From b315c7b4c457cdc04c7cb43d3304de2057652c48 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 19 Jan 2022 14:13:56 -0800 Subject: [PATCH 0001/1388] release: bump the next branch to v13.3.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dcd955f3b9cd..cdd4b8f31d20 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "13.2.0-next.2", + "version": "13.3.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From 782d55ce2a642e16338267fee9e6828d77b44ed6 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 19 Jan 2022 14:13:58 -0800 Subject: [PATCH 0002/1388] docs: release notes for the v13.2.0-rc.0 release --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4f34585f6f1..52f3f29d9fb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ + + +# 13.2.0-rc.0 (2022-01-19) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [a0784bd8c](https://github.com/angular/angular-cli/commit/a0784bd8cb64bd719ed499f97603522fbc9db02d) | fix | disable parsing `new URL` syntax | +| [acf7532bd](https://github.com/angular/angular-cli/commit/acf7532bd7f39274bc641d8161bdfe7b3be3750b) | fix | load translations fresh start | +| [b5c4a2344](https://github.com/angular/angular-cli/commit/b5c4a234465729f2f763c9601a0c5ff577e5a90d) | fix | support ESNext as target for JavaScript optimizations | + +## Special Thanks + +Alan Agius, Bill Barry, Doug Parker and Joey Perrott + + + # 13.1.4 (2022-01-19) From 34782584869f04f793be62bac1a1d9d16d0fa9b5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 20 Jan 2022 08:29:51 +0000 Subject: [PATCH 0003/1388] build: update all non-major dependencies to v7.16.10 --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 253 ++++++++++-------- 3 files changed, 149 insertions(+), 116 deletions(-) diff --git a/package.json b/package.json index cdd4b8f31d20..17264ba3f176 100644 --- a/package.json +++ b/package.json @@ -79,13 +79,13 @@ "@angular/platform-server": "13.1.2", "@angular/router": "13.1.2", "@angular/service-worker": "13.1.2", - "@babel/core": "7.16.7", + "@babel/core": "7.16.10", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.16.8", - "@babel/preset-env": "7.16.8", + "@babel/plugin-transform-runtime": "7.16.10", + "@babel/preset-env": "7.16.10", "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5b379e5bb772..f8201a07eea6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,13 +10,13 @@ "@angular-devkit/architect": "0.0.0-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.16.7", + "@babel/core": "7.16.10", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.16.8", - "@babel/preset-env": "7.16.8", + "@babel/plugin-transform-runtime": "7.16.10", + "@babel/preset-env": "7.16.10", "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", diff --git a/yarn.lock b/yarn.lock index 864f9c0707c4..8d40b3d356b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -361,20 +361,20 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/core@7.16.7", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== +"@babel/core@7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.10.tgz#ebd034f8e7ac2b6bfcdaa83a161141a646f74b50" + integrity sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" + "@babel/generator" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" + "@babel/parser" "^7.16.10" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.16.10" + "@babel/types" "^7.16.8" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -403,6 +403,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" + integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.7" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + "@babel/generator@7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" @@ -649,6 +670,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== +"@babel/parser@^7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.10.tgz#aba1b1cb9696a24a19f59c41af9cf17d1c716a88" + integrity sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1108,6 +1134,18 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-runtime@7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz#53d9fd3496daedce1dd99639097fa5d14f4c7c2c" + integrity sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + "@babel/plugin-transform-runtime@7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" @@ -1120,18 +1158,6 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-runtime@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.8.tgz#3339368701103edae708f0fba9e4bfb70a3e5872" - integrity sha512-6Kg2XHPFnIarNweZxmzbgYnnWsXxkx9WQUVk2sksBRL80lBC1RAQV3wQagWxdCHiYHqPN+oenwNIuttlYgIbQQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - "@babel/plugin-transform-shorthand-properties@^7.16.0", "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" @@ -1183,6 +1209,86 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/preset-env@7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.10.tgz#84400e6b5ee1efd982f55c61f3b6ac3fb5c8ab57" + integrity sha512-iCac3fZn9oOcLqc1N2/copPiX7aoxzsvjeDdXoZobrlbQ6YGgS3bL9HyldOJ8V8AY5P7pFynCATrn7M4dMw0Yg== + dependencies: + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.7" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" + "@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-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.8" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.20.2" + semver "^6.3.0" + "@babel/preset-env@7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" @@ -1263,86 +1369,6 @@ core-js-compat "^3.19.1" semver "^6.3.0" -"@babel/preset-env@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.8.tgz#e682fa0bcd1cf49621d64a8956318ddfb9a05af9" - integrity sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg== - dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.7" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@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-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" - "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1402,6 +1428,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.10" + "@babel/types" "^7.16.8" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" @@ -9798,16 +9840,7 @@ sass@1.44.0: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" -sass@1.49.0: - version "1.49.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" - integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sass@^1.32.8: +sass@1.49.0, sass@^1.32.8: version "1.49.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw== From 4280990ef491897b453b951de74189e37f604dac Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 20 Jan 2022 09:30:47 +0000 Subject: [PATCH 0004/1388] build: update angular --- package.json | 28 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 112 +++++++++--------- 4 files changed, 88 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index 17264ba3f176..91a0db1e68d2 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "1.0.2", - "@angular/animations": "13.1.2", - "@angular/cdk": "13.1.2", - "@angular/common": "13.1.2", - "@angular/compiler": "13.1.2", - "@angular/compiler-cli": "13.1.2", - "@angular/core": "13.1.2", + "@angular/animations": "13.1.3", + "@angular/cdk": "13.1.3", + "@angular/common": "13.1.3", + "@angular/compiler": "13.1.3", + "@angular/compiler-cli": "13.1.3", + "@angular/core": "13.1.3", "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#002770be8f5bf15c02293da454193bb0846969c1", - "@angular/forms": "13.1.2", - "@angular/localize": "13.1.2", - "@angular/material": "13.1.2", - "@angular/platform-browser": "13.1.2", - "@angular/platform-browser-dynamic": "13.1.2", - "@angular/platform-server": "13.1.2", - "@angular/router": "13.1.2", - "@angular/service-worker": "13.1.2", + "@angular/forms": "13.1.3", + "@angular/localize": "13.1.3", + "@angular/material": "13.1.3", + "@angular/platform-browser": "13.1.3", + "@angular/platform-browser-dynamic": "13.1.3", + "@angular/platform-server": "13.1.3", + "@angular/router": "13.1.3", + "@angular/service-worker": "13.1.3", "@babel/core": "7.16.10", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 87d49951c918..81737388ebec 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "13.1.2", - "@angular/compiler-cli": "13.1.2", + "@angular/compiler": "13.1.3", + "@angular/compiler-cli": "13.1.3", "typescript": "4.5.4", "webpack": "5.66.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 3de5b3b88c0f..26b1746424c0 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#59918eeaad3ac62a3e521fced11a5a501be2aff2", - "@angular/cdk": "github:angular/cdk-builds#09545211b2167a0e0e13944388667a505eaff82d", - "@angular/common": "github:angular/common-builds#a4e24739e4f7a38ac27c4ff537c7a8ca3679c07b", - "@angular/compiler": "github:angular/compiler-builds#9ab2209c803f91ab1f0a10b1a74fe35aa933c49a", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#7c89aac1b01419a1d081ae5f557431338f17b56a", - "@angular/core": "github:angular/core-builds#cb4ff8a825d25d20e7baa0137d889097a4271d8e", - "@angular/forms": "github:angular/forms-builds#378479a2f137cdf8073ce55383c2277fc3e165b9", - "@angular/language-service": "github:angular/language-service-builds#2dce55b63573d481e9b0aaf89658b8671931053f", - "@angular/localize": "github:angular/localize-builds#cda9ef1e4614fcc382dc1e228477e35c3a0e6055", - "@angular/material": "github:angular/material2-builds#ad9ced8725bca3eea3d9e552bedb8c9062bffcfe", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#dbe63c66de66d95383d643b5702301158be8200d", - "@angular/platform-browser": "github:angular/platform-browser-builds#21a128b57ddc0f7cf6e86138939640db7445e222", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d62defbfb16224d206b9a61b7637213e14e6c331", - "@angular/platform-server": "github:angular/platform-server-builds#13c788b12404c5fcd70cc36634c2458700ef87e1", - "@angular/router": "github:angular/router-builds#a7cfdfa7caa945dcecc4bdf4da2b8b97211d7363", - "@angular/service-worker": "github:angular/service-worker-builds#122f0c9e2d5921a2ea4302339670069015a56ae7" + "@angular/animations": "github:angular/animations-builds#a3bbb834eb3d2c91509b70465eb71069784832a2", + "@angular/cdk": "github:angular/cdk-builds#8180057d63f3e7af1c699424371f672fad3ee133", + "@angular/common": "github:angular/common-builds#787868777de73cc22b2f3ac631968b4ebb7662e2", + "@angular/compiler": "github:angular/compiler-builds#d33929afc9218be1f3a40bc5d54263f8e2735b7a", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#b6505440b145d75fb38b6302c055d0a9f93542dd", + "@angular/core": "github:angular/core-builds#4d54a875a2b0475021468b05e604ec8a7a80ce49", + "@angular/forms": "github:angular/forms-builds#df8848df20b56141f85fb99ea1ec23117476ade4", + "@angular/language-service": "github:angular/language-service-builds#89b810bcd404a2d798dc9112da311a2f344bda25", + "@angular/localize": "github:angular/localize-builds#a22253188d26302aec2d0db89fb3b059adfb2eb3", + "@angular/material": "github:angular/material2-builds#13301a6ba609f9196a0c5801910e213cc175d020", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1891f79306543c1db616c8814683d9a2852042f9", + "@angular/platform-browser": "github:angular/platform-browser-builds#f78dc203b0de4b1e09c34e13158263c841b02864", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e8b7c630fe856a20538b59680051e26e72ef2952", + "@angular/platform-server": "github:angular/platform-server-builds#273f942ad3def450fba8d04773e9f0647f8bada8", + "@angular/router": "github:angular/router-builds#0851698bf5ad76655986de529afceb81f60daa8a", + "@angular/service-worker": "github:angular/service-worker-builds#415f68193f7166d681e94f027b3df38524a10ac9" } } diff --git a/yarn.lock b/yarn.lock index 8d40b3d356b0..a1e9fd6b6178 100644 --- a/yarn.lock +++ b/yarn.lock @@ -134,10 +134,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.1.2.tgz#fdf0776eaf053b14a4118c682a62f24e4192609a" - integrity sha512-k1eQ8YZq3eelLhJDQjkRCt/4MXxwK2TFeGdtcYJF0G7vFOppE8hlI4PT7Bvmk08lTqvgiqtTI3ZaYmIINLfUMg== +"@angular/animations@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.1.3.tgz#2da6ad99602bfb450624a7499d6f81366c3a4519" + integrity sha512-OwsVQsNHubIgRcxnjti4CU3QJnqd7Z2b+2iu3M349Oxyqxz4DNCqKXalDuJZt/b0yNfirvYO3kCgBfj4PF43QQ== dependencies: tslib "^2.3.0" @@ -149,26 +149,26 @@ "@angular/core" "^10.0.0-0 || ^11.0.0" reflect-metadata "^0.1.13" -"@angular/cdk@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.1.2.tgz#aaa1b577d1b8101d3d59f4da9a1ea51b7f7a5191" - integrity sha512-xORyqvfM0MueJpxHxVi3CR/X/f1RPKr45vt7NV6/x91OTnh2ukwxg++dAGuA6M5gUAHcVAcaBrfju4GQlU9hmg== +"@angular/cdk@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.1.3.tgz#a32306cd977fe59ded2dcc799ef844c0972232d3" + integrity sha512-Psuri2mc6W+xKtZr39FHL+cDz7Le9kKTo8ziCtUiydikBBdqfOu6AnWUrEMEGFxS2wt8nolFXDAGUaMUAE3Ekg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.1.2.tgz#6a4abe30b1cc42702452bfd2214e482675f5d889" - integrity sha512-/8RWYQkZ1KPNvu2FANJM44wXlOMjMyxZVOEIn3llMRgxV2iiYtmluAOJNafTAbKedAuD6wiSpbi++QbioqCyyA== +"@angular/common@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.1.3.tgz#4c80f45cfd00a17543559c5fbebe0a7a7cf403ed" + integrity sha512-8qf5syeXUogf3+GSu6IRJjrk46UKh9L0QuLx+OSIl/df0y1ewx7e28q3BAUEEnOnKrLzpPNxWs2iwModc4KYfg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.1.2.tgz#f9adde80bd9d0c3d90d8758c9803537373259053" - integrity sha512-yqM6RLcYtfwIuqBQ7eS7WdksBYY7Dh9sP4rElgLiEhDGIPQf6YE5zeuRThGq5pQ2fvHbNflw8QmTHu/18Y1u/g== +"@angular/compiler-cli@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.1.3.tgz#0269370350e928f22f3150523f95bc490a1e7a7a" + integrity sha512-ALURaJATc54DzPuiZBvALf/alEp1wr7Hjmw4FuMn2cU7p8lwKkra1Dz5dAZOxh7jAcD1GJfrK/+Sb7A3cuuKjQ== dependencies: "@babel/core" "^7.8.6" canonical-path "1.0.0" @@ -182,17 +182,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.1.2.tgz#86afbe282d0ff407fd8aeb66a79a804f40e7efa4" - integrity sha512-xbM3eClhUIHEFR0Et1bVC18Q7+kJx+hNNWWQl63RNYYBxTZnZpXA3mYi6IcEasy7BHkobVW+5teqlibFQY4gfQ== +"@angular/compiler@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.1.3.tgz#fc33b06046599ecc943f55049e0a121d5ab46d4f" + integrity sha512-dbHs/Oa+Dn+7i0jKtlVDE0lD0DaUC+lVzAcTK/zS37LrckrTMn1CA+z9bZ4gpHig9RU0wgV3YORxv0wokyiB8A== dependencies: tslib "^2.3.0" -"@angular/core@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.1.2.tgz#793b97d0b7339d5b405f39dd5d021b4b78fcf256" - integrity sha512-dsb90lUf8BELzdg7MgSMfPc36xzZKsDggOimfXhIvmctgc+H71Zo07KYTy5JVqsscLdT+A/KBvtU1bKk4P+Rfg== +"@angular/core@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.1.3.tgz#4afd71f674f9ead1aada81315f84846cdba10fa4" + integrity sha512-rvCnIAonRx7VnH2Mv9lQR+UYdlFQQetZCjPw8QOswOspEpHpEPDrp1HxDIqJnHxNqW0n8J3Zev/VgQYr0481UA== dependencies: tslib "^2.3.0" @@ -263,63 +263,63 @@ yaml "^1.10.0" yargs "^17.0.0" -"@angular/forms@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.1.2.tgz#f72d7f84b78844a1606cd4226c2a3a1eb1de56b5" - integrity sha512-r5I5cPngk2Erxe/OEL9Hl1j1VcNSAAyVzh7KmtOP8z7RZYCd0MeRISKrmA5CGn5Dh7A5POFLoOpBatmvnc4Z/A== +"@angular/forms@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.1.3.tgz#4b31d1208e2b191766efbbe1a502193e28e89240" + integrity sha512-c4N9zZSILyEbomY2CJo1WAMxiHu/qlycvzxKH5NFS2P2+fieORlbKUJ2p1CbYqcIxVnLYRSdWH8f1JpoaG0ETw== dependencies: tslib "^2.3.0" -"@angular/localize@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-13.1.2.tgz#51ee620869e79a2633947d970660243df83968c4" - integrity sha512-v+PzWbE5ZoQ/XFbpjCK96xdj1t+TSkHbzuCqZrIF04WCbNC803c3fxAz7fAMjLTs78Bd3R5n5pSITnb3pGnVPg== +"@angular/localize@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-13.1.3.tgz#05c27275aec7d461e1b2ae2f0b19fef7d0265df8" + integrity sha512-SGKdVtFnMtwQK3BebsOWf9rJjczVDKDbuO+5xXivD9k0gu5zrRy7x7mwLR7cGlWNDEmoiId705ItC+Mm5n+FVQ== dependencies: "@babel/core" "7.8.6" glob "7.2.0" yargs "^17.2.1" -"@angular/material@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.1.2.tgz#497e9b34f4672ce207bb1198a823cda1f1d416ef" - integrity sha512-M7eDgTMCZ/naoiS6Z5nj3N/sNUFc+CGPHX4yb563RuknqN7huDCvdyxA6KnhYLZsVlNCPh5ZrEr6H8ZiYJWcpg== +"@angular/material@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.1.3.tgz#1bfdb2e85f6eadafa4acfeff59847038f86e5a89" + integrity sha512-fJmd73Tqlk/eKJ68XBGgwnoME3j+tfRG6CEFtNwMnWLkPTziWX5PHkY1D/cDWFa9VB6vjW8jxAE9UeQmXSk/RA== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.2.tgz#2d381503862be7a9d5fd74a27c1f8cf10d9b086e" - integrity sha512-gABOn8DxGai56WmIt5o+eXtduabiq4Mlprg+6+dv+2PvWV871pLvswV9EGUSgwKXvbhBlDZDuNFU5LgvNDuGFg== +"@angular/platform-browser-dynamic@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.3.tgz#08cbe321e5f39636a08eb77606ff496df478a21e" + integrity sha512-vEWyJ+2gkwh2N6KOJfxUNSdSO51ROlzCqqzCfHrPYQrlOFUfKsYKA1uoiB5UGfFEU0HBtIRWn6xoUy3wzVOZbw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.1.2.tgz#6b24c26cc01733f933a3c15288989259f83e8f46" - integrity sha512-yBUWtYJHr/1LuK3/YRRav2O82i6RHVPtRoAlZHoeTlh2CYA4u1m3JHq9XBrxIxSXexBX69pMrZENW1xskwKRTQ== +"@angular/platform-browser@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.1.3.tgz#69d90b10e89e11f14f5798d1b6fd788255a6114e" + integrity sha512-mnWjdr9UTNZvGk8jPI6O9FIhun8Q/0ghy3dg3I9AfRzEG4vPiIZW1ICksTiB+jV9etzhKpidtmg71bwgeXax1A== dependencies: tslib "^2.3.0" -"@angular/platform-server@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-13.1.2.tgz#30834a4960759bc8e01a7c1140393543a0f4319e" - integrity sha512-fSrdMeLoypuH0NfivYnztfKbwZhAGtfFFfBYZL27gQJLDmYkbr5fWFe3e4cVNdY/J2LcIDUSJptQmnIC1EKOlA== +"@angular/platform-server@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-13.1.3.tgz#8cda1104622ae2a12cb34cbd72d268f2905b8bba" + integrity sha512-uwfz5UJLUtvhIk83Ecdx0rkhyNg3rdjmbgtWvf2os4Q4lDnbg9y77MKQ9rKJtHqXtrhD9a4W/hAEsFJjexNQBg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.1.2.tgz#69146055473b9f5b8f9ba9b4de3a0740778ea174" - integrity sha512-5S0De6SdlbERoX9FwOBiTWxINchW7nTPUIH/tdanOqq12cqp6/7NigOr3BZDSvUNIh/6Is+pSQTKGAbhxejN2w== +"@angular/router@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.1.3.tgz#2330254febabce55061236f1761a03aae9a9418f" + integrity sha512-L86kARlc5UNi5KeI0O8PO7wFbTzjEI8ouz+z+aNmCnMUUNX0rbvbuXiPdDvLc71nKZznsPCl2IuO8ojyHrSPsQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.1.2.tgz#39007cea6c8dc359f7a6998edc5d1420f4e1c771" - integrity sha512-tsYWIrVDKeiEVJb/QtKc5EIGiGWdpjdrZLXvQkkiNPfbKwONU/rpD4zO+rqr2Ote1s/IFAycp9CyMMOZw0lgeg== +"@angular/service-worker@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.1.3.tgz#a673d28d97cf6e1a245f24a70e84d6c3fb8cc909" + integrity sha512-R9Oaw/ao62J9OlVKaAMB6WF0n+PD/Jg98c5I04DE14YMcGO32pYOCLPA6oTubwW3gJndk+WSNqijSBXMvaVFsw== dependencies: tslib "^2.3.0" From 4721b2796c96a3789a8bbb8f45e1f472f0e66fe3 Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Tue, 11 Jan 2022 16:41:26 -0800 Subject: [PATCH 0005/1388] build: correctly stamp experimental packages in bazel build --- packages/angular/cli/package.json | 6 +++--- packages/angular_devkit/architect/package.json | 2 +- packages/angular_devkit/architect_cli/package.json | 4 ++-- packages/angular_devkit/build_angular/package.json | 4 ++-- packages/angular_devkit/build_optimizer/package.json | 2 +- packages/angular_devkit/build_webpack/package.json | 4 ++-- scripts/build.ts | 5 +++++ scripts/validate-licenses.ts | 5 ++++- tools/defaults.bzl | 2 ++ 9 files changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index aae0af126f2e..6e2e4f7ce91c 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -25,7 +25,7 @@ }, "homepage": "https://github.com/angular/angular-cli", "dependencies": { - "@angular-devkit/architect": "0.0.0-PLACEHOLDER", + "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "@schematics/angular": "0.0.0-PLACEHOLDER", @@ -52,9 +52,9 @@ "migrations": "@schematics/angular/migrations/migration-collection.json", "packageGroup": { "@angular/cli": "0.0.0-PLACEHOLDER", - "@angular-devkit/architect": "0.0.0-PLACEHOLDER", + "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-angular": "0.0.0-PLACEHOLDER", - "@angular-devkit/build-webpack": "0.0.0-PLACEHOLDER", + "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER" } diff --git a/packages/angular_devkit/architect/package.json b/packages/angular_devkit/architect/package.json index 31774c392295..c73c15bdd869 100644 --- a/packages/angular_devkit/architect/package.json +++ b/packages/angular_devkit/architect/package.json @@ -1,6 +1,6 @@ { "name": "@angular-devkit/architect", - "version": "0.0.0-PLACEHOLDER", + "version": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "description": "Angular Build Facade", "experimental": true, "main": "src/index.js", diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index fbc8fd9452d4..cf4eb5b91c76 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -1,6 +1,6 @@ { "name": "@angular-devkit/architect-cli", - "version": "0.0.0-PLACEHOLDER", + "version": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "description": "Angular Architect CLI", "homepage": "https://github.com/angular/angular-cli", "experimental": true, @@ -14,7 +14,7 @@ "tooling" ], "dependencies": { - "@angular-devkit/architect": "0.0.0-PLACEHOLDER", + "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", "minimist": "1.2.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f8201a07eea6..50f8b8439094 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -7,8 +7,8 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "1.0.2", - "@angular-devkit/architect": "0.0.0-PLACEHOLDER", - "@angular-devkit/build-webpack": "0.0.0-PLACEHOLDER", + "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", + "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.16.10", "@babel/generator": "7.16.8", diff --git a/packages/angular_devkit/build_optimizer/package.json b/packages/angular_devkit/build_optimizer/package.json index a71b59a704a7..cd36bac64201 100644 --- a/packages/angular_devkit/build_optimizer/package.json +++ b/packages/angular_devkit/build_optimizer/package.json @@ -1,6 +1,6 @@ { "name": "@angular-devkit/build-optimizer", - "version": "0.0.0-PLACEHOLDER", + "version": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "description": "Angular Build Optimizer", "experimental": true, "main": "src/index.js", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 37b45d4a6e59..9ed41b41ff1d 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -1,13 +1,13 @@ { "name": "@angular-devkit/build-webpack", - "version": "0.0.0-PLACEHOLDER", + "version": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "description": "Webpack Builder for Architect", "experimental": true, "main": "src/index.js", "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@angular-devkit/architect": "0.0.0-PLACEHOLDER", + "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "rxjs": "6.6.7" }, "devDependencies": { diff --git a/scripts/build.ts b/scripts/build.ts index 0141e50fa553..e991074d9ae1 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -413,6 +413,11 @@ export default async function ( } } else if ((obj[depName] as string).match(/\b0\.0\.0-PLACEHOLDER\b/)) { obj[depName] = (obj[depName] as string).replace(/\b0\.0\.0-PLACEHOLDER\b/, v); + } else if ((obj[depName] as string).match(/\b0\.0\.0-EXPERIMENTAL-PLACEHOLDER\b/)) { + obj[depName] = (obj[depName] as string).replace( + /\b0\.0\.0-EXPERIMENTAL-PLACEHOLDER\b/, + v, + ); } } } diff --git a/scripts/validate-licenses.ts b/scripts/validate-licenses.ts index b26de3f72281..8cc1eb0341e9 100644 --- a/scripts/validate-licenses.ts +++ b/scripts/validate-licenses.ts @@ -81,7 +81,10 @@ const ignoredPackages = [ // Ignore own packages (all MIT) for (const packageName of Object.keys(packages)) { - ignoredPackages.push(`${packageName}@0.0.0-PLACEHOLDER`); + const version = packages[packageName].experimental + ? '0.0.0-EXPERIMENTAL-PLACEHOLDER' + : '0.0.0-PLACEHOLDER'; + ignoredPackages.push(`${packageName}@${version}`); } // Find all folders directly under a `node_modules` that have a package.json. diff --git a/tools/defaults.bzl b/tools/defaults.bzl index e77ac5116c97..74ae139aec27 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -68,6 +68,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): NPM_PACKAGE_SUBSTITUTIONS = { # Version of the local package being built, generated via the `--workspace_status_command` flag. "0.0.0-PLACEHOLDER": "{BUILD_SCM_VERSION}", + "0.0.0-EXPERIMENTAL-PLACEHOLDER": "{BUILD_SCM_EXPERIMENTAL_VERSION}", "0.0.0-ENGINES-NODE": RELEASE_ENGINES_NODE, "0.0.0-ENGINES-NPM": RELEASE_ENGINES_NPM, "0.0.0-ENGINES-YARN": RELEASE_ENGINES_YARN, @@ -75,6 +76,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): NO_STAMP_PACKAGE_SUBSTITUTIONS = dict(NPM_PACKAGE_SUBSTITUTIONS, **{ "0.0.0-PLACEHOLDER": "0.0.0", + "0.0.0-EXPERIMENTAL-PLACEHOLDER": "0.0.0", }) deps = kwargs.pop("deps", []) From 043fbf0054280361d2eb5a5b11a9d4addb4a0136 Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Wed, 12 Jan 2022 11:32:39 -0800 Subject: [PATCH 0006/1388] build: substitute snapshot repo dependencies in snapshot builds --- .bazelrc | 1 + BUILD.bazel | 13 +++++++++++++ constants.bzl | 15 +++++++++++++++ tools/defaults.bzl | 12 ++++++++++++ tools/snapshot_repo_filter.bzl | 19 +++++++++++++++++++ 5 files changed, 60 insertions(+) create mode 100644 tools/snapshot_repo_filter.bzl diff --git a/.bazelrc b/.bazelrc index 3a243dcd8781..b319ebb75f3d 100644 --- a/.bazelrc +++ b/.bazelrc @@ -73,6 +73,7 @@ build:release --stamp build:snapshot --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=snapshot" build:snapshot --stamp +build:snapshot --//:enable_snapshot_repo_deps build:local --//:enable_package_json_tar_deps diff --git a/BUILD.bazel b/BUILD.bazel index d36206cd6cb9..f644722a3569 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -34,3 +34,16 @@ config_setting( ":enable_package_json_tar_deps": "true", }, ) + +# If set will replace dependency versions with snapshot repos for packages in this repo +bool_flag( + name = "enable_snapshot_repo_deps", + build_setting_default = False, +) + +config_setting( + name = "package_json_use_snapshot_repo_deps", + flag_values = { + ":enable_snapshot_repo_deps": "true", + }, +) diff --git a/constants.bzl b/constants.bzl index 2e9002901577..014939d0f619 100644 --- a/constants.bzl +++ b/constants.bzl @@ -2,3 +2,18 @@ RELEASE_ENGINES_NODE = "^12.20.0 || ^14.15.0 || >=16.10.0" RELEASE_ENGINES_NPM = "^6.11.0 || ^7.5.6 || >=8.0.0" RELEASE_ENGINES_YARN = ">= 1.13.0" + +SNAPSHOT_REPOS = { + "@angular/cli": "angular/cli-builds", + "@angular/pwa": "angular/angular-pwa-builds", + "@angular-devkit/architect": "angular/angular-devkit-architect-builds", + "@angular-devkit/architect-cli": "angular/angular-devkit-architect-cli-builds", + "@angular-devkit/build-optimizer": "angular/angular-devkit-build-optimizer-builds", + "@angular-devkit/build-angular": "angular/angular-devkit-build-angular-builds", + "@angular-devkit/build-webpack": "angular/angular-devkit-build-webpack-builds", + "@angular-devkit/core": "angular/angular-devkit-core-builds", + "@angular-devkit/schematics": "angular/angular-devkit-schematics-builds", + "@angular-devkit/schematics-cli": "angular/angular-devkit-schematics-cli-builds", + "@ngtools/webpack": "angular/ngtools-webpack-builds", + "@schematics/angular": "angular/schematics-angular-builds", +} diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 74ae139aec27..61f2c1d35ae1 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -8,6 +8,7 @@ load("@aspect_bazel_lib//lib:utils.bzl", "to_label") load("@aspect_bazel_lib//lib:jq.bzl", "jq") load("@aspect_bazel_lib//lib:copy_to_directory.bzl", "copy_to_directory") load("//tools:link_package_json_to_tarballs.bzl", "link_package_json_to_tarballs") +load("//tools:snapshot_repo_filter.bzl", "SNAPSHOT_REPO_JQ_FILTER") load("//:constants.bzl", "RELEASE_ENGINES_NODE", "RELEASE_ENGINES_NPM", "RELEASE_ENGINES_YARN") _DEFAULT_TSCONFIG = "//:tsconfig-build.json" @@ -69,6 +70,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): # Version of the local package being built, generated via the `--workspace_status_command` flag. "0.0.0-PLACEHOLDER": "{BUILD_SCM_VERSION}", "0.0.0-EXPERIMENTAL-PLACEHOLDER": "{BUILD_SCM_EXPERIMENTAL_VERSION}", + "BUILD_SCM_HASH-PLACEHOLDER": "{BUILD_SCM_COMMIT_SHA}", "0.0.0-ENGINES-NODE": RELEASE_ENGINES_NODE, "0.0.0-ENGINES-NPM": RELEASE_ENGINES_NPM, "0.0.0-ENGINES-YARN": RELEASE_ENGINES_YARN, @@ -132,6 +134,14 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): out = "substituted_with_tars/package.json", ) + # Substitute dependencies on other packages in this repo with snapshot repos. + jq( + name = "snapshot_repo_substitutions", + srcs = ["substituted/package.json"], + filter = SNAPSHOT_REPO_JQ_FILTER, + out = "substituted_with_snapshot_repos/package.json", + ) + # Move the generated package.json along with other deps into a directory for pkg_npm # to package up because pkg_npm requires that all inputs be in the same directory. copy_to_directory( @@ -139,10 +149,12 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): srcs = select({ # Do tar substitution if config_setting 'package_json_use_tar_deps' is true (local builds) "//:package_json_use_tar_deps": [":%s_js_module_output" % name, "substituted_with_tars/package.json"], + "//:package_json_use_snapshot_repo_deps": [":%s_js_module_output" % name, "substituted_with_snapshot_repos/package.json"], "//conditions:default": [":%s_js_module_output" % name, "substituted/package.json"], }), replace_prefixes = { "substituted_with_tars/": "", + "substituted_with_snapshot_repos/": "", "substituted/": "", }, exclude_prefixes = [ diff --git a/tools/snapshot_repo_filter.bzl b/tools/snapshot_repo_filter.bzl new file mode 100644 index 000000000000..8d7a1eb4b739 --- /dev/null +++ b/tools/snapshot_repo_filter.bzl @@ -0,0 +1,19 @@ +# Copyright Google Inc. All Rights Reserved. +# +# Use of this source code is governed by an MIT-style license that can be +# found in the LICENSE file at https://angular.io/license + +load("//:constants.bzl", "SNAPSHOT_REPOS") + +def _generate_snapshot_repo_filter(): + filter = "" + for (i, pkg_name) in enumerate(SNAPSHOT_REPOS.keys()): + filter += "{sep}(..|objects|select(has(\"{pkg_name}\")))[\"{pkg_name}\"] |= \"github:{snapshot_repo}:BUILD_SCM_HASH-PLACEHOLDER\"\n".format( + sep = "| " if i > 0 else "", + pkg_name = pkg_name, + snapshot_repo = SNAPSHOT_REPOS[pkg_name], + ) + return filter + +# jq filter that replaces package.json dependencies with snapshot repos +SNAPSHOT_REPO_JQ_FILTER = _generate_snapshot_repo_filter() From 331c34c4df22cc70387ab6a6f580a3450949e9c5 Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Thu, 20 Jan 2022 10:46:47 -0800 Subject: [PATCH 0007/1388] build: remove old build-ng-packagr reference --- .monorepo.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.monorepo.json b/.monorepo.json index 0cf9710d62e8..7faf7aaa3c40 100644 --- a/.monorepo.json +++ b/.monorepo.json @@ -89,16 +89,6 @@ ], "snapshotRepo": "angular/angular-devkit-build-optimizer-builds" }, - "@angular-devkit/build-ng-packagr": { - "name": "Build NgPackagr", - "links": [ - { - "label": "README", - "url": "/packages/angular_devkit/build_ng_packagr/README.md" - } - ], - "snapshotRepo": "angular/angular-devkit-build-ng-packagr-builds" - }, "@angular-devkit/build-angular": { "name": "Build Angular", "links": [ From f8eb40e58a2399b3675086ae1ff6c5267ffb7bc3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 21 Jan 2022 08:18:57 +0000 Subject: [PATCH 0008/1388] build: update all non-major dependencies --- package.json | 8 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 171 ++++++++++++++++-- 4 files changed, 169 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 91a0db1e68d2..04893a10c601 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.16.10", - "@babel/preset-env": "7.16.10", + "@babel/preset-env": "7.16.11", "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", @@ -132,13 +132,13 @@ "circular-dependency-plugin": "5.2.2", "common-tags": "^1.8.0", "conventional-commits-parser": "^3.0.0", - "copy-webpack-plugin": "10.2.0", + "copy-webpack-plugin": "10.2.1", "core-js": "3.20.3", "critters": "0.0.16", "css-loader": "6.5.1", "debug": "^4.1.1", - "esbuild": "0.14.11", - "esbuild-wasm": "0.14.11", + "esbuild": "0.14.12", + "esbuild-wasm": "0.14.12", "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 6e2e4f7ce91c..9b3675160357 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -40,7 +40,7 @@ "open": "8.4.0", "ora": "5.4.1", "pacote": "12.0.2", - "resolve": "1.21.0", + "resolve": "1.21.1", "semver": "7.3.5", "symbol-observable": "4.0.0", "uuid": "8.3.2" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 50f8b8439094..2242b028f4a7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -16,7 +16,7 @@ "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.16.10", - "@babel/preset-env": "7.16.10", + "@babel/preset-env": "7.16.11", "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", @@ -27,11 +27,11 @@ "browserslist": "^4.9.1", "cacache": "15.3.0", "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "10.2.0", + "copy-webpack-plugin": "10.2.1", "core-js": "3.20.3", "critters": "0.0.16", "css-loader": "6.5.1", - "esbuild-wasm": "0.14.11", + "esbuild-wasm": "0.14.12", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -72,7 +72,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.11" + "esbuild": "0.14.12" }, "peerDependencies": { "@angular/compiler-cli": "^13.0.0 || ^13.2.0-next", diff --git a/yarn.lock b/yarn.lock index a1e9fd6b6178..84c48f7b7c33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -474,6 +474,19 @@ browserslist "^4.17.5" semver "^6.3.0" +"@babel/helper-create-class-features-plugin@^7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" + integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-create-class-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" @@ -802,7 +815,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.16.7": +"@babel/plugin-proposal-private-methods@^7.16.0": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== @@ -810,6 +823,14 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.10" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-proposal-private-property-in-object@^7.16.0", "@babel/plugin-proposal-private-property-in-object@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" @@ -1209,10 +1230,10 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.16.10": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.10.tgz#84400e6b5ee1efd982f55c61f3b6ac3fb5c8ab57" - integrity sha512-iCac3fZn9oOcLqc1N2/copPiX7aoxzsvjeDdXoZobrlbQ6YGgS3bL9HyldOJ8V8AY5P7pFynCATrn7M4dMw0Yg== +"@babel/preset-env@7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== dependencies: "@babel/compat-data" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" @@ -1232,7 +1253,7 @@ "@babel/plugin-proposal-object-rest-spread" "^7.16.7" "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" "@babel/plugin-proposal-private-property-in-object" "^7.16.7" "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -4061,10 +4082,10 @@ copy-webpack-plugin@10.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -copy-webpack-plugin@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz#24c2d256953a55400a1ec66be4e0eccd1c4ae958" - integrity sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og== +copy-webpack-plugin@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz#115a41f913070ac236a1b576066204cbf35341a1" + integrity sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg== dependencies: fast-glob "^3.2.7" glob-parent "^6.0.1" @@ -4859,96 +4880,191 @@ esbuild-android-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== +esbuild-android-arm64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.12.tgz#ca0327521cd570325d965e6957a7fa34dade4254" + integrity sha512-eO4JHwnTeJq1/xC9K0FdHNEYztwT0HaWHnOzR5kXKwJxHatxDNZ+lCHOSxMzh9uVSmnA8YwdSiXPWbwTlWZVrw== + esbuild-darwin-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== +esbuild-darwin-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.12.tgz#c0f57bfcbf1a3e2edf0371bdfff9e3e823ee3725" + integrity sha512-LyZ81assnJWhq2IxKEVipwddKlXLTubbz/IObyKOm5cWS9jQCpuwQey2PpzroWSiy7QLGV8XCGWY5b8U8fsmWA== + esbuild-darwin-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== +esbuild-darwin-arm64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.12.tgz#ae15c4c80f02d594af0ddf0e4d58b59618066fda" + integrity sha512-jj27iSbDS4KlftN1PHHNiTrtXPQIk11J/qpQiQLwKJpeEMNeJUBfQlS7X7dXgFFMxV0rNtcRl8AimEFl+qEMRQ== + esbuild-freebsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== +esbuild-freebsd-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.12.tgz#f919e3d84dedfbed2199646d98bc02d5a606ed47" + integrity sha512-RnTty09bA8Ts/eWnrJsYiE2dFM6ZseKYQ/7QCM5QYphU6GbifooO9oGjc/UE3Sg8R58yZVO15vnIV0i+kTgDOw== + esbuild-freebsd-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== +esbuild-freebsd-arm64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.12.tgz#551bbc3cb832a8ac82fbeae4352f620f2c9d133a" + integrity sha512-AvAQoEgsHE53hucgoVWdHnXJBl0r9W/7eUCaBvpcgYu3W/EbPZ26VnZwfSXLpk0Pf3t7o6SRwrU+KDTKPscDTw== + esbuild-linux-32@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== +esbuild-linux-32@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.12.tgz#42b6db95d35253e4fc14b8061b20437cf29811fb" + integrity sha512-na4I5i2c9ACPuglfYmrnJ6qGQnFJb59dFjyFk5OHTCtoKCq3lXbGHrvYa+3sYlOrRax1kYuRDRGse7YsDLbr3Q== + esbuild-linux-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== +esbuild-linux-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.12.tgz#3c12ed0b11136c1a0190a897378e0ea49e47013e" + integrity sha512-ObPoYGakJLx/RldQsFQiwsQ7N9YbQ4LLazHtpKx34bjqFjhqO5JiHPVAJYCmAtci3cJMsZ5DtEFXvijytTBz1g== + esbuild-linux-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== +esbuild-linux-arm64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.12.tgz#38ac3463ab4193e808c966ea6727d8aa2211158a" + integrity sha512-i1/ikCl9gG9yx6QuI+8yJMk9XHUu8ekIQOo6cex2pDqXY5KVHSXDTAT4FDWOd5YXQ1QTjneBAQHcKGft4pd6PQ== + esbuild-linux-arm@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== +esbuild-linux-arm@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.12.tgz#998730ac598eb5be77751046acba0e6e3141957b" + integrity sha512-tD4q/zVUeYkThGehYAJQElo80+ysxvq5vpd2QvykDp4hvIidEUJu2hf+NzG5OuMJSQJmAeAWPrkFOXN+6di9cA== + esbuild-linux-mips64le@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== +esbuild-linux-mips64le@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.12.tgz#3444d251f3d9a491cb46888431adfd3feab667b6" + integrity sha512-+/a6/tiKUCENep8ryUR75Jba4znG51Sb75OzKT6phZFEkB7fao4+GZD39Zxx3EaaA5OC10MsJPjJMFrn0dMusg== + esbuild-linux-ppc64le@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== +esbuild-linux-ppc64le@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.12.tgz#63ef999b6357cd540acc0d433866b9e2d5c0f429" + integrity sha512-SD7e2VLza/cEU2qKuD18Ibt1V0h3TUuerC1Mp3jRJ4RRGXWAyUt4gUpqKSiB7R0rHe6LWECdLbeVFAuGEntCeA== + esbuild-linux-s390x@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== +esbuild-linux-s390x@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.12.tgz#6b89864af82bc2cd25d793f95b3d70b5990bb452" + integrity sha512-KZmjYgAvYUpPBG0v6xv8qCngbfcRKC2AdYx3H3j3VqJfICgjt5XYsyG7ntWdc8Rdw9jZxr9sni6othy2Rp/T+A== + esbuild-netbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== +esbuild-netbsd-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.12.tgz#00b599f193ec3f200e96c984ee2a4915821ed9e1" + integrity sha512-dG+hbCIJC65fHqzkTEYbrPSYG3m8pEaI9A1VDtqHfV13Oiw9/tua1odd47iwoWvTyurErb49wanHsIAKb8/2oQ== + esbuild-openbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== +esbuild-openbsd-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.12.tgz#9e36b3dccb6d194853255073fa5210e96e048dab" + integrity sha512-W3SwxnMjJR3HtBD0aij5WPd0ow2bRB5BsW6FjhN7FgwDBQ+jgniFs1dq54HOkjQ2qBJrt8JvPDFAxacWjdD6Jw== + esbuild-sunos-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== +esbuild-sunos-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.12.tgz#f7194548dbd2ed826f1ff9763916c6ca82e89aba" + integrity sha512-jU/IcTFwvUtt21wOmqKJrevyHQ5XRfiCdFbPie4wsYr8VFcPZZsz18A9lcoI8gZdrF/8pBdD0V+L2UuUY0KsGg== + esbuild-wasm@0.14.11, esbuild-wasm@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== +esbuild-wasm@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.12.tgz#047e5cef57e290cf1798299c590e07a26265f635" + integrity sha512-5MH2mK5Imvry00hOBHjQy7NUTvwgwCKJIq69LGkHP15GtiP8tmEKwPmcdqyn1Pyc3On//GuTvt7PuuDZeSsK6Q== + esbuild-windows-32@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== +esbuild-windows-32@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.12.tgz#0c97d2a80d2cd2e85c946104dfb204a938c6d0c4" + integrity sha512-6luae9cmTB0rSPMCQFWMgf0SLNZ9hxusoS0poVEUHJf3n8bW6wgdyLE2xfYcEcXPMsjAt2e71/etkpqlFxeuYg== + esbuild-windows-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== +esbuild-windows-64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.12.tgz#bfd8e2526f529c7f688f37750504e4c032ec28f9" + integrity sha512-CdCXvME/7s0uMt+4rYd8d5roHJJ5k2VDOzWaOMWExjroet+nSSZngfLpxI5St+28lXLeBorUxeBS+p1qcfEDfw== + esbuild-windows-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== +esbuild-windows-arm64@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.12.tgz#ab123619848a8fd078b5e84ac0b55bb56ddfc5f8" + integrity sha512-vNuLQh/MpYDepK0GNpEWHy0Kn7Jf3Shz/Xetf8hUIc31jgCR1qbLVLDf3ckQdanD2U430YZupOGtEZKRwno79w== + esbuild@0.14.11, esbuild@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" @@ -4973,6 +5089,30 @@ esbuild@0.14.11, esbuild@^0.14.0: esbuild-windows-64 "0.14.11" esbuild-windows-arm64 "0.14.11" +esbuild@0.14.12: + version "0.14.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.12.tgz#1a8ad71f39e674d968e3816a2e29923e274eb4d3" + integrity sha512-o1vQkG+eSDLkWDqWfR8v6eI+byGAUkbRs30eAJcJxUFp3dwMGWR0tAjtam1Bb1RSS2j+4kAUFiuJTnW3J4CYcw== + optionalDependencies: + esbuild-android-arm64 "0.14.12" + esbuild-darwin-64 "0.14.12" + esbuild-darwin-arm64 "0.14.12" + esbuild-freebsd-64 "0.14.12" + esbuild-freebsd-arm64 "0.14.12" + esbuild-linux-32 "0.14.12" + esbuild-linux-64 "0.14.12" + esbuild-linux-arm "0.14.12" + esbuild-linux-arm64 "0.14.12" + esbuild-linux-mips64le "0.14.12" + esbuild-linux-ppc64le "0.14.12" + esbuild-linux-s390x "0.14.12" + esbuild-netbsd-64 "0.14.12" + esbuild-openbsd-64 "0.14.12" + esbuild-sunos-64 "0.14.12" + esbuild-windows-32 "0.14.12" + esbuild-windows-64 "0.14.12" + esbuild-windows-arm64 "0.14.12" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -9681,7 +9821,16 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.21.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: +resolve@1.21.1: + version "1.21.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.1.tgz#1a88c73f5ca8ab0aabc8b888c4170de26c92c4cc" + integrity sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ== + dependencies: + is-core-module "^2.8.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: version "1.21.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== From 906c419911d72bfa1077bd0cc02abc4b6a482709 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 21 Jan 2022 08:18:37 +0000 Subject: [PATCH 0009/1388] build: update angular to 27f7616 --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 26b1746424c0..b6346c89020d 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#a3bbb834eb3d2c91509b70465eb71069784832a2", - "@angular/cdk": "github:angular/cdk-builds#8180057d63f3e7af1c699424371f672fad3ee133", - "@angular/common": "github:angular/common-builds#787868777de73cc22b2f3ac631968b4ebb7662e2", - "@angular/compiler": "github:angular/compiler-builds#d33929afc9218be1f3a40bc5d54263f8e2735b7a", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#b6505440b145d75fb38b6302c055d0a9f93542dd", - "@angular/core": "github:angular/core-builds#4d54a875a2b0475021468b05e604ec8a7a80ce49", - "@angular/forms": "github:angular/forms-builds#df8848df20b56141f85fb99ea1ec23117476ade4", - "@angular/language-service": "github:angular/language-service-builds#89b810bcd404a2d798dc9112da311a2f344bda25", - "@angular/localize": "github:angular/localize-builds#a22253188d26302aec2d0db89fb3b059adfb2eb3", - "@angular/material": "github:angular/material2-builds#13301a6ba609f9196a0c5801910e213cc175d020", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1891f79306543c1db616c8814683d9a2852042f9", - "@angular/platform-browser": "github:angular/platform-browser-builds#f78dc203b0de4b1e09c34e13158263c841b02864", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e8b7c630fe856a20538b59680051e26e72ef2952", - "@angular/platform-server": "github:angular/platform-server-builds#273f942ad3def450fba8d04773e9f0647f8bada8", - "@angular/router": "github:angular/router-builds#0851698bf5ad76655986de529afceb81f60daa8a", - "@angular/service-worker": "github:angular/service-worker-builds#415f68193f7166d681e94f027b3df38524a10ac9" + "@angular/animations": "github:angular/animations-builds#27f76164764f19872facfa962427f36bb7089448", + "@angular/cdk": "github:angular/cdk-builds#716d29daff1a4fc8c2bc6b0ab1a30a5806f81cee", + "@angular/common": "github:angular/common-builds#d109c4ff739f63cc6ab3779470b42525448515da", + "@angular/compiler": "github:angular/compiler-builds#aa97b91c839c4a42fb86a03cf6c6d1c306e0dd94", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#766582d13bc9515a7fa1574782471452e7ccf23a", + "@angular/core": "github:angular/core-builds#77595d674146a3e89da4b652c0655afd92a0fb89", + "@angular/forms": "github:angular/forms-builds#74267d57d8a90eb7d8af803d3fa5f873d242035a", + "@angular/language-service": "github:angular/language-service-builds#1e94ef4ed8ebb339cca9fd8fba2c5c596afa01be", + "@angular/localize": "github:angular/localize-builds#ca0df35633005ae5642efefee7d694228459167d", + "@angular/material": "github:angular/material2-builds#7fa842fde8dea5ab2d00dcd5189e600794ced6d1", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f7be2b774f5855597293795a809f0921f02b1b5b", + "@angular/platform-browser": "github:angular/platform-browser-builds#758bbd19a33136328f25a0101163cdfc4a2b2086", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aa25db66983d02693a350ef005af4a2e81427047", + "@angular/platform-server": "github:angular/platform-server-builds#262826f94401f1d61257dbfe13a05f53249a2e57", + "@angular/router": "github:angular/router-builds#f561a1a510da6d64fb08caf3a466fe193c5ef148", + "@angular/service-worker": "github:angular/service-worker-builds#ea4ca1c95249548bac07e911f89a58d8ce040347" } } From 1fa5e1f9753e1f200bc1993df6bfc1c7b37c72c4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 21 Jan 2022 10:41:33 +0000 Subject: [PATCH 0010/1388] build: update dependency typescript to v4.5.5 --- package.json | 2 +- packages/angular_devkit/build_optimizer/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 7 ++++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 04893a10c601..b334a8221fc4 100644 --- a/package.json +++ b/package.json @@ -215,7 +215,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.3.1", - "typescript": "4.5.4", + "typescript": "4.5.5", "verdaccio": "5.4.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.66.0", diff --git a/packages/angular_devkit/build_optimizer/package.json b/packages/angular_devkit/build_optimizer/package.json index cd36bac64201..1d95a17715d6 100644 --- a/packages/angular_devkit/build_optimizer/package.json +++ b/packages/angular_devkit/build_optimizer/package.json @@ -11,7 +11,7 @@ "dependencies": { "source-map": "0.7.3", "tslib": "2.3.1", - "typescript": "4.5.4" + "typescript": "4.5.5" }, "peerDependencies": { "webpack": "^5.30.0" diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 81737388ebec..8dec16a22d80 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "13.1.3", "@angular/compiler-cli": "13.1.3", - "typescript": "4.5.4", + "typescript": "4.5.5", "webpack": "5.66.0" } } diff --git a/yarn.lock b/yarn.lock index 84c48f7b7c33..4da271fd9c6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11176,7 +11176,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.5.4, typescript@~4.5.0, typescript@~4.5.2: +typescript@4.5.5: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== + +typescript@~4.5.0, typescript@~4.5.2: version "4.5.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== From e9684b2fd2ac6c8c3a6d0a865829b80d6dc2f807 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 24 Jan 2022 11:56:52 +0100 Subject: [PATCH 0011/1388] build: update all non-major dependencies --- package.json | 10 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 10 +- .../build_optimizer/package.json | 2 +- .../angular_devkit/build_webpack/package.json | 2 +- .../build_webpack/src/webpack/index.ts | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 252 ++++++++++-------- 8 files changed, 149 insertions(+), 133 deletions(-) diff --git a/package.json b/package.json index b334a8221fc4..a2c12d40ab26 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "ajv-formats/ajv": "8.9.0" }, "devDependencies": { - "@ampproject/remapping": "1.0.2", + "@ampproject/remapping": "1.1.1", "@angular/animations": "13.1.3", "@angular/cdk": "13.1.3", "@angular/common": "13.1.3", @@ -79,7 +79,7 @@ "@angular/platform-server": "13.1.3", "@angular/router": "13.1.3", "@angular/service-worker": "13.1.3", - "@babel/core": "7.16.10", + "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", @@ -137,8 +137,8 @@ "critters": "0.0.16", "css-loader": "6.5.1", "debug": "^4.1.1", - "esbuild": "0.14.12", - "esbuild-wasm": "0.14.12", + "esbuild": "0.14.13", + "esbuild-wasm": "0.14.13", "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", @@ -218,7 +218,7 @@ "typescript": "4.5.5", "verdaccio": "5.4.0", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.66.0", + "webpack": "5.67.0", "webpack-dev-middleware": "5.3.0", "webpack-dev-server": "4.7.3", "webpack-merge": "5.8.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 9b3675160357..c1f5826279a9 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -40,7 +40,7 @@ "open": "8.4.0", "ora": "5.4.1", "pacote": "12.0.2", - "resolve": "1.21.1", + "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", "uuid": "8.3.2" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2242b028f4a7..c06858cf501d 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,11 +6,11 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "1.0.2", + "@ampproject/remapping": "1.1.1", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.16.10", + "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", @@ -31,7 +31,7 @@ "core-js": "3.20.3", "critters": "0.0.16", "css-loader": "6.5.1", - "esbuild-wasm": "0.14.12", + "esbuild-wasm": "0.14.13", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -65,14 +65,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.66.0", + "webpack": "5.67.0", "webpack-dev-middleware": "5.3.0", "webpack-dev-server": "4.7.3", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.12" + "esbuild": "0.14.13" }, "peerDependencies": { "@angular/compiler-cli": "^13.0.0 || ^13.2.0-next", diff --git a/packages/angular_devkit/build_optimizer/package.json b/packages/angular_devkit/build_optimizer/package.json index 1d95a17715d6..4d7ea7a06693 100644 --- a/packages/angular_devkit/build_optimizer/package.json +++ b/packages/angular_devkit/build_optimizer/package.json @@ -22,6 +22,6 @@ } }, "devDependencies": { - "webpack": "5.66.0" + "webpack": "5.67.0" } } diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 9ed41b41ff1d..66037aa9b029 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.1", - "webpack": "5.66.0" + "webpack": "5.67.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/angular_devkit/build_webpack/src/webpack/index.ts b/packages/angular_devkit/build_webpack/src/webpack/index.ts index 0dec67cb1fd6..7905a791aa35 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index.ts @@ -59,7 +59,7 @@ export function runWebpack( switchMap( (webpackCompiler) => new Observable((obs) => { - const callback = (err?: Error, stats?: webpack.Stats) => { + const callback = (err?: Error | null, stats?: webpack.Stats) => { if (err) { return obs.error(err); } diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 8dec16a22d80..68e7be011c93 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "13.1.3", "@angular/compiler-cli": "13.1.3", "typescript": "4.5.5", - "webpack": "5.66.0" + "webpack": "5.67.0" } } diff --git a/yarn.lock b/yarn.lock index 4da271fd9c6a..1647770a66c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,6 +34,14 @@ "@jridgewell/resolve-uri" "1.0.0" sourcemap-codec "1.4.8" +"@ampproject/remapping@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.1.1.tgz#e220d0a5288b07afd6392a584d15921839e9da32" + integrity sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + sourcemap-codec "1.4.8" + "@angular-devkit/architect@0.1301.3": version "0.1301.3" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1301.3.tgz#197f92c984adf22776798ce568e64396e464a03d" @@ -205,7 +213,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#002770be8f5bf15c02293da454193bb0846969c1": version "0.0.0-744a864cfd77bfe280ac9337041a512cca2daaf9" - uid "002770be8f5bf15c02293da454193bb0846969c1" resolved "https://github.com/angular/dev-infra-private-builds.git#002770be8f5bf15c02293da454193bb0846969c1" dependencies: "@actions/core" "^1.4.0" @@ -361,17 +368,17 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/core@7.16.10": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.10.tgz#ebd034f8e7ac2b6bfcdaa83a161141a646f74b50" - integrity sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA== +"@babel/core@7.16.12": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" + integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.16.8" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.10" + "@babel/parser" "^7.16.12" "@babel/template" "^7.16.7" "@babel/traverse" "^7.16.10" "@babel/types" "^7.16.8" @@ -688,6 +695,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.10.tgz#aba1b1cb9696a24a19f59c41af9cf17d1c716a88" integrity sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ== +"@babel/parser@^7.16.12": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1646,6 +1658,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83" integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA== +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" + integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== + "@mark.probst/unicode-properties@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@mark.probst/unicode-properties/-/unicode-properties-1.1.0.tgz#5caafeab4737df93163d6d288007df33f9939b80" @@ -4880,190 +4897,190 @@ esbuild-android-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== -esbuild-android-arm64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.12.tgz#ca0327521cd570325d965e6957a7fa34dade4254" - integrity sha512-eO4JHwnTeJq1/xC9K0FdHNEYztwT0HaWHnOzR5kXKwJxHatxDNZ+lCHOSxMzh9uVSmnA8YwdSiXPWbwTlWZVrw== +esbuild-android-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" + integrity sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ== esbuild-darwin-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== -esbuild-darwin-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.12.tgz#c0f57bfcbf1a3e2edf0371bdfff9e3e823ee3725" - integrity sha512-LyZ81assnJWhq2IxKEVipwddKlXLTubbz/IObyKOm5cWS9jQCpuwQey2PpzroWSiy7QLGV8XCGWY5b8U8fsmWA== +esbuild-darwin-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" + integrity sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w== esbuild-darwin-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== -esbuild-darwin-arm64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.12.tgz#ae15c4c80f02d594af0ddf0e4d58b59618066fda" - integrity sha512-jj27iSbDS4KlftN1PHHNiTrtXPQIk11J/qpQiQLwKJpeEMNeJUBfQlS7X7dXgFFMxV0rNtcRl8AimEFl+qEMRQ== +esbuild-darwin-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" + integrity sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A== esbuild-freebsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== -esbuild-freebsd-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.12.tgz#f919e3d84dedfbed2199646d98bc02d5a606ed47" - integrity sha512-RnTty09bA8Ts/eWnrJsYiE2dFM6ZseKYQ/7QCM5QYphU6GbifooO9oGjc/UE3Sg8R58yZVO15vnIV0i+kTgDOw== +esbuild-freebsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" + integrity sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g== esbuild-freebsd-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== -esbuild-freebsd-arm64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.12.tgz#551bbc3cb832a8ac82fbeae4352f620f2c9d133a" - integrity sha512-AvAQoEgsHE53hucgoVWdHnXJBl0r9W/7eUCaBvpcgYu3W/EbPZ26VnZwfSXLpk0Pf3t7o6SRwrU+KDTKPscDTw== +esbuild-freebsd-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" + integrity sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g== esbuild-linux-32@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== -esbuild-linux-32@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.12.tgz#42b6db95d35253e4fc14b8061b20437cf29811fb" - integrity sha512-na4I5i2c9ACPuglfYmrnJ6qGQnFJb59dFjyFk5OHTCtoKCq3lXbGHrvYa+3sYlOrRax1kYuRDRGse7YsDLbr3Q== +esbuild-linux-32@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" + integrity sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA== esbuild-linux-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== -esbuild-linux-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.12.tgz#3c12ed0b11136c1a0190a897378e0ea49e47013e" - integrity sha512-ObPoYGakJLx/RldQsFQiwsQ7N9YbQ4LLazHtpKx34bjqFjhqO5JiHPVAJYCmAtci3cJMsZ5DtEFXvijytTBz1g== +esbuild-linux-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" + integrity sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw== esbuild-linux-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== -esbuild-linux-arm64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.12.tgz#38ac3463ab4193e808c966ea6727d8aa2211158a" - integrity sha512-i1/ikCl9gG9yx6QuI+8yJMk9XHUu8ekIQOo6cex2pDqXY5KVHSXDTAT4FDWOd5YXQ1QTjneBAQHcKGft4pd6PQ== +esbuild-linux-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" + integrity sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA== esbuild-linux-arm@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== -esbuild-linux-arm@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.12.tgz#998730ac598eb5be77751046acba0e6e3141957b" - integrity sha512-tD4q/zVUeYkThGehYAJQElo80+ysxvq5vpd2QvykDp4hvIidEUJu2hf+NzG5OuMJSQJmAeAWPrkFOXN+6di9cA== +esbuild-linux-arm@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" + integrity sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg== esbuild-linux-mips64le@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== -esbuild-linux-mips64le@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.12.tgz#3444d251f3d9a491cb46888431adfd3feab667b6" - integrity sha512-+/a6/tiKUCENep8ryUR75Jba4znG51Sb75OzKT6phZFEkB7fao4+GZD39Zxx3EaaA5OC10MsJPjJMFrn0dMusg== +esbuild-linux-mips64le@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" + integrity sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg== esbuild-linux-ppc64le@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== -esbuild-linux-ppc64le@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.12.tgz#63ef999b6357cd540acc0d433866b9e2d5c0f429" - integrity sha512-SD7e2VLza/cEU2qKuD18Ibt1V0h3TUuerC1Mp3jRJ4RRGXWAyUt4gUpqKSiB7R0rHe6LWECdLbeVFAuGEntCeA== +esbuild-linux-ppc64le@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" + integrity sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ== esbuild-linux-s390x@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== -esbuild-linux-s390x@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.12.tgz#6b89864af82bc2cd25d793f95b3d70b5990bb452" - integrity sha512-KZmjYgAvYUpPBG0v6xv8qCngbfcRKC2AdYx3H3j3VqJfICgjt5XYsyG7ntWdc8Rdw9jZxr9sni6othy2Rp/T+A== +esbuild-linux-s390x@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" + integrity sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ== esbuild-netbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== -esbuild-netbsd-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.12.tgz#00b599f193ec3f200e96c984ee2a4915821ed9e1" - integrity sha512-dG+hbCIJC65fHqzkTEYbrPSYG3m8pEaI9A1VDtqHfV13Oiw9/tua1odd47iwoWvTyurErb49wanHsIAKb8/2oQ== +esbuild-netbsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" + integrity sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g== esbuild-openbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== -esbuild-openbsd-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.12.tgz#9e36b3dccb6d194853255073fa5210e96e048dab" - integrity sha512-W3SwxnMjJR3HtBD0aij5WPd0ow2bRB5BsW6FjhN7FgwDBQ+jgniFs1dq54HOkjQ2qBJrt8JvPDFAxacWjdD6Jw== +esbuild-openbsd-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" + integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== esbuild-sunos-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== -esbuild-sunos-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.12.tgz#f7194548dbd2ed826f1ff9763916c6ca82e89aba" - integrity sha512-jU/IcTFwvUtt21wOmqKJrevyHQ5XRfiCdFbPie4wsYr8VFcPZZsz18A9lcoI8gZdrF/8pBdD0V+L2UuUY0KsGg== +esbuild-sunos-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" + integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== esbuild-wasm@0.14.11, esbuild-wasm@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== -esbuild-wasm@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.12.tgz#047e5cef57e290cf1798299c590e07a26265f635" - integrity sha512-5MH2mK5Imvry00hOBHjQy7NUTvwgwCKJIq69LGkHP15GtiP8tmEKwPmcdqyn1Pyc3On//GuTvt7PuuDZeSsK6Q== +esbuild-wasm@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.13.tgz#7850d9ccbe589a3fe9f0ac3bd5fd2095de0cbc65" + integrity sha512-niRkHnjbCSscizzSCtYfc0shAjrK4OXT9COaBdUFuWebx5+2gjXU4YbZohVGLvEf89hh6/U3z+JGMTAF4PajZg== esbuild-windows-32@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== -esbuild-windows-32@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.12.tgz#0c97d2a80d2cd2e85c946104dfb204a938c6d0c4" - integrity sha512-6luae9cmTB0rSPMCQFWMgf0SLNZ9hxusoS0poVEUHJf3n8bW6wgdyLE2xfYcEcXPMsjAt2e71/etkpqlFxeuYg== +esbuild-windows-32@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" + integrity sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg== esbuild-windows-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== -esbuild-windows-64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.12.tgz#bfd8e2526f529c7f688f37750504e4c032ec28f9" - integrity sha512-CdCXvME/7s0uMt+4rYd8d5roHJJ5k2VDOzWaOMWExjroet+nSSZngfLpxI5St+28lXLeBorUxeBS+p1qcfEDfw== +esbuild-windows-64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" + integrity sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA== esbuild-windows-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== -esbuild-windows-arm64@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.12.tgz#ab123619848a8fd078b5e84ac0b55bb56ddfc5f8" - integrity sha512-vNuLQh/MpYDepK0GNpEWHy0Kn7Jf3Shz/Xetf8hUIc31jgCR1qbLVLDf3ckQdanD2U430YZupOGtEZKRwno79w== +esbuild-windows-arm64@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" + integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== esbuild@0.14.11, esbuild@^0.14.0: version "0.14.11" @@ -5089,29 +5106,29 @@ esbuild@0.14.11, esbuild@^0.14.0: esbuild-windows-64 "0.14.11" esbuild-windows-arm64 "0.14.11" -esbuild@0.14.12: - version "0.14.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.12.tgz#1a8ad71f39e674d968e3816a2e29923e274eb4d3" - integrity sha512-o1vQkG+eSDLkWDqWfR8v6eI+byGAUkbRs30eAJcJxUFp3dwMGWR0tAjtam1Bb1RSS2j+4kAUFiuJTnW3J4CYcw== +esbuild@0.14.13: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" + integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== optionalDependencies: - esbuild-android-arm64 "0.14.12" - esbuild-darwin-64 "0.14.12" - esbuild-darwin-arm64 "0.14.12" - esbuild-freebsd-64 "0.14.12" - esbuild-freebsd-arm64 "0.14.12" - esbuild-linux-32 "0.14.12" - esbuild-linux-64 "0.14.12" - esbuild-linux-arm "0.14.12" - esbuild-linux-arm64 "0.14.12" - esbuild-linux-mips64le "0.14.12" - esbuild-linux-ppc64le "0.14.12" - esbuild-linux-s390x "0.14.12" - esbuild-netbsd-64 "0.14.12" - esbuild-openbsd-64 "0.14.12" - esbuild-sunos-64 "0.14.12" - esbuild-windows-32 "0.14.12" - esbuild-windows-64 "0.14.12" - esbuild-windows-arm64 "0.14.12" + esbuild-android-arm64 "0.14.13" + esbuild-darwin-64 "0.14.13" + esbuild-darwin-arm64 "0.14.13" + esbuild-freebsd-64 "0.14.13" + esbuild-freebsd-arm64 "0.14.13" + esbuild-linux-32 "0.14.13" + esbuild-linux-64 "0.14.13" + esbuild-linux-arm "0.14.13" + esbuild-linux-arm64 "0.14.13" + esbuild-linux-mips64le "0.14.13" + esbuild-linux-ppc64le "0.14.13" + esbuild-linux-s390x "0.14.13" + esbuild-netbsd-64 "0.14.13" + esbuild-openbsd-64 "0.14.13" + esbuild-sunos-64 "0.14.13" + esbuild-windows-32 "0.14.13" + esbuild-windows-64 "0.14.13" + esbuild-windows-arm64 "0.14.13" escalade@^3.1.1: version "3.1.1" @@ -6497,7 +6514,7 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.1.0, is-core-module@^2.5.0, is-core-module@^2.8.0: +is-core-module@^2.1.0, is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -9821,16 +9838,16 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.21.1: - version "1.21.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.1.tgz#1a88c73f5ca8ab0aabc8b888c4170de26c92c4cc" - integrity sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ== +resolve@1.22.0, resolve@^1.13.1: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: - is-core-module "^2.8.0" + is-core-module "^2.8.1" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: version "1.21.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== @@ -10000,7 +10017,6 @@ sass@1.49.0, sass@^1.32.8: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -11640,7 +11656,7 @@ webpack-merge@5.8.0: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^3.0.0, webpack-sources@^3.2.2: +webpack-sources@^3.0.0, webpack-sources@^3.2.2, webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== @@ -11689,10 +11705,10 @@ webpack@5.65.0: watchpack "^2.3.1" webpack-sources "^3.2.2" -webpack@5.66.0: - version "5.66.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.66.0.tgz#789bf36287f407fc92b3e2d6f978ddff1bfc2dbb" - integrity sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg== +webpack@5.67.0: + version "5.67.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" + integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -11717,7 +11733,7 @@ webpack@5.66.0: tapable "^2.1.1" terser-webpack-plugin "^5.1.3" watchpack "^2.3.1" - webpack-sources "^3.2.2" + webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" From dd88520cd42f3b22b8d9bbeacd4ef0d9fa5dea83 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 24 Jan 2022 11:56:33 +0000 Subject: [PATCH 0012/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 7 ++-- 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c2787e653434..c157247f4292 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@744a864cfd77bfe280ac9337041a512cca2daaf9 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@87bb3f4dc80be571352ae1cec991cd556a2a9002 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 5564cb0673c5..76488d5dc7ea 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@744a864cfd77bfe280ac9337041a512cca2daaf9 + - uses: angular/dev-infra/github-actions/lock-closed@87bb3f4dc80be571352ae1cec991cd556a2a9002 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index a2c12d40ab26..510efed9bac3 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "13.1.3", "@angular/compiler-cli": "13.1.3", "@angular/core": "13.1.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#002770be8f5bf15c02293da454193bb0846969c1", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3a9e4afded37d814b18f6b13533edc60c64d5735", "@angular/forms": "13.1.3", "@angular/localize": "13.1.3", "@angular/material": "13.1.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index b6346c89020d..72ef7aa624c8 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#27f76164764f19872facfa962427f36bb7089448", - "@angular/cdk": "github:angular/cdk-builds#716d29daff1a4fc8c2bc6b0ab1a30a5806f81cee", - "@angular/common": "github:angular/common-builds#d109c4ff739f63cc6ab3779470b42525448515da", - "@angular/compiler": "github:angular/compiler-builds#aa97b91c839c4a42fb86a03cf6c6d1c306e0dd94", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#766582d13bc9515a7fa1574782471452e7ccf23a", - "@angular/core": "github:angular/core-builds#77595d674146a3e89da4b652c0655afd92a0fb89", - "@angular/forms": "github:angular/forms-builds#74267d57d8a90eb7d8af803d3fa5f873d242035a", - "@angular/language-service": "github:angular/language-service-builds#1e94ef4ed8ebb339cca9fd8fba2c5c596afa01be", - "@angular/localize": "github:angular/localize-builds#ca0df35633005ae5642efefee7d694228459167d", - "@angular/material": "github:angular/material2-builds#7fa842fde8dea5ab2d00dcd5189e600794ced6d1", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f7be2b774f5855597293795a809f0921f02b1b5b", - "@angular/platform-browser": "github:angular/platform-browser-builds#758bbd19a33136328f25a0101163cdfc4a2b2086", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aa25db66983d02693a350ef005af4a2e81427047", - "@angular/platform-server": "github:angular/platform-server-builds#262826f94401f1d61257dbfe13a05f53249a2e57", - "@angular/router": "github:angular/router-builds#f561a1a510da6d64fb08caf3a466fe193c5ef148", - "@angular/service-worker": "github:angular/service-worker-builds#ea4ca1c95249548bac07e911f89a58d8ce040347" + "@angular/animations": "github:angular/animations-builds#3f5430a30a9e9ef660b94c7622fdd559e418ccb1", + "@angular/cdk": "github:angular/cdk-builds#2ff7fc80304871a3fe1b37f704ccbc1756eb694a", + "@angular/common": "github:angular/common-builds#de8693787b98348b93019e4be4139850a252063f", + "@angular/compiler": "github:angular/compiler-builds#8634d0030cfa29038fbc8697b519f2373db505ed", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#07127af9ceae547a37c02bd19a53a1f59d327438", + "@angular/core": "github:angular/core-builds#80e23473d0a25907e00776f01b2f4f2bf261ea3f", + "@angular/forms": "github:angular/forms-builds#0e88be9a49bf4d0e39a729dd91af57f4e60dbbd5", + "@angular/language-service": "github:angular/language-service-builds#ba8fae41923486e042c995654b987a3ada751cc9", + "@angular/localize": "github:angular/localize-builds#caf5a8ca87553f65dc9045d68c4f3f4ffc0f7ebe", + "@angular/material": "github:angular/material2-builds#c384727f741bece55032f47f6b77e7be85a22317", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c3f14dc350c55bb2a6700db7ac36f6a94b161e9b", + "@angular/platform-browser": "github:angular/platform-browser-builds#0ea780affa45b99e789fc8a52d20efc013888976", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#56a83e8f49fed2c005187137b93562aa2c0b0416", + "@angular/platform-server": "github:angular/platform-server-builds#87e61947e52acfb61611e917c8456f95baf96bf1", + "@angular/router": "github:angular/router-builds#51000e06f54604b01a7be7204f594169f661d4e3", + "@angular/service-worker": "github:angular/service-worker-builds#370434887264a00998f0b859964d2b4c190cdf7c" } } diff --git a/yarn.lock b/yarn.lock index 1647770a66c3..a0b72f3ace29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,9 +211,10 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#002770be8f5bf15c02293da454193bb0846969c1": - version "0.0.0-744a864cfd77bfe280ac9337041a512cca2daaf9" - resolved "https://github.com/angular/dev-infra-private-builds.git#002770be8f5bf15c02293da454193bb0846969c1" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3a9e4afded37d814b18f6b13533edc60c64d5735": + version "0.0.0-87bb3f4dc80be571352ae1cec991cd556a2a9002" + uid "3a9e4afded37d814b18f6b13533edc60c64d5735" + resolved "https://github.com/angular/dev-infra-private-builds.git#3a9e4afded37d814b18f6b13533edc60c64d5735" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" From 1d58215e00b17fcf4fafe530c8b8d8398b34eea7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 24 Jan 2022 11:58:32 +0000 Subject: [PATCH 0013/1388] build: update dependency node-fetch to v2.6.7 [security] --- .../angular_devkit/build_webpack/package.json | 2 +- yarn.lock | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 66037aa9b029..ee17ede63032 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "node-fetch": "2.6.1", + "node-fetch": "2.6.7", "webpack": "5.67.0" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index a0b72f3ace29..74331db47bd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7925,11 +7925,6 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-fetch@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - node-fetch@2.6.5: version "2.6.5" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" @@ -7944,6 +7939,13 @@ node-fetch@2.6.6: dependencies: whatwg-url "^5.0.0" +node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -7952,13 +7954,6 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.2.0, node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" From 919b569713a4e8b9c935954b67ca67d05d74a3b2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 24 Jan 2022 12:56:19 +0000 Subject: [PATCH 0014/1388] build: lock file maintenance --- yarn.lock | 666 ++++++++++-------------------------------------------- 1 file changed, 120 insertions(+), 546 deletions(-) diff --git a/yarn.lock b/yarn.lock index 74331db47bd0..6981aea98b52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,23 +42,23 @@ "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1301.3": - version "0.1301.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1301.3.tgz#197f92c984adf22776798ce568e64396e464a03d" - integrity sha512-fFSevgYGZHCybYoyTkZ9b1YCSthBmoi77alwWjqMhYXUNXx7yx50zJZ6Ur2v3YpctVjU6eoGc5FDFyVHwXT0Iw== +"@angular-devkit/architect@0.1301.4": + version "0.1301.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1301.4.tgz#2fc51bcae0dcb581c8be401e2fde7bbd10b43076" + integrity sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA== dependencies: - "@angular-devkit/core" "13.1.3" + "@angular-devkit/core" "13.1.4" rxjs "6.6.7" "@angular-devkit/build-angular@^13.0.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.1.3.tgz#c04cef8a2d405cb66332b674d204a2717b6807f6" - integrity sha512-C5Qv8aGmpGbETG4Mawly/5LnkRwfJAzANL5BtYJn8ZaDlZKCkhvAaRXHpm4Mdqg5idACAT8hgYqPQvqyEBaVDA== + version "13.1.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.1.4.tgz#942023fca240b0f5753dcf65bb67e57e4779bf86" + integrity sha512-MTvlUCb02J4ODXDsnit4N0PR9PkpKeSYpTPueaSBuWTBeP3dvMPZQabvb3C5QT/5yUzBiXQZq11QYx3Gui4StA== dependencies: "@ampproject/remapping" "1.0.2" - "@angular-devkit/architect" "0.1301.3" - "@angular-devkit/build-webpack" "0.1301.3" - "@angular-devkit/core" "13.1.3" + "@angular-devkit/architect" "0.1301.4" + "@angular-devkit/build-webpack" "0.1301.4" + "@angular-devkit/core" "13.1.4" "@babel/core" "7.16.0" "@babel/generator" "7.16.0" "@babel/helper-annotate-as-pure" "7.16.0" @@ -69,7 +69,7 @@ "@babel/runtime" "7.16.3" "@babel/template" "7.16.0" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "13.1.3" + "@ngtools/webpack" "13.1.4" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" @@ -99,7 +99,7 @@ postcss "8.4.4" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "6.7.0" + postcss-preset-env "7.2.3" regenerator-runtime "0.13.9" resolve-url-loader "4.0.0" rxjs "6.6.7" @@ -122,18 +122,18 @@ optionalDependencies: esbuild "0.14.11" -"@angular-devkit/build-webpack@0.1301.3": - version "0.1301.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1301.3.tgz#4f8f9fd9e09992aaf904c4457f268b203c19b45d" - integrity sha512-FFwKdhq5n0lrqkiJRZoWKy21gERtvupkk0BpIVPTbRqyiqB2htiGM995uBBjpeDngytDLx+BwPFipVfQ+WIi9w== +"@angular-devkit/build-webpack@0.1301.4": + version "0.1301.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1301.4.tgz#7dd16ec7fb26c5e177ad26a6f485faf4393774ef" + integrity sha512-IcC3Y5WhreIV0uT90ITqJVgRqFjGwH72hftwLxkslaX+FJDcL36mhsNdyN66BJiuX7R85xUxHq3PEb9cZrllJA== dependencies: - "@angular-devkit/architect" "0.1301.3" + "@angular-devkit/architect" "0.1301.4" rxjs "6.6.7" -"@angular-devkit/core@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.1.3.tgz#d1f8a6b4ad4326732a160a7549fccca1369fd108" - integrity sha512-o14jGDk4h14dVYYQafOn+2rq9CDmDMbDV6logqKYCLzTDRlK8gccDnqJM/QKAlfWCzbllZqcHDmg6FyoRLO9RQ== +"@angular-devkit/core@13.1.4": + version "13.1.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.1.4.tgz#b5b6ddd674ae351f83beff2e4a0d702096bdfd47" + integrity sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ== dependencies: ajv "8.8.2" ajv-formats "2.1.1" @@ -369,7 +369,7 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/core@7.16.12": +"@babel/core@7.16.12", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== @@ -411,27 +411,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - "@babel/generator@7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" @@ -441,7 +420,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.16.8", "@babel/generator@^7.16.0", "@babel/generator@^7.16.7", "@babel/generator@^7.16.8", "@babel/generator@^7.8.6": +"@babel/generator@7.16.8", "@babel/generator@^7.16.0", "@babel/generator@^7.16.8", "@babel/generator@^7.8.6": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== @@ -482,7 +461,7 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10": +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== @@ -495,19 +474,6 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" -"@babel/helper-create-class-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" - integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-create-regexp-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" @@ -678,25 +644,15 @@ "@babel/types" "^7.16.7" "@babel/highlight@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" - integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8", "@babel/parser@^7.8.6": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" - integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== - -"@babel/parser@^7.16.10": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.10.tgz#aba1b1cb9696a24a19f59c41af9cf17d1c716a88" - integrity sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ== - -"@babel/parser@^7.16.12": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.8.6": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== @@ -828,15 +784,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" - integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-private-methods@^7.16.11": +"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.16.11": version "7.16.11" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== @@ -1446,23 +1394,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.8.6": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" - integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.8" - "@babel/types" "^7.16.8" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.16.10": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.8.6": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== @@ -1594,11 +1526,6 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - "@discoveryjs/json-ext@0.5.6": version "0.5.6" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" @@ -1714,10 +1641,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.1.3.tgz#f3e516da2b2a352db9d723e8cebbe15b526de14c" - integrity sha512-6Pf52IbChm/dFuegfv0smeBTW2moi0Gdkyjgk/7VWqE6hN35m+YGrCh+XnPp1POJwOKxhAByhV9zs6NWxrK1vA== +"@ngtools/webpack@13.1.4": + version "13.1.4" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.1.4.tgz#359c9078af281413cf9cabd0af06b3fca4ddbf7e" + integrity sha512-s8gzjG2nYHawFhlkHMkQWYrocHkBI1nF6T9K/oCSTIsq6kvTv//Ahno2VdBSgVq8uMnpv1TymvX0nFC4Dgn1HA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1940,15 +1867,15 @@ once "^1.4.0" "@octokit/request@^5.3.0", "@octokit/request@^5.4.14", "@octokit/request@^5.6.0": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.2.tgz#1aa74d5da7b9e04ac60ef232edd9a7438dcf32d8" - integrity sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA== + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.1.0" "@octokit/types" "^6.16.1" is-plain-object "^5.0.0" - node-fetch "^2.6.1" + node-fetch "^2.6.7" universal-user-agent "^6.0.0" "@octokit/rest@^18.7.0": @@ -2260,9 +2187,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.2.tgz#b64dbdb64b1957cfc8a698c68297fcf8983e94c7" - integrity sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A== + version "8.4.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" + integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2309,7 +2236,7 @@ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== -"@types/http-proxy@^1.17.4", "@types/http-proxy@^1.17.5": +"@types/http-proxy@^1.17.4", "@types/http-proxy@^1.17.8": version "1.17.8" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== @@ -3305,19 +3232,6 @@ autoprefixer@^10.4.2: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -autoprefixer@^9.6.1: - version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - picocolors "^0.2.1" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3540,7 +3454,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@*, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.6.4, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== @@ -3717,10 +3631,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001299: - version "1.0.30001300" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz#11ab6c57d3eb6f964cba950401fd00a146786468" - integrity sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA== +caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001299: + version "1.0.30001301" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz#ebc9086026534cab0dab99425d9c3b4425e5f450" + integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA== canonical-path@1.0.0: version "1.0.0" @@ -4185,13 +4099,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - css-blank-pseudo@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.2.tgz#f8660f6a48b17888a9277e53f25cc5abec1f0169" @@ -4199,14 +4106,6 @@ css-blank-pseudo@^3.0.2: dependencies: postcss-selector-parser "^6.0.8" -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - css-has-pseudo@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.3.tgz#4824a34cb92dae7e09ea1d3fd19691b653412098" @@ -4228,13 +4127,6 @@ css-loader@6.5.1: postcss-value-parser "^4.1.0" semver "^7.3.5" -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - css-prefers-color-scheme@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.2.tgz#d5c03a980caab92d8beeee176a8795d331e0c727" @@ -4265,21 +4157,11 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - cssdb@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.1.0.tgz#ec728d5f5c0811debd0820cbebda505d43003400" integrity sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw== -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -4341,15 +4223,10 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" - integrity sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA== - -date-format@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95" - integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w== +date-format@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873" + integrity sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ== dayjs@1.10.7: version "1.10.7" @@ -4363,7 +4240,7 @@ debug@2.6.9, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.3, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.3, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -4702,9 +4579,9 @@ ejs@^3.1.6: jake "^10.6.1" electron-to-chromium@^1.4.17: - version "1.4.48" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.48.tgz#1948b5227aa0ca1ed690945eae1adbe9e7904575" - integrity sha512-RT3SEmpv7XUA+tKXrZGudAWLDpa7f8qmhjcLaM6OD/ERxjQ/zAojT8/Vvo0BSzbArkElFZ1WyZ9FuwAYbkdBNA== + version "1.4.51" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz#a432f5a5d983ace79278a33057300cf949627e63" + integrity sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ== emoji-regex@^8.0.0: version "8.0.0" @@ -5043,12 +4920,12 @@ esbuild-sunos-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== -esbuild-wasm@0.14.11, esbuild-wasm@^0.14.0: +esbuild-wasm@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== -esbuild-wasm@0.14.13: +esbuild-wasm@0.14.13, esbuild-wasm@^0.14.0: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.13.tgz#7850d9ccbe589a3fe9f0ac3bd5fd2095de0cbc65" integrity sha512-niRkHnjbCSscizzSCtYfc0shAjrK4OXT9COaBdUFuWebx5+2gjXU4YbZohVGLvEf89hh6/U3z+JGMTAF4PajZg== @@ -5083,7 +4960,7 @@ esbuild-windows-arm64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== -esbuild@0.14.11, esbuild@^0.14.0: +esbuild@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" integrity sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg== @@ -5107,7 +4984,7 @@ esbuild@0.14.11, esbuild@^0.14.0: esbuild-windows-64 "0.14.11" esbuild-windows-arm64 "0.14.11" -esbuild@0.14.13: +esbuild@0.14.13, esbuild@^0.14.0: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== @@ -5559,9 +5436,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-redact@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.2.tgz#c940ba7162dde3aeeefc522926ae8c5231412904" - integrity sha512-YN+CYfCVRVMUZOUPeinHNKgytM1wPI/C/UCLEi56EsY2dwwvI00kIJHJoI7pMVqGoMew8SMZ2SSfHKHULHXDsg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.0.tgz#37c26cda9cab70bc04393f7ba1feb2d176da6c6b" + integrity sha512-dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg== fast-safe-stringify@2.0.8: version "2.0.8" @@ -5685,21 +5562,11 @@ flatstr@^1.0.12: resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== -flatted@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -flatted@^3.1.0: +flatted@^3.1.0, flatted@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - follow-redirects@^1.0.0: version "1.14.7" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" @@ -5766,14 +5633,14 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== dependencies: graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" + jsonfile "^6.0.1" + universalify "^2.0.0" fs-extra@~7.0.1: version "7.0.1" @@ -6231,11 +6098,11 @@ http-proxy-agent@^4.0.1: debug "4" http-proxy-middleware@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f" - integrity sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.2.tgz#94d7593790aad6b3de48164f13792262f656c332" + integrity sha512-XtmDN5w+vdFTBZaYhdJAbMqn0DP/EhkUaAeo963mojwpKMMbw6nivtFKw07D7DDOH745L5k0VL0P8KRYNEVF/g== dependencies: - "@types/http-proxy" "^1.17.5" + "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" is-glob "^4.0.1" is-plain-obj "^3.0.0" @@ -6376,11 +6243,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -7031,6 +6893,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -7396,15 +7267,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb" - integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw== + version "6.4.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.1.tgz#9d3a8bf2c31c1e213fe3fc398a6053f7a2bc53e8" + integrity sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg== dependencies: - date-format "^3.0.0" - debug "^4.1.1" - flatted "^2.0.1" - rfdc "^1.1.4" - streamroller "^2.2.4" + date-format "^4.0.3" + debug "^4.3.3" + flatted "^3.2.4" + rfdc "^1.3.0" + streamroller "^3.0.2" long@^4.0.0: version "4.0.0" @@ -7850,11 +7721,16 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.2, negotiator@^0.6.2: +negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + neo-async@^2.6.0, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -7939,7 +7815,7 @@ node-fetch@2.6.6: dependencies: whatwg-url "^5.0.0" -node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1: +node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== @@ -8124,11 +8000,6 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" @@ -8658,14 +8529,6 @@ portfinder@^1.0.28: debug "^3.1.1" mkdirp "^0.5.5" -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - postcss-attribute-case-insensitive@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c" @@ -8673,14 +8536,6 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-color-functional-notation@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.1.tgz#a25e9e1855e14d04319222a689f120b3240d39e0" @@ -8688,23 +8543,6 @@ postcss-color-functional-notation@^4.2.1: dependencies: postcss-value-parser "^4.2.0" -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - postcss-color-hex-alpha@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.2.tgz#7a248b006dd47bd83063f662352d31fd982f74ec" @@ -8712,23 +8550,6 @@ postcss-color-hex-alpha@^8.0.2: dependencies: postcss-value-parser "^4.2.0" -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-color-rebeccapurple@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz#5d397039424a58a9ca628762eb0b88a61a66e079" @@ -8736,13 +8557,6 @@ postcss-color-rebeccapurple@^7.0.2: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - postcss-custom-media@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" @@ -8755,22 +8569,6 @@ postcss-custom-properties@^12.1.2: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - postcss-custom-selectors@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" @@ -8778,14 +8576,6 @@ postcss-custom-selectors@^6.0.0: dependencies: postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - postcss-dir-pseudo-class@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.3.tgz#febfe305e75267913a53bf5094c7679f5cfa9b55" @@ -8793,14 +8583,6 @@ postcss-dir-pseudo-class@^6.0.3: dependencies: postcss-selector-parser "^6.0.8" -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - postcss-double-position-gradients@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.4.tgz#2484b9785ef3ba81b0f03a279c52ec58fc5344c2" @@ -8808,14 +8590,6 @@ postcss-double-position-gradients@^3.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-env-function@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.4.tgz#4e85359ca4fcdde4ec4b73752a41de818dbe91cc" @@ -8823,13 +8597,6 @@ postcss-env-function@^4.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - postcss-focus-visible@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.3.tgz#14635b71a6b9140f488f11f26cbc9965a13f6843" @@ -8837,13 +8604,6 @@ postcss-focus-visible@^6.0.3: dependencies: postcss-selector-parser "^6.0.8" -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - postcss-focus-within@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.3.tgz#0b0bf425f14a646bbfd973b463e2d20d85a3a841" @@ -8851,38 +8611,16 @@ postcss-focus-within@^5.0.3: dependencies: postcss-selector-parser "^6.0.8" -postcss-font-variant@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" - integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== - dependencies: - postcss "^7.0.2" - postcss-font-variant@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - postcss-gap-properties@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.2.tgz#562fbf43a6a721565b3ca0e01008690991d2f726" integrity sha512-EaMy/pbxtQnKDsnbEjdqlkCkROTQZzolcLKgIE+3b7EuJfJydH55cZeHfm+MtIezXRqhR80VKgaztO/vHq94Fw== -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-image-set-function@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.4.tgz#ce91579ab2c1386d412ff5cd5e733c474b1f75ee" @@ -8899,27 +8637,11 @@ postcss-import@14.0.2: read-cache "^1.0.0" resolve "^1.1.7" -postcss-initial@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" - integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== - dependencies: - postcss "^7.0.2" - postcss-initial@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-lab-function@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.0.3.tgz#633745b324afbcd5881da85fe2cef58b17487536" @@ -8936,25 +8658,11 @@ postcss-loader@6.2.1: klona "^2.0.5" semver "^7.3.5" -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - postcss-logical@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.3.tgz#9934e0fb16af70adbd94217b24d2f315ceb5c2f0" integrity sha512-P5NcHWYrif0vK8rgOy/T87vg0WRIj3HSknrvp1wzDbiBeoDPVmiVRmkown2eSQdpPveat/MC1ess5uhzZFVnqQ== -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - postcss-media-minmax@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" @@ -8995,45 +8703,16 @@ postcss-nesting@^10.1.2: dependencies: postcss-selector-parser "^6.0.8" -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - postcss-overflow-shorthand@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.2.tgz#b4e9c89728cd1e4918173dfb95936b75f78d4148" integrity sha512-odBMVt6PTX7jOE9UNvmnLrFzA9pXS44Jd5shFGGtSHY80QCuJF+14McSy0iavZggRZ9Oj//C9vOKQmexvyEJMg== -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - postcss-page-break@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-place@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.3.tgz#ca8040dfd937c7769a233a3bd6e66e139cf89e62" @@ -9041,49 +8720,6 @@ postcss-place@^7.0.3: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - postcss-preset-env@7.2.3, postcss-preset-env@^7.0.0: version "7.2.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz#01b9b6eea0ff16c27a3d514f10105d56363428a6" @@ -9123,14 +8759,6 @@ postcss-preset-env@7.2.3, postcss-preset-env@^7.0.0: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - postcss-pseudo-class-any-link@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.0.2.tgz#6284c2f970715c78fe992d2fac1130e9991585c9" @@ -9138,34 +8766,11 @@ postcss-pseudo-class-any-link@^7.0.2: dependencies: postcss-selector-parser "^6.0.8" -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" - integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - postcss-selector-not@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7" @@ -9173,19 +8778,10 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.8: - version "6.0.8" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914" - integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ== + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -9205,16 +8801,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.x.x, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: +postcss@7.x.x, postcss@^7.0.32, postcss@^7.0.35: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -9834,7 +9421,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.0, resolve@^1.13.1: +resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -9843,15 +9430,6 @@ resolve@1.22.0, resolve@^1.13.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: - version "1.21.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" - integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== - dependencies: - is-core-module "^2.8.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - resolve@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" @@ -9897,7 +9475,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.1.4: +rfdc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== @@ -9939,9 +9517,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.45.1: - version "2.64.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.64.0.tgz#f0f59774e21fbb56de438a37d06a2189632b207a" - integrity sha512-+c+lbw1lexBKSMb1yxGDVfJ+vchJH3qLbmavR+awDinTDA2C5Ug9u7lkOzj62SCu0PKUExsW36tpgW7Fmpn3yQ== + version "2.66.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.0.tgz#ee529ea15a20485d579039637fec3050bad03bbb" + integrity sha512-L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g== optionalDependencies: fsevents "~2.3.2" @@ -10013,6 +9591,7 @@ sass@1.49.0, sass@^1.32.8: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -10601,14 +10180,14 @@ steno@^0.4.1: dependencies: graceful-fs "^4.1.3" -streamroller@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53" - integrity sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ== +streamroller@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7" + integrity sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA== dependencies: - date-format "^2.1.0" + date-format "^4.0.3" debug "^4.1.1" - fs-extra "^8.1.0" + fs-extra "^10.0.0" string-argv@~0.3.1: version "0.3.1" @@ -11188,16 +10767,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.5.5: +typescript@4.5.5, typescript@~4.5.0, typescript@~4.5.2: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== -typescript@~4.5.0, typescript@~4.5.2: - version "4.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" - integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== - ua-parser-js@^0.7.30: version "0.7.31" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" @@ -11257,11 +10831,6 @@ unicode-trie@^0.3.0: pako "^0.2.5" tiny-inflate "^1.0.0" -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -11294,6 +10863,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unix-crypt-td-js@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd" From cb73c0b4aefbd0e82cae51dfd3f1e2d666366a66 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 24 Jan 2022 16:07:13 +0100 Subject: [PATCH 0015/1388] fix(@angular-devkit/build-webpack): correctly handle ESM webpack configurations Previoiusly, we didn't correctly handle ESM configurations as the `import` was always downlevelled to `require` by TypeScript. Closes #22547 --- .../angular_devkit/build_webpack/src/index.md | 2 +- .../angular_devkit/build_webpack/src/utils.ts | 53 ++++++++++++++++++- .../src/webpack-dev-server/index.ts | 8 ++- .../src/webpack-dev-server/index_spec.ts | 19 ++++++- .../build_webpack/src/webpack/index.ts | 8 ++- .../build_webpack/src/webpack/index_spec.ts | 19 ++++++- .../build_webpack/test/basic-app/angular.json | 4 +- .../{webpack.config.js => webpack.config.cjs} | 0 .../test/basic-app/webpack.config.mjs | 19 +++++++ 9 files changed, 114 insertions(+), 18 deletions(-) rename packages/angular_devkit/build_webpack/test/basic-app/{webpack.config.js => webpack.config.cjs} (100%) create mode 100644 packages/angular_devkit/build_webpack/test/basic-app/webpack.config.mjs diff --git a/goldens/public-api/angular_devkit/build_webpack/src/index.md b/goldens/public-api/angular_devkit/build_webpack/src/index.md index eb5031c7f1f8..312a1a6d319c 100644 --- a/goldens/public-api/angular_devkit/build_webpack/src/index.md +++ b/goldens/public-api/angular_devkit/build_webpack/src/index.md @@ -24,7 +24,7 @@ export type DevServerBuildOutput = BuildResult & { address: string; }; -// @public +// @public (undocumented) export interface EmittedFiles { // (undocumented) asset?: boolean; diff --git a/packages/angular_devkit/build_webpack/src/utils.ts b/packages/angular_devkit/build_webpack/src/utils.ts index c788f5253b1e..31e3fba23b3e 100644 --- a/packages/angular_devkit/build_webpack/src/utils.ts +++ b/packages/angular_devkit/build_webpack/src/utils.ts @@ -6,7 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ +import { existsSync } from 'fs'; import * as path from 'path'; +import { URL, pathToFileURL } from 'url'; +import { Compilation, Configuration } from 'webpack'; export interface EmittedFiles { id?: string; @@ -17,7 +20,7 @@ export interface EmittedFiles { extension: string; } -export function getEmittedFiles(compilation: import('webpack').Compilation): EmittedFiles[] { +export function getEmittedFiles(compilation: Compilation): EmittedFiles[] { const files: EmittedFiles[] = []; const chunkFileNames = new Set(); @@ -51,3 +54,51 @@ export function getEmittedFiles(compilation: import('webpack').Compilation): Emi return files; } + +/** + * This uses a dynamic import to load a module which may be ESM. + * CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript + * will currently, unconditionally downlevel dynamic import into a require call. + * require calls cannot load ESM code and will result in a runtime error. To workaround + * this, a Function constructor is used to prevent TypeScript from changing the dynamic import. + * Once TypeScript provides support for keeping the dynamic import this workaround can + * be dropped. + * + * @param modulePath The path of the module to load. + * @returns A Promise that resolves to the dynamically imported module. + */ +function loadEsmModule(modulePath: string | URL): Promise { + return new Function('modulePath', `return import(modulePath);`)(modulePath) as Promise; +} + +export async function getWebpackConfig(configPath: string): Promise { + if (!existsSync(configPath)) { + throw new Error(`Webpack configuration file ${configPath} does not exist.`); + } + + switch (path.extname(configPath)) { + case '.mjs': + // Load the ESM configuration file using the TypeScript dynamic import workaround. + // Once TypeScript provides support for keeping the dynamic import this workaround can be + // changed to a direct dynamic import. + return (await loadEsmModule<{ default: Configuration }>(pathToFileURL(configPath))).default; + case '.cjs': + return require(configPath); + default: + // The file could be either CommonJS or ESM. + // CommonJS is tried first then ESM if loading fails. + try { + return require(configPath); + } catch (e) { + if (e.code === 'ERR_REQUIRE_ESM') { + // Load the ESM configuration file using the TypeScript dynamic import workaround. + // Once TypeScript provides support for keeping the dynamic import this workaround can be + // changed to a direct dynamic import. + return (await loadEsmModule<{ default: Configuration }>(pathToFileURL(configPath))) + .default; + } + + throw e; + } + } +} diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts index 5626f928358a..353536039f9c 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts @@ -12,7 +12,7 @@ import { Observable, from, isObservable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import webpack from 'webpack'; import WebpackDevServer from 'webpack-dev-server'; -import { getEmittedFiles } from '../utils'; +import { getEmittedFiles, getWebpackConfig } from '../utils'; import { BuildResult, WebpackFactory, WebpackLoggingCallback } from '../webpack'; import { Schema as WebpackDevServerBuilderSchema } from './schema'; @@ -112,10 +112,8 @@ export default createBuilder { const configPath = pathResolve(context.workspaceRoot, options.webpackConfig); - return from(import(configPath)).pipe( - switchMap(({ default: config }: { default: webpack.Configuration }) => - runWebpackDevServer(config, context), - ), + return from(getWebpackConfig(configPath)).pipe( + switchMap((config) => runWebpackDevServer(config, context)), ); }, ); diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts index 75e230835ba1..8d8812c0ea65 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index_spec.ts @@ -47,8 +47,23 @@ describe('Dev Server Builder', () => { await createArchitect(workspaceRoot); }); - it('works', async () => { - const run = await architect.scheduleTarget(webpackTargetSpec); + it('works with CJS config', async () => { + const run = await architect.scheduleTarget(webpackTargetSpec, { + webpackConfig: 'webpack.config.cjs', + }); + const output = (await run.result) as DevServerBuildOutput; + expect(output.success).toBe(true); + + const response = await fetch(`http://${output.address}:${output.port}/bundle.js`); + expect(await response.text()).toContain(`console.log('hello world')`); + + await run.stop(); + }, 30000); + + it('works with ESM config', async () => { + const run = await architect.scheduleTarget(webpackTargetSpec, { + webpackConfig: 'webpack.config.mjs', + }); const output = (await run.result) as DevServerBuildOutput; expect(output.success).toBe(true); diff --git a/packages/angular_devkit/build_webpack/src/webpack/index.ts b/packages/angular_devkit/build_webpack/src/webpack/index.ts index 7905a791aa35..f75a0c80428d 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index.ts @@ -11,7 +11,7 @@ import { resolve as pathResolve } from 'path'; import { Observable, from, isObservable, of } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import webpack from 'webpack'; -import { EmittedFiles, getEmittedFiles } from '../utils'; +import { EmittedFiles, getEmittedFiles, getWebpackConfig } from '../utils'; import { Schema as RealWebpackBuilderSchema } from './schema'; export type WebpackBuilderSchema = RealWebpackBuilderSchema; @@ -118,9 +118,7 @@ export function runWebpack( export default createBuilder((options, context) => { const configPath = pathResolve(context.workspaceRoot, options.webpackConfig); - return from(import(configPath)).pipe( - switchMap(({ default: config }: { default: webpack.Configuration }) => - runWebpack(config, context), - ), + return from(getWebpackConfig(configPath)).pipe( + switchMap((config) => runWebpack(config, context)), ); }); diff --git a/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts b/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts index 5a905aecce5d..0b798d427ec6 100644 --- a/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts +++ b/packages/angular_devkit/build_webpack/src/webpack/index_spec.ts @@ -47,8 +47,23 @@ describe('Webpack Builder basic test', () => { await createArchitect(workspaceRoot); }); - it('works', async () => { - const run = await architect.scheduleTarget({ project: 'app', target: 'build' }); + it('works with CJS config', async () => { + const run = await architect.scheduleTarget( + { project: 'app', target: 'build' }, + { webpackConfig: 'webpack.config.cjs' }, + ); + const output = await run.result; + + expect(output.success).toBe(true); + expect(await vfHost.exists(join(outputPath, 'bundle.js')).toPromise()).toBe(true); + await run.stop(); + }); + + it('works with ESM config', async () => { + const run = await architect.scheduleTarget( + { project: 'app', target: 'build' }, + { webpackConfig: 'webpack.config.mjs' }, + ); const output = await run.result; expect(output.success).toBe(true); diff --git a/packages/angular_devkit/build_webpack/test/basic-app/angular.json b/packages/angular_devkit/build_webpack/test/basic-app/angular.json index bc1bc0dbbbe8..7055d4a8620a 100644 --- a/packages/angular_devkit/build_webpack/test/basic-app/angular.json +++ b/packages/angular_devkit/build_webpack/test/basic-app/angular.json @@ -15,13 +15,13 @@ "build": { "builder": "../../:webpack", "options": { - "webpackConfig": "webpack.config.js" + "webpackConfig": "webpack.config.cjs" } }, "serve": { "builder": "../../:webpack-dev-server", "options": { - "webpackConfig": "webpack.config.js" + "webpackConfig": "webpack.config.cjs" } } } diff --git a/packages/angular_devkit/build_webpack/test/basic-app/webpack.config.js b/packages/angular_devkit/build_webpack/test/basic-app/webpack.config.cjs similarity index 100% rename from packages/angular_devkit/build_webpack/test/basic-app/webpack.config.js rename to packages/angular_devkit/build_webpack/test/basic-app/webpack.config.cjs diff --git a/packages/angular_devkit/build_webpack/test/basic-app/webpack.config.mjs b/packages/angular_devkit/build_webpack/test/basic-app/webpack.config.mjs new file mode 100644 index 000000000000..289fff7bdb69 --- /dev/null +++ b/packages/angular_devkit/build_webpack/test/basic-app/webpack.config.mjs @@ -0,0 +1,19 @@ +import { resolve } from 'path'; +import { fileURLToPath } from 'url'; + +export default { + mode: 'development', + entry: resolve(fileURLToPath(import.meta.url), '../src/main.js'), + module: { + rules: [ + // rxjs 6 requires directory imports which are not support in ES modules. + // Disabling `fullySpecified` allows Webpack to ignore this but this is + // not ideal because it currently disables ESM behavior import for all JS files. + { test: /\.[m]?js$/, resolve: { fullySpecified: false } }, + ], + }, + output: { + path: resolve(fileURLToPath(import.meta.url), '../dist'), + filename: 'bundle.js', + }, +}; From 5def2de1bff2c624f636d8729b39ed8ad0e33ca2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 24 Jan 2022 19:37:11 +0100 Subject: [PATCH 0016/1388] fix(@angular-devkit/architect): correctly handle ESM builders Previoiusly, we didn't correctly handle ESM builders as the `import` was always downlevelled to `require` by TypeScript. --- .../node/node-modules-architect-host.ts | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/architect/node/node-modules-architect-host.ts b/packages/angular_devkit/architect/node/node-modules-architect-host.ts index de9022e36b27..a55aa02a128f 100644 --- a/packages/angular_devkit/architect/node/node-modules-architect-host.ts +++ b/packages/angular_devkit/architect/node/node-modules-architect-host.ts @@ -8,6 +8,7 @@ import { json, workspaces } from '@angular-devkit/core'; import * as path from 'path'; +import { URL, pathToFileURL } from 'url'; import { deserialize, serialize } from 'v8'; import { BuilderInfo } from '../src'; import { Schema as BuilderSchema } from '../src/builders-schema'; @@ -197,7 +198,8 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost { - const builder = (await import(info.import)).default; + const builder = await getBuilder(info.import); + if (builder[BuilderSymbol]) { return builder; } @@ -210,3 +212,47 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost(modulePath: string | URL): Promise { + return new Function('modulePath', `return import(modulePath);`)(modulePath) as Promise; +} + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +async function getBuilder(builderPath: string): Promise { + switch (path.extname(builderPath)) { + case '.mjs': + // Load the ESM configuration file using the TypeScript dynamic import workaround. + // Once TypeScript provides support for keeping the dynamic import this workaround can be + // changed to a direct dynamic import. + return (await loadEsmModule<{ default: unknown }>(pathToFileURL(builderPath))).default; + case '.cjs': + return require(builderPath); + default: + // The file could be either CommonJS or ESM. + // CommonJS is tried first then ESM if loading fails. + try { + return require(builderPath); + } catch (e) { + if (e.code === 'ERR_REQUIRE_ESM') { + // Load the ESM configuration file using the TypeScript dynamic import workaround. + // Once TypeScript provides support for keeping the dynamic import this workaround can be + // changed to a direct dynamic import. + return (await loadEsmModule<{ default: unknown }>(pathToFileURL(builderPath))).default; + } + + throw e; + } + } +} From a5bddd620f5ef25fe569dc3e0aa260e0df591f7b Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 24 Jan 2022 12:29:11 -0800 Subject: [PATCH 0017/1388] docs: bump FW peer deps at the same time as FW dependencies --- docs/process/release.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index 089edd9983cb..fc71d0641f58 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -58,9 +58,13 @@ Releasing is performed using Angular's unified release tooling. Each week, two r **For a minor OR major release:** After FW releases `-rc.0` for an upcoming minor/major version, update the corresponding version in -[`latest-versions.ts`](/packages/schematics/angular/utility/latest-versions.ts#L=18) to match. This -ensures that CLI `-rc.0` depends on FW `-rc.0`. The same needs to be done for a `-next.0` release, -and needs to be done for both minor _and_ major releases. +[`latest-versions.ts`](/packages/schematics/angular/utility/latest-versions.ts#L=18) **and** peer +dependencies on FW ([here](/packages/angular_devkit/build_angular/package.json) and +[here](/packages/ngtools/webpack/package.json)) to match. This ensures that CLI `-rc.0` depends on +FW `-rc.0`. + +The same needs to be done for a `-next.0` release, and needs to be done for both minor _and_ major +releases. **For a major release:** From a8b1dfce52ca9119cbbd98330c0d0800c1541075 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 24 Jan 2022 16:17:07 -0800 Subject: [PATCH 0018/1388] docs: release notes for the v13.2.0-rc.1 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52f3f29d9fb4..f9e2a7ebaeba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 13.2.0-rc.1 (2022-01-24) + +### @angular-devkit/architect + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------- | +| [f2c6b2b7e](https://github.com/angular/angular-cli/commit/f2c6b2b7ec88a1b7e45884b38faa0978af1b4b74) | fix | correctly handle ESM builders | + +### @angular-devkit/build-webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | +| [820ff2a3e](https://github.com/angular/angular-cli/commit/820ff2a3e84c5a55e23359e3a45714db83362a2a) | fix | correctly handle ESM webpack configurations | + +## Special Thanks + +Alan Agius, Derek Cormier and Doug Parker + + + # 13.2.0-rc.0 (2022-01-19) From 23dac94c78718e3292556482b9f581b8e57e2887 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 25 Jan 2022 12:37:43 +0000 Subject: [PATCH 0019/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 10 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 444 ++++++------------ 4 files changed, 152 insertions(+), 308 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 44825538ad9c..022ffaf5ef0a 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "rules_pkg", - sha256 = "a89e203d3cf264e564fcb96b6e06dd70bc0557356eb48400ce4b5d97c2c3720d", - urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz"], + sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66", + urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz"], ) load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") diff --git a/package.json b/package.json index 510efed9bac3..a48cbc528b15 100644 --- a/package.json +++ b/package.json @@ -117,8 +117,8 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@typescript-eslint/eslint-plugin": "5.10.0", - "@typescript-eslint/parser": "5.10.0", + "@typescript-eslint/eslint-plugin": "5.10.1", + "@typescript-eslint/parser": "5.10.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.9.0", "ajv-formats": "2.1.1", @@ -171,7 +171,7 @@ "license-webpack-plugin": "4.0.0", "loader-utils": "3.2.0", "magic-string": "0.25.7", - "mini-css-extract-plugin": "2.5.2", + "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.4", "minimist": "^1.2.0", "ng-packagr": "13.1.3", @@ -191,7 +191,7 @@ "postcss-preset-env": "7.2.3", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.1.1", + "puppeteer": "13.1.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -216,7 +216,7 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.5.5", - "verdaccio": "5.4.0", + "verdaccio": "5.5.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.67.0", "webpack-dev-middleware": "5.3.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c06858cf501d..29963b656a58 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -41,7 +41,7 @@ "less-loader": "10.2.0", "license-webpack-plugin": "4.0.0", "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.5.2", + "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.4", "open": "8.4.0", "ora": "5.4.1", diff --git a/yarn.lock b/yarn.lock index 6981aea98b52..9b026a0a788d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2564,14 +2564,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a" - integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ== - dependencies: - "@typescript-eslint/scope-manager" "5.10.0" - "@typescript-eslint/type-utils" "5.10.0" - "@typescript-eslint/utils" "5.10.0" +"@typescript-eslint/eslint-plugin@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.1.tgz#870195d0f2146b36d11fc71131b75aba52354c69" + integrity sha512-xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ== + dependencies: + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/type-utils" "5.10.1" + "@typescript-eslint/utils" "5.10.1" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2579,69 +2579,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.0.tgz#8f59e036f5f1cffc178cacbd5ccdd02aeb96c91c" - integrity sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw== +"@typescript-eslint/parser@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.1.tgz#4ce9633cc33fc70bc13786cb793c1a76fe5ad6bd" + integrity sha512-GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA== dependencies: - "@typescript-eslint/scope-manager" "5.10.0" - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/typescript-estree" "5.10.0" + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/typescript-estree" "5.10.1" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb" - integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg== +"@typescript-eslint/scope-manager@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" + integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== dependencies: - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/visitor-keys" "5.10.0" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" -"@typescript-eslint/type-utils@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5" - integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ== +"@typescript-eslint/type-utils@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz#5e526c00142585e40ab1503e83f1ff608c367405" + integrity sha512-AfVJkV8uck/UIoDqhu+ptEdBoQATON9GXnhOpPLzkQRJcSChkvD//qsz9JVffl2goxX+ybs5klvacE9vmrQyCw== dependencies: - "@typescript-eslint/utils" "5.10.0" + "@typescript-eslint/utils" "5.10.1" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c" - integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ== +"@typescript-eslint/types@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" + integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== -"@typescript-eslint/typescript-estree@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224" - integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA== +"@typescript-eslint/typescript-estree@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" + integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== dependencies: - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/visitor-keys" "5.10.0" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65" - integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg== +"@typescript-eslint/utils@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" + integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.10.0" - "@typescript-eslint/types" "5.10.0" - "@typescript-eslint/typescript-estree" "5.10.0" + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/typescript-estree" "5.10.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281" - integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ== +"@typescript-eslint/visitor-keys@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" + integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== dependencies: - "@typescript-eslint/types" "5.10.0" + "@typescript-eslint/types" "5.10.1" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.1.0": @@ -2659,38 +2659,38 @@ dependencies: lockfile "1.0.4" -"@verdaccio/local-storage@10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.1.0.tgz#ff294227c600a779aeccb41b0d1a1e6e33eec0fa" - integrity sha512-NSW7uLOCLaqTpvPsHkMyir0G0EgaywsUyLHpEs4CeEVR5QIKBklQPx1zATL+KqsPH8yQSlMQFbDYkNylxSCB3A== +"@verdaccio/local-storage@10.1.1": + version "10.1.1" + resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.1.1.tgz#7d66c996175da3d4679690e9ad07f5a7e821c3c0" + integrity sha512-ZSkSH6mnsW9xL/Q4YpNNMS7YQduVFXRJiPN8Kz4d+Pkx2Amp83vZBOu5OfLvoClzGD1CQtMKW91gHvTF5Sjivg== dependencies: "@verdaccio/commons-api" "10.1.0" "@verdaccio/file-locking" "10.1.0" "@verdaccio/streams" "10.1.0" - async "3.2.2" + async "3.2.3" debug "4.3.3" lodash "4.17.21" lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.2.0.tgz#934bcb183c6ef3010cd575f660f1d3a8ae42a9ca" - integrity sha512-M+yXLGSazt9lPJKhZwCL/UsY0+/wGjyYsYZBmAPTbxuBtcjjcRHpGxkN/eRtr6HMIgBiuP/V7+8OInAtgb+ZiA== +"@verdaccio/readme@10.2.1": + version "10.2.1" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.2.1.tgz#cbd239d4822a8237ae3dc4f9b54f928c3fe1966c" + integrity sha512-UjmgwRv9PHMexT07rxgFfhu493XcelaoG8AtmA00U2b+jZpLFQ1vRBo3TvpHYh/cpomUfeAasBHMQwV/8nGMOg== dependencies: dompurify "^2.2.6" jsdom "15.2.1" - marked "^2.0.1" + marked "4.0.10" "@verdaccio/streams@10.1.0": version "10.1.0" resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.1.0.tgz#574fa404bec59fd34324a1b7ffca6510f7f19aff" integrity sha512-19FebNvwNiJkk68fFEq/kNOcPNKYX/NoPFqOlZH6mGUGUo3htHh4tD5k2WepAZpBeK9SC868UiPbMizdIXquSg== -"@verdaccio/ui-theme@3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-3.4.1.tgz#2b75f50b48d42954272212bc52fffa56c8e0a96c" - integrity sha512-klOiYS/C7zOjZ7d/sq1kvJ9JEMLacPdJNfIibblRamzRam/fjjSRx6h4grTglgf6jcik4DYVEN/XXM83GD1vAw== +"@verdaccio/ui-theme@6.0.0-6-next.16": + version "6.0.0-6-next.16" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.16.tgz#f88f555b502636c37ec1722d832c6fd826b63892" + integrity sha512-FbYl3273qaA0/fRwrvE876/HuvU81zjsnR70rCEojBelDuddl3xbY1LVdvthCjUGuIj2SUNpTzGhyROdqHJUCg== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3188,10 +3188,10 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" - integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== +async@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== async@^1.5.2: version "1.5.2" @@ -3365,22 +3365,6 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - body-parser@1.19.1, body-parser@^1.19.0: version "1.19.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" @@ -3530,11 +3514,6 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - bytes@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" @@ -3934,13 +3913,6 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -3977,11 +3949,6 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - cookie@0.4.1, cookie@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" @@ -4388,16 +4355,16 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - dependency-graph@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" @@ -5057,15 +5024,7 @@ eslint-config-prettier@8.3.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== -eslint-import-resolver-node@0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-import-resolver-node@^0.3.6: +eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== @@ -5285,42 +5244,6 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - express@4.17.2, express@^4.17.1: version "4.17.2" resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" @@ -5440,21 +5363,11 @@ fast-redact@^3.0.0: resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.0.tgz#37c26cda9cab70bc04393f7ba1feb2d176da6c6b" integrity sha512-dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg== -fast-safe-stringify@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz#dc2af48c46cf712b683e849b2bbd446b32de936f" - integrity sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag== - -fast-safe-stringify@^2.0.8: +fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: version "2.1.1" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== -fastify-warning@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f" - integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw== - fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -6040,17 +5953,6 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - http-errors@1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" @@ -6062,6 +5964,17 @@ http-errors@1.8.1: statuses ">= 1.5.0 < 2" toidentifier "1.0.1" +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" @@ -6072,17 +5985,6 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - http-parser-js@>=0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" @@ -7390,10 +7292,10 @@ map-obj@^4.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== -marked@2.1.3, marked@^2.0.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" - integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== +marked@4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.10.tgz#423e295385cc0c3a70fa495e0df68b007b879423" + integrity sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw== media-typer@0.3.0: version "0.3.0" @@ -7490,7 +7392,12 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@2.6.0, mime@^2.5.2: +mime@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + +mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== @@ -7527,10 +7434,10 @@ mini-css-extract-plugin@2.4.5: dependencies: schema-utils "^4.0.0" -mini-css-extract-plugin@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.2.tgz#b3b9b98320c2c054d92c16f6a94ddfdbbba13755" - integrity sha512-Lwgq9qLNyBK6yNLgzssXnq4r2+mB9Mz3cJWlM8kseysHIvTicFhDNimFgY94jjqlwhNzLPsq8wv4X+vOHtMdYA== +mini-css-extract-plugin@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz#c5c79f9b22ce9b4f164e9492267358dbe35376d9" + integrity sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw== dependencies: schema-utils "^4.0.0" @@ -7644,11 +7551,6 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -7801,20 +7703,6 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-fetch@2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" - integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" - integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== - dependencies: - whatwg-url "^5.0.0" - node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -8458,16 +8346,16 @@ pino-std-serializers@^3.1.0: resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== -pino@6.13.3: - version "6.13.3" - resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.3.tgz#60b93bcda1541f92fb37b3f2be0a25cf1d05b6fe" - integrity sha512-tJy6qVgkh9MwNgqX1/oYi3ehfl2Y9H0uHyEEMsBe74KinESIjdMrMQDWpcZPpPicg3VV35d/GLQZmo4QgU2Xkg== +pino@6.13.4: + version "6.13.4" + resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.4.tgz#e7bd5e8292019609c841c37a3f1d73ee10bb80f7" + integrity sha512-g4tHSISmQJYUEKEMVdaZ+ZokWwFnTwZL5JPn+lnBVZ1BuBbrSchrXwQINknkM5+Q4fF6U9NjiI8PWwwMDHt9zA== dependencies: fast-redact "^3.0.0" fast-safe-stringify "^2.0.8" - fastify-warning "^0.2.0" flatstr "^1.0.12" pino-std-serializers "^3.1.0" + process-warning "^1.0.0" quick-format-unescaped "^4.0.3" sonic-boom "^1.0.2" @@ -8869,6 +8757,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + progress@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -8932,7 +8825,7 @@ protractor@^7.0.0, protractor@~7.0.0: webdriver-manager "^12.1.7" yargs "^15.3.1" -proxy-addr@~2.0.5, proxy-addr@~2.0.7: +proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== @@ -8978,16 +8871,16 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.1.1.tgz#63771eb744202aa91918c49123f846e1747da121" - integrity sha512-GwdFy1JQ43Hhxj6MraXme+XfCX2CKe18MuwToXTMEAk0txg6vUEgwqBnzErTTqDVZ7sWYrDtDaRCfD2y7ZwgGw== +puppeteer@13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.1.2.tgz#d6ef3295d7551200b7e52076a3cc1b731eff4294" + integrity sha512-ozVM8Tdg0patMtm/xAr3Uh7rQ28vBpbTHLP+ECmoAxG/s4PKrVLN764H/poLux7Ln77jHThOd8OBJj5mTuA6Iw== dependencies: debug "4.3.2" devtools-protocol "0.0.948846" extract-zip "2.0.1" https-proxy-agent "5.0.0" - node-fetch "2.6.5" + node-fetch "2.6.7" pkg-dir "4.2.0" progress "2.0.3" proxy-from-env "1.1.0" @@ -9011,11 +8904,6 @@ qjobs@^1.2.0: resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - qs@6.9.6: version "6.9.6" resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" @@ -9085,16 +8973,6 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - raw-body@2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" @@ -9421,7 +9299,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: +resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -9712,25 +9590,6 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - send@0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" @@ -9770,16 +9629,6 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - serve-static@1.14.2: version "1.14.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" @@ -9805,11 +9654,6 @@ setprototypeof@1.1.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -10163,6 +10007,11 @@ static-module@^2.2.0: static-eval "^2.0.0" through2 "~2.0.3" +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" @@ -10525,11 +10374,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -10734,7 +10578,7 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-is@~1.6.17, type-is@~1.6.18: +type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -10962,15 +10806,15 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -verdaccio-audit@10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.1.0.tgz#b01a137b893807bd73c48ac5ef72e5a5b402c239" - integrity sha512-lu2rpicM7PeVQ+7dlupP92Ddp7v+Rqae4gFfzd9GTxgzS7wWm7USM88GalEPTJtcn4zDh4nC3nbjE7eEQTVFKg== +verdaccio-audit@10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.1.1.tgz#d783bd3e3d6e5880aa9ad88a691f27018e1f21fa" + integrity sha512-j4+u/DLzcsLESnjDNCA937PPlTi+ipBppy4g9H4oKC8COLY4Pe7yIMX7Xzb/hWVVKKtOjdDTLiakRpyT079XAQ== dependencies: - body-parser "1.19.0" - express "4.17.1" + body-parser "1.19.1" + express "4.17.2" https-proxy-agent "5.0.0" - node-fetch "2.6.6" + node-fetch "2.6.7" verdaccio-auth-memory@^10.0.0: version "10.1.0" @@ -10990,52 +10834,52 @@ verdaccio-htpasswd@10.1.0: http-errors "1.8.1" unix-crypt-td-js "1.1.4" -verdaccio@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.4.0.tgz#08bbfe8323c1fc8c1681a0da8ea8924d34c5a941" - integrity sha512-OlG5IL1dsBDWVFFmuXYMWqnfg0LfhLiMYbsc6tRHSh57M3UanyI2/DKVBEvoe7WiSpv8valRG4mpS12mjeyNsA== +verdaccio@5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.5.1.tgz#4864199258e03832a9c511fc276211a4bcd1d93a" + integrity sha512-BWxEQA8dktjbE/ANGnFhBdB0EDQZXOgG5qYVhrlstmedMFtgY3YCkMq56LsaLM6poasswz415LfE9FylD+92qw== dependencies: "@verdaccio/commons-api" "10.1.0" - "@verdaccio/local-storage" "10.1.0" - "@verdaccio/readme" "10.2.0" + "@verdaccio/local-storage" "10.1.1" + "@verdaccio/readme" "10.2.1" "@verdaccio/streams" "10.1.0" - "@verdaccio/ui-theme" "3.4.1" + "@verdaccio/ui-theme" "6.0.0-6-next.16" JSONStream "1.3.5" - async "3.2.2" + async "3.2.3" body-parser "1.19.1" clipanion "3.1.0" compression "1.7.4" cookies "0.8.0" cors "2.8.5" dayjs "1.10.7" - debug "^4.3.2" + debug "^4.3.3" envinfo "7.8.1" - eslint-import-resolver-node "0.3.4" + eslint-import-resolver-node "0.3.6" express "4.17.2" express-rate-limit "5.5.1" - fast-safe-stringify "2.0.8" + fast-safe-stringify "2.1.1" handlebars "4.7.7" - http-errors "1.8.1" + http-errors "2.0.0" js-yaml "4.1.0" jsonwebtoken "8.5.1" kleur "4.1.4" lodash "4.17.21" lru-cache "6.0.0" lunr-mutable-indexes "2.3.2" - marked "2.1.3" + marked "4.0.10" memoizee "0.4.15" - mime "2.6.0" + mime "3.0.0" minimatch "3.0.4" mkdirp "1.0.4" mv "2.1.1" - pino "6.13.3" + pino "6.13.4" pkginfo "0.4.1" prettier-bytes "^1.0.4" pretty-ms "^7.0.1" request "2.88.0" semver "7.3.5" validator "13.7.0" - verdaccio-audit "10.1.0" + verdaccio-audit "10.1.1" verdaccio-htpasswd "10.1.0" verror@1.10.0: From 68490f1553468576c3c9a14cfefd0320f89a520c Mon Sep 17 00:00:00 2001 From: grant-wilson Date: Tue, 25 Jan 2022 13:42:25 -0500 Subject: [PATCH 0020/1388] docs: fix character code in expression example (#22564) * docs: fix character code in expression example Add '\' prefix so character code is rendered literally, not as the character it represents. * docs: format readme.md Run `ng-dev format files` on readme.md. --- packages/angular_devkit/schematics/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/schematics/README.md b/packages/angular_devkit/schematics/README.md index 4ef2d45c4eb5..7fce70c8b80d 100644 --- a/packages/angular_devkit/schematics/README.md +++ b/packages/angular_devkit/schematics/README.md @@ -124,7 +124,7 @@ The system operates on placeholders defined inside files or their paths as loade | Placeholder | Description | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | `<%= expression %>` | Replaced with the result of the call of the given expression. This only supports direct expressions, no structural (for/if/...) JavaScript. | -| `<%- expression %>` | Same as above, but the value of the result will be escaped for HTML when inserted (i.e. replacing '<' with '<') | +| `<%- expression %>` | Same as above, but the value of the result will be escaped for HTML when inserted (i.e. replacing '<' with '\<') | | `<% inline code %>` | Inserts the given code into the template structure, allowing to insert structural JavaScript. | | `<%# text %>` | A comment, which gets entirely dropped. | From 5c5230861c1e78c0199e05c7e3ee3ef37a2c2e8f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 26 Jan 2022 09:05:50 +0000 Subject: [PATCH 0021/1388] build: update all non-major dependencies --- package.json | 6 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 183 ++++++++++++++++-- 4 files changed, 175 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index a48cbc528b15..bb31519e00d7 100644 --- a/package.json +++ b/package.json @@ -137,8 +137,8 @@ "critters": "0.0.16", "css-loader": "6.5.1", "debug": "^4.1.1", - "esbuild": "0.14.13", - "esbuild-wasm": "0.14.13", + "esbuild": "0.14.14", + "esbuild-wasm": "0.14.14", "eslint": "8.7.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", @@ -179,7 +179,7 @@ "npm-package-arg": "8.1.5", "open": "8.4.0", "ora": "5.4.1", - "pacote": "12.0.2", + "pacote": "12.0.3", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index c1f5826279a9..541204b744ed 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "npm-pick-manifest": "6.1.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "12.0.2", + "pacote": "12.0.3", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 29963b656a58..f1ef59e4b0fc 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "core-js": "3.20.3", "critters": "0.0.16", "css-loader": "6.5.1", - "esbuild-wasm": "0.14.13", + "esbuild-wasm": "0.14.14", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -72,7 +72,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.13" + "esbuild": "0.14.14" }, "peerDependencies": { "@angular/compiler-cli": "^13.0.0 || ^13.2.0-next", diff --git a/yarn.lock b/yarn.lock index 9b026a0a788d..c88bce1f95c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2031,6 +2031,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@tsconfig/node10@^1.0.7": version "1.0.8" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" @@ -4747,6 +4752,11 @@ esbuild-android-arm64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" integrity sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ== +esbuild-android-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" + integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== + esbuild-darwin-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" @@ -4757,6 +4767,11 @@ esbuild-darwin-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" integrity sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w== +esbuild-darwin-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" + integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== + esbuild-darwin-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" @@ -4767,6 +4782,11 @@ esbuild-darwin-arm64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" integrity sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A== +esbuild-darwin-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" + integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== + esbuild-freebsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" @@ -4777,6 +4797,11 @@ esbuild-freebsd-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" integrity sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g== +esbuild-freebsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" + integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== + esbuild-freebsd-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" @@ -4787,6 +4812,11 @@ esbuild-freebsd-arm64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" integrity sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g== +esbuild-freebsd-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" + integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== + esbuild-linux-32@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" @@ -4797,6 +4827,11 @@ esbuild-linux-32@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" integrity sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA== +esbuild-linux-32@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" + integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== + esbuild-linux-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" @@ -4807,6 +4842,11 @@ esbuild-linux-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" integrity sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw== +esbuild-linux-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" + integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== + esbuild-linux-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" @@ -4817,6 +4857,11 @@ esbuild-linux-arm64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" integrity sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA== +esbuild-linux-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" + integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== + esbuild-linux-arm@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" @@ -4827,6 +4872,11 @@ esbuild-linux-arm@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" integrity sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg== +esbuild-linux-arm@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" + integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== + esbuild-linux-mips64le@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" @@ -4837,6 +4887,11 @@ esbuild-linux-mips64le@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" integrity sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg== +esbuild-linux-mips64le@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" + integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== + esbuild-linux-ppc64le@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" @@ -4847,6 +4902,11 @@ esbuild-linux-ppc64le@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" integrity sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ== +esbuild-linux-ppc64le@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" + integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== + esbuild-linux-s390x@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" @@ -4857,6 +4917,11 @@ esbuild-linux-s390x@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" integrity sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ== +esbuild-linux-s390x@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" + integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== + esbuild-netbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" @@ -4867,6 +4932,11 @@ esbuild-netbsd-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" integrity sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g== +esbuild-netbsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" + integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== + esbuild-openbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" @@ -4877,6 +4947,11 @@ esbuild-openbsd-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== +esbuild-openbsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" + integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== + esbuild-sunos-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" @@ -4887,12 +4962,22 @@ esbuild-sunos-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== +esbuild-sunos-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" + integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== + esbuild-wasm@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== -esbuild-wasm@0.14.13, esbuild-wasm@^0.14.0: +esbuild-wasm@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" + integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== + +esbuild-wasm@^0.14.0: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.13.tgz#7850d9ccbe589a3fe9f0ac3bd5fd2095de0cbc65" integrity sha512-niRkHnjbCSscizzSCtYfc0shAjrK4OXT9COaBdUFuWebx5+2gjXU4YbZohVGLvEf89hh6/U3z+JGMTAF4PajZg== @@ -4907,6 +4992,11 @@ esbuild-windows-32@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" integrity sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg== +esbuild-windows-32@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" + integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== + esbuild-windows-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" @@ -4917,6 +5007,11 @@ esbuild-windows-64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" integrity sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA== +esbuild-windows-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" + integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== + esbuild-windows-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" @@ -4927,6 +5022,11 @@ esbuild-windows-arm64@0.14.13: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== +esbuild-windows-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" + integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== + esbuild@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" @@ -4951,7 +5051,31 @@ esbuild@0.14.11: esbuild-windows-64 "0.14.11" esbuild-windows-arm64 "0.14.11" -esbuild@0.14.13, esbuild@^0.14.0: +esbuild@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" + integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== + optionalDependencies: + esbuild-android-arm64 "0.14.14" + esbuild-darwin-64 "0.14.14" + esbuild-darwin-arm64 "0.14.14" + esbuild-freebsd-64 "0.14.14" + esbuild-freebsd-arm64 "0.14.14" + esbuild-linux-32 "0.14.14" + esbuild-linux-64 "0.14.14" + esbuild-linux-arm "0.14.14" + esbuild-linux-arm64 "0.14.14" + esbuild-linux-mips64le "0.14.14" + esbuild-linux-ppc64le "0.14.14" + esbuild-linux-s390x "0.14.14" + esbuild-netbsd-64 "0.14.14" + esbuild-openbsd-64 "0.14.14" + esbuild-sunos-64 "0.14.14" + esbuild-windows-32 "0.14.14" + esbuild-windows-64 "0.14.14" + esbuild-windows-arm64 "0.14.14" + +esbuild@^0.14.0: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== @@ -5999,6 +6123,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-proxy-middleware@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.2.tgz#94d7593790aad6b3de48164f13792262f656c332" @@ -7260,7 +7393,29 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^9.0.1, make-fetch-happen@^9.1.0: +make-fetch-happen@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.0.tgz#a2dc77ec1ebf082927f4dc6eaa70227f72e5a250" + integrity sha512-CREcDkbKZZ64g5MN1FT+u58mDHX9FQFFtFyio5HonX44BdQdytqPZBXUz+6ibi2w/6ncji59f2phyXGSMGpgzA== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +make-fetch-happen@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== @@ -7628,7 +7783,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -negotiator@^0.6.2: +negotiator@^0.6.2, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -7852,12 +8007,12 @@ npm-pick-manifest@6.1.1, npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: npm-package-arg "^8.1.2" semver "^7.3.4" -npm-registry-fetch@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" - integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== +npm-registry-fetch@^12.0.0: + version "12.0.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-12.0.1.tgz#211eff2483b1e71706c9a7ce891182ab3ea9168b" + integrity sha512-ricy4ezH3Uv0d4am6RSwHjCYTWJI74NJjurIigWMAG7Vs3PFyd0TUlkrez5L0AgaPzDLRsEzqb5cOZ/Ue01bmA== dependencies: - make-fetch-happen "^9.0.1" + make-fetch-happen "^10.0.0" minipass "^3.1.3" minipass-fetch "^1.3.0" minipass-json-stream "^1.0.1" @@ -8133,10 +8288,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.2.tgz#14ae30a81fe62ec4fc18c071150e6763e932527c" - integrity sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg== +pacote@12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.3.tgz#b6f25868deb810e7e0ddf001be88da2bcaca57c7" + integrity sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow== dependencies: "@npmcli/git" "^2.1.0" "@npmcli/installed-package-contents" "^1.0.6" @@ -8151,7 +8306,7 @@ pacote@12.0.2: npm-package-arg "^8.0.1" npm-packlist "^3.0.0" npm-pick-manifest "^6.0.0" - npm-registry-fetch "^11.0.0" + npm-registry-fetch "^12.0.0" promise-retry "^2.0.1" read-package-json-fast "^2.0.1" rimraf "^3.0.2" From fe746463f93899586dd0273b16cb12b7bde7f484 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 26 Jan 2022 09:46:21 +0000 Subject: [PATCH 0022/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 1422 +++++++++-------- 5 files changed, 748 insertions(+), 712 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c157247f4292..d2ad3c9ce350 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@87bb3f4dc80be571352ae1cec991cd556a2a9002 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@354871956801929457d9f08482fb81f7012ed7c8 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 76488d5dc7ea..876f03b193c7 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@87bb3f4dc80be571352ae1cec991cd556a2a9002 + - uses: angular/dev-infra/github-actions/lock-closed@354871956801929457d9f08482fb81f7012ed7c8 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index bb31519e00d7..47a4ed240479 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "13.1.3", "@angular/compiler-cli": "13.1.3", "@angular/core": "13.1.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3a9e4afded37d814b18f6b13533edc60c64d5735", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93", "@angular/forms": "13.1.3", "@angular/localize": "13.1.3", "@angular/material": "13.1.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 72ef7aa624c8..14a043eed900 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#3f5430a30a9e9ef660b94c7622fdd559e418ccb1", - "@angular/cdk": "github:angular/cdk-builds#2ff7fc80304871a3fe1b37f704ccbc1756eb694a", - "@angular/common": "github:angular/common-builds#de8693787b98348b93019e4be4139850a252063f", - "@angular/compiler": "github:angular/compiler-builds#8634d0030cfa29038fbc8697b519f2373db505ed", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#07127af9ceae547a37c02bd19a53a1f59d327438", - "@angular/core": "github:angular/core-builds#80e23473d0a25907e00776f01b2f4f2bf261ea3f", - "@angular/forms": "github:angular/forms-builds#0e88be9a49bf4d0e39a729dd91af57f4e60dbbd5", - "@angular/language-service": "github:angular/language-service-builds#ba8fae41923486e042c995654b987a3ada751cc9", - "@angular/localize": "github:angular/localize-builds#caf5a8ca87553f65dc9045d68c4f3f4ffc0f7ebe", - "@angular/material": "github:angular/material2-builds#c384727f741bece55032f47f6b77e7be85a22317", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c3f14dc350c55bb2a6700db7ac36f6a94b161e9b", - "@angular/platform-browser": "github:angular/platform-browser-builds#0ea780affa45b99e789fc8a52d20efc013888976", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#56a83e8f49fed2c005187137b93562aa2c0b0416", - "@angular/platform-server": "github:angular/platform-server-builds#87e61947e52acfb61611e917c8456f95baf96bf1", - "@angular/router": "github:angular/router-builds#51000e06f54604b01a7be7204f594169f661d4e3", - "@angular/service-worker": "github:angular/service-worker-builds#370434887264a00998f0b859964d2b4c190cdf7c" + "@angular/animations": "github:angular/animations-builds#0a710238c3d970f957f4c98f32a27f50c2fa6d9b", + "@angular/cdk": "github:angular/cdk-builds#f6be3441efadf1a618b7bbf14c0130c7bc6964d9", + "@angular/common": "github:angular/common-builds#d476c5b8f8bcb0b64f5720fc65880acec4edd432", + "@angular/compiler": "github:angular/compiler-builds#a7366a76c4e4cd5f498864e9fb67345c3d3cb0d5", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#dd90fb71c538d81ab04194cdc07bf8edeadf5f68", + "@angular/core": "github:angular/core-builds#9eea90031457c7600d34901bb53a98d90295c311", + "@angular/forms": "github:angular/forms-builds#ba125154b807fc8256258e7ff2407c3d1e633ce5", + "@angular/language-service": "github:angular/language-service-builds#dbc2805aa0175bc51854b65596d95dea9005a5b4", + "@angular/localize": "github:angular/localize-builds#5ac5d144ee11b00d5980910dcab4e041c99f5dad", + "@angular/material": "github:angular/material2-builds#cede9300b8ff2e7b3d728e49a28084638d9a7533", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#43c32d9c6b12faf1d4d2c0ec50a5f58eb741de24", + "@angular/platform-browser": "github:angular/platform-browser-builds#415998e6d9040aec5f62b54c41a358fb1d9d7a43", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2065be65d3d8e3018782e16900563cdffa5cfeae", + "@angular/platform-server": "github:angular/platform-server-builds#0dd4cbfd25b75987899caa3e9967e8f7126fb0bb", + "@angular/router": "github:angular/router-builds#cf438ce6e60c2147dc2060c010034bc7788669f4", + "@angular/service-worker": "github:angular/service-worker-builds#4f170125365b7d32b72c6fe84a4936f5b59a4bfa" } } diff --git a/yarn.lock b/yarn.lock index c88bce1f95c4..0c54a3d7c065 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,14 +26,6 @@ dependencies: tunnel "0.0.6" -"@ampproject/remapping@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.0.2.tgz#a7ebbadb71517dd63298420868f27d98fe230a0a" - integrity sha512-SncaVxs+E3EdoA9xJgHfWPxZfowAgeIsd71VpqCKP6KNKm6s7zSqqvUc70UpKUFsrV3dAmy6qxHoIj5NG+3DiA== - dependencies: - "@jridgewell/resolve-uri" "1.0.0" - sourcemap-codec "1.4.8" - "@ampproject/remapping@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.1.1.tgz#e220d0a5288b07afd6392a584d15921839e9da32" @@ -42,45 +34,45 @@ "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1301.4": - version "0.1301.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1301.4.tgz#2fc51bcae0dcb581c8be401e2fde7bbd10b43076" - integrity sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA== +"@angular-devkit/architect@0.1302.0-rc.1": + version "0.1302.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0-rc.1.tgz#090e86312f6c57da83e46cda4833b37843f1ebf1" + integrity sha512-3sXdlD/LIZfwL6jNvzXDI185KgROWXFTrCdL969kNTe4xz1Og112g1/hay99wkbUmSJ7Sv8O0x/KGMoKlfKCYQ== dependencies: - "@angular-devkit/core" "13.1.4" + "@angular-devkit/core" "13.2.0-rc.1" rxjs "6.6.7" -"@angular-devkit/build-angular@^13.0.3": - version "13.1.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.1.4.tgz#942023fca240b0f5753dcf65bb67e57e4779bf86" - integrity sha512-MTvlUCb02J4ODXDsnit4N0PR9PkpKeSYpTPueaSBuWTBeP3dvMPZQabvb3C5QT/5yUzBiXQZq11QYx3Gui4StA== - dependencies: - "@ampproject/remapping" "1.0.2" - "@angular-devkit/architect" "0.1301.4" - "@angular-devkit/build-webpack" "0.1301.4" - "@angular-devkit/core" "13.1.4" - "@babel/core" "7.16.0" - "@babel/generator" "7.16.0" - "@babel/helper-annotate-as-pure" "7.16.0" - "@babel/plugin-proposal-async-generator-functions" "7.16.4" - "@babel/plugin-transform-async-to-generator" "7.16.0" - "@babel/plugin-transform-runtime" "7.16.4" - "@babel/preset-env" "7.16.4" - "@babel/runtime" "7.16.3" - "@babel/template" "7.16.0" +"@angular-devkit/build-angular@^13.2.0-rc": + version "13.2.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0-rc.1.tgz#d07eeec25c00c9ed025aa599263d98ad22d39f4a" + integrity sha512-kKElUuHAocImUQmYnlkmk/8UJh8eYw7GqvcfSxIcxJ8euLS2hnavmUCexxtlPsgWmwJTdwXDnRYVCmr4n8hQqA== + dependencies: + "@ampproject/remapping" "1.1.1" + "@angular-devkit/architect" "0.1302.0-rc.1" + "@angular-devkit/build-webpack" "0.1302.0-rc.1" + "@angular-devkit/core" "13.2.0-rc.1" + "@babel/core" "7.16.12" + "@babel/generator" "7.16.8" + "@babel/helper-annotate-as-pure" "7.16.7" + "@babel/plugin-proposal-async-generator-functions" "7.16.8" + "@babel/plugin-transform-async-to-generator" "7.16.8" + "@babel/plugin-transform-runtime" "7.16.10" + "@babel/preset-env" "7.16.11" + "@babel/runtime" "7.16.7" + "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "13.1.4" + "@ngtools/webpack" "13.2.0-rc.1" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" cacache "15.3.0" circular-dependency-plugin "5.2.2" - copy-webpack-plugin "10.0.0" - core-js "3.19.3" + copy-webpack-plugin "10.2.1" + core-js "3.20.3" critters "0.0.16" css-loader "6.5.1" - esbuild-wasm "0.14.11" + esbuild-wasm "0.14.13" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" @@ -90,52 +82,52 @@ less-loader "10.2.0" license-webpack-plugin "4.0.0" loader-utils "3.2.0" - mini-css-extract-plugin "2.4.5" + mini-css-extract-plugin "2.5.2" minimatch "3.0.4" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" - piscina "3.1.0" - postcss "8.4.4" + piscina "3.2.0" + postcss "8.4.5" postcss-import "14.0.2" postcss-loader "6.2.1" postcss-preset-env "7.2.3" regenerator-runtime "0.13.9" - resolve-url-loader "4.0.0" + resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.44.0" + sass "1.49.0" sass-loader "12.4.0" semver "7.3.5" - source-map-loader "3.0.0" + source-map-loader "3.0.1" source-map-support "0.5.21" - stylus "0.55.0" + stylus "0.56.0" stylus-loader "6.2.0" terser "5.10.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.65.0" - webpack-dev-middleware "5.2.2" - webpack-dev-server "4.6.0" + webpack "5.67.0" + webpack-dev-middleware "5.3.0" + webpack-dev-server "4.7.3" webpack-merge "5.8.0" - webpack-subresource-integrity "5.0.0" + webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.11" + esbuild "0.14.13" -"@angular-devkit/build-webpack@0.1301.4": - version "0.1301.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1301.4.tgz#7dd16ec7fb26c5e177ad26a6f485faf4393774ef" - integrity sha512-IcC3Y5WhreIV0uT90ITqJVgRqFjGwH72hftwLxkslaX+FJDcL36mhsNdyN66BJiuX7R85xUxHq3PEb9cZrllJA== +"@angular-devkit/build-webpack@0.1302.0-rc.1": + version "0.1302.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1302.0-rc.1.tgz#2aab04363973bcdfe0d77a88913a8d1ed4159513" + integrity sha512-aQN9tAYIt+VE74QcRE0kXuBFHrbXYK04gfJBQ9HNR1osvh00Ka7OLSInFS6+9dnpeVhxuAEpAJkBPQejY+M7vg== dependencies: - "@angular-devkit/architect" "0.1301.4" + "@angular-devkit/architect" "0.1302.0-rc.1" rxjs "6.6.7" -"@angular-devkit/core@13.1.4": - version "13.1.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.1.4.tgz#b5b6ddd674ae351f83beff2e4a0d702096bdfd47" - integrity sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ== +"@angular-devkit/core@13.2.0-rc.1": + version "13.2.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.2.0-rc.1.tgz#657bc8fcfb573ef7d29034acc9b16b8f3bc5c1c9" + integrity sha512-S3tQBN3wl8DQ3bMaB3iLsP2b+GAHeE4weN85LFh8juGY4mVpbLJos2ZGvKFj1M7Ho0SzZOjGSpOsUBVjX0qWVA== dependencies: - ajv "8.8.2" + ajv "8.9.0" ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" @@ -211,14 +203,14 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3a9e4afded37d814b18f6b13533edc60c64d5735": - version "0.0.0-87bb3f4dc80be571352ae1cec991cd556a2a9002" - uid "3a9e4afded37d814b18f6b13533edc60c64d5735" - resolved "https://github.com/angular/dev-infra-private-builds.git#3a9e4afded37d814b18f6b13533edc60c64d5735" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93": + version "0.0.0-354871956801929457d9f08482fb81f7012ed7c8" + uid "2024033f3123cd1beed78d43ec7269467cd9fa93" + resolved "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" - "@angular-devkit/build-angular" "^13.0.3" + "@angular-devkit/build-angular" "^13.2.0-rc" "@angular/benchpress" "0.2.1" "@babel/core" "^7.16.0" "@bazel/bazelisk" "^1.10.1" @@ -239,8 +231,11 @@ "@octokit/request-error" "^2.1.0" "@octokit/rest" "^18.7.0" "@octokit/types" "^6.16.6" + "@types/browser-sync" "^2.26.3" + "@types/send" "^0.17.1" "@types/tmp" "^0.2.1" "@yarnpkg/lockfile" "^1.1.0" + browser-sync "^2.27.7" chalk "^4.1.0" clang-format "^1.4.0" cli-progress "^3.7.0" @@ -257,8 +252,9 @@ node-fetch "^2.6.1" prettier "^2.3.2" protractor "^7.0.0" - selenium-webdriver "3.5.0" + selenium-webdriver "4.1.1" semver "^7.3.5" + send "^0.17.2" tmp "^0.2.1" "true-case-path" "^2.2.1" ts-node "^10.2.1" @@ -336,7 +332,7 @@ resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -348,27 +344,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== -"@babel/core@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - "@babel/core@7.16.12", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" @@ -411,16 +386,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== - dependencies: - "@babel/types" "^7.16.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@7.16.8", "@babel/generator@^7.16.0", "@babel/generator@^7.16.8", "@babel/generator@^7.8.6": +"@babel/generator@7.16.8", "@babel/generator@^7.16.8", "@babel/generator@^7.8.6": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== @@ -429,13 +395,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" - integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== - dependencies: - "@babel/types" "^7.16.0" - "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -451,7 +410,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.16.7": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== @@ -482,7 +441,7 @@ "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.3.0", "@babel/helper-define-polyfill-provider@^0.3.1": +"@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== @@ -540,14 +499,14 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.0", "@babel/helper-module-transforms@^7.16.7": +"@babel/helper-module-transforms@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== @@ -573,7 +532,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== -"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4", "@babel/helper-remap-async-to-generator@^7.16.8": +"@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== @@ -619,7 +578,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-option@^7.14.5", "@babel/helper-validator-option@^7.16.7": +"@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== @@ -634,7 +593,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.0", "@babel/helpers@^7.16.7", "@babel/helpers@^7.8.4": +"@babel/helpers@^7.16.7", "@babel/helpers@^7.8.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== @@ -652,19 +611,19 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.8.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.8.6": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== @@ -673,16 +632,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" -"@babel/plugin-proposal-async-generator-functions@7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" - integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.4" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.16.4", "@babel/plugin-proposal-async-generator-functions@^7.16.8": +"@babel/plugin-proposal-async-generator-functions@7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== @@ -691,7 +641,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.16.7": +"@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== @@ -699,7 +649,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-class-static-block@^7.16.0", "@babel/plugin-proposal-class-static-block@^7.16.7": +"@babel/plugin-proposal-class-static-block@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== @@ -708,7 +658,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.16.0", "@babel/plugin-proposal-dynamic-import@^7.16.7": +"@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== @@ -716,7 +666,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.16.0", "@babel/plugin-proposal-export-namespace-from@^7.16.7": +"@babel/plugin-proposal-export-namespace-from@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== @@ -724,7 +674,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.16.0", "@babel/plugin-proposal-json-strings@^7.16.7": +"@babel/plugin-proposal-json-strings@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== @@ -732,7 +682,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.0", "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== @@ -740,7 +690,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== @@ -748,7 +698,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.16.7": +"@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== @@ -756,7 +706,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.16.0", "@babel/plugin-proposal-object-rest-spread@^7.16.7": +"@babel/plugin-proposal-object-rest-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== @@ -767,7 +717,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.7" -"@babel/plugin-proposal-optional-catch-binding@^7.16.0", "@babel/plugin-proposal-optional-catch-binding@^7.16.7": +"@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== @@ -775,7 +725,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.16.7": +"@babel/plugin-proposal-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== @@ -784,7 +734,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.16.11": +"@babel/plugin-proposal-private-methods@^7.16.11": version "7.16.11" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== @@ -792,7 +742,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-private-property-in-object@^7.16.0", "@babel/plugin-proposal-private-property-in-object@^7.16.7": +"@babel/plugin-proposal-private-property-in-object@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== @@ -802,7 +752,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== @@ -908,23 +858,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.16.0", "@babel/plugin-transform-arrow-functions@^7.16.7": +"@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-async-to-generator@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" - integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.0" - -"@babel/plugin-transform-async-to-generator@7.16.8", "@babel/plugin-transform-async-to-generator@^7.16.0", "@babel/plugin-transform-async-to-generator@^7.16.8": +"@babel/plugin-transform-async-to-generator@7.16.8", "@babel/plugin-transform-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== @@ -933,21 +874,21 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-block-scoped-functions@^7.16.0", "@babel/plugin-transform-block-scoped-functions@^7.16.7": +"@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.16.0", "@babel/plugin-transform-block-scoping@^7.16.7": +"@babel/plugin-transform-block-scoping@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-classes@^7.16.0", "@babel/plugin-transform-classes@^7.16.7": +"@babel/plugin-transform-classes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== @@ -961,21 +902,21 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.0", "@babel/plugin-transform-computed-properties@^7.16.7": +"@babel/plugin-transform-computed-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.16.0", "@babel/plugin-transform-destructuring@^7.16.7": +"@babel/plugin-transform-destructuring@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== @@ -983,14 +924,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-duplicate-keys@^7.16.0", "@babel/plugin-transform-duplicate-keys@^7.16.7": +"@babel/plugin-transform-duplicate-keys@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-exponentiation-operator@^7.16.0", "@babel/plugin-transform-exponentiation-operator@^7.16.7": +"@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== @@ -998,14 +939,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.0", "@babel/plugin-transform-for-of@^7.16.7": +"@babel/plugin-transform-for-of@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-function-name@^7.16.0", "@babel/plugin-transform-function-name@^7.16.7": +"@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== @@ -1014,21 +955,21 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.16.0", "@babel/plugin-transform-literals@^7.16.7": +"@babel/plugin-transform-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-member-expression-literals@^7.16.0", "@babel/plugin-transform-member-expression-literals@^7.16.7": +"@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.16.0", "@babel/plugin-transform-modules-amd@^7.16.7": +"@babel/plugin-transform-modules-amd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== @@ -1037,7 +978,7 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.0", "@babel/plugin-transform-modules-commonjs@^7.16.8": +"@babel/plugin-transform-modules-commonjs@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== @@ -1047,7 +988,7 @@ "@babel/helper-simple-access" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.0", "@babel/plugin-transform-modules-systemjs@^7.16.7": +"@babel/plugin-transform-modules-systemjs@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== @@ -1058,7 +999,7 @@ "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.0", "@babel/plugin-transform-modules-umd@^7.16.7": +"@babel/plugin-transform-modules-umd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== @@ -1066,21 +1007,21 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" -"@babel/plugin-transform-new-target@^7.16.0", "@babel/plugin-transform-new-target@^7.16.7": +"@babel/plugin-transform-new-target@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-object-super@^7.16.0", "@babel/plugin-transform-object-super@^7.16.7": +"@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== @@ -1088,28 +1029,28 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.16.3", "@babel/plugin-transform-parameters@^7.16.7": +"@babel/plugin-transform-parameters@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-property-literals@^7.16.0", "@babel/plugin-transform-property-literals@^7.16.7": +"@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.16.0", "@babel/plugin-transform-regenerator@^7.16.7": +"@babel/plugin-transform-regenerator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.16.0", "@babel/plugin-transform-reserved-words@^7.16.7": +"@babel/plugin-transform-reserved-words@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== @@ -1128,26 +1069,14 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-runtime@7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" - integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.16.0", "@babel/plugin-transform-shorthand-properties@^7.16.7": +"@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.16.0", "@babel/plugin-transform-spread@^7.16.7": +"@babel/plugin-transform-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== @@ -1155,35 +1084,35 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.16.0", "@babel/plugin-transform-sticky-regex@^7.16.7": +"@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.0", "@babel/plugin-transform-template-literals@^7.16.7": +"@babel/plugin-transform-template-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-typeof-symbol@^7.16.0", "@babel/plugin-transform-typeof-symbol@^7.16.7": +"@babel/plugin-transform-typeof-symbol@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-escapes@^7.16.0", "@babel/plugin-transform-unicode-escapes@^7.16.7": +"@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-regex@^7.16.0", "@babel/plugin-transform-unicode-regex@^7.16.7": +"@babel/plugin-transform-unicode-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== @@ -1271,86 +1200,6 @@ core-js-compat "^3.20.2" semver "^6.3.0" -"@babel/preset-env@7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" - integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.4" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-class-static-block" "^7.16.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.0" - "@babel/plugin-proposal-export-namespace-from" "^7.16.0" - "@babel/plugin-proposal-json-strings" "^7.16.0" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-object-rest-spread" "^7.16.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-proposal-private-property-in-object" "^7.16.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" - "@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-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.16.0" - "@babel/plugin-transform-async-to-generator" "^7.16.0" - "@babel/plugin-transform-block-scoped-functions" "^7.16.0" - "@babel/plugin-transform-block-scoping" "^7.16.0" - "@babel/plugin-transform-classes" "^7.16.0" - "@babel/plugin-transform-computed-properties" "^7.16.0" - "@babel/plugin-transform-destructuring" "^7.16.0" - "@babel/plugin-transform-dotall-regex" "^7.16.0" - "@babel/plugin-transform-duplicate-keys" "^7.16.0" - "@babel/plugin-transform-exponentiation-operator" "^7.16.0" - "@babel/plugin-transform-for-of" "^7.16.0" - "@babel/plugin-transform-function-name" "^7.16.0" - "@babel/plugin-transform-literals" "^7.16.0" - "@babel/plugin-transform-member-expression-literals" "^7.16.0" - "@babel/plugin-transform-modules-amd" "^7.16.0" - "@babel/plugin-transform-modules-commonjs" "^7.16.0" - "@babel/plugin-transform-modules-systemjs" "^7.16.0" - "@babel/plugin-transform-modules-umd" "^7.16.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" - "@babel/plugin-transform-new-target" "^7.16.0" - "@babel/plugin-transform-object-super" "^7.16.0" - "@babel/plugin-transform-parameters" "^7.16.3" - "@babel/plugin-transform-property-literals" "^7.16.0" - "@babel/plugin-transform-regenerator" "^7.16.0" - "@babel/plugin-transform-reserved-words" "^7.16.0" - "@babel/plugin-transform-shorthand-properties" "^7.16.0" - "@babel/plugin-transform-spread" "^7.16.0" - "@babel/plugin-transform-sticky-regex" "^7.16.0" - "@babel/plugin-transform-template-literals" "^7.16.0" - "@babel/plugin-transform-typeof-symbol" "^7.16.0" - "@babel/plugin-transform-unicode-escapes" "^7.16.0" - "@babel/plugin-transform-unicode-regex" "^7.16.0" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.0" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" - semver "^6.3.0" - "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1362,13 +1211,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.16.7", "@babel/runtime@^7.8.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" @@ -1376,16 +1218,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/template@7.16.7", "@babel/template@^7.16.0", "@babel/template@^7.16.7", "@babel/template@^7.8.6": +"@babel/template@7.16.7", "@babel/template@^7.16.7", "@babel/template@^7.8.6": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1394,7 +1227,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.8.6": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.8.6": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== @@ -1581,11 +1414,6 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jridgewell/resolve-uri@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83" - integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA== - "@jridgewell/resolve-uri@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" @@ -1641,10 +1469,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@13.1.4": - version "13.1.4" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.1.4.tgz#359c9078af281413cf9cabd0af06b3fca4ddbf7e" - integrity sha512-s8gzjG2nYHawFhlkHMkQWYrocHkBI1nF6T9K/oCSTIsq6kvTv//Ahno2VdBSgVq8uMnpv1TymvX0nFC4Dgn1HA== +"@ngtools/webpack@13.2.0-rc.1": + version "13.2.0-rc.1" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.2.0-rc.1.tgz#9fc464f2c0426fdd86a8e1f4f52bbb8ffb57d559" + integrity sha512-/SB2wADSCceBrvEaxnzch2kQ713mlrH8mHHz4AJ/EYJrH0U8UCJztpiKTSvWJKmqIlyJB/8lNMCdCTXrEtSWnw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2117,6 +1945,16 @@ dependencies: "@types/node" "*" +"@types/browser-sync@^2.26.3": + version "2.26.3" + resolved "https://registry.yarnpkg.com/@types/browser-sync/-/browser-sync-2.26.3.tgz#d8a2c316144b55d5cb11328b7cb63dc1778de524" + integrity sha512-HIiI438D8q/DXFhdc2JELRMPtuHmR+0q+QNwP/mQoItHvPi7LK+bkZC7amKrSpnB2t4ct8BRd32LtOfd6TMNIw== + dependencies: + "@types/micromatch" "^2" + "@types/node" "*" + "@types/serve-static" "*" + chokidar "^3.0.0" + "@types/browserslist@*": version "4.15.0" resolved "https://registry.yarnpkg.com/@types/browserslist/-/browserslist-4.15.0.tgz#ba0265b33003a2581df1fc5f483321a30205f2d2" @@ -2321,6 +2159,13 @@ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== +"@types/micromatch@^2": + version "2.3.31" + resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-2.3.31.tgz#d13641cb6965294ed1b1d2ad561a331d6306962b" + integrity sha512-17WSoNz/GKLSfcomM8cMoJJQG2cDKvsoDFTtbwjEMxcizGb0HT6EBRi8qR7NW+XSaVdxHzq/WV/TUOm5f/ksag== + dependencies: + "@types/parse-glob" "*" + "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" @@ -2379,6 +2224,11 @@ resolved "https://registry.yarnpkg.com/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz#9e2d8adc04d39824a3d9f36f738010a3f7da3c1a" integrity sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag== +"@types/parse-glob@*": + version "3.0.29" + resolved "https://registry.yarnpkg.com/@types/parse-glob/-/parse-glob-3.0.29.tgz#6a40ec7ebd2418ee69ee397e48e42169268a10bf" + integrity sha1-akDsfr0kGO5p7jl+SOQhaSaKEL8= + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -2473,6 +2323,14 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== +"@types/send@^0.17.1": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" + integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + "@types/serve-index@^1.9.1": version "1.9.1" resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" @@ -2920,6 +2778,11 @@ adm-zip@^0.4.9: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= + agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -2970,16 +2833,6 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.8.2: - version "8.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ajv@8.9.0, ajv@^8.0.0, ajv@^8.8.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" @@ -3161,6 +3014,11 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" +arraybuffer.slice@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" + integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== + arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -3188,21 +3046,26 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +async-each-series@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" + integrity sha1-dhfBkXQB/Yykooqtzj266Yr+tDI= + async@0.9.x: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= +async@1.5.2, async@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + async@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== -async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -3247,6 +3110,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axios@0.21.4: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + babel-loader@8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" @@ -3284,14 +3154,6 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" - babel-plugin-polyfill-corejs3@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" @@ -3307,11 +3169,21 @@ babel-plugin-polyfill-regenerator@^0.3.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-arraybuffer@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" + integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= + base64-js@^1.2.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -3363,6 +3235,11 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +blob@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" + integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== + blocking-proxy@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-1.0.1.tgz#81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2" @@ -3443,6 +3320,64 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== +browser-sync-client@^2.27.7: + version "2.27.7" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.7.tgz#e09dce1add876984cf8232de95d2332d29401a64" + integrity sha512-wKg9UP9a4sCIkBBAXUdbkdWFJzfSAQizGh+nC19W9y9zOo9s5jqeYRFUUbs7x5WKhjtspT+xetVp9AtBJ6BmWg== + dependencies: + etag "1.8.1" + fresh "0.5.2" + mitt "^1.1.3" + rxjs "^5.5.6" + +browser-sync-ui@^2.27.7: + version "2.27.7" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.7.tgz#38cd65f7ba058544310591ad8ac2e7fdf29934f2" + integrity sha512-Bt4OQpx9p18OIzk0KKyu7jqlvmjacasUlk8ARY3uuIyiFWSBiRgr2i6XY8dEMF14DtbooaEBOpHEu9VCYvMcCw== + dependencies: + async-each-series "0.1.1" + connect-history-api-fallback "^1" + immutable "^3" + server-destroy "1.0.1" + socket.io-client "^2.4.0" + stream-throttle "^0.1.3" + +browser-sync@^2.27.7: + version "2.27.7" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.7.tgz#65ec55d6c6e33283e505e06e5113bc32d9d0a8f0" + integrity sha512-9ElnnA/u+s2Jd+IgY+2SImB+sAEIteHsMG0NR96m7Ph/wztpvJCUpyC2on1KqmG9iAp941j+5jfmd34tEguGbg== + dependencies: + browser-sync-client "^2.27.7" + browser-sync-ui "^2.27.7" + bs-recipes "1.3.4" + bs-snippet-injector "^2.0.1" + chokidar "^3.5.1" + connect "3.6.6" + connect-history-api-fallback "^1" + dev-ip "^1.0.1" + easy-extender "^2.3.4" + eazy-logger "3.1.0" + etag "^1.8.1" + fresh "^0.5.2" + fs-extra "3.0.1" + http-proxy "^1.18.1" + immutable "^3" + localtunnel "^2.0.1" + micromatch "^4.0.2" + opn "5.3.0" + portscanner "2.1.1" + qs "6.2.3" + raw-body "^2.3.2" + resp-modifier "6.0.2" + rx "4.1.0" + send "0.16.2" + serve-index "1.9.1" + serve-static "1.13.2" + server-destroy "1.0.1" + socket.io "2.4.0" + ua-parser-js "1.0.2" + yargs "^15.4.1" + browserslist@*, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" @@ -3461,6 +3396,16 @@ browserstack@^1.5.1: dependencies: https-proxy-agent "^2.2.1" +bs-recipes@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" + integrity sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU= + +bs-snippet-injector@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz#61b5393f11f52559ed120693100343b6edb04dd5" + integrity sha1-YbU5PxH1JVntEgaTEANDtu2wTdU= + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" @@ -3838,7 +3783,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.12.1, commander@^2.20.0, commander@^2.7.1: +commander@^2.12.1, commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -3858,11 +3803,26 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= + compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -3898,11 +3858,21 @@ concat-stream@~1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -connect-history-api-fallback@^1.6.0: +connect-history-api-fallback@^1, connect-history-api-fallback@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== +connect@3.6.6: + version "3.6.6" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" + integrity sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ= + dependencies: + debug "2.6.9" + finalhandler "1.1.0" + parseurl "~1.3.2" + utils-merge "1.0.1" + connect@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" @@ -3974,18 +3944,6 @@ copy-anything@^2.0.1: dependencies: is-what "^3.12.0" -copy-webpack-plugin@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.0.0.tgz#f25a29ca2398a6ca31183b62e76adacb53b981d1" - integrity sha512-tuCVuFMBbRsb7IH0q1CUb50/Skv+7a6c7DJ+xi4fAbOzNLTYVMUTPnf8uGvKPtmqTvzYBrfEFo7YgP4TsUWmtg== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^12.0.2" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - copy-webpack-plugin@10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz#115a41f913070ac236a1b576066204cbf35341a1" @@ -3998,7 +3956,7 @@ copy-webpack-plugin@10.2.1: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.20.0, core-js-compat@^3.20.2: +core-js-compat@^3.20.0, core-js-compat@^3.20.2: version "3.20.3" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== @@ -4006,11 +3964,6 @@ core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.20.0, core-js- browserslist "^4.19.1" semver "7.0.0" -core-js@3.19.3: - version "3.19.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.3.tgz#6df8142a996337503019ff3235a7022d7cdf4559" - integrity sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g== - core-js@3.20.3: version "3.20.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" @@ -4205,7 +4158,7 @@ dayjs@1.10.7: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== -debug@2.6.9, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4240,6 +4193,13 @@ debug@~3.1.0: dependencies: ms "2.0.0" +debug@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -4390,6 +4350,11 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== +dev-ip@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" + integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= + devtools-protocol@0.0.948846: version "0.0.948846" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.948846.tgz#bff47e2d1dba060130fa40ed2e5f78b916ba285f" @@ -4420,6 +4385,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -4523,6 +4493,20 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= +easy-extender@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.4.tgz#298789b64f9aaba62169c77a2b3b64b4c9589b8f" + integrity sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q== + dependencies: + lodash "^4.17.10" + +eazy-logger@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.1.0.tgz#b169eb56df714608fa114f164c8a2956bec9f0f3" + integrity sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ== + dependencies: + tfunk "^4.0.0" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -4565,7 +4549,7 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -encodeurl@~1.0.2: +encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= @@ -4584,6 +4568,34 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" +engine.io-client@~3.5.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" + integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== + dependencies: + component-emitter "~1.3.0" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.2.0" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.6" + parseuri "0.0.6" + ws "~7.4.2" + xmlhttprequest-ssl "~1.6.2" + yeast "0.1.2" + +engine.io-parser@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" + integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== + dependencies: + after "0.8.2" + arraybuffer.slice "~0.0.7" + base64-arraybuffer "0.1.4" + blob "0.0.5" + has-binary2 "~1.0.2" + engine.io-parser@~5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" @@ -4591,6 +4603,18 @@ engine.io-parser@~5.0.0: dependencies: "@socket.io/base64-arraybuffer" "~1.0.2" +engine.io@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" + integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== + dependencies: + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.4.1" + debug "~4.1.0" + engine.io-parser "~2.2.0" + ws "~7.4.2" + engine.io@~6.1.0: version "6.1.2" resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.2.tgz#e7b9d546d90c62246ffcba4d88594be980d3855a" @@ -4742,11 +4766,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" - integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== - esbuild-android-arm64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" @@ -4757,11 +4776,6 @@ esbuild-android-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== -esbuild-darwin-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" - integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== - esbuild-darwin-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" @@ -4772,11 +4786,6 @@ esbuild-darwin-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== -esbuild-darwin-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" - integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== - esbuild-darwin-arm64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" @@ -4787,11 +4796,6 @@ esbuild-darwin-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== -esbuild-freebsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" - integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== - esbuild-freebsd-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" @@ -4802,11 +4806,6 @@ esbuild-freebsd-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== -esbuild-freebsd-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" - integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== - esbuild-freebsd-arm64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" @@ -4817,11 +4816,6 @@ esbuild-freebsd-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== -esbuild-linux-32@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" - integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== - esbuild-linux-32@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" @@ -4832,11 +4826,6 @@ esbuild-linux-32@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== -esbuild-linux-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" - integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== - esbuild-linux-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" @@ -4847,11 +4836,6 @@ esbuild-linux-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== -esbuild-linux-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" - integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== - esbuild-linux-arm64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" @@ -4862,11 +4846,6 @@ esbuild-linux-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== -esbuild-linux-arm@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" - integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== - esbuild-linux-arm@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" @@ -4877,11 +4856,6 @@ esbuild-linux-arm@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== -esbuild-linux-mips64le@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" - integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== - esbuild-linux-mips64le@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" @@ -4892,11 +4866,6 @@ esbuild-linux-mips64le@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== -esbuild-linux-ppc64le@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" - integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== - esbuild-linux-ppc64le@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" @@ -4907,11 +4876,6 @@ esbuild-linux-ppc64le@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== -esbuild-linux-s390x@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" - integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== - esbuild-linux-s390x@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" @@ -4922,11 +4886,6 @@ esbuild-linux-s390x@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== -esbuild-netbsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" - integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== - esbuild-netbsd-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" @@ -4937,11 +4896,6 @@ esbuild-netbsd-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== -esbuild-openbsd-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" - integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== - esbuild-openbsd-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" @@ -4952,11 +4906,6 @@ esbuild-openbsd-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== -esbuild-sunos-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" - integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== - esbuild-sunos-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" @@ -4967,26 +4916,16 @@ esbuild-sunos-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== -esbuild-wasm@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" - integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== +esbuild-wasm@0.14.13, esbuild-wasm@^0.14.0: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.13.tgz#7850d9ccbe589a3fe9f0ac3bd5fd2095de0cbc65" + integrity sha512-niRkHnjbCSscizzSCtYfc0shAjrK4OXT9COaBdUFuWebx5+2gjXU4YbZohVGLvEf89hh6/U3z+JGMTAF4PajZg== esbuild-wasm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== -esbuild-wasm@^0.14.0: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.13.tgz#7850d9ccbe589a3fe9f0ac3bd5fd2095de0cbc65" - integrity sha512-niRkHnjbCSscizzSCtYfc0shAjrK4OXT9COaBdUFuWebx5+2gjXU4YbZohVGLvEf89hh6/U3z+JGMTAF4PajZg== - -esbuild-windows-32@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" - integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== - esbuild-windows-32@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" @@ -4997,11 +4936,6 @@ esbuild-windows-32@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== -esbuild-windows-64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" - integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== - esbuild-windows-64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" @@ -5012,11 +4946,6 @@ esbuild-windows-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== -esbuild-windows-arm64@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" - integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== - esbuild-windows-arm64@0.14.13: version "0.14.13" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" @@ -5027,29 +4956,29 @@ esbuild-windows-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== -esbuild@0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" - integrity sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg== +esbuild@0.14.13, esbuild@^0.14.0: + version "0.14.13" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" + integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== optionalDependencies: - esbuild-android-arm64 "0.14.11" - esbuild-darwin-64 "0.14.11" - esbuild-darwin-arm64 "0.14.11" - esbuild-freebsd-64 "0.14.11" - esbuild-freebsd-arm64 "0.14.11" - esbuild-linux-32 "0.14.11" - esbuild-linux-64 "0.14.11" - esbuild-linux-arm "0.14.11" - esbuild-linux-arm64 "0.14.11" - esbuild-linux-mips64le "0.14.11" - esbuild-linux-ppc64le "0.14.11" - esbuild-linux-s390x "0.14.11" - esbuild-netbsd-64 "0.14.11" - esbuild-openbsd-64 "0.14.11" - esbuild-sunos-64 "0.14.11" - esbuild-windows-32 "0.14.11" - esbuild-windows-64 "0.14.11" - esbuild-windows-arm64 "0.14.11" + esbuild-android-arm64 "0.14.13" + esbuild-darwin-64 "0.14.13" + esbuild-darwin-arm64 "0.14.13" + esbuild-freebsd-64 "0.14.13" + esbuild-freebsd-arm64 "0.14.13" + esbuild-linux-32 "0.14.13" + esbuild-linux-64 "0.14.13" + esbuild-linux-arm "0.14.13" + esbuild-linux-arm64 "0.14.13" + esbuild-linux-mips64le "0.14.13" + esbuild-linux-ppc64le "0.14.13" + esbuild-linux-s390x "0.14.13" + esbuild-netbsd-64 "0.14.13" + esbuild-openbsd-64 "0.14.13" + esbuild-sunos-64 "0.14.13" + esbuild-windows-32 "0.14.13" + esbuild-windows-64 "0.14.13" + esbuild-windows-arm64 "0.14.13" esbuild@0.14.14: version "0.14.14" @@ -5075,30 +5004,6 @@ esbuild@0.14.14: esbuild-windows-64 "0.14.14" esbuild-windows-arm64 "0.14.14" -esbuild@^0.14.0: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" - integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== - optionalDependencies: - esbuild-android-arm64 "0.14.13" - esbuild-darwin-64 "0.14.13" - esbuild-darwin-arm64 "0.14.13" - esbuild-freebsd-64 "0.14.13" - esbuild-freebsd-arm64 "0.14.13" - esbuild-linux-32 "0.14.13" - esbuild-linux-64 "0.14.13" - esbuild-linux-arm "0.14.13" - esbuild-linux-arm64 "0.14.13" - esbuild-linux-mips64le "0.14.13" - esbuild-linux-ppc64le "0.14.13" - esbuild-linux-s390x "0.14.13" - esbuild-netbsd-64 "0.14.13" - esbuild-openbsd-64 "0.14.13" - esbuild-sunos-64 "0.14.13" - esbuild-windows-32 "0.14.13" - esbuild-windows-64 "0.14.13" - esbuild-windows-arm64 "0.14.13" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5315,7 +5220,7 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: +etag@1.8.1, etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= @@ -5541,6 +5446,19 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + integrity sha1-zgtoVbRYU+eRsvzGgARtiCU91/U= + dependencies: + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" + unpipe "~1.0.0" + finalhandler@1.1.2, finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -5604,7 +5522,7 @@ flatted@^3.1.0, flatted@^3.2.4: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== -follow-redirects@^1.0.0: +follow-redirects@^1.0.0, follow-redirects@^1.14.0: version "1.14.7" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== @@ -5660,7 +5578,7 @@ fraction.js@^4.1.2: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== -fresh@0.5.2: +fresh@0.5.2, fresh@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= @@ -5670,6 +5588,15 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-extra@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + fs-extra@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" @@ -5980,6 +5907,18 @@ has-bigints@^1.0.1: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-binary2@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" + integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== + dependencies: + isarray "2.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -6250,6 +6189,11 @@ immediate@~3.0.5: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= +immutable@^3: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + immutable@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" @@ -6278,6 +6222,11 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -6468,6 +6417,13 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-number-like@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3" + integrity sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA== + dependencies: + lodash.isfinite "^3.3.2" + is-number-object@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" @@ -6612,6 +6568,11 @@ is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -6619,6 +6580,11 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= + isarray@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -6921,6 +6887,13 @@ jsonc-parser@3.0.0, jsonc-parser@^3.0.0: resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY= + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -6968,7 +6941,7 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" -jszip@^3.1.3: +jszip@^3.1.3, jszip@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.7.1.tgz#bd63401221c15625a1228c556ca8a68da6fda3d9" integrity sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg== @@ -7161,6 +7134,11 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" +limiter@^1.0.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2" + integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -7194,6 +7172,16 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +localtunnel@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-2.0.2.tgz#528d50087151c4790f89c2db374fe7b0a48501f0" + integrity sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug== + dependencies: + axios "0.21.4" + debug "4.3.2" + openurl "1.1.1" + yargs "17.1.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -7248,6 +7236,11 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= + lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" @@ -7288,7 +7281,7 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@4, lodash@4.17.21, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7542,6 +7535,11 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, dependencies: mime-db "1.51.0" +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -7582,10 +7580,10 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.5.tgz#191d6c170226037212c483af1180b4010b7b9eef" - integrity sha512-oEIhRucyn1JbT/1tU2BhnwO6ft1jjH1iCX9Gc59WFMg0n5773rQU0oyQ0zzeYFFuBfONaRbQJyGoPtuNseMxjA== +mini-css-extract-plugin@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.2.tgz#b3b9b98320c2c054d92c16f6a94ddfdbbba13755" + integrity sha512-Lwgq9qLNyBK6yNLgzssXnq4r2+mB9Mz3cJWlM8kseysHIvTicFhDNimFgY94jjqlwhNzLPsq8wv4X+vOHtMdYA== dependencies: schema-utils "^4.0.0" @@ -7601,7 +7599,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -7684,12 +7682,17 @@ minizlib@^2.0.0, minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" +mitt@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d" + integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw== + mkdirp-classic@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: +mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -7873,11 +7876,6 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-forge@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" @@ -8140,6 +8138,18 @@ open@8.4.0, open@^8.0.9: is-docker "^2.1.1" is-wsl "^2.2.0" +openurl@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387" + integrity sha1-OHW0sO96UsFW8NtB1GCduw+Us4c= + +opn@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" + integrity sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g== + dependencies: + is-wsl "^1.1.0" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -8387,6 +8397,16 @@ parse5@^6.0.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== +parseqs@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" + integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== + +parseuri@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" + integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -8514,17 +8534,6 @@ pino@6.13.4: quick-format-unescaped "^4.0.3" sonic-boom "^1.0.2" -piscina@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.1.0.tgz#2333636865b6cb69c5a370bbc499a98cabcf3e04" - integrity sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg== - dependencies: - eventemitter-asyncresource "^1.0.0" - hdr-histogram-js "^2.0.1" - hdr-histogram-percentiles-obj "^3.0.0" - optionalDependencies: - nice-napi "^1.0.2" - piscina@3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.2.0.tgz#f5a1dde0c05567775690cccefe59d9223924d154" @@ -8572,6 +8581,14 @@ portfinder@^1.0.28: debug "^3.1.1" mkdirp "^0.5.5" +portscanner@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" + integrity sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y= + dependencies: + async "1.5.2" + is-number-like "^1.0.3" + postcss-attribute-case-insensitive@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c" @@ -8844,7 +8861,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@7.x.x, postcss@^7.0.32, postcss@^7.0.35: +postcss@7.x.x, postcss@^7.0.32: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -8852,15 +8869,6 @@ postcss@7.x.x, postcss@^7.0.32, postcss@^7.0.35: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.4: - version "8.4.4" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" - integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - postcss@8.4.5, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.7: version "8.4.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" @@ -9011,11 +9019,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -9059,6 +9062,11 @@ qjobs@^1.2.0: resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== +qs@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" + integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= + qs@6.9.6: version "6.9.6" resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" @@ -9069,11 +9077,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -9123,12 +9126,12 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@^1.2.1, range-parser@~1.2.0, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.2: +raw-body@2.4.2, raw-body@^2.3.2: version "2.4.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== @@ -9432,17 +9435,6 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== - dependencies: - adjust-sourcemap-loader "^4.0.0" - convert-source-map "^1.7.0" - loader-utils "^2.0.0" - postcss "^7.0.35" - source-map "0.6.1" - resolve-url-loader@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz#ee3142fb1f1e0d9db9524d539cfa166e9314f795" @@ -9478,6 +9470,14 @@ resolve@~1.19.0: is-core-module "^2.1.0" path-parse "^1.0.6" +resp-modifier@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" + integrity sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08= + dependencies: + debug "^2.2.0" + minimatch "^3.0.2" + responselike@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" @@ -9568,6 +9568,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +rx@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= + rxjs@6.6.7, rxjs@^6.5.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" @@ -9575,6 +9580,13 @@ rxjs@6.6.7, rxjs@^6.5.0: dependencies: tslib "^1.9.0" +rxjs@^5.5.6: + version "5.5.12" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== + dependencies: + symbol-observable "1.0.1" + rxjs@^7.2.0: version "7.5.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" @@ -9605,14 +9617,6 @@ sass-loader@12.4.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.44.0.tgz#619aa0a2275c097f9af5e6b8fe8a95e3056430fb" - integrity sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - sass@1.49.0, sass@^1.32.8: version "1.49.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" @@ -9684,16 +9688,6 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selenium-webdriver@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.5.0.tgz#9036c82874e6c0f5cbff0a0f18223bc31c99cb77" - integrity sha512-1bCZYRfDy7vsu1dkLrclTLvWPxSo6rOIkxZXvB2wnzeWkEoiTKpw612EUGA3jRZxPzAzI9OlxuULJV8ge1vVXQ== - dependencies: - jszip "^3.1.3" - rimraf "^2.5.4" - tmp "0.0.30" - xml2js "^0.4.17" - selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: version "3.6.0" resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" @@ -9704,12 +9698,14 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selfsigned@^1.10.11: - version "1.10.14" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" - integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== +selenium-webdriver@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz#da083177d811f36614950e809e2982570f67d02e" + integrity sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ== dependencies: - node-forge "^0.10.0" + jszip "^3.6.0" + tmp "^0.2.1" + ws ">=7.4.6" selfsigned@^2.0.0: version "2.0.0" @@ -9745,7 +9741,26 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -send@0.17.2: +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +send@0.17.2, send@^0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== @@ -9771,7 +9786,7 @@ serialize-javascript@^6.0.0: dependencies: randombytes "^2.1.0" -serve-index@^1.9.1: +serve-index@1.9.1, serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= @@ -9784,6 +9799,16 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + serve-static@1.14.2: version "1.14.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" @@ -9794,6 +9819,11 @@ serve-static@1.14.2: parseurl "~1.3.3" send "0.17.2" +server-destroy@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0= + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -9881,11 +9911,51 @@ smart-buffer@^4.1.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== +socket.io-adapter@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" + integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== + socket.io-adapter@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz#4d6111e4d42e9f7646e365b4f578269821f13486" integrity sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ== +socket.io-client@2.4.0, socket.io-client@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" + integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "~1.3.0" + debug "~3.1.0" + engine.io-client "~3.5.0" + has-binary2 "~1.0.2" + indexof "0.0.1" + parseqs "0.0.6" + parseuri "0.0.6" + socket.io-parser "~3.3.0" + to-array "0.1.4" + +socket.io-parser@~3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" + integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== + dependencies: + component-emitter "~1.3.0" + debug "~3.1.0" + isarray "2.0.1" + +socket.io-parser@~3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" + integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== + dependencies: + component-emitter "1.2.1" + debug "~4.1.0" + isarray "2.0.1" + socket.io-parser@~4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" @@ -9895,6 +9965,18 @@ socket.io-parser@~4.0.4: component-emitter "~1.3.0" debug "~4.3.1" +socket.io@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.0.tgz#01030a2727bd8eb2e85ea96d69f03692ee53d47e" + integrity sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ== + dependencies: + debug "~4.1.0" + engine.io "~3.5.0" + has-binary2 "~1.0.2" + socket.io-adapter "~1.1.0" + socket.io-client "2.4.0" + socket.io-parser "~3.4.0" + socket.io@^4.2.0: version "4.4.1" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.1.tgz#cd6de29e277a161d176832bb24f64ee045c56ab8" @@ -9946,20 +10028,6 @@ sonic-boom@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -source-map-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.0.tgz#f2a04ee2808ad01c774dea6b7d2639839f3b3049" - integrity sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.2" - source-map-js "^0.6.2" - source-map-loader@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" @@ -10172,6 +10240,16 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + integrity sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4= + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -10184,6 +10262,14 @@ steno@^0.4.1: dependencies: graceful-fs "^4.1.3" +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + integrity sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM= + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + streamroller@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7" @@ -10296,20 +10382,6 @@ stylus-loader@6.2.0: klona "^2.0.4" normalize-path "^3.0.0" -stylus@0.55.0: - version "0.55.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.55.0.tgz#bd404a36dd93fa87744a9dd2d2b1b8450345e5fc" - integrity sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw== - dependencies: - css "^3.0.0" - debug "~3.1.0" - glob "^7.1.6" - mkdirp "~1.0.4" - safer-buffer "^2.1.2" - sax "~1.2.4" - semver "^6.3.0" - source-map "^0.7.3" - stylus@0.56.0, stylus@^0.56.0: version "0.56.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.56.0.tgz#13fc85c48082db483c90d2530942fe8b0be988eb" @@ -10353,6 +10425,11 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= + symbol-observable@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" @@ -10448,6 +10525,14 @@ text-table@0.2.0, text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +tfunk@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-4.0.0.tgz#de9399feaf2060901d590b7faad80fcd5443077e" + integrity sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ== + dependencies: + chalk "^1.1.3" + dlv "^1.1.3" + through2@^2.0.0, through2@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -10512,6 +10597,11 @@ tmp@^0.2.1: dependencies: rimraf "^3.0.0" +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -10771,6 +10861,11 @@ typescript@4.5.5, typescript@~4.5.0, typescript@~4.5.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== +ua-parser-js@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" + integrity sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg== + ua-parser-js@^0.7.30: version "0.7.31" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" @@ -10889,14 +10984,6 @@ urijs@^1.19.1: resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.7.tgz#4f594e59113928fea63c00ce688fb395b1168ab9" integrity sha512-Id+IKjdU0Hx+7Zx717jwLPsPeUqz7rAtuVBRLLs+qn+J2nf9NGITWVCxcijgYxBqe83C7sqsQPs6H1pyz3x9gA== -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -11129,18 +11216,7 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-dev-middleware@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" - integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== - dependencies: - colorette "^2.0.10" - memfs "^3.2.2" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.2.1, webpack-dev-middleware@^5.3.0: +webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz#8fc02dba6e72e1d373eca361623d84610f27be7c" integrity sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg== @@ -11151,37 +11227,6 @@ webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.2.1, webpack-dev-middlew range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz#e8648601c440172d9b6f248d28db98bed335315a" - integrity sha512-oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg== - dependencies: - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.2" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^4.0.0" - selfsigned "^1.10.11" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - url "^0.11.0" - webpack-dev-middleware "^5.2.1" - ws "^8.1.0" - webpack-dev-server@4.7.3: version "4.7.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz#4e995b141ff51fa499906eebc7906f6925d0beaa" @@ -11225,18 +11270,11 @@ webpack-merge@5.8.0: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^3.0.0, webpack-sources@^3.2.2, webpack-sources@^3.2.3: +webpack-sources@^3.0.0, webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack-subresource-integrity@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.0.0.tgz#8268b9cc1a229a8f8129ca9eeb59cde52185b6b1" - integrity sha512-x9514FpLRydO+UAQ8DY4aLtCjxmdLkuQVcDFN1kGzuusREYJ1B0rzk/iIlWiL6dnvrhEGFj2+UsdxDkP8Z4UKg== - dependencies: - typed-assert "^1.0.8" - webpack-subresource-integrity@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" @@ -11244,36 +11282,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.2" - webpack@5.67.0: version "5.67.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" @@ -11432,15 +11440,20 @@ ws@8.2.3, ws@~8.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== +ws@>=7.4.6, ws@^8.1.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" + integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== + ws@^7.0.0: version "7.5.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== -ws@^8.1.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" - integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== +ws@~7.4.2: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== xhr2@^0.2.0: version "0.2.1" @@ -11470,6 +11483,11 @@ xmlchars@^2.1.1: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xmlhttprequest-ssl@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" + integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== + xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -11520,7 +11538,20 @@ yargs-parser@^21.0.0: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== -yargs@^15.3.1: +yargs@17.1.1: + version "17.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" + integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -11571,6 +11602,11 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From 8278b56c9f2c149b56407ca36e56021fc3cdeaa6 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 26 Jan 2022 13:43:26 -0800 Subject: [PATCH 0023/1388] docs: release notes for the v13.2.0 release --- CHANGELOG.md | 83 ++++++++++------------------------------------------ 1 file changed, 16 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9e2a7ebaeba..796e0830d4a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ - + -# 13.2.0-rc.1 (2022-01-24) +# 13.2.0 (2022-01-26) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [41a828e20](https://github.com/angular/angular-cli/commit/41a828e2068b881f744846c3f0edbff8c62cb9ce) | fix | updated Angular new project version to v13.2.0-next.0 | ### @angular-devkit/architect @@ -8,6 +14,13 @@ | --------------------------------------------------------------------------------------------------- | ---- | ----------------------------- | | [f2c6b2b7e](https://github.com/angular/angular-cli/commit/f2c6b2b7ec88a1b7e45884b38faa0978af1b4b74) | fix | correctly handle ESM builders | +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | +| [cbe028e37](https://github.com/angular/angular-cli/commit/cbe028e37c8af6f2e17cbbeddc968c9410151bbb) | feat | expose i18nDuplicateTranslation option of browser and server builders | +| [509322b62](https://github.com/angular/angular-cli/commit/509322b6214b3425bd209087ac99ee9b14edeaba) | fix | Don't use TAILWIND_MODE=watch | + ### @angular-devkit/build-webpack | Commit | Type | Description | @@ -16,25 +29,7 @@ ## Special Thanks -Alan Agius, Derek Cormier and Doug Parker - - - - - -# 13.2.0-rc.0 (2022-01-19) - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | -| [a0784bd8c](https://github.com/angular/angular-cli/commit/a0784bd8cb64bd719ed499f97603522fbc9db02d) | fix | disable parsing `new URL` syntax | -| [acf7532bd](https://github.com/angular/angular-cli/commit/acf7532bd7f39274bc641d8161bdfe7b3be3750b) | fix | load translations fresh start | -| [b5c4a2344](https://github.com/angular/angular-cli/commit/b5c4a234465729f2f763c9601a0c5ff577e5a90d) | fix | support ESNext as target for JavaScript optimizations | - -## Special Thanks - -Alan Agius, Bill Barry, Doug Parker and Joey Perrott +Alan Agius, Cédric Exbrayat, Derek Cormier, Doug Parker, Joey Perrott, Jordan Pittman, grant-wilson and minijus @@ -91,42 +86,6 @@ Alan Agius, Bill Barry, Derek Cormier, Elio Goettelmann, Joey Perrott, Kasper Ch - - -# 13.2.0-next.2 (2022-01-12) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | -| [b7e292374](https://github.com/angular/angular-cli/commit/b7e29237437dcfaa9a745824a15360812f1ade3c) | fix | remove extra space in `Unable to find compatible package` during `ng add` | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- | -| [aadfc7915](https://github.com/angular/angular-cli/commit/aadfc791524ff2bf6d040f288e7a2cca8f49b9cc) | fix | set `skipTest` flag for resolvers when using ng new --skip-tests | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | -| [cbe028e37](https://github.com/angular/angular-cli/commit/cbe028e37c8af6f2e17cbbeddc968c9410151bbb) | feat | expose i18nDuplicateTranslation option of browser and server builders | -| [6d2087b8f](https://github.com/angular/angular-cli/commit/6d2087b8f8332d742bc1140b7c4e490f5cc57d08) | fix | automatically purge stale build cache entries | -| [a5e375ca9](https://github.com/angular/angular-cli/commit/a5e375ca93a93dd887d7fde34686ec9019619981) | fix | correctly resolve `core-js/proposals/reflect-metadata` | -| [509322b62](https://github.com/angular/angular-cli/commit/509322b6214b3425bd209087ac99ee9b14edeaba) | fix | Don't use TAILWIND_MODE=watch | -| [9a9af2040](https://github.com/angular/angular-cli/commit/9a9af20400a4be53f6c62187401cc9bf2fadc57e) | fix | enable `:where` CSS pseudo-class | -| [426ddb68d](https://github.com/angular/angular-cli/commit/426ddb68d9a21b036d6151e6cdee625e58ca1194) | fix | ensure `$localize` calls are replaced in watch mode | -| [0d68ed547](https://github.com/angular/angular-cli/commit/0d68ed547362e6bad0a9c5ca5209b65ed125bbd8) | fix | localized bundle generation fails in watch mode | -| [11f817ada](https://github.com/angular/angular-cli/commit/11f817adae4f06d8b80a9d74534468f6e3c2d2c5) | fix | use `contenthash` instead of `chunkhash` for chunks | -| [50167a36b](https://github.com/angular/angular-cli/commit/50167a36b0f9803ebcedafa9abbd9ecc5bc19a40) | fix | websocket client only injected if required | - -## Special Thanks - -Alan Agius, Derek Cormier, Doug Parker, Elio Goettelmann, Joey Perrott, Jordan Pittman, Kasper Christensen, Lukas Spirig, Zoltan Lehoczky and minijus - - - # 12.2.15 (2022-01-12) @@ -283,16 +242,6 @@ Alan Agius, Cédric Exbrayat and Derek Cormier - - -# 13.2.0-next.0 (2021-12-09) - -## Special Thanks - -Joey Perrott - - - # 13.1.0 (2021-12-09) From 987c83f762c1a83fd55063c19db4b15fc1995c2d Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 26 Jan 2022 11:30:32 -0800 Subject: [PATCH 0024/1388] release: update version to 14.0.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 47a4ed240479..524569583dbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "13.3.0-next.0", + "version": "14.0.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From d64ef88a30274f657e7e9065eb1ce6245e334459 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 27 Jan 2022 08:56:01 +0100 Subject: [PATCH 0025/1388] test(@angular/cli): add update test from version 12 to 13 This is needed as updating multiple major versions of `@angular/cli` and `@angular/core` at once is not supported therefore an update from 12 to 14 will fail. --- tests/legacy-cli/e2e/tests/update/update-9.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/legacy-cli/e2e/tests/update/update-9.ts b/tests/legacy-cli/e2e/tests/update/update-9.ts index 69623ea76f49..38d0635b0d92 100644 --- a/tests/legacy-cli/e2e/tests/update/update-9.ts +++ b/tests/legacy-cli/e2e/tests/update/update-9.ts @@ -25,6 +25,9 @@ export default async function () { // Update Angular to 12 await ng('update', '@angular/cli@12', '@angular/core@12'); + + // Update Angular to 13 + await ng('update', '@angular/cli@13', '@angular/core@13'); } finally { await setRegistry(true); } From 7068de28093ab66319cbcdecf5249c92875b773b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 27 Jan 2022 08:58:25 +0100 Subject: [PATCH 0026/1388] refactor(@angular-devkit/build-angular): clean find tests logic With this change we clean up and reduce the complexity of the `findTests` logic that handles the `include` option in the karma builder. --- .../src/builders/karma/find-tests.ts | 92 ++++++++++++------- .../build_angular/src/builders/karma/index.ts | 25 +++-- .../build_angular/src/utils/is-directory.ts | 19 ---- 3 files changed, 80 insertions(+), 56 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/src/utils/is-directory.ts diff --git a/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts b/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts index fb89ee81620b..c74eff095d21 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts @@ -6,55 +6,85 @@ * found in the LICENSE file at https://angular.io/license */ -import { existsSync } from 'fs'; -import * as glob from 'glob'; -import { basename, dirname, extname, join } from 'path'; -import { isDirectory } from '../../utils/is-directory'; +import { PathLike, constants, promises as fs } from 'fs'; +import glob, { hasMagic } from 'glob'; +import { basename, dirname, extname, join, relative } from 'path'; +import { promisify } from 'util'; + +const globPromise = promisify(glob); // go through all patterns and find unique list of files -export function findTests(patterns: string[], cwd: string, workspaceRoot: string): string[] { - return patterns.reduce((files, pattern) => { - const relativePathToMain = cwd.replace(workspaceRoot, '').substr(1); // remove leading slash - const tests = findMatchingTests(pattern, cwd, relativePathToMain); - tests.forEach((file) => { - if (!files.includes(file)) { - files.push(file); - } - }); +export async function findTests( + patterns: string[], + workspaceRoot: string, + projectSourceRoot: string, +): Promise { + const matchingTestsPromises = patterns.map((pattern) => + findMatchingTests(pattern, workspaceRoot, projectSourceRoot), + ); + const files = await Promise.all(matchingTestsPromises); - return files; - }, [] as string[]); + // Unique file names + return [...new Set(files.flat())]; } -function findMatchingTests(pattern: string, cwd: string, relativePathToMain: string): string[] { +const normalizePath = (path: string): string => path.replace(/\\/g, '/'); + +async function findMatchingTests( + pattern: string, + workspaceRoot: string, + projectSourceRoot: string, +): Promise { // normalize pattern, glob lib only accepts forward slashes - pattern = pattern.replace(/\\/g, '/'); - relativePathToMain = relativePathToMain.replace(/\\/g, '/'); + let normalizedPattern = normalizePath(pattern); + const relativeProjectRoot = normalizePath(relative(workspaceRoot, projectSourceRoot) + '/'); - // remove relativePathToMain to support relative paths from root + // remove relativeProjectRoot to support relative paths from root // such paths are easy to get when running scripts via IDEs - if (pattern.startsWith(relativePathToMain + '/')) { - pattern = pattern.substr(relativePathToMain.length + 1); // +1 to include slash + if (normalizedPattern.startsWith(relativeProjectRoot)) { + normalizedPattern = normalizedPattern.substring(relativeProjectRoot.length); } // special logic when pattern does not look like a glob - if (!glob.hasMagic(pattern)) { - if (isDirectory(join(cwd, pattern))) { - pattern = `${pattern}/**/*.spec.@(ts|tsx)`; + if (!hasMagic(normalizedPattern)) { + if (await isDirectory(join(projectSourceRoot, normalizedPattern))) { + normalizedPattern = `${normalizedPattern}/**/*.spec.@(ts|tsx)`; } else { // see if matching spec file exists - const extension = extname(pattern); - const matchingSpec = `${basename(pattern, extension)}.spec${extension}`; + const fileExt = extname(normalizedPattern); + // Replace extension to `.spec.ext`. Example: `src/app/app.component.ts`-> `src/app/app.component.spec.ts` + const potentialSpec = join( + dirname(normalizedPattern), + `${basename(normalizedPattern, fileExt)}.spec${fileExt}`, + ); - if (existsSync(join(cwd, dirname(pattern), matchingSpec))) { - pattern = join(dirname(pattern), matchingSpec).replace(/\\/g, '/'); + if (await exists(join(projectSourceRoot, potentialSpec))) { + return [normalizePath(potentialSpec)]; } } } - const files = glob.sync(pattern, { - cwd, + return globPromise(normalizedPattern, { + cwd: projectSourceRoot, }); +} + +async function isDirectory(path: PathLike): Promise { + try { + const stats = await fs.stat(path); - return files; + return stats.isDirectory(); + } catch { + return false; + } +} + +async function exists(path: PathLike): Promise { + try { + await fs.access(path, constants.F_OK); + + return true; + } catch { + return false; + } } diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index ae5dcfbff171..68ea6b69f82d 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -9,7 +9,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { getSystemPath, join, normalize } from '@angular-devkit/core'; import { Config, ConfigOptions } from 'karma'; -import { dirname, resolve } from 'path'; +import { resolve as fsResolve } from 'path'; import { Observable, from } from 'rxjs'; import { defaultIfEmpty, switchMap } from 'rxjs/operators'; import { Configuration } from 'webpack'; @@ -112,9 +112,22 @@ export function execute( } // prepend special webpack loader that will transform test.ts - if (options.include && options.include.length > 0) { - const mainFilePath = getSystemPath(join(normalize(context.workspaceRoot), options.main)); - const files = findTests(options.include, dirname(mainFilePath), context.workspaceRoot); + if (options.include?.length) { + const projectName = context.target?.project; + if (!projectName) { + throw new Error('The builder requires a target.'); + } + + const projectMetadata = await context.getProjectMetadata(projectName); + const projectSourceRoot = getSystemPath( + join( + normalize(context.workspaceRoot), + (projectMetadata.root as string | undefined) ?? '', + (projectMetadata.sourceRoot as string | undefined) ?? '', + ), + ); + + const files = await findTests(options.include, context.workspaceRoot, projectSourceRoot); // early exit, no reason to start karma if (!files.length) { throw new Error( @@ -131,7 +144,7 @@ export function execute( } rules.unshift({ - test: mainFilePath, + test: fsResolve(context.workspaceRoot, options.main), use: { // cannot be a simple path as it differs between environments loader: SingleTestTransformLoader, @@ -150,7 +163,7 @@ export function execute( }; const config = await karma.config.parseConfig( - resolve(context.workspaceRoot, options.karmaConfig), + fsResolve(context.workspaceRoot, options.karmaConfig), transforms.karmaOptions ? transforms.karmaOptions(karmaOptions) : karmaOptions, { promiseConfig: true, throwErrors: true }, ); diff --git a/packages/angular_devkit/build_angular/src/utils/is-directory.ts b/packages/angular_devkit/build_angular/src/utils/is-directory.ts deleted file mode 100644 index a048f3896060..000000000000 --- a/packages/angular_devkit/build_angular/src/utils/is-directory.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -// TODO: cleanup this file, it's copied as is from Angular CLI. - -import * as fs from 'fs'; - -export function isDirectory(path: string) { - try { - return fs.statSync(path).isDirectory(); - } catch (_) { - return false; - } -} From 6df962c7a40bdb1e595fa40837fc6af80dc865f4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 25 Jan 2022 17:29:08 +0100 Subject: [PATCH 0027/1388] refactor: remove build-optimizer from repo This package is deprecated and should not be used. It has always been experimental. All the relevant functionality has been moved into `@angular-devkit/build-angular`. --- .monorepo.json | 10 - CONTRIBUTING.md | 1 - README.md | 1 - bin/build-optimizer | 15 - constants.bzl | 1 - package.json | 1 - .../src/builders/browser/schema.json | 2 +- .../build_optimizer/BUILD.bazel | 87 -- .../angular_devkit/build_optimizer/README.md | 239 ----- .../build_optimizer/package.json | 27 - .../src/build-optimizer/build-optimizer.ts | 134 --- .../build-optimizer/build-optimizer_spec.ts | 342 ------- .../src/build-optimizer/cli.ts | 50 - .../src/build-optimizer/rollup-plugin.ts | 66 -- .../src/build-optimizer/webpack-loader.ts | 90 -- .../src/build-optimizer/webpack-plugin.ts | 36 - .../build_optimizer/src/helpers/ast-utils.ts | 73 -- .../src/helpers/transform-javascript.ts | 213 ----- .../build_optimizer/src/index.ts | 35 - .../src/transforms/prefix-classes.ts | 218 ----- .../src/transforms/prefix-classes_spec.ts | 359 ------- .../src/transforms/prefix-functions.ts | 111 --- .../src/transforms/prefix-functions_spec.ts | 212 ---- .../src/transforms/scrub-file.ts | 614 ------------ .../src/transforms/scrub-file_spec.ts | 903 ------------------ .../src/transforms/wrap-enums.ts | 459 --------- .../src/transforms/wrap-enums_spec.ts | 653 ------------- .../webpack-loader/package.json | 3 - packages/circular-deps-test.conf.js | 4 +- tsconfig.json | 1 - 30 files changed, 2 insertions(+), 4958 deletions(-) delete mode 100755 bin/build-optimizer delete mode 100644 packages/angular_devkit/build_optimizer/BUILD.bazel delete mode 100644 packages/angular_devkit/build_optimizer/README.md delete mode 100644 packages/angular_devkit/build_optimizer/package.json delete mode 100644 packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/index.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts delete mode 100644 packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts delete mode 100644 packages/angular_devkit/build_optimizer/webpack-loader/package.json diff --git a/.monorepo.json b/.monorepo.json index 7faf7aaa3c40..38c61245d990 100644 --- a/.monorepo.json +++ b/.monorepo.json @@ -79,16 +79,6 @@ "name": "Benchmark", "section": "Tooling" }, - "@angular-devkit/build-optimizer": { - "name": "Build Optimizer", - "links": [ - { - "label": "README", - "url": "/packages/angular_devkit/build_optimizer/README.md" - } - ], - "snapshotRepo": "angular/angular-devkit-build-optimizer-builds" - }, "@angular-devkit/build-angular": { "name": "Build Angular", "links": [ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bebb81df176a..56b0d433819a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -217,7 +217,6 @@ The following is the list of supported scopes: * **@angular-devkit/architect-cli** * **@angular-devkit/benchmark** * **@angular-devkit/build-angular** -* **@angular-devkit/build-optimizer** * **@angular-devkit/build-webpack** * **@angular-devkit/core** * **@angular-devkit/schematics** diff --git a/README.md b/README.md index 4bae010dfd5a..4b83db4fafbb 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,6 @@ This is a monorepo which contains many tools and packages: |---|---|---|---| **Architect** | [`@angular-devkit/architect`](https://npmjs.com/package/@angular-devkit/architect) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Farchitect/latest.svg)](https://npmjs.com/package/@angular-devkit/architect) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/architect/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-architect-builds) **Build Angular** | [`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fbuild-angular/latest.svg)](https://npmjs.com/package/@angular-devkit/build-angular) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/build_angular/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-build-angular-builds) -**Build Optimizer** | [`@angular-devkit/build-optimizer`](https://npmjs.com/package/@angular-devkit/build-optimizer) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fbuild-optimizer/latest.svg)](https://npmjs.com/package/@angular-devkit/build-optimizer) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/build_optimizer/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-build-optimizer-builds) **Build Webpack** | [`@angular-devkit/build-webpack`](https://npmjs.com/package/@angular-devkit/build-webpack) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fbuild-webpack/latest.svg)](https://npmjs.com/package/@angular-devkit/build-webpack) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/build_webpack/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-build-webpack-builds) **Core** | [`@angular-devkit/core`](https://npmjs.com/package/@angular-devkit/core) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fcore/latest.svg)](https://npmjs.com/package/@angular-devkit/core) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/core/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-core-builds) **Schematics** | [`@angular-devkit/schematics`](https://npmjs.com/package/@angular-devkit/schematics) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fschematics/latest.svg)](https://npmjs.com/package/@angular-devkit/schematics) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/schematics/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-schematics-builds) diff --git a/bin/build-optimizer b/bin/build-optimizer deleted file mode 100755 index 7b784140fbd3..000000000000 --- a/bin/build-optimizer +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env node -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -'use strict'; - - -require('../lib/bootstrap-local'); -const packages = require('../lib/packages').packages; -require(packages['@angular-devkit/build-optimizer'].bin['build-optimizer']); diff --git a/constants.bzl b/constants.bzl index 014939d0f619..128486a28011 100644 --- a/constants.bzl +++ b/constants.bzl @@ -8,7 +8,6 @@ SNAPSHOT_REPOS = { "@angular/pwa": "angular/angular-pwa-builds", "@angular-devkit/architect": "angular/angular-devkit-architect-builds", "@angular-devkit/architect-cli": "angular/angular-devkit-architect-cli-builds", - "@angular-devkit/build-optimizer": "angular/angular-devkit-build-optimizer-builds", "@angular-devkit/build-angular": "angular/angular-devkit-build-angular-builds", "@angular-devkit/build-webpack": "angular/angular-devkit-build-webpack-builds", "@angular-devkit/core": "angular/angular-devkit-core-builds", diff --git a/package.json b/package.json index 524569583dbf..cda9291417d0 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "bin": { "architect": "./bin/architect", "benchmark": "./bin/benchmark", - "build-optimizer": "./bin/build-optimizer", "devkit-admin": "./bin/devkit-admin", "ng": "./bin/ng", "schematics": "./bin/schematics" diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 4e15f47faa9f..3be6b363d425 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -281,7 +281,7 @@ }, "buildOptimizer": { "type": "boolean", - "description": "Enables '@angular-devkit/build-optimizer' optimizations when using the 'aot' option.", + "description": "Enables advanced build optimizations when using the 'aot' option.", "default": true }, "namedChunks": { diff --git a/packages/angular_devkit/build_optimizer/BUILD.bazel b/packages/angular_devkit/build_optimizer/BUILD.bazel deleted file mode 100644 index eafe852cb896..000000000000 --- a/packages/angular_devkit/build_optimizer/BUILD.bazel +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright Google Inc. All Rights Reserved. -# -# Use of this source code is governed by an MIT-style license that can be -# found in the LICENSE file at https://angular.io/license - -load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") -load("//tools:defaults.bzl", "pkg_npm", "ts_library") -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") - -licenses(["notice"]) # MIT - -package(default_visibility = ["//visibility:public"]) - -ts_library( - name = "build_optimizer", - package_name = "@angular-devkit/build-optimizer", - srcs = glob( - include = ["src/**/*.ts"], - exclude = [ - "src/**/*_spec.ts", - "src/**/*_benchmark.ts", - ], - ), - data = [ - "package.json", - "webpack-loader/package.json", - ], - module_name = "@angular-devkit/build-optimizer", - module_root = "src/index.d.ts", - deps = [ - "@npm//@types/node", - "@npm//source-map", - "@npm//tslib", - "@npm//typescript", - "@npm//webpack", - ], -) - -ts_library( - name = "build_optimizer_test_lib", - testonly = True, - srcs = glob(["src/**/*_spec.ts"]), - # @external_begin - deps = [ - ":build_optimizer", - "//packages/angular_devkit/core", - "@npm//source-map", - "@npm//typescript", - ], - # @external_end -) - -jasmine_node_test( - name = "build_optimizer_test", - srcs = [":build_optimizer_test_lib"], - deps = [ - "@npm//jasmine", - "@npm//source-map", - ], -) - -genrule( - name = "license", - srcs = ["//:LICENSE"], - outs = ["LICENSE"], - cmd = "cp $(execpath //:LICENSE) $@", -) - -pkg_npm( - name = "npm_package", - deps = [ - ":README.md", - ":build_optimizer", - ":license", - ":webpack-loader/package.json", - ], -) - -api_golden_test_npm_package( - name = "build_optimizer_api", - data = [ - ":npm_package", - "//goldens:public-api", - ], - golden_dir = "angular_cli/goldens/public-api/angular_devkit/build_optimizer", - npm_package = "angular_cli/packages/angular_devkit/build_optimizer/npm_package", -) diff --git a/packages/angular_devkit/build_optimizer/README.md b/packages/angular_devkit/build_optimizer/README.md deleted file mode 100644 index 8002ffca1225..000000000000 --- a/packages/angular_devkit/build_optimizer/README.md +++ /dev/null @@ -1,239 +0,0 @@ -# Angular Build Optimizer - -Angular Build Optimizer contains Angular optimizations applicable to JavaScript code as a TypeScript transform pipeline. - -This package is **deprecated** and should not be used. It has always been experimental (never hit -`1.0.0`) and was an internal package for the Angular CLI. All the relevant functionality has been -moved into -[`@angular-devkit/build-angular`](https://npmjs.com/package/@angular-devkit/build-angular). - -## Available optimizations - -Transformations applied depend on file content: - -- [Class fold](#class-fold), [Scrub file](#scrub-file) and [Prefix functions](#prefix-functions): applied to Angular apps and libraries. -- [Import tslib](#import-tslib): applied when TypeScript helpers are found. - -Some of these optimizations add `/*@__PURE__*/` comments. -These are used by JS optimization tools to identify pure functions that can potentially be dropped. - -### Class fold - -Static properties are folded into ES5 classes: - -```typescript -// input -var Clazz = (function () { - function Clazz() {} - return Clazz; -})(); -Clazz.prop = 1; - -// output -var Clazz = (function () { - function Clazz() {} - Clazz.prop = 1; - return Clazz; -})(); -``` - -### Scrub file - -Angular decorators, property decorators and constructor parameters are removed, while leaving non-Angular ones intact. - -```typescript -// input -import { Injectable, Input, Component } from '@angular/core'; -import { NotInjectable, NotComponent, NotInput } from 'another-lib'; -var Clazz = (function () { - function Clazz() {} - return Clazz; -})(); -Clazz.decorators = [{ type: Injectable }, { type: NotInjectable }]; -Clazz.propDecorators = { 'ngIf': [{ type: Input }] }; -Clazz.ctorParameters = function () { - return [{ type: Injector }]; -}; -var ComponentClazz = (function () { - function ComponentClazz() {} - __decorate([Input(), __metadata('design:type', Object)], Clazz.prototype, 'selected', void 0); - __decorate( - [NotInput(), __metadata('design:type', Object)], - Clazz.prototype, - 'notSelected', - void 0, - ); - ComponentClazz = __decorate( - [ - NotComponent(), - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'], - }), - ], - ComponentClazz, - ); - return ComponentClazz; -})(); - -// output -import { Injectable, Input, Component } from '@angular/core'; -import { NotInjectable, NotComponent } from 'another-lib'; -var Clazz = (function () { - function Clazz() {} - return Clazz; -})(); -Clazz.decorators = [{ type: NotInjectable }]; -var ComponentClazz = (function () { - function ComponentClazz() {} - __decorate( - [NotInput(), __metadata('design:type', Object)], - Clazz.prototype, - 'notSelected', - void 0, - ); - ComponentClazz = __decorate([NotComponent()], ComponentClazz); - return ComponentClazz; -})(); -``` - -### Prefix functions - -Adds `/*@__PURE__*/` comments to top level downleveled class declarations and instantiation. - -Warning: this transform assumes the file is a pure module. It should not be used with unpure modules. - -```typescript -// input -var Clazz = (function () { - function Clazz() {} - return Clazz; -})(); -var newClazz = new Clazz(); -var newClazzTwo = Clazz(); - -// output -var Clazz = /*@__PURE__*/ (function () { - function Clazz() {} - return Clazz; -})(); -var newClazz = /*@__PURE__*/ new Clazz(); -var newClazzTwo = /*@__PURE__*/ Clazz(); -``` - -### Prefix Classes - -Adds `/*@__PURE__*/` to downleveled TypeScript classes. - -```typescript -// input -var ReplayEvent = (function () { - function ReplayEvent(time, value) { - this.time = time; - this.value = value; - } - return ReplayEvent; -})(); - -// output -var ReplayEvent = /*@__PURE__*/ (function () { - function ReplayEvent(time, value) { - this.time = time; - this.value = value; - } - return ReplayEvent; -})(); -``` - -### Import tslib - -TypeScript helpers (`__extends/__decorate/__metadata/__param`) are replaced with `tslib` imports whenever found. - -```typescript -// input -var __extends = - (this && this.__extends) || - function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __()); - }; - -// output -import { __extends } from 'tslib'; -``` - -### Wrap enums - -Wrap downleveled TypeScript enums in a function, and adds `/*@__PURE__*/` comment. - -```typescript -// input -var ChangeDetectionStrategy; -(function (ChangeDetectionStrategy) { - ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush'; - ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default'; -})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {})); - -// output -var ChangeDetectionStrategy = /*@__PURE__*/ (function () { - var ChangeDetectionStrategy = {}; - ChangeDetectionStrategy[(ChangeDetectionStrategy['OnPush'] = 0)] = 'OnPush'; - ChangeDetectionStrategy[(ChangeDetectionStrategy['Default'] = 1)] = 'Default'; - return ChangeDetectionStrategy; -})(); -``` - -## Library Usage - -```typescript -import { buildOptimizer } from '@angular-devkit/build-optimizer'; - -const transpiledContent = buildOptimizer({ content: input }).content; -``` - -Available options: - -```typescript -export interface BuildOptimizerOptions { - content?: string; - inputFilePath?: string; - outputFilePath?: string; - emitSourceMap?: boolean; - strict?: boolean; - isSideEffectFree?: boolean; -} -``` - -## Webpack loader usage: - -```typescript -import { BuildOptimizerWebpackPlugin } from '@angular-devkit/build-optimizer'; - -module.exports = { - plugins: [ - new BuildOptimizerWebpackPlugin(), - ] - module: { - rules: [ - { - test: /\.js$/, - loader: '@angular-devkit/build-optimizer/webpack-loader', - options: { - sourceMap: false - } - } - ] - } -} -``` - -## CLI usage - -```bash -build-optimizer input.js -build-optimizer input.js output.js -``` diff --git a/packages/angular_devkit/build_optimizer/package.json b/packages/angular_devkit/build_optimizer/package.json deleted file mode 100644 index 4d7ea7a06693..000000000000 --- a/packages/angular_devkit/build_optimizer/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@angular-devkit/build-optimizer", - "version": "0.0.0-EXPERIMENTAL-PLACEHOLDER", - "description": "Angular Build Optimizer", - "experimental": true, - "main": "src/index.js", - "typings": "src/index.d.ts", - "bin": { - "build-optimizer": "./src/build-optimizer/cli.js" - }, - "dependencies": { - "source-map": "0.7.3", - "tslib": "2.3.1", - "typescript": "4.5.5" - }, - "peerDependencies": { - "webpack": "^5.30.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - }, - "devDependencies": { - "webpack": "5.67.0" - } -} diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts deleted file mode 100644 index 42baa78d38ec..000000000000 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer.ts +++ /dev/null @@ -1,134 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { readFileSync } from 'fs'; -import { - TransformJavascriptOptions, - TransformJavascriptOutput, - TransformerFactoryCreator, - transformJavascript, -} from '../helpers/transform-javascript'; -import { getPrefixClassesTransformer, testPrefixClasses } from '../transforms/prefix-classes'; -import { getPrefixFunctionsTransformer } from '../transforms/prefix-functions'; -import { createScrubFileTransformerFactory, testScrubFile } from '../transforms/scrub-file'; -import { getWrapEnumsTransformer } from '../transforms/wrap-enums'; - -// Angular packages are known to have no side effects. -const knownSideEffectFreeAngularModules = [ - /[\\/]node_modules[\\/]@angular[\\/]animations[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]common[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]compiler[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]core[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]forms[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]http[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]platform-browser-dynamic[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]platform-browser[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]platform-webworker-dynamic[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]platform-webworker[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]router[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]upgrade[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]material[\\/]/, - /[\\/]node_modules[\\/]@angular[\\/]cdk[\\/]/, - /[\\/]node_modules[\\/]rxjs[\\/]/, -]; - -// Known locations for the source files of @angular/core. -const coreFilesRegex = /[\\/]node_modules[\\/]@angular[\\/]core[\\/][f]?esm2015[\\/]/; - -function isKnownCoreFile(filePath: string) { - return coreFilesRegex.test(filePath); -} - -function isKnownSideEffectFree(filePath: string) { - // rxjs add imports contain intentional side effects - if (/[\\/]node_modules[\\/]rxjs[\\/]add[\\/]/.test(filePath)) { - return false; - } - - return knownSideEffectFreeAngularModules.some((re) => re.test(filePath)); -} - -export interface BuildOptimizerOptions { - content?: string; - originalFilePath?: string; - inputFilePath?: string; - outputFilePath?: string; - emitSourceMap?: boolean; - strict?: boolean; - isSideEffectFree?: boolean; - isAngularCoreFile?: boolean; -} - -export function buildOptimizer(options: BuildOptimizerOptions): TransformJavascriptOutput { - const { inputFilePath } = options; - let { originalFilePath, content, isAngularCoreFile } = options; - - if (!originalFilePath && inputFilePath) { - originalFilePath = inputFilePath; - } - - if (!inputFilePath && content === undefined) { - throw new Error('Either filePath or content must be specified in options.'); - } - - if (content === undefined) { - content = readFileSync(inputFilePath as string, 'UTF-8'); - } - - if (!content) { - return { - content: null, - sourceMap: null, - emitSkipped: true, - }; - } - - if (isAngularCoreFile === undefined) { - isAngularCoreFile = !!originalFilePath && isKnownCoreFile(originalFilePath); - } - - const hasSafeSideEffects = originalFilePath && isKnownSideEffectFree(originalFilePath); - - // Determine which transforms to apply. - const getTransforms: TransformerFactoryCreator[] = []; - - let typeCheck = false; - if (hasSafeSideEffects) { - // Angular modules have known safe side effects - getTransforms.push( - // getPrefixFunctionsTransformer is rather dangerous, apply only to known pure es5 modules. - // It will mark both `require()` calls and `console.log(stuff)` as pure. - // We only apply it to modules known to be side effect free, since we know they are safe. - getPrefixFunctionsTransformer, - ); - typeCheck = true; - } else if (testPrefixClasses(content)) { - // This is only relevant if prefix functions is not used since prefix functions will prefix IIFE wrapped classes. - getTransforms.unshift(getPrefixClassesTransformer); - } - - if (testScrubFile(content)) { - // Always test as these require the type checker - getTransforms.push(createScrubFileTransformerFactory(isAngularCoreFile)); - typeCheck = true; - } - - getTransforms.push(getWrapEnumsTransformer); - - const transformJavascriptOpts: TransformJavascriptOptions = { - content: content, - inputFilePath: options.inputFilePath, - outputFilePath: options.outputFilePath, - emitSourceMap: options.emitSourceMap, - strict: options.strict, - getTransforms, - typeCheck, - }; - - return transformJavascript(transformJavascriptOpts); -} diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts deleted file mode 100644 index cedf83bac194..000000000000 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/build-optimizer_spec.ts +++ /dev/null @@ -1,342 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { tags } from '@angular-devkit/core'; -import { RawSourceMap } from 'source-map'; -import { TransformJavascriptOutput } from '../helpers/transform-javascript'; -import { buildOptimizer } from './build-optimizer'; - -describe('build-optimizer', () => { - const imports = ` - import { __decorate, __metadata } from "tslib"; - import { Injectable, Input, Component } from '@angular/core'; - `; - const clazz = 'var Clazz = (function () { function Clazz() { } return Clazz; }());'; - const decorators = 'Clazz.decorators = [ { type: Injectable } ];'; - - describe('basic functionality', () => { - it('applies scrub-file and prefix-functions to side-effect free modules', () => { - const input = tags.stripIndent` - ${imports} - var ChangeDetectionStrategy; - (function (ChangeDetectionStrategy) { - ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush"; - ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; - })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {})); - ${clazz} - ${decorators} - Clazz.propDecorators = { 'ngIf': [{ type: Input }] }; - Clazz.ctorParameters = function () { return [{type: Injectable}]; }; - var ComponentClazz = (function () { - function ComponentClazz() { } - __decorate([ - Input(), - __metadata("design:type", Object) - ], Clazz.prototype, "selected", void 0); - ComponentClazz = __decorate([ - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }), - __metadata("design:paramtypes", [Injectable]) - ], ComponentClazz); - return ComponentClazz; - }()); - var RenderType_MdOption = ɵcrt({ encapsulation: 2, styles: styles_MdOption}); - `; - const output = tags.oneLine` - ${imports} - var ChangeDetectionStrategy = /*@__PURE__*/ (function (ChangeDetectionStrategy) { - ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush"; - ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; - return ChangeDetectionStrategy; - })({}); - var Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }()); - var ComponentClazz = /*@__PURE__*/ (function () { - function ComponentClazz() { } - return ComponentClazz; - }()); - var RenderType_MdOption = /*@__PURE__*/ ɵcrt({ encapsulation: 2, styles: styles_MdOption }); - `; - - // Check Angular 4/5 and unix/windows paths. - const inputPaths = [ - '/node_modules/@angular/core/fesm2015/core.js', - '/node_modules/@angular/core/esm2015/core.js', - '\\node_modules\\@angular\\core\\fesm2015\\core.js', - '\\node_modules\\@angular\\core\\esm2015\\core.js', - ]; - - inputPaths.forEach((inputFilePath) => { - const boOutput = buildOptimizer({ content: input, inputFilePath }); - expect(tags.oneLine`${boOutput.content}`).toEqual(output); - expect(boOutput.emitSkipped).toEqual(false); - }); - }); - - it('should not add pure comments to tslib helpers', () => { - const input = tags.stripIndent` - class LanguageState { - } - - LanguageState.ctorParameters = () => [ - { type: TranslateService }, - { type: undefined, decorators: [{ type: Inject, args: [LANGUAGE_CONFIG,] }] } - ]; - - __decorate([ - Action(CheckLanguage), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], LanguageState.prototype, "checkLanguage", null); - `; - - const output = tags.oneLine` - let LanguageState = /*@__PURE__*/ (() => { - class LanguageState { - } - - __decorate([ - Action(CheckLanguage), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], LanguageState.prototype, "checkLanguage", null); - return LanguageState; - })(); - `; - - const boOutput = buildOptimizer({ content: input, isSideEffectFree: true }); - expect(tags.oneLine`${boOutput.content}`).toEqual(output); - expect(boOutput.emitSkipped).toEqual(false); - }); - - it('should not add pure comments to tslib helpers with $ and number suffix', () => { - const input = tags.stripIndent` - class LanguageState { - } - - LanguageState.ctorParameters = () => [ - { type: TranslateService }, - { type: undefined, decorators: [{ type: Inject, args: [LANGUAGE_CONFIG,] }] } - ]; - - __decorate$1([ - Action(CheckLanguage), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], LanguageState.prototype, "checkLanguage", null); - `; - - const output = tags.oneLine` - let LanguageState = /*@__PURE__*/ (() => { - class LanguageState { - } - - __decorate$1([ - Action(CheckLanguage), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], LanguageState.prototype, "checkLanguage", null); - return LanguageState; - })(); - `; - - const boOutput = buildOptimizer({ content: input, isSideEffectFree: true }); - expect(tags.oneLine`${boOutput.content}`).toEqual(output); - expect(boOutput.emitSkipped).toEqual(false); - }); - - it('should not wrap classes which had all static properties dropped in IIFE', () => { - const classDeclaration = tags.oneLine` - import { Injectable } from '@angular/core'; - - class Platform { - constructor(_doc) { - } - init() { - } - } - `; - const input = tags.oneLine` - ${classDeclaration} - - Platform.decorators = [ - { type: Injectable } - ]; - - /** @nocollapse */ - Platform.ctorParameters = () => [ - { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT] }] } - ]; - `; - - const boOutput = buildOptimizer({ content: input, isSideEffectFree: true }); - expect(tags.oneLine`${boOutput.content}`).toEqual(classDeclaration); - expect(boOutput.emitSkipped).toEqual(false); - }); - }); - - describe('resilience', () => { - it("doesn't process files with invalid syntax by default", () => { - const input = tags.oneLine` - ))))invalid syntax - ${clazz} - Clazz.decorators = [ { type: Injectable } ]; - `; - - const boOutput = buildOptimizer({ content: input }); - expect(boOutput.content).toBeFalsy(); - expect(boOutput.emitSkipped).toEqual(true); - }); - - it('throws on files with invalid syntax in strict mode', () => { - const input = tags.oneLine` - ))))invalid syntax - ${clazz} - Clazz.decorators = [ { type: Injectable } ]; - `; - - expect(() => buildOptimizer({ content: input, strict: true })).toThrow(); - }); - - // TODO: re-enable this test when updating to TypeScript >2.9.1. - // The `prefix-classes` tests will also need to be adjusted. - // See https://github.com/angular/devkit/pull/998#issuecomment-393867606 for more info. - xit(`doesn't exceed call stack size when type checking very big classes`, () => { - // BigClass with a thousand methods. - // Clazz is included with ctorParameters to trigger transforms with type checking. - const input = ` - var BigClass = /** @class */ (function () { - function BigClass() { - } - ${Array.from(new Array(1000)) - .map((_v, i) => `BigClass.prototype.method${i} = function () { return this.myVar; };`) - .join('\n')} - return BigClass; - }()); - ${clazz} - Clazz.ctorParameters = function () { return []; }; - `; - - let boOutput: TransformJavascriptOutput; - expect(() => { - boOutput = buildOptimizer({ content: input }); - expect(boOutput.emitSkipped).toEqual(false); - }).not.toThrow(); - }); - }); - - describe('known side effect free modules', () => { - // This statement is considered pure by getPrefixFunctionsTransformer on known side effect free - // modules. - const input = 'console.log(42);'; - const output = '/*@__PURE__*/ console.log(42);'; - - it('should process known side effect free modules', () => { - const inputFilePath = '/node_modules/@angular/core/@angular/core.es5.js'; - const boOutput = buildOptimizer({ content: input, inputFilePath }); - expect(boOutput.content).toContain(output); - expect(boOutput.emitSkipped).toEqual(false); - }); - - it('should not process modules which are not in the list of known side effect free modules', () => { - const inputFilePath = '/node_modules/other-package/core.es5.js'; - const boOutput = buildOptimizer({ content: input, inputFilePath }); - expect(boOutput.emitSkipped).toEqual(true); - }); - - it('should not process umd modules which are not in the list of known side effect free modules', () => { - const inputFilePath = '/node_modules/other_lib/index.js'; - const boOutput = buildOptimizer({ content: input, inputFilePath }); - expect(boOutput.emitSkipped).toEqual(true); - }); - }); - - describe('sourcemaps', () => { - const transformableInput = tags.oneLine` - ${imports} - ${clazz} - ${decorators} - `; - - it("doesn't produce sourcemaps by default", () => { - expect(buildOptimizer({ content: transformableInput }).sourceMap).toBeFalsy(); - }); - - it('produces sourcemaps', () => { - expect( - buildOptimizer({ content: transformableInput, emitSourceMap: true }).sourceMap, - ).toBeTruthy(); - }); - - // TODO: re-enable this test, it was temporarily disabled as part of - // https://github.com/angular/devkit/pull/842 - xit("doesn't produce sourcemaps when emitting was skipped", () => { - const ignoredInput = tags.oneLine` - var Clazz = (function () { function Clazz() { } return Clazz; }()); - `; - const invalidInput = tags.oneLine` - ))))invalid syntax - ${clazz} - Clazz.decorators = [ { type: Injectable } ]; - `; - - const ignoredOutput = buildOptimizer({ content: ignoredInput, emitSourceMap: true }); - expect(ignoredOutput.emitSkipped).toBeTruthy(); - expect(ignoredOutput.sourceMap).toBeFalsy(); - - const invalidOutput = buildOptimizer({ content: invalidInput, emitSourceMap: true }); - expect(invalidOutput.emitSkipped).toBeTruthy(); - expect(invalidOutput.sourceMap).toBeFalsy(); - }); - - it('emits sources content', () => { - const sourceMap = buildOptimizer({ content: transformableInput, emitSourceMap: true }) - .sourceMap as RawSourceMap; - const sourceContent = sourceMap.sourcesContent as string[]; - expect(sourceContent[0]).toEqual(transformableInput); - }); - - it('uses empty strings if inputFilePath and outputFilePath is not provided', () => { - const { content, sourceMap } = buildOptimizer({ - content: transformableInput, - emitSourceMap: true, - }); - - if (!sourceMap) { - throw new Error('sourceMap was not generated.'); - } - expect(sourceMap.file).toEqual(''); - expect(sourceMap.sources[0]).toEqual(''); - expect(content).not.toContain(`sourceMappingURL`); - }); - - it('uses inputFilePath and outputFilePath if provided', () => { - const inputFilePath = '/path/to/file.js'; - const outputFilePath = '/path/to/file.bo.js'; - const { content, sourceMap } = buildOptimizer({ - content: transformableInput, - emitSourceMap: true, - inputFilePath, - outputFilePath, - }); - - if (!sourceMap) { - throw new Error('sourceMap was not generated.'); - } - expect(sourceMap.file).toEqual(outputFilePath); - expect(sourceMap.sources[0]).toEqual(inputFilePath); - expect(content).toContain(`sourceMappingURL=${outputFilePath}.map`); - }); - }); -}); diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts deleted file mode 100644 index 6f413fd952ff..000000000000 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/cli.ts +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env node -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { writeFileSync } from 'fs'; -import { join } from 'path'; -import { buildOptimizer } from './build-optimizer'; - -/* eslint-disable no-console */ -if (process.argv.length < 3 || process.argv.length > 4) { - throw new Error(` - build-optimizer should be called with either one or two arguments: - - build-optimizer input.js - build-optimizer input.js output.js - `); -} - -const currentDir = process.cwd(); - -const inputFile = process.argv[2]; -const tsOrJsRegExp = /\.(j|t)s$/; - -if (!inputFile.match(tsOrJsRegExp)) { - throw new Error(`Input file must be .js or .ts.`); -} - -// Use provided output file, or add the .bo suffix before the extension. -const outputFile = process.argv[3] || inputFile.replace(tsOrJsRegExp, (subStr) => `.bo${subStr}`); - -const boOutput = buildOptimizer({ - inputFilePath: join(currentDir, inputFile), - outputFilePath: join(currentDir, outputFile), - emitSourceMap: true, -}); - -if (boOutput.emitSkipped) { - console.log('Nothing to emit.'); -} else { - writeFileSync(join(currentDir, outputFile), boOutput.content); - writeFileSync(join(currentDir, `${outputFile}.map`), JSON.stringify(boOutput.sourceMap)); - console.log('Emitted:'); - console.log(` ${outputFile}`); - console.log(` ${outputFile}.map`); -} diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts deleted file mode 100644 index d3497c11f504..000000000000 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/rollup-plugin.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** - * @fileoverview This adapts the buildOptimizer to run over each file as it is - * processed by Rollup. We must do this since buildOptimizer expects to see the - * ESModules in the input sources, and therefore cannot run on the rollup output - */ - -import * as path from 'path'; -import { RawSourceMap } from 'source-map'; -import { buildOptimizer } from './build-optimizer'; - -const DEBUG = false; - -export interface Options { - sideEffectFreeModules?: string[]; - angularCoreModules?: string[]; -} - -export default function optimizer(options: Options) { - // Normalize paths for comparison. - if (options.sideEffectFreeModules) { - options.sideEffectFreeModules = options.sideEffectFreeModules.map((p) => p.replace(/\\/g, '/')); - } - - return { - name: 'build-optimizer', - transform: (content: string, id: string): { code: string; map: RawSourceMap } | null => { - const normalizedId = id.replace(/\\/g, '/'); - const isSideEffectFree = - options.sideEffectFreeModules && - options.sideEffectFreeModules.some((m) => normalizedId.indexOf(m) >= 0); - const isAngularCoreFile = - options.angularCoreModules && - options.angularCoreModules.some((m) => normalizedId.indexOf(m) >= 0); - const { content: code, sourceMap: map } = buildOptimizer({ - content, - inputFilePath: id, - emitSourceMap: true, - isSideEffectFree, - isAngularCoreFile, - }); - if (!code) { - if (DEBUG) { - // eslint-disable-next-line no-console - console.error( - 'no transforms produced by buildOptimizer for ' + path.relative(process.cwd(), id), - ); - } - - return null; - } - if (!map) { - throw new Error('no sourcemap produced by buildOptimizer'); - } - - return { code, map }; - }, - }; -} diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts deleted file mode 100644 index e8ea09bfd342..000000000000 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-loader.ts +++ /dev/null @@ -1,90 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { RawSourceMap } from 'source-map'; -import { sources } from 'webpack'; -import { buildOptimizer } from './build-optimizer'; - -interface BuildOptimizerLoaderOptions { - sourceMap: boolean; -} - -export const buildOptimizerLoaderPath = __filename; - -const alwaysProcess = (path: string) => path.endsWith('.ts') || path.endsWith('.tsx'); - -export default function buildOptimizerLoader( - // Webpack 5 does not provide a LoaderContext type - this: { - resourcePath: string; - _module: { factoryMeta: { skipBuildOptimizer?: boolean; sideEffectFree?: boolean } }; - cacheable(): void; - callback(error?: Error | null, content?: string, sourceMap?: unknown): void; - getOptions(): unknown; - }, - content: string, - previousSourceMap: RawSourceMap, -) { - this.cacheable(); - - const skipBuildOptimizer = - this._module && this._module.factoryMeta && this._module.factoryMeta.skipBuildOptimizer; - - if (!alwaysProcess(this.resourcePath) && skipBuildOptimizer) { - // Skip loading processing this file with Build Optimizer if we determined in - // BuildOptimizerWebpackPlugin that we shouldn't. - this.callback(null, content, previousSourceMap); - - return; - } - - const options = (this.getOptions() || {}) as BuildOptimizerLoaderOptions; - - const boOutput = buildOptimizer({ - content, - originalFilePath: this.resourcePath, - inputFilePath: this.resourcePath, - outputFilePath: this.resourcePath, - emitSourceMap: options.sourceMap, - isSideEffectFree: - this._module && this._module.factoryMeta && this._module.factoryMeta.sideEffectFree, - }); - - if (boOutput.emitSkipped || boOutput.content === null) { - this.callback(null, content, previousSourceMap); - - return; - } - - const intermediateSourceMap = boOutput.sourceMap; - let newContent = boOutput.content; - - let newSourceMap; - - if (options.sourceMap && intermediateSourceMap) { - // Webpack doesn't need sourceMappingURL since we pass them on explicitely. - newContent = newContent.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''); - - if (previousSourceMap) { - // Use http://sokra.github.io/source-map-visualization/ to validate sourcemaps make sense. - newSourceMap = new sources.SourceMapSource( - newContent, - this.resourcePath, - intermediateSourceMap, - content, - previousSourceMap, - true, - ).map(); - } else { - // Otherwise just return our generated sourcemap. - newSourceMap = intermediateSourceMap; - } - } - - this.callback(null, newContent, newSourceMap); -} diff --git a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts b/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts deleted file mode 100644 index 25d52de89a74..000000000000 --- a/packages/angular_devkit/build_optimizer/src/build-optimizer/webpack-plugin.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import type { Compiler, Module } from 'webpack'; - -interface ModuleData { - resourceResolveData?: { descriptionFileData?: { typings?: string } }; -} - -export class BuildOptimizerWebpackPlugin { - apply(compiler: Compiler) { - compiler.hooks.normalModuleFactory.tap('BuildOptimizerWebpackPlugin', (nmf) => { - nmf.hooks.module.tap('BuildOptimizerWebpackPlugin', (module: Module, data: ModuleData) => { - if (data.resourceResolveData?.descriptionFileData) { - // Only TS packages should use Build Optimizer. - // Notes: - // - a TS package might not have defined typings but still use .d.ts files next to their - // .js files. We don't cover that case because the Angular Package Format (APF) calls for - // using the Typings field and Build Optimizer is geared towards APF. Maybe we could - // provide configuration options to the plugin to cover that case if there's demand. - // - a JS-only package that also happens to provides typings will also be flagged by this - // check. Not sure there's a good way to skip those. - const skipBuildOptimizer = !data.resourceResolveData.descriptionFileData.typings; - module.factoryMeta = { ...module.factoryMeta, skipBuildOptimizer }; - } - - return module; - }); - }); - } -} diff --git a/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts b/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts deleted file mode 100644 index d7f01ef96a78..000000000000 --- a/packages/angular_devkit/build_optimizer/src/helpers/ast-utils.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as tslib from 'tslib'; -import * as ts from 'typescript'; - -const pureFunctionComment = '@__PURE__'; - -// We include only exports that start with '__' because tslib helpers -// all start with a suffix of two underscores. -const tslibHelpers = new Set(Object.keys(tslib).filter((h) => h.startsWith('__'))); - -// Find all nodes from the AST in the subtree of node of SyntaxKind kind. -export function collectDeepNodes(node: ts.Node, kind: ts.SyntaxKind): T[] { - const nodes: T[] = []; - const helper = (child: ts.Node) => { - if (child.kind === kind) { - nodes.push(child as T); - } - ts.forEachChild(child, helper); - }; - ts.forEachChild(node, helper); - - return nodes; -} - -export function addPureComment(node: T): T { - return ts.addSyntheticLeadingComment( - node, - ts.SyntaxKind.MultiLineCommentTrivia, - pureFunctionComment, - false, - ); -} - -export function hasPureComment(node: ts.Node): boolean { - if (!node) { - return false; - } - - const leadingComment = ts.getSyntheticLeadingComments(node); - - return !!leadingComment && leadingComment.some((comment) => comment.text === pureFunctionComment); -} - -export function isHelperName(name: string): boolean { - return tslibHelpers.has(name); -} - -/** - * In FESM's when not using `importHelpers` there might be multiple in the same file. - @example - ``` - var __decorate$1 = ''; - var __decorate$2 = ''; - ``` - * @returns Helper name without the '$' and number suffix or `undefined` if it's not a helper. - */ -export function getCleanHelperName(name: string): string | undefined { - const parts = name.split('$'); - const cleanName = parts[0]; - - if (parts.length > 2 || (parts.length === 2 && isNaN(+parts[1]))) { - return undefined; - } - - return isHelperName(cleanName) ? cleanName : undefined; -} diff --git a/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts b/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts deleted file mode 100644 index 1008abfad5cc..000000000000 --- a/packages/angular_devkit/build_optimizer/src/helpers/transform-javascript.ts +++ /dev/null @@ -1,213 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { RawSourceMap } from 'source-map'; -import * as ts from 'typescript'; - -export type TransformerFactoryCreator = ( - program?: ts.Program, -) => ts.TransformerFactory; - -export interface TransformJavascriptOptions { - content: string; - inputFilePath?: string; - outputFilePath?: string; - emitSourceMap?: boolean; - strict?: boolean; - typeCheck?: boolean; - getTransforms: TransformerFactoryCreator[]; -} - -export interface TransformJavascriptOutput { - content: string | null; - sourceMap: RawSourceMap | null; - emitSkipped: boolean; -} - -interface DiagnosticSourceFile extends ts.SourceFile { - readonly parseDiagnostics?: ReadonlyArray; -} - -function validateDiagnostics(diagnostics: ReadonlyArray, strict?: boolean): boolean { - // Print error diagnostics. - - const hasError = diagnostics.some((diag) => diag.category === ts.DiagnosticCategory.Error); - if (hasError) { - // Throw only if we're in strict mode, otherwise return original content. - if (strict) { - const errorMessages = ts.formatDiagnostics(diagnostics, { - getCurrentDirectory: () => ts.sys.getCurrentDirectory(), - getNewLine: () => ts.sys.newLine, - getCanonicalFileName: (f: string) => f, - }); - - throw new Error(` - TS failed with the following error messages: - - ${errorMessages} - `); - } else { - return false; - } - } - - return true; -} - -export function transformJavascript( - options: TransformJavascriptOptions, -): TransformJavascriptOutput { - const { content, getTransforms, emitSourceMap, inputFilePath, outputFilePath, strict } = options; - - // Bail if there's no transform to do. - if (getTransforms.length === 0) { - return { - content: null, - sourceMap: null, - emitSkipped: true, - }; - } - - const allowFastPath = options.typeCheck === false && !emitSourceMap; - const outputs = new Map(); - const tempFilename = 'bo-default-file.js'; - const tempSourceFile = ts.createSourceFile( - tempFilename, - content, - ts.ScriptTarget.Latest, - allowFastPath, - ); - const parseDiagnostics = (tempSourceFile as DiagnosticSourceFile).parseDiagnostics; - - const tsOptions: ts.CompilerOptions = { - // We target latest so that there is no downleveling. - target: ts.ScriptTarget.Latest, - isolatedModules: true, - suppressOutputPathCheck: true, - allowNonTsExtensions: true, - noLib: true, - noResolve: true, - sourceMap: emitSourceMap, - inlineSources: emitSourceMap, - inlineSourceMap: false, - }; - - if (allowFastPath && parseDiagnostics) { - if (!validateDiagnostics(parseDiagnostics, strict)) { - return { - content: null, - sourceMap: null, - emitSkipped: true, - }; - } - - // All fast path transformers do not use a program - const transforms = getTransforms.map((getTf) => getTf(/* program */ undefined)); - - const result = ts.transform(tempSourceFile, transforms, tsOptions); - if (result.transformed.length === 0 || result.transformed[0] === tempSourceFile) { - return { - content: null, - sourceMap: null, - emitSkipped: true, - }; - } - - const printer = ts.createPrinter(undefined, { - onEmitNode: result.emitNodeWithNotification, - substituteNode: result.substituteNode, - }); - - const output = printer.printFile(result.transformed[0]); - - result.dispose(); - - return { - content: output, - sourceMap: null, - emitSkipped: false, - }; - } - - const host: ts.CompilerHost = { - getSourceFile: (fileName) => { - if (fileName !== tempFilename) { - throw new Error(`File ${fileName} does not have a sourceFile.`); - } - - return tempSourceFile; - }, - getDefaultLibFileName: () => 'lib.d.ts', - getCurrentDirectory: () => '', - getDirectories: () => [], - getCanonicalFileName: (fileName) => fileName, - useCaseSensitiveFileNames: () => true, - getNewLine: () => '\n', - fileExists: (fileName) => fileName === tempFilename, - readFile: (_fileName) => '', - writeFile: (fileName, text) => outputs.set(fileName, text), - }; - - const program = ts.createProgram([tempFilename], tsOptions, host); - - const diagnostics = program.getSyntacticDiagnostics(tempSourceFile); - if (!validateDiagnostics(diagnostics, strict)) { - return { - content: null, - sourceMap: null, - emitSkipped: true, - }; - } - - // We need the checker inside transforms. - const transforms = getTransforms.map((getTf) => getTf(program)); - - program.emit(undefined, undefined, undefined, undefined, { before: transforms, after: [] }); - - let transformedContent = outputs.get(tempFilename); - - if (!transformedContent) { - return { - content: null, - sourceMap: null, - emitSkipped: true, - }; - } - - let sourceMap: RawSourceMap | null = null; - const tsSourceMap = outputs.get(`${tempFilename}.map`); - - if (emitSourceMap && tsSourceMap) { - const urlRegExp = /^\/\/# sourceMappingURL=[^\r\n]*/gm; - sourceMap = JSON.parse(tsSourceMap) as RawSourceMap; - // Fix sourcemaps file references. - if (outputFilePath) { - sourceMap.file = outputFilePath; - transformedContent = transformedContent.replace( - urlRegExp, - `//# sourceMappingURL=${sourceMap.file}.map\n`, - ); - if (inputFilePath) { - sourceMap.sources = [inputFilePath]; - } else { - sourceMap.sources = ['']; - } - } else { - // TODO: figure out if we should inline sources here. - transformedContent = transformedContent.replace(urlRegExp, ''); - sourceMap.file = ''; - sourceMap.sources = ['']; - } - } - - return { - content: transformedContent, - sourceMap, - emitSkipped: false, - }; -} diff --git a/packages/angular_devkit/build_optimizer/src/index.ts b/packages/angular_devkit/build_optimizer/src/index.ts deleted file mode 100644 index 56c257a3a78a..000000000000 --- a/packages/angular_devkit/build_optimizer/src/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as ts from 'typescript'; -import { createScrubFileTransformerFactory } from './transforms/scrub-file'; - -export { - default as buildOptimizerLoader, - buildOptimizerLoaderPath, -} from './build-optimizer/webpack-loader'; -export { BuildOptimizerWebpackPlugin } from './build-optimizer/webpack-plugin'; -export { buildOptimizer } from './build-optimizer/build-optimizer'; - -export { transformJavascript } from './helpers/transform-javascript'; - -export { getPrefixClassesTransformer } from './transforms/prefix-classes'; -export { getPrefixFunctionsTransformer } from './transforms/prefix-functions'; -export { getWrapEnumsTransformer } from './transforms/wrap-enums'; - -export function getScrubFileTransformer( - program?: ts.Program, -): ts.TransformerFactory { - return createScrubFileTransformerFactory(false)(program); -} - -export function getScrubFileTransformerForCore( - program?: ts.Program, -): ts.TransformerFactory { - return createScrubFileTransformerFactory(true)(program); -} diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts deleted file mode 100644 index f897caf97171..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes.ts +++ /dev/null @@ -1,218 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as ts from 'typescript'; -import { addPureComment } from '../helpers/ast-utils'; - -export function testPrefixClasses(content: string) { - const exportVarSetter = /(?:export )?(?:var|const)\s+(?:\S+)\s*=\s*/; - const multiLineComment = /\s*(?:\/\*[\s\S]*?\*\/)?\s*/; - const newLine = /\s*\r?\n\s*/; - - const regexes = [ - [ - /^/, - exportVarSetter, - multiLineComment, - /\(/, - multiLineComment, - /\s*function \(\) {/, - newLine, - multiLineComment, - /function (?:\S+)\([^)]*\) \{/, - newLine, - ], - [ - /^/, - exportVarSetter, - multiLineComment, - /\(/, - multiLineComment, - /\s*function \(_super\) {/, - newLine, - /\S*\.?__extends\(\S+, _super\);/, - ], - ].map((arr) => new RegExp(arr.map((x) => x.source).join(''), 'm')); - - return regexes.some((regex) => regex.test(content)); -} - -const superParameterName = '_super'; -const extendsHelperName = '__extends'; - -export function getPrefixClassesTransformer(): ts.TransformerFactory { - return (context: ts.TransformationContext): ts.Transformer => { - const transformer: ts.Transformer = (sf: ts.SourceFile) => { - const visitor: ts.Visitor = (node: ts.Node): ts.VisitResult => { - // Add pure comment to downleveled classes. - if (ts.isVariableStatement(node) && isDownleveledClass(node)) { - const varDecl = node.declarationList.declarations[0]; - const varInitializer = varDecl.initializer as ts.Expression; - - // Update node with the pure comment before the variable declaration initializer. - const newNode = ts.updateVariableStatement( - node, - node.modifiers, - ts.updateVariableDeclarationList(node.declarationList, [ - ts.updateVariableDeclaration( - varDecl, - varDecl.name, - varDecl.type, - addPureComment(varInitializer), - ), - ]), - ); - - // Replace node with modified one. - return ts.visitEachChild(newNode, visitor, context); - } - - // Otherwise return node as is. - return ts.visitEachChild(node, visitor, context); - }; - - return ts.visitEachChild(sf, visitor, context); - }; - - return transformer; - }; -} - -// Determine if a node matched the structure of a downleveled TS class. -function isDownleveledClass(node: ts.Node): boolean { - if (!ts.isVariableStatement(node)) { - return false; - } - - if (node.declarationList.declarations.length !== 1) { - return false; - } - - const variableDeclaration = node.declarationList.declarations[0]; - - if (!ts.isIdentifier(variableDeclaration.name) || !variableDeclaration.initializer) { - return false; - } - - let potentialClass = variableDeclaration.initializer; - - // TS 2.3 has an unwrapped class IIFE - // TS 2.4 uses a function expression wrapper - // TS 2.5 uses an arrow function wrapper - if (ts.isParenthesizedExpression(potentialClass)) { - potentialClass = potentialClass.expression; - } - - if (!ts.isCallExpression(potentialClass) || potentialClass.arguments.length > 1) { - return false; - } - - let wrapperBody: ts.Block; - if (ts.isFunctionExpression(potentialClass.expression)) { - wrapperBody = potentialClass.expression.body; - } else if ( - ts.isArrowFunction(potentialClass.expression) && - ts.isBlock(potentialClass.expression.body) - ) { - wrapperBody = potentialClass.expression.body; - } else { - return false; - } - - if (wrapperBody.statements.length === 0) { - return false; - } - - const functionExpression = potentialClass.expression; - const functionStatements = wrapperBody.statements; - - // need a minimum of two for a function declaration and return statement - if (functionStatements.length < 2) { - return false; - } - - const firstStatement = functionStatements[0]; - - // find return statement - may not be last statement - let returnStatement: ts.ReturnStatement | undefined; - for (let i = functionStatements.length - 1; i > 0; i--) { - if (ts.isReturnStatement(functionStatements[i])) { - returnStatement = functionStatements[i] as ts.ReturnStatement; - break; - } - } - - if ( - returnStatement == undefined || - returnStatement.expression == undefined || - !ts.isIdentifier(returnStatement.expression) - ) { - return false; - } - - if (functionExpression.parameters.length === 0) { - // potential non-extended class or wrapped es2015 class - return ( - (ts.isFunctionDeclaration(firstStatement) || ts.isClassDeclaration(firstStatement)) && - firstStatement.name !== undefined && - returnStatement.expression.text === firstStatement.name.text - ); - } else if (functionExpression.parameters.length !== 1) { - return false; - } - - // Potential extended class - - const functionParameter = functionExpression.parameters[0]; - - if ( - !ts.isIdentifier(functionParameter.name) || - functionParameter.name.text !== superParameterName - ) { - return false; - } - - if (functionStatements.length < 3 || !ts.isExpressionStatement(firstStatement)) { - return false; - } - - if (!ts.isCallExpression(firstStatement.expression)) { - return false; - } - - const extendCallExpression = firstStatement.expression; - - let functionName; - if (ts.isIdentifier(extendCallExpression.expression)) { - functionName = extendCallExpression.expression.text; - } else if (ts.isPropertyAccessExpression(extendCallExpression.expression)) { - functionName = extendCallExpression.expression.name.text; - } - - if (!functionName || !functionName.endsWith(extendsHelperName)) { - return false; - } - - if (extendCallExpression.arguments.length === 0) { - return false; - } - - const lastArgument = extendCallExpression.arguments[extendCallExpression.arguments.length - 1]; - - if (!ts.isIdentifier(lastArgument) || lastArgument.text !== functionParameter.name.text) { - return false; - } - - const secondStatement = functionStatements[1]; - - return ( - ts.isFunctionDeclaration(secondStatement) && - secondStatement.name !== undefined && - returnStatement.expression.text === secondStatement.name.text - ); -} diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts deleted file mode 100644 index a1aa5e2f1a9b..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-classes_spec.ts +++ /dev/null @@ -1,359 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { tags } from '@angular-devkit/core'; -import { transformJavascript } from '../helpers/transform-javascript'; -import { getPrefixClassesTransformer, testPrefixClasses } from './prefix-classes'; - -const transform = (content: string) => - transformJavascript({ content, getTransforms: [getPrefixClassesTransformer] }).content; - -describe('prefix-classes', () => { - it('prefix TS 2.0 - 2.4 downlevel class', () => { - const input = tags.stripIndent` - var BasicTestCase = (function () { - function BasicTestCase() { - } - return BasicTestCase; - }()); - `; - const output = tags.stripIndent` - var BasicTestCase = /*@__PURE__*/ (function () { - function BasicTestCase() { - } - return BasicTestCase; - }()); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - // NOTE: TS 2.1+ uses a standalone export after the variable statement - it('prefix TS 2.0 exported downlevel class with ES2015 modules', () => { - const input = tags.stripIndent` - export var OuterSubscriber = (function (_super) { - __extends(OuterSubscriber, _super); - function OuterSubscriber() { - _super.apply(this, arguments); - } - return OuterSubscriber; - }()); - `; - const output = tags.stripIndent` - export var OuterSubscriber = /*@__PURE__*/ (function (_super) { - __extends(OuterSubscriber, _super); - function OuterSubscriber() { - _super.apply(this, arguments); - } - return OuterSubscriber; - }()); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.0 downlevel class with extends', () => { - const input = tags.stripIndent` - var ExtendedClass = (function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - _super.apply(this, arguments); - } - return ExtendedClass; - }(StaticTestCase)); - `; - const output = tags.stripIndent` - var ExtendedClass = /*@__PURE__*/ (function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - _super.apply(this, arguments); - } - return ExtendedClass; - }(StaticTestCase)); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.1 - 2.3 downlevel class with static variable', () => { - const input = tags.stripIndent` - var StaticTestCase = (function () { - function StaticTestCase() { - } - return StaticTestCase; - }()); - StaticTestCase.StaticTest = true; - `; - const output = tags.stripIndent` - var StaticTestCase = /*@__PURE__*/ (function () { - function StaticTestCase() { - } - return StaticTestCase; - }()); - StaticTestCase.StaticTest = true; - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.1 - 2.4 downlevel class with extends', () => { - const input = tags.stripIndent` - var ExtendedClass = (function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ExtendedClass; - }(StaticTestCase)); - `; - const output = tags.stripIndent` - var ExtendedClass = /*@__PURE__*/ (function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ExtendedClass; - }(StaticTestCase)); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.0 & 2.4 downlevel class with static variable', () => { - const input = tags.stripIndent` - var StaticTestCase = (function () { - function StaticTestCase() { - } - StaticTestCase.StaticTest = true; - return StaticTestCase; - }()); - `; - const output = tags.stripIndent` - var StaticTestCase = /*@__PURE__*/ (function () { - function StaticTestCase() { - } - StaticTestCase.StaticTest = true; - return StaticTestCase; - }()); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.5 - 2.6 downlevel class', () => { - const input = tags.stripIndent` - var BasicTestCase = /** @class */ (function () { - function BasicTestCase() { - } - return BasicTestCase; - }()); - `; - const output = tags.stripIndent` - var BasicTestCase = /** @class */ /*@__PURE__*/ (function () { - function BasicTestCase() { - } - return BasicTestCase; - }()); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.5 - 2.6 renamed downlevel class', () => { - const input = tags.stripIndent` - var ComponentFactoryResolver$1 = /** @class */ (function () { - function ComponentFactoryResolver$$1() { - } - return ComponentFactoryResolver$$1; - }()); - `; - const output = tags.stripIndent` - var ComponentFactoryResolver$1 = /** @class */ /*@__PURE__*/ (function () { - function ComponentFactoryResolver$$1() { - } - return ComponentFactoryResolver$$1; - }()); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.5 - 2.6 renamed downlevel class with extends', () => { - const input = tags.stripIndent` - var NgModuleFactory$1 = /** @class */ (function (_super) { - __extends(NgModuleFactory$$1, _super); - function NgModuleFactory$$1(moduleType) { - var _this = _super.call(this) || this; - _this.moduleType = moduleType; - return _this; - } - NgModuleFactory$$1.prototype.create = function (parentInjector) { - return new NgModuleRef$1(this.moduleType, parentInjector); - }; - return NgModuleFactory$$1; - }(NgModuleFactory)); - `; - const output = tags.stripIndent` - var NgModuleFactory$1 = /** @class */ /*@__PURE__*/ (function (_super) { - __extends(NgModuleFactory$$1, _super); - function NgModuleFactory$$1(moduleType) { - var _this = _super.call(this) || this; - _this.moduleType = moduleType; - return _this; - } - NgModuleFactory$$1.prototype.create = function (parentInjector) { - return new NgModuleRef$1(this.moduleType, parentInjector); - }; - return NgModuleFactory$$1; - }(NgModuleFactory)); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.5 - 2.6 downlevel class with static variable', () => { - const input = tags.stripIndent` - var StaticTestCase = /** @class */ (function () { - function StaticTestCase() { - } - StaticTestCase.StaticTest = true; - return StaticTestCase; - }()); - `; - const output = tags.stripIndent` - var StaticTestCase = /** @class */ /*@__PURE__*/ (function () { - function StaticTestCase() { - } - StaticTestCase.StaticTest = true; - return StaticTestCase; - }()); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('prefix TS 2.5 - 2.6 downlevel class with extends', () => { - const input = tags.stripIndent` - var ExtendedClass = /** @class */ (function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ExtendedClass; - }(StaticTestCase)); - `; - const output = tags.stripIndent` - var ExtendedClass = /** @class */ /*@__PURE__*/ (function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ExtendedClass; - }(StaticTestCase)); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('works with tslib namespace import', () => { - const input = tags.stripIndent` - var BufferSubscriber = /** @class */ (function (_super) { - tslib_1.__extends(BufferSubscriber, _super); - function BufferSubscriber() { - return _super !== null && _super.apply(this, arguments) || this; - } - return BufferSubscriber; - }(OuterSubscriber)); - `; - const output = tags.stripIndent` - var BufferSubscriber = /** @class */ /*@__PURE__*/ (function (_super) { - tslib_1.__extends(BufferSubscriber, _super); - function BufferSubscriber() { - return _super !== null && _super.apply(this, arguments) || this; - } - return BufferSubscriber; - }(OuterSubscriber)); - `; - - expect(testPrefixClasses(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('fixes the RxJS use case (issue #214)', () => { - const input = ` - var ExtendedClass = /*@__PURE__*/ (/*@__PURE__*/ function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ExtendedClass; - }(StaticTestCase)); - - /** - * We need this JSDoc comment for affecting ESDoc. - * @ignore - * @extends {Ignored} - */ - var zip_ZipSubscriber = /*@__PURE__*/ (/*@__PURE__*/ function (_super) { - zip___extends(ZipSubscriber, _super); - function ZipSubscriber(destination, project, values) { - if (values === void 0) { - values = Object.create(null); - } - _super.call(this, destination); - this.iterators = []; - this.active = 0; - this.project = (typeof project === 'function') ? project : null; - this.values = values; - } - return ZipSubscriber; - }(Subscriber)); - `; - const output = ` - var ExtendedClass = /*@__PURE__*/ /*@__PURE__*/ ( /*@__PURE__*/function (_super) { - __extends(ExtendedClass, _super); - function ExtendedClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ExtendedClass; - }(StaticTestCase)); - - /** - * We need this JSDoc comment for affecting ESDoc. - * @ignore - * @extends {Ignored} - */ - var zip_ZipSubscriber = /*@__PURE__*/ /*@__PURE__*/ ( /*@__PURE__*/function (_super) { - zip___extends(ZipSubscriber, _super); - function ZipSubscriber(destination, project, values) { - if (values === void 0) { - values = Object.create(null); - } - _super.call(this, destination); - this.iterators = []; - this.active = 0; - this.project = (typeof project === 'function') ? project : null; - this.values = values; - } - return ZipSubscriber; - }(Subscriber)); - `; - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); -}); diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts deleted file mode 100644 index e53563a95f75..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions.ts +++ /dev/null @@ -1,111 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as ts from 'typescript'; -import { addPureComment, getCleanHelperName, hasPureComment } from '../helpers/ast-utils'; - -export function getPrefixFunctionsTransformer(): ts.TransformerFactory { - return (context: ts.TransformationContext): ts.Transformer => { - const transformer: ts.Transformer = (sf: ts.SourceFile) => { - const topLevelFunctions = findTopLevelFunctions(sf); - - const visitor: ts.Visitor = (node: ts.Node): ts.Node => { - // Add pure function comment to top level functions. - if (topLevelFunctions.has(node)) { - const newNode = addPureComment(node); - - // Replace node with modified one. - return ts.visitEachChild(newNode, visitor, context); - } - - // Otherwise return node as is. - return ts.visitEachChild(node, visitor, context); - }; - - return ts.visitNode(sf, visitor); - }; - - return transformer; - }; -} - -export function findTopLevelFunctions(parentNode: ts.Node): Set { - const topLevelFunctions = new Set(); - - function cb(node: ts.Node) { - // Stop recursing into this branch if it's a definition construct. - // These are function expression, function declaration, class, or arrow function (lambda). - // The body of these constructs will not execute when loading the module, so we don't - // need to mark function calls inside them as pure. - // Class static initializers in ES2015 are an exception we don't cover. They would need similar - // processing as enums to prevent property setting from causing the class to be retained. - if ( - ts.isFunctionLike(node) || - ts.isClassLike(node) || - ts.isArrowFunction(node) || - ts.isMethodDeclaration(node) - ) { - return; - } - - let noPureComment = !hasPureComment(node); - let innerNode = node; - while (innerNode && ts.isParenthesizedExpression(innerNode)) { - innerNode = innerNode.expression; - noPureComment = noPureComment && !hasPureComment(innerNode); - } - - if (!innerNode) { - return; - } - - if ( - (ts.isFunctionExpression(innerNode) || ts.isArrowFunction(innerNode)) && - ts.isParenthesizedExpression(node) - ) { - // pure functions can be wrapped in parentizes - // we should not add pure comments to this sort of syntax. - // example var foo = (() => x) - return; - } - - if (noPureComment) { - if (ts.isNewExpression(innerNode)) { - topLevelFunctions.add(node); - } else if (ts.isCallExpression(innerNode)) { - let expression: ts.Expression = innerNode.expression; - - if (ts.isIdentifier(expression) && getCleanHelperName(expression.text)) { - return; - } - - while (expression && ts.isParenthesizedExpression(expression)) { - expression = expression.expression; - } - - if (expression) { - if (ts.isFunctionExpression(expression)) { - // Skip IIFE's with arguments - // This could be improved to check if there are any references to variables - if (innerNode.arguments.length === 0) { - topLevelFunctions.add(node); - } - } else { - topLevelFunctions.add(node); - } - } - } - } - - ts.forEachChild(innerNode, cb); - } - - ts.forEachChild(parentNode, cb); - - return topLevelFunctions; -} diff --git a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts deleted file mode 100644 index c069c4e0be9b..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/prefix-functions_spec.ts +++ /dev/null @@ -1,212 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { tags } from '@angular-devkit/core'; -import { transformJavascript } from '../helpers/transform-javascript'; -import { getPrefixFunctionsTransformer } from './prefix-functions'; - -const transform = (content: string) => - transformJavascript({ content, getTransforms: [getPrefixFunctionsTransformer] }).content; - -describe('prefix-functions', () => { - const clazz = 'var Clazz = (function () { function Clazz() { } return Clazz; }());'; - - describe('pure functions', () => { - it('adds comment to new calls', () => { - const input = tags.stripIndent` - var newClazz = new Clazz(); - `; - const output = tags.stripIndent` - var newClazz = /*@__PURE__*/ new Clazz(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('adds comment to function calls', () => { - const input = tags.stripIndent` - var newClazz = Clazz(); - `; - const output = tags.stripIndent` - var newClazz = /*@__PURE__*/ Clazz(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('adds comment outside of IIFEs', () => { - const input = tags.stripIndent` - ${clazz} - var ClazzTwo = (function () { function Clazz() { } return Clazz; })(); - `; - const output = tags.stripIndent` - var Clazz = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; }()); - var ClazzTwo = /*@__PURE__*/ (function () { function Clazz() { } return Clazz; })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment when inside function declarations or expressions", () => { - const input = tags.stripIndent` - function funcDecl() { - var newClazz = Clazz(); - var newClazzTwo = new Clazz(); - } - - var funcExpr = function () { - var newClazz = Clazz(); - var newClazzTwo = new Clazz(); - }; - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment to downlevel namespaces", () => { - const input = tags.stripIndent` - function MyFunction() { } - - (function (MyFunction) { - function subFunction() { } - MyFunction.subFunction = subFunction; - })(MyFunction || (MyFunctionn = {})); - - export { MyFunction }; - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment when inside class", () => { - const input = tags.stripIndent` - class Foo { - constructor(e) { - super(e); - } - method() { - var newClazz = new Clazz(); - } - } - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment when inside arrow function", () => { - const input = tags.stripIndent` - export const subscribeToArray = (array) => (subscriber) => { - for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) { - subscriber.next(array[i]); - } - if (!subscriber.closed) { - subscriber.complete(); - } - }; - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment when inside object literal method", () => { - const input = tags.stripIndent` - const literal = { - method() { - var newClazz = new Clazz(); - } - }; - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - it("doesn't add comment to downlevel arrow function", () => { - const input = tags.stripIndent` - var populate = (function (props, rawData, entity) { - props.forEach(function (prop) { }); - }); - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment inside arrow function", () => { - const input = tags.stripIndent` - const populate = ((props, rawData, entity) => { - props.forEach(x => x); - }); - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't add comment when inside class expression", () => { - const input = tags.stripIndent` - let Foo = class Foo { - constructor() { - this.isExpandedChange = new EventEmitter(); - } - - set isExpanded(value) { - this.isExpandedChange.emit(value); - } - }; - `; - const output = tags.stripIndent` - ${input} - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it(`doesn't add pure comments to tslib helpers`, () => { - const input = tags.stripIndent` - class LanguageState { - - } - - LanguageState.ctorParameters = () => [ - { type: TranslateService }, - { type: undefined, decorators: [{ type: Inject, args: [LANGUAGE_CONFIG,] }] } - ]; - - __decorate([ - Action(CheckLanguage), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], LanguageState.prototype, "checkLanguage", null); - `; - - const output = input; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); -}); diff --git a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts b/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts deleted file mode 100644 index 2018a617fbb9..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file.ts +++ /dev/null @@ -1,614 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as ts from 'typescript'; -import { collectDeepNodes } from '../helpers/ast-utils'; - -export function testScrubFile(content: string) { - const markers = [ - 'decorators', - '__decorate', - 'propDecorators', - 'ctorParameters', - 'ɵsetClassMetadata', - ]; - - return markers.some((marker) => content.includes(marker)); -} - -export function createScrubFileTransformerFactory( - isAngularCoreFile: boolean, -): (program?: ts.Program) => ts.TransformerFactory { - return (program) => scrubFileTransformer(program, isAngularCoreFile); -} - -function scrubFileTransformer(program: ts.Program | undefined, isAngularCoreFile: boolean) { - if (!program) { - throw new Error('scrubFileTransformer requires a TypeScript Program.'); - } - const checker = program.getTypeChecker(); - - return (context: ts.TransformationContext): ts.Transformer => { - const transformer: ts.Transformer = (sf: ts.SourceFile) => { - const ngMetadata = findAngularMetadata(sf, isAngularCoreFile); - const tslibImports = findTslibImports(sf); - - const nodes: ts.Node[] = []; - ts.forEachChild(sf, checkNodeForDecorators); - - function checkNodeForDecorators(node: ts.Node): void { - if (!ts.isExpressionStatement(node)) { - return ts.forEachChild(node, checkNodeForDecorators); - } - - const exprStmt = node as ts.ExpressionStatement; - const iife = getIifeStatement(exprStmt)?.expression; - // Do checks that don't need the typechecker first and bail early. - if (isCtorParamsAssignmentExpression(exprStmt)) { - nodes.push(node); - } else if (iife && isIvyPrivateCallExpression(iife, 'ɵsetClassMetadata')) { - nodes.push(node); - } else if ( - iife && - ts.isBinaryExpression(iife) && - isIvyPrivateCallExpression(iife.right, 'ɵsetClassMetadata') - ) { - nodes.push(node); - } else if (isDecoratorAssignmentExpression(exprStmt)) { - nodes.push(...pickDecorationNodesToRemove(exprStmt, ngMetadata, checker)); - } else if ( - isDecorateAssignmentExpression(exprStmt, tslibImports, checker) || - isAngularDecoratorExpression(exprStmt, ngMetadata, tslibImports, checker) - ) { - nodes.push(...pickDecorateNodesToRemove(exprStmt, tslibImports, ngMetadata, checker)); - } else if (isPropDecoratorAssignmentExpression(exprStmt)) { - nodes.push(...pickPropDecorationNodesToRemove(exprStmt, ngMetadata, checker)); - } - } - - const visitor: ts.Visitor = (node: ts.Node): ts.VisitResult => { - // Check if node is a statement to be dropped. - if (nodes.find((n) => n === node)) { - return undefined; - } - - // Otherwise return node as is. - return ts.visitEachChild(node, visitor, context); - }; - - return ts.visitNode(sf, visitor); - }; - - return transformer; - }; -} - -export function expect(node: ts.Node, kind: ts.SyntaxKind): T { - if (node.kind !== kind) { - throw new Error('Invalid node type.'); - } - - return node as T; -} - -function findAngularMetadata(node: ts.Node, isAngularCoreFile: boolean): ts.Node[] { - let specs: ts.Node[] = []; - // Find all specifiers from imports of `@angular/core`. - ts.forEachChild(node, (child) => { - if (child.kind === ts.SyntaxKind.ImportDeclaration) { - const importDecl = child as ts.ImportDeclaration; - if (isAngularCoreImport(importDecl, isAngularCoreFile)) { - specs.push( - ...collectDeepNodes(importDecl, ts.SyntaxKind.ImportSpecifier), - ); - } - } - }); - - // If the current module is a Angular core file, we also consider all declarations in it to - // potentially be Angular metadata. - if (isAngularCoreFile) { - const localDecl = findAllDeclarations(node); - specs = specs.concat(localDecl); - } - - return specs; -} - -function findAllDeclarations(node: ts.Node): ts.VariableDeclaration[] { - const nodes: ts.VariableDeclaration[] = []; - ts.forEachChild(node, (child) => { - if (child.kind === ts.SyntaxKind.VariableStatement) { - const vStmt = child as ts.VariableStatement; - vStmt.declarationList.declarations.forEach((decl) => { - if (decl.name.kind !== ts.SyntaxKind.Identifier) { - return; - } - nodes.push(decl); - }); - } - }); - - return nodes; -} - -function isAngularCoreImport(node: ts.ImportDeclaration, isAngularCoreFile: boolean): boolean { - if (!(node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier))) { - return false; - } - const importText = node.moduleSpecifier.text; - - // Imports to `@angular/core` are always core imports. - if (importText === '@angular/core') { - return true; - } - - // Relative imports from a Angular core file are also core imports. - if (isAngularCoreFile && importText.startsWith('.')) { - return true; - } - - return false; -} - -// Check if assignment is `Clazz.decorators = [...];`. -function isDecoratorAssignmentExpression(exprStmt: ts.ExpressionStatement): boolean { - if (!isAssignmentExpressionTo(exprStmt, 'decorators')) { - return false; - } - const expr = exprStmt.expression as ts.BinaryExpression; - if (!ts.isArrayLiteralExpression(expr.right)) { - return false; - } - - return true; -} - -// Check if assignment is `Clazz = __decorate([...], Clazz)`. -function isDecorateAssignmentExpression( - exprStmt: ts.ExpressionStatement, - tslibImports: ts.NamedImports[], - checker: ts.TypeChecker, -): boolean { - if (!ts.isBinaryExpression(exprStmt.expression)) { - return false; - } - const expr = exprStmt.expression; - if (!ts.isIdentifier(expr.left)) { - return false; - } - const classIdent = expr.left; - let callExpr: ts.CallExpression; - - if (ts.isCallExpression(expr.right)) { - callExpr = expr.right; - } else if (ts.isBinaryExpression(expr.right)) { - // `Clazz = Clazz_1 = __decorate([...], Clazz)` can be found when there are static property - // accesses. - const innerExpr = expr.right; - if (!ts.isIdentifier(innerExpr.left) || !ts.isCallExpression(innerExpr.right)) { - return false; - } - callExpr = innerExpr.right; - } else { - return false; - } - - if (!isTslibHelper(callExpr, '__decorate', tslibImports, checker)) { - return false; - } - - if (callExpr.arguments.length !== 2) { - return false; - } - - const classArg = callExpr.arguments[1]; - if (!ts.isIdentifier(classArg)) { - return false; - } - - if (classIdent.text !== classArg.text) { - return false; - } - if (!ts.isArrayLiteralExpression(callExpr.arguments[0])) { - return false; - } - - return true; -} - -// Check if expression is `__decorate([smt, __metadata("design:type", Object)], ...)`. -function isAngularDecoratorExpression( - exprStmt: ts.ExpressionStatement, - ngMetadata: ts.Node[], - tslibImports: ts.NamedImports[], - checker: ts.TypeChecker, -): boolean { - if (!ts.isCallExpression(exprStmt.expression)) { - return false; - } - const callExpr = exprStmt.expression; - if (!isTslibHelper(callExpr, '__decorate', tslibImports, checker)) { - return false; - } - if (callExpr.arguments.length !== 4) { - return false; - } - const decorateArray = callExpr.arguments[0]; - if (!ts.isArrayLiteralExpression(decorateArray)) { - return false; - } - // Check first array entry for Angular decorators. - if (decorateArray.elements.length === 0 || !ts.isCallExpression(decorateArray.elements[0])) { - return false; - } - - return decorateArray.elements.some((decoratorCall) => { - if (!ts.isCallExpression(decoratorCall) || !ts.isIdentifier(decoratorCall.expression)) { - return false; - } - - const decoratorId = decoratorCall.expression; - - return identifierIsMetadata(decoratorId, ngMetadata, checker); - }); -} - -// Check if assignment is `Clazz.propDecorators = [...];`. -function isPropDecoratorAssignmentExpression(exprStmt: ts.ExpressionStatement): boolean { - if (!isAssignmentExpressionTo(exprStmt, 'propDecorators')) { - return false; - } - const expr = exprStmt.expression as ts.BinaryExpression; - if (expr.right.kind !== ts.SyntaxKind.ObjectLiteralExpression) { - return false; - } - - return true; -} - -// Check if assignment is `Clazz.ctorParameters = [...];`. -function isCtorParamsAssignmentExpression(exprStmt: ts.ExpressionStatement): boolean { - if (!isAssignmentExpressionTo(exprStmt, 'ctorParameters')) { - return false; - } - const expr = exprStmt.expression as ts.BinaryExpression; - if ( - expr.right.kind !== ts.SyntaxKind.FunctionExpression && - expr.right.kind !== ts.SyntaxKind.ArrowFunction - ) { - return false; - } - - return true; -} - -function isAssignmentExpressionTo(exprStmt: ts.ExpressionStatement, name: string) { - if (!ts.isBinaryExpression(exprStmt.expression)) { - return false; - } - const expr = exprStmt.expression; - if (!ts.isPropertyAccessExpression(expr.left)) { - return false; - } - const propAccess = expr.left; - if (propAccess.name.text !== name) { - return false; - } - if (!ts.isIdentifier(propAccess.expression)) { - return false; - } - if (expr.operatorToken.kind !== ts.SyntaxKind.FirstAssignment) { - return false; - } - - return true; -} - -// Each Ivy private call expression is inside an IIFE -function getIifeStatement(exprStmt: ts.ExpressionStatement): null | ts.ExpressionStatement { - const expression = exprStmt.expression; - if (!expression || !ts.isCallExpression(expression) || expression.arguments.length !== 0) { - return null; - } - - const parenExpr = expression; - if (!ts.isParenthesizedExpression(parenExpr.expression)) { - return null; - } - - const funExpr = parenExpr.expression.expression; - if (!ts.isFunctionExpression(funExpr)) { - return null; - } - - const innerStmts = funExpr.body.statements; - if (innerStmts.length !== 1) { - return null; - } - - const innerExprStmt = innerStmts[0]; - if (!ts.isExpressionStatement(innerExprStmt)) { - return null; - } - - return innerExprStmt; -} - -function isIvyPrivateCallExpression(expression: ts.Expression, name: string) { - // Now we're in the IIFE and have the inner expression statement. We can check if it matches - // a private Ivy call. - if (!ts.isCallExpression(expression)) { - return false; - } - - const propAccExpr = expression.expression; - if (!ts.isPropertyAccessExpression(propAccExpr)) { - return false; - } - - if (propAccExpr.name.text != name) { - return false; - } - - return true; -} - -// Remove Angular decorators from`Clazz.decorators = [...];`, or expression itself if all are -// removed. -function pickDecorationNodesToRemove( - exprStmt: ts.ExpressionStatement, - ngMetadata: ts.Node[], - checker: ts.TypeChecker, -): ts.Node[] { - const expr = expect(exprStmt.expression, ts.SyntaxKind.BinaryExpression); - const literal = expect( - expr.right, - ts.SyntaxKind.ArrayLiteralExpression, - ); - if (!literal.elements.every((elem) => ts.isObjectLiteralExpression(elem))) { - return []; - } - const elements = literal.elements as ts.NodeArray; - const ngDecorators = elements.filter((elem) => isAngularDecorator(elem, ngMetadata, checker)); - - return elements.length > ngDecorators.length ? ngDecorators : [exprStmt]; -} - -// Remove Angular decorators from `Clazz = __decorate([...], Clazz)`, or expression itself if all -// are removed. -function pickDecorateNodesToRemove( - exprStmt: ts.ExpressionStatement, - tslibImports: ts.NamedImports[], - ngMetadata: ts.Node[], - checker: ts.TypeChecker, -): ts.Node[] { - let callExpr: ts.CallExpression | undefined; - if (ts.isCallExpression(exprStmt.expression)) { - callExpr = exprStmt.expression; - } else if (ts.isBinaryExpression(exprStmt.expression)) { - const expr = exprStmt.expression; - if (ts.isCallExpression(expr.right)) { - callExpr = expr.right; - } else if (ts.isBinaryExpression(expr.right) && ts.isCallExpression(expr.right.right)) { - callExpr = expr.right.right; - } - } - - if (!callExpr) { - return []; - } - - const arrLiteral = expect( - callExpr.arguments[0], - ts.SyntaxKind.ArrayLiteralExpression, - ); - - if (!arrLiteral.elements.every((elem) => ts.isCallExpression(elem))) { - return []; - } - const elements = arrLiteral.elements as ts.NodeArray; - const ngDecoratorCalls = elements.filter((el) => { - if (!ts.isIdentifier(el.expression)) { - return false; - } - - return identifierIsMetadata(el.expression, ngMetadata, checker); - }); - - // Remove __metadata calls of type 'design:paramtypes'. - const metadataCalls = elements.filter((el) => { - if (!isTslibHelper(el, '__metadata', tslibImports, checker)) { - return false; - } - - if (el.arguments.length < 2 || !ts.isStringLiteral(el.arguments[0])) { - return false; - } - - return true; - }); - // Remove all __param calls. - const paramCalls = elements.filter((el) => { - if (!isTslibHelper(el, '__param', tslibImports, checker)) { - return false; - } - - if (el.arguments.length !== 2 || !ts.isNumericLiteral(el.arguments[0])) { - return false; - } - - return true; - }); - - if (ngDecoratorCalls.length === 0) { - return []; - } - - const callCount = ngDecoratorCalls.length + metadataCalls.length + paramCalls.length; - - // If all decorators are metadata decorators then return the whole `Class = __decorate([...])'` - // statement so that it is removed in entirety. - // If not then only remove the Angular decorators. - // The metadata and param calls may be used by the non-Angular decorators. - return elements.length === callCount ? [exprStmt] : ngDecoratorCalls; -} - -// Remove Angular decorators from`Clazz.propDecorators = [...];`, or expression itself if all -// are removed. -function pickPropDecorationNodesToRemove( - exprStmt: ts.ExpressionStatement, - ngMetadata: ts.Node[], - checker: ts.TypeChecker, -): ts.Node[] { - const expr = expect(exprStmt.expression, ts.SyntaxKind.BinaryExpression); - const literal = expect( - expr.right, - ts.SyntaxKind.ObjectLiteralExpression, - ); - if ( - !literal.properties.every( - (elem) => ts.isPropertyAssignment(elem) && ts.isArrayLiteralExpression(elem.initializer), - ) - ) { - return []; - } - const assignments = literal.properties as ts.NodeArray; - // Consider each assignment individually. Either the whole assignment will be removed or - // a particular decorator within will. - const toRemove = assignments - .map((assign) => { - const decorators = expect( - assign.initializer, - ts.SyntaxKind.ArrayLiteralExpression, - ).elements; - if (!decorators.every((el) => ts.isObjectLiteralExpression(el))) { - return []; - } - const decsToRemove = decorators.filter((expression) => { - const lit = expect( - expression, - ts.SyntaxKind.ObjectLiteralExpression, - ); - - return isAngularDecorator(lit, ngMetadata, checker); - }); - if (decsToRemove.length === decorators.length) { - return [assign]; - } - - return decsToRemove; - }) - .reduce((accum, toRm) => accum.concat(toRm), [] as ts.Node[]); - // If every node to be removed is a property assignment (full property's decorators) and - // all properties are accounted for, remove the whole assignment. Otherwise, remove the - // nodes which were marked as safe. - if ( - toRemove.length === assignments.length && - toRemove.every((node) => ts.isPropertyAssignment(node)) - ) { - return [exprStmt]; - } - - return toRemove; -} - -function isAngularDecorator( - literal: ts.ObjectLiteralExpression, - ngMetadata: ts.Node[], - checker: ts.TypeChecker, -): boolean { - const types = literal.properties.filter(isTypeProperty); - if (types.length !== 1) { - return false; - } - const assign = expect(types[0], ts.SyntaxKind.PropertyAssignment); - if (!ts.isIdentifier(assign.initializer)) { - return false; - } - const id = assign.initializer; - const res = identifierIsMetadata(id, ngMetadata, checker); - - return res; -} - -function isTypeProperty(prop: ts.ObjectLiteralElement): boolean { - if (!ts.isPropertyAssignment(prop)) { - return false; - } - - if (!ts.isIdentifier(prop.name)) { - return false; - } - - return prop.name.text === 'type'; -} - -// Check if an identifier is part of the known Angular Metadata. -function identifierIsMetadata( - id: ts.Identifier, - metadata: ts.Node[], - checker: ts.TypeChecker, -): boolean { - const symbol = checker.getSymbolAtLocation(id); - if (!symbol || !symbol.declarations || !symbol.declarations.length) { - return false; - } - - return symbol.declarations.some((spec) => metadata.includes(spec)); -} - -// Find all named imports for `tslib`. -function findTslibImports(node: ts.Node): ts.NamedImports[] { - const imports: ts.NamedImports[] = []; - - ts.forEachChild(node, (child) => { - if ( - ts.isImportDeclaration(child) && - child.moduleSpecifier && - ts.isStringLiteral(child.moduleSpecifier) && - child.moduleSpecifier.text === 'tslib' && - child.importClause?.namedBindings && - ts.isNamedImports(child.importClause?.namedBindings) - ) { - imports.push(child.importClause.namedBindings); - } - }); - - return imports; -} - -// Check if a function call is a tslib helper. -function isTslibHelper( - callExpr: ts.CallExpression, - helper: string, - tslibImports: ts.NamedImports[], - checker: ts.TypeChecker, -) { - if (!ts.isIdentifier(callExpr.expression) || callExpr.expression.text !== helper) { - return false; - } - - const symbol = checker.getSymbolAtLocation(callExpr.expression); - if (!symbol?.declarations?.length) { - return false; - } - - for (const dec of symbol.declarations) { - if (ts.isImportSpecifier(dec) && tslibImports.some((name) => name.elements.includes(dec))) { - return true; - } - - // Handle inline helpers `var __decorate = (this...` - if (ts.isVariableDeclaration(dec)) { - return true; - } - } - - return false; -} diff --git a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts deleted file mode 100644 index 9101e4ff1d18..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/scrub-file_spec.ts +++ /dev/null @@ -1,903 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/* eslint-disable max-len */ -import { tags } from '@angular-devkit/core'; -import { transformJavascript } from '../helpers/transform-javascript'; -import { createScrubFileTransformerFactory, testScrubFile } from './scrub-file'; - -const transform = (content: string) => - transformJavascript({ - content, - getTransforms: [createScrubFileTransformerFactory(false)], - typeCheck: true, - }).content; -const transformCore = (content: string) => - transformJavascript({ - content, - getTransforms: [createScrubFileTransformerFactory(true)], - typeCheck: true, - }).content; - -describe('scrub-file', () => { - const clazz = 'var Clazz = (function () { function Clazz() { } return Clazz; }());'; - - describe('decorators', () => { - it('removes top-level Angular decorators', () => { - const output = tags.stripIndent` - import { Injectable } from '@angular/core'; - ${clazz} - `; - const input = tags.stripIndent` - ${output} - Clazz.decorators = [ { type: Injectable } ]; - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes nested Angular decorators', () => { - const output = tags.stripIndent` - import { Injectable } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { Injectable } from '@angular/core'; - var Clazz = (function () { - function Clazz() {} - Clazz.decorators = [ { type: Injectable } ]; - return Clazz; - }()); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't remove non Angular decorators", () => { - const input = tags.stripIndent` - import { Injectable } from 'another-lib'; - ${clazz} - Clazz.decorators = [{ type: Injectable }]; - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${input}`); - }); - - it('leaves non-Angular decorators in mixed arrays', () => { - const input = tags.stripIndent` - import { Injectable } from '@angular/core'; - import { NotInjectable } from 'another-lib'; - ${clazz} - Clazz.decorators = [{ type: Injectable }, { type: NotInjectable }]; - `; - const output = tags.stripIndent` - import { Injectable } from '@angular/core'; - import { NotInjectable } from 'another-lib'; - ${clazz} - Clazz.decorators = [{ type: NotInjectable }]; - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('__decorate', () => { - it('removes Angular decorators calls in __decorate', () => { - const output = tags.stripIndent` - import { __decorate } from "tslib"; - import { Component, Injectable } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { __decorate } from "tslib"; - import { Component, Injectable } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - Injectable(), - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }) - ], Clazz); - return Clazz; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes Angular decorators calls when __decorate is inlined', () => { - const output = tags.stripIndent` - var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - }; - - import { Component, Injectable } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - `; - - const input = tags.stripIndent` - var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - }; - - import { Component, Injectable } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - Injectable(), - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }) - ], Clazz); - return Clazz; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes constructor parameter metadata in __decorate', () => { - const output = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Component, ElementRef } from '@angular/core'; - import { LibService } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Component, ElementRef } from '@angular/core'; - import { LibService } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }), - __metadata("design:paramtypes", [ElementRef, LibService]) - ], Clazz); - return Clazz; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes constructor parameter metadata when static properties are present', () => { - const output = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Injectable } from '@angular/core'; - import { Logger } from 'another-lib'; - var GaService = (function () { - function GaService(logger) { - this.logger = logger; - } - GaService_1 = GaService; - GaService.prototype.initializeGa = function () { - console.log(GaService_1.initializeDelay); - }; - GaService.initializeDelay = 1000; - return GaService; - var GaService_1; - }()); - `; - const input = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Injectable } from '@angular/core'; - import { Logger } from 'another-lib'; - var GaService = (function () { - function GaService(logger) { - this.logger = logger; - } - GaService_1 = GaService; - GaService.prototype.initializeGa = function () { - console.log(GaService_1.initializeDelay); - }; - GaService.initializeDelay = 1000; - GaService = GaService_1 = __decorate([ - Injectable(), - __metadata("design:paramtypes", [Logger]) - ], GaService); - return GaService; - var GaService_1; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes only Angular decorators calls in __decorate', () => { - const output = tags.stripIndent` - import { __decorate } from "tslib"; - import { Component } from '@angular/core'; - import { NotComponent } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - NotComponent() - ], Clazz); - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { __decorate } from "tslib"; - import { Component } from '@angular/core'; - import { NotComponent } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - NotComponent(), - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }) - ], Clazz); - return Clazz; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('recognizes tslib as well', () => { - const input = tags.stripIndent` - import { __decorate } from "tslib"; - import { Component } from '@angular/core'; - import { NotComponent } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - NotComponent(), - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }) - ], Clazz); - return Clazz; - }()); - - var Clazz2 = (function () { - function Clazz2() { } - Clazz2 = __decorate([ - NotComponent(), - Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] - }) - ], Clazz2); - return Clazz2; - }()); - `; - const output = tags.stripIndent` - import { __decorate } from "tslib"; - import { Component } from '@angular/core'; - import { NotComponent } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - Clazz = __decorate([ - NotComponent() - ], Clazz); - return Clazz; - }()); - - var Clazz2 = (function () { - function Clazz2() { } - Clazz2 = __decorate([ - NotComponent() - ], Clazz2); - return Clazz2; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('recognizes decorator imports in Angular core', () => { - const input = tags.stripIndent` - import { __decorate } from "tslib"; - import { Injectable } from './di'; - var Console = /** @class */ (function () { - function Console() { - } - Console.prototype.log = function (message) { - console.log(message); - }; - Console.prototype.warn = function (message) { - console.warn(message); - }; - Console = __decorate([ - Injectable() - ], Console); - return Console; - }()); - export { Console }; - `; - const output = tags.stripIndent` - import { __decorate } from "tslib"; - import { Injectable } from './di'; - var Console = /** @class */ (function () { - function Console() { - } - Console.prototype.log = function (message) { - console.log(message); - }; - Console.prototype.warn = function (message) { - console.warn(message); - }; - return Console; - }()); - export { Console }; - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transformCore(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes Angular decorators calls in __decorate when no __metadata is present', () => { - const input = tags.stripIndent` - import { __decorate } from 'tslib'; - import { Component, ElementRef, ContentChild} from '@angular/core'; - - var FooBarComponent = /** @class */ (function () { - function FooBarComponent(elementRef) { - this.elementRef = elementRef; - this.inlineButtons = []; - this.menuButtons = []; - } - FooBarComponent.ctorParameters = function () { return [ - { type: ElementRef } - ]; }; - __decorate([ - ContentChild('heading', { read: ElementRef, static: true }) - ], FooBarComponent.prototype, "buttons", void 0); - FooBarComponent = __decorate([ - Component({ - selector: 'custom-foo-bar', - template: '', - styles: [] - }) - ], FooBarComponent); - return FooBarComponent; - }()); - `; - - const output = tags.stripIndent` - import { __decorate } from 'tslib'; - import { Component, ElementRef, ContentChild } from '@angular/core'; - - var FooBarComponent = /** @class */ (function () { - function FooBarComponent(elementRef) { - this.elementRef = elementRef; - this.inlineButtons = []; - this.menuButtons = []; - } - - return FooBarComponent; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transformCore(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes only Angular decorators calls in __decorate when no __metadata is present', () => { - const input = tags.stripIndent` - import { __decorate } from 'tslib'; - import { Component, ElementRef, ContentChild} from '@angular/core'; - import { NotComponent } from 'another-lib'; - - var FooBarComponent = /** @class */ (function () { - function FooBarComponent(elementRef) { - this.elementRef = elementRef; - this.inlineButtons = []; - this.menuButtons = []; - } - FooBarComponent.ctorParameters = function () { return [ - { type: ElementRef } - ]; }; - __decorate([ - NotComponent(), - ContentChild('heading', { read: ElementRef, static: true }) - ], FooBarComponent.prototype, "buttons", void 0); - FooBarComponent = __decorate([ - NotComponent(), - Component({ - selector: 'custom-foo-bar', - template: '', - styles: [] - }) - ], FooBarComponent); - return FooBarComponent; - }()); - `; - - const output = tags.stripIndent` - import { __decorate } from 'tslib'; - import { Component, ElementRef, ContentChild } from '@angular/core'; - import { NotComponent } from 'another-lib'; - - var FooBarComponent = /** @class */ (function () { - function FooBarComponent(elementRef) { - this.elementRef = elementRef; - this.inlineButtons = []; - this.menuButtons = []; - } - __decorate([ - NotComponent() - ], FooBarComponent.prototype, "buttons", void 0); - - FooBarComponent = __decorate([ NotComponent() ], FooBarComponent); return FooBarComponent; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transformCore(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('__metadata', () => { - it('removes Angular decorators metadata', () => { - const output = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Input, Output, EventEmitter, HostListener } from '@angular/core'; - var Clazz = (function () { - function Clazz() { - this.change = new EventEmitter(); - } - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Input, Output, EventEmitter, HostListener } from '@angular/core'; - import { NotInput } from 'another-lib'; - var Clazz = (function () { - function Clazz() { - this.change = new EventEmitter(); - } - __decorate([ - Input(), - __metadata("design:type", Object) - ], Clazz.prototype, "selected", void 0); - __decorate([ - Output(), - __metadata("design:type", Object) - ], Clazz.prototype, "change", void 0); - __decorate([ - HostListener('document:keydown.escape'), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], Clazz.prototype, "onKeyDown", null); - return Clazz; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes only Angular decorator metadata', () => { - const output = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Input } from '@angular/core'; - import { NotInput } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - __decorate([ - NotInput(), - __metadata("design:type", Object) - ], Clazz.prototype, "other", void 0); - Clazz.prototype.myMethod = function () { return 'bar'; }; - __decorate([ - myDecorator(), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], MyClass.prototype, "myMethod", null); - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Input } from '@angular/core'; - import { NotInput } from 'another-lib'; - var Clazz = (function () { - function Clazz() { } - __decorate([ - Input(), - __metadata("design:type", Object) - ], Clazz.prototype, "selected", void 0); - __decorate([ - NotInput(), - __metadata("design:type", Object) - ], Clazz.prototype, "other", void 0); - Clazz.prototype.myMethod = function () { return 'bar'; }; - __decorate([ - myDecorator(), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], MyClass.prototype, "myMethod", null); - return Clazz; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('recognizes tslib as well', () => { - const input = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Input } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - __decorate([ - Input(), - __metadata("design:type", Object) - ], Clazz.prototype, "selected", void 0); - return Clazz; - }()); - - var Clazz2 = (function () { - function Clazz2() { } - __decorate([ - Input(), - __metadata("design:type", Object) - ], Clazz.prototype, "selected", void 0); - return Clazz2; - }()); - `; - const output = tags.stripIndent` - import { __decorate, __metadata } from "tslib"; - import { Input } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - - var Clazz2 = (function () { - function Clazz2() { } - return Clazz2; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('__param', () => { - it('removes all constructor parameters and their type metadata with only Angular decorators', () => { - const output = tags.stripIndent` - import { Component } from '@angular/core'; - import { __decorate, __param, __metadata } from "tslib"; - var MyClass = /** @class */ (function () { - function MyClass(myParam) { - this.myProp = 'foo'; - } - return MyClass; - }()); - `; - const input = tags.stripIndent` - import { Component } from '@angular/core'; - import { __decorate, __param, __metadata } from "tslib"; - var MyClass = /** @class */ (function () { - function MyClass(myParam) { - this.myProp = 'foo'; - } - MyClass = __decorate([ - Component(), - __param(0, Component()), - __metadata("design:paramtypes", [Number]) - ], MyClass); - return MyClass; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('keeps all constructor parameters and their type metadata with only custom decorators', () => { - const output = tags.stripIndent` - import { __decorate, __param, __metadata } from "tslib"; - var MyClass = /** @class */ (function () { - function MyClass(myParam) { - this.myProp = 'foo'; - } - MyClass = __decorate([ - myDecorator(), - __param(0, myDecorator()), - __metadata("design:paramtypes", [Number]) - ], MyClass); - return MyClass; - }()); - var MyOtherClass = /** @class */ (function () { - function MyOtherClass(myParam) { - this.myProp = 'bar'; - } - MyOtherClass = __decorate([ - __metadata("design:paramtypes", [Number]) - ], MyOtherClass); - return MyOtherClass; - }()); - `; - const input = tags.stripIndent` - import { __decorate, __param, __metadata } from "tslib"; - var MyClass = /** @class */ (function () { - function MyClass(myParam) { - this.myProp = 'foo'; - } - MyClass = __decorate([ - myDecorator(), - __param(0, myDecorator()), - __metadata("design:paramtypes", [Number]) - ], MyClass); - return MyClass; - }()); - var MyOtherClass = /** @class */ (function () { - function MyOtherClass(myParam) { - this.myProp = 'bar'; - } - MyOtherClass = __decorate([ - __metadata("design:paramtypes", [Number]) - ], MyOtherClass); - return MyOtherClass; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('keeps all constructor parameters and their type metadata with custom & Angular decorators', () => { - const output = tags.stripIndent` - import { Component } from '@angular/core'; - import { __decorate, __param, __metadata } from "tslib"; - var MyClass = /** @class */ (function () { - function MyClass(myParam) { - this.myProp = 'foo'; - } - MyClass = __decorate([ - myDecorator(), - __param(0, myDecorator()), - __metadata("design:paramtypes", [Number]) - ], MyClass); - return MyClass; - }()); - `; - const input = tags.stripIndent` - import { Component } from '@angular/core'; - import { __decorate, __param, __metadata } from "tslib"; - var MyClass = /** @class */ (function () { - function MyClass(myParam) { - this.myProp = 'foo'; - } - MyClass = __decorate([ - Component(), - myDecorator(), - __param(0, myDecorator()), - __metadata("design:paramtypes", [Number]) - ], MyClass); - return MyClass; - }()); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('propDecorators', () => { - it('removes top-level Angular propDecorators', () => { - const output = tags.stripIndent` - import { Input } from '@angular/core'; - ${clazz} - `; - const input = tags.stripIndent` - ${output} - Clazz.propDecorators = { 'ngIf': [{ type: Input }] } - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes nested Angular propDecorators', () => { - const output = tags.stripIndent` - import { Input } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { Input } from '@angular/core'; - var Clazz = (function () { - function Clazz() {} - Clazz.propDecorators = { 'ngIf': [{ type: Input }] }; - return Clazz; - }()); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it("doesn't remove non Angular propDecorators", () => { - const input = tags.stripIndent` - import { Input } from 'another-lib'; - ${clazz} - Clazz.propDecorators = { 'ngIf': [{ type: Input }] }; - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${input}`); - }); - - it('leaves non-Angular propDecorators in mixed arrays', () => { - const output = tags.stripIndent` - import { Input } from '@angular/core'; - import { NotInput } from 'another-lib'; - ${clazz} - Clazz.propDecorators = { - 'notNgIf': [{ type: NotInput }] - }; - `; - const input = tags.stripIndent` - import { Input } from '@angular/core'; - import { NotInput } from 'another-lib'; - ${clazz} - Clazz.propDecorators = { - 'ngIf': [{ type: Input }], - 'notNgIf': [{ type: NotInput }] - }; - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('ctorParameters', () => { - it('removes empty constructor parameters', () => { - const output = tags.stripIndent` - ${clazz} - `; - const input = tags.stripIndent` - ${output} - Clazz.ctorParameters = function () { return []; }; - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes non-empty top-level style constructor parameters', () => { - const output = tags.stripIndent` - ${clazz} - `; - const input = tags.stripIndent` - ${clazz} - Clazz.ctorParameters = function () { return [{type: Injector}]; }; - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes top-level Angular constructor parameters in es2015', () => { - const output = tags.stripIndent` - class Clazz extends BaseClazz { constructor(e) { super(e); } } - `; - const input = tags.stripIndent` - ${output} - Clazz.ctorParameters = () => [ { type: Injectable } ]; - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes nested constructor parameters', () => { - const output = tags.stripIndent` - import { Injector } from '@angular/core'; - var Clazz = (function () { - function Clazz() { } - return Clazz; - }()); - `; - const input = tags.stripIndent` - import { Injector } from '@angular/core'; - var Clazz = (function () { - function Clazz() {} - Clazz.ctorParameters = function () { return [{type: Injector}]; }; - return Clazz; - }()); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('Ivy', () => { - it('removes ɵsetClassMetadata call with pure annotation', () => { - const output = tags.stripIndent` - import { Component } from '@angular/core'; - ${clazz} - `; - const input = tags.stripIndent` - ${output} - /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(Clazz, [{ - type: Component, - args: [{ - selector: 'app-lazy', - template: 'very lazy', - styles: [] - }] - }], null, null); })(); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('removes ɵsetClassMetadata call', () => { - const output = tags.stripIndent` - import { Component } from '@angular/core'; - ${clazz} - `; - const input = tags.stripIndent` - ${output} - (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵsetClassMetadata(Clazz, [{ - type: Component, - args: [{ - selector: 'app-lazy', - template: 'very lazy', - styles: [] - }] - }], null, null); })(); - `; - - expect(testScrubFile(input)).toBeTruthy(); - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); -}); diff --git a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts b/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts deleted file mode 100644 index 35bfb542df85..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums.ts +++ /dev/null @@ -1,459 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as ts from 'typescript'; -import { addPureComment } from '../helpers/ast-utils'; - -function isBlockLike(node: ts.Node): node is ts.BlockLike { - return ( - node.kind === ts.SyntaxKind.Block || - node.kind === ts.SyntaxKind.ModuleBlock || - node.kind === ts.SyntaxKind.CaseClause || - node.kind === ts.SyntaxKind.DefaultClause || - node.kind === ts.SyntaxKind.SourceFile - ); -} - -export function getWrapEnumsTransformer(): ts.TransformerFactory { - return (context: ts.TransformationContext): ts.Transformer => { - const transformer: ts.Transformer = (sf) => { - const result = visitBlockStatements(sf.statements, context); - - return context.factory.updateSourceFile(sf, ts.setTextRange(result, sf.statements)); - }; - - return transformer; - }; -} - -function visitBlockStatements( - statements: ts.NodeArray, - context: ts.TransformationContext, -): ts.NodeArray { - // copy of statements to modify; lazy initialized - let updatedStatements: Array | undefined; - const nodeFactory = context.factory; - - const visitor: ts.Visitor = (node) => { - if (isBlockLike(node)) { - let result = visitBlockStatements(node.statements, context); - if (result === node.statements) { - return node; - } - result = ts.setTextRange(result, node.statements); - switch (node.kind) { - case ts.SyntaxKind.Block: - return nodeFactory.updateBlock(node, result); - case ts.SyntaxKind.ModuleBlock: - return nodeFactory.updateModuleBlock(node, result); - case ts.SyntaxKind.CaseClause: - return nodeFactory.updateCaseClause(node, node.expression, result); - case ts.SyntaxKind.DefaultClause: - return nodeFactory.updateDefaultClause(node, result); - default: - return node; - } - } else { - return node; - } - }; - - // 'oIndex' is the original statement index; 'uIndex' is the updated statement index - for (let oIndex = 0, uIndex = 0; oIndex < statements.length - 1; oIndex++, uIndex++) { - const currentStatement = statements[oIndex]; - let newStatement: ts.Statement[] | undefined; - let oldStatementsLength = 0; - - // these can't contain an enum declaration - if (currentStatement.kind === ts.SyntaxKind.ImportDeclaration) { - continue; - } - - // enum declarations must: - // * not be last statement - // * be a variable statement - // * have only one declaration - // * have an identifer as a declaration name - - // ClassExpression declarations must: - // * not be last statement - // * be a variable statement - // * have only one declaration - // * have an ClassExpression or BinaryExpression and a right - // of kind ClassExpression as a initializer - if ( - ts.isVariableStatement(currentStatement) && - currentStatement.declarationList.declarations.length === 1 - ) { - const variableDeclaration = currentStatement.declarationList.declarations[0]; - const initializer = variableDeclaration.initializer; - if (ts.isIdentifier(variableDeclaration.name)) { - const name = variableDeclaration.name.text; - - if (!initializer) { - const iife = findEnumIife(name, statements[oIndex + 1]); - if (iife) { - // update IIFE and replace variable statement and old IIFE - oldStatementsLength = 2; - newStatement = updateEnumIife(nodeFactory, currentStatement, iife[0], iife[1]); - // skip IIFE statement - oIndex++; - } - } else if ( - ts.isClassExpression(initializer) || - (ts.isBinaryExpression(initializer) && ts.isClassExpression(initializer.right)) - ) { - const classStatements = findStatements(name, statements, oIndex); - if (!classStatements) { - continue; - } - - oldStatementsLength = classStatements.length; - newStatement = createWrappedClass(nodeFactory, variableDeclaration, classStatements); - - oIndex += classStatements.length - 1; - } - } - } else if (ts.isClassDeclaration(currentStatement)) { - const name = (currentStatement.name as ts.Identifier).text; - const classStatements = findStatements(name, statements, oIndex); - if (!classStatements) { - continue; - } - - oldStatementsLength = classStatements.length; - newStatement = createWrappedClass(nodeFactory, currentStatement, classStatements); - - oIndex += oldStatementsLength - 1; - } - - if (newStatement && newStatement.length > 0) { - if (!updatedStatements) { - updatedStatements = [...statements]; - } - - updatedStatements.splice(uIndex, oldStatementsLength, ...newStatement); - // When having more than a single new statement - // we need to update the update Index - uIndex += newStatement ? newStatement.length - 1 : 0; - } - - const result = ts.visitNode(currentStatement, visitor); - if (result !== currentStatement) { - if (!updatedStatements) { - updatedStatements = statements.slice(); - } - updatedStatements[uIndex] = result; - } - } - - // if changes, return updated statements - // otherwise, return original array instance - return updatedStatements ? nodeFactory.createNodeArray(updatedStatements) : statements; -} - -// TS 2.3 enums have statements that are inside a IIFE. -function findEnumIife( - name: string, - statement: ts.Statement, -): [ts.CallExpression, ts.Expression | undefined] | null { - if (!ts.isExpressionStatement(statement)) { - return null; - } - - const expression = statement.expression; - if (!expression || !ts.isCallExpression(expression) || expression.arguments.length !== 1) { - return null; - } - - const callExpression = expression; - let exportExpression: ts.Expression | undefined; - - if (!ts.isParenthesizedExpression(callExpression.expression)) { - return null; - } - - const functionExpression = callExpression.expression.expression; - if (!ts.isFunctionExpression(functionExpression)) { - return null; - } - - // The name of the parameter can be different than the name of the enum if it was renamed - // due to scope hoisting. - const parameter = functionExpression.parameters[0]; - if (!ts.isIdentifier(parameter.name)) { - return null; - } - const parameterName = parameter.name.text; - - let argument = callExpression.arguments[0]; - if ( - !ts.isBinaryExpression(argument) || - !ts.isIdentifier(argument.left) || - argument.left.text !== name - ) { - return null; - } - - let potentialExport = false; - if (argument.operatorToken.kind === ts.SyntaxKind.FirstAssignment) { - if ( - ts.isBinaryExpression(argument.right) && - argument.right.operatorToken.kind !== ts.SyntaxKind.BarBarToken - ) { - return null; - } - - potentialExport = true; - argument = argument.right; - } - - if (!ts.isBinaryExpression(argument)) { - return null; - } - - if (argument.operatorToken.kind !== ts.SyntaxKind.BarBarToken) { - return null; - } - - if (potentialExport && !ts.isIdentifier(argument.left)) { - exportExpression = argument.left; - } - - // Go through all the statements and check that all match the name - for (const statement of functionExpression.body.statements) { - if ( - !ts.isExpressionStatement(statement) || - !ts.isBinaryExpression(statement.expression) || - !ts.isElementAccessExpression(statement.expression.left) - ) { - return null; - } - - const leftExpression = statement.expression.left.expression; - if (!ts.isIdentifier(leftExpression) || leftExpression.text !== parameterName) { - return null; - } - } - - return [callExpression, exportExpression]; -} - -function updateHostNode( - nodeFactory: ts.NodeFactory, - hostNode: ts.VariableStatement, - expression: ts.Expression, -): ts.Statement { - // Update existing host node with the pure comment before the variable declaration initializer. - const variableDeclaration = hostNode.declarationList.declarations[0]; - const outerVarStmt = nodeFactory.updateVariableStatement( - hostNode, - hostNode.modifiers, - nodeFactory.updateVariableDeclarationList(hostNode.declarationList, [ - nodeFactory.updateVariableDeclaration( - variableDeclaration, - variableDeclaration.name, - variableDeclaration.exclamationToken, - variableDeclaration.type, - expression, - ), - ]), - ); - - return outerVarStmt; -} - -/** - * Find enums, class expression or declaration statements. - * - * The classExpressions block to wrap in an iife must - * - end with an ExpressionStatement - * - it's expression must be a BinaryExpression - * - have the same name - * - * ``` - let Foo = class Foo {}; - Foo = __decorate([]); - ``` - */ -function findStatements( - name: string, - statements: ts.NodeArray, - statementIndex: number, - offset = 0, -): ts.Statement[] | undefined { - let count = 1; - - for (let index = statementIndex + 1; index < statements.length; ++index) { - const statement = statements[index]; - if (!ts.isExpressionStatement(statement)) { - break; - } - - const expression = statement.expression; - - if (ts.isCallExpression(expression)) { - // Ex: - // setClassMetadata(FooClass, [{}], void 0); - // __decorate([propDecorator()], FooClass.prototype, "propertyName", void 0); - // __decorate([propDecorator()], FooClass, "propertyName", void 0); - // __decorate$1([propDecorator()], FooClass, "propertyName", void 0); - const args = expression.arguments; - - if (args.length > 2) { - const isReferenced = args.some((arg) => { - const potentialIdentifier = ts.isPropertyAccessExpression(arg) ? arg.expression : arg; - - return ts.isIdentifier(potentialIdentifier) && potentialIdentifier.text === name; - }); - - if (isReferenced) { - count++; - continue; - } - } - } else if (ts.isBinaryExpression(expression)) { - const node = ts.isBinaryExpression(expression.left) ? expression.left.left : expression.left; - - const leftExpression = - ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node) - ? // Static Properties // Ex: Foo.bar = 'value'; - // ENUM Property // Ex: ChangeDetectionStrategy[ChangeDetectionStrategy.Default] = "Default"; - node.expression - : // Ex: FooClass = __decorate([Component()], FooClass); - node; - - if (ts.isIdentifier(leftExpression) && leftExpression.text === name) { - count++; - continue; - } - } - - break; - } - - if (count > 1) { - return statements.slice(statementIndex + offset, statementIndex + count); - } - - return undefined; -} - -function updateEnumIife( - nodeFactory: ts.NodeFactory, - hostNode: ts.VariableStatement, - iife: ts.CallExpression, - exportAssignment?: ts.Expression, -): ts.Statement[] { - if ( - !ts.isParenthesizedExpression(iife.expression) || - !ts.isFunctionExpression(iife.expression.expression) - ) { - throw new Error('Invalid IIFE Structure'); - } - - // Ignore export assignment if variable is directly exported - if ( - hostNode.modifiers && - hostNode.modifiers.findIndex((m) => m.kind == ts.SyntaxKind.ExportKeyword) != -1 - ) { - exportAssignment = undefined; - } - - const expression = iife.expression.expression; - const updatedFunction = nodeFactory.updateFunctionExpression( - expression, - expression.modifiers, - expression.asteriskToken, - expression.name, - expression.typeParameters, - expression.parameters, - expression.type, - nodeFactory.updateBlock(expression.body, [ - ...expression.body.statements, - nodeFactory.createReturnStatement(expression.parameters[0].name as ts.Identifier), - ]), - ); - - let arg: ts.Expression = nodeFactory.createObjectLiteralExpression(); - if (exportAssignment) { - arg = nodeFactory.createBinaryExpression(exportAssignment, ts.SyntaxKind.BarBarToken, arg); - } - const updatedIife = nodeFactory.updateCallExpression( - iife, - nodeFactory.updateParenthesizedExpression(iife.expression, updatedFunction), - iife.typeArguments, - [arg], - ); - - let value: ts.Expression = addPureComment(updatedIife); - if (exportAssignment) { - value = nodeFactory.createBinaryExpression( - exportAssignment, - ts.SyntaxKind.FirstAssignment, - updatedIife, - ); - } - - return [updateHostNode(nodeFactory, hostNode, value)]; -} - -function createWrappedClass( - nodeFactory: ts.NodeFactory, - hostNode: ts.ClassDeclaration | ts.VariableDeclaration, - statements: ts.Statement[], -): ts.Statement[] { - const name = (hostNode.name as ts.Identifier).text; - - const updatedStatements = [...statements]; - - if (ts.isClassDeclaration(hostNode)) { - updatedStatements[0] = nodeFactory.createClassDeclaration( - hostNode.decorators, - undefined, - hostNode.name, - hostNode.typeParameters, - hostNode.heritageClauses, - hostNode.members, - ); - } - - const pureIife = addPureComment( - nodeFactory.createImmediatelyInvokedArrowFunction([ - ...updatedStatements, - nodeFactory.createReturnStatement(nodeFactory.createIdentifier(name)), - ]), - ); - - const modifiers = hostNode.modifiers; - const isDefault = !!modifiers && modifiers.some((x) => x.kind === ts.SyntaxKind.DefaultKeyword); - - const newStatement: ts.Statement[] = []; - newStatement.push( - nodeFactory.createVariableStatement( - isDefault ? undefined : modifiers, - nodeFactory.createVariableDeclarationList( - [nodeFactory.createVariableDeclaration(name, undefined, undefined, pureIife)], - ts.NodeFlags.Let, - ), - ), - ); - - if (isDefault) { - newStatement.push( - nodeFactory.createExportAssignment( - undefined, - undefined, - false, - nodeFactory.createIdentifier(name), - ), - ); - } - - return newStatement; -} diff --git a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts b/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts deleted file mode 100644 index 6823581ff225..000000000000 --- a/packages/angular_devkit/build_optimizer/src/transforms/wrap-enums_spec.ts +++ /dev/null @@ -1,653 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { tags } from '@angular-devkit/core'; -import { transformJavascript } from '../helpers/transform-javascript'; -import { getWrapEnumsTransformer } from './wrap-enums'; - -const transform = (content: string) => - transformJavascript({ content, getTransforms: [getWrapEnumsTransformer] }).content; - -describe('wrap enums and classes transformer', () => { - describe('wraps class declarations', () => { - it('should wrap default exported classes', () => { - const defaultClass = tags.stripIndent` - export default class CustomComponentEffects { - constructor(_actions) { - this._actions = _actions; - this.doThis = this._actions; - } - } - CustomComponentEffects.decorators = [{ type: Injectable }]; - `; - - const namedClass = tags.stripIndent` - class CustomComponent { - constructor(_actions) { - this._actions = _actions; - this.doThis = this._actions; - } - } - CustomComponent.decorators = [{ type: Injectable }]; - `; - - const output = tags.stripIndent` - let CustomComponentEffects = /*@__PURE__*/ (() => { - ${defaultClass.replace('export default ', '')} - - return CustomComponentEffects; - })(); - export default CustomComponentEffects; - - let CustomComponent = /*@__PURE__*/ (() => { - ${namedClass} - - return CustomComponent; - })(); - `; - - const input = defaultClass + namedClass; - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('should wrap tsickle emitted classes which followed by metadata', () => { - const input = tags.stripIndent` - class CustomComponentEffects { - constructor(_actions) { - this._actions = _actions; - this.doThis = this._actions; - } - } - CustomComponentEffects.decorators = [{ type: Injectable }]; - CustomComponentEffects.ctorParameters = () => [{ type: Actions }]; - tslib_1.__decorate([ - Effect(), - tslib_1.__metadata("design:type", Object) - ], CustomComponentEffects.prototype, "doThis", void 0); - tslib_1.__decorate([ - Effect({ dispatch: false }), - tslib_1.__metadata("design:type", Object) - ], CustomComponentEffects.prototype, "doThat", void 0); - `; - - const output = tags.stripIndent` - let CustomComponentEffects = /*@__PURE__*/ (() => { - ${input} - - return CustomComponentEffects; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('should not wrap enum like which are inside of methods', () => { - const input = tags.stripIndent` - class LayoutDirective { - constructor(elRef) { } - - applyStyleToElement(element, style, value) { - let styles = {}; - if (typeof style === 'string') { - styles[style] = value; - style = styles; - } - styles = this.layoutConfig.disableVendorPrefixes ? style : applyCssPrefixes(style); - this._applyMultiValueStyleToElement(styles, element); - } - } - LayoutDirective.ctorParameters = () => [ - { type: ElementRef } - ]; - `; - - const output = tags.stripIndent` - let LayoutDirective = /*@__PURE__*/ (() => { - ${input} - - return LayoutDirective; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('should ClassDeclarations that are referenced with in CallExpressions', () => { - const input = tags.stripIndent` - class ApplicationModule { - constructor(appRef) { } - } - ApplicationModule.ɵmod = ɵɵdefineNgModule({ type: ApplicationModule }); - /*@__PURE__*/ setClassMetadata(ApplicationModule, [{ - type: NgModule, - args: [{ providers: APPLICATION_MODULE_PROVIDERS }] - }], function () { return [{ type: ApplicationRef }]; }, { constructor: [] }); - ApplicationModule.ctorParameters = () => [ - { type: ApplicationRef } - ]; - `; - - const output = tags.stripIndent` - let ApplicationModule = /*@__PURE__*/ (() => { - ${input} - - return ApplicationModule; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('with nested static properties in IIFE', () => { - const input = tags.stripIndent` - class CommonModule { } - CommonModule.ɵmod = defineNgModule({ - type: CommonModule - }), CommonModule.ngInjectorDef = defineInjector({ - factory: function (t) { - return new (t || CommonModule)(); - }, - providers: [{ - provide: NgLocalization, - useClass: NgLocaleLocalization - }] - }); - `; - - const output = tags.stripIndent` - let CommonModule = /*@__PURE__*/ (() => { - ${input} - - return CommonModule; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('with property decorators in IIFE', () => { - const input = tags.stripIndent` - export class Foo { - method() { - } - } - Foo.bar = 'barValue'; - __decorate([ - methodDecorator - ], Foo.prototype, "method", null); - `; - - const output = tags.stripIndent` - export let Foo = /*@__PURE__*/ (() => { - ${input.replace('export ', '')} - - return Foo; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('folds static properties in IIFE', () => { - const input = tags.stripIndent` - export class TemplateRef { } - TemplateRef.__NG_ELEMENT_ID__ = () => SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef); - `; - const output = tags.stripIndent` - export let TemplateRef = /*@__PURE__*/ (() => { - class TemplateRef { } - TemplateRef.__NG_ELEMENT_ID__ = () => SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef); - return TemplateRef; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('folds multiple static properties into class', () => { - const input = tags.stripIndent` - export class TemplateRef { } - TemplateRef.__NG_ELEMENT_ID__ = () => SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef); - TemplateRef.somethingElse = true; - `; - const output = tags.stripIndent` - export let TemplateRef = /*@__PURE__*/ (() => { - class TemplateRef { - } - TemplateRef.__NG_ELEMENT_ID__ = () => SWITCH_TEMPLATE_REF_FACTORY(TemplateRef, ElementRef); - TemplateRef.somethingElse = true; - return TemplateRef; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it(`doesn't wrap classes without static properties in IIFE`, () => { - const input = tags.stripIndent` - export class TemplateRef { } - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${input}`); - }); - }); - - describe('wrap class expressions', () => { - it('should wrap default exported classes', () => { - const defaultClass = tags.stripIndent` - let Foo = class Foo { - }; - Foo.bar = 'bar'; - Foo = __decorate([ - component() - ], Foo); - export default Foo; - `; - - const namedClass = tags.stripIndent` - let AggregateColumnDirective = class AggregateColumnDirective { - constructor(viewContainerRef) { } - }; - AggregateColumnDirective = __decorate([ - Directive({}), - __metadata("design:paramtypes", [ViewContainerRef]) - ], AggregateColumnDirective); - `; - - const output = tags.stripIndent` - let Foo = /*@__PURE__*/ (() => { - ${defaultClass.replace('export default Foo;', '')} - - return Foo; - })(); - export default Foo; - - let AggregateColumnDirective = /*@__PURE__*/ (() => { - ${namedClass} - - return AggregateColumnDirective; - })(); - `; - - const input = defaultClass + namedClass; - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('without property decorators in IIFE', () => { - const input = tags.stripIndent` - let AggregateColumnDirective = class AggregateColumnDirective { - constructor(viewContainerRef) { } - }; - AggregateColumnDirective = __decorate([ - Directive({}), - __metadata("design:paramtypes", [ViewContainerRef]) - ], AggregateColumnDirective); - `; - - const output = tags.stripIndent` - let AggregateColumnDirective = /*@__PURE__*/ (() => { - ${input} - - return AggregateColumnDirective; - })(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('with forwardRef in IIFE', () => { - const classContent = tags.stripIndent` - let FooDirective = FooDirective_1 = class FooDirective { - constructor(parent) { } - }; - FooDirective = FooDirective_1 = __decorate([ - Directive({ - selector: '[libUnshakeable2]', - }), - __param(0, SkipSelf()), __param(0, Inject(forwardRef(() => FooDirective_1))), - __metadata("design:paramtypes", [FooDirective]) - ], FooDirective); - `; - - const input = tags.stripIndent` - var FooDirective_1; - ${classContent} - export { FooDirective }; - `; - - const output = tags.stripIndent` - var FooDirective_1; - let FooDirective = /*@__PURE__*/ (() => { - ${classContent} - - return FooDirective; - })(); - export { FooDirective }; - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('with property decorators in IIFE', () => { - const input = tags.stripIndent` - let ChipList = class ChipList extends Component { - constructor(options, element) { - super(options, element); - } - }; - __decorate$4([Property([])], ChipList.prototype, "chips", void 0); - ChipList = __decorate$4([NotifyPropertyChanges], ChipList); - `; - - const output = tags.stripIndent` - let ChipList = /*@__PURE__*/ (() => { - ${input} - return ChipList; - })();`; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('should not wrap without decorators', () => { - const input = tags.stripIndent` - let ChipList = class ChipList extends Component { - constructor(options, element) { - super(options, element); - } - }; - fooBar(); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${input}`); - }); - - it('should wrap ClassExpression with property decorators and static property in IIFE', () => { - const input = tags.stripIndent` - let ChipList = class ChipList extends Component { - constructor(options, element) { - super(options, element); - } - }; - ChipList.prop = 1; - __decorate$4([Property([])], ChipList.prototype, "chips", void 0); - ChipList = __decorate$4([NotifyPropertyChanges], ChipList);`; - - const output = tags.stripIndent` - let ChipList = /*@__PURE__*/ (() => { - ${input} - return ChipList; - })();`; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('should wrap multiple ClassExpression in IIFE', () => { - const firstClass = ` - let AggregateColumnDirective = class AggregateColumnDirective { - constructor(viewContainerRef) { } - }; - AggregateColumnDirective = __decorate([ - Directive({}), - __metadata("design:paramtypes", [ViewContainerRef]) - ], AggregateColumnDirective); - `; - - const secondClass = ` - let ChipList = class ChipList extends Component { - constructor(options, element) { - super(options, element); - } - }; - __decorate$4([Property([])], ChipList.prototype, "chips", void 0); - ChipList = __decorate$4([NotifyPropertyChanges], ChipList); - `; - - const input = tags.stripIndent` - const minutesMilliSeconds = 60000; - - ${firstClass} - - const CSS = 'e-css'; - const PRIMARY = 'e-primary'; - - ${secondClass} - - const chipList = new ChipList({}, {}); - `; - - const output = tags.stripIndent` - const minutesMilliSeconds = 60000; - - let AggregateColumnDirective = /*@__PURE__*/ (() => { - ${firstClass} - - return AggregateColumnDirective; - })(); - - const CSS = 'e-css'; - const PRIMARY = 'e-primary'; - - let ChipList = /*@__PURE__*/ (() => { - ${secondClass} - - return ChipList; - })(); - - const chipList = new ChipList({}, {}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); - - describe('wrap enums', () => { - it('should not wrap enum like object literal declarations', () => { - const input = tags.stripIndent` - const RendererStyleFlags3 = { - Important: 1, - DashCase: 2, - }; - if (typeof RendererStyleFlags3 === 'object') { - RendererStyleFlags3[RendererStyleFlags3.Important] = 'DashCase'; - } - RendererStyleFlags3[RendererStyleFlags3.Important] = 'Important'; - `; - const output = input; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('wraps ts >2.3 enums in IIFE', () => { - const input = tags.stripIndent` - export var ChangeDetectionStrategy; - (function (ChangeDetectionStrategy) { - ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush"; - ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; - })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {})); - `; - const output = tags.stripIndent` - export var ChangeDetectionStrategy = /*@__PURE__*/ (function (ChangeDetectionStrategy) { - ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush"; - ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; - return ChangeDetectionStrategy; - })({}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('wraps ts >2.3 enums in IIFE, even if they have funny numbers', () => { - const input = tags.stripIndent` - export var AnimatorControlState; - (function (AnimatorControlState) { - AnimatorControlState[AnimatorControlState["INITIALIZED"] = 1] = "INITIALIZED"; - AnimatorControlState[AnimatorControlState["STARTED"] = 2] = "STARTED"; - AnimatorControlState[AnimatorControlState["FINISHED"] = 3] = "FINISHED"; - AnimatorControlState[AnimatorControlState["DESTROYED"] = 4] = "DESTROYED"; - })(AnimatorControlState || (AnimatorControlState = {})); - `; - const output = tags.stripIndent` - export var AnimatorControlState = /*@__PURE__*/ (function (AnimatorControlState) { - AnimatorControlState[AnimatorControlState["INITIALIZED"] = 1] = "INITIALIZED"; - AnimatorControlState[AnimatorControlState["STARTED"] = 2] = "STARTED"; - AnimatorControlState[AnimatorControlState["FINISHED"] = 3] = "FINISHED"; - AnimatorControlState[AnimatorControlState["DESTROYED"] = 4] = "DESTROYED"; - return AnimatorControlState; - })({}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('wraps ts >2.3 enums in IIFE, even if they were renamed due to scope hoisting', () => { - const input = tags.stripIndent` - var TokenType$1; - (function (TokenType) { - TokenType[TokenType["TAG_OPEN_START"] = 0] = "TAG_OPEN_START"; - TokenType[TokenType["TAG_OPEN_END"] = 1] = "TAG_OPEN_END"; - TokenType[TokenType["TAG_OPEN_END_VOID"] = 2] = "TAG_OPEN_END_VOID"; - TokenType[TokenType["TAG_CLOSE"] = 3] = "TAG_CLOSE"; - TokenType[TokenType["TEXT"] = 4] = "TEXT"; - TokenType[TokenType["ESCAPABLE_RAW_TEXT"] = 5] = "ESCAPABLE_RAW_TEXT"; - TokenType[TokenType["RAW_TEXT"] = 6] = "RAW_TEXT"; - TokenType[TokenType["COMMENT_START"] = 7] = "COMMENT_START"; - TokenType[TokenType["COMMENT_END"] = 8] = "COMMENT_END"; - TokenType[TokenType["CDATA_START"] = 9] = "CDATA_START"; - TokenType[TokenType["CDATA_END"] = 10] = "CDATA_END"; - TokenType[TokenType["ATTR_NAME"] = 11] = "ATTR_NAME"; - TokenType[TokenType["ATTR_VALUE"] = 12] = "ATTR_VALUE"; - TokenType[TokenType["DOC_TYPE"] = 13] = "DOC_TYPE"; - TokenType[TokenType["EXPANSION_FORM_START"] = 14] = "EXPANSION_FORM_START"; - TokenType[TokenType["EXPANSION_CASE_VALUE"] = 15] = "EXPANSION_CASE_VALUE"; - TokenType[TokenType["EXPANSION_CASE_EXP_START"] = 16] = "EXPANSION_CASE_EXP_START"; - TokenType[TokenType["EXPANSION_CASE_EXP_END"] = 17] = "EXPANSION_CASE_EXP_END"; - TokenType[TokenType["EXPANSION_FORM_END"] = 18] = "EXPANSION_FORM_END"; - TokenType[TokenType["EOF"] = 19] = "EOF"; - })(TokenType$1 || (TokenType$1 = {})); - `; - const output = tags.stripIndent` - var TokenType$1 = /*@__PURE__*/ (function (TokenType) { - TokenType[TokenType["TAG_OPEN_START"] = 0] = "TAG_OPEN_START"; - TokenType[TokenType["TAG_OPEN_END"] = 1] = "TAG_OPEN_END"; - TokenType[TokenType["TAG_OPEN_END_VOID"] = 2] = "TAG_OPEN_END_VOID"; - TokenType[TokenType["TAG_CLOSE"] = 3] = "TAG_CLOSE"; - TokenType[TokenType["TEXT"] = 4] = "TEXT"; - TokenType[TokenType["ESCAPABLE_RAW_TEXT"] = 5] = "ESCAPABLE_RAW_TEXT"; - TokenType[TokenType["RAW_TEXT"] = 6] = "RAW_TEXT"; - TokenType[TokenType["COMMENT_START"] = 7] = "COMMENT_START"; - TokenType[TokenType["COMMENT_END"] = 8] = "COMMENT_END"; - TokenType[TokenType["CDATA_START"] = 9] = "CDATA_START"; - TokenType[TokenType["CDATA_END"] = 10] = "CDATA_END"; - TokenType[TokenType["ATTR_NAME"] = 11] = "ATTR_NAME"; - TokenType[TokenType["ATTR_VALUE"] = 12] = "ATTR_VALUE"; - TokenType[TokenType["DOC_TYPE"] = 13] = "DOC_TYPE"; - TokenType[TokenType["EXPANSION_FORM_START"] = 14] = "EXPANSION_FORM_START"; - TokenType[TokenType["EXPANSION_CASE_VALUE"] = 15] = "EXPANSION_CASE_VALUE"; - TokenType[TokenType["EXPANSION_CASE_EXP_START"] = 16] = "EXPANSION_CASE_EXP_START"; - TokenType[TokenType["EXPANSION_CASE_EXP_END"] = 17] = "EXPANSION_CASE_EXP_END"; - TokenType[TokenType["EXPANSION_FORM_END"] = 18] = "EXPANSION_FORM_END"; - TokenType[TokenType["EOF"] = 19] = "EOF"; - return TokenType; - })({}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('wraps TS string enums in IIFE', () => { - const input = tags.stripIndent` - export var NotificationKind; - (function (NotificationKind) { - NotificationKind["NEXT"] = "N"; - NotificationKind["ERROR"] = "E"; - NotificationKind["COMPLETE"] = "C"; - })(NotificationKind || (NotificationKind = {})); - `; - const output = tags.stripIndent` - export var NotificationKind = /*@__PURE__*/ (function (NotificationKind) { - NotificationKind["NEXT"] = "N"; - NotificationKind["ERROR"] = "E"; - NotificationKind["COMPLETE"] = "C"; - return NotificationKind; - })({}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('wraps enums with multi-line comments in IIFE', () => { - const input = tags.stripIndent` - /** - * Supported http methods. - * @deprecated use @angular/common/http instead - */ - var RequestMethod; - /** - * Supported http methods. - * @deprecated use @angular/common/http instead - */ - (function (RequestMethod) { - RequestMethod[RequestMethod["Get"] = 0] = "Get"; - RequestMethod[RequestMethod["Post"] = 1] = "Post"; - RequestMethod[RequestMethod["Put"] = 2] = "Put"; - RequestMethod[RequestMethod["Delete"] = 3] = "Delete"; - RequestMethod[RequestMethod["Options"] = 4] = "Options"; - RequestMethod[RequestMethod["Head"] = 5] = "Head"; - RequestMethod[RequestMethod["Patch"] = 6] = "Patch"; - })(RequestMethod || (RequestMethod = {})); - `; - // We need to interpolate this space because our editorconfig automatically strips - // trailing whitespace. - const space = ' '; - const output = tags.stripIndent` - /** - * Supported http methods. - * @deprecated use @angular/common/http instead - */ - var RequestMethod =${space} - /** - * Supported http methods. - * @deprecated use @angular/common/http instead - */ - /*@__PURE__*/ (function (RequestMethod) { - RequestMethod[RequestMethod["Get"] = 0] = "Get"; - RequestMethod[RequestMethod["Post"] = 1] = "Post"; - RequestMethod[RequestMethod["Put"] = 2] = "Put"; - RequestMethod[RequestMethod["Delete"] = 3] = "Delete"; - RequestMethod[RequestMethod["Options"] = 4] = "Options"; - RequestMethod[RequestMethod["Head"] = 5] = "Head"; - RequestMethod[RequestMethod["Patch"] = 6] = "Patch"; - return RequestMethod; - })({}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - - it('wraps exported enums in IIFE', () => { - const input = tags.stripIndent` - var ExportEnum; - (function (ExportEnum) { - ExportEnum[ExportEnum["A"] = 0] = "A"; - ExportEnum[ExportEnum["B"] = 1] = "B"; - ExportEnum[ExportEnum["C"] = 2] = "C"; - })(ExportEnum = exports.ExportEnum || (exports.ExportEnum = {})); - `; - const output = tags.stripIndent` - var ExportEnum = exports.ExportEnum = /*@__PURE__*/ (function (ExportEnum) { - ExportEnum[ExportEnum["A"] = 0] = "A"; - ExportEnum[ExportEnum["B"] = 1] = "B"; - ExportEnum[ExportEnum["C"] = 2] = "C"; - return ExportEnum; - })(exports.ExportEnum || {}); - `; - - expect(tags.oneLine`${transform(input)}`).toEqual(tags.oneLine`${output}`); - }); - }); -}); diff --git a/packages/angular_devkit/build_optimizer/webpack-loader/package.json b/packages/angular_devkit/build_optimizer/webpack-loader/package.json deleted file mode 100644 index a18ef898c128..000000000000 --- a/packages/angular_devkit/build_optimizer/webpack-loader/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "main": "../src/build-optimizer/webpack-loader.js" -} diff --git a/packages/circular-deps-test.conf.js b/packages/circular-deps-test.conf.js index fd4f8e9093d5..1708eb7b1f4a 100644 --- a/packages/circular-deps-test.conf.js +++ b/packages/circular-deps-test.conf.js @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -const path = require('path'); const fs = require('fs'); +const path = require('path'); module.exports = { baseDir: '../', @@ -22,13 +22,11 @@ module.exports = { * Custom module resolver that maps specifiers for local packages folder. * This ensures that cross package/entry-point dependencies can be detected. */ - const LOCAL_MAPPINGS = [ ['@angular-devkit/build-angular', 'angular_devkit/build_angular'], ['@angular-devkit/architect', 'angular_devkit/architect'], ['@angular-devkit/architect-cli', 'angular_devkit/architect_cli'], ['@angular-devkit/benchmark', 'angular_devkit/benchmark'], - ['@angular-devkit/build-optimizer', 'angular_devkit/build_optimizer'], ['@angular-devkit/build-webpack', 'angular_devkit/build_webpack'], ['@angular-devkit/core', 'angular_devkit/core'], ['@angular-devkit/schematics', 'angular_devkit/schematics'], diff --git a/tsconfig.json b/tsconfig.json index 8bcae91cab79..222e9038ccb6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,7 +31,6 @@ ], "@angular-devkit/schematics/tools": ["./packages/angular_devkit/schematics/tools/index"], "@angular-devkit/schematics/testing": ["./packages/angular_devkit/schematics/testing/index"], - "@angular-devkit/build-optimizer": ["./packages/angular_devkit/build_optimizer/src/index"], "@angular-devkit/architect": ["./packages/angular_devkit/architect/src/index"], "@angular-devkit/architect/testing": ["./packages/angular_devkit/architect/testing/index"], "@angular-devkit/build-angular": ["./packages/angular_devkit/build_angular/src/index"], From 9277eed1d9603d5e258eb7ae27de527eba919482 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 25 Jan 2022 17:18:42 +0100 Subject: [PATCH 0028/1388] refactor(@ngtools/webpack): remove deprecated ivy namespace BREAKING CHANGE: `ivy` namespace has been removed from the public API. - `ivy.AngularWebpackPlugin` -> `AngularWebpackPlugin` - `ivy.AngularPluginOptions` -> `AngularPluginOptions` --- goldens/public-api/ngtools/webpack/src/index.md | 12 ------------ packages/ngtools/webpack/src/index.ts | 13 ------------- 2 files changed, 25 deletions(-) diff --git a/goldens/public-api/ngtools/webpack/src/index.md b/goldens/public-api/ngtools/webpack/src/index.md index ed0f9099d782..9a46e07e5036 100644 --- a/goldens/public-api/ngtools/webpack/src/index.md +++ b/goldens/public-api/ngtools/webpack/src/index.md @@ -46,18 +46,6 @@ export interface AngularWebpackPluginOptions { tsconfig: string; } -// @public @deprecated (undocumented) -export namespace ivy { - const // (undocumented) - AngularWebpackLoaderPath: string; - const // (undocumented) - AngularWebpackPlugin: typeof ivyInternal.AngularWebpackPlugin; - // (undocumented) - export type AngularPluginOptions = ivyInternal.AngularWebpackPluginOptions; - // (undocumented) - export type AngularWebpackPlugin = ivyInternal.AngularWebpackPlugin; -} - // (No @packageDocumentation comment for this package) ``` diff --git a/packages/ngtools/webpack/src/index.ts b/packages/ngtools/webpack/src/index.ts index 0d93f5aad6b4..5b077451e9c3 100644 --- a/packages/ngtools/webpack/src/index.ts +++ b/packages/ngtools/webpack/src/index.ts @@ -6,22 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import * as ivyInternal from './ivy'; - export { AngularWebpackLoaderPath, AngularWebpackPlugin, AngularWebpackPluginOptions, default, } from './ivy'; - -/** @deprecated Deprecated as of v12, please use the direct exports - * (`AngularWebpackPlugin` instead of `ivy.AngularWebpackPlugin`) - */ -// eslint-disable-next-line @typescript-eslint/no-namespace -export namespace ivy { - export const AngularWebpackLoaderPath = ivyInternal.AngularWebpackLoaderPath; - export const AngularWebpackPlugin = ivyInternal.AngularWebpackPlugin; - export type AngularWebpackPlugin = ivyInternal.AngularWebpackPlugin; - export type AngularPluginOptions = ivyInternal.AngularWebpackPluginOptions; -} From d94a67353dcdaa30cf5487744a7ef151a6268f2d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 25 Jan 2022 16:48:00 +0100 Subject: [PATCH 0029/1388] refactor(@angular/cli): remove deprecated `--all` option from `ng update` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BREAKING CHANGE: `--all` option from `ng update` has been removed without replacement. To update packages which don’t provide `ng update` capabilities in your workspace `package.json` use `npm update`, `yarn upgrade-interactive` or `yarn upgrade` instead. --- docs/specifications/update.md | 1 - packages/angular/cli/commands/update-impl.ts | 15 --------------- packages/angular/cli/commands/update.json | 6 ------ .../cli/src/commands/update/schematic/index.ts | 4 +--- 4 files changed, 1 insertion(+), 25 deletions(-) diff --git a/docs/specifications/update.md b/docs/specifications/update.md index 00f1d3f2819b..e8ec31034b85 100644 --- a/docs/specifications/update.md +++ b/docs/specifications/update.md @@ -14,7 +14,6 @@ You can specify more than one package. Each package follows the convention of `[ | Flag | Argument | Description | | ---------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `--all` | `boolean` | If true, implies that all dependencies should be updated. Defaults is false, using dependencies from the command line instead. | | `--force` | `boolean` | If true, skip the verification step and perform the update even if some peer dependencies would be invalidated. Peer dependencies errors will still be shown as warning. Defaults to false. | | `--next` | `boolean` | If true, allows version discovery to include Beta and RC. Defaults to false. | | `--migrate-only` | `boolean` | If true, don't change the `package.json` file, only apply migration scripts. | diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index 23aca0a5861e..9acd390c71b1 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -297,21 +297,6 @@ export class UpdateCommand extends Command { } }; - if (options.all) { - const updateCmd = - this.packageManager === PackageManager.Yarn - ? `'yarn upgrade-interactive' or 'yarn upgrade'` - : `'${this.packageManager} update'`; - - this.logger.warn(` - '--all' functionality has been removed as updating multiple packages at once is not recommended. - To update packages which don’t provide 'ng update' capabilities in your workspace 'package.json' use ${updateCmd} instead. - Run the package manager update command after updating packages which provide 'ng update' capabilities. - `); - - return 0; - } - const packages: PackageIdentifier[] = []; for (const request of options['--'] || []) { try { diff --git a/packages/angular/cli/commands/update.json b/packages/angular/cli/commands/update.json index 7de5a1935146..043cedcd3cb2 100644 --- a/packages/angular/cli/commands/update.json +++ b/packages/angular/cli/commands/update.json @@ -32,12 +32,6 @@ "default": false, "type": "boolean" }, - "all": { - "description": "Whether to update all packages in package.json.", - "default": false, - "type": "boolean", - "x-deprecated": true - }, "next": { "description": "Use the prerelease version, including beta and RCs.", "default": false, diff --git a/packages/angular/cli/src/commands/update/schematic/index.ts b/packages/angular/cli/src/commands/update/schematic/index.ts index a0b92febe48b..76f3e0a09f43 100644 --- a/packages/angular/cli/src/commands/update/schematic/index.ts +++ b/packages/angular/cli/src/commands/update/schematic/index.ts @@ -852,9 +852,7 @@ export default function (options: UpdateSchema): Rule { const npmPackageJsonMap = allPackageMetadata.reduce((acc, npmPackageJson) => { // If the package was not found on the registry. It could be private, so we will just // ignore. If the package was part of the list, we will error out, but will simply ignore - // if it's either not requested (so just part of package.json. silently) or if it's a - // `--all` situation. There is an edge case here where a public package peer depends on a - // private one, but it's rare enough. + // if it's either not requested (so just part of package.json. silently). if (!npmPackageJson.name) { if (npmPackageJson.requestedName && packages.has(npmPackageJson.requestedName)) { throw new SchematicsException( From 28b0cdc9668413827b0b665959d152a50713dbf0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 25 Jan 2022 14:54:59 +0100 Subject: [PATCH 0030/1388] refactor(@schematics/angular): remove version 13 migrations These migrations cannot be used with version Angular CLI 14, since `ng update` will not allow updating multiple versions at once. --- .../migrations/migration-collection.json | 28 +- .../migrations/update-13/drop-ie-polyfills.ts | 333 --------- .../update-13/drop-ie-polyfills_spec.ts | 659 ------------------ .../migrations/update-13/schematic-options.ts | 55 -- .../update-13/schematic-options_spec.ts | 76 -- .../update-13/update-angular-config.ts | 41 -- .../update-13/update-angular-config_spec.ts | 95 --- .../migrations/update-13/update-gitignore.ts | 51 -- .../update-13/update-gitignore_spec.ts | 128 ---- .../migrations/update-13/update-libraries.ts | 102 --- .../update-13/update-libraries_spec.ts | 172 ----- 11 files changed, 1 insertion(+), 1739 deletions(-) delete mode 100644 packages/schematics/angular/migrations/update-13/drop-ie-polyfills.ts delete mode 100644 packages/schematics/angular/migrations/update-13/drop-ie-polyfills_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-13/schematic-options.ts delete mode 100644 packages/schematics/angular/migrations/update-13/schematic-options_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-13/update-angular-config.ts delete mode 100644 packages/schematics/angular/migrations/update-13/update-angular-config_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-13/update-gitignore.ts delete mode 100644 packages/schematics/angular/migrations/update-13/update-gitignore_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-13/update-libraries.ts delete mode 100644 packages/schematics/angular/migrations/update-13/update-libraries_spec.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 7f7835399925..63001b445889 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -1,29 +1,3 @@ { - "schematics": { - "schematic-options-13": { - "version": "13.0.0", - "factory": "./update-13/schematic-options", - "description": "Remove no longer valid Angular schematic options from `angular.json`." - }, - "update-angular-config-v13": { - "version": "13.0.0", - "factory": "./update-13/update-angular-config", - "description": "Remove deprecated options from 'angular.json' that are no longer present in v13." - }, - "update-libraries-v13": { - "version": "13.0.0", - "factory": "./update-13/update-libraries", - "description": "Update library projects to be published in partial mode and removed deprecated options from ng-packagr configuration." - }, - "drop-ie-polyfills": { - "version": "13.0.0", - "factory": "./update-13/drop-ie-polyfills", - "description": "Remove polyfills required only for Internet Explorer which is no longer supported." - }, - "update-gitignore": { - "version": "13.0.0", - "factory": "./update-13/update-gitignore", - "description": "Updating '.gitignore' to include '.angular/cache'." - } - } + "schematics": {} } diff --git a/packages/schematics/angular/migrations/update-13/drop-ie-polyfills.ts b/packages/schematics/angular/migrations/update-13/drop-ie-polyfills.ts deleted file mode 100644 index 0345b5b654b8..000000000000 --- a/packages/schematics/angular/migrations/update-13/drop-ie-polyfills.ts +++ /dev/null @@ -1,333 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule, SchematicContext, Tree, UpdateRecorder, chain } from '@angular-devkit/schematics'; -import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; -import assert from 'assert'; -import * as ts from '../../third_party/github.com/Microsoft/TypeScript/lib/typescript'; -import { - NodeDependency, - getPackageJsonDependency, - removePackageJsonDependency, -} from '../../utility/dependencies'; -import { allWorkspaceTargets, getWorkspace } from '../../utility/workspace'; - -/** - * Migrates all polyfills files of projects to remove two dependencies originally needed by Internet - * Explorer, but which are no longer needed now that support for IE has been dropped (`classlist.js` - * and `web-animations-js`). - * - * The polyfills file includes side-effectful imports of these dependencies with comments about - * their usage: - * - * ``` - * /** - * * IE11 requires the following for NgClass support on SVG elements - * *\/ - * import 'classlist.js'; - * - * /** - * * Web Animations `@angular/platform-browser/animations` - * * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - * *\/ - * import 'web-animations-js'; - * ``` - * - * This migration removes the `import` statements as well as any preceeding comments. It also - * removes these dependencies from `package.json` if present and schedules an `npm install` task to - * remove them from `node_modules/`. - * - * Also, the polyfills file has previously been generated with these imports commented out, to not - * include the dependencies by default, but still allow users to easily uncomment and enable them - * when required. So the migration also looks for: - * - * ``` - * // import 'classlist.js'; // Run `npm install --save classlist.js`. - * // OR - * // import 'web-animations-js'; // Run `npm install --save web-animations-js`. - * ``` - * - * And removes them as well. This keeps the polyfills files clean and up to date. Whitespace is - * handled by leaving all trailing whitespace alone, and deleting all the leading newlines until the - * previous non-empty line of code. This means any extra lines before a removed polyfill is dropped, - * while any extra lines after a polyfill are retained. This roughly correlates to how a real - * developer might write such a file. - */ -export default function (): Rule { - return async (tree: Tree, ctx: SchematicContext) => { - const modulesToDrop = new Set(['classlist.js', 'web-animations-js']); - - // Remove modules from `package.json` dependencies. - const moduleDeps = Array.from(modulesToDrop.values()) - .map((module) => getPackageJsonDependency(tree, module)) - .filter((dep) => !!dep) as NodeDependency[]; - for (const { name } of moduleDeps) { - removePackageJsonDependency(tree, name); - } - - // Run `npm install` after removal. This isn't strictly necessary, as keeping the dependencies - // in `node_modules/` doesn't break anything. however non-polyfill usages of these dependencies - // will work while they are in `node_modules/` but then break on the next `npm install`. If any - // such usages exist, it is better for them to fail immediately after the migration instead of - // the next time the user happens to `npm install`. As an optimization, only run `npm install` - // if a dependency was actually removed. - if (moduleDeps.length > 0) { - ctx.addTask(new NodePackageInstallTask()); - } - - // Find all the polyfill files in the workspace. - const wksp = await getWorkspace(tree); - const polyfills = Array.from(allWorkspaceTargets(wksp)) - .filter(([_, target]) => !!target.options?.polyfills) - .map(([_, target]) => target.options?.polyfills as string); - const uniquePolyfills = Array.from(new Set(polyfills)); - - // Drop the modules from each polyfill. - return chain(uniquePolyfills.map((polyfillPath) => dropModules(polyfillPath, modulesToDrop))); - }; -} - -/** Processes the given polyfill path and removes any `import` statements for the given modules. */ -function dropModules(polyfillPath: string, modules: Set): Rule { - return (tree: Tree, ctx: SchematicContext) => { - const sourceContent = tree.read(polyfillPath); - if (!sourceContent) { - ctx.logger.warn( - 'Polyfill path from workspace configuration could not be read, does the file exist?', - { polyfillPath }, - ); - - return; - } - const content = sourceContent.toString('utf8'); - - const sourceFile = ts.createSourceFile( - polyfillPath, - content.replace(/^\uFEFF/, ''), - ts.ScriptTarget.Latest, - true /* setParentNodes */, - ); - - // Remove polyfills for the given module specifiers. - const recorder = tree.beginUpdate(polyfillPath); - removePolyfillImports(recorder, sourceFile, modules); - removePolyfillImportComments(recorder, sourceFile, modules); - tree.commitUpdate(recorder); - - return tree; - }; -} - -/** - * Searches the source file for any `import '${module}';` statements and removes them along with - * any preceeding comments. - * - * @param recorder The recorder to remove from. - * @param sourceFile The source file containing the `import` statements. - * @param modules The module specifiers to remove. - */ -function removePolyfillImports( - recorder: UpdateRecorder, - sourceFile: ts.SourceFile, - modules: Set, -): void { - const imports = sourceFile.statements.filter((stmt) => - ts.isImportDeclaration(stmt), - ) as ts.ImportDeclaration[]; - - for (const i of imports) { - // Should always be a string literal. - assert(ts.isStringLiteral(i.moduleSpecifier)); - - // Ignore other modules. - if (!modules.has(i.moduleSpecifier.text)) { - continue; - } - - // Remove the module import statement. - recorder.remove(i.getStart(), i.getWidth()); - - // Remove leading comments. "Leading" comments seems to include comments within the node, so - // even though `getFullText()` returns an index before any leading comments to a node, it will - // still find and process them. - ts.forEachLeadingCommentRange( - sourceFile.getFullText(), - i.getFullStart(), - (start, end, _, hasTrailingNewLine) => { - // Include both leading **and** trailing newlines because these are comments that *preceed* - // the `import` statement, so "trailing" newlines here are actually in-between the `import` - // and it's leading comments. - const commentRangeWithoutNewLines = { start, end }; - const commentRangeWithTrailingNewLines = hasTrailingNewLine - ? includeTrailingNewLine(sourceFile, commentRangeWithoutNewLines) - : commentRangeWithoutNewLines; - const commentRange = includeLeadingNewLines(sourceFile, commentRangeWithTrailingNewLines); - - if (!isProtectedComment(sourceFile, commentRange)) { - recorder.remove(commentRange.start, commentRange.end - commentRange.start); - } - }, - ); - } -} - -/** - * Searches the source file for any `// import '${module}';` comments and removes them along with - * any preceeding comments. - * - * Recent `ng new` invocations generate polyfills commented out and not used by default. Ex: - * /** - * * IE11 requires the following for NgClass support on SVG elements - * *\/ - * // import 'classlist.js'; // Run `npm install --save classlist.js`. - * - * This function identifies any commented out import statements for the given module specifiers and - * removes them along with immediately preceeding comments. - * - * @param recorder The recorder to remove from. - * @param sourceFile The source file containing the commented `import` statements. - * @param modules The module specifiers to remove. - */ -function removePolyfillImportComments( - recorder: UpdateRecorder, - sourceFile: ts.SourceFile, - modules: Set, -): void { - // Find all comment ranges in the source file. - const commentRanges = getCommentRanges(sourceFile); - - // Find the indexes of comments which contain `import` statements for the given modules. - const moduleImportCommentIndexes = filterIndex(commentRanges, ({ start, end }) => { - const comment = getCommentText(sourceFile.getFullText().slice(start, end)); - - return Array.from(modules.values()).some((module) => comment.startsWith(`import '${module}';`)); - }); - - // Use the module import comment **and** it's preceding comment if present. - const commentIndexesToRemove = moduleImportCommentIndexes.flatMap((index) => { - if (index === 0) { - return [0]; - } else { - return [index - 1, index]; - } - }); - - // Get all the ranges for the comments to remove. - const commentRangesToRemove = commentIndexesToRemove - .map((index) => commentRanges[index]) - // Include leading newlines but **not** trailing newlines in order to leave appropriate space - // between any remaining polyfills. - .map((range) => includeLeadingNewLines(sourceFile, range)) - .filter((range) => !isProtectedComment(sourceFile, range)); - - // Remove the comments. - for (const { start, end } of commentRangesToRemove) { - recorder.remove(start, end - start); - } -} - -/** Represents a segment of text in a source file starting and ending at the given offsets. */ -interface SourceRange { - start: number; - end: number; -} - -/** - * Returns whether a comment range is "protected", meaning it should **not** be deleted. - * - * There are two comments which are considered "protected": - * 1. The file overview doc comment previously generated by `ng new`. - * 2. The browser polyfills header (/***** BROWSER POLYFILLS *\/). - */ -function isProtectedComment(sourceFile: ts.SourceFile, { start, end }: SourceRange): boolean { - const comment = getCommentText(sourceFile.getFullText().slice(start, end)); - - const isFileOverviewDocComment = comment.startsWith( - 'This file includes polyfills needed by Angular and is loaded before the app.', - ); - const isBrowserPolyfillsHeader = comment.startsWith('BROWSER POLYFILLS'); - - return isFileOverviewDocComment || isBrowserPolyfillsHeader; -} - -/** Returns all the comments in the given source file. */ -function getCommentRanges(sourceFile: ts.SourceFile): SourceRange[] { - const commentRanges = [] as SourceRange[]; - - // Comments trailing the last node are also included in this. - ts.forEachChild(sourceFile, (node) => { - ts.forEachLeadingCommentRange(sourceFile.getFullText(), node.getFullStart(), (start, end) => { - commentRanges.push({ start, end }); - }); - }); - - return commentRanges; -} - -/** Returns a `SourceRange` with any leading newlines' characters included if present. */ -function includeLeadingNewLines( - sourceFile: ts.SourceFile, - { start, end }: SourceRange, -): SourceRange { - const text = sourceFile.getFullText(); - while (start > 0) { - if (start > 2 && text.slice(start - 2, start) === '\r\n') { - // Preceeded by `\r\n`, include that. - start -= 2; - } else if (start > 1 && text[start - 1] === '\n') { - // Preceeded by `\n`, include that. - start--; - } else { - // Not preceeded by any newline characters, don't include anything else. - break; - } - } - - return { start, end }; -} - -/** Returns a `SourceRange` with the trailing newline characters included if present. */ -function includeTrailingNewLine( - sourceFile: ts.SourceFile, - { start, end }: SourceRange, -): SourceRange { - const newline = sourceFile.getFullText().slice(end, end + 2); - if (newline === '\r\n') { - return { start, end: end + 2 }; - } else if (newline.startsWith('\n')) { - return { start, end: end + 1 }; - } else { - throw new Error('Expected comment to end in a newline character (either `\\n` or `\\r\\n`).'); - } -} - -/** - * Extracts the text from a comment. Attempts to remove any extraneous syntax and trims the content. - */ -function getCommentText(commentInput: string): string { - const comment = commentInput.trim(); - if (comment.startsWith('//')) { - return comment.slice('//'.length).trim(); - } else if (comment.startsWith('/*')) { - const withoutPrefix = comment.replace(/\/\*+/, ''); - const withoutSuffix = withoutPrefix.replace(/\*+\//, ''); - const withoutNewlineAsterisks = withoutSuffix.replace(/^\s*\*\s*/, ''); - - return withoutNewlineAsterisks.trim(); - } else { - throw new Error(`Expected a comment, but got: "${comment}".`); - } -} - -/** Like `Array.prototype.filter`, but returns the index of each item rather than its value. */ -function filterIndex(items: Item[], filter: (item: Item) => boolean): number[] { - return Array.from(items.entries()) - .filter(([_, item]) => filter(item)) - .map(([index]) => index); -} diff --git a/packages/schematics/angular/migrations/update-13/drop-ie-polyfills_spec.ts b/packages/schematics/angular/migrations/update-13/drop-ie-polyfills_spec.ts deleted file mode 100644 index 2317f08a6504..000000000000 --- a/packages/schematics/angular/migrations/update-13/drop-ie-polyfills_spec.ts +++ /dev/null @@ -1,659 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; - -describe('Migration to remove polyfills specific to Internet Explorer', () => { - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - - beforeEach(async () => { - tree = await schematicRunner - .runExternalSchematicAsync( - require.resolve('../../collection.json'), - 'ng-new', - { - name: 'migration-test', - version: '1.2.3', - directory: '.', - }, - new UnitTestTree(new EmptyTree()), - ) - .toPromise(); - }); - - it('should remove used `classlist.js` polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** - * IE11 requires the following for NgClass support on SVG elements - */ -import 'classlist.js'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('should remove used `web-animations-js` polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** - * Web Animations \`@angular/platform-browser/animations\` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -import 'web-animations-js'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('should remove unused `classlist.js` polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run \`npm install --save classlist.js\`. - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('should remove unused `web-animations-js` polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** - * Web Animations \`@angular/platform-browser/animations\` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run \`npm install --save web-animations-js\`. - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('warns on a polyfill path that does not reference a valid file', async () => { - tree.delete('src/polyfills.ts'); - - const logs = [] as string[]; - schematicRunner.logger.subscribe((log) => logs.push(log.message)); - - await schematicRunner.runSchematicAsync('drop-ie-polyfills', {}, tree).toPromise(); - - expect(logs).toEqual([ - 'Polyfill path from workspace configuration could not be read, does the file exist?', - ]); - }); - - it('handles byte-order-marks (BOMs) in the polyfill file', async () => { - tree.overwrite( - 'src/polyfills.ts', - // File with leading BOM (\uFEFF). - ` -\uFEFF/** - * IE11 requires the following for NgClass support on SVG elements - */ -import 'classlist.js'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('handles carriage returns with newlines if present', async () => { - tree.overwrite( - 'src/polyfills.ts', - // File each `\r\n` for newline separators. - ` -/**\r - * IE11 requires the following for NgClass support on SVG elements\r - */\r -// import 'classlist.js'; // Run \`npm install --save classlist.js\`.\r -\r -// Other stuff.\r -/***************************************************************************************************\r - * Zone JS is required by default for Angular itself.\r - */\r -import 'zone.js'; // Included with Angular CLI.\r - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff.\r -/***************************************************************************************************\r - * Zone JS is required by default for Angular itself.\r - */\r -import 'zone.js'; // Included with Angular CLI.\r - `.trim(), - ); - }); - - it('removes older-style `classlist.js` polyfill comment', async () => { - // Previous Angular versions used a single-line comment, this should still be removed. - tree.overwrite( - 'src/polyfills.ts', - ` -/** IE11 requires the following for NgClass support on SVG elements */ -import 'classlist.js'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('should remove an unused polyfill from the last item in the file', async () => { - // TypeScript APIs require special-casing any trailing comments in the file, so we need to test - // this explicitly. - tree.overwrite( - 'src/polyfills.ts', - ` -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run \`npm install --save classlist.js\`. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('keeps the file overview comment preceeding a used polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -import 'classlist.js'; - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - `.trim(), - ); - }); - - it('keeps the file overview comment preceeding an unused polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run \`npm install --save classlist.js\`. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - `.trim(), - ); - }); - - it('keeps the BROWSER POLYFILLS comment preceeding a used polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -import 'classlist.js'; - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - `.trim(), - ); - }); - - it('keeps the BROWSER POLYFILLS comment preceeding an unused polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run \`npm install --save classlist.js\`. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - `.trim(), - ); - }); - - it('ignores a `package.json` that does not include polyfill dependencies', async () => { - const packageJson = ` -{ - "name": "ng-new", - "version": "0.0.0", - "dependencies": { - "@angular/core": "^13.0.0" - }, - "devDependencies": { - "@angular/cli": "^13.0.0" - } -} - `.trim(); - - tree.overwrite('package.json', packageJson); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('package.json')).toBe(packageJson); - - // No `npm install` should be scheduled, nothing to remove. - expect(schematicRunner.tasks).toEqual([]); - }); - - it('uninstalls `classlist.js` and `web-animations-js` packages', async () => { - tree.overwrite( - 'package.json', - ` -{ - "name": "ng-new", - "version": "0.0.0", - "dependencies": { - "@angular/core": "^13.0.0", - "classlist.js": "^1.0.0" - }, - "devDependencies": { - "@angular/cli": "^13.0.0", - "web-animations-js": "^1.0.0" - } -} - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - // Assert `package.json` no longer contains removed dependencies. - expect(migrated.readContent('package.json')).toBe( - ` -{ - "name": "ng-new", - "version": "0.0.0", - "dependencies": { - "@angular/core": "^13.0.0" - }, - "devDependencies": { - "@angular/cli": "^13.0.0" - } -} - `.trim(), - ); - - // Assert that `npm install` is scheduled. - const taskNames = schematicRunner.tasks.map((task) => task.name); - expect(taskNames).toEqual(['node-package']); - }); - - it('removes preceeding newline from used polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** Some other polyfill. */ -import 'some-other-polyfill'; - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -import 'classlist.js'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/** Some other polyfill. */ -import 'some-other-polyfill'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('removes preceeding newline from unused polyfill', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** Some other polyfill. */ -import 'some-other-polyfill'; - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run \`npm install --save classlist.js\`. - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/** Some other polyfill. */ -import 'some-other-polyfill'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); - - it('removes newlines between multiple removed polyfills', async () => { - tree.overwrite( - 'src/polyfills.ts', - ` -/** Some other polyfill. */ -import 'some-other-polyfill'; - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run \`npm install --save classlist.js\`. - -/** - * Web Animations \`@angular/platform-browser/animations\` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -import 'web-animations-js'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - - const migrated = await schematicRunner - .runSchematicAsync('drop-ie-polyfills', {}, tree) - .toPromise(); - - expect(migrated.readContent('src/polyfills.ts').trim()).toBe( - ` -/** Some other polyfill. */ -import 'some-other-polyfill'; - -// Other stuff. -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - `.trim(), - ); - }); -}); diff --git a/packages/schematics/angular/migrations/update-13/schematic-options.ts b/packages/schematics/angular/migrations/update-13/schematic-options.ts deleted file mode 100644 index 2e3ebba60e69..000000000000 --- a/packages/schematics/angular/migrations/update-13/schematic-options.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { json } from '@angular-devkit/core'; -import { Rule } from '@angular-devkit/schematics'; -import { updateWorkspace } from '../../utility/workspace'; - -export default function (): Rule { - return updateWorkspace((workspace) => { - // Update root level schematics options if present - const rootSchematics = workspace.extensions.schematics; - if (rootSchematics && json.isJsonObject(rootSchematics)) { - updateSchematicsField(rootSchematics); - } - - // Update project level schematics options if present - for (const [, project] of workspace.projects) { - const projectSchematics = project.extensions.schematics; - if (projectSchematics && json.isJsonObject(projectSchematics)) { - updateSchematicsField(projectSchematics); - } - } - }); -} - -function updateSchematicsField(schematics: json.JsonObject): void { - for (const [schematicName, schematicOptions] of Object.entries(schematics)) { - if (!json.isJsonObject(schematicOptions)) { - continue; - } - - if (schematicName.startsWith('@schematics/angular')) { - delete schematicOptions.lintFix; - } - - switch (schematicName) { - case '@schematics/angular:service-worker': - delete schematicOptions.configuration; - break; - case '@schematics/angular:web-worker': - delete schematicOptions.target; - break; - case '@schematics/angular:application': - delete schematicOptions.legacyBrowsers; - break; - default: - break; - } - } -} diff --git a/packages/schematics/angular/migrations/update-13/schematic-options_spec.ts b/packages/schematics/angular/migrations/update-13/schematic-options_spec.ts deleted file mode 100644 index 4c0907f307f0..000000000000 --- a/packages/schematics/angular/migrations/update-13/schematic-options_spec.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; - -describe('Migration to remove schematics old options in angular.json', () => { - const workspacePath = '/angular.json'; - const schematicName = 'schematic-options-13'; - - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - - beforeEach(async () => { - tree = new UnitTestTree(new EmptyTree()); - tree = await schematicRunner - .runExternalSchematicAsync( - require.resolve('../../collection.json'), - 'ng-new', - { - name: 'migration-test', - version: '1.2.3', - directory: '.', - }, - tree, - ) - .toPromise(); - }); - - describe('schematic options', () => { - it('should remove `skipTests` from `@schematics/angular`', async () => { - const workspace = JSON.parse(tree.readContent(workspacePath)); - workspace.schematics = { - '@schematics/angular:module': { - lintFix: true, - }, - }; - tree.overwrite(workspacePath, JSON.stringify(workspace, undefined, 2)); - - const tree2 = await schematicRunner - .runSchematicAsync(schematicName, {}, tree.branch()) - .toPromise(); - const { schematics } = JSON.parse(tree2.readContent(workspacePath)); - expect(schematics['@schematics/angular:module'].lintFix).toBeUndefined(); - }); - - it('should not remove `lintFix` from non `@schematics/angular` schematic', async () => { - const workspace = JSON.parse(tree.readContent(workspacePath)); - workspace.schematics = { - '@schematics/angular:component': { - lintFix: true, - }, - '@custom/some-other:module': { - lintFix: true, - }, - }; - tree.overwrite(workspacePath, JSON.stringify(workspace, undefined, 2)); - - const tree2 = await schematicRunner - .runSchematicAsync(schematicName, {}, tree.branch()) - .toPromise(); - const { schematics } = JSON.parse(tree2.readContent(workspacePath)); - expect(schematics['@schematics/angular:component'].lintFix).toBeUndefined(); - expect(schematics['@custom/some-other:module'].lintFix).toBeTrue(); - }); - }); -}); diff --git a/packages/schematics/angular/migrations/update-13/update-angular-config.ts b/packages/schematics/angular/migrations/update-13/update-angular-config.ts deleted file mode 100644 index 79e88717d644..000000000000 --- a/packages/schematics/angular/migrations/update-13/update-angular-config.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule } from '@angular-devkit/schematics'; -import { allTargetOptions, updateWorkspace } from '../../utility/workspace'; - -export default function (): Rule { - return updateWorkspace((workspace) => { - for (const [, project] of workspace.projects) { - for (const [name, target] of project.targets) { - // Delete removed tslint builder - if (target.builder === '@angular-devkit/build-angular:tslint') { - project.targets.delete(name); - } else if (target.builder === '@angular-devkit/build-angular:dev-server') { - for (const [, options] of allTargetOptions(target)) { - delete options.optimization; - delete options.aot; - delete options.progress; - delete options.deployUrl; - delete options.sourceMap; - delete options.vendorChunk; - delete options.commonChunk; - delete options.baseHref; - delete options.servePathDefaultWarning; - delete options.hmrWarning; - } - } else if (target.builder.startsWith('@angular-devkit/build-angular')) { - // Only interested in Angular Devkit builders - for (const [, options] of allTargetOptions(target)) { - delete options.extractCss; - } - } - } - } - }); -} diff --git a/packages/schematics/angular/migrations/update-13/update-angular-config_spec.ts b/packages/schematics/angular/migrations/update-13/update-angular-config_spec.ts deleted file mode 100644 index e681d4857f3d..000000000000 --- a/packages/schematics/angular/migrations/update-13/update-angular-config_spec.ts +++ /dev/null @@ -1,95 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonObject } from '@angular-devkit/core'; -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { - BuilderTarget, - Builders, - ProjectType, - WorkspaceSchema, -} from '../../utility/workspace-models'; - -function getBuildTarget(tree: UnitTestTree): BuilderTarget { - return JSON.parse(tree.readContent('/angular.json')).projects.app.architect.build; -} - -function createWorkSpaceConfig(tree: UnitTestTree) { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: { - app: { - root: '', - sourceRoot: 'src', - projectType: ProjectType.Application, - prefix: 'app', - architect: { - lint: { - builder: '@angular-devkit/build-angular:tslint', - }, - build: { - builder: Builders.Browser, - options: { - scripts: [{ lazy: true, name: 'bundle-1.js' }], - extractCss: false, - sourceMaps: true, - buildOptimizer: false, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any, - configurations: { - one: { - aot: true, - }, - two: { - extractCss: true, - aot: true, - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any, - }, - }, - }, - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); -} - -const schematicName = 'update-angular-config-v13'; - -describe(`Migration to update 'angular.json'. ${schematicName}`, () => { - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - createWorkSpaceConfig(tree); - }); - - it(`should remove 'extractCss'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { options, configurations } = getBuildTarget(newTree); - - expect(options.extractCss).toBeUndefined(); - expect(configurations).toBeDefined(); - expect(configurations?.one.extractCss).toBeUndefined(); - expect(configurations?.two.extractCss).toBeUndefined(); - }); - - it(`should remove tslint builder`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - - const { build, lint } = JSON.parse(newTree.readContent('/angular.json')).projects.app.architect; - expect(build).toBeDefined(); - expect(lint).toBeUndefined(); - }); -}); diff --git a/packages/schematics/angular/migrations/update-13/update-gitignore.ts b/packages/schematics/angular/migrations/update-13/update-gitignore.ts deleted file mode 100644 index a91dcab07d91..000000000000 --- a/packages/schematics/angular/migrations/update-13/update-gitignore.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule } from '@angular-devkit/schematics'; - -export default function (): Rule { - return (tree, context) => { - const gitIgnoreEntry = '/.angular/cache'; - const gitIgnorePath = '.gitignore'; - - const contents = tree.read(gitIgnorePath)?.toString(); - if (!contents) { - context.logger.warn(`Could not find '${gitIgnorePath}'.`); - - return; - } - - if (contents.includes(gitIgnoreEntry)) { - // The migration has run already. - return; - } - - // Try to insert the new entry in the misc section. - const recorder = tree.beginUpdate(gitIgnorePath); - let idx = contents.indexOf('# misc'); - if (idx < 0) { - idx = 0; - } else { - switch (contents[idx + 6]) { - case '\n': - idx += 7; - break; - case '\r': - idx += 8; - break; - default: - // the word is something else. - idx = 0; - break; - } - } - - recorder.insertLeft(idx, `${gitIgnoreEntry}\n`); - tree.commitUpdate(recorder); - }; -} diff --git a/packages/schematics/angular/migrations/update-13/update-gitignore_spec.ts b/packages/schematics/angular/migrations/update-13/update-gitignore_spec.ts deleted file mode 100644 index d7a02d844d97..000000000000 --- a/packages/schematics/angular/migrations/update-13/update-gitignore_spec.ts +++ /dev/null @@ -1,128 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { tags } from '@angular-devkit/core'; -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; - -describe('Migration to update "gitignore".', () => { - const schematicName = 'update-gitignore'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - }); - - it(`should not modify '.gitignore' if '.angular/cache' is already present.`, async () => { - const input = tags.stripIndents` - # dependencies - /node_modules - - # profiling files - chrome-profiler-events*.json - - # misc - /.angular/cache - /.sass-cache - /connect.lock - /coverage - - # System Files - .DS_Store - Thumbs.db - `; - - tree.create('.gitignore', input); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.readContent('.gitignore')).toBe(input); - }); - - it(`should insert '.angular/cache' in '# misc' section when it exists.`, async () => { - const input = tags.stripIndents` - # dependencies - /node_modules - - # profiling files - chrome-profiler-events*.json - - # misc - /.sass-cache - /connect.lock - /coverage - - # System Files - .DS_Store - Thumbs.db - `; - - const output = tags.stripIndents` - # dependencies - /node_modules - - # profiling files - chrome-profiler-events*.json - - # misc - /.angular/cache - /.sass-cache - /connect.lock - /coverage - - # System Files - .DS_Store - Thumbs.db - `; - - tree.create('.gitignore', input); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.readContent('.gitignore')).toBe(output); - }); - - it(`should insert '.angular/cache' at the top when '# misc' section does not exist.`, async () => { - const input = tags.stripIndents` - # dependencies - /node_modules - - # profiling files - chrome-profiler-events*.json - - # miscs - /connect.lock - /coverage - - # System Files - .DS_Store - Thumbs.db - `; - - const output = tags.stripIndents` - /.angular/cache - # dependencies - /node_modules - - # profiling files - chrome-profiler-events*.json - - # miscs - /connect.lock - /coverage - - # System Files - .DS_Store - Thumbs.db - `; - - tree.create('.gitignore', input); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.readContent('.gitignore')).toBe(output); - }); -}); diff --git a/packages/schematics/angular/migrations/update-13/update-libraries.ts b/packages/schematics/angular/migrations/update-13/update-libraries.ts deleted file mode 100644 index cd71d15d9199..000000000000 --- a/packages/schematics/angular/migrations/update-13/update-libraries.ts +++ /dev/null @@ -1,102 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { join, tags } from '@angular-devkit/core'; -import { DirEntry, Rule } from '@angular-devkit/schematics'; -import { JSONFile } from '../../utility/json-file'; -import { allTargetOptions, getWorkspace } from '../../utility/workspace'; - -function* visit(directory: DirEntry): IterableIterator { - for (const path of directory.subfiles) { - if (path === 'package.json') { - const entry = directory.file(path); - if (entry?.content.toString().includes('ngPackage') !== true) { - continue; - } - } else if (path !== 'ng-package.json') { - continue; - } - - yield join(directory.path, path); - } - - for (const path of directory.subdirs) { - if (path === 'node_modules' || path.startsWith('.')) { - continue; - } - - yield* visit(directory.dir(path)); - } -} - -export default function (): Rule { - const ENABLE_IVY_JSON_PATH = ['angularCompilerOptions', 'enableIvy']; - const COMPILATION_MODE_JSON_PATH = ['angularCompilerOptions', 'compilationMode']; - const NG_PACKAGR_DEPRECATED_OPTIONS_PATHS = [ - ['lib', 'umdModuleIds'], - ['lib', 'amdId'], - ['lib', 'umdId'], - ['ngPackage', 'lib', 'umdModuleIds'], - ['ngPackage', 'lib', 'amdId'], - ['ngPackage', 'lib', 'umdId'], - ]; - - return async (tree, context) => { - const workspace = await getWorkspace(tree); - const librariesTsConfig = new Set(); - const ngPackagrConfig = new Set(); - - for (const [, project] of workspace.projects) { - for (const [_, target] of project.targets) { - if (target.builder !== '@angular-devkit/build-angular:ng-packagr') { - continue; - } - - for (const [, options] of allTargetOptions(target)) { - if (typeof options.tsConfig === 'string') { - librariesTsConfig.add(options.tsConfig); - } - - if (typeof options.project === 'string') { - if (options.project.endsWith('.json')) { - ngPackagrConfig.add(options.project); - } else { - context.logger - .warn(tags.stripIndent`Expected a JSON configuration file but found "${options.project}". - You may need to adjust the configuration file to remove invalid options. - For more information, see the breaking changes section within the release notes: https://github.com/ng-packagr/ng-packagr/releases/tag/v13.0.0/.`); - } - } - } - } - } - - // Gather configurations which are not referecned in angular.json - // (This happens when users have secondary entry-points) - for (const p of visit(tree.root)) { - ngPackagrConfig.add(p); - } - - // Update ng-packagr configuration - for (const config of ngPackagrConfig) { - const json = new JSONFile(tree, config); - for (const optionPath of NG_PACKAGR_DEPRECATED_OPTIONS_PATHS) { - json.remove(optionPath); - } - } - - // Update tsconfig files - for (const tsConfig of librariesTsConfig) { - const json = new JSONFile(tree, tsConfig); - if (json.get(ENABLE_IVY_JSON_PATH) === false) { - json.remove(ENABLE_IVY_JSON_PATH); - json.modify(COMPILATION_MODE_JSON_PATH, 'partial'); - } - } - }; -} diff --git a/packages/schematics/angular/migrations/update-13/update-libraries_spec.ts b/packages/schematics/angular/migrations/update-13/update-libraries_spec.ts deleted file mode 100644 index 8c8d8015ff2c..000000000000 --- a/packages/schematics/angular/migrations/update-13/update-libraries_spec.ts +++ /dev/null @@ -1,172 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; - -function readJsonFile(tree: UnitTestTree, path: string): Record> { - return JSON.parse(tree.readContent(path)); -} - -function createWorkSpaceConfig(tree: UnitTestTree) { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: { - app: { - root: '', - sourceRoot: 'src', - projectType: ProjectType.Library, - prefix: 'app', - architect: { - build: { - builder: Builders.NgPackagr, - options: { - project: 'ngpackage.json', - tsConfig: 'tsconfig.lib.json', - }, - configurations: { - production: { - tsConfig: 'tsconfig.lib.prod.json', - }, - }, - }, - }, - }, - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - tree.create( - '/tsconfig.lib.json', - JSON.stringify( - { angularCompilerOptions: { enableIvy: true, fullTemplateTypeCheck: true } }, - undefined, - 2, - ), - ); - tree.create( - '/tsconfig.lib.prod.json', - JSON.stringify( - { angularCompilerOptions: { enableIvy: false, fullTemplateTypeCheck: true } }, - undefined, - 2, - ), - ); - - tree.create( - '/ngpackage.json', - JSON.stringify( - { - lib: { entryFile: 'src/public-api.ts', amdId: 'foo', umdId: 'foo', umdModuleIds: ['foo'] }, - }, - undefined, - 2, - ), - ); - - tree.create( - '/package.json', - JSON.stringify( - { - dependencies: { tslib: '^2.0.0' }, - ngPackage: { - lib: { - entryFile: 'src/public-api.ts', - amdId: 'foo', - umdId: 'foo', - umdModuleIds: ['foo'], - }, - }, - }, - undefined, - 2, - ), - ); -} - -const schematicName = 'update-libraries-v13'; - -describe(`Migration to update library projects. ${schematicName}`, () => { - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - createWorkSpaceConfig(tree); - }); - - describe('TypeScript Config', () => { - it(`should replace "enableIvy: false" with "compilationMode: "partial" `, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { angularCompilerOptions } = readJsonFile(newTree, 'tsconfig.lib.prod.json'); - expect(angularCompilerOptions.compilationMode).toBe('partial'); - expect(angularCompilerOptions.enableIvy).toBeUndefined(); - }); - - it(`should not replace "enableIvy: true"`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { angularCompilerOptions } = readJsonFile(newTree, 'tsconfig.lib.json'); - expect(angularCompilerOptions.enableIvy).toBeTrue(); - }); - }); - - describe('Ng-packagr Config', () => { - it(`should remove UMD related options from ng-packagr configuration referenced from angular.json`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { lib } = readJsonFile(newTree, 'ngpackage.json'); - expect(lib.entryFile).toBeDefined(); - expect(lib.amdId).toBeUndefined(); - expect(lib.umdId).toBeUndefined(); - expect(lib.umdModuleIds).toBeUndefined(); - }); - - it(`should remove UMD related options from un-referenced ng-packagr configuration (secondary entry-points)`, async () => { - tree.create( - '/testing/ng-package.json', - JSON.stringify( - { - lib: { - entryFile: 'src/public-api.ts', - amdId: 'foo', - umdId: 'foo', - umdModuleIds: ['foo'], - }, - }, - undefined, - 2, - ), - ); - - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { lib } = readJsonFile(newTree, 'testing/ng-package.json'); - expect(lib.entryFile).toBeDefined(); - expect(lib.amdId).toBeUndefined(); - expect(lib.umdId).toBeUndefined(); - expect(lib.umdModuleIds).toBeUndefined(); - }); - }); - - describe('Ng-packagr properties in package.json', () => { - it(`should remove UMD related options from package.json`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const pkg = readJsonFile(newTree, 'package.json'); - expect(pkg).toEqual({ - dependencies: { tslib: '^2.0.0' }, - ngPackage: { - lib: { - entryFile: 'src/public-api.ts', - }, - }, - }); - }); - }); -}); From 7e7de6858dd71bd461ceb0f89e29e2c57099bbcc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 26 Jan 2022 13:22:11 +0100 Subject: [PATCH 0031/1388] feat(@schematics/angular): update Angular dependencies to use `^` as version prefix With this change we update Angular dependencies to use `^` instead of `~` as version prefix. Closes #21925 --- .../migrations/migration-collection.json | 8 +- .../angular-packages-version-prefix.ts | 67 ++++++++ .../angular-packages-version-prefix_spec.ts | 153 ++++++++++++++++++ .../angular/utility/latest-versions.ts | 4 +- 4 files changed, 229 insertions(+), 3 deletions(-) create mode 100644 packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts create mode 100644 packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 63001b445889..e2a7e796d193 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -1,3 +1,9 @@ { - "schematics": {} + "schematics": { + "update-angular-packages-version-prefix": { + "version": "14.0.0", + "factory": "./update-14/angular-packages-version-prefix", + "description": "Update Angular packages 'dependencies' and 'devDependencies' version prefix to '^' instead of '~'." + } + } } diff --git a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts new file mode 100644 index 000000000000..621d94981bec --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts @@ -0,0 +1,67 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule } from '@angular-devkit/schematics'; +import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; +import { NodeDependencyType } from '../../utility/dependencies'; +import { JSONFile } from '../../utility/json-file'; + +const PACKAGES_REGEXP = /^@(?:angular|nguniversal|schematics|angular-devkit)\/|^ng-packagr$/; + +/** + * This migrations updates Angular packages 'dependencies' and 'devDependencies' version prefix to '^' instead of '~'. + * + * @example + * **Before** + * ```json + * dependencies: { + * "@angular/animations": "~13.1.0", + * "@angular/common": "~13.1.0" + * } + * ``` + * + * **After** + * ```json + * dependencies: { + * "@angular/animations": "^13.1.0", + * "@angular/common": "^13.1.0" + * } + * ``` + */ +export default function (): Rule { + return (tree, context) => { + const json = new JSONFile(tree, '/package.json'); + updateVersionPrefixToTilde(json, NodeDependencyType.Default); + updateVersionPrefixToTilde(json, NodeDependencyType.Dev); + + context.addTask(new NodePackageInstallTask()); + }; +} + +function updateVersionPrefixToTilde(json: JSONFile, dependencyType: NodeDependencyType): void { + const dependencyTypePath = [dependencyType]; + const dependencies = json.get(dependencyTypePath); + + if (!dependencies || typeof dependencies !== 'object') { + return; + } + + const updatedDependencies = new Map(); + for (const [name, version] of Object.entries(dependencies)) { + if (typeof version === 'string' && version.charAt(0) === '~' && PACKAGES_REGEXP.test(name)) { + updatedDependencies.set(name, `^${version.substring(1)}`); + } + } + + if (updatedDependencies.size) { + json.modify(dependencyTypePath, { + ...dependencies, + ...Object.fromEntries(updatedDependencies), + }); + } +} diff --git a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts new file mode 100644 index 000000000000..07c3226abe32 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts @@ -0,0 +1,153 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; + +describe('Migration to update Angular packages version prefix to `^` instead of `~`', () => { + const packageJsonPath = '/package.json'; + const schematicName = 'update-angular-packages-version-prefix'; + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + }); + + it(`should replace Angular packages versioned with '~' to '^'`, async () => { + tree.create( + packageJsonPath, + JSON.stringify({ + dependencies: { + '@angular/animations': '~13.1.0', + '@angular/common': '~13.1.0', + '@angular/compiler': '~13.1.0', + '@angular/core': '~13.1.0', + '@angular/forms': '~13.1.0', + '@angular/platform-browser': '~13.1.0', + '@angular/platform-browser-dynamic': '~13.1.0', + '@angular/router': '~13.1.0', + '@nguniversal/commom': '^13.1.0', + 'rxjs': '~7.4.0', + 'tslib': '^2.3.0', + 'zone.js': '~0.11.4', + }, + devDependencies: { + '@angular-devkit/build-angular': '~13.1.3', + '@angular/cli': '~13.1.3', + '@angular/compiler-cli': '~13.1.0', + '@angular/localize': '^13.1.3', + '@types/jasmine': '~3.10.0', + '@types/node': '^12.11.1', + 'jasmine-core': '~3.10.0', + 'karma': '~6.3.0', + 'karma-chrome-launcher': '~3.1.0', + 'karma-coverage': '~2.1.0', + 'karma-jasmine': '~4.0.0', + 'karma-jasmine-html-reporter': '~1.7.0', + 'ng-packagr': '~13.1.3', + 'typescript': '~4.5.2', + }, + }), + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const pkg = JSON.parse(newTree.readContent(packageJsonPath)); + + expect(pkg['dependencies']).toEqual({ + '@angular/animations': '^13.1.0', + '@angular/common': '^13.1.0', + '@angular/compiler': '^13.1.0', + '@angular/core': '^13.1.0', + '@angular/forms': '^13.1.0', + '@angular/platform-browser': '^13.1.0', + '@angular/platform-browser-dynamic': '^13.1.0', + '@angular/router': '^13.1.0', + '@nguniversal/commom': '^13.1.0', + 'rxjs': '~7.4.0', + 'tslib': '^2.3.0', + 'zone.js': '~0.11.4', + }); + + expect(pkg['devDependencies']).toEqual({ + '@angular-devkit/build-angular': '^13.1.3', + '@angular/cli': '^13.1.3', + '@angular/compiler-cli': '^13.1.0', + '@angular/localize': '^13.1.3', + '@types/jasmine': '~3.10.0', + '@types/node': '^12.11.1', + 'jasmine-core': '~3.10.0', + 'karma': '~6.3.0', + 'karma-chrome-launcher': '~3.1.0', + 'karma-coverage': '~2.1.0', + 'karma-jasmine': '~4.0.0', + 'karma-jasmine-html-reporter': '~1.7.0', + 'ng-packagr': '^13.1.3', + 'typescript': '~4.5.2', + }); + }); + + it('should not replace pinned Angular packages versions', async () => { + tree.create( + packageJsonPath, + JSON.stringify({ + dependencies: { + '@angular/animations': '13.1.0', + '@angular/core': '~13.1.0', + }, + devDependencies: { + '@angular-devkit/build-angular': '13.1.3', + }, + }), + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const pkg = JSON.parse(newTree.readContent(packageJsonPath)); + + expect(pkg['dependencies']['@angular/animations']).toBe('13.1.0'); + expect(pkg['dependencies']['@angular/core']).toBe('^13.1.0'); + expect(pkg['devDependencies']['@angular-devkit/build-angular']).toBe('13.1.3'); + }); + + it('should not error when `dependencies` is missing', async () => { + tree.create( + packageJsonPath, + JSON.stringify({ + devDependencies: { + '@angular-devkit/build-angular': '~13.1.3', + }, + }), + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const pkg = JSON.parse(newTree.readContent(packageJsonPath)); + + expect(pkg['dependencies']).toBeUndefined(); + expect(pkg['devDependencies']['@angular-devkit/build-angular']).toBe('^13.1.3'); + }); + + it('should not error when `devDependencies` is missing', async () => { + tree.create( + packageJsonPath, + JSON.stringify({ + dependencies: { + '@angular-devkit/build-angular': '~13.1.3', + }, + }), + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const pkg = JSON.parse(newTree.readContent(packageJsonPath)); + + expect(pkg['dependencies']['@angular-devkit/build-angular']).toBe('^13.1.3'); + expect(pkg['devDependencies']).toBeUndefined(); + }); +}); diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 4d15b9b79377..e99197a4852d 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -15,10 +15,10 @@ export const latestVersions: Record & { ...require('./latest-versions/package.json')['dependencies'], // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current - Angular: '~13.2.0-next.0', + Angular: '^13.2.0-next.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both // non-experimental, they will always have the same version. - DevkitBuildAngular: '~' + require('../package.json')['version'], + DevkitBuildAngular: '^' + require('../package.json')['version'], }; From 07e776ea379a50a98a50cf590156c2dc1b272e78 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Dec 2021 13:32:05 +0100 Subject: [PATCH 0032/1388] fix(@angular-devkit/build-angular): fail build when importing CSS files as an ECMA modules BREAKING CHANGE: We now issue a build time error since importing a CSS file as an ECMA module is non standard Webpack specific feature, which is not supported by the Angular CLI. This feature was never truly supported by the Angular CLI, but has as such for visibility. --- .../tests/behavior/styles_unsupported_spec.ts | 36 +++++++++++++++++++ .../allowed-common-js-dependencies_spec.ts | 20 ----------- .../src/webpack/configs/styles.ts | 1 + 3 files changed, 37 insertions(+), 20 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/styles_unsupported_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/styles_unsupported_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/styles_unsupported_spec.ts new file mode 100644 index 000000000000..7ea328461f95 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/styles_unsupported_spec.ts @@ -0,0 +1,36 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { buildWebpackBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Behavior: "Style Unsupported"', () => { + it('errors when importing a css file as an ECMA module (Webpack specific behaviour)', async () => { + await harness.writeFiles({ + 'src/test-style.css': '.test-a {color: red}', + 'src/main.ts': `import './test-style.css'`, + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [], + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('./src/test-style.css:1:0 - Error'), + }), + ); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts index 05e23a758b5b..720af1436b05 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts @@ -14,26 +14,6 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { describe('Option: "allowedCommonJsDependencies"', () => { describe('given option is not set', () => { for (const aot of [true, false]) { - it(`should not show warning for styles import in ${aot ? 'AOT' : 'JIT'} Mode`, async () => { - await harness.writeFile('./test.css', `body { color: red; };`); - await harness.appendToFile('src/app/app.component.ts', `import '../../test.css';`); - - harness.useTarget('build', { - ...BASE_OPTIONS, - allowedCommonJsDependencies: [], - aot, - }); - - const { result, logs } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - expect(logs).not.toContain( - jasmine.objectContaining({ - message: jasmine.stringMatching(/CommonJS or AMD dependencies/), - }), - ); - }); - it(`should show warning when depending on a Common JS bundle in ${ aot ? 'AOT' : 'JIT' } Mode`, async () => { diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 113207908177..ea81a57a6f4c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -384,6 +384,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { { use: componentStyleLoaders, type: 'asset/source', + resourceQuery: /\?ngResource/, }, ], }, From d18469eb3f09f9d38c6c2c52027eb2f6a5c50c9b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 27 Jan 2022 11:32:03 +0100 Subject: [PATCH 0033/1388] build: remove extra period in build script --- scripts/build-bazel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts index beb35eec4514..b1960cc1aa38 100644 --- a/scripts/build-bazel.ts +++ b/scripts/build-bazel.ts @@ -121,7 +121,7 @@ async function _build(logger: logging.Logger, mode: BuildMode): Promise Date: Fri, 28 Jan 2022 11:58:11 +0100 Subject: [PATCH 0034/1388] build: update `@angular/` packages to version 14 prerelease --- package.json | 30 ++-- .../angular_devkit/build_angular/package.json | 8 +- packages/ngtools/webpack/package.json | 6 +- .../angular/utility/latest-versions.ts | 2 +- yarn.lock | 128 +++++++++--------- 5 files changed, 86 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index cda9291417d0..f8b339457b51 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "1.1.1", - "@angular/animations": "13.1.3", - "@angular/cdk": "13.1.3", - "@angular/common": "13.1.3", - "@angular/compiler": "13.1.3", - "@angular/compiler-cli": "13.1.3", - "@angular/core": "13.1.3", + "@angular/animations": "14.0.0-next.0", + "@angular/cdk": "14.0.0-next.0", + "@angular/common": "14.0.0-next.0", + "@angular/compiler": "14.0.0-next.0", + "@angular/compiler-cli": "14.0.0-next.0", + "@angular/core": "14.0.0-next.0", "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93", - "@angular/forms": "13.1.3", - "@angular/localize": "13.1.3", - "@angular/material": "13.1.3", - "@angular/platform-browser": "13.1.3", - "@angular/platform-browser-dynamic": "13.1.3", - "@angular/platform-server": "13.1.3", - "@angular/router": "13.1.3", - "@angular/service-worker": "13.1.3", + "@angular/forms": "14.0.0-next.0", + "@angular/localize": "14.0.0-next.0", + "@angular/material": "14.0.0-next.0", + "@angular/platform-browser": "14.0.0-next.0", + "@angular/platform-browser-dynamic": "14.0.0-next.0", + "@angular/platform-server": "14.0.0-next.0", + "@angular/router": "14.0.0-next.0", + "@angular/service-worker": "14.0.0-next.0", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -173,7 +173,7 @@ "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.4", "minimist": "^1.2.0", - "ng-packagr": "13.1.3", + "ng-packagr": "14.0.0-next.0", "node-fetch": "^2.2.0", "npm-package-arg": "8.1.5", "open": "8.4.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f1ef59e4b0fc..0ec910b577d6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -75,11 +75,11 @@ "esbuild": "0.14.14" }, "peerDependencies": { - "@angular/compiler-cli": "^13.0.0 || ^13.2.0-next", - "@angular/localize": "^13.0.0 || ^13.2.0-next", - "@angular/service-worker": "^13.0.0 || ^13.2.0-next", + "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", + "@angular/localize": "^14.0.0 || ^14.0.0-next", + "@angular/service-worker": "^14.0.0 || ^14.0.0-next", "karma": "^6.3.0", - "ng-packagr": "^13.0.0 || ^13.2.0-next", + "ng-packagr": "^14.0.0 || ^14.0.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", "typescript": ">=4.4.3 <4.6" diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 68e7be011c93..0548409912a2 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,14 +22,14 @@ "homepage": "https://github.com/angular/angular-cli/tree/master/packages/@ngtools/webpack", "dependencies": {}, "peerDependencies": { - "@angular/compiler-cli": "^13.0.0 || ^13.2.0-next", + "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", "typescript": ">=4.4.3 <4.6", "webpack": "^5.30.0" }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "13.1.3", - "@angular/compiler-cli": "13.1.3", + "@angular/compiler": "14.0.0-next.0", + "@angular/compiler-cli": "14.0.0-next.0", "typescript": "4.5.5", "webpack": "5.67.0" } diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index e99197a4852d..93b35c68dcf5 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -15,7 +15,7 @@ export const latestVersions: Record & { ...require('./latest-versions/package.json')['dependencies'], // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current - Angular: '^13.2.0-next.0', + Angular: '^14.0.0-next.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both diff --git a/yarn.lock b/yarn.lock index 0c54a3d7c065..6d03ab2202a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -134,10 +134,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.1.3.tgz#2da6ad99602bfb450624a7499d6f81366c3a4519" - integrity sha512-OwsVQsNHubIgRcxnjti4CU3QJnqd7Z2b+2iu3M349Oxyqxz4DNCqKXalDuJZt/b0yNfirvYO3kCgBfj4PF43QQ== +"@angular/animations@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.0.tgz#6cc7d7f3e4aa33db36afcf4b01967bcc016ecd28" + integrity sha512-VO2ln96bnZsd3PFWdNEK8tVBl8ES+INXFT4UD5+YPRgS7bF1GTtbT57Rm3trvYiQvVhs6NSTTZL+scB66NBvJA== dependencies: tslib "^2.3.0" @@ -149,26 +149,26 @@ "@angular/core" "^10.0.0-0 || ^11.0.0" reflect-metadata "^0.1.13" -"@angular/cdk@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.1.3.tgz#a32306cd977fe59ded2dcc799ef844c0972232d3" - integrity sha512-Psuri2mc6W+xKtZr39FHL+cDz7Le9kKTo8ziCtUiydikBBdqfOu6AnWUrEMEGFxS2wt8nolFXDAGUaMUAE3Ekg== +"@angular/cdk@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.0.tgz#0262440aaa17bc25554f430e138e7c1fb5a13132" + integrity sha512-4kgJDvHsMYtqjT2nxv0xDcn77ZyIg8dbTzPGJdoSC9QFRoG8+pl3xCpQMpFF6Q9DhvS+o6BTVN8EVuUT4Wi04g== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.1.3.tgz#4c80f45cfd00a17543559c5fbebe0a7a7cf403ed" - integrity sha512-8qf5syeXUogf3+GSu6IRJjrk46UKh9L0QuLx+OSIl/df0y1ewx7e28q3BAUEEnOnKrLzpPNxWs2iwModc4KYfg== +"@angular/common@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.0.tgz#a7a39f398bbca9887995d348a5eba7f0b6d1d541" + integrity sha512-TOUbukUDa/j+xuMSLOLF6Vp08kUYfryP4b32ybF17Q+v8gRHjC5e/1Q3HwY7DEqW3JtCwKplBtLZf+89WKtVug== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.1.3.tgz#0269370350e928f22f3150523f95bc490a1e7a7a" - integrity sha512-ALURaJATc54DzPuiZBvALf/alEp1wr7Hjmw4FuMn2cU7p8lwKkra1Dz5dAZOxh7jAcD1GJfrK/+Sb7A3cuuKjQ== +"@angular/compiler-cli@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.0.tgz#83b1591f2a38a02534919eaf3094b0e101e06abd" + integrity sha512-xDFPTX+sTajYnzzxFnOy3qs+ASqm4w+b+PxZP8CjWWfUQxr+3T4CYu0SnVLoFmGs9lieETstxENSENoJjNPi9w== dependencies: "@babel/core" "^7.8.6" canonical-path "1.0.0" @@ -182,17 +182,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.1.3.tgz#fc33b06046599ecc943f55049e0a121d5ab46d4f" - integrity sha512-dbHs/Oa+Dn+7i0jKtlVDE0lD0DaUC+lVzAcTK/zS37LrckrTMn1CA+z9bZ4gpHig9RU0wgV3YORxv0wokyiB8A== +"@angular/compiler@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.0.tgz#c0c1f7bbc2a7d102ed0ecd34638488c1a610d4fd" + integrity sha512-a4MO3J4rQlnEf4sgI0o6ckPFMcnRKpjocevZz6C8MsTVwfT6X00n0PARQVd8VFqGfepExCYVrlLkkjpl9Ysvfw== dependencies: tslib "^2.3.0" -"@angular/core@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.1.3.tgz#4afd71f674f9ead1aada81315f84846cdba10fa4" - integrity sha512-rvCnIAonRx7VnH2Mv9lQR+UYdlFQQetZCjPw8QOswOspEpHpEPDrp1HxDIqJnHxNqW0n8J3Zev/VgQYr0481UA== +"@angular/core@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.0.tgz#675cbca9b9de7b008e89645173f258fcbc2c81e2" + integrity sha512-Y423mxlM3mxLWw78lyqavyioQxPgyWg5Cd5W7Ot/H/8//TwCrfhjSFY2edpKU5RssafKqpstMHtSvpNsBljkIg== dependencies: tslib "^2.3.0" @@ -205,7 +205,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93": version "0.0.0-354871956801929457d9f08482fb81f7012ed7c8" - uid "2024033f3123cd1beed78d43ec7269467cd9fa93" resolved "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93" dependencies: "@actions/core" "^1.4.0" @@ -267,63 +266,63 @@ yaml "^1.10.0" yargs "^17.0.0" -"@angular/forms@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.1.3.tgz#4b31d1208e2b191766efbbe1a502193e28e89240" - integrity sha512-c4N9zZSILyEbomY2CJo1WAMxiHu/qlycvzxKH5NFS2P2+fieORlbKUJ2p1CbYqcIxVnLYRSdWH8f1JpoaG0ETw== +"@angular/forms@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.0.tgz#540240a604554f7eae893edeed69aef2cb07b779" + integrity sha512-GFJSQ2sq2uG9rR+qSOjum9OgIHJhxukbU8hon74to6cHoP+0j70HNwajse4ONHS5jPfwGmMyolgLzyOASffCPg== dependencies: tslib "^2.3.0" -"@angular/localize@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-13.1.3.tgz#05c27275aec7d461e1b2ae2f0b19fef7d0265df8" - integrity sha512-SGKdVtFnMtwQK3BebsOWf9rJjczVDKDbuO+5xXivD9k0gu5zrRy7x7mwLR7cGlWNDEmoiId705ItC+Mm5n+FVQ== +"@angular/localize@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.0.tgz#194155b4f933f187a37d0638312b9af131059af2" + integrity sha512-TXbciq4W9qr99pjV6HfbRePZNdfiRpRf1UagPiBcc5cNi5vQCsXFTrm4l3CCqkamRK8bctd2ZrnxXsHQb7R3xQ== dependencies: "@babel/core" "7.8.6" glob "7.2.0" yargs "^17.2.1" -"@angular/material@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.1.3.tgz#1bfdb2e85f6eadafa4acfeff59847038f86e5a89" - integrity sha512-fJmd73Tqlk/eKJ68XBGgwnoME3j+tfRG6CEFtNwMnWLkPTziWX5PHkY1D/cDWFa9VB6vjW8jxAE9UeQmXSk/RA== +"@angular/material@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.0.tgz#1303be1d8b327abf53c03a1e1489562b8e1a49d0" + integrity sha512-0IGjycsXzGIsX9AjGwaNWL2P2wHAOj55axIeQKognpjPIaSVx7hsqvLHGoVs0Z6B7lg2KXMKaGFSwffFda7F3A== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.3.tgz#08cbe321e5f39636a08eb77606ff496df478a21e" - integrity sha512-vEWyJ+2gkwh2N6KOJfxUNSdSO51ROlzCqqzCfHrPYQrlOFUfKsYKA1uoiB5UGfFEU0HBtIRWn6xoUy3wzVOZbw== +"@angular/platform-browser-dynamic@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.0.tgz#bac47ec74d975118f8d09388c5edbdcaa323d76a" + integrity sha512-upUz9GsNPx+2PuSdyG9vZMGRTa5khvkCYbeUIhYpcN5nArTisKlzyg0F/tR8HOsLglPbx71Pjv26pK4B3BB5PQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.1.3.tgz#69d90b10e89e11f14f5798d1b6fd788255a6114e" - integrity sha512-mnWjdr9UTNZvGk8jPI6O9FIhun8Q/0ghy3dg3I9AfRzEG4vPiIZW1ICksTiB+jV9etzhKpidtmg71bwgeXax1A== +"@angular/platform-browser@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.0.tgz#25d5fb277ef08352afa08aafabf52cf2dc0e9090" + integrity sha512-HJvqquTrcvwV+he/6b5Ocl4tyh5zhpCmZZt7IdYOg51sMviLhfA6z216QKOL7pC5jpcZXtdR4XKrzHo+CBc44A== dependencies: tslib "^2.3.0" -"@angular/platform-server@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-13.1.3.tgz#8cda1104622ae2a12cb34cbd72d268f2905b8bba" - integrity sha512-uwfz5UJLUtvhIk83Ecdx0rkhyNg3rdjmbgtWvf2os4Q4lDnbg9y77MKQ9rKJtHqXtrhD9a4W/hAEsFJjexNQBg== +"@angular/platform-server@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.0.tgz#3d6cb840eb15d913cc3d9e493c212f565825a4b2" + integrity sha512-CawkVq3Sxt22yCa4Pbv5S++yz8KK78MmWZggDt3U4MIT2rcutbENw3eNXivi5iYvendLhZ57DC4Hex10oPUjwg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.1.3.tgz#2330254febabce55061236f1761a03aae9a9418f" - integrity sha512-L86kARlc5UNi5KeI0O8PO7wFbTzjEI8ouz+z+aNmCnMUUNX0rbvbuXiPdDvLc71nKZznsPCl2IuO8ojyHrSPsQ== +"@angular/router@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.0.tgz#98d57fee6cacd457571eba43fc8dd7d2b306c2e0" + integrity sha512-TcO0quOzS5qZt2ZSGKXCH/Qy2LZcC/jo9lfZ5M8oOueMPVZD6ReFHeoKEVKhLOLYFBiXaqwW81u3p+jKjbtyKg== dependencies: tslib "^2.3.0" -"@angular/service-worker@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.1.3.tgz#a673d28d97cf6e1a245f24a70e84d6c3fb8cc909" - integrity sha512-R9Oaw/ao62J9OlVKaAMB6WF0n+PD/Jg98c5I04DE14YMcGO32pYOCLPA6oTubwW3gJndk+WSNqijSBXMvaVFsw== +"@angular/service-worker@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.0.tgz#97b2c4ae37144c4ecc65359e3f68cd65a23a2160" + integrity sha512-3Gtaa4VpjDL0go/fl3EDH0szU6cD5YQIM7ideAqDos9zJBMigt4J+6e1w3LVVV+APpKb2U+1eLuarUIubi8xcw== dependencies: tslib "^2.3.0" @@ -7806,10 +7805,10 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@13.1.3: - version "13.1.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-13.1.3.tgz#d1f2067e335d4e19f97a29ae32c4c8d1e1503bd1" - integrity sha512-u6Idmh4qAFYKNYP7tsm+Oys8enZ0FrZLN0muJFx7VY5CChq+PYqHeuWPd2a/JD0dL1Ffzr7qHL4Yak8/Ld0/0Q== +ng-packagr@14.0.0-next.0: + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.0.tgz#c30af376e2a71107b94ac213064b3c74e0cb6d9f" + integrity sha512-Mjafqv4l7+MIxTKusCqCypiCCcga+Llyj97edeq45S1l3yTdZ5Q6V/7f+Gojk15U0SbQNtQVDQ1QqCnK6+aCzA== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.0.0" @@ -7832,7 +7831,7 @@ ng-packagr@13.1.3: postcss-url "^10.1.1" rollup "^2.45.1" rollup-plugin-sourcemaps "^0.6.3" - rxjs "^6.5.0" + rxjs "^7.0.0" sass "^1.32.8" stylus "^0.56.0" optionalDependencies: @@ -9573,7 +9572,7 @@ rx@4.1.0: resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= -rxjs@6.6.7, rxjs@^6.5.0: +rxjs@6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -9587,7 +9586,7 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.2.0: +rxjs@^7.0.0, rxjs@^7.2.0: version "7.5.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== @@ -9628,7 +9627,6 @@ sass@1.49.0, sass@^1.32.8: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: From 69ecddaa7d8b01aa7a9e61c403a4b9a8669e34c4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 28 Jan 2022 13:36:29 +0100 Subject: [PATCH 0035/1388] feat(@schematics/angular): update new and existing projects compilation target to `ES2020` With this change we update the TypeScript compilation target to `ES2020` for both new and existing projects. This is because all browsers that Angular supports (https://angular.io/guide/browser-support) support `ES2020` features without the need for polyfills. --- .../builders/browser/specs/allow-js_spec.ts | 6 +- .../browser/specs/lazy-module_spec.ts | 4 +- .../browser/specs/resolve-json-module_spec.ts | 2 +- .../test/hello-world-app/tsconfig.json | 4 +- .../test/hello-world-lib/tsconfig.json | 2 +- .../test/angular-app/tsconfig.json | 4 +- .../test/basic-app/tsconfig.json | 4 +- .../migrations/migration-collection.json | 5 + .../update-14/update-tsconfig-target.ts | 56 ++++++++ .../update-14/update-tsconfig-target_spec.ts | 127 ++++++++++++++++++ .../workspace/files/tsconfig.json.template | 2 +- .../legacy-cli/e2e/tests/build/prod-build.ts | 6 +- .../e2e/tests/i18n/ivy-localize-es2015.ts | 5 - 13 files changed, 205 insertions(+), 22 deletions(-) create mode 100644 packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts create mode 100644 packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts index 2f846fb77b5f..6f856d5441ad 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts @@ -29,7 +29,7 @@ describe('Browser Builder allow js', () => { 'src/main.ts': `import { a } from './my-js-file'; console.log(a);`, }); - host.replaceInFile('tsconfig.json', '"target": "es2017"', '"target": "es5", "allowJs": true'); + host.replaceInFile('tsconfig.json', '"target": "es2020"', '"target": "es5", "allowJs": true'); const run = await architect.scheduleTarget(targetSpec); const output = (await run.result) as BrowserBuilderOutput; @@ -50,7 +50,7 @@ describe('Browser Builder allow js', () => { 'src/main.ts': `import { a } from './my-js-file'; console.log(a);`, }); - host.replaceInFile('tsconfig.json', '"target": "es2017"', '"target": "es5", "allowJs": true'); + host.replaceInFile('tsconfig.json', '"target": "es2020"', '"target": "es5", "allowJs": true'); const overrides = { aot: true }; @@ -73,7 +73,7 @@ describe('Browser Builder allow js', () => { 'src/main.ts': `import { a } from './my-js-file'; console.log(a);`, }); - host.replaceInFile('tsconfig.json', '"target": "es2017"', '"target": "es5", "allowJs": true'); + host.replaceInFile('tsconfig.json', '"target": "es2020"', '"target": "es5", "allowJs": true'); const overrides = { watch: true }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts index 0631d4a610ec..016632feccb2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts @@ -152,7 +152,7 @@ describe('Browser Builder lazy modules', () => { const { files } = await browserBuild(architect, host, target); expect(files['src_one_ts.js']).not.toBeUndefined(); expect(files['src_two_ts.js']).not.toBeUndefined(); - expect(files['default-node_modules_angular_common_fesm2015_http_mjs.js']).toBeDefined(); + expect(files['default-node_modules_angular_common_fesm2020_http_mjs.js']).toBeDefined(); }); it(`supports disabling the common bundle`, async () => { @@ -165,6 +165,6 @@ describe('Browser Builder lazy modules', () => { const { files } = await browserBuild(architect, host, target, { commonChunk: false }); expect(files['src_one_ts.js']).not.toBeUndefined(); expect(files['src_two_ts.js']).not.toBeUndefined(); - expect(files['default-node_modules_angular_common_fesm2015_http_mjs.js']).toBeUndefined(); + expect(files['default-node_modules_angular_common_fesm2020_http_mjs.js']).toBeUndefined(); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts index 9c8f90bca54a..52ff4f9fcb38 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts @@ -29,7 +29,7 @@ describe('Browser Builder resolve json module', () => { host.replaceInFile( 'tsconfig.json', - '"target": "es2017"', + '"target": "es2020"', '"target": "es5", "resolveJsonModule": true', ); diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json b/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json index 956e76c7636f..91d00e2ae8f7 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json @@ -8,13 +8,13 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es2017", + "target": "es2020", "module": "es2020", "typeRoots": [ "node_modules/@types" ], "lib": [ - "es2017", + "es2020", "dom" ] }, diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json b/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json index 2c5d470a7258..455f55ed0b41 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json @@ -13,7 +13,7 @@ "node_modules/@types" ], "lib": [ - "es2017", + "es2020", "dom" ] }, diff --git a/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json b/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json index 1807c9908f73..aa337c9e758d 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json +++ b/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json @@ -8,9 +8,9 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es2017", + "target": "es2020", "typeRoots": ["node_modules/@types"], - "lib": ["es2017", "dom"] + "lib": ["es2020", "dom"] }, "angularCompilerOptions": { "enableIvy": true, diff --git a/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json b/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json index 890391f42fbe..caa9637b15dc 100644 --- a/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json +++ b/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json @@ -7,10 +7,10 @@ "declaration": false, "moduleResolution": "node", "experimentalDecorators": true, - "target": "es2017", + "target": "es2020", "module": "esnext", "typeRoots": ["node_modules/@types"], - "lib": ["es2017", "dom"] + "lib": ["es2020", "dom"] }, "angularCompilerOptions": { "disableTypeScriptVersionCheck": true diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index e2a7e796d193..14b6324f0df2 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -4,6 +4,11 @@ "version": "14.0.0", "factory": "./update-14/angular-packages-version-prefix", "description": "Update Angular packages 'dependencies' and 'devDependencies' version prefix to '^' instead of '~'." + }, + "update-tsconfig-target": { + "version": "14.0.0", + "factory": "./update-14/update-tsconfig-target", + "description": "Update TypeScript compilation target to 'ES2020'." } } } diff --git a/packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts b/packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts new file mode 100644 index 000000000000..9ffaf3a198db --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts @@ -0,0 +1,56 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule } from '@angular-devkit/schematics'; +import { JSONFile } from '../../utility/json-file'; +import { getWorkspace } from '../../utility/workspace'; +import { Builders } from '../../utility/workspace-models'; + +/** Migration to update tsconfig compilation target option to es2020. */ +export default function (): Rule { + return async (host) => { + /** Builders for which the migration will run. */ + const supportedBuilders = [Builders.Karma, Builders.NgPackagr, Builders.Browser]; + + /** Compilation targets values that should not be amended. */ + const skipTargets = ['es2020', 'es2021', 'es2022', 'esnext']; + + const uniqueTsConfigs = new Set(['/tsconfig.json']); + + // Find all tsconfig files which are refereced by the builders. + const workspace = await getWorkspace(host); + for (const project of workspace.projects.values()) { + for (const target of project.targets.values()) { + if (!supportedBuilders.includes(target.builder as Builders)) { + // Unknown builder. + continue; + } + + // Update all other known CLI builders that use a tsconfig. + const allOptions = [target.options ?? {}, ...Object.values(target.configurations ?? {})]; + for (const opt of allOptions) { + if (typeof opt?.tsConfig === 'string') { + uniqueTsConfigs.add(opt.tsConfig); + } + } + } + } + + // Modify tsconfig files + const targetJsonPath = ['compilerOptions', 'target']; + for (const tsConfigPath of uniqueTsConfigs) { + const json = new JSONFile(host, tsConfigPath); + const target = json.get(targetJsonPath); + + // Update compilation target when it's current set lower than es2020. + if (typeof target === 'string' && !skipTargets.includes(target.toLowerCase())) { + json.modify(targetJsonPath, 'es2020'); + } + } + }; +} diff --git a/packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts b/packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts new file mode 100644 index 000000000000..63c303244a58 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts @@ -0,0 +1,127 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { parse as parseJson } from 'jsonc-parser'; +import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; + +describe('Migration to update target compiler options', () => { + const schematicName = 'update-tsconfig-target'; + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + function createJsonFile(tree: UnitTestTree, filePath: string, content: {}) { + tree.create(filePath, JSON.stringify(content, undefined, 2)); + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + function readJsonFile(tree: UnitTestTree, filePath: string): any { + return parseJson(tree.readContent(filePath).toString()); + } + + let tree: UnitTestTree; + + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + + // Workspace configuration + const angularConfig: WorkspaceSchema = { + version: 1, + projects: { + app: { + root: '', + sourceRoot: 'src', + projectType: ProjectType.Application, + prefix: 'app', + architect: { + build: { + builder: Builders.Browser, + options: { + tsConfig: 'src/tsconfig.app.json', + main: '', + polyfills: '', + }, + configurations: { + production: { + tsConfig: 'src/tsconfig.app.prod.json', + }, + }, + }, + test: { + builder: Builders.Karma, + options: { + karmaConfig: '', + tsConfig: 'src/tsconfig.spec.json', + }, + }, + server: { + builder: Builders.Server, + options: { + tsConfig: 'src/tsconfig.server.json', + outputPath: '', + main: '', + }, + }, + }, + }, + }, + }; + + createJsonFile(tree, 'angular.json', angularConfig); + + // Create tsconfigs + const compilerOptions = { target: 'es5', module: 'esnext' }; + + // Workspace + createJsonFile(tree, 'tsconfig.json', { compilerOptions }); + + // Application + createJsonFile(tree, 'src/tsconfig.app.json', { compilerOptions }); + createJsonFile(tree, 'src/tsconfig.app.prod.json', { compilerOptions }); + createJsonFile(tree, 'src/tsconfig.spec.json', { compilerOptions }); + + // Server + createJsonFile(tree, 'src/tsconfig.server.json', { compilerOptions }); + }); + + it(`should update target in workspace 'tsconfig.json'`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { target } = readJsonFile(newTree, 'tsconfig.json').compilerOptions; + expect(target).toBe('es2020'); + }); + + it(`should update target in 'tsconfig.json' which is referenced in option`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { target } = readJsonFile(newTree, 'src/tsconfig.spec.json').compilerOptions; + expect(target).toBe('es2020'); + }); + + it(`should update target in 'tsconfig.json' which is referenced in a configuration`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { target } = readJsonFile(newTree, 'src/tsconfig.app.prod.json').compilerOptions; + expect(target).toBe('es2020'); + }); + + it(`should not update target in 'tsconfig.server.json'`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { target } = readJsonFile(newTree, 'src/tsconfig.server.json').compilerOptions; + expect(target).toBe('es5'); + }); + + it('should not update target if it is greater than es2020', async () => { + const tsConfigPath = 'src/tsconfig.app.json'; + tree.delete(tsConfigPath); + createJsonFile(tree, tsConfigPath, { compilerOptions: { target: 'es2021' } }); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { target } = readJsonFile(newTree, tsConfigPath).compilerOptions; + expect(target).toBe('es2021'); + }); +}); diff --git a/packages/schematics/angular/workspace/files/tsconfig.json.template b/packages/schematics/angular/workspace/files/tsconfig.json.template index 977a7292beb3..81dfa6bef428 100644 --- a/packages/schematics/angular/workspace/files/tsconfig.json.template +++ b/packages/schematics/angular/workspace/files/tsconfig.json.template @@ -16,7 +16,7 @@ "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, - "target": "es2017", + "target": "es2020", "module": "es2020", "lib": [ "es2020", diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index 38850965eace..22cdf5d25435 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -37,11 +37,11 @@ export default async function () { await expectFileToMatch('dist/test-project/3rdpartylicenses.txt', /MIT/); const indexContent = await readFile('dist/test-project/index.html'); - const mainES2017Path = indexContent.match(/src="(main\.[a-z0-9]{0,32}\.js)"/)[1]; + const mainPath = indexContent.match(/src="(main\.[a-z0-9]{0,32}\.js)"/)[1]; // Content checks - await expectFileToMatch(`dist/test-project/${mainES2017Path}`, bootstrapRegExp); + await expectFileToMatch(`dist/test-project/${mainPath}`, bootstrapRegExp); // Size checks in bytes - verifySize(mainES2017Path, 141032); + verifySize(mainPath, 141032); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts index 0c9171dc743c..287f826ff457 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts @@ -1,6 +1,5 @@ import { expectFileNotToExist, expectFileToMatch, readFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; import { externalServer, langTranslations, setupI18nConfig } from './setup'; @@ -8,11 +7,7 @@ export default async function () { // Setup i18n tests and config. await setupI18nConfig(); - // Ensure a es2017 build is used. await writeFile('.browserslistrc', 'Chrome 65'); - await updateJsonFile('tsconfig.json', (config) => { - config.compilerOptions.target = 'es2017'; - }); await ng('build', '--source-map'); for (const { lang, outputPath, translation } of langTranslations) { From 2fc7c73d7e40dbb0a593df61eeba17c8a8f618a9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 28 Jan 2022 12:07:31 +0100 Subject: [PATCH 0036/1388] refactor(@angular/cli): remove deprecated `--prod` flag BREAKING CHANGE: Deprecated option `--prod` has been removed from all builders. `--configuration production`/`-c production` should be used instead if the default configuration of the builder is not configured to `production`. --- .../angular/cli/commands/definitions.json | 7 +- .../angular/cli/models/architect-command.ts | 15 - .../e2e/assets/9.0-project/README.md | 2 +- .../e2e/tests/build/lazy-load-syntax.ts | 87 +++--- tests/legacy-cli/e2e/tests/build/material.ts | 4 +- .../e2e/tests/build/rebuild-replacements.ts | 10 +- .../e2e/tests/misc/third-party-decorators.ts | 277 +++++++++--------- .../e2e/tests/test/test-environment.ts | 52 ++-- tests/legacy-cli/e2e/tests/update/update-9.ts | 4 +- 9 files changed, 236 insertions(+), 222 deletions(-) diff --git a/packages/angular/cli/commands/definitions.json b/packages/angular/cli/commands/definitions.json index a18355349f46..9bac3acef232 100644 --- a/packages/angular/cli/commands/definitions.json +++ b/packages/angular/cli/commands/definitions.json @@ -14,14 +14,9 @@ } }, "configuration": { - "description": "One or more named builder configurations as a comma-separated list as specified in the \"configurations\" section of angular.json.\nThe builder uses the named configurations to run the given target.\nFor more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.\nSetting this explicitly overrides the \"--prod\" flag.", + "description": "One or more named builder configurations as a comma-separated list as specified in the \"configurations\" section of angular.json.\nThe builder uses the named configurations to run the given target.\nFor more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.", "type": "string", "aliases": ["c"] - }, - "prod": { - "description": "Shorthand for \"--configuration=production\".\nSet the build configuration to the production target.\nBy default, the production target is set up in the workspace configuration such that all builds make use of bundling, limited tree-shaking, and also limited dead code elimination.", - "type": "boolean", - "x-deprecated": "Use `--configuration production` instead." } } }, diff --git a/packages/angular/cli/models/architect-command.ts b/packages/angular/cli/models/architect-command.ts index 713ce5e483b5..aaa8ddab17a5 100644 --- a/packages/angular/cli/models/architect-command.ts +++ b/packages/angular/cli/models/architect-command.ts @@ -422,21 +422,6 @@ export abstract class ArchitectCommand< } else { project = commandOptions.project; target = this.target; - if (commandOptions.prod) { - const defaultConfig = - project && - target && - this.workspace?.projects.get(project)?.targets.get(target)?.defaultConfiguration; - - this.logger.warn( - defaultConfig === 'production' - ? 'Option "--prod" is deprecated: No need to use this option as this builder defaults to configuration "production".' - : 'Option "--prod" is deprecated: Use "--configuration production" instead.', - ); - // The --prod flag will always be the first configuration, available to be overwritten - // by following configurations. - configuration = 'production'; - } if (commandOptions.configuration) { configuration = `${configuration ? `${configuration},` : ''}${ commandOptions.configuration diff --git a/tests/legacy-cli/e2e/assets/9.0-project/README.md b/tests/legacy-cli/e2e/assets/9.0-project/README.md index bbde334dfdc9..dc54dd650060 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/README.md +++ b/tests/legacy-cli/e2e/assets/9.0-project/README.md @@ -12,7 +12,7 @@ Run `ng generate component component-name` to generate a new component. You can ## Build -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. ## Running unit tests diff --git a/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts b/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts index ed39e98b4b6a..62f3cf294ba1 100644 --- a/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts +++ b/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts @@ -16,29 +16,37 @@ export default async function () { // Add app routing. // This is done automatically on a new app with --routing. - await writeFile(appRoutingModulePath, ` - import { NgModule } from '@angular/core'; - import { Routes, RouterModule } from '@angular/router'; + await writeFile( + appRoutingModulePath, + ` + import { NgModule } from '@angular/core'; + import { Routes, RouterModule } from '@angular/router'; - const routes: Routes = []; + const routes: Routes = []; - @NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] - }) - export class AppRoutingModule { } - `); - await prependToFile('src/app/app.module.ts', - `import { AppRoutingModule } from './app-routing.module';`); + @NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] + }) + export class AppRoutingModule { } + `, + ); + await prependToFile( + 'src/app/app.module.ts', + `import { AppRoutingModule } from './app-routing.module';`, + ); await replaceInFile('src/app/app.module.ts', `imports: [`, `imports: [ AppRoutingModule,`); await appendToFile('src/app/app.component.html', ''); const originalAppRoutingModule = await readFile(appRoutingModulePath); // helper to replace loadChildren const replaceLoadChildren = async (route: string) => { - const content = originalAppRoutingModule.replace('const routes: Routes = [];', ` - const routes: Routes = [{ path: 'lazy', loadChildren: ${route} }]; - `); + const content = originalAppRoutingModule.replace( + 'const routes: Routes = [];', + ` + const routes: Routes = [{ path: 'lazy', loadChildren: ${route} }]; + `, + ); return writeFile(appRoutingModulePath, content); }; @@ -46,34 +54,41 @@ export default async function () { // Add lazy route. await ng('generate', 'module', 'lazy', '--routing'); await ng('generate', 'component', 'lazy/lazy-comp'); - await replaceInFile('src/app/lazy/lazy-routing.module.ts', 'const routes: Routes = [];', ` - import { LazyCompComponent } from './lazy-comp/lazy-comp.component'; - const routes: Routes = [{ path: '', component: LazyCompComponent }]; - `); + await replaceInFile( + 'src/app/lazy/lazy-routing.module.ts', + 'const routes: Routes = [];', + ` + import { LazyCompComponent } from './lazy-comp/lazy-comp.component'; + const routes: Routes = [{ path: '', component: LazyCompComponent }]; + `, + ); // Add lazy route e2e - await writeFile('e2e/src/app.e2e-spec.ts', ` - import { browser, logging, element, by } from 'protractor'; + await writeFile( + 'e2e/src/app.e2e-spec.ts', + ` + import { browser, logging, element, by } from 'protractor'; - describe('workspace-project App', () => { - it('should display lazy route', async () => { - await browser.get(browser.baseUrl + '/lazy'); - expect(await element(by.css('app-lazy-comp p')).getText()).toEqual('lazy-comp works!'); - }); + describe('workspace-project App', () => { + it('should display lazy route', async () => { + await browser.get(browser.baseUrl + '/lazy'); + expect(await element(by.css('app-lazy-comp p')).getText()).toEqual('lazy-comp works!'); + }); - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - })); + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain(jasmine.objectContaining({ + level: logging.Level.SEVERE, + })); + }); }); - }); - `); + `, + ); // Convert the default config to use JIT and prod to just do AOT. - // This way we can use `ng e2e` to test JIT and `ng e2e --prod` to test AOT. - await updateJsonFile('angular.json', json => { + // This way we can use `ng e2e` to test JIT and `ng e2e --configuration=production` to test AOT. + await updateJsonFile('angular.json', (json) => { const buildTarget = json['projects'][projectName]['architect']['build']; buildTarget['options']['aot'] = true; buildTarget['configurations']['development']['aot'] = false; diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 5963d3411d89..23bbca4a612c 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,7 +7,7 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - const tag = await isPrereleaseCli() ? '@next' : ''; + const tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; @@ -72,5 +72,5 @@ export default async function () { `, ); - await ng('e2e', '--prod'); + await ng('e2e', '--configuration=production'); } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts index 12b4428cd142..4397e43cb3e6 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts @@ -8,17 +8,21 @@ import { wait } from '../../utils/utils'; const webpackGoodRegEx = / Compiled successfully./; -export default async function() { +export default async function () { if (process.platform.startsWith('win')) { return; } let error; try { - await execAndWaitForOutputToMatch('ng', ['serve', '--prod'], webpackGoodRegEx); + await execAndWaitForOutputToMatch( + 'ng', + ['serve', '--configuration=production'], + webpackGoodRegEx, + ); await wait(4000); - + // Should trigger a rebuild. await appendToFile('src/environments/environment.prod.ts', `console.log('PROD');`); await waitForAnyProcessOutputToMatch(webpackGoodRegEx, 45000); diff --git a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts index 40a2b730c114..1fb2a3f3a914 100644 --- a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts +++ b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts @@ -3,159 +3,162 @@ import { installWorkspacePackages } from '../../utils/packages'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; -export default function () { - return updateJsonFile('package.json', packageJson => { +export default async function () { + await updateJsonFile('package.json', (packageJson) => { // Install ngrx packageJson['dependencies']['@ngrx/effects'] = '^9.1.0'; packageJson['dependencies']['@ngrx/schematics'] = '^9.1.0'; packageJson['dependencies']['@ngrx/store'] = '^9.1.0'; packageJson['dependencies']['@ngrx/store-devtools'] = '^9.1.0'; - }) - .then(() => installWorkspacePackages()) - // Create an app that uses ngrx decorators and has e2e tests. - .then(_ => writeMultipleFiles({ - './e2e/src/app.po.ts': ` - import { browser, by, element } from 'protractor'; - export class AppPage { - async navigateTo() { return browser.get('/'); } - getIncrementButton() { return element(by.buttonText('Increment')); } - getDecrementButton() { return element(by.buttonText('Decrement')); } - getResetButton() { return element(by.buttonText('Reset Counter')); } - async getCounter() { return element(by.xpath('/html/body/app-root/div/span')).getText(); } - } - `, - './e2e/src/app.e2e-spec.ts': ` - import { AppPage } from './app.po'; - - describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should operate counter', async () => { - await page.navigateTo(); - await page.getIncrementButton().click(); - await page.getIncrementButton().click(); - expect(await page.getCounter()).toEqual('2'); - await page.getDecrementButton().click(); - expect(await page.getCounter()).toEqual('1'); - await page.getResetButton().click(); - expect(await page.getCounter()).toEqual('0'); - }); + }); + + await installWorkspacePackages(); + + // Create an app that uses ngrx decorators and has e2e tests. + await writeMultipleFiles({ + './e2e/src/app.po.ts': ` + import { browser, by, element } from 'protractor'; + export class AppPage { + async navigateTo() { return browser.get('/'); } + getIncrementButton() { return element(by.buttonText('Increment')); } + getDecrementButton() { return element(by.buttonText('Decrement')); } + getResetButton() { return element(by.buttonText('Reset Counter')); } + async getCounter() { return element(by.xpath('/html/body/app-root/div/span')).getText(); } + } + `, + './e2e/src/app.e2e-spec.ts': ` + import { AppPage } from './app.po'; + + describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); }); - `, - './src/app/app.component.ts': ` - import { Component } from '@angular/core'; - import { Store, select } from '@ngrx/store'; - import { Observable } from 'rxjs'; - import { INCREMENT, DECREMENT, RESET } from './counter.reducer'; - - interface AppState { - count: number; - } - - @Component({ - selector: 'app-root', - template: \` - -
Current Count: {{ count$ | async }}
- - - - \`, - }) - export class AppComponent { - count$: Observable; - - constructor(private store: Store) { - this.count$ = store.pipe(select(state => state.count)); - } - increment() { - this.store.dispatch({ type: INCREMENT }); - } - - decrement() { - this.store.dispatch({ type: DECREMENT }); - } - - reset() { - this.store.dispatch({ type: RESET }); - } + it('should operate counter', async () => { + await page.navigateTo(); + await page.getIncrementButton().click(); + await page.getIncrementButton().click(); + expect(await page.getCounter()).toEqual('2'); + await page.getDecrementButton().click(); + expect(await page.getCounter()).toEqual('1'); + await page.getResetButton().click(); + expect(await page.getCounter()).toEqual('0'); + }); + }); + `, + './src/app/app.component.ts': ` + import { Component } from '@angular/core'; + import { Store, select } from '@ngrx/store'; + import { Observable } from 'rxjs'; + import { INCREMENT, DECREMENT, RESET } from './counter.reducer'; + + interface AppState { + count: number; + } + + @Component({ + selector: 'app-root', + template: \` + +
Current Count: {{ count$ | async }}
+ + + + \`, + }) + export class AppComponent { + count$: Observable; + + constructor(private store: Store) { + this.count$ = store.pipe(select(state => state.count)); } - `, - './src/app/app.effects.ts': ` - import { Injectable } from '@angular/core'; - import { Actions, Effect } from '@ngrx/effects'; - import { filter, map, tap } from 'rxjs/operators'; - - @Injectable() - export class AppEffects { - - @Effect() - mapper$ = this.actions$.pipe(map(() => ({ type: 'ANOTHER'})), filter(() => false)); - @Effect({ dispatch: false }) - logger$ = this.actions$.pipe(tap(console.log)); - - constructor(private actions$: Actions) {} + increment() { + this.store.dispatch({ type: INCREMENT }); } - `, - './src/app/app.module.ts': ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - - import { AppComponent } from './app.component'; - import { StoreModule } from '@ngrx/store'; - import { StoreDevtoolsModule } from '@ngrx/store-devtools'; - import { environment } from '../environments/environment'; - import { EffectsModule } from '@ngrx/effects'; - import { AppEffects } from './app.effects'; - import { counterReducer } from './counter.reducer'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - StoreModule.forRoot({ count: counterReducer }), - !environment.production ? StoreDevtoolsModule.instrument() : [], - EffectsModule.forRoot([AppEffects]) - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - `, - './src/app/counter.reducer.ts': ` - import { Action } from '@ngrx/store'; - export const INCREMENT = 'INCREMENT'; - export const DECREMENT = 'DECREMENT'; - export const RESET = 'RESET'; + decrement() { + this.store.dispatch({ type: DECREMENT }); + } - const initialState = 0; + reset() { + this.store.dispatch({ type: RESET }); + } + } + `, + './src/app/app.effects.ts': ` + import { Injectable } from '@angular/core'; + import { Actions, Effect } from '@ngrx/effects'; + import { filter, map, tap } from 'rxjs/operators'; - export function counterReducer(state: number = initialState, action: Action) { - switch (action.type) { - case INCREMENT: - return state + 1; + @Injectable() + export class AppEffects { - case DECREMENT: - return state - 1; + @Effect() + mapper$ = this.actions$.pipe(map(() => ({ type: 'ANOTHER'})), filter(() => false)); - case RESET: - return 0; + @Effect({ dispatch: false }) + logger$ = this.actions$.pipe(tap(console.log)); - default: - return state; + constructor(private actions$: Actions) {} } - } `, - })) - // Run the e2e tests against a prod build. - .then(() => ng('e2e', '--prod')); + './src/app/app.module.ts': ` + import { BrowserModule } from '@angular/platform-browser'; + import { NgModule } from '@angular/core'; + + import { AppComponent } from './app.component'; + import { StoreModule } from '@ngrx/store'; + import { StoreDevtoolsModule } from '@ngrx/store-devtools'; + import { environment } from '../environments/environment'; + import { EffectsModule } from '@ngrx/effects'; + import { AppEffects } from './app.effects'; + import { counterReducer } from './counter.reducer'; + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + StoreModule.forRoot({ count: counterReducer }), + !environment.production ? StoreDevtoolsModule.instrument() : [], + EffectsModule.forRoot([AppEffects]) + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + `, + './src/app/counter.reducer.ts': ` + import { Action } from '@ngrx/store'; + + export const INCREMENT = 'INCREMENT'; + export const DECREMENT = 'DECREMENT'; + export const RESET = 'RESET'; + + const initialState = 0; + + export function counterReducer(state: number = initialState, action: Action) { + switch (action.type) { + case INCREMENT: + return state + 1; + + case DECREMENT: + return state - 1; + + case RESET: + return 0; + + default: + return state; + } + } + `, + }); + + // Run the e2e tests against a production build. + await ng('e2e', '--configuration=production'); } diff --git a/tests/legacy-cli/e2e/tests/test/test-environment.ts b/tests/legacy-cli/e2e/tests/test/test-environment.ts index 09152caee409..0342a6a5b982 100644 --- a/tests/legacy-cli/e2e/tests/test/test-environment.ts +++ b/tests/legacy-cli/e2e/tests/test/test-environment.ts @@ -4,7 +4,10 @@ import { updateJsonFile } from '../../utils/project'; export default function () { // Tests run in 'dev' environment by default. - return writeFile('src/app/environment.spec.ts', ` + return ( + writeFile( + 'src/app/environment.spec.ts', + ` import { environment } from '../environments/environment'; describe('Test environment', () => { @@ -12,24 +15,30 @@ export default function () { expect(environment.production).toBe(false); }); }); - `) - .then(() => ng('test', '--watch=false')) - .then(() => updateJsonFile('angular.json', configJson => { - const appArchitect = configJson.projects['test-project'].architect; - appArchitect.test.configurations = { - production: { - fileReplacements: [ - { - src: 'src/environments/environment.ts', - replaceWith: 'src/environments/environment.prod.ts', - } - ], - } - }; - })) + `, + ) + .then(() => ng('test', '--watch=false')) + .then(() => + updateJsonFile('angular.json', (configJson) => { + const appArchitect = configJson.projects['test-project'].architect; + appArchitect.test.configurations = { + production: { + fileReplacements: [ + { + src: 'src/environments/environment.ts', + replaceWith: 'src/environments/environment.prod.ts', + }, + ], + }, + }; + }), + ) - // Tests can run in different environment. - .then(() => writeFile('src/app/environment.spec.ts', ` + // Tests can run in different environment. + .then(() => + writeFile( + 'src/app/environment.spec.ts', + ` import { environment } from '../environments/environment'; describe('Test environment', () => { @@ -37,6 +46,9 @@ export default function () { expect(environment.production).toBe(true); }); }); - `)) - .then(() => ng('test', '--prod', '--watch=false')); + `, + ), + ) + .then(() => ng('test', '--configuration=production', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/update/update-9.ts b/tests/legacy-cli/e2e/tests/update/update-9.ts index 38d0635b0d92..3046815e5d9d 100644 --- a/tests/legacy-cli/e2e/tests/update/update-9.ts +++ b/tests/legacy-cli/e2e/tests/update/update-9.ts @@ -49,9 +49,9 @@ export default async function () { await ng('generate', 'component', 'my-comp'); await ng('test', '--watch=false'); await ng('e2e'); - await ng('e2e', '--prod'); + await ng('e2e', '--configuration=production'); // Verify project now creates bundles - await noSilentNg('build', '--prod'); + await noSilentNg('build', '--configuration=production'); await expectFileMatchToExist('dist/nine-project/', /main\.[0-9a-f]{16}\.js/); } From 44c1e6d0d2db5f2dc212d63a34ade045cb7854d5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 27 Jan 2022 09:19:44 +0100 Subject: [PATCH 0037/1388] refactor(@angular-devkit/schematics): remove deprecated `analytics` property BREAKING CHANGE: Deprecated `analytics` property has been removed from `TypedSchematicContext` interface --- goldens/public-api/angular_devkit/schematics/src/index.md | 3 --- .../public-api/angular_devkit/schematics/testing/index.md | 1 - .../public-api/angular_devkit/schematics/tools/index.md | 1 - .../angular_devkit/schematics/src/engine/interface.ts | 8 ++------ 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/src/index.md b/goldens/public-api/angular_devkit/schematics/src/index.md index b9e405ece3ce..98977dc662d7 100644 --- a/goldens/public-api/angular_devkit/schematics/src/index.md +++ b/goldens/public-api/angular_devkit/schematics/src/index.md @@ -6,7 +6,6 @@ /// -import { analytics } from '@angular-devkit/core'; import { BaseException } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; @@ -929,8 +928,6 @@ export const TreeSymbol: symbol; export interface TypedSchematicContext { // (undocumented) addTask(task: TaskConfigurationGenerator, dependencies?: Array): TaskId; - // @deprecated (undocumented) - readonly analytics?: analytics.Analytics; // (undocumented) readonly debug: boolean; // (undocumented) diff --git a/goldens/public-api/angular_devkit/schematics/testing/index.md b/goldens/public-api/angular_devkit/schematics/testing/index.md index fe471ea10d69..9358b5a8390a 100644 --- a/goldens/public-api/angular_devkit/schematics/testing/index.md +++ b/goldens/public-api/angular_devkit/schematics/testing/index.md @@ -6,7 +6,6 @@ /// -import { analytics } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import { Path } from '@angular-devkit/core'; diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.md b/goldens/public-api/angular_devkit/schematics/tools/index.md index 392e77515ff4..162cdf1c4243 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.md @@ -6,7 +6,6 @@ /// -import { analytics } from '@angular-devkit/core'; import { BaseException } from '@angular-devkit/core'; import { JsonObject } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; diff --git a/packages/angular_devkit/schematics/src/engine/interface.ts b/packages/angular_devkit/schematics/src/engine/interface.ts index 26f78f0f5d18..b16da29b545f 100644 --- a/packages/angular_devkit/schematics/src/engine/interface.ts +++ b/packages/angular_devkit/schematics/src/engine/interface.ts @@ -65,7 +65,7 @@ export type CollectionDescription = Collecti */ export type SchematicDescription< CollectionMetadataT extends object, - SchematicMetadataT extends object + SchematicMetadataT extends object, > = SchematicMetadataT & { readonly collection: CollectionDescription; readonly name: string; @@ -187,7 +187,7 @@ export interface Schematic { readonly debug: boolean; readonly engine: Engine; @@ -196,10 +196,6 @@ export interface TypedSchematicContext< readonly strategy: MergeStrategy; readonly interactive: boolean; addTask(task: TaskConfigurationGenerator, dependencies?: Array): TaskId; - - // This might be undefined if the feature is unsupported. - /** @deprecated since version 11 - as it's unused. */ - readonly analytics?: analytics.Analytics; } /** From 7bcc18e75326712ac3493c4d03bad078ede24752 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 28 Jan 2022 19:02:30 +0000 Subject: [PATCH 0038/1388] build: update dependency @ampproject/remapping to v2 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f8b339457b51..7e1e48e8f7c6 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "ajv-formats/ajv": "8.9.0" }, "devDependencies": { - "@ampproject/remapping": "1.1.1", + "@ampproject/remapping": "2.0.0", "@angular/animations": "14.0.0-next.0", "@angular/cdk": "14.0.0-next.0", "@angular/common": "14.0.0-next.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0ec910b577d6..b90a3fb569df 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,7 +6,7 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "1.1.1", + "@ampproject/remapping": "2.0.0", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", diff --git a/yarn.lock b/yarn.lock index 6d03ab2202a7..5278e6778ead 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,6 +34,15 @@ "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" +"@ampproject/remapping@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.0.tgz#a1ffcd0e63cae5a6a441669fac1dbc5513cf6881" + integrity sha512-Ag6L7Pjt3QxYKA5hgc1bvq6pQ3mD7b+BpPqciz38Het1uPsZn5C3/9NSlQyNPlKIKwZxupcU/9TMjLbcEssvsQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/trace-mapping" "^0.2.0" + sourcemap-codec "1.4.8" + "@angular-devkit/architect@0.1302.0-rc.1": version "0.1302.0-rc.1" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0-rc.1.tgz#090e86312f6c57da83e46cda4833b37843f1ebf1" @@ -1418,6 +1427,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== +"@jridgewell/trace-mapping@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.1.tgz#9e0a2ae258370bbb3aedbe45e26bc49e020f60a9" + integrity sha512-34FHiG7Gn+oXSF79LnqOogVHbsBgSnCjPYC3mfkViduAUciBbKA8lhhgeoaxytzFo7RZTloxlb9UyoW2dQgCEA== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + sourcemap-codec "1.4.8" + "@mark.probst/unicode-properties@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@mark.probst/unicode-properties/-/unicode-properties-1.1.0.tgz#5caafeab4737df93163d6d288007df33f9939b80" From ecf5cffab942639adb7e0c8a010a1bf43665d1cb Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Fri, 28 Jan 2022 11:34:59 -0800 Subject: [PATCH 0039/1388] docs: add note about switching FW dependencies off of `-rc.0` and `-next.0` before the production release Also turns two unrelated file references into links because it's been bugging me for ages but I was never willing to go out of my way for a separate commit or PR, and including it into another PR is kinda mixing concerns, but also who cares, so I'm just gonna do it now and hope no one notices, rant over. --- docs/process/release.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index fc71d0641f58..0465c8823f0f 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -66,14 +66,19 @@ FW `-rc.0`. The same needs to be done for a `-next.0` release, and needs to be done for both minor _and_ major releases. +Once FW releases the actual minor/major release (for example: `13.0.0` or `13.1.0`), these versions +should be updated to match (remove `-rc.0` and `-next.0`). This can be done as part of the release +PR ([example](https://github.com/angular/angular-cli/pull/22580/files#diff-53a0da39e6b029472ba808fdd567f8706e752434fa51be6009f0140532b9fe2f)) +or a separate PR after FW releases but before CLI releases. + **For a major release:** When a release is transitioning from a prerelease to a stable release, the semver ranges for Angular dependencies within the packages' `package.json` files will need to be updated to remove the prerelease version segment. For example, `"@angular/compiler-cli": "^13.0.0 || ^13.0.0-next"` in a prerelease should become `"@angular/compiler-cli": "^13.0.0"` in the stable release. The current packages that require adjustment are: -- `@angular-devkit/build-angular`: packages/angular_devkit/build_angular/package.json -- `@ngtools/webpack`: packages/ngtools/webpack/package.json +- `@angular-devkit/build-angular`: [packages/angular_devkit/build_angular/package.json](/packages/angular_devkit/build_angular/package.json) +- `@ngtools/webpack`: [packages/ngtools/webpack/package.json](/packages/ngtools/webpack/package.json) ## Releasing the CLI From 7f67dbc1cf5c86cf85cb211997465c0901606778 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 31 Jan 2022 12:37:38 +0100 Subject: [PATCH 0040/1388] fix(@angular-devkit/build-angular): invalid browsers version ranges This change addresses the `Invalid version: "15.2-15.3"` range error. We previously only handled version ranges for `ios_safari`. Now, we handle such versions for all browsers. Closes #22606 --- .../src/webpack/plugins/css-optimizer-plugin.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts index a43eb74a3e4f..00ecefdc5676 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts @@ -159,11 +159,12 @@ export class CssOptimizerPlugin { // browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios` if (browserName === 'ios_saf') { browserName = 'ios'; - // browserslist also uses ranges for iOS Safari versions but only the lowest is required - // to perform minimum supported feature checks. esbuild also expects a single version. - [version] = version.split('-'); } + // browserslist uses ranges `15.2-15.3` versions but only the lowest is required + // to perform minimum supported feature checks. esbuild also expects a single version. + [version] = version.split('-'); + if (esBuildSupportedBrowsers.has(browserName)) { if (browserName === 'safari' && version === 'TP') { // esbuild only supports numeric versions so `TP` is converted to a high number (999) since From ed132221752766344217e90dee90168ebdc8c9e6 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Mon, 31 Jan 2022 10:45:14 -0800 Subject: [PATCH 0041/1388] docs: release notes for the v13.2.1 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 796e0830d4a2..5239e18b2e66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.2.1 (2022-01-31) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------- | +| [acd752773](https://github.com/angular/angular-cli/commit/acd752773d85e4debbc2b415c7ea369bc3d7018a) | fix | invalid browsers version ranges | + +## Special Thanks + +Alan Agius + + + # 13.2.0 (2022-01-26) From d23a168b8d558ae9d73c8c9eed4ff199fc4d74b9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 31 Jan 2022 19:25:44 +0100 Subject: [PATCH 0042/1388] feat(@angular-devkit/build-angular): validate file extensions for `scripts` and `styles` options In some cases unexpected files may be provided which can cause to unsupported or broken behaviour. One such use-case is users can provide TypeScript files as `scripts` input, this would not be processed by the TypeScript compiler, see: https://github.com/angular/angular-cli/issues/17125 and would cause the build to fail with a an unhelpful error message during optimization as the JS optimizers cannot parse TypeScript input. BREAKING CHANGE: `browser` and `karma` builders `script` and `styles` options input files extensions are now validated. Valid extensions for `scripts` are: - `.js` - `.cjs` - `.mjs` - `.jsx` - `.cjsx` - `.mjsx` Valid extensions for `styles` are: - `.css` - `.less` - `.sass` - `.scss` - `.styl` --- .../angular_devkit/build_angular/src/index.md | 18 +--- .../src/builders/browser/schema.json | 89 ++++++++++++------- .../src/builders/karma/schema.json | 89 ++++++++++++------- .../angular_devkit/build_angular/src/index.ts | 2 - .../build_angular/src/utils/build-options.ts | 7 +- .../src/utils/package-chunk-sort.ts | 11 ++- .../src/webpack/configs/styles.ts | 4 +- .../src/webpack/utils/helpers.ts | 12 +-- 8 files changed, 137 insertions(+), 95 deletions(-) diff --git a/goldens/public-api/angular_devkit/build_angular/src/index.md b/goldens/public-api/angular_devkit/build_angular/src/index.md index 30a86d584b93..d9223abf1a97 100644 --- a/goldens/public-api/angular_devkit/build_angular/src/index.md +++ b/goldens/public-api/angular_devkit/build_angular/src/index.md @@ -59,14 +59,14 @@ export interface BrowserBuilderOptions { preserveSymlinks?: boolean; progress?: boolean; resourcesOutputPath?: string; - scripts?: ExtraEntryPoint[]; + scripts?: ScriptElement[]; serviceWorker?: boolean; // @deprecated showCircularDependencies?: boolean; sourceMap?: SourceMapUnion; statsJson?: boolean; stylePreprocessorOptions?: StylePreprocessorOptions; - styles?: ExtraEntryPoint[]; + styles?: StyleElement[]; subresourceIntegrity?: boolean; tsConfig: string; vendorChunk?: boolean; @@ -155,16 +155,6 @@ export type ExecutionTransformer = (input: T) => T | Promise; // @public (undocumented) export type ExtractI18nBuilderOptions = Schema_2 & JsonObject; -// @public (undocumented) -export type ExtraEntryPoint = ExtraEntryPointObject | string; - -// @public (undocumented) -export interface ExtraEntryPointObject { - bundleName?: string; - inject?: boolean; - input: string; -} - // @public (undocumented) export interface FileReplacement { // (undocumented) @@ -193,10 +183,10 @@ export interface KarmaBuilderOptions { preserveSymlinks?: boolean; progress?: boolean; reporters?: string[]; - scripts?: ExtraEntryPoint_2[]; + scripts?: ScriptElement_2[]; sourceMap?: SourceMapUnion_2; stylePreprocessorOptions?: StylePreprocessorOptions_2; - styles?: ExtraEntryPoint_2[]; + styles?: StyleElement_2[]; tsConfig: string; watch?: boolean; webWorkerTsConfig?: string; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 3be6b363d425..6281b1b2c83b 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -29,7 +29,35 @@ "type": "array", "default": [], "items": { - "$ref": "#/definitions/extraEntryPoint" + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The file to include.", + "pattern": "\\.[cm]?jsx?$" + }, + "bundleName": { + "type": "string", + "pattern": "^[\\w\\-.]*$", + "description": "The bundle name for this extra entry point." + }, + "inject": { + "type": "boolean", + "description": "If the bundle will be referenced in the HTML file.", + "default": true + } + }, + "additionalProperties": false, + "required": ["input"] + }, + { + "type": "string", + "description": "The file to include.", + "pattern": "\\.[cm]?jsx?$" + } + ] } }, "styles": { @@ -37,7 +65,35 @@ "type": "array", "default": [], "items": { - "$ref": "#/definitions/extraEntryPoint" + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The file to include.", + "pattern": "\\.(?:css|scss|sass|less|styl)$" + }, + "bundleName": { + "type": "string", + "pattern": "^[\\w\\-.]*$", + "description": "The bundle name for this extra entry point." + }, + "inject": { + "type": "boolean", + "description": "If the bundle will be referenced in the HTML file.", + "default": true + } + }, + "additionalProperties": false, + "required": ["input"] + }, + { + "type": "string", + "description": "The file to include.", + "pattern": "\\.(?:css|scss|sass|less|styl)$" + } + ] } }, "inlineStyleLanguage": { @@ -437,35 +493,6 @@ } ] }, - "extraEntryPoint": { - "oneOf": [ - { - "type": "object", - "properties": { - "input": { - "type": "string", - "description": "The file to include." - }, - "bundleName": { - "type": "string", - "pattern": "^[\\w\\-.]*$", - "description": "The bundle name for this extra entry point." - }, - "inject": { - "type": "boolean", - "description": "If the bundle will be referenced in the HTML file.", - "default": true - } - }, - "additionalProperties": false, - "required": ["input"] - }, - { - "type": "string", - "description": "The file to include." - } - ] - }, "budget": { "type": "object", "properties": { diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index d527486607f6..e97151694e80 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -33,7 +33,35 @@ "type": "array", "default": [], "items": { - "$ref": "#/definitions/extraEntryPoint" + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The file to include.", + "pattern": "\\.[cm]?jsx?$" + }, + "bundleName": { + "type": "string", + "pattern": "^[\\w\\-.]*$", + "description": "The bundle name for this extra entry point." + }, + "inject": { + "type": "boolean", + "description": "If the bundle will be referenced in the HTML file.", + "default": true + } + }, + "additionalProperties": false, + "required": ["input"] + }, + { + "type": "string", + "description": "The file to include.", + "pattern": "\\.[cm]?jsx?$" + } + ] } }, "styles": { @@ -41,7 +69,35 @@ "type": "array", "default": [], "items": { - "$ref": "#/definitions/extraEntryPoint" + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The file to include.", + "pattern": "\\.(?:css|scss|sass|less|styl)$" + }, + "bundleName": { + "type": "string", + "pattern": "^[\\w\\-.]*$", + "description": "The bundle name for this extra entry point." + }, + "inject": { + "type": "boolean", + "description": "If the bundle will be referenced in the HTML file.", + "default": true + } + }, + "additionalProperties": false, + "required": ["input"] + }, + { + "type": "string", + "description": "The file to include.", + "pattern": "\\.(?:css|scss|sass|less|styl)$" + } + ] } }, "inlineStyleLanguage": { @@ -218,35 +274,6 @@ "type": "string" } ] - }, - "extraEntryPoint": { - "oneOf": [ - { - "type": "object", - "properties": { - "input": { - "type": "string", - "description": "The file to include." - }, - "bundleName": { - "type": "string", - "pattern": "^[\\w\\-.]*$", - "description": "The bundle name for this extra entry point." - }, - "inject": { - "type": "boolean", - "description": "If the bundle will be referenced in the HTML file.", - "default": true - } - }, - "additionalProperties": false, - "required": ["input"] - }, - { - "type": "string", - "description": "The file to include." - } - ] } } } diff --git a/packages/angular_devkit/build_angular/src/index.ts b/packages/angular_devkit/build_angular/src/index.ts index 3fd72d916551..5e9829236c5f 100644 --- a/packages/angular_devkit/build_angular/src/index.ts +++ b/packages/angular_devkit/build_angular/src/index.ts @@ -13,8 +13,6 @@ export { AssetPatternClass as AssetPatternObject, Budget, CrossOrigin, - ExtraEntryPoint, - ExtraEntryPointClass as ExtraEntryPointObject, FileReplacement, OptimizationClass as OptimizationObject, OptimizationUnion, diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 70715e8c2b7d..a3789254ff97 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -12,12 +12,13 @@ import { AssetPatternClass, Budget, CrossOrigin, - ExtraEntryPoint, I18NTranslation, IndexUnion, InlineStyleLanguage, Localize, + ScriptElement, SourceMapClass, + StyleElement, } from '../builders/browser/schema'; import { Schema as DevServerSchema } from '../builders/dev-server/schema'; import { NormalizedCachedOptions } from './normalize-cache'; @@ -61,8 +62,8 @@ export interface BuildOptions { polyfills?: string; budgets: Budget[]; assets: AssetPatternClass[]; - scripts: ExtraEntryPoint[]; - styles: ExtraEntryPoint[]; + scripts: ScriptElement[]; + styles: StyleElement[]; stylePreprocessorOptions?: { includePaths: string[] }; platform?: 'browser' | 'server'; fileReplacements: NormalizedFileReplacement[]; diff --git a/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts b/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts index a7a14a3183a6..78ca469f2265 100644 --- a/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts +++ b/packages/angular_devkit/build_angular/src/utils/package-chunk-sort.ts @@ -6,18 +6,21 @@ * found in the LICENSE file at https://angular.io/license */ -import { ExtraEntryPoint } from '../builders/browser/schema'; +import { ScriptElement, StyleElement } from '../builders/browser/schema'; import { normalizeExtraEntryPoints } from '../webpack/utils/helpers'; export type EntryPointsType = [name: string, isModule: boolean]; export function generateEntryPoints(options: { - styles: ExtraEntryPoint[]; - scripts: ExtraEntryPoint[]; + styles: StyleElement[]; + scripts: ScriptElement[]; isHMREnabled?: boolean; }): EntryPointsType[] { // Add all styles/scripts, except lazy-loaded ones. - const extraEntryPoints = (extraEntryPoints: ExtraEntryPoint[], defaultBundleName: string) => { + const extraEntryPoints = ( + extraEntryPoints: (ScriptElement | ScriptElement)[], + defaultBundleName: string, + ) => { const entryPoints = normalizeExtraEntryPoints(extraEntryPoints, defaultBundleName) .filter((entry) => entry.inject) .map((entry) => entry.bundleName); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index ea81a57a6f4c..f3544e302a92 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -10,7 +10,7 @@ import * as fs from 'fs'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import * as path from 'path'; import { Configuration, RuleSetUseItem } from 'webpack'; -import { ExtraEntryPoint } from '../../builders/browser/schema'; +import { StyleElement } from '../../builders/browser/schema'; import { SassWorkerImplementation } from '../../sass/sass-service'; import { WebpackConfigOptions } from '../../utils/build-options'; import { @@ -27,7 +27,7 @@ import { } from '../utils/helpers'; function resolveGlobalStyles( - styleEntrypoints: ExtraEntryPoint[], + styleEntrypoints: StyleElement[], root: string, preserveSymlinks: boolean, ): { entryPoints: Record; noInjectNames: string[]; paths: string[] } { diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index d8a59c72efb9..175c403e4227 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -13,11 +13,7 @@ import glob from 'glob'; import * as path from 'path'; import { ScriptTarget } from 'typescript'; import type { Configuration, WebpackOptionsNormalized } from 'webpack'; -import { - AssetPatternClass, - ExtraEntryPoint, - ExtraEntryPointClass, -} from '../../builders/browser/schema'; +import { AssetPatternClass, ScriptElement, StyleElement } from '../../builders/browser/schema'; import { WebpackConfigOptions } from '../../utils/build-options'; import { VERSION } from '../../utils/package-version'; @@ -49,10 +45,10 @@ export function getOutputHashFormat(option: string, length = 20): HashFormat { return hashFormats[option] || hashFormats['none']; } -export type NormalizedEntryPoint = Required; +export type NormalizedEntryPoint = Required>; export function normalizeExtraEntryPoints( - extraEntryPoints: ExtraEntryPoint[], + extraEntryPoints: (ScriptElement | StyleElement)[], defaultBundleName: string, ): NormalizedEntryPoint[] { return extraEntryPoints.map((entry) => { @@ -160,7 +156,7 @@ export function getCacheSettings( export function globalScriptsByBundleName( root: string, - scripts: ExtraEntryPoint[], + scripts: ScriptElement[], ): { bundleName: string; inject: boolean; paths: string[] }[] { return normalizeExtraEntryPoints(scripts, 'scripts').reduce( (prev: { bundleName: string; paths: string[]; inject: boolean }[], curr) => { From 0a1cd584d8ed00889b177f4284baec7e5427caf2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 28 Jan 2022 14:02:30 +0100 Subject: [PATCH 0043/1388] refactor(@angular-devkit/build-angular): remove deprecated `showCircularDependencies` browser and server builder option BREAKING CHANGE: The deprecated `showCircularDependencies` browser and server builder option has been removed. The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tools. --- .../angular_devkit/build_angular/src/index.md | 4 - package.json | 1 - .../angular_devkit/build_angular/BUILD.bazel | 1 - .../angular_devkit/build_angular/package.json | 1 - .../src/builders/browser/schema.json | 6 -- .../show-circular-dependencies_spec.ts | 70 ---------------- .../src/builders/server/schema.json | 6 -- .../build_angular/src/utils/build-options.ts | 1 - .../src/webpack/configs/common.ts | 9 -- .../migrations/migration-collection.json | 5 ++ ...emove-show-circular-dependencies-option.ts | 28 +++++++ ...-show-circular-dependencies-option_spec.ts | 82 +++++++++++++++++++ .../e2e/tests/misc/circular-dependency.ts | 14 ---- 13 files changed, 115 insertions(+), 113 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/src/builders/browser/tests/options/show-circular-dependencies_spec.ts create mode 100644 packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option.ts create mode 100644 packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/circular-dependency.ts diff --git a/goldens/public-api/angular_devkit/build_angular/src/index.md b/goldens/public-api/angular_devkit/build_angular/src/index.md index d9223abf1a97..a8e8037a2103 100644 --- a/goldens/public-api/angular_devkit/build_angular/src/index.md +++ b/goldens/public-api/angular_devkit/build_angular/src/index.md @@ -61,8 +61,6 @@ export interface BrowserBuilderOptions { resourcesOutputPath?: string; scripts?: ScriptElement[]; serviceWorker?: boolean; - // @deprecated - showCircularDependencies?: boolean; sourceMap?: SourceMapUnion; statsJson?: boolean; stylePreprocessorOptions?: StylePreprocessorOptions; @@ -263,8 +261,6 @@ export interface ServerBuilderOptions { preserveSymlinks?: boolean; progress?: boolean; resourcesOutputPath?: string; - // @deprecated - showCircularDependencies?: boolean; sourceMap?: SourceMapUnion_3; statsJson?: boolean; stylePreprocessorOptions?: StylePreprocessorOptions_3; diff --git a/package.json b/package.json index 7e1e48e8f7c6..eaa69ec67fc3 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,6 @@ "browserslist": "^4.9.1", "cacache": "15.3.0", "chokidar": "^3.5.2", - "circular-dependency-plugin": "5.2.2", "common-tags": "^1.8.0", "conventional-commits-parser": "^3.0.0", "copy-webpack-plugin": "10.2.1", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 1318fa917519..748dde42e8bb 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -130,7 +130,6 @@ ts_library( "@npm//babel-plugin-istanbul", "@npm//browserslist", "@npm//cacache", - "@npm//circular-dependency-plugin", "@npm//copy-webpack-plugin", "@npm//core-js", "@npm//critters", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b90a3fb569df..bb72e0dcfc4b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,7 +26,6 @@ "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "15.3.0", - "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "10.2.1", "core-js": "3.20.3", "critters": "0.0.16", diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 6281b1b2c83b..6fb2c20b9100 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -329,12 +329,6 @@ "description": "Extract all licenses in a separate file.", "default": true }, - "showCircularDependencies": { - "type": "boolean", - "description": "Show circular dependency warnings on builds.", - "default": false, - "x-deprecated": "The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tooling." - }, "buildOptimizer": { "type": "boolean", "description": "Enables advanced build optimizations when using the 'aot' option.", diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/show-circular-dependencies_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/show-circular-dependencies_spec.ts deleted file mode 100644 index 491df3956c1a..000000000000 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/show-circular-dependencies_spec.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging } from '@angular-devkit/core'; -import { buildWebpackBrowser } from '../../index'; -import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; - -describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { - describe('Option: "showCircularDependencies"', () => { - beforeEach(async () => { - // Add circular dependency - await harness.appendToFile( - 'src/app/app.component.ts', - `import { AppModule } from './app.module'; console.log(AppModule);`, - ); - }); - - it('should show cyclic dependency warning when option is set to true', async () => { - harness.useTarget('build', { - ...BASE_OPTIONS, - showCircularDependencies: true, - }); - - const { result, logs } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - expect(logs).toContain( - jasmine.objectContaining({ - message: jasmine.stringMatching(/Circular dependency detected/), - }), - ); - }); - - it('should not show cyclic dependency warning when option is set to false', async () => { - harness.useTarget('build', { - ...BASE_OPTIONS, - showCircularDependencies: false, - }); - - const { result, logs } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - expect(logs).not.toContain( - jasmine.objectContaining({ - message: jasmine.stringMatching(/Circular dependency detected/), - }), - ); - }); - - it('should not show cyclic dependency warning when option is not present', async () => { - harness.useTarget('build', { - ...BASE_OPTIONS, - }); - - const { result, logs } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - expect(logs).not.toContain( - jasmine.objectContaining({ - message: jasmine.stringMatching(/Circular dependency detected/), - }), - ); - }); - }); -}); diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index d4c68ecf16df..17754d07187a 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -177,12 +177,6 @@ "description": "Extract all licenses in a separate file, in the case of production builds only.", "default": true }, - "showCircularDependencies": { - "type": "boolean", - "description": "Show circular dependency warnings on builds.", - "default": false, - "x-deprecated": "The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tooling." - }, "namedChunks": { "type": "boolean", "description": "Use file name for lazy loaded chunks.", diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index a3789254ff97..2a4e99cee6cd 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -49,7 +49,6 @@ export interface BuildOptions { deleteOutputPath?: boolean; preserveSymlinks?: boolean; extractLicenses?: boolean; - showCircularDependencies?: boolean; buildOptimizer?: boolean; namedChunks?: boolean; crossOrigin?: CrossOrigin; diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index e19db3fb4c27..6ae34fe394e6 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -173,15 +173,6 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise { + for (const project of workspace.projects.values()) { + for (const target of project.targets.values()) { + if ( + target.builder === '@angular-devkit/build-angular:server' || + target.builder === '@angular-devkit/build-angular:browser' + ) { + for (const [, options] of allTargetOptions(target)) { + delete options.showCircularDependencies; + } + } + } + } + }); +} diff --git a/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts b/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts new file mode 100644 index 000000000000..e8b05dd05ce0 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts @@ -0,0 +1,82 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { JsonObject } from '@angular-devkit/core'; +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { + BuilderTarget, + Builders, + ProjectType, + WorkspaceSchema, +} from '../../utility/workspace-models'; + +function getBuildTarget(tree: UnitTestTree): BuilderTarget { + return JSON.parse(tree.readContent('/angular.json')).projects.app.architect.build; +} + +function createWorkSpaceConfig(tree: UnitTestTree) { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: { + app: { + root: '', + sourceRoot: 'src', + projectType: ProjectType.Application, + prefix: 'app', + architect: { + build: { + builder: Builders.Browser, + options: { + extractCss: false, + showCircularDependencies: true, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any, + configurations: { + one: { + showCircularDependencies: false, + aot: true, + }, + two: { + showCircularDependencies: false, + aot: true, + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any, + }, + }, + }, + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); +} + +describe(`Migration to remove 'showCircularDependencies' option.`, () => { + const schematicName = 'remove-show-circular-dependencies-option'; + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + createWorkSpaceConfig(tree); + }); + + it(`should remove 'showCircularDependencies'`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { options, configurations } = getBuildTarget(newTree); + + expect(options.showCircularDependencies).toBeUndefined(); + expect(configurations).toBeDefined(); + expect(configurations?.one.showCircularDependencies).toBeUndefined(); + expect(configurations?.two.showCircularDependencies).toBeUndefined(); + }); +}); diff --git a/tests/legacy-cli/e2e/tests/misc/circular-dependency.ts b/tests/legacy-cli/e2e/tests/misc/circular-dependency.ts deleted file mode 100644 index 0b1e4c8e49d2..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/circular-dependency.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { prependToFile } from '../../utils/fs'; -import { ng } from '../../utils/process'; - - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - await prependToFile('src/app/app.component.ts', - `import { AppModule } from './app.module'; console.log(AppModule);`); - const { stderr } = await ng('build', '--show-circular-dependencies', '--configuration=development'); - if (!stderr.match(/Warning: Circular dependency detected/)) { - throw new Error('Expected to have circular dependency warning in output.'); - } -} From a0c02af7e340bb16f4e6f523c2d835c9b18926b3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 31 Jan 2022 12:37:08 +0100 Subject: [PATCH 0044/1388] refactor(@angular-devkit/core): remove deprecated fs, object and array APIs BREAKING CHANGE: The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs. - `fs` namespace - `clean` - `mapObject` --- .../angular_devkit/core/node/index.md | 14 ------- .../angular_devkit/core/src/index.md | 12 +----- packages/angular_devkit/core/node/fs.ts | 39 ------------------- packages/angular_devkit/core/node/index.ts | 3 +- .../angular_devkit/core/src/utils/array.ts | 12 ------ .../angular_devkit/core/src/utils/index.ts | 1 - .../angular_devkit/core/src/utils/object.ts | 12 ------ 7 files changed, 2 insertions(+), 91 deletions(-) delete mode 100644 packages/angular_devkit/core/node/fs.ts delete mode 100644 packages/angular_devkit/core/src/utils/array.ts diff --git a/goldens/public-api/angular_devkit/core/node/index.md b/goldens/public-api/angular_devkit/core/node/index.md index 202bfd1b43ec..6fa77ee73107 100644 --- a/goldens/public-api/angular_devkit/core/node/index.md +++ b/goldens/public-api/angular_devkit/core/node/index.md @@ -229,14 +229,6 @@ type FileBufferLike = ArrayBufferLike; // @public (undocumented) function fileBufferToString(fileBuffer: FileBuffer): string; -declare namespace fs { - export { - isFile, - isDirectory - } -} -export { fs } - // @public (undocumented) function getTypesOfSchema(schema: JsonSchema): Set; @@ -293,12 +285,6 @@ class IndentLogger extends Logger { constructor(name: string, parent?: Logger | null, indentation?: string); } -// @public @deprecated (undocumented) -function isDirectory(filePath: string): boolean; - -// @public @deprecated (undocumented) -function isFile(filePath: string): boolean; - // @public (undocumented) function isJobHandler(value: unknown): value is JobHandler; diff --git a/goldens/public-api/angular_devkit/core/src/index.md b/goldens/public-api/angular_devkit/core/src/index.md index d69e42a702fe..e40b56bc683e 100644 --- a/goldens/public-api/angular_devkit/core/src/index.md +++ b/goldens/public-api/angular_devkit/core/src/index.md @@ -189,9 +189,6 @@ export class CircularDependencyFoundException extends BaseException { // @public function classify(str: string): string; -// @public @deprecated (undocumented) -export function clean(array: Array): Array; - // @public (undocumented) export class ContentHasMutatedException extends BaseException { constructor(path: string); @@ -353,7 +350,7 @@ function dasherize(str: string): string; // @public function decamelize(str: string): string; -// @public (undocumented) +// @public export function deepCopy(value: T): T; // @public (undocumented) @@ -1037,13 +1034,6 @@ class LoggingAnalytics implements Analytics { // @public (undocumented) type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'; -// @public @deprecated (undocumented) -export function mapObject(obj: { - [k: string]: T; -}, mapper: (k: string, v: T) => V): { - [k: string]: V; -}; - // @public (undocumented) export class MergeConflictException extends BaseException { constructor(path: string); diff --git a/packages/angular_devkit/core/node/fs.ts b/packages/angular_devkit/core/node/fs.ts deleted file mode 100644 index 1eccf093eac9..000000000000 --- a/packages/angular_devkit/core/node/fs.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { statSync } from 'fs'; - -/** @deprecated Since v11.0, unused by the Angular tooling */ -export function isFile(filePath: string): boolean { - let stat; - try { - stat = statSync(filePath); - } catch (e) { - if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) { - return false; - } - throw e; - } - - return stat.isFile() || stat.isFIFO(); -} - -/** @deprecated Since v11.0, unused by the Angular tooling */ -export function isDirectory(filePath: string): boolean { - let stat; - try { - stat = statSync(filePath); - } catch (e) { - if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) { - return false; - } - throw e; - } - - return stat.isDirectory(); -} diff --git a/packages/angular_devkit/core/node/index.ts b/packages/angular_devkit/core/node/index.ts index c1e9cbdd353b..b80139dc672e 100644 --- a/packages/angular_devkit/core/node/index.ts +++ b/packages/angular_devkit/core/node/index.ts @@ -7,9 +7,8 @@ */ import * as experimental from './experimental/jobs/job-registry'; -import * as fs from './fs'; export * from './cli-logger'; export * from './host'; -export { experimental, fs }; +export { experimental }; diff --git a/packages/angular_devkit/core/src/utils/array.ts b/packages/angular_devkit/core/src/utils/array.ts deleted file mode 100644 index 20f0d29f0d7b..000000000000 --- a/packages/angular_devkit/core/src/utils/array.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** @deprecated Since v12.0, unused by the Angular tooling */ -export function clean(array: Array): Array { - return array.filter((x) => x !== undefined) as Array; -} diff --git a/packages/angular_devkit/core/src/utils/index.ts b/packages/angular_devkit/core/src/utils/index.ts index d32b7c0ba06d..72da748049e1 100644 --- a/packages/angular_devkit/core/src/utils/index.ts +++ b/packages/angular_devkit/core/src/utils/index.ts @@ -9,7 +9,6 @@ import * as tags from './literals'; import * as strings from './strings'; -export * from './array'; export * from './object'; export * from './template'; export * from './partially-ordered-set'; diff --git a/packages/angular_devkit/core/src/utils/object.ts b/packages/angular_devkit/core/src/utils/object.ts index 2373953351b1..0895ac413050 100644 --- a/packages/angular_devkit/core/src/utils/object.ts +++ b/packages/angular_devkit/core/src/utils/object.ts @@ -6,18 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -/** @deprecated Since v12.0, unused by the Angular tooling */ -export function mapObject( - obj: { [k: string]: T }, - mapper: (k: string, v: T) => V, -): { [k: string]: V } { - return Object.keys(obj).reduce((acc: { [k: string]: V }, k: string) => { - acc[k] = mapper(k, obj[k]); - - return acc; - }, {}); -} - const copySymbol = Symbol(); export function deepCopy(value: T): T { From c47195aea086142259bd2f2cf32c7120266fa747 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Fri, 28 Jan 2022 11:24:36 -0800 Subject: [PATCH 0045/1388] build: add an action for handling feature requests Add feature request voting process github actions to the repo. --- .github/workflows/feature-requests.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/feature-requests.yml diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml new file mode 100644 index 000000000000..7ae70b11407d --- /dev/null +++ b/.github/workflows/feature-requests.yml @@ -0,0 +1,17 @@ +name: Feature request triage bot + +on: + schedule: + # Run at 13:00 every day + - cron: '0 13 * * *' + +jobs: + feature_triage: + # To prevent this action from running in forks, we only run it if the repository is exactly the + # angular/angular-cli repository. + if: github.repository == 'angular/angular-cli' + runs-on: ubuntu-latest + steps: + - uses: angular/dev-infra/github-actions/feature-request@354871956801929457d9f08482fb81f7012ed7c8 + with: + angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From 40fb1a1e00bccc4335b8c72682a4b1e10fc824ad Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 27 Jan 2022 11:43:49 +0100 Subject: [PATCH 0046/1388] docs: move developer guide into a seperate file Currently, the `readme.md` also contains information on how to build and test the CLI which isn't useful to most users. With this change we move this information into a seperate document. --- README.md | 122 ---------------------------------- docs/DEVELOPER.md | 123 +++++++++++++++++++++++++++++++++++ scripts/templates/readme.ejs | 122 ---------------------------------- 3 files changed, 123 insertions(+), 244 deletions(-) create mode 100644 docs/DEVELOPER.md diff --git a/README.md b/README.md index 4b83db4fafbb..3a9906afffe0 100644 --- a/README.md +++ b/README.md @@ -41,128 +41,6 @@ Angular DevKit. DevKit's goal is to provide a large set of libraries that can be used to manage, develop, deploy and analyze your code. -# Getting Started - Local Development - -## Installation - -To get started locally, follow these instructions: - -1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork). -1. Clone to your local computer using `git`. -1. Make sure that you have Node 12.14 or 14.0 installed. See instructions [here](https://nodejs.org/en/download/). -1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/). -1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies. - -## Building and Installing the CLI - -To make a local build: - -```shell -yarn build --local -``` - -This generates a number of tarballs in the `dist/` directory. To actually use -the locally built tools, switch to another repository reproducing the specific -issue you want to fix (or just generate a local repo with `ng new`). Then -install the locally built packages: - -```shell -cd "${EXAMPLE_ANGULAR_PROJECT_REPO}" -npm install -D ${CLI_REPO}/dist/*.tgz -``` - -Builds of this example project will use tooling created from the previous local -build and include any local changes. When using the CLI, it will automatically -check for a local install and use that if present. This means you can just run: - -```shell -npm install -g @angular/cli -``` - -to get a global install of the latest CLI release. Then running any `ng` command -in the example project will automatically find and use the local build of the -CLI. - -Note: If you are testing `ng update`, be aware that installing all the tarballs -will also update the framework (`@angular/core`) to the latest version. In this -case, simply install the CLI alone with -`npm install -D ${CLI_REPO}/dist/_angular_cli.tgz`, that way the rest of the -project remains to be upgraded with `ng update`. - -## Debugging - -To debug an invocation of the CLI, [build and install the CLI for an example -project](#building-and-installing-the-cli), then run the desired `ng` command -as: - -```shell -node --inspect-brk node_modules/.bin/ng ... -``` - -This will trigger a breakpoint as the CLI starts up. You can connect to this -using the supported mechanisms for your IDE, but the simplest option is to open -Chrome to [chrome://inspect](chrome://inspect) and then click on the `inspect` -link for the `node_modules/.bin/ng` Node target. - -Unfortunately, the CLI dynamically `require()`'s other files mid-execution, so -the debugger is not aware of all the source code files before hand. As a result, -it is tough to put breakpoints on files before the CLI loads them. The easiest -workaround is to use the `debugger;` statement to stop execution in the file you -are interested in, and then you should be able to step around and set breakpoints -as expected. - -## Testing - -There are two different test suites which can be run locally: - -### Unit tests - * Run all tests: `yarn bazel test //packages/...` - * Run a subset of the tests, use the full Bazel target example: `yarn bazel test //packages/schematics/angular:angular_test` - * For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//packages/...)"` - -You can find more info about debugging [tests with Bazel in the docs.](https://github.com/angular/angular-cli/blob/master/docs/process/bazel.md#debugging-jasmine_node_test) - -### End to end tests - * Run: `node tests/legacy-cli/run_e2e.js` - * Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` - -When running the debug commands, Node will stop and wait for a debugger to attach. -You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a -simpler debug story. - -When debugging a specific test, change `describe()` or `it()` to `fdescribe()` -and `fit()` to focus execution to just that one test. This will keep the output clean and speed up execution by not running irrelevant tests. - -## IDE Specific Usage - -Some additional tips for developing in specific IDEs. - -### Intellij IDEA / WebStorm - -To load the project in Intellij products, simply `Open` the repository folder. -Do **not** `Import Project`, because that will overwrite the existing -configuration. - -Once opened, the editor should automatically detect run configurations in the -workspace. Use the drop down to choose which one to run and then click the `Run` -button to start it. When executing a debug target, make sure to click the -`Debug` icon to automatically attach the debugger (if you click `Run`, Node will -wait forever for a debugger to attach). - -![Intellij IDEA run configurations](docs/images/run-configurations.png) - -## Creating New Packages - -Adding a package to this repository means running two separate commands: - -1. `schematics devkit:package PACKAGE_NAME`. This will update the `.monorepo` file, and create the - base files for the new package (package.json, src/index, etc). -1. `devkit-admin templates`. This will update the README and all other template files that might - have changed when adding a new package. - -For private packages, you will need to add a `"private": true` key to your package.json manually. -This will require re-running the template admin script. - # Packages This is a monorepo which contains many tools and packages: diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md new file mode 100644 index 000000000000..f21a831499c4 --- /dev/null +++ b/docs/DEVELOPER.md @@ -0,0 +1,123 @@ +# Building and Testing Angular CLI + +## Installation + +To get started locally, follow these instructions: + +1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork). +1. Clone to your local computer using `git`. +1. Make sure that you have Node `v12.20`, `v14.15`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/). +1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/). +1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies. + +## Building and Installing the CLI + +To make a local build: + +```shell +yarn build --local +``` + +This generates a number of tarballs in the `dist/` directory. To actually use +the locally built tools, switch to another repository reproducing the specific +issue you want to fix (or just generate a local repo with `ng new`). Then +install the locally built packages: + +```shell +cd "${EXAMPLE_ANGULAR_PROJECT_REPO}" +npm install -D ${CLI_REPO}/dist/*.tgz +``` + +Builds of this example project will use tooling created from the previous local +build and include any local changes. When using the CLI, it will automatically +check for a local install and use that if present. This means you can just run: + +```shell +npm install -g @angular/cli +``` + +to get a global install of the latest CLI release. Then running any `ng` command +in the example project will automatically find and use the local build of the +CLI. + +Note: If you are testing `ng update`, be aware that installing all the tarballs +will also update the framework (`@angular/core`) to the latest version. In this +case, simply install the CLI alone with +`npm install -D ${CLI_REPO}/dist/_angular_cli.tgz`, that way the rest of the +project remains to be upgraded with `ng update`. + +## Debugging + +To debug an invocation of the CLI, [build and install the CLI for an example +project](#building-and-installing-the-cli), then run the desired `ng` command +as: + +```shell +node --inspect-brk node_modules/.bin/ng ... +``` + +This will trigger a breakpoint as the CLI starts up. You can connect to this +using the supported mechanisms for your IDE, but the simplest option is to open +Chrome to [chrome://inspect](chrome://inspect) and then click on the `inspect` +link for the `node_modules/.bin/ng` Node target. + +Unfortunately, the CLI dynamically `require()`'s other files mid-execution, so +the debugger is not aware of all the source code files before hand. As a result, +it is tough to put breakpoints on files before the CLI loads them. The easiest +workaround is to use the `debugger;` statement to stop execution in the file you +are interested in, and then you should be able to step around and set breakpoints +as expected. + +## Testing + +There are two different test suites which can be run locally: + +### Unit tests + +- Run all tests: `yarn bazel test //packages/...` +- Run a subset of the tests, use the full Bazel target example: `yarn bazel test //packages/schematics/angular:angular_test` +- For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//packages/...)"` + +You can find more info about debugging [tests with Bazel in the docs.](https://github.com/angular/angular-cli/blob/master/docs/process/bazel.md#debugging-jasmine_node_test) + +### End to end tests + +- Run: `node tests/legacy-cli/run_e2e.js` +- Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` + +When running the debug commands, Node will stop and wait for a debugger to attach. +You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a +simpler debug story. + +When debugging a specific test, change `describe()` or `it()` to `fdescribe()` +and `fit()` to focus execution to just that one test. This will keep the output clean and speed up execution by not running irrelevant tests. + +## IDE Specific Usage + +Some additional tips for developing in specific IDEs. + +### Intellij IDEA / WebStorm + +To load the project in Intellij products, simply `Open` the repository folder. +Do **not** `Import Project`, because that will overwrite the existing +configuration. + +Once opened, the editor should automatically detect run configurations in the +workspace. Use the drop down to choose which one to run and then click the `Run` +button to start it. When executing a debug target, make sure to click the +`Debug` icon to automatically attach the debugger (if you click `Run`, Node will +wait forever for a debugger to attach). + +![Intellij IDEA run configurations](images/run-configurations.png) + +## Creating New Packages + +Adding a package to this repository means running two separate commands: + +1. `schematics devkit:package PACKAGE_NAME`. This will update the `.monorepo` file, and create the + base files for the new package (package.json, src/index, etc). +1. `devkit-admin templates`. This will update the README and all other template files that might + have changed when adding a new package. + +For private packages, you will need to add a `"private": true` key to your package.json manually. +This will require re-running the template admin script. diff --git a/scripts/templates/readme.ejs b/scripts/templates/readme.ejs index fa99b54cbcb8..f8f2c861276b 100644 --- a/scripts/templates/readme.ejs +++ b/scripts/templates/readme.ejs @@ -49,128 +49,6 @@ Angular DevKit. DevKit's goal is to provide a large set of libraries that can be used to manage, develop, deploy and analyze your code. -# Getting Started - Local Development - -## Installation - -To get started locally, follow these instructions: - -1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork). -1. Clone to your local computer using `git`. -1. Make sure that you have Node 12.14 or 14.0 installed. See instructions [here](https://nodejs.org/en/download/). -1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/). -1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies. - -## Building and Installing the CLI - -To make a local build: - -```shell -yarn build --local -``` - -This generates a number of tarballs in the `dist/` directory. To actually use -the locally built tools, switch to another repository reproducing the specific -issue you want to fix (or just generate a local repo with `ng new`). Then -install the locally built packages: - -```shell -cd "${EXAMPLE_ANGULAR_PROJECT_REPO}" -npm install -D ${CLI_REPO}/dist/*.tgz -``` - -Builds of this example project will use tooling created from the previous local -build and include any local changes. When using the CLI, it will automatically -check for a local install and use that if present. This means you can just run: - -```shell -npm install -g @angular/cli -``` - -to get a global install of the latest CLI release. Then running any `ng` command -in the example project will automatically find and use the local build of the -CLI. - -Note: If you are testing `ng update`, be aware that installing all the tarballs -will also update the framework (`@angular/core`) to the latest version. In this -case, simply install the CLI alone with -`npm install -D ${CLI_REPO}/dist/_angular_cli.tgz`, that way the rest of the -project remains to be upgraded with `ng update`. - -## Debugging - -To debug an invocation of the CLI, [build and install the CLI for an example -project](#building-and-installing-the-cli), then run the desired `ng` command -as: - -```shell -node --inspect-brk node_modules/.bin/ng ... -``` - -This will trigger a breakpoint as the CLI starts up. You can connect to this -using the supported mechanisms for your IDE, but the simplest option is to open -Chrome to [chrome://inspect](chrome://inspect) and then click on the `inspect` -link for the `node_modules/.bin/ng` Node target. - -Unfortunately, the CLI dynamically `require()`'s other files mid-execution, so -the debugger is not aware of all the source code files before hand. As a result, -it is tough to put breakpoints on files before the CLI loads them. The easiest -workaround is to use the `debugger;` statement to stop execution in the file you -are interested in, and then you should be able to step around and set breakpoints -as expected. - -## Testing - -There are two different test suites which can be run locally: - -### Unit tests - * Run all tests: `yarn bazel test //packages/...` - * Run a subset of the tests, use the full Bazel target example: `yarn bazel test //packages/schematics/angular:angular_test` - * For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//packages/...)"` - -You can find more info about debugging [tests with Bazel in the docs.](https://github.com/angular/angular-cli/blob/master/docs/process/bazel.md#debugging-jasmine_node_test) - -### End to end tests - * Run: `node tests/legacy-cli/run_e2e.js` - * Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` - -When running the debug commands, Node will stop and wait for a debugger to attach. -You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a -simpler debug story. - -When debugging a specific test, change `describe()` or `it()` to `fdescribe()` -and `fit()` to focus execution to just that one test. This will keep the output clean and speed up execution by not running irrelevant tests. - -## IDE Specific Usage - -Some additional tips for developing in specific IDEs. - -### Intellij IDEA / WebStorm - -To load the project in Intellij products, simply `Open` the repository folder. -Do **not** `Import Project`, because that will overwrite the existing -configuration. - -Once opened, the editor should automatically detect run configurations in the -workspace. Use the drop down to choose which one to run and then click the `Run` -button to start it. When executing a debug target, make sure to click the -`Debug` icon to automatically attach the debugger (if you click `Run`, Node will -wait forever for a debugger to attach). - -![Intellij IDEA run configurations](docs/images/run-configurations.png) - -## Creating New Packages - -Adding a package to this repository means running two separate commands: - -1. `schematics devkit:package PACKAGE_NAME`. This will update the `.monorepo` file, and create the - base files for the new package (package.json, src/index, etc). -1. `devkit-admin templates`. This will update the README and all other template files that might - have changed when adding a new package. - -For private packages, you will need to add a `"private": true` key to your package.json manually. -This will require re-running the template admin script. - # Packages This is a monorepo which contains many tools and packages: From 3829fb20d6055aaaf525f44af48ab3b978e5ed6a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 28 Jan 2022 09:50:58 +0100 Subject: [PATCH 0047/1388] docs: improve readme Update readme to match that of angular/angular --- .monorepo.json | 41 ------ README.md | 160 ++++++++++++++++++--- docs/images/angular-cli-logo.png | Bin 0 -> 2408 bytes docs/images/angular-ecosystem-logos.png | Bin 0 -> 200474 bytes scripts/templates/readme.ejs | 180 +++++++++++++++++++----- 5 files changed, 286 insertions(+), 95 deletions(-) create mode 100644 docs/images/angular-cli-logo.png create mode 100644 docs/images/angular-ecosystem-logos.png diff --git a/.monorepo.json b/.monorepo.json index 38c61245d990..cdc8daa5c261 100644 --- a/.monorepo.json +++ b/.monorepo.json @@ -1,45 +1,4 @@ { - "badges": [ - [ - { - "image": "https://img.shields.io/circleci/project/github/angular/angular-cli/master.svg?label=circleci", - "label": "CircleCI branch", - "url": "https://circleci.com/gh/angular/angular-cli" - }, - { - "title": "![Dependency Status](https://david-dm.org/angular/angular-cli.svg)", - "url": "https://david-dm.org/angular/angular-cli" - }, - { - "title": "![devDependency Status](https://david-dm.org/angular/angular-cli/dev-status.svg)", - "url": "https://david-dm.org/angular/angular-cli?type=dev" - } - ], - [ - { - "label": "License", - "image": "https://img.shields.io/npm/l/@angular/cli.svg", - "url": "/LICENSE" - } - ], - [ - { - "label": "GitHub forks", - "image": "https://img.shields.io/github/forks/angular/angular-cli.svg?style=social&label=Fork", - "url": "https://github.com/angular/angular-cli/fork" - }, - { - "label": "GitHub stars", - "image": "https://img.shields.io/github/stars/angular/angular-cli.svg?style=social&label=Star", - "url": "https://github.com/angular/angular-cli" - } - ] - ], - "links": { - "Gitter": "https://gitter.im/angular/angular-cli", - "Contributing": "/CONTRIBUTING.md", - "Angular CLI": "http://github.com/angular/angular-cli" - }, "packages": { "@_/benchmark": {}, "@_/builders": {}, diff --git a/README.md b/README.md index 3a9906afffe0..3f3fc0dfff21 100644 --- a/README.md +++ b/README.md @@ -10,44 +10,141 @@ Any changes to README.md directly will result in a failure on CI. --> -# Angular CLI -### Development tools and libraries specialized for Angular +

Angular CLI - The CLI tool for Angular.

-This is the home of the DevKit and the Angular CLI code. You can find the Angular CLI specific README -[here](/packages/angular/cli/README.md). +

+
+ Angular CLI logo +

+ The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, +
and maintain Angular applications directly from a command shell.
+
+

+

+ cli.angular.io +
+

-[![CircleCI branch](https://img.shields.io/circleci/project/github/angular/angular-cli/master.svg?label=circleci)](https://circleci.com/gh/angular/angular-cli) [![Dependency Status](https://david-dm.org/angular/angular-cli.svg)](https://david-dm.org/angular/angular-cli) [![devDependency Status](https://david-dm.org/angular/angular-cli/dev-status.svg)](https://david-dm.org/angular/angular-cli?type=dev) +

+ Contributing Guidelines + · + Submit an Issue + · + Blog +
+
+

-[![License](https://img.shields.io/npm/l/@angular/cli.svg)](/LICENSE) +

+ + CI status +   + + Discord conversation + +

-[![GitHub forks](https://img.shields.io/github/forks/angular/angular-cli.svg?style=social&label=Fork)](https://github.com/angular/angular-cli/fork) [![GitHub stars](https://img.shields.io/github/stars/angular/angular-cli.svg?style=social&label=Star)](https://github.com/angular/angular-cli) +
+## Documentation +Get started with Angular CLI, learn the fundamentals and explore advanced topics on our documentation website. -### Quick Links -[Gitter](https://gitter.im/angular/angular-cli) | [Contributing](/CONTRIBUTING.md) | [Angular CLI](http://github.com/angular/angular-cli) | -|---|---|---| +- [Getting started][quickstart] +- [CLI][cli] +- [Workspace and project file structure][filestructure] +- [Workspace configuration][workspaceconfig] +- [Schematics][schematics] ----- +## Development Setup -## The Goal of Angular CLI -The Angular CLI creates, manages, builds and test your Angular projects. It's built on top of the -Angular DevKit. +### Prerequisites -## The Goal of DevKit +- Install [Node.js] which includes [Node Package Manager][npm] -DevKit's goal is to provide a large set of libraries that can be used to manage, develop, deploy and -analyze your code. +### Setting Up a Project -# Packages +Install the Angular CLI globally: + +``` +npm install -g @angular/cli +``` + +Create workspace: + +``` +ng new [PROJECT NAME] +``` + +Run the application: + +``` +cd [PROJECT NAME] +ng serve +``` + +Angular is cross-platform, fast, scalable, has incredible tooling, and is loved by millions. + +## Quickstart + +[Get started in 5 minutes][quickstart]. + +## Ecosystem + +

+ angular ecosystem logos +

+ +- [Angular Framework][aio] +- [Angular Material][angularmaterial] + +## Changelog + +[Learn about the latest improvements][changelog]. + +## Upgrading + +Check out our [upgrade guide](https://update.angular.io/) to find out the best way to upgrade your project. + +## Contributing + +### Contributing Guidelines + +Read through our [contributing guidelines][contributing] to learn about our submission process, coding rules and more. + +### Want to Help? + +Want to report a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for [contributing][contributing] and then check out one of our issues labeled as [help wanted](https://github.com/angular/angular-cli/labels/help%20wanted) or [good first issue](https://github.com/angular/angular-cli/labels/good%20first%20issue). + +### Code of Conduct + +Help us keep Angular open and inclusive. Please read and follow our [Code of Conduct][codeofconduct]. + +### Developer Guide + +Read through our [developer guide][developer] to learn about how to build and test the Angular CLI locally. + + +## Community + +Join the conversation and help the community. + +- [Twitter][twitter] +- [Discord][discord] +- [Gitter][gitter] +- [YouTube][youtube] +- [StackOverflow][stackoverflow] +- Find a Local [Meetup][meetup] + +## Packages This is a monorepo which contains many tools and packages: -## Tools +### Tools | Project | Package | Version | Links | |---|---|---|---| @@ -56,7 +153,7 @@ This is a monorepo which contains many tools and packages: **Schematics CLI** | [`@angular-devkit/schematics-cli`](https://npmjs.com/package/@angular-devkit/schematics-cli) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fschematics-cli/latest.svg)](https://npmjs.com/package/@angular-devkit/schematics-cli) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-schematics-cli-builds) -## Packages +### Packages | Project | Package | Version | Links | @@ -81,3 +178,26 @@ This is a monorepo which contains many tools and packages: **Webpack Angular Plugin** | [`@ngtools/webpack`](https://npmjs.com/package/@ngtools/webpack) | [![latest](https://img.shields.io/npm/v/%40ngtools%2Fwebpack/latest.svg)](https://npmjs.com/package/@ngtools/webpack) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/ngtools-webpack-builds) + +**Love Angular CLI? Give our repo a star :star: :arrow_up:.** + +[contributing]: CONTRIBUTING.md +[developer]: docs/DEVELOPER.md +[quickstart]: https://angular.io/start +[changelog]: CHANGELOG.md +[documentation]: https://angular.io/docs +[angularmaterial]: https://material.angular.io/ +[cli]: https://cli.angular.io/ +[aio]: https://angular.io/ +[workspaceconfig]: https://angular.io/guide/workspace-config +[schematics]: https://angular.io/guide/schematics +[filestructure]: https://angular.io/guide/file-structure +[node.js]: https://nodejs.org/ +[npm]: https://www.npmjs.com/get-npm +[codeofconduct]: https://github.com/angular/angular/blob/master/CODE_OF_CONDUCT.md +[twitter]: https://www.twitter.com/angular +[discord]: https://discord.gg/angular +[gitter]: https://gitter.im/angular/angular-cli +[stackoverflow]: https://stackoverflow.com/questions/tagged/angular-cli +[youtube]: https://youtube.com/angular +[meetup]: https://www.meetup.com/find/?keywords=angular diff --git a/docs/images/angular-cli-logo.png b/docs/images/angular-cli-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2796871748511c1b6f8b925e4cd24c86997569d1 GIT binary patch literal 2408 zcmai0ZBP^E77j@uBtQZZi6{w!A_{twR-@8DU_%7;BG4iTA_;=6KtVuRKtmCNg;Wu7 zRK&ssHnymhFF&xzV$c??*IMDNASr4BRfW1kt9-{L~j0u zwUU@U55{!CRWY&iZoMv|zhxqG*!h=SoKJFVy0@hmeB8Y4%F4-%iT^{u6z8$Jh=SF3$X!o!b zddkh6r$5Yod8vEK9*3fwrr&oQK6oWg(y0B`A#S9h`{K-3xv3_vYl}eBpM9tE{99kI z7>xxZp~Yi{p}vW_cRf(e`ElM;a({m!U&&LE-vAKfCu&0Z&x4}XRYg)Hy&K!F|EbAj@;~KOji9zGLNlcXbC|A5}P2OET%U0B= zz}$hk0}@PvJD^k9cZP@Ja?3)jUw$>v{K5DBSRu=&b6g+Q7QJ8oQoV#Vd#15it(ljl zX=YfQF-S|&ykk28WgFX4+l3KRtZbV#U2-8u|Vaf?yTfuZxGLfGQAH$ z!=#Rrn6{Sd-SUw;`}bX^fA@@_-^8;t>5V8@iL9w2fT~cas)UOrvl3%MYKFpVa{Lv) zt1Hb@FSH{id^ny8zdzNi>>1V-b};en$fd9-vgIHTb-=x39F*@1CFPI)Jl9eZBr3w$ zNc--WWKI9)$8Vp7u~dFyQ8ynCc$t^nUIAmVVwi)ucXNg{OSzVF6iyrH9Iooy2OB`M z0;>j#C+>ZcOofr$9fLyr91mTFt9M|J$RtABUD{9@?$_G}X!F&%n>ZkpS$U<<1Zq`;sKkks4@&)!`r zztOiKEM3|z%6aTi)Y57^`lPSw+G{`ApMa~tf`IBozJM&|Vp{{W*@VkpsJo{plzJNa z;hJDDbuM~G>3~qgd$Be#?1{|~^0c*zkne%Zo2UbFdcsb_bT=$&D@ zbP>vjWiKW{k-Ca-mjh4{SZ{2rX2F>UCHsiQ!%N4%)N&MrxNFF|iR-q6vRA`ZJXC-? zT2r%+s&&r^2tiQ{Ct+NKB4fZ>3P%sNvnorNI4Z_Ppi0Sv=|ILx94reWJg^v=+O?Ht z@d8TT0<>RQfdYcCA`|Pe_OkwBv65J3H9W#2T)>3WHFzj!)a)_9=hj7E-u3g+wHr!% zx-LxtHr#V1$*=bmO0a%jLDxMe=$Vg}jc5GG$8CT)MG{+kYt${-g!Qv}9h>#g@UB$|0w;yD)Q z4k)V0YEnwk(d(BCP-kpjAqEk4Z3>B1HPST`X!q(Y2schi5u;qy$rav|cKYXBB#Vn*t&Ra3?G)*8Pwg>k#C;IXVjfaP zf*2=_b36@Nl6J1VEl>5m4;Ec|nt?qaH``(NN>BS?3Hj?!JBpK3;f}R_>N7z(|8zld z9wociz%W2@0-$K_i1l8;ay2ovg-R7%$F8% z2`r{tEF4hL>&jzP>_MpyupK{gh(6nh7(QI}2LpDVU#LEJ#FiLe z)n9FfEo+gUP_l`=X=#hq(*lew=l#*QS?tohq7kF-!^FJ!(@CntWZQa@y5L1z+1 zybKJ@U9D$HxK~k` zaFToT@#7X!l$RKcf@nw1KPwmcDi&<3*sHt>1+0L1eszL2iSEid4AGcHB&_&b)~}(@ zNBPhXy38U-q=6SOk~ttigA430qtZ0pj+q$InHEaB45T3}7@u)i;3HWM*bYtD@czNH znxQ!~0lN@r^c~-9pN2X%RUl%au`GyyDn<4N==3q|`f4{itr9ixJ2a3gL4uOTD#W`z znV(-X+ydo6mdyx6vKadKOFgeH6sI@>LwVHFb3TgspeF~MYQPpkSDjao&D$%#?Z{dW!)!^w*Wm?x?Cm^1T^G>!>y22V;C3 zf8R%icv4cu6mB6_xQZd^Vn`b8w0xA>s(uqCnZjvUv|N1N#3q)ZZ$1T^>SXNXM1ll` z`Kig%b-YKd2^lN5T3{u-gp4v?j<;71ov%@tRuG!&HB79MAg5^&mOl%FwhsRyZ4!mm z@nBnVa6T;FCiZLxFj_zXb6`1+n|xQ$iBQ{MkYSf#*MnB; z2V_n3=KCQMMYy9-^2>Q|ZZaG^M~;I-cl_gs9YJzy7%e;K`V?G52u7YFj8ciMb2VQ8Wbud^zv8mm@G5-W4l{6$loP7O6#GwIAAC&7~ju#Lj*hJh4= z(BDqWw5JfR7*&JcUx)!wemRbg6ZZ{#Yq)pU2t7A%)J8$7M?2lQ@EXbZ3 z0=oK-*(+->o@*Gep_6WBF6J#zEuNoIwpVbK^soM8Y=}Gv!bkCRFnIkh1O@^`J@}A* zC@4r&{ycGzvpsUlCaBueY%I_d(6Yj~Wnh)PP)dkR0fhR<%g9IpruG=0YH*2X%w`W0TNhgyaaz^ax`)O38^koy0}JZ z&N{+!DIeh&lF~SMX>3P)cfVUw=C}u%kXfZK^8}4j!-ZWm_|cMye{jvYH2qTYiVwdv z!2J??$d^B)y+!jNJd?~V_>`pv7An)=R>LkF=*a%rS_Zig#(}ZgZ&gTE1De|(UYI9C z&$VtmsAgLXYnatrGyvQK(AP&%udlk%7rmL6?2kWQ!3F(%$^O8aLShF9`OBt#8=;yY zO+uxEZHEbkHQSz>mj%jGprwmL7a)7#&4uv}xDQ|sOb&b*NE~1?M0SW1Crgjhmi8~= zL5o$DrX#l@J0s5~(ILG{*hpv`NijxtgyhX;AZ4cfnedPhn^+S^oES>ehQS{pL>WVt zH&I+wa9Y&xok_)mR!mi(;tOY7hWKPYQ@)xqez{q>TRC%MLqk>LYeR{7cq5k84-4-a z7u^&8Mg9!I$@HOo`BGYQdW&`oYKvwI<|F4e0fC?#1?HlfqNO>-xr@0?OZJ9g3#Z1f ze4Zt+G0HT2uS9>;6wXH<4neU$E(0{=kpC6eL1 zKK*Wy&|bg%u5HMEjDEv@yndsQb-5^u>0P#)w8}K-bndi^=!xiMNzuYR$!N)+Q5!h1 ztVpa_c&YfrEM2y*8$l*$wh2~sLq#jQIkdLN)_jA`F-KT)^(Ajc2t$xj+p)C7PWBTu zre*2%8UZVSdP37P)4+YK{rLUwH}dESfp6ISSO4zTDKZ(41o-TDJP7I>hDu* z#y&^#rVG9x^5+aft;ZaO)%-0x~n5C>Rg)W6w zh0JWeY-KZMvv{ZI8x!pL!BvUVx|L!p27{_i_0i?FT5cVSYU?GkC8#B6P#VZ^h>>s! zaJ~Xuy*dIdMG0}gCuXK<<*X_+^PfMTC$6QoHMezN+TU+^&I7e?iaaHOOxM;|UV^U4&q+sdAs;cqn`MSl z*m{WiMN@%MqzT>Bb!s@Q9}&-k1P+al?h2|?i&@;Q4z2A@p*P=ekaiPq*so)yZz)?7 z*y|Zhv8T@y+N8&e*1x`g#fO73o~hGu6c-fR_-+oyeR>8bHMkT3Eg>SoDPea|G{LJ{ z^^<|tHunVJ_Ov!kiAuRS*?(|#&^Xzg(QW)5`1SPbDmEEBJ9ZOeorY>#nVZAzj(}{L ztYhkH-Mr1w-{P9CZ*LWi^Bv9(7Sl`ddfZ7CsiR}IKIoT|izbh3S9LLaIpf@nAF50= z-Rj$F${JS&UwsD$?bf@0J-Y%;7RO?KY*aQ?QB|i@b=6V&PEd;E* zpPql>o7%J}@#Z_8NFGZL4xLw|Riwx_WvbadD=}7d>7r{oA!F0XydXK>H#QS2|Vgvyxbf6z>`)E!&+uj*qO&O0tf4@V)O}r%{D+1&0OQcD%Np3b9|A30e<5Yo8Jxic4H; z?)$reZ;mbf?S)5m(|aij-BXLz;X1=Lkb1l>oTtarOD#)GIqsy;1WJG`OCQcJy%J@fhI-g{oC9L?pw*9qOemwE3$o(>C%y;~Ef@%?$xzV~_@ zj7X(ocI(c#tgvD6xqLr)T@te!+sx=#znOYiZ+$4gAV!{i5`I>?n>jK%DLqtl3%v;q zEe7B!He&W{3D?(w0c-KWJn+`|ogsv?O9T(fA(eCGf55y_R|&#b4B-2%lY&t&LywBRK(iulBx~Ijq4;@t#2`hF)B^;#_>Amqm<){V3{9ATHuj&r!N34OzR#+SiL(I-(8k)h5&VPj@vWBlyF=;UteYyf1mbt3;alK+iI+{DSq(Zb%@!p@fD zAG`*Jb}r5WWMuyg^nb2@&(j2G@qb6Mb^0H&J_%(0r-hl7iG}(9;Qj;!{PUJi$pUC% ztuAh1V`A&{Ifft`2R94gUjYBVrvE$S{{yP=e?eKf{y&iaPs{&60+|1y;QyiM-|YI= z+fRN8!U3575AOxx9xcQ^4~bv|7UGJkpC!aUYx8+2ecm+xQ!0Uh*ZI3H{K)_V69$tJ z7f}U*pLV)=Y5(+~1Xjd-0Z)JtCt-v2)5j=GqfCHPJxtMbgl=Crb2V=^dYD)?^6X^K zd76CP*0~@)(e(uIZ@8w_F4(pw&Re?BE2)xD?q|XJQ8-TJ`&EdZJ)Ku--GM=1d;u%D zNC$bAK>Vl0T*N1q5=;eox&N4=e={W5V(hlOH?s1H zgyk1Z8HC5CNco_aiqJ9`+Bikw4nrUXH?rqiiM>G&aS>Xcc?EAgT>NM7W=W}RzOOX9h z#^q?aI(0*Tj@2LatEu3{`t>s^wk)f9auE^gWFkRknF_<`&LR1wWX^$ClsFJVAWh4m zvs+IWj4u&Z;bZu(iuZ7E7yD2h)JF`N`iX})HK!Nll)z|*`t`Ffj;+LTM zvts3-=Cr1iUZG_q{Y&TT{rqloWs0NT@LsuxYQgJ^KnnGKZ~ZQ?+|6s_$k=cm&FtY| zzi>mji|y2&Elk$J?-@D(iAxI&nEz;M8Y<)(9%B7OB~UK*ZpqO6XX z7+)qU0Ak=ez5G4ne>nZ%G6h zt&;mwSLMZX|vBBF!gP@ah>L1KuQ!#Io=H}u+&~xE@ z-uM7RWMmv!Yea`vW03l8YPu^omqw!T<1^ePj%^#%LosAyZ4627a)-m`iooi!6!+VK ze5bMkh27VOgVHmH9S(23S~jAG0*1#mJiD%1ndZYD>{lwky}KRZF@C$!oj5DjFYU0_ zmGXEDxx!?Vnq~I0m$04!_(W2YJB}x_W6K$Z==@$(?XKl8KxS5wIAWd`3gJ+jA7Dxr(o}` z^_OEKe|lct_ewf9H-U~A2i296V<+54<0%+~8rPzP3*fnhd(;keCgl;L!4~96y@0L= zj5^A$^R>k^-moqYVB%Jx1OoE(Rh1%#eFp&yKlWu1&L zDY%6AbTstd$sFp5IagswES)q6aFut5T&<{mcqoU~dhCmZ#vRc+N`Q)5m`mh%96L8- z!ncMs=f7F;gl%~+asfTY0DQ`6OHckQ2P*-lC7r?h4#O%svgz4<$?v}pc<&iBb0m@e ze3jUuLa~>GHLsN03{~N3`%1_iA4F6DBaUK!ng9gFj5M+0-R75;w*w{Ps)Nj{VF0QvYs%7f$}QU|6CpP6%vsp%MpR4<=UA4g2xXZAH=<1c{&zNh_Q-aZTl9~cBGX>A4{iwOei7-99i_^?;GunlD- zkY?wS%#a!VZLf!@>&*%oxUG&oYcGuH-=Bo}H`-Ys2WAv>tRRt)$Yerk&Hc<}}`GX-6CHle_&SE)T*iGR2KfpsY> zD*&`^g-({xEt0G>Q(*TSZi_HjT5!HHkRVw@z!`=Y%8Xjb2KQRq8g|2nSf0bT6+=oe zCl{fZ3?IzJpfZ%QV5@LMkI%s&q;UbDyAKsV{5Gt7Ae87y%G7p=oC#nct8sqV7B=Gd z`ST}+_yK{3TDujjp&9(S81% z<*kPt)5N)*-30Y2@5{Y!k3!d2i;B3Ot)7(;^Am3Dw~;bt#Wg%Dvpd9eSTXrAP+DYR zwaWss$W4^zu*vB>kx?jF(N@*joeq+qD+;?XIyk`mtg?Ua-l*lz6_I9$pfPS*Q13em zlw^#)&n&un#v4M)o}HwO8f5~yHb`M7J^i9 zxf<15OH$pabPIeZ(G|Kv_qxCvo(T?+f31Z_q?CD#&HNC^S^f<_PM<=aeaDGEpp^@W zS*{_@(M1X|yDdULlv37T8xAdXpXg`6&vS*M^AnN`21aj}T08tQn9@uZUGzW^OzNJ+ zCy=-ll4WfryeC}{hy~8d{{iEW=|-ATpmp(Dc0-rA=yD`cT>_7e0^|v{pa{b#Dk;Ds zC44c($76B6#ewp@=aT%`>~@^cUeE+$87t-Wid4*?J{mqrT=kGh#uBr=s1SQX@aBFH zTsK+wz79sBB;pW4a*}bD*wF`}|6W>vCIn{{PsAylY2rf26|x&JFT|!JaIXp;zbKC`dSA{B>1zuqe67T}jVHxZ;P-~B@fJ;xrX<%wejO~e;cFhUwj(#C= z%>wkLCH9ZF*9*$wl=?BuEg64*@W1t}&T&rB3@RD|{dg&rdZ3=(#RTIdW@%wV>jtJ0 zvPS5fZ`>UswB+(1xJGW9YAPQnNZc-4(IH%~zJ#3=*x?x1VmX8QQHUY=mDuqd9DYP> z4HkZ9VBN&&={Hv|KO(QxfAChoU9%1^)EEq`7pztF(3jiC_Z6S}dffaF_3=<(Yg{m4lGPRC{-_eH@!G3<h3w-0_|mCXmDJ-Eof-x_A_4V=u_V|4gpa^qu-2-v)*z& zka6LR`$YT9H|gyF`CbH4ss@?u+`noq#hDdjtW!yvk+G0*&LM?GY-q3i84ShpH+QGI zr$;kC5RD#YQS-&3S%b0LW&@%XlG(C9(n7Zbk|d`Vf~o)K z&lcQCY%t@pWZ>Ml3vJmHiN*(#O~O|0tio0wc?_|c{i!*RNp-W~y!i%+ zhz$N>6y3Nv>mTmYB6PhFNxmPq5653|@!y5FQ$XMpn zP89uN#_wfqN>wyK=HpJ_-d8s_EJ+W|vlkVj{On6{VK^dW$A(`^;DvVvlh^G!u-sm7 zaA33$Iau~rJE~(=4ro+}_=V8AIZSA|R>k@oNM+(%k{O{*Cy)0v-iGf3gwM0@!Zv_^ za*^Si_)s6DQ(ODyf8(=ZVDbHyVUT zBZqJLg*4=@2@;O9_<4~ZXCNPMahnI}Ik%t)Q z0J6PJtY(C3YtGB!c2g?pJ!<$0$CIPQu8N0(zDcW zHYz0dQ{qUTlAONW65dH>x>nQ=wn&FqQ z2A5C-nur!pSy?~XmHkkNZ^=WXs{&lN{UL13)&xu^)l0_JrWF652_H^X6|YsHh{-Ib z`{XK7>v1M=4Na=A5;O1WrCu1Cl5=$ymaq0CB!&p((yhFIE>89_A`a}kY=}!qe6aid zt*SuSq@<>TvA5T&U<#OnvAGlox3TuX9#lV|!0GVb`^*-YgeCUqydXwNXAq{lqQ1h{Z1h3?nfaH7qW&!Is>-RqXC@IPwbo- z!8@)8ePi?a+sZ*tP^(bN-ad&Skzn6dxkyLc9a>He5GyvtPFTYh_r%QB;USI1i(r_T z?U6WQwXr~|Ril}tHgdyKaVcxav-DwS)$9XGz&l!6VRUG07j9sd=!u83)?PkhabsWb zc}HJ}aeOo>%{V31!5qi7gxv&pb9dM+_H+ol*#|sR%|={C1a{|f#vhUFJ39YyQ?YCA z5Hc)831F|YE!d>NDL=&tMrTzv7JsuiHGdAKsa|7LkVA1w4M^V&X~zr7k~oD9k7&8G znhFhK=WdhVPE>t0(Vq5C5GpRy~hcCbP7*%{J4{$&h4?FPAx>~p0913OM7t|d8aEq?~+XHbQgCWUSj>Y0yTje($ zE+fN(FN0TH?s&`B(2%Xl&VYP$j6&sCp2ZE@AakPh1eK_?D5BA6!Zb)_X`J1N&sf@P;LZ!f&V!OBsdj(TkYaU)5hM?yS#!QBOsUU8@iu81f`FY#@Q=_%(@!B$KTeWKq!WG85&(ukbxi)b{%F zFZwPsWfGg?^RG>&0hMW0!@UZ_-ThW~Dm`#E*pl+-?=Rx#AIne23K5eu(@>$WWv#Qp zV#AuX7v|WO8Qy8BXn{{zmJBH!@d}z(G#Hc_fq^h{UgSP=24sXZXcRiA=umpx!6@m_k~l|H0FfXW5Ybp3|Ea#s0KUk>@N$2qZV zVfNN|tUx$8;zacYJbmgF80ZN?D&8jQ0T?kxnvH}?k6taL*f)wE>IVrX7`BB?$ar_Ck&D(aGWQ@uvHNe+u!@$IgDlo;0+vT1 zk&IpkXF3w8dYAEECs(E2!!%oi@EW_oLl%cvZmZW+Sktv`goMqB0u8)KAcgJlQw${-JjCAl2B4+LHGcR*Sn2ikDlXC#j`7rE;g58-q*cANMe(%+3o zh~fLzN>4eT%3)(fHi`al8fEqtMu~b*5GdFJAiPW~0yBlFsLdc@2@B(ZvEkd6p|Z>A zP$qzz?t3f0d+|5eIwCZou5N;M$^xJ$T|LASFzVgN0y}N|EU%|S7^0BtAGf<0n-!2UMD_%6zAiD0{Ef=3bEkw-9&$Dn)A}_7p zhQWGsAf=LQm40H8kN~wX0(p~B68;gw{MWhoSr^p&yA`^}2EKlFR8D|eEh=xQ z%IXYZz*F#7ktUMl_NE4OgTFBNW#>~of#1^TXD?6_2c~pl5|9Y*0?~2i42KGjH}?$p z=89>w;$vG^l(AbA6nPh5+|DGlWb0PH6791`w!W!IO%9$Ff zJ_}Z_P0~v+rJY_&Tb~|Jys}OsG)%2=0RcwN@DuP27V{Yba* zcn#Zy89)PF@)#xQ0lWwa%fhrT=2)zuWSm0it!sVYm4UA|G6NSv?I`WdDTXFLh}iZe zN(X*Fsd~El*2$lSmp`cYU2>JhO4vBTKr@A0E*7J74O{TjtD790hDjF?vZ>HS2xRW2 z6dzM)JHpScg^uz%Muml)+4WA ze&OgUMP-?e<#qls9o5-3Pt+5N2>vSIEA=7+b^SZdKtbd-ST0<3Vto zU2Qr_TAs&KVXbPExi@lC4=0vdHnG;x0Ig1?kkFbdw-2zFjz9Baw2~w>QDHG0Tn`W> zS6N?)e2cbuEDb^OT9z^rBipZ?rq6^Rxr(3y7&Y4zdGo&84u8%)B{qulfFhp3V%BW9 zfoWtoKhT)@WzNT288xR++D2Z3_4;5kngXAZJJ?K_ADdSg``qF)B9tzd?2|m_L}YF= zphXz{NDYTu|7e{$JcK_}==ES6!iURG;3(u~yIX4;Yhf69in@=HLrFBh(+{vBAnXlR zUIYiBUD{noT3In|XkHWD zurqusM`=LG-@osO60yK{uW$)Ss3>hhE)4X6i|k-aAklJ&$iW~X(WA|}4|4iKmFgxk4}`dL9TSie*I zZHlvZKDC8FH`#HHQO;?zSwI|6H5fV=_Y31V=bF%@H9g!8t1Eyy^|bGJc3~tv6`gls zH*v}7nKQ`@RsTHk>&xq!VS{pt&CiVLEs#_0R%2ofsL=y1VEI-ny)C64x@ZQ}p4+Xg zNmi=HthjzX%#eu8mTaaUz!J?#?-Vltd%Kt_8lM3}pm;}UCIy3T;BxB5^-h$t(tuxC zNz@CWkZTh-S$aJ|cI`JXq!uqweLW8o*j8Ql6b{U-142OUK^jh!k!+sVCEiK ziv1itCDHwtNB&9t0CB{G-gqVT-k@(TJ7cYb%$Pc{?S+iT#9iBD^07*ki`=(#Q}@b) zE!Jq|l1YjTFO{Np^B)>nOD=?3HZkVHO@55LFZ_(_200irX#_lS{51LjDeIW?Qp~D# zJ1r3G$B9>cKrxpW#l>lGxW@Y!LloHEHgwtBe{dqBpHFizau`35Lanln5u5%k%~a6= zXTK`l0w7T&iA+Q~9xqNgKJ&Jy6AsCW2g(5?vbgaWTMF^v0M zcoeBrzG_#{SiaA?|zaILU^)6*kln-^gaWHiVIr`n>>)r*=g9Zqj)Q+kHa&B zfQGyXVaI(^wi#Yzijxy)h|zyqkSWBCJN`Z?TDA5gVyC!OS|+xQCK=od_WU&y@%bP} zw8vup>ZwhVKQK$E>Rb~)hM=Oi-A;SJs-{Ua$NDLQqUbvf#h|GlfJM)tZ3^Gb$Y6F| zDQ%yxH)9CW<0O)LI)oQS(me{>=L$LCq| z0SO}UN-jso$Vo^c$D+The|Pn(0<9z&L!LBEy3L(9j(jfrSgJB%`!S6Wder?AAhmBKN%}QI?kECXX^(@6j40(l7q>t8DY$H$#Eh#$PiGEkVg%W&XV-kgd2=| zYe;puBd`{ddDxsT+37xK8kmwVE~A_7&B9nj?H4&qm)O~eAUiBSu^ z;#j~kEjG?A@)`?5xT&suS`DDZ0VPJxp&#zKqX#CaDde_&yOuer+!cSmMyrnA` z`2}*Y^rHEP=()#OrC22^?7L$edP9O^Np()<+EOce%ItDR`$j9g)R?}i8X=`AYKHC( z;B4Qi!`j`e*_Ulq<{x#%gue-GXJndbOZ<~pYv$f2^pJX?R)AmV4*{t~%Wv?)nF$1zVUTZh(Vh7&#qM}^X-pR@B|4K&6>%|A}%vzbr|>Rpo&)p#L{N2ZVm5|P`4 z?dC3pYwEWD1bKc1FU?&nmy$`R5CN)Ad#uF6OI;3y=k8osb{o+hN2;WfQIoE!vtPwf zsr3CVzWI%NMEfQdG4HBe)r6MA zt9&35e

6CYhKzYkxsbGOgot{krC5X$3KrD}H#W8#L9`Yaof2a$8&!;uSXl3Oto? z3ZGfyrfZs9W+VDEUw?z@cL#731{D-7O+6kIBIs*af02FqmJ8J8J(&R}4RE_5$anb! zU$-&jo$EJ7InbBHfGLbTrrB_5^UGxigswXz$&YL1Ak#~=suKL+%P*-4Oj!DLIsu&A z+?uK0DsXdhbg$&lD+9)vC=vL8aE$U9t(2BjWCDJ3Ys+JhBFRB9c3is)JlohfFQ<(& zifWL;HQGvqKSl926B)_0vJZMxX0D18l1@jM0cxRxv3I*6@#TP%M1V%HYp5}RQfa% zugcv}s5U3z=7x%?Yrt-j<3#N&39Qdf5OxL@42aMM*ket02APwL<`xIl8)#C!yBgfL z^?_X5Ij4frX2kyGz{L&LFm`Od%d2fQkCBr-RW~Dy!a@C*mW+a882eqFW0z(;TZy!N z1%AOr_?Sk+v@d5b$ICsPTp`ps(u44dyGG+fq6|#qqO;*Qe;Lp_39Sx%wl9(*3 zVMU~-9sXfn<{gw1BU}Pi?3}BoJC#<_f`-ha1n&K)gS99Y8#0^(p;|L1lWzh@hK))B z^BR*}Fr{wVAG6wCd!vTdT6zJ4#TwF4KRvlnyFE?TFQd{)5#?4aZWjI$_Kp5Uxp%CX zTB=rt92JbdJAKI*u9HQ=V$DF%-ms3l-FwVLEoq(OAlQRKEt`2Feol)`oYx{+7QMqv6 zD0(LU)*mviXR$DPbj6er)O^G*j$^rS3{xfD+<4QYMopKZXjuI4JV)Q$eVGMa>q+itGGnKJnRR~VSBOn zakypNqp=Zs61a2q`Lru~^}jC8#WGslTz+@pZA$r3kf7ICs$^^&__^10up18XJ*7=f zkcR5CF-Jt$#t``E5W6tg2p7$hAvGZ)+lUCoK<);+{_eG!$%q2!%+RE)Vn*P4wlU&~_v6KIlPU({8TP1be zJagk7-{7;j8}+zr-l~z6=;Ei?0um!sff1?UZ0BP`ZVxx#bO!j;%+J&#SFFkV@WW0EdChp3M!bwdj~!nsWJbKx`!x-;mfc&39=XGxx=%k3&rOW|%jNNcPAk5ZdwE zpY3|N+|k+bU!|{FVdZPR8Y6VHsu2+_67KWSlCq=7lDyNmlOj2MEDem#!xz7kBK#0i&TTqZHiFwnxnw3SDJ}t+srr-IG1km>d+s^-3lY9ft<2`Sx+piVudx+n>sd=MOyK0>DJJ9mGIRRDYRuw`uw)Gd z(dnIq)`TaPRpPYE0WV+e`AAtqosLPyinF6If>C!Lr4{9Veg-o)G@}qzYajLmi-_p( zeg@?z86qf-Le*h{Cd7V??z1n#4d3=()!anviu6Cv}3{;_Yv zhrk&D%N+*KO+VEe2bh&$r684J#Gx zZ~MK_l%gNkBwu`c5*fd_sl6UFRJEZKC4ycxI^-OJ!bH}fFy+QdqyV5tw7M^@bNV@% z9bazeL;`OvYPR&(Sr#!VNGdt}2QhL_V4xRFoP~+1AZ3ZnY>vAf0kNHopZ;BS@I~1W zu3g)_`mg0%%Q86`C$jF77gLUJEriulYJM3_=1XC^N{&33Ly8*Wv^17Gnr+VA{gZud z8$5Ju(@vq0j`{fxM}`xRH(4oR%=Qf?YX+d6AGVoZu6`-$mCBw(Ct`4;mjr2{uK1h5 zFt%GMXhrAi^6wI`!9iS%+H!&VwDn)h*K*YtM1JST_`T(_guuvxVIltcNoEEO>F>Ad z64it8W;?hxNdWlFQrdbUhi(n-dj?27C-fJwWm2=T6Rj<4o*A4RYBJ9E;T4|}CtW^u z0PwwD1L$rB%T-M)ZedX3&TI{}kn<0(QlzM~6NR6}MW;#ZV;~k|X(T-hse-(<^@atj z2|Qks45bImzgur8#Epm1cKk5-J76Wl=L{IFS=F#jFvON98oCT7L)KN_>-A80(n#um zm7GkEm?sD`eY;QvoD`V9s9J&9>D+*(HCLL9z2!<2H1L{;KcgF_i%BSO6USk5W+ECVzUR@fW)IA`5Wzt@sl!!)MLjWgN(kuChDWlK&v-t134gJg}nW3yWE zQ-X-7VqA5vXWOAUhQ>=*fpdEMs=2Fl*hUVzNGJA=Md%G{4bl^~0L*ERqxe%VGkn1U zoU^-XwNucuBiszu_c$sQ>j)fqfWU_KZ)nYN>a*3%n>5q8REz>Meyw!KyRKLDVEDJ) z6@S$0s5c{KV`C6IrR=5os9_T0mXz{DGa}vbZ|ODs+HJj-xd1VRc)2@AmbW!&=nZ_^ zq0J|LrG6LOT`$!EOn`#NZ}TTx?YwV0RqXPVa*^5$9V9at z%O&xxildW-j&OOFtugSD5zR@4Nb*{9TtV_~4fV==?}+`zOBC7LLvoKyZ184{GHuf3 zH?0N;mB-9fN>LeeKuB%L+^e`$Ia`aq$`0?8BpHD|xMx}%E}xs$6$nLE@b&8!y7~O4 zfIPE_j0}*&o%4kM>QdRuyd((G%$zLRHc8Qm;R#6J*DyMZp0Dvuu5Meiz6O!e#>JH3 zH2jC+HoTT#EMp~iVMAWh=jTQ>7ve=FfJ}tR_QvP|^i_)9A2|W8O!JO8#GxvH`CDcT zF(Om`r25stUnI&F++>Cv2lKQa3D!%nbEmyS9aoCG&)WCbvfq*CkZU-WL1 zrm?NYb}|#&X=60DZQFLz7>(W7XzXNS+qQY<_rG{^zrdL}=j^qgwbz4FWm8;tP((5j zZ75AjDd^GQ_G0dS&Wl~lN??$}Z7TyFXH5pbywE6Bl>B=(?zi?syw++W@!kK~zrQcu z)9_f$7iGxyRXR!5g`15f@&Mty^!X2j+NT--S`OI>kq#QpYFFJZe>gr!i8NMZguD(| zpIl$dTj83?oAUm!2L7G&s2?XXNd>t(KV&=dkL++j!}!#$HHc#_K!+r9%;8vt`&jyN*Ya?SMC24{ntUib`sbr zhexp7I^-1o+iy9VxY|89_y~n2=9vh2CLv16vs>1VM0q-YnG`Bgh@9(5b(n7C#edY3qaQP8Q?zel4$k$nbTA_AO@JBy~-RwYzHR#+Dw8kR$ zT6f$~#Atu}pX~rat*tgSf9TV-21D(X>mFzQnPI1)uMATh#o=m&T0801mQB*Y34?p3 z@^*PNj7-3@0E~W`6pbwV>AL719AO^Gmm(nLN;tWs2}RAf(OYi!k6NWl9S#2w?z1#F znAaTcc>vWP0}0fcd3`m&7g55#N?SyO&jHrAH}oqW{vt**jKBWx-{4dZr4nd4WLq4m zg>&eVT8#`c_IeJ)`z>5U#Xa~>!1&SOXOsZbuI5?Ov=-DcPLq4~ZUqoh$Z914X#{#P zn8%B?b))ca6qq%93Zq!evoTW-RpQiNkn4_yw$N=BNloMV7*eILJ~_RDxA}qIW>Vy} z_@6U1je*KHBDkd4FnR@x>xa@wHN`A=A-DNop+n91QYfojty&K-DofYIl=d7o*O!SiSCFO?C9!PzU;pU}( z_YSg#VYy_++}|xS!CF%9f*n|XqoMO`Kg*x)p^e&=87TJc?O*33C_bz`$&vGxVO`1m zKHPT9Eeho>dEl7)(--olF{pl5uyrZ@P-51t?}(~<{IQX1 zlJVIBzH2`&`pRqvXfgW z+O!3`iK!T|E=3{-E7gSkW~mp!kYs%*!^n2sC<8nu)<{f575$1Q`HC+(Z3i+(K}Pbk zzPbLrR&C(6Kdb)F{rjnzc*E>85nfd;_tM0kUddTBs!y&f|T{x~H1g#wo9sU_x-nod7j=|;ZJeM$F2>hN>4f<4bmv_Ez$ z5BR|+5A{YT?4G?|vvbv`{}NaamkV1~-v$?_Y_o6@|07r_|MsItuP1%8WqD2%cWrP# zHV*B8Vk&%uJ)YaIcZfVy2Z zOJluxJmL)-nvWggyd(97m(L>2S!jfeJ9+zw2jsUIBKfy>+eZ*rjbuB+`MLn$hRmFc zxmPf9j_*y11h^#8DZ$S7=DOZ~P6=k)h1SRkP?e=VS_L9KQJ>xH5N4$aX{E*qd$td$ zXEBi%=M3#Xhj2aLOJF;$$p|Vpg)$mXDlUqbM0u_o{+bc>mz_dL(ps!rYeZOrR_Xd+M+(IQP%$V%C@ISJ!IK znw_(W3^bo26HDzwKKTi=Bhg5|FNVc}37bm=@tZe(W2NxiQd-qL5a<^1k)c8+d;}{Oq@fn-_$HL1V-u&k! zi?IC94Q>wv#O#ESO0Tm$wlO+f|BgD=;LC76w z5kOYGu5PUHZYAtpy^DQdwjq^!6iYzO%%Jtwy*caW)qFzR(17kWL!j7$Qr!%$M2M&n8pciPJ>&Dn&K?G6DJA&DG zoFRNUjjn$^acZYumsY8>v$sf+VGx$o#APYOau1r!nmyM?;&O=$GI(vkT3L1Wf)uUM z3Dg16H8P3x{#R39z8re#!O@T(!#_=6?77snWt?Vh=boC-SoXhyT%&;fTIM!5V-sL^ zfs-iA!`;Z(r7%ZH{G`dJzsxi(Uy^}K*TpPuu_U-Dh_{#Nrx>A-!H;Qj2I|G9qlxLK z;>PJQ(hr)Ysu?2fc6d0Emsqyq1sG~#Q|)T_BmJxB)ZtoN32$B@xJJ3_C(T8eY>#aJ zzgYlP`M8X~`2hP=+*F5hdSyFz32RbmuDqNK+{q+6^-yJmEFjq|-~BgO1W=2+H=r3- zo>4RM7a_~AZ0?mJ=B1+ecVu6{y_%)oP4wO^GC{DP+FK{rkyVcsIpdSB|E(`8LkW!; z5j`6rCCkQizpof5k=&My3#XkD{G@(y>-g?OCGn^o*@>te>w=Eu;eYtMhG98l?z>ANA6^l(}fc>KRA+^)I&Y84o0D)qWb=6 z`C3`C;fJBsxVH^xkO3<$%ZH{1johoRea_C;?F8hQBX@x_cj%NmB-iTuce6i5ypcnl zCU@=^WEf(Q9@0lRG>|U=6|>|r^=gSrKlqKsM6ZdSgS&%N;e+Inh)r6#aW?7Ru+GZY zA|!vRk=ps{?x_SJT#g(s)_BC8Ere)^b?+Qw7kuM(^{Cp%N6rxp&du`vy4m?6Pc>iU zq)JNeOT>*0RIZQ25m5Hq-eA$Py*`=lL)v}PzEnxWmQ_?g3!f{5ju)ym{b`+eY$UMm zmSwx+LE%H{?KInbHCG_Nolq_rpVUg?*ft>UfgNCMiXH7k=Cx)Byg|@eL@gH-+n$mS zxbSm^O{vMivMCdF68x4Rhj7VZ{YAdj!vLSz$okKkfPC~`>i1D_(b$kn(kktub9zK} z$tA4Vx{q-o?Y%*AkH9(Ryve`}+UzYC7hK1n)o``*T3UcaWba|K`JoBdgQki&pBR?N zq?pb0gy@J7&eP^|hcf2`z2B#bFh;(*QA-H*C9L zXzQQ0tWvyk|Ef$6-C=kXPQ<$Ec_>cXK(>rmTZjcm1#(~3Tbc#mKoWil9c-gw`sxg# zyf~$y+l5%~U`#kObC{bP*hPJzaiQhmDvhFIosNs$j2q+PI~?fjwjL+t(7busgkaT(q6v&Y*3E}<6)dvovD&O1;|N~d zsQdeOs=|>u(8oxoX&98_AgRH+O`UKoUTMWT1{_+aGDDQG5x$XSAAI>3|JmW4daSNt zV(2_wQ6HFC;rrQXMruduopBE312gwecSPa?G5aS9&^A5iN0WLu(Db{SPsAQZ@2AX(^bU^M5n z^`Zl14kxtQ5v9s8TaI7~Al0pPEOhrgU_kT>W=4L#mx-LMXa|~LwWcNQmOhO8 z+avf9<}8CL3`0>#*dZ&CB`1O4MSPJXQ=K!k2gMQ0%D{$fWDd{4JI08Zzt|oO#oz8B*k9npa&Nr$?(H=lBgnNI|M!^QM);-TEhNPYsUS;N(1=ftTnZUz zvGkZ|`gTpEYx4iV-X>CeSN7f}n?ZN+ei%JTGQmX|+pmN|`w7NIH|)rQwFCryD4cP5 z(FGA6nA^kLcM}Gq^GA3O<67aAq}acjcUaFQ%A(ePlI4mOQf+(%L35MPDUC7ddFlbs04i)*o>pzbj`}PaKCgpdiwk;>V^RrUBTRmz7Xns7zR*^x zA)YjFmcxWY6RUuM2eKP31)QU9@eSd=O3v;e-35!q&C* zh^ct-(VL0^fH16*EnM=h-?X-NZ+k%F;h9){j9J`TP5*`(JMynEO)N4riRLfCz6?~! z#GE_Lmyf=b&v0sDAILFm=DxKCFx9_PB_F8OaVV#iYKInJ|ExbMj`KOS8mzGE5NUn% zyZW7ZskO&>w_@oyVOP6bW}cRx*zM`>?Oi5zG2ZKtw5BqCD-h?*XBe1I6svr*4*M*Z z=F5gsVU#l?=-+%o>mH@r4WOpmiOn**;7|PH6!-GDfEIs9BG@xKQ4)(C%#mb*R9Yi^F` z5{3&^MEcJGNMK{zgIXd-=zXda z{Wh=}5AAcsq$}PWx!j)w++9o{g%1g~Pho&;V31C0SzpF~KNXN`+A!C7m`DTf-_3S0 z^cZ9c7pWnuYS3BVFqHxHmmKje-0-k5u2vi;Q@OxopdH{Zs z)S=8ez?^9b+MfuuqO+nPbE3&A+i3mxL7~a)nC{c@LY9elxisD#=(v`U=sbV@z9Uh(qQtxwqUo) z6X?^Pq=OGZv8NENI%?tLakj(~#Z#6P67;IEY=b`Ll;ndBJ`-hEP3pBzd>o^diY&o0u%B*8vwFH# zU28O1=m^X)I|thZoo?_Sx||^F-njqWP|U<7Q<4>s1gJaOcT2Kn?59)qP5A3aI3o=G z%(etq83tSL8=M+CS3Hqq^$(vrA;%p$K_^m>tKC@tp>Hi=W)p+Na=!NDoopr!ax9A- zUnp2-CO1v}U`+<%X$!S~@P-lC#*EC(Ium~s`a&j=nM8(>aK&FDHN4cL0qMX2E@Q2T z!#}o!7C;$?68AQ^dFa~H2$ha2V?A7rO}=`UWMTE^);t|0XmVqG~^ z6XBB3>7(L+VAC)|%Zb39fHytk2B1l&?C}6-Wt5arz>hxHZV#Bli^}lAzv_AvbD>*xqvck_PM@rS>!zm06 zg0Sj_c}urFp`g^11&z*Z?V9X8$C4Pc-Ru7%ZQ7c(9#c;_u&U$J?-z&V51~qg{HaGb zRZZhqW*k<@EyF~)|8^8&9DeRU{pG-P9E>!KgOla(Dp-3)ayw8CoZJTwESwr`D5p(e z9RoLC_$(obdz`Y%M@z}q5^k46eBZmYKISgj)*rFgzj8yi5c?;SS!8W{GDy65>xhOj zlaB>_tW}6_kc@&K|8d(8=`t}5EzH2H?A;WU2AhAT8-bF|nt#If2|l>P9Vjt3<&jJA z9$NLagRLp)|Dpz`;uzpbMxT>F`Jo=M=NC1HYl;kb26!Agy$ul_XbGBZmv;Wy)Tske z_#VIF(*ig1VH&@K`4?&8Dy{= zNL|a|hXD`3QJ%eMGBc?Dc`-P5zIO7}GZs;w_rCs`?-c)J@HxflsnkGl!(vq$B@T%u zVnR~l%sVBMZGfG>Af{e>;b3{jj7;D4pI7^NB7PHKHai!o2 z1ayrZ5mxmL-r2ZYTq7*0)?)oepl1y;v?DN%w1%@qaROJ^4X}!zAWqTEk5g_jrza=L z>q_nL6Fb}IJ}oIL$Ydl+!!4o+cHXSt99t9za8_&)A=?Jj2T;mnG9)R ze{aq1n%v^`3ag4aYpr>H>@FpRPmg~w!?g0qnr5&4&8hoO@#C!3(9TReje`|{SvKOF zyQQ*eUO@fNb7L%0ssG{$e~05-%=+7ND*k(TxAWXj{4<1Bz20?(zBzCMMpE(cnf114~3`P-)koh#mqZlTb*6En%z+?h*(%H1!d9xzCmG zv)YfQEo6i{DhPQ!q-}%N#(Ae+);`U(zPuA!r*c*urF*E~JHnN7V3Ae>5m?!N z;v>@$!GG-u!#xgn{+;R5Dca)R1wq{DhbHLNi0vhhqAzR8=U9%;?ZwQ?&Gm&wSyuwq zD4_HA68f>}BpfksMK3Uuxs^i{ksq0o!fV3$%tr0KWr`N866kt!M9%T5ML#8G6jfB@ zh*Eo%K-F3S)COtVq9c$Ze71M`+}9@EDY;N16YZ*G54BBAv5qnm8nMJFI}V^qf>Sgw zGq=O^bNbKT(rv&)SbDtSX!1p_ji@fLT0qx8`gb<5-coj~nH!dV-wI?h=0pi~mU(O0 z!?>{gD8H6%o5un#S7iOXj{Bn&{l}dGH7_vSLKBhhS-OzKKE7#O@;$Des z_lFP}@9hXBzP2`0%5Uj=dE#Pc>A)PyifJ1_=BgLK#p5TmBvZ@k;X4C5)10#U=>IWD zb~VQ-RK$Z^|EUOyUC{)c06vooT1JvGWWl#s*C|=61otMI6zZyU76|73yVMc+B;_sR zn6C4=QfC__E6nJW0I=MAwU-qYo}mJsaJ;i8L+$szZx(=8<|j1xOo-CG*YWb2bOFT- z$Qwk{N7-zC15Mog;dY8Qba_j*A`PT-4?)4S_$y%Nvu_y?E)JWzfCA9d5%!=xl=I_# z+}4B3X!}RunsdN(-$yN=ih=WV^(t4Z?b(ELOtz~O>n@hcuv<8Bb|{yGza15P44L+v zk`dtVkqW$vjKE<>^9I(eT@>ldzqoN6nCwdb+IP1Gv;BwHMp$LtAwf1Uu+yeE)R{qE z zpgLEBk7_Wms%+n>hY|Pu5Ga2r!E+@rVE)Oq5(~Jy6A=xQ8C*Bxc3xjneg}oQW{Vf$|Rp zQrF40Ly|_R16jmTQOpj|M%6O5w{B7L^A6dV8hirBbiAf`JrnO^wc%&5YdX7^ztNz> zM>Hp=8zfH*Qe2-Q%vw_gi?YpATfNLRpy+q&$v(K`v7A#@4zGudcCcrWwFl25r1FzD zDH#f!y1bdiUHCabe8h#c*Eps&H$ z*wWjuX);!dlJhCLNNiG4tS{cmeEkH~3=U`=L)=m*lNCs9}XGc(a>sAw(ud^Y4- zCeeWAS{v`r5`LDE(_o8PN3=deYRXnUawUueRI^U}F5^K*evQmhwP*B>eXZ?@iYIYm_C)Kv&n7}GAaV4h_3VpeICULkiD zY$aqgxM_c)6(K#seVXc}N$5kVKF%c>1qI=@xx)n!U-Vu5`@rpq+uUs*gV>doezsr~ zF5!aq9C3$V7tCHefPgs!KONs7{VHQQvhdZQ&oPsr$K z=o!R*vI1p7pLOWHBJJ_t0v#8s2C_mB_FZLIejDXj;lmdvT0Qb@v0iFi_z;3Z!zPkz zM5*NrgL9q&?~tKAApy#&KT8Tb8gA;JHj%>94#AKiPIJ(v7nB)3H=M4ZM=XMb1YMCf zL?rsw1dfR7B6N6Wz_ixylKm#m^?-V9T~|h3RA2sV$ZIKR-94|CIql{ip1sQ|rQXLJ zempVaO~UfiH&haa;RCX$Xrq6r_e@~0(>gBqe?!!RryF>%x!1Es3!vBmk}DZi|E*q# z`-nv|6u%^_Ha40!`>D{{g}VGLON%bc!lNX_5_#e*dkILqwzSdQKHGhGTX3L+f$Z&# zXZL=^rt4LL5EY?&Ey2;1XoR{|>M7(d(Oq0rFbsw%ePm*K!d&(^i^ct@H`Ffsc6SAg zgp8|$(ON~|6|bf3z~#rF2;aRmrD`>;xUKHeJM$x#J8z3Dg6rb``NkRxHwdz{b0wya z8tl@Sq7ESxD0Bew1Nc({85TsRLo02FakY{EagTwx8z+v)?j=wbOy$_R4Ci z5B#-`-n2OY$UbWR3Z4bXQL|>QavyPEAKGL6~FGaKmC;B6VOTtMhY2G=VCtj z3+mB2Az*_&k-P5E<#5evKEk#@ycV5^x(k007A5%TD*H+eGt7Wqn`YSH{D2XGY7=ii zTJy5Ln+}e<__};EXU04{U)ajH(*Z0iNZ>S+)ZoNOz-RUBVnNB((~XeCNzF5c5R7z8 zI5EIPksSo+vG`|P$Pt=bb!UE;ecHbI0i8x@xa~gaZ2V;MP{Y-^1X-;Xn@Wz%hZLN<2ZIm< z%w@{j%Uag6J8e5`oGI3y@UfkWwNR<{nZ}6=uO-8woZ2_?P!1@rwB;Eutke~hU6CO# zbK(uqyG2$xAlI-$Y{5vwFp^{<`In;h`Exx6Xi_C7*Ohq(uOF?fHkV^c_9OcsjNVCs zH?xtqxFFH>MG0^^y$`QKu{PcVPE?;NPcQ@y3|Zg6JdOZ@tR z;$(TsJsekXmB5EkV~P#z9kM?*I3a4HKs!6D+gtprB}09Y=`Npio@&GKohf5}`7zDa zN3O^hzYpbdCpx@zXfsMw6tjV)LT}_9-&IW@pXYYhl*`7*(x7yc1` z-up<@Q`5@&L8>H4-KJC~(m4qOID|z#?N5`An&*1;<}AK3dSf&KU(i!*_!or*^3}Bn zLF+N^*g^Z2QRS&ygVKT&0FSo_vs`t3;9Z81=?-Un*d2)kffGt4Or`j z2;m{@Wnl$vmkh%#5%{_`%wZe7)y+}mu1H?ZvLcnBndGFofpEp-0k1LPJ$W^a!tJmmW)K(^%eM^#o849s zFv~iFTjt})ivNTUNgDcwD7A zyO`?om0&iBDv%HIhBto9hJv41$m5IVxzDP`*2Ec4>k1Hs~- zEE6{MMcL*`m;0-|ebR&LA+&!k^yuZ~s7VRigbaQjCf|g>7@-I)LN{IE*AJbg$CMU+u5nD@uG7{eEh8RY7S06*`M``QF*3|XYv)cb8 zb3O~nYdQuQ6Gi>wq@P|~`Z%I!VfsMlxi|}t*MR)l;eM_KAG zAV3iCp?Ga%<8UnD)hWgm`nkw&eV&7mTRq5aqXisOxC%erms%|+LRTV+u1vKtoh3J7 z0X+alCwnAfFSiizbZ(Syq=EpH;0iXObtfc~mpt#|hJ_zG-b8P{?xLT$=R=OEVH)}l z-t#%(7h%kJe^CX;jC_JNyuJ+n(mvhYyeNM(97}0u#A#i{eGFwCEKbvfgb4T*n2 zC!!z~f`=>HD}rSHj=rTR!U`RPbkX@pC7oh?-_&mT`Z?LjTQPnAmxAE8*Zpf;Rd%cL zMK-|cV0x%_SLA?S`4xn zIaU&zy@9UerN@0;C82Ye^EgTLK1GqD?nIsYaN^C7&#xTH?iZ}oS15a@jlyD@X?02} zaFZQf>?Q(&oW0ACN|U63MpY8BWD`Jnf;;<5`6rIpXM^97=5I!P6oONzk-mgxsrh9t z=ft!8ApkFk+MLJ4$w6R)isU>!<7XGG;w?01OHykb)ot=shDKe8plHlO6~r?A0nXX; zx3|DfjzZQdUaNrv*a;W(lz%h}v?<7^8JF+ zEuRlP9;jd1g+bF|zS*VK{m^=(y4N^6&l2SgMFgO)-7-uJE$as6l1VQ1&G+@rbkvs@ zkj2*)q}0y%B(_HPLa3ZQ`EM`rGT0%n=5m%E3oMqS#NiNdjK$uFtpkpOUM5F!or3zq z6nM^rekWT>62=bqv>DE;u|8%Shhf+iG=2DRO1M9(WN(<5x+SJ#7pe&7CCrw-rWLDA z$xetuDkY`da3m{uJ!|$$$_}QD@2ByZqe(nu`Zx4<<&jZ+rq{I=5sQq(qR_lJPZjv9 z-;Bx|X!US(xSjY^mOq7`V|CYdtfL^JeyMX+K!WL(DpBiX;D6{qfqLFoezzH>ke$OWek1V0>hM3Fp8YE)~>@h!dR| z>6`v8GSGJ~N>j@TBPLMW8I6>Unw>>GCWj7NA92`g_oWDwzC&pWzewRoHSR2$X~PLB zF>aEBDTbTahK?hRe8#XO-hp4cN$KbML=K#5kw_{fb?f85plgxThE*FBYRx<@%zBF$ zKM8S^PVh(}&evKc+3UdL@`=>bvJ=(6{RxE}UjlpPTD0$Yn_#6$OJ2;=c%SYZG5ziC zzUG6^%G+zvQ^QLAH`ep?Z8uQ*yif<$*I9f>`rN$rkPC7M9`3;CPTY;$bNhFA2HW=> z>+OH~6(KJ@0&j~h-9U7DNbN;+N|}A?(jwPe)48r%NF>nPq&~%CFrNMWz6?n_VVy9A z?^Gj;a4B94TOz~6%JkjVxu(YnZO?^;i{40SiS!ajH!vH%Ako?^uu{9WHtXxjbc;h( zEh!$SAz|G`>-Vorn&Dl$L!?x{X8(|w|7cTvFW6k9-Jbe06HIWbtEV2`*7>?ciCY!0 z@&t8s^i!5JKF*T8C_3!~@xCS|++_U>QYJ}N(MYH<-e6D}ScZ0mL&GiVl>5y-W`vUN z(Xf9qCnk***q*rtdBOsm`eA^STz;`np=X>946Rixg^RB1fG6Bk@hAV}4#_tgi^1`4 zL1PV{JZSzjuJwnIuuAwP;zZF(X)&{5Q*`QaS3^hbFj~g7o(lZs^ZI30CFVCs6xVVX zP1aHtN@M<_w8Xapx^ReEf5#80w{W13)%)!WMR8*(4Hipg3;51#4@ow?kI{Gn8=y{g z)fHmTwJh?T1|T{<=x^{jK~ys`W}br2DJeIxrtuApnl&oaUXckrj;s2*Wy&B68LN`~ zN+ZO8_}V>yoecmSw)>sxo{#2FS@f%<;fHuZLMAWj2rZ*Gl|O?6Ps?Dq{Zbsa&1i2% z_0dm~_|Vyq`K8uJM1d8R=oqi^Eo!z>;vVye>*7{a)_IFz5rP>jYW<8x4@{}508MA) z=|U|5Vap`bf$f8$Wpyq$*ul8-xQ01w0SphStOc*9%0|91LFFjMz4}EC%9-IQkjC&GBYO=JaVY=E~uc1=B%p zWj1S=t$c8CIvh|qpyKp1)@3Q#eC(4yr@wBZfpB(5H; zITL|relYN>LmkG7NfsO)PcD`Ur-8IExkn|0AB{nQ{nB;4wG8}D2^0mUT+Y3>))Gvb zsSSdKm9L<`7@I63-cgOYB1WNOBFrWMVblOOTp9}rQQ6NT;@d}j0rK?0L27Q{?s2LnYwURY7y6%C1v!{#dE?>r}tS5a9sis+0Ui&hKUrD18GE)p69ZnS8Ky!OG0aZ|oB$6-p zE!gb0vct(rhUranx}~hLNis2$&To`rywnHC;8h(zrPuOf?9NK zg#H!g;o=F7fBEA92aV3?9XVZST+{3o?OcFdIDp*UAQgiuIqMFobgTHf*ma|WI_r*$ z$j5hy#*pp-M-`ppf0vvR2P>wP%VqV6o6xxvrj3y$|HBwTJlQG0J1|VHLzHAw`2fd_ z6$(WWp|Hm(RHKwgD-ZA25xRaxgFn7hId|ovC($Uw*Fp)#W{6E!QQ5AjG1kTKYNezV zww5s2VzOdv)aK;{N6`&!JG)jhJNsVg8|sGRyWdJnk=~f)_*?TWvDCw-|efV`2k#umyQf5&>C0a8>zEbCz=}qt% zFm!K`FG1bIUidE^Bw37sWZ_&s8-sAJ8JAkam4HB}`-~2LX**SNAZiO69qA0l0E#?mT;MRaNNA z9#LrADqoPU?=+~IDhW!EG!L8u#*Gg%pYYhX{!~ zbF$yd3g8tu(vzH=?5Zs1kkiOm<+1WJ)$922m%)C8+3~YV#?#K+?HPg$;M7846xu~u zD=;%Rg5&0@+SHE!zLcHxHPBe5%ZP@G0XMYA=tcRfYE+~Wx3wGopFVGh-`jbfFf_~+ zJsUdI*FEj8*Ms##wa3Xgv(N)%^wcRoi9NzargW1^Hx#~CW>i(YIeEyjR98~kAjl}6 z_qVl`xzL1uX~fNGQA+_DzB=SIB!N;U$NKMc31eDsB}mPTIShBRKxQIMOrW1*9ZPOC zP^V3p2Imj($*SyRQKme~u;}Q%m@FBPHKkPb1$Jio8J5fzkLEd5;czOfI?rhAr%Fb+l!w9Dm@HOdufHskj$^DUhv;xxHEY-l@w8xD7!8ToqVN|@S6>XI4D&TP{iMgN;i z)i1LX?I|%v#Dzg; zmWod-PWh*gShRR7nKKNJ45V3GE=Jfa3o5U;Wc8atZ>JDjd{x#Qakt7VZWxJL|3I(2 z!`eE$FUk@mh!>d}g9=1%sW&y3DA+sopoUUVP$8-k@v-^(DEuSnWQnL$r-lbwiZS3^ zrB60h)G=PNYcy86|EmwQfdRIl@6XF26g6OL(Ya02od^o*6kHteDdO(PzohMjE{lQJ z|J`h1$Nu@J3g=mgYgSKq)JdPWqV_DiefES)@U(}k4TRU%S(U|zH5Z3uc&VzgWl7~+ zYQ@b4f_L=lzF=QzR^KfK#1TSqq#MRVxtWKy6jm2z-q(W;+7&C4BK%A;gtKh?+c7ug?7@hO45cGv&oCH+G4ST7q~Z5O?T} ziTkoh2#u>0Gp8_efl>o#M@lO$#i;uY5JU14IUlZxvSMa^9C5MjZq9rakN$a%vRDf0 zOKQjc+q1hJX$RquDa5cbl|~*-P~Of9N_CAF^x3U$gA5>lg_C%VCkV46Q)o-kQw1Aq z-39BuKSvO2hI6|FCKsZS%~Y107L^c`5mK6rC1w)C+4%5c7{5q0E=EBVKRJrx~=tk z6!y!1D4TkEVz(cRDnpWgM*Fuhjg5IMA4K|=tJBM8u?9{wpV7gR>E81H500t=EO;EC zN#F8NQ5h`_Z|ch`A(7gf@mrPtwn8i~GDtq0X-E;X29A$@*eA|DRhAV)cacjfHv8~4 znqG(jdMy5m`HE8MHAkXivLwI#$P`PldC1FY;D$^qZcKx4L?ueBZn8Qp6=%$CPrJ7V zft3Jj5YsQt_80#Am#LBy9$z9PXv-FezHhL*CvY-@2 zyJ*ztI4>7wjN+#BXwkW#a+IN@n_TN*0!~4f+j(sfAnf!=f9bbAy>rGAZKIjZ5aJ4>0rAt{u)!SDz1(ClG z53PW|jj`}wnp4|PnaG3GUcfHu_tWjLuPPAoRcINoX95|REUYYQ{2;D#>I!eo6|x4g)Bu}Hel425DZIdeoWUSfSvuG%eeuO zplL?s5ZhAh4_r4Q*pWdZC3S?}U67|TXO4DG#evKNkygx^ODG_jwCLUyUEW4z%{9u- z`a4X=&jS8$n=^~4JaM3bC;+W$FI{(Oa9h>;z^41dXkT4i037&FE4O$3hciJR3lbjv zhuZh&@v$JCuVSc$KX3qagd?eBbd1_brNDj3(dv>4zMYEJCD>cC?#9B)JBzNh>-7Qm z#e~EM=NS|wURH9-1G<4t(K`iw;@3aRA!DhJJu#_>Lu&|OhEH1pp~o6tO6XmxJh>5p znWE1SmAq5YoG8#&bPjP1`EpJ*P_ho*5&4t}W)J68*!Urb#(Yb7X$wlLDI8c=sHrqi zV>K6Naqm!2KZ7>;Fk37W2>^~dxE%gBa;v9vmqv>tBc4h%~1H^;F*xpizcQ|L3M^La}_7u*`t0|JK zG!X-RPnfuedsPD}JzV@~QN(1P_jAI1;CN=t9^e@#y{&0Ry>g;1(YH%3hhDCcrY+2d~mg`37SzAdHb?=0V! zk40Mrte%Hw4=C{FXAdVoN!O&ZTd%ND{7Y8F_tg7hGR#_meMjhhm9a55nR%o zb6^GAABa!YJlY^Xcyd;UgN>c2eMq;u&2JQd!mR8uE>FW_x3U?YU3Hi9Esl3sX#h`- zMY94_9GgIg`;U5nhbMpMy)L1E3l#DBGwkQeHQ5GzVJIDPro|6H0_N}GxU-XINq?Iw zS(0IsCJIm~!E4oyGbNT6y1hsaV87KqfmTK~#b)^kDh>Ibu8q?NpCB_#Cto)IEZN#&u8juj$o)4Det)uKhQlrPY+s z^F~^%NqH5a+}0LP^_oFnlT$74epj8eAZAG}|9)|xDe0krW6MAFoPKr0$E=6{fTKkc z6qf0TfFHgJ1$T|@x!K_B?^A6&Z8+{%Nw#SNIfO!9WAq(TYXcH~qj+U=dQMIt4MAAgGN4*FFaMX;kQ2bJsU;_L3P9J4wp{P1F36qLu|LanPy{lJ44(h1dcHHZ3ZCJ z9Vu;`cD52}=YU>RU(lx7Wvn(Zr?B`gb&PK3^5R2LRb}tpH!*B@~=*^*ovc znP2t?7D@7P#FuC0q7^0RuVyS-s-DDb10!>}BZ5{NN$z|uli2(T%GPEhfo#bQ?V6!1 zMxsd2Y`3|mXp#Um#4KhMEjr?amt{dyh6wW|#VZw2P6z_p|Dx(EquLC+WpSrC6faWT zT>}(~ySrPU6nA%bcZ$11ad(#h#ogT`zHeSyLW= zE*IC6{k)*illG5Gbomb5urbaiB6f~E%o+m@AECkX4>o;0H8cc$T4Sc|F)UPD*>(Tcv#)CQ#JdNxi&} zbJQ`A?R0=K*W=6~s2#D0cv5utgvHLyrmY?ztohyRX-m{g&zvigGQ&nef(V1e$vHCv zp=Mj!At>J4+Gxg71Ag;AA)FFqlLBt zNhWnkz?%;$g41T=ttt5Di!L*K%{EJf>J|<>d(dLZi&An^X3dF)_Vyt1CCRW%rc9j! zDFz+(AT(Qk{NOcZM6eit#uxEOF$qfjC~VSWfQOgFnD*`0r8B}+Yp~VP6f~G*2=&bH z^C=4WI^O!HF;K!6y1@Q)j$y6i7j|`vTjihVd1a7GYQ(g3Ih30tyPPu#(iZ7YNYljH zS+87qO1=mN^R$zsF2{t#E_+Ot$(3dY9=a_u)<@dLtSzlu+S$S(?>L3SmRhfJWSNp% z#a`Z;Odge`D7?qlYh@pbjj|+IntlB6v*9v>FVjH8H4#G&b)LN}Xjx=6-mmCa=s2_# z;fckSJuVK}zpSbpw-dEyTZ~l6Ct0WnS9q$-&RxJYHSOf>(I3k#$FLD~LDyPYA1%LZ zO7=I^OPW+;!RQmFNA~w6o=Z}p9@I6uTWd@B1${v7{>67?M5l!8$WBlm9AsIY0uyOg zw1O;Aq_u^7feSq(K#?PCrlCybGVbS^r0@LzWQPpP%B}N47WX=+2XFEoaueEggOY5@ z6AOU^Thk9neEtPrfq0Uz%yU67spdwjMy=xl*=}6)0E5wLCsoO0T^$NG_|L@zL6{kZ zL!H-+6Xn1FLBZkfqMEOZYsfn&z^<^1$QoFD``wpy;}<4OJF<#9M3(G|S;r`KC^4|% zqSEz9OPRIW#$zSPq7;Au#ikI}A#IvDrhJNk_FfKKDDI=3ljNV-5Mr#pXoymPD3J3- ztR=FuAXsM4rg+gHeA1oXE^iMSd$Ds`dKgod1soLe!ru~?XKyN4PAgckG_|mlMON?| zF}X-1{Kh%;$ziRvUK=PJi;betj-&#w7m!Yos{CB>4oPga!BE9GNC>~tcQS8XTW&?n z$wy^uHvti_wA;e83#jrV;dRY`P{6?6G5vLH6u#ReX3x;fV@;Brzq8QvRGyVnywm74 z6d-={twM7^r7W-6=mF zkH=0eypI;7Rqaq2biT1Z)$c#$-y9H%{hTa4bF;!4i;|)~stY%fIvY|H)rdoLVydM! z>s9LMs;?Molsqp6J8ocoV;r*pbHsw=tdeZ2In4mm(V^4*g|Wq`_rB$1XMYO56yxYC z4et;%T0rQHJ}jL+8$Yu-oPmG}&EJ+ESSs1Y5Rsr?f`kefF1Rdm0~ute0c!L8@m3XZ zDNLCCgFoq*uj#sjqF=9u!*-FPy-d?yu&JzQC?(I6_5$c%=`vnANG_Bdx26b&1nL7E z^Hdz=%y=_4eX}!WHzc;M=)v$do1W1xC{jI*(gC+w_MMq<vsAbbDkZ*!{oP z5CUt3sZ0RW{26d;UfXfJiO3EqEk+xp3*!cVB8|=?6-OD`e3);I-ekyY%-l{=jcui* z@^0DsQ$x>%fJKf25rL-YY?JxV-OwpUr(L*IW12#t3x`SHcbsw+3Jg;@jis?v2Ta_O z@$`qeNz5wW`&UV6ouz~WNy7~JdXaBIHA%q~um(l)EdXe~ro$U1zD|zpR7A(`g`xP-RV2LWVG2!%y_1(jX?E z;k*Ea-46r;Kw$GBJFi~~UL$c0Y0v5SQvN3q)GsqZGExzx?*U{b6t&SaHRDvtj36d3 zrcD*3sy!+{q8r4j8109S|KCeRsEI$23`r7&|A(*@NdONNWu-^KG(@TQ-#2y2;z4#T z8_chTs}~aK3aefF2*vtO@VcxP5XL)_$b(sFC)ftmetYvKGB)c6^*don<62DTw3ojrcC z$+8{}>s7kAi~-UDs&)$MOr?%zzPt0pqpyHf+4KB)+cm#`UFFZ;Q#MdCp6N1N3L8jG#dyFXsT< zo`I6gT87Lm|8Kdpj8SCJ;$Tr01hEm>57_uXsBNAt-s{Hk$j*W&i0USp3 zYOeD$U)-o1ti|S5mWq^3=cJSuCgLKYGB5c1e5wonms1!L!|S*wSUjFW8ncD_0H$q; zf6)rv6;vD(I-g~~Ea_^xS3<~atcI`xr9#4Ww`;7n+2{6t0e0b-{DG4KcI@2CQXu!1 zoZrxi)4EBJzpG7nY&}{dPj3sJ{=h%^OGLacS?Go#=6a|365al-?lTJq!XZd|6yyL8 zm*@{?e;Fmmo~ zMFqbAc7-1GSeas5A*wFaoVVajfawfKk40wN4gnzZnLP`aA8gNex;)8$Pet&y;1bhR z=t_Aaa&1Sp=_eLI17;bKl(J!>!x&)G8krA#Vai~DL~AXRlhu{$2Uce*Z1Ja_i%WZj zKp)7>pB<%iFt*t32e&ZYQ{AK^;##85Q0!;&{<^CxK!z36Z;C8D1>*+^wYyqJ(04gz z3%NvrHssXmG5Gl?nM0^~Z50_i?oUKXIo)JG(Ad(>QEIFa4k)`7%EyvJ zZcAQ7TsC8N7hr{DgE{Xak~8b6ZVTNWf;zR&V^6@ssOvcwlL{*CiE_S{Sd#Tu`O zIfa~J;p66vA;UDMlILfYWhMrXh@5(n?-mudm4_}ai&*-#9+D5l>uGpmgDKya zp)pAdPEiI!*{sF?KpAzv${@YLPJfY1$HMXR|7Embv!7EqPEkX)(P)R=W?Of{^F_n% zHd0|3rmkrVIY)Bgd_6M3pmqu$U(8OihgVX);y1!+!+%{l+d!HLwGd>`YROj<8PScQ zBq!>S)YC$w;MfawGxk;!^3pdWBchBkvunfpj2XP}ebtPcg_q2h2*-I6A}*+ z!OENe2Cb8IdOslCPbxFxorY~wEI7T)nAcA`&d0SjTXN2FdlI3D=@?SRzDbqO2>*HG z?Z<>^)spOC!S>3LRuFBP#^P!xSi2!eb{eE^uX8CuQxM>T+w^#{T2)9_c82v^YxqRz zy6!(8nTitcwEPO*PWu=97p8`#PbZX9>9Pr;3VC~#QE+ILK{rr5t9^aGqLQUFY|)*u zbh6q|y5k+?9>7ODV(j5qc&J}fh_>I=R1)l}_hQL;TVx|4DOG)aIpO@?P3f1JYx9F@ zRsq$En}v6>>;6J=vhdjxnMH1v{+)cQ5p_Taz_A!Se6i=>4y_wDO%n>=sTNsRC^F&v z00&^t>~@8icT$hAASEtF?c=XEz8bE0Q8CF7Or7`0Ug&V&lI3;ST#ulwo2A(?|5mYK zBCj4=m(>J&g*Q2Q70b`ak;4<_m)4P2HgZcW3^h}5V+pFY5o=IZXo`*c{Msx9eab4p zi+JgM@P(vyn0L!>9fpILj=8rfQ^Sa-sW6_@K z2KL#yr`v|j4FaPDW75WjY;^iJrJfZIiyWf`?RLkQB^Uj9_RIW!zz7F2smfIZOFP9r z;kVLtAR8aq*l$WQxZw^xE#UQ*S@gV**Ir*e$96{3> z+}o)!ckk|Yx6n`&%u9C7uHx;t{de>32ya^|Ucll9MlI{+*{5<~5SJiPxVm60 z$>Ocf?rQtuxORW}uS=+6S~{uh%HgN3W9j420fR1>zlog1w1(R28{RZTLSHU|Q8@G6lILemtZ(An@PS8aTCp| zAhD>r<-sr?bcMDogCZ!Yl|`ukNRC4#7khO^1yPJLN~xGtb`{c=%eF*@(Gn<{6}5VZmB*wD)I4o?=(>@K!z`LlG+pSk3k z;WECXuCbCg$>)0~YZ56e>Q{(-{FUJ**}VASouMH=Y0g`obB!1JNG`lb+nWBwO`^ye z?+5S{P4N8!QLZzps^j0mQ1SQdkU{ z@6G)(ZDL(@{>+QxiaO9SCg{a;U(=zrrWC6x!vYxdG-hhU(zWz5Wr(k!gA%ainIt>B znq=mS19ySt(c8w0^t$Q?XAY@-hom*PJ6&0So+h(%^TO+M%B6;-)Gi@|VG#7YK5R_w zv9vv!qc;$W=~nujh}H_H)^0fn7=poYedoR6V^siU5+9A z#8L#tj+reyfphS(ZBf}gR^FIeo&Ir5L`(&IGB2#GX=08+3u|ZSZFe7$PM-V&$l*!F z9QVg;Z<=!t7nK!p1oYZiduu}T{0{jX9ssASgogY`Da z@r!fgWo($F)w(TCYF%m>h_biyNhPa@2E~Y-=RB-`HKh}0=h;fO9$i1sQlmxW1kaOB zM@ffM~_-@t7 zTbBLq2!<-o=8fthEO=UY-(U0E85T9JZb;5M9^!KzDj4}?0XfgN+ok7>W?~0pOOkQK zyVFV)NS}htsf}Opi9Y+76-1wy*K64Atme#j-c|nv%cGor_N`MvNrstKBp=uaw!21n zfnV%B{zdV=YD^b|-e)a7JyhSYin`8r+U zgBdAiQJF#`sScy)WtOYUxG+YQ2Fx?2JEcrAW)c(dgBNthu5Th`>?fVsf2@q~%`pfj zOI&LKwTQd!M&N#L)Cc}x78X>inDYK@3tc>jF?+uOVD@?6qVf9ZT8`1og-x|6z2-80 zE;y|#{ulcP1`zK4lk+l5rbg#y3|M|#lRE~D+z7U#+((Wp1!>Y z2Z7-)qY;P7IgQw#wpGJM0ljQrXS0Wu=HMNO;`;}y^I-hASXVN{s*0s05bn~ac&qN&@flO5u>e?97u+eRW4mX9a`r#y?C3?Y|?K-{Ri%zY$ zOF36FU`UA{3zpH?*D1PZGR%m>6@}RIZ!2hV1Tj8+L~j=Sy12l}cN%NuJzaow6dCF$>f6x>5_$K9c9GSX2CJ6N(% zc|b|hNBRhM;AIvz=SNO6XZa?jbfY$+x-E%aE>d!cjE7g&LE>9I&7RW_59U5Y{Tw!R zD6_7giHFB9NWs~5ccIIal~3aup$DYikp7rZr-dK&&v?DZlZBxarnU>1@i+gWBQbXj z;TmS1j4X^1!XrD3SGsTCFiBseVt>uK@Uc{tl_Ql@cOg!yal&}qz*0Z`G?B4rW<*v6 z41NWhz7ebgcv^pUl1XX*lRz2^Q(-Fs%kQT)JsjL}=x$4ueTAt8L#5W$+kXhV0Zs2x zke&g|b8^nkG;iCnGrFRHf-=c!xTr3tH?-p;=bpxYnjE&v0Z+M~MBy^28Hov#&$5#x z8%RPQ&XY(h@dv45`8Q;xSqd$3qp0-LWgPnzPJ@5q_fq!$LrvO3b0p9z-nMVbIIai5 zupw`#jau#L!pGEl`y&)$9>qQ+*sU6F+(vncq?HLLFhK(>#ZR*w4 z{kPrOQJK}5I|vYkJ4IAEPCmyLnOB+T$zMgqq^rEHt1tt7c|jQm zDe&|g)kl9VNH-(8>buC{3h7Jd8Pron*;g`~BQ`m9_4sN2 z-G7qJ{IANpS5qfc9ZpJo)!AvrmG*0FVZY7_-wQ)FhNyJgjVU&&uV*L7A=lSi0Err_ z9L@7Siy{*?U0gtz1JvWtMomv(MjU{NhJHAbuz72o^jA+$Aq+?T#+>^4^0;^D!iC{a zoSZf{5)$3E5e#_ci0J{CXTo$6Q7{5+Ej-S+?^~WJev>x^=!-0GH=uphl(KYIj`jRne$#K9<<{-EHSuej)Sey;5ka zOXkuUCATaVKIiRF;VSyxV0f(&wsiOH*operI+&f*cO7FT`rE*B?>^gh`eib;&te=x zlIbg79(5r>&HvuUbG3LPCmD`$m_woxlaukAIM6iAU{#cixLL2`IBbQ#I9o;c9&R`z z{awgA8K0Yx`#}QLz7asro0(0K+Y{_+<&mH&NCYl#0{;slo$_EQGc8}n9jXKFwDrn$b8;^iOluI`|evMJmCgqQ${BeQqm%suZ?Q3pV_K2jt6Eaf(n$a z=93glxhqmD3ACK-()LQvlxyObjrPMQ1Pj{Av+Efl&pf=Zg0 zbV4sltb5#`zQIa5yO8Ee9NxLb--0_h-b+lgU+mLlR=CE3jp~TnQG9jnGKjFuvC^8W z$`J{{0gt=w@E9lu$#+uSCfIJe@*c~K%1RuO8C3b41TjdbxV%Ogtlg^;*hE$uUe-HP zUd5A~jH~#YJcK}*eCMi<3YW|N!B00>QLLS)W=!?7FVt!iRECzeQoQ=z?!47$_WmXZ zazN6uPm0XV;m>3|6BapLPA9C~(T4V^QKFN8MEi!Lo#{hFTE3CS#; zv`-RHaavL=Sg--5HP?(rss<>EP4NznVko0>v%x8e&Iz#}lJ#R*-1(PxLkV_k*ug}) z)(jP<@gzA4{6se@PqXnlj@7%@7hwGcznM|n1A%tLw#bDOt%w1;=VtL~P{;K-EE$cj zFgfaT;3AC%9ug3Ck=@gXc}dt}vf^vE9X1#PiBhKjG8(F|UG%2GO5*}?CUjHttVp#ZX#c~5*E(ZwHk(sVui}-Z#=c!2PL@Io@i){w-R6J+^9Lb- z_f!499*^$VY0|6Zze3UO_{h&j7R0o3?lPAq7C~UWq~l*EM{#)BjZd9-t=Y7A$8|rq z{c?br7h3IS=m{f{35riwKlh*KXl4i;`X>M&j7?-OBak?Ka<+#9=<&T=FdPAN=I7Zb z8rJo|dgvU{p>xw&`OMt?!*Jnq1{+vi#w!T*T_lD>`Q9$*3=Fp0g@yNkb3F-#ybn`$T%Ipu$^P_2?)SwuocV+9=^ za^BQ`x38hw6ED`sg`${AI;1)sgpm(!aY^Xp!;BB+)|~hOaT+RF%t6vW{O>g133y@g(y@ zrd$zZSD!C1Wr>7(SmAT6OwRu@pAR2?xIkf*Le}T|voWD$yM!w{7J#UA1yN^*gL0sX z5nD>>CuR|=Xh9Q>cP*r$`mMMWq4%6%6U``7?*;ri)y%i|cXKa$XLj7eo6{ze6pMj@ zZ@Hx08jdei8$)q2+b2x+a}R8cLo747=90lA_L$7uiOG40XbqdwD};t^rf8D|D5vhK zni&+y)D;6HJ`8W@wx4x+P^YyiudJcn2O?A7eyi5~*6W=oZO>03EcN&>YsYgvD<4jR z!ILgDV0g}QclYVx*j8GWf4z*q9{IMTnDpzo<6nF;I!QE@EeV}X4;Ho8*Ir19t;X2h ze~d@tG0R$bJt@}pcD=%o7(9W~ppNIn`}XVmg5WfC(rAY=FK(V#GG{2BQ43-NHeyi~ z%;(tvOE$8R2VMSV!V_!Dm+#Qw#XC!Xe+}Op8ub6W!^Tz|EQFA1Tal_URiRkgsF&{W zeno9@n&UaF0*}iZpm>&G4HPEmMiC$8zZGoz3pKx}Z%=O?TPUux?MWCj+Wb$V9{Mi^U#n%<4446^r5*gr&K&^@xH^aqS68sQH1G29@lD!TPZi zFd^1VdRg2VM+Wp7CT70(eGrOJ4)Wj2VCunO|c~N;6XWbR}RP7|&$}PR> z?PC}W%KY04PkGgzr;I%igKH`eXfyPxEp=ndR>fA$+ZexH*;MO3Di_xdv09IhIYBO~yh@BBqi30%5x~xuZ?uKS zZwSP0P7->oC-xG{T%IdXsoVXh{_AN_d?Jl!-KdA-r#8goC17B(V$)I73W|S>Zb=ou z{~WT1WI)EIa|u~oM5fq^pY!Z12HNrb$Gx_HB>qeI2@VjdY4T;qXVcnObZZl>H`&>L z*B=_|-iD4i`OTcSO(B4X7m1=98M!M6O<2G6`XYp40-Odtg&7^ofgR(bQq8XZ^ zq(M-OqWDbz{;l#fqA1zl*&5^VFgYx{J8dChaw_GKSiOE+4{VVIplIHKm=$jq;J3Bh z5TW$DdCB6j8`xKWdsLJvflY1P_*$NKpYx*3@7kXykMY>MB=tWM36Zg+EJmhycf~}P zw%fFy@&&HMR2(t+>A#hn|7dW^;z5)#qV;8B(qvFA>^xN*;(}WA3>uflN}J@5HJrUZ zm%P~A|%v^VU*SgrG>g@D7HTDQ-trJ4HB4>ga9*TL@?x+g{Qm za>Q3^4o3s>6)lJnBNI7rYIg425F;Bl`f0%ZZR67tCk7wjWvikdVl(MY{C^GZ$zOWs zGwW`VL*se)W2j6gpc2>Kic8m8Tre(gOfNZzhN%owH^8?hGhe&}Hq_oFT5dD)%mht7 zyOMcAH1*YAxCnGKaAlVtB7gox`@DUV+CvHZ+4+r>Xg{cAMEZ?A)x6hwPEk|yOLy+X zfY>Yy^*CEU-Xi9QLt134{qB0F&zY|??NAiCAq@@nnS4n3;VCK6@J;U7@Sf3H*cWKo zL=wb^Aap5@tP@silF`aTWE{Y-Ut70dc)}CKHS< zY$_19xKrC$zlVM!yijOdGDu*`%X$35Q4sSSj2BqxiksG+U5%2-P*Yp+2(c;y_3g_t z%kttV1NKAfqNIEAOmi?t&Qk<@;Ok9xMo{w-VDa^CplPQ;1MSKFUYwNa8%tH%j{vz< z`j2z^%&8ovz%R+;z7(bss^PczIbkL8X6a{gtybE)WYPN1}S~(bZfrXs$8}r zbMl#f_z^Bd1c)&LWvPFMZjQ{hY7kZ9{P!5#9>*U>`Xz2Q3*xKt{oCUoy_V~d-wd&l z+>3&GYo_aVp0|P%U}Ff+rHA!V0SD-|c%TD2M`4FZ#Q@eHr?W~X+UffjSMC5D3f z|6B>@Of2j^Fr$I;_6G}`ri~{$GhAY! zWP~lG4HthAh@Ob>vhZ%B773-B4g3-$4qC28(|RQ6fm4aaJMenL%)ep7%#Itr3BCvvgi^#; z9M1N8`20^l-dIM=B_t@}K+qW_n%cEDIX+q#zmCw`VM}@>Z%(9WKjHh{3=18Jzc)zi z;R!iRs|9p4{PMWr_ZhFy$N8Iz+k*F?@4DVY*Y&w>6ycY4Xi#^R_+8YqV8GIms$qs- z6O4_)%UieNb$I4hs~f%=x8P(Ov%=?rKOmp7-|ApWo7gDwO2wd!b zmTX7v`QQB7dhmTVvYF`~pKPv1h=@id#cX`Yc4JtWFfO)5w{}vCE}nQ=U@EDgy8gr) zngm3kY-9LrHC4mb{J=phZglltMC}vPyfm8Z3obRiR$VllZBq-oJpDGw+#BAwbB+V1 zKd>#YX3iKalY6xX^$tksa3DymQ!wxh*^)JCBMZYL1cm zPs(QXxEE2@?kv5@)fm`?$Hp$HUW8c;PTG4)4ps9M_B*N_?nTmnRdw{;V0w-tB7dIL z=RqwV(>9X>J0N~L32Fl z4m)L*lF-BP2L^Q1C8|W3R;jQ6BH$yH1PXuUKkFFSVA08QW?`4^&z!U$1Rm8g`cbR4TV_s76|n zMPj*IY?rtmApK%=CtLzCuba0(>Bd81D$5-wbYl5qLT59|Bg7l(H>GFQsx}nSJ`qNh?z|Dz3jR;>jPcGiR{V{j!ELGU1dU!0z8%0nS|PTweC= z^|BiI1Bs6zkIU>t>6N`CE@|`CdMvTEXs8vkXiBcgAY>aq!_29Tp<3fd_c1>Aw02CR z#`$Bw%@n($IF2(Fs_fIl?>Hnl0f}YN-{S>NOBe(lGAwf<%uS=oSpce;v9FX3UL4_c z2RsCs_@SKL?O%>*-|{1q?S?vlUG+A+UweXmZTp&znLwiid5#$eSr_C7{K#c;t{9yD z??+tet9%#o=p4-_!Vs!)rX!_OGG#=l6oVCYD;yR*cAhdg{W4{yU=F zGC&jef5He<$5(N2C5IQ&ubiwHUVH3JlQq=FKO}@#?Sz)|^yz8Tp4&|Ab38{~mOOkb zKcIW}-~MuS@5DQi%KNSuPFi5V(D!wWe|aqN0boG=PWhT=X4;~{ZAKC3oM^v=0$}%- zvnA#WALlw7rpy2_;25|48@(=^aByeCW5^8eBFdUdhn8*NwSFM!39!gH6i5mAv21&^ z!-a)AY3fP*u(11-deJ-6mAGalp2h%V_EId_*A_HmtGG8JjncoYl%Qgk9r#<&KW<&L^`{-i6lA61+K24cqqMi= z`nF6%nM%x}#9nDtY$WrJ6TLEL|BF0*tO3ihW)5&$5UIVQQ|I?hZoW6h0pCJ`E$xLD zqUq=i=j###pKhlz;|R`SqJhO?=)&2Ax`p$c^IqECj^CRAhxVQLv4uxOQ~i^r)eo7T znMttqDfad351ejK1p6_AfswgCr3KLJq>?B$xR>#ue!X0QFAI+E?=37o#^`CdXJ19P z2!(o?tRzlkEF%2Sco$kdvM9^l5M?ra3rZ6*1pAJvcP9sx>x)Gj+7T$xj_Sd zGlKF)7oy%0U*$MQ$gkFbU-yn9A!oHsG!~Ci1 z40aC+Qyh?$(Gc>!_5}O{pumAfFc+<2#Rh#my6o)#4E>^*nLRA?DAz$`smkhUTwUyE z_n-oDzRG-G-AENgfh@KG_x0p51y_82KNBi}p8uEryDL5Zi-9P1esw2Wjt}&V(;Lg% z=L;zZ=`%t#87PQKdlu#w?&NJ|^eM*U@aH#|+5M`v3GlM`CxADOF1rPW&;W654qVAk zdq*x?c7I?fI;R(BIs^ozTTeuuFt!x&#LQ<_%%9H(|?DJ<8m`UVVi^#_5wq63!fGH0)P(=jP->S z4A&hR)FeWte&eNv|3E756tu_uFrl8Qbq-{$8ABD26aj&B`(=ymZAmdY9jxg1i{rE8 zv-W_Od~@D+Zl{8G93grFb(RzKVmAq}noqBreOTj{eN);rI!Md=Y&?qP+%`X!YkZ-n z{mz&mitDJ+wy$z_Z~$6bnF_rBy@v`Cn!dW!Q!5)jSlQK}UXdR%q&*)JDP`{ZSRd8; zqy9FF0q^4xnPi||J|>;Js7CWM5N0`6ODQtko=LSH)iade*HD`jtgCFM$w53l`*(w$ z1Z53ZXrSgDMk(uwKkP$T>W+A1^R5|nDFi%idfilzJJbzz|0$qY~9>TQKJE6e4tFw``ni2B^4a1yu+v##ySFJd-jmCU!~ z)}7zF{;^F61Q6wICA<4r*h5m;zV|>BFT_t*8fG%t4uBW!BHHob8Lm8!gv2D(9Vjul zS35`^WP3cwDXVhmckQ#oI8fScIKjnW1++v+cVQBGFt zO3CSI^Oc;GY-ck!`SHt5}`>#truYC|eHcCnu77cy6se56!eID<*`|oTl1$&B# zScD@)b9pp)eMmW)u_EaH;kr|vC?jFk@l z9kayH?IrkaYbvxV*wstxX?WTU1z8##jchWP$*;$t>XS00z!Rz23?E{-1?iLSs<1UQOuOj3>Oi~KbC zenWsXE1W}!&yL+HRlq`N&%(CL9*>`D-VO`gOBCv@(J@j=#aahi0q+u2r>S$Tyz=IxL7~s8|E|v6NE&GWmwJ$zFqwIomUj!>jw9&heSRFT)$MQY5W(YUCPBGYv8izC`Pw;7zX?FUGCgp z8iGF8L31)HIkT?6gFXML0t{9HGDH7!fgha6?l>*>t9Zqs=bf(Gl@-*eww( zq^h6H2Qz6cB(}zGi=O17b(M19KzbQ^H8iW5dO5S%x5!L;T0PF+mTD5`h?J zHSX^3e53fk&B_`EK>MsSxZaxYQejVKK~Covo$=Jnc9eT2lZK01w}C@8Nr|;QKsuZn zuW+vVjZv>ck%hD>eCN$B9r0J@`;VkQ=TjK%ioy># z8WN z6^RB?wpDExfz`AV601bR*V1Mz175J4R^fE5mO-+(tE!Jv@(M1NOJI+u)ty|eVLkTR zfY8q~x8nz=KZVylxg%W-jK-lrq)5XKN?z(Y9jPg$R)xJ>h$e~TViLFE?INE~6?WwK zC22tVZHUR<5#-28YRF!an|y1;YM+XV&aQ-(7Uzw8is5ArlvnKyj7xP5<-bYLSDY@@ z>A@jt_gWVVMxU!Ax3{JKanEY|A$Kc5!qT%9Y`>y+SUeICYh!pm~sK z@)TDtD;ccHkcII;t*Yt0l$e70SUDd|Y;8aC;+w{UR|NY6pVFUeS8ZsZ8!kwy5cwz_d4KUEr7n5c>0 z*)VI(B>)?1s(zN_5jQfY_EG2E-Srr-FlFIzO+IH>%Ln(kxOOJdRPb(>w|}HgXfi6q zbkZUE!AC=)afVgoVg{R2p$W`g7<2))UyJ3xhGqTnRuo3R?Af0-vBXsiZD0fkE`DkP zl1tl7O1z%>I7P3=LsPT41%Ifx@|SgYNaLiy+P#xzqNpT8S#5v*cDCQEAy$L*a?U`` z?d~x7My&QYDFOY@h0d>#Y0jK#8e?!=ZNU5U!TWh;=vTvUn{R+9x8G2YewPi=AFt|% z9ng~eWnFwq%RxrAOU4}TF%j-UxPImBt3o%oXV9{zDAB+ytJ>TZ)ouXg7oo0zSEw%z zRvT+Fa__sF>p$j;m0+}-kziUU)g=qi*LQ7u&_YeOGaaeH3M;iG3r0SuT}8?nwfOx& zD{GrXhmAXh-<|uY@K#e3#9$Be52pM? zj;6WU{&L|Ko@6Q?&ts1bN5paOL7=lq_tR8w(&7JR$2d>dKWaknKvxy7Mx(%|aa30_ zR&hX!BNdB{vmOBV#?J=e4{TcRl5S{hY6@f+;~+RJ)`ZyZDk(MM`f{vU@vj9 z68%hf9MTA-Jv9i<3_YuFPDRto+QQTveXq3nn5ba==5K-XWtUlP)5?I?r~CMK1mO=j zF=&+I+SEk*(?7Up%1;@wx1CNjO^NcoaiFrVS$w$f$|2u4yU=XL-WF4fU!Wj^rF(6V4LeE+n8z9czPy{WyNbPWarBP8{El3&*t*PR0`6{r6EzBomde z+x@a^gbsFm$(Eo@LYUzob)IaH;h{6(LyljqE+|3WH}0Mfa_Qe@Kj$&kZ@QwJ@hN4P z7%#t`k4=b$%NxZAi+d&SCrY6VY3bPsW}%hbI=4S|BBKJWcNVNqB4mlEo(`bkH0(pL|08UTGU$5umv%p zxYDu6m3iF~3x)(_Vc0Qi8vE5HJy0Jb(Ti#V8;UEyv0Wd;$ob19^ER(GdB;ru6KxJ# zZIh(P=Qn6c%?<>_L@M$Sg1>9mZ%G1CDhE>I2A^o^%-xu~2#SQx_;N`%FqD;LoB_or z(lSaePb^46+Mzp#pQx7y&SBuOJEh2u?)d{0-)$A6|B!=8*q%xO5+5t3Q70E$)9t)E zesQa1b#J!|XUNBqlntu;nXzyUaC3$+UR3zI8XRctRpuDpYb_N^Qbf5?1Q4n)FZqdzi($JgRi zA2e-hBpR|PB6*?cw?LnB_h~@}hKUk~GUbQ6g|E!T2dTc%y5TL$g+(#DISV*1Y?mwf&ZanaD)Vm7lOa4o1{7=_HH1qGqZuQp5&|~oG=)c~+;Z{%*Pk-=c z6Rg&n?|55G_D&_4{0eu^_5$w1&2%Emrql?n?e6Df*W8vUC$jocV@15D2v&Y%^6Y2s zr4i8>3wQQ}y9v7Nq3C-933J|R^uBUXje!DIrB~95JkL@KDQ7wMGHjCFE);IB%G#NC z8vB_IS0Oj=HN6?p)V)$t4T70{EGXs>o-n_K>V1`S6M@iDYl4AJ<}@DqN6C<$8$F6u zAGgl@%&>vE7?&Dkw<~tY*ohBQ>T-02-_ic^)#urZME-!=u(yzhgaJvo3Tp}dMRb~i zNP-gN8S3?PEhu_@50CqGS0Xz3wngtRu9AwER1sRkho_*`yIjZtLEutbEmd*hb{EXP z^bhnXb=fLMSn#zlgFeKt(H0Io%2M1s&(`CV^OK)YVdp*j=g2o{$*1ygoNA-i{0O)J z&`DiQKq$BV#;Fs4ZGAGVzy+5#3DZU+p_{S9jU%G|$4SbF^rC~~g&Rh%rA}+BAR~Ct z$Q)YgBx%U#E}XHVOWPkt#r4~xQRTh0H@1+6V*$gAJBd#ow1=wdUQ%CY$ct99l>WW+ z2~y$jj~Iaa5-PVc+HmQ^HXIg8_VhQzs~dwykGN#>sa53~N%`nlhsD?A^T`nLuI5(i zxokdM=4q^|{{#I%0>5cnY4Y@UI|3NZ{T2~*ZB(&iH|}6Ap^X-Dv9=8O^&*1zuIU(f zuY%9Qk!Mn<-%06NCHWTk|G6vdv0r2uyprdw^-u9|C?m zS?9%FqlV-6cihA^M|VlnkI%7+&x&~vc*FV?)KP8Ly{q}`dnFI!9O&dASu~~{^p|2x*;<Ah9lj%n20R<3EJl zxEx$J_-f1_2q?Z|!;;j~#k~ z44H&WlDKccfAU-zhjwtHDei#p7;YbWBYtq}%qL@QbwUMeS7L z5jeVr0JT3+i_rfOv^D`vRVl>RRZymJk5!kGW(o7RJ#i)F#Oe9M#hJO< z{x#~*b{4aq%%kcn<3co3^24X-Pj4hXFOAnsl*NEkoT_hCIhr587vTF$2=En#2ECc| zaG0z{l%7Wq>-nwmt*za)I5d}@L6ff$(Nkxd)lqF>UbVzYh~-;@)3`z0t!6!0Zvt&m zPR)E5-iM^e|A#c6y#~;$-c{kw1*QcXy}qD;U*B8`@C!_{v(2eNhEi*WIGZeMy1G`r zl#sAE{eEH7g;5fyTC=Je&09W#XXZjA-uEdaEtrqE;lqe}l-IJLW8IAffm|vEqpyHz z6$GYz&<&&qrF_$w~08S%q;g{0n1mydgxVp3S!5AfGjqm!s(Wj~PO{g&R7d z)}k$~yaMs_=A!TIx3NFinBn@V6CTy$w@__){5UFay_Kp$hY>N`V3N$rnOxn{x@yd+ zdWXA~v`{$#rX4td*spvA$-KXl+ETqBR29|Wg@x}R5N~dP2ysH6&>qgIH07&2axG4^ zneLk@E%#Mrm9Nsp*W*-J`Qh@ZH1Wl$diNS&8hJP>)q^ve2$Xte8kXKQ!<6L?8MBJd zyadgB>7Kvf$j&Mxr4yJXYISVlq>f^?Q%qTIf3F&2XC~qE56!{6h2sp(XsVh5)DkC6 z9|=gK=#_j$g;m(Iy%5I^SE9VcNAra~oH$;B%^wv(_Ui)t`qkuk$=$<_q$Q;jn6|YN zFTQXouDfvt*P~7XrkVXxS>?k6kE}EJOF(tfA3f>h=`lo<)Dz(&TBGJoO2KuP55uH! zS%`~kS)+A?x2$xSq{-UuY@RIO2FZ%|4&#yE9z-6&OP7oxSf6MEF&)~|q9dNbw0HM< z@$^^6;Qo7OI!m6h6J*rZH#Fha$JXP;lV0RdyP}v`RCABDpU(AKct)2D6ip#BoyF9E zr@&|f2gl;G(=z@)_PzozisSqLb8$CFaCdhtZZ%q{JB12$|JMCicXy$sN|hEU?oO~E z!Ge2;yWQRY^LB48ngsl$KNoQZo}|D&@xj06+jqL_t)fR)B3x|%Spw$(BxEz?)gzd89&rJOI=U`kjp_gaLGtx+SAdjScaJm^glC20M z0IQ~kO=(*J8UC4S#msZPFkz6FwmzZO%J{lmw|FNt_z|oXz%tv0&2qz6=cVv+A=&kZ zl{8b!!>~aVtM1NIl~?E#%Jq#^T;uuqGA~>;f^?#%hv2#G^X)t`)|KIj;bN=Wn37=|Ti?!@zxK{&n_M zz_eGI#o)0aqA^XMD|rHQt8WPbru8N;Es2`nLMd1%>fGjp&l+%zXm@HlJ{&QSS~7V6 zmqaV;d&g}Bsba!Xei=8jxdu6T?R=c!RRB;mH6B#4*iJ;#8P`!`nnaZPmgW>K(m{2F6Qzjp`{q6Qe7)7M{g$)SKj zay^-TkfuqmhdC#jYZ6u0m?m?7k$`$WD%aY%`Vdf(lD7$C+CGo*J*Rk-Jd<5a4FE}v zBKOaK5QlS*^7}84d?sK1bT&Hc5Av%%Bq z-vB)!{z{$qpWKhXHvWx=pb=hD{&)K5fh7>vg7eUr>S`M z(x)pCyKV)2=!=K(_MT5Mh$enT1D=r+>Q+fBE{$-t@TvgQ!V!wC37hcKBR}El3$Nz7 ziQb32INy2mo44@rkN-orX1$PJNb42`Cp_*?@WkFMYANe*Exvhn8vK3zI1ZCRCO>kd#YqBYndWcW^U4yZv)az4BJA9#RL7a%>ZA!J8l)%PeYj z0ykbX%GDOPNqIQi64RZzi`bdF!qoG1m^zH5(Bi_ClvkV#Y}&nqx6!ZwMUrG~| z=bQ;|3?pfkcxDFLvsm35ehExXTj^!X&V=>UG2rlCg47aVC2yI8{{A7brX7UWVj|W>ImQ8F;$btmiN{52HP3DVrkOJ{aqQa3upBuKQwWiUMY`b`sbUF+D5VaL@71%qN))*lXH2iedp5F( z8q#Dp$-H_oyoZiK*!_1QY{W45L{T-J&1s-BxtC5}Mn^9fm{!IBqsh3}*Ipn7B?cSb^B_EZM0Mrb?j>@ALVa+mU}z<`TN7NWeb8o`2>N(hUvUsM!!*M)S0WT5(T-1 zm~qttXNGN>ZYV=e0>RMVj^-iwh zRJs3Ez_ciDoT9C$$+L!H(D-f?sh$HE(pyEkoE1+#_%oLNd>k?D{OgQ4PthFcC%_V# zR$LpKjn_Zuiz}`jjL0ZX(&&WN`Vgu(OV#M?tJG1(#O&+>tXp{qd$y;bpumi*>>Qjr zm5LL`Gm(5I4_P#!CksJ!$;tXtI5ie6-zER_z)G5F71@d6C97f zybh<5xY$GhlmdL!4y_4x^flo)HB!|N_r=Xuw#MKAP3fmE?N^4koGHK1K<7cBh0d?X zxlr=cuiNnO%LmZ6mp_3?-pHY*E!%5nl685QU;;oF&dbKUKL_C4F`Yb8o(Y)i&Ua$* z`PMYF5A)%oCHuaMC?%3XfGwc}A`tI|GY(+1+XzM*(KDK6I-^i8ym&!XM2cpHhjCQ< zE19&2z_g_VrbPtnz%(hU@QXMpw}98At7{-Nnjk)vm_aj`>4-a?g`{+%qYNN50Y?dF zDUg0y1fv}}!L2yaj5Z_yw~r(k?VJ{6g3%;11*TACa|bX@>ei5a7QY}13+9c(*dZd% zJa62T_IY6j!6^H!XdXlr>a0UeI5sZ?o7gJMgpa3qBTxfU>oT^i{FMwonqhF z2|tz<+I9YtuV_t6IBvyTYprO*E+HDfgsqCoCb=t{z>qiDCw>$8CJ`YBlbGV5h zr@a}tfPY2&6E0PCH&#^q1OO%n2=oxfx8>Y3FPTf`$=azcm`Yz=Rcyy+ z7H6j6`$3~|UH@TvA9U;lf@`Q5NH#*7 z^1#ipOwQ|BFL?W+EB~qsN(*DU+2uhSvJsI!ku-wKk3hRKwxyDM_LmMfj_>7JoG}e~R{nBNXN<=C0HJB& z8Khb=@KC$EabAaWQ7^cj9+tluc^Qa3x``${8>2%^d#0|Ze=O}d{WtPJ*ACp>|4wS} zi^SsXORyw06kjuK#)K8Z|O4gGO=dQTEv7zqg$)))JRwiy%h~=pD+6Y?7J+G3^Q0$%P~PnK3UF%==eUA}CVTvNph7oVX??Y|lKuffoAB~6kp6QhYr-|k?nfq15JmsYA z)GK~(_;JlFejWTC{v3hV-^zSRsnY7_RC-kpwWtWk?zjhqi&w*|F&l@Crx-z9 z%PO+td-bfY5>M{M8Rd!HPj;(u(v!*9MiE`TsURqcw zPe=&zRxQOjEK9?lT#S^(6_tN!aq6I-fc;K?@Bs?J1?XwEO^ZYFmq#h=ABEB z_KW zdR#+Xb7==e*)&?|fHVR27t`O>cfyY{JyWJwV>chgje}A8(=@LJrap%(&%_+Pi(|i$+r&GBo%$sIS{c&p< zU^HoCy*wQIN@-A4*3y7!#x|04#7P~zxJxPvP-ddkvUBorIx!Omj;3Sl(M%nrM!+Ws zkU%UyTnR?IcWfh!JBMaEyEI1Q1`%5MwZ!-%ye^5Bwva0upW^QhV4BpUzP}fCFVDu# zH51XfLt~GVXVNCpq#w>P}qr=2_7MNhjf0Mqhm%JX!!O?e8RMUlaG(9HbSi81KWR5pM0 zvBLdybX^WokNcKw#s@s8(caGo*=pc%T^1!$Dh8&Nt}#u@<8B#IqCk~+P-Axz4|w+Z z=xdy*A&qGbxkj`rITiD+zYOR0?CNpjrXumHn^)qCq?7D>ej0#F`Pa3pfYMUA-nXHQ z%?x{ag;9CP5?Pu0#sURENB=<7r*#ZDEa1q;qTNNb#Vya}`m3Cnx6cnt<9g+1yGp-g z+;akh^<`ydt3J6HMIcX)9 znX}Q@L?EPN01tT%WGf4soH&q1wSz?nvw??2PCK`&aCSw7Z#W&pK58b?)O`5(p(BBA zViL3%0&;e|>i7sx*5gL*R%(Lyszo>4)PWk{r4IH!P@U9kHm({67VrH5tB$^baKBFM z@1&)@N7ih4O3Tg5#Id~a0B-6%1C1kE+rCMa#3&g zvDIXQmvE?xOqEJ}ak)h&5$xNL2c%9S#IHFIR@pXQOJ-RkPYRfJ`@nVR+H3&%&9i`M ziqAe;^9jB_`aRkbXjot+J?#SC*q(OJGHC1gUY^An(~xK7FZbg3p8ZtX*N>Wow&d=_ z#r4m{?Y*X=P5st-5dJ1*Ct($}2YtNv3p~~1Q4DJ{RC||BvvoMC7yWV(Pv8QV*S{L~55EWJbQ-M1%gD*V%YVO$L+OWc_s~1hr)_T@ z#tPKl30QBzmW7zS@GeA~!qGIK5f5$U)QT*TJ`&;`g83oBzb2xOT#NAX}MTurt`_NgqSk(Xkq&2Pn9OAr}GaHmaE-@#)C(fZET=v=Qm z>q|g}gOj$c=NE;o`!-_b+bc1o&k%dtN*Z^*d>207{24lgcX2zAPueIZpguP5ip9DQ z*I__U$}^9gpV{OPwZU5E-47(srCGOTY%Bo|)s&M3A<7bAkeucGkiVK{J0GU@D()GJ z(-w?`gXFIqC-FsI+QvSZ^I_h%0hSHlz_R~qYP;gAz`hJanXUSh%y%SSX-P|R;*9S~ z^V36>|10r~>68}Q7)I{B2~5i(Fs=JD@SX6yt(+AlQd+{b?5EL}>wZ6f2J8GcVXEJa zi;tzx&m2imQEi26vRvd1;U6O}2}n)+3i4?3HW8+d zq#>gls6SKkaO9T9*T1c|8QEDTm%2th}W2S zjjiA5^T^WUxX0JEz%*4x68FT@&m-^kY494@o*PGOXq&63ogCk*XLXfiAb0Tujk~s;w)kN~>$x#XS2>d2xhRp#(mx zT83e}cO$Aphbq`ZIkC-JMVk+*Rpyuw5^q)nAob&K&IFpX>|45V?RcD464gP*)m z{#qd0v)pU!Coj1mXgPY60MTy<>LQ@U({>7M{b=4xtC8^3F$4~x2DluZHnv_W)h*#{ zQFIy@-srK4X{KmrOvf>+Vd$tZz1r}X z^2tHLQ+tcB;rLBxMALh!UbRu4s^lrOl_}6?-^O9);?rnU&sQ^DS(UV^8b`Rtmpe^j zHZz6boyVrO$8c(p5?2#|G%X{;kDjN{g)$^97w>$u7B75!6ypX5Av;f&LZrks>qL{? zlK4FAoH>qwp#~aV6o9T~OH#Gmgr-v7X@Bp*OMJ5hqZ|6t zOlQv+bZ8k-LNl85OU3II$tl%`l_^i7#a3S{0yaerA()^9B-Hc_Z%lB$J z`THshu3c=w1ra8Q$whZNKl1hw&I2d3G2ywZoZC87{J8U&6{`C4Tq_c;Xn;1+{8l4>d(dZqeLng2hIl-bZ~|SZhB1}n ziaWbXdB8Nq_gS<99G{j&EsH{Bcb2Afww7@)iYgyFMue2u>{R1pO#;)Tgbls<{gRxH zjkjOV4cgWoH*PAreY!IiPaoTl0e&=NFO6LXoi7K9Bit;wA-W09YuXwGvhc6*penE8 zM?N#GHJ6(Q>@!kFe;;4`wLKQ^9omZ?0YN;&P~4XUloreny2ZI!__6;;bZXd?Cd+hl zXBCryfFW*Fh&j|3RxhN9_I#RCtlk>sLEC22W6SDd~cCzxxIi?Y(Ndi=E*+`5Cu z0*9o&vO4>}tv=o1P*?`WE{i=w;{ZB`P7JgCfg*b>vVkoh1re<>#Q`3qf|_Q#?fKVx3P&1evK z8MR8+Jjg|O*o#`*G795y@32{DQJ?!x<-L702eUztqMx9|C*DZOz+-7dt(POS?@ZUkJ2S*O0bw-(vi@ z|7ZM>_6ydHT#o@Q`fKkJ&g{oCYyS^%**noSko4z2Uz&^iVDvkPA~5ZrO>=SKKNnzP z+$}e4>5HN_fl!5SinDz{PZ~9j(Y>Qbi55y2Hl8(9S5*o_08);iHGsb zU(eyY)4$-n(2>Y2%F@==w9IShN2nD{kjsMfxmbS13JmKk8f`rb0I2{@v)0VU#Xnqx zp)n%~^dmTd{oPZYlwA5xVPYY6oY;y-#ypDG?tfLQj;incRSR(56X)7YaS|-zP+xiW zCBQc!Z#RyAcmj>18`(i^r;@myeQz_Gm2IVwN!nca+g(oJ!O?#8u;su;Z2D+3dUxu@ z?*I=yIAD`imZdaLc;pFc7#qRGcmWQ%+p&Gvo~^L3 z*@BgOk$A>*N(*cZBW0pSPHXB$c#r)7K0~gR4HA9wSz6q>>}M;tW$v%A{&)v1vkj-h zDlQ0?LXZ+9C^baMiaHbC7)D~-pQX)dCY>55U^@3|@&(6G%8iocVrYpVPTs{3QxqJ= zO$g&bCjGTwP)w0Ax~8<^Tx>6$yhyu?W7%pJoW?n)e;6#A*CO!CMerLky4Lv3^}sY+ z2T%O`OJv@5E4)V##Fdk4XFoeb=%hdE*YUl2R#%B2_u^C^*CvYuT3PlUfr)0SqJI1s z;bTcux~c-ww8$zxzd}=I{*5J0#ruj)YYhi64Sk~NJM11oNyz5cDw5{DFj3+qt zA-eL@P1thBK7I8~;9 z6EMw0a8usaB0PNX5;SNTMfuD&@}M0l1qhh)*G613aX!Y53P)Zo0@D;IEuNsXOCM~B z$Df~w;1DiMP~D3+H)Sg0R9hU{pNzj|?17K36-$@w!SZ=YXw|`A6A5Nf-J%$^GKtq< zSOMA;=2L?lO+C(Ee-pyPd76dt%#+4VRo-7_?#5@o9!ARs{wNfbPYpR~Vm}`*WbmYU zfWJ4MxvvM>(cGfA+Fle_iwZJCef#4kOu2nK#+)0BT$+g#y49rfqY22k6GhlD^FlOk z6z*|+rsUaQ%MWAX+q=-CxxY(*Y0?Veq|MGVh4{ZQ(RljSUiM~@CerzvW1Ma7VSic9 zjp`GX0j3#~(^*621T>mL*(h=%uh5J;F7AY=Fb+&MCp3{_Ri$k10H*n~oTsS`wjDKM zuAO!TBEkYakI&fVGR!Zc2C}h#S-7BHbHKD6oChwr$s27N$>xw=4%OCpav3A?Yk%;A7j_#p*J=2o#vXRbCARuC}5Sd`1b(QqG{PIRvPx2wuhQ) z&)mNgm+aeyivj|XD?+Xgxq(at#rB)Vd2g#7`Nnaj0y@R{fhgk>N_e?$7khV(NzHO%kpw?_^R8` zygm=yvF}x8{#a4^HT7NrZQf7ag8TB0Vu+VNve}E>Dc9UqH)%{Rfu!4jX{Krd)50m+ zwsVtiPRGHxpjij4*tz7>`!_Gd=jn+Ar}?_goO2X6e76#qwzT_5jA%rFE&0n6foTfh zwDaT|{2G4~4=wfPp^wrxKHbI_6(p=_Oe;EuF7+P^Gi;$8(2UGekMX#1a?Rm}F`VHpp zn^G&_G+l0a5m=l`P|BZ(q*+K$lV=LxGafflyVml&=^Rwm!FJz-v&(k2N%w|5Mv|G*EGQe(WKwpLaQm34XcXB<%O{)i}Cq(w6OUGTRfw@FB$lohpzKSP)dmLRG_e4gKC~7I`0(pvkPX_t8 z`_1_5sZV*pnTjts?-J_;YqzY$;QI%oCqdRJ1=MEhW+!doM^NX!>|Hqe;W0FA(8S~9 znVm%PO-K4$*L@7@?z@1%k!&m(Ki%vETy0M0=G{i1`IGSKL-T==E%ZzU1XO82nqzrc zFKzM0wr9mOEr;V^j{O0aU2kck))dS&WQ{pRE0s3yE5kk%8>=bohsdBOr`u$?7^Xo;E3` zkP(xVyJq}?-838N*Lwg>koxKXH7-hM&RBV8^DQfm_;d5jl92`fwk}&?L8%}}y(v~el#;Z zt8`SHvhp&9Glmg=75Co)OyfEXim1LKq`f~LoOvmN2nO)D1rJW11<P=xBpVY5N_*y&%iu?oLh1uhc*t3&+95497c;)uMyuXMSU5i( zTbHDxQ74*@5qo?d;zY~asojMba%m*K{O)=J)M$d6or`lvk8uhxv~=YmJoWx=bZ#C% z5KZxhiaRSJa!5dFX<0>R5aoww9_WpR4MNCQI`6wPZ)ejsmgVn%c4EQ}8!>uh5b|me zoF*FsX3|7VtN%6a0@SbPc>qX7#|_(0VZf7H(W8YwQfwx$oox#Vr^YT7N1ioc8c$um zdVUNZozhbS%Zlu*s;pEps;a;=RW|L)0?LMh)oQ{W6FSjMK|r$VoZ)c>{iumm`i8Nwf;l zoA~4Dcl#iiSWQI_cjf8obSaKCK3jLJ5QCQGpcgf!C6eC%0n-{GB9M!Fq)$bCz_Cpf zO%sxIjcFaIR!{VJh<{a_SbslA6@=#pd*hEQ8X>@!eUk}E-|!TtVj+Acjq|A{@{eL5s-#AHy);~T!@=Cufmwn2xN1uRh$pw z=W?SVgeTG3YOjBf_az++5cvskujqxNf zG33}y6Qf(Mno9G3JaFe>e5U9jx=Tbu@AQmaxG{S#hIs`b%P31!z`A_3HI9i_s{qpu zP-9v)HSASm0wwL6%Qg+=2K)NK6RE}4pTM0WYCrP9@)P?pV*66`2?)Vy@|-)iBO|#9 z7gvyjxIX8hd%eaSdp#SNb~I%#rft0vVZI$XUeu&1vWgkki(0Po&1q;F+7H+E{y)wq zE1o?X!D+=gSdm3@jEU(du8nIY*Y ztyZ-KP7~9UqS?)lCTi~=^({gJJu=CTM=-jq5=Urxv zr?PXiamnMCW67yCXdTdm2j*<1iw%{H^bJSc!Oi&cuCH+OWjAT*$!nPpe*Wthxb2gv z=+U}2QVR%nalW7gHk?fkST7s!0x} z=1fgfTFw%hL>vWEpJ!oeJxni-ltpBP6LWlf`JK7p9LfmlvK)&iK<#H(cD}&6GP{uO zdYLR4HhIo6kY8)ndDB8s`bPL(w;EpU2%K`LL#>vrGMU@TZH?aw%S!`kGV?-yM04CM z#R^lI4;N>T#Ul9oJ@9VT zzSj87<-jxr7)oEZ97!WbzNs8E?9N(*Fb(Mf}FHU1#s`oEiwHP6< zyoQ+j?xC4tp86-#$flkrIAd9luV0Ui!gx{5;M2A_tObJJ6yc~UTZtN#6^H&NSztVw zi16WqFzn0E;T7PCI|ce6lNlR})Q>-b7qz}=n&v7&qB4X22TZdM$i}{=SW5W`{iF{% zK8wE=mUOhHroy{_e}q5x92amZ{t%bAb;&7hPkUD#!aqaTAZ$nwESbg{pIut5?(|ky z6+*>QG&5d}VT}HcX-GJupSo99m5wo-dM8(LlD@cq1u%`35nx)uelr@J7mE9Sx&%H1 zQI#N)UfnwVtAHGPcOS#ZPTyg`s8CH~nsM$^6BUrTke|O7&K%4`w_)}0)~DA{Q<{J) z^ixSyEyJwecH-c^bi{5At}(ty7rTXO z5OT7?CAg70D8wTaKuX=wv&5Fl=w}7}AZ6mw9>?BT39`lj38BjKskws)1Q6e0Kv~!)c3=86B|&Ah_SbLMhmHNbIXY{ z=)H6+x)H&e;zoHUR4E3g#Soa*-7e46*t3tow6BhwMmP^N>ad=gr=_%{OdkZKbWhu+ zr2x~i(C4FRIFnz9P==vMbej{?lA?JlG$;_e?wo=MUKOp}mZ^&qw)0uy3H08w0^@1Q zGfxJFI_MNI?Z?(#aZS5!PSaY|@tc*4FlF<~62LUgL}q3xHcps?J}s$H#mVnm)y`s0 z^qxPaV`0)sv=B3>j4wPY6f|BHIhDV9cIN7>@mUdC5coFz%9|1D?|BFAR6P|iZC=(v zoS(U^_JL^?HApG%rCnwAA|`JGxWAA^jcGYFX&CS zkKxNr*KzD`z(z4^{jqKo(n{c1AWi=6MW2SZ;DXM#IW5Pe`~tGoS(4uX4j+?wg*iw# zwH@&%)*(Ib3}Ql?Q>KkZ)2KEj@=!FA^z7iYAe!|w%W(krJJA@ITXY63!iV7Yk*|`+ zJ?~pU0i5Db$K&c{Q_#`BEzO$~0BIKhM(JOQ5HXGr+G`1~oOp;c`pGl>`QMxLlDzV* z1^9UQduUz1wY!_7F36)Mv^;7H{Ce!?Xb>8MwA?h@v*-aNeY&pSAv z`s$IyqiFkfAN2NX$F?tVEX0izbWhU45#IcF@W>Ig3u=XVZ_Ys&P2wqF+TKI^(BY2u z=-Q~KW&&1U^C(%CNZ$y=C2YdF_t#-Sj{)|1TOm!b-}1s#OyBVh+J|*Up1E|;OUcx# z_vG*8hkd#GabffGFyn;IPL5JzpJ=Bd zT{QVF#Stc!YKYTCoPO`juf(e;PKmS`*hHSn-U{ET2jJD9RSnR`nTk{)jN-3Ddtv#% z@zg9P+PGxgJUcBTnT+>mhtz$HVT||2@Q(i4GuH{M1yq_9-4Ymc3FlS96Dp*`m4`(j zCORW%nUCLoB^LDg>@rPh#zM=z%qzrk94^+JHi+Of(e5YvQ57+i7TdWWnU9(Ch#3t* z@aK!*6<&Lagxm&9%Z`h~sh&LvOgoRjG@|8glWEo5Wl_rUy?Rzxi6{5cP^Mrm2<l3*@#WDt89Y;|!}+A;|dCp1bucn}*Oc?@}b5-7iebj@j!pFMLY zb1f@8{Y^muC|I)sjbC{c10H*{#K()1sn>omp&99tn~;DrtcO=Lg@yc9cMlnZ1`Ih^9QPG~ra9 zGt$X8Y^Yd@M#ig3&oQogR`2C%^i%ihT3R^uPOjoqnf?{PG}gz9+AFfQ=A*~M%`o{j zsx4O))N1P)KXyJloP;ZSev6oHelS--!%($qO9tTqa}6w%M~yJwEu4hLO}JR;s6KQw6+%K5#O+I#9|XVs@o(O&(o`)c6dWzdhUM0;S%Bw$9t(ZIB3+MHv1^{MO(HSV)rwTrq zXU4s237`w5@NOq8GJg*Hmp+y6e22`s^MoByY zddygDK|(4ItrDnKO_ndMc$!}TE3l4he9!kW;hAeaZ!=0Nq1rGp%Yp{~WT7<)DDuo5 ze5Mht#(wG!Fs(Wo)1)0DImg(^@%arRE&n%K%tYz3p~gt*f{YX>VRv#mIxXBt0HhDn zSrK>gSurq8X-w1SJ&Jw_1g3pXU|M9I2Bu{bnD%vz0Mi8cc9>>OZ)w#GpG>}nfCG`H zp5@g1>_|o`My_9ojy}|0Ee&1=T`@4N3xR0@oODh*o$5GMT1m0~03{lsk1*esXn&ON{Y+$ydjDIC*sahWO~R z8>v-<8;4G&Bl*=Or+{f2b5EjQ+J@Q(rd5(S(sqU9yA-xSQ*PkwCiFFp6DPkM3tG~` ziOkVB1*2&^F{tQVTQiu}o}rwq#TVt{g_zd3r{e&GQ6s~);rsWi# zM2G0}aP!a?+>wRb(^T|3k$w`_F1Qi(eWEn&Wm-oTRfi7OEMI0789#$wy(r9qo2j|cRi=2 ztM(UWFPnplo*s{09r_}vAjQU~de#zGlXL72CoCyA`hGlOsG&%K+K!(-j;41vMf>1R zJR~3^v2dPyU8qkmcAnXWM@Bx1*B*S;y_vZ?bp;$c5eMsnp4{vh#mO$!>buObHN`QQ>xKie4b`r>I{y9xDEqv+UhK}iI&oqf`%{l`U=f0-SH0NqJ|H zXNx5?=iwtXApIR3H71$_uqK+)R2?0|RQFlYi1gFIX}3{xT7Nfy(`56P+T*X1oY*vUXIr9zK@>NGN&d%#$a{+-X;X{PnR9aLS<9ab^F>Pb%VS$cXlrcC?>IhjS&{N|hn6j#+#M5=(V{$8AhRjV(@ zfWaL!GkMoZ}@!L3Da+#dg zs(aeLDx!$uvr~y#xZ}xn2&eiU4UpjG_V6Kk;wa58zWY=!bmikCo|j9t7l7au;<4tL!;$Rp=xigsyP`4~h#OUW&wrYLT( zRI}Slbaw&M{(sV#CVjp^05{k+WZ{$7`{4F#2Y57}Wl_7>R07jZ=Te)6fYYkUXQjze zG5?iDuz1&cCcJl}H_Z}PJf)R#h?v`b%!+frHKR8*x)sv1yyA&yk$6cN&ecP(y&0U7 zwhjkRvwJyZnp66xXiYnG%8IvES_K8^upDn#hi~$lhSBh zSN)VcOU<`p^t>z_jN^`H|1!^0IMv>rQz7{L4$EufllBRRPoD zskNs|>ROybHTStSz-^r3Xik>ws_Inx3K0DcYIS zQ+=(ucI;1~DL^s-dOFjeWYs#DarV%(QE&esbmialtQ5}UyeR*@G{BpYx2jqX$9TTv zs3dNzbq)-|d}>S!B{)@=0`ADoF?ZKKt8y2b3otGAL8Rp$pjpdc&H-GsCs5_$3MkE= z8hnyio&Zej^dj0si@9v)WR5f0O5L^e*q$QCIx?5)$VDB)>D2K3{a4ELGb z=zIuDNy*!aQLUfE#l3HFDGl6M>=H>U+NDwp*)8*LC(Q^-767Ey(<>|WOA9aAss3ks z&-U~u?P7Dc;fFzAU|`DuTA2vUcflWi2=NZqG-~BgF0~DAgEz*!f+`U;hrr&H$|4y$*wa9t6$w zCrwR;`_SxX@+`dG=M6k~(F5dtny)P?z#~6Bia(CcL5INB>_T(JI zjcu>S3s*j`0s35@i+fX4e3n;`hsht^jP<8CBHFJWzc*zR@>EBY)zsLxV)atYdVChf zj~vf6beoA)^5b(KKac0QPu{HD_lZ&iWMN zHmaVhO@?s{MBXw0%s?~0z`qkrJ>Gz+<2cTjI6JeARTNBB&!W09wK;+aM7<2w? zyY+IakREZ>#vGPAI}?@{Z>Bj2E^ZRIY;S)lC zA8S)>=fggFW)r+e+>hX=-qgNls-0#P6L38+&BlO*$;mi2`XV-_eEyJVHo`hI`B}ww ze6ODESKgQc2zc4DAAt`{M&6%uVA-(&G3(YNbU=TC5_EvqSqWFxLzS0T)#Or!5{?X7 z*5toLxC$Ornaz25SohrXIQH7BXmrng$UkusISW?7r*mr?I8BwLf&}HYBA8=P`g?^0 zA$Qd>be}mB?Iuic9nBo`a_6&+&x&X&^3=;jtBddu@Sd&Rs+IMBz%)A@70(OjDV9=x zLSyBx=xuy9(L}6eV=MySdK0>oyq+EkOw;)+EjaehY!2s+ADf_6ulG=2|LO6 zTW*0FH@vbQzaQd)X&@IV1(i|>C!vj^LZ1HvrtuqEn*~&YkPbnGeVYe)WBczJSh##N z#tiG^k$k4ARmh#d2fj07Ya-2#Pz%3k19P*#AjHmO<3Awr|SG($c1&+VCJ{60Jamv#^LXkc14JMh?f>#>QZDVy+M zhyZHb#cKZn)12?Z?EZ-1`q19gbi6xy2<|&~WVODNoX^>{A%&M@oXO@X@!JVZJH!pp zV6M%$W8AE6$z2IdE8^g@EI$YPuDAtlV;XTR(l<6MDx>-i$SW+wt-npf#`I(~@THbH z3M=FMRHdWnYkZdb(!#1R#;e2+BA+d$X18g5hGFuM(UfPpiAQ5NPq`QACHnxUsWGR2 z(sIOb14-&Af39|trU24JBiL>+RmW>9YHKQBZUPw7+CTz1*%-2ev6rV&Z=^<|%R$Arq_SY`-AcJZDw{Qj@K+va*ygVVtm? zCO;-K{f^v}EM$3QYq+d9d{r$cV7Of@>qC)^@J63;Zp)`yg{)*`3u*V$mgjLKV+{|e zh-uQ28Zs zHC9FW@v7Y#d$)KPoenY#BoA%L-GQe&K7#9dU84m!op~C!F1nMN?us-}S^?WFP-O^C z002M$Nkl@)fz_JTOf%mAZ#` zhhTon94x$KA;$C^L+#uJc<_h+VbRHDXzbsR<6!~9e8Vu8;IuD>eu-Pg5QIQ?IxP_s zzb3faYJx9iu|<=L+AEj-2nB^+i!$cnb1%pC{ zXl7bnkZhHb5KeXE(8?ubg=pPd9k&8|-r0lpt=d!GaQ&HMWd;E&7d$c^+f#QV#xIJ8 z_v9!}ac*)~&o2U7X~y%r2fxSl7hk8%-DLk={yzNSBiu9XZgg+aOVgHDxpGx4bd;25 z?=z|XtG<-M*ArAbN>{}|ITD#gRU65Uf-zF_Y z=B6BY*XIc->563(O3_JPYxiVJ6F0Fclwr3qDRWbF@rTvNt_7a6M1QLy9npQc3-&u@fd{?P^hq5s*pL*UnMO#sK zt{96RL)($fJWrFAB7w|}pMT;P%=z>%n)C?ZJdX8M&87mm;VS$kAA#A!q?8Yu}(B9)bvjl0M@O=fln7r1T=3(=!5(+|y4J8LABK$j=>VDtWSJUm`kQ zvH&C7b3=*<4);)u8&YhKMFghJ`(Yr?9n+y&{m>ossBD^#ez*~@uSr2i0&TN6rd39q z35|{6<=OLqX|`{J$`X#@)n??OV<~8L#UE%<--jokWm-@@?vtrSGXe#-|CxoQYtF-n zfvr8B&tCe?j9>Or`&UrK;IGOyg&*h02{hq;Lnjj+yOawbPB=B)UAfbOVZT{$Nd$pR zPVD>(zl%6_7MLbQkvIZ24CHR?EyKMK%yq?zKy4z2eOQ$gj`<%fw{X!|pRY=Ku5!%6 zt}$)>onGkQ$+LlJLYIe@W#jD=Md(EH#M!cz>Cvugz%*JkTR3WrUQ?FGr`sh-?$Bsr!=h(f;?-sE#R5$)i5!8gUtBti7;42DXvSLhaMmG5b3G ztZ0)*;W25^M*NzVg|_UZxzbtPdu{+ZT!fF#aNn|iUu@s>BjRGRjza~Fs*u~JTH!@hrb0pG~yy$+_QhB z+D*;FrmtOw8#gS$*wB(DJRK{i`myqNd{+KtT_wB%rv1c?ldJolW1kC_6{jxytFa)> zoR15WS0IZU&wi9Gt{y&xZURb6=0eJTrhXeWUF7rro1zSKAs`}%dD_8gP7+LjY5TaK zHAw@ewbQiL6fsR%#}KV%zOoU{G|7olo91WZw$6t$k_$ zIVmWeadcE=7tOr+OxqSj59o$pF(JB>8+p$)Y=vjLjnL|&?P0hfubN0wtvSu!@fo%x zeu+@uHU!$9wYXUmMPVK?w;?F4Ac2~U&&B0E9*4hA5c_al0b`NB$Y9dmzsG)pRY%@I zgnt))Gq_J{nt=4q)Ry2q;bfXYrZ45$#)_hyC(3&1AVWz1J|HA>JPI zI)eRzvHtLS+_>fr^bhW#oA6{?8=cI}MFUr$cL3fW{WhY4qcC^VTwE~c0*sHGK+r8W z?j7QI!<*)4v(YN7B|e+`XV=^$I`3|(Yk6lW`+H7kh#wZ*V(cmdXwoy4;cq~zC}i*!6jC*!3fKuzy3 z^w*QI|Jq1we=hAtg^?=(&(`cXcy)dfzL&mOT4;~-vwZO?tQ%%fOIb_uh5+G95=xOk zDrdZx=hB?^Z6R&Ixh!H@0A2bJm=?&O6~yLuyD5a4@B*ocP8Msm_BO=f{Dd2pKtraf zwXrSt5}-6g_|gjJYCi*S7K76UvF=puC*^gZrSsWyt;dh@c=vkvKl~X2uAR#CShrg0 zqpk<0*(hOU;~jtSVHC{x2VU)(5;3cPAXLS&`<1ror#9OrD>jF{fNJQJ8^tG4jj=?_0bVL}2-K{i#3Wst;a@Be^lx=bbG__e1xROuTI{Y=HH^H)~-&j*&^6pnNH2JC1I)@X*HWP8snVC!)V;bI za}YmqGPVd{?=N`=b zc`w4Fx$z+?Sv=9P*nu<|yJlMs4jr6=7A+fiET0MaWzPBP2eH^d&3qA|K0G(zhIXOg zp{PJwmKh(tFaS*&h1Ln08Rqs*bE1+d-~F^1lOEfSvHgRPhIS)3Pxea6DWha3 z<&^V0Yj;{PJ>H78{Dg9)LQ^Rht%GBA3N^YttE7mk8<*JKLwdn`3IkwgXRRgBUv^0zdUAA7+7$L%V)o=$=3ee`4Q|LsX8_yzZJXw|G_^E^)>}Q)M zMx%F=zzX|lRr08jIMQj@Z=YGY6)zl5CS81xp(ZVED8SjkG+k~eeovq&&(Hre<*89# zKA)R$eP~B=8veQAGMwL|i^q@1l%U ztQmg|2DPO|TMq_usQL>??2e>Wm`AM>&ADmmYS<80oshyjI?(jp>)}1o!C$myS!ohA z5qD(7k-sff2E>UDm+J$XqP=eCM53HaUCtE&T-}K_2_@(9MQgc@- z;#1CGO?nD;RPlFHG!uF$%ch|1dSW z%}H5=roIg|GoOl|^il}Ci0k+SZVHHO#(CeNUT{79wc&3}{CxsC)$564MQ6BdUvh45 zrle}-9Zi|G6$`J?wWej}X5z9hufoE#xoG6mhKDE$w0IF-A=sa_6Fa8vK$qrSv~1s* z{VpEd@(9L+j@C_!>Vmyp-R$jRZL%I;q&9Pc!vZp!4XWuRS9+UpQ0YmDI zATW(!!5VbJg|g2R>>Y&k!VK)l-lFdz@mp;mO$-V@=9AZC>@#w2X+;bo0CIK83cTF& z6+C_uwNSCGkA;8WvKKBxul9YBT##BKx`5I&lduE<`E!oC;qBF^$3q56+uGq1 zhtcxRmgp4Otw!k+=^Ku?gPXDbz4hqdt#St)N>s2eJrIaynRh>s^fwXyEhsX$h*T{{ z4ib}~^+pnyb^*1f^=G7T^BJrf-NQaQCa*of+-*}ZU%6W%VQyWby4*3i|V+1HfdU@b@sj8#X zh3kJaK81DOyD-)7%*pTB^D`rvjQ93*9B!zDlbSefgd08qrZCctnyo8b{A631f(cC1 zXll&Kb}#e#XkwRwLfOW=m$v2A6dA+CuPBF7)ZnA4E6Y=C*0Y-6G?|M9M#8dsH3Gg} z0RQ1*Sy%E~EsdLQ1ExtcoqXXXe~nPd-OoP_U+&oLKT8^GT@3U z>qAdXI?SZY`j-ewd+`MwltyrxF9n{|O^eU+?fZKc;wD^7ty4T@l9sMBizA`5(1xG# z-uwE(ykRp&9p8`8#*MVHmQ_weigoW+8vsl=^WFC}O}ZLh1Pdz7eAO!Kf50@o?~sT( z7wi14SW5W`jinzLpT$pe?2{&*EVdjyhVbvcgKx{06m$$(-fo^PYF)j||GzcZ_v}#w z4x}bH+VCkuve@aN9TrHnAZ%z5LR;~)oP(VtMLTtsdTaM2Q^A=+)Dz*Sx3>Bcdl|lOa&DHJ2v83vgylCI=9Z#zB9db(WovcE1PfKR%=>F6exI=e%jO(My{3KyrrDXS!gAH60746IZr~r;ZN}zf zlhL?IluKw-8+Eh|o0#_FcKkf|B$`J15yas7cJZTjyo3|^xc`P$n0P_^I=6vmo1)3| zu|lW%LuO_^uD)#!61kZkNC27H8Kg;tsTT*3qWE*8f60zK#Q%LRI(3Mtb95^%ZTWW! z%=gpWeYp11{pi`kA7?lgs3pR)C3(q_N8XDwHjntZ3z)Vj_9&LdokBz~=f~A-SDC)w zKA{t$!UC!#CzPfRR|C^zQCc))9Zu!}qCYQ3;|BbgcY(~;8mxwY)U@)q)fU{c$byml z49KhYJfpZ00sP=w&d;v*hkD`qk<|D_Cah?Bp~C#Sie*}C!DyC=(;}yw@VmsX3@}Y4 zEPaa#Dsk^{6JjEr0H;Y^7%7))htsGvEuEj~6x;SWtV*{!S5efvk?9|Lz&TJ~b@Fm& zT-Bz(P&Qw+B_BPhnJ?M>(=&HgiD_3Jm?j0%_>8>sSnB}PqvpjT5~s5BMUgkYJh-zr zr4Vl(%SS6}mFDnJB`4)!QaD85^U13kp0uuS)Y!8(BMV<2NklkJiaII6TwYR5CNfojHt5}Ln<9wcDjKWU z#;l~QEcE$k8qU!4X()wrb+=Q>s(_RuO4j5^llZ$Pqf;{;9AFt_W6sl@D))E0c-Z2| z9$dsz=DFIsW8JDtF)&Tnn5N2I5xrHoZ&xkC;5?}FCR|%tsl)JOT>%PUmDxPcxhZ4ZFFe?q)E}4RE&04a| z&I4PDQ>=S;PbaU#iv>v-M01t8&K1{{F_6?>O>=TvBL|{K0L?BLT4G7|VT{h$ilJOE z$}Z6=&gCz>5YGj#PSj%5n`6^REH$dF%B6+_>1$kTZo_b*Jx)MsV)C;loP6y!;9}jT{46Z!JOpE#b@X`tQvGAo zk%gE=;7){pAAZN#HjG_LRFU_-{NwsIH|}L0iLK5Y^tSURm?+)DHGK0)2TP z&xyV({3ZXqw2jiT3#`J)d`tdS)h*vO6Tj}b1knK#2;k!c-HlGlO5K9UDBOkzMl3+n zsJ0s2JQ0|t+Vc0fKk#V$^XMDcP17FbYV!F}JJp`N{kW&iZMeDL6fODvN&E5H<}VTL zU!Q>1;#rRHL7q7exA&WhhG7kHIOPaFXSgsM@0C?H;UyoAGq?4-72$#5SRKCxGdBE! z=wPNVTHrKSazqpU%%-)Kjtx6t^5`2iew`Eh4;IBQruO7W_BlPC^pD)a95jt=imBsn zB{ojslF^m9iZV41Ex9{qIdp z?%CoVJtT~MVAPlFl;}u6$idJfL6^~m8g#!vv*(8GJLUemgTSV zL;7)QD;U9t>W-h1D8J4NiK8e?qFVE7Vd^vmrj`SFB2vdnXd9Z6G5M!XI+>HnpDdKo zS@SbtiC;;8+9$9cn@!*niylD09koCf(@W}IO{aiq;Om*OEH>$7sAkHw6J6%J zG9O;}7p&h-0vZ$iL=Al!(^aQL!Z+qZm?)Pp_*`vHt+khu1Hx9)93`$Si*Epx84+}5 z8-_%kG znTx#FzhmD&LjJ7>Q|DGhMuw4jc?OI5OS$$J6(UbQFnBM(F-uksEPIX;^m$s6Ldf~! z(d4Qt(0ueLgf(rd`RU*}#wg}`&0l^*+t->Wp2XqTUqjRT9-yYQ7wn)klQ4vV`PaYr zGEO}GBs9%w*%W{kb&666$xNj#{PRvs!N}N^2y76;Y%0H~Y_CLZ-q`4q^7r4!`fC=v zqPY+uTJ1`qb)|~=A23blJrYgWNSu&Vv6S*N`pdm?8u`h;RKXE`$yVq?vJ@3T3gH^eJze{!3qxjd6?nqsyqa#RPPs(q^iyC@LsI zc1jLT?n*-ZF9&hr>m&sCAqtC`$~uCG0Arh!Ru&Vrt>tYfK&!_ZVbBzwiW2~e1Y|_B z$%@?UeEj&xQe^DQgHIUSOxt--sg^7#*J6;LP=qEEB5}pz!{8-m8MO^5J)8g$`~!Tk zEA}vcyKWsK`UfIwLq6Kv9)oV9TjIAX)*-A{0Ocmj;3$(zW>wCUL)kQ8%+Ff_-yVy< zoIrNhfU3$VfZJXvAjgu0TQPdvY+O1z5_!}%Rc(1zUWrLgegO(TDo1Jh(7QoudF)XMbk^Meo`=3l$>44c>}C@^Eo zjwG~i9gfHd%2GOK=Rb;W3zzQ2xGUFU>v zI7P3ytB>Gu8GL5s*`4P7cgxxfoV(J0!-88VO8p^+TPW`G=IwX6ZsbO zs2_l(pI(Z{Y69r0Qa4w{QJ;7#x6@?i?-ooXAj?%6(_|Q=)nl4QG2xq=y%Eksl4^V_ ztNf}w$CItN>?#|3Ni(1XCV6x(#V zc1q-mT&o65lbnT5k5Pu$wJ=wuIKrQtTeV{U;(3=Uj}5|S{G7oN-kiCz5y1ikF7a9B zp`PXxpk~I-1GswYesm8apquMW)fqR-qd_q+Er!6f?smE<`W?y2#XAR2prNl01`~h# zH;L`uNM;pJgY4Dz^8x>79hod+)t>2u%SI6tSU#1uWRhd+Og_pFYKo6%|wz1yMv$dJUa~4xxpf zg!JAv`~S|}o#bYdO|~Q?@%Ki_-aB{7nKNh3%$@n}Ip1$xhub&&hHW=LKo`FR;K*3A zbHiQL_2uT(n6-BcExiQODhKzq_+ME;$+AjgeXrun`t_uo9nR0i&Z+mHMJO%WQr2st zoT)adaXlwF5>I5E#b8=c%G7BCmCo5;`CvSm`|}+M==iD52>22}CUpw$MSsNbz`GaS zh&JK1#Bt_wIEW)NvAUM(X2OXhvAD^vKJM#oww6*@m|4jc)-AX0lsEY&x-c^@7cuFn zI6;6~1c7QRcr6EO;@+w?K_UWBtLz|cuggQu2m(yjcOQun^?9&f!{ti>hN5EkV&TE5 z1g7<`1YnxXHy(7S7)S8gInG1P_%B4WkS2X*AQ>n9lX{CCu!z81(|1lCRV^WgaL~ zMzwj&Jj08`re!4{H9Ls_pcLfN+mI*6N|0}DzJJuF`$V2gSwi_`tCZ$nrO&pXScUm} zuR}rq&dFd&<-L*3WsbMVZTxIVO`}hxudYp?)AgP^26Q&jj#VR**CjuEd^^y?v;s zX-W96xMB4aj13;oxio{V)bp&Ymf82riw70EvyUL+u1&PeCwi^C@n>JTS2~qir|dXF z7pQalV<;`ArPE@XaLe4ol}C}e4uaC$eX%up6FwaN5vE^t2ZCrVR)yo|PvGf=&mcTu zH=6r2rp^;^YstP;^!iYTZA;yZQ%@4e)wm^fvr&`fBw7_6{^TgcX7GHAmL-cI5|=S#JW6qp}a<><4Gj zv_aDvtIrC##c?9QC)2L^Fddvhz||-&k^~4@vQG>1*mXf^mBT|?5k>wbel>as2$>8+ zhkIaXHI#rDi%d!VQWyKQS_aXp@=v`x5Oixi8jgZp^H31|6J6>^6UBm>4$P--iVRx) zeQAwUX@nOZb?7>DCp@NYgL``d`S{*aSa)f8t9zVR>5N(Wib@8`=IM zx1N*}%B54_G*1d}^e*@tL%aL^LM7W1tO<%c16KYvw(^?R< zg-=ibjB8h-HZ6yROuR+|g=xU8!VVGvHg8a+tX_lkm4BoDi_gJ>t~NCR)hRj+C?<-9 zotjE3TPdH}6 zHzDQQZ|VB5fw|vo@xy8zQt2}~Qkx-YtnZc7k0b%z4e zmXWu#M+HPG99eq`o3D<9TSpr2=AoGSU`pRN`n=LlZnT7!wLJ$ze(H`Ez4`J$u#kFT z&82?x@N&o6ANFGBYqXx&gP<{5f-CCj;-$IM-DA?;EL`_>UvwSZ3OQLUOHPDzK^E-4 zy}uPFzm7xDU>{uEnu=+Q2VubYE_k`k4>0+0bCrisR_`9V63V+&QfN-cJtE|%(JEbY zA3XZUb?~bt7HTxrT3$ib?zsYT?A#WGk%Jav>_}Qn%aE6a$|cp4;Kkz`v#|Wc9cbCQ z0oT9mBddOOgaXC?Y|6)PKSto|FZSZng)D*=xjALeNx37HU7@s|v|<%~G#3+Ysf*9& z-v&<}($&O!3Nx7ar`%j!WpM^kLi*ePumcDK79CtbFi&_Dm zSTgS#1O`?ypifVngV##Vb{veufafF7jTRFVX*JXlbyi&4n`fq)2TU`+n>ffmEx9@@ zs%T(ZAQ4Q_w8}bTa2?EhYqDA2TQl1kf~z2p0t`i-G@;)QMobV_o)s|92s`{~hUwQN z6V_elhOq83f0e&Cr1Zr5e;D!UJ`*|ya7;TukBkpV?kF%#ST8h-g|buJ8+&4)0j(SJ zAeDPIx>sOHR%(#EOTr82rjBl2`AS<6-cZGgl>p`X)iq$jgYNM4sHTdkQ_5&bNTl=*opnQe0B{MR7pIORLp0xmNMkajGo!D`_RjJR>e1 z1%SEi=6g}guja~`xkX&lkP8A3Tbz0fQ!|cYI4zf@GEUDEmDZVG(T`$rEP#irE9-_K zh#(jv@8v%a#+{)nvK9%OF;KumOso2&)VfrMmiCa({Q1tfIqEY0+o%Hu&{|41KU$Zz z*$Pse&>@OTKuVtMS6P%vzW9uEoTjVKy$NwxlA4I-1fEFx$_zrOKkGltGmVq|u0g9> zH5Xv3_@rDzo=ZB4`H{ELa#9=if9YTemB+DP={thbjF-{A_Cz!aYLC-NdvGZ|0%^I& zSd^?e@@dVp8LsR27TVV9RW2w-uaDAml5s3{7mmemC2%p4u0YR{{w$=V#PPT%R|CO? z_;g0A+Wq-1JrwO4cBdSf_XngMYG2n@n^axN1c1D?W+GkD)?rdgrFJlDD_6zDi}kF$ z0`8a4y3(VgzJd=AK@~j}Q^S=jMFE|5pWB05w%mo@%3_-J@Rvbs9j7PL)^o;t5yW#a z>nNUW|2U@gx>d^+6@MIU>$G8!whOH)p4wAy9>D{ibUTrpk*vA?%%Zg%Pg>2Si4Q$j zT)I}g5f`UxXRSnN5Iv|+=ax4%T&lE^GAlVde*QSxz1t3hf`)QmBS)*PvgZfU3%+70 zEqxPS?C}y_y8T6Sz2v0|!qanc=P}}gv3w5<(xlQn+o}{rzaAX_mva-)ziuCV^Uzn^ z2cTK5|J?oP+OBIMs4X))3pYJ? zGnSuQiMGCNHE^6Z&lXi(DOV!5C$rDss`?}F>syQA=i^sn<*blFG7kta?a)$~c3jT| zLPY`7R1NG^Ij}SEEI6Om({du|67ebm)b59&^)Ldv2rQDI(IHY`ThD3fs_Ku70r^MS z)dJ^cW7KvSw|`C-p9^8|>cr==?rBJ>e{9Xhsyg)1s+b?Bn{IQXx5~C{x zm{tfFTDJl5qr%`UFijH{Z!Z)aJp=DsXpL;nJM!sK=?v2`QM1$}fH7U1b}fvQ4y1d* z1Omsh-hLBq?Rvt{lz=Ag-kW3xpLtYQO8pY#Uakv)Y5LC667i43kv2D9F1YF6HfQ@5 zx@c~Xj&tXr&G_+BOd-fjyV3nAV0t&2hgW>lJ<=|fb-43e!?9z?VE7IjiGoxj!}WBO z$ixWM5cN#RB#16==TU^to`#_xyXc9G!!0n^N5 zhiufuo4;xds9(il>-)lZjz3dkBHRZIK&=;EpmoEV3*=D1wBuXOV8zgI&0<=C#bTOj zul29I3>5;?))1IB%0Xb7h4E63Tq>Z@#Y1se)@2jiyK-XX38Wt2r62B+hjXvyKGZYN z9b?`b0N+}4L8?1#%;lHAp5C5_ia3W~ZrO%fv}R`1fKd99%q`=41&nkn>DR~`)8>T1 zH;{T+SC-J}>E(e-rxWn~_>J)C=AqS}8JUlNMPG;d&1>V=_cmeOAjgTQi2$8r$Q`F%-T(9dEwc z1y4UmIjg}z$=Uuxv6%fzB-%Ie*1%9DN4;~6lno2f2V(W>qgMtZw06~QLXs41sg#(U zjWwGt!kaEQWzC+IV?+pDes%8@iiY)R(#MXVc=!9ChcJ1@Zj7eYw9M>^8>5~C44q5J z$Ap2k@$TzmHH&k0kX0>{r~~$s=aSLp$(=OQ?};>-Gekc)86<1X1E!hf&zUC6IFj*H z(ZIAI>iN@jvwQzFP4V#y*I6lXO zfpkIs_U-Qc+TSd?W$8)F-U|*yn-KP$5kmtV2gynK&H~efa5>b@k6WkVrfDCH-eB6x$}yr;~D-v4Cz6HN>Tj zdL)aq-NxfGw;^oNq>nF)c6~Zq*Fs+anHWWc+ap}dyg#wNt)w*~Ud@|3FUF()hDday z73z30$rk@zZB!93t+>TBDOY%_>OG&4MZIDM<~UWS3mq+V)baI3ZSDu^gPI?&gvB)B zgC7UeIqnlqtXmt4@0(8dRNUu~v7wlxC$5@bD>*wHAA`<&HsBgBALOtx!fRK8=t$v- ztK}#fihyZmSDvcR)pJ|FD&5b!wqRt3Zm1I|fJXZcsa3jE9(+#wc^)ogWgvjotYlpw zp}g*vRQfd5_gW#P{82n}r$C8iwq^lA_@3@Z1NddXqN$W@H6ls@(^h3fl1>!`|RgnY2xMru;Ee`P4a9gW}`K_*1xU?Jelw-3ECkv2$qM z9_xGSdi2kEt=*dW;Q@DAc#Ols(chwJNK+(bCgb@{FQRP_foYr@B&kfYaxMRfE5$py zPoplXk5dV!vFOmx2&5ZNBjw+EZ6b0aLGp?Y68&>WkJ}JL%SAh)c4FB+8UP_kL@Zj_ z3Ib@)$n+MF7T%JxlF_YkSKK&gs#fHWn}5Qs z>u$lA;Bm;*tbkRF90=$)n{?IluZ!>RoX>G+|D12DtyLAT#&c|9EIR+UFIssvDdelU z2P=~@6T#Ph*pjpn$DTNbcFo#R2hqZr?i^3ufA!~AnEBUC4539gv4B@{Oc#~);fRm$ z&~*=LbB(l5fN4LiScF^Nx*0v%_C{iEaRA(CA4M%jj;BeRR|_vL|I!q$@#L) z18vY*T!2!JTwlEwtKQ~~H$m^mGmclL=ooW$l|&e7sl)esnpfRC5M zP)pj&a;s?kRSGaoeO8`%=rAsI=?wP~S89oAKIF>0c9G)0?a*Xt2=FLV_Hrs)YScFh}hrW?Pc zEMS|n_iRU_|9c+2o_riWbZ1zCehY1C5hC@K6}G+j5@KF?8D4{iX*|`aRRrrZ>Sx5cOW+_ z#lo5S|H9-_h6FdA8_xkVx|!X0njdL@^Ee5M1-G>1OniU;dRhSGBrN7OWU*CPnj~dg zc*2+*k%h3gI$`jnuE@#XjG#I1*c*k3z^mKO}FYQ>#8 za1nF5Eko_T1g53PB3N4LXiznp^SRS||fgt%k#-c)?` z`2gHKYgC2v$pscWoK=CVPMl7{>=$>VaUCAGRG^Dh4V3s~Y02X zDXrKH>$hA$d{Pdr-SOp{`bsRNr4zwXFVq{OhVn(kj-bY9Y+M>f-})zl#d0NerCx{I zQH;$bVrg#u$!xqiy&0ZQcc>d;mSQwygGk515Kaaf!1DJp0Rpuda;v?;@aLk z<^B(tMv%BR^V-Qot7IZm^=Q5F=(Y@e{@)&$b=#n7Ge)gQwd+=mk%SZzrhaJzo2CVk z9an-_UE07hw@i0O=jJkZnGYmwm8oQv-h%OOT5j8M$%Ig@!SWpucor_JBFW;6#WbN! z=%9g5L~&p2-W~?@YHOd>G~pw07Fe^_gq5dFXv_~=X@siSN>IwTHwYbEULc%q*54my zz$4e!T=$C7W+i7abVc9xuXKb;1KC*;?@W+v#36$iK$k&)LWfu$6WLKg$`?yw;^I=S zO9V+w;suzd?MrC)#ZyT>4g<}-ST1iQi3Ew4VJ78^tg3kJLLS-*lF;&8e&kkO12jX; zw(^t{FXhzY+VTkBUta6vkN*qf#vfdp@p&*t9GJ25u+LGCkxvuoaC~A zX;N8rVx=`LYK?IvfN8>uK+4&f%xp|=+Y(>habuyiz(V<#L^UKR-bK@u()gWg(44?4 z=e`>#>J{OGxH|OVfurubHJ3P21Wa?xVwzMcZ4}pu{tg1W6mLG>uo4gL-+|EqwRrHE zPn}n^=TTOpia26UWqofeucVXUP5$l9&ctKQ+TfLmH=84C_+JG~+mjuGK1n+<)B+Hz z=w@-rfn5Yf%=c@F{yq&fFyXqab9gxGJO=QP+f`c@QhoyW&U(hXo9TWogA+nkxuuX=4=G*P`(q5DRlSV5%b1<&UwxsOZL-M=H4j?^S=ri zg=vdgs;Z?VajwookVgO(k6VaP|4{tCV;Lqdo`klcU2r@<2A+zs#FjF^lV_-d{$1x!)7 z!JPmlv2f?Z`C-N5f1q|?N!Po|;@Or1TQT&rAsALK3~6+iU0MhvV0Tm8daR$h0V8@0 zr|vXcOOrM}_RbUdV9R^xSi38MZ6$$F0nB?iZa7*wA5y<$5LB^X8cN5zRaaZu-g2{Q9x!J~K~%;Ke2^6rL40Q7%&n$Y<2c_K$ zT{eMfs^cV)1Svr3<>rE0tw3b2Ujx6iqg@h5b;`KFSzSeH|s?=5|s8yAPzS6(CNP9}p2 zShOi%+VEkhb1N07lA-F%3ukGwv@P%KS)|^6I}BoVjwoR@Srij#)}e{Et}g3)^~m5w zi(1Ez!~5Zf5qR5eHJXPCn3fQoj9*%=fk$5|ZS90zwYKE1EV%6grj^WE7^7ZHRD`1A z;$Z^hIL6E58cqRUlYxZr+|*6%O&J-tY~ynPc8p^I}U$z z0sh?y1lBA76;~eefkWPj0^ITE2-ImDjQm`Jc`b`1DNX=xnW@?M;nDTTip_;r0}sS) zPsc;su12Q;Ew%dcX`$$&>A&IP;$(PtqW(2c3EDIJ{}gYjd!QTQcc)|0H@$JyjDA{s z6kYb0Sv^v!{!UKJz&$t2*S?hW&_FbmN1rzVhnv==VtwST=-RzSg#oTqTf#SXurneaet!I7ohRvP)hCAnV}>5FwovheX^?J;|1|H8WL%wDaM zDSoDB(!$7#+psw)4=vcfTnkV~WTp5lQ<8k^G;&{Az_c~H&SCw&7zF!!@{3HV$@w54 zru!y!MC~BgTuUpELPc6klYXi1+-`pb#ac^MNz zyR*PF#X*fP+~2xygd2kRYNUO$Q^tUk^kQ8tnIGEC-BLPgC4*6X}q4 zk+n54kaSI7WfHA7ab-Hz6HV1pUIpZVgF&(gDD5Kk1dZ~MDg5U|Ifd1-oED^oZ*Cfm zTKT*_Ew966@|!8s*x@{6wK@4or*UFz&hiDQC_(x#mu1IQM2E7BCPcqkiZ)l^z+Y)% zeddo$HR6}SwQxi4V9FWwnLU%a1NB^~q-uQ;LkndM|K5p~Yzsdb;y-6OR5s=10n=1& zq03sB6c|9IDf`zx`b*YgDV6z@WIf2c=(#JHGF->buf9F zOfbyN+y15=DhH*%`OC>*mzh z7SXj=9jHUkU8kbZ?~m^>hKI80nnkQ4s-#(ZSycD>=2}0O+}3e&ug|OQ1=zPfD;;mN z?~Z52OsdgxCheA>fN7^`6{S_;77QYYAcw8j^UR#m^}llDw4*>an2I<)fPfF~nCoJk ztH+BaY^VFCmkSyqtX@mHX*UBFZIveNlaKOJbFwjM*G4Vb6v|ZhkUD4;97>Q{0N1OY z1gd#p*M(?2a+FrgX@Mn6)3>%tbuHePgW(u~2h(`qIltcoj(hF_u*f2AxmJGFYbcN{U9zcB|D+E^q_jBojEID^KrgZ!oT^kMIm=v&>+B?xpG3Ti=l#K$2 z#iw7u50Q@{Jue0Up3V5qnaw^hFW9792{ON>r)67~XR=1(e_DHFed9@*ybzPQgn+Nt zam#?GXkCb&cbKQN`c-^<+9k|cH0B)BQdJYbC}rUZkse# zc*T`apyFeCPCD-U`$1ZBO67+@;*wJMsNq#i$aUo21l9oui*f&T6L;e7mgjQeI1 z8hJG+Mx!~cAC@QnhUF9f#DqTMwf=u;@hkZB_&4b4*IskMDD81Ico6`3Ff$7Gwx5ny zro7~8an&M!J^}Hw=RSy^&n-uLpXM4Mu(Ao0cPFE4Xz-nH%@cpoC2H*wV^*z`Hb!p5 zh%ZN2fN6Y})X9uUkI0Y*50G|b@59+AkDw{75h;sj@yQA3@n}D|@%2+I>sjk+k)2Sl z+K7zWjioOv#pKbGxmRTd>57hf?eo|1{BO^p3*8#0=1bjICWLqeW8bMgm^<@R+<(h` z8ckyTtwsl#2V~w#K8u3o{kcKWmg-D)6m&YR!W$@ca;J%U47t$+rZs_~-JLMB8p?wN z0)jkgy-Gkc)hdu?ZQsM(-v#Fn!MJV?&%3`SfQ9?|+E2#~+2q=m|hNQQaI2I+4`+v#fi0W)qku4~1y! zUn!OKxYY_m-tlO-rDS7J#Cn9bYv&XoOf85b=YED$v+sxZ;1Muour0zX>!4`S$CD3k zfdRZyrAjk`>`g8OO0-!LZgm_RcXU=fW{8YOwk0;VaE%1F$@k-tyUm9Ke& z!_(gbAx&zbF##QJ1oEi5r3!Vu`HQ{Sd+#v>4kmDyho`DfifI9|+QeO9cLD*%d^7-l zbf;G!zV%dMmM6e8S>$`uRm{H4C$a3F-3ac9@oKR||c(ASM`*P6jv8EVzPk+s% zv-ycRl^g;|83(qW!f$u&LI^FQWuM7oS$=qI$@R3#C2l{d2f3-gkruRmnz{}3`UN0A zMHaoqs8+?6@vB#Cw0cy_9kDypaQkmVXvvM6)|?}1>H)iIw79^0V)pmgyCxnXjlE!W z#cYWxw3J^_X(Cg!;EEqs%|P9H73a=D$!he;csw}$cSN6|J|!r~SP>@`rL;whqG-7B zfU?lVtfQi3t6ath(qh`CJ;~U$^JetvOSil=Sk9F0Nzcf|6EAH;dX|xZgrfCX8Eh!` zk*xFbsb>PI$KH8iAOZqt;=GEcPgQSLRzCjTc%Ew=^MJ#wM2-c;(fA0p&!HX+wZFmuY2w>D}&V6ly-KmpEHN>6&D| zj@|jS5g9}qd2&-%cv4JdrQ7w_tKuSv%biAJ;~x=aI> zmC1#Y5536H6I}jYLyMaq4)KF8J4@El#e;BN;uQDQb920G_)8ui=3RH17D^*>(1mOD zWYQPR_5VSdP@C7;3zOP=Bb#eTvxQ?-hSX#!UpmD`kTs%=s~6VBT&rRDk1 zhh(Gt0x^*8f&>)${iQP+2vUG!mBklngFnkZ!o#o&oAJw|J|c!~d~ghdf=;AHaO zv@q0wI$C!~>_P(#wC<8?jK@8FzC)dW#!ih%rC%~~lJV`HN06F(5q=&75NVdnC`IfS zNnZTeu%w#fP8HwoK`4 zrJbOgXMetvs}ZZ$I@TIr_e{G~&&~1L9WQfe*YWEyU(hvYJ&4QDo7dfemR`-MYm_WY z|I?_En-6wmMq+NScW`xwtB{hFf(KVWisZZ$@?1cQiYB&JUzOZa*37^(Uwk_HLk*a= zV$TXp_+tXbhK%RO#2H$e()c8D<_}wdJHl?) z#)!1DCI^v>XTE(FZyk6G0|EvS2<_At{SLCgq{;N=gbj#zBoaN^bmxa{`P?U#*^k4<_wo3q$1pf#xaO9%NYKnz()Z_cE@4cg5%^;EXIkGYVA}43d(iixKIqZ9 zHxhD_O3b4&)&J?(CQ5sI?@dx-4P>?8&{gH<3@(3KmQS!ygGA&AbAHtK?<$-0=5ms%R;HPB6X);_qkehQv9zg;q2O^i|UMLkk5=U*_L z-c4h9v;-%(4PDT)Nq?GSQNNi+k0GR<#Zp?a zs;d8u@K^%nuQ)i38`HY>niHwNd@u6~M8VF?#*ZeUvRCQ;BS^!{A9CM5EWHXg%|Y%ASznsq*_du1^x_51~_ zZ`uj&{kl?t^98rGAOx$1>7E<>2^!h50fQqV(4a?;e*`eCfIzC4cjv%J%V`Fh>^BcU zU85bnpDD~^&zzmPX!c|S47$6!W(wX?eBqA*rg?gKAmLI97F@R;?v1$+ly_N03@_Y# z>FzT!2eEat{j3e$!K(=T~v3(hP^KmaYd#f7Kgx&?hP=Jq}uj(kWW{s}7vsg?ktf!EyaxNr;v{(XxX+iF|yo+D1Z5V@Y!`swoAcwh4Y!#dM^3#j) z=a;9^sEZG+)0z3Fo>$bbI}cUU67tZlX9zx=cbf(-tSB|7%E_Xk!L;}5sO%U1m}zy z-h{?;DK8EL(e0wk&R|Jk9mf9SXszN`sfjFD0ugo!tKqn8y8&q6u2D#_nIi1~=iHerQz&_V1j8t{ofK zXnm${_?t_N`0`c<39z#VoF?ta<=S=u+Y!f)?WiU-dQ_Q?{Aw1{ z5`gXZyPgQKCXW)gi`5F*R^Gfd^A^zm?5rV}YuH%jm#_%g!7sK9| zJoH|Zi5|3)oWQv#lv7$HttoFB?u((#T>s+u<-cO_(y1JDV)^_QhF}x!;Sor-`{qXQ zcLT~(Erq-*n|tW{>M z*^POLX=q23tGM&5j9?EiP04*_)NgN@s`a8DRZwfOD*;TC-OI)_DS0?P2`i>uk8wS_ za^9@@2T~$u&+S@|KT{IeK7ve3$eEHz;ky31uork?Ag~5VqGhq}z5)1e-!Qzpe;d9| zj72Z*$z{qOsNJhRRj&Eh+}|b*5W8gHRdhk;udTH!py;Xj$~ukQOVF2Njw$(9()tsawk9FUl5ASEVz)@GTNWvoT>U@l+0R4`p*0yaFk0F%42%H(6GgETFKeBYm&iO-vL#;gvs08ct< zDv(>x2sM8HJp3v4#>_{cXA1&k%GjvYXD;JfKvcQLRMhqBf;;-WNpP5JYpP%Ozl%fh zKhb?>JA%^qWhi@FtfYz6Gy%ZX_HKz_?}h}O@eq}3Edg?*(?w})S~TJ_PHNyZap|e7 zr+K*t;sU{GclKV5eyvB_)E7#R9J?5aPr`?wj?dUD;LelsPheUcfoZe)Z$-CegKW}Q zMi*4OM>4L(I@w>btI@!#p3XX%W#q~{Dlb#ELb2ye%l|#-YB(-89wX}x!*e5^<(%q{ zKMpO&qx+vlU*B#7B?(wW3N!;4eQ1epZ`MKlJnUQaXxsy*6QXg;+UaQK*_g)@lzSQM zg(T?dl4uuzX)M;8V_<8>emvjtVf^3q&j?WvD`+1^eTANMEh+#iRke`eP3wM}3AQ+T zS2$WVXr;OH9QO5C0`8jVc&8QP)E}wCpH|#fC9TBo<9^4r{jaU@>ocX#K3n!V?q72s zhSVNG5TCpyDb6~@D!VdC{~pacg`1jB!Uy-hM_1D&fkB5(A3~Q;x?q6cV9hP86fFHv z6bN7>Xmd;A27EsD3(UG^re&X0_E6n0|F;F0@xgR-Z`BJ)1XEfEPmYJ!+(h)O-5JZ@ zT81FHz*cMSqod1QpdJRCEobOO`5J_paqubRs$FK;QuRoAG3d2hkAeGz%roQoUw zw=U?}q`%fBDR$`)FpW74{=qQu{i^7*6|$EyW)M&sKN>Lv*R2`uJBx8accaOwG}Ho4 zyN_VcJ_JqXiF}q8IJ&&~F=ym9c)#`?e6GKZvdl$i6@EcnIlwea+fDiTxcJyp$ocgz zxV7XLCKeD?x#LR~bDkb3*b;@tXSTw-SyM8KB3jlb>(>0XEcz0ES%Rb+Z_q$#CVuIt z-^>u9m!Rk=>t3EY1x%BSQh^3e^Mmo+C3v-Mi4lu`f=>wjc1yei0-zQuyXU-*vrjw* z??L>UE|chD392D-t?HF)T@ZJdxm!12*rCG+?bOlX`gKKBtIOEApCb3rA+sq>8C0$Y zDz1XWLME}=`y4YbFI>C ziWcc7DI?S3#U|25O4J!9SOL2gLgorQl#O-9qU^-I)MdKuL>R_XUIKUsx0AKZf;VS&gI z9@)ztdz(f!dJ?>NZbvq*d$JXtdv!{M*P+_-$I|_{_WBhV+`|u<&Ya?w(9EpDH&83VieBP&hj*K!Id=doDV;{FiM9?M7Mg*(x(QAxAr8a?OjFuD~|{EK3Dzl$>rRop_a-3F8 zk1o9q?OWFQ2gn(xFOJD?*A(E{@B;LA5*Q|j>olZ@dIYw8d6zo^_z|5N@3v%9_$eyx zOq>bVer-f^&Z{L4_ig1a8PB4$*IieEX);zgEh3S7X1(eeaNR&T%qUr(b&RADt7%c^ zOqjF7gtq*s)mf`)#4cec_e0J-<&Gw#p*&t%(^B2;75yJ_&H2dDTy*0)JIRUV8N~}n zc_RM+KQ8%*z%=P|=^FWUB#7+Mm=>*H^n)JMB|-VSdU>C3B5*UxO(hyR?9r!_fRPH~hmb~dCuV4BE*@K}BY z(67C7>LcyxcuB97Ais_W$?jp%05 zWBpoiotMuT+X_(HESAv3D&fl!;W){$5yTA%+3J&LvNa*k70fA{axJ5zGK17xn>6gp z$-uX5dtrJj0X|mzc&f}c*eY8)U}W32ocs-IqMt#qR}TWy%pY3Y%41KwxXet=JAy%t zpTOw$&RJqov>l7xjfDrN5_~q8pfEWsG=tLQI>@Urng{iSzo)p_RI{#Jnx#xETwPAR zfWt9cX{DAQClfrP$`ye!8FKLWs2>sRSEq1p)VELR`^=m)yuWTHG70)nW$4pY^tIHH zl5+qL5Bn1>>UJoixuPq&Lggtwez|iVJ~{OzT`aaXyQ5@36$Ke-`un0M<}3Yk={x~@ zd1DWOX8-B@0;Y7kp5w9rZ*F`Wf5lnAZ?p=fUx2w&gCyi9VZrEmXd2Q4JJ0UI?OSJ| zr*CI7h)pUgBtczBy%Oy_Fir9cXiltL^{vwjpWOZ-e7$_}?YafHbMthJ2_8qCM=NNS zDurK~g|(y=STS)W#`V6MR-AM2=ns!!Q*1ataw*&GsMJ?pkXHH80@Lc0mDn_OGlq5= zqVcb$TIQ4Xsx`?k>wm$Gi*Ka6%#j3PrSXaCOG#DnK}wf%9I?n3p1v7Rc6ti4C(PE| zaEi;#Y|dl5kL|(Zi=RRoflPt4o|mr2@@?hj0Q@mln3-$#=} zm8Y_QW!wbQikrCd-1YG;^y%EEuuYX+_mwKYVAZog%v^2+^&rn(pFhoXvu_Ee)~vAQ z?BfevBU(s%9ER4zco;>iX!!))N>EC}d{^{Wdw<|_Vrjo{l;0Y}6o&_<- zVO;+q3XXhC%Wf@6cPL+qlQp?4(#s^JG;&IdE2Q6YA!#JI(~wg#T`P|H0UkqcWqEvH zi!bIJHRG?P9R*7l!1UYy!BCGzYqWkZ>N`D~^w+i;Xg4s8bsPBM2l%m(xr3xc)+;VN z#eHXR9Thw$u)k^fe?1pCwRca#sI=?0;ViLp$6{; zwFX{8MpZdpqw;`h76FX;?;K?Q>tApiK8mIZ%>XJZwrIRje>6e#;l|>oUGRJTX*78D z-wqE-1@_8_h(t`Uo^T&I&g{NZRbu(IbX}o3E9+jKxdcp;I%Ptp6|Nk*(yaIIXE6B9 z*Uiet!Yd0|W&WtPT_&(>bC=F^=Q*72Jo&|qHB&W4S{0=fTVe{r!q>sSVZ%~iUaWG} zh}+BGe~+v!Tj3VW7dq|hvkD-a{3=LGhiB_na3_e+Y;w|?(G^gSz6i>KS4uJr(gxLE z`sWpPO#u85h|7%! zK6z)1s5>Vb`695kNPd1vFh?B066d${KqW!`Q7_dXoWT=MF$X z9RgzMPE8BC4pYE1p;cUQ?pS#Qs~+8t;9hj+DJM@1?*48_-kXIgi zlnh8-FP>tq`)Mz>zkCA01N@M@JrjLiY>C@m8l#n={wR>e{>>*aci3vw?@xE0bcFM8sY~WTIZMbZKr6c2 z-TCcQ)C%(b2gsRu?`Zjs0!&<4fa^jCK6MaiE3)QCWZKds6Shos!{E-2xt{#buSP69 zLTk4)hm|Wx9VdfK^^)CHV474fRER;VD4u^k-rs=s%}ASkkZQ+zLel)Uy#RY+d63Ed z90%E{Em>roM{^23{G>bTu}`#hsvUI;?bR_zzsT}($>D6=uqOxIi7*o&n4?WHTTBCH z6G8UTSTiuqnf5Arc3#Ls|Mew-X=@2g8%bcAO6O=DB0ti$=Lt-EtrTF|_NfgKOlzyo z^sA!jM0_sVE^*#snt(5*taJRmNO~I5f2=d~ILe#KOs{|f^Y$LYJx9)>tDiUJ%(eA} zEqcoWrYSz2NX@{yxFij5tCw{pANsOOi<9TFmT@LXeZr3hK3*8punubReN)w;)<;Fa zv|I%85P`4K6&{59^*H#WxZif*{u$`fq@hMvO|~?o__yF_Bxcg}=2*Hj$(F(7WKaOI zrF8u?xpgN*rzYWsUF&F}Ni3?#LAY}T3*c=N4@2K=+6MP@q7`<^Lq)EO)p$!tPsOA~ zUuhPsJlWTJRw$V(s|6~J`c-MI?^S$hzmnF6GQ2)39j9-aMIeW`Bm8Fohg5rCN!*DS z>Dp}&0V{GGT~h+_`Zz!^+9v@W(3;?(Ty8#?Aw#9NKx}<@6O?&8@iOk-zk}dwFJy}B zS|wK;u#UG%Rw1{d$LezLH-f;l4c)>pykV<Zlr_&w@=0@M0X=g7H}Yn&Be zT5|4g+|uPow68DvhaWu3{<(v}NZI**_j9yUmL;K!%| zkaUF?3W)3x(CT>F=$Y zNIhUqZ|PkA2rz9|)_(jrcpmyS>x*Re^ZlzI*4%1}OGMejGQZVnT%~LqDMw!Te9R~O zKqLfzA6331Ev|cizD?5P-*GizaW%A?mu_0z%|R2 zE6~hh?2xvtP2Y{TyFG)au6;sd#wRQ1;=$dsF*@*SWQnyvD;7C&D>CIr3xlguSK`=R z$Iz}xJC3iKZD~}2xK{06jjO&HOJG`<#X6WPoU)IrQiJf%k5=fyGj>s6vT=XQ*{B^5 zLSXDsEIq#%T>^W;m)1k`EdXtcBx@B&ezTN{`|iuw^VAkJsNF!b{wOjNn-Gfz4>dt6 zk5<|_mQewZbmZ0c3Pxnq9xQ+LPfQp-z8C=PxsP7J>wmq9&h@*ICt^je@`KhMj&V

6?Xk6bpx6YMMtrIm^bdqV)+c2Fb_QGcbg~0XsQ=^0+M-W7dyhxzwGca_X zLhDqG8OIGNf)q`hBZ{d{9r=Z-QsR`HP%bqKY99P848;^)VXSi(MP-??QeoWj3yfRt z(e$aozdtv`XyH$+zR5bkqEn0OTdP`&inDs4yHx|ogGP%Icfn)QGPw7qTU8x6PM5mo zU0T{l?Qx(^dQnRURpe_@v`Wsh0r+Qmp$6^>^(?K%d@bA+jJ=OHHqjvaQ!|(WWUu&GIFMt}-E5e=m;+JThfu!n0w0j9m6ByabF?(+8o2{-l+EA?=r6 z;8wprC%OvUmZaPXpi;B;XU$I?yIsDt^cM#td`_Q+TMm`ACi6-vU9Q2Z05(Q=N0~5$ zQXx|=Wnr&^YO0End%0G>`gAHyVVv-cePHnQMXirNCP0f|K}$cWG&Sv4y-08ShQP49 z%)l@sfnkbI*6oq>4gu5p5}3v{j>cr}e&wGuBJ_qJO!;&)t(2KJKr~mP(^n&9dj>q} zb1Z9?XL#7hc||NbsqPbCTh6XrG8s&l zR>-flfA7PjtC!=dk+qO5AVFJ#Rvx=-JtrFln6`gI8lL{R4`$9DQ`kSYvN#j3`hVr} zeHcG+8N&L9ASs4!k_iAXZ?ZU3sxA-P;Z664F^BTdaaaJBt+@x$rxG#ewawVJ?Tlt+ z!6<+$7x?GNll@Ca^Dyj&+W2z8H2C_;SE?-1g)((5sFF)H7XMsz0&jnP5^WmO%__kv zE(J0~dR3MpAH6aFbwauBBBLtu0LdQuRGo*8C1C%NWcXR!lxoyz9S4l13r~MP+0b>a zAC+AH{^vnVp1vDn!u*j=UFnKUC;+5b(EaV}@u*v;@>~|#!^et9qxiIb=Xs2L^&on- z^r30~0&u!=DzLl$XEBY#)D>WwxC)9PII~B6KWzGZ3IhFWzCM!!WLaixJWzlUzZPI} zu;Z>Yrd)Z>4t4(@FpU<|+R|d0v#va8pb)2scp1fy9{#woA$)1I z)!BL7(SEF~^a_Zw=w=--wG zUowX-hHVu9R3yLTKX~IzGzqDq4}5eaRn(>QzPyKhp1dFTWkq8M!3vpGqEQ@gk;tT2 zG^H7x?th4R-UsxDS!pUpn17w)Jm~w@1Ipb+0cLM*N63j?O`6-*#pTZsr{3ziJ3r zs*^R80Ly#`@c4A}hp6pe8!Ps#z=S^(uq>l+ouw~EU5g$Ut7*}>=du3IztEyyb8I~l zjv+q}#+X{Pm_`@1s!GWtz`De|B)Vnnj!*CSg!1Ww6}wkr!t(JL8^ZLo0O(4PW{JDd za9ZX&On0Fz>$RZV{WE}R2TmM7xA(hYXq^#s<;kzi7?jj#HsBavj zUV71zH)k6=lx_vP&Vr#y55{vv#dig5t`pwrl9s5Wv}Z!A1Og+?05w{vC=8`#D12D{ zg{EUk6X`QXg~PbkQSfdU42=o8%M-n?m{?p4>|+^6rMLqnU>1Yv-Oht=Ptt!S z0@DQq>u?pUQ{Ht6N(0|}4RssymolXKzC`{S7-8Xee$+u^OzjG{PW^edZw=xluW0cS z=Xb*YyJK)~)sB3jylME8s%dkj1Jjb0El1*{iEt0QS_4H%GmAv9ltz0HaFLz~w`Psd zRdufI08>6l*4L0xvIX~tyf`$&j@OfXr&F7zR zQeYlHDOGY*D=a9+WdvQWBBgy;19xS2=&z{0UWA;ySqcIM$5ag`i>n zwBTwRh#=$HE?^p6dH&LJ4Lk>$Ev897xYu$=+L}zXf4w=zK3n9!{^F6#Skh@7{07rM zJJ)kryK>O;qxMKRnT&Jq$HAu$H#HdV#>28Ky73&ipetGrY>Hg5a>mViT^DQJrGRO2 zBUZ-pd04&Z#f^yHkp|CtG!jmLTXIAeM*OD}hD`2?+?*n7X_}}~R>jiVzRf4G?4I44 zrL_Wr<+2atquCv`@xYhY5{xd3H>p6Yk~EkX@PEwRioa$bKxiNGF_rRX_xLI*jPJR~ zJx|MW!vgW>&)31zhY>}O%@x+LzY55)Kk^g?_WV%;rfIG`E4m%zlNp$nPGDN^N&}{e z%$a2cc=n0Kcpp3fn-}VFPIDGI9bnM&&moB8@vqq-) zw{`nz3>mixV@CTSJ=?W|V^5yG#Zeay=oEm@-y084nom>X$60<ysgu(OarZ{lNbVryk4_pXRrI21xz%-#otfn33e)e5m4d~awKC5Zc3<0NY*k{5L z0`FQ7*d|j%87wJmwbbd&I>n9WL#+(>;9mQHeuV{8(+eeMdoJan&$>)>rE5#^PVQ*< zpT#t@jLY~sVF9LzD^EFcad6mzU4WCEQ?8@c*M*ZC@Sx2Mp0Y3lBme>X8b-L6m94` z3axnfda5c;4!MP|Kc_|ECR!XB$^-9o#@WN0s-juy zm3|R7o`-26VCxGs}}YFk0_$o!T|z5Nak;WuZdp)uvz)%BsR`W%TD8?A@w zk~FH{1hfsTxUu924V95r0l+S$oW{I8Q|S`34fO;!Ma$@?^5}5m0d$Tr5e@zOVtU^< zwd67$)o8Z|kf6rz#^XO@!`asenCol?rcqCdwY2sjqY>gm@Dck&13p-YQqm>0sUUHp z`^0kEkxRRAik4M;-06ym^5{XJXJU3Z9vZq9t?PH8-jF@&;;RM));Sq-5Fc$Bh1x#i zQdF##R8DZ?Ms2n+0Zjt?;r_7y5|qN1ib73UIdxWcsfvet&qv_K%`?!)w<|$9ImNfJ zrPEXgmPSyq=b}mEozuvDDtCN7`eW1$sEfVl_G0?h`}hG&XANkkkF z0K1RxLEnXaG$30Rfo!e>H_j~52X(wd@#Ed!A;>SN#?PBd&W@iyj&^g}VNl>uwo&w% ztdy=ykbYL8DnK*gvsg$g-F2s)CKCeO{joV=1HPH?EoNLjUDI3a6w0_8zWC)!-23S) zbZ^xQiMjL=WhHA;*U9WNxVq6uEPj0v{P|IWk#ng#^Bz2Y5M3YWimuIiA|)?X%Xy{v z;Y}d$@vIZLrrCJ>^y&}%;I4E4u$~h&=Gp>CG12m(DV!i5|1q3w2*R@J8^_zjwNi^) zVQ9}XY1z?iC5t_#pPQ7BIa;`Ywj>a&4Ntmh^ptlFrMDa{RG;36g45fP|LYLC)nti5 zZF%4%codF5ZN6k3)VbQ|kZdZbs@1*v)fcVetba9N8r#G9+>{mp&sito)}R%uV4R*; z*7<76y^=2ir3zjf2}6US7Fj4_nx0MiYg8S34CuVW0d2z~bHXk2X7 zf$l?x6TM-3!7cSkP(z}udwJ$EFioqCe`I0~@JIHR4QTP<$LRIYY)09?@u1QsN1wsQ zmM!4XpNdm}Oxl36R3ZechDj9f4Zb{l-nI!1UwZ=s{_h#bcxx%P+WlDiJY)ZUB)sYKRMbTFu59Lh!>YBFWXq%T9R zB?voJyo%Gu%e4fJ?E*}TzYO=`BM|)DbLIy%{I3G0oeV#R<%72%a46kfrpTBrytb8_~SIMqCp<1Zi}Yxb|AQJ|4gg%xrC2n7~E@#(X{ify#}ih%iYNu`_R^(6SLH zX6>HwveDs1QyLq7iNx0Dqfo0S^>D5U`B4S9V`UiXG_J*u2S^titomQtE_3^mw>IPa z;zW3NV82rhx%1R5X-^iOIx-o}IuLYgX{&Hb0Ts?1j=?*fe@93k@-a;omNpnEnTiD^ zg?!QVH6T4Q2i=}(f;;~+juFKY*2o*hpA%6RaZUU0(P6kR@^Tc%E3io{@=91t6N**; zCnsg%o@ooQWMu*^r}-l(R^*8Z?Cp9>^Ch{+oo^sJod0jzpMp&rZotst9kmqa3HJPq zE_YWfKdOO|gr`miX7vqlL->JAyzx?JJo6&I@c0J=C1?8%#p1EoBhj(}Ev6}VzfQK# zo%$>#!-($f0`UA3{Wab@S(MA!HgCU(OL5uoCL%+0o9HdE2p1acg|Hz_%yQ>KErt9$ zco97&ufeG9JkWE|m8TbdlAVdq!^9zVXz_0>r+)_rh70YftgPzr@c6kDw0n9dItF{t z@&)^Y6{=CGTB+`Z7VGEoOvP0eFm27Qb6CGG2EqQG+yK*4BNRCnWLbLOq>iW^g-1r2*M6EJcC3xnDYbN$90Hz+HDUbMMzrQPH-bmDw-*IO zwJQ~PuCD?2kFyUDs_I<1y8z>ti~CT%ZgO67HHe%`*%bv$)6+xz4rY%qAUJ>kI?`HJ zx69g)SQMmkt@+sollBpvs3d!MDrsnt6*QiUmwFrU;;oLq%joH@F4wBh&(Q^avz6&| z%|)<^Jq)pGKrxGHV|Yv~o$f?X^z5K3&jFR;%9Cvq+A7zTr`ckfGr%-qeK6(haApDC zZ10DsN7uEy<2b?0YLrFk{R6QH=(aWj-T47f90w$uTH(PKFip`QZalv{8;fARgI0ig zbBcZ$9!9p`mxodh5}4*IAFxVEmbG1cdOCW4@(nK2x?5$r@(khx6P=ZVyIVBDXLsI8 z5WqhN0C_Ai4g+?t!(dMzx&X6QXmYOS;eK!QHb+(&=pWMNm2q3Bb;N#SAQ{G$<= z5q%Vs_*Hs3U*N0{B4y{oo15f`1clY+9#S6y#MUHTMgZdk(B#LyUzVMPKil`h_?GRp zb-jQ%TnS3XV^fncdeN8Qv6co55xuH!mDHi`t$+3Pm-bBJR49*HNh<)zSRRxN39X0E zr_A6S{Lh#>g$Ih?TQbjKXv$s;ConCQoGp(pihmXMt2)Y7fqX7!graZNKW|<|@=)?E zzc%RXU6Q+9dY06sKNHcK9cIM(w*na}>O36yZ_UNS=AWi7-aP!6GtUoce z>n|AAVIs#H_m1V@Q5O_gEjHyG-d}$sT|w4mI-WOFQgEXcxXk<*vH*><$MtSrRMRSEVvE6 znK4hZ$Y%f8biUro%&F*)ONzsYcgMolAhVFHhh#-`WrN6`zE10VYidOA1`)`!>GFE) zoV^o$JN7NKc$P=^jrY7d3kwc?i}tiWnr+NsYJKVa0M#=P2hK<0t()G)zwUZU+ouwK z2&irG--|Kz^{MF5uD1qiv#z@`@BQg6_DI43JU;XZy!+HUm08u5FWUluGDUBNY5kB2 zu$acVr-0V*dcO`so8cM&$dpUKEBnwIFwL$l+6NI)Py)u^V$W=GMQE2G7DTI28foo*!Vk_!|K{EY_zdiK4zQ1avE6%PiTB zhb%`dvVq{b{QdB}Cz>A3nzJs_MEzFdgOaZc(I|Lj3N7e0<%_+GYY*vTT1+#PWigEc zWFSzPhuj)3HF=^8q5*j;7S`lIk-#-WebU2qx_tsy&3nUwjVVZqN5*qAVT#^Cu_8W3 z+{EjH$WGW`G|n%nWDSao&^#W zEp9w_?m|G{J{*ty;zI<;o}ft^U+U+)kMt)VBQS<_R!3l(r7Z?;FXV6Eim)?h5Y&wB zIE6QbinNRdTiU6)^Sp01QkSiQN2?}gaGJ_yt%s#-e&LxDz6mYgor9i_KW2Y@s?6&6 zYZ-jm1nI@S_B!0^gi@hX$=DJyN7^7fl#>~P#KaYBMU`ogGCipb1i>J*n>(3|lVp-iLdf6Chs=BL_H)lYw|(z9$Uj(!)(-_?*rPP#DLbrY z&XL+u5@M1O(AJleD{7M>=uKEm!U-_#LiAO9dFL+p5Ar}pL_T^w)dmyi4b;M^WP}%F zgHgg?I-Q7>Q+B|sw;ShZdS1@Hj!4>{joUx%hlvkRbtuyo5T52F2p@|H5_#|8HHcf5 zs+kTgu^D`2On}KaF`v}^IT-U!cT9Uctb9ItZa3UtH3lRmq~o5k%iu2HD>~_>c6Cfo zfN3YTXXEiVd*X?wC)eqCpnyCn$ys>vk?*kbyUWy^=C7G4HED!1vPgyXG}6G403M$J z0GL2$zp9XrG~gl(*s*OI!bXN@JSwJTFP=-K#;FMWvi?-9foU?2_6>B#&I4&!_4QcX zIYTrU%Hp`H!d6&|2H~Oj?9$~7Jp7MHv~0qg+{$iF4NE9Ms?>}k3=3_7KRp^+=R=oe zF;$)7C{uSwCBc*OP2`j~k+lT`j*S`C5`j%>ujxYN6&sg=_EXklR7Y28oU`0ou`FTb z?;ZpUZ8?#Lcc1Qp#~vC|r~R?=lGx8z(J7hco?HH9FIutNXyZ){<(WjQD`46d0@JoO zFkqUZpFM$TLFBVjQ91bF)lfWgFUM!&T*Q8@UjHdcHy6H2&Md|3PYJlE+~!cg{$F)j zM3PJVQifmgfD?jfj#H&qQEcU(#LEfy5(wvP%*Tf8DoWDyUCJZnwl^@1!zN9*0%O`b zU_8NMvKLd;nnvpB%B9K?YE1j^P$@c6Ynm+zNQDl*JktnI0=~Gz5wpf}Go5W>>r&oC zj0X0g+C7ox)thg~MhDhO4zO+EGxMtarZG*YnM|Y3CKu3@XMBxJc?zEeFp+2i;@|4! zjit1%j(3x_VbWdY(yUrN$uvsyWh>VY=Zs!rDKBX`zpp#&VUO{3@BB zYskV|o9CdQIA7Zz5x`nqI4Ab;^!y{-Bl$a~^qXhOzb^8suQU}6ld_X=-!Biq%TcuS zNK30$l9rQa^A@x$o$}XzX`_Uf_HxkGyEFbf_EpLbH|)N+2N72y;p6H<{tz&CnG-Xx z`9=BY6wncqLndh+tB-R}J?oOD1&vpU$^u(`l69_VpmN5{o-@eDK8QLSg$>6y!r$Fb z0})w`X7*7`GN$FFY#9y9};T6RKwYCJ}Ld@Gu{1ZiL^on~ekRO3-JY@N(KkGY*^;iVZbkUBP=8&@Nb z`VOl2EQj-f-@QE(7qVhC^OnL3!Zi)q$v7`OkWU?X+n?Eprv6RIQ@X~pD~VSS{8%u$ zc!p>uY6a+7)_3$;HE|8V;Zsrg<<*TCf6F-T9}r|~+(7vA+ke3u+g?ZapkBx>vNTOs zw^Z>V;3+!(DE>L+dA#t*zpC!$bz2Uu$GXzQGbmk0lYZ`_Sig#u``DH_In}Kt z%{Gn!+7E?;UrR3jnU9!X6fRbPD`9AJ0cTs{zYe9z9400JHG&)AA^2$7zi-QjpimW)!4T0-cmQ?$#O`Mw4(CC+0_|aRvtv;%je+J#~meN zV@z`3gsm{C7y+SPSn%yMnnIL~A^J!}ItA?6wfZPlOxuO#1AS0L4HTvTdaw%qN=fyE z1elgg0Nm71`eXcq1F9uID@gphe^z{!ot=+)zgvdX1ZsUEfK28Y_IA$H_K|SbfH5=M z;Kl#W&^0ubk=NeYnc6)!rvM+lzZFkCyB~gVNAFN-=VM$5-J^SK4fH zb$3KYN)ZlU$ilPWm%x)39#sWK6t`2Q6$2wLrEhkp>t@@mV6ZEzbXE1c)&u4Yi(K5c14lvavR&6rFj`h{}bl<$eRE={zp|P65+uqA^XT#Z5WyIGV+aJ0tuty_a93 zl4ohu&^2)VKAMXqaEJ4mx;Tz11EyIw<@p;hP4C)41m>Mi%fzD5w_yIQqwO+}td`KI zgTQJYn@UY&v-fSJmKB1m$!9YDlsS1(1BLms3Q_)>0H6i<(wAmY77ZE;R}EOE&&PAA zDPuw87DVM_p%p=W?0g3wlkpMO| zGoeFhCX|}jRQXj&s`IPBpC=Np;>|r$&MQWqykQ$D`+$^e{o*es9gi{^O#q;1ljy%|t zV27>*5w&&lp!{`4b81VunWo~jiGU4R%aZ#2qmlSNBNd&<@7Kc=vSl&7*uP^4@O+x4 z^xo`0!P2`?ycbau)bgmmA}RL-<&O{hP;EERba0x0feMN4Mw4K98== zE8c%pGAb)Sm0H{$F`Db-q><7L2coqPFILiwr}-YJrL0gg#JquI@Agpab|mGT zr)f_Qu49~$X*i1k!E-Tl&@<*i%RQ?yZHfLCUmcr)c0RvjeTuaIr83KqiNBqkGy6|c z-cOj;{VR;VdAimXmRj8GlvTYYqv)4u$i!nCpF}$4nJZ<5$TyR4kVnf#G%sN}e+L3# zoseFXj?jR<`1j}+sr`qwB*3W-!iEkN3 zNa;a7+nlul?}WaK$0t?K3YBGg4dq=s4<}s;D6gOR@JW0h`!hOuw56sy%8Kjcgr$Yv zl{pFHN?_3b+!$&&o{hI2ev`6E_5k#~^YEx}ggqUGzSOdpQjk_IDd7W=YwiTJo=iQC z3-4b*`_}C>primHQweGr%D9;X*1FStqk#14%Sn3#xd!6Usr~r+Z{J|XB+AW3a2{Zy zpNx|N;>x&!lAro;V@#~j2z{$+aZ?Hw4@My;W_k+`6QI@~4jpDg2dEJfBHm&~kPn>Y znh$^F(vjhaEKxltYX#QFLFA_fP@@@66F^OpGL}sqr9T2Ulf@4 z7385fj;1INuR+QAPe>ys>(QHkNV{Uz)7;t8SyXrxmg5KtVt}BjaGmp&4jeKss|tT3 z{;Gz|%R$Mjj{*cTQ$vOv3Y%(U)+#pDx=LW0<{)!(j zklfJVG^qo5wIrROw7)+{P}&+ew4$Pe{B-iD%sVX{P2ZNrM#5$0OYnU1Ih{u4{BIGw zK3?k_m{ydQhRe53GYSZ51tJ3q8(4L`nq6}G65M9phSqPs&MQk+h-fvU@Rtsk5@&9=h zCA_Jr4Irl0tzpfiV`pT*Yr=T=j~xR?cm0NwwbU$0Z7q!XH_=R%xpyD3R;_}Aw7Cdn zNrbneOEWUz)1?!9=giUlq<$u+8dQCgcgx%@-%XLt!m9ZEM1GNaW`FPjigxXSLlfTq zGHOm!sY?p#S^dg4ahC7eHvy&{I||Rm@4!>c=}P@>@DnMu=*msa$2YfaL_sFi_`9+8 z90RO532zH9t)jTntO7_=+Qy>3K91cpkI{svCrYTTq3C=u#;qEJfHuCI*YPG5CtN!h z9YDhOsc;Q;!Ps{P!lx;Af)(!@qBrbh8peGVQ?!s+vw@Gxpi zlT8lc4_C^*@gsuy%Q2Q!RMVsyWyVN~*94f>mcX(p#rgwC}i?c*mM%7MDYY(3* zMPGu`rusY3Bt^~Tr^-?CW_PhGFip~w`wszJ#>^ez2wDcDeBsARDk`KCP+CG-Dc;y# zilzcyR)w_T*PF}tUCBViA008Ud*cA6scH)y9^I6U|4S~`%z29PE9^kXNu1X2qb%A-zFT%%SHg}S)1ji@U4K;&T=1V z6M<>%e0kxKgNfuNdkyiqS-2-+3-=_7HSJ(xzVmoNK5ik9?d{N!@a10HXBT4N;pBn? z)U2^LBN=`KjLFdI!G3LSCRELjs&2vZA=LamH8%&VVh$4oz)K;gjw70z`Mv}YnQOyR zG*T(ZyEtB2qa zgq&>LeP}n@%RVckT+e!{68o?$(S-&)*SsBG>NU!=mR0_Z<@ejeuMm6l4@)GaXW9D!+`HUra?)DgO@J+uUy&;5aM zgJ{;XJ;5H$s6~r1kl;RhI02?5=lz1&p=&UpqX2Dr7G>Jtvqui~pN5iS#T>)_zIh>{ zG7cfY*`LP&G9$IImrF3yAW{ZQ>mSe$FOPmf1E%Fs!-+}zSOwKI->(&3tBF%-)Hc54 zZA%&kn#Xge+3=LC6ioT#P7Tu`JfY7LYElCon6@cn1D1_kj{8TioaykuAI}oDUZUFw`1khFKGQ`mWeNf*WOwAF6J+N z0=?SxLt0@v(=v4gtwL@DwVffTZEA<<_~J!s;B({Ub@nv@rXAvZt>5E)(Yt*=q*{qv zmlP5HY|44T!IS&(!wai1b<7=H2i*7<)lD=L`N8%9wIG)KG=pF=g0%<`)D93$fvWo; zJVW%Bq$7N5*h}!w&2VTp2j~z+g($)F=NypWOKm1-Wo%Hzs!7fSxiA`MU!sYOnkV5R z05v1FMEnRU=7Fv;49i)Old$q%&a$aN4PxT+@<|jQ{h7FxceGdz?wy!6{Ux00Ad0p5 z$%4(x=Oq5(oV-w)eFTm-{}V3LU(mlbw!fSMlq_C|(wME(WY(OAd}Z@9b26DfS40Av zfN5TSY<{+xY4S4^Cy*ut zM6ea(%7SN5ux1k++fz+nLFK4&B?nX!RQ4`@b_b^M^ufW`8~NeeFf=L(EkkLRkBnuD z=~6XW$-I0S+uC%7(?C(vXI5X!9!(lKP(zzx*LDm$Z~)Ev^|Lvza&6Q=UrGxK5dYTO zD7r>7m^6{94Gc9ct4xpyaB~h0Mhlue6*HH0;S!fEL;k)<4KS#wFL0(k>-cyy|K~!Q zYwS=LS^hdrW8Wz_c@mj3?}lTK9;~~*AeDY$-X|1Gsc({))i44~i#`tDFTaLsx30SI zzrlfN8X;I&F+sWN51WwoLl#`R5ad8oDY}>wSNdm7foZ06j0qR>MDhDaHY0gWCfvI6 z7S)9!1Wxe7$UpJ+0p~yhU~u6{w4B6iO^ zicU|o!oY`nYnudG82*v)ZVVH%KMtSXw;lH{9gdzuI}p59sBI{#da7^-x1GVyj~s-5 zKgw+$>No_M#mAJD9o1$l(}#1pM@{D&O;K- z!hUyP4q64*j~OJjaUuLrL?prSqj5CHc@kSU#No%yMD;_)G2u4(PX_1z0X%RVH?>sj^1OqlJUi6Rl&2Kehnf*LZp_7@@GPB2H&71&F4|G6CJC>0{tk9||Ct=n`lp-R&6oFh;RR?$H z#ks}q6yU_uP6%nQYvH-U@j~UuwQyGsUXCq7cWQFYs^;|UH(;91<2o>{=B7MJb_9{P zkL8vi>W*dz4ffFbPGjLSIp%zFYZTr~%D_!TiRKvRHRTwwmM>+%G-b+Dmkmmu-WVFw zvT4e5X`Pw!6dBrr`#>?N>G=7+J29#E&5dH*lzM674cA)#*uNd?(~~t#X0-!AmQn+n z6Mm%msZHGnU~Jnirg@B-&zww6L|D{z+`_|w?S?$e3uuakeQtp-Z>#T2xQr9o>F{%L z!v$)Z`Z0m)I3qAk%!F+j5z`^W9r3nq~&Jgn-hn) z>@=n+0jlW~J=L#@ZuzdhTmDKo4Vadhirtg%!O$)tCfZqsy%FCP9Wtq*VpeiEF7Tkz zo10i7=dOp7@`$dUd>)h?VJYT02O!M7C0bL%h70!{czmXT6wLt>mWSxp$}O6c+zD`u zxDty$ojQVU3!6YgHJm4!Gm3D*N3Xg>w5SrnXn;dDI%{erY7TV zY(x8itjgDiRwEoekXdjBp)KZNQul|g$|D70%BPty-IQk{0T%j2chQ*E(z6%ZYooq1^U=kos6OnGiRy&3DytwSKSG!|*#O2rY}Zzs4St1uhAoA$(g{qEHg zUK+U!F=;2M$&VK_s?a1Q{3C7QOaS=&!H>b;!yh}N!|~akmPc_*zzAOKG-`ILf+qIx z);XD%dkGeECAdfCTf#T_G;OS#m;JTOl6Leaz$QFpI}Xl2guY$+nA*coV8HL6pM!7C ze1$GvA=ExuUN%eI02eQ&FhsH5zRGKpq3OMdmR+p7gWHNuQsE(Ba)0me7*N*V^(^D1DnbMYK z4V0#3!rW;h{e}alDNvd+-xDVP8k{9aOpCx-ZUHz{X6k& zn~cTpl`*#XiBsjN>|Olq4oqXB4qhHG?B0P+AAN$}4?SoUc&bEN@vQ$b*10ez2ixwQ zjr{1-a0>9%z`+V;Gxm!QFYP5AI57>*o;qo#$d7F!+M zfGkN(gXgFb2%1HtKRc=h78IIm&YZ9neKQXuk&NLeki}f4fZfu!Zbjzu&*9jzl`fb? z7*Kmz^M%jBh3%sW2=l>N&)mL$rB2MZ@X{q@&Ylg2mIQQ)jUQuO&1)ymQY-aM3S#-L zeWN*slDIhdE?*AUjvRCvfS{9d*~PK)YoFbLOK&8=ZIIXXBf4l;4E37E#{3Pe#B z+elZY;mBL^iRV)BZRgE!AIvQ@5t1WmGsCwkx%QUDl8`+{O7{Es4pel1OH~_K_LoI z6utKX-W|FD%?5g-C`0`GyEa@ylUA-8_)W#D z?ymqH<#NrXQ^h!NX%1QkQ==p^Q~6dmy@nY6e;*#imVGH`>hDbJ=hDAw=0rjzYm@qlSHmlx_F*M7h>2WlSy&c_$w(we&v+|s`h@tH0s zKHFM?zwRo*AnrXGs?j9{Q=iLaV;dg_d@$DuR3NI&YbugC(vJi{CS5cxu@tv|T8wr) zZxYO<;@z6`HQ{qf*IvLhsTUPuqE`?weF)bWHaL;HTrT1)HP5}ZuN0kFFELjsWwXUe zILY@I_ZZJS<%BlPxbBhowkBXpCf6y9YV*$y_q&!n(5jghQdOq2$u-xQChSCu^tixIckS+$XyND5X!uNxn=kJ< zhJ~>S=uUg<8PbXD?8<;?dKU3q{hz_c2rQ-iE4ixSAg-$RCMtP8mX z6WcZ};G@)AGvCEJ?mqtmHeXmskW5dG9md1%$_P^fKSyp38HzK|$~zSIg}y}j#Ko1y z%fD{vQtpR-dGJNVW`q;8D3?G5^jH8-mmqWx9L0FQj#FWg$V-j{`DEp%Vc&(-8YoTV zxB%sn^48%w?o%l{D%Vb?WWUNs%9Nd-fddx^Qa<$x$5~#)tR*PH$-xa7G~>2l z#4l(Y$UVj?%B0HD(0>)}mPUPsMQ1-iS8B^C5Ri>DqZ0ZySArVT$g?>mxm-iG!Q12B zfCo*St&iD&N&6>ag4gZTl2zVJoU4N?P8M9i+!izN;^^nKoc_K26})}rQ}lD|$}zlh zp4a7Ekp>`IdFwI+dIjRg$hElR`zh!hH~>jSsg#A4uNMOdC_9#Z08w+J5K55i$xEjY z@=-T*_wK{XI=Pw*H79|elQ*KNT`v0JXmoGaoj|r&3|le|o!#1Typ{d`Y7@?sya#!I zQ^tDiowW~xZ)!Y%AqB8o6TSvhznY4$W}}f=ltnhHhP*IQsb&ve1pS@OyNLLli+U4L z%=Pshz&RWDJ*oXv*LGKyw(yp;ryDg(t$%tgn)o&`X*`R)8jJRiwnw*s9*j#3T6FqJ zy&hklgIt@?TxJxuy}1n|2aYtw71{CRYfs_beTxwi&{G5G)tqDW{HpU;XzuImjboP& zUd0HmV6F2Hztx9M-dwa>T_)Qt^Pxh$y;4Rr>hTp`d=192I4akGe8 zvw|OiL#HuRVAMemBH$p+>A**A3M`Fn&i3kE{TgFvKm4YBmheV@?T6!}{y{>~({gTY z3@g4Wp7w0^M^A^|%FAFS3Y2zYHC4P1;ejZDm)e}vY7K=zG;>Pa z(1E@1Sh^LiLr0NsNh7X7ucxb9V4AVf<6nCNxqp2Tj$wld=vooGOP=DCe`W9DXLn$li63c#WOPQdmkstvS*-{Fy%^A8UCxly62pOaA&B`5nM$4}p~ z1(_?pfFs+2=m|}*AU#b7rcqm)CS2{AuQgH_PX`JKB-4Otty+ue(!%kaF&1l)I$nW$4>Q^ZHppte8G8m4k2iZhd)Ywm}f6xs|2Pg zf|^IP^1T168M#~0JW;oXPY@mQvkj8fdP@FsW%P&#O^d+D~)~1y@BhjQ@{9hc+L+Hf2s2Qs~@U7A$8n~wd zq^$iR0(Vc}jEQ6Xk(bSOwzn)GDcw9Bv42|@UjBFx?w?06I2*?9`BX-4mO*$*s%A^R z8b4YItIB=#at6Lxb__dqp2VpmneZeEqojslE8%x%9=@iW&jeySc{es=;Ne|HHTTDTF<&%RqjC;dH-NRZ%WZus}#2E*N52dq|?ZIx`0VniNH z(B#sfejFp|%>DFtonKF%OUHp@De&YWxsqApPfRVwk7x}a%0$b!;$Ksz`snU`7cgw% zPK+Dt$qiiv%B_B?!u!%56z5pKVlsjV!c^^3{nQ#(3`MKeThC+K|4yTKJ2#|M08Fzi zxl!7iKFj-Wz%=r8xmlNqJXJo(fo}ofHS zk6_k?6S&RIgW536g}pqpqiN3k+4xD{IZ!X!uk=gN9O}n*T0UgFrU^~)lX<`>YDeoC z)RHFT1keF&x)zHIG$-oLO?Jsi=IooUoX2HqRdeTNxx5Py^#pI&ZyPw4nuf~nD`<&S z@<){+nI;y$rFJw|W4@A?BragMZD&s4NNN)NdBCB-Y3504VT~UwsZx=jim$@UyM&c@ z^()`xgP4>&K~UfR8S~ISuo;V0&uen6Aa(!eh14iKZ@7k`JfO_is8IKLsvLxm+$lF= zsNraWlMiNkbwZFcFNyOoRN6xh)@$oTE=66tglEqlrx|8vO;(5|!rG@?yOIU)kn>1E z4z~6ljZw`zG#WXksG@*r$FA(AncmqnUq6`p0CMnYe<$WVC2bFvCU|hbJN)H7B>!20 zMpPf(cKS<#VP7R!t~)_#JPTv|A|7CO3m6A~_ZCcx2dv~9;X!eVSJb=uCNkTFppVn> zhj1o|+Af@_^@5wHVm31+e+M2Pwhdic^y0V5foWPM{3A4zJfz%`zX0A|+c=&5z*8>| z{cGYREh&R&_j-EFa`<{yPhQs~&-#j^XuCH0Cp>xdZy4y&oAQHvX5MJ(*;=7=f*XA_ z%4==tM8M&PCe~n(KfrCDX_z){& zzeZcPV1jFT8>w6##;lCrBuCMBCE%iW#=MOtUQMv>z z$({&s@X^9mr4`UD=~_RU%Eo?oCO-yoi{j9xMVm&$XC?y4N;apOwlagO&-;J z(9)4HQ2;!=#8R4(h~k4kq2$DJ7MB}eQdTu)s$v_fYc(sao<<*42IPvm; zO`DKb6K$X$jhm{aJ2#-@!^v=HJ(Zh{BKvhhnUl%JKfYE_^nQXX$mlwOp|^Y_sk?<>{bHCaw`^ZyrNwic^0kC?Sh*Cb7XTwb~vhX zMrKL=>~mzy`8}LQO+aZ*o|aE#j4giRR1THBi(fflnikXIPi2`|1U0>C0*n#!3>Y20 z8Jl`t`_K^&K3WaX=HGS4~~L0@GF!nAW240MlgikhfeNnl^?1;>B?EXgnuU zN+Va~SI2lO=ePzGE6%pQ(IkDdQec`{>O$*CE#v*9xm;*f2cM0Ll&E}2Eqj2EWi|`-hj*N(W+`OPQ=Dj^h zlCkb20VQaSArw8=eY_7pJ$wjF2T*HTCMN=x0j;Dc+IWj-KgpLWN*1i0MgWq#R%ct} zrj_Ix)F-uo3*UYmVWU>#&anZ=&8h=n8fz^)l#^D7PQCo`&XW6#z^m&sENCptKV`gD z)-1xum9?!J3-|Ad!}`^y@ymu21oIInr1b}DDVC*O*^>+V+|`%@jJhibpRBwOuC9&e z;8Pt){k-uU{=4KXI=6PCiMN_NXqB<78G#EimJgeO&g$E=VaZyJSarQ!% z_T0I>5Bm4vxK5|SsNWodUpMaHf>wA${P|zxU~V3@w{;Id$W8X&3{_yOwdIAiMXODbS1|rR$I!ct?Z7n4 zx=7pB6)cyi}F4$wGj6V2*hV^ zOr;qQIqGj5&bU5DL`(?=f2{-4atTZ`iW8eEDPiTmOhZ=9b3${1+p6k^%0D9)m`kl` z*#zoS@vOFdwJB4JK$5?(Uu}VD!oj?cfXiGGPVVS{F@42!cGWUP>Lc3H4xBEnzEPFvX8X7wFT&Ck}Kj>V+NQ|RsGP5@*r z=4TaDpbVI1-IQlCFO$B0_KF7NAbHEt*A`ma62`n}mf_{yi7lGW3v*q0F=Sq+U~UWQ zEv&}JWL`uKeQ!yfneyav6WOGF0Qb!fJ@x>a`gm1)Zfjo0hV-oX?3dWnxHaYgZg=;f zb{65Yn)f1!>BcttsURQ6LPw%UkZ9g159G6K=gT=+_$fY4Gi50DR>u?%bZUQt{rhiC?r1F!Wn|G>FuMZRlpomX1j$>Z# zc?{#hr0CYEFDE&PrZfSiP3Ixt-QHa&+nlHow%9I!H1m46a;d?yo-!a4W9xD!v}`89~YId1>Pu?%g^UZC!#1wl9CCCECoyq+>hJws>>w zYcxmgg|82PgBN06Lr;$o$}?%Viu2cjX+;F4dEkSwi;cjvb(p+%GR6l?LQYXmrMx5Y zr3_aK6R_ohb!gMH4R%ED#K=`6Fy4P6FDB_{u&U+)P81DU&D@(}#oT4^BVZu>csRmV zg)zU0l>*^Z8WsOi;~dKpUz~)U4{b&>|EAUE{fg7RzCP+a;PBbQw3O2q!)V6v@q@$5j3e>66a*EeDfOKKD~(Gv>_U>P#KPYy83(E^;O;) z=OchBj!UJ7R-p9oY~I!!&4GcNTXjNfa*G`1NuEW?WSpLGXfqsW(w++le>iv$Jml)5 zl}8IBb7S&Qjh!%OEuw4rvJBd|N=?h6sjK*O1d4aPMljg{f}lDX%PQq$X!HEcpRHDa z5hRSJF)a!%vm@ZxX`oIUwnw9JvbGeQz=2&T`QPod(nkKO3t*beeJDHNrJIS?>1S+w z0S}5vPmU9CAk3+ASyPnf`t-?o3=@S17-P)!yy09HDV0RMx5Yjgq9Qqknuxo~UQvi9?JL?~qlMgt0?qL6XxtuQoi4wy{V zycu4^NSswtORiR52hXl9u%x8IW$<7GJog+7uC6+0y}zpVMqV9SaRRF+?}Xn7FPJjf z1|5`4)T&FM3o+~rnR7;o*Jk>NIdyazE~Cad(!*=EGM=HkYW zN5e1Bn^jI-ZHr)^g!YqH(hOYOj7U$)#)3Q7!t82+TaXLl!!mK-`bp?Bx+6?QCYG_Z zZc#MaC#3Tc{l#*fJr<9*x-Nx(e@~cmn29|Bwy8Z&$4-4 z=w~e_d-t5iOLCyH) zRRibhVnB3KA^!8yKy+-^2xck`(LL35yZ0p^;#4MlyxE^Ha!!s3o!a?fVBf|nDf=#Y z+pai7oy&%&2m5Wl5PefrWQM=58^(`n$)Qg5^RJ9v(eIMa2lKY#kq=K|Tvt!ziL5#4 z++4}GRjTc^zIL`{EGj;|7zAi)!Fxh$Hjnu&7h1a~Elke!&p zdS+c$mUm@Yh*r99j1d7ooMv!nUr~BeRu18j&S~Vl^^D19QJ=h2*-2OqDZpVNUg&GU z^S3g=2IRDy9Zo1hk5$>|&9P{jFu5Aehdez}2s{vM#D|l7ostvDPSdjETp9N!LGjSNZ`2c!* zdmvd9O)a}XDuhG%>`z;T;;9jRO6fbT`wpdMVqH=iOyY5oTmTi*Rn0>X;^|RLqwXJ* zva&GX<1dlOa`;hU)nN6?@r5EcziVahi}4E zPcOD_Sr4dL>AYAE%kp#aL%SZhv2$;>>+|OV+E1>_&YeP1K|b7MEtq0v;XgO7iA80m zVQE|x0=X{7E*0*qixWi!xGlITp6NfT%Iw#&visZ_Y>qw+e|Hb|uWV1!Au?UL2p#S& zt~i+(ho4UzLa3Vuis)z0326cHtgrS2Xg__GcXF?teLC9D{wi~&98(cm`TAqQ^>@P0 zL&lFa8{gWee<|FX$q`xG`YrPWrez(%D5EE`N^z;~sFb>JXWlWEB8+hH!ySHIC{IS# zv0m4&-MmGfJgF=8#-GDOhxeefn>+I8cd?x0?8m>uEPv$StI@_M$YHy@SoGCKzPi1{ zWkh2B?pg41ZNW0uc8{PbKR`Z)*$j{&PJ$LH?$AzufmzkCfhh&YYfJ>iH)nPJ96?fu{&xNatgTCZgi)PFvFE} zBmA~h!s_pW*n zd8S;>)m`fG!3*qhNjh|6c1^ACFx7 zu*%A8H~)}*o|McKOnvuSWaMYS!^K0%qXhJ(Ol?ltfCG;nL{E;V9(;1oJluQZ-&8${PM7%efBh1(KfDWlIt)Mxbze=#sAco6 z=vngepstO`IgDxTr{l+$zJ~|Lkh;IAC~m!a$G(IcbFf6LhGp|az-Iy#O%{vbZ0mGX zdP=YABiSDm#&cuQ8)!8RhL-&R>Jyl_IAWGQo8jCzV(|(kHpHKCxRyknMW$Qnse~j6 zX0O7^K0BhUB0q)A;QRpmGsmBVY3l-*BR(aDqZR2C%nJFWXtSkaPoIrshv~~Z;jbdr z9Vj>mx4R=@2x((Y&%O{26R1a?qC;ekcj_3-FI@pcDC@jP`YJ24?Ac_0UtS3<)$zCS(VUu$?76dHIkc4cjiIpQrIGw9uDMDZEM&jy-x$6hErTI| ze7FS4W}s4)I;s<=0alsY!jLd*C|t%~0ZVpHsVbL@m5^}J!IGK|m)_mba>0BU-Pt&+ z;VgwkIQQ6-C|tW4hNhu41134hS7Z?D;IJ?>C!k03%~5bie#e*ohW*z}gV)HhFlSORN(0n1Nd(>-ygiY>bt788`ELw- z;_*_i9i>^X{A>+0`_LgIzx57*UR(gI{>mkO}`B$I};v*CH*&8foU0Bz;#eQQL7aK)A(NErJPB_FQeDOtphs}J>C*l zN&98ps4*BfUes8T{cX`P6UO~K2%+tQ2)bbe&01dNR@kkada&NQ5af`Nkd0Nd!`OMV z6K5C!b{z>z!qo3BL)QVVkx!7D0?qNAeG-y_JWF!2$mZechFzBtT z40XfftFD7jAO`?aE(t9Ws_4u`7RCKHrcG@oa!t& zO>g9>WGwyu7wDap6Tna9YkzpUXh|f9ybawy6v!K|3N1 zbp=dYO<>x(Isv9x`+8^UQuWZ{sEk^_d3CJ44^46i2tq z*klW)eQrWyP9a&m;_*y%XeFDlg}|x}x4WQQYlB*^kadgloX%T-U;p^lgsm|agm`eg zW>sJ1MRVvc&0grP2{28vbtkMRZ=wcTzVp1UQ{$Li?53=)$schz=RGR@Hek z{!uda{$Lk;IME7B6TVf4&yttWBHx&WMHgb|`tyNls|idSPhgq=9IHEQ5qhNci2j*N zVA`t=fN9&VZ-yXNw&*D}?pJZD_9JnmUq7CdkIswY6)=r>NY(dMEd{PAvg}9r(Z*}t zeem?ykcQQ7l0U-xLkX$qxn?)Id$=K88fY!M^MPrO`zxuh0ui{2;G|u6*gmEd3UoWs zWB$=uTNZ0juEIkEllVad28$K#;;V<NeCj4PN!3na_Kw$K0Y%8i;nK&W<2{O22s*nwj!CoY?^O8aRj@P;t)hIkp`!! z@Qf!VDH~04)PDM^{p5On>BZOTbh;jttMI&BJkY8GUY&Zge%+w1THe;@L}P6FZj7`6 z(<zf)sL*&HAxecb84~QhL^HJv}!W|J`{z>y{ges+4s>rRXSk zWEP&pfTnk2a`$`6)kPX$axi8Kem;B)8hMT+=u4pZlJldm;e;;_d3VcxX ziFH&d^&{)WQnuvmcpQ%1f}Fxs_Cx%bm-Q*{3~*upoQ%iDEkdwg({kxh30LrAW_$R2 z!(5z9T}Mz~W2Wyss82w1>G?-+S&RE|(~w7;rl|sQFWM_zpQlqIantJC(8jGLb%{)} zY$Vxt0+mr|>i`6pwmbI#-stfHuIoKr)$MB={)N91)}V=dDCNag7b*_}+p`N|3lp$# z!WU@Us4ezHhhyfZ+34-nowC5qe(7^5Gsk|oQx^51ivkG-dp5$7M;9T`H=sD~ zshCsf@JI)A_vwW!rTcVh)~kTlL){x8JYp9%zqbX$`wuIQTSUPAeXre*&%-}M*MOeL zC0MgA%U_x@>yw|WFAl};!}C*K#0&R7r`l0*dv_F}KKiN6MgoVCR73=+fU?li-Ex}n9od4@uRxwU83Q&e8rxH`Gsq^C*6wt6W-Y|ygH-{ZwO2?*aOp4eQ{Lp z8^|gVxph=0k{|uW5RWHyY9Mh#p8R@O=ySw#k;_X3oTfl^Tz6BTv^lUGUIH{53RDM_ zCOkH>9cCPYvB!<@d2{|HV@T+N0Ml}hpFnKqPB4z1L^L12D3D6GbMj;mOG}BVa2?za z%|CjNzzI&6M7Zo71B&IZQdXF30%Xd}#MzOT!?bT3#oH!uc5zi6WuEn;ZVvWT*{7iI zk1+yOX^m8m&eQ&Cgb%+I&c=|{YtVlDI8|=3G-vNjd3kD6+`jD!f81zo?f7rYuz&hB z@EkElS){WnH^we57$=^-1ix)wk1h)qqUWrc4)d_juU_5TWFRjp3JI^i4r3sdku+Rq z9S2+gvzTUW4Z2O}HlVMXwdXwxFzv)~cs%$J{AhvAp@P?u>)BOLG8yAH#92)}B{<%S1=X~(wHg3Z&dG3nNUC?c>|EqvIDQYtO& zM|w=OO7-JQ8B0;9nCJ7QtdHIp5BuW~zPf4ynhf?s zQ7YSRx#>_M`QMe+=n{8iVd_`?amDQd=4IYo)NKe(^D!Yl9W%#&1^G}!l)1fV)OI=L zBap8z8eezXXKB@ykv|3EF;NcJ#yiZ_SP2HZ@ zLJU}wgTAzwmQ0z`7SlHJqlS@fs`rtfBU)Zu5sw#6=c7B*=ah$=3ZQ%#u=A$o@DT)L z4cwX30<`@p4qa(6O@L`t=@%qBk+Tr7ZkWkA$xwgXFtA}+f6)Mr=!`71`g12bQwe1| zrOkv}<-4i?)AZP^{8TQ?o3eE1u|-`1(?rf1llRBcGV%8Cf%yAWeqc*Nsyo-cFdV9W zF1jpn*_oIg_80uQ*dS$=KdX~F-SgSsJ9@AEtT9A0Bypktx4{$9oL0beUJ^>Dl+TTU z#RQ(^a?MV_Yf{JdxyuA%^|{kHlb1tFoYuZXEZF@{>l=IejY7Z1ViCzY_LrDtoz6$B zqy2g~oK}T$6sWCus-ughBT8D#C%2#gzZ}{_i$6uQMnrJBqRUz?+pUgKYgZ5EyFNDy zFL&yNxtC8b#jje+nr;q6{p&y{7bfX#jke-$TESHjo5HP>9k zBAEcs#By4$vV0ce*%1LAO$f&J<{KA&Fqn^QT1kt~JcGE*W1QExF`OH9l4vop^5}<{ z?4NN((tIv{vVU(AO;-Xg1nf1j@mTzG^wSEM{oA2s zcy#|W806Kv#0r`%c>xb?&)tikM|_0=tp*?}^(hEA9^8uI^M)4#(>y7Y z+cG!d`F=0pgn}oj2Xz{ElO(#`+m3&>;j!qUFL+ppKXd2SA z7?>7IE4IxaYK9ITU8q5+MXCGh7MfQ~R`E@sn?LrS3CH_)e1L~%J>-<0El%uGy^%ge z<^TytVfnKg8`oIYp&%c0Yj&1!wp0R0l`Dv%6|~MUw7ZIvtIqV|OhK$(Nr$8Ikyfpp zEnn5wkv3O?h?E620jP0AR}4^Ncop9kk4Z=>%1hnwnOBvX{Mh_#p&ee7E@vbI0sLIJ zhUw%Um^Qyl-fSSIqNg=+1+bKvjwDz^CxE@81cIan!0nD-2*M*kT@h{LK@F3?B%#s5fCAVTZO)RL% zhN#An*b9*OU2Jfg(7G2cw0v>tGA_U=_u zHd_ocj}X}Q)HBFF76BIm%!&bfBub9*EJ{s7L2Mk;5hX32HiE5fPWc%bFL(2L^!b%0 zR0(2JycYg71ZPupg()eBd+B9%BC-%~Cp*Urar2X>3arj>}d&$KF5iJ~*#=_H= zAUnHV$YRxD%U>3L-TB4-=|i#j{<_WZ>&Fg_E<3yck40RA7M(&=e95a^=RnQ*Y#~+8|JB=1y zcmzugkEN9PPC#Q=W;zJWnt7v`a z_n!t~$`xYzUN*-n(4}^9FZEkp2V%wUx)--$IT1hYY2i++uT-~$tj_-d)7UpU156V+ zX~N@f5C6eqo7Yal_~E6G7r)fys51JB<*WdBgut+)DHix~N@O>zsVs@&_abNB)IEz+ zE!c3K5uL%a$@Sxv)x%S`xqp9MW=p|-lmiAtN0DYCP`G@)IvLdR*0;jy6xbRxK} zD%R3;;TLbSU~i%YRN+qXPG}Dz-#5eo>*g3SrhnCVr}MwmufkucqZ}g9rmxJxUqotk zYoXFlSI5ctLo9_Jh{?s+RVnC7pqqf+G>Mg^CE+wM?Uyk@xUQGKYBvp} z+bkZtB<1E~(8?VI$e19&0%vu9dHgH^rtxU(5%MuX`E^;n&=T5Q4&VLGvTzRwmCJC$9Zxd%y*uo zZ$*9{=C|pB+q(9vus(D?JIkY^$zA0nVf(hBMu^@ zjMX#=WA8K%bsF-{K8*G+>nG3laeXLft9f+k!olM(b4bIIGtDmzOp7c`N4w2CrX`4)Ity1*@Ynl&7@5H=q!+DJ7RivY4EmMvcO~_r0Tl=lT z;Eof@z(-2agAbg`l@zOfOm>qV~O^n0tn>JNA; zpt3I}eTv4up*WFv5;v^94V^vOsk)VXwG#_#hjNeNrQUNfx!aYgg^SM2!{lb2tIX@OU8eq)uvGSSqd$ey>W7nY_j#V_N3 z!ga&0MJ55&_b#}f?JWjgw2o%BTf`U8UV2dmEdmB&;hoE|2pRu(rrqF7mPQ@zn?k z5Np(>=LLE#e9i8)m@t1lE$59zMo||0X;o}v!a6Luc`2rim}*@!r>x0<>t8?q8&CcC zBzgq&p>;L+%%((^rH-W@kES2Q?7nwn-ZTH|iU3CGMCNfF}#Abc&_664>9{yw1BgJj#6~zPL4awdj0{B2m(a7 zXy1VB)8QhFk^IZuxDLa1??$u!{TmklY#pg7i(jw5@g_lvJT8_N_{z$VW?7}ziv~<% z$DE#yCeJ+!x8}`D*Jq_fI~hP^hUG0fdlu=mq-SW(4wvmy4MLfuZiV)0UHeIn+F$2x z5MbJ#-SGMHD|qo(S|yVW1jwO#%>1kZ{4jkb@}ml1^yQZYRA;)o(|i#A)fO;K^O>KL zz?5l*M>97}dTR(g{A^${T?xF}-KzfBg&RNW7|%IjG|9__52-v`1;!e)krvCgFrz`Z@J0qld-9+>r z(~)Aw|Sj!C^Bg}OwY6z?2KMZ_8T|&dZ%}e(>o$2rW+9$>H4I6# zTp}CAvMEy&=farpOagzuS(zCBx3yKPpI z{3Y}Hx$jN*BhrEvwD43&{o{<2A&Q)q9>jj}i`g#llQj+|C3>ekCs|3nSc2lF^ElBE zu9t~lbtsVJC62SeG#QE|bBcIbQ()>~>c=W%E@5bl97m&QEp596o%vC!sI&@-S{@5j zS!sL|o0ECO_s=#L*SAuegf&?a#Elid**=oes z=@eg?P8+5pG)Z!j6srJ{a#MD_mtLh@78h7$9#|aH?yU&BO@P}l9eu2;2 z2d-=6)r8j$3R)dtnuF*U)k}}X>e6DG6i|R^N0L&pV%BtA(XV%d>NlkcOWPC6WsmMy zgFV?92$D4+c~L_rK+0W(d3d&2J3P>fmdz=<3VgwICC^N5PAsCeG`V*rSf@yBF4-ue zr-T<^+S#l$ERBsq0O=B7n&{3{(%aA55AP3|z)g7T(VUWwy_30&=!0|VsaO(mfE(sw znZ@c_rzR!cz=PV#gi@GCLrFLV$68}1nX0*_PlF4nOs0S7;#Q}vpO z_&I2GtmVF7TT*^Jvx96I;?Z;^^OxqD$*8{0Kl!w4k-;ylmY3-Yl#;ycJCh+TvS@+zTmzZUNYT zdJpD5_$BVV_70Vg=q33W{F5K%;r`F=L!Y+&ky4meu3VQ}q#C{u-PMFZsNIKlVDkr? zF?`_ghAC$OUCUAgdUO7W9Fan{bwdSBIFJtmX6LQV!u z2iCy6ivTJ)g~zKOX{N4{v4l$7Mwce9Jn|*)ii)S-)2gH;Yd?%VpN8A?*Q!c!{S3#t zH-GdjkD**o>vQaI1Qf=KwP%z4eR+i}7ntTrV3{1zDQjEB^`dXerfm1D5sdky91K7GIt(wBfYOAUlxH5tW#%c99xr?a&l$H{d36ckH7*D+&5~b$ z=)3PjQCK((jj23%Y@EGQ_00u0OHvwKFYAk@Z@oc=i7<$Au?d1)_-yp?;W2bnM2?(R zD30FMf}hY?mrj+`ks@We@(5V6$T?d!b_g8;;*+C1&#YUI{a0TFkKvd4OO4_3WYIHZ)+Lg$q@2@4b(r$TRFfG*Z@y8sp;71wYDD+62$h zvBbur@zYPiqe~Yj2zNe8-mYE9nmrrFUbNVkZyoT8sA-wk_xh@HvVWF)xY4{gt*`li z{WaV>c4V7n3bIqz5S*<|nP~at*T1br((-h;x1p@a7^O`4WH4PJFiqMd`BHq8XC)TX zBzaM9E(Dk5Y|BTFH`<}!wcQk$Oo6=0R+I|QujzP<=ZURR2)q3tyllsK>N<;a$wtDS zY>a%l3&zaoTP`q7AxwR->I$4ZR)~Y=?n1NXJmQp%LHrw%6F$EF{toOq zlz~86KM`vJHE{w=i%Q7HZBtv~)*Cq1aDrz#PI=%oT?Z0QoCd2k4)(z4VJ&JxeuZ&0 zT}jDVxMJ2H%36(#w=^9UMy}wc7fl?k*`JF;%O;_F*QUifv4SY|>Xqi(8(;3j(>xZg zXJa>{i4~t}mO^T~u7GK4cAmxBeR2Gn*R95FK&CGDPV0t7{+^T#>yW&fMODEy-y)+^ z&~C=BXcNK>5T@-6FipOK4WK?d5m|sEi>IS&`_Kj_XL=y=E-jXQw%>wI950DwK4+Z7 z602!{rdjaiSR-!ak(iQHWy4vidzst+ve}Fq*O>YBImc|(0AWg-kbG(cOyijJkx>RT zZA4%mrxulUSyHAv#`$Wa87VxqK`gF0$2BXbB|g6!K-3d1Xw^jYW92kBQ%4sojxNs| zTXXRA>B3@5W!2GV!e0ScxbnujBn|=P0K8=tm-pjrHyW*T!5c!}>)>a$^ zka$!XFfphg91*@+bms%p>Q7tM{bPy6v;rQh%Tokukw21DQ?3aePENzt zIX7cy*M|AwfRyu<-5anVB_17J-KkG%E@#rVv#DF!a1sB%LngtS>q9D4rY&Rm%?aml zn4mLHZg@t~Qdmph0PFlp^0tkuT?o?1rd5R{XHP2Nn$?lHLAjsQ?8?5}AUecBVmvN#ai~UK1Y>4Lb#0ohAG=u55@mcz230IMm zH0;BaeRdRA!f1RWEgAQYV)c~!e ztaDg==ru%Vts;$m71+!|ITb*f)R#y{R%SlG6&HOe&my%1r18kFd{YKe@>gMO+xIc8 z|2=SbmAR&TuqPuk$F4k@gdR!R#5Or^-4lq;+(j#MqElH2DZzQ6ece0%O^wDoAkak8{(?d*F2?WeC=6WX3tpC@wyH^dagVp`KFcw*FJ zs$NzcS&5~mf5SaJ=g>MaKMAo41K-J9k?Z_CEvZ-YUeqscwDK8=b7?W^UIP$yj^|xT zg7k>l6BR(Ua?TQHYF-BEn);&41Vg0%41Tsy5MVch8V z{>BgS&&!`e_txEzo}G?aU*3)c9_OsA%++8PAzbvPrJ+@{n6~kTjTqT|B&RbC3(&3g z#n*p+gFF7X9V3Is(Bc^Pdh5`+5%`)|n1a4RJ@LhT|5e9%md$SS{w)~!

P(A4zaw zKJ}6dGHErfonIUL_U|CKYbzR9v#geYbjJ8O& zo)N4?2Jr;2MH~YmoSa@UsI{S84d6lK5uAfCChq^aH_{m+^{=s%!*6Xrj`szCG z3!A=8FHz5!S3C@)t)^0H&I)pNR>he*kDfKO7{!TH52i(sn^;LxI?P@_meGf$3N7!% z>F~C&@~D7B%tMYP^dvydQvhllm2Edgolt;O$SI$_f_iN%B;w>y)%0h`%^n zU1}K<@EOPJ2qb8Z^HSyXI+@govaZJCLYuT=UIgqG%Y!v&t^P{BGWSePM)uq}1oJK7 z>2^bDq>7+XIsVK^Cr8DacW;B&7i-`?Vw`mykojC}SI59K7Ejf+1u=7Q(ub@QJy^*hILG9fp>l{YO>8#b!=@$^Yz@E!Z()1iVI$rFBUzGK&%}+oCCK zmc&$y3tI=DX0%$wMx-})>q|MSLTAEfpCd0k97aDXBvCBRxQhi$qxBb>uYpfc0DSMd z3&tRJuu2hX1?o&;Du^SBlyYH;k4N@<@4_4t%TAq>Tgj77t7-dtdp~=BbuTZepe?DX z2w1QHu8nC9vo4jjWO|X@@|QN@)bli1Z3BA=8TPd#?dv>X8iA!osbe|~q^c?~O*Lno z0sG1#o&z*-(O?9%3g8&8sNA+J3#(h^g(LdIM0gA&Xpp;Cx(;JZS;$H#M92VN-1PEj zTFfFa(!nOKl*NO`c<%V?C{{ka4}tw?(JV(OvN|Izij*q6eqp;xA8zKZmMg)>kFCBI zevL|h)u(k)UUmWAyKXU3_h!Q_gmP5gI9ReHHaT~1A)Yun9ZlN@7xS}B*7f#L^JKx7 z>+p}ewqeLvf8^(|U1}MqgOW+zd-KT9-&d#Mr$rMn_1a5!;-x`pNd!y&vhWZxGqdr{ zfA_(iN0Q1KhyB8cv#b&eTv89Y@xZ3Y*$58yYk2*pZJhAY7kjZ{Qv#as47MUJg4V>z zxI)zrcctEcaVP=!p&kMWdpc+ld`x>JQXv+PQ=ZpC9q*cKbgQJzvhy}|bB;-ft7;S3i--TBpHqHGygC>I9fpec9J#)_kiCV47H^$Yk60C&>KJf*EX=rTbx>XMMiP@I^pY zKM`Pc=Q=Yc5fqkJ1AQhcL^juBxsJAEwhLN@P`BCgD34E6bxQYS^TWz}=JR72n$q&( zn60X0NS=~Mb%AM&q5x%)1eRUb$$-(ls|HFFdc|7W_9GU2b&$tW*1%et@I>gBQEmjs zZxN5XC~%zSiM($JPM7Diy}7vOU;%p5GGD5b!!zlpgl9EzA}{5+3W1a?h?&4NHRr2< zi1N~xv?W>v*_TI_@|U=hwlndCZ$?IpVjAaWG(&TaU3I-wm}xzFsmDNXg&o8br{d6q zN28~bVZyiCawWjDP#)#k$EmSeZP8NQbTofTfN6yUrWtA#m?pdqVwxwia&h4P+tIV7 zSl?+_fFaGt4-f3XzhY0LFReM{OJk}9Csxz8^Z3B6gT|v%Pzd`$TF~I4Kw@4Fmc~R9 z0O5k21gNdxk)GE#Zh;=bO}P1P1&>)31L%|xZODrrRWTGDXm=ET|5Bz%8tKZ3czUPM26 zC)_D7iL&p?K9|Q<50+_NP8Lqya5vgFq1Ey-WhyUTee@T*KYvf&hWXt5?nN+0fm6Le z)k^NpnhN7);-@~H(9JzWSsl`rHOb-&>g1cwPxkM`qV!|}Kw0h!NPqy-_U30{L$9$I z)x1N4l`jqC*dDnY%TGScBLv0zmsn*guf^6(1gxnF&>|nR2YrD+uh2^SQB7k3k4)Sa zxeQ_FKBv{SXj*k_LjbHF=P|P3NK3q#1Xq+M*{h4P<XySYJu&_d zg!(tUeJ9;-ezp4>ynFm(boK1W_RPtm)6ObME}TIn6eZ)^3G>k^s1@Qf6R^^LO@}sN)X$@EdC+7Y9iCn8{za(-DtPdu zm9Etpf8yw!w9?h83-wyVvdpJ}c8fPJ!L>h3$H>sJqwtjS#43E!SI|2Ol>+I zPhRynI=AkmfQK2`nb^2*Bd-7b7WDJ%Luuu@2sMTmtygWOwY1j_MPyMCM^ce;kb#O#(+~ypnO00I69=@C@c2AwgsUf>Zw1 zJ?(Ng1tg4Gh+&`0{@9Wo%dh29x%kJl=*;nvFdy3l^V#oI)&`Gm49`_A(e)~>3Z~xK z?n;WHJv7Ps+5Rf;q)e{d%S_n;*Q3U+25DP1BbvgsS}$saExu?d{(XsKqh=vuS>#MgKGH_f7`v59WPp66M&irH=d+y?K(;c)B8_IZiOTipWF zq~xm68W8{SC&+s6ez=UD#4~iMs1#SMKS~S)m=>1=x6y;q@{t3mJbvv*z|*+pzro#)=Q`W!#Xh}y zeQzsI@-K^!{pU&;LqgcWaA(9BSs_m^ip4ZVs{x)7M`1|jIXF$4unh>f&Y40~r8cE~ zQMo1%dC`a+IjziTP@2S+T(!*UdwtcZ+dr$XP-Q{U(*pq?eGC@?)-^CW)04OL@9)Hc z|2qkvVV>&PN#TRNlW^w&)1N z4M^FQ1-H=hKx0B->A2Qp2ucfZLHv$P+`sX1^d89tG3s`E;DzSLUtjOQ;yZSu@gQ1F z%Wy3FT*HJZ%?z*h?s)w7>)`F@9Pq`ih?m^0=Fe}7cHqwIS7Y=z0@HYOszdhHGWB9P zZQq7${BhtGbnn@kUu$wB!3Le9@ecrf`i-B;2%nhUsXi_ zRFbeIOF&VXjzqkYv@X@xnwLNPdIX;@ib9(v9tz-96M97p z$dRDOqVw?leO)kNOuO^idsWld^pygqu>$NzL+S|6ToZbA2}I9soY=9F>H>7H>pm~9 z2zNia0(&E}(1>T&)fSLXEZ8oYKN+DRK6O@xs`9;j znq|S9o(4RA4aYvrqq06g&+oS!GGoNgX0QvP)wHU0-_pIv)VI38G>Io&pBvZK?ip=_ zF9Bv8j#o&ll!f05AeE;%e!Rh~ENn@cYvRNTSQ0-d9l&+LZys`mw{2~(GM?2W&kG$_ z>PO`4FIt$rJS-3WX_+sc!!y}RtgiFn6s#sok5cb>q(`id$-Q=bRP`y}jg;#s0Oo9) z#k5kfOJYc0o5ixpEWx1=(X&cIo*$Q3ZbVYxM|inl zpW3uFTKfkUgVUsr-MA*VFEJJyQxgzK zpqTV?0<=Fyz}wxSE%1+iBhG94y6yZL9){~Suf#xZh)-(U37xs2SirSG0VYZRCyhzk zlP;~gxB08mGmtCu+!1*k>q&D6H#syotvv47N0%^VpB=_y#$wrP4>#@(-FP&Hx|SpD zRR7BdB@eZmeMxFeU*Ldcvh>`k!vx8B@+ea)(6J<7-Q6i*T0u5;_Me1-A+3tr zV%_Cp=EvTHgeWJ-1% z4##anMDivitnd3-_6Q<&$)0k@(QArez6S9(Rgvv^0AZ|zV1E*LpTb*<+-LM*%w)NmP4F6;pMl~Lb3jR|Y9{I(Uia_|+@TP1s5FMaz8p68LD zy|ViuEjL}sg}sdV@EF4*sR!`T(1-EflkchVnU23q3n=&dU1BymEMxbli%eQSO15(rEBF1X&Z1umTlJ`#N@ylQC9wm@pxv=Zh|Z-AlsggOJJ z71ts6R}4~*v<7OSWl?ovpsIh73$j_)lcNd~9ER-O`x93}>)a}^ltCiNJC5V)#B!RA zPYRUw&)Eu;W@uh>OKDbdBJCVYAbKZ!79533`z|aC%VfhSTuhOxb6}bPT|@wq7k-Dd zTW7*$%;h|{H@CRzrSPh~+5^+(eGG$q!u>y2AqO;Xqc#$lHrfF&%@*6h;~$D*65u~} zI7WXq&w3PU>6TbwKK0_ItwE)&UW1H<-@@3eDHUBk1g3G}!ZSV=MlPJm(WF*wS$g5Z zzQ41-mwHld$*#imvkqtXinmlulmi17N@NGCEGSLF>Ug5F9i^rHC9HuHPz#ToHTLO) zz*k;nC*aIBjihwxIt`%O{mUV2p0OW(!)ZN?o0h@{dnXG40!&Nan2kxRFGG*<9ZMK! z7ck{aI(}^X7u>3Fl&6j+^`ja%X0kCS4t+;v`wg*q)E za$nlHcpH!r&JDb|ZE@SnlS;poCtK9mQ_1*uhsE&eOY3g5{Ncz6Fs(4bgy8K;&l9GM?;))}>=TxNyfWFWbbA16=X>ud~pkDHl7a zUp1(*F0-#JZN0!I;eKCq2xm@a;#kC4{PIO4T6HC;N{&0NB^G&d$9UU;JpALaHhAN$ z8!IENUcT3Wp*0&$8vqRzI?R*>6b?yk9Cb~+1 zh(6q$o-nEdn>Ku$bo0wsATp z9}iAxj`yFxiVJ_0alih(*MOm&$1E8Bg9%e=0hlIS@TA$a-+83x?ps~ZyFE7osyKfa zdY=8>gq3G3XwETPp?Fl{q*^3cb%1G-svMtrl&5<<(9eLr9eIQ)*ZnHhO^nE4J67(t zU{w@pB#6xZ$i_-Yb@*E7pdm5b)y9C2@8h@s4Oq@LMipT6#$5Dc-6o1mIONFro>E_` zo_UQHhKol{9MOR7S&zEzBsl>Hp5_#iD2nn^mRFe>)&;2w>M4Yk>dC^1TuLyBCbPS< za(<}xFo0>3$4$K4&Pj|U5F@+BouFgR$ZYByH!81i4ZtkFE(AiG(2X1D-rP`(;W46Vw7`)x!wtfFJMv)|7Ily<3ByA`>U z|5|T}RkXC6M5J?*Jf|Q7Il1`+pn1W^BLKk!g#`KpvlLeCBA}4U061oDoEoVkBVzaA z-A#QF>N%Mf*{ECi&qUeJH>DC(caryU@O2x;aTG1K%f@~Uo$w{kl!6w%gK+=2w`d=s z0j_J<_`mIR7;e~hCx&|upnf4pp(;+Az3wD*c;zRWk&gHIv?KZD#Q&nPUt?tEXX2i} z9zYyHLS8(&QlPcsT&c%m3lnff@OZp9_BjPG`)=FA?$)$(@ z3?COCd@=D;1p73?@4NoM)xTYZp+TdN#-n0wl;|kxDzv$A5q@vseniebiZ-Ebus`wu z`h49RgZzf`=x$Cz>7?)SclE{gjLmqh@9TJa+EdDZN5l>c{%$ZP(OOzIkE1Nh0u`tl zKLRVxXPXIh_s36jzK1`LZ)<4%re1$PbowxQzS{#M8;#*uCc937X;KAJH_~Uhv%cL4 z=uR$3QF77Ty$P+OdGTXAE1X=yiRgNv3(a#`iCM3vbVcHxDRgs|^rk*}oW;UDxuA`SBD4Yr8HEQ{9^)g1!utlHhR! zA`PSkDgxBRQl|o_$*5nXNK2AVT%N^=bcwTn*7xEs?{!>W)h+#`9~0mht*03T813q% zNKpO~O+a6iFXU&?N?Hsj6f7hAE#;@iWwtcsUc!mhEg35&$G~)aJ1nOc(r6lWm?uF! zQWj-Fjb)K&+G*1Db9q-u-{=cVCaqV^ISymBBjsL9FQ!q$bC8sx;I)`^wUlsHxzUb3m}&gL7GR z)oU?z0Zy~=sBS=MKVdKp8Xol7|+$3+P?Bxh^HncKG`b>62iHYG4kET%c* zsI)Gc#WdE9XUsVm3u)Ni4k>M4Thd;{iJ$$w_^GxeH#TSgtnclw5=@4N#R>6Qzn6D% zFHYyBuU6j@e-(yp*pie4mr)}TIQLn;w5M9fsNYu&Ogp;%6#g8$9sVN-Ov@|{Oe^LY z$2VfxD{#0k{M-5PI7=C@Xr3?*H#-Z`3X!-bjX+%b+p0nH*#2tIHB~>-r_j`Zd$214 zd(#}JtkjlqMy8)mt3G+rg#@EAHD<5k+QJDijYi_ZA9#egqDdd3^>xQ>mzJcHd?FK> z$Mawm^A0kGbm;6;cNBo{`Nc{5Df~LilZ!cOWmif`$9x5JWhyY^^r}Rd1n|Lpiv`dc zN&*s;XGGTCeDr#(1@3xtG6!?TFB{B_267xaa0X*~e}_@y{E$oVN}U7Kgu|>057tk@ z={)ot9*j3Xz7YXI-pVqcK8p5YFj}`g$@{NAjw0e<8WIwd0M0-$zwzbUN6@S@kD#n* z1J((Gy=V?(>;4?P`a%!<^ZBctNa50tqU9`X*Eu}-)<$t}d44=qPTR1O!wYHlq} zc;H4o7oAdwD~1H)z1Jowa9wqHQy;==Ioo$U8GZk`8$Fx2A>E1gDm~2qPrx)ScQpm3 zNw?mJ;F1%^b20a>j(GX82};lF&5-&aLsg+sh7_`4ef*pSW4<(DkT0#vif0X-fD=*( z!Wq!mfVT-wZXRLe=7fWx zQyC&fCZrr^6D)XVvxQ%;SBzmQ6TRF=0WgKp0^9Tb4R~Ruz?T}H({+0^u?XE(WupgC zQkm80Hl>a^^5zB)FoPC|eOV7Ogctu}Cl4aJ+S9?k)S&>I52l;(V}`jHoF?g>W(HSN z<^~24$U%bD)I-wHPCS@^h1QI$U*^iQerdf*5CKyzjVYkTD1t!vtjf;U^4`BH&b}3121_pe_4B0jE{PNw7ec`!Fq~zS7AX&rFn~v+SlH~LwVdsaKZk*PH{mLN z0bW~x8LAAb6$=W<$3;UXA(+6cMQ2Z7DgRFK*h)Wc3<$tXob+S)T+0jO2GEq2?Fo`_ zqh7Qg{h32>+tRZqd6W~u7*vW9!;5JyE6Bs%exuN*ap@ygb(xlgZ^!hFe_)b-BgAt< zv@^eWpVYONQmZn)Dp`{$t!foP{1N&kEjQ8`o1TL2kL=?ZROl+b?xVxYRcMoV+Le9Q z{`OZHVF`So|GBSfnb&pwU%axa_RQisd4PGL&s0gNJ0h6hU53Hj<6PlBDO`OCRDVHNRMPrG7O)aIVg!va{ABOUJD*R}Bn27<&*mZ@3HH zJv-Ts^0X-p^0a(cR=e9tCvQCn@;RIrfk!(&fIA1?u9DdqwTsq2Z^K9*0?r7k)%EX6 zNbTu@DEu(t8?+B@httWCxMj^9XzkX5hJ9${zyT3b^Cs#-0T_Ke;e9kBFm3tn6_~PY zGOh@^il8wbvFU(*0Vo~JIfnbY%*M0VJ)=^dxAIfmxBXuBv6GQ!v#g{5lgv2PoQ{=q zmZ3>t6MpoXhX)rtjIhLA2z3uuz&Hn_Rm)4PyUB5&ZTwne!Cha{a&p513~7CKCjJcC zzTFptJ$rDj#3L=M#VO|k+e@F{K%fVM+4I&%>Xxl>_5E+;U9;iZ@0e1AH(Nyd^hX4+py@= z&*E7sy?3FqzBu`?e-Yq{<@jn?Hchkv)3QlRMf$7~ zQdJ*Ai7iZIK=wb4MiY>989_d+*jW%DBmgy)ujHYnPSVu()yZ302E(hUyl3C90B0US z1gO#Kl`FwTls^>Z(NIzxP0puSpJhxaa{|?}RAeE5&UP>FBp&A_f^f5>#KC-W7yo|Y zI!YY(aa;18mn{uzOchmbZ6w)z%UmRV`IAMs18|#t8itUz)^sGlhUT<JP)q`M7i;9`*J_{??6X`{uvV|B1() zo;X!R%SC@@+bPJ2h(OZo{~|E0N&N<L)vsMYUmSJIq&q(CkF z=}E7SC6g5K^CHMd0kCvIOC`YtL(-ADI~Swh>4NJY9n&E7S+Sf&CSpd9uhDD(j}NKp zu3ag9Irkv>d-}TIEcra_x@LIpjcX7b>TCOoiA&1miGXw2RT@hJTg==X6;RrV!)Zv* z%)~bz9fWVFEaXwf?Hf_0DOM7IvggYU-A#Ma@zW3EFyqEyEISv|W#^;;IbEiR6Un&m z`CVw+gvXpX0T^<`66>Ow1-S%teDu-~G!7*=mvto8)SPj8aYlpF1o)OuAZwczJ{UZp ziPE7?CS55xnoqwh*^e223&+G!VlAzlqY^4jt#kk{4!+B9g7N^p(*fb+1^rOWT)^R+#YmE(`kk6DUV{tISEf zsshs_H31?;@}z~wh8fVVdDX0?iAaiE{Itc4W2szc;aZzK*ThM5o^FiI{5W>O)ke&k zWVI~Qz`D)iHXY03=9{m`MrW2;zW1!EKBEC)9A!UyH^&(BF86i%+X~^g)Z;dOd@^i( z4*C!|mO{A<=8$M_js+`e(RosP9$jDy$BR?$pMS*T^{9Mw<6MH%9Uk*1@?ya58=E1J zdZi{VA}JqTeu?L?W(4;!p{npu$`eGPI>hsF|J}w{Lb0F&{28yn6R#n@)X(wsN^HFbMRpI&iHWV zb&klW_kLQ=&JcJteEVwj;UaxORT^TIN^XHSdH7pyHVzCL2R{PS?%che#svzL^(X;& z**kW#v<710CZsRMHgBt5Nj=NFVQow#P7=)KEgz54&x`3U%g@Eaw%stZ3pX=u;Utp2 zU$U3LG+Im>?-!&%Z3zYWn9{lfdbemxOL(>;JykANU0RwNz7P-6Bs2&(ZTFdzSWP-Y z-8m;`hsjqu$az;=vc>-Tx$IT45G!o^30S(nZ5O;WWkyYgpJkK3G zc|DGyC^+RLnxs+4!Q;OOOxu#1gBIK%ats}DDvNR>iRHpnwyO@bM7V13Rh&n8R4SL{ zCU%Lx(EUP2UNS!4d5>zltUZ?3$%=DOUaQ;~2@s0m8r=uz+;{-<5ew?F9#s=ZDixWf zskP?E71Anppc<5xO=~doHvAol*+<~z7D}*4U09Agzr3ylR;A>HV{E%;Fm1ry);g#n z?dPXP2C$S5K~zW z%38Y|$LUER#eeL9X}?d#<$+TiS~C-h<;caA>3?A7%{wu$(?BF=Cgb|~H*pK8h#(|u zzbtl7{ayXBJoz`QpRoa>dyZ1s|F&ZprY)apvzF!<_*RzA%AVbMjPBvw6PVL+CSJPX zMV88rrF7wbf1n+@HR`2g@8g{nMLCahm4(pA1vnGw@$Lt=y9q?{@UiAoVIOi{YW2fI_$TE`jDzU~&UFYF zWJR#N>VL76mB%vsLOKOZE0ut%07Z{MEaJIQ2IVTiElrS;BOS?Bp`1I)5uOMPWu5t2 zU)ua?bgZWU+@v4XptQr3g=V!3N)u|OttIV-al}LLeg0ird36~t?zPT=X?pcOmw=Vn z&V67UHG=3=tI0lHbR~Rj;O4j_xQ!l+mY;k`K_%0Qm6Hy6aj!P?z&F>s;65Ew{wb_o0Ik}W)&>Md5s z@@ywk#R+SF@i2ILz#P68p0B@tHH^0;vlkau*I<&Hw#(|oe z$T1zG&{&RB>8K6W^23x+Urr+8&FIQ{n}cM;OGMqAt0{Gm4gljC3sg-+IEa^a4WCvTbw-C6qqK}rt8kWJ+Iky z78?)5D_~jykD=AH3EkCoGW09~rd6+hk_}bqtnFz#6O)Fv(|$(VW^Oz_L52;&iK;tk z)2(RX@4%uAtXMM^SB&dHeRgRa&s_CVR31`TC-s%dHMBdwFd<#6%5rSuJchNAi@ z7I3FdTQJ)Nfn1Bw`IQQ2_n_Y=rdx2s=O&23S+yW5FUob&&s&g0l#a-elt%@3B!^5! ztfR#dls3GD0h0%@O;w?=lAb%)UJjnN-~$5Yy6^*1t`(PRYvqzx!3!ys2B!UVy%94; zR}H{dL6Vo`E8(BgXGDpP{xb_n-0PFNttzJ5hjn>`9~wLu?1B#`S{Jp1caEyKA_j<# zk}1}XbA=eZ?tEa{+L2xu+m;^;v2L9ix+t1R)N{+@@$#7xU|JT_YeFE|))@q*@fdBz zkBSI&@J@jf$ix%L1?cok9J+A+Axqy{?>dN5%BvCk{sXkOws>?PuIU}1;yF{sQi)z- z4|=>4LxtAj&+Yhs>|F(5TvgWoq7(O|N!{IBs8KhHQz#U7c9Dg}Sy*6kXR$5|{qf=y z*}A)H>TRlN(xh?s$^74WZ*KB3jZD&+q#3wv=Dm0Qo_p@O_uc!wbK0?i^0ruC`CnVJ z&IG2_Z@#K2Z{Z!8revJhI@K;)|N1_wd@6xyB{b#fPN0WloQTpW?gt&p%*K1;hU0+? z$7{0LUT}b8YT^7`6djXjV)M#POAt&Rlm65C@T`j`po<5O$EgkMwy4&~E-l4R)HKkU z2LLsJ-(*W8g9qKiLLx9Ysuh7eX3pat*p;4)l^LfIN`RQGX(V1c_pOHb2jQI|6R3ev zz$dyKwFRb4ATTYTaYaVR^}3$@X(BCH(^@5g!cRl@x|_<>4Z4nFBWoEnBExg?*d_9|f7p5iq0$=HAq)R<9N z(E}>h*Y6c=#Fswn2BJZoYMWcqTBlfxsKxcqi(aBjwsolJk+~g zZc!G#SoaL#v)3cgyB*(Os2#Tom)nzD!{P|NQw!(evL0VyV()9tDf%?5MQ5f`^JZFp zI__BV7r2*GI;gos#8saZ6H?`Ca2(bu}W1=xl zfN391c;BiqZ9X-oU91Dg2!66%=ZM+RVXXDYyt1Z{BG7jq@IJF$k{E-}d2!LFcy9nK@JXWtjkNn%K!KDDpOtW?NUMtiaOSmty>&@m2Php8nz) zyt4Zx3=Oydr>XtfTp}O!%9=~(0pZ*Isk`ymxX1CvL$7NsQZj7m`lXoo#6Zyok>*9)M(r`eEaBkxbD*FRoZuE>}Kwx9U5|DftnY~=XKy_(HM3zH<=tpefGPi zL5okzOE84FTxWHAlD>n<}FW$<{N771wVDvYV$#`E=tIrykX3SXXC64crZq%Zt zoB9-x8pnbbW)0UO8T#KpnEXpkd;)6Y8e0Hs4FacW8+F_>&7!8Xr|y7d-|vpsl&004 z@2p<5f^~8Wysml{eh)vdx9=R`HRl7&x7ZM#CL=A{!KK@l1ue2#rekv8- z-27=h^CQ0w736?Nv57O zZ%SYqtLn3FAJ+k+;ohp11{`zR#3W;rZ8gWoqip#yxP^vkyrHNi<5P)Yb+4|~#vz!r zd{->|Kll*7qepXM=A^479%3cACJE}9z!nZ zqOavee$d%&UO1vwTGp~gu%0v?JCcUw3yz|g2f?S3((uE_hY%1&P#O;>9S%y92C!-V zAs$$}BL~~IOvk{%om`sFGP8>C@beq_)uVt_xM5)J+q3OU;Sduwn;ke=gqI%ZfiV}f zJ8L>B862OO%l8>GI(N`b5Ictt$%9<1OF0ibxd@B5WTIUpwMjV0+^Nu41E#Gmz=Cgw z;=&28Ezb&z&A8!}jrcXb5Sl1^lq6s8W8q#OaDoj8?) zEql}O+vXGomZN>73BmrJ^X1> z^Hv?jjI}9%_ceSzf^J!#-VAj(qN;*kk&$rurKF zrQX4$_ZnJj*mRFO&hP1>z%({m`bmI_w=K%UtZXy75hYREHx))Y>A*DLUaB_xkiazQ zFOsfSS!hhJ?uFjM1Dgm;8(Ix8ZP^9B7}tToG;2JS&fcr4(=!C7y<`BU<+I%p1g32? z0@H*b^>C_Ahp92G%k0zWPI=2uu_|P3U0FqNEXGn}-O3BYF}f?Y`8KePb(PbU;Yz;b z6qjHafoaJ^#0QaCM8l5sjU${hfN84UQojO%(9>D}dM^kg#r39ymX;$rhM}%-KPC_M5 zFP5Fc52L;%I4ywp!t1uqmLj&#)x{SraLag5Gi&$++;HAVtt{hO)izCYeirE^z=)*M zJakQ8jh+Nn$XKg}lxNjU$2NPzx%MS~$mNY< z0mOduC>AF14AQ5KW{y#+a<)#I;z#-{$ytccM}2`?$K0aL<<8g(JlncDBE9s%lb=3? zH}=1UVgAFoKTuW4izCXYZyt)JOazy2ELe->6p&n+35 z>kNr%k5dE4!ylIXSh)9inqZ-q>`B>t<0$^3_UiJtX~i#LHx=6u+(jUwqOdg1cwbXv z9STe{79w>N$M-Tf(Jm&YKE;ZiteLeiL+zyA4099hX#w2e6+k89*9)9x-6+;Hr9JIT zP?|J~?>FAuGdr*e-jDnjzBm3wZ__#QKG0~uG;>xq60W%sVp=qy+oohj-XMsm6T4%s`uh&6efyE)K$Wbt~!5PKig+XU+GuE`^qO{h+a-@ zVaA#m?Xpl zZ97^F9N^NxwDQ72B)#@J%5!pw2&E8F!bK6!o+|}Wd1fa3MvX$m4cF^=IC8*R1yI(q zWyqQJ4b6^5Q@1;}QdwV1N-9F8Oh(|<`U{9X)pbOiysy7T(SQF7_x9~I6AO~3;z8rR z(a-3w-HR#D-MbO^!w)d^=t1Gk@#|v1G$jCv^Gfj34NH)}y9gd(+}M=EKp_I1k^}0h z`|AF3uV`qz8sixKZS#PTSZgXPvE>)bk;aS~JScDZ-ZZ@z}dFo$mk^?A><~zkd;r=+0d9v23S+(wMI- zJw#*L+8wz#9CsT!b&hdKK9lKDNL@_e)l;u*K*DJrNU^VFOgYYR)p|H3Ghhc({M! zR4%sdPs7};srYUWH@gG@6w39Ypgj10Fx5VFj_^Y3FmGzcssW@X6*5*%o~=%nK6L@p zMAk_ijdhdfgybyj+?$9+YmZ~bl4M{#zf?Tm3o!&l3Xo5#SYIcb(4ho=#O*7@!G%-N zwPTda^Vv&3n(^~t3)<3dVyOe=nKwHij%E_)-|m6-(F8_IAJ)<*(x)OX3b}{;HcfgK z@_ax8g3-TP$GDP4J|a|UC2CDY5ch#lD&6Wx6P~gkQe#AGVUnj8!DH+8Sn%Be3p)Bb zMq8R>Pqs%e_v+TrO2h8Id!Tnm)`_03_8MR%r6!LaSdotplgiNDM2%lU06U!0n0B9N zOq)btnjLAXi=ue1CXH#$37A%2jcK7=Q|uwZw_F~D!L5Dk9Ea7>?_Bp&PFgyjezJ{qW{x*pQcn2yV37s{yk1Zd6>%cX#W; z*`9nwCdywvU&gM8X@^z;!PIEc|rhP z>Z(k6DvfDUS5Kx%<)O&fn6@~-eHUsZuNloPbx@;C?j>Ju(q>1(F)TcJl$s+=+WJDp zGhU@El~(R0tU4#4yFli-BqsywF1ilGyY?iXxgG#gwO!WbvL?+i7vaLRHPjeZrtyZI z)2GU&&a2Q~X-xaXzYDsUBH&MO%z3o{(~Oy_zO(JO67po0fYkUW8r2F20+Buxo|Hc; zo1d}$EcwY=Q9zmhj@^U>G|kqD{qAgyX;N+&+Z|h+kC`3%;m)puSvOsF8r$ni_ln1U z-~AzWr_O@ES9^|KF1{V)be?b{$R-Wf_I?i?BlHIW(}Yg z>K($5UEW2IPY~i#<8amT8_~nmS<|eh2`1(z<%;}OrabEcrb$giGuh69{kXf+O?YwI z^O~8(B|Dd5(r*(nIrJiehVr;K6NKe?TX0j%<#^}1HxcBkukk)w^k3Y&=^jiDz6iP0 z#O5f#wa`64fN&Y}uzczYjO{nZW#>&bw%_>iEj+RQF^mWq#Sh$MTsOTFle5VsDHsto z6rbHc6F$@!q}DI7hj*d>d;M@h_!ycXEkJfsb`@Zn@L{l5Aa=#?z@Go?L9Z^A+WZT+ zuDj}~Yq0Rta&-1-uk&ydG*{-5Fz-;r9@&PC?{379enTqS*96sRgd(l7hrrYFIX82E zG>)L0K#C+suh0xl(Ll@GJTm9-?=%l!&Lco=B)@>`%xR3kxGEadl;E`1Q^`s#JMl9* zV_fl9&vIW=dKE|IrJf~?(16bZR4U4c`QRp$?|GMJz%;9D>dq_;pG8SBm4zg&&3OdD zlCvEiL*9eug%2uzFpc#VWUeJO4bjj43tp{TX{I%u z-A@`Xu-wvP$B;d38r-{eBS?-AOtO{Ydm*2?S63rRH9ryBVvhItaRd?M=H02&IVI?f z^>xI(g$L@t+`kMdpJc*&kXNndI8}K{z9||Suf{k=e@P?HMrZU>_v%_*JQXHaaVo!N z2~1=C-F<1+ac40eJA5TtcA^Pd%0Q)AOKYHu{HPbvf4?>tpZ;Snx{UTmNpS<@nFHt{ z@<7Zo!rg+DgC!U;r6n$%)(`#9Ye!9Lx+y9tMxVATIZdX@np{O(D}x$0=<;%luz$~K z#BMpQ1L6v4x^dM}#IDLl%WfvVqwrNx=Du3;uc=&n{AFoOt@$`{z>ID2x1e>KaJJ2L zH*y7t_Ue0Ev2AY_f&;n9Mfv7PCuSRqsb$Q^!`GpDt&W1V0Qq1EfYzIvFE!NGVQh1ApWyKC&fV!O0n06mEru_*_qbbkX$@S8hCN%cp&tb~N zQ`bf#Cd6BRXSIj;b#=};8vfL(9e6c~=ES`{kt@vSAa^D(O_!ey$zEzDT~J72^wses z93UDuoIpAyB_&)y80ieZg5b1qE&2XtO~XsQom!Jun(}n4#x!Y51iz{{n3;n;_uYzK z?b^8Pys3!)^7b|ODlLhoHmModfqbU&ug_KHOabwDav^qk>y8LEQ9BBOX-5k3sF_Bz zrV%8@u>I5obq~#iKGuIk1wX0v&2Kw4;mXzXpnz%8r^0ihIW3c#T&8#Hi#DMVDB;1E z?CnaJ{K%Z8-OIDlu}pbamHZbR*oEUXzv<5d3!_O-NhjqfXZx)D)m7$T(E_)GfWWPn z-;6=+Ix+v+K`tt7bG#~g6cbEwH-Tx(%=u_Vvr2{|J%=<)%F#5Y5j^&`Uk42Gi3X30 zFpK~-WB=GwnB=9LF|F`tE&)%XNli?C=JH@t^ghU%TePVO9|f%QPD7D z>^+IuP$zOgWKbE3%}Kbf&nE<@^{tk!3M5xkNzxax=cMsU1M8=NU;7ic;k~tk(ZcT% z@)|V}k|!P4=9*ei)nDYJJ4ae}X)GQbwGizhy0Jf87nmlke|P=+`2OTFF4obPx3fT#A+jH3Sl0+|Z6xl8hrKC%~>CgppQ*LN4kVe9QH(JrbT zvhuTV{bx5*8*T=*5t>-OKjvr8!QE}{!5i1SieNwe!{z^No`cKhUqM;Q6MKXJ0P<3b)R=MF)DBsfgqpaQ-w0yEbDL zW{m$2?!EjTP4-HCr60au{sXR?JsqQ>#v+#*QgvXOZpu@tE}+V+(j0UMYKtXrEJO&+ ztDEJ+0|GzdP8>$pd%K`_i+&pLu_>A=V@l@paB2jMJ+U1JJ~@DH9mTSRYw}qY8dHvy zFT9^7J(qFgs3m2PvsWrCopTmf=OjA!Xw9dntZg988IA%XyYQu-;5ces1~o+Llcn^I zIHT;;ee_=?ZYrpKq&p#ty059x zP6wtL3zj;IlYSAtJ~fruH;{@~fD6jcBFeJG5}yK9$1)#@Ebu zK7A+6cm4*qm|?V>OAUg;Q%-TDvMCtl+t$PPv!(DJF`o6->*18*>Y1tYfoX;cB|ZB* z3SXQF_mMqBMTa4z@>c8ihMvAuX5-L185mNp!`%ERB;)DFQVuQR>@t(VAQd!@V8gS8 z8y@cQ$r!tH9sFWqv_*p>7l&t8c?YHzI&jdZeEB7c)^CJ+C{-%TBvxN18(xjAF-?GJ zg22trLW_S=m1pbLjWaP>X;wyFDl`*+I{jB?EyYsGPmxs{A2Mb|3nFP3 z^6|&;2qEpQd8>G?c3t?dwK)8IB7BF?glUmXr@AxJN%={LqMJr9J{zxkN}?q%oXLCYS*mKSK+DK*JJS5 zKopBg4%LBLZ#Lo&8A#St9#ngfms84ZCoc?}&=$i+bwan^F^Gx|g0G)!`_|wTBi0aH zO08Wfr*m=SP#WU)XCj|vl$uL$@L&>F{+={xeBgPoKiM`1a%0k`zKixC+S=(6%m_4TZ| zhj7!(qv+p`ram~9>$9E~KC%U-$pN97T#dYR1{iH0H#$UiP=@sO=bD&oN9A`k>m=Ko zTz>ISuHwWzl>7;xD3{>^Qgf$Af6AbazJ+KL9f+_ne|{M%^3K8~Q&o_fq*K5&Ghg_m zmyLB3Q07URG}yT(5z98l-% zVJ58jWGX^~d|j5$lsx-kO*!scQI3(^A1`XaYd~%Erd3q@nh9*V-W`Lx+HbB>mdJB< zP}@c!modyk>gp&bb90@J<;iQtyv^lUlgPtL?yC^n4rZwrs=X(=%-A1)<O#CewMK)VE(%0<5_+Bi#Nn$S3$%yuZh2nX-K4P9gS z;XniHTD9iq-jizAXM4Be&V<9bm|8C!shO`~E!ItX7IF<0$wPq4+IAsGFa?X#lBthut^AFy@lU|H-x8Z0;Y)!DP_I^1mIoOYXE$BmBU8uCAXH!3Qq{F z#H43hUM{}dw?i{~N-xbRURUGO_PM64y;#@X++*H$&7Ei;PK~xM%4fFie>{By-YiYW zP&b;itRg9FV>awrbgOUS0qc`KF_`4nj&v=@a01f=(AZF?`c%@ZewKTYbh$h<&ENs0 zXj9APJ&$(zZlP;ZlNg>{fTi(6yL$*s^J5=t{3MB;=%l{kZ12vJd@Sob7UQBjx;%d= z;N6xJi!t{w!8@kGPS6}CGKL>y6JS|nP9QjK<{98LHAhMJ9!ZVG{*?6uvgIMlzazRu zosX!%HdT6F;_I9wyv2WZ&5M$TKqKN&t{_M&Y3Q)cmW2ib|t*sj!0PJjrJT z<%QJN>5UoV-b2eEp4HGDPCJ4p);@*g;uM<6Y^!ONI#rg8Z^nOt_F?U)p}P?OT=5*X zWNk-F?`X~Zqs~`6vSAZO>_ zZ@gCS|1JF#cdfe<7lvM<$<)Oe^YJtRaZg_MI0Ah1kChkiT!P8JPr`)Y3t6snw0n8e zr0$A>9XNc)Ms(EV8s+U-$abx9=irY5LM`637?Z!8j8QEJ^kN@1r4v>a_7rg78k&q< zb@ytF>PIu=Tt^8gO~%F(pFWAV4tz*pP;pH@tDvt{{*==k zFi!k~0Glyf_{tbo0;(dW6K+_z2Fl@P6+c>lnVVI9eSnzJaEt0jWjx%}697;xnvNY> zDVdXH<4nwUW~IQqdnw9~e8J}!TK9|4>7vcsYDCnxbiQ|ZM#7S@37*%khDWcF%#(f^ z;HkcOHIw+(_LVRG6_&4V0a{Mt3mG>?>&suVKBA^Ix4=+f_+-+Nd-7UeIGGNr4Cy0k zQF9XwdLArWo+V6p)0dk5g2MP04!1~x(^QyR(`g_!!JDKb-)g=SEr)T#+L@p36?^tJ*N@Nv;s-h}ac^2nIrcX+R-vvW3_VZ8SLG5YUN}@XA z>nWP=ua(czfB6OZ^B2NBf)j=ahx)pv1g2$WqQx`+Y&>9^^>jr8rrmTCk?BOmHwc(U zVNBaYZlR$F`S3%y`|$+V+8^~L|G6GtY3N$}*>-HZ;~)Yr@P#>7A8^*usL8gPhGboF zY6}T0B&@-to~Tn+u^2uu@m^kuo_2yE|zhkm~jegwA|H-3!mZ|?UB$gyPM zc1)TwA5+JNpeWDIlTT+g-pWiKL`n$YqA=HtVD>@xzAezBPc+(hjzmnWAcTbZ!O!0W zlaD8{s@#@U3o+J9`b*kYTvUdFe44_@D8Ol&)=P}fMS4mRwZfIr>{$^`#HV4)n$t)> zUW%wLUK-z*3t&nyu(R68d_4)iOFmeJkyFF)**7<`9V}mpZiKR(*sN-^R^#WV-w)uU z9|Q>d+5iAR07*naR8F8nG&QW2kh*t5Y7L?z=xELY9t_v7a{rtbxCvf>& z`_aF>iJMLA`+5*ndO!oFrIzBANm2O69sR4ME-W_VNJ6$|rc=|5Rt*@9O794s(GP@b z8_ue?1r)|D2_7%G@rzG0(vO|g)=0ghebK#LFxt?haagDywE^;_l+Mills^6Ir9BWH zLan`4C+!z7+V(vOSg_^k%I%*lxHL}H>QDAyUH=<7n%VJb>pFt>dmvGrAjS4LEJRDG4Bs<_28j) z-OF7??}Q8s7SfESANMh&u8rlSe8Ev3J!Qe$>n-TuBid*jTe{FCgLLV~y_i{l^8}Xw zF3)H4;)-zzH5~RQFfC2?673-ApBmG2-j{KDIIaE~(?na^5i;+!)Oh*jRWUG;@r0G> z?Q%{5RKDMH1lPqLB>>Wd6gl{DP)jR;X;B2G^=Ni~z(?!N;O0sf>9*A6cDBB1ze_L04~ zn&y`-HTi1mq&m8wQG&$;XnI*Gh6aaGvqmU>NjwH$>*2GEdmo0+rJ2uNgGQrIM2z-s zDmx{jb>r6^8!>hD{3;sLq|%a3^39-yfb%1xF|uXoM9v7kym?TyJ24)= z9*;w7YI76qSrTR|i)^1ObJFjGorJH7d9!%>Ul11Hx*w>hw#y#69QeMSwF8e9p2P^6 ziYw6kR1C*lxn+dY1YnFNxZ>8p?gZkO)0Af@LfxrllVOgSGbA5zws{p$!$<}{u1h0O zC5u|sgg;Ewu6Hm!1$XVF<%MSbOFh6(=(<6>l$_&OGG3lOwDVcuUpOcokrpnP5;~n&^9I z{O9m9xvo4@e74}gLfpUOah&JdR|lrmHMHs_eB=Wk&Nt+ZoU&Y+J`BQ}qh3SX&^8*` z)AQ5u{-zoDIC&Pv`VB!=SvL9v_ri-~{{@pL*NeF+xNrI2slhIr8f?QjuNU$i*@M8e zvMRu|`2?n2Yy(US@(jfMv^n^6%;&g$+^t%9+YWET;BN=xvd}A$Sd@fq`5W=Yn6Gfd zsOvNhSQ1GCrO^t&_~6L|j+bcK=<6bhmU+E?1n}#Q__9-2f7c2`hqiFt^_i^s32a!m zXB{s1?*$kcF$Q_mm?kuJ{tQxmr>OoE(B!V-!#MotcC;b@L(T>~Sl6`dG>m;~61*&4 zw8)W8dc?}h8Dy%hXrZ+St@31VhS!Z7;NE#C+a#Mw zj(W>yz0NgfZJ%X5L4Gr)&}{4F8Zb?NE6^)j8_862Dm13~lNUx_TnYYC5gOwv{U?st z5pcfM_(cG6(nj)zn;$i&Q7*c*?4a|C_-lP$6_n;iP?~c!rRmkwem%JXd}=HFzdH_( z*6mmysq4AHZ;b;?voc`DFTW!5s;Tf8dm$|O`h;pAlXh#%i0WBgC6e5WQ=-6l760nO z#oyK$<4IU;&l0A9X$|?Z)3$7tjHe|d10F+%Ao$tm2zHmFT-S68 zn6~}r{a7hQGPX*WsGNxBmOFFa|EWj^F*p3 zwgjE-iNrlKF5{f9S|crUEvJAS>(?B>lu^H6{J0<#=gZ=uiQ1_cNs8yatYHLDR7Ma} z2>~H~{@!R26Nr{=f)Pngc46WE2neDf4Q>Dn5W<^g97}1Au8iQ0qCx?sl_5X3l=r2y z>`ikB1h!^p=i$WhOzhd5jY6s)3Ge7hkQhx}FkPcLw#_fd1M6b*@Y+kg@Wj)XY2wgT zSxxcT^3})juNeo>wY86CcGDSbCM+c2w9MQxv^H!qFGqqp=!0RgT@6LYX>cPf6{mWH|exp^YMN~>lx0n1QP zUlntX#yqPl-B_;bc^Ut1erLv|K?J5bVf^}%v3||8VD3fkxcGegw5G|jT4=sv zUpbDZb6-vNE);{=(~)NpM|ewy#dmAVaXg1$McM0faM?cOtBtw9Gkx9g!Y!^V%cL6= zpY2F2#lYnS7(ifJ3h8T4tN#S1RnkvsOzX~%0c6|T9-j0ipB*l?;7*!4{^W{ir^!v} z=caZFFtq4M0xsORpL}LQGWR-20*AOWfoYtF8Za@agPP50S@{A;EE5X!efC4J`B4Z!E+Ia&49d63gSg-2AX)4Cb zxbLz2#3Kmz8Ow1khT+7lB@ZRpABEIzRa%||KhKUdzu6Cw{#_8}8-qZfaI_2SjsR0= zow7j5ioBw1yu0iUY9`8M-^yIY1!)sF(IQt^mWK8rBXIZVSFB(=XNH{C(A3_CLRBAQyM#5`_ODTI+RcesE68A0a0T7=tQ zgr8pg9=`l&!&UjLf`_a?70d3QVc9Z`3yAStNXZ+zQJz)AcJhsIINun_Yns-!vP9Zw z?*O;xF+g-L9@y|pNZDMY4Ah;fqoh;!5+cvyjDGU0;u)@zpQZte*(M!5SDIZtUAiBRrUweQYwefOq3BNh42{sopjzY?_8h@dpl{#Qy2R$vqY zKAZ!$U}~FF_10R|v_FjkOtWzFNfuGrOP3*S;sm$^Fiml%^q;y{*ZTIUZMwRi?a5#A zkRk5pi{kaG(dM<+ao!V;S5(!WESg&!#b1x!1%<~Zh$+JGQxOe?o)OcSyg z>11R*MYjr?8RA;Wc}7~5mkO7w(NEp0YjyEdm|VrFIyFmRnlH^r?xfkIN7~@lw=UEh z#j@*dbq3$>v;PVF_|_i;$L5h{U6X$T@9BKsZf+g?VtzK&@;%*^(E) zMs+OCKg0uTcjRKmdxLTB1Jv-!IyB_4u2JjVz`_)t?I2+2Z!hgc_cqQ0rb!j0HwB!Q zS7_!T5b%$CdSLJX&ee3PF4{vQ{Yc*miwO_sQ-j~fpKrz^&mF;pv3@9`MladGca}2| zn6x3j7*AZ)694+gIA;}ePUNc&LJkpl+U>C|1ao;ITQphKgS-+|4j~WcmEo_wgD|3Z z7`|C|8Ve5=@MV;tp&sbtCuTa?mwXnjEUNpI*pxify*-3c)f2fUYs{jgBz`1U#?5v& z9%|~N}X`PuDXmpi|_C7Kt!;7 z)n0pFs_?9Q3x3}zW}WKA{tadkDOa?m?L2J3e|A{VjS7v$s;z26gEO{CC?-xfPz(KQ z!`$%1H6C@+!zOvNdK8utKHHyGhMr6E(U-s~D#MfQ(>mRsz%69nH*j_G05iQ1j-7#8eDl6^p(^v!;=Fj%x0iz_i+BSWT@~vTez! zG%U%;;Z$6+#x%)8#z{Ws(|bF#L@Pf5;?%!fwJvuCFiq+hNIpA3>kc<}Y=@b*Oy{96 zWjy^IMSCgZTycueVpC6{|Mu0mWiuj;tb`jTnQ%+r?#3By{o*ED_DJ1Yy%dXmr6^YgJj zDV}-gbDk}a*gjWn73XHY8}B8s?)H}L@!AzP*ao}gv*NdTdB<=`?k=YR(}eau9I+b+ z!uZg?GkTjM3ETjNnP^_e$s<|Hmcw)&OCg5`>ziqgOnBy<*o|0}pMwtMIrR?U%uc4h z52Wy*xi=5W<`2D$8kYnJ?7DjzLQB=Y^t@!u+^nKjRf5xs&8Kipum7N9 zWM8a``vEKCpF)_=2&*Ykse#BXkwyH+!*)%375THIJeTh(8I)ax3@y>XbQgDi4&7T0 zs%TGLwf}nkYluz$9)aHNxX;G(k0x*){1`Q-_z(uQyaU${d&KU#H$hd;x<~~WI+$_@ zQngG7yOOx|AS7PQAf)_8kgR)C(3y55E!&i&H#w~Mhrlzqm1kq6+ zDtXrkO!IR0L}GC&HP-gS+}D0b0M~B{n704Oe)PPrC;GJPPc4CY98FEv%0SNmnj4M9 zvll&w=kNPh-9x)^JHa`nu^$CMV>!A3mX*V;z%=f&HmMUH;20Nx8nrN@lmIpFmISDc zB|wcIq)>)wY@z|wB(BI(B~KOqsAp-2ileULrMH`hRzz)j2~EX9lxP7H*zd_QUHhDR2vlC!UQn!fq0^7clhR7e^4=q%z zVWC0}bKDNNwdndLaVd`ic`N zpU)wFYgAxb{_fpK?%Nk0V<*FsS9nH0N`KfgqIyCTPJD683#d4 z&l0za#x&akjg^s1>f?-gNxHh8?aiBv<{lV;!Zj<<_46;#=hj=agEavOx}@VKr)aMz zICv0gZ@xuSo)qqXn)0l@tF5O4XJg7!3UKrGrp@icFx_)60<HoDy=i6QKT~3YeC# zCmFx=Sqc9U+*Id5qc(1tof^LCs!EV&aYj*5U7Xs&CA~3?x>r{TS5EmEuM(!@UGoE` z(KH7&S*2~s!=;}Oz?54#nN!BODqu+QSz^r9M;wi0fuscjtgCSrvX*bUmtTLp! z!kq6H5bS|9JF@ZPcM~ve`p_l;OgX=mdI<^)cJOdI{`UMfw2AbhqEYAandI)t(nGxN)KN&B)y$L_A%f_TWej0GjNkvy= z>qGO6%l8-JgTHsh{dc>#JhRH`_|ti4_m55JY$9NYl#nGzeVl9wFe#1_G>8le6N1tD z`s*)rVy08HV@Z~dT;)oBBD+L36(yb0fNA2P&p&+kh0E=8VTDxKw|JWtXfmwSqztSSfh zM>If{Gs=@;xGs%Ay{YcFcC71~ixt|bemqU{>a7>#p|$u~|0KLN_a`t-m-}4q)!US( z$p01`cROiD{+l5|xc+?C*8ZXZ97i*<(P{Bk^q>~}Tr!`dM24e*Y3oul@!RPPgxjGp zt$=$r4^U%T)H$dzP3RlRP31$`xp-sfKsA*apUDOniTqJ$fX3MaINa(b~i@5YAZwS4dxbQ z;M1*l6BI@*qjJ#hRGO2gttJx9mV5%s+9HbpEnm+V$_9Dct%=h_HVK%6A7pB8uKIlm zHJ>GAti_{awxMNc`&#E81&~^IXg@a|gc z-T1Y0Y>A4`60#C-)6zQ-?!on_rXx(sscn?mhACNK%OlEP)mz_p@F1^vke@dd#NxrW zcj4v%HzLBHA8A-!TxuMa9A1k1jy!}P`p&{NeXrI+O3kHMdT1HGiu(r3b18?s+u*m0 zenhx`IDX&!KV0$MyjlZ3-t8I>Xa2&fA0ni>m_^Ty2()im_78#!<39@~nc!3OJOw6P6_dsBK^zU)q~yKB=fv#f`{BIdBqy8s}93sCiNL zwHQauTm1-3;@Q9O3uPTUi?_l%@~32};w5=D+)G?B+gV1_!$)?)yz5I?s436Qw>RT) z<4gm3Tk}!L7-E+*7Nrts)nP^iXreTQU)&9X_iaCOgPW!wE9$KxyV%v*K1*s6%3rt+ zZq#5bPLp%irdCHXYf!~SkHcT~v81J0DQkaML~+`Uye}6foj_UkNn*-q-k0+}Yr*n_ zIr#o5d`JGYl=6L)?Bf>LjvKKjU^&5HvYA`=4jfkmJW_j^b{Oikn%ZP6hp}nf;4$ic z_&@V5`A^=JbsE~lY?8-D0j6=LV#BF&_2^NY>eLSMis7 zankk5UtPt&x^VHgb;fuSR@<|LHD_R2zuCW_^VBO{8<=JtSS88HIQ_y)6aoR9NE)zc zlMSZKO!$o&g@_xjCu6YpwTaD^gBtj39S>Q{mLX@>w=_B0f)gP(#6&n`WunD1|Abd- z9&WoS!&F>7M9-qOaEWJ3qwdvJOAtKPbpd&%^CgzeHg{sb2fpBoV%TJ5xc)P9^w zY+2ZQ5z%uzxfosB`r@{0I%9BuegS0_QUXwudj)uOL}hIAOwTBw>CQd4`=x{E-Odxy zGy$1UV3DeWBg(8U4;jaS)b6!-ZXW*k^I%+hQEwOLGwDZawxCwJN&nn{z0`UZMU8Rw z(PpK@gRJUIlrI4UDCASN2pCOR#>zI;k^8Ltv~robEijEfRq~Z51yTznUyB9eY}!wh zz7`NhQ#b)VwW2Dky}##T*{X>cH=^qwg3q$~u7B6(W@Hxf3v({5b(!Y)9x$^2W{X(gImYVT{|5n+X5?wS3*gBtj_^d}qJaFXNdDZEF;F<80Ff?sLglwwxnOGmS# zv@3|^tT_!VyWJh*2H9uc)Nw6s+?<52BF}PZQgS?jX>kO~hEgWk12X&*n5K_M9hg>( zF0)U=UQ?dJXOSE*u>_|5G&&Sl_YLBhlLKK#b9CeKQ%$958?|g(VqO7SFWQVwj95wu zA_l=6;VOY?k$Ccge%f5s5K^k~aDw%maXcAe1Y_6qeS`FrXsHSy@aw+Ltzi;PQ}nBE z4=UO?Lt~oGX9T8Y=HT7&7vRCkW3_h_N3KO3(SMH0L(wv$umD$WSVUuBI#|LnT;`}+ z)|QXR019Agv^5uS^5+Yv@KXt2F6CnYxvz=GG=D}ASV%*hfUIQRSE+5wv3)j{Az^;x z|7E#Zm^EY^ZWub+rTI*?T>;bLc<9_UeH}(nbC2kWa+ae`030A7?Sp{sXyX;EX;B-Z zX-#uhiIx18%LC1gY^N9Zc)#4c4PT@sqYDo}MWb_LIDZQC{WQJzKtxOYd%#2u`cxZF zHb$MCUxwboQho*b#g@mAQGA$yJb#YU2Am1htFp3ZK{-TeVCF%-r&cBx`xVl`p3J1~ zqEXq8AMUNk*!Iuh(t)?vDi_KL1aT*SC1f1Id#kR1KTU&DC%2Zyo)R4y$IIOprwf0< z4gD8kSeHo}&0STSm6|tmigIw*!h19=VV(p`h!Gj zySmZbxCuv!k0Zvr1s?2uA4YT-4wD=_TU}C4GFBg5jS#;OjO=g$HMUb-HeF6pE zT_64hi;`BLt*Ir~HrzmH0w-K5{2~8R%o*79=qf~qMOSD%OU_8fd2fy6x0w+dP*bWX zV?}99U_=N4R_+^xb;1E_H$xbzgi z!lbsW$Z`BAxF6g?qS*${#T+waKCL~%wN)McB}_~&@}0qQ`Z&z7b5Wj16NkQh+vZ%R zX-Shrl2nQ`I@|1wVa9t&XB$`Zqo*59!xrs=d)vRk>&Ewusa*G7^+!P-%3r#h>eKl} zt0zAcp$t%Ds*Yr~1gVU}^F{KjzV@mbt1^!6U)OWh)K#BUS~<;>vWikuQI?laV48gN zP&Kahq&0@`qB54K$OX;ua-O-V)K6oRAp`L@RDaIU-iADRsQN)Q@HrsI%7T( zR@<|LH9KG$>+BZbk0NSJ8@82S+zcA{hXAIPWo9Ay&rsko%gb=_bImty|&$*=O(_HjKiSFaLr}aY3hEMDsHX@%@BF1krOMr5PWtz7^Rj z=p^(~t|nUA#!)mjUR54)RsCSRH~Oi#%FlR}FjZc&1E!HDJ!xW5fNA%voQS@oJG=A& zyXwc1k}~}LuCK9oVX{Mxi`XXT_Fswql4nk3E0EWnD@NAT}Y4`AKiLX7Y4OVgq>puzD~ zpZx8tMzzuWX<~87(gG}=Jq#1a{V@PTMI~lTe`OPXKT&|r1WXk-5HX~H?-Yq%a3(BGW}%(s}nUdDt3z2?q6T>(cT}kx$G7KlZg58&6vh!F_<5KoTl` zL$6}qEs@~2$?e_n;&d@1TX#-M=Efyku=0@ew5CZp0!lkg8(4+d?&TU^!Ca{Vkziy)`&+jtL=t3|macXtCKY?j{U9$2< zeNA}^al^<|yYtN0c6lTQw)LyXt4_i`)Nv48}&XL@uPhDC*GYt4oLzSO&T8Z~4Mn(;YO zNgFZ0>4>8`$)gSHzc)1#3vaj*lLz+Yyjgj0X4|Ib{w%#DQ&%nlEO%~Pg5;7S_;L@& z9-!^H(RQ|gd{vZ~2y;F+{5eL{23Ac|vTC!`|4c5eU#p}HV;;sbjpf+pDq*5+ZD~#h z=8nA#7x$w^TfR8EDv(39Upv?#$0g8A*PygDXve-2T5!w2DUQn^Boml6h6k6o1$Ni8 zrgirWM0;v&QFU=j!OV1XaXJdzEjW^%iaU32MmK`e3agQe&M04K8p;E-T_pwhuyuFb z*K;`e%XNX=)zR>~?JwYX_DcA8MzZaWm>sGsrK+Dc{)MN{qMt>3T6$J0TKM(BJ!9X7 zmv*43m!s`#kaIO?2+L6}HRlxGTy`=1Jlimo@b$AOU*%cft0xchQwU7E!k+m>@)iwi0zQkRc{vYJo?vxZ`B_-AZ!O+g z|2|e`FTsSM$$ZB)^P?wzHeujL72nZUX}zC^FP3C3z>kxD!nEO6yELCE`pMeh@z0;c z+xtGkQ2+i~zpJpuyb1?;5oB?o@EERbcNsqX>-&^XJfGki*@NrGjr%rX*nfs%RODFX zP-BpMI3)aJ1f~VkMCP94SRDH35W2MMQUPkqB1nJqBjb^rpMn6+&t~$KjI*Y40-)Qm zZ!1>6w+186yTGO211e}N^M;J$0-BcoA58&^smTgRdqu2s>qY_8%qcKuPy<=i)$r&x z9B$z)S#{Rm7N8~vR03QRQ-+jh=6!2m-v0sp{NZNm$i*lXC~0w&yk&D08;VzboTRHR zjUY5d+g5%o+zx4D8$HIdBNXk#4XebqSn zI!XDdIlHE3(&uHL%S|;)$z{A@mUE{gM{mfhga*5vHd< zh0nFOlg~L0&LO-;qXN^)3kz}b`dd*RcZ@c418A4Ek^xmG*mkRWR#%B<>{8{gt~G_L z{Eb&*KDOy>pCxXy1g81>p=9k!jEvodh`xRP5WuwZq9P=}^)}3D>6(d2ZDKKYd|mef zOv}oK@6aKLROU~uX^ea(UbZ}>{Aw0AvN$72BM#T4qh!= z>f^)73w#ZoOp^_zCr%*ynrq~R9)n;j{a&Da1%a0#J(3fAqyGxgI zPSB}(I^=34L`i-re!6xE@(vclgQf`8Zn%+7Mm|t<6TjNx)D|xFS80v+MnCZvr~Hgp z@mF!i0 z_LOIhD{K1Z227L1rYC_6TlSaWWWw!e)hb+jp>B-L7JEqR=s4>Apt#tKXW!U_V~GXu z6Rl|t1PnE_egYa3^PcJ1vJqB}v4euC-Kiyd_lQJTD8E{=ak9xFb+5@8L1-$Dn3g?$ zA|0#OAIE1uAIJL51sFEi2Lcc)D0bG7h${Wet1nG?F56LvJ@Y1_R}Y%|AkC|*_n9f1 zua9)u6En8q&2{PM5$c6p%D0-tSxq9x=x@BYhbs2Ow~eDcvy!r2DxyXXi+o6+t<5Cl z+;&pKZ~|uHj+bEnuUDdbM;^}n0r*UM<;9=Pm`&hUTR+iW=e)l1rQG^8(}MNaxMNsP zY6>DKPJ7SS7>5<9{Hv>t!Y=~+ z+niX6Au9^d&({t74glfohn)q~;&*{B#&z)4_)6l{*QxeBGygPRI#G-sKGaZ2&wQ2< z;q8Wv(_#=p(5qTQ)F*#c_rqzr#d`m_OnaqGB>r(08q=gm#Rus{CHUyrDQYtW$L8f&NT5_JPp@i$g(~j3b=7&HF!2X`)ZtJb0ToxLtwKCC2Lx~|bLr$1Cv-Nk z7dEoIcl1VA>}g`{S<81OE{GWu)z#Js%=AMw5Iu-)B0kp>6!QWxn;;JNyH=LenX4k z))n9lW6W{_H!|~5k&=^ubw_@~;fz%@^Cu?G8wZ4Etc%=xa6Dxd@4|zl7NC7(H?9kK z<{G;wz_ z^(59G+<;lTzQy8<1sE1EisQ;3g=SsfrJ+T};v9Z2Yd?QaKP)CNZS^&)xjq}|^6N9T z-u>{`8Ti}E`*A_&Xs)s4t*No7ZtO-20tqY=GoC+ABQS8x)morhBhQ@of4FDKmU0@OypEuuBsKoFV+P~#?s9Q1GvSblsj%san5s9VcGmM+=APZy-GA$ zA>q}L%$UwLPEGM`{p)(REyMV%(rWK7>?0kR#!XKHXxkY7oV%Af-zS8Mgx16N(&)J;$L03 z_}e;TJPE7qS;CqfFijS${IevdVeFRG2#AT%76!J9OI7e@BS35-k5}s7g41TW%aP` zCItApqmV$)#s=X@)n%i`oA1ag;!1FA?i93d7p~RAm4RtWp8flqJ$U%nMD&j42DWIZ ztD!G#MUHw_S4n2Px6MX{scTK~jp4R&But#P|I7KNh-B z)DXe-nJd2ssO9IUi^}ob=5h=Uq9!XR$}@^A6!IJ*nuw$SyVC={_K7EruPB}{hu}0T zexvd|w5CC!rKd(D` z5g`E>7ZXmI$9)5~p`oHq)m2P+o;Tw&Bo~(;h$n)b$$}Zn4f5-TV9ZhxM_ExbMzmB&s6)1 zc+h!g`dX}|=Co)xYFJbRbi!5jNj}H%^MO4PO>Hb?l2{ z74gp^#JeAXY5M+l<52%>OR=CZ&kf0Wzu>m>R$x$vF4p#*(Iu#cMtKp^jx{KSyv9FO6#aSIR?-0G~?6lY6CXQx-|kpFD_FFrl- zH9DEv^Ft`|S#5*dC@7?Y@+_{lG!kB2IxP)b2@K)hhyD@q9Ut6{c?pZr-lw&uMNiU6pVdsDd<_gV01ZCHl({oTxO9pa2XervOW$fN&I^4UDf_qe3 z4U}df$krS?ALS=!Q$t#N`Vn|X^V_;Cmi|>j*+KQHDI1Rv0@Jp_^P->NF@yk5dFT2g z0Mp1@^3GQN)Bn+2>??4K?9aXR;)=P%cB-q6e8xD&dt+Q%|GJ)yX>IRS+U5*QgKsD- zo7TZ^_7-^c8?0kw_zrrmxW>_#CatwHVAAVvqVUOQ;68dZEQLj9EM-)uD*~x!b=9)6 z1}d>(yw()1@-to~PjQl7Ty4)1*6e_3WHbQ-dQxrpxMd4q3MMM|4>F;qQgc_~hK+C! z3D!+hYCT+!9|}tgH#yw{0}(KOtahygxG9cN`5C!W`BisiJjs{9ue{Y%8Okp^s{-ek zFV$H3oQ#L>^lRY}MewGW)npo{IN=3qODj8h62)JA1q8^K`xLj16CVMK?uP z<5e}uHm!PA;c_+lse5&;E}jaLt2kAs<_1jT`!>wfq-1L4g~t|N1^*!0WoM(DH9T}` zHSMp`Z1ersYw*C$R3kku2t}fbF3)Fb9L@ZC7k*iqj2PN{D|43ZJ3IJC*vFGElmb!{)1v7)WymHVGuY1q?V?R+ z-^vdyB7G1U?gNv_6DDsDlyF`x<;M;s#bwCJE5^yhe4I$g#n$~aVYs_Uo0GbB_Cjm6 zO=Lzf0cmCdwl>9BV*3PuW)`pvEAad07b7y_j{q3bH*`Lq8;9FJJ&L}q`Gs#O4|}aV zVH7cPFV5IKDqLM9+;}g~MyJBmRlZl={psjmG3j}fTAcpc-wplS69~usJ9}gclVSTw z3o^JLMvKN8f65P)|LF4$D{ACNd+M!PD&=oHVnI?qHL`L2r2Os4qrPzjFqFnR59ad! zs|P&cXR_9x{;ujceP|lXe%@1rX*-J1kDB>JV_98IR;E1frE0Se|J0aB9xuY z5iLarslni(=uo^pW?-GXYfrYu{z%9#L~>yx+5~=<&`N2EUB9w;*Y?vz_NU8RHzJELZ7Jmq1O+F~n zKI}Z3UUEcl*pr9eH%5(V8Xwk@)X0Cv`|6UYaNDafZgpYer(AVZlyEU^yN=pu;;y+9 z?ZU*|;2#43sp#@-#wNU2oQmPpbW!BgRSMrLS!fP7CR)3j@BmGE28y;c(t8libp^A0 zajGA+hkE=N(;X*Z-~dgS1#tg;<%z?1=E%NA2c=2X1)kJGfN3=4w{gHk42f*}hv6>; zOxqT}7<1wtATVtJfoU|)byl;EP_?m~1$nupe3!^Wm|rK1>v|J1^HXsobsG|Lw^A$F z8nz^uYx|DWxExMUlJIhw_SaZ7v@J(8cL^xYlNv<+KJH8I*|@gF0cpRQH@}bl5ijn0 z1ATnE)5IeAtU7_O2xb%(S|-+j+R~_aDvsnKPCZ+1q&_-8jn;4oBspE0N|VVc2=fR+ z58p269MBOh{bOh%wuJ^HGI{d+qNp6^QZtHZ!n>d-AMsfyaUwGwo71;rOYS;iap9MfF*0f_@(6xz z3MVWlT1LGIg4|rNUaP|OEpNo=E~5}09FCWlzOE?_@DO>xcoJXuveJ|%({k=TQgj5! zpytv}!!e=fI1K51KIX2QhflVDjIO~w349cJ-84>sX~N&0@WA1c14#Zb87;zjF3WZ_ z72h{1C9E>avg#FBjz7&!q%rJt?xj}>oJOsV-G!0aG+-J(iqaHUP)raYUG#x$WSHJl=TGyK2a506d+o2m_S+r~E0bE5;(Qa+xE+`rxpk1>;BDJVRH z=~SmHdZ=f06@R%GCk(6n)m8kf3m1P|XN)IdwLME%a|5PnprcbM2pTgSqh@{#4`14w z*92}|L*15A&FIR zQ-EAN8LujNS%06zMBu=FewD&g9yzsAjCs~&+hibYAi%c(em&E^y)K-rQ6xy5Dq5c9 zUR@Of5{;&D?=)cOOK+2p@u`tc!0eT@<}ELh+|2 zS}IygJe9`ws`4<#G2W~A)x}d`auuh_Yj(gi?kJX~nGx2R!O6w|-_bN67Y}2LsrDzIn`olxtWeBvGF)WZn%Fd+B67~8*+NiJDx%!c zCCCF&{PW@AwZthQ*siHG!P$~h%$8>6nbEtWA3p!!Vhv#D>dP}F&z5gGiSaM)#ej}J zIL-bfW~N$KlX$PmzuHV}JR6c$OG5?{4V}$RV_Fag&#|Op+%q`_AHHy@wxqNniOW3- zWajD6g*oZiL_AK&Xit(VR!>Dl66OP49Bjw%{8roBHgppMuz2g`xF0Jt|Llw#=0N>iR<>N1ufNoC4Y%s|$x=}B>& zu^gS@gzrRqX?3PNBMIPNe{~E(2^QA@-ZrhSaWd1(Q+1D{DbKD1rrB%C^Z(hq4!}5y ztNq=bPQ6?1-Ext8@7=~W1o#61LdWz@s0m3Rgqjct1W2KT9w3l}glej7aKXLHvMm=$ zE^=2dS0vs4z1bUSeU@aElXS9fq}wtxJ3I5{?VI+^dsIq?-2^kAM}YZz=XIiX5ZO+3 zYMPr%*V?W%Q01MidvN8(-55&L=W&@w@IyhQXH?F*a`1yqKXW|VMTGff_+Df6GtUwx znQv_V^+Meb+tV@m)%P)|T|BZmr{NFLBeLAVv?{{Gv4M4_`KQPUlq(5YcPD7t{`o8yOe`()~$!FceBk}GfHz1l|Ks_GQ z@lMyXTHK)&cp+~i?kwGp>0GF$0VcnEzctZJ>LQfyJWK%3Kx+hUju}8xo?&pvJvC-@ zrxrEsB(AvHA)^>!vWU@c7~ zrH?(EV`6INWVWKn*Kc+n3jHc9o|d54Dn&3*;i==3+t7n@u0BK$qnijYW6Fo zMzlqo?r29KS~7o0?E49HTE+`y>;rMFq6PS?GOOMTt0jcmsq@e=Y8Y;x{T%ZsP|%tr zpzqVI^Iij@7VrEHm#?`A)1$_5BNP|dYZDwzT2$|gg&&xS5Y~x}QkBL#m4>r|ib539 z1Y~XnwF}<|{XOO}OJ~8=7 zH#&|cFV%OiZW${5{wiRa@RRVPX!nbv=C%EfL&(iPMASGVc8f%EXm@Jsb*prZ6k6se z;JIC;J8^dRv+%*=|3nn~#BHU2#)2yO;aT%0JX^2fy!u>DD&?~xw2)|-IyvQA$!t}? zH0D*ei>ynL93Cgv*SYp?A%IwECKK(J28S9+D`qvlMeeoJADh`vht+mAKPT7fc^*Wb z+Pe^#wjB0rx53(tc~Stm0H<+nWvy$N7ZBxHy9^c2PKBl01q7xEF32EmC7EhT&m6~m zZGObp|5W$pXML~rvj#A&6`JytPKkUE+&B~c=2}=2+8OuaA0V#zfN5R^%=!2enJ??fLhd2Hj7Q)hJW*5N=@G3X2Z;ru#Y&ME%Uuxi@)}hc;YM} z1g6p4g>CFu#6L(rBmGZzr%gz1CXnO1AFW5s^azyYaQ6^r8P#V-0%&?^T4=gy8k*1M zIA(v}G$fwcPhab^PRATihsjx-q%ZvQh&BKKKmbWZK~%1F0n<2<7EZH!o7@=m^Demd z$+H5!Z){MxaYqg0*syLF&L8t1jGYsMVrq|Sk=;6)k?K+;Z(QkLw*gkL^*PF+gd>f>lW`+oUeJpST#n$HY{gPO{;tO%R}a>&9=NfRRz>*nsvp@X>u zt+^Q{8dL;;CQYnpMU#nJE&T$gBzCqH`6cC;Ix-Q@JTZr6_fCJ!FPhI*ZaIvJk8Q%3 z&Y_%;lF6wP+qJ-{B_k(FoJk(ZPpt`vT-tb5*KU&j`Ml|E9e7KGpbpc`v(XSXTo4h8p7@y3F5WrpD*7DN@jUwkF$+aRi2q zB5LX|+nrODUIWu^ZD+$@sWGjwZrwpQ#(Y~+35-i(U2G`!;5&{>ruUS|*v7eszBr7> zGMpF`VFCBw5Ue6{#ez+jbydKy#-yH==SHvh4`LwGBg-pZuPHs@vsjjGJ56yvMo{yE zb34@e+o&nc*5I#!1m9(3W9Eu9jG`9b0~8LT-$!WD7$?ssvCp)*#EH+xr{G6@yHoBE zEH0faKRA(H8h~O<=IUwZ#w9NK<^-k^jQ73wA)eWqjy_S5$dh>$KRD4Ox0jm(Z|K$; zFJ61O0%)pt`XTK=O+xe8k^`AIf9ont4Gl*TfoTF>l(Gl5t3NQUA@y08XME#m+Ew)j z3`&Z>m|Ay|#slLL@yZ4B5k@eR@AH98_lDP#aax&^Q!Vlp%pYnq*rv+R=Phb*`qm5tE?V<)zp| z4K@`7`FbdyzslHwr}ythf11Q~QdY^c&E?n)fygkigR#yw2-T%}#2dFRWJ*Of;ssxLjapg0fnKC;4pz5D=|0tKJI% zrn$-s(K}%RuABBa=V?yW8}?11_1$Y=+M2yLHfAu2G%+kYr zEoC;xlY8y7zuZ@shK^^JmOjs@evVc+EQmJhsd!`(H-&T)vr-=^63v4(tNgk?{*CQ^FU0Co`u4)LQ{Zj zw4e!32>)xIsXVj3w8k`9!_Y0FuX z$UE@DFQ4Z(ZT`-hJ6Fy8J}*GZv;8Z07M;mKKec&Tx$9fCp-tICYh*cDMJEB%q}sGt zRGM+wE{XP3k&Wa(6{xG$mwz)Av=;Z_k1y zv4@eTw!mjHR+sgfZ5vVX^iK^_o~|O+hS4r*lGR38a~$)v`59mTQ{9`N^}W{5id+&| z(CRd%DZb*UD>ebq&;5_*_<-ZLW&@^az)-=`WjH)-D(nQNDO4!c{F|MwbnU0_^;!Jo zTAauQ?XS<`UtPHP`#N(x39Id1!U7tYCK=QOVM##J(jEXHMD!HLf)3%|{*XKDlk_wncvt*uTY?#b#thu;yEl#tRJ{!LD z=VS-f(V+azw-ENyONhPcCeoWvHDlg&UYhf)fobXAXW_#ci_u{!HQ=$0t>9viDn2t~ zrlaJoCR$cUd;P3Fo6BbQ)7Sc3T|6BoXL0&{tpk|GT=U-=VMRzh7udf)jx!$_jLRN6 zqfN*&4dmFKwjTorzl^gdarat82pj~o$e5wBGF8ns@j)|EU0&mj+p2(R%yW2@6)_1m ze7$rZ-hT5eTseO_!A+bL^wT0;T}amwaWtQ;-+Tz8Z(ECN#zd)218!<2sghhRk+a(0 zX=cg&2XayBFecV&f2w6eCC_2h@)8wc!{`6Z#gl*PkNfYM);8oB8%F^Yrf210z?DCs z$3U9(qBgr+f*{3mte(czZB)zFRMp!RpD|Od3796JnM8up5=h^*|2m34zB&%~UN@zU z@ELiD^|j}q2g!df$2@Kdi)2^T!MPx*%RqP1hdj!i!~EHk$py+1DGMsF+HbG|c|{(^(7iT1*q z#8z?f8+bG&l;5dn#HcxbP4&Y^U}qW&50v3i{sypJp`tVpKZbNBcyGrLoZBOWi?Ow& zO%rlz(BktFNn2_2VLDH3D#S`^0_@CsmVC0Rk;U^rhDW1E49x|R5H*$6C)vtdNk5b? zSbNBcd$yOLAJNH@_nMq^cVqbe1QKu6Q8ykQ8H3->PEuJv&4-%`STF77`h&+X`pY#K z5=Zz3@5P*_fII3-dtVxdFa-yNj)#DXO>@VhQ&fZkr^(`FAktQCG?2ao1XH^u~1MSQ=UzgaiNv@oAkYx_llp;Hkv@F1v!WDv*bZ|{=6$BsLeSS z7wMLi?8lSEJF&357~`l3N`PYmP^*r1{veQ~D|%jv_-@ewa&veWj0^9~O)@r`zbi*9 z0XCheDJX#p<&nG&@ezdbyqgmoMHOxwqjt2z{5e_acFN2H1$p>@TGBqrJFd)kil#J) z-yBZbNihu@&)+)PaLoMO-?0~N=raPzG3*GpA*TU&$BVP^!ph-@3YmZ~nllu0o&s7s z@hc5P!WbIUD%hD6_LFfzAUi9yAKAIszNg>=oSFOrE*f_S^K8iFK+bn#^QHkqJCE){ z|1bLCyy%NKCK52J@EI#j$quQ!+FAu&x#l>MGwmuWhn9P!uAB6fQ0q3|3&4A1dnu+P65QI}kTkPbAR>a7DE_q05Fi6lFWHh;Dg>+jl* z(rg!^CWb3QRg@akGSgPmPt($T)->`aTUiJCUWd!s?5D5wxw?2dOwQtTo&p}2Ci034 zcD86MidH(|Kp7@Il#DsojX{SV32lPSj2h!&pqmr7i&OFECzfI9l6*{>8bd{n7EUC{ zRO7B`j+&9`lDapp^o0UlW18eKjKIe*sxeuzR(8`?;JH7J#AR1bMEeeLZKB=O zBHQIE$Ks_~c>AL)96Iho4{A=6v0Is}MhCbPV4A~8U>XMt&9@9tKca|PvbM)b%}3N@=Q#>eY0{ue*UjLNX;xoKWa`3C#WJ<0U@jU8_gls>QaMB zoG~-40hmV8a?;jT78~xuDJ3|uzSWG#WbTVs;+27`Kiek%s<154hgcG zo!@bwe85di6ajuM%5dUWTU=OQSb_f3oF-sBetOFJl0j%E(?McX>M#LcCk(FC6ZJT# ziU9f&*d<9xy7F2vdAUpEDeI+1Cq#V%b7T#)Z8Wj%Ol;e>F|pmTF|lpiwv&l%+qRR5 zCVKtds{8IA=<2Rhz0cYUd!?ueK@?x<)|503b$Los&~1b0VRGN5eU<(6Y_^DDtRxoN zne~35XmHu_F_F=Nu%t9BKrr4+-MtwECvp5-^KgkNaw8sB72UmkZv^SKK*5M0K({ow z+6c35GbfIV3a3UXfc4Lk44B78mHO8}cHkDv$`Bnj5VaUa8u2J~V7enU06r|u{lvF& zq36Yvo8PSPj6D1pv*vsDX-+3~uq9yy(>tXCb%V_eEy!!a^Uuv@w{&BgWg^J_W+naBMFrlLd?hR}?IBOxE_&ogO&%X>^1FFH?ZFOID@tc@c-7fP znJa0pxu*aI!aXG1QLJZG6eKI0cGz8u zp2$IRS!5HU345kwJs7YTu#JcjHcIx=2stG>jQ9?W8cUH`k{3|Buk~0*J--;%Fx?P0 z=A4aWKH9RANpdgXt+?jZ`W`L}(Ltzq298X!C2tB9xgNFaDHZwmtWUDs=QQijuGm97 z3dgD1Oos{5qQNVKB(x0L@1MY?M~1=36z&L+j#Qh-(l+Q!pQ+OIQTme0yT{~r$H(Zb zxiZyTj$w-hNzDe=AG!K>bOICqkc&`9h$jd`jIA!!mZh~ltvQ9PW+ywQ++F*cg~p4$ ze}RReEEYFBV^_}>P*maXX$Zct+jX3oyWB2y%im`xGiDZfoRaum=RY?ujdFW71b{!{ zNDM<}dfKQTN%yhQ^Tde!B53K&_R0AQpE6p0dlR61p=hKgq3)QJM%TeVHI1D!HpHak zXA~K0_Aa$98g-_Gpsu0AnS5g`ON!Wn-G$^YAhO!}pW=v@A`fxr2G z%*H|)dQ5o$lAKBGI#fgOa9>he*zT=xu&xu@Ky3#e@i_Qc8LFMR!!9c4x6dOG(c4gf zwIdNo+=P9L&tJE(64{Bv>ITm?Uk34yh#J#opC5~Fg~o={eg^tC*Q0L?V_N(hL5N#? zwLEAF6ct~)+jlG8>5;_XGKK|+&AErD%1tKDV`~%w69abA=?V)kbVeKJOdYGM|Edqw zuqYgd0If)xK-LNwD^Aq1X*A(n;>!psRBsjI@di8SXnzDkN5`18XeHXjS0AS5!-gQY z)0*8WZn64&%90&$d=i**!0K%3XP_}^%HBPQ#~B|07!W0fa1a|_kMCIt2+IEI`Mv>d ze=emy6U>jI(aN&oly}WY(uu4CCOWrg5tWKnRb_Y;4xF6S&9(xQj86N9w@pmng1TeWG=oZD#6M(}h4e{x zN+dLhl#jBc^m3nKif&49D8Hd9sTDz4BXGu_Ap}YZ55-=cDD6D+vFv({;US+c%g5%_ zkF|*1$$dL&!Dj2q`vi;;B^H{?=sf;_Ddk3Zr~H9e1BNl+9&9C?#odw4|K#O2dr4|L zT-(q>KCx(rwQdN~=HoWUxpO%#yZQPtAcdkRleaS&FSi#v6{7J(5@CQ=HEnSY!3>)b zMW?T^^@_goCI%RDH2-Nn=DvSHZve9fEtSRx703_<{8eGdeF)VnhvfBCV{<*$5G5KH zWVV(%;^p|`A$hbB(>>rgnhsQ-3WZhiXW0%u5oSE#_^6)pqkc#CReWEK4bbxRn=?`Y_!J$b{vAN?&D8c=MBmHMAxBASstgR!vRqxLJTwxL-{%W%=q5C+k zGQ?b`oc&D$FkBC*6={m4J4KukOg+Wg@AB=wn_O3A?lB-rS#I61J3&o;_B=uSFxq99 z@OO&NmloMan@9gO91|%9>R>3J=tlt6xD08z&R4NPtU5Eb8}E^I`_v+EIa=A7#`H-) z(Gp8)aXqzvP;A{s`6QI@#0|_i^e05T`c&6#>G}+_ za)U?V3-r`gVl`VkbCp%UUb9`R*(n`uf2dDXz4tEA!+R?(cLuV8gh4^Ir}T4yqCNod zAiqYpzjc-r=DkV+Z~G0G&3s2g=8j*zR$VjE1SSdEBlC^RSlTP2W#I3--~IN9G9=Si zt}Tjk@%o=l&!|#jl+wsR(A6GfF&m;Zf_hfSiKjCmc|7FCxSC2g@QuHAn0|?gt@fMi z>9h5h0Ig%{-X;6)9;X3+;8GVtdOFvydkq+Qnaft0Gc0I@c9{!m_ZHMdW;brIA{#k}E90^4H0;x6iw<#cV`cWL`G&~Be@E-p&Evw{kM9-ng^F&TE zzq!b?6$qUrX0mR}hp3Q9PD7-?q>9w_6#LaRHxPnsH*SsaoFK6Z)-=#5O=#o|2FtDq zqTrMpKJYvQd~%b_*M;5-eo958XgSXslvhd7ldRHCKOH!L61C@NQD)rIt!_t_WFjI$w|RV1KU*s zwJxU&M?FtS$pZIOblqVC8)bMgs?L7s>^c!LS{NFHhl)wFKieGZKA*I@MG#$3cdzRB zuD2tCDT4KspcZ?(;Tg(jQZ@kyBT-Sn zPLiJf`UJfX4`b)OT8;O^)9Qc|Dl{~3;MuIakw#rGCS+>x!GtppVhs+X3ta(!6I+WAhzM#gzc%HpTTQRZ=9w7{9S;{<_e$xC% zdF~&SO+1Z%8v(`4@{swJio)C&Ifmjh{Vc`iSO<}Core}L^8IV~pK5RDdH0o0s1 zmq4N9!eg82E#)8-@FZl9u<>iM=ThtvPjg#4ytqNiLADOh-s)=1aPWM0v~Q^Qnu~4H zY&1h<@;8$$-B;RP^KQ)xRZ>)U_!f$Twrf6K#4f7Bg<2?i0I)V_7vzz`zu9|6*lr(q zzd4D%-6Hn~8YJH0o<4`Q^B~ARS_Nx&sk8s*s(TxcF?-a7>7-GKL>^HDVP`b7`WXC0QY@~+)qHaMm)QOZ15 zHy`hpUi4b|3!Cc`?`&lTNH#);|3tPBvxJ6yMTtD;+O}J1Q7HK`OQ)gOdv-X?o%|K* z2{X@C#ov#!k3V`5Sz#S`;*sd_Cb2jXm8<_zPc2 zN+)#tie2KWG;yiNaxY&Ej3Vm!5^yW3YwO2$7n|+IUf)rIEu6p;$tBs3q*YGqtfbEY za19w=0t&s&GVgXowXjEEuJxOzfOVlPU#4;x*s-3(w~&=1Z1eHzBcS(*2VmJKX~723 zS)u3Pp$plLnZ8FOV2dRe1o<~){wzhqAEF}(eQ7PU<=nw5-K*kZ6% z5GeX;xk>54{K!6}Wjx2;%qqNX*9xw?d*tp_xX4mO;TJ(~gsM0S>@H;D&eC(;|L19+ z{s)0C1|V_6w?v04{5xg8Gti!y{|kOg@QH8=mjliy<)J2W=Oi)jX7%LB-{fudZnxxn zP(I3D?TVS+jpE&c0Zamh?e9ZITdPhqU8M6m10*Vwd<|6jZA714<`o^uo#RU`K{|&q zq_6XOP

SI5EdFtP~$;>c#D!;qbKuM)glzR8jEqSXJ=F6Zidb@9>4b+zUcjVi8yl}e8K2Qd%?idDhug9*qR4k4IjGdkkoBj6_sM2$= z%Ydx5c{=S*#16(Ug4$JsP}e0g7Lw~*OtgI9#RKs|>-C?}#0oc6>BY|uPyVz0*|8AI zZj46sh;po0>H?8cEZ8uInhg*rq7nt)CP)RVTinnne$;Vt9Br-vr-K&co2|roC;Zzw zDiPXtWqs<6gVzv{s!P@d;E#Azea#cM#L3U~+_ZWLxrnm2JJ7vfzs2P86wnTvnHd=T ze`F{0mkLe+DNi$>1xjpq@4tOOEcYtlbH&epUaU5>w=>hP6 zqHV9~t_$vBArY_FT8VDETJaSHn&1{g#YhTNsqo2<%aH|m0S841ONkTnQ_hveU5@L5 zu=s|VM-d8a#T_u{+9~Sc=cH(Nm%H*K(HWx1xD<;EBr}!%S`$SGgx&$3fX%prAVoKm z{S7`B#YR$^KsK^W(NQ=E)E~G^^n6R{*}BaY=%QX>`)zGV0~yYcKWSK~X4!gQCz_i1 zJ3Q_W^7gjo@$z>QufX(~=hwFNt?jTQ1sRL*P@ zC{Qz-6G-K`t}^4RKYY5X_!WQts#S`ZeTkSBlnHP@NGH!yN`$HoYC*>$D~-%n%nYLD zB+_LyA8w_G*IvIZVM{fY*w17KKaRwT=@v8B8R@?+&bG8PG3J#x_U~P9>)eNB52njG zX!B<2Ww0jSwtThh*<0b7>@0voElF$xRh+l?n4WV$EvDP*s?iZEC?b7vXtO?B#J{!h z2rl>+XN$7W%H#}X1Vz6wgVrTkI$5~zC-Wu6`C$w8&s8*(S3WQPk#pLfdMYg3|x z3^3uOVaoY4>f1sFD15ULneNC8yU`o4wRV(ZsA=dh)>^uZ4s4Cp_wkB~3!Hg}t6!9^@zR32*sIL;ggMestB_1k2tQeLDFQ=Kze zj!fY8KJOfaTAxfC;x41{<-W+*06VaEh%4I@$Z6tfSM}`4E=VvYdGLkc*#l_r1SCe+ zTZw$|yRQ_Yy(=6+5tm?)NK;EWA#EK4NsVMC0?oJy>UD7ezIxEym^z2kQ`s#|zQ~+1 zG1OR)7K+P)j0cr%@{F4G000ls(p}Yr{2oWO@*R4exp{jJcP8!vg+7d|u?A^rbr#%b z7u!-?+j-Mn%1763mc^}|2WA)4Y-5>!yRsV95K^ZAw|kE={O6pEIPoF1l8DkC_3!c^@94}~XfaytHo_ly zKA{hvP=@j{#-cP;3@j~k1F<3<VB@ zA5)`44ZC^@+DGHzJACzLZXV-g| z^z7ktNS>emfFpNnh-qYJBQASa>PPebt6s!`=BQB8+HOMZF_65D6&%jU`O-M^pT)X$ z+8MFEf^G2jU+>5#F>w+Q8VLmC$)0~6K80)k6(7goF#+v0lzfqJ5V~8stpRWi^@l|E zv7;S=gfZx|#Uzw}^53>mmhx%T3HrYXO!SrN4WEfOMY-{|;GuG%Lo)z} zo7)Bl+_60%6b&)9K)nDnz-DQx}*XH>Bn4 zzBxmdJb)X4rWJh|3_P8}Wv>UF;SM}Y)>E?MY2nUNmx~VZ8UjTcYl|s=%weE^%P#V{ z(o8Gtj*7jUeuh>e&Vl!UOJMdGY6Dq7byol35-U4Rv-gjVmcj>BUtI zeeMG*>>d@#-?W2hy%F;Y$#K>4F~%NSADk9N^>#I2ELUSw~*Itn?*>?+tBS>$OwSA!Tgw}?BhYN)1$U8 zdgsN+>Dw8ZsN#*GTv>`a<=oJYGbC;0T1OF~&HgYc+n$+)PaFX5tlX4xAbIWpZBQ8- z)}I%uHoux!e^b>hc0Ip|iVrpIw;%sVfe9O`S%xoK(-sqlqgo|%81cklvLdRI&G|Uo68;B8A3zNOCU<&1`!{*wj z`&tf(>aAlPO{)KIOajOJgUV-0!aW3)>As!9>O@UB^72WXU_kODqohq;ZlaH7H7^B7|(CatTc|lLQ>#~%K^s|DCLm@Bp z9@9m2X_03`ZSzvd@UG2>0pUBS&I+cj;S((!lE zjz&U4+y2BB79pC!CdHV(;WT-nv|7l%6>NVbybeZ`Dg$ zv32TKgSOu@LT;^a;GMy+`kQ%To2f? z-FNh^1qFzGK<7n3vN!SZx>kNg&o}n5VdiXfwBw`_9ZF;tmQ54#C89>W6#*&F`7;gd zD6dB3<5{OXeE>|%-$J#9PIx%C>rurvGe@WFYl>gEu;)(X3gA)O9@1luQYVNr9q0~n zA_WW3tH>P40&t|@EoB{xODe5d!-!if-aqZ~*nb55aZ~SL{%3(t1cg&GvcdeQMa}8N zu+awRH?b8P!ba+W32FsKg4$;|$yKzwxBv{r8=y!N&bo2eFKb19nTMKWRU|>wr7eC4jk3QjRiYP$j_xer*~CBG#ceU|0js&Y-W@Eya4MyC^Tn@f;lE>1j_tbe21HZSO#lD8nIw>1wlo_AXr= zYbHL?#PY6?tOz9AT0skkU43vMSyXsudsqVhiyB1*hc_is1#M@tiJu~B#O{6NaqMsJ7n!w7RhDvs<1(=dwcx_&%Vr|D_Kt`6OG&qEK1S1(GU5sq=Ca00Ww; zsMY_qDj>icX7($l)@yn^ybL6@A`t_tZR;oPgva`fBvzh0x-h1#A%HBYay&$Ge+q}- zIgbZ&$M+ZVu=|eis{xW`8A4$`sq-H$?BsdD%i>7sN^HfCAsEsNhvWVKj~ulE0ExuE zKzcHSh^<}FClCoky-wAed*3*Ux4gl5;E5O-(5H{^uj*kiF7~8U*neVxVCKBPIvz3V z1}ED0lIJ;UDBi!$u#Y3P6l`a;wre8 zlIw>e@O+oi+;zEeMWGdCB`6F5!Rw@)1mw-v>#pD`WP=>p=cSy#2_s~j=41o6>qF6lfWdaNWPOurYhM_dA8cr-wyI|Ok3O>h=ZNK z*#!~_2OMiG1*Y>b7W12@`U;B35xwi_(cG^l)E{vM%Y|c1)i*|7JvC^Nl}qa56vkoX)%*rIRqst3GV1LBMi^XR%9 za(UWqbkS-CG)qyUKoqAWrx<$fzqEH<{%ZHxpvPYI!#C^xHSYcP)%>Qniwb$GSnBV| zpC9j&@T01yFUMdvZjd}9J)21{Kw5T^AjP&K4NXB|EKUH(aQgoD#|2+#kBl9f^SCNl zS^lUVY&U-X)&6*pXEe1pUzsfIxw1Avfi;fX0I83m+%TT{-IwHxhjx_MMnSQZ$ptPZnrRtLy9OpJ!eX=d1+mFw^$d$baOcv9TzYQ& z3K92I;O|-3S`LCS3GMyy*Hc@y*s8v`e~3S^2jXBt&Q`uAf8C(6vGskUu{6(C3pf&^ zQ|qy5u4oEV2h@N;hKM<9zlb?URW5;jxx%~Bk1npXjR|y1BOvdvxJ1lck}wC-vOsV? z=5t7&{I&01|4aZXtH>}E?x~ph%xs=2uGhNPdxN}vPv})nZcmJQaHuFb%DJvbk zc)tZuDdnEL(C&q85ahw4?rq1~E{ne(8Y&!Oo|jIe^{6HN(e-zcs5Xd#7Ov+5HWq`{ zC?X;t#8Aj=M^znz&3T#m98%IGR~sz7bZYQVcDd9hB<&mRL1h)PfG;1Vo_3qRwFCd_ zz3?F~Ih?1kaM)s;$uyo$!}~Zm^rfZb83-@?v!i19lvjN(MHbv^ou)$G^g8qVxwTI% zLoQ-c6W8>_G@Kl(6AG$z$;KiqzG6{D1`Z6@Wxq1EKsQk}F}}adi784u^B%QyQ4G&M z>l?sdTm1y(<1z=s^Iv=>gRg}=mIL>ToZaE(+$z?1-xlOP- zn*0A^jo)kj9m1GrW{$Nt{ln{SEO1Z_&wO~ygBJ^wAEIIzUTKj;HZMfz#9E%oK=8lN zh-zaHxG5Cpl*iCjr-xcBt{QqTA(^YMgf4!4K6r}&Asw~kO&WQ+kB`^Kb0~8$N zX3#@*gBa&)wbe(@Z8_BUTLD;{-9x@$3I~irsQUUZJ+@~(S5N&5y-@sVU`@&g;q)6& zO)@q?bP%@RyYW<)!ylm58@7OKgUXuzvve@-=>0}VTZeCN>$=y5lT40p9s}Ew?~k#+ zR~J!cE1zKvR76jj#H=#L%N#Z*8~UoB-T2rzFq4vsFf`@oBe>xoGAc4J907B6uzd}b zY1b6fUIMLYN$pG694u@Qp3z5pb#Jdzz>)d;wd5}2gQvdB4t6oR3+%6y%ut?%Vt+P@ zC~`kS_(9+&t9U3R!IDRkqE-If&H&$swL7k_uLq-qlW|ukf3m+$EN2LDmKj;!OMTrD zmxF)in+%sbdDMoh-(!Un_5MMz&x&J<0mLr(Va{#TBQre*N-r)i0jp{#iQFU3IkK*% z#*y`3Va(uSefC{jcfwIT@pF#}SBUQNeHq{3=t1=sK)V7>PGD07duhXDgyut&ROK{8 zalr24CV%MO_iy;(5v zBYLSvhXW!rlTCGGgYx7upDG(0XfO?-s<|EUhab4x#=eoB)SO0^vk}GM?8)VFQofmW zFG^l^IvVBkcIx+9ZoV8}Y0u31Q@;tMS0G#vug5;!?d&9IDPvr%O=ybjyoY2tg`DV> ztDJda?c1NzEM9Xzf;=5k+cVAd)p~gXy(xAV3j^($sO@-sxsL^=aC{*Lt|9XW;p>6^ zKH=U>>ipN}-Aa8Vu5@Q;BJUT_8-1rVTqwD?ocRnjuh2P(4D_%B8N&c^hM_x0Bk{17Q&9doayXFn5Tg2izgskY(np`3B@o} zF2+CV*57na)VCuEvveVg#?ejPR^C!ay{XKy3G`g`VkkSZsFL1lN1*J5LM!g`q(`BO*jjrs#v(Py*tBucsW~s%CJql2+9yGts zeTCXD&*Lk4TX&|_Qvh*2q)TW98uL0ej#IT};N6$#-1qqCoY#$RFmgG?jLknaPY5K0 zGJj}ZM=NBZR2f;(ev7=pZuXex=*@XMMoLgq;>JW#wX0HYCdO${xy6jOwQho@9A2aI z6@>j&gSc?5Cc~JY-x1cwU^7%=hWO%}k=}>6=*b<=AnN>ikwLfkl1F_G!DQ=7%3}VR zQ&RH)$35EKV4aq{o)wFy{FnUCDGQi|Sq>zo82i)S7$LBXsYxxJz_nM0DIZ6!kvx8A z6y_Zmjs*&6be2{9!Md1;A|OlN$c$#+(*-}W;}a_$&j4B8{%fpbkQ2#!e7xX3uFor0zEw)Y^CQ60MvjuGaI~@ zYQs)$VqE)e4pir|vb#;#306Oi<~iL9EpX$7Mm`TOz>lx`$)F7U+fg*Gqa(0{Hm{T0 zRgF?gT?W136OdAA&tY*#1#zMHDrhM@k*IpbsTSiIO1dM=*=p_+n zF}=JxFTRA?i0rOXR2`ei(_lwU>@NWy5(aERSeTu+rack0?Q_q{^h&=GDO{@Nr#0fP z4lmlTbT0^1=u+w84vhI{GF$CMo?DUr02>B$^i{lcx5_T*=N7&daTwCPai<{>EAsQ9 zMge|f)EPn!NSK5XFyZ)F1@Yz3uqaQ(3M3QIOrNv`8$Lz72BT%W|x4&Da3M{t{2Pq+l)PXHogu8$dIC$sNqwN?0T7w)2sy4&mcZpX}1IHLSW zwy(Rf_bxXCtmiS#BtFENx~e?F9Scy>@!yCgJ%2r2c>#7EAu)wF$F+@8&&40Gws4f_ z5PY)uezK&`&2;*f*vGIAx+YIJ+;hEY0b^po9@&eS{YGs(83DNcT~6_;@*G}NzuY_C zY~B+aG6_8YSi??FV|tDgASL`J2EMfLay@jp+Y=yI{m%bK@khlrhYl=?F<$m=JjU z@{t({({m>vnH9imb-RwHqR>9G2(>Fh%Uw28x?#Y+0!2!N~aYtAk3^?_|J7b#qB>6Q3H#L=~&*PQGyVk2&+ zeSy=)DhBWn3k^mj`npZ0XE5X)vKP}EH|&WOE$%Ji5Rm^IY2{tcm{+6i4s!d&2(H5_ zJ0I0ofIP2FykVQQ_TR>)$&;L^F9INO6E8&*$5;J+s_kjt>*_yS>ygQ=0FrLrit=)C zi}ao?*rLMZ(;@yXsnwGsq~AM16XqQix5APh4LjJ zIxPW!Ee|x4L0NZ%;SdWX(M}H&6B%F_`n+8Sb1uX$c(#~9z4X`KaS7qaVLX(DqaIT< zOCK?){L#^NVpu6;sWi+QKe!+s-Q+34+jWZ;=7&ck#YkOS*2q2+b|Pd__<_Ey=;1EjdpCd7cpi;oYZ(; zKt@Prz@pJ%!KFlv5l{s6;~6bt1vpwJRTjAI2f}7%G?a@RPz-9!U<3 zpMx2FwQhxY$cJ)8{m2v1HIS@}GUkg0gB#G#A%Q%?!xm06fa5 zkeo#Z*H<)C+;qNsma{YI(Al<<%eYH6YR!a6g89gf*VVM6NimLJ5A&7VO_#`A zt;>D~N6r4h*4tRzz}1VN#hsCS@>RjKTq{$q4Lreg_fcF7fbkJBusPLh3PhSOl3Itv=|SB_87{@a~XLw_<6)|Xpkjw>W8EHiNAC9TC?|$^hmDIPAUg=-NB;}?= zAI>@{L9+wvnj7g9K>1+2|Kjt)BFU?)*LA^4!1Vn4-&+6)So+Xjv$+z%i*kK9A+S?L zIQi0bN+N=rWPNN2%E=a~ z$Z*rO&Z8GHSd>5X(qF3t(tW0>T&_=Z&f>YEFLYY_sw-A>Gb5s4g!8A3axYgw&YR=cFE$J&`4~88i3s=> zlFM>9UX|_F>+WsGWAefHttBs! zf3Q`)ze`9*Yqc)SDQC~NQow1Nh9ML)QjtkCtiy!6!QdmpQ|jMznUE1#fA2z5LBxfwcWZLsI|T74TGKsmlT4`zJ=!?XD-L@Yg%P z=IPf2RZT5ZgED4iCbnMPZW;KpS_owI6sC%vKtWL=B4#Typ#97y&+tyecaN`8UL7*9F=4Bw<8>L6=Rx>w;Nr!Vs8zCxIny3Aw6l1 zl0hVww3KmgE6{28V#oQuL8uezh2BRb!L*l9UpZxpX!uF=mc>f1;>tf2aP?Ti0)2A7 zKmcx;zoL<1hW~A`XA6PeeBS%C?^ALb3e|nl*b573*Zf*)4p=xXgIAqV7Ge!H7)W}y z?rX_H`@woX?O;XnB+DyfZjH<&AEicant@RpQ^6>tP`E#xBifYXWvO?i3%1}3sxv_b zSufWp^^+7rPhjVV9;z?V(8Ypzq#4u;JOa(g4kEFzUhZ3(b)1 zSd_$0-%s}FyP}=z%-u!=SpyLqER>Wx#jG_MXJj{pVZjlLSK2^x`x^p~UL=$6nXmud~cdX?FL#NJ|bJ5uD24jKF*3BVQ7%p)H5?N;i`}DO+#c0Ru)Sy z=0h_bWe|rvG{V(?ecDQOa;mZyqo`_Gl(0$ep=OM7p&C?ON5Z{Sy32?Ul|6s#jHER8{A5ylg8Cx^v-HQ~-~ zH3ZPS)1R@k!`d+rrgm_llxRr%I9K3|ulD}&ve(6ldQ~;aG-fRY6lJDaW?pY~&P2c~ z!rXLp6V-NlvOpr-)H!3LoR(Bp zx8y#m)BSJU|BFv(hDp&-i)Ek0Z@<}iZa=;-!scJtYs%+))VN+|Brp)*%~lP3>7D7* z`{ote2Z_$_I53`wFn-7s1fEICPB8jJ04gp*AONG}j_ZmZnv^{rI=8)l1}}ZrX>lWW z!g}aNfe+QbAN#XwC!TR8Z-m~>6G3IG>OYg8Rv0(Hv=hirM*JS+S{&szcX1bk!_2gq zLS-r;Uebl>0c}W4dn4TH@Yg0%Cg%g=zZ|gl6cKq`wN*Gt7F|{^p+i>R0Sa3kQE<6` ziTXLh2SL#9Pmw&;Q%JwT7hky@8qh392W<97m1m+2=IP&QOHAy*e?XVaWLupM+^xuX}lP z4G5(|_gGBw6FYzAE^7iw`E<-?u|N>VP>Q zcL!aeo%ERy>-p_j{npAh$Zj?Lfmk&Y_EKq<1E4J64aKWlf-Qk&qWBj#lw0rJQO;1x zkacgygT%uI1~xrFRD6cds`X!>HnG70sz2QPv;I+~lR^OOhjMXfukIqqqL{)4FwX;_ z=g+s=CIxVZIzi|{{NzE>z(Ja^ey#et$cxRGb&_@ZUvULm#<@^YQ_)F_doB;JRsknq>z;{Qiqz;3hryZf`CCrl|W0({epD#Z5B8S2zf>A&tHg#tBxW=E#r!1e_ z7C%=Dg0^$uJ0J3dCE1@%1Ex1_x?Uk8r2djf>?|07@8zKTvx~ZSG5J=Th)LcVmR1}W z4?&5Rc#Yzvg>&EI1gRboTU^Xq(jT{$4+2p-NHd4EvRCHgKSy{BaQPvTxSV2rSr-#8 z9N71FzLpuvcBD}8eS&kz<4D;Eg@42}pVnJG7Cc*pN54Y>iJhW5@_QrCrq!T!$RwwU zq>aLlzQD*CF^{-?!~z;_@&?OkmXAe-pKa@7@#4bY9#I4w3;Qilr6HaHG<&!@1k+Dl znb3xMmP&I4*OCnF_!GZ@Zk|kB>)PI>htAK8U4y>}nH>7m) zF6v<1g$aC&v2~Sb2DF3wB1s9Op{Xwj6r3ETrcf?Y%6=1PRUw2qO}!19g_|6x`yD*N zz4=}H(W5UEsS6Z|$K33HdzEn+vuXnDqRZrqJMAReACPh;nGZf}reuBF(aXq}DvG*K9l3@;CgJ*+pm)BpA zrQ&l-HCfvFsnra_UFXcNZ_}d8woWWp`koYq#GeFjRq*{T7m}bwUh2P)&X1Zj1lD6L zdiX~$i0~vvLWP>kBFt%T)yAZQ7XEZ8N3e2ae*u?{9kc!}a8Q6`MZ?1x7J2$_S5(4I z0DNhzqWVva-P>{oPlSD` zeQd*>a!DjujE@`6Xs1xj~L>OcUSe@THnquv7x9%Y!qAW*+Rz z5oON}2bz9G&|{PwD#;bUCYt^f>p0_ogD$e=k*i#qfC>iF1zu9L!1bG$95U4yG=o*W zrPiHz{}9bg1e4$&3(RN6-AYmQUv0hVPkJvm_ZO;5C?J;c$_zqr?ObpFctuL5@TREk zP7g23pBkeT;*)pn;r4<(iNTI^=w$Z8yvoCIu^KOu+kvYC2u#wA4MTOd9i&MJIpr8{=OhRl`o(^7QgBu~k4v&B= zlEEL*Ki(QJn|+vx$fL^I$*7ZO9k>;?r&?nq(CmIw`8_ zx4ZTqi;o5V&M*oyygsev}$a4^Zz8f9j zgZPU_T3(`Jx<-jAY29 zu(Sl?zA9EG`8BC1iHf3wMD#c~#u zyYrrI)uAntoWVPtG6mZ}7C4w-u=B)xuVgW#}dm;WRodTm8TG-tw!> zXn6xIQrz98v`BGx*A^|b#Wg^1cc&D05AN;+Ep7n{gyQb*?sjv|TK5k)zpwXZ?Qic+ zGVh*kGxN+d+b<9H4jp%Vm4ITL-{e*AtU_uhut|aJfkpAUYV#GowF2q?$-k+lh=cM|MR-e(t4Bxpg@@XX`%= zqW2lABPVF6X9ML+EnY5!ej=>+&n}+EcH+fv5i^1RKx@Kc_K1zhxJ@EAKVk~o30f=S zM01RK+y6Jh5nl(3aHKGyte^k<8j$JpV6&30@3Cb+az4j@2UrDJz*5FH7Wav|0C%QBksXBSz1IHC5ZPc=7 zn!l#AcEY@XDx$x{U)_mcJBr_(2ro_WF3TzAe7{w7n?5o0<$~F;)Yq`9%4NLFdO=~c zb>n(e}4pMjoorF zO2n`#t`p-nojsf7nm!_ATPjlVA=p2_GBY@DSVg+2IK2EX3bPmqVI&x7kVftpGWo?I zs9Rn(B0%uIDZ{!xcGELG%HvLfD!){;${uA&`KO-XCmrdGusTnbMVv4G8 zf2O;q<07ISk1>od?lPcd{TGmM24UxK>Np>@Xc+&k&46>OJjV=G2%;_uuawhP7LOLD zn-A!UKKgy}@X;soJiTR{u&v&N45dn9|$F>qRp%M{zZ`$5&Eqau~+YlVyt{v z5X7hUL*z2B%WVJg0Z&oa-JpaJJGvj0xWd7G65S8lRWXuk8n(P*Mz;=5r|HXXc-~T&}u0Yc@ zj{f1AIas>z;;BvL2pTjtB5nNfKZ)8xFkT8!vdK5Ldn$M`Fb)*B#)*YUFB0+-z`2nz06CMfMaW`0|3Ho?MNx<*nOakTK!Mmb@aN{;Pm6BCW z^`*NBxH3pEbCTW@6Sbf|*Wvr|Q=liE*a?If$L(~Wmfn@4zJT5;Sf00UHf3a%a`rLM z(%>8%!}i3vQzrk3OcOc+KD3ZI(MgW0IOXduY2C}&aFIY&zh zi~8B|O>fS`TM033JzZnlL>U*#FD;583K>9SQHPt3<0t zzlGRFa@XEY@DNn8NKVf?Xtlo6VfznOy4UJMj*qs=Q`)$?9%W5WH_w-V2eA57B=0YT z#UEI_MrjwL5~D3Hh{2NS#;$ zaWDx)|5`LHq_ZY;&6RciL{`A5oQ=(JJ^>w=FFI<)kwx6DV2>SmAdZqW5e6VjI^@&E z36wv!gC0he1OEMOe7b!;D4ZOf2zDDRB;24qoi1@en(XjSgjscd0D(QF2y#7M+Za^8gzsY7ON zRss76!jmlwC^i-XnY!@UQ&ifxg&8IKoxp`eIXXES^S@Y~$NBg2Y%iWxxz-dM(Uq|l zogxv@oAg$T$&iZ&+HWl$G894)V_HJ-!(1txEh?VxvEk(4z;09%Qca*;2Pzr~TU%o$ zFUKu;9tIC*Mh-HAP)y|FVPUh8oO3PstGY%II^ijo2$%84>TDrg(S#_@rCY+_Gxut;d)^@$-T9U6^raBo4dt7;c%%5T*dD) z_5@yXiKKDCr^aMQQH4XE(>A$7GIFfd+=8%q$=@U97F$;)nIjVs0XLcl+G;y{15x$D z8tV8gc}nbDKP&a}vHPpS=?zSO?Bfhh52z^OiKrpTmUw6|7)4EPbFfzDUtR$(gh48tv9W0A#21fqAY zb-Q79IN1=fr7FI8CM?Djzz&~){3^-2_;xw>PXy_Ea%M`}w|YsdFx$lGx$?@H{{$p_ z5}OhG`jG28@{78FApXz;At*AyrBHnY!&O zcimEQ$Qq_MUaD#*f#~9$nybn6xaq6X-d00p`A>bu4c2%wb@}}0vrty%^W)UdU!~nnV?FBrj+P2p~ZD45{&;$9*!A0r{0Fnzo>tU!S*uo zX@4;<^6%HU@k1RtI0987FT^LB7+<>a>Vb0``mj<5-1ujW`Lz#jQgG9UjKU;Uaz^PF zL|df^Taq0)_~uO>m(zS65$MJz{&Y4|b|tgrd2)K;biF)`U84jT$JUl_{a>;!7Qw;Y zgRzFez^5ZbGUyH>Q?iU>P#ApLmzCL`AC1{ut2TuYo?+?>G9o*ya|(T|aRW9~y|;J0 zY=4NFvVEhLhh(a@yD%?SEMcI6XH%G+zq9+{EK&8FN1rs}zGr^%s*)J%`dY4X2P}|__ePJUjMB}~v z05W$@GBHuU(E%5M@5Lt(l|@t4ZJ9C@3N!4Q?BH!@%=g7i;HJFqqF&Del9o?KT~=Zr z*jwJ+u69H#HAuo~svaWixm-zkf2l^u5MK$5zH-MKG7K3So>qX6KB2*f7EVk$DH2OX z(!e}%F6~~hbP377+~{x=eCa1F+6S9<8pM#7cK%&GakQ03Zw8@{SX)TQxqs;4-&leK zJK7l8n@J4)nyAKKYoxK6@WUL<;D; zo9<`O)%3gDSJUJ4$NO`~!HR>jh7NwOUy&Q2olQv8T5Iuze)YkF`m(ijrAm}{E#7`v z=8UIMjvQV|V+)>*MMm9wrW3$sqk9HHxO3}!9tp`abn=$f7bc-@&{mN<|rYGr*Qh zBj?>gFAgiJ@_Fv=9ko>3+|>2R&s8pEt#VZqoD}yaw(qkIwF7NV1IeiR+@ferHo;<- zN}HGQNN`izf^|GB-Geg&0YRQ#9_{Zn$LjOlfpo+@#sS|9s}2}%${VA1regL6g)>22 zD@BMS9PraE)6wu;87V+lcHKT$MxVl#b=jveSkR#p1b>tI^1xJi|m|j!X34IN6sB?Ul*$}W~nECSXTmB=$l#C84jWU6-TkdYt zcj!`HDZw1(LF^Jx1rnCMGV?SR+4Psr1H}UkmP0dt(mUtvzNxA$TpKb6mg@WAeK3tK z>B<&OYY)456?pu(I64(R8l&p4GH5b{f+<7qD`C;vA-B}c7o z#0&f(`;v2i8IAb%j$m{;kG|-2|Dn@iT2c+r@t+016P-8I;5EqU<%PuqBa3NMICeKs zB9=!uibnt-(Q|bdMV{HLQJSR3ZAOyj9Y&*Fu=?MGGdJJZ)aI^`tQZUow6nq2rsOT< z)E=`Bs;0k=5bN?^`ZWp@@A_L{H-+I}V$CHQ%$)T<8nd zli=;YT)rGB0D6O{oPERz0K${gjoTx)Iv;6f4j@`_c#u~hxisV{WR)?(z;xsbEr~QF zlGm*wd<4!N)hW>YDQHRw|NgTB^Z5uHg<3~BXpsp8yt2nt+InX9%fhp6a#SOxkzd$S z$$5v1I{C}k?)N%m3($!4dV+PF*TY<#h;h05g+i-k9p7q-9Z<i+}ob zAu^#PNAkvYZI@25AWp!Q$NTso0i%xe@7nU)0^Ljl$bSjQN;c&)b05*zrTm?uPGS2R z{w6e1t=W_EQO}nZ;`d@r!r>Yr-1}p`MYj$4>E&quW}fDs5-?9XRP7aF^1bVU2mxz~ zYnQ`0DQ#+5K~1=eYkc7wAid)J%4_2@ebHJwY2cN3P!w~G%wd1{s;qKkQ@?S*m0f#e z&BK-F#V9QB<2`cGW9VG>(4>F*WxPR+F&#gsb&b*(i@Q244h5L(YX$a304)ScG zg#tQdwfq+YOo#y|4tggiCP0PMyu@{Fg00wN*TJPV`KA9BvD99Td0zMT-s>N{t`=L- z5U0g~Jp8FF!K&=Eu*GB3^;RW|S?GQk=h!VahxL!2vF~mj*KZ2`e)hS7d~10vUJ&qn zzKAJ{lG0bvQSPiQ;dZl-m0QH7tnQ7h+1ohKyroMno_p;`SV^k7;j3NQ9-4jIFXbHL z$&|bT2#$TNNO^y;!~C=fsbJVlvdo4~=gkV80bZtdg_gWa@nX9&L*JhGy&Lz-L6gFy zggnc$YQV8JiVqt{L#%(g^hMC=TKuVd*_f-#ro_TK=1Wp&S%Zbn2B+o7EiVU54sA9Z z?;(U!9InrfrxF9;`R6}>f2snjTlYFI;h=T*&uA(W4fIj3$8%&5&pj4&+@jg)0hhiN zVN)frMn(whm*fYk=2Uq8%*=oc0o%R8Z*FpDnYSuq??MYks*d^jsveLUJ9aQLXG@6I zh5>pTvEs=G7cAjUjVDv5ZAT!^=oxO6sXjXbzwnbv#nd?))mCd0 zLq)|^^!W|x6^HdS ziJRv+ocX~q=-&v#&8PGuJ9mA-?DA(6cSLlH?Jxb76z`gkEzNIltyIRUZD6&XtZhH5 zE)Aq)i{zLgEmM?3O0QX-)6Jv7vBL4%h94GW9?~{b2g{FY7LbqpRBOJoR4|#ESIBC0 zywR@e1T2JvsQjnl;kR&gf2eEdIGMJzg^^Bk1lmXmH(2hXi-;J8FvaXy*Km$O7l!(15}P?x*iPvx zMn%Caq(Kd5BicG%;K-%Wz!zCvMKtT+Pg-VA%Kq7bZFq(29gO8eJnudK6E!N!Oor39 z%b^_H_B~An3Smmrpfucqh;jLEh<>B>(kC6P^t8Iq<2pRWo;p`#qd)2Wvbz>{hJt`*R6z<5W1k7SL+15 zp&siB%lM1|AU&&B8GGbFh}@Z<&hgQuP~Vq#5;!K55B9)zU^PCCSke!L--=vwSWfju zsi0o?{oIC4<7&aB9>P#i7cu_3-sT4I^GdTMZD`EBA4D{yQg~5?D|=MI>EOf%eG){T z-OCA+h`^-Q612huHT6@r)*8gXY90hlM<}1&Ehn@gtBTcAhCRGREg z%tFvVn3=RiTNYdMk#Kp_=hs)lQJ_yvuGYBO zyAa1&7X$rSS$lI0;I4<1q{8Sl*iIWg`EuzX4KC&i6??6zmDN4Z+S*zkTOOHWKmv7w z@kPl$)+d`k#$!@cGcF?>-_V86pPC~BI=_GtlKT%t$@PD7ccJs*b;c~0K4onDJ3Q%m zd0OHrUf^ZTzA1rzwI;89OST$qZ|C=WOg<3son=I1X>wxVrg?C@9U8bUR>X4<+Ty>f zkX*VAx!A6kd-hNyab7^&m&UJDKC|rdw2n;v)1>NMeA%F}@R~wf6>`(bJJ9VZ9k@jF z(d1UfTq!px@tVe7kHl&QzDJ9C{=-Jd;(kY*; zo83MpLYJjoO@0%vnvc&mURY28&ZUDHy? zfWGL-n;)!-q|TLV6S$H@^=$sPFxJ_Ci;6Rs08{W(60cCA{}J#e+VaUlX-h&H1CUNV zcs!Hha*LUfwrxu`sWSYxhjOY6?3fszO)>m9bYx|;0+?BuRdH`;@{bsgZVdKlabiBj zBsAd}vkbydP#eIDF0z`sH{UewDE|aV_stvt4a+Ci@%1M)e)-~Iv9F~kaBO4Egh#}ko+To-mmnJGp6vqDafEdW3oKB^qdOKj;n zI&dPHXNSHAbcPJ~sRCYD)a^cJKNz(=R~(5077kKXy}#bBFD&m}{L3EXVEjjoknqGA z&p8;f91yUEXXH}k$E}EiU=iW6PT;VRL$J-+mn>C%5XR zC`-GpAyhB=y?;i!p{x(&oEQCN_X|6tj{??Wlb|1SL1>MsGoJ}Fvwz3{8 zIRT>X^*I2RrCgs{{?P>&mQG$&i`5)z{^D=iuY&jsw1YPJ8((84G-ktd{!j;|5!2E} zLilwvIfs%g-Wpw);fvv(sKbF9LGMwz9$9)L{fCh@E_fKR@(hEt4L}7ws9$t^j#%uO=*Do|Y?QY9;}oG+JM9$dnx^f1K)oz`zTXkw$J?!IXY;QOO5|0n zBGtTrMO@{@R*x*m$x{5kE^+mm4kA)u)&PdD_UZ!Rx=z7zkvRCEpG9GzyZL<;C9@lB z24*-$#jmN>_M<0ObneK-`F@vv7QPe9&b;$SXrT6Zp|Z# zj39TUP>%Dp_{kHLeo*KsB8*mO3rLrh;bYQ6s!;y92Dlw8DK_2W-g1r`t6w0(Y!Jp+ zahhrOyEW)BUT);X_Gf32#x_?ahgO=)5)>#W&ecN~`HHpq9aP`?P(aasBc z8&#I%(*@J=n`o=Us7GJZ$&&MjVeScG4WY=frYF0b%@oWsFvZr}&WyLC`wZW6K_|Qh zo_gHas}EGxkszSMtWGmUGe+$PC1#vR!qV|P&mns#P)B3Dq49YB{vtR2ei9X*lLuTP zyxJ()qB`Puxo>t|ZH;dM<6xjL2z7T8i+PS91}%7qB*3Rt=1k@8Hq0b^=q)WR-61I( z;QRXdYsiEPJk$dcn)~a>vYhhw1D!pja$;|iv0q!aMMf2l)Hie09d=~6rg+m3tJ*xH zXA4|Y&=+O@rZ9hB?kcAcF(~6AV~@+ZfZp89n_QyLkR}9XB24{JCF?3hNCk2vX3O-1 zdvx+L(fuy&O!8-^ycH_;yf6Lyn*4Mzv>VDDX_*0!#`l>c2xDsY&{0_0o^O&*G?AwpM6&60nqOk_q2G`aeHy#Y7C`hmySqD%F zV0fC>S6Z`);4=D$(zy-}S_rELT|(RLE?DAFNVr{bM|<-exsOh|PWfSlSCW_-(lEp- zpV3QZZKc+9ublLrY* zaiDAWX57_5%wTXWYl=l?>fHjz%70!Su;<~j_X9sGSgKU35sfg?Kx%8FPvLk3tzA^z zVBAg%|L0Y356sIwwiHb$<_2BB_b^t`#3>HZsP3X7&3R!-c;tM_VMTMG3Kh`G&>kAk z{;8=EI~M7_{&Hq7IgoB;3RRH)fGj~?Ub%i#NJKe~p{fMio-x7rAG^z-c-;8kI=L){ z_Z%NQ7Gk^K#JD~oK2QUQXdpDSF_zst zh0SW0R>O^~Ek!cC#mAm_2a$+z449>rSCm-jXz6ejYd_JY)p0~S$5pN1_tIi5uQ`vP z==t<`U{Ja6WT*KRd|K``YiNzchy4yOIIZK455L``w-^=$iZM%$N&TTV>J;X~*eKl& zeRDHRpdsMuaQ1Mx5j>yGB18$5qT|om>_yA|b2!PrLF)6Qi@L~>k`=?XC~3djQW|hy zS7SA9mmv|PzMf;Z)&q>eNxM|GV4_n$#tPfRz~3Vh2k29hy^+`az2Mn06T|#OPb_#5 zL_S~C#ms7BZp~URNwd%xC0R(ME_uI(e&v<5t~)J`tr$j~L8pK{wcT1$tZOnaNm|Nry(*!uq1GsQ zjI9#b*LD+Qgkw5`w3^RpQB5p3;7!AhEiX%i8?sT)++M+;> zHQV_+wvt~Ta2b}FcIw=w-A^)PX4l%3@>b{8H zhhR&0JAsSJM8@I>)^okROvo;++_nl9qwg<%=WIqyvGtw5_EAbCXJAR|Rpu*KyRw|6 zRQe)|dq1eOH@>-!?sG>9DQ-0En-g3v2LIGsG{GHeAb=gQ-s$F32$no2=Eh?iGfG4V z&(D*F>k(J%gN_Iw%E(BUU5@^}zerIZc1lS@dZ}6EJP^QoKiD?#)14nkg$Ky0){@b; z{^NCGirul#WdOb#E2u_`7dW&+6gY9%JRi2ZqpOP>v<&BlFJ_KZxm~*Q^`MN7ee(fn zk5K_9bDRY{`b&I{_UW(CphJtVCb|J$7*s+8OCa;TqWC4{CG8fnjc1&MYVELw$QtSO z-`}WAo9tIyi`wY(Bbfo|{(BRUyvO_xNzYenr7gE@&n*Puz)`p2Jcl@`sIUR4WWs9Y zC`&i4ius9;NuadAKdi!P{v6an#H%r!a|Y1{1@cQ&T!n&Y7p+$L;7g~ZE-=B5n)Y8D zC96uuD@)|QRu<-J1;r+$Q+O;VreD!|KYc5M)sF1PB7!Z%9dz>3{tL;#e6wA4KgRUjSJt!%xD68v0^6o;FvFS zVeI*sk%h#BySU7YEo)NRTrluk6Fkz_<@cgJKT%gW-eFR!{WOkB&k6Jr;y$!m5ZsJ~ z;K$F5rISzD=yFBJk}kki?tYJ$@p0LaUlS$OG#Cpk#eWp8wF-dbbUq8m@L?riS#I#B z9QSIxEe3r~rw+YVcAKdd^8Ph1PII}q3^JbqzeC340?icVmSSc6oHf~aqYABH&k0ME zdlJ$Ru@2#6du@1ZCvAISi3%=~eD=LiS-yTYh@tw;*=opTMN(q3D72Pq{>$1<2|N$f z*fmoJc9elJpBC)2G((p<`O*0GxG?EL9}tcvwe?V#A<8;4%jIWHNibr*$O`g{qaV?B zhhudvuWBZx&Il)~V)5nkgHe{n+K<*N4O!&#mb$&2YiC&r0qj|6VYopZ7BIBhAP3bP zJ#E+FkD>LOgS90XPtl4#)gddZ>PMP2fz$^hrVxZUYK%(!^BgGy|^$EFRTEyd>w%nie(+x7CQwz5Q|s1nIBr{2`M%bD*$L%*X|kpC(#qb{!DtBoUJm47Fvk76*?t(eqwI=Z1N8Hul!xma-*SgHIp5Wb4cT<1 z2!=M`QbDo%P%DM=1m>M|tAAl(Gk0)!;fU4O)d;Vl7ANB$%?w4A4ryin3dE9Lu2Ev1 z&Dm9D)}2-hBL3{Y{wH1k=fj{L)}M@cJ_Yx5Go=b3q+#{TD9NzjvZyPs07D!0>)OyT zNOT>M`0ZFP`?dX1dl?}H@NOa`=1@&gZ2n3p<;*v3z?`W*QC^)Px>7UkPktkwFd!W> zjNb8c{o$k3_t}mh%OJln?m>f)Jl}RWRiOH&=d>z042fF~wrX#EVHIh)!QGxa?V0}` zqgWqRX>IB|LUc6R9K+Sg$6u_y{dK!5Ng`EnGmq>2=9}4y=AJR3C7e0cYXAsMdUCtEV{Pbcw?yQGHjt&{}DGc0#?2(vR z?oY_pf7g(2LmjUkn%6_v^&icj2`1PGSICs;Q^k}WDkH8^ z<1x# zyL}`t^*plWKe3kL(_jDzjzu%#V%>?GC;^2%>b_-G6zntS=i`Z#x>oZp` z=!<@y&Gkk{0u9=kRy9JfvquL~gxwsCL<1TGnRrSjFrl}ljk30NQI@nnH}$}QO9=vo zs-?AX1H$E;yPI%Y=T&7S{8xy~!7HtV<05t!?R?P-{%g5S)_b(iC&PsIJ9m7>qvzi- zD3U{T4l4ugFz5Dq`1)}HWIftMU6oXD$7@8rO_!gSJ;qR5E_MY$9G0LytKyHsDwI|i zm0X$_axQY54uTG)c##HUeQO570Z~ba=180G7?GFBmDq8=LqR`B%6@#! zs2+IYq;AiFWSnL1yXsM|KsXp3V`FrmHYM3y9ULZ;<_Y1!CnY}O11tH2?t3rmpy`S7 z!L4aY_{Q9Bre>`Xb=mE`6uGwJa*%?Eo=sT08sK7WF*cDO8qn*g-9C>%o&2a8d?_*u zAUwh;uR7PeJ#C~{U$xu}dYNLnWTh8JH%M1kmxph!#?Sby2;C8t5UMG0PzBx-&fF`W zsw_8M1pqkHG<<%lhy8dyI~e6IhH=NzDFwyZ9*r{*L@so>)mFk^gv*c>yqj7e|q7|*2 ztXUxqiy=Dg8n5(XQ*T%IIjzm>4UXW2y&h6;M(&Ed2ca0_1^Ky6azVg7iKyo?YUBs-tcg`bmsqrL2R zU@PEySSEk#euD8f+$peEwRDH7^={LDP3`BORHWQ4+V-uV5fNW_Ch2qYTHvFTk2$s) z`cSnOG6~PVsjPTbj~MMh@oZ%-RVy@c!)9eIImuGn!_F1ET+`z4AES0j-VKhXF-=4`Qd+p2n5X8`s*~whRxG~#n;}MqICc1_g_)vD zF-x-~GpmaYBoGTO5Cz<9xNsl}5Uefo<++pbPw z&R;ZL86cWN!VhQoYC!MIT)Rs2FXhnM$Gqry*E7jNOhviNi{Z-3iCl=m+b^|GGA=)i57=Ij5025%gvFyOQwJN0qvvcr~^O(x`MpRsTVTz+Fls^4Z-jRcw|%QS8&+ z1r4tF6=BlGnd8TG1#e?cWbp;8u|qSFfB(+9!W%>~Q8`(SA9J~`u72`H``UcDJP+jdo!3Na{Nu8qC^9fRX{Q*5lUw%^e+Fy#I2trOwMd#)-i5GVL7%!NVw&o7v*6h-hX>HO~6we5AsCN@GsmO!qX5+9NR$8$B5 zi5yjw$7PQOzB@c-wX&0w!?Me9BZCTha=F3^t50`(iCC4<-P!yB4~Vu8&)xL&dE~-8 z;59%q8*fr-1MIE94Zy{~mZ}_e`jkyP?U?buazc0m?Xi41$k2q{wtK+&sk0_&Wjt-F-xnoN;75@4OjibdCXevL5R;) zy!8aOAN<9%N5jlI60h;X5`#Dm)pZprnDq%-oE2R<-#_y2Wf#AHA7TbeaJ$a4^BVWM z%}G9EmuDo9s!7V`nV&UQe3iqXcKmSKamkh``ef6jD(Ff@d{CKnzU9ep9iUSikyNk| z)QVE$`&;|&RIbn1D$H^dA?FV^%wxrrnAILL*78mtx;RV6WCcVqg+Z$|A*vfQ z9c_riL*1ne)R3X^OjSTAg9z!Q56H_lK7d)_q3j@vvMKp!uE1yF!?gWcV1K7?e0RgS z<@@(8+mmrAIkCU9MGsm!unvGQ!mZU4RrD-CkmM#vq)N*l)&gN(^zX&|3;&VJ*;m0i`VrsCFX~lL=D@G#b^Qs%p1-Pf$ zK@i+o`|?vG9Ug7OilnBrzcF!_ehXse`@a6sZT0myT*L9yGci7%l$6G3;fUWtw>?fQ z%o=_ILdz^QSGkwy$-ZqoP>hB_9rtT`TZU{ZLNLolboIHE=miYla+Co$PlMInE!ou8 zvo4|IKSN5^>lp^Z3y{=q2f;tDFNm-#sYl~Vs|!#P4CZ4UOMi&Aq^_!hlPlg}Z&reo zj8lYW(p`)S?Q7jz;RX_+$dm&OoTvUm#-csWvpBLvNFe@of@w-G1SyURfpvDWs2p(s z_&bNcP}T9TGEJJI8r-?>n-+bN0uDwoeRZ0V*4T&l8V-0$S(&W+QB=;-hM9(?c#1!P zv6|x3><*;*@HOf$7A^#bzC?;}NZ>v~3JQR;!nguoyZhvxvHd z+@X>cSUBqinFc;vFw*?>lX86ze?z!e?{zJ#cIR?NHZ~-6`|<~23Z2Fvi75{vND9K) zR@Sq4LGB^p_D5Bhg^ACftt^xPauxsR3lY5luS2>Hhx^W!1cwLJG}1c45`zzH%C1N@ z%U!s!_C9F-g3s{uB{9Z)r%D881q&&1F*Cg6YGiDX7w%ICvAIFOtEh-{=-)8`;%~xs zU9HfcJJr4R2Cc-Z_HXF)H`yV_g*HjYTYcF#aFt8VAsX!Pv3d`TV*a~(|Jvm3-QOQn zQsy=)YQXaiS@N>ac8!)2LA{AFmsZWBQqkiD9Fm&t8wLvwCLR?LP4H{6v~)A8ODkjf zXxsNuf3I~#YM^Jv{Eo^-p%Msq)M-M)szm&};Qo}{7XP@Q2x_sfb+2^UbKLLNfi#%c z=8u_0&&)9HG(_&KJqeP{*7WmTOJYWFJfC_yYz`39TBA@K?rp|!Zpig79Vb0%Ad0DU z|N7A{x)M72%c`a2 zQZUfek5#U*A4GPyk#x1gd0#5`e$PaF3(6_*Qa`-!tyfqOBm`!7Ab>7L3!b`1@s<8? zIt-jMc*N=I@co2!ieX$)(8mzzFHT8p;DYvedlj`j`z{%}X&^)ik5dKKF|Y7)-=Pw@ zi1j(%pm2Y}N-}ZwWA(ck!)@8_y&w_lj|JYEav@{znEa!iy=Zra+0o@kwH60#dbh`R z#iW~h^WNz9I-%Y~F@vA>RC{w@Ujs^9h{n?oMmywr5!41A2#ISjx0=uRKI8xnJ(U4Bo*O5O?9$6A4f)GRZ$VkKej3^%B=C&10YB1?X+I)sNLf7 z6${Dv(L|R8NoPrNz}yG6(%q@ESQ!=oRSKyLhft!^-9g4L!cYUKnS)qr22@sFa zIiBv993UX{3H~MWa~|pRqdAM>K{q{>wtiSlfb?*{1u*4NJ!BXz@AMWmlWdK<&Tx8F6ig8H#ZU-sTdJS6Q8@tEOK$ezlZ{1~mUQf<3a=ma`r&0AmxxXk9 z?@1N&CJe!%_?-2ETC}#kTPE?nZ&kGr?WQb-Ib%{)*B}$y%lV)!eYkno%Z7`X*SG(QEf?zQb2o zZrMTfG3w$sFob9JT<;V6tYw2T;^GG!+uxP!?D7xf_B6&vKTQo>aMk684_1i8eOIyI z*|I5lOMei~7>$8j?=4>7M&A~{V^H%CW%Xmq)Qu}6Af6bN>x;>CAHMyxd&HcSMpnES z)nIlwSL3a2-QdaOkU~JD4l2gXg8d7{=e_U5>>b&myhpbiha(Wc@t02MC}W|=EK|48 zkXc1NgT%`*5INHNd_LcHzU_&o)A4~IO00)kD;4@N6^d_EcTm6hsJ)6l(&u5WO$Ty8 znaj=!iRJ(C@$*zlWSs_z)aSPLMgAv0aJq*m;BbA(pSW0{hVg+O`Ol;#PSP3c8 zEDC)8N#4tyadiQOMBmR=mVtzvT7;`GD6@(xwtV0xgep*GOmM-MtWS)@bE*RG6Jzg? zW;1{n=dm*tC@vuZ6*byOyhms2s7cBV+yt&lEU>7?_-AXyI+MMw+BOGrD3vo|%$aw- z@W(|xf+LDWdU#uyZK3_66s^Y27gNzGb+g=3(`d1@?9?GS!}iMR zb{PJE2t#QyX#l;R1W&%W%jda1XGK|7aTat}I;E_mbAI@$X&kw_x+r*^hSDIL+X}sJ zCMT@b)a8*{cl`G#PA4GsL8{C-#R$di?}{UL4U6&$(0@4;Z?#r5SO1Z&P) zaab@5Hzq3fqB>4>_f>y>^Y2{Rn)yBGRV;1ffW`6aIzR|KPZSRHsR%3+m>FR3UCM^W z+^h(BOCidYpXZ(vJz4qqcr&Fc1;W=boL?6Yi!qJacj{W@mwixsMQ^d+6I9 zLcD0=wvEG9sZx!^(lSzDXfg`zfXCh3eGJVL!S7FD5^bn52cybMWoWu>6PAOw_~$|b z?NKNb8oo_$7>gQ+i}W~ERj|&s)McVFxi5(MTWKz{es+ss0AfD!R1r9)Zff;};a?$X zcX5e5jnx}zLkUWQGL4tl`2OAh`VIvy zU_?`;BNjnQ2KWy&|9itp42ZJitg|RU2@Ck&n*T=Kn4@>|G_4U|JjK&yW7U3>yu6)+ZW(4siHD;QuB&2&T2j za9MKM|5e}r?JuMVn=;UZDaZet?3^&I5#dMjMf@LB9)RMK0-G{fpGvm==ehb{*-c;D0E7Gk3S literal 0 HcmV?d00001 diff --git a/scripts/templates/readme.ejs b/scripts/templates/readme.ejs index f8f2c861276b..481a0175c720 100644 --- a/scripts/templates/readme.ejs +++ b/scripts/templates/readme.ejs @@ -10,46 +10,135 @@ Any changes to README.md directly will result in a failure on CI. --> -# Angular CLI -### Development tools and libraries specialized for Angular - -This is the home of the DevKit and the Angular CLI code. You can find the Angular CLI specific README -[here](/packages/angular/cli/README.md). - -<%# Badges are created here. %> -<% for (const section of monorepo.badges) { - for (const { label, image, title, url } of section) { - if (image) { - %>[![<%= label %>](<%= image %>)]<% - } else { - %>[<%= title %>]<% - } - %>(<%= url %>) <% - } %> +

Angular CLI - The CLI tool for Angular.

-<% } %> +

+
+ Angular CLI logo +

+ The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, +
and maintain Angular applications directly from a command shell.
+
+

-### Quick Links -<% for (const link of Object.keys(monorepo.links)) { - %>[<%= link %>](<%= monorepo.links[link] %>) | <% -} %> -<% for (const link of Object.keys(monorepo.links)) { -%>|---<% -} %>| +

+ cli.angular.io +
+

+ +

+ Contributing Guidelines + · + Submit an Issue + · + Blog +
+
+

+ +

+ + CI status +   + + Discord conversation + +

+ +
+ +## Documentation + +Get started with Angular CLI, learn the fundamentals and explore advanced topics on our documentation website. + +- [Getting started][quickstart] +- [CLI][cli] +- [Workspace and project file structure][filestructure] +- [Workspace configuration][workspaceconfig] +- [Schematics][schematics] + +## Development Setup + + +### Prerequisites + +- Install [Node.js] which includes [Node Package Manager][npm] + +### Setting Up a Project + +Install the Angular CLI globally: + +``` +npm install -g @angular/cli +``` + +Create workspace: + +``` +ng new [PROJECT NAME] +``` + +Run the application: + +``` +cd [PROJECT NAME] +ng serve +``` + +Angular is cross-platform, fast, scalable, has incredible tooling, and is loved by millions. ----- +## Quickstart -## The Goal of Angular CLI +[Get started in 5 minutes][quickstart]. -The Angular CLI creates, manages, builds and test your Angular projects. It's built on top of the -Angular DevKit. +## Ecosystem -## The Goal of DevKit +

+ angular ecosystem logos +

-DevKit's goal is to provide a large set of libraries that can be used to manage, develop, deploy and -analyze your code. +- [Angular Framework][aio] +- [Angular Material][angularmaterial] -# Packages +## Changelog + +[Learn about the latest improvements][changelog]. + +## Upgrading + +Check out our [upgrade guide](https://update.angular.io/) to find out the best way to upgrade your project. + +## Contributing + +### Contributing Guidelines + +Read through our [contributing guidelines][contributing] to learn about our submission process, coding rules and more. + +### Want to Help? + +Want to report a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for [contributing][contributing] and then check out one of our issues labeled as [help wanted](https://github.com/angular/angular-cli/labels/help%20wanted) or [good first issue](https://github.com/angular/angular-cli/labels/good%20first%20issue). + +### Code of Conduct + +Help us keep Angular open and inclusive. Please read and follow our [Code of Conduct][codeofconduct]. + +### Developer Guide + +Read through our [developer guide][developer] to learn about how to build and test the Angular CLI locally. + + +## Community + +Join the conversation and help the community. + +- [Twitter][twitter] +- [Discord][discord] +- [Gitter][gitter] +- [YouTube][youtube] +- [StackOverflow][stackoverflow] +- Find a Local [Meetup][meetup] + +## Packages This is a monorepo which contains many tools and packages: @@ -60,7 +149,7 @@ This is a monorepo which contains many tools and packages: sections.unshift(undefined); %> -## Tools +### Tools | Project | Package | Version | Links | |---|---|---|---| @@ -87,7 +176,7 @@ if (mrPkg.snapshotRepo) { } %> <% } %> -## Packages +### Packages <% for (const section of sections) { %><%= section ? '#### ' + section : '' %> @@ -117,3 +206,26 @@ for (const pkgName of Object.keys(packages)) { } %> <% } %> <% } %> + +**Love Angular CLI? Give our repo a star :star: :arrow_up:.** + +[contributing]: CONTRIBUTING.md +[developer]: docs/DEVELOPER.md +[quickstart]: https://angular.io/start +[changelog]: CHANGELOG.md +[documentation]: https://angular.io/docs +[angularmaterial]: https://material.angular.io/ +[cli]: https://cli.angular.io/ +[aio]: https://angular.io/ +[workspaceconfig]: https://angular.io/guide/workspace-config +[schematics]: https://angular.io/guide/schematics +[filestructure]: https://angular.io/guide/file-structure +[node.js]: https://nodejs.org/ +[npm]: https://www.npmjs.com/get-npm +[codeofconduct]: https://github.com/angular/angular/blob/master/CODE_OF_CONDUCT.md +[twitter]: https://www.twitter.com/angular +[discord]: https://discord.gg/angular +[gitter]: https://gitter.im/angular/angular-cli +[stackoverflow]: https://stackoverflow.com/questions/tagged/angular-cli +[youtube]: https://youtube.com/angular +[meetup]: https://www.meetup.com/find/?keywords=angular From 6e27a1a7c22795793f5798b90d2ac1645d7a44e8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 31 Jan 2022 17:23:45 +0000 Subject: [PATCH 0048/1388] build: lock file maintenance --- yarn.lock | 403 +++++++++++++++++++++++++----------------------------- 1 file changed, 184 insertions(+), 219 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5278e6778ead..ef6004447aee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -43,23 +43,23 @@ "@jridgewell/trace-mapping" "^0.2.0" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1302.0-rc.1": - version "0.1302.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0-rc.1.tgz#090e86312f6c57da83e46cda4833b37843f1ebf1" - integrity sha512-3sXdlD/LIZfwL6jNvzXDI185KgROWXFTrCdL969kNTe4xz1Og112g1/hay99wkbUmSJ7Sv8O0x/KGMoKlfKCYQ== +"@angular-devkit/architect@0.1302.0": + version "0.1302.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0.tgz#31a2e6f0c744c5076c85b6db71e31665d7daef55" + integrity sha512-1CmVYvxyfvK/khTcDJwwXibm/z4upM2j5SDpwuIdaLx21E4oQPmHn+U/quT/jE5VI1zfZi2vfvIaSXn9XQzMiQ== dependencies: - "@angular-devkit/core" "13.2.0-rc.1" + "@angular-devkit/core" "13.2.0" rxjs "6.6.7" "@angular-devkit/build-angular@^13.2.0-rc": - version "13.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0-rc.1.tgz#d07eeec25c00c9ed025aa599263d98ad22d39f4a" - integrity sha512-kKElUuHAocImUQmYnlkmk/8UJh8eYw7GqvcfSxIcxJ8euLS2hnavmUCexxtlPsgWmwJTdwXDnRYVCmr4n8hQqA== + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0.tgz#5880890b5083a31f96d237ffee5f82af6fcc11a8" + integrity sha512-cHnm/P7uKJjKh2BCN8gnnd240J5z3IesQyRAx88kFSlL5sKCGyGoAYKAjU585/lllIXjtFXSR/S2d/cHg8ShKw== dependencies: "@ampproject/remapping" "1.1.1" - "@angular-devkit/architect" "0.1302.0-rc.1" - "@angular-devkit/build-webpack" "0.1302.0-rc.1" - "@angular-devkit/core" "13.2.0-rc.1" + "@angular-devkit/architect" "0.1302.0" + "@angular-devkit/build-webpack" "0.1302.0" + "@angular-devkit/core" "13.2.0" "@babel/core" "7.16.12" "@babel/generator" "7.16.8" "@babel/helper-annotate-as-pure" "7.16.7" @@ -70,7 +70,7 @@ "@babel/runtime" "7.16.7" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "13.2.0-rc.1" + "@ngtools/webpack" "13.2.0" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" @@ -81,7 +81,7 @@ core-js "3.20.3" critters "0.0.16" css-loader "6.5.1" - esbuild-wasm "0.14.13" + esbuild-wasm "0.14.14" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" @@ -91,7 +91,7 @@ less-loader "10.2.0" license-webpack-plugin "4.0.0" loader-utils "3.2.0" - mini-css-extract-plugin "2.5.2" + mini-css-extract-plugin "2.5.3" minimatch "3.0.4" open "8.4.0" ora "5.4.1" @@ -121,20 +121,20 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.13" + esbuild "0.14.14" -"@angular-devkit/build-webpack@0.1302.0-rc.1": - version "0.1302.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1302.0-rc.1.tgz#2aab04363973bcdfe0d77a88913a8d1ed4159513" - integrity sha512-aQN9tAYIt+VE74QcRE0kXuBFHrbXYK04gfJBQ9HNR1osvh00Ka7OLSInFS6+9dnpeVhxuAEpAJkBPQejY+M7vg== +"@angular-devkit/build-webpack@0.1302.0": + version "0.1302.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1302.0.tgz#92e41035805fb99c1167fe2a9018a20e03025e76" + integrity sha512-x5BLdobF7c7j4W8frJuKM73ZYvPygjPN8vq1iKhsEraClqJG8cLiDwLEEFcrzIfmCHTX1o1o75sWC0FNln2LfQ== dependencies: - "@angular-devkit/architect" "0.1302.0-rc.1" + "@angular-devkit/architect" "0.1302.0" rxjs "6.6.7" -"@angular-devkit/core@13.2.0-rc.1": - version "13.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.2.0-rc.1.tgz#657bc8fcfb573ef7d29034acc9b16b8f3bc5c1c9" - integrity sha512-S3tQBN3wl8DQ3bMaB3iLsP2b+GAHeE4weN85LFh8juGY4mVpbLJos2ZGvKFj1M7Ho0SzZOjGSpOsUBVjX0qWVA== +"@angular-devkit/core@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.2.0.tgz#d7ee99ba40af70193a436a27ee1591a1ec754cd9" + integrity sha512-5+aV2W2QUazySMKusBuT2pi2qsXWpTHJG2x62mKGAy0lxzwG8l3if+WP3Uh85SQS+zqlHeKxEbmm9zNn8ZrzFg== dependencies: ajv "8.9.0" ajv-formats "2.1.1" @@ -214,6 +214,7 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93": version "0.0.0-354871956801929457d9f08482fb81f7012ed7c8" + uid "2024033f3123cd1beed78d43ec7269467cd9fa93" resolved "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93" dependencies: "@actions/core" "^1.4.0" @@ -1367,6 +1368,34 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@csstools/postcss-font-format-keywords@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.0.tgz#7e7df948a83a0dfb7eb150a96e2390ac642356a1" + integrity sha512-oO0cZt8do8FdVBX8INftvIA4lUrKUSCcWUf9IwH9IPWOgKT22oAZFXeHLoDK7nhB2SmkNycp5brxfNMRLIhd6Q== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-hwb-function@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.0.tgz#d6785c1c5ba8152d1d392c66f3a6a446c6034f6d" + integrity sha512-VSTd7hGjmde4rTj1rR30sokY3ONJph1reCBTUXqeW1fKwETPy1x4t/XIeaaqbMbC5Xg4SM/lyXZ2S8NELT2TaA== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-is-pseudo-class@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.0.tgz#219a1c1d84de7d9e9b7e662a57fdc194eac38ea7" + integrity sha512-WnfZlyuh/CW4oS530HBbrKq0G8BKl/bsNr5NMFoubBFzJfvFRGJhplCgIJYWUidLuL3WJ/zhMtDIyNFTqhx63Q== + dependencies: + postcss-selector-parser "^6.0.9" + +"@csstools/postcss-normalize-display-values@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" + integrity sha512-bX+nx5V8XTJEmGtpWTO6kywdS725t71YSLlxWt78XoHUbELWgoCXeOFymRJmL3SU1TLlKSIi7v52EWqe60vJTQ== + dependencies: + postcss-value-parser "^4.2.0" + "@discoveryjs/json-ext@0.5.6": version "0.5.6" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" @@ -1393,9 +1422,9 @@ integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== "@humanwhocodes/config-array@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" - integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== + version "0.9.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" + integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1428,9 +1457,9 @@ integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== "@jridgewell/trace-mapping@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.1.tgz#9e0a2ae258370bbb3aedbe45e26bc49e020f60a9" - integrity sha512-34FHiG7Gn+oXSF79LnqOogVHbsBgSnCjPYC3mfkViduAUciBbKA8lhhgeoaxytzFo7RZTloxlb9UyoW2dQgCEA== + version "0.2.2" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.2.tgz#77510cc2f6f3b92e78c78de216d42de631b1d7fb" + integrity sha512-I9AGQzMPEzQNJgib2YSqciYWazGsXSyu1rEEeaPeM1764ZtnfNTxA5bofzG/POMI3QcvpBUxwecOPZM6ZhkEpg== dependencies: "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" @@ -1485,10 +1514,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@13.2.0-rc.1": - version "13.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.2.0-rc.1.tgz#9fc464f2c0426fdd86a8e1f4f52bbb8ffb57d559" - integrity sha512-/SB2wADSCceBrvEaxnzch2kQ713mlrH8mHHz4AJ/EYJrH0U8UCJztpiKTSvWJKmqIlyJB/8lNMCdCTXrEtSWnw== +"@ngtools/webpack@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.2.0.tgz#9e1b9f66007033cf1fd58345b364773ce090cb10" + integrity sha512-dQKPsEsST/HSBYtC75E0ARI1zVsW65h/NYzcAwtOd8DKFmlj8EZMqKC4KwcJ/EKlwR1PN12nBZhuQ1HUVH8Vtg== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2103,9 +2132,9 @@ "@types/node" "*" "@types/inquirer@^8.0.0": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.1.3.tgz#dfda4c97cdbe304e4dceb378a80f79448ea5c8fe" - integrity sha512-AayK4ZL5ssPzR1OtnOLGAwpT0Dda3Xi/h1G0l1oJDNrowp7T1423q4Zb8/emr7tzRlCy4ssEri0LWVexAqHyKQ== + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.0.tgz#b9566d048f5ff65159f2ed97aff45fe0f00b35ec" + integrity sha512-BNoMetRf3gmkpAlV5we+kxyZTle7YibdOntIZbU5pyIfMdcwy784KfeZDAcuyMznkh5OLa17RVXZOGA5LTlkgQ== dependencies: "@types/through" "*" rxjs "^7.2.0" @@ -2211,9 +2240,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab" - integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog== + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" + integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== "@types/node@12.20.24": version "12.20.24" @@ -3577,9 +3606,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001299: - version "1.0.30001301" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz#ebc9086026534cab0dab99425d9c3b4425e5f450" - integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA== + version "1.0.30001304" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz#38af55ed3fc8220cb13e35e6e7309c8c65a05559" + integrity sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ== canonical-path@1.0.0: version "1.0.0" @@ -3954,11 +3983,11 @@ cookies@0.8.0: keygrip "~1.1.0" copy-anything@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" - integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== dependencies: - is-what "^3.12.0" + is-what "^3.14.1" copy-webpack-plugin@10.2.1: version "10.2.1" @@ -4068,10 +4097,10 @@ css-loader@6.5.1: postcss-value-parser "^4.1.0" semver "^7.3.5" -css-prefers-color-scheme@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.2.tgz#d5c03a980caab92d8beeee176a8795d331e0c727" - integrity sha512-gv0KQBEM+q/XdoKyznovq3KW7ocO7k+FhPP+hQR1MenJdu0uPGS6IZa9PzlbqBeS6XcZJNAoqoFxlAUW461CrA== +css-prefers-color-scheme@^6.0.2, css-prefers-color-scheme@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" + integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== css-select@^4.2.0: version "4.2.1" @@ -4103,6 +4132,11 @@ cssdb@^5.0.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.1.0.tgz#ec728d5f5c0811debd0820cbebda505d43003400" integrity sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw== +cssdb@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.1.0.tgz#75d63b1257e33af72ffdfec65f0f342189e4ab37" + integrity sha512-tZEDdN57Wlb5DRbOpJI9hSoP0t6DjtzSRswFoWo0hmJxfAXTBuDAcp2Oybj6BgQ+sErs9hXnWS1kzYKDKHanmg== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -4484,9 +4518,9 @@ domino@^2.1.2: integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== dompurify@^2.2.6: - version "2.3.4" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.4.tgz#1cf5cf0105ccb4debdf6db162525bd41e6ddacc6" - integrity sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ== + version "2.3.5" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.5.tgz#c83ed5a3ae5ce23e52efe654ea052ffb358dd7e3" + integrity sha512-kD+f8qEaa42+mjdOpKeztu9Mfx5bv9gVLO6K9jRx4uGvh6Wv06Srn4jr1wPNY2OOUGGSKHNFN+A8MA3v0E0QAQ== domutils@^2.8.0: version "2.8.0" @@ -4551,9 +4585,9 @@ ejs@^3.1.6: jake "^10.6.1" electron-to-chromium@^1.4.17: - version "1.4.51" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz#a432f5a5d983ace79278a33057300cf949627e63" - integrity sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ== + version "1.4.57" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz#2b2766df76ac8dbc0a1d41249bc5684a31849892" + integrity sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw== emoji-regex@^8.0.0: version "8.0.0" @@ -4782,221 +4816,102 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.13.tgz#a5c8cb275dc6dcaf2390abb639791ffc4aa6ead1" - integrity sha512-rhtwl+KJ3BzzXkK09N3/YbEF1i5WhriysJEStoeWNBzchx9hlmzyWmDGQQhu56HF78ua3JrVPyLOsdLGvtMvxQ== - esbuild-android-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== -esbuild-darwin-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.13.tgz#51ad2fbf8c9d73c1d40e5f9ab6122ffa95f5b494" - integrity sha512-Fl47xIt5RMu50WIgMU93kwmUUJb+BPuL8R895n/aBNQqavS+KUMpLPoqKGABBV4myfx/fnAD/97X8Gt1C1YW6w== - esbuild-darwin-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== -esbuild-darwin-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.13.tgz#7ff177193cffbba518a59dfa4666a2fbb3345330" - integrity sha512-UttqKRFXsWvuivcyAbFmo54vdkC9Me1ZYQNuoz/uBYDbkb2MgqKYG2+xoVKPBhLvhT0CKM5QGKD81flMH5BE6A== - esbuild-darwin-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== -esbuild-freebsd-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.13.tgz#648357ff0ca399ce65f7e7ebfff701cf105c70f3" - integrity sha512-dlIhPFSp29Yq2TPh7Cm3/4M0uKjlfvOylHVNCRvRNiOvDbBol6/NZ3kLisczms+Yra0rxVapBPN1oMbSMuts9g== - esbuild-freebsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== -esbuild-freebsd-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.13.tgz#7cb0016dd64fd116624c56dcfe58b27fac8ceaee" - integrity sha512-bNOHLu7Oq6RwaAMnwPbJ40DVGPl9GlAOnfH/dFZ792f8hFEbopkbtVzo1SU1jjfY3TGLWOgqHNWxPxx1N7Au+g== - esbuild-freebsd-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== -esbuild-linux-32@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.13.tgz#50b197f6831e824660ab80d011b656505a0aae32" - integrity sha512-WzXyBx6zx16adGi7wPBvH2lRCBzYMcqnBRrJ8ciLIqYyruGvprZocX1nFWfiexjLcFxIElWnMNPX6LG7ULqyXA== - esbuild-linux-32@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== -esbuild-linux-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.13.tgz#d2ee4d780e3cadd129ab8988c7c75ca4bd636f3a" - integrity sha512-P6OFAfcoUvE7g9h/0UKm3qagvTovwqpCF1wbFLWe/BcCY8BS1bR/+SxUjCeKX2BcpIsg4/43ezHDE/ntg/iOpw== - esbuild-linux-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== -esbuild-linux-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.13.tgz#9151963c55cd42968c97f2fd354cd6ff9b3cb476" - integrity sha512-k/uIvmkm4mc7vyMvJVwILgGxi2F+FuvLdmESIIWoHrnxEfEekC5AWpI/R6GQ2OMfp8snebSQLs8KL05QPnt1zA== - esbuild-linux-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== -esbuild-linux-arm@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.13.tgz#80e94cd8920607dc0addb97bac7ff5988d0fc28f" - integrity sha512-4jmm0UySCg3Wi6FEBS7jpiPb1IyckI5um5kzYRwulHxPzkiokd6cgpcsTakR4/Y84UEicS8LnFAghHhXHZhbFg== - esbuild-linux-arm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== -esbuild-linux-mips64le@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.13.tgz#8e7eeef567b0895f2ecc4d66b1f1e5a542f1ce5b" - integrity sha512-vwYtgjQ1TRlUGL88km9wH9TjXsdZyZ/Xht1ASptg5XGRlqGquVjLGH11PfLLunoMdkQ0YTXR68b4l5gRfjVbyg== - esbuild-linux-mips64le@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== -esbuild-linux-ppc64le@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.13.tgz#ffbe9915a1d8080f9810a9c5938f453003c6de98" - integrity sha512-0KqDSIkZaYugtcdpFCd3eQ38Fg6TzhxmOpkhDIKNTwD/W2RoXeiS+Z4y5yQ3oysb/ySDOxWkwNqTdXS4sz2LdQ== - esbuild-linux-ppc64le@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== -esbuild-linux-s390x@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.13.tgz#e27274d12f198580892432115fc0de432431d33d" - integrity sha512-bG20i7d0CN97fwPN9LaLe64E2IrI0fPZWEcoiff9hzzsvo/fQCx0YjMbPC2T3gqQ48QZRltdU9hQilTjHk3geQ== - esbuild-linux-s390x@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== -esbuild-netbsd-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.13.tgz#78199fa57d5794e6ac6c33993dd0588fba22b353" - integrity sha512-jz96PQb0ltqyqLggPpcRbWxzLvWHvrZBHZQyjcOzKRDqg1fR/R1y10b1Cuv84xoIbdAf+ceNUJkMN21FfR9G2g== - esbuild-netbsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== -esbuild-openbsd-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.13.tgz#5394336b602e1db15583bbef7d827a2b9648e373" - integrity sha512-bp6zSo3kDCXKPM5MmVUg6DEpt+yXDx37iDGzNTn3Kf9xh6d0cdITxUC4Bx6S3Di79GVYubWs+wNjSRVFIJpryw== - esbuild-openbsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== -esbuild-sunos-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.13.tgz#4afcddcece51f943149fa07274bd58f64e0913a8" - integrity sha512-08Fne1T9QHYxUnu55sV9V4i/yECADOaI1zMGET2YUa8SRkib10i80hc89U7U/G02DxpN/KUJMWEGq2wKTn0QFQ== - esbuild-sunos-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== -esbuild-wasm@0.14.13, esbuild-wasm@^0.14.0: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.13.tgz#7850d9ccbe589a3fe9f0ac3bd5fd2095de0cbc65" - integrity sha512-niRkHnjbCSscizzSCtYfc0shAjrK4OXT9COaBdUFuWebx5+2gjXU4YbZohVGLvEf89hh6/U3z+JGMTAF4PajZg== - -esbuild-wasm@0.14.14: +esbuild-wasm@0.14.14, esbuild-wasm@^0.14.0: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== -esbuild-windows-32@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.13.tgz#cb06267f270bbf7ea6631cc78b8f6e3647975c44" - integrity sha512-MW3BMIi9+fzTyDdljH0ftfT/qlD3t+aVzle1O+zZ2MgHRMQD20JwWgyqoJXhe6uDVyunrAUbcjH3qTIEZN3isg== - esbuild-windows-32@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== -esbuild-windows-64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.13.tgz#3bbfba58e0185121280bd47ccd073b6c1849fd27" - integrity sha512-d7+0N+EOgBKdi/nMxlQ8QA5xHBlpcLtSrYnHsA+Xp4yZk28dYfRw1+embsHf5uN5/1iPvrJwPrcpgDH1xyy4JA== - esbuild-windows-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== -esbuild-windows-arm64@0.14.13: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.13.tgz#9203d40d915d809c50bc91af5a8373e5f5abfc4c" - integrity sha512-oX5hmgXk9yNKbb5AxThzRQm/E9kiHyDll7JJeyeT1fuGENTifv33f0INCpjBQ+Ty5ChKc84++ZQTEBwLCA12Kw== - esbuild-windows-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== -esbuild@0.14.13, esbuild@^0.14.0: - version "0.14.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.13.tgz#ce3fc7c45a6b8a40caad43daa39cdb9c1e84930a" - integrity sha512-FIxvAdj3i2oHA6ex+E67bG7zlSTO+slt8kU2ogHDgGtrQLy2HNChv3PYjiFTYkt8hZbEAniZCXVeHn+FrHt7dA== - optionalDependencies: - esbuild-android-arm64 "0.14.13" - esbuild-darwin-64 "0.14.13" - esbuild-darwin-arm64 "0.14.13" - esbuild-freebsd-64 "0.14.13" - esbuild-freebsd-arm64 "0.14.13" - esbuild-linux-32 "0.14.13" - esbuild-linux-64 "0.14.13" - esbuild-linux-arm "0.14.13" - esbuild-linux-arm64 "0.14.13" - esbuild-linux-mips64le "0.14.13" - esbuild-linux-ppc64le "0.14.13" - esbuild-linux-s390x "0.14.13" - esbuild-netbsd-64 "0.14.13" - esbuild-openbsd-64 "0.14.13" - esbuild-sunos-64 "0.14.13" - esbuild-windows-32 "0.14.13" - esbuild-windows-64 "0.14.13" - esbuild-windows-arm64 "0.14.13" - -esbuild@0.14.14: +esbuild@0.14.14, esbuild@^0.14.0: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== @@ -5078,9 +4993,9 @@ eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: resolve "^1.20.0" eslint-module-utils@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" - integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== + version "2.7.3" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== dependencies: debug "^3.2.7" find-up "^2.1.0" @@ -5534,9 +5449,9 @@ flatstr@^1.0.12: integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== flatted@^3.1.0, flatted@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.0.0, follow-redirects@^1.14.0: version "1.14.7" @@ -5846,9 +5761,9 @@ globby@^5.0.0: pinkie-promise "^2.0.0" google-protobuf@^3.6.1: - version "3.19.3" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.3.tgz#2d5fb0c77584d675fca509a1fbc80c64fff471c9" - integrity sha512-3GRDj8o9XjcALYjgxNKeD7Wm6w/V8r1Jo4sLYMic9+VaIMLBx8TQeHP9yaoRoDymNONhnkmmveDPyjw/Fpw8+A== + version "3.19.4" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz#8d32c3e34be9250956f28c0fb90955d13f311888" + integrity sha512-OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg== got@^10.5.7: version "10.7.0" @@ -6574,7 +6489,7 @@ is-weakref@^1.0.1: dependencies: call-bind "^1.0.2" -is-what@^3.12.0: +is-what@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== @@ -7023,9 +6938,9 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.3.0: - version "6.3.11" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.11.tgz#2c2fb09f1a9f52e1a0739adeedace2a68d4c0d34" - integrity sha512-QGUh4yXgizzDNPLB5nWTvP+wysKexngbyLVWFOyikB661hpa2RZLf5anZQzqliWtAQuYVep0ot0D1U7UQKpsxQ== + version "6.3.12" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.12.tgz#fe6347f027385fc16da1a9bb87d766e2d25981c6" + integrity sha512-qwIG+oB2YmHx4hjvYSRMNzL3YWAJ9baHaLAxiP7biFNkfpwYTUTtPck0joFpucalNLzMr+7z/FX1uY/kl8DV9A== dependencies: body-parser "^1.19.0" braces "^3.0.2" @@ -7596,13 +7511,6 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.2.tgz#b3b9b98320c2c054d92c16f6a94ddfdbbba13755" - integrity sha512-Lwgq9qLNyBK6yNLgzssXnq4r2+mB9Mz3cJWlM8kseysHIvTicFhDNimFgY94jjqlwhNzLPsq8wv4X+vOHtMdYA== - dependencies: - schema-utils "^4.0.0" - mini-css-extract-plugin@2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz#c5c79f9b22ce9b4f164e9492267358dbe35376d9" @@ -8612,6 +8520,13 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" +postcss-clamp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-3.0.0.tgz#09cb1ad64243b46c9159ded5e8d3e8349150a09e" + integrity sha512-QENQMIF/Grw0qX0RzSPJjw+mAiGPIwG2AnsQDIoR/WJ5Q19zLB0NrZX8cH7CzzdDWEerTPGCdep7ItFaAdtItg== + dependencies: + postcss-value-parser "^4.1.0" + postcss-color-functional-notation@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.1.tgz#a25e9e1855e14d04319222a689f120b3240d39e0" @@ -8638,10 +8553,10 @@ postcss-custom-media@^8.0.0: resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^12.1.2: - version "12.1.3" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.3.tgz#8e37651c7188e72e6762eeae8db39755e84d3a64" - integrity sha512-rtu3otIeY532PnEuuBrIIe+N+pcdbX/7JMZfrcL09wc78YayrHw5E8UkDfvnlOhEUrI4ptCuzXQfj+Or6spbGA== +postcss-custom-properties@^12.1.2, postcss-custom-properties@^12.1.4: + version "12.1.4" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.4.tgz#e3d8a8000f28094453b836dff5132385f2862285" + integrity sha512-i6AytuTCoDLJkWN/MtAIGriJz3j7UX6bV7Z5t+KgFz+dwZS15/mlTJY1S0kRizlk6ba0V8u8hN50Fz5Nm7tdZw== dependencies: postcss-value-parser "^4.2.0" @@ -8697,10 +8612,10 @@ postcss-gap-properties@^3.0.2: resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.2.tgz#562fbf43a6a721565b3ca0e01008690991d2f726" integrity sha512-EaMy/pbxtQnKDsnbEjdqlkCkROTQZzolcLKgIE+3b7EuJfJydH55cZeHfm+MtIezXRqhR80VKgaztO/vHq94Fw== -postcss-image-set-function@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.4.tgz#ce91579ab2c1386d412ff5cd5e733c474b1f75ee" - integrity sha512-BlEo9gSTj66lXjRNByvkMK9dEdEGFXRfGjKRi9fo8s0/P3oEk74cAoonl/utiM50E2OPVb/XSu+lWvdW4KtE/Q== +postcss-image-set-function@^4.0.4, postcss-image-set-function@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.5.tgz#8cb3a971507e2c00d5532658af62529c89f0ecc6" + integrity sha512-D4jXzlypkJ6BiSoUGazrRlR+GF3SED+BeiRDzOmuinDKdAn/Wuu8KtEGa5Z4pg4kxyeSMBywMgNt2+Yi/TZPPw== dependencies: postcss-value-parser "^4.2.0" @@ -8779,6 +8694,11 @@ postcss-nesting@^10.1.2: dependencies: postcss-selector-parser "^6.0.8" +postcss-opacity-percentage@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" + integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== + postcss-overflow-shorthand@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.2.tgz#b4e9c89728cd1e4918173dfb95936b75f78d4148" @@ -8796,7 +8716,7 @@ postcss-place@^7.0.3: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.2.3, postcss-preset-env@^7.0.0: +postcss-preset-env@7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz#01b9b6eea0ff16c27a3d514f10105d56363428a6" integrity sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA== @@ -8835,12 +8755,56 @@ postcss-preset-env@7.2.3, postcss-preset-env@^7.0.0: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-pseudo-class-any-link@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.0.2.tgz#6284c2f970715c78fe992d2fac1130e9991585c9" - integrity sha512-CG35J1COUH7OOBgpw5O+0koOLUd5N4vUGKUqSAuIe4GiuLHWU96Pqp+UPC8QITTd12zYAFx76pV7qWT/0Aj/TA== +postcss-preset-env@^7.0.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" + integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== dependencies: - postcss-selector-parser "^6.0.8" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + autoprefixer "^10.4.2" + browserslist "^4.19.1" + css-blank-pseudo "^3.0.2" + css-has-pseudo "^3.0.3" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.1.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^3.0.0" + postcss-color-functional-notation "^4.2.1" + postcss-color-hex-alpha "^8.0.2" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.3" + postcss-double-position-gradients "^3.0.4" + postcss-env-function "^4.0.4" + postcss-focus-visible "^6.0.3" + postcss-focus-within "^5.0.3" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.2" + postcss-image-set-function "^4.0.5" + postcss-initial "^4.0.1" + postcss-lab-function "^4.0.3" + postcss-logical "^5.0.3" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.1" + postcss-overflow-shorthand "^3.0.2" + postcss-page-break "^3.0.4" + postcss-place "^7.0.3" + postcss-pseudo-class-any-link "^7.1.0" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + +postcss-pseudo-class-any-link@^7.0.2, postcss-pseudo-class-any-link@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.0.tgz#88eb02b9529c5458ffebc68df3760534b6c9fbbf" + integrity sha512-l7sAkLmm3bYq8wt8/0r/dn6o9mVCPq7MOiNrb/Xi2zBlw/+w1V2jKFo/3IijKHfJ92SwDqkVLPwQfGO3xxUdAw== + dependencies: + postcss-selector-parser "^6.0.9" postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" @@ -8854,7 +8818,7 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.8: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.8, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -9566,9 +9530,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.45.1: - version "2.66.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.0.tgz#ee529ea15a20485d579039637fec3050bad03bbb" - integrity sha512-L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g== + version "2.66.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.1.tgz#366b0404de353c4331d538c3ad2963934fcb4937" + integrity sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w== optionalDependencies: fsevents "~2.3.2" @@ -9644,6 +9608,7 @@ sass@1.49.0, sass@^1.32.8: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -10887,9 +10852,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.14.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.5.tgz#cdabb7d4954231d80cb4a927654c4655e51f4859" - integrity sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ== + version "3.15.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.0.tgz#2d6a689d94783cab43975721977a13c2afec28f1" + integrity sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg== unbox-primitive@^1.0.1: version "1.0.1" From 1842bd5d536238e016a4c09ba2d694733a0741d9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 1 Feb 2022 17:27:13 +0100 Subject: [PATCH 0049/1388] fix(@angular-devkit/build-angular): add `whatwg-url` to downlevel exclusion list Similar to https://github.com/angular/angular-cli/pull/21739, `whatwg-url` seems to suffer from the same issue as https://github.com/angular/angular-cli/issues/21735 ```ts const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype); ``` --- .../build_angular/src/webpack/configs/common.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 6ae34fe394e6..0824024aa77f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -374,7 +374,9 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Tue, 1 Feb 2022 17:18:45 +0100 Subject: [PATCH 0050/1388] docs(@angular-devkit/build-angular): add missing period in `include` description --- .../angular_devkit/build_angular/src/builders/karma/schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index e97151694e80..388070a1451c 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -126,7 +126,7 @@ "items": { "type": "string" }, - "description": "Globs of files to include, relative to workspace or project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead" + "description": "Globs of files to include, relative to workspace or project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead." }, "sourceMap": { "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.", From c95ab7041fbd69e1bfea4454294f0295b1d08176 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 1 Feb 2022 14:28:00 +0100 Subject: [PATCH 0051/1388] test: remove hardcoded app-shell test With this change we remove the hard coded app-shell test that is currently failing in Node.Js 12. We can remove this test, because this is a duplicate of https://github.com/angular/angular-cli/blob/master/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts which app-shell is generated using schematics. --- .../e2e/tests/build/build-app-shell.ts | 168 ------------------ 1 file changed, 168 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/build-app-shell.ts diff --git a/tests/legacy-cli/e2e/tests/build/build-app-shell.ts b/tests/legacy-cli/e2e/tests/build/build-app-shell.ts deleted file mode 100644 index 5c13f7a27a3e..000000000000 --- a/tests/legacy-cli/e2e/tests/build/build-app-shell.ts +++ /dev/null @@ -1,168 +0,0 @@ -import { stripIndent } from 'common-tags'; -import { getGlobalVariable } from '../../utils/env'; -import { expectFileToMatch, writeFile } from '../../utils/fs'; -import { installWorkspacePackages } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { readNgVersion } from '../../utils/version'; - -export default function () { - let platformServerVersion = readNgVersion(); - - if (getGlobalVariable('argv')['ng-snapshots']) { - platformServerVersion = require('../../ng-snapshot/package.json').dependencies[ - '@angular/platform-server' - ]; - } - - return Promise.resolve() - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect['server'] = { - builder: '@angular-devkit/build-angular:server', - options: { - outputPath: 'dist/test-project-server', - main: 'src/main.server.ts', - tsConfig: 'tsconfig.server.json', - }, - }; - appArchitect['app-shell'] = { - builder: '@angular-devkit/build-angular:app-shell', - options: { - browserTarget: 'test-project:build', - serverTarget: 'test-project:server', - route: '/shell', - }, - }; - }), - ) - .then(() => - writeFile( - './tsconfig.server.json', - ` - { - "extends": "./tsconfig.app.json", - "compilerOptions": { - "outDir": "../dist-server", - "baseUrl": "./", - "module": "commonjs", - "types": [] - }, - "files": [ - "src/main.server.ts" - ], - "include": [ - "src/**/*.d.ts" - ], - "angularCompilerOptions": { - "entryModule": "src/app/app.server.module#AppServerModule" - } - } - `, - ), - ) - .then(() => - writeFile( - './src/main.server.ts', - ` - import { enableProdMode } from '@angular/core'; - - import { environment } from './environments/environment'; - - if (environment.production) { - enableProdMode(); - } - - export { AppServerModule } from './app/app.server.module'; - export { renderModule } from '@angular/platform-server'; - `, - ), - ) - .then(() => - writeFile( - './src/app/app.component.html', - stripIndent` - Hello World - - `, - ), - ) - .then(() => - writeFile( - './src/app/app.module.ts', - stripIndent` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - import { RouterModule } from '@angular/router'; - - import { AppComponent } from './app.component'; - - @NgModule({ - imports: [ - BrowserModule.withServerTransition({ appId: 'appshell-play' }), - RouterModule - ], - declarations: [AppComponent], - bootstrap: [AppComponent] - }) - export class AppModule { } - `, - ), - ) - .then(() => - writeFile( - './src/app/app.server.module.ts', - stripIndent` - import {NgModule} from '@angular/core'; - import {ServerModule} from '@angular/platform-server'; - import { Routes, RouterModule } from '@angular/router'; - - import { AppModule } from './app.module'; - import { AppComponent } from './app.component'; - import { ShellComponent } from './shell.component'; - - const routes: Routes = [ - { path: 'shell', component: ShellComponent } - ]; - - @NgModule({ - imports: [ - // The AppServerModule should import your AppModule followed - // by the ServerModule from @angular/platform-server. - AppModule, - ServerModule, - RouterModule.forRoot(routes), - ], - // Since the bootstrapped component is not inherited from your - // imported AppModule, it needs to be repeated here. - bootstrap: [AppComponent], - declarations: [ShellComponent], - }) - export class AppServerModule {} - `, - ), - ) - .then(() => - writeFile( - './src/app/shell.component.ts', - stripIndent` - import { Component } from '@angular/core'; - @Component({ - selector: 'app-shell', - template: '

shell Works!

', - styles: [] - }) - export class ShellComponent {} - `, - ), - ) - .then(() => - updateJsonFile('package.json', (packageJson) => { - const dependencies = packageJson['dependencies']; - dependencies['@angular/platform-server'] = platformServerVersion; - }).then(() => installWorkspacePackages()), - ) - .then(() => ng('run', 'test-project:app-shell')) - .then(() => expectFileToMatch('dist/test-project/index.html', /shell Works!/)); -} From 6cf9887302e89b627b762f570e54377d83f8222d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 28 Jan 2022 11:30:52 +0100 Subject: [PATCH 0052/1388] test(@angular/cli): update ng-update test to start from version 10 With this change we update the `ng-update` test to start from version 10 as version 9 has been out of support for some time now. --- .prettierignore | 2 +- .../e2e/assets/10.0-project/.browserslistrc | 18 +++++++ .../e2e/assets/10.0-project/.editorconfig | 16 ++++++ .../e2e/assets/10.0-project/.gitignore | 46 ++++++++++++++++++ .../{9.0-project => 10.0-project}/README.md | 6 +-- .../angular.json | 16 +++--- .../e2e/protractor.conf.js | 10 +++- .../e2e/src/app.e2e-spec.ts | 2 +- .../e2e/src/app.po.ts | 0 .../e2e/tsconfig.json | 3 +- .../karma.conf.js | 2 +- .../e2e/assets/10.0-project/package.json | 46 ++++++++++++++++++ .../src/app/app-routing.module.ts | 0 .../src/app/app.component.css | 0 .../src/app/app.component.html | 0 .../src/app/app.component.spec.ts | 14 +++--- .../src/app/app.component.ts | 2 +- .../src/app/app.module.ts | 0 .../src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 0 .../src/environments/environment.ts | 0 .../src/favicon.ico | Bin .../src/index.html | 2 +- .../{9.0-project => 10.0-project}/src/main.ts | 0 .../src/polyfills.ts | 4 +- .../src/styles.css | 0 .../{9.0-project => 10.0-project}/src/test.ts | 0 .../tsconfig.app.json | 1 + .../tsconfig.json | 7 +-- .../tsconfig.spec.json | 3 +- .../{9.0-project => 10.0-project}/tslint.json | 17 ++++--- .../e2e/assets/9.0-project/browserslist | 12 ----- .../e2e/assets/9.0-project/package.json | 46 ------------------ 33 files changed, 176 insertions(+), 99 deletions(-) create mode 100644 tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc create mode 100644 tests/legacy-cli/e2e/assets/10.0-project/.editorconfig create mode 100644 tests/legacy-cli/e2e/assets/10.0-project/.gitignore rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/README.md (85%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/angular.json (88%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/e2e/protractor.conf.js (73%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/e2e/src/app.e2e-spec.ts (88%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/e2e/src/app.po.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/e2e/tsconfig.json (62%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/karma.conf.js (93%) create mode 100644 tests/legacy-cli/e2e/assets/10.0-project/package.json rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/app/app-routing.module.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/app/app.component.css (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/app/app.component.html (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/app/app.component.spec.ts (75%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/app/app.component.ts (88%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/app/app.module.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/assets/.gitkeep (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/environments/environment.prod.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/environments/environment.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/favicon.ico (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/index.html (90%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/main.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/polyfills.ts (97%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/styles.css (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/src/test.ts (100%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/tsconfig.app.json (71%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/tsconfig.json (71%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/tsconfig.spec.json (65%) rename tests/legacy-cli/e2e/assets/{9.0-project => 10.0-project}/tslint.json (95%) delete mode 100644 tests/legacy-cli/e2e/assets/9.0-project/browserslist delete mode 100644 tests/legacy-cli/e2e/assets/9.0-project/package.json diff --git a/.prettierignore b/.prettierignore index 438c9f4edca4..20472fa0fa4a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -12,5 +12,5 @@ .yarn/ dist/ third_party/ -/tests/legacy-cli/e2e/assets/9.0-project/ +/tests/legacy-cli/e2e/assets/ /tools/test/*.json \ No newline at end of file diff --git a/tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc b/tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc new file mode 100644 index 000000000000..0ccadaf32fba --- /dev/null +++ b/tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc @@ -0,0 +1,18 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR +not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line. +not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/tests/legacy-cli/e2e/assets/10.0-project/.editorconfig b/tests/legacy-cli/e2e/assets/10.0-project/.editorconfig new file mode 100644 index 000000000000..59d9a3a3e73f --- /dev/null +++ b/tests/legacy-cli/e2e/assets/10.0-project/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/tests/legacy-cli/e2e/assets/10.0-project/.gitignore b/tests/legacy-cli/e2e/assets/10.0-project/.gitignore new file mode 100644 index 000000000000..86d943a9b2e8 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/10.0-project/.gitignore @@ -0,0 +1,46 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +# Only exists if Bazel was run +/bazel-out + +# dependencies +/node_modules + +# profiling files +chrome-profiler-events*.json +speed-measure-plugin*.json + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/tests/legacy-cli/e2e/assets/9.0-project/README.md b/tests/legacy-cli/e2e/assets/10.0-project/README.md similarity index 85% rename from tests/legacy-cli/e2e/assets/9.0-project/README.md rename to tests/legacy-cli/e2e/assets/10.0-project/README.md index dc54dd650060..36796dab3bff 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/README.md +++ b/tests/legacy-cli/e2e/assets/10.0-project/README.md @@ -1,6 +1,6 @@ -# NineProject +# TenProject -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.15. +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.2.4. ## Development server @@ -24,4 +24,4 @@ Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protrac ## Further help -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/tests/legacy-cli/e2e/assets/9.0-project/angular.json b/tests/legacy-cli/e2e/assets/10.0-project/angular.json similarity index 88% rename from tests/legacy-cli/e2e/assets/9.0-project/angular.json rename to tests/legacy-cli/e2e/assets/10.0-project/angular.json index 1f340d79e68c..1c20732db6c7 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/angular.json +++ b/tests/legacy-cli/e2e/assets/10.0-project/angular.json @@ -3,7 +3,7 @@ "version": 1, "newProjectRoot": "projects", "projects": { - "nine-project": { + "ten-project": { "projectType": "application", "schematics": {}, "root": "", @@ -13,7 +13,7 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "outputPath": "dist/nine-project", + "outputPath": "dist/ten-project", "index": "src/index.html", "main": "src/main.ts", "polyfills": "src/polyfills.ts", @@ -57,18 +57,18 @@ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "browserTarget": "nine-project:build" + "browserTarget": "ten-project:build" }, "configurations": { "production": { - "browserTarget": "nine-project:build:production" + "browserTarget": "ten-project:build:production" } } }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { - "browserTarget": "nine-project:build" + "browserTarget": "ten-project:build" } }, "test": { @@ -94,16 +94,16 @@ "builder": "@angular-devkit/build-angular:protractor", "options": { "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "nine-project:serve" + "devServerTarget": "ten-project:serve" }, "configurations": { "production": { - "devServerTarget": "nine-project:serve:production" + "devServerTarget": "ten-project:serve:production" } } } } } }, - "defaultProject": "nine-project" + "defaultProject": "ten-project" } diff --git a/tests/legacy-cli/e2e/assets/9.0-project/e2e/protractor.conf.js b/tests/legacy-cli/e2e/assets/10.0-project/e2e/protractor.conf.js similarity index 73% rename from tests/legacy-cli/e2e/assets/9.0-project/e2e/protractor.conf.js rename to tests/legacy-cli/e2e/assets/10.0-project/e2e/protractor.conf.js index 504db95d6713..f07dcd519768 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/e2e/protractor.conf.js +++ b/tests/legacy-cli/e2e/assets/10.0-project/e2e/protractor.conf.js @@ -2,7 +2,7 @@ // Protractor configuration file, see link for more information // https://github.com/angular/protractor/blob/master/lib/config.ts -const { SpecReporter } = require('jasmine-spec-reporter'); +const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); /** * @type { import("protractor").Config } @@ -25,6 +25,12 @@ exports.config = { require('ts-node').register({ project: require('path').join(__dirname, './tsconfig.json'), }); - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + jasmine.getEnv().addReporter( + new SpecReporter({ + spec: { + displayStacktrace: StacktraceOption.PRETTY, + }, + }), + ); }, }; diff --git a/tests/legacy-cli/e2e/assets/9.0-project/e2e/src/app.e2e-spec.ts b/tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.e2e-spec.ts similarity index 88% rename from tests/legacy-cli/e2e/assets/9.0-project/e2e/src/app.e2e-spec.ts rename to tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.e2e-spec.ts index 9ebe02b1c994..e41670e502c2 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/e2e/src/app.e2e-spec.ts +++ b/tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.e2e-spec.ts @@ -10,7 +10,7 @@ describe('workspace-project App', () => { it('should display welcome message', () => { page.navigateTo(); - expect(page.getTitleText()).toEqual('nine-project app is running!'); + expect(page.getTitleText()).toEqual('ten-project app is running!'); }); afterEach(async () => { diff --git a/tests/legacy-cli/e2e/assets/9.0-project/e2e/src/app.po.ts b/tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.po.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/e2e/src/app.po.ts rename to tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.po.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/e2e/tsconfig.json b/tests/legacy-cli/e2e/assets/10.0-project/e2e/tsconfig.json similarity index 62% rename from tests/legacy-cli/e2e/assets/9.0-project/e2e/tsconfig.json rename to tests/legacy-cli/e2e/assets/10.0-project/e2e/tsconfig.json index 677f30ff8ab5..eddd492c3de8 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/e2e/tsconfig.json +++ b/tests/legacy-cli/e2e/assets/10.0-project/e2e/tsconfig.json @@ -1,9 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/e2e", "module": "commonjs", - "target": "es5", + "target": "es2018", "types": ["jasmine", "jasminewd2", "node"] } } diff --git a/tests/legacy-cli/e2e/assets/9.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js similarity index 93% rename from tests/legacy-cli/e2e/assets/9.0-project/karma.conf.js rename to tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js index e73ed05d83ba..544af4666fa5 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/karma.conf.js +++ b/tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js @@ -16,7 +16,7 @@ module.exports = function (config) { clearContext: false, // leave Jasmine Spec Runner output visible in browser }, coverageIstanbulReporter: { - dir: require('path').join(__dirname, './coverage/nine-project'), + dir: require('path').join(__dirname, './coverage/ten-project'), reports: ['html', 'lcovonly', 'text-summary'], fixWebpackSourcePaths: true, }, diff --git a/tests/legacy-cli/e2e/assets/10.0-project/package.json b/tests/legacy-cli/e2e/assets/10.0-project/package.json new file mode 100644 index 000000000000..bcee31fdf914 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/10.0-project/package.json @@ -0,0 +1,46 @@ +{ + "name": "ten-project", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "e2e": "ng e2e" + }, + "private": true, + "dependencies": { + "@angular/animations": "~10.2.5", + "@angular/common": "~10.2.5", + "@angular/compiler": "~10.2.5", + "@angular/core": "~10.2.5", + "@angular/forms": "~10.2.5", + "@angular/platform-browser": "~10.2.5", + "@angular/platform-browser-dynamic": "~10.2.5", + "@angular/router": "~10.2.5", + "rxjs": "~6.6.0", + "tslib": "^2.0.0", + "zone.js": "~0.10.2" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~0.1002.4", + "@angular/cli": "~10.2.4", + "@angular/compiler-cli": "~10.2.5", + "@types/node": "^12.11.1", + "@types/jasmine": "~3.5.0", + "@types/jasminewd2": "~2.0.3", + "codelyzer": "^6.0.0", + "jasmine-core": "~3.6.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~5.0.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.5.0", + "protractor": "~7.0.0", + "ts-node": "~8.3.0", + "tslint": "~6.1.0", + "typescript": "~4.0.2" + } +} diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app-routing.module.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app-routing.module.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/app/app-routing.module.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/app/app-routing.module.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.css b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.css similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.css rename to tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.css diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.html b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.html similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.html rename to tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.html diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.spec.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.spec.ts similarity index 75% rename from tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.spec.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.spec.ts index 4629676b9294..bdea908638d1 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.spec.ts +++ b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.spec.ts @@ -1,14 +1,14 @@ -import { TestBed, async } from '@angular/core/testing'; +import { TestBed } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { AppComponent } from './app.component'; describe('AppComponent', () => { - beforeEach(async(() => { - TestBed.configureTestingModule({ + beforeEach(async () => { + await TestBed.configureTestingModule({ imports: [RouterTestingModule], declarations: [AppComponent], }).compileComponents(); - })); + }); it('should create the app', () => { const fixture = TestBed.createComponent(AppComponent); @@ -16,10 +16,10 @@ describe('AppComponent', () => { expect(app).toBeTruthy(); }); - it(`should have as title 'nine-project'`, () => { + it(`should have as title 'ten-project'`, () => { const fixture = TestBed.createComponent(AppComponent); const app = fixture.componentInstance; - expect(app.title).toEqual('nine-project'); + expect(app.title).toEqual('ten-project'); }); it('should render title', () => { @@ -27,7 +27,7 @@ describe('AppComponent', () => { fixture.detectChanges(); const compiled = fixture.nativeElement; expect(compiled.querySelector('.content span').textContent).toContain( - 'nine-project app is running!', + 'ten-project app is running!', ); }); }); diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.ts similarity index 88% rename from tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.ts index a94802147b94..cb054a486094 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.component.ts +++ b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.ts @@ -6,5 +6,5 @@ import { Component } from '@angular/core'; styleUrls: ['./app.component.css'], }) export class AppComponent { - title = 'nine-project'; + title = 'ten-project'; } diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/app/app.module.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.module.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/app/app.module.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/app/app.module.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/assets/.gitkeep b/tests/legacy-cli/e2e/assets/10.0-project/src/assets/.gitkeep similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/assets/.gitkeep rename to tests/legacy-cli/e2e/assets/10.0-project/src/assets/.gitkeep diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/environments/environment.prod.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.prod.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/environments/environment.prod.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.prod.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/environments/environment.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/environments/environment.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/favicon.ico b/tests/legacy-cli/e2e/assets/10.0-project/src/favicon.ico similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/favicon.ico rename to tests/legacy-cli/e2e/assets/10.0-project/src/favicon.ico diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/index.html b/tests/legacy-cli/e2e/assets/10.0-project/src/index.html similarity index 90% rename from tests/legacy-cli/e2e/assets/9.0-project/src/index.html rename to tests/legacy-cli/e2e/assets/10.0-project/src/index.html index 84e20e0eff4a..6024d63f0f9b 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/src/index.html +++ b/tests/legacy-cli/e2e/assets/10.0-project/src/index.html @@ -2,7 +2,7 @@ - NineProject + TenProject diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/main.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/main.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/main.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/main.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/polyfills.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/polyfills.ts similarity index 97% rename from tests/legacy-cli/e2e/assets/9.0-project/src/polyfills.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/polyfills.ts index e49856ec90d6..5812bad0d42e 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/src/polyfills.ts +++ b/tests/legacy-cli/e2e/assets/10.0-project/src/polyfills.ts @@ -18,7 +18,9 @@ * BROWSER POLYFILLS */ -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +/** + * IE11 requires the following for NgClass support on SVG elements + */ // import 'classlist.js'; // Run `npm install --save classlist.js`. /** diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/styles.css b/tests/legacy-cli/e2e/assets/10.0-project/src/styles.css similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/styles.css rename to tests/legacy-cli/e2e/assets/10.0-project/src/styles.css diff --git a/tests/legacy-cli/e2e/assets/9.0-project/src/test.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/9.0-project/src/test.ts rename to tests/legacy-cli/e2e/assets/10.0-project/src/test.ts diff --git a/tests/legacy-cli/e2e/assets/9.0-project/tsconfig.app.json b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.app.json similarity index 71% rename from tests/legacy-cli/e2e/assets/9.0-project/tsconfig.app.json rename to tests/legacy-cli/e2e/assets/10.0-project/tsconfig.app.json index 29f5f5864eb6..ff396d4ce2d8 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/tsconfig.app.json +++ b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.app.json @@ -1,3 +1,4 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "./tsconfig.json", "compilerOptions": { diff --git a/tests/legacy-cli/e2e/assets/9.0-project/tsconfig.json b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json similarity index 71% rename from tests/legacy-cli/e2e/assets/9.0-project/tsconfig.json rename to tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json index 8cbc5cd8a7f8..f1830d0f877e 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/tsconfig.json +++ b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json @@ -1,3 +1,4 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "compileOnSave": false, "compilerOptions": { @@ -7,14 +8,10 @@ "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, - "module": "esnext", "moduleResolution": "node", "importHelpers": true, "target": "es2015", + "module": "es2020", "lib": ["es2018", "dom"] - }, - "angularCompilerOptions": { - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true } } diff --git a/tests/legacy-cli/e2e/assets/9.0-project/tsconfig.spec.json b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.spec.json similarity index 65% rename from tests/legacy-cli/e2e/assets/9.0-project/tsconfig.spec.json rename to tests/legacy-cli/e2e/assets/10.0-project/tsconfig.spec.json index 430cf757cee7..669344f8d2b7 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/tsconfig.spec.json +++ b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.spec.json @@ -1,8 +1,9 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/spec", - "types": ["jasmine", "node"] + "types": ["jasmine"] }, "files": ["src/test.ts", "src/polyfills.ts"], "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] diff --git a/tests/legacy-cli/e2e/assets/9.0-project/tslint.json b/tests/legacy-cli/e2e/assets/10.0-project/tslint.json similarity index 95% rename from tests/legacy-cli/e2e/assets/9.0-project/tslint.json rename to tests/legacy-cli/e2e/assets/10.0-project/tslint.json index a8aebe38c835..66766f469253 100644 --- a/tests/legacy-cli/e2e/assets/9.0-project/tslint.json +++ b/tests/legacy-cli/e2e/assets/10.0-project/tslint.json @@ -1,5 +1,6 @@ { "extends": "tslint:recommended", + "rulesDirectory": ["codelyzer"], "rules": { "align": { "options": ["parameters", "statements"] @@ -10,11 +11,6 @@ "deprecation": { "severity": "warning" }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "directive-selector": [true, "attribute", "app", "camelCase"], - "component-selector": [true, "element", "app", "kebab-case"], "eofline": true, "import-spacing": true, "indent": { @@ -49,6 +45,7 @@ "named": "never" } }, + "typedef": [true, "call-signature"], "typedef-whitespace": { "options": [ { @@ -80,6 +77,9 @@ "check-typecast" ] }, + "component-class-suffix": true, + "contextual-lifecycle": true, + "directive-class-suffix": true, "no-conflicting-lifecycle": true, "no-host-metadata-property": true, "no-input-rename": true, @@ -91,7 +91,8 @@ "template-banana-in-box": true, "template-no-negated-async": true, "use-lifecycle-interface": true, - "use-pipe-transform-interface": true - }, - "rulesDirectory": ["codelyzer"] + "use-pipe-transform-interface": true, + "directive-selector": [true, "attribute", "app", "camelCase"], + "component-selector": [true, "element", "app", "kebab-case"] + } } diff --git a/tests/legacy-cli/e2e/assets/9.0-project/browserslist b/tests/legacy-cli/e2e/assets/9.0-project/browserslist deleted file mode 100644 index 80848532e47d..000000000000 --- a/tests/legacy-cli/e2e/assets/9.0-project/browserslist +++ /dev/null @@ -1,12 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -> 0.5% -last 2 versions -Firefox ESR -not dead -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/tests/legacy-cli/e2e/assets/9.0-project/package.json b/tests/legacy-cli/e2e/assets/9.0-project/package.json deleted file mode 100644 index f8b19e1ecf28..000000000000 --- a/tests/legacy-cli/e2e/assets/9.0-project/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "nine-project", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" - }, - "private": true, - "dependencies": { - "@angular/animations": "~9.1.13", - "@angular/common": "~9.1.13", - "@angular/compiler": "~9.1.13", - "@angular/core": "~9.1.13", - "@angular/forms": "~9.1.13", - "@angular/platform-browser": "~9.1.13", - "@angular/platform-browser-dynamic": "~9.1.13", - "@angular/router": "~9.1.13", - "rxjs": "~6.5.4", - "tslib": "^1.10.0", - "zone.js": "~0.10.2" - }, - "devDependencies": { - "@angular-devkit/build-angular": "~0.901.15", - "@angular/cli": "~9.1.15", - "@angular/compiler-cli": "~9.1.13", - "@types/node": "^12.11.1", - "@types/jasmine": "~3.5.0", - "@types/jasminewd2": "~2.0.3", - "codelyzer": "^5.1.2", - "jasmine-core": "~3.5.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~5.0.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage-istanbul-reporter": "~2.1.0", - "karma-jasmine": "~3.0.1", - "karma-jasmine-html-reporter": "^1.4.2", - "protractor": "~7.0.0", - "ts-node": "~8.3.0", - "tslint": "~6.1.0", - "typescript": "~3.8.3" - } -} From 7212252b54262f83c566963de689a25d51327250 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 31 Jan 2022 19:34:16 +0100 Subject: [PATCH 0053/1388] test(@angular/cli): remove hardcoded versions from ng-update test We improve the migrations logic to automatically run the needed migrations based on the build version of the Angular CLI. This helps us to avoid having to manually update this test when we bump the major version. Example: https://github.com/angular/angular-cli/pull/22579/files --- .../legacy-cli/e2e/tests/update/update-10.ts | 72 +++++++++++++++++++ tests/legacy-cli/e2e/tests/update/update-9.ts | 57 --------------- .../tests/update/update-multiple-versions.ts | 10 +-- tests/legacy-cli/e2e/utils/project.ts | 8 +-- 4 files changed, 81 insertions(+), 66 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/update/update-10.ts delete mode 100644 tests/legacy-cli/e2e/tests/update/update-9.ts diff --git a/tests/legacy-cli/e2e/tests/update/update-10.ts b/tests/legacy-cli/e2e/tests/update/update-10.ts new file mode 100644 index 000000000000..03e806a30604 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/update/update-10.ts @@ -0,0 +1,72 @@ +import { SemVer } from 'semver'; +import { createProjectFromAsset } from '../../utils/assets'; +import { expectFileMatchToExist, readFile } from '../../utils/fs'; +import { setRegistry } from '../../utils/packages'; +import { ng, noSilentNg } from '../../utils/process'; +import { isPrereleaseCli, useCIChrome, useCIDefaults, NgCLIVersion } from '../../utils/project'; + +export default async function () { + try { + // We need to use the public registry because in the local NPM server we don't have + // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. + await setRegistry(false); + await createProjectFromAsset('10.0-project', true); + + // CLI proiject version + const { version: cliVersion } = JSON.parse( + await readFile('./node_modules/@angular/cli/package.json'), + ); + const cliMajorProjectVersion = new SemVer(cliVersion).major; + + // CLI current version. + const cliMajorVersion = NgCLIVersion.major; + + for (let version = cliMajorProjectVersion + 1; version < cliMajorVersion; version++) { + // Run all the migrations until the current build major version - 1. + // Example: when the project is using CLI version 10 and the build CLI version is 14. + // We will run the following migrations: + // - 10 -> 11 + // - 11 -> 12 + // - 12 -> 13 + const { stdout } = await ng('update', `@angular/cli@${version}`, `@angular/core@${version}`); + if (!stdout.includes("Executing migrations of package '@angular/cli'")) { + throw new Error('Update did not execute migrations. OUTPUT: \n' + stdout); + } + } + } finally { + await setRegistry(true); + } + + // Update Angular current build + const extraUpdateArgs = isPrereleaseCli() ? ['--next', '--force'] : []; + + // For the latest/next release we purposely don't run `ng update @angular/core`. + + // During a major release when the branch version is bumped from `12.0.0-rc.x` to `12.0.0` there would be a period were in + // the local NPM registry `@angular/cli@latest` will point to `12.0.0`, but on the public NPM repository `@angular/core@latest` will be `11.2.x`. + + // This causes `ng update @angular/core` to fail because of mismatching peer dependencies. + + // The reason for this is because of our bumping and release strategy. When we release a major version on NPM we don't tag it + // `@latest` right away, but we wait for all teams to release their packages before doing so. While this is good because all team + // packages gets tagged with `@latest` at the same time. This is problematic for our CI, since we test against the public NPM repo and are dependent on tags. + + // NB: `ng update @angular/cli` will still cause `@angular/core` packages to be updated therefore we still test updating the core package without running the command. + + await ng('update', '@angular/cli', ...extraUpdateArgs); + + // Setup testing to use CI Chrome. + await useCIChrome('./'); + await useCIChrome('./e2e/'); + await useCIDefaults('ten-project'); + + // Run CLI commands. + await ng('generate', 'component', 'my-comp'); + await ng('test', '--watch=false'); + await ng('e2e'); + await ng('e2e', '--configuration=production'); + + // Verify project now creates bundles + await noSilentNg('build', '--configuration=production'); + await expectFileMatchToExist('dist/ten-project/', /main\.[0-9a-f]{16}\.js/); +} diff --git a/tests/legacy-cli/e2e/tests/update/update-9.ts b/tests/legacy-cli/e2e/tests/update/update-9.ts deleted file mode 100644 index 3046815e5d9d..000000000000 --- a/tests/legacy-cli/e2e/tests/update/update-9.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { createProjectFromAsset } from '../../utils/assets'; -import { expectFileMatchToExist } from '../../utils/fs'; -import { installPackage, installWorkspacePackages, setRegistry } from '../../utils/packages'; -import { ng, noSilentNg } from '../../utils/process'; -import { isPrereleaseCli, useCIChrome, useCIDefaults } from '../../utils/project'; - -export default async function () { - // We need to use the public registry because in the local NPM server we don't have - // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. - try { - await createProjectFromAsset('9.0-project', true, true); - - await setRegistry(false); - await installWorkspacePackages(); - - // Update Angular to 10 - await installPackage('@angular/cli@9'); - const { stdout } = await ng('update', '@angular/cli@10.x', '@angular/core@10.x'); - if (!stdout.includes("Executing migrations of package '@angular/cli'")) { - throw new Error('Update did not execute migrations. OUTPUT: \n' + stdout); - } - - // Update Angular to 11 - await ng('update', '@angular/cli@11', '@angular/core@11'); - - // Update Angular to 12 - await ng('update', '@angular/cli@12', '@angular/core@12'); - - // Update Angular to 13 - await ng('update', '@angular/cli@13', '@angular/core@13'); - } finally { - await setRegistry(true); - } - - // Update Angular current build - const extraUpdateArgs = isPrereleaseCli() ? ['--next', '--force'] : []; - // For the latest/next release we purposely don't add `@angular/core`. - // This is due to our bumping strategy, which causes a period were `@angular/cli@latest` (v12.0.0) `@angular/core@latest` (v11.2.x) - // are of different major/minor version on the local NPM server. This causes `ng update` to fail. - // NB: `ng update @angula/cli` will still cause `@angular/core` packages to be updated. - await ng('update', '@angular/cli', ...extraUpdateArgs); - - // Setup testing to use CI Chrome. - await useCIChrome('./'); - await useCIChrome('./e2e/'); - await useCIDefaults('nine-project'); - - // Run CLI commands. - await ng('generate', 'component', 'my-comp'); - await ng('test', '--watch=false'); - await ng('e2e'); - await ng('e2e', '--configuration=production'); - - // Verify project now creates bundles - await noSilentNg('build', '--configuration=production'); - await expectFileMatchToExist('dist/nine-project/', /main\.[0-9a-f]{16}\.js/); -} diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts index 34a80522b33d..5123af8ed506 100644 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -6,7 +6,7 @@ import { expectToFail } from '../../utils/utils'; export default async function () { try { - await createProjectFromAsset('9.0-project', true, true); + await createProjectFromAsset('10.0-project', true, true); await setRegistry(false); await installWorkspacePackages(); await setRegistry(true); @@ -16,12 +16,12 @@ export default async function () { extraArgs.push('--next'); } - // Update Angular from v9 to 10 + // Update Angular from v10 to 11 const { stdout } = await ng('update', ...extraArgs); - if (!/@angular\/core\s+9\.\d\.\d+ -> 10\.\d\.\d+\s+ng update @angular\/core@10/.test(stdout)) { - // @angular/core 9.x.x -> 10.x.x ng update @angular/core@11 + if (!/@angular\/core\s+10\.\d\.\d+ -> 11\.\d\.\d+\s+ng update @angular\/core@11/.test(stdout)) { + // @angular/core 10.x.x -> 11.x.x ng update @angular/core@11 throw new Error( - `Output didn't match "@angular/core 9.x.x -> 10.x.x ng update @angular/core@10". OUTPUT: \n` + + `Output didn't match "@angular/core 10.x.x -> 11.x.x ng update @angular/core@11". OUTPUT: \n` + stdout, ); } diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index df5317e0cb56..42f5bbe8264d 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -1,6 +1,6 @@ import * as fs from 'fs'; import * as path from 'path'; -import { prerelease } from 'semver'; +import { prerelease, SemVer } from 'semver'; import { packages } from '../../../../lib/packages'; import { getGlobalVariable } from './env'; import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; @@ -225,8 +225,8 @@ export async function useCIChrome(projectDir: string = ''): Promise { } } -export function isPrereleaseCli(): boolean { - const pre = prerelease(packages['@angular/cli'].version); +export const NgCLIVersion = new SemVer(packages['@angular/cli'].version); - return pre && pre.length > 0; +export function isPrereleaseCli(): boolean { + return prerelease(NgCLIVersion)?.length > 0; } From a6bbd60d9f996e45fca16ae50a24185159a47421 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 1 Feb 2022 22:53:27 +0000 Subject: [PATCH 0054/1388] build: update all non-major dependencies --- package.json | 34 +- .../angular_devkit/build_angular/package.json | 22 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 414 +++++++++++++----- 5 files changed, 338 insertions(+), 136 deletions(-) diff --git a/package.json b/package.json index eaa69ec67fc3..8d8f0116c4c3 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "ajv-formats/ajv": "8.9.0" }, "devDependencies": { - "@ampproject/remapping": "2.0.0", + "@ampproject/remapping": "2.0.1", "@angular/animations": "14.0.0-next.0", "@angular/cdk": "14.0.0-next.0", "@angular/common": "14.0.0-next.0", @@ -116,8 +116,8 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@typescript-eslint/eslint-plugin": "5.10.1", - "@typescript-eslint/parser": "5.10.1", + "@typescript-eslint/eslint-plugin": "5.10.2", + "@typescript-eslint/parser": "5.10.2", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.9.0", "ajv-formats": "2.1.1", @@ -130,14 +130,14 @@ "chokidar": "^3.5.2", "common-tags": "^1.8.0", "conventional-commits-parser": "^3.0.0", - "copy-webpack-plugin": "10.2.1", - "core-js": "3.20.3", + "copy-webpack-plugin": "10.2.4", + "core-js": "3.21.0", "critters": "0.0.16", "css-loader": "6.5.1", "debug": "^4.1.1", - "esbuild": "0.14.14", - "esbuild-wasm": "0.14.14", - "eslint": "8.7.0", + "esbuild": "0.14.16", + "esbuild-wasm": "0.14.16", + "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", @@ -166,13 +166,13 @@ "less": "4.1.2", "less-loader": "10.2.0", "license-checker": "^25.0.0", - "license-webpack-plugin": "4.0.0", + "license-webpack-plugin": "4.0.1", "loader-utils": "3.2.0", "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.4", "minimist": "^1.2.0", - "ng-packagr": "14.0.0-next.0", + "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", "npm-package-arg": "8.1.5", "open": "8.4.0", @@ -183,18 +183,18 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.5", + "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.2.3", + "postcss-preset-env": "7.3.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.1.2", + "puppeteer": "13.1.3", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.0", + "sass": "1.49.7", "sass-loader": "12.4.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", @@ -214,10 +214,10 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.5.5", - "verdaccio": "5.5.1", + "verdaccio": "5.5.2", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.67.0", - "webpack-dev-middleware": "5.3.0", + "webpack": "5.68.0", + "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.3", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index bb72e0dcfc4b..9bda54b399ca 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,7 +6,7 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "2.0.0", + "@ampproject/remapping": "2.0.1", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", @@ -26,11 +26,11 @@ "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "15.3.0", - "copy-webpack-plugin": "10.2.1", - "core-js": "3.20.3", + "copy-webpack-plugin": "10.2.4", + "core-js": "3.21.0", "critters": "0.0.16", "css-loader": "6.5.1", - "esbuild-wasm": "0.14.14", + "esbuild-wasm": "0.14.16", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -38,7 +38,7 @@ "karma-source-map-support": "1.4.0", "less": "4.1.2", "less-loader": "10.2.0", - "license-webpack-plugin": "4.0.0", + "license-webpack-plugin": "4.0.1", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.4", @@ -46,14 +46,14 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.5", + "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.2.3", + "postcss-preset-env": "7.3.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.0", + "sass": "1.49.7", "sass-loader": "12.4.0", "semver": "7.3.5", "source-map-loader": "3.0.1", @@ -64,14 +64,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.67.0", - "webpack-dev-middleware": "5.3.0", + "webpack": "5.68.0", + "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.3", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.14" + "esbuild": "0.14.16" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index ee17ede63032..90f1b6a57b4e 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.67.0" + "webpack": "5.68.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 0548409912a2..5fd38f73cbb9 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.0", "@angular/compiler-cli": "14.0.0-next.0", "typescript": "4.5.5", - "webpack": "5.67.0" + "webpack": "5.68.0" } } diff --git a/yarn.lock b/yarn.lock index ef6004447aee..76811b2309bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,13 +34,13 @@ "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" -"@ampproject/remapping@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.0.tgz#a1ffcd0e63cae5a6a441669fac1dbc5513cf6881" - integrity sha512-Ag6L7Pjt3QxYKA5hgc1bvq6pQ3mD7b+BpPqciz38Het1uPsZn5C3/9NSlQyNPlKIKwZxupcU/9TMjLbcEssvsQ== +"@ampproject/remapping@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.1.tgz#9a04a4aba7b8323b65498d9554a1bdd15d960296" + integrity sha512-EldHF4Ufj3NL9yCAmYrPzY+3/Yqrzxu24F4Mu4nRjK3w70AKYRmhuLwGZdA9JeoDsbIwkgGkbqUK2INuF582Og== dependencies: "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/trace-mapping" "^0.2.0" + "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" "@angular-devkit/architect@0.1302.0": @@ -1456,7 +1456,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== -"@jridgewell/trace-mapping@^0.2.0": +"@jridgewell/trace-mapping@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.2.tgz#77510cc2f6f3b92e78c78de216d42de631b1d7fb" integrity sha512-I9AGQzMPEzQNJgib2YSqciYWazGsXSyu1rEEeaPeM1764ZtnfNTxA5bofzG/POMI3QcvpBUxwecOPZM6ZhkEpg== @@ -1828,7 +1828,7 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^13.0.0": +"@rollup/plugin-node-resolve@^13.1.3": version "13.1.3" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== @@ -2472,14 +2472,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.1.tgz#870195d0f2146b36d11fc71131b75aba52354c69" - integrity sha512-xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ== +"@typescript-eslint/eslint-plugin@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz#f8c1d59fc37bd6d9d11c97267fdfe722c4777152" + integrity sha512-4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q== dependencies: - "@typescript-eslint/scope-manager" "5.10.1" - "@typescript-eslint/type-utils" "5.10.1" - "@typescript-eslint/utils" "5.10.1" + "@typescript-eslint/scope-manager" "5.10.2" + "@typescript-eslint/type-utils" "5.10.2" + "@typescript-eslint/utils" "5.10.2" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2487,69 +2487,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.1.tgz#4ce9633cc33fc70bc13786cb793c1a76fe5ad6bd" - integrity sha512-GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA== +"@typescript-eslint/parser@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.2.tgz#b6076d27cc5499ce3f2c625f5ccde946ecb7db9a" + integrity sha512-JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg== dependencies: - "@typescript-eslint/scope-manager" "5.10.1" - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/typescript-estree" "5.10.1" + "@typescript-eslint/scope-manager" "5.10.2" + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/typescript-estree" "5.10.2" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" - integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== +"@typescript-eslint/scope-manager@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.2.tgz#92c0bc935ec00f3d8638cdffb3d0e70c9b879639" + integrity sha512-39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw== dependencies: - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/visitor-keys" "5.10.1" + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/visitor-keys" "5.10.2" -"@typescript-eslint/type-utils@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz#5e526c00142585e40ab1503e83f1ff608c367405" - integrity sha512-AfVJkV8uck/UIoDqhu+ptEdBoQATON9GXnhOpPLzkQRJcSChkvD//qsz9JVffl2goxX+ybs5klvacE9vmrQyCw== +"@typescript-eslint/type-utils@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.2.tgz#ad5acdf98a7d2ab030bea81f17da457519101ceb" + integrity sha512-uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw== dependencies: - "@typescript-eslint/utils" "5.10.1" + "@typescript-eslint/utils" "5.10.2" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" - integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== +"@typescript-eslint/types@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.2.tgz#604d15d795c4601fffba6ecb4587ff9fdec68ce8" + integrity sha512-Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w== -"@typescript-eslint/typescript-estree@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" - integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== +"@typescript-eslint/typescript-estree@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz#810906056cd3ddcb35aa333fdbbef3713b0fe4a7" + integrity sha512-WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ== dependencies: - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/visitor-keys" "5.10.1" + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/visitor-keys" "5.10.2" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" - integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== +"@typescript-eslint/utils@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.2.tgz#1fcd37547c32c648ab11aea7173ec30060ee87a8" + integrity sha512-vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.10.1" - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/typescript-estree" "5.10.1" + "@typescript-eslint/scope-manager" "5.10.2" + "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/typescript-estree" "5.10.2" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" - integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== +"@typescript-eslint/visitor-keys@5.10.2": + version "5.10.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz#fdbf272d8e61c045d865bd6c8b41bea73d222f3d" + integrity sha512-zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q== dependencies: - "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/types" "5.10.2" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.1.0": @@ -2878,7 +2878,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.9.0, ajv@^8.0.0, ajv@^8.8.0: +ajv@8.9.0, ajv@^8.0.0, ajv@^8.8.0, ajv@^8.9.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== @@ -3423,7 +3423,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^15.4.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== @@ -3533,7 +3533,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@15.3.0, cacache@^15.0.5, cacache@^15.0.6, cacache@^15.2.0: +cacache@15.3.0, cacache@^15.0.5, cacache@^15.2.0, cacache@^15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -3653,7 +3653,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1, chokidar@^3.5.2: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1, chokidar@^3.5.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -3833,7 +3833,7 @@ commander@^2.12.1, commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^8.0.0: +commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== @@ -4001,6 +4001,18 @@ copy-webpack-plugin@10.2.1: schema-utils "^4.0.0" serialize-javascript "^6.0.0" +copy-webpack-plugin@10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" + integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== + dependencies: + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^12.0.2" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + core-js-compat@^3.20.0, core-js-compat@^3.20.2: version "3.20.3" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" @@ -4014,6 +4026,11 @@ core-js@3.20.3: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== +core-js@3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.0.tgz#f479dbfc3dffb035a0827602dd056839a774aa71" + integrity sha512-YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -4821,97 +4838,192 @@ esbuild-android-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== +esbuild-android-arm64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.16.tgz#75dceceffd05fd8127e3590298bf057e04d20602" + integrity sha512-9qRiUXiV0qIa4Dfv+GLKsk/HHOq3U9qh8yZK9iX0awlzLPFb38NJrNTGtb/TeI6AyyZqsGgwLm/JeJ1UtEN9Aw== + esbuild-darwin-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== +esbuild-darwin-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.16.tgz#75966d579e3b5d2ec3ef932055022bc2aa2ffcda" + integrity sha512-1Xa86DpTJFRffA7go0pqUdC0ggxxGxjsrnrvA2nHBVHNf9Ix/cgGuPfxZwf3fRZxDDAT2RdqF5SRZzLYvUCtZQ== + esbuild-darwin-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== +esbuild-darwin-arm64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.16.tgz#99be1261815ad2bccbd8d63e9a58ae3239365bb6" + integrity sha512-a0Tp0tec/s5hYT6OiJ2zvfH/6IfXFCH406yqFfXe5u8Nfo6l6IG33L7nqCYCEPnBLF7oYfZk6Re0VDwpgK18kQ== + esbuild-freebsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== +esbuild-freebsd-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.16.tgz#ac7377802b362a73857907781d54633d5b61344a" + integrity sha512-FqEdOphRS5kJ8MFqQ21Y0yducmwcFHmpkceLkup1kpsGChr3PGO7DfzXmF5fECNnMxRpk/jgk7e6nV4zXTau/A== + esbuild-freebsd-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== +esbuild-freebsd-arm64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.16.tgz#e99c43e5079e4744447882beb01769b2bb0e7d2f" + integrity sha512-4Au4zR0//Df1v6FuWJEMZFRzaF69FvxHgSmKjikq7x6Ect+h4TbJKkblC3eDrfTA8L6l5bB1vhh0dbKq4zBy5Q== + esbuild-linux-32@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== +esbuild-linux-32@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.16.tgz#0d346977f00a93459c31e180d25fb6d36ba21aa8" + integrity sha512-HundAiQCa0ut7PXq3lmRZY7H3/OYh27wkJ97S7jjCgWmcd5To6Bs8UBVB7I4Qi9lNk/Yty0INnqq9on1WR8JUA== + esbuild-linux-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== +esbuild-linux-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.16.tgz#2c1f2222fa888397530ef625930f74b13c116f7c" + integrity sha512-fG8MgVmQknIuYCHFOq+9iKLyygjPun+VkNH9ZIdRQrSzb3CFdEkNm+Suq5w8W+WjA/P0OIdrQ/mXXCoHCQTWSQ== + esbuild-linux-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== +esbuild-linux-arm64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.16.tgz#666bf0853184684021f8f5c1781f1e898a35a5b0" + integrity sha512-7WF1rHsPVXhme2B6ceZZABxFwCiZfMRIJO7yRiLahIdDkwfhSTR6M0a6OwO/NsLJH9fax5GdwBOIBoG5Hkz4gA== + esbuild-linux-arm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== +esbuild-linux-arm@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.16.tgz#460ff025676544988ff3b4c2ca265f0bcd203baf" + integrity sha512-0NDVeuvWska0d4Rd8R3+lWEyKaIbAxDuRAeeU6a2xaUXrTG2IPhGNLWc4NbVMbnkGqRqKB4PLdk/YaTUZjKFHQ== + esbuild-linux-mips64le@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== +esbuild-linux-mips64le@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.16.tgz#9ae987cbc24a87a0a9ca2a3e9feec0789727460f" + integrity sha512-RLNaTRdcQ81QckeIjbk1hCrgmrL6VoZBsYT8ak9ObNQzXEJNMlxOBixaF6rhW8UUYRpTpFuoYHeNya8xY884/A== + esbuild-linux-ppc64le@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== +esbuild-linux-ppc64le@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.16.tgz#8eb7c77aa4cdca994ad6b89f6024ae2317d3bb98" + integrity sha512-ky0Ii2Jmyc00FzGT2audU0UmnBVrVevYmKW10DXLPcHGhbhzJdFRemXLvvzhDM8WD9IMJK3uV6ifJzkKrv8IQA== + esbuild-linux-s390x@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== +esbuild-linux-s390x@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.16.tgz#248de950b82064931872d8bad84560187da1efab" + integrity sha512-DuW9MPGJAzUUBPI/olMkMMepCasTbPN1Xr2cKZZEEDIibcdRnuFrMYVk3G3I8/Qb6SZBNTSnZMAyhvYFrwAkqw== + esbuild-netbsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== +esbuild-netbsd-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.16.tgz#330e546b55fb3665618a594dae6222faecc08ec4" + integrity sha512-l8+mnz8iVsV0iL5v5JCuP0UTv2LwO1ORdJ/scMkGUl8WrC6cBmUrrHhg+pwREqjbD8TxjfUJVM1Vvt5E8SaTsg== + esbuild-openbsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== +esbuild-openbsd-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.16.tgz#cca41262619dfd6c2b7ea4f128b14ac02d79028d" + integrity sha512-8SbZNAV902FmcGnc+j86HWY8PyTD1H7T39RsPXXS5IC1psi3yzFr2d8NoOxb6cQd5XUVHmHT1naJsbtEAyKIPA== + esbuild-sunos-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== -esbuild-wasm@0.14.14, esbuild-wasm@^0.14.0: +esbuild-sunos-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.16.tgz#bb03853049171e6441a0fcc06f3ce04a693f86ba" + integrity sha512-pMhe4uOaGjA/5YgeNoB0PRZi1V73D8sx876uFzuAxaZcYzLA5BsSbQeEccH182X6cBybE4Pm79kYedTSGOfwog== + +esbuild-wasm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== +esbuild-wasm@0.14.16, esbuild-wasm@^0.14.14: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.16.tgz#6c66d3877c83040c84dfaf8de7909ca520a9af1b" + integrity sha512-0TnQyxKeNqdnKYEQwf475WkthvVL1aK9p/WaZsHY56Ek1jaxDuciEKRyqZhNZqWvBdjbkaFC46O19+HkIoppJQ== + esbuild-windows-32@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== +esbuild-windows-32@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.16.tgz#ee5bbf56a857afc0196a1b02ef047ec3747eb646" + integrity sha512-M68/EFCgji0DI+DgULx2ytUUSxwwODJDpiVc0YsiWKdyB4umKTu1GGxFfdZhXrWtPxB4aZFoIgJyDhsFxnHC4g== + esbuild-windows-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== +esbuild-windows-64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.16.tgz#9c030666fe881805677cc154090f491c71bac011" + integrity sha512-rmSal1Co749CXSNyFJ62J5Fz/nZiFWhwMfYN9SwZazutKZ6s0QDRIhnupa93bJmzMzz4C2dqUV/VL1tqOI3y9g== + esbuild-windows-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== -esbuild@0.14.14, esbuild@^0.14.0: +esbuild-windows-arm64@0.14.16: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.16.tgz#98f97821148f5b74de7b427109dee106b5350221" + integrity sha512-VMfEf+MDgO+rulAuSeu3HNebSHa1TDn0lJp+QRk7E2WVg9OCSwuXUEkSbqIbkif3ZjASy7h9sTCGyHcqgKQTrg== + +esbuild@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== @@ -4935,6 +5047,30 @@ esbuild@0.14.14, esbuild@^0.14.0: esbuild-windows-64 "0.14.14" esbuild-windows-arm64 "0.14.14" +esbuild@0.14.16, esbuild@^0.14.14: + version "0.14.16" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.16.tgz#cfe5c35a6bacd7390b2a53a997cd6028eaa468d3" + integrity sha512-niiWy7nesZFGCiDr0NR9/JLEhtZPYHG/ABYTqveNWvocw/gGI5rKHOj3+5yUv3yH10/geTlZiyVaNvjJWL9Xbw== + optionalDependencies: + esbuild-android-arm64 "0.14.16" + esbuild-darwin-64 "0.14.16" + esbuild-darwin-arm64 "0.14.16" + esbuild-freebsd-64 "0.14.16" + esbuild-freebsd-arm64 "0.14.16" + esbuild-linux-32 "0.14.16" + esbuild-linux-64 "0.14.16" + esbuild-linux-arm "0.14.16" + esbuild-linux-arm64 "0.14.16" + esbuild-linux-mips64le "0.14.16" + esbuild-linux-ppc64le "0.14.16" + esbuild-linux-s390x "0.14.16" + esbuild-netbsd-64 "0.14.16" + esbuild-openbsd-64 "0.14.16" + esbuild-sunos-64 "0.14.16" + esbuild-windows-32 "0.14.16" + esbuild-windows-64 "0.14.16" + esbuild-windows-arm64 "0.14.16" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5057,10 +5193,10 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== -eslint@8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c" - integrity sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w== +eslint@8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.8.0.tgz#9762b49abad0cb4952539ffdb0a046392e571a2d" + integrity sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ== dependencies: "@eslint/eslintrc" "^1.0.5" "@humanwhocodes/config-array" "^0.9.2" @@ -5403,7 +5539,7 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-cache-dir@^3.3.1: +find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== @@ -5689,7 +5825,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: +glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -7002,7 +7138,7 @@ less-loader@10.2.0: dependencies: klona "^2.0.4" -less@4.1.2, less@^4.1.0: +less@4.1.2, less@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== @@ -7058,6 +7194,13 @@ license-webpack-plugin@4.0.0: dependencies: webpack-sources "^3.0.0" +license-webpack-plugin@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.1.tgz#957930fa595f5b65aa0b21bfd2c19644486f3d9f" + integrity sha512-SQum9mg3BgnY5BK+2KYl4W7pk9b26Q8tW2lTsO6tidD0/Ds9ksdXvp3ip2s9LqDjj5gtBMyWRfOPZptWj4PfCg== + dependencies: + webpack-sources "^3.0.0" + lie@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" @@ -7381,7 +7524,7 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.2.2: +memfs@^3.2.2, memfs@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== @@ -7681,7 +7824,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.1.30: +nanoid@^3.1.30, nanoid@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== @@ -7730,37 +7873,37 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@14.0.0-next.0: - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.0.tgz#c30af376e2a71107b94ac213064b3c74e0cb6d9f" - integrity sha512-Mjafqv4l7+MIxTKusCqCypiCCcga+Llyj97edeq45S1l3yTdZ5Q6V/7f+Gojk15U0SbQNtQVDQ1QqCnK6+aCzA== +ng-packagr@14.0.0-next.1: + version "14.0.0-next.1" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.1.tgz#78aaf1e209eca61c52df9180023eecfda05007e3" + integrity sha512-yfrYrIdRfbfTh1yuQL17Oz7T+obibTqW/X32X8ZS2RzmSblxe+VJnjP/S7pf9iOVoCMEp1SW1uJpLuPKklX6Uw== dependencies: "@rollup/plugin-json" "^4.1.0" - "@rollup/plugin-node-resolve" "^13.0.0" - ajv "^8.0.0" + "@rollup/plugin-node-resolve" "^13.1.3" + ajv "^8.9.0" ansi-colors "^4.1.1" - browserslist "^4.16.1" - cacache "^15.0.6" - chokidar "^3.5.1" - commander "^8.0.0" + browserslist "^4.19.1" + cacache "^15.3.0" + chokidar "^3.5.3" + commander "^8.3.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.14.0" - find-cache-dir "^3.3.1" - glob "^7.1.6" + esbuild-wasm "^0.14.14" + find-cache-dir "^3.3.2" + glob "^7.2.0" injection-js "^2.4.0" jsonc-parser "^3.0.0" - less "^4.1.0" + less "^4.1.2" ora "^5.1.0" - postcss "^8.2.4" - postcss-preset-env "^7.0.0" - postcss-url "^10.1.1" - rollup "^2.45.1" + postcss "^8.4.5" + postcss-preset-env "^7.2.3" + postcss-url "^10.1.3" + rollup "^2.66.1" rollup-plugin-sourcemaps "^0.6.3" - rxjs "^7.0.0" - sass "^1.32.8" + rxjs "^7.5.2" + sass "^1.49.0" stylus "^0.56.0" optionalDependencies: - esbuild "^0.14.0" + esbuild "^0.14.14" nice-napi@^1.0.2: version "1.0.2" @@ -8755,7 +8898,7 @@ postcss-preset-env@7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@^7.0.0: +postcss-preset-env@7.3.0, postcss-preset-env@^7.2.3: version "7.3.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== @@ -8826,7 +8969,7 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-url@^10.1.1: +postcss-url@^10.1.3: version "10.1.3" resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-10.1.3.tgz#54120cc910309e2475ec05c2cfa8f8a2deafdf1e" integrity sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw== @@ -8849,7 +8992,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.5, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.7: +postcss@8.4.5, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.3.7: version "8.4.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== @@ -8858,6 +9001,15 @@ postcss@8.4.5, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.7: picocolors "^1.0.0" source-map-js "^1.0.1" +postcss@8.4.6, postcss@^8.4.5: + version "8.4.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" + integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== + dependencies: + nanoid "^3.2.0" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9009,10 +9161,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.1.2.tgz#d6ef3295d7551200b7e52076a3cc1b731eff4294" - integrity sha512-ozVM8Tdg0patMtm/xAr3Uh7rQ28vBpbTHLP+ECmoAxG/s4PKrVLN764H/poLux7Ln77jHThOd8OBJj5mTuA6Iw== +puppeteer@13.1.3: + version "13.1.3" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.1.3.tgz#46b1e3f7577e59c08088b449c6fa161dbc78c680" + integrity sha512-nqcJNThLUG0Dgo++2mMtGR2FCyg7olJJhj/rm0A65muyN3nrH6lGvnNRzEaNmSnHWvjaDIG9ox5kxQB+nXTg5A== dependencies: debug "4.3.2" devtools-protocol "0.0.948846" @@ -9529,7 +9681,7 @@ rollup-plugin-sourcemaps@^0.6.3: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@^2.45.1: +rollup@^2.66.1: version "2.66.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.1.tgz#366b0404de353c4331d538c3ad2963934fcb4937" integrity sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w== @@ -9567,7 +9719,7 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.0.0, rxjs@^7.2.0: +rxjs@^7.2.0, rxjs@^7.5.2: version "7.5.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== @@ -9597,7 +9749,7 @@ sass-loader@12.4.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.0, sass@^1.32.8: +sass@1.49.0: version "1.49.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw== @@ -9606,6 +9758,15 @@ sass@1.49.0, sass@^1.32.8: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.49.7, sass@^1.49.0: + version "1.49.7" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" + integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" @@ -10003,7 +10164,7 @@ sonic-boom@^1.0.2: atomic-sleep "^1.0.0" flatstr "^1.0.12" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -11056,10 +11217,10 @@ verdaccio-htpasswd@10.1.0: http-errors "1.8.1" unix-crypt-td-js "1.1.4" -verdaccio@5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.5.1.tgz#4864199258e03832a9c511fc276211a4bcd1d93a" - integrity sha512-BWxEQA8dktjbE/ANGnFhBdB0EDQZXOgG5qYVhrlstmedMFtgY3YCkMq56LsaLM6poasswz415LfE9FylD+92qw== +verdaccio@5.5.2: + version "5.5.2" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.5.2.tgz#82d21c0ad1329a248efb8fa2d8a35d51b43800ae" + integrity sha512-SU107gfxE8FLrwp5GezhmWE0otWTAb7xIcz/m931vqOPjeH2MwbMf0+WuCDQ5O80XxdwurlK/JFNRYzDzqUrMA== dependencies: "@verdaccio/commons-api" "10.1.0" "@verdaccio/local-storage" "10.1.1" @@ -11207,6 +11368,17 @@ webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.3.0: range-parser "^1.2.1" schema-utils "^4.0.0" +webpack-dev-middleware@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" + integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== + dependencies: + colorette "^2.0.10" + memfs "^3.4.1" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + webpack-dev-server@4.7.3: version "4.7.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz#4e995b141ff51fa499906eebc7906f6925d0beaa" @@ -11292,6 +11464,36 @@ webpack@5.67.0: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.68.0: + version "5.68.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.68.0.tgz#a653a58ed44280062e47257f260117e4be90d560" + integrity sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.50" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From 4b9199d97f3bcb10710b5049b04d8a04436e2dd4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 1 Feb 2022 13:49:13 +0100 Subject: [PATCH 0055/1388] fix(@angular-devkit/build-angular): ensure to use content hash as filenames hashing mechanism Previously we used hash which resulted in a unique hash generated for every build even when the contents of the files didn't differ. More info: https://webpack.js.org/guides/caching/#output-filenames --- .../build_angular/src/utils/build-options.ts | 3 +- .../src/webpack/configs/common.ts | 2 +- .../src/webpack/configs/styles.ts | 2 +- .../src/webpack/utils/helpers.ts | 60 ++++++++++++------- 4 files changed, 44 insertions(+), 23 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 2a4e99cee6cd..9282353cc1a2 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -16,6 +16,7 @@ import { IndexUnion, InlineStyleLanguage, Localize, + OutputHashing, ScriptElement, SourceMapClass, StyleElement, @@ -43,7 +44,7 @@ export interface BuildOptions { bundleDependencies?: boolean; externalDependencies?: string[]; watch?: boolean; - outputHashing?: string; + outputHashing?: OutputHashing; poll?: number; index?: IndexUnion; deleteOutputPath?: boolean; diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 0824024aa77f..6362894d9a2a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -98,7 +98,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise('@angular/compiler-cli'); // determine hashing format - const hashFormat = getOutputHashFormat(buildOptions.outputHashing || 'none'); + const hashFormat = getOutputHashFormat(buildOptions.outputHashing); if (buildOptions.progress) { extraPlugins.push(new ProgressPlugin(platform)); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index f3544e302a92..932c924e2a7f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -83,7 +83,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { const cssSourceMap = buildOptions.sourceMap.styles; // Determine hashing format. - const hashFormat = getOutputHashFormat(buildOptions.outputHashing as string); + const hashFormat = getOutputHashFormat(buildOptions.outputHashing); // use includePaths from appConfig const includePaths = diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index 175c403e4227..fb8e66183ffa 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -13,7 +13,12 @@ import glob from 'glob'; import * as path from 'path'; import { ScriptTarget } from 'typescript'; import type { Configuration, WebpackOptionsNormalized } from 'webpack'; -import { AssetPatternClass, ScriptElement, StyleElement } from '../../builders/browser/schema'; +import { + AssetPatternClass, + OutputHashing, + ScriptElement, + StyleElement, +} from '../../builders/browser/schema'; import { WebpackConfigOptions } from '../../utils/build-options'; import { VERSION } from '../../utils/package-version'; @@ -24,25 +29,40 @@ export interface HashFormat { script: string; } -export function getOutputHashFormat(option: string, length = 20): HashFormat { - const hashFormats: { [option: string]: HashFormat } = { - none: { chunk: '', extract: '', file: '', script: '' }, - media: { chunk: '', extract: '', file: `.[hash:${length}]`, script: '' }, - bundles: { - chunk: `.[contenthash:${length}]`, - extract: `.[contenthash:${length}]`, - file: '', - script: `.[hash:${length}]`, - }, - all: { - chunk: `.[contenthash:${length}]`, - extract: `.[contenthash:${length}]`, - file: `.[hash:${length}]`, - script: `.[hash:${length}]`, - }, - }; - - return hashFormats[option] || hashFormats['none']; +export function getOutputHashFormat(outputHashing = OutputHashing.None, length = 20): HashFormat { + const hashTemplate = `.[contenthash:${length}]`; + + switch (outputHashing) { + case 'media': + return { + chunk: '', + extract: '', + file: hashTemplate, + script: '', + }; + case 'bundles': + return { + chunk: hashTemplate, + extract: hashTemplate, + file: '', + script: hashTemplate, + }; + case 'all': + return { + chunk: hashTemplate, + extract: hashTemplate, + file: hashTemplate, + script: hashTemplate, + }; + case 'none': + default: + return { + chunk: '', + extract: '', + file: '', + script: '', + }; + } } export type NormalizedEntryPoint = Required>; From 94f7ed3b3897c5f10eb8f1cea55ea428514474c5 Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Fri, 21 Jan 2022 16:05:08 -0800 Subject: [PATCH 0056/1388] build: add missing dependency for tar/repo substitution --- packages/angular_devkit/build_angular/BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 748dde42e8bb..af9806ee12b1 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -221,6 +221,7 @@ pkg_npm( "//packages/angular_devkit/architect:package.json", "//packages/angular_devkit/build_webpack:package.json", "//packages/angular_devkit/core:package.json", + "//packages/ngtools/webpack:package.json", ], deps = [ ":README.md", From 82971c786f5ee160604115266968343cb015f4ed Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Fri, 21 Jan 2022 16:05:32 -0800 Subject: [PATCH 0057/1388] build: use bazel for snapshot builds --- .circleci/config.yml | 1 + lib/packages.ts | 7 ++++--- package.json | 2 +- scripts/snapshots.ts | 2 +- tools/defaults.bzl | 2 +- tools/snapshot_repo_filter.bzl | 2 +- yarn.lock | 17 ++++++++--------- 7 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ba1c49ec78a..9e3c3960a1d6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -270,6 +270,7 @@ jobs: resource_class: medium steps: - custom_attach_workspace + - install_python - run: name: Decrypt Credentials # Note: when changing the image, you might have to re-encrypt the credentials with a diff --git a/lib/packages.ts b/lib/packages.ts index 4844a370cb64..af923e99d72c 100644 --- a/lib/packages.ts +++ b/lib/packages.ts @@ -152,14 +152,15 @@ const packageJsonPaths = [ ..._findPrimaryPackageJsonFiles(path.join(__dirname, '..', 'packages'), excludeRe), ]; -function _exec(cmd: string) { - return execSync(cmd).toString().trim(); +function _exec(cmd: string, opts?: { cwd?: string }) { + return execSync(cmd, opts).toString().trim(); } let gitShaCache: string; function _getSnapshotHash(_pkg: PackageInfo): string { if (!gitShaCache) { - gitShaCache = _exec('git log --format=%h -n1'); + const opts = { cwd: __dirname }; // Ensure we call git from within this repo + gitShaCache = _exec('git log --format=%h -n1', opts); } return gitShaCache; diff --git a/package.json b/package.json index 8d8f0116c4c3..9620ea13ecdc 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.0", "@angular/compiler-cli": "14.0.0-next.0", "@angular/core": "14.0.0-next.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3a34722a82fb0e8cd3fa00dfc5476767a35e021a", "@angular/forms": "14.0.0-next.0", "@angular/localize": "14.0.0-next.0", "@angular/material": "14.0.0-next.0", diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index 1e7442c8833b..c1de7a60956c 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -12,7 +12,7 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; import { PackageInfo, packages } from '../lib/packages'; -import build from './build'; +import build from './build-bazel'; import create from './create'; // Added to the README.md of the snapshot. This is markdown. diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 61f2c1d35ae1..6651baca0d31 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -70,7 +70,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): # Version of the local package being built, generated via the `--workspace_status_command` flag. "0.0.0-PLACEHOLDER": "{BUILD_SCM_VERSION}", "0.0.0-EXPERIMENTAL-PLACEHOLDER": "{BUILD_SCM_EXPERIMENTAL_VERSION}", - "BUILD_SCM_HASH-PLACEHOLDER": "{BUILD_SCM_COMMIT_SHA}", + "BUILD_SCM_HASH-PLACEHOLDER": "{BUILD_SCM_ABBREV_HASH}", "0.0.0-ENGINES-NODE": RELEASE_ENGINES_NODE, "0.0.0-ENGINES-NPM": RELEASE_ENGINES_NPM, "0.0.0-ENGINES-YARN": RELEASE_ENGINES_YARN, diff --git a/tools/snapshot_repo_filter.bzl b/tools/snapshot_repo_filter.bzl index 8d7a1eb4b739..8e4369806415 100644 --- a/tools/snapshot_repo_filter.bzl +++ b/tools/snapshot_repo_filter.bzl @@ -8,7 +8,7 @@ load("//:constants.bzl", "SNAPSHOT_REPOS") def _generate_snapshot_repo_filter(): filter = "" for (i, pkg_name) in enumerate(SNAPSHOT_REPOS.keys()): - filter += "{sep}(..|objects|select(has(\"{pkg_name}\")))[\"{pkg_name}\"] |= \"github:{snapshot_repo}:BUILD_SCM_HASH-PLACEHOLDER\"\n".format( + filter += "{sep}(..|objects|select(has(\"{pkg_name}\")))[\"{pkg_name}\"] |= \"github:{snapshot_repo}#BUILD_SCM_HASH-PLACEHOLDER\"\n".format( sep = "| " if i > 0 else "", pkg_name = pkg_name, snapshot_repo = SNAPSHOT_REPOS[pkg_name], diff --git a/yarn.lock b/yarn.lock index 76811b2309bd..94ad0130ebf4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -51,10 +51,10 @@ "@angular-devkit/core" "13.2.0" rxjs "6.6.7" -"@angular-devkit/build-angular@^13.2.0-rc": - version "13.2.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0.tgz#5880890b5083a31f96d237ffee5f82af6fcc11a8" - integrity sha512-cHnm/P7uKJjKh2BCN8gnnd240J5z3IesQyRAx88kFSlL5sKCGyGoAYKAjU585/lllIXjtFXSR/S2d/cHg8ShKw== +"@angular-devkit/build-angular@13.2.0-rc.1": + version "13.2.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0-rc.1.tgz#d07eeec25c00c9ed025aa599263d98ad22d39f4a" + integrity sha512-kKElUuHAocImUQmYnlkmk/8UJh8eYw7GqvcfSxIcxJ8euLS2hnavmUCexxtlPsgWmwJTdwXDnRYVCmr4n8hQqA== dependencies: "@ampproject/remapping" "1.1.1" "@angular-devkit/architect" "0.1302.0" @@ -212,14 +212,13 @@ dependencies: tslib "^2.0.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93": - version "0.0.0-354871956801929457d9f08482fb81f7012ed7c8" - uid "2024033f3123cd1beed78d43ec7269467cd9fa93" - resolved "https://github.com/angular/dev-infra-private-builds.git#2024033f3123cd1beed78d43ec7269467cd9fa93" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3a34722a82fb0e8cd3fa00dfc5476767a35e021a": + version "0.0.0-c922f5b23611024bc9d94833ae147f6048ab0275" + resolved "https://github.com/angular/dev-infra-private-builds.git#3a34722a82fb0e8cd3fa00dfc5476767a35e021a" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" - "@angular-devkit/build-angular" "^13.2.0-rc" + "@angular-devkit/build-angular" "13.2.0-rc.1" "@angular/benchpress" "0.2.1" "@babel/core" "^7.16.0" "@bazel/bazelisk" "^1.10.1" From cf4ccc3aeffc217e7afe184710853694eecfa176 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 2 Feb 2022 18:20:14 +0000 Subject: [PATCH 0058/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 29 +++++++++-------- 6 files changed, 35 insertions(+), 34 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index d2ad3c9ce350..5139e0099624 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@354871956801929457d9f08482fb81f7012ed7c8 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@371b650cc4294b677bad453df3cb9e4a49a0941c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 7ae70b11407d..7183851fe61c 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -12,6 +12,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@354871956801929457d9f08482fb81f7012ed7c8 + - uses: angular/dev-infra/github-actions/feature-request@371b650cc4294b677bad453df3cb9e4a49a0941c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 876f03b193c7..f470f2b41c15 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@354871956801929457d9f08482fb81f7012ed7c8 + - uses: angular/dev-infra/github-actions/lock-closed@371b650cc4294b677bad453df3cb9e4a49a0941c with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 9620ea13ecdc..495172efd2c9 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.0", "@angular/compiler-cli": "14.0.0-next.0", "@angular/core": "14.0.0-next.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3a34722a82fb0e8cd3fa00dfc5476767a35e021a", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#838437e8f6056f933f595890019824c9283e48c6", "@angular/forms": "14.0.0-next.0", "@angular/localize": "14.0.0-next.0", "@angular/material": "14.0.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 14a043eed900..110dcabbd278 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#0a710238c3d970f957f4c98f32a27f50c2fa6d9b", - "@angular/cdk": "github:angular/cdk-builds#f6be3441efadf1a618b7bbf14c0130c7bc6964d9", - "@angular/common": "github:angular/common-builds#d476c5b8f8bcb0b64f5720fc65880acec4edd432", - "@angular/compiler": "github:angular/compiler-builds#a7366a76c4e4cd5f498864e9fb67345c3d3cb0d5", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#dd90fb71c538d81ab04194cdc07bf8edeadf5f68", - "@angular/core": "github:angular/core-builds#9eea90031457c7600d34901bb53a98d90295c311", - "@angular/forms": "github:angular/forms-builds#ba125154b807fc8256258e7ff2407c3d1e633ce5", - "@angular/language-service": "github:angular/language-service-builds#dbc2805aa0175bc51854b65596d95dea9005a5b4", - "@angular/localize": "github:angular/localize-builds#5ac5d144ee11b00d5980910dcab4e041c99f5dad", - "@angular/material": "github:angular/material2-builds#cede9300b8ff2e7b3d728e49a28084638d9a7533", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#43c32d9c6b12faf1d4d2c0ec50a5f58eb741de24", - "@angular/platform-browser": "github:angular/platform-browser-builds#415998e6d9040aec5f62b54c41a358fb1d9d7a43", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2065be65d3d8e3018782e16900563cdffa5cfeae", - "@angular/platform-server": "github:angular/platform-server-builds#0dd4cbfd25b75987899caa3e9967e8f7126fb0bb", - "@angular/router": "github:angular/router-builds#cf438ce6e60c2147dc2060c010034bc7788669f4", - "@angular/service-worker": "github:angular/service-worker-builds#4f170125365b7d32b72c6fe84a4936f5b59a4bfa" + "@angular/animations": "github:angular/animations-builds#8f5f8c85922cce5a89074313da06f8ead4459517", + "@angular/cdk": "github:angular/cdk-builds#07e89d703b16b899d3870bdb0f4d3fe16daf0d96", + "@angular/common": "github:angular/common-builds#c78d3634f4bb4e17d2afd6c88f161d162b95b9ae", + "@angular/compiler": "github:angular/compiler-builds#82d5573a07fbdedb84e8d2411564874b07e70ea2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#c0563a2b59c73df471e8780b5c53d4b251216b49", + "@angular/core": "github:angular/core-builds#ee9cc37b4d753e05f45f961d642297882abac3f3", + "@angular/forms": "github:angular/forms-builds#fe9f0320b61c212c98fb3fb02baf22bc1498d4cd", + "@angular/language-service": "github:angular/language-service-builds#20b08b3c8d08bc0c754693d8f49411b7f77cc2bb", + "@angular/localize": "github:angular/localize-builds#50239376544ba0662f1030b71169deec86adcd7c", + "@angular/material": "github:angular/material2-builds#9fb170b21c37d7b52aea2e232a48ff47ca889260", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ce2fe8fb4942304f36cb3fb1af7d64fbd4e3ee36", + "@angular/platform-browser": "github:angular/platform-browser-builds#c164e19bd7098dc6ff5c11365a6c091d7c21d668", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0179a7f90492f5ba72d0716cb6301f3a9a3d09d9", + "@angular/platform-server": "github:angular/platform-server-builds#0653c6bd095a881081e50f8d4cdd0941cc8e788e", + "@angular/router": "github:angular/router-builds#7dc60ef3b787f5c9bd0a01be711ad375741c14af", + "@angular/service-worker": "github:angular/service-worker-builds#a3492821bc4393252da427b933577f8887ac8830" } } diff --git a/yarn.lock b/yarn.lock index 94ad0130ebf4..f2743abf7978 100644 --- a/yarn.lock +++ b/yarn.lock @@ -150,12 +150,12 @@ dependencies: tslib "^2.3.0" -"@angular/benchpress@0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@angular/benchpress/-/benchpress-0.2.1.tgz#f8b58d9acfda0d29959b87dcb8082b1c33735db5" - integrity sha512-ojHCP96ZunHBZpt08USSEdLJsuXnEEdJtfzl+9oTdMXbooKkzSVO7N6bVdjefbGRNAleAuSAo3gVrdPqumLznA== +"@angular/benchpress@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@angular/benchpress/-/benchpress-0.3.0.tgz#0adf14156ff31dfee3ef607c0088e9ee6fb08777" + integrity sha512-ApxoY5lTj1S0QFLdq5ZdTfdkIds1m3tma9EJOZpNVHRU9eCj2D/5+VFb5tlWsv9NHQ2S0XXkJjauFOAdfzT8uw== dependencies: - "@angular/core" "^10.0.0-0 || ^11.0.0" + "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" "@angular/cdk@14.0.0-next.0": @@ -205,21 +205,22 @@ dependencies: tslib "^2.3.0" -"@angular/core@^10.0.0-0 || ^11.0.0": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.2.14.tgz#3ebe298c79d5413dc670d56b7f503bd4d788d4a8" - integrity sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg== +"@angular/core@^13.0.0 || ^14.0.0-0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.0.tgz#8db7b6f56eb2f211b72d943582061b247f39fe7f" + integrity sha512-mWRWbbZ6k00AicA/GrxmWKaw8upo77sRQz4tSYKpwVKt2TtCeoW8OkdYUpnmuVjxpF0bD6PtVc0e1fD6es/ElA== dependencies: - tslib "^2.0.0" + tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3a34722a82fb0e8cd3fa00dfc5476767a35e021a": - version "0.0.0-c922f5b23611024bc9d94833ae147f6048ab0275" - resolved "https://github.com/angular/dev-infra-private-builds.git#3a34722a82fb0e8cd3fa00dfc5476767a35e021a" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#838437e8f6056f933f595890019824c9283e48c6": + version "0.0.0-371b650cc4294b677bad453df3cb9e4a49a0941c" + uid "838437e8f6056f933f595890019824c9283e48c6" + resolved "https://github.com/angular/dev-infra-private-builds.git#838437e8f6056f933f595890019824c9283e48c6" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" "@angular-devkit/build-angular" "13.2.0-rc.1" - "@angular/benchpress" "0.2.1" + "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/bazelisk" "^1.10.1" "@bazel/buildifier" "^4.0.1" From bf733d67589c1ac816e864f8f218d52ba9b2643f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 1 Feb 2022 15:22:49 +0100 Subject: [PATCH 0059/1388] fix(@angular-devkit/core): correctly resolve schema references defaults Closes #22600 --- .../core/src/json/schema/registry.ts | 3 -- .../core/src/json/schema/transforms.ts | 2 + .../core/src/json/schema/transforms_spec.ts | 38 +++++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index edf50c078c44..38b7134e8c72 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -209,9 +209,6 @@ export class CoreSchemaRegistry implements SchemaRegistry { } } - if (fullReference.startsWith('#')) { - fullReference = fullReference.slice(0, -1); - } const resolvedSchema = this._ajv.getSchema(fullReference); return { diff --git a/packages/angular_devkit/core/src/json/schema/transforms.ts b/packages/angular_devkit/core/src/json/schema/transforms.ts index 362d2b667465..9bad19d0b37e 100644 --- a/packages/angular_devkit/core/src/json/schema/transforms.ts +++ b/packages/angular_devkit/core/src/json/schema/transforms.ts @@ -20,6 +20,8 @@ export function addUndefinedDefaults( return value; } + value ??= schema.default; + const types = getTypesOfSchema(schema); if (types.size === 0) { return value; diff --git a/packages/angular_devkit/core/src/json/schema/transforms_spec.ts b/packages/angular_devkit/core/src/json/schema/transforms_spec.ts index d9292a55a1ec..a4fc18a88558 100644 --- a/packages/angular_devkit/core/src/json/schema/transforms_spec.ts +++ b/packages/angular_devkit/core/src/json/schema/transforms_spec.ts @@ -218,4 +218,42 @@ describe('addUndefinedDefaults', () => { expect(dataObj.obj.b).toBeTrue(); expect(dataObj.obj.c).toBeFalse(); }); + + it('should add defaults to undefined properties when using $refs', async () => { + const registry = new CoreSchemaRegistry(); + registry.addPreTransform(addUndefinedDefaults); + const dataNoObj: Record = {}; + + const dataObj: Record = { + boolRef: true, + }; + + const validator = registry.compile({ + definitions: { + boolRef: { + default: false, + type: 'boolean', + }, + }, + properties: { + bool: { + default: false, + type: 'boolean', + }, + boolRef: { + $ref: '#/definitions/boolRef', + }, + }, + }); + + const result1 = await validator.pipe(mergeMap((validator) => validator(dataNoObj))).toPromise(); + expect(result1.success).toBeTrue(); + expect(dataNoObj['bool']).toBeFalse(); + expect(dataNoObj['boolRef']).toBeFalse(); + + const result2 = await validator.pipe(mergeMap((validator) => validator(dataObj))).toPromise(); + expect(result2.success).toBeTrue(); + expect(dataObj['bool']).toBeFalse(); + expect(dataObj['boolRef']).toBeTrue(); + }); }); From fafb9ddd589e02643b240da7906589737077e325 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 2 Feb 2022 10:57:01 +0100 Subject: [PATCH 0060/1388] docs(@angular/cli): update `@angular/cli` package readme Previously, the `@angular/cli` readme contained a lot of un-needed information for application users --- docs/DEVELOPER.md | 47 ++++++ packages/angular/cli/README.md | 274 +-------------------------------- 2 files changed, 50 insertions(+), 271 deletions(-) diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index f21a831499c4..c8c58812bebb 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -110,6 +110,53 @@ wait forever for a debugger to attach). ![Intellij IDEA run configurations](images/run-configurations.png) +### VS Code + +In order to debug some Angular CLI behaviour using Visual Studio Code, you can run `npm run build`, and then use a launch configuration like the following: + +```json +{ + "type": "node", + "request": "launch", + "name": "ng serve", + "cwd": "", + "program": "${workspaceFolder}/dist/@angular/cli/bin/ng", + "args": [ + "", + ...other arguments + ], + "console": "integratedTerminal" +} +``` + +Then you can add breakpoints in `dist/@angular` files. + +For more informations about Node.js debugging in VS Code, see the related [VS Code Documentation](https://code.visualstudio.com/docs/nodejs/nodejs-debugging). + +## CPU Profiling + +In order to investigate performance issues, CPU profiling is often useful. + +### Creating a profile + +Node.js 16+ users can use the Node.js command line argument `--cpu-prof` to create a CPU profile. + +```bash +node --cpu-prof node_modules/.bin/ng build +``` + +In addition to this one, another, more elaborated way to capture a CPU profile using the Chrome Devtools is detailed in https://github.com/angular/angular-cli/issues/8259#issue-269908550. + +#### Opening a profile + +You can use the Chrome Devtools to process it. To do so: + +1. open `chrome://inspect` in Chrome +1. click on "Open dedicated DevTools for Node" +1. go to the "profiler" tab +1. click on the "Load" button and select the generated `.cpuprofile` file +1. on the left panel, select the associated file + ## Creating New Packages Adding a package to this repository means running two separate commands: diff --git a/packages/angular/cli/README.md b/packages/angular/cli/README.md index ced76bc505d0..07b498c785dc 100644 --- a/packages/angular/cli/README.md +++ b/packages/angular/cli/README.md @@ -1,273 +1,5 @@ -## Angular CLI +# Angular CLI - The CLI tool for Angular. - +The sources for this package are in the [Angular CLI](https://github.com/angular/angular-cli) repository. Please file issues and pull requests against that repository. -[![Dependency Status][david-badge]][david-badge-url] -[![devDependency Status][david-dev-badge]][david-dev-badge-url] - -[![npm](https://img.shields.io/npm/v/%40angular/cli.svg)][npm-badge-url] -[![npm](https://img.shields.io/npm/v/%40angular/cli/next.svg)][npm-badge-url] -[![npm](https://img.shields.io/npm/l/@angular/cli.svg)][license-url] -[![npm](https://img.shields.io/npm/dm/@angular/cli.svg)][npm-badge-url] - -[![Join the chat at https://gitter.im/angular/angular-cli](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/angular/angular-cli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -[![GitHub forks](https://img.shields.io/github/forks/angular/angular-cli.svg?style=social&label=Fork)](https://github.com/angular/angular-cli/fork) -[![GitHub stars](https://img.shields.io/github/stars/angular/angular-cli.svg?style=social&label=Star)](https://github.com/angular/angular-cli) - -## Note - -If you are updating from a beta or RC version, check out our [1.0 Update Guide](https://github.com/angular/angular-cli/wiki/stories-1.0-update). - -If you wish to collaborate, check out [our issue list](https://github.com/angular/angular-cli/issues). - -Before submitting new issues, have a look at [issues marked with the `type: faq` label](https://github.com/angular/angular-cli/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3A%22type%3A%20faq%22%20). - -## Prerequisites - -Both the CLI and generated project have dependencies that require Node 8.9 or higher, together -with NPM 5.5.1 or higher. - -## Table of Contents - -- [Installation](#installation) -- [Usage](#usage) -- [Generating a New Project](#generating-and-serving-an-angular-project-via-a-development-server) -- [Generating Components, Directives, Pipes and Services](#generating-components-directives-pipes-and-services) -- [Updating Angular CLI](#updating-angular-cli) -- [Development Hints for working on Angular CLI](#development-hints-for-working-on-angular-cli) -- [Documentation](#documentation) -- [License](#license) - -## Installation - -**BEFORE YOU INSTALL:** please read the [prerequisites](#prerequisites) - -### Install Globally - -```bash -npm install -g @angular/cli -``` - -### Install Locally - -```bash -npm install @angular/cli -``` - -To run a locally installed version of the angular-cli, you can call `ng` commands directly by adding the `.bin` folder within your local `node_modules` folder to your PATH. The `node_modules` and `.bin` folders are created in the directory where `npm install @angular/cli` was run upon completion of the install command. - -Alternatively, you can install [npx](https://www.npmjs.com/package/npx) and run `npx ng ` within the local directory where `npm install @angular/cli` was run, which will use the locally installed angular-cli. - -### Install Specific Version (Example: 6.1.1) - -```bash -npm install -g @angular/cli@6.1.1 -``` - -## Usage - -```bash -ng help -``` - -### Generating and serving an Angular project via a development server - -```bash -ng new PROJECT-NAME -cd PROJECT-NAME -ng serve -``` - -Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. - -You can configure the default HTTP host and port used by the development server with two command-line options : - -```bash -ng serve --host 0.0.0.0 --port 4201 -``` - -### Generating Components, Directives, Pipes and Services - -You can use the `ng generate` (or just `ng g`) command to generate Angular components: - -```bash -ng generate component my-new-component -ng g component my-new-component # using the alias - -# components support relative path generation -# if in the directory src/app/feature/ and you run -ng g component new-cmp -# your component will be generated in src/app/feature/new-cmp -# but if you were to run -ng g component ./newer-cmp -# your component will be generated in src/app/newer-cmp -# if in the directory src/app you can also run -ng g component feature/new-cmp -# and your component will be generated in src/app/feature/new-cmp -``` - -You can find all possible blueprints in the table below: - -| Scaffold | Usage | -| ------------------------------------------------------ | --------------------------------- | -| [Component](https://angular.io/cli/generate#component) | `ng g component my-new-component` | -| [Directive](https://angular.io/cli/generate#directive) | `ng g directive my-new-directive` | -| [Pipe](https://angular.io/cli/generate#pipe) | `ng g pipe my-new-pipe` | -| [Service](https://angular.io/cli/generate#service) | `ng g service my-new-service` | -| [Class](https://angular.io/cli/generate#class) | `ng g class my-new-class` | -| [Guard](https://angular.io/cli/generate#guard) | `ng g guard my-new-guard` | -| [Interface](https://angular.io/cli/generate#interface) | `ng g interface my-new-interface` | -| [Enum](https://angular.io/cli/generate#enum) | `ng g enum my-new-enum` | -| [Module](https://angular.io/cli/generate#module) | `ng g module my-module` | - -angular-cli will add reference to `components`, `directives` and `pipes` automatically in the `app.module.ts`. If you need to add this references to another custom module, follow these steps: - -1. `ng g module new-module` to create a new module -2. call `ng g component new-module/new-component` - -This should add the new `component`, `directive` or `pipe` reference to the `new-module` you've created. - -### Updating Angular CLI - -If you're using Angular CLI `1.0.0-beta.28` or less, you need to uninstall `angular-cli` package. It should be done due to changing of package's name and scope from `angular-cli` to `@angular/cli`: - -```bash -npm uninstall -g angular-cli -npm uninstall --save-dev angular-cli -``` - -To update Angular CLI to a new version, you must update both the global package and your project's local package. - -Global package: - -```bash -npm uninstall -g @angular/cli -npm cache verify -# if npm version is < 5 then use `npm cache clean` -npm install -g @angular/cli@latest -``` - -Local project package: - -```bash -rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell -npm install --save-dev @angular/cli@latest -npm install -``` - -If you are updating to 1.0 from a beta or RC version, check out our [1.0 Update Guide](https://github.com/angular/angular-cli/wiki/stories-1.0-update). - -You can find more details about changes between versions in [the Releases tab on GitHub](https://github.com/angular/angular-cli/releases). - -## Development Hints for working on Angular CLI - -### Working with master - -```bash -git clone https://github.com/angular/angular-cli.git -yarn -npm run build -cd dist/@angular/cli -npm link -``` - -`npm link` is very similar to `npm install -g` except that instead of downloading the package -from the repo, the just built `dist/@angular/cli/` folder becomes the global package. -Additionally, this repository publishes several packages and we use special logic to load all of them -on development setups. - -Any changes to the files in the `angular-cli/` folder will immediately affect the global `@angular/cli` package, -meaning that, in order to quickly test any changes you make to the cli project, you should simply just run `npm run build` -again. - -Now you can use `@angular/cli` via the command line: - -```bash -ng new foo -cd foo -npm link @angular/cli -ng serve -``` - -`npm link @angular/cli` is needed because by default the globally installed `@angular/cli` just loads -the local `@angular/cli` from the project which was fetched remotely from npm. -`npm link @angular/cli` symlinks the global `@angular/cli` package to the local `@angular/cli` package. -Now the `angular-cli` you cloned before is in three places: -The folder you cloned it into, npm's folder where it stores global packages and the Angular CLI project you just created. - -You can also use `ng new foo --link-cli` to automatically link the `@angular/cli` package. - -Please read the official [npm-link documentation](https://docs.npmjs.com/cli/link) -and the [npm-link cheatsheet](http://browsenpm.org/help#linkinganynpmpackagelocally) for more information. - -To run the Angular CLI E2E test suite, use the `node ./tests/legacy-cli/run_e2e` command. -It can also receive a filename to only run that test (e.g. `node ./tests/legacy-cli/run_e2e tests/legacy-cli/e2e/tests/build/dev-build.ts`). - -As part of the test procedure, all packages will be built and linked. -You will need to re-run `npm link` to re-link the development Angular CLI environment after tests finish. - -### Debugging with VS Code - -In order to debug some Angular CLI behaviour using Visual Studio Code, you can run `npm run build`, and then use a launch configuration like the following: - -```json -{ - "type": "node", - "request": "launch", - "name": "ng serve", - "cwd": "", - "program": "${workspaceFolder}/dist/@angular/cli/bin/ng", - "args": [ - "", - ...other arguments - ], - "console": "integratedTerminal" -} -``` - -Then you can add breakpoints in `dist/@angular` files. - -For more informations about Node.js debugging in VS Code, see the related [VS Code Documentation](https://code.visualstudio.com/docs/nodejs/nodejs-debugging). - -### CPU Profiling - -In order to investigate performance issues, CPU profiling is often useful. - -#### Creating a profile - -Node.js 16+ users can use the Node.js command line argument `--cpu-prof` to create a CPU profile. - -```bash -node --cpu-prof node_modules/.bin/ng build -``` - -In addition to this one, another, more elaborated way to capture a CPU profile using the Chrome Devtools is detailed in https://github.com/angular/angular-cli/issues/8259#issue-269908550. - -#### Opening a profile - -You can use the Chrome Devtools to process it. To do so: - -1. open `chrome://inspect` in Chrome -1. click on "Open dedicated DevTools for Node" -1. go to the "profiler" tab -1. click on the "Load" button and select the generated `.cpuprofile` file -1. on the left panel, select the associated file - -## Documentation - -The documentation for the Angular CLI is located on our [documentation website](https://angular.io/cli). - -## License - -[MIT](https://github.com/angular/angular-cli/blob/master/LICENSE) - -[travis-badge]: https://travis-ci.org/angular/angular-cli.svg?branch=master -[travis-badge-url]: https://travis-ci.org/angular/angular-cli -[david-badge]: https://david-dm.org/angular/angular-cli.svg -[david-badge-url]: https://david-dm.org/angular/angular-cli -[david-dev-badge]: https://david-dm.org/angular/angular-cli/dev-status.svg -[david-dev-badge-url]: https://david-dm.org/angular/angular-cli?type=dev -[npm-badge]: https://img.shields.io/npm/v/@angular/cli.svg -[npm-badge-url]: https://www.npmjs.com/package/@angular/cli -[license-url]: https://github.com/angular/angular-cli/blob/master/LICENSE +Usage information and reference details can be found in repository [README](../../../README.md) file. From b54254abb424f182c8465b66f05c7c012ce292e9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 2 Feb 2022 12:45:55 +0000 Subject: [PATCH 0061/1388] build: update all non-major dependencies --- package.json | 8 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 179 +++++++++++++++++- 3 files changed, 182 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 495172efd2c9..8b3c49725890 100644 --- a/package.json +++ b/package.json @@ -133,10 +133,10 @@ "copy-webpack-plugin": "10.2.4", "core-js": "3.21.0", "critters": "0.0.16", - "css-loader": "6.5.1", + "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.16", - "esbuild-wasm": "0.14.16", + "esbuild": "0.14.17", + "esbuild-wasm": "0.14.17", "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", @@ -218,7 +218,7 @@ "verdaccio-auth-memory": "^10.0.0", "webpack": "5.68.0", "webpack-dev-middleware": "5.3.1", - "webpack-dev-server": "4.7.3", + "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "zone.js": "^0.11.3" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9bda54b399ca..986c60b412fc 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,8 +29,8 @@ "copy-webpack-plugin": "10.2.4", "core-js": "3.21.0", "critters": "0.0.16", - "css-loader": "6.5.1", - "esbuild-wasm": "0.14.16", + "css-loader": "6.6.0", + "esbuild-wasm": "0.14.17", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -66,12 +66,12 @@ "tslib": "2.3.1", "webpack": "5.68.0", "webpack-dev-middleware": "5.3.1", - "webpack-dev-server": "4.7.3", + "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.16" + "esbuild": "0.14.17" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index f2743abf7978..6b8b9bade438 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2101,7 +2101,7 @@ "@types/qs" "*" "@types/range-parser" "*" -"@types/express@*", "@types/express@^4.16.0": +"@types/express@*", "@types/express@^4.16.0", "@types/express@^4.17.13": version "4.17.13" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== @@ -4114,6 +4114,20 @@ css-loader@6.5.1: postcss-value-parser "^4.1.0" semver "^7.3.5" +css-loader@6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.6.0.tgz#c792ad5510bd1712618b49381bd0310574fafbd3" + integrity sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.5" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.5" + css-prefers-color-scheme@^6.0.2, css-prefers-color-scheme@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" @@ -4843,6 +4857,11 @@ esbuild-android-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.16.tgz#75dceceffd05fd8127e3590298bf057e04d20602" integrity sha512-9qRiUXiV0qIa4Dfv+GLKsk/HHOq3U9qh8yZK9iX0awlzLPFb38NJrNTGtb/TeI6AyyZqsGgwLm/JeJ1UtEN9Aw== +esbuild-android-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" + integrity sha512-y7EJm8ADC9qKbo/dJ2zBXwNdIILJ76tTv7JDGvOkbLT8HJXIsgbpa0NJk7iFhyvP4GpsYvXTbvEQNn0DhyBhLA== + esbuild-darwin-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" @@ -4853,6 +4872,11 @@ esbuild-darwin-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.16.tgz#75966d579e3b5d2ec3ef932055022bc2aa2ffcda" integrity sha512-1Xa86DpTJFRffA7go0pqUdC0ggxxGxjsrnrvA2nHBVHNf9Ix/cgGuPfxZwf3fRZxDDAT2RdqF5SRZzLYvUCtZQ== +esbuild-darwin-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" + integrity sha512-V2JAP8yyVbW6qR4SVXsEDqRicYM0x5niUuB05IFiE5itPI45k8j2dA2l+DtirR2SGXr+LEqgX347+2VA6eyTiA== + esbuild-darwin-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" @@ -4863,6 +4887,11 @@ esbuild-darwin-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.16.tgz#99be1261815ad2bccbd8d63e9a58ae3239365bb6" integrity sha512-a0Tp0tec/s5hYT6OiJ2zvfH/6IfXFCH406yqFfXe5u8Nfo6l6IG33L7nqCYCEPnBLF7oYfZk6Re0VDwpgK18kQ== +esbuild-darwin-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" + integrity sha512-ENkSKpjF4SImyA2TdHhKiZqtYc1DkMykICe1KSBw0YNF1sentjFI6wu+CRiYMpC7REf/3TQXoems2XPqIqDMlQ== + esbuild-freebsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" @@ -4873,6 +4902,11 @@ esbuild-freebsd-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.16.tgz#ac7377802b362a73857907781d54633d5b61344a" integrity sha512-FqEdOphRS5kJ8MFqQ21Y0yducmwcFHmpkceLkup1kpsGChr3PGO7DfzXmF5fECNnMxRpk/jgk7e6nV4zXTau/A== +esbuild-freebsd-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" + integrity sha512-2i0nTNJM8ftNTvtR00vdqkru8XpHwAbkR2MBLoK2IDSzjsLStwCj+mxf6v83eVM9Abe3QA8xP+irqOdBlwDQ2g== + esbuild-freebsd-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" @@ -4883,6 +4917,11 @@ esbuild-freebsd-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.16.tgz#e99c43e5079e4744447882beb01769b2bb0e7d2f" integrity sha512-4Au4zR0//Df1v6FuWJEMZFRzaF69FvxHgSmKjikq7x6Ect+h4TbJKkblC3eDrfTA8L6l5bB1vhh0dbKq4zBy5Q== +esbuild-freebsd-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" + integrity sha512-QOmRi1n+uly2G7BbMbHb86YiFA5aM7B2T96A6OF1VG57LNwXwy8LPVM0PVjl7f9cV3pE3fy3VtXPJHJo8XggTA== + esbuild-linux-32@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" @@ -4893,6 +4932,11 @@ esbuild-linux-32@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.16.tgz#0d346977f00a93459c31e180d25fb6d36ba21aa8" integrity sha512-HundAiQCa0ut7PXq3lmRZY7H3/OYh27wkJ97S7jjCgWmcd5To6Bs8UBVB7I4Qi9lNk/Yty0INnqq9on1WR8JUA== +esbuild-linux-32@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" + integrity sha512-qG5NDk7FHHUVw01rjHESON0HvigF2X80b645TUlgTKsWRlrbzzHhMCmQguA01O5PiCimKnyoxti8aJIFNHpQnQ== + esbuild-linux-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" @@ -4903,6 +4947,11 @@ esbuild-linux-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.16.tgz#2c1f2222fa888397530ef625930f74b13c116f7c" integrity sha512-fG8MgVmQknIuYCHFOq+9iKLyygjPun+VkNH9ZIdRQrSzb3CFdEkNm+Suq5w8W+WjA/P0OIdrQ/mXXCoHCQTWSQ== +esbuild-linux-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" + integrity sha512-De8OcmNvfNyFfQRLWbfuZqau6NpYBJxNTLP7Ls/PqQcw0HAwfaYThutY8ozHpPbKFPa7wgqabXlIC4NVSWT0/A== + esbuild-linux-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" @@ -4913,6 +4962,11 @@ esbuild-linux-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.16.tgz#666bf0853184684021f8f5c1781f1e898a35a5b0" integrity sha512-7WF1rHsPVXhme2B6ceZZABxFwCiZfMRIJO7yRiLahIdDkwfhSTR6M0a6OwO/NsLJH9fax5GdwBOIBoG5Hkz4gA== +esbuild-linux-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" + integrity sha512-WDEOD/YRA4J1lxhETKZff3gRxGYqqZEiVwIOqNfvCh2YcwWU2y6UmNGZsxcuKk18wot4dAXCXQyNZgBkVUTCLw== + esbuild-linux-arm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" @@ -4923,6 +4977,11 @@ esbuild-linux-arm@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.16.tgz#460ff025676544988ff3b4c2ca265f0bcd203baf" integrity sha512-0NDVeuvWska0d4Rd8R3+lWEyKaIbAxDuRAeeU6a2xaUXrTG2IPhGNLWc4NbVMbnkGqRqKB4PLdk/YaTUZjKFHQ== +esbuild-linux-arm@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" + integrity sha512-ZwsgFUk3gR2pEMJdh5z4Ds18fvGETgElPqmNdx1NtZTCOVlFMAwFB5u/tOR2FrXbMFv+LkGnNxPDh48PYPDz9A== + esbuild-linux-mips64le@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" @@ -4933,6 +4992,11 @@ esbuild-linux-mips64le@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.16.tgz#9ae987cbc24a87a0a9ca2a3e9feec0789727460f" integrity sha512-RLNaTRdcQ81QckeIjbk1hCrgmrL6VoZBsYT8ak9ObNQzXEJNMlxOBixaF6rhW8UUYRpTpFuoYHeNya8xY884/A== +esbuild-linux-mips64le@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" + integrity sha512-Lf4X9NB7r6imzp/11TaGs4kWL0DUn1JxI9gAAKotnKh6T8Y/0sLvZSvQS8WvSZcr0V8RRCrRZwiQqjOALUU/9g== + esbuild-linux-ppc64le@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" @@ -4943,6 +5007,11 @@ esbuild-linux-ppc64le@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.16.tgz#8eb7c77aa4cdca994ad6b89f6024ae2317d3bb98" integrity sha512-ky0Ii2Jmyc00FzGT2audU0UmnBVrVevYmKW10DXLPcHGhbhzJdFRemXLvvzhDM8WD9IMJK3uV6ifJzkKrv8IQA== +esbuild-linux-ppc64le@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" + integrity sha512-aExhxbrK7/Mh9FArdiC9MbvrQz2bGCDI8cBALKJbmhKg0h7LNt6y1E1S9GGBZ/ZXkHDvV9FFVrXXZKFVU5Qpiw== + esbuild-linux-s390x@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" @@ -4953,6 +5022,11 @@ esbuild-linux-s390x@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.16.tgz#248de950b82064931872d8bad84560187da1efab" integrity sha512-DuW9MPGJAzUUBPI/olMkMMepCasTbPN1Xr2cKZZEEDIibcdRnuFrMYVk3G3I8/Qb6SZBNTSnZMAyhvYFrwAkqw== +esbuild-linux-s390x@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" + integrity sha512-b0T20rNcS7POi5YLw5dFlsiC+riobR5IfppQGn5NWer6QiIkdL1vOx9eC9CUD3z1itpkLboRAZYieZfKfhCA2Q== + esbuild-netbsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" @@ -4963,6 +5037,11 @@ esbuild-netbsd-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.16.tgz#330e546b55fb3665618a594dae6222faecc08ec4" integrity sha512-l8+mnz8iVsV0iL5v5JCuP0UTv2LwO1ORdJ/scMkGUl8WrC6cBmUrrHhg+pwREqjbD8TxjfUJVM1Vvt5E8SaTsg== +esbuild-netbsd-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" + integrity sha512-pFgTaAa2JF18nqNfCND9wOu1jbZ/mbDSaMxUp5fTkLlofyHhXeb5aChgXUkeipty2Pgq0OwOnxjHmiAxMI7N4g== + esbuild-openbsd-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" @@ -4973,6 +5052,11 @@ esbuild-openbsd-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.16.tgz#cca41262619dfd6c2b7ea4f128b14ac02d79028d" integrity sha512-8SbZNAV902FmcGnc+j86HWY8PyTD1H7T39RsPXXS5IC1psi3yzFr2d8NoOxb6cQd5XUVHmHT1naJsbtEAyKIPA== +esbuild-openbsd-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" + integrity sha512-K5+plb6gsAfBcFqB0EG4KvLbgBKslVAfEyJggicwt/QoDwQGJAzao4M6zOA4PG7LlXOwWSqv7VmSFbH+b6DyKw== + esbuild-sunos-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" @@ -4983,12 +5067,22 @@ esbuild-sunos-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.16.tgz#bb03853049171e6441a0fcc06f3ce04a693f86ba" integrity sha512-pMhe4uOaGjA/5YgeNoB0PRZi1V73D8sx876uFzuAxaZcYzLA5BsSbQeEccH182X6cBybE4Pm79kYedTSGOfwog== +esbuild-sunos-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" + integrity sha512-o1FINkbHRi9JB1YteOSXZdkDOmVUbmnCxRmTLkHvk8pfCFNpv/5/7ktt95teYKbEiJna2dEt3M4ckJ/+UVnW+w== + esbuild-wasm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== -esbuild-wasm@0.14.16, esbuild-wasm@^0.14.14: +esbuild-wasm@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" + integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== + +esbuild-wasm@^0.14.14: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.16.tgz#6c66d3877c83040c84dfaf8de7909ca520a9af1b" integrity sha512-0TnQyxKeNqdnKYEQwf475WkthvVL1aK9p/WaZsHY56Ek1jaxDuciEKRyqZhNZqWvBdjbkaFC46O19+HkIoppJQ== @@ -5003,6 +5097,11 @@ esbuild-windows-32@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.16.tgz#ee5bbf56a857afc0196a1b02ef047ec3747eb646" integrity sha512-M68/EFCgji0DI+DgULx2ytUUSxwwODJDpiVc0YsiWKdyB4umKTu1GGxFfdZhXrWtPxB4aZFoIgJyDhsFxnHC4g== +esbuild-windows-32@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" + integrity sha512-Qutilz0I7OADWBtWrC/FD+2O/TNAkhwbZ+wIns7kF87lxIMtmqpBt3KnMk1e4F47aTrZRr0oH55Zhztd7m2PAA== + esbuild-windows-64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" @@ -5013,6 +5112,11 @@ esbuild-windows-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.16.tgz#9c030666fe881805677cc154090f491c71bac011" integrity sha512-rmSal1Co749CXSNyFJ62J5Fz/nZiFWhwMfYN9SwZazutKZ6s0QDRIhnupa93bJmzMzz4C2dqUV/VL1tqOI3y9g== +esbuild-windows-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" + integrity sha512-b21/oRV+PHrav0HkRpKjbM2yNRVe34gAfbdMppbZFea416wa8SrjcmVfSd7n4jgqoTQG0xe+MGgOpwXtjiB3DQ== + esbuild-windows-arm64@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" @@ -5023,6 +5127,11 @@ esbuild-windows-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.16.tgz#98f97821148f5b74de7b427109dee106b5350221" integrity sha512-VMfEf+MDgO+rulAuSeu3HNebSHa1TDn0lJp+QRk7E2WVg9OCSwuXUEkSbqIbkif3ZjASy7h9sTCGyHcqgKQTrg== +esbuild-windows-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" + integrity sha512-4HN9E1idllewYvptcrrdfTA6DIWgg11kK0Zrv6yjxstJZLJeKxfilGBEaksLGs4Pst2rAYMx3H2vbYq7AWLQNA== + esbuild@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" @@ -5047,7 +5156,31 @@ esbuild@0.14.14: esbuild-windows-64 "0.14.14" esbuild-windows-arm64 "0.14.14" -esbuild@0.14.16, esbuild@^0.14.14: +esbuild@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.17.tgz#6a634e56447aa0e90b34c42091d472d802d399e5" + integrity sha512-JLgyC6Uv31mv9T9Mm2xF1LntUMCNBSzvg2n32d8cTKZMwFr1wmMFY2FkVum98TSoEsDff0cR+Aj49H2sbBcjKQ== + optionalDependencies: + esbuild-android-arm64 "0.14.17" + esbuild-darwin-64 "0.14.17" + esbuild-darwin-arm64 "0.14.17" + esbuild-freebsd-64 "0.14.17" + esbuild-freebsd-arm64 "0.14.17" + esbuild-linux-32 "0.14.17" + esbuild-linux-64 "0.14.17" + esbuild-linux-arm "0.14.17" + esbuild-linux-arm64 "0.14.17" + esbuild-linux-mips64le "0.14.17" + esbuild-linux-ppc64le "0.14.17" + esbuild-linux-s390x "0.14.17" + esbuild-netbsd-64 "0.14.17" + esbuild-openbsd-64 "0.14.17" + esbuild-sunos-64 "0.14.17" + esbuild-windows-32 "0.14.17" + esbuild-windows-64 "0.14.17" + esbuild-windows-arm64 "0.14.17" + +esbuild@^0.14.14: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.16.tgz#cfe5c35a6bacd7390b2a53a997cd6028eaa468d3" integrity sha512-niiWy7nesZFGCiDr0NR9/JLEhtZPYHG/ABYTqveNWvocw/gGI5rKHOj3+5yUv3yH10/geTlZiyVaNvjJWL9Xbw== @@ -11368,7 +11501,7 @@ webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.3.0: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-middleware@5.3.1: +webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== @@ -11414,6 +11547,42 @@ webpack-dev-server@4.7.3: webpack-dev-middleware "^5.3.0" ws "^8.1.0" +webpack-dev-server@4.7.4: + version "4.7.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" + integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.2.2" + ansi-html-community "^0.0.8" + bonjour "^3.5.0" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + del "^6.0.0" + express "^4.17.1" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.0" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + portfinder "^1.0.28" + schema-utils "^4.0.0" + selfsigned "^2.0.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + spdy "^4.0.2" + strip-ansi "^7.0.0" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" @@ -11622,7 +11791,7 @@ ws@8.2.3, ws@~8.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== -ws@>=7.4.6, ws@^8.1.0: +ws@>=7.4.6, ws@^8.1.0, ws@^8.4.2: version "8.4.2" resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== From 7ce68de12a71693581ad6d15dcb87ce453116468 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 2 Feb 2022 15:13:48 -0800 Subject: [PATCH 0062/1388] docs: release notes for the v13.2.2 release --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5239e18b2e66..c83a5d2f7935 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ + + +# 13.2.2 (2022-02-02) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [cc5505cfc](https://github.com/angular/angular-cli/commit/cc5505cfcf12732fad4f85e6e76c8e4f0584c13a) | fix | add `whatwg-url` to downlevel exclusion list | +| [ff54b49e7](https://github.com/angular/angular-cli/commit/ff54b49e7097cda2eb835bc8c9674f71fcc91c3c) | fix | ensure to use content hash as filenames hashing mechanism | +| [b0e2bb289](https://github.com/angular/angular-cli/commit/b0e2bb289050efc77478a0f50778abbec9c5a318) | perf | update `license-webpack-plugin` to `4.0.1` | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------- | +| [c8826a973](https://github.com/angular/angular-cli/commit/c8826a9738f860e374bd65a058c6be1b02545133) | fix | correctly resolve schema references defaults | + +## Special Thanks + +Alan Agius, Derek Cormier and Joey Perrott + + + # 13.2.1 (2022-01-31) From fbc4c3bfde8d30c0a61818c958e9482a3e146584 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 2 Feb 2022 15:21:39 -0800 Subject: [PATCH 0063/1388] release: cut the v14.0.0-next.0 release --- CHANGELOG.md | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c83a5d2f7935..d7facda5ca58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,106 @@ + + +# 14.0.0-next.0 (2022-02-02) + +## Breaking Changes + +### @angular/cli + +- `--all` option from `ng update` has been removed without replacement. To update packages which don’t provide `ng update` capabilities in your workspace `package.json` use `npm update`, `yarn upgrade-interactive` or `yarn upgrade` instead. + +- Deprecated option `--prod` has been removed from all builders. `--configuration production`/`-c production` should be used instead if the default configuration of the builder is not configured to `production`. + +### @angular-devkit/build-angular + +- `browser` and `karma` builders `script` and `styles` options input files extensions are now validated. + +Valid extensions for `scripts` are: + +- `.js` +- `.cjs` +- `.mjs` +- `.jsx` +- `.cjsx` +- `.mjsx` + +Valid extensions for `styles` are: + +- `.css` +- `.less` +- `.sass` +- `.scss` +- `.styl` + +- We now issue a build time error since importing a CSS file as an ECMA module is non standard Webpack specific feature, which is not supported by the Angular CLI. + +This feature was never truly supported by the Angular CLI, but has as such for visibility. + +- The deprecated `showCircularDependencies` browser and server builder option has been removed. The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tools. + +### @angular-devkit/core + +- The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs. +- `fs` namespace +- `clean` +- `mapObject` + +### @angular-devkit/schematics + +- Deprecated `analytics` property has been removed from `TypedSchematicContext` interface + +### @ngtools/webpack + +- `ivy` namespace has been removed from the public API. + +- `ivy.AngularWebpackPlugin` -> `AngularWebpackPlugin` +- `ivy.AngularPluginOptions` -> `AngularPluginOptions` + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | +| [7e7de6858](https://github.com/angular/angular-cli/commit/7e7de6858dd71bd461ceb0f89e29e2c57099bbcc) | feat | update Angular dependencies to use `^` as version prefix | +| [69ecddaa7](https://github.com/angular/angular-cli/commit/69ecddaa7d8b01aa7a9e61c403a4b9a8669e34c4) | feat | update new and existing projects compilation target to `ES2020` | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------- | +| [d94a67353](https://github.com/angular/angular-cli/commit/d94a67353dcdaa30cf5487744a7ef151a6268f2d) | refactor | remove deprecated `--all` option from `ng update` | +| [2fc7c73d7](https://github.com/angular/angular-cli/commit/2fc7c73d7e40dbb0a593df61eeba17c8a8f618a9) | refactor | remove deprecated `--prod` flag | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------ | +| [d23a168b8](https://github.com/angular/angular-cli/commit/d23a168b8d558ae9d73c8c9eed4ff199fc4d74b9) | feat | validate file extensions for `scripts` and `styles` options | +| [07e776ea3](https://github.com/angular/angular-cli/commit/07e776ea379a50a98a50cf590156c2dc1b272e78) | fix | fail build when importing CSS files as an ECMA modules | +| [0a1cd584d](https://github.com/angular/angular-cli/commit/0a1cd584d8ed00889b177f4284baec7e5427caf2) | refactor | remove deprecated `showCircularDependencies` browser and server builder option | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------- | +| [a0c02af7e](https://github.com/angular/angular-cli/commit/a0c02af7e340bb16f4e6f523c2d835c9b18926b3) | refactor | remove deprecated fs, object and array APIs | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------- | +| [44c1e6d0d](https://github.com/angular/angular-cli/commit/44c1e6d0d2db5f2dc212d63a34ade045cb7854d5) | refactor | remove deprecated `analytics` property | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------- | +| [9277eed1d](https://github.com/angular/angular-cli/commit/9277eed1d9603d5e258eb7ae27de527eba919482) | refactor | remove deprecated ivy namespace | + +## Special Thanks + +Alan Agius, Doug Parker and Joey Perrott + + + # 13.2.2 (2022-02-02) From 9e69331fa61265c77d6281232bb64a2c63509290 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 2 Feb 2022 12:34:17 +0100 Subject: [PATCH 0064/1388] feat(@angular/cli): use PNPM as package manager when `pnpm-lock.yaml` exists While supported, we didn't automatically try to determine if PNPM was used through the lock files like we do for other package managers. --- .../angular/cli/models/architect-command.ts | 17 +---- packages/angular/cli/utilities/config.ts | 72 +++++++++--------- .../angular/cli/utilities/package-manager.ts | 76 +++++++++++++------ 3 files changed, 91 insertions(+), 74 deletions(-) diff --git a/packages/angular/cli/models/architect-command.ts b/packages/angular/cli/models/architect-command.ts index aaa8ddab17a5..5eaebe95e137 100644 --- a/packages/angular/cli/models/architect-command.ts +++ b/packages/angular/cli/models/architect-command.ts @@ -261,20 +261,9 @@ export abstract class ArchitectCommand< } const packageManager = await getPackageManager(basePath); - let installSuggestion = 'Try installing with '; - switch (packageManager) { - case 'npm': - installSuggestion += `'npm install'`; - break; - case 'yarn': - installSuggestion += `'yarn'`; - break; - default: - installSuggestion += `the project's package manager`; - break; - } - - this.logger.warn(`Node packages may not be installed. ${installSuggestion}.`); + this.logger.warn( + `Node packages may not be installed. Try installing with '${packageManager} install'.`, + ); } async run(options: ArchitectCommandOptions & Arguments) { diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/utilities/config.ts index d5ce06a835d4..2e39570a41dc 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/utilities/config.ts @@ -10,6 +10,7 @@ import { json, workspaces } from '@angular-devkit/core'; import { existsSync, readFileSync, statSync, writeFileSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; +import { PackageManager } from '../lib/config/workspace-schema'; import { findUp } from './find-up'; import { JSONFile, readAndParseJson } from './json-file'; @@ -298,18 +299,19 @@ export function getProjectByCwd(workspace: AngularWorkspace): string | null { return null; } -export async function getConfiguredPackageManager(): Promise { - const getPackageManager = (source: json.JsonValue | undefined): string | undefined => { +export async function getConfiguredPackageManager(): Promise { + const getPackageManager = (source: json.JsonValue | undefined): PackageManager | null => { if (isJsonObject(source)) { const value = source['packageManager']; if (value && typeof value === 'string') { - return value; + return value as PackageManager; } } - }; - let result: string | undefined | null; + return null; + }; + let result: PackageManager | null = null; const workspace = await getWorkspace('local'); if (workspace) { const project = getProjectByCwd(workspace); @@ -317,21 +319,15 @@ export async function getConfiguredPackageManager(): Promise { result = getPackageManager(workspace.projects.get(project)?.extensions['cli']); } - result = result ?? getPackageManager(workspace.extensions['cli']); + result ??= getPackageManager(workspace.extensions['cli']); } - if (result === undefined) { + if (!result) { const globalOptions = await getWorkspace('global'); result = getPackageManager(globalOptions?.extensions['cli']); - - if (!workspace && !globalOptions) { - // Only check legacy if updated workspace is not found - result = getLegacyPackageManager(); - } } - // Default to null - return result ?? null; + return result; } export function migrateLegacyGlobalConfig(): boolean { @@ -385,30 +381,6 @@ export function migrateLegacyGlobalConfig(): boolean { return false; } -// Fallback, check for packageManager in config file in v1.* global config. -function getLegacyPackageManager(): string | null { - const homeDir = os.homedir(); - if (homeDir) { - const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json'); - if (existsSync(legacyGlobalConfigPath)) { - const legacy = readAndParseJson(legacyGlobalConfigPath); - if (!isJsonObject(legacy)) { - return null; - } - - if ( - legacy.packageManager && - typeof legacy.packageManager === 'string' && - legacy.packageManager !== 'default' - ) { - return legacy.packageManager; - } - } - } - - return null; -} - export async function getSchematicDefaults( collection: string, schematic: string, @@ -480,3 +452,27 @@ export async function isWarningEnabled(warning: string): Promise { // All warnings are enabled by default return result ?? true; } + +// Fallback, check for packageManager in config file in v1.* global config. +function getLegacyPackageManager(): string | null { + const homeDir = os.homedir(); + if (homeDir) { + const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json'); + if (existsSync(legacyGlobalConfigPath)) { + const legacy = readAndParseJson(legacyGlobalConfigPath); + if (!isJsonObject(legacy)) { + return null; + } + + if ( + legacy.packageManager && + typeof legacy.packageManager === 'string' && + legacy.packageManager !== 'default' + ) { + return legacy.packageManager; + } + } + } + + return null; +} diff --git a/packages/angular/cli/utilities/package-manager.ts b/packages/angular/cli/utilities/package-manager.ts index 2cb64781d854..82acba8ab923 100644 --- a/packages/angular/cli/utilities/package-manager.ts +++ b/packages/angular/cli/utilities/package-manager.ts @@ -6,16 +6,18 @@ * found in the LICENSE file at https://angular.io/license */ -import { execSync } from 'child_process'; -import { existsSync } from 'fs'; +import { exec as execCb, execSync } from 'child_process'; +import { constants, promises as fs } from 'fs'; import { join } from 'path'; import { satisfies, valid } from 'semver'; +import { promisify } from 'util'; import { PackageManager } from '../lib/config/workspace-schema'; import { getConfiguredPackageManager } from './config'; -function supports(name: string): boolean { +const exec = promisify(execCb); +async function supports(name: PackageManager): Promise { try { - execSync(`${name} --version`, { stdio: 'ignore' }); + await exec(`${name} --version`); return true; } catch { @@ -23,38 +25,68 @@ function supports(name: string): boolean { } } -export function supportsYarn(): boolean { - return supports('yarn'); -} +async function hasLockfile(root: string, packageManager: PackageManager): Promise { + try { + let lockfileName: string; + switch (packageManager) { + case PackageManager.Yarn: + lockfileName = 'yarn.lock'; + break; + case PackageManager.Pnpm: + lockfileName = 'pnpm-lock.yaml'; + break; + case PackageManager.Npm: + default: + lockfileName = 'package-lock.json'; + break; + } + + await fs.access(join(root, lockfileName), constants.F_OK); -export function supportsNpm(): boolean { - return supports('npm'); + return true; + } catch { + return false; + } } export async function getPackageManager(root: string): Promise { - let packageManager = (await getConfiguredPackageManager()) as PackageManager | null; + const packageManager = await getConfiguredPackageManager(); if (packageManager) { return packageManager; } - const hasYarn = supportsYarn(); - const hasYarnLock = existsSync(join(root, 'yarn.lock')); - const hasNpm = supportsNpm(); - const hasNpmLock = existsSync(join(root, 'package-lock.json')); + const [hasYarnLock, hasNpmLock, hasPnpmLock] = await Promise.all([ + hasLockfile(root, PackageManager.Yarn), + hasLockfile(root, PackageManager.Npm), + hasLockfile(root, PackageManager.Pnpm), + ]); + const hasYarn = await supports(PackageManager.Yarn); if (hasYarn && hasYarnLock && !hasNpmLock) { - packageManager = PackageManager.Yarn; - } else if (hasNpm && hasNpmLock && !hasYarnLock) { - packageManager = PackageManager.Npm; - } else if (hasYarn && !hasNpm) { - packageManager = PackageManager.Yarn; - } else if (hasNpm && !hasYarn) { - packageManager = PackageManager.Npm; + return PackageManager.Yarn; + } + + const hasPnpm = await supports(PackageManager.Pnpm); + if (hasPnpm && hasPnpmLock && !hasNpmLock) { + return PackageManager.Pnpm; + } + + const hasNpm = await supports(PackageManager.Npm); + if (hasNpm && hasNpmLock && !hasYarnLock && !hasPnpmLock) { + return PackageManager.Npm; + } + + if (hasYarn && !hasNpm && !hasPnpm) { + return PackageManager.Yarn; + } + + if (hasPnpm && !hasYarn && !hasNpm) { + return PackageManager.Pnpm; } // TODO: This should eventually inform the user of ambiguous package manager usage. // Potentially with a prompt to choose and optionally set as the default. - return packageManager || PackageManager.Npm; + return PackageManager.Npm; } /** From 73746faee98cf99cc9b053c6f7d142050b4f0ee6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 3 Feb 2022 09:12:50 +0100 Subject: [PATCH 0065/1388] refactor(@angular/cli): remove support for legacy Angular CLI version 1 configurations Remove references to legacy Angular CLI version 1 configurations. By now users should have been migrated to use the new configuration. --- CONTRIBUTING.md | 2 +- packages/angular/cli/commands/config-impl.ts | 17 +--- packages/angular/cli/utilities/config.ts | 85 ------------------- packages/angular/cli/utilities/project.ts | 7 +- .../src/environments/environment.ts | 2 +- scripts/templates/contributing.ejs | 2 +- 6 files changed, 7 insertions(+), 108 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 56b0d433819a..de8e1df0e373 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,7 +60,7 @@ Before you submit an issue, please search the issue tracker, maybe an issue for We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. Having a reproducible scenario gives us wealth of important information without going back & forth to you with additional questions like: - version of Angular CLI used -- `.angular-cli.json` or `angular.json` configuration +- `angular.json` configuration - version of Angular DevKit used - 3rd-party libraries and their versions - and most importantly - a use-case that fails diff --git a/packages/angular/cli/commands/config-impl.ts b/packages/angular/cli/commands/config-impl.ts index 2b6393e5bea8..1e73b6985471 100644 --- a/packages/angular/cli/commands/config-impl.ts +++ b/packages/angular/cli/commands/config-impl.ts @@ -6,11 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonValue, tags } from '@angular-devkit/core'; +import { JsonValue } from '@angular-devkit/core'; import { v4 as uuidV4 } from 'uuid'; import { Command } from '../models/command'; import { Arguments, CommandScope } from '../models/interface'; -import { getWorkspaceRaw, migrateLegacyGlobalConfig, validateWorkspace } from '../utilities/config'; +import { getWorkspaceRaw, validateWorkspace } from '../utilities/config'; import { JSONFile, parseJson } from '../utilities/json-file'; import { Schema as ConfigCommandSchema } from './config'; @@ -103,18 +103,7 @@ export class ConfigCommand extends Command { await this.validateScope(CommandScope.InProject); } - let [config] = getWorkspaceRaw(level); - - if (options.global && !config) { - try { - if (migrateLegacyGlobalConfig()) { - config = getWorkspaceRaw(level)[0]; - this.logger.info(tags.oneLine` - We found a global configuration that was used in Angular CLI 1. - It has been automatically migrated.`); - } - } catch {} - } + const [config] = getWorkspaceRaw(level); if (options.value == undefined) { if (!config) { diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/utilities/config.ts index 2e39570a41dc..8fd804eda393 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/utilities/config.ts @@ -144,16 +144,6 @@ export class AngularWorkspace { } static async load(workspaceFilePath: string): Promise { - const oldConfigFileNames = ['.angular-cli.json', 'angular-cli.json']; - if (oldConfigFileNames.includes(path.basename(workspaceFilePath))) { - // 1.x file format - // Create an empty workspace to allow update to be used - return new AngularWorkspace( - { extensions: {}, projects: new workspaces.ProjectDefinitionCollection() }, - workspaceFilePath, - ); - } - const result = await workspaces.readWorkspace( workspaceFilePath, createWorkspaceHost(), @@ -330,57 +320,6 @@ export async function getConfiguredPackageManager(): Promise 0) { - cli['warnings'] = warnings; - } - } - - if (Object.getOwnPropertyNames(cli).length > 0) { - const globalPath = path.join(homeDir, globalFileName); - writeFileSync(globalPath, JSON.stringify({ version: 1, cli }, null, 2)); - - return true; - } - } - } - - return false; -} - export async function getSchematicDefaults( collection: string, schematic: string, @@ -452,27 +391,3 @@ export async function isWarningEnabled(warning: string): Promise { // All warnings are enabled by default return result ?? true; } - -// Fallback, check for packageManager in config file in v1.* global config. -function getLegacyPackageManager(): string | null { - const homeDir = os.homedir(); - if (homeDir) { - const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json'); - if (existsSync(legacyGlobalConfigPath)) { - const legacy = readAndParseJson(legacyGlobalConfigPath); - if (!isJsonObject(legacy)) { - return null; - } - - if ( - legacy.packageManager && - typeof legacy.packageManager === 'string' && - legacy.packageManager !== 'default' - ) { - return legacy.packageManager; - } - } - } - - return null; -} diff --git a/packages/angular/cli/utilities/project.ts b/packages/angular/cli/utilities/project.ts index db119818e723..8598859fb6d2 100644 --- a/packages/angular/cli/utilities/project.ts +++ b/packages/angular/cli/utilities/project.ts @@ -13,12 +13,7 @@ import * as path from 'path'; import { findUp } from './find-up'; export function findWorkspaceFile(currentDirectory = process.cwd()): string | null { - const possibleConfigFiles = [ - 'angular.json', - '.angular.json', - 'angular-cli.json', - '.angular-cli.json', - ]; + const possibleConfigFiles = ['angular.json', '.angular.json']; const configFilePath = findUp(possibleConfigFiles, currentDirectory); if (configFilePath === null) { return null; diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts index a922b2b6e660..4d557376ecf6 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts @@ -9,7 +9,7 @@ // The file contents for the current environment will overwrite these during build. // The build system defaults to the dev environment which uses `environment.ts`, but if you do // `ng build --env=prod` then `environment.prod.ts` will be used instead. -// The list of which env maps to which file can be found in `.angular-cli.json`. +// The list of which env maps to which file can be found in `angular.json`. export const environment = { production: false, diff --git a/scripts/templates/contributing.ejs b/scripts/templates/contributing.ejs index da62628c12af..ad24aef77826 100644 --- a/scripts/templates/contributing.ejs +++ b/scripts/templates/contributing.ejs @@ -60,7 +60,7 @@ Before you submit an issue, please search the issue tracker, maybe an issue for We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. Having a reproducible scenario gives us wealth of important information without going back & forth to you with additional questions like: - version of Angular CLI used -- `.angular-cli.json` or `angular.json` configuration +- `angular.json` configuration - version of Angular DevKit used - 3rd-party libraries and their versions - and most importantly - a use-case that fails From 2fb099cf2ff446bd868431d89d04ea8ed8e01bad Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Thu, 3 Feb 2022 10:28:18 -0800 Subject: [PATCH 0066/1388] build: setup OpenSSF Scorecard Set up OpenSSF Scorecard to begin tracking security metrics within the repo. --- .github/workflows/scorecard.yml | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/scorecard.yml diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 000000000000..8fbf4ac3df93 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,49 @@ +name: OpenSSF Scorecard +on: + branch_protection_rule: + schedule: + - cron: '0 2 * * 0' + push: + branches: [master] + workflow_dispatch: + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecards analysis + runs-on: ubuntu-latest + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + actions: read + contents: read + + steps: + - name: 'Checkout code' + uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2.4.0 + with: + persist-credentials: false + + - name: 'Run analysis' + uses: ossf/scorecard-action@c8416b0b2bf627c349ca92fc8e3de51a64b005cf # v1.0.2 + with: + results_file: results.sarif + results_format: sarif + repo_token: ${{ secrets.GITHUB_TOKEN }} + publish_results: true + + # Upload the results as artifacts. + - name: 'Upload artifact' + uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # v2.3.1 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard. + - name: 'Upload to code-scanning' + uses: github/codeql-action/upload-sarif@5f532563584d71fdef14ee64d17bafb34f751ce5 # v1.0.26 + with: + sarif_file: results.sarif From 7c92becb19bb5434448893b9ebb8ff1293e9eaec Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Feb 2022 09:14:16 +0100 Subject: [PATCH 0067/1388] refactor(@angular-devkit/build-angular): remove workaround for fidelity and performance of babel sourcemaps With this change we remove the workaround for fidelity and performance of babel sourcemaps as this is no longer needed as Babel now uses `@ampproject/remapping` to merge sourcemaps. See https://github.com/babel/babel/pull/14209 for more context. --- .../build_angular/src/babel/webpack-loader.ts | 27 +------------------ 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index 3653ab20c4fc..abe66ea9967b 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import remapping from '@ampproject/remapping'; import { custom } from 'babel-loader'; import { ScriptTarget } from 'typescript'; import { loadEsmModule } from '../utils/load-esm'; @@ -23,9 +22,6 @@ interface AngularCustomOptions extends Omit; -// Extract Sourcemap input type from the remapping function since it is not currently exported -type SourceMapInput = Exclude[0], unknown[]>; - /** * Cached instance of the compiler-cli linker's needsLinking function. */ @@ -218,7 +214,7 @@ export default custom(() => { // Using `false` disables babel from attempting to locate sourcemaps or process any inline maps. // The babel types do not include the false option even though it is valid // eslint-disable-next-line @typescript-eslint/no-explicit-any - inputSourceMap: false as any, + inputSourceMap: configuration.options.inputSourceMap ?? (false as any), presets: [ ...(configuration.options.presets || []), [ @@ -242,26 +238,5 @@ export default custom(() => { ], }; }, - result(result, { map: inputSourceMap }) { - if (result.map && inputSourceMap) { - // Merge the intermediate sourcemap generated by babel with the input source map. - // The casting is required due to slight differences in the types for babel and - // `@ampproject/remapping` source map objects but both are compatible with Webpack. - // This method for merging is used because it provides more accurate output - // and is faster while using less memory. - result.map = { - // Convert the SourceMap back to simple plain object. - // This is needed because otherwise code-coverage will fail with `don't know how to turn this value into a node` - // Which is thrown by Babel if it is invoked again from `istanbul-lib-instrument`. - // https://github.com/babel/babel/blob/780aa48d2a34dc55f556843074b6aed45e7eabeb/packages/babel-types/src/converters/valueToNode.ts#L115-L130 - ...(remapping( - [result.map as SourceMapInput, inputSourceMap as SourceMapInput], - () => null, - ) as typeof result.map), - }; - } - - return result; - }, }; }); From 966dd01eab02cc10eee750c8638b5cf4b58afffe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 2 Feb 2022 14:21:50 +0100 Subject: [PATCH 0068/1388] fix(@ngtools/webpack): support locating PNPM lock file during NGCC processing Previously, we only handled Yarn and NPM lock files even though PNPM is supported as package manager. The lock file is used to perform checks to determine if an initial execution of NGCC was already performed. Closes #22632 --- .../ngtools/webpack/src/ngcc_processor.ts | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/packages/ngtools/webpack/src/ngcc_processor.ts b/packages/ngtools/webpack/src/ngcc_processor.ts index 5c9a9a79453b..a7e9c2691f37 100644 --- a/packages/ngtools/webpack/src/ngcc_processor.ts +++ b/packages/ngtools/webpack/src/ngcc_processor.ts @@ -73,15 +73,6 @@ export class NgccProcessor { const runHashBasePath = path.join(this._nodeModulesDirectory, '.cli-ngcc'); const projectBasePath = path.join(this._nodeModulesDirectory, '..'); try { - let lockData; - let lockFile = 'yarn.lock'; - try { - lockData = readFileSync(path.join(projectBasePath, lockFile)); - } catch { - lockFile = 'package-lock.json'; - lockData = readFileSync(path.join(projectBasePath, lockFile)); - } - let ngccConfigData; try { ngccConfigData = readFileSync(path.join(projectBasePath, 'ngcc.config.js')); @@ -91,11 +82,12 @@ export class NgccProcessor { const relativeTsconfigPath = path.relative(projectBasePath, this.tsConfigPath); const tsconfigData = readFileSync(this.tsConfigPath); + const { lockFileData, lockFilePath } = this.findPackageManagerLockFile(projectBasePath); // Generate a hash that represents the state of the package lock file and used tsconfig const runHash = createHash('sha256') - .update(lockData) - .update(lockFile) + .update(lockFileData) + .update(lockFilePath) .update(ngccConfigData) .update(tsconfigData) .update(relativeTsconfigPath) @@ -248,6 +240,24 @@ export class NgccProcessor { throw new Error(`Cannot locate the 'node_modules' directory.`); } + + private findPackageManagerLockFile(projectBasePath: string): { + lockFilePath: string; + lockFileData: Buffer; + } { + for (const lockFile of ['yarn.lock', 'pnpm-lock.yaml', 'package-lock.json']) { + const lockFilePath = path.join(projectBasePath, lockFile); + + try { + return { + lockFilePath, + lockFileData: readFileSync(lockFilePath), + }; + } catch {} + } + + throw new Error('Cannot locate a package manager lock file.'); + } } class NgccLogger implements Logger { From f8c3ad8d411369e73eac311558d96add65190bb3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 4 Feb 2022 21:08:26 +0000 Subject: [PATCH 0069/1388] build: update all non-major dependencies --- package.json | 20 +- .../angular_devkit/build_angular/package.json | 16 +- packages/angular_devkit/core/package.json | 2 +- yarn.lock | 350 ++++++++++++------ 4 files changed, 264 insertions(+), 124 deletions(-) diff --git a/package.json b/package.json index 8b3c49725890..7023bf4d215a 100644 --- a/package.json +++ b/package.json @@ -59,10 +59,10 @@ ] }, "resolutions": { - "ajv-formats/ajv": "8.9.0" + "ajv-formats/ajv": "8.10.0" }, "devDependencies": { - "@ampproject/remapping": "2.0.1", + "@ampproject/remapping": "2.0.2", "@angular/animations": "14.0.0-next.0", "@angular/cdk": "14.0.0-next.0", "@angular/common": "14.0.0-next.0", @@ -78,14 +78,14 @@ "@angular/platform-server": "14.0.0-next.0", "@angular/router": "14.0.0-next.0", "@angular/service-worker": "14.0.0-next.0", - "@babel/core": "7.16.12", - "@babel/generator": "7.16.8", + "@babel/core": "7.17.0", + "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.16.10", + "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.16.7", + "@babel/runtime": "7.17.0", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "4.2.5", @@ -119,7 +119,7 @@ "@typescript-eslint/eslint-plugin": "5.10.2", "@typescript-eslint/parser": "5.10.2", "@yarnpkg/lockfile": "1.1.0", - "ajv": "8.9.0", + "ajv": "8.10.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.1", "babel-loader": "8.2.3", @@ -135,8 +135,8 @@ "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.17", - "esbuild-wasm": "0.14.17", + "esbuild": "0.14.18", + "esbuild-wasm": "0.14.18", "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", @@ -186,7 +186,7 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.3.0", + "postcss-preset-env": "7.3.1", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "13.1.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 986c60b412fc..5ca03cd15215 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,18 +6,18 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "2.0.1", + "@ampproject/remapping": "2.0.2", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.16.12", - "@babel/generator": "7.16.8", + "@babel/core": "7.17.0", + "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.16.10", + "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.16.7", + "@babel/runtime": "7.17.0", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -30,7 +30,7 @@ "core-js": "3.21.0", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.17", + "esbuild-wasm": "0.14.18", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -49,7 +49,7 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.3.0", + "postcss-preset-env": "7.3.1", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.17" + "esbuild": "0.14.18" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index c310be8e2b8c..b59aa0d8be97 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -9,7 +9,7 @@ ], "dependencies": { "ajv-formats": "2.1.1", - "ajv": "8.9.0", + "ajv": "8.10.0", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.25.7", "rxjs": "6.6.7", diff --git a/yarn.lock b/yarn.lock index 6b8b9bade438..41cc6e9eeb6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,12 +34,11 @@ "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" -"@ampproject/remapping@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.1.tgz#9a04a4aba7b8323b65498d9554a1bdd15d960296" - integrity sha512-EldHF4Ufj3NL9yCAmYrPzY+3/Yqrzxu24F4Mu4nRjK3w70AKYRmhuLwGZdA9JeoDsbIwkgGkbqUK2INuF582Og== +"@ampproject/remapping@2.0.2", "@ampproject/remapping@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.2.tgz#f3d9760bf30588c51408dbe7c05ff2bb13069307" + integrity sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" @@ -374,6 +373,27 @@ semver "^6.3.0" source-map "^0.5.0" +"@babel/core@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" + integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== + dependencies: + "@ampproject/remapping" "^2.0.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.0" + "@babel/parser" "^7.17.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/core@7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.6.tgz#27d7df9258a45c2e686b6f18b6c659e563aa4636" @@ -404,6 +424,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@7.17.0", "@babel/generator@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" + integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -611,6 +640,15 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helpers@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz#79cdf6c66a579f3a7b5e739371bc63ca0306886b" + integrity sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + "@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" @@ -625,6 +663,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== +"@babel/parser@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" + integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1078,6 +1121,18 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" + integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" @@ -1227,6 +1282,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" + integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.16.7", "@babel/template@^7.16.7", "@babel/template@^7.8.6": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1252,6 +1314,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" + integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.0" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" @@ -1260,6 +1338,14 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.11.0", "@bazel/bazelisk@^1.10.1": version "1.11.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" @@ -2878,6 +2964,16 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" +ajv@8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@8.9.0, ajv@^8.0.0, ajv@^8.8.0, ajv@^8.9.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" @@ -4857,10 +4953,10 @@ esbuild-android-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.16.tgz#75dceceffd05fd8127e3590298bf057e04d20602" integrity sha512-9qRiUXiV0qIa4Dfv+GLKsk/HHOq3U9qh8yZK9iX0awlzLPFb38NJrNTGtb/TeI6AyyZqsGgwLm/JeJ1UtEN9Aw== -esbuild-android-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" - integrity sha512-y7EJm8ADC9qKbo/dJ2zBXwNdIILJ76tTv7JDGvOkbLT8HJXIsgbpa0NJk7iFhyvP4GpsYvXTbvEQNn0DhyBhLA== +esbuild-android-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz#027a1cd57e57c6219341e116c4ac41a9952d69d1" + integrity sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg== esbuild-darwin-64@0.14.14: version "0.14.14" @@ -4872,10 +4968,10 @@ esbuild-darwin-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.16.tgz#75966d579e3b5d2ec3ef932055022bc2aa2ffcda" integrity sha512-1Xa86DpTJFRffA7go0pqUdC0ggxxGxjsrnrvA2nHBVHNf9Ix/cgGuPfxZwf3fRZxDDAT2RdqF5SRZzLYvUCtZQ== -esbuild-darwin-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" - integrity sha512-V2JAP8yyVbW6qR4SVXsEDqRicYM0x5niUuB05IFiE5itPI45k8j2dA2l+DtirR2SGXr+LEqgX347+2VA6eyTiA== +esbuild-darwin-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz#a219c50aa98b5bc08d7ce3677f5bae4b8aa5101b" + integrity sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg== esbuild-darwin-arm64@0.14.14: version "0.14.14" @@ -4887,10 +4983,10 @@ esbuild-darwin-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.16.tgz#99be1261815ad2bccbd8d63e9a58ae3239365bb6" integrity sha512-a0Tp0tec/s5hYT6OiJ2zvfH/6IfXFCH406yqFfXe5u8Nfo6l6IG33L7nqCYCEPnBLF7oYfZk6Re0VDwpgK18kQ== -esbuild-darwin-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" - integrity sha512-ENkSKpjF4SImyA2TdHhKiZqtYc1DkMykICe1KSBw0YNF1sentjFI6wu+CRiYMpC7REf/3TQXoems2XPqIqDMlQ== +esbuild-darwin-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz#eb2d17d33c5991c183c99843698182bb702eb592" + integrity sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ== esbuild-freebsd-64@0.14.14: version "0.14.14" @@ -4902,10 +4998,10 @@ esbuild-freebsd-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.16.tgz#ac7377802b362a73857907781d54633d5b61344a" integrity sha512-FqEdOphRS5kJ8MFqQ21Y0yducmwcFHmpkceLkup1kpsGChr3PGO7DfzXmF5fECNnMxRpk/jgk7e6nV4zXTau/A== -esbuild-freebsd-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" - integrity sha512-2i0nTNJM8ftNTvtR00vdqkru8XpHwAbkR2MBLoK2IDSzjsLStwCj+mxf6v83eVM9Abe3QA8xP+irqOdBlwDQ2g== +esbuild-freebsd-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz#de06b6ce361bdf51fb66e59b220f67c4124cc728" + integrity sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A== esbuild-freebsd-arm64@0.14.14: version "0.14.14" @@ -4917,10 +5013,10 @@ esbuild-freebsd-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.16.tgz#e99c43e5079e4744447882beb01769b2bb0e7d2f" integrity sha512-4Au4zR0//Df1v6FuWJEMZFRzaF69FvxHgSmKjikq7x6Ect+h4TbJKkblC3eDrfTA8L6l5bB1vhh0dbKq4zBy5Q== -esbuild-freebsd-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" - integrity sha512-QOmRi1n+uly2G7BbMbHb86YiFA5aM7B2T96A6OF1VG57LNwXwy8LPVM0PVjl7f9cV3pE3fy3VtXPJHJo8XggTA== +esbuild-freebsd-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz#59bb55cd6ac1b2b3c43536c067d8356f4ae7e310" + integrity sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA== esbuild-linux-32@0.14.14: version "0.14.14" @@ -4932,10 +5028,10 @@ esbuild-linux-32@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.16.tgz#0d346977f00a93459c31e180d25fb6d36ba21aa8" integrity sha512-HundAiQCa0ut7PXq3lmRZY7H3/OYh27wkJ97S7jjCgWmcd5To6Bs8UBVB7I4Qi9lNk/Yty0INnqq9on1WR8JUA== -esbuild-linux-32@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" - integrity sha512-qG5NDk7FHHUVw01rjHESON0HvigF2X80b645TUlgTKsWRlrbzzHhMCmQguA01O5PiCimKnyoxti8aJIFNHpQnQ== +esbuild-linux-32@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz#ff68f7ec7c8b8c7dddab4d6e65f1a1d0ff3ab0b9" + integrity sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ== esbuild-linux-64@0.14.14: version "0.14.14" @@ -4947,10 +5043,10 @@ esbuild-linux-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.16.tgz#2c1f2222fa888397530ef625930f74b13c116f7c" integrity sha512-fG8MgVmQknIuYCHFOq+9iKLyygjPun+VkNH9ZIdRQrSzb3CFdEkNm+Suq5w8W+WjA/P0OIdrQ/mXXCoHCQTWSQ== -esbuild-linux-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" - integrity sha512-De8OcmNvfNyFfQRLWbfuZqau6NpYBJxNTLP7Ls/PqQcw0HAwfaYThutY8ozHpPbKFPa7wgqabXlIC4NVSWT0/A== +esbuild-linux-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz#d4083d9833580090452a095cd2216100d86f3c7a" + integrity sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg== esbuild-linux-arm64@0.14.14: version "0.14.14" @@ -4962,10 +5058,10 @@ esbuild-linux-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.16.tgz#666bf0853184684021f8f5c1781f1e898a35a5b0" integrity sha512-7WF1rHsPVXhme2B6ceZZABxFwCiZfMRIJO7yRiLahIdDkwfhSTR6M0a6OwO/NsLJH9fax5GdwBOIBoG5Hkz4gA== -esbuild-linux-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" - integrity sha512-WDEOD/YRA4J1lxhETKZff3gRxGYqqZEiVwIOqNfvCh2YcwWU2y6UmNGZsxcuKk18wot4dAXCXQyNZgBkVUTCLw== +esbuild-linux-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz#8ce21e188ab9fcdb512f4ada9a637014c1294bec" + integrity sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg== esbuild-linux-arm@0.14.14: version "0.14.14" @@ -4977,10 +5073,10 @@ esbuild-linux-arm@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.16.tgz#460ff025676544988ff3b4c2ca265f0bcd203baf" integrity sha512-0NDVeuvWska0d4Rd8R3+lWEyKaIbAxDuRAeeU6a2xaUXrTG2IPhGNLWc4NbVMbnkGqRqKB4PLdk/YaTUZjKFHQ== -esbuild-linux-arm@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" - integrity sha512-ZwsgFUk3gR2pEMJdh5z4Ds18fvGETgElPqmNdx1NtZTCOVlFMAwFB5u/tOR2FrXbMFv+LkGnNxPDh48PYPDz9A== +esbuild-linux-arm@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz#a5e1d684c451f379b1dfef7b5a2dcad84cce3f79" + integrity sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA== esbuild-linux-mips64le@0.14.14: version "0.14.14" @@ -4992,10 +5088,10 @@ esbuild-linux-mips64le@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.16.tgz#9ae987cbc24a87a0a9ca2a3e9feec0789727460f" integrity sha512-RLNaTRdcQ81QckeIjbk1hCrgmrL6VoZBsYT8ak9ObNQzXEJNMlxOBixaF6rhW8UUYRpTpFuoYHeNya8xY884/A== -esbuild-linux-mips64le@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" - integrity sha512-Lf4X9NB7r6imzp/11TaGs4kWL0DUn1JxI9gAAKotnKh6T8Y/0sLvZSvQS8WvSZcr0V8RRCrRZwiQqjOALUU/9g== +esbuild-linux-mips64le@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz#c3890f178745a9c65bad64322be2b3611c240041" + integrity sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ== esbuild-linux-ppc64le@0.14.14: version "0.14.14" @@ -5007,10 +5103,10 @@ esbuild-linux-ppc64le@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.16.tgz#8eb7c77aa4cdca994ad6b89f6024ae2317d3bb98" integrity sha512-ky0Ii2Jmyc00FzGT2audU0UmnBVrVevYmKW10DXLPcHGhbhzJdFRemXLvvzhDM8WD9IMJK3uV6ifJzkKrv8IQA== -esbuild-linux-ppc64le@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" - integrity sha512-aExhxbrK7/Mh9FArdiC9MbvrQz2bGCDI8cBALKJbmhKg0h7LNt6y1E1S9GGBZ/ZXkHDvV9FFVrXXZKFVU5Qpiw== +esbuild-linux-ppc64le@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz#a355f515ca84839f5301f8ef745a2b329105e232" + integrity sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw== esbuild-linux-s390x@0.14.14: version "0.14.14" @@ -5022,10 +5118,10 @@ esbuild-linux-s390x@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.16.tgz#248de950b82064931872d8bad84560187da1efab" integrity sha512-DuW9MPGJAzUUBPI/olMkMMepCasTbPN1Xr2cKZZEEDIibcdRnuFrMYVk3G3I8/Qb6SZBNTSnZMAyhvYFrwAkqw== -esbuild-linux-s390x@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" - integrity sha512-b0T20rNcS7POi5YLw5dFlsiC+riobR5IfppQGn5NWer6QiIkdL1vOx9eC9CUD3z1itpkLboRAZYieZfKfhCA2Q== +esbuild-linux-s390x@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz#81721c22387912778c67495d0a34527f7a2cde66" + integrity sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg== esbuild-netbsd-64@0.14.14: version "0.14.14" @@ -5037,10 +5133,10 @@ esbuild-netbsd-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.16.tgz#330e546b55fb3665618a594dae6222faecc08ec4" integrity sha512-l8+mnz8iVsV0iL5v5JCuP0UTv2LwO1ORdJ/scMkGUl8WrC6cBmUrrHhg+pwREqjbD8TxjfUJVM1Vvt5E8SaTsg== -esbuild-netbsd-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" - integrity sha512-pFgTaAa2JF18nqNfCND9wOu1jbZ/mbDSaMxUp5fTkLlofyHhXeb5aChgXUkeipty2Pgq0OwOnxjHmiAxMI7N4g== +esbuild-netbsd-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz#eaee109d527a58b582f8fa933d9cadf8840758c2" + integrity sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w== esbuild-openbsd-64@0.14.14: version "0.14.14" @@ -5052,10 +5148,10 @@ esbuild-openbsd-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.16.tgz#cca41262619dfd6c2b7ea4f128b14ac02d79028d" integrity sha512-8SbZNAV902FmcGnc+j86HWY8PyTD1H7T39RsPXXS5IC1psi3yzFr2d8NoOxb6cQd5XUVHmHT1naJsbtEAyKIPA== -esbuild-openbsd-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" - integrity sha512-K5+plb6gsAfBcFqB0EG4KvLbgBKslVAfEyJggicwt/QoDwQGJAzao4M6zOA4PG7LlXOwWSqv7VmSFbH+b6DyKw== +esbuild-openbsd-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz#96a42615f5548529b7bb32d024bb9c6fb542778c" + integrity sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg== esbuild-sunos-64@0.14.14: version "0.14.14" @@ -5067,20 +5163,20 @@ esbuild-sunos-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.16.tgz#bb03853049171e6441a0fcc06f3ce04a693f86ba" integrity sha512-pMhe4uOaGjA/5YgeNoB0PRZi1V73D8sx876uFzuAxaZcYzLA5BsSbQeEccH182X6cBybE4Pm79kYedTSGOfwog== -esbuild-sunos-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" - integrity sha512-o1FINkbHRi9JB1YteOSXZdkDOmVUbmnCxRmTLkHvk8pfCFNpv/5/7ktt95teYKbEiJna2dEt3M4ckJ/+UVnW+w== +esbuild-sunos-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz#869723d73a5f35ba2a4a6c043694d952bd4f831b" + integrity sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg== esbuild-wasm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== -esbuild-wasm@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" - integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== +esbuild-wasm@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.18.tgz#e84d3b067abbf207f26c824ff7cd48a2f29db59a" + integrity sha512-HbL23n3Bg04XFGz+79xiEAJKit64unkATrLI7pFI8CElbXAUM4VsVnMZzJk1Uhcf324vOzYlSm9yUARVZ9BkJg== esbuild-wasm@^0.14.14: version "0.14.16" @@ -5097,10 +5193,10 @@ esbuild-windows-32@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.16.tgz#ee5bbf56a857afc0196a1b02ef047ec3747eb646" integrity sha512-M68/EFCgji0DI+DgULx2ytUUSxwwODJDpiVc0YsiWKdyB4umKTu1GGxFfdZhXrWtPxB4aZFoIgJyDhsFxnHC4g== -esbuild-windows-32@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" - integrity sha512-Qutilz0I7OADWBtWrC/FD+2O/TNAkhwbZ+wIns7kF87lxIMtmqpBt3KnMk1e4F47aTrZRr0oH55Zhztd7m2PAA== +esbuild-windows-32@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz#197c8833ed0f6a82055ab63861777749d0ce95c0" + integrity sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g== esbuild-windows-64@0.14.14: version "0.14.14" @@ -5112,10 +5208,10 @@ esbuild-windows-64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.16.tgz#9c030666fe881805677cc154090f491c71bac011" integrity sha512-rmSal1Co749CXSNyFJ62J5Fz/nZiFWhwMfYN9SwZazutKZ6s0QDRIhnupa93bJmzMzz4C2dqUV/VL1tqOI3y9g== -esbuild-windows-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" - integrity sha512-b21/oRV+PHrav0HkRpKjbM2yNRVe34gAfbdMppbZFea416wa8SrjcmVfSd7n4jgqoTQG0xe+MGgOpwXtjiB3DQ== +esbuild-windows-64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz#569832a99d87fc931a081fe7761c100578275be0" + integrity sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw== esbuild-windows-arm64@0.14.14: version "0.14.14" @@ -5127,10 +5223,10 @@ esbuild-windows-arm64@0.14.16: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.16.tgz#98f97821148f5b74de7b427109dee106b5350221" integrity sha512-VMfEf+MDgO+rulAuSeu3HNebSHa1TDn0lJp+QRk7E2WVg9OCSwuXUEkSbqIbkif3ZjASy7h9sTCGyHcqgKQTrg== -esbuild-windows-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" - integrity sha512-4HN9E1idllewYvptcrrdfTA6DIWgg11kK0Zrv6yjxstJZLJeKxfilGBEaksLGs4Pst2rAYMx3H2vbYq7AWLQNA== +esbuild-windows-arm64@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz#c1991848fca7b051d1d036d0723406da9696105d" + integrity sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA== esbuild@0.14.14: version "0.14.14" @@ -5156,29 +5252,29 @@ esbuild@0.14.14: esbuild-windows-64 "0.14.14" esbuild-windows-arm64 "0.14.14" -esbuild@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.17.tgz#6a634e56447aa0e90b34c42091d472d802d399e5" - integrity sha512-JLgyC6Uv31mv9T9Mm2xF1LntUMCNBSzvg2n32d8cTKZMwFr1wmMFY2FkVum98TSoEsDff0cR+Aj49H2sbBcjKQ== +esbuild@0.14.18: + version "0.14.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.18.tgz#9c5f58c506ec9e0ec335d20bcb3f9dbd086d0648" + integrity sha512-vCUoISSltnX7ax01w70pWOSQT+e55o+2P/a+A9MSTukJAt3T4aDZajcjeG4fnZbkvOEv+dkKgdkvljz6vVQD4A== optionalDependencies: - esbuild-android-arm64 "0.14.17" - esbuild-darwin-64 "0.14.17" - esbuild-darwin-arm64 "0.14.17" - esbuild-freebsd-64 "0.14.17" - esbuild-freebsd-arm64 "0.14.17" - esbuild-linux-32 "0.14.17" - esbuild-linux-64 "0.14.17" - esbuild-linux-arm "0.14.17" - esbuild-linux-arm64 "0.14.17" - esbuild-linux-mips64le "0.14.17" - esbuild-linux-ppc64le "0.14.17" - esbuild-linux-s390x "0.14.17" - esbuild-netbsd-64 "0.14.17" - esbuild-openbsd-64 "0.14.17" - esbuild-sunos-64 "0.14.17" - esbuild-windows-32 "0.14.17" - esbuild-windows-64 "0.14.17" - esbuild-windows-arm64 "0.14.17" + esbuild-android-arm64 "0.14.18" + esbuild-darwin-64 "0.14.18" + esbuild-darwin-arm64 "0.14.18" + esbuild-freebsd-64 "0.14.18" + esbuild-freebsd-arm64 "0.14.18" + esbuild-linux-32 "0.14.18" + esbuild-linux-64 "0.14.18" + esbuild-linux-arm "0.14.18" + esbuild-linux-arm64 "0.14.18" + esbuild-linux-mips64le "0.14.18" + esbuild-linux-ppc64le "0.14.18" + esbuild-linux-s390x "0.14.18" + esbuild-netbsd-64 "0.14.18" + esbuild-openbsd-64 "0.14.18" + esbuild-sunos-64 "0.14.18" + esbuild-windows-32 "0.14.18" + esbuild-windows-64 "0.14.18" + esbuild-windows-arm64 "0.14.18" esbuild@^0.14.14: version "0.14.16" @@ -8970,7 +9066,7 @@ postcss-nesting@^10.1.2: dependencies: postcss-selector-parser "^6.0.8" -postcss-opacity-percentage@^1.1.1: +postcss-opacity-percentage@^1.1.1, postcss-opacity-percentage@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== @@ -9031,7 +9127,51 @@ postcss-preset-env@7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.3.0, postcss-preset-env@^7.2.3: +postcss-preset-env@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" + integrity sha512-x7fNsJxfkY60P4FUNwhJUOfXBFfnObd2EcUYY97sXZ0XRLgmAE65es9EFIYHq1rAk7X3LMfbG+L9wYgkrNsq5Q== + dependencies: + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + autoprefixer "^10.4.2" + browserslist "^4.19.1" + css-blank-pseudo "^3.0.2" + css-has-pseudo "^3.0.3" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.1.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^3.0.0" + postcss-color-functional-notation "^4.2.1" + postcss-color-hex-alpha "^8.0.2" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.3" + postcss-double-position-gradients "^3.0.4" + postcss-env-function "^4.0.4" + postcss-focus-visible "^6.0.3" + postcss-focus-within "^5.0.3" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.2" + postcss-image-set-function "^4.0.5" + postcss-initial "^4.0.1" + postcss-lab-function "^4.0.3" + postcss-logical "^5.0.3" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.2" + postcss-page-break "^3.0.4" + postcss-place "^7.0.3" + postcss-pseudo-class-any-link "^7.1.0" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + +postcss-preset-env@^7.2.3: version "7.3.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== From a4f340445257c08f704e73a03f3852ec74c835d5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Feb 2022 22:10:26 +0100 Subject: [PATCH 0070/1388] build: correctly configure ajv resolution Currently this is not working properly. See https://github.com/yarnpkg/yarn/issues/5759 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7023bf4d215a..aee9e5013dde 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ ] }, "resolutions": { - "ajv-formats/ajv": "8.10.0" + "**/ajv-formats/ajv": "8.10.0" }, "devDependencies": { "@ampproject/remapping": "2.0.2", From 9b197627ae843fdc4bf963ee3e557c958339678a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 7 Feb 2022 17:13:55 +0100 Subject: [PATCH 0071/1388] ci: group all scorecard action dependencies With this change we group all the scorecard action dependencies so that Renovate opens a single PR. --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/renovate.json b/renovate.json index ddfaa9bd3e94..3e5ffd7992aa 100644 --- a/renovate.json +++ b/renovate.json @@ -71,6 +71,12 @@ "matchUpdateTypes": ["minor", "patch"], "groupName": "all non-major dependencies", "groupSlug": "all-minor-patch" + }, + { + "matchPaths": [".github/workflows/scorecard.yml"], + "matchPackagePatterns": ["*"], + "groupName": "scorecard action dependencies", + "groupSlug": "scorecard-action" } ] } From 80b2cc7e85f29c0f83cbd49bf13af873838a881b Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Mon, 7 Feb 2022 13:14:29 -0800 Subject: [PATCH 0072/1388] build: fix bazel build on windows Add a missing toolchain that was causing the nodejs_binary target for ng_cli_schema to fail --- WORKSPACE | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/WORKSPACE b/WORKSPACE index 022ffaf5ef0a..3f0e18f98fbe 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -26,6 +26,10 @@ http_archive( urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz"], ) +load("@bazel_tools//tools/sh:sh_configure.bzl", "sh_configure") + +sh_configure() + load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace() From 6e9cb3da22abcae8e396935be5ca6f7effe03a33 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Feb 2022 08:55:17 +0000 Subject: [PATCH 0073/1388] build: update scorecard action dependencies to 230611d --- .github/workflows/scorecard.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 8fbf4ac3df93..dbe41a6f1b04 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -22,12 +22,12 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2.4.0 + uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 with: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@c8416b0b2bf627c349ca92fc8e3de51a64b005cf # v1.0.2 + uses: ossf/scorecard-action@315c15e2156166631fd4cb10d6490514eb3fd74a with: results_file: results.sarif results_format: sarif @@ -36,7 +36,7 @@ jobs: # Upload the results as artifacts. - name: 'Upload artifact' - uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # v2.3.1 + uses: actions/upload-artifact@2244c8200304ec9588bf9399eac622d9fadc28c4 with: name: SARIF file path: results.sarif @@ -44,6 +44,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@5f532563584d71fdef14ee64d17bafb34f751ce5 # v1.0.26 + uses: github/codeql-action/upload-sarif@edd03fbd2c9728a78e2e10ff69c4af455b0de4fd with: sarif_file: results.sarif From b46f6243615e30d8b7d6e801a9f8f08128c7fb4b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Feb 2022 10:46:21 +0000 Subject: [PATCH 0074/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 676 +++++++----------- 7 files changed, 285 insertions(+), 463 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 5139e0099624..892f3229f511 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@371b650cc4294b677bad453df3cb9e4a49a0941c + - uses: angular/dev-infra/github-actions/commit-message-based-labels@ea10bc11429093f71506927aac9da864ce775b4f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 7183851fe61c..ab8ecc197c39 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -12,6 +12,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@371b650cc4294b677bad453df3cb9e4a49a0941c + - uses: angular/dev-infra/github-actions/feature-request@ea10bc11429093f71506927aac9da864ce775b4f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index f470f2b41c15..fbba32a973bb 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@371b650cc4294b677bad453df3cb9e4a49a0941c + - uses: angular/dev-infra/github-actions/lock-closed@ea10bc11429093f71506927aac9da864ce775b4f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index aee9e5013dde..41aaafcfbce4 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.0.2", - "@angular/animations": "14.0.0-next.0", - "@angular/cdk": "14.0.0-next.0", - "@angular/common": "14.0.0-next.0", - "@angular/compiler": "14.0.0-next.0", - "@angular/compiler-cli": "14.0.0-next.0", - "@angular/core": "14.0.0-next.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#838437e8f6056f933f595890019824c9283e48c6", - "@angular/forms": "14.0.0-next.0", - "@angular/localize": "14.0.0-next.0", - "@angular/material": "14.0.0-next.0", - "@angular/platform-browser": "14.0.0-next.0", - "@angular/platform-browser-dynamic": "14.0.0-next.0", - "@angular/platform-server": "14.0.0-next.0", - "@angular/router": "14.0.0-next.0", - "@angular/service-worker": "14.0.0-next.0", + "@angular/animations": "14.0.0-next.2", + "@angular/cdk": "14.0.0-next.1", + "@angular/common": "14.0.0-next.2", + "@angular/compiler": "14.0.0-next.2", + "@angular/compiler-cli": "14.0.0-next.2", + "@angular/core": "14.0.0-next.2", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#647c873bed9f9b9190f8441eea790a01ad0b2e92", + "@angular/forms": "14.0.0-next.2", + "@angular/localize": "14.0.0-next.2", + "@angular/material": "14.0.0-next.1", + "@angular/platform-browser": "14.0.0-next.2", + "@angular/platform-browser-dynamic": "14.0.0-next.2", + "@angular/platform-server": "14.0.0-next.2", + "@angular/router": "14.0.0-next.2", + "@angular/service-worker": "14.0.0-next.2", "@babel/core": "7.17.0", "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 5fd38f73cbb9..0ac51d967796 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.0", - "@angular/compiler-cli": "14.0.0-next.0", + "@angular/compiler": "14.0.0-next.2", + "@angular/compiler-cli": "14.0.0-next.2", "typescript": "4.5.5", "webpack": "5.68.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 110dcabbd278..c31905c36f50 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#8f5f8c85922cce5a89074313da06f8ead4459517", - "@angular/cdk": "github:angular/cdk-builds#07e89d703b16b899d3870bdb0f4d3fe16daf0d96", - "@angular/common": "github:angular/common-builds#c78d3634f4bb4e17d2afd6c88f161d162b95b9ae", - "@angular/compiler": "github:angular/compiler-builds#82d5573a07fbdedb84e8d2411564874b07e70ea2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#c0563a2b59c73df471e8780b5c53d4b251216b49", - "@angular/core": "github:angular/core-builds#ee9cc37b4d753e05f45f961d642297882abac3f3", - "@angular/forms": "github:angular/forms-builds#fe9f0320b61c212c98fb3fb02baf22bc1498d4cd", - "@angular/language-service": "github:angular/language-service-builds#20b08b3c8d08bc0c754693d8f49411b7f77cc2bb", - "@angular/localize": "github:angular/localize-builds#50239376544ba0662f1030b71169deec86adcd7c", - "@angular/material": "github:angular/material2-builds#9fb170b21c37d7b52aea2e232a48ff47ca889260", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ce2fe8fb4942304f36cb3fb1af7d64fbd4e3ee36", - "@angular/platform-browser": "github:angular/platform-browser-builds#c164e19bd7098dc6ff5c11365a6c091d7c21d668", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0179a7f90492f5ba72d0716cb6301f3a9a3d09d9", - "@angular/platform-server": "github:angular/platform-server-builds#0653c6bd095a881081e50f8d4cdd0941cc8e788e", - "@angular/router": "github:angular/router-builds#7dc60ef3b787f5c9bd0a01be711ad375741c14af", - "@angular/service-worker": "github:angular/service-worker-builds#a3492821bc4393252da427b933577f8887ac8830" + "@angular/animations": "github:angular/animations-builds#9c074d5cbb4d248c0cc4a68d95da80e1280dc9dc", + "@angular/cdk": "github:angular/cdk-builds#ed6489bd5775f762ccbe0cefd35a7f9e57b4b8ca", + "@angular/common": "github:angular/common-builds#30ca0d49c85800181170323078e0d3f2f38867cc", + "@angular/compiler": "github:angular/compiler-builds#1ac8fd877b074a6404c68aaa7df84c1fa22c081b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#fe494d435585395e9888dae26e72f3652800cb95", + "@angular/core": "github:angular/core-builds#ff45dc6ab822f1591f2f4519506c72e894ad79d9", + "@angular/forms": "github:angular/forms-builds#5410c884349684a00cd2ab57934113d091980e96", + "@angular/language-service": "github:angular/language-service-builds#96176f188ec000d74012423f027ad4b313b16b1d", + "@angular/localize": "github:angular/localize-builds#8cbface81637d77fb61914eba7c795f64d762d75", + "@angular/material": "github:angular/material2-builds#e93133ad7d2cda76f450c91f59ce63bc009282d5", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6efb2bbe4994822baabb5182d2879328c936d8d5", + "@angular/platform-browser": "github:angular/platform-browser-builds#ada1935148d1146a8721f765b81bf26b514d5772", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d096ec66a0e5164062c39d8261b2158fe9ae7e68", + "@angular/platform-server": "github:angular/platform-server-builds#d54dd3bca66bdd68fc6c27db18934b436d6c0a07", + "@angular/router": "github:angular/router-builds#93221d9fce94047550dca4beaa85634eb5d83011", + "@angular/service-worker": "github:angular/service-worker-builds#39e99a1c3783932ec90d86ab7fb2a7ccc033766c" } } diff --git a/yarn.lock b/yarn.lock index 41cc6e9eeb6c..8c76d17bdf7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,12 +26,13 @@ dependencies: tunnel "0.0.6" -"@ampproject/remapping@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.1.1.tgz#e220d0a5288b07afd6392a584d15921839e9da32" - integrity sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw== +"@ampproject/remapping@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.1.tgz#9a04a4aba7b8323b65498d9554a1bdd15d960296" + integrity sha512-EldHF4Ufj3NL9yCAmYrPzY+3/Yqrzxu24F4Mu4nRjK3w70AKYRmhuLwGZdA9JeoDsbIwkgGkbqUK2INuF582Og== dependencies: "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" "@ampproject/remapping@2.0.2", "@ampproject/remapping@^2.0.0": @@ -42,23 +43,23 @@ "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1302.0": - version "0.1302.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0.tgz#31a2e6f0c744c5076c85b6db71e31665d7daef55" - integrity sha512-1CmVYvxyfvK/khTcDJwwXibm/z4upM2j5SDpwuIdaLx21E4oQPmHn+U/quT/jE5VI1zfZi2vfvIaSXn9XQzMiQ== +"@angular-devkit/architect@0.1400.0-next.0": + version "0.1400.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.0.tgz#b3998f71f7132c2a89ade8ca6fa770585371f7a0" + integrity sha512-jzHzQwgvnMedZ6vcquTshGkO4kuRUS67dn+BCJVkJiMjHn8ev0jNGt6mo6D8BQlUNn5vtCDMXsPvVEFid5uFww== dependencies: - "@angular-devkit/core" "13.2.0" + "@angular-devkit/core" "14.0.0-next.0" rxjs "6.6.7" -"@angular-devkit/build-angular@13.2.0-rc.1": - version "13.2.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0-rc.1.tgz#d07eeec25c00c9ed025aa599263d98ad22d39f4a" - integrity sha512-kKElUuHAocImUQmYnlkmk/8UJh8eYw7GqvcfSxIcxJ8euLS2hnavmUCexxtlPsgWmwJTdwXDnRYVCmr4n8hQqA== +"@angular-devkit/build-angular@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.0.tgz#d986e47a6ba54d80b59e7255cb69451b63ff8e24" + integrity sha512-EEIwZShoORjSiyEVPjFDdpreSeXvM7+k2OBcdIn4RgVwd9cdzTGvYmom+c0TnzNvxaXTTUMBWLiukdSxQiE/2g== dependencies: - "@ampproject/remapping" "1.1.1" - "@angular-devkit/architect" "0.1302.0" - "@angular-devkit/build-webpack" "0.1302.0" - "@angular-devkit/core" "13.2.0" + "@ampproject/remapping" "2.0.1" + "@angular-devkit/architect" "0.1400.0-next.0" + "@angular-devkit/build-webpack" "0.1400.0-next.0" + "@angular-devkit/core" "14.0.0-next.0" "@babel/core" "7.16.12" "@babel/generator" "7.16.8" "@babel/helper-annotate-as-pure" "7.16.7" @@ -69,18 +70,17 @@ "@babel/runtime" "7.16.7" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "13.2.0" + "@ngtools/webpack" "14.0.0-next.0" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" cacache "15.3.0" - circular-dependency-plugin "5.2.2" - copy-webpack-plugin "10.2.1" - core-js "3.20.3" + copy-webpack-plugin "10.2.4" + core-js "3.21.0" critters "0.0.16" - css-loader "6.5.1" - esbuild-wasm "0.14.14" + css-loader "6.6.0" + esbuild-wasm "0.14.17" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" @@ -88,7 +88,7 @@ karma-source-map-support "1.4.0" less "4.1.2" less-loader "10.2.0" - license-webpack-plugin "4.0.0" + license-webpack-plugin "4.0.1" loader-utils "3.2.0" mini-css-extract-plugin "2.5.3" minimatch "3.0.4" @@ -96,14 +96,14 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.5" + postcss "8.4.6" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "7.2.3" + postcss-preset-env "7.3.0" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.49.0" + sass "1.49.7" sass-loader "12.4.0" semver "7.3.5" source-map-loader "3.0.1" @@ -114,26 +114,26 @@ text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.67.0" - webpack-dev-middleware "5.3.0" - webpack-dev-server "4.7.3" + webpack "5.68.0" + webpack-dev-middleware "5.3.1" + webpack-dev-server "4.7.4" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.14" + esbuild "0.14.17" -"@angular-devkit/build-webpack@0.1302.0": - version "0.1302.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1302.0.tgz#92e41035805fb99c1167fe2a9018a20e03025e76" - integrity sha512-x5BLdobF7c7j4W8frJuKM73ZYvPygjPN8vq1iKhsEraClqJG8cLiDwLEEFcrzIfmCHTX1o1o75sWC0FNln2LfQ== +"@angular-devkit/build-webpack@0.1400.0-next.0": + version "0.1400.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.0.tgz#1d25a7b5648ac7df9c8b07eef0012c8a943b1902" + integrity sha512-MOMOXgKFMmPIh9Vd4OgCxKbLzqWlamxnDY+h+1F3hBB+l1TSWFIMT/yLtExBKtBnXcFBjkRkcRFBmt8nAPebvA== dependencies: - "@angular-devkit/architect" "0.1302.0" + "@angular-devkit/architect" "0.1400.0-next.0" rxjs "6.6.7" -"@angular-devkit/core@13.2.0": - version "13.2.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.2.0.tgz#d7ee99ba40af70193a436a27ee1591a1ec754cd9" - integrity sha512-5+aV2W2QUazySMKusBuT2pi2qsXWpTHJG2x62mKGAy0lxzwG8l3if+WP3Uh85SQS+zqlHeKxEbmm9zNn8ZrzFg== +"@angular-devkit/core@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.0.tgz#e0ba5062c07bcf920646699ec07846e77c00379c" + integrity sha512-cC+/wIWfwhDIBLIgLGyEf/6H/oGsFVrKJ5cTzDJ6kW0w8ndbqH3gS0QSZzq1xw0ZNblB4KMTIn11Yq8uT1CJOg== dependencies: ajv "8.9.0" ajv-formats "2.1.1" @@ -142,10 +142,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.0.tgz#6cc7d7f3e4aa33db36afcf4b01967bcc016ecd28" - integrity sha512-VO2ln96bnZsd3PFWdNEK8tVBl8ES+INXFT4UD5+YPRgS7bF1GTtbT57Rm3trvYiQvVhs6NSTTZL+scB66NBvJA== +"@angular/animations@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.2.tgz#efa47ab4c19d018f6ade8975aa03a96b6e194812" + integrity sha512-vMbI47cDO4goTmFi1qh3o/0S3dh4SeVDfJSn3wy3HgtQQ3kT+CWTjYSQBisdPHb/9uFblzHDNVJG1Ch2C+FPvw== dependencies: tslib "^2.3.0" @@ -157,29 +157,28 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.0.tgz#0262440aaa17bc25554f430e138e7c1fb5a13132" - integrity sha512-4kgJDvHsMYtqjT2nxv0xDcn77ZyIg8dbTzPGJdoSC9QFRoG8+pl3xCpQMpFF6Q9DhvS+o6BTVN8EVuUT4Wi04g== +"@angular/cdk@14.0.0-next.1": + version "14.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.1.tgz#db2b68f689cea508d044378307080290d70a6ff8" + integrity sha512-lR5N7MaBZAMPDFEe40mY0NNl55X4ajlfJ3963S6pAf22EMWohuU7MdIy0rDbewwmGvSb8864TU+HqiYfk+d7Wg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.0.tgz#a7a39f398bbca9887995d348a5eba7f0b6d1d541" - integrity sha512-TOUbukUDa/j+xuMSLOLF6Vp08kUYfryP4b32ybF17Q+v8gRHjC5e/1Q3HwY7DEqW3JtCwKplBtLZf+89WKtVug== +"@angular/common@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.2.tgz#9935723d2d30b96c6892302ffa689ff3bbd640c3" + integrity sha512-pfsOmOgHAQvXiVGfoAXftJ7p0LJJL/lktzHY/mgz+QiR9WnB29ZJxYAh8VKPyO1r7H+DT2mySZyb3xigKMUDZw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.0.tgz#83b1591f2a38a02534919eaf3094b0e101e06abd" - integrity sha512-xDFPTX+sTajYnzzxFnOy3qs+ASqm4w+b+PxZP8CjWWfUQxr+3T4CYu0SnVLoFmGs9lieETstxENSENoJjNPi9w== +"@angular/compiler-cli@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.2.tgz#834b29abc38ae9b364ad534587db00144bb2df1e" + integrity sha512-AB/SaBGKF3F60KfP3XAAmS4/8ZfnSUwUTkYvShdv3r+RseTsTVO1PMOTsOH2lgBQGYVhkbStX5WLgQSaYTr9yQ== dependencies: "@babel/core" "^7.8.6" - canonical-path "1.0.0" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" @@ -190,17 +189,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.0.tgz#c0c1f7bbc2a7d102ed0ecd34638488c1a610d4fd" - integrity sha512-a4MO3J4rQlnEf4sgI0o6ckPFMcnRKpjocevZz6C8MsTVwfT6X00n0PARQVd8VFqGfepExCYVrlLkkjpl9Ysvfw== +"@angular/compiler@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.2.tgz#8324f09822fba697233a4c3bdedf9b4e5fbbb7a6" + integrity sha512-mWvTYmkY9RXvfgCVDGuNmsOlJ5N/fQygmRD7YnCrGhhz6kKwBWogt51Sp6CFkbwRoDPg0E2RWWeH2wo+HJbURg== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.0.tgz#675cbca9b9de7b008e89645173f258fcbc2c81e2" - integrity sha512-Y423mxlM3mxLWw78lyqavyioQxPgyWg5Cd5W7Ot/H/8//TwCrfhjSFY2edpKU5RssafKqpstMHtSvpNsBljkIg== +"@angular/core@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.2.tgz#0d2581e512f6713e0817347ed0bee7d352eb88cc" + integrity sha512-jkPH+GQs59MY8bugV/yP1w4jSMdR560nFy9RIY3V5v9jvVQHEc1id0l37rQwVnq3w0WiF0ns+YPquKLKWXifWw== dependencies: tslib "^2.3.0" @@ -211,14 +210,14 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#838437e8f6056f933f595890019824c9283e48c6": - version "0.0.0-371b650cc4294b677bad453df3cb9e4a49a0941c" - uid "838437e8f6056f933f595890019824c9283e48c6" - resolved "https://github.com/angular/dev-infra-private-builds.git#838437e8f6056f933f595890019824c9283e48c6" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#647c873bed9f9b9190f8441eea790a01ad0b2e92": + version "0.0.0-ea10bc11429093f71506927aac9da864ce775b4f" + uid "647c873bed9f9b9190f8441eea790a01ad0b2e92" + resolved "https://github.com/angular/dev-infra-private-builds.git#647c873bed9f9b9190f8441eea790a01ad0b2e92" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" - "@angular-devkit/build-angular" "13.2.0-rc.1" + "@angular-devkit/build-angular" "14.0.0-next.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/bazelisk" "^1.10.1" @@ -275,63 +274,63 @@ yaml "^1.10.0" yargs "^17.0.0" -"@angular/forms@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.0.tgz#540240a604554f7eae893edeed69aef2cb07b779" - integrity sha512-GFJSQ2sq2uG9rR+qSOjum9OgIHJhxukbU8hon74to6cHoP+0j70HNwajse4ONHS5jPfwGmMyolgLzyOASffCPg== +"@angular/forms@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.2.tgz#af82730abb2dc5edaf4ed83d3363ad3960b74bf9" + integrity sha512-sG355iWZHisbRrM2BySnJRvsB8QfMMrJvmSndK0ia2TG4raQrQFQxJmb5Q8RcCetaNUeohETPYiCncTxLkHrqQ== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.0.tgz#194155b4f933f187a37d0638312b9af131059af2" - integrity sha512-TXbciq4W9qr99pjV6HfbRePZNdfiRpRf1UagPiBcc5cNi5vQCsXFTrm4l3CCqkamRK8bctd2ZrnxXsHQb7R3xQ== +"@angular/localize@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.2.tgz#0bf16ec7bec6af2589bad038a6c4db0f8df55daa" + integrity sha512-EH8Rc93H827xyiPAPZBU/al1hR8ToTYzrahM1RvsAXS6LZfT48Mc24ru3Ivnvq43651qa6EZ3owvZOYnxw5XnA== dependencies: "@babel/core" "7.8.6" glob "7.2.0" yargs "^17.2.1" -"@angular/material@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.0.tgz#1303be1d8b327abf53c03a1e1489562b8e1a49d0" - integrity sha512-0IGjycsXzGIsX9AjGwaNWL2P2wHAOj55axIeQKognpjPIaSVx7hsqvLHGoVs0Z6B7lg2KXMKaGFSwffFda7F3A== +"@angular/material@14.0.0-next.1": + version "14.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.1.tgz#ac73ba42414eb19c9e4baa4283c1fedf13b4652b" + integrity sha512-TW8dKbcVLhMpjUqDAv4HA3WNwhZBEPbyiQVhthLHM9EY5pfZziB8NtYEz72q35EdJexgM+UOfNcadQWE4y2xCw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.0.tgz#bac47ec74d975118f8d09388c5edbdcaa323d76a" - integrity sha512-upUz9GsNPx+2PuSdyG9vZMGRTa5khvkCYbeUIhYpcN5nArTisKlzyg0F/tR8HOsLglPbx71Pjv26pK4B3BB5PQ== +"@angular/platform-browser-dynamic@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.2.tgz#d23de7c2129f850f8b39fa35abf764edef5ad814" + integrity sha512-1RPtpGoY4rgdIHWIKq8WHiPkgfLFqz69aQ5gb7NKHavvlNbSfGtWvPnTYjMNC6sSIt8l6jQPibkrWWXRgzyPbw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.0.tgz#25d5fb277ef08352afa08aafabf52cf2dc0e9090" - integrity sha512-HJvqquTrcvwV+he/6b5Ocl4tyh5zhpCmZZt7IdYOg51sMviLhfA6z216QKOL7pC5jpcZXtdR4XKrzHo+CBc44A== +"@angular/platform-browser@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.2.tgz#56ac31886d1ccc0c949e48877dd9c8445850524e" + integrity sha512-2q+MgS+rGjyuOlTaY888a9c5o+h66+WrsgxCjDnYm1OJANe/R6goBrRQqktMrpptEwoJ7mc46S/DEs5FYmh1fg== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.0.tgz#3d6cb840eb15d913cc3d9e493c212f565825a4b2" - integrity sha512-CawkVq3Sxt22yCa4Pbv5S++yz8KK78MmWZggDt3U4MIT2rcutbENw3eNXivi5iYvendLhZ57DC4Hex10oPUjwg== +"@angular/platform-server@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.2.tgz#1bb598a09a7959ce0dffafa44614df2eadf920e0" + integrity sha512-1DebzPC5h9bY2ncrnMghoqR6gcZp/MLZiS4kIDUmlAomWqCSPzi316K4GcTu4H+sD/HPXHRf2bQigX4U0K7/4g== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.0.tgz#98d57fee6cacd457571eba43fc8dd7d2b306c2e0" - integrity sha512-TcO0quOzS5qZt2ZSGKXCH/Qy2LZcC/jo9lfZ5M8oOueMPVZD6ReFHeoKEVKhLOLYFBiXaqwW81u3p+jKjbtyKg== +"@angular/router@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.2.tgz#89f48feaf9d21aeb640f5b1f076641aa3db2607c" + integrity sha512-UhkW3wwaGHRShvKZzZRbfSwsTlbLgqfhLU99fxMG+oJj6ZEtBaXrFhrXcac9QIuDUQxK9EA46KpJv0GVCdqnCA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.0.tgz#97b2c4ae37144c4ecc65359e3f68cd65a23a2160" - integrity sha512-3Gtaa4VpjDL0go/fl3EDH0szU6cD5YQIM7ideAqDos9zJBMigt4J+6e1w3LVVV+APpKb2U+1eLuarUIubi8xcw== +"@angular/service-worker@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.2.tgz#7db7f9c8e20ce9760afb5a0c25026289d2b57e4e" + integrity sha512-94JpcO8GjAd2NQvWTzu/EIL/FIQIhfQSl9c29BtxffRdxZUSqVD6JePv9nK08H9ryLEcCWpeYIbZn3him50r8A== dependencies: tslib "^2.3.0" @@ -1600,10 +1599,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@13.2.0": - version "13.2.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.2.0.tgz#9e1b9f66007033cf1fd58345b364773ce090cb10" - integrity sha512-dQKPsEsST/HSBYtC75E0ARI1zVsW65h/NYzcAwtOd8DKFmlj8EZMqKC4KwcJ/EKlwR1PN12nBZhuQ1HUVH8Vtg== +"@ngtools/webpack@14.0.0-next.0": + version "14.0.0-next.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.0.tgz#45527b75ae29525a26c59ff4fb2008c6b687aa0e" + integrity sha512-fmNXQgiR9QhtWoiss+1/eYiDZhs2xv6eMBubargv6mxymMXQpt9dskCvrHU3aOPo68y0SZz/Yg71Fhh2jqW5Tw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2964,7 +2963,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0: +ajv@8.10.0, ajv@^8.0.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -2974,7 +2973,7 @@ ajv@8.10.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.9.0, ajv@^8.0.0, ajv@^8.8.0, ajv@^8.9.0: +ajv@8.9.0, ajv@^8.8.0, ajv@^8.9.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== @@ -3701,16 +3700,11 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001299: +caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: version "1.0.30001304" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz#38af55ed3fc8220cb13e35e6e7309c8c65a05559" integrity sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ== -canonical-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" - integrity sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg== - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3779,11 +3773,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -circular-dependency-plugin@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" - integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== - clang-format@^1.4.0: version "1.6.0" resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.6.0.tgz#48fac4387712aeeae0f47b5d72f639f3fd95f4b6" @@ -4085,18 +4074,6 @@ copy-anything@^2.0.1: dependencies: is-what "^3.14.1" -copy-webpack-plugin@10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz#115a41f913070ac236a1b576066204cbf35341a1" - integrity sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^12.0.2" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - copy-webpack-plugin@10.2.4: version "10.2.4" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" @@ -4117,11 +4094,6 @@ core-js-compat@^3.20.0, core-js-compat@^3.20.2: browserslist "^4.19.1" semver "7.0.0" -core-js@3.20.3: - version "3.20.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" - integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== - core-js@3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.0.tgz#f479dbfc3dffb035a0827602dd056839a774aa71" @@ -4196,20 +4168,6 @@ css-has-pseudo@^3.0.3: dependencies: postcss-selector-parser "^6.0.8" -css-loader@6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" - integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - semver "^7.3.5" - css-loader@6.6.0: version "6.6.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.6.0.tgz#c792ad5510bd1712618b49381bd0310574fafbd3" @@ -4224,7 +4182,7 @@ css-loader@6.6.0: postcss-value-parser "^4.2.0" semver "^7.3.5" -css-prefers-color-scheme@^6.0.2, css-prefers-color-scheme@^6.0.3: +css-prefers-color-scheme@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== @@ -4254,11 +4212,6 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.1.0.tgz#ec728d5f5c0811debd0820cbebda505d43003400" - integrity sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw== - cssdb@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.1.0.tgz#75d63b1257e33af72ffdfec65f0f342189e4ab37" @@ -4943,235 +4896,235 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" - integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== - esbuild-android-arm64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.16.tgz#75dceceffd05fd8127e3590298bf057e04d20602" integrity sha512-9qRiUXiV0qIa4Dfv+GLKsk/HHOq3U9qh8yZK9iX0awlzLPFb38NJrNTGtb/TeI6AyyZqsGgwLm/JeJ1UtEN9Aw== +esbuild-android-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" + integrity sha512-y7EJm8ADC9qKbo/dJ2zBXwNdIILJ76tTv7JDGvOkbLT8HJXIsgbpa0NJk7iFhyvP4GpsYvXTbvEQNn0DhyBhLA== + esbuild-android-arm64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz#027a1cd57e57c6219341e116c4ac41a9952d69d1" integrity sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg== -esbuild-darwin-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" - integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== - esbuild-darwin-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.16.tgz#75966d579e3b5d2ec3ef932055022bc2aa2ffcda" integrity sha512-1Xa86DpTJFRffA7go0pqUdC0ggxxGxjsrnrvA2nHBVHNf9Ix/cgGuPfxZwf3fRZxDDAT2RdqF5SRZzLYvUCtZQ== +esbuild-darwin-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" + integrity sha512-V2JAP8yyVbW6qR4SVXsEDqRicYM0x5niUuB05IFiE5itPI45k8j2dA2l+DtirR2SGXr+LEqgX347+2VA6eyTiA== + esbuild-darwin-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz#a219c50aa98b5bc08d7ce3677f5bae4b8aa5101b" integrity sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg== -esbuild-darwin-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" - integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== - esbuild-darwin-arm64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.16.tgz#99be1261815ad2bccbd8d63e9a58ae3239365bb6" integrity sha512-a0Tp0tec/s5hYT6OiJ2zvfH/6IfXFCH406yqFfXe5u8Nfo6l6IG33L7nqCYCEPnBLF7oYfZk6Re0VDwpgK18kQ== +esbuild-darwin-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" + integrity sha512-ENkSKpjF4SImyA2TdHhKiZqtYc1DkMykICe1KSBw0YNF1sentjFI6wu+CRiYMpC7REf/3TQXoems2XPqIqDMlQ== + esbuild-darwin-arm64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz#eb2d17d33c5991c183c99843698182bb702eb592" integrity sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ== -esbuild-freebsd-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" - integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== - esbuild-freebsd-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.16.tgz#ac7377802b362a73857907781d54633d5b61344a" integrity sha512-FqEdOphRS5kJ8MFqQ21Y0yducmwcFHmpkceLkup1kpsGChr3PGO7DfzXmF5fECNnMxRpk/jgk7e6nV4zXTau/A== +esbuild-freebsd-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" + integrity sha512-2i0nTNJM8ftNTvtR00vdqkru8XpHwAbkR2MBLoK2IDSzjsLStwCj+mxf6v83eVM9Abe3QA8xP+irqOdBlwDQ2g== + esbuild-freebsd-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz#de06b6ce361bdf51fb66e59b220f67c4124cc728" integrity sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A== -esbuild-freebsd-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" - integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== - esbuild-freebsd-arm64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.16.tgz#e99c43e5079e4744447882beb01769b2bb0e7d2f" integrity sha512-4Au4zR0//Df1v6FuWJEMZFRzaF69FvxHgSmKjikq7x6Ect+h4TbJKkblC3eDrfTA8L6l5bB1vhh0dbKq4zBy5Q== +esbuild-freebsd-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" + integrity sha512-QOmRi1n+uly2G7BbMbHb86YiFA5aM7B2T96A6OF1VG57LNwXwy8LPVM0PVjl7f9cV3pE3fy3VtXPJHJo8XggTA== + esbuild-freebsd-arm64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz#59bb55cd6ac1b2b3c43536c067d8356f4ae7e310" integrity sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA== -esbuild-linux-32@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" - integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== - esbuild-linux-32@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.16.tgz#0d346977f00a93459c31e180d25fb6d36ba21aa8" integrity sha512-HundAiQCa0ut7PXq3lmRZY7H3/OYh27wkJ97S7jjCgWmcd5To6Bs8UBVB7I4Qi9lNk/Yty0INnqq9on1WR8JUA== +esbuild-linux-32@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" + integrity sha512-qG5NDk7FHHUVw01rjHESON0HvigF2X80b645TUlgTKsWRlrbzzHhMCmQguA01O5PiCimKnyoxti8aJIFNHpQnQ== + esbuild-linux-32@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz#ff68f7ec7c8b8c7dddab4d6e65f1a1d0ff3ab0b9" integrity sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ== -esbuild-linux-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" - integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== - esbuild-linux-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.16.tgz#2c1f2222fa888397530ef625930f74b13c116f7c" integrity sha512-fG8MgVmQknIuYCHFOq+9iKLyygjPun+VkNH9ZIdRQrSzb3CFdEkNm+Suq5w8W+WjA/P0OIdrQ/mXXCoHCQTWSQ== +esbuild-linux-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" + integrity sha512-De8OcmNvfNyFfQRLWbfuZqau6NpYBJxNTLP7Ls/PqQcw0HAwfaYThutY8ozHpPbKFPa7wgqabXlIC4NVSWT0/A== + esbuild-linux-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz#d4083d9833580090452a095cd2216100d86f3c7a" integrity sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg== -esbuild-linux-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" - integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== - esbuild-linux-arm64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.16.tgz#666bf0853184684021f8f5c1781f1e898a35a5b0" integrity sha512-7WF1rHsPVXhme2B6ceZZABxFwCiZfMRIJO7yRiLahIdDkwfhSTR6M0a6OwO/NsLJH9fax5GdwBOIBoG5Hkz4gA== +esbuild-linux-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" + integrity sha512-WDEOD/YRA4J1lxhETKZff3gRxGYqqZEiVwIOqNfvCh2YcwWU2y6UmNGZsxcuKk18wot4dAXCXQyNZgBkVUTCLw== + esbuild-linux-arm64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz#8ce21e188ab9fcdb512f4ada9a637014c1294bec" integrity sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg== -esbuild-linux-arm@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" - integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== - esbuild-linux-arm@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.16.tgz#460ff025676544988ff3b4c2ca265f0bcd203baf" integrity sha512-0NDVeuvWska0d4Rd8R3+lWEyKaIbAxDuRAeeU6a2xaUXrTG2IPhGNLWc4NbVMbnkGqRqKB4PLdk/YaTUZjKFHQ== +esbuild-linux-arm@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" + integrity sha512-ZwsgFUk3gR2pEMJdh5z4Ds18fvGETgElPqmNdx1NtZTCOVlFMAwFB5u/tOR2FrXbMFv+LkGnNxPDh48PYPDz9A== + esbuild-linux-arm@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz#a5e1d684c451f379b1dfef7b5a2dcad84cce3f79" integrity sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA== -esbuild-linux-mips64le@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" - integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== - esbuild-linux-mips64le@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.16.tgz#9ae987cbc24a87a0a9ca2a3e9feec0789727460f" integrity sha512-RLNaTRdcQ81QckeIjbk1hCrgmrL6VoZBsYT8ak9ObNQzXEJNMlxOBixaF6rhW8UUYRpTpFuoYHeNya8xY884/A== +esbuild-linux-mips64le@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" + integrity sha512-Lf4X9NB7r6imzp/11TaGs4kWL0DUn1JxI9gAAKotnKh6T8Y/0sLvZSvQS8WvSZcr0V8RRCrRZwiQqjOALUU/9g== + esbuild-linux-mips64le@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz#c3890f178745a9c65bad64322be2b3611c240041" integrity sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ== -esbuild-linux-ppc64le@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" - integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== - esbuild-linux-ppc64le@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.16.tgz#8eb7c77aa4cdca994ad6b89f6024ae2317d3bb98" integrity sha512-ky0Ii2Jmyc00FzGT2audU0UmnBVrVevYmKW10DXLPcHGhbhzJdFRemXLvvzhDM8WD9IMJK3uV6ifJzkKrv8IQA== +esbuild-linux-ppc64le@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" + integrity sha512-aExhxbrK7/Mh9FArdiC9MbvrQz2bGCDI8cBALKJbmhKg0h7LNt6y1E1S9GGBZ/ZXkHDvV9FFVrXXZKFVU5Qpiw== + esbuild-linux-ppc64le@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz#a355f515ca84839f5301f8ef745a2b329105e232" integrity sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw== -esbuild-linux-s390x@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" - integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== - esbuild-linux-s390x@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.16.tgz#248de950b82064931872d8bad84560187da1efab" integrity sha512-DuW9MPGJAzUUBPI/olMkMMepCasTbPN1Xr2cKZZEEDIibcdRnuFrMYVk3G3I8/Qb6SZBNTSnZMAyhvYFrwAkqw== +esbuild-linux-s390x@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" + integrity sha512-b0T20rNcS7POi5YLw5dFlsiC+riobR5IfppQGn5NWer6QiIkdL1vOx9eC9CUD3z1itpkLboRAZYieZfKfhCA2Q== + esbuild-linux-s390x@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz#81721c22387912778c67495d0a34527f7a2cde66" integrity sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg== -esbuild-netbsd-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" - integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== - esbuild-netbsd-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.16.tgz#330e546b55fb3665618a594dae6222faecc08ec4" integrity sha512-l8+mnz8iVsV0iL5v5JCuP0UTv2LwO1ORdJ/scMkGUl8WrC6cBmUrrHhg+pwREqjbD8TxjfUJVM1Vvt5E8SaTsg== +esbuild-netbsd-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" + integrity sha512-pFgTaAa2JF18nqNfCND9wOu1jbZ/mbDSaMxUp5fTkLlofyHhXeb5aChgXUkeipty2Pgq0OwOnxjHmiAxMI7N4g== + esbuild-netbsd-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz#eaee109d527a58b582f8fa933d9cadf8840758c2" integrity sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w== -esbuild-openbsd-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" - integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== - esbuild-openbsd-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.16.tgz#cca41262619dfd6c2b7ea4f128b14ac02d79028d" integrity sha512-8SbZNAV902FmcGnc+j86HWY8PyTD1H7T39RsPXXS5IC1psi3yzFr2d8NoOxb6cQd5XUVHmHT1naJsbtEAyKIPA== +esbuild-openbsd-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" + integrity sha512-K5+plb6gsAfBcFqB0EG4KvLbgBKslVAfEyJggicwt/QoDwQGJAzao4M6zOA4PG7LlXOwWSqv7VmSFbH+b6DyKw== + esbuild-openbsd-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz#96a42615f5548529b7bb32d024bb9c6fb542778c" integrity sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg== -esbuild-sunos-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" - integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== - esbuild-sunos-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.16.tgz#bb03853049171e6441a0fcc06f3ce04a693f86ba" integrity sha512-pMhe4uOaGjA/5YgeNoB0PRZi1V73D8sx876uFzuAxaZcYzLA5BsSbQeEccH182X6cBybE4Pm79kYedTSGOfwog== +esbuild-sunos-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" + integrity sha512-o1FINkbHRi9JB1YteOSXZdkDOmVUbmnCxRmTLkHvk8pfCFNpv/5/7ktt95teYKbEiJna2dEt3M4ckJ/+UVnW+w== + esbuild-sunos-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz#869723d73a5f35ba2a4a6c043694d952bd4f831b" integrity sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg== -esbuild-wasm@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" - integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== +esbuild-wasm@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" + integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== esbuild-wasm@0.14.18: version "0.14.18" @@ -5183,74 +5136,74 @@ esbuild-wasm@^0.14.14: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.16.tgz#6c66d3877c83040c84dfaf8de7909ca520a9af1b" integrity sha512-0TnQyxKeNqdnKYEQwf475WkthvVL1aK9p/WaZsHY56Ek1jaxDuciEKRyqZhNZqWvBdjbkaFC46O19+HkIoppJQ== -esbuild-windows-32@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" - integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== - esbuild-windows-32@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.16.tgz#ee5bbf56a857afc0196a1b02ef047ec3747eb646" integrity sha512-M68/EFCgji0DI+DgULx2ytUUSxwwODJDpiVc0YsiWKdyB4umKTu1GGxFfdZhXrWtPxB4aZFoIgJyDhsFxnHC4g== +esbuild-windows-32@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" + integrity sha512-Qutilz0I7OADWBtWrC/FD+2O/TNAkhwbZ+wIns7kF87lxIMtmqpBt3KnMk1e4F47aTrZRr0oH55Zhztd7m2PAA== + esbuild-windows-32@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz#197c8833ed0f6a82055ab63861777749d0ce95c0" integrity sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g== -esbuild-windows-64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" - integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== - esbuild-windows-64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.16.tgz#9c030666fe881805677cc154090f491c71bac011" integrity sha512-rmSal1Co749CXSNyFJ62J5Fz/nZiFWhwMfYN9SwZazutKZ6s0QDRIhnupa93bJmzMzz4C2dqUV/VL1tqOI3y9g== +esbuild-windows-64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" + integrity sha512-b21/oRV+PHrav0HkRpKjbM2yNRVe34gAfbdMppbZFea416wa8SrjcmVfSd7n4jgqoTQG0xe+MGgOpwXtjiB3DQ== + esbuild-windows-64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz#569832a99d87fc931a081fe7761c100578275be0" integrity sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw== -esbuild-windows-arm64@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" - integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== - esbuild-windows-arm64@0.14.16: version "0.14.16" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.16.tgz#98f97821148f5b74de7b427109dee106b5350221" integrity sha512-VMfEf+MDgO+rulAuSeu3HNebSHa1TDn0lJp+QRk7E2WVg9OCSwuXUEkSbqIbkif3ZjASy7h9sTCGyHcqgKQTrg== +esbuild-windows-arm64@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" + integrity sha512-4HN9E1idllewYvptcrrdfTA6DIWgg11kK0Zrv6yjxstJZLJeKxfilGBEaksLGs4Pst2rAYMx3H2vbYq7AWLQNA== + esbuild-windows-arm64@0.14.18: version "0.14.18" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz#c1991848fca7b051d1d036d0723406da9696105d" integrity sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA== -esbuild@0.14.14: - version "0.14.14" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" - integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== +esbuild@0.14.17: + version "0.14.17" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.17.tgz#6a634e56447aa0e90b34c42091d472d802d399e5" + integrity sha512-JLgyC6Uv31mv9T9Mm2xF1LntUMCNBSzvg2n32d8cTKZMwFr1wmMFY2FkVum98TSoEsDff0cR+Aj49H2sbBcjKQ== optionalDependencies: - esbuild-android-arm64 "0.14.14" - esbuild-darwin-64 "0.14.14" - esbuild-darwin-arm64 "0.14.14" - esbuild-freebsd-64 "0.14.14" - esbuild-freebsd-arm64 "0.14.14" - esbuild-linux-32 "0.14.14" - esbuild-linux-64 "0.14.14" - esbuild-linux-arm "0.14.14" - esbuild-linux-arm64 "0.14.14" - esbuild-linux-mips64le "0.14.14" - esbuild-linux-ppc64le "0.14.14" - esbuild-linux-s390x "0.14.14" - esbuild-netbsd-64 "0.14.14" - esbuild-openbsd-64 "0.14.14" - esbuild-sunos-64 "0.14.14" - esbuild-windows-32 "0.14.14" - esbuild-windows-64 "0.14.14" - esbuild-windows-arm64 "0.14.14" + esbuild-android-arm64 "0.14.17" + esbuild-darwin-64 "0.14.17" + esbuild-darwin-arm64 "0.14.17" + esbuild-freebsd-64 "0.14.17" + esbuild-freebsd-arm64 "0.14.17" + esbuild-linux-32 "0.14.17" + esbuild-linux-64 "0.14.17" + esbuild-linux-arm "0.14.17" + esbuild-linux-arm64 "0.14.17" + esbuild-linux-mips64le "0.14.17" + esbuild-linux-ppc64le "0.14.17" + esbuild-linux-s390x "0.14.17" + esbuild-netbsd-64 "0.14.17" + esbuild-openbsd-64 "0.14.17" + esbuild-sunos-64 "0.14.17" + esbuild-windows-32 "0.14.17" + esbuild-windows-64 "0.14.17" + esbuild-windows-arm64 "0.14.17" esbuild@0.14.18: version "0.14.18" @@ -7416,13 +7369,6 @@ license-checker@^25.0.0: spdx-satisfies "^4.0.0" treeify "^1.1.0" -license-webpack-plugin@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.0.tgz#11cf6ac96559f4a987cf55d3d2a33f295ae8f13b" - integrity sha512-b9iMrROrw2fTOJBZ57h0xJfT5/1Cxg4ucYbtpWoukv4Awb2TFPfDDFVHNM8w6SYQpVfB13a5tQJxgGamqwrsyw== - dependencies: - webpack-sources "^3.0.0" - license-webpack-plugin@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.1.tgz#957930fa595f5b65aa0b21bfd2c19644486f3d9f" @@ -7753,7 +7699,7 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.2.2, memfs@^3.4.1: +memfs@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== @@ -8925,7 +8871,7 @@ postcss-custom-media@^8.0.0: resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^12.1.2, postcss-custom-properties@^12.1.4: +postcss-custom-properties@^12.1.4: version "12.1.4" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.4.tgz#e3d8a8000f28094453b836dff5132385f2862285" integrity sha512-i6AytuTCoDLJkWN/MtAIGriJz3j7UX6bV7Z5t+KgFz+dwZS15/mlTJY1S0kRizlk6ba0V8u8hN50Fz5Nm7tdZw== @@ -8984,7 +8930,7 @@ postcss-gap-properties@^3.0.2: resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.2.tgz#562fbf43a6a721565b3ca0e01008690991d2f726" integrity sha512-EaMy/pbxtQnKDsnbEjdqlkCkROTQZzolcLKgIE+3b7EuJfJydH55cZeHfm+MtIezXRqhR80VKgaztO/vHq94Fw== -postcss-image-set-function@^4.0.4, postcss-image-set-function@^4.0.5: +postcss-image-set-function@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.5.tgz#8cb3a971507e2c00d5532658af62529c89f0ecc6" integrity sha512-D4jXzlypkJ6BiSoUGazrRlR+GF3SED+BeiRDzOmuinDKdAn/Wuu8KtEGa5Z4pg4kxyeSMBywMgNt2+Yi/TZPPw== @@ -9088,49 +9034,10 @@ postcss-place@^7.0.3: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz#01b9b6eea0ff16c27a3d514f10105d56363428a6" - integrity sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA== - dependencies: - autoprefixer "^10.4.2" - browserslist "^4.19.1" - caniuse-lite "^1.0.30001299" - css-blank-pseudo "^3.0.2" - css-has-pseudo "^3.0.3" - css-prefers-color-scheme "^6.0.2" - cssdb "^5.0.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-color-functional-notation "^4.2.1" - postcss-color-hex-alpha "^8.0.2" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.2" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.3" - postcss-double-position-gradients "^3.0.4" - postcss-env-function "^4.0.4" - postcss-focus-visible "^6.0.3" - postcss-focus-within "^5.0.3" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.2" - postcss-image-set-function "^4.0.4" - postcss-initial "^4.0.1" - postcss-lab-function "^4.0.3" - postcss-logical "^5.0.3" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.2" - postcss-overflow-shorthand "^3.0.2" - postcss-page-break "^3.0.4" - postcss-place "^7.0.3" - postcss-pseudo-class-any-link "^7.0.2" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - -postcss-preset-env@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" - integrity sha512-x7fNsJxfkY60P4FUNwhJUOfXBFfnObd2EcUYY97sXZ0XRLgmAE65es9EFIYHq1rAk7X3LMfbG+L9wYgkrNsq5Q== +postcss-preset-env@7.3.0, postcss-preset-env@^7.2.3: + version "7.3.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" + integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== dependencies: "@csstools/postcss-font-format-keywords" "^1.0.0" "@csstools/postcss-hwb-function" "^1.0.0" @@ -9163,7 +9070,7 @@ postcss-preset-env@7.3.1: postcss-logical "^5.0.3" postcss-media-minmax "^5.0.0" postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.2" + postcss-opacity-percentage "^1.1.1" postcss-overflow-shorthand "^3.0.2" postcss-page-break "^3.0.4" postcss-place "^7.0.3" @@ -9171,10 +9078,10 @@ postcss-preset-env@7.3.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@^7.2.3: - version "7.3.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" - integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== +postcss-preset-env@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" + integrity sha512-x7fNsJxfkY60P4FUNwhJUOfXBFfnObd2EcUYY97sXZ0XRLgmAE65es9EFIYHq1rAk7X3LMfbG+L9wYgkrNsq5Q== dependencies: "@csstools/postcss-font-format-keywords" "^1.0.0" "@csstools/postcss-hwb-function" "^1.0.0" @@ -9207,7 +9114,7 @@ postcss-preset-env@^7.2.3: postcss-logical "^5.0.3" postcss-media-minmax "^5.0.0" postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.1" + postcss-opacity-percentage "^1.1.2" postcss-overflow-shorthand "^3.0.2" postcss-page-break "^3.0.4" postcss-place "^7.0.3" @@ -9215,7 +9122,7 @@ postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-pseudo-class-any-link@^7.0.2, postcss-pseudo-class-any-link@^7.1.0: +postcss-pseudo-class-any-link@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.0.tgz#88eb02b9529c5458ffebc68df3760534b6c9fbbf" integrity sha512-l7sAkLmm3bYq8wt8/0r/dn6o9mVCPq7MOiNrb/Xi2zBlw/+w1V2jKFo/3IijKHfJ92SwDqkVLPwQfGO3xxUdAw== @@ -9265,15 +9172,6 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.5, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.3.7: - version "8.4.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" - integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - postcss@8.4.6, postcss@^8.4.5: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" @@ -9283,6 +9181,15 @@ postcss@8.4.6, postcss@^8.4.5: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.2.14, postcss@^8.3.7: + version "8.4.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" + integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^1.0.1" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -10022,15 +9929,6 @@ sass-loader@12.4.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.0: - version "1.49.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" - integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.49.7, sass@^1.49.0: version "1.49.7" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" @@ -11630,17 +11528,6 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz#8fc02dba6e72e1d373eca361623d84610f27be7c" - integrity sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg== - dependencies: - colorette "^2.0.10" - memfs "^3.2.2" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" @@ -11652,41 +11539,6 @@ webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.7.3: - version "4.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz#4e995b141ff51fa499906eebc7906f6925d0beaa" - integrity sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/serve-index" "^1.9.1" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.2.2" - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.2" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^4.0.0" - selfsigned "^2.0.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - webpack-dev-middleware "^5.3.0" - ws "^8.1.0" - webpack-dev-server@4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" @@ -11743,36 +11595,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.67.0: - version "5.67.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" - integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.68.0: version "5.68.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.68.0.tgz#a653a58ed44280062e47257f260117e4be90d560" @@ -11931,7 +11753,7 @@ ws@8.2.3, ws@~8.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== -ws@>=7.4.6, ws@^8.1.0, ws@^8.4.2: +ws@>=7.4.6, ws@^8.4.2: version "8.4.2" resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== From 7ce50002a20373d494f08bfb36e7773b39263dba Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 8 Feb 2022 11:35:19 +0100 Subject: [PATCH 0075/1388] fix(@angular-devkit/build-angular): block Karma from starting until build is complete This change is inspired by https://github.com/karma-runner/karma-chrome-launcher/issues/154#issuecomment-986661937 which blocks Karma from launching the browsers until the compilation is complete. This is needed especially for large applications when using code-coverage where otherwise the users would have to fine-tune several Karma timeouts such as `captureTimeout` for various environments. Closes #22495 --- .../src/webpack/plugins/karma/karma.ts | 41 ++++++++++++------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts index 892d61e30802..8feb3c4415ec 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts @@ -169,6 +169,12 @@ const init: any = (config: any, emitter: any) => { compiler.hooks.watchRun.tapAsync('karma', (_: any, callback: () => void) => handler(callback)); compiler.hooks.run.tapAsync('karma', (_: any, callback: () => void) => handler(callback)); + webpackMiddleware = webpackDevMiddleware(compiler, webpackMiddlewareConfig); + emitter.on('exit', (done: any) => { + webpackMiddleware.close(); + done(); + }); + function unblock() { isBlocked = false; blocked.forEach((cb) => cb()); @@ -176,22 +182,29 @@ const init: any = (config: any, emitter: any) => { } let lastCompilationHash: string | undefined; - compiler.hooks.done.tap('karma', (stats) => { - if (stats.hasErrors()) { - lastCompilationHash = undefined; - } else if (stats.hash != lastCompilationHash) { - // Refresh karma only when there are no webpack errors, and if the compilation changed. - lastCompilationHash = stats.hash; - emitter.refreshFiles(); - } - unblock(); - }); + let isFirstRun = true; + + return new Promise((resolve) => { + compiler.hooks.done.tap('karma', (stats) => { + if (isFirstRun) { + // This is needed to block Karma from launching browsers before Webpack writes the assets in memory. + // See the below: + // https://github.com/karma-runner/karma-chrome-launcher/issues/154#issuecomment-986661937 + // https://github.com/angular/angular-cli/issues/22495 + isFirstRun = false; + resolve(); + } - webpackMiddleware = webpackDevMiddleware(compiler, webpackMiddlewareConfig); + if (stats.hasErrors()) { + lastCompilationHash = undefined; + } else if (stats.hash != lastCompilationHash) { + // Refresh karma only when there are no webpack errors, and if the compilation changed. + lastCompilationHash = stats.hash; + emitter.refreshFiles(); + } - emitter.on('exit', (done: any) => { - webpackMiddleware.close(); - done(); + unblock(); + }); }); }; From 61898a9a63a84e2f7dd12c6b1cbe94edb71dfa1c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Feb 2022 13:08:08 +0000 Subject: [PATCH 0076/1388] build: update all non-major dependencies --- package.json | 14 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 339 ++++++++++-------- 3 files changed, 194 insertions(+), 167 deletions(-) diff --git a/package.json b/package.json index 41aaafcfbce4..445746b8b315 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "**/ajv-formats/ajv": "8.10.0" }, "devDependencies": { - "@ampproject/remapping": "2.0.2", + "@ampproject/remapping": "2.1.0", "@angular/animations": "14.0.0-next.2", "@angular/cdk": "14.0.0-next.1", "@angular/common": "14.0.0-next.2", @@ -116,8 +116,8 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@typescript-eslint/eslint-plugin": "5.10.2", - "@typescript-eslint/parser": "5.10.2", + "@typescript-eslint/eslint-plugin": "5.11.0", + "@typescript-eslint/parser": "5.11.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", "ajv-formats": "2.1.1", @@ -135,8 +135,8 @@ "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.18", - "esbuild-wasm": "0.14.18", + "esbuild": "0.14.20", + "esbuild-wasm": "0.14.20", "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", @@ -170,7 +170,7 @@ "loader-utils": "3.2.0", "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", - "minimatch": "3.0.4", + "minimatch": "3.0.5", "minimist": "^1.2.0", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", @@ -189,7 +189,7 @@ "postcss-preset-env": "7.3.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.1.3", + "puppeteer": "13.2.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5ca03cd15215..02415865c66e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,7 +6,7 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "2.0.2", + "@ampproject/remapping": "2.1.0", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", @@ -30,7 +30,7 @@ "core-js": "3.21.0", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.18", + "esbuild-wasm": "0.14.20", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -41,7 +41,7 @@ "license-webpack-plugin": "4.0.1", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.5.3", - "minimatch": "3.0.4", + "minimatch": "3.0.5", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.18" + "esbuild": "0.14.20" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index 8c76d17bdf7b..45addb74b132 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,7 +35,14 @@ "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" -"@ampproject/remapping@2.0.2", "@ampproject/remapping@^2.0.0": +"@ampproject/remapping@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" + integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + +"@ampproject/remapping@^2.0.0": version "2.0.2" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.2.tgz#f3d9760bf30588c51408dbe7c05ff2bb13069307" integrity sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA== @@ -1541,6 +1548,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.10" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" + integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== + "@jridgewell/trace-mapping@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.2.tgz#77510cc2f6f3b92e78c78de216d42de631b1d7fb" @@ -1549,6 +1561,14 @@ "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz#e051581782a770c30ba219634f2019241c5d3cde" + integrity sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@mark.probst/unicode-properties@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@mark.probst/unicode-properties/-/unicode-properties-1.1.0.tgz#5caafeab4737df93163d6d288007df33f9939b80" @@ -2557,14 +2577,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz#f8c1d59fc37bd6d9d11c97267fdfe722c4777152" - integrity sha512-4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q== +"@typescript-eslint/eslint-plugin@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.11.0.tgz#3b866371d8d75c70f9b81535e7f7d3aa26527c7a" + integrity sha512-HJh33bgzXe6jGRocOj4FmefD7hRY4itgjzOrSs3JPrTNXsX7j5+nQPciAUj/1nZtwo2kAc3C75jZO+T23gzSGw== dependencies: - "@typescript-eslint/scope-manager" "5.10.2" - "@typescript-eslint/type-utils" "5.10.2" - "@typescript-eslint/utils" "5.10.2" + "@typescript-eslint/scope-manager" "5.11.0" + "@typescript-eslint/type-utils" "5.11.0" + "@typescript-eslint/utils" "5.11.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2572,69 +2592,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.2.tgz#b6076d27cc5499ce3f2c625f5ccde946ecb7db9a" - integrity sha512-JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg== +"@typescript-eslint/parser@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.11.0.tgz#b4fcaf65513f9b34bdcbffdda055724a5efb7e04" + integrity sha512-x0DCjetHZYBRovJdr3U0zG9OOdNXUaFLJ82ehr1AlkArljJuwEsgnud+Q7umlGDFLFrs8tU8ybQDFocp/eX8mQ== dependencies: - "@typescript-eslint/scope-manager" "5.10.2" - "@typescript-eslint/types" "5.10.2" - "@typescript-eslint/typescript-estree" "5.10.2" + "@typescript-eslint/scope-manager" "5.11.0" + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/typescript-estree" "5.11.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.2.tgz#92c0bc935ec00f3d8638cdffb3d0e70c9b879639" - integrity sha512-39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw== +"@typescript-eslint/scope-manager@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.11.0.tgz#f5aef83ff253f457ecbee5f46f762298f0101e4b" + integrity sha512-z+K4LlahDFVMww20t/0zcA7gq/NgOawaLuxgqGRVKS0PiZlCTIUtX0EJbC0BK1JtR4CelmkPK67zuCgpdlF4EA== dependencies: - "@typescript-eslint/types" "5.10.2" - "@typescript-eslint/visitor-keys" "5.10.2" + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/visitor-keys" "5.11.0" -"@typescript-eslint/type-utils@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.2.tgz#ad5acdf98a7d2ab030bea81f17da457519101ceb" - integrity sha512-uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw== +"@typescript-eslint/type-utils@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.11.0.tgz#58be0ba73d1f6ef8983d79f7f0bc2209b253fefe" + integrity sha512-wDqdsYO6ofLaD4DsGZ0jGwxp4HrzD2YKulpEZXmgN3xo4BHJwf7kq49JTRpV0Gx6bxkSUmc9s0EIK1xPbFFpIA== dependencies: - "@typescript-eslint/utils" "5.10.2" + "@typescript-eslint/utils" "5.11.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.2.tgz#604d15d795c4601fffba6ecb4587ff9fdec68ce8" - integrity sha512-Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w== +"@typescript-eslint/types@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.11.0.tgz#ba345818a2540fdf2755c804dc2158517ab61188" + integrity sha512-cxgBFGSRCoBEhvSVLkKw39+kMzUKHlJGVwwMbPcTZX3qEhuXhrjwaZXWMxVfxDgyMm+b5Q5b29Llo2yow8Y7xQ== -"@typescript-eslint/typescript-estree@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz#810906056cd3ddcb35aa333fdbbef3713b0fe4a7" - integrity sha512-WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ== +"@typescript-eslint/typescript-estree@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.11.0.tgz#53f9e09b88368191e52020af77c312a4777ffa43" + integrity sha512-yVH9hKIv3ZN3lw8m/Jy5I4oXO4ZBMqijcXCdA4mY8ull6TPTAoQnKKrcZ0HDXg7Bsl0Unwwx7jcXMuNZc0m4lg== dependencies: - "@typescript-eslint/types" "5.10.2" - "@typescript-eslint/visitor-keys" "5.10.2" + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/visitor-keys" "5.11.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.2.tgz#1fcd37547c32c648ab11aea7173ec30060ee87a8" - integrity sha512-vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg== +"@typescript-eslint/utils@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.11.0.tgz#d91548ef180d74c95d417950336d9260fdbe1dc5" + integrity sha512-g2I480tFE1iYRDyMhxPAtLQ9HAn0jjBtipgTCZmd9I9s11OV8CTsG+YfFciuNDcHqm4csbAgC2aVZCHzLxMSUw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.10.2" - "@typescript-eslint/types" "5.10.2" - "@typescript-eslint/typescript-estree" "5.10.2" + "@typescript-eslint/scope-manager" "5.11.0" + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/typescript-estree" "5.11.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz#fdbf272d8e61c045d865bd6c8b41bea73d222f3d" - integrity sha512-zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q== +"@typescript-eslint/visitor-keys@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.11.0.tgz#888542381f1a2ac745b06d110c83c0b261487ebb" + integrity sha512-E8w/vJReMGuloGxJDkpPlGwhxocxOpSVgSvjiLO5IxZPmxZF30weOeJYyPSEACwM+X4NziYS9q+WkN/2DHYQwA== dependencies: - "@typescript-eslint/types" "5.10.2" + "@typescript-eslint/types" "5.11.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.1.0": @@ -4485,10 +4505,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -devtools-protocol@0.0.948846: - version "0.0.948846" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.948846.tgz#bff47e2d1dba060130fa40ed2e5f78b916ba285f" - integrity sha512-5fGyt9xmMqUl2VI7+rnUkKCiAQIpLns8sfQtTENy5L70ktbNw0Z3TFJ1JoFNYdx/jffz4YXU45VF75wKZD7sZQ== +devtools-protocol@0.0.960912: + version "0.0.960912" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.960912.tgz#411c1fa355eddb72f06c4a8743f2808766db6245" + integrity sha512-I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg== dezalgo@^1.0.0: version "1.0.3" @@ -4906,10 +4926,10 @@ esbuild-android-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" integrity sha512-y7EJm8ADC9qKbo/dJ2zBXwNdIILJ76tTv7JDGvOkbLT8HJXIsgbpa0NJk7iFhyvP4GpsYvXTbvEQNn0DhyBhLA== -esbuild-android-arm64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz#027a1cd57e57c6219341e116c4ac41a9952d69d1" - integrity sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg== +esbuild-android-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz#7d1e7391030d83e2d6745ac297d630bb33130b36" + integrity sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg== esbuild-darwin-64@0.14.16: version "0.14.16" @@ -4921,10 +4941,10 @@ esbuild-darwin-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" integrity sha512-V2JAP8yyVbW6qR4SVXsEDqRicYM0x5niUuB05IFiE5itPI45k8j2dA2l+DtirR2SGXr+LEqgX347+2VA6eyTiA== -esbuild-darwin-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz#a219c50aa98b5bc08d7ce3677f5bae4b8aa5101b" - integrity sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg== +esbuild-darwin-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" + integrity sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ== esbuild-darwin-arm64@0.14.16: version "0.14.16" @@ -4936,10 +4956,10 @@ esbuild-darwin-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" integrity sha512-ENkSKpjF4SImyA2TdHhKiZqtYc1DkMykICe1KSBw0YNF1sentjFI6wu+CRiYMpC7REf/3TQXoems2XPqIqDMlQ== -esbuild-darwin-arm64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz#eb2d17d33c5991c183c99843698182bb702eb592" - integrity sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ== +esbuild-darwin-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" + integrity sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg== esbuild-freebsd-64@0.14.16: version "0.14.16" @@ -4951,10 +4971,10 @@ esbuild-freebsd-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" integrity sha512-2i0nTNJM8ftNTvtR00vdqkru8XpHwAbkR2MBLoK2IDSzjsLStwCj+mxf6v83eVM9Abe3QA8xP+irqOdBlwDQ2g== -esbuild-freebsd-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz#de06b6ce361bdf51fb66e59b220f67c4124cc728" - integrity sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A== +esbuild-freebsd-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" + integrity sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A== esbuild-freebsd-arm64@0.14.16: version "0.14.16" @@ -4966,10 +4986,10 @@ esbuild-freebsd-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" integrity sha512-QOmRi1n+uly2G7BbMbHb86YiFA5aM7B2T96A6OF1VG57LNwXwy8LPVM0PVjl7f9cV3pE3fy3VtXPJHJo8XggTA== -esbuild-freebsd-arm64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz#59bb55cd6ac1b2b3c43536c067d8356f4ae7e310" - integrity sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA== +esbuild-freebsd-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" + integrity sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg== esbuild-linux-32@0.14.16: version "0.14.16" @@ -4981,10 +5001,10 @@ esbuild-linux-32@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" integrity sha512-qG5NDk7FHHUVw01rjHESON0HvigF2X80b645TUlgTKsWRlrbzzHhMCmQguA01O5PiCimKnyoxti8aJIFNHpQnQ== -esbuild-linux-32@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz#ff68f7ec7c8b8c7dddab4d6e65f1a1d0ff3ab0b9" - integrity sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ== +esbuild-linux-32@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" + integrity sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ== esbuild-linux-64@0.14.16: version "0.14.16" @@ -4996,10 +5016,10 @@ esbuild-linux-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" integrity sha512-De8OcmNvfNyFfQRLWbfuZqau6NpYBJxNTLP7Ls/PqQcw0HAwfaYThutY8ozHpPbKFPa7wgqabXlIC4NVSWT0/A== -esbuild-linux-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz#d4083d9833580090452a095cd2216100d86f3c7a" - integrity sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg== +esbuild-linux-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" + integrity sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA== esbuild-linux-arm64@0.14.16: version "0.14.16" @@ -5011,10 +5031,10 @@ esbuild-linux-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" integrity sha512-WDEOD/YRA4J1lxhETKZff3gRxGYqqZEiVwIOqNfvCh2YcwWU2y6UmNGZsxcuKk18wot4dAXCXQyNZgBkVUTCLw== -esbuild-linux-arm64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz#8ce21e188ab9fcdb512f4ada9a637014c1294bec" - integrity sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg== +esbuild-linux-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" + integrity sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q== esbuild-linux-arm@0.14.16: version "0.14.16" @@ -5026,10 +5046,10 @@ esbuild-linux-arm@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" integrity sha512-ZwsgFUk3gR2pEMJdh5z4Ds18fvGETgElPqmNdx1NtZTCOVlFMAwFB5u/tOR2FrXbMFv+LkGnNxPDh48PYPDz9A== -esbuild-linux-arm@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz#a5e1d684c451f379b1dfef7b5a2dcad84cce3f79" - integrity sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA== +esbuild-linux-arm@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" + integrity sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g== esbuild-linux-mips64le@0.14.16: version "0.14.16" @@ -5041,10 +5061,10 @@ esbuild-linux-mips64le@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" integrity sha512-Lf4X9NB7r6imzp/11TaGs4kWL0DUn1JxI9gAAKotnKh6T8Y/0sLvZSvQS8WvSZcr0V8RRCrRZwiQqjOALUU/9g== -esbuild-linux-mips64le@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz#c3890f178745a9c65bad64322be2b3611c240041" - integrity sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ== +esbuild-linux-mips64le@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" + integrity sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A== esbuild-linux-ppc64le@0.14.16: version "0.14.16" @@ -5056,10 +5076,10 @@ esbuild-linux-ppc64le@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" integrity sha512-aExhxbrK7/Mh9FArdiC9MbvrQz2bGCDI8cBALKJbmhKg0h7LNt6y1E1S9GGBZ/ZXkHDvV9FFVrXXZKFVU5Qpiw== -esbuild-linux-ppc64le@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz#a355f515ca84839f5301f8ef745a2b329105e232" - integrity sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw== +esbuild-linux-ppc64le@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" + integrity sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA== esbuild-linux-s390x@0.14.16: version "0.14.16" @@ -5071,10 +5091,10 @@ esbuild-linux-s390x@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" integrity sha512-b0T20rNcS7POi5YLw5dFlsiC+riobR5IfppQGn5NWer6QiIkdL1vOx9eC9CUD3z1itpkLboRAZYieZfKfhCA2Q== -esbuild-linux-s390x@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz#81721c22387912778c67495d0a34527f7a2cde66" - integrity sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg== +esbuild-linux-s390x@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" + integrity sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA== esbuild-netbsd-64@0.14.16: version "0.14.16" @@ -5086,10 +5106,10 @@ esbuild-netbsd-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" integrity sha512-pFgTaAa2JF18nqNfCND9wOu1jbZ/mbDSaMxUp5fTkLlofyHhXeb5aChgXUkeipty2Pgq0OwOnxjHmiAxMI7N4g== -esbuild-netbsd-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz#eaee109d527a58b582f8fa933d9cadf8840758c2" - integrity sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w== +esbuild-netbsd-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" + integrity sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg== esbuild-openbsd-64@0.14.16: version "0.14.16" @@ -5101,10 +5121,10 @@ esbuild-openbsd-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" integrity sha512-K5+plb6gsAfBcFqB0EG4KvLbgBKslVAfEyJggicwt/QoDwQGJAzao4M6zOA4PG7LlXOwWSqv7VmSFbH+b6DyKw== -esbuild-openbsd-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz#96a42615f5548529b7bb32d024bb9c6fb542778c" - integrity sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg== +esbuild-openbsd-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" + integrity sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg== esbuild-sunos-64@0.14.16: version "0.14.16" @@ -5116,20 +5136,20 @@ esbuild-sunos-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" integrity sha512-o1FINkbHRi9JB1YteOSXZdkDOmVUbmnCxRmTLkHvk8pfCFNpv/5/7ktt95teYKbEiJna2dEt3M4ckJ/+UVnW+w== -esbuild-sunos-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz#869723d73a5f35ba2a4a6c043694d952bd4f831b" - integrity sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg== +esbuild-sunos-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" + integrity sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ== esbuild-wasm@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== -esbuild-wasm@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.18.tgz#e84d3b067abbf207f26c824ff7cd48a2f29db59a" - integrity sha512-HbL23n3Bg04XFGz+79xiEAJKit64unkATrLI7pFI8CElbXAUM4VsVnMZzJk1Uhcf324vOzYlSm9yUARVZ9BkJg== +esbuild-wasm@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" + integrity sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA== esbuild-wasm@^0.14.14: version "0.14.16" @@ -5146,10 +5166,10 @@ esbuild-windows-32@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" integrity sha512-Qutilz0I7OADWBtWrC/FD+2O/TNAkhwbZ+wIns7kF87lxIMtmqpBt3KnMk1e4F47aTrZRr0oH55Zhztd7m2PAA== -esbuild-windows-32@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz#197c8833ed0f6a82055ab63861777749d0ce95c0" - integrity sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g== +esbuild-windows-32@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz#5e4db2758408e148e225f06c7724853386916c70" + integrity sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w== esbuild-windows-64@0.14.16: version "0.14.16" @@ -5161,10 +5181,10 @@ esbuild-windows-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" integrity sha512-b21/oRV+PHrav0HkRpKjbM2yNRVe34gAfbdMppbZFea416wa8SrjcmVfSd7n4jgqoTQG0xe+MGgOpwXtjiB3DQ== -esbuild-windows-64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz#569832a99d87fc931a081fe7761c100578275be0" - integrity sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw== +esbuild-windows-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" + integrity sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA== esbuild-windows-arm64@0.14.16: version "0.14.16" @@ -5176,10 +5196,10 @@ esbuild-windows-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" integrity sha512-4HN9E1idllewYvptcrrdfTA6DIWgg11kK0Zrv6yjxstJZLJeKxfilGBEaksLGs4Pst2rAYMx3H2vbYq7AWLQNA== -esbuild-windows-arm64@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz#c1991848fca7b051d1d036d0723406da9696105d" - integrity sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA== +esbuild-windows-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" + integrity sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg== esbuild@0.14.17: version "0.14.17" @@ -5205,29 +5225,29 @@ esbuild@0.14.17: esbuild-windows-64 "0.14.17" esbuild-windows-arm64 "0.14.17" -esbuild@0.14.18: - version "0.14.18" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.18.tgz#9c5f58c506ec9e0ec335d20bcb3f9dbd086d0648" - integrity sha512-vCUoISSltnX7ax01w70pWOSQT+e55o+2P/a+A9MSTukJAt3T4aDZajcjeG4fnZbkvOEv+dkKgdkvljz6vVQD4A== +esbuild@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.20.tgz#e83fcb838463f220e864141752bb0f91bfc9c33a" + integrity sha512-7aRJRnTjHZ6rFEre52tsAYZxatVELSA/QvYGUBf1iOsYKCnSJICE5seugQFFJgV1Gyl0/mngxQPhxBIqgYG2BA== optionalDependencies: - esbuild-android-arm64 "0.14.18" - esbuild-darwin-64 "0.14.18" - esbuild-darwin-arm64 "0.14.18" - esbuild-freebsd-64 "0.14.18" - esbuild-freebsd-arm64 "0.14.18" - esbuild-linux-32 "0.14.18" - esbuild-linux-64 "0.14.18" - esbuild-linux-arm "0.14.18" - esbuild-linux-arm64 "0.14.18" - esbuild-linux-mips64le "0.14.18" - esbuild-linux-ppc64le "0.14.18" - esbuild-linux-s390x "0.14.18" - esbuild-netbsd-64 "0.14.18" - esbuild-openbsd-64 "0.14.18" - esbuild-sunos-64 "0.14.18" - esbuild-windows-32 "0.14.18" - esbuild-windows-64 "0.14.18" - esbuild-windows-arm64 "0.14.18" + esbuild-android-arm64 "0.14.20" + esbuild-darwin-64 "0.14.20" + esbuild-darwin-arm64 "0.14.20" + esbuild-freebsd-64 "0.14.20" + esbuild-freebsd-arm64 "0.14.20" + esbuild-linux-32 "0.14.20" + esbuild-linux-64 "0.14.20" + esbuild-linux-arm "0.14.20" + esbuild-linux-arm64 "0.14.20" + esbuild-linux-mips64le "0.14.20" + esbuild-linux-ppc64le "0.14.20" + esbuild-linux-s390x "0.14.20" + esbuild-netbsd-64 "0.14.20" + esbuild-openbsd-64 "0.14.20" + esbuild-sunos-64 "0.14.20" + esbuild-windows-32 "0.14.20" + esbuild-windows-64 "0.14.20" + esbuild-windows-arm64 "0.14.20" esbuild@^0.14.14: version "0.14.16" @@ -7848,6 +7868,13 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" +minimatch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -9341,13 +9368,13 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.1.3: - version "13.1.3" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.1.3.tgz#46b1e3f7577e59c08088b449c6fa161dbc78c680" - integrity sha512-nqcJNThLUG0Dgo++2mMtGR2FCyg7olJJhj/rm0A65muyN3nrH6lGvnNRzEaNmSnHWvjaDIG9ox5kxQB+nXTg5A== +puppeteer@13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.2.0.tgz#0ae3bd9ace55272223bd1905a4d661846231b1dc" + integrity sha512-OSRcIgPq78Cjysm4AOvGgGN464qugfYZ1bJRpPZ7d6c2P/zVQmACblIiB56frVoSuHpvqo+ZphFJo7kF9V5iEg== dependencies: - debug "4.3.2" - devtools-protocol "0.0.948846" + debug "4.3.3" + devtools-protocol "0.0.960912" extract-zip "2.0.1" https-proxy-agent "5.0.0" node-fetch "2.6.7" From 08b106e9fc323d6468f8d9cdfb5ef0c832d8b5d6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 8 Feb 2022 14:12:50 +0100 Subject: [PATCH 0077/1388] build: update `ChromeDriver` to `99.0.4844.17` This is needed to support `puppeteer` version `13.2.0`. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 445746b8b315..c304843c1058 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 97.0.4692.20", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 99.0.4844.17", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", "ts-circular-deps:check": "ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", From cf53356a9a4b3b395bcbf3a9a40f7664ca7ab6c4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Feb 2022 09:08:48 +0000 Subject: [PATCH 0078/1388] build: update scorecard action dependencies to f2027c5 --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index dbe41a6f1b04..f926d9dcdf34 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -27,7 +27,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@315c15e2156166631fd4cb10d6490514eb3fd74a + uses: ossf/scorecard-action@682b53e351b930f033f957e05c77e0352482d9b9 with: results_file: results.sarif results_format: sarif @@ -44,6 +44,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@edd03fbd2c9728a78e2e10ff69c4af455b0de4fd + uses: github/codeql-action/upload-sarif@f2027c51f718a2c0c5294955d90bedc88044bc9b with: sarif_file: results.sarif From b11f0906bc1e56daabf0fe4e1b3ae52e857529ea Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 9 Feb 2022 12:38:33 -0800 Subject: [PATCH 0079/1388] docs: release notes for the v13.2.3 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7facda5ca58..fb3a2b75bcfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 13.2.3 (2022-02-09) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------- | +| [8c8377fee](https://github.com/angular/angular-cli/commit/8c8377fee4999266f4e58bf3c3091100d4393df7) | fix | block Karma from starting until build is complete | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [1317e470e](https://github.com/angular/angular-cli/commit/1317e470ec74d1dd9dced2d0ec0022abfe921995) | fix | support locating PNPM lock file during NGCC processing | + +## Special Thanks + +Alan Agius, Derek Cormier and Joey Perrott + + + # 14.0.0-next.0 (2022-02-02) From a83e90aa4e8bd2c78d3428724cda96df9e31a282 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 9 Feb 2022 12:48:25 -0800 Subject: [PATCH 0080/1388] release: cut the v14.0.0-next.1 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb3a2b75bcfb..689f2a40c936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 14.0.0-next.1 (2022-02-09) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [9e69331fa](https://github.com/angular/angular-cli/commit/9e69331fa61265c77d6281232bb64a2c63509290) | feat | use PNPM as package manager when `pnpm-lock.yaml` exists | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------- | +| [7ce50002a](https://github.com/angular/angular-cli/commit/7ce50002a20373d494f08bfb36e7773b39263dba) | fix | block Karma from starting until build is complete | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [966dd01ea](https://github.com/angular/angular-cli/commit/966dd01eab02cc10eee750c8638b5cf4b58afffe) | fix | support locating PNPM lock file during NGCC processing | + +## Special Thanks + +Alan Agius, Derek Cormier, Doug Parker and Joey Perrott + + + # 13.2.3 (2022-02-09) diff --git a/package.json b/package.json index c304843c1058..e44137ea2924 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.0", + "version": "14.0.0-next.1", "private": true, "description": "Software Development Kit for Angular", "bin": { From 4b529fe80c9b562ebfcd9e6dc7503ffd9f8b2805 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Feb 2022 02:52:54 +0000 Subject: [PATCH 0081/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 8 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 284 +++++++++--------- 4 files changed, 157 insertions(+), 149 deletions(-) diff --git a/package.json b/package.json index e44137ea2924..780e65658584 100644 --- a/package.json +++ b/package.json @@ -78,14 +78,14 @@ "@angular/platform-server": "14.0.0-next.2", "@angular/router": "14.0.0-next.2", "@angular/service-worker": "14.0.0-next.2", - "@babel/core": "7.17.0", + "@babel/core": "7.17.2", "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.0", + "@babel/runtime": "7.17.2", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "4.2.5", @@ -135,8 +135,8 @@ "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.20", - "esbuild-wasm": "0.14.20", + "esbuild": "0.14.21", + "esbuild-wasm": "0.14.21", "eslint": "8.8.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", @@ -159,7 +159,7 @@ "jsonc-parser": "3.0.0", "karma": "~6.3.0", "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.1.0", + "karma-coverage": "~2.2.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "~1.7.0", "karma-source-map-support": "1.4.0", @@ -189,7 +189,7 @@ "postcss-preset-env": "7.3.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.2.0", + "puppeteer": "13.3.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 02415865c66e..6d30ca34465e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.0", + "@babel/core": "7.17.2", "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.0", + "@babel/runtime": "7.17.2", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -30,7 +30,7 @@ "core-js": "3.21.0", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.20", + "esbuild-wasm": "0.14.21", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.20" + "esbuild": "0.14.21" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index c5add1c2b57f..35cbb245a326 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -7,7 +7,7 @@ "@types/node": "^12.11.1", "jasmine-core": "~4.0.0", "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.1.0", + "karma-coverage": "~2.2.0", "karma-jasmine-html-reporter": "~1.7.0", "karma-jasmine": "~4.0.0", "karma": "~6.3.0", diff --git a/yarn.lock b/yarn.lock index 45addb74b132..29b9cf57ddfa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -358,7 +358,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== -"@babel/core@7.16.12", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.5", "@babel/core@^7.8.6": +"@babel/core@7.16.12", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== @@ -379,17 +379,17 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/core@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" - integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== +"@babel/core@7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" + integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== dependencies: "@ampproject/remapping" "^2.0.0" "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.0" + "@babel/helpers" "^7.17.2" "@babel/parser" "^7.17.0" "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.0" @@ -646,10 +646,10 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helpers@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz#79cdf6c66a579f3a7b5e739371bc63ca0306886b" - integrity sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ== +"@babel/helpers@^7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" + integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.0" @@ -1288,10 +1288,10 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" - integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== +"@babel/runtime@7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" + integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== dependencies: regenerator-runtime "^0.13.4" @@ -4165,6 +4165,13 @@ critters@0.0.16: postcss "^8.3.7" pretty-bytes "^5.3.0" +cross-fetch@3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -4926,10 +4933,10 @@ esbuild-android-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" integrity sha512-y7EJm8ADC9qKbo/dJ2zBXwNdIILJ76tTv7JDGvOkbLT8HJXIsgbpa0NJk7iFhyvP4GpsYvXTbvEQNn0DhyBhLA== -esbuild-android-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz#7d1e7391030d83e2d6745ac297d630bb33130b36" - integrity sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg== +esbuild-android-arm64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz#8842d0c3b7c81fbe2dc46ddb416ffd6eb822184b" + integrity sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ== esbuild-darwin-64@0.14.16: version "0.14.16" @@ -4941,10 +4948,10 @@ esbuild-darwin-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" integrity sha512-V2JAP8yyVbW6qR4SVXsEDqRicYM0x5niUuB05IFiE5itPI45k8j2dA2l+DtirR2SGXr+LEqgX347+2VA6eyTiA== -esbuild-darwin-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" - integrity sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ== +esbuild-darwin-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz#ec7df02ad88ecf7f8fc23a3ed7917e07dea0c9c9" + integrity sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ== esbuild-darwin-arm64@0.14.16: version "0.14.16" @@ -4956,10 +4963,10 @@ esbuild-darwin-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" integrity sha512-ENkSKpjF4SImyA2TdHhKiZqtYc1DkMykICe1KSBw0YNF1sentjFI6wu+CRiYMpC7REf/3TQXoems2XPqIqDMlQ== -esbuild-darwin-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" - integrity sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg== +esbuild-darwin-arm64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz#0c2a977edec1ef54097ee56a911518c820d4e5e4" + integrity sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ== esbuild-freebsd-64@0.14.16: version "0.14.16" @@ -4971,10 +4978,10 @@ esbuild-freebsd-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" integrity sha512-2i0nTNJM8ftNTvtR00vdqkru8XpHwAbkR2MBLoK2IDSzjsLStwCj+mxf6v83eVM9Abe3QA8xP+irqOdBlwDQ2g== -esbuild-freebsd-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" - integrity sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A== +esbuild-freebsd-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz#f5b5fc1d031286c3a0949d1bda7db774b7d0404e" + integrity sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g== esbuild-freebsd-arm64@0.14.16: version "0.14.16" @@ -4986,10 +4993,10 @@ esbuild-freebsd-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" integrity sha512-QOmRi1n+uly2G7BbMbHb86YiFA5aM7B2T96A6OF1VG57LNwXwy8LPVM0PVjl7f9cV3pE3fy3VtXPJHJo8XggTA== -esbuild-freebsd-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" - integrity sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg== +esbuild-freebsd-arm64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz#a05cab908013e4992b31a675850b8c44eb468c0c" + integrity sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA== esbuild-linux-32@0.14.16: version "0.14.16" @@ -5001,10 +5008,10 @@ esbuild-linux-32@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" integrity sha512-qG5NDk7FHHUVw01rjHESON0HvigF2X80b645TUlgTKsWRlrbzzHhMCmQguA01O5PiCimKnyoxti8aJIFNHpQnQ== -esbuild-linux-32@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" - integrity sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ== +esbuild-linux-32@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz#638d244cc58b951f447addb4bade628d126ef84b" + integrity sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg== esbuild-linux-64@0.14.16: version "0.14.16" @@ -5016,10 +5023,10 @@ esbuild-linux-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" integrity sha512-De8OcmNvfNyFfQRLWbfuZqau6NpYBJxNTLP7Ls/PqQcw0HAwfaYThutY8ozHpPbKFPa7wgqabXlIC4NVSWT0/A== -esbuild-linux-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" - integrity sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA== +esbuild-linux-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz#8eb634abee928be7e35b985fafbfef2f2e31397f" + integrity sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA== esbuild-linux-arm64@0.14.16: version "0.14.16" @@ -5031,10 +5038,10 @@ esbuild-linux-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" integrity sha512-WDEOD/YRA4J1lxhETKZff3gRxGYqqZEiVwIOqNfvCh2YcwWU2y6UmNGZsxcuKk18wot4dAXCXQyNZgBkVUTCLw== -esbuild-linux-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" - integrity sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q== +esbuild-linux-arm64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz#e05599ea6253b58394157da162d856f3ead62f9e" + integrity sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g== esbuild-linux-arm@0.14.16: version "0.14.16" @@ -5046,10 +5053,10 @@ esbuild-linux-arm@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" integrity sha512-ZwsgFUk3gR2pEMJdh5z4Ds18fvGETgElPqmNdx1NtZTCOVlFMAwFB5u/tOR2FrXbMFv+LkGnNxPDh48PYPDz9A== -esbuild-linux-arm@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" - integrity sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g== +esbuild-linux-arm@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz#1ae1078231cf689d3ba894a32d3723c0be9b91fd" + integrity sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w== esbuild-linux-mips64le@0.14.16: version "0.14.16" @@ -5061,10 +5068,10 @@ esbuild-linux-mips64le@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" integrity sha512-Lf4X9NB7r6imzp/11TaGs4kWL0DUn1JxI9gAAKotnKh6T8Y/0sLvZSvQS8WvSZcr0V8RRCrRZwiQqjOALUU/9g== -esbuild-linux-mips64le@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" - integrity sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A== +esbuild-linux-mips64le@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz#f05be62d126764e99b37edcac5bb49b78c7a8890" + integrity sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A== esbuild-linux-ppc64le@0.14.16: version "0.14.16" @@ -5076,10 +5083,15 @@ esbuild-linux-ppc64le@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" integrity sha512-aExhxbrK7/Mh9FArdiC9MbvrQz2bGCDI8cBALKJbmhKg0h7LNt6y1E1S9GGBZ/ZXkHDvV9FFVrXXZKFVU5Qpiw== -esbuild-linux-ppc64le@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" - integrity sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA== +esbuild-linux-ppc64le@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz#592c98d82dad7982268ef8deed858c4566f07ab1" + integrity sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ== + +esbuild-linux-riscv64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz#0db7bd6f10d8f9afea973a7d6bf87b449b864b7b" + integrity sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q== esbuild-linux-s390x@0.14.16: version "0.14.16" @@ -5091,10 +5103,10 @@ esbuild-linux-s390x@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" integrity sha512-b0T20rNcS7POi5YLw5dFlsiC+riobR5IfppQGn5NWer6QiIkdL1vOx9eC9CUD3z1itpkLboRAZYieZfKfhCA2Q== -esbuild-linux-s390x@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" - integrity sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA== +esbuild-linux-s390x@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz#254a9354d34c9d1b41a3e21d2ec9269cbbb2c5df" + integrity sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA== esbuild-netbsd-64@0.14.16: version "0.14.16" @@ -5106,10 +5118,10 @@ esbuild-netbsd-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" integrity sha512-pFgTaAa2JF18nqNfCND9wOu1jbZ/mbDSaMxUp5fTkLlofyHhXeb5aChgXUkeipty2Pgq0OwOnxjHmiAxMI7N4g== -esbuild-netbsd-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" - integrity sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg== +esbuild-netbsd-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz#4cb783d060b02bf3b897a9a12cce2b3b547726f8" + integrity sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g== esbuild-openbsd-64@0.14.16: version "0.14.16" @@ -5121,10 +5133,10 @@ esbuild-openbsd-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" integrity sha512-K5+plb6gsAfBcFqB0EG4KvLbgBKslVAfEyJggicwt/QoDwQGJAzao4M6zOA4PG7LlXOwWSqv7VmSFbH+b6DyKw== -esbuild-openbsd-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" - integrity sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg== +esbuild-openbsd-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz#f886b93feefddbe573528fa4b421c9c6e2bc969b" + integrity sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA== esbuild-sunos-64@0.14.16: version "0.14.16" @@ -5136,20 +5148,20 @@ esbuild-sunos-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" integrity sha512-o1FINkbHRi9JB1YteOSXZdkDOmVUbmnCxRmTLkHvk8pfCFNpv/5/7ktt95teYKbEiJna2dEt3M4ckJ/+UVnW+w== -esbuild-sunos-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" - integrity sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ== +esbuild-sunos-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz#3829e4d57d4cb6950837fe90b0b67cdfb37cf13a" + integrity sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA== esbuild-wasm@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== -esbuild-wasm@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" - integrity sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA== +esbuild-wasm@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.21.tgz#869858146731555c21dc49d1cd010b392ed305c7" + integrity sha512-sPMyljBiKxXjW1wLd5dQnrUJR1PAt8ybSidXoZWJnMuB1mpdLju57LtstDWWkCgcaE+TGJJ6NqP/OtGyeDdEAA== esbuild-wasm@^0.14.14: version "0.14.16" @@ -5166,10 +5178,10 @@ esbuild-windows-32@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" integrity sha512-Qutilz0I7OADWBtWrC/FD+2O/TNAkhwbZ+wIns7kF87lxIMtmqpBt3KnMk1e4F47aTrZRr0oH55Zhztd7m2PAA== -esbuild-windows-32@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz#5e4db2758408e148e225f06c7724853386916c70" - integrity sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w== +esbuild-windows-32@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz#b858a22d1a82e53cdc59310cd56294133f7a95e7" + integrity sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A== esbuild-windows-64@0.14.16: version "0.14.16" @@ -5181,10 +5193,10 @@ esbuild-windows-64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" integrity sha512-b21/oRV+PHrav0HkRpKjbM2yNRVe34gAfbdMppbZFea416wa8SrjcmVfSd7n4jgqoTQG0xe+MGgOpwXtjiB3DQ== -esbuild-windows-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" - integrity sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA== +esbuild-windows-64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz#7bb5a027d5720cf9caf18a4bedd11327208f1f12" + integrity sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA== esbuild-windows-arm64@0.14.16: version "0.14.16" @@ -5196,10 +5208,10 @@ esbuild-windows-arm64@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" integrity sha512-4HN9E1idllewYvptcrrdfTA6DIWgg11kK0Zrv6yjxstJZLJeKxfilGBEaksLGs4Pst2rAYMx3H2vbYq7AWLQNA== -esbuild-windows-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" - integrity sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg== +esbuild-windows-arm64@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz#25df54521ad602c826b262ea2e7cc1fe80f5c2f5" + integrity sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw== esbuild@0.14.17: version "0.14.17" @@ -5225,29 +5237,30 @@ esbuild@0.14.17: esbuild-windows-64 "0.14.17" esbuild-windows-arm64 "0.14.17" -esbuild@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.20.tgz#e83fcb838463f220e864141752bb0f91bfc9c33a" - integrity sha512-7aRJRnTjHZ6rFEre52tsAYZxatVELSA/QvYGUBf1iOsYKCnSJICE5seugQFFJgV1Gyl0/mngxQPhxBIqgYG2BA== +esbuild@0.14.21: + version "0.14.21" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.21.tgz#b3e05f900f1c4394f596d60d63d9816468f0f671" + integrity sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A== optionalDependencies: - esbuild-android-arm64 "0.14.20" - esbuild-darwin-64 "0.14.20" - esbuild-darwin-arm64 "0.14.20" - esbuild-freebsd-64 "0.14.20" - esbuild-freebsd-arm64 "0.14.20" - esbuild-linux-32 "0.14.20" - esbuild-linux-64 "0.14.20" - esbuild-linux-arm "0.14.20" - esbuild-linux-arm64 "0.14.20" - esbuild-linux-mips64le "0.14.20" - esbuild-linux-ppc64le "0.14.20" - esbuild-linux-s390x "0.14.20" - esbuild-netbsd-64 "0.14.20" - esbuild-openbsd-64 "0.14.20" - esbuild-sunos-64 "0.14.20" - esbuild-windows-32 "0.14.20" - esbuild-windows-64 "0.14.20" - esbuild-windows-arm64 "0.14.20" + esbuild-android-arm64 "0.14.21" + esbuild-darwin-64 "0.14.21" + esbuild-darwin-arm64 "0.14.21" + esbuild-freebsd-64 "0.14.21" + esbuild-freebsd-arm64 "0.14.21" + esbuild-linux-32 "0.14.21" + esbuild-linux-64 "0.14.21" + esbuild-linux-arm "0.14.21" + esbuild-linux-arm64 "0.14.21" + esbuild-linux-mips64le "0.14.21" + esbuild-linux-ppc64le "0.14.21" + esbuild-linux-riscv64 "0.14.21" + esbuild-linux-s390x "0.14.21" + esbuild-netbsd-64 "0.14.21" + esbuild-openbsd-64 "0.14.21" + esbuild-sunos-64 "0.14.21" + esbuild-windows-32 "0.14.21" + esbuild-windows-64 "0.14.21" + esbuild-windows-arm64 "0.14.21" esbuild@^0.14.14: version "0.14.16" @@ -6897,17 +6910,7 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== @@ -7244,13 +7247,13 @@ karma-chrome-launcher@~3.1.0: dependencies: which "^1.2.1" -karma-coverage@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-2.1.0.tgz#843564578d9e1fb889ec141a582c019bb6db14db" - integrity sha512-uIejpnArNFQIovB6EPsKO/T4XofELdJWXcA2ADXztFlKhHbr0Ws6ba7wKTMVWsIhEs4iJxdhQkCQrkkhFJSZCw== +karma-coverage@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-2.2.0.tgz#64f838b66b71327802e7f6f6c39d569b7024e40c" + integrity sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA== dependencies: istanbul-lib-coverage "^3.2.0" - istanbul-lib-instrument "^4.0.3" + istanbul-lib-instrument "^5.1.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.1" istanbul-reports "^3.0.5" @@ -9368,23 +9371,23 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.2.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.2.0.tgz#0ae3bd9ace55272223bd1905a4d661846231b1dc" - integrity sha512-OSRcIgPq78Cjysm4AOvGgGN464qugfYZ1bJRpPZ7d6c2P/zVQmACblIiB56frVoSuHpvqo+ZphFJo7kF9V5iEg== +puppeteer@13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.0.tgz#610efb11c7ca4a5c28d7efa84c91f5187b10564b" + integrity sha512-qEsXUQhF4mcF++0O5N7mW7jcVXqztC9fWYj14s2xNrd16SD1U/rCfV0BYE6/MBK7sHXi400qJlxWv7INYytZtQ== dependencies: + cross-fetch "3.1.5" debug "4.3.3" devtools-protocol "0.0.960912" extract-zip "2.0.1" https-proxy-agent "5.0.0" - node-fetch "2.6.7" pkg-dir "4.2.0" progress "2.0.3" proxy-from-env "1.1.0" rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.2.3" + ws "8.5.0" q@1.4.1: version "1.4.1" @@ -11775,10 +11778,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@8.2.3, ws@~8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" - integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== +ws@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== ws@>=7.4.6, ws@^8.4.2: version "8.4.2" @@ -11795,6 +11798,11 @@ ws@~7.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@~8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== + xhr2@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93" From 561df27e36ed0e6b95685e5bf80a011f2b8c1878 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Feb 2022 10:14:14 +0100 Subject: [PATCH 0082/1388] test(@angular-devkit/build-angular): disable html karma coverage reporter Under bazel this causes the below error. ``` Unexpected error while generating coverage report. [Error: EEXIST: file already exists, mkdir ``` --- .../src/builders/karma/tests/behavior/code-coverage_spec.ts | 2 ++ .../build_angular/test/hello-world-app/karma.conf.js | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/behavior/code-coverage_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/behavior/code-coverage_spec.ts index 0295404537aa..da0e83528562 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/behavior/code-coverage_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/behavior/code-coverage_spec.ts @@ -88,6 +88,8 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { }); it('should remapped instrumented code back to the original source', async () => { + await harness.modifyFile('karma.conf.js', (content) => content.replace('lcov', 'html')); + await harness.modifyFile('src/app/app.component.ts', (content) => { return content.replace( `title = 'app'`, diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js b/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js index 9e0431095e65..1fa1906a712b 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-app/karma.conf.js @@ -33,7 +33,6 @@ module.exports = function(config) { dir: path.join(__dirname, './coverage'), subdir: '.', reporters: [ - {type: 'html'}, {type: 'lcov'}, ], }, From 063acc335a08d7d8bfbb42663bf45eac98a935a7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Feb 2022 10:53:29 +0100 Subject: [PATCH 0083/1388] test: change `puppeteer` imports to use primary entry-point --- .../build_angular/src/builders/dev-server/hmr_spec.ts | 7 ++----- .../src/builders/dev-server/live-reload_spec.ts | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts index 4b97bb82b2c7..3918d6b8881f 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts @@ -7,11 +7,8 @@ */ import { Architect, BuilderRun } from '@angular-devkit/architect'; -/* eslint-disable import/no-extraneous-dependencies */ -import { Browser } from 'puppeteer/lib/cjs/puppeteer/common/Browser'; -import { Page } from 'puppeteer/lib/cjs/puppeteer/common/Page'; -import puppeteer from 'puppeteer/lib/cjs/puppeteer/node'; -/* eslint-enable import/no-extraneous-dependencies */ +// eslint-disable-next-line import/no-extraneous-dependencies +import puppeteer, { Browser, Page } from 'puppeteer'; import { debounceTime, switchMap, take } from 'rxjs/operators'; import { createArchitect, host } from '../../testing/test-utils'; diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts index f2a90b6a5ffa..c2331818c769 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts @@ -10,9 +10,7 @@ import { Architect, BuilderRun } from '@angular-devkit/architect'; import { tags } from '@angular-devkit/core'; import { createProxyServer } from 'http-proxy'; -import { Browser } from 'puppeteer/lib/cjs/puppeteer/common/Browser'; -import { Page } from 'puppeteer/lib/cjs/puppeteer/common/Page'; -import puppeteer from 'puppeteer/lib/cjs/puppeteer/node'; +import puppeteer, { Browser, Page } from 'puppeteer'; import { debounceTime, switchMap, take } from 'rxjs/operators'; import { createArchitect, host } from '../../testing/test-utils'; From 87120cdee05a626744eb8c69322cd9faceef2397 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Feb 2022 11:55:01 +0000 Subject: [PATCH 0084/1388] build: update scorecard action dependencies to 3d2ad0b --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f926d9dcdf34..f096bb252eee 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -27,7 +27,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@682b53e351b930f033f957e05c77e0352482d9b9 + uses: ossf/scorecard-action@869bc607582d2449c2529ebc09c7f49d30f0efde with: results_file: results.sarif results_format: sarif @@ -44,6 +44,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@f2027c51f718a2c0c5294955d90bedc88044bc9b + uses: github/codeql-action/upload-sarif@3d2ad0b9c819d4ea406021c1bbfa39f37953e6b8 with: sarif_file: results.sarif From 88f23e0a7a8c3f70e6df3e0933fc549efa1c64ba Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Feb 2022 21:18:43 +0000 Subject: [PATCH 0085/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 6 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 24 +++++++------- 6 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 892f3229f511..ca29f1be5ad0 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@ea10bc11429093f71506927aac9da864ce775b4f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2c23378f310c42b482d246886ed2aab1550dc650 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ab8ecc197c39..afa2a3ef11b0 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -12,6 +12,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@ea10bc11429093f71506927aac9da864ce775b4f + - uses: angular/dev-infra/github-actions/feature-request@2c23378f310c42b482d246886ed2aab1550dc650 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index fbba32a973bb..1f715dec77cf 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@ea10bc11429093f71506927aac9da864ce775b4f + - uses: angular/dev-infra/github-actions/lock-closed@2c23378f310c42b482d246886ed2aab1550dc650 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 780e65658584..cc776fa6b452 100644 --- a/package.json +++ b/package.json @@ -64,15 +64,15 @@ "devDependencies": { "@ampproject/remapping": "2.1.0", "@angular/animations": "14.0.0-next.2", - "@angular/cdk": "14.0.0-next.1", + "@angular/cdk": "14.0.0-next.2", "@angular/common": "14.0.0-next.2", "@angular/compiler": "14.0.0-next.2", "@angular/compiler-cli": "14.0.0-next.2", "@angular/core": "14.0.0-next.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#647c873bed9f9b9190f8441eea790a01ad0b2e92", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966", "@angular/forms": "14.0.0-next.2", "@angular/localize": "14.0.0-next.2", - "@angular/material": "14.0.0-next.1", + "@angular/material": "14.0.0-next.2", "@angular/platform-browser": "14.0.0-next.2", "@angular/platform-browser-dynamic": "14.0.0-next.2", "@angular/platform-server": "14.0.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c31905c36f50..3fa3032cfd47 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#9c074d5cbb4d248c0cc4a68d95da80e1280dc9dc", - "@angular/cdk": "github:angular/cdk-builds#ed6489bd5775f762ccbe0cefd35a7f9e57b4b8ca", - "@angular/common": "github:angular/common-builds#30ca0d49c85800181170323078e0d3f2f38867cc", - "@angular/compiler": "github:angular/compiler-builds#1ac8fd877b074a6404c68aaa7df84c1fa22c081b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#fe494d435585395e9888dae26e72f3652800cb95", - "@angular/core": "github:angular/core-builds#ff45dc6ab822f1591f2f4519506c72e894ad79d9", - "@angular/forms": "github:angular/forms-builds#5410c884349684a00cd2ab57934113d091980e96", - "@angular/language-service": "github:angular/language-service-builds#96176f188ec000d74012423f027ad4b313b16b1d", - "@angular/localize": "github:angular/localize-builds#8cbface81637d77fb61914eba7c795f64d762d75", - "@angular/material": "github:angular/material2-builds#e93133ad7d2cda76f450c91f59ce63bc009282d5", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6efb2bbe4994822baabb5182d2879328c936d8d5", - "@angular/platform-browser": "github:angular/platform-browser-builds#ada1935148d1146a8721f765b81bf26b514d5772", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d096ec66a0e5164062c39d8261b2158fe9ae7e68", - "@angular/platform-server": "github:angular/platform-server-builds#d54dd3bca66bdd68fc6c27db18934b436d6c0a07", - "@angular/router": "github:angular/router-builds#93221d9fce94047550dca4beaa85634eb5d83011", - "@angular/service-worker": "github:angular/service-worker-builds#39e99a1c3783932ec90d86ab7fb2a7ccc033766c" + "@angular/animations": "github:angular/animations-builds#bb49680b8beeadce704c05b6826a2dccd036487f", + "@angular/cdk": "github:angular/cdk-builds#0cb89fe275fcfd9a73c9da2c3d22f04278992e6b", + "@angular/common": "github:angular/common-builds#2bfb9a88498280d0d979fb0f4fc77a38277ca066", + "@angular/compiler": "github:angular/compiler-builds#fa3959629b0706306981b1352523a4364b63f80f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#5cd40e3fb72aeb5d2d89c8c85faace79ac46e969", + "@angular/core": "github:angular/core-builds#3a9b6f815d7139f3a813f38a8053a25d3da3e1e4", + "@angular/forms": "github:angular/forms-builds#0e74f01aac66f84d0f7851941a9d0f45ff7400fe", + "@angular/language-service": "github:angular/language-service-builds#371df0ff00c77a5002d40fbdb4fb1e42d0ed7360", + "@angular/localize": "github:angular/localize-builds#cd4861493639ea0f40e17e57ae374078dd49f672", + "@angular/material": "github:angular/material2-builds#4f7937a57cf8c61910e880c40298bb77e3c0aa1a", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6b7f6c8bc11e99ca46d4b1213784e93ba6e3f058", + "@angular/platform-browser": "github:angular/platform-browser-builds#d62d27d91e58563dd3c386f76222543b186a8f23", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aef4da6f8e9cbc2bd90672a23cc9c5e536d94cbd", + "@angular/platform-server": "github:angular/platform-server-builds#18e596f8021a4d36c528bfae3802f2763f34de81", + "@angular/router": "github:angular/router-builds#bfd6ea488b70ae1337842caf782f98dd545286aa", + "@angular/service-worker": "github:angular/service-worker-builds#fd7b7a70389282caf22d25a6f36915a03d2ef262" } } diff --git a/yarn.lock b/yarn.lock index 29b9cf57ddfa..d56380db9105 100644 --- a/yarn.lock +++ b/yarn.lock @@ -164,10 +164,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.1": - version "14.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.1.tgz#db2b68f689cea508d044378307080290d70a6ff8" - integrity sha512-lR5N7MaBZAMPDFEe40mY0NNl55X4ajlfJ3963S6pAf22EMWohuU7MdIy0rDbewwmGvSb8864TU+HqiYfk+d7Wg== +"@angular/cdk@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.2.tgz#60a23717737b9e88f9868143f3c60fb36edf1315" + integrity sha512-N4e74rGTXasunUrY7bHOrlfxZYPVonojkg2NhNRglD4wYM00+BSKx85hZnuF19cgUK2Rr8CLdesxnjeE1HJW6Q== dependencies: tslib "^2.3.0" optionalDependencies: @@ -217,10 +217,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#647c873bed9f9b9190f8441eea790a01ad0b2e92": - version "0.0.0-ea10bc11429093f71506927aac9da864ce775b4f" - uid "647c873bed9f9b9190f8441eea790a01ad0b2e92" - resolved "https://github.com/angular/dev-infra-private-builds.git#647c873bed9f9b9190f8441eea790a01ad0b2e92" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966": + version "0.0.0-2c23378f310c42b482d246886ed2aab1550dc650" + uid bc95d30fc481710a0634188e5a47ab08246cd966 + resolved "https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" @@ -297,10 +297,10 @@ glob "7.2.0" yargs "^17.2.1" -"@angular/material@14.0.0-next.1": - version "14.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.1.tgz#ac73ba42414eb19c9e4baa4283c1fedf13b4652b" - integrity sha512-TW8dKbcVLhMpjUqDAv4HA3WNwhZBEPbyiQVhthLHM9EY5pfZziB8NtYEz72q35EdJexgM+UOfNcadQWE4y2xCw== +"@angular/material@14.0.0-next.2": + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.2.tgz#653cc2587e5f414a150598bc7781959fe187a29d" + integrity sha512-z1B8VGDYc6zYC9IwJWaBOb+kLQJezGa0hFvDLNOz6YzN1YfZKue6zXj8LOXr245M159NDRhh4e3s7d5ZfnUZRQ== dependencies: tslib "^2.3.0" From fafbbeab6d9ab5e8797e373f869f365729e569c5 Mon Sep 17 00:00:00 2001 From: Anner Visser Date: Thu, 10 Feb 2022 17:28:36 +0100 Subject: [PATCH 0086/1388] fix(@angular-devkit/build-angular): update license-webpack-plugin to 4.0.2 Fixes builds with extractLicenses enabled when using dynamic exports Fixes #22662 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index cc776fa6b452..1bc31e454192 100644 --- a/package.json +++ b/package.json @@ -166,7 +166,7 @@ "less": "4.1.2", "less-loader": "10.2.0", "license-checker": "^25.0.0", - "license-webpack-plugin": "4.0.1", + "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6d30ca34465e..ca8ed7d79fdf 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -38,7 +38,7 @@ "karma-source-map-support": "1.4.0", "less": "4.1.2", "less-loader": "10.2.0", - "license-webpack-plugin": "4.0.1", + "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.5.3", "minimatch": "3.0.5", diff --git a/yarn.lock b/yarn.lock index d56380db9105..a9904424dac2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -219,7 +219,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966": version "0.0.0-2c23378f310c42b482d246886ed2aab1550dc650" - uid bc95d30fc481710a0634188e5a47ab08246cd966 resolved "https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966" dependencies: "@actions/core" "^1.4.0" @@ -7399,6 +7398,13 @@ license-webpack-plugin@4.0.1: dependencies: webpack-sources "^3.0.0" +license-webpack-plugin@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" + integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== + dependencies: + webpack-sources "^3.0.0" + lie@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" @@ -9970,7 +9976,6 @@ sass@1.49.7, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: From e4e15058cb7a3612cb6ac31cda175783042c5a1c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Feb 2022 13:21:27 +0000 Subject: [PATCH 0087/1388] build: lock file maintenance --- yarn.lock | 724 +++++++++++++++++++++--------------------------------- 1 file changed, 281 insertions(+), 443 deletions(-) diff --git a/yarn.lock b/yarn.lock index a9904424dac2..a96427e7b8d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,21 +35,13 @@ "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" -"@ampproject/remapping@2.1.0": +"@ampproject/remapping@2.1.0", "@ampproject/remapping@^2.0.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.2.tgz#f3d9760bf30588c51408dbe7c05ff2bb13069307" - integrity sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA== - dependencies: - "@jridgewell/trace-mapping" "^0.2.2" - sourcemap-codec "1.4.8" - "@angular-devkit/architect@0.1400.0-next.0": version "0.1400.0-next.0" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.0.tgz#b3998f71f7132c2a89ade8ca6fa770585371f7a0" @@ -211,9 +203,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.0.tgz#8db7b6f56eb2f211b72d943582061b247f39fe7f" - integrity sha512-mWRWbbZ6k00AicA/GrxmWKaw8upo77sRQz4tSYKpwVKt2TtCeoW8OkdYUpnmuVjxpF0bD6PtVc0e1fD6es/ElA== + version "13.2.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.2.tgz#30d2cd6ed3d74d90071c135def7163b12137eb7f" + integrity sha512-zpctw0BxIVOsRFnckchK15SD1L8tzhf5GzwIDaM6+VylDQj1uYkm8mvAjJTQZyUuApomoFet2Rfj7XQPV+cNSQ== dependencies: tslib "^2.3.0" @@ -353,11 +345,11 @@ "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" - integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" + integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== -"@babel/core@7.16.12", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": +"@babel/core@7.16.12": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== @@ -378,7 +370,7 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/core@7.17.2": +"@babel/core@7.17.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== @@ -420,7 +412,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.16.8", "@babel/generator@^7.16.8", "@babel/generator@^7.8.6": +"@babel/generator@7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== @@ -429,7 +421,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.0", "@babel/generator@^7.17.0": +"@babel/generator@7.17.0", "@babel/generator@^7.16.8", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== @@ -464,9 +456,9 @@ semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" - integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== + version "7.17.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" + integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -477,12 +469,12 @@ "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" - integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" + integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^4.7.1" + regexpu-core "^5.0.1" "@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" @@ -636,16 +628,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.7", "@babel/helpers@^7.8.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" - integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helpers@^7.17.2": +"@babel/helpers@^7.16.7", "@babel/helpers@^7.17.2", "@babel/helpers@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== @@ -663,12 +646,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.8.6": - version "7.16.12" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" - integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== - -"@babel/parser@^7.17.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== @@ -1280,14 +1258,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.16.7", "@babel/runtime@^7.8.4": +"@babel/runtime@7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.17.2": +"@babel/runtime@7.17.2", "@babel/runtime@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== @@ -1303,23 +1281,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.8.6": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" - integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.10" - "@babel/types" "^7.16.8" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.17.0": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== @@ -1335,15 +1297,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" - integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.17.0": +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== @@ -1543,27 +1497,27 @@ integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jridgewell/resolve-uri@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" - integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" + integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.9": version "1.4.10" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== "@jridgewell/trace-mapping@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.2.tgz#77510cc2f6f3b92e78c78de216d42de631b1d7fb" - integrity sha512-I9AGQzMPEzQNJgib2YSqciYWazGsXSyu1rEEeaPeM1764ZtnfNTxA5bofzG/POMI3QcvpBUxwecOPZM6ZhkEpg== + version "0.2.7" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz#d45be64544788e32c7ea5c8faa16a7000d840b5b" + integrity sha512-ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw== dependencies: "@jridgewell/resolve-uri" "^3.0.3" - sourcemap-codec "1.4.8" + "@jridgewell/sourcemap-codec" "^1.4.9" "@jridgewell/trace-mapping@^0.3.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz#e051581782a770c30ba219634f2019241c5d3cde" - integrity sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q== + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -2186,16 +2140,21 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@*": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@^0.0.50": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -2276,12 +2235,12 @@ "@types/node" "*" "@types/karma@^6.3.0": - version "6.3.2" - resolved "https://registry.yarnpkg.com/@types/karma/-/karma-6.3.2.tgz#6db4a5ca40a2bb09e189690f2d763dadca77f181" - integrity sha512-ZQfjGEfEV57I3o6Y5iK1+6aoQDguxmCBeQ0H8r9dasRTFn2Ohqgvx44FSPdY+R+/VUVtr8lvAYaRFzdNrQFvww== + version "6.3.3" + resolved "https://registry.yarnpkg.com/@types/karma/-/karma-6.3.3.tgz#fc48cc53d13ec9beeea3a2a47a2036ed7647ba29" + integrity sha512-nRMec4mTCt+tkpRqh5/pAxmnjzEgAaalIq7mdfLFH88gSRC8+bxejLiSjHMMT/vHIhJHqg4GPIGCnCFbwvDRww== dependencies: "@types/node" "*" - log4js "^6.3.0" + log4js "^6.4.1" "@types/keyv@*", "@types/keyv@^3.1.1": version "3.1.3" @@ -2344,9 +2303,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" - integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== + version "17.0.17" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz#a8ddf6e0c2341718d74ee3dc413a13a042c45a0c" + integrity sha512-e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw== "@types/node@12.20.24": version "12.20.24" @@ -2864,12 +2823,12 @@ abbrev@1: integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" + mime-types "~2.1.34" + negotiator "0.6.3" acorn-globals@^4.3.2: version "4.3.4" @@ -2946,7 +2905,7 @@ agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agentkeepalive@^4.1.3: +agentkeepalive@^4.1.3, agentkeepalive@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.0.tgz#616ce94ccb41d1a39a45d203d8076fe98713062d" integrity sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw== @@ -2982,7 +2941,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0, ajv@^8.0.0: +ajv@8.10.0, ajv@^8.0.0, ajv@^8.8.0, ajv@^8.9.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -2992,7 +2951,7 @@ ajv@8.10.0, ajv@^8.0.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.9.0, ajv@^8.8.0, ajv@^8.9.0: +ajv@8.9.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== @@ -3081,10 +3040,10 @@ apache-md5@1.1.7: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== +are-we-there-yet@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" + integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== dependencies: delegates "^1.0.0" readable-stream "^3.6.0" @@ -3314,12 +3273,12 @@ babel-plugin-polyfill-corejs2@^0.3.0: semver "^6.1.1" babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" - integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A== + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.20.0" + core-js-compat "^3.21.0" babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.1" @@ -3720,9 +3679,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: - version "1.0.30001304" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001304.tgz#38af55ed3fc8220cb13e35e6e7309c8c65a05559" - integrity sha512-bdsfZd6K6ap87AGqSHJP/s1V+U6Z5lyrcbBu3ovbCCf8cSYpwTtGrCBObMpJqwxfTbLW6YTIdbb1jEeTelcpYQ== + version "1.0.30001311" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001311.tgz#682ef3f4e617f1a177ad943de59775ed3032e511" + integrity sha512-mleTFtFKfykEeW34EyfhGIFjGCqzhh38Y0LhdQ9aWF+HorZTtdgKV/1hEE0NlFkG2ubvisPV6l400tlbPys98A== caseless@~0.12.0: version "0.12.0" @@ -4073,11 +4032,16 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.1, cookie@~0.4.1: +cookie@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== +cookie@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + cookies@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" @@ -4105,10 +4069,10 @@ copy-webpack-plugin@10.2.4: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.20.0, core-js-compat@^3.20.2: - version "3.20.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" - integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== +core-js-compat@^3.20.2, core-js-compat@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885" + integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A== dependencies: browserslist "^4.19.1" semver "7.0.0" @@ -4181,18 +4145,18 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: which "^2.0.1" css-blank-pseudo@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.2.tgz#f8660f6a48b17888a9277e53f25cc5abec1f0169" - integrity sha512-hOb1LFjRR+8ocA071xUSmg5VslJ8NGo/I2qpUpdeAYyBVCgupS5O8SEVo4SxEMYyFBNodBkzG3T1iqW9HCXxew== + version "3.0.3" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" + integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== dependencies: - postcss-selector-parser "^6.0.8" + postcss-selector-parser "^6.0.9" css-has-pseudo@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.3.tgz#4824a34cb92dae7e09ea1d3fd19691b653412098" - integrity sha512-0gDYWEKaGacwxCqvQ3Ypg6wGdD1AztbMm5h1JsactG2hP2eiflj808QITmuWBpE7sjSEVrAlZhPTVd/nNMj/hQ== + version "3.0.4" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" + integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== dependencies: - postcss-selector-parser "^6.0.8" + postcss-selector-parser "^6.0.9" css-loader@6.6.0: version "6.6.0" @@ -4239,9 +4203,9 @@ css@^3.0.0: source-map-resolve "^0.6.0" cssdb@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.1.0.tgz#75d63b1257e33af72ffdfec65f0f342189e4ab37" - integrity sha512-tZEDdN57Wlb5DRbOpJI9hSoP0t6DjtzSRswFoWo0hmJxfAXTBuDAcp2Oybj6BgQ+sErs9hXnWS1kzYKDKHanmg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.2.1.tgz#8904c3f8005bfc334009ee20ddb201330d5a5199" + integrity sha512-TBIhtDCOeYjwr44Vpl1g/224/18lI0jW+PKdA5ZP30dhre3eEutVUb2mnqUnpRPiPWQB7BQf8CWiUGOa966Fnw== cssesc@^3.0.0: version "3.0.0" @@ -4691,9 +4655,9 @@ ejs@^3.1.6: jake "^10.6.1" electron-to-chromium@^1.4.17: - version "1.4.57" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz#2b2766df76ac8dbc0a1d41249bc5684a31849892" - integrity sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw== + version "1.4.68" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.68.tgz#d79447b6bd1bec9183f166bb33d4bef0d5e4e568" + integrity sha512-cId+QwWrV8R1UawO6b9BR1hnkJ4EJPCPAr4h315vliHUtVUJDk39Sg1PMNnaWKfj5x+93ssjeJ9LKL6r8LaMiA== emoji-regex@^8.0.0: version "8.0.0" @@ -4788,9 +4752,9 @@ engine.io@~6.1.0: ws "~8.2.3" enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== + version "5.9.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz#49ac24953ac8452ed8fed2ef1340fc8e043667ee" + integrity sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -4922,11 +4886,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-arm64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.16.tgz#75dceceffd05fd8127e3590298bf057e04d20602" - integrity sha512-9qRiUXiV0qIa4Dfv+GLKsk/HHOq3U9qh8yZK9iX0awlzLPFb38NJrNTGtb/TeI6AyyZqsGgwLm/JeJ1UtEN9Aw== - esbuild-android-arm64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" @@ -4937,11 +4896,6 @@ esbuild-android-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz#8842d0c3b7c81fbe2dc46ddb416ffd6eb822184b" integrity sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ== -esbuild-darwin-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.16.tgz#75966d579e3b5d2ec3ef932055022bc2aa2ffcda" - integrity sha512-1Xa86DpTJFRffA7go0pqUdC0ggxxGxjsrnrvA2nHBVHNf9Ix/cgGuPfxZwf3fRZxDDAT2RdqF5SRZzLYvUCtZQ== - esbuild-darwin-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" @@ -4952,11 +4906,6 @@ esbuild-darwin-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz#ec7df02ad88ecf7f8fc23a3ed7917e07dea0c9c9" integrity sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ== -esbuild-darwin-arm64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.16.tgz#99be1261815ad2bccbd8d63e9a58ae3239365bb6" - integrity sha512-a0Tp0tec/s5hYT6OiJ2zvfH/6IfXFCH406yqFfXe5u8Nfo6l6IG33L7nqCYCEPnBLF7oYfZk6Re0VDwpgK18kQ== - esbuild-darwin-arm64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" @@ -4967,11 +4916,6 @@ esbuild-darwin-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz#0c2a977edec1ef54097ee56a911518c820d4e5e4" integrity sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ== -esbuild-freebsd-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.16.tgz#ac7377802b362a73857907781d54633d5b61344a" - integrity sha512-FqEdOphRS5kJ8MFqQ21Y0yducmwcFHmpkceLkup1kpsGChr3PGO7DfzXmF5fECNnMxRpk/jgk7e6nV4zXTau/A== - esbuild-freebsd-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" @@ -4982,11 +4926,6 @@ esbuild-freebsd-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz#f5b5fc1d031286c3a0949d1bda7db774b7d0404e" integrity sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g== -esbuild-freebsd-arm64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.16.tgz#e99c43e5079e4744447882beb01769b2bb0e7d2f" - integrity sha512-4Au4zR0//Df1v6FuWJEMZFRzaF69FvxHgSmKjikq7x6Ect+h4TbJKkblC3eDrfTA8L6l5bB1vhh0dbKq4zBy5Q== - esbuild-freebsd-arm64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" @@ -4997,11 +4936,6 @@ esbuild-freebsd-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz#a05cab908013e4992b31a675850b8c44eb468c0c" integrity sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA== -esbuild-linux-32@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.16.tgz#0d346977f00a93459c31e180d25fb6d36ba21aa8" - integrity sha512-HundAiQCa0ut7PXq3lmRZY7H3/OYh27wkJ97S7jjCgWmcd5To6Bs8UBVB7I4Qi9lNk/Yty0INnqq9on1WR8JUA== - esbuild-linux-32@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" @@ -5012,11 +4946,6 @@ esbuild-linux-32@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz#638d244cc58b951f447addb4bade628d126ef84b" integrity sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg== -esbuild-linux-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.16.tgz#2c1f2222fa888397530ef625930f74b13c116f7c" - integrity sha512-fG8MgVmQknIuYCHFOq+9iKLyygjPun+VkNH9ZIdRQrSzb3CFdEkNm+Suq5w8W+WjA/P0OIdrQ/mXXCoHCQTWSQ== - esbuild-linux-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" @@ -5027,11 +4956,6 @@ esbuild-linux-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz#8eb634abee928be7e35b985fafbfef2f2e31397f" integrity sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA== -esbuild-linux-arm64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.16.tgz#666bf0853184684021f8f5c1781f1e898a35a5b0" - integrity sha512-7WF1rHsPVXhme2B6ceZZABxFwCiZfMRIJO7yRiLahIdDkwfhSTR6M0a6OwO/NsLJH9fax5GdwBOIBoG5Hkz4gA== - esbuild-linux-arm64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" @@ -5042,11 +4966,6 @@ esbuild-linux-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz#e05599ea6253b58394157da162d856f3ead62f9e" integrity sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g== -esbuild-linux-arm@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.16.tgz#460ff025676544988ff3b4c2ca265f0bcd203baf" - integrity sha512-0NDVeuvWska0d4Rd8R3+lWEyKaIbAxDuRAeeU6a2xaUXrTG2IPhGNLWc4NbVMbnkGqRqKB4PLdk/YaTUZjKFHQ== - esbuild-linux-arm@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" @@ -5057,11 +4976,6 @@ esbuild-linux-arm@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz#1ae1078231cf689d3ba894a32d3723c0be9b91fd" integrity sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w== -esbuild-linux-mips64le@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.16.tgz#9ae987cbc24a87a0a9ca2a3e9feec0789727460f" - integrity sha512-RLNaTRdcQ81QckeIjbk1hCrgmrL6VoZBsYT8ak9ObNQzXEJNMlxOBixaF6rhW8UUYRpTpFuoYHeNya8xY884/A== - esbuild-linux-mips64le@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" @@ -5072,11 +4986,6 @@ esbuild-linux-mips64le@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz#f05be62d126764e99b37edcac5bb49b78c7a8890" integrity sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A== -esbuild-linux-ppc64le@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.16.tgz#8eb7c77aa4cdca994ad6b89f6024ae2317d3bb98" - integrity sha512-ky0Ii2Jmyc00FzGT2audU0UmnBVrVevYmKW10DXLPcHGhbhzJdFRemXLvvzhDM8WD9IMJK3uV6ifJzkKrv8IQA== - esbuild-linux-ppc64le@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" @@ -5092,11 +5001,6 @@ esbuild-linux-riscv64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz#0db7bd6f10d8f9afea973a7d6bf87b449b864b7b" integrity sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q== -esbuild-linux-s390x@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.16.tgz#248de950b82064931872d8bad84560187da1efab" - integrity sha512-DuW9MPGJAzUUBPI/olMkMMepCasTbPN1Xr2cKZZEEDIibcdRnuFrMYVk3G3I8/Qb6SZBNTSnZMAyhvYFrwAkqw== - esbuild-linux-s390x@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" @@ -5107,11 +5011,6 @@ esbuild-linux-s390x@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz#254a9354d34c9d1b41a3e21d2ec9269cbbb2c5df" integrity sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA== -esbuild-netbsd-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.16.tgz#330e546b55fb3665618a594dae6222faecc08ec4" - integrity sha512-l8+mnz8iVsV0iL5v5JCuP0UTv2LwO1ORdJ/scMkGUl8WrC6cBmUrrHhg+pwREqjbD8TxjfUJVM1Vvt5E8SaTsg== - esbuild-netbsd-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" @@ -5122,11 +5021,6 @@ esbuild-netbsd-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz#4cb783d060b02bf3b897a9a12cce2b3b547726f8" integrity sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g== -esbuild-openbsd-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.16.tgz#cca41262619dfd6c2b7ea4f128b14ac02d79028d" - integrity sha512-8SbZNAV902FmcGnc+j86HWY8PyTD1H7T39RsPXXS5IC1psi3yzFr2d8NoOxb6cQd5XUVHmHT1naJsbtEAyKIPA== - esbuild-openbsd-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" @@ -5137,11 +5031,6 @@ esbuild-openbsd-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz#f886b93feefddbe573528fa4b421c9c6e2bc969b" integrity sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA== -esbuild-sunos-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.16.tgz#bb03853049171e6441a0fcc06f3ce04a693f86ba" - integrity sha512-pMhe4uOaGjA/5YgeNoB0PRZi1V73D8sx876uFzuAxaZcYzLA5BsSbQeEccH182X6cBybE4Pm79kYedTSGOfwog== - esbuild-sunos-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" @@ -5157,21 +5046,11 @@ esbuild-wasm@0.14.17: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== -esbuild-wasm@0.14.21: +esbuild-wasm@0.14.21, esbuild-wasm@^0.14.14: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.21.tgz#869858146731555c21dc49d1cd010b392ed305c7" integrity sha512-sPMyljBiKxXjW1wLd5dQnrUJR1PAt8ybSidXoZWJnMuB1mpdLju57LtstDWWkCgcaE+TGJJ6NqP/OtGyeDdEAA== -esbuild-wasm@^0.14.14: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.16.tgz#6c66d3877c83040c84dfaf8de7909ca520a9af1b" - integrity sha512-0TnQyxKeNqdnKYEQwf475WkthvVL1aK9p/WaZsHY56Ek1jaxDuciEKRyqZhNZqWvBdjbkaFC46O19+HkIoppJQ== - -esbuild-windows-32@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.16.tgz#ee5bbf56a857afc0196a1b02ef047ec3747eb646" - integrity sha512-M68/EFCgji0DI+DgULx2ytUUSxwwODJDpiVc0YsiWKdyB4umKTu1GGxFfdZhXrWtPxB4aZFoIgJyDhsFxnHC4g== - esbuild-windows-32@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" @@ -5182,11 +5061,6 @@ esbuild-windows-32@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz#b858a22d1a82e53cdc59310cd56294133f7a95e7" integrity sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A== -esbuild-windows-64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.16.tgz#9c030666fe881805677cc154090f491c71bac011" - integrity sha512-rmSal1Co749CXSNyFJ62J5Fz/nZiFWhwMfYN9SwZazutKZ6s0QDRIhnupa93bJmzMzz4C2dqUV/VL1tqOI3y9g== - esbuild-windows-64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" @@ -5197,11 +5071,6 @@ esbuild-windows-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz#7bb5a027d5720cf9caf18a4bedd11327208f1f12" integrity sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA== -esbuild-windows-arm64@0.14.16: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.16.tgz#98f97821148f5b74de7b427109dee106b5350221" - integrity sha512-VMfEf+MDgO+rulAuSeu3HNebSHa1TDn0lJp+QRk7E2WVg9OCSwuXUEkSbqIbkif3ZjASy7h9sTCGyHcqgKQTrg== - esbuild-windows-arm64@0.14.17: version "0.14.17" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" @@ -5236,7 +5105,7 @@ esbuild@0.14.17: esbuild-windows-64 "0.14.17" esbuild-windows-arm64 "0.14.17" -esbuild@0.14.21: +esbuild@0.14.21, esbuild@^0.14.14: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.21.tgz#b3e05f900f1c4394f596d60d63d9816468f0f671" integrity sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A== @@ -5261,30 +5130,6 @@ esbuild@0.14.21: esbuild-windows-64 "0.14.21" esbuild-windows-arm64 "0.14.21" -esbuild@^0.14.14: - version "0.14.16" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.16.tgz#cfe5c35a6bacd7390b2a53a997cd6028eaa468d3" - integrity sha512-niiWy7nesZFGCiDr0NR9/JLEhtZPYHG/ABYTqveNWvocw/gGI5rKHOj3+5yUv3yH10/geTlZiyVaNvjJWL9Xbw== - optionalDependencies: - esbuild-android-arm64 "0.14.16" - esbuild-darwin-64 "0.14.16" - esbuild-darwin-arm64 "0.14.16" - esbuild-freebsd-64 "0.14.16" - esbuild-freebsd-arm64 "0.14.16" - esbuild-linux-32 "0.14.16" - esbuild-linux-64 "0.14.16" - esbuild-linux-arm "0.14.16" - esbuild-linux-arm64 "0.14.16" - esbuild-linux-mips64le "0.14.16" - esbuild-linux-ppc64le "0.14.16" - esbuild-linux-s390x "0.14.16" - esbuild-netbsd-64 "0.14.16" - esbuild-openbsd-64 "0.14.16" - esbuild-sunos-64 "0.14.16" - esbuild-windows-32 "0.14.16" - esbuild-windows-64 "0.14.16" - esbuild-windows-arm64 "0.14.16" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5804,9 +5649,9 @@ flatted@^3.1.0, flatted@^3.2.4: integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" - integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== + version "1.14.8" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" + integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== font-awesome@^4.7.0: version "4.7.0" @@ -5855,9 +5700,9 @@ forwarded@0.2.0: integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" - integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== + version "4.1.3" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" + integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== fresh@0.5.2, fresh@^0.5.2: version "0.5.2" @@ -6068,9 +5913,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== + version "13.12.1" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" + integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== dependencies: type-fest "^0.20.2" @@ -6353,9 +6198,9 @@ http-proxy-agent@^5.0.0: debug "4" http-proxy-middleware@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.2.tgz#94d7593790aad6b3de48164f13792262f656c332" - integrity sha512-XtmDN5w+vdFTBZaYhdJAbMqn0DP/EhkUaAeo963mojwpKMMbw6nivtFKw07D7DDOH745L5k0VL0P8KRYNEVF/g== + version "2.0.3" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz#5df04f69a89f530c2284cd71eeaa51ba52243289" + integrity sha512-1bloEwnrHMnCoO/Gcwbz7eSVvW50KPES01PecpagI+YLNLci4AcuKJrujW4Mc3sBLpFxMSlsLNHS5Nl/lvrTPA== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -6939,9 +6784,9 @@ istanbul-lib-source-maps@^4.0.1: source-map "^0.6.1" istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: - version "3.1.3" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.3.tgz#4bcae3103b94518117930d51283690960b50d3c2" - integrity sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg== + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -7008,10 +6853,10 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@^27.4.1: - version "27.4.6" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" - integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -7278,9 +7123,9 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.3.0: - version "6.3.12" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.12.tgz#fe6347f027385fc16da1a9bb87d766e2d25981c6" - integrity sha512-qwIG+oB2YmHx4hjvYSRMNzL3YWAJ9baHaLAxiP7biFNkfpwYTUTtPck0joFpucalNLzMr+7z/FX1uY/kl8DV9A== + version "6.3.15" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.15.tgz#6c3beedb2440b05589a502462140afed724481e7" + integrity sha512-4O5X6zVFdmwo/fgjRN84fPG3IvaiOxOjIeZBwBrQYz4nIyGqlF8Wm7C1Hr7idQ9NHgnvJM+LSjZwS1C+qALMGw== dependencies: body-parser "^1.19.0" braces "^3.0.2" @@ -7294,9 +7139,10 @@ karma@~6.3.0: http-proxy "^1.18.1" isbinaryfile "^4.0.8" lodash "^4.17.21" - log4js "^6.3.0" + log4js "^6.4.1" mime "^2.5.2" minimatch "^3.0.4" + mkdirp "^0.5.5" qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" @@ -7314,9 +7160,9 @@ keygrip@~1.1.0: tsscmp "1.0.6" keyv@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.5.tgz#bb12b467aba372fab2a44d4420c00d3c4ebd484c" - integrity sha512-531pkGLqV3BMg0eDqqJFI0R1mkK1Nm5xIP2mM6keP5P8WfFtCkg2IOwplTUmlGoTgIg9yQYZ/kdihhz89XH3vA== + version "4.1.1" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.1.tgz#02c538bfdbd2a9308cc932d4096f05ae42bfa06a" + integrity sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ== dependencies: json-buffer "3.0.1" @@ -7572,7 +7418,7 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log4js@^6.3.0: +log4js@^6.4.1: version "6.4.1" resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.1.tgz#9d3a8bf2c31c1e213fe3fc398a6053f7a2bc53e8" integrity sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg== @@ -7611,6 +7457,11 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.3.0: + version "7.3.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.3.1.tgz#7702e80694ec2bf19865567a469f2b081fcf53f5" + integrity sha512-nX1x4qUrKqwbIAhv4s9et4FIUVzNOpeY07bsjGUy8gwJrXH/wScImSQqXErmo/b2jZY2r0mohbLA9zVj7u1cNw== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7664,27 +7515,27 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.0.tgz#a2dc77ec1ebf082927f4dc6eaa70227f72e5a250" - integrity sha512-CREcDkbKZZ64g5MN1FT+u58mDHX9FQFFtFyio5HonX44BdQdytqPZBXUz+6ibi2w/6ncji59f2phyXGSMGpgzA== +make-fetch-happen@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.1.tgz#fb374080b454ae0591c55342c19813943de9370a" + integrity sha512-xJVRzemKMb9r2gZ5DJfkvbeSGbBKOtwI4G8hJ1Ak/2jIFJFveyQxN3d2OhXlAk7rLzAL/O+Ge8u+nb6/Zrrd9w== dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" + agentkeepalive "^4.2.0" + cacache "^15.3.0" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" + lru-cache "^7.3.0" + minipass "^3.1.6" minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" + minipass-fetch "^1.4.1" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" negotiator "^0.6.3" promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" + socks-proxy-agent "^6.1.1" + ssri "^8.0.1" make-fetch-happen@^9.1.0: version "9.1.0" @@ -7806,7 +7657,7 @@ mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== @@ -7870,20 +7721,20 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@3.0.5: +"minimatch@2 || 3", minimatch@3.0.5, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== dependencies: brace-expansion "^1.1.7" +minimatch@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -7905,7 +7756,7 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: +minipass-fetch@^1.3.2, minipass-fetch@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== @@ -7945,14 +7796,14 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" -minizlib@^2.0.0, minizlib@^2.1.1: +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -8035,7 +7886,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.1.30, nanoid@^3.2.0: +nanoid@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== @@ -8059,12 +7910,7 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -negotiator@^0.6.2, negotiator@^0.6.3: +negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -8125,9 +7971,9 @@ nice-napi@^1.0.2: node-gyp-build "^4.2.2" nock@^13.0.3: - version "13.2.2" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.2.tgz#29a6942250278209c2b3e7a38310f703581b21fa" - integrity sha512-PcBHuvl9i6zfaJ50A7LS55oU+nFLv8htXIhffJO+FxyfibdZ4jEvd9kTuvkrJireBFIGMZ+oUIRpMK5gU9h//g== + version "13.2.4" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.4.tgz#43a309d93143ee5cdcca91358614e7bde56d20e1" + integrity sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug== dependencies: debug "^4.1.0" json-stringify-safe "^5.0.1" @@ -8181,9 +8027,9 @@ node-gyp@^8.2.0: which "^2.0.2" node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== nopt@^4.0.1: version "4.0.3" @@ -8254,7 +8100,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.1.5, npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2: +npm-package-arg@8.1.5, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: version "8.1.5" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== @@ -8284,16 +8130,16 @@ npm-pick-manifest@6.1.1, npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: semver "^7.3.4" npm-registry-fetch@^12.0.0: - version "12.0.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-12.0.1.tgz#211eff2483b1e71706c9a7ce891182ab3ea9168b" - integrity sha512-ricy4ezH3Uv0d4am6RSwHjCYTWJI74NJjurIigWMAG7Vs3PFyd0TUlkrez5L0AgaPzDLRsEzqb5cOZ/Ue01bmA== + version "12.0.2" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz#ae583bb3c902a60dae43675b5e33b5b1f6159f1e" + integrity sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA== dependencies: - make-fetch-happen "^10.0.0" - minipass "^3.1.3" - minipass-fetch "^1.3.0" + make-fetch-happen "^10.0.1" + minipass "^3.1.6" + minipass-fetch "^1.4.1" minipass-json-stream "^1.0.1" - minizlib "^2.0.0" - npm-package-arg "^8.0.0" + minizlib "^2.1.2" + npm-package-arg "^8.1.5" npm-run-path@^4.0.1: version "4.0.1" @@ -8303,11 +8149,11 @@ npm-run-path@^4.0.1: path-key "^3.0.0" npmlog@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.0.tgz#ba9ef39413c3d936ea91553db7be49c34ad0520c" - integrity sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q== + version "6.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.1.tgz#06f1344a174c06e8de9c6c70834cfba2964bba17" + integrity sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg== dependencies: - are-we-there-yet "^2.0.0" + are-we-there-yet "^3.0.0" console-control-strings "^1.1.0" gauge "^4.0.0" set-blocking "^2.0.0" @@ -8882,16 +8728,16 @@ postcss-clamp@^3.0.0: postcss-value-parser "^4.1.0" postcss-color-functional-notation@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.1.tgz#a25e9e1855e14d04319222a689f120b3240d39e0" - integrity sha512-62OBIXCjRXpQZcFOYIXwXBlpAVWrYk8ek1rcjvMING4Q2cf0ipyN9qT+BhHA6HmftGSEnFQu2qgKO3gMscl3Rw== + version "4.2.2" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" + integrity sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ== dependencies: postcss-value-parser "^4.2.0" postcss-color-hex-alpha@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.2.tgz#7a248b006dd47bd83063f662352d31fd982f74ec" - integrity sha512-gyx8RgqSmGVK156NAdKcsfkY3KPGHhKqvHTL3hhveFrBBToguKFzhyiuk3cljH6L4fJ0Kv+JENuPXs1Wij27Zw== + version "8.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz#61a0fd151d28b128aa6a8a21a2dad24eebb34d52" + integrity sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw== dependencies: postcss-value-parser "^4.2.0" @@ -8922,39 +8768,39 @@ postcss-custom-selectors@^6.0.0: postcss-selector-parser "^6.0.4" postcss-dir-pseudo-class@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.3.tgz#febfe305e75267913a53bf5094c7679f5cfa9b55" - integrity sha512-qiPm+CNAlgXiMf0J5IbBBEXA9l/Q5HGsNGkL3znIwT2ZFRLGY9U2fTUpa4lqCUXQOxaLimpacHeQC80BD2qbDw== + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz#9afe49ea631f0cb36fa0076e7c2feb4e7e3f049c" + integrity sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw== dependencies: - postcss-selector-parser "^6.0.8" + postcss-selector-parser "^6.0.9" postcss-double-position-gradients@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.4.tgz#2484b9785ef3ba81b0f03a279c52ec58fc5344c2" - integrity sha512-qz+s5vhKJlsHw8HjSs+HVk2QGFdRyC68KGRQGX3i+GcnUjhWhXQEmCXW6siOJkZ1giu0ddPwSO6I6JdVVVPoog== + version "3.0.5" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.5.tgz#f6b755e9850bb9816dfbf8fa346d9ce2e8a03848" + integrity sha512-XiZzvdxLOWZwtt/1GgHJYGoD9scog/DD/yI5dcvPrXNdNDEv7T53/6tL7ikl+EM3jcerII5/XIQzd1UHOdTi2w== dependencies: postcss-value-parser "^4.2.0" postcss-env-function@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.4.tgz#4e85359ca4fcdde4ec4b73752a41de818dbe91cc" - integrity sha512-0ltahRTPtXSIlEZFv7zIvdEib7HN0ZbUQxrxIKn8KbiRyhALo854I/CggU5lyZe6ZBvSTJ6Al2vkZecI2OhneQ== + version "4.0.5" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" + integrity sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA== dependencies: postcss-value-parser "^4.2.0" postcss-focus-visible@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.3.tgz#14635b71a6b9140f488f11f26cbc9965a13f6843" - integrity sha512-ozOsg+L1U8S+rxSHnJJiET6dNLyADcPHhEarhhtCI9DBLGOPG/2i4ddVoFch9LzrBgb8uDaaRI4nuid2OM82ZA== + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" + integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== dependencies: - postcss-selector-parser "^6.0.8" + postcss-selector-parser "^6.0.9" postcss-focus-within@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.3.tgz#0b0bf425f14a646bbfd973b463e2d20d85a3a841" - integrity sha512-fk9y2uFS6/Kpp7/A9Hz9Z4rlFQ8+tzgBcQCXAFSrXFGAbKx+4ZZOmmfHuYjCOMegPWoz0pnC6fNzi8j7Xyqp5Q== + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" + integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== dependencies: - postcss-selector-parser "^6.0.8" + postcss-selector-parser "^6.0.9" postcss-font-variant@^5.0.0: version "5.0.0" @@ -8962,14 +8808,14 @@ postcss-font-variant@^5.0.0: integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== postcss-gap-properties@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.2.tgz#562fbf43a6a721565b3ca0e01008690991d2f726" - integrity sha512-EaMy/pbxtQnKDsnbEjdqlkCkROTQZzolcLKgIE+3b7EuJfJydH55cZeHfm+MtIezXRqhR80VKgaztO/vHq94Fw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz#6401bb2f67d9cf255d677042928a70a915e6ba60" + integrity sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ== postcss-image-set-function@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.5.tgz#8cb3a971507e2c00d5532658af62529c89f0ecc6" - integrity sha512-D4jXzlypkJ6BiSoUGazrRlR+GF3SED+BeiRDzOmuinDKdAn/Wuu8KtEGa5Z4pg4kxyeSMBywMgNt2+Yi/TZPPw== + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz#bcff2794efae778c09441498f40e0c77374870a9" + integrity sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A== dependencies: postcss-value-parser "^4.2.0" @@ -8988,9 +8834,9 @@ postcss-initial@^4.0.1: integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== postcss-lab-function@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.0.3.tgz#633745b324afbcd5881da85fe2cef58b17487536" - integrity sha512-MH4tymWmefdZQ7uVG/4icfLjAQmH6o2NRYyVh2mKoB4RXJp9PjsyhZwhH4ouaCQHvg+qJVj3RzeAR1EQpIlXZA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.0.4.tgz#504747ab2754e046fb01e72779bbb434a05357df" + integrity sha512-TAEW8X/ahMYV33mvLFQARtBPAy1VVJsiR9VVx3Pcbu+zlqQj0EIyJ/Ie1/EwxwIt530CWtEDzzTXBDzfdb+qIQ== dependencies: postcss-value-parser "^4.2.0" @@ -9004,9 +8850,9 @@ postcss-loader@6.2.1: semver "^7.3.5" postcss-logical@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.3.tgz#9934e0fb16af70adbd94217b24d2f315ceb5c2f0" - integrity sha512-P5NcHWYrif0vK8rgOy/T87vg0WRIj3HSknrvp1wzDbiBeoDPVmiVRmkown2eSQdpPveat/MC1ess5uhzZFVnqQ== + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" + integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== postcss-media-minmax@^5.0.0: version "5.0.0" @@ -9054,9 +8900,9 @@ postcss-opacity-percentage@^1.1.1, postcss-opacity-percentage@^1.1.2: integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== postcss-overflow-shorthand@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.2.tgz#b4e9c89728cd1e4918173dfb95936b75f78d4148" - integrity sha512-odBMVt6PTX7jOE9UNvmnLrFzA9pXS44Jd5shFGGtSHY80QCuJF+14McSy0iavZggRZ9Oj//C9vOKQmexvyEJMg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz#ebcfc0483a15bbf1b27fdd9b3c10125372f4cbc2" + integrity sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg== postcss-page-break@^3.0.4: version "3.0.4" @@ -9064,13 +8910,13 @@ postcss-page-break@^3.0.4: integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== postcss-place@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.3.tgz#ca8040dfd937c7769a233a3bd6e66e139cf89e62" - integrity sha512-tDQ3m+GYoOar+KoQgj+pwPAvGHAp/Sby6vrFiyrELrMKQJ4AejL0NcS0mm296OKKYA2SRg9ism/hlT/OLhBrdQ== + version "7.0.4" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.4.tgz#eb026650b7f769ae57ca4f938c1addd6be2f62c9" + integrity sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg== dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.3.0, postcss-preset-env@^7.2.3: +postcss-preset-env@7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== @@ -9114,7 +8960,7 @@ postcss-preset-env@7.3.0, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.3.1: +postcss-preset-env@7.3.1, postcss-preset-env@^7.2.3: version "7.3.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" integrity sha512-x7fNsJxfkY60P4FUNwhJUOfXBFfnObd2EcUYY97sXZ0XRLgmAE65es9EFIYHq1rAk7X3LMfbG+L9wYgkrNsq5Q== @@ -9159,9 +9005,9 @@ postcss-preset-env@7.3.1: postcss-selector-not "^5.0.0" postcss-pseudo-class-any-link@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.0.tgz#88eb02b9529c5458ffebc68df3760534b6c9fbbf" - integrity sha512-l7sAkLmm3bYq8wt8/0r/dn6o9mVCPq7MOiNrb/Xi2zBlw/+w1V2jKFo/3IijKHfJ92SwDqkVLPwQfGO3xxUdAw== + version "7.1.1" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" + integrity sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg== dependencies: postcss-selector-parser "^6.0.9" @@ -9208,7 +9054,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.6, postcss@^8.4.5: +postcss@8.4.6, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== @@ -9217,15 +9063,6 @@ postcss@8.4.6, postcss@^8.4.5: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7: - version "8.4.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" - integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9619,10 +9456,10 @@ reflect-metadata@^0.1.13, reflect-metadata@^0.1.2: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== +regenerate-unicode-properties@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" + integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== dependencies: regenerate "^1.4.2" @@ -9661,27 +9498,27 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== +regexpu-core@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" + integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== +regjsgen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" + integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== +regjsparser@^0.8.2: + version "0.8.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" + integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== dependencies: jsesc "~0.5.0" @@ -9898,9 +9735,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.66.1: - version "2.66.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.1.tgz#366b0404de353c4331d538c3ad2963934fcb4937" - integrity sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w== + version "2.67.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.2.tgz#d95e15f60932ad21e05a870bd0aa0b235d056f04" + integrity sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw== optionalDependencies: fsevents "~2.3.2" @@ -9936,9 +9773,9 @@ rxjs@^5.5.6: symbol-observable "1.0.1" rxjs@^7.2.0, rxjs@^7.5.2: - version "7.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" - integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== + version "7.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" + integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== dependencies: tslib "^2.1.0" @@ -10234,9 +10071,9 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== slash@^3.0.0: version "3.0.0" @@ -10253,7 +10090,7 @@ slide@~1.1.3: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= -smart-buffer@^4.1.0: +smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== @@ -10345,7 +10182,7 @@ sockjs@^0.3.21: uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.0.0: +socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== @@ -10355,12 +10192,12 @@ socks-proxy-agent@^6.0.0: socks "^2.6.1" socks@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" - integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== + version "2.6.2" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" + integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== dependencies: ip "^1.1.5" - smart-buffer "^4.1.0" + smart-buffer "^4.2.0" sonic-boom@^1.0.2: version "1.4.1" @@ -10834,11 +10671,11 @@ temp@^0.9.0: rimraf "~2.6.2" terser-webpack-plugin@^5.1.3: - version "5.3.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz#21641326486ecf91d8054161c816e464435bae9f" - integrity sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ== + version "5.3.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" + integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== dependencies: - jest-worker "^27.4.1" + jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" source-map "^0.6.1" @@ -11029,9 +10866,9 @@ trim-newlines@^3.0.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0, ts-node@^10.2.1: - version "10.4.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" - integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== + version "10.5.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" + integrity sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -11044,6 +10881,7 @@ ts-node@^10.0.0, ts-node@^10.2.1: create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" + v8-compile-cache-lib "^3.0.0" yn "3.1.1" tsconfig-paths@^3.12.0: @@ -11184,9 +11022,9 @@ type@^1.0.1: integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" - integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" + integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== typed-assert@^1.0.8: version "1.0.8" @@ -11219,9 +11057,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.0.tgz#2d6a689d94783cab43975721977a13c2afec28f1" - integrity sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg== + version "3.15.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.1.tgz#9403dc6fa5695a6172a91bc983ea39f0f7c9086d" + integrity sha512-FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ== unbox-primitive@^1.0.1: version "1.0.1" @@ -11356,6 +11194,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +v8-compile-cache-lib@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" + integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" @@ -11783,20 +11626,15 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@8.5.0: +ws@8.5.0, ws@>=7.4.6, ws@^8.4.2: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== -ws@>=7.4.6, ws@^8.4.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" - integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== - ws@^7.0.0: - version "7.5.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" - integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== ws@~7.4.2: version "7.4.6" From 5792a2f70cf5be7f9eaf333c5133f3a275f51f83 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Feb 2022 10:22:57 +0000 Subject: [PATCH 0088/1388] build: update dependency npm-pick-manifest to v7 --- packages/angular/cli/package.json | 2 +- yarn.lock | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 541204b744ed..494f4f3762bb 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,7 +36,7 @@ "inquirer": "8.2.0", "jsonc-parser": "3.0.0", "npm-package-arg": "8.1.5", - "npm-pick-manifest": "6.1.1", + "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", "pacote": "12.0.3", diff --git a/yarn.lock b/yarn.lock index a96427e7b8d4..6ae95f20d894 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6098,7 +6098,7 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.1: +hosted-git-info@^4.0.1, hosted-git-info@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== @@ -8109,6 +8109,15 @@ npm-package-arg@8.1.5, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-packa semver "^7.3.4" validate-npm-package-name "^3.0.0" +npm-package-arg@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.0.tgz#955a5e4735298fc23f71cb72da3574daa134340c" + integrity sha512-yhzXxeor+Zfhe5MGwPdDumz6HtNlj2pMekWB95IX3CC6uDNgde0oPKHDCLDPoJqQfd0HqAWt+y4Hs5m7CK1+9Q== + dependencies: + hosted-git-info "^4.1.0" + semver "^7.3.5" + validate-npm-package-name "^3.0.0" + npm-packlist@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-3.0.0.tgz#0370df5cfc2fcc8f79b8f42b37798dd9ee32c2a9" @@ -8119,7 +8128,17 @@ npm-packlist@^3.0.0: npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@6.1.1, npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: +npm-pick-manifest@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.0.tgz#e3b18b09678a47e894f90941bef8204ea5d96c3b" + integrity sha512-njM1AcdioFaKd0JSGtLO09YA1WRwctjGQJbnHGmKS+u+uwP8oFvtZtOQWPYdxrnY5eJud3wn8OpH4sEIx6+GEQ== + dependencies: + npm-install-checks "^4.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== From 6323e1bbcdeacdb4c6d6f7444156f0605525916d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Feb 2022 08:58:01 +0000 Subject: [PATCH 0089/1388] build: update all non-major dependencies --- package.json | 4 ++-- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 17 ++++++++++++----- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 1bc31e454192..7e2430070873 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "**/ajv-formats/ajv": "8.10.0" }, "devDependencies": { - "@ampproject/remapping": "2.1.0", + "@ampproject/remapping": "2.1.1", "@angular/animations": "14.0.0-next.2", "@angular/cdk": "14.0.0-next.2", "@angular/common": "14.0.0-next.2", @@ -189,7 +189,7 @@ "postcss-preset-env": "7.3.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.3.0", + "puppeteer": "13.3.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ca8ed7d79fdf..fb2a60adbcd3 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,7 +6,7 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "2.1.0", + "@ampproject/remapping": "2.1.1", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", diff --git a/yarn.lock b/yarn.lock index 6ae95f20d894..9d954d419433 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,7 +35,14 @@ "@jridgewell/trace-mapping" "^0.2.2" sourcemap-codec "1.4.8" -"@ampproject/remapping@2.1.0", "@ampproject/remapping@^2.0.0": +"@ampproject/remapping@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.1.tgz#7922fb0817bf3166d8d9e258c57477e3fd1c3610" + integrity sha512-Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + +"@ampproject/remapping@^2.0.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== @@ -9233,10 +9240,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.0.tgz#610efb11c7ca4a5c28d7efa84c91f5187b10564b" - integrity sha512-qEsXUQhF4mcF++0O5N7mW7jcVXqztC9fWYj14s2xNrd16SD1U/rCfV0BYE6/MBK7sHXi400qJlxWv7INYytZtQ== +puppeteer@13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.1.tgz#4ec91eaa8a08653bfcdc9d607c6189b3804b29de" + integrity sha512-nYTR+LP1amGs5BALSoGLbw+QxQZS//7HsKKSrxaMAIic0AE3iIr10E7gcZEsP/4JcxBfgNyT3SPUyEOS6Wb0fQ== dependencies: cross-fetch "3.1.5" debug "4.3.3" From 0096ffe4f88f5d26af98e7f4dc258d1281e4ccf6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Feb 2022 12:00:52 +0000 Subject: [PATCH 0090/1388] build: update dependency npm-package-arg to v9 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 7e2430070873..c2164ac79c86 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "minimist": "^1.2.0", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", - "npm-package-arg": "8.1.5", + "npm-package-arg": "9.0.0", "open": "8.4.0", "ora": "5.4.1", "pacote": "12.0.3", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 494f4f3762bb..11af8a5a2882 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "ini": "2.0.0", "inquirer": "8.2.0", "jsonc-parser": "3.0.0", - "npm-package-arg": "8.1.5", + "npm-package-arg": "9.0.0", "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", diff --git a/yarn.lock b/yarn.lock index 9d954d419433..16240b42e6f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8107,16 +8107,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.1.5, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: - version "8.1.5" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" - integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== - dependencies: - hosted-git-info "^4.0.1" - semver "^7.3.4" - validate-npm-package-name "^3.0.0" - -npm-package-arg@^9.0.0: +npm-package-arg@9.0.0, npm-package-arg@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.0.tgz#955a5e4735298fc23f71cb72da3574daa134340c" integrity sha512-yhzXxeor+Zfhe5MGwPdDumz6HtNlj2pMekWB95IX3CC6uDNgde0oPKHDCLDPoJqQfd0HqAWt+y4Hs5m7CK1+9Q== @@ -8125,6 +8116,15 @@ npm-package-arg@^9.0.0: semver "^7.3.5" validate-npm-package-name "^3.0.0" +npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: + version "8.1.5" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" + integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== + dependencies: + hosted-git-info "^4.0.1" + semver "^7.3.4" + validate-npm-package-name "^3.0.0" + npm-packlist@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-3.0.0.tgz#0370df5cfc2fcc8f79b8f42b37798dd9ee32c2a9" From 0301895e2efe12b025a12ce2610be430d13192b2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Feb 2022 13:48:12 +0000 Subject: [PATCH 0091/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 423 +++++++----------- 6 files changed, 186 insertions(+), 277 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ca29f1be5ad0..7ad964603ef3 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2c23378f310c42b482d246886ed2aab1550dc650 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fc71e037ade972136bc214df0f6c41ec04eb742a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index afa2a3ef11b0..abe13097259c 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -12,6 +12,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@2c23378f310c42b482d246886ed2aab1550dc650 + - uses: angular/dev-infra/github-actions/feature-request@fc71e037ade972136bc214df0f6c41ec04eb742a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 1f715dec77cf..423fb800aa78 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@2c23378f310c42b482d246886ed2aab1550dc650 + - uses: angular/dev-infra/github-actions/lock-closed@fc71e037ade972136bc214df0f6c41ec04eb742a with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index c2164ac79c86..aab55bda3b55 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.2", "@angular/compiler-cli": "14.0.0-next.2", "@angular/core": "14.0.0-next.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7098b7fe950e96c0f16d16de25853026889de75e", "@angular/forms": "14.0.0-next.2", "@angular/localize": "14.0.0-next.2", "@angular/material": "14.0.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 3fa3032cfd47..e6071c368a45 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#bb49680b8beeadce704c05b6826a2dccd036487f", - "@angular/cdk": "github:angular/cdk-builds#0cb89fe275fcfd9a73c9da2c3d22f04278992e6b", - "@angular/common": "github:angular/common-builds#2bfb9a88498280d0d979fb0f4fc77a38277ca066", - "@angular/compiler": "github:angular/compiler-builds#fa3959629b0706306981b1352523a4364b63f80f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#5cd40e3fb72aeb5d2d89c8c85faace79ac46e969", - "@angular/core": "github:angular/core-builds#3a9b6f815d7139f3a813f38a8053a25d3da3e1e4", - "@angular/forms": "github:angular/forms-builds#0e74f01aac66f84d0f7851941a9d0f45ff7400fe", - "@angular/language-service": "github:angular/language-service-builds#371df0ff00c77a5002d40fbdb4fb1e42d0ed7360", - "@angular/localize": "github:angular/localize-builds#cd4861493639ea0f40e17e57ae374078dd49f672", - "@angular/material": "github:angular/material2-builds#4f7937a57cf8c61910e880c40298bb77e3c0aa1a", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6b7f6c8bc11e99ca46d4b1213784e93ba6e3f058", - "@angular/platform-browser": "github:angular/platform-browser-builds#d62d27d91e58563dd3c386f76222543b186a8f23", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aef4da6f8e9cbc2bd90672a23cc9c5e536d94cbd", - "@angular/platform-server": "github:angular/platform-server-builds#18e596f8021a4d36c528bfae3802f2763f34de81", - "@angular/router": "github:angular/router-builds#bfd6ea488b70ae1337842caf782f98dd545286aa", - "@angular/service-worker": "github:angular/service-worker-builds#fd7b7a70389282caf22d25a6f36915a03d2ef262" + "@angular/animations": "github:angular/animations-builds#322be440594b23a7f272f718046895136ae5a466", + "@angular/cdk": "github:angular/cdk-builds#d7de00cded358df2c0f4354605642d45fbf81063", + "@angular/common": "github:angular/common-builds#27166151402e62387530672c9b8a563effcde5cb", + "@angular/compiler": "github:angular/compiler-builds#658f919d7f2799556374662a4dfdc84df839906f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#7bca9e73272ddb4c29b0518b06ffd61b189d0f4b", + "@angular/core": "github:angular/core-builds#1db2452dc694d7a40b943bfaf001b15c3a0a4b04", + "@angular/forms": "github:angular/forms-builds#1e8a41bcc38a701ba1c88149bea39fafc527c533", + "@angular/language-service": "github:angular/language-service-builds#aef79cb78dfcae5d9db2a677aded184be3b5d495", + "@angular/localize": "github:angular/localize-builds#c1f754c181ccfde3d6e48548985b371542f721cd", + "@angular/material": "github:angular/material2-builds#d66d54cb39157bfd6f19214492459f137b20c0e0", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#377243c355dac3138af66ef4473521ab0ec2a32f", + "@angular/platform-browser": "github:angular/platform-browser-builds#72a217764b393eb80e000c485f70909de4f7e3b9", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#92bf3c2fda7fc55e5fab59f510aadb1c7352816c", + "@angular/platform-server": "github:angular/platform-server-builds#2c9a63a19c8211098289f99c4f549948e10897e3", + "@angular/router": "github:angular/router-builds#d748d581bb03e605f75ec363a3258c0e39522e21", + "@angular/service-worker": "github:angular/service-worker-builds#d06692363bc229e7c911611adff88b9656e20ab0" } } diff --git a/yarn.lock b/yarn.lock index 16240b42e6f7..61302b25b48c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,14 +26,12 @@ dependencies: tunnel "0.0.6" -"@ampproject/remapping@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.1.tgz#9a04a4aba7b8323b65498d9554a1bdd15d960296" - integrity sha512-EldHF4Ufj3NL9yCAmYrPzY+3/Yqrzxu24F4Mu4nRjK3w70AKYRmhuLwGZdA9JeoDsbIwkgGkbqUK2INuF582Og== +"@ampproject/remapping@2.1.0", "@ampproject/remapping@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" + integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/trace-mapping" "^0.2.2" - sourcemap-codec "1.4.8" + "@jridgewell/trace-mapping" "^0.3.0" "@ampproject/remapping@2.1.1": version "2.1.1" @@ -42,41 +40,34 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" - integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - -"@angular-devkit/architect@0.1400.0-next.0": - version "0.1400.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.0.tgz#b3998f71f7132c2a89ade8ca6fa770585371f7a0" - integrity sha512-jzHzQwgvnMedZ6vcquTshGkO4kuRUS67dn+BCJVkJiMjHn8ev0jNGt6mo6D8BQlUNn5vtCDMXsPvVEFid5uFww== +"@angular-devkit/architect@0.1400.0-next.1": + version "0.1400.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.1.tgz#367b1b8aa9d016a0c65857ee8d3e3a8ceef8e1a8" + integrity sha512-cWxlhdwczu3jzD3ywzn/WOnpLo2xH6QV9t+8a9eGCzV1m574lT+3YheqSEtuB4LWPaS/axHoS+WM5QQ9XacyMQ== dependencies: - "@angular-devkit/core" "14.0.0-next.0" + "@angular-devkit/core" "14.0.0-next.1" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.0.tgz#d986e47a6ba54d80b59e7255cb69451b63ff8e24" - integrity sha512-EEIwZShoORjSiyEVPjFDdpreSeXvM7+k2OBcdIn4RgVwd9cdzTGvYmom+c0TnzNvxaXTTUMBWLiukdSxQiE/2g== - dependencies: - "@ampproject/remapping" "2.0.1" - "@angular-devkit/architect" "0.1400.0-next.0" - "@angular-devkit/build-webpack" "0.1400.0-next.0" - "@angular-devkit/core" "14.0.0-next.0" - "@babel/core" "7.16.12" - "@babel/generator" "7.16.8" +"@angular-devkit/build-angular@14.0.0-next.1": + version "14.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.1.tgz#51748f743ebc5c31b6ca855f8851e44c232a7235" + integrity sha512-Y1TRP/JFpxw2SCAfnJbLx5O6i5sl7/1EGiDrzHJlKagFR7dgk2euPuslZZ5YnJHlHKthAqWMYRd6X9FI85007A== + dependencies: + "@ampproject/remapping" "2.1.0" + "@angular-devkit/architect" "0.1400.0-next.1" + "@angular-devkit/build-webpack" "0.1400.0-next.1" + "@angular-devkit/core" "14.0.0-next.1" + "@babel/core" "7.17.0" + "@babel/generator" "7.17.0" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" - "@babel/plugin-transform-runtime" "7.16.10" + "@babel/plugin-transform-runtime" "7.17.0" "@babel/preset-env" "7.16.11" - "@babel/runtime" "7.16.7" + "@babel/runtime" "7.17.0" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "14.0.0-next.0" + "@ngtools/webpack" "14.0.0-next.1" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" @@ -86,7 +77,7 @@ core-js "3.21.0" critters "0.0.16" css-loader "6.6.0" - esbuild-wasm "0.14.17" + esbuild-wasm "0.14.20" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" @@ -97,7 +88,7 @@ license-webpack-plugin "4.0.1" loader-utils "3.2.0" mini-css-extract-plugin "2.5.3" - minimatch "3.0.4" + minimatch "3.0.5" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" @@ -105,7 +96,7 @@ postcss "8.4.6" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "7.3.0" + postcss-preset-env "7.3.1" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" @@ -126,22 +117,22 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.17" + esbuild "0.14.20" -"@angular-devkit/build-webpack@0.1400.0-next.0": - version "0.1400.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.0.tgz#1d25a7b5648ac7df9c8b07eef0012c8a943b1902" - integrity sha512-MOMOXgKFMmPIh9Vd4OgCxKbLzqWlamxnDY+h+1F3hBB+l1TSWFIMT/yLtExBKtBnXcFBjkRkcRFBmt8nAPebvA== +"@angular-devkit/build-webpack@0.1400.0-next.1": + version "0.1400.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.1.tgz#86a193a39bc072fdaeb8df8e74f1552a42d3ae4e" + integrity sha512-/N5ajo28T78E57MVWKpt+5u0IuS91O0R8TriI0V3TlD/Kjf6HCc8A/2JPZtXRiAP/jC93Iuees7WApVAxwk8fg== dependencies: - "@angular-devkit/architect" "0.1400.0-next.0" + "@angular-devkit/architect" "0.1400.0-next.1" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.0.tgz#e0ba5062c07bcf920646699ec07846e77c00379c" - integrity sha512-cC+/wIWfwhDIBLIgLGyEf/6H/oGsFVrKJ5cTzDJ6kW0w8ndbqH3gS0QSZzq1xw0ZNblB4KMTIn11Yq8uT1CJOg== +"@angular-devkit/core@14.0.0-next.1": + version "14.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.1.tgz#1a375e3264c8c37d7a5727bfad168a981ae62346" + integrity sha512-tOcpU1QTDXtlnuWL2mmUiPAwiQ7P44tlb1dyX7okrzbAw41+bu6l4NaX5F1sqoNBbphRq9cy5tGYnIP5e/dKvQ== dependencies: - ajv "8.9.0" + ajv "8.10.0" ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" @@ -216,13 +207,14 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966": - version "0.0.0-2c23378f310c42b482d246886ed2aab1550dc650" - resolved "https://github.com/angular/dev-infra-private-builds.git#bc95d30fc481710a0634188e5a47ab08246cd966" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7098b7fe950e96c0f16d16de25853026889de75e": + version "0.0.0-fc71e037ade972136bc214df0f6c41ec04eb742a" + uid "7098b7fe950e96c0f16d16de25853026889de75e" + resolved "https://github.com/angular/dev-infra-private-builds.git#7098b7fe950e96c0f16d16de25853026889de75e" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" - "@angular-devkit/build-angular" "14.0.0-next.0" + "@angular-devkit/build-angular" "14.0.0-next.1" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/bazelisk" "^1.10.1" @@ -356,26 +348,26 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== -"@babel/core@7.16.12": - version "7.16.12" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" - integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== +"@babel/core@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" + integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== dependencies: + "@ampproject/remapping" "^2.0.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" + "@babel/generator" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.12" + "@babel/helpers" "^7.17.0" + "@babel/parser" "^7.17.0" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.10" - "@babel/types" "^7.16.8" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.1.2" semver "^6.3.0" - source-map "^0.5.0" "@babel/core@7.17.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": version "7.17.2" @@ -419,16 +411,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" - integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== - dependencies: - "@babel/types" "^7.16.8" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@7.17.0", "@babel/generator@^7.16.8", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": +"@babel/generator@7.17.0", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== @@ -635,7 +618,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.7", "@babel/helpers@^7.17.2", "@babel/helpers@^7.8.4": +"@babel/helpers@^7.17.0", "@babel/helpers@^7.17.2", "@babel/helpers@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== @@ -653,7 +636,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.8.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== @@ -1099,18 +1082,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@7.16.10": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz#53d9fd3496daedce1dd99639097fa5d14f4c7c2c" - integrity sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" @@ -1265,10 +1236,10 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" - integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== +"@babel/runtime@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" + integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== dependencies: regenerator-runtime "^0.13.4" @@ -1288,7 +1259,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.8.6": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== @@ -1508,19 +1479,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.9": +"@jridgewell/sourcemap-codec@^1.4.10": version "1.4.10" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== -"@jridgewell/trace-mapping@^0.2.2": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz#d45be64544788e32c7ea5c8faa16a7000d840b5b" - integrity sha512-ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.9" - "@jridgewell/trace-mapping@^0.3.0": version "0.3.4" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" @@ -1579,10 +1542,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@14.0.0-next.0": - version "14.0.0-next.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.0.tgz#45527b75ae29525a26c59ff4fb2008c6b687aa0e" - integrity sha512-fmNXQgiR9QhtWoiss+1/eYiDZhs2xv6eMBubargv6mxymMXQpt9dskCvrHU3aOPo68y0SZz/Yg71Fhh2jqW5Tw== +"@ngtools/webpack@14.0.0-next.1": + version "14.0.0-next.1" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.1.tgz#f03e01bd9e57eeaf573a441fd9f5e7af8cbe0baa" + integrity sha512-ul7eX7ExSKwZbUO7O676INP/Mok9TGTT600b30T8Sd306DmQxH08AdvGbYqos9p2nA9oE1WcyGe1vDIFcgeCsQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2958,16 +2921,6 @@ ajv@8.10.0, ajv@^8.0.0, ajv@^8.8.0, ajv@^8.9.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" - integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -4893,110 +4846,110 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.17.tgz#7216810cb8d5b8cd03ce70bdc241dcdd90c34755" - integrity sha512-y7EJm8ADC9qKbo/dJ2zBXwNdIILJ76tTv7JDGvOkbLT8HJXIsgbpa0NJk7iFhyvP4GpsYvXTbvEQNn0DhyBhLA== +esbuild-android-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz#7d1e7391030d83e2d6745ac297d630bb33130b36" + integrity sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg== esbuild-android-arm64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz#8842d0c3b7c81fbe2dc46ddb416ffd6eb822184b" integrity sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ== -esbuild-darwin-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.17.tgz#1419e020f41814f8a74ce92b2dcab29a6d47e510" - integrity sha512-V2JAP8yyVbW6qR4SVXsEDqRicYM0x5niUuB05IFiE5itPI45k8j2dA2l+DtirR2SGXr+LEqgX347+2VA6eyTiA== +esbuild-darwin-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" + integrity sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ== esbuild-darwin-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz#ec7df02ad88ecf7f8fc23a3ed7917e07dea0c9c9" integrity sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ== -esbuild-darwin-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.17.tgz#95acf1022066d48346a63ffc5e4d36a07b83c9b0" - integrity sha512-ENkSKpjF4SImyA2TdHhKiZqtYc1DkMykICe1KSBw0YNF1sentjFI6wu+CRiYMpC7REf/3TQXoems2XPqIqDMlQ== +esbuild-darwin-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" + integrity sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg== esbuild-darwin-arm64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz#0c2a977edec1ef54097ee56a911518c820d4e5e4" integrity sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ== -esbuild-freebsd-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.17.tgz#a3455199862110854937b05a0eecbed3e1aeec41" - integrity sha512-2i0nTNJM8ftNTvtR00vdqkru8XpHwAbkR2MBLoK2IDSzjsLStwCj+mxf6v83eVM9Abe3QA8xP+irqOdBlwDQ2g== +esbuild-freebsd-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" + integrity sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A== esbuild-freebsd-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz#f5b5fc1d031286c3a0949d1bda7db774b7d0404e" integrity sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g== -esbuild-freebsd-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.17.tgz#8a70f2a36f5b0da7d2efdd6fd02aa78611007fd0" - integrity sha512-QOmRi1n+uly2G7BbMbHb86YiFA5aM7B2T96A6OF1VG57LNwXwy8LPVM0PVjl7f9cV3pE3fy3VtXPJHJo8XggTA== +esbuild-freebsd-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" + integrity sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg== esbuild-freebsd-arm64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz#a05cab908013e4992b31a675850b8c44eb468c0c" integrity sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA== -esbuild-linux-32@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.17.tgz#b7123f6e4780687e017454604d909fbe558862e9" - integrity sha512-qG5NDk7FHHUVw01rjHESON0HvigF2X80b645TUlgTKsWRlrbzzHhMCmQguA01O5PiCimKnyoxti8aJIFNHpQnQ== +esbuild-linux-32@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" + integrity sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ== esbuild-linux-32@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz#638d244cc58b951f447addb4bade628d126ef84b" integrity sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg== -esbuild-linux-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.17.tgz#47a6b510c2f7faef595a4d6257a629e65385fdc3" - integrity sha512-De8OcmNvfNyFfQRLWbfuZqau6NpYBJxNTLP7Ls/PqQcw0HAwfaYThutY8ozHpPbKFPa7wgqabXlIC4NVSWT0/A== +esbuild-linux-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" + integrity sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA== esbuild-linux-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz#8eb634abee928be7e35b985fafbfef2f2e31397f" integrity sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA== -esbuild-linux-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.17.tgz#dfd9022b7215ca660d464fcb20597b88887c7e64" - integrity sha512-WDEOD/YRA4J1lxhETKZff3gRxGYqqZEiVwIOqNfvCh2YcwWU2y6UmNGZsxcuKk18wot4dAXCXQyNZgBkVUTCLw== +esbuild-linux-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" + integrity sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q== esbuild-linux-arm64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz#e05599ea6253b58394157da162d856f3ead62f9e" integrity sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g== -esbuild-linux-arm@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.17.tgz#e6f6bb9fe52def5260d7d49b790fbec0e7c6d9cb" - integrity sha512-ZwsgFUk3gR2pEMJdh5z4Ds18fvGETgElPqmNdx1NtZTCOVlFMAwFB5u/tOR2FrXbMFv+LkGnNxPDh48PYPDz9A== +esbuild-linux-arm@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" + integrity sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g== esbuild-linux-arm@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz#1ae1078231cf689d3ba894a32d3723c0be9b91fd" integrity sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w== -esbuild-linux-mips64le@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.17.tgz#bceaad33ff18a822b6da0396c6497a231397b6c3" - integrity sha512-Lf4X9NB7r6imzp/11TaGs4kWL0DUn1JxI9gAAKotnKh6T8Y/0sLvZSvQS8WvSZcr0V8RRCrRZwiQqjOALUU/9g== +esbuild-linux-mips64le@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" + integrity sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A== esbuild-linux-mips64le@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz#f05be62d126764e99b37edcac5bb49b78c7a8890" integrity sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A== -esbuild-linux-ppc64le@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.17.tgz#9562f094d1e5e6c3b61b776b15a9bbd657042654" - integrity sha512-aExhxbrK7/Mh9FArdiC9MbvrQz2bGCDI8cBALKJbmhKg0h7LNt6y1E1S9GGBZ/ZXkHDvV9FFVrXXZKFVU5Qpiw== +esbuild-linux-ppc64le@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" + integrity sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA== esbuild-linux-ppc64le@0.14.21: version "0.14.21" @@ -5008,109 +4961,109 @@ esbuild-linux-riscv64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz#0db7bd6f10d8f9afea973a7d6bf87b449b864b7b" integrity sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q== -esbuild-linux-s390x@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.17.tgz#2963cfe62c227bbf1da64e36d4ca0b23db8008fe" - integrity sha512-b0T20rNcS7POi5YLw5dFlsiC+riobR5IfppQGn5NWer6QiIkdL1vOx9eC9CUD3z1itpkLboRAZYieZfKfhCA2Q== +esbuild-linux-s390x@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" + integrity sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA== esbuild-linux-s390x@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz#254a9354d34c9d1b41a3e21d2ec9269cbbb2c5df" integrity sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA== -esbuild-netbsd-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.17.tgz#1d156023f9ae6be79b8627ab0cda2d7feb7f3a48" - integrity sha512-pFgTaAa2JF18nqNfCND9wOu1jbZ/mbDSaMxUp5fTkLlofyHhXeb5aChgXUkeipty2Pgq0OwOnxjHmiAxMI7N4g== +esbuild-netbsd-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" + integrity sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg== esbuild-netbsd-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz#4cb783d060b02bf3b897a9a12cce2b3b547726f8" integrity sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g== -esbuild-openbsd-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.17.tgz#3fc44102c9b65375385112f4ce5899ae5e38f349" - integrity sha512-K5+plb6gsAfBcFqB0EG4KvLbgBKslVAfEyJggicwt/QoDwQGJAzao4M6zOA4PG7LlXOwWSqv7VmSFbH+b6DyKw== +esbuild-openbsd-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" + integrity sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg== esbuild-openbsd-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz#f886b93feefddbe573528fa4b421c9c6e2bc969b" integrity sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA== -esbuild-sunos-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.17.tgz#5bd24e7a7e863ea89d7e4eafd5364a155c9ea507" - integrity sha512-o1FINkbHRi9JB1YteOSXZdkDOmVUbmnCxRmTLkHvk8pfCFNpv/5/7ktt95teYKbEiJna2dEt3M4ckJ/+UVnW+w== +esbuild-sunos-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" + integrity sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ== esbuild-sunos-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz#3829e4d57d4cb6950837fe90b0b67cdfb37cf13a" integrity sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA== -esbuild-wasm@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.17.tgz#c51d01b31b06126c834aa998de8741f6bba0f2ec" - integrity sha512-82sE81izIfV3lOodn45XChrZY5jIROQXsKwZkjvv2oNA2xGK3kD5DqO4XlFPr1DLREGCZpEbbfJLgUQLNPGugg== +esbuild-wasm@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" + integrity sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA== esbuild-wasm@0.14.21, esbuild-wasm@^0.14.14: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.21.tgz#869858146731555c21dc49d1cd010b392ed305c7" integrity sha512-sPMyljBiKxXjW1wLd5dQnrUJR1PAt8ybSidXoZWJnMuB1mpdLju57LtstDWWkCgcaE+TGJJ6NqP/OtGyeDdEAA== -esbuild-windows-32@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.17.tgz#8bda31c550fb6b425707114141d2c6ba034dab9b" - integrity sha512-Qutilz0I7OADWBtWrC/FD+2O/TNAkhwbZ+wIns7kF87lxIMtmqpBt3KnMk1e4F47aTrZRr0oH55Zhztd7m2PAA== +esbuild-windows-32@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz#5e4db2758408e148e225f06c7724853386916c70" + integrity sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w== esbuild-windows-32@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz#b858a22d1a82e53cdc59310cd56294133f7a95e7" integrity sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A== -esbuild-windows-64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.17.tgz#50b42c06908d3ce9fab8f0f9673199de5d0f9cbc" - integrity sha512-b21/oRV+PHrav0HkRpKjbM2yNRVe34gAfbdMppbZFea416wa8SrjcmVfSd7n4jgqoTQG0xe+MGgOpwXtjiB3DQ== +esbuild-windows-64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" + integrity sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA== esbuild-windows-64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz#7bb5a027d5720cf9caf18a4bedd11327208f1f12" integrity sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA== -esbuild-windows-arm64@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.17.tgz#62d3921a810b64a03fcace76dad4db51d2128b45" - integrity sha512-4HN9E1idllewYvptcrrdfTA6DIWgg11kK0Zrv6yjxstJZLJeKxfilGBEaksLGs4Pst2rAYMx3H2vbYq7AWLQNA== +esbuild-windows-arm64@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" + integrity sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg== esbuild-windows-arm64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz#25df54521ad602c826b262ea2e7cc1fe80f5c2f5" integrity sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw== -esbuild@0.14.17: - version "0.14.17" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.17.tgz#6a634e56447aa0e90b34c42091d472d802d399e5" - integrity sha512-JLgyC6Uv31mv9T9Mm2xF1LntUMCNBSzvg2n32d8cTKZMwFr1wmMFY2FkVum98TSoEsDff0cR+Aj49H2sbBcjKQ== +esbuild@0.14.20: + version "0.14.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.20.tgz#e83fcb838463f220e864141752bb0f91bfc9c33a" + integrity sha512-7aRJRnTjHZ6rFEre52tsAYZxatVELSA/QvYGUBf1iOsYKCnSJICE5seugQFFJgV1Gyl0/mngxQPhxBIqgYG2BA== optionalDependencies: - esbuild-android-arm64 "0.14.17" - esbuild-darwin-64 "0.14.17" - esbuild-darwin-arm64 "0.14.17" - esbuild-freebsd-64 "0.14.17" - esbuild-freebsd-arm64 "0.14.17" - esbuild-linux-32 "0.14.17" - esbuild-linux-64 "0.14.17" - esbuild-linux-arm "0.14.17" - esbuild-linux-arm64 "0.14.17" - esbuild-linux-mips64le "0.14.17" - esbuild-linux-ppc64le "0.14.17" - esbuild-linux-s390x "0.14.17" - esbuild-netbsd-64 "0.14.17" - esbuild-openbsd-64 "0.14.17" - esbuild-sunos-64 "0.14.17" - esbuild-windows-32 "0.14.17" - esbuild-windows-64 "0.14.17" - esbuild-windows-arm64 "0.14.17" + esbuild-android-arm64 "0.14.20" + esbuild-darwin-64 "0.14.20" + esbuild-darwin-arm64 "0.14.20" + esbuild-freebsd-64 "0.14.20" + esbuild-freebsd-arm64 "0.14.20" + esbuild-linux-32 "0.14.20" + esbuild-linux-64 "0.14.20" + esbuild-linux-arm "0.14.20" + esbuild-linux-arm64 "0.14.20" + esbuild-linux-mips64le "0.14.20" + esbuild-linux-ppc64le "0.14.20" + esbuild-linux-s390x "0.14.20" + esbuild-netbsd-64 "0.14.20" + esbuild-openbsd-64 "0.14.20" + esbuild-sunos-64 "0.14.20" + esbuild-windows-32 "0.14.20" + esbuild-windows-64 "0.14.20" + esbuild-windows-arm64 "0.14.20" esbuild@0.14.21, esbuild@^0.14.14: version "0.14.21" @@ -8920,7 +8873,7 @@ postcss-nesting@^10.1.2: dependencies: postcss-selector-parser "^6.0.8" -postcss-opacity-percentage@^1.1.1, postcss-opacity-percentage@^1.1.2: +postcss-opacity-percentage@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== @@ -8942,50 +8895,6 @@ postcss-place@^7.0.3: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.0.tgz#c745dcfea659fa5a8424bb740fde4ad28e38518e" - integrity sha512-mEK7vqBL/BvynALHNc9pC7T7jolNm3ouornf9p4WpXW+sGooV3kCLvS4kKXE+rL6i12LKUgleJOZRPaoOuNLEg== - dependencies: - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.0" - autoprefixer "^10.4.2" - browserslist "^4.19.1" - css-blank-pseudo "^3.0.2" - css-has-pseudo "^3.0.3" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.1.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^3.0.0" - postcss-color-functional-notation "^4.2.1" - postcss-color-hex-alpha "^8.0.2" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.4" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.3" - postcss-double-position-gradients "^3.0.4" - postcss-env-function "^4.0.4" - postcss-focus-visible "^6.0.3" - postcss-focus-within "^5.0.3" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.2" - postcss-image-set-function "^4.0.5" - postcss-initial "^4.0.1" - postcss-lab-function "^4.0.3" - postcss-logical "^5.0.3" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.1" - postcss-overflow-shorthand "^3.0.2" - postcss-page-break "^3.0.4" - postcss-place "^7.0.3" - postcss-pseudo-class-any-link "^7.1.0" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-preset-env@7.3.1, postcss-preset-env@^7.2.3: version "7.3.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" @@ -10293,7 +10202,7 @@ source-map@^0.5.0, source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -sourcemap-codec@1.4.8, sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: +sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== From b69ca3a7d22b54fc06fbc1cfb559b2fd915f5609 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 11 Feb 2022 12:56:31 +0100 Subject: [PATCH 0092/1388] refactor(@angular/cli): remove deprecated command aliases for `extract-i18n`. BREAKING CHANGE: Deprecated `ng x18n` and `ng i18n-extract` commands have been removed in favor of `ng extract-i18n`. --- packages/angular/cli/commands/extract-i18n-impl.ts | 8 -------- packages/angular/cli/commands/extract-i18n.json | 2 -- 2 files changed, 10 deletions(-) diff --git a/packages/angular/cli/commands/extract-i18n-impl.ts b/packages/angular/cli/commands/extract-i18n-impl.ts index 3520d57d3e2d..6e2c2191e310 100644 --- a/packages/angular/cli/commands/extract-i18n-impl.ts +++ b/packages/angular/cli/commands/extract-i18n-impl.ts @@ -24,14 +24,6 @@ export class ExtractI18nCommand extends ArchitectCommand Date: Fri, 11 Feb 2022 12:58:00 +0100 Subject: [PATCH 0093/1388] refactor(@angular/cli): remove node.js check in extract-i18n This is redundant since this is covered by https://github.com/angular/angular-cli/blob/e4e15058cb7a3612cb6ac31cda175783042c5a1c/packages/angular/cli/lib/cli/index.ts#L26 --- packages/angular/cli/commands/extract-i18n-impl.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/angular/cli/commands/extract-i18n-impl.ts b/packages/angular/cli/commands/extract-i18n-impl.ts index 6e2c2191e310..090a0e9d5fe1 100644 --- a/packages/angular/cli/commands/extract-i18n-impl.ts +++ b/packages/angular/cli/commands/extract-i18n-impl.ts @@ -14,16 +14,6 @@ export class ExtractI18nCommand extends ArchitectCommand Date: Sun, 13 Feb 2022 13:44:00 +0000 Subject: [PATCH 0094/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 4 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 146 +++++++++++++----- 4 files changed, 114 insertions(+), 44 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 3f0e18f98fbe..e67ff92163c0 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -7,10 +7,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "bazel_skylib", - sha256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d", + sha256 = "af87959afe497dc8dfd4c6cb66e1279cb98ccc84284619ebfec27d9c09a903de", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz", ], ) diff --git a/package.json b/package.json index aab55bda3b55..a299c708ac69 100644 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "debug": "^4.1.1", "esbuild": "0.14.21", "esbuild-wasm": "0.14.21", - "eslint": "8.8.0", + "eslint": "8.9.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", @@ -186,7 +186,7 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.3.1", + "postcss-preset-env": "7.3.3", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "13.3.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index fb2a60adbcd3..3d01b3e4ec70 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -49,7 +49,7 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.3.1", + "postcss-preset-env": "7.3.3", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", diff --git a/yarn.lock b/yarn.lock index 61302b25b48c..09d28d9bff46 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1419,19 +1419,26 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-progressive-custom-properties@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.1.0.tgz#f2189ccbf74e3fabfcc19d280f37fb06d1181988" + integrity sha512-DO76V3295AqhjJZvgeaDP5GAGAat4g6wYfF8X+1n+76MpJat8ffY5bCJ9eSUqFY71nImxXgaDTRYJcRnA9oo7g== + dependencies: + postcss-value-parser "^4.2.0" + "@discoveryjs/json-ext@0.5.6": version "0.5.6" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== -"@eslint/eslintrc@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" - integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== +"@eslint/eslintrc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz#583d12dbec5d4f22f333f9669f7d0b7c7815b4d3" + integrity sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.2.0" + espree "^9.3.1" globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" @@ -4104,14 +4111,14 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-blank-pseudo@^3.0.2: +css-blank-pseudo@^3.0.2, css-blank-pseudo@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== dependencies: postcss-selector-parser "^6.0.9" -css-has-pseudo@^3.0.3: +css-has-pseudo@^3.0.3, css-has-pseudo@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== @@ -4167,6 +4174,11 @@ cssdb@^6.1.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.2.1.tgz#8904c3f8005bfc334009ee20ddb201330d5a5199" integrity sha512-TBIhtDCOeYjwr44Vpl1g/224/18lI0jW+PKdA5ZP30dhre3eEutVUb2mnqUnpRPiPWQB7BQf8CWiUGOa966Fnw== +cssdb@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.3.0.tgz#d5df430a6ff7bb09af377b8c6d8da61d8f4017a4" + integrity sha512-U/nJSGsM0NIEsVPwat6r6QrvtqZ8m+eYb8qLoSFXXWNghy5x3z6ftubzbb6AMFcvaYVVRXKAmgD1I1e2A31qug== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -5187,10 +5199,10 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153" - integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg== +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -5207,17 +5219,22 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0: +eslint-visitor-keys@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== -eslint@8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.8.0.tgz#9762b49abad0cb4952539ffdb0a046392e571a2d" - integrity sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ== +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb" + integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q== dependencies: - "@eslint/eslintrc" "^1.0.5" + "@eslint/eslintrc" "^1.1.0" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -5225,10 +5242,10 @@ eslint@8.8.0: debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.0" + eslint-scope "^7.1.1" eslint-utils "^3.0.0" - eslint-visitor-keys "^3.2.0" - espree "^9.3.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -5253,14 +5270,14 @@ eslint@8.8.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^9.2.0, espree@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8" - integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ== +espree@^9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" + integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== dependencies: acorn "^8.7.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^3.1.0" + eslint-visitor-keys "^3.3.0" esprima@^3.1.3: version "3.1.3" @@ -8706,14 +8723,14 @@ postcss-clamp@^3.0.0: dependencies: postcss-value-parser "^4.1.0" -postcss-color-functional-notation@^4.2.1: +postcss-color-functional-notation@^4.2.1, postcss-color-functional-notation@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" integrity sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ== dependencies: postcss-value-parser "^4.2.0" -postcss-color-hex-alpha@^8.0.2: +postcss-color-hex-alpha@^8.0.2, postcss-color-hex-alpha@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz#61a0fd151d28b128aa6a8a21a2dad24eebb34d52" integrity sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw== @@ -8746,35 +8763,35 @@ postcss-custom-selectors@^6.0.0: dependencies: postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^6.0.3: +postcss-dir-pseudo-class@^6.0.3, postcss-dir-pseudo-class@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz#9afe49ea631f0cb36fa0076e7c2feb4e7e3f049c" integrity sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw== dependencies: postcss-selector-parser "^6.0.9" -postcss-double-position-gradients@^3.0.4: +postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.5.tgz#f6b755e9850bb9816dfbf8fa346d9ce2e8a03848" integrity sha512-XiZzvdxLOWZwtt/1GgHJYGoD9scog/DD/yI5dcvPrXNdNDEv7T53/6tL7ikl+EM3jcerII5/XIQzd1UHOdTi2w== dependencies: postcss-value-parser "^4.2.0" -postcss-env-function@^4.0.4: +postcss-env-function@^4.0.4, postcss-env-function@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" integrity sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA== dependencies: postcss-value-parser "^4.2.0" -postcss-focus-visible@^6.0.3: +postcss-focus-visible@^6.0.3, postcss-focus-visible@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== dependencies: postcss-selector-parser "^6.0.9" -postcss-focus-within@^5.0.3: +postcss-focus-within@^5.0.3, postcss-focus-within@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== @@ -8786,12 +8803,12 @@ postcss-font-variant@^5.0.0: resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^3.0.2: +postcss-gap-properties@^3.0.2, postcss-gap-properties@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz#6401bb2f67d9cf255d677042928a70a915e6ba60" integrity sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ== -postcss-image-set-function@^4.0.5: +postcss-image-set-function@^4.0.5, postcss-image-set-function@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz#bcff2794efae778c09441498f40e0c77374870a9" integrity sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A== @@ -8819,6 +8836,14 @@ postcss-lab-function@^4.0.3: dependencies: postcss-value-parser "^4.2.0" +postcss-lab-function@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.0.tgz#676e0d8d968df1f4b1f4032ad30a11eecb756a8b" + integrity sha512-59uHN/2wRaOd7whDyeaJ82E0kncIEeJkwcmvXFPNus8v1YMhtv2IUo9OtOAncn7sifZVMRsyoPlhxwckTjn4cQ== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + postcss-loader@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" @@ -8828,7 +8853,7 @@ postcss-loader@6.2.1: klona "^2.0.5" semver "^7.3.5" -postcss-logical@^5.0.3: +postcss-logical@^5.0.3, postcss-logical@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== @@ -8878,7 +8903,7 @@ postcss-opacity-percentage@^1.1.2: resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== -postcss-overflow-shorthand@^3.0.2: +postcss-overflow-shorthand@^3.0.2, postcss-overflow-shorthand@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz#ebcfc0483a15bbf1b27fdd9b3c10125372f4cbc2" integrity sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg== @@ -8888,7 +8913,7 @@ postcss-page-break@^3.0.4: resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^7.0.3: +postcss-place@^7.0.3, postcss-place@^7.0.4: version "7.0.4" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.4.tgz#eb026650b7f769ae57ca4f938c1addd6be2f62c9" integrity sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg== @@ -8939,7 +8964,52 @@ postcss-preset-env@7.3.1, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-pseudo-class-any-link@^7.1.0: +postcss-preset-env@7.3.3: + version "7.3.3" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.3.tgz#2c08a717549b282c89be7c90827147814d41809b" + integrity sha512-/4EIceyxf6LKihp88YnQ0uExt//EHozxOspsCQbLq9/RB4W0zutdk52XJZzDYtCkvergw0NTTQvB7TpdxBRbvQ== + dependencies: + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + autoprefixer "^10.4.2" + browserslist "^4.19.1" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.3.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^3.0.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.0.5" + postcss-env-function "^4.0.5" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.1.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + +postcss-pseudo-class-any-link@^7.1.0, postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" integrity sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg== From fea9984d8a5d7ea5d3410eebc17ce679d963be36 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 13 Feb 2022 06:12:32 +0000 Subject: [PATCH 0095/1388] build: update dependency minimatch to v4 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a299c708ac69..4c48fcf11d87 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "loader-utils": "3.2.0", "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", - "minimatch": "3.0.5", + "minimatch": "4.1.1", "minimist": "^1.2.0", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3d01b3e4ec70..1013fc40b349 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -41,7 +41,7 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.5.3", - "minimatch": "3.0.5", + "minimatch": "4.1.1", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", diff --git a/yarn.lock b/yarn.lock index 09d28d9bff46..97d50935b525 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7712,6 +7712,13 @@ minimatch@3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.1.1.tgz#88d8172f2e1babcc3e249538b1a46970dfea1300" + integrity sha512-9ObkVPP8aM2KWHw1RMAaOoEzHjcqzE1dmEQHAOq9ySRhvVMru1VKqniUs/g6Us4KSwXKk0+uLko6caynDcWEWQ== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" From 3709c236700230ea6e90a1a8f01907a6ad73b6ba Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 12 Feb 2022 09:03:56 +0000 Subject: [PATCH 0096/1388] build: update github/codeql-action commit hash to 2c6b76b --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f096bb252eee..b0b7dc907978 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -44,6 +44,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@3d2ad0b9c819d4ea406021c1bbfa39f37953e6b8 + uses: github/codeql-action/upload-sarif@2c6b76bc5a6dafa5a35d5865bb3aa1c1f21e7a44 with: sarif_file: results.sarif From 410ff1070fe0ba827cf610f66293a64c9b6df3e8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 13 Feb 2022 00:54:28 +0000 Subject: [PATCH 0097/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 8 ++--- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 7ad964603ef3..874b74f79d12 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fc71e037ade972136bc214df0f6c41ec04eb742a + - uses: angular/dev-infra/github-actions/commit-message-based-labels@a87135ebb421b291f986ec2c673e9c37f22dfc17 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index abe13097259c..addf482ba875 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -12,6 +12,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fc71e037ade972136bc214df0f6c41ec04eb742a + - uses: angular/dev-infra/github-actions/feature-request@a87135ebb421b291f986ec2c673e9c37f22dfc17 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 423fb800aa78..796d1f52aede 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fc71e037ade972136bc214df0f6c41ec04eb742a + - uses: angular/dev-infra/github-actions/lock-closed@a87135ebb421b291f986ec2c673e9c37f22dfc17 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4c48fcf11d87..1c0ded4b4155 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.2", "@angular/compiler-cli": "14.0.0-next.2", "@angular/core": "14.0.0-next.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7098b7fe950e96c0f16d16de25853026889de75e", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c", "@angular/forms": "14.0.0-next.2", "@angular/localize": "14.0.0-next.2", "@angular/material": "14.0.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index e6071c368a45..8b6f7376d9f7 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#322be440594b23a7f272f718046895136ae5a466", - "@angular/cdk": "github:angular/cdk-builds#d7de00cded358df2c0f4354605642d45fbf81063", - "@angular/common": "github:angular/common-builds#27166151402e62387530672c9b8a563effcde5cb", - "@angular/compiler": "github:angular/compiler-builds#658f919d7f2799556374662a4dfdc84df839906f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#7bca9e73272ddb4c29b0518b06ffd61b189d0f4b", - "@angular/core": "github:angular/core-builds#1db2452dc694d7a40b943bfaf001b15c3a0a4b04", - "@angular/forms": "github:angular/forms-builds#1e8a41bcc38a701ba1c88149bea39fafc527c533", - "@angular/language-service": "github:angular/language-service-builds#aef79cb78dfcae5d9db2a677aded184be3b5d495", - "@angular/localize": "github:angular/localize-builds#c1f754c181ccfde3d6e48548985b371542f721cd", - "@angular/material": "github:angular/material2-builds#d66d54cb39157bfd6f19214492459f137b20c0e0", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#377243c355dac3138af66ef4473521ab0ec2a32f", - "@angular/platform-browser": "github:angular/platform-browser-builds#72a217764b393eb80e000c485f70909de4f7e3b9", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#92bf3c2fda7fc55e5fab59f510aadb1c7352816c", - "@angular/platform-server": "github:angular/platform-server-builds#2c9a63a19c8211098289f99c4f549948e10897e3", - "@angular/router": "github:angular/router-builds#d748d581bb03e605f75ec363a3258c0e39522e21", - "@angular/service-worker": "github:angular/service-worker-builds#d06692363bc229e7c911611adff88b9656e20ab0" + "@angular/animations": "github:angular/animations-builds#71320e3322b988deb2c6e3f105c5a0bfa8aaf947", + "@angular/cdk": "github:angular/cdk-builds#5111a01444ab3e3528d5968336e8b3d880a246e4", + "@angular/common": "github:angular/common-builds#7aecc2b349091f277321ef8291a4653849f6fcf1", + "@angular/compiler": "github:angular/compiler-builds#3aabd9a4f7a0993c64f5d5c0340230db68a95f71", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#23831576663dbb34b0158720aa662b1cad7166d7", + "@angular/core": "github:angular/core-builds#11dfc002e832ca7b3c15ec68800a38e5aaf17091", + "@angular/forms": "github:angular/forms-builds#a547e5cee3e58b97913f020275d88ee8e9964aca", + "@angular/language-service": "github:angular/language-service-builds#0bce71af4942c87c89f8aa58ada2c77d9e09860c", + "@angular/localize": "github:angular/localize-builds#ee57003ec6bb28a49ad1e2a398d1edcab68183f3", + "@angular/material": "github:angular/material2-builds#2fa8e89ce9b42e4a071ea200dac7f1e3df87c0b0", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4b480b92ffee44b810e7b935d6479fd8556a6be5", + "@angular/platform-browser": "github:angular/platform-browser-builds#91bdab45fc78eb066239842554116b9398da71d9", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#43c0a2ec83e030b264ed45487af2876adbcc8083", + "@angular/platform-server": "github:angular/platform-server-builds#7f18e1b5110adbf1a1dfc4f0e7d81a79a806eeaf", + "@angular/router": "github:angular/router-builds#094eaf5740f207b50076aad248af05abc927ec99", + "@angular/service-worker": "github:angular/service-worker-builds#efb19c86688d75663f32ae129d9b21b179152395" } } diff --git a/yarn.lock b/yarn.lock index 97d50935b525..e30a989551e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -207,10 +207,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7098b7fe950e96c0f16d16de25853026889de75e": - version "0.0.0-fc71e037ade972136bc214df0f6c41ec04eb742a" - uid "7098b7fe950e96c0f16d16de25853026889de75e" - resolved "https://github.com/angular/dev-infra-private-builds.git#7098b7fe950e96c0f16d16de25853026889de75e" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c": + version "0.0.0-a87135ebb421b291f986ec2c673e9c37f22dfc17" + uid "9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c" + resolved "https://github.com/angular/dev-infra-private-builds.git#9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" From e1d9b5b447b67c028e84fd764e4ae390300f92a7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 14 Feb 2022 09:39:39 +0000 Subject: [PATCH 0098/1388] build: lock file maintenance --- yarn.lock | 115 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 52 deletions(-) diff --git a/yarn.lock b/yarn.lock index e30a989551e5..64a84e44a7bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,14 +26,14 @@ dependencies: tunnel "0.0.6" -"@ampproject/remapping@2.1.0", "@ampproject/remapping@^2.0.0": +"@ampproject/remapping@2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@2.1.1": +"@ampproject/remapping@2.1.1", "@ampproject/remapping@^2.0.0": version "2.1.1" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.1.tgz#7922fb0817bf3166d8d9e258c57477e3fd1c3610" integrity sha512-Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA== @@ -1482,14 +1482,14 @@ integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jridgewell/resolve-uri@^3.0.3": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" - integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.10" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" - integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== "@jridgewell/trace-mapping@^0.3.0": version "0.3.4" @@ -1576,9 +1576,9 @@ fastq "^1.6.0" "@npmcli/fs@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.0.tgz#bec1d1b89c170d40e1b73ad6c943b0b75e7d2951" - integrity sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== dependencies: "@gar/promisify" "^1.0.1" semver "^7.3.5" @@ -2600,6 +2600,14 @@ http-errors "1.8.1" http-status-codes "1.4.0" +"@verdaccio/commons-api@10.2.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.2.0.tgz#3b684c31749837b0574375bb2e10644ecea9fcca" + integrity sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ== + dependencies: + http-errors "2.0.0" + http-status-codes "2.2.0" + "@verdaccio/file-locking@10.1.0": version "10.1.0" resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.1.0.tgz#e47935d197d186f619363f465d67b52d8841a355" @@ -3646,9 +3654,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: - version "1.0.30001311" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001311.tgz#682ef3f4e617f1a177ad943de59775ed3032e511" - integrity sha512-mleTFtFKfykEeW34EyfhGIFjGCqzhh38Y0LhdQ9aWF+HorZTtdgKV/1hEE0NlFkG2ubvisPV6l400tlbPys98A== + version "1.0.30001312" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" + integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== caseless@~0.12.0: version "0.12.0" @@ -4169,12 +4177,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.2.1.tgz#8904c3f8005bfc334009ee20ddb201330d5a5199" - integrity sha512-TBIhtDCOeYjwr44Vpl1g/224/18lI0jW+PKdA5ZP30dhre3eEutVUb2mnqUnpRPiPWQB7BQf8CWiUGOa966Fnw== - -cssdb@^6.3.0: +cssdb@^6.1.0, cssdb@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.3.0.tgz#d5df430a6ff7bb09af377b8c6d8da61d8f4017a4" integrity sha512-U/nJSGsM0NIEsVPwat6r6QrvtqZ8m+eYb8qLoSFXXWNghy5x3z6ftubzbb6AMFcvaYVVRXKAmgD1I1e2A31qug== @@ -5219,12 +5222,7 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" - integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== - -eslint-visitor-keys@^3.3.0: +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== @@ -6208,6 +6206,11 @@ http-status-codes@1.4.0: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-1.4.0.tgz#6e4c15d16ff3a9e2df03b89f3a55e1aae05fb477" integrity sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ== +http-status-codes@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" + integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== + https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" @@ -7100,9 +7103,9 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.3.0: - version "6.3.15" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.15.tgz#6c3beedb2440b05589a502462140afed724481e7" - integrity sha512-4O5X6zVFdmwo/fgjRN84fPG3IvaiOxOjIeZBwBrQYz4nIyGqlF8Wm7C1Hr7idQ9NHgnvJM+LSjZwS1C+qALMGw== + version "6.3.16" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.16.tgz#76d1a705fd1cf864ee5ed85270b572641e0958ef" + integrity sha512-nEU50jLvDe5yvXqkEJRf8IuvddUkOY2x5Xc4WXHz6dxINgGDrgD2uqQWeVrJs4hbfNaotn+HQ1LZJ4yOXrL7xQ== dependencies: body-parser "^1.19.0" braces "^3.0.2" @@ -7434,7 +7437,7 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.3.0: +lru-cache@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.3.1.tgz#7702e80694ec2bf19865567a469f2b081fcf53f5" integrity sha512-nX1x4qUrKqwbIAhv4s9et4FIUVzNOpeY07bsjGUy8gwJrXH/wScImSQqXErmo/b2jZY2r0mohbLA9zVj7u1cNw== @@ -7493,9 +7496,9 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.1.tgz#fb374080b454ae0591c55342c19813943de9370a" - integrity sha512-xJVRzemKMb9r2gZ5DJfkvbeSGbBKOtwI4G8hJ1Ak/2jIFJFveyQxN3d2OhXlAk7rLzAL/O+Ge8u+nb6/Zrrd9w== + version "10.0.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.2.tgz#0afb38d2f951b17ebc482b0b16c8d77f39dfe389" + integrity sha512-JSFLK53NJP22FL/eAGOyKsWbc2G3v+toPMD7Dq9PJKQCvK0i3t8hGkKxe+3YZzwYa+c0kxRHu7uxH3fvO+rsaA== dependencies: agentkeepalive "^4.2.0" cacache "^15.3.0" @@ -7503,7 +7506,7 @@ make-fetch-happen@^10.0.1: http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^7.3.0" + lru-cache "^7.3.1" minipass "^3.1.6" minipass-collect "^1.0.2" minipass-fetch "^1.4.1" @@ -7698,10 +7701,10 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@3.0.5, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" - integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4: + version "3.1.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.1.tgz#879ad447200773912898b46cd516a7abbb5e50b0" + integrity sha512-reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A== dependencies: brace-expansion "^1.1.7" @@ -7712,6 +7715,13 @@ minimatch@3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + minimatch@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.1.1.tgz#88d8172f2e1babcc3e249538b1a46970dfea1300" @@ -7719,6 +7729,13 @@ minimatch@4.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@~3.0.4: + version "3.0.7" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.7.tgz#e78aeb8dceccb0d12b57a75872da43bc68e7d7ca" + integrity sha512-pYjbG0o9W2Wb3KVBuV6s7R/bzS/iS3HPiHcFcDee5GGiN1M5MErXqgS4jGn8pwVwTZAoy7B8bYb/+AqQU0NhZA== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -8836,14 +8853,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.0.4.tgz#504747ab2754e046fb01e72779bbb434a05357df" - integrity sha512-TAEW8X/ahMYV33mvLFQARtBPAy1VVJsiR9VVx3Pcbu+zlqQj0EIyJ/Ie1/EwxwIt530CWtEDzzTXBDzfdb+qIQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-lab-function@^4.1.0: +postcss-lab-function@^4.0.3, postcss-lab-function@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.0.tgz#676e0d8d968df1f4b1f4032ad30a11eecb756a8b" integrity sha512-59uHN/2wRaOd7whDyeaJ82E0kncIEeJkwcmvXFPNus8v1YMhtv2IUo9OtOAncn7sifZVMRsyoPlhxwckTjn4cQ== @@ -8927,7 +8937,7 @@ postcss-place@^7.0.3, postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.3.1, postcss-preset-env@^7.2.3: +postcss-preset-env@7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" integrity sha512-x7fNsJxfkY60P4FUNwhJUOfXBFfnObd2EcUYY97sXZ0XRLgmAE65es9EFIYHq1rAk7X3LMfbG+L9wYgkrNsq5Q== @@ -8971,7 +8981,7 @@ postcss-preset-env@7.3.1, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.3.3: +postcss-preset-env@7.3.3, postcss-preset-env@^7.2.3: version "7.3.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.3.tgz#2c08a717549b282c89be7c90827147814d41809b" integrity sha512-/4EIceyxf6LKihp88YnQ0uExt//EHozxOspsCQbLq9/RB4W0zutdk52XJZzDYtCkvergw0NTTQvB7TpdxBRbvQ== @@ -9825,6 +9835,7 @@ sass@1.49.7, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -11261,11 +11272,11 @@ verdaccio-audit@10.1.1: node-fetch "2.6.7" verdaccio-auth-memory@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/verdaccio-auth-memory/-/verdaccio-auth-memory-10.1.0.tgz#98f10c53dbc693adc6c8882e8546af1671a7ecc0" - integrity sha512-95PeTycizIPlyth5OB7xHaFwtfZQJHOC2KleYZsKgDB+bZC01cZm/qr7ZACYPvh6g29GpvfkNt2bWmpsHc/J7Q== + version "10.2.0" + resolved "https://registry.yarnpkg.com/verdaccio-auth-memory/-/verdaccio-auth-memory-10.2.0.tgz#97eaa22fe9f4d0536469a9a16ba33817ba65df3d" + integrity sha512-HP8LHdNpHVFO4isL7VR8pNPoRzBlJUKQlNqma5xBPtSRKvKEc9Co3D6Sg2y9NofD8Yr1Q3dMBDDRtx8dxs9xZQ== dependencies: - "@verdaccio/commons-api" "10.1.0" + "@verdaccio/commons-api" "10.2.0" verdaccio-htpasswd@10.1.0: version "10.1.0" From b8c8cc411363693e1d9496bd9508501ed024936f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 11 Feb 2022 10:29:39 -0500 Subject: [PATCH 0099/1388] build: add permissions to current github action workflows The currently recommended best practice for Github action workflows is to set top-level permissions to read only. And if the job uses the automatic `GITHUB_TOKEN`, fine-grained permissions for each job based on the job's requirements should also be added. All existing workflows in the repository now have top-level read only permission blocks. Only the `scorecard` workflow currently requires additional job level permissions and the minimum set of permissions were already present for the job. --- .github/workflows/dev-infra.yml | 4 ++++ .github/workflows/feature-requests.yml | 4 ++++ .github/workflows/lock-closed.yml | 4 ++++ .github/workflows/scorecard.yml | 3 ++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 874b74f79d12..1b113de8bbc6 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -1,5 +1,9 @@ name: DevInfra +# Declare default permissions as read only. +permissions: + contents: read + on: pull_request_target: types: [opened, synchronize, reopened] diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index addf482ba875..fd81ab10f176 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -1,5 +1,9 @@ name: Feature request triage bot +# Declare default permissions as read only. +permissions: + contents: read + on: schedule: # Run at 13:00 every day diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 796d1f52aede..649b3bc3ee12 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -1,5 +1,9 @@ name: Lock Inactive Issues +# Declare default permissions as read only. +permissions: + contents: read + on: schedule: # Run at 08:00 every day diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b0b7dc907978..9d3562654615 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -8,7 +8,8 @@ on: workflow_dispatch: # Declare default permissions as read only. -permissions: read-all +permissions: + contents: read jobs: analysis: From d1fffd6035eba3ec16b64fab0f2e0477179fad7a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 15 Feb 2022 21:12:07 +0000 Subject: [PATCH 0100/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 17 +++++++--- 6 files changed, 32 insertions(+), 25 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 1b113de8bbc6..04b7b2b2f6be 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@a87135ebb421b291f986ec2c673e9c37f22dfc17 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@5b35e20aeb147b713c31ba5c269cf2128c746d46 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index fd81ab10f176..51c2950f8591 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@a87135ebb421b291f986ec2c673e9c37f22dfc17 + - uses: angular/dev-infra/github-actions/feature-request@5b35e20aeb147b713c31ba5c269cf2128c746d46 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 649b3bc3ee12..d3e19a0074fa 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@a87135ebb421b291f986ec2c673e9c37f22dfc17 + - uses: angular/dev-infra/github-actions/lock-closed@5b35e20aeb147b713c31ba5c269cf2128c746d46 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 1c0ded4b4155..2c0a8693fe52 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.2", "@angular/compiler-cli": "14.0.0-next.2", "@angular/core": "14.0.0-next.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420", "@angular/forms": "14.0.0-next.2", "@angular/localize": "14.0.0-next.2", "@angular/material": "14.0.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 8b6f7376d9f7..843dff831093 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#71320e3322b988deb2c6e3f105c5a0bfa8aaf947", - "@angular/cdk": "github:angular/cdk-builds#5111a01444ab3e3528d5968336e8b3d880a246e4", - "@angular/common": "github:angular/common-builds#7aecc2b349091f277321ef8291a4653849f6fcf1", - "@angular/compiler": "github:angular/compiler-builds#3aabd9a4f7a0993c64f5d5c0340230db68a95f71", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#23831576663dbb34b0158720aa662b1cad7166d7", - "@angular/core": "github:angular/core-builds#11dfc002e832ca7b3c15ec68800a38e5aaf17091", - "@angular/forms": "github:angular/forms-builds#a547e5cee3e58b97913f020275d88ee8e9964aca", - "@angular/language-service": "github:angular/language-service-builds#0bce71af4942c87c89f8aa58ada2c77d9e09860c", - "@angular/localize": "github:angular/localize-builds#ee57003ec6bb28a49ad1e2a398d1edcab68183f3", - "@angular/material": "github:angular/material2-builds#2fa8e89ce9b42e4a071ea200dac7f1e3df87c0b0", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4b480b92ffee44b810e7b935d6479fd8556a6be5", - "@angular/platform-browser": "github:angular/platform-browser-builds#91bdab45fc78eb066239842554116b9398da71d9", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#43c0a2ec83e030b264ed45487af2876adbcc8083", - "@angular/platform-server": "github:angular/platform-server-builds#7f18e1b5110adbf1a1dfc4f0e7d81a79a806eeaf", - "@angular/router": "github:angular/router-builds#094eaf5740f207b50076aad248af05abc927ec99", - "@angular/service-worker": "github:angular/service-worker-builds#efb19c86688d75663f32ae129d9b21b179152395" + "@angular/animations": "github:angular/animations-builds#5457147f366d8a2cfab32da8a133654a721200d7", + "@angular/cdk": "github:angular/cdk-builds#204a17eab44f8e4f034a78a21e6069e5a8463635", + "@angular/common": "github:angular/common-builds#22e9daedd3d37d97f32d8d34cc0674b54039a85e", + "@angular/compiler": "github:angular/compiler-builds#7a309565f72b6f419f075268f072f09e0431d95f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a7ff25be9d4bcac37b5c4bfe272492a25ed3ba67", + "@angular/core": "github:angular/core-builds#75f1806c0380fa89fdaa4006ab5350b7ec744820", + "@angular/forms": "github:angular/forms-builds#f389d34e2a4d688dce2eaa88131ce30d77fb49a4", + "@angular/language-service": "github:angular/language-service-builds#53a1ed61e1823d20c0166ed0500bf88a767f931b", + "@angular/localize": "github:angular/localize-builds#b833e14c66a0aefbc986cb8e9d3257f34e0eef66", + "@angular/material": "github:angular/material2-builds#0090f5888649dad3f13fa2312322fd5b6545be2e", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3dd25e3328491dbabe05197001a95bdfed9f9aa8", + "@angular/platform-browser": "github:angular/platform-browser-builds#66e6c0be39be2fe4dd8b0420c9eb01be397f7672", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9c852036d405f4a636afdd47ca44ee0b5ea545d5", + "@angular/platform-server": "github:angular/platform-server-builds#8d8d9765431d8c307cef74dbbcc13249374f5145", + "@angular/router": "github:angular/router-builds#fd17af326916e15b41dad458b1aab39ad0cf3b49", + "@angular/service-worker": "github:angular/service-worker-builds#2792015b0d9f191c8f1fb831b0faf822ee189a58" } } diff --git a/yarn.lock b/yarn.lock index 64a84e44a7bb..0d074b9d2bba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -207,10 +207,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c": - version "0.0.0-a87135ebb421b291f986ec2c673e9c37f22dfc17" - uid "9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c" - resolved "https://github.com/angular/dev-infra-private-builds.git#9f8c2d0940cfd6d58db61b26176b0fd8d2256d9c" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420": + version "0.0.0-5b35e20aeb147b713c31ba5c269cf2128c746d46" + uid bd277985ac350efca14fba5609cac29e6ebd4420 + resolved "https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420" dependencies: "@actions/core" "^1.4.0" "@actions/github" "^5.0.0" @@ -250,7 +250,7 @@ husky "^7.0.1" inquirer "^8.0.0" jasmine "^3.7.0" - minimatch "^3.0.4" + minimatch "^4.0.0" multimatch "^5.0.0" nock "^13.0.3" node-fetch "^2.6.1" @@ -7729,6 +7729,13 @@ minimatch@4.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" + integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== + dependencies: + brace-expansion "^1.1.7" + minimatch@~3.0.4: version "3.0.7" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.7.tgz#e78aeb8dceccb0d12b57a75872da43bc68e7d7ca" From 65be45b4b2f66c92b67d2e8121036b12f395345c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Feb 2022 10:23:39 +0000 Subject: [PATCH 0101/1388] build: update all non-major dependencies --- package.json | 20 +- .../angular_devkit/build_angular/package.json | 12 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 432 +++++++++++++----- 5 files changed, 328 insertions(+), 140 deletions(-) diff --git a/package.json b/package.json index 2c0a8693fe52..9266ff9abccc 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "**/ajv-formats/ajv": "8.10.0" }, "devDependencies": { - "@ampproject/remapping": "2.1.1", + "@ampproject/remapping": "2.1.2", "@angular/animations": "14.0.0-next.2", "@angular/cdk": "14.0.0-next.2", "@angular/common": "14.0.0-next.2", @@ -78,8 +78,8 @@ "@angular/platform-server": "14.0.0-next.2", "@angular/router": "14.0.0-next.2", "@angular/service-worker": "14.0.0-next.2", - "@babel/core": "7.17.2", - "@babel/generator": "7.17.0", + "@babel/core": "7.17.4", + "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", @@ -116,8 +116,8 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@typescript-eslint/eslint-plugin": "5.11.0", - "@typescript-eslint/parser": "5.11.0", + "@typescript-eslint/eslint-plugin": "5.12.0", + "@typescript-eslint/parser": "5.12.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", "ajv-formats": "2.1.1", @@ -186,16 +186,16 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.3.3", + "postcss-preset-env": "7.4.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.3.1", + "puppeteer": "13.3.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.49.7", - "sass-loader": "12.4.0", + "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", "shelljs": "^0.8.5", @@ -214,9 +214,9 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.5.5", - "verdaccio": "5.5.2", + "verdaccio": "5.6.0", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.68.0", + "webpack": "5.69.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1013fc40b349..6be63c69d3d1 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,12 +6,12 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "2.1.1", + "@ampproject/remapping": "2.1.2", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.2", - "@babel/generator": "7.17.0", + "@babel/core": "7.17.4", + "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", @@ -49,12 +49,12 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.3.3", + "postcss-preset-env": "7.4.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.49.7", - "sass-loader": "12.4.0", + "sass-loader": "12.6.0", "semver": "7.3.5", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", @@ -64,7 +64,7 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.68.0", + "webpack": "5.69.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 90f1b6a57b4e..4a6768902087 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.68.0" + "webpack": "5.69.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 0ac51d967796..dcae8ee403d1 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.2", "@angular/compiler-cli": "14.0.0-next.2", "typescript": "4.5.5", - "webpack": "5.68.0" + "webpack": "5.69.0" } } diff --git a/yarn.lock b/yarn.lock index 0d074b9d2bba..bde62441ba3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,7 +33,14 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@2.1.1", "@ampproject/remapping@^2.0.0": +"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + +"@ampproject/remapping@^2.0.0": version "2.1.1" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.1.tgz#7922fb0817bf3166d8d9e258c57477e3fd1c3610" integrity sha512-Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA== @@ -369,20 +376,20 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" - integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== +"@babel/core@7.17.4": + version "7.17.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.4.tgz#a22f1ae8999122873b3d18865e98c7a3936b8c8b" + integrity sha512-R9x5r4t4+hBqZTmioSnkrW+I6NmbojwjGT8p4G2Gw1thWbXIHGDnmGdLdFw0/7ljucdIrNRp7Npgb4CyBYzzJg== dependencies: - "@ampproject/remapping" "^2.0.0" + "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" + "@babel/generator" "^7.17.3" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.0" + "@babel/parser" "^7.17.3" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" + "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" @@ -411,6 +418,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" + integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== + dependencies: + "@ampproject/remapping" "^2.0.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.2" + "@babel/parser" "^7.17.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/generator@7.17.0", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" @@ -420,6 +448,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@7.17.3", "@babel/generator@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" + integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -641,6 +678,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== +"@babel/parser@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" + integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1275,6 +1317,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" @@ -1391,6 +1449,14 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@csstools/postcss-color-function@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.2.tgz#0843fe19be08eeb22e5d2242a6ac06f8b87b9ed2" + integrity sha512-uayvFqfa0hITPwVduxRYNL9YBD/anTqula0tu2llalaxblEd7QPuETSN3gB5PvTYxSfd0d8kS4Fypgo5JaUJ6A== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + "@csstools/postcss-font-format-keywords@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.0.tgz#7e7df948a83a0dfb7eb150a96e2390ac642356a1" @@ -1405,6 +1471,14 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-ic-unit@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.0.tgz#f484db59fc94f35a21b6d680d23b0ec69b286b7f" + integrity sha512-i4yps1mBp2ijrx7E96RXrQXQQHm6F4ym1TOD0D69/sjDjZvQ22tqiEvaNw7pFZTUO5b9vWRHzbHzP9+UKuw+bA== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + "@csstools/postcss-is-pseudo-class@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.0.tgz#219a1c1d84de7d9e9b7e662a57fdc194eac38ea7" @@ -1419,6 +1493,14 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-oklab-function@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.1.tgz#a12348eae202d4ded908a06aa92cf19a946b6cec" + integrity sha512-Bnly2FWWSTZX20hDJLYHpurhp1ot+ZGvojLOsrHa9frzOVruOv4oPYMZ6wQomi9KsbZZ+Af/CuRYaGReTyGtEg== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + "@csstools/postcss-progressive-custom-properties@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.1.0.tgz#f2189ccbf74e3fabfcc19d280f37fb06d1181988" @@ -1426,6 +1508,13 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-progressive-custom-properties@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.2.0.tgz#7d53b773de50874c3885918dcb10cac97bf66ed5" + integrity sha512-YLpFPK5OaLIRKZhUfnrZPT9s9cmtqltIOg7W6jPcxmiDpnZ4lk+odfufZttOAgcg6IHWvNLgcITSLpJxIQB/qQ== + dependencies: + postcss-value-parser "^4.2.0" + "@discoveryjs/json-ext@0.5.6": version "0.5.6" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" @@ -2101,7 +2190,7 @@ dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.0": +"@types/eslint-scope@^3.7.0", "@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== @@ -2117,7 +2206,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": +"@types/estree@*", "@types/estree@^0.0.51": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== @@ -2512,14 +2601,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.11.0.tgz#3b866371d8d75c70f9b81535e7f7d3aa26527c7a" - integrity sha512-HJh33bgzXe6jGRocOj4FmefD7hRY4itgjzOrSs3JPrTNXsX7j5+nQPciAUj/1nZtwo2kAc3C75jZO+T23gzSGw== +"@typescript-eslint/eslint-plugin@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.0.tgz#bb46dd7ce7015c0928b98af1e602118e97df6c70" + integrity sha512-fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ== dependencies: - "@typescript-eslint/scope-manager" "5.11.0" - "@typescript-eslint/type-utils" "5.11.0" - "@typescript-eslint/utils" "5.11.0" + "@typescript-eslint/scope-manager" "5.12.0" + "@typescript-eslint/type-utils" "5.12.0" + "@typescript-eslint/utils" "5.12.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2527,79 +2616,71 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.11.0.tgz#b4fcaf65513f9b34bdcbffdda055724a5efb7e04" - integrity sha512-x0DCjetHZYBRovJdr3U0zG9OOdNXUaFLJ82ehr1AlkArljJuwEsgnud+Q7umlGDFLFrs8tU8ybQDFocp/eX8mQ== +"@typescript-eslint/parser@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.0.tgz#0ca669861813df99ce54916f66f524c625ed2434" + integrity sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog== dependencies: - "@typescript-eslint/scope-manager" "5.11.0" - "@typescript-eslint/types" "5.11.0" - "@typescript-eslint/typescript-estree" "5.11.0" + "@typescript-eslint/scope-manager" "5.12.0" + "@typescript-eslint/types" "5.12.0" + "@typescript-eslint/typescript-estree" "5.12.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.11.0.tgz#f5aef83ff253f457ecbee5f46f762298f0101e4b" - integrity sha512-z+K4LlahDFVMww20t/0zcA7gq/NgOawaLuxgqGRVKS0PiZlCTIUtX0EJbC0BK1JtR4CelmkPK67zuCgpdlF4EA== +"@typescript-eslint/scope-manager@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz#59619e6e5e2b1ce6cb3948b56014d3a24da83f5e" + integrity sha512-GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ== dependencies: - "@typescript-eslint/types" "5.11.0" - "@typescript-eslint/visitor-keys" "5.11.0" + "@typescript-eslint/types" "5.12.0" + "@typescript-eslint/visitor-keys" "5.12.0" -"@typescript-eslint/type-utils@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.11.0.tgz#58be0ba73d1f6ef8983d79f7f0bc2209b253fefe" - integrity sha512-wDqdsYO6ofLaD4DsGZ0jGwxp4HrzD2YKulpEZXmgN3xo4BHJwf7kq49JTRpV0Gx6bxkSUmc9s0EIK1xPbFFpIA== +"@typescript-eslint/type-utils@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.0.tgz#aaf45765de71c6d9707c66ccff76ec2b9aa31bb6" + integrity sha512-9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q== dependencies: - "@typescript-eslint/utils" "5.11.0" + "@typescript-eslint/utils" "5.12.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.11.0.tgz#ba345818a2540fdf2755c804dc2158517ab61188" - integrity sha512-cxgBFGSRCoBEhvSVLkKw39+kMzUKHlJGVwwMbPcTZX3qEhuXhrjwaZXWMxVfxDgyMm+b5Q5b29Llo2yow8Y7xQ== +"@typescript-eslint/types@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.0.tgz#5b4030a28222ee01e851836562c07769eecda0b8" + integrity sha512-JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ== -"@typescript-eslint/typescript-estree@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.11.0.tgz#53f9e09b88368191e52020af77c312a4777ffa43" - integrity sha512-yVH9hKIv3ZN3lw8m/Jy5I4oXO4ZBMqijcXCdA4mY8ull6TPTAoQnKKrcZ0HDXg7Bsl0Unwwx7jcXMuNZc0m4lg== +"@typescript-eslint/typescript-estree@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz#cabf545fd592722f0e2b4104711e63bf89525cd2" + integrity sha512-Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ== dependencies: - "@typescript-eslint/types" "5.11.0" - "@typescript-eslint/visitor-keys" "5.11.0" + "@typescript-eslint/types" "5.12.0" + "@typescript-eslint/visitor-keys" "5.12.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.11.0.tgz#d91548ef180d74c95d417950336d9260fdbe1dc5" - integrity sha512-g2I480tFE1iYRDyMhxPAtLQ9HAn0jjBtipgTCZmd9I9s11OV8CTsG+YfFciuNDcHqm4csbAgC2aVZCHzLxMSUw== +"@typescript-eslint/utils@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.0.tgz#92fd3193191621ab863add2f553a7b38b65646af" + integrity sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.11.0" - "@typescript-eslint/types" "5.11.0" - "@typescript-eslint/typescript-estree" "5.11.0" + "@typescript-eslint/scope-manager" "5.12.0" + "@typescript-eslint/types" "5.12.0" + "@typescript-eslint/typescript-estree" "5.12.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.11.0.tgz#888542381f1a2ac745b06d110c83c0b261487ebb" - integrity sha512-E8w/vJReMGuloGxJDkpPlGwhxocxOpSVgSvjiLO5IxZPmxZF30weOeJYyPSEACwM+X4NziYS9q+WkN/2DHYQwA== +"@typescript-eslint/visitor-keys@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz#1ac9352ed140b07ba144ebf371b743fdf537ec16" + integrity sha512-cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg== dependencies: - "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/types" "5.12.0" eslint-visitor-keys "^3.0.0" -"@verdaccio/commons-api@10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.1.0.tgz#08b21185f41659fff0fc810d0cd7f9a1e2c22f7a" - integrity sha512-7xidrFzpyS4QVqVSFK+2lJn3mefpAPvk2pPe4SbiCibjRBFTXdj2KaeaqMEh2ROGzag4+tbx7l4hZ1qkB/1mkA== - dependencies: - http-errors "1.8.1" - http-status-codes "1.4.0" - "@verdaccio/commons-api@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.2.0.tgz#3b684c31749837b0574375bb2e10644ecea9fcca" @@ -2608,40 +2689,40 @@ http-errors "2.0.0" http-status-codes "2.2.0" -"@verdaccio/file-locking@10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.1.0.tgz#e47935d197d186f619363f465d67b52d8841a355" - integrity sha512-PULcFqfj8S8shY/Ry+v+q6aYhhJBG517Pfzf9DYgJW5AcAHk6SpLB+0XyjfBtJ66ic0jlVnx/Y0FanQXrJDkig== +"@verdaccio/file-locking@10.2.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.2.0.tgz#d9f107a422d9e23e6719d5c48a4151a1dee715b4" + integrity sha512-2FR5Tq0xuFLgEIuMPhtdofUk02OiJrBk4bOrQRaIkuYNEqiC0QNzXIz1u8ys2Q++z48affjbJkc9WUnAZRYbJg== dependencies: lockfile "1.0.4" -"@verdaccio/local-storage@10.1.1": - version "10.1.1" - resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.1.1.tgz#7d66c996175da3d4679690e9ad07f5a7e821c3c0" - integrity sha512-ZSkSH6mnsW9xL/Q4YpNNMS7YQduVFXRJiPN8Kz4d+Pkx2Amp83vZBOu5OfLvoClzGD1CQtMKW91gHvTF5Sjivg== +"@verdaccio/local-storage@10.2.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.2.0.tgz#36628f725ee56419a1381e64a1dcf39667bc584f" + integrity sha512-sEzNC/BfzrBX1NtBL2xy9yrgX6mEs1s//L7jlEs+4iWaq/mnzxjSq8rkvVPmwcJK/3IFC7YrJWfD5MVc/kYIyw== dependencies: - "@verdaccio/commons-api" "10.1.0" - "@verdaccio/file-locking" "10.1.0" - "@verdaccio/streams" "10.1.0" + "@verdaccio/commons-api" "10.2.0" + "@verdaccio/file-locking" "10.2.0" + "@verdaccio/streams" "10.2.0" async "3.2.3" debug "4.3.3" lodash "4.17.21" lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.2.1": - version "10.2.1" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.2.1.tgz#cbd239d4822a8237ae3dc4f9b54f928c3fe1966c" - integrity sha512-UjmgwRv9PHMexT07rxgFfhu493XcelaoG8AtmA00U2b+jZpLFQ1vRBo3TvpHYh/cpomUfeAasBHMQwV/8nGMOg== +"@verdaccio/readme@10.3.2": + version "10.3.2" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.3.2.tgz#fae3997545b3b305aa82f47073c0bccbc4ec52ff" + integrity sha512-Wb83etSDf2SL47zkHHrblaIhKhkMeNdm7ibVv6MGffUpG+CtQtKEMTFqU6pc0NfeNTCb+5DUIuArCPznyjItIg== dependencies: - dompurify "^2.2.6" + dompurify "2.2.6" jsdom "15.2.1" marked "4.0.10" -"@verdaccio/streams@10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.1.0.tgz#574fa404bec59fd34324a1b7ffca6510f7f19aff" - integrity sha512-19FebNvwNiJkk68fFEq/kNOcPNKYX/NoPFqOlZH6mGUGUo3htHh4tD5k2WepAZpBeK9SC868UiPbMizdIXquSg== +"@verdaccio/streams@10.2.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" + integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== "@verdaccio/ui-theme@6.0.0-6-next.16": version "6.0.0-6-next.16" @@ -4182,6 +4263,11 @@ cssdb@^6.1.0, cssdb@^6.3.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.3.0.tgz#d5df430a6ff7bb09af377b8c6d8da61d8f4017a4" integrity sha512-U/nJSGsM0NIEsVPwat6r6QrvtqZ8m+eYb8qLoSFXXWNghy5x3z6ftubzbb6AMFcvaYVVRXKAmgD1I1e2A31qug== +cssdb@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.3.1.tgz#d8e521c70b32df082ea5373cdd51ac4dc6b6c151" + integrity sha512-Ho3gIkGY4O8S3J54fHu7RP5GHWz85McDhimaXEwf7qV0MSPhLM0jdd61zqs1kkadIVDAvfqoku0kArbWaMYolw== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -4562,10 +4648,10 @@ domino@^2.1.2: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@^2.2.6: - version "2.3.5" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.5.tgz#c83ed5a3ae5ce23e52efe654ea052ffb358dd7e3" - integrity sha512-kD+f8qEaa42+mjdOpKeztu9Mfx5bv9gVLO6K9jRx4uGvh6Wv06Srn4jr1wPNY2OOUGGSKHNFN+A8MA3v0E0QAQ== +dompurify@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.6.tgz#54945dc5c0b45ce5ae228705777e8e59d7b2edc4" + integrity sha512-7b7ZArhhH0SP6W2R9cqK6RjaU82FZ2UPM7RO8qN1b1wyvC/NY1FNWcX1Pu00fFOAnzEORtwXe4bPaClg6pUybQ== domutils@^2.8.0: version "2.8.0" @@ -4726,7 +4812,7 @@ engine.io@~6.1.0: engine.io-parser "~5.0.0" ws "~8.2.3" -enhanced-resolve@^5.8.3: +enhanced-resolve@^5.8.3, enhanced-resolve@^5.9.0: version "5.9.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz#49ac24953ac8452ed8fed2ef1340fc8e043667ee" integrity sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA== @@ -6201,11 +6287,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -http-status-codes@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-1.4.0.tgz#6e4c15d16ff3a9e2df03b89f3a55e1aae05fb477" - integrity sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ== - http-status-codes@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" @@ -7554,6 +7635,11 @@ marked@4.0.10: resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.10.tgz#423e295385cc0c3a70fa495e0df68b007b879423" integrity sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw== +marked@4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" + integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -8808,6 +8894,14 @@ postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.0 dependencies: postcss-value-parser "^4.2.0" +postcss-double-position-gradients@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.0.tgz#a8614fb3a2a4b8877bffb8961b770e00322bbad1" + integrity sha512-oz73I08yMN3oxjj0s8mED1rG+uOYoK3H8N9RjQofyg52KBRNmePJKg3fVwTpL2U5ZFbCzXoZBsUD/CvZdlqE4Q== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + postcss-env-function@^4.0.4, postcss-env-function@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" @@ -8868,6 +8962,14 @@ postcss-lab-function@^4.0.3, postcss-lab-function@^4.1.0: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +postcss-lab-function@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.1.tgz#8b37dfcb9ca4ff82bbe7192c7ba3cc2bccbc0ef1" + integrity sha512-j3Z0WQCimY2tMle++YcmygnnVbt6XdnrCV1FO2IpzaCSmtTF2oO8h4ZYUA1Q+QHYroIiaWPvNHt9uBR4riCksQ== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + postcss-loader@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" @@ -8988,7 +9090,55 @@ postcss-preset-env@7.3.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.3.3, postcss-preset-env@^7.2.3: +postcss-preset-env@7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.0.tgz#f857ae123e96a7aa2472c75c5595e2d270c2c492" + integrity sha512-nWC9bDW6nQ4a15RZ/UKgpxZT8xbv0gl+/2q6PROAwwzsxiEb4pjsChAbS0sltepvAjqXbQhff+38FXDxJCCobw== + dependencies: + "@csstools/postcss-color-function" "^1.0.2" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.0.1" + "@csstools/postcss-progressive-custom-properties" "^1.2.0" + autoprefixer "^10.4.2" + browserslist "^4.19.1" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.3.1" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^3.0.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.0" + postcss-env-function "^4.0.5" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.1.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + +postcss-preset-env@^7.2.3: version "7.3.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.3.tgz#2c08a717549b282c89be7c90827147814d41809b" integrity sha512-/4EIceyxf6LKihp88YnQ0uExt//EHozxOspsCQbLq9/RB4W0zutdk52XJZzDYtCkvergw0NTTQvB7TpdxBRbvQ== @@ -9243,10 +9393,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.3.1: - version "13.3.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.1.tgz#4ec91eaa8a08653bfcdc9d607c6189b3804b29de" - integrity sha512-nYTR+LP1amGs5BALSoGLbw+QxQZS//7HsKKSrxaMAIic0AE3iIr10E7gcZEsP/4JcxBfgNyT3SPUyEOS6Wb0fQ== +puppeteer@13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.2.tgz#4ff1cf6e2009df29fd80038bc702dc067776f79d" + integrity sha512-TIt8/R0eaUwY1c0/O0sCJpSglvGEWVoWFfGZ2dNtxX3eHuBo1ln9abaWfxTjZfsrkYATLSs8oqEdRZpMNnCsvg== dependencies: cross-fetch "3.1.5" debug "4.3.3" @@ -9831,6 +9981,14 @@ sass-loader@12.4.0: klona "^2.0.4" neo-async "^2.6.2" +sass-loader@12.6.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + sass@1.49.7, sass@^1.49.0: version "1.49.7" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" @@ -11268,10 +11426,10 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -verdaccio-audit@10.1.1: - version "10.1.1" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.1.1.tgz#d783bd3e3d6e5880aa9ad88a691f27018e1f21fa" - integrity sha512-j4+u/DLzcsLESnjDNCA937PPlTi+ipBppy4g9H4oKC8COLY4Pe7yIMX7Xzb/hWVVKKtOjdDTLiakRpyT079XAQ== +verdaccio-audit@10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.0.tgz#ba391b2c668bef5b12fc8c8db7d4e70117b729d9" + integrity sha512-/VqtzkFoM9v1DFU3JL+T/4v343YcCwZVR/3TDLkgtrG2IuukwxjX62BVGYZxT8v6M4ml2hRDm5za7xOHQU2AIg== dependencies: body-parser "1.19.1" express "4.17.2" @@ -11285,26 +11443,26 @@ verdaccio-auth-memory@^10.0.0: dependencies: "@verdaccio/commons-api" "10.2.0" -verdaccio-htpasswd@10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.1.0.tgz#a3509461344e29d8a2244cde0896e5d69265ca60" - integrity sha512-HPpAJ62Y3FRA19Vp47VSeeeur5mqPUU4E/W4N914vUFw63iZqDBqhMQI5g99SqnlB97HplYsS5CpXj6cRv4hmw== +verdaccio-htpasswd@10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.2.0.tgz#1f76ada84a727eef852e75bbf4b1f8b4b0919f06" + integrity sha512-OH62dbSWXSXZNQMTslHrNtaAZOx8is0mcJzcQV2bE9fnLEH2EJ+9JBC5helOaBEckBojuiif4xlmg9VTFeVZQw== dependencies: - "@verdaccio/file-locking" "10.1.0" + "@verdaccio/file-locking" "10.2.0" apache-md5 "1.1.7" bcryptjs "2.4.3" - http-errors "1.8.1" + http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.5.2: - version "5.5.2" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.5.2.tgz#82d21c0ad1329a248efb8fa2d8a35d51b43800ae" - integrity sha512-SU107gfxE8FLrwp5GezhmWE0otWTAb7xIcz/m931vqOPjeH2MwbMf0+WuCDQ5O80XxdwurlK/JFNRYzDzqUrMA== +verdaccio@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.6.0.tgz#798f81b4e26645120cd53d4130fc621ab8a576db" + integrity sha512-dSy87kjtu3YxAxSm7dcT5sQuHKQ+Y4qSwMX6fO978kYHOPHKH1RtuzpAj2sBaPXDg09HekrUPlhlEjT8WWRL6Q== dependencies: - "@verdaccio/commons-api" "10.1.0" - "@verdaccio/local-storage" "10.1.1" - "@verdaccio/readme" "10.2.1" - "@verdaccio/streams" "10.1.0" + "@verdaccio/commons-api" "10.2.0" + "@verdaccio/local-storage" "10.2.0" + "@verdaccio/readme" "10.3.2" + "@verdaccio/streams" "10.2.0" "@verdaccio/ui-theme" "6.0.0-6-next.16" JSONStream "1.3.5" async "3.2.3" @@ -11328,7 +11486,7 @@ verdaccio@5.5.2: lodash "4.17.21" lru-cache "6.0.0" lunr-mutable-indexes "2.3.2" - marked "4.0.10" + marked "4.0.12" memoizee "0.4.15" mime "3.0.0" minimatch "3.0.4" @@ -11341,8 +11499,8 @@ verdaccio@5.5.2: request "2.88.0" semver "7.3.5" validator "13.7.0" - verdaccio-audit "10.1.1" - verdaccio-htpasswd "10.1.0" + verdaccio-audit "10.2.0" + verdaccio-htpasswd "10.2.0" verror@1.10.0: version "1.10.0" @@ -11533,6 +11691,36 @@ webpack@5.68.0: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.69.0: + version "5.69.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.0.tgz#c9eb607d4f6c49f1e5755492323a7b055c3450e3" + integrity sha512-E5Fqu89Gu8fR6vejRqu26h8ld/k6/dCVbeGUcuZjc+goQHDfCPU9rER71JmdtBYGmci7Ec2aFEATQ2IVXKy2wg== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.0" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From d79f2b7c1c70d85b100decff999095b013901099 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Feb 2022 10:24:08 +0000 Subject: [PATCH 0102/1388] build: update dependency minimatch to v5 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 17 ++++++++++++----- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 9266ff9abccc..3bd6dce60d35 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "loader-utils": "3.2.0", "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", - "minimatch": "4.1.1", + "minimatch": "5.0.0", "minimist": "^1.2.0", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6be63c69d3d1..6259adcfb100 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -41,7 +41,7 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.5.3", - "minimatch": "4.1.1", + "minimatch": "5.0.0", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", diff --git a/yarn.lock b/yarn.lock index bde62441ba3c..f3bde23c1029 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3467,6 +3467,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -7808,12 +7815,12 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" -minimatch@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.1.1.tgz#88d8172f2e1babcc3e249538b1a46970dfea1300" - integrity sha512-9ObkVPP8aM2KWHw1RMAaOoEzHjcqzE1dmEQHAOq9ySRhvVMru1VKqniUs/g6Us4KSwXKk0+uLko6caynDcWEWQ== +minimatch@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.0.tgz#281d8402aaaeed18a9e8406ad99c46a19206c6ef" + integrity sha512-EU+GCVjXD00yOUf1TwAHVP7v3fBD3A8RkkPYsWWKGWesxM/572sL53wJQnHxquHlRhYUV36wHkqrN8cdikKc2g== dependencies: - brace-expansion "^1.1.7" + brace-expansion "^2.0.1" minimatch@^4.0.0: version "4.2.1" From 1fca0f10d3b92037cb4d148317619037f5d0e695 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Feb 2022 03:24:23 +0000 Subject: [PATCH 0103/1388] build: update dependency pacote to v13 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 78 +++++++++++++++++++------------ 3 files changed, 50 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 3bd6dce60d35..72f6cac6360d 100644 --- a/package.json +++ b/package.json @@ -177,7 +177,7 @@ "npm-package-arg": "9.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "12.0.3", + "pacote": "13.0.1", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 11af8a5a2882..42130b101873 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "12.0.3", + "pacote": "13.0.1", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/yarn.lock b/yarn.lock index f3bde23c1029..57ad922bdffe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1686,7 +1686,7 @@ semver "^7.3.5" which "^2.0.2" -"@npmcli/installed-package-contents@^1.0.6": +"@npmcli/installed-package-contents@^1.0.7": version "1.0.7" resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== @@ -3669,7 +3669,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@15.3.0, cacache@^15.0.5, cacache@^15.2.0, cacache@^15.3.0: +cacache@15.3.0, cacache@^15.2.0, cacache@^15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -7583,10 +7583,10 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.2.tgz#0afb38d2f951b17ebc482b0b16c8d77f39dfe389" - integrity sha512-JSFLK53NJP22FL/eAGOyKsWbc2G3v+toPMD7Dq9PJKQCvK0i3t8hGkKxe+3YZzwYa+c0kxRHu7uxH3fvO+rsaA== +make-fetch-happen@^10.0.2: + version "10.0.3" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.3.tgz#94bbe675cf62a811dbab59668052388a078beaf2" + integrity sha512-CzarPHynPpHjhF5in/YapnO44rSZeYX5VCMfdXa99+gLwpbfFLh20CWa6dP/taV9Net9PWJwXNKtp/4ZTCQnag== dependencies: agentkeepalive "^4.2.0" cacache "^15.3.0" @@ -8210,7 +8210,7 @@ npm-package-arg@9.0.0, npm-package-arg@^9.0.0: semver "^7.3.5" validate-npm-package-name "^3.0.0" -npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: +npm-package-arg@^8.1.2: version "8.1.5" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== @@ -8229,7 +8229,7 @@ npm-packlist@^3.0.0: npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@7.0.0: +npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.0.tgz#e3b18b09678a47e894f90941bef8204ea5d96c3b" integrity sha512-njM1AcdioFaKd0JSGtLO09YA1WRwctjGQJbnHGmKS+u+uwP8oFvtZtOQWPYdxrnY5eJud3wn8OpH4sEIx6+GEQ== @@ -8239,7 +8239,7 @@ npm-pick-manifest@7.0.0: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: +npm-pick-manifest@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== @@ -8249,17 +8249,18 @@ npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: npm-package-arg "^8.1.2" semver "^7.3.4" -npm-registry-fetch@^12.0.0: - version "12.0.2" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz#ae583bb3c902a60dae43675b5e33b5b1f6159f1e" - integrity sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA== +npm-registry-fetch@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.0.0.tgz#f0cf807f661184217651e0465668e4fd255fd6a8" + integrity sha512-MmiMuV9DU5gRuAU0jia952Qq+E4h7ZoUaeltCXivhClcqfOVKqNLZEQsRUOb6a8WQY+um8x97JcUuaWFoPoBBw== dependencies: - make-fetch-happen "^10.0.1" + make-fetch-happen "^10.0.2" minipass "^3.1.6" minipass-fetch "^1.4.1" minipass-json-stream "^1.0.1" minizlib "^2.1.2" - npm-package-arg "^8.1.5" + npm-package-arg "^9.0.0" + proc-log "^2.0.0" npm-run-path@^4.0.1: version "4.0.1" @@ -8542,30 +8543,32 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@12.0.3: - version "12.0.3" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.3.tgz#b6f25868deb810e7e0ddf001be88da2bcaca57c7" - integrity sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow== +pacote@13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.1.tgz#3dd1a2a6501960466cc8ec7302b37eb7d064326e" + integrity sha512-nSdUduvmIZ2pYxENuCj6FYok+XYl8eXk7ajk+vAi6ZUVgTM81xhi13qsq4LZ/54f1MWOv3rVpbYZrpeIxcrSJQ== dependencies: "@npmcli/git" "^2.1.0" - "@npmcli/installed-package-contents" "^1.0.6" + "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^1.2.0" "@npmcli/run-script" "^2.0.0" - cacache "^15.0.5" + cacache "^15.3.0" chownr "^2.0.0" fs-minipass "^2.1.0" infer-owner "^1.0.4" - minipass "^3.1.3" - mkdirp "^1.0.3" - npm-package-arg "^8.0.1" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" npm-packlist "^3.0.0" - npm-pick-manifest "^6.0.0" - npm-registry-fetch "^12.0.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.0" + proc-log "^2.0.0" promise-retry "^2.0.1" - read-package-json-fast "^2.0.1" + read-package-json "^4.1.1" + read-package-json-fast "^2.0.3" rimraf "^3.0.2" ssri "^8.0.1" - tar "^6.1.0" + tar "^6.1.11" pako@^0.2.5: version "0.2.9" @@ -9281,6 +9284,11 @@ pretty-ms@^7.0.1: dependencies: parse-ms "^2.1.0" +proc-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.0.tgz#25f8cb346a5d08e27f2422b3ca6ba8379bcbf8ba" + integrity sha512-I/35MfCX2H8jBUhKN8JB8nmqvQo/nKdrBodBY7L3RhDSPPyvOHwLYNmPuhwuJq7a7C3vgFKWGQM+ecPStcvOHA== + process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" @@ -9533,7 +9541,7 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" -read-package-json-fast@^2.0.1: +read-package-json-fast@^2.0.1, read-package-json-fast@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== @@ -9551,6 +9559,16 @@ read-package-json@^2.0.0: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" +read-package-json@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" + integrity sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^3.0.0" + npm-normalize-package-bin "^1.0.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -10845,7 +10863,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.0.2, tar@^6.1.0, tar@^6.1.2, tar@^6.1.6: +tar@^6.0.2, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== From 1b51673d9d0ffa8f960d2998110dd1df925cd293 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 16 Feb 2022 10:20:35 -0500 Subject: [PATCH 0104/1388] test: remove unneeded public API golden file for removed build optimizer package This API golden file is no longer needed as the `@angular-devkit/build-optimizer` package has been removed as of v14. --- .../build_optimizer/src/index.md | 57 ------------------- 1 file changed, 57 deletions(-) delete mode 100644 goldens/public-api/angular_devkit/build_optimizer/src/index.md diff --git a/goldens/public-api/angular_devkit/build_optimizer/src/index.md b/goldens/public-api/angular_devkit/build_optimizer/src/index.md deleted file mode 100644 index 390e23bfac2d..000000000000 --- a/goldens/public-api/angular_devkit/build_optimizer/src/index.md +++ /dev/null @@ -1,57 +0,0 @@ -## API Report File for "@angular-devkit/build-optimizer" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import type { Compiler } from 'webpack'; -import { RawSourceMap } from 'source-map'; -import * as ts from 'typescript'; - -// @public (undocumented) -export function buildOptimizer(options: BuildOptimizerOptions): TransformJavascriptOutput; - -// @public (undocumented) -export function buildOptimizerLoader(this: { - resourcePath: string; - _module: { - factoryMeta: { - skipBuildOptimizer?: boolean; - sideEffectFree?: boolean; - }; - }; - cacheable(): void; - callback(error?: Error | null, content?: string, sourceMap?: unknown): void; - getOptions(): unknown; -}, content: string, previousSourceMap: RawSourceMap): void; - -// @public (undocumented) -export const buildOptimizerLoaderPath: string; - -// @public (undocumented) -export class BuildOptimizerWebpackPlugin { - // (undocumented) - apply(compiler: Compiler): void; -} - -// @public (undocumented) -export function getPrefixClassesTransformer(): ts.TransformerFactory; - -// @public (undocumented) -export function getPrefixFunctionsTransformer(): ts.TransformerFactory; - -// @public (undocumented) -export function getScrubFileTransformer(program?: ts.Program): ts.TransformerFactory; - -// @public (undocumented) -export function getScrubFileTransformerForCore(program?: ts.Program): ts.TransformerFactory; - -// @public (undocumented) -export function getWrapEnumsTransformer(): ts.TransformerFactory; - -// @public (undocumented) -export function transformJavascript(options: TransformJavascriptOptions): TransformJavascriptOutput; - -// (No @packageDocumentation comment for this package) - -``` From 51e1521359ed2b6b54ee784dff4d80902ab77fe3 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 16 Feb 2022 10:28:43 -0500 Subject: [PATCH 0105/1388] build: remove unused development dependency `seedrandom` The `seedrandom` dependency is not currently used within the package or project. As a result, it has been removed to prevent unneeded packages from being installed during development. --- packages/angular_devkit/core/package.json | 3 --- yarn.lock | 5 ----- 2 files changed, 8 deletions(-) diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index b59aa0d8be97..545f0a1f2669 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -22,8 +22,5 @@ "chokidar": { "optional": true } - }, - "devDependencies": { - "seedrandom": "^3.0.0" } } diff --git a/yarn.lock b/yarn.lock index 57ad922bdffe..652ceaf61867 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10075,11 +10075,6 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.0.0" -seedrandom@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" - integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" From 324314813d98dd5f9a1de4ddeecd9bfb6f6e2ed9 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 16 Feb 2022 10:37:32 -0500 Subject: [PATCH 0106/1388] build: remove unused/outdated Dockerfile The Dockerfile at the root of the repository is both outdated (uses Node.js v10) and unused by current development processes. --- Dockerfile | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 8fef94100787..000000000000 --- a/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM node:10.12 -ENTRYPOINT [ "sh" ] From f2df1321122b47d777be8d89df36948d5efb7e84 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Feb 2022 13:57:04 +0000 Subject: [PATCH 0107/1388] build: update scorecard action dependencies to ef024e7 --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 9d3562654615..5ac4e4ce78ee 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@869bc607582d2449c2529ebc09c7f49d30f0efde + uses: ossf/scorecard-action@c1aec4ac820532bab364f02a81873c555a0ba3a1 with: results_file: results.sarif results_format: sarif @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@2c6b76bc5a6dafa5a35d5865bb3aa1c1f21e7a44 + uses: github/codeql-action/upload-sarif@ef024e702cce6eafa15d4cdf8b22536ed02bcd55 with: sarif_file: results.sarif From 40301a2174bda3ae31886e58ffff28792c989847 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 16 Feb 2022 17:35:31 +0100 Subject: [PATCH 0108/1388] build: revert to `@babel/core` version `7.17.2` 7.17.3 is breaking vendor sourcemaps in windows. See: https://app.circleci.com/pipelines/github/angular/angular-cli/20692/workflows/9fc4f39e-d2f2-47c3-af01-f3a01c1bf542/jobs/288690 Related to https://github.com/babel/babel/issues/14277 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 64 +++---------------- 3 files changed, 12 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index 72f6cac6360d..220a524ce45b 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@angular/platform-server": "14.0.0-next.2", "@angular/router": "14.0.0-next.2", "@angular/service-worker": "14.0.0-next.2", - "@babel/core": "7.17.4", + "@babel/core": "7.17.2", "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6259adcfb100..fa5776da2c30 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,7 +10,7 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.4", + "@babel/core": "7.17.2", "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", diff --git a/yarn.lock b/yarn.lock index 652ceaf61867..00f6b13d8f44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,7 +33,7 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": +"@ampproject/remapping@2.1.2": version "2.1.2" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== @@ -216,7 +216,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420": version "0.0.0-5b35e20aeb147b713c31ba5c269cf2128c746d46" - uid bd277985ac350efca14fba5609cac29e6ebd4420 resolved "https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420" dependencies: "@actions/core" "^1.4.0" @@ -376,20 +375,20 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.4": - version "7.17.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.4.tgz#a22f1ae8999122873b3d18865e98c7a3936b8c8b" - integrity sha512-R9x5r4t4+hBqZTmioSnkrW+I6NmbojwjGT8p4G2Gw1thWbXIHGDnmGdLdFw0/7ljucdIrNRp7Npgb4CyBYzzJg== +"@babel/core@7.17.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" + integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== dependencies: - "@ampproject/remapping" "^2.1.0" + "@ampproject/remapping" "^2.0.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" + "@babel/generator" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.3" + "@babel/parser" "^7.17.0" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" + "@babel/traverse" "^7.17.0" "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" @@ -418,27 +417,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" - integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== - dependencies: - "@ampproject/remapping" "^2.0.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - "@babel/generator@7.17.0", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" @@ -448,7 +426,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.3", "@babel/generator@^7.17.3": +"@babel/generator@7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -678,11 +656,6 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== -"@babel/parser@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" - integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1317,22 +1290,6 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" @@ -10025,7 +9982,6 @@ sass@1.49.7, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: From ee95366ea30fdea7a0f74eabff937271c028e9c3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 16 Feb 2022 18:20:11 +0100 Subject: [PATCH 0109/1388] build: rollback `@babel/generator` to `7.17.0` This is a fix to avoid hosting issues which causes bazel test to fail. --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 --------- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 220a524ce45b..43b23d044eb2 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "@angular/router": "14.0.0-next.2", "@angular/service-worker": "14.0.0-next.2", "@babel/core": "7.17.2", - "@babel/generator": "7.17.3", + "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index fa5776da2c30..0dd2e0454274 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,7 +11,7 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.17.2", - "@babel/generator": "7.17.3", + "@babel/generator": "7.17.0", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", diff --git a/yarn.lock b/yarn.lock index 00f6b13d8f44..21dec63b3928 100644 --- a/yarn.lock +++ b/yarn.lock @@ -426,15 +426,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" - integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" From 3c31c22ba6e4c139f77b33a5be49bc1b8ab1fde9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 17 Feb 2022 17:14:07 +0000 Subject: [PATCH 0110/1388] build: update all non-major dependencies --- package.json | 18 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 14 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 350 +++++++++++++++--- 6 files changed, 315 insertions(+), 73 deletions(-) diff --git a/package.json b/package.json index 43b23d044eb2..0e3d1beb32f6 100644 --- a/package.json +++ b/package.json @@ -78,8 +78,8 @@ "@angular/platform-server": "14.0.0-next.2", "@angular/router": "14.0.0-next.2", "@angular/service-worker": "14.0.0-next.2", - "@babel/core": "7.17.2", - "@babel/generator": "7.17.0", + "@babel/core": "7.17.5", + "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", @@ -131,17 +131,17 @@ "common-tags": "^1.8.0", "conventional-commits-parser": "^3.0.0", "copy-webpack-plugin": "10.2.4", - "core-js": "3.21.0", + "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.21", - "esbuild-wasm": "0.14.21", + "esbuild": "0.14.22", + "esbuild-wasm": "0.14.22", "eslint": "8.9.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", - "express": "4.17.2", + "express": "4.17.3", "fast-json-stable-stringify": "2.1.0", "font-awesome": "^4.7.0", "gh-got": "^9.0.0", @@ -177,7 +177,7 @@ "npm-package-arg": "9.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.1", + "pacote": "13.0.2", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", @@ -186,7 +186,7 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.0", + "postcss-preset-env": "7.4.1", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "13.3.2", @@ -216,7 +216,7 @@ "typescript": "4.5.5", "verdaccio": "5.6.0", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.69.0", + "webpack": "5.69.1", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 42130b101873..e401b6b003ce 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.1", + "pacote": "13.0.2", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0dd2e0454274..e384bc962114 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,8 +10,8 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.2", - "@babel/generator": "7.17.0", + "@babel/core": "7.17.5", + "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", @@ -27,10 +27,10 @@ "browserslist": "^4.9.1", "cacache": "15.3.0", "copy-webpack-plugin": "10.2.4", - "core-js": "3.21.0", + "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.21", + "esbuild-wasm": "0.14.22", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -49,7 +49,7 @@ "postcss": "8.4.6", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.0", + "postcss-preset-env": "7.4.1", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -64,14 +64,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.69.0", + "webpack": "5.69.1", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.21" + "esbuild": "0.14.22" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 4a6768902087..529ae50d5059 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.69.0" + "webpack": "5.69.1" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index dcae8ee403d1..bfe68c4e61b5 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.2", "@angular/compiler-cli": "14.0.0-next.2", "typescript": "4.5.5", - "webpack": "5.69.0" + "webpack": "5.69.1" } } diff --git a/yarn.lock b/yarn.lock index 21dec63b3928..512fea8ea06d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,7 +33,7 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@2.1.2": +"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": version "2.1.2" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== @@ -375,20 +375,20 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" - integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== +"@babel/core@7.17.5": + version "7.17.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" + integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== dependencies: - "@ampproject/remapping" "^2.0.0" + "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" + "@babel/generator" "^7.17.3" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7" "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.0" + "@babel/parser" "^7.17.3" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" + "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" @@ -417,6 +417,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" + integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== + dependencies: + "@ampproject/remapping" "^2.0.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.0" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.2" + "@babel/parser" "^7.17.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/generator@7.17.0", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" @@ -426,6 +447,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@7.17.3", "@babel/generator@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" + integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -647,6 +677,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== +"@babel/parser@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" + integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1281,6 +1316,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" @@ -1620,15 +1671,16 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" -"@npmcli/git@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" - integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== +"@npmcli/git@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.0.tgz#466a18980da6b646a8112a7676688ae5347deba3" + integrity sha512-xfSBJ+KBMZWWqRHFbEgIaXG/LtELHrQZMJ72Gkb3yWdHysu/7+VGOs8ME0c3td7QNQX57Ggo3kYL6ylcd70/kA== dependencies: "@npmcli/promise-spawn" "^1.3.2" - lru-cache "^6.0.0" + lru-cache "^7.3.1" mkdirp "^1.0.4" - npm-pick-manifest "^6.1.1" + npm-pick-manifest "^7.0.0" + proc-log "^2.0.0" promise-inflight "^1.0.1" promise-retry "^2.0.1" semver "^7.3.5" @@ -2836,7 +2888,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== @@ -3385,6 +3437,22 @@ body-parser@1.19.1, body-parser@^1.19.0: raw-body "2.4.2" type-is "~1.6.18" +body-parser@1.19.2: + version "1.19.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" + integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.8.1" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.9.7" + raw-body "2.4.3" + type-is "~1.6.18" + bonjour@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" @@ -3598,6 +3666,11 @@ bytes@3.1.1: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + c8@~7.5.0: version "7.5.0" resolved "https://registry.yarnpkg.com/c8/-/c8-7.5.0.tgz#a69439ab82848f344a74bb25dc5dd4e867764481" @@ -4048,7 +4121,7 @@ cookie@0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== -cookie@~0.4.1: +cookie@0.4.2, cookie@~0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== @@ -4093,6 +4166,11 @@ core-js@3.21.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.0.tgz#f479dbfc3dffb035a0827602dd056839a774aa71" integrity sha512-YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ== +core-js@3.21.1: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" + integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -4767,7 +4845,7 @@ engine.io@~6.1.0: engine.io-parser "~5.0.0" ws "~8.2.3" -enhanced-resolve@^5.8.3, enhanced-resolve@^5.9.0: +enhanced-resolve@^5.8.3: version "5.9.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz#49ac24953ac8452ed8fed2ef1340fc8e043667ee" integrity sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA== @@ -4912,6 +4990,11 @@ esbuild-android-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz#8842d0c3b7c81fbe2dc46ddb416ffd6eb822184b" integrity sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ== +esbuild-android-arm64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz#fb051169a63307d958aec85ad596cfc7d7770303" + integrity sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ== + esbuild-darwin-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" @@ -4922,6 +5005,11 @@ esbuild-darwin-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz#ec7df02ad88ecf7f8fc23a3ed7917e07dea0c9c9" integrity sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ== +esbuild-darwin-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz#615ea0a9de67b57a293a7128d7ac83ee307a856d" + integrity sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw== + esbuild-darwin-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" @@ -4932,6 +5020,11 @@ esbuild-darwin-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz#0c2a977edec1ef54097ee56a911518c820d4e5e4" integrity sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ== +esbuild-darwin-arm64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz#82054dcfcecb15ccfd237093b8008e7745a99ad9" + integrity sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw== + esbuild-freebsd-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" @@ -4942,6 +5035,11 @@ esbuild-freebsd-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz#f5b5fc1d031286c3a0949d1bda7db774b7d0404e" integrity sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g== +esbuild-freebsd-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz#778a818c5b078d5cdd6bb6c0e0797217d196999b" + integrity sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A== + esbuild-freebsd-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" @@ -4952,6 +5050,11 @@ esbuild-freebsd-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz#a05cab908013e4992b31a675850b8c44eb468c0c" integrity sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA== +esbuild-freebsd-arm64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz#18da93b9f3db2e036f72383bfe73b28b73bb332c" + integrity sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ== + esbuild-linux-32@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" @@ -4962,6 +5065,11 @@ esbuild-linux-32@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz#638d244cc58b951f447addb4bade628d126ef84b" integrity sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg== +esbuild-linux-32@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz#d0d5d9f5bb3536e17ac097e9512019c65b7c0234" + integrity sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg== + esbuild-linux-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" @@ -4972,6 +5080,11 @@ esbuild-linux-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz#8eb634abee928be7e35b985fafbfef2f2e31397f" integrity sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA== +esbuild-linux-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz#2773d540971999ea7f38107ef92fca753f6a8c30" + integrity sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg== + esbuild-linux-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" @@ -4982,6 +5095,11 @@ esbuild-linux-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz#e05599ea6253b58394157da162d856f3ead62f9e" integrity sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g== +esbuild-linux-arm64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz#5d4480ce6d6bffab1dd76a23158f5a5ab33e7ba4" + integrity sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A== + esbuild-linux-arm@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" @@ -4992,6 +5110,11 @@ esbuild-linux-arm@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz#1ae1078231cf689d3ba894a32d3723c0be9b91fd" integrity sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w== +esbuild-linux-arm@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz#c6391b3f7c8fa6d3b99a7e893ce0f45f3a921eef" + integrity sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g== + esbuild-linux-mips64le@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" @@ -5002,6 +5125,11 @@ esbuild-linux-mips64le@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz#f05be62d126764e99b37edcac5bb49b78c7a8890" integrity sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A== +esbuild-linux-mips64le@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz#2c8dabac355c502e86c38f9f292b3517d8e181f3" + integrity sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ== + esbuild-linux-ppc64le@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" @@ -5012,11 +5140,21 @@ esbuild-linux-ppc64le@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz#592c98d82dad7982268ef8deed858c4566f07ab1" integrity sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ== +esbuild-linux-ppc64le@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz#69d71b2820d5c94306072dac6094bae38e77d1c0" + integrity sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng== + esbuild-linux-riscv64@0.14.21: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz#0db7bd6f10d8f9afea973a7d6bf87b449b864b7b" integrity sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q== +esbuild-linux-riscv64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz#c0ec0fc3a23624deebf657781550d2329cec4213" + integrity sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ== + esbuild-linux-s390x@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" @@ -5027,6 +5165,11 @@ esbuild-linux-s390x@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz#254a9354d34c9d1b41a3e21d2ec9269cbbb2c5df" integrity sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA== +esbuild-linux-s390x@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz#ec2af4572d63336cfb27f5a5c851fb1b6617dd91" + integrity sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw== + esbuild-netbsd-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" @@ -5037,6 +5180,11 @@ esbuild-netbsd-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz#4cb783d060b02bf3b897a9a12cce2b3b547726f8" integrity sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g== +esbuild-netbsd-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz#0e283278e9fdbaa7f0930f93ee113d7759cd865e" + integrity sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA== + esbuild-openbsd-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" @@ -5047,6 +5195,11 @@ esbuild-openbsd-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz#f886b93feefddbe573528fa4b421c9c6e2bc969b" integrity sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA== +esbuild-openbsd-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz#2a73bba04e16d8ef278fbe2be85248e12a2f2cc2" + integrity sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA== + esbuild-sunos-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" @@ -5057,12 +5210,22 @@ esbuild-sunos-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz#3829e4d57d4cb6950837fe90b0b67cdfb37cf13a" integrity sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA== +esbuild-sunos-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz#8fe03513b8b2e682a6d79d5e3ca5849651a3c1d8" + integrity sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g== + esbuild-wasm@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" integrity sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA== -esbuild-wasm@0.14.21, esbuild-wasm@^0.14.14: +esbuild-wasm@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz#9671d1355473b6688d00fe8ef6fa50274eff5465" + integrity sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw== + +esbuild-wasm@^0.14.14: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.21.tgz#869858146731555c21dc49d1cd010b392ed305c7" integrity sha512-sPMyljBiKxXjW1wLd5dQnrUJR1PAt8ybSidXoZWJnMuB1mpdLju57LtstDWWkCgcaE+TGJJ6NqP/OtGyeDdEAA== @@ -5077,6 +5240,11 @@ esbuild-windows-32@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz#b858a22d1a82e53cdc59310cd56294133f7a95e7" integrity sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A== +esbuild-windows-32@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz#a75df61e3e49df292a1842be8e877a3153ee644f" + integrity sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg== + esbuild-windows-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" @@ -5087,6 +5255,11 @@ esbuild-windows-64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz#7bb5a027d5720cf9caf18a4bedd11327208f1f12" integrity sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA== +esbuild-windows-64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz#d06cf8bbe4945b8bf95a730d871e54a22f635941" + integrity sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw== + esbuild-windows-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" @@ -5097,6 +5270,11 @@ esbuild-windows-arm64@0.14.21: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz#25df54521ad602c826b262ea2e7cc1fe80f5c2f5" integrity sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw== +esbuild-windows-arm64@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz#f8b1b05c548073be8413a5ecb12d7c2f6e717227" + integrity sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg== + esbuild@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.20.tgz#e83fcb838463f220e864141752bb0f91bfc9c33a" @@ -5121,7 +5299,32 @@ esbuild@0.14.20: esbuild-windows-64 "0.14.20" esbuild-windows-arm64 "0.14.20" -esbuild@0.14.21, esbuild@^0.14.14: +esbuild@0.14.22: + version "0.14.22" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.22.tgz#2b55fde89d7aa5aaaad791816d58ff9dfc5ed085" + integrity sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA== + optionalDependencies: + esbuild-android-arm64 "0.14.22" + esbuild-darwin-64 "0.14.22" + esbuild-darwin-arm64 "0.14.22" + esbuild-freebsd-64 "0.14.22" + esbuild-freebsd-arm64 "0.14.22" + esbuild-linux-32 "0.14.22" + esbuild-linux-64 "0.14.22" + esbuild-linux-arm "0.14.22" + esbuild-linux-arm64 "0.14.22" + esbuild-linux-mips64le "0.14.22" + esbuild-linux-ppc64le "0.14.22" + esbuild-linux-riscv64 "0.14.22" + esbuild-linux-s390x "0.14.22" + esbuild-netbsd-64 "0.14.22" + esbuild-openbsd-64 "0.14.22" + esbuild-sunos-64 "0.14.22" + esbuild-windows-32 "0.14.22" + esbuild-windows-64 "0.14.22" + esbuild-windows-arm64 "0.14.22" + +esbuild@^0.14.14: version "0.14.21" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.21.tgz#b3e05f900f1c4394f596d60d63d9816468f0f671" integrity sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A== @@ -5451,6 +5654,42 @@ express@4.17.2, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +express@4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" + integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.19.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.4.2" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.9.7" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.17.2" + serve-static "1.14.2" + setprototypeof "1.2.0" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + ext@^1.1.2: version "1.6.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" @@ -8158,15 +8397,6 @@ npm-package-arg@9.0.0, npm-package-arg@^9.0.0: semver "^7.3.5" validate-npm-package-name "^3.0.0" -npm-package-arg@^8.1.2: - version "8.1.5" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" - integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== - dependencies: - hosted-git-info "^4.0.1" - semver "^7.3.4" - validate-npm-package-name "^3.0.0" - npm-packlist@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-3.0.0.tgz#0370df5cfc2fcc8f79b8f42b37798dd9ee32c2a9" @@ -8187,16 +8417,6 @@ npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-pick-manifest@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" - integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== - dependencies: - npm-install-checks "^4.0.0" - npm-normalize-package-bin "^1.0.1" - npm-package-arg "^8.1.2" - semver "^7.3.4" - npm-registry-fetch@^13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.0.0.tgz#f0cf807f661184217651e0465668e4fd255fd6a8" @@ -8491,12 +8711,12 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.1.tgz#3dd1a2a6501960466cc8ec7302b37eb7d064326e" - integrity sha512-nSdUduvmIZ2pYxENuCj6FYok+XYl8eXk7ajk+vAi6ZUVgTM81xhi13qsq4LZ/54f1MWOv3rVpbYZrpeIxcrSJQ== +pacote@13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.2.tgz#3389b8338cdbec3a1fa433848cf00860f7c08ea6" + integrity sha512-3LyfvDk2BSJNFQZIcDqnLNa7IsYb6KwX3H9uZPwaHJFIX6Gv5N9QHU+s7mEs/RbN4/ta6KUT39LAi2l6EkBi5A== dependencies: - "@npmcli/git" "^2.1.0" + "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^1.2.0" "@npmcli/run-script" "^2.0.0" @@ -8798,6 +9018,13 @@ postcss-clamp@^3.0.0: dependencies: postcss-value-parser "^4.1.0" +postcss-clamp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.0.0.tgz#766d3dbaa2dc56e8bea1b690291b632c0c5bf728" + integrity sha512-FsMmeBZtymFN7Jtlnw9is8I4nB+qEEb/qS0ZLTIqcKiwZyHBq44Yhv29Q+VQsTGHYFqIr/s/9tqvNM7j+j1d+g== + dependencies: + postcss-value-parser "^4.2.0" + postcss-color-functional-notation@^4.2.1, postcss-color-functional-notation@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" @@ -9048,10 +9275,10 @@ postcss-preset-env@7.3.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.0.tgz#f857ae123e96a7aa2472c75c5595e2d270c2c492" - integrity sha512-nWC9bDW6nQ4a15RZ/UKgpxZT8xbv0gl+/2q6PROAwwzsxiEb4pjsChAbS0sltepvAjqXbQhff+38FXDxJCCobw== +postcss-preset-env@7.4.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.1.tgz#ca6131c6e0d0e0bcc429dbef3e8f8d03250041ea" + integrity sha512-UvBVvPJ2vb4odAtckSbryndyBz+Me1q8wawqq0qznpDXy188I+8W5Sa929sCPqw2/NSYnqpHJbo41BKso3+I9A== dependencies: "@csstools/postcss-color-function" "^1.0.2" "@csstools/postcss-font-format-keywords" "^1.0.0" @@ -9068,7 +9295,7 @@ postcss-preset-env@7.4.0: css-prefers-color-scheme "^6.0.3" cssdb "^6.3.1" postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^3.0.0" + postcss-clamp "^4.0.0" postcss-color-functional-notation "^4.2.2" postcss-color-hex-alpha "^8.0.3" postcss-color-rebeccapurple "^7.0.2" @@ -9399,6 +9626,11 @@ qs@6.9.6: resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== +qs@6.9.7: + version "6.9.7" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" + integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== + qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -9468,6 +9700,16 @@ raw-body@2.4.2, raw-body@^2.3.2: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" + integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== + dependencies: + bytes "3.1.2" + http-errors "1.8.1" + iconv-lite "0.4.24" + unpipe "1.0.0" + read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -11658,10 +11900,10 @@ webpack@5.68.0: watchpack "^2.3.1" webpack-sources "^3.2.3" -webpack@5.69.0: - version "5.69.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.0.tgz#c9eb607d4f6c49f1e5755492323a7b055c3450e3" - integrity sha512-E5Fqu89Gu8fR6vejRqu26h8ld/k6/dCVbeGUcuZjc+goQHDfCPU9rER71JmdtBYGmci7Ec2aFEATQ2IVXKy2wg== +webpack@5.69.1: + version "5.69.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.1.tgz#8cfd92c192c6a52c99ab00529b5a0d33aa848dc5" + integrity sha512-+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" @@ -11672,7 +11914,7 @@ webpack@5.69.0: acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.0" + enhanced-resolve "^5.8.3" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" From c4cd673e03f07ca4b6ece62d68c0dd116a3aec89 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Thu, 17 Feb 2022 15:29:22 -0800 Subject: [PATCH 0111/1388] docs: release notes for the v13.2.4 release --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 689f2a40c936..cea63e1b812c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ + + +# 13.2.4 (2022-02-17) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | +| [48c655ac9](https://github.com/angular/angular-cli/commit/48c655ac98e1d69622dd832c6a915c48e703cd8f) | fix | update `esbuild` to `0.14.22` | +| [c0736ea0b](https://github.com/angular/angular-cli/commit/c0736ea0b173861bb5ceb9315d27038eb28535e1) | fix | update license-webpack-plugin to 4.0.2 | + +## Special Thanks + +Alan Agius, Anner Visser and Charles Lyding + + + # 14.0.0-next.1 (2022-02-09) From 2acec7f3c033686173ab59a81bf59577cfd6c330 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Thu, 17 Feb 2022 15:39:58 -0800 Subject: [PATCH 0112/1388] release: cut the v14.0.0-next.2 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cea63e1b812c..06296d26a7fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 14.0.0-next.2 (2022-02-17) + +## Breaking Changes + +### @angular/cli + +- Deprecated `ng x18n` and `ng i18n-extract` commands have been removed in favor of `ng extract-i18n`. + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------- | +| [b69ca3a7d](https://github.com/angular/angular-cli/commit/b69ca3a7d22b54fc06fbc1cfb559b2fd915f5609) | refactor | remove deprecated command aliases for `extract-i18n`. | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | +| [fafbbeab6](https://github.com/angular/angular-cli/commit/fafbbeab6d9ab5e8797e373f869f365729e569c5) | fix | update license-webpack-plugin to 4.0.2 | + +## Special Thanks + +Alan Agius, Anner Visser, Charles Lyding and Joey Perrott + + + # 13.2.4 (2022-02-17) diff --git a/package.json b/package.json index 0e3d1beb32f6..5c30bd11b110 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.1", + "version": "14.0.0-next.2", "private": true, "description": "Software Development Kit for Angular", "bin": { From ed790c1155cb5d49d9985a9e27e239675f2939ba Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 17 Feb 2022 20:26:45 -0500 Subject: [PATCH 0113/1388] test: update E2E production application size expectations Improvements to the framework for `14.0.0-next.3` resulted in reduced main bundle sizes. ``` Initial Chunk Files | Names | Raw Size | Estimated Transfer Size main.f6e8bb94b78b0b43.js | main | 120.24 kB | 36.23 kB ``` --- tests/legacy-cli/e2e/tests/build/prod-build.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index 22cdf5d25435..6284e64672f6 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -1,7 +1,7 @@ import { statSync } from 'fs'; import { join } from 'path'; import { expectFileToExist, expectFileToMatch, readFile } from '../../utils/fs'; -import { ng } from '../../utils/process'; +import { noSilentNg } from '../../utils/process'; function verifySize(bundle: string, baselineBytes: number) { const size = statSync(`dist/test-project/${bundle}`).size; @@ -29,7 +29,7 @@ export default async function () { // stuck to the first build done const bootstrapRegExp = /bootstrapModule\([a-zA-Z]+[0-9]*\)\./; - await ng('build'); + await noSilentNg('build'); await expectFileToExist(join(process.cwd(), 'dist')); // Check for cache busting hash script src await expectFileToMatch('dist/test-project/index.html', /main\.[0-9a-f]{16}\.js/); @@ -43,5 +43,5 @@ export default async function () { await expectFileToMatch(`dist/test-project/${mainPath}`, bootstrapRegExp); // Size checks in bytes - verifySize(mainPath, 141032); + verifySize(mainPath, 124000); } From 41a649a5917f5d5ed2e8decc49efecc06bd7d6e1 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 16 Feb 2022 14:03:00 -0500 Subject: [PATCH 0114/1388] build: update bazel to 5.0.0 Update bazel to the latest stable version (currently 5.0.0). --- .bazelversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelversion b/.bazelversion index fcdb2e109f68..0062ac971805 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -4.0.0 +5.0.0 From e0e4cd62319fde5d870a6f1297f2ecaccf44f477 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 18 Feb 2022 15:11:33 +0000 Subject: [PATCH 0115/1388] build: update dependency sass to v1.49.8 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5c30bd11b110..75e3389203f0 100644 --- a/package.json +++ b/package.json @@ -194,7 +194,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.7", + "sass": "1.49.8", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e384bc962114..94fc3a8db2d0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.7", + "sass": "1.49.8", "sass-loader": "12.6.0", "semver": "7.3.5", "source-map-loader": "3.0.1", diff --git a/yarn.lock b/yarn.lock index 512fea8ea06d..4c724fc69f39 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10213,6 +10213,15 @@ sass@1.49.7, sass@^1.49.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.49.8: + version "1.49.8" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.8.tgz#9bbbc5d43d14862db07f1c04b786c9da9b641828" + integrity sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" From 175cd51e0f1cc18b881938f70f74f9fbc8ad2614 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 18 Feb 2022 15:01:32 -0500 Subject: [PATCH 0116/1388] build: remove multiple unused development dependencies The following development dependencies are no longer used directly and have been removed from the root `package.json`: * `conventional-commits-parser` * `gh-got` * `git-raw-commits` --- package.json | 3 --- yarn.lock | 11 ++--------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 75e3389203f0..2d4ebb70b645 100644 --- a/package.json +++ b/package.json @@ -129,7 +129,6 @@ "cacache": "15.3.0", "chokidar": "^3.5.2", "common-tags": "^1.8.0", - "conventional-commits-parser": "^3.0.0", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", @@ -144,8 +143,6 @@ "express": "4.17.3", "fast-json-stable-stringify": "2.1.0", "font-awesome": "^4.7.0", - "gh-got": "^9.0.0", - "git-raw-commits": "^2.0.0", "glob": "7.2.0", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 4c724fc69f39..a382b83cc22f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4092,7 +4092,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.1: +conventional-commits-parser@^3.2.1: version "3.2.4" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== @@ -6102,14 +6102,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -gh-got@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-9.0.0.tgz#5f82eb5c97aa7a0235f50cf277331cdeda879670" - integrity sha512-RH5n6CDdb6AozElmiKwFhmO/1FmhWWVhfQAVv+JtU8jtPK12JLErce/VQFsFwZ9dTa01SfD7WXb/1iyZp/5XKg== - dependencies: - got "^10.5.7" - -git-raw-commits@^2.0.0, git-raw-commits@^2.0.10: +git-raw-commits@^2.0.10: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== From af0ef747b2232b132ec6b28c0292d7dc461988eb Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 18 Feb 2022 16:13:03 -0500 Subject: [PATCH 0117/1388] test: remove `common-tags` dependency from E2E tests The `common-tags` development dependency was only used in several E2E tests. Removing the usage of the dependency also allows it to be removed as a development dependency from the root `package.json`. --- package.json | 1 - .../e2e/tests/basic/scripts-array.ts | 17 +- .../e2e/tests/basic/styles-array.ts | 6 +- tests/legacy-cli/e2e/tests/build/polyfills.ts | 1 - .../e2e/tests/build/styles/imports.ts | 12 +- .../legacy-cli/e2e/tests/build/styles/less.ts | 9 +- .../e2e/tests/build/styles/loaders.ts | 53 +++---- .../e2e/tests/build/styles/material-import.ts | 19 +-- .../legacy-cli/e2e/tests/build/styles/scss.ts | 9 +- .../e2e/tests/build/styles/stylus.ts | 9 +- tests/legacy-cli/e2e/tests/build/ts-paths.ts | 29 ++-- .../e2e/tests/commands/help/help-hidden.ts | 19 +-- .../generate/component/component-duplicate.ts | 10 +- .../legacy-cli/e2e/tests/misc/common-async.ts | 148 ++++++++++-------- .../legacy-cli/e2e/tests/test/test-scripts.ts | 118 +++++++------- .../e2e/tests/third-party/bootstrap.ts | 15 +- tests/legacy-cli/e2e/utils/fs.ts | 31 ++-- yarn.lock | 5 - 18 files changed, 232 insertions(+), 279 deletions(-) diff --git a/package.json b/package.json index 2d4ebb70b645..494fb4efc298 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,6 @@ "browserslist": "^4.9.1", "cacache": "15.3.0", "chokidar": "^3.5.2", - "common-tags": "^1.8.0", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", diff --git a/tests/legacy-cli/e2e/tests/basic/scripts-array.ts b/tests/legacy-cli/e2e/tests/basic/scripts-array.ts index b0f170f297ed..d60d95cbde70 100644 --- a/tests/legacy-cli/e2e/tests/basic/scripts-array.ts +++ b/tests/legacy-cli/e2e/tests/basic/scripts-array.ts @@ -1,4 +1,3 @@ -import { oneLineTrim } from 'common-tags'; import { appendToFile, expectFileToMatch, writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -53,13 +52,13 @@ export default async function () { // index.html lists the right bundles await expectFileToMatch( 'dist/test-project/index.html', - oneLineTrim` - - - - - - - `, + [ + '', + '', + '', + '', + '', + '', + ].join(''), ); } diff --git a/tests/legacy-cli/e2e/tests/basic/styles-array.ts b/tests/legacy-cli/e2e/tests/basic/styles-array.ts index 4926737ac13d..f6c05c43ef01 100644 --- a/tests/legacy-cli/e2e/tests/basic/styles-array.ts +++ b/tests/legacy-cli/e2e/tests/basic/styles-array.ts @@ -1,4 +1,3 @@ -import { oneLineTrim } from 'common-tags'; import { expectFileToMatch, writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -36,10 +35,7 @@ export default async function () { await expectFileToMatch('dist/test-project/renamed-lazy-style.css', '.pre-rename-lazy-style'); await expectFileToMatch( 'dist/test-project/index.html', - oneLineTrim` - - - `, + '', ); // Non injected styles should be listed under lazy chunk files diff --git a/tests/legacy-cli/e2e/tests/build/polyfills.ts b/tests/legacy-cli/e2e/tests/build/polyfills.ts index b7478db42bf5..8e58c5038f26 100644 --- a/tests/legacy-cli/e2e/tests/build/polyfills.ts +++ b/tests/legacy-cli/e2e/tests/build/polyfills.ts @@ -1,4 +1,3 @@ -import { oneLineTrim } from 'common-tags'; import { expectFileSizeToBeUnder, expectFileToExist, diff --git a/tests/legacy-cli/e2e/tests/build/styles/imports.ts b/tests/legacy-cli/e2e/tests/build/styles/imports.ts index a1428ad51394..4c8dcc139acb 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/imports.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/imports.ts @@ -1,9 +1,7 @@ import { writeMultipleFiles, expectFileToMatch, replaceInFile } from '../../../utils/fs'; import { expectToFail } from '../../../utils/utils'; import { ng } from '../../../utils/process'; -import { stripIndents } from 'common-tags'; import { updateJsonFile } from '../../../utils/project'; -import { getGlobalVariable } from '../../../utils/env'; export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. @@ -15,14 +13,14 @@ export default function () { promise = promise.then(() => { return ( writeMultipleFiles({ - [`src/styles.${ext}`]: stripIndents` + [`src/styles.${ext}`]: ` @import './imported-styles.${ext}'; body { background-color: #00f; } `, - [`src/imported-styles.${ext}`]: stripIndents` + [`src/imported-styles.${ext}`]: ` p { background-color: #f00; } `, - [`src/app/app.component.${ext}`]: stripIndents` + [`src/app/app.component.${ext}`]: ` @import './imported-component-styles.${ext}'; .outer { .inner { @@ -30,9 +28,7 @@ export default function () { } } `, - [`src/app/imported-component-styles.${ext}`]: stripIndents` - h1 { background: #000; } - `, + [`src/app/imported-component-styles.${ext}`]: 'h1 { background: #000; }', }) // change files to use preprocessor .then(() => diff --git a/tests/legacy-cli/e2e/tests/build/styles/less.ts b/tests/legacy-cli/e2e/tests/build/styles/less.ts index 9f43f4856d20..da464cec3965 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/less.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/less.ts @@ -6,21 +6,18 @@ import { } from '../../../utils/fs'; import { expectToFail } from '../../../utils/utils'; import { ng } from '../../../utils/process'; -import { stripIndents } from 'common-tags'; import { updateJsonFile } from '../../../utils/project'; export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return writeMultipleFiles({ - 'src/styles.less': stripIndents` + 'src/styles.less': ` @import './imported-styles.less'; body { background-color: blue; } `, - 'src/imported-styles.less': stripIndents` - p { background-color: red; } - `, - 'src/app/app.component.less': stripIndents` + 'src/imported-styles.less': 'p { background-color: red; }', + 'src/app/app.component.less': ` .outer { .inner { background: #fff; diff --git a/tests/legacy-cli/e2e/tests/build/styles/loaders.ts b/tests/legacy-cli/e2e/tests/build/styles/loaders.ts index aeed8399201c..8e8f560caf79 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/loaders.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/loaders.ts @@ -2,40 +2,39 @@ import { writeMultipleFiles, deleteFile, expectFileToMatch, - replaceInFile + replaceInFile, } from '../../../utils/fs'; import { ng } from '../../../utils/process'; -import { stripIndents } from 'common-tags'; import { updateJsonFile } from '../../../utils/project'; import { expectToFail } from '../../../utils/utils'; -export default function () { - return writeMultipleFiles({ - 'src/styles.scss': stripIndents` +export default async function () { + await writeMultipleFiles({ + 'src/styles.scss': ` @import './imported-styles.scss'; body { background-color: blue; } `, - 'src/imported-styles.scss': stripIndents` - p { background-color: red; } - `, - 'src/app/app.component.scss': stripIndents` - .outer { - .inner { - background: #fff; - } + 'src/imported-styles.scss': 'p { background-color: red; }', + 'src/app/app.component.scss': ` + .outer { + .inner { + background: #fff; } - `}) - .then(() => deleteFile('src/app/app.component.css')) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [ - { input: 'src/styles.scss' }, - ]; - })) - .then(() => replaceInFile('src/app/app.component.ts', - './app.component.css', './app.component.scss')) - .then(() => ng('build', '--configuration=development')) - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/styles.css', /exports/))) - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/main-es5.js', - /".*module\.exports.*\.outer.*background:/))); + } + `, + }); + + await deleteFile('src/app/app.component.css'); + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.styles = [{ input: 'src/styles.scss' }]; + }); + await replaceInFile('src/app/app.component.ts', './app.component.css', './app.component.scss'); + + await ng('build', '--configuration=development'); + + await expectToFail(() => expectFileToMatch('dist/test-project/styles.css', /exports/)); + await expectToFail(() => + expectFileToMatch('dist/test-project/main.js', /".*module\.exports.*\.outer.*background:/), + ); } diff --git a/tests/legacy-cli/e2e/tests/build/styles/material-import.ts b/tests/legacy-cli/e2e/tests/build/styles/material-import.ts index d73e6526e3ca..f4c0829ea2b8 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/material-import.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/material-import.ts @@ -1,4 +1,3 @@ -import { stripIndents } from 'common-tags'; import { getGlobalVariable } from '../../../utils/env'; import { replaceInFile, writeMultipleFiles } from '../../../utils/fs'; import { installWorkspacePackages } from '../../../utils/packages'; @@ -25,12 +24,9 @@ export default async function () { for (const ext of ['css', 'scss', 'less', 'styl']) { await writeMultipleFiles({ - [`src/styles.${ext}`]: stripIndents` - @import "~@angular/material/prebuilt-themes/indigo-pink.css"; - `, - [`src/app/app.component.${ext}`]: stripIndents` - @import "~@angular/material/prebuilt-themes/indigo-pink.css"; - `, + [`src/styles.${ext}`]: '@import "~@angular/material/prebuilt-themes/indigo-pink.css";', + [`src/app/app.component.${ext}`]: + '@import "~@angular/material/prebuilt-themes/indigo-pink.css";', }); // change files to use preprocessor @@ -48,12 +44,9 @@ export default async function () { // run build app await ng('build', '--source-map', '--configuration=development'); await writeMultipleFiles({ - [`src/styles.${ext}`]: stripIndents` - @import "@angular/material/prebuilt-themes/indigo-pink.css"; - `, - [`src/app/app.component.${ext}`]: stripIndents` - @import "@angular/material/prebuilt-themes/indigo-pink.css"; - `, + [`src/styles.${ext}`]: '@import "@angular/material/prebuilt-themes/indigo-pink.css";', + [`src/app/app.component.${ext}`]: + '@import "@angular/material/prebuilt-themes/indigo-pink.css";', }); await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/build/styles/scss.ts b/tests/legacy-cli/e2e/tests/build/styles/scss.ts index 83e45b44ce8c..1fc269f38830 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/scss.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/scss.ts @@ -6,21 +6,18 @@ import { } from '../../../utils/fs'; import { expectToFail } from '../../../utils/utils'; import { ng } from '../../../utils/process'; -import { stripIndents } from 'common-tags'; import { updateJsonFile } from '../../../utils/project'; export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return writeMultipleFiles({ - 'src/styles.scss': stripIndents` + 'src/styles.scss': ` @import './imported-styles.scss'; body { background-color: blue; } `, - 'src/imported-styles.scss': stripIndents` - p { background-color: red; } - `, - 'src/app/app.component.scss': stripIndents` + 'src/imported-styles.scss': 'p { background-color: red; }', + 'src/app/app.component.scss': ` .outer { .inner { background: #fff; diff --git a/tests/legacy-cli/e2e/tests/build/styles/stylus.ts b/tests/legacy-cli/e2e/tests/build/styles/stylus.ts index ff84a7243a33..9cca9ab3afac 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/stylus.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/stylus.ts @@ -6,21 +6,18 @@ import { } from '../../../utils/fs'; import { expectToFail } from '../../../utils/utils'; import { ng } from '../../../utils/process'; -import { stripIndents } from 'common-tags'; import { updateJsonFile } from '../../../utils/project'; export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return writeMultipleFiles({ - 'src/styles.styl': stripIndents` + 'src/styles.styl': ` @import './imported-styles.styl'; body { background-color: blue; } `, - 'src/imported-styles.styl': stripIndents` - p { background-color: red; } - `, - 'src/app/app.component.styl': stripIndents` + 'src/imported-styles.styl': 'p { background-color: red; }', + 'src/app/app.component.styl': ` .outer { .inner { background: #fff; diff --git a/tests/legacy-cli/e2e/tests/build/ts-paths.ts b/tests/legacy-cli/e2e/tests/build/ts-paths.ts index 10510a9ee6a6..8af73d148817 100644 --- a/tests/legacy-cli/e2e/tests/build/ts-paths.ts +++ b/tests/legacy-cli/e2e/tests/build/ts-paths.ts @@ -1,21 +1,14 @@ -import { stripIndents } from 'common-tags'; import { appendToFile, createDir, replaceInFile, rimraf, writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateTsConfig } from '../../utils/project'; export default async function () { - await updateTsConfig(json => { + await updateTsConfig((json) => { json['compilerOptions']['baseUrl'] = './src'; json['compilerOptions']['paths'] = { - '@shared': [ - 'app/shared', - ], - '@shared/*': [ - 'app/shared/*', - ], - '@root/*': [ - './*', - ], + '@shared': ['app/shared'], + '@shared/*': ['app/shared/*'], + '@root/*': ['./*'], }; }); @@ -29,14 +22,13 @@ export default async function () { await replaceInFile('src/app/app.module.ts', './app.component', '@root/app/app.component'); await ng('build', '--configuration=development'); - await updateTsConfig(json => { - json['compilerOptions']['paths']['*'] = [ - '*', - 'app/shared/*', - ]; + await updateTsConfig((json) => { + json['compilerOptions']['paths']['*'] = ['*', 'app/shared/*']; }); - await appendToFile('src/app/app.component.ts', stripIndents` + await appendToFile( + 'src/app/app.component.ts', + ` import { meaning } from 'app/shared/meaning'; import { meaning as meaning2 } from '@shared'; import { meaning as meaning3 } from '@shared/meaning'; @@ -50,7 +42,8 @@ export default async function () { console.log(meaning3) console.log(meaning4) console.log(meaning5) - `); + `, + ); await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts b/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts index 5f88a787257c..d3b72c39e264 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts @@ -1,26 +1,19 @@ -import { oneLine } from 'common-tags'; - import { silentNg } from '../../../utils/process'; - -export default function() { +export default function () { return Promise.resolve() .then(() => silentNg('--help')) .then(({ stdout }) => { if (stdout.match(/(easter-egg)|(ng make-this-awesome)|(ng init)/)) { - throw new Error(oneLine` - Expected to not match "(easter-egg)|(ng make-this-awesome)|(ng init)" - in help output. - `); + throw new Error( + 'Expected to not match "(easter-egg)|(ng make-this-awesome)|(ng init)" in help output.', + ); } }) .then(() => silentNg('--help', 'new')) .then(({ stdout }) => { if (stdout.match(/--link-cli/)) { - throw new Error(oneLine` - Expected to not match "--link-cli" - in help output. - `); + throw new Error('Expected to not match "--link-cli" in help output.'); } - }) + }); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-duplicate.ts b/tests/legacy-cli/e2e/tests/generate/component/component-duplicate.ts index 7c8e4074bb07..c00e573df793 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-duplicate.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-duplicate.ts @@ -1,4 +1,3 @@ -import { oneLine } from 'common-tags'; import { appendToFile } from '../../../utils/fs'; import { ng } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; @@ -7,12 +6,11 @@ export default function () { return ng('generate', 'component', 'test-component') .then((output) => { if (!output.stdout.match(/UPDATE src[\\|\/]app[\\|\/]app.module.ts/)) { - throw new Error(oneLine` - Expected to match - "UPDATE src/app.module.ts" - in ${output.stdout}.`); + throw new Error(`Expected to match "UPDATE src/app.module.ts" in ${output.stdout}.`); } }) - .then(() => appendToFile('src/app/test-component/test-component.component.ts', '\n// new content')) + .then(() => + appendToFile('src/app/test-component/test-component.component.ts', '\n// new content'), + ) .then(() => expectToFail(() => ng('generate', 'component', 'test-component'))); } diff --git a/tests/legacy-cli/e2e/tests/misc/common-async.ts b/tests/legacy-cli/e2e/tests/misc/common-async.ts index 90cf4a0227e3..1fbd3081808a 100644 --- a/tests/legacy-cli/e2e/tests/misc/common-async.ts +++ b/tests/legacy-cli/e2e/tests/misc/common-async.ts @@ -1,78 +1,102 @@ -import {readdirSync} from 'fs'; -import {oneLine} from 'common-tags'; +import { readdirSync } from 'fs'; import { installPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; -import {appendToFile, expectFileToExist, prependToFile, replaceInFile} from '../../utils/fs'; -import {expectToFail} from '../../utils/utils'; +import { appendToFile, expectFileToExist, prependToFile, replaceInFile } from '../../utils/fs'; +import { expectToFail } from '../../utils/utils'; - -export default function() { +export default function () { // TODO(architect): The common chunk seems to have a different name in devkit/build-angular. // Investigate, validate, then delete this test. return; + const commonFile = 'dist/test-project/common.chunk.js'; let oldNumberOfFiles = 0; - return Promise.resolve() - .then(() => ng('build')) - .then(() => oldNumberOfFiles = readdirSync('dist/test-project').length) - .then(() => ng('generate', 'module', 'lazyA', '--routing')) - .then(() => ng('generate', 'module', 'lazyB', '--routing')) - .then(() => prependToFile('src/app/app.module.ts', ` + return ( + Promise.resolve() + .then(() => ng('build')) + .then(() => (oldNumberOfFiles = readdirSync('dist/test-project').length)) + .then(() => ng('generate', 'module', 'lazyA', '--routing')) + .then(() => ng('generate', 'module', 'lazyB', '--routing')) + .then(() => + prependToFile( + 'src/app/app.module.ts', + ` import { RouterModule } from '@angular/router'; - `)) - .then(() => replaceInFile('src/app/app.module.ts', 'imports: [', `imports: [ + `, + ), + ) + .then(() => + replaceInFile( + 'src/app/app.module.ts', + 'imports: [', + `imports: [ RouterModule.forRoot([{ path: "lazyA", loadChildren: "./lazy-a/lazy-a.module#LazyAModule" }]), RouterModule.forRoot([{ path: "lazyB", loadChildren: "./lazy-b/lazy-b.module#LazyBModule" }]), - `)) - .then(() => ng('build')) - .then(() => readdirSync('dist').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles >= currentNumberOfDistFiles) { - throw new Error('A bundle for the lazy module was not created.'); - } - oldNumberOfFiles = currentNumberOfDistFiles; - }) - .then(() => installPackage('moment')) - .then(() => appendToFile('src/app/lazy-a/lazy-a.module.ts', ` + `, + ), + ) + .then(() => ng('build')) + .then(() => readdirSync('dist').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles >= currentNumberOfDistFiles) { + throw new Error('A bundle for the lazy module was not created.'); + } + oldNumberOfFiles = currentNumberOfDistFiles; + }) + .then(() => installPackage('moment')) + .then(() => + appendToFile( + 'src/app/lazy-a/lazy-a.module.ts', + ` import * as moment from 'moment'; console.log(moment); - `)) - .then(() => ng('build')) - .then(() => readdirSync('dist/test-project').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles != currentNumberOfDistFiles) { - throw new Error('The build contains a different number of files.'); - } - }) - .then(() => appendToFile('src/app/lazy-b/lazy-b.module.ts', ` + `, + ), + ) + .then(() => ng('build')) + .then(() => readdirSync('dist/test-project').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles != currentNumberOfDistFiles) { + throw new Error('The build contains a different number of files.'); + } + }) + .then(() => + appendToFile( + 'src/app/lazy-b/lazy-b.module.ts', + ` import * as moment from 'moment'; console.log(moment); - `)) - .then(() => ng('build')) - .then(() => expectFileToExist('dist/test-project/common.chunk.js')) - .then(() => readdirSync('dist/test-project').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles >= currentNumberOfDistFiles) { - throw new Error(oneLine`The build contains the wrong number of files. - The test for 'dist/test-project/common.chunk.js' to exist should have failed.`); - } - oldNumberOfFiles = currentNumberOfDistFiles; - }) - .then(() => ng('build', '--no-common-chunk')) - .then(() => expectToFail(() => expectFileToExist('dist/test-project/common.chunk.js'))) - .then(() => readdirSync('dist/test-project').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles <= currentNumberOfDistFiles) { - throw new Error(oneLine`The build contains the wrong number of files. - The test for 'dist/test-project/common.chunk.js' not to exist should have failed.`); - } - }) - // Check for AoT and lazy routes. - .then(() => ng('build', '--aot')) - .then(() => readdirSync('dist/test-project').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles != currentNumberOfDistFiles) { - throw new Error('AoT build contains a different number of files.'); - } - }); + `, + ), + ) + .then(() => ng('build')) + .then(() => expectFileToExist(commonFile)) + .then(() => readdirSync('dist/test-project').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles >= currentNumberOfDistFiles) { + throw new Error( + `The build contains the wrong number of files. The test for '${commonFile}' to exist should have failed.`, + ); + } + oldNumberOfFiles = currentNumberOfDistFiles; + }) + .then(() => ng('build', '--no-common-chunk')) + .then(() => expectToFail(() => expectFileToExist(commonFile))) + .then(() => readdirSync('dist/test-project').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles <= currentNumberOfDistFiles) { + throw new Error( + `The build contains the wrong number of files. The test for '${commonFile}' not to exist should have failed.`, + ); + } + }) + // Check for AoT and lazy routes. + .then(() => ng('build', '--aot')) + .then(() => readdirSync('dist/test-project').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles != currentNumberOfDistFiles) { + throw new Error('AoT build contains a different number of files.'); + } + }) + ); } diff --git a/tests/legacy-cli/e2e/tests/test/test-scripts.ts b/tests/legacy-cli/e2e/tests/test/test-scripts.ts index 4114447796ae..5a21d698bf87 100644 --- a/tests/legacy-cli/e2e/tests/test/test-scripts.ts +++ b/tests/legacy-cli/e2e/tests/test/test-scripts.ts @@ -2,74 +2,74 @@ import { writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; -import { stripIndent } from 'common-tags'; - -export default function () { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. - return Promise.resolve() - .then(() => ng('test', '--watch=false')) - // prepare global scripts test files - .then(() => writeMultipleFiles({ - 'src/string-script.js': `stringScriptGlobal = 'string-scripts.js';`, - 'src/input-script.js': `inputScriptGlobal = 'input-scripts.js';`, - 'src/typings.d.ts': stripIndent` - declare var stringScriptGlobal: any; - declare var inputScriptGlobal: any; - `, - 'src/app/app.component.ts': stripIndent` - import { Component } from '@angular/core'; + await ng('test', '--watch=false'); - @Component({ selector: 'app-root', template: '' }) - export class AppComponent { - stringScriptGlobalProp = stringScriptGlobal; - inputScriptGlobalProp = inputScriptGlobal; - } - `, - 'src/app/app.component.spec.ts': stripIndent` - import { TestBed } from '@angular/core/testing'; - import { AppComponent } from './app.component'; + // prepare global scripts test files + await writeMultipleFiles({ + 'src/string-script.js': `stringScriptGlobal = 'string-scripts.js';`, + 'src/input-script.js': `inputScriptGlobal = 'input-scripts.js';`, + 'src/typings.d.ts': ` + declare var stringScriptGlobal: any; + declare var inputScriptGlobal: any; + `, + 'src/app/app.component.ts': ` + import { Component } from '@angular/core'; - describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ AppComponent ] - }).compileComponents(); - }); + @Component({ selector: 'app-root', template: '' }) + export class AppComponent { + stringScriptGlobalProp = stringScriptGlobal; + inputScriptGlobalProp = inputScriptGlobal; + } + `, + 'src/app/app.component.spec.ts': ` + import { TestBed } from '@angular/core/testing'; + import { AppComponent } from './app.component'; - it('should have access to string-script.js', () => { - let app = TestBed.createComponent(AppComponent).debugElement.componentInstance; - expect(app.stringScriptGlobalProp).toEqual('string-scripts.js'); - }); + describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AppComponent ] + }).compileComponents(); + }); - it('should have access to input-script.js', () => { - let app = TestBed.createComponent(AppComponent).debugElement.componentInstance; - expect(app.inputScriptGlobalProp).toEqual('input-scripts.js'); - }); + it('should have access to string-script.js', () => { + let app = TestBed.createComponent(AppComponent).debugElement.componentInstance; + expect(app.stringScriptGlobalProp).toEqual('string-scripts.js'); }); - describe('Spec', () => { - it('should have access to string-script.js', () => { - expect(stringScriptGlobal).toBe('string-scripts.js'); - }); + it('should have access to input-script.js', () => { + let app = TestBed.createComponent(AppComponent).debugElement.componentInstance; + expect(app.inputScriptGlobalProp).toEqual('input-scripts.js'); + }); + }); - it('should have access to input-script.js', () => { - expect(inputScriptGlobal).toBe('input-scripts.js'); - }); + describe('Spec', () => { + it('should have access to string-script.js', () => { + expect(stringScriptGlobal).toBe('string-scripts.js'); }); - ` - })) - // should fail because the global scripts were not added to scripts array - .then(() => expectToFail(() => ng('test', '--watch=false'))) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.test.options.scripts = [ - { input: 'src/string-script.js' }, - { input: 'src/input-script.js' }, - ]; - })) - // should pass now - .then(() => ng('test', '--watch=false')); -} + it('should have access to input-script.js', () => { + expect(inputScriptGlobal).toBe('input-scripts.js'); + }); + }); + `, + }); + + // should fail because the global scripts were not added to scripts array + await expectToFail(() => ng('test', '--watch=false')); + + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.test.options.scripts = [ + { input: 'src/string-script.js' }, + { input: 'src/input-script.js' }, + ]; + }); + + // should pass now + await ng('test', '--watch=false'); +} diff --git a/tests/legacy-cli/e2e/tests/third-party/bootstrap.ts b/tests/legacy-cli/e2e/tests/third-party/bootstrap.ts index d314c3feac96..7df90fd3956c 100644 --- a/tests/legacy-cli/e2e/tests/third-party/bootstrap.ts +++ b/tests/legacy-cli/e2e/tests/third-party/bootstrap.ts @@ -2,7 +2,6 @@ import { installPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectFileToMatch } from '../../utils/fs'; -import { oneLineTrim } from 'common-tags'; export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. @@ -24,12 +23,7 @@ export default function () { .then(() => expectFileToMatch('dist/test-project/scripts.js', '* Bootstrap')) .then(() => expectFileToMatch('dist/test-project/styles.css', '* Bootstrap')) .then(() => - expectFileToMatch( - 'dist/test-project/index.html', - oneLineTrim` - - `, - ), + expectFileToMatch('dist/test-project/index.html', ''), ) .then(() => ng( @@ -43,11 +37,6 @@ export default function () { .then(() => expectFileToMatch('dist/test-project/scripts.js', 'jQuery')) .then(() => expectFileToMatch('dist/test-project/styles.css', ':root')) .then(() => - expectFileToMatch( - 'dist/test-project/index.html', - oneLineTrim` - - `, - ), + expectFileToMatch('dist/test-project/index.html', ''), ); } diff --git a/tests/legacy-cli/e2e/utils/fs.ts b/tests/legacy-cli/e2e/utils/fs.ts index 703d0c682eb9..cbb6abc0caaa 100644 --- a/tests/legacy-cli/e2e/utils/fs.ts +++ b/tests/legacy-cli/e2e/utils/fs.ts @@ -1,6 +1,5 @@ import { PathLike, promises as fs, constants } from 'fs'; import { dirname, join } from 'path'; -import { stripIndents } from 'common-tags'; export function readFile(fileName: string): Promise { return fs.readFile(fileName, 'utf-8'); @@ -126,26 +125,16 @@ export async function expectFileToExist(fileName: string): Promise { } } -export function expectFileToMatch(fileName: string, regEx: RegExp | string) { - return readFile(fileName).then((content) => { - if (typeof regEx == 'string') { - if (content.indexOf(regEx) == -1) { - throw new Error(stripIndents`File "${fileName}" did not contain "${regEx}"... - Content: - ${content} - ------ - `); - } - } else { - if (!content.match(regEx)) { - throw new Error(stripIndents`File "${fileName}" did not contain "${regEx}"... - Content: - ${content} - ------ - `); - } - } - }); +export async function expectFileToMatch(fileName: string, regEx: RegExp | string): Promise { + const content = await readFile(fileName); + + const found = typeof regEx === 'string' ? content.includes(regEx) : content.match(regEx); + + if (!found) { + throw new Error( + `File "${fileName}" did not contain "${regEx}"...\nContent:\n${content}\n------`, + ); + } } export async function getFileSize(fileName: string) { diff --git a/yarn.lock b/yarn.lock index a382b83cc22f..c06216917a6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3985,11 +3985,6 @@ commander@^8.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" From 59497a9ee30a5816986c45fc1b42bae25247e327 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 22 Feb 2022 12:37:02 +0100 Subject: [PATCH 0118/1388] build: update snapshot e2e setup to reflect builds repository rename Updates the snapshot e2e setup to reflect the builds repository rename where `material2-builds` got renamed to `material-builds`. --- tests/legacy-cli/e2e/ng-snapshot/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 843dff831093..8cebb8cb92e3 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -11,7 +11,7 @@ "@angular/forms": "github:angular/forms-builds#f389d34e2a4d688dce2eaa88131ce30d77fb49a4", "@angular/language-service": "github:angular/language-service-builds#53a1ed61e1823d20c0166ed0500bf88a767f931b", "@angular/localize": "github:angular/localize-builds#b833e14c66a0aefbc986cb8e9d3257f34e0eef66", - "@angular/material": "github:angular/material2-builds#0090f5888649dad3f13fa2312322fd5b6545be2e", + "@angular/material": "github:angular/material-builds#0090f5888649dad3f13fa2312322fd5b6545be2e", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3dd25e3328491dbabe05197001a95bdfed9f9aa8", "@angular/platform-browser": "github:angular/platform-browser-builds#66e6c0be39be2fe4dd8b0420c9eb01be397f7672", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9c852036d405f4a636afdd47ca44ee0b5ea545d5", From 34bf5a76e38ad6c788d43529a8427b84e537c058 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 21 Feb 2022 08:43:41 +0000 Subject: [PATCH 0119/1388] build: lock file maintenance --- yarn.lock | 713 ++++++++++++++++-------------------------------------- 1 file changed, 207 insertions(+), 506 deletions(-) diff --git a/yarn.lock b/yarn.lock index c06216917a6c..cfef33f0ddfb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,20 +33,13 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": +"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.0.0", "@ampproject/remapping@^2.1.0": version "2.1.2" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.1.tgz#7922fb0817bf3166d8d9e258c57477e3fd1c3610" - integrity sha512-Aolwjd7HSC2PyY0fDj/wA/EimQT4HfEnFYNp5s9CQlrdhyvWTtvZ5YzrUPu6R6/1jKiUlxu8bUhkdSnKHNAHMA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - "@angular-devkit/architect@0.1400.0-next.1": version "0.1400.0-next.1" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.1.tgz#367b1b8aa9d016a0c65857ee8d3e3a8ceef8e1a8" @@ -208,14 +201,15 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.2.tgz#30d2cd6ed3d74d90071c135def7163b12137eb7f" - integrity sha512-zpctw0BxIVOsRFnckchK15SD1L8tzhf5GzwIDaM6+VylDQj1uYkm8mvAjJTQZyUuApomoFet2Rfj7XQPV+cNSQ== + version "13.2.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.3.tgz#bc1127fe2d53f0f01f58a0c26728efaa5a953145" + integrity sha512-81QtWR+UQgCo5xJwExzKaRUd9aXJoOGbWfh3MZSUkiv+PTMXwmfU3lZxpz9S/y2uwvaVqZdW5MN/RzpKv6tHxA== dependencies: tslib "^2.3.0" "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420": version "0.0.0-5b35e20aeb147b713c31ba5c269cf2128c746d46" + uid bd277985ac350efca14fba5609cac29e6ebd4420 resolved "https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420" dependencies: "@actions/core" "^1.4.0" @@ -349,7 +343,7 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== @@ -375,7 +369,7 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.5": +"@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== @@ -417,28 +411,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" - integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== - dependencies: - "@ampproject/remapping" "^2.0.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - -"@babel/generator@7.17.0", "@babel/generator@^7.17.0", "@babel/generator@^7.8.6": +"@babel/generator@7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== @@ -447,7 +420,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.3", "@babel/generator@^7.17.3": +"@babel/generator@7.17.3", "@babel/generator@^7.17.0", "@babel/generator@^7.17.3", "@babel/generator@^7.8.6": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -672,12 +645,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.8.6": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" - integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== - -"@babel/parser@^7.17.3": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.17.3", "@babel/parser@^7.8.6": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== @@ -773,11 +741,11 @@ "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" - integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" + integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== dependencies: - "@babel/compat-data" "^7.16.4" + "@babel/compat-data" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" @@ -976,9 +944,9 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-destructuring@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" - integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz#c445f75819641788a27a0a3a759d9df911df6abc" + integrity sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" @@ -1300,23 +1268,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.8.6": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" - integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.0" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.17.3": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3", "@babel/traverse@^7.8.6": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== @@ -1500,14 +1452,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-progressive-custom-properties@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.1.0.tgz#f2189ccbf74e3fabfcc19d280f37fb06d1181988" - integrity sha512-DO76V3295AqhjJZvgeaDP5GAGAat4g6wYfF8X+1n+76MpJat8ffY5bCJ9eSUqFY71nImxXgaDTRYJcRnA9oo7g== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^1.2.0": +"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.2.0.tgz#7d53b773de50874c3885918dcb10cac97bf66ed5" integrity sha512-YLpFPK5OaLIRKZhUfnrZPT9s9cmtqltIOg7W6jPcxmiDpnZ4lk+odfufZttOAgcg6IHWvNLgcITSLpJxIQB/qQ== @@ -1535,9 +1480,9 @@ strip-json-comments "^3.1.1" "@gar/promisify@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" - integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.9.2": version "0.9.3" @@ -2006,23 +1951,11 @@ colors "~1.2.1" string-argv "~0.3.1" -"@sindresorhus/is@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" - integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== - "@socket.io/base64-arraybuffer@~1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== -"@szmarczak/http-timer@^4.0.0": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -2143,16 +2076,6 @@ dependencies: "@types/node" "*" -"@types/cacheable-request@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" - integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - "@types/component-emitter@^1.2.10": version "1.2.11" resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" @@ -2248,11 +2171,6 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== - "@types/http-proxy@^1.17.4", "@types/http-proxy@^1.17.8": version "1.17.8" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" @@ -2308,13 +2226,6 @@ "@types/node" "*" log4js "^6.4.1" -"@types/keyv@*", "@types/keyv@^3.1.1": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" - integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== - dependencies: - "@types/node" "*" - "@types/loader-utils@^2.0.0": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-2.0.3.tgz#fbc2337358f8f4a7dc532ac0a3646c74275edf2d" @@ -2361,17 +2272,17 @@ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node-fetch@^2.1.6": - version "2.5.12" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.12.tgz#8a6f779b1d4e60b7a57fb6fd48d84fb545b9cc66" - integrity sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw== + version "2.6.1" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" + integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== dependencies: "@types/node" "*" form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz#a8ddf6e0c2341718d74ee3dc413a13a042c45a0c" - integrity sha512-e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw== + version "17.0.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.18.tgz#3b4fed5cfb58010e3a2be4b6e74615e4847f1074" + integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA== "@types/node@12.20.24": version "12.20.24" @@ -2475,13 +2386,6 @@ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.1.tgz#3727e48042fda81e374f5d5cf2fa92288bf698f8" integrity sha512-Ku5+GPFa12S3W26Uwtw+xyrtIpaZsGYHH6zxNbZlstmlvMYSZRzOwzwsXbxlVUbHyUucctSyuFtu6bNxwYomIw== -"@types/responselike@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - "@types/retry@^0.12.0": version "0.12.1" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" @@ -2588,9 +2492,9 @@ source-map "^0.6.0" "@types/ws@^8.2.2": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21" - integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg== + version "8.2.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.3.tgz#0bca6b03ba2f41e0fab782d4a573fe284aa907ae" + integrity sha512-ahRJZquUYCdOZf/rCsWg88S0/+cb9wazUBHv6HZEe3XdYaBe2zr/slM8J28X07Hn88Pnm4ezo7N8/ofnOgrPVQ== dependencies: "@types/node" "*" @@ -3421,7 +3325,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.19.1, body-parser@^1.19.0: +body-parser@1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== @@ -3437,7 +3341,7 @@ body-parser@1.19.1, body-parser@^1.19.0: raw-body "2.4.2" type-is "~1.6.18" -body-parser@1.19.2: +body-parser@1.19.2, body-parser@^1.19.0: version "1.19.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== @@ -3576,14 +3480,14 @@ browser-sync@^2.27.7: yargs "^15.4.1" browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + version "4.19.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" + integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" + caniuse-lite "^1.0.30001312" + electron-to-chromium "^1.4.71" escalade "^3.1.1" - node-releases "^2.0.1" + node-releases "^2.0.2" picocolors "^1.0.0" browserstack@^1.5.1: @@ -3714,27 +3618,6 @@ cacache@15.3.0, cacache@^15.2.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cacheable-lookup@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz#87be64a18b925234875e10a9bb1ebca4adce6b38" - integrity sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg== - dependencies: - "@types/keyv" "^3.1.1" - keyv "^4.0.0" - -cacheable-request@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3762,7 +3645,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: +caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: version "1.0.30001312" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== @@ -3907,13 +3790,6 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -4149,9 +4025,9 @@ copy-webpack-plugin@10.2.4: serialize-javascript "^6.0.0" core-js-compat@^3.20.2, core-js-compat@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885" - integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A== + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" + integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== dependencies: browserslist "^4.19.1" semver "7.0.0" @@ -4286,15 +4162,10 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.1.0, cssdb@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.3.0.tgz#d5df430a6ff7bb09af377b8c6d8da61d8f4017a4" - integrity sha512-U/nJSGsM0NIEsVPwat6r6QrvtqZ8m+eYb8qLoSFXXWNghy5x3z6ftubzbb6AMFcvaYVVRXKAmgD1I1e2A31qug== - -cssdb@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.3.1.tgz#d8e521c70b32df082ea5373cdd51ac4dc6b6c151" - integrity sha512-Ho3gIkGY4O8S3J54fHu7RP5GHWz85McDhimaXEwf7qV0MSPhLM0jdd61zqs1kkadIVDAvfqoku0kArbWaMYolw== +cssdb@^6.1.0, cssdb@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.0.tgz#54899b9042e302be3090b8510ea71fefd08c9e6b" + integrity sha512-8NMWrur/ewSNrRNZndbtOTXc2Xb2b+NCTPHj8VErFYvJUlgsMAiBGaFaxG6hjy9zbCjj2ZLwSQrMM+tormO8qA== cssesc@^3.0.0: version "3.0.0" @@ -4432,13 +4303,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -decompress-response@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-5.0.0.tgz#7849396e80e3d1eba8cb2f75ef4930f76461cb0f" - integrity sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw== - dependencies: - mimic-response "^2.0.0" - deep-equal@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" @@ -4475,11 +4339,6 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" @@ -4697,11 +4556,6 @@ duplexer2@~0.1.4: dependencies: readable-stream "^2.0.2" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - easy-extender@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.4.tgz#298789b64f9aaba62169c77a2b3b64b4c9589b8f" @@ -4743,10 +4597,10 @@ ejs@^3.1.6: dependencies: jake "^10.6.1" -electron-to-chromium@^1.4.17: - version "1.4.68" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.68.tgz#d79447b6bd1bec9183f166bb33d4bef0d5e4e568" - integrity sha512-cId+QwWrV8R1UawO6b9BR1hnkJ4EJPCPAr4h315vliHUtVUJDk39Sg1PMNnaWKfj5x+93ssjeJ9LKL6r8LaMiA== +electron-to-chromium@^1.4.71: + version "1.4.71" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz#17056914465da0890ce00351a3b946fd4cd51ff6" + integrity sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw== emoji-regex@^8.0.0: version "8.0.0" @@ -4980,236 +4834,236 @@ esbuild-android-arm64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz#7d1e7391030d83e2d6745ac297d630bb33130b36" integrity sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg== -esbuild-android-arm64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz#8842d0c3b7c81fbe2dc46ddb416ffd6eb822184b" - integrity sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ== - esbuild-android-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz#fb051169a63307d958aec85ad596cfc7d7770303" integrity sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ== +esbuild-android-arm64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" + integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== + esbuild-darwin-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" integrity sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ== -esbuild-darwin-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz#ec7df02ad88ecf7f8fc23a3ed7917e07dea0c9c9" - integrity sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ== - esbuild-darwin-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz#615ea0a9de67b57a293a7128d7ac83ee307a856d" integrity sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw== +esbuild-darwin-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" + integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== + esbuild-darwin-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" integrity sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg== -esbuild-darwin-arm64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz#0c2a977edec1ef54097ee56a911518c820d4e5e4" - integrity sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ== - esbuild-darwin-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz#82054dcfcecb15ccfd237093b8008e7745a99ad9" integrity sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw== +esbuild-darwin-arm64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" + integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== + esbuild-freebsd-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" integrity sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A== -esbuild-freebsd-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz#f5b5fc1d031286c3a0949d1bda7db774b7d0404e" - integrity sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g== - esbuild-freebsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz#778a818c5b078d5cdd6bb6c0e0797217d196999b" integrity sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A== +esbuild-freebsd-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" + integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== + esbuild-freebsd-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" integrity sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg== -esbuild-freebsd-arm64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz#a05cab908013e4992b31a675850b8c44eb468c0c" - integrity sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA== - esbuild-freebsd-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz#18da93b9f3db2e036f72383bfe73b28b73bb332c" integrity sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ== +esbuild-freebsd-arm64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" + integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== + esbuild-linux-32@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" integrity sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ== -esbuild-linux-32@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz#638d244cc58b951f447addb4bade628d126ef84b" - integrity sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg== - esbuild-linux-32@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz#d0d5d9f5bb3536e17ac097e9512019c65b7c0234" integrity sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg== +esbuild-linux-32@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" + integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== + esbuild-linux-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" integrity sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA== -esbuild-linux-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz#8eb634abee928be7e35b985fafbfef2f2e31397f" - integrity sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA== - esbuild-linux-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz#2773d540971999ea7f38107ef92fca753f6a8c30" integrity sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg== +esbuild-linux-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" + integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== + esbuild-linux-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" integrity sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q== -esbuild-linux-arm64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz#e05599ea6253b58394157da162d856f3ead62f9e" - integrity sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g== - esbuild-linux-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz#5d4480ce6d6bffab1dd76a23158f5a5ab33e7ba4" integrity sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A== +esbuild-linux-arm64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" + integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== + esbuild-linux-arm@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" integrity sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g== -esbuild-linux-arm@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz#1ae1078231cf689d3ba894a32d3723c0be9b91fd" - integrity sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w== - esbuild-linux-arm@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz#c6391b3f7c8fa6d3b99a7e893ce0f45f3a921eef" integrity sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g== +esbuild-linux-arm@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" + integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== + esbuild-linux-mips64le@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" integrity sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A== -esbuild-linux-mips64le@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz#f05be62d126764e99b37edcac5bb49b78c7a8890" - integrity sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A== - esbuild-linux-mips64le@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz#2c8dabac355c502e86c38f9f292b3517d8e181f3" integrity sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ== +esbuild-linux-mips64le@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" + integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== + esbuild-linux-ppc64le@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" integrity sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA== -esbuild-linux-ppc64le@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz#592c98d82dad7982268ef8deed858c4566f07ab1" - integrity sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ== - esbuild-linux-ppc64le@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz#69d71b2820d5c94306072dac6094bae38e77d1c0" integrity sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng== -esbuild-linux-riscv64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz#0db7bd6f10d8f9afea973a7d6bf87b449b864b7b" - integrity sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q== +esbuild-linux-ppc64le@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" + integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== esbuild-linux-riscv64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz#c0ec0fc3a23624deebf657781550d2329cec4213" integrity sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ== +esbuild-linux-riscv64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" + integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== + esbuild-linux-s390x@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" integrity sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA== -esbuild-linux-s390x@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz#254a9354d34c9d1b41a3e21d2ec9269cbbb2c5df" - integrity sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA== - esbuild-linux-s390x@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz#ec2af4572d63336cfb27f5a5c851fb1b6617dd91" integrity sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw== +esbuild-linux-s390x@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" + integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== + esbuild-netbsd-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" integrity sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg== -esbuild-netbsd-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz#4cb783d060b02bf3b897a9a12cce2b3b547726f8" - integrity sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g== - esbuild-netbsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz#0e283278e9fdbaa7f0930f93ee113d7759cd865e" integrity sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA== +esbuild-netbsd-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" + integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== + esbuild-openbsd-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" integrity sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg== -esbuild-openbsd-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz#f886b93feefddbe573528fa4b421c9c6e2bc969b" - integrity sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA== - esbuild-openbsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz#2a73bba04e16d8ef278fbe2be85248e12a2f2cc2" integrity sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA== +esbuild-openbsd-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" + integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== + esbuild-sunos-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" integrity sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ== -esbuild-sunos-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz#3829e4d57d4cb6950837fe90b0b67cdfb37cf13a" - integrity sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA== - esbuild-sunos-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz#8fe03513b8b2e682a6d79d5e3ca5849651a3c1d8" integrity sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g== +esbuild-sunos-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" + integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== + esbuild-wasm@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" @@ -5221,55 +5075,55 @@ esbuild-wasm@0.14.22: integrity sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw== esbuild-wasm@^0.14.14: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.21.tgz#869858146731555c21dc49d1cd010b392ed305c7" - integrity sha512-sPMyljBiKxXjW1wLd5dQnrUJR1PAt8ybSidXoZWJnMuB1mpdLju57LtstDWWkCgcaE+TGJJ6NqP/OtGyeDdEAA== + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" + integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== esbuild-windows-32@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz#5e4db2758408e148e225f06c7724853386916c70" integrity sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w== -esbuild-windows-32@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz#b858a22d1a82e53cdc59310cd56294133f7a95e7" - integrity sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A== - esbuild-windows-32@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz#a75df61e3e49df292a1842be8e877a3153ee644f" integrity sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg== +esbuild-windows-32@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" + integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== + esbuild-windows-64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" integrity sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA== -esbuild-windows-64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz#7bb5a027d5720cf9caf18a4bedd11327208f1f12" - integrity sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA== - esbuild-windows-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz#d06cf8bbe4945b8bf95a730d871e54a22f635941" integrity sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw== +esbuild-windows-64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" + integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== + esbuild-windows-arm64@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" integrity sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg== -esbuild-windows-arm64@0.14.21: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz#25df54521ad602c826b262ea2e7cc1fe80f5c2f5" - integrity sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw== - esbuild-windows-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz#f8b1b05c548073be8413a5ecb12d7c2f6e717227" integrity sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg== +esbuild-windows-arm64@0.14.23: + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" + integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== + esbuild@0.14.20: version "0.14.20" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.20.tgz#e83fcb838463f220e864141752bb0f91bfc9c33a" @@ -5320,29 +5174,29 @@ esbuild@0.14.22: esbuild-windows-arm64 "0.14.22" esbuild@^0.14.14: - version "0.14.21" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.21.tgz#b3e05f900f1c4394f596d60d63d9816468f0f671" - integrity sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A== + version "0.14.23" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" + integrity sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig== optionalDependencies: - esbuild-android-arm64 "0.14.21" - esbuild-darwin-64 "0.14.21" - esbuild-darwin-arm64 "0.14.21" - esbuild-freebsd-64 "0.14.21" - esbuild-freebsd-arm64 "0.14.21" - esbuild-linux-32 "0.14.21" - esbuild-linux-64 "0.14.21" - esbuild-linux-arm "0.14.21" - esbuild-linux-arm64 "0.14.21" - esbuild-linux-mips64le "0.14.21" - esbuild-linux-ppc64le "0.14.21" - esbuild-linux-riscv64 "0.14.21" - esbuild-linux-s390x "0.14.21" - esbuild-netbsd-64 "0.14.21" - esbuild-openbsd-64 "0.14.21" - esbuild-sunos-64 "0.14.21" - esbuild-windows-32 "0.14.21" - esbuild-windows-64 "0.14.21" - esbuild-windows-arm64 "0.14.21" + esbuild-android-arm64 "0.14.23" + esbuild-darwin-64 "0.14.23" + esbuild-darwin-arm64 "0.14.23" + esbuild-freebsd-64 "0.14.23" + esbuild-freebsd-arm64 "0.14.23" + esbuild-linux-32 "0.14.23" + esbuild-linux-64 "0.14.23" + esbuild-linux-arm "0.14.23" + esbuild-linux-arm64 "0.14.23" + esbuild-linux-mips64le "0.14.23" + esbuild-linux-ppc64le "0.14.23" + esbuild-linux-riscv64 "0.14.23" + esbuild-linux-s390x "0.14.23" + esbuild-netbsd-64 "0.14.23" + esbuild-openbsd-64 "0.14.23" + esbuild-sunos-64 "0.14.23" + esbuild-windows-32 "0.14.23" + esbuild-windows-64 "0.14.23" + esbuild-windows-arm64 "0.14.23" escalade@^3.1.1: version "3.1.1" @@ -5613,7 +5467,7 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.17.2, express@^4.17.1: +express@4.17.2: version "4.17.2" resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg== @@ -5649,7 +5503,7 @@ express@4.17.2, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" -express@4.17.3: +express@4.17.3, express@^4.17.1: version "4.17.3" resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== @@ -5899,9 +5753,9 @@ flatted@^3.1.0, flatted@^3.2.4: integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.8" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" - integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== + version "1.14.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" + integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== font-awesome@^4.7.0: version "4.7.0" @@ -6032,9 +5886,9 @@ furi@^2.0.0: is-windows "^1.0.2" gauge@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.0.tgz#afba07aa0374a93c6219603b1fb83eaa2264d8f8" - integrity sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw== + version "4.0.1" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.1.tgz#82984bc08c90357d60b0a46c03a296beb1affec4" + integrity sha512-zJ4jePUHR8cceduZ53b6temRalyGpkC2Kc2r3ecNphmL+uWNoJ3YcOcUjpbG6WwoE/Ef6/+aEZz63neI2WIa1Q== dependencies: ansi-regex "^5.0.1" aproba "^1.0.3 || ^2.0.0" @@ -6070,7 +5924,7 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stream@^5.0.0, get-stream@^5.1.0: +get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -6203,27 +6057,6 @@ google-protobuf@^3.6.1: resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz#8d32c3e34be9250956f28c0fb90955d13f311888" integrity sha512-OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg== -got@^10.5.7: - version "10.7.0" - resolved "https://registry.yarnpkg.com/got/-/got-10.7.0.tgz#62889dbcd6cca32cd6a154cc2d0c6895121d091f" - integrity sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg== - dependencies: - "@sindresorhus/is" "^2.0.0" - "@szmarczak/http-timer" "^4.0.0" - "@types/cacheable-request" "^6.0.1" - cacheable-lookup "^2.0.0" - cacheable-request "^7.0.1" - decompress-response "^5.0.0" - duplexer3 "^0.1.4" - get-stream "^5.0.0" - lowercase-keys "^2.0.0" - mimic-response "^2.1.0" - p-cancelable "^2.0.0" - p-event "^4.0.0" - responselike "^2.0.0" - to-readable-stream "^2.0.0" - type-fest "^0.10.0" - graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" @@ -6375,7 +6208,7 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: +http-cache-semantics@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== @@ -7187,11 +7020,6 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -7402,13 +7230,6 @@ keygrip@~1.1.0: dependencies: tsscmp "1.0.6" -keyv@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.1.tgz#02c538bfdbd2a9308cc932d4096f05ae42bfa06a" - integrity sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ== - dependencies: - json-buffer "3.0.1" - kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -7688,11 +7509,6 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - lru-cache@6.0.0, lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -7942,16 +7758,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^2.0.0, mimic-response@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -7970,9 +7776,9 @@ minimalistic-assert@^1.0.0: integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4: - version "3.1.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.1.tgz#879ad447200773912898b46cd516a7abbb5e50b0" - integrity sha512-reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A== + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -8005,9 +7811,9 @@ minimatch@^4.0.0: brace-expansion "^1.1.7" minimatch@~3.0.4: - version "3.0.7" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.7.tgz#e78aeb8dceccb0d12b57a75872da43bc68e7d7ca" - integrity sha512-pYjbG0o9W2Wb3KVBuV6s7R/bzS/iS3HPiHcFcDee5GGiN1M5MErXqgS4jGn8pwVwTZAoy7B8bYb/+AqQU0NhZA== + version "3.0.8" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" + integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== dependencies: brace-expansion "^1.1.7" @@ -8163,9 +7969,9 @@ mv@2.1.1: rimraf "~2.4.0" nanoid@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" - integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== + version "3.3.1" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== natural-compare@^1.4.0: version "1.4.0" @@ -8302,7 +8108,7 @@ node-gyp@^8.2.0: tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.1: +node-releases@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== @@ -8352,11 +8158,6 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-bundled@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" @@ -8608,23 +8409,6 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-event@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -8682,13 +8466,6 @@ p-retry@^4.5.0: "@types/retry" "^0.12.0" retry "^0.13.1" -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -9060,14 +8837,7 @@ postcss-dir-pseudo-class@^6.0.3, postcss-dir-pseudo-class@^6.0.4: dependencies: postcss-selector-parser "^6.0.9" -postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.5.tgz#f6b755e9850bb9816dfbf8fa346d9ce2e8a03848" - integrity sha512-XiZzvdxLOWZwtt/1GgHJYGoD9scog/DD/yI5dcvPrXNdNDEv7T53/6tL7ikl+EM3jcerII5/XIQzd1UHOdTi2w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-double-position-gradients@^3.1.0: +postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.0.tgz#a8614fb3a2a4b8877bffb8961b770e00322bbad1" integrity sha512-oz73I08yMN3oxjj0s8mED1rG+uOYoK3H8N9RjQofyg52KBRNmePJKg3fVwTpL2U5ZFbCzXoZBsUD/CvZdlqE4Q== @@ -9127,15 +8897,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.0.3, postcss-lab-function@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.0.tgz#676e0d8d968df1f4b1f4032ad30a11eecb756a8b" - integrity sha512-59uHN/2wRaOd7whDyeaJ82E0kncIEeJkwcmvXFPNus8v1YMhtv2IUo9OtOAncn7sifZVMRsyoPlhxwckTjn4cQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-lab-function@^4.1.1: +postcss-lab-function@^4.0.3, postcss-lab-function@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.1.tgz#8b37dfcb9ca4ff82bbe7192c7ba3cc2bccbc0ef1" integrity sha512-j3Z0WQCimY2tMle++YcmygnnVbt6XdnrCV1FO2IpzaCSmtTF2oO8h4ZYUA1Q+QHYroIiaWPvNHt9uBR4riCksQ== @@ -9263,7 +9025,7 @@ postcss-preset-env@7.3.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.1: +postcss-preset-env@7.4.1, postcss-preset-env@^7.2.3: version "7.4.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.1.tgz#ca6131c6e0d0e0bcc429dbef3e8f8d03250041ea" integrity sha512-UvBVvPJ2vb4odAtckSbryndyBz+Me1q8wawqq0qznpDXy188I+8W5Sa929sCPqw2/NSYnqpHJbo41BKso3+I9A== @@ -9311,51 +9073,6 @@ postcss-preset-env@7.4.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@^7.2.3: - version "7.3.3" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.3.tgz#2c08a717549b282c89be7c90827147814d41809b" - integrity sha512-/4EIceyxf6LKihp88YnQ0uExt//EHozxOspsCQbLq9/RB4W0zutdk52XJZzDYtCkvergw0NTTQvB7TpdxBRbvQ== - dependencies: - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - autoprefixer "^10.4.2" - browserslist "^4.19.1" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.3.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^3.0.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.4" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.0.5" - postcss-env-function "^4.0.5" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.1.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.1" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-pseudo-class-any-link@^7.1.0, postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" @@ -9678,7 +9395,7 @@ range-parser@^1.2.1, range-parser@~1.2.0, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.2, raw-body@^2.3.2: +raw-body@2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== @@ -9688,7 +9405,7 @@ raw-body@2.4.2, raw-body@^2.3.2: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.4.3: +raw-body@2.4.3, raw-body@^2.3.2: version "2.4.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== @@ -10045,13 +9762,6 @@ resp-modifier@6.0.2: debug "^2.2.0" minimatch "^3.0.2" -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -10117,9 +9827,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.66.1: - version "2.67.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.2.tgz#d95e15f60932ad21e05a870bd0aa0b235d056f04" - integrity sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw== + version "2.67.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.3.tgz#3f04391fc296f807d067c9081d173e0a33dbd37e" + integrity sha512-G/x1vUwbGtP6O5ZM8/sWr8+p7YfZhI18pPqMRtMYMWSbHjKZ/ajHGiM+GWNTlWyOR0EHIdT8LHU+Z4ciIZ1oBw== optionalDependencies: fsevents "~2.3.2" @@ -10192,7 +9902,7 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.7, sass@^1.49.0: +sass@1.49.7: version "1.49.7" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ== @@ -10201,7 +9911,7 @@ sass@1.49.7, sass@^1.49.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.49.8: +sass@1.49.8, sass@^1.49.0: version "1.49.8" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.8.tgz#9bbbc5d43d14862db07f1c04b786c9da9b641828" integrity sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw== @@ -10212,6 +9922,7 @@ sass@1.49.8: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -11185,11 +10896,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-readable-stream@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-2.1.0.tgz#82880316121bea662cdc226adb30addb50cb06e8" - integrity sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -11372,11 +11078,6 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-fest@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.10.0.tgz#7f06b2b9fbfc581068d1341ffabd0349ceafc642" - integrity sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw== - type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -11421,9 +11122,9 @@ type@^2.5.0: integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== typed-assert@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.8.tgz#4bf9f1ce7f3f974d09c3afd7c68d12e1391a233c" - integrity sha512-5NkbXZUlmCE73Fs7gvkp1XXJWHYetPkg60QnQ2NXQmBYNFxbBr2zA8GCtaH4K2s2WhOmSlgiSTmrjrcm5tnM5g== + version "1.0.9" + resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" + integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== typed-graphqlify@^3.1.1: version "3.1.4" @@ -11559,9 +11260,9 @@ uri-js@^4.2.2: punycode "^2.1.0" urijs@^1.19.1: - version "1.19.7" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.7.tgz#4f594e59113928fea63c00ce688fb395b1168ab9" - integrity sha512-Id+IKjdU0Hx+7Zx717jwLPsPeUqz7rAtuVBRLLs+qn+J2nf9NGITWVCxcijgYxBqe83C7sqsQPs6H1pyz3x9gA== + version "1.19.8" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.8.tgz#ee0407a18528934d3c383e691912f47043a58feb" + integrity sha512-iIXHrjomQ0ZCuDRy44wRbyTZVnfVNLVo3Ksz1yxNyE5wV1IDZW2S5Jszy45DTlw/UdsnRT7DyDhIz7Gy+vJumw== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" From 748d3ab2e5e50216de7118f9f1150da38a322557 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 22 Feb 2022 14:35:34 +0000 Subject: [PATCH 0120/1388] build: update all non-major dependencies --- package.json | 14 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 253 +++++------------- 3 files changed, 79 insertions(+), 194 deletions(-) diff --git a/package.json b/package.json index 494fb4efc298..86f82bf1843f 100644 --- a/package.json +++ b/package.json @@ -116,8 +116,8 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@typescript-eslint/eslint-plugin": "5.12.0", - "@typescript-eslint/parser": "5.12.0", + "@typescript-eslint/eslint-plugin": "5.12.1", + "@typescript-eslint/parser": "5.12.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", "ajv-formats": "2.1.1", @@ -133,10 +133,10 @@ "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.22", - "esbuild-wasm": "0.14.22", + "esbuild": "0.14.23", + "esbuild-wasm": "0.14.23", "eslint": "8.9.0", - "eslint-config-prettier": "8.3.0", + "eslint-config-prettier": "8.4.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", "express": "4.17.3", @@ -185,7 +185,7 @@ "postcss-preset-env": "7.4.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.3.2", + "puppeteer": "13.4.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -204,7 +204,7 @@ "symbol-observable": "4.0.0", "tar": "^6.1.6", "temp": "^0.9.0", - "terser": "5.10.0", + "terser": "5.11.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 94fc3a8db2d0..f2658f83a957 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.22", + "esbuild-wasm": "0.14.23", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -60,7 +60,7 @@ "source-map-support": "0.5.21", "stylus": "0.56.0", "stylus-loader": "6.2.0", - "terser": "5.10.0", + "terser": "5.11.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.22" + "esbuild": "0.14.23" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index cfef33f0ddfb..dfd363ced058 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2505,14 +2505,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.0.tgz#bb46dd7ce7015c0928b98af1e602118e97df6c70" - integrity sha512-fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ== - dependencies: - "@typescript-eslint/scope-manager" "5.12.0" - "@typescript-eslint/type-utils" "5.12.0" - "@typescript-eslint/utils" "5.12.0" +"@typescript-eslint/eslint-plugin@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz#b2cd3e288f250ce8332d5035a2ff65aba3374ac4" + integrity sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw== + dependencies: + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/type-utils" "5.12.1" + "@typescript-eslint/utils" "5.12.1" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2520,69 +2520,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.0.tgz#0ca669861813df99ce54916f66f524c625ed2434" - integrity sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog== +"@typescript-eslint/parser@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" + integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw== dependencies: - "@typescript-eslint/scope-manager" "5.12.0" - "@typescript-eslint/types" "5.12.0" - "@typescript-eslint/typescript-estree" "5.12.0" + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/typescript-estree" "5.12.1" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz#59619e6e5e2b1ce6cb3948b56014d3a24da83f5e" - integrity sha512-GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ== +"@typescript-eslint/scope-manager@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz#58734fd45d2d1dec49641aacc075fba5f0968817" + integrity sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ== dependencies: - "@typescript-eslint/types" "5.12.0" - "@typescript-eslint/visitor-keys" "5.12.0" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/visitor-keys" "5.12.1" -"@typescript-eslint/type-utils@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.0.tgz#aaf45765de71c6d9707c66ccff76ec2b9aa31bb6" - integrity sha512-9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q== +"@typescript-eslint/type-utils@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz#8d58c6a0bb176b5e9a91581cda1a7f91a114d3f0" + integrity sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg== dependencies: - "@typescript-eslint/utils" "5.12.0" + "@typescript-eslint/utils" "5.12.1" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.0.tgz#5b4030a28222ee01e851836562c07769eecda0b8" - integrity sha512-JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ== +"@typescript-eslint/types@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" + integrity sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA== -"@typescript-eslint/typescript-estree@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz#cabf545fd592722f0e2b4104711e63bf89525cd2" - integrity sha512-Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ== +"@typescript-eslint/typescript-estree@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz#6a9425b9c305bcbc38e2d1d9a24c08e15e02b722" + integrity sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw== dependencies: - "@typescript-eslint/types" "5.12.0" - "@typescript-eslint/visitor-keys" "5.12.0" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/visitor-keys" "5.12.1" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.0.tgz#92fd3193191621ab863add2f553a7b38b65646af" - integrity sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw== +"@typescript-eslint/utils@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.1.tgz#447c24a05d9c33f9c6c64cb48f251f2371eef920" + integrity sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.12.0" - "@typescript-eslint/types" "5.12.0" - "@typescript-eslint/typescript-estree" "5.12.0" + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/typescript-estree" "5.12.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.12.0": - version "5.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz#1ac9352ed140b07ba144ebf371b743fdf537ec16" - integrity sha512-cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg== +"@typescript-eslint/visitor-keys@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" + integrity sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A== dependencies: - "@typescript-eslint/types" "5.12.0" + "@typescript-eslint/types" "5.12.1" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -2838,7 +2838,7 @@ acorn@^7.1.0, acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.7.0: +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -4834,11 +4834,6 @@ esbuild-android-arm64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz#7d1e7391030d83e2d6745ac297d630bb33130b36" integrity sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg== -esbuild-android-arm64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz#fb051169a63307d958aec85ad596cfc7d7770303" - integrity sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ== - esbuild-android-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" @@ -4849,11 +4844,6 @@ esbuild-darwin-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" integrity sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ== -esbuild-darwin-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz#615ea0a9de67b57a293a7128d7ac83ee307a856d" - integrity sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw== - esbuild-darwin-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" @@ -4864,11 +4854,6 @@ esbuild-darwin-arm64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" integrity sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg== -esbuild-darwin-arm64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz#82054dcfcecb15ccfd237093b8008e7745a99ad9" - integrity sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw== - esbuild-darwin-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" @@ -4879,11 +4864,6 @@ esbuild-freebsd-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" integrity sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A== -esbuild-freebsd-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz#778a818c5b078d5cdd6bb6c0e0797217d196999b" - integrity sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A== - esbuild-freebsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" @@ -4894,11 +4874,6 @@ esbuild-freebsd-arm64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" integrity sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg== -esbuild-freebsd-arm64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz#18da93b9f3db2e036f72383bfe73b28b73bb332c" - integrity sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ== - esbuild-freebsd-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" @@ -4909,11 +4884,6 @@ esbuild-linux-32@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" integrity sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ== -esbuild-linux-32@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz#d0d5d9f5bb3536e17ac097e9512019c65b7c0234" - integrity sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg== - esbuild-linux-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" @@ -4924,11 +4894,6 @@ esbuild-linux-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" integrity sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA== -esbuild-linux-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz#2773d540971999ea7f38107ef92fca753f6a8c30" - integrity sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg== - esbuild-linux-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" @@ -4939,11 +4904,6 @@ esbuild-linux-arm64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" integrity sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q== -esbuild-linux-arm64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz#5d4480ce6d6bffab1dd76a23158f5a5ab33e7ba4" - integrity sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A== - esbuild-linux-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" @@ -4954,11 +4914,6 @@ esbuild-linux-arm@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" integrity sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g== -esbuild-linux-arm@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz#c6391b3f7c8fa6d3b99a7e893ce0f45f3a921eef" - integrity sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g== - esbuild-linux-arm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" @@ -4969,11 +4924,6 @@ esbuild-linux-mips64le@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" integrity sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A== -esbuild-linux-mips64le@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz#2c8dabac355c502e86c38f9f292b3517d8e181f3" - integrity sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ== - esbuild-linux-mips64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" @@ -4984,21 +4934,11 @@ esbuild-linux-ppc64le@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" integrity sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA== -esbuild-linux-ppc64le@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz#69d71b2820d5c94306072dac6094bae38e77d1c0" - integrity sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng== - esbuild-linux-ppc64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== -esbuild-linux-riscv64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz#c0ec0fc3a23624deebf657781550d2329cec4213" - integrity sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ== - esbuild-linux-riscv64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" @@ -5009,11 +4949,6 @@ esbuild-linux-s390x@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" integrity sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA== -esbuild-linux-s390x@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz#ec2af4572d63336cfb27f5a5c851fb1b6617dd91" - integrity sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw== - esbuild-linux-s390x@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" @@ -5024,11 +4959,6 @@ esbuild-netbsd-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" integrity sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg== -esbuild-netbsd-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz#0e283278e9fdbaa7f0930f93ee113d7759cd865e" - integrity sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA== - esbuild-netbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" @@ -5039,11 +4969,6 @@ esbuild-openbsd-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" integrity sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg== -esbuild-openbsd-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz#2a73bba04e16d8ef278fbe2be85248e12a2f2cc2" - integrity sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA== - esbuild-openbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" @@ -5054,11 +4979,6 @@ esbuild-sunos-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" integrity sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ== -esbuild-sunos-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz#8fe03513b8b2e682a6d79d5e3ca5849651a3c1d8" - integrity sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g== - esbuild-sunos-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" @@ -5069,12 +4989,7 @@ esbuild-wasm@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" integrity sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA== -esbuild-wasm@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz#9671d1355473b6688d00fe8ef6fa50274eff5465" - integrity sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw== - -esbuild-wasm@^0.14.14: +esbuild-wasm@0.14.23, esbuild-wasm@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== @@ -5084,11 +4999,6 @@ esbuild-windows-32@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz#5e4db2758408e148e225f06c7724853386916c70" integrity sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w== -esbuild-windows-32@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz#a75df61e3e49df292a1842be8e877a3153ee644f" - integrity sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg== - esbuild-windows-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" @@ -5099,11 +5009,6 @@ esbuild-windows-64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" integrity sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA== -esbuild-windows-64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz#d06cf8bbe4945b8bf95a730d871e54a22f635941" - integrity sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw== - esbuild-windows-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" @@ -5114,11 +5019,6 @@ esbuild-windows-arm64@0.14.20: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" integrity sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg== -esbuild-windows-arm64@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz#f8b1b05c548073be8413a5ecb12d7c2f6e717227" - integrity sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg== - esbuild-windows-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" @@ -5148,32 +5048,7 @@ esbuild@0.14.20: esbuild-windows-64 "0.14.20" esbuild-windows-arm64 "0.14.20" -esbuild@0.14.22: - version "0.14.22" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.22.tgz#2b55fde89d7aa5aaaad791816d58ff9dfc5ed085" - integrity sha512-CjFCFGgYtbFOPrwZNJf7wsuzesx8kqwAffOlbYcFDLFuUtP8xloK1GH+Ai13Qr0RZQf9tE7LMTHJ2iVGJ1SKZA== - optionalDependencies: - esbuild-android-arm64 "0.14.22" - esbuild-darwin-64 "0.14.22" - esbuild-darwin-arm64 "0.14.22" - esbuild-freebsd-64 "0.14.22" - esbuild-freebsd-arm64 "0.14.22" - esbuild-linux-32 "0.14.22" - esbuild-linux-64 "0.14.22" - esbuild-linux-arm "0.14.22" - esbuild-linux-arm64 "0.14.22" - esbuild-linux-mips64le "0.14.22" - esbuild-linux-ppc64le "0.14.22" - esbuild-linux-riscv64 "0.14.22" - esbuild-linux-s390x "0.14.22" - esbuild-netbsd-64 "0.14.22" - esbuild-openbsd-64 "0.14.22" - esbuild-sunos-64 "0.14.22" - esbuild-windows-32 "0.14.22" - esbuild-windows-64 "0.14.22" - esbuild-windows-arm64 "0.14.22" - -esbuild@^0.14.14: +esbuild@0.14.23, esbuild@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" integrity sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig== @@ -5242,10 +5117,10 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== +eslint-config-prettier@8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz#8e6d17c7436649e98c4c2189868562921ef563de" + integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -9288,10 +9163,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.2.tgz#4ff1cf6e2009df29fd80038bc702dc067776f79d" - integrity sha512-TIt8/R0eaUwY1c0/O0sCJpSglvGEWVoWFfGZ2dNtxX3eHuBo1ln9abaWfxTjZfsrkYATLSs8oqEdRZpMNnCsvg== +puppeteer@13.4.0: + version "13.4.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.4.0.tgz#d2366542fb0fc7af0cc68719c048a68363a0a940" + integrity sha512-WrHtFF2WpYC6KWFP4OCPOHWCjW4f8tFk+FkYZeNQ8/lHn+asjXBEXiIWauune8CY2xIHBVExGas+WI6Ay8/MgQ== dependencies: cross-fetch "3.1.5" debug "4.3.3" @@ -10795,6 +10670,16 @@ terser@5.10.0, terser@^5.7.2: source-map "~0.7.2" source-map-support "~0.5.20" +terser@5.11.0: + version "5.11.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.11.0.tgz#2da5506c02e12cd8799947f30ce9c5b760be000f" + integrity sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" From de14293083826ee4a1b69b94d06a57603d3d76f9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 21 Feb 2022 11:31:12 +0100 Subject: [PATCH 0121/1388] fix(@angular-devkit/build-angular): don't rename blocks which have a name When using the unsupported `webpackChunkName` magic comment we renamed the chunk which in some cases causes a runtime error. Closes #22525 --- .../build_angular/src/webpack/plugins/named-chunks-plugin.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts index feb0e5d208e4..3390682c5bf4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts @@ -41,6 +41,11 @@ export class NamedChunksPlugin { continue; } + if (block.groupOptions.name) { + // Ignore groups which have been named already. + return undefined; + } + for (const dependency of block.dependencies) { if (dependency instanceof ImportDependency) { return Template.toPath(dependency.request); From 92cc05bd55684c6d86899c45d14b75fd9c98fbaa Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 16 Feb 2022 12:09:12 -0500 Subject: [PATCH 0122/1388] ci: use renovate Github Action tag version pinning Renovate supports use hashed version pinning for individual Github actions while still following SemVer-based tags. All workflow actions external to the Angular organization now leverage this support to ensure both that stable versions of the actions are used and that the actions are pinned to a hashed version of the tag. --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/scorecard.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 04b7b2b2f6be..b29633864707 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,7 +12,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.4.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@5b35e20aeb147b713c31ba5c269cf2128c746d46 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 5ac4e4ce78ee..13379de2c7e5 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,12 +23,12 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 + uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.4.0 with: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@c1aec4ac820532bab364f02a81873c555a0ba3a1 + uses: ossf/scorecard-action@b614d455ee90608b5e36e3299cd50d457eb37d5f # renovate: tag=v1.0.3 with: results_file: results.sarif results_format: sarif @@ -37,7 +37,7 @@ jobs: # Upload the results as artifacts. - name: 'Upload artifact' - uses: actions/upload-artifact@2244c8200304ec9588bf9399eac622d9fadc28c4 + uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # renovate: tag=v2.3.1 with: name: SARIF file path: results.sarif @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@ef024e702cce6eafa15d4cdf8b22536ed02bcd55 + uses: github/codeql-action/upload-sarif@474bbf07f9247ffe1856c6a0f94aeeb10e7afee6 # renovate: tag=v1.1.0 with: sarif_file: results.sarif From 68c01b5896883fd3f570ba204d427d58af2cd540 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 23 Feb 2022 09:50:03 +0000 Subject: [PATCH 0123/1388] build: update scorecard action dependencies --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 13379de2c7e5..ba4f353a69ef 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@b614d455ee90608b5e36e3299cd50d457eb37d5f # renovate: tag=v1.0.3 + uses: ossf/scorecard-action@c1aec4ac820532bab364f02a81873c555a0ba3a1 # tag=v1.0.4 with: results_file: results.sarif results_format: sarif @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@474bbf07f9247ffe1856c6a0f94aeeb10e7afee6 # renovate: tag=v1.1.0 + uses: github/codeql-action/upload-sarif@d39d5d5c9707b926d517b1b292905ef4c03aa777 # tag=v1.1.2 with: sarif_file: results.sarif From 54b1ca235c19c7f334a3d7cf0f32d67d9cf0013b Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 23 Feb 2022 11:57:40 -0800 Subject: [PATCH 0124/1388] docs: release notes for the v13.2.5 release --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06296d26a7fb..64b1c28c5ead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ + + +# 13.2.5 (2022-02-23) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | +| [acf1e5e4a](https://github.com/angular/angular-cli/commit/acf1e5e4a5b359be125272f7e4055208116a13d8) | fix | don't rename blocks which have a name | +| [7a493979c](https://github.com/angular/angular-cli/commit/7a493979ccb71e974d668fca67d75e1b194f8608) | fix | update `terser` to `5.11.0` | + +## Special Thanks + +Alan Agius and Paul Gschwendtner + + + # 14.0.0-next.2 (2022-02-17) From 52be302f7ca3a054c03d78fed331c8a13a1290a1 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 23 Feb 2022 12:02:12 -0800 Subject: [PATCH 0125/1388] release: cut the v14.0.0-next.3 release --- CHANGELOG.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64b1c28c5ead..1752a817fc9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.0.0-next.3 (2022-02-23) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | +| [de1429308](https://github.com/angular/angular-cli/commit/de14293083826ee4a1b69b94d06a57603d3d76f9) | fix | don't rename blocks which have a name | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker and Paul Gschwendtner + + + # 13.2.5 (2022-02-23) diff --git a/package.json b/package.json index 86f82bf1843f..60c7f82b8032 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.2", + "version": "14.0.0-next.3", "private": true, "description": "Software Development Kit for Angular", "bin": { From b20f34ec177e1524de76e2a7a189d0f25cdbb95a Mon Sep 17 00:00:00 2001 From: Daniele Maltese <17677294+ilmalte@users.noreply.github.com> Date: Wed, 23 Feb 2022 17:42:23 +0100 Subject: [PATCH 0126/1388] docs(@angular-devkit/core): typo in string.ts doc Typo in underscore function code documentation. --- packages/angular_devkit/core/src/utils/strings.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/utils/strings.ts b/packages/angular_devkit/core/src/utils/strings.ts index 9313f2b2799f..a3dd5195ab83 100644 --- a/packages/angular_devkit/core/src/utils/strings.ts +++ b/packages/angular_devkit/core/src/utils/strings.ts @@ -93,7 +93,7 @@ export function classify(str: string): string { } /** - More general than decamelize. Returns the lower\_case\_and\_underscored + More general than decamelize. Returns the lower_case_and_underscored form of a string. ```javascript From c4d3dfa14f5d145b831857645f27c056c893526a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 24 Feb 2022 08:15:09 +0000 Subject: [PATCH 0127/1388] build: update github/codeql-action action to v1.1.3 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ba4f353a69ef..0f6b9a17c657 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@d39d5d5c9707b926d517b1b292905ef4c03aa777 # tag=v1.1.2 + uses: github/codeql-action/upload-sarif@75f07e7ab2ee63cba88752d8c696324e4df67466 # tag=v1.1.3 with: sarif_file: results.sarif From ed67d9a3628a2b038a486b47241bb6c9493b5f39 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 24 Feb 2022 10:51:40 -0500 Subject: [PATCH 0128/1388] refactor(@angular-devkit/build-angular): replace most custom path resolve usages with Node.js builtins During the build initialization phase, many paths are converted back and forth between multiple normalized forms. These conversions involve potentially expensive string operations. The majority of the custom path `resolve` function from `@angular-devkit/core` usages have now been removed in favor of the Node.js builtin path functions. This change reduces the need to perform additional string manipulation where possible. --- .../src/builders/app-shell/index.ts | 6 ++--- .../src/builders/browser/index.ts | 21 +++++++--------- .../src/utils/normalize-builder-schema.ts | 24 ++++++++++++------- .../src/utils/webpack-browser-config.ts | 24 +++++++++---------- 4 files changed, 38 insertions(+), 37 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index 952d5f392c2e..f8bcbd4241d2 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -12,7 +12,7 @@ import { createBuilder, targetFromTargetString, } from '@angular-devkit/architect'; -import { JsonObject, normalize, resolve } from '@angular-devkit/core'; +import { JsonObject, normalize } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { normalizeOptimization } from '../../utils'; @@ -52,7 +52,7 @@ async function _renderUniversal( } const projectMetadata = await context.getProjectMetadata(projectName); - const projectRoot = resolve(normalize(root), normalize((projectMetadata.root as string) || '')); + const projectRoot = path.join(root, (projectMetadata.root as string | undefined) ?? ''); const { styles } = normalizeOptimization(browserOptions.optimization); const inlineCriticalCssProcessor = styles.inlineCritical @@ -114,7 +114,7 @@ async function _renderUniversal( if (browserOptions.serviceWorker) { await augmentAppWithServiceWorker( - projectRoot, + normalize(projectRoot), normalize(outputPath), browserOptions.baseHref || '/', browserOptions.ngswConfigPath, diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 7aa57d8090fc..854d5a42a8bd 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { EmittedFiles, WebpackLoggingCallback, runWebpack } from '@angular-devkit/build-webpack'; -import { getSystemPath, json, logging, normalize, resolve } from '@angular-devkit/core'; +import { json, logging, normalize } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { Observable, from } from 'rxjs'; @@ -142,8 +142,6 @@ export function buildWebpackBrowser( indexHtml?: IndexHtmlTransform; } = {}, ): Observable { - const root = normalize(context.workspaceRoot); - const projectName = context.target?.project; if (!projectName) { throw new Error('The builder requires a target.'); @@ -157,20 +155,17 @@ export function buildWebpackBrowser( return from(context.getProjectMetadata(projectName)).pipe( switchMap(async (projectMetadata) => { - const sysProjectRoot = getSystemPath( - resolve( - normalize(context.workspaceRoot), - normalize((projectMetadata.root as string) ?? ''), - ), - ); - // Purge old build disk cache. await purgeStaleBuildCache(context); - checkInternetExplorerSupport(sysProjectRoot, context.logger); + // Initialize builder + const initialization = await initialize(options, context, transforms.webpackConfiguration); + + // Check and warn about IE browser support + checkInternetExplorerSupport(initialization.projectRoot, context.logger); return { - ...(await initialize(options, context, transforms.webpackConfiguration)), + ...initialization, cacheOptions: normalizeCacheOptions(projectMetadata, context.workspaceRoot), }; }), @@ -274,7 +269,7 @@ export function buildWebpackBrowser( await copyAssets( normalizeAssetPatterns( options.assets, - root, + normalize(context.workspaceRoot), normalize(projectRoot), projectSourceRoot === undefined ? undefined : normalize(projectSourceRoot), ), diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts index a74ca3e34261..943c063c79dd 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Path, getSystemPath, json } from '@angular-devkit/core'; +import { json, normalize } from '@angular-devkit/core'; import { AssetPatternClass, Schema as BrowserBuilderSchema, @@ -35,9 +35,9 @@ export type NormalizedBrowserBuilderSchema = BrowserBuilderSchema & }; export function normalizeBrowserSchema( - root: Path, - projectRoot: Path, - sourceRoot: Path | undefined, + workspaceRoot: string, + projectRoot: string, + projectSourceRoot: string | undefined, options: BrowserBuilderSchema, metadata: json.JsonObject, ): NormalizedBrowserBuilderSchema { @@ -45,9 +45,17 @@ export function normalizeBrowserSchema( return { ...options, - cache: normalizeCacheOptions(metadata, getSystemPath(root)), - assets: normalizeAssetPatterns(options.assets || [], root, projectRoot, sourceRoot), - fileReplacements: normalizeFileReplacements(options.fileReplacements || [], root), + cache: normalizeCacheOptions(metadata, workspaceRoot), + assets: normalizeAssetPatterns( + options.assets || [], + normalize(workspaceRoot), + normalize(projectRoot), + projectSourceRoot ? normalize(projectSourceRoot) : undefined, + ), + fileReplacements: normalizeFileReplacements( + options.fileReplacements || [], + normalize(workspaceRoot), + ), optimization: normalizeOptimization(options.optimization), sourceMap: normalizedSourceMapOptions, preserveSymlinks: @@ -66,6 +74,6 @@ export function normalizeBrowserSchema( // A value of 0 is falsy and will disable polling rather then enable // 500 ms is a sensible default in this case poll: options.poll === 0 ? 500 : options.poll, - supportedBrowsers: getSupportedBrowsers(getSystemPath(projectRoot)), + supportedBrowsers: getSupportedBrowsers(projectRoot), }; } diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts index 1bdcfbc4f534..850beeffc8b8 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts @@ -7,7 +7,7 @@ */ import { BuilderContext } from '@angular-devkit/architect'; -import { getSystemPath, json, logging, normalize, resolve } from '@angular-devkit/core'; +import { logging } from '@angular-devkit/core'; import * as path from 'path'; import { ScriptTarget } from 'typescript'; import { Configuration, javascript } from 'webpack'; @@ -146,26 +146,24 @@ export async function generateBrowserWebpackConfigFromContext( throw new Error('The builder requires a target.'); } - const workspaceRoot = normalize(context.workspaceRoot); + const workspaceRoot = context.workspaceRoot; const projectMetadata = await context.getProjectMetadata(projectName); - const projectRoot = resolve(workspaceRoot, normalize((projectMetadata.root as string) || '')); - const projectSourceRoot = projectMetadata.sourceRoot as string | undefined; - const sourceRoot = projectSourceRoot - ? resolve(workspaceRoot, normalize(projectSourceRoot)) - : undefined; + const projectRoot = path.join(workspaceRoot, (projectMetadata.root as string | undefined) ?? ''); + const sourceRoot = projectMetadata.sourceRoot as string | undefined; + const projectSourceRoot = sourceRoot ? path.join(workspaceRoot, sourceRoot) : undefined; const normalizedOptions = normalizeBrowserSchema( workspaceRoot, projectRoot, - sourceRoot, + projectSourceRoot, options, projectMetadata, ); const config = await generateWebpackConfig( - getSystemPath(workspaceRoot), - getSystemPath(projectRoot), - sourceRoot && getSystemPath(sourceRoot), + workspaceRoot, + projectRoot, + projectSourceRoot, projectName, normalizedOptions, webpackPartialGenerator, @@ -189,8 +187,8 @@ export async function generateBrowserWebpackConfigFromContext( return { config, - projectRoot: getSystemPath(projectRoot), - projectSourceRoot: sourceRoot && getSystemPath(sourceRoot), + projectRoot, + projectSourceRoot, }; } From e529fb841791361acb485affd4af882a43c42ccd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 25 Feb 2022 17:03:19 +0100 Subject: [PATCH 0129/1388] refactor(@angular/cli): remove unused `INITIAL_COMMIT_MESSAGE` text file This file is no longer used. --- packages/angular/cli/BUILD.bazel | 1 - packages/angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt | 8 -------- 2 files changed, 9 deletions(-) delete mode 100644 packages/angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index ba4a82bd9839..e8d747de1cff 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -330,6 +330,5 @@ pkg_npm( ":license", ":src/commands/update/schematic/collection.json", ":src/commands/update/schematic/schema.json", - ":utilities/INITIAL_COMMIT_MESSAGE.txt", ], ) diff --git a/packages/angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt b/packages/angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt deleted file mode 100644 index 2f0b94d3b50c..000000000000 --- a/packages/angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt +++ /dev/null @@ -1,8 +0,0 @@ -chore: initial commit from @angular/cli - - _ _ ____ _ ___ - / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _| - / △ \ | '_ \ / _\` | | | | |/ _\` | '__| | | | | | | - / ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | | -/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___| - |___/ From f0daa8c3bfab826faf3b95418cb6d3388ebe708a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 25 Feb 2022 10:48:44 -0500 Subject: [PATCH 0130/1388] refactor(@angular-devkit/build-angular): remove unneeded JsonObject type casting The use of the `@angular-devkit/core` `JsonObject` type is no longer needed to satisfy the type requirements of `@angular-devkit/architect` package builder creation functions. --- .../angular_devkit/build_angular/src/index.md | 10 ++++----- .../src/builders/browser/index.ts | 21 +++++++++---------- .../src/builders/dev-server/index.ts | 4 ++-- .../src/builders/extract-i18n/index.ts | 2 +- .../src/builders/protractor/index.ts | 4 ++-- .../src/builders/server/index.ts | 19 ++++++++--------- 6 files changed, 28 insertions(+), 32 deletions(-) diff --git a/goldens/public-api/angular_devkit/build_angular/src/index.md b/goldens/public-api/angular_devkit/build_angular/src/index.md index a8e8037a2103..4a43ab838420 100644 --- a/goldens/public-api/angular_devkit/build_angular/src/index.md +++ b/goldens/public-api/angular_devkit/build_angular/src/index.md @@ -10,8 +10,6 @@ import { BuildResult } from '@angular-devkit/build-webpack'; import { ConfigOptions } from 'karma'; import { Configuration } from 'webpack'; import { DevServerBuildOutput } from '@angular-devkit/build-webpack'; -import { json } from '@angular-devkit/core'; -import { JsonObject } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import webpack from 'webpack'; import { WebpackLoggingCallback } from '@angular-devkit/build-webpack'; @@ -74,7 +72,7 @@ export interface BrowserBuilderOptions { } // @public -export type BrowserBuilderOutput = json.JsonObject & BuilderOutput & { +export type BrowserBuilderOutput = BuilderOutput & { baseOutputPath: string; outputPaths: string[]; outputPath: string; @@ -104,7 +102,7 @@ export enum CrossOrigin { } // @public (undocumented) -export type DevServerBuilderOptions = Schema & json.JsonObject; +export type DevServerBuilderOptions = Schema; // @public export type DevServerBuilderOutput = DevServerBuildOutput & { @@ -151,7 +149,7 @@ export function executeServerBuilder(options: ServerBuilderOptions, context: Bui export type ExecutionTransformer = (input: T) => T | Promise; // @public (undocumented) -export type ExtractI18nBuilderOptions = Schema_2 & JsonObject; +export type ExtractI18nBuilderOptions = Schema_2; // @public (undocumented) export interface FileReplacement { @@ -270,7 +268,7 @@ export interface ServerBuilderOptions { } // @public -export type ServerBuilderOutput = json.JsonObject & BuilderOutput & { +export type ServerBuilderOutput = BuilderOutput & { baseOutputPath: string; outputPaths: string[]; outputPath: string; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 854d5a42a8bd..ef2c73a37549 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { EmittedFiles, WebpackLoggingCallback, runWebpack } from '@angular-devkit/build-webpack'; -import { json, logging, normalize } from '@angular-devkit/core'; +import { logging, normalize } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { Observable, from } from 'rxjs'; @@ -64,15 +64,14 @@ import { Schema as BrowserBuilderSchema } from './schema'; /** * @experimental Direct usage of this type is considered experimental. */ -export type BrowserBuilderOutput = json.JsonObject & - BuilderOutput & { - baseOutputPath: string; - outputPaths: string[]; - /** - * @deprecated in version 9. Use 'outputPaths' instead. - */ - outputPath: string; - }; +export type BrowserBuilderOutput = BuilderOutput & { + baseOutputPath: string; + outputPaths: string[]; + /** + * @deprecated in version 9. Use 'outputPaths' instead. + */ + outputPath: string; +}; /** * Maximum time in milliseconds for single build/rebuild @@ -436,4 +435,4 @@ function checkInternetExplorerSupport(projectRoot: string, logger: logging.Logge } } -export default createBuilder(buildWebpackBrowser); +export default createBuilder(buildWebpackBrowser); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index 2f865a9f8562..106e572d7128 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -47,7 +47,7 @@ import { createWebpackLoggingCallback } from '../../webpack/utils/stats'; import { Schema as BrowserBuilderSchema, OutputHashing } from '../browser/schema'; import { Schema } from './schema'; -export type DevServerBuilderOptions = Schema & json.JsonObject; +export type DevServerBuilderOptions = Schema; /** * @experimental Direct usage of this type is considered experimental. @@ -82,7 +82,7 @@ export function serveWebpackBrowser( const browserTarget = targetFromTargetString(options.browserTarget); async function setup(): Promise<{ - browserOptions: json.JsonObject & BrowserBuilderSchema; + browserOptions: BrowserBuilderSchema; webpackConfig: webpack.Configuration; projectRoot: string; }> { diff --git a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts index 59ca53297c68..ebecd06f9211 100644 --- a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts @@ -25,7 +25,7 @@ import { createWebpackLoggingCallback } from '../../webpack/utils/stats'; import { Schema as BrowserBuilderOptions, OutputHashing } from '../browser/schema'; import { Format, Schema } from './schema'; -export type ExtractI18nBuilderOptions = Schema & JsonObject; +export type ExtractI18nBuilderOptions = Schema; function getI18nOutfile(format: string | undefined) { switch (format) { diff --git a/packages/angular_devkit/build_angular/src/builders/protractor/index.ts b/packages/angular_devkit/build_angular/src/builders/protractor/index.ts index 0f9c770101cd..4b8d7baa1937 100644 --- a/packages/angular_devkit/build_angular/src/builders/protractor/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/protractor/index.ts @@ -12,7 +12,7 @@ import { createBuilder, targetFromTargetString, } from '@angular-devkit/architect'; -import { tags } from '@angular-devkit/core'; +import { json, tags } from '@angular-devkit/core'; import { resolve } from 'path'; import * as url from 'url'; import { runModuleAsObservableFork } from '../../utils'; @@ -114,7 +114,7 @@ export async function execute( const overrides = { watch: false, liveReload: false, - } as DevServerBuilderOptions; + } as DevServerBuilderOptions & json.JsonObject; if (options.host !== undefined) { overrides.host = options.host; diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 848d9ab1a396..8bb95e58d425 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { runWebpack } from '@angular-devkit/build-webpack'; -import { json, tags } from '@angular-devkit/core'; +import { tags } from '@angular-devkit/core'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { concatMap, map } from 'rxjs/operators'; @@ -29,15 +29,14 @@ import { Schema as ServerBuilderOptions } from './schema'; /** * @experimental Direct usage of this type is considered experimental. */ -export type ServerBuilderOutput = json.JsonObject & - BuilderOutput & { - baseOutputPath: string; - outputPaths: string[]; - /** - * @deprecated in version 9. Use 'outputPaths' instead. - */ - outputPath: string; - }; +export type ServerBuilderOutput = BuilderOutput & { + baseOutputPath: string; + outputPaths: string[]; + /** + * @deprecated in version 9. Use 'outputPaths' instead. + */ + outputPath: string; +}; export { ServerBuilderOptions }; From 38a9d9eb5daa7cce4ce66022a3130a57af5d8810 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 28 Feb 2022 17:35:44 +0000 Subject: [PATCH 0131/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 1249 +++-------------- 7 files changed, 239 insertions(+), 1082 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index b29633864707..c5e35b7d84ba 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.4.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@5b35e20aeb147b713c31ba5c269cf2128c746d46 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@104c49ad795097101ab3aa268a8e9af2cdf04a8d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 51c2950f8591..e0f802a16929 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@5b35e20aeb147b713c31ba5c269cf2128c746d46 + - uses: angular/dev-infra/github-actions/feature-request@104c49ad795097101ab3aa268a8e9af2cdf04a8d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index d3e19a0074fa..a552a25c415f 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@5b35e20aeb147b713c31ba5c269cf2128c746d46 + - uses: angular/dev-infra/github-actions/lock-closed@104c49ad795097101ab3aa268a8e9af2cdf04a8d with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 60c7f82b8032..0117b869a880 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.2", - "@angular/cdk": "14.0.0-next.2", - "@angular/common": "14.0.0-next.2", - "@angular/compiler": "14.0.0-next.2", - "@angular/compiler-cli": "14.0.0-next.2", - "@angular/core": "14.0.0-next.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420", - "@angular/forms": "14.0.0-next.2", - "@angular/localize": "14.0.0-next.2", - "@angular/material": "14.0.0-next.2", - "@angular/platform-browser": "14.0.0-next.2", - "@angular/platform-browser-dynamic": "14.0.0-next.2", - "@angular/platform-server": "14.0.0-next.2", - "@angular/router": "14.0.0-next.2", - "@angular/service-worker": "14.0.0-next.2", + "@angular/animations": "14.0.0-next.4", + "@angular/cdk": "14.0.0-next.4", + "@angular/common": "14.0.0-next.4", + "@angular/compiler": "14.0.0-next.4", + "@angular/compiler-cli": "14.0.0-next.4", + "@angular/core": "14.0.0-next.4", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a", + "@angular/forms": "14.0.0-next.4", + "@angular/localize": "14.0.0-next.4", + "@angular/material": "14.0.0-next.4", + "@angular/platform-browser": "14.0.0-next.4", + "@angular/platform-browser-dynamic": "14.0.0-next.4", + "@angular/platform-server": "14.0.0-next.4", + "@angular/router": "14.0.0-next.4", + "@angular/service-worker": "14.0.0-next.4", "@babel/core": "7.17.5", "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index bfe68c4e61b5..a05f76d78cfb 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.2", - "@angular/compiler-cli": "14.0.0-next.2", + "@angular/compiler": "14.0.0-next.4", + "@angular/compiler-cli": "14.0.0-next.4", "typescript": "4.5.5", "webpack": "5.69.1" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 8cebb8cb92e3..22e235700a93 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#5457147f366d8a2cfab32da8a133654a721200d7", - "@angular/cdk": "github:angular/cdk-builds#204a17eab44f8e4f034a78a21e6069e5a8463635", - "@angular/common": "github:angular/common-builds#22e9daedd3d37d97f32d8d34cc0674b54039a85e", - "@angular/compiler": "github:angular/compiler-builds#7a309565f72b6f419f075268f072f09e0431d95f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a7ff25be9d4bcac37b5c4bfe272492a25ed3ba67", - "@angular/core": "github:angular/core-builds#75f1806c0380fa89fdaa4006ab5350b7ec744820", - "@angular/forms": "github:angular/forms-builds#f389d34e2a4d688dce2eaa88131ce30d77fb49a4", - "@angular/language-service": "github:angular/language-service-builds#53a1ed61e1823d20c0166ed0500bf88a767f931b", - "@angular/localize": "github:angular/localize-builds#b833e14c66a0aefbc986cb8e9d3257f34e0eef66", - "@angular/material": "github:angular/material-builds#0090f5888649dad3f13fa2312322fd5b6545be2e", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3dd25e3328491dbabe05197001a95bdfed9f9aa8", - "@angular/platform-browser": "github:angular/platform-browser-builds#66e6c0be39be2fe4dd8b0420c9eb01be397f7672", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9c852036d405f4a636afdd47ca44ee0b5ea545d5", - "@angular/platform-server": "github:angular/platform-server-builds#8d8d9765431d8c307cef74dbbcc13249374f5145", - "@angular/router": "github:angular/router-builds#fd17af326916e15b41dad458b1aab39ad0cf3b49", - "@angular/service-worker": "github:angular/service-worker-builds#2792015b0d9f191c8f1fb831b0faf822ee189a58" + "@angular/animations": "github:angular/animations-builds#931e07e0362f536a5b6ce957e52c4ed7a5cab8e7", + "@angular/cdk": "github:angular/cdk-builds#62ab6c2abbae4f6f54d875f4d32ec422faa7e5d3", + "@angular/common": "github:angular/common-builds#e1c7faaa52e13a28eb38793507de3fbc6a09e4e7", + "@angular/compiler": "github:angular/compiler-builds#4d9437a411f8175fdcf974eabcac8d1759a990c2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#bd14680ee99f62ea3a984a4c6adc26b03361d504", + "@angular/core": "github:angular/core-builds#f58075e4afcad992798ac7e0d8aa979900aa3202", + "@angular/forms": "github:angular/forms-builds#a87fda8e9a4ca0468b370388cb5e2133da599840", + "@angular/language-service": "github:angular/language-service-builds#bf8dad6439a8417918d70e238ae20eda6aacfd38", + "@angular/localize": "github:angular/localize-builds#95a59ca282b3fd33d7282decd1c05ab8e648f308", + "@angular/material": "github:angular/material-builds#aba87275b1fde676979748978f1fca59e1debe81", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0fd3b50352fa9b4e84f3cb36819bb048a27a9942", + "@angular/platform-browser": "github:angular/platform-browser-builds#77909e63e207be21fa3b9f77cd4c46ac8b38cca3", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2b081dd4e86b4e0ac8e9b421e8d4dfc98e7a6d02", + "@angular/platform-server": "github:angular/platform-server-builds#38ec90bc1b8dd0a4e7583051e0b8f9c39a144d3d", + "@angular/router": "github:angular/router-builds#dd441c7add512ba93d92bd20d16a8aa4ed8783de", + "@angular/service-worker": "github:angular/service-worker-builds#09c950f393e8c21e1c01507c13400a1f363b2c29" } } diff --git a/yarn.lock b/yarn.lock index dfd363ced058..26f6081e1f3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,82 +2,51 @@ # yarn lockfile v1 -"@actions/core@^1.4.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.6.0.tgz#0568e47039bfb6a9170393a73f3b7eb3b22462cb" - integrity sha512-NB1UAZomZlCV/LmJqkLhNTqtKfFXJZAUPcfl/zqG7EfsQdeUJtaWO98SGbuQ3pydJ3fHl2CvI/51OKYlCYYcaw== - dependencies: - "@actions/http-client" "^1.0.11" - -"@actions/github@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@actions/github/-/github-5.0.0.tgz#1754127976c50bd88b2e905f10d204d76d1472f8" - integrity sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ== - dependencies: - "@actions/http-client" "^1.0.11" - "@octokit/core" "^3.4.0" - "@octokit/plugin-paginate-rest" "^2.13.3" - "@octokit/plugin-rest-endpoint-methods" "^5.1.1" - -"@actions/http-client@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0" - integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg== - dependencies: - tunnel "0.0.6" - -"@ampproject/remapping@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" - integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - -"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.0.0", "@ampproject/remapping@^2.1.0": +"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": version "2.1.2" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1400.0-next.1": - version "0.1400.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.1.tgz#367b1b8aa9d016a0c65857ee8d3e3a8ceef8e1a8" - integrity sha512-cWxlhdwczu3jzD3ywzn/WOnpLo2xH6QV9t+8a9eGCzV1m574lT+3YheqSEtuB4LWPaS/axHoS+WM5QQ9XacyMQ== +"@angular-devkit/architect@0.1400.0-next.3": + version "0.1400.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.3.tgz#5ed4bc74b44c8b08b668499b0f56cfeb735815e5" + integrity sha512-80ibgReUoIwT/Cvc9fc6Kq8pcVp6BVIneYlx0SMV1g6yw0nuSLpCCn5AuUW7kzpFSpSXTOPmt6QctzgWRgGUNQ== dependencies: - "@angular-devkit/core" "14.0.0-next.1" + "@angular-devkit/core" "14.0.0-next.3" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.1": - version "14.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.1.tgz#51748f743ebc5c31b6ca855f8851e44c232a7235" - integrity sha512-Y1TRP/JFpxw2SCAfnJbLx5O6i5sl7/1EGiDrzHJlKagFR7dgk2euPuslZZ5YnJHlHKthAqWMYRd6X9FI85007A== - dependencies: - "@ampproject/remapping" "2.1.0" - "@angular-devkit/architect" "0.1400.0-next.1" - "@angular-devkit/build-webpack" "0.1400.0-next.1" - "@angular-devkit/core" "14.0.0-next.1" - "@babel/core" "7.17.0" - "@babel/generator" "7.17.0" +"@angular-devkit/build-angular@14.0.0-next.3": + version "14.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.3.tgz#3c7effb2ce3f5774c8a52d39379ea58478335edb" + integrity sha512-ksAwJDc1LEAu+Ekt3rEovSNcbIzsyGJZ1mqE8FokLy3Bz4sRrBVFxQ/Uzg8aj3dpeV9QQyNzj8D+ASWueBpdZw== + dependencies: + "@ampproject/remapping" "2.1.2" + "@angular-devkit/architect" "0.1400.0-next.3" + "@angular-devkit/build-webpack" "0.1400.0-next.3" + "@angular-devkit/core" "14.0.0-next.3" + "@babel/core" "7.17.5" + "@babel/generator" "7.17.3" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" "@babel/plugin-transform-runtime" "7.17.0" "@babel/preset-env" "7.16.11" - "@babel/runtime" "7.17.0" + "@babel/runtime" "7.17.2" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "14.0.0-next.1" + "@ngtools/webpack" "14.0.0-next.3" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" cacache "15.3.0" copy-webpack-plugin "10.2.4" - core-js "3.21.0" + core-js "3.21.1" critters "0.0.16" css-loader "6.6.0" - esbuild-wasm "0.14.20" + esbuild-wasm "0.14.23" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" @@ -85,10 +54,10 @@ karma-source-map-support "1.4.0" less "4.1.2" less-loader "10.2.0" - license-webpack-plugin "4.0.1" + license-webpack-plugin "4.0.2" loader-utils "3.2.0" mini-css-extract-plugin "2.5.3" - minimatch "3.0.5" + minimatch "5.0.0" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" @@ -96,41 +65,41 @@ postcss "8.4.6" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "7.3.1" + postcss-preset-env "7.4.1" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.49.7" - sass-loader "12.4.0" + sass "1.49.8" + sass-loader "12.6.0" semver "7.3.5" source-map-loader "3.0.1" source-map-support "0.5.21" stylus "0.56.0" stylus-loader "6.2.0" - terser "5.10.0" + terser "5.11.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.68.0" + webpack "5.69.1" webpack-dev-middleware "5.3.1" webpack-dev-server "4.7.4" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.20" + esbuild "0.14.23" -"@angular-devkit/build-webpack@0.1400.0-next.1": - version "0.1400.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.1.tgz#86a193a39bc072fdaeb8df8e74f1552a42d3ae4e" - integrity sha512-/N5ajo28T78E57MVWKpt+5u0IuS91O0R8TriI0V3TlD/Kjf6HCc8A/2JPZtXRiAP/jC93Iuees7WApVAxwk8fg== +"@angular-devkit/build-webpack@0.1400.0-next.3": + version "0.1400.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.3.tgz#0ee3729ae2f9adb6186752d0793b25a7996ec145" + integrity sha512-4h/LxjdrM1kt2rZJGlX6wdAryUlg3gpuXc7egQaohb9oEAp3wALCl1MwTAyurCFU5lP8CrGYuWJoiKUkYhUqFg== dependencies: - "@angular-devkit/architect" "0.1400.0-next.1" + "@angular-devkit/architect" "0.1400.0-next.3" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.1": - version "14.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.1.tgz#1a375e3264c8c37d7a5727bfad168a981ae62346" - integrity sha512-tOcpU1QTDXtlnuWL2mmUiPAwiQ7P44tlb1dyX7okrzbAw41+bu6l4NaX5F1sqoNBbphRq9cy5tGYnIP5e/dKvQ== +"@angular-devkit/core@14.0.0-next.3": + version "14.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.3.tgz#2e4fad0f7b09c5604c50ae88bd177f8c21d81341" + integrity sha512-WmvlBb9N3xL5dvrTBMIkIOcrjMPhCBOEuqmaX3BJRrWDfniKPSs5Op+myG04/3JuM2kMXTsibp1Fmo8V12tlcg== dependencies: ajv "8.10.0" ajv-formats "2.1.1" @@ -139,10 +108,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.2.tgz#efa47ab4c19d018f6ade8975aa03a96b6e194812" - integrity sha512-vMbI47cDO4goTmFi1qh3o/0S3dh4SeVDfJSn3wy3HgtQQ3kT+CWTjYSQBisdPHb/9uFblzHDNVJG1Ch2C+FPvw== +"@angular/animations@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.4.tgz#0f7724a3e083491eceb46f2a7eccd471bed737a1" + integrity sha512-/mvugM6oDBOKFyZbB4eCL8kabxwib3p4O6m5kP9lCjisEfH205+bqFb8rVlXsaOM5ZMRyi6oZ0J8wk3RS3xTGg== dependencies: tslib "^2.3.0" @@ -154,26 +123,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.2.tgz#60a23717737b9e88f9868143f3c60fb36edf1315" - integrity sha512-N4e74rGTXasunUrY7bHOrlfxZYPVonojkg2NhNRglD4wYM00+BSKx85hZnuF19cgUK2Rr8CLdesxnjeE1HJW6Q== +"@angular/cdk@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.4.tgz#0778a0e23479be5532004069ec942fcdffd9b5ce" + integrity sha512-IN10mcv7Xh+KKsfua4kqfYiAPH2RvrQCyoFFhequzkKCUafhmLI9wV84l6aKOvHUK3XWeN5Hs0tqR9mukManbA== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.2.tgz#9935723d2d30b96c6892302ffa689ff3bbd640c3" - integrity sha512-pfsOmOgHAQvXiVGfoAXftJ7p0LJJL/lktzHY/mgz+QiR9WnB29ZJxYAh8VKPyO1r7H+DT2mySZyb3xigKMUDZw== +"@angular/common@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.4.tgz#9c8d5aa4090cb203e63b2b09091eba5e07f52bbe" + integrity sha512-dGPe0OebisPt2IppTX1J70eD2ioUr4ZYS6Mc3UXKaCtnXBYFwL9hwfeaLdWIkoK79h0NRZHYCCF48OyZer8Qeg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.2.tgz#834b29abc38ae9b364ad534587db00144bb2df1e" - integrity sha512-AB/SaBGKF3F60KfP3XAAmS4/8ZfnSUwUTkYvShdv3r+RseTsTVO1PMOTsOH2lgBQGYVhkbStX5WLgQSaYTr9yQ== +"@angular/compiler-cli@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.4.tgz#4cf62252dd79efebcad82f557729555715c69bdf" + integrity sha512-VYR7sTrP1eodiZCibnZc/emd2WM8gRQXvByzrTGs8mQbQK3xDDWP4hyK0XrHJjoboEWcMsHQcHWXgbxqeSAJzQ== dependencies: "@babel/core" "^7.8.6" chokidar "^3.0.0" @@ -186,17 +155,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.2.tgz#8324f09822fba697233a4c3bdedf9b4e5fbbb7a6" - integrity sha512-mWvTYmkY9RXvfgCVDGuNmsOlJ5N/fQygmRD7YnCrGhhz6kKwBWogt51Sp6CFkbwRoDPg0E2RWWeH2wo+HJbURg== +"@angular/compiler@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.4.tgz#295cc337dedc95cb8f945e2960aa3bfa230400b7" + integrity sha512-+z5EWKoEIgmq/VoBJ7iEmDu/GrfiER+bL0cgpdrIe/HvZBcCs76b+lMPBuZRvHB0/ckpcTfVpyd/qutYaDyyHA== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.2.tgz#0d2581e512f6713e0817347ed0bee7d352eb88cc" - integrity sha512-jkPH+GQs59MY8bugV/yP1w4jSMdR560nFy9RIY3V5v9jvVQHEc1id0l37rQwVnq3w0WiF0ns+YPquKLKWXifWw== +"@angular/core@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.4.tgz#05b9aada82dbdfd6b8b97d6720d552bf888cb483" + integrity sha512-bHNvmiS8xW/V0ZSM3/fYlrMnTb4xhT3rr4FsBG2Vt0rY4LHw+vfH4cBQv2e2n/OoRctBJaTiwCF5nU5vCsIDcw== dependencies: tslib "^2.3.0" @@ -207,127 +176,103 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420": - version "0.0.0-5b35e20aeb147b713c31ba5c269cf2128c746d46" - uid bd277985ac350efca14fba5609cac29e6ebd4420 - resolved "https://github.com/angular/dev-infra-private-builds.git#bd277985ac350efca14fba5609cac29e6ebd4420" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": + version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" + uid "5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" + resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" dependencies: - "@actions/core" "^1.4.0" - "@actions/github" "^5.0.0" - "@angular-devkit/build-angular" "14.0.0-next.1" + "@angular-devkit/build-angular" "14.0.0-next.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" - "@bazel/bazelisk" "^1.10.1" - "@bazel/buildifier" "^4.0.1" + "@bazel/buildifier" "^5.0.1" "@bazel/concatjs" "4.6.0" "@bazel/esbuild" "4.6.0" - "@bazel/jasmine" "4.6.0" "@bazel/protractor" "4.6.0" "@bazel/runfiles" "4.6.0" "@bazel/terser" "4.6.0" "@bazel/typescript" "4.6.0" "@microsoft/api-extractor" "7.19.4" - "@octokit/auth-app" "^3.6.0" - "@octokit/core" "^3.5.1" - "@octokit/graphql" "^4.8.0" - "@octokit/plugin-paginate-rest" "^2.13.5" - "@octokit/plugin-rest-endpoint-methods" "^5.3.3" - "@octokit/request-error" "^2.1.0" - "@octokit/rest" "^18.7.0" - "@octokit/types" "^6.16.6" "@types/browser-sync" "^2.26.3" + "@types/node" "16.10.9" + "@types/node-fetch" "^2.5.10" + "@types/selenium-webdriver" "^4.0.18" "@types/send" "^0.17.1" "@types/tmp" "^0.2.1" - "@yarnpkg/lockfile" "^1.1.0" + "@types/uuid" "^8.3.1" + "@types/yargs" "^17.0.0" browser-sync "^2.27.7" chalk "^4.1.0" - clang-format "^1.4.0" - cli-progress "^3.7.0" - conventional-commits-parser "^3.2.1" - ejs "^3.1.6" - git-raw-commits "^2.0.10" - glob "7.2.0" - husky "^7.0.1" - inquirer "^8.0.0" - jasmine "^3.7.0" - minimatch "^4.0.0" - multimatch "^5.0.0" - nock "^13.0.3" + clang-format "^1.6.0" node-fetch "^2.6.1" prettier "^2.3.2" protractor "^7.0.0" selenium-webdriver "4.1.1" - semver "^7.3.5" send "^0.17.2" tmp "^0.2.1" "true-case-path" "^2.2.1" - ts-node "^10.2.1" tslib "^2.3.0" - tslint "^6.1.3" - typed-graphqlify "^3.1.1" typescript "~4.5.0" uuid "^8.3.2" - which "^2.0.2" - yaml "^1.10.0" yargs "^17.0.0" + zone.js "^0.11.4" -"@angular/forms@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.2.tgz#af82730abb2dc5edaf4ed83d3363ad3960b74bf9" - integrity sha512-sG355iWZHisbRrM2BySnJRvsB8QfMMrJvmSndK0ia2TG4raQrQFQxJmb5Q8RcCetaNUeohETPYiCncTxLkHrqQ== +"@angular/forms@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.4.tgz#329156b6f41e46c0bcba510a576d380bde0d5282" + integrity sha512-JlTwwlZwtdVZ5VBRy0s6UK5ysPYfUBdtIr5fnut5mL3dxLDUi8tk/689glqTcuFD1HXIou+pRFBBeHtFz3TRHA== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.2.tgz#0bf16ec7bec6af2589bad038a6c4db0f8df55daa" - integrity sha512-EH8Rc93H827xyiPAPZBU/al1hR8ToTYzrahM1RvsAXS6LZfT48Mc24ru3Ivnvq43651qa6EZ3owvZOYnxw5XnA== +"@angular/localize@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.4.tgz#faa553536b2913d441a3d2de583ee498c4e09c61" + integrity sha512-cUSFClDhEExVNln7OI06jtgpn9hnRN7QSxmrwL7zKXXtq8Wq9xbp6DhAX0d5L/M4/WvcvlLvF29RKAiTzS4F0w== dependencies: "@babel/core" "7.8.6" glob "7.2.0" yargs "^17.2.1" -"@angular/material@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.2.tgz#653cc2587e5f414a150598bc7781959fe187a29d" - integrity sha512-z1B8VGDYc6zYC9IwJWaBOb+kLQJezGa0hFvDLNOz6YzN1YfZKue6zXj8LOXr245M159NDRhh4e3s7d5ZfnUZRQ== +"@angular/material@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.4.tgz#6564638e8f4020377e61db86efe323f1c001696c" + integrity sha512-kVjWOWQoMiJf6tQ7PSkqtUhZpBruTz/ZcVpVoeEisNIyNPOzrIjzP8bQZFHJSfDkJ+3kyIKzbNnYxR3AcRwv3A== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.2.tgz#d23de7c2129f850f8b39fa35abf764edef5ad814" - integrity sha512-1RPtpGoY4rgdIHWIKq8WHiPkgfLFqz69aQ5gb7NKHavvlNbSfGtWvPnTYjMNC6sSIt8l6jQPibkrWWXRgzyPbw== +"@angular/platform-browser-dynamic@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.4.tgz#00fd1a09bfab0133a305954c8e6d8271d53f98b9" + integrity sha512-+4WJ0qxop/ibWS2ec4qPAP88kkUi5QbfX7S4dG896UBcGUBXsAeSvzdxbI1aTKSfsegUVBti8RLDCPx/Sz2UTg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.2.tgz#56ac31886d1ccc0c949e48877dd9c8445850524e" - integrity sha512-2q+MgS+rGjyuOlTaY888a9c5o+h66+WrsgxCjDnYm1OJANe/R6goBrRQqktMrpptEwoJ7mc46S/DEs5FYmh1fg== +"@angular/platform-browser@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.4.tgz#cc9b4f5790d8e0b3040234d3f86350c830d1b814" + integrity sha512-6xxdzfWBIKhJvXyb1MCLgyvViT8vL82Kzd2ecL6UVhHXYav+w1d1TEYNm+Teoya+bcYuVfTPRD05JCGA+k8j8A== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.2.tgz#1bb598a09a7959ce0dffafa44614df2eadf920e0" - integrity sha512-1DebzPC5h9bY2ncrnMghoqR6gcZp/MLZiS4kIDUmlAomWqCSPzi316K4GcTu4H+sD/HPXHRf2bQigX4U0K7/4g== +"@angular/platform-server@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.4.tgz#250d91e70becc2d11a102038c3151299f153111d" + integrity sha512-+wBAwros1brykrxrHJd9zHKPOkG5EeYiO1xoJGDQ4Ca6fqXSHoqHj0/Npa4USHF8/ifX1C0aYbjkJUbi1S19fQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.2.tgz#89f48feaf9d21aeb640f5b1f076641aa3db2607c" - integrity sha512-UhkW3wwaGHRShvKZzZRbfSwsTlbLgqfhLU99fxMG+oJj6ZEtBaXrFhrXcac9QIuDUQxK9EA46KpJv0GVCdqnCA== +"@angular/router@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.4.tgz#f7b0955fdeedb2aff07f20fd02ad79540394958d" + integrity sha512-2jc7GfCZzqAuN/6n0jHZhZz4CmP9BUXxPTBArW4j2QXW6uEQ9bTMRI/hAcBkRR/4ZJdBVgTwtcybDionMLi/aQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.2": - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.2.tgz#7db7f9c8e20ce9760afb5a0c25026289d2b57e4e" - integrity sha512-94JpcO8GjAd2NQvWTzu/EIL/FIQIhfQSl9c29BtxffRdxZUSqVD6JePv9nK08H9ryLEcCWpeYIbZn3him50r8A== +"@angular/service-worker@14.0.0-next.4": + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.4.tgz#4948d9ef592a2d92e5d73bf47b0ef6e989cc41b6" + integrity sha512-up51zzO/+ITirTL0u+reAfjkh8z+tqHFOSjnhjGLusW8BF2F8fqLUzXpQiaKTf8RKpqexA9t6pgWePpyyZ3Wgw== dependencies: tslib "^2.3.0" @@ -348,27 +293,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== -"@babel/core@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" - integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== - dependencies: - "@ampproject/remapping" "^2.0.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.0" - "@babel/parser" "^7.17.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - "@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" @@ -411,16 +335,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" - integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@7.17.3", "@babel/generator@^7.17.0", "@babel/generator@^7.17.3", "@babel/generator@^7.8.6": +"@babel/generator@7.17.3", "@babel/generator@^7.17.3", "@babel/generator@^7.8.6": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -627,7 +542,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.0", "@babel/helpers@^7.17.2", "@babel/helpers@^7.8.4": +"@babel/helpers@^7.17.2", "@babel/helpers@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== @@ -645,7 +560,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.17.3", "@babel/parser@^7.8.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.8.6": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== @@ -1245,13 +1160,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0" - integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.17.2", "@babel/runtime@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" @@ -1292,16 +1200,21 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@bazel/bazelisk@1.11.0", "@bazel/bazelisk@^1.10.1": +"@bazel/bazelisk@1.11.0": version "1.11.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" integrity sha512-lxiQzVqSGDG0PIDQGJdVDjp7T+50p5NnM4EnRJa76mkZp6u5ul19GJNKhPKi81TZQALZEZDxAgxVqQKkWTUOxA== -"@bazel/buildifier@4.2.5", "@bazel/buildifier@^4.0.1": +"@bazel/buildifier@4.2.5": version "4.2.5" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-4.2.5.tgz#de51339613e2ca1f39dda6ade8b0062e6575b3e1" integrity sha512-lTg3YEuCO1e7dCc/fLUWu5R7KOHmpPDSkoSeT+rPrszFfxqrWGJTSxZbtk/4AJZnuC3p704po8RUJinPtmxTmQ== +"@bazel/buildifier@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" + integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== + "@bazel/concatjs@4.6.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-4.6.0.tgz#7ed6ea8e1065057544fba351ca22bc2143d8a3a9" @@ -1316,14 +1229,6 @@ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-4.6.0.tgz#68bf9506c104ed4076a0227c4066e3f5df847ee3" integrity sha512-pu4wSBNokYKLisHlXdHxu3UX19vFL4wNQJ45cyekfiWF2szWjWR8x/ZP15a49ChmvP6aelwrURahuhhgzfluOQ== -"@bazel/jasmine@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-4.6.0.tgz#017f5efe329200cc1dd1c599294e14f3faace05e" - integrity sha512-GE6duEIyNm7PUnG3ZU8SmFgfsmR7z5BHFPX4mWlNEb2KtvtIwYo77dacoc6t20AZgV6vU6dT4G0oK8AwJdj4uw== - dependencies: - c8 "~7.5.0" - jasmine-reporters "~2.5.0" - "@bazel/jasmine@4.6.1": version "4.6.1" resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-4.6.1.tgz#f1b618d8190fe30db03e6613255704c92c90c8b7" @@ -1582,10 +1487,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@14.0.0-next.1": - version "14.0.0-next.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.1.tgz#f03e01bd9e57eeaf573a441fd9f5e7af8cbe0baa" - integrity sha512-ul7eX7ExSKwZbUO7O676INP/Mok9TGTT600b30T8Sd306DmQxH08AdvGbYqos9p2nA9oE1WcyGe1vDIFcgeCsQ== +"@ngtools/webpack@14.0.0-next.3": + version "14.0.0-next.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.3.tgz#17ee2806b5d2e8fb6e9208b1549f9979a0841d2c" + integrity sha512-UZGdXguWqdTILA5rVrEP/C1ZN84273ZwUuD6ECmMlijnWDQHYBYIO97znOciFx/rfrneZYlQt5OynbCyZO0eVg== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1669,174 +1574,6 @@ node-gyp "^8.2.0" read-package-json-fast "^2.0.1" -"@octokit/auth-app@^3.6.0": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-3.6.1.tgz#aa5b02cc211175cbc28ce6c03c73373c1206d632" - integrity sha512-6oa6CFphIYI7NxxHrdVOzhG7hkcKyGyYocg7lNDSJVauVOLtylg8hNJzoUyPAYKKK0yUeoZamE/lMs2tG+S+JA== - dependencies: - "@octokit/auth-oauth-app" "^4.3.0" - "@octokit/auth-oauth-user" "^1.2.3" - "@octokit/request" "^5.6.0" - "@octokit/request-error" "^2.1.0" - "@octokit/types" "^6.0.3" - "@types/lru-cache" "^5.1.0" - deprecation "^2.3.1" - lru-cache "^6.0.0" - universal-github-app-jwt "^1.0.1" - universal-user-agent "^6.0.0" - -"@octokit/auth-oauth-app@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-4.3.0.tgz#de02f184360ffd7cfccef861053784fc4410e7ea" - integrity sha512-cETmhmOQRHCz6cLP7StThlJROff3A/ln67Q961GuIr9zvyFXZ4lIJy9RE6Uw5O7D8IXWPU3jhDnG47FTSGQr8Q== - dependencies: - "@octokit/auth-oauth-device" "^3.1.1" - "@octokit/auth-oauth-user" "^1.2.1" - "@octokit/request" "^5.3.0" - "@octokit/types" "^6.0.3" - "@types/btoa-lite" "^1.0.0" - btoa-lite "^1.0.0" - universal-user-agent "^6.0.0" - -"@octokit/auth-oauth-device@^3.1.1": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-3.1.2.tgz#d299f51f491669f37fe7af8738f5ac921e63973c" - integrity sha512-w7Po4Ck6N2aAn2VQyKLuojruiyKROTBv4qs6IwE5rbwF7HhBXXp4A/NKmkpoFIZkiXQtM+N8QtkSck4ApYWdGg== - dependencies: - "@octokit/oauth-methods" "^1.1.0" - "@octokit/request" "^5.4.14" - "@octokit/types" "^6.10.0" - universal-user-agent "^6.0.0" - -"@octokit/auth-oauth-user@^1.2.1", "@octokit/auth-oauth-user@^1.2.3": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-1.3.0.tgz#da4e4529145181a6aa717ae858afb76ebd6e3360" - integrity sha512-3QC/TAdk7onnxfyZ24BnJRfZv8TRzQK7SEFUS9vLng4Vv6Hv6I64ujdk/CUkREec8lhrwU764SZ/d+yrjjqhaQ== - dependencies: - "@octokit/auth-oauth-device" "^3.1.1" - "@octokit/oauth-methods" "^1.1.0" - "@octokit/request" "^5.4.14" - "@octokit/types" "^6.12.2" - btoa-lite "^1.0.0" - universal-user-agent "^6.0.0" - -"@octokit/auth-token@^2.4.4": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" - integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== - dependencies: - "@octokit/types" "^6.0.3" - -"@octokit/core@^3.4.0", "@octokit/core@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" - integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== - dependencies: - "@octokit/auth-token" "^2.4.4" - "@octokit/graphql" "^4.5.8" - "@octokit/request" "^5.6.0" - "@octokit/request-error" "^2.0.5" - "@octokit/types" "^6.0.3" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^6.0.1": - version "6.0.12" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" - integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== - dependencies: - "@octokit/types" "^6.0.3" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^4.5.8", "@octokit/graphql@^4.8.0": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" - integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== - dependencies: - "@octokit/request" "^5.6.0" - "@octokit/types" "^6.0.3" - universal-user-agent "^6.0.0" - -"@octokit/oauth-authorization-url@^4.3.1": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-4.3.3.tgz#6a6ef38f243086fec882b62744f39b517528dfb9" - integrity sha512-lhP/t0i8EwTmayHG4dqLXgU+uPVys4WD/qUNvC+HfB1S1dyqULm5Yx9uKc1x79aP66U1Cb4OZeW8QU/RA9A4XA== - -"@octokit/oauth-methods@^1.1.0": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-1.2.6.tgz#b9ac65e374b2cc55ee9dd8dcdd16558550438ea7" - integrity sha512-nImHQoOtKnSNn05uk2o76om1tJWiAo4lOu2xMAHYsNr0fwopP+Dv+2MlGvaMMlFjoqVd3fF3X5ZDTKCsqgmUaQ== - dependencies: - "@octokit/oauth-authorization-url" "^4.3.1" - "@octokit/request" "^5.4.14" - "@octokit/request-error" "^2.0.5" - "@octokit/types" "^6.12.2" - btoa-lite "^1.0.0" - -"@octokit/openapi-types@^11.2.0": - version "11.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" - integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== - -"@octokit/plugin-paginate-rest@^2.13.3", "@octokit/plugin-paginate-rest@^2.13.5", "@octokit/plugin-paginate-rest@^2.16.8": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" - integrity sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw== - dependencies: - "@octokit/types" "^6.34.0" - -"@octokit/plugin-request-log@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" - integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== - -"@octokit/plugin-rest-endpoint-methods@^5.1.1", "@octokit/plugin-rest-endpoint-methods@^5.12.0", "@octokit/plugin-rest-endpoint-methods@^5.3.3": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" - integrity sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA== - dependencies: - "@octokit/types" "^6.34.0" - deprecation "^2.3.1" - -"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" - integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== - dependencies: - "@octokit/types" "^6.0.3" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^5.3.0", "@octokit/request@^5.4.14", "@octokit/request@^5.6.0": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" - integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== - dependencies: - "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.1.0" - "@octokit/types" "^6.16.1" - is-plain-object "^5.0.0" - node-fetch "^2.6.7" - universal-user-agent "^6.0.0" - -"@octokit/rest@^18.7.0": - version "18.12.0" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" - integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== - dependencies: - "@octokit/core" "^3.5.1" - "@octokit/plugin-paginate-rest" "^2.16.8" - "@octokit/plugin-request-log" "^1.0.4" - "@octokit/plugin-rest-endpoint-methods" "^5.12.0" - -"@octokit/types@^6.0.3", "@octokit/types@^6.10.0", "@octokit/types@^6.12.2", "@octokit/types@^6.16.1", "@octokit/types@^6.16.6", "@octokit/types@^6.34.0": - version "6.34.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" - integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== - dependencies: - "@octokit/openapi-types" "^11.2.0" - "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -2064,11 +1801,6 @@ dependencies: browserslist "*" -"@types/btoa-lite@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.0.tgz#e190a5a548e0b348adb0df9ac7fa5f1151c7cca4" - integrity sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg== - "@types/cacache@^15.0.0": version "15.0.1" resolved "https://registry.yarnpkg.com/@types/cacache/-/cacache-15.0.1.tgz#3d1943cc80ade160c9ae98bd5c1ebcc538f9cd57" @@ -2113,7 +1845,7 @@ dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.0", "@types/eslint-scope@^3.7.3": +"@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== @@ -2139,11 +1871,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== - "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -2211,13 +1938,6 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/jsonwebtoken@^8.3.3": - version "8.5.8" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz#01b39711eb844777b7af1d1f2b4cf22fda1c0c44" - integrity sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A== - dependencies: - "@types/node" "*" - "@types/karma@^6.3.0": version "6.3.3" resolved "https://registry.yarnpkg.com/@types/karma/-/karma-6.3.3.tgz#fc48cc53d13ec9beeea3a2a47a2036ed7647ba29" @@ -2239,11 +1959,6 @@ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== -"@types/lru-cache@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" - integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== - "@types/micromatch@^2": version "2.3.31" resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-2.3.31.tgz#d13641cb6965294ed1b1d2ad561a331d6306962b" @@ -2256,7 +1971,7 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*", "@types/minimatch@3.0.5", "@types/minimatch@^3.0.3": +"@types/minimatch@*", "@types/minimatch@3.0.5": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== @@ -2271,7 +1986,7 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node-fetch@^2.1.6": +"@types/node-fetch@^2.1.6", "@types/node-fetch@^2.5.10": version "2.6.1" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== @@ -2289,6 +2004,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== +"@types/node@16.10.9": + version "16.10.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.9.tgz#8f1cdd517972f76a3b928298f4c0747cd6fef25a" + integrity sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw== + "@types/node@^10.1.0": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" @@ -2299,11 +2019,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.70.tgz#adf70b179c3ee17620215ee4cb5c68c95f7c37ec" integrity sha512-i5y7HTbvhonZQE+GnUM2rz1Bi8QkzxdQmEv1LKOv4nWyaQk/gdeiTApuQR3PDJHX7WomAbpx2wlWSEpxXGZ/UQ== -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - "@types/npm-package-arg@^6.1.0": version "6.1.1" resolved "https://registry.yarnpkg.com/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz#9e2d8adc04d39824a3d9f36f738010a3f7da3c1a" @@ -2396,6 +2111,11 @@ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz#28ecede76f15b13553b4e86074d4cf9a0bbe49c4" integrity sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g== +"@types/selenium-webdriver@^4.0.18": + version "4.0.18" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.18.tgz#98f6e1ccd2d92f6fddaccfc7c148d2e158da0f92" + integrity sha512-gkrUo3QldGr8V9im/DjgKkX4UVd1rtflfEBuPG9hPSA1keu7A0rF8h/MQjpTMm2EPVhBCd2K8tn5nlC9Vsd5Xw== + "@types/semver@^7.0.0": version "7.3.9" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" @@ -2465,7 +2185,7 @@ dependencies: source-map "^0.6.1" -"@types/uuid@^8.0.0": +"@types/uuid@^8.0.0", "@types/uuid@^8.3.1": version "8.3.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== @@ -2498,6 +2218,18 @@ dependencies: "@types/node" "*" +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^17.0.0": + version "17.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" + integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== + dependencies: + "@types/yargs-parser" "*" + "@types/yauzl@^2.9.1": version "2.9.2" resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" @@ -2769,12 +2501,12 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@yarnpkg/lockfile@1.1.0", "@yarnpkg/lockfile@^1.1.0": +"@yarnpkg/lockfile@1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -JSONStream@1.3.5, JSONStream@^1.0.4: +JSONStream@1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== @@ -3025,11 +2757,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -3097,16 +2824,11 @@ arraybuffer.slice@~0.0.7: resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== -arrify@^1.0.0, arrify@^1.0.1: +arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - asap@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -3129,11 +2851,6 @@ async-each-series@0.1.1: resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" integrity sha1-dhfBkXQB/Yykooqtzj266Yr+tDI= -async@0.9.x: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= - async@1.5.2, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -3289,11 +3006,6 @@ bcryptjs@2.4.3: resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= -before-after-hook@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" - integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -3507,11 +3219,6 @@ bs-snippet-injector@^2.0.1: resolved "https://registry.yarnpkg.com/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz#61b5393f11f52559ed120693100343b6edb04dd5" integrity sha1-YbU5PxH1JVntEgaTEANDtu2wTdU= -btoa-lite@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" - integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -3545,11 +3252,6 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - builtin-modules@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" @@ -3631,15 +3333,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -3666,7 +3359,7 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3718,7 +3411,7 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -clang-format@^1.4.0: +clang-format@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.6.0.tgz#48fac4387712aeeae0f47b5d72f639f3fd95f4b6" integrity sha512-W3/L7fWkA8DoLkz9UGjrRnNi+J5a5TuS2HDLqk6WsicpOzb66MBu4eY/EcXhicHriVnAXWQVyk5/VeHWY6w4ow== @@ -3739,13 +3432,6 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-progress@^3.7.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.10.0.tgz#63fd9d6343c598c93542fdfa3563a8b59887d78a" - integrity sha512-kLORQrhYCAtUPLZxqsAt2YJGOvRdt34+O6jl5cQGb7iF3dM55FQZlTR+rQyIK9JUcO9bBMwZsTlND+3dmFU2Cw== - dependencies: - string-width "^4.2.0" - cli-spinners@^2.5.0: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" @@ -3851,7 +3537,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.12.1, commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: +commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -3963,18 +3649,6 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -conventional-commits-parser@^3.2.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" - integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" @@ -4032,11 +3706,6 @@ core-js-compat@^3.20.2, core-js-compat@^3.21.0: browserslist "^4.19.1" semver "7.0.0" -core-js@3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.0.tgz#f479dbfc3dffb035a0827602dd056839a774aa71" - integrity sha512-YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ== - core-js@3.21.1: version "3.21.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" @@ -4104,14 +3773,14 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-blank-pseudo@^3.0.2, css-blank-pseudo@^3.0.3: +css-blank-pseudo@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== dependencies: postcss-selector-parser "^6.0.9" -css-has-pseudo@^3.0.3, css-has-pseudo@^3.0.4: +css-has-pseudo@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== @@ -4162,7 +3831,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.1.0, cssdb@^6.3.1: +cssdb@^6.3.1: version "6.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.0.tgz#54899b9042e302be3090b8510ea71fefd08c9e6b" integrity sha512-8NMWrur/ewSNrRNZndbtOTXc2Xb2b+NCTPHj8VErFYvJUlgsMAiBGaFaxG6hjy9zbCjj2ZLwSQrMM+tormO8qA== @@ -4207,11 +3876,6 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -4285,15 +3949,7 @@ debuglog@^1.0.1: resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -4403,11 +4059,6 @@ dependency-graph@^0.11.0: resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" @@ -4590,13 +4241,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" - integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== - dependencies: - jake "^10.6.1" - electron-to-chromium@^1.4.71: version "1.4.71" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz#17056914465da0890ce00351a3b946fd4cd51ff6" @@ -4829,111 +4473,56 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz#7d1e7391030d83e2d6745ac297d630bb33130b36" - integrity sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg== - esbuild-android-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== -esbuild-darwin-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz#b2633db8e87e36197965f18b6c0cfabc3497d8d2" - integrity sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ== - esbuild-darwin-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== -esbuild-darwin-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz#180fbebda4ec9376ffd8247a3d488f95c1d9df69" - integrity sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg== - esbuild-darwin-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== -esbuild-freebsd-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz#4eb99ccf3e0b7ab039e5bbe491a44458991006c2" - integrity sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A== - esbuild-freebsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== -esbuild-freebsd-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz#5c6a02a4bc8ec8ff96c1142cf1509f1494aa78ff" - integrity sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg== - esbuild-freebsd-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== -esbuild-linux-32@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz#76af613e60a4f366d54d5d186c678bac36b18eda" - integrity sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ== - esbuild-linux-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== -esbuild-linux-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz#35d3c7d792403b913c308c92942c3f6893dc8225" - integrity sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA== - esbuild-linux-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== -esbuild-linux-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz#489e9187f95ce15e07e15a2aaadc53ec5ce1a02c" - integrity sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q== - esbuild-linux-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== -esbuild-linux-arm@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz#40c0f5aab33b8fe04e0528a6b8a073e9fb2ba6fd" - integrity sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g== - esbuild-linux-arm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== -esbuild-linux-mips64le@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz#3735a72ec09877b998f04c006af94f86575e4d7d" - integrity sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A== - esbuild-linux-mips64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== -esbuild-linux-ppc64le@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz#bf58bb6e9d2bfb67a61c09297cf73c3a7116935d" - integrity sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA== - esbuild-linux-ppc64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" @@ -4944,110 +4533,46 @@ esbuild-linux-riscv64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== -esbuild-linux-s390x@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz#202699f42e5a7a77ebbf526953f6bbfb2cc68016" - integrity sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA== - esbuild-linux-s390x@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== -esbuild-netbsd-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz#fb133b9726b8e672a7df57629fdc71606952d37c" - integrity sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg== - esbuild-netbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== -esbuild-openbsd-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz#50e879a09bb465cda8c9a2f03ba5c2096848c7a1" - integrity sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg== - esbuild-openbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== -esbuild-sunos-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz#cb1c55c86513226296935a9bc97fe9457b2a2de4" - integrity sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ== - esbuild-sunos-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== -esbuild-wasm@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz#833a524c1091bb39dd6a8c2030275462e9c1ffd0" - integrity sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA== - esbuild-wasm@0.14.23, esbuild-wasm@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-windows-32@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz#5e4db2758408e148e225f06c7724853386916c70" - integrity sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w== - esbuild-windows-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== -esbuild-windows-64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz#0731564e8396091b2ac487fb266c86a2bdd45b37" - integrity sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA== - esbuild-windows-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== -esbuild-windows-arm64@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz#615978735d3a8b5d0a8e4c35d5a18c0733920d4d" - integrity sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg== - esbuild-windows-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== -esbuild@0.14.20: - version "0.14.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.20.tgz#e83fcb838463f220e864141752bb0f91bfc9c33a" - integrity sha512-7aRJRnTjHZ6rFEre52tsAYZxatVELSA/QvYGUBf1iOsYKCnSJICE5seugQFFJgV1Gyl0/mngxQPhxBIqgYG2BA== - optionalDependencies: - esbuild-android-arm64 "0.14.20" - esbuild-darwin-64 "0.14.20" - esbuild-darwin-arm64 "0.14.20" - esbuild-freebsd-64 "0.14.20" - esbuild-freebsd-arm64 "0.14.20" - esbuild-linux-32 "0.14.20" - esbuild-linux-64 "0.14.20" - esbuild-linux-arm "0.14.20" - esbuild-linux-arm64 "0.14.20" - esbuild-linux-mips64le "0.14.20" - esbuild-linux-ppc64le "0.14.20" - esbuild-linux-s390x "0.14.20" - esbuild-netbsd-64 "0.14.20" - esbuild-openbsd-64 "0.14.20" - esbuild-sunos-64 "0.14.20" - esbuild-windows-32 "0.14.20" - esbuild-windows-64 "0.14.20" - esbuild-windows-arm64 "0.14.20" - esbuild@0.14.23, esbuild@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" @@ -5537,13 +5062,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -filelist@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" - integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== - dependencies: - minimatch "^3.0.4" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -5826,17 +5344,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^2.0.10: - version "2.0.11" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" - integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -5967,11 +5474,6 @@ har-validator@~5.1.0, har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -6210,7 +5712,7 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@7.0.4, husky@^7.0.1: +husky@7.0.4: version "7.0.4" resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== @@ -6344,7 +5846,7 @@ injection-js@^2.4.0: dependencies: tslib "^2.0.0" -inquirer@8.2.0, inquirer@^8.0.0: +inquirer@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a" integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== @@ -6542,11 +6044,6 @@ is-path-inside@^3.0.2: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" @@ -6559,11 +6056,6 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - is-promise@^2.1.0, is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -6606,13 +6098,6 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= - dependencies: - text-extensions "^1.0.0" - is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -6742,16 +6227,6 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jake@^10.6.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" - integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== - dependencies: - async "0.9.x" - chalk "^2.4.2" - filelist "^1.0.1" - minimatch "^3.0.4" - jasmine-core@^3.6.0, jasmine-core@~3.99.0: version "3.99.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.99.0.tgz#99a3da0d38ba2de82614d9198b7b1bc1c32a5960" @@ -6791,7 +6266,7 @@ jasmine@2.8.0: glob "^7.0.6" jasmine-core "~2.8.0" -jasmine@^3.3.1, jasmine@^3.7.0: +jasmine@^3.3.1: version "3.99.0" resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.99.0.tgz#7cc7aeda7ade2d57694fc818a374f778cbb4ea62" integrity sha512-YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw== @@ -6925,7 +6400,7 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -6977,7 +6452,7 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= -jsonwebtoken@8.5.1, jsonwebtoken@^8.5.1: +jsonwebtoken@8.5.1: version "8.5.1" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== @@ -7105,7 +6580,7 @@ keygrip@~1.1.0: dependencies: tsscmp "1.0.6" -kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -7176,13 +6651,6 @@ license-checker@^25.0.0: spdx-satisfies "^4.0.0" treeify "^1.1.0" -license-webpack-plugin@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.1.tgz#957930fa595f5b65aa0b21bfd2c19644486f3d9f" - integrity sha512-SQum9mg3BgnY5BK+2KYl4W7pk9b26Q8tW2lTsO6tidD0/Ds9ksdXvp3ip2s9LqDjj5gtBMyWRfOPZptWj4PfCg== - dependencies: - webpack-sources "^3.0.0" - license-webpack-plugin@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" @@ -7334,17 +6802,12 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7493,16 +6956,6 @@ make-fetch-happen@^9.1.0: socks-proxy-agent "^6.0.0" ssri "^8.0.0" -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - marked@4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.10.tgz#423e295385cc0c3a70fa495e0df68b007b879423" @@ -7539,23 +6992,6 @@ memoizee@0.4.15: next-tick "^1.1.0" timers-ext "^0.1.7" -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -7633,11 +7069,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - mini-css-extract-plugin@2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz#c5c79f9b22ce9b4f164e9492267358dbe35376d9" @@ -7664,13 +7095,6 @@ minimatch@3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" - integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== - dependencies: - brace-expansion "^1.1.7" - minimatch@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.0.tgz#281d8402aaaeed18a9e8406ad99c46a19206c6ef" @@ -7678,13 +7102,6 @@ minimatch@5.0.0: dependencies: brace-expansion "^2.0.1" -minimatch@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" - integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== - dependencies: - brace-expansion "^1.1.7" - minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -7692,15 +7109,6 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - minimist@1.2.5, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -7783,7 +7191,7 @@ mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7818,17 +7226,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -multimatch@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" - integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -7927,22 +7324,12 @@ nice-napi@^1.0.2: node-addon-api "^3.0.0" node-gyp-build "^4.2.2" -nock@^13.0.3: - version "13.2.4" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.4.tgz#43a309d93143ee5cdcca91358614e7bde56d20e1" - integrity sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - node-addon-api@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1, node-fetch@^2.6.7: +node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== @@ -8003,7 +7390,7 @@ nopt@^5.0.0: dependencies: abbrev "1" -normalize-package-data@^2.0.0, normalize-package-data@^2.5.0: +normalize-package-data@^2.0.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8651,13 +8038,6 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" -postcss-clamp@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-3.0.0.tgz#09cb1ad64243b46c9159ded5e8d3e8349150a09e" - integrity sha512-QENQMIF/Grw0qX0RzSPJjw+mAiGPIwG2AnsQDIoR/WJ5Q19zLB0NrZX8cH7CzzdDWEerTPGCdep7ItFaAdtItg== - dependencies: - postcss-value-parser "^4.1.0" - postcss-clamp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.0.0.tgz#766d3dbaa2dc56e8bea1b690291b632c0c5bf728" @@ -8665,14 +8045,14 @@ postcss-clamp@^4.0.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^4.2.1, postcss-color-functional-notation@^4.2.2: +postcss-color-functional-notation@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" integrity sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ== dependencies: postcss-value-parser "^4.2.0" -postcss-color-hex-alpha@^8.0.2, postcss-color-hex-alpha@^8.0.3: +postcss-color-hex-alpha@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz#61a0fd151d28b128aa6a8a21a2dad24eebb34d52" integrity sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw== @@ -8705,14 +8085,14 @@ postcss-custom-selectors@^6.0.0: dependencies: postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^6.0.3, postcss-dir-pseudo-class@^6.0.4: +postcss-dir-pseudo-class@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz#9afe49ea631f0cb36fa0076e7c2feb4e7e3f049c" integrity sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw== dependencies: postcss-selector-parser "^6.0.9" -postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.1.0: +postcss-double-position-gradients@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.0.tgz#a8614fb3a2a4b8877bffb8961b770e00322bbad1" integrity sha512-oz73I08yMN3oxjj0s8mED1rG+uOYoK3H8N9RjQofyg52KBRNmePJKg3fVwTpL2U5ZFbCzXoZBsUD/CvZdlqE4Q== @@ -8720,21 +8100,21 @@ postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.1 "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-env-function@^4.0.4, postcss-env-function@^4.0.5: +postcss-env-function@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" integrity sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA== dependencies: postcss-value-parser "^4.2.0" -postcss-focus-visible@^6.0.3, postcss-focus-visible@^6.0.4: +postcss-focus-visible@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== dependencies: postcss-selector-parser "^6.0.9" -postcss-focus-within@^5.0.3, postcss-focus-within@^5.0.4: +postcss-focus-within@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== @@ -8746,12 +8126,12 @@ postcss-font-variant@^5.0.0: resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^3.0.2, postcss-gap-properties@^3.0.3: +postcss-gap-properties@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz#6401bb2f67d9cf255d677042928a70a915e6ba60" integrity sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ== -postcss-image-set-function@^4.0.5, postcss-image-set-function@^4.0.6: +postcss-image-set-function@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz#bcff2794efae778c09441498f40e0c77374870a9" integrity sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A== @@ -8772,7 +8152,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.0.3, postcss-lab-function@^4.1.1: +postcss-lab-function@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.1.tgz#8b37dfcb9ca4ff82bbe7192c7ba3cc2bccbc0ef1" integrity sha512-j3Z0WQCimY2tMle++YcmygnnVbt6XdnrCV1FO2IpzaCSmtTF2oO8h4ZYUA1Q+QHYroIiaWPvNHt9uBR4riCksQ== @@ -8789,7 +8169,7 @@ postcss-loader@6.2.1: klona "^2.0.5" semver "^7.3.5" -postcss-logical@^5.0.3, postcss-logical@^5.0.4: +postcss-logical@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== @@ -8839,7 +8219,7 @@ postcss-opacity-percentage@^1.1.2: resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== -postcss-overflow-shorthand@^3.0.2, postcss-overflow-shorthand@^3.0.3: +postcss-overflow-shorthand@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz#ebcfc0483a15bbf1b27fdd9b3c10125372f4cbc2" integrity sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg== @@ -8849,57 +8229,13 @@ postcss-page-break@^3.0.4: resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^7.0.3, postcss-place@^7.0.4: +postcss-place@^7.0.4: version "7.0.4" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.4.tgz#eb026650b7f769ae57ca4f938c1addd6be2f62c9" integrity sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg== dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.3.1.tgz#f17c609cfab3432620b92888464f92b4dba5eca0" - integrity sha512-x7fNsJxfkY60P4FUNwhJUOfXBFfnObd2EcUYY97sXZ0XRLgmAE65es9EFIYHq1rAk7X3LMfbG+L9wYgkrNsq5Q== - dependencies: - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.0" - autoprefixer "^10.4.2" - browserslist "^4.19.1" - css-blank-pseudo "^3.0.2" - css-has-pseudo "^3.0.3" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.1.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^3.0.0" - postcss-color-functional-notation "^4.2.1" - postcss-color-hex-alpha "^8.0.2" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.4" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.3" - postcss-double-position-gradients "^3.0.4" - postcss-env-function "^4.0.4" - postcss-focus-visible "^6.0.3" - postcss-focus-within "^5.0.3" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.2" - postcss-image-set-function "^4.0.5" - postcss-initial "^4.0.1" - postcss-lab-function "^4.0.3" - postcss-logical "^5.0.3" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.2" - postcss-page-break "^3.0.4" - postcss-place "^7.0.3" - postcss-pseudo-class-any-link "^7.1.0" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-preset-env@7.4.1, postcss-preset-env@^7.2.3: version "7.4.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.1.tgz#ca6131c6e0d0e0bcc429dbef3e8f8d03250041ea" @@ -8948,7 +8284,7 @@ postcss-preset-env@7.4.1, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-pseudo-class-any-link@^7.1.0, postcss-pseudo-class-any-link@^7.1.1: +postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" integrity sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg== @@ -9077,11 +8413,6 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - protobufjs@6.8.8: version "6.8.8" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" @@ -9226,11 +8557,6 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - quicktype-core@6.0.69: version "6.0.69" resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-6.0.69.tgz#955347b64e8a7b6a37af49fe12f5772abc153b8e" @@ -9339,25 +8665,6 @@ read-package-json@^4.1.1: normalize-package-data "^3.0.0" npm-normalize-package-bin "^1.0.0" -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - readable-stream@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.0.tgz#640f5dcda88c91a8dc60787145629170813a1ed2" @@ -9371,15 +8678,6 @@ readable-stream@2.3.0: string_decoder "~1.0.0" util-deprecate "~1.0.1" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@~2.3.3, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -9393,6 +8691,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdir-scoped-modules@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" @@ -9417,14 +8724,6 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - reflect-metadata@^0.1.13, reflect-metadata@^0.1.2: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" @@ -9761,14 +9060,6 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@12.4.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.4.0.tgz#260b0d51a8a373bb8e88efc11f6ba5583fea0bcf" - integrity sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - sass-loader@12.6.0: version "12.6.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" @@ -9777,15 +9068,6 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.7: - version "1.49.7" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.7.tgz#22a86a50552b9b11f71404dfad1b9ff44c6b0c49" - integrity sha512-13dml55EMIR2rS4d/RDHHP0sXMY3+30e1TKsyXaSz3iLWVoDWEoboY8WzJd5JMnxrRHffKO3wq2mpJ0jxRJiEQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.49.8, sass@^1.49.0: version "1.49.8" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.8.tgz#9bbbc5d43d14862db07f1c04b786c9da9b641828" @@ -10333,13 +9615,6 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -10525,13 +9800,6 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -10661,15 +9929,6 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.10.0, terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - terser@5.11.0: version "5.11.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.11.0.tgz#2da5506c02e12cd8799947f30ce9c5b760be000f" @@ -10680,6 +9939,15 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" +terser@^5.7.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10689,11 +9957,6 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -10715,13 +9978,6 @@ through2@^2.0.0, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -10840,17 +10096,12 @@ treeify@^1.1.0: resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - "true-case-path@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== -ts-node@^10.0.0, ts-node@^10.2.1: +ts-node@^10.0.0: version "10.5.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" integrity sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw== @@ -10884,30 +10135,11 @@ tslib@2.3.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslint@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" @@ -10920,13 +10152,6 @@ tsutils@3.21.0, tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -10934,11 +10159,6 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" - integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -10963,11 +10183,6 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -10978,16 +10193,6 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -11011,11 +10216,6 @@ typed-assert@^1.0.8: resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== -typed-graphqlify@^3.1.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/typed-graphqlify/-/typed-graphqlify-3.1.4.tgz#f5e494cd78bb87a4284df8c34b8f29617596aaec" - integrity sha512-/LnB/b5TXXL9zY5I5hE6/SwAaxZZsvQPxjZGIHtMa/Y0pcnw52uwVA5UnLNesgWtgFkfPYw2NAx31vGbnaqh+A== - typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -11104,19 +10304,6 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -universal-github-app-jwt@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.0.tgz#0abaa876101cdf1d3e4c546be2768841c0c1b514" - integrity sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ== - dependencies: - "@types/jsonwebtoken" "^8.3.3" - jsonwebtoken "^8.5.1" - -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -11453,36 +10640,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.68.0: - version "5.68.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.68.0.tgz#a653a58ed44280062e47257f260117e4be90d560" - integrity sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.69.1: version "5.69.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.1.tgz#8cfd92c192c6a52c99ab00529b5a0d33aa848dc5" @@ -11729,7 +10886,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.0.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.0.0, yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -11829,7 +10986,7 @@ z-schema@~5.0.2: optionalDependencies: commander "^2.7.1" -zone.js@^0.11.3: +zone.js@^0.11.3, zone.js@^0.11.4: version "0.11.4" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.4.tgz#0f70dcf6aba80f698af5735cbb257969396e8025" integrity sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw== From f8765cc6cd871dff1b2d7d667bdcae981d542e0a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Feb 2022 19:09:16 +0100 Subject: [PATCH 0132/1388] refactor: remove ng-dev deep imports These symbols are now exported from the primary entry-point. --- .ng-dev/commit-message.ts | 2 +- .ng-dev/format.ts | 2 +- .ng-dev/github.ts | 2 +- .ng-dev/pull-request.ts | 2 +- .ng-dev/release.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.ng-dev/commit-message.ts b/.ng-dev/commit-message.ts index 03f02ef856ea..951888ff958a 100644 --- a/.ng-dev/commit-message.ts +++ b/.ng-dev/commit-message.ts @@ -3,7 +3,7 @@ import { COMMIT_TYPES, CommitMessageConfig, ScopeRequirement, -} from '@angular/dev-infra-private/ng-dev/commit-message/config'; +} from '@angular/dev-infra-private/ng-dev'; import { packages } from '../lib/packages'; /** diff --git a/.ng-dev/format.ts b/.ng-dev/format.ts index b7cf1afb190a..8e06c3bb9966 100644 --- a/.ng-dev/format.ts +++ b/.ng-dev/format.ts @@ -1,4 +1,4 @@ -import { FormatConfig } from '@angular/dev-infra-private/ng-dev/format/config'; +import { FormatConfig } from '@angular/dev-infra-private/ng-dev'; /** * Configuration for the `ng-dev format` command. diff --git a/.ng-dev/github.ts b/.ng-dev/github.ts index dd8254813ab2..5dac56fb3170 100644 --- a/.ng-dev/github.ts +++ b/.ng-dev/github.ts @@ -1,4 +1,4 @@ -import { GithubConfig } from '@angular/dev-infra-private/ng-dev/utils/config'; +import { GithubConfig } from '@angular/dev-infra-private/ng-dev'; /** * Github configuration for the ng-dev command. This repository is diff --git a/.ng-dev/pull-request.ts b/.ng-dev/pull-request.ts index ec2fc6d80ce0..a51bc5c91181 100644 --- a/.ng-dev/pull-request.ts +++ b/.ng-dev/pull-request.ts @@ -1,4 +1,4 @@ -import { PullRequestConfig } from '@angular/dev-infra-private/ng-dev/pr/config'; +import { PullRequestConfig } from '@angular/dev-infra-private/ng-dev'; /** * Configuration for the merge tool in `ng-dev`. This sets up the labels which diff --git a/.ng-dev/release.ts b/.ng-dev/release.ts index 874d4b1679f2..848749b8ed31 100644 --- a/.ng-dev/release.ts +++ b/.ng-dev/release.ts @@ -1,6 +1,6 @@ import '../lib/bootstrap-local'; -import { ReleaseConfig } from '@angular/dev-infra-private/ng-dev/release/config'; +import { ReleaseConfig } from '@angular/dev-infra-private/ng-dev'; import { releasePackages } from '../lib/packages'; import buildPackages from '../scripts/build'; From 4df12dc121afc1dfd8fbb8b74cc39ac03d192bc6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 1 Mar 2022 17:03:30 +0000 Subject: [PATCH 0133/1388] build: update all non-major dependencies --- package.json | 20 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 215 ++++++++++-------- 4 files changed, 140 insertions(+), 105 deletions(-) diff --git a/package.json b/package.json index 0117b869a880..dd91005ff3a7 100644 --- a/package.json +++ b/package.json @@ -116,8 +116,8 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@typescript-eslint/eslint-plugin": "5.12.1", - "@typescript-eslint/parser": "5.12.1", + "@typescript-eslint/eslint-plugin": "5.13.0", + "@typescript-eslint/parser": "5.13.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", "ajv-formats": "2.1.1", @@ -135,7 +135,7 @@ "debug": "^4.1.1", "esbuild": "0.14.23", "esbuild-wasm": "0.14.23", - "eslint": "8.9.0", + "eslint": "8.10.0", "eslint-config-prettier": "8.4.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", @@ -166,31 +166,31 @@ "loader-utils": "3.2.0", "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", - "minimatch": "5.0.0", + "minimatch": "5.0.1", "minimist": "^1.2.0", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.2", + "pacote": "13.0.3", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.6", + "postcss": "8.4.7", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.4.0", + "puppeteer": "13.4.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.8", + "sass": "1.49.9", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", @@ -204,13 +204,13 @@ "symbol-observable": "4.0.0", "tar": "^6.1.6", "temp": "^0.9.0", - "terser": "5.11.0", + "terser": "5.12.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.5.5", - "verdaccio": "5.6.0", + "verdaccio": "5.6.2", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.69.1", "webpack-dev-middleware": "5.3.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index e401b6b003ce..9763f2e18a62 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.2", + "pacote": "13.0.3", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f2658f83a957..74e59b8c9235 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -41,26 +41,26 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.5.3", - "minimatch": "5.0.0", + "minimatch": "5.0.1", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.6", + "postcss": "8.4.7", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.1", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.8", + "sass": "1.49.9", "sass-loader": "12.6.0", "semver": "7.3.5", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "stylus": "0.56.0", "stylus-loader": "6.2.0", - "terser": "5.11.0", + "terser": "5.12.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", diff --git a/yarn.lock b/yarn.lock index 26f6081e1f3c..0704e19c132d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1369,10 +1369,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== -"@eslint/eslintrc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz#583d12dbec5d4f22f333f9669f7d0b7c7815b4d3" - integrity sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg== +"@eslint/eslintrc@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" + integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1552,7 +1552,7 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@npmcli/node-gyp@^1.0.2": +"@npmcli/node-gyp@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== @@ -1564,15 +1564,15 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-2.0.0.tgz#9949c0cab415b17aaac279646db4f027d6f1e743" - integrity sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig== +"@npmcli/run-script@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.0.tgz#c37752414fe06cffbc1279b340da8098d3f9f31a" + integrity sha512-jIdmUepw+kVP2WEE/+XrBIvrSF5miDutdGBrQ8May6uHVAvpAb0m3NRHcJ0lKWbQ1BxsRFsmTrjkdY99qTTVIw== dependencies: - "@npmcli/node-gyp" "^1.0.2" + "@npmcli/node-gyp" "^1.0.3" "@npmcli/promise-spawn" "^1.3.2" - node-gyp "^8.2.0" - read-package-json-fast "^2.0.1" + node-gyp "^8.4.1" + read-package-json-fast "^2.0.3" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" @@ -2237,14 +2237,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz#b2cd3e288f250ce8332d5035a2ff65aba3374ac4" - integrity sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw== +"@typescript-eslint/eslint-plugin@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz#2809052b85911ced9c54a60dac10e515e9114497" + integrity sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ== dependencies: - "@typescript-eslint/scope-manager" "5.12.1" - "@typescript-eslint/type-utils" "5.12.1" - "@typescript-eslint/utils" "5.12.1" + "@typescript-eslint/scope-manager" "5.13.0" + "@typescript-eslint/type-utils" "5.13.0" + "@typescript-eslint/utils" "5.13.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2252,69 +2252,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" - integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw== +"@typescript-eslint/parser@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.13.0.tgz#0394ed8f2f849273c0bf4b811994d177112ced5c" + integrity sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg== dependencies: - "@typescript-eslint/scope-manager" "5.12.1" - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/typescript-estree" "5.12.1" + "@typescript-eslint/scope-manager" "5.13.0" + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/typescript-estree" "5.13.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz#58734fd45d2d1dec49641aacc075fba5f0968817" - integrity sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ== +"@typescript-eslint/scope-manager@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz#cf6aff61ca497cb19f0397eea8444a58f46156b6" + integrity sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA== dependencies: - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/visitor-keys" "5.12.1" + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/visitor-keys" "5.13.0" -"@typescript-eslint/type-utils@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz#8d58c6a0bb176b5e9a91581cda1a7f91a114d3f0" - integrity sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg== +"@typescript-eslint/type-utils@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz#b0efd45c85b7bab1125c97b752cab3a86c7b615d" + integrity sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg== dependencies: - "@typescript-eslint/utils" "5.12.1" + "@typescript-eslint/utils" "5.13.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" - integrity sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA== +"@typescript-eslint/types@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" + integrity sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg== -"@typescript-eslint/typescript-estree@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz#6a9425b9c305bcbc38e2d1d9a24c08e15e02b722" - integrity sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw== +"@typescript-eslint/typescript-estree@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" + integrity sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA== dependencies: - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/visitor-keys" "5.12.1" + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/visitor-keys" "5.13.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.1.tgz#447c24a05d9c33f9c6c64cb48f251f2371eef920" - integrity sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ== +"@typescript-eslint/utils@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.13.0.tgz#2328feca700eb02837298339a2e49c46b41bd0af" + integrity sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.12.1" - "@typescript-eslint/types" "5.12.1" - "@typescript-eslint/typescript-estree" "5.12.1" + "@typescript-eslint/scope-manager" "5.13.0" + "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/typescript-estree" "5.13.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.12.1": - version "5.12.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" - integrity sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A== +"@typescript-eslint/visitor-keys@5.13.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz#f45ff55bcce16403b221ac9240fbeeae4764f0fd" + integrity sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g== dependencies: - "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/types" "5.13.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -2360,10 +2360,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.16": - version "6.0.0-6-next.16" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.16.tgz#f88f555b502636c37ec1722d832c6fd826b63892" - integrity sha512-FbYl3273qaA0/fRwrvE876/HuvU81zjsnR70rCEojBelDuddl3xbY1LVdvthCjUGuIj2SUNpTzGhyROdqHJUCg== +"@verdaccio/ui-theme@6.0.0-6-next.18": + version "6.0.0-6-next.18" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.18.tgz#45e5854a717a58a438fc2358bb5e932e1e659fc9" + integrity sha512-ofh4yke0950ry+ilWCdFIjHPadKK9xvjC/nzKEaKEFAxJxTt90guZNp++l1rz/LAQ7BMAX905G/2N//6M85+tw== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -4720,12 +4720,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb" - integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q== +eslint@8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" + integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== dependencies: - "@eslint/eslintrc" "^1.1.0" + "@eslint/eslintrc" "^1.2.0" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -7102,6 +7102,13 @@ minimatch@5.0.0: dependencies: brace-expansion "^2.0.1" +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -7240,7 +7247,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.2.0: +nanoid@^3.2.0, nanoid@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== @@ -7354,7 +7361,7 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== -node-gyp@^8.2.0: +node-gyp@^8.4.1: version "8.4.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== @@ -7738,15 +7745,15 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.0.2: - version "13.0.2" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.2.tgz#3389b8338cdbec3a1fa433848cf00860f7c08ea6" - integrity sha512-3LyfvDk2BSJNFQZIcDqnLNa7IsYb6KwX3H9uZPwaHJFIX6Gv5N9QHU+s7mEs/RbN4/ta6KUT39LAi2l6EkBi5A== +pacote@13.0.3: + version "13.0.3" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.3.tgz#0b9654c1aa5eb2b9af28aa259f15e556e7187422" + integrity sha512-8thQ06YoO01O1k5rvSpHS/XPJZucw2DPiiT1jI+ys8QaTN6ifAyxfyoABHBa8nIt/4wPdzly4GEPqshctHFoYA== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^2.0.0" + "@npmcli/run-script" "^3.0.0" cacache "^15.3.0" chownr "^2.0.0" fs-minipass "^2.1.0" @@ -7963,10 +7970,10 @@ pino-std-serializers@^3.1.0: resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== -pino@6.13.4: - version "6.13.4" - resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.4.tgz#e7bd5e8292019609c841c37a3f1d73ee10bb80f7" - integrity sha512-g4tHSISmQJYUEKEMVdaZ+ZokWwFnTwZL5JPn+lnBVZ1BuBbrSchrXwQINknkM5+Q4fF6U9NjiI8PWwwMDHt9zA== +pino@6.14.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-6.14.0.tgz#b745ea87a99a6c4c9b374e4f29ca7910d4c69f78" + integrity sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg== dependencies: fast-redact "^3.0.0" fast-safe-stringify "^2.0.8" @@ -8343,6 +8350,15 @@ postcss@8.4.6, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.7: + version "8.4.7" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" + integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8494,10 +8510,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.4.0: - version "13.4.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.4.0.tgz#d2366542fb0fc7af0cc68719c048a68363a0a940" - integrity sha512-WrHtFF2WpYC6KWFP4OCPOHWCjW4f8tFk+FkYZeNQ8/lHn+asjXBEXiIWauune8CY2xIHBVExGas+WI6Ay8/MgQ== +puppeteer@13.4.1: + version "13.4.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.4.1.tgz#495b91d2fae3e9761a31bab1820ad179caac0fd9" + integrity sha512-2arcYPEGvLV9HvOw01Zv1b1IAXrMWHqsFJn0Hn00qe9HtCmaF0b8FlrbdLjCIbkaFc6icH5+GqcG8R5KxlJSRg== dependencies: cross-fetch "3.1.5" debug "4.3.3" @@ -8637,7 +8653,7 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" -read-package-json-fast@^2.0.1, read-package-json-fast@^2.0.3: +read-package-json-fast@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== @@ -9077,6 +9093,15 @@ sass@1.49.8, sass@^1.49.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.49.9: + version "1.49.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" + integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" @@ -9939,6 +9964,16 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" +terser@5.12.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" + integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + terser@^5.7.2: version "5.10.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" @@ -10433,16 +10468,16 @@ verdaccio-htpasswd@10.2.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.6.0.tgz#798f81b4e26645120cd53d4130fc621ab8a576db" - integrity sha512-dSy87kjtu3YxAxSm7dcT5sQuHKQ+Y4qSwMX6fO978kYHOPHKH1RtuzpAj2sBaPXDg09HekrUPlhlEjT8WWRL6Q== +verdaccio@5.6.2: + version "5.6.2" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.6.2.tgz#6f3d4f854fc82bdce4cb420a387ecc1feaf991a1" + integrity sha512-r0BI31Dt5RnXxpCdWPTGXSthIg4XRB6onYRXziEi1stHd1TmwzAV35Jiv7FXu25Rwvh8dHGSozTxKi0t3kbjGg== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.0" "@verdaccio/readme" "10.3.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.16" + "@verdaccio/ui-theme" "6.0.0-6-next.18" JSONStream "1.3.5" async "3.2.3" body-parser "1.19.1" @@ -10471,7 +10506,7 @@ verdaccio@5.6.0: minimatch "3.0.4" mkdirp "1.0.4" mv "2.1.1" - pino "6.13.4" + pino "6.14.0" pkginfo "0.4.1" prettier-bytes "^1.0.4" pretty-ms "^7.0.1" From 21034b69ae92f0584beabcfd1a58fc84bfb7fb99 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 1 Mar 2022 18:41:31 +0000 Subject: [PATCH 0134/1388] build: lock file maintenance --- yarn.lock | 199 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 105 insertions(+), 94 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0704e19c132d..19357fbf02a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -170,9 +170,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.3.tgz#bc1127fe2d53f0f01f58a0c26728efaa5a953145" - integrity sha512-81QtWR+UQgCo5xJwExzKaRUd9aXJoOGbWfh3MZSUkiv+PTMXwmfU3lZxpz9S/y2uwvaVqZdW5MN/RzpKv6tHxA== + version "13.2.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.4.tgz#c179a0b0e82881ee9ec98a3ba8c54e686bf6405b" + integrity sha512-cCgf8Crx86hvZQX8lc7Yy5fedRI4trAXYsysrJ7ISRohfFk31Z/W5BEpKO8CkX51Ja5IfJPyoI2DVVTvrwzsEQ== dependencies: tslib "^2.3.0" @@ -369,10 +369,10 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" - integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" + integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -456,9 +456,9 @@ "@babel/types" "^7.16.7" "@babel/helper-module-transforms@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" - integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" + integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-module-imports" "^7.16.7" @@ -466,8 +466,8 @@ "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" @@ -599,11 +599,11 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" - integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" + integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.17.6" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -1293,6 +1293,11 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" @@ -1390,9 +1395,9 @@ integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.9.2": - version "0.9.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" - integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== + version "0.9.5" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" + integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1995,9 +2000,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.18.tgz#3b4fed5cfb58010e3a2be4b6e74615e4847f1074" - integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA== + version "17.0.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" + integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== "@types/node@12.20.24": version "12.20.24" @@ -2212,9 +2217,9 @@ source-map "^0.6.0" "@types/ws@^8.2.2": - version "8.2.3" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.3.tgz#0bca6b03ba2f41e0fab782d4a573fe284aa907ae" - integrity sha512-ahRJZquUYCdOZf/rCsWg88S0/+cb9wazUBHv6HZEe3XdYaBe2zr/slM8J28X07Hn88Pnm4ezo7N8/ofnOgrPVQ== + version "8.5.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.1.tgz#79136958b48bc73d5165f286707ceb9f04471599" + integrity sha512-UxlLOfkuQnT2YSBCNq0x86SGOUxas6gAySFeDe2DcnEnA8655UIPoCDorWZCugcvKIL8IUI4oueUfJ1hhZSE2A== dependencies: "@types/node" "*" @@ -2608,9 +2613,9 @@ agent-base@^4.3.0: es6-promisify "^5.0.0" agentkeepalive@^4.1.3, agentkeepalive@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.0.tgz#616ce94ccb41d1a39a45d203d8076fe98713062d" - integrity sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw== + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== dependencies: debug "^4.1.0" depd "^1.1.2" @@ -3510,7 +3515,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.2: +color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== @@ -3632,7 +3637,7 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -console-control-strings@^1.0.0, console-control-strings@^1.1.0: +console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= @@ -4242,9 +4247,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.71: - version "1.4.71" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz#17056914465da0890ce00351a3b946fd4cd51ff6" - integrity sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw== + version "1.4.75" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz#d1ad9bb46f2f1bf432118c2be21d27ffeae82fdd" + integrity sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q== emoji-regex@^8.0.0: version "8.0.0" @@ -4303,7 +4308,7 @@ engine.io-parser@~2.2.0: blob "0.0.5" has-binary2 "~1.0.2" -engine.io-parser@~5.0.0: +engine.io-parser@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg== @@ -4323,9 +4328,9 @@ engine.io@~3.5.0: ws "~7.4.2" engine.io@~6.1.0: - version "6.1.2" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.2.tgz#e7b9d546d90c62246ffcba4d88594be980d3855a" - integrity sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ== + version "6.1.3" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.3.tgz#f156293d011d99a3df5691ac29d63737c3302e6f" + integrity sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -4335,13 +4340,13 @@ engine.io@~6.1.0: cookie "~0.4.1" cors "~2.8.5" debug "~4.3.1" - engine.io-parser "~5.0.0" + engine.io-parser "~5.0.3" ws "~8.2.3" enhanced-resolve@^5.8.3: - version "5.9.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz#49ac24953ac8452ed8fed2ef1340fc8e043667ee" - integrity sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA== + version "5.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.1.tgz#e898cea44d9199fd92137496cff5691b910fb43e" + integrity sha512-jdyZMwCQ5Oj4c5+BTnkxPgDZO/BJzh/ADDmKebayyzNwjVX1AFCeGkOfxNx0mHi2+8BKC5VxUYiw3TIvoT7vhw== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5018,9 +5023,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-redact@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.0.tgz#37c26cda9cab70bc04393f7ba1feb2d176da6c6b" - integrity sha512-dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.1.tgz#790fcff8f808c2e12fabbfb2be5cb2deda448fa0" + integrity sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A== fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: version "2.1.1" @@ -5221,9 +5226,9 @@ fs-extra@3.0.1: universalify "^0.1.0" fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + version "10.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" + integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -5279,19 +5284,19 @@ furi@^2.0.0: is-windows "^1.0.2" gauge@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.1.tgz#82984bc08c90357d60b0a46c03a296beb1affec4" - integrity sha512-zJ4jePUHR8cceduZ53b6temRalyGpkC2Kc2r3ecNphmL+uWNoJ3YcOcUjpbG6WwoE/Ef6/+aEZz63neI2WIa1Q== + version "4.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.2.tgz#c3777652f542b6ef62797246e8c7caddecb32cc7" + integrity sha512-aSPRm2CvA9R8QyU5eXMFPd+cYkyxLsXHd2l5/FOH2V/eml//M04G6KZOmTap07O1PvEwNcl2NndyLfK8g3QrKA== dependencies: ansi-regex "^5.0.1" aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" has-unicode "^2.0.1" - signal-exit "^3.0.0" + signal-exit "^3.0.7" string-width "^4.2.3" strip-ansi "^6.0.1" - wide-align "^1.1.2" + wide-align "^1.1.5" gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" @@ -6228,9 +6233,9 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: istanbul-lib-report "^3.0.0" jasmine-core@^3.6.0, jasmine-core@~3.99.0: - version "3.99.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.99.0.tgz#99a3da0d38ba2de82614d9198b7b1bc1c32a5960" - integrity sha512-+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w== + version "3.99.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.99.1.tgz#5bfa4b2d76618868bfac4c8ff08bb26fffa4120d" + integrity sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg== jasmine-core@~2.8.0: version "2.8.0" @@ -6544,14 +6549,14 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.3.0: - version "6.3.16" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.16.tgz#76d1a705fd1cf864ee5ed85270b572641e0958ef" - integrity sha512-nEU50jLvDe5yvXqkEJRf8IuvddUkOY2x5Xc4WXHz6dxINgGDrgD2uqQWeVrJs4hbfNaotn+HQ1LZJ4yOXrL7xQ== + version "6.3.17" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.17.tgz#5d963fb52463b73e1b5892ecb54c8f21bb04ba1d" + integrity sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g== dependencies: + "@colors/colors" "1.5.0" body-parser "^1.19.0" braces "^3.0.2" chokidar "^3.5.1" - colors "1.4.0" connect "^3.7.0" di "^0.0.1" dom-serialize "^2.2.1" @@ -6855,9 +6860,9 @@ lru-cache@6.0.0, lru-cache@^6.0.0: yallist "^4.0.0" lru-cache@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.3.1.tgz#7702e80694ec2bf19865567a469f2b081fcf53f5" - integrity sha512-nX1x4qUrKqwbIAhv4s9et4FIUVzNOpeY07bsjGUy8gwJrXH/wScImSQqXErmo/b2jZY2r0mohbLA9zVj7u1cNw== + version "7.4.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.4.0.tgz#2830a779b483e9723e20f26fa5278463c50599d8" + integrity sha512-YOfuyWa/Ee+PXbDm40j9WXyJrzQUynVbgn4Km643UYcWNcrSfRkKL0WaiUcxcIbkXcVTgNpDqSnPXntWXT75cw== lru-queue@^0.1.0: version "0.1.0" @@ -7027,11 +7032,16 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.51.0: version "1.51.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== +"mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" @@ -8341,7 +8351,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.6, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: +postcss@8.4.6: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== @@ -8350,7 +8360,7 @@ postcss@8.4.6, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.7: +postcss@8.4.7, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: version "8.4.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== @@ -8622,7 +8632,7 @@ raw-body@2.4.2: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.4.3, raw-body@^2.3.2: +raw-body@2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== @@ -8632,6 +8642,16 @@ raw-body@2.4.3, raw-body@^2.3.2: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -9017,9 +9037,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.66.1: - version "2.67.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.67.3.tgz#3f04391fc296f807d067c9081d173e0a33dbd37e" - integrity sha512-G/x1vUwbGtP6O5ZM8/sWr8+p7YfZhI18pPqMRtMYMWSbHjKZ/ajHGiM+GWNTlWyOR0EHIdT8LHU+Z4ciIZ1oBw== + version "2.68.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.68.0.tgz#6ccabfd649447f8f21d62bf41662e5caece3bd66" + integrity sha512-XrMKOYK7oQcTio4wyTz466mucnd8LzkiZLozZ4Rz0zQD+HeX4nUK4B8GrTX/2EvN2/vBF/i2WnaXboPxo0JylA== optionalDependencies: fsevents "~2.3.2" @@ -9084,7 +9104,7 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.8, sass@^1.49.0: +sass@1.49.8: version "1.49.8" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.8.tgz#9bbbc5d43d14862db07f1c04b786c9da9b641828" integrity sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw== @@ -9093,7 +9113,7 @@ sass@1.49.8, sass@^1.49.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.49.9: +sass@1.49.9, sass@^1.49.0: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== @@ -9357,7 +9377,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -9964,7 +9984,7 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" -terser@5.12.0: +terser@5.12.0, terser@^5.7.2: version "5.12.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== @@ -9974,15 +9994,6 @@ terser@5.12.0: source-map "~0.7.2" source-map-support "~0.5.20" -terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10137,9 +10148,9 @@ treeify@^1.1.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" - integrity sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw== + version "10.6.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.6.0.tgz#c3f4195d5173ce3affdc8f2fd2e9a7ac8de5376a" + integrity sha512-CJen6+dfOXolxudBQXnVjRVvYTmTWbyz7cn+xq2XTsvnaXbHqr4gXSCNbS2Jj8yTZMuGwUoBESLaOkLascVVvg== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -10272,9 +10283,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.1.tgz#9403dc6fa5695a6172a91bc983ea39f0f7c9086d" - integrity sha512-FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ== + version "3.15.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.2.tgz#1ed2c976f448063b1f87adb68c741be79959f951" + integrity sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A== unbox-primitive@^1.0.1: version "1.0.1" @@ -10783,7 +10794,7 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.2: +wide-align@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== @@ -10927,9 +10938,9 @@ yargs-parser@^20.0.0, yargs-parser@^20.2.2: integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs-parser@^21.0.0: - version "21.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" - integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== yargs@17.1.1: version "17.1.1" From 5330d52aee32daca27fa1a2fa15712f4a408602a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Feb 2022 13:15:38 +0100 Subject: [PATCH 0135/1388] refactor(@angular-devkit/schematics-cli): replace parser with yargs-parser BREAKING CHANGE: camel case arguments are no longer allowed. Closes #13544, closes #12150, closes #22173 --- package.json | 2 + .../angular_devkit/schematics_cli/BUILD.bazel | 4 +- .../schematics_cli/bin/schematics.ts | 141 ++++++++++-------- .../schematics_cli/bin/schematics_spec.ts | 9 +- .../schematics_cli/package.json | 4 +- yarn.lock | 9 +- 6 files changed, 96 insertions(+), 73 deletions(-) diff --git a/package.json b/package.json index dd91005ff3a7..e93f5302696a 100644 --- a/package.json +++ b/package.json @@ -116,6 +116,7 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", + "@types/yargs-parser": "^20.2.1", "@typescript-eslint/eslint-plugin": "5.13.0", "@typescript-eslint/parser": "5.13.0", "@yarnpkg/lockfile": "1.1.0", @@ -217,6 +218,7 @@ "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", + "yargs-parser": "21.0.1", "zone.js": "^0.11.3" } } diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index 57ac54222695..a3945d0df047 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -51,12 +51,12 @@ ts_library( "//packages/angular_devkit/schematics/tasks", "//packages/angular_devkit/schematics/tools", "@npm//@types/inquirer", - "@npm//@types/minimist", "@npm//@types/node", + "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//inquirer", # @external - "@npm//minimist", # @external "@npm//symbol-observable", # @external + "@npm//yargs-parser", # @external ], ) diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 31619a0f6ddc..02881bce2261 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -15,7 +15,7 @@ import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; import { NodeWorkflow } from '@angular-devkit/schematics/tools'; import * as ansiColors from 'ansi-colors'; import * as inquirer from 'inquirer'; -import minimist from 'minimist'; +import yargsParser from 'yargs-parser'; /** * Parse the name of schematic passed in argument, and return a {collection, schematic} named @@ -35,10 +35,11 @@ function parseSchematicName(str: string | null): { collection: string; schematic let collection = '@angular-devkit/schematics-cli'; let schematic = str; - if (schematic && schematic.indexOf(':') != -1) { + if (schematic?.includes(':')) { + const lastIndexOfColon = schematic.lastIndexOf(':'); [collection, schematic] = [ - schematic.slice(0, schematic.lastIndexOf(':')), - schematic.substring(schematic.lastIndexOf(':') + 1), + schematic.slice(0, lastIndexOfColon), + schematic.substring(lastIndexOfColon + 1), ]; } @@ -113,14 +114,14 @@ export async function main({ stdout = process.stdout, stderr = process.stderr, }: MainOptions): Promise<0 | 1> { - const argv = parseArgs(args); + const { cliOptions, schematicOptions, _ } = parseArgs(args); // Create a separate instance to prevent unintended global changes to the color configuration // Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 const colors = (ansiColors as typeof ansiColors & { create: () => typeof ansiColors }).create(); /** Create the DevKit Logger used through the CLI. */ - const logger = createConsoleLogger(argv['verbose'], stdout, stderr, { + const logger = createConsoleLogger(!!cliOptions.verbose, stdout, stderr, { info: (s) => s, debug: (s) => s, warn: (s) => colors.bold.yellow(s), @@ -128,7 +129,7 @@ export async function main({ fatal: (s) => colors.bold.red(s), }); - if (argv.help) { + if (cliOptions.help) { logger.info(getUsage()); return 0; @@ -136,18 +137,18 @@ export async function main({ /** Get the collection an schematic name from the first argument. */ const { collection: collectionName, schematic: schematicName } = parseSchematicName( - argv._.shift() || null, + _.shift() || null, ); const isLocalCollection = collectionName.startsWith('.') || collectionName.startsWith('/'); /** Gather the arguments for later use. */ - const debugPresent = argv['debug'] !== null; - const debug = debugPresent ? !!argv['debug'] : isLocalCollection; - const dryRunPresent = argv['dry-run'] !== null; - const dryRun = dryRunPresent ? !!argv['dry-run'] : debug; - const force = argv['force']; - const allowPrivate = argv['allow-private']; + const debugPresent = cliOptions.debug !== null; + const debug = debugPresent ? !!cliOptions.debug : isLocalCollection; + const dryRunPresent = cliOptions['dry-run'] !== null; + const dryRun = dryRunPresent ? !!cliOptions['dry-run'] : debug; + const force = !!cliOptions.force; + const allowPrivate = !!cliOptions['allow-private']; /** Create the workflow scoped to the working directory that will be executed with this run. */ const workflow = new NodeWorkflow(process.cwd(), { @@ -158,7 +159,7 @@ export async function main({ }); /** If the user wants to list schematics, we simply show all the schematic names. */ - if (argv['list-schematics']) { + if (cliOptions['list-schematics']) { return _listSchematics(workflow, collectionName, logger); } @@ -236,39 +237,16 @@ export async function main({ } }); - /** - * Remove every options from argv that we support in schematics itself. - */ - const parsedArgs = Object.assign({}, argv) as Record; - delete parsedArgs['--']; - for (const key of booleanArgs) { - delete parsedArgs[key]; - } - - /** - * Add options from `--` to args. - */ - const argv2 = minimist(argv['--']); - for (const key of Object.keys(argv2)) { - parsedArgs[key] = argv2[key]; - } - // Show usage of deprecated options workflow.registry.useXDeprecatedProvider((msg) => logger.warn(msg)); // Pass the rest of the arguments as the smart default "argv". Then delete it. - workflow.registry.addSmartDefaultProvider('argv', (schema) => { - if ('index' in schema) { - return argv._[Number(schema['index'])]; - } else { - return argv._; - } - }); - - delete parsedArgs._; + workflow.registry.addSmartDefaultProvider('argv', (schema) => + 'index' in schema ? _[Number(schema['index'])] : _, + ); // Add prompts. - if (argv['interactive'] && isTTY()) { + if (cliOptions.interactive && isTTY()) { workflow.registry.usePromptProvider(_createPromptProvider()); } @@ -285,7 +263,7 @@ export async function main({ .execute({ collection: collectionName, schematic: schematicName, - options: parsedArgs, + options: schematicOptions, allowPrivate: allowPrivate, debug: debug, logger: logger, @@ -308,9 +286,9 @@ export async function main({ // "See above" because we already printed the error. logger.fatal('The Schematic workflow failed. See above.'); } else if (debug) { - logger.fatal('An error occured:\n' + err.stack); + logger.fatal(`An error occured:\n${err.stack}`); } else { - logger.fatal(err.stack || err.message); + logger.fatal(`Error: ${err.message}`); } return 1; @@ -322,7 +300,7 @@ export async function main({ */ function getUsage(): string { return tags.stripIndent` - schematics [CollectionName:]SchematicName [options, ...] + schematics [collection-name:]schematic-name [options, ...] By default, if the collection name is not specified, use the internal collection provided by the Schematics CLI. @@ -354,34 +332,75 @@ function getUsage(): string { /** Parse the command line. */ const booleanArgs = [ - 'allowPrivate', 'allow-private', 'debug', 'dry-run', - 'dryRun', 'force', 'help', 'list-schematics', - 'listSchematics', 'verbose', 'interactive', -]; - -function parseArgs(args: string[] | undefined): minimist.ParsedArgs { - return minimist(args, { - boolean: booleanArgs, - alias: { - 'dryRun': 'dry-run', - 'listSchematics': 'list-schematics', - 'allowPrivate': 'allow-private', - }, +] as const; + +type ElementType> = T extends ReadonlyArray + ? ElementType + : never; + +interface Options { + _: string[]; + schematicOptions: Record; + cliOptions: Partial, boolean | null>>; +} + +/** Parse the command line. */ +function parseArgs(args: string[]): Options { + const { _, ...options } = yargsParser(args, { + boolean: booleanArgs as unknown as string[], default: { 'interactive': true, 'debug': null, - 'dryRun': null, + 'dry-run': null, + }, + configuration: { + 'dot-notation': false, + 'boolean-negation': true, + 'strip-aliased': true, + 'camel-case-expansion': false, }, - '--': true, }); + + // Camelize options as yargs will return the object in kebab-case when camel casing is disabled. + const schematicOptions: Options['schematicOptions'] = {}; + const cliOptions: Options['cliOptions'] = {}; + + const isCliOptions = ( + key: ElementType | string, + ): key is ElementType => + booleanArgs.includes(key as ElementType); + + // Casting temporary until https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59065 is merged and released. + const { camelCase, decamelize } = yargsParser as yargsParser.Parser & { + camelCase(str: string): string; + decamelize(str: string, joinString?: string): string; + }; + + for (const [key, value] of Object.entries(options)) { + if (/[A-Z]/.test(key)) { + throw new Error(`Unknown argument ${key}. Did you mean ${decamelize(key)}?`); + } + + if (isCliOptions(key)) { + cliOptions[key] = value; + } else { + schematicOptions[camelCase(key)] = value; + } + } + + return { + _, + schematicOptions, + cliOptions, + }; } function isTTY(): boolean { diff --git a/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts b/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts index 2055d474333e..9dc517587dba 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics_spec.ts @@ -35,12 +35,11 @@ describe('schematics-cli binary', () => { expect(res).toEqual(0); }); - it('listSchematics works', async () => { + it('errors when using camel case listSchematics', async () => { const args = ['--listSchematics']; - const res = await main({ args, stdout, stderr }); - expect(stdout.lines).toMatch(/blank/); - expect(stdout.lines).toMatch(/schematic/); - expect(res).toEqual(0); + await expectAsync(main({ args, stdout, stderr })).toBeRejectedWithError( + 'Unknown argument listSchematics. Did you mean list-schematics?', + ); }); it('dry-run works', async () => { diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index bc89f9a4db8a..c43fa8bbc719 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -20,7 +20,7 @@ "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", "inquirer": "8.2.0", - "minimist": "1.2.5", - "symbol-observable": "4.0.0" + "symbol-observable": "4.0.0", + "yargs-parser": "21.0.1" } } diff --git a/yarn.lock b/yarn.lock index 19357fbf02a4..5a3d5b58cdd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -178,7 +178,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" - uid "5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" dependencies: "@angular-devkit/build-angular" "14.0.0-next.3" @@ -2223,7 +2222,7 @@ dependencies: "@types/node" "*" -"@types/yargs-parser@*": +"@types/yargs-parser@*", "@types/yargs-parser@^20.2.1": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== @@ -9124,7 +9123,6 @@ sass@1.49.9, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -10924,6 +10922,11 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yargs-parser@21.0.1: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" From b6de2d28dbd092f1162c75c72333998dbefd835d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Feb 2022 13:16:10 +0100 Subject: [PATCH 0136/1388] refactor(@angular-devkit/benchmark): replace parser with yargs-parser --- packages/angular_devkit/benchmark/BUILD.bazel | 4 ++-- .../angular_devkit/benchmark/package.json | 4 ++-- packages/angular_devkit/benchmark/src/main.ts | 19 ++++++++++++++----- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/benchmark/BUILD.bazel b/packages/angular_devkit/benchmark/BUILD.bazel index 5357a92bbeb3..84beef742f1b 100644 --- a/packages/angular_devkit/benchmark/BUILD.bazel +++ b/packages/angular_devkit/benchmark/BUILD.bazel @@ -25,9 +25,9 @@ ts_library( deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", - "@npm//@types/minimist", "@npm//@types/node", "@npm//@types/pidusage", + "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//rxjs", ], @@ -60,12 +60,12 @@ jasmine_node_test( srcs = [":benchmark_test_lib"], deps = [ "@npm//jasmine", - "@npm//minimist", "@npm//pidtree", "@npm//pidusage", "@npm//source-map", "@npm//temp", "@npm//tree-kill", + "@npm//yargs-parser", ], ) diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 46e224be3e82..39c74d9c95a0 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -12,10 +12,10 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "minimist": "1.2.5", "pidusage": "3.0.0", "pidtree": "0.5.0", "rxjs": "6.6.7", - "tree-kill": "^1.2.0" + "tree-kill": "^1.2.0", + "yargs-parser": "21.0.1" } } diff --git a/packages/angular_devkit/benchmark/src/main.ts b/packages/angular_devkit/benchmark/src/main.ts index 25cf40ae71ec..48dc566ab091 100644 --- a/packages/angular_devkit/benchmark/src/main.ts +++ b/packages/angular_devkit/benchmark/src/main.ts @@ -11,8 +11,8 @@ import { logging, tags } from '@angular-devkit/core'; import { ProcessOutput } from '@angular-devkit/core/node'; import * as ansiColors from 'ansi-colors'; import { appendFileSync, writeFileSync } from 'fs'; -import minimist from 'minimist'; import { filter, map, toArray } from 'rxjs/operators'; +import yargsParser from 'yargs-parser'; import { Command } from '../src/command'; import { defaultReporter } from '../src/default-reporter'; import { defaultStatsCapture } from '../src/default-stats-capture'; @@ -25,6 +25,7 @@ export interface MainOptions { stderr?: ProcessOutput; } +// eslint-disable-next-line max-lines-per-function export async function main({ args, stdout = process.stdout, @@ -69,13 +70,22 @@ export async function main({ 'watch-timeout': number; 'watch-matcher'?: string; 'watch-script'?: string; - '--': string[] | null; + '--': string[]; + _: string[]; + $0: string; } // Parse the command line. - const argv = minimist(args, { + const argv = yargsParser(args, { boolean: ['help', 'verbose', 'overwrite-output-file'], string: ['watch-matcher', 'watch-script'], + configuration: { + 'dot-notation': false, + 'boolean-negation': true, + 'strip-aliased': true, + 'populate--': true, + 'camel-case-expansion': false, + }, default: { 'exit-code': 0, 'iterations': 5, @@ -85,8 +95,7 @@ export async function main({ 'prefix': '[benchmark]', 'watch-timeout': 10000, }, - '--': true, - }) as {} as BenchmarkCliArgv; + }) as BenchmarkCliArgv; // Create the DevKit Logger used through the CLI. const logger = new logging.TransformLogger('benchmark-prefix-logger', (stream) => From c7556b62b7b0eab5717ed6eeab3fa7f0f1f2a873 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 1 Mar 2022 17:44:56 +0100 Subject: [PATCH 0137/1388] refactor(@angular-devkit/architect-cli): replace parser with yargs-parser BREAKING CHANGE: camel case arguments are no longer allowed. --- package.json | 2 - .../angular_devkit/architect_cli/BUILD.bazel | 2 +- .../architect_cli/bin/architect.ts | 45 +++++++++++++++---- .../angular_devkit/architect_cli/package.json | 4 +- yarn.lock | 7 +-- 5 files changed, 40 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index e93f5302696a..6a992af08614 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,6 @@ "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", "@types/minimatch": "3.0.5", - "@types/minimist": "^1.2.0", "@types/node": "~12.12.6", "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", @@ -168,7 +167,6 @@ "magic-string": "0.25.7", "mini-css-extract-plugin": "2.5.3", "minimatch": "5.0.1", - "minimist": "^1.2.0", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.0", diff --git a/packages/angular_devkit/architect_cli/BUILD.bazel b/packages/angular_devkit/architect_cli/BUILD.bazel index 19505a0fcb05..c20782d4f965 100644 --- a/packages/angular_devkit/architect_cli/BUILD.bazel +++ b/packages/angular_devkit/architect_cli/BUILD.bazel @@ -20,9 +20,9 @@ ts_library( "//packages/angular_devkit/architect/node", "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", - "@npm//@types/minimist", "@npm//@types/node", "@npm//@types/progress", + "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//rxjs", ], diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index be437760b475..4ad5fb2b52de 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -9,13 +9,13 @@ import { Architect, BuilderInfo, BuilderProgressState, Target } from '@angular-devkit/architect'; import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; -import { logging, schema, tags, workspaces } from '@angular-devkit/core'; +import { json, logging, schema, tags, workspaces } from '@angular-devkit/core'; import { NodeJsSyncHost, createConsoleLogger } from '@angular-devkit/core/node'; import * as ansiColors from 'ansi-colors'; import { existsSync } from 'fs'; -import minimist from 'minimist'; import * as path from 'path'; import { tap } from 'rxjs/operators'; +import yargsParser from 'yargs-parser'; import { MultiProgressBar } from '../src/progress'; function findUp(names: string | string[], from: string) { @@ -78,24 +78,43 @@ async function _executeTarget( parentLogger: logging.Logger, workspace: workspaces.WorkspaceDefinition, root: string, - argv: minimist.ParsedArgs, + argv: yargsParser.Arguments, registry: schema.SchemaRegistry, ) { const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, root); const architect = new Architect(architectHost, registry); // Split a target into its parts. - const targetStr = argv._.shift() || ''; + const { + _: [targetStr = ''], + help, + ...options + } = argv; const [project, target, configuration] = targetStr.split(':'); const targetSpec = { project, target, configuration }; - delete argv['help']; const logger = new logging.Logger('jobs'); const logs: logging.LogEntry[] = []; logger.subscribe((entry) => logs.push({ ...entry, message: `${entry.name}: ` + entry.message })); - const { _, ...options } = argv; - const run = await architect.scheduleTarget(targetSpec, options, { logger }); + // Camelize options as yargs will return the object in kebab-case when camel casing is disabled. + + // Casting temporary until https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59065 is merged and released. + const { camelCase, decamelize } = yargsParser as yargsParser.Parser & { + camelCase(str: string): string; + decamelize(str: string, joinString?: string): string; + }; + + const camelCasedOptions: json.JsonObject = {}; + for (const [key, value] of Object.entries(options)) { + if (/[A-Z]/.test(key)) { + throw new Error(`Unknown argument ${key}. Did you mean ${decamelize(key)}?`); + } + + camelCasedOptions[camelCase(key)] = value; + } + + const run = await architect.scheduleTarget(targetSpec, camelCasedOptions, { logger }); const bars = new MultiProgressBar(':name :bar (:current/:total) :status'); run.progress.subscribe((update) => { @@ -107,7 +126,7 @@ async function _executeTarget( name: ( (update.target ? _targetStringFromTarget(update.target) : update.builder.name) + ' '.repeat(80) - ).substr(0, 40), + ).substring(0, 40), }; if (update.status !== undefined) { @@ -175,7 +194,15 @@ async function _executeTarget( async function main(args: string[]): Promise { /** Parse the command line. */ - const argv = minimist(args, { boolean: ['help'] }); + const argv = yargsParser(args, { + boolean: ['help'], + configuration: { + 'dot-notation': false, + 'boolean-negation': true, + 'strip-aliased': true, + 'camel-case-expansion': false, + }, + }); /** Create the DevKit Logger used through the CLI. */ const logger = createConsoleLogger(argv['verbose'], process.stdout, process.stderr, { diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index cf4eb5b91c76..95da35b93e56 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -17,10 +17,10 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "minimist": "1.2.5", "progress": "2.0.3", "rxjs": "6.6.7", - "symbol-observable": "4.0.0" + "symbol-observable": "4.0.0", + "yargs-parser": "21.0.1" }, "devDependencies": { "@types/progress": "2.0.5" diff --git a/yarn.lock b/yarn.lock index 5a3d5b58cdd0..bfd7b4d36b97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1980,11 +1980,6 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" @@ -7125,7 +7120,7 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@1.2.5, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== From 4fe0a512b92e9cc48a40d4c2d0cf8dcf2c711ea8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 2 Mar 2022 09:03:09 +0000 Subject: [PATCH 0138/1388] build: update actions/checkout action to v3 --- .github/workflows/dev-infra.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c5e35b7d84ba..a8b796d46e70 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,7 +12,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.4.0 + - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@104c49ad795097101ab3aa268a8e9af2cdf04a8d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From 5f04105d86a3aafe7c2581a03a018102364a0e77 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 2 Mar 2022 09:03:14 +0000 Subject: [PATCH 0139/1388] build: update actions/checkout action to v3 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 0f6b9a17c657..ab8db2084945 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,7 +23,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.4.0 + uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 with: persist-credentials: false From aea0d9b06d0cb0ab9b9643caaea66117dc707759 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 2 Mar 2022 14:15:14 -0500 Subject: [PATCH 0140/1388] ci: remove Node.js v12 E2E job Node.js v12 will become EOL on 2022-04-30. As a result, Angular as of v14 will no longer support Node.js v12. --- .circleci/config.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9e3c3960a1d6..62ca9b324a07 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -356,12 +356,6 @@ workflows: only: - renovate/angular - master - - e2e-cli: - name: e2e-cli-node-12 - nodeversion: '12.20' - <<: *only_release_branches - requires: - - build - e2e-cli: name: e2e-cli-node-16 nodeversion: '16.10' From 3d0204de26d8879032494cfd20b3d5e4d600cd09 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 2 Mar 2022 16:34:25 -0500 Subject: [PATCH 0141/1388] release: cut the v14.0.0-next.4 release --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1752a817fc9a..7fa79e1422f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ + + +# 14.0.0-next.4 (2022-03-02) + +## Breaking Changes + +### @angular-devkit/architect-cli + +- camel case arguments are no longer allowed. + +### @angular-devkit/schematics-cli + +- camel case arguments are no longer allowed. + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------- | +| [5330d52ae](https://github.com/angular/angular-cli/commit/5330d52aee32daca27fa1a2fa15712f4a408602a) | refactor | replace parser with yargs-parser | + +### @angular-devkit/architect-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------- | +| [c7556b62b](https://github.com/angular/angular-cli/commit/c7556b62b7b0eab5717ed6eeab3fa7f0f1f2a873) | refactor | replace parser with yargs-parser | + +## Special Thanks + +Alan Agius, Charles Lyding and Daniele Maltese + + + # 14.0.0-next.3 (2022-02-23) diff --git a/package.json b/package.json index 6a992af08614..821febc94b73 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.3", + "version": "14.0.0-next.4", "private": true, "description": "Software Development Kit for Angular", "bin": { From ac98f25a31c1163e662bc4171f171e85b0b3eceb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 2 Mar 2022 21:44:23 +0100 Subject: [PATCH 0142/1388] build: update `@types/yargs-parser` to `21.0.0` --- package.json | 2 +- .../angular_devkit/architect_cli/bin/architect.ts | 11 ++--------- .../schematics_cli/bin/schematics.ts | 10 ++-------- yarn.lock | 14 +++++++------- 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 821febc94b73..12aa3201167d 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", - "@types/yargs-parser": "^20.2.1", + "@types/yargs-parser": "^21.0.0", "@typescript-eslint/eslint-plugin": "5.13.0", "@typescript-eslint/parser": "5.13.0", "@yarnpkg/lockfile": "1.1.0", diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index 4ad5fb2b52de..b23c20c209cb 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -15,7 +15,7 @@ import * as ansiColors from 'ansi-colors'; import { existsSync } from 'fs'; import * as path from 'path'; import { tap } from 'rxjs/operators'; -import yargsParser from 'yargs-parser'; +import yargsParser, { camelCase, decamelize } from 'yargs-parser'; import { MultiProgressBar } from '../src/progress'; function findUp(names: string | string[], from: string) { @@ -90,7 +90,7 @@ async function _executeTarget( help, ...options } = argv; - const [project, target, configuration] = targetStr.split(':'); + const [project, target, configuration] = targetStr.toString().split(':'); const targetSpec = { project, target, configuration }; const logger = new logging.Logger('jobs'); @@ -98,13 +98,6 @@ async function _executeTarget( logger.subscribe((entry) => logs.push({ ...entry, message: `${entry.name}: ` + entry.message })); // Camelize options as yargs will return the object in kebab-case when camel casing is disabled. - - // Casting temporary until https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59065 is merged and released. - const { camelCase, decamelize } = yargsParser as yargsParser.Parser & { - camelCase(str: string): string; - decamelize(str: string, joinString?: string): string; - }; - const camelCasedOptions: json.JsonObject = {}; for (const [key, value] of Object.entries(options)) { if (/[A-Z]/.test(key)) { diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 02881bce2261..360b20589e9a 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -15,7 +15,7 @@ import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; import { NodeWorkflow } from '@angular-devkit/schematics/tools'; import * as ansiColors from 'ansi-colors'; import * as inquirer from 'inquirer'; -import yargsParser from 'yargs-parser'; +import yargsParser, { camelCase, decamelize } from 'yargs-parser'; /** * Parse the name of schematic passed in argument, and return a {collection, schematic} named @@ -378,12 +378,6 @@ function parseArgs(args: string[]): Options { ): key is ElementType => booleanArgs.includes(key as ElementType); - // Casting temporary until https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59065 is merged and released. - const { camelCase, decamelize } = yargsParser as yargsParser.Parser & { - camelCase(str: string): string; - decamelize(str: string, joinString?: string): string; - }; - for (const [key, value] of Object.entries(options)) { if (/[A-Z]/.test(key)) { throw new Error(`Unknown argument ${key}. Did you mean ${decamelize(key)}?`); @@ -397,7 +391,7 @@ function parseArgs(args: string[]): Options { } return { - _, + _: _.map((v) => v.toString()), schematicOptions, cliOptions, }; diff --git a/yarn.lock b/yarn.lock index bfd7b4d36b97..c714a6737683 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2217,11 +2217,16 @@ dependencies: "@types/node" "*" -"@types/yargs-parser@*", "@types/yargs-parser@^20.2.1": +"@types/yargs-parser@*": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== +"@types/yargs-parser@^21.0.0": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + "@types/yargs@^17.0.0": version "17.0.8" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" @@ -10917,7 +10922,7 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@21.0.1: +yargs-parser@21.0.1, yargs-parser@^21.0.0: version "21.0.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== @@ -10935,11 +10940,6 @@ yargs-parser@^20.0.0, yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== - yargs@17.1.1: version "17.1.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" From a3c0aa9f86d39ba6a8d4640032dc49c33ece5e98 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 3 Mar 2022 14:52:02 +0000 Subject: [PATCH 0143/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 8 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/angular_devkit/core/package.json | 2 +- .../angular_devkit/schematics/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 236 +++++++++++++++++- 7 files changed, 244 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 12aa3201167d..b4685d606ca5 100644 --- a/package.json +++ b/package.json @@ -133,10 +133,10 @@ "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.23", - "esbuild-wasm": "0.14.23", + "esbuild": "0.14.24", + "esbuild-wasm": "0.14.24", "eslint": "8.10.0", - "eslint-config-prettier": "8.4.0", + "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", "express": "4.17.3", @@ -164,7 +164,7 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.25.7", + "magic-string": "0.26.1", "mini-css-extract-plugin": "2.5.3", "minimatch": "5.0.1", "ng-packagr": "14.0.0-next.1", @@ -181,7 +181,7 @@ "postcss": "8.4.7", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.1", + "postcss-preset-env": "7.4.2", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "13.4.1", @@ -211,7 +211,7 @@ "typescript": "4.5.5", "verdaccio": "5.6.2", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.69.1", + "webpack": "5.70.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 74e59b8c9235..bf12826041b9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.23", + "esbuild-wasm": "0.14.24", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -49,7 +49,7 @@ "postcss": "8.4.7", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.1", + "postcss-preset-env": "7.4.2", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -64,14 +64,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.69.1", + "webpack": "5.70.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.23" + "esbuild": "0.14.24" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 529ae50d5059..33cec43e3232 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.69.1" + "webpack": "5.70.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 545f0a1f2669..43cddffcc6b6 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -11,7 +11,7 @@ "ajv-formats": "2.1.1", "ajv": "8.10.0", "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", + "magic-string": "0.26.1", "rxjs": "6.6.7", "source-map": "0.7.3" }, diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 7c29b9aa9d9f..0b9fe0c3060d 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", + "magic-string": "0.26.1", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a05f76d78cfb..ea42765bb7de 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.4", "@angular/compiler-cli": "14.0.0-next.4", "typescript": "4.5.5", - "webpack": "5.69.1" + "webpack": "5.70.0" } } diff --git a/yarn.lock b/yarn.lock index c714a6737683..50cecdd91bb0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3195,7 +3195,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^15.4.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.9.1: version "4.19.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== @@ -3835,7 +3835,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.3.1: +cssdb@^6.3.1, cssdb@^6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.0.tgz#54899b9042e302be3090b8510ea71fefd08c9e6b" integrity sha512-8NMWrur/ewSNrRNZndbtOTXc2Xb2b+NCTPHj8VErFYvJUlgsMAiBGaFaxG6hjy9zbCjj2ZLwSQrMM+tormO8qA== @@ -4350,6 +4350,14 @@ enhanced-resolve@^5.8.3: graceful-fs "^4.2.4" tapable "^2.2.0" +enhanced-resolve@^5.9.2: + version "5.9.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" + integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + ent@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" @@ -4477,106 +4485,211 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +esbuild-android-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.24.tgz#d826ac29a9b983dc200a0ca407c34c64d2480b38" + integrity sha512-mbhO8NepmUZ84cP/axGR8IzH1Trth+uknEJzz36cZl8FfMA3ooaiBsMyzJ35s70QEAreiEt1XzltZ4pcfOsVUA== + esbuild-android-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== +esbuild-android-arm64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.24.tgz#f8aaf28dbd4d7b80d30b0323c7a645e3a12b5de9" + integrity sha512-wM3iuLZjaA9BhlMOH6mWvTGXwPJsLOuAbMkGiczSY+NLeG2WF1ouCcuhFz2jZCbnw9lnI30QWgzebNBQi9K8SA== + esbuild-darwin-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== +esbuild-darwin-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.24.tgz#9f6e4b94066e9c5e521b19176a85edd7f94ac074" + integrity sha512-GDaCV5e9mdrJkrGT91W8WCqQ/+fvB/nsULIu4l7Ik7dlQd5uB4qeKRcFFl5Vz5ODK/C/UWZmKmMQWokZsLNWLQ== + esbuild-darwin-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== +esbuild-darwin-arm64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.24.tgz#6b8ce7f2a3e1210cc672c73d658669e5f88b8efb" + integrity sha512-reU7/vEdXsg+zZWxKL/gaHsJkGMCC49Y4pqbsaBmx0YAF00K0+V7w5BHBF+iY5jvtJ1ZCYRHTN/iAbYVOnoV0w== + esbuild-freebsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== +esbuild-freebsd-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.24.tgz#b586d8aa290bfcdf0aa73fdfcf64c092d49795f2" + integrity sha512-Mp35Rz/XoixG7Uka6l54hU/XUxAEwQozgKoHPusJzX+Fu1vANil0Ypos0RJkidu7skSkd0xisNIT+gtD36BxpA== + esbuild-freebsd-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== +esbuild-freebsd-arm64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.24.tgz#4e7098de07791089b6ef6b4f17a8ce6124da7bec" + integrity sha512-+tf4a4zYaHP1XXPt286mxOc2bmj13K57GZYjqYz/G3c3sgNXa0JBkcPlUATIj96WfXhWM115n3nHe9wF88+ZGQ== + esbuild-linux-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== +esbuild-linux-32@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.24.tgz#afe7345f3e8ee58eede36c0254e128924680b305" + integrity sha512-8jMZErn5aLnlSQqzK365yoWRr67ZkGNcoTmk1CK5Bk1EB9g7uwCfdZsmWcclLWPGkIhMbdk4OvzQ+Wp0popwWA== + esbuild-linux-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== +esbuild-linux-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.24.tgz#ce7b95e8ed96076dcb329d1d34e4b9ef084e02cf" + integrity sha512-D/JCsk9OY2IZj+fkU74pKD4rD2pjeiYUbze1cS5D6+U0pz8j71GjZY5UkfwHhBBbNyPe6DPCyex97txQUlHwWw== + esbuild-linux-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== +esbuild-linux-arm64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.24.tgz#f8aee4eb78309fd3c064e86393a698e33908e8ec" + integrity sha512-DypWEDQLE+PoHGMa4FLcmKvS+yQLsYlsN03R496rTpDOiVQGrRdo0LbYtf+uHpDxa1KRrHZsQim6n8m3VBHP6g== + esbuild-linux-arm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== +esbuild-linux-arm@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.24.tgz#eaccc0a4d7d17e7290e5b20c383e6969c6769bf7" + integrity sha512-N+vvGpJAUWv3j+YZGOMEtrHwrrSG582TuAThBwoRE7d2N4zFE2WQBCiSYaAVckMQhvMOPqnCdqeTDUse5nlKTw== + esbuild-linux-mips64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== +esbuild-linux-mips64le@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.24.tgz#9db94b62bbcbaad6229087ea27a6d7dc3fc878d6" + integrity sha512-eMk9pEHba1yd5bOuPZUJfFucigvysdcE2d/wV4M0eUdb/VjyH9fcGqz8byvSjmYSOt3WCn/V4jLVI+pwDSHWYw== + esbuild-linux-ppc64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== +esbuild-linux-ppc64le@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.24.tgz#194d59a5ebfcdbfc7e710d13893e6c62216baa77" + integrity sha512-4vQ/Y6EV5Z2BjO7RdpEyTCv702WmOPc95d2CbUcFvg78FpGQAmrbIrHXu/yX4+rdUU6vMNBn3M+7M7/lxmxjjg== + esbuild-linux-riscv64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== +esbuild-linux-riscv64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.24.tgz#0d8cbbcd2f3b7cc4365ebc8fac8d00fdc95691d2" + integrity sha512-pAN9/+NZ487Wo9PmlOM6Ra95SrhG8JQw7fCgi3z7dUufwTApTNTPGs5UOMD4Bmorju+DeGb0f0GddLaeabvqDg== + esbuild-linux-s390x@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== +esbuild-linux-s390x@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.24.tgz#460e726f5d827f1171f9eac8c9bbcad8e6574ec5" + integrity sha512-ZR+VMHP2WS3022x2sK/85cBfKGgPalIZzpquDWjra9nUb+WdEzuK9i9bRsstLmjIPs3uIkGfe6xXUh/7PNLllw== + esbuild-netbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== +esbuild-netbsd-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.24.tgz#8f6f4c68b8e84e1e011330096f118013cc275601" + integrity sha512-1PzXU++e0PEaSuGpkhrVb+fDUw9mSp4laY9KRsjJkAuXPDj0rHz7KxK7CAbzY/ucufeIR9Ca8/oMpdVyWdaOGw== + esbuild-openbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== +esbuild-openbsd-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.24.tgz#6fbfc089103d154d74d4ea5a3aefc2844189094a" + integrity sha512-PvXh7JJAFM1kR87XDWbRrUkaOGVMS6Dq/IRXE2E02maio21JELk/jNRijTe81ztr8v+8K9osB3rG9zKqIdTxhQ== + esbuild-sunos-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== +esbuild-sunos-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.24.tgz#09931dbbc610f88feda1c071f2844e7d8867f46e" + integrity sha512-5iYi76kGQdyCqvSUknqjTZ0T19KvQD6hiklPAY6kVoQ1YoDUGCGILRI9eM/3zLNLG1bUFgcdJ2ktaBxwyXuHyA== + esbuild-wasm@0.14.23, esbuild-wasm@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== +esbuild-wasm@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.24.tgz#cd20c958cadc5c197faa818824cbfc6c7723c718" + integrity sha512-F088VEdfrRgNr1q8zLGV7BIXG0ZZ5BbxH1pnzt1MW2g7/eW95Xu27lxSHr+UnRZHFKB2pvpyEfIc3hly7VMZWg== + esbuild-windows-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== +esbuild-windows-32@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.24.tgz#3c8dddffaec6dce9a3ac8ef2bec939ec5af17e68" + integrity sha512-oDxcNu4P1FWTk2ompKB0uKHfxYw1QuubH189+PlfrrWT9tVu+mxT9dSwJu2erfUDz5dnr6h8rgkg95NGboeJxg== + esbuild-windows-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== +esbuild-windows-64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.24.tgz#e97081ee16d51c5a210cd1de15454689ac09fc8b" + integrity sha512-0uxXF1yLcGEM2es0OMDgQYQGZXQEEIdq8cG3IWhY2GGfFRLXpMgic1iUE+SKCh+b82t1ftUVoyG0zIFRn5NOIA== + esbuild-windows-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== +esbuild-windows-arm64@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.24.tgz#0fcff2b58c772874f8dc52638557f817609ed699" + integrity sha512-unwaYRaIK/4OaZm0jnM3pLKMPEjaQqmT5teTciSZ86VYaiYZF27Ki7BW7R5ngk27gIw0ovIfUcn9DhJgp7qAlw== + esbuild@0.14.23, esbuild@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" @@ -4602,6 +4715,32 @@ esbuild@0.14.23, esbuild@^0.14.14: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" +esbuild@0.14.24: + version "0.14.24" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.24.tgz#543899cf9ff0ebe206dc3de2ac18b9122d9f5697" + integrity sha512-NjfmycVQqY0+iKXoHXsvMAKx4XF/bD/dDm8pK6C/3aJO/i/uby+7AR4z8vu0qkiihkB5Y43+9BjdY2MGnswC/A== + optionalDependencies: + esbuild-android-64 "0.14.24" + esbuild-android-arm64 "0.14.24" + esbuild-darwin-64 "0.14.24" + esbuild-darwin-arm64 "0.14.24" + esbuild-freebsd-64 "0.14.24" + esbuild-freebsd-arm64 "0.14.24" + esbuild-linux-32 "0.14.24" + esbuild-linux-64 "0.14.24" + esbuild-linux-arm "0.14.24" + esbuild-linux-arm64 "0.14.24" + esbuild-linux-mips64le "0.14.24" + esbuild-linux-ppc64le "0.14.24" + esbuild-linux-riscv64 "0.14.24" + esbuild-linux-s390x "0.14.24" + esbuild-netbsd-64 "0.14.24" + esbuild-openbsd-64 "0.14.24" + esbuild-sunos-64 "0.14.24" + esbuild-windows-32 "0.14.24" + esbuild-windows-64 "0.14.24" + esbuild-windows-arm64 "0.14.24" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4646,10 +4785,10 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz#8e6d17c7436649e98c4c2189868562921ef563de" - integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== +eslint-config-prettier@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -6889,6 +7028,13 @@ magic-string@0.25.7, magic-string@^0.25.0: dependencies: sourcemap-codec "^1.4.4" +magic-string@0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" + integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== + dependencies: + sourcemap-codec "^1.4.8" + magic-string@^0.22.4: version "0.22.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" @@ -8300,6 +8446,54 @@ postcss-preset-env@7.4.1, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" +postcss-preset-env@7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" + integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== + dependencies: + "@csstools/postcss-color-function" "^1.0.2" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.0.1" + "@csstools/postcss-progressive-custom-properties" "^1.2.0" + autoprefixer "^10.4.2" + browserslist "^4.19.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.4.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.0" + postcss-env-function "^4.0.5" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.1.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" @@ -10714,6 +10908,36 @@ webpack@5.69.1: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.70.0: + version "5.70.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" + integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.2" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From b85b67498626ea6a9028608bf1aa66c1b0b97903 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 4 Mar 2022 08:23:20 +0000 Subject: [PATCH 0144/1388] build: update actions/upload-artifact action to v3 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ab8db2084945..8913fbef7f02 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -37,7 +37,7 @@ jobs: # Upload the results as artifacts. - name: 'Upload artifact' - uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # renovate: tag=v2.3.1 + uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 # tag=v3.0.0 with: name: SARIF file path: results.sarif From a11c947c731642b226793ca51b6180c297e4e209 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 4 Mar 2022 08:23:14 +0000 Subject: [PATCH 0145/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 223 +++++++++--------- 3 files changed, 121 insertions(+), 114 deletions(-) diff --git a/package.json b/package.json index b4685d606ca5..bf4f48624ec1 100644 --- a/package.json +++ b/package.json @@ -133,8 +133,8 @@ "critters": "0.0.16", "css-loader": "6.6.0", "debug": "^4.1.1", - "esbuild": "0.14.24", - "esbuild-wasm": "0.14.24", + "esbuild": "0.14.25", + "esbuild-wasm": "0.14.25", "eslint": "8.10.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -165,7 +165,7 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "magic-string": "0.26.1", - "mini-css-extract-plugin": "2.5.3", + "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", "ng-packagr": "14.0.0-next.1", "node-fetch": "^2.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index bf12826041b9..e25e1af694db 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.6.0", - "esbuild-wasm": "0.14.24", + "esbuild-wasm": "0.14.25", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.0", @@ -40,7 +40,7 @@ "less-loader": "10.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.5.3", + "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", "open": "8.4.0", "ora": "5.4.1", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.24" + "esbuild": "0.14.25" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index 50cecdd91bb0..4dfd0007a801 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4485,210 +4485,210 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.24.tgz#d826ac29a9b983dc200a0ca407c34c64d2480b38" - integrity sha512-mbhO8NepmUZ84cP/axGR8IzH1Trth+uknEJzz36cZl8FfMA3ooaiBsMyzJ35s70QEAreiEt1XzltZ4pcfOsVUA== +esbuild-android-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40" + integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ== esbuild-android-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== -esbuild-android-arm64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.24.tgz#f8aaf28dbd4d7b80d30b0323c7a645e3a12b5de9" - integrity sha512-wM3iuLZjaA9BhlMOH6mWvTGXwPJsLOuAbMkGiczSY+NLeG2WF1ouCcuhFz2jZCbnw9lnI30QWgzebNBQi9K8SA== +esbuild-android-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e" + integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw== esbuild-darwin-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== -esbuild-darwin-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.24.tgz#9f6e4b94066e9c5e521b19176a85edd7f94ac074" - integrity sha512-GDaCV5e9mdrJkrGT91W8WCqQ/+fvB/nsULIu4l7Ik7dlQd5uB4qeKRcFFl5Vz5ODK/C/UWZmKmMQWokZsLNWLQ== +esbuild-darwin-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d" + integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA== esbuild-darwin-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== -esbuild-darwin-arm64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.24.tgz#6b8ce7f2a3e1210cc672c73d658669e5f88b8efb" - integrity sha512-reU7/vEdXsg+zZWxKL/gaHsJkGMCC49Y4pqbsaBmx0YAF00K0+V7w5BHBF+iY5jvtJ1ZCYRHTN/iAbYVOnoV0w== +esbuild-darwin-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95" + integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw== esbuild-freebsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== -esbuild-freebsd-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.24.tgz#b586d8aa290bfcdf0aa73fdfcf64c092d49795f2" - integrity sha512-Mp35Rz/XoixG7Uka6l54hU/XUxAEwQozgKoHPusJzX+Fu1vANil0Ypos0RJkidu7skSkd0xisNIT+gtD36BxpA== +esbuild-freebsd-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa" + integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ== esbuild-freebsd-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== -esbuild-freebsd-arm64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.24.tgz#4e7098de07791089b6ef6b4f17a8ce6124da7bec" - integrity sha512-+tf4a4zYaHP1XXPt286mxOc2bmj13K57GZYjqYz/G3c3sgNXa0JBkcPlUATIj96WfXhWM115n3nHe9wF88+ZGQ== +esbuild-freebsd-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c" + integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug== esbuild-linux-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== -esbuild-linux-32@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.24.tgz#afe7345f3e8ee58eede36c0254e128924680b305" - integrity sha512-8jMZErn5aLnlSQqzK365yoWRr67ZkGNcoTmk1CK5Bk1EB9g7uwCfdZsmWcclLWPGkIhMbdk4OvzQ+Wp0popwWA== +esbuild-linux-32@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5" + integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw== esbuild-linux-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== -esbuild-linux-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.24.tgz#ce7b95e8ed96076dcb329d1d34e4b9ef084e02cf" - integrity sha512-D/JCsk9OY2IZj+fkU74pKD4rD2pjeiYUbze1cS5D6+U0pz8j71GjZY5UkfwHhBBbNyPe6DPCyex97txQUlHwWw== +esbuild-linux-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8" + integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug== esbuild-linux-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== -esbuild-linux-arm64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.24.tgz#f8aee4eb78309fd3c064e86393a698e33908e8ec" - integrity sha512-DypWEDQLE+PoHGMa4FLcmKvS+yQLsYlsN03R496rTpDOiVQGrRdo0LbYtf+uHpDxa1KRrHZsQim6n8m3VBHP6g== +esbuild-linux-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52" + integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw== esbuild-linux-arm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== -esbuild-linux-arm@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.24.tgz#eaccc0a4d7d17e7290e5b20c383e6969c6769bf7" - integrity sha512-N+vvGpJAUWv3j+YZGOMEtrHwrrSG582TuAThBwoRE7d2N4zFE2WQBCiSYaAVckMQhvMOPqnCdqeTDUse5nlKTw== +esbuild-linux-arm@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b" + integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw== esbuild-linux-mips64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== -esbuild-linux-mips64le@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.24.tgz#9db94b62bbcbaad6229087ea27a6d7dc3fc878d6" - integrity sha512-eMk9pEHba1yd5bOuPZUJfFucigvysdcE2d/wV4M0eUdb/VjyH9fcGqz8byvSjmYSOt3WCn/V4jLVI+pwDSHWYw== +esbuild-linux-mips64le@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4" + integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ== esbuild-linux-ppc64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== -esbuild-linux-ppc64le@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.24.tgz#194d59a5ebfcdbfc7e710d13893e6c62216baa77" - integrity sha512-4vQ/Y6EV5Z2BjO7RdpEyTCv702WmOPc95d2CbUcFvg78FpGQAmrbIrHXu/yX4+rdUU6vMNBn3M+7M7/lxmxjjg== +esbuild-linux-ppc64le@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952" + integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw== esbuild-linux-riscv64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== -esbuild-linux-riscv64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.24.tgz#0d8cbbcd2f3b7cc4365ebc8fac8d00fdc95691d2" - integrity sha512-pAN9/+NZ487Wo9PmlOM6Ra95SrhG8JQw7fCgi3z7dUufwTApTNTPGs5UOMD4Bmorju+DeGb0f0GddLaeabvqDg== +esbuild-linux-riscv64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605" + integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w== esbuild-linux-s390x@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== -esbuild-linux-s390x@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.24.tgz#460e726f5d827f1171f9eac8c9bbcad8e6574ec5" - integrity sha512-ZR+VMHP2WS3022x2sK/85cBfKGgPalIZzpquDWjra9nUb+WdEzuK9i9bRsstLmjIPs3uIkGfe6xXUh/7PNLllw== +esbuild-linux-s390x@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3" + integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ== esbuild-netbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== -esbuild-netbsd-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.24.tgz#8f6f4c68b8e84e1e011330096f118013cc275601" - integrity sha512-1PzXU++e0PEaSuGpkhrVb+fDUw9mSp4laY9KRsjJkAuXPDj0rHz7KxK7CAbzY/ucufeIR9Ca8/oMpdVyWdaOGw== +esbuild-netbsd-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6" + integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA== esbuild-openbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== -esbuild-openbsd-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.24.tgz#6fbfc089103d154d74d4ea5a3aefc2844189094a" - integrity sha512-PvXh7JJAFM1kR87XDWbRrUkaOGVMS6Dq/IRXE2E02maio21JELk/jNRijTe81ztr8v+8K9osB3rG9zKqIdTxhQ== +esbuild-openbsd-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930" + integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A== esbuild-sunos-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== -esbuild-sunos-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.24.tgz#09931dbbc610f88feda1c071f2844e7d8867f46e" - integrity sha512-5iYi76kGQdyCqvSUknqjTZ0T19KvQD6hiklPAY6kVoQ1YoDUGCGILRI9eM/3zLNLG1bUFgcdJ2ktaBxwyXuHyA== +esbuild-sunos-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f" + integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw== esbuild-wasm@0.14.23, esbuild-wasm@^0.14.14: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-wasm@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.24.tgz#cd20c958cadc5c197faa818824cbfc6c7723c718" - integrity sha512-F088VEdfrRgNr1q8zLGV7BIXG0ZZ5BbxH1pnzt1MW2g7/eW95Xu27lxSHr+UnRZHFKB2pvpyEfIc3hly7VMZWg== +esbuild-wasm@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.25.tgz#819302709e79a8dd935429b5925585c58406e8fe" + integrity sha512-QZ8wt4jBN1IGVCp/A+u87BzNYOZeIp87d8TMQznU8w7NvZEvdwEWHVfjrOBZ6qqlOJj2/Y/kOUZLy0nk2n9anw== esbuild-windows-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== -esbuild-windows-32@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.24.tgz#3c8dddffaec6dce9a3ac8ef2bec939ec5af17e68" - integrity sha512-oDxcNu4P1FWTk2ompKB0uKHfxYw1QuubH189+PlfrrWT9tVu+mxT9dSwJu2erfUDz5dnr6h8rgkg95NGboeJxg== +esbuild-windows-32@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2" + integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA== esbuild-windows-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== -esbuild-windows-64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.24.tgz#e97081ee16d51c5a210cd1de15454689ac09fc8b" - integrity sha512-0uxXF1yLcGEM2es0OMDgQYQGZXQEEIdq8cG3IWhY2GGfFRLXpMgic1iUE+SKCh+b82t1ftUVoyG0zIFRn5NOIA== +esbuild-windows-64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f" + integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA== esbuild-windows-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== -esbuild-windows-arm64@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.24.tgz#0fcff2b58c772874f8dc52638557f817609ed699" - integrity sha512-unwaYRaIK/4OaZm0jnM3pLKMPEjaQqmT5teTciSZ86VYaiYZF27Ki7BW7R5ngk27gIw0ovIfUcn9DhJgp7qAlw== +esbuild-windows-arm64@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458" + integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA== esbuild@0.14.23, esbuild@^0.14.14: version "0.14.23" @@ -4715,31 +4715,31 @@ esbuild@0.14.23, esbuild@^0.14.14: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" -esbuild@0.14.24: - version "0.14.24" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.24.tgz#543899cf9ff0ebe206dc3de2ac18b9122d9f5697" - integrity sha512-NjfmycVQqY0+iKXoHXsvMAKx4XF/bD/dDm8pK6C/3aJO/i/uby+7AR4z8vu0qkiihkB5Y43+9BjdY2MGnswC/A== +esbuild@0.14.25: + version "0.14.25" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16" + integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q== optionalDependencies: - esbuild-android-64 "0.14.24" - esbuild-android-arm64 "0.14.24" - esbuild-darwin-64 "0.14.24" - esbuild-darwin-arm64 "0.14.24" - esbuild-freebsd-64 "0.14.24" - esbuild-freebsd-arm64 "0.14.24" - esbuild-linux-32 "0.14.24" - esbuild-linux-64 "0.14.24" - esbuild-linux-arm "0.14.24" - esbuild-linux-arm64 "0.14.24" - esbuild-linux-mips64le "0.14.24" - esbuild-linux-ppc64le "0.14.24" - esbuild-linux-riscv64 "0.14.24" - esbuild-linux-s390x "0.14.24" - esbuild-netbsd-64 "0.14.24" - esbuild-openbsd-64 "0.14.24" - esbuild-sunos-64 "0.14.24" - esbuild-windows-32 "0.14.24" - esbuild-windows-64 "0.14.24" - esbuild-windows-arm64 "0.14.24" + esbuild-android-64 "0.14.25" + esbuild-android-arm64 "0.14.25" + esbuild-darwin-64 "0.14.25" + esbuild-darwin-arm64 "0.14.25" + esbuild-freebsd-64 "0.14.25" + esbuild-freebsd-arm64 "0.14.25" + esbuild-linux-32 "0.14.25" + esbuild-linux-64 "0.14.25" + esbuild-linux-arm "0.14.25" + esbuild-linux-arm64 "0.14.25" + esbuild-linux-mips64le "0.14.25" + esbuild-linux-ppc64le "0.14.25" + esbuild-linux-riscv64 "0.14.25" + esbuild-linux-s390x "0.14.25" + esbuild-netbsd-64 "0.14.25" + esbuild-openbsd-64 "0.14.25" + esbuild-sunos-64 "0.14.25" + esbuild-windows-32 "0.14.25" + esbuild-windows-64 "0.14.25" + esbuild-windows-arm64 "0.14.25" escalade@^3.1.1: version "3.1.1" @@ -7231,6 +7231,13 @@ mini-css-extract-plugin@2.5.3: dependencies: schema-utils "^4.0.0" +mini-css-extract-plugin@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" + integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w== + dependencies: + schema-utils "^4.0.0" + minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" From e28c7159725a6d23b218dc6e0f317fc6123173f7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Mar 2022 15:56:43 +0100 Subject: [PATCH 0146/1388] fix(@angular-devkit/build-angular): ignore css only chunks during naming Don't name CSS only chunks. Closes #22769 --- .../src/webpack/plugins/named-chunks-plugin.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts index 3390682c5bf4..c2d2bd5e0a5f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/named-chunks-plugin.ts @@ -26,6 +26,12 @@ export class NamedChunksPlugin { return; } + if ([...chunk.files.values()].every((f) => f.endsWith('.css'))) { + // If all chunk files are CSS files skip. + // This happens when using `import('./styles.css')` in a lazy loaded module. + return undefined; + } + const name = this.generateName(chunk); if (name) { chunk.name = name; From d0407b33673abf44f8333ec718407ec3cdd66448 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Mar 2022 16:26:40 +0100 Subject: [PATCH 0147/1388] docs(@angular-devkit/build-angular): update link to Angular Package Format documentation The APF spec now lives in AIO. --- .../angular_devkit/build_angular/README.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/angular_devkit/build_angular/README.md b/packages/angular_devkit/build_angular/README.md index c076aa9225d6..68cc3f37106a 100644 --- a/packages/angular_devkit/build_angular/README.md +++ b/packages/angular_devkit/build_angular/README.md @@ -4,16 +4,16 @@ This package contains [Architect builders](/packages/angular_devkit/architect/RE ## Builders -| Name | Description | -| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| app-shell | Build an Angular [App shell](https://angular.io/guide/app-shell). | -| browser | Build an Angular application targeting a browser environment. | -| dev-server | A development server that provides live reloading. | -| extract-i18n | Extract i18n messages from an Angular application. | -| karma | Execute unit tests using [Karma](https://github.com/karma-runner/karma) test runner. | -| ng-packagr | Build and package an Angular library in [Angular Package Format (APF)](https://docs.google.com/document/d/1CZC2rcpxffTDfRDs6p1cfbmKNLA6x5O-NtkJglDaBVs/preview) format using [ng-packagr](https://github.com/ng-packagr/ng-packagr). | -| server | Build an Angular application targeting a [Node.js](https://nodejs.org) environment. | -| protractor | **Deprecated** - Run end-to-end tests using [Protractor](https://www.protractortest.org/) framework. | +| Name | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| app-shell | Build an Angular [App shell](https://angular.io/guide/app-shell). | +| browser | Build an Angular application targeting a browser environment. | +| dev-server | A development server that provides live reloading. | +| extract-i18n | Extract i18n messages from an Angular application. | +| karma | Execute unit tests using [Karma](https://github.com/karma-runner/karma) test runner. | +| ng-packagr | Build and package an Angular library in [Angular Package Format (APF)](https://angular.io/guide/angular-package-format) format using [ng-packagr](https://github.com/ng-packagr/ng-packagr). | +| server | Build an Angular application targeting a [Node.js](https://nodejs.org) environment. | +| protractor | **Deprecated** - Run end-to-end tests using [Protractor](https://www.protractortest.org/) framework. | ## Disclaimer From 433b6b49313478418a5a01e73cd55298835ff030 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Mar 2022 16:27:55 +0100 Subject: [PATCH 0148/1388] docs: remove redundant default empty strings values (cherry picked from commit 3d928c01c8196b1caba7b373eec870540ecda79e) --- .../build_angular/src/builders/browser/schema.json | 3 +-- .../build_angular/src/builders/server/schema.json | 3 +-- packages/schematics/angular/class/schema.json | 3 +-- packages/schematics/angular/interface/schema.json | 1 - .../core/json/schema/serializers/schema_benchmark.json | 6 +----- 5 files changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 6fb2c20b9100..a577723c4116 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -197,8 +197,7 @@ }, "resourcesOutputPath": { "type": "string", - "description": "The path where style resources will be placed, relative to outputPath.", - "default": "" + "description": "The path where style resources will be placed, relative to outputPath." }, "aot": { "type": "boolean", diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index 17754d07187a..0a99ee857ef8 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -74,8 +74,7 @@ }, "resourcesOutputPath": { "type": "string", - "description": "The path where style resources will be placed, relative to outputPath.", - "default": "" + "description": "The path where style resources will be placed, relative to outputPath." }, "sourceMap": { "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.", diff --git a/packages/schematics/angular/class/schema.json b/packages/schematics/angular/class/schema.json index e10969584782..1999daaea8f0 100644 --- a/packages/schematics/angular/class/schema.json +++ b/packages/schematics/angular/class/schema.json @@ -36,8 +36,7 @@ }, "type": { "type": "string", - "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\".", - "default": "" + "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } }, "required": ["name"] diff --git a/packages/schematics/angular/interface/schema.json b/packages/schematics/angular/interface/schema.json index 0a949d63d904..5ae1aeaa9b80 100644 --- a/packages/schematics/angular/interface/schema.json +++ b/packages/schematics/angular/interface/schema.json @@ -30,7 +30,6 @@ }, "prefix": { "type": "string", - "default": "", "description": "A prefix to apply to generated selectors." }, "type": { diff --git a/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json b/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json index 3a22c614f601..58a0e1e82e4a 100644 --- a/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json +++ b/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json @@ -55,17 +55,14 @@ "properties": { "glob": { "type": "string", - "default": "", "description": "The pattern to match." }, "input": { "type": "string", - "default": "", "description": "The dir to search within." }, "output": { "type": "string", - "default": "", "description": "The output path (relative to the outDir)." } }, @@ -395,8 +392,7 @@ "properties": { "prefix": { "description": "Prefix to apply to interface names. (i.e. I)", - "type": "string", - "default": "" + "type": "string" } } }, From ef753628a648f4b15ce11531e879b9bab73b7385 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Mar 2022 16:46:54 +0100 Subject: [PATCH 0149/1388] refactor(@angular-devkit/build-angular): move dev-server specs into a seperate directory --- .../src/builders/dev-server/{ => specs}/hmr_spec.ts | 2 +- .../src/builders/dev-server/{ => specs}/index_spec.ts | 2 +- .../src/builders/dev-server/{ => specs}/live-reload_spec.ts | 2 +- .../src/builders/dev-server/{ => specs}/ssl_spec.ts | 2 +- .../src/builders/dev-server/{ => specs}/works_spec.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename packages/angular_devkit/build_angular/src/builders/dev-server/{ => specs}/hmr_spec.ts (98%) rename packages/angular_devkit/build_angular/src/builders/dev-server/{ => specs}/index_spec.ts (96%) rename packages/angular_devkit/build_angular/src/builders/dev-server/{ => specs}/live-reload_spec.ts (99%) rename packages/angular_devkit/build_angular/src/builders/dev-server/{ => specs}/ssl_spec.ts (98%) rename packages/angular_devkit/build_angular/src/builders/dev-server/{ => specs}/works_spec.ts (98%) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/hmr_spec.ts similarity index 98% rename from packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts rename to packages/angular_devkit/build_angular/src/builders/dev-server/specs/hmr_spec.ts index 3918d6b8881f..41a493ae8a36 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/hmr_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/hmr_spec.ts @@ -10,7 +10,7 @@ import { Architect, BuilderRun } from '@angular-devkit/architect'; // eslint-disable-next-line import/no-extraneous-dependencies import puppeteer, { Browser, Page } from 'puppeteer'; import { debounceTime, switchMap, take } from 'rxjs/operators'; -import { createArchitect, host } from '../../testing/test-utils'; +import { createArchitect, host } from '../../../testing/test-utils'; /* eslint-disable @typescript-eslint/no-explicit-any */ declare const document: any; diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/index_spec.ts similarity index 96% rename from packages/angular_devkit/build_angular/src/builders/dev-server/index_spec.ts rename to packages/angular_devkit/build_angular/src/builders/dev-server/specs/index_spec.ts index 2787cd93118b..c654826bff01 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/index_spec.ts @@ -9,7 +9,7 @@ import { DevServerBuilderOutput } from '@angular-devkit/build-angular'; import { workspaces } from '@angular-devkit/core'; import fetch from 'node-fetch'; // eslint-disable-line import/no-extraneous-dependencies -import { createArchitect, host } from '../../testing/test-utils'; +import { createArchitect, host } from '../../../testing/test-utils'; describe('Dev Server Builder index', () => { const targetSpec = { project: 'app', target: 'serve' }; diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts similarity index 99% rename from packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts rename to packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts index c2331818c769..fe55172ebde7 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts @@ -12,7 +12,7 @@ import { tags } from '@angular-devkit/core'; import { createProxyServer } from 'http-proxy'; import puppeteer, { Browser, Page } from 'puppeteer'; import { debounceTime, switchMap, take } from 'rxjs/operators'; -import { createArchitect, host } from '../../testing/test-utils'; +import { createArchitect, host } from '../../../testing/test-utils'; // eslint-disable-next-line @typescript-eslint/no-explicit-any declare const document: any; diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/ssl_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/ssl_spec.ts similarity index 98% rename from packages/angular_devkit/build_angular/src/builders/dev-server/ssl_spec.ts rename to packages/angular_devkit/build_angular/src/builders/dev-server/specs/ssl_spec.ts index 24910873bae4..ab3583e7dae6 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/ssl_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/ssl_spec.ts @@ -11,7 +11,7 @@ import { DevServerBuilderOutput } from '@angular-devkit/build-angular'; import { tags } from '@angular-devkit/core'; import * as https from 'https'; import fetch from 'node-fetch'; // eslint-disable-line import/no-extraneous-dependencies -import { createArchitect, host } from '../../testing/test-utils'; +import { createArchitect, host } from '../../../testing/test-utils'; describe('Dev Server Builder ssl', () => { const target = { project: 'app', target: 'serve' }; diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts similarity index 98% rename from packages/angular_devkit/build_angular/src/builders/dev-server/works_spec.ts rename to packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts index 8f9028a010fa..90ef75c2274b 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts @@ -10,7 +10,7 @@ import { Architect, BuilderRun } from '@angular-devkit/architect'; import { DevServerBuilderOutput } from '@angular-devkit/build-angular'; import { normalize, virtualFs } from '@angular-devkit/core'; import fetch from 'node-fetch'; // eslint-disable-line import/no-extraneous-dependencies -import { createArchitect, host } from '../../testing/test-utils'; +import { createArchitect, host } from '../../../testing/test-utils'; describe('Dev Server Builder', () => { const target = { project: 'app', target: 'serve' }; From 4ebfe03415ebe4e8f1625286d1be8bd1b54d3862 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Mar 2022 16:57:07 +0100 Subject: [PATCH 0150/1388] feat(@angular/cli): drop support for Node.js 12 Node.js v12 will become EOL on 2022-04-30. As a result, Angular CLI v14 will no longer support Node.js v12. BREAKING CHANGE: Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later. --- constants.bzl | 2 +- docs/DEVELOPER.md | 2 +- lib/packages.ts | 2 +- package.json | 4 +- packages/angular/cli/bin/ng.js | 8 +- packages/angular/cli/commands/update-impl.ts | 31 ++----- packages/angular/cli/lib/cli/index.ts | 6 +- .../src/utils/delete-output-dir.ts | 19 +---- .../build_angular/src/utils/i18n-options.ts | 19 +---- .../build_angular/src/utils/purge-cache.ts | 17 +--- packages/angular_devkit/core/node/host.ts | 85 ++----------------- scripts/build-bazel.ts | 19 +---- scripts/build-schema.ts | 20 +---- scripts/build.ts | 19 +---- tests/legacy-cli/e2e/utils/fs.ts | 32 ++----- tools/test/expected_package.json | 2 +- yarn.lock | 8 +- 17 files changed, 42 insertions(+), 253 deletions(-) diff --git a/constants.bzl b/constants.bzl index 128486a28011..b45e2db7819a 100644 --- a/constants.bzl +++ b/constants.bzl @@ -1,5 +1,5 @@ # Engine versions to stamp in a release package.json -RELEASE_ENGINES_NODE = "^12.20.0 || ^14.15.0 || >=16.10.0" +RELEASE_ENGINES_NODE = "^14.15.0 || >=16.10.0" RELEASE_ENGINES_NPM = "^6.11.0 || ^7.5.6 || >=8.0.0" RELEASE_ENGINES_YARN = ">= 1.13.0" diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index c8c58812bebb..18cfcefb314b 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -6,7 +6,7 @@ To get started locally, follow these instructions: 1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork). 1. Clone to your local computer using `git`. -1. Make sure that you have Node `v12.20`, `v14.15`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/). +1. Make sure that you have Node `v14.15`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/). 1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/). 1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies. diff --git a/lib/packages.ts b/lib/packages.ts index af923e99d72c..5abb7063f75d 100644 --- a/lib/packages.ts +++ b/lib/packages.ts @@ -85,7 +85,7 @@ function loadPackageJson(p: string) { // Overwrite engines to a common default. case 'engines': pkg['engines'] = { - 'node': '^12.20.0 || ^14.15.0 || >=16.10.0', + 'node': '^14.15.0 || >=16.10.0', 'npm': '^6.11.0 || ^7.5.6 || >=8.0.0', 'yarn': '>= 1.13.0', }; diff --git a/package.json b/package.json index bf4f48624ec1..8a58a4b70e67 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "url": "https://github.com/angular/angular-cli.git" }, "engines": { - "node": "^12.20.0 || ^14.15.0 || ^16.10.0", + "node": "^14.15.0 || ^16.10.0", "yarn": ">=1.21.1 <2", "npm": "Please use yarn instead of NPM to install dependencies" }, @@ -104,7 +104,7 @@ "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", "@types/minimatch": "3.0.5", - "@types/node": "~12.12.6", + "@types/node": "^14.15.0", "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", "@types/parse5-html-rewriting-stream": "^5.1.2", diff --git a/packages/angular/cli/bin/ng.js b/packages/angular/cli/bin/ng.js index c90124127248..5d5744b4c0ed 100755 --- a/packages/angular/cli/bin/ng.js +++ b/packages/angular/cli/bin/ng.js @@ -36,19 +36,17 @@ if (version[0] % 2 === 1 && version[0] > 16) { require('./bootstrap'); } else if ( - version[0] < 12 || - version[0] === 13 || + version[0] < 14 || version[0] === 15 || - (version[0] === 12 && version[1] < 20) || (version[0] === 14 && version[1] < 15) || (version[0] === 16 && version[1] < 10) ) { - // Error and exit if less than 12.20 or 13.x or less than 14.15 or 15.x or less than 16.10 + // Error and exit if less than 14.15 or 15.x or less than 16.10 console.error( 'Node.js version ' + process.version + ' detected.\n' + - 'The Angular CLI requires a minimum Node.js version of either v12.20, v14.15, or v16.10.\n\n' + + 'The Angular CLI requires a minimum Node.js version of either v14.15, or v16.10.\n\n' + 'Please update your Node.js version or visit https://nodejs.org/ for additional instructions.\n', ); diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index 9acd390c71b1..6f0359af2ef3 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -635,32 +635,11 @@ export class UpdateCommand extends Command { try { // Remove existing node modules directory to provide a stronger guarantee that packages // will be hoisted into the correct locations. - - // The below should be removed and replaced with just `rm` when support for Node.Js 12 is removed. - const { rm, rmdir } = fs.promises as typeof fs.promises & { - rm?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => Promise; - }; - - if (rm) { - await rm(path.join(this.context.root, 'node_modules'), { - force: true, - recursive: true, - maxRetries: 3, - }); - } else { - await rmdir(path.join(this.context.root, 'node_modules'), { - recursive: true, - maxRetries: 3, - }); - } + await fs.promises.rm(path.join(this.context.root, 'node_modules'), { + force: true, + recursive: true, + maxRetries: 3, + }); } catch {} const result = await installAllPackages( diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index 820db03dfbac..cc57f6c68107 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -22,11 +22,11 @@ const isDebug = debugEnv !== undefined && debugEnv !== '0' && debugEnv.toLowerCa /* eslint-disable no-console */ export default async function (options: { testing?: boolean; cliArgs: string[] }) { // This node version check ensures that the requirements of the project instance of the CLI are met - const version = process.versions.node.split('.').map((part) => Number(part)); - if (version[0] < 12 || (version[0] === 12 && version[1] < 20)) { + const [major, minor] = process.versions.node.split('.').map((part) => Number(part)); + if (major < 14 || (major === 14 && minor < 15)) { process.stderr.write( `Node.js version ${process.version} detected.\n` + - 'The Angular CLI requires a minimum v12.20.\n\n' + + 'The Angular CLI requires a minimum v14.15.\n\n' + 'Please update your Node.js version or visit https://nodejs.org/ for additional instructions.\n', ); diff --git a/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts b/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts index 2bb58977b9c0..d1e770a8f5be 100644 --- a/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts +++ b/packages/angular_devkit/build_angular/src/utils/delete-output-dir.ts @@ -18,22 +18,5 @@ export function deleteOutputDir(root: string, outputPath: string): void { throw new Error('Output path MUST not be project root directory!'); } - // The below should be removed and replace with just `rmSync` when support for Node.Js 12 is removed. - const { rmSync, rmdirSync } = fs as typeof fs & { - rmSync?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => void; - }; - - if (rmSync) { - rmSync(resolvedOutputPath, { force: true, recursive: true, maxRetries: 3 }); - } else { - rmdirSync(resolvedOutputPath, { recursive: true, maxRetries: 3 }); - } + fs.rmSync(resolvedOutputPath, { force: true, recursive: true, maxRetries: 3 }); } diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index bd62dd4395ff..461275d767cb 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -279,25 +279,8 @@ function findLocaleDataPath(locale: string, resolver: (locale: string) => string /** Remove temporary directory used for i18n processing. */ function deleteTempDirectory(tempPath: string): void { - // The below should be removed and replaced with just `rmSync` when support for Node.Js 12 is removed. - const { rmSync, rmdirSync } = fs as typeof fs & { - rmSync?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => void; - }; - try { - if (rmSync) { - rmSync(tempPath, { force: true, recursive: true, maxRetries: 3 }); - } else { - rmdirSync(tempPath, { recursive: true, maxRetries: 3 }); - } + fs.rmSync(tempPath, { force: true, recursive: true, maxRetries: 3 }); } catch {} } diff --git a/packages/angular_devkit/build_angular/src/utils/purge-cache.ts b/packages/angular_devkit/build_angular/src/utils/purge-cache.ts index 6f11bbd938be..f0b9ca21ea2b 100644 --- a/packages/angular_devkit/build_angular/src/utils/purge-cache.ts +++ b/packages/angular_devkit/build_angular/src/utils/purge-cache.ts @@ -25,27 +25,12 @@ export async function purgeStaleBuildCache(context: BuilderContext): Promise Promise; - }; - const entriesToDelete = (await fsPromises.readdir(basePath, { withFileTypes: true })) .filter((d) => join(basePath, d.name) !== path && d.isDirectory()) .map((d) => { const subPath = join(basePath, d.name); try { - return rm - ? rm(subPath, { force: true, recursive: true, maxRetries: 3 }) - : rmdir(subPath, { recursive: true, maxRetries: 3 }); + return fsPromises.rm(subPath, { force: true, recursive: true, maxRetries: 3 }); } catch {} }); diff --git a/packages/angular_devkit/core/node/host.ts b/packages/angular_devkit/core/node/host.ts index 2b0aacb5b2f3..ddf1f5f0ef7a 100644 --- a/packages/angular_devkit/core/node/host.ts +++ b/packages/angular_devkit/core/node/host.ts @@ -18,22 +18,12 @@ import fs, { readdirSync, renameSync, statSync, - unlinkSync, writeFileSync, } from 'fs'; import { dirname as pathDirname } from 'path'; -import { Observable, concat, from as observableFrom, of, throwError } from 'rxjs'; -import { concatMap, map, mergeMap, publish, refCount } from 'rxjs/operators'; -import { - Path, - PathFragment, - dirname, - fragment, - getSystemPath, - join, - normalize, - virtualFs, -} from '../src'; +import { Observable, from as observableFrom } from 'rxjs'; +import { map, mergeMap, publish, refCount } from 'rxjs/operators'; +import { Path, PathFragment, dirname, fragment, getSystemPath, normalize, virtualFs } from '../src'; async function exists(path: PathLike): Promise { try { @@ -88,31 +78,8 @@ export class NodeJsAsyncHost implements virtualFs.Host { } delete(path: Path): Observable { - return this.isDirectory(path).pipe( - mergeMap(async (isDirectory) => { - if (isDirectory) { - // The below should be removed and replaced with just `rm` when support for Node.Js 12 is removed. - const { rm, rmdir } = fsPromises as typeof fsPromises & { - rm?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => Promise; - }; - - if (rm) { - await rm(getSystemPath(path), { force: true, recursive: true, maxRetries: 3 }); - } else { - await rmdir(getSystemPath(path), { recursive: true, maxRetries: 3 }); - } - } else { - await fsPromises.unlink(getSystemPath(path)); - } - }), + return observableFrom( + fsPromises.rm(getSystemPath(path), { force: true, recursive: true, maxRetries: 3 }), ); } @@ -208,45 +175,11 @@ export class NodeJsSyncHost implements virtualFs.Host { } delete(path: Path): Observable { - return this.isDirectory(path).pipe( - concatMap((isDir) => { - if (isDir) { - const dirPaths = readdirSync(getSystemPath(path)); - const rmDirComplete = new Observable((obs) => { - // The below should be removed and replaced with just `rmSync` when support for Node.Js 12 is removed. - const { rmSync, rmdirSync } = fs as typeof fs & { - rmSync?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => void; - }; - - if (rmSync) { - rmSync(getSystemPath(path), { force: true, recursive: true, maxRetries: 3 }); - } else { - rmdirSync(getSystemPath(path), { recursive: true, maxRetries: 3 }); - } - - obs.complete(); - }); + return new Observable((obs) => { + fs.rmSync(getSystemPath(path), { force: true, recursive: true, maxRetries: 3 }); - return concat(...dirPaths.map((name) => this.delete(join(path, name))), rmDirComplete); - } else { - try { - unlinkSync(getSystemPath(path)); - } catch (err) { - return throwError(err); - } - - return of(undefined); - } - }), - ); + obs.complete(); + }); } rename(from: Path, to: Path): Observable { diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts index b1960cc1aa38..e38dd8622c41 100644 --- a/scripts/build-bazel.ts +++ b/scripts/build-bazel.ts @@ -50,24 +50,7 @@ function _recursiveCopy(from: string, to: string, logger: logging.Logger) { } function rimraf(location: string) { - // The below should be removed and replace with just `rmSync` when support for Node.Js 12 is removed. - const { rmSync, rmdirSync } = fs as typeof fs & { - rmSync?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => void; - }; - - if (rmSync) { - rmSync(location, { force: true, recursive: true, maxRetries: 3 }); - } else { - rmdirSync(location, { recursive: true, maxRetries: 3 }); - } + fs.rmSync(location, { force: true, recursive: true, maxRetries: 3 }); } function _clean(logger: logging.Logger) { diff --git a/scripts/build-schema.ts b/scripts/build-schema.ts index c6bd9e2d21f0..148f07b303f5 100644 --- a/scripts/build-schema.ts +++ b/scripts/build-schema.ts @@ -19,25 +19,7 @@ export default async function (argv: {}, logger: logging.Logger) { const quicktypeRunner = require('../tools/quicktype_runner'); logger.info('Removing dist-schema/...'); - - // The below should be removed and replace with just `rmSync` when support for Node.Js 12 is removed. - const { rmSync, rmdirSync } = fs as typeof fs & { - rmSync?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => void; - }; - - if (rmSync) { - rmSync(dist, { force: true, recursive: true, maxRetries: 3 }); - } else { - rmdirSync(dist, { recursive: true, maxRetries: 3 }); - } + fs.rmSync(dist, { force: true, recursive: true, maxRetries: 3 }); logger.info('Generating JSON Schema....'); diff --git a/scripts/build.ts b/scripts/build.ts index e991074d9ae1..8d7a263ba577 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -122,24 +122,7 @@ function _rm(p: string) { } function rimraf(location: string) { - // The below should be removed and replace with just `rmSync` when support for Node.Js 12 is removed. - const { rmSync, rmdirSync } = fs as typeof fs & { - rmSync?: ( - path: fs.PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => void; - }; - - if (rmSync) { - rmSync(location, { force: true, recursive: true, maxRetries: 3 }); - } else { - rmdirSync(location, { recursive: true, maxRetries: 3 }); - } + fs.rmSync(location, { force: true, recursive: true, maxRetries: 3 }); } function _clean(logger: logging.Logger) { diff --git a/tests/legacy-cli/e2e/utils/fs.ts b/tests/legacy-cli/e2e/utils/fs.ts index cbb6abc0caaa..69ddf92d944c 100644 --- a/tests/legacy-cli/e2e/utils/fs.ts +++ b/tests/legacy-cli/e2e/utils/fs.ts @@ -14,31 +14,11 @@ export function deleteFile(path: string): Promise { } export function rimraf(path: string): Promise { - // The below should be removed and replaced with just `rm` when support for Node.Js 12 is removed. - const { rm, rmdir } = fs as typeof fs & { - rm?: ( - path: PathLike, - options?: { - force?: boolean; - maxRetries?: number; - recursive?: boolean; - retryDelay?: number; - }, - ) => Promise; - }; - - if (rm) { - return rm(path, { - force: true, - recursive: true, - maxRetries: 3, - }); - } else { - return rmdir(path, { - recursive: true, - maxRetries: 3, - }); - } + return fs.rm(path, { + force: true, + recursive: true, + maxRetries: 3, + }); } export function moveFile(from: string, to: string): Promise { @@ -49,7 +29,7 @@ export function symlinkFile(from: string, to: string, type?: string): Promise { +export function createDir(path: string): Promise { return fs.mkdir(path, { recursive: true }); } diff --git a/tools/test/expected_package.json b/tools/test/expected_package.json index b0df6c051c75..cfa3aec33047 100644 --- a/tools/test/expected_package.json +++ b/tools/test/expected_package.json @@ -35,7 +35,7 @@ } }, "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "node": "^14.15.0 || >=16.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } diff --git a/yarn.lock b/yarn.lock index 4dfd0007a801..a493e4ca59bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2013,10 +2013,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== -"@types/node@~12.12.6": - version "12.12.70" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.70.tgz#adf70b179c3ee17620215ee4cb5c68c95f7c37ec" - integrity sha512-i5y7HTbvhonZQE+GnUM2rz1Bi8QkzxdQmEv1LKOv4nWyaQk/gdeiTApuQR3PDJHX7WomAbpx2wlWSEpxXGZ/UQ== +"@types/node@^14.15.0": + version "14.18.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" + integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== "@types/npm-package-arg@^6.1.0": version "6.1.1" From 3f8968a56dc7ada612f585cda4a64decab2259de Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 4 Mar 2022 21:35:09 +0100 Subject: [PATCH 0151/1388] ci: update job to run Node.js 14.19 Node.js 12 is no longer supported --- .circleci/config.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 62ca9b324a07..a0bc02bf0ed8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,9 +17,9 @@ orbs: ## IMPORTANT # Windows needs its own cache key because binaries in node_modules are different. # See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI. -var_1: &cache_key v1-angular_devkit-14.17-{{ checksum "yarn.lock" }} -var_1_win: &cache_key_win v1-angular_devkit-win-12.22-{{ checksum "yarn.lock" }} -var_3: &default_nodeversion '14.17' +var_1: &cache_key v1-angular_devkit-14.19-{{ checksum "yarn.lock" }} +var_1_win: &cache_key_win v1-angular_devkit-win-14.19-{{ checksum "yarn.lock" }} +var_3: &default_nodeversion '14.19' # Workspace initially persisted by the `setup` job, and then enhanced by `setup-and-build-win`. # https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs # https://circleci.com/blog/deep-diving-into-circleci-workspaces/ @@ -83,8 +83,8 @@ commands: at: *workspace_location setup_windows: steps: - - run: nvm install 12.22.1 - - run: nvm use 12.22.1 + - run: nvm install 14.19 + - run: nvm use 14.19 - run: npm install -g yarn@1.22.10 - run: node --version - run: yarn --version From df41f2ba1e0aae0a2b61b564345c0a9f430ad66d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 7 Mar 2022 02:22:58 +0000 Subject: [PATCH 0152/1388] build: update all non-major dependencies --- package.json | 6 +-- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 43 ++++++++++++++----- 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 8a58a4b70e67..5a24ac7979b0 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", - "css-loader": "6.6.0", + "css-loader": "6.7.0", "debug": "^4.1.1", "esbuild": "0.14.25", "esbuild-wasm": "0.14.25", @@ -178,7 +178,7 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.7", + "postcss": "8.4.8", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.2", @@ -209,7 +209,7 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.5.5", - "verdaccio": "5.6.2", + "verdaccio": "5.7.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.70.0", "webpack-dev-middleware": "5.3.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e25e1af694db..e65a396b5fd6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", - "css-loader": "6.6.0", + "css-loader": "6.7.0", "esbuild-wasm": "0.14.25", "glob": "7.2.0", "https-proxy-agent": "5.0.0", @@ -46,7 +46,7 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.7", + "postcss": "8.4.8", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.2", diff --git a/yarn.lock b/yarn.lock index a493e4ca59bb..17378b0ca9fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2364,10 +2364,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.18": - version "6.0.0-6-next.18" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.18.tgz#45e5854a717a58a438fc2358bb5e932e1e659fc9" - integrity sha512-ofh4yke0950ry+ilWCdFIjHPadKK9xvjC/nzKEaKEFAxJxTt90guZNp++l1rz/LAQ7BMAX905G/2N//6M85+tw== +"@verdaccio/ui-theme@6.0.0-6-next.20": + version "6.0.0-6-next.20" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.20.tgz#359ce91c1d7f00a9696cee282988fab667450dab" + integrity sha512-Mr3sNJ577lMartUC3Dbu1nTZP+wXISFI20SwjI9JmQLBw6CRZtwyUbQCrrLYiT34BMVMxC4kC9j0akxLCCcDTw== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3805,6 +3805,20 @@ css-loader@6.6.0: postcss-value-parser "^4.2.0" semver "^7.3.5" +css-loader@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.0.tgz#c1200da1dfffe6643b18bda20fdd84cad3e36d39" + integrity sha512-S7HCfCiDHLA+VXKqdZwyRZgoO0R9BnKDnVIoHMq5grl3N86zAu7MB+FBWHr5xOJC8SmvpTLha/2NpfFkFEN/ig== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.7" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.5" + css-prefers-color-scheme@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" @@ -8560,7 +8574,16 @@ postcss@8.4.6: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.7, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: +postcss@8.4.8, postcss@^8.4.7: + version "8.4.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" + integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: version "8.4.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== @@ -10678,16 +10701,16 @@ verdaccio-htpasswd@10.2.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.6.2: - version "5.6.2" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.6.2.tgz#6f3d4f854fc82bdce4cb420a387ecc1feaf991a1" - integrity sha512-r0BI31Dt5RnXxpCdWPTGXSthIg4XRB6onYRXziEi1stHd1TmwzAV35Jiv7FXu25Rwvh8dHGSozTxKi0t3kbjGg== +verdaccio@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.7.0.tgz#aa37ac88213b5b818169b66240893e192c9ee922" + integrity sha512-I4EKZ27bU9XnKkubqjPKxNo9unZ5PzgXBnC+79MEjiKKUKCt5N5lZZb4qq9fBbENyfEV51xf7Z274JxbeOXfzQ== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.0" "@verdaccio/readme" "10.3.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.18" + "@verdaccio/ui-theme" "6.0.0-6-next.20" JSONStream "1.3.5" async "3.2.3" body-parser "1.19.1" From 90a5a4c2845a395d7a2d6148da4e19f2c0745c28 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 7 Mar 2022 15:02:15 +0100 Subject: [PATCH 0153/1388] build: update `@types/node` to `^14.15.0` Version 12 is no longer supported. --- .../schematics_cli/blank/project-files/package.json | 2 +- .../schematics_cli/schematic/files/package.json | 2 +- .../update-14/angular-packages-version-prefix_spec.ts | 4 ++-- .../schematics/angular/utility/latest-versions/package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json b/packages/angular_devkit/schematics_cli/blank/project-files/package.json index ee5f904eebea..8aeeb08a7599 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/package.json +++ b/packages/angular_devkit/schematics_cli/blank/project-files/package.json @@ -18,7 +18,7 @@ "typescript": "~4.5.2" }, "devDependencies": { - "@types/node": "^12.11.1", + "@types/node": "^14.15.0", "@types/jasmine": "~3.10.0", "jasmine": "^4.0.0" } diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 095c24b049b8..27a9b0e7e954 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -18,7 +18,7 @@ "typescript": "~4.5.2" }, "devDependencies": { - "@types/node": "^12.11.1", + "@types/node": "^14.15.0", "@types/jasmine": "~3.10.0", "jasmine": "~4.0.0" } diff --git a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts index 07c3226abe32..07156623389b 100644 --- a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts +++ b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts @@ -46,7 +46,7 @@ describe('Migration to update Angular packages version prefix to `^` instead of '@angular/compiler-cli': '~13.1.0', '@angular/localize': '^13.1.3', '@types/jasmine': '~3.10.0', - '@types/node': '^12.11.1', + '@types/node': '^14.15.0', 'jasmine-core': '~3.10.0', 'karma': '~6.3.0', 'karma-chrome-launcher': '~3.1.0', @@ -83,7 +83,7 @@ describe('Migration to update Angular packages version prefix to `^` instead of '@angular/compiler-cli': '^13.1.0', '@angular/localize': '^13.1.3', '@types/jasmine': '~3.10.0', - '@types/node': '^12.11.1', + '@types/node': '^14.15.0', 'jasmine-core': '~3.10.0', 'karma': '~6.3.0', 'karma-chrome-launcher': '~3.1.0', diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 35cbb245a326..d8381ddddc63 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "@types/jasmine": "~3.10.0", - "@types/node": "^12.11.1", + "@types/node": "^14.15.0", "jasmine-core": "~4.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", From 3ab4d79a2d6ecdc51e376db0d6e402cb7d93c96d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Mar 2022 10:45:15 +0000 Subject: [PATCH 0154/1388] build: update all non-major dependencies --- package.json | 6 +-- yarn.lock | 114 +++++++++++++++++++++++++-------------------------- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index 5a24ac7979b0..b50743f1faa9 100644 --- a/package.json +++ b/package.json @@ -116,8 +116,8 @@ "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", "@types/yargs-parser": "^21.0.0", - "@typescript-eslint/eslint-plugin": "5.13.0", - "@typescript-eslint/parser": "5.13.0", + "@typescript-eslint/eslint-plugin": "5.14.0", + "@typescript-eslint/parser": "5.14.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", "ajv-formats": "2.1.1", @@ -184,7 +184,7 @@ "postcss-preset-env": "7.4.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.4.1", + "puppeteer": "13.5.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 17378b0ca9fc..2236c40b1fa8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2241,14 +2241,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz#2809052b85911ced9c54a60dac10e515e9114497" - integrity sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ== - dependencies: - "@typescript-eslint/scope-manager" "5.13.0" - "@typescript-eslint/type-utils" "5.13.0" - "@typescript-eslint/utils" "5.13.0" +"@typescript-eslint/eslint-plugin@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz#5119b67152356231a0e24b998035288a9cd21335" + integrity sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w== + dependencies: + "@typescript-eslint/scope-manager" "5.14.0" + "@typescript-eslint/type-utils" "5.14.0" + "@typescript-eslint/utils" "5.14.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2256,69 +2256,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.13.0.tgz#0394ed8f2f849273c0bf4b811994d177112ced5c" - integrity sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg== +"@typescript-eslint/parser@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.14.0.tgz#7c79f898aa3cff0ceee6f1d34eeed0f034fb9ef3" + integrity sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw== dependencies: - "@typescript-eslint/scope-manager" "5.13.0" - "@typescript-eslint/types" "5.13.0" - "@typescript-eslint/typescript-estree" "5.13.0" + "@typescript-eslint/scope-manager" "5.14.0" + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/typescript-estree" "5.14.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz#cf6aff61ca497cb19f0397eea8444a58f46156b6" - integrity sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA== +"@typescript-eslint/scope-manager@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz#ea518962b42db8ed0a55152ea959c218cb53ca7b" + integrity sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw== dependencies: - "@typescript-eslint/types" "5.13.0" - "@typescript-eslint/visitor-keys" "5.13.0" + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/visitor-keys" "5.14.0" -"@typescript-eslint/type-utils@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz#b0efd45c85b7bab1125c97b752cab3a86c7b615d" - integrity sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg== +"@typescript-eslint/type-utils@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz#711f08105860b12988454e91df433567205a8f0b" + integrity sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw== dependencies: - "@typescript-eslint/utils" "5.13.0" + "@typescript-eslint/utils" "5.14.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.13.0.tgz#da1de4ae905b1b9ff682cab0bed6b2e3be9c04e5" - integrity sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg== +"@typescript-eslint/types@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.14.0.tgz#96317cf116cea4befabc0defef371a1013f8ab11" + integrity sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw== -"@typescript-eslint/typescript-estree@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz#b37c07b748ff030a3e93d87c842714e020b78141" - integrity sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA== +"@typescript-eslint/typescript-estree@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz#78b7f7385d5b6f2748aacea5c9b7f6ae62058314" + integrity sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA== dependencies: - "@typescript-eslint/types" "5.13.0" - "@typescript-eslint/visitor-keys" "5.13.0" + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/visitor-keys" "5.14.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.13.0.tgz#2328feca700eb02837298339a2e49c46b41bd0af" - integrity sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ== +"@typescript-eslint/utils@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.14.0.tgz#6c8bc4f384298cbbb32b3629ba7415f9f80dc8c4" + integrity sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.13.0" - "@typescript-eslint/types" "5.13.0" - "@typescript-eslint/typescript-estree" "5.13.0" + "@typescript-eslint/scope-manager" "5.14.0" + "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/typescript-estree" "5.14.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.13.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz#f45ff55bcce16403b221ac9240fbeeae4764f0fd" - integrity sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g== +"@typescript-eslint/visitor-keys@5.14.0": + version "5.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz#1927005b3434ccd0d3ae1b2ecf60e65943c36986" + integrity sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw== dependencies: - "@typescript-eslint/types" "5.13.0" + "@typescript-eslint/types" "5.14.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -4092,10 +4092,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -devtools-protocol@0.0.960912: - version "0.0.960912" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.960912.tgz#411c1fa355eddb72f06c4a8743f2808766db6245" - integrity sha512-I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg== +devtools-protocol@0.0.969999: + version "0.0.969999" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.969999.tgz#3d6be0a126b3607bb399ae2719b471dda71f3478" + integrity sha512-6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ== dezalgo@^1.0.0: version "1.0.3" @@ -8743,14 +8743,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.4.1: - version "13.4.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.4.1.tgz#495b91d2fae3e9761a31bab1820ad179caac0fd9" - integrity sha512-2arcYPEGvLV9HvOw01Zv1b1IAXrMWHqsFJn0Hn00qe9HtCmaF0b8FlrbdLjCIbkaFc6icH5+GqcG8R5KxlJSRg== +puppeteer@13.5.0: + version "13.5.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.0.tgz#fd30692fbed18bd4964dce3517cc952af9b45d7d" + integrity sha512-raPr2YZ3RZLboGwt7jJgusJTBRDaVEUiPOSOWWFLV1oj07xqT5UqqbjmNXFXlMlkhF/NwmcEInW64VhvyllVdw== dependencies: cross-fetch "3.1.5" debug "4.3.3" - devtools-protocol "0.0.960912" + devtools-protocol "0.0.969999" extract-zip "2.0.1" https-proxy-agent "5.0.0" pkg-dir "4.2.0" From 21cff22ed0f106368818823a426a1659b4b8d206 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Mar 2022 10:44:32 +0000 Subject: [PATCH 0155/1388] build: update github/codeql-action action to v1.1.4 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 8913fbef7f02..fec0064592e5 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@75f07e7ab2ee63cba88752d8c696324e4df67466 # tag=v1.1.3 + uses: github/codeql-action/upload-sarif@f5d822707ee6e8fb81b04a5c0040b736da22e587 # tag=v1.1.4 with: sarif_file: results.sarif From bc1b36d94904a1e2a0675e671f4fcb2c616487a5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 7 Mar 2022 08:28:32 +0000 Subject: [PATCH 0156/1388] build: lock file maintenance --- yarn.lock | 315 +++++++++++++++++++++++------------------------------- 1 file changed, 133 insertions(+), 182 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2236c40b1fa8..a9d983a06299 100644 --- a/yarn.lock +++ b/yarn.lock @@ -170,14 +170,15 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.4.tgz#c179a0b0e82881ee9ec98a3ba8c54e686bf6405b" - integrity sha512-cCgf8Crx86hvZQX8lc7Yy5fedRI4trAXYsysrJ7ISRohfFk31Z/W5BEpKO8CkX51Ja5IfJPyoI2DVVTvrwzsEQ== + version "13.2.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.5.tgz#15f112b2ac4e21f72a3a77ee0db8fb2a1e72bffc" + integrity sha512-4CC69JQbgyETJR6xsQk6hOQqb6fBGZ/Qc333x0hwRDBbGnYE6hQehDibV+Apljea8YjV+NX6VmyOvPvHhtL4PQ== dependencies: tslib "^2.3.0" "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" + uid "5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" dependencies: "@angular-devkit/build-angular" "14.0.0-next.3" @@ -1340,9 +1341,9 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-is-pseudo-class@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.0.tgz#219a1c1d84de7d9e9b7e662a57fdc194eac38ea7" - integrity sha512-WnfZlyuh/CW4oS530HBbrKq0G8BKl/bsNr5NMFoubBFzJfvFRGJhplCgIJYWUidLuL3WJ/zhMtDIyNFTqhx63Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.1.tgz#472fff2cf434bdf832f7145b2a5491587e790c9e" + integrity sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q== dependencies: postcss-selector-parser "^6.0.9" @@ -1569,13 +1570,13 @@ infer-owner "^1.0.4" "@npmcli/run-script@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.0.tgz#c37752414fe06cffbc1279b340da8098d3f9f31a" - integrity sha512-jIdmUepw+kVP2WEE/+XrBIvrSF5miDutdGBrQ8May6uHVAvpAb0m3NRHcJ0lKWbQ1BxsRFsmTrjkdY99qTTVIw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.1.tgz#9d10b46586300074cc9e53ef320130a69567e1ce" + integrity sha512-o2fkld5hYwu9sKYzoXTpqEocMnDLaigobaPzLaGB63k/ExmLBTaB+KpfKlpcIePPnuP8RFR+0GDI4KopJCM6Xg== dependencies: "@npmcli/node-gyp" "^1.0.3" "@npmcli/promise-spawn" "^1.3.2" - node-gyp "^8.4.1" + node-gyp "^9.0.0" read-package-json-fast "^2.0.3" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": @@ -1697,11 +1698,6 @@ resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -2211,26 +2207,21 @@ source-map "^0.6.0" "@types/ws@^8.2.2": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.1.tgz#79136958b48bc73d5165f286707ceb9f04471599" - integrity sha512-UxlLOfkuQnT2YSBCNq0x86SGOUxas6gAySFeDe2DcnEnA8655UIPoCDorWZCugcvKIL8IUI4oueUfJ1hhZSE2A== + version "8.5.2" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.2.tgz#77e0c2e360e9579da930ffcfa53c5975ea3bdd26" + integrity sha512-VXI82ykONr5tacHEojnErTQk+KQSoYbW1NB6iz6wUwrNd+BqfkfggQNoNdCqhJSzbNumShPERbM+Pc5zpfhlbw== dependencies: "@types/node" "*" -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== - -"@types/yargs-parser@^21.0.0": +"@types/yargs-parser@*", "@types/yargs-parser@^21.0.0": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0": - version "17.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" - integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== + version "17.0.9" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.9.tgz#f1f931a4e5ae2c0134dea10f501088636a50b46a" + integrity sha512-Ci8+4/DOtkHRylcisKmVMtmVO5g7weUVCKcsu1sJvF1bn0wExTmbHmhFKj7AnEm0de800iovGhdSKzYnzbaHpg== dependencies: "@types/yargs-parser" "*" @@ -2611,7 +2602,7 @@ agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agentkeepalive@^4.1.3, agentkeepalive@^4.2.0: +agentkeepalive@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== @@ -3196,12 +3187,12 @@ browser-sync@^2.27.7: yargs "^15.4.1" browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.9.1: - version "4.19.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" - integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== + version "4.20.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.0.tgz#35951e3541078c125d36df76056e94738a52ebe9" + integrity sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ== dependencies: - caniuse-lite "^1.0.30001312" - electron-to-chromium "^1.4.71" + caniuse-lite "^1.0.30001313" + electron-to-chromium "^1.4.76" escalade "^3.1.1" node-releases "^2.0.2" picocolors "^1.0.0" @@ -3300,7 +3291,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@15.3.0, cacache@^15.2.0, cacache@^15.3.0: +cacache@15.3.0, cacache@^15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -3342,10 +3333,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: - version "1.0.30001312" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" - integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== +caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001313: + version "1.0.30001313" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001313.tgz#a380b079db91621e1b7120895874e2fd62ed2e2f" + integrity sha512-rI1UN0koZUiKINjysQDuRi2VeSCce3bYJNmDcj3PIKREiAmjakugBul1QSkg/fPrlULYl6oWfGg3PbgOSY9X4Q== caseless@~0.12.0: version "0.12.0" @@ -3910,10 +3901,10 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873" - integrity sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ== +date-format@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.4.tgz#b58036e29e74121fca3e1b3e0dc4a62c65faa233" + integrity sha512-/jyf4rhB17ge328HJuJjAcmRtCsGd+NDeAtahRBTaK6vSPR6MO5HlrAit3Nn7dVjaa6sowW0WXt8yQtLyZQFRg== dayjs@1.10.7: version "1.10.7" @@ -4259,10 +4250,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.4.71: - version "1.4.75" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz#d1ad9bb46f2f1bf432118c2be21d27ffeae82fdd" - integrity sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q== +electron-to-chromium@^1.4.76: + version "1.4.76" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.76.tgz#a0494baedaf51094b1c172999919becd9975a934" + integrity sha512-3Vftv7cenJtQb+k00McEBZ2vVmZ/x+HEF7pcZONZIkOsESqAqVuACmBxMv0JhzX7u0YltU0vSqRqgBSTAhFUjA== emoji-regex@^8.0.0: version "8.0.0" @@ -4279,7 +4270,7 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11, encoding@^0.1.12: +encoding@^0.1.11, encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -4356,15 +4347,7 @@ engine.io@~6.1.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.8.3: - version "5.9.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.1.tgz#e898cea44d9199fd92137496cff5691b910fb43e" - integrity sha512-jdyZMwCQ5Oj4c5+BTnkxPgDZO/BJzh/ADDmKebayyzNwjVX1AFCeGkOfxNx0mHi2+8BKC5VxUYiw3TIvoT7vhw== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enhanced-resolve@^5.9.2: +enhanced-resolve@^5.8.3, enhanced-resolve@^5.9.2: version "5.9.2" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== @@ -4664,12 +4647,12 @@ esbuild-sunos-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f" integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw== -esbuild-wasm@0.14.23, esbuild-wasm@^0.14.14: +esbuild-wasm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-wasm@0.14.25: +esbuild-wasm@0.14.25, esbuild-wasm@^0.14.14: version "0.14.25" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.25.tgz#819302709e79a8dd935429b5925585c58406e8fe" integrity sha512-QZ8wt4jBN1IGVCp/A+u87BzNYOZeIp87d8TMQznU8w7NvZEvdwEWHVfjrOBZ6qqlOJj2/Y/kOUZLy0nk2n9anw== @@ -4704,7 +4687,7 @@ esbuild-windows-arm64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458" integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA== -esbuild@0.14.23, esbuild@^0.14.14: +esbuild@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" integrity sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig== @@ -4729,7 +4712,7 @@ esbuild@0.14.23, esbuild@^0.14.14: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" -esbuild@0.14.25: +esbuild@0.14.25, esbuild@^0.14.14: version "0.14.25" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16" integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q== @@ -5297,7 +5280,7 @@ flatstr@^1.0.12: resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== -flatted@^3.1.0, flatted@^3.2.4: +flatted@^3.1.0, flatted@^3.2.5: version "3.2.5" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== @@ -5354,9 +5337,9 @@ forwarded@0.2.0: integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" - integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== fresh@0.5.2, fresh@^0.5.2: version "0.5.2" @@ -5377,7 +5360,7 @@ fs-extra@3.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^10.0.0: +fs-extra@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== @@ -5666,9 +5649,9 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" @@ -5785,18 +5768,9 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" - integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" + version "0.5.6" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.6.tgz#2e02406ab2df8af8a7abfba62e0da01c62b95afd" + integrity sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA== http-proxy-agent@^5.0.0: version "5.0.0" @@ -6978,15 +6952,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.1.tgz#9d3a8bf2c31c1e213fe3fc398a6053f7a2bc53e8" - integrity sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg== + version "6.4.2" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.2.tgz#45ec783835acc525b397f52cf086e26994fe3b70" + integrity sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg== dependencies: - date-format "^4.0.3" + date-format "^4.0.4" debug "^4.3.3" - flatted "^3.2.4" + flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.2" + streamroller "^3.0.4" long@^4.0.0: version "4.0.0" @@ -7011,10 +6985,10 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.3.1: - version "7.4.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.4.0.tgz#2830a779b483e9723e20f26fa5278463c50599d8" - integrity sha512-YOfuyWa/Ee+PXbDm40j9WXyJrzQUynVbgn4Km643UYcWNcrSfRkKL0WaiUcxcIbkXcVTgNpDqSnPXntWXT75cw== +lru-cache@^7.3.1, lru-cache@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.4.1.tgz#afe07e885ef0cd5bf99f62f4fa7545d48746d779" + integrity sha512-NCD7/WRlFmADccuHjsRUYqdluYBr//n/O0fesCb/n52FoGcgKh8o4Dpm7YIbZwVcDs8rPBQbCZLmWWsp6m+xGQ== lru-queue@^0.1.0: version "0.1.0" @@ -7035,7 +7009,7 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.25.7, magic-string@^0.25.0: +magic-string@0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -7056,6 +7030,13 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" +magic-string@^0.25.0: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7076,21 +7057,21 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.2: - version "10.0.3" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.3.tgz#94bbe675cf62a811dbab59668052388a078beaf2" - integrity sha512-CzarPHynPpHjhF5in/YapnO44rSZeYX5VCMfdXa99+gLwpbfFLh20CWa6dP/taV9Net9PWJwXNKtp/4ZTCQnag== +make-fetch-happen@^10.0.3: + version "10.0.4" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.4.tgz#309823c7a2b4c947465274220e169112c977b94f" + integrity sha512-CiReW6usy3UXby5N46XjWfLPFPq1glugCszh18I0NYJCwr129ZAx9j3Dlv+cRsK0q3VjlVysEzhdtdw2+NhdYA== dependencies: - agentkeepalive "^4.2.0" + agentkeepalive "^4.2.1" cacache "^15.3.0" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^7.3.1" + lru-cache "^7.4.0" minipass "^3.1.6" minipass-collect "^1.0.2" - minipass-fetch "^1.4.1" + minipass-fetch "^2.0.1" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" negotiator "^0.6.3" @@ -7098,28 +7079,6 @@ make-fetch-happen@^10.0.2: socks-proxy-agent "^6.1.1" ssri "^8.0.1" -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - marked@4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.10.tgz#423e295385cc0c3a70fa495e0df68b007b879423" @@ -7304,16 +7263,16 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^1.3.2, minipass-fetch@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== +minipass-fetch@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.0.2.tgz#5ea5fb9a2e24ccd3cfb489563540bb4024fc6c31" + integrity sha512-M63u5yWX0yxY1C3DcLVY1xWai0pNM3qa1xCMXFgdejY5F/NTmyzNVHGcBxKerX51lssqxwWWTjpg/ZPuD39gOQ== dependencies: - minipass "^3.1.0" + minipass "^3.1.6" minipass-sized "^1.0.3" - minizlib "^2.0.0" + minizlib "^2.1.2" optionalDependencies: - encoding "^0.1.12" + encoding "^0.1.13" minipass-flush@^1.0.5: version "1.0.5" @@ -7344,14 +7303,14 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" -minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: +minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -7447,7 +7406,7 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3: +negotiator@0.6.3, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -7537,15 +7496,15 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== -node-gyp@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== +node-gyp@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" + integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" + make-fetch-happen "^10.0.3" nopt "^5.0.0" npmlog "^6.0.0" rimraf "^3.0.2" @@ -7652,13 +7611,13 @@ npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: semver "^7.3.5" npm-registry-fetch@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.0.0.tgz#f0cf807f661184217651e0465668e4fd255fd6a8" - integrity sha512-MmiMuV9DU5gRuAU0jia952Qq+E4h7ZoUaeltCXivhClcqfOVKqNLZEQsRUOb6a8WQY+um8x97JcUuaWFoPoBBw== + version "13.0.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.0.1.tgz#ceecbaab9f1d0d911e1c01a5be2be96d45e472f5" + integrity sha512-Ak+LXVtSrCLOdscFW/apUw67OPNph8waHsPKM9UOJosL7i59EF5XoSWQMEsXEOeifM9Bb4/2+WrQC4t/pd8DGg== dependencies: - make-fetch-happen "^10.0.2" + make-fetch-happen "^10.0.3" minipass "^3.1.6" - minipass-fetch "^1.4.1" + minipass-fetch "^2.0.1" minipass-json-stream "^1.0.1" minizlib "^2.1.2" npm-package-arg "^9.0.0" @@ -8391,11 +8350,11 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nesting@^10.1.2: - version "10.1.2" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.2.tgz#2e5f811b3d75602ea18a95dd445bde5297145141" - integrity sha512-dJGmgmsvpzKoVMtDMQQG/T6FSqs6kDtUDirIfl4KnjMCiY9/ETX8jdKyCd20swSRAbUYkaBKV20pxkzxoOXLqQ== + version "10.1.3" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.3.tgz#f0b1cd7ae675c697ab6a5a5ca1feea4784a2ef77" + integrity sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw== dependencies: - postcss-selector-parser "^6.0.8" + postcss-selector-parser "^6.0.9" postcss-opacity-percentage@^1.1.2: version "1.1.2" @@ -8419,7 +8378,7 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.4.1, postcss-preset-env@^7.2.3: +postcss-preset-env@7.4.1: version "7.4.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.1.tgz#ca6131c6e0d0e0bcc429dbef3e8f8d03250041ea" integrity sha512-UvBVvPJ2vb4odAtckSbryndyBz+Me1q8wawqq0qznpDXy188I+8W5Sa929sCPqw2/NSYnqpHJbo41BKso3+I9A== @@ -8467,7 +8426,7 @@ postcss-preset-env@7.4.1, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.2: +postcss-preset-env@7.4.2, postcss-preset-env@^7.2.3: version "7.4.2" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== @@ -8534,7 +8493,7 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.8, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -8574,7 +8533,7 @@ postcss@8.4.6: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.8, postcss@^8.4.7: +postcss@8.4.8, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7: version "8.4.8" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== @@ -8583,15 +8542,6 @@ postcss@8.4.8, postcss@^8.4.7: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: - version "8.4.7" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" - integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9260,9 +9210,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.66.1: - version "2.68.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.68.0.tgz#6ccabfd649447f8f21d62bf41662e5caece3bd66" - integrity sha512-XrMKOYK7oQcTio4wyTz466mucnd8LzkiZLozZ4Rz0zQD+HeX4nUK4B8GrTX/2EvN2/vBF/i2WnaXboPxo0JylA== + version "2.70.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.0.tgz#17a92e5938e92a251b962352e904c9f558230ec7" + integrity sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA== optionalDependencies: fsevents "~2.3.2" @@ -9347,6 +9297,7 @@ sass@1.49.9, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -9711,7 +9662,7 @@ sockjs@^0.3.21: uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.1: +socks-proxy-agent@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== @@ -9902,7 +9853,7 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^8.0.0, ssri@^8.0.1: +ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== @@ -9976,14 +9927,14 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7" - integrity sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA== +streamroller@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.4.tgz#27ad87339d829483f89c5f33fd60ea6731e4183c" + integrity sha512-GI9NzeD+D88UFuIlJkKNDH/IsuR+qIN7Qh8EsmhoRZr9bQoehTraRgwtLUkZbpcAw+hLPfHOypmppz8YyGK68w== dependencies: - date-format "^4.0.3" - debug "^4.1.1" - fs-extra "^10.0.0" + date-format "^4.0.4" + debug "^4.3.3" + fs-extra "^10.0.1" string-argv@~0.3.1: version "0.3.1" @@ -10370,9 +10321,9 @@ treeify@^1.1.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.6.0.tgz#c3f4195d5173ce3affdc8f2fd2e9a7ac8de5376a" - integrity sha512-CJen6+dfOXolxudBQXnVjRVvYTmTWbyz7cn+xq2XTsvnaXbHqr4gXSCNbS2Jj8yTZMuGwUoBESLaOkLascVVvg== + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -10389,9 +10340,9 @@ ts-node@^10.0.0: yn "3.1.1" tsconfig-paths@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== + version "3.13.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.13.0.tgz#f3e9b8f6876698581d94470c03c95b3a48c0e3d7" + integrity sha512-nWuffZppoaYK0vQ1SQmkSsQzJoHA4s6uzdb2waRpD806x9yfq153AdVsWz4je2qZcW+pENrMQXbGQ3sMCkXuhw== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -10600,9 +10551,9 @@ uri-js@^4.2.2: punycode "^2.1.0" urijs@^1.19.1: - version "1.19.8" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.8.tgz#ee0407a18528934d3c383e691912f47043a58feb" - integrity sha512-iIXHrjomQ0ZCuDRy44wRbyTZVnfVNLVo3Ksz1yxNyE5wV1IDZW2S5Jszy45DTlw/UdsnRT7DyDhIz7Gy+vJumw== + version "1.19.10" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.10.tgz#8e2fe70a8192845c180f75074884278f1eea26cb" + integrity sha512-EzauQlgKuJgsXOqoMrCiePBf4At5jVqRhXykF3Wfb8ZsOBMxPcfiVBcsHXug4Aepb/ICm2PIgqAUGMelgdrWEg== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" @@ -11285,8 +11236,8 @@ z-schema@~5.0.2: commander "^2.7.1" zone.js@^0.11.3, zone.js@^0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.4.tgz#0f70dcf6aba80f698af5735cbb257969396e8025" - integrity sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw== + version "0.11.5" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.5.tgz#ab0b449e91fadb5ebb2db189ffe1b7b6048dc8b1" + integrity sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g== dependencies: - tslib "^2.0.0" + tslib "^2.3.0" From 2e0493130acfe7244f7ee3ef28c961b1b04d7722 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Feb 2022 11:16:12 +0100 Subject: [PATCH 0157/1388] refactor(@angular/cli): replace command line arguments parser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With this change we refactor the Angular CLI and replace the underlying args parser and command builder. We choose to use Yargs as our parser and command builder of choice. The main advantages of Yargs over other command builders are; - Highly configurable. - We already use it in other packages such as the compiler-cli/dev-infra etc.. - Commands and options can be added during runtime. This is a requirement that is needed to support architect and schematics commands. - Outstanding documentation. - The possibility to parse args without parser configuration (Free form). - Commands are built lazily based on the arguments passed. BREAKING CHANGE: Several changes in the Angular CLI commands and arguments handling. - `ng help` has been removed in favour of the `—-help` option. - `ng —-version` has been removed in favour of `ng version` and `ng v`. - Deprecated camel cased arguments are no longer supported. Ex. using `—-sourceMap` instead of `—-source-map` will result in an error. - `ng update`, `—-migrate-only` option no longer accepts a string of migration name, instead use `—-migrate-only -—name `. - `—-help json` help has been removed. Closes #20976, closes #16614 and closes #16241 --- package.json | 2 + packages/angular/cli/BUILD.bazel | 164 +------ packages/angular/cli/commands.json | 20 - packages/angular/cli/commands/add.json | 54 --- .../cli/commands/{ => add}/add-impl.ts | 75 +-- packages/angular/cli/commands/add/cli.ts | 67 +++ .../{add.md => add/long-description.md} | 0 .../angular/cli/commands/analytics-impl.ts | 100 ---- .../angular/cli/commands/analytics-long.md | 8 - packages/angular/cli/commands/analytics.json | 37 -- .../angular/cli/commands/analytics/cli.ts | 85 ++++ .../commands/analytics/long-description.md | 8 + packages/angular/cli/commands/build-impl.ts | 19 - packages/angular/cli/commands/build.json | 16 - packages/angular/cli/commands/build/cli.ts | 23 + .../long-description.md} | 0 packages/angular/cli/commands/config.json | 43 -- packages/angular/cli/commands/config/cli.ts | 60 +++ .../cli/commands/{ => config}/config-impl.ts | 24 +- .../long-description.md} | 0 .../angular/cli/commands/definitions.json | 66 --- packages/angular/cli/commands/deploy-impl.ts | 37 -- packages/angular/cli/commands/deploy.json | 34 -- packages/angular/cli/commands/deploy/cli.ts | 36 ++ .../long-description.md} | 0 packages/angular/cli/commands/doc-impl.ts | 52 --- packages/angular/cli/commands/doc.json | 46 -- packages/angular/cli/commands/doc/cli.ts | 90 ++++ packages/angular/cli/commands/e2e-impl.ts | 34 -- packages/angular/cli/commands/e2e-long.md | 4 - packages/angular/cli/commands/e2e.json | 17 - packages/angular/cli/commands/e2e/cli.ts | 35 ++ .../angular/cli/commands/easter-egg-impl.ts | 31 -- packages/angular/cli/commands/easter-egg.json | 12 - .../angular/cli/commands/extract-i18n-impl.ts | 19 - .../angular/cli/commands/extract-i18n.json | 15 - .../angular/cli/commands/extract-i18n/cli.ts | 20 + .../angular/cli/commands/generate-impl.ts | 120 ----- packages/angular/cli/commands/generate.json | 31 -- packages/angular/cli/commands/generate/cli.ts | 147 ++++++ .../cli/commands/generate/generate-impl.ts | 68 +++ packages/angular/cli/commands/help-impl.ts | 27 -- packages/angular/cli/commands/help-long.md | 7 - packages/angular/cli/commands/help.json | 13 - packages/angular/cli/commands/lint-impl.ts | 57 --- packages/angular/cli/commands/lint.json | 36 -- packages/angular/cli/commands/lint/cli.ts | 31 ++ .../long-description.md} | 0 .../cli/commands/make-this-awesome/cli.ts | 41 ++ packages/angular/cli/commands/new.json | 34 -- packages/angular/cli/commands/new.md | 16 - packages/angular/cli/commands/new/cli.ts | 53 +++ .../cli/commands/{ => new}/new-impl.ts | 26 +- packages/angular/cli/commands/run-impl.ts | 21 - packages/angular/cli/commands/run.json | 36 -- packages/angular/cli/commands/run/cli.ts | 114 +++++ .../{run-long.md => run/long-description.md} | 0 packages/angular/cli/commands/serve-impl.ts | 23 - packages/angular/cli/commands/serve.json | 17 - packages/angular/cli/commands/serve/cli.ts | 21 + packages/angular/cli/commands/test-impl.ts | 20 - packages/angular/cli/commands/test.json | 17 - packages/angular/cli/commands/test/cli.ts | 22 + .../long-description.md} | 0 packages/angular/cli/commands/update.json | 78 ---- packages/angular/cli/commands/update/cli.ts | 106 +++++ .../long-description.md} | 0 .../cli/commands/{ => update}/update-impl.ts | 52 ++- packages/angular/cli/commands/version.json | 13 - .../{version-impl.ts => version/cli.ts} | 101 ++-- .../angular/cli/lib/cli/command-runner.ts | 150 ++++++ packages/angular/cli/lib/cli/index.ts | 19 +- packages/angular/cli/lib/init.ts | 2 +- .../angular/cli/models/analytics-collector.ts | 2 +- packages/angular/cli/models/analytics.ts | 38 +- .../angular/cli/models/architect-command.ts | 434 ------------------ packages/angular/cli/models/command-runner.ts | 273 ----------- packages/angular/cli/models/command.ts | 166 +------ packages/angular/cli/models/interface.ts | 218 +-------- packages/angular/cli/models/parser.ts | 405 ---------------- packages/angular/cli/models/parser_spec.ts | 226 --------- .../angular/cli/models/schematic-command.ts | 183 +------- packages/angular/cli/package.json | 3 +- .../architect-command-module.ts | 296 ++++++++++++ .../command-builder/command-module.ts | 217 +++++++++ .../utilities/command-builder/json-schema.ts | 213 +++++++++ .../schematics-command-module.ts | 167 +++++++ packages/angular/cli/utilities/json-schema.ts | 301 ------------ .../angular/cli/utilities/json-schema_spec.ts | 75 --- .../cli/{models => utilities}/version.ts | 9 +- .../src/builders/browser/schema.json | 2 +- .../angular/app-shell/index_spec.ts | 24 +- packages/schematics/angular/collection.json | 3 - tests/legacy-cli/e2e/tests/basic/e2e.ts | 117 +++-- tests/legacy-cli/e2e/tests/basic/test.ts | 2 +- .../build/build-app-shell-with-schematic.ts | 2 +- .../e2e/tests/build/multiple-configs.ts | 2 +- .../e2e/tests/build/platform-server.ts | 2 +- .../tests/commands/additional-properties.ts | 15 +- .../commands/help/help-option-command.ts | 7 - .../e2e/tests/commands/help/help-option.ts | 9 - .../e2e/tests/commands/help/help.ts | 9 - .../e2e/tests/commands/unknown-option.ts | 20 +- .../e2e/tests/generate/help-output.ts | 111 ++--- .../library/library-consumption-ivy-full.ts | 2 +- .../library-consumption-ivy-partial.ts | 2 +- .../library/library-consumption-ve.ts | 2 +- .../e2e/tests/i18n/ivy-localize-app-shell.ts | 2 +- .../e2e/tests/i18n/ivy-localize-basehref.ts | 19 +- .../e2e/tests/i18n/ivy-localize-es2015.ts | 4 +- .../e2e/tests/i18n/ivy-localize-es5.ts | 4 +- .../i18n/ivy-localize-locale-data-augment.ts | 18 +- .../e2e/tests/i18n/ivy-localize-server.ts | 2 +- .../tests/i18n/ivy-localize-serviceworker.ts | 2 +- tests/legacy-cli/e2e/tests/misc/browsers.ts | 4 +- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 2 +- tests/legacy-cli/e2e/tests/misc/version.ts | 8 - yarn.lock | 30 +- 118 files changed, 2531 insertions(+), 3993 deletions(-) delete mode 100644 packages/angular/cli/commands.json delete mode 100644 packages/angular/cli/commands/add.json rename packages/angular/cli/commands/{ => add}/add-impl.ts (89%) create mode 100644 packages/angular/cli/commands/add/cli.ts rename packages/angular/cli/commands/{add.md => add/long-description.md} (100%) delete mode 100644 packages/angular/cli/commands/analytics-impl.ts delete mode 100644 packages/angular/cli/commands/analytics-long.md delete mode 100644 packages/angular/cli/commands/analytics.json create mode 100644 packages/angular/cli/commands/analytics/cli.ts create mode 100644 packages/angular/cli/commands/analytics/long-description.md delete mode 100644 packages/angular/cli/commands/build-impl.ts delete mode 100644 packages/angular/cli/commands/build.json create mode 100644 packages/angular/cli/commands/build/cli.ts rename packages/angular/cli/commands/{build-long.md => build/long-description.md} (100%) delete mode 100644 packages/angular/cli/commands/config.json create mode 100644 packages/angular/cli/commands/config/cli.ts rename packages/angular/cli/commands/{ => config}/config-impl.ts (87%) rename packages/angular/cli/commands/{config-long.md => config/long-description.md} (100%) delete mode 100644 packages/angular/cli/commands/definitions.json delete mode 100644 packages/angular/cli/commands/deploy-impl.ts delete mode 100644 packages/angular/cli/commands/deploy.json create mode 100644 packages/angular/cli/commands/deploy/cli.ts rename packages/angular/cli/commands/{deploy-long.md => deploy/long-description.md} (100%) delete mode 100644 packages/angular/cli/commands/doc-impl.ts delete mode 100644 packages/angular/cli/commands/doc.json create mode 100644 packages/angular/cli/commands/doc/cli.ts delete mode 100644 packages/angular/cli/commands/e2e-impl.ts delete mode 100644 packages/angular/cli/commands/e2e-long.md delete mode 100644 packages/angular/cli/commands/e2e.json create mode 100644 packages/angular/cli/commands/e2e/cli.ts delete mode 100644 packages/angular/cli/commands/easter-egg-impl.ts delete mode 100644 packages/angular/cli/commands/easter-egg.json delete mode 100644 packages/angular/cli/commands/extract-i18n-impl.ts delete mode 100644 packages/angular/cli/commands/extract-i18n.json create mode 100644 packages/angular/cli/commands/extract-i18n/cli.ts delete mode 100644 packages/angular/cli/commands/generate-impl.ts delete mode 100644 packages/angular/cli/commands/generate.json create mode 100644 packages/angular/cli/commands/generate/cli.ts create mode 100644 packages/angular/cli/commands/generate/generate-impl.ts delete mode 100644 packages/angular/cli/commands/help-impl.ts delete mode 100644 packages/angular/cli/commands/help-long.md delete mode 100644 packages/angular/cli/commands/help.json delete mode 100644 packages/angular/cli/commands/lint-impl.ts delete mode 100644 packages/angular/cli/commands/lint.json create mode 100644 packages/angular/cli/commands/lint/cli.ts rename packages/angular/cli/commands/{lint-long.md => lint/long-description.md} (100%) create mode 100644 packages/angular/cli/commands/make-this-awesome/cli.ts delete mode 100644 packages/angular/cli/commands/new.json delete mode 100644 packages/angular/cli/commands/new.md create mode 100644 packages/angular/cli/commands/new/cli.ts rename packages/angular/cli/commands/{ => new}/new-impl.ts (53%) delete mode 100644 packages/angular/cli/commands/run-impl.ts delete mode 100644 packages/angular/cli/commands/run.json create mode 100644 packages/angular/cli/commands/run/cli.ts rename packages/angular/cli/commands/{run-long.md => run/long-description.md} (100%) delete mode 100644 packages/angular/cli/commands/serve-impl.ts delete mode 100644 packages/angular/cli/commands/serve.json create mode 100644 packages/angular/cli/commands/serve/cli.ts delete mode 100644 packages/angular/cli/commands/test-impl.ts delete mode 100644 packages/angular/cli/commands/test.json create mode 100644 packages/angular/cli/commands/test/cli.ts rename packages/angular/cli/commands/{test-long.md => test/long-description.md} (100%) delete mode 100644 packages/angular/cli/commands/update.json create mode 100644 packages/angular/cli/commands/update/cli.ts rename packages/angular/cli/commands/{update-long.md => update/long-description.md} (100%) rename packages/angular/cli/commands/{ => update}/update-impl.ts (95%) delete mode 100644 packages/angular/cli/commands/version.json rename packages/angular/cli/commands/{version-impl.ts => version/cli.ts} (71%) create mode 100644 packages/angular/cli/lib/cli/command-runner.ts delete mode 100644 packages/angular/cli/models/architect-command.ts delete mode 100644 packages/angular/cli/models/command-runner.ts delete mode 100644 packages/angular/cli/models/parser.ts delete mode 100644 packages/angular/cli/models/parser_spec.ts create mode 100644 packages/angular/cli/utilities/command-builder/architect-command-module.ts create mode 100644 packages/angular/cli/utilities/command-builder/command-module.ts create mode 100644 packages/angular/cli/utilities/command-builder/json-schema.ts create mode 100644 packages/angular/cli/utilities/command-builder/schematics-command-module.ts delete mode 100644 packages/angular/cli/utilities/json-schema.ts delete mode 100644 packages/angular/cli/utilities/json-schema_spec.ts rename packages/angular/cli/{models => utilities}/version.ts (83%) delete mode 100644 tests/legacy-cli/e2e/tests/commands/help/help-option-command.ts delete mode 100644 tests/legacy-cli/e2e/tests/commands/help/help-option.ts delete mode 100644 tests/legacy-cli/e2e/tests/commands/help/help.ts diff --git a/package.json b/package.json index b50743f1faa9..45605ca39ae2 100644 --- a/package.json +++ b/package.json @@ -115,6 +115,7 @@ "@types/semver": "^7.0.0", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", + "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@typescript-eslint/eslint-plugin": "5.14.0", "@typescript-eslint/parser": "5.14.0", @@ -216,6 +217,7 @@ "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", + "yargs": "17.3.1", "yargs-parser": "21.0.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index e8d747de1cff..4be851a9fe70 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -26,24 +26,6 @@ ts_library( # @external_begin # These files are generated from the JSON schema "//packages/angular/cli:lib/config/workspace-schema.ts", - "//packages/angular/cli:commands/analytics.ts", - "//packages/angular/cli:commands/add.ts", - "//packages/angular/cli:commands/build.ts", - "//packages/angular/cli:commands/deploy.ts", - "//packages/angular/cli:commands/config.ts", - "//packages/angular/cli:commands/doc.ts", - "//packages/angular/cli:commands/e2e.ts", - "//packages/angular/cli:commands/easter-egg.ts", - "//packages/angular/cli:commands/generate.ts", - "//packages/angular/cli:commands/help.ts", - "//packages/angular/cli:commands/lint.ts", - "//packages/angular/cli:commands/new.ts", - "//packages/angular/cli:commands/serve.ts", - "//packages/angular/cli:commands/test.ts", - "//packages/angular/cli:commands/update.ts", - "//packages/angular/cli:commands/version.ts", - "//packages/angular/cli:commands/run.ts", - "//packages/angular/cli:commands/extract-i18n.ts", "//packages/angular/cli:src/commands/update/schematic/schema.ts", # @external_end ], @@ -79,6 +61,7 @@ ts_library( "@npm//@types/resolve", "@npm//@types/semver", "@npm//@types/uuid", + "@npm//@types/yargs", "@npm//@yarnpkg/lockfile", "@npm//ansi-colors", "@npm//ini", @@ -88,6 +71,7 @@ ts_library( "@npm//ora", "@npm//pacote", "@npm//semver", + "@npm//yargs", ], ) @@ -132,150 +116,6 @@ ts_json_schema( data = CLI_SCHEMA_DATA, ) -ts_json_schema( - name = "analytics_schema", - src = "commands/analytics.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "add_schema", - src = "commands/add.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "build_schema", - src = "commands/build.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "deploy_schema", - src = "commands/deploy.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "config_schema", - src = "commands/config.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "doc_schema", - src = "commands/doc.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "e2e_schema", - src = "commands/e2e.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "easter_egg_schema", - src = "commands/easter-egg.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "generate_schema", - src = "commands/generate.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "help_schema", - src = "commands/help.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "lint_schema", - src = "commands/lint.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "new_schema", - src = "commands/new.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "run_schema", - src = "commands/run.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "serve_schema", - src = "commands/serve.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "test_schema", - src = "commands/test.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "update_schema", - src = "commands/update.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "version_schema", - src = "commands/version.json", - data = [ - "commands/definitions.json", - ], -) - -ts_json_schema( - name = "extract-i18n_schema", - src = "commands/extract-i18n.json", - data = [ - "commands/definitions.json", - ], -) - ts_json_schema( name = "update_schematic_schema", src = "src/commands/update/schematic/schema.json", diff --git a/packages/angular/cli/commands.json b/packages/angular/cli/commands.json deleted file mode 100644 index 0b65947a0647..000000000000 --- a/packages/angular/cli/commands.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "add": "./commands/add.json", - "analytics": "./commands/analytics.json", - "build": "./commands/build.json", - "config": "./commands/config.json", - "deploy": "./commands/deploy.json", - "doc": "./commands/doc.json", - "e2e": "./commands/e2e.json", - "extract-i18n": "./commands/extract-i18n.json", - "make-this-awesome": "./commands/easter-egg.json", - "generate": "./commands/generate.json", - "help": "./commands/help.json", - "lint": "./commands/lint.json", - "new": "./commands/new.json", - "run": "./commands/run.json", - "serve": "./commands/serve.json", - "test": "./commands/test.json", - "update": "./commands/update.json", - "version": "./commands/version.json" -} diff --git a/packages/angular/cli/commands/add.json b/packages/angular/cli/commands/add.json deleted file mode 100644 index 99cd82d897fb..000000000000 --- a/packages/angular/cli/commands/add.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/add.json", - "description": "Adds support for an external library to your project.", - "$longDescription": "./add.md", - - "$scope": "in", - "$impl": "./add-impl#AddCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "collection": { - "type": "string", - "description": "The package to be added.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "registry": { - "description": "The NPM registry to use.", - "type": "string", - "oneOf": [ - { - "format": "uri" - }, - { - "format": "hostname" - } - ] - }, - "verbose": { - "description": "Display additional details about internal operations during execution.", - "type": "boolean", - "default": false - }, - "skipConfirmation": { - "description": "Skip asking a confirmation prompt before installing and executing the package. Ensure package name is correct prior to using this option.", - "type": "boolean", - "default": false - } - }, - "required": [] - }, - { - "$ref": "./definitions.json#/definitions/interactive" - }, - { - "$ref": "./definitions.json#/definitions/base" - } - ] -} diff --git a/packages/angular/cli/commands/add-impl.ts b/packages/angular/cli/commands/add/add-impl.ts similarity index 89% rename from packages/angular/cli/commands/add-impl.ts rename to packages/angular/cli/commands/add/add-impl.ts index a2cd46602e22..e0097759f863 100644 --- a/packages/angular/cli/commands/add-impl.ts +++ b/packages/angular/cli/commands/add/add-impl.ts @@ -11,23 +11,25 @@ import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/ import npa from 'npm-package-arg'; import { dirname, join } from 'path'; import { intersects, prerelease, rcompare, satisfies, valid, validRange } from 'semver'; -import { PackageManager } from '../lib/config/workspace-schema'; -import { isPackageNameSafeForAnalytics } from '../models/analytics'; -import { Arguments } from '../models/interface'; -import { RunSchematicOptions, SchematicCommand } from '../models/schematic-command'; -import { colors } from '../utilities/color'; -import { installPackage, installTempPackage } from '../utilities/install-package'; -import { ensureCompatibleNpm, getPackageManager } from '../utilities/package-manager'; +import { PackageManager } from '../../lib/config/workspace-schema'; +import { isPackageNameSafeForAnalytics } from '../../models/analytics'; +import { SchematicCommand } from '../../models/schematic-command'; +import { colors } from '../../utilities/color'; +import { Options } from '../../utilities/command-builder/command-module'; +import { installPackage, installTempPackage } from '../../utilities/install-package'; +import { ensureCompatibleNpm, getPackageManager } from '../../utilities/package-manager'; import { NgAddSaveDepedency, PackageManifest, fetchPackageManifest, fetchPackageMetadata, -} from '../utilities/package-metadata'; -import { askConfirmation } from '../utilities/prompt'; -import { Spinner } from '../utilities/spinner'; -import { isTTY } from '../utilities/tty'; -import { Schema as AddCommandSchema } from './add'; +} from '../../utilities/package-metadata'; +import { askConfirmation } from '../../utilities/prompt'; +import { Spinner } from '../../utilities/spinner'; +import { isTTY } from '../../utilities/tty'; +import { AddCommandArgs } from './cli'; + +type AddCommandOptions = Options; /** * The set of packages that should have certain versions excluded from consideration @@ -39,19 +41,11 @@ const packageVersionExclusions: Record = { '@angular/localize': '9.x', }; -export class AddCommand extends SchematicCommand { +export class AddCommandModule extends SchematicCommand { override readonly allowPrivateSchematics = true; - override async initialize(options: AddCommandSchema & Arguments) { - if (options.registry) { - return super.initialize({ ...options, packageRegistry: options.registry }); - } else { - return super.initialize(options); - } - } - // eslint-disable-next-line max-lines-per-function - async run(options: AddCommandSchema & Arguments) { + async run(options: AddCommandOptions) { await ensureCompatibleNpm(this.context.root); if (!options.collection) { @@ -82,7 +76,7 @@ export class AddCommand extends SchematicCommand { // Already installed so just run schematic this.logger.info('Skipping installation: Package already installed'); - return this.executeSchematic(packageIdentifier.name, options['--']); + return this.executeSchematic(packageIdentifier.name, options); } } @@ -259,7 +253,7 @@ export class AddCommand extends SchematicCommand { } } - return this.executeSchematic(collectionName, options['--']); + return this.executeSchematic(collectionName, options); } private async isProjectVersionValid(packageIdentifier: npa.Result): Promise { @@ -286,7 +280,7 @@ export class AddCommand extends SchematicCommand { override async reportAnalytics( paths: string[], - options: AddCommandSchema & Arguments, + options: AddCommandOptions, dimensions: (boolean | number | string)[] = [], metrics: (boolean | number | string)[] = [], ): Promise { @@ -318,18 +312,29 @@ export class AddCommand extends SchematicCommand { private async executeSchematic( collectionName: string, - options: string[] = [], + options: AddCommandOptions & Record, ): Promise { - const runOptions: RunSchematicOptions = { - schematicOptions: options, - collectionName, - schematicName: 'ng-add', - dryRun: false, - force: false, - }; - try { - return await this.runSchematic(runOptions); + const { + collection, + verbose, + registry, + skipConfirmation, + skipInstall, + interactive, + force, + dryRun, + defaults: defaultVal, + ...schematicOptions + } = options; + + return await this.runSchematic({ + schematicOptions, + collectionName, + schematicName: 'ng-add', + dryRun: false, + force: false, + }); } catch (e) { if (e instanceof NodePackageDoesNotSupportSchematics) { this.logger.error(tags.oneLine` diff --git a/packages/angular/cli/commands/add/cli.ts b/packages/angular/cli/commands/add/cli.ts new file mode 100644 index 000000000000..7ea8824487ef --- /dev/null +++ b/packages/angular/cli/commands/add/cli.ts @@ -0,0 +1,67 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { Argv } from 'yargs'; +import { + CommandModuleImplementation, + Options, + OtherOptions, +} from '../../utilities/command-builder/command-module'; +import { + SchematicsCommandArgs, + SchematicsCommandModule, +} from '../../utilities/command-builder/schematics-command-module'; +import { AddCommandModule as OldCommandModule } from './add-impl'; + +export interface AddCommandArgs extends SchematicsCommandArgs { + collection: string; + verbose?: boolean; + registry?: string; + 'skip-confirmation'?: boolean; +} + +export class AddCommandModule + extends SchematicsCommandModule + implements CommandModuleImplementation +{ + command = 'add '; + describe = 'Adds support for an external library to your project.'; + longDescriptionPath = join(__dirname, 'long-description.md'); + + override async builder(argv: Argv): Promise> { + const localYargs = await super.builder(argv); + + return localYargs + .positional('collection', { + description: 'The package to be added.', + type: 'string', + demandOption: true, + }) + .option('registry', { description: 'The NPM registry to use.', type: 'string' }) + .option('verbose', { + description: 'Display additional details about internal operations during execution.', + type: 'boolean', + default: false, + }) + .option('skip-confirmation', { + description: + 'Skip asking a confirmation prompt before installing and executing the package. ' + + 'Ensure package name is correct prior to using this option.', + type: 'boolean', + default: false, + }) + .strict(false); + } + + run(options: Options & OtherOptions): Promise { + const command = new OldCommandModule(this.context, 'add'); + + return command.validateAndRun(options); + } +} diff --git a/packages/angular/cli/commands/add.md b/packages/angular/cli/commands/add/long-description.md similarity index 100% rename from packages/angular/cli/commands/add.md rename to packages/angular/cli/commands/add/long-description.md diff --git a/packages/angular/cli/commands/analytics-impl.ts b/packages/angular/cli/commands/analytics-impl.ts deleted file mode 100644 index b0cc575ad173..000000000000 --- a/packages/angular/cli/commands/analytics-impl.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { - promptGlobalAnalytics, - promptProjectAnalytics, - setAnalyticsConfig, -} from '../models/analytics'; -import { Command } from '../models/command'; -import { Arguments } from '../models/interface'; -import { Schema as AnalyticsCommandSchema, ProjectSetting, SettingOrProject } from './analytics'; - -export class AnalyticsCommand extends Command { - public async run(options: AnalyticsCommandSchema & Arguments) { - // Our parser does not support positional enums (won't report invalid parameters). Do the - // validation manually. - // TODO(hansl): fix parser to better support positionals. This would be a breaking change. - if (options.settingOrProject === undefined) { - if (options['--']) { - // The user passed positional arguments but they didn't validate. - this.logger.error(`Argument ${JSON.stringify(options['--'][0])} is invalid.`); - this.logger.error(`Please provide one of the following value: on, off, ci or project.`); - - return 1; - } else { - // No argument were passed. - await this.printHelp(); - - return 2; - } - } else if ( - options.settingOrProject == SettingOrProject.Project && - options.projectSetting === undefined - ) { - this.logger.error( - `Argument ${JSON.stringify(options.settingOrProject)} requires a second ` + - `argument of one of the following value: on, off.`, - ); - - return 2; - } - - try { - switch (options.settingOrProject) { - case SettingOrProject.Off: - setAnalyticsConfig('global', false); - break; - - case SettingOrProject.On: - setAnalyticsConfig('global', true); - break; - - case SettingOrProject.Ci: - setAnalyticsConfig('global', 'ci'); - break; - - case SettingOrProject.Project: - switch (options.projectSetting) { - case ProjectSetting.Off: - setAnalyticsConfig('local', false); - break; - - case ProjectSetting.On: - setAnalyticsConfig('local', true); - break; - - case ProjectSetting.Prompt: - await promptProjectAnalytics(true); - break; - - default: - await this.printHelp(); - - return 3; - } - break; - - case SettingOrProject.Prompt: - await promptGlobalAnalytics(true); - break; - - default: - await this.printHelp(); - - return 4; - } - } catch (err) { - this.logger.fatal(err.message); - - return 1; - } - - return 0; - } -} diff --git a/packages/angular/cli/commands/analytics-long.md b/packages/angular/cli/commands/analytics-long.md deleted file mode 100644 index 87b9925d1473..000000000000 --- a/packages/angular/cli/commands/analytics-long.md +++ /dev/null @@ -1,8 +0,0 @@ -The value of _settingOrProject_ is one of the following. - -- "on" : Enables analytics gathering and reporting for the user. -- "off" : Disables analytics gathering and reporting for the user. -- "ci" : Enables analytics and configures reporting for use with Continuous Integration, - which uses a common CI user. -- "prompt" : Prompts the user to set the status interactively. -- "project" : Sets the default status for the project to the _projectSetting_ value, which can be any of the other values. The _projectSetting_ argument is ignored for all other values of _settingOrProject_. diff --git a/packages/angular/cli/commands/analytics.json b/packages/angular/cli/commands/analytics.json deleted file mode 100644 index ee2612b20399..000000000000 --- a/packages/angular/cli/commands/analytics.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/analytics.json", - "description": "Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering.", - "$longDescription": "./analytics-long.md", - - "$aliases": [], - "$scope": "all", - "$type": "native", - "$impl": "./analytics-impl#AnalyticsCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "settingOrProject": { - "enum": ["on", "off", "ci", "project", "prompt"], - "description": "Directly enables or disables all usage analytics for the user, or prompts the user to set the status interactively, or sets the default status for the project.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "projectSetting": { - "enum": ["on", "off", "prompt"], - "description": "Sets the default analytics enablement status for the project.", - "$default": { - "$source": "argv", - "index": 1 - } - } - }, - "required": ["settingOrProject"] - }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/analytics/cli.ts b/packages/angular/cli/commands/analytics/cli.ts new file mode 100644 index 000000000000..b1c004277ec7 --- /dev/null +++ b/packages/angular/cli/commands/analytics/cli.ts @@ -0,0 +1,85 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { Argv, string } from 'yargs'; +import { + promptGlobalAnalytics, + promptProjectAnalytics, + setAnalyticsConfig, +} from '../../models/analytics'; +import { CommandModule, Options } from '../../utilities/command-builder/command-module'; + +interface AnalyticsCommandArgs { + 'setting-or-project': 'on' | 'off' | 'ci' | 'project' | 'prompt' | string; + 'project-setting'?: 'on' | 'off' | 'prompt' | string; +} + +export class AnalyticsCommandModule extends CommandModule { + command = 'analytics '; + describe = + 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering.'; + longDescriptionPath = join(__dirname, 'long-description.md'); + + builder(localYargs: Argv): Argv { + return localYargs + .positional('setting-or-project', { + description: + 'Directly enables or disables all usage analytics for the user, or prompts the user to set the status interactively, ' + + 'or sets the default status for the project.', + choices: ['on', 'off', 'ci', 'prompt'], + type: 'string', + demandOption: true, + }) + .positional('project-setting', { + description: 'Sets the default analytics enablement status for the project.', + choices: ['on', 'off', 'prompt'], + type: 'string', + }) + .strict(); + } + + async run({ + settingOrProject, + projectSetting, + }: Options): Promise { + if (settingOrProject === 'project' && projectSetting === undefined) { + throw new Error( + 'Argument "project" requires a second argument of one of the following value: on, off.', + ); + } + + switch (settingOrProject) { + case 'off': + setAnalyticsConfig('global', false); + break; + case 'on': + setAnalyticsConfig('global', true); + break; + case 'ci': + setAnalyticsConfig('global', 'ci'); + break; + case 'project': + switch (projectSetting) { + case 'off': + setAnalyticsConfig('local', false); + break; + case 'on': + setAnalyticsConfig('local', true); + break; + case 'prompt': + await promptProjectAnalytics(true); + break; + } + break; + case 'prompt': + await promptGlobalAnalytics(true); + break; + } + } +} diff --git a/packages/angular/cli/commands/analytics/long-description.md b/packages/angular/cli/commands/analytics/long-description.md new file mode 100644 index 000000000000..ada011b82d31 --- /dev/null +++ b/packages/angular/cli/commands/analytics/long-description.md @@ -0,0 +1,8 @@ +The value of `setting-or-project` is one of the following. + +- `on`: Enables analytics gathering and reporting for the user. +- `off`: Disables analytics gathering and reporting for the user. +- `ci`: Enables analytics and configures reporting for use with Continuous Integration, + which uses a common CI user. +- `prompt`: Prompts the user to set the status interactively. +- `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`. diff --git a/packages/angular/cli/commands/build-impl.ts b/packages/angular/cli/commands/build-impl.ts deleted file mode 100644 index 2d983a7514b1..000000000000 --- a/packages/angular/cli/commands/build-impl.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand, ArchitectCommandOptions } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as BuildCommandSchema } from './build'; - -export class BuildCommand extends ArchitectCommand { - public override readonly target = 'build'; - - public override async run(options: ArchitectCommandOptions & Arguments) { - return this.runArchitectTarget(options); - } -} diff --git a/packages/angular/cli/commands/build.json b/packages/angular/cli/commands/build.json deleted file mode 100644 index df9d93b85a19..000000000000 --- a/packages/angular/cli/commands/build.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/build.json", - "description": "Compiles an Angular app into an output directory named dist/ at the given output path. Must be executed from within a workspace directory.", - "$longDescription": "./build-long.md", - - "$aliases": ["b"], - "$scope": "in", - "$type": "architect", - "$impl": "./build-impl#BuildCommand", - - "allOf": [ - { "$ref": "./definitions.json#/definitions/architect" }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/build/cli.ts b/packages/angular/cli/commands/build/cli.ts new file mode 100644 index 000000000000..03d71dc5c762 --- /dev/null +++ b/packages/angular/cli/commands/build/cli.ts @@ -0,0 +1,23 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class BuildCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + multiTarget = false; + command = 'build [project]'; + aliases = ['b']; + describe = + 'Compiles an Angular application or library into an output directory named dist/ at the given output path.'; + longDescriptionPath = join(__dirname, 'long-description.md'); +} diff --git a/packages/angular/cli/commands/build-long.md b/packages/angular/cli/commands/build/long-description.md similarity index 100% rename from packages/angular/cli/commands/build-long.md rename to packages/angular/cli/commands/build/long-description.md diff --git a/packages/angular/cli/commands/config.json b/packages/angular/cli/commands/config.json deleted file mode 100644 index bec13fca4c0f..000000000000 --- a/packages/angular/cli/commands/config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/config.json", - "description": "Retrieves or sets Angular configuration values in the angular.json file for the workspace.", - "$longDescription": "", - - "$aliases": [], - "$scope": "all", - "$type": "native", - "$impl": "./config-impl#ConfigCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "jsonPath": { - "type": "string", - "description": "The configuration key to set or query, in JSON path format. For example: \"a[3].foo.bar[2]\". If no new value is provided, returns the current value of this key.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "value": { - "type": ["string", "number", "boolean"], - "description": "If provided, a new value for the given configuration key.", - "$default": { - "$source": "argv", - "index": 1 - } - }, - "global": { - "type": "boolean", - "description": "Access the global configuration in the caller's home directory.", - "default": false, - "aliases": ["g"] - } - }, - "required": [] - }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/config/cli.ts b/packages/angular/cli/commands/config/cli.ts new file mode 100644 index 000000000000..a9f9f0795dbf --- /dev/null +++ b/packages/angular/cli/commands/config/cli.ts @@ -0,0 +1,60 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { Argv } from 'yargs'; +import { + CommandModule, + CommandModuleImplementation, + Options, +} from '../../utilities/command-builder/command-module'; +import { ConfigCommand } from './config-impl'; + +export interface ConfigCommandArgs { + 'json-path': string; + value?: string; + global?: boolean; +} + +export class ConfigCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + command = 'config [value]'; + describe = + 'Retrieves or sets Angular configuration values in the angular.json file for the workspace.'; + longDescriptionPath = join(__dirname, 'long-description.md'); + + builder(localYargs: Argv): Argv { + return localYargs + .positional('json-path', { + description: + `The configuration key to set or query, in JSON path format. ` + + `For example: "a[3].foo.bar[2]". If no new value is provided, returns the current value of this key.`, + type: 'string', + demandOption: true, + }) + .positional('value', { + description: 'If provided, a new value for the given configuration key.', + type: 'string', + }) + .option('global', { + description: `Access the global configuration in the caller's home directory.`, + alias: ['g'], + type: 'boolean', + default: false, + }) + .strict(); + } + + run(options: Options): Promise { + const command = new ConfigCommand(this.context, 'config'); + + return command.validateAndRun(options); + } +} diff --git a/packages/angular/cli/commands/config-impl.ts b/packages/angular/cli/commands/config/config-impl.ts similarity index 87% rename from packages/angular/cli/commands/config-impl.ts rename to packages/angular/cli/commands/config/config-impl.ts index 1e73b6985471..a032a8135f8a 100644 --- a/packages/angular/cli/commands/config-impl.ts +++ b/packages/angular/cli/commands/config/config-impl.ts @@ -8,11 +8,13 @@ import { JsonValue } from '@angular-devkit/core'; import { v4 as uuidV4 } from 'uuid'; -import { Command } from '../models/command'; -import { Arguments, CommandScope } from '../models/interface'; -import { getWorkspaceRaw, validateWorkspace } from '../utilities/config'; -import { JSONFile, parseJson } from '../utilities/json-file'; -import { Schema as ConfigCommandSchema } from './config'; +import { Command } from '../../models/command'; +import { Options } from '../../utilities/command-builder/command-module'; +import { getWorkspaceRaw, validateWorkspace } from '../../utilities/config'; +import { JSONFile, parseJson } from '../../utilities/json-file'; +import { ConfigCommandArgs } from './cli'; + +type ConfigCommandOptions = Options; const validCliPaths = new Map< string, @@ -95,14 +97,10 @@ function normalizeValue(value: string | undefined | boolean | number): JsonValue } } -export class ConfigCommand extends Command { - public async run(options: ConfigCommandSchema & Arguments) { +export class ConfigCommand extends Command { + public async run(options: ConfigCommandOptions) { const level = options.global ? 'global' : 'local'; - if (!options.global) { - await this.validateScope(CommandScope.InProject); - } - const [config] = getWorkspaceRaw(level); if (options.value == undefined) { @@ -118,7 +116,7 @@ export class ConfigCommand extends Command { } } - private get(jsonFile: JSONFile, options: ConfigCommandSchema) { + private get(jsonFile: JSONFile, options: ConfigCommandOptions) { let value; if (options.jsonPath) { value = jsonFile.get(parseJsonPath(options.jsonPath)); @@ -139,7 +137,7 @@ export class ConfigCommand extends Command { return 0; } - private async set(options: ConfigCommandSchema) { + private async set(options: ConfigCommandOptions) { if (!options.jsonPath?.trim()) { throw new Error('Invalid Path.'); } diff --git a/packages/angular/cli/commands/config-long.md b/packages/angular/cli/commands/config/long-description.md similarity index 100% rename from packages/angular/cli/commands/config-long.md rename to packages/angular/cli/commands/config/long-description.md diff --git a/packages/angular/cli/commands/definitions.json b/packages/angular/cli/commands/definitions.json deleted file mode 100644 index 9bac3acef232..000000000000 --- a/packages/angular/cli/commands/definitions.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/definitions.json", - - "definitions": { - "architect": { - "properties": { - "project": { - "type": "string", - "description": "The name of the project to build. Can be an application or a library.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "configuration": { - "description": "One or more named builder configurations as a comma-separated list as specified in the \"configurations\" section of angular.json.\nThe builder uses the named configurations to run the given target.\nFor more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.", - "type": "string", - "aliases": ["c"] - } - } - }, - "base": { - "type": "object", - "properties": { - "help": { - "enum": [true, false, "json", "JSON"], - "description": "Shows a help message for this command in the console.", - "default": false - } - } - }, - "schematic": { - "type": "object", - "properties": { - "dryRun": { - "type": "boolean", - "default": false, - "aliases": ["d"], - "description": "Run through and reports activity without writing out results." - }, - "force": { - "type": "boolean", - "default": false, - "aliases": ["f"], - "description": "Force overwriting of existing files." - } - } - }, - "interactive": { - "type": "object", - "properties": { - "interactive": { - "type": "boolean", - "default": "true", - "description": "Enable interactive input prompts." - }, - "defaults": { - "type": "boolean", - "default": "false", - "description": "Disable interactive input prompts for options with a default." - } - } - } - } -} diff --git a/packages/angular/cli/commands/deploy-impl.ts b/packages/angular/cli/commands/deploy-impl.ts deleted file mode 100644 index f8e400a2550b..000000000000 --- a/packages/angular/cli/commands/deploy-impl.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as DeployCommandSchema } from './deploy'; - -const BuilderMissing = ` -Cannot find "deploy" target for the specified project. - -You should add a package that implements deployment capabilities for your -favorite platform. - -For example: - ng add @angular/fire - ng add @azure/ng-deploy - -Find more packages on npm https://www.npmjs.com/search?q=ng%20deploy -`; - -export class DeployCommand extends ArchitectCommand { - public override readonly target = 'deploy'; - public override readonly missingTargetError = BuilderMissing; - - public override async initialize( - options: DeployCommandSchema & Arguments, - ): Promise { - if (!options.help) { - return super.initialize(options); - } - } -} diff --git a/packages/angular/cli/commands/deploy.json b/packages/angular/cli/commands/deploy.json deleted file mode 100644 index cc7c860dde1c..000000000000 --- a/packages/angular/cli/commands/deploy.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/deploy.json", - "description": "Invokes the deploy builder for a specified project or for the default project in the workspace.", - "$longDescription": "./deploy-long.md", - - "$scope": "in", - "$type": "architect", - "$impl": "./deploy-impl#DeployCommand", - - "allOf": [ - { - "properties": { - "project": { - "type": "string", - "description": "The name of the project to deploy.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "configuration": { - "description": "One or more named builder configurations as a comma-separated list as specified in the \"configurations\" section of angular.json.\nThe builder uses the named configurations to run the given target.\nFor more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.", - "type": "string", - "aliases": ["c"] - } - }, - "required": [] - }, - { - "$ref": "./definitions.json#/definitions/base" - } - ] -} diff --git a/packages/angular/cli/commands/deploy/cli.ts b/packages/angular/cli/commands/deploy/cli.ts new file mode 100644 index 000000000000..1ee748b340e7 --- /dev/null +++ b/packages/angular/cli/commands/deploy/cli.ts @@ -0,0 +1,36 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { tags } from '@angular-devkit/core'; +import { join } from 'path'; +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class DeployCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + override missingErrorTarget = tags.stripIndents` + Cannot find "deploy" target for the specified project. + + You should add a package that implements deployment capabilities for your + favorite platform. + + For example: + ng add @angular/fire + ng add @azure/ng-deploy + + Find more packages on npm https://www.npmjs.com/search?q=ng%20deploy + `; + + multiTarget = false; + command = 'deploy [project]'; + longDescriptionPath = join(__dirname, 'long-description.md'); + describe = + 'Invokes the deploy builder for a specified project or for the default project in the workspace.'; +} diff --git a/packages/angular/cli/commands/deploy-long.md b/packages/angular/cli/commands/deploy/long-description.md similarity index 100% rename from packages/angular/cli/commands/deploy-long.md rename to packages/angular/cli/commands/deploy/long-description.md diff --git a/packages/angular/cli/commands/doc-impl.ts b/packages/angular/cli/commands/doc-impl.ts deleted file mode 100644 index 4cd4a7a14579..000000000000 --- a/packages/angular/cli/commands/doc-impl.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import open from 'open'; -import { Command } from '../models/command'; -import { Arguments } from '../models/interface'; -import { Schema as DocCommandSchema } from './doc'; - -export class DocCommand extends Command { - public async run(options: DocCommandSchema & Arguments) { - if (!options.keyword) { - this.logger.error('You should specify a keyword, for instance, `ng doc ActivatedRoute`.'); - - return 0; - } - - let domain = 'angular.io'; - - if (options.version) { - // version can either be a string containing "next" - if (options.version == 'next') { - domain = 'next.angular.io'; - // or a number where version must be a valid Angular version (i.e. not 0, 1 or 3) - } else if (!isNaN(+options.version) && ![0, 1, 3].includes(+options.version)) { - domain = `v${options.version}.angular.io`; - } else { - this.logger.error('Version should either be a number (2, 4, 5, 6...) or "next"'); - - return 0; - } - } else { - // we try to get the current Angular version of the project - // and use it if we can find it - try { - /* eslint-disable-next-line import/no-extraneous-dependencies */ - const currentNgVersion = (await import('@angular/core')).VERSION.major; - domain = `v${currentNgVersion}.angular.io`; - } catch {} - } - - await open( - options.search - ? `https://${domain}/api?query=${options.keyword}` - : `https://${domain}/docs?search=${options.keyword}`, - ); - } -} diff --git a/packages/angular/cli/commands/doc.json b/packages/angular/cli/commands/doc.json deleted file mode 100644 index bb01549c6099..000000000000 --- a/packages/angular/cli/commands/doc.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/doc.json", - "description": "Opens the official Angular documentation (angular.io) in a browser, and searches for a given keyword.", - "$longDescription": "", - - "$aliases": ["d"], - "$type": "native", - "$impl": "./doc-impl#DocCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "keyword": { - "type": "string", - "description": "The keyword to search for, as provided in the search bar in angular.io.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "search": { - "aliases": ["s"], - "type": "boolean", - "default": false, - "description": "Search all of angular.io. Otherwise, searches only API reference documentation." - }, - "version": { - "oneOf": [ - { - "type": "number", - "minimum": 4 - }, - { - "enum": [2, "next"] - } - ], - "description": "Contains the version of Angular to use for the documentation. If not provided, the command uses your current Angular core version." - } - }, - "required": [] - }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/doc/cli.ts b/packages/angular/cli/commands/doc/cli.ts new file mode 100644 index 000000000000..70bb47773419 --- /dev/null +++ b/packages/angular/cli/commands/doc/cli.ts @@ -0,0 +1,90 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import open from 'open'; +import { Argv } from 'yargs'; +import { + CommandModule, + CommandModuleImplementation, + Options, +} from '../../utilities/command-builder/command-module'; + +interface DocCommandArgs { + keyword: string; + search?: boolean; + version?: string; +} + +export class DocCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + command = 'doc '; + aliases = ['d']; + describe = + 'Opens the official Angular documentation (angular.io) in a browser, and searches for a given keyword.'; + longDescriptionPath?: string | undefined; + + builder(localYargs: Argv): Argv { + return localYargs + .positional('keyword', { + description: 'The keyword to search for, as provided in the search bar in angular.io.', + type: 'string', + demandOption: true, + }) + .option('search', { + description: `Search all of angular.io. Otherwise, searches only API reference documentation.`, + alias: ['s'], + type: 'boolean', + default: false, + }) + .option('version', { + description: + 'Contains the version of Angular to use for the documentation. ' + + 'If not provided, the command uses your current Angular core version.', + type: 'string', + }) + .strict(); + } + + async run(options: Options): Promise { + let domain = 'angular.io'; + + if (options.version) { + // version can either be a string containing "next" + if (options.version === 'next') { + domain = 'next.angular.io'; + } else if (options.version === 'rc') { + domain = 'rc.angular.io'; + // or a number where version must be a valid Angular version (i.e. not 0, 1 or 3) + } else if (!isNaN(+options.version) && ![0, 1, 3].includes(+options.version)) { + domain = `v${options.version}.angular.io`; + } else { + this.context.logger.error( + 'Version should either be a number (2, 4, 5, 6...), "rc" or "next"', + ); + + return 1; + } + } else { + // we try to get the current Angular version of the project + // and use it if we can find it + try { + /* eslint-disable-next-line import/no-extraneous-dependencies */ + const currentNgVersion = (await import('@angular/core')).VERSION.major; + domain = `v${currentNgVersion}.angular.io`; + } catch {} + } + + await open( + options.search + ? `https://${domain}/api?query=${options.keyword}` + : `https://${domain}/docs?search=${options.keyword}`, + ); + } +} diff --git a/packages/angular/cli/commands/e2e-impl.ts b/packages/angular/cli/commands/e2e-impl.ts deleted file mode 100644 index 5a1df466d97d..000000000000 --- a/packages/angular/cli/commands/e2e-impl.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as E2eCommandSchema } from './e2e'; - -export class E2eCommand extends ArchitectCommand { - public override readonly target = 'e2e'; - public override readonly multiTarget = true; - public override readonly missingTargetError = ` -Cannot find "e2e" target for the specified project. - -You should add a package that implements end-to-end testing capabilities. - -For example: - Cypress: ng add @cypress/schematic - Nightwatch: ng add @nightwatch/schematics - WebdriverIO: ng add @wdio/schematics - -More options will be added to the list as they become available. -`; - - override async initialize(options: E2eCommandSchema & Arguments) { - if (!options.help) { - return super.initialize(options); - } - } -} diff --git a/packages/angular/cli/commands/e2e-long.md b/packages/angular/cli/commands/e2e-long.md deleted file mode 100644 index 26363135a8ce..000000000000 --- a/packages/angular/cli/commands/e2e-long.md +++ /dev/null @@ -1,4 +0,0 @@ -The command takes an optional project name, as specified in the `projects` section of the `angular.json` workspace configuration file. -When a project name is not supplied, executes the `e2e` builder for the default project. - -To use the `ng e2e` command, use `ng add` to add a package that implements end-to-end testing capabilities. Adding the package automatically updates your workspace configuration, adding an `e2e` [CLI builder](guide/cli-builder). diff --git a/packages/angular/cli/commands/e2e.json b/packages/angular/cli/commands/e2e.json deleted file mode 100644 index a8c8cccc4b62..000000000000 --- a/packages/angular/cli/commands/e2e.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/e2e.json", - "description": "Builds and serves an Angular app, then runs end-to-end tests.", - "$longDescription": "./e2e-long.md", - - "$aliases": ["e"], - "$scope": "in", - "$type": "architect", - "$impl": "./e2e-impl#E2eCommand", - - "type": "object", - "allOf": [ - { "$ref": "./definitions.json#/definitions/architect" }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/e2e/cli.ts b/packages/angular/cli/commands/e2e/cli.ts new file mode 100644 index 000000000000..4f833c8ef2c1 --- /dev/null +++ b/packages/angular/cli/commands/e2e/cli.ts @@ -0,0 +1,35 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { tags } from '@angular-devkit/core'; +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class E2eCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + multiTarget = true; + override missingErrorTarget = tags.stripIndents` + Cannot find "e2e" target for the specified project. + + You should add a package that implements end-to-end testing capabilities. + + For example: + Cypress: ng add @cypress/schematic + Nightwatch: ng add @nightwatch/schematics + WebdriverIO: ng add @wdio/schematics + + More options will be added to the list as they become available. + `; + + command = 'e2e [project]'; + aliases = ['e']; + describe = 'Builds and serves an Angular application, then runs end-to-end tests.'; + longDescriptionPath?: string | undefined; +} diff --git a/packages/angular/cli/commands/easter-egg-impl.ts b/packages/angular/cli/commands/easter-egg-impl.ts deleted file mode 100644 index 3857c38444a5..000000000000 --- a/packages/angular/cli/commands/easter-egg-impl.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Command } from '../models/command'; -import { colors } from '../utilities/color'; -import { Schema as AwesomeCommandSchema } from './easter-egg'; - -function pickOne(of: string[]): string { - return of[Math.floor(Math.random() * of.length)]; -} - -export class AwesomeCommand extends Command { - async run() { - const phrase = pickOne([ - `You're on it, there's nothing for me to do!`, - `Let's take a look... nope, it's all good!`, - `You're doing fine.`, - `You're already doing great.`, - `Nothing to do; already awesome. Exiting.`, - `Error 418: As Awesome As Can Get.`, - `I spy with my little eye a great developer!`, - `Noop... already awesome.`, - ]); - this.logger.info(colors.green(phrase)); - } -} diff --git a/packages/angular/cli/commands/easter-egg.json b/packages/angular/cli/commands/easter-egg.json deleted file mode 100644 index 79d9e1bb2edf..000000000000 --- a/packages/angular/cli/commands/easter-egg.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/easter-egg.json", - "description": "", - "$longDescription": "", - "$hidden": true, - - "$impl": "./easter-egg-impl#AwesomeCommand", - - "type": "object", - "allOf": [{ "$ref": "./definitions.json#/definitions/base" }] -} diff --git a/packages/angular/cli/commands/extract-i18n-impl.ts b/packages/angular/cli/commands/extract-i18n-impl.ts deleted file mode 100644 index 090a0e9d5fe1..000000000000 --- a/packages/angular/cli/commands/extract-i18n-impl.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as ExtractI18nCommandSchema } from './extract-i18n'; - -export class ExtractI18nCommand extends ArchitectCommand { - public override readonly target = 'extract-i18n'; - - public override async run(options: ExtractI18nCommandSchema & Arguments) { - return this.runArchitectTarget(options); - } -} diff --git a/packages/angular/cli/commands/extract-i18n.json b/packages/angular/cli/commands/extract-i18n.json deleted file mode 100644 index 7451eae170a6..000000000000 --- a/packages/angular/cli/commands/extract-i18n.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/extract-i18n.json", - "description": "Extracts i18n messages from source code.", - "$longDescription": "", - "$scope": "in", - "$type": "architect", - "$impl": "./extract-i18n-impl#ExtractI18nCommand", - - "type": "object", - "allOf": [ - { "$ref": "./definitions.json#/definitions/architect" }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/extract-i18n/cli.ts b/packages/angular/cli/commands/extract-i18n/cli.ts new file mode 100644 index 000000000000..4812a2bda54e --- /dev/null +++ b/packages/angular/cli/commands/extract-i18n/cli.ts @@ -0,0 +1,20 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class ExtractI18nCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + multiTarget = false; + command = 'extract-i18n [project]'; + describe = 'Extracts i18n messages from source code.'; + longDescriptionPath?: string | undefined; +} diff --git a/packages/angular/cli/commands/generate-impl.ts b/packages/angular/cli/commands/generate-impl.ts deleted file mode 100644 index 49d71dd3555c..000000000000 --- a/packages/angular/cli/commands/generate-impl.ts +++ /dev/null @@ -1,120 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Arguments, SubCommandDescription } from '../models/interface'; -import { SchematicCommand } from '../models/schematic-command'; -import { colors } from '../utilities/color'; -import { parseJsonSchemaToSubCommandDescription } from '../utilities/json-schema'; -import { Schema as GenerateCommandSchema } from './generate'; - -export class GenerateCommand extends SchematicCommand { - // Allows us to resolve aliases before reporting analytics - longSchematicName: string | undefined; - - override async initialize(options: GenerateCommandSchema & Arguments) { - // Fill up the schematics property of the command description. - const [collectionName, schematicName] = await this.parseSchematicInfo(options); - this.collectionName = collectionName; - this.schematicName = schematicName; - - await super.initialize(options); - - const collection = this.getCollection(collectionName); - const subcommands: { [name: string]: SubCommandDescription } = {}; - - const schematicNames = schematicName ? [schematicName] : collection.listSchematicNames(); - // Sort as a courtesy for the user. - schematicNames.sort(); - - for (const name of schematicNames) { - const schematic = this.getSchematic(collection, name, true); - this.longSchematicName = schematic.description.name; - let subcommand: SubCommandDescription; - if (schematic.description.schemaJson) { - subcommand = await parseJsonSchemaToSubCommandDescription( - name, - schematic.description.path, - this._workflow.registry, - schematic.description.schemaJson, - ); - } else { - continue; - } - - if ((await this.getDefaultSchematicCollection()) == collectionName) { - subcommands[name] = subcommand; - } else { - subcommands[`${collectionName}:${name}`] = subcommand; - } - } - - this.description.options.forEach((option) => { - if (option.name == 'schematic') { - option.subcommands = subcommands; - } - }); - } - - public async run(options: GenerateCommandSchema & Arguments) { - if (!this.schematicName || !this.collectionName) { - return this.printHelp(); - } - - return this.runSchematic({ - collectionName: this.collectionName, - schematicName: this.schematicName, - schematicOptions: options['--'] || [], - debug: !!options.debug || false, - dryRun: !!options.dryRun || false, - force: !!options.force || false, - }); - } - - override async reportAnalytics( - paths: string[], - options: GenerateCommandSchema & Arguments, - ): Promise { - if (!this.collectionName || !this.schematicName) { - return; - } - const escapedSchematicName = (this.longSchematicName || this.schematicName).replace(/\//g, '_'); - - return super.reportAnalytics( - ['generate', this.collectionName.replace(/\//g, '_'), escapedSchematicName], - options, - ); - } - - private async parseSchematicInfo( - options: GenerateCommandSchema, - ): Promise<[string, string | undefined]> { - let collectionName = await this.getDefaultSchematicCollection(); - - let schematicName = options.schematic; - - if (schematicName && schematicName.includes(':')) { - [collectionName, schematicName] = schematicName.split(':', 2); - } - - return [collectionName, schematicName]; - } - - public override async printHelp() { - await super.printHelp(); - - this.logger.info(''); - // Find the generate subcommand. - const subcommand = this.description.options.filter((x) => x.subcommands)[0]; - if (Object.keys((subcommand && subcommand.subcommands) || {}).length == 1) { - this.logger.info(`\nTo see help for a schematic run:`); - this.logger.info(colors.cyan(` ng generate --help`)); - } - - return 0; - } -} diff --git a/packages/angular/cli/commands/generate.json b/packages/angular/cli/commands/generate.json deleted file mode 100644 index 53228340abd4..000000000000 --- a/packages/angular/cli/commands/generate.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/generate.json", - "description": "Generates and/or modifies files based on a schematic.", - "$longDescription": "", - - "$aliases": ["g"], - "$scope": "in", - "$type": "schematics", - "$impl": "./generate-impl#GenerateCommand", - - "allOf": [ - { - "type": "object", - "properties": { - "schematic": { - "type": "string", - "description": "The schematic or collection:schematic to generate.", - "$default": { - "$source": "argv", - "index": 0 - } - } - }, - "required": [] - }, - { "$ref": "./definitions.json#/definitions/base" }, - { "$ref": "./definitions.json#/definitions/schematic" }, - { "$ref": "./definitions.json#/definitions/interactive" } - ] -} diff --git a/packages/angular/cli/commands/generate/cli.ts b/packages/angular/cli/commands/generate/cli.ts new file mode 100644 index 000000000000..8311d4d2ad1b --- /dev/null +++ b/packages/angular/cli/commands/generate/cli.ts @@ -0,0 +1,147 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { strings } from '@angular-devkit/core'; +import { Argv } from 'yargs'; +import { + CommandModuleImplementation, + Options, + OtherOptions, +} from '../../utilities/command-builder/command-module'; +import { Option } from '../../utilities/command-builder/json-schema'; +import { + SchematicsCommandArgs, + SchematicsCommandModule, +} from '../../utilities/command-builder/schematics-command-module'; +import { GenerateCommand } from './generate-impl'; + +export interface GenerateCommandArgs extends SchematicsCommandArgs { + schematic?: string; +} + +export class GenerateCommandModule + extends SchematicsCommandModule + implements CommandModuleImplementation +{ + command = 'generate [schematic]'; + aliases = 'g'; + describe = 'Generates and/or modifies files based on a schematic.'; + longDescriptionPath?: string | undefined; + + override async builder(argv: Argv): Promise> { + const [, schematicNameFromArgs] = this.parseSchematicInfo( + // positional = [generate, component] or [generate] + this.context.args.positional[1], + ); + + const baseYargs = await super.builder(argv); + if (this.schematicName) { + return baseYargs; + } + + // When we do know the schematic name we need to add the 'schematic' + // positional option as the schematic will be accessable as a subcommand. + let localYargs = schematicNameFromArgs + ? baseYargs + : baseYargs.positional('schematic', { + describe: 'The schematic or collection:schematic to generate.', + type: 'string', + demandOption: true, + }); + + const collectionName = await this.getCollectionName(); + const workflow = this.getOrCreateWorkflow(collectionName); + const collection = workflow.engine.createCollection(collectionName); + const schematicsInCollection = collection.description.schematics; + + // We cannot use `collection.listSchematicNames()` as this doesn't return hidden schematics. + const schematicNames = new Set(Object.keys(schematicsInCollection).sort()); + + if (schematicNameFromArgs && schematicNames.has(schematicNameFromArgs)) { + // No need to process all schematics since we know which one the user invoked. + schematicNames.clear(); + schematicNames.add(schematicNameFromArgs); + } + + for (const schematicName of schematicNames) { + const { + description: { schemaJson, aliases: schematicAliases, hidden: schematicHidden }, + } = collection.createSchematic(schematicName, true); + + if (!schemaJson) { + continue; + } + + const { + description, + 'x-deprecated': xDeprecated, + aliases = schematicAliases, + hidden = schematicHidden, + } = schemaJson; + const options = await this.getSchematicOptions(collection, schematicName, workflow); + + localYargs = localYargs.command({ + command: await this.generateCommandString(collectionName, schematicName, options), + // When 'describe' is set to false, it results in a hidden command. + describe: hidden === true ? false : typeof description === 'string' ? description : '', + deprecated: xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : false, + aliases: Array.isArray(aliases) ? (aliases as string[]) : undefined, + builder: (localYargs) => this.addSchemaOptionsToCommand(localYargs, options).strict(), + handler: (options) => + this.handler({ ...options, schematic: `${collectionName}:${schematicName}` }), + }); + } + + return localYargs; + } + + run( + options: Options & OtherOptions, + ): number | void | Promise { + const command = new GenerateCommand(this.context, 'generate'); + + return command.validateAndRun(options); + } + + /** + * Generate a command string to be passed to the command builder. + * + * @example `component [name]` or `@schematics/angular:component [name]`. + */ + private async generateCommandString( + collectionName: string, + schematicName: string, + options: Option[], + ): Promise { + const [collectionNameFromArgs] = this.parseSchematicInfo( + // positional = [generate, component] or [generate] + this.context.args.positional[1], + ); + + const dasherizedSchematicName = strings.dasherize(schematicName); + + // Only add the collection name as part of the command when it's not the default collection or when it has been provided via the CLI. + // Ex:`ng generate @schematics/angular:component` + const commandName = + !!collectionNameFromArgs || + (await this.getDefaultSchematicCollection()) !== (await this.getCollectionName()) + ? collectionName + ':' + dasherizedSchematicName + : dasherizedSchematicName; + + const positionalArgs = options + .filter((o) => o.positional !== undefined) + .map((o) => { + const label = `${strings.dasherize(o.name)}${o.type === 'array' ? ' ..' : ''}`; + + return o.required ? `<${label}>` : `[${label}]`; + }) + .join(' '); + + return `${commandName}${positionalArgs ? ' ' + positionalArgs : ''}`; + } +} diff --git a/packages/angular/cli/commands/generate/generate-impl.ts b/packages/angular/cli/commands/generate/generate-impl.ts new file mode 100644 index 000000000000..a0aec5ca48b5 --- /dev/null +++ b/packages/angular/cli/commands/generate/generate-impl.ts @@ -0,0 +1,68 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { SchematicCommand } from '../../models/schematic-command'; +import { Options, OtherOptions } from '../../utilities/command-builder/command-module'; +import { GenerateCommandArgs } from './cli'; + +type GenerateCommandOptions = Options; + +export class GenerateCommand extends SchematicCommand { + // Allows us to resolve aliases before reporting analytics + longSchematicName: string | undefined; + + override async initialize(options: GenerateCommandOptions) { + // Fill up the schematics property of the command description. + const [collectionName, schematicName] = await this.parseSchematicInfo(options.schematic); + this.collectionName = collectionName ?? (await this.getDefaultSchematicCollection()); + this.schematicName = schematicName; + + await super.initialize(options); + } + + public async run(options: GenerateCommandOptions & OtherOptions) { + if (!this.schematicName || !this.collectionName) { + return 1; + } + + const { dryRun, force, interactive, defaults, schematic, ...schematicOptions } = options; + + return this.runSchematic({ + collectionName: this.collectionName, + schematicName: this.schematicName, + schematicOptions: schematicOptions, + debug: false, + dryRun, + force, + }); + } + + override async reportAnalytics(paths: string[], options: GenerateCommandOptions): Promise { + if (!this.collectionName || !this.schematicName) { + return; + } + const escapedSchematicName = (this.longSchematicName || this.schematicName).replace(/\//g, '_'); + + return super.reportAnalytics( + ['generate', this.collectionName.replace(/\//g, '_'), escapedSchematicName], + options, + ); + } + + private parseSchematicInfo( + schematic: string | undefined, + ): [collectionName: string | undefined, schematicName: string | undefined] { + if (schematic?.includes(':')) { + const [collectionName, schematicName] = schematic.split(':', 2); + + return [collectionName, schematicName]; + } + + return [undefined, schematic]; + } +} diff --git a/packages/angular/cli/commands/help-impl.ts b/packages/angular/cli/commands/help-impl.ts deleted file mode 100644 index c7ccc282493d..000000000000 --- a/packages/angular/cli/commands/help-impl.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Command } from '../models/command'; -import { colors } from '../utilities/color'; -import { Schema as HelpCommandSchema } from './help'; - -export class HelpCommand extends Command { - async run() { - this.logger.info(`Available Commands:`); - - for (const cmd of Object.values(await Command.commandMap())) { - if (cmd.hidden) { - continue; - } - - const aliasInfo = cmd.aliases.length > 0 ? ` (${cmd.aliases.join(', ')})` : ''; - this.logger.info(` ${colors.cyan(cmd.name)}${aliasInfo} ${cmd.description}`); - } - this.logger.info(`\nFor more detailed help run "ng [command name] --help"`); - } -} diff --git a/packages/angular/cli/commands/help-long.md b/packages/angular/cli/commands/help-long.md deleted file mode 100644 index cc4b790f906e..000000000000 --- a/packages/angular/cli/commands/help-long.md +++ /dev/null @@ -1,7 +0,0 @@ -For help with individual commands, use the `--help` or `-h` option with the command. - -For example, - -```sh -ng help serve -``` diff --git a/packages/angular/cli/commands/help.json b/packages/angular/cli/commands/help.json deleted file mode 100644 index a6513118d0e4..000000000000 --- a/packages/angular/cli/commands/help.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/help.json", - "description": "Lists available commands and their short descriptions.", - "$longDescription": "./help-long.md", - - "$scope": "all", - "$aliases": [], - "$impl": "./help-impl#HelpCommand", - - "type": "object", - "allOf": [{ "$ref": "./definitions.json#/definitions/base" }] -} diff --git a/packages/angular/cli/commands/lint-impl.ts b/packages/angular/cli/commands/lint-impl.ts deleted file mode 100644 index e9fb4dc801b3..000000000000 --- a/packages/angular/cli/commands/lint-impl.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { spawnSync } from 'child_process'; -import * as path from 'path'; -import { ArchitectCommand } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { askConfirmation } from '../utilities/prompt'; -import { Schema as LintCommandSchema } from './lint'; - -const MissingBuilder = ` -Cannot find "lint" target for the specified project. - -You should add a package that implements linting capabilities. - -For example: - ng add @angular-eslint/schematics -`; - -export class LintCommand extends ArchitectCommand { - override readonly target = 'lint'; - override readonly multiTarget = true; - - override async initialize(options: LintCommandSchema & Arguments): Promise { - if (!options.help) { - return super.initialize(options); - } - } - - override async onMissingTarget(): Promise { - this.logger.warn(MissingBuilder); - - const shouldAdd = await askConfirmation('Would you like to add ESLint now?', true, false); - if (shouldAdd) { - // Run `ng add @angular-eslint/schematics` - const binPath = path.resolve(__dirname, '../bin/ng.js'); - const { status, error } = spawnSync( - process.execPath, - [binPath, 'add', '@angular-eslint/schematics'], - { - stdio: 'inherit', - }, - ); - - if (error) { - throw error; - } - - return status ?? 0; - } - } -} diff --git a/packages/angular/cli/commands/lint.json b/packages/angular/cli/commands/lint.json deleted file mode 100644 index 824632e79f76..000000000000 --- a/packages/angular/cli/commands/lint.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/lint.json", - "description": "Runs linting tools on Angular app code in a given project folder.", - "$longDescription": "./lint-long.md", - - "$aliases": ["l"], - "$scope": "in", - "$type": "architect", - "$impl": "./lint-impl#LintCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "project": { - "type": "string", - "description": "The name of the project to lint.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "configuration": { - "description": "One or more named builder configurations as a comma-separated list as specified in the \"configurations\" section of angular.json.\nThe builder uses the named configurations to run the given target.\nFor more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.", - "type": "string", - "aliases": ["c"] - } - }, - "required": [] - }, - { - "$ref": "./definitions.json#/definitions/base" - } - ] -} diff --git a/packages/angular/cli/commands/lint/cli.ts b/packages/angular/cli/commands/lint/cli.ts new file mode 100644 index 000000000000..1715b5a7a0bf --- /dev/null +++ b/packages/angular/cli/commands/lint/cli.ts @@ -0,0 +1,31 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { tags } from '@angular-devkit/core'; +import { join } from 'path'; +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class LintCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + override missingErrorTarget = tags.stripIndents` + Cannot find "lint" target for the specified project. + + You should add a package that implements linting capabilities. + + For example: + ng add @angular-eslint/schematics + `; + + multiTarget = true; + command = 'lint [project]'; + longDescriptionPath = join(__dirname, 'long-description.md'); + describe = 'Runs linting tools on Angular application code in a given project folder.'; +} diff --git a/packages/angular/cli/commands/lint-long.md b/packages/angular/cli/commands/lint/long-description.md similarity index 100% rename from packages/angular/cli/commands/lint-long.md rename to packages/angular/cli/commands/lint/long-description.md diff --git a/packages/angular/cli/commands/make-this-awesome/cli.ts b/packages/angular/cli/commands/make-this-awesome/cli.ts new file mode 100644 index 000000000000..9705533289d5 --- /dev/null +++ b/packages/angular/cli/commands/make-this-awesome/cli.ts @@ -0,0 +1,41 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Argv } from 'yargs'; +import { colors } from '../../utilities/color'; +import { + CommandModule, + CommandModuleImplementation, +} from '../../utilities/command-builder/command-module'; + +export class AwesomeCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'make-this-awesome'; + describe: false = false; + longDescriptionPath?: string | undefined; + + builder(localYargs: Argv): Argv { + return localYargs; + } + + run(): void { + const pickOne = (of: string[]) => of[Math.floor(Math.random() * of.length)]; + + const phrase = pickOne([ + `You're on it, there's nothing for me to do!`, + `Let's take a look... nope, it's all good!`, + `You're doing fine.`, + `You're already doing great.`, + `Nothing to do; already awesome. Exiting.`, + `Error 418: As Awesome As Can Get.`, + `I spy with my little eye a great developer!`, + `Noop... already awesome.`, + ]); + + this.context.logger.info(colors.green(phrase)); + } +} diff --git a/packages/angular/cli/commands/new.json b/packages/angular/cli/commands/new.json deleted file mode 100644 index 90efa76056be..000000000000 --- a/packages/angular/cli/commands/new.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/new.json", - "description": "Creates a new workspace and an initial Angular application.", - "$longDescription": "./new.md", - - "$aliases": ["n"], - "$scope": "out", - "$type": "schematic", - "$impl": "./new-impl#NewCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "collection": { - "type": "string", - "aliases": ["c"], - "description": "A collection of schematics to use in generating the initial application." - }, - "verbose": { - "type": "boolean", - "default": false, - "aliases": ["v"], - "description": "Add more details to output logging." - } - }, - "required": [] - }, - { "$ref": "./definitions.json#/definitions/base" }, - { "$ref": "./definitions.json#/definitions/schematic" }, - { "$ref": "./definitions.json#/definitions/interactive" } - ] -} diff --git a/packages/angular/cli/commands/new.md b/packages/angular/cli/commands/new.md deleted file mode 100644 index 135e1b2c108a..000000000000 --- a/packages/angular/cli/commands/new.md +++ /dev/null @@ -1,16 +0,0 @@ -Creates and initializes a new Angular application that is the default project for a new workspace. - -Provides interactive prompts for optional configuration, such as adding routing support. -All prompts can safely be allowed to default. - -- The new workspace folder is given the specified project name, and contains configuration files at the top level. - -- By default, the files for a new initial application (with the same name as the workspace) are placed in the `src/` subfolder. - -- The new application's configuration appears in the `projects` section of the `angular.json` workspace configuration file, under its project name. - -- Subsequent applications that you generate in the workspace reside in the `projects/` subfolder. - -If you plan to have multiple applications in the workspace, you can create an empty workspace by setting the `--create-application` option to false. -You can then use `ng generate application` to create an initial application. -This allows a workspace name different from the initial app name, and ensures that all applications reside in the `/projects` subfolder, matching the structure of the configuration file. diff --git a/packages/angular/cli/commands/new/cli.ts b/packages/angular/cli/commands/new/cli.ts new file mode 100644 index 000000000000..38174ff81e72 --- /dev/null +++ b/packages/angular/cli/commands/new/cli.ts @@ -0,0 +1,53 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Argv } from 'yargs'; +import { + CommandModuleImplementation, + CommandScope, + Options, + OtherOptions, +} from '../../utilities/command-builder/command-module'; +import { + SchematicsCommandArgs, + SchematicsCommandModule, +} from '../../utilities/command-builder/schematics-command-module'; +import { NewCommand } from './new-impl'; + +export interface NewCommandArgs extends SchematicsCommandArgs { + collection?: string; +} + +export class NewCommandModule + extends SchematicsCommandModule + implements CommandModuleImplementation +{ + protected override schematicName = 'ng-new'; + static override scope = CommandScope.Out; + + command = 'new [name]'; + aliases = 'n'; + describe = 'Creates a new Angular workspace.'; + longDescriptionPath?: string | undefined; + + override async builder(argv: Argv): Promise> { + const baseYargs = await super.builder(argv); + + return baseYargs.option('collection', { + alias: 'c', + describe: 'A collection of schematics to use in generating the initial application.', + type: 'string', + }); + } + + run(options: Options & OtherOptions): number | void | Promise { + const command = new NewCommand(this.context, 'new'); + + return command.validateAndRun(options); + } +} diff --git a/packages/angular/cli/commands/new-impl.ts b/packages/angular/cli/commands/new/new-impl.ts similarity index 53% rename from packages/angular/cli/commands/new-impl.ts rename to packages/angular/cli/commands/new/new-impl.ts index b4869de0f043..964ba7244dd2 100644 --- a/packages/angular/cli/commands/new-impl.ts +++ b/packages/angular/cli/commands/new/new-impl.ts @@ -6,33 +6,37 @@ * found in the LICENSE file at https://angular.io/license */ -import { Arguments } from '../models/interface'; -import { SchematicCommand } from '../models/schematic-command'; -import { VERSION } from '../models/version'; -import { Schema as NewCommandSchema } from './new'; +import { SchematicCommand } from '../../models/schematic-command'; +import { Options, OtherOptions } from '../../utilities/command-builder/command-module'; +import { VERSION } from '../../utilities/version'; +import { NewCommandArgs } from './cli'; -export class NewCommand extends SchematicCommand { +type NewCommandOptions = Options; + +export class NewCommand extends SchematicCommand { public override readonly allowMissingWorkspace = true; override schematicName = 'ng-new'; - override async initialize(options: NewCommandSchema & Arguments) { + override async initialize(options: NewCommandOptions) { this.collectionName = options.collection || (await this.getDefaultSchematicCollection()); return super.initialize(options); } - public async run(options: NewCommandSchema & Arguments) { + public async run(options: NewCommandOptions & OtherOptions) { // Register the version of the CLI in the registry. const version = VERSION.full; this._workflow.registry.addSmartDefaultProvider('ng-cli-version', () => version); + const { dryRun, force, interactive, defaults, collection, ...schematicOptions } = options; + return this.runSchematic({ collectionName: this.collectionName, schematicName: this.schematicName, - schematicOptions: options['--'] || [], - debug: !!options.debug, - dryRun: !!options.dryRun, - force: !!options.force, + schematicOptions, + debug: false, + dryRun, + force, }); } } diff --git a/packages/angular/cli/commands/run-impl.ts b/packages/angular/cli/commands/run-impl.ts deleted file mode 100644 index d9cee91850aa..000000000000 --- a/packages/angular/cli/commands/run-impl.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand, ArchitectCommandOptions } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as RunCommandSchema } from './run'; - -export class RunCommand extends ArchitectCommand { - public override async run(options: ArchitectCommandOptions & Arguments) { - if (options.target) { - return this.runArchitectTarget(options); - } else { - throw new Error('Invalid architect target.'); - } - } -} diff --git a/packages/angular/cli/commands/run.json b/packages/angular/cli/commands/run.json deleted file mode 100644 index f4e2287dbf35..000000000000 --- a/packages/angular/cli/commands/run.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/run.json", - "description": "Runs an Architect target with an optional custom builder configuration defined in your project.", - "$longDescription": "./run-long.md", - - "$aliases": [], - "$scope": "in", - "$type": "architect", - "$impl": "./run-impl#RunCommand", - - "type": "object", - "allOf": [ - { - "properties": { - "target": { - "type": "string", - "description": "The Architect target to run.", - "$default": { - "$source": "argv", - "index": 0 - } - }, - "configuration": { - "description": "One or more named builder configurations as a comma-separated list as specified in the \"configurations\" section of angular.json.\nThe builder uses the named configurations to run the given target.\nFor more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.", - "type": "string", - "aliases": ["c"] - } - }, - "required": [] - }, - { - "$ref": "./definitions.json#/definitions/base" - } - ] -} diff --git a/packages/angular/cli/commands/run/cli.ts b/packages/angular/cli/commands/run/cli.ts new file mode 100644 index 000000000000..7674f1f656cb --- /dev/null +++ b/packages/angular/cli/commands/run/cli.ts @@ -0,0 +1,114 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Architect, Target } from '@angular-devkit/architect'; +import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; +import { json } from '@angular-devkit/core'; +import { join } from 'path'; +import { Argv } from 'yargs'; +import { isPackageNameSafeForAnalytics } from '../../models/analytics'; +import { getArchitectTargetOptions } from '../../utilities/command-builder/architect-command-module'; +import { + CommandModule, + CommandModuleError, + CommandModuleImplementation, + CommandScope, + Options, + OtherOptions, +} from '../../utilities/command-builder/command-module'; + +export interface RunCommandArgs { + target: string; +} + +export class RunCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + static override scope = CommandScope.In; + + command = 'run '; + describe = + 'Runs an Architect target with an optional custom builder configuration defined in your project.'; + longDescriptionPath = join(__dirname, 'long-description.md'); + + async builder(argv: Argv): Promise> { + const localYargs: Argv = argv + .positional('target', { + describe: 'The Architect target to run.', + type: 'string', + demandOption: true, + }) + .strict(); + + const target = this.makeTargetSpecifier(); + if (!target) { + return localYargs; + } + + const schemaOptions = await getArchitectTargetOptions(this.context, target); + + return this.addSchemaOptionsToCommand(localYargs, schemaOptions); + } + + async run(options: Options & OtherOptions): Promise { + const { logger, workspace } = this.context; + if (!workspace) { + throw new CommandModuleError('A workspace is required for this command.'); + } + + const registry = new json.schema.CoreSchemaRegistry(); + registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); + registry.useXDeprecatedProvider((msg) => logger.warn(msg)); + + const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); + const architect = new Architect(architectHost, registry); + + const target = this.makeTargetSpecifier(options); + + if (!target) { + throw new CommandModuleError('Cannot determine project or target.'); + } + + const builderName = await architectHost.getBuilderNameForTarget(target); + await this.reportAnalytics({ + ...(await architectHost.getOptionsForTarget(target)), + ...options, + }); + + const { target: _target, ...extraOptions } = options; + const run = await architect.scheduleTarget(target, extraOptions as json.JsonObject, { + logger, + analytics: isPackageNameSafeForAnalytics(builderName) ? await this.getAnalytics() : undefined, + }); + + const { error, success } = await run.output.toPromise(); + await run.stop(); + + if (error) { + logger.error(error); + } + + return success ? 0 : 1; + } + + protected makeTargetSpecifier(options?: Options): Target | undefined { + const architectTarget = options?.target ?? this.context.args.positional[1]; + if (!architectTarget) { + return undefined; + } + + const [project = '', target = '', configuration] = architectTarget.split(':'); + + return { + project, + target, + configuration, + }; + } +} diff --git a/packages/angular/cli/commands/run-long.md b/packages/angular/cli/commands/run/long-description.md similarity index 100% rename from packages/angular/cli/commands/run-long.md rename to packages/angular/cli/commands/run/long-description.md diff --git a/packages/angular/cli/commands/serve-impl.ts b/packages/angular/cli/commands/serve-impl.ts deleted file mode 100644 index 9d8dc3bec6eb..000000000000 --- a/packages/angular/cli/commands/serve-impl.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand, ArchitectCommandOptions } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as ServeCommandSchema } from './serve'; - -export class ServeCommand extends ArchitectCommand { - public override readonly target = 'serve'; - - public validate() { - return true; - } - - public override async run(options: ArchitectCommandOptions & Arguments) { - return this.runArchitectTarget(options); - } -} diff --git a/packages/angular/cli/commands/serve.json b/packages/angular/cli/commands/serve.json deleted file mode 100644 index efc7ba4089ae..000000000000 --- a/packages/angular/cli/commands/serve.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/serve.json", - "description": "Builds and serves your app, rebuilding on file changes.", - "$longDescription": "", - - "$aliases": ["s"], - "$scope": "in", - "$type": "architect", - "$impl": "./serve-impl#ServeCommand", - - "type": "object", - "allOf": [ - { "$ref": "./definitions.json#/definitions/architect" }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/serve/cli.ts b/packages/angular/cli/commands/serve/cli.ts new file mode 100644 index 000000000000..6231a9060980 --- /dev/null +++ b/packages/angular/cli/commands/serve/cli.ts @@ -0,0 +1,21 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class ServeCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + multiTarget = false; + command = 'serve [project]'; + aliases = ['s']; + describe = 'Builds and serves your application, rebuilding on file changes.'; + longDescriptionPath?: string | undefined; +} diff --git a/packages/angular/cli/commands/test-impl.ts b/packages/angular/cli/commands/test-impl.ts deleted file mode 100644 index 511520b0f02b..000000000000 --- a/packages/angular/cli/commands/test-impl.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ArchitectCommand, ArchitectCommandOptions } from '../models/architect-command'; -import { Arguments } from '../models/interface'; -import { Schema as TestCommandSchema } from './test'; - -export class TestCommand extends ArchitectCommand { - public override readonly target = 'test'; - public override readonly multiTarget = true; - - public override async run(options: ArchitectCommandOptions & Arguments) { - return this.runArchitectTarget(options); - } -} diff --git a/packages/angular/cli/commands/test.json b/packages/angular/cli/commands/test.json deleted file mode 100644 index 5fb4ce014c48..000000000000 --- a/packages/angular/cli/commands/test.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/test.json", - "description": "Runs unit tests in a project.", - "$longDescription": "./test-long.md", - - "$aliases": ["t"], - "$scope": "in", - "$type": "architect", - "$impl": "./test-impl#TestCommand", - - "type": "object", - "allOf": [ - { "$ref": "./definitions.json#/definitions/architect" }, - { "$ref": "./definitions.json#/definitions/base" } - ] -} diff --git a/packages/angular/cli/commands/test/cli.ts b/packages/angular/cli/commands/test/cli.ts new file mode 100644 index 000000000000..4c7dd6cbe23b --- /dev/null +++ b/packages/angular/cli/commands/test/cli.ts @@ -0,0 +1,22 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; + +export class TestCommandModule + extends ArchitectCommandModule + implements CommandModuleImplementation +{ + multiTarget = true; + command = 'test [project]'; + aliases = ['t']; + describe = 'Runs unit tests in a project.'; + longDescriptionPath = join(__dirname, 'long-description.md'); +} diff --git a/packages/angular/cli/commands/test-long.md b/packages/angular/cli/commands/test/long-description.md similarity index 100% rename from packages/angular/cli/commands/test-long.md rename to packages/angular/cli/commands/test/long-description.md diff --git a/packages/angular/cli/commands/update.json b/packages/angular/cli/commands/update.json deleted file mode 100644 index 043cedcd3cb2..000000000000 --- a/packages/angular/cli/commands/update.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/update.json", - "description": "Updates your application and its dependencies. See https://update.angular.io/", - "$longDescription": "./update-long.md", - - "$scope": "all", - "$aliases": [], - "$type": "schematics", - "$impl": "./update-impl#UpdateCommand", - - "type": "object", - "allOf": [ - { - "$ref": "./definitions.json#/definitions/base" - }, - { - "type": "object", - "properties": { - "packages": { - "description": "The names of package(s) to update.", - "type": "array", - "items": { - "type": "string" - }, - "$default": { - "$source": "argv" - } - }, - "force": { - "description": "Ignore peer dependency version mismatches. Passes the `--force` flag to the package manager when installing packages.", - "default": false, - "type": "boolean" - }, - "next": { - "description": "Use the prerelease version, including beta and RCs.", - "default": false, - "type": "boolean" - }, - "migrateOnly": { - "description": "Only perform a migration, do not update the installed version.", - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string", - "description": "The name of the migration to run." - } - ] - }, - "from": { - "description": "Version from which to migrate from. Only available with a single package being updated, and only on migration only.", - "type": "string" - }, - "to": { - "description": "Version up to which to apply migrations. Only available with a single package being updated, and only on migrations only. Requires from to be specified. Default to the installed version detected.", - "type": "string" - }, - "allowDirty": { - "description": "Whether to allow updating when the repository contains modified or untracked files.", - "type": "boolean" - }, - "verbose": { - "description": "Display additional details about internal operations during execution.", - "type": "boolean", - "default": false - }, - "createCommits": { - "description": "Create source control commits for updates and migrations.", - "type": "boolean", - "default": false, - "aliases": ["C"] - } - } - } - ] -} diff --git a/packages/angular/cli/commands/update/cli.ts b/packages/angular/cli/commands/update/cli.ts new file mode 100644 index 000000000000..1d611ba910f1 --- /dev/null +++ b/packages/angular/cli/commands/update/cli.ts @@ -0,0 +1,106 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Argv } from 'yargs'; +import { + CommandModule, + CommandScope, + Options, + OtherOptions, +} from '../../utilities/command-builder/command-module'; +import { UpdateCommand } from './update-impl'; + +export interface UpdateCommandArgs { + packages?: string | string[]; + force: boolean; + next: boolean; + 'migrate-only'?: boolean; + name?: string; + from?: string; + to?: string; + 'allow-dirty': boolean; + verbose: boolean; + 'create-commits': boolean; +} + +export class UpdateCommandModule extends CommandModule { + static override scope = CommandScope.In; + + command = 'update [packages..]'; + describe = 'Updates your workspace and its dependencies. See https://update.angular.io/.'; + longDescriptionPath?: string | undefined; + + builder(localYargs: Argv): Argv { + return localYargs + .positional('packages', { + description: 'The names of package(s) to update.', + type: 'string', + }) + .option('force', { + description: + 'Ignore peer dependency version mismatches. ' + + 'Passes the `--force` flag to the package manager when installing packages.', + type: 'boolean', + default: false, + }) + .option('next', { + description: 'Use the prerelease version, including beta and RCs.', + type: 'boolean', + default: false, + }) + .option('migrate-only', { + description: 'Only perform a migration, do not update the installed version.', + type: 'boolean', + }) + .option('name', { + description: 'The name of the migration to run.', + type: 'string', + implies: ['migrate-only'], + conflicts: ['to', 'from'], + }) + .option('from', { + description: + 'Version from which to migrate from. Only available with a single package being updated, and only on migration only.', + type: 'string', + implies: ['to', 'migrate-only'], + conflicts: ['name'], + }) + .option('to', { + describe: + 'Version up to which to apply migrations. Only available with a single package being updated, ' + + 'and only on migrations only. Requires from to be specified. Default to the installed version detected.', + type: 'string', + implies: ['from', 'migrate-only'], + conflicts: ['name'], + }) + .option('allow-dirty', { + describe: + 'Whether to allow updating when the repository contains modified or untracked files.', + type: 'boolean', + default: false, + }) + .option('verbose', { + describe: 'Display additional details about internal operations during execution.', + type: 'boolean', + default: false, + }) + .option('create-commits', { + describe: 'Create source control commits for updates and migrations.', + type: 'boolean', + alias: ['C'], + default: false, + }) + .strict(); + } + + run(options: Options & OtherOptions): Promise { + const command = new UpdateCommand(this.context, 'update'); + + return command.validateAndRun(options); + } +} diff --git a/packages/angular/cli/commands/update-long.md b/packages/angular/cli/commands/update/long-description.md similarity index 100% rename from packages/angular/cli/commands/update-long.md rename to packages/angular/cli/commands/update/long-description.md diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update/update-impl.ts similarity index 95% rename from packages/angular/cli/commands/update-impl.ts rename to packages/angular/cli/commands/update/update-impl.ts index 6f0359af2ef3..b8b5a521018b 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update/update-impl.ts @@ -14,34 +14,36 @@ import npa from 'npm-package-arg'; import pickManifest from 'npm-pick-manifest'; import * as path from 'path'; import * as semver from 'semver'; -import { PackageManager } from '../lib/config/workspace-schema'; -import { Command } from '../models/command'; -import { Arguments } from '../models/interface'; -import { SchematicEngineHost } from '../models/schematic-engine-host'; -import { VERSION } from '../models/version'; -import { colors } from '../utilities/color'; -import { installAllPackages, runTempPackageBin } from '../utilities/install-package'; -import { writeErrorToLogFile } from '../utilities/log-file'; -import { ensureCompatibleNpm, getPackageManager } from '../utilities/package-manager'; +import { PackageManager } from '../../lib/config/workspace-schema'; +import { Command } from '../../models/command'; +import { SchematicEngineHost } from '../../models/schematic-engine-host'; +import { colors } from '../../utilities/color'; +import { Options } from '../../utilities/command-builder/command-module'; +import { installAllPackages, runTempPackageBin } from '../../utilities/install-package'; +import { writeErrorToLogFile } from '../../utilities/log-file'; +import { ensureCompatibleNpm, getPackageManager } from '../../utilities/package-manager'; import { PackageIdentifier, PackageManifest, fetchPackageManifest, fetchPackageMetadata, -} from '../utilities/package-metadata'; +} from '../../utilities/package-metadata'; import { PackageTreeNode, findPackageJson, getProjectDependencies, readPackageJson, -} from '../utilities/package-tree'; -import { Schema as UpdateCommandSchema } from './update'; +} from '../../utilities/package-tree'; +import { VERSION } from '../../utilities/version'; +import { UpdateCommandArgs } from './cli'; const UPDATE_SCHEMATIC_COLLECTION = path.join( __dirname, - '../src/commands/update/schematic/collection.json', + '../../src/commands/update/schematic/collection.json', ); +type UpdateCommandOptions = Options; + /** * Disable CLI version mismatch checks and forces usage of the invoked CLI * instead of invoking the local installed version. @@ -53,13 +55,12 @@ const disableVersionCheck = disableVersionCheckEnv.toLowerCase() !== 'false'; const ANGULAR_PACKAGES_REGEXP = /^@(?:angular|nguniversal)\//; - -export class UpdateCommand extends Command { +export class UpdateCommand extends Command { public override readonly allowMissingWorkspace = true; private workflow!: NodeWorkflow; private packageManager = PackageManager.Npm; - override async initialize(options: UpdateCommandSchema & Arguments) { + override async initialize(options: UpdateCommandOptions) { this.packageManager = await getPackageManager(this.context.root); this.workflow = new NodeWorkflow(this.context.root, { packageManager: this.packageManager, @@ -266,13 +267,13 @@ export class UpdateCommand extends Command { } // eslint-disable-next-line max-lines-per-function - async run(options: UpdateCommandSchema & Arguments) { + async run(options: UpdateCommandOptions) { await ensureCompatibleNpm(this.context.root); // Check if the current installed CLI version is older than the latest compatible version. if (!disableVersionCheck) { const cliVersionToInstall = await this.checkCLIVersion( - options['--'], + options.packages, options.verbose, options.next, ); @@ -298,7 +299,9 @@ export class UpdateCommand extends Command { }; const packages: PackageIdentifier[] = []; - for (const request of options['--'] || []) { + const packagesFromOptions = + typeof options.packages === 'string' ? [options.packages] : options.packages; + for (const request of packagesFromOptions ?? []) { try { const packageIdentifier = npa(request); @@ -468,11 +471,11 @@ export class UpdateCommand extends Command { } let result: boolean; - if (typeof options.migrateOnly == 'string') { + if (options.name) { result = await this.executeMigration( packageName, migrations, - options.migrateOnly, + options.name, options.createCommits, ); } else { @@ -826,12 +829,15 @@ export class UpdateCommand extends Command { * @returns the version to install or null when there is no update to install. */ private async checkCLIVersion( - packagesToUpdate: string[] | undefined, + packagesToUpdate: string[] | string | undefined, verbose = false, next = false, ): Promise { const { version } = await fetchPackageManifest( - `@angular/cli@${this.getCLIUpdateRunnerVersion(packagesToUpdate, next)}`, + `@angular/cli@${this.getCLIUpdateRunnerVersion( + typeof packagesToUpdate === 'string' ? [packagesToUpdate] : packagesToUpdate, + next, + )}`, this.logger, { verbose, diff --git a/packages/angular/cli/commands/version.json b/packages/angular/cli/commands/version.json deleted file mode 100644 index 8f4c3ff1fdd1..000000000000 --- a/packages/angular/cli/commands/version.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "ng-cli://commands/version.json", - "description": "Outputs Angular CLI version.", - "$longDescription": "", - - "$aliases": ["v"], - "$scope": "all", - "$impl": "./version-impl#VersionCommand", - - "type": "object", - "allOf": [{ "$ref": "./definitions.json#/definitions/base" }] -} diff --git a/packages/angular/cli/commands/version-impl.ts b/packages/angular/cli/commands/version/cli.ts similarity index 71% rename from packages/angular/cli/commands/version-impl.ts rename to packages/angular/cli/commands/version/cli.ts index 7df7544e3b4a..e86be716689f 100644 --- a/packages/angular/cli/commands/version-impl.ts +++ b/packages/angular/cli/commands/version/cli.ts @@ -8,15 +8,13 @@ import { execSync } from 'child_process'; import nodeModule from 'module'; -import { Command } from '../models/command'; -import { colors } from '../utilities/color'; -import { getPackageManager } from '../utilities/package-manager'; -import { Schema as VersionCommandSchema } from './version'; - -/** - * Major versions of Node.js that are officially supported by Angular. - */ -const SUPPORTED_NODE_MAJORS = [12, 14, 16]; +import { Argv } from 'yargs'; +import { colors } from '../../utilities/color'; +import { + CommandModule, + CommandModuleImplementation, +} from '../../utilities/command-builder/command-module'; +import { getPackageManager } from '../../utilities/package-manager'; interface PartialPackageInfo { name: string; @@ -25,36 +23,49 @@ interface PartialPackageInfo { devDependencies?: Record; } -export class VersionCommand extends Command { - public static aliases = ['v']; +/** + * Major versions of Node.js that are officially supported by Angular. + */ +const SUPPORTED_NODE_MAJORS = [12, 14, 16]; + +const PACKAGE_PATTERNS = [ + /^@angular\/.*/, + /^@angular-devkit\/.*/, + /^@bazel\/.*/, + /^@ngtools\/.*/, + /^@nguniversal\/.*/, + /^@schematics\/.*/, + /^rxjs$/, + /^typescript$/, + /^ng-packagr$/, + /^webpack$/, +]; + +export class VersionCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'version'; + aliases = ['v']; + describe = 'Outputs Angular CLI version.'; + longDescriptionPath?: string | undefined; + + builder(localYargs: Argv): Argv { + return localYargs; + } - private readonly localRequire = nodeModule.createRequire(__filename); - // Trailing slash is used to allow the path to be treated as a directory - private readonly workspaceRequire = nodeModule.createRequire(this.context.root + '/'); + async run(): Promise { + const logger = this.context.logger; + const localRequire = nodeModule.createRequire(__filename); + // Trailing slash is used to allow the path to be treated as a directory + const workspaceRequire = nodeModule.createRequire(this.context.root + '/'); - async run() { - const cliPackage: PartialPackageInfo = this.localRequire('../package.json'); + const cliPackage: PartialPackageInfo = localRequire('../../package.json'); let workspacePackage: PartialPackageInfo | undefined; try { - workspacePackage = this.workspaceRequire('./package.json'); + workspacePackage = workspaceRequire('./package.json'); } catch {} const [nodeMajor] = process.versions.node.split('.').map((part) => Number(part)); const unsupportedNodeVersion = !SUPPORTED_NODE_MAJORS.includes(nodeMajor); - const patterns = [ - /^@angular\/.*/, - /^@angular-devkit\/.*/, - /^@bazel\/.*/, - /^@ngtools\/.*/, - /^@nguniversal\/.*/, - /^@schematics\/.*/, - /^rxjs$/, - /^typescript$/, - /^ng-packagr$/, - /^webpack$/, - ]; - const packageNames = [ ...Object.keys(cliPackage.dependencies || {}), ...Object.keys(cliPackage.devDependencies || {}), @@ -63,13 +74,13 @@ export class VersionCommand extends Command { ]; const versions = packageNames - .filter((x) => patterns.some((p) => p.test(x))) + .filter((x) => PACKAGE_PATTERNS.some((p) => p.test(x))) .reduce((acc, name) => { if (name in acc) { return acc; } - acc[name] = this.getVersion(name); + acc[name] = this.getVersion(name, workspaceRequire, localRequire); return acc; }, {} as { [module: string]: string }); @@ -112,12 +123,12 @@ export class VersionCommand extends Command { .map((x) => colors.red(x)) .join('\n'); - this.logger.info(asciiArt); - this.logger.info( + logger.info(asciiArt); + logger.info( ` Angular CLI: ${ngCliVersion} Node: ${process.versions.node}${unsupportedNodeVersion ? ' (Unsupported)' : ''} - Package Manager: ${await this.getPackageManager()} + Package Manager: ${await this.getPackageManagerVersion()} OS: ${process.platform} ${process.arch} Angular: ${angularCoreVersion} @@ -148,42 +159,44 @@ export class VersionCommand extends Command { ); if (unsupportedNodeVersion) { - this.logger.warn( + logger.warn( `Warning: The current version of Node (${process.versions.node}) is not supported by Angular.`, ); } } - private getVersion(moduleName: string): string { + private getVersion( + moduleName: string, + workspaceRequire: NodeRequire, + localRequire: NodeRequire, + ): string { let packageInfo: PartialPackageInfo | undefined; let cliOnly = false; // Try to find the package in the workspace try { - packageInfo = this.workspaceRequire(`${moduleName}/package.json`); + packageInfo = workspaceRequire(`${moduleName}/package.json`); } catch {} // If not found, try to find within the CLI if (!packageInfo) { try { - packageInfo = this.localRequire(`${moduleName}/package.json`); + packageInfo = localRequire(`${moduleName}/package.json`); cliOnly = true; } catch {} } - let version: string | undefined; - // If found, attempt to get the version if (packageInfo) { try { - version = packageInfo.version + (cliOnly ? ' (cli-only)' : ''); + return packageInfo.version + (cliOnly ? ' (cli-only)' : ''); } catch {} } - return version || ''; + return ''; } - private async getPackageManager(): Promise { + private async getPackageManagerVersion(): Promise { try { const manager = await getPackageManager(this.context.root); const version = execSync(`${manager} --version`, { diff --git a/packages/angular/cli/lib/cli/command-runner.ts b/packages/angular/cli/lib/cli/command-runner.ts new file mode 100644 index 000000000000..11744fa7bc85 --- /dev/null +++ b/packages/angular/cli/lib/cli/command-runner.ts @@ -0,0 +1,150 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import yargs from 'yargs'; +import { Parser } from 'yargs/helpers'; +import { AddCommandModule } from '../../commands/add/cli'; +import { AnalyticsCommandModule } from '../../commands/analytics/cli'; +import { BuildCommandModule } from '../../commands/build/cli'; +import { ConfigCommandModule } from '../../commands/config/cli'; +import { DeployCommandModule } from '../../commands/deploy/cli'; +import { DocCommandModule } from '../../commands/doc/cli'; +import { E2eCommandModule } from '../../commands/e2e/cli'; +import { ExtractI18nCommandModule } from '../../commands/extract-i18n/cli'; +import { GenerateCommandModule } from '../../commands/generate/cli'; +import { LintCommandModule } from '../../commands/lint/cli'; +import { AwesomeCommandModule } from '../../commands/make-this-awesome/cli'; +import { NewCommandModule } from '../../commands/new/cli'; +import { RunCommandModule } from '../../commands/run/cli'; +import { ServeCommandModule } from '../../commands/serve/cli'; +import { TestCommandModule } from '../../commands/test/cli'; +import { UpdateCommandModule } from '../../commands/update/cli'; +import { VersionCommandModule } from '../../commands/version/cli'; +import { colors } from '../../utilities/color'; +import { CommandContext, CommandModuleError } from '../../utilities/command-builder/command-module'; +import { AngularWorkspace } from '../../utilities/config'; + +const COMMANDS = [ + VersionCommandModule, + DocCommandModule, + AwesomeCommandModule, + ConfigCommandModule, + AnalyticsCommandModule, + AddCommandModule, + GenerateCommandModule, + BuildCommandModule, + E2eCommandModule, + TestCommandModule, + ServeCommandModule, + ExtractI18nCommandModule, + DeployCommandModule, + LintCommandModule, + NewCommandModule, + UpdateCommandModule, + RunCommandModule, +]; + +const yargsParser = Parser as unknown as typeof Parser.default & { + camelCase(str: string): string; +}; + +export async function runCommand( + args: string[], + logger: logging.Logger, + workspace: AngularWorkspace | undefined, +): Promise { + const { + $0, + _: positional, + help = false, + ...rest + } = yargsParser(args, { boolean: ['help'], alias: { 'collection': 'c' } }); + + const context: CommandContext = { + workspace, + logger, + currentDirectory: process.cwd(), + root: workspace?.basePath ?? process.cwd(), + args: { + positional: positional.map((v) => v.toString()), + options: { + help, + ...rest, + }, + }, + }; + + let localYargs = yargs(args); + for (const CommandModule of COMMANDS) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const commandModule = new CommandModule(context) as any; + + localYargs = localYargs.command({ + command: commandModule.command, + aliases: commandModule.aliases, + describe: commandModule.describe, + deprecated: commandModule.deprecated, + builder: (x) => commandModule.builder(x), + handler: ({ _, $0, ...options }) => { + // Camelize options as yargs will return the object in kebab-case when camel casing is disabled. + const camelCasedOptions: Record = {}; + for (const [key, value] of Object.entries(options)) { + camelCasedOptions[yargsParser.camelCase(key)] = value; + } + + return commandModule.handler(camelCasedOptions); + }, + }); + } + + await localYargs + .scriptName('ng') + // https://github.com/yargs/yargs/blob/main/docs/advanced.md#customizing-yargs-parser + .parserConfiguration({ + 'populate--': true, + 'unknown-options-as-args': false, + 'dot-notation': false, + 'boolean-negation': true, + 'strip-aliased': true, + 'strip-dashed': true, + 'camel-case-expansion': false, + }) + .option('json-help', { + describe: 'Show help in JSON format.', + implies: ['help'], + hidden: true, + type: 'boolean', + }) + .help('help', 'Shows a help message for this command in the console.') + // A complete list of strings can be found: https://github.com/yargs/yargs/blob/main/locales/en.json + .updateStrings({ + 'Commands:': colors.cyan('Commands:'), + 'Options:': colors.cyan('Options:'), + 'Positionals:': colors.cyan('Arguments:'), + 'deprecated': colors.yellow('deprecated'), + 'deprecated: %s': colors.yellow('deprecated:') + ' %s', + 'Did you mean %s?': 'Unknown command. Did you mean %s?', + }) + .demandCommand() + .recommendCommands() + .version(false) + .showHelpOnFail(false) + .strict() + .fail((msg, err) => { + throw msg + ? // Validation failed example: `Unknown argument:` + new CommandModuleError(msg) + : // Unknown exception, re-throw. + err; + }) + .wrap(yargs.terminalWidth()) + .parseAsync(); + + return process.exitCode ?? 0; +} diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index cc57f6c68107..3070ea229f89 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -6,15 +6,17 @@ * found in the LICENSE file at https://angular.io/license */ +import { schema } from '@angular-devkit/core'; import { createConsoleLogger } from '@angular-devkit/core/node'; import { format } from 'util'; -import { runCommand } from '../../models/command-runner'; import { colors, removeColor } from '../../utilities/color'; +import { CommandModuleError } from '../../utilities/command-builder/command-module'; import { AngularWorkspace, getWorkspaceRaw } from '../../utilities/config'; import { writeErrorToLogFile } from '../../utilities/log-file'; import { findWorkspaceFile } from '../../utilities/project'; +import { runCommand } from './command-runner'; -export { VERSION, Version } from '../../models/version'; +export { VERSION } from '../../utilities/version'; const debugEnv = process.env['NG_DEBUG']; const isDebug = debugEnv !== undefined && debugEnv !== '0' && debugEnv.toLowerCase() !== 'false'; @@ -75,16 +77,11 @@ export default async function (options: { testing?: boolean; cliArgs: string[] } } try { - const maybeExitCode = await runCommand(options.cliArgs, logger, workspace); - if (typeof maybeExitCode === 'number') { - console.assert(Number.isInteger(maybeExitCode)); - - return maybeExitCode; - } - - return 0; + return await runCommand(options.cliArgs, logger, workspace); } catch (err) { - if (err instanceof Error) { + if (err instanceof CommandModuleError || err instanceof schema.SchemaValidationException) { + logger.fatal(`Error: ${err.message}`); + } else if (err instanceof Error) { try { const logPath = writeErrorToLogFile(err); logger.fatal( diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index cf18b8bcd77b..5e6045a81229 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -11,9 +11,9 @@ import 'symbol-observable'; import { promises as fs } from 'fs'; import * as path from 'path'; import { SemVer } from 'semver'; -import { VERSION } from '../models/version'; import { colors } from '../utilities/color'; import { isWarningEnabled } from '../utilities/config'; +import { VERSION } from '../utilities/version'; (async () => { /** diff --git a/packages/angular/cli/models/analytics-collector.ts b/packages/angular/cli/models/analytics-collector.ts index 6754d5037059..5d0a8cf8c88e 100644 --- a/packages/angular/cli/models/analytics-collector.ts +++ b/packages/angular/cli/models/analytics-collector.ts @@ -12,7 +12,7 @@ import debug from 'debug'; import * as https from 'https'; import * as os from 'os'; import * as querystring from 'querystring'; -import { VERSION } from './version'; +import { VERSION } from '../utilities/version'; interface BaseParameters extends analytics.CustomDimensionsAndMetricsOptions { [key: string]: string | number | boolean | undefined | (string | number | boolean | undefined)[]; diff --git a/packages/angular/cli/models/analytics.ts b/packages/angular/cli/models/analytics.ts index 1171e801dc49..34febb2a9dbc 100644 --- a/packages/angular/cli/models/analytics.ts +++ b/packages/angular/cli/models/analytics.ts @@ -6,14 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ -import { json, tags } from '@angular-devkit/core'; +import { analytics, json, tags } from '@angular-devkit/core'; import debug from 'debug'; import * as inquirer from 'inquirer'; import { v4 as uuidV4 } from 'uuid'; -import { VERSION } from '../models/version'; import { colors } from '../utilities/color'; import { getWorkspace, getWorkspaceRaw } from '../utilities/config'; import { isTTY } from '../utilities/tty'; +import { VERSION } from '../utilities/version'; import { AnalyticsCollector } from './analytics-collector'; /* eslint-disable no-console */ @@ -367,3 +367,37 @@ export async function getSharedAnalytics(): Promise { + let config = await getGlobalAnalytics(); + // If in workspace and global analytics is enabled, defer to workspace level + if (workspace && config) { + const skipAnalytics = + skipPrompt || + (process.env['NG_CLI_ANALYTICS'] && + (process.env['NG_CLI_ANALYTICS'].toLowerCase() === 'false' || + process.env['NG_CLI_ANALYTICS'] === '0')); + // TODO: This should honor the `no-interactive` option. + // It is currently not an `ng` option but rather only an option for specific commands. + // The concept of `ng`-wide options are needed to cleanly handle this. + if (!skipAnalytics && !(await hasWorkspaceAnalyticsConfiguration())) { + await promptProjectAnalytics(); + } + config = await getWorkspaceAnalytics(); + } + + const maybeSharedAnalytics = await getSharedAnalytics(); + + if (config && maybeSharedAnalytics) { + return new analytics.MultiAnalytics([config, maybeSharedAnalytics]); + } else if (config) { + return config; + } else if (maybeSharedAnalytics) { + return maybeSharedAnalytics; + } else { + return new analytics.NoopAnalytics(); + } +} diff --git a/packages/angular/cli/models/architect-command.ts b/packages/angular/cli/models/architect-command.ts deleted file mode 100644 index 5eaebe95e137..000000000000 --- a/packages/angular/cli/models/architect-command.ts +++ /dev/null @@ -1,434 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Architect, Target } from '@angular-devkit/architect'; -import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; -import { json, schema, tags } from '@angular-devkit/core'; -import { existsSync } from 'fs'; -import * as path from 'path'; -import { parseJsonSchemaToOptions } from '../utilities/json-schema'; -import { getPackageManager } from '../utilities/package-manager'; -import { isPackageNameSafeForAnalytics } from './analytics'; -import { BaseCommandOptions, Command } from './command'; -import { Arguments, Option } from './interface'; -import { parseArguments } from './parser'; - -export interface ArchitectCommandOptions extends BaseCommandOptions { - project?: string; - configuration?: string; - prod?: boolean; - target?: string; -} - -export abstract class ArchitectCommand< - T extends ArchitectCommandOptions = ArchitectCommandOptions, -> extends Command { - protected _architect!: Architect; - protected _architectHost!: WorkspaceNodeModulesArchitectHost; - protected _registry!: json.schema.SchemaRegistry; - protected override readonly useReportAnalytics = false; - - // If this command supports running multiple targets. - protected multiTarget = false; - - target: string | undefined; - missingTargetError: string | undefined; - - protected async onMissingTarget(projectName?: string): Promise { - if (this.missingTargetError) { - this.logger.fatal(this.missingTargetError); - - return 1; - } - - if (projectName) { - this.logger.fatal(`Project '${projectName}' does not support the '${this.target}' target.`); - } else { - this.logger.fatal(`No projects support the '${this.target}' target.`); - } - - return 1; - } - - // eslint-disable-next-line max-lines-per-function - public override async initialize(options: T & Arguments): Promise { - this._registry = new json.schema.CoreSchemaRegistry(); - this._registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); - this._registry.useXDeprecatedProvider((msg) => this.logger.warn(msg)); - - if (!this.workspace) { - this.logger.fatal('A workspace is required for this command.'); - - return 1; - } - - this._architectHost = new WorkspaceNodeModulesArchitectHost( - this.workspace, - this.workspace.basePath, - ); - this._architect = new Architect(this._architectHost, this._registry); - - if (!this.target) { - if (options.help) { - // This is a special case where we just return. - return; - } - - const specifier = this._makeTargetSpecifier(options); - if (!specifier.project || !specifier.target) { - this.logger.fatal('Cannot determine project or target for command.'); - - return 1; - } - - return; - } - - let projectName = options.project; - if (projectName && !this.workspace.projects.has(projectName)) { - this.logger.fatal(`Project '${projectName}' does not exist.`); - - return 1; - } - - const commandLeftovers = options['--']; - const targetProjectNames: string[] = []; - for (const [name, project] of this.workspace.projects) { - if (project.targets.has(this.target)) { - targetProjectNames.push(name); - } - } - - if (projectName && !targetProjectNames.includes(projectName)) { - return await this.onMissingTarget(projectName); - } - - if (targetProjectNames.length === 0) { - return await this.onMissingTarget(); - } - - if (!projectName && commandLeftovers && commandLeftovers.length > 0) { - const builderNames = new Set(); - const leftoverMap = new Map(); - let potentialProjectNames = new Set(targetProjectNames); - for (const name of targetProjectNames) { - const builderName = await this._architectHost.getBuilderNameForTarget({ - project: name, - target: this.target, - }); - - if (this.multiTarget) { - builderNames.add(builderName); - } - - let builderDesc; - try { - builderDesc = await this._architectHost.resolveBuilder(builderName); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - await this.warnOnMissingNodeModules(this.workspace.basePath); - this.logger.fatal(`Could not find the '${builderName}' builder's node package.`); - - return 1; - } - throw e; - } - - const optionDefs = await parseJsonSchemaToOptions( - this._registry, - builderDesc.optionSchema as json.JsonObject, - ); - const parsedOptions = parseArguments([...commandLeftovers], optionDefs); - const builderLeftovers = parsedOptions['--'] || []; - leftoverMap.set(name, { optionDefs, parsedOptions }); - - potentialProjectNames = new Set( - builderLeftovers.filter((x) => potentialProjectNames.has(x)), - ); - } - - if (potentialProjectNames.size === 1) { - projectName = [...potentialProjectNames][0]; - - // remove the project name from the leftovers - const optionInfo = leftoverMap.get(projectName); - if (optionInfo) { - const locations = []; - let i = 0; - while (i < commandLeftovers.length) { - i = commandLeftovers.indexOf(projectName, i + 1); - if (i === -1) { - break; - } - locations.push(i); - } - delete optionInfo.parsedOptions['--']; - for (const location of locations) { - const tempLeftovers = [...commandLeftovers]; - tempLeftovers.splice(location, 1); - const tempArgs = parseArguments([...tempLeftovers], optionInfo.optionDefs); - delete tempArgs['--']; - if (JSON.stringify(optionInfo.parsedOptions) === JSON.stringify(tempArgs)) { - options['--'] = tempLeftovers; - break; - } - } - } - } - - if (!projectName && this.multiTarget && builderNames.size > 1) { - this.logger.fatal(tags.oneLine` - Architect commands with command line overrides cannot target different builders. The - '${this.target}' target would run on projects ${targetProjectNames.join()} which have the - following builders: ${'\n ' + [...builderNames].join('\n ')} - `); - - return 1; - } - } - - if (!projectName && !this.multiTarget) { - const defaultProjectName = this.workspace.extensions['defaultProject'] as string; - if (targetProjectNames.length === 1) { - projectName = targetProjectNames[0]; - } else if (defaultProjectName && targetProjectNames.includes(defaultProjectName)) { - projectName = defaultProjectName; - } else if (options.help) { - // This is a special case where we just return. - return; - } else { - this.logger.fatal( - this.missingTargetError || 'Cannot determine project or target for command.', - ); - - return 1; - } - } - - options.project = projectName; - - const builderConf = await this._architectHost.getBuilderNameForTarget({ - project: projectName || (targetProjectNames.length > 0 ? targetProjectNames[0] : ''), - target: this.target, - }); - - let builderDesc; - try { - builderDesc = await this._architectHost.resolveBuilder(builderConf); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - await this.warnOnMissingNodeModules(this.workspace.basePath); - this.logger.fatal(`Could not find the '${builderConf}' builder's node package.`); - - return 1; - } - throw e; - } - - this.description.options.push( - ...(await parseJsonSchemaToOptions( - this._registry, - builderDesc.optionSchema as json.JsonObject, - )), - ); - - // Update options to remove analytics from options if the builder isn't safelisted. - for (const o of this.description.options) { - if (o.userAnalytics && !isPackageNameSafeForAnalytics(builderConf)) { - o.userAnalytics = undefined; - } - } - } - - private async warnOnMissingNodeModules(basePath: string): Promise { - // Check for a `node_modules` directory (npm, yarn non-PnP, etc.) - if (existsSync(path.resolve(basePath, 'node_modules'))) { - return; - } - - // Check for yarn PnP files - if ( - existsSync(path.resolve(basePath, '.pnp.js')) || - existsSync(path.resolve(basePath, '.pnp.cjs')) || - existsSync(path.resolve(basePath, '.pnp.mjs')) - ) { - return; - } - - const packageManager = await getPackageManager(basePath); - this.logger.warn( - `Node packages may not be installed. Try installing with '${packageManager} install'.`, - ); - } - - async run(options: ArchitectCommandOptions & Arguments) { - return await this.runArchitectTarget(options); - } - - protected async runSingleTarget(target: Target, targetOptions: string[]) { - // We need to build the builderSpec twice because architect does not understand - // overrides separately (getting the configuration builds the whole project, including - // overrides). - const builderConf = await this._architectHost.getBuilderNameForTarget(target); - let builderDesc; - try { - builderDesc = await this._architectHost.resolveBuilder(builderConf); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - await this.warnOnMissingNodeModules(this.workspace!.basePath); - this.logger.fatal(`Could not find the '${builderConf}' builder's node package.`); - - return 1; - } - throw e; - } - const targetOptionArray = await parseJsonSchemaToOptions( - this._registry, - builderDesc.optionSchema as json.JsonObject, - ); - const overrides = parseArguments(targetOptions, targetOptionArray, this.logger); - - const allowAdditionalProperties = - typeof builderDesc.optionSchema === 'object' && builderDesc.optionSchema.additionalProperties; - - if (overrides['--'] && !allowAdditionalProperties) { - (overrides['--'] || []).forEach((additional) => { - this.logger.fatal(`Unknown option: '${additional.split(/=/)[0]}'`); - }); - - return 1; - } - - await this.reportAnalytics([this.description.name], { - ...((await this._architectHost.getOptionsForTarget(target)) as unknown as T), - ...overrides, - }); - - const run = await this._architect.scheduleTarget(target, overrides as json.JsonObject, { - logger: this.logger, - analytics: isPackageNameSafeForAnalytics(builderConf) ? this.analytics : undefined, - }); - - const { error, success } = await run.output.toPromise(); - await run.stop(); - - if (error) { - this.logger.error(error); - } - - return success ? 0 : 1; - } - - protected async runArchitectTarget( - options: ArchitectCommandOptions & Arguments, - ): Promise { - const extra = options['--'] || []; - - try { - const targetSpec = this._makeTargetSpecifier(options); - if (!targetSpec.project && this.target) { - // This runs each target sequentially. - // Running them in parallel would jumble the log messages. - let result = 0; - for (const project of this.getProjectNamesByTarget(this.target)) { - result |= await this.runSingleTarget({ ...targetSpec, project } as Target, extra); - } - - return result; - } else { - return await this.runSingleTarget(targetSpec, extra); - } - } catch (e) { - if (e instanceof schema.SchemaValidationException) { - const newErrors: schema.SchemaValidatorError[] = []; - for (const schemaError of e.errors) { - if (schemaError.keyword === 'additionalProperties') { - const unknownProperty = schemaError.params?.additionalProperty; - if (unknownProperty in options) { - const dashes = unknownProperty.length === 1 ? '-' : '--'; - this.logger.fatal(`Unknown option: '${dashes}${unknownProperty}'`); - continue; - } - } - newErrors.push(schemaError); - } - - if (newErrors.length > 0) { - this.logger.error(new schema.SchemaValidationException(newErrors).message); - } - - return 1; - } else { - throw e; - } - } - } - - private getProjectNamesByTarget(targetName: string): string[] { - const allProjectsForTargetName: string[] = []; - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - for (const [name, project] of this.workspace!.projects) { - if (project.targets.has(targetName)) { - allProjectsForTargetName.push(name); - } - } - - if (this.multiTarget) { - // For multi target commands, we always list all projects that have the target. - return allProjectsForTargetName; - } else { - // For single target commands, we try the default project first, - // then the full list if it has a single project, then error out. - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const maybeDefaultProject = this.workspace!.extensions['defaultProject'] as string; - if (maybeDefaultProject && allProjectsForTargetName.includes(maybeDefaultProject)) { - return [maybeDefaultProject]; - } - - if (allProjectsForTargetName.length === 1) { - return allProjectsForTargetName; - } - - throw new Error(`Could not determine a single project for the '${targetName}' target.`); - } - } - - private _makeTargetSpecifier(commandOptions: ArchitectCommandOptions): Target { - let project, target, configuration; - - if (commandOptions.target) { - [project, target, configuration] = commandOptions.target.split(':'); - - if (commandOptions.configuration) { - configuration = commandOptions.configuration; - } - } else { - project = commandOptions.project; - target = this.target; - if (commandOptions.configuration) { - configuration = `${configuration ? `${configuration},` : ''}${ - commandOptions.configuration - }`; - } - } - - if (!project) { - project = ''; - } - if (!target) { - target = ''; - } - - return { - project, - configuration: configuration || '', - target, - }; - } -} diff --git a/packages/angular/cli/models/command-runner.ts b/packages/angular/cli/models/command-runner.ts deleted file mode 100644 index 0b8b01fe4baa..000000000000 --- a/packages/angular/cli/models/command-runner.ts +++ /dev/null @@ -1,273 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { - analytics, - isJsonObject, - json, - logging, - schema, - strings, - tags, -} from '@angular-devkit/core'; -import { readFileSync } from 'fs'; -import { join, resolve } from 'path'; -import { AngularWorkspace } from '../utilities/config'; -import { readAndParseJson } from '../utilities/json-file'; -import { parseJsonSchemaToCommandDescription } from '../utilities/json-schema'; -import { - getGlobalAnalytics, - getSharedAnalytics, - getWorkspaceAnalytics, - hasWorkspaceAnalyticsConfiguration, - promptProjectAnalytics, -} from './analytics'; -import { Command } from './command'; -import { CommandDescription } from './interface'; -import * as parser from './parser'; - -// NOTE: Update commands.json if changing this. It's still deep imported in one CI validation -const standardCommands = { - 'add': '../commands/add.json', - 'analytics': '../commands/analytics.json', - 'build': '../commands/build.json', - 'deploy': '../commands/deploy.json', - 'config': '../commands/config.json', - 'doc': '../commands/doc.json', - 'e2e': '../commands/e2e.json', - 'extract-i18n': '../commands/extract-i18n.json', - 'make-this-awesome': '../commands/easter-egg.json', - 'generate': '../commands/generate.json', - 'help': '../commands/help.json', - 'lint': '../commands/lint.json', - 'new': '../commands/new.json', - 'run': '../commands/run.json', - 'serve': '../commands/serve.json', - 'test': '../commands/test.json', - 'update': '../commands/update.json', - 'version': '../commands/version.json', -}; - -export interface CommandMapOptions { - [key: string]: string; -} - -/** - * Create the analytics instance. - * @private - */ -async function _createAnalytics( - workspace: boolean, - skipPrompt = false, -): Promise { - let config = await getGlobalAnalytics(); - // If in workspace and global analytics is enabled, defer to workspace level - if (workspace && config) { - const skipAnalytics = - skipPrompt || - (process.env['NG_CLI_ANALYTICS'] && - (process.env['NG_CLI_ANALYTICS'].toLowerCase() === 'false' || - process.env['NG_CLI_ANALYTICS'] === '0')); - // TODO: This should honor the `no-interactive` option. - // It is currently not an `ng` option but rather only an option for specific commands. - // The concept of `ng`-wide options are needed to cleanly handle this. - if (!skipAnalytics && !(await hasWorkspaceAnalyticsConfiguration())) { - await promptProjectAnalytics(); - } - config = await getWorkspaceAnalytics(); - } - - const maybeSharedAnalytics = await getSharedAnalytics(); - - if (config && maybeSharedAnalytics) { - return new analytics.MultiAnalytics([config, maybeSharedAnalytics]); - } else if (config) { - return config; - } else if (maybeSharedAnalytics) { - return maybeSharedAnalytics; - } else { - return new analytics.NoopAnalytics(); - } -} - -async function loadCommandDescription( - name: string, - path: string, - registry: json.schema.CoreSchemaRegistry, -): Promise { - const schemaPath = resolve(__dirname, path); - const schema = readAndParseJson(schemaPath); - if (!isJsonObject(schema)) { - throw new Error('Invalid command JSON loaded from ' + JSON.stringify(schemaPath)); - } - - return parseJsonSchemaToCommandDescription(name, schemaPath, registry, schema); -} - -/** - * Run a command. - * @param args Raw unparsed arguments. - * @param logger The logger to use. - * @param workspace Workspace information. - * @param commands The map of supported commands. - * @param options Additional options. - */ -export async function runCommand( - args: string[], - logger: logging.Logger, - workspace: AngularWorkspace | undefined, - commands: CommandMapOptions = standardCommands, - options: { analytics?: analytics.Analytics; currentDirectory: string } = { - currentDirectory: process.cwd(), - }, -): Promise { - // This registry is exclusively used for flattening schemas, and not for validating. - const registry = new schema.CoreSchemaRegistry([]); - registry.registerUriHandler((uri: string) => { - if (uri.startsWith('ng-cli://')) { - const content = readFileSync(join(__dirname, '..', uri.substr('ng-cli://'.length)), 'utf-8'); - - return Promise.resolve(JSON.parse(content)); - } else { - return null; - } - }); - - let commandName: string | undefined = undefined; - for (let i = 0; i < args.length; i++) { - const arg = args[i]; - - if (!arg.startsWith('-')) { - commandName = arg; - args.splice(i, 1); - break; - } - } - - let description: CommandDescription | null = null; - - // if no commands were found, use `help`. - if (!commandName) { - if (args.length === 1 && args[0] === '--version') { - commandName = 'version'; - } else { - commandName = 'help'; - } - - if (!(commandName in commands)) { - logger.error(tags.stripIndent` - The "${commandName}" command seems to be disabled. - This is an issue with the CLI itself. If you see this comment, please report it and - provide your repository. - `); - - return 1; - } - } - - if (commandName in commands) { - description = await loadCommandDescription(commandName, commands[commandName], registry); - } else { - const commandNames = Object.keys(commands); - - // Optimize loading for common aliases - if (commandName.length === 1) { - commandNames.sort((a, b) => { - const aMatch = a[0] === commandName; - const bMatch = b[0] === commandName; - if (aMatch && !bMatch) { - return -1; - } else if (!aMatch && bMatch) { - return 1; - } else { - return 0; - } - }); - } - - for (const name of commandNames) { - const aliasDesc = await loadCommandDescription(name, commands[name], registry); - const aliases = aliasDesc.aliases; - - if (aliases && aliases.some((alias) => alias === commandName)) { - commandName = name; - description = aliasDesc; - break; - } - } - } - - if (!description) { - const commandsDistance = {} as { [name: string]: number }; - const name = commandName; - const allCommands = Object.keys(commands).sort((a, b) => { - if (!(a in commandsDistance)) { - commandsDistance[a] = strings.levenshtein(a, name); - } - if (!(b in commandsDistance)) { - commandsDistance[b] = strings.levenshtein(b, name); - } - - return commandsDistance[a] - commandsDistance[b]; - }); - - logger.error(tags.stripIndent` - The specified command ("${commandName}") is invalid. For a list of available options, - run "ng help". - - Did you mean "${allCommands[0]}"? - `); - - return 1; - } - - try { - const parsedOptions = parser.parseArguments(args, description.options, logger); - Command.setCommandMap(async () => { - const map: Record = {}; - for (const [name, path] of Object.entries(commands)) { - map[name] = await loadCommandDescription(name, path, registry); - } - - return map; - }); - - const analytics = - options.analytics || (await _createAnalytics(!!workspace, description.name === 'update')); - const context = { - workspace, - analytics, - currentDirectory: options.currentDirectory, - root: workspace?.basePath ?? options.currentDirectory, - }; - const command = new description.impl(context, description, logger); - - // Flush on an interval (if the event loop is waiting). - let analyticsFlushPromise = Promise.resolve(); - const analyticsFlushInterval = setInterval(() => { - analyticsFlushPromise = analyticsFlushPromise.then(() => analytics.flush()); - }, 1000); - - const result = await command.validateAndRun(parsedOptions); - - // Flush one last time. - clearInterval(analyticsFlushInterval); - await analyticsFlushPromise.then(() => analytics.flush()); - - return result; - } catch (e) { - if (e instanceof parser.ParseArgumentException) { - logger.fatal('Cannot parse arguments. See below for the reasons.'); - logger.fatal(' ' + e.comments.join('\n ')); - - return 1; - } else { - throw e; - } - } -} diff --git a/packages/angular/cli/models/command.ts b/packages/angular/cli/models/command.ts index d40b21620d98..d1d58013239c 100644 --- a/packages/angular/cli/models/command.ts +++ b/packages/angular/cli/models/command.ts @@ -6,148 +6,41 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging, strings, tags } from '@angular-devkit/core'; -import { colors } from '../utilities/color'; +import { analytics, logging } from '@angular-devkit/core'; +import { Option } from '../utilities/command-builder/json-schema'; import { AngularWorkspace } from '../utilities/config'; -import { - Arguments, - CommandContext, - CommandDescription, - CommandDescriptionMap, - CommandScope, - Option, -} from './interface'; +import { CommandContext } from './interface'; export interface BaseCommandOptions { - help?: boolean | string; + jsonHelp?: boolean; } -export abstract class Command { +export abstract class Command { protected allowMissingWorkspace = false; protected useReportAnalytics = true; readonly workspace?: AngularWorkspace; - readonly analytics: analytics.Analytics; + protected readonly analytics: analytics.Analytics; + protected readonly commandOptions: Option[] = []; + protected readonly logger: logging.Logger; - protected static commandMap: () => Promise; - static setCommandMap(map: () => Promise) { - this.commandMap = map; - } - - constructor( - protected readonly context: CommandContext, - public readonly description: CommandDescription, - protected readonly logger: logging.Logger, - ) { + constructor(protected readonly context: CommandContext, protected readonly commandName: string) { this.workspace = context.workspace; + this.logger = context.logger; this.analytics = context.analytics || new analytics.NoopAnalytics(); } - async initialize(options: T & Arguments): Promise {} - - async printHelp(): Promise { - await this.printHelpUsage(); - await this.printHelpOptions(); - - return 0; - } - - async printJsonHelp(): Promise { - const replacer = (key: string, value: string) => - key === 'name' ? strings.dasherize(value) : value; - this.logger.info(JSON.stringify(this.description, replacer, 2)); - - return 0; - } - - protected async printHelpUsage() { - this.logger.info(this.description.description); - - const name = this.description.name; - const args = this.description.options.filter((x) => x.positional !== undefined); - const opts = this.description.options.filter((x) => x.positional === undefined); - - const argDisplay = - args && args.length > 0 ? ' ' + args.map((a) => `<${a.name}>`).join(' ') : ''; - const optionsDisplay = opts && opts.length > 0 ? ` [options]` : ``; - - this.logger.info(`usage: ng ${name}${argDisplay}${optionsDisplay}`); - this.logger.info(''); - } - - protected async printHelpOptions(options: Option[] = this.description.options) { - const args = options.filter((opt) => opt.positional !== undefined); - const opts = options.filter((opt) => opt.positional === undefined); - - const formatDescription = (description: string) => - ` ${description.replace(/\n/g, '\n ')}`; - - if (args.length > 0) { - this.logger.info(`arguments:`); - args.forEach((o) => { - this.logger.info(` ${colors.cyan(o.name)}`); - if (o.description) { - this.logger.info(formatDescription(o.description)); - } - }); - } - if (options.length > 0) { - if (args.length > 0) { - this.logger.info(''); - } - this.logger.info(`options:`); - opts - .filter((o) => !o.hidden) - .sort((a, b) => a.name.localeCompare(b.name)) - .forEach((o) => { - const aliases = - o.aliases && o.aliases.length > 0 - ? '(' + o.aliases.map((a) => `-${a}`).join(' ') + ')' - : ''; - this.logger.info(` ${colors.cyan('--' + strings.dasherize(o.name))} ${aliases}`); - if (o.description) { - this.logger.info(formatDescription(o.description)); - } - }); - } - } - - async validateScope(scope?: CommandScope): Promise { - switch (scope === undefined ? this.description.scope : scope) { - case CommandScope.OutProject: - if (this.workspace) { - this.logger.fatal(tags.oneLine` - The ${this.description.name} command requires to be run outside of a project, but a - project definition was found at "${this.workspace.filePath}". - `); - // eslint-disable-next-line no-throw-literal - throw 1; - } - break; - case CommandScope.InProject: - if (!this.workspace) { - this.logger.fatal(tags.oneLine` - The ${this.description.name} command requires to be run in an Angular project, but a - project definition could not be found. - `); - // eslint-disable-next-line no-throw-literal - throw 1; - } - break; - case CommandScope.Everywhere: - // Can't miss this. - break; - } - } + async initialize(options: T): Promise {} async reportAnalytics( paths: string[], - options: Arguments, + options: T, dimensions: (boolean | number | string)[] = [], metrics: (boolean | number | string)[] = [], ): Promise { - for (const option of this.description.options) { + for (const option of this.commandOptions) { const ua = option.userAnalytics; - const v = options[option.name]; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const v = (options as any)[option.name]; if (v !== undefined && !Array.isArray(v) && ua) { dimensions[ua] = v; @@ -157,32 +50,23 @@ export abstract class Command this.analytics.pageview('/command/' + paths.join('/'), { dimensions, metrics }); } - abstract run(options: T & Arguments): Promise; + abstract run(options: T): Promise; - async validateAndRun(options: T & Arguments): Promise { - if (!(options.help === true || options.help === 'json' || options.help === 'JSON')) { - await this.validateScope(); - } + async validateAndRun(options: T): Promise { let result = await this.initialize(options); if (typeof result === 'number' && result !== 0) { return result; } - if (options.help === true) { - return this.printHelp(); - } else if (options.help === 'json' || options.help === 'JSON') { - return this.printJsonHelp(); - } else { - const startTime = +new Date(); - if (this.useReportAnalytics) { - await this.reportAnalytics([this.description.name], options); - } - result = await this.run(options); - const endTime = +new Date(); + const startTime = +new Date(); + if (this.useReportAnalytics) { + await this.reportAnalytics([this.commandName], options); + } + result = await this.run(options); + const endTime = +new Date(); - this.analytics.timing(this.description.name, 'duration', endTime - startTime); + this.analytics.timing(this.commandName, 'duration', endTime - startTime); - return result; - } + return result; } } diff --git a/packages/angular/cli/models/interface.ts b/packages/angular/cli/models/interface.ts index 9c908d913247..652f1279df60 100644 --- a/packages/angular/cli/models/interface.ts +++ b/packages/angular/cli/models/interface.ts @@ -6,46 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, json, logging } from '@angular-devkit/core'; +import { analytics, logging } from '@angular-devkit/core'; import { AngularWorkspace } from '../utilities/config'; -/** - * Value type of arguments. - */ -export type Value = number | string | boolean | (number | string | boolean)[]; - -/** - * An object representing parsed arguments from the command line. - */ -export interface Arguments { - [argName: string]: Value | undefined; - - /** - * Extra arguments that were not parsed. Will be omitted if all arguments were parsed. - */ - '--'?: string[]; -} - -/** - * The base interface for Command, understood by the command runner. - */ -export interface CommandInterface { - printHelp(options: T): Promise; - printJsonHelp(options: T): Promise; - validateAndRun(options: T): Promise; -} - -/** - * Command constructor. - */ -export interface CommandConstructor { - new ( - context: CommandContext, - description: CommandDescription, - logger: logging.Logger, - ): CommandInterface; -} - /** * A command runner context. */ @@ -57,183 +20,6 @@ export interface CommandContext { // This property is optional for backward compatibility. analytics?: analytics.Analytics; -} - -/** - * Value types of an Option. - */ -export enum OptionType { - Any = 'any', - Array = 'array', - Boolean = 'boolean', - Number = 'number', - String = 'string', -} - -/** - * An option description. This is exposed when using `ng --help=json`. - */ -export interface Option { - /** - * The name of the option. - */ - name: string; - - /** - * A short description of the option. - */ - description: string; - - /** - * The type of option value. If multiple types exist, this type will be the first one, and the - * types array will contain all types accepted. - */ - type: OptionType; - - /** - * {@see type} - */ - types?: OptionType[]; - - /** - * If this field is set, only values contained in this field are valid. This array can be mixed - * types (strings, numbers, boolean). For example, if this field is "enum: ['hello', true]", - * then "type" will be either string or boolean, types will be at least both, and the values - * accepted will only be either 'hello' or true (not false or any other string). - * This mean that prefixing with `no-` will not work on this field. - */ - enum?: Value[]; - - /** - * If this option maps to a subcommand in the parent command, will contain all the subcommands - * supported. There is a maximum of 1 subcommand Option per command, and the type of this - * option will always be "string" (no other types). The value of this option will map into - * this map and return the extra information. - */ - subcommands?: { - [name: string]: SubCommandDescription; - }; - - /** - * Aliases supported by this option. - */ - aliases: string[]; - - /** - * Whether this option is required or not. - */ - required?: boolean; - - /** - * Format field of this option. - */ - format?: string; - - /** - * Whether this option should be hidden from the help output. It will still show up in JSON help. - */ - hidden?: boolean; - - /** - * Default value of this option. - */ - default?: string | number | boolean; - - /** - * If this option can be used as an argument, the position of the argument. Otherwise omitted. - */ - positional?: number; - - /** - * Smart default object. - */ - $default?: OptionSmartDefault; - - /** - * Whether or not to report this option to the Angular Team, and which custom field to use. - * If this is falsey, do not report this option. - */ - userAnalytics?: number; - - /** - * Deprecation. If this flag is not false a warning will be shown on the console. Either `true` - * or a string to show the user as a notice. - */ - deprecated?: boolean | string; -} - -/** - * Scope of the command. - */ -export enum CommandScope { - InProject = 'in', - OutProject = 'out', - Everywhere = 'all', - - Default = InProject, -} - -/** - * A description of a command and its options. - */ -export interface SubCommandDescription { - /** - * The name of the subcommand. - */ - name: string; - - /** - * Short description (1-2 lines) of this sub command. - */ - description: string; - - /** - * A long description of the sub command, in Markdown format. - */ - longDescription?: string; - - /** - * Additional notes about usage of this sub command, in Markdown format. - */ - usageNotes?: string; - - /** - * List of all supported options. - */ - options: Option[]; - - /** - * Aliases supported for this sub command. - */ - aliases: string[]; -} - -/** - * A description of a command, its metadata. - */ -export interface CommandDescription extends SubCommandDescription { - /** - * Scope of the command, whether it can be executed in a project, outside of a project or - * anywhere. - */ - scope: CommandScope; - - /** - * Whether this command should be hidden from a list of all commands. - */ - hidden: boolean; - - /** - * The constructor of the command, which should be extending the abstract Command<> class. - */ - impl: CommandConstructor; -} - -export interface OptionSmartDefault { - $source: string; - [key: string]: json.JsonValue; -} -export interface CommandDescriptionMap { - [key: string]: CommandDescription; + logger: logging.Logger; } diff --git a/packages/angular/cli/models/parser.ts b/packages/angular/cli/models/parser.ts deleted file mode 100644 index b1e98d0b3f2a..000000000000 --- a/packages/angular/cli/models/parser.ts +++ /dev/null @@ -1,405 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { BaseException, logging, strings } from '@angular-devkit/core'; -import { Arguments, Option, OptionType, Value } from './interface'; - -export class ParseArgumentException extends BaseException { - constructor( - public readonly comments: string[], - public readonly parsed: Arguments, - public readonly ignored: string[], - ) { - super(`One or more errors occurred while parsing arguments:\n ${comments.join('\n ')}`); - } -} - -function _coerceType(str: string | undefined, type: OptionType, v?: Value): Value | undefined { - switch (type) { - case OptionType.Any: - if (Array.isArray(v)) { - return v.concat(str || ''); - } - - return _coerceType(str, OptionType.Boolean, v) !== undefined - ? _coerceType(str, OptionType.Boolean, v) - : _coerceType(str, OptionType.Number, v) !== undefined - ? _coerceType(str, OptionType.Number, v) - : _coerceType(str, OptionType.String, v); - - case OptionType.String: - return str || ''; - - case OptionType.Boolean: - switch (str) { - case 'false': - return false; - - case undefined: - case '': - case 'true': - return true; - - default: - return undefined; - } - - case OptionType.Number: - if (str === undefined) { - return 0; - } else if (str === '') { - return undefined; - } else if (Number.isFinite(+str)) { - return +str; - } else { - return undefined; - } - - case OptionType.Array: - return Array.isArray(v) - ? v.concat(str || '') - : v === undefined - ? [str || ''] - : [v + '', str || '']; - - default: - return undefined; - } -} - -function _coerce(str: string | undefined, o: Option | null, v?: Value): Value | undefined { - if (!o) { - return _coerceType(str, OptionType.Any, v); - } else { - const types = o.types || [o.type]; - - // Try all the types one by one and pick the first one that returns a value contained in the - // enum. If there's no enum, just return the first one that matches. - for (const type of types) { - const maybeResult = _coerceType(str, type, v); - if (maybeResult !== undefined && (!o.enum || o.enum.includes(maybeResult))) { - return maybeResult; - } - } - - return undefined; - } -} - -function _getOptionFromName(name: string, options: Option[]): Option | undefined { - const camelName = /(-|_)/.test(name) ? strings.camelize(name) : name; - - for (const option of options) { - if (option.name === name || option.name === camelName) { - return option; - } - - if (option.aliases.some((x) => x === name || x === camelName)) { - return option; - } - } - - return undefined; -} - -function _removeLeadingDashes(key: string): string { - const from = key.startsWith('--') ? 2 : key.startsWith('-') ? 1 : 0; - - return key.substr(from); -} - -function _assignOption( - arg: string, - nextArg: string | undefined, - { - options, - parsedOptions, - leftovers, - ignored, - errors, - warnings, - }: { - options: Option[]; - parsedOptions: Arguments; - positionals: string[]; - leftovers: string[]; - ignored: string[]; - errors: string[]; - warnings: string[]; - }, -) { - const from = arg.startsWith('--') ? 2 : 1; - let consumedNextArg = false; - let key = arg.substr(from); - let option: Option | null = null; - let value: string | undefined = ''; - const i = arg.indexOf('='); - - // If flag is --no-abc AND there's no equal sign. - if (i == -1) { - if (key.startsWith('no')) { - // Only use this key if the option matching the rest is a boolean. - const from = key.startsWith('no-') ? 3 : 2; - const maybeOption = _getOptionFromName(strings.camelize(key.substr(from)), options); - if (maybeOption && maybeOption.type == 'boolean') { - value = 'false'; - option = maybeOption; - } - } - - if (option === null) { - // Set it to true if it's a boolean and the next argument doesn't match true/false. - const maybeOption = _getOptionFromName(key, options); - if (maybeOption) { - value = nextArg; - let shouldShift = true; - - if (value && value.startsWith('-') && _coerce(undefined, maybeOption) !== undefined) { - // Verify if not having a value results in a correct parse, if so don't shift. - shouldShift = false; - } - - // Only absorb it if it leads to a better value. - if (shouldShift && _coerce(value, maybeOption) !== undefined) { - consumedNextArg = true; - } else { - value = ''; - } - option = maybeOption; - } - } - } else { - key = arg.substring(0, i); - option = _getOptionFromName(_removeLeadingDashes(key), options) || null; - if (option) { - value = arg.substring(i + 1); - } - } - - if (option === null) { - if (nextArg && !nextArg.startsWith('-')) { - leftovers.push(arg, nextArg); - consumedNextArg = true; - } else { - leftovers.push(arg); - } - } else { - const v = _coerce(value, option, parsedOptions[option.name]); - if (v !== undefined) { - if (parsedOptions[option.name] !== v) { - if (parsedOptions[option.name] !== undefined && option.type !== OptionType.Array) { - warnings.push( - `Option ${JSON.stringify(option.name)} was already specified with value ` + - `${JSON.stringify(parsedOptions[option.name])}. The new value ${JSON.stringify(v)} ` + - `will override it.`, - ); - } - - parsedOptions[option.name] = v; - } - } else { - let error = `Argument ${key} could not be parsed using value ${JSON.stringify(value)}.`; - if (option.enum) { - error += ` Valid values are: ${option.enum.map((x) => JSON.stringify(x)).join(', ')}.`; - } else { - error += `Valid type(s) is: ${(option.types || [option.type]).join(', ')}`; - } - - errors.push(error); - ignored.push(arg); - } - - if (/^[a-z]+[A-Z]/.test(key)) { - warnings.push( - 'Support for camel case arguments has been deprecated and will be removed in a future major version.\n' + - `Use '--${strings.dasherize(key)}' instead of '--${key}'.`, - ); - } - } - - return consumedNextArg; -} - -/** - * Parse the arguments in a consistent way, but without having any option definition. This tries - * to assess what the user wants in a free form. For example, using `--name=false` will set the - * name properties to a boolean type. - * This should only be used when there's no schema available or if a schema is "true" (anything is - * valid). - * - * @param args Argument list to parse. - * @returns An object that contains a property per flags from the args. - */ -export function parseFreeFormArguments(args: string[]): Arguments { - const parsedOptions: Arguments = {}; - const leftovers = []; - - for (let arg = args.shift(); arg !== undefined; arg = args.shift()) { - if (arg == '--') { - leftovers.push(...args); - break; - } - - if (arg.startsWith('--')) { - const eqSign = arg.indexOf('='); - let name: string; - let value: string | undefined; - if (eqSign !== -1) { - name = arg.substring(2, eqSign); - value = arg.substring(eqSign + 1); - } else { - name = arg.substr(2); - value = args.shift(); - } - - const v = _coerce(value, null, parsedOptions[name]); - if (v !== undefined) { - parsedOptions[name] = v; - } - } else if (arg.startsWith('-')) { - arg.split('').forEach((x) => (parsedOptions[x] = true)); - } else { - leftovers.push(arg); - } - } - - if (leftovers.length) { - parsedOptions['--'] = leftovers; - } - - return parsedOptions; -} - -/** - * Parse the arguments in a consistent way, from a list of standardized options. - * The result object will have a key per option name, with the `_` key reserved for positional - * arguments, and `--` will contain everything that did not match. Any key that don't have an - * option will be pushed back in `--` and removed from the object. If you need to validate that - * there's no additionalProperties, you need to check the `--` key. - * - * @param args The argument array to parse. - * @param options List of supported options. {@see Option}. - * @param logger Logger to use to warn users. - * @returns An object that contains a property per option. - */ -export function parseArguments( - args: string[], - options: Option[] | null, - logger?: logging.Logger, -): Arguments { - if (options === null) { - options = []; - } - - const leftovers: string[] = []; - const positionals: string[] = []; - const parsedOptions: Arguments = {}; - - const ignored: string[] = []; - const errors: string[] = []; - const warnings: string[] = []; - - const state = { options, parsedOptions, positionals, leftovers, ignored, errors, warnings }; - - for (let argIndex = 0; argIndex < args.length; argIndex++) { - const arg = args[argIndex]; - let consumedNextArg = false; - - if (arg == '--') { - // If we find a --, we're done. - leftovers.push(...args.slice(argIndex + 1)); - break; - } - - if (arg.startsWith('--')) { - consumedNextArg = _assignOption(arg, args[argIndex + 1], state); - } else if (arg.startsWith('-')) { - // Argument is of form -abcdef. Starts at 1 because we skip the `-`. - for (let i = 1; i < arg.length; i++) { - const flag = arg[i]; - // If the next character is an '=', treat it as a long flag. - if (arg[i + 1] == '=') { - const f = '-' + flag + arg.slice(i + 1); - consumedNextArg = _assignOption(f, args[argIndex + 1], state); - break; - } - // Treat the last flag as `--a` (as if full flag but just one letter). We do this in - // the loop because it saves us a check to see if the arg is just `-`. - if (i == arg.length - 1) { - const arg = '-' + flag; - consumedNextArg = _assignOption(arg, args[argIndex + 1], state); - } else { - const maybeOption = _getOptionFromName(flag, options); - if (maybeOption) { - const v = _coerce(undefined, maybeOption, parsedOptions[maybeOption.name]); - if (v !== undefined) { - parsedOptions[maybeOption.name] = v; - } - } - } - } - } else { - positionals.push(arg); - } - - if (consumedNextArg) { - argIndex++; - } - } - - // Deal with positionals. - // TODO(hansl): this is by far the most complex piece of code in this file. Try to refactor it - // simpler. - if (positionals.length > 0) { - let pos = 0; - for (let i = 0; i < positionals.length; ) { - let found = false; - let incrementPos = false; - let incrementI = true; - - // We do this with a found flag because more than 1 option could have the same positional. - for (const option of options) { - // If any option has this positional and no value, AND fit the type, we need to remove it. - if (option.positional === pos) { - const coercedValue = _coerce(positionals[i], option, parsedOptions[option.name]); - if (parsedOptions[option.name] === undefined && coercedValue !== undefined) { - parsedOptions[option.name] = coercedValue; - found = true; - } else { - incrementI = false; - } - incrementPos = true; - } - } - - if (found) { - positionals.splice(i--, 1); - } - if (incrementPos) { - pos++; - } - if (incrementI) { - i++; - } - } - } - - if (positionals.length > 0 || leftovers.length > 0) { - parsedOptions['--'] = [...positionals, ...leftovers]; - } - - if (warnings.length > 0 && logger) { - warnings.forEach((message) => logger.warn(message)); - } - - if (errors.length > 0) { - throw new ParseArgumentException(errors, parsedOptions, ignored); - } - - return parsedOptions; -} diff --git a/packages/angular/cli/models/parser_spec.ts b/packages/angular/cli/models/parser_spec.ts deleted file mode 100644 index 1f543d8d560e..000000000000 --- a/packages/angular/cli/models/parser_spec.ts +++ /dev/null @@ -1,226 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging } from '@angular-devkit/core'; -import { Arguments, Option, OptionType } from './interface'; -import { ParseArgumentException, parseArguments } from './parser'; - -describe('parseArguments', () => { - const options: Option[] = [ - { name: 'bool', aliases: ['b'], type: OptionType.Boolean, description: '' }, - { name: 'num', aliases: ['n'], type: OptionType.Number, description: '' }, - { name: 'str', aliases: ['s'], type: OptionType.String, description: '' }, - { name: 'strUpper', aliases: ['S'], type: OptionType.String, description: '' }, - { name: 'helloWorld', aliases: [], type: OptionType.String, description: '' }, - { name: 'helloBool', aliases: [], type: OptionType.Boolean, description: '' }, - { name: 'arr', aliases: ['a'], type: OptionType.Array, description: '' }, - { name: 'p1', positional: 0, aliases: [], type: OptionType.String, description: '' }, - { name: 'p2', positional: 1, aliases: [], type: OptionType.String, description: '' }, - { name: 'p3', positional: 2, aliases: [], type: OptionType.Number, description: '' }, - { - name: 't1', - aliases: [], - type: OptionType.Boolean, - types: [OptionType.Boolean, OptionType.String], - description: '', - }, - { - name: 't2', - aliases: [], - type: OptionType.Boolean, - types: [OptionType.Boolean, OptionType.Number], - description: '', - }, - { - name: 't3', - aliases: [], - type: OptionType.Number, - types: [OptionType.Number, OptionType.Any], - description: '', - }, - { name: 'e1', aliases: [], type: OptionType.String, enum: ['hello', 'world'], description: '' }, - { name: 'e2', aliases: [], type: OptionType.String, enum: ['hello', ''], description: '' }, - { - name: 'e3', - aliases: [], - type: OptionType.Boolean, - types: [OptionType.Boolean, OptionType.String], - enum: ['json', true, false], - description: '', - }, - ]; - - const tests: { [test: string]: Partial | ['!!!', Partial, string[]] } = { - '-S=b': { strUpper: 'b' }, - '--bool': { bool: true }, - '--bool=1': ['!!!', {}, ['--bool=1']], - '--bool ': { bool: true, p1: '' }, - '-- --bool=1': { '--': ['--bool=1'] }, - '--bool=yellow': ['!!!', {}, ['--bool=yellow']], - '--bool=true': { bool: true }, - '--bool=false': { bool: false }, - '--no-bool': { bool: false }, - '--no-bool=true': { '--': ['--no-bool=true'] }, - '--b=true': { bool: true }, - '--b=false': { bool: false }, - '--b true': { bool: true }, - '--b false': { bool: false }, - '--bool --num': { bool: true, num: 0 }, - '--bool --num=true': ['!!!', { bool: true }, ['--num=true']], - '-- --bool --num=true': { '--': ['--bool', '--num=true'] }, - '--bool=true --num': { bool: true, num: 0 }, - '--bool true --num': { bool: true, num: 0 }, - '--bool=false --num': { bool: false, num: 0 }, - '--bool false --num': { bool: false, num: 0 }, - '--str false --num': { str: 'false', num: 0 }, - '--str=false --num': { str: 'false', num: 0 }, - '--str=false --num1': { str: 'false', '--': ['--num1'] }, - '--str=false val1 --num1': { str: 'false', p1: 'val1', '--': ['--num1'] }, - '--str=false val1 val2': { str: 'false', p1: 'val1', p2: 'val2' }, - '--str=false val1 val2 --num1': { str: 'false', p1: 'val1', p2: 'val2', '--': ['--num1'] }, - '--str=false val1 --num1 val2': { str: 'false', p1: 'val1', '--': ['--num1', 'val2'] }, - '--bool --bool=false': { bool: false }, - '--bool --bool=false --bool': { bool: true }, - '--num=1 --num=2 --num=3': { num: 3 }, - '--str=1 --str=2 --str=3': { str: '3' }, - 'val1 --num=1 val2': { num: 1, p1: 'val1', p2: 'val2' }, - '--p1=val1 --num=1 val2': { num: 1, p1: 'val1', p2: 'val2' }, - '--p1=val1 --num=1 --p2=val2 val3': { num: 1, p1: 'val1', p2: 'val2', '--': ['val3'] }, - '--bool val1 --etc --num val2 --v': [ - '!!!', - { bool: true, p1: 'val1', p2: 'val2', '--': ['--etc', '--v'] }, - ['--num'], - ], - '--bool val1 --etc --num=1 val2 --v': { - bool: true, - num: 1, - p1: 'val1', - p2: 'val2', - '--': ['--etc', '--v'], - }, - '--arr=a d': { arr: ['a'], p1: 'd' }, - '--arr=a --arr=b --arr c d': { arr: ['a', 'b', 'c'], p1: 'd' }, - '--arr=1 --arr --arr c d': { arr: ['1', '', 'c'], p1: 'd' }, - '--arr=1 --arr --arr c d e': { arr: ['1', '', 'c'], p1: 'd', p2: 'e' }, - '--str=1': { str: '1' }, - '--str=': { str: '' }, - '--str ': { str: '' }, - '--str ': { str: '', p1: '' }, - '--str ': { str: '', p1: '', p2: '', '--': [''] }, - '--hello-world=1': { helloWorld: '1' }, - '--hello-bool': { helloBool: true }, - '--helloBool': { helloBool: true }, - '--no-helloBool': { helloBool: false }, - '--noHelloBool': { helloBool: false }, - '--noBool': { bool: false }, - '-b': { bool: true }, - '-b=true': { bool: true }, - '-sb': { bool: true, str: '' }, - '-s=b': { str: 'b' }, - '-bs': { bool: true, str: '' }, - '--t1=true': { t1: true }, - '--t1': { t1: true }, - '--t1 --num': { t1: true, num: 0 }, - '--no-t1': { t1: false }, - '--t1=yellow': { t1: 'yellow' }, - '--no-t1=true': { '--': ['--no-t1=true'] }, - '--t1=123': { t1: '123' }, - '--t2=true': { t2: true }, - '--t2': { t2: true }, - '--no-t2': { t2: false }, - '--t2=yellow': ['!!!', {}, ['--t2=yellow']], - '--no-t2=true': { '--': ['--no-t2=true'] }, - '--t2=123': { t2: 123 }, - '--t3=a': { t3: 'a' }, - '--t3': { t3: 0 }, - '--t3 true': { t3: true }, - '--e1 hello': { e1: 'hello' }, - '--e1=hello': { e1: 'hello' }, - '--e1 yellow': ['!!!', { p1: 'yellow' }, ['--e1']], - '--e1=yellow': ['!!!', {}, ['--e1=yellow']], - '--e1': ['!!!', {}, ['--e1']], - '--e1 true': ['!!!', { p1: 'true' }, ['--e1']], - '--e1=true': ['!!!', {}, ['--e1=true']], - '--e2 hello': { e2: 'hello' }, - '--e2=hello': { e2: 'hello' }, - '--e2 yellow': { p1: 'yellow', e2: '' }, - '--e2=yellow': ['!!!', {}, ['--e2=yellow']], - '--e2': { e2: '' }, - '--e2 true': { p1: 'true', e2: '' }, - '--e2=true': ['!!!', {}, ['--e2=true']], - '--e3 json': { e3: 'json' }, - '--e3=json': { e3: 'json' }, - '--e3 yellow': { p1: 'yellow', e3: true }, - '--e3=yellow': ['!!!', {}, ['--e3=yellow']], - '--e3': { e3: true }, - '--e3 true': { e3: true }, - '--e3=true': { e3: true }, - 'a b c 1': { p1: 'a', p2: 'b', '--': ['c', '1'] }, - - '-p=1 -c=prod': { '--': ['-p=1', '-c=prod'] }, - '--p --c': { '--': ['--p', '--c'] }, - '--p=123': { '--': ['--p=123'] }, - '--p -c': { '--': ['--p', '-c'] }, - '-p --c': { '--': ['-p', '--c'] }, - '-p --c 123': { '--': ['-p', '--c', '123'] }, - '--c 123 -p': { '--': ['--c', '123', '-p'] }, - }; - - Object.entries(tests).forEach(([str, expected]) => { - it(`works for ${str}`, () => { - try { - const originalArgs = str.split(' '); - const args = originalArgs.slice(); - - const actual = parseArguments(args, options); - - expect(Array.isArray(expected)).toBe(false); - expect(actual).toEqual(expected as Arguments); - expect(args).toEqual(originalArgs); - } catch (e) { - if (!(e instanceof ParseArgumentException)) { - throw e; - } - - // The expected values are an array. - expect(Array.isArray(expected)).toBe(true); - expect(e.parsed).toEqual(expected[1] as Arguments); - expect(e.ignored).toEqual(expected[2] as string[]); - } - }); - }); - - it('handles a flag being added multiple times', () => { - const options = [{ name: 'bool', aliases: [], type: OptionType.Boolean, description: '' }]; - - const logger = new logging.Logger(''); - const messages: string[] = []; - - logger.subscribe((entry) => messages.push(entry.message)); - - let result = parseArguments(['--bool'], options, logger); - expect(result).toEqual({ bool: true }); - expect(messages).toEqual([]); - - result = parseArguments(['--bool', '--bool'], options, logger); - expect(result).toEqual({ bool: true }); - expect(messages).toEqual([]); - - result = parseArguments(['--bool', '--bool=false'], options, logger); - expect(result).toEqual({ bool: false }); - expect(messages.length).toEqual(1); - expect(messages[0]).toMatch(/\bbool\b.*\btrue\b.*\bfalse\b/); - messages.shift(); - - result = parseArguments(['--bool', '--bool=false', '--bool=false'], options, logger); - expect(result).toEqual({ bool: false }); - expect(messages.length).toEqual(1); - expect(messages[0]).toMatch(/\bbool\b.*\btrue\b.*\bfalse\b/); - messages.shift(); - }); -}); diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts index 884ba71f7d9d..8e8da4a49ce6 100644 --- a/packages/angular/cli/models/schematic-command.ts +++ b/packages/angular/cli/models/schematic-command.ts @@ -6,13 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { logging, normalize, schema, strings, tags, workspaces } from '@angular-devkit/core'; -import { - DryRunEvent, - UnsuccessfulWorkflowExecution, - formats, - workflow, -} from '@angular-devkit/schematics'; +import { schema, tags, workspaces } from '@angular-devkit/core'; +import { DryRunEvent, UnsuccessfulWorkflowExecution, formats } from '@angular-devkit/schematics'; import { FileSystemCollection, FileSystemEngine, @@ -22,14 +17,13 @@ import { import * as inquirer from 'inquirer'; import * as systemPath from 'path'; import { colors } from '../utilities/color'; +import { parseJsonSchemaToOptions } from '../utilities/command-builder/json-schema'; import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../utilities/config'; -import { parseJsonSchemaToOptions } from '../utilities/json-schema'; import { ensureCompatibleNpm, getPackageManager } from '../utilities/package-manager'; import { isTTY } from '../utilities/tty'; import { isPackageNameSafeForAnalytics } from './analytics'; import { BaseCommandOptions, Command } from './command'; -import { Arguments, CommandContext, CommandDescription, Option } from './interface'; -import { parseArguments, parseFreeFormArguments } from './parser'; +import { CommandContext } from './interface'; import { SchematicEngineHost } from './schematic-engine-host'; export interface BaseSchematicSchema { @@ -38,14 +32,13 @@ export interface BaseSchematicSchema { force?: boolean; interactive?: boolean; defaults?: boolean; - packageRegistry?: string; + registry?: string; } export interface RunSchematicOptions extends BaseSchematicSchema { collectionName: string; schematicName: string; - additionalOptions?: { [key: string]: {} }; - schematicOptions?: string[]; + schematicOptions?: Record; showNothingDone?: boolean; } @@ -66,12 +59,12 @@ export abstract class SchematicCommand< protected collectionName = this.defaultCollectionName; protected schematicName?: string; - constructor(context: CommandContext, description: CommandDescription, logger: logging.Logger) { - super(context, description, logger); + constructor(context: CommandContext, commandName: string) { + super(context, commandName); } - public override async initialize(options: T & Arguments) { - await this.createWorkflow(options); + public override async initialize(options: T): Promise { + this._workflow = await this.createWorkflow(options); if (this.schematicName) { // Set the options. @@ -82,11 +75,10 @@ export abstract class SchematicCommand< schematic.description.schemaJson || {}, ); - this.description.description = schematic.description.description; - this.description.options.push(...options.filter((x) => !x.hidden)); + this.commandOptions.push(...options); // Remove any user analytics from schematics that are NOT part of our safelist. - for (const o of this.description.options) { + for (const o of this.commandOptions) { if (o.userAnalytics && !isPackageNameSafeForAnalytics(this.collectionName)) { o.userAnalytics = undefined; } @@ -94,88 +86,6 @@ export abstract class SchematicCommand< } } - public override async printHelp() { - await super.printHelp(); - this.logger.info(''); - - const subCommandOption = this.description.options.filter((x) => x.subcommands)[0]; - - if (!subCommandOption || !subCommandOption.subcommands) { - return 0; - } - - const schematicNames = Object.keys(subCommandOption.subcommands); - - if (schematicNames.length > 1) { - this.logger.info('Available Schematics:'); - - const namesPerCollection: { [c: string]: string[] } = {}; - schematicNames.forEach((name) => { - let [collectionName, schematicName] = name.split(/:/, 2); - if (!schematicName) { - schematicName = collectionName; - collectionName = this.collectionName; - } - - if (!namesPerCollection[collectionName]) { - namesPerCollection[collectionName] = []; - } - - namesPerCollection[collectionName].push(schematicName); - }); - - const defaultCollection = await this.getDefaultSchematicCollection(); - Object.keys(namesPerCollection).forEach((collectionName) => { - const isDefault = defaultCollection == collectionName; - this.logger.info(` Collection "${collectionName}"${isDefault ? ' (default)' : ''}:`); - - namesPerCollection[collectionName].forEach((schematicName) => { - this.logger.info(` ${schematicName}`); - }); - }); - } - - return 0; - } - - override async printHelpUsage() { - const subCommandOption = this.description.options.filter((x) => x.subcommands)[0]; - - if (!subCommandOption || !subCommandOption.subcommands) { - return; - } - - const schematicNames = Object.keys(subCommandOption.subcommands); - if (schematicNames.length == 1) { - this.logger.info(this.description.description); - - const opts = this.description.options.filter((x) => x.positional === undefined); - const [collectionName, schematicName] = schematicNames[0].split(/:/)[0]; - - // Display if this is not the default collectionName, - // otherwise just show the schematicName. - const displayName = - collectionName == (await this.getDefaultSchematicCollection()) - ? schematicName - : schematicNames[0]; - - const schematicOptions = subCommandOption.subcommands[schematicNames[0]].options; - const schematicArgs = schematicOptions.filter((x) => x.positional !== undefined); - const argDisplay = - schematicArgs.length > 0 - ? ' ' + schematicArgs.map((a) => `<${strings.dasherize(a.name)}>`).join(' ') - : ''; - - this.logger.info(tags.oneLine` - usage: ng ${this.description.name} ${displayName}${argDisplay} - ${opts.length > 0 ? `[options]` : ``} - `); - this.logger.info(''); - } else { - await super.printHelpUsage(); - } - } - protected getEngine(): FileSystemEngine { return this._workflow.engine; } @@ -199,25 +109,10 @@ export abstract class SchematicCommand< return collection.createSchematic(schematicName, allowPrivate); } - protected setPathOptions(options: Option[], workingDir: string) { - if (workingDir === '') { - return {}; - } - - return options - .filter((o) => o.format === 'path') - .map((o) => o.name) - .reduce((acc, curr) => { - acc[curr] = workingDir; - - return acc; - }, {} as { [name: string]: string }); - } - /* * Runtime hook to allow specifying customized workflow */ - protected async createWorkflow(options: BaseSchematicSchema): Promise { + protected async createWorkflow(options: BaseSchematicSchema): Promise { if (this._workflow) { return this._workflow; } @@ -228,7 +123,7 @@ export abstract class SchematicCommand< force, dryRun, packageManager: await getPackageManager(root), - packageRegistry: options.packageRegistry, + packageRegistry: options.registry, // A schema registry is required to allow customizing addUndefinedDefaults registry: new schema.CoreSchemaRegistry(formats.standardFormats), resolvePaths: this.workspace @@ -294,7 +189,8 @@ export abstract class SchematicCommand< workflow.engineHost.registerOptionsTransform(async (_, options) => { if (shouldReportAnalytics) { shouldReportAnalytics = false; - await this.reportAnalytics([this.description.name], options as Arguments); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + await this.reportAnalytics([this.commandName], options as any); } return options; @@ -403,7 +299,7 @@ export abstract class SchematicCommand< } protected async runSchematic(options: RunSchematicOptions) { - const { schematicOptions, debug, dryRun } = options; + const { schematicOptions: input = {}, debug, dryRun } = options; let { collectionName, schematicName } = options; let nothingDone = true; @@ -412,8 +308,6 @@ export abstract class SchematicCommand< const workflow = this._workflow; - const workingDir = normalize(systemPath.relative(this.context.root, process.cwd())); - // Get the option object from the schematic schema. const schematic = this.getSchematic( this.getCollection(collectionName), @@ -425,36 +319,6 @@ export abstract class SchematicCommand< collectionName = schematic.collection.description.name; schematicName = schematic.description.name; - // Set the options of format "path". - let o: Option[] | null = null; - let args: Arguments; - - if (!schematic.description.schemaJson) { - args = await this.parseFreeFormArguments(schematicOptions || []); - } else { - o = await parseJsonSchemaToOptions(workflow.registry, schematic.description.schemaJson); - args = await this.parseArguments(schematicOptions || [], o); - } - - const allowAdditionalProperties = - typeof schematic.description.schemaJson === 'object' && - schematic.description.schemaJson.additionalProperties; - - if (args['--'] && !allowAdditionalProperties) { - args['--'].forEach((additional) => { - this.logger.fatal(`Unknown option: '${additional.split(/=/)[0]}'`); - }); - - return 1; - } - - const pathOptions = o ? this.setPathOptions(o, workingDir) : {}; - const input = { - ...pathOptions, - ...args, - ...options.additionalOptions, - }; - workflow.reporter.subscribe((event: DryRunEvent) => { nothingDone = false; @@ -481,7 +345,7 @@ export abstract class SchematicCommand< loggingQueue.push(`${colors.yellow('DELETE')} ${eventPath}`); break; case 'rename': - const eventToPath = event.to.startsWith('/') ? event.to.substr(1) : event.to; + const eventToPath = event.to.startsWith('/') ? event.to.substring(1) : event.to; loggingQueue.push(`${colors.blue('RENAME')} ${eventPath} => ${eventToPath}`); break; } @@ -546,17 +410,6 @@ export abstract class SchematicCommand< }); }); } - - protected async parseFreeFormArguments(schematicOptions: string[]) { - return parseFreeFormArguments(schematicOptions); - } - - protected async parseArguments( - schematicOptions: string[], - options: Option[] | null, - ): Promise { - return parseArguments(schematicOptions, options, this.logger); - } } function getProjectsByPath( diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 9763f2e18a62..b25577341b17 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -43,7 +43,8 @@ "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", - "uuid": "8.3.2" + "uuid": "8.3.2", + "yargs": "17.3.1" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/packages/angular/cli/utilities/command-builder/architect-command-module.ts b/packages/angular/cli/utilities/command-builder/architect-command-module.ts new file mode 100644 index 000000000000..744618faaf83 --- /dev/null +++ b/packages/angular/cli/utilities/command-builder/architect-command-module.ts @@ -0,0 +1,296 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Architect, Target } from '@angular-devkit/architect'; +import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; +import { json } from '@angular-devkit/core'; +import { existsSync } from 'fs'; +import { resolve } from 'path'; +import { Argv } from 'yargs'; +import { isPackageNameSafeForAnalytics } from '../../models/analytics'; +import { getPackageManager } from '../package-manager'; +import { + CommandContext, + CommandModule, + CommandModuleError, + CommandModuleImplementation, + CommandScope, + Options, + OtherOptions, +} from './command-module'; +import { Option, parseJsonSchemaToOptions } from './json-schema'; + +export interface ArchitectCommandArgs { + configuration?: string; + project?: string; +} + +export abstract class ArchitectCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + static override scope = CommandScope.In; + abstract readonly multiTarget: boolean; + readonly missingErrorTarget: string | undefined; + protected override shouldReportAnalytics = false; + + async builder(argv: Argv): Promise> { + const localYargs: Argv = argv + .positional('project', { + describe: 'The name of the project to build. Can be an application or a library.', + type: 'string', + }) + .option('configuration', { + describe: + `One or more named builder configurations as a comma-separated ` + + `list as specified in the "configurations" section in angular.json.\n` + + `The builder uses the named configurations to run the given target.\n` + + `For more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.`, + alias: 'c', + type: 'string', + }) + .strict(); + + const targetSpecifier = this.makeTargetSpecifier(); + if (!targetSpecifier.project) { + return localYargs; + } + + const schemaOptions = await getArchitectTargetOptions(this.context, targetSpecifier); + + return this.addSchemaOptionsToCommand(localYargs, schemaOptions); + } + + async run(options: Options): Promise { + const { logger, workspace } = this.context; + if (!workspace) { + logger.fatal('A workspace is required for this command.'); + + return 1; + } + + const registry = new json.schema.CoreSchemaRegistry(); + registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); + registry.useXDeprecatedProvider((msg) => this.context.logger.warn(msg)); + + const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); + const architect = new Architect(architectHost, registry); + + const targetSpec = this.makeTargetSpecifier(options); + if (!targetSpec.project) { + const target = this.getArchitectTarget(); + + // This runs each target sequentially. + // Running them in parallel would jumble the log messages. + let result = 0; + const projectNames = this.getProjectNamesByTarget(target); + if (!projectNames) { + throw new CommandModuleError( + this.missingErrorTarget ?? 'Cannot determine project or target for command.', + ); + } + + for (const project of projectNames) { + result |= await this.runSingleTarget({ ...targetSpec, project }, options, architect); + } + + return result; + } else { + return await this.runSingleTarget(targetSpec, options, architect); + } + } + + private getArchitectProject(): string | undefined { + const workspace = this.context.workspace; + if (!workspace) { + return undefined; + } + + const [, projectName] = this.context.args.positional; + + if (projectName) { + if (!workspace.projects.has(projectName)) { + throw new CommandModuleError(`Project '${projectName}' does not exist.`); + } + + return projectName; + } + + const target = this.getArchitectTarget(); + const projectFromTarget = this.getProjectNamesByTarget(target); + + return projectFromTarget?.length ? projectFromTarget[0] : undefined; + } + + private getArchitectTarget(): string { + // 'build [project]' -> 'build' + return this.command?.split(' ', 1)[0]; + } + + private makeTargetSpecifier(options?: Options): Target { + return { + project: options?.project ?? this.getArchitectProject() ?? '', + target: this.getArchitectTarget(), + configuration: options?.configuration ?? '', + }; + } + + private getProjectNamesByTarget(target: string): string[] | undefined { + const workspace = this.context.workspace; + if (!workspace) { + throw new CommandModuleError('A workspace is required for this command.'); + } + + const allProjectsForTargetName: string[] = []; + for (const [name, project] of workspace.projects) { + if (project.targets.has(target)) { + allProjectsForTargetName.push(name); + } + } + + if (allProjectsForTargetName.length === 0) { + return undefined; + } + + if (this.multiTarget) { + // For multi target commands, we always list all projects that have the target. + return allProjectsForTargetName; + } else { + // For single target commands, we try the default project first, + // then the full list if it has a single project, then error out. + const maybeDefaultProject = workspace.extensions['defaultProject']; + if ( + typeof maybeDefaultProject === 'string' && + allProjectsForTargetName.includes(maybeDefaultProject) + ) { + return [maybeDefaultProject]; + } + + if (allProjectsForTargetName.length === 1) { + return allProjectsForTargetName; + } + } + + return undefined; + } + + private async runSingleTarget( + target: Target, + options: Options & OtherOptions, + architect: Architect, + ): Promise { + // Remove options + const { configuration, project, ...extraOptions } = options; + const architectHost = await this.getArchitectHost(); + + let builderName: string; + try { + builderName = await architectHost.getBuilderNameForTarget(target); + } catch (e) { + throw new CommandModuleError(this.missingErrorTarget ?? e.message); + } + + await this.reportAnalytics({ + ...(await architectHost.getOptionsForTarget(target)), + ...extraOptions, + }); + + const { logger } = this.context; + + const run = await architect.scheduleTarget(target, extraOptions as json.JsonObject, { + logger, + analytics: isPackageNameSafeForAnalytics(builderName) ? await this.getAnalytics() : undefined, + }); + + const { error, success } = await run.output.toPromise(); + await run.stop(); + + if (error) { + logger.error(error); + } + + return success ? 0 : 1; + } + + private _architectHost: WorkspaceNodeModulesArchitectHost | undefined; + private getArchitectHost(): WorkspaceNodeModulesArchitectHost { + if (this._architectHost) { + return this._architectHost; + } + + const { workspace } = this.context; + if (!workspace) { + throw new CommandModuleError('A workspace is required for this command.'); + } + + return (this._architectHost = new WorkspaceNodeModulesArchitectHost( + workspace, + workspace.basePath, + )); + } +} + +/** + * Get architect target schema options. + */ +export async function getArchitectTargetOptions( + context: CommandContext, + target: Target, +): Promise { + const { workspace } = context; + if (!workspace) { + return []; + } + + const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); + const builderConf = await architectHost.getBuilderNameForTarget(target); + + let builderDesc; + try { + builderDesc = await architectHost.resolveBuilder(builderConf); + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + await warnOnMissingNodeModules(context); + throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); + } + + throw e; + } + + return parseJsonSchemaToOptions( + new json.schema.CoreSchemaRegistry(), + builderDesc.optionSchema as json.JsonObject, + true, + ); +} + +export async function warnOnMissingNodeModules(context: CommandContext): Promise { + const basePath = context.workspace?.basePath; + if (!basePath) { + return; + } + + // Check for a `node_modules` directory (npm, yarn non-PnP, etc.) + if (existsSync(resolve(basePath, 'node_modules'))) { + return; + } + + // Check for yarn PnP files + if ( + existsSync(resolve(basePath, '.pnp.js')) || + existsSync(resolve(basePath, '.pnp.cjs')) || + existsSync(resolve(basePath, '.pnp.mjs')) + ) { + return; + } + + const packageManager = await getPackageManager(basePath); + context.logger.warn( + `Node packages may not be installed. Try installing with '${packageManager} install'.`, + ); +} diff --git a/packages/angular/cli/utilities/command-builder/command-module.ts b/packages/angular/cli/utilities/command-builder/command-module.ts new file mode 100644 index 000000000000..5e7332542e29 --- /dev/null +++ b/packages/angular/cli/utilities/command-builder/command-module.ts @@ -0,0 +1,217 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { analytics, logging, normalize, strings } from '@angular-devkit/core'; +import { readFileSync } from 'fs'; +import * as path from 'path'; +import { + Argv, + CamelCaseKey, + PositionalOptions, + CommandModule as YargsCommandModule, + Options as YargsOptions, +} from 'yargs'; +import { createAnalytics } from '../../models/analytics'; +import { AngularWorkspace } from '../config'; +import { Option } from './json-schema'; + +export type Options = { [key in keyof T as CamelCaseKey]: T[key] }; + +export enum CommandScope { + /** Command can only run inside an Angular workspace. */ + In, + /** Command can only run outside an Angular workspace. */ + Out, + /** Command can run inside and outside an Angular workspace. */ + Both, +} + +export interface CommandContext { + currentDirectory: string; + root: string; + workspace?: AngularWorkspace; + logger: logging.Logger; + /** Arguments parsed in free from without parser configuration. */ + args: { + positional: string[]; + options: { + help: boolean; + } & Record; + }; +} + +export type OtherOptions = Record; + +export interface CommandModuleImplementation + extends Omit, 'builder' | 'handler'> { + /** Path used to load the long description for the command in JSON help text. */ + longDescriptionPath?: string; + /** Object declaring the options the command accepts, or a function accepting and returning a yargs instance. */ + builder(argv: Argv): Promise> | Argv; + /** A function which will be passed the parsed argv. */ + run(options: Options & OtherOptions): Promise | number | void; + /** a function which will be passed the parsed argv. */ + handler(args: Options & OtherOptions): Promise | void; +} + +export interface FullDescribe { + describe?: string; + longDescription?: string; +} + +export abstract class CommandModule implements CommandModuleImplementation { + abstract readonly command: string; + abstract readonly describe: string | false; + abstract readonly longDescriptionPath?: string; + protected shouldReportAnalytics = true; + static scope = CommandScope.Both; + + private readonly optionsWithAnalytics = new Map(); + + constructor(protected readonly context: CommandContext) {} + + /** + * Description object which contains the long command descroption. + * This is used to generate JSON help wich is used in AIO. + * + * `false` will result in a hidden command. + */ + public get fullDescribe(): FullDescribe | false { + return this.describe === false + ? false + : { + describe: this.describe, + longDescription: this.longDescriptionPath + ? readFileSync(this.longDescriptionPath, 'utf8') + : undefined, + }; + } + + protected get commandName(): string { + return this.command.split(' ', 1)[0]; + } + + abstract builder(argv: Argv): Promise> | Argv; + abstract run(options: Options & OtherOptions): Promise | number | void; + + async handler(args: Options & OtherOptions): Promise { + // Gather and report analytics. + const analytics = await this.getAnalytics(); + if (this.shouldReportAnalytics) { + await this.reportAnalytics(args); + } + + // Run and time command. + const startTime = Date.now(); + const result = await this.run(args); + const endTime = Date.now(); + + analytics.timing(this.commandName, 'duration', endTime - startTime); + await analytics.flush(); + + if (typeof result === 'number' && result > 0) { + process.exitCode = result; + } + } + + async reportAnalytics( + options: Options & OtherOptions, + paths: string[] = [], + dimensions: (boolean | number | string)[] = [], + ): Promise { + for (const [name, ua] of this.optionsWithAnalytics) { + const value = options[name]; + + if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { + dimensions[ua] = value; + } + } + + const analytics = await this.getAnalytics(); + analytics.pageview('/command/' + [this.commandName, ...paths].join('/'), { + dimensions, + metrics: [], + }); + } + + private _analytics: analytics.Analytics | undefined; + protected async getAnalytics(): Promise { + if (this._analytics) { + return this._analytics; + } + + return (this._analytics = await createAnalytics( + !!this.context.workspace, + this.commandName === 'update', + )); + } + + /** + * Adds schema options to a command also this keeps track of options that are required for analytics. + * **Note:** This method should be called from the command bundler method. + */ + protected addSchemaOptionsToCommand(localYargs: Argv, options: Option[]): Argv { + const workingDir = normalize(path.relative(this.context.root, process.cwd())); + + for (const option of options) { + const { + default: defaultVal, + positional, + deprecated, + description, + alias, + userAnalytics, + type, + hidden, + name, + choices, + format, + } = option; + + const sharedOptions: YargsOptions & PositionalOptions = { + alias, + hidden, + description, + deprecated, + choices, + // This should only be done when `--help` is used otherwise default will override options set in angular.json. + ...(this.context.args.options.help ? { default: defaultVal } : {}), + }; + + // Special case for schematics + if (workingDir && format === 'path' && name === 'path' && hidden) { + sharedOptions.default = workingDir; + } + + if (positional === undefined) { + localYargs = localYargs.option(strings.dasherize(name), { + type, + ...sharedOptions, + }); + } else { + localYargs = localYargs.positional(strings.dasherize(name), { + type: type === 'array' || type === 'count' ? 'string' : type, + ...sharedOptions, + }); + } + + // Record option of analytics. + if (userAnalytics !== undefined) { + this.optionsWithAnalytics.set(name, userAnalytics); + } + } + + return localYargs; + } +} + +/** + * Creates an known command module error. + * This is used so during executation we can filter between known validation error and real non handled errors. + */ +export class CommandModuleError extends Error {} diff --git a/packages/angular/cli/utilities/command-builder/json-schema.ts b/packages/angular/cli/utilities/command-builder/json-schema.ts new file mode 100644 index 000000000000..8146cd71dbfd --- /dev/null +++ b/packages/angular/cli/utilities/command-builder/json-schema.ts @@ -0,0 +1,213 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { json } from '@angular-devkit/core'; +import yargs from 'yargs'; + +/** + * An option description. + */ +export interface Option extends yargs.Options { + /** + * The name of the option. + */ + name: string; + + /** + * Whether this option is required or not. + */ + required?: boolean; + + /** + * Format field of this option. + */ + format?: string; + + /** + * Whether this option should be hidden from the help output. It will still show up in JSON help. + */ + hidden?: boolean; + + /** + * If this option can be used as an argument, the position of the argument. Otherwise omitted. + */ + positional?: number; + + /** + * Whether or not to report this option to the Angular Team, and which custom field to use. + * If this is falsey, do not report this option. + */ + userAnalytics?: number; +} + +export async function parseJsonSchemaToOptions( + registry: json.schema.SchemaRegistry, + schema: json.JsonObject, + interactive = true, +): Promise { + const options: Option[] = []; + + function visitor( + current: json.JsonObject | json.JsonArray, + pointer: json.schema.JsonPointer, + parentSchema?: json.JsonObject | json.JsonArray, + ) { + if (!parentSchema) { + // Ignore root. + return; + } else if (pointer.split(/\/(?:properties|items|definitions)\//g).length > 2) { + // Ignore subitems (objects or arrays). + return; + } else if (json.isJsonArray(current)) { + return; + } + + if (pointer.indexOf('/not/') != -1) { + // We don't support anyOf/not. + throw new Error('The "not" keyword is not supported in JSON Schema.'); + } + + const ptr = json.schema.parseJsonPointer(pointer); + const name = ptr[ptr.length - 1]; + + if (ptr[ptr.length - 2] != 'properties') { + // Skip any non-property items. + return; + } + + const typeSet = json.schema.getTypesOfSchema(current); + + if (typeSet.size == 0) { + throw new Error('Cannot find type of schema.'); + } + + // We only support number, string or boolean (or array of those), so remove everything else. + const types = [...typeSet].filter((x) => { + switch (x) { + case 'boolean': + case 'number': + case 'string': + return true; + + case 'array': + // Only include arrays if they're boolean, string or number. + if ( + json.isJsonObject(current.items) && + typeof current.items.type == 'string' && + ['boolean', 'number', 'string'].includes(current.items.type) + ) { + return true; + } + + return false; + + default: + return false; + } + }) as ('string' | 'number' | 'boolean' | 'array')[]; + + if (types.length == 0) { + // This means it's not usable on the command line. e.g. an Object. + return; + } + + // Only keep enum values we support (booleans, numbers and strings). + const enumValues = ((json.isJsonArray(current.enum) && current.enum) || []).filter((x) => { + switch (typeof x) { + case 'boolean': + case 'number': + case 'string': + return true; + + default: + return false; + } + }) as (string | true | number)[]; + + let defaultValue: string | number | boolean | undefined = undefined; + if (current.default !== undefined) { + switch (types[0]) { + case 'string': + if (typeof current.default == 'string') { + defaultValue = current.default; + } + break; + case 'number': + if (typeof current.default == 'number') { + defaultValue = current.default; + } + break; + case 'boolean': + if (typeof current.default == 'boolean') { + defaultValue = current.default; + } + break; + } + } + + const type = types[0]; + const $default = current.$default; + const $defaultIndex = + json.isJsonObject($default) && $default['$source'] == 'argv' ? $default['index'] : undefined; + const positional: number | undefined = + typeof $defaultIndex == 'number' ? $defaultIndex : undefined; + + let required = json.isJsonArray(schema.required) ? schema.required.includes(name) : false; + if (required && interactive && current['x-prompt']) { + required = false; + } + + const alias = json.isJsonArray(current.aliases) + ? [...current.aliases].map((x) => '' + x) + : current.alias + ? ['' + current.alias] + : []; + const format = typeof current.format == 'string' ? current.format : undefined; + const visible = current.visible === undefined || current.visible === true; + const hidden = !!current.hidden || !visible; + + const xUserAnalytics = current['x-user-analytics']; + const userAnalytics = typeof xUserAnalytics == 'number' ? xUserAnalytics : undefined; + + // Deprecated is set only if it's true or a string. + const xDeprecated = current['x-deprecated']; + const deprecated = + xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : undefined; + + const option: Option = { + name, + description: '' + (current.description === undefined ? '' : current.description), + type, + default: defaultValue, + choices: enumValues.length ? enumValues : undefined, + required, + alias, + format, + hidden, + userAnalytics, + deprecated, + positional, + }; + + options.push(option); + } + + const flattenedSchema = await registry.flatten(schema).toPromise(); + json.schema.visitJsonSchema(flattenedSchema, visitor); + + // Sort by positional and name. + return options.sort((a, b) => { + if (a.positional) { + return b.positional ? a.positional - b.positional : a.name.localeCompare(b.name); + } else if (b.positional) { + return -1; + } + + return a.name.localeCompare(b.name); + }); +} diff --git a/packages/angular/cli/utilities/command-builder/schematics-command-module.ts b/packages/angular/cli/utilities/command-builder/schematics-command-module.ts new file mode 100644 index 000000000000..51c033d22689 --- /dev/null +++ b/packages/angular/cli/utilities/command-builder/schematics-command-module.ts @@ -0,0 +1,167 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Collection } from '@angular-devkit/schematics'; +import { + FileSystemCollectionDescription, + FileSystemSchematicDescription, + NodeWorkflow, +} from '@angular-devkit/schematics/tools'; +import { Argv } from 'yargs'; +import { SchematicEngineHost } from '../../models/schematic-engine-host'; +import { getProjectByCwd, getWorkspace } from '../config'; +import { CommandModule, CommandModuleImplementation, CommandScope } from './command-module'; +import { Option, parseJsonSchemaToOptions } from './json-schema'; + +const DEFAULT_SCHEMATICS_COLLECTION = '@schematics/angular'; + +export interface SchematicsCommandArgs { + interactive: boolean; + force: boolean; + 'dry-run': boolean; + defaults: boolean; +} + +export abstract class SchematicsCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + static override scope = CommandScope.In; + protected readonly schematicName: string | undefined; + + async builder(argv: Argv): Promise> { + const localYargs: Argv = argv + .option('interactive', { + describe: 'Enable interactive input prompts.', + type: 'boolean', + default: true, + }) + .option('dry-run', { + describe: 'Run through and reports activity without writing out results.', + type: 'boolean', + default: false, + }) + .option('defaults', { + describe: 'Disable interactive input prompts for options with a default.', + type: 'boolean', + default: false, + }) + .option('force', { + describe: 'Force overwriting of existing files.', + type: 'boolean', + default: false, + }) + .strict(); + + if (this.schematicName) { + const collectionName = await this.getCollectionName(); + const workflow = this.getOrCreateWorkflow(collectionName); + const collection = workflow.engine.createCollection(collectionName); + const options = await this.getSchematicOptions(collection, this.schematicName, workflow); + + return this.addSchemaOptionsToCommand(localYargs, options); + } + + return localYargs; + } + + /** Get schematic schema options.*/ + protected async getSchematicOptions( + collection: Collection, + schematicName: string, + workflow: NodeWorkflow, + ): Promise { + const schematic = collection.createSchematic(schematicName, true); + const { schemaJson } = schematic.description; + + if (!schemaJson) { + return []; + } + + return parseJsonSchemaToOptions(workflow.registry, schemaJson); + } + + protected async getCollectionName(): Promise { + const { + options: { collection }, + positional, + } = this.context.args; + + return ( + (typeof collection === 'string' ? collection : undefined) ?? + // positional = [generate, lint] or [new, collection-package] + this.parseSchematicInfo(positional[1])[0] ?? + (await this.getDefaultSchematicCollection()) + ); + } + + private _workflow: NodeWorkflow | undefined; + protected getOrCreateWorkflow(collectionName: string): NodeWorkflow { + if (this._workflow) { + return this._workflow; + } + + const { root, workspace } = this.context; + + return new NodeWorkflow(root, { + resolvePaths: workspace + ? // Workspace + collectionName === DEFAULT_SCHEMATICS_COLLECTION + ? // Favor __dirname for @schematics/angular to use the build-in version + [__dirname, process.cwd(), root] + : [process.cwd(), root, __dirname] + : // Global + [__dirname, process.cwd()], + engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), + }); + } + + private _defaultSchematicCollection: string | undefined; + protected async getDefaultSchematicCollection(): Promise { + if (this._defaultSchematicCollection) { + return this._defaultSchematicCollection; + } + + let workspace = await getWorkspace('local'); + + if (workspace) { + const project = getProjectByCwd(workspace); + if (project) { + const value = workspace.getProjectCli(project)['defaultCollection']; + if (typeof value == 'string') { + return (this._defaultSchematicCollection = value); + } + } + + const value = workspace.getCli()['defaultCollection']; + if (typeof value === 'string') { + return (this._defaultSchematicCollection = value); + } + } + + workspace = await getWorkspace('global'); + const value = workspace?.getCli()['defaultCollection']; + if (typeof value === 'string') { + return (this._defaultSchematicCollection = value); + } + + return (this._defaultSchematicCollection = DEFAULT_SCHEMATICS_COLLECTION); + } + + protected parseSchematicInfo( + schematic: string | undefined, + ): [collectionName: string | undefined, schematicName: string | undefined] { + if (schematic?.includes(':')) { + const [collectionName, schematicName] = schematic.split(':', 2); + + return [collectionName, schematicName]; + } + + return [undefined, schematic]; + } +} diff --git a/packages/angular/cli/utilities/json-schema.ts b/packages/angular/cli/utilities/json-schema.ts deleted file mode 100644 index f396d4a063d9..000000000000 --- a/packages/angular/cli/utilities/json-schema.ts +++ /dev/null @@ -1,301 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { BaseException, json } from '@angular-devkit/core'; -import { ExportStringRef } from '@angular-devkit/schematics/tools'; -import { readFileSync } from 'fs'; -import { dirname, resolve } from 'path'; -import { - CommandConstructor, - CommandDescription, - CommandScope, - Option, - OptionType, - SubCommandDescription, - Value, -} from '../models/interface'; - -export class CommandJsonPathException extends BaseException { - constructor(public readonly path: string, public override readonly name: string) { - super(`File ${path} was not found while constructing the subcommand ${name}.`); - } -} - -function _getEnumFromValue( - value: json.JsonValue, - enumeration: E, - defaultValue: T, -): T { - if (typeof value !== 'string') { - return defaultValue; - } - - if (Object.values(enumeration).includes(value)) { - return value as unknown as T; - } - - return defaultValue; -} - -export async function parseJsonSchemaToSubCommandDescription( - name: string, - jsonPath: string, - registry: json.schema.SchemaRegistry, - schema: json.JsonObject, -): Promise { - const options = await parseJsonSchemaToOptions(registry, schema); - - const aliases: string[] = []; - if (json.isJsonArray(schema.$aliases)) { - schema.$aliases.forEach((value) => { - if (typeof value == 'string') { - aliases.push(value); - } - }); - } - if (json.isJsonArray(schema.aliases)) { - schema.aliases.forEach((value) => { - if (typeof value == 'string') { - aliases.push(value); - } - }); - } - if (typeof schema.alias == 'string') { - aliases.push(schema.alias); - } - - let longDescription = ''; - if (typeof schema.$longDescription == 'string' && schema.$longDescription) { - const ldPath = resolve(dirname(jsonPath), schema.$longDescription); - try { - longDescription = readFileSync(ldPath, 'utf-8'); - } catch (e) { - throw new CommandJsonPathException(ldPath, name); - } - } - let usageNotes = ''; - if (typeof schema.$usageNotes == 'string' && schema.$usageNotes) { - const unPath = resolve(dirname(jsonPath), schema.$usageNotes); - try { - usageNotes = readFileSync(unPath, 'utf-8'); - } catch (e) { - throw new CommandJsonPathException(unPath, name); - } - } - - const description = '' + (schema.description === undefined ? '' : schema.description); - - return { - name, - description, - ...(longDescription ? { longDescription } : {}), - ...(usageNotes ? { usageNotes } : {}), - options, - aliases, - }; -} - -export async function parseJsonSchemaToCommandDescription( - name: string, - jsonPath: string, - registry: json.schema.SchemaRegistry, - schema: json.JsonObject, -): Promise { - const subcommand = await parseJsonSchemaToSubCommandDescription(name, jsonPath, registry, schema); - - // Before doing any work, let's validate the implementation. - if (typeof schema.$impl != 'string') { - throw new Error(`Command ${name} has an invalid implementation.`); - } - const ref = new ExportStringRef(schema.$impl, dirname(jsonPath)); - const impl = ref.ref; - - if (impl === undefined || typeof impl !== 'function') { - throw new Error(`Command ${name} has an invalid implementation.`); - } - - const scope = _getEnumFromValue(schema.$scope, CommandScope, CommandScope.Default); - const hidden = !!schema.$hidden; - - return { - ...subcommand, - scope, - hidden, - impl, - }; -} - -export async function parseJsonSchemaToOptions( - registry: json.schema.SchemaRegistry, - schema: json.JsonObject, -): Promise { - const options: Option[] = []; - - function visitor( - current: json.JsonObject | json.JsonArray, - pointer: json.schema.JsonPointer, - parentSchema?: json.JsonObject | json.JsonArray, - ) { - if (!parentSchema) { - // Ignore root. - return; - } else if (pointer.split(/\/(?:properties|items|definitions)\//g).length > 2) { - // Ignore subitems (objects or arrays). - return; - } else if (json.isJsonArray(current)) { - return; - } - - if (pointer.indexOf('/not/') != -1) { - // We don't support anyOf/not. - throw new Error('The "not" keyword is not supported in JSON Schema.'); - } - - const ptr = json.schema.parseJsonPointer(pointer); - const name = ptr[ptr.length - 1]; - - if (ptr[ptr.length - 2] != 'properties') { - // Skip any non-property items. - return; - } - - const typeSet = json.schema.getTypesOfSchema(current); - - if (typeSet.size == 0) { - throw new Error('Cannot find type of schema.'); - } - - // We only support number, string or boolean (or array of those), so remove everything else. - const types = [...typeSet] - .filter((x) => { - switch (x) { - case 'boolean': - case 'number': - case 'string': - return true; - - case 'array': - // Only include arrays if they're boolean, string or number. - if ( - json.isJsonObject(current.items) && - typeof current.items.type == 'string' && - ['boolean', 'number', 'string'].includes(current.items.type) - ) { - return true; - } - - return false; - - default: - return false; - } - }) - .map((x) => _getEnumFromValue(x, OptionType, OptionType.String)); - - if (types.length == 0) { - // This means it's not usable on the command line. e.g. an Object. - return; - } - - // Only keep enum values we support (booleans, numbers and strings). - const enumValues = ((json.isJsonArray(current.enum) && current.enum) || []).filter((x) => { - switch (typeof x) { - case 'boolean': - case 'number': - case 'string': - return true; - - default: - return false; - } - }) as Value[]; - - let defaultValue: string | number | boolean | undefined = undefined; - if (current.default !== undefined) { - switch (types[0]) { - case 'string': - if (typeof current.default == 'string') { - defaultValue = current.default; - } - break; - case 'number': - if (typeof current.default == 'number') { - defaultValue = current.default; - } - break; - case 'boolean': - if (typeof current.default == 'boolean') { - defaultValue = current.default; - } - break; - } - } - - const type = types[0]; - const $default = current.$default; - const $defaultIndex = - json.isJsonObject($default) && $default['$source'] == 'argv' ? $default['index'] : undefined; - const positional: number | undefined = - typeof $defaultIndex == 'number' ? $defaultIndex : undefined; - - const required = json.isJsonArray(current.required) - ? current.required.indexOf(name) != -1 - : false; - const aliases = json.isJsonArray(current.aliases) - ? [...current.aliases].map((x) => '' + x) - : current.alias - ? ['' + current.alias] - : []; - const format = typeof current.format == 'string' ? current.format : undefined; - const visible = current.visible === undefined || current.visible === true; - const hidden = !!current.hidden || !visible; - - const xUserAnalytics = current['x-user-analytics']; - const userAnalytics = typeof xUserAnalytics == 'number' ? xUserAnalytics : undefined; - - // Deprecated is set only if it's true or a string. - const xDeprecated = current['x-deprecated']; - const deprecated = - xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : undefined; - - const option: Option = { - name, - description: '' + (current.description === undefined ? '' : current.description), - ...(types.length == 1 ? { type } : { type, types }), - ...(defaultValue !== undefined ? { default: defaultValue } : {}), - ...(enumValues && enumValues.length > 0 ? { enum: enumValues } : {}), - required, - aliases, - ...(format !== undefined ? { format } : {}), - hidden, - ...(userAnalytics ? { userAnalytics } : {}), - ...(deprecated !== undefined ? { deprecated } : {}), - ...(positional !== undefined ? { positional } : {}), - }; - - options.push(option); - } - - const flattenedSchema = await registry.flatten(schema).toPromise(); - json.schema.visitJsonSchema(flattenedSchema, visitor); - - // Sort by positional. - return options.sort((a, b) => { - if (a.positional) { - if (b.positional) { - return a.positional - b.positional; - } else { - return 1; - } - } else if (b.positional) { - return -1; - } else { - return 0; - } - }); -} diff --git a/packages/angular/cli/utilities/json-schema_spec.ts b/packages/angular/cli/utilities/json-schema_spec.ts deleted file mode 100644 index f300cc4bc077..000000000000 --- a/packages/angular/cli/utilities/json-schema_spec.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { schema } from '@angular-devkit/core'; -import { readFileSync } from 'fs'; -import { join } from 'path'; -import { CommandJsonPathException, parseJsonSchemaToCommandDescription } from './json-schema'; - -describe('parseJsonSchemaToCommandDescription', () => { - let registry: schema.CoreSchemaRegistry; - const baseSchemaJson = { - '$schema': 'http://json-schema.org/schema', - '$id': 'ng-cli://commands/version.json', - 'description': 'Outputs Angular CLI version.', - '$longDescription': 'not a file ref', - - '$aliases': ['v'], - '$scope': 'all', - '$impl': './version-impl#VersionCommand', - - 'type': 'object', - 'allOf': [{ '$ref': './definitions.json#/definitions/base' }], - }; - - beforeEach(() => { - registry = new schema.CoreSchemaRegistry([]); - registry.registerUriHandler((uri: string) => { - if (uri.startsWith('ng-cli://')) { - const content = readFileSync( - join(__dirname, '..', uri.substr('ng-cli://'.length)), - 'utf-8', - ); - - return Promise.resolve(JSON.parse(content)); - } else { - return null; - } - }); - }); - - it(`should throw on invalid $longDescription path`, async () => { - const name = 'version'; - const schemaPath = join(__dirname, './bad-sample.json'); - const schemaJson = { ...baseSchemaJson, $longDescription: 'not a file ref' }; - try { - await parseJsonSchemaToCommandDescription(name, schemaPath, registry, schemaJson); - } catch (error) { - const refPath = join(__dirname, schemaJson.$longDescription); - expect(error).toEqual(new CommandJsonPathException(refPath, name)); - - return; - } - expect(true).toBe(false, 'function should have thrown'); - }); - - it(`should throw on invalid $usageNotes path`, async () => { - const name = 'version'; - const schemaPath = join(__dirname, './bad-sample.json'); - const schemaJson = { ...baseSchemaJson, $usageNotes: 'not a file ref' }; - try { - await parseJsonSchemaToCommandDescription(name, schemaPath, registry, schemaJson); - } catch (error) { - const refPath = join(__dirname, schemaJson.$usageNotes); - expect(error).toEqual(new CommandJsonPathException(refPath, name)); - - return; - } - expect(true).toBe(false, 'function should have thrown'); - }); -}); diff --git a/packages/angular/cli/models/version.ts b/packages/angular/cli/utilities/version.ts similarity index 83% rename from packages/angular/cli/models/version.ts rename to packages/angular/cli/utilities/version.ts index f24082ff1229..802e7fbc2b2a 100644 --- a/packages/angular/cli/models/version.ts +++ b/packages/angular/cli/utilities/version.ts @@ -10,15 +10,16 @@ import { readFileSync } from 'fs'; import { resolve } from 'path'; // Same structure as used in framework packages -export class Version { +class Version { public readonly major: string; public readonly minor: string; public readonly patch: string; constructor(public readonly full: string) { - this.major = full.split('.')[0]; - this.minor = full.split('.')[1]; - this.patch = full.split('.').slice(2).join('.'); + const [major, minor, patch] = full.split('-', 1)[0].split('.', 3); + this.major = major; + this.minor = minor; + this.patch = patch; } } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index a577723c4116..7a7dc42b8a73 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -193,7 +193,7 @@ }, "outputPath": { "type": "string", - "description": "The full path for the new output directory, relative to the current workspace.\n\nBy default, writes output to a folder named dist/ in the current project." + "description": "The full path for the new output directory, relative to the current workspace.\nBy default, writes output to a folder named dist/ in the current project." }, "resourcesOutputPath": { "type": "string", diff --git a/packages/schematics/angular/app-shell/index_spec.ts b/packages/schematics/angular/app-shell/index_spec.ts index 68c9909e6e91..aa2e884eee82 100644 --- a/packages/schematics/angular/app-shell/index_spec.ts +++ b/packages/schematics/angular/app-shell/index_spec.ts @@ -49,13 +49,13 @@ describe('App Shell Schematic', () => { .runSchematicAsync('application', { ...appOptions, routing: false }, appTree) .toPromise(); await expectAsync( - schematicRunner.runSchematicAsync('appShell', defaultOptions, appTree).toPromise(), + schematicRunner.runSchematicAsync('app-shell', defaultOptions, appTree).toPromise(), ).toBeRejected(); }); it('should add a universal app', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/projects/bar/src/app/app.server.module.ts'; expect(tree.exists(filePath)).toEqual(true); @@ -63,7 +63,7 @@ describe('App Shell Schematic', () => { it('should add app shell configuration', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/angular.json'; const content = tree.readContent(filePath); @@ -78,7 +78,7 @@ describe('App Shell Schematic', () => { it('should add router module to client app module', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/projects/bar/src/app/app.module.ts'; const content = tree.readContent(filePath); @@ -91,7 +91,7 @@ describe('App Shell Schematic', () => { appTree.commitUpdate(updateRecorder); const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/projects/bar/src/app/app.module.ts'; const content = tree.readContent(filePath); @@ -134,7 +134,7 @@ describe('App Shell Schematic', () => { const htmlPath = '/projects/bar/src/app/app.component.html'; appTree.overwrite(htmlPath, ''); const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const content = tree.readContent(htmlPath); @@ -146,7 +146,7 @@ describe('App Shell Schematic', () => { it('should not re-add the router outlet (inline template)', async () => { makeInlineTemplate(appTree, ''); const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const content = tree.readContent('/projects/bar/src/app/app.component.ts'); const matches = content.match(/<\/router-outlet>/g); @@ -157,7 +157,7 @@ describe('App Shell Schematic', () => { it('should add router imports to server module', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); @@ -174,7 +174,7 @@ describe('App Shell Schematic', () => { workspace.projects.bar.architect.server.options.main = 'server.ts'; appTree.overwrite('angular.json', JSON.stringify(workspace, undefined, 2)); - tree = await schematicRunner.runSchematicAsync('appShell', defaultOptions, tree).toPromise(); + tree = await schematicRunner.runSchematicAsync('app-shell', defaultOptions, tree).toPromise(); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch(/import { Routes, RouterModule } from '@angular\/router';/); @@ -182,7 +182,7 @@ describe('App Shell Schematic', () => { it('should define a server route', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); @@ -191,7 +191,7 @@ describe('App Shell Schematic', () => { it('should import RouterModule with forRoot', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); @@ -203,7 +203,7 @@ describe('App Shell Schematic', () => { it('should create the shell component', async () => { const tree = await schematicRunner - .runSchematicAsync('appShell', defaultOptions, appTree) + .runSchematicAsync('app-shell', defaultOptions, appTree) .toPromise(); expect(tree.exists('/projects/bar/src/app/app-shell/app-shell.component.ts')).toBe(true); const content = tree.readContent('/projects/bar/src/app/app.server.module.ts'); diff --git a/packages/schematics/angular/collection.json b/packages/schematics/angular/collection.json index aa8acf318481..6a6e8e78bf63 100755 --- a/packages/schematics/angular/collection.json +++ b/packages/schematics/angular/collection.json @@ -13,7 +13,6 @@ "hidden": true }, "service-worker": { - "aliases": ["serviceWorker"], "factory": "./service-worker", "description": "Initializes a service worker setup.", "schema": "./service-worker/schema.json" @@ -102,7 +101,6 @@ "hidden": true }, "app-shell": { - "aliases": ["appShell"], "factory": "./app-shell", "description": "Create an app shell.", "schema": "./app-shell/schema.json" @@ -114,7 +112,6 @@ "description": "Generate a library project for Angular." }, "web-worker": { - "aliases": ["webWorker"], "factory": "./web-worker", "schema": "./web-worker/schema.json", "description": "Create a Web Worker." diff --git a/tests/legacy-cli/e2e/tests/basic/e2e.ts b/tests/legacy-cli/e2e/tests/basic/e2e.ts index d547320908f6..2668bdce30c1 100644 --- a/tests/legacy-cli/e2e/tests/basic/e2e.ts +++ b/tests/legacy-cli/e2e/tests/basic/e2e.ts @@ -1,58 +1,77 @@ -import { - ng, - execAndWaitForOutputToMatch, - killAllProcesses -} from '../../utils/process'; -import {expectToFail} from '../../utils/utils'; -import {moveFile, copyFile, replaceInFile} from '../../utils/fs'; +import { ng, execAndWaitForOutputToMatch, killAllProcesses } from '../../utils/process'; +import { expectToFail } from '../../utils/utils'; +import { moveFile, copyFile, replaceInFile } from '../../utils/fs'; export default function () { - return Promise.resolve() - // Should fail without serving - .then(() => expectToFail(() => ng('e2e', 'test-project', '--devServerTarget='))) - // These should work. - .then(() => ng('e2e', 'test-project')) - .then(() => ng('e2e', 'test-project', '--devServerTarget=test-project:serve')) - // Should accept different config file - .then(() => moveFile('./e2e/protractor.conf.js', - './e2e/renamed-protractor.conf.js')) - .then(() => ng('e2e', 'test-project', - '--protractorConfig=e2e/renamed-protractor.conf.js')) - .then(() => moveFile('./e2e/renamed-protractor.conf.js', './e2e/protractor.conf.js')) - // Should accept different multiple spec files - .then(() => moveFile('./e2e/src/app.e2e-spec.ts', - './e2e/src/renamed-app.e2e-spec.ts')) - .then(() => copyFile('./e2e/src/renamed-app.e2e-spec.ts', - './e2e/src/another-app.e2e-spec.ts')) - .then(() => ng('e2e', 'test-project', '--specs', './e2e/renamed-app.e2e-spec.ts', - '--specs', './e2e/another-app.e2e-spec.ts')) - // Rename the spec back to how it was. - .then(() => moveFile('./e2e/src/renamed-app.e2e-spec.ts', - './e2e/src/app.e2e-spec.ts')) - // Suites block need to be added in the protractor.conf.js file to test suites - .then(() => replaceInFile('e2e/protractor.conf.js', `allScriptsTimeout: 11000,`, - `allScriptsTimeout: 11000, + return ( + Promise.resolve() + // Should fail without serving + .then(() => expectToFail(() => ng('e2e', 'test-project', '--dev-server-target='))) + // These should work. + .then(() => ng('e2e', 'test-project')) + .then(() => ng('e2e', 'test-project', '--dev-server-target=test-project:serve')) + // Should accept different config file + .then(() => moveFile('./e2e/protractor.conf.js', './e2e/renamed-protractor.conf.js')) + .then(() => ng('e2e', 'test-project', '--protractor-config=e2e/renamed-protractor.conf.js')) + .then(() => moveFile('./e2e/renamed-protractor.conf.js', './e2e/protractor.conf.js')) + // Should accept different multiple spec files + .then(() => moveFile('./e2e/src/app.e2e-spec.ts', './e2e/src/renamed-app.e2e-spec.ts')) + .then(() => + copyFile('./e2e/src/renamed-app.e2e-spec.ts', './e2e/src/another-app.e2e-spec.ts'), + ) + .then(() => + ng( + 'e2e', + 'test-project', + '--specs', + './e2e/renamed-app.e2e-spec.ts', + '--specs', + './e2e/another-app.e2e-spec.ts', + ), + ) + // Rename the spec back to how it was. + .then(() => moveFile('./e2e/src/renamed-app.e2e-spec.ts', './e2e/src/app.e2e-spec.ts')) + // Suites block need to be added in the protractor.conf.js file to test suites + .then(() => + replaceInFile( + 'e2e/protractor.conf.js', + `allScriptsTimeout: 11000,`, + `allScriptsTimeout: 11000, suites: { app: './e2e/src/app.e2e-spec.ts' }, - `)) - .then(() => ng('e2e', 'test-project', '--suite=app')) - // Remove suites block from protractor.conf.js file after testing suites - .then(() => replaceInFile('e2e/protractor.conf.js', `allScriptsTimeout: 11000, + `, + ), + ) + .then(() => ng('e2e', 'test-project', '--suite=app')) + // Remove suites block from protractor.conf.js file after testing suites + .then(() => + replaceInFile( + 'e2e/protractor.conf.js', + `allScriptsTimeout: 11000, suites: { app: './e2e/src/app.e2e-spec.ts' }, - `, `allScriptsTimeout: 11000,` - )) - // Should run side-by-side with `ng serve` - .then(() => execAndWaitForOutputToMatch('ng', ['serve'], - / Compiled successfully./)) - .then(() => ng('e2e', 'test-project', '--devServerTarget=')) - // Should fail without updated webdriver - .then(() => replaceInFile('e2e/protractor.conf.js', /chromeDriver: String.raw`[^`]*`,/, '')) - .then(() => expectToFail(() => ng('e2e', 'test-project', '--no-webdriver-update', '--devServerTarget='))) - .then(() => killAllProcesses(), (err) => { - killAllProcesses(); - throw err; - }); + `, + `allScriptsTimeout: 11000,`, + ), + ) + // Should run side-by-side with `ng serve` + .then(() => execAndWaitForOutputToMatch('ng', ['serve'], / Compiled successfully./)) + .then(() => ng('e2e', 'test-project', '--dev-server-target=')) + // Should fail without updated webdriver + .then(() => replaceInFile('e2e/protractor.conf.js', /chromeDriver: String.raw`[^`]*`,/, '')) + .then(() => + expectToFail(() => + ng('e2e', 'test-project', '--no-webdriver-update', '--dev-server-target='), + ), + ) + .then( + () => killAllProcesses(), + (err) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/basic/test.ts b/tests/legacy-cli/e2e/tests/basic/test.ts index 9ae72b9026d1..6010b335035e 100644 --- a/tests/legacy-cli/e2e/tests/basic/test.ts +++ b/tests/legacy-cli/e2e/tests/basic/test.ts @@ -5,5 +5,5 @@ export default function () { // make sure both --watch=false work return ng('test', '--watch=false') .then(() => moveFile('./karma.conf.js', './karma.conf.bis.js')) - .then(() => ng('test', '--watch=false', '--karmaConfig=karma.conf.bis.js')); + .then(() => ng('test', '--watch=false', '--karma-config=karma.conf.bis.js')); } diff --git a/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts b/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts index 95ece32ea6f5..00f5cedf71c2 100644 --- a/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts +++ b/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts @@ -8,7 +8,7 @@ const snapshots = require('../../ng-snapshot/package.json'); export default async function () { await appendToFile('src/app/app.component.html', ''); - await ng('generate', 'appShell', '--project', 'test-project'); + await ng('generate', 'app-shell', '--project', 'test-project'); const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; if (isSnapshotBuild) { diff --git a/tests/legacy-cli/e2e/tests/build/multiple-configs.ts b/tests/legacy-cli/e2e/tests/build/multiple-configs.ts index 31623fc9a34b..f25d05f7eff0 100644 --- a/tests/legacy-cli/e2e/tests/build/multiple-configs.ts +++ b/tests/legacy-cli/e2e/tests/build/multiple-configs.ts @@ -51,7 +51,7 @@ export default async function () { await expectToFail(() => expectFileToExist('dist/test-project/favicon.ico')); await expectToFail(() => expectFileToExist('dist/test-project/main.js.map')); // Use two configurations and two overrides, one of which overrides a config. - await ng('build', '--configuration=one,two', '--vendor-chunk=false', '--sourceMap=true'); + await ng('build', '--configuration=one,two', '--vendor-chunk=false', '--source-map=true'); await expectToFail(() => expectFileToExist('dist/test-project/favicon.ico')); await expectFileToExist('dist/test-project/main.js.map'); await expectToFail(() => expectFileToExist('dist/test-project/vendor.js')); diff --git a/tests/legacy-cli/e2e/tests/build/platform-server.ts b/tests/legacy-cli/e2e/tests/build/platform-server.ts index 0afb776366fb..d5938c2efcc1 100644 --- a/tests/legacy-cli/e2e/tests/build/platform-server.ts +++ b/tests/legacy-cli/e2e/tests/build/platform-server.ts @@ -59,7 +59,7 @@ export default async function () { ); // works with optimization and bundleDependencies enabled - await ng('run', 'test-project:server', '--optimization', '--bundleDependencies'); + await ng('run', 'test-project:server', '--optimization', '--bundle-dependencies'); await exec(normalize('node'), 'dist/test-project/server/main.js'); await expectFileToMatch( 'dist/test-project/server/index.html', diff --git a/tests/legacy-cli/e2e/tests/commands/additional-properties.ts b/tests/legacy-cli/e2e/tests/commands/additional-properties.ts index b9a477c7cff6..a53006853fca 100644 --- a/tests/legacy-cli/e2e/tests/commands/additional-properties.ts +++ b/tests/legacy-cli/e2e/tests/commands/additional-properties.ts @@ -2,16 +2,19 @@ import { createDir, rimraf, writeMultipleFiles } from '../../utils/fs'; import { execAndWaitForOutputToMatch } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; -export default async function() { +export default async function () { await createDir('example-builder'); await writeMultipleFiles({ 'example-builder/package.json': '{ "builders": "./builders.json" }', - 'example-builder/schema.json': '{ "$schema": "http://json-schema.org/draft-07/schema", "type": "object", "additionalProperties": true }', - 'example-builder/builders.json': '{ "$schema": "@angular-devkit/architect/src/builders-schema.json", "builders": { "example": { "implementation": "./example", "schema": "./schema.json" } } }', - 'example-builder/example.js': 'module.exports.default = require("@angular-devkit/architect").createBuilder((options) => { console.log(options); return { success: true }; });', + 'example-builder/schema.json': + '{ "$schema": "http://json-schema.org/draft-07/schema", "type": "object", "additionalProperties": true }', + 'example-builder/builders.json': + '{ "$schema": "@angular-devkit/architect/src/builders-schema.json", "builders": { "example": { "implementation": "./example", "schema": "./schema.json" } } }', + 'example-builder/example.js': + 'module.exports.default = require("@angular-devkit/architect").createBuilder((options) => { console.log(options); return { success: true }; });', }); - await updateJsonFile('angular.json', json => { + await updateJsonFile('angular.json', (json) => { const appArchitect = json.projects['test-project'].architect; appArchitect.example = { builder: './example-builder:example', @@ -21,7 +24,7 @@ export default async function() { await execAndWaitForOutputToMatch( 'ng', ['run', 'test-project:example', '--additional', 'property'], - /'{ '--': \[ '--additional', 'property' \] }'/, + /Unknown argument: additional/, ); await rimraf('example-builder'); diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-option-command.ts b/tests/legacy-cli/e2e/tests/commands/help/help-option-command.ts deleted file mode 100644 index c6782765b839..000000000000 --- a/tests/legacy-cli/e2e/tests/commands/help/help-option-command.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {silentNg} from '../../../utils/process'; - - -export default function() { - return Promise.resolve() - .then(() => silentNg('--help', 'build')); -} diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-option.ts b/tests/legacy-cli/e2e/tests/commands/help/help-option.ts deleted file mode 100644 index 03b96b5758d9..000000000000 --- a/tests/legacy-cli/e2e/tests/commands/help/help-option.ts +++ /dev/null @@ -1,9 +0,0 @@ -import {silentNg} from '../../../utils/process'; - - -export default function() { - return Promise.resolve() - .then(() => silentNg('--help')) - .then(() => process.chdir('/')) - .then(() => silentNg('--help')); -} diff --git a/tests/legacy-cli/e2e/tests/commands/help/help.ts b/tests/legacy-cli/e2e/tests/commands/help/help.ts deleted file mode 100644 index f326f6a81ff8..000000000000 --- a/tests/legacy-cli/e2e/tests/commands/help/help.ts +++ /dev/null @@ -1,9 +0,0 @@ -import {silentNg} from '../../../utils/process'; - - -export default function() { - return Promise.resolve() - .then(() => silentNg('help')) - .then(() => process.chdir('/')) - .then(() => silentNg('help')); -} diff --git a/tests/legacy-cli/e2e/tests/commands/unknown-option.ts b/tests/legacy-cli/e2e/tests/commands/unknown-option.ts index 220d74bc1646..f0f4cde0693f 100644 --- a/tests/legacy-cli/e2e/tests/commands/unknown-option.ts +++ b/tests/legacy-cli/e2e/tests/commands/unknown-option.ts @@ -1,27 +1,17 @@ import { execAndWaitForOutputToMatch, ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; -export default async function() { +export default async function () { await expectToFail(() => ng('build', '--notanoption')); await execAndWaitForOutputToMatch( 'ng', - [ 'build', '--notanoption' ], - /Unknown option: '--notanoption'/, + ['build', '--notanoption'], + /Unknown argument: notanoption/, ); - await expectToFail(() => execAndWaitForOutputToMatch( - 'ng', - [ 'build', '--notanoption' ], - /should NOT have additional properties\(notanoption\)./, - )); - - const ngGenerateArgs = [ 'generate', 'component', 'component-name', '--notanoption' ]; + const ngGenerateArgs = ['generate', 'component', 'component-name', '--notanoption']; await expectToFail(() => ng(...ngGenerateArgs)); - await execAndWaitForOutputToMatch( - 'ng', - ngGenerateArgs, - /Unknown option: '--notanoption'/, - ); + await execAndWaitForOutputToMatch('ng', ngGenerateArgs, /Unknown argument: notanoption/); } diff --git a/tests/legacy-cli/e2e/tests/generate/help-output.ts b/tests/legacy-cli/e2e/tests/generate/help-output.ts index 22b0e8a397e0..9b82e36a2ba2 100644 --- a/tests/legacy-cli/e2e/tests/generate/help-output.ts +++ b/tests/legacy-cli/e2e/tests/generate/help-output.ts @@ -1,21 +1,22 @@ -import {join} from 'path'; -import {ng, ProcessOutput} from '../../utils/process'; -import {writeMultipleFiles, createDir} from '../../utils/fs'; +import { join } from 'path'; +import { ng, ProcessOutput } from '../../utils/process'; +import { writeMultipleFiles, createDir } from '../../utils/fs'; import { updateJsonFile } from '../../utils/project'; - -export default function() { +export default function () { // setup temp collection const genRoot = join('node_modules/fake-schematics/'); - return Promise.resolve() - .then(() => createDir(genRoot)) - .then(() => writeMultipleFiles({ - [join(genRoot, 'package.json')]: ` + return ( + Promise.resolve() + .then(() => createDir(genRoot)) + .then(() => + writeMultipleFiles({ + [join(genRoot, 'package.json')]: ` { "schematics": "./collection.json" }`, - [join(genRoot, 'collection.json')]: ` + [join(genRoot, 'collection.json')]: ` { "schematics": { "fake": { @@ -25,11 +26,12 @@ export default function() { }, } }`, - [join(genRoot, 'fake-schema.json')]: ` + [join(genRoot, 'fake-schema.json')]: ` { "$id": "FakeSchema", "title": "Fake Schema", "type": "object", + "required": ["a"], "properties": { "b": { "type": "string", @@ -59,47 +61,50 @@ export default function() { "type": "string", "description": "optB" } - }, - "required": [] + } }`, - [join(genRoot, 'fake.js')]: ` + [join(genRoot, 'fake.js')]: ` function def(options) { return (host, context) => { return host; }; } exports.default = def; - `}, - )) - .then(() => ng('generate', 'fake-schematics:fake', '--help')) - .then(({stdout}) => { - if (!/ng generate fake-schematics:fake \[options\]/.test(stdout)) { - throw new Error('Help signature is wrong (1).'); - } - if (!/opt-a[\s\S]*opt-b[\s\S]*opt-c/.test(stdout)) { - throw new Error('Help signature options are incorrect.'); - } - }) - // set up default collection. - .then(() => updateJsonFile('angular.json', json => { - json.cli = json.cli || {} as any; - json.cli.defaultCollection = 'fake-schematics'; - })) - .then(() => ng('generate', 'fake', '--help')) - // verify same output - .then(({stdout}) => { - if (!/ng generate fake \[options\]/.test(stdout)) { - throw new Error('Help signature is wrong (2).'); - } - if (!/opt-a[\s\S]*opt-b[\s\S]*opt-c/.test(stdout)) { - throw new Error('Help signature options are incorrect.'); - } - }) + `, + }), + ) + .then(() => ng('generate', 'fake-schematics:fake', '--help')) + .then(({ stdout }) => { + if (!/ng generate fake-schematics:fake \[b\]/.test(stdout)) { + throw new Error('Help signature is wrong (1).'); + } + if (!/opt-a[\s\S]*opt-b[\s\S]*opt-c/.test(stdout)) { + throw new Error('Help signature options are incorrect.'); + } + }) + // set up default collection. + .then(() => + updateJsonFile('angular.json', (json) => { + json.cli = json.cli || ({} as any); + json.cli.defaultCollection = 'fake-schematics'; + }), + ) + .then(() => ng('generate', 'fake', '--help')) + // verify same output + .then(({ stdout }) => { + if (!/ng generate fake \[b\]/.test(stdout)) { + throw new Error('Help signature is wrong (2).'); + } + if (!/opt-a[\s\S]*opt-b[\s\S]*opt-c/.test(stdout)) { + throw new Error('Help signature options are incorrect.'); + } + }) - // should print all the available schematics in a collection - // when a collection has more than 1 schematic - .then(() => writeMultipleFiles({ - [join(genRoot, 'collection.json')]: ` + // should print all the available schematics in a collection + // when a collection has more than 1 schematic + .then(() => + writeMultipleFiles({ + [join(genRoot, 'collection.json')]: ` { "schematics": { "fake": { @@ -114,13 +119,13 @@ export default function() { }, } }`, - })) - .then(() => ng('generate', '--help')) - .then(({stdout}) => { - if (!/Collection \"fake-schematics\" \(default\):[\s\S]*fake[\s\S]*fake-two/.test(stdout)) { - throw new Error( - `Help result is wrong, it didn't contain all the schematics.`); - } - }); - + }), + ) + .then(() => ng('generate', '--help')) + .then(({ stdout }) => { + if (!/fake[\s\S]*fake-two/.test(stdout)) { + throw new Error(`Help result is wrong, it didn't contain all the schematics.`); + } + }) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-full.ts b/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-full.ts index 27443966a96c..d25092d1b3da 100644 --- a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-full.ts +++ b/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-full.ts @@ -97,7 +97,7 @@ export default async function () { async function runTests(): Promise { // Check that the tests succeeds both with named project, unnamed (should test app), and prod. await ng('e2e'); - await ng('e2e', 'test-project', '--devServerTarget=test-project:serve:production'); + await ng('e2e', 'test-project', '--dev-server-target=test-project:serve:production'); // Validate that sourcemaps for the library exists. await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-partial.ts b/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-partial.ts index 4ca8f3fb3ad7..c3ecbab506cb 100644 --- a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-partial.ts +++ b/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-partial.ts @@ -97,7 +97,7 @@ export default async function () { async function runTests(): Promise { // Check that the tests succeeds both with named project, unnamed (should test app), and prod. await ng('e2e'); - await ng('e2e', 'test-project', '--devServerTarget=test-project:serve:production'); + await ng('e2e', 'test-project', '--dev-server-target=test-project:serve:production'); // Validate that sourcemaps for the library exists. await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ve.ts b/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ve.ts index 7341457faafa..05aa8cf54ae3 100644 --- a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ve.ts +++ b/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ve.ts @@ -105,7 +105,7 @@ export default async function () { async function runTests(): Promise { // Check that the tests succeeds both with named project, unnamed (should test app), and prod. await ng('e2e'); - await ng('e2e', 'test-project', '--devServerTarget=test-project:serve:production'); + await ng('e2e', 'test-project', '--dev-server-target=test-project:serve:production'); // Validate that sourcemaps for the library exists. await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts index 5f72c6dd7470..d029e6b138b6 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts @@ -29,7 +29,7 @@ export default async function () { }); await appendToFile('src/app/app.component.html', ''); - await ng('generate', 'appShell', '--project', 'test-project'); + await ng('generate', 'app-shell', '--project', 'test-project'); if (isSnapshotBuild) { await updateJsonFile('package.json', (packageJson) => { diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts index 4aa4d5a3cdbb..fb74452a5ae4 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts @@ -17,12 +17,12 @@ const baseHrefs = { de: '', }; -export default async function() { +export default async function () { // Setup i18n tests and config. await setupI18nConfig(); // Update angular.json - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; @@ -64,8 +64,8 @@ export default async function() { await ng( 'e2e', `--configuration=${lang}`, - '--devServerTarget=', - `--baseUrl=http://localhost:4200${baseHrefs[lang] || '/'}`, + '--dev-server-target=', + `--base-url=http://localhost:4200${baseHrefs[lang] || '/'}`, ); } finally { server.close(); @@ -73,7 +73,7 @@ export default async function() { } // Update angular.json - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appArchitect = workspaceJson.projects['test-project'].architect; appArchitect['build'].options.baseHref = '/test/'; @@ -94,8 +94,8 @@ export default async function() { await ng( 'e2e', `--configuration=${lang}`, - '--devServerTarget=', - `--baseUrl=http://localhost:4200/test${baseHrefs[lang] || '/'}`, + '--dev-server-target=', + `--base-url=http://localhost:4200/test${baseHrefs[lang] || '/'}`, ); } finally { server.close(); @@ -106,6 +106,9 @@ export default async function() { await ng('build', '--base-href', 'http://www.domain.com/', '--configuration=development'); for (const { lang, outputPath } of langTranslations) { // Verify the HTML base HREF attribute is present - await expectFileToMatch(`${outputPath}/index.html`, `href="http://www.domain.com${baseHrefs[lang] || '/'}"`); + await expectFileToMatch( + `${outputPath}/index.html`, + `href="http://www.domain.com${baseHrefs[lang] || '/'}"`, + ); } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts index 287f826ff457..00f276fbbe2b 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts @@ -41,8 +41,8 @@ export default async function () { await ng( 'e2e', `--configuration=${lang}`, - '--devServerTarget=', - `--baseUrl=http://localhost:4200/${lang}/`, + '--dev-server-target=', + `--base-url=http://localhost:4200/${lang}/`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts index 07a8b639a4aa..8e996d396e85 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts @@ -49,8 +49,8 @@ export default async function () { await ng( 'e2e', `--configuration=${lang}`, - '--devServerTarget=', - `--baseUrl=http://localhost:4200/${lang}/`, + '--dev-server-target=', + `--base-url=http://localhost:4200/${lang}/`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts index 3c0d8b59a39f..b1a9eaf307db 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts @@ -1,14 +1,20 @@ -import { expectFileToMatch, prependToFile, readFile, replaceInFile, writeFile } from '../../utils/fs'; +import { + expectFileToMatch, + prependToFile, + readFile, + replaceInFile, + writeFile, +} from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { externalServer, langTranslations, setupI18nConfig } from './setup'; -export default async function() { +export default async function () { // Setup i18n tests and config. await setupI18nConfig(); // Update angular.json to only localize one locale - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; appProject.architect['build'].options.localize = ['fr']; }); @@ -19,7 +25,7 @@ export default async function() { // Augment the locale data and import into the main application file const localeData = await readFile('node_modules/@angular/common/locales/global/fr.js'); await writeFile('src/fr-changed.js', localeData.replace('janvier', 'changed-janvier')); - await prependToFile('src/main.ts', 'import \'./fr-changed.js\';\n'); + await prependToFile('src/main.ts', "import './fr-changed.js';\n"); // Run a build and test await ng('build'); @@ -42,8 +48,8 @@ export default async function() { await ng( 'e2e', `--configuration=${lang}`, - '--devServerTarget=', - `--baseUrl=http://localhost:4200/${lang}/`, + '--dev-server-target=', + `--base-url=http://localhost:4200/${lang}/`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts index 5a930a9dd75e..82447344ad8e 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts @@ -116,7 +116,7 @@ export default async function () { const server = i18nApp(lang).listen(4200, 'localhost'); try { // Execute without a devserver. - await ng('e2e', `--configuration=${lang}`, '--devServerTarget='); + await ng('e2e', `--configuration=${lang}`, '--dev-server-target='); } finally { server.close(); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts index dfb32d768289..297e4225d179 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts @@ -180,7 +180,7 @@ export default async function () { ); // Execute without a devserver. - await ng('e2e', '--devServerTarget='); + await ng('e2e', '--dev-server-target='); } finally { server.close(); } diff --git a/tests/legacy-cli/e2e/tests/misc/browsers.ts b/tests/legacy-cli/e2e/tests/misc/browsers.ts index a33c9146e394..370490644396 100644 --- a/tests/legacy-cli/e2e/tests/misc/browsers.ts +++ b/tests/legacy-cli/e2e/tests/misc/browsers.ts @@ -47,8 +47,8 @@ export default async function () { await ng( 'e2e', 'test-project', - '--protractorConfig=e2e/protractor-saucelabs.conf.js', - '--devServerTarget=', + '--protractor-config=e2e/protractor-saucelabs.conf.js', + '--dev-server-target=', ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 1789210a534a..1692096638a4 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -38,7 +38,7 @@ export default async function () { await npm('install', '--global', 'npm@7.4.0'); // Ensure `ng add` shows npm warning - const { message: stderrAdd } = await expectToFail(() => ng('add')); + const { stderr: stderrAdd } = await ng('add', '@angular/localize'); if (!stderrAdd.includes(warningText)) { throw new Error('ng add expected to show npm version warning.'); } diff --git a/tests/legacy-cli/e2e/tests/misc/version.ts b/tests/legacy-cli/e2e/tests/misc/version.ts index c39c3167bf0b..4ad57adc9726 100644 --- a/tests/legacy-cli/e2e/tests/misc/version.ts +++ b/tests/legacy-cli/e2e/tests/misc/version.ts @@ -3,14 +3,6 @@ import { ng } from '../../utils/process'; export default async function () { const { stdout: commandOutput } = await ng('version'); - const { stdout: optionOutput } = await ng('--version'); - if (!optionOutput.includes('Angular CLI:')) { - throw new Error('version not displayed'); - } - - if (commandOutput !== optionOutput) { - throw new Error('version variants have differing output'); - } if (commandOutput.includes(process.versions.node + ' (Unsupported)')) { throw new Error('Node version should not show unsupported entry'); diff --git a/yarn.lock b/yarn.lock index a9d983a06299..597b61bbf691 100644 --- a/yarn.lock +++ b/yarn.lock @@ -178,7 +178,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" - uid "5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" dependencies: "@angular-devkit/build-angular" "14.0.0-next.3" @@ -2218,7 +2217,7 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== -"@types/yargs@^17.0.0": +"@types/yargs@^17.0.0", "@types/yargs@^17.0.8": version "17.0.9" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.9.tgz#f1f931a4e5ae2c0134dea10f501088636a50b46a" integrity sha512-Ci8+4/DOtkHRylcisKmVMtmVO5g7weUVCKcsu1sJvF1bn0wExTmbHmhFKj7AnEm0de800iovGhdSKzYnzbaHpg== @@ -9297,7 +9296,6 @@ sass@1.49.9, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -11158,6 +11156,19 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@17.3.1, yargs@^17.0.0, yargs@^17.2.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" @@ -11188,19 +11199,6 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.2.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 29c2b3a360417b585be2f0fca5d568534b521005 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Feb 2022 11:17:47 +0100 Subject: [PATCH 0158/1388] refactor(@angular/cli): introspect yargs to generate JSON Help With this change we update yargs help method to output help in JSON format which is needed to generate the documents that are used to generate AIO man pages. --- .../angular/cli/lib/cli/command-runner.ts | 31 +++- .../command-builder/command-module.ts | 13 +- .../utilities/command-builder/json-help.ts | 145 ++++++++++++++++++ scripts/json-help.ts | 93 +++++++++++ scripts/snapshots.ts | 23 +-- .../e2e/tests/commands/help/help-json.ts | 66 ++++++-- 6 files changed, 331 insertions(+), 40 deletions(-) create mode 100644 packages/angular/cli/utilities/command-builder/json-help.ts create mode 100644 scripts/json-help.ts diff --git a/packages/angular/cli/lib/cli/command-runner.ts b/packages/angular/cli/lib/cli/command-runner.ts index 11744fa7bc85..f92a0f179a62 100644 --- a/packages/angular/cli/lib/cli/command-runner.ts +++ b/packages/angular/cli/lib/cli/command-runner.ts @@ -27,7 +27,12 @@ import { TestCommandModule } from '../../commands/test/cli'; import { UpdateCommandModule } from '../../commands/update/cli'; import { VersionCommandModule } from '../../commands/version/cli'; import { colors } from '../../utilities/color'; -import { CommandContext, CommandModuleError } from '../../utilities/command-builder/command-module'; +import { + CommandContext, + CommandModuleError, + CommandScope, +} from '../../utilities/command-builder/command-module'; +import { jsonHelpUsage } from '../../utilities/command-builder/json-help'; import { AngularWorkspace } from '../../utilities/config'; const COMMANDS = [ @@ -63,8 +68,9 @@ export async function runCommand( $0, _: positional, help = false, + jsonHelp = false, ...rest - } = yargsParser(args, { boolean: ['help'], alias: { 'collection': 'c' } }); + } = yargsParser(args, { boolean: ['help', 'json-help'], alias: { 'collection': 'c' } }); const context: CommandContext = { workspace, @@ -82,13 +88,27 @@ export async function runCommand( let localYargs = yargs(args); for (const CommandModule of COMMANDS) { + if (!jsonHelp) { + // Skip scope validation when running with '--json-help' since it's easier to generate the output for all commands this way. + const scope = CommandModule.scope; + if ((scope === CommandScope.In && !workspace) || (scope === CommandScope.Out && workspace)) { + continue; + } + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any const commandModule = new CommandModule(context) as any; + const describe = jsonHelp ? commandModule.fullDescribe : commandModule.describe; localYargs = localYargs.command({ command: commandModule.command, aliases: commandModule.aliases, - describe: commandModule.describe, + describe: + // We cannot add custom fields in help, such as long command description which is used in AIO. + // Therefore, we get around this by adding a complex object as a string which we later parse when geneerating the help files. + describe !== undefined && typeof describe === 'object' + ? JSON.stringify(describe) + : describe, deprecated: commandModule.deprecated, builder: (x) => commandModule.builder(x), handler: ({ _, $0, ...options }) => { @@ -103,6 +123,11 @@ export async function runCommand( }); } + if (jsonHelp) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (localYargs as any).getInternalMethods().getUsageInstance().help = () => jsonHelpUsage(); + } + await localYargs .scriptName('ng') // https://github.com/yargs/yargs/blob/main/docs/advanced.md#customizing-yargs-parser diff --git a/packages/angular/cli/utilities/command-builder/command-module.ts b/packages/angular/cli/utilities/command-builder/command-module.ts index 5e7332542e29..fef0e34d1882 100644 --- a/packages/angular/cli/utilities/command-builder/command-module.ts +++ b/packages/angular/cli/utilities/command-builder/command-module.ts @@ -62,6 +62,7 @@ export interface CommandModuleImplementation export interface FullDescribe { describe?: string; longDescription?: string; + longDescriptionRelativePath?: string; } export abstract class CommandModule implements CommandModuleImplementation { @@ -86,9 +87,15 @@ export abstract class CommandModule implements CommandModuleI ? false : { describe: this.describe, - longDescription: this.longDescriptionPath - ? readFileSync(this.longDescriptionPath, 'utf8') - : undefined, + ...(this.longDescriptionPath + ? { + longDescriptionRelativePath: path.relative( + path.join(__dirname, '../../../../'), + this.longDescriptionPath, + ), + longDescription: readFileSync(this.longDescriptionPath, 'utf8'), + } + : {}), }; } diff --git a/packages/angular/cli/utilities/command-builder/json-help.ts b/packages/angular/cli/utilities/command-builder/json-help.ts new file mode 100644 index 000000000000..c943194da495 --- /dev/null +++ b/packages/angular/cli/utilities/command-builder/json-help.ts @@ -0,0 +1,145 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import yargs from 'yargs'; +import { FullDescribe } from './command-module'; + +export interface JsonHelp { + name: string; + description?: string; + command: string; + longDescription?: string; + longDescriptionRelativePath?: string; + options: JsonHelpOption[]; + subcommands?: { + name: string; + description: string; + aliases: string[]; + deprecated: string | boolean; + }[]; +} + +interface JsonHelpOption { + name: string; + type?: string; + deprecated: boolean | string; + aliases?: string[]; + default?: string; + required?: boolean; + positional?: number; + enum?: string[]; + description?: string; +} + +export function jsonHelpUsage(): string { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const localYargs = yargs as any; + const { + deprecatedOptions, + alias: aliases, + array, + string, + boolean, + number, + choices, + demandedOptions, + default: defaultVal, + hiddenOptions = [], + } = localYargs.getOptions(); + + const internalMethods = localYargs.getInternalMethods(); + const usageInstance = internalMethods.getUsageInstance(); + const context = internalMethods.getContext(); + const descriptions = usageInstance.getDescriptions(); + const groups = localYargs.getGroups(); + const positional = groups[usageInstance.getPositionalGroupName()] as string[] | undefined; + + const hidden = new Set(hiddenOptions); + const normalizeOptions: JsonHelpOption[] = []; + const allAliases = new Set([...Object.values(aliases).flat()]); + + for (const [names, type] of [ + [array, 'array'], + [string, 'string'], + [boolean, 'boolean'], + [number, 'number'], + ]) { + for (const name of names) { + if (allAliases.has(name) || hidden.has(name)) { + // Ignore hidden, aliases and already visited option. + continue; + } + + const positionalIndex = positional?.indexOf(name) ?? -1; + const alias = aliases[name]; + + normalizeOptions.push({ + name, + type, + deprecated: deprecatedOptions[name], + aliases: alias?.length > 0 ? alias : undefined, + default: defaultVal[name], + required: demandedOptions[name], + enum: choices[name], + description: descriptions[name]?.replace('__yargsString__:', ''), + positional: positionalIndex >= 0 ? positionalIndex : undefined, + }); + } + } + + // https://github.com/yargs/yargs/blob/00e4ebbe3acd438e73fdb101e75b4f879eb6d345/lib/usage.ts#L124 + const subcommands = ( + usageInstance.getCommands() as [ + name: string, + description: string, + isDefault: boolean, + aliases: string[], + deprecated: string | boolean, + ][] + ) + .map(([name, description, _, aliases, deprecated]) => ({ + name: name.split(' ', 1)[0], + command: name, + description, + aliases, + deprecated, + })) + .sort((a, b) => a.name.localeCompare(b.name)); + + const parseDescription = (rawDescription: string) => { + try { + const { + longDescription, + describe: description, + longDescriptionRelativePath, + } = JSON.parse(rawDescription) as FullDescribe; + + return { + description, + longDescriptionRelativePath, + longDescription, + }; + } catch { + return { + description: rawDescription, + }; + } + }; + + const [command, rawDescription] = usageInstance.getUsage()[0] ?? []; + + const output: JsonHelp = { + name: [...context.commands].pop(), + command: command?.replace('$0', localYargs['$0']), + ...parseDescription(rawDescription), + options: normalizeOptions.sort((a, b) => a.name.localeCompare(b.name)), + subcommands: subcommands.length ? subcommands : undefined, + }; + + return JSON.stringify(output, undefined, 2); +} diff --git a/scripts/json-help.ts b/scripts/json-help.ts new file mode 100644 index 000000000000..1cab27bf727d --- /dev/null +++ b/scripts/json-help.ts @@ -0,0 +1,93 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { spawn } from 'child_process'; +import { promises as fs } from 'fs'; +import * as os from 'os'; +import { JsonHelp } from 'packages/angular/cli/utilities/command-builder/json-help'; +import * as path from 'path'; +import { packages } from '../lib/packages'; +import create from './create'; + +export default async function (opts = {}, logger: logging.Logger) { + logger.info('Creating temporary project...'); + const newProjectTempRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-create-')); + const newProjectName = 'help-project'; + const newProjectRoot = path.join(newProjectTempRoot, newProjectName); + await create({ _: [newProjectName] }, logger.createChild('create'), newProjectTempRoot); + + logger.info('Gathering JSON Help...'); + const ngPath = path.join(newProjectRoot, 'node_modules/.bin/ng'); + const helpOutputRoot = path.join(packages['@angular/cli'].dist, 'help'); + await fs.mkdir(helpOutputRoot); + + const runNgCommandJsonHelp = async (args: string[]) => { + const process = spawn(ngPath, [...args, '--json-help', '--help'], { + cwd: newProjectRoot, + stdio: ['ignore', 'pipe', 'inherit'], + }); + + let result = ''; + process.stdout.on('data', (data) => { + result += data.toString(); + }); + + return new Promise((resolve, reject) => { + process + .on('close', (code) => { + if (code === 0) { + resolve(JSON.parse(result.trim())); + } else { + reject( + new Error( + `Command failed: ${ngPath} ${args.map((x) => JSON.stringify(x)).join(', ')}`, + ), + ); + } + }) + .on('error', (err) => reject(err)); + }); + }; + + const { subcommands: commands = [] } = await runNgCommandJsonHelp([]); + const commandsHelp = commands.map((command) => + runNgCommandJsonHelp([command.name]).then((c) => ({ + ...command, + ...c, + })), + ); + + for await (const command of commandsHelp) { + const commandName = command.name; + const commandOptionNames = new Set([...command.options.map(({ name }) => name)]); + + const subCommandsHelp = command.subcommands?.map((subcommand) => + runNgCommandJsonHelp([command.name, subcommand.name]).then((s) => ({ + ...s, + ...subcommand, + // Filter options which are inherited from the parent command. + // Ex: `interactive` in `ng generate lib`. + options: s.options.filter((o) => !commandOptionNames.has(o.name)), + })), + ); + + const jsonOutput = JSON.stringify( + { + ...command, + subcommands: subCommandsHelp ? await Promise.all(subCommandsHelp) : undefined, + }, + undefined, + 2, + ); + + const filePath = path.join(helpOutputRoot, commandName + '.json'); + await fs.writeFile(filePath, jsonOutput); + logger.info(filePath); + } +} diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index c1de7a60956c..9289837ee8ac 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -13,7 +13,7 @@ import * as os from 'os'; import * as path from 'path'; import { PackageInfo, packages } from '../lib/packages'; import build from './build-bazel'; -import create from './create'; +import jsonHelp from './json-help'; // Added to the README.md of the snapshot. This is markdown. const readmeHeaderFn = (pkg: PackageInfo) => ` @@ -164,31 +164,12 @@ export default async function (opts: SnapshotsOptions, logger: logging.Logger) { _exec('git', ['config', '--global', 'push.default', 'simple'], {}, logger); } - // Creating a new project and reading the help. - logger.info('Creating temporary project...'); - const newProjectTempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'angular-cli-create-')); - const newProjectName = 'help-project'; - const newProjectRoot = path.join(newProjectTempRoot, newProjectName); - await create({ _: [newProjectName] }, logger.createChild('create'), newProjectTempRoot); + await jsonHelp(undefined, logger); // Run build. logger.info('Building...'); await build({ snapshot: true }, logger.createChild('build')); - logger.info('Gathering JSON Help...'); - const ngPath = path.join(newProjectRoot, 'node_modules/.bin/ng'); - const helpOutputRoot = path.join(packages['@angular/cli'].dist, 'help'); - fs.mkdirSync(helpOutputRoot); - const commands = require('../packages/angular/cli/commands.json'); - for (const commandName of Object.keys(commands)) { - const options = { cwd: newProjectRoot }; - const childLogger = logger.createChild(commandName); - const stdout = _exec(ngPath, [commandName, '--help=json'], options, childLogger); - // Make sure the output is JSON before printing it, and format it as well. - const jsonOutput = JSON.stringify(JSON.parse(stdout.trim()), undefined, 2); - fs.writeFileSync(path.join(helpOutputRoot, commandName + '.json'), jsonOutput); - } - if (!githubToken) { logger.info('No token given, skipping actual publishing...'); diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 898adfbe5bc6..9c54564fa850 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -1,19 +1,59 @@ import { silentNg } from '../../../utils/process'; +export default async function () { + // This test is use as a sanity check. + const addHelpOutputSnapshot = JSON.stringify({ + name: 'analytics', + command: 'ng analytics ', + description: + 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering.', + longDescriptionRelativePath: '@angular/cli/src/commands/analytics/long-description.md', + longDescription: + 'The value of `setting-or-project` is one of the following.\n\n- `on`: Enables analytics gathering and reporting for the user.\n- `off`: Disables analytics gathering and reporting for the user.\n- `ci`: Enables analytics and configures reporting for use with Continuous Integration,\n which uses a common CI user.\n- `prompt`: Prompts the user to set the status interactively.\n- `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`.\n', + options: [ + { + name: 'help', + type: 'boolean', + description: 'Shows a help message for this command in the console.', + }, + { + name: 'project-setting', + type: 'string', + enum: ['on', 'off', 'prompt'], + description: 'Sets the default analytics enablement status for the project.', + positional: 1, + }, + { + name: 'setting-or-project', + type: 'string', + enum: ['on', 'off', 'ci', 'prompt'], + description: + 'Directly enables or disables all usage analytics for the user, or prompts the user to set the status interactively, or sets the default status for the project.', + positional: 0, + }, + ], + }); -export default async function() { - const commands = require('@angular/cli/commands.json'); - for (const commandName of Object.keys(commands)) { - const { stdout } = await silentNg(commandName, '--help=json'); + const { stdout } = await silentNg('analytics', '--help', '--json-help'); + const output = JSON.stringify(JSON.parse(stdout.trim())); - if (stdout.trim()) { - JSON.parse(stdout, (key, value) => { - if (key === 'name' && /[A-Z]/.test(value)) { - throw new Error(`Option named '${value}' is not kebab case.`); - } - }); - } else { - console.warn(`No JSON output for command [${commandName}].`); - } + if (output !== addHelpOutputSnapshot) { + throw new Error( + `ng analytics JSON help output didn\'t match snapshot.\n\nExpected "${output}" to be "${addHelpOutputSnapshot}".`, + ); + } + + const { stdout: stdout2 } = await silentNg('--help', '--json-help'); + try { + JSON.parse(stdout2.trim()); + } catch (error) { + throw new Error(`'ng --help ---json-help' failed to return JSON.\n${error.message}`); + } + + const { stdout: stdout3 } = await silentNg('generate', '--help', '--json-help'); + try { + JSON.parse(stdout3.trim()); + } catch (error) { + throw new Error(`'ng generate --help ---json-help' failed to return JSON.\n${error.message}`); } } From 78683db870814ffe57240c710e43866c172f9d80 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Feb 2022 11:18:50 +0100 Subject: [PATCH 0159/1388] build: update UA validation script With this change we update the UA usage script to read schemas directly insteads of relying on JSON help. --- scripts/validate-user-analytics.ts | 85 ++++++++++-------------------- 1 file changed, 28 insertions(+), 57 deletions(-) diff --git a/scripts/validate-user-analytics.ts b/scripts/validate-user-analytics.ts index 754a1a3b13c8..ced9ab28460e 100644 --- a/scripts/validate-user-analytics.ts +++ b/scripts/validate-user-analytics.ts @@ -6,41 +6,22 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging, tags } from '@angular-devkit/core'; -import { spawnSync } from 'child_process'; +import { analytics, logging, schema, strings, tags } from '@angular-devkit/core'; import * as fs from 'fs'; -import * as os from 'os'; +import { glob as globCb } from 'glob'; import * as path from 'path'; -import { CommandDescriptionMap, Option } from '../packages/angular/cli/models/interface'; -import create from './create'; +import { promisify } from 'util'; +import { packages } from '../lib/packages'; const userAnalyticsTable = require('./templates/user-analytics-table').default; const dimensionsTableRe = /([\s\S]*)/m; const metricsTableRe = /([\s\S]*)/m; -/** - * Execute a command. - * @private - */ -function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { - const { status, error, stdout } = spawnSync(command, args, { - stdio: ['ignore', 'pipe', 'inherit'], - ...opts, - }); - - if (status != 0) { - logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`); - throw error; - } - - return stdout.toString('utf-8'); -} - async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) { const data: { userAnalytics: number; type: string; name: string }[] = new Array(200); - function _updateData(userAnalytics: number, name: string, type: string) { + function updateData(userAnalytics: number, name: string, type: string) { if (data[userAnalytics]) { if (data[userAnalytics].name !== name) { logger.error(tags.stripIndents` @@ -77,47 +58,37 @@ async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) `Invalid value found in enum AnalyticsDimensions: ${JSON.stringify(userAnalytics)}`, ); } - _updateData(userAnalytics, flagName, type); + updateData(userAnalytics, flagName, type); } - // Creating a new project and reading the help. - logger.info('Creating temporary project for gathering help...'); - - const newProjectTempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'angular-cli-create-')); - const newProjectName = 'help-project'; - const newProjectRoot = path.join(newProjectTempRoot, newProjectName); - await create({ _: [newProjectName] }, logger.createChild('create'), newProjectTempRoot); + logger.info('Gathering options for user-analytics...'); - const commandDescription: CommandDescriptionMap = {}; + const userAnalyticsGatherer = (obj: Object) => { + for (const [key, value] of Object.entries(obj)) { + if (value && typeof value === 'object') { + if ('x-user-analytics' in value) { + const type = + [...schema.getTypesOfSchema(value)].find((type) => type !== 'object') ?? 'string'; - logger.info('Gathering options...'); - - const commands = require('../packages/angular/cli/commands.json'); - const ngPath = path.join(newProjectRoot, 'node_modules/.bin/ng'); - for (const commandName of Object.keys(commands)) { - const options = { cwd: newProjectRoot }; - const childLogger = logger.createChild(commandName); - const stdout = _exec(ngPath, [commandName, '--help=json'], options, childLogger); - commandDescription[commandName] = JSON.parse(stdout.trim()); - } - - function _checkOptionsForAnalytics(options: Option[]) { - for (const option of options) { - if (option.subcommands) { - for (const subcommand of Object.values(option.subcommands)) { - _checkOptionsForAnalytics(subcommand.options); + updateData(value['x-user-analytics'], 'Flag: --' + strings.dasherize(key), type); + } else { + userAnalyticsGatherer(value); } } - - if (option.userAnalytics === undefined) { - continue; - } - _updateData(option.userAnalytics, 'Flag: --' + option.name, option.type); } - } + }; + + const glob = promisify(globCb); - for (const commandName of Object.keys(commandDescription)) { - _checkOptionsForAnalytics(commandDescription[commandName].options); + // Find all the schemas + const packagesPaths = Object.values(packages).map(({ root }) => root); + for (const packagePath of packagesPaths) { + const schemasPaths = await glob('**/schema.json', { cwd: packagePath }); + + for (const schemaPath of schemasPaths) { + const schema = await fs.promises.readFile(path.join(packagePath, schemaPath), 'utf8'); + userAnalyticsGatherer(JSON.parse(schema)); + } } const generatedTable = userAnalyticsTable({ flags: data }).trim(); From 10cce2c86e2f4ead5ead36d79f06f3478b069b6c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 1 Mar 2022 15:28:31 +0100 Subject: [PATCH 0160/1388] refactor(@angular/cli): re-organize the Angular CLI package folder structure --- .../cli/bin/postinstall/analytics-prompt.js | 2 +- packages/angular/cli/lib/cli/index.ts | 14 ++-- packages/angular/cli/lib/init.ts | 6 +- packages/angular/cli/models/command.ts | 4 +- packages/angular/cli/models/interface.ts | 2 +- .../angular/cli/models/schematic-command.ts | 12 +-- .../analytics}/analytics-collector.ts | 0 .../{models => src/analytics}/analytics.ts | 0 .../architect-command-module.ts | 68 +---------------- .../command-builder/command-module.ts | 6 +- .../command-builder}/command-runner.ts | 46 ++++++------ .../schematics-command-module.ts | 4 +- .../command-builder/utilities/architect.ts | 73 +++++++++++++++++++ .../command-builder/utilities}/json-help.ts | 2 +- .../command-builder/utilities}/json-schema.ts | 0 .../cli/{ => src}/commands/add/add-impl.ts | 8 +- .../angular/cli/{ => src}/commands/add/cli.ts | 4 +- .../commands/add/long-description.md | 0 .../cli/{ => src}/commands/analytics/cli.ts | 6 +- .../commands/analytics/long-description.md | 0 .../cli/{ => src}/commands/build/cli.ts | 4 +- .../commands/build/long-description.md | 0 .../cli/{ => src}/commands/config/cli.ts | 2 +- .../{ => src}/commands/config/config-impl.ts | 4 +- .../commands/config/long-description.md | 2 - .../cli/{ => src}/commands/deploy/cli.ts | 4 +- .../commands/deploy/long-description.md | 0 .../angular/cli/{ => src}/commands/doc/cli.ts | 2 +- .../angular/cli/{ => src}/commands/e2e/cli.ts | 4 +- .../{ => src}/commands/extract-i18n/cli.ts | 4 +- .../cli/{ => src}/commands/generate/cli.ts | 6 +- .../commands/generate/generate-impl.ts | 4 +- .../cli/{ => src}/commands/lint/cli.ts | 4 +- .../commands/lint/long-description.md | 0 .../commands/make-this-awesome/cli.ts | 5 +- .../angular/cli/{ => src}/commands/new/cli.ts | 4 +- .../cli/{ => src}/commands/new/new-impl.ts | 4 +- .../angular/cli/{ => src}/commands/run/cli.ts | 6 +- .../commands/run/long-description.md | 0 .../cli/{ => src}/commands/serve/cli.ts | 4 +- .../cli/{ => src}/commands/test/cli.ts | 4 +- .../commands/test/long-description.md | 0 .../cli/{ => src}/commands/update/cli.ts | 2 +- .../commands/update/long-description.md | 0 .../src/commands/update/schematic/index.ts | 7 +- .../{ => src}/commands/update/update-impl.ts | 13 ++-- .../cli/{ => src}/commands/version/cli.ts | 10 +-- packages/angular/cli/src/typings.ts | 6 +- .../angular/cli/{ => src}/utilities/color.ts | 0 .../angular/cli/{ => src}/utilities/config.ts | 12 +-- .../cli/{ => src}/utilities/find-up.ts | 0 .../{ => src}/utilities/install-package.ts | 4 +- .../cli/{ => src}/utilities/json-file.ts | 0 .../cli/{ => src}/utilities/log-file.ts | 0 .../cli/{ => src}/utilities/package-json.ts | 0 .../{ => src}/utilities/package-manager.ts | 2 +- .../{ => src}/utilities/package-metadata.ts | 0 .../cli/{ => src}/utilities/package-tree.ts | 0 .../cli/{ => src}/utilities/project.ts | 0 .../angular/cli/{ => src}/utilities/prompt.ts | 0 .../cli/{ => src}/utilities/spinner.ts | 0 .../angular/cli/{ => src}/utilities/tty.ts | 0 .../cli/{ => src}/utilities/version.ts | 4 +- scripts/json-help.ts | 2 +- 64 files changed, 187 insertions(+), 199 deletions(-) rename packages/angular/cli/{models => src/analytics}/analytics-collector.ts (100%) rename packages/angular/cli/{models => src/analytics}/analytics.ts (100%) rename packages/angular/cli/{utilities => src}/command-builder/architect-command-module.ts (79%) rename packages/angular/cli/{utilities => src}/command-builder/command-module.ts (97%) rename packages/angular/cli/{lib/cli => src/command-builder}/command-runner.ts (77%) rename packages/angular/cli/{utilities => src}/command-builder/schematics-command-module.ts (97%) create mode 100644 packages/angular/cli/src/command-builder/utilities/architect.ts rename packages/angular/cli/{utilities/command-builder => src/command-builder/utilities}/json-help.ts (98%) rename packages/angular/cli/{utilities/command-builder => src/command-builder/utilities}/json-schema.ts (100%) rename packages/angular/cli/{ => src}/commands/add/add-impl.ts (97%) rename packages/angular/cli/{ => src}/commands/add/cli.ts (94%) rename packages/angular/cli/{ => src}/commands/add/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/analytics/cli.ts (93%) rename packages/angular/cli/{ => src}/commands/analytics/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/build/cli.ts (75%) rename packages/angular/cli/{ => src}/commands/build/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/config/cli.ts (96%) rename packages/angular/cli/{ => src}/commands/config/config-impl.ts (97%) rename packages/angular/cli/{ => src}/commands/config/long-description.md (82%) rename packages/angular/cli/{ => src}/commands/deploy/cli.ts (83%) rename packages/angular/cli/{ => src}/commands/deploy/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/doc/cli.ts (97%) rename packages/angular/cli/{ => src}/commands/e2e/cli.ts (83%) rename packages/angular/cli/{ => src}/commands/extract-i18n/cli.ts (71%) rename packages/angular/cli/{ => src}/commands/generate/cli.ts (96%) rename packages/angular/cli/{ => src}/commands/generate/generate-impl.ts (93%) rename packages/angular/cli/{ => src}/commands/lint/cli.ts (81%) rename packages/angular/cli/{ => src}/commands/lint/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/make-this-awesome/cli.ts (90%) rename packages/angular/cli/{ => src}/commands/new/cli.ts (91%) rename packages/angular/cli/{ => src}/commands/new/new-impl.ts (88%) rename packages/angular/cli/{ => src}/commands/run/cli.ts (93%) rename packages/angular/cli/{ => src}/commands/run/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/serve/cli.ts (72%) rename packages/angular/cli/{ => src}/commands/test/cli.ts (73%) rename packages/angular/cli/{ => src}/commands/test/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/update/cli.ts (98%) rename packages/angular/cli/{ => src}/commands/update/long-description.md (100%) rename packages/angular/cli/{ => src}/commands/update/update-impl.ts (98%) rename packages/angular/cli/{ => src}/commands/version/cli.ts (95%) rename packages/angular/cli/{ => src}/utilities/color.ts (100%) rename packages/angular/cli/{ => src}/utilities/config.ts (97%) rename packages/angular/cli/{ => src}/utilities/find-up.ts (100%) rename packages/angular/cli/{ => src}/utilities/install-package.ts (98%) rename packages/angular/cli/{ => src}/utilities/json-file.ts (100%) rename packages/angular/cli/{ => src}/utilities/log-file.ts (100%) rename packages/angular/cli/{ => src}/utilities/package-json.ts (100%) rename packages/angular/cli/{ => src}/utilities/package-manager.ts (97%) rename packages/angular/cli/{ => src}/utilities/package-metadata.ts (100%) rename packages/angular/cli/{ => src}/utilities/package-tree.ts (100%) rename packages/angular/cli/{ => src}/utilities/project.ts (100%) rename packages/angular/cli/{ => src}/utilities/prompt.ts (100%) rename packages/angular/cli/{ => src}/utilities/spinner.ts (100%) rename packages/angular/cli/{ => src}/utilities/tty.ts (100%) rename packages/angular/cli/{ => src}/utilities/version.ts (88%) diff --git a/packages/angular/cli/bin/postinstall/analytics-prompt.js b/packages/angular/cli/bin/postinstall/analytics-prompt.js index d9e0b4873878..2635b8483cb9 100644 --- a/packages/angular/cli/bin/postinstall/analytics-prompt.js +++ b/packages/angular/cli/bin/postinstall/analytics-prompt.js @@ -14,7 +14,7 @@ if ('NG_CLI_ANALYTICS' in process.env) { } try { - var analytics = require('../../models/analytics'); + var analytics = require('../../src/analytics/analytics'); analytics .hasGlobalAnalyticsConfiguration() diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index 3070ea229f89..e1d43055d8e6 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -9,14 +9,14 @@ import { schema } from '@angular-devkit/core'; import { createConsoleLogger } from '@angular-devkit/core/node'; import { format } from 'util'; -import { colors, removeColor } from '../../utilities/color'; -import { CommandModuleError } from '../../utilities/command-builder/command-module'; -import { AngularWorkspace, getWorkspaceRaw } from '../../utilities/config'; -import { writeErrorToLogFile } from '../../utilities/log-file'; -import { findWorkspaceFile } from '../../utilities/project'; -import { runCommand } from './command-runner'; +import { CommandModuleError } from '../../src/command-builder/command-module'; +import { runCommand } from '../../src/command-builder/command-runner'; +import { colors, removeColor } from '../../src/utilities/color'; +import { AngularWorkspace, getWorkspaceRaw } from '../../src/utilities/config'; +import { writeErrorToLogFile } from '../../src/utilities/log-file'; +import { findWorkspaceFile } from '../../src/utilities/project'; -export { VERSION } from '../../utilities/version'; +export { VERSION } from '../../src/utilities/version'; const debugEnv = process.env['NG_DEBUG']; const isDebug = debugEnv !== undefined && debugEnv !== '0' && debugEnv.toLowerCase() !== 'false'; diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 5e6045a81229..5e0d5aaeb8b3 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -11,9 +11,9 @@ import 'symbol-observable'; import { promises as fs } from 'fs'; import * as path from 'path'; import { SemVer } from 'semver'; -import { colors } from '../utilities/color'; -import { isWarningEnabled } from '../utilities/config'; -import { VERSION } from '../utilities/version'; +import { colors } from '../src/utilities/color'; +import { isWarningEnabled } from '../src/utilities/config'; +import { VERSION } from '../src/utilities/version'; (async () => { /** diff --git a/packages/angular/cli/models/command.ts b/packages/angular/cli/models/command.ts index d1d58013239c..1e78c1348c40 100644 --- a/packages/angular/cli/models/command.ts +++ b/packages/angular/cli/models/command.ts @@ -7,8 +7,8 @@ */ import { analytics, logging } from '@angular-devkit/core'; -import { Option } from '../utilities/command-builder/json-schema'; -import { AngularWorkspace } from '../utilities/config'; +import { Option } from '../src/command-builder/utilities/json-schema'; +import { AngularWorkspace } from '../src/utilities/config'; import { CommandContext } from './interface'; export interface BaseCommandOptions { diff --git a/packages/angular/cli/models/interface.ts b/packages/angular/cli/models/interface.ts index 652f1279df60..e4135dab4823 100644 --- a/packages/angular/cli/models/interface.ts +++ b/packages/angular/cli/models/interface.ts @@ -7,7 +7,7 @@ */ import { analytics, logging } from '@angular-devkit/core'; -import { AngularWorkspace } from '../utilities/config'; +import { AngularWorkspace } from '../src/utilities/config'; /** * A command runner context. diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts index 8e8da4a49ce6..6c0ddc0a414b 100644 --- a/packages/angular/cli/models/schematic-command.ts +++ b/packages/angular/cli/models/schematic-command.ts @@ -16,12 +16,12 @@ import { } from '@angular-devkit/schematics/tools'; import * as inquirer from 'inquirer'; import * as systemPath from 'path'; -import { colors } from '../utilities/color'; -import { parseJsonSchemaToOptions } from '../utilities/command-builder/json-schema'; -import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../utilities/config'; -import { ensureCompatibleNpm, getPackageManager } from '../utilities/package-manager'; -import { isTTY } from '../utilities/tty'; -import { isPackageNameSafeForAnalytics } from './analytics'; +import { isPackageNameSafeForAnalytics } from '../src/analytics/analytics'; +import { parseJsonSchemaToOptions } from '../src/command-builder/utilities/json-schema'; +import { colors } from '../src/utilities/color'; +import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../src/utilities/config'; +import { ensureCompatibleNpm, getPackageManager } from '../src/utilities/package-manager'; +import { isTTY } from '../src/utilities/tty'; import { BaseCommandOptions, Command } from './command'; import { CommandContext } from './interface'; import { SchematicEngineHost } from './schematic-engine-host'; diff --git a/packages/angular/cli/models/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts similarity index 100% rename from packages/angular/cli/models/analytics-collector.ts rename to packages/angular/cli/src/analytics/analytics-collector.ts diff --git a/packages/angular/cli/models/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts similarity index 100% rename from packages/angular/cli/models/analytics.ts rename to packages/angular/cli/src/analytics/analytics.ts diff --git a/packages/angular/cli/utilities/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts similarity index 79% rename from packages/angular/cli/utilities/command-builder/architect-command-module.ts rename to packages/angular/cli/src/command-builder/architect-command-module.ts index 744618faaf83..4ad170a95ac3 100644 --- a/packages/angular/cli/utilities/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -9,13 +9,9 @@ import { Architect, Target } from '@angular-devkit/architect'; import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; import { json } from '@angular-devkit/core'; -import { existsSync } from 'fs'; -import { resolve } from 'path'; import { Argv } from 'yargs'; -import { isPackageNameSafeForAnalytics } from '../../models/analytics'; -import { getPackageManager } from '../package-manager'; +import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; import { - CommandContext, CommandModule, CommandModuleError, CommandModuleImplementation, @@ -23,7 +19,7 @@ import { Options, OtherOptions, } from './command-module'; -import { Option, parseJsonSchemaToOptions } from './json-schema'; +import { getArchitectTargetOptions } from './utilities/architect'; export interface ArchitectCommandArgs { configuration?: string; @@ -234,63 +230,3 @@ export abstract class ArchitectCommandModule )); } } - -/** - * Get architect target schema options. - */ -export async function getArchitectTargetOptions( - context: CommandContext, - target: Target, -): Promise { - const { workspace } = context; - if (!workspace) { - return []; - } - - const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); - const builderConf = await architectHost.getBuilderNameForTarget(target); - - let builderDesc; - try { - builderDesc = await architectHost.resolveBuilder(builderConf); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - await warnOnMissingNodeModules(context); - throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); - } - - throw e; - } - - return parseJsonSchemaToOptions( - new json.schema.CoreSchemaRegistry(), - builderDesc.optionSchema as json.JsonObject, - true, - ); -} - -export async function warnOnMissingNodeModules(context: CommandContext): Promise { - const basePath = context.workspace?.basePath; - if (!basePath) { - return; - } - - // Check for a `node_modules` directory (npm, yarn non-PnP, etc.) - if (existsSync(resolve(basePath, 'node_modules'))) { - return; - } - - // Check for yarn PnP files - if ( - existsSync(resolve(basePath, '.pnp.js')) || - existsSync(resolve(basePath, '.pnp.cjs')) || - existsSync(resolve(basePath, '.pnp.mjs')) - ) { - return; - } - - const packageManager = await getPackageManager(basePath); - context.logger.warn( - `Node packages may not be installed. Try installing with '${packageManager} install'.`, - ); -} diff --git a/packages/angular/cli/utilities/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts similarity index 97% rename from packages/angular/cli/utilities/command-builder/command-module.ts rename to packages/angular/cli/src/command-builder/command-module.ts index fef0e34d1882..b5412a42ce46 100644 --- a/packages/angular/cli/utilities/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -16,9 +16,9 @@ import { CommandModule as YargsCommandModule, Options as YargsOptions, } from 'yargs'; -import { createAnalytics } from '../../models/analytics'; -import { AngularWorkspace } from '../config'; -import { Option } from './json-schema'; +import { createAnalytics } from '../analytics/analytics'; +import { AngularWorkspace } from '../utilities/config'; +import { Option } from './utilities/json-schema'; export type Options = { [key in keyof T as CamelCaseKey]: T[key] }; diff --git a/packages/angular/cli/lib/cli/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts similarity index 77% rename from packages/angular/cli/lib/cli/command-runner.ts rename to packages/angular/cli/src/command-builder/command-runner.ts index f92a0f179a62..5cfcbacbba1d 100644 --- a/packages/angular/cli/lib/cli/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -9,31 +9,27 @@ import { logging } from '@angular-devkit/core'; import yargs from 'yargs'; import { Parser } from 'yargs/helpers'; -import { AddCommandModule } from '../../commands/add/cli'; -import { AnalyticsCommandModule } from '../../commands/analytics/cli'; -import { BuildCommandModule } from '../../commands/build/cli'; -import { ConfigCommandModule } from '../../commands/config/cli'; -import { DeployCommandModule } from '../../commands/deploy/cli'; -import { DocCommandModule } from '../../commands/doc/cli'; -import { E2eCommandModule } from '../../commands/e2e/cli'; -import { ExtractI18nCommandModule } from '../../commands/extract-i18n/cli'; -import { GenerateCommandModule } from '../../commands/generate/cli'; -import { LintCommandModule } from '../../commands/lint/cli'; -import { AwesomeCommandModule } from '../../commands/make-this-awesome/cli'; -import { NewCommandModule } from '../../commands/new/cli'; -import { RunCommandModule } from '../../commands/run/cli'; -import { ServeCommandModule } from '../../commands/serve/cli'; -import { TestCommandModule } from '../../commands/test/cli'; -import { UpdateCommandModule } from '../../commands/update/cli'; -import { VersionCommandModule } from '../../commands/version/cli'; -import { colors } from '../../utilities/color'; -import { - CommandContext, - CommandModuleError, - CommandScope, -} from '../../utilities/command-builder/command-module'; -import { jsonHelpUsage } from '../../utilities/command-builder/json-help'; -import { AngularWorkspace } from '../../utilities/config'; +import { AddCommandModule } from '../commands/add/cli'; +import { AnalyticsCommandModule } from '../commands/analytics/cli'; +import { BuildCommandModule } from '../commands/build/cli'; +import { ConfigCommandModule } from '../commands/config/cli'; +import { DeployCommandModule } from '../commands/deploy/cli'; +import { DocCommandModule } from '../commands/doc/cli'; +import { E2eCommandModule } from '../commands/e2e/cli'; +import { ExtractI18nCommandModule } from '../commands/extract-i18n/cli'; +import { GenerateCommandModule } from '../commands/generate/cli'; +import { LintCommandModule } from '../commands/lint/cli'; +import { AwesomeCommandModule } from '../commands/make-this-awesome/cli'; +import { NewCommandModule } from '../commands/new/cli'; +import { RunCommandModule } from '../commands/run/cli'; +import { ServeCommandModule } from '../commands/serve/cli'; +import { TestCommandModule } from '../commands/test/cli'; +import { UpdateCommandModule } from '../commands/update/cli'; +import { VersionCommandModule } from '../commands/version/cli'; +import { colors } from '../utilities/color'; +import { AngularWorkspace } from '../utilities/config'; +import { CommandContext, CommandModuleError, CommandScope } from './command-module'; +import { jsonHelpUsage } from './utilities/json-help'; const COMMANDS = [ VersionCommandModule, diff --git a/packages/angular/cli/utilities/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts similarity index 97% rename from packages/angular/cli/utilities/command-builder/schematics-command-module.ts rename to packages/angular/cli/src/command-builder/schematics-command-module.ts index 51c033d22689..75f99317e328 100644 --- a/packages/angular/cli/utilities/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -14,9 +14,9 @@ import { } from '@angular-devkit/schematics/tools'; import { Argv } from 'yargs'; import { SchematicEngineHost } from '../../models/schematic-engine-host'; -import { getProjectByCwd, getWorkspace } from '../config'; +import { getProjectByCwd, getWorkspace } from '../utilities/config'; import { CommandModule, CommandModuleImplementation, CommandScope } from './command-module'; -import { Option, parseJsonSchemaToOptions } from './json-schema'; +import { Option, parseJsonSchemaToOptions } from './utilities/json-schema'; const DEFAULT_SCHEMATICS_COLLECTION = '@schematics/angular'; diff --git a/packages/angular/cli/src/command-builder/utilities/architect.ts b/packages/angular/cli/src/command-builder/utilities/architect.ts new file mode 100644 index 000000000000..63e68193bfd5 --- /dev/null +++ b/packages/angular/cli/src/command-builder/utilities/architect.ts @@ -0,0 +1,73 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Target } from '@angular-devkit/architect'; +import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; +import { json } from '@angular-devkit/core'; +import { existsSync } from 'fs'; +import { resolve } from 'path'; +import { getPackageManager } from '../../utilities/package-manager'; +import { CommandContext, CommandModuleError } from '../command-module'; +import { Option, parseJsonSchemaToOptions } from './json-schema'; + +export async function getArchitectTargetOptions( + context: CommandContext, + target: Target, +): Promise { + const { workspace } = context; + if (!workspace) { + return []; + } + + const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); + const builderConf = await architectHost.getBuilderNameForTarget(target); + + let builderDesc; + try { + builderDesc = await architectHost.resolveBuilder(builderConf); + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + await warnOnMissingNodeModules(context); + throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); + } + + throw e; + } + + return parseJsonSchemaToOptions( + new json.schema.CoreSchemaRegistry(), + builderDesc.optionSchema as json.JsonObject, + true, + ); +} + +export async function warnOnMissingNodeModules(context: CommandContext): Promise { + const basePath = context.workspace?.basePath; + if (!basePath) { + return; + } + + // Check for a `node_modules` directory (npm, yarn non-PnP, etc.) + if (existsSync(resolve(basePath, 'node_modules'))) { + return; + } + + // Check for yarn PnP files + if ( + existsSync(resolve(basePath, '.pnp.js')) || + existsSync(resolve(basePath, '.pnp.cjs')) || + existsSync(resolve(basePath, '.pnp.mjs')) + ) { + return; + } + + const packageManager = await getPackageManager(basePath); + context.logger.warn( + `Node packages may not be installed. Try installing with '${packageManager} install'.`, + ); +} diff --git a/packages/angular/cli/utilities/command-builder/json-help.ts b/packages/angular/cli/src/command-builder/utilities/json-help.ts similarity index 98% rename from packages/angular/cli/utilities/command-builder/json-help.ts rename to packages/angular/cli/src/command-builder/utilities/json-help.ts index c943194da495..047fcdc3fa6c 100644 --- a/packages/angular/cli/utilities/command-builder/json-help.ts +++ b/packages/angular/cli/src/command-builder/utilities/json-help.ts @@ -7,7 +7,7 @@ */ import yargs from 'yargs'; -import { FullDescribe } from './command-module'; +import { FullDescribe } from '../command-module'; export interface JsonHelp { name: string; diff --git a/packages/angular/cli/utilities/command-builder/json-schema.ts b/packages/angular/cli/src/command-builder/utilities/json-schema.ts similarity index 100% rename from packages/angular/cli/utilities/command-builder/json-schema.ts rename to packages/angular/cli/src/command-builder/utilities/json-schema.ts diff --git a/packages/angular/cli/commands/add/add-impl.ts b/packages/angular/cli/src/commands/add/add-impl.ts similarity index 97% rename from packages/angular/cli/commands/add/add-impl.ts rename to packages/angular/cli/src/commands/add/add-impl.ts index e0097759f863..474300b63037 100644 --- a/packages/angular/cli/commands/add/add-impl.ts +++ b/packages/angular/cli/src/commands/add/add-impl.ts @@ -11,11 +11,11 @@ import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/ import npa from 'npm-package-arg'; import { dirname, join } from 'path'; import { intersects, prerelease, rcompare, satisfies, valid, validRange } from 'semver'; -import { PackageManager } from '../../lib/config/workspace-schema'; -import { isPackageNameSafeForAnalytics } from '../../models/analytics'; -import { SchematicCommand } from '../../models/schematic-command'; +import { PackageManager } from '../../../lib/config/workspace-schema'; +import { SchematicCommand } from '../../../models/schematic-command'; +import { isPackageNameSafeForAnalytics } from '../../analytics/analytics'; +import { Options } from '../../command-builder/command-module'; import { colors } from '../../utilities/color'; -import { Options } from '../../utilities/command-builder/command-module'; import { installPackage, installTempPackage } from '../../utilities/install-package'; import { ensureCompatibleNpm, getPackageManager } from '../../utilities/package-manager'; import { diff --git a/packages/angular/cli/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts similarity index 94% rename from packages/angular/cli/commands/add/cli.ts rename to packages/angular/cli/src/commands/add/cli.ts index 7ea8824487ef..4099d9f305ef 100644 --- a/packages/angular/cli/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -12,11 +12,11 @@ import { CommandModuleImplementation, Options, OtherOptions, -} from '../../utilities/command-builder/command-module'; +} from '../../command-builder/command-module'; import { SchematicsCommandArgs, SchematicsCommandModule, -} from '../../utilities/command-builder/schematics-command-module'; +} from '../../command-builder/schematics-command-module'; import { AddCommandModule as OldCommandModule } from './add-impl'; export interface AddCommandArgs extends SchematicsCommandArgs { diff --git a/packages/angular/cli/commands/add/long-description.md b/packages/angular/cli/src/commands/add/long-description.md similarity index 100% rename from packages/angular/cli/commands/add/long-description.md rename to packages/angular/cli/src/commands/add/long-description.md diff --git a/packages/angular/cli/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts similarity index 93% rename from packages/angular/cli/commands/analytics/cli.ts rename to packages/angular/cli/src/commands/analytics/cli.ts index b1c004277ec7..ea70271fd10c 100644 --- a/packages/angular/cli/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -7,13 +7,13 @@ */ import { join } from 'path'; -import { Argv, string } from 'yargs'; +import { Argv } from 'yargs'; import { promptGlobalAnalytics, promptProjectAnalytics, setAnalyticsConfig, -} from '../../models/analytics'; -import { CommandModule, Options } from '../../utilities/command-builder/command-module'; +} from '../../analytics/analytics'; +import { CommandModule, Options } from '../../command-builder/command-module'; interface AnalyticsCommandArgs { 'setting-or-project': 'on' | 'off' | 'ci' | 'project' | 'prompt' | string; diff --git a/packages/angular/cli/commands/analytics/long-description.md b/packages/angular/cli/src/commands/analytics/long-description.md similarity index 100% rename from packages/angular/cli/commands/analytics/long-description.md rename to packages/angular/cli/src/commands/analytics/long-description.md diff --git a/packages/angular/cli/commands/build/cli.ts b/packages/angular/cli/src/commands/build/cli.ts similarity index 75% rename from packages/angular/cli/commands/build/cli.ts rename to packages/angular/cli/src/commands/build/cli.ts index 03d71dc5c762..434ff4f22f84 100644 --- a/packages/angular/cli/commands/build/cli.ts +++ b/packages/angular/cli/src/commands/build/cli.ts @@ -7,8 +7,8 @@ */ import { join } from 'path'; -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class BuildCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/build/long-description.md b/packages/angular/cli/src/commands/build/long-description.md similarity index 100% rename from packages/angular/cli/commands/build/long-description.md rename to packages/angular/cli/src/commands/build/long-description.md diff --git a/packages/angular/cli/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts similarity index 96% rename from packages/angular/cli/commands/config/cli.ts rename to packages/angular/cli/src/commands/config/cli.ts index a9f9f0795dbf..8fbabe1ae443 100644 --- a/packages/angular/cli/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -12,7 +12,7 @@ import { CommandModule, CommandModuleImplementation, Options, -} from '../../utilities/command-builder/command-module'; +} from '../../command-builder/command-module'; import { ConfigCommand } from './config-impl'; export interface ConfigCommandArgs { diff --git a/packages/angular/cli/commands/config/config-impl.ts b/packages/angular/cli/src/commands/config/config-impl.ts similarity index 97% rename from packages/angular/cli/commands/config/config-impl.ts rename to packages/angular/cli/src/commands/config/config-impl.ts index a032a8135f8a..7688609e8372 100644 --- a/packages/angular/cli/commands/config/config-impl.ts +++ b/packages/angular/cli/src/commands/config/config-impl.ts @@ -8,8 +8,8 @@ import { JsonValue } from '@angular-devkit/core'; import { v4 as uuidV4 } from 'uuid'; -import { Command } from '../../models/command'; -import { Options } from '../../utilities/command-builder/command-module'; +import { Command } from '../../../models/command'; +import { Options } from '../../command-builder/command-module'; import { getWorkspaceRaw, validateWorkspace } from '../../utilities/config'; import { JSONFile, parseJson } from '../../utilities/json-file'; import { ConfigCommandArgs } from './cli'; diff --git a/packages/angular/cli/commands/config/long-description.md b/packages/angular/cli/src/commands/config/long-description.md similarity index 82% rename from packages/angular/cli/commands/config/long-description.md rename to packages/angular/cli/src/commands/config/long-description.md index 7f44f63b3b32..2ed7e8c7a6c6 100644 --- a/packages/angular/cli/commands/config/long-description.md +++ b/packages/angular/cli/src/commands/config/long-description.md @@ -9,5 +9,3 @@ except that in the configuration file, all names must use camelCase, while on the command line options can be given in either camelCase or dash-case. For further details, see [Workspace Configuration](guide/workspace-config). - -For configuration of CLI usage analytics, see [Gathering an Viewing CLI Usage Analytics](./usage-analytics-gathering). diff --git a/packages/angular/cli/commands/deploy/cli.ts b/packages/angular/cli/src/commands/deploy/cli.ts similarity index 83% rename from packages/angular/cli/commands/deploy/cli.ts rename to packages/angular/cli/src/commands/deploy/cli.ts index 1ee748b340e7..18f5aaadd803 100644 --- a/packages/angular/cli/commands/deploy/cli.ts +++ b/packages/angular/cli/src/commands/deploy/cli.ts @@ -8,8 +8,8 @@ import { tags } from '@angular-devkit/core'; import { join } from 'path'; -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class DeployCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/deploy/long-description.md b/packages/angular/cli/src/commands/deploy/long-description.md similarity index 100% rename from packages/angular/cli/commands/deploy/long-description.md rename to packages/angular/cli/src/commands/deploy/long-description.md diff --git a/packages/angular/cli/commands/doc/cli.ts b/packages/angular/cli/src/commands/doc/cli.ts similarity index 97% rename from packages/angular/cli/commands/doc/cli.ts rename to packages/angular/cli/src/commands/doc/cli.ts index 70bb47773419..fd2423e3603d 100644 --- a/packages/angular/cli/commands/doc/cli.ts +++ b/packages/angular/cli/src/commands/doc/cli.ts @@ -12,7 +12,7 @@ import { CommandModule, CommandModuleImplementation, Options, -} from '../../utilities/command-builder/command-module'; +} from '../../command-builder/command-module'; interface DocCommandArgs { keyword: string; diff --git a/packages/angular/cli/commands/e2e/cli.ts b/packages/angular/cli/src/commands/e2e/cli.ts similarity index 83% rename from packages/angular/cli/commands/e2e/cli.ts rename to packages/angular/cli/src/commands/e2e/cli.ts index 4f833c8ef2c1..bb59ca78fc2a 100644 --- a/packages/angular/cli/commands/e2e/cli.ts +++ b/packages/angular/cli/src/commands/e2e/cli.ts @@ -7,8 +7,8 @@ */ import { tags } from '@angular-devkit/core'; -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class E2eCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/extract-i18n/cli.ts b/packages/angular/cli/src/commands/extract-i18n/cli.ts similarity index 71% rename from packages/angular/cli/commands/extract-i18n/cli.ts rename to packages/angular/cli/src/commands/extract-i18n/cli.ts index 4812a2bda54e..5283204f4e9b 100644 --- a/packages/angular/cli/commands/extract-i18n/cli.ts +++ b/packages/angular/cli/src/commands/extract-i18n/cli.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class ExtractI18nCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts similarity index 96% rename from packages/angular/cli/commands/generate/cli.ts rename to packages/angular/cli/src/commands/generate/cli.ts index 8311d4d2ad1b..923c228d7e93 100644 --- a/packages/angular/cli/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -12,12 +12,12 @@ import { CommandModuleImplementation, Options, OtherOptions, -} from '../../utilities/command-builder/command-module'; -import { Option } from '../../utilities/command-builder/json-schema'; +} from '../../command-builder/command-module'; import { SchematicsCommandArgs, SchematicsCommandModule, -} from '../../utilities/command-builder/schematics-command-module'; +} from '../../command-builder/schematics-command-module'; +import { Option } from '../../command-builder/utilities/json-schema'; import { GenerateCommand } from './generate-impl'; export interface GenerateCommandArgs extends SchematicsCommandArgs { diff --git a/packages/angular/cli/commands/generate/generate-impl.ts b/packages/angular/cli/src/commands/generate/generate-impl.ts similarity index 93% rename from packages/angular/cli/commands/generate/generate-impl.ts rename to packages/angular/cli/src/commands/generate/generate-impl.ts index a0aec5ca48b5..102d67c248c1 100644 --- a/packages/angular/cli/commands/generate/generate-impl.ts +++ b/packages/angular/cli/src/commands/generate/generate-impl.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { SchematicCommand } from '../../models/schematic-command'; -import { Options, OtherOptions } from '../../utilities/command-builder/command-module'; +import { SchematicCommand } from '../../../models/schematic-command'; +import { Options, OtherOptions } from '../../command-builder/command-module'; import { GenerateCommandArgs } from './cli'; type GenerateCommandOptions = Options; diff --git a/packages/angular/cli/commands/lint/cli.ts b/packages/angular/cli/src/commands/lint/cli.ts similarity index 81% rename from packages/angular/cli/commands/lint/cli.ts rename to packages/angular/cli/src/commands/lint/cli.ts index 1715b5a7a0bf..bd661e7d164b 100644 --- a/packages/angular/cli/commands/lint/cli.ts +++ b/packages/angular/cli/src/commands/lint/cli.ts @@ -8,8 +8,8 @@ import { tags } from '@angular-devkit/core'; import { join } from 'path'; -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class LintCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/lint/long-description.md b/packages/angular/cli/src/commands/lint/long-description.md similarity index 100% rename from packages/angular/cli/commands/lint/long-description.md rename to packages/angular/cli/src/commands/lint/long-description.md diff --git a/packages/angular/cli/commands/make-this-awesome/cli.ts b/packages/angular/cli/src/commands/make-this-awesome/cli.ts similarity index 90% rename from packages/angular/cli/commands/make-this-awesome/cli.ts rename to packages/angular/cli/src/commands/make-this-awesome/cli.ts index 9705533289d5..45b77f36da93 100644 --- a/packages/angular/cli/commands/make-this-awesome/cli.ts +++ b/packages/angular/cli/src/commands/make-this-awesome/cli.ts @@ -7,11 +7,8 @@ */ import { Argv } from 'yargs'; +import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module'; import { colors } from '../../utilities/color'; -import { - CommandModule, - CommandModuleImplementation, -} from '../../utilities/command-builder/command-module'; export class AwesomeCommandModule extends CommandModule implements CommandModuleImplementation { command = 'make-this-awesome'; diff --git a/packages/angular/cli/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts similarity index 91% rename from packages/angular/cli/commands/new/cli.ts rename to packages/angular/cli/src/commands/new/cli.ts index 38174ff81e72..68dc79e12ae7 100644 --- a/packages/angular/cli/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -12,11 +12,11 @@ import { CommandScope, Options, OtherOptions, -} from '../../utilities/command-builder/command-module'; +} from '../../command-builder/command-module'; import { SchematicsCommandArgs, SchematicsCommandModule, -} from '../../utilities/command-builder/schematics-command-module'; +} from '../../command-builder/schematics-command-module'; import { NewCommand } from './new-impl'; export interface NewCommandArgs extends SchematicsCommandArgs { diff --git a/packages/angular/cli/commands/new/new-impl.ts b/packages/angular/cli/src/commands/new/new-impl.ts similarity index 88% rename from packages/angular/cli/commands/new/new-impl.ts rename to packages/angular/cli/src/commands/new/new-impl.ts index 964ba7244dd2..b8629d39b4c9 100644 --- a/packages/angular/cli/commands/new/new-impl.ts +++ b/packages/angular/cli/src/commands/new/new-impl.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { SchematicCommand } from '../../models/schematic-command'; -import { Options, OtherOptions } from '../../utilities/command-builder/command-module'; +import { SchematicCommand } from '../../../models/schematic-command'; +import { Options, OtherOptions } from '../../command-builder/command-module'; import { VERSION } from '../../utilities/version'; import { NewCommandArgs } from './cli'; diff --git a/packages/angular/cli/commands/run/cli.ts b/packages/angular/cli/src/commands/run/cli.ts similarity index 93% rename from packages/angular/cli/commands/run/cli.ts rename to packages/angular/cli/src/commands/run/cli.ts index 7674f1f656cb..9ce685705e94 100644 --- a/packages/angular/cli/commands/run/cli.ts +++ b/packages/angular/cli/src/commands/run/cli.ts @@ -11,8 +11,7 @@ import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/nod import { json } from '@angular-devkit/core'; import { join } from 'path'; import { Argv } from 'yargs'; -import { isPackageNameSafeForAnalytics } from '../../models/analytics'; -import { getArchitectTargetOptions } from '../../utilities/command-builder/architect-command-module'; +import { isPackageNameSafeForAnalytics } from '../../analytics/analytics'; import { CommandModule, CommandModuleError, @@ -20,7 +19,8 @@ import { CommandScope, Options, OtherOptions, -} from '../../utilities/command-builder/command-module'; +} from '../../command-builder/command-module'; +import { getArchitectTargetOptions } from '../../command-builder/utilities/architect'; export interface RunCommandArgs { target: string; diff --git a/packages/angular/cli/commands/run/long-description.md b/packages/angular/cli/src/commands/run/long-description.md similarity index 100% rename from packages/angular/cli/commands/run/long-description.md rename to packages/angular/cli/src/commands/run/long-description.md diff --git a/packages/angular/cli/commands/serve/cli.ts b/packages/angular/cli/src/commands/serve/cli.ts similarity index 72% rename from packages/angular/cli/commands/serve/cli.ts rename to packages/angular/cli/src/commands/serve/cli.ts index 6231a9060980..537345cc568d 100644 --- a/packages/angular/cli/commands/serve/cli.ts +++ b/packages/angular/cli/src/commands/serve/cli.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class ServeCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/test/cli.ts b/packages/angular/cli/src/commands/test/cli.ts similarity index 73% rename from packages/angular/cli/commands/test/cli.ts rename to packages/angular/cli/src/commands/test/cli.ts index 4c7dd6cbe23b..fd650fee01c9 100644 --- a/packages/angular/cli/commands/test/cli.ts +++ b/packages/angular/cli/src/commands/test/cli.ts @@ -7,8 +7,8 @@ */ import { join } from 'path'; -import { ArchitectCommandModule } from '../../utilities/command-builder/architect-command-module'; -import { CommandModuleImplementation } from '../../utilities/command-builder/command-module'; +import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; +import { CommandModuleImplementation } from '../../command-builder/command-module'; export class TestCommandModule extends ArchitectCommandModule diff --git a/packages/angular/cli/commands/test/long-description.md b/packages/angular/cli/src/commands/test/long-description.md similarity index 100% rename from packages/angular/cli/commands/test/long-description.md rename to packages/angular/cli/src/commands/test/long-description.md diff --git a/packages/angular/cli/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts similarity index 98% rename from packages/angular/cli/commands/update/cli.ts rename to packages/angular/cli/src/commands/update/cli.ts index 1d611ba910f1..ee57fce365da 100644 --- a/packages/angular/cli/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -12,7 +12,7 @@ import { CommandScope, Options, OtherOptions, -} from '../../utilities/command-builder/command-module'; +} from '../../command-builder/command-module'; import { UpdateCommand } from './update-impl'; export interface UpdateCommandArgs { diff --git a/packages/angular/cli/commands/update/long-description.md b/packages/angular/cli/src/commands/update/long-description.md similarity index 100% rename from packages/angular/cli/commands/update/long-description.md rename to packages/angular/cli/src/commands/update/long-description.md diff --git a/packages/angular/cli/src/commands/update/schematic/index.ts b/packages/angular/cli/src/commands/update/schematic/index.ts index 76f3e0a09f43..d61dd591e8d2 100644 --- a/packages/angular/cli/src/commands/update/schematic/index.ts +++ b/packages/angular/cli/src/commands/update/schematic/index.ts @@ -10,11 +10,8 @@ import { logging, tags } from '@angular-devkit/core'; import { Rule, SchematicContext, SchematicsException, Tree } from '@angular-devkit/schematics'; import * as npa from 'npm-package-arg'; import * as semver from 'semver'; -import { Dependency, JsonSchemaForNpmPackageJsonFiles } from '../../../../utilities/package-json'; -import { - NpmRepositoryPackageJson, - getNpmPackageJson, -} from '../../../../utilities/package-metadata'; +import { Dependency, JsonSchemaForNpmPackageJsonFiles } from '../../../utilities/package-json'; +import { NpmRepositoryPackageJson, getNpmPackageJson } from '../../../utilities/package-metadata'; import { Schema as UpdateSchema } from './schema'; type VersionRange = string & { __VERSION_RANGE: void }; diff --git a/packages/angular/cli/commands/update/update-impl.ts b/packages/angular/cli/src/commands/update/update-impl.ts similarity index 98% rename from packages/angular/cli/commands/update/update-impl.ts rename to packages/angular/cli/src/commands/update/update-impl.ts index b8b5a521018b..25cf5da8f848 100644 --- a/packages/angular/cli/commands/update/update-impl.ts +++ b/packages/angular/cli/src/commands/update/update-impl.ts @@ -14,11 +14,11 @@ import npa from 'npm-package-arg'; import pickManifest from 'npm-pick-manifest'; import * as path from 'path'; import * as semver from 'semver'; -import { PackageManager } from '../../lib/config/workspace-schema'; -import { Command } from '../../models/command'; -import { SchematicEngineHost } from '../../models/schematic-engine-host'; +import { PackageManager } from '../../../lib/config/workspace-schema'; +import { Command } from '../../../models/command'; +import { SchematicEngineHost } from '../../../models/schematic-engine-host'; +import { Options } from '../../command-builder/command-module'; import { colors } from '../../utilities/color'; -import { Options } from '../../utilities/command-builder/command-module'; import { installAllPackages, runTempPackageBin } from '../../utilities/install-package'; import { writeErrorToLogFile } from '../../utilities/log-file'; import { ensureCompatibleNpm, getPackageManager } from '../../utilities/package-manager'; @@ -37,10 +37,7 @@ import { import { VERSION } from '../../utilities/version'; import { UpdateCommandArgs } from './cli'; -const UPDATE_SCHEMATIC_COLLECTION = path.join( - __dirname, - '../../src/commands/update/schematic/collection.json', -); +const UPDATE_SCHEMATIC_COLLECTION = path.join(__dirname, 'schematic/collection.json'); type UpdateCommandOptions = Options; diff --git a/packages/angular/cli/commands/version/cli.ts b/packages/angular/cli/src/commands/version/cli.ts similarity index 95% rename from packages/angular/cli/commands/version/cli.ts rename to packages/angular/cli/src/commands/version/cli.ts index e86be716689f..9ed6f288740e 100644 --- a/packages/angular/cli/commands/version/cli.ts +++ b/packages/angular/cli/src/commands/version/cli.ts @@ -8,12 +8,10 @@ import { execSync } from 'child_process'; import nodeModule from 'module'; +import { resolve } from 'path'; import { Argv } from 'yargs'; +import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module'; import { colors } from '../../utilities/color'; -import { - CommandModule, - CommandModuleImplementation, -} from '../../utilities/command-builder/command-module'; import { getPackageManager } from '../../utilities/package-manager'; interface PartialPackageInfo { @@ -53,11 +51,11 @@ export class VersionCommandModule extends CommandModule implements CommandModule async run(): Promise { const logger = this.context.logger; - const localRequire = nodeModule.createRequire(__filename); + const localRequire = nodeModule.createRequire(resolve(__filename, '../../../')); // Trailing slash is used to allow the path to be treated as a directory const workspaceRequire = nodeModule.createRequire(this.context.root + '/'); - const cliPackage: PartialPackageInfo = localRequire('../../package.json'); + const cliPackage: PartialPackageInfo = localRequire('./package.json'); let workspacePackage: PartialPackageInfo | undefined; try { workspacePackage = workspaceRequire('./package.json'); diff --git a/packages/angular/cli/src/typings.ts b/packages/angular/cli/src/typings.ts index 169bbb457e68..63fc2bf0ceaf 100644 --- a/packages/angular/cli/src/typings.ts +++ b/packages/angular/cli/src/typings.ts @@ -18,9 +18,9 @@ declare module 'ini' { declare module 'npm-pick-manifest' { function pickManifest( - metadata: import('../utilities/package-metadata').PackageMetadata, + metadata: import('./utilities/package-metadata').PackageMetadata, selector: string, - ): import('../utilities/package-metadata').PackageManifest; + ): import('./utilities/package-metadata').PackageManifest; export = pickManifest; } @@ -33,5 +33,5 @@ declare module 'pacote' { export function packument( specifier: string, options: Record, - ): Promise; + ): Promise; } diff --git a/packages/angular/cli/utilities/color.ts b/packages/angular/cli/src/utilities/color.ts similarity index 100% rename from packages/angular/cli/utilities/color.ts rename to packages/angular/cli/src/utilities/color.ts diff --git a/packages/angular/cli/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts similarity index 97% rename from packages/angular/cli/utilities/config.ts rename to packages/angular/cli/src/utilities/config.ts index 8fd804eda393..8549e8e66ff5 100644 --- a/packages/angular/cli/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -10,7 +10,7 @@ import { json, workspaces } from '@angular-devkit/core'; import { existsSync, readFileSync, statSync, writeFileSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { PackageManager } from '../lib/config/workspace-schema'; +import { PackageManager } from '../../lib/config/workspace-schema'; import { findUp } from './find-up'; import { JSONFile, readAndParseJson } from './json-file'; @@ -43,11 +43,7 @@ function createWorkspaceHost(): workspaces.WorkspaceHost { }; } -function getSchemaLocation(): string { - return path.join(__dirname, '../lib/config/schema.json'); -} - -export const workspaceSchemaPath = getSchemaLocation(); +export const workspaceSchemaPath = path.join(__dirname, '../../lib/config/schema.json'); const configNames = ['angular.json', '.angular.json']; const globalFileName = '.angular-config.json'; @@ -214,9 +210,7 @@ export function getWorkspaceRaw( } export async function validateWorkspace(data: json.JsonObject): Promise { - const schema = readAndParseJson( - path.join(__dirname, '../lib/config/schema.json'), - ) as json.schema.JsonSchema; + const schema = readAndParseJson(workspaceSchemaPath) as json.schema.JsonSchema; const { formats } = await import('@angular-devkit/schematics'); const registry = new json.schema.CoreSchemaRegistry(formats.standardFormats); const validator = await registry.compile(schema).toPromise(); diff --git a/packages/angular/cli/utilities/find-up.ts b/packages/angular/cli/src/utilities/find-up.ts similarity index 100% rename from packages/angular/cli/utilities/find-up.ts rename to packages/angular/cli/src/utilities/find-up.ts diff --git a/packages/angular/cli/utilities/install-package.ts b/packages/angular/cli/src/utilities/install-package.ts similarity index 98% rename from packages/angular/cli/utilities/install-package.ts rename to packages/angular/cli/src/utilities/install-package.ts index 8142135915a5..9205af7a39e9 100644 --- a/packages/angular/cli/utilities/install-package.ts +++ b/packages/angular/cli/src/utilities/install-package.ts @@ -10,8 +10,8 @@ import { spawn, spawnSync } from 'child_process'; import { existsSync, mkdtempSync, readFileSync, realpathSync, rmdirSync, writeFileSync } from 'fs'; import { tmpdir } from 'os'; import { join, resolve } from 'path'; -import { PackageManager } from '../lib/config/workspace-schema'; -import { NgAddSaveDepedency } from '../utilities/package-metadata'; +import { PackageManager } from '../../lib/config/workspace-schema'; +import { NgAddSaveDepedency } from './package-metadata'; import { Spinner } from './spinner'; interface PackageManagerOptions { diff --git a/packages/angular/cli/utilities/json-file.ts b/packages/angular/cli/src/utilities/json-file.ts similarity index 100% rename from packages/angular/cli/utilities/json-file.ts rename to packages/angular/cli/src/utilities/json-file.ts diff --git a/packages/angular/cli/utilities/log-file.ts b/packages/angular/cli/src/utilities/log-file.ts similarity index 100% rename from packages/angular/cli/utilities/log-file.ts rename to packages/angular/cli/src/utilities/log-file.ts diff --git a/packages/angular/cli/utilities/package-json.ts b/packages/angular/cli/src/utilities/package-json.ts similarity index 100% rename from packages/angular/cli/utilities/package-json.ts rename to packages/angular/cli/src/utilities/package-json.ts diff --git a/packages/angular/cli/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts similarity index 97% rename from packages/angular/cli/utilities/package-manager.ts rename to packages/angular/cli/src/utilities/package-manager.ts index 82acba8ab923..14721e7e694a 100644 --- a/packages/angular/cli/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -11,7 +11,7 @@ import { constants, promises as fs } from 'fs'; import { join } from 'path'; import { satisfies, valid } from 'semver'; import { promisify } from 'util'; -import { PackageManager } from '../lib/config/workspace-schema'; +import { PackageManager } from '../../lib/config/workspace-schema'; import { getConfiguredPackageManager } from './config'; const exec = promisify(execCb); diff --git a/packages/angular/cli/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts similarity index 100% rename from packages/angular/cli/utilities/package-metadata.ts rename to packages/angular/cli/src/utilities/package-metadata.ts diff --git a/packages/angular/cli/utilities/package-tree.ts b/packages/angular/cli/src/utilities/package-tree.ts similarity index 100% rename from packages/angular/cli/utilities/package-tree.ts rename to packages/angular/cli/src/utilities/package-tree.ts diff --git a/packages/angular/cli/utilities/project.ts b/packages/angular/cli/src/utilities/project.ts similarity index 100% rename from packages/angular/cli/utilities/project.ts rename to packages/angular/cli/src/utilities/project.ts diff --git a/packages/angular/cli/utilities/prompt.ts b/packages/angular/cli/src/utilities/prompt.ts similarity index 100% rename from packages/angular/cli/utilities/prompt.ts rename to packages/angular/cli/src/utilities/prompt.ts diff --git a/packages/angular/cli/utilities/spinner.ts b/packages/angular/cli/src/utilities/spinner.ts similarity index 100% rename from packages/angular/cli/utilities/spinner.ts rename to packages/angular/cli/src/utilities/spinner.ts diff --git a/packages/angular/cli/utilities/tty.ts b/packages/angular/cli/src/utilities/tty.ts similarity index 100% rename from packages/angular/cli/utilities/tty.ts rename to packages/angular/cli/src/utilities/tty.ts diff --git a/packages/angular/cli/utilities/version.ts b/packages/angular/cli/src/utilities/version.ts similarity index 88% rename from packages/angular/cli/utilities/version.ts rename to packages/angular/cli/src/utilities/version.ts index 802e7fbc2b2a..2c9db37d69a9 100644 --- a/packages/angular/cli/utilities/version.ts +++ b/packages/angular/cli/src/utilities/version.ts @@ -27,6 +27,8 @@ class Version { // export const VERSION = new Version('0.0.0-PLACEHOLDER'); export const VERSION = new Version( ( - JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8')) as { version: string } + JSON.parse(readFileSync(resolve(__dirname, '../../package.json'), 'utf-8')) as { + version: string; + } ).version, ); diff --git a/scripts/json-help.ts b/scripts/json-help.ts index 1cab27bf727d..a58c656851e9 100644 --- a/scripts/json-help.ts +++ b/scripts/json-help.ts @@ -10,7 +10,7 @@ import { logging } from '@angular-devkit/core'; import { spawn } from 'child_process'; import { promises as fs } from 'fs'; import * as os from 'os'; -import { JsonHelp } from 'packages/angular/cli/utilities/command-builder/json-help'; +import { JsonHelp } from 'packages/angular/cli/src/command-builder/utilities/json-help'; import * as path from 'path'; import { packages } from '../lib/packages'; import create from './create'; From ead9aa193745c149c6430830cc9b6e62901ca0e6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 2 Mar 2022 08:59:40 +0100 Subject: [PATCH 0161/1388] test: add temporary circular dependencies This temporary until the old command modules are removed. --- goldens/circular-deps/packages.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/goldens/circular-deps/packages.json b/goldens/circular-deps/packages.json index f47d35c030b4..9da0cf1ec292 100644 --- a/goldens/circular-deps/packages.json +++ b/goldens/circular-deps/packages.json @@ -2,5 +2,25 @@ [ "packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts", "packages/angular_devkit/build_angular/src/webpack/utils/stats.ts" + ], + [ + "packages/angular/cli/src/commands/add/add-impl.ts", + "packages/angular/cli/src/commands/add/cli.ts" + ], + [ + "packages/angular/cli/src/commands/config/cli.ts", + "packages/angular/cli/src/commands/config/config-impl.ts" + ], + [ + "packages/angular/cli/src/commands/generate/cli.ts", + "packages/angular/cli/src/commands/generate/generate-impl.ts" + ], + [ + "packages/angular/cli/src/commands/new/cli.ts", + "packages/angular/cli/src/commands/new/new-impl.ts" + ], + [ + "packages/angular/cli/src/commands/update/cli.ts", + "packages/angular/cli/src/commands/update/update-impl.ts" ] ] From 98984bfcb80ec87da54261875ee6b29ded0aa52c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 2 Mar 2022 10:53:04 +0100 Subject: [PATCH 0162/1388] refactor(@angular/cli): move move architect common logic into a base class --- .../architect-base-command-module.ts | 156 ++++++++++++++++++ .../architect-command-module.ts | 105 ++---------- .../cli/src/command-builder/command-module.ts | 24 ++- .../cli/src/command-builder/command-runner.ts | 14 +- .../command-builder/utilities/architect.ts | 57 ------- packages/angular/cli/src/commands/run/cli.ts | 47 +----- 6 files changed, 198 insertions(+), 205 deletions(-) create mode 100644 packages/angular/cli/src/command-builder/architect-base-command-module.ts diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts new file mode 100644 index 000000000000..aa328185d882 --- /dev/null +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -0,0 +1,156 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Architect, Target } from '@angular-devkit/architect'; +import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; +import { json } from '@angular-devkit/core'; +import { existsSync } from 'fs'; +import { resolve } from 'path'; +import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; +import { getPackageManager } from '../utilities/package-manager'; +import { + CommandModule, + CommandModuleError, + CommandModuleImplementation, + CommandScope, + OtherOptions, +} from './command-module'; +import { Option, parseJsonSchemaToOptions } from './utilities/json-schema'; + +export abstract class ArchitectBaseCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + static override scope = CommandScope.In; + protected override shouldReportAnalytics = false; + protected readonly missingErrorTarget: string | undefined; + + protected async runSingleTarget(target: Target, options: OtherOptions): Promise { + // Remove options + const architectHost = await this.getArchitectHost(); + + let builderName: string; + try { + builderName = await architectHost.getBuilderNameForTarget(target); + } catch (e) { + throw new CommandModuleError(this.missingErrorTarget ?? e.message); + } + + await this.reportAnalytics({ + ...(await architectHost.getOptionsForTarget(target)), + ...options, + }); + + const { logger } = this.context; + + const run = await this.getArchitect().scheduleTarget(target, options as json.JsonObject, { + logger, + analytics: isPackageNameSafeForAnalytics(builderName) ? await this.getAnalytics() : undefined, + }); + + const { error, success } = await run.output.toPromise(); + await run.stop(); + + if (error) { + logger.error(error); + } + + return success ? 0 : 1; + } + + private _architectHost: WorkspaceNodeModulesArchitectHost | undefined; + protected getArchitectHost(): WorkspaceNodeModulesArchitectHost { + if (this._architectHost) { + return this._architectHost; + } + + const { workspace } = this.context; + if (!workspace) { + throw new CommandModuleError('A workspace is required for this command.'); + } + + return (this._architectHost = new WorkspaceNodeModulesArchitectHost( + workspace, + workspace.basePath, + )); + } + + private _architect: Architect | undefined; + protected getArchitect(): Architect { + if (this._architect) { + return this._architect; + } + + const registry = new json.schema.CoreSchemaRegistry(); + registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); + registry.useXDeprecatedProvider((msg) => this.context.logger.warn(msg)); + + const { workspace } = this.context; + if (!workspace) { + throw new CommandModuleError('Cannot invoke this command outside of a workspace'); + } + + const architectHost = this.getArchitectHost(); + + return (this._architect = new Architect(architectHost, registry)); + } + + protected async getArchitectTargetOptions(target: Target): Promise { + const { workspace } = this.context; + if (!workspace) { + throw new CommandModuleError('A workspace is required for this command.'); + } + + const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); + const builderConf = await architectHost.getBuilderNameForTarget(target); + + let builderDesc; + try { + builderDesc = await architectHost.resolveBuilder(builderConf); + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + await this.warnOnMissingNodeModules(); + throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); + } + + throw e; + } + + return parseJsonSchemaToOptions( + new json.schema.CoreSchemaRegistry(), + builderDesc.optionSchema as json.JsonObject, + true, + ); + } + + private async warnOnMissingNodeModules(): Promise { + const basePath = this.context.workspace?.basePath; + if (!basePath) { + return; + } + + // Check for a `node_modules` directory (npm, yarn non-PnP, etc.) + if (existsSync(resolve(basePath, 'node_modules'))) { + return; + } + + // Check for yarn PnP files + if ( + existsSync(resolve(basePath, '.pnp.js')) || + existsSync(resolve(basePath, '.pnp.cjs')) || + existsSync(resolve(basePath, '.pnp.mjs')) + ) { + return; + } + + const packageManager = await getPackageManager(basePath); + this.context.logger.warn( + `Node packages may not be installed. Try installing with '${packageManager} install'.`, + ); + } +} diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index 4ad170a95ac3..7aac582015e2 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -6,20 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ -import { Architect, Target } from '@angular-devkit/architect'; -import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; -import { json } from '@angular-devkit/core'; import { Argv } from 'yargs'; -import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; +import { ArchitectBaseCommandModule } from './architect-base-command-module'; import { - CommandModule, CommandModuleError, CommandModuleImplementation, - CommandScope, Options, OtherOptions, } from './command-module'; -import { getArchitectTargetOptions } from './utilities/architect'; export interface ArchitectCommandArgs { configuration?: string; @@ -27,13 +21,10 @@ export interface ArchitectCommandArgs { } export abstract class ArchitectCommandModule - extends CommandModule + extends ArchitectBaseCommandModule implements CommandModuleImplementation { - static override scope = CommandScope.In; abstract readonly multiTarget: boolean; - readonly missingErrorTarget: string | undefined; - protected override shouldReportAnalytics = false; async builder(argv: Argv): Promise> { const localYargs: Argv = argv @@ -52,17 +43,21 @@ export abstract class ArchitectCommandModule }) .strict(); - const targetSpecifier = this.makeTargetSpecifier(); - if (!targetSpecifier.project) { + const project = this.getArchitectProject(); + if (!project) { return localYargs; } - const schemaOptions = await getArchitectTargetOptions(this.context, targetSpecifier); + const target = this.getArchitectTarget(); + const schemaOptions = await this.getArchitectTargetOptions({ + project, + target, + }); return this.addSchemaOptionsToCommand(localYargs, schemaOptions); } - async run(options: Options): Promise { + async run(options: Options & OtherOptions): Promise { const { logger, workspace } = this.context; if (!workspace) { logger.fatal('A workspace is required for this command.'); @@ -70,17 +65,10 @@ export abstract class ArchitectCommandModule return 1; } - const registry = new json.schema.CoreSchemaRegistry(); - registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); - registry.useXDeprecatedProvider((msg) => this.context.logger.warn(msg)); - - const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); - const architect = new Architect(architectHost, registry); - - const targetSpec = this.makeTargetSpecifier(options); - if (!targetSpec.project) { - const target = this.getArchitectTarget(); + const target = this.getArchitectTarget(); + const { configuration = '', project, ...architectOptions } = options; + if (!project) { // This runs each target sequentially. // Running them in parallel would jumble the log messages. let result = 0; @@ -92,12 +80,12 @@ export abstract class ArchitectCommandModule } for (const project of projectNames) { - result |= await this.runSingleTarget({ ...targetSpec, project }, options, architect); + result |= await this.runSingleTarget({ configuration, target, project }, architectOptions); } return result; } else { - return await this.runSingleTarget(targetSpec, options, architect); + return await this.runSingleTarget({ configuration, target, project }, architectOptions); } } @@ -128,14 +116,6 @@ export abstract class ArchitectCommandModule return this.command?.split(' ', 1)[0]; } - private makeTargetSpecifier(options?: Options): Target { - return { - project: options?.project ?? this.getArchitectProject() ?? '', - target: this.getArchitectTarget(), - configuration: options?.configuration ?? '', - }; - } - private getProjectNamesByTarget(target: string): string[] | undefined { const workspace = this.context.workspace; if (!workspace) { @@ -174,59 +154,4 @@ export abstract class ArchitectCommandModule return undefined; } - - private async runSingleTarget( - target: Target, - options: Options & OtherOptions, - architect: Architect, - ): Promise { - // Remove options - const { configuration, project, ...extraOptions } = options; - const architectHost = await this.getArchitectHost(); - - let builderName: string; - try { - builderName = await architectHost.getBuilderNameForTarget(target); - } catch (e) { - throw new CommandModuleError(this.missingErrorTarget ?? e.message); - } - - await this.reportAnalytics({ - ...(await architectHost.getOptionsForTarget(target)), - ...extraOptions, - }); - - const { logger } = this.context; - - const run = await architect.scheduleTarget(target, extraOptions as json.JsonObject, { - logger, - analytics: isPackageNameSafeForAnalytics(builderName) ? await this.getAnalytics() : undefined, - }); - - const { error, success } = await run.output.toPromise(); - await run.stop(); - - if (error) { - logger.error(error); - } - - return success ? 0 : 1; - } - - private _architectHost: WorkspaceNodeModulesArchitectHost | undefined; - private getArchitectHost(): WorkspaceNodeModulesArchitectHost { - if (this._architectHost) { - return this._architectHost; - } - - const { workspace } = this.context; - if (!workspace) { - throw new CommandModuleError('A workspace is required for this command.'); - } - - return (this._architectHost = new WorkspaceNodeModulesArchitectHost( - workspace, - workspace.basePath, - )); - } } diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index b5412a42ce46..6f8f1e30c491 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -10,16 +10,22 @@ import { analytics, logging, normalize, strings } from '@angular-devkit/core'; import { readFileSync } from 'fs'; import * as path from 'path'; import { + ArgumentsCamelCase, Argv, CamelCaseKey, PositionalOptions, CommandModule as YargsCommandModule, Options as YargsOptions, } from 'yargs'; +import { Parser } from 'yargs/helpers'; import { createAnalytics } from '../analytics/analytics'; import { AngularWorkspace } from '../utilities/config'; import { Option } from './utilities/json-schema'; +const yargsParser = Parser as unknown as typeof Parser.default & { + camelCase(str: string): string; +}; + export type Options = { [key in keyof T as CamelCaseKey]: T[key] }; export enum CommandScope { @@ -55,8 +61,6 @@ export interface CommandModuleImplementation builder(argv: Argv): Promise> | Argv; /** A function which will be passed the parsed argv. */ run(options: Options & OtherOptions): Promise | number | void; - /** a function which will be passed the parsed argv. */ - handler(args: Options & OtherOptions): Promise | void; } export interface FullDescribe { @@ -106,16 +110,24 @@ export abstract class CommandModule implements CommandModuleI abstract builder(argv: Argv): Promise> | Argv; abstract run(options: Options & OtherOptions): Promise | number | void; - async handler(args: Options & OtherOptions): Promise { + async handler(args: ArgumentsCamelCase & OtherOptions): Promise { + const { _, $0, ...options } = args; + + // Camelize options as yargs will return the object in kebab-case when camel casing is disabled. + const camelCasedOptions: Record = {}; + for (const [key, value] of Object.entries(options)) { + camelCasedOptions[yargsParser.camelCase(key)] = value; + } + // Gather and report analytics. const analytics = await this.getAnalytics(); if (this.shouldReportAnalytics) { - await this.reportAnalytics(args); + await this.reportAnalytics(camelCasedOptions); } // Run and time command. const startTime = Date.now(); - const result = await this.run(args); + const result = await this.run(camelCasedOptions as Options & OtherOptions); const endTime = Date.now(); analytics.timing(this.commandName, 'duration', endTime - startTime); @@ -127,7 +139,7 @@ export abstract class CommandModule implements CommandModuleI } async reportAnalytics( - options: Options & OtherOptions, + options: (Options & OtherOptions) | OtherOptions, paths: string[] = [], dimensions: (boolean | number | string)[] = [], ): Promise { diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 5cfcbacbba1d..e60811d58bc1 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -51,9 +51,7 @@ const COMMANDS = [ RunCommandModule, ]; -const yargsParser = Parser as unknown as typeof Parser.default & { - camelCase(str: string): string; -}; +const yargsParser = Parser as unknown as typeof Parser.default; export async function runCommand( args: string[], @@ -107,15 +105,7 @@ export async function runCommand( : describe, deprecated: commandModule.deprecated, builder: (x) => commandModule.builder(x), - handler: ({ _, $0, ...options }) => { - // Camelize options as yargs will return the object in kebab-case when camel casing is disabled. - const camelCasedOptions: Record = {}; - for (const [key, value] of Object.entries(options)) { - camelCasedOptions[yargsParser.camelCase(key)] = value; - } - - return commandModule.handler(camelCasedOptions); - }, + handler: (x) => commandModule.handler(x), }); } diff --git a/packages/angular/cli/src/command-builder/utilities/architect.ts b/packages/angular/cli/src/command-builder/utilities/architect.ts index 63e68193bfd5..3b756db992c8 100644 --- a/packages/angular/cli/src/command-builder/utilities/architect.ts +++ b/packages/angular/cli/src/command-builder/utilities/architect.ts @@ -14,60 +14,3 @@ import { resolve } from 'path'; import { getPackageManager } from '../../utilities/package-manager'; import { CommandContext, CommandModuleError } from '../command-module'; import { Option, parseJsonSchemaToOptions } from './json-schema'; - -export async function getArchitectTargetOptions( - context: CommandContext, - target: Target, -): Promise { - const { workspace } = context; - if (!workspace) { - return []; - } - - const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); - const builderConf = await architectHost.getBuilderNameForTarget(target); - - let builderDesc; - try { - builderDesc = await architectHost.resolveBuilder(builderConf); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - await warnOnMissingNodeModules(context); - throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); - } - - throw e; - } - - return parseJsonSchemaToOptions( - new json.schema.CoreSchemaRegistry(), - builderDesc.optionSchema as json.JsonObject, - true, - ); -} - -export async function warnOnMissingNodeModules(context: CommandContext): Promise { - const basePath = context.workspace?.basePath; - if (!basePath) { - return; - } - - // Check for a `node_modules` directory (npm, yarn non-PnP, etc.) - if (existsSync(resolve(basePath, 'node_modules'))) { - return; - } - - // Check for yarn PnP files - if ( - existsSync(resolve(basePath, '.pnp.js')) || - existsSync(resolve(basePath, '.pnp.cjs')) || - existsSync(resolve(basePath, '.pnp.mjs')) - ) { - return; - } - - const packageManager = await getPackageManager(basePath); - context.logger.warn( - `Node packages may not be installed. Try installing with '${packageManager} install'.`, - ); -} diff --git a/packages/angular/cli/src/commands/run/cli.ts b/packages/angular/cli/src/commands/run/cli.ts index 9ce685705e94..97b06f3f5a0c 100644 --- a/packages/angular/cli/src/commands/run/cli.ts +++ b/packages/angular/cli/src/commands/run/cli.ts @@ -6,12 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ -import { Architect, Target } from '@angular-devkit/architect'; -import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; -import { json } from '@angular-devkit/core'; +import { Target } from '@angular-devkit/architect'; import { join } from 'path'; import { Argv } from 'yargs'; -import { isPackageNameSafeForAnalytics } from '../../analytics/analytics'; +import { ArchitectBaseCommandModule } from '../../command-builder/architect-base-command-module'; import { CommandModule, CommandModuleError, @@ -20,14 +18,13 @@ import { Options, OtherOptions, } from '../../command-builder/command-module'; -import { getArchitectTargetOptions } from '../../command-builder/utilities/architect'; export interface RunCommandArgs { target: string; } export class RunCommandModule - extends CommandModule + extends ArchitectBaseCommandModule implements CommandModuleImplementation { static override scope = CommandScope.In; @@ -51,50 +48,20 @@ export class RunCommandModule return localYargs; } - const schemaOptions = await getArchitectTargetOptions(this.context, target); + const schemaOptions = await this.getArchitectTargetOptions(target); return this.addSchemaOptionsToCommand(localYargs, schemaOptions); } - async run(options: Options & OtherOptions): Promise { - const { logger, workspace } = this.context; - if (!workspace) { - throw new CommandModuleError('A workspace is required for this command.'); - } - - const registry = new json.schema.CoreSchemaRegistry(); - registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); - registry.useXDeprecatedProvider((msg) => logger.warn(msg)); - - const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); - const architect = new Architect(architectHost, registry); - + async run(options: Options & OtherOptions): Promise { const target = this.makeTargetSpecifier(options); + const { target: _target, ...extraOptions } = options; if (!target) { throw new CommandModuleError('Cannot determine project or target.'); } - const builderName = await architectHost.getBuilderNameForTarget(target); - await this.reportAnalytics({ - ...(await architectHost.getOptionsForTarget(target)), - ...options, - }); - - const { target: _target, ...extraOptions } = options; - const run = await architect.scheduleTarget(target, extraOptions as json.JsonObject, { - logger, - analytics: isPackageNameSafeForAnalytics(builderName) ? await this.getAnalytics() : undefined, - }); - - const { error, success } = await run.output.toPromise(); - await run.stop(); - - if (error) { - logger.error(error); - } - - return success ? 0 : 1; + return this.runSingleTarget(target, extraOptions); } protected makeTargetSpecifier(options?: Options): Target | undefined { From 33ec5e7a0444f7f61a79c342137ae9700bdd3eb2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 3 Mar 2022 09:38:25 +0100 Subject: [PATCH 0163/1388] refactor(@angular/cli): remove unnecessary castings and types --- packages/angular/cli/src/command-builder/command-module.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 6f8f1e30c491..9d1a5fa72574 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -17,15 +17,11 @@ import { CommandModule as YargsCommandModule, Options as YargsOptions, } from 'yargs'; -import { Parser } from 'yargs/helpers'; +import { Parser as yargsParser } from 'yargs/helpers'; import { createAnalytics } from '../analytics/analytics'; import { AngularWorkspace } from '../utilities/config'; import { Option } from './utilities/json-schema'; -const yargsParser = Parser as unknown as typeof Parser.default & { - camelCase(str: string): string; -}; - export type Options = { [key in keyof T as CamelCaseKey]: T[key] }; export enum CommandScope { From 92528b1df31a40770355ead7bbe76cf3fe3ccea7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 16:34:31 +0100 Subject: [PATCH 0164/1388] refactor(@angular/cli): several small refactoring and code quality improvements This PR brings a number of small refactors to improve code quality in the new args parser implementation. --- packages/angular/cli/lib/cli/index.ts | 3 +- .../architect-base-command-module.ts | 18 +------- .../architect-command-module.ts | 16 ++----- .../cli/src/command-builder/command-module.ts | 42 +++++++++++++------ .../cli/src/command-builder/command-runner.ts | 14 +++---- .../command-builder/utilities/architect.ts | 16 ------- .../command-builder/utilities/json-help.ts | 10 ++--- .../angular/cli/src/commands/analytics/cli.ts | 3 +- .../commands/analytics/long-description.md | 2 + .../src/commands/config/long-description.md | 4 +- .../cli/src/commands/make-this-awesome/cli.ts | 1 + .../angular/cli/src/commands/version/cli.ts | 2 +- .../e2e/tests/commands/help/help-json.ts | 41 +++++++++--------- 13 files changed, 76 insertions(+), 96 deletions(-) delete mode 100644 packages/angular/cli/src/command-builder/utilities/architect.ts diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index e1d43055d8e6..ef2f15d766de 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { schema } from '@angular-devkit/core'; import { createConsoleLogger } from '@angular-devkit/core/node'; import { format } from 'util'; import { CommandModuleError } from '../../src/command-builder/command-module'; @@ -79,7 +78,7 @@ export default async function (options: { testing?: boolean; cliArgs: string[] } try { return await runCommand(options.cliArgs, logger, workspace); } catch (err) { - if (err instanceof CommandModuleError || err instanceof schema.SchemaValidationException) { + if (err instanceof CommandModuleError) { logger.fatal(`Error: ${err.message}`); } else if (err instanceof Error) { try { diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index aa328185d882..0582d9a6e472 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -31,7 +31,6 @@ export abstract class ArchitectBaseCommandModule protected readonly missingErrorTarget: string | undefined; protected async runSingleTarget(target: Target, options: OtherOptions): Promise { - // Remove options const architectHost = await this.getArchitectHost(); let builderName: string; @@ -69,10 +68,7 @@ export abstract class ArchitectBaseCommandModule return this._architectHost; } - const { workspace } = this.context; - if (!workspace) { - throw new CommandModuleError('A workspace is required for this command.'); - } + const workspace = this.getWorkspaceOrThrow(); return (this._architectHost = new WorkspaceNodeModulesArchitectHost( workspace, @@ -90,23 +86,13 @@ export abstract class ArchitectBaseCommandModule registry.addPostTransform(json.schema.transforms.addUndefinedDefaults); registry.useXDeprecatedProvider((msg) => this.context.logger.warn(msg)); - const { workspace } = this.context; - if (!workspace) { - throw new CommandModuleError('Cannot invoke this command outside of a workspace'); - } - const architectHost = this.getArchitectHost(); return (this._architect = new Architect(architectHost, registry)); } protected async getArchitectTargetOptions(target: Target): Promise { - const { workspace } = this.context; - if (!workspace) { - throw new CommandModuleError('A workspace is required for this command.'); - } - - const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath); + const architectHost = this.getArchitectHost(); const builderConf = await architectHost.getBuilderNameForTarget(target); let builderDesc; diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index 7aac582015e2..8b46470f9d86 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -58,14 +58,8 @@ export abstract class ArchitectCommandModule } async run(options: Options & OtherOptions): Promise { - const { logger, workspace } = this.context; - if (!workspace) { - logger.fatal('A workspace is required for this command.'); - - return 1; - } - const target = this.getArchitectTarget(); + const { configuration = '', project, ...architectOptions } = options; if (!project) { @@ -112,15 +106,11 @@ export abstract class ArchitectCommandModule } private getArchitectTarget(): string { - // 'build [project]' -> 'build' - return this.command?.split(' ', 1)[0]; + return this.commandName; } private getProjectNamesByTarget(target: string): string[] | undefined { - const workspace = this.context.workspace; - if (!workspace) { - throw new CommandModuleError('A workspace is required for this command.'); - } + const workspace = this.getWorkspaceOrThrow(); const allProjectsForTargetName: string[] = []; for (const [name, project] of workspace.projects) { diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 9d1a5fa72574..85c003ac4a6a 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging, normalize, strings } from '@angular-devkit/core'; +import { analytics, logging, normalize, schema, strings } from '@angular-devkit/core'; import { readFileSync } from 'fs'; import * as path from 'path'; import { @@ -38,7 +38,7 @@ export interface CommandContext { root: string; workspace?: AngularWorkspace; logger: logging.Logger; - /** Arguments parsed in free from without parser configuration. */ + /** Arguments parsed in free-from without parser configuration. */ args: { positional: string[]; options: { @@ -121,16 +121,25 @@ export abstract class CommandModule implements CommandModuleI await this.reportAnalytics(camelCasedOptions); } - // Run and time command. - const startTime = Date.now(); - const result = await this.run(camelCasedOptions as Options & OtherOptions); - const endTime = Date.now(); - - analytics.timing(this.commandName, 'duration', endTime - startTime); - await analytics.flush(); - - if (typeof result === 'number' && result > 0) { - process.exitCode = result; + let exitCode: number | void | undefined; + try { + // Run and time command. + const startTime = Date.now(); + exitCode = await this.run(camelCasedOptions as Options & OtherOptions); + const endTime = Date.now(); + analytics.timing(this.commandName, 'duration', endTime - startTime); + await analytics.flush(); + } catch (e) { + if (e instanceof schema.SchemaValidationException) { + this.context.logger.fatal(`Error: ${e.message}`); + exitCode = 1; + } else { + throw e; + } + } finally { + if (typeof exitCode === 'number' && exitCode > 0) { + process.exitCode = exitCode; + } } } @@ -223,6 +232,15 @@ export abstract class CommandModule implements CommandModuleI return localYargs; } + + protected getWorkspaceOrThrow(): AngularWorkspace { + const { workspace } = this.context; + if (!workspace) { + throw new CommandModuleError('A workspace is required for this command.'); + } + + return workspace; + } } /** diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index e60811d58bc1..f2fc06776ceb 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -90,22 +90,22 @@ export async function runCommand( } } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const commandModule = new CommandModule(context) as any; + const commandModule = new CommandModule(context); const describe = jsonHelp ? commandModule.fullDescribe : commandModule.describe; localYargs = localYargs.command({ command: commandModule.command, - aliases: commandModule.aliases, + aliases: 'aliases' in commandModule ? commandModule.aliases : undefined, describe: // We cannot add custom fields in help, such as long command description which is used in AIO. - // Therefore, we get around this by adding a complex object as a string which we later parse when geneerating the help files. + // Therefore, we get around this by adding a complex object as a string which we later parse when generating the help files. describe !== undefined && typeof describe === 'object' ? JSON.stringify(describe) : describe, - deprecated: commandModule.deprecated, - builder: (x) => commandModule.builder(x), - handler: (x) => commandModule.handler(x), + deprecated: 'deprecated' in commandModule ? commandModule.deprecated : undefined, + builder: (argv) => commandModule.builder(argv) as yargs.Argv, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + handler: (args: any) => commandModule.handler(args), }); } diff --git a/packages/angular/cli/src/command-builder/utilities/architect.ts b/packages/angular/cli/src/command-builder/utilities/architect.ts deleted file mode 100644 index 3b756db992c8..000000000000 --- a/packages/angular/cli/src/command-builder/utilities/architect.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Target } from '@angular-devkit/architect'; -import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; -import { json } from '@angular-devkit/core'; -import { existsSync } from 'fs'; -import { resolve } from 'path'; -import { getPackageManager } from '../../utilities/package-manager'; -import { CommandContext, CommandModuleError } from '../command-module'; -import { Option, parseJsonSchemaToOptions } from './json-schema'; diff --git a/packages/angular/cli/src/command-builder/utilities/json-help.ts b/packages/angular/cli/src/command-builder/utilities/json-help.ts index 047fcdc3fa6c..8e51e1153647 100644 --- a/packages/angular/cli/src/command-builder/utilities/json-help.ts +++ b/packages/angular/cli/src/command-builder/utilities/json-help.ts @@ -11,7 +11,7 @@ import { FullDescribe } from '../command-module'; export interface JsonHelp { name: string; - description?: string; + shortDescription?: string; command: string; longDescription?: string; longDescriptionRelativePath?: string; @@ -111,22 +111,22 @@ export function jsonHelpUsage(): string { })) .sort((a, b) => a.name.localeCompare(b.name)); - const parseDescription = (rawDescription: string) => { + const parseDescription = (rawDescription: string): Partial => { try { const { longDescription, - describe: description, + describe: shortDescription, longDescriptionRelativePath, } = JSON.parse(rawDescription) as FullDescribe; return { - description, + shortDescription, longDescriptionRelativePath, longDescription, }; } catch { return { - description: rawDescription, + shortDescription: rawDescription, }; } }; diff --git a/packages/angular/cli/src/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts index ea70271fd10c..47d85a3604cf 100644 --- a/packages/angular/cli/src/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -22,8 +22,7 @@ interface AnalyticsCommandArgs { export class AnalyticsCommandModule extends CommandModule { command = 'analytics '; - describe = - 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering.'; + describe = 'Configures the gathering of Angular CLI usage metrics.'; longDescriptionPath = join(__dirname, 'long-description.md'); builder(localYargs: Argv): Argv { diff --git a/packages/angular/cli/src/commands/analytics/long-description.md b/packages/angular/cli/src/commands/analytics/long-description.md index ada011b82d31..6900aea53a45 100644 --- a/packages/angular/cli/src/commands/analytics/long-description.md +++ b/packages/angular/cli/src/commands/analytics/long-description.md @@ -6,3 +6,5 @@ The value of `setting-or-project` is one of the following. which uses a common CI user. - `prompt`: Prompts the user to set the status interactively. - `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`. + +For further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering). diff --git a/packages/angular/cli/src/commands/config/long-description.md b/packages/angular/cli/src/commands/config/long-description.md index 2ed7e8c7a6c6..78cc49e45662 100644 --- a/packages/angular/cli/src/commands/config/long-description.md +++ b/packages/angular/cli/src/commands/config/long-description.md @@ -6,6 +6,8 @@ or indirectly on the command line using this command. The configurable property names match command option names, except that in the configuration file, all names must use camelCase, -while on the command line options can be given in either camelCase or dash-case. +while on the command line options can be given dash-case. For further details, see [Workspace Configuration](guide/workspace-config). + +For configuration of CLI usage analytics, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering). diff --git a/packages/angular/cli/src/commands/make-this-awesome/cli.ts b/packages/angular/cli/src/commands/make-this-awesome/cli.ts index 45b77f36da93..83bcd9df3740 100644 --- a/packages/angular/cli/src/commands/make-this-awesome/cli.ts +++ b/packages/angular/cli/src/commands/make-this-awesome/cli.ts @@ -13,6 +13,7 @@ import { colors } from '../../utilities/color'; export class AwesomeCommandModule extends CommandModule implements CommandModuleImplementation { command = 'make-this-awesome'; describe: false = false; + deprecated = false; longDescriptionPath?: string | undefined; builder(localYargs: Argv): Argv { diff --git a/packages/angular/cli/src/commands/version/cli.ts b/packages/angular/cli/src/commands/version/cli.ts index 9ed6f288740e..3523fd243f86 100644 --- a/packages/angular/cli/src/commands/version/cli.ts +++ b/packages/angular/cli/src/commands/version/cli.ts @@ -24,7 +24,7 @@ interface PartialPackageInfo { /** * Major versions of Node.js that are officially supported by Angular. */ -const SUPPORTED_NODE_MAJORS = [12, 14, 16]; +const SUPPORTED_NODE_MAJORS = [14, 16]; const PACKAGE_PATTERNS = [ /^@angular\/.*/, diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 9c54564fa850..3c8786e06ee1 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -3,33 +3,32 @@ import { silentNg } from '../../../utils/process'; export default async function () { // This test is use as a sanity check. const addHelpOutputSnapshot = JSON.stringify({ - name: 'analytics', - command: 'ng analytics ', - description: - 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering.', - longDescriptionRelativePath: '@angular/cli/src/commands/analytics/long-description.md', - longDescription: - 'The value of `setting-or-project` is one of the following.\n\n- `on`: Enables analytics gathering and reporting for the user.\n- `off`: Disables analytics gathering and reporting for the user.\n- `ci`: Enables analytics and configures reporting for use with Continuous Integration,\n which uses a common CI user.\n- `prompt`: Prompts the user to set the status interactively.\n- `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`.\n', - options: [ + 'name': 'analytics', + 'command': 'ng analytics ', + 'shortDescription': 'Configures the gathering of Angular CLI usage metrics.', + 'longDescriptionRelativePath': '@angular/cli/src/commands/analytics/long-description.md', + 'longDescription': + 'The value of `setting-or-project` is one of the following.\n\n- `on`: Enables analytics gathering and reporting for the user.\n- `off`: Disables analytics gathering and reporting for the user.\n- `ci`: Enables analytics and configures reporting for use with Continuous Integration,\n which uses a common CI user.\n- `prompt`: Prompts the user to set the status interactively.\n- `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`.\n\nFor further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering).\n', + 'options': [ { - name: 'help', - type: 'boolean', - description: 'Shows a help message for this command in the console.', + 'name': 'help', + 'type': 'boolean', + 'description': 'Shows a help message for this command in the console.', }, { - name: 'project-setting', - type: 'string', - enum: ['on', 'off', 'prompt'], - description: 'Sets the default analytics enablement status for the project.', - positional: 1, + 'name': 'project-setting', + 'type': 'string', + 'enum': ['on', 'off', 'prompt'], + 'description': 'Sets the default analytics enablement status for the project.', + 'positional': 1, }, { - name: 'setting-or-project', - type: 'string', - enum: ['on', 'off', 'ci', 'prompt'], - description: + 'name': 'setting-or-project', + 'type': 'string', + 'enum': ['on', 'off', 'ci', 'prompt'], + 'description': 'Directly enables or disables all usage analytics for the user, or prompts the user to set the status interactively, or sets the default status for the project.', - positional: 0, + 'positional': 0, }, ], }); From 8673e3d36bccfd073b50fc6de3578425b94abcce Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Mar 2022 15:58:52 +0000 Subject: [PATCH 0165/1388] build: update all non-major dependencies --- package.json | 8 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- .../schematics_cli/package.json | 2 +- yarn.lock | 92 +++++++++++-------- 5 files changed, 64 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index 45605ca39ae2..5ceb9523d22b 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", - "css-loader": "6.7.0", + "css-loader": "6.7.1", "debug": "^4.1.1", "esbuild": "0.14.25", "esbuild-wasm": "0.14.25", @@ -148,7 +148,7 @@ "https-proxy-agent": "5.0.0", "husky": "7.0.4", "ini": "2.0.0", - "inquirer": "8.2.0", + "inquirer": "8.2.1", "jasmine": "^3.3.1", "jasmine-core": "~3.10.0", "jasmine-spec-reporter": "~7.0.0", @@ -185,7 +185,7 @@ "postcss-preset-env": "7.4.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.5.0", + "puppeteer": "13.5.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -210,7 +210,7 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.5.5", - "verdaccio": "5.7.0", + "verdaccio": "5.7.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.70.0", "webpack-dev-middleware": "5.3.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index b25577341b17..3ddcc8d9a078 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -33,7 +33,7 @@ "ansi-colors": "4.1.1", "debug": "4.3.3", "ini": "2.0.0", - "inquirer": "8.2.0", + "inquirer": "8.2.1", "jsonc-parser": "3.0.0", "npm-package-arg": "9.0.0", "npm-pick-manifest": "7.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e65a396b5fd6..8e482945e981 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,11 +29,11 @@ "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", - "css-loader": "6.7.0", + "css-loader": "6.7.1", "esbuild-wasm": "0.14.25", "glob": "7.2.0", "https-proxy-agent": "5.0.0", - "inquirer": "8.2.0", + "inquirer": "8.2.1", "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index c43fa8bbc719..4fc7343546fa 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -19,7 +19,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "inquirer": "8.2.0", + "inquirer": "8.2.1", "symbol-observable": "4.0.0", "yargs-parser": "21.0.1" } diff --git a/yarn.lock b/yarn.lock index 597b61bbf691..965aef15b5fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2354,10 +2354,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.20": - version "6.0.0-6-next.20" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.20.tgz#359ce91c1d7f00a9696cee282988fab667450dab" - integrity sha512-Mr3sNJ577lMartUC3Dbu1nTZP+wXISFI20SwjI9JmQLBw6CRZtwyUbQCrrLYiT34BMVMxC4kC9j0akxLCCcDTw== +"@verdaccio/ui-theme@6.0.0-6-next.21": + version "6.0.0-6-next.21" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.21.tgz#cf5d023af8875d049c98f2f4239c93cc1b2e0ded" + integrity sha512-0lFMfUHJIJp37VTjDCXToOT2Ybqb3mzhhLbOJUX6r42BeFUz//oTxOvPBfHZcpIz2IZ22ykQ7khYt1ODH7t+SA== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3795,10 +3795,10 @@ css-loader@6.6.0: postcss-value-parser "^4.2.0" semver "^7.3.5" -css-loader@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.0.tgz#c1200da1dfffe6643b18bda20fdd84cad3e36d39" - integrity sha512-S7HCfCiDHLA+VXKqdZwyRZgoO0R9BnKDnVIoHMq5grl3N86zAu7MB+FBWHr5xOJC8SmvpTLha/2NpfFkFEN/ig== +css-loader@6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" + integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== dependencies: icss-utils "^5.1.0" postcss "^8.4.7" @@ -3905,10 +3905,10 @@ date-format@^4.0.4: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.4.tgz#b58036e29e74121fca3e1b3e0dc4a62c65faa233" integrity sha512-/jyf4rhB17ge328HJuJjAcmRtCsGd+NDeAtahRBTaK6vSPR6MO5HlrAit3Nn7dVjaa6sowW0WXt8yQtLyZQFRg== -dayjs@1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" - integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== +dayjs@1.10.8: + version "1.10.8" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz#267df4bc6276fcb33c04a6735287e3f429abec41" + integrity sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -5996,6 +5996,26 @@ inquirer@8.2.0: strip-ansi "^6.0.0" through "^2.3.6" +inquirer@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.1.tgz#e00022e3e8930a92662f760f020686530a84671d" + integrity sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -7222,13 +7242,6 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - minimatch@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.0.tgz#281d8402aaaeed18a9e8406ad99c46a19206c6ef" @@ -8692,10 +8705,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.5.0: - version "13.5.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.0.tgz#fd30692fbed18bd4964dce3517cc952af9b45d7d" - integrity sha512-raPr2YZ3RZLboGwt7jJgusJTBRDaVEUiPOSOWWFLV1oj07xqT5UqqbjmNXFXlMlkhF/NwmcEInW64VhvyllVdw== +puppeteer@13.5.1: + version "13.5.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.1.tgz#d0f751bf36120efc2ebf74c7562a204a84e500e9" + integrity sha512-wWxO//vMiqxlvuzHMAJ0pRJeDHvDtM7DQpW1GKdStz2nZo2G42kOXBDgkmQ+zqjwMCFofKGesBeeKxIkX9BO+w== dependencies: cross-fetch "3.1.5" debug "4.3.3" @@ -9253,6 +9266,13 @@ rxjs@^7.2.0, rxjs@^7.5.2: dependencies: tslib "^2.1.0" +rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -10639,10 +10659,10 @@ verdaccio-auth-memory@^10.0.0: dependencies: "@verdaccio/commons-api" "10.2.0" -verdaccio-htpasswd@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.2.0.tgz#1f76ada84a727eef852e75bbf4b1f8b4b0919f06" - integrity sha512-OH62dbSWXSXZNQMTslHrNtaAZOx8is0mcJzcQV2bE9fnLEH2EJ+9JBC5helOaBEckBojuiif4xlmg9VTFeVZQw== +verdaccio-htpasswd@10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.3.0.tgz#c54ee8fddcebfff14a9ca81e346365bf150eddf5" + integrity sha512-UbMF9kbqo2tvOrdbC3MryE6/iXy54XlqDKpFWUKS5MTjFhP9BdQNgyTjBCM/mubO3JJug2TcVdmu/si8G4891Q== dependencies: "@verdaccio/file-locking" "10.2.0" apache-md5 "1.1.7" @@ -10650,16 +10670,16 @@ verdaccio-htpasswd@10.2.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.7.0.tgz#aa37ac88213b5b818169b66240893e192c9ee922" - integrity sha512-I4EKZ27bU9XnKkubqjPKxNo9unZ5PzgXBnC+79MEjiKKUKCt5N5lZZb4qq9fBbENyfEV51xf7Z274JxbeOXfzQ== +verdaccio@5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.7.1.tgz#533e0c6a5f36e5734f946fe87295682751448997" + integrity sha512-B0u6U/Zwu1tsKZdmor0EnOCD4wWxrolMsizOSB43VGPsDA4tLbvobmZZ9podJKxBX6do3DCJB7BLCIlrJeEihw== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.0" "@verdaccio/readme" "10.3.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.20" + "@verdaccio/ui-theme" "6.0.0-6-next.21" JSONStream "1.3.5" async "3.2.3" body-parser "1.19.1" @@ -10667,11 +10687,11 @@ verdaccio@5.7.0: compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.10.7" + dayjs "1.10.8" debug "^4.3.3" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" - express "4.17.2" + express "4.17.3" express-rate-limit "5.5.1" fast-safe-stringify "2.1.1" handlebars "4.7.7" @@ -10685,7 +10705,7 @@ verdaccio@5.7.0: marked "4.0.12" memoizee "0.4.15" mime "3.0.0" - minimatch "3.0.4" + minimatch "5.0.1" mkdirp "1.0.4" mv "2.1.1" pino "6.14.0" @@ -10696,7 +10716,7 @@ verdaccio@5.7.0: semver "7.3.5" validator "13.7.0" verdaccio-audit "10.2.0" - verdaccio-htpasswd "10.2.0" + verdaccio-htpasswd "10.3.0" verror@1.10.0: version "1.10.0" From a517160a260f6bb84bdd782ff1c18f2d41334afb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 19:04:13 +0100 Subject: [PATCH 0166/1388] build: fix order of JSON help generation Previoiusly we generated the JSON help files prior to building which caused the `help` directory in the `dist` to be deleted. --- scripts/json-help.ts | 13 ++++++++++++- scripts/snapshots.ts | 8 ++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/scripts/json-help.ts b/scripts/json-help.ts index a58c656851e9..3b98e071f673 100644 --- a/scripts/json-help.ts +++ b/scripts/json-help.ts @@ -15,16 +15,27 @@ import * as path from 'path'; import { packages } from '../lib/packages'; import create from './create'; -export default async function (opts = {}, logger: logging.Logger) { +export async function createTemporaryProject(logger: logging.Logger): Promise { logger.info('Creating temporary project...'); const newProjectTempRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-create-')); const newProjectName = 'help-project'; const newProjectRoot = path.join(newProjectTempRoot, newProjectName); await create({ _: [newProjectName] }, logger.createChild('create'), newProjectTempRoot); + return newProjectRoot; +} + +export interface JsonHelpOptions { + temporaryProjectRoot?: string; +} + +export default async function ({ temporaryProjectRoot }: JsonHelpOptions, logger: logging.Logger) { logger.info('Gathering JSON Help...'); + + const newProjectRoot = temporaryProjectRoot ?? (await createTemporaryProject(logger)); const ngPath = path.join(newProjectRoot, 'node_modules/.bin/ng'); const helpOutputRoot = path.join(packages['@angular/cli'].dist, 'help'); + await fs.mkdir(helpOutputRoot); const runNgCommandJsonHelp = async (args: string[]) => { diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index 9289837ee8ac..02e677524361 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -13,7 +13,7 @@ import * as os from 'os'; import * as path from 'path'; import { PackageInfo, packages } from '../lib/packages'; import build from './build-bazel'; -import jsonHelp from './json-help'; +import jsonHelp, { createTemporaryProject } from './json-help'; // Added to the README.md of the snapshot. This is markdown. const readmeHeaderFn = (pkg: PackageInfo) => ` @@ -164,12 +164,16 @@ export default async function (opts: SnapshotsOptions, logger: logging.Logger) { _exec('git', ['config', '--global', 'push.default', 'simple'], {}, logger); } - await jsonHelp(undefined, logger); + // This is needed as otherwise when we run `devkit admin create` after `bazel build` the `dist` + // will be overridden with the output of the legacy build. + const temporaryProjectRoot = await createTemporaryProject(logger); // Run build. logger.info('Building...'); await build({ snapshot: true }, logger.createChild('build')); + await jsonHelp({ temporaryProjectRoot }, logger); + if (!githubToken) { logger.info('No token given, skipping actual publishing...'); From a6d78a961a3287f319983500ac223fcd2c6633b6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 21:26:25 +0100 Subject: [PATCH 0167/1388] refactor(@angular/cli): always use posix separator in `longDescriptionRelativePath` Needed for consistency that will fix a Windows CI failure --- packages/angular/cli/src/command-builder/command-module.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 85c003ac4a6a..6d74dae8a45e 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -89,10 +89,9 @@ export abstract class CommandModule implements CommandModuleI describe: this.describe, ...(this.longDescriptionPath ? { - longDescriptionRelativePath: path.relative( - path.join(__dirname, '../../../../'), - this.longDescriptionPath, - ), + longDescriptionRelativePath: path + .relative(path.join(__dirname, '../../../../'), this.longDescriptionPath) + .replace(/\\/g, path.posix.sep), longDescription: readFileSync(this.longDescriptionPath, 'utf8'), } : {}), From 425984eaffb2531450a74fd65772ba252c3dd034 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 9 Mar 2022 13:02:13 -0800 Subject: [PATCH 0168/1388] release: cut the v14.0.0-next.5 release --- CHANGELOG.md | 37 +++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fa79e1422f4..675e66ec29b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,40 @@ + + +# 14.0.0-next.5 (2022-03-09) + +## Breaking Changes + +### @angular/cli + +- Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later. + +- Several changes in the Angular CLI commands and arguments handling. + +- `ng help` has been removed in favour of the `—-help` option. +- `ng —-version` has been removed in favour of `ng version` and `ng v`. +- Deprecated camel cased arguments are no longer supported. Ex. using `—-sourceMap` instead of `—-source-map` will result in an error. +- `ng update`, `—-migrate-only` option no longer accepts a string of migration name, instead use `—-migrate-only -—name `. +- `—-help json` help has been removed. + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------- | +| [4ebfe0341](https://github.com/angular/angular-cli/commit/4ebfe03415ebe4e8f1625286d1be8bd1b54d3862) | feat | drop support for Node.js 12 | +| [2e0493130](https://github.com/angular/angular-cli/commit/2e0493130acfe7244f7ee3ef28c961b1b04d7722) | refactor | replace command line arguments parser | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------ | +| [e28c71597](https://github.com/angular/angular-cli/commit/e28c7159725a6d23b218dc6e0f317fc6123173f7) | fix | ignore css only chunks during naming | + +## Special Thanks + +Alan Agius + + + # 14.0.0-next.4 (2022-03-02) diff --git a/package.json b/package.json index 5ceb9523d22b..42ada70e598d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.4", + "version": "14.0.0-next.5", "private": true, "description": "Software Development Kit for Angular", "bin": { From df6ec4d522508b64b2987dab37802e4713a9a75f Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 9 Mar 2022 14:11:12 -0800 Subject: [PATCH 0169/1388] docs: release notes for the v13.2.6 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 675e66ec29b2..81a2190120ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.2.6 (2022-03-09) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------ | +| [90a5531b1](https://github.com/angular/angular-cli/commit/90a5531b1fbe4043ab47f921ad6b858d34e7c7d0) | fix | ignore css only chunks during naming | + +## Special Thanks + +Alan Agius, Charles Lyding and Daniele Maltese + + + # 14.0.0-next.5 (2022-03-09) From 6d37ffcd66aa24da5ee488231d87e2abfc995219 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Mar 2022 08:25:07 +0100 Subject: [PATCH 0170/1388] refactor(@angular/cli): replace `longDescription` line endings with `\n` Needed to fix Windows CI --- packages/angular/cli/src/command-builder/command-module.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 6d74dae8a45e..a47e7c416714 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -92,7 +92,10 @@ export abstract class CommandModule implements CommandModuleI longDescriptionRelativePath: path .relative(path.join(__dirname, '../../../../'), this.longDescriptionPath) .replace(/\\/g, path.posix.sep), - longDescription: readFileSync(this.longDescriptionPath, 'utf8'), + longDescription: readFileSync(this.longDescriptionPath, 'utf8').replace( + /\r\n/g, + '\n', + ), } : {}), }; From 9edeb86146131878c5e8b21b6adaa24a26f12453 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Mar 2022 10:16:41 +0100 Subject: [PATCH 0171/1388] fix(@angular/cli): add long description to `ng update` The long-description.md was not referenced in `UpdateCommandModule`. --- packages/angular/cli/src/commands/update/cli.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index ee57fce365da..e7aa7ead0955 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { join } from 'path'; import { Argv } from 'yargs'; import { CommandModule, @@ -33,7 +34,7 @@ export class UpdateCommandModule extends CommandModule { command = 'update [packages..]'; describe = 'Updates your workspace and its dependencies. See https://update.angular.io/.'; - longDescriptionPath?: string | undefined; + longDescriptionPath = join(__dirname, 'long-description.md'); builder(localYargs: Argv): Argv { return localYargs From 96a0d92da2903edfb3835ce86b3700629d6e43ad Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Mar 2022 08:38:59 +0100 Subject: [PATCH 0172/1388] fix(@angular/cli): remove JSON serialized description from help output With this change we remove the JSON serialized description from the help output and also align the description properties between commands and subcommands. --- .../command-builder/utilities/json-help.ts | 78 ++++++++++--------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/packages/angular/cli/src/command-builder/utilities/json-help.ts b/packages/angular/cli/src/command-builder/utilities/json-help.ts index 8e51e1153647..6c07dd2b8d4a 100644 --- a/packages/angular/cli/src/command-builder/utilities/json-help.ts +++ b/packages/angular/cli/src/command-builder/utilities/json-help.ts @@ -9,21 +9,6 @@ import yargs from 'yargs'; import { FullDescribe } from '../command-module'; -export interface JsonHelp { - name: string; - shortDescription?: string; - command: string; - longDescription?: string; - longDescriptionRelativePath?: string; - options: JsonHelpOption[]; - subcommands?: { - name: string; - description: string; - aliases: string[]; - deprecated: string | boolean; - }[]; -} - interface JsonHelpOption { name: string; type?: string; @@ -36,6 +21,25 @@ interface JsonHelpOption { description?: string; } +interface JsonHelpDescription { + shortDescription?: string; + longDescription?: string; + longDescriptionRelativePath?: string; +} + +interface JsonHelpSubcommand extends JsonHelpDescription { + name: string; + aliases: string[]; + deprecated: string | boolean; +} + +export interface JsonHelp extends JsonHelpDescription { + name: string; + command: string; + options: JsonHelpOption[]; + subcommands?: JsonHelpSubcommand[]; +} + export function jsonHelpUsage(): string { // eslint-disable-next-line @typescript-eslint/no-explicit-any const localYargs = yargs as any; @@ -102,35 +106,15 @@ export function jsonHelpUsage(): string { deprecated: string | boolean, ][] ) - .map(([name, description, _, aliases, deprecated]) => ({ + .map(([name, rawDescription, _, aliases, deprecated]) => ({ name: name.split(' ', 1)[0], command: name, - description, + ...parseDescription(rawDescription), aliases, deprecated, })) .sort((a, b) => a.name.localeCompare(b.name)); - const parseDescription = (rawDescription: string): Partial => { - try { - const { - longDescription, - describe: shortDescription, - longDescriptionRelativePath, - } = JSON.parse(rawDescription) as FullDescribe; - - return { - shortDescription, - longDescriptionRelativePath, - longDescription, - }; - } catch { - return { - shortDescription: rawDescription, - }; - } - }; - const [command, rawDescription] = usageInstance.getUsage()[0] ?? []; const output: JsonHelp = { @@ -143,3 +127,23 @@ export function jsonHelpUsage(): string { return JSON.stringify(output, undefined, 2); } + +function parseDescription(rawDescription: string): JsonHelpDescription { + try { + const { + longDescription, + describe: shortDescription, + longDescriptionRelativePath, + } = JSON.parse(rawDescription) as FullDescribe; + + return { + shortDescription, + longDescriptionRelativePath, + longDescription, + }; + } catch { + return { + shortDescription: rawDescription, + }; + } +} From 7fa3e6587955d0638929758d3c257392c242c796 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Mar 2022 12:28:17 +0100 Subject: [PATCH 0173/1388] feat(@angular/cli): support TypeScript 4.6.2 BREAKING CHANGE: Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6. --- package.json | 32 +- .../angular_devkit/architect/src/architect.ts | 2 +- .../architect/src/schedule-by-name.ts | 2 +- .../angular_devkit/build_angular/package.json | 2 +- .../blank/project-files/package.json | 2 +- .../schematic/files/package.json | 2 +- packages/ngtools/webpack/package.json | 6 +- .../transformers/replace_resources_spec.ts | 2 +- .../Microsoft/TypeScript/BUILD.bazel | 9 +- .../Microsoft/TypeScript/lib/typescript.d.ts | 45 +- .../Microsoft/TypeScript/lib/typescript.js | 7896 ++++++++++------- .../utility/latest-versions/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 199 +- 14 files changed, 5033 insertions(+), 3202 deletions(-) diff --git a/package.json b/package.json index 42ada70e598d..16f567bf902d 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.4", - "@angular/cdk": "14.0.0-next.4", - "@angular/common": "14.0.0-next.4", - "@angular/compiler": "14.0.0-next.4", - "@angular/compiler-cli": "14.0.0-next.4", - "@angular/core": "14.0.0-next.4", + "@angular/animations": "14.0.0-next.6", + "@angular/cdk": "14.0.0-next.6", + "@angular/common": "14.0.0-next.6", + "@angular/compiler": "14.0.0-next.6", + "@angular/compiler-cli": "14.0.0-next.6", + "@angular/core": "14.0.0-next.6", "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a", - "@angular/forms": "14.0.0-next.4", - "@angular/localize": "14.0.0-next.4", - "@angular/material": "14.0.0-next.4", - "@angular/platform-browser": "14.0.0-next.4", - "@angular/platform-browser-dynamic": "14.0.0-next.4", - "@angular/platform-server": "14.0.0-next.4", - "@angular/router": "14.0.0-next.4", - "@angular/service-worker": "14.0.0-next.4", + "@angular/forms": "14.0.0-next.6", + "@angular/localize": "14.0.0-next.6", + "@angular/material": "14.0.0-next.6", + "@angular/platform-browser": "14.0.0-next.6", + "@angular/platform-browser-dynamic": "14.0.0-next.6", + "@angular/platform-server": "14.0.0-next.6", + "@angular/router": "14.0.0-next.6", + "@angular/service-worker": "14.0.0-next.6", "@babel/core": "7.17.5", "@babel/generator": "7.17.3", "@babel/helper-annotate-as-pure": "7.16.7", @@ -168,7 +168,7 @@ "magic-string": "0.26.1", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.1", + "ng-packagr": "14.0.0-next.2", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.0", "open": "8.4.0", @@ -209,7 +209,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.3.1", - "typescript": "4.5.5", + "typescript": "4.6.2", "verdaccio": "5.7.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.70.0", diff --git a/packages/angular_devkit/architect/src/architect.ts b/packages/angular_devkit/architect/src/architect.ts index dff023ea53c5..d852a3113c8b 100644 --- a/packages/angular_devkit/architect/src/architect.ts +++ b/packages/angular_devkit/architect/src/architect.ts @@ -100,7 +100,7 @@ function _createJobHandlerFromBuilderInfo( value: { ...output.value, ...(target ? { target } : 0), - } as json.JsonObject, + } as unknown as json.JsonObject, }; } else { return output; diff --git a/packages/angular_devkit/architect/src/schedule-by-name.ts b/packages/angular_devkit/architect/src/schedule-by-name.ts index d1f8da4b7bc0..f583a7721567 100644 --- a/packages/angular_devkit/architect/src/schedule-by-name.ts +++ b/packages/angular_devkit/architect/src/schedule-by-name.ts @@ -94,7 +94,7 @@ export async function scheduleByName( ...output, ...(options.target ? { target: options.target } : 0), info, - } as BuilderOutput), + } as unknown as BuilderOutput), ), shareReplay(), ); diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 8e482945e981..34fbb05ebd27 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -81,7 +81,7 @@ "ng-packagr": "^14.0.0 || ^14.0.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.4.3 <4.6" + "typescript": "^4.6.2" }, "peerDependenciesMeta": { "@angular/localize": { diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json b/packages/angular_devkit/schematics_cli/blank/project-files/package.json index 8aeeb08a7599..7c5c219e17ab 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/package.json +++ b/packages/angular_devkit/schematics_cli/blank/project-files/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "^<%= coreVersion %>", "@angular-devkit/schematics": "^<%= schematicsVersion %>", - "typescript": "~4.5.2" + "typescript": "~4.6.2" }, "devDependencies": { "@types/node": "^14.15.0", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 27a9b0e7e954..f81aef9910c4 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "^<%= coreVersion %>", "@angular-devkit/schematics": "^<%= schematicsVersion %>", - "typescript": "~4.5.2" + "typescript": "~4.6.2" }, "devDependencies": { "@types/node": "^14.15.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index ea42765bb7de..9fad479275c9 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,9 +28,9 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.4", - "@angular/compiler-cli": "14.0.0-next.4", - "typescript": "4.5.5", + "@angular/compiler": "14.0.0-next.6", + "@angular/compiler-cli": "14.0.0-next.6", + "typescript": "4.6.2", "webpack": "5.70.0" } } diff --git a/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts b/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts index 8647f60957a9..e268aba18986 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources_spec.ts @@ -93,7 +93,7 @@ describe('@ngtools/webpack transformers', () => { let AppComponent = class AppComponent { constructor() { this.title = 'app'; } }; - AppComponent = (0, tslib_1.__decorate)([ + AppComponent = tslib_1.__decorate([ (0, core_1.Component)({ selector: 'app-root', template: require("./app.component.html?ngResource"), diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index ba81101c90dd..1bd61dfaf103 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,7 +1,12 @@ load("//tools:defaults.bzl", "ts_library") -# files fetched on 2021-12-10 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.5.2 +# files fetched on 2022-03-10 from +# https://github.com/microsoft/TypeScript/releases/tag/v4.6.2 + +# Commands to download: +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.6.2/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.6.2/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js + licenses(["notice"]) # Apache 2.0 exports_files([ diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts index 1885ae3396e0..0c1763205539 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts @@ -14,7 +14,7 @@ and limitations under the License. ***************************************************************************** */ declare namespace ts { - const versionMajorMinor = "4.5"; + const versionMajorMinor = "4.6"; /** The version of the TypeScript compiler release */ const version: string; /** @@ -572,7 +572,7 @@ declare namespace ts { } export interface JSDocContainer { } - export type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ClassStaticBlockDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | EndOfFileToken; + export type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ClassStaticBlockDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | ExportSpecifier | EndOfFileToken; export type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; export type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement; export type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; @@ -897,7 +897,7 @@ declare namespace ts { export interface TypePredicateNode extends TypeNode { readonly kind: SyntaxKind.TypePredicate; readonly parent: SignatureDeclaration | JSDocTypeExpression; - readonly assertsModifier?: AssertsToken; + readonly assertsModifier?: AssertsKeyword; readonly parameterName: Identifier | ThisTypeNode; readonly type?: TypeNode; } @@ -968,7 +968,7 @@ declare namespace ts { } export interface MappedTypeNode extends TypeNode, Declaration { readonly kind: SyntaxKind.MappedType; - readonly readonlyToken?: ReadonlyToken | PlusToken | MinusToken; + readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken; readonly typeParameter: TypeParameterDeclaration; readonly nameType?: TypeNode; readonly questionToken?: QuestionToken | PlusToken | MinusToken; @@ -1465,7 +1465,7 @@ declare namespace ts { } export interface ForOfStatement extends IterationStatement { readonly kind: SyntaxKind.ForOfStatement; - readonly awaitModifier?: AwaitKeywordToken; + readonly awaitModifier?: AwaitKeyword; readonly initializer: ForInitializer; readonly expression: Expression; } @@ -1652,7 +1652,7 @@ declare namespace ts { readonly kind: SyntaxKind.AssertEntry; readonly parent: AssertClause; readonly name: AssertionKey; - readonly value: StringLiteral; + readonly value: Expression; } export interface AssertClause extends Node { readonly kind: SyntaxKind.AssertClause; @@ -1702,7 +1702,7 @@ declare namespace ts { readonly name: Identifier; readonly isTypeOnly: boolean; } - export interface ExportSpecifier extends NamedDeclaration { + export interface ExportSpecifier extends NamedDeclaration, JSDocContainer { readonly kind: SyntaxKind.ExportSpecifier; readonly parent: NamedExports; readonly isTypeOnly: boolean; @@ -1720,19 +1720,23 @@ declare namespace ts { readonly parent: ImportClause & { readonly isTypeOnly: true; }; - } | ImportSpecifier & { + } | ImportSpecifier & ({ + readonly isTypeOnly: true; + } | { readonly parent: NamedImports & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; }; - } | ExportSpecifier & { + }) | ExportSpecifier & ({ + readonly isTypeOnly: true; + } | { readonly parent: NamedExports & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; }; }; - }; + }); /** * This is either an `export =` or an `export default` declaration. * Unless `isExportEquals` is set, this node was parsed as an `export default`. @@ -3078,6 +3082,7 @@ declare namespace ts { ES2019 = 6, ES2020 = 7, ES2021 = 8, + ES2022 = 9, ESNext = 99, JSON = 100, Latest = 99 @@ -3343,7 +3348,7 @@ declare namespace ts { createTrue(): TrueLiteral; createFalse(): FalseLiteral; createModifier(kind: T): ModifierToken; - createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[]; + createModifiersFromModifierFlags(flags: ModifierFlags): Modifier[] | undefined; createQualifiedName(left: EntityName, right: string | Identifier): QualifiedName; updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; createComputedPropertyName(expression: Expression): ComputedPropertyName; @@ -3575,8 +3580,8 @@ declare namespace ts { updateImportClause(node: ImportClause, isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; createAssertClause(elements: NodeArray, multiLine?: boolean): AssertClause; updateAssertClause(node: AssertClause, elements: NodeArray, multiLine?: boolean): AssertClause; - createAssertEntry(name: AssertionKey, value: StringLiteral): AssertEntry; - updateAssertEntry(node: AssertEntry, name: AssertionKey, value: StringLiteral): AssertEntry; + createAssertEntry(name: AssertionKey, value: Expression): AssertEntry; + updateAssertEntry(node: AssertEntry, name: AssertionKey, value: Expression): AssertEntry; createNamespaceImport(name: Identifier): NamespaceImport; updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; createNamespaceExport(name: Identifier): NamespaceExport; @@ -5351,7 +5356,11 @@ declare namespace ts { traceResolution?: boolean; [option: string]: CompilerOptionsValue | undefined; } - type ReportEmitErrorSummary = (errorCount: number) => void; + type ReportEmitErrorSummary = (errorCount: number, filesInError: (ReportFileInError | undefined)[]) => void; + interface ReportFileInError { + fileName: string; + line: number; + } interface SolutionBuilderHostBase extends ProgramHost { createDirectory?(path: string): void; /** @@ -5559,6 +5568,7 @@ declare namespace ts { isTypeParameter(): this is TypeParameter; isClassOrInterface(): this is InterfaceType; isClass(): this is InterfaceType; + isIndexType(): this is IndexType; } interface TypeReference { typeArguments?: readonly Type[]; @@ -5567,6 +5577,7 @@ declare namespace ts { getDeclaration(): SignatureDeclaration; getTypeParameters(): TypeParameter[] | undefined; getParameters(): Symbol[]; + getTypeParameterAtPosition(pos: number): Type; getReturnType(): Type; getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[]; getJsDocTags(): JSDocTagInfo[]; @@ -5753,8 +5764,9 @@ declare namespace ts { * @param position A zero-based index of the character where you want the entries * @param options An object describing how the request was triggered and what kinds * of code actions can be returned with the completions. + * @param formattingSettings settings needed for calling formatting functions. */ - getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined): WithMetadata | undefined; + getCompletionsAtPosition(fileName: string, position: number, options: GetCompletionsAtPositionOptions | undefined, formattingSettings?: FormatCodeSettings): WithMetadata | undefined; /** * Gets the extended details for a completion entry retrieved from `getCompletionsAtPosition`. * @@ -6586,6 +6598,7 @@ declare namespace ts { externalModuleName = "external module name", /** * + * @deprecated */ jsxAttribute = "JSX attribute", /** String literal */ @@ -6855,7 +6868,7 @@ declare namespace ts { /** @deprecated Use `factory.createModifier` or the factory supplied by your transformation context instead. */ const createModifier: (kind: T) => ModifierToken; /** @deprecated Use `factory.createModifiersFromModifierFlags` or the factory supplied by your transformation context instead. */ - const createModifiersFromModifierFlags: (flags: ModifierFlags) => Modifier[]; + const createModifiersFromModifierFlags: (flags: ModifierFlags) => Modifier[] | undefined; /** @deprecated Use `factory.createQualifiedName` or the factory supplied by your transformation context instead. */ const createQualifiedName: (left: EntityName, right: string | Identifier) => QualifiedName; /** @deprecated Use `factory.updateQualifiedName` or the factory supplied by your transformation context instead. */ diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index 6076298b6efe..89cc0ba3ffb1 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -290,11 +290,11 @@ var ts; (function (ts) { // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configurePrerelease` too. - ts.versionMajorMinor = "4.5"; + ts.versionMajorMinor = "4.6"; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.5.2"; + ts.version = "4.6.2"; /* @internal */ var Comparison; (function (Comparison) { @@ -305,13 +305,18 @@ var ts; /* @internal */ var NativeCollections; (function (NativeCollections) { + var globals = typeof globalThis !== "undefined" ? globalThis : + typeof global !== "undefined" ? global : + typeof self !== "undefined" ? self : + undefined; /** * Returns the native Map implementation if it is available and compatible (i.e. supports iteration). */ function tryGetNativeMap() { // Internet Explorer's Map doesn't support iteration, so don't use it. + var gMap = globals === null || globals === void 0 ? void 0 : globals.Map; // eslint-disable-next-line no-in-operator - return typeof Map !== "undefined" && "entries" in Map.prototype && new Map([[0, 0]]).size === 1 ? Map : undefined; + return typeof gMap !== "undefined" && "entries" in gMap.prototype && new gMap([[0, 0]]).size === 1 ? gMap : undefined; } NativeCollections.tryGetNativeMap = tryGetNativeMap; /** @@ -319,8 +324,9 @@ var ts; */ function tryGetNativeSet() { // Internet Explorer's Set doesn't support iteration, so don't use it. + var gSet = globals === null || globals === void 0 ? void 0 : globals.Set; // eslint-disable-next-line no-in-operator - return typeof Set !== "undefined" && "entries" in Set.prototype && new Set([0]).size === 1 ? Set : undefined; + return typeof gSet !== "undefined" && "entries" in gSet.prototype && new gSet([0]).size === 1 ? gSet : undefined; } NativeCollections.tryGetNativeSet = tryGetNativeSet; })(NativeCollections || (NativeCollections = {})); @@ -335,7 +341,7 @@ var ts; var constructor = (_a = NativeCollections[nativeFactory]()) !== null && _a !== void 0 ? _a : ts.ShimCollections === null || ts.ShimCollections === void 0 ? void 0 : ts.ShimCollections[shimFactory](ts.getIterator); if (constructor) return constructor; - throw new Error("TypeScript requires an environment that provides a compatible native " + name + " implementation."); + throw new Error("TypeScript requires an environment that provides a compatible native ".concat(name, " implementation.")); } })(ts || (ts = {})); /* @internal */ @@ -356,26 +362,6 @@ var ts; ts.emptyArray = []; ts.emptyMap = new ts.Map(); ts.emptySet = new ts.Set(); - function createMap() { - return new ts.Map(); - } - ts.createMap = createMap; - /** - * Create a new map from a template object is provided, the map will copy entries from it. - * @deprecated Use `new Map(getEntries(template))` instead. - */ - function createMapFromTemplate(template) { - var map = new ts.Map(); - // Copies keys/values from template. Note that for..in will not throw if - // template is undefined, and instead will just exit the loop. - for (var key in template) { - if (hasOwnProperty.call(template, key)) { - map.set(key, template[key]); - } - } - return map; - } - ts.createMapFromTemplate = createMapFromTemplate; function length(array) { return array ? array.length : 0; } @@ -1057,7 +1043,11 @@ var ts; } return deduplicated; } - function insertSorted(array, insert, compare) { + function createSortedArray() { + return []; // TODO: GH#19873 + } + ts.createSortedArray = createSortedArray; + function insertSorted(array, insert, compare, allowDuplicates) { if (array.length === 0) { array.push(insert); return; @@ -1066,6 +1056,9 @@ var ts; if (insertIndex < 0) { array.splice(~insertIndex, 0, insert); } + else if (allowDuplicates) { + array.splice(insertIndex, 0, insert); + } } ts.insertSorted = insertSorted; function sortAndDeduplicate(array, comparer, equalityComparer) { @@ -1475,11 +1468,11 @@ var ts; return result; } ts.getAllKeys = getAllKeys; - function getOwnValues(sparseArray) { + function getOwnValues(collection) { var values = []; - for (var key in sparseArray) { - if (hasOwnProperty.call(sparseArray, key)) { - values.push(sparseArray[key]); + for (var key in collection) { + if (hasOwnProperty.call(collection, key)) { + values.push(collection[key]); } } return values; @@ -1698,7 +1691,7 @@ var ts; function cast(value, test) { if (value !== undefined && test(value)) return value; - return ts.Debug.fail("Invalid cast. The supplied value " + value + " did not pass the test '" + ts.Debug.getFunctionName(test) + "'."); + return ts.Debug.fail("Invalid cast. The supplied value ".concat(value, " did not pass the test '").concat(ts.Debug.getFunctionName(test), "'.")); } ts.cast = cast; /** Does nothing. */ @@ -1789,7 +1782,7 @@ var ts; function memoizeOne(callback) { var map = new ts.Map(); return function (arg) { - var key = typeof arg + ":" + arg; + var key = "".concat(typeof arg, ":").concat(arg); var value = map.get(key); if (value === undefined && !map.has(key)) { value = callback(arg); @@ -2239,7 +2232,7 @@ var ts; ts.createGetCanonicalFileName = createGetCanonicalFileName; function patternText(_a) { var prefix = _a.prefix, suffix = _a.suffix; - return prefix + "*" + suffix; + return "".concat(prefix, "*").concat(suffix); } ts.patternText = patternText; /** @@ -2552,7 +2545,7 @@ var ts; } function fail(message, stackCrawlMark) { debugger; - var e = new Error(message ? "Debug Failure. " + message : "Debug Failure."); + var e = new Error(message ? "Debug Failure. ".concat(message) : "Debug Failure."); if (Error.captureStackTrace) { Error.captureStackTrace(e, stackCrawlMark || fail); } @@ -2560,12 +2553,12 @@ var ts; } Debug.fail = fail; function failBadSyntaxKind(node, message, stackCrawlMark) { - return fail((message || "Unexpected node.") + "\r\nNode " + formatSyntaxKind(node.kind) + " was unexpected.", stackCrawlMark || failBadSyntaxKind); + return fail("".concat(message || "Unexpected node.", "\r\nNode ").concat(formatSyntaxKind(node.kind), " was unexpected."), stackCrawlMark || failBadSyntaxKind); } Debug.failBadSyntaxKind = failBadSyntaxKind; function assert(expression, message, verboseDebugInfo, stackCrawlMark) { if (!expression) { - message = message ? "False expression: " + message : "False expression."; + message = message ? "False expression: ".concat(message) : "False expression."; if (verboseDebugInfo) { message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo()); } @@ -2575,26 +2568,26 @@ var ts; Debug.assert = assert; function assertEqual(a, b, msg, msg2, stackCrawlMark) { if (a !== b) { - var message = msg ? msg2 ? msg + " " + msg2 : msg : ""; - fail("Expected " + a + " === " + b + ". " + message, stackCrawlMark || assertEqual); + var message = msg ? msg2 ? "".concat(msg, " ").concat(msg2) : msg : ""; + fail("Expected ".concat(a, " === ").concat(b, ". ").concat(message), stackCrawlMark || assertEqual); } } Debug.assertEqual = assertEqual; function assertLessThan(a, b, msg, stackCrawlMark) { if (a >= b) { - fail("Expected " + a + " < " + b + ". " + (msg || ""), stackCrawlMark || assertLessThan); + fail("Expected ".concat(a, " < ").concat(b, ". ").concat(msg || ""), stackCrawlMark || assertLessThan); } } Debug.assertLessThan = assertLessThan; function assertLessThanOrEqual(a, b, stackCrawlMark) { if (a > b) { - fail("Expected " + a + " <= " + b, stackCrawlMark || assertLessThanOrEqual); + fail("Expected ".concat(a, " <= ").concat(b), stackCrawlMark || assertLessThanOrEqual); } } Debug.assertLessThanOrEqual = assertLessThanOrEqual; function assertGreaterThanOrEqual(a, b, stackCrawlMark) { if (a < b) { - fail("Expected " + a + " >= " + b, stackCrawlMark || assertGreaterThanOrEqual); + fail("Expected ".concat(a, " >= ").concat(b), stackCrawlMark || assertGreaterThanOrEqual); } } Debug.assertGreaterThanOrEqual = assertGreaterThanOrEqual; @@ -2610,11 +2603,6 @@ var ts; return value; } Debug.checkDefined = checkDefined; - /** - * @deprecated Use `checkDefined` to check whether a value is defined inline. Use `assertIsDefined` to check whether - * a value is defined at the statement level. - */ - Debug.assertDefined = checkDefined; function assertEachIsDefined(value, message, stackCrawlMark) { for (var _i = 0, value_1 = value; _i < value_1.length; _i++) { var v = value_1[_i]; @@ -2627,50 +2615,45 @@ var ts; return value; } Debug.checkEachDefined = checkEachDefined; - /** - * @deprecated Use `checkEachDefined` to check whether the elements of an array are defined inline. Use `assertEachIsDefined` to check whether - * the elements of an array are defined at the statement level. - */ - Debug.assertEachDefined = checkEachDefined; function assertNever(member, message, stackCrawlMark) { if (message === void 0) { message = "Illegal value:"; } var detail = typeof member === "object" && ts.hasProperty(member, "kind") && ts.hasProperty(member, "pos") && formatSyntaxKind ? "SyntaxKind: " + formatSyntaxKind(member.kind) : JSON.stringify(member); - return fail(message + " " + detail, stackCrawlMark || assertNever); + return fail("".concat(message, " ").concat(detail), stackCrawlMark || assertNever); } Debug.assertNever = assertNever; function assertEachNode(nodes, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertEachNode")) { - assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertEachNode); + assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '".concat(getFunctionName(test), "'."); }, stackCrawlMark || assertEachNode); } } Debug.assertEachNode = assertEachNode; function assertNode(node, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertNode")) { - assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNode); + assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNode); } } Debug.assertNode = assertNode; function assertNotNode(node, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertNotNode")) { - assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " should not have passed test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNotNode); + assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " should not have passed test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNotNode); } } Debug.assertNotNode = assertNotNode; function assertOptionalNode(node, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertOptionalNode")) { - assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertOptionalNode); + assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertOptionalNode); } } Debug.assertOptionalNode = assertOptionalNode; function assertOptionalToken(node, kind, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertOptionalToken")) { - assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " was not a '" + formatSyntaxKind(kind) + "' token."; }, stackCrawlMark || assertOptionalToken); + assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " was not a '").concat(formatSyntaxKind(kind), "' token."); }, stackCrawlMark || assertOptionalToken); } } Debug.assertOptionalToken = assertOptionalToken; function assertMissingNode(node, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertMissingNode")) { - assert(node === undefined, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " was unexpected'."; }, stackCrawlMark || assertMissingNode); + assert(node === undefined, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " was unexpected'."); }, stackCrawlMark || assertMissingNode); } } Debug.assertMissingNode = assertMissingNode; @@ -2691,7 +2674,7 @@ var ts; } Debug.getFunctionName = getFunctionName; function formatSymbol(symbol) { - return "{ name: " + ts.unescapeLeadingUnderscores(symbol.escapedName) + "; flags: " + formatSymbolFlags(symbol.flags) + "; declarations: " + ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }) + " }"; + return "{ name: ".concat(ts.unescapeLeadingUnderscores(symbol.escapedName), "; flags: ").concat(formatSymbolFlags(symbol.flags), "; declarations: ").concat(ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }), " }"); } Debug.formatSymbol = formatSymbol; /** @@ -2712,7 +2695,7 @@ var ts; break; } if (enumValue !== 0 && enumValue & value) { - result = "" + result + (result ? "|" : "") + enumName; + result = "".concat(result).concat(result ? "|" : "").concat(enumName); remainingFlags &= ~enumValue; } } @@ -2822,7 +2805,7 @@ var ts; this.flags & 1 /* Unreachable */ ? "FlowUnreachable" : "UnknownFlow"; var remainingFlags = this.flags & ~(2048 /* Referenced */ - 1); - return "" + flowHeader + (remainingFlags ? " (" + formatFlowFlags(remainingFlags) + ")" : ""); + return "".concat(flowHeader).concat(remainingFlags ? " (".concat(formatFlowFlags(remainingFlags), ")") : ""); } }, __debugFlowFlags: { get: function () { return formatEnum(this.flags, ts.FlowFlags, /*isFlags*/ true); } }, @@ -2861,7 +2844,7 @@ var ts; // We don't care, this is debug code that's only enabled with a debugger attached - // we're just taking note of it for anyone checking regex performance in the future. defaultValue = String(defaultValue).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/, "]"); - return "NodeArray " + defaultValue; + return "NodeArray ".concat(defaultValue); } } }); @@ -2916,7 +2899,7 @@ var ts; var symbolHeader = this.flags & 33554432 /* Transient */ ? "TransientSymbol" : "Symbol"; var remainingSymbolFlags = this.flags & ~33554432 /* Transient */; - return symbolHeader + " '" + ts.symbolName(this) + "'" + (remainingSymbolFlags ? " (" + formatSymbolFlags(remainingSymbolFlags) + ")" : ""); + return "".concat(symbolHeader, " '").concat(ts.symbolName(this), "'").concat(remainingSymbolFlags ? " (".concat(formatSymbolFlags(remainingSymbolFlags), ")") : ""); } }, __debugFlags: { get: function () { return formatSymbolFlags(this.flags); } } @@ -2926,11 +2909,11 @@ var ts; __tsDebuggerDisplay: { value: function () { var typeHeader = this.flags & 98304 /* Nullable */ ? "NullableType" : - this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType " + JSON.stringify(this.value) : - this.flags & 2048 /* BigIntLiteral */ ? "LiteralType " + (this.value.negative ? "-" : "") + this.value.base10Value + "n" : + this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType ".concat(JSON.stringify(this.value)) : + this.flags & 2048 /* BigIntLiteral */ ? "LiteralType ".concat(this.value.negative ? "-" : "").concat(this.value.base10Value, "n") : this.flags & 8192 /* UniqueESSymbol */ ? "UniqueESSymbolType" : this.flags & 32 /* Enum */ ? "EnumType" : - this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType " + this.intrinsicName : + this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType ".concat(this.intrinsicName) : this.flags & 1048576 /* Union */ ? "UnionType" : this.flags & 2097152 /* Intersection */ ? "IntersectionType" : this.flags & 4194304 /* Index */ ? "IndexType" : @@ -2949,7 +2932,7 @@ var ts; "ObjectType" : "Type"; var remainingObjectFlags = this.flags & 524288 /* Object */ ? this.objectFlags & ~1343 /* ObjectTypeKindMask */ : 0; - return "" + typeHeader + (this.symbol ? " '" + ts.symbolName(this.symbol) + "'" : "") + (remainingObjectFlags ? " (" + formatObjectFlags(remainingObjectFlags) + ")" : ""); + return "".concat(typeHeader).concat(this.symbol ? " '".concat(ts.symbolName(this.symbol), "'") : "").concat(remainingObjectFlags ? " (".concat(formatObjectFlags(remainingObjectFlags), ")") : ""); } }, __debugFlags: { get: function () { return formatTypeFlags(this.flags); } }, @@ -2985,11 +2968,11 @@ var ts; __tsDebuggerDisplay: { value: function () { var nodeHeader = ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" : - ts.isIdentifier(this) ? "Identifier '" + ts.idText(this) + "'" : - ts.isPrivateIdentifier(this) ? "PrivateIdentifier '" + ts.idText(this) + "'" : - ts.isStringLiteral(this) ? "StringLiteral " + JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...") : - ts.isNumericLiteral(this) ? "NumericLiteral " + this.text : - ts.isBigIntLiteral(this) ? "BigIntLiteral " + this.text + "n" : + ts.isIdentifier(this) ? "Identifier '".concat(ts.idText(this), "'") : + ts.isPrivateIdentifier(this) ? "PrivateIdentifier '".concat(ts.idText(this), "'") : + ts.isStringLiteral(this) ? "StringLiteral ".concat(JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")) : + ts.isNumericLiteral(this) ? "NumericLiteral ".concat(this.text) : + ts.isBigIntLiteral(this) ? "BigIntLiteral ".concat(this.text, "n") : ts.isTypeParameterDeclaration(this) ? "TypeParameterDeclaration" : ts.isParameter(this) ? "ParameterDeclaration" : ts.isConstructorDeclaration(this) ? "ConstructorDeclaration" : @@ -3021,7 +3004,7 @@ var ts; ts.isNamedTupleMember(this) ? "NamedTupleMember" : ts.isImportTypeNode(this) ? "ImportTypeNode" : formatSyntaxKind(this.kind); - return "" + nodeHeader + (this.flags ? " (" + formatNodeFlags(this.flags) + ")" : ""); + return "".concat(nodeHeader).concat(this.flags ? " (".concat(formatNodeFlags(this.flags), ")") : ""); } }, __debugKind: { get: function () { return formatSyntaxKind(this.kind); } }, @@ -3068,10 +3051,10 @@ var ts; Debug.enableDebugInfo = enableDebugInfo; function formatDeprecationMessage(name, error, errorAfter, since, message) { var deprecationMessage = error ? "DeprecationError: " : "DeprecationWarning: "; - deprecationMessage += "'" + name + "' "; - deprecationMessage += since ? "has been deprecated since v" + since : "is deprecated"; - deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v" + errorAfter + "." : "."; - deprecationMessage += message ? " " + ts.formatStringFromArgs(message, [name], 0) : ""; + deprecationMessage += "'".concat(name, "' "); + deprecationMessage += since ? "has been deprecated since v".concat(since) : "is deprecated"; + deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v".concat(errorAfter, ".") : "."; + deprecationMessage += message ? " ".concat(ts.formatStringFromArgs(message, [name], 0)) : ""; return deprecationMessage; } function createErrorDeprecation(name, errorAfter, since, message) { @@ -3202,11 +3185,11 @@ var ts; } }; Version.prototype.toString = function () { - var result = this.major + "." + this.minor + "." + this.patch; + var result = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); if (ts.some(this.prerelease)) - result += "-" + this.prerelease.join("."); + result += "-".concat(this.prerelease.join(".")); if (ts.some(this.build)) - result += "+" + this.build.join("."); + result += "+".concat(this.build.join(".")); return result; }; Version.zero = new Version(0, 0, 0); @@ -3473,7 +3456,7 @@ var ts; return ts.map(comparators, formatComparator).join(" "); } function formatComparator(comparator) { - return "" + comparator.operator + comparator.operand; + return "".concat(comparator.operator).concat(comparator.operand); } })(ts || (ts = {})); /*@internal*/ @@ -3771,7 +3754,7 @@ var ts; fs = require("fs"); } catch (e) { - throw new Error("tracing requires having fs\n(original error: " + (e.message || e) + ")"); + throw new Error("tracing requires having fs\n(original error: ".concat(e.message || e, ")")); } } mode = tracingMode; @@ -3783,11 +3766,11 @@ var ts; if (!fs.existsSync(traceDir)) { fs.mkdirSync(traceDir, { recursive: true }); } - var countPart = mode === "build" ? "." + process.pid + "-" + ++traceCount - : mode === "server" ? "." + process.pid + var countPart = mode === "build" ? ".".concat(process.pid, "-").concat(++traceCount) + : mode === "server" ? ".".concat(process.pid) : ""; - var tracePath = ts.combinePaths(traceDir, "trace" + countPart + ".json"); - var typesPath = ts.combinePaths(traceDir, "types" + countPart + ".json"); + var tracePath = ts.combinePaths(traceDir, "trace".concat(countPart, ".json")); + var typesPath = ts.combinePaths(traceDir, "types".concat(countPart, ".json")); legend.push({ configFilePath: configFilePath, tracePath: tracePath, @@ -3877,7 +3860,7 @@ var ts; } // test if [time,endTime) straddles a sampling point else if (sampleInterval - (time % sampleInterval) <= endTime - time) { - writeEvent("X", phase, name, args, "\"dur\":" + (endTime - time), time); + writeEvent("X", phase, name, args, "\"dur\":".concat(endTime - time), time); } } function writeEvent(eventType, phase, name, args, extras, time) { @@ -3886,11 +3869,11 @@ var ts; if (mode === "server" && phase === "checkTypes" /* CheckTypes */) return; ts.performance.mark("beginTracing"); - fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"" + eventType + "\",\"cat\":\"" + phase + "\",\"ts\":" + time + ",\"name\":\"" + name + "\""); + fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"".concat(eventType, "\",\"cat\":\"").concat(phase, "\",\"ts\":").concat(time, ",\"name\":\"").concat(name, "\"")); if (extras) - fs.writeSync(traceFd, "," + extras); + fs.writeSync(traceFd, ",".concat(extras)); if (args) - fs.writeSync(traceFd, ",\"args\":" + JSON.stringify(args)); + fs.writeSync(traceFd, ",\"args\":".concat(JSON.stringify(args))); fs.writeSync(traceFd, "}"); ts.performance.mark("endTracing"); ts.performance.measure("Tracing", "beginTracing", "endTracing"); @@ -4994,6 +4977,7 @@ var ts; NodeCheckFlags[NodeCheckFlags["ConstructorReferenceInClass"] = 33554432] = "ConstructorReferenceInClass"; NodeCheckFlags[NodeCheckFlags["ContainsClassWithPrivateIdentifiers"] = 67108864] = "ContainsClassWithPrivateIdentifiers"; NodeCheckFlags[NodeCheckFlags["ContainsSuperPropertyInStaticInitializer"] = 134217728] = "ContainsSuperPropertyInStaticInitializer"; + NodeCheckFlags[NodeCheckFlags["InCheckIdentifier"] = 268435456] = "InCheckIdentifier"; })(NodeCheckFlags = ts.NodeCheckFlags || (ts.NodeCheckFlags = {})); var TypeFlags; (function (TypeFlags) { @@ -5050,6 +5034,8 @@ var ts; TypeFlags[TypeFlags["ESSymbolLike"] = 12288] = "ESSymbolLike"; TypeFlags[TypeFlags["VoidLike"] = 49152] = "VoidLike"; /* @internal */ + TypeFlags[TypeFlags["DefinitelyNonNullable"] = 470302716] = "DefinitelyNonNullable"; + /* @internal */ TypeFlags[TypeFlags["DisjointDomains"] = 469892092] = "DisjointDomains"; TypeFlags[TypeFlags["UnionOrIntersection"] = 3145728] = "UnionOrIntersection"; TypeFlags[TypeFlags["StructuredType"] = 3670016] = "StructuredType"; @@ -5416,6 +5402,7 @@ var ts; ScriptTarget[ScriptTarget["ES2019"] = 6] = "ES2019"; ScriptTarget[ScriptTarget["ES2020"] = 7] = "ES2020"; ScriptTarget[ScriptTarget["ES2021"] = 8] = "ES2021"; + ScriptTarget[ScriptTarget["ES2022"] = 9] = "ES2022"; ScriptTarget[ScriptTarget["ESNext"] = 99] = "ESNext"; ScriptTarget[ScriptTarget["JSON"] = 100] = "JSON"; ScriptTarget[ScriptTarget["Latest"] = 99] = "Latest"; @@ -5584,15 +5571,16 @@ var ts; TransformFlags[TransformFlags["ContainsTypeScript"] = 1] = "ContainsTypeScript"; TransformFlags[TransformFlags["ContainsJsx"] = 2] = "ContainsJsx"; TransformFlags[TransformFlags["ContainsESNext"] = 4] = "ContainsESNext"; - TransformFlags[TransformFlags["ContainsES2021"] = 8] = "ContainsES2021"; - TransformFlags[TransformFlags["ContainsES2020"] = 16] = "ContainsES2020"; - TransformFlags[TransformFlags["ContainsES2019"] = 32] = "ContainsES2019"; - TransformFlags[TransformFlags["ContainsES2018"] = 64] = "ContainsES2018"; - TransformFlags[TransformFlags["ContainsES2017"] = 128] = "ContainsES2017"; - TransformFlags[TransformFlags["ContainsES2016"] = 256] = "ContainsES2016"; - TransformFlags[TransformFlags["ContainsES2015"] = 512] = "ContainsES2015"; - TransformFlags[TransformFlags["ContainsGenerator"] = 1024] = "ContainsGenerator"; - TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 2048] = "ContainsDestructuringAssignment"; + TransformFlags[TransformFlags["ContainsES2022"] = 8] = "ContainsES2022"; + TransformFlags[TransformFlags["ContainsES2021"] = 16] = "ContainsES2021"; + TransformFlags[TransformFlags["ContainsES2020"] = 32] = "ContainsES2020"; + TransformFlags[TransformFlags["ContainsES2019"] = 64] = "ContainsES2019"; + TransformFlags[TransformFlags["ContainsES2018"] = 128] = "ContainsES2018"; + TransformFlags[TransformFlags["ContainsES2017"] = 256] = "ContainsES2017"; + TransformFlags[TransformFlags["ContainsES2016"] = 512] = "ContainsES2016"; + TransformFlags[TransformFlags["ContainsES2015"] = 1024] = "ContainsES2015"; + TransformFlags[TransformFlags["ContainsGenerator"] = 2048] = "ContainsGenerator"; + TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 4096] = "ContainsDestructuringAssignment"; // Markers // - Flags used to indicate that a subtree contains a specific transformation. TransformFlags[TransformFlags["ContainsTypeScriptClassSyntax"] = 4096] = "ContainsTypeScriptClassSyntax"; @@ -5619,15 +5607,16 @@ var ts; TransformFlags[TransformFlags["AssertTypeScript"] = 1] = "AssertTypeScript"; TransformFlags[TransformFlags["AssertJsx"] = 2] = "AssertJsx"; TransformFlags[TransformFlags["AssertESNext"] = 4] = "AssertESNext"; - TransformFlags[TransformFlags["AssertES2021"] = 8] = "AssertES2021"; - TransformFlags[TransformFlags["AssertES2020"] = 16] = "AssertES2020"; - TransformFlags[TransformFlags["AssertES2019"] = 32] = "AssertES2019"; - TransformFlags[TransformFlags["AssertES2018"] = 64] = "AssertES2018"; - TransformFlags[TransformFlags["AssertES2017"] = 128] = "AssertES2017"; - TransformFlags[TransformFlags["AssertES2016"] = 256] = "AssertES2016"; - TransformFlags[TransformFlags["AssertES2015"] = 512] = "AssertES2015"; - TransformFlags[TransformFlags["AssertGenerator"] = 1024] = "AssertGenerator"; - TransformFlags[TransformFlags["AssertDestructuringAssignment"] = 2048] = "AssertDestructuringAssignment"; + TransformFlags[TransformFlags["AssertES2022"] = 8] = "AssertES2022"; + TransformFlags[TransformFlags["AssertES2021"] = 16] = "AssertES2021"; + TransformFlags[TransformFlags["AssertES2020"] = 32] = "AssertES2020"; + TransformFlags[TransformFlags["AssertES2019"] = 64] = "AssertES2019"; + TransformFlags[TransformFlags["AssertES2018"] = 128] = "AssertES2018"; + TransformFlags[TransformFlags["AssertES2017"] = 256] = "AssertES2017"; + TransformFlags[TransformFlags["AssertES2016"] = 512] = "AssertES2016"; + TransformFlags[TransformFlags["AssertES2015"] = 1024] = "AssertES2015"; + TransformFlags[TransformFlags["AssertGenerator"] = 2048] = "AssertGenerator"; + TransformFlags[TransformFlags["AssertDestructuringAssignment"] = 4096] = "AssertDestructuringAssignment"; // Scope Exclusions // - Bitmasks that exclude flags from propagating out of a specific context // into the subtree flags of their container. @@ -5931,704 +5920,6 @@ var ts; }, }; })(ts || (ts = {})); -/* @internal */ -var ts; -(function (ts) { - /** - * Internally, we represent paths as strings with '/' as the directory separator. - * When we make system calls (eg: LanguageServiceHost.getDirectory()), - * we expect the host to correctly handle paths in our specified format. - */ - ts.directorySeparator = "/"; - ts.altDirectorySeparator = "\\"; - var urlSchemeSeparator = "://"; - var backslashRegExp = /\\/g; - //// Path Tests - /** - * Determines whether a charCode corresponds to `/` or `\`. - */ - function isAnyDirectorySeparator(charCode) { - return charCode === 47 /* slash */ || charCode === 92 /* backslash */; - } - ts.isAnyDirectorySeparator = isAnyDirectorySeparator; - /** - * Determines whether a path starts with a URL scheme (e.g. starts with `http://`, `ftp://`, `file://`, etc.). - */ - function isUrl(path) { - return getEncodedRootLength(path) < 0; - } - ts.isUrl = isUrl; - /** - * Determines whether a path is an absolute disk path (e.g. starts with `/`, or a dos path - * like `c:`, `c:\` or `c:/`). - */ - function isRootedDiskPath(path) { - return getEncodedRootLength(path) > 0; - } - ts.isRootedDiskPath = isRootedDiskPath; - /** - * Determines whether a path consists only of a path root. - */ - function isDiskPathRoot(path) { - var rootLength = getEncodedRootLength(path); - return rootLength > 0 && rootLength === path.length; - } - ts.isDiskPathRoot = isDiskPathRoot; - /** - * Determines whether a path starts with an absolute path component (i.e. `/`, `c:/`, `file://`, etc.). - * - * ```ts - * // POSIX - * pathIsAbsolute("/path/to/file.ext") === true - * // DOS - * pathIsAbsolute("c:/path/to/file.ext") === true - * // URL - * pathIsAbsolute("file:///path/to/file.ext") === true - * // Non-absolute - * pathIsAbsolute("path/to/file.ext") === false - * pathIsAbsolute("./path/to/file.ext") === false - * ``` - */ - function pathIsAbsolute(path) { - return getEncodedRootLength(path) !== 0; - } - ts.pathIsAbsolute = pathIsAbsolute; - /** - * Determines whether a path starts with a relative path component (i.e. `.` or `..`). - */ - function pathIsRelative(path) { - return /^\.\.?($|[\\/])/.test(path); - } - ts.pathIsRelative = pathIsRelative; - /** - * Determines whether a path is neither relative nor absolute, e.g. "path/to/file". - * Also known misleadingly as "non-relative". - */ - function pathIsBareSpecifier(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path); - } - ts.pathIsBareSpecifier = pathIsBareSpecifier; - function hasExtension(fileName) { - return ts.stringContains(getBaseFileName(fileName), "."); - } - ts.hasExtension = hasExtension; - function fileExtensionIs(path, extension) { - return path.length > extension.length && ts.endsWith(path, extension); - } - ts.fileExtensionIs = fileExtensionIs; - function fileExtensionIsOneOf(path, extensions) { - for (var _i = 0, extensions_1 = extensions; _i < extensions_1.length; _i++) { - var extension = extensions_1[_i]; - if (fileExtensionIs(path, extension)) { - return true; - } - } - return false; - } - ts.fileExtensionIsOneOf = fileExtensionIsOneOf; - /** - * Determines whether a path has a trailing separator (`/` or `\\`). - */ - function hasTrailingDirectorySeparator(path) { - return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1)); - } - ts.hasTrailingDirectorySeparator = hasTrailingDirectorySeparator; - //// Path Parsing - function isVolumeCharacter(charCode) { - return (charCode >= 97 /* a */ && charCode <= 122 /* z */) || - (charCode >= 65 /* A */ && charCode <= 90 /* Z */); - } - function getFileUrlVolumeSeparatorEnd(url, start) { - var ch0 = url.charCodeAt(start); - if (ch0 === 58 /* colon */) - return start + 1; - if (ch0 === 37 /* percent */ && url.charCodeAt(start + 1) === 51 /* _3 */) { - var ch2 = url.charCodeAt(start + 2); - if (ch2 === 97 /* a */ || ch2 === 65 /* A */) - return start + 3; - } - return -1; - } - /** - * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). - * If the root is part of a URL, the twos-complement of the root length is returned. - */ - function getEncodedRootLength(path) { - if (!path) - return 0; - var ch0 = path.charCodeAt(0); - // POSIX or UNC - if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { - if (path.charCodeAt(1) !== ch0) - return 1; // POSIX: "/" (or non-normalized "\") - var p1 = path.indexOf(ch0 === 47 /* slash */ ? ts.directorySeparator : ts.altDirectorySeparator, 2); - if (p1 < 0) - return path.length; // UNC: "//server" or "\\server" - return p1 + 1; // UNC: "//server/" or "\\server\" - } - // DOS - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { - var ch2 = path.charCodeAt(2); - if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) - return 3; // DOS: "c:/" or "c:\" - if (path.length === 2) - return 2; // DOS: "c:" (but not "c:d") - } - // URL - var schemeEnd = path.indexOf(urlSchemeSeparator); - if (schemeEnd !== -1) { - var authorityStart = schemeEnd + urlSchemeSeparator.length; - var authorityEnd = path.indexOf(ts.directorySeparator, authorityStart); - if (authorityEnd !== -1) { // URL: "file:///", "file://server/", "file://server/path" - // For local "file" URLs, include the leading DOS volume (if present). - // Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a - // special case interpreted as "the machine from which the URL is being interpreted". - var scheme = path.slice(0, schemeEnd); - var authority = path.slice(authorityStart, authorityEnd); - if (scheme === "file" && (authority === "" || authority === "localhost") && - isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { - var volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); - if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { - // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" - return ~(volumeSeparatorEnd + 1); - } - if (volumeSeparatorEnd === path.length) { - // URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a" - // but not "file:///c:d" or "file:///c%3ad" - return ~volumeSeparatorEnd; - } - } - } - return ~(authorityEnd + 1); // URL: "file://server/", "http://server/" - } - return ~path.length; // URL: "file://server", "http://server" - } - // relative - return 0; - } - /** - * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). - * - * For example: - * ```ts - * getRootLength("a") === 0 // "" - * getRootLength("/") === 1 // "/" - * getRootLength("c:") === 2 // "c:" - * getRootLength("c:d") === 0 // "" - * getRootLength("c:/") === 3 // "c:/" - * getRootLength("c:\\") === 3 // "c:\\" - * getRootLength("//server") === 7 // "//server" - * getRootLength("//server/share") === 8 // "//server/" - * getRootLength("\\\\server") === 7 // "\\\\server" - * getRootLength("\\\\server\\share") === 8 // "\\\\server\\" - * getRootLength("file:///path") === 8 // "file:///" - * getRootLength("file:///c:") === 10 // "file:///c:" - * getRootLength("file:///c:d") === 8 // "file:///" - * getRootLength("file:///c:/path") === 11 // "file:///c:/" - * getRootLength("file://server") === 13 // "file://server" - * getRootLength("file://server/path") === 14 // "file://server/" - * getRootLength("http://server") === 13 // "http://server" - * getRootLength("http://server/path") === 14 // "http://server/" - * ``` - */ - function getRootLength(path) { - var rootLength = getEncodedRootLength(path); - return rootLength < 0 ? ~rootLength : rootLength; - } - ts.getRootLength = getRootLength; - function getDirectoryPath(path) { - path = normalizeSlashes(path); - // If the path provided is itself the root, then return it. - var rootLength = getRootLength(path); - if (rootLength === path.length) - return path; - // return the leading portion of the path up to the last (non-terminal) directory separator - // but not including any trailing directory separator. - path = removeTrailingDirectorySeparator(path); - return path.slice(0, Math.max(rootLength, path.lastIndexOf(ts.directorySeparator))); - } - ts.getDirectoryPath = getDirectoryPath; - function getBaseFileName(path, extensions, ignoreCase) { - path = normalizeSlashes(path); - // if the path provided is itself the root, then it has not file name. - var rootLength = getRootLength(path); - if (rootLength === path.length) - return ""; - // return the trailing portion of the path starting after the last (non-terminal) directory - // separator but not including any trailing directory separator. - path = removeTrailingDirectorySeparator(path); - var name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(ts.directorySeparator) + 1)); - var extension = extensions !== undefined && ignoreCase !== undefined ? getAnyExtensionFromPath(name, extensions, ignoreCase) : undefined; - return extension ? name.slice(0, name.length - extension.length) : name; - } - ts.getBaseFileName = getBaseFileName; - function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { - if (!ts.startsWith(extension, ".")) - extension = "." + extension; - if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { - var pathExtension = path.slice(path.length - extension.length); - if (stringEqualityComparer(pathExtension, extension)) { - return pathExtension; - } - } - } - function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) { - if (typeof extensions === "string") { - return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || ""; - } - for (var _i = 0, extensions_2 = extensions; _i < extensions_2.length; _i++) { - var extension = extensions_2[_i]; - var result = tryGetExtensionFromPath(path, extension, stringEqualityComparer); - if (result) - return result; - } - return ""; - } - function getAnyExtensionFromPath(path, extensions, ignoreCase) { - // Retrieves any string from the final "." onwards from a base file name. - // Unlike extensionFromPath, which throws an exception on unrecognized extensions. - if (extensions) { - return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? ts.equateStringsCaseInsensitive : ts.equateStringsCaseSensitive); - } - var baseFileName = getBaseFileName(path); - var extensionIndex = baseFileName.lastIndexOf("."); - if (extensionIndex >= 0) { - return baseFileName.substring(extensionIndex); - } - return ""; - } - ts.getAnyExtensionFromPath = getAnyExtensionFromPath; - function pathComponents(path, rootLength) { - var root = path.substring(0, rootLength); - var rest = path.substring(rootLength).split(ts.directorySeparator); - if (rest.length && !ts.lastOrUndefined(rest)) - rest.pop(); - return __spreadArray([root], rest, true); - } - /** - * Parse a path into an array containing a root component (at index 0) and zero or more path - * components (at indices > 0). The result is not normalized. - * If the path is relative, the root component is `""`. - * If the path is absolute, the root component includes the first path separator (`/`). - * - * ```ts - * // POSIX - * getPathComponents("/path/to/file.ext") === ["/", "path", "to", "file.ext"] - * getPathComponents("/path/to/") === ["/", "path", "to"] - * getPathComponents("/") === ["/"] - * // DOS - * getPathComponents("c:/path/to/file.ext") === ["c:/", "path", "to", "file.ext"] - * getPathComponents("c:/path/to/") === ["c:/", "path", "to"] - * getPathComponents("c:/") === ["c:/"] - * getPathComponents("c:") === ["c:"] - * // URL - * getPathComponents("http://typescriptlang.org/path/to/file.ext") === ["http://typescriptlang.org/", "path", "to", "file.ext"] - * getPathComponents("http://typescriptlang.org/path/to/") === ["http://typescriptlang.org/", "path", "to"] - * getPathComponents("http://typescriptlang.org/") === ["http://typescriptlang.org/"] - * getPathComponents("http://typescriptlang.org") === ["http://typescriptlang.org"] - * getPathComponents("file://server/path/to/file.ext") === ["file://server/", "path", "to", "file.ext"] - * getPathComponents("file://server/path/to/") === ["file://server/", "path", "to"] - * getPathComponents("file://server/") === ["file://server/"] - * getPathComponents("file://server") === ["file://server"] - * getPathComponents("file:///path/to/file.ext") === ["file:///", "path", "to", "file.ext"] - * getPathComponents("file:///path/to/") === ["file:///", "path", "to"] - * getPathComponents("file:///") === ["file:///"] - * getPathComponents("file://") === ["file://"] - */ - function getPathComponents(path, currentDirectory) { - if (currentDirectory === void 0) { currentDirectory = ""; } - path = combinePaths(currentDirectory, path); - return pathComponents(path, getRootLength(path)); - } - ts.getPathComponents = getPathComponents; - //// Path Formatting - /** - * Formats a parsed path consisting of a root component (at index 0) and zero or more path - * segments (at indices > 0). - * - * ```ts - * getPathFromPathComponents(["/", "path", "to", "file.ext"]) === "/path/to/file.ext" - * ``` - */ - function getPathFromPathComponents(pathComponents) { - if (pathComponents.length === 0) - return ""; - var root = pathComponents[0] && ensureTrailingDirectorySeparator(pathComponents[0]); - return root + pathComponents.slice(1).join(ts.directorySeparator); - } - ts.getPathFromPathComponents = getPathFromPathComponents; - //// Path Normalization - /** - * Normalize path separators, converting `\` into `/`. - */ - function normalizeSlashes(path) { - var index = path.indexOf("\\"); - if (index === -1) { - return path; - } - backslashRegExp.lastIndex = index; // prime regex with known position - return path.replace(backslashRegExp, ts.directorySeparator); - } - ts.normalizeSlashes = normalizeSlashes; - /** - * Reduce an array of path components to a more simplified path by navigating any - * `"."` or `".."` entries in the path. - */ - function reducePathComponents(components) { - if (!ts.some(components)) - return []; - var reduced = [components[0]]; - for (var i = 1; i < components.length; i++) { - var component = components[i]; - if (!component) - continue; - if (component === ".") - continue; - if (component === "..") { - if (reduced.length > 1) { - if (reduced[reduced.length - 1] !== "..") { - reduced.pop(); - continue; - } - } - else if (reduced[0]) - continue; - } - reduced.push(component); - } - return reduced; - } - ts.reducePathComponents = reducePathComponents; - /** - * Combines paths. If a path is absolute, it replaces any previous path. Relative paths are not simplified. - * - * ```ts - * // Non-rooted - * combinePaths("path", "to", "file.ext") === "path/to/file.ext" - * combinePaths("path", "dir", "..", "to", "file.ext") === "path/dir/../to/file.ext" - * // POSIX - * combinePaths("/path", "to", "file.ext") === "/path/to/file.ext" - * combinePaths("/path", "/to", "file.ext") === "/to/file.ext" - * // DOS - * combinePaths("c:/path", "to", "file.ext") === "c:/path/to/file.ext" - * combinePaths("c:/path", "c:/to", "file.ext") === "c:/to/file.ext" - * // URL - * combinePaths("file:///path", "to", "file.ext") === "file:///path/to/file.ext" - * combinePaths("file:///path", "file:///to", "file.ext") === "file:///to/file.ext" - * ``` - */ - function combinePaths(path) { - var paths = []; - for (var _i = 1; _i < arguments.length; _i++) { - paths[_i - 1] = arguments[_i]; - } - if (path) - path = normalizeSlashes(path); - for (var _a = 0, paths_1 = paths; _a < paths_1.length; _a++) { - var relativePath = paths_1[_a]; - if (!relativePath) - continue; - relativePath = normalizeSlashes(relativePath); - if (!path || getRootLength(relativePath) !== 0) { - path = relativePath; - } - else { - path = ensureTrailingDirectorySeparator(path) + relativePath; - } - } - return path; - } - ts.combinePaths = combinePaths; - /** - * Combines and resolves paths. If a path is absolute, it replaces any previous path. Any - * `.` and `..` path components are resolved. Trailing directory separators are preserved. - * - * ```ts - * resolvePath("/path", "to", "file.ext") === "path/to/file.ext" - * resolvePath("/path", "to", "file.ext/") === "path/to/file.ext/" - * resolvePath("/path", "dir", "..", "to", "file.ext") === "path/to/file.ext" - * ``` - */ - function resolvePath(path) { - var paths = []; - for (var _i = 1; _i < arguments.length; _i++) { - paths[_i - 1] = arguments[_i]; - } - return normalizePath(ts.some(paths) ? combinePaths.apply(void 0, __spreadArray([path], paths, false)) : normalizeSlashes(path)); - } - ts.resolvePath = resolvePath; - /** - * Parse a path into an array containing a root component (at index 0) and zero or more path - * components (at indices > 0). The result is normalized. - * If the path is relative, the root component is `""`. - * If the path is absolute, the root component includes the first path separator (`/`). - * - * ```ts - * getNormalizedPathComponents("to/dir/../file.ext", "/path/") === ["/", "path", "to", "file.ext"] - * ``` - */ - function getNormalizedPathComponents(path, currentDirectory) { - return reducePathComponents(getPathComponents(path, currentDirectory)); - } - ts.getNormalizedPathComponents = getNormalizedPathComponents; - function getNormalizedAbsolutePath(fileName, currentDirectory) { - return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); - } - ts.getNormalizedAbsolutePath = getNormalizedAbsolutePath; - function normalizePath(path) { - path = normalizeSlashes(path); - // Most paths don't require normalization - if (!relativePathSegmentRegExp.test(path)) { - return path; - } - // Some paths only require cleanup of `/./` or leading `./` - var simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, ""); - if (simplified !== path) { - path = simplified; - if (!relativePathSegmentRegExp.test(path)) { - return path; - } - } - // Other paths require full normalization - var normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path))); - return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized; - } - ts.normalizePath = normalizePath; - function getPathWithoutRoot(pathComponents) { - if (pathComponents.length === 0) - return ""; - return pathComponents.slice(1).join(ts.directorySeparator); - } - function getNormalizedAbsolutePathWithoutRoot(fileName, currentDirectory) { - return getPathWithoutRoot(getNormalizedPathComponents(fileName, currentDirectory)); - } - ts.getNormalizedAbsolutePathWithoutRoot = getNormalizedAbsolutePathWithoutRoot; - function toPath(fileName, basePath, getCanonicalFileName) { - var nonCanonicalizedPath = isRootedDiskPath(fileName) - ? normalizePath(fileName) - : getNormalizedAbsolutePath(fileName, basePath); - return getCanonicalFileName(nonCanonicalizedPath); - } - ts.toPath = toPath; - function normalizePathAndParts(path) { - path = normalizeSlashes(path); - var _a = reducePathComponents(getPathComponents(path)), root = _a[0], parts = _a.slice(1); - if (parts.length) { - var joinedParts = root + parts.join(ts.directorySeparator); - return { path: hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(joinedParts) : joinedParts, parts: parts }; - } - else { - return { path: root, parts: parts }; - } - } - ts.normalizePathAndParts = normalizePathAndParts; - function removeTrailingDirectorySeparator(path) { - if (hasTrailingDirectorySeparator(path)) { - return path.substr(0, path.length - 1); - } - return path; - } - ts.removeTrailingDirectorySeparator = removeTrailingDirectorySeparator; - function ensureTrailingDirectorySeparator(path) { - if (!hasTrailingDirectorySeparator(path)) { - return path + ts.directorySeparator; - } - return path; - } - ts.ensureTrailingDirectorySeparator = ensureTrailingDirectorySeparator; - /** - * Ensures a path is either absolute (prefixed with `/` or `c:`) or dot-relative (prefixed - * with `./` or `../`) so as not to be confused with an unprefixed module name. - * - * ```ts - * ensurePathIsNonModuleName("/path/to/file.ext") === "/path/to/file.ext" - * ensurePathIsNonModuleName("./path/to/file.ext") === "./path/to/file.ext" - * ensurePathIsNonModuleName("../path/to/file.ext") === "../path/to/file.ext" - * ensurePathIsNonModuleName("path/to/file.ext") === "./path/to/file.ext" - * ``` - */ - function ensurePathIsNonModuleName(path) { - return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path; - } - ts.ensurePathIsNonModuleName = ensurePathIsNonModuleName; - function changeAnyExtension(path, ext, extensions, ignoreCase) { - var pathext = extensions !== undefined && ignoreCase !== undefined ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path); - return pathext ? path.slice(0, path.length - pathext.length) + (ts.startsWith(ext, ".") ? ext : "." + ext) : path; - } - ts.changeAnyExtension = changeAnyExtension; - //// Path Comparisons - // check path for these segments: '', '.'. '..' - var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; - function comparePathsWorker(a, b, componentComparer) { - if (a === b) - return 0 /* EqualTo */; - if (a === undefined) - return -1 /* LessThan */; - if (b === undefined) - return 1 /* GreaterThan */; - // NOTE: Performance optimization - shortcut if the root segments differ as there would be no - // need to perform path reduction. - var aRoot = a.substring(0, getRootLength(a)); - var bRoot = b.substring(0, getRootLength(b)); - var result = ts.compareStringsCaseInsensitive(aRoot, bRoot); - if (result !== 0 /* EqualTo */) { - return result; - } - // NOTE: Performance optimization - shortcut if there are no relative path segments in - // the non-root portion of the path - var aRest = a.substring(aRoot.length); - var bRest = b.substring(bRoot.length); - if (!relativePathSegmentRegExp.test(aRest) && !relativePathSegmentRegExp.test(bRest)) { - return componentComparer(aRest, bRest); - } - // The path contains a relative path segment. Normalize the paths and perform a slower component - // by component comparison. - var aComponents = reducePathComponents(getPathComponents(a)); - var bComponents = reducePathComponents(getPathComponents(b)); - var sharedLength = Math.min(aComponents.length, bComponents.length); - for (var i = 1; i < sharedLength; i++) { - var result_2 = componentComparer(aComponents[i], bComponents[i]); - if (result_2 !== 0 /* EqualTo */) { - return result_2; - } - } - return ts.compareValues(aComponents.length, bComponents.length); - } - /** - * Performs a case-sensitive comparison of two paths. Path roots are always compared case-insensitively. - */ - function comparePathsCaseSensitive(a, b) { - return comparePathsWorker(a, b, ts.compareStringsCaseSensitive); - } - ts.comparePathsCaseSensitive = comparePathsCaseSensitive; - /** - * Performs a case-insensitive comparison of two paths. - */ - function comparePathsCaseInsensitive(a, b) { - return comparePathsWorker(a, b, ts.compareStringsCaseInsensitive); - } - ts.comparePathsCaseInsensitive = comparePathsCaseInsensitive; - function comparePaths(a, b, currentDirectory, ignoreCase) { - if (typeof currentDirectory === "string") { - a = combinePaths(currentDirectory, a); - b = combinePaths(currentDirectory, b); - } - else if (typeof currentDirectory === "boolean") { - ignoreCase = currentDirectory; - } - return comparePathsWorker(a, b, ts.getStringComparer(ignoreCase)); - } - ts.comparePaths = comparePaths; - function containsPath(parent, child, currentDirectory, ignoreCase) { - if (typeof currentDirectory === "string") { - parent = combinePaths(currentDirectory, parent); - child = combinePaths(currentDirectory, child); - } - else if (typeof currentDirectory === "boolean") { - ignoreCase = currentDirectory; - } - if (parent === undefined || child === undefined) - return false; - if (parent === child) - return true; - var parentComponents = reducePathComponents(getPathComponents(parent)); - var childComponents = reducePathComponents(getPathComponents(child)); - if (childComponents.length < parentComponents.length) { - return false; - } - var componentEqualityComparer = ignoreCase ? ts.equateStringsCaseInsensitive : ts.equateStringsCaseSensitive; - for (var i = 0; i < parentComponents.length; i++) { - var equalityComparer = i === 0 ? ts.equateStringsCaseInsensitive : componentEqualityComparer; - if (!equalityComparer(parentComponents[i], childComponents[i])) { - return false; - } - } - return true; - } - ts.containsPath = containsPath; - /** - * Determines whether `fileName` starts with the specified `directoryName` using the provided path canonicalization callback. - * Comparison is case-sensitive between the canonical paths. - * - * Use `containsPath` if file names are not already reduced and absolute. - */ - function startsWithDirectory(fileName, directoryName, getCanonicalFileName) { - var canonicalFileName = getCanonicalFileName(fileName); - var canonicalDirectoryName = getCanonicalFileName(directoryName); - return ts.startsWith(canonicalFileName, canonicalDirectoryName + "/") || ts.startsWith(canonicalFileName, canonicalDirectoryName + "\\"); - } - ts.startsWithDirectory = startsWithDirectory; - //// Relative Paths - function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanonicalFileName) { - var fromComponents = reducePathComponents(getPathComponents(from)); - var toComponents = reducePathComponents(getPathComponents(to)); - var start; - for (start = 0; start < fromComponents.length && start < toComponents.length; start++) { - var fromComponent = getCanonicalFileName(fromComponents[start]); - var toComponent = getCanonicalFileName(toComponents[start]); - var comparer = start === 0 ? ts.equateStringsCaseInsensitive : stringEqualityComparer; - if (!comparer(fromComponent, toComponent)) - break; - } - if (start === 0) { - return toComponents; - } - var components = toComponents.slice(start); - var relative = []; - for (; start < fromComponents.length; start++) { - relative.push(".."); - } - return __spreadArray(__spreadArray([""], relative, true), components, true); - } - ts.getPathComponentsRelativeTo = getPathComponentsRelativeTo; - function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { - ts.Debug.assert((getRootLength(fromDirectory) > 0) === (getRootLength(to) > 0), "Paths must either both be absolute or both be relative"); - var getCanonicalFileName = typeof getCanonicalFileNameOrIgnoreCase === "function" ? getCanonicalFileNameOrIgnoreCase : ts.identity; - var ignoreCase = typeof getCanonicalFileNameOrIgnoreCase === "boolean" ? getCanonicalFileNameOrIgnoreCase : false; - var pathComponents = getPathComponentsRelativeTo(fromDirectory, to, ignoreCase ? ts.equateStringsCaseInsensitive : ts.equateStringsCaseSensitive, getCanonicalFileName); - return getPathFromPathComponents(pathComponents); - } - ts.getRelativePathFromDirectory = getRelativePathFromDirectory; - function convertToRelativePath(absoluteOrRelativePath, basePath, getCanonicalFileName) { - return !isRootedDiskPath(absoluteOrRelativePath) - ? absoluteOrRelativePath - : getRelativePathToDirectoryOrUrl(basePath, absoluteOrRelativePath, basePath, getCanonicalFileName, /*isAbsolutePathAnUrl*/ false); - } - ts.convertToRelativePath = convertToRelativePath; - function getRelativePathFromFile(from, to, getCanonicalFileName) { - return ensurePathIsNonModuleName(getRelativePathFromDirectory(getDirectoryPath(from), to, getCanonicalFileName)); - } - ts.getRelativePathFromFile = getRelativePathFromFile; - function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrAbsolutePath, currentDirectory, getCanonicalFileName, isAbsolutePathAnUrl) { - var pathComponents = getPathComponentsRelativeTo(resolvePath(currentDirectory, directoryPathOrUrl), resolvePath(currentDirectory, relativeOrAbsolutePath), ts.equateStringsCaseSensitive, getCanonicalFileName); - var firstComponent = pathComponents[0]; - if (isAbsolutePathAnUrl && isRootedDiskPath(firstComponent)) { - var prefix = firstComponent.charAt(0) === ts.directorySeparator ? "file://" : "file:///"; - pathComponents[0] = prefix + firstComponent; - } - return getPathFromPathComponents(pathComponents); - } - ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; - function forEachAncestorDirectory(directory, callback) { - while (true) { - var result = callback(directory); - if (result !== undefined) { - return result; - } - var parentPath = getDirectoryPath(directory); - if (parentPath === directory) { - return undefined; - } - directory = parentPath; - } - } - ts.forEachAncestorDirectory = forEachAncestorDirectory; - function isNodeModulesDirectory(dirPath) { - return ts.endsWith(dirPath, "/node_modules"); - } - ts.isNodeModulesDirectory = isNodeModulesDirectory; -})(ts || (ts = {})); var ts; (function (ts) { /** @@ -6697,7 +5988,7 @@ var ts; pollingChunkSize = getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE", defaultChunkLevels) || pollingChunkSize; ts.unchangedPollThresholds = getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", defaultChunkLevels) || ts.unchangedPollThresholds; function getLevel(envVar, level) { - return system.getEnvironmentVariable(envVar + "_" + level.toUpperCase()); + return system.getEnvironmentVariable("".concat(envVar, "_").concat(level.toUpperCase())); } function getCustomLevels(baseVariable) { var customLevels; @@ -7023,11 +6314,15 @@ var ts; ts.getFileWatcherEventKind = getFileWatcherEventKind; /*@internal*/ ts.ignoredPaths = ["/node_modules/.", "/.git", "/.#"]; + var curSysLog = ts.noop; // eslint-disable-line prefer-const /*@internal*/ - ts.sysLog = ts.noop; // eslint-disable-line prefer-const + function sysLog(s) { + return curSysLog(s); + } + ts.sysLog = sysLog; /*@internal*/ function setSysLog(logger) { - ts.sysLog = logger; + curSysLog = logger; } ts.setSysLog = setSysLog; /** @@ -7162,7 +6457,7 @@ var ts; } function onTimerToUpdateChildWatches() { timerToUpdateChildWatches = undefined; - ts.sysLog("sysLog:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size); + sysLog("sysLog:: onTimerToUpdateChildWatches:: ".concat(cacheToUpdateChildWatches.size)); var start = ts.timestamp(); var invokeMap = new ts.Map(); while (!timerToUpdateChildWatches && cacheToUpdateChildWatches.size) { @@ -7175,7 +6470,7 @@ var ts; var hasChanges = updateChildWatches(dirName, dirPath, options); invokeCallbacks(dirPath, invokeMap, hasChanges ? undefined : fileNames); } - ts.sysLog("sysLog:: invokingWatchers:: Elapsed:: " + (ts.timestamp() - start) + "ms:: " + cacheToUpdateChildWatches.size); + sysLog("sysLog:: invokingWatchers:: Elapsed:: ".concat(ts.timestamp() - start, "ms:: ").concat(cacheToUpdateChildWatches.size)); callbackCache.forEach(function (callbacks, rootDirName) { var existing = invokeMap.get(rootDirName); if (existing) { @@ -7191,7 +6486,7 @@ var ts; } }); var elapsed = ts.timestamp() - start; - ts.sysLog("sysLog:: Elapsed:: " + elapsed + "ms:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size + " " + timerToUpdateChildWatches); + sysLog("sysLog:: Elapsed:: ".concat(elapsed, "ms:: onTimerToUpdateChildWatches:: ").concat(cacheToUpdateChildWatches.size, " ").concat(timerToUpdateChildWatches)); } function removeChildWatches(parentWatcher) { if (!parentWatcher) @@ -7651,7 +6946,7 @@ var ts; var remappedPaths = new ts.Map(); var normalizedDir = ts.normalizeSlashes(__dirname); // Windows rooted dir names need an extra `/` prepended to be valid file:/// urls - var fileUrlRoot = "file://" + (ts.getRootLength(normalizedDir) === 1 ? "" : "/") + normalizedDir; + var fileUrlRoot = "file://".concat(ts.getRootLength(normalizedDir) === 1 ? "" : "/").concat(normalizedDir); for (var _i = 0, _a = profile.nodes; _i < _a.length; _i++) { var node = _a[_i]; if (node.callFrame.url) { @@ -7660,7 +6955,7 @@ var ts; node.callFrame.url = ts.getRelativePathToDirectoryOrUrl(fileUrlRoot, url, fileUrlRoot, ts.createGetCanonicalFileName(useCaseSensitiveFileNames), /*isAbsolutePathAnUrl*/ true); } else if (!nativePattern.test(url)) { - node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external" + externalFileCounter + ".js")).get(url); + node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external".concat(externalFileCounter, ".js"))).get(url); externalFileCounter++; } } @@ -7676,7 +6971,7 @@ var ts; if (!err) { try { if ((_b = statSync(profilePath)) === null || _b === void 0 ? void 0 : _b.isDirectory()) { - profilePath = _path.join(profilePath, (new Date()).toISOString().replace(/:/g, "-") + "+P" + process.pid + ".cpuprofile"); + profilePath = _path.join(profilePath, "".concat((new Date()).toISOString().replace(/:/g, "-"), "+P").concat(process.pid, ".cpuprofile")); } } catch (_c) { @@ -7778,7 +7073,7 @@ var ts; * @param createWatcher */ function invokeCallbackAndUpdateWatcher(createWatcher) { - ts.sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher")); // Call the callback for current directory callback("rename", ""); // If watcher is not closed, update it @@ -7803,7 +7098,7 @@ var ts; } } if (hitSystemWatcherLimit) { - ts.sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to fsWatchFile"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to fsWatchFile")); return watchPresentFileSystemEntryWithFsWatchFile(); } try { @@ -7819,7 +7114,7 @@ var ts; // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point // so instead of throwing error, use fs.watchFile hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC"); - ts.sysLog("sysLog:: " + fileOrDirectory + ":: Changing to fsWatchFile"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to fsWatchFile")); return watchPresentFileSystemEntryWithFsWatchFile(); } } @@ -8057,8 +7352,706 @@ var ts; ts.Debug.isDebugging = true; } })(ts || (ts = {})); +/* @internal */ +var ts; +(function (ts) { + /** + * Internally, we represent paths as strings with '/' as the directory separator. + * When we make system calls (eg: LanguageServiceHost.getDirectory()), + * we expect the host to correctly handle paths in our specified format. + */ + ts.directorySeparator = "/"; + ts.altDirectorySeparator = "\\"; + var urlSchemeSeparator = "://"; + var backslashRegExp = /\\/g; + //// Path Tests + /** + * Determines whether a charCode corresponds to `/` or `\`. + */ + function isAnyDirectorySeparator(charCode) { + return charCode === 47 /* slash */ || charCode === 92 /* backslash */; + } + ts.isAnyDirectorySeparator = isAnyDirectorySeparator; + /** + * Determines whether a path starts with a URL scheme (e.g. starts with `http://`, `ftp://`, `file://`, etc.). + */ + function isUrl(path) { + return getEncodedRootLength(path) < 0; + } + ts.isUrl = isUrl; + /** + * Determines whether a path is an absolute disk path (e.g. starts with `/`, or a dos path + * like `c:`, `c:\` or `c:/`). + */ + function isRootedDiskPath(path) { + return getEncodedRootLength(path) > 0; + } + ts.isRootedDiskPath = isRootedDiskPath; + /** + * Determines whether a path consists only of a path root. + */ + function isDiskPathRoot(path) { + var rootLength = getEncodedRootLength(path); + return rootLength > 0 && rootLength === path.length; + } + ts.isDiskPathRoot = isDiskPathRoot; + /** + * Determines whether a path starts with an absolute path component (i.e. `/`, `c:/`, `file://`, etc.). + * + * ```ts + * // POSIX + * pathIsAbsolute("/path/to/file.ext") === true + * // DOS + * pathIsAbsolute("c:/path/to/file.ext") === true + * // URL + * pathIsAbsolute("file:///path/to/file.ext") === true + * // Non-absolute + * pathIsAbsolute("path/to/file.ext") === false + * pathIsAbsolute("./path/to/file.ext") === false + * ``` + */ + function pathIsAbsolute(path) { + return getEncodedRootLength(path) !== 0; + } + ts.pathIsAbsolute = pathIsAbsolute; + /** + * Determines whether a path starts with a relative path component (i.e. `.` or `..`). + */ + function pathIsRelative(path) { + return /^\.\.?($|[\\/])/.test(path); + } + ts.pathIsRelative = pathIsRelative; + /** + * Determines whether a path is neither relative nor absolute, e.g. "path/to/file". + * Also known misleadingly as "non-relative". + */ + function pathIsBareSpecifier(path) { + return !pathIsAbsolute(path) && !pathIsRelative(path); + } + ts.pathIsBareSpecifier = pathIsBareSpecifier; + function hasExtension(fileName) { + return ts.stringContains(getBaseFileName(fileName), "."); + } + ts.hasExtension = hasExtension; + function fileExtensionIs(path, extension) { + return path.length > extension.length && ts.endsWith(path, extension); + } + ts.fileExtensionIs = fileExtensionIs; + function fileExtensionIsOneOf(path, extensions) { + for (var _i = 0, extensions_1 = extensions; _i < extensions_1.length; _i++) { + var extension = extensions_1[_i]; + if (fileExtensionIs(path, extension)) { + return true; + } + } + return false; + } + ts.fileExtensionIsOneOf = fileExtensionIsOneOf; + /** + * Determines whether a path has a trailing separator (`/` or `\\`). + */ + function hasTrailingDirectorySeparator(path) { + return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1)); + } + ts.hasTrailingDirectorySeparator = hasTrailingDirectorySeparator; + //// Path Parsing + function isVolumeCharacter(charCode) { + return (charCode >= 97 /* a */ && charCode <= 122 /* z */) || + (charCode >= 65 /* A */ && charCode <= 90 /* Z */); + } + function getFileUrlVolumeSeparatorEnd(url, start) { + var ch0 = url.charCodeAt(start); + if (ch0 === 58 /* colon */) + return start + 1; + if (ch0 === 37 /* percent */ && url.charCodeAt(start + 1) === 51 /* _3 */) { + var ch2 = url.charCodeAt(start + 2); + if (ch2 === 97 /* a */ || ch2 === 65 /* A */) + return start + 3; + } + return -1; + } + /** + * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). + * If the root is part of a URL, the twos-complement of the root length is returned. + */ + function getEncodedRootLength(path) { + if (!path) + return 0; + var ch0 = path.charCodeAt(0); + // POSIX or UNC + if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { + if (path.charCodeAt(1) !== ch0) + return 1; // POSIX: "/" (or non-normalized "\") + var p1 = path.indexOf(ch0 === 47 /* slash */ ? ts.directorySeparator : ts.altDirectorySeparator, 2); + if (p1 < 0) + return path.length; // UNC: "//server" or "\\server" + return p1 + 1; // UNC: "//server/" or "\\server\" + } + // DOS + if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { + var ch2 = path.charCodeAt(2); + if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) + return 3; // DOS: "c:/" or "c:\" + if (path.length === 2) + return 2; // DOS: "c:" (but not "c:d") + } + // URL + var schemeEnd = path.indexOf(urlSchemeSeparator); + if (schemeEnd !== -1) { + var authorityStart = schemeEnd + urlSchemeSeparator.length; + var authorityEnd = path.indexOf(ts.directorySeparator, authorityStart); + if (authorityEnd !== -1) { // URL: "file:///", "file://server/", "file://server/path" + // For local "file" URLs, include the leading DOS volume (if present). + // Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a + // special case interpreted as "the machine from which the URL is being interpreted". + var scheme = path.slice(0, schemeEnd); + var authority = path.slice(authorityStart, authorityEnd); + if (scheme === "file" && (authority === "" || authority === "localhost") && + isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { + var volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + if (volumeSeparatorEnd !== -1) { + if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" + return ~(volumeSeparatorEnd + 1); + } + if (volumeSeparatorEnd === path.length) { + // URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a" + // but not "file:///c:d" or "file:///c%3ad" + return ~volumeSeparatorEnd; + } + } + } + return ~(authorityEnd + 1); // URL: "file://server/", "http://server/" + } + return ~path.length; // URL: "file://server", "http://server" + } + // relative + return 0; + } + /** + * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). + * + * For example: + * ```ts + * getRootLength("a") === 0 // "" + * getRootLength("/") === 1 // "/" + * getRootLength("c:") === 2 // "c:" + * getRootLength("c:d") === 0 // "" + * getRootLength("c:/") === 3 // "c:/" + * getRootLength("c:\\") === 3 // "c:\\" + * getRootLength("//server") === 7 // "//server" + * getRootLength("//server/share") === 8 // "//server/" + * getRootLength("\\\\server") === 7 // "\\\\server" + * getRootLength("\\\\server\\share") === 8 // "\\\\server\\" + * getRootLength("file:///path") === 8 // "file:///" + * getRootLength("file:///c:") === 10 // "file:///c:" + * getRootLength("file:///c:d") === 8 // "file:///" + * getRootLength("file:///c:/path") === 11 // "file:///c:/" + * getRootLength("file://server") === 13 // "file://server" + * getRootLength("file://server/path") === 14 // "file://server/" + * getRootLength("http://server") === 13 // "http://server" + * getRootLength("http://server/path") === 14 // "http://server/" + * ``` + */ + function getRootLength(path) { + var rootLength = getEncodedRootLength(path); + return rootLength < 0 ? ~rootLength : rootLength; + } + ts.getRootLength = getRootLength; + function getDirectoryPath(path) { + path = normalizeSlashes(path); + // If the path provided is itself the root, then return it. + var rootLength = getRootLength(path); + if (rootLength === path.length) + return path; + // return the leading portion of the path up to the last (non-terminal) directory separator + // but not including any trailing directory separator. + path = removeTrailingDirectorySeparator(path); + return path.slice(0, Math.max(rootLength, path.lastIndexOf(ts.directorySeparator))); + } + ts.getDirectoryPath = getDirectoryPath; + function getBaseFileName(path, extensions, ignoreCase) { + path = normalizeSlashes(path); + // if the path provided is itself the root, then it has not file name. + var rootLength = getRootLength(path); + if (rootLength === path.length) + return ""; + // return the trailing portion of the path starting after the last (non-terminal) directory + // separator but not including any trailing directory separator. + path = removeTrailingDirectorySeparator(path); + var name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(ts.directorySeparator) + 1)); + var extension = extensions !== undefined && ignoreCase !== undefined ? getAnyExtensionFromPath(name, extensions, ignoreCase) : undefined; + return extension ? name.slice(0, name.length - extension.length) : name; + } + ts.getBaseFileName = getBaseFileName; + function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { + if (!ts.startsWith(extension, ".")) + extension = "." + extension; + if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { + var pathExtension = path.slice(path.length - extension.length); + if (stringEqualityComparer(pathExtension, extension)) { + return pathExtension; + } + } + } + function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) { + if (typeof extensions === "string") { + return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || ""; + } + for (var _i = 0, extensions_2 = extensions; _i < extensions_2.length; _i++) { + var extension = extensions_2[_i]; + var result = tryGetExtensionFromPath(path, extension, stringEqualityComparer); + if (result) + return result; + } + return ""; + } + function getAnyExtensionFromPath(path, extensions, ignoreCase) { + // Retrieves any string from the final "." onwards from a base file name. + // Unlike extensionFromPath, which throws an exception on unrecognized extensions. + if (extensions) { + return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? ts.equateStringsCaseInsensitive : ts.equateStringsCaseSensitive); + } + var baseFileName = getBaseFileName(path); + var extensionIndex = baseFileName.lastIndexOf("."); + if (extensionIndex >= 0) { + return baseFileName.substring(extensionIndex); + } + return ""; + } + ts.getAnyExtensionFromPath = getAnyExtensionFromPath; + function pathComponents(path, rootLength) { + var root = path.substring(0, rootLength); + var rest = path.substring(rootLength).split(ts.directorySeparator); + if (rest.length && !ts.lastOrUndefined(rest)) + rest.pop(); + return __spreadArray([root], rest, true); + } + /** + * Parse a path into an array containing a root component (at index 0) and zero or more path + * components (at indices > 0). The result is not normalized. + * If the path is relative, the root component is `""`. + * If the path is absolute, the root component includes the first path separator (`/`). + * + * ```ts + * // POSIX + * getPathComponents("/path/to/file.ext") === ["/", "path", "to", "file.ext"] + * getPathComponents("/path/to/") === ["/", "path", "to"] + * getPathComponents("/") === ["/"] + * // DOS + * getPathComponents("c:/path/to/file.ext") === ["c:/", "path", "to", "file.ext"] + * getPathComponents("c:/path/to/") === ["c:/", "path", "to"] + * getPathComponents("c:/") === ["c:/"] + * getPathComponents("c:") === ["c:"] + * // URL + * getPathComponents("http://typescriptlang.org/path/to/file.ext") === ["http://typescriptlang.org/", "path", "to", "file.ext"] + * getPathComponents("http://typescriptlang.org/path/to/") === ["http://typescriptlang.org/", "path", "to"] + * getPathComponents("http://typescriptlang.org/") === ["http://typescriptlang.org/"] + * getPathComponents("http://typescriptlang.org") === ["http://typescriptlang.org"] + * getPathComponents("file://server/path/to/file.ext") === ["file://server/", "path", "to", "file.ext"] + * getPathComponents("file://server/path/to/") === ["file://server/", "path", "to"] + * getPathComponents("file://server/") === ["file://server/"] + * getPathComponents("file://server") === ["file://server"] + * getPathComponents("file:///path/to/file.ext") === ["file:///", "path", "to", "file.ext"] + * getPathComponents("file:///path/to/") === ["file:///", "path", "to"] + * getPathComponents("file:///") === ["file:///"] + * getPathComponents("file://") === ["file://"] + */ + function getPathComponents(path, currentDirectory) { + if (currentDirectory === void 0) { currentDirectory = ""; } + path = combinePaths(currentDirectory, path); + return pathComponents(path, getRootLength(path)); + } + ts.getPathComponents = getPathComponents; + //// Path Formatting + /** + * Formats a parsed path consisting of a root component (at index 0) and zero or more path + * segments (at indices > 0). + * + * ```ts + * getPathFromPathComponents(["/", "path", "to", "file.ext"]) === "/path/to/file.ext" + * ``` + */ + function getPathFromPathComponents(pathComponents) { + if (pathComponents.length === 0) + return ""; + var root = pathComponents[0] && ensureTrailingDirectorySeparator(pathComponents[0]); + return root + pathComponents.slice(1).join(ts.directorySeparator); + } + ts.getPathFromPathComponents = getPathFromPathComponents; + //// Path Normalization + /** + * Normalize path separators, converting `\` into `/`. + */ + function normalizeSlashes(path) { + var index = path.indexOf("\\"); + if (index === -1) { + return path; + } + backslashRegExp.lastIndex = index; // prime regex with known position + return path.replace(backslashRegExp, ts.directorySeparator); + } + ts.normalizeSlashes = normalizeSlashes; + /** + * Reduce an array of path components to a more simplified path by navigating any + * `"."` or `".."` entries in the path. + */ + function reducePathComponents(components) { + if (!ts.some(components)) + return []; + var reduced = [components[0]]; + for (var i = 1; i < components.length; i++) { + var component = components[i]; + if (!component) + continue; + if (component === ".") + continue; + if (component === "..") { + if (reduced.length > 1) { + if (reduced[reduced.length - 1] !== "..") { + reduced.pop(); + continue; + } + } + else if (reduced[0]) + continue; + } + reduced.push(component); + } + return reduced; + } + ts.reducePathComponents = reducePathComponents; + /** + * Combines paths. If a path is absolute, it replaces any previous path. Relative paths are not simplified. + * + * ```ts + * // Non-rooted + * combinePaths("path", "to", "file.ext") === "path/to/file.ext" + * combinePaths("path", "dir", "..", "to", "file.ext") === "path/dir/../to/file.ext" + * // POSIX + * combinePaths("/path", "to", "file.ext") === "/path/to/file.ext" + * combinePaths("/path", "/to", "file.ext") === "/to/file.ext" + * // DOS + * combinePaths("c:/path", "to", "file.ext") === "c:/path/to/file.ext" + * combinePaths("c:/path", "c:/to", "file.ext") === "c:/to/file.ext" + * // URL + * combinePaths("file:///path", "to", "file.ext") === "file:///path/to/file.ext" + * combinePaths("file:///path", "file:///to", "file.ext") === "file:///to/file.ext" + * ``` + */ + function combinePaths(path) { + var paths = []; + for (var _i = 1; _i < arguments.length; _i++) { + paths[_i - 1] = arguments[_i]; + } + if (path) + path = normalizeSlashes(path); + for (var _a = 0, paths_1 = paths; _a < paths_1.length; _a++) { + var relativePath = paths_1[_a]; + if (!relativePath) + continue; + relativePath = normalizeSlashes(relativePath); + if (!path || getRootLength(relativePath) !== 0) { + path = relativePath; + } + else { + path = ensureTrailingDirectorySeparator(path) + relativePath; + } + } + return path; + } + ts.combinePaths = combinePaths; + /** + * Combines and resolves paths. If a path is absolute, it replaces any previous path. Any + * `.` and `..` path components are resolved. Trailing directory separators are preserved. + * + * ```ts + * resolvePath("/path", "to", "file.ext") === "path/to/file.ext" + * resolvePath("/path", "to", "file.ext/") === "path/to/file.ext/" + * resolvePath("/path", "dir", "..", "to", "file.ext") === "path/to/file.ext" + * ``` + */ + function resolvePath(path) { + var paths = []; + for (var _i = 1; _i < arguments.length; _i++) { + paths[_i - 1] = arguments[_i]; + } + return normalizePath(ts.some(paths) ? combinePaths.apply(void 0, __spreadArray([path], paths, false)) : normalizeSlashes(path)); + } + ts.resolvePath = resolvePath; + /** + * Parse a path into an array containing a root component (at index 0) and zero or more path + * components (at indices > 0). The result is normalized. + * If the path is relative, the root component is `""`. + * If the path is absolute, the root component includes the first path separator (`/`). + * + * ```ts + * getNormalizedPathComponents("to/dir/../file.ext", "/path/") === ["/", "path", "to", "file.ext"] + * ``` + */ + function getNormalizedPathComponents(path, currentDirectory) { + return reducePathComponents(getPathComponents(path, currentDirectory)); + } + ts.getNormalizedPathComponents = getNormalizedPathComponents; + function getNormalizedAbsolutePath(fileName, currentDirectory) { + return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); + } + ts.getNormalizedAbsolutePath = getNormalizedAbsolutePath; + function normalizePath(path) { + path = normalizeSlashes(path); + // Most paths don't require normalization + if (!relativePathSegmentRegExp.test(path)) { + return path; + } + // Some paths only require cleanup of `/./` or leading `./` + var simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, ""); + if (simplified !== path) { + path = simplified; + if (!relativePathSegmentRegExp.test(path)) { + return path; + } + } + // Other paths require full normalization + var normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path))); + return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized; + } + ts.normalizePath = normalizePath; + function getPathWithoutRoot(pathComponents) { + if (pathComponents.length === 0) + return ""; + return pathComponents.slice(1).join(ts.directorySeparator); + } + function getNormalizedAbsolutePathWithoutRoot(fileName, currentDirectory) { + return getPathWithoutRoot(getNormalizedPathComponents(fileName, currentDirectory)); + } + ts.getNormalizedAbsolutePathWithoutRoot = getNormalizedAbsolutePathWithoutRoot; + function toPath(fileName, basePath, getCanonicalFileName) { + var nonCanonicalizedPath = isRootedDiskPath(fileName) + ? normalizePath(fileName) + : getNormalizedAbsolutePath(fileName, basePath); + return getCanonicalFileName(nonCanonicalizedPath); + } + ts.toPath = toPath; + function normalizePathAndParts(path) { + path = normalizeSlashes(path); + var _a = reducePathComponents(getPathComponents(path)), root = _a[0], parts = _a.slice(1); + if (parts.length) { + var joinedParts = root + parts.join(ts.directorySeparator); + return { path: hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(joinedParts) : joinedParts, parts: parts }; + } + else { + return { path: root, parts: parts }; + } + } + ts.normalizePathAndParts = normalizePathAndParts; + function removeTrailingDirectorySeparator(path) { + if (hasTrailingDirectorySeparator(path)) { + return path.substr(0, path.length - 1); + } + return path; + } + ts.removeTrailingDirectorySeparator = removeTrailingDirectorySeparator; + function ensureTrailingDirectorySeparator(path) { + if (!hasTrailingDirectorySeparator(path)) { + return path + ts.directorySeparator; + } + return path; + } + ts.ensureTrailingDirectorySeparator = ensureTrailingDirectorySeparator; + /** + * Ensures a path is either absolute (prefixed with `/` or `c:`) or dot-relative (prefixed + * with `./` or `../`) so as not to be confused with an unprefixed module name. + * + * ```ts + * ensurePathIsNonModuleName("/path/to/file.ext") === "/path/to/file.ext" + * ensurePathIsNonModuleName("./path/to/file.ext") === "./path/to/file.ext" + * ensurePathIsNonModuleName("../path/to/file.ext") === "../path/to/file.ext" + * ensurePathIsNonModuleName("path/to/file.ext") === "./path/to/file.ext" + * ``` + */ + function ensurePathIsNonModuleName(path) { + return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path; + } + ts.ensurePathIsNonModuleName = ensurePathIsNonModuleName; + function changeAnyExtension(path, ext, extensions, ignoreCase) { + var pathext = extensions !== undefined && ignoreCase !== undefined ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path); + return pathext ? path.slice(0, path.length - pathext.length) + (ts.startsWith(ext, ".") ? ext : "." + ext) : path; + } + ts.changeAnyExtension = changeAnyExtension; + //// Path Comparisons + // check path for these segments: '', '.'. '..' + var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; + function comparePathsWorker(a, b, componentComparer) { + if (a === b) + return 0 /* EqualTo */; + if (a === undefined) + return -1 /* LessThan */; + if (b === undefined) + return 1 /* GreaterThan */; + // NOTE: Performance optimization - shortcut if the root segments differ as there would be no + // need to perform path reduction. + var aRoot = a.substring(0, getRootLength(a)); + var bRoot = b.substring(0, getRootLength(b)); + var result = ts.compareStringsCaseInsensitive(aRoot, bRoot); + if (result !== 0 /* EqualTo */) { + return result; + } + // NOTE: Performance optimization - shortcut if there are no relative path segments in + // the non-root portion of the path + var aRest = a.substring(aRoot.length); + var bRest = b.substring(bRoot.length); + if (!relativePathSegmentRegExp.test(aRest) && !relativePathSegmentRegExp.test(bRest)) { + return componentComparer(aRest, bRest); + } + // The path contains a relative path segment. Normalize the paths and perform a slower component + // by component comparison. + var aComponents = reducePathComponents(getPathComponents(a)); + var bComponents = reducePathComponents(getPathComponents(b)); + var sharedLength = Math.min(aComponents.length, bComponents.length); + for (var i = 1; i < sharedLength; i++) { + var result_2 = componentComparer(aComponents[i], bComponents[i]); + if (result_2 !== 0 /* EqualTo */) { + return result_2; + } + } + return ts.compareValues(aComponents.length, bComponents.length); + } + /** + * Performs a case-sensitive comparison of two paths. Path roots are always compared case-insensitively. + */ + function comparePathsCaseSensitive(a, b) { + return comparePathsWorker(a, b, ts.compareStringsCaseSensitive); + } + ts.comparePathsCaseSensitive = comparePathsCaseSensitive; + /** + * Performs a case-insensitive comparison of two paths. + */ + function comparePathsCaseInsensitive(a, b) { + return comparePathsWorker(a, b, ts.compareStringsCaseInsensitive); + } + ts.comparePathsCaseInsensitive = comparePathsCaseInsensitive; + function comparePaths(a, b, currentDirectory, ignoreCase) { + if (typeof currentDirectory === "string") { + a = combinePaths(currentDirectory, a); + b = combinePaths(currentDirectory, b); + } + else if (typeof currentDirectory === "boolean") { + ignoreCase = currentDirectory; + } + return comparePathsWorker(a, b, ts.getStringComparer(ignoreCase)); + } + ts.comparePaths = comparePaths; + function containsPath(parent, child, currentDirectory, ignoreCase) { + if (typeof currentDirectory === "string") { + parent = combinePaths(currentDirectory, parent); + child = combinePaths(currentDirectory, child); + } + else if (typeof currentDirectory === "boolean") { + ignoreCase = currentDirectory; + } + if (parent === undefined || child === undefined) + return false; + if (parent === child) + return true; + var parentComponents = reducePathComponents(getPathComponents(parent)); + var childComponents = reducePathComponents(getPathComponents(child)); + if (childComponents.length < parentComponents.length) { + return false; + } + var componentEqualityComparer = ignoreCase ? ts.equateStringsCaseInsensitive : ts.equateStringsCaseSensitive; + for (var i = 0; i < parentComponents.length; i++) { + var equalityComparer = i === 0 ? ts.equateStringsCaseInsensitive : componentEqualityComparer; + if (!equalityComparer(parentComponents[i], childComponents[i])) { + return false; + } + } + return true; + } + ts.containsPath = containsPath; + /** + * Determines whether `fileName` starts with the specified `directoryName` using the provided path canonicalization callback. + * Comparison is case-sensitive between the canonical paths. + * + * Use `containsPath` if file names are not already reduced and absolute. + */ + function startsWithDirectory(fileName, directoryName, getCanonicalFileName) { + var canonicalFileName = getCanonicalFileName(fileName); + var canonicalDirectoryName = getCanonicalFileName(directoryName); + return ts.startsWith(canonicalFileName, canonicalDirectoryName + "/") || ts.startsWith(canonicalFileName, canonicalDirectoryName + "\\"); + } + ts.startsWithDirectory = startsWithDirectory; + //// Relative Paths + function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanonicalFileName) { + var fromComponents = reducePathComponents(getPathComponents(from)); + var toComponents = reducePathComponents(getPathComponents(to)); + var start; + for (start = 0; start < fromComponents.length && start < toComponents.length; start++) { + var fromComponent = getCanonicalFileName(fromComponents[start]); + var toComponent = getCanonicalFileName(toComponents[start]); + var comparer = start === 0 ? ts.equateStringsCaseInsensitive : stringEqualityComparer; + if (!comparer(fromComponent, toComponent)) + break; + } + if (start === 0) { + return toComponents; + } + var components = toComponents.slice(start); + var relative = []; + for (; start < fromComponents.length; start++) { + relative.push(".."); + } + return __spreadArray(__spreadArray([""], relative, true), components, true); + } + ts.getPathComponentsRelativeTo = getPathComponentsRelativeTo; + function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) { + ts.Debug.assert((getRootLength(fromDirectory) > 0) === (getRootLength(to) > 0), "Paths must either both be absolute or both be relative"); + var getCanonicalFileName = typeof getCanonicalFileNameOrIgnoreCase === "function" ? getCanonicalFileNameOrIgnoreCase : ts.identity; + var ignoreCase = typeof getCanonicalFileNameOrIgnoreCase === "boolean" ? getCanonicalFileNameOrIgnoreCase : false; + var pathComponents = getPathComponentsRelativeTo(fromDirectory, to, ignoreCase ? ts.equateStringsCaseInsensitive : ts.equateStringsCaseSensitive, getCanonicalFileName); + return getPathFromPathComponents(pathComponents); + } + ts.getRelativePathFromDirectory = getRelativePathFromDirectory; + function convertToRelativePath(absoluteOrRelativePath, basePath, getCanonicalFileName) { + return !isRootedDiskPath(absoluteOrRelativePath) + ? absoluteOrRelativePath + : getRelativePathToDirectoryOrUrl(basePath, absoluteOrRelativePath, basePath, getCanonicalFileName, /*isAbsolutePathAnUrl*/ false); + } + ts.convertToRelativePath = convertToRelativePath; + function getRelativePathFromFile(from, to, getCanonicalFileName) { + return ensurePathIsNonModuleName(getRelativePathFromDirectory(getDirectoryPath(from), to, getCanonicalFileName)); + } + ts.getRelativePathFromFile = getRelativePathFromFile; + function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrAbsolutePath, currentDirectory, getCanonicalFileName, isAbsolutePathAnUrl) { + var pathComponents = getPathComponentsRelativeTo(resolvePath(currentDirectory, directoryPathOrUrl), resolvePath(currentDirectory, relativeOrAbsolutePath), ts.equateStringsCaseSensitive, getCanonicalFileName); + var firstComponent = pathComponents[0]; + if (isAbsolutePathAnUrl && isRootedDiskPath(firstComponent)) { + var prefix = firstComponent.charAt(0) === ts.directorySeparator ? "file://" : "file:///"; + pathComponents[0] = prefix + firstComponent; + } + return getPathFromPathComponents(pathComponents); + } + ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; + function forEachAncestorDirectory(directory, callback) { + while (true) { + var result = callback(directory); + if (result !== undefined) { + return result; + } + var parentPath = getDirectoryPath(directory); + if (parentPath === directory) { + return undefined; + } + directory = parentPath; + } + } + ts.forEachAncestorDirectory = forEachAncestorDirectory; + function isNodeModulesDirectory(dirPath) { + return ts.endsWith(dirPath, "/node_modules"); + } + ts.isNodeModulesDirectory = isNodeModulesDirectory; +})(ts || (ts = {})); // -// generated from './diagnosticInformationMap.generated.ts' by 'src/compiler' +// generated from './diagnosticMessages.json' in 'src/compiler' /* @internal */ var ts; (function (ts) { @@ -8150,7 +8143,7 @@ var ts; Duplicate_label_0: diag(1114, ts.DiagnosticCategory.Error, "Duplicate_label_0_1114", "Duplicate label '{0}'."), A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: diag(1115, ts.DiagnosticCategory.Error, "A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115", "A 'continue' statement can only jump to a label of an enclosing iteration statement."), A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: diag(1116, ts.DiagnosticCategory.Error, "A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116", "A 'break' statement can only jump to a label of an enclosing statement."), - An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode: diag(1117, ts.DiagnosticCategory.Error, "An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117", "An object literal cannot have multiple properties with the same name in strict mode."), + An_object_literal_cannot_have_multiple_properties_with_the_same_name: diag(1117, ts.DiagnosticCategory.Error, "An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117", "An object literal cannot have multiple properties with the same name."), An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: diag(1118, ts.DiagnosticCategory.Error, "An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118", "An object literal cannot have multiple get/set accessors with the same name."), An_object_literal_cannot_have_property_and_accessor_with_the_same_name: diag(1119, ts.DiagnosticCategory.Error, "An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119", "An object literal cannot have property and accessor with the same name."), An_export_assignment_cannot_have_modifiers: diag(1120, ts.DiagnosticCategory.Error, "An_export_assignment_cannot_have_modifiers_1120", "An export assignment cannot have modifiers."), @@ -8248,10 +8241,10 @@ var ts; A_type_predicate_cannot_reference_a_rest_parameter: diag(1229, ts.DiagnosticCategory.Error, "A_type_predicate_cannot_reference_a_rest_parameter_1229", "A type predicate cannot reference a rest parameter."), A_type_predicate_cannot_reference_element_0_in_a_binding_pattern: diag(1230, ts.DiagnosticCategory.Error, "A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230", "A type predicate cannot reference element '{0}' in a binding pattern."), An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration: diag(1231, ts.DiagnosticCategory.Error, "An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231", "An export assignment must be at the top level of a file or module declaration."), - An_import_declaration_can_only_be_used_in_a_namespace_or_module: diag(1232, ts.DiagnosticCategory.Error, "An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232", "An import declaration can only be used in a namespace or module."), - An_export_declaration_can_only_be_used_in_a_module: diag(1233, ts.DiagnosticCategory.Error, "An_export_declaration_can_only_be_used_in_a_module_1233", "An export declaration can only be used in a module."), + An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module: diag(1232, ts.DiagnosticCategory.Error, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232", "An import declaration can only be used at the top level of a namespace or module."), + An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module: diag(1233, ts.DiagnosticCategory.Error, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233", "An export declaration can only be used at the top level of a namespace or module."), An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file: diag(1234, ts.DiagnosticCategory.Error, "An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234", "An ambient module declaration is only allowed at the top level in a file."), - A_namespace_declaration_is_only_allowed_in_a_namespace_or_module: diag(1235, ts.DiagnosticCategory.Error, "A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235", "A namespace declaration is only allowed in a namespace or module."), + A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module: diag(1235, ts.DiagnosticCategory.Error, "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235", "A namespace declaration is only allowed at the top level of a namespace or module."), The_return_type_of_a_property_decorator_function_must_be_either_void_or_any: diag(1236, ts.DiagnosticCategory.Error, "The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236", "The return type of a property decorator function must be either 'void' or 'any'."), The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any: diag(1237, ts.DiagnosticCategory.Error, "The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237", "The return type of a parameter decorator function must be either 'void' or 'any'."), Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression: diag(1238, ts.DiagnosticCategory.Error, "Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238", "Unable to resolve signature of class decorator when called as an expression."), @@ -8283,6 +8276,9 @@ var ts; An_optional_element_cannot_follow_a_rest_element: diag(1266, ts.DiagnosticCategory.Error, "An_optional_element_cannot_follow_a_rest_element_1266", "An optional element cannot follow a rest element."), Property_0_cannot_have_an_initializer_because_it_is_marked_abstract: diag(1267, ts.DiagnosticCategory.Error, "Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267", "Property '{0}' cannot have an initializer because it is marked abstract."), An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type: diag(1268, ts.DiagnosticCategory.Error, "An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268", "An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."), + Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided: diag(1269, ts.DiagnosticCategory.Error, "Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided_1269", "Cannot use 'export import' on a type or type-only namespace when the '--isolatedModules' flag is provided."), + Decorator_function_return_type_0_is_not_assignable_to_type_1: diag(1270, ts.DiagnosticCategory.Error, "Decorator_function_return_type_0_is_not_assignable_to_type_1_1270", "Decorator function return type '{0}' is not assignable to type '{1}'."), + Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any: diag(1271, ts.DiagnosticCategory.Error, "Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271", "Decorator function return type is '{0}' but is expected to be 'void' or 'any'."), with_statements_are_not_allowed_in_an_async_function_block: diag(1300, ts.DiagnosticCategory.Error, "with_statements_are_not_allowed_in_an_async_function_block_1300", "'with' statements are not allowed in an async function block."), await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(1308, ts.DiagnosticCategory.Error, "await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308", "'await' expressions are only allowed within async functions and at the top levels of modules."), Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern: diag(1312, ts.DiagnosticCategory.Error, "Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312", "Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."), @@ -8297,7 +8293,7 @@ var ts; Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1321, ts.DiagnosticCategory.Error, "Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321", "Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."), Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1322, ts.DiagnosticCategory.Error, "Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322", "Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."), Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node12_or_nodenext: diag(1323, ts.DiagnosticCategory.Error, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node12', or 'nodenext'."), - Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext: diag(1324, ts.DiagnosticCategory.Error, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext'."), + Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_or_nodenext: diag(1324, ts.DiagnosticCategory.Error, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_or_nodenext_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext' or 'nodenext'."), Argument_of_dynamic_import_cannot_be_spread_element: diag(1325, ts.DiagnosticCategory.Error, "Argument_of_dynamic_import_cannot_be_spread_element_1325", "Argument of dynamic import cannot be spread element."), Dynamic_import_cannot_have_type_arguments: diag(1326, ts.DiagnosticCategory.Error, "Dynamic_import_cannot_have_type_arguments_1326", "Dynamic import cannot have type arguments."), String_literal_with_double_quotes_expected: diag(1327, ts.DiagnosticCategory.Error, "String_literal_with_double_quotes_expected_1327", "String literal with double quotes expected."), @@ -8418,6 +8414,9 @@ var ts; Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: diag(1451, ts.DiagnosticCategory.Error, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"), The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output: diag(1470, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470", "The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."), Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead: diag(1471, ts.DiagnosticCategory.Error, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported synchronously. Use dynamic import instead."), + catch_or_finally_expected: diag(1472, ts.DiagnosticCategory.Error, "catch_or_finally_expected_1472", "'catch' or 'finally' expected."), + An_import_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1473, ts.DiagnosticCategory.Error, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473", "An import declaration can only be used at the top level of a module."), + An_export_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1474, ts.DiagnosticCategory.Error, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474", "An export declaration can only be used at the top level of a module."), The_types_of_0_are_incompatible_between_these_types: diag(2200, ts.DiagnosticCategory.Error, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."), The_types_returned_by_0_are_incompatible_between_these_types: diag(2201, ts.DiagnosticCategory.Error, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."), Call_signature_return_types_0_and_1_are_incompatible: diag(2202, ts.DiagnosticCategory.Error, "Call_signature_return_types_0_and_1_are_incompatible_2202", "Call signature return types '{0}' and '{1}' are incompatible.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), @@ -8437,6 +8436,7 @@ var ts; Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity: diag(2308, ts.DiagnosticCategory.Error, "Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308", "Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."), An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: diag(2309, ts.DiagnosticCategory.Error, "An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309", "An export assignment cannot be used in a module with other exported elements."), Type_0_recursively_references_itself_as_a_base_type: diag(2310, ts.DiagnosticCategory.Error, "Type_0_recursively_references_itself_as_a_base_type_2310", "Type '{0}' recursively references itself as a base type."), + Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function: diag(2311, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311", "Cannot find name '{0}'. Did you mean to write this in an async function?"), An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members: diag(2312, ts.DiagnosticCategory.Error, "An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312", "An interface can only extend an object type or intersection of object types with statically known members."), Type_parameter_0_has_a_circular_constraint: diag(2313, ts.DiagnosticCategory.Error, "Type_parameter_0_has_a_circular_constraint_2313", "Type parameter '{0}' has a circular constraint."), Generic_type_0_requires_1_type_argument_s: diag(2314, ts.DiagnosticCategory.Error, "Generic_type_0_requires_1_type_argument_s_2314", "Generic type '{0}' requires {1} type argument(s)."), @@ -8500,7 +8500,7 @@ var ts; Parameter_0_cannot_reference_identifier_1_declared_after_it: diag(2373, ts.DiagnosticCategory.Error, "Parameter_0_cannot_reference_identifier_1_declared_after_it_2373", "Parameter '{0}' cannot reference identifier '{1}' declared after it."), Duplicate_index_signature_for_type_0: diag(2374, ts.DiagnosticCategory.Error, "Duplicate_index_signature_for_type_0_2374", "Duplicate index signature for type '{0}'."), Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties: diag(2375, ts.DiagnosticCategory.Error, "Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375", "Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."), - A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers: diag(2376, ts.DiagnosticCategory.Error, "A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376", "A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers."), + A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers: diag(2376, ts.DiagnosticCategory.Error, "A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376", "A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."), Constructors_for_derived_classes_must_contain_a_super_call: diag(2377, ts.DiagnosticCategory.Error, "Constructors_for_derived_classes_must_contain_a_super_call_2377", "Constructors for derived classes must contain a 'super' call."), A_get_accessor_must_return_a_value: diag(2378, ts.DiagnosticCategory.Error, "A_get_accessor_must_return_a_value_2378", "A 'get' accessor must return a value."), Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties: diag(2379, ts.DiagnosticCategory.Error, "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379", "Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."), @@ -8523,6 +8523,7 @@ var ts; constructor_cannot_be_used_as_a_parameter_property_name: diag(2398, ts.DiagnosticCategory.Error, "constructor_cannot_be_used_as_a_parameter_property_name_2398", "'constructor' cannot be used as a parameter property name."), Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: diag(2399, ts.DiagnosticCategory.Error, "Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399", "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."), Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: diag(2400, ts.DiagnosticCategory.Error, "Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400", "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."), + A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers: diag(2401, ts.DiagnosticCategory.Error, "A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401", "A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."), Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: diag(2402, ts.DiagnosticCategory.Error, "Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402", "Expression resolves to '_super' that compiler uses to capture base class reference."), Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: diag(2403, ts.DiagnosticCategory.Error, "Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403", "Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."), The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation: diag(2404, ts.DiagnosticCategory.Error, "The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404", "The left-hand side of a 'for...in' statement cannot use a type annotation."), @@ -8881,12 +8882,10 @@ var ts; Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher: diag(2802, ts.DiagnosticCategory.Error, "Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802", "Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."), Cannot_assign_to_private_method_0_Private_methods_are_not_writable: diag(2803, ts.DiagnosticCategory.Error, "Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803", "Cannot assign to private method '{0}'. Private methods are not writable."), Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name: diag(2804, ts.DiagnosticCategory.Error, "Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804", "Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."), - Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_not_specified_with_a_target_of_esnext_Consider_adding_the_useDefineForClassFields_flag: diag(2805, ts.DiagnosticCategory.Error, "Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_no_2805", "Static fields with private names can't have initializers when the '--useDefineForClassFields' flag is not specified with a '--target' of 'esnext'. Consider adding the '--useDefineForClassFields' flag."), Private_accessor_was_defined_without_a_getter: diag(2806, ts.DiagnosticCategory.Error, "Private_accessor_was_defined_without_a_getter_2806", "Private accessor was defined without a getter."), This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0: diag(2807, ts.DiagnosticCategory.Error, "This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807", "This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."), A_get_accessor_must_be_at_least_as_accessible_as_the_setter: diag(2808, ts.DiagnosticCategory.Error, "A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808", "A get accessor must be at least as accessible as the setter"), Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses: diag(2809, ts.DiagnosticCategory.Error, "Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809", "Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses."), - Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnext_and_useDefineForClassFields_is_false: diag(2810, ts.DiagnosticCategory.Error, "Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnex_2810", "Property '{0}' may not be used in a static property's initializer in the same class when 'target' is 'esnext' and 'useDefineForClassFields' is 'false'."), Initializer_for_property_0: diag(2811, ts.DiagnosticCategory.Error, "Initializer_for_property_0_2811", "Initializer for property '{0}'"), Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom: diag(2812, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812", "Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."), Class_declaration_cannot_implement_overload_list_for_0: diag(2813, ts.DiagnosticCategory.Error, "Class_declaration_cannot_implement_overload_list_for_0_2813", "Class declaration cannot implement overload list for '{0}'."), @@ -8897,11 +8896,13 @@ var ts; Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers: diag(2818, ts.DiagnosticCategory.Error, "Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818", "Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."), Namespace_name_cannot_be_0: diag(2819, ts.DiagnosticCategory.Error, "Namespace_name_cannot_be_0_2819", "Namespace name cannot be '{0}'."), Type_0_is_not_assignable_to_type_1_Did_you_mean_2: diag(2820, ts.DiagnosticCategory.Error, "Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820", "Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"), - Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext: diag(2821, ts.DiagnosticCategory.Error, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_2821", "Import assertions are only supported when the '--module' option is set to 'esnext'."), + Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext: diag(2821, ts.DiagnosticCategory.Error, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821", "Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."), Import_assertions_cannot_be_used_with_type_only_imports_or_exports: diag(2822, ts.DiagnosticCategory.Error, "Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822", "Import assertions cannot be used with type-only imports or exports."), Cannot_find_namespace_0_Did_you_mean_1: diag(2833, ts.DiagnosticCategory.Error, "Cannot_find_namespace_0_Did_you_mean_1_2833", "Cannot find namespace '{0}'. Did you mean '{1}'?"), Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Consider_adding_an_extension_to_the_import_path: diag(2834, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Consider adding an extension to the import path."), Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0: diag(2835, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Did you mean '{0}'?"), + Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."), + Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -9100,6 +9101,7 @@ var ts; DIRECTORY: diag(6038, ts.DiagnosticCategory.Message, "DIRECTORY_6038", "DIRECTORY"), STRATEGY: diag(6039, ts.DiagnosticCategory.Message, "STRATEGY_6039", "STRATEGY"), FILE_OR_DIRECTORY: diag(6040, ts.DiagnosticCategory.Message, "FILE_OR_DIRECTORY_6040", "FILE OR DIRECTORY"), + Errors_Files: diag(6041, ts.DiagnosticCategory.Message, "Errors_Files_6041", "Errors Files"), Generates_corresponding_map_file: diag(6043, ts.DiagnosticCategory.Message, "Generates_corresponding_map_file_6043", "Generates corresponding '.map' file."), Compiler_option_0_expects_an_argument: diag(6044, ts.DiagnosticCategory.Error, "Compiler_option_0_expects_an_argument_6044", "Compiler option '{0}' expects an argument."), Unterminated_quoted_string_in_response_file_0: diag(6045, ts.DiagnosticCategory.Error, "Unterminated_quoted_string_in_response_file_0_6045", "Unterminated quoted string in response file '{0}'."), @@ -9293,6 +9295,9 @@ var ts; Output_Formatting: diag(6256, ts.DiagnosticCategory.Message, "Output_Formatting_6256", "Output Formatting"), Completeness: diag(6257, ts.DiagnosticCategory.Message, "Completeness_6257", "Completeness"), _0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file: diag(6258, ts.DiagnosticCategory.Error, "_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258", "'{0}' should be set inside the 'compilerOptions' object of the config json file"), + Found_1_error_in_1: diag(6259, ts.DiagnosticCategory.Message, "Found_1_error_in_1_6259", "Found 1 error in {1}"), + Found_0_errors_in_the_same_file_starting_at_Colon_1: diag(6260, ts.DiagnosticCategory.Message, "Found_0_errors_in_the_same_file_starting_at_Colon_1_6260", "Found {0} errors in the same file, starting at: {1}"), + Found_0_errors_in_1_files: diag(6261, ts.DiagnosticCategory.Message, "Found_0_errors_in_1_files_6261", "Found {0} errors in {1} files."), Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve: diag(6270, ts.DiagnosticCategory.Message, "Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270", "Directory '{0}' has no containing package.json scope. Imports will not resolve."), Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1: diag(6271, ts.DiagnosticCategory.Message, "Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271", "Import specifier '{0}' does not exist in package.json scope at path '{1}'."), Invalid_import_specifier_0_has_no_possible_resolutions: diag(6272, ts.DiagnosticCategory.Message, "Invalid_import_specifier_0_has_no_possible_resolutions_6272", "Invalid import specifier '{0}' has no possible resolutions."), @@ -9637,9 +9642,8 @@ var ts; Remove_variable_statement: diag(90010, ts.DiagnosticCategory.Message, "Remove_variable_statement_90010", "Remove variable statement"), Remove_template_tag: diag(90011, ts.DiagnosticCategory.Message, "Remove_template_tag_90011", "Remove template tag"), Remove_type_parameters: diag(90012, ts.DiagnosticCategory.Message, "Remove_type_parameters_90012", "Remove type parameters"), - Import_0_from_module_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_module_1_90013", "Import '{0}' from module \"{1}\""), + Import_0_from_1: diag(90013, ts.DiagnosticCategory.Message, "Import_0_from_1_90013", "Import '{0}' from \"{1}\""), Change_0_to_1: diag(90014, ts.DiagnosticCategory.Message, "Change_0_to_1_90014", "Change '{0}' to '{1}'"), - Add_0_to_existing_import_declaration_from_1: diag(90015, ts.DiagnosticCategory.Message, "Add_0_to_existing_import_declaration_from_1_90015", "Add '{0}' to existing import declaration from \"{1}\""), Declare_property_0: diag(90016, ts.DiagnosticCategory.Message, "Declare_property_0_90016", "Declare property '{0}'"), Add_index_signature_for_property_0: diag(90017, ts.DiagnosticCategory.Message, "Add_index_signature_for_property_0_90017", "Add index signature for property '{0}'"), Disable_checking_for_this_file: diag(90018, ts.DiagnosticCategory.Message, "Disable_checking_for_this_file_90018", "Disable checking for this file"), @@ -9656,8 +9660,6 @@ var ts; Add_async_modifier_to_containing_function: diag(90029, ts.DiagnosticCategory.Message, "Add_async_modifier_to_containing_function_90029", "Add async modifier to containing function"), Replace_infer_0_with_unknown: diag(90030, ts.DiagnosticCategory.Message, "Replace_infer_0_with_unknown_90030", "Replace 'infer {0}' with 'unknown'"), Replace_all_unused_infer_with_unknown: diag(90031, ts.DiagnosticCategory.Message, "Replace_all_unused_infer_with_unknown_90031", "Replace all unused 'infer' with 'unknown'"), - Import_default_0_from_module_1: diag(90032, ts.DiagnosticCategory.Message, "Import_default_0_from_module_1_90032", "Import default '{0}' from module \"{1}\""), - Add_default_import_0_to_existing_import_declaration_from_1: diag(90033, ts.DiagnosticCategory.Message, "Add_default_import_0_to_existing_import_declaration_from_1_90033", "Add default import '{0}' to existing import declaration from \"{1}\""), Add_parameter_name: diag(90034, ts.DiagnosticCategory.Message, "Add_parameter_name_90034", "Add parameter name"), Declare_private_property_0: diag(90035, ts.DiagnosticCategory.Message, "Declare_private_property_0_90035", "Declare private property '{0}'"), Replace_0_with_Promise_1: diag(90036, ts.DiagnosticCategory.Message, "Replace_0_with_Promise_1_90036", "Replace '{0}' with 'Promise<{1}>'"), @@ -9667,6 +9669,10 @@ var ts; Remove_unused_declarations_for_Colon_0: diag(90041, ts.DiagnosticCategory.Message, "Remove_unused_declarations_for_Colon_0_90041", "Remove unused declarations for: '{0}'"), Declare_a_private_field_named_0: diag(90053, ts.DiagnosticCategory.Message, "Declare_a_private_field_named_0_90053", "Declare a private field named '{0}'."), Includes_imports_of_types_referenced_by_0: diag(90054, ts.DiagnosticCategory.Message, "Includes_imports_of_types_referenced_by_0_90054", "Includes imports of types referenced by '{0}'"), + Remove_type_from_import_declaration_from_0: diag(90055, ts.DiagnosticCategory.Message, "Remove_type_from_import_declaration_from_0_90055", "Remove 'type' from import declaration from \"{0}\""), + Remove_type_from_import_of_0_from_1: diag(90056, ts.DiagnosticCategory.Message, "Remove_type_from_import_of_0_from_1_90056", "Remove 'type' from import of '{0}' from \"{1}\""), + Add_import_from_0: diag(90057, ts.DiagnosticCategory.Message, "Add_import_from_0_90057", "Add import from \"{0}\""), + Update_import_from_0: diag(90058, ts.DiagnosticCategory.Message, "Update_import_from_0_90058", "Update import from \"{0}\""), Convert_function_to_an_ES2015_class: diag(95001, ts.DiagnosticCategory.Message, "Convert_function_to_an_ES2015_class_95001", "Convert function to an ES2015 class"), Convert_0_to_1_in_0: diag(95003, ts.DiagnosticCategory.Message, "Convert_0_to_1_in_0_95003", "Convert '{0}' to '{1} in {0}'"), Extract_to_0_in_1: diag(95004, ts.DiagnosticCategory.Message, "Extract_to_0_in_1_95004", "Extract to {0} in {1}"), @@ -9830,6 +9836,10 @@ var ts; Add_missing_attributes: diag(95167, ts.DiagnosticCategory.Message, "Add_missing_attributes_95167", "Add missing attributes"), Add_all_missing_attributes: diag(95168, ts.DiagnosticCategory.Message, "Add_all_missing_attributes_95168", "Add all missing attributes"), Add_undefined_to_optional_property_type: diag(95169, ts.DiagnosticCategory.Message, "Add_undefined_to_optional_property_type_95169", "Add 'undefined' to optional property type"), + Convert_named_imports_to_default_import: diag(95170, ts.DiagnosticCategory.Message, "Convert_named_imports_to_default_import_95170", "Convert named imports to default import"), + Delete_unused_param_tag_0: diag(95171, ts.DiagnosticCategory.Message, "Delete_unused_param_tag_0_95171", "Delete unused '@param' tag '{0}'"), + Delete_all_unused_param_tags: diag(95172, ts.DiagnosticCategory.Message, "Delete_all_unused_param_tags_95172", "Delete all unused '@param' tags"), + Rename_param_tag_name_0_to_1: diag(95173, ts.DiagnosticCategory.Message, "Rename_param_tag_name_0_to_1_95173", "Rename '@param' tag name '{0}' to '{1}'"), No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: diag(18004, ts.DiagnosticCategory.Error, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."), Classes_may_not_have_a_field_named_constructor: diag(18006, ts.DiagnosticCategory.Error, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."), JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: diag(18007, ts.DiagnosticCategory.Error, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"), @@ -10121,7 +10131,7 @@ var ts; line = line < 0 ? 0 : line >= lineStarts.length ? lineStarts.length - 1 : line; } else { - ts.Debug.fail("Bad line number. Line: " + line + ", lineStarts.length: " + lineStarts.length + " , line map is correct? " + (debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown")); + ts.Debug.fail("Bad line number. Line: ".concat(line, ", lineStarts.length: ").concat(lineStarts.length, " , line map is correct? ").concat(debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown")); } } var res = lineStarts[line] + character; @@ -11928,6 +11938,7 @@ var ts; tokenValue = tokenValue.slice(0, -1); pos--; } + return getIdentifierToken(); } return token; } @@ -12173,6 +12184,8 @@ var ts; switch (ts.getEmitScriptTarget(options)) { case 99 /* ESNext */: return "lib.esnext.full.d.ts"; + case 9 /* ES2022 */: + return "lib.es2022.full.d.ts"; case 8 /* ES2021 */: return "lib.es2021.full.d.ts"; case 7 /* ES2020 */: @@ -12999,12 +13012,17 @@ var ts; /** Gets the text of a jsdoc comment, flattening links to their text. */ function getTextOfJSDocComment(comment) { return typeof comment === "string" ? comment - : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { - // TODO: Other kinds here - return c.kind === 319 /* JSDocText */ ? c.text : "{@link " + (c.name ? ts.entityNameToString(c.name) + " " : "") + c.text + "}"; - }).join(""); + : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 319 /* JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); } ts.getTextOfJSDocComment = getTextOfJSDocComment; + function formatJSDocLink(link) { + var kind = link.kind === 322 /* JSDocLink */ ? "link" + : link.kind === 323 /* JSDocLinkCode */ ? "linkcode" + : "linkplain"; + var name = link.name ? ts.entityNameToString(link.name) : ""; + var space = link.name && link.text.startsWith("://") ? "" : " "; + return "{@".concat(kind, " ").concat(name).concat(space).concat(link.text, "}"); + } /** * Gets the effective type parameters. If the node was parsed in a * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. @@ -14083,21 +14101,10 @@ var ts; return undefined; } ts.getDeclarationOfKind = getDeclarationOfKind; - /** - * Create a new escaped identifier map. - * @deprecated Use `new Map<__String, T>()` instead. - */ - function createUnderscoreEscapedMap() { - return new ts.Map(); + function getDeclarationsOfKind(symbol, kind) { + return ts.filter(symbol.declarations || ts.emptyArray, function (d) { return d.kind === kind; }); } - ts.createUnderscoreEscapedMap = createUnderscoreEscapedMap; - /** - * @deprecated Use `!!map?.size` instead - */ - function hasEntries(map) { - return !!map && !!map.size; - } - ts.hasEntries = hasEntries; + ts.getDeclarationsOfKind = getDeclarationsOfKind; function createSymbolTable(symbols) { var result = new ts.Map(); if (symbols) { @@ -14269,10 +14276,13 @@ var ts; function packageIdIsEqual(a, b) { return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version; } - function packageIdToString(_a) { - var name = _a.name, subModuleName = _a.subModuleName, version = _a.version; - var fullName = subModuleName ? name + "/" + subModuleName : name; - return fullName + "@" + version; + function packageIdToPackageName(_a) { + var name = _a.name, subModuleName = _a.subModuleName; + return subModuleName ? "".concat(name, "/").concat(subModuleName) : name; + } + ts.packageIdToPackageName = packageIdToPackageName; + function packageIdToString(packageId) { + return "".concat(packageIdToPackageName(packageId), "@").concat(packageId.version); } ts.packageIdToString = packageIdToString; function typeDirectiveIsEqualTo(oldResolution, newResolution) { @@ -14330,6 +14340,10 @@ var ts; return getSourceFileOfNode(module.valueDeclaration || getNonAugmentationDeclaration(module)); } ts.getSourceFileOfModule = getSourceFileOfModule; + function isPlainJsFile(file, checkJs) { + return !!file && (file.scriptKind === 1 /* JS */ || file.scriptKind === 2 /* JSX */) && !file.checkJsDirective && checkJs === undefined; + } + ts.isPlainJsFile = isPlainJsFile; function isStatementWithLocals(node) { switch (node.kind) { case 234 /* Block */: @@ -14351,7 +14365,7 @@ var ts; function nodePosToString(node) { var file = getSourceFileOfNode(node); var loc = ts.getLineAndCharacterOfPosition(file, node.pos); - return file.fileName + "(" + (loc.line + 1) + "," + (loc.character + 1) + ")"; + return "".concat(file.fileName, "(").concat(loc.line + 1, ",").concat(loc.character + 1, ")"); } ts.nodePosToString = nodePosToString; function getEndLinePosition(line, sourceFile) { @@ -14490,7 +14504,7 @@ var ts; ts.isPinnedComment = isPinnedComment; function createCommentDirectivesMap(sourceFile, commentDirectives) { var directivesByLine = new ts.Map(commentDirectives.map(function (commentDirective) { return ([ - "" + ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line, + "".concat(ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line), commentDirective, ]); })); var usedLines = new ts.Map(); @@ -14507,10 +14521,10 @@ var ts; }); } function markUsed(line) { - if (!directivesByLine.has("" + line)) { + if (!directivesByLine.has("".concat(line))) { return false; } - usedLines.set("" + line, true); + usedLines.set("".concat(line), true); return true; } } @@ -14639,6 +14653,7 @@ var ts; AsyncIterableIterator: ts.emptyArray, AsyncGenerator: ts.emptyArray, AsyncGeneratorFunction: ts.emptyArray, + NumberFormat: ["formatToParts"] }, es2019: { Array: ["flat", "flatMap"], @@ -14660,8 +14675,22 @@ var ts; PromiseConstructor: ["any"], String: ["replaceAll"] }, - esnext: { - NumberFormat: ["formatToParts"] + es2022: { + Array: ["at"], + String: ["at"], + Int8Array: ["at"], + Uint8Array: ["at"], + Uint8ClampedArray: ["at"], + Int16Array: ["at"], + Uint16Array: ["at"], + Int32Array: ["at"], + Uint32Array: ["at"], + Float32Array: ["at"], + Float64Array: ["at"], + BigInt64Array: ["at"], + BigUint64Array: ["at"], + ObjectConstructor: ["hasOwn"], + Error: ["cause"] } }; } @@ -14725,7 +14754,7 @@ var ts; } return node.text; } - return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '".concat(node.kind, "' not accounted for.")); } ts.getLiteralText = getLiteralText; function canUseOriginalText(node, flags) { @@ -15090,6 +15119,15 @@ var ts; }; } ts.createDiagnosticForFileFromMessageChain = createDiagnosticForFileFromMessageChain; + function createDiagnosticMessageChainFromDiagnostic(diagnostic) { + return typeof diagnostic.messageText === "string" ? { + code: diagnostic.code, + category: diagnostic.category, + messageText: diagnostic.messageText, + next: diagnostic.next, + } : diagnostic.messageText; + } + ts.createDiagnosticMessageChainFromDiagnostic = createDiagnosticMessageChainFromDiagnostic; function createDiagnosticForRange(sourceFile, range, message) { return { file: sourceFile, @@ -15258,7 +15296,8 @@ var ts; node.kind === 212 /* FunctionExpression */ || node.kind === 213 /* ArrowFunction */ || node.kind === 211 /* ParenthesizedExpression */ || - node.kind === 253 /* VariableDeclaration */) ? + node.kind === 253 /* VariableDeclaration */ || + node.kind === 274 /* ExportSpecifier */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' @@ -15675,6 +15714,34 @@ var ts; } } ts.getThisContainer = getThisContainer; + /** + * @returns Whether the node creates a new 'this' scope for its children. + */ + function isThisContainerOrFunctionBlock(node) { + switch (node.kind) { + // Arrow functions use the same scope, but may do so in a "delayed" manner + // For example, `const getThis = () => this` may be before a super() call in a derived constructor + case 213 /* ArrowFunction */: + case 255 /* FunctionDeclaration */: + case 212 /* FunctionExpression */: + case 166 /* PropertyDeclaration */: + return true; + case 234 /* Block */: + switch (node.parent.kind) { + case 170 /* Constructor */: + case 168 /* MethodDeclaration */: + case 171 /* GetAccessor */: + case 172 /* SetAccessor */: + // Object properties can have computed names; only method-like bodies start a new scope + return true; + default: + return false; + } + default: + return false; + } + } + ts.isThisContainerOrFunctionBlock = isThisContainerOrFunctionBlock; function isInTopLevelContext(node) { // The name of a class or function declaration is a BindingIdentifier in its surrounding scope. if (ts.isIdentifier(node) && (ts.isClassDeclaration(node.parent) || ts.isFunctionDeclaration(node.parent)) && node.parent.name === node) { @@ -16033,7 +16100,7 @@ var ts; } ts.getExternalModuleImportEqualsDeclarationExpression = getExternalModuleImportEqualsDeclarationExpression; function getExternalModuleRequireArgument(node) { - return isRequireVariableDeclaration(node) && getLeftmostAccessExpression(node.initializer).arguments[0]; + return isVariableDeclarationInitializedToBareOrAccessedRequire(node) && getLeftmostAccessExpression(node.initializer).arguments[0]; } ts.getExternalModuleRequireArgument = getExternalModuleRequireArgument; function isInternalModuleImportEqualsDeclaration(node) { @@ -16091,17 +16158,29 @@ var ts; * Returns true if the node is a VariableDeclaration initialized to a require call (see `isRequireCall`). * This function does not test if the node is in a JavaScript file or not. */ - function isRequireVariableDeclaration(node) { + function isVariableDeclarationInitializedToRequire(node) { + return isVariableDeclarationInitializedWithRequireHelper(node, /*allowAccessedRequire*/ false); + } + ts.isVariableDeclarationInitializedToRequire = isVariableDeclarationInitializedToRequire; + /** + * Like {@link isVariableDeclarationInitializedToRequire} but allows things like `require("...").foo.bar` or `require("...")["baz"]`. + */ + function isVariableDeclarationInitializedToBareOrAccessedRequire(node) { + return isVariableDeclarationInitializedWithRequireHelper(node, /*allowAccessedRequire*/ true); + } + ts.isVariableDeclarationInitializedToBareOrAccessedRequire = isVariableDeclarationInitializedToBareOrAccessedRequire; + function isVariableDeclarationInitializedWithRequireHelper(node, allowAccessedRequire) { if (node.kind === 202 /* BindingElement */) { node = node.parent.parent; } - return ts.isVariableDeclaration(node) && !!node.initializer && isRequireCall(getLeftmostAccessExpression(node.initializer), /*requireStringLiteralLikeArgument*/ true); + return ts.isVariableDeclaration(node) && + !!node.initializer && + isRequireCall(allowAccessedRequire ? getLeftmostAccessExpression(node.initializer) : node.initializer, /*requireStringLiteralLikeArgument*/ true); } - ts.isRequireVariableDeclaration = isRequireVariableDeclaration; function isRequireVariableStatement(node) { return ts.isVariableStatement(node) && node.declarationList.declarations.length > 0 - && ts.every(node.declarationList.declarations, function (decl) { return isRequireVariableDeclaration(decl); }); + && ts.every(node.declarationList.declarations, function (decl) { return isVariableDeclarationInitializedToRequire(decl); }); } ts.isRequireVariableStatement = isRequireVariableStatement; function isSingleOrDoubleQuote(charCode) { @@ -17256,11 +17335,11 @@ var ts; } ts.getEscapedTextOfIdentifierOrLiteral = getEscapedTextOfIdentifierOrLiteral; function getPropertyNameForUniqueESSymbol(symbol) { - return "__@" + ts.getSymbolId(symbol) + "@" + symbol.escapedName; + return "__@".concat(ts.getSymbolId(symbol), "@").concat(symbol.escapedName); } ts.getPropertyNameForUniqueESSymbol = getPropertyNameForUniqueESSymbol; function getSymbolNameForPrivateIdentifier(containingClassSymbol, description) { - return "__#" + ts.getSymbolId(containingClassSymbol) + "@" + description; + return "__#".concat(ts.getSymbolId(containingClassSymbol), "@").concat(description); } ts.getSymbolNameForPrivateIdentifier = getSymbolNameForPrivateIdentifier; function isKnownSymbol(symbol) { @@ -19588,7 +19667,7 @@ var ts; getSourceMapSourceConstructor: function () { return SourceMapSource; }, }; function setObjectAllocator(alloc) { - ts.objectAllocator = alloc; + Object.assign(ts.objectAllocator, alloc); } ts.setObjectAllocator = setObjectAllocator; function formatStringFromArgs(text, args, baseIndex) { @@ -19596,13 +19675,22 @@ var ts; return text.replace(/{(\d+)}/g, function (_match, index) { return "" + ts.Debug.checkDefined(args[+index + baseIndex]); }); } ts.formatStringFromArgs = formatStringFromArgs; + var localizedDiagnosticMessages; /* @internal */ function setLocalizedDiagnosticMessages(messages) { - ts.localizedDiagnosticMessages = messages; + localizedDiagnosticMessages = messages; } ts.setLocalizedDiagnosticMessages = setLocalizedDiagnosticMessages; + /* @internal */ + // If the localized messages json is unset, and if given function use it to set the json + function maybeSetLocalizedDiagnosticMessages(getMessages) { + if (!localizedDiagnosticMessages && getMessages) { + localizedDiagnosticMessages = getMessages(); + } + } + ts.maybeSetLocalizedDiagnosticMessages = maybeSetLocalizedDiagnosticMessages; function getLocaleSpecificMessage(message) { - return ts.localizedDiagnosticMessages && ts.localizedDiagnosticMessages[message.key] || message.message; + return localizedDiagnosticMessages && localizedDiagnosticMessages[message.key] || message.message; } ts.getLocaleSpecificMessage = getLocaleSpecificMessage; function createDetachedDiagnostic(fileName, start, length, message) { @@ -19921,7 +20009,7 @@ var ts; } ts.getAllowJSCompilerOption = getAllowJSCompilerOption; function getUseDefineForClassFields(compilerOptions) { - return compilerOptions.useDefineForClassFields === undefined ? getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ : compilerOptions.useDefineForClassFields; + return compilerOptions.useDefineForClassFields === undefined ? getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */ : compilerOptions.useDefineForClassFields; } ts.getUseDefineForClassFields = getUseDefineForClassFields; function compilerOptionsAffectSemanticDiagnostics(newOptions, oldOptions) { @@ -19953,7 +20041,7 @@ var ts; } ts.getJSXImplicitImportBase = getJSXImplicitImportBase; function getJSXRuntimeImport(base, options) { - return base ? base + "/" + (options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined; + return base ? "".concat(base, "/").concat(options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined; } ts.getJSXRuntimeImport = getJSXRuntimeImport; function hasZeroOrOneAsteriskCharacter(str) { @@ -19995,16 +20083,6 @@ var ts; (symlinkedDirectories || (symlinkedDirectories = new ts.Map())).set(symlinkPath, real); } }, - setSymlinkedDirectoryFromSymlinkedFile: function (symlink, real) { - this.setSymlinkedFile(ts.toPath(symlink, cwd, getCanonicalFileName), real); - var _a = guessDirectorySymlink(real, symlink, cwd, getCanonicalFileName) || ts.emptyArray, commonResolved = _a[0], commonOriginal = _a[1]; - if (commonResolved && commonOriginal) { - this.setSymlinkedDirectory(commonOriginal, { - real: commonResolved, - realPath: ts.toPath(commonResolved, cwd, getCanonicalFileName), - }); - } - }, setSymlinksFromResolutions: function (files, typeReferenceDirectives) { var _this = this; var _a; @@ -20070,7 +20148,7 @@ var ts; } var wildcardCharCodes = [42 /* asterisk */, 63 /* question */]; ts.commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"]; - var implicitExcludePathRegexPattern = "(?!(" + ts.commonPackageFolders.join("|") + ")(/|$))"; + var implicitExcludePathRegexPattern = "(?!(".concat(ts.commonPackageFolders.join("|"), ")(/|$))"); var filesMatcher = { /** * Matches any single directory segment unless it is the last segment and a .min.js file @@ -20083,7 +20161,7 @@ var ts; * Regex for the ** wildcard. Matches any number of subdirectories. When used for including * files or directories, does not match subdirectories that start with a . character */ - doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?", + doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"), replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, filesMatcher.singleAsteriskRegexFragment); } }; var directoriesMatcher = { @@ -20092,7 +20170,7 @@ var ts; * Regex for the ** wildcard. Matches any number of subdirectories. When used for including * files or directories, does not match subdirectories that start with a . character */ - doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?", + doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"), replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, directoriesMatcher.singleAsteriskRegexFragment); } }; var excludeMatcher = { @@ -20110,10 +20188,10 @@ var ts; if (!patterns || !patterns.length) { return undefined; } - var pattern = patterns.map(function (pattern) { return "(" + pattern + ")"; }).join("|"); + var pattern = patterns.map(function (pattern) { return "(".concat(pattern, ")"); }).join("|"); // If excluding, match "foo/bar/baz...", but if including, only allow "foo". var terminator = usage === "exclude" ? "($|/)" : "$"; - return "^(" + pattern + ")" + terminator; + return "^(".concat(pattern, ")").concat(terminator); } ts.getRegularExpressionForWildcard = getRegularExpressionForWildcard; function getRegularExpressionsForWildcards(specs, basePath, usage) { @@ -20135,7 +20213,7 @@ var ts; ts.isImplicitGlob = isImplicitGlob; function getPatternFromSpec(spec, basePath, usage) { var pattern = spec && getSubPatternFromSpec(spec, basePath, usage, wildcardMatchers[usage]); - return pattern && "^(" + pattern + ")" + (usage === "exclude" ? "($|/)" : "$"); + return pattern && "^(".concat(pattern, ")").concat(usage === "exclude" ? "($|/)" : "$"); } ts.getPatternFromSpec = getPatternFromSpec; function getSubPatternFromSpec(spec, basePath, usage, _a) { @@ -20213,7 +20291,7 @@ var ts; currentDirectory = ts.normalizePath(currentDirectory); var absolutePath = ts.combinePaths(currentDirectory, path); return { - includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^" + pattern + "$"; }), + includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), @@ -20494,7 +20572,7 @@ var ts; */ function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - return ext !== undefined ? ext : ts.Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : ts.Debug.fail("File ".concat(path, " has unknown extension.")); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -20972,9 +21050,97 @@ var ts; } ts.isFunctionExpressionOrArrowFunction = isFunctionExpressionOrArrowFunction; function escapeSnippetText(text) { - return text.replace(/\$/gm, "\\$"); + return text.replace(/\$/gm, function () { return "\\$"; }); } ts.escapeSnippetText = escapeSnippetText; + function isNumericLiteralName(name) { + // The intent of numeric names is that + // - they are names with text in a numeric form, and that + // - setting properties/indexing with them is always equivalent to doing so with the numeric literal 'numLit', + // acquired by applying the abstract 'ToNumber' operation on the name's text. + // + // The subtlety is in the latter portion, as we cannot reliably say that anything that looks like a numeric literal is a numeric name. + // In fact, it is the case that the text of the name must be equal to 'ToString(numLit)' for this to hold. + // + // Consider the property name '"0xF00D"'. When one indexes with '0xF00D', they are actually indexing with the value of 'ToString(0xF00D)' + // according to the ECMAScript specification, so it is actually as if the user indexed with the string '"61453"'. + // Thus, the text of all numeric literals equivalent to '61543' such as '0xF00D', '0xf00D', '0170015', etc. are not valid numeric names + // because their 'ToString' representation is not equal to their original text. + // This is motivated by ECMA-262 sections 9.3.1, 9.8.1, 11.1.5, and 11.2.1. + // + // Here, we test whether 'ToString(ToNumber(name))' is exactly equal to 'name'. + // The '+' prefix operator is equivalent here to applying the abstract ToNumber operation. + // Applying the 'toString()' method on a number gives us the abstract ToString operation on a number. + // + // Note that this accepts the values 'Infinity', '-Infinity', and 'NaN', and that this is intentional. + // This is desired behavior, because when indexing with them as numeric entities, you are indexing + // with the strings '"Infinity"', '"-Infinity"', and '"NaN"' respectively. + return (+name).toString() === name; + } + ts.isNumericLiteralName = isNumericLiteralName; + function createPropertyNameNodeForIdentifierOrLiteral(name, target, singleQuote, stringNamed) { + return ts.isIdentifierText(name, target) ? ts.factory.createIdentifier(name) : + !stringNamed && isNumericLiteralName(name) && +name >= 0 ? ts.factory.createNumericLiteral(+name) : + ts.factory.createStringLiteral(name, !!singleQuote); + } + ts.createPropertyNameNodeForIdentifierOrLiteral = createPropertyNameNodeForIdentifierOrLiteral; + function isThisTypeParameter(type) { + return !!(type.flags & 262144 /* TypeParameter */ && type.isThisType); + } + ts.isThisTypeParameter = isThisTypeParameter; + function getNodeModulePathParts(fullPath) { + // If fullPath can't be valid module file within node_modules, returns undefined. + // Example of expected pattern: /base/path/node_modules/[@scope/otherpackage/@otherscope/node_modules/]package/[subdirectory/]file.js + // Returns indices: ^ ^ ^ ^ + var topLevelNodeModulesIndex = 0; + var topLevelPackageNameIndex = 0; + var packageRootIndex = 0; + var fileNameIndex = 0; + var States; + (function (States) { + States[States["BeforeNodeModules"] = 0] = "BeforeNodeModules"; + States[States["NodeModules"] = 1] = "NodeModules"; + States[States["Scope"] = 2] = "Scope"; + States[States["PackageContent"] = 3] = "PackageContent"; + })(States || (States = {})); + var partStart = 0; + var partEnd = 0; + var state = 0 /* BeforeNodeModules */; + while (partEnd >= 0) { + partStart = partEnd; + partEnd = fullPath.indexOf("/", partStart + 1); + switch (state) { + case 0 /* BeforeNodeModules */: + if (fullPath.indexOf(ts.nodeModulesPathPart, partStart) === partStart) { + topLevelNodeModulesIndex = partStart; + topLevelPackageNameIndex = partEnd; + state = 1 /* NodeModules */; + } + break; + case 1 /* NodeModules */: + case 2 /* Scope */: + if (state === 1 /* NodeModules */ && fullPath.charAt(partStart + 1) === "@") { + state = 2 /* Scope */; + } + else { + packageRootIndex = partEnd; + state = 3 /* PackageContent */; + } + break; + case 3 /* PackageContent */: + if (fullPath.indexOf(ts.nodeModulesPathPart, partStart) === partStart) { + state = 1 /* NodeModules */; + } + else { + state = 3 /* PackageContent */; + } + break; + } + } + fileNameIndex = partStart; + return state > 1 /* NodeModules */ ? { topLevelNodeModulesIndex: topLevelNodeModulesIndex, topLevelPackageNameIndex: topLevelPackageNameIndex, packageRootIndex: packageRootIndex, fileNameIndex: fileNameIndex } : undefined; + } + ts.getNodeModulePathParts = getNodeModulePathParts; })(ts || (ts = {})); /* @internal */ var ts; @@ -22199,7 +22365,7 @@ var ts; var node = createBaseLiteral(8 /* NumericLiteral */, typeof value === "number" ? value + "" : value); node.numericLiteralFlags = numericLiteralFlags; if (numericLiteralFlags & 384 /* BinaryOrOctalSpecifier */) - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; return node; } // @api @@ -22218,7 +22384,7 @@ var ts; var node = createBaseStringLiteral(text, isSingleQuote); node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape; if (hasExtendedUnicodeEscape) - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; return node; } // @api @@ -22346,8 +22512,8 @@ var ts; case 131 /* AsyncKeyword */: // 'async' modifier is ES2017 (async functions) or ES2018 (async generators) transformFlags = - 128 /* ContainsES2017 */ | - 64 /* ContainsES2018 */; + 256 /* ContainsES2017 */ | + 128 /* ContainsES2018 */; break; case 123 /* PublicKeyword */: case 121 /* PrivateKeyword */: @@ -22371,10 +22537,10 @@ var ts; transformFlags = 1 /* ContainsTypeScript */; break; case 106 /* SuperKeyword */: - transformFlags = 512 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */; + transformFlags = 1024 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */; break; case 124 /* StaticKeyword */: - transformFlags = 512 /* ContainsES2015 */; + transformFlags = 1024 /* ContainsES2015 */; break; case 108 /* ThisKeyword */: // 'this' indicates a lexical 'this' @@ -22443,7 +22609,7 @@ var ts; result.push(createModifier(144 /* ReadonlyKeyword */)); if (flags & 256 /* Async */) result.push(createModifier(131 /* AsyncKeyword */)); - return result; + return result.length ? result : undefined; } // // Names @@ -22471,7 +22637,7 @@ var ts; node.expression = parenthesizerRules().parenthesizeExpressionOfComputedPropertyName(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 512 /* ContainsES2015 */ | + 1024 /* ContainsES2015 */ | 65536 /* ContainsComputedPropertyName */; return node; } @@ -22519,7 +22685,7 @@ var ts; if (ts.modifiersToFlags(node.modifiers) & 16476 /* ParameterPropertyModifier */) node.transformFlags |= 4096 /* ContainsTypeScriptClassSyntax */; if (initializer || dotDotDotToken) - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; } return node; } @@ -22628,20 +22794,20 @@ var ts; node.transformFlags |= propagateChildFlags(node.asteriskToken) | propagateChildFlags(node.questionToken) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; if (questionToken) { node.transformFlags |= 1 /* ContainsTypeScript */; } if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { if (asteriskToken) { - node.transformFlags |= 64 /* ContainsES2018 */; + node.transformFlags |= 128 /* ContainsES2018 */; } else { - node.transformFlags |= 128 /* ContainsES2017 */; + node.transformFlags |= 256 /* ContainsES2017 */; } } else if (asteriskToken) { - node.transformFlags |= 1024 /* ContainsGenerator */; + node.transformFlags |= 2048 /* ContainsGenerator */; } return node; } @@ -22682,7 +22848,7 @@ var ts; /*name*/ undefined, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; return node; } // @api @@ -23176,11 +23342,11 @@ var ts; node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | - 512 /* ContainsES2015 */ | + 1024 /* ContainsES2015 */ | 262144 /* ContainsBindingPattern */; if (node.transformFlags & 16384 /* ContainsRestOrSpread */) { node.transformFlags |= - 64 /* ContainsES2018 */ | + 128 /* ContainsES2018 */ | 32768 /* ContainsObjectRestOrSpread */; } return node; @@ -23197,7 +23363,7 @@ var ts; node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | - 512 /* ContainsES2015 */ | + 1024 /* ContainsES2015 */ | 262144 /* ContainsBindingPattern */; return node; } @@ -23216,7 +23382,7 @@ var ts; node.dotDotDotToken = dotDotDotToken; node.transformFlags |= propagateChildFlags(node.dotDotDotToken) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; if (node.propertyName) { node.transformFlags |= ts.isIdentifier(node.propertyName) ? propagateIdentifierNameFlags(node.propertyName) : @@ -23290,8 +23456,8 @@ var ts; // super method calls require a lexical 'this' // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators node.transformFlags |= - 128 /* ContainsES2017 */ | - 64 /* ContainsES2018 */; + 256 /* ContainsES2017 */ | + 128 /* ContainsES2018 */; } return node; } @@ -23313,7 +23479,7 @@ var ts; node.questionDotToken = questionDotToken; node.name = asName(name); node.transformFlags |= - 16 /* ContainsES2020 */ | + 32 /* ContainsES2020 */ | propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | (ts.isIdentifier(node.name) ? @@ -23344,8 +23510,8 @@ var ts; // super method calls require a lexical 'this' // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators node.transformFlags |= - 128 /* ContainsES2017 */ | - 64 /* ContainsES2018 */; + 256 /* ContainsES2017 */ | + 128 /* ContainsES2018 */; } return node; } @@ -23370,7 +23536,7 @@ var ts; propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | propagateChildFlags(node.argumentExpression) | - 16 /* ContainsES2020 */; + 32 /* ContainsES2020 */; return node; } // @api @@ -23429,7 +23595,7 @@ var ts; propagateChildFlags(node.questionDotToken) | propagateChildrenFlags(node.typeArguments) | propagateChildrenFlags(node.arguments) | - 16 /* ContainsES2020 */; + 32 /* ContainsES2020 */; if (node.typeArguments) { node.transformFlags |= 1 /* ContainsTypeScript */; } @@ -23458,7 +23624,7 @@ var ts; propagateChildFlags(node.expression) | propagateChildrenFlags(node.typeArguments) | propagateChildrenFlags(node.arguments) | - 16 /* ContainsES2020 */; + 32 /* ContainsES2020 */; if (node.typeArguments) { node.transformFlags |= 1 /* ContainsTypeScript */; } @@ -23482,12 +23648,12 @@ var ts; propagateChildFlags(node.tag) | propagateChildrenFlags(node.typeArguments) | propagateChildFlags(node.template) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; if (node.typeArguments) { node.transformFlags |= 1 /* ContainsTypeScript */; } if (ts.hasInvalidEscape(node.template)) { - node.transformFlags |= 64 /* ContainsES2018 */; + node.transformFlags |= 128 /* ContainsES2018 */; } return node; } @@ -23541,14 +23707,14 @@ var ts; } if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { if (node.asteriskToken) { - node.transformFlags |= 64 /* ContainsES2018 */; + node.transformFlags |= 128 /* ContainsES2018 */; } else { - node.transformFlags |= 128 /* ContainsES2017 */; + node.transformFlags |= 256 /* ContainsES2017 */; } } else if (node.asteriskToken) { - node.transformFlags |= 1024 /* ContainsGenerator */; + node.transformFlags |= 2048 /* ContainsGenerator */; } return node; } @@ -23572,9 +23738,9 @@ var ts; node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* EqualsGreaterThanToken */); node.transformFlags |= propagateChildFlags(node.equalsGreaterThanToken) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { - node.transformFlags |= 128 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */; + node.transformFlags |= 256 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */; } return node; } @@ -23634,8 +23800,8 @@ var ts; node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 128 /* ContainsES2017 */ | - 64 /* ContainsES2018 */ | + 256 /* ContainsES2017 */ | + 128 /* ContainsES2018 */ | 1048576 /* ContainsAwait */; return node; } @@ -23701,35 +23867,35 @@ var ts; propagateChildFlags(node.operatorToken) | propagateChildFlags(node.right); if (operatorKind === 60 /* QuestionQuestionToken */) { - node.transformFlags |= 16 /* ContainsES2020 */; + node.transformFlags |= 32 /* ContainsES2020 */; } else if (operatorKind === 63 /* EqualsToken */) { if (ts.isObjectLiteralExpression(node.left)) { node.transformFlags |= - 512 /* ContainsES2015 */ | - 64 /* ContainsES2018 */ | - 2048 /* ContainsDestructuringAssignment */ | + 1024 /* ContainsES2015 */ | + 128 /* ContainsES2018 */ | + 4096 /* ContainsDestructuringAssignment */ | propagateAssignmentPatternFlags(node.left); } else if (ts.isArrayLiteralExpression(node.left)) { node.transformFlags |= - 512 /* ContainsES2015 */ | - 2048 /* ContainsDestructuringAssignment */ | + 1024 /* ContainsES2015 */ | + 4096 /* ContainsDestructuringAssignment */ | propagateAssignmentPatternFlags(node.left); } } else if (operatorKind === 42 /* AsteriskAsteriskToken */ || operatorKind === 67 /* AsteriskAsteriskEqualsToken */) { - node.transformFlags |= 256 /* ContainsES2016 */; + node.transformFlags |= 512 /* ContainsES2016 */; } else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) { - node.transformFlags |= 8 /* ContainsES2021 */; + node.transformFlags |= 16 /* ContainsES2021 */; } return node; } function propagateAssignmentPatternFlags(node) { if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */) return 32768 /* ContainsObjectRestOrSpread */; - if (node.transformFlags & 64 /* ContainsES2018 */) { + if (node.transformFlags & 128 /* ContainsES2018 */) { // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c' // will not be correctly interpreted by the ES2018 transformer for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) { @@ -23739,7 +23905,7 @@ var ts; if (target.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { return 32768 /* ContainsObjectRestOrSpread */; } - if (target.transformFlags & 64 /* ContainsES2018 */) { + if (target.transformFlags & 128 /* ContainsES2018 */) { var flags_1 = propagateAssignmentPatternFlags(target); if (flags_1) return flags_1; @@ -23791,7 +23957,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.head) | propagateChildrenFlags(node.templateSpans) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; return node; } // @api @@ -23830,9 +23996,9 @@ var ts; node.text = text; node.rawText = rawText; node.templateFlags = templateFlags & 2048 /* TemplateLiteralLikeFlags */; - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; if (node.templateFlags) { - node.transformFlags |= 64 /* ContainsES2018 */; + node.transformFlags |= 128 /* ContainsES2018 */; } return node; } @@ -23861,8 +24027,8 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.asteriskToken) | - 512 /* ContainsES2015 */ | - 64 /* ContainsES2018 */ | + 1024 /* ContainsES2015 */ | + 128 /* ContainsES2018 */ | 524288 /* ContainsYield */; return node; } @@ -23879,7 +24045,7 @@ var ts; node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 512 /* ContainsES2015 */ | + 1024 /* ContainsES2015 */ | 16384 /* ContainsRestOrSpread */; return node; } @@ -23892,7 +24058,7 @@ var ts; // @api function createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members) { var node = createBaseClassLikeDeclaration(225 /* ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members); - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; return node; } // @api @@ -23918,7 +24084,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildrenFlags(node.typeArguments) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; return node; } // @api @@ -23989,7 +24155,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.name); switch (keywordToken) { case 103 /* NewKeyword */: - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; break; case 100 /* ImportKeyword */: node.transformFlags |= 4 /* ContainsESNext */; @@ -24016,7 +24182,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.literal) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; return node; } // @api @@ -24029,7 +24195,7 @@ var ts; // @api function createSemicolonClassElement() { var node = createBaseNode(233 /* SemicolonClassElement */); - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; return node; } // @@ -24193,9 +24359,9 @@ var ts; propagateChildFlags(node.initializer) | propagateChildFlags(node.expression) | propagateChildFlags(node.statement) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; if (awaitModifier) - node.transformFlags |= 64 /* ContainsES2018 */; + node.transformFlags |= 128 /* ContainsES2018 */; return node; } // @api @@ -24244,7 +24410,7 @@ var ts; // return in an ES2018 async generator must be awaited node.transformFlags |= propagateChildFlags(node.expression) | - 64 /* ContainsES2018 */ | + 128 /* ContainsES2018 */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */; return node; } @@ -24374,7 +24540,7 @@ var ts; 2097152 /* ContainsHoistedDeclarationOrCompletion */; if (flags & 3 /* BlockScoped */) { node.transformFlags |= - 512 /* ContainsES2015 */ | + 1024 /* ContainsES2015 */ | 131072 /* ContainsBlockScopedBinding */; } return node; @@ -24398,14 +24564,14 @@ var ts; 2097152 /* ContainsHoistedDeclarationOrCompletion */; if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { if (node.asteriskToken) { - node.transformFlags |= 64 /* ContainsES2018 */; + node.transformFlags |= 128 /* ContainsES2018 */; } else { - node.transformFlags |= 128 /* ContainsES2017 */; + node.transformFlags |= 256 /* ContainsES2017 */; } } else if (node.asteriskToken) { - node.transformFlags |= 1024 /* ContainsGenerator */; + node.transformFlags |= 2048 /* ContainsGenerator */; } } return node; @@ -24430,7 +24596,7 @@ var ts; node.transformFlags = 1 /* ContainsTypeScript */; } else { - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; if (node.transformFlags & 4096 /* ContainsTypeScriptClassSyntax */) { node.transformFlags |= 1 /* ContainsTypeScript */; } @@ -24639,7 +24805,7 @@ var ts; // @api function createAssertClause(elements, multiLine) { var node = createBaseNode(292 /* AssertClause */); - node.elements = elements; + node.elements = createNodeArray(elements); node.multiLine = multiLine; node.transformFlags |= 4 /* ContainsESNext */; return node; @@ -25470,7 +25636,7 @@ var ts; node.transformFlags |= propagateChildrenFlags(node.types); switch (token) { case 94 /* ExtendsKeyword */: - node.transformFlags |= 512 /* ContainsES2015 */; + node.transformFlags |= 1024 /* ContainsES2015 */; break; case 117 /* ImplementsKeyword */: node.transformFlags |= 1 /* ContainsTypeScript */; @@ -25501,7 +25667,7 @@ var ts; propagateChildFlags(node.variableDeclaration) | propagateChildFlags(node.block); if (!variableDeclaration) - node.transformFlags |= 32 /* ContainsES2019 */; + node.transformFlags |= 64 /* ContainsES2019 */; return node; } // @api @@ -25552,7 +25718,7 @@ var ts; node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer); node.transformFlags |= propagateChildFlags(node.objectAssignmentInitializer) | - 512 /* ContainsES2015 */; + 1024 /* ContainsES2015 */; return node; } function finishUpdateShorthandPropertyAssignment(updated, original) { @@ -25582,7 +25748,7 @@ var ts; node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 64 /* ContainsES2018 */ | + 128 /* ContainsES2018 */ | 32768 /* ContainsObjectRestOrSpread */; return node; } @@ -26236,7 +26402,7 @@ var ts; * @param visitor Optional callback used to visit any custom prologue directives. */ function copyPrologue(source, target, ensureUseStrict, visitor) { - var offset = copyStandardPrologue(source, target, ensureUseStrict); + var offset = copyStandardPrologue(source, target, 0, ensureUseStrict); return copyCustomPrologue(source, target, offset, visitor); } function isUseStrictPrologue(node) { @@ -26249,12 +26415,14 @@ var ts; * Copies only the standard (string-expression) prologue-directives into the target statement-array. * @param source origin statements array * @param target result statements array + * @param statementOffset The offset at which to begin the copy. * @param ensureUseStrict boolean determining whether the function need to add prologue-directives + * @returns Count of how many directive statements were copied. */ - function copyStandardPrologue(source, target, ensureUseStrict) { + function copyStandardPrologue(source, target, statementOffset, ensureUseStrict) { + if (statementOffset === void 0) { statementOffset = 0; } ts.Debug.assert(target.length === 0, "Prologue directives should be at the first statement in the target statements array"); var foundUseStrict = false; - var statementOffset = 0; var numStatements = source.length; while (statementOffset < numStatements) { var statement = source[statementOffset]; @@ -26400,32 +26568,36 @@ var ts; } function updateModifiers(node, modifiers) { var _a; + var modifierArray; if (typeof modifiers === "number") { - modifiers = createModifiersFromModifierFlags(modifiers); - } - return ts.isParameter(node) ? updateParameterDeclaration(node, node.decorators, modifiers, node.dotDotDotToken, node.name, node.questionToken, node.type, node.initializer) : - ts.isPropertySignature(node) ? updatePropertySignature(node, modifiers, node.name, node.questionToken, node.type) : - ts.isPropertyDeclaration(node) ? updatePropertyDeclaration(node, node.decorators, modifiers, node.name, (_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, node.type, node.initializer) : - ts.isMethodSignature(node) ? updateMethodSignature(node, modifiers, node.name, node.questionToken, node.typeParameters, node.parameters, node.type) : - ts.isMethodDeclaration(node) ? updateMethodDeclaration(node, node.decorators, modifiers, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, node.body) : - ts.isConstructorDeclaration(node) ? updateConstructorDeclaration(node, node.decorators, modifiers, node.parameters, node.body) : - ts.isGetAccessorDeclaration(node) ? updateGetAccessorDeclaration(node, node.decorators, modifiers, node.name, node.parameters, node.type, node.body) : - ts.isSetAccessorDeclaration(node) ? updateSetAccessorDeclaration(node, node.decorators, modifiers, node.name, node.parameters, node.body) : - ts.isIndexSignatureDeclaration(node) ? updateIndexSignature(node, node.decorators, modifiers, node.parameters, node.type) : - ts.isFunctionExpression(node) ? updateFunctionExpression(node, modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : - ts.isArrowFunction(node) ? updateArrowFunction(node, modifiers, node.typeParameters, node.parameters, node.type, node.equalsGreaterThanToken, node.body) : - ts.isClassExpression(node) ? updateClassExpression(node, node.decorators, modifiers, node.name, node.typeParameters, node.heritageClauses, node.members) : - ts.isVariableStatement(node) ? updateVariableStatement(node, modifiers, node.declarationList) : - ts.isFunctionDeclaration(node) ? updateFunctionDeclaration(node, node.decorators, modifiers, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : - ts.isClassDeclaration(node) ? updateClassDeclaration(node, node.decorators, modifiers, node.name, node.typeParameters, node.heritageClauses, node.members) : - ts.isInterfaceDeclaration(node) ? updateInterfaceDeclaration(node, node.decorators, modifiers, node.name, node.typeParameters, node.heritageClauses, node.members) : - ts.isTypeAliasDeclaration(node) ? updateTypeAliasDeclaration(node, node.decorators, modifiers, node.name, node.typeParameters, node.type) : - ts.isEnumDeclaration(node) ? updateEnumDeclaration(node, node.decorators, modifiers, node.name, node.members) : - ts.isModuleDeclaration(node) ? updateModuleDeclaration(node, node.decorators, modifiers, node.name, node.body) : - ts.isImportEqualsDeclaration(node) ? updateImportEqualsDeclaration(node, node.decorators, modifiers, node.isTypeOnly, node.name, node.moduleReference) : - ts.isImportDeclaration(node) ? updateImportDeclaration(node, node.decorators, modifiers, node.importClause, node.moduleSpecifier, node.assertClause) : - ts.isExportAssignment(node) ? updateExportAssignment(node, node.decorators, modifiers, node.expression) : - ts.isExportDeclaration(node) ? updateExportDeclaration(node, node.decorators, modifiers, node.isTypeOnly, node.exportClause, node.moduleSpecifier, node.assertClause) : + modifierArray = createModifiersFromModifierFlags(modifiers); + } + else { + modifierArray = modifiers; + } + return ts.isParameter(node) ? updateParameterDeclaration(node, node.decorators, modifierArray, node.dotDotDotToken, node.name, node.questionToken, node.type, node.initializer) : + ts.isPropertySignature(node) ? updatePropertySignature(node, modifierArray, node.name, node.questionToken, node.type) : + ts.isPropertyDeclaration(node) ? updatePropertyDeclaration(node, node.decorators, modifierArray, node.name, (_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, node.type, node.initializer) : + ts.isMethodSignature(node) ? updateMethodSignature(node, modifierArray, node.name, node.questionToken, node.typeParameters, node.parameters, node.type) : + ts.isMethodDeclaration(node) ? updateMethodDeclaration(node, node.decorators, modifierArray, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, node.body) : + ts.isConstructorDeclaration(node) ? updateConstructorDeclaration(node, node.decorators, modifierArray, node.parameters, node.body) : + ts.isGetAccessorDeclaration(node) ? updateGetAccessorDeclaration(node, node.decorators, modifierArray, node.name, node.parameters, node.type, node.body) : + ts.isSetAccessorDeclaration(node) ? updateSetAccessorDeclaration(node, node.decorators, modifierArray, node.name, node.parameters, node.body) : + ts.isIndexSignatureDeclaration(node) ? updateIndexSignature(node, node.decorators, modifierArray, node.parameters, node.type) : + ts.isFunctionExpression(node) ? updateFunctionExpression(node, modifierArray, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : + ts.isArrowFunction(node) ? updateArrowFunction(node, modifierArray, node.typeParameters, node.parameters, node.type, node.equalsGreaterThanToken, node.body) : + ts.isClassExpression(node) ? updateClassExpression(node, node.decorators, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : + ts.isVariableStatement(node) ? updateVariableStatement(node, modifierArray, node.declarationList) : + ts.isFunctionDeclaration(node) ? updateFunctionDeclaration(node, node.decorators, modifierArray, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : + ts.isClassDeclaration(node) ? updateClassDeclaration(node, node.decorators, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : + ts.isInterfaceDeclaration(node) ? updateInterfaceDeclaration(node, node.decorators, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : + ts.isTypeAliasDeclaration(node) ? updateTypeAliasDeclaration(node, node.decorators, modifierArray, node.name, node.typeParameters, node.type) : + ts.isEnumDeclaration(node) ? updateEnumDeclaration(node, node.decorators, modifierArray, node.name, node.members) : + ts.isModuleDeclaration(node) ? updateModuleDeclaration(node, node.decorators, modifierArray, node.name, node.body) : + ts.isImportEqualsDeclaration(node) ? updateImportEqualsDeclaration(node, node.decorators, modifierArray, node.isTypeOnly, node.name, node.moduleReference) : + ts.isImportDeclaration(node) ? updateImportDeclaration(node, node.decorators, modifierArray, node.importClause, node.moduleSpecifier, node.assertClause) : + ts.isExportAssignment(node) ? updateExportAssignment(node, node.decorators, modifierArray, node.expression) : + ts.isExportDeclaration(node) ? updateExportDeclaration(node, node.decorators, modifierArray, node.isTypeOnly, node.exportClause, node.moduleSpecifier, node.assertClause) : ts.Debug.assertNever(node); } function asNodeArray(array) { @@ -26483,7 +26655,7 @@ var ts; case 326 /* JSDocAugmentsTag */: return "augments"; case 327 /* JSDocImplementsTag */: return "implements"; default: - return ts.Debug.fail("Unsupported kind: " + ts.Debug.formatSyntaxKind(kind)); + return ts.Debug.fail("Unsupported kind: ".concat(ts.Debug.formatSyntaxKind(kind))); } } var rawTextScanner; @@ -26676,7 +26848,7 @@ var ts; sourceMapText = mapTextOrStripInternal; } var node = oldFileOfCurrentEmit ? - parseOldFileOfCurrentEmit(ts.Debug.assertDefined(bundleFileInfo)) : + parseOldFileOfCurrentEmit(ts.Debug.checkDefined(bundleFileInfo)) : parseUnparsedSourceFile(bundleFileInfo, stripInternal, length); node.fileName = fileName; node.sourceMapPath = sourceMapPath; @@ -26811,7 +26983,7 @@ var ts; }; var definedTextGetter_1 = function (path) { var result = textGetter_1(path); - return result !== undefined ? result : "/* Input file " + path + " was missing */\r\n"; + return result !== undefined ? result : "/* Input file ".concat(path, " was missing */\r\n"); }; var buildInfo_1; var getAndCacheBuildInfo_1 = function (getText) { @@ -26823,13 +26995,13 @@ var ts; }; node.javascriptPath = declarationTextOrJavascriptPath; node.javascriptMapPath = javascriptMapPath; - node.declarationPath = ts.Debug.assertDefined(javascriptMapTextOrDeclarationPath); + node.declarationPath = ts.Debug.checkDefined(javascriptMapTextOrDeclarationPath); node.declarationMapPath = declarationMapPath; node.buildInfoPath = declarationMapTextOrBuildInfoPath; Object.defineProperties(node, { javascriptText: { get: function () { return definedTextGetter_1(declarationTextOrJavascriptPath); } }, javascriptMapText: { get: function () { return textGetter_1(javascriptMapPath); } }, - declarationText: { get: function () { return definedTextGetter_1(ts.Debug.assertDefined(javascriptMapTextOrDeclarationPath)); } }, + declarationText: { get: function () { return definedTextGetter_1(ts.Debug.checkDefined(javascriptMapTextOrDeclarationPath)); } }, declarationMapText: { get: function () { return textGetter_1(declarationMapPath); } }, buildInfo: { get: function () { return getAndCacheBuildInfo_1(function () { return textGetter_1(declarationMapTextOrBuildInfoPath); }); } } }); @@ -27673,7 +27845,7 @@ var ts; importName: "__createBinding", scoped: false, priority: 1, - text: "\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));" + text: "\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));" }; ts.setModuleDefaultHelper = { name: "typescript:commonjscreatevalue", @@ -31349,7 +31521,7 @@ var ts; for (var _i = 0, viableKeywordSuggestions_1 = viableKeywordSuggestions; _i < viableKeywordSuggestions_1.length; _i++) { var keyword = viableKeywordSuggestions_1[_i]; if (expressionText.length > keyword.length + 2 && ts.startsWith(expressionText, keyword)) { - return keyword + " " + expressionText.slice(keyword.length); + return "".concat(keyword, " ").concat(expressionText.slice(keyword.length)); } } return undefined; @@ -33732,7 +33904,7 @@ var ts; return true; } } - else if (third === 27 /* CommaToken */) { + else if (third === 27 /* CommaToken */ || third === 63 /* EqualsToken */) { return true; } return false; @@ -33825,9 +33997,14 @@ var ts; // - "(x,y)" is a comma expression parsed as a signature with two parameters. // - "a ? (b): c" will have "(b):" parsed as a signature with a return type annotation. // - "a ? (b): function() {}" will too, since function() is a valid JSDoc function type. + // - "a ? (b): (function() {})" as well, but inside of a parenthesized type with an arbitrary amount of nesting. // // So we need just a bit of lookahead to ensure that it can only be a signature. - var hasJSDocFunctionType = type && ts.isJSDocFunctionType(type); + var unwrappedType = type; + while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 190 /* ParenthesizedType */) { + unwrappedType = unwrappedType.type; // Skip parens if need be + } + var hasJSDocFunctionType = unwrappedType && ts.isJSDocFunctionType(unwrappedType); if (!allowAmbiguity && token() !== 38 /* EqualsGreaterThanToken */ && (hasJSDocFunctionType || token() !== 18 /* OpenBraceToken */)) { // Returning undefined here will cause our caller to rewind to where we started from. return undefined; @@ -35175,7 +35352,7 @@ var ts; // one out no matter what. var finallyBlock; if (!catchClause || token() === 96 /* FinallyKeyword */) { - parseExpected(96 /* FinallyKeyword */); + parseExpected(96 /* FinallyKeyword */, ts.Diagnostics.catch_or_finally_expected); finallyBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); } return withJSDoc(finishNode(factory.createTryStatement(tryBlock, catchClause, finallyBlock), pos), hasJSDoc); @@ -36219,7 +36396,7 @@ var ts; var pos = getNodePos(); var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* StringLiteral */); parseExpected(58 /* ColonToken */); - var value = parseLiteralLikeNode(10 /* StringLiteral */); + var value = parseAssignmentExpressionOrHigher(); return finishNode(factory.createAssertEntry(name, value), pos); } function parseAssertClause() { @@ -36324,7 +36501,8 @@ var ts; return finishNode(node, pos); } function parseExportSpecifier() { - return parseImportOrExportSpecifier(274 /* ExportSpecifier */); + var hasJSDoc = hasPrecedingJSDocComment(); + return withJSDoc(parseImportOrExportSpecifier(274 /* ExportSpecifier */), hasJSDoc); } function parseImportSpecifier() { return parseImportOrExportSpecifier(269 /* ImportSpecifier */); @@ -38113,7 +38291,7 @@ var ts; if (namedArgRegExCache.has(name)) { return namedArgRegExCache.get(name); } - var result = new RegExp("(\\s" + name + "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))", "im"); + var result = new RegExp("(\\s".concat(name, "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))"), "im"); namedArgRegExCache.set(name, result); return result; } @@ -38226,7 +38404,11 @@ var ts; var ts; (function (ts) { /* @internal */ - ts.compileOnSaveCommandLineOption = { name: "compileOnSave", type: "boolean", defaultValueDescription: "false" }; + ts.compileOnSaveCommandLineOption = { + name: "compileOnSave", + type: "boolean", + defaultValueDescription: false, + }; var jsxOptionMap = new ts.Map(ts.getEntries({ "preserve": 1 /* Preserve */, "react-native": 3 /* ReactNative */, @@ -38255,6 +38437,7 @@ var ts; ["es2019", "lib.es2019.d.ts"], ["es2020", "lib.es2020.d.ts"], ["es2021", "lib.es2021.d.ts"], + ["es2022", "lib.es2022.d.ts"], ["esnext", "lib.esnext.d.ts"], // Host only ["dom", "lib.dom.d.ts"], @@ -38298,12 +38481,16 @@ var ts; ["es2021.string", "lib.es2021.string.d.ts"], ["es2021.weakref", "lib.es2021.weakref.d.ts"], ["es2021.intl", "lib.es2021.intl.d.ts"], - ["esnext.array", "lib.es2019.array.d.ts"], + ["es2022.array", "lib.es2022.array.d.ts"], + ["es2022.error", "lib.es2022.error.d.ts"], + ["es2022.object", "lib.es2022.object.d.ts"], + ["es2022.string", "lib.es2022.string.d.ts"], + ["esnext.array", "lib.es2022.array.d.ts"], ["esnext.symbol", "lib.es2019.symbol.d.ts"], ["esnext.asynciterable", "lib.es2018.asynciterable.d.ts"], ["esnext.intl", "lib.esnext.intl.d.ts"], ["esnext.bigint", "lib.es2020.bigint.d.ts"], - ["esnext.string", "lib.es2021.string.d.ts"], + ["esnext.string", "lib.es2022.string.d.ts"], ["esnext.promise", "lib.es2021.promise.d.ts"], ["esnext.weakref", "lib.es2021.weakref.d.ts"] ]; @@ -38335,6 +38522,7 @@ var ts; })), category: ts.Diagnostics.Watch_and_Build_Modes, description: ts.Diagnostics.Specify_how_the_TypeScript_watch_mode_works, + defaultValueDescription: ts.WatchFileKind.UseFsEvents, }, { name: "watchDirectory", @@ -38346,6 +38534,7 @@ var ts; })), category: ts.Diagnostics.Watch_and_Build_Modes, description: ts.Diagnostics.Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality, + defaultValueDescription: ts.WatchDirectoryKind.UseFsEvents, }, { name: "fallbackPolling", @@ -38357,13 +38546,14 @@ var ts; })), category: ts.Diagnostics.Watch_and_Build_Modes, description: ts.Diagnostics.Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers, + defaultValueDescription: ts.PollingWatchKind.PriorityInterval, }, { name: "synchronousWatchDirectory", type: "boolean", category: ts.Diagnostics.Watch_and_Build_Modes, description: ts.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "excludeDirectories", @@ -38399,13 +38589,13 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Print_this_message, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "help", shortName: "?", type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "watch", @@ -38415,7 +38605,7 @@ var ts; isCommandLineOnly: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Watch_input_files, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "preserveWatchOutput", @@ -38423,28 +38613,28 @@ var ts; showInSimplifiedHelpView: false, category: ts.Diagnostics.Output_Formatting, description: ts.Diagnostics.Disable_wiping_the_console_in_watch_mode, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "listFiles", type: "boolean", category: ts.Diagnostics.Compiler_Diagnostics, description: ts.Diagnostics.Print_all_of_the_files_read_during_the_compilation, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "explainFiles", type: "boolean", category: ts.Diagnostics.Compiler_Diagnostics, description: ts.Diagnostics.Print_files_read_during_the_compilation_including_why_it_was_included, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "listEmittedFiles", type: "boolean", category: ts.Diagnostics.Compiler_Diagnostics, description: ts.Diagnostics.Print_the_names_of_emitted_files_after_a_compilation, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "pretty", @@ -38452,28 +38642,28 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Output_Formatting, description: ts.Diagnostics.Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read, - defaultValueDescription: "true" + defaultValueDescription: true, }, { name: "traceResolution", type: "boolean", category: ts.Diagnostics.Compiler_Diagnostics, description: ts.Diagnostics.Log_paths_used_during_the_moduleResolution_process, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "diagnostics", type: "boolean", category: ts.Diagnostics.Compiler_Diagnostics, description: ts.Diagnostics.Output_compiler_performance_information_after_building, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "extendedDiagnostics", type: "boolean", category: ts.Diagnostics.Compiler_Diagnostics, description: ts.Diagnostics.Output_more_detailed_compiler_performance_information_after_building, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "generateCpuProfile", @@ -38509,7 +38699,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Watch_and_Build_Modes, description: ts.Diagnostics.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "locale", @@ -38535,6 +38725,7 @@ var ts; es2019: 6 /* ES2019 */, es2020: 7 /* ES2020 */, es2021: 8 /* ES2021 */, + es2022: 9 /* ES2022 */, esnext: 99 /* ESNext */, })), affectsSourceFile: true, @@ -38544,7 +38735,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations, - defaultValueDescription: "ES3" + defaultValueDescription: 0 /* ES3 */, }; var commandOptionsWithoutBuild = [ // CommandLine only options @@ -38554,7 +38745,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Show_all_compiler_options, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "version", @@ -38563,7 +38754,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Print_the_compiler_s_version, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "init", @@ -38571,7 +38762,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "project", @@ -38590,7 +38781,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Build_one_or_more_projects_and_their_dependencies_if_out_of_date, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "showConfig", @@ -38599,7 +38790,7 @@ var ts; category: ts.Diagnostics.Command_line_Options, isCommandLineOnly: true, description: ts.Diagnostics.Print_the_final_configuration_instead_of_building, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "listFilesOnly", @@ -38609,7 +38800,7 @@ var ts; affectsEmit: true, isCommandLineOnly: true, description: ts.Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing, - defaultValueDescription: "false", + defaultValueDescription: false, }, // Basic ts.targetOptionDeclaration, @@ -38636,13 +38827,15 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Modules, description: ts.Diagnostics.Specify_what_module_code_is_generated, + defaultValueDescription: undefined, }, { name: "lib", type: "list", element: { name: "lib", - type: ts.libMap + type: ts.libMap, + defaultValueDescription: undefined, }, affectsProgramStructure: true, showInSimplifiedHelpView: true, @@ -38657,7 +38850,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.JavaScript_Support, description: ts.Diagnostics.Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "checkJs", @@ -38665,7 +38858,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.JavaScript_Support, description: ts.Diagnostics.Enable_error_reporting_in_type_checked_JavaScript_files, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "jsx", @@ -38677,7 +38870,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Specify_what_JSX_code_is_generated, - defaultValueDescription: "undefined" + defaultValueDescription: undefined, }, { name: "declaration", @@ -38697,7 +38890,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, transpileOptionValue: undefined, - defaultValueDescription: "false", + defaultValueDescription: false, description: ts.Diagnostics.Create_sourcemaps_for_d_ts_files }, { @@ -38708,7 +38901,7 @@ var ts; category: ts.Diagnostics.Emit, description: ts.Diagnostics.Only_output_d_ts_files_and_not_JavaScript_files, transpileOptionValue: undefined, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "sourceMap", @@ -38716,7 +38909,7 @@ var ts; affectsEmit: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, - defaultValueDescription: "false", + defaultValueDescription: false, description: ts.Diagnostics.Create_source_map_files_for_emitted_JavaScript_files, }, { @@ -38757,7 +38950,7 @@ var ts; isTSConfigOnly: true, category: ts.Diagnostics.Projects, transpileOptionValue: undefined, - defaultValueDescription: "false", + defaultValueDescription: false, description: ts.Diagnostics.Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references, }, { @@ -38777,7 +38970,7 @@ var ts; affectsEmit: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, - defaultValueDescription: "false", + defaultValueDescription: false, description: ts.Diagnostics.Disable_emitting_comments, }, { @@ -38787,7 +38980,7 @@ var ts; category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_emitting_files_from_a_compilation, transpileOptionValue: undefined, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "importHelpers", @@ -38795,7 +38988,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "importsNotUsedAsValues", @@ -38807,7 +39000,8 @@ var ts; affectsEmit: true, affectsSemanticDiagnostics: true, category: ts.Diagnostics.Emit, - description: ts.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types + description: ts.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types, + defaultValueDescription: 0 /* Remove */, }, { name: "downlevelIteration", @@ -38815,7 +39009,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "isolatedModules", @@ -38823,7 +39017,7 @@ var ts; category: ts.Diagnostics.Interop_Constraints, description: ts.Diagnostics.Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports, transpileOptionValue: true, - defaultValueDescription: "false" + defaultValueDescription: false, }, // Strict Type Checks { @@ -38834,7 +39028,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_all_strict_type_checking_options, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noImplicitAny", @@ -38895,7 +39089,7 @@ var ts; strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Type_catch_clause_variables_as_unknown_instead_of_any, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "alwaysStrict", @@ -38913,7 +39107,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_when_a_local_variables_aren_t_read, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noUnusedParameters", @@ -38921,7 +39115,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Raise_an_error_when_a_function_parameter_isn_t_read, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "exactOptionalPropertyTypes", @@ -38929,7 +39123,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Interpret_optional_property_types_as_written_rather_than_adding_undefined, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "noImplicitReturns", @@ -38937,7 +39131,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noFallthroughCasesInSwitch", @@ -38946,7 +39140,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_for_fallthrough_cases_in_switch_statements, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "noUncheckedIndexedAccess", @@ -38954,7 +39148,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Include_undefined_in_index_signature_results, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "noImplicitOverride", @@ -38962,7 +39156,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "noPropertyAccessFromIndexSignature", @@ -38970,7 +39164,7 @@ var ts; showInSimplifiedHelpView: false, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type, - defaultValueDescription: "false" + defaultValueDescription: false, }, // Module Resolution { @@ -39064,14 +39258,14 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Interop_Constraints, description: ts.Diagnostics.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "preserveSymlinks", type: "boolean", category: ts.Diagnostics.Interop_Constraints, description: ts.Diagnostics.Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "allowUmdGlobalAccess", @@ -39079,7 +39273,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Modules, description: ts.Diagnostics.Allow_accessing_UMD_globals_from_modules, - defaultValueDescription: "false" + defaultValueDescription: false, }, // Source Maps { @@ -39104,7 +39298,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Include_sourcemap_files_inside_the_emitted_JavaScript, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "inlineSources", @@ -39112,7 +39306,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript, - defaultValueDescription: "false" + defaultValueDescription: false, }, // Experimental { @@ -39121,7 +39315,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Enable_experimental_support_for_TC39_stage_2_draft_decorators, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "emitDecoratorMetadata", @@ -39130,7 +39324,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Emit_design_type_metadata_for_decorated_declarations_in_source_files, - defaultValueDescription: "false", + defaultValueDescription: false, }, // Advanced { @@ -39162,7 +39356,7 @@ var ts; affectsModuleResolution: true, category: ts.Diagnostics.Modules, description: ts.Diagnostics.Enable_importing_json_files, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "out", @@ -39188,7 +39382,7 @@ var ts; type: "boolean", category: ts.Diagnostics.Completeness, description: ts.Diagnostics.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "charset", @@ -39203,7 +39397,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "newLine", @@ -39223,7 +39417,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Output_Formatting, description: ts.Diagnostics.Disable_truncating_types_in_error_messages, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noLib", @@ -39234,7 +39428,7 @@ var ts; // We are not returning a sourceFile for lib file when asked by the program, // so pass --noLib to avoid reporting a file not found error. transpileOptionValue: true, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noResolve", @@ -39245,7 +39439,7 @@ var ts; // We are not doing a full typecheck, we are not resolving the whole context, // so pass --noResolve to avoid reporting missing file errors. transpileOptionValue: true, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "stripInternal", @@ -39253,7 +39447,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "disableSizeLimit", @@ -39261,7 +39455,7 @@ var ts; affectsProgramStructure: true, category: ts.Diagnostics.Editor_Support, description: ts.Diagnostics.Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "disableSourceOfProjectReferenceRedirect", @@ -39269,7 +39463,7 @@ var ts; isTSConfigOnly: true, category: ts.Diagnostics.Projects, description: ts.Diagnostics.Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "disableSolutionSearching", @@ -39277,7 +39471,7 @@ var ts; isTSConfigOnly: true, category: ts.Diagnostics.Projects, description: ts.Diagnostics.Opt_a_project_out_of_multi_project_reference_checking_when_editing, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "disableReferencedProjectLoad", @@ -39285,7 +39479,7 @@ var ts; isTSConfigOnly: true, category: ts.Diagnostics.Projects, description: ts.Diagnostics.Reduce_the_number_of_projects_loaded_automatically_by_TypeScript, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "noImplicitUseStrict", @@ -39293,7 +39487,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Disable_adding_use_strict_directives_in_emitted_JavaScript_files, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noEmitHelpers", @@ -39301,7 +39495,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_generating_custom_helper_functions_like_extends_in_compiled_output, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "noEmitOnError", @@ -39310,7 +39504,7 @@ var ts; category: ts.Diagnostics.Emit, transpileOptionValue: undefined, description: ts.Diagnostics.Disable_emitting_files_if_any_type_checking_errors_are_reported, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "preserveConstEnums", @@ -39318,7 +39512,7 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_erasing_const_enum_declarations_in_generated_code, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "declarationDir", @@ -39335,7 +39529,7 @@ var ts; type: "boolean", category: ts.Diagnostics.Completeness, description: ts.Diagnostics.Skip_type_checking_all_d_ts_files, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "allowUnusedLabels", @@ -39344,7 +39538,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Disable_error_reporting_for_unused_labels, - defaultValueDescription: "undefined" + defaultValueDescription: undefined, }, { name: "allowUnreachableCode", @@ -39353,7 +39547,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Disable_error_reporting_for_unreachable_code, - defaultValueDescription: "undefined" + defaultValueDescription: undefined, }, { name: "suppressExcessPropertyErrors", @@ -39361,7 +39555,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "suppressImplicitAnyIndexErrors", @@ -39369,7 +39563,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "forceConsistentCasingInFileNames", @@ -39377,7 +39571,7 @@ var ts; affectsModuleResolution: true, category: ts.Diagnostics.Interop_Constraints, description: ts.Diagnostics.Ensure_that_casing_is_correct_in_imports, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "maxNodeModuleJsDepth", @@ -39385,7 +39579,7 @@ var ts; affectsModuleResolution: true, category: ts.Diagnostics.JavaScript_Support, description: ts.Diagnostics.Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs, - defaultValueDescription: "0" + defaultValueDescription: 0, }, { name: "noStrictGenericChecks", @@ -39393,7 +39587,7 @@ var ts; affectsSemanticDiagnostics: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Disable_strict_checking_of_generic_signatures_in_function_types, - defaultValueDescription: "false" + defaultValueDescription: false, }, { name: "useDefineForClassFields", @@ -39410,14 +39604,14 @@ var ts; affectsEmit: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed, - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "keyofStringsOnly", type: "boolean", category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option, - defaultValueDescription: "false" + defaultValueDescription: false, }, { // A list of plugins to load in the language service @@ -39459,7 +39653,7 @@ var ts; category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Enable_verbose_logging, type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "dry", @@ -39467,7 +39661,7 @@ var ts; category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Show_what_would_be_built_or_deleted_if_specified_with_clean, type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "force", @@ -39475,14 +39669,14 @@ var ts; category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Build_all_projects_including_those_that_appear_to_be_up_to_date, type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "clean", category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Delete_the_outputs_of_all_projects, type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, } ]; /* @internal */ @@ -39495,12 +39689,12 @@ var ts; */ name: "enableAutoDiscovery", type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "enable", type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, { name: "include", @@ -39521,7 +39715,7 @@ var ts; { name: "disableFilenameBasedTypeAcquisition", type: "boolean", - defaultValueDescription: "false", + defaultValueDescription: false, }, ]; /*@internal*/ @@ -39575,8 +39769,8 @@ var ts; } ts.createCompilerDiagnosticForInvalidCustomType = createCompilerDiagnosticForInvalidCustomType; function createDiagnosticForInvalidCustomType(opt, createDiagnostic) { - var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'" + key + "'"; }).join(", "); - return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--" + opt.name, namesOfType); + var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'".concat(key, "'"); }).join(", "); + return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--".concat(opt.name), namesOfType); } /* @internal */ function parseCustomTypeOption(opt, value, errors) { @@ -40370,10 +40564,10 @@ var ts; var newValue = compilerOptionsMap.get(cmd.name); var defaultValue = getDefaultValueForOption(cmd); if (newValue !== defaultValue) { - result.push("" + tab + cmd.name + ": " + newValue); + result.push("".concat(tab).concat(cmd.name, ": ").concat(newValue)); } else if (ts.hasProperty(ts.defaultInitCompilerOptions, cmd.name)) { - result.push("" + tab + cmd.name + ": " + defaultValue); + result.push("".concat(tab).concat(cmd.name, ": ").concat(defaultValue)); } }); return result.join(newLine) + newLine; @@ -40424,19 +40618,19 @@ var ts; if (entries.length !== 0) { entries.push({ value: "" }); } - entries.push({ value: "/* " + category + " */" }); + entries.push({ value: "/* ".concat(category, " */") }); for (var _i = 0, options_1 = options; _i < options_1.length; _i++) { var option = options_1[_i]; var optionName = void 0; if (compilerOptionsMap.has(option.name)) { - optionName = "\"" + option.name + "\": " + JSON.stringify(compilerOptionsMap.get(option.name)) + ((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ","); + optionName = "\"".concat(option.name, "\": ").concat(JSON.stringify(compilerOptionsMap.get(option.name))).concat((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ","); } else { - optionName = "// \"" + option.name + "\": " + JSON.stringify(getDefaultValueForOption(option)) + ","; + optionName = "// \"".concat(option.name, "\": ").concat(JSON.stringify(getDefaultValueForOption(option)), ","); } entries.push({ value: optionName, - description: "/* " + (option.description && ts.getLocaleSpecificMessage(option.description) || option.name) + " */" + description: "/* ".concat(option.description && ts.getLocaleSpecificMessage(option.description) || option.name, " */") }); marginLength = Math.max(optionName.length, marginLength); } @@ -40445,25 +40639,25 @@ var ts; var tab = makePadding(2); var result = []; result.push("{"); - result.push(tab + "\"compilerOptions\": {"); - result.push("" + tab + tab + "/* " + ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file) + " */"); + result.push("".concat(tab, "\"compilerOptions\": {")); + result.push("".concat(tab).concat(tab, "/* ").concat(ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file), " */")); result.push(""); // Print out each row, aligning all the descriptions on the same column. for (var _a = 0, entries_2 = entries; _a < entries_2.length; _a++) { var entry = entries_2[_a]; var value = entry.value, _b = entry.description, description = _b === void 0 ? "" : _b; - result.push(value && "" + tab + tab + value + (description && (makePadding(marginLength - value.length + 2) + description))); + result.push(value && "".concat(tab).concat(tab).concat(value).concat(description && (makePadding(marginLength - value.length + 2) + description))); } if (fileNames.length) { - result.push(tab + "},"); - result.push(tab + "\"files\": ["); + result.push("".concat(tab, "},")); + result.push("".concat(tab, "\"files\": [")); for (var i = 0; i < fileNames.length; i++) { - result.push("" + tab + tab + JSON.stringify(fileNames[i]) + (i === fileNames.length - 1 ? "" : ",")); + result.push("".concat(tab).concat(tab).concat(JSON.stringify(fileNames[i])).concat(i === fileNames.length - 1 ? "" : ",")); } - result.push(tab + "]"); + result.push("".concat(tab, "]")); } else { - result.push(tab + "}"); + result.push("".concat(tab, "}")); } result.push("}"); return result.join(newLine) + newLine; @@ -40861,7 +41055,7 @@ var ts; if (ts.isRootedDiskPath(extendedConfig) || ts.startsWith(extendedConfig, "./") || ts.startsWith(extendedConfig, "../")) { var extendedConfigPath = ts.getNormalizedAbsolutePath(extendedConfig, basePath); if (!host.fileExists(extendedConfigPath) && !ts.endsWith(extendedConfigPath, ".json" /* Json */)) { - extendedConfigPath = extendedConfigPath + ".json"; + extendedConfigPath = "".concat(extendedConfigPath, ".json"); if (!host.fileExists(extendedConfigPath)) { errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig)); return undefined; @@ -41106,7 +41300,7 @@ var ts; // Valid only if *.json specified if (!jsonOnlyIncludeRegexes) { var includes = validatedIncludeSpecs.filter(function (s) { return ts.endsWith(s, ".json" /* Json */); }); - var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^" + pattern + "$"; }); + var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }); jsonOnlyIncludeRegexes = includeFilePatterns ? includeFilePatterns.map(function (pattern) { return ts.getRegexFromPattern(pattern, host.useCaseSensitiveFileNames); }) : ts.emptyArray; } var includeIndex = ts.findIndex(jsonOnlyIncludeRegexes, function (re) { return re.test(file); }); @@ -41287,7 +41481,7 @@ var ts; ? 1 /* Recursive */ : 0 /* None */ }; } - if (ts.isImplicitGlob(spec)) { + if (ts.isImplicitGlob(spec.substring(spec.lastIndexOf(ts.directorySeparator) + 1))) { return { key: useCaseSensitiveFileNames ? spec : ts.toFileNameLowerCase(spec), flags: 1 /* Recursive */ @@ -41542,7 +41736,7 @@ var ts; var bestVersionKey = result.version, bestVersionPaths = result.paths; if (typeof bestVersionPaths !== "object") { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['" + bestVersionKey + "']", "object", typeof bestVersionPaths); + trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['".concat(bestVersionKey, "']"), "object", typeof bestVersionPaths); } return; } @@ -41653,7 +41847,8 @@ var ts; } } var failedLookupLocations = []; - var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: NodeResolutionFeatures.AllFeatures, conditions: ["node", "require", "types"] }; + var features = getDefaultNodeResolutionFeatures(options); + var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, conditions: ["node", "require", "types"] }; var resolved = primaryLookup(); var primary = true; if (!resolved) { @@ -41737,6 +41932,34 @@ var ts; } } ts.resolveTypeReferenceDirective = resolveTypeReferenceDirective; + function getDefaultNodeResolutionFeatures(options) { + return ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 ? NodeResolutionFeatures.Node12Default : + ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext ? NodeResolutionFeatures.NodeNextDefault : + NodeResolutionFeatures.None; + } + /** + * @internal + * Does not try `@types/${packageName}` - use a second pass if needed. + */ + function resolvePackageNameToPackageJson(packageName, containingDirectory, options, host, cache) { + var moduleResolutionState = { + compilerOptions: options, + host: host, + traceEnabled: isTraceEnabled(options, host), + failedLookupLocations: [], + packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), + conditions: ts.emptyArray, + features: NodeResolutionFeatures.None, + }; + return ts.forEachAncestorDirectory(containingDirectory, function (ancestorDirectory) { + if (ts.getBaseFileName(ancestorDirectory) !== "node_modules") { + var nodeModulesFolder = ts.combinePaths(ancestorDirectory, "node_modules"); + var candidate = ts.combinePaths(nodeModulesFolder, packageName); + return getPackageJsonInfo(candidate, /*onlyRecordFailures*/ false, moduleResolutionState); + } + }); + } + ts.resolvePackageNameToPackageJson = resolvePackageNameToPackageJson; /** * Given a set of options, returns the set of type directive names * that should be included for this program automatically. @@ -41920,7 +42143,7 @@ var ts; }; return cache; function getUnderlyingCacheKey(specifier, mode) { - var result = mode === undefined ? specifier : mode + "|" + specifier; + var result = mode === undefined ? specifier : "".concat(mode, "|").concat(specifier); memoizedReverseKeys.set(result, [specifier, mode]); return result; } @@ -41951,7 +42174,7 @@ var ts; } function getOrCreateCacheForModuleName(nonRelativeModuleName, mode, redirectedReference) { ts.Debug.assert(!ts.isExternalModuleNameRelative(nonRelativeModuleName)); - return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : mode + "|" + nonRelativeModuleName, createPerModuleNameCache); + return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : "".concat(mode, "|").concat(nonRelativeModuleName), createPerModuleNameCache); } function createPerModuleNameCache() { var directoryPathMap = new ts.Map(); @@ -42098,10 +42321,10 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference); break; default: - return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: ".concat(moduleResolution)); } if (result && result.resolvedModule) - ts.perfLogger.logInfoEvent("Module \"" + moduleName + "\" resolved to \"" + result.resolvedModule.resolvedFileName + "\""); + ts.perfLogger.logInfoEvent("Module \"".concat(moduleName, "\" resolved to \"").concat(result.resolvedModule.resolvedFileName, "\"")); ts.perfLogger.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null"); if (perFolderCache) { perFolderCache.set(moduleName, resolutionMode, result); @@ -42304,17 +42527,12 @@ var ts; function resolveJSModule(moduleName, initialDir, host) { var _a = tryResolveJSModuleWorker(moduleName, initialDir, host), resolvedModule = _a.resolvedModule, failedLookupLocations = _a.failedLookupLocations; if (!resolvedModule) { - throw new Error("Could not resolve JS module '" + moduleName + "' starting at '" + initialDir + "'. Looked in: " + failedLookupLocations.join(", ")); + throw new Error("Could not resolve JS module '".concat(moduleName, "' starting at '").concat(initialDir, "'. Looked in: ").concat(failedLookupLocations.join(", "))); } return resolvedModule.resolvedFileName; } ts.resolveJSModule = resolveJSModule; /* @internal */ - function tryResolveJSModule(moduleName, initialDir, host) { - return tryResolveJSModuleWorker(moduleName, initialDir, host).resolvedModule; - } - ts.tryResolveJSModule = tryResolveJSModule; - /* @internal */ var NodeResolutionFeatures; (function (NodeResolutionFeatures) { NodeResolutionFeatures[NodeResolutionFeatures["None"] = 0] = "None"; @@ -42328,13 +42546,15 @@ var ts; // not currently backported to node 12 - https://github.com/nodejs/Release/issues/690 NodeResolutionFeatures[NodeResolutionFeatures["ExportsPatternTrailers"] = 16] = "ExportsPatternTrailers"; NodeResolutionFeatures[NodeResolutionFeatures["AllFeatures"] = 30] = "AllFeatures"; + NodeResolutionFeatures[NodeResolutionFeatures["Node12Default"] = 14] = "Node12Default"; + NodeResolutionFeatures[NodeResolutionFeatures["NodeNextDefault"] = 30] = "NodeNextDefault"; NodeResolutionFeatures[NodeResolutionFeatures["EsmMode"] = 32] = "EsmMode"; })(NodeResolutionFeatures || (NodeResolutionFeatures = {})); function node12ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { - return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.Imports | NodeResolutionFeatures.SelfName | NodeResolutionFeatures.Exports, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); + return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.Node12Default, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); } function nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { - return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.AllFeatures, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); + return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.NodeNextDefault, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); } function nodeNextModuleNameResolverWorker(features, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { var containingDirectory = ts.getDirectoryPath(containingFile); @@ -42417,7 +42637,7 @@ var ts; if (traceEnabled) { trace(host, ts.Diagnostics.Resolving_real_path_for_0_result_1, path, real); } - ts.Debug.assert(host.fileExists(real), path + " linked to nonexistent file " + real); + ts.Debug.assert(host.fileExists(real), "".concat(path, " linked to nonexistent file ").concat(real)); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -42620,6 +42840,97 @@ var ts; var versionPaths = packageInfo && packageInfo.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } + /* @internal */ + function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { + if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + // Cached value excludes resolutions to JS files - those could be + // cached separately, but they're used rarely. + return packageJsonInfo.resolvedEntrypoints; + } + var entrypoints; + var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; + var features = getDefaultNodeResolutionFeatures(options); + var requireState = { + compilerOptions: options, + host: host, + traceEnabled: isTraceEnabled(options, host), + failedLookupLocations: [], + packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), + conditions: ["node", "require", "types"], + features: features, + }; + var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { + var conditions = _a[_i]; + var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + if (exportResolutions) { + for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { + var resolution = exportResolutions_1[_b]; + entrypoints = ts.appendIfUnique(entrypoints, resolution.path); + } + } + } + } + return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + } + ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; + function loadEntrypointsFromExportMap(scope, exports, state, extensions) { + var entrypoints; + if (ts.isArray(exports)) { + for (var _i = 0, exports_1 = exports; _i < exports_1.length; _i++) { + var target = exports_1[_i]; + loadEntrypointsFromTargetExports(target); + } + } + // eslint-disable-next-line no-null/no-null + else if (typeof exports === "object" && exports !== null && allKeysStartWithDot(exports)) { + for (var key in exports) { + loadEntrypointsFromTargetExports(exports[key]); + } + } + else { + loadEntrypointsFromTargetExports(exports); + } + return entrypoints; + function loadEntrypointsFromTargetExports(target) { + var _a, _b; + if (typeof target === "string" && ts.startsWith(target, "./") && target.indexOf("*") === -1) { + var partsAfterFirst = ts.getPathComponents(target).slice(2); + if (partsAfterFirst.indexOf("..") >= 0 || partsAfterFirst.indexOf(".") >= 0 || partsAfterFirst.indexOf("node_modules") >= 0) { + return false; + } + var resolvedTarget = ts.combinePaths(scope.packageDirectory, target); + var finalPath = ts.getNormalizedAbsolutePath(resolvedTarget, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); + var result = loadJSOrExactTSFileName(extensions, finalPath, /*recordOnlyFailures*/ false, state); + if (result) { + entrypoints = ts.appendIfUnique(entrypoints, result, function (a, b) { return a.path === b.path; }); + return true; + } + } + else if (Array.isArray(target)) { + for (var _i = 0, target_1 = target; _i < target_1.length; _i++) { + var t = target_1[_i]; + var success = loadEntrypointsFromTargetExports(t); + if (success) { + return true; + } + } + } + // eslint-disable-next-line no-null/no-null + else if (typeof target === "object" && target !== null) { + return ts.forEach(ts.getOwnKeys(target), function (key) { + if (key === "default" || ts.contains(state.conditions, key) || isApplicableVersionedTypesKey(state.conditions, key)) { + loadEntrypointsFromTargetExports(target[key]); + return true; + } + }); + } + } + } /** * A function for locating the package.json scope for a given path */ @@ -42676,7 +42987,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths }; + var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); return result; } @@ -42803,7 +43114,7 @@ var ts; return undefined; } var trailingParts = parts.slice(nameParts.length); - return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : "." + ts.directorySeparator + trailingParts.join(ts.directorySeparator), state, cache, redirectedReference); + return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { if (!scope.packageJsonContent.exports) { @@ -42973,8 +43284,8 @@ var ts; } return toSearchResult(/*value*/ undefined); } - for (var _d = 0, target_1 = target; _d < target_1.length; _d++) { - var elem = target_1[_d]; + for (var _d = 0, target_2 = target; _d < target_2.length; _d++) { + var elem = target_2[_d]; var result = loadModuleFromTargetImportOrExport(elem, subpath, pattern); if (result) { return result; @@ -43131,7 +43442,7 @@ var ts; } /* @internal */ function getTypesPackageName(packageName) { - return "@types/" + mangleScopedPackageName(packageName); + return "@types/".concat(mangleScopedPackageName(packageName)); } ts.getTypesPackageName = getTypesPackageName; /* @internal */ @@ -43396,14 +43707,12 @@ var ts; } var binder = createBinder(); function bindSourceFile(file, options) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("bind" /* Bind */, "bindSourceFile", { path: file.path }, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeBind"); ts.perfLogger.logStartBindFile("" + file.fileName); binder(file, options); ts.perfLogger.logStopBindFile(); ts.performance.mark("afterBind"); ts.performance.measure("Bind", "beforeBind", "afterBind"); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } ts.bindSourceFile = bindSourceFile; function createBinder() { @@ -43463,7 +43772,9 @@ var ts; ts.Debug.attachFlowNodeDebugInfo(unreachableFlow); ts.Debug.attachFlowNodeDebugInfo(reportedUnreachableFlow); if (!file.locals) { + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("bind" /* Bind */, "bindSourceFile", { path: file.path }, /*separateBeginAndEnd*/ true); bind(file); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); file.symbolCount = symbolCount; file.classifiableNames = classifiableNames; delayedBindJSDocTypedefTag(); @@ -43532,7 +43843,7 @@ var ts; if (name) { if (ts.isAmbientModule(node)) { var moduleName = ts.getTextOfIdentifierOrLiteral(name); - return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); + return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"".concat(moduleName, "\"")); } if (name.kind === 161 /* ComputedPropertyName */) { var nameExpression = name.expression; @@ -43589,7 +43900,7 @@ var ts; case 163 /* Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind, ", expected JSDocFunctionType"); }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -43701,7 +44012,7 @@ var ts; var relatedInformation_1 = []; if (ts.isTypeAliasDeclaration(node) && ts.nodeIsMissing(node.type) && ts.hasSyntacticModifier(node, 1 /* Export */) && symbol.flags & (2097152 /* Alias */ | 788968 /* Type */ | 1920 /* Namespace */)) { // export type T; - may have meant export type { T }? - relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { " + ts.unescapeLeadingUnderscores(node.name.escapedText) + " }")); + relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { ".concat(ts.unescapeLeadingUnderscores(node.name.escapedText), " }"))); } var declarationName_1 = ts.getNameOfDeclaration(node) || node; ts.forEach(symbol.declarations, function (declaration, index) { @@ -44503,7 +44814,7 @@ var ts; maybeBindExpressionFlowIfCall(node.expression); } function maybeBindExpressionFlowIfCall(node) { - // A top level or LHS of comma expression call expression with a dotted function name and at least one argument + // A top level or comma expression call expression with a dotted function name and at least one argument // is potentially an assertion and is therefore included in the control flow. if (node.kind === 207 /* CallExpression */) { var call = node; @@ -44671,22 +44982,27 @@ var ts; } return state; } - function onLeft(left, state, _node) { + function onLeft(left, state, node) { if (!state.skip) { - return maybeBind(left); + var maybeBound = maybeBind(left); + if (node.operatorToken.kind === 27 /* CommaToken */) { + maybeBindExpressionFlowIfCall(left); + } + return maybeBound; } } - function onOperator(operatorToken, state, node) { + function onOperator(operatorToken, state, _node) { if (!state.skip) { - if (operatorToken.kind === 27 /* CommaToken */) { - maybeBindExpressionFlowIfCall(node.left); - } bind(operatorToken); } } - function onRight(right, state, _node) { + function onRight(right, state, node) { if (!state.skip) { - return maybeBind(right); + var maybeBound = maybeBind(right); + if (node.operatorToken.kind === 27 /* CommaToken */) { + maybeBindExpressionFlowIfCall(right); + } + return maybeBound; } } function onExit(node, state) { @@ -45137,10 +45453,6 @@ var ts; seen.set(identifier.escapedText, currentKind); continue; } - if (currentKind === 1 /* Property */ && existingKind === 1 /* Property */) { - var span = ts.getErrorSpanForNode(file, identifier); - file.bindDiagnostics.push(ts.createFileDiagnostic(file, span.start, span.length, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode)); - } } } return bindAnonymousDeclaration(node, 4096 /* ObjectLiteral */, "__object" /* Object */); @@ -45374,7 +45686,7 @@ var ts; } } function checkStrictModeNumericLiteral(node) { - if (inStrictMode && node.numericLiteralFlags & 32 /* Octal */) { + if (languageVersion < 1 /* ES5 */ && inStrictMode && node.numericLiteralFlags & 32 /* Octal */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode)); } } @@ -45433,6 +45745,8 @@ var ts; return; } ts.setParent(node, parent); + if (ts.tracing) + node.tracingPath = file.path; var saveInStrictMode = inStrictMode; // Even though in the AST the jsdoc @typedef node belongs to the current node, // its symbol might be in the same scope with the current node's symbol. Consider: @@ -45774,7 +46088,7 @@ var ts; } } function bindSourceFileAsExternalModule() { - bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"" + ts.removeFileExtension(file.fileName) + "\""); + bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"".concat(ts.removeFileExtension(file.fileName), "\"")); } function bindExportAssignment(node) { if (!container.symbol || !container.symbol.exports) { @@ -46253,7 +46567,7 @@ var ts; checkStrictModeEvalOrArguments(node, node.name); } if (!ts.isBindingPattern(node.name)) { - if (ts.isInJSFile(node) && ts.isRequireVariableDeclaration(node) && !ts.getJSDocTypeTag(node)) { + if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node)) { declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); } else if (ts.isBlockOrCatchScoped(node)) { @@ -46764,6 +47078,9 @@ var ts; TypeFacts[TypeFacts["EmptyObjectStrictFacts"] = 16318463] = "EmptyObjectStrictFacts"; TypeFacts[TypeFacts["AllTypeofNE"] = 556800] = "AllTypeofNE"; TypeFacts[TypeFacts["EmptyObjectFacts"] = 16777215] = "EmptyObjectFacts"; + // Masks + TypeFacts[TypeFacts["OrFactsMask"] = 8256] = "OrFactsMask"; + TypeFacts[TypeFacts["AndFactsMask"] = 16768959] = "AndFactsMask"; })(TypeFacts || (TypeFacts = {})); var typeofEQFacts = new ts.Map(ts.getEntries({ string: 1 /* TypeofEQString */, @@ -46804,6 +47121,9 @@ var ts; CheckMode[CheckMode["SkipContextSensitive"] = 4] = "SkipContextSensitive"; CheckMode[CheckMode["SkipGenericFunctions"] = 8] = "SkipGenericFunctions"; CheckMode[CheckMode["IsForSignatureHelp"] = 16] = "IsForSignatureHelp"; + CheckMode[CheckMode["RestBindingElement"] = 32] = "RestBindingElement"; + // e.g. in `const { a, ...rest } = foo`, when checking the type of `foo` to determine the type of `rest`, + // we need to preserve generic types instead of substituting them for constraints })(CheckMode || (CheckMode = {})); var SignatureCheckMode; (function (SignatureCheckMode) { @@ -46819,8 +47139,7 @@ var ts; IntersectionState[IntersectionState["Source"] = 1] = "Source"; IntersectionState[IntersectionState["Target"] = 2] = "Target"; IntersectionState[IntersectionState["PropertyCheck"] = 4] = "PropertyCheck"; - IntersectionState[IntersectionState["UnionIntersectionCheck"] = 8] = "UnionIntersectionCheck"; - IntersectionState[IntersectionState["InPropertyCheck"] = 16] = "InPropertyCheck"; + IntersectionState[IntersectionState["InPropertyCheck"] = 8] = "InPropertyCheck"; })(IntersectionState || (IntersectionState = {})); var RecursionFlags; (function (RecursionFlags) { @@ -47017,6 +47336,7 @@ var ts; var location = ts.getParseTreeNode(locationIn); return location ? getTypeOfSymbolAtLocation(symbol, location) : errorType; }, + getTypeOfSymbol: getTypeOfSymbol, getSymbolsOfParameterPropertyDeclaration: function (parameterIn, parameterName) { var parameter = ts.getParseTreeNode(parameterIn, ts.isParameter); if (parameter === undefined) @@ -47040,6 +47360,7 @@ var ts; getIndexInfosOfType: getIndexInfosOfType, getSignaturesOfType: getSignaturesOfType, getIndexTypeOfType: function (type, kind) { return getIndexTypeOfType(type, kind === 0 /* String */ ? stringType : numberType); }, + getIndexType: function (type) { return getIndexType(type); }, getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, getWidenedType: getWidenedType, @@ -47722,6 +48043,9 @@ var ts; suggestionDiagnostics.add(diagnostic); return diagnostic; } + function isDeprecatedSymbol(symbol) { + return !!(getDeclarationNodeFlagsFromSymbol(symbol) & 134217728 /* Deprecated */); + } function addDeprecatedSuggestion(location, declarations, deprecatedEntity) { var diagnostic = ts.createDiagnosticForNode(location, ts.Diagnostics._0_is_deprecated, deprecatedEntity); return addDeprecatedSuggestionWorker(declarations, diagnostic); @@ -47851,30 +48175,34 @@ var ts; else { // error var isEitherEnum = !!(target.flags & 384 /* Enum */ || source.flags & 384 /* Enum */); var isEitherBlockScoped_1 = !!(target.flags & 2 /* BlockScopedVariable */ || source.flags & 2 /* BlockScopedVariable */); - var message = isEitherEnum - ? ts.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations - : isEitherBlockScoped_1 - ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 + var message = isEitherEnum ? ts.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations + : isEitherBlockScoped_1 ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; var sourceSymbolFile = source.declarations && ts.getSourceFileOfNode(source.declarations[0]); var targetSymbolFile = target.declarations && ts.getSourceFileOfNode(target.declarations[0]); + var isSourcePlainJs = ts.isPlainJsFile(sourceSymbolFile, compilerOptions.checkJs); + var isTargetPlainJs = ts.isPlainJsFile(targetSymbolFile, compilerOptions.checkJs); var symbolName_1 = symbolToString(source); // Collect top-level duplicate identifier errors into one mapping, so we can then merge their diagnostics if there are a bunch if (sourceSymbolFile && targetSymbolFile && amalgamatedDuplicates && !isEitherEnum && sourceSymbolFile !== targetSymbolFile) { var firstFile_1 = ts.comparePaths(sourceSymbolFile.path, targetSymbolFile.path) === -1 /* LessThan */ ? sourceSymbolFile : targetSymbolFile; var secondFile_1 = firstFile_1 === sourceSymbolFile ? targetSymbolFile : sourceSymbolFile; - var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, firstFile_1.path + "|" + secondFile_1.path, function () { + var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, "".concat(firstFile_1.path, "|").concat(secondFile_1.path), function () { return ({ firstFile: firstFile_1, secondFile: secondFile_1, conflictingSymbols: new ts.Map() }); }); var conflictingSymbolInfo = ts.getOrUpdate(filesDuplicates.conflictingSymbols, symbolName_1, function () { return ({ isBlockScoped: isEitherBlockScoped_1, firstFileLocations: [], secondFileLocations: [] }); }); - addDuplicateLocations(conflictingSymbolInfo.firstFileLocations, source); - addDuplicateLocations(conflictingSymbolInfo.secondFileLocations, target); + if (!isSourcePlainJs) + addDuplicateLocations(conflictingSymbolInfo.firstFileLocations, source); + if (!isTargetPlainJs) + addDuplicateLocations(conflictingSymbolInfo.secondFileLocations, target); } else { - addDuplicateDeclarationErrorsForSymbols(source, message, symbolName_1, target); - addDuplicateDeclarationErrorsForSymbols(target, message, symbolName_1, source); + if (!isSourcePlainJs) + addDuplicateDeclarationErrorsForSymbols(source, message, symbolName_1, target); + if (!isTargetPlainJs) + addDuplicateDeclarationErrorsForSymbols(target, message, symbolName_1, source); } } return target; @@ -48297,11 +48625,12 @@ var ts; * * @param isUse If true, this will count towards --noUnusedLocals / --noUnusedParameters. */ - function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals) { + function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions) { if (excludeGlobals === void 0) { excludeGlobals = false; } - return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSymbol); + if (getSpellingSuggstions === void 0) { getSpellingSuggstions = true; } + return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions, getSymbol); } - function resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, lookup) { + function resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions, lookup) { var _a, _b, _c; var originalLocation = location; // needed for did-you-mean error reporting, which gathers candidates starting from the original location var result; @@ -48330,6 +48659,8 @@ var ts; // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || lastLocation.kind === 163 /* Parameter */ || + lastLocation.kind === 338 /* JSDocParameterTag */ || + lastLocation.kind === 339 /* JSDocReturnTag */ || lastLocation.kind === 162 /* TypeParameter */ // local types not visible outside the function body : false; @@ -48589,9 +48920,9 @@ var ts; lastSelfReferenceLocation = location; } lastLocation = location; - location = ts.isJSDocTemplateTag(location) ? - ts.getEffectiveContainerForJSDocTemplateTag(location) || location.parent : - location.parent; + location = ts.isJSDocTemplateTag(location) ? ts.getEffectiveContainerForJSDocTemplateTag(location) || location.parent : + ts.isJSDocParameterTag(location) || ts.isJSDocReturnTag(location) ? ts.getHostSignatureFromJSDoc(location) || location.parent : + location.parent; } // We just climbed up parents looking for the name, meaning that we started in a descendant node of `lastLocation`. // If `result === lastSelfReferenceLocation.symbol`, that means that we are somewhere inside `lastSelfReferenceLocation` looking up a name, and resolving to `lastLocation` itself. @@ -48618,7 +48949,7 @@ var ts; } } if (!result) { - if (nameNotFoundMessage) { + if (nameNotFoundMessage && produceDiagnostics) { if (!errorLocation || !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 !checkAndReportErrorForExtendingInterface(errorLocation) && @@ -48628,7 +48959,7 @@ var ts; !checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) && !checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) { var suggestion = void 0; - if (suggestionCount < maximumSuggestionCount) { + if (getSpellingSuggestions && suggestionCount < maximumSuggestionCount) { suggestion = getSuggestedSymbolForNonexistentSymbol(originalLocation, name, meaning); var isGlobalScopeAugmentationDeclaration = (suggestion === null || suggestion === void 0 ? void 0 : suggestion.valueDeclaration) && ts.isAmbientModule(suggestion.valueDeclaration) && ts.isGlobalScopeAugmentation(suggestion.valueDeclaration); if (isGlobalScopeAugmentationDeclaration) { @@ -48664,7 +48995,7 @@ var ts; return undefined; } // Perform extra checks only if error reporting was requested - if (nameNotFoundMessage) { + if (nameNotFoundMessage && produceDiagnostics) { if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields)) { // We have a match, but the reference occurred within a property initializer and the identifier also binds // to a local variable in the constructor where the code will be emitted. Note that this is actually allowed @@ -48712,24 +49043,19 @@ var ts; error(errorLocation, ts.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it, ts.declarationNameToString(associatedDeclarationForContainingInitializerOrBindingName.name), ts.declarationNameToString(errorLocation)); } } - if (result && errorLocation && meaning & 111551 /* Value */ && result.flags & 2097152 /* Alias */) { - checkSymbolUsageInExpressionContext(result, name, errorLocation); + if (result && errorLocation && meaning & 111551 /* Value */ && result.flags & 2097152 /* Alias */ && !(result.flags & 111551 /* Value */) && !ts.isValidTypeOnlyAliasUseSite(errorLocation)) { + var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result); + if (typeOnlyDeclaration) { + var message = typeOnlyDeclaration.kind === 274 /* ExportSpecifier */ + ? ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type + : ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type; + var unescapedName = ts.unescapeLeadingUnderscores(name); + addTypeOnlyDeclarationRelatedInfo(error(errorLocation, message, unescapedName), typeOnlyDeclaration, unescapedName); + } } } return result; } - function checkSymbolUsageInExpressionContext(symbol, name, useSite) { - if (!ts.isValidTypeOnlyAliasUseSite(useSite)) { - var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(symbol); - if (typeOnlyDeclaration) { - var message = typeOnlyDeclaration.kind === 274 /* ExportSpecifier */ - ? ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type - : ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type; - var unescapedName = ts.unescapeLeadingUnderscores(name); - addTypeOnlyDeclarationRelatedInfo(error(useSite, message, unescapedName), typeOnlyDeclaration, unescapedName); - } - } - } function addTypeOnlyDeclarationRelatedInfo(diagnostic, typeOnlyDeclaration, unescapedName) { if (!typeOnlyDeclaration) return diagnostic; @@ -48977,10 +49303,12 @@ var ts; } /* Starting from 'initial' node walk up the parent chain until 'stopAt' node is reached. * If at any point current node is equal to 'parent' node - return true. + * If current node is an IIFE, continue walking up. * Return false if 'stopAt' node is reached or isFunctionLike(current) === true. */ function isSameScopeDescendentOf(initial, parent, stopAt) { - return !!parent && !!ts.findAncestor(initial, function (n) { return n === stopAt || ts.isFunctionLike(n) ? "quit" : n === parent; }); + return !!parent && !!ts.findAncestor(initial, function (n) { return n === parent + || (n === stopAt || ts.isFunctionLike(n) && !ts.getImmediatelyInvokedFunctionExpression(n) ? "quit" : false); }); } function getAnyImportSyntax(node) { switch (node.kind) { @@ -49031,7 +49359,7 @@ var ts; && isAliasableOrJsExpression(node.parent.right) || node.kind === 295 /* ShorthandPropertyAssignment */ || node.kind === 294 /* PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) - || ts.isRequireVariableDeclaration(node); + || ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node); } function isAliasableOrJsExpression(e) { return ts.isAliasableExpression(e) || ts.isFunctionExpression(e) && isJSConstructor(e); @@ -49728,16 +50056,20 @@ var ts; return; } var host = ts.getJSDocHost(node); - if (host && - ts.isExpressionStatement(host) && - ts.isBinaryExpression(host.expression) && - ts.getAssignmentDeclarationKind(host.expression) === 3 /* PrototypeProperty */) { - // X.prototype.m = /** @param {K} p */ function () { } <-- look for K on X's declaration + if (host && ts.isExpressionStatement(host) && ts.isPrototypePropertyAssignment(host.expression)) { + // /** @param {K} p */ X.prototype.m = function () { } <-- look for K on X's declaration var symbol = getSymbolOfNode(host.expression.left); if (symbol) { return getDeclarationOfJSPrototypeContainer(symbol); } } + if (host && ts.isFunctionExpression(host) && ts.isPrototypePropertyAssignment(host.parent) && ts.isExpressionStatement(host.parent.parent)) { + // X.prototype.m = /** @param {K} p */ function () { } <-- look for K on X's declaration + var symbol = getSymbolOfNode(host.parent.left); + if (symbol) { + return getDeclarationOfJSPrototypeContainer(symbol); + } + } if (host && (ts.isObjectLiteralMethod(host) || ts.isPropertyAssignment(host)) && ts.isBinaryExpression(host.parent.parent) && ts.getAssignmentDeclarationKind(host.parent.parent) === 6 /* Prototype */) { @@ -49819,8 +50151,14 @@ var ts; var mode = contextSpecifier && ts.isStringLiteralLike(contextSpecifier) ? ts.getModeForUsageLocation(currentSourceFile, contextSpecifier) : currentSourceFile.impliedNodeFormat; var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference, mode); var resolutionDiagnostic = resolvedModule && ts.getResolutionDiagnostic(compilerOptions, resolvedModule); - var sourceFile = resolvedModule && !resolutionDiagnostic && host.getSourceFile(resolvedModule.resolvedFileName); + var sourceFile = resolvedModule + && (!resolutionDiagnostic || resolutionDiagnostic === ts.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set) + && host.getSourceFile(resolvedModule.resolvedFileName); if (sourceFile) { + // If there's a resolutionDiagnostic we need to report it even if a sourceFile is found. + if (resolutionDiagnostic) { + error(errorNode, resolutionDiagnostic, moduleReference, resolvedModule.resolvedFileName); + } if (sourceFile.symbol) { if (resolvedModule.isExternalLibraryImport && !ts.resolutionExtensionIsTSOrJson(resolvedModule.extension)) { errorOnImplicitAnyModule(/*isError*/ false, errorNode, resolvedModule, moduleReference); @@ -50002,7 +50340,7 @@ var ts; if (!sigs || !sigs.length) { sigs = getSignaturesOfStructuredType(type, 1 /* Construct */); } - if ((sigs && sigs.length) || getPropertyOfType(type, "default" /* Default */)) { + if ((sigs && sigs.length) || getPropertyOfType(type, "default" /* Default */, /*skipObjectFunctionPropertyAugment*/ true)) { var moduleType = getTypeWithSyntheticDefaultImportType(type, symbol, moduleSymbol, reference); return cloneTypeAsModuleType(symbol, moduleType, referenceParent); } @@ -50502,7 +50840,7 @@ var ts; var cache = (links.accessibleChainCache || (links.accessibleChainCache = new ts.Map())); // Go from enclosingDeclaration to the first scope we check, so the cache is keyed off the scope and thus shared more var firstRelevantLocation = forEachSymbolTableInScope(enclosingDeclaration, function (_, __, ___, node) { return node; }); - var key = (useOnlyExternalAliasing ? 0 : 1) + "|" + (firstRelevantLocation && getNodeId(firstRelevantLocation)) + "|" + meaning; + var key = "".concat(useOnlyExternalAliasing ? 0 : 1, "|").concat(firstRelevantLocation && getNodeId(firstRelevantLocation), "|").concat(meaning); if (cache.has(key)) { return cache.get(key); } @@ -50962,6 +51300,7 @@ var ts; getCommonSourceDirectory: !!host.getCommonSourceDirectory ? function () { return host.getCommonSourceDirectory(); } : function () { return ""; }, getCurrentDirectory: function () { return host.getCurrentDirectory(); }, getSymlinkCache: ts.maybeBind(host, host.getSymlinkCache), + getPackageJsonInfoCache: function () { var _a; return (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host); }, useCaseSensitiveFileNames: ts.maybeBind(host, host.useCaseSensitiveFileNames), redirectTargetsMap: host.redirectTargetsMap, getProjectReferenceRedirect: function (fileName) { return host.getProjectReferenceRedirect(fileName); }, @@ -51140,7 +51479,7 @@ var ts; context.approximateLength += 6; return ts.factory.createKeywordTypeNode(147 /* ObjectKeyword */); } - if (isThisTypeParameter(type)) { + if (ts.isThisTypeParameter(type)) { if (context.flags & 4194304 /* InObjectTypeLiteral */) { if (!context.encounteredError && !(context.flags & 32768 /* AllowThisInObjectLiteral */)) { context.encounteredError = true; @@ -51350,7 +51689,7 @@ var ts; context.symbolDepth = new ts.Map(); } var links = context.enclosingDeclaration && getNodeLinks(context.enclosingDeclaration); - var key = getTypeId(type) + "|" + context.flags; + var key = "".concat(getTypeId(type), "|").concat(context.flags); if (links) { links.serializedTypes || (links.serializedTypes = new ts.Map()); } @@ -51619,7 +51958,7 @@ var ts; } } if (checkTruncationLength(context) && (i + 2 < properties.length - 1)) { - typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... " + (properties.length - i) + " more ...", /*questionToken*/ undefined, /*type*/ undefined)); + typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... ".concat(properties.length - i, " more ..."), /*questionToken*/ undefined, /*type*/ undefined)); addPropertyToElementList(properties[properties.length - 1], context, typeElements); break; } @@ -51734,7 +52073,7 @@ var ts; else if (types.length > 2) { return [ typeToTypeNodeHelper(types[0], context), - ts.factory.createTypeReferenceNode("... " + (types.length - 2) + " more ...", /*typeArguments*/ undefined), + ts.factory.createTypeReferenceNode("... ".concat(types.length - 2, " more ..."), /*typeArguments*/ undefined), typeToTypeNodeHelper(types[types.length - 1], context) ]; } @@ -51748,7 +52087,7 @@ var ts; var type = types_2[_i]; i++; if (checkTruncationLength(context) && (i + 2 < types.length - 1)) { - result_5.push(ts.factory.createTypeReferenceNode("... " + (types.length - i) + " more ...", /*typeArguments*/ undefined)); + result_5.push(ts.factory.createTypeReferenceNode("... ".concat(types.length - i, " more ..."), /*typeArguments*/ undefined)); var typeNode_1 = typeToTypeNodeHelper(types[types.length - 1], context); if (typeNode_1) { result_5.push(typeNode_1); @@ -51832,8 +52171,8 @@ var ts; var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; // If the expanded parameter list had a variadic in a non-trailing position, don't expand it var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 170 /* Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); - if (signature.thisParameter) { - var thisParameter = symbolToParameterDeclaration(signature.thisParameter, context); + var thisParameter = tryGetThisParameterDeclaration(signature, context); + if (thisParameter) { parameters.unshift(thisParameter); } var returnTypeNode; @@ -51882,6 +52221,21 @@ var ts; } return node; } + function tryGetThisParameterDeclaration(signature, context) { + if (signature.thisParameter) { + return symbolToParameterDeclaration(signature.thisParameter, context); + } + if (signature.declaration) { + var thisTag = ts.getJSDocThisTag(signature.declaration); + if (thisTag && thisTag.typeExpression) { + return ts.factory.createParameterDeclaration( + /* decorators */ undefined, + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "this", + /* questionToken */ undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context)); + } + } + } function typeParameterToDeclarationWithConstraint(type, context, constraintNode) { var savedContextFlags = context.flags; context.flags &= ~512 /* WriteTypeParametersInQualifiedName */; // Avoids potential infinite loop when building for a claimspace with a generic @@ -52191,8 +52545,8 @@ var ts; } else { if (parent && getExportsOfSymbol(parent)) { - var exports_1 = getExportsOfSymbol(parent); - ts.forEachEntry(exports_1, function (ex, name) { + var exports_2 = getExportsOfSymbol(parent); + ts.forEachEntry(exports_2, function (ex, name) { if (getSymbolIfSameReference(ex, symbol) && !isLateBoundName(name) && name !== "export=" /* ExportEquals */) { symbolName = ts.unescapeLeadingUnderscores(name); return true; @@ -52256,7 +52610,7 @@ var ts; var text = rawtext; while (((_b = context.typeParameterNamesByText) === null || _b === void 0 ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { i++; - text = rawtext + "_" + i; + text = "".concat(rawtext, "_").concat(i); } if (text !== rawtext) { result = ts.factory.createIdentifier(text, result.typeArguments); @@ -52323,10 +52677,8 @@ var ts; firstChar = symbolName.charCodeAt(0); } var expression = void 0; - if (ts.isSingleOrDoubleQuote(firstChar)) { - expression = ts.factory.createStringLiteral(symbolName - .substring(1, symbolName.length - 1) - .replace(/\\./g, function (s) { return s.substring(1); }), firstChar === 39 /* singleQuote */); + if (ts.isSingleOrDoubleQuote(firstChar) && !(symbol.flags & 8 /* EnumMember */)) { + expression = ts.factory.createStringLiteral(ts.stripQuotes(symbolName).replace(/\\./g, function (s) { return s.substring(1); }), firstChar === 39 /* singleQuote */); } else if (("" + +symbolName) === symbolName) { expression = ts.factory.createNumericLiteral(+symbolName); @@ -52355,7 +52707,7 @@ var ts; } var rawName = ts.unescapeLeadingUnderscores(symbol.escapedName); var stringNamed = !!ts.length(symbol.declarations) && ts.every(symbol.declarations, isStringNamed); - return createPropertyNameNodeForIdentifierOrLiteral(rawName, stringNamed, singleQuote); + return ts.createPropertyNameNodeForIdentifierOrLiteral(rawName, ts.getEmitScriptTarget(compilerOptions), singleQuote, stringNamed); } // See getNameForSymbolFromNameType for a stringy equivalent function getPropertyNameNodeForSymbolFromNameType(symbol, context, singleQuote) { @@ -52363,24 +52715,19 @@ var ts; if (nameType) { if (nameType.flags & 384 /* StringOrNumberLiteral */) { var name = "" + nameType.value; - if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !isNumericLiteralName(name)) { + if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !ts.isNumericLiteralName(name)) { return ts.factory.createStringLiteral(name, !!singleQuote); } - if (isNumericLiteralName(name) && ts.startsWith(name, "-")) { + if (ts.isNumericLiteralName(name) && ts.startsWith(name, "-")) { return ts.factory.createComputedPropertyName(ts.factory.createNumericLiteral(+name)); } - return createPropertyNameNodeForIdentifierOrLiteral(name); + return ts.createPropertyNameNodeForIdentifierOrLiteral(name, ts.getEmitScriptTarget(compilerOptions)); } if (nameType.flags & 8192 /* UniqueESSymbol */) { return ts.factory.createComputedPropertyName(symbolToExpression(nameType.symbol, context, 111551 /* Value */)); } } } - function createPropertyNameNodeForIdentifierOrLiteral(name, stringNamed, singleQuote) { - return ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) ? ts.factory.createIdentifier(name) : - !stringNamed && isNumericLiteralName(name) && +name >= 0 ? ts.factory.createNumericLiteral(+name) : - ts.factory.createStringLiteral(name, !!singleQuote); - } function cloneNodeBuilderContext(context) { var initial = __assign({}, context); // Make type parameters created within this context not consume the name outside this context @@ -52474,7 +52821,8 @@ var ts; includePrivateSymbol === null || includePrivateSymbol === void 0 ? void 0 : includePrivateSymbol(sym); } if (ts.isIdentifier(node)) { - var name = sym.flags & 262144 /* TypeParameter */ ? typeParameterToName(getDeclaredTypeOfSymbol(sym), context) : ts.factory.cloneNode(node); + var type = getDeclaredTypeOfSymbol(sym); + var name = sym.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : ts.factory.cloneNode(node); name.symbol = sym; // for quickinfo, which uses identifier symbol information return { introducesError: introducesError, node: ts.setEmitFlags(ts.setOriginalNode(name, node), 16777216 /* NoAsciiEscaping */) }; } @@ -52582,7 +52930,7 @@ var ts; function getNameForJSDocFunctionParameter(p, index) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? "args" - : "arg" + index; + : "arg".concat(index); } function rewriteModuleSpecifier(parent, lit) { if (bundled) { @@ -53667,7 +54015,7 @@ var ts; return results_1; } // The `Constructor`'s symbol isn't in the class's properties lists, obviously, since it's a signature on the static - return ts.Debug.fail("Unhandled class member kind! " + (p.__debugFlags || p.flags)); + return ts.Debug.fail("Unhandled class member kind! ".concat(p.__debugFlags || p.flags)); }; } function serializePropertySymbolForInterface(p, baseType) { @@ -53742,7 +54090,7 @@ var ts; if (ref) { return ref; } - var tempName = getUnusedName(rootName + "_base"); + var tempName = getUnusedName("".concat(rootName, "_base")); var statement = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ ts.factory.createVariableDeclaration(tempName, /*exclamationToken*/ undefined, typeToTypeNodeHelper(staticType, context)) ], 2 /* Const */)); @@ -53789,7 +54137,7 @@ var ts; var original = input; while ((_a = context.usedSymbolNames) === null || _a === void 0 ? void 0 : _a.has(input)) { i++; - input = original + "_" + i; + input = "".concat(original, "_").concat(i); } (_b = context.usedSymbolNames) === null || _b === void 0 ? void 0 : _b.add(input); if (id) { @@ -53896,16 +54244,16 @@ var ts; if (nameType) { if (nameType.flags & 384 /* StringOrNumberLiteral */) { var name = "" + nameType.value; - if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !isNumericLiteralName(name)) { - return "\"" + ts.escapeString(name, 34 /* doubleQuote */) + "\""; + if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !ts.isNumericLiteralName(name)) { + return "\"".concat(ts.escapeString(name, 34 /* doubleQuote */), "\""); } - if (isNumericLiteralName(name) && ts.startsWith(name, "-")) { - return "[" + name + "]"; + if (ts.isNumericLiteralName(name) && ts.startsWith(name, "-")) { + return "[".concat(name, "]"); } return name; } if (nameType.flags & 8192 /* UniqueESSymbol */) { - return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; + return "[".concat(getNameOfSymbolAsWritten(nameType.symbol, context), "]"); } } } @@ -54208,9 +54556,12 @@ var ts; } // Return the type of a binding element parent. We check SymbolLinks first to see if a type has been // assigned by contextual typing. - function getTypeForBindingElementParent(node) { + function getTypeForBindingElementParent(node, checkMode) { + if (checkMode !== 0 /* Normal */) { + return getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false, checkMode); + } var symbol = getSymbolOfNode(node); - return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false); + return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false, checkMode); } function getRestType(source, properties, symbol) { source = filterType(source, function (t) { return !(t.flags & 98304 /* Nullable */); }); @@ -54221,7 +54572,27 @@ var ts; return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var omitKeyType = getUnionType(ts.map(properties, getLiteralTypeFromPropertyName)); + var spreadableProperties = []; + var unspreadableToRestKeys = []; + for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) { + var prop = _a[_i]; + var literalTypeFromProperty = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */); + if (!isTypeAssignableTo(literalTypeFromProperty, omitKeyType) + && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */)) + && isSpreadableProperty(prop)) { + spreadableProperties.push(prop); + } + else { + unspreadableToRestKeys.push(literalTypeFromProperty); + } + } if (isGenericObjectType(source) || isGenericIndexType(omitKeyType)) { + if (unspreadableToRestKeys.length) { + // If the type we're spreading from has properties that cannot + // be spread into the rest type (e.g. getters, methods), ensure + // they are explicitly omitted, as they would in the non-generic case. + omitKeyType = getUnionType(__spreadArray([omitKeyType], unspreadableToRestKeys, true)); + } if (omitKeyType.flags & 131072 /* Never */) { return source; } @@ -54232,13 +54603,9 @@ var ts; return getTypeAliasInstantiation(omitTypeAlias, [source, omitKeyType]); } var members = ts.createSymbolTable(); - for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) { - var prop = _a[_i]; - if (!isTypeAssignableTo(getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */), omitKeyType) - && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */)) - && isSpreadableProperty(prop)) { - members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false)); - } + for (var _b = 0, spreadableProperties_1 = spreadableProperties; _b < spreadableProperties_1.length; _b++) { + var prop = spreadableProperties_1[_b]; + members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false)); } var result = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(source)); result.objectFlags |= 8388608 /* ObjectRestType */; @@ -54312,12 +54679,16 @@ var ts; } /** Return the inferred type for a binding element */ function getTypeForBindingElement(declaration) { - var pattern = declaration.parent; - var parentType = getTypeForBindingElementParent(pattern.parent); - // If no type or an any type was inferred for parent, infer that for the binding element - if (!parentType || isTypeAny(parentType)) { + var checkMode = declaration.dotDotDotToken ? 32 /* RestBindingElement */ : 0 /* Normal */; + var parentType = getTypeForBindingElementParent(declaration.parent.parent, checkMode); + return parentType && getBindingElementTypeFromParentType(declaration, parentType); + } + function getBindingElementTypeFromParentType(declaration, parentType) { + // If an any type was inferred for parent, infer that for the binding element + if (isTypeAny(parentType)) { return parentType; } + var pattern = declaration.parent; // Relax null check on ambient destructuring parameters, since the parameters have no implementation and are just documentation if (strictNullChecks && declaration.flags & 8388608 /* Ambient */ && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); @@ -54381,9 +54752,9 @@ var ts; if (ts.getEffectiveTypeAnnotationNode(ts.walkUpBindingElementsAndPatterns(declaration))) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. - return strictNullChecks && !(getFalsyFlags(checkDeclarationInitializer(declaration)) & 32768 /* Undefined */) ? getNonUndefinedType(type) : type; + return strictNullChecks && !(getFalsyFlags(checkDeclarationInitializer(declaration, 0 /* Normal */)) & 32768 /* Undefined */) ? getNonUndefinedType(type) : type; } - return widenTypeInferredFromInitializer(declaration, getUnionType([getNonUndefinedType(type), checkDeclarationInitializer(declaration)], 2 /* Subtype */)); + return widenTypeInferredFromInitializer(declaration, getUnionType([getNonUndefinedType(type), checkDeclarationInitializer(declaration, 0 /* Normal */)], 2 /* Subtype */)); } function getTypeForDeclarationFromJSDocComment(declaration) { var jsdocType = ts.getJSDocType(declaration); @@ -54406,11 +54777,11 @@ var ts; return strictNullChecks && isOptional ? getOptionalType(type, isProperty) : type; } // Return the inferred type for a variable, parameter, or property declaration - function getTypeForVariableLikeDeclaration(declaration, includeOptionality) { + function getTypeForVariableLikeDeclaration(declaration, includeOptionality, checkMode) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 242 /* ForInStatement */) { - var indexType = getIndexType(getNonNullableTypeIfNeeded(checkExpression(declaration.parent.parent.expression))); + var indexType = getIndexType(getNonNullableTypeIfNeeded(checkExpression(declaration.parent.parent.expression, /*checkMode*/ checkMode))); return indexType.flags & (262144 /* TypeParameter */ | 4194304 /* Index */) ? getExtractStringType(indexType) : stringType; } if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* ForOfStatement */) { @@ -54465,12 +54836,9 @@ var ts; } } if (ts.isInJSFile(declaration)) { - var typeTag = ts.getJSDocType(func); - if (typeTag && ts.isFunctionTypeNode(typeTag)) { - var signature = getSignatureFromDeclaration(typeTag); - var pos = func.parameters.indexOf(declaration); - return declaration.dotDotDotToken ? getRestTypeAtPosition(signature, pos) : getTypeAtPosition(signature, pos); - } + var type_1 = getParameterTypeOfTypeTag(func, declaration); + if (type_1) + return type_1; } // Use contextual parameter type if one is available var type = declaration.symbol.escapedName === "this" /* This */ ? getContextualThisParameterType(func) : getContextuallyTypedParameterType(declaration); @@ -54487,7 +54855,7 @@ var ts; return containerObjectType; } } - var type = widenTypeInferredFromInitializer(declaration, checkDeclarationInitializer(declaration)); + var type = widenTypeInferredFromInitializer(declaration, checkDeclarationInitializer(declaration, checkMode)); return addOptionality(type, isProperty, isOptional); } if (ts.isPropertyDeclaration(declaration) && (noImplicitAny || ts.isInJSFile(declaration))) { @@ -54859,7 +55227,7 @@ var ts; // contextual type or, if the element itself is a binding pattern, with the type implied by that binding // pattern. var contextualType = ts.isBindingPattern(element.name) ? getTypeFromBindingPattern(element.name, /*includePatternInType*/ true, /*reportErrors*/ false) : unknownType; - return addOptionality(widenTypeInferredFromInitializer(element, checkDeclarationInitializer(element, contextualType))); + return addOptionality(widenTypeInferredFromInitializer(element, checkDeclarationInitializer(element, 0 /* Normal */, contextualType))); } if (ts.isBindingPattern(element.name)) { return getTypeFromBindingPattern(element.name, includePatternInType, reportErrors); @@ -54948,7 +55316,7 @@ var ts; // binding pattern [x, s = ""]. Because the contextual type is a tuple type, the resulting type of [1, "one"] is the // tuple type [number, string]. Thus, the type inferred for 'x' is number and the type inferred for 's' is string. function getWidenedTypeForVariableLikeDeclaration(declaration, reportErrors) { - return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true), declaration, reportErrors); + return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true, 0 /* Normal */), declaration, reportErrors); } function isGlobalSymbolConstructor(node) { var symbol = getSymbolOfNode(node); @@ -55037,9 +55405,9 @@ var ts; if (typeNode === undefined) { return useUnknownInCatchVariables ? unknownType : anyType; } - var type_1 = getTypeOfNode(typeNode); + var type_2 = getTypeOfNode(typeNode); // an errorType will make `checkTryStatement` issue an error - return isTypeAny(type_1) || type_1 === unknownType ? type_1 : errorType; + return isTypeAny(type_2) || type_2 === unknownType ? type_2 : errorType; } // Handle export default expressions if (ts.isSourceFile(declaration) && ts.isJsonSourceFile(declaration)) { @@ -55177,10 +55545,12 @@ var ts; if (writing === void 0) { writing = false; } var getter = ts.getDeclarationOfKind(symbol, 171 /* GetAccessor */); var setter = ts.getDeclarationOfKind(symbol, 172 /* SetAccessor */); - var setterType = getAnnotatedAccessorType(setter); // For write operations, prioritize type annotations on the setter - if (writing && setterType) { - return instantiateTypeIfNeeded(setterType, symbol); + if (writing) { + var setterType_1 = getAnnotatedAccessorType(setter); + if (setterType_1) { + return instantiateTypeIfNeeded(setterType_1, symbol); + } } // Else defer to the getter type if (getter && ts.isInJSFile(getter)) { @@ -55195,6 +55565,7 @@ var ts; return instantiateTypeIfNeeded(getterType, symbol); } // If the user didn't specify a return type, try to use the set-accessor's parameter type. + var setterType = getAnnotatedAccessorType(setter); if (setterType) { return setterType; } @@ -55265,11 +55636,11 @@ var ts; return errorType; } var exportEquals = getMergedSymbol(symbol.exports.get("export=" /* ExportEquals */)); - var type_2 = getWidenedTypeForAssignmentDeclaration(exportEquals, exportEquals === resolvedModule ? undefined : resolvedModule); + var type_3 = getWidenedTypeForAssignmentDeclaration(exportEquals, exportEquals === resolvedModule ? undefined : resolvedModule); if (!popTypeResolution()) { return reportCircularityError(symbol); } - return type_2; + return type_3; } } var type = createObjectType(16 /* Anonymous */, symbol); @@ -55343,6 +55714,39 @@ var ts; } return links.type; } + function getWriteTypeOfSymbolWithDeferredType(symbol) { + var links = getSymbolLinks(symbol); + if (!links.writeType && links.deferralWriteConstituents) { + ts.Debug.assertIsDefined(links.deferralParent); + ts.Debug.assertIsDefined(links.deferralConstituents); + links.writeType = links.deferralParent.flags & 1048576 /* Union */ ? getUnionType(links.deferralWriteConstituents) : getIntersectionType(links.deferralWriteConstituents); + } + return links.writeType; + } + /** + * Distinct write types come only from set accessors, but union and intersection + * properties deriving from set accessors will either pre-compute or defer the + * union or intersection of the writeTypes of their constituents. To account for + * this, we will assume that any deferred type or transient symbol may have a + * `writeType` (or a deferred write type ready to be computed) that should be + * used before looking for set accessor declarations. + */ + function getWriteTypeOfSymbol(symbol) { + var checkFlags = ts.getCheckFlags(symbol); + if (checkFlags & 65536 /* DeferredType */) { + var writeType = getWriteTypeOfSymbolWithDeferredType(symbol); + if (writeType) { + return writeType; + } + } + if (symbol.flags & 33554432 /* Transient */) { + var writeType = symbol.writeType; + if (writeType) { + return writeType; + } + } + return getSetAccessorTypeOfSymbol(symbol); + } function getSetAccessorTypeOfSymbol(symbol) { if (symbol.flags & 98304 /* Accessor */) { var type = getTypeOfSetAccessor(symbol); @@ -55540,7 +55944,8 @@ var ts; return false; } function getBaseTypeNodeOfClass(type) { - return ts.getEffectiveBaseTypeNode(type.symbol.valueDeclaration); + var decl = ts.getClassLikeDeclarationOfSymbol(type.symbol); + return decl && ts.getEffectiveBaseTypeNode(decl); } function getConstructorsForTypeArguments(type, typeArgumentNodes, location) { var typeArgCount = ts.length(typeArgumentNodes); @@ -55562,8 +55967,8 @@ var ts; */ function getBaseConstructorTypeOfClass(type) { if (!type.resolvedBaseConstructorType) { - var decl = type.symbol.valueDeclaration; - var extended = ts.getEffectiveBaseTypeNode(decl); + var decl = ts.getClassLikeDeclarationOfSymbol(type.symbol); + var extended = decl && ts.getEffectiveBaseTypeNode(decl); var baseTypeNode = getBaseTypeNodeOfClass(type); if (!baseTypeNode) { return type.resolvedBaseConstructorType = undefinedType; @@ -56679,7 +57084,7 @@ var ts; !leftName ? rightName : !rightName ? leftName : undefined; - var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i); + var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i)); paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType; params[i] = paramSymbol; } @@ -57290,6 +57695,11 @@ var ts; return simplified !== type ? simplified : getConstraintOfType(type); } function getConstraintFromIndexedAccess(type) { + if (isMappedTypeGenericIndexedAccess(type)) { + // For indexed access types of the form { [P in K]: E }[X], where K is non-generic and X is generic, + // we substitute an instantiation of E where P is replaced with X. + return substituteIndexedMappedType(type.objectType, type.indexType); + } var indexConstraint = getSimplifiedTypeOrConstraint(type.indexType); if (indexConstraint && indexConstraint !== type.indexType) { var indexedAccess = getIndexedAccessTypeOrUndefined(type.objectType, indexConstraint, type.accessFlags); @@ -57462,10 +57872,10 @@ var ts; var baseTypes = []; var different = false; for (var _i = 0, types_7 = types; _i < types_7.length; _i++) { - var type_3 = types_7[_i]; - var baseType = getBaseConstraint(type_3); + var type_4 = types_7[_i]; + var baseType = getBaseConstraint(type_4); if (baseType) { - if (baseType !== type_3) { + if (baseType !== type_4) { different = true; } baseTypes.push(baseType); @@ -57494,6 +57904,11 @@ var ts; return constraint ? getStringMappingType(t.symbol, constraint) : stringType; } if (t.flags & 8388608 /* IndexedAccess */) { + if (isMappedTypeGenericIndexedAccess(t)) { + // For indexed access types of the form { [P in K]: E }[X], where K is non-generic and X is generic, + // we substitute an instantiation of E where P is replaced with X. + return getBaseConstraint(substituteIndexedMappedType(t.objectType, t.indexType)); + } var baseObjectType = getBaseConstraint(t.objectType); var baseIndexType = getBaseConstraint(t.indexType); var baseIndexedAccess = baseObjectType && baseIndexType && getIndexedAccessTypeOrUndefined(baseObjectType, baseIndexType, t.accessFlags); @@ -57568,13 +57983,17 @@ var ts; } return type; } + function isMappedTypeGenericIndexedAccess(type) { + return type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(type.objectType) & 32 /* Mapped */ && + !isGenericMappedType(type.objectType) && isGenericIndexType(type.indexType); + } /** * For a type parameter, return the base constraint of the type parameter. For the string, number, * boolean, and symbol primitive types, return the corresponding object types. Otherwise return the * type itself. */ function getApparentType(type) { - var t = type.flags & 465829888 /* Instantiable */ ? getBaseConstraintOfType(type) || unknownType : type; + var t = !(type.flags & 465829888 /* Instantiable */) ? type : getBaseConstraintOfType(type) || unknownType; return ts.getObjectFlags(t) & 32 /* Mapped */ ? getApparentTypeOfMappedType(t) : t.flags & 2097152 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : t.flags & 402653316 /* StringLike */ ? globalStringType : @@ -57698,6 +58117,7 @@ var ts; var firstType; var nameType; var propTypes = []; + var writeTypes; var firstValueDeclaration; var hasNonUniformValueDeclaration = false; for (var _d = 0, props_1 = props; _d < props_1.length; _d++) { @@ -57714,6 +58134,10 @@ var ts; firstType = type; nameType = getSymbolLinks(prop).nameType; } + var writeType = getWriteTypeOfSymbol(prop); + if (writeTypes || writeType !== type) { + writeTypes = ts.append(!writeTypes ? propTypes.slice() : writeTypes, writeType); + } else if (type !== firstType) { checkFlags |= 64 /* HasNonUniformType */; } @@ -57742,9 +58166,13 @@ var ts; result.checkFlags |= 65536 /* DeferredType */; result.deferralParent = containingType; result.deferralConstituents = propTypes; + result.deferralWriteConstituents = writeTypes; } else { result.type = isUnion ? getUnionType(propTypes) : getIntersectionType(propTypes); + if (writeTypes) { + result.writeType = isUnion ? getUnionType(writeTypes) : getIntersectionType(writeTypes); + } } return result; } @@ -57912,7 +58340,7 @@ var ts; // signature applies to types assignable to 'number' and numeric string literal types. return isTypeAssignableTo(source, target) || target === stringType && isTypeAssignableTo(source, numberType) || - target === numberType && !!(source.flags & 128 /* StringLiteral */) && isNumericLiteralName(source.value); + target === numberType && !!(source.flags & 128 /* StringLiteral */) && ts.isNumericLiteralName(source.value); } function getIndexInfosOfStructuredType(type) { if (type.flags & 3670016 /* StructuredType */) { @@ -58160,6 +58588,13 @@ var ts; var typeTag = ts.getJSDocTypeTag(node); return (typeTag === null || typeTag === void 0 ? void 0 : typeTag.typeExpression) && getSingleCallSignature(getTypeFromTypeNode(typeTag.typeExpression)); } + function getParameterTypeOfTypeTag(func, parameter) { + var signature = getSignatureOfTypeTag(func); + if (!signature) + return undefined; + var pos = func.parameters.indexOf(parameter); + return parameter.dotDotDotToken ? getRestTypeAtPosition(signature, pos) : getTypeAtPosition(signature, pos); + } function getReturnTypeOfTypeTag(node) { var signature = getSignatureOfTypeTag(node); return signature && getReturnTypeOfSignature(signature); @@ -58190,6 +58625,8 @@ var ts; case 205 /* PropertyAccessExpression */: case 206 /* ElementAccessExpression */: return traverse(node.expression); + case 294 /* PropertyAssignment */: + return traverse(node.initializer); default: return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); } @@ -58598,7 +59035,7 @@ var ts; return result; } function getAliasId(aliasSymbol, aliasTypeArguments) { - return aliasSymbol ? "@" + getSymbolId(aliasSymbol) + (aliasTypeArguments ? ":" + getTypeListId(aliasTypeArguments) : "") : ""; + return aliasSymbol ? "@".concat(getSymbolId(aliasSymbol)) + (aliasTypeArguments ? ":".concat(getTypeListId(aliasTypeArguments)) : "") : ""; } // This function is used to propagate certain flags when creating new object type references and union types. // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type @@ -58784,7 +59221,7 @@ var ts; return undefined; } function getSymbolPath(symbol) { - return symbol.parent ? getSymbolPath(symbol.parent) + "." + symbol.escapedName : symbol.escapedName; + return symbol.parent ? "".concat(getSymbolPath(symbol.parent), ".").concat(symbol.escapedName) : symbol.escapedName; } function getUnresolvedSymbolForEntityName(name) { var identifier = name.kind === 160 /* QualifiedName */ ? name.right : @@ -58795,7 +59232,7 @@ var ts; var parentSymbol = name.kind === 160 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : name.kind === 205 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : undefined; - var path = parentSymbol ? getSymbolPath(parentSymbol) + "." + text : text; + var path = parentSymbol ? "".concat(getSymbolPath(parentSymbol), ".").concat(text) : text; var result = unresolvedSymbols.get(path); if (!result) { unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); @@ -58868,7 +59305,7 @@ var ts; if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) { return baseType; } - var id = getTypeId(baseType) + ">" + getTypeId(substitute); + var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(substitute)); var cached = substitutionTypes.get(id); if (cached) { return cached; @@ -58884,7 +59321,7 @@ var ts; } function getImpliedConstraint(type, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(type, checkNode.elements[0], extendsNode.elements[0]) : - getActualTypeVariable(getTypeFromTypeNode(checkNode)) === type ? getTypeFromTypeNode(extendsNode) : + getActualTypeVariable(getTypeFromTypeNode(checkNode)) === getActualTypeVariable(type) ? getTypeFromTypeNode(extendsNode) : undefined; } function getConditionalFlowTypeOfType(type, node) { @@ -59069,7 +59506,7 @@ var ts; } function getGlobalSymbol(name, meaning, diagnostic) { // Don't track references for global symbols anyway, so value if `isReference` is arbitrary - return resolveName(undefined, name, meaning, diagnostic, name, /*isUse*/ false); + return resolveName(undefined, name, meaning, diagnostic, name, /*isUse*/ false, /*excludeGlobals*/ false, /*getSpellingSuggestions*/ false); } function getGlobalType(name, arity, reportErrors) { var symbol = getGlobalTypeSymbol(name, reportErrors); @@ -59792,9 +60229,9 @@ var ts; return types[0]; } var typeKey = !origin ? getTypeListId(types) : - origin.flags & 1048576 /* Union */ ? "|" + getTypeListId(origin.types) : - origin.flags & 2097152 /* Intersection */ ? "&" + getTypeListId(origin.types) : - "#" + origin.type.id + "|" + getTypeListId(types); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving + origin.flags & 1048576 /* Union */ ? "|".concat(getTypeListId(origin.types)) : + origin.flags & 2097152 /* Intersection */ ? "&".concat(getTypeListId(origin.types)) : + "#".concat(origin.type.id, "|").concat(getTypeListId(types)); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving var id = typeKey + getAliasId(aliasSymbol, aliasTypeArguments); var type = unionTypes.get(id); if (!type) { @@ -60316,7 +60753,7 @@ var ts; if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* String */); })) { return stringType; } - var id = getTypeListId(newTypes) + "|" + ts.map(newTexts, function (t) { return t.length; }).join(",") + "|" + newTexts.join(""); + var id = "".concat(getTypeListId(newTypes), "|").concat(ts.map(newTexts, function (t) { return t.length; }).join(","), "|").concat(newTexts.join("")); var type = templateLiteralTypes.get(id); if (!type) { templateLiteralTypes.set(id, type = createTemplateLiteralType(newTexts, newTypes)); @@ -60376,7 +60813,7 @@ var ts; return str; } function getStringMappingTypeForGenericType(symbol, type) { - var id = getSymbolId(symbol) + "," + getTypeId(type); + var id = "".concat(getSymbolId(symbol), ",").concat(getTypeId(type)); var result = stringMappingTypes.get(id); if (!result) { stringMappingTypes.set(id, result = createStringMappingType(symbol, type)); @@ -60454,7 +60891,7 @@ var ts; } var prop = getPropertyOfType(objectType, propName); if (prop) { - if (accessFlags & 64 /* ReportDeprecated */ && accessNode && prop.declarations && getDeclarationNodeFlagsFromSymbol(prop) & 134217728 /* Deprecated */ && isUncalledFunctionReference(accessNode, prop)) { + if (accessFlags & 64 /* ReportDeprecated */ && accessNode && prop.declarations && isDeprecatedSymbol(prop) && isUncalledFunctionReference(accessNode, prop)) { var deprecatedNode = (_a = accessExpression === null || accessExpression === void 0 ? void 0 : accessExpression.argumentExpression) !== null && _a !== void 0 ? _a : (ts.isIndexedAccessTypeNode(accessNode) ? accessNode.indexType : accessNode); addDeprecatedSuggestion(deprecatedNode, prop.declarations, propName); } @@ -60476,7 +60913,7 @@ var ts; getFlowTypeOfReference(accessExpression, propType) : propType; } - if (everyType(objectType, isTupleType) && isNumericLiteralName(propName) && +propName >= 0) { + if (everyType(objectType, isTupleType) && ts.isNumericLiteralName(propName) && +propName >= 0) { if (accessNode && everyType(objectType, function (t) { return !t.target.hasRestElement; }) && !(accessFlags & 16 /* NoTupleBoundsCheck */)) { var indexNode = getIndexNodeForAccessExpression(accessNode); if (isTupleType(objectType)) { @@ -60648,9 +61085,6 @@ var ts; return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 8388608 /* IsGenericObjectType */ : 0) | (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 16777216 /* IsGenericIndexType */ : 0); } - function isThisTypeParameter(type) { - return !!(type.flags & 262144 /* TypeParameter */ && type.isThisType); - } function getSimplifiedType(type, writing) { return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : type.flags & 16777216 /* Conditional */ ? getSimplifiedConditionalType(type, writing) : @@ -60764,7 +61198,7 @@ var ts; return everyType(indexType, function (t) { if (t.flags & 384 /* StringOrNumberLiteral */) { var propName = getPropertyNameFromType(t); - if (isNumericLiteralName(propName)) { + if (ts.isNumericLiteralName(propName)) { var index = +propName; return index >= 0 && index < limit; } @@ -61294,7 +61728,7 @@ var ts; var declarations = ts.concatenate(leftProp.declarations, rightProp.declarations); var flags = 4 /* Property */ | (leftProp.flags & 16777216 /* Optional */); var result = createSymbol(flags, leftProp.escapedName); - result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)]); + result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* Subtype */); result.leftSpread = leftProp; result.rightSpread = rightProp; result.declarations = declarations; @@ -61396,7 +61830,7 @@ var ts; function createUniqueESSymbolType(symbol) { var type = createType(8192 /* UniqueESSymbol */); type.symbol = symbol; - type.escapedName = "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); + type.escapedName = "__@".concat(type.symbol.escapedName, "@").concat(getSymbolId(type.symbol)); return type; } function getESSymbolLikeTypeForNode(node) { @@ -62939,7 +63373,7 @@ var ts; return true; } if (source.flags & 524288 /* Object */ && target.flags & 524288 /* Object */) { - var related = relation.get(getRelationKey(source, target, 0 /* None */, relation)); + var related = relation.get(getRelationKey(source, target, 0 /* None */, relation, /*ignoreConstraints*/ false)); if (related !== undefined) { return !!(related & 1 /* Succeeded */); } @@ -62991,11 +63425,11 @@ var ts; var overflow = false; var overrideNextErrorInfo = 0; // How many `reportRelationError` calls should be skipped in the elaboration pyramid var lastSkippedInfo; - var incompatibleStack = []; + var incompatibleStack; var inPropertyCheck = false; ts.Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); var result = isRelatedTo(source, target, 3 /* Both */, /*reportErrors*/ !!errorNode, headMessage); - if (incompatibleStack.length) { + if (incompatibleStack) { reportIncompatibleStack(); } if (overflow) { @@ -63052,19 +63486,19 @@ var ts; return { errorInfo: errorInfo, lastSkippedInfo: lastSkippedInfo, - incompatibleStack: incompatibleStack.slice(), + incompatibleStack: incompatibleStack === null || incompatibleStack === void 0 ? void 0 : incompatibleStack.slice(), overrideNextErrorInfo: overrideNextErrorInfo, - relatedInfo: !relatedInfo ? undefined : relatedInfo.slice() + relatedInfo: relatedInfo === null || relatedInfo === void 0 ? void 0 : relatedInfo.slice(), }; } function reportIncompatibleError(message, arg0, arg1, arg2, arg3) { overrideNextErrorInfo++; // Suppress the next relation error lastSkippedInfo = undefined; // Reset skipped info cache - incompatibleStack.push([message, arg0, arg1, arg2, arg3]); + (incompatibleStack || (incompatibleStack = [])).push([message, arg0, arg1, arg2, arg3]); } function reportIncompatibleStack() { - var stack = incompatibleStack; - incompatibleStack = []; + var stack = incompatibleStack || []; + incompatibleStack = undefined; var info = lastSkippedInfo; lastSkippedInfo = undefined; if (stack.length === 1) { @@ -63085,24 +63519,24 @@ var ts; case ts.Diagnostics.Types_of_property_0_are_incompatible.code: { // Parenthesize a `new` if there is one if (path.indexOf("new ") === 0) { - path = "(" + path + ")"; + path = "(".concat(path, ")"); } var str = "" + args[0]; // If leading, just print back the arg (irrespective of if it's a valid identifier) if (path.length === 0) { - path = "" + str; + path = "".concat(str); } // Otherwise write a dotted name if possible else if (ts.isIdentifierText(str, ts.getEmitScriptTarget(compilerOptions))) { - path = path + "." + str; + path = "".concat(path, ".").concat(str); } // Failing that, check if the name is already a computed name else if (str[0] === "[" && str[str.length - 1] === "]") { - path = "" + path + str; + path = "".concat(path).concat(str); } // And finally write out a computed name as a last resort else { - path = path + "[" + str + "]"; + path = "".concat(path, "[").concat(str, "]"); } break; } @@ -63131,7 +63565,7 @@ var ts; msg.code === ts.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) ? "" : "..."; - path = "" + prefix + path + "(" + params + ")"; + path = "".concat(prefix).concat(path, "(").concat(params, ")"); } break; } @@ -63144,7 +63578,7 @@ var ts; break; } default: - return ts.Debug.fail("Unhandled Diagnostic: " + msg.code); + return ts.Debug.fail("Unhandled Diagnostic: ".concat(msg.code)); } } if (path) { @@ -63170,7 +63604,7 @@ var ts; } function reportError(message, arg0, arg1, arg2, arg3) { ts.Debug.assert(!!errorNode); - if (incompatibleStack.length) + if (incompatibleStack) reportIncompatibleStack(); if (message.elidedInCompatabilityPyramid) return; @@ -63186,7 +63620,7 @@ var ts; } } function reportRelationError(message, source, target) { - if (incompatibleStack.length) + if (incompatibleStack) reportIncompatibleStack(); var _a = getTypeNamesForErrorDisplay(source, target), sourceType = _a[0], targetType = _a[1]; var generalizedSource = source; @@ -63298,7 +63732,9 @@ var ts; if (isSimpleTypeRelatedTo(originalSource, originalTarget, relation, reportErrors ? reportError : undefined)) { return -1 /* True */; } - reportErrorResults(originalSource, originalTarget, 0 /* False */, !!(ts.getObjectFlags(originalSource) & 2048 /* JsxAttributes */)); + if (reportErrors) { + reportErrorResults(originalSource, originalTarget, originalSource, originalTarget, headMessage); + } return 0 /* False */; } // Normalize the source and target types: Turn fresh literal types into regular literal types, @@ -63310,7 +63746,12 @@ var ts; if (source === target) return -1 /* True */; if (relation === identityRelation) { - return isIdenticalTo(source, target, recursionFlags); + if (source.flags !== target.flags) + return 0 /* False */; + if (source.flags & 67358815 /* Singleton */) + return -1 /* True */; + traceUnionsOrIntersectionsTooLarge(source, target); + return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false, 0 /* None */, recursionFlags); } // We fastpath comparing a type parameter to exactly its constraint, as this is _super_ common, // and otherwise, for type parameters in large unions, causes us to need to compare the union to itself, @@ -63320,163 +63761,130 @@ var ts; if (source.flags & 262144 /* TypeParameter */ && getConstraintOfType(source) === target) { return -1 /* True */; } - // Try to see if we're relating something like `Foo` -> `Bar | null | undefined`. - // If so, reporting the `null` and `undefined` in the type is hardly useful. - // First, see if we're even relating an object type to a union. - // Then see if the target is stripped down to a single non-union type. - // Note - // * We actually want to remove null and undefined naively here (rather than using getNonNullableType), - // since we don't want to end up with a worse error like "`Foo` is not assignable to `NonNullable`" - // when dealing with generics. - // * We also don't deal with primitive source types, since we already halt elaboration below. - if (target.flags & 1048576 /* Union */ && source.flags & 524288 /* Object */ && - target.types.length <= 3 && maybeTypeOfKind(target, 98304 /* Nullable */)) { - var nullStrippedTarget = extractTypesOfKind(target, ~98304 /* Nullable */); - if (!(nullStrippedTarget.flags & (1048576 /* Union */ | 131072 /* Never */))) { - target = getNormalizedType(nullStrippedTarget, /*writing*/ true); - } - if (source === nullStrippedTarget) - return -1 /* True */; + // See if we're relating a definitely non-nullable type to a union that includes null and/or undefined + // plus a single non-nullable type. If so, remove null and/or undefined from the target type. + if (source.flags & 470302716 /* DefinitelyNonNullable */ && target.flags & 1048576 /* Union */) { + var types = target.types; + var candidate = types.length === 2 && types[0].flags & 98304 /* Nullable */ ? types[1] : + types.length === 3 && types[0].flags & 98304 /* Nullable */ && types[1].flags & 98304 /* Nullable */ ? types[2] : + undefined; + if (candidate && !(candidate.flags & 98304 /* Nullable */)) { + target = getNormalizedType(candidate, /*writing*/ true); + if (source === target) + return -1 /* True */; + } } if (relation === comparableRelation && !(target.flags & 131072 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1 /* True */; - var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* JsxAttributes */); - var isPerformingExcessPropertyChecks = !(intersectionState & 2 /* Target */) && (isObjectLiteralType(source) && ts.getObjectFlags(source) & 16384 /* FreshLiteral */); - if (isPerformingExcessPropertyChecks) { - if (hasExcessProperties(source, target, reportErrors)) { + if (source.flags & 469499904 /* StructuredOrInstantiable */ || target.flags & 469499904 /* StructuredOrInstantiable */) { + var isPerformingExcessPropertyChecks = !(intersectionState & 2 /* Target */) && (isObjectLiteralType(source) && ts.getObjectFlags(source) & 16384 /* FreshLiteral */); + if (isPerformingExcessPropertyChecks) { + if (hasExcessProperties(source, target, reportErrors)) { + if (reportErrors) { + reportRelationError(headMessage, source, originalTarget.aliasSymbol ? originalTarget : target); + } + return 0 /* False */; + } + } + var isPerformingCommonPropertyChecks = relation !== comparableRelation && !(intersectionState & 2 /* Target */) && + source.flags & (131068 /* Primitive */ | 524288 /* Object */ | 2097152 /* Intersection */) && source !== globalObjectType && + target.flags & (524288 /* Object */ | 2097152 /* Intersection */) && isWeakType(target) && + (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)); + var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* JsxAttributes */); + if (isPerformingCommonPropertyChecks && !hasCommonProperties(source, target, isComparingJsxAttributes)) { if (reportErrors) { - reportRelationError(headMessage, source, originalTarget.aliasSymbol ? originalTarget : target); + var sourceString = typeToString(originalSource.aliasSymbol ? originalSource : source); + var targetString = typeToString(originalTarget.aliasSymbol ? originalTarget : target); + var calls = getSignaturesOfType(source, 0 /* Call */); + var constructs = getSignaturesOfType(source, 1 /* Construct */); + if (calls.length > 0 && isRelatedTo(getReturnTypeOfSignature(calls[0]), target, 1 /* Source */, /*reportErrors*/ false) || + constructs.length > 0 && isRelatedTo(getReturnTypeOfSignature(constructs[0]), target, 1 /* Source */, /*reportErrors*/ false)) { + reportError(ts.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, sourceString, targetString); + } + else { + reportError(ts.Diagnostics.Type_0_has_no_properties_in_common_with_type_1, sourceString, targetString); + } } return 0 /* False */; } - } - var isPerformingCommonPropertyChecks = relation !== comparableRelation && !(intersectionState & 2 /* Target */) && - source.flags & (131068 /* Primitive */ | 524288 /* Object */ | 2097152 /* Intersection */) && source !== globalObjectType && - target.flags & (524288 /* Object */ | 2097152 /* Intersection */) && isWeakType(target) && - (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)); - if (isPerformingCommonPropertyChecks && !hasCommonProperties(source, target, isComparingJsxAttributes)) { - if (reportErrors) { - var sourceString = typeToString(originalSource.aliasSymbol ? originalSource : source); - var targetString = typeToString(originalTarget.aliasSymbol ? originalTarget : target); - var calls = getSignaturesOfType(source, 0 /* Call */); - var constructs = getSignaturesOfType(source, 1 /* Construct */); - if (calls.length > 0 && isRelatedTo(getReturnTypeOfSignature(calls[0]), target, 1 /* Source */, /*reportErrors*/ false) || - constructs.length > 0 && isRelatedTo(getReturnTypeOfSignature(constructs[0]), target, 1 /* Source */, /*reportErrors*/ false)) { - reportError(ts.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, sourceString, targetString); - } - else { - reportError(ts.Diagnostics.Type_0_has_no_properties_in_common_with_type_1, sourceString, targetString); - } + traceUnionsOrIntersectionsTooLarge(source, target); + var skipCaching = source.flags & 1048576 /* Union */ && source.types.length < 4 && !(target.flags & 1048576 /* Union */) || + target.flags & 1048576 /* Union */ && target.types.length < 4 && !(source.flags & 469499904 /* StructuredOrInstantiable */); + var result_7 = skipCaching ? + unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) : + recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags); + // For certain combinations involving intersections and optional, excess, or mismatched properties we need + // an extra property check where the intersection is viewed as a single object. The following are motivating + // examples that all should be errors, but aren't without this extra property check: + // + // let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property + // + // declare let wrong: { a: { y: string } }; + // let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type + // + // function foo(x: { a?: string }, y: T & { a: boolean }) { + // x = y; // Mismatched property in source intersection + // } + // + // We suppress recursive intersection property checks because they can generate lots of work when relating + // recursive intersections that are structurally similar but not exactly identical. See #37854. + if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || + isNonGenericObjectType(target) && !isArrayType(target) && !isTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 524288 /* NonInferrableType */); }))) { + inPropertyCheck = true; + result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags); + inPropertyCheck = false; + } + if (result_7) { + return result_7; } - return 0 /* False */; - } - traceUnionsOrIntersectionsTooLarge(source, target); - var result = 0 /* False */; - var saveErrorInfo = captureErrorCalculationState(); - if ((source.flags & 1048576 /* Union */ || target.flags & 1048576 /* Union */) && getConstituentCount(source) * getConstituentCount(target) < 4) { - // We skip caching when source or target is a union with no more than three constituents. - result = structuredTypeRelatedTo(source, target, reportErrors, intersectionState | 8 /* UnionIntersectionCheck */); } - else if (source.flags & 3145728 /* UnionOrIntersection */ || target.flags & 3145728 /* UnionOrIntersection */) { - result = recursiveTypeRelatedTo(source, target, reportErrors, intersectionState | 8 /* UnionIntersectionCheck */, recursionFlags); + if (reportErrors) { + reportErrorResults(originalSource, originalTarget, source, target, headMessage); } - if (!result && !(source.flags & 1048576 /* Union */) && (source.flags & (469499904 /* StructuredOrInstantiable */) || target.flags & 469499904 /* StructuredOrInstantiable */)) { - if (result = recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags)) { - resetErrorInfo(saveErrorInfo); + return 0 /* False */; + } + function reportErrorResults(originalSource, originalTarget, source, target, headMessage) { + var sourceHasBase = !!getSingleBaseForNonAugmentingSubtype(originalSource); + var targetHasBase = !!getSingleBaseForNonAugmentingSubtype(originalTarget); + source = (originalSource.aliasSymbol || sourceHasBase) ? originalSource : source; + target = (originalTarget.aliasSymbol || targetHasBase) ? originalTarget : target; + var maybeSuppress = overrideNextErrorInfo > 0; + if (maybeSuppress) { + overrideNextErrorInfo--; + } + if (source.flags & 524288 /* Object */ && target.flags & 524288 /* Object */) { + var currentError = errorInfo; + tryElaborateArrayLikeErrors(source, target, /*reportErrors*/ true); + if (errorInfo !== currentError) { + maybeSuppress = !!errorInfo; + } + } + if (source.flags & 524288 /* Object */ && target.flags & 131068 /* Primitive */) { + tryElaborateErrorsForPrimitivesAndObjects(source, target); + } + else if (source.symbol && source.flags & 524288 /* Object */ && globalObjectType === source) { + reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); + } + else if (ts.getObjectFlags(source) & 2048 /* JsxAttributes */ && target.flags & 2097152 /* Intersection */) { + var targetTypes = target.types; + var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); + var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); + if (!isErrorType(intrinsicAttributes) && !isErrorType(intrinsicClassAttributes) && + (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { + // do not report top error + return; } } - if (!result && source.flags & (2097152 /* Intersection */ | 262144 /* TypeParameter */)) { - // The combined constraint of an intersection type is the intersection of the constraints of - // the constituents. When an intersection type contains instantiable types with union type - // constraints, there are situations where we need to examine the combined constraint. One is - // when the target is a union type. Another is when the intersection contains types belonging - // to one of the disjoint domains. For example, given type variables T and U, each with the - // constraint 'string | number', the combined constraint of 'T & U' is 'string | number' and - // we need to check this constraint against a union on the target side. Also, given a type - // variable V constrained to 'string | number', 'V & number' has a combined constraint of - // 'string & number | number & number' which reduces to just 'number'. - // This also handles type parameters, as a type parameter with a union constraint compared against a union - // needs to have its constraint hoisted into an intersection with said type parameter, this way - // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) - // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` - var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* Union */)); - if (constraint && (source.flags & 2097152 /* Intersection */ || target.flags & 1048576 /* Union */)) { - if (everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself - // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this - if (result = isRelatedTo(constraint, target, 1 /* Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { - resetErrorInfo(saveErrorInfo); - } - } - } + else { + errorInfo = elaborateNeverIntersection(errorInfo, originalTarget); } - // For certain combinations involving intersections and optional, excess, or mismatched properties we need - // an extra property check where the intersection is viewed as a single object. The following are motivating - // examples that all should be errors, but aren't without this extra property check: - // - // let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property - // - // declare let wrong: { a: { y: string } }; - // let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type - // - // function foo(x: { a?: string }, y: T & { a: boolean }) { - // x = y; // Mismatched property in source intersection - // } - // - // We suppress recursive intersection property checks because they can generate lots of work when relating - // recursive intersections that are structurally similar but not exactly identical. See #37854. - if (result && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || - isNonGenericObjectType(target) && !isArrayType(target) && !isTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 524288 /* NonInferrableType */); }))) { - inPropertyCheck = true; - result &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags); - inPropertyCheck = false; - } - reportErrorResults(source, target, result, isComparingJsxAttributes); - return result; - function reportErrorResults(source, target, result, isComparingJsxAttributes) { - if (!result && reportErrors) { - var sourceHasBase = !!getSingleBaseForNonAugmentingSubtype(originalSource); - var targetHasBase = !!getSingleBaseForNonAugmentingSubtype(originalTarget); - source = (originalSource.aliasSymbol || sourceHasBase) ? originalSource : source; - target = (originalTarget.aliasSymbol || targetHasBase) ? originalTarget : target; - var maybeSuppress = overrideNextErrorInfo > 0; - if (maybeSuppress) { - overrideNextErrorInfo--; - } - if (source.flags & 524288 /* Object */ && target.flags & 524288 /* Object */) { - var currentError = errorInfo; - tryElaborateArrayLikeErrors(source, target, reportErrors); - if (errorInfo !== currentError) { - maybeSuppress = !!errorInfo; - } - } - if (source.flags & 524288 /* Object */ && target.flags & 131068 /* Primitive */) { - tryElaborateErrorsForPrimitivesAndObjects(source, target); - } - else if (source.symbol && source.flags & 524288 /* Object */ && globalObjectType === source) { - reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); - } - else if (isComparingJsxAttributes && target.flags & 2097152 /* Intersection */) { - var targetTypes = target.types; - var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); - var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); - if (!isErrorType(intrinsicAttributes) && !isErrorType(intrinsicClassAttributes) && - (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) { - // do not report top error - return result; - } - } - else { - errorInfo = elaborateNeverIntersection(errorInfo, originalTarget); - } - if (!headMessage && maybeSuppress) { - lastSkippedInfo = [source, target]; - // Used by, eg, missing property checking to replace the top-level message with a more informative one - return result; - } - reportRelationError(headMessage, source, target); - } + if (!headMessage && maybeSuppress) { + lastSkippedInfo = [source, target]; + // Used by, eg, missing property checking to replace the top-level message with a more informative one + return; } + reportRelationError(headMessage, source, target); } function traceUnionsOrIntersectionsTooLarge(source, target) { if (!ts.tracing) { @@ -63503,21 +63911,6 @@ var ts; } } } - function isIdenticalTo(source, target, recursionFlags) { - if (source.flags !== target.flags) - return 0 /* False */; - if (source.flags & 67358815 /* Singleton */) - return -1 /* True */; - traceUnionsOrIntersectionsTooLarge(source, target); - if (source.flags & 3145728 /* UnionOrIntersection */) { - var result_7 = eachTypeRelatedToSomeType(source, target); - if (result_7) { - result_7 &= eachTypeRelatedToSomeType(target, source); - } - return result_7; - } - return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false, 0 /* None */, recursionFlags); - } function getTypeOfPropertyInTypes(types, name) { var appendPropType = function (propTypes, type) { var _a; @@ -63616,6 +64009,41 @@ var ts; function shouldCheckAsExcessProperty(prop, container) { return prop.valueDeclaration && container.valueDeclaration && prop.valueDeclaration.parent === container.valueDeclaration; } + function unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) { + // Note that these checks are specifically ordered to produce correct results. In particular, + // we need to deconstruct unions before intersections (because unions are always at the top), + // and we need to handle "each" relations before "some" relations for the same kind of type. + if (source.flags & 1048576 /* Union */) { + return relation === comparableRelation ? + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* Primitive */), intersectionState) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* Primitive */), intersectionState); + } + if (target.flags & 1048576 /* Union */) { + return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(source), target, reportErrors && !(source.flags & 131068 /* Primitive */) && !(target.flags & 131068 /* Primitive */)); + } + if (target.flags & 2097152 /* Intersection */) { + return typeRelatedToEachType(getRegularTypeOfObjectLiteral(source), target, reportErrors, 2 /* Target */); + } + // Source is an intersection. For the comparable relation, if the target is a primitive type we hoist the + // constraints of all non-primitive types in the source into a new intersection. We do this because the + // intersection may further constrain the constraints of the non-primitive types. For example, given a type + // parameter 'T extends 1 | 2', the intersection 'T & 1' should be reduced to '1' such that it doesn't + // appear to be comparable to '2'. + if (relation === comparableRelation && target.flags & 131068 /* Primitive */) { + var constraints = ts.sameMap(source.types, getBaseConstraintOrType); + if (constraints !== source.types) { + source = getIntersectionType(constraints); + if (!(source.flags & 2097152 /* Intersection */)) { + return isRelatedTo(source, target, 1 /* Source */, /*reportErrors*/ false); + } + } + } + // Check to see if any constituents of the intersection are immediately related to the target. + // Don't report errors though. Elaborating on whether a source constituent is related to the target is + // not actually useful and leads to some confusing error messages. Instead, we rely on the caller + // checking whether the full intersection viewed as an object is related to the target. + return someTypeRelatedToType(source, target, /*reportErrors*/ false, 1 /* Source */); + } function eachTypeRelatedToSomeType(source, target) { var result = -1 /* True */; var sourceTypes = source.types; @@ -63651,8 +64079,11 @@ var ts; } } if (reportErrors) { + // Elaborate only if we can find a best matching type in the target union var bestMatchingType = getBestMatchingType(source, target, isRelatedTo); - isRelatedTo(source, bestMatchingType || targetTypes[targetTypes.length - 1], 2 /* Target */, /*reportErrors*/ true); + if (bestMatchingType) { + isRelatedTo(source, bestMatchingType, 2 /* Target */, /*reportErrors*/ true); + } } return 0 /* False */; } @@ -63788,7 +64219,8 @@ var ts; if (overflow) { return 0 /* False */; } - var id = getRelationKey(source, target, intersectionState | (inPropertyCheck ? 16 /* InPropertyCheck */ : 0), relation); + var keyIntersectionState = intersectionState | (inPropertyCheck ? 8 /* InPropertyCheck */ : 0); + var id = getRelationKey(source, target, keyIntersectionState, relation, /*ingnoreConstraints*/ false); var entry = relation.get(id); if (entry !== undefined) { if (reportErrors && entry & 2 /* Failed */ && !(entry & 4 /* Reported */)) { @@ -63815,16 +64247,13 @@ var ts; targetStack = []; } else { - // generate a key where all type parameter id positions are replaced with unconstrained type parameter ids - // this isn't perfect - nested type references passed as type arguments will muck up the indexes and thus - // prevent finding matches- but it should hit up the common cases - var broadestEquivalentId = id.split(",").map(function (i) { return i.replace(/-\d+/g, function (_match, offset) { - var index = ts.length(id.slice(0, offset).match(/[-=]/g) || undefined); - return "=" + index; - }); }).join(","); + // A key that starts with "*" is an indication that we have type references that reference constrained + // type parameters. For such keys we also check against the key we would have gotten if all type parameters + // were unconstrained. + var broadestEquivalentId = id.startsWith("*") ? getRelationKey(source, target, keyIntersectionState, relation, /*ignoreConstraints*/ true) : undefined; for (var i = 0; i < maybeCount; i++) { // If source and target are already being compared, consider them related with assumptions - if (id === maybeKeys[i] || broadestEquivalentId === maybeKeys[i]) { + if (id === maybeKeys[i] || broadestEquivalentId && broadestEquivalentId === maybeKeys[i]) { return 3 /* Maybe */; } } @@ -63858,6 +64287,7 @@ var ts; return originalHandler(onlyUnreliable); }; } + var result; if (expandingFlags === 3 /* Both */) { ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "recursiveTypeRelatedTo_DepthLimit", { sourceId: source.id, @@ -63867,8 +64297,13 @@ var ts; depth: sourceDepth, targetDepth: targetDepth }); + result = 3 /* Maybe */; + } + else { + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* CheckTypes */, "structuredTypeRelatedTo", { sourceId: source.id, targetId: target.id }); + result = structuredTypeRelatedTo(source, target, reportErrors, intersectionState); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } - var result = expandingFlags !== 3 /* Both */ ? structuredTypeRelatedTo(source, target, reportErrors, intersectionState) : 3 /* Maybe */; if (outofbandVarianceMarkerHandler) { outofbandVarianceMarkerHandler = originalHandler; } @@ -63900,98 +64335,97 @@ var ts; return result; } function structuredTypeRelatedTo(source, target, reportErrors, intersectionState) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* CheckTypes */, "structuredTypeRelatedTo", { sourceId: source.id, targetId: target.id }); - var result = structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); - return result; - } - function structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState) { if (intersectionState & 4 /* PropertyCheck */) { return propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, 0 /* None */); } - if (intersectionState & 8 /* UnionIntersectionCheck */) { - // Note that these checks are specifically ordered to produce correct results. In particular, - // we need to deconstruct unions before intersections (because unions are always at the top), - // and we need to handle "each" relations before "some" relations for the same kind of type. - if (source.flags & 1048576 /* Union */) { - return relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* Primitive */), intersectionState & ~8 /* UnionIntersectionCheck */) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* Primitive */), intersectionState & ~8 /* UnionIntersectionCheck */); - } - if (target.flags & 1048576 /* Union */) { - return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(source), target, reportErrors && !(source.flags & 131068 /* Primitive */) && !(target.flags & 131068 /* Primitive */)); - } - if (target.flags & 2097152 /* Intersection */) { - return typeRelatedToEachType(getRegularTypeOfObjectLiteral(source), target, reportErrors, 2 /* Target */); - } - // Source is an intersection. For the comparable relation, if the target is a primitive type we hoist the - // constraints of all non-primitive types in the source into a new intersection. We do this because the - // intersection may further constrain the constraints of the non-primitive types. For example, given a type - // parameter 'T extends 1 | 2', the intersection 'T & 1' should be reduced to '1' such that it doesn't - // appear to be comparable to '2'. - if (relation === comparableRelation && target.flags & 131068 /* Primitive */) { - var constraints = ts.sameMap(source.types, getBaseConstraintOrType); - if (constraints !== source.types) { - source = getIntersectionType(constraints); - if (!(source.flags & 2097152 /* Intersection */)) { - return isRelatedTo(source, target, 1 /* Source */, /*reportErrors*/ false); - } + var result; + var originalErrorInfo; + var varianceCheckFailed = false; + var saveErrorInfo = captureErrorCalculationState(); + var sourceFlags = source.flags; + var targetFlags = target.flags; + if (relation === identityRelation) { + // We've already checked that source.flags and target.flags are identical + if (sourceFlags & 3145728 /* UnionOrIntersection */) { + var result_8 = eachTypeRelatedToSomeType(source, target); + if (result_8) { + result_8 &= eachTypeRelatedToSomeType(target, source); } + return result_8; } - // Check to see if any constituents of the intersection are immediately related to the target. - // - // Don't report errors though. Checking whether a constituent is related to the source is not actually - // useful and leads to some confusing error messages. Instead it is better to let the below checks - // take care of this, or to not elaborate at all. For instance, - // - // - For an object type (such as 'C = A & B'), users are usually more interested in structural errors. - // - // - For a union type (such as '(A | B) = (C & D)'), it's better to hold onto the whole intersection - // than to report that 'D' is not assignable to 'A' or 'B'. - // - // - For a primitive type or type parameter (such as 'number = A & B') there is no point in - // breaking the intersection apart. - return someTypeRelatedToType(source, target, /*reportErrors*/ false, 1 /* Source */); - } - var flags = source.flags & target.flags; - if (relation === identityRelation && !(flags & 524288 /* Object */)) { - if (flags & 4194304 /* Index */) { + if (sourceFlags & 4194304 /* Index */) { return isRelatedTo(source.type, target.type, 3 /* Both */, /*reportErrors*/ false); } - var result_8 = 0 /* False */; - if (flags & 8388608 /* IndexedAccess */) { - if (result_8 = isRelatedTo(source.objectType, target.objectType, 3 /* Both */, /*reportErrors*/ false)) { - if (result_8 &= isRelatedTo(source.indexType, target.indexType, 3 /* Both */, /*reportErrors*/ false)) { - return result_8; + if (sourceFlags & 8388608 /* IndexedAccess */) { + if (result = isRelatedTo(source.objectType, target.objectType, 3 /* Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(source.indexType, target.indexType, 3 /* Both */, /*reportErrors*/ false)) { + return result; } } } - if (flags & 16777216 /* Conditional */) { + if (sourceFlags & 16777216 /* Conditional */) { if (source.root.isDistributive === target.root.isDistributive) { - if (result_8 = isRelatedTo(source.checkType, target.checkType, 3 /* Both */, /*reportErrors*/ false)) { - if (result_8 &= isRelatedTo(source.extendsType, target.extendsType, 3 /* Both */, /*reportErrors*/ false)) { - if (result_8 &= isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), 3 /* Both */, /*reportErrors*/ false)) { - if (result_8 &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* Both */, /*reportErrors*/ false)) { - return result_8; + if (result = isRelatedTo(source.checkType, target.checkType, 3 /* Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(source.extendsType, target.extendsType, 3 /* Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), 3 /* Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* Both */, /*reportErrors*/ false)) { + return result; } } } } } } - if (flags & 33554432 /* Substitution */) { + if (sourceFlags & 33554432 /* Substitution */) { return isRelatedTo(source.substitute, target.substitute, 3 /* Both */, /*reportErrors*/ false); } - return 0 /* False */; + if (!(sourceFlags & 524288 /* Object */)) { + return 0 /* False */; + } + } + else if (sourceFlags & 3145728 /* UnionOrIntersection */ || targetFlags & 3145728 /* UnionOrIntersection */) { + if (result = unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState)) { + return result; + } + if (source.flags & 2097152 /* Intersection */ || source.flags & 262144 /* TypeParameter */ && target.flags & 1048576 /* Union */) { + // The combined constraint of an intersection type is the intersection of the constraints of + // the constituents. When an intersection type contains instantiable types with union type + // constraints, there are situations where we need to examine the combined constraint. One is + // when the target is a union type. Another is when the intersection contains types belonging + // to one of the disjoint domains. For example, given type variables T and U, each with the + // constraint 'string | number', the combined constraint of 'T & U' is 'string | number' and + // we need to check this constraint against a union on the target side. Also, given a type + // variable V constrained to 'string | number', 'V & number' has a combined constraint of + // 'string & number | number & number' which reduces to just 'number'. + // This also handles type parameters, as a type parameter with a union constraint compared against a union + // needs to have its constraint hoisted into an intersection with said type parameter, this way + // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) + // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` + var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* Union */)); + if (constraint && everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself + // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this + if (result = isRelatedTo(constraint, target, 1 /* Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { + resetErrorInfo(saveErrorInfo); + return result; + } + } + } + // The ordered decomposition above doesn't handle all cases. Specifically, we also need to handle: + // Source is instantiable (e.g. source has union or intersection constraint). + // Source is an object, target is a union (e.g. { a, b: boolean } <=> { a, b: true } | { a, b: false }). + // Source is an intersection, target is an object (e.g. { a } & { b } <=> { a, b }). + // Source is an intersection, target is a union (e.g. { a } & { b: boolean } <=> { a, b: true } | { a, b: false }). + // Source is an intersection, target instantiable (e.g. string & { tag } <=> T["a"] constrained to string & { tag }). + if (!(sourceFlags & 465829888 /* Instantiable */ || + sourceFlags & 524288 /* Object */ && targetFlags & 1048576 /* Union */ || + sourceFlags & 2097152 /* Intersection */ && targetFlags & (524288 /* Object */ | 1048576 /* Union */ | 465829888 /* Instantiable */))) { + return 0 /* False */; + } } - var result; - var originalErrorInfo; - var varianceCheckFailed = false; - var saveErrorInfo = captureErrorCalculationState(); // We limit alias variance probing to only object and conditional types since their alias behavior // is more predictable than other, interned types, which may or may not have an alias depending on // the order in which things were checked. - if (source.flags & (524288 /* Object */ | 16777216 /* Conditional */) && source.aliasSymbol && + if (sourceFlags & (524288 /* Object */ | 16777216 /* Conditional */) && source.aliasSymbol && source.aliasTypeArguments && source.aliasSymbol === target.aliasSymbol && !(source.aliasTypeArgumentsContainsMarker || target.aliasTypeArgumentsContainsMarker)) { var variances = getAliasVariances(source.aliasSymbol); @@ -64009,7 +64443,7 @@ var ts; isSingleElementGenericTupleType(target) && (target.target.readonly || isMutableArrayOrTuple(getBaseConstraintOfType(source) || source)) && (result = isRelatedTo(source, getTypeArguments(target)[0], 2 /* Target */))) { return result; } - if (target.flags & 262144 /* TypeParameter */) { + if (targetFlags & 262144 /* TypeParameter */) { // A source type { [P in Q]: X } is related to a target type T if keyof T is related to Q and X is related to T[Q]. if (ts.getObjectFlags(source) & 32 /* Mapped */ && !source.declaration.nameType && isRelatedTo(getIndexType(target), getConstraintTypeFromMappedType(source), 3 /* Both */)) { if (!(getMappedTypeModifiers(source) & 4 /* IncludeOptional */)) { @@ -64021,10 +64455,10 @@ var ts; } } } - else if (target.flags & 4194304 /* Index */) { + else if (targetFlags & 4194304 /* Index */) { var targetType_1 = target.type; // A keyof S is related to a keyof T if T is related to S. - if (source.flags & 4194304 /* Index */) { + if (sourceFlags & 4194304 /* Index */) { if (result = isRelatedTo(targetType_1, source.type, 3 /* Both */, /*reportErrors*/ false)) { return result; } @@ -64075,8 +64509,8 @@ var ts; } } } - else if (target.flags & 8388608 /* IndexedAccess */) { - if (source.flags & 8388608 /* IndexedAccess */) { + else if (targetFlags & 8388608 /* IndexedAccess */) { + if (sourceFlags & 8388608 /* IndexedAccess */) { // Relate components directly before falling back to constraint relationships // A type S[K] is related to a type T[J] if S is related to T and K is related to J. if (result = isRelatedTo(source.objectType, target.objectType, 3 /* Both */, reportErrors)) { @@ -64182,7 +64616,7 @@ var ts; } } } - else if (target.flags & 16777216 /* Conditional */) { + else if (targetFlags & 16777216 /* Conditional */) { // If we reach 10 levels of nesting for the same conditional type, assume it is an infinitely expanding recursive // conditional type and bail out with a Ternary.Maybe result. if (isDeeplyNestedType(target, targetStack, targetDepth, 10)) { @@ -64207,8 +64641,8 @@ var ts; } } } - else if (target.flags & 134217728 /* TemplateLiteral */) { - if (source.flags & 134217728 /* TemplateLiteral */) { + else if (targetFlags & 134217728 /* TemplateLiteral */) { + if (sourceFlags & 134217728 /* TemplateLiteral */) { if (relation === comparableRelation) { return templateLiteralTypesDefinitelyUnrelated(source, target) ? 0 /* False */ : -1 /* True */; } @@ -64220,11 +64654,11 @@ var ts; return -1 /* True */; } } - if (source.flags & 8650752 /* TypeVariable */) { - // IndexedAccess comparisons are handled above in the `target.flags & TypeFlage.IndexedAccess` branch - if (!(source.flags & 8388608 /* IndexedAccess */ && target.flags & 8388608 /* IndexedAccess */)) { + if (sourceFlags & 8650752 /* TypeVariable */) { + // IndexedAccess comparisons are handled above in the `targetFlags & TypeFlage.IndexedAccess` branch + if (!(sourceFlags & 8388608 /* IndexedAccess */ && targetFlags & 8388608 /* IndexedAccess */)) { var constraint = getConstraintOfType(source); - if (!constraint || (source.flags & 262144 /* TypeParameter */ && constraint.flags & 1 /* Any */)) { + if (!constraint || (sourceFlags & 262144 /* TypeParameter */ && constraint.flags & 1 /* Any */)) { // A type variable with no constraint is not related to the non-primitive object type. if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* NonPrimitive */), 3 /* Both */)) { resetErrorInfo(saveErrorInfo); @@ -64237,20 +64671,31 @@ var ts; return result; } // slower, fuller, this-instantiated check (necessary when comparing raw `this` types from base classes), see `subclassWithPolymorphicThisIsAssignable.ts` test for example - else if (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* Source */, reportErrors && !(target.flags & source.flags & 262144 /* TypeParameter */), /*headMessage*/ undefined, intersectionState)) { + else if (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* Source */, reportErrors && !(targetFlags & sourceFlags & 262144 /* TypeParameter */), /*headMessage*/ undefined, intersectionState)) { resetErrorInfo(saveErrorInfo); return result; } + if (isMappedTypeGenericIndexedAccess(source)) { + // For an indexed access type { [P in K]: E}[X], above we have already explored an instantiation of E with X + // substituted for P. We also want to explore type { [P in K]: E }[C], where C is the constraint of X. + var indexConstraint = getConstraintOfType(source.indexType); + if (indexConstraint) { + if (result = isRelatedTo(getIndexedAccessType(source.objectType, indexConstraint), target, 1 /* Source */, reportErrors)) { + resetErrorInfo(saveErrorInfo); + return result; + } + } + } } } - else if (source.flags & 4194304 /* Index */) { + else if (sourceFlags & 4194304 /* Index */) { if (result = isRelatedTo(keyofConstraintType, target, 1 /* Source */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; } } - else if (source.flags & 134217728 /* TemplateLiteral */ && !(target.flags & 524288 /* Object */)) { - if (!(target.flags & 134217728 /* TemplateLiteral */)) { + else if (sourceFlags & 134217728 /* TemplateLiteral */ && !(targetFlags & 524288 /* Object */)) { + if (!(targetFlags & 134217728 /* TemplateLiteral */)) { var constraint = getBaseConstraintOfType(source); if (constraint && constraint !== source && (result = isRelatedTo(constraint, target, 1 /* Source */, reportErrors))) { resetErrorInfo(saveErrorInfo); @@ -64258,8 +64703,8 @@ var ts; } } } - else if (source.flags & 268435456 /* StringMapping */) { - if (target.flags & 268435456 /* StringMapping */ && source.symbol === target.symbol) { + else if (sourceFlags & 268435456 /* StringMapping */) { + if (targetFlags & 268435456 /* StringMapping */ && source.symbol === target.symbol) { if (result = isRelatedTo(source.type, target.type, 3 /* Both */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; @@ -64273,14 +64718,14 @@ var ts; } } } - else if (source.flags & 16777216 /* Conditional */) { + else if (sourceFlags & 16777216 /* Conditional */) { // If we reach 10 levels of nesting for the same conditional type, assume it is an infinitely expanding recursive // conditional type and bail out with a Ternary.Maybe result. if (isDeeplyNestedType(source, sourceStack, sourceDepth, 10)) { resetErrorInfo(saveErrorInfo); return 3 /* Maybe */; } - if (target.flags & 16777216 /* Conditional */) { + if (targetFlags & 16777216 /* Conditional */) { // Two conditional types 'T1 extends U1 ? X1 : Y1' and 'T2 extends U2 ? X2 : Y2' are related if // one of T1 and T2 is related to the other, U1 and U2 are identical types, X1 is related to X2, // and Y1 is related to Y2. @@ -64308,7 +64753,7 @@ var ts; else { // conditionals aren't related to one another via distributive constraint as it is much too inaccurate and allows way // more assignments than are desirable (since it maps the source check type to its constraint, it loses information) - var distributiveConstraint = getConstraintOfDistributiveConditionalType(source); + var distributiveConstraint = hasNonCircularBaseConstraint(source) ? getConstraintOfDistributiveConditionalType(source) : undefined; if (distributiveConstraint) { if (result = isRelatedTo(distributiveConstraint, target, 1 /* Source */, reportErrors)) { resetErrorInfo(saveErrorInfo); @@ -64340,9 +64785,10 @@ var ts; } return 0 /* False */; } - var sourceIsPrimitive = !!(source.flags & 131068 /* Primitive */); + var sourceIsPrimitive = !!(sourceFlags & 131068 /* Primitive */); if (relation !== identityRelation) { source = getApparentType(source); + sourceFlags = source.flags; } else if (isGenericMappedType(source)) { return 0 /* False */; @@ -64384,7 +64830,7 @@ var ts; // In a check of the form X = A & B, we will have previously checked if A relates to X or B relates // to X. Failing both of those we want to check if the aggregation of A and B's members structurally // relates to X. Thus, we include intersection types on the source side here. - if (source.flags & (524288 /* Object */ | 2097152 /* Intersection */) && target.flags & 524288 /* Object */) { + if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 524288 /* Object */) { // Report structural errors only if we haven't reported any errors yet var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo.errorInfo && !sourceIsPrimitive; result = propertiesRelatedTo(source, target, reportStructuralErrors, /*excludedProperties*/ undefined, intersectionState); @@ -64408,7 +64854,7 @@ var ts; // there exists a constituent of T for every combination of the discriminants of S // with respect to T. We do not report errors here, as we will use the existing // error result from checking each constituent of the union. - if (source.flags & (524288 /* Object */ | 2097152 /* Intersection */) && target.flags & 1048576 /* Union */) { + if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) { var objectOnlyTarget = extractTypesOfKind(target, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */); if (objectOnlyTarget.flags & 1048576 /* Union */) { var result_9 = typeRelatedToDiscriminatedType(source, objectOnlyTarget); @@ -64854,7 +65300,7 @@ var ts; for (var _b = 0, _c = excludeProperties(properties, excludedProperties); _b < _c.length; _b++) { var targetProp = _c[_b]; var name = targetProp.escapedName; - if (!(targetProp.flags & 4194304 /* Prototype */) && (!numericNamesOnly || isNumericLiteralName(name) || name === "length")) { + if (!(targetProp.flags & 4194304 /* Prototype */) && (!numericNamesOnly || ts.isNumericLiteralName(name) || name === "length")) { var sourceProp = getPropertyOfType(source, name); if (sourceProp && sourceProp !== targetProp) { var related = propertyRelatedTo(source, target, sourceProp, targetProp, getNonMissingTypeOfSymbol, reportErrors, intersectionState, relation === comparableRelation); @@ -64923,11 +65369,11 @@ var ts; } } var result = -1 /* True */; - var saveErrorInfo = captureErrorCalculationState(); var incompatibleReporter = kind === 1 /* Construct */ ? reportIncompatibleConstructSignatureReturn : reportIncompatibleCallSignatureReturn; var sourceObjectFlags = ts.getObjectFlags(source); var targetObjectFlags = ts.getObjectFlags(target); - if (sourceObjectFlags & 64 /* Instantiated */ && targetObjectFlags & 64 /* Instantiated */ && source.symbol === target.symbol) { + if (sourceObjectFlags & 64 /* Instantiated */ && targetObjectFlags & 64 /* Instantiated */ && source.symbol === target.symbol || + sourceObjectFlags & 4 /* Reference */ && targetObjectFlags & 4 /* Reference */ && source.target === target.target) { // We have instantiations of the same anonymous type (which typically will be the type of a // method). Simply do a pairwise comparison of the signatures in the two signature lists instead // of the much more expensive N * M comparison matrix we explore below. We erase type parameters @@ -64963,6 +65409,7 @@ var ts; else { outer: for (var _i = 0, targetSignatures_1 = targetSignatures; _i < targetSignatures_1.length; _i++) { var t = targetSignatures_1[_i]; + var saveErrorInfo = captureErrorCalculationState(); // Only elaborate errors from the first failure var shouldElaborateErrors = reportErrors; for (var _c = 0, sourceSignatures_1 = sourceSignatures; _c < sourceSignatures_1.length; _c++) { @@ -65331,48 +65778,56 @@ var ts; function isTypeReferenceWithGenericArguments(type) { return isNonDeferredTypeReference(type) && ts.some(getTypeArguments(type), function (t) { return !!(t.flags & 262144 /* TypeParameter */) || isTypeReferenceWithGenericArguments(t); }); } - /** - * getTypeReferenceId(A) returns "111=0-12=1" - * where A.id=111 and number.id=12 - */ - function getTypeReferenceId(type, typeParameters, depth) { - if (depth === void 0) { depth = 0; } - var result = "" + type.target.id; - for (var _i = 0, _a = getTypeArguments(type); _i < _a.length; _i++) { - var t = _a[_i]; - if (isUnconstrainedTypeParameter(t)) { - var index = typeParameters.indexOf(t); - if (index < 0) { - index = typeParameters.length; - typeParameters.push(t); + function getGenericTypeReferenceRelationKey(source, target, postFix, ignoreConstraints) { + var typeParameters = []; + var constraintMarker = ""; + var sourceId = getTypeReferenceId(source, 0); + var targetId = getTypeReferenceId(target, 0); + return "".concat(constraintMarker).concat(sourceId, ",").concat(targetId).concat(postFix); + // getTypeReferenceId(A) returns "111=0-12=1" + // where A.id=111 and number.id=12 + function getTypeReferenceId(type, depth) { + if (depth === void 0) { depth = 0; } + var result = "" + type.target.id; + for (var _i = 0, _a = getTypeArguments(type); _i < _a.length; _i++) { + var t = _a[_i]; + if (t.flags & 262144 /* TypeParameter */) { + if (ignoreConstraints || isUnconstrainedTypeParameter(t)) { + var index = typeParameters.indexOf(t); + if (index < 0) { + index = typeParameters.length; + typeParameters.push(t); + } + result += "=" + index; + continue; + } + // We mark type references that reference constrained type parameters such that we know to obtain + // and look for a "broadest equivalent key" in the cache. + constraintMarker = "*"; + } + else if (depth < 4 && isTypeReferenceWithGenericArguments(t)) { + result += "<" + getTypeReferenceId(t, depth + 1) + ">"; + continue; } - result += "=" + index; - } - else if (depth < 4 && isTypeReferenceWithGenericArguments(t)) { - result += "<" + getTypeReferenceId(t, typeParameters, depth + 1) + ">"; - } - else { result += "-" + t.id; } + return result; } - return result; } /** * To improve caching, the relation key for two generic types uses the target's id plus ids of the type parameters. * For other cases, the types ids are used. */ - function getRelationKey(source, target, intersectionState, relation) { + function getRelationKey(source, target, intersectionState, relation, ignoreConstraints) { if (relation === identityRelation && source.id > target.id) { var temp = source; source = target; target = temp; } var postFix = intersectionState ? ":" + intersectionState : ""; - if (isTypeReferenceWithGenericArguments(source) && isTypeReferenceWithGenericArguments(target)) { - var typeParameters = []; - return getTypeReferenceId(source, typeParameters) + "," + getTypeReferenceId(target, typeParameters) + postFix; - } - return source.id + "," + target.id + postFix; + return isTypeReferenceWithGenericArguments(source) && isTypeReferenceWithGenericArguments(target) ? + getGenericTypeReferenceRelationKey(source, target, postFix, ignoreConstraints) : + "".concat(source.id, ",").concat(target.id).concat(postFix); } // Invoke the callback for each underlying property symbol of the given symbol and return the first // value that isn't undefined. @@ -65420,28 +65875,35 @@ var ts; !hasBaseType(checkClass, getDeclaringClass(p)) : false; }) ? undefined : checkClass; } // Return true if the given type is deeply nested. We consider this to be the case when structural type comparisons - // for 5 or more occurrences or instantiations of the type have been recorded on the given stack. It is possible, + // for maxDepth or more occurrences or instantiations of the type have been recorded on the given stack. It is possible, // though highly unlikely, for this test to be true in a situation where a chain of instantiations is not infinitely - // expanding. Effectively, we will generate a false positive when two types are structurally equal to at least 5 + // expanding. Effectively, we will generate a false positive when two types are structurally equal to at least maxDepth // levels, but unequal at some level beyond that. - // In addition, this will also detect when an indexed access has been chained off of 5 or more times (which is essentially - // the dual of the structural comparison), and likewise mark the type as deeply nested, potentially adding false positives - // for finite but deeply expanding indexed accesses (eg, for `Q[P1][P2][P3][P4][P5]`). - // It also detects when a recursive type reference has expanded 5 or more times, eg, if the true branch of + // In addition, this will also detect when an indexed access has been chained off of maxDepth more times (which is + // essentially the dual of the structural comparison), and likewise mark the type as deeply nested, potentially adding + // false positives for finite but deeply expanding indexed accesses (eg, for `Q[P1][P2][P3][P4][P5]`). + // It also detects when a recursive type reference has expanded maxDepth or more times, e.g. if the true branch of // `type A = null extends T ? [A>] : [T]` - // has expanded into `[A>>>>>]` - // in such cases we need to terminate the expansion, and we do so here. + // has expanded into `[A>>>>>]`. In such cases we need + // to terminate the expansion, and we do so here. function isDeeplyNestedType(type, stack, depth, maxDepth) { - if (maxDepth === void 0) { maxDepth = 5; } + if (maxDepth === void 0) { maxDepth = 3; } if (depth >= maxDepth) { var identity_1 = getRecursionIdentity(type); var count = 0; + var lastTypeId = 0; for (var i = 0; i < depth; i++) { - if (getRecursionIdentity(stack[i]) === identity_1) { - count++; - if (count >= maxDepth) { - return true; + var t = stack[i]; + if (getRecursionIdentity(t) === identity_1) { + // We only count occurrences with a higher type id than the previous occurrence, since higher + // type ids are an indicator of newer instantiations caused by recursion. + if (t.id >= lastTypeId) { + count++; + if (count >= maxDepth) { + return true; + } } + lastTypeId = t.id; } } } @@ -65736,7 +66198,7 @@ var ts; } function getBaseTypeOfLiteralType(type) { return type.flags & 1024 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 128 /* StringLiteral */ ? stringType : + type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & 256 /* NumberLiteral */ ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : @@ -65947,9 +66409,12 @@ var ts; * with no call or construct signatures. */ function isObjectTypeWithInferableIndex(type) { - return type.flags & 2097152 /* Intersection */ ? ts.every(type.types, isObjectTypeWithInferableIndex) : - !!(type.symbol && (type.symbol.flags & (4096 /* ObjectLiteral */ | 2048 /* TypeLiteral */ | 384 /* Enum */ | 512 /* ValueModule */)) !== 0 && - !typeHasCallOrConstructSignatures(type)) || !!(ts.getObjectFlags(type) & 1024 /* ReverseMapped */ && isObjectTypeWithInferableIndex(type.source)); + return type.flags & 2097152 /* Intersection */ + ? ts.every(type.types, isObjectTypeWithInferableIndex) + : !!(type.symbol + && (type.symbol.flags & (4096 /* ObjectLiteral */ | 2048 /* TypeLiteral */ | 384 /* Enum */ | 512 /* ValueModule */)) !== 0 + && !(type.symbol.flags & 32 /* Class */) + && !typeHasCallOrConstructSignatures(type)) || !!(ts.getObjectFlags(type) & 1024 /* ReverseMapped */ && isObjectTypeWithInferableIndex(type.source)); } function createSymbolWithType(source, type) { var symbol = createSymbol(source.flags, source.escapedName, ts.getCheckFlags(source) & 8 /* Readonly */); @@ -66749,12 +67214,14 @@ var ts; // not contain anyFunctionType when we come back to this argument for its second round // of inference. Also, we exclude inferences for silentNeverType (which is used as a wildcard // when constructing types from type parameters that had no inference candidates). - if (ts.getObjectFlags(source) & 524288 /* NonInferrableType */ || source === nonInferrableAnyType || source === silentNeverType || - (priority & 128 /* ReturnType */ && (source === autoType || source === autoArrayType)) || isFromInferenceBlockedSource(source)) { + if (source === nonInferrableAnyType || source === silentNeverType || (priority & 128 /* ReturnType */ && (source === autoType || source === autoArrayType)) || isFromInferenceBlockedSource(source)) { return; } var inference = getInferenceInfoForType(target); if (inference) { + if (ts.getObjectFlags(source) & 524288 /* NonInferrableType */) { + return; + } if (!inference.isFixed) { if (inference.priority === undefined || priority < inference.priority) { inference.candidates = undefined; @@ -66785,21 +67252,19 @@ var ts; inferencePriority = Math.min(inferencePriority, priority); return; } - else { - // Infer to the simplified version of an indexed access, if possible, to (hopefully) expose more bare type parameters to the inference engine - var simplified = getSimplifiedType(target, /*writing*/ false); - if (simplified !== target) { - invokeOnce(source, simplified, inferFromTypes); - } - else if (target.flags & 8388608 /* IndexedAccess */) { - var indexType = getSimplifiedType(target.indexType, /*writing*/ false); - // Generally simplifications of instantiable indexes are avoided to keep relationship checking correct, however if our target is an access, we can consider - // that key of that access to be "instantiated", since we're looking to find the infernce goal in any way we can. - if (indexType.flags & 465829888 /* Instantiable */) { - var simplified_1 = distributeIndexOverObjectType(getSimplifiedType(target.objectType, /*writing*/ false), indexType, /*writing*/ false); - if (simplified_1 && simplified_1 !== target) { - invokeOnce(source, simplified_1, inferFromTypes); - } + // Infer to the simplified version of an indexed access, if possible, to (hopefully) expose more bare type parameters to the inference engine + var simplified = getSimplifiedType(target, /*writing*/ false); + if (simplified !== target) { + inferFromTypes(source, simplified); + } + else if (target.flags & 8388608 /* IndexedAccess */) { + var indexType = getSimplifiedType(target.indexType, /*writing*/ false); + // Generally simplifications of instantiable indexes are avoided to keep relationship checking correct, however if our target is an access, we can consider + // that key of that access to be "instantiated", since we're looking to find the infernce goal in any way we can. + if (indexType.flags & 465829888 /* Instantiable */) { + var simplified_1 = distributeIndexOverObjectType(getSimplifiedType(target.objectType, /*writing*/ false), indexType, /*writing*/ false); + if (simplified_1 && simplified_1 !== target) { + inferFromTypes(source, simplified_1); } } } @@ -67451,6 +67916,11 @@ var ts; case "BigInt64Array": case "BigUint64Array": return ts.Diagnostics.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later; + case "await": + if (ts.isCallExpression(node.parent)) { + return ts.Diagnostics.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function; + } + // falls through default: if (node.parent.kind === 295 /* ShorthandPropertyAssignment */) { return ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer; @@ -67484,11 +67954,11 @@ var ts; case 79 /* Identifier */: if (!ts.isThisInTypeQuery(node)) { var symbol = getResolvedSymbol(node); - return symbol !== unknownSymbol ? (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType) + "|" + getSymbolId(symbol) : undefined; + return symbol !== unknownSymbol ? "".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType), "|").concat(getSymbolId(symbol)) : undefined; } // falls through case 108 /* ThisKeyword */: - return "0|" + (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType); + return "0|".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType)); case 229 /* NonNullExpression */: case 211 /* ParenthesizedExpression */: return getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); @@ -67547,35 +68017,13 @@ var ts; } return false; } - function getPropertyAccess(expr) { - if (ts.isAccessExpression(expr)) { - return expr; - } - if (ts.isIdentifier(expr)) { - var symbol = getResolvedSymbol(expr); - if (isConstVariable(symbol)) { - var declaration = symbol.valueDeclaration; - // Given 'const x = obj.kind', allow 'x' as an alias for 'obj.kind' - if (ts.isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && ts.isAccessExpression(declaration.initializer)) { - return declaration.initializer; - } - // Given 'const { kind: x } = obj', allow 'x' as an alias for 'obj.kind' - if (ts.isBindingElement(declaration) && !declaration.initializer) { - var parent = declaration.parent.parent; - if (ts.isVariableDeclaration(parent) && !parent.type && parent.initializer && (ts.isIdentifier(parent.initializer) || ts.isAccessExpression(parent.initializer))) { - return declaration; - } - } - } - } - return undefined; - } function getAccessedPropertyName(access) { var propertyName; return access.kind === 205 /* PropertyAccessExpression */ ? access.name.escapedText : access.kind === 206 /* ElementAccessExpression */ && ts.isStringOrNumericLiteralLike(access.argumentExpression) ? ts.escapeLeadingUnderscores(access.argumentExpression.text) : access.kind === 202 /* BindingElement */ && (propertyName = getDestructuringPropertyName(access)) ? ts.escapeLeadingUnderscores(propertyName) : - undefined; + access.kind === 163 /* Parameter */ ? ("" + access.parent.parameters.indexOf(access)) : + undefined; } function containsMatchingReference(source, target) { while (ts.isAccessExpression(source)) { @@ -67808,7 +68256,10 @@ var ts; (type === falseType || type === regularFalseType) ? 12121864 /* FalseStrictFacts */ : 7927560 /* TrueStrictFacts */ : (type === falseType || type === regularFalseType) ? 12580616 /* FalseFacts */ : 16774920 /* TrueFacts */; } - if (flags & 524288 /* Object */ && !ignoreObjects) { + if (flags & 524288 /* Object */) { + if (ignoreObjects) { + return 16768959 /* AndFactsMask */; // This is the identity element for computing type facts of intersection. + } return ts.getObjectFlags(type) & 16 /* Anonymous */ && isEmptyObjectType(type) ? strictNullChecks ? 16318463 /* EmptyObjectStrictFacts */ : 16777215 /* EmptyObjectFacts */ : isFunctionObjectType(type) ? @@ -67841,10 +68292,23 @@ var ts; // When an intersection contains a primitive type we ignore object type constituents as they are // presumably type tags. For example, in string & { __kind__: "name" } we ignore the object type. ignoreObjects || (ignoreObjects = maybeTypeOfKind(type, 131068 /* Primitive */)); - return ts.reduceLeft(type.types, function (facts, t) { return facts & getTypeFacts(t, ignoreObjects); }, 16777215 /* All */); + return getIntersectionTypeFacts(type, ignoreObjects); } return 16777215 /* All */; } + function getIntersectionTypeFacts(type, ignoreObjects) { + // When computing the type facts of an intersection type, certain type facts are computed as `and` + // and others are computed as `or`. + var oredFacts = 0 /* None */; + var andedFacts = 16777215 /* All */; + for (var _i = 0, _a = type.types; _i < _a.length; _i++) { + var t = _a[_i]; + var f = getTypeFacts(t, ignoreObjects); + oredFacts |= f; + andedFacts &= f; + } + return oredFacts & 8256 /* OrFactsMask */ | andedFacts & 16768959 /* AndFactsMask */; + } function getTypeWithFacts(type, include) { return filterType(type, function (t) { return (getTypeFacts(t) & include) !== 0; }); } @@ -68116,9 +68580,6 @@ var ts; getUnionType(ts.map(type.types, mapper), 1 /* Literal */, aliasSymbol, aliasTypeArguments) : mapType(type, mapper); } - function getConstituentCount(type) { - return type.flags & 1048576 /* Union */ ? type.types.length : 1; - } function extractTypesOfKind(type, kind) { return filterType(type, function (t) { return (t.flags & kind) !== 0; }); } @@ -68468,20 +68929,21 @@ var ts; } return false; } - function getFlowTypeOfReference(reference, declaredType, initialType, flowContainer) { + function getFlowTypeOfReference(reference, declaredType, initialType, flowContainer, flowNode) { if (initialType === void 0) { initialType = declaredType; } + if (flowNode === void 0) { flowNode = reference.flowNode; } var key; var isKeySet = false; var flowDepth = 0; if (flowAnalysisDisabled) { return errorType; } - if (!reference.flowNode) { + if (!flowNode) { return declaredType; } flowInvocationCount++; var sharedFlowStart = sharedFlowCount; - var evolvedType = getTypeFromFlowType(getTypeAtFlowNode(reference.flowNode)); + var evolvedType = getTypeFromFlowType(getTypeAtFlowNode(flowNode)); sharedFlowCount = sharedFlowStart; // When the reference is 'x' in an 'x.length', 'x.push(value)', 'x.unshift(value)' or x[n] = value' operation, // we give type 'any[]' to 'x' instead of using the type determined by control flow analysis such that operations @@ -68913,13 +69375,58 @@ var ts; } return result; } + function getCandidateDiscriminantPropertyAccess(expr) { + if (ts.isBindingPattern(reference) || ts.isFunctionExpressionOrArrowFunction(reference)) { + // When the reference is a binding pattern or function or arrow expression, we are narrowing a pesudo-reference in + // getNarrowedTypeOfSymbol. An identifier for a destructuring variable declared in the same binding pattern or + // parameter declared in the same parameter list is a candidate. + if (ts.isIdentifier(expr)) { + var symbol = getResolvedSymbol(expr); + var declaration = symbol.valueDeclaration; + if (declaration && (ts.isBindingElement(declaration) || ts.isParameter(declaration)) && reference === declaration.parent && !declaration.initializer && !declaration.dotDotDotToken) { + return declaration; + } + } + } + else if (ts.isAccessExpression(expr)) { + // An access expression is a candidate if the reference matches the left hand expression. + if (isMatchingReference(reference, expr.expression)) { + return expr; + } + } + else if (ts.isIdentifier(expr)) { + var symbol = getResolvedSymbol(expr); + if (isConstVariable(symbol)) { + var declaration = symbol.valueDeclaration; + // Given 'const x = obj.kind', allow 'x' as an alias for 'obj.kind' + if (ts.isVariableDeclaration(declaration) && !declaration.type && declaration.initializer && ts.isAccessExpression(declaration.initializer) && + isMatchingReference(reference, declaration.initializer.expression)) { + return declaration.initializer; + } + // Given 'const { kind: x } = obj', allow 'x' as an alias for 'obj.kind' + if (ts.isBindingElement(declaration) && !declaration.initializer) { + var parent = declaration.parent.parent; + if (ts.isVariableDeclaration(parent) && !parent.type && parent.initializer && (ts.isIdentifier(parent.initializer) || ts.isAccessExpression(parent.initializer)) && + isMatchingReference(reference, parent.initializer)) { + return declaration; + } + } + } + } + return undefined; + } function getDiscriminantPropertyAccess(expr, computedType) { - var access, name; var type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType; - return type.flags & 1048576 /* Union */ && (access = getPropertyAccess(expr)) && (name = getAccessedPropertyName(access)) && - isMatchingReference(reference, ts.isAccessExpression(access) ? access.expression : access.parent.parent.initializer) && - isDiscriminantProperty(type, name) ? - access : undefined; + if (type.flags & 1048576 /* Union */) { + var access = getCandidateDiscriminantPropertyAccess(expr); + if (access) { + var name = getAccessedPropertyName(access); + if (name && isDiscriminantProperty(type, name)) { + return access; + } + } + } + return undefined; } function narrowTypeByDiscriminant(type, access, narrowType) { var propName = getAccessedPropertyName(access); @@ -68986,7 +69493,7 @@ var ts; function narrowByInKeyword(type, name, assumeTrue) { if (type.flags & 1048576 /* Union */ || type.flags & 524288 /* Object */ && declaredType !== type - || isThisTypeParameter(type) + || ts.isThisTypeParameter(type) || type.flags & 2097152 /* Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) { return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); }); } @@ -69623,12 +70130,16 @@ var ts; function isGenericTypeWithoutNullableConstraint(type) { return !!(type.flags & 465829888 /* Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* Nullable */)); } - function hasNonBindingPatternContextualTypeWithNoGenericTypes(node) { + function hasContextualTypeWithNoGenericTypes(node, checkMode) { // Computing the contextual type for a child of a JSX element involves resolving the type of the // element's tag name, so we exclude that here to avoid circularities. + // If check mode has `CheckMode.RestBindingElement`, we skip binding pattern contextual types, + // as we want the type of a rest element to be generic when possible. var contextualType = (ts.isIdentifier(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) && !((ts.isJsxOpeningElement(node.parent) || ts.isJsxSelfClosingElement(node.parent)) && node.parent.tagName === node) && - getContextualType(node, 8 /* SkipBindingPatterns */); + (checkMode && checkMode & 32 /* RestBindingElement */ ? + getContextualType(node, 8 /* SkipBindingPatterns */) + : getContextualType(node)); return contextualType && !isGenericType(contextualType); } function getNarrowableTypeForReference(type, reference, checkMode) { @@ -69641,7 +70152,7 @@ var ts; // 'string | undefined' to give control flow analysis the opportunity to narrow to type 'string'. var substituteConstraints = !(checkMode && checkMode & 2 /* Inferential */) && someType(type, isGenericTypeWithUnionConstraint) && - (isConstraintPosition(type, reference) || hasNonBindingPatternContextualTypeWithNoGenericTypes(reference)); + (isConstraintPosition(type, reference) || hasContextualTypeWithNoGenericTypes(reference, checkMode)); return substituteConstraints ? mapType(type, function (t) { return t.flags & 465829888 /* Instantiable */ ? getBaseConstraintOrType(t) : t; }) : type; } function isExportOrExportExpression(location) { @@ -69677,7 +70188,92 @@ var ts; } } } + function getNarrowedTypeOfSymbol(symbol, location) { + var declaration = symbol.valueDeclaration; + if (declaration) { + // If we have a non-rest binding element with no initializer declared as a const variable or a const-like + // parameter (a parameter for which there are no assignments in the function body), and if the parent type + // for the destructuring is a union type, one or more of the binding elements may represent discriminant + // properties, and we want the effects of conditional checks on such discriminants to affect the types of + // other binding elements from the same destructuring. Consider: + // + // type Action = + // | { kind: 'A', payload: number } + // | { kind: 'B', payload: string }; + // + // function f({ kind, payload }: Action) { + // if (kind === 'A') { + // payload.toFixed(); + // } + // if (kind === 'B') { + // payload.toUpperCase(); + // } + // } + // + // Above, we want the conditional checks on 'kind' to affect the type of 'payload'. To facilitate this, we use + // the binding pattern AST instance for '{ kind, payload }' as a pseudo-reference and narrow this reference + // as if it occurred in the specified location. We then recompute the narrowed binding element type by + // destructuring from the narrowed parent type. + if (ts.isBindingElement(declaration) && !declaration.initializer && !declaration.dotDotDotToken && declaration.parent.elements.length >= 2) { + var parent = declaration.parent.parent; + if (parent.kind === 253 /* VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || parent.kind === 163 /* Parameter */) { + var links = getNodeLinks(location); + if (!(links.flags & 268435456 /* InCheckIdentifier */)) { + links.flags |= 268435456 /* InCheckIdentifier */; + var parentType = getTypeForBindingElementParent(parent, 0 /* Normal */); + links.flags &= ~268435456 /* InCheckIdentifier */; + if (parentType && parentType.flags & 1048576 /* Union */ && !(parent.kind === 163 /* Parameter */ && isSymbolAssigned(symbol))) { + var pattern = declaration.parent; + var narrowedType = getFlowTypeOfReference(pattern, parentType, parentType, /*flowContainer*/ undefined, location.flowNode); + if (narrowedType.flags & 131072 /* Never */) { + return neverType; + } + return getBindingElementTypeFromParentType(declaration, narrowedType); + } + } + } + } + // If we have a const-like parameter with no type annotation or initializer, and if the parameter is contextually + // typed by a signature with a single rest parameter of a union of tuple types, one or more of the parameters may + // represent discriminant tuple elements, and we want the effects of conditional checks on such discriminants to + // affect the types of other parameters in the same parameter list. Consider: + // + // type Action = [kind: 'A', payload: number] | [kind: 'B', payload: string]; + // + // const f: (...args: Action) => void = (kind, payload) => { + // if (kind === 'A') { + // payload.toFixed(); + // } + // if (kind === 'B') { + // payload.toUpperCase(); + // } + // } + // + // Above, we want the conditional checks on 'kind' to affect the type of 'payload'. To facilitate this, we use + // the arrow function AST node for '(kind, payload) => ...' as a pseudo-reference and narrow this reference as + // if it occurred in the specified location. We then recompute the narrowed parameter type by indexing into the + // narrowed tuple type. + if (ts.isParameter(declaration) && !declaration.type && !declaration.initializer && !declaration.dotDotDotToken) { + var func = declaration.parent; + if (func.parameters.length >= 2 && isContextSensitiveFunctionOrObjectLiteralMethod(func)) { + var contextualSignature = getContextualSignature(func); + if (contextualSignature && contextualSignature.parameters.length === 1 && signatureHasRestParameter(contextualSignature)) { + var restType = getTypeOfSymbol(contextualSignature.parameters[0]); + if (restType.flags & 1048576 /* Union */ && everyType(restType, isTupleType) && !isSymbolAssigned(symbol)) { + var narrowedType = getFlowTypeOfReference(func, restType, restType, /*flowContainer*/ undefined, location.flowNode); + var index = func.parameters.indexOf(declaration) - (ts.getThisParameter(func) ? 1 : 0); + return getIndexedAccessType(narrowedType, getNumberLiteralType(index)); + } + } + } + } + } + return getTypeOfSymbol(symbol); + } function checkIdentifier(node, checkMode) { + if (ts.isThisInTypeQuery(node)) { + return checkThisExpression(node); + } var symbol = getResolvedSymbol(node); if (symbol === unknownSymbol) { return errorType; @@ -69711,9 +70307,9 @@ var ts; markAliasReferenced(symbol, node); } var localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); - var sourceSymbol = localOrExportSymbol.flags & 2097152 /* Alias */ ? resolveAlias(localOrExportSymbol) : localOrExportSymbol; - if (sourceSymbol.declarations && getDeclarationNodeFlagsFromSymbol(sourceSymbol) & 134217728 /* Deprecated */ && isUncalledFunctionReference(node, sourceSymbol)) { - addDeprecatedSuggestion(node, sourceSymbol.declarations, node.escapedText); + var targetSymbol = checkDeprecatedAliasedSymbol(localOrExportSymbol, node); + if (isDeprecatedSymbol(targetSymbol) && isUncalledFunctionReference(node, targetSymbol) && targetSymbol.declarations) { + addDeprecatedSuggestion(node, targetSymbol.declarations, node.escapedText); } var declaration = localOrExportSymbol.valueDeclaration; if (declaration && localOrExportSymbol.flags & 32 /* Class */) { @@ -69750,7 +70346,7 @@ var ts; } } checkNestedBlockScopedBinding(node, symbol); - var type = getTypeOfSymbol(localOrExportSymbol); + var type = getNarrowedTypeOfSymbol(localOrExportSymbol, node); var assignmentKind = ts.getAssignmentTargetKind(node); if (assignmentKind) { if (!(localOrExportSymbol.flags & 3 /* Variable */) && @@ -70480,7 +71076,7 @@ var ts; var parent = declaration.parent.parent; var name = declaration.propertyName || declaration.name; var parentType = getContextualTypeForVariableLikeDeclaration(parent) || - parent.kind !== 202 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent); + parent.kind !== 202 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 32 /* RestBindingElement */ : 0 /* Normal */); if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name)) return undefined; if (parent.name.kind === 201 /* ArrayBindingPattern */) { @@ -70793,13 +71389,13 @@ var ts; function isCircularMappedProperty(symbol) { return !!(ts.getCheckFlags(symbol) & 262144 /* Mapped */ && !symbol.type && findResolutionCycleStartIndex(symbol, 0 /* Type */) >= 0); } - function getTypeOfPropertyOfContextualType(type, name) { + function getTypeOfPropertyOfContextualType(type, name, nameType) { return mapType(type, function (t) { var _a; if (isGenericMappedType(t)) { var constraint = getConstraintTypeFromMappedType(t); var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint; - var propertyNameType = getStringLiteralType(ts.unescapeLeadingUnderscores(name)); + var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)); if (isTypeAssignableTo(propertyNameType, constraintOfConstraint)) { return substituteIndexedMappedType(t, propertyNameType); } @@ -70811,11 +71407,11 @@ var ts; } if (isTupleType(t)) { var restType = getRestTypeOfTupleType(t); - if (restType && isNumericLiteralName(name) && +name >= 0) { + if (restType && ts.isNumericLiteralName(name) && +name >= 0) { return restType; } } - return (_a = findApplicableIndexInfo(getIndexInfosOfStructuredType(t), getStringLiteralType(ts.unescapeLeadingUnderscores(name)))) === null || _a === void 0 ? void 0 : _a.type; + return (_a = findApplicableIndexInfo(getIndexInfosOfStructuredType(t), nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)))) === null || _a === void 0 ? void 0 : _a.type; } return undefined; }, /*noReductions*/ true); @@ -70843,7 +71439,8 @@ var ts; // For a (non-symbol) computed property, there is no reason to look up the name // in the type. It will just be "__computed", which does not appear in any // SymbolTable. - return getTypeOfPropertyOfContextualType(type, getSymbolOfNode(element).escapedName); + var symbol = getSymbolOfNode(element); + return getTypeOfPropertyOfContextualType(type, symbol.escapedName, getSymbolLinks(symbol).nameType); } if (element.name) { var nameType_2 = getLiteralTypeFromPropertyName(element.name); @@ -71250,7 +71847,7 @@ var ts; !leftName ? rightName : !rightName ? leftName : undefined; - var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i); + var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i)); paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType; params[i] = paramSymbol; } @@ -71451,10 +72048,10 @@ var ts; case 161 /* ComputedPropertyName */: return isNumericComputedName(name); case 79 /* Identifier */: - return isNumericLiteralName(name.escapedText); + return ts.isNumericLiteralName(name.escapedText); case 8 /* NumericLiteral */: case 10 /* StringLiteral */: - return isNumericLiteralName(name.text); + return ts.isNumericLiteralName(name.text); default: return false; } @@ -71464,35 +72061,12 @@ var ts; // but this behavior is consistent with checkIndexedAccess return isTypeAssignableToKind(checkComputedPropertyName(name), 296 /* NumberLike */); } - function isNumericLiteralName(name) { - // The intent of numeric names is that - // - they are names with text in a numeric form, and that - // - setting properties/indexing with them is always equivalent to doing so with the numeric literal 'numLit', - // acquired by applying the abstract 'ToNumber' operation on the name's text. - // - // The subtlety is in the latter portion, as we cannot reliably say that anything that looks like a numeric literal is a numeric name. - // In fact, it is the case that the text of the name must be equal to 'ToString(numLit)' for this to hold. - // - // Consider the property name '"0xF00D"'. When one indexes with '0xF00D', they are actually indexing with the value of 'ToString(0xF00D)' - // according to the ECMAScript specification, so it is actually as if the user indexed with the string '"61453"'. - // Thus, the text of all numeric literals equivalent to '61543' such as '0xF00D', '0xf00D', '0170015', etc. are not valid numeric names - // because their 'ToString' representation is not equal to their original text. - // This is motivated by ECMA-262 sections 9.3.1, 9.8.1, 11.1.5, and 11.2.1. - // - // Here, we test whether 'ToString(ToNumber(name))' is exactly equal to 'name'. - // The '+' prefix operator is equivalent here to applying the abstract ToNumber operation. - // Applying the 'toString()' method on a number gives us the abstract ToString operation on a number. - // - // Note that this accepts the values 'Infinity', '-Infinity', and 'NaN', and that this is intentional. - // This is desired behavior, because when indexing with them as numeric entities, you are indexing - // with the strings '"Infinity"', '"-Infinity"', and '"NaN"' respectively. - return (+name).toString() === name; - } function checkComputedPropertyName(node) { var links = getNodeLinks(node.expression); if (!links.resolvedType) { if ((ts.isTypeLiteralNode(node.parent.parent) || ts.isClassLike(node.parent.parent) || ts.isInterfaceDeclaration(node.parent.parent)) - && ts.isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 101 /* InKeyword */) { + && ts.isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 101 /* InKeyword */ + && node.parent.kind !== 171 /* GetAccessor */ && node.parent.kind !== 172 /* SetAccessor */) { return links.resolvedType = errorType; } links.resolvedType = checkExpression(node.expression); @@ -71523,7 +72097,7 @@ var ts; function isSymbolWithNumericName(symbol) { var _a; var firstDecl = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a[0]; - return isNumericLiteralName(symbol.escapedName) || (firstDecl && ts.isNamedDeclaration(firstDecl) && isNumericName(firstDecl.name)); + return ts.isNumericLiteralName(symbol.escapedName) || (firstDecl && ts.isNamedDeclaration(firstDecl) && isNumericName(firstDecl.name)); } function isSymbolWithSymbolName(symbol) { var _a; @@ -71762,15 +72336,9 @@ var ts; } } function isValidSpreadType(type) { - if (type.flags & 465829888 /* Instantiable */) { - var constraint = getBaseConstraintOfType(type); - if (constraint !== undefined) { - return isValidSpreadType(constraint); - } - } - return !!(type.flags & (1 /* Any */ | 67108864 /* NonPrimitive */ | 524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) || - getFalsyFlags(type) & 117632 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) || - type.flags & 3145728 /* UnionOrIntersection */ && ts.every(type.types, isValidSpreadType)); + var t = removeDefinitelyFalsyTypes(mapType(type, getBaseConstraintOrType)); + return !!(t.flags & (1 /* Any */ | 67108864 /* NonPrimitive */ | 524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) || + t.flags & 3145728 /* UnionOrIntersection */ && ts.every(t.types, isValidSpreadType)); } function checkJsxSelfClosingElementDeferred(node) { checkJsxOpeningLikeElementOrOpeningFragment(node); @@ -72575,11 +73143,14 @@ var ts; if (!ts.getContainingClass(privId)) { return grammarErrorOnNode(privId, ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies); } - if (!ts.isExpressionNode(privId)) { - return grammarErrorOnNode(privId, ts.Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression); - } - if (!getSymbolForPrivateIdentifierExpression(privId)) { - return grammarErrorOnNode(privId, ts.Diagnostics.Cannot_find_name_0, ts.idText(privId)); + if (!ts.isForInStatement(privId.parent)) { + if (!ts.isExpressionNode(privId)) { + return grammarErrorOnNode(privId, ts.Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression); + } + var isInOperation = ts.isBinaryExpression(privId.parent) && privId.parent.operatorToken.kind === 101 /* InKeyword */; + if (!getSymbolForPrivateIdentifierExpression(privId) && !isInOperation) { + return grammarErrorOnNode(privId, ts.Diagnostics.Cannot_find_name_0, ts.idText(privId)); + } } return false; } @@ -72664,23 +73235,6 @@ var ts; if (assignmentKind && lexicallyScopedSymbol && lexicallyScopedSymbol.valueDeclaration && ts.isMethodDeclaration(lexicallyScopedSymbol.valueDeclaration)) { grammarErrorOnNode(right, ts.Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable, ts.idText(right)); } - if ((lexicallyScopedSymbol === null || lexicallyScopedSymbol === void 0 ? void 0 : lexicallyScopedSymbol.valueDeclaration) && (ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && !useDefineForClassFields)) { - var lexicalClass_1 = ts.getContainingClass(lexicallyScopedSymbol.valueDeclaration); - var parentStaticFieldInitializer = ts.findAncestor(node, function (n) { - if (n === lexicalClass_1) - return "quit"; - if (ts.isPropertyDeclaration(n.parent) && ts.hasStaticModifier(n.parent) && n.parent.initializer === n && n.parent.parent === lexicalClass_1) { - return true; - } - return false; - }); - if (parentStaticFieldInitializer) { - var parentStaticFieldInitializerSymbol = getSymbolOfNode(parentStaticFieldInitializer.parent); - ts.Debug.assert(parentStaticFieldInitializerSymbol, "Initializer without declaration symbol"); - var diagnostic = error(node, ts.Diagnostics.Property_0_may_not_be_used_in_a_static_property_s_initializer_in_the_same_class_when_target_is_esnext_and_useDefineForClassFields_is_false, ts.symbolName(lexicallyScopedSymbol)); - ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(parentStaticFieldInitializer.parent, ts.Diagnostics.Initializer_for_property_0, ts.symbolName(parentStaticFieldInitializerSymbol))); - } - } if (isAnyLike) { if (lexicallyScopedSymbol) { return isErrorType(apparentType) ? errorType : apparentType; @@ -72721,7 +73275,7 @@ var ts; } var propType; if (!prop) { - var indexInfo = !ts.isPrivateIdentifier(right) && (assignmentKind === 0 /* None */ || !isGenericObjectType(leftType) || isThisTypeParameter(leftType)) ? + var indexInfo = !ts.isPrivateIdentifier(right) && (assignmentKind === 0 /* None */ || !isGenericObjectType(leftType) || ts.isThisTypeParameter(leftType)) ? getApplicableIndexInfoForName(apparentType, right.escapedText) : undefined; if (!(indexInfo && indexInfo.type)) { var isUncheckedJS = isUncheckedJSSuggestion(node, leftType.symbol, /*excludeClasses*/ true); @@ -72738,7 +73292,7 @@ var ts; return anyType; } if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, isThisTypeParameter(leftType) ? apparentType : leftType, isUncheckedJS); + reportNonexistentProperty(right, ts.isThisTypeParameter(leftType) ? apparentType : leftType, isUncheckedJS); } return errorType; } @@ -72751,7 +73305,7 @@ var ts; } } else { - if (prop.declarations && getDeclarationNodeFlagsFromSymbol(prop) & 134217728 /* Deprecated */ && isUncalledFunctionReference(node, prop)) { + if (isDeprecatedSymbol(prop) && isUncalledFunctionReference(node, prop) && prop.declarations) { addDeprecatedSuggestion(right, prop.declarations, right.escapedText); } checkPropertyNotUsedBeforeDeclaration(prop, node, right); @@ -72763,7 +73317,7 @@ var ts; error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property, ts.idText(right)); return errorType; } - propType = isThisPropertyAccessInConstructor(node, prop) ? autoType : writing ? getSetAccessorTypeOfSymbol(prop) : getTypeOfSymbol(prop); + propType = isThisPropertyAccessInConstructor(node, prop) ? autoType : writing ? getWriteTypeOfSymbol(prop) : getTypeOfSymbol(prop); } return getFlowTypeOfAccessExpression(node, prop, propType, right, checkMode); } @@ -73031,7 +73585,7 @@ var ts; } function getSuggestedSymbolForNonexistentSymbol(location, outerName, meaning) { ts.Debug.assert(outerName !== undefined, "outername should always be defined"); - var result = resolveNameHelper(location, outerName, meaning, /*nameNotFoundMessage*/ undefined, outerName, /*isUse*/ false, /*excludeGlobals*/ false, function (symbols, name, meaning) { + var result = resolveNameHelper(location, outerName, meaning, /*nameNotFoundMessage*/ undefined, outerName, /*isUse*/ false, /*excludeGlobals*/ false, /*getSpellingSuggestions*/ true, function (symbols, name, meaning) { ts.Debug.assertEqual(outerName, name, "name should equal outerName"); var symbol = getSymbol(symbols, name, meaning); // Sometimes the symbol is found when location is a return type of a function: `typeof x` and `x` is declared in the body of the function @@ -73277,7 +73831,7 @@ var ts; } var effectiveIndexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : indexType; var accessFlags = ts.isAssignmentTarget(node) ? - 4 /* Writing */ | (isGenericObjectType(objectType) && !isThisTypeParameter(objectType) ? 2 /* NoIndexSignatures */ : 0) : + 4 /* Writing */ | (isGenericObjectType(objectType) && !ts.isThisTypeParameter(objectType) ? 2 /* NoIndexSignatures */ : 0) : 32 /* ExpressionPosition */; var indexedAccessType = getIndexedAccessTypeOrUndefined(objectType, effectiveIndexType, accessFlags, node) || errorType; return checkIndexedAccessIndexType(getFlowTypeOfAccessExpression(node, getNodeLinks(node).resolvedSymbol, indexedAccessType, indexExpression, checkMode), node); @@ -74210,7 +74764,7 @@ var ts; } var diags_3 = max > 1 ? allDiagnostics[minIndex] : ts.flatten(allDiagnostics); ts.Debug.assert(diags_3.length > 0, "No errors reported for 3 or fewer overload signatures"); - var chain = ts.chainDiagnosticMessages(ts.map(diags_3, function (d) { return typeof d.messageText === "string" ? d : d.messageText; }), ts.Diagnostics.No_overload_matches_this_call); + var chain = ts.chainDiagnosticMessages(ts.map(diags_3, ts.createDiagnosticMessageChainFromDiagnostic), ts.Diagnostics.No_overload_matches_this_call); // The below is a spread to guarantee we get a new (mutable) array - our `flatMap` helper tries to do "smart" optimizations where it reuses input // arrays and the emptyArray singleton where possible, which is decidedly not what we want while we're still constructing this diagnostic var related = __spreadArray([], ts.flatMap(diags_3, function (d) { return d.relatedInformation; }), true); @@ -74427,7 +74981,7 @@ var ts; typeArguments.pop(); } while (typeArguments.length < typeParameters.length) { - typeArguments.push(getConstraintOfTypeParameter(typeParameters[typeArguments.length]) || getDefaultTypeArgumentType(isJs)); + typeArguments.push(getDefaultFromTypeParameter(typeParameters[typeArguments.length]) || getConstraintOfTypeParameter(typeParameters[typeArguments.length]) || getDefaultTypeArgumentType(isJs)); } return typeArguments; } @@ -75083,8 +75637,7 @@ var ts; */ function checkCallExpression(node, checkMode) { var _a; - if (!checkGrammarTypeArguments(node, node.typeArguments)) - checkGrammarArguments(node.arguments); + checkGrammarTypeArguments(node, node.typeArguments); var signature = getResolvedSignature(node, /*candidatesOutArray*/ undefined, checkMode); if (signature === resolvingSignature) { // CheckMode.SkipGenericFunctions is enabled and this is a call to a generic function that @@ -75189,8 +75742,7 @@ var ts; } function checkImportCallExpression(node) { // Check grammar of dynamic import - if (!checkGrammarArguments(node.arguments)) - checkGrammarImportCallExpression(node); + checkGrammarImportCallExpression(node); if (node.arguments.length === 0) { return createPromiseReturnType(node, anyType); } @@ -75235,8 +75787,8 @@ var ts; if (hasDefaultOnly && type && !isErrorType(type)) { var synthType = type; if (!synthType.defaultOnlyType) { - var type_4 = createDefaultPropertyWrapperForModule(symbol, originalSymbol); - synthType.defaultOnlyType = type_4; + var type_5 = createDefaultPropertyWrapperForModule(symbol, originalSymbol); + synthType.defaultOnlyType = type_5; } return synthType.defaultOnlyType; } @@ -75445,6 +75997,10 @@ var ts; return restParameter.escapedName; } function getParameterIdentifierNameAtPosition(signature, pos) { + var _a; + if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 315 /* JSDocFunctionType */) { + return undefined; + } var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); if (pos < paramCount) { var param = signature.parameters[pos]; @@ -75686,27 +76242,28 @@ var ts; var links = getSymbolLinks(parameter); if (!links.type) { var declaration = parameter.valueDeclaration; - links.type = type || getWidenedTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true); + links.type = type || getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); if (declaration.name.kind !== 79 /* Identifier */) { // if inference didn't come up with anything but unknown, fall back to the binding pattern if present. if (links.type === unknownType) { links.type = getTypeFromBindingPattern(declaration.name); } - assignBindingElementTypes(declaration.name); + assignBindingElementTypes(declaration.name, links.type); } } } // When contextual typing assigns a type to a parameter that contains a binding pattern, we also need to push // the destructured type into the contained binding elements. - function assignBindingElementTypes(pattern) { + function assignBindingElementTypes(pattern, parentType) { for (var _i = 0, _a = pattern.elements; _i < _a.length; _i++) { var element = _a[_i]; if (!ts.isOmittedExpression(element)) { + var type = getBindingElementTypeFromParentType(element, parentType); if (element.name.kind === 79 /* Identifier */) { - getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element); + getSymbolLinks(getSymbolOfNode(element)).type = type; } else { - assignBindingElementTypes(element.name); + assignBindingElementTypes(element.name, type); } } } @@ -75959,12 +76516,12 @@ var ts; var witnesses = getSwitchClauseTypeOfWitnesses(node, /*retainDefault*/ false); // notEqualFacts states that the type of the switched value is not equal to every type in the switch. var notEqualFacts_1 = getFactsFromTypeofSwitch(0, 0, witnesses, /*hasDefault*/ true); - var type_5 = getBaseConstraintOfType(operandType) || operandType; + var type_6 = getBaseConstraintOfType(operandType) || operandType; // Take any/unknown as a special condition. Or maybe we could change `type` to a union containing all primitive types. - if (type_5.flags & 3 /* AnyOrUnknown */) { + if (type_6.flags & 3 /* AnyOrUnknown */) { return (556800 /* AllTypeofNE */ & notEqualFacts_1) === 556800 /* AllTypeofNE */; } - return !!(filterType(type_5, function (t) { return (getTypeFacts(t) & notEqualFacts_1) === notEqualFacts_1; }).flags & 131072 /* Never */); + return !!(filterType(type_6, function (t) { return (getTypeFacts(t) & notEqualFacts_1) === notEqualFacts_1; }).flags & 131072 /* Never */); } var type = getTypeOfExpression(node.expression); if (!isLiteralType(type)) { @@ -77417,11 +77974,11 @@ var ts; } } function checkExpressionCached(node, checkMode) { + if (checkMode && checkMode !== 0 /* Normal */) { + return checkExpression(node, checkMode); + } var links = getNodeLinks(node); if (!links.resolvedType) { - if (checkMode && checkMode !== 0 /* Normal */) { - return checkExpression(node, checkMode); - } // When computing a type that we're going to cache, we need to ignore any ongoing control flow // analysis because variables may have transient types in indeterminable states. Moving flowLoopStart // to the top of the stack ensures all transient types are computed from a known point. @@ -77441,10 +77998,12 @@ var ts; node.kind === 228 /* AsExpression */ || ts.isJSDocTypeAssertion(node); } - function checkDeclarationInitializer(declaration, contextualType) { + function checkDeclarationInitializer(declaration, checkMode, contextualType) { var initializer = ts.getEffectiveInitializer(declaration); var type = getQuickTypeOfExpression(initializer) || - (contextualType ? checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, 0 /* Normal */) : checkExpressionCached(initializer)); + (contextualType ? + checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || 0 /* Normal */) + : checkExpressionCached(initializer, checkMode)); return ts.isParameter(declaration) && declaration.name.kind === 201 /* ArrayBindingPattern */ && isTupleType(type) && !type.target.hasRestElement && getTypeReferenceArity(type) < declaration.name.elements.length ? padTupleType(type, declaration.name) : type; @@ -77759,7 +78318,7 @@ var ts; } } function checkExpression(node, checkMode, forceTuple) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkExpression", { kind: node.kind, pos: node.pos, end: node.end }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkExpression", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); var saveCurrentNode = currentNode; currentNode = node; instantiationCount = 0; @@ -78084,6 +78643,7 @@ var ts; } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); + checkUnmatchedJSDocParameters(node); ts.forEach(node.parameters, checkParameter); // TODO(rbuckton): Should we start checking JSDoc types? if (node.type) { @@ -78314,9 +78874,6 @@ var ts; checkGrammarComputedPropertyName(node.name); checkVariableLikeDeclaration(node); setNodeLinksForPrivateIdentifierScope(node); - if (ts.isPrivateIdentifier(node.name) && ts.hasStaticModifier(node) && node.initializer && languageVersion === 99 /* ESNext */ && !compilerOptions.useDefineForClassFields) { - error(node.initializer, ts.Diagnostics.Static_fields_with_private_names_can_t_have_initializers_when_the_useDefineForClassFields_flag_is_not_specified_with_a_target_of_esnext_Consider_adding_the_useDefineForClassFields_flag); - } // property signatures already report "initializer not allowed in ambient context" elsewhere if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 166 /* PropertyDeclaration */ && node.initializer) { error(node, ts.Diagnostics.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); @@ -78405,32 +78962,38 @@ var ts; if (classExtendsNull) { error(superCall, ts.Diagnostics.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null); } - // The first statement in the body of a constructor (excluding prologue directives) must be a super call - // if both of the following are true: + // A super call must be root-level in a constructor if both of the following are true: // - The containing class is a derived class. // - The constructor declares parameter properties // or the containing class declares instance member variables with initializers. - var superCallShouldBeFirst = (ts.getEmitScriptTarget(compilerOptions) !== 99 /* ESNext */ || !useDefineForClassFields) && + var superCallShouldBeRootLevel = (ts.getEmitScriptTarget(compilerOptions) !== 99 /* ESNext */ || !useDefineForClassFields) && (ts.some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) || ts.some(node.parameters, function (p) { return ts.hasSyntacticModifier(p, 16476 /* ParameterPropertyModifier */); })); - // Skip past any prologue directives to find the first statement - // to ensure that it was a super call. - if (superCallShouldBeFirst) { - var statements = node.body.statements; - var superCallStatement = void 0; - for (var _i = 0, statements_4 = statements; _i < statements_4.length; _i++) { - var statement = statements_4[_i]; - if (statement.kind === 237 /* ExpressionStatement */ && ts.isSuperCall(statement.expression)) { - superCallStatement = statement; - break; + if (superCallShouldBeRootLevel) { + // Until we have better flow analysis, it is an error to place the super call within any kind of block or conditional + // See GH #8277 + if (!superCallIsRootLevelInConstructor(superCall, node.body)) { + error(superCall, ts.Diagnostics.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers); + } + // Skip past any prologue directives to check statements for referring to 'super' or 'this' before a super call + else { + var superCallStatement = void 0; + for (var _i = 0, _a = node.body.statements; _i < _a.length; _i++) { + var statement = _a[_i]; + if (ts.isExpressionStatement(statement) && ts.isSuperCall(ts.skipOuterExpressions(statement.expression))) { + superCallStatement = statement; + break; + } + if (!ts.isPrologueDirective(statement) && nodeImmediatelyReferencesSuperOrThis(statement)) { + break; + } } - if (!ts.isPrologueDirective(statement)) { - break; + // Until we have better flow analysis, it is an error to place the super call within any kind of block or conditional + // See GH #8277 + if (superCallStatement === undefined) { + error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers); } } - if (!superCallStatement) { - error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers); - } } } else if (!classExtendsNull) { @@ -78438,6 +79001,19 @@ var ts; } } } + function superCallIsRootLevelInConstructor(superCall, body) { + var superCallParent = ts.walkUpParenthesizedExpressions(superCall.parent); + return ts.isExpressionStatement(superCallParent) && superCallParent.parent === body; + } + function nodeImmediatelyReferencesSuperOrThis(node) { + if (node.kind === 106 /* SuperKeyword */ || node.kind === 108 /* ThisKeyword */) { + return true; + } + if (ts.isThisContainerOrFunctionBlock(node)) { + return false; + } + return !!ts.forEachChild(node, nodeImmediatelyReferencesSuperOrThis); + } function checkAccessorDeclaration(node) { if (produceDiagnostics) { // Grammar checking accessors @@ -79428,28 +80004,24 @@ var ts; if (returnType.flags & 1 /* Any */) { return; } + var headMessage; var expectedReturnType; - var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); - var errorInfo; switch (node.parent.kind) { case 256 /* ClassDeclaration */: + headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 163 /* Parameter */: - expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages( - /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any); - break; case 166 /* PropertyDeclaration */: + case 163 /* Parameter */: + headMessage = ts.Diagnostics.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any; expectedReturnType = voidType; - errorInfo = ts.chainDiagnosticMessages( - /*details*/ undefined, ts.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any); break; case 168 /* MethodDeclaration */: case 171 /* GetAccessor */: case 172 /* SetAccessor */: + headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var methodType = getTypeOfNode(node.parent); var descriptorType = createTypedPropertyDescriptorType(methodType); expectedReturnType = getUnionType([descriptorType, voidType]); @@ -79457,7 +80029,7 @@ var ts; default: return ts.Debug.fail(); } - checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage, function () { return errorInfo; }); + checkTypeAssignableTo(returnType, expectedReturnType, node, headMessage); } /** * If a TypeNode can be resolved to a value symbol imported from an external module, it is @@ -79639,31 +80211,6 @@ var ts; } function checkJSDocParameterTag(node) { checkSourceElement(node.typeExpression); - if (!ts.getParameterSymbolFromJSDoc(node)) { - var decl = ts.getHostSignatureFromJSDoc(node); - // don't issue an error for invalid hosts -- just functions -- - // and give a better error message when the host function mentions `arguments` - // but the tag doesn't have an array type - if (decl) { - var i = ts.getJSDocTags(decl).filter(ts.isJSDocParameterTag).indexOf(node); - if (i > -1 && i < decl.parameters.length && ts.isBindingPattern(decl.parameters[i].name)) { - return; - } - if (!containsArgumentsReference(decl)) { - if (ts.isQualifiedName(node.name)) { - error(node.name, ts.Diagnostics.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, ts.entityNameToString(node.name), ts.entityNameToString(node.name.left)); - } - else { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(node.name)); - } - } - else if (ts.findLast(ts.getJSDocTags(decl), ts.isJSDocParameterTag) === node && - node.typeExpression && node.typeExpression.type && - !isArrayType(getTypeFromTypeNode(node.typeExpression.type))) { - error(node.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(node.name.kind === 160 /* QualifiedName */ ? node.name.right : node.name)); - } - } - } } function checkJSDocPropertyTag(node) { checkSourceElement(node.typeExpression); @@ -80365,7 +80912,8 @@ var ts; } // check private/protected variable access var parent = node.parent.parent; - var parentType = getTypeForBindingElementParent(parent); + var parentCheckMode = node.dotDotDotToken ? 32 /* RestBindingElement */ : 0 /* Normal */; + var parentType = getTypeForBindingElementParent(parent, parentCheckMode); var name = node.propertyName || node.name; if (parentType && !ts.isBindingPattern(name)) { var exprType = getLiteralTypeFromPropertyName(name); @@ -80421,7 +80969,7 @@ var ts; } // For a commonjs `const x = require`, validate the alias and exit var symbol = getSymbolOfNode(node); - if (symbol.flags & 2097152 /* Alias */ && ts.isRequireVariableDeclaration(node)) { + if (symbol.flags & 2097152 /* Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node)) { checkAliasSymbol(node); return; } @@ -80499,7 +81047,7 @@ var ts; return ts.getSelectedEffectiveModifierFlags(left, interestingFlags) === ts.getSelectedEffectiveModifierFlags(right, interestingFlags); } function checkVariableDeclaration(node) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkVariableDeclaration", { kind: node.kind, pos: node.pos, end: node.end }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkVariableDeclaration", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); checkGrammarVariableDeclaration(node); checkVariableLikeDeclaration(node); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); @@ -81163,7 +81711,7 @@ var ts; function getPropertyNameForKnownSymbolName(symbolName) { var ctorType = getGlobalESSymbolConstructorSymbol(/*reportErrors*/ false); var uniqueType = ctorType && getTypeOfPropertyOfType(getTypeOfSymbol(ctorType), ts.escapeLeadingUnderscores(symbolName)); - return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@" + symbolName; + return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@".concat(symbolName); } /** * Gets the *yield*, *return*, and *next* types of an `Iterable`-like or `AsyncIterable`-like @@ -81604,7 +82152,7 @@ var ts; var declaration = catchClause.variableDeclaration; var typeNode = ts.getEffectiveTypeAnnotationNode(ts.getRootDeclaration(declaration)); if (typeNode) { - var type = getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ false); + var type = getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ false, 0 /* Normal */); if (type && !(type.flags & 3 /* AnyOrUnknown */)) { grammarErrorOnFirstToken(typeNode, ts.Diagnostics.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified); } @@ -81735,6 +82283,47 @@ var ts; error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 } } + function checkUnmatchedJSDocParameters(node) { + var jsdocParameters = ts.filter(ts.getJSDocTags(node), ts.isJSDocParameterTag); + if (!ts.length(jsdocParameters)) + return; + var isJs = ts.isInJSFile(node); + var parameters = new ts.Set(); + var excludedParameters = new ts.Set(); + ts.forEach(node.parameters, function (_a, index) { + var name = _a.name; + if (ts.isIdentifier(name)) { + parameters.add(name.escapedText); + } + if (ts.isBindingPattern(name)) { + excludedParameters.add(index); + } + }); + var containsArguments = containsArgumentsReference(node); + if (containsArguments) { + var lastJSDocParam = ts.lastOrUndefined(jsdocParameters); + if (isJs && lastJSDocParam && ts.isIdentifier(lastJSDocParam.name) && lastJSDocParam.typeExpression && + lastJSDocParam.typeExpression.type && !parameters.has(lastJSDocParam.name.escapedText) && !isArrayType(getTypeFromTypeNode(lastJSDocParam.typeExpression.type))) { + error(lastJSDocParam.name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type, ts.idText(lastJSDocParam.name)); + } + } + else { + ts.forEach(jsdocParameters, function (_a, index) { + var name = _a.name; + if (excludedParameters.has(index) || ts.isIdentifier(name) && parameters.has(name.escapedText)) { + return; + } + if (ts.isQualifiedName(name)) { + if (isJs) { + error(name, ts.Diagnostics.Qualified_name_0_is_not_allowed_without_a_leading_param_object_1, ts.entityNameToString(name), ts.entityNameToString(name.left)); + } + } + else { + errorOrSuggestion(isJs, name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(name)); + } + }); + } + } /** * Check each type parameter and check that type parameters have no duplicate type parameter declarations */ @@ -82298,7 +82887,7 @@ var ts; for (var _a = 0, properties_4 = properties_5; _a < properties_4.length; _a++) { var prop = properties_4[_a]; var existing = seen.get(prop.escapedName); - if (existing && !isPropertyIdenticalTo(existing, prop)) { + if (existing && prop.parent === existing.parent) { seen.delete(prop.escapedName); } } @@ -82466,7 +83055,7 @@ var ts; } else { var text = ts.getTextOfPropertyName(member.name); - if (isNumericLiteralName(text) && !ts.isInfinityOrNaNString(text)) { + if (ts.isNumericLiteralName(text) && !ts.isInfinityOrNaNString(text)) { error(member.name, ts.Diagnostics.An_enum_member_cannot_have_a_numeric_name); } } @@ -82572,16 +83161,15 @@ var ts; return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); case 206 /* ElementAccessExpression */: case 205 /* PropertyAccessExpression */: - var ex = expr; - if (isConstantMemberAccess(ex)) { - var type = getTypeOfExpression(ex.expression); + if (isConstantMemberAccess(expr)) { + var type = getTypeOfExpression(expr.expression); if (type.symbol && type.symbol.flags & 384 /* Enum */) { var name = void 0; - if (ex.kind === 205 /* PropertyAccessExpression */) { - name = ex.name.escapedText; + if (expr.kind === 205 /* PropertyAccessExpression */) { + name = expr.name.escapedText; } else { - name = ts.escapeLeadingUnderscores(ts.cast(ex.argumentExpression, ts.isLiteralExpression).text); + name = ts.escapeLeadingUnderscores(ts.cast(expr.argumentExpression, ts.isLiteralExpression).text); } return evaluateEnumMember(expr, type.symbol, name); } @@ -82595,7 +83183,7 @@ var ts; if (memberSymbol) { var declaration = memberSymbol.valueDeclaration; if (declaration !== member) { - if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member)) { + if (declaration && isBlockScopedNameDeclaredBeforeUse(declaration, member) && ts.isEnumDeclaration(declaration.parent)) { return getEnumMemberValue(declaration); } error(expr, ts.Diagnostics.A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums); @@ -82609,6 +83197,10 @@ var ts; } } function isConstantMemberAccess(node) { + var type = getTypeOfExpression(node); + if (type === errorType) { + return false; + } return node.kind === 79 /* Identifier */ || node.kind === 205 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || node.kind === 206 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && @@ -82707,7 +83299,7 @@ var ts; var isAmbientExternalModule = ts.isAmbientModule(node); var contextErrorMessage = isAmbientExternalModule ? ts.Diagnostics.An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file - : ts.Diagnostics.A_namespace_declaration_is_only_allowed_in_a_namespace_or_module; + : ts.Diagnostics.A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module; if (checkGrammarModuleElementContext(node, contextErrorMessage)) { // If we hit a module declaration in an illegal context, just bail out to avoid cascading errors. return; @@ -82889,10 +83481,20 @@ var ts; return false; } } + if (!ts.isImportEqualsDeclaration(node) && node.assertClause) { + var hasError = false; + for (var _i = 0, _a = node.assertClause.elements; _i < _a.length; _i++) { + var clause = _a[_i]; + if (!ts.isStringLiteral(clause.value)) { + hasError = true; + error(clause.value, ts.Diagnostics.Import_assertion_values_must_be_string_literal_expressions); + } + } + return !hasError; + } return true; } function checkAliasSymbol(node) { - var _a; var symbol = getSymbolOfNode(node); var target = resolveAlias(symbol); if (target !== unknownSymbol) { @@ -82930,6 +83532,9 @@ var ts; var name = ts.idText(node.kind === 269 /* ImportSpecifier */ ? node.propertyName || node.name : node.name); addTypeOnlyDeclarationRelatedInfo(error(node, message, name), isType ? undefined : typeOnlyAlias, name); } + if (isType && node.kind === 264 /* ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* Export */)) { + error(node, ts.Diagnostics.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided); + } break; } case 274 /* ExportSpecifier */: { @@ -82948,11 +83553,46 @@ var ts; } } } - if (ts.isImportSpecifier(node) && ((_a = target.declarations) === null || _a === void 0 ? void 0 : _a.every(function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); }))) { - addDeprecatedSuggestion(node.name, target.declarations, symbol.escapedName); + if (ts.isImportSpecifier(node)) { + var targetSymbol = checkDeprecatedAliasedSymbol(symbol, node); + if (isDeprecatedAliasedSymbol(targetSymbol) && targetSymbol.declarations) { + addDeprecatedSuggestion(node, targetSymbol.declarations, targetSymbol.escapedName); + } } } } + function isDeprecatedAliasedSymbol(symbol) { + return !!symbol.declarations && ts.every(symbol.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); }); + } + function checkDeprecatedAliasedSymbol(symbol, location) { + if (!(symbol.flags & 2097152 /* Alias */)) + return symbol; + var targetSymbol = resolveAlias(symbol); + if (targetSymbol === unknownSymbol) + return targetSymbol; + while (symbol.flags & 2097152 /* Alias */) { + var target = getImmediateAliasedSymbol(symbol); + if (target) { + if (target === targetSymbol) + break; + if (target.declarations && ts.length(target.declarations)) { + if (isDeprecatedAliasedSymbol(target)) { + addDeprecatedSuggestion(location, target.declarations, target.escapedName); + break; + } + else { + if (symbol === targetSymbol) + break; + symbol = target; + } + } + } + else { + break; + } + } + return targetSymbol; + } function checkImportBinding(node) { checkCollisionsForDeclarationName(node, node.name); checkAliasSymbol(node); @@ -82966,8 +83606,11 @@ var ts; function checkAssertClause(declaration) { var _a; if (declaration.assertClause) { - if (moduleKind !== ts.ModuleKind.ESNext) { - return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext); + var mode = (moduleKind === ts.ModuleKind.NodeNext) && declaration.moduleSpecifier && getUsageModeForExpression(declaration.moduleSpecifier); + if (mode !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.ESNext) { + return grammarErrorOnNode(declaration.assertClause, moduleKind === ts.ModuleKind.NodeNext + ? ts.Diagnostics.Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls + : ts.Diagnostics.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext); } if (ts.isImportDeclaration(declaration) ? (_a = declaration.importClause) === null || _a === void 0 ? void 0 : _a.isTypeOnly : declaration.isTypeOnly) { return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Import_assertions_cannot_be_used_with_type_only_imports_or_exports); @@ -82975,7 +83618,7 @@ var ts; } } function checkImportDeclaration(node) { - if (checkGrammarModuleElementContext(node, ts.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)) { + if (checkGrammarModuleElementContext(node, ts.isInJSFile(node) ? ts.Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module : ts.Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) { // If we hit an import declaration in an illegal context, just bail out to avoid cascading errors. return; } @@ -83008,7 +83651,7 @@ var ts; checkAssertClause(node); } function checkImportEqualsDeclaration(node) { - if (checkGrammarModuleElementContext(node, ts.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)) { + if (checkGrammarModuleElementContext(node, ts.isInJSFile(node) ? ts.Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module : ts.Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) { // If we hit an import declaration in an illegal context, just bail out to avoid cascading errors. return; } @@ -83045,7 +83688,7 @@ var ts; } } function checkExportDeclaration(node) { - if (checkGrammarModuleElementContext(node, ts.Diagnostics.An_export_declaration_can_only_be_used_in_a_module)) { + if (checkGrammarModuleElementContext(node, ts.isInJSFile(node) ? ts.Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module : ts.Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module)) { // If we hit an export in an illegal context, just bail out to avoid cascading errors. return; } @@ -83257,9 +83900,9 @@ var ts; } } // Checks for export * conflicts - var exports_2 = getExportsOfModule(moduleSymbol); - if (exports_2) { - exports_2.forEach(function (_a, id) { + var exports_3 = getExportsOfModule(moduleSymbol); + if (exports_3) { + exports_3.forEach(function (_a, id) { var declarations = _a.declarations, flags = _a.flags; if (id === "__export") { return; @@ -83568,9 +84211,8 @@ var ts; var enclosingFile = ts.getSourceFileOfNode(node); var links = getNodeLinks(enclosingFile); if (!(links.flags & 1 /* TypeChecked */)) { - links.deferredNodes = links.deferredNodes || new ts.Map(); - var id = getNodeId(node); - links.deferredNodes.set(id, node); + links.deferredNodes || (links.deferredNodes = new ts.Set()); + links.deferredNodes.add(node); } } function checkDeferredNodes(context) { @@ -83580,7 +84222,7 @@ var ts; } } function checkDeferredNode(node) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkDeferredNode", { kind: node.kind, pos: node.pos, end: node.end }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkDeferredNode", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); var saveCurrentNode = currentNode; currentNode = node; instantiationCount = 0; @@ -84140,7 +84782,10 @@ var ts; case 80 /* PrivateIdentifier */: case 205 /* PropertyAccessExpression */: case 160 /* QualifiedName */: - return getSymbolOfNameOrPropertyAccessExpression(node); + if (!ts.isThisInTypeQuery(node)) { + return getSymbolOfNameOrPropertyAccessExpression(node); + } + // falls through case 108 /* ThisKeyword */: var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); if (ts.isFunctionLike(container)) { @@ -84277,7 +84922,7 @@ var ts; return errorType; } if (ts.isBindingPattern(node)) { - return getTypeForVariableLikeDeclaration(node.parent, /*includeOptionality*/ true) || errorType; + return getTypeForVariableLikeDeclaration(node.parent, /*includeOptionality*/ true, 0 /* Normal */) || errorType; } if (isInRightSideOfImportOrExportAssignment(node)) { var symbol = getSymbolAtLocation(node); @@ -84616,7 +85261,7 @@ var ts; if (!symbol) { return false; } - var target = resolveAlias(symbol); + var target = getExportSymbolOfValueSymbolIfExported(resolveAlias(symbol)); if (target === unknownSymbol) { return true; } @@ -85385,7 +86030,7 @@ var ts; if (quickResult !== undefined) { return quickResult; } - var lastStatic, lastDeclare, lastAsync, lastReadonly, lastOverride; + var lastStatic, lastDeclare, lastAsync, lastOverride; var flags = 0 /* None */; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; @@ -85489,7 +86134,6 @@ var ts; return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } flags |= 64 /* Readonly */; - lastReadonly = modifier; break; case 93 /* ExportKeyword */: if (flags & 1 /* Export */) { @@ -85602,18 +86246,12 @@ var ts; if (flags & 32 /* Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } - if (flags & 128 /* Abstract */) { - return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "abstract"); // TODO: GH#18217 - } if (flags & 16384 /* Override */) { return grammarErrorOnNode(lastOverride, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "override"); // TODO: GH#18217 } - else if (flags & 256 /* Async */) { + if (flags & 256 /* Async */) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); } - else if (flags & 64 /* Readonly */) { - return grammarErrorOnNode(lastReadonly, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "readonly"); - } return false; } else if ((node.kind === 265 /* ImportDeclaration */ || node.kind === 264 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { @@ -85849,20 +86487,6 @@ var ts; } return false; } - function checkGrammarForOmittedArgument(args) { - if (args) { - for (var _i = 0, args_4 = args; _i < args_4.length; _i++) { - var arg = args_4[_i]; - if (arg.kind === 226 /* OmittedExpression */) { - return grammarErrorAtPos(arg, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); - } - } - } - return false; - } - function checkGrammarArguments(args) { - return checkGrammarForOmittedArgument(args); - } function checkGrammarHeritageClause(node) { var types = node.types; if (checkGrammarForDisallowedTrailingComma(types)) { @@ -85980,15 +86604,14 @@ var ts; if (prop.kind === 295 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error - return grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern); + grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern); } if (name.kind === 80 /* PrivateIdentifier */) { grammarErrorOnNode(name, ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies); } // Modifiers are never allowed on properties except for 'async' on a method declaration if (prop.modifiers) { - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion - for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { // TODO: GH#19955 + for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; if (mod.kind !== 131 /* AsyncKeyword */ || prop.kind !== 168 /* MethodDeclaration */) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); @@ -86038,9 +86661,12 @@ var ts; seen.set(effectiveName, currentKind); } else { - if ((currentKind & 12 /* PropertyAssignmentOrMethod */) && (existingKind & 12 /* PropertyAssignmentOrMethod */)) { + if ((currentKind & 8 /* Method */) && (existingKind & 8 /* Method */)) { grammarErrorOnNode(name, ts.Diagnostics.Duplicate_identifier_0, ts.getTextOfNode(name)); } + else if ((currentKind & 4 /* PropertyAssignment */) && (existingKind & 4 /* PropertyAssignment */)) { + grammarErrorOnNode(name, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name, ts.getTextOfNode(name)); + } else if ((currentKind & 3 /* GetOrSetAccessor */) && (existingKind & 3 /* GetOrSetAccessor */)) { if (existingKind !== 3 /* GetOrSetAccessor */ && currentKind !== existingKind) { seen.set(effectiveName, currentKind | existingKind); @@ -86738,18 +87364,22 @@ var ts; return false; } function checkNumericLiteralValueSize(node) { + // We should test against `getTextOfNode(node)` rather than `node.text`, because `node.text` for large numeric literals can contain "." + // e.g. `node.text` for numeric literal `1100000000000000000000` is `1.1e21`. + var isFractional = ts.getTextOfNode(node).indexOf(".") !== -1; + var isScientific = node.numericLiteralFlags & 16 /* Scientific */; // Scientific notation (e.g. 2e54 and 1e00000000010) can't be converted to bigint - // Literals with 15 or fewer characters aren't long enough to reach past 2^53 - 1 // Fractional numbers (e.g. 9000000000000000.001) are inherently imprecise anyway - if (node.numericLiteralFlags & 16 /* Scientific */ || node.text.length <= 15 || node.text.indexOf(".") !== -1) { + if (isFractional || isScientific) { return; } - // We can't rely on the runtime to accurately store and compare extremely large numeric values - // Even for internal use, we use getTextOfNode: https://github.com/microsoft/TypeScript/issues/33298 - // Thus, if the runtime claims a too-large number is lower than Number.MAX_SAFE_INTEGER, - // it's likely addition operations on it will fail too - var apparentValue = +ts.getTextOfNode(node); - if (apparentValue <= Math.pow(2, 53) - 1 && apparentValue + 1 > apparentValue) { + // Here `node` is guaranteed to be a numeric literal representing an integer. + // We need to judge whether the integer `node` represents is <= 2 ** 53 - 1, which can be accomplished by comparing to `value` defined below because: + // 1) when `node` represents an integer <= 2 ** 53 - 1, `node.text` is its exact string representation and thus `value` precisely represents the integer. + // 2) otherwise, although `node.text` may be imprecise string representation, its mathematical value and consequently `value` cannot be less than 2 ** 53, + // thus the result of the predicate won't be affected. + var value = +node.text; + if (value <= Math.pow(2, 53) - 1) { return; } addErrorOrSuggestion(/*isError*/ false, ts.createDiagnosticForNode(node, ts.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers)); @@ -86814,12 +87444,12 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_import_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { var assertionArgument = nodeArguments[1]; - return grammarErrorOnNode(assertionArgument, ts.Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext); + return grammarErrorOnNode(assertionArgument, ts.Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_or_nodenext); } } if (nodeArguments.length === 0 || nodeArguments.length > 2) { @@ -86865,28 +87495,27 @@ var ts; } function findMostOverlappyType(source, unionTarget) { var bestMatch; - var matchingCount = 0; - for (var _i = 0, _a = unionTarget.types; _i < _a.length; _i++) { - var target = _a[_i]; - var overlap = getIntersectionType([getIndexType(source), getIndexType(target)]); - if (overlap.flags & 4194304 /* Index */) { - // perfect overlap of keys - bestMatch = target; - matchingCount = Infinity; - } - else if (overlap.flags & 1048576 /* Union */) { - // We only want to account for literal types otherwise. - // If we have a union of index types, it seems likely that we - // needed to elaborate between two generic mapped types anyway. - var len = ts.length(ts.filter(overlap.types, isUnitType)); - if (len >= matchingCount) { - bestMatch = target; - matchingCount = len; - } - } - else if (isUnitType(overlap) && 1 >= matchingCount) { - bestMatch = target; - matchingCount = 1; + if (!(source.flags & (131068 /* Primitive */ | 406847488 /* InstantiablePrimitive */))) { + var matchingCount = 0; + for (var _i = 0, _a = unionTarget.types; _i < _a.length; _i++) { + var target = _a[_i]; + if (!(target.flags & (131068 /* Primitive */ | 406847488 /* InstantiablePrimitive */))) { + var overlap = getIntersectionType([getIndexType(source), getIndexType(target)]); + if (overlap.flags & 4194304 /* Index */) { + // perfect overlap of keys + return target; + } + else if (isUnitType(overlap) || overlap.flags & 1048576 /* Union */) { + // We only want to account for literal types otherwise. + // If we have a union of index types, it seems likely that we + // needed to elaborate between two generic mapped types anyway. + var len = overlap.flags & 1048576 /* Union */ ? ts.countWhere(overlap.types, isUnitType) : 1; + if (len >= matchingCount) { + bestMatch = target; + matchingCount = len; + } + } + } } } return bestMatch; @@ -87522,7 +88151,7 @@ var ts; return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine); case 293 /* AssertEntry */: ts.Debug.type(node); - return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isStringLiteral)); + return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode)); case 266 /* ImportClause */: ts.Debug.type(node); return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings)); @@ -88135,7 +88764,7 @@ var ts; value >= 52 && value < 62 ? 48 /* _0 */ + value - 52 : value === 62 ? 43 /* plus */ : value === 63 ? 47 /* slash */ : - ts.Debug.fail(value + ": not a base64 value"); + ts.Debug.fail("".concat(value, ": not a base64 value")); } function base64FormatDecode(ch) { return ch >= 65 /* A */ && ch <= 90 /* Z */ ? ch - 65 /* A */ : @@ -88210,7 +88839,7 @@ var ts; var mappings = ts.arrayFrom(decoder, processMapping); if (decoder.error !== undefined) { if (host.log) { - host.log("Encountered error while decoding sourcemap: " + decoder.error); + host.log("Encountered error while decoding sourcemap: ".concat(decoder.error)); } decodedMappings = ts.emptyArray; } @@ -88566,34 +89195,31 @@ var ts; } ts.getNonAssignmentOperatorForCompoundAssignment = getNonAssignmentOperatorForCompoundAssignment; /** - * Adds super call and preceding prologue directives into the list of statements. - * - * @param ctor The constructor node. - * @param result The list of statements. - * @param visitor The visitor to apply to each node added to the result array. - * @returns index of the statement that follows super call + * @returns Contained super() call from descending into the statement ignoring parentheses, if that call exists. + */ + function getSuperCallFromStatement(statement) { + if (!ts.isExpressionStatement(statement)) { + return undefined; + } + var expression = ts.skipParentheses(statement.expression); + return ts.isSuperCall(expression) + ? expression + : undefined; + } + ts.getSuperCallFromStatement = getSuperCallFromStatement; + /** + * @returns The index (after prologue statements) of a super call, or -1 if not found. */ - function addPrologueDirectivesAndInitialSuperCall(factory, ctor, result, visitor) { - if (ctor.body) { - var statements = ctor.body.statements; - // add prologue directives to the list (if any) - var index = factory.copyPrologue(statements, result, /*ensureUseStrict*/ false, visitor); - if (index === statements.length) { - // list contains nothing but prologue directives (or empty) - exit - return index; - } - var superIndex = ts.findIndex(statements, function (s) { return ts.isExpressionStatement(s) && ts.isSuperCall(s.expression); }, index); - if (superIndex > -1) { - for (var i = index; i <= superIndex; i++) { - result.push(ts.visitNode(statements[i], visitor, ts.isStatement)); - } - return superIndex + 1; + function findSuperStatementIndex(statements, indexAfterLastPrologueStatement) { + for (var i = indexAfterLastPrologueStatement; i < statements.length; i += 1) { + var statement = statements[i]; + if (getSuperCallFromStatement(statement)) { + return i; } - return index; } - return 0; + return -1; } - ts.addPrologueDirectivesAndInitialSuperCall = addPrologueDirectivesAndInitialSuperCall; + ts.findSuperStatementIndex = findSuperStatementIndex; function getProperties(node, requireInitializer, isStatic) { return ts.filter(node.members, function (m) { return isInitializedOrStaticProperty(m, requireInitializer, isStatic); }); } @@ -90211,7 +90837,7 @@ var ts; // ], C.prototype, "prop"); // var prefix = getClassMemberPrefix(node, member); - var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ true); + var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* Ambient */)); var descriptor = languageVersion > 0 /* ES3 */ ? member.kind === 166 /* PropertyDeclaration */ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it @@ -90492,6 +91118,7 @@ var ts; case 176 /* TypePredicate */: case 133 /* BooleanKeyword */: return factory.createIdentifier("Boolean"); + case 197 /* TemplateLiteralType */: case 149 /* StringKeyword */: return factory.createIdentifier("String"); case 147 /* ObjectKeyword */: @@ -90830,10 +91457,14 @@ var ts; return ts.visitFunctionBody(body, visitor, context); } var statements = []; - var indexOfFirstStatement = 0; resumeLexicalEnvironment(); - indexOfFirstStatement = ts.addPrologueDirectivesAndInitialSuperCall(factory, constructor, statements, visitor); - // Add parameters with property assignments. Transforms this: + var indexAfterLastPrologueStatement = factory.copyPrologue(body.statements, statements, /*ensureUseStrict*/ false, visitor); + var superStatementIndex = ts.findSuperStatementIndex(body.statements, indexAfterLastPrologueStatement); + // If there was a super call, visit existing statements up to and including it + if (superStatementIndex >= 0) { + ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, indexAfterLastPrologueStatement, superStatementIndex + 1 - indexAfterLastPrologueStatement)); + } + // Transform parameters into property assignments. Transforms this: // // constructor (public x, public y) { // } @@ -90845,9 +91476,17 @@ var ts; // this.y = y; // } // - ts.addRange(statements, ts.map(parametersWithPropertyAssignments, transformParameterWithPropertyAssignment)); - // Add the existing statements, skipping the initial super call. - ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, indexOfFirstStatement)); + var parameterPropertyAssignments = ts.mapDefined(parametersWithPropertyAssignments, transformParameterWithPropertyAssignment); + // If there is a super() call, the parameter properties go immediately after it + if (superStatementIndex >= 0) { + ts.addRange(statements, parameterPropertyAssignments); + } + // Since there was no super() call, parameter properties are the first statements in the constructor + else { + statements = ts.addRange(parameterPropertyAssignments, statements); + } + // Add remaining statements from the body, skipping the super() call if it was found + ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, superStatementIndex + 1)); // End the lexical environment. statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), body.statements), /*multiLine*/ true); @@ -91025,11 +91664,10 @@ var ts; // we can safely elide the parentheses here, as a new synthetic // ParenthesizedExpression will be inserted if we remove parentheses too // aggressively. - // HOWEVER - if there are leading comments on the expression itself, to handle ASI - // correctly for return and throw, we must keep the parenthesis - if (ts.length(ts.getLeadingCommentRangesOfNode(expression, currentSourceFile))) { - return factory.updateParenthesizedExpression(node, expression); - } + // + // If there are leading comments on the expression itself, the emitter will handle ASI + // for return, throw, and yield by re-introducing parenthesis during emit on an as-need + // basis. return factory.createPartiallyEmittedExpression(expression, node); } return ts.visitEachChild(node, visitor, context); @@ -91876,7 +92514,7 @@ var ts; var propertyName = ts.isPropertyAccessExpression(originalNode) ? ts.declarationNameToString(originalNode.name) : ts.getTextOfNode(originalNode.argumentExpression); - ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " " + propertyName + " "); + ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " ".concat(propertyName, " ")); } return substitute; } @@ -91939,11 +92577,13 @@ var ts; var compilerOptions = context.getCompilerOptions(); var languageVersion = ts.getEmitScriptTarget(compilerOptions); var useDefineForClassFields = ts.getUseDefineForClassFields(compilerOptions); - var shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 99 /* ESNext */; + var shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ES2022 */; + // We need to transform `this` in a static initializer into a reference to the class + // when targeting < ES2022 since the assignment will be moved outside of the class body. + var shouldTransformThisInStaticInitializers = languageVersion < 9 /* ES2022 */; // We don't need to transform `super` property access when targeting ES5, ES3 because // the es2015 transformation handles those. - var shouldTransformSuperInStaticInitializers = (languageVersion <= 8 /* ES2021 */ || !useDefineForClassFields) && languageVersion >= 2 /* ES2015 */; - var shouldTransformThisInStaticInitializers = languageVersion <= 8 /* ES2021 */ || !useDefineForClassFields; + var shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ES2015 */; var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; var previousOnEmitNode = context.onEmitNode; @@ -91969,7 +92609,7 @@ var ts; function transformSourceFile(node) { var options = context.getCompilerOptions(); if (node.isDeclarationFile - || useDefineForClassFields && ts.getEmitScriptTarget(options) === 99 /* ESNext */) { + || useDefineForClassFields && ts.getEmitScriptTarget(options) >= 9 /* ES2022 */) { return node; } var visited = ts.visitEachChild(node, visitor, context); @@ -92172,6 +92812,10 @@ var ts; ts.Debug.assert(!ts.some(node.decorators)); if (ts.isPrivateIdentifier(node.name)) { if (!shouldTransformPrivateElementsOrClassStaticBlocks) { + if (ts.isStatic(node)) { + // static fields are left as is + return ts.visitEachChild(node, visitor, context); + } // Initializer is elided as the field is initialized in transformConstructor. return factory.updatePropertyDeclaration(node, /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.name, @@ -92193,6 +92837,22 @@ var ts; if (expr && !ts.isSimpleInlineableExpression(expr)) { getPendingExpressions().push(expr); } + if (ts.isStatic(node) && !shouldTransformPrivateElementsOrClassStaticBlocks && !useDefineForClassFields) { + var initializerStatement = transformPropertyOrClassStaticBlock(node, factory.createThis()); + if (initializerStatement) { + var staticBlock = factory.createClassStaticBlockDeclaration( + /*decorators*/ undefined, + /*modifiers*/ undefined, factory.createBlock([initializerStatement])); + ts.setOriginalNode(staticBlock, node); + ts.setCommentRange(staticBlock, node); + // Set the comment range for the statement to an empty synthetic range + // and drop synthetic comments from the statement to avoid printing them twice. + ts.setCommentRange(initializerStatement, { pos: -1, end: -1 }); + ts.setSyntheticLeadingComments(initializerStatement, undefined); + ts.setSyntheticTrailingComments(initializerStatement, undefined); + return staticBlock; + } + } return undefined; } function createPrivateIdentifierAccess(info, receiver) { @@ -92580,7 +93240,6 @@ var ts; if (facts & 8 /* NeedsSubstitutionForThisInClassStaticField */) { enableSubstitutionForClassStaticThisOrSuperReference(); } - var staticProperties = ts.getStaticPropertiesAndClassStaticBlock(node); // If a class has private static fields, or a static field has a `this` or `super` reference, // then we need to allocate a temp variable to hold on to that reference. var pendingClassReferenceAssignment; @@ -92608,6 +93267,7 @@ var ts; // From ES6 specification: // HasLexicalDeclaration (N) : Determines if the argument identifier has a binding in this environment record that was created using // a lexical declaration such as a LexicalDeclaration or a ClassDeclaration. + var staticProperties = ts.getStaticPropertiesAndClassStaticBlock(node); if (ts.some(staticProperties)) { addPropertyOrClassStaticBlockStatements(statements, staticProperties, factory.getInternalName(node)); } @@ -92646,7 +93306,7 @@ var ts; } var classExpression = factory.updateClassExpression(node, ts.visitNodes(node.decorators, visitor, ts.isDecorator), node.modifiers, node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)); - var hasTransformableStatics = ts.some(staticPropertiesOrClassStaticBlocks, function (p) { return ts.isClassStaticBlockDeclaration(p) || !!p.initializer || (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifier(p.name)); }); + var hasTransformableStatics = shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(staticPropertiesOrClassStaticBlocks, function (p) { return ts.isClassStaticBlockDeclaration(p) || !!p.initializer || ts.isPrivateIdentifier(p.name); }); if (hasTransformableStatics || ts.some(pendingExpressions)) { if (isDecoratedClassDeclaration) { ts.Debug.assertIsDefined(pendingStatements, "Decorated classes transformed by TypeScript are expected to be within a variable declaration."); @@ -92693,6 +93353,7 @@ var ts; return undefined; } function transformClassMembers(node, isDerivedClass) { + var members = []; if (shouldTransformPrivateElementsOrClassStaticBlocks) { // Declare private names. for (var _i = 0, _a = node.members; _i < _a.length; _i++) { @@ -92705,12 +93366,20 @@ var ts; createBrandCheckWeakSetForPrivateMethods(); } } - var members = []; var constructor = transformConstructor(node, isDerivedClass); + var visitedMembers = ts.visitNodes(node.members, classElementVisitor, ts.isClassElement); if (constructor) { members.push(constructor); } - ts.addRange(members, ts.visitNodes(node.members, classElementVisitor, ts.isClassElement)); + if (!shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(pendingExpressions)) { + members.push(factory.createClassStaticBlockDeclaration( + /*decorators*/ undefined, + /*modifiers*/ undefined, factory.createBlock([ + factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions)) + ]))); + pendingExpressions = undefined; + } + ts.addRange(members, visitedMembers); return ts.setTextRange(factory.createNodeArray(members), /*location*/ node.members); } function createBrandCheckWeakSetForPrivateMethods() { @@ -92726,7 +93395,7 @@ var ts; if (useDefineForClassFields) { // If we are using define semantics and targeting ESNext or higher, // then we don't need to transform any class properties. - return languageVersion < 99 /* ESNext */; + return languageVersion < 9 /* ES2022 */; } return ts.isInitializedProperty(member) || shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierClassElementDeclaration(member); } @@ -92746,6 +93415,7 @@ var ts; /*modifiers*/ undefined, parameters !== null && parameters !== void 0 ? parameters : [], body), constructor || node), constructor)); } function transformConstructorBody(node, constructor, isDerivedClass) { + var _a; var properties = ts.getProperties(node, /*requireInitializer*/ false, /*isStatic*/ false); if (!useDefineForClassFields) { properties = ts.filter(properties, function (property) { return !!property.initializer || ts.isPrivateIdentifier(property.name); }); @@ -92757,9 +93427,21 @@ var ts; return ts.visitFunctionBody(/*node*/ undefined, visitor, context); } resumeLexicalEnvironment(); - var indexOfFirstStatement = 0; + var needsSyntheticConstructor = !constructor && isDerivedClass; + var indexOfFirstStatementAfterSuper = 0; + var prologueStatementCount = 0; + var superStatementIndex = -1; var statements = []; - if (!constructor && isDerivedClass) { + if ((_a = constructor === null || constructor === void 0 ? void 0 : constructor.body) === null || _a === void 0 ? void 0 : _a.statements) { + prologueStatementCount = factory.copyPrologue(constructor.body.statements, statements, /*ensureUseStrict*/ false, visitor); + superStatementIndex = ts.findSuperStatementIndex(constructor.body.statements, prologueStatementCount); + // If there was a super call, visit existing statements up to and including it + if (superStatementIndex >= 0) { + indexOfFirstStatementAfterSuper = superStatementIndex + 1; + statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, prologueStatementCount), true), ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, prologueStatementCount, indexOfFirstStatementAfterSuper - prologueStatementCount), true), statements.slice(prologueStatementCount), true); + } + } + if (needsSyntheticConstructor) { // Add a synthetic `super` call: // // super(...arguments); @@ -92767,9 +93449,6 @@ var ts; statements.push(factory.createExpressionStatement(factory.createCallExpression(factory.createSuper(), /*typeArguments*/ undefined, [factory.createSpreadElement(factory.createIdentifier("arguments"))]))); } - if (constructor) { - indexOfFirstStatement = ts.addPrologueDirectivesAndInitialSuperCall(factory, constructor, statements, visitor); - } // Add the property initializers. Transforms this: // // public x = 1; @@ -92780,31 +93459,59 @@ var ts; // this.x = 1; // } // + // If we do useDefineForClassFields, they'll be converted elsewhere. + // We instead *remove* them from the transformed output at this stage. + var parameterPropertyDeclarationCount = 0; if (constructor === null || constructor === void 0 ? void 0 : constructor.body) { - var afterParameterProperties = ts.findIndex(constructor.body.statements, function (s) { return !ts.isParameterPropertyDeclaration(ts.getOriginalNode(s), constructor); }, indexOfFirstStatement); - if (afterParameterProperties === -1) { - afterParameterProperties = constructor.body.statements.length; + if (useDefineForClassFields) { + statements = statements.filter(function (statement) { return !ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor); }); } - if (afterParameterProperties > indexOfFirstStatement) { - if (!useDefineForClassFields) { - ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, indexOfFirstStatement, afterParameterProperties - indexOfFirstStatement)); + else { + for (var _i = 0, _b = constructor.body.statements; _i < _b.length; _i++) { + var statement = _b[_i]; + if (ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor)) { + parameterPropertyDeclarationCount++; + } + } + if (parameterPropertyDeclarationCount > 0) { + var parameterProperties = ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, indexOfFirstStatementAfterSuper, parameterPropertyDeclarationCount); + // If there was a super() call found, add parameter properties immediately after it + if (superStatementIndex >= 0) { + ts.addRange(statements, parameterProperties); + } + // If a synthetic super() call was added, add them just after it + else if (needsSyntheticConstructor) { + statements = __spreadArray(__spreadArray([ + statements[0] + ], parameterProperties, true), statements.slice(1), true); + } + // Since there wasn't a super() call, add them to the top of the constructor + else { + statements = __spreadArray(__spreadArray([], parameterProperties, true), statements, true); + } + indexOfFirstStatementAfterSuper += parameterPropertyDeclarationCount; } - indexOfFirstStatement = afterParameterProperties; } } var receiver = factory.createThis(); // private methods can be called in property initializers, they should execute first. addMethodStatements(statements, privateMethodsAndAccessors, receiver); addPropertyOrClassStaticBlockStatements(statements, properties, receiver); - // Add existing statements, skipping the initial super call. + // Add existing statements after the initial prologues and super call if (constructor) { - ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, indexOfFirstStatement)); + ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitBodyStatement, ts.isStatement, indexOfFirstStatementAfterSuper + prologueStatementCount)); } statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); return ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), /*location*/ constructor ? constructor.body.statements : node.members), /*multiLine*/ true), /*location*/ constructor ? constructor.body : undefined); + function visitBodyStatement(statement) { + if (useDefineForClassFields && ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor)) { + return undefined; + } + return visitor(statement); + } } /** * Generates assignment statements for property initializers. @@ -92815,19 +93522,34 @@ var ts; function addPropertyOrClassStaticBlockStatements(statements, properties, receiver) { for (var _i = 0, properties_7 = properties; _i < properties_7.length; _i++) { var property = properties_7[_i]; - var expression = ts.isClassStaticBlockDeclaration(property) ? - transformClassStaticBlockDeclaration(property) : - transformProperty(property, receiver); - if (!expression) { + if (ts.isStatic(property) && !shouldTransformPrivateElementsOrClassStaticBlocks && !useDefineForClassFields) { + continue; + } + var statement = transformPropertyOrClassStaticBlock(property, receiver); + if (!statement) { continue; } - var statement = factory.createExpressionStatement(expression); - ts.setSourceMapRange(statement, ts.moveRangePastModifiers(property)); - ts.setCommentRange(statement, property); - ts.setOriginalNode(statement, property); statements.push(statement); } } + function transformPropertyOrClassStaticBlock(property, receiver) { + var expression = ts.isClassStaticBlockDeclaration(property) ? + transformClassStaticBlockDeclaration(property) : + transformProperty(property, receiver); + if (!expression) { + return undefined; + } + var statement = factory.createExpressionStatement(expression); + ts.setSourceMapRange(statement, ts.moveRangePastModifiers(property)); + ts.setCommentRange(statement, property); + ts.setOriginalNode(statement, property); + // `setOriginalNode` *copies* the `emitNode` from `property`, so now both + // `statement` and `expression` have a copy of the synthesized comments. + // Drop the comments from expression to avoid printing them twice. + ts.setSyntheticLeadingComments(expression, undefined); + ts.setSyntheticTrailingComments(expression, undefined); + return statement; + } /** * Generates assignment expressions for property initializers. * @@ -93268,8 +93990,8 @@ var ts; } function createHoistedVariableForClass(name, node) { var className = getPrivateIdentifierEnvironment().className; - var prefix = className ? "_" + className : ""; - var identifier = factory.createUniqueName(prefix + "_" + name, 16 /* Optimistic */); + var prefix = className ? "_".concat(className) : ""; + var identifier = factory.createUniqueName("".concat(prefix, "_").concat(name), 16 /* Optimistic */); if (resolver.getNodeCheckFlags(node) & 524288 /* BlockScopedBindingInLoop */) { addBlockScopedVariable(identifier); } @@ -93519,7 +94241,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 128 /* ContainsES2017 */) === 0) { + if ((node.transformFlags & 256 /* ContainsES2017 */) === 0) { return node; } switch (node.kind) { @@ -94077,6 +94799,7 @@ var ts; var exportedVariableStatement = false; var enabledSubstitutions; var enclosingFunctionFlags; + var parametersWithPrecedingObjectRestOrSpread; var enclosingSuperContainerFlags = 0; var hierarchyFacts = 0; var currentSourceFile; @@ -94152,7 +94875,7 @@ var ts; * expression of an `ExpressionStatement`). */ function visitorWorker(node, expressionResultIsUnused) { - if ((node.transformFlags & 64 /* ContainsES2018 */) === 0) { + if ((node.transformFlags & 128 /* ContainsES2018 */) === 0) { return node; } switch (node.kind) { @@ -94235,7 +94958,7 @@ var ts; function visitYieldExpression(node) { if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { if (node.asteriskToken) { - var expression = ts.visitNode(ts.Debug.assertDefined(node.expression), visitor, ts.isExpression); + var expression = ts.visitNode(ts.Debug.checkDefined(node.expression), visitor, ts.isExpression); return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression( /*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(factory.updateYieldExpression(node, node.asteriskToken, ts.setTextRange(emitHelpers().createAsyncDelegatorHelper(ts.setTextRange(emitHelpers().createAsyncValuesHelper(expression), expression)), expression)))), node), node); } @@ -94533,6 +95256,7 @@ var ts; /*incrementor*/ undefined, /*statement*/ convertForOfStatementHead(node, getValue)), /*location*/ node), 256 /* NoTokenTrailingSourceMaps */); + ts.setOriginalNode(forStatement, node); return factory.createTryStatement(factory.createBlock([ factory.restoreEnclosingLabel(forStatement, outermostLabeledStatement) ]), factory.createCatchClause(factory.createVariableDeclaration(catchVariable), ts.setEmitFlags(factory.createBlock([ @@ -94550,7 +95274,19 @@ var ts; ]), 1 /* SingleLine */)) ])); } + function parameterVisitor(node) { + ts.Debug.assertNode(node, ts.isParameter); + return visitParameter(node); + } function visitParameter(node) { + if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) { + return factory.updateParameterDeclaration(node, + /*decorators*/ undefined, + /*modifiers*/ undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, + /*questionToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined); + } if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { // Binding patterns are converted into a generated name and are // evaluated inside the function body. @@ -94562,85 +95298,119 @@ var ts; } return ts.visitEachChild(node, visitor, context); } + function collectParametersWithPrecedingObjectRestOrSpread(node) { + var parameters; + for (var _i = 0, _a = node.parameters; _i < _a.length; _i++) { + var parameter = _a[_i]; + if (parameters) { + parameters.add(parameter); + } + else if (parameter.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + parameters = new ts.Set(); + } + } + return parameters; + } function visitConstructorDeclaration(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; - enclosingFunctionFlags = 0 /* Normal */; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; + enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateConstructorDeclaration(node, - /*decorators*/ undefined, node.modifiers, ts.visitParameterList(node.parameters, visitor, context), transformFunctionBody(node)); + /*decorators*/ undefined, node.modifiers, ts.visitParameterList(node.parameters, parameterVisitor, context), transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function visitGetAccessorDeclaration(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; - enclosingFunctionFlags = 0 /* Normal */; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; + enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateGetAccessorDeclaration(node, - /*decorators*/ undefined, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, visitor, context), + /*decorators*/ undefined, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function visitSetAccessorDeclaration(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; - enclosingFunctionFlags = 0 /* Normal */; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; + enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateSetAccessorDeclaration(node, - /*decorators*/ undefined, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, visitor, context), transformFunctionBody(node)); + /*decorators*/ undefined, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function visitMethodDeclaration(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateMethodDeclaration(node, /*decorators*/ undefined, enclosingFunctionFlags & 1 /* Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* Async */ ? undefined : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function visitFunctionDeclaration(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateFunctionDeclaration(node, /*decorators*/ undefined, enclosingFunctionFlags & 1 /* Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* Async */ ? undefined : node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function visitArrowFunction(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateArrowFunction(node, node.modifiers, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, node.equalsGreaterThanToken, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function visitFunctionExpression(node) { var savedEnclosingFunctionFlags = enclosingFunctionFlags; + var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); + parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateFunctionExpression(node, enclosingFunctionFlags & 1 /* Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* Async */ ? undefined : node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; + parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; } function transformAsyncGeneratorFunctionBody(node) { @@ -94701,16 +95471,71 @@ var ts; return body; } function appendObjectRestAssignmentsIfNeeded(statements, node) { + var containsPrecedingObjectRestOrSpread = false; for (var _i = 0, _a = node.parameters; _i < _a.length; _i++) { var parameter = _a[_i]; - if (parameter.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { - var temp = factory.getGeneratedNameForNode(parameter); - var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* ObjectRest */, temp, + if (containsPrecedingObjectRestOrSpread) { + if (ts.isBindingPattern(parameter.name)) { + // In cases where a binding pattern is simply '[]' or '{}', + // we usually don't want to emit a var declaration; however, in the presence + // of an initializer, we must emit that expression to preserve side effects. + // + // NOTE: see `insertDefaultValueAssignmentForBindingPattern` in es2015.ts + if (parameter.name.elements.length > 0) { + var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* All */, factory.getGeneratedNameForNode(parameter)); + if (ts.some(declarations)) { + var declarationList = factory.createVariableDeclarationList(declarations); + var statement = factory.createVariableStatement(/*modifiers*/ undefined, declarationList); + ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + statements = ts.append(statements, statement); + } + } + else if (parameter.initializer) { + var name = factory.getGeneratedNameForNode(parameter); + var initializer = ts.visitNode(parameter.initializer, visitor, ts.isExpression); + var assignment = factory.createAssignment(name, initializer); + var statement = factory.createExpressionStatement(assignment); + ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + statements = ts.append(statements, statement); + } + } + else if (parameter.initializer) { + // Converts a parameter initializer into a function body statement, i.e.: + // + // function f(x = 1) { } + // + // becomes + // + // function f(x) { + // if (typeof x === "undefined") { x = 1; } + // } + var name = factory.cloneNode(parameter.name); + ts.setTextRange(name, parameter.name); + ts.setEmitFlags(name, 48 /* NoSourceMap */); + var initializer = ts.visitNode(parameter.initializer, visitor, ts.isExpression); + ts.addEmitFlags(initializer, 48 /* NoSourceMap */ | 1536 /* NoComments */); + var assignment = factory.createAssignment(name, initializer); + ts.setTextRange(assignment, parameter); + ts.setEmitFlags(assignment, 1536 /* NoComments */); + var block = factory.createBlock([factory.createExpressionStatement(assignment)]); + ts.setTextRange(block, parameter); + ts.setEmitFlags(block, 1 /* SingleLine */ | 32 /* NoTrailingSourceMap */ | 384 /* NoTokenSourceMaps */ | 1536 /* NoComments */); + var typeCheck = factory.createTypeCheck(factory.cloneNode(parameter.name), "undefined"); + var statement = factory.createIfStatement(typeCheck, block); + ts.startOnNewLine(statement); + ts.setTextRange(statement, parameter); + ts.setEmitFlags(statement, 384 /* NoTokenSourceMaps */ | 32 /* NoTrailingSourceMap */ | 1048576 /* CustomPrologue */ | 1536 /* NoComments */); + statements = ts.append(statements, statement); + } + } + else if (parameter.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + containsPrecedingObjectRestOrSpread = true; + var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* ObjectRest */, factory.getGeneratedNameForNode(parameter), /*doNotRecordTempVariablesInLine*/ false, /*skipInitializer*/ true); if (ts.some(declarations)) { - var statement = factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(declarations)); + var declarationList = factory.createVariableDeclarationList(declarations); + var statement = factory.createVariableStatement(/*modifiers*/ undefined, declarationList); ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); statements = ts.append(statements, statement); } @@ -94849,7 +95674,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 32 /* ContainsES2019 */) === 0) { + if ((node.transformFlags & 64 /* ContainsES2019 */) === 0) { return node; } switch (node.kind) { @@ -94881,7 +95706,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 16 /* ContainsES2020 */) === 0) { + if ((node.transformFlags & 32 /* ContainsES2020 */) === 0) { return node; } switch (node.kind) { @@ -94977,11 +95802,11 @@ var ts; } function visitOptionalExpression(node, captureThisArg, isDelete) { var _a = flattenChain(node), expression = _a.expression, chain = _a.chain; - var left = visitNonOptionalExpression(expression, ts.isCallChain(chain[0]), /*isDelete*/ false); + var left = visitNonOptionalExpression(ts.skipPartiallyEmittedExpressions(expression), ts.isCallChain(chain[0]), /*isDelete*/ false); var leftThisArg = ts.isSyntheticReference(left) ? left.thisArg : undefined; - var leftExpression = ts.isSyntheticReference(left) ? left.expression : left; - var capturedLeft = leftExpression; - if (!ts.isSimpleCopiableExpression(leftExpression)) { + var capturedLeft = ts.isSyntheticReference(left) ? left.expression : left; + var leftExpression = factory.restoreOuterExpressions(expression, capturedLeft, 8 /* PartiallyEmittedExpressions */); + if (!ts.isSimpleCopiableExpression(capturedLeft)) { capturedLeft = factory.createTempVariable(hoistVariableDeclaration); leftExpression = factory.createAssignment(capturedLeft, leftExpression); } @@ -95007,6 +95832,10 @@ var ts; break; case 207 /* CallExpression */: if (i === 0 && leftThisArg) { + if (!ts.isGeneratedIdentifier(leftThisArg)) { + leftThisArg = factory.cloneNode(leftThisArg); + ts.addEmitFlags(leftThisArg, 1536 /* NoComments */); + } rightExpression = factory.createFunctionCallCall(rightExpression, leftThisArg.kind === 106 /* SuperKeyword */ ? factory.createThis() : leftThisArg, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); } else { @@ -95058,7 +95887,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 8 /* ContainsES2021 */) === 0) { + if ((node.transformFlags & 16 /* ContainsES2021 */) === 0) { return node; } switch (node.kind) { @@ -95160,14 +95989,14 @@ var ts; return existing.name; } if (!currentFileState.utilizedImplicitRuntimeImports) { - currentFileState.utilizedImplicitRuntimeImports = ts.createMap(); + currentFileState.utilizedImplicitRuntimeImports = new ts.Map(); } var specifierSourceImports = currentFileState.utilizedImplicitRuntimeImports.get(importSource); if (!specifierSourceImports) { - specifierSourceImports = ts.createMap(); + specifierSourceImports = new ts.Map(); currentFileState.utilizedImplicitRuntimeImports.set(importSource, specifierSourceImports); } - var generatedName = factory.createUniqueName("_" + name, 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */); + var generatedName = factory.createUniqueName("_".concat(name), 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */); var specifier = factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier(name), generatedName); generatedName.generatedImportReference = specifier; specifierSourceImports.set(name, specifier); @@ -95316,10 +96145,19 @@ var ts; var _a; var nonWhitespaceChildren = ts.getSemanticJsxChildren(children); var isStaticChildren = ts.length(nonWhitespaceChildren) > 1 || !!((_a = nonWhitespaceChildren[0]) === null || _a === void 0 ? void 0 : _a.dotDotDotToken); - var args = [tagName, objectProperties, !keyAttr ? factory.createVoidZero() : transformJsxAttributeInitializer(keyAttr.initializer)]; + var args = [tagName, objectProperties]; + // function jsx(type, config, maybeKey) {} + // "maybeKey" is optional. It is acceptable to use "_jsx" without a third argument + if (keyAttr) { + args.push(transformJsxAttributeInitializer(keyAttr.initializer)); + } if (compilerOptions.jsx === 5 /* ReactJSXDev */) { var originalFile = ts.getOriginalNode(currentSourceFile); if (originalFile && ts.isSourceFile(originalFile)) { + // "maybeKey" has to be replaced with "void 0" to not break the jsxDEV signature + if (keyAttr === undefined) { + args.push(factory.createVoidZero()); + } // isStaticChildren development flag args.push(isStaticChildren ? factory.createTrue() : factory.createFalse()); // __source development flag @@ -95822,7 +96660,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 256 /* ContainsES2016 */) === 0) { + if ((node.transformFlags & 512 /* ContainsES2016 */) === 0) { return node; } switch (node.kind) { @@ -96070,7 +96908,7 @@ var ts; || ts.isBlock(node)); } function shouldVisitNode(node) { - return (node.transformFlags & 512 /* ContainsES2015 */) !== 0 + return (node.transformFlags & 1024 /* ContainsES2015 */) !== 0 || convertedLoopState !== undefined || (hierarchyFacts & 8192 /* ConstructorWithCapturedSuper */ && isOrMayContainReturnCompletion(node)) || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatement(node)) @@ -96306,11 +97144,11 @@ var ts; } else { if (node.kind === 245 /* BreakStatement */) { - labelMarker = "break-" + label.escapedText; + labelMarker = "break-".concat(label.escapedText); setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + label.escapedText; + labelMarker = "continue-".concat(label.escapedText); setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker); } } @@ -96587,37 +97425,39 @@ var ts; var prologue = []; var statements = []; resumeLexicalEnvironment(); + // In derived classes, there may be code before the necessary super() call + // We'll remove pre-super statements to be tacked on after the rest of the body + var existingPrologue = ts.takeWhile(constructor.body.statements, ts.isPrologueDirective); + var _a = findSuperCallAndStatementIndex(constructor.body.statements, existingPrologue), superCall = _a.superCall, superStatementIndex = _a.superStatementIndex; + var postSuperStatementsStart = superStatementIndex === -1 ? existingPrologue.length : superStatementIndex + 1; // If a super call has already been synthesized, // we're going to assume that we should just transform everything after that. // The assumption is that no prior step in the pipeline has added any prologue directives. - var statementOffset = 0; + var statementOffset = postSuperStatementsStart; if (!hasSynthesizedSuper) - statementOffset = factory.copyStandardPrologue(constructor.body.statements, prologue, /*ensureUseStrict*/ false); - addDefaultValueAssignmentsIfNeeded(statements, constructor); - addRestParameterIfNeeded(statements, constructor, hasSynthesizedSuper); + statementOffset = factory.copyStandardPrologue(constructor.body.statements, prologue, statementOffset, /*ensureUseStrict*/ false); if (!hasSynthesizedSuper) - statementOffset = factory.copyCustomPrologue(constructor.body.statements, statements, statementOffset, visitor); - // If the first statement is a call to `super()`, visit the statement directly + statementOffset = factory.copyCustomPrologue(constructor.body.statements, statements, statementOffset, visitor, /*filter*/ undefined); + // If there already exists a call to `super()`, visit the statement directly var superCallExpression; if (hasSynthesizedSuper) { superCallExpression = createDefaultSuperCallOrThis(); } - else if (isDerivedClass && statementOffset < constructor.body.statements.length) { - var firstStatement = constructor.body.statements[statementOffset]; - if (ts.isExpressionStatement(firstStatement) && ts.isSuperCall(firstStatement.expression)) { - superCallExpression = visitImmediateSuperCallInBody(firstStatement.expression); - } + else if (superCall) { + superCallExpression = visitSuperCallInBody(superCall); } if (superCallExpression) { hierarchyFacts |= 8192 /* ConstructorWithCapturedSuper */; - statementOffset++; // skip this statement, we will add it after visiting the rest of the body. } + // Add parameter defaults at the beginning of the output, with prologue statements + addDefaultValueAssignmentsIfNeeded(prologue, constructor); + addRestParameterIfNeeded(prologue, constructor, hasSynthesizedSuper); // visit the remaining statements ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, /*start*/ statementOffset)); factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment()); insertCaptureNewTargetIfNeeded(prologue, constructor, /*copyOnWrite*/ false); - if (isDerivedClass) { - if (superCallExpression && statementOffset === constructor.body.statements.length && !(constructor.body.transformFlags & 8192 /* ContainsLexicalThis */)) { + if (isDerivedClass || superCallExpression) { + if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192 /* ContainsLexicalThis */)) { // If the subclass constructor does *not* contain `this` and *ends* with a `super()` call, we will use the // following representation: // @@ -96637,10 +97477,10 @@ var ts; // return C; // })(Base); // ``` - var superCall = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression); + var superCall_1 = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression); var returnStatement = factory.createReturnStatement(superCallExpression); - ts.setCommentRange(returnStatement, ts.getCommentRange(superCall)); - ts.setEmitFlags(superCall, 1536 /* NoComments */); + ts.setCommentRange(returnStatement, ts.getCommentRange(superCall_1)); + ts.setEmitFlags(superCall_1, 1536 /* NoComments */); statements.push(returnStatement); } else { @@ -96665,9 +97505,19 @@ var ts; // return C; // })(Base); // ``` - // Since the `super()` call was the first statement, we insert the `this` capturing call to - // `super()` at the top of the list of `statements` (after any pre-existing custom prologues). - insertCaptureThisForNode(statements, constructor, superCallExpression || createActualThis()); + // If the super() call is the first statement, we can directly create and assign its result to `_this` + if (superStatementIndex <= existingPrologue.length) { + insertCaptureThisForNode(statements, constructor, superCallExpression || createActualThis()); + } + // Since the `super()` call isn't the first statement, it's split across 1-2 statements: + // * A prologue `var _this = this;`, in case the constructor accesses this before super() + // * If it exists, a reassignment to that `_this` of the super() call + else { + insertCaptureThisForNode(prologue, constructor, createActualThis()); + if (superCallExpression) { + insertSuperThisCaptureThisForNode(statements, superCallExpression); + } + } if (!isSufficientlyCoveredByReturnStatements(constructor.body)) { statements.push(factory.createReturnStatement(factory.createUniqueName("_this", 16 /* Optimistic */ | 32 /* FileLevel */))); } @@ -96690,11 +97540,27 @@ var ts; // ``` insertCaptureThisForNodeIfNeeded(prologue, constructor); } - var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(ts.concatenate(prologue, statements)), + var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex)), true), statements, true)), /*location*/ constructor.body.statements), /*multiLine*/ true); - ts.setTextRange(block, constructor.body); - return block; + ts.setTextRange(body, constructor.body); + return body; + } + function findSuperCallAndStatementIndex(originalBodyStatements, existingPrologue) { + for (var i = existingPrologue.length; i < originalBodyStatements.length; i += 1) { + var superCall = ts.getSuperCallFromStatement(originalBodyStatements[i]); + if (superCall) { + // With a super() call, split the statements into pre-super() and 'body' (post-super()) + return { + superCall: superCall, + superStatementIndex: i, + }; + } + } + // Since there was no super() call found, consider all statements to be in the main 'body' (post-super()) + return { + superStatementIndex: -1, + }; } /** * We want to try to avoid emitting a return statement in certain cases if a user already returned something. @@ -96923,6 +97789,18 @@ var ts; } return false; } + /** + * Assigns the `this` in a constructor to the result of its `super()` call. + * + * @param statements Statements in the constructor body. + * @param superExpression Existing `super()` call for the constructor. + */ + function insertSuperThisCaptureThisForNode(statements, superExpression) { + enableSubstitutionsForCapturedThis(); + var assignSuperExpression = factory.createExpressionStatement(factory.createBinaryExpression(factory.createThis(), 63 /* EqualsToken */, superExpression)); + ts.insertStatementAfterCustomPrologue(statements, assignSuperExpression); + ts.setCommentRange(assignSuperExpression, ts.getOriginalNode(superExpression).parent); + } function insertCaptureThisForNode(statements, node, initializer) { enableSubstitutionsForCapturedThis(); var captureThisStatement = factory.createVariableStatement( @@ -97232,7 +98110,7 @@ var ts; if (ts.isBlock(body)) { // ensureUseStrict is false because no new prologue-directive should be added. // addStandardPrologue will put already-existing directives at the beginning of the target statement-array - statementOffset = factory.copyStandardPrologue(body.statements, prologue, /*ensureUseStrict*/ false); + statementOffset = factory.copyStandardPrologue(body.statements, prologue, 0, /*ensureUseStrict*/ false); statementOffset = factory.copyCustomPrologue(body.statements, statements, statementOffset, visitor, ts.isHoistedFunction); statementOffset = factory.copyCustomPrologue(body.statements, statements, statementOffset, visitor, ts.isHoistedVariableStatement); } @@ -97908,10 +98786,12 @@ var ts; // variables declared in the loop initializer that will be changed inside the loop var loopOutParameters = []; if (loopInitializer && (ts.getCombinedNodeFlags(loopInitializer) & 3 /* BlockScoped */)) { - var hasCapturedBindingsInForInitializer = shouldConvertInitializerOfForStatement(node); + var hasCapturedBindingsInForHead = shouldConvertInitializerOfForStatement(node) || + shouldConvertConditionOfForStatement(node) || + shouldConvertIncrementorOfForStatement(node); for (var _i = 0, _a = loopInitializer.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - processLoopVariableDeclaration(node, decl, loopParameters, loopOutParameters, hasCapturedBindingsInForInitializer); + processLoopVariableDeclaration(node, decl, loopParameters, loopOutParameters, hasCapturedBindingsInForHead); } } var currentState = { loopParameters: loopParameters, loopOutParameters: loopOutParameters }; @@ -98265,27 +99145,33 @@ var ts; caseClauses.push(factory.createCaseClause(factory.createStringLiteral(labelMarker), statements)); }); } - function processLoopVariableDeclaration(container, decl, loopParameters, loopOutParameters, hasCapturedBindingsInForInitializer) { + function processLoopVariableDeclaration(container, decl, loopParameters, loopOutParameters, hasCapturedBindingsInForHead) { var name = decl.name; if (ts.isBindingPattern(name)) { for (var _i = 0, _a = name.elements; _i < _a.length; _i++) { var element = _a[_i]; if (!ts.isOmittedExpression(element)) { - processLoopVariableDeclaration(container, element, loopParameters, loopOutParameters, hasCapturedBindingsInForInitializer); + processLoopVariableDeclaration(container, element, loopParameters, loopOutParameters, hasCapturedBindingsInForHead); } } } else { loopParameters.push(factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, name)); var checkFlags = resolver.getNodeCheckFlags(decl); - if (checkFlags & 4194304 /* NeedsLoopOutParameter */ || hasCapturedBindingsInForInitializer) { + if (checkFlags & 4194304 /* NeedsLoopOutParameter */ || hasCapturedBindingsInForHead) { var outParamName = factory.createUniqueName("out_" + ts.idText(name)); var flags = 0; if (checkFlags & 4194304 /* NeedsLoopOutParameter */) { flags |= 1 /* Body */; } - if (ts.isForStatement(container) && container.initializer && resolver.isBindingCapturedByNode(container.initializer, decl)) { - flags |= 2 /* Initializer */; + if (ts.isForStatement(container)) { + if (container.initializer && resolver.isBindingCapturedByNode(container.initializer, decl)) { + flags |= 2 /* Initializer */; + } + if (container.condition && resolver.isBindingCapturedByNode(container.condition, decl) || + container.incrementor && resolver.isBindingCapturedByNode(container.incrementor, decl)) { + flags |= 1 /* Body */; + } } loopOutParameters.push({ flags: flags, originalName: name, outParamName: outParamName }); } @@ -98603,7 +99489,7 @@ var ts; /*type*/ undefined, factory.updateBlock(func.body, statements))), /*typeArguments*/ undefined, call.arguments)))); } - function visitImmediateSuperCallInBody(node) { + function visitSuperCallInBody(node) { return visitCallExpressionWithPotentialCapturedThisAssignment(node, /*assignToCapturedThis*/ false); } function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) { @@ -99383,7 +100269,7 @@ var ts; var withBlockStack; // A stack containing `with` blocks. return ts.chainBundle(context, transformSourceFile); function transformSourceFile(node) { - if (node.isDeclarationFile || (node.transformFlags & 1024 /* ContainsGenerator */) === 0) { + if (node.isDeclarationFile || (node.transformFlags & 2048 /* ContainsGenerator */) === 0) { return node; } var visited = ts.visitEachChild(node, visitor, context); @@ -99406,7 +100292,7 @@ var ts; else if (ts.isFunctionLikeDeclaration(node) && node.asteriskToken) { return visitGenerator(node); } - else if (transformFlags & 1024 /* ContainsGenerator */) { + else if (transformFlags & 2048 /* ContainsGenerator */) { return ts.visitEachChild(node, visitor, context); } else { @@ -99462,7 +100348,7 @@ var ts; if (node.transformFlags & 524288 /* ContainsYield */) { return visitJavaScriptContainingYield(node); } - else if (node.transformFlags & (1024 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) { + else if (node.transformFlags & (2048 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) { return ts.visitEachChild(node, visitor, context); } else { @@ -102111,7 +102997,7 @@ var ts; function visitorWorker(node, valueIsDiscarded) { // This visitor does not need to descend into the tree if there is no dynamic import, destructuring assignment, or update expression // as export/import statements are only transformed at the top level of a file. - if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 2048 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) { + if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 4096 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) { return node; } switch (node.kind) { @@ -103101,7 +103987,7 @@ var ts; if (ts.isIdentifier(node.expression)) { var expression = substituteExpressionIdentifier(node.expression); noSubstitution[ts.getNodeId(expression)] = true; - if (!ts.isIdentifier(expression)) { + if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* HelperName */)) { return ts.addEmitFlags(factory.updateCallExpression(node, expression, /*typeArguments*/ undefined, node.arguments), 536870912 /* IndirectCall */); } @@ -103112,7 +103998,7 @@ var ts; if (ts.isIdentifier(node.tag)) { var tag = substituteExpressionIdentifier(node.tag); noSubstitution[ts.getNodeId(tag)] = true; - if (!ts.isIdentifier(tag)) { + if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* HelperName */)) { return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag, /*typeArguments*/ undefined, node.template), 536870912 /* IndirectCall */); } @@ -104327,7 +105213,7 @@ var ts; * @param node The node to visit. */ function visitorWorker(node, valueIsDiscarded) { - if (!(node.transformFlags & (2048 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) { + if (!(node.transformFlags & (4096 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) { return node; } switch (node.kind) { @@ -105119,7 +106005,7 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.SyntaxKind[node.kind])); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { if (node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */) { @@ -105330,7 +106216,7 @@ var ts; ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1; default: - return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.SyntaxKind[node.parent.kind])); } } function getTypeParameterConstraintVisibilityError() { @@ -106088,7 +106974,7 @@ var ts; while (ts.length(lateMarkedStatements)) { var i = lateMarkedStatements.shift(); if (!ts.isLateVisibilityPaintedStatement(i)) { - return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: " + (ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); + return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); } var priorNeedsDeclare = needsDeclare; needsDeclare = i.parent && ts.isSourceFile(i.parent) && !(ts.isExternalModule(i.parent) && isBundledEmit); @@ -106277,7 +107163,7 @@ var ts; return cleanup(input); return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); } - default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: " + ts.SyntaxKind[input.kind]); + default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.SyntaxKind[input.kind])); } } if (ts.isTupleTypeNode(input) && (ts.getLineAndCharacterOfPosition(currentSourceFile, input.pos).line === ts.getLineAndCharacterOfPosition(currentSourceFile, input.end).line)) { @@ -106568,7 +107454,7 @@ var ts; if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104 /* NullKeyword */) { // We must add a temporary declaration for the extends clause expression var oldId = input.name ? ts.unescapeLeadingUnderscores(input.name.escapedText) : "default"; - var newId_1 = factory.createUniqueName(oldId + "_base", 16 /* Optimistic */); + var newId_1 = factory.createUniqueName("".concat(oldId, "_base"), 16 /* Optimistic */); getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: extendsClause_1, @@ -106609,7 +107495,7 @@ var ts; } } // Anything left unhandled is an error, so this should be unreachable - return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: " + ts.SyntaxKind[input.kind]); + return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.SyntaxKind[input.kind])); function cleanup(node) { if (isEnclosingDeclaration(input)) { enclosingDeclaration = previousEnclosingDeclaration; @@ -107501,13 +108387,13 @@ var ts; if (ts.fileExtensionIs(inputFileName, ".json" /* Json */)) return; if (js && configFile.options.sourceMap) { - addOutput(js + ".map"); + addOutput("".concat(js, ".map")); } if (ts.getEmitDeclarations(configFile.options)) { var dts = getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory); addOutput(dts); if (configFile.options.declarationMap) { - addOutput(dts + ".map"); + addOutput("".concat(dts, ".map")); } } } @@ -107576,7 +108462,7 @@ var ts; function getFirstProjectOutput(configFile, ignoreCase) { if (ts.outFile(configFile.options)) { var jsFilePath = getOutputPathsForBundle(configFile.options, /*forceDtsPaths*/ false).jsFilePath; - return ts.Debug.checkDefined(jsFilePath, "project " + configFile.options.configFilePath + " expected to have at least one output"); + return ts.Debug.checkDefined(jsFilePath, "project ".concat(configFile.options.configFilePath, " expected to have at least one output")); } var getCommonSourceDirectory = ts.memoize(function () { return getCommonSourceDirectoryOfConfig(configFile, ignoreCase); }); for (var _a = 0, _b = configFile.fileNames; _a < _b.length; _a++) { @@ -107595,7 +108481,7 @@ var ts; var buildInfoPath = getTsBuildInfoEmitOutputFilePath(configFile.options); if (buildInfoPath) return buildInfoPath; - return ts.Debug.fail("project " + configFile.options.configFilePath + " expected to have at least one output"); + return ts.Debug.fail("project ".concat(configFile.options.configFilePath, " expected to have at least one output")); } ts.getFirstProjectOutput = getFirstProjectOutput; /*@internal*/ @@ -107821,7 +108707,7 @@ var ts; if (sourceMappingURL) { if (!writer.isAtStartOfLine()) writer.rawWrite(newLine); - writer.writeComment("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Tools can sometimes see this line as a source mapping url comment + writer.writeComment("//# ".concat("sourceMappingURL", "=").concat(sourceMappingURL)); // Tools can sometimes see this line as a source mapping url comment } // Write the source map if (sourceMapFilePath) { @@ -107870,7 +108756,7 @@ var ts; // Encode the sourceMap into the sourceMap url var sourceMapText = sourceMapGenerator.toString(); var base64SourceMapText = ts.base64encode(ts.sys, sourceMapText); - return "data:application/json;base64," + base64SourceMapText; + return "data:application/json;base64,".concat(base64SourceMapText); } var sourceMapFile = ts.getBaseFileName(ts.normalizeSlashes(ts.Debug.checkDefined(sourceMapFilePath))); if (mapOptions.mapRoot) { @@ -108050,7 +108936,7 @@ var ts; return; break; default: - ts.Debug.fail("Unexpected path: " + name); + ts.Debug.fail("Unexpected path: ".concat(name)); } outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark }); }, @@ -108759,6 +109645,7 @@ var ts; return emitJSDocSignature(node); case 325 /* JSDocTag */: case 330 /* JSDocClassTag */: + case 335 /* JSDocOverrideTag */: return emitJSDocSimpleTag(node); case 326 /* JSDocAugmentsTag */: case 327 /* JSDocImplementsTag */: @@ -108771,7 +109658,6 @@ var ts; case 332 /* JSDocPrivateTag */: case 333 /* JSDocProtectedTag */: case 334 /* JSDocReadonlyTag */: - case 335 /* JSDocOverrideTag */: return; case 336 /* JSDocCallbackTag */: return emitJSDocCallbackTag(node); @@ -108910,7 +109796,7 @@ var ts; return writeTokenNode(node, writeKeyword); if (ts.isTokenKind(node.kind)) return writeTokenNode(node, writePunctuation); - ts.Debug.fail("Unhandled SyntaxKind: " + ts.Debug.formatSyntaxKind(node.kind) + "."); + ts.Debug.fail("Unhandled SyntaxKind: ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); } function emitMappedTypeParameter(node) { emit(node.name); @@ -109075,18 +109961,21 @@ var ts; emitPlaceholder(hint, node, snippet); break; case 0 /* TabStop */: - emitTabStop(snippet); + emitTabStop(hint, node, snippet); break; } } function emitPlaceholder(hint, node, snippet) { - nonEscapingWrite("${" + snippet.order + ":"); // `${2:` + nonEscapingWrite("${".concat(snippet.order, ":")); // `${2:` pipelineEmitWithHintWorker(hint, node, /*allowSnippets*/ false); // `...` nonEscapingWrite("}"); // `}` // `${2:...}` } - function emitTabStop(snippet) { - nonEscapingWrite("$" + snippet.order); + function emitTabStop(hint, node, snippet) { + // A tab stop should only be attached to an empty node, i.e. a node that doesn't emit any text. + ts.Debug.assert(node.kind === 235 /* EmptyStatement */, "A tab stop cannot be attached to a node of kind ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); + ts.Debug.assert(hint !== 5 /* EmbeddedStatement */, "A tab stop cannot be attached to an embedded statement."); + nonEscapingWrite("$".concat(snippet.order)); } // // Identifiers @@ -109789,7 +110678,7 @@ var ts; function emitYieldExpression(node) { emitTokenWithComment(125 /* YieldKeyword */, node.pos, writeKeyword, node); emit(node.asteriskToken); - emitExpressionWithLeadingSpace(node.expression, parenthesizer.parenthesizeExpressionForDisallowedComma); + emitExpressionWithLeadingSpace(node.expression && parenthesizeExpressionForNoAsi(node.expression), parenthesizeExpressionForNoAsiAndDisallowedComma); } function emitSpreadElement(node) { emitTokenWithComment(25 /* DotDotDotToken */, node.pos, writePunctuation, node); @@ -109986,9 +110875,49 @@ var ts; } return pos; } + function commentWillEmitNewLine(node) { + return node.kind === 2 /* SingleLineCommentTrivia */ || !!node.hasTrailingNewLine; + } + function willEmitLeadingNewLine(node) { + if (!currentSourceFile) + return false; + if (ts.some(ts.getLeadingCommentRanges(currentSourceFile.text, node.pos), commentWillEmitNewLine)) + return true; + if (ts.some(ts.getSyntheticLeadingComments(node), commentWillEmitNewLine)) + return true; + if (ts.isPartiallyEmittedExpression(node)) { + if (node.pos !== node.expression.pos) { + if (ts.some(ts.getTrailingCommentRanges(currentSourceFile.text, node.expression.pos), commentWillEmitNewLine)) + return true; + } + return willEmitLeadingNewLine(node.expression); + } + return false; + } + /** + * Wraps an expression in parens if we would emit a leading comment that would introduce a line separator + * between the node and its parent. + */ + function parenthesizeExpressionForNoAsi(node) { + if (!commentsDisabled && ts.isPartiallyEmittedExpression(node) && willEmitLeadingNewLine(node)) { + var parseNode = ts.getParseTreeNode(node); + if (parseNode && ts.isParenthesizedExpression(parseNode)) { + // If the original node was a parenthesized expression, restore it to preserve comment and source map emit + var parens = ts.factory.createParenthesizedExpression(node.expression); + ts.setOriginalNode(parens, node); + ts.setTextRange(parens, parseNode); + return parens; + } + return ts.factory.createParenthesizedExpression(node); + } + return node; + } + function parenthesizeExpressionForNoAsiAndDisallowedComma(node) { + return parenthesizeExpressionForNoAsi(parenthesizer.parenthesizeExpressionForDisallowedComma(node)); + } function emitReturnStatement(node) { emitTokenWithComment(105 /* ReturnKeyword */, node.pos, writeKeyword, /*contextNode*/ node); - emitExpressionWithLeadingSpace(node.expression); + emitExpressionWithLeadingSpace(node.expression && parenthesizeExpressionForNoAsi(node.expression), parenthesizeExpressionForNoAsi); writeTrailingSemicolon(); } function emitWithStatement(node) { @@ -110016,7 +110945,7 @@ var ts; } function emitThrowStatement(node) { emitTokenWithComment(109 /* ThrowKeyword */, node.pos, writeKeyword, node); - emitExpressionWithLeadingSpace(node.expression); + emitExpressionWithLeadingSpace(parenthesizeExpressionForNoAsi(node.expression), parenthesizeExpressionForNoAsi); writeTrailingSemicolon(); } function emitTryStatement(node) { @@ -110808,17 +111737,17 @@ var ts; writeLine(); } if (currentSourceFile && currentSourceFile.moduleName) { - writeComment("/// "); + writeComment("/// ")); writeLine(); } if (currentSourceFile && currentSourceFile.amdDependencies) { for (var _a = 0, _b = currentSourceFile.amdDependencies; _a < _b.length; _a++) { var dep = _b[_a]; if (dep.name) { - writeComment("/// "); + writeComment("/// ")); } else { - writeComment("/// "); + writeComment("/// ")); } writeLine(); } @@ -110826,7 +111755,7 @@ var ts; for (var _c = 0, files_2 = files; _c < files_2.length; _c++) { var directive = files_2[_c]; var pos = writer.getTextPos(); - writeComment("/// "); + writeComment("/// ")); if (bundleFileInfo) bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* Reference */, data: directive.fileName }); writeLine(); @@ -110834,7 +111763,7 @@ var ts; for (var _d = 0, types_24 = types; _d < types_24.length; _d++) { var directive = types_24[_d]; var pos = writer.getTextPos(); - writeComment("/// "); + writeComment("/// ")); if (bundleFileInfo) bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "type" /* Type */, data: directive.fileName }); writeLine(); @@ -110842,7 +111771,7 @@ var ts; for (var _e = 0, libs_1 = libs; _e < libs_1.length; _e++) { var directive = libs_1[_e]; var pos = writer.getTextPos(); - writeComment("/// "); + writeComment("/// ")); if (bundleFileInfo) bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "lib" /* Lib */, data: directive.fileName }); writeLine(); @@ -110860,7 +111789,14 @@ var ts; } // Transformation nodes function emitPartiallyEmittedExpression(node) { + var emitFlags = ts.getEmitFlags(node); + if (!(emitFlags & 512 /* NoLeadingComments */) && node.pos !== node.expression.pos) { + emitTrailingCommentsOfPosition(node.expression.pos); + } emitExpression(node.expression); + if (!(emitFlags & 1024 /* NoTrailingComments */) && node.end !== node.expression.end) { + emitLeadingCommentsOfPosition(node.expression.end); + } } function emitCommaList(node) { emitExpressionList(node, node.elements, 528 /* CommaListElements */, /*parenthesizerRule*/ undefined); @@ -111224,10 +112160,8 @@ var ts; // Emit this child. previousSourceFileTextKind = recordBundleFileInternalSectionStart(child); if (shouldEmitInterveningComments) { - if (emitTrailingCommentsOfPosition) { - var commentRange = ts.getCommentRange(child); - emitTrailingCommentsOfPosition(commentRange.pos); - } + var commentRange = ts.getCommentRange(child); + emitTrailingCommentsOfPosition(commentRange.pos); } else { shouldEmitInterveningComments = mayEmitInterveningComments; @@ -111548,7 +112482,7 @@ var ts; function writeLineSeparatorsAndIndentBefore(node, parent) { var leadingNewlines = preserveSourceNewlines && getLeadingLineTerminatorCount(parent, [node], 0 /* None */); if (leadingNewlines) { - writeLinesAndIndent(leadingNewlines, /*writeLinesIfNotIndenting*/ false); + writeLinesAndIndent(leadingNewlines, /*writeSpaceIfNotIndenting*/ false); } return !!leadingNewlines; } @@ -111617,9 +112551,9 @@ var ts; var textSourceNode = node.textSourceNode; if (ts.isIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) { var text = ts.isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode(textSourceNode); - return jsxAttributeEscape ? "\"" + ts.escapeJsxAttributeString(text) + "\"" : - neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"" + ts.escapeString(text) + "\"" : - "\"" + ts.escapeNonAsciiString(text) + "\""; + return jsxAttributeEscape ? "\"".concat(ts.escapeJsxAttributeString(text), "\"") : + neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"".concat(ts.escapeString(text), "\"") : + "\"".concat(ts.escapeNonAsciiString(text), "\""); } else { return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape); @@ -112096,8 +113030,8 @@ var ts; } function formatSynthesizedComment(comment) { return comment.kind === 3 /* MultiLineCommentTrivia */ - ? "/*" + comment.text + "*/" - : "//" + comment.text; + ? "/*".concat(comment.text, "*/") + : "//".concat(comment.text); } function emitBodyWithDetachedComments(node, detachedRange, emitCallback) { enterComment(); @@ -112818,7 +113752,7 @@ var ts; var watchedDirPath = _a.watchedDirPath, fileOrDirectory = _a.fileOrDirectory, fileOrDirectoryPath = _a.fileOrDirectoryPath, configFileName = _a.configFileName, options = _a.options, program = _a.program, extraFileExtensions = _a.extraFileExtensions, currentDirectory = _a.currentDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, writeLog = _a.writeLog, toPath = _a.toPath; var newPath = ts.removeIgnoredPath(fileOrDirectoryPath); if (!newPath) { - writeLog("Project: " + configFileName + " Detected ignored path: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected ignored path: ").concat(fileOrDirectory)); return true; } fileOrDirectoryPath = newPath; @@ -112827,11 +113761,11 @@ var ts; // If the the added or created file or directory is not supported file name, ignore the file // But when watched directory is added/removed, we need to reload the file list if (ts.hasExtension(fileOrDirectoryPath) && !ts.isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) { - writeLog("Project: " + configFileName + " Detected file add/remove of non supported extension: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected file add/remove of non supported extension: ").concat(fileOrDirectory)); return true; } if (ts.isExcludedFile(fileOrDirectory, options.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), useCaseSensitiveFileNames, currentDirectory)) { - writeLog("Project: " + configFileName + " Detected excluded file: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected excluded file: ").concat(fileOrDirectory)); return true; } if (!program) @@ -112855,7 +113789,7 @@ var ts; var builderProgram = !realProgram && !ts.isArray(program) ? program : undefined; if (hasSourceFile((filePathWithoutExtension + ".ts" /* Ts */)) || hasSourceFile((filePathWithoutExtension + ".tsx" /* Tsx */))) { - writeLog("Project: " + configFileName + " Detected output file: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected output file: ").concat(fileOrDirectory)); return true; } return false; @@ -112923,36 +113857,36 @@ var ts; host.useCaseSensitiveFileNames(); } function createExcludeWatcherWithLogging(file, flags, options, detailInfo1, detailInfo2) { - log("ExcludeWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + log("ExcludeWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); return { - close: function () { return log("ExcludeWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); } + close: function () { return log("ExcludeWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); } }; } function createFileWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) { - log("FileWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + log("FileWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); var watcher = triggerInvokingFactory.watchFile(file, cb, flags, options, detailInfo1, detailInfo2); return { close: function () { - log("FileWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + log("FileWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); watcher.close(); } }; } function createDirectoryWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) { - var watchInfo = "DirectoryWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); + var watchInfo = "DirectoryWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); log(watchInfo); var start = ts.timestamp(); var watcher = triggerInvokingFactory.watchDirectory(file, cb, flags, options, detailInfo1, detailInfo2); var elapsed = ts.timestamp() - start; - log("Elapsed:: " + elapsed + "ms " + watchInfo); + log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo)); return { close: function () { - var watchInfo = "DirectoryWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); + var watchInfo = "DirectoryWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); log(watchInfo); var start = ts.timestamp(); watcher.close(); var elapsed = ts.timestamp() - start; - log("Elapsed:: " + elapsed + "ms " + watchInfo); + log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo)); } }; } @@ -112962,16 +113896,16 @@ var ts; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } - var triggerredInfo = (key === "watchFile" ? "FileWatcher" : "DirectoryWatcher") + ":: Triggered with " + args[0] + " " + (args[1] !== undefined ? args[1] : "") + ":: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); + var triggerredInfo = "".concat(key === "watchFile" ? "FileWatcher" : "DirectoryWatcher", ":: Triggered with ").concat(args[0], " ").concat(args[1] !== undefined ? args[1] : "", ":: ").concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); log(triggerredInfo); var start = ts.timestamp(); cb.call.apply(cb, __spreadArray([/*thisArg*/ undefined], args, false)); var elapsed = ts.timestamp() - start; - log("Elapsed:: " + elapsed + "ms " + triggerredInfo); + log("Elapsed:: ".concat(elapsed, "ms ").concat(triggerredInfo)); }, flags, options, detailInfo1, detailInfo2); }; } function getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo) { - return "WatchInfo: " + file + " " + flags + " " + JSON.stringify(options) + " " + (getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : detailInfo1 + " " + detailInfo2); + return "WatchInfo: ".concat(file, " ").concat(flags, " ").concat(JSON.stringify(options), " ").concat(getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : "".concat(detailInfo1, " ").concat(detailInfo2)); } } ts.getWatchFactory = getWatchFactory; @@ -113278,12 +114212,12 @@ var ts; } ts.formatDiagnostics = formatDiagnostics; function formatDiagnostic(diagnostic, host) { - var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); + var errorMessage = "".concat(ts.diagnosticCategoryName(diagnostic), " TS").concat(diagnostic.code, ": ").concat(flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine())).concat(host.getNewLine()); if (diagnostic.file) { var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217 var fileName = diagnostic.file.fileName; var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage; + return "".concat(relativeFileName, "(").concat(line + 1, ",").concat(character + 1, "): ") + errorMessage; } return errorMessage; } @@ -113371,9 +114305,9 @@ var ts; var output = ""; output += color(relativeFileName, ForegroundColorEscapeSequences.Cyan); output += ":"; - output += color("" + (firstLine + 1), ForegroundColorEscapeSequences.Yellow); + output += color("".concat(firstLine + 1), ForegroundColorEscapeSequences.Yellow); output += ":"; - output += color("" + (firstLineChar + 1), ForegroundColorEscapeSequences.Yellow); + output += color("".concat(firstLineChar + 1), ForegroundColorEscapeSequences.Yellow); return output; } ts.formatLocation = formatLocation; @@ -113387,7 +114321,7 @@ var ts; output += " - "; } output += formatColorAndReset(ts.diagnosticCategoryName(diagnostic), getCategoryFormat(diagnostic.category)); - output += formatColorAndReset(" TS" + diagnostic.code + ": ", ForegroundColorEscapeSequences.Grey); + output += formatColorAndReset(" TS".concat(diagnostic.code, ": "), ForegroundColorEscapeSequences.Grey); output += flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()); if (diagnostic.file) { output += host.getNewLine(); @@ -113496,7 +114430,7 @@ var ts; var result = void 0; var mode = getModeForResolutionAtIndex(containingFile, i); i++; - var cacheKey = mode !== undefined ? mode + "|" + name : name; + var cacheKey = mode !== undefined ? "".concat(mode, "|").concat(name) : name; if (cache.has(cacheKey)) { result = cache.get(cacheKey); } @@ -113691,6 +114625,100 @@ var ts; } } ts.getImpliedNodeFormatForFile = getImpliedNodeFormatForFile; + /** @internal */ + ts.plainJSErrors = new ts.Set([ + // binder errors + ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0.code, + ts.Diagnostics.A_module_cannot_have_multiple_default_exports.code, + ts.Diagnostics.Another_export_default_is_here.code, + ts.Diagnostics.The_first_export_default_is_here.code, + ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module.code, + ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode.code, + ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here.code, + ts.Diagnostics.constructor_is_a_reserved_word.code, + ts.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode.code, + ts.Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode.code, + ts.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode.code, + ts.Diagnostics.Invalid_use_of_0_in_strict_mode.code, + ts.Diagnostics.A_label_is_not_allowed_here.code, + ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode.code, + ts.Diagnostics.with_statements_are_not_allowed_in_strict_mode.code, + // grammar errors + ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement.code, + ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement.code, + ts.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name.code, + ts.Diagnostics.A_class_member_cannot_have_the_0_keyword.code, + ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name.code, + ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement.code, + ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code, + ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement.code, + ts.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement.code, + ts.Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration.code, + ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context.code, + ts.Diagnostics.A_destructuring_declaration_must_have_an_initializer.code, + ts.Diagnostics.A_get_accessor_cannot_have_parameters.code, + ts.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern.code, + ts.Diagnostics.A_rest_element_cannot_have_a_property_name.code, + ts.Diagnostics.A_rest_element_cannot_have_an_initializer.code, + ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern.code, + ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer.code, + ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list.code, + ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code, + ts.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body.code, + ts.Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block.code, + ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter.code, + ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter.code, + ts.Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module.code, + ts.Diagnostics.An_export_declaration_cannot_have_modifiers.code, + ts.Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module.code, + ts.Diagnostics.An_import_declaration_cannot_have_modifiers.code, + ts.Diagnostics.An_object_member_cannot_be_declared_optional.code, + ts.Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element.code, + ts.Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable.code, + ts.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause.code, + ts.Diagnostics.Catch_clause_variable_cannot_have_an_initializer.code, + ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator.code, + ts.Diagnostics.Classes_can_only_extend_a_single_class.code, + ts.Diagnostics.Classes_may_not_have_a_field_named_constructor.code, + ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code, + ts.Diagnostics.Duplicate_label_0.code, + ts.Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments.code, + ts.Diagnostics.For_await_loops_cannot_be_used_inside_a_class_static_block.code, + ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression.code, + ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name.code, + ts.Diagnostics.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array.code, + ts.Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names.code, + ts.Diagnostics.Jump_target_cannot_cross_function_boundary.code, + ts.Diagnostics.Line_terminator_not_permitted_before_arrow.code, + ts.Diagnostics.Modifiers_cannot_appear_here.code, + ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement.code, + ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement.code, + ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies.code, + ts.Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression.code, + ts.Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier.code, + ts.Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain.code, + ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async.code, + ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer.code, + ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer.code, + ts.Diagnostics.Trailing_comma_not_allowed.code, + ts.Diagnostics.Variable_declaration_list_cannot_be_empty.code, + ts.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses.code, + ts.Diagnostics._0_expected.code, + ts.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2.code, + ts.Diagnostics._0_list_cannot_be_empty.code, + ts.Diagnostics._0_modifier_already_seen.code, + ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration.code, + ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element.code, + ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter.code, + ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind.code, + ts.Diagnostics._0_modifier_cannot_be_used_here.code, + ts.Diagnostics._0_modifier_must_precede_1_modifier.code, + ts.Diagnostics.const_declarations_can_only_be_declared_inside_a_block.code, + ts.Diagnostics.const_declarations_must_be_initialized.code, + ts.Diagnostics.extends_clause_already_seen.code, + ts.Diagnostics.let_declarations_can_only_be_declared_inside_a_block.code, + ts.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code, + ]); /** * Determine if source file needs to be re-created even if its text hasn't changed */ @@ -114351,6 +115379,7 @@ var ts; newSourceFile.originalFileName = oldSourceFile.originalFileName; newSourceFile.resolvedPath = oldSourceFile.resolvedPath; newSourceFile.fileName = oldSourceFile.fileName; + newSourceFile.impliedNodeFormat = oldSourceFile.impliedNodeFormat; var packageName = oldProgram.sourceFileToPackageName.get(oldSourceFile.path); if (packageName !== undefined) { // If there are 2 different source files for the same package name and at least one of them changes, @@ -114707,14 +115736,24 @@ var ts; } var typeChecker = getDiagnosticsProducingTypeChecker(); ts.Debug.assert(!!sourceFile.bindDiagnostics); - var isCheckJs = ts.isCheckJsEnabledForFile(sourceFile, options); + var isJs = sourceFile.scriptKind === 1 /* JS */ || sourceFile.scriptKind === 2 /* JSX */; + var isCheckJs = isJs && ts.isCheckJsEnabledForFile(sourceFile, options); + var isPlainJs = ts.isPlainJsFile(sourceFile, options.checkJs); var isTsNoCheck = !!sourceFile.checkJsDirective && sourceFile.checkJsDirective.enabled === false; - // By default, only type-check .ts, .tsx, 'Deferred' and 'External' files (external files are added by plugins) + // By default, only type-check .ts, .tsx, Deferred, plain JS, checked JS and External + // - plain JS: .js files with no // ts-check and checkJs: undefined + // - check JS: .js files with either // ts-check or checkJs: true + // - external: files that are added by plugins var includeBindAndCheckDiagnostics = !isTsNoCheck && (sourceFile.scriptKind === 3 /* TS */ || sourceFile.scriptKind === 4 /* TSX */ - || sourceFile.scriptKind === 5 /* External */ || isCheckJs || sourceFile.scriptKind === 7 /* Deferred */); + || sourceFile.scriptKind === 5 /* External */ || isPlainJs || isCheckJs || sourceFile.scriptKind === 7 /* Deferred */); var bindDiagnostics = includeBindAndCheckDiagnostics ? sourceFile.bindDiagnostics : ts.emptyArray; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; - return getMergedBindAndCheckDiagnostics(sourceFile, includeBindAndCheckDiagnostics, bindDiagnostics, checkDiagnostics, isCheckJs ? sourceFile.jsDocDiagnostics : undefined); + if (isPlainJs) { + bindDiagnostics = ts.filter(bindDiagnostics, function (d) { return ts.plainJSErrors.has(d.code); }); + checkDiagnostics = ts.filter(checkDiagnostics, function (d) { return ts.plainJSErrors.has(d.code); }); + } + // skip ts-expect-error errors in plain JS files, and skip JSDoc errors except in checked JS + return getMergedBindAndCheckDiagnostics(sourceFile, includeBindAndCheckDiagnostics && !isPlainJs, bindDiagnostics, checkDiagnostics, isCheckJs ? sourceFile.jsDocDiagnostics : undefined); }); } function getMergedBindAndCheckDiagnostics(sourceFile, includeBindAndCheckDiagnostics) { @@ -115358,14 +116397,14 @@ var ts; redirectTargetsMap.add(fileFromPackageId.path, fileName); addFileToFilesByName(dupFile, path, redirectedPath); addFileIncludeReason(dupFile, reason); - sourceFileToPackageName.set(path, packageId.name); + sourceFileToPackageName.set(path, ts.packageIdToPackageName(packageId)); processingOtherFiles.push(dupFile); return dupFile; } else if (file) { // This is the first source file to have this packageId. packageIdToSourceFile.set(packageIdKey, file); - sourceFileToPackageName.set(path, packageId.name); + sourceFileToPackageName.set(path, ts.packageIdToPackageName(packageId)); } } addFileToFilesByName(file, path, redirectedPath); @@ -115580,7 +116619,7 @@ var ts; path += (i === 2 ? "/" : "-") + components[i]; i++; } - var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_" + libFileName + "__.ts"); + var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_".concat(libFileName, "__.ts")); var localOverrideModuleResult = ts.resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: ts.ModuleResolutionKind.NodeJs }, host, moduleResolutionCache); if (localOverrideModuleResult === null || localOverrideModuleResult === void 0 ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; @@ -115728,7 +116767,7 @@ var ts; return resolvedRef; } function verifyCompilerOptions() { - var isNightly = ts.stringContains(ts.version, "-dev"); + var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders"); if (!isNightly) { if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) { createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "node12"); @@ -116401,12 +117440,12 @@ var ts; } function directoryExistsIfProjectReferenceDeclDir(dir) { var dirPath = host.toPath(dir); - var dirPathWithTrailingDirectorySeparator = "" + dirPath + ts.directorySeparator; + var dirPathWithTrailingDirectorySeparator = "".concat(dirPath).concat(ts.directorySeparator); return ts.forEachKey(setOfDeclarationDirectories, function (declDirPath) { return dirPath === declDirPath || // Any parent directory of declaration dir ts.startsWith(declDirPath, dirPathWithTrailingDirectorySeparator) || // Any directory inside declaration dir - ts.startsWith(dirPath, declDirPath + "/"); }); + ts.startsWith(dirPath, "".concat(declDirPath, "/")); }); } function handleDirectoryCouldBeSymlink(directory) { var _a; @@ -116459,7 +117498,7 @@ var ts; if (isFile && result) { // Store the real path for the file' var absolutePath = ts.getNormalizedAbsolutePath(fileOrDirectory, host.compilerHost.getCurrentDirectory()); - symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "" + symlinkedDirectory.real + absolutePath.replace(new RegExp(directoryPath, "i"), "")); + symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "".concat(symlinkedDirectory.real).concat(absolutePath.replace(new RegExp(directoryPath, "i"), ""))); } return result; }) || false; @@ -116917,7 +117956,7 @@ var ts; /*forceDtsEmit*/ true); var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles); if (firstDts_1) { - ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); }); + ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: ".concat(ts.getAnyExtensionFromPath(firstDts_1.name), " for ").concat(firstDts_1.name, ":: All output files: ").concat(JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; }))); }); latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text); if (exportedModulesMapCache && latestSignature !== prevSignature) { updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache); @@ -117425,7 +118464,7 @@ var ts; return; } else { - ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: " + affectedFile.fileName); + ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: ".concat(affectedFile.fileName)); } if (!state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) { forEachReferencingModulesOfExportOfAffectedFile(state, affectedFile, function (state, path) { return handleDtsMayChangeOf(state, path, cancellationToken, computeHash); }); @@ -118570,7 +119609,7 @@ var ts; failedLookupLocation = ts.isRootedDiskPath(failedLookupLocation) ? ts.normalizePath(failedLookupLocation) : ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory()); var failedLookupPathSplit = failedLookupLocationPath.split(ts.directorySeparator); var failedLookupSplit = failedLookupLocation.split(ts.directorySeparator); - ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: " + failedLookupLocation + " failedLookupLocationPath: " + failedLookupLocationPath); + ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: ".concat(failedLookupLocation, " failedLookupLocationPath: ").concat(failedLookupLocationPath)); if (failedLookupPathSplit.length > rootSplitLength + 1) { // Instead of watching root, watch directory in root to avoid watching excluded directories not needed for module resolution return { @@ -118623,7 +119662,7 @@ var ts; function watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, filePath, getResolutionWithResolvedFileName) { if (resolution.refCount) { resolution.refCount++; - ts.Debug.assertDefined(resolution.files); + ts.Debug.assertIsDefined(resolution.files); } else { resolution.refCount = 1; @@ -118691,7 +119730,7 @@ var ts; } } function stopWatchFailedLookupLocationOfResolution(resolution, filePath, getResolutionWithResolvedFileName) { - ts.unorderedRemoveItem(ts.Debug.assertDefined(resolution.files), filePath); + ts.unorderedRemoveItem(ts.Debug.checkDefined(resolution.files), filePath); resolution.refCount--; if (resolution.refCount) { return; @@ -118783,7 +119822,7 @@ var ts; if (resolution.isInvalidated || !canInvalidate(resolution)) continue; resolution.isInvalidated = invalidated = true; - for (var _a = 0, _b = ts.Debug.assertDefined(resolution.files); _a < _b.length; _a++) { + for (var _a = 0, _b = ts.Debug.checkDefined(resolution.files); _a < _b.length; _a++) { var containingFilePath = _b[_a]; (filesWithInvalidatedResolutions || (filesWithInvalidatedResolutions = new ts.Set())).add(containingFilePath); // When its a file with inferred types resolution, invalidate type reference directive resolution @@ -118991,11 +120030,12 @@ var ts; }; } function isFormatRequiringExtensions(compilerOptions, importingSourceFileName, host) { + var _a; if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { return false; } - return ts.getImpliedNodeFormatForFile(importingSourceFileName, /*packageJsonInfoCache*/ undefined, getModuleResolutionHost(host), compilerOptions) !== ts.ModuleKind.CommonJS; + return ts.getImpliedNodeFormatForFile(importingSourceFileName, (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host), getModuleResolutionHost(host), compilerOptions) !== ts.ModuleKind.CommonJS; } function getModuleResolutionHost(host) { var _a; @@ -119008,28 +120048,37 @@ var ts; useCaseSensitiveFileNames: (_a = host.useCaseSensitiveFileNames) === null || _a === void 0 ? void 0 : _a.call(host), }; } - function updateModuleSpecifier(compilerOptions, importingSourceFileName, toFileName, host, oldImportSpecifier) { - var res = getModuleSpecifierWorker(compilerOptions, importingSourceFileName, toFileName, host, getPreferencesForUpdate(compilerOptions, oldImportSpecifier, importingSourceFileName, host), {}); + // `importingSourceFile` and `importingSourceFileName`? Why not just use `importingSourceFile.path`? + // Because when this is called by the file renamer, `importingSourceFile` is the file being renamed, + // while `importingSourceFileName` its *new* name. We need a source file just to get its + // `impliedNodeFormat` and to detect certain preferences from existing import module specifiers. + function updateModuleSpecifier(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, oldImportSpecifier) { + var res = getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getPreferencesForUpdate(compilerOptions, oldImportSpecifier, importingSourceFileName, host), {}); if (res === oldImportSpecifier) return undefined; return res; } moduleSpecifiers_1.updateModuleSpecifier = updateModuleSpecifier; - // Note: importingSourceFile is just for usesJsExtensionOnImports + // `importingSourceFile` and `importingSourceFileName`? Why not just use `importingSourceFile.path`? + // Because when this is called by the declaration emitter, `importingSourceFile` is the implementation + // file, but `importingSourceFileName` and `toFileName` refer to declaration files (the former to the + // one currently being produced; the latter to the one being imported). We need an implementation file + // just to get its `impliedNodeFormat` and to detect certain preferences from existing import module + // specifiers. function getModuleSpecifier(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host) { - return getModuleSpecifierWorker(compilerOptions, importingSourceFileName, toFileName, host, getPreferences(host, {}, compilerOptions, importingSourceFile), {}); + return getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getPreferences(host, {}, compilerOptions, importingSourceFile), {}); } moduleSpecifiers_1.getModuleSpecifier = getModuleSpecifier; - function getNodeModulesPackageName(compilerOptions, importingSourceFileName, nodeModulesFileName, host, preferences) { - var info = getInfo(importingSourceFileName, host); - var modulePaths = getAllModulePaths(importingSourceFileName, nodeModulesFileName, host, preferences); - return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, host, compilerOptions, /*packageNameOnly*/ true); }); + function getNodeModulesPackageName(compilerOptions, importingSourceFile, nodeModulesFileName, host, preferences) { + var info = getInfo(importingSourceFile.path, host); + var modulePaths = getAllModulePaths(importingSourceFile.path, nodeModulesFileName, host, preferences); + return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ true); }); } moduleSpecifiers_1.getNodeModulesPackageName = getNodeModulesPackageName; - function getModuleSpecifierWorker(compilerOptions, importingSourceFileName, toFileName, host, preferences, userPreferences) { + function getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, preferences, userPreferences) { var info = getInfo(importingSourceFileName, host); var modulePaths = getAllModulePaths(importingSourceFileName, toFileName, host, userPreferences); - return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, host, compilerOptions); }) || + return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions); }) || getLocalModuleSpecifier(toFileName, info, compilerOptions, host, preferences); } function tryGetModuleSpecifiersFromCache(moduleSymbol, importingSourceFile, host, userPreferences) { @@ -119096,7 +120145,7 @@ var ts; var relativeSpecifiers; for (var _i = 0, modulePaths_1 = modulePaths; _i < modulePaths_1.length; _i++) { var modulePath = modulePaths_1[_i]; - var specifier = tryGetModuleNameAsNodeModule(modulePath, info, host, compilerOptions); + var specifier = tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions); nodeModulesSpecifiers = ts.append(nodeModulesSpecifiers, specifier); if (specifier && modulePath.isRedirect) { // If we got a specifier for a redirect, it was a bare package specifier (e.g. "@foo/bar", @@ -119488,13 +120537,13 @@ var ts; ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions) : ts.removeFileExtension(relativePath); } - function tryGetModuleNameAsNodeModule(_a, _b, host, options, packageNameOnly) { + function tryGetModuleNameAsNodeModule(_a, _b, importingSourceFile, host, options, packageNameOnly) { var path = _a.path, isRedirect = _a.isRedirect; var getCanonicalFileName = _b.getCanonicalFileName, sourceDirectory = _b.sourceDirectory; if (!host.fileExists || !host.readFile) { return undefined; } - var parts = getNodeModulePathParts(path); + var parts = ts.getNodeModulePathParts(path); if (!parts) { return undefined; } @@ -119546,16 +120595,26 @@ var ts; // For classic resolution, only allow importing from node_modules/@types, not other node_modules return ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Classic && packageName === nodeModulesDirectoryName ? undefined : packageName; function tryDirectoryWithPackageJson(packageRootIndex) { + var _a, _b; var packageRootPath = path.substring(0, packageRootIndex); var packageJsonPath = ts.combinePaths(packageRootPath, "package.json"); var moduleFileToTry = path; - if (host.fileExists(packageJsonPath)) { - var packageJsonContent = JSON.parse(host.readFile(packageJsonPath)); - // TODO: Inject `require` or `import` condition based on the intended import mode + var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); + if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { - var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined; + // `conditions` *could* be made to go against `importingSourceFile.impliedNodeFormat` if something wanted to generate + // an ImportEqualsDeclaration in an ESM-implied file or an ImportCall in a CJS-implied file. But since this function is + // usually called to conjure an import out of thin air, we don't have an existing usage to call `getModeForUsageAtIndex` + // with, so for now we just stick with the mode of the file. + var conditions = ["node", importingSourceFile.impliedNodeFormat === ts.ModuleKind.ESNext ? "import" : "require", "types"]; + var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" + ? tryGetModuleNameFromExports(options, path, packageRootPath, ts.getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) + : undefined; if (fromExports) { - var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) }; + var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) + ? fromExports + : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) }; return __assign(__assign({}, withJsExtension), { verbatimFromExports: true }); } if (packageJsonContent.exports) { @@ -119607,62 +120666,10 @@ var ts; } } } - function getNodeModulePathParts(fullPath) { - // If fullPath can't be valid module file within node_modules, returns undefined. - // Example of expected pattern: /base/path/node_modules/[@scope/otherpackage/@otherscope/node_modules/]package/[subdirectory/]file.js - // Returns indices: ^ ^ ^ ^ - var topLevelNodeModulesIndex = 0; - var topLevelPackageNameIndex = 0; - var packageRootIndex = 0; - var fileNameIndex = 0; - var States; - (function (States) { - States[States["BeforeNodeModules"] = 0] = "BeforeNodeModules"; - States[States["NodeModules"] = 1] = "NodeModules"; - States[States["Scope"] = 2] = "Scope"; - States[States["PackageContent"] = 3] = "PackageContent"; - })(States || (States = {})); - var partStart = 0; - var partEnd = 0; - var state = 0 /* BeforeNodeModules */; - while (partEnd >= 0) { - partStart = partEnd; - partEnd = fullPath.indexOf("/", partStart + 1); - switch (state) { - case 0 /* BeforeNodeModules */: - if (fullPath.indexOf(ts.nodeModulesPathPart, partStart) === partStart) { - topLevelNodeModulesIndex = partStart; - topLevelPackageNameIndex = partEnd; - state = 1 /* NodeModules */; - } - break; - case 1 /* NodeModules */: - case 2 /* Scope */: - if (state === 1 /* NodeModules */ && fullPath.charAt(partStart + 1) === "@") { - state = 2 /* Scope */; - } - else { - packageRootIndex = partEnd; - state = 3 /* PackageContent */; - } - break; - case 3 /* PackageContent */: - if (fullPath.indexOf(ts.nodeModulesPathPart, partStart) === partStart) { - state = 1 /* NodeModules */; - } - else { - state = 3 /* PackageContent */; - } - break; - } - } - fileNameIndex = partStart; - return state > 1 /* NodeModules */ ? { topLevelNodeModulesIndex: topLevelNodeModulesIndex, topLevelPackageNameIndex: topLevelPackageNameIndex, packageRootIndex: packageRootIndex, fileNameIndex: fileNameIndex } : undefined; - } function getPathRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { return ts.firstDefined(rootDirs, function (rootDir) { - var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); // TODO: GH#18217 - return isPathRelativeToParent(relativePath) ? undefined : relativePath; + var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); + return relativePath !== undefined && isPathRelativeToParent(relativePath) ? undefined : relativePath; }); } function removeExtensionAndIndexPostFix(fileName, ending, options) { @@ -119684,7 +120691,7 @@ var ts; } function getJSExtensionForFile(fileName, options) { var _a; - return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension " + ts.extensionFromPath(fileName) + " is unsupported:: FileName:: " + fileName); + return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension ".concat(ts.extensionFromPath(fileName), " is unsupported:: FileName:: ").concat(fileName)); } function tryGetJSExtensionForFile(fileName, options) { var ext = ts.tryGetExtensionFromPath(fileName); @@ -119729,7 +120736,7 @@ var ts; getCanonicalFileName: ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames) } : undefined; /** - * Create a function that reports error by writing to the system and handles the formating of the diagnostic + * Create a function that reports error by writing to the system and handles the formatting of the diagnostic */ function createDiagnosticReporter(system, pretty) { var host = system === ts.sys && sysFormatDiagnosticsHost ? sysFormatDiagnosticsHost : { @@ -119781,14 +120788,14 @@ var ts; } ts.getLocaleTimeString = getLocaleTimeString; /** - * Create a function that reports watch status by writing to the system and handles the formating of the diagnostic + * Create a function that reports watch status by writing to the system and handles the formatting of the diagnostic */ function createWatchStatusReporter(system, pretty) { return pretty ? function (diagnostic, newLine, options) { clearScreenIfNotWatchingForFileChanges(system, diagnostic, options); - var output = "[" + ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] "; - output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (newLine + newLine); + var output = "[".concat(ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] "); + output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(newLine + newLine); system.write(output); } : function (diagnostic, newLine, options) { @@ -119796,8 +120803,8 @@ var ts; if (!clearScreenIfNotWatchingForFileChanges(system, diagnostic, options)) { output += newLine; } - output += getLocaleTimeString(system) + " - "; - output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + getPlainDiagnosticFollowingNewLines(diagnostic, newLine); + output += "".concat(getLocaleTimeString(system), " - "); + output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(getPlainDiagnosticFollowingNewLines(diagnostic, newLine)); system.write(output); }; } @@ -119815,19 +120822,84 @@ var ts; return ts.countWhere(diagnostics, function (diagnostic) { return diagnostic.category === ts.DiagnosticCategory.Error; }); } ts.getErrorCountForSummary = getErrorCountForSummary; + function getFilesInErrorForSummary(diagnostics) { + var filesInError = ts.filter(diagnostics, function (diagnostic) { return diagnostic.category === ts.DiagnosticCategory.Error; }) + .map(function (errorDiagnostic) { + if (errorDiagnostic.file === undefined) + return; + return "".concat(errorDiagnostic.file.fileName); + }); + return filesInError.map(function (fileName) { + var diagnosticForFileName = ts.find(diagnostics, function (diagnostic) { + return diagnostic.file !== undefined && diagnostic.file.fileName === fileName; + }); + if (diagnosticForFileName !== undefined) { + var line = ts.getLineAndCharacterOfPosition(diagnosticForFileName.file, diagnosticForFileName.start).line; + return { + fileName: fileName, + line: line + 1, + }; + } + }); + } + ts.getFilesInErrorForSummary = getFilesInErrorForSummary; function getWatchErrorSummaryDiagnosticMessage(errorCount) { return errorCount === 1 ? ts.Diagnostics.Found_1_error_Watching_for_file_changes : ts.Diagnostics.Found_0_errors_Watching_for_file_changes; } ts.getWatchErrorSummaryDiagnosticMessage = getWatchErrorSummaryDiagnosticMessage; - function getErrorSummaryText(errorCount, newLine) { + function prettyPathForFileError(error, cwd) { + var line = ts.formatColorAndReset(":" + error.line, ts.ForegroundColorEscapeSequences.Grey); + if (ts.pathIsAbsolute(error.fileName) && ts.pathIsAbsolute(cwd)) { + return ts.getRelativePathFromDirectory(cwd, error.fileName, /* ignoreCase */ false) + line; + } + return error.fileName + line; + } + function getErrorSummaryText(errorCount, filesInError, newLine, host) { if (errorCount === 0) return ""; - var d = ts.createCompilerDiagnostic(errorCount === 1 ? ts.Diagnostics.Found_1_error : ts.Diagnostics.Found_0_errors, errorCount); - return "" + newLine + ts.flattenDiagnosticMessageText(d.messageText, newLine) + newLine + newLine; + var nonNilFiles = filesInError.filter(function (fileInError) { return fileInError !== undefined; }); + var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return "".concat(fileInError.fileName, ":").concat(fileInError.line); }) + .filter(function (value, index, self) { return self.indexOf(value) === index; }); + var firstFileReference = nonNilFiles[0] && prettyPathForFileError(nonNilFiles[0], host.getCurrentDirectory()); + var d = errorCount === 1 ? + ts.createCompilerDiagnostic(filesInError[0] !== undefined ? + ts.Diagnostics.Found_1_error_in_1 : + ts.Diagnostics.Found_1_error, errorCount, firstFileReference) : + ts.createCompilerDiagnostic(distinctFileNamesWithLines.length === 0 ? + ts.Diagnostics.Found_0_errors : + distinctFileNamesWithLines.length === 1 ? + ts.Diagnostics.Found_0_errors_in_the_same_file_starting_at_Colon_1 : + ts.Diagnostics.Found_0_errors_in_1_files, errorCount, distinctFileNamesWithLines.length === 1 ? firstFileReference : distinctFileNamesWithLines.length); + var suffix = distinctFileNamesWithLines.length > 1 ? createTabularErrorsDisplay(nonNilFiles, host) : ""; + return "".concat(newLine).concat(ts.flattenDiagnosticMessageText(d.messageText, newLine)).concat(newLine).concat(newLine).concat(suffix); } ts.getErrorSummaryText = getErrorSummaryText; + function createTabularErrorsDisplay(filesInError, host) { + var distinctFiles = filesInError.filter(function (value, index, self) { return index === self.findIndex(function (file) { return (file === null || file === void 0 ? void 0 : file.fileName) === (value === null || value === void 0 ? void 0 : value.fileName); }); }); + if (distinctFiles.length === 0) + return ""; + var numberLength = function (num) { return Math.log(num) * Math.LOG10E + 1; }; + var fileToErrorCount = distinctFiles.map(function (file) { return [file, ts.countWhere(filesInError, function (fileInError) { return fileInError.fileName === file.fileName; })]; }); + var maxErrors = fileToErrorCount.reduce(function (acc, value) { return Math.max(acc, value[1] || 0); }, 0); + var headerRow = ts.Diagnostics.Errors_Files.message; + var leftColumnHeadingLength = headerRow.split(" ")[0].length; + var leftPaddingGoal = Math.max(leftColumnHeadingLength, numberLength(maxErrors)); + var headerPadding = Math.max(numberLength(maxErrors) - leftColumnHeadingLength, 0); + var tabularData = ""; + tabularData += " ".repeat(headerPadding) + headerRow + "\n"; + fileToErrorCount.forEach(function (row) { + var file = row[0], errorCount = row[1]; + var errorCountDigitsLength = Math.log(errorCount) * Math.LOG10E + 1 | 0; + var leftPadding = errorCountDigitsLength < leftPaddingGoal ? + " ".repeat(leftPaddingGoal - errorCountDigitsLength) + : ""; + var fileRef = prettyPathForFileError(file, host.getCurrentDirectory()); + tabularData += "".concat(leftPadding).concat(errorCount, " ").concat(fileRef, "\n"); + }); + return tabularData; + } function isBuilderProgram(program) { return !!program.getState; } @@ -119851,9 +120923,9 @@ var ts; var relativeFileName = function (fileName) { return ts.convertToRelativePath(fileName, program.getCurrentDirectory(), getCanonicalFileName); }; for (var _i = 0, _c = program.getSourceFiles(); _i < _c.length; _i++) { var file = _c[_i]; - write("" + toFileName(file, relativeFileName)); - (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" " + fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText); }); - (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" " + d.messageText); }); + write("".concat(toFileName(file, relativeFileName))); + (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" ".concat(fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText)); }); + (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); }); } } ts.explainFiles = explainFiles; @@ -119893,7 +120965,7 @@ var ts; if (isJsonFile && !ts.endsWith(includeSpec, ".json" /* Json */)) return false; var pattern = ts.getPatternFromSpec(includeSpec, basePath, "files"); - return !!pattern && ts.getRegexFromPattern("(" + pattern + ")$", useCaseSensitiveFileNames).test(fileName); + return !!pattern && ts.getRegexFromPattern("(".concat(pattern, ")$"), useCaseSensitiveFileNames).test(fileName); }); } ts.getMatchedIncludeSpec = getMatchedIncludeSpec; @@ -119902,7 +120974,7 @@ var ts; var options = program.getCompilerOptions(); if (ts.isReferencedFile(reason)) { var referenceLocation = ts.getReferencedFileLocation(function (path) { return program.getSourceFileByPath(path); }, reason); - var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"" + referenceLocation.text + "\""; + var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"".concat(referenceLocation.text, "\""); var message = void 0; ts.Debug.assert(ts.isReferenceFileLocation(referenceLocation) || reason.kind === ts.FileIncludeKind.Import, "Only synthetic references are imports"); switch (reason.kind) { @@ -120026,12 +121098,12 @@ var ts; var currentDir_1 = program.getCurrentDirectory(); ts.forEach(emittedFiles, function (file) { var filepath = ts.getNormalizedAbsolutePath(file, currentDir_1); - write("TSFILE: " + filepath); + write("TSFILE: ".concat(filepath)); }); listFiles(program, write); } if (reportSummary) { - reportSummary(getErrorCountForSummary(diagnostics)); + reportSummary(getErrorCountForSummary(diagnostics), getFilesInErrorForSummary(diagnostics)); } return { emitResult: emitResult, @@ -120242,7 +121314,7 @@ var ts; var system = input.system || ts.sys; var host = input.host || (input.host = ts.createIncrementalCompilerHost(input.options, system)); var builderProgram = ts.createIncrementalProgram(input); - var exitStatus = emitFilesAndReportErrorsAndGetExitStatus(builderProgram, input.reportDiagnostic || createDiagnosticReporter(system), function (s) { return host.trace && host.trace(s); }, input.reportErrorSummary || input.options.pretty ? function (errorCount) { return system.write(getErrorSummaryText(errorCount, system.newLine)); } : undefined); + var exitStatus = emitFilesAndReportErrorsAndGetExitStatus(builderProgram, input.reportDiagnostic || createDiagnosticReporter(system), function (s) { return host.trace && host.trace(s); }, input.reportErrorSummary || input.options.pretty ? function (errorCount, filesInError) { return system.write(getErrorSummaryText(errorCount, filesInError, system.newLine, host)); } : undefined); if (input.afterProgramEmitAndDiagnostics) input.afterProgramEmitAndDiagnostics(builderProgram); return exitStatus; @@ -120325,6 +121397,7 @@ var ts; var sharedExtendedConfigFileWatchers; // Map of file watchers for extended files, shared between different referenced projects var extendedConfigCache = host.extendedConfigCache; // Cache for extended config evaluation var changesAffectResolution = false; // Flag for indicating non-config changes affect module resolution + var reportFileChangeDetectedOnCreateProgram = false; // True if synchronizeProgram should report "File change detected..." when a new program is created var sourceFilesCache = new ts.Map(); // Cache that stores the source file and version info var missingFilePathsRequestedForRelease; // These paths are held temporarily so that we can remove the entry from source file cache if the file is not tracked by missing files var hasChangedCompilerOptions = false; // True if the compiler options have changed between compilations @@ -120354,7 +121427,7 @@ var ts; } var _b = ts.createWatchFactory(host, compilerOptions), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory, writeLog = _b.writeLog; var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); - writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames); + writeLog("Current directory: ".concat(currentDirectory, " CaseSensitiveFileNames: ").concat(useCaseSensitiveFileNames)); var configFileWatcher; if (configFileName) { configFileWatcher = watchFile(configFileName, scheduleProgramReload, ts.PollingInterval.High, watchOptions, ts.WatchType.ConfigFile); @@ -120487,14 +121560,21 @@ var ts; var hasInvalidatedResolution = resolutionCache.createHasInvalidatedResolution(userProvidedResolution || changesAffectResolution); if (ts.isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, getSourceVersion, fileExists, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { + if (reportFileChangeDetectedOnCreateProgram) { + reportWatchDiagnostic(ts.Diagnostics.File_change_detected_Starting_incremental_compilation); + } builderProgram = createProgram(/*rootNames*/ undefined, /*options*/ undefined, compilerHost, builderProgram, configFileParsingDiagnostics, projectReferences); hasChangedConfigFileParsingErrors = false; } } else { + if (reportFileChangeDetectedOnCreateProgram) { + reportWatchDiagnostic(ts.Diagnostics.File_change_detected_Starting_incremental_compilation); + } createNewProgram(hasInvalidatedResolution); } changesAffectResolution = false; // reset for next sync + reportFileChangeDetectedOnCreateProgram = false; if (host.afterProgramCreate && program !== builderProgram) { host.afterProgramCreate(builderProgram); } @@ -120503,10 +121583,10 @@ var ts; function createNewProgram(hasInvalidatedResolution) { // Compile the program writeLog("CreatingProgramWith::"); - writeLog(" roots: " + JSON.stringify(rootFileNames)); - writeLog(" options: " + JSON.stringify(compilerOptions)); + writeLog(" roots: ".concat(JSON.stringify(rootFileNames))); + writeLog(" options: ".concat(JSON.stringify(compilerOptions))); if (projectReferences) - writeLog(" projectReferences: " + JSON.stringify(projectReferences)); + writeLog(" projectReferences: ".concat(JSON.stringify(projectReferences))); var needsUpdateInTypeRootWatch = hasChangedCompilerOptions || !getCurrentProgram(); hasChangedCompilerOptions = false; hasChangedConfigFileParsingErrors = false; @@ -120667,7 +121747,7 @@ var ts; return resolutionCache.invalidateResolutionsOfFailedLookupLocations(); } var pending = clearInvalidateResolutionsOfFailedLookupLocations(); - writeLog("Scheduling invalidateFailedLookup" + (pending ? ", Cancelled earlier one" : "")); + writeLog("Scheduling invalidateFailedLookup".concat(pending ? ", Cancelled earlier one" : "")); timerToInvalidateFailedLookupResolutions = host.setTimeout(invalidateResolutionsOfFailedLookup, 250); } function invalidateResolutionsOfFailedLookup() { @@ -120696,7 +121776,7 @@ var ts; } function updateProgramWithWatchStatus() { timerToUpdateProgram = undefined; - reportWatchDiagnostic(ts.Diagnostics.File_change_detected_Starting_incremental_compilation); + reportFileChangeDetectedOnCreateProgram = true; updateProgram(); } function updateProgram() { @@ -120727,7 +121807,7 @@ var ts; synchronizeProgram(); } function reloadConfigFile() { - writeLog("Reloading config file: " + configFileName); + writeLog("Reloading config file: ".concat(configFileName)); reloadLevel = ts.ConfigFileProgramReloadLevel.None; if (cachedDirectoryStructureHost) { cachedDirectoryStructureHost.clearCache(); @@ -120768,7 +121848,7 @@ var ts; return config.parsedCommandLine; } } - writeLog("Loading config file: " + configFileName); + writeLog("Loading config file: ".concat(configFileName)); var parsedCommandLine = host.getParsedCommandLine ? host.getParsedCommandLine(configFileName) : getParsedCommandLineFromConfigFileHost(configFileName); @@ -121072,8 +122152,8 @@ var ts; */ function createBuilderStatusReporter(system, pretty) { return function (diagnostic) { - var output = pretty ? "[" + ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] " : ts.getLocaleTimeString(system) + " - "; - output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (system.newLine + system.newLine); + var output = pretty ? "[".concat(ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ") : "".concat(ts.getLocaleTimeString(system), " - "); + output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(system.newLine + system.newLine); system.write(output); }; } @@ -121848,7 +122928,7 @@ var ts; function listEmittedFile(_a, proj, file) { var write = _a.write; if (write && proj.options.listEmittedFiles) { - write("TSFILE: " + file); + write("TSFILE: ".concat(file)); } } function getOldProgram(_a, proj, parsed) { @@ -121877,7 +122957,7 @@ var ts; function buildErrors(state, resolvedPath, program, config, diagnostics, buildResult, errorType) { var canEmitBuildInfo = !(buildResult & BuildResultFlags.SyntaxErrors) && program && !ts.outFile(program.getCompilerOptions()); reportAndStoreErrors(state, resolvedPath, diagnostics); - state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: errorType + " errors" }); + state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: "".concat(errorType, " errors") }); if (canEmitBuildInfo) return { buildResult: buildResult, step: BuildStep.EmitBuildInfo }; afterProgramDone(state, program, config); @@ -121905,7 +122985,7 @@ var ts; if (!host.fileExists(inputFile)) { return { type: ts.UpToDateStatusType.Unbuildable, - reason: inputFile + " does not exist" + reason: "".concat(inputFile, " does not exist") }; } if (!force) { @@ -122264,7 +123344,7 @@ var ts; } } if (filesToDelete) { - reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * " + f; }).join("")); + reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * ".concat(f); }).join("")); } return ts.ExitStatus.Success; } @@ -122461,11 +123541,14 @@ var ts; var canReportSummary = state.watch || !!state.host.reportErrorSummary; var diagnostics = state.diagnostics; var totalErrors = 0; + var filesInError = []; if (isCircularBuildOrder(buildOrder)) { reportBuildQueue(state, buildOrder.buildOrder); reportErrors(state, buildOrder.circularDiagnostics); if (canReportSummary) totalErrors += ts.getErrorCountForSummary(buildOrder.circularDiagnostics); + if (canReportSummary) + filesInError = __spreadArray(__spreadArray([], filesInError, true), ts.getFilesInErrorForSummary(buildOrder.circularDiagnostics), true); } else { // Report errors from the other projects @@ -122477,12 +123560,14 @@ var ts; }); if (canReportSummary) diagnostics.forEach(function (singleProjectErrors) { return totalErrors += ts.getErrorCountForSummary(singleProjectErrors); }); + if (canReportSummary) + diagnostics.forEach(function (singleProjectErrors) { return __spreadArray(__spreadArray([], filesInError, true), ts.getFilesInErrorForSummary(singleProjectErrors), true); }); } if (state.watch) { reportWatchStatus(state, ts.getWatchErrorSummaryDiagnosticMessage(totalErrors), totalErrors); } else if (state.host.reportErrorSummary) { - state.host.reportErrorSummary(totalErrors); + state.host.reportErrorSummary(totalErrors, filesInError); } } /** @@ -122597,7 +123682,7 @@ var ts; function nowString() { // E.g. "12:34:56.789" var d = new Date(); - return ts.padLeft(d.getHours().toString(), 2, "0") + ":" + ts.padLeft(d.getMinutes().toString(), 2, "0") + ":" + ts.padLeft(d.getSeconds().toString(), 2, "0") + "." + ts.padLeft(d.getMilliseconds().toString(), 3, "0"); + return "".concat(ts.padLeft(d.getHours().toString(), 2, "0"), ":").concat(ts.padLeft(d.getMinutes().toString(), 2, "0"), ":").concat(ts.padLeft(d.getSeconds().toString(), 2, "0"), ".").concat(ts.padLeft(d.getMilliseconds().toString(), 3, "0")); } server.nowString = nowString; })(server = ts.server || (ts.server = {})); @@ -122608,7 +123693,7 @@ var ts; var JsTyping; (function (JsTyping) { function isTypingUpToDate(cachedTyping, availableTypingVersions) { - var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts" + ts.versionMajorMinor) || ts.getProperty(availableTypingVersions, "latest")); + var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts".concat(ts.versionMajorMinor)) || ts.getProperty(availableTypingVersions, "latest")); return availableVersion.compareTo(cachedTyping.version) <= 0; } JsTyping.isTypingUpToDate = isTypingUpToDate; @@ -122661,7 +123746,7 @@ var ts; "worker_threads", "zlib" ]; - JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:" + name; }); + JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:".concat(name); }); JsTyping.nodeCoreModuleList = __spreadArray(__spreadArray([], unprefixedNodeCoreModuleList, true), JsTyping.prefixedNodeCoreModuleList, true); JsTyping.nodeCoreModules = new ts.Set(JsTyping.nodeCoreModuleList); function nonRelativeModuleNameForTypingCache(moduleName) { @@ -122711,14 +123796,8 @@ var ts; var possibleSearchDirs = new ts.Set(fileNames.map(ts.getDirectoryPath)); possibleSearchDirs.add(projectRootPath); possibleSearchDirs.forEach(function (searchDir) { - var packageJsonPath = ts.combinePaths(searchDir, "package.json"); - getTypingNamesFromJson(packageJsonPath, filesToWatch); - var bowerJsonPath = ts.combinePaths(searchDir, "bower.json"); - getTypingNamesFromJson(bowerJsonPath, filesToWatch); - var bowerComponentsPath = ts.combinePaths(searchDir, "bower_components"); - getTypingNamesFromPackagesFolder(bowerComponentsPath, filesToWatch); - var nodeModulesPath = ts.combinePaths(searchDir, "node_modules"); - getTypingNamesFromPackagesFolder(nodeModulesPath, filesToWatch); + getTypingNames(searchDir, "bower.json", "bower_components", filesToWatch); + getTypingNames(searchDir, "package.json", "node_modules", filesToWatch); }); if (!typeAcquisition.disableFilenameBasedTypeAcquisition) { getTypingNamesFromSourceFileNames(fileNames); @@ -122740,7 +123819,7 @@ var ts; var excludeTypingName = exclude_1[_i]; var didDelete = inferredTypings.delete(excludeTypingName); if (didDelete && log) - log("Typing for " + excludeTypingName + " is in exclude list, will be ignored."); + log("Typing for ".concat(excludeTypingName, " is in exclude list, will be ignored.")); } var newTypingNames = []; var cachedTypingPaths = []; @@ -122754,7 +123833,7 @@ var ts; }); var result = { cachedTypingPaths: cachedTypingPaths, newTypingNames: newTypingNames, filesToWatch: filesToWatch }; if (log) - log("Result: " + JSON.stringify(result)); + log("Result: ".concat(JSON.stringify(result))); return result; function addInferredTyping(typingName) { if (!inferredTypings.has(typingName)) { @@ -122763,20 +123842,104 @@ var ts; } function addInferredTypings(typingNames, message) { if (log) - log(message + ": " + JSON.stringify(typingNames)); + log("".concat(message, ": ").concat(JSON.stringify(typingNames))); ts.forEach(typingNames, addInferredTyping); } /** - * Get the typing info from common package manager json files like package.json or bower.json + * Adds inferred typings from manifest/module pairs (think package.json + node_modules) + * + * @param projectRootPath is the path to the directory where to look for package.json, bower.json and other typing information + * @param manifestName is the name of the manifest (package.json or bower.json) + * @param modulesDirName is the directory name for modules (node_modules or bower_components). Should be lowercase! + * @param filesToWatch are the files to watch for changes. We will push things into this array. */ - function getTypingNamesFromJson(jsonPath, filesToWatch) { - if (!host.fileExists(jsonPath)) { + function getTypingNames(projectRootPath, manifestName, modulesDirName, filesToWatch) { + // First, we check the manifests themselves. They're not + // _required_, but they allow us to do some filtering when dealing + // with big flat dep directories. + var manifestPath = ts.combinePaths(projectRootPath, manifestName); + var manifest; + var manifestTypingNames; + if (host.fileExists(manifestPath)) { + filesToWatch.push(manifestPath); + manifest = ts.readConfigFile(manifestPath, function (path) { return host.readFile(path); }).config; + manifestTypingNames = ts.flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], ts.getOwnKeys); + addInferredTypings(manifestTypingNames, "Typing names in '".concat(manifestPath, "' dependencies")); + } + // Now we scan the directories for typing information in + // already-installed dependencies (if present). Note that this + // step happens regardless of whether a manifest was present, + // which is certainly a valid configuration, if an unusual one. + var packagesFolderPath = ts.combinePaths(projectRootPath, modulesDirName); + filesToWatch.push(packagesFolderPath); + if (!host.directoryExists(packagesFolderPath)) { return; } - filesToWatch.push(jsonPath); - var jsonConfig = ts.readConfigFile(jsonPath, function (path) { return host.readFile(path); }).config; - var jsonTypingNames = ts.flatMap([jsonConfig.dependencies, jsonConfig.devDependencies, jsonConfig.optionalDependencies, jsonConfig.peerDependencies], ts.getOwnKeys); - addInferredTypings(jsonTypingNames, "Typing names in '" + jsonPath + "' dependencies"); + // There's two cases we have to take into account here: + // 1. If manifest is undefined, then we're not using a manifest. + // That means that we should scan _all_ dependencies at the top + // level of the modulesDir. + // 2. If manifest is defined, then we can do some special + // filtering to reduce the amount of scanning we need to do. + // + // Previous versions of this algorithm checked for a `_requiredBy` + // field in the package.json, but that field is only present in + // `npm@>=3 <7`. + // Package names that do **not** provide their own typings, so + // we'll look them up. + var packageNames = []; + var dependencyManifestNames = manifestTypingNames + // This is #1 described above. + ? manifestTypingNames.map(function (typingName) { return ts.combinePaths(packagesFolderPath, typingName, manifestName); }) + // And #2. Depth = 3 because scoped packages look like `node_modules/@foo/bar/package.json` + : host.readDirectory(packagesFolderPath, [".json" /* Json */], /*excludes*/ undefined, /*includes*/ undefined, /*depth*/ 3) + .filter(function (manifestPath) { + if (ts.getBaseFileName(manifestPath) !== manifestName) { + return false; + } + // It's ok to treat + // `node_modules/@foo/bar/package.json` as a manifest, + // but not `node_modules/jquery/nested/package.json`. + // We only assume depth 3 is ok for formally scoped + // packages. So that needs this dance here. + var pathComponents = ts.getPathComponents(ts.normalizePath(manifestPath)); + var isScoped = pathComponents[pathComponents.length - 3][0] === "@"; + return isScoped && pathComponents[pathComponents.length - 4].toLowerCase() === modulesDirName || // `node_modules/@foo/bar` + !isScoped && pathComponents[pathComponents.length - 3].toLowerCase() === modulesDirName; // `node_modules/foo` + }); + if (log) + log("Searching for typing names in ".concat(packagesFolderPath, "; all files: ").concat(JSON.stringify(dependencyManifestNames))); + // Once we have the names of things to look up, we iterate over + // and either collect their included typings, or add them to the + // list of typings we need to look up separately. + for (var _i = 0, dependencyManifestNames_1 = dependencyManifestNames; _i < dependencyManifestNames_1.length; _i++) { + var manifestPath_1 = dependencyManifestNames_1[_i]; + var normalizedFileName = ts.normalizePath(manifestPath_1); + var result_1 = ts.readConfigFile(normalizedFileName, function (path) { return host.readFile(path); }); + var manifest_1 = result_1.config; + // If the package has its own d.ts typings, those will take precedence. Otherwise the package name will be used + // to download d.ts files from DefinitelyTyped + if (!manifest_1.name) { + continue; + } + var ownTypes = manifest_1.types || manifest_1.typings; + if (ownTypes) { + var absolutePath = ts.getNormalizedAbsolutePath(ownTypes, ts.getDirectoryPath(normalizedFileName)); + if (host.fileExists(absolutePath)) { + if (log) + log(" Package '".concat(manifest_1.name, "' provides its own types.")); + inferredTypings.set(manifest_1.name, absolutePath); + } + else { + if (log) + log(" Package '".concat(manifest_1.name, "' provides its own types but they are missing.")); + } + } + else { + packageNames.push(manifest_1.name); + } + } + addInferredTypings(packageNames, " Found package names"); } /** * Infer typing names from given file names. For example, the file name "jquery-min.2.3.4.js" @@ -122802,55 +123965,6 @@ var ts; addInferredTyping("react"); } } - /** - * Infer typing names from packages folder (ex: node_module, bower_components) - * @param packagesFolderPath is the path to the packages folder - */ - function getTypingNamesFromPackagesFolder(packagesFolderPath, filesToWatch) { - filesToWatch.push(packagesFolderPath); - // Todo: add support for ModuleResolutionHost too - if (!host.directoryExists(packagesFolderPath)) { - return; - } - // depth of 2, so we access `node_modules/foo` but not `node_modules/foo/bar` - var fileNames = host.readDirectory(packagesFolderPath, [".json" /* Json */], /*excludes*/ undefined, /*includes*/ undefined, /*depth*/ 2); - if (log) - log("Searching for typing names in " + packagesFolderPath + "; all files: " + JSON.stringify(fileNames)); - var packageNames = []; - for (var _i = 0, fileNames_1 = fileNames; _i < fileNames_1.length; _i++) { - var fileName = fileNames_1[_i]; - var normalizedFileName = ts.normalizePath(fileName); - var baseFileName = ts.getBaseFileName(normalizedFileName); - if (baseFileName !== "package.json" && baseFileName !== "bower.json") { - continue; - } - var result_1 = ts.readConfigFile(normalizedFileName, function (path) { return host.readFile(path); }); - var packageJson = result_1.config; - // npm 3's package.json contains a "_requiredBy" field - // we should include all the top level module names for npm 2, and only module names whose - // "_requiredBy" field starts with "#" or equals "/" for npm 3. - if (baseFileName === "package.json" && packageJson._requiredBy && - ts.filter(packageJson._requiredBy, function (r) { return r[0] === "#" || r === "/"; }).length === 0) { - continue; - } - // If the package has its own d.ts typings, those will take precedence. Otherwise the package name will be used - // to download d.ts files from DefinitelyTyped - if (!packageJson.name) { - continue; - } - var ownTypes = packageJson.types || packageJson.typings; - if (ownTypes) { - var absolutePath = ts.getNormalizedAbsolutePath(ownTypes, ts.getDirectoryPath(normalizedFileName)); - if (log) - log(" Package '" + packageJson.name + "' provides its own types."); - inferredTypings.set(packageJson.name, absolutePath); - } - else { - packageNames.push(packageJson.name); - } - } - addInferredTypings(packageNames, " Found package names"); - } } JsTyping.discoverTypings = discoverTypings; var NameValidationResult; @@ -122914,15 +124028,15 @@ var ts; var kind = isScopeName ? "Scope" : "Package"; switch (result) { case 1 /* EmptyName */: - return "'" + typing + "':: " + kind + " name '" + name + "' cannot be empty"; + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot be empty"); case 2 /* NameTooLong */: - return "'" + typing + "':: " + kind + " name '" + name + "' should be less than " + maxPackageNameLength + " characters"; + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' should be less than ").concat(maxPackageNameLength, " characters"); case 3 /* NameStartsWithDot */: - return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '.'"; + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '.'"); case 4 /* NameStartsWithUnderscore */: - return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '_'"; + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '_'"); case 5 /* NameContainsNonURISafeCharacters */: - return "'" + typing + "':: " + kind + " name '" + name + "' contains non URI safe characters"; + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' contains non URI safe characters"); case 0 /* Ok */: return ts.Debug.fail(); // Shouldn't have called this. default: @@ -123186,6 +124300,7 @@ var ts; ScriptElementKind["externalModuleName"] = "external module name"; /** * + * @deprecated */ ScriptElementKind["jsxAttribute"] = "JSX attribute"; /** String literal */ @@ -123361,13 +124476,6 @@ var ts; || ts.isImportSpecifier(parent) || ts.isImportClause(parent) || ts.isImportEqualsDeclaration(parent) && node === parent.name) { - var decl = parent; - while (decl) { - if (ts.isImportEqualsDeclaration(decl) || ts.isImportClause(decl) || ts.isExportDeclaration(decl)) { - return decl.isTypeOnly ? 2 /* Type */ : 7 /* All */; - } - decl = decl.parent; - } return 7 /* All */; } else if (isInRightSideOfInternalImportEqualsDeclaration(node)) { @@ -124518,7 +125626,7 @@ var ts; isWhiteSpaceOnlyJsxText(child); if (lookInPreviousChild) { // actual start of the node is past the position - previous token should be at the end of previous child - var candidate_1 = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ i, sourceFile); + var candidate_1 = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ i, sourceFile, n.kind); return candidate_1 && findRightmostToken(candidate_1, sourceFile); } else { @@ -124532,7 +125640,7 @@ var ts; // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. // Namely we are skipping the check: 'position < node.end' - var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ children.length, sourceFile); + var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ children.length, sourceFile, n.kind); return candidate && findRightmostToken(candidate, sourceFile); } } @@ -124548,17 +125656,19 @@ var ts; if (children.length === 0) { return n; } - var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ children.length, sourceFile); + var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ children.length, sourceFile, n.kind); return candidate && findRightmostToken(candidate, sourceFile); } /** * Finds the rightmost child to the left of `children[exclusiveStartPosition]` which is a non-all-whitespace token or has constituent tokens. */ - function findRightmostChildNodeWithTokens(children, exclusiveStartPosition, sourceFile) { + function findRightmostChildNodeWithTokens(children, exclusiveStartPosition, sourceFile, parentKind) { for (var i = exclusiveStartPosition - 1; i >= 0; i--) { var child = children[i]; if (isWhiteSpaceOnlyJsxText(child)) { - ts.Debug.assert(i > 0, "`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`"); + if (i === 0 && (parentKind === 11 /* JsxText */ || parentKind === 278 /* JsxSelfClosingElement */)) { + ts.Debug.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`"); + } } else if (nodeHasTokens(children[i], sourceFile)) { return children[i]; @@ -125084,6 +126194,7 @@ var ts; useCaseSensitiveFileNames: ts.maybeBind(host, host.useCaseSensitiveFileNames), getSymlinkCache: ts.maybeBind(host, host.getSymlinkCache) || program.getSymlinkCache, getModuleSpecifierCache: ts.maybeBind(host, host.getModuleSpecifierCache), + getPackageJsonInfoCache: function () { var _a; return (_a = program.getModuleResolutionCache()) === null || _a === void 0 ? void 0 : _a.getPackageJsonInfoCache(); }, getGlobalTypingsCacheLocation: ts.maybeBind(host, host.getGlobalTypingsCacheLocation), redirectTargetsMap: program.redirectTargetsMap, getProjectReferenceRedirect: function (fileName) { return program.getProjectReferenceRedirect(fileName); }, @@ -125480,7 +126591,7 @@ var ts; var prefix = ts.isJSDocLink(link) ? "link" : ts.isJSDocLinkCode(link) ? "linkcode" : "linkplain"; - var parts = [linkPart("{@" + prefix + " ")]; + var parts = [linkPart("{@".concat(prefix, " "))]; if (!link.name) { if (link.text) parts.push(linkTextPart(link.text)); @@ -125497,7 +126608,7 @@ var ts; parts.push(linkTextPart(text)); } else { - parts.push(linkTextPart(name + (suffix ? "" : " ") + text)); + parts.push(linkTextPart(name + (suffix || text.indexOf("://") === 0 ? "" : " ") + text)); } } parts.push(linkPart("}")); @@ -125728,7 +126839,7 @@ var ts; function getUniqueName(baseName, sourceFile) { var nameText = baseName; for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { - nameText = baseName + "_" + i; + nameText = "".concat(baseName, "_").concat(i); } return nameText; } @@ -125838,7 +126949,7 @@ var ts; // Editors can pass in undefined or empty string - we want to infer the preference in those cases. var quotePreference = getQuotePreference(sourceFile, preferences); var quoted = JSON.stringify(text); - return quotePreference === 0 /* Single */ ? "'" + ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"') + "'" : quoted; + return quotePreference === 0 /* Single */ ? "'".concat(ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"'), "'") : quoted; } ts.quote = quote; function isEqualityOperatorKind(kind) { @@ -125898,7 +127009,6 @@ var ts; || kind === 165 /* PropertySignature */ || kind === 167 /* MethodSignature */; } - ts.syntaxRequiresTrailingCommaOrSemicolonOrASI = syntaxRequiresTrailingCommaOrSemicolonOrASI; function syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI(kind) { return kind === 255 /* FunctionDeclaration */ || kind === 170 /* Constructor */ @@ -125906,11 +127016,9 @@ var ts; || kind === 171 /* GetAccessor */ || kind === 172 /* SetAccessor */; } - ts.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI = syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI; function syntaxRequiresTrailingModuleBlockOrSemicolonOrASI(kind) { return kind === 260 /* ModuleDeclaration */; } - ts.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI = syntaxRequiresTrailingModuleBlockOrSemicolonOrASI; function syntaxRequiresTrailingSemicolonOrASI(kind) { return kind === 236 /* VariableStatement */ || kind === 237 /* ExpressionStatement */ @@ -125985,19 +127093,34 @@ var ts; ts.forEachChild(sourceFile, function visit(node) { if (syntaxRequiresTrailingSemicolonOrASI(node.kind)) { var lastToken = node.getLastToken(sourceFile); - if (lastToken && lastToken.kind === 26 /* SemicolonToken */) { + if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === 26 /* SemicolonToken */) { withSemicolon++; } else { withoutSemicolon++; } } + else if (syntaxRequiresTrailingCommaOrSemicolonOrASI(node.kind)) { + var lastToken = node.getLastToken(sourceFile); + if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === 26 /* SemicolonToken */) { + withSemicolon++; + } + else if (lastToken && lastToken.kind !== 27 /* CommaToken */) { + var lastTokenLine = ts.getLineAndCharacterOfPosition(sourceFile, lastToken.getStart(sourceFile)).line; + var nextTokenLine = ts.getLineAndCharacterOfPosition(sourceFile, ts.getSpanOfTokenAtPosition(sourceFile, lastToken.end).start).line; + // Avoid counting missing semicolon in single-line objects: + // `function f(p: { x: string /*no semicolon here is insignificant*/ }) {` + if (lastTokenLine !== nextTokenLine) { + withoutSemicolon++; + } + } + } if (withSemicolon + withoutSemicolon >= nStatementsToObserve) { return true; } return ts.forEachChild(node, visit); }); - // One statement missing a semicolon isn’t sufficient evidence to say the user + // One statement missing a semicolon isn't sufficient evidence to say the user // doesn’t want semicolons, because they may not even be done writing that statement. if (withSemicolon === 0 && withoutSemicolon <= 1) { return true; @@ -126196,7 +127319,7 @@ var ts; if (!ts.stringContains(importedFileName, "node_modules")) { return undefined; } - var specifier = ts.moduleSpecifiers.getNodeModulesPackageName(host.getCompilationSettings(), fromFile.path, importedFileName, moduleSpecifierResolutionHost, preferences); + var specifier = ts.moduleSpecifiers.getNodeModulesPackageName(host.getCompilationSettings(), fromFile, importedFileName, moduleSpecifierResolutionHost, preferences); if (!specifier) { return undefined; } @@ -126210,7 +127333,7 @@ var ts; var components = ts.getPathComponents(ts.getPackageNameFromTypesPackageName(fullSpecifier)).slice(1); // Scoped packages if (ts.startsWith(components[0], "@")) { - return components[0] + "/" + components[1]; + return "".concat(components[0], "/").concat(components[1]); } return components[0]; } @@ -126306,24 +127429,44 @@ var ts; return ts.isArray(valueOrArray) ? ts.first(valueOrArray) : valueOrArray; } ts.firstOrOnly = firstOrOnly; - function getNameForExportedSymbol(symbol, scriptTarget) { - if (!(symbol.flags & 33554432 /* Transient */) && (symbol.escapedName === "export=" /* ExportEquals */ || symbol.escapedName === "default" /* Default */)) { + function getNamesForExportedSymbol(symbol, scriptTarget) { + if (needsNameFromDeclaration(symbol)) { + var fromDeclaration = getDefaultLikeExportNameFromDeclaration(symbol); + if (fromDeclaration) + return fromDeclaration; + var fileNameCase = ts.codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*preferCapitalized*/ false); + var capitalized = ts.codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*preferCapitalized*/ true); + if (fileNameCase === capitalized) + return fileNameCase; + return [fileNameCase, capitalized]; + } + return symbol.name; + } + ts.getNamesForExportedSymbol = getNamesForExportedSymbol; + function getNameForExportedSymbol(symbol, scriptTarget, preferCapitalized) { + if (needsNameFromDeclaration(symbol)) { // Name of "export default foo;" is "foo". Name of "export default 0" is the filename converted to camelCase. - return ts.firstDefined(symbol.declarations, function (d) { var _a; return ts.isExportAssignment(d) ? (_a = ts.tryCast(ts.skipOuterExpressions(d.expression), ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text : undefined; }) - || ts.codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget); + return getDefaultLikeExportNameFromDeclaration(symbol) + || ts.codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, !!preferCapitalized); } return symbol.name; } ts.getNameForExportedSymbol = getNameForExportedSymbol; + function needsNameFromDeclaration(symbol) { + return !(symbol.flags & 33554432 /* Transient */) && (symbol.escapedName === "export=" /* ExportEquals */ || symbol.escapedName === "default" /* Default */); + } + function getDefaultLikeExportNameFromDeclaration(symbol) { + return ts.firstDefined(symbol.declarations, function (d) { var _a; return ts.isExportAssignment(d) ? (_a = ts.tryCast(ts.skipOuterExpressions(d.expression), ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text : undefined; }); + } function getSymbolParentOrFail(symbol) { var _a; - return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: " + ts.Debug.formatSymbolFlags(symbol.flags) + ". " + - ("Declarations: " + ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) { + return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: ".concat(ts.Debug.formatSymbolFlags(symbol.flags), ". ") + + "Declarations: ".concat((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) { var kind = ts.Debug.formatSyntaxKind(d.kind); var inJS = ts.isInJSFile(d); var expression = d.expression; - return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: " + ts.Debug.formatSyntaxKind(expression.kind) + ")" : ""); - }).join(", ")) + ".")); + return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: ".concat(ts.Debug.formatSyntaxKind(expression.kind), ")") : ""); + }).join(", "), ".")); } /** * Useful to check whether a string contains another string at a specific index @@ -126396,6 +127539,16 @@ var ts; : ts.getLocaleSpecificMessage(diag); } ts.diagnosticToString = diagnosticToString; + /** + * Get format code settings for a code writing context (e.g. when formatting text changes or completions code). + */ + function getFormatCodeSettingsForWriting(_a, sourceFile) { + var options = _a.options; + var shouldAutoDetectSemicolonPreference = !options.semicolons || options.semicolons === ts.SemicolonPreference.Ignore; + var shouldRemoveSemicolons = options.semicolons === ts.SemicolonPreference.Remove || shouldAutoDetectSemicolonPreference && !probablyUsesSemicolons(sourceFile); + return __assign(__assign({}, options), { semicolons: shouldRemoveSemicolons ? ts.SemicolonPreference.Remove : ts.SemicolonPreference.Ignore }); + } + ts.getFormatCodeSettingsForWriting = getFormatCodeSettingsForWriting; // #endregion })(ts || (ts = {})); /*@internal*/ @@ -126419,6 +127572,17 @@ var ts; var exportInfoId = 1; var exportInfo = ts.createMultiMap(); var symbols = new ts.Map(); + /** + * Key: node_modules package name (no @types). + * Value: path to deepest node_modules folder seen that is + * both visible to `usableByFileName` and contains the package. + * + * Later, we can see if a given SymbolExportInfo is shadowed by + * a another installation of the same package in a deeper + * node_modules folder by seeing if its path starts with the + * value stored here. + */ + var packages = new ts.Map(); var usableByFileName; var cache = { isUsableByFile: function (importingFile) { return importingFile === usableByFileName; }, @@ -126428,11 +127592,32 @@ var ts; symbols.clear(); usableByFileName = undefined; }, - add: function (importingFile, symbol, symbolTableKey, moduleSymbol, moduleFile, exportKind, isFromPackageJson, scriptTarget, checker) { + add: function (importingFile, symbol, symbolTableKey, moduleSymbol, moduleFile, exportKind, isFromPackageJson, checker) { if (importingFile !== usableByFileName) { cache.clear(); usableByFileName = importingFile; } + var packageName; + if (moduleFile) { + var nodeModulesPathParts = ts.getNodeModulePathParts(moduleFile.fileName); + if (nodeModulesPathParts) { + var topLevelNodeModulesIndex = nodeModulesPathParts.topLevelNodeModulesIndex, topLevelPackageNameIndex = nodeModulesPathParts.topLevelPackageNameIndex, packageRootIndex = nodeModulesPathParts.packageRootIndex; + packageName = ts.unmangleScopedPackageName(ts.getPackageNameFromTypesPackageName(moduleFile.fileName.substring(topLevelPackageNameIndex + 1, packageRootIndex))); + if (ts.startsWith(importingFile, moduleFile.path.substring(0, topLevelNodeModulesIndex))) { + var prevDeepestNodeModulesPath = packages.get(packageName); + var nodeModulesPath = moduleFile.fileName.substring(0, topLevelPackageNameIndex); + if (prevDeepestNodeModulesPath) { + var prevDeepestNodeModulesIndex = prevDeepestNodeModulesPath.indexOf(ts.nodeModulesPathPart); + if (topLevelNodeModulesIndex > prevDeepestNodeModulesIndex) { + packages.set(packageName, nodeModulesPath); + } + } + else { + packages.set(packageName, nodeModulesPath); + } + } + } + } var isDefault = exportKind === 1 /* Default */; var namedSymbol = isDefault && ts.getLocalSymbolForExportDefault(symbol) || symbol; // 1. A named export must be imported by its key in `moduleSymbol.exports` or `moduleSymbol.members`. @@ -126442,9 +127627,11 @@ var ts; // 3. Otherwise, we have a default/namespace import that can be imported by any name, and // `symbolTableKey` will be something undesirable like `export=` or `default`, so we try to // get a better name. - var importedName = exportKind === 0 /* Named */ || ts.isExternalModuleSymbol(namedSymbol) + var names = exportKind === 0 /* Named */ || ts.isExternalModuleSymbol(namedSymbol) ? ts.unescapeLeadingUnderscores(symbolTableKey) - : ts.getNameForExportedSymbol(namedSymbol, scriptTarget); + : ts.getNamesForExportedSymbol(namedSymbol, /*scriptTarget*/ undefined); + var symbolName = typeof names === "string" ? names : names[0]; + var capitalizedSymbolName = typeof names === "string" ? undefined : names[1]; var moduleName = ts.stripQuotes(moduleSymbol.name); var id = exportInfoId++; var target = ts.skipAlias(symbol, checker); @@ -126452,13 +127639,15 @@ var ts; var storedModuleSymbol = moduleSymbol.flags & 33554432 /* Transient */ ? undefined : moduleSymbol; if (!storedSymbol || !storedModuleSymbol) symbols.set(id, [symbol, moduleSymbol]); - exportInfo.add(key(importedName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), { + exportInfo.add(key(symbolName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), { id: id, symbolTableKey: symbolTableKey, - symbolName: importedName, + symbolName: symbolName, + capitalizedSymbolName: capitalizedSymbolName, moduleName: moduleName, moduleFile: moduleFile, moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName, + packageName: packageName, exportKind: exportKind, targetFlags: target.flags, isFromPackageJson: isFromPackageJson, @@ -126472,12 +127661,19 @@ var ts; var result = exportInfo.get(key); return result === null || result === void 0 ? void 0 : result.map(rehydrateCachedInfo); }, - forEach: function (importingFile, action) { + search: function (importingFile, preferCapitalized, matches, action) { if (importingFile !== usableByFileName) return; exportInfo.forEach(function (info, key) { var _a = parseKey(key), symbolName = _a.symbolName, ambientModuleName = _a.ambientModuleName; - action(info.map(rehydrateCachedInfo), symbolName, !!ambientModuleName, key); + var name = preferCapitalized && info[0].capitalizedSymbolName || symbolName; + if (matches(name, info[0].targetFlags)) { + var rehydrated = info.map(rehydrateCachedInfo); + var filtered = rehydrated.filter(function (r, i) { return isNotShadowedByDeeperNodeModulesPackage(r, info[i].packageName); }); + if (filtered.length) { + action(filtered, name, !!ambientModuleName, key); + } + } }); }, releaseSymbols: function () { @@ -126531,7 +127727,7 @@ var ts; : checker.tryFindAmbientModule(info.moduleName)); var symbol = info.symbol || cachedSymbol || ts.Debug.checkDefined(exportKind === 2 /* ExportEquals */ ? checker.resolveExternalModuleSymbol(moduleSymbol) - : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '" + info.symbolName + "' by key '" + info.symbolTableKey + "' in module " + moduleSymbol.name); + : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '".concat(info.symbolName, "' by key '").concat(info.symbolTableKey, "' in module ").concat(moduleSymbol.name)); symbols.set(id, [symbol, moduleSymbol]); return { symbol: symbol, @@ -126544,7 +127740,7 @@ var ts; } function key(importedName, symbol, ambientModuleName, checker) { var moduleKey = ambientModuleName || ""; - return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey; + return "".concat(importedName, "|").concat(ts.getSymbolId(ts.skipAlias(symbol, checker)), "|").concat(moduleKey); } function parseKey(key) { var symbolName = key.substring(0, key.indexOf("|")); @@ -126577,6 +127773,12 @@ var ts; } return true; } + function isNotShadowedByDeeperNodeModulesPackage(info, packageName) { + if (!packageName || !info.moduleFileName) + return true; + var packageDeepestNodeModulesPath = packages.get(packageName); + return !packageDeepestNodeModulesPath || ts.startsWith(info.moduleFileName, packageDeepestNodeModulesPath); + } } ts.createCacheableExportInfoMap = createCacheableExportInfoMap; function isImportableFile(program, from, to, preferences, packageJsonFilter, moduleSpecifierResolutionHost, moduleSpecifierCache) { @@ -126624,7 +127826,7 @@ var ts; if (autoImportProvider) { var start = ts.timestamp(); forEachExternalModule(autoImportProvider.getTypeChecker(), autoImportProvider.getSourceFiles(), function (module, file) { return cb(module, file, autoImportProvider, /*isFromPackageJson*/ true); }); - (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: " + (ts.timestamp() - start)); + (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: ".concat(ts.timestamp() - start)); } } ts.forEachExternalModuleToImportFrom = forEachExternalModuleToImportFrom; @@ -126659,7 +127861,6 @@ var ts; } (_d = host.log) === null || _d === void 0 ? void 0 : _d.call(host, "getExportInfoMap: cache miss or empty; calculating new results"); var compilerOptions = program.getCompilerOptions(); - var scriptTarget = ts.getEmitScriptTarget(compilerOptions); var moduleCount = 0; forEachExternalModuleToImportFrom(program, host, /*useAutoImportProvider*/ true, function (moduleSymbol, moduleFile, program, isFromPackageJson) { if (++moduleCount % 100 === 0) @@ -126670,15 +127871,15 @@ var ts; // Note: I think we shouldn't actually see resolved module symbols here, but weird merges // can cause it to happen: see 'completionsImport_mergedReExport.ts' if (defaultInfo && isImportableSymbol(defaultInfo.symbol, checker)) { - cache.add(importingFile.path, defaultInfo.symbol, defaultInfo.exportKind === 1 /* Default */ ? "default" /* Default */ : "export=" /* ExportEquals */, moduleSymbol, moduleFile, defaultInfo.exportKind, isFromPackageJson, scriptTarget, checker); + cache.add(importingFile.path, defaultInfo.symbol, defaultInfo.exportKind === 1 /* Default */ ? "default" /* Default */ : "export=" /* ExportEquals */, moduleSymbol, moduleFile, defaultInfo.exportKind, isFromPackageJson, checker); } checker.forEachExportAndPropertyOfModule(moduleSymbol, function (exported, key) { if (exported !== (defaultInfo === null || defaultInfo === void 0 ? void 0 : defaultInfo.symbol) && isImportableSymbol(exported, checker) && ts.addToSeen(seenExports, key)) { - cache.add(importingFile.path, exported, key, moduleSymbol, moduleFile, 0 /* Named */, isFromPackageJson, scriptTarget, checker); + cache.add(importingFile.path, exported, key, moduleSymbol, moduleFile, 0 /* Named */, isFromPackageJson, checker); } }); }); - (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in " + (ts.timestamp() - start) + " ms"); + (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in ".concat(ts.timestamp() - start, " ms")); return cache; } ts.getExportInfoMap = getExportInfoMap; @@ -127211,7 +128412,7 @@ var ts; return { spans: spans, endOfLineState: 0 /* None */ }; function pushClassification(start, end, type) { var length = end - start; - ts.Debug.assert(length > 0, "Classification had non-positive length of " + length); + ts.Debug.assert(length > 0, "Classification had non-positive length of ".concat(length)); spans.push(start); spans.push(length); spans.push(type); @@ -127715,6 +128916,9 @@ var ts; } return; } + if (ts.isConstTypeReference(token.parent)) { + return 3 /* keyword */; + } } return 2 /* identifier */; } @@ -128015,8 +129219,9 @@ var ts; case 0 /* Paths */: return convertPathCompletions(completion.paths); case 1 /* Properties */: { - var entries = []; - Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ESNext */, log, 4 /* String */, preferences, options); // Target will not be used, so arbitrary + var entries = ts.createSortedArray(); + Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ESNext */, log, 4 /* String */, preferences, options, + /*formatContext*/ undefined); // Target will not be used, so arbitrary return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan: optionalReplacementSpan, entries: entries }; } case 2 /* Types */: { @@ -128079,7 +129284,7 @@ var ts; case ".d.cts" /* Dcts */: return ".d.cts" /* dctsModifier */; case ".cjs" /* Cjs */: return ".cjs" /* cjsModifier */; case ".cts" /* Cts */: return ".cts" /* ctsModifier */; - case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension " + ".tsbuildinfo" /* TsBuildInfo */ + " is unsupported."); + case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension ".concat(".tsbuildinfo" /* TsBuildInfo */, " is unsupported.")); case undefined: return "" /* none */; default: return ts.Debug.assertNever(extension); @@ -128213,7 +129418,7 @@ var ts; var types = ts.flatMap(candidates, function (candidate) { if (!ts.signatureHasRestParameter(candidate) && argumentInfo.argumentCount > candidate.parameters.length) return; - var type = checker.getParameterType(candidate, argumentInfo.argumentIndex); + var type = candidate.getTypeParameterAtPosition(argumentInfo.argumentIndex); isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */); return getStringLiteralTypes(type, uniques); }); @@ -128744,6 +129949,8 @@ var ts; CompletionSource["ThisProperty"] = "ThisProperty/"; /** Auto-import that comes attached to a class member snippet */ CompletionSource["ClassMemberSnippet"] = "ClassMemberSnippet/"; + /** A type-only import that needs to be promoted in order to be used at the completion location */ + CompletionSource["TypeOnlyAlias"] = "TypeOnlyAlias/"; })(CompletionSource = Completions.CompletionSource || (Completions.CompletionSource = {})); var SymbolOriginInfoKind; (function (SymbolOriginInfoKind) { @@ -128753,6 +129960,7 @@ var ts; SymbolOriginInfoKind[SymbolOriginInfoKind["Promise"] = 8] = "Promise"; SymbolOriginInfoKind[SymbolOriginInfoKind["Nullable"] = 16] = "Nullable"; SymbolOriginInfoKind[SymbolOriginInfoKind["ResolvedExport"] = 32] = "ResolvedExport"; + SymbolOriginInfoKind[SymbolOriginInfoKind["TypeOnlyAlias"] = 64] = "TypeOnlyAlias"; SymbolOriginInfoKind[SymbolOriginInfoKind["SymbolMemberNoExport"] = 2] = "SymbolMemberNoExport"; SymbolOriginInfoKind[SymbolOriginInfoKind["SymbolMemberExport"] = 6] = "SymbolMemberExport"; })(SymbolOriginInfoKind || (SymbolOriginInfoKind = {})); @@ -128780,6 +129988,9 @@ var ts; function originIsNullableMember(origin) { return !!(origin.kind & 16 /* Nullable */); } + function originIsTypeOnlyAlias(origin) { + return !!(origin && origin.kind & 64 /* TypeOnlyAlias */); + } var KeywordCompletionFilters; (function (KeywordCompletionFilters) { KeywordCompletionFilters[KeywordCompletionFilters["None"] = 0] = "None"; @@ -128802,16 +130013,17 @@ var ts; function resolvingModuleSpecifiers(logPrefix, host, program, sourceFile, preferences, isForImportStatementCompletion, cb) { var _a, _b, _c; var start = ts.timestamp(); + var packageJsonImportFilter = ts.createPackageJsonImportFilter(sourceFile, preferences, host); var resolutionLimitExceeded = false; var ambientCount = 0; var resolvedCount = 0; var resolvedFromCacheCount = 0; var cacheAttemptCount = 0; var result = cb({ tryResolve: tryResolve, resolutionLimitExceeded: function () { return resolutionLimitExceeded; } }); - var hitRateMessage = cacheAttemptCount ? " (" + (resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1) + "% hit rate)" : ""; - (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, logPrefix + ": resolved " + resolvedCount + " module specifiers, plus " + ambientCount + " ambient and " + resolvedFromCacheCount + " from cache" + hitRateMessage); - (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, logPrefix + ": response is " + (resolutionLimitExceeded ? "incomplete" : "complete")); - (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, logPrefix + ": " + (ts.timestamp() - start)); + var hitRateMessage = cacheAttemptCount ? " (".concat((resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1), "% hit rate)") : ""; + (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, "".concat(logPrefix, ": resolved ").concat(resolvedCount, " module specifiers, plus ").concat(ambientCount, " ambient and ").concat(resolvedFromCacheCount, " from cache").concat(hitRateMessage)); + (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "".concat(logPrefix, ": response is ").concat(resolutionLimitExceeded ? "incomplete" : "complete")); + (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, "".concat(logPrefix, ": ").concat(ts.timestamp() - start)); return result; function tryResolve(exportInfo, isFromAmbientModule) { if (isFromAmbientModule) { @@ -128824,7 +130036,7 @@ var ts; var shouldResolveModuleSpecifier = isForImportStatementCompletion || preferences.allowIncompleteCompletions && resolvedCount < Completions.moduleSpecifierResolutionLimit; var shouldGetModuleSpecifierFromCache = !shouldResolveModuleSpecifier && preferences.allowIncompleteCompletions && cacheAttemptCount < Completions.moduleSpecifierResolutionCacheAttemptLimit; var result = (shouldResolveModuleSpecifier || shouldGetModuleSpecifierFromCache) - ? ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, sourceFile, program, host, preferences, shouldGetModuleSpecifierFromCache) + ? ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, sourceFile, program, host, preferences, packageJsonImportFilter, shouldGetModuleSpecifierFromCache) : undefined; if (!shouldResolveModuleSpecifier && !shouldGetModuleSpecifierFromCache || shouldGetModuleSpecifierFromCache && !result) { resolutionLimitExceeded = true; @@ -128837,7 +130049,7 @@ var ts; return result; } } - function getCompletionsAtPosition(host, program, log, sourceFile, position, preferences, triggerCharacter, completionKind, cancellationToken) { + function getCompletionsAtPosition(host, program, log, sourceFile, position, preferences, triggerCharacter, completionKind, cancellationToken, formatContext) { var _a; var previousToken = getRelevantTokens(position, sourceFile).previousToken; if (triggerCharacter && !ts.isInString(sourceFile, position, previousToken) && !isValidTrigger(sourceFile, triggerCharacter, previousToken, position)) { @@ -128877,7 +130089,7 @@ var ts; } switch (completionData.kind) { case 0 /* Data */: - var response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences); + var response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position); if (response === null || response === void 0 ? void 0 : response.isIncomplete) { incompleteCompletionsCache === null || incompleteCompletionsCache === void 0 ? void 0 : incompleteCompletionsCache.set(response); } @@ -128897,6 +130109,29 @@ var ts; } } Completions.getCompletionsAtPosition = getCompletionsAtPosition; + // Editors will use the `sortText` and then fall back to `name` for sorting, but leave ties in response order. + // So, it's important that we sort those ties in the order we want them displayed if it matters. We don't + // strictly need to sort by name or SortText here since clients are going to do it anyway, but we have to + // do the work of comparing them so we can sort those ties appropriately; plus, it makes the order returned + // by the language service consistent with what TS Server does and what editors typically do. This also makes + // completions tests make more sense. We used to sort only alphabetically and only in the server layer, but + // this made tests really weird, since most fourslash tests don't use the server. + function compareCompletionEntries(entryInArray, entryToInsert) { + var _a, _b; + var result = ts.compareStringsCaseSensitiveUI(entryInArray.sortText, entryToInsert.sortText); + if (result === 0 /* EqualTo */) { + result = ts.compareStringsCaseSensitiveUI(entryInArray.name, entryToInsert.name); + } + if (result === 0 /* EqualTo */ && ((_a = entryInArray.data) === null || _a === void 0 ? void 0 : _a.moduleSpecifier) && ((_b = entryToInsert.data) === null || _b === void 0 ? void 0 : _b.moduleSpecifier)) { + // Sort same-named auto-imports by module specifier + result = ts.compareNumberOfDirectorySeparators(entryInArray.data.moduleSpecifier, entryToInsert.data.moduleSpecifier); + } + if (result === 0 /* EqualTo */) { + // Fall back to symbol order - if we return `EqualTo`, `insertSorted` will put later symbols first. + return -1 /* LessThan */; + } + return result; + } function completionEntryDataIsResolved(data) { return !!(data === null || data === void 0 ? void 0 : data.moduleSpecifier); } @@ -128974,8 +130209,8 @@ var ts; // StringLiteralLike locations are handled separately in stringCompletions.ts return (location === null || location === void 0 ? void 0 : location.kind) === 79 /* Identifier */ ? ts.createTextSpanFromNode(location) : undefined; } - function completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences) { - var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, importCompletionNode = completionData.importCompletionNode, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextIdMap = completionData.symbolToSortTextIdMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; + function completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position) { + var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, isRightOfOpenTag = completionData.isRightOfOpenTag, importCompletionNode = completionData.importCompletionNode, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextIdMap = completionData.symbolToSortTextIdMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; // Verify if the file is JSX language variant if (ts.getLanguageVariant(sourceFile.scriptKind) === 1 /* JSX */) { var completionInfo = getJsxClosingTagCompletion(location, sourceFile); @@ -128983,31 +130218,38 @@ var ts; return completionInfo; } } - var entries = []; + var entries = ts.createSortedArray(); if (isUncheckedFile(sourceFile, compilerOptions)) { var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap); - getJSCompletionEntries(sourceFile, location.pos, uniqueNames, ts.getEmitScriptTarget(compilerOptions), entries); // TODO: GH#18217 + /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap, isJsxIdentifierExpected, isRightOfOpenTag); + getJSCompletionEntries(sourceFile, location.pos, uniqueNames, ts.getEmitScriptTarget(compilerOptions), entries); } else { if (!isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* None */) { return undefined; } getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap); + /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap, isJsxIdentifierExpected, isRightOfOpenTag); } if (keywordFilters !== 0 /* None */) { - var entryNames = new ts.Set(entries.map(function (e) { return e.name; })); + var entryNames_1 = new ts.Set(entries.map(function (e) { return e.name; })); for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) { var keywordEntry = _a[_i]; - if (!entryNames.has(keywordEntry.name)) { - entries.push(keywordEntry); + if (!entryNames_1.has(keywordEntry.name)) { + ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true); } } } - for (var _b = 0, literals_1 = literals; _b < literals_1.length; _b++) { - var literal = literals_1[_b]; - entries.push(createCompletionEntryForLiteral(sourceFile, preferences, literal)); + var entryNames = new ts.Set(entries.map(function (e) { return e.name; })); + for (var _b = 0, _c = getContextualKeywords(contextToken, position); _b < _c.length; _b++) { + var keywordEntry = _c[_b]; + if (!entryNames.has(keywordEntry.name)) { + ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true); + } + } + for (var _d = 0, literals_1 = literals; _d < literals_1.length; _d++) { + var literal = literals_1[_d]; + ts.insertSorted(entries, createCompletionEntryForLiteral(sourceFile, preferences, literal), compareCompletionEntries, /*allowDuplicates*/ true); } return { isGlobalCompletion: isInSnippetScope, @@ -129083,13 +130325,13 @@ var ts; var realName = ts.unescapeLeadingUnderscores(name); if (!uniqueNames.has(realName) && ts.isIdentifierText(realName, target)) { uniqueNames.add(realName); - entries.push({ + ts.insertSorted(entries, { name: realName, kind: "warning" /* warning */, kindModifiers: "", sortText: SortText.JavascriptIdentifiers, isFromUncheckedFile: true - }); + }, compareCompletionEntries); } }); } @@ -129100,7 +130342,7 @@ var ts; function createCompletionEntryForLiteral(sourceFile, preferences, literal) { return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: SortText.LocationPriority }; } - function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, options, preferences, completionKind) { + function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag) { var _a, _b; var insertText; var replacementSpan = ts.getReplacementSpanForContextToken(replacementToken); @@ -129114,15 +130356,15 @@ var ts; var useBraces = origin && originIsSymbolMember(origin) || needsConvertPropertyAccess; if (origin && originIsThisType(origin)) { insertText = needsConvertPropertyAccess - ? "this" + (insertQuestionDot ? "?." : "") + "[" + quotePropertyName(sourceFile, preferences, name) + "]" - : "this" + (insertQuestionDot ? "?." : ".") + name; + ? "this".concat(insertQuestionDot ? "?." : "", "[").concat(quotePropertyName(sourceFile, preferences, name), "]") + : "this".concat(insertQuestionDot ? "?." : ".").concat(name); } // We should only have needsConvertPropertyAccess if there's a property access to convert. But see #21790. // Somehow there was a global with a non-identifier name. Hopefully someone will complain about getting a "foo bar" global completion and provide a repro. else if ((useBraces || insertQuestionDot) && propertyAccessToConvert) { - insertText = useBraces ? needsConvertPropertyAccess ? "[" + quotePropertyName(sourceFile, preferences, name) + "]" : "[" + name + "]" : name; + insertText = useBraces ? needsConvertPropertyAccess ? "[".concat(quotePropertyName(sourceFile, preferences, name), "]") : "[".concat(name, "]") : name; if (insertQuestionDot || propertyAccessToConvert.questionDotToken) { - insertText = "?." + insertText; + insertText = "?.".concat(insertText); } var dot = ts.findChildOfKind(propertyAccessToConvert, 24 /* DotToken */, sourceFile) || ts.findChildOfKind(propertyAccessToConvert, 28 /* QuestionDotToken */, sourceFile); @@ -129136,7 +130378,7 @@ var ts; if (isJsxInitializer) { if (insertText === undefined) insertText = name; - insertText = "{" + insertText + "}"; + insertText = "{".concat(insertText, "}"); if (typeof isJsxInitializer !== "boolean") { replacementSpan = ts.createTextSpanFromNode(isJsxInitializer, sourceFile); } @@ -129149,8 +130391,8 @@ var ts; if (precedingToken && ts.positionIsASICandidate(precedingToken.end, precedingToken.parent, sourceFile)) { awaitText = ";"; } - awaitText += "(await " + propertyAccessToConvert.expression.getText() + ")"; - insertText = needsConvertPropertyAccess ? "" + awaitText + insertText : "" + awaitText + (insertQuestionDot ? "?." : ".") + insertText; + awaitText += "(await ".concat(propertyAccessToConvert.expression.getText(), ")"); + insertText = needsConvertPropertyAccess ? "".concat(awaitText).concat(insertText) : "".concat(awaitText).concat(insertQuestionDot ? "?." : ".").concat(insertText); replacementSpan = ts.createTextSpanFromBounds(propertyAccessToConvert.getStart(sourceFile), propertyAccessToConvert.end); } if (originIsResolvedExport(origin)) { @@ -129160,19 +130402,21 @@ var ts; isSnippet = preferences.includeCompletionsWithSnippetText ? true : undefined; } } + if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) { + hasAction = true; + } if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location)) { var importAdder = void 0; - (_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder); + (_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder); if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) { hasAction = true; source = CompletionSource.ClassMemberSnippet; } } - var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, location); - if (kind === "JSX attribute" /* jsxAttribute */ && preferences.includeCompletionsWithSnippetText && preferences.jsxAttributeCompletionStyle && preferences.jsxAttributeCompletionStyle !== "none") { + if (isJsxIdentifierExpected && !isRightOfOpenTag && preferences.includeCompletionsWithSnippetText && preferences.jsxAttributeCompletionStyle && preferences.jsxAttributeCompletionStyle !== "none") { var useBraces_1 = preferences.jsxAttributeCompletionStyle === "braces"; var type = typeChecker.getTypeOfSymbolAtLocation(symbol, location); // If is boolean like or undefined, don't return a snippet we want just to return the completion. @@ -129181,7 +130425,7 @@ var ts; && !(type.flags & 1048576 /* Union */ && ts.find(type.types, function (type) { return !!(type.flags & 528 /* BooleanLike */); }))) { if (type.flags & 402653316 /* StringLike */ || (type.flags & 1048576 /* Union */ && ts.every(type.types, function (type) { return !!(type.flags & (402653316 /* StringLike */ | 32768 /* Undefined */)); }))) { // If is string like or undefined use quotes - insertText = ts.escapeSnippetText(name) + "=" + ts.quote(sourceFile, preferences, "$1"); + insertText = "".concat(ts.escapeSnippetText(name), "=").concat(ts.quote(sourceFile, preferences, "$1")); isSnippet = true; } else { @@ -129190,7 +130434,7 @@ var ts; } } if (useBraces_1) { - insertText = ts.escapeSnippetText(name) + "={$1}"; + insertText = "".concat(ts.escapeSnippetText(name), "={$1}"); isSnippet = true; } } @@ -129210,7 +130454,7 @@ var ts; // entries (like JavaScript identifier entries). return { name: name, - kind: kind, + kind: ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, location), kindModifiers: ts.SymbolDisplay.getSymbolModifiers(typeChecker, symbol), sortText: sortText, source: source, @@ -129264,7 +130508,7 @@ var ts; ts.isSyntaxList(location) && ts.isClassLike(location.parent))); } - function getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken) { + function getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext) { var classLikeDeclaration = ts.findAncestor(location, ts.isClassLike); if (!classLikeDeclaration) { return { insertText: name }; @@ -129281,15 +130525,16 @@ var ts; newLine: ts.getNewLineKind(ts.getNewLineCharacter(options, ts.maybeBind(host, host.getNewLine))), }); var importAdder = ts.codefix.createImportAdder(sourceFile, program, preferences, host); + // Create empty body for possible method implementation. var body; if (preferences.includeCompletionsWithSnippetText) { isSnippet = true; // We are adding a tabstop (i.e. `$0`) in the body of the suggested member, // if it has one, so that the cursor ends up in the body once the completion is inserted. // Note: this assumes we won't have more than one body in the completion nodes, which should be the case. - var emptyStatement = ts.factory.createExpressionStatement(ts.factory.createIdentifier("")); - ts.setSnippetElement(emptyStatement, { kind: 0 /* TabStop */, order: 0 }); - body = ts.factory.createBlock([emptyStatement], /* multiline */ true); + var emptyStmt = ts.factory.createEmptyStatement(); + body = ts.factory.createBlock([emptyStmt], /* multiline */ true); + ts.setSnippetElement(emptyStmt, { kind: 0 /* TabStop */, order: 0 }); } else { body = ts.factory.createBlock([], /* multiline */ true); @@ -129335,7 +130580,27 @@ var ts; completionNodes.push(node); }, body, 2 /* Property */, isAbstract); if (completionNodes.length) { - insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile); + // If we have access to formatting settings, we print the nodes using the emitter, + // and then format the printed text. + if (formatContext) { + var syntheticFile_1 = { + text: printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile), + getLineAndCharacterOfPosition: function (pos) { + return ts.getLineAndCharacterOfPosition(this, pos); + }, + }; + var formatOptions_1 = ts.getFormatCodeSettingsForWriting(formatContext, sourceFile); + var changes = ts.flatMap(completionNodes, function (node) { + var nodeWithPos = ts.textChanges.assignPositionsToNode(node); + return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile_1, sourceFile.languageVariant, + /* indentation */ 0, + /* delta */ 0, __assign(__assign({}, formatContext), { options: formatOptions_1 })); + }); + insertText = ts.textChanges.applyChanges(syntheticFile_1.text, changes); + } + else { // Otherwise, just use emitter to print the new nodes. + insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile); + } } return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder }; } @@ -129379,8 +130644,8 @@ var ts; return undefined; } function createSnippetPrinter(printerOptions) { - var printer = ts.createPrinter(printerOptions); - var baseWriter = ts.createTextWriter(ts.getNewLineCharacter(printerOptions)); + var baseWriter = ts.textChanges.createWriter(ts.getNewLineCharacter(printerOptions)); + var printer = ts.createPrinter(printerOptions, baseWriter); var writer = __assign(__assign({}, baseWriter), { write: function (s) { return baseWriter.write(ts.escapeSnippetText(s)); }, nonEscapingWrite: baseWriter.write, writeLiteral: function (s) { return baseWriter.writeLiteral(ts.escapeSnippetText(s)); }, writeStringLiteral: function (s) { return baseWriter.writeStringLiteral(ts.escapeSnippetText(s)); }, writeSymbol: function (s, symbol) { return baseWriter.writeSymbol(ts.escapeSnippetText(s), symbol); }, writeParameter: function (s) { return baseWriter.writeParameter(ts.escapeSnippetText(s)); }, writeComment: function (s) { return baseWriter.writeComment(ts.escapeSnippetText(s)); }, writeProperty: function (s) { return baseWriter.writeProperty(ts.escapeSnippetText(s)); } }); return { printSnippetList: printSnippetList, @@ -129454,14 +130719,14 @@ var ts; var importKind = ts.codefix.getImportKind(sourceFile, exportKind, options, /*forceImportKeyword*/ true); var isTopLevelTypeOnly = ((_b = (_a = ts.tryCast(importCompletionNode, ts.isImportDeclaration)) === null || _a === void 0 ? void 0 : _a.importClause) === null || _b === void 0 ? void 0 : _b.isTypeOnly) || ((_c = ts.tryCast(importCompletionNode, ts.isImportEqualsDeclaration)) === null || _c === void 0 ? void 0 : _c.isTypeOnly); var isImportSpecifierTypeOnly = couldBeTypeOnlyImportSpecifier(importCompletionNode, contextToken); - var topLevelTypeOnlyText = isTopLevelTypeOnly ? " " + ts.tokenToString(151 /* TypeKeyword */) + " " : " "; - var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? ts.tokenToString(151 /* TypeKeyword */) + " " : ""; + var topLevelTypeOnlyText = isTopLevelTypeOnly ? " ".concat(ts.tokenToString(151 /* TypeKeyword */), " ") : " "; + var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? "".concat(ts.tokenToString(151 /* TypeKeyword */), " ") : ""; var suffix = useSemicolons ? ";" : ""; switch (importKind) { - case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " = require(" + quotedModuleSpecifier + ")" + suffix }; - case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " from " + quotedModuleSpecifier + suffix }; - case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "* as " + ts.escapeSnippetText(name) + " from " + quotedModuleSpecifier + suffix }; - case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "{ " + importSpecifierTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " } from " + quotedModuleSpecifier + suffix }; + case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " = require(").concat(quotedModuleSpecifier, ")").concat(suffix) }; + case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " from ").concat(quotedModuleSpecifier).concat(suffix) }; + case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "* as ").concat(ts.escapeSnippetText(name), " from ").concat(quotedModuleSpecifier).concat(suffix) }; + case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "{ ").concat(importSpecifierTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " } from ").concat(quotedModuleSpecifier).concat(suffix) }; } } function quotePropertyName(sourceFile, preferences, name) { @@ -129484,8 +130749,11 @@ var ts; if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 1 /* ThisType */) { return CompletionSource.ThisProperty; } + if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) { + return CompletionSource.TypeOnlyAlias; + } } - function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, sourceFile, host, program, target, log, kind, preferences, compilerOptions, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap) { + function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, sourceFile, host, program, target, log, kind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap, isJsxIdentifierExpected, isRightOfOpenTag) { var _a; var start = ts.timestamp(); var variableDeclaration = getVariableDeclaration(location); @@ -129506,14 +130774,14 @@ var ts; var name = info.name, needsConvertPropertyAccess = info.needsConvertPropertyAccess; var sortTextId = (_a = symbolToSortTextIdMap === null || symbolToSortTextIdMap === void 0 ? void 0 : symbolToSortTextIdMap[ts.getSymbolId(symbol)]) !== null && _a !== void 0 ? _a : 11 /* LocationPriority */; var sortText = (isDeprecated(symbol, typeChecker) ? 8 /* DeprecatedOffset */ + sortTextId : sortTextId).toString(); - var entry = createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, compilerOptions, preferences, kind); + var entry = createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, compilerOptions, preferences, kind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag); if (!entry) { continue; } /** True for locals; false for globals, module exports from other files, `this.` completions. */ - var shouldShadowLaterSymbols = !origin && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); })); + var shouldShadowLaterSymbols = (!origin || originIsTypeOnlyAlias(origin)) && !(symbol.parent === undefined && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === location.getSourceFile(); })); uniques.set(name, shouldShadowLaterSymbols); - entries.push(entry); + ts.insertSorted(entries, entry, compareCompletionEntries, /*allowDuplicates*/ true); } log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (ts.timestamp() - start)); // Prevent consumers of this map from having to worry about @@ -129524,6 +130792,7 @@ var ts; add: function (name) { return uniques.set(name, true); }, }; function shouldIncludeSymbol(symbol, symbolToSortTextIdMap) { + var allFlags = symbol.flags; if (!ts.isSourceFile(location)) { // export = /**/ here we want to get all meanings, so any symbol is ok if (ts.isExportAssignment(location.parent)) { @@ -129549,11 +130818,10 @@ var ts; || symbolToSortTextIdMap[ts.getSymbolId(symbolOrigin)] === 11 /* LocationPriority */)) { return false; } - // Continue with origin symbol - symbol = symbolOrigin; + allFlags |= ts.getCombinedLocalAndExportSymbolFlags(symbolOrigin); // import m = /**/ <-- It can only access namespace (if typing import = x. this would get member symbols and not namespace) if (ts.isInRightSideOfInternalImportEqualsDeclaration(location)) { - return !!(symbol.flags & 1920 /* Namespace */); + return !!(allFlags & 1920 /* Namespace */); } if (isTypeOnlyLocation) { // It's a type, but you can reach it by namespace.type as well @@ -129561,7 +130829,7 @@ var ts; } } // expressions are value space (which includes the value namespaces) - return !!(ts.getCombinedLocalAndExportSymbolFlags(symbol) & 111551 /* Value */); + return !!(allFlags & 111551 /* Value */); } } Completions.getCompletionEntriesFromSymbols = getCompletionEntriesFromSymbols; @@ -129695,14 +130963,13 @@ var ts; Completions.createCompletionDetails = createCompletionDetails; function getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken, formatContext, preferences, data, source) { if (data === null || data === void 0 ? void 0 : data.moduleSpecifier) { - var _a = getRelevantTokens(position, sourceFile), contextToken_3 = _a.contextToken, previousToken_2 = _a.previousToken; - if (previousToken_2 && getImportStatementCompletionInfo(contextToken_3 || previousToken_2).replacementNode) { + if (previousToken && getImportStatementCompletionInfo(contextToken || previousToken).replacementNode) { // Import statement completion: 'import c|' return { codeActions: undefined, sourceDisplay: [ts.textPart(data.moduleSpecifier)] }; } } if (source === CompletionSource.ClassMemberSnippet) { - var importAdder = getEntryForMemberCompletion(host, program, compilerOptions, preferences, name, symbol, location, contextToken).importAdder; + var importAdder = getEntryForMemberCompletion(host, program, compilerOptions, preferences, name, symbol, location, contextToken, formatContext).importAdder; if (importAdder) { var changes = ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext, preferences: preferences }, importAdder.writeFixes); return { @@ -129714,13 +130981,19 @@ var ts; }; } } + if (originIsTypeOnlyAlias(origin)) { + var codeAction_1 = ts.codefix.getPromoteTypeOnlyCompletionAction(sourceFile, origin.declaration.name, program, host, formatContext, preferences); + ts.Debug.assertIsDefined(codeAction_1, "Expected to have a code action for promoting type-only alias"); + return { codeActions: [codeAction_1], sourceDisplay: undefined }; + } if (!origin || !(originIsExport(origin) || originIsResolvedExport(origin))) { return { codeActions: undefined, sourceDisplay: undefined }; } var checker = origin.isFromPackageJson ? host.getPackageJsonAutoImportProvider().getTypeChecker() : program.getTypeChecker(); var moduleSymbol = origin.moduleSymbol; var targetSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); - var _b = ts.codefix.getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, ts.getNameForExportedSymbol(symbol, ts.getEmitScriptTarget(compilerOptions)), host, program, formatContext, previousToken && ts.isIdentifier(previousToken) ? previousToken.getStart(sourceFile) : position, preferences), moduleSpecifier = _b.moduleSpecifier, codeAction = _b.codeAction; + var isJsxOpeningTagName = (contextToken === null || contextToken === void 0 ? void 0 : contextToken.kind) === 29 /* LessThanToken */ && ts.isJsxOpeningLikeElement(contextToken.parent); + var _a = ts.codefix.getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, ts.getNameForExportedSymbol(symbol, ts.getEmitScriptTarget(compilerOptions), isJsxOpeningTagName), isJsxOpeningTagName, host, program, formatContext, previousToken && ts.isIdentifier(previousToken) ? previousToken.getStart(sourceFile) : position, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; ts.Debug.assert(!(data === null || data === void 0 ? void 0 : data.moduleSpecifier) || moduleSpecifier === data.moduleSpecifier); return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; } @@ -129775,7 +131048,8 @@ var ts; case 103 /* NewKeyword */: return checker.getContextualType(parent); case 82 /* CaseKeyword */: - return ts.getSwitchedType(ts.cast(parent, ts.isCaseClause), checker); + var caseClause = ts.tryCast(parent, ts.isCaseClause); + return caseClause ? ts.getSwitchedType(caseClause, checker) : undefined; case 18 /* OpenBraceToken */: return ts.isJsxExpression(parent) && !ts.isJsxElement(parent.parent) && !ts.isJsxFragment(parent.parent) ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; default: @@ -130100,6 +131374,7 @@ var ts; symbolToSortTextIdMap: symbolToSortTextIdMap, isTypeOnlyLocation: isTypeOnlyLocation, isJsxIdentifierExpected: isJsxIdentifierExpected, + isRightOfOpenTag: isRightOfOpenTag, importCompletionNode: importCompletionNode, hasUnresolvedAutoImports: hasUnresolvedAutoImports, }; @@ -130178,9 +131453,7 @@ var ts; // GH#39946. Pulling on the type of a node inside of a function with a contextual `this` parameter can result in a circularity // if the `node` is part of the exprssion of a `yield` or `return`. This circularity doesn't exist at compile time because // we will check (and cache) the type of `this` *before* checking the type of the node. - var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - if (!ts.isSourceFile(container) && container.parent) - typeChecker.getTypeAtLocation(container); + typeChecker.tryGetThisTypeAt(node, /*includeGlobalThis*/ false); var type = typeChecker.getTypeAtLocation(node).getNonOptionalType(); var insertQuestionDot = false; if (type.isNullableType()) { @@ -130391,21 +131664,29 @@ var ts; var scopeNode = getScopeNode(contextToken, adjustedPosition, sourceFile) || sourceFile; isInSnippetScope = isSnippetScope(scopeNode); var symbolMeanings = (isTypeOnlyLocation ? 0 /* None */ : 111551 /* Value */) | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */; + var typeOnlyAliasNeedsPromotion = previousToken && !ts.isValidTypeOnlyAliasUseSite(previousToken); symbols = ts.concatenate(symbols, typeChecker.getSymbolsInScope(scopeNode, symbolMeanings)); ts.Debug.assertEachIsDefined(symbols, "getSymbolsInScope() should all be defined"); - for (var _i = 0, symbols_1 = symbols; _i < symbols_1.length; _i++) { - var symbol = symbols_1[_i]; + for (var i = 0; i < symbols.length; i++) { + var symbol = symbols[i]; if (!typeChecker.isArgumentsSymbol(symbol) && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === sourceFile; })) { symbolToSortTextIdMap[ts.getSymbolId(symbol)] = 15 /* GlobalsOrKeywords */; } + if (typeOnlyAliasNeedsPromotion && !(symbol.flags & 111551 /* Value */)) { + var typeOnlyAliasDeclaration = symbol.declarations && ts.find(symbol.declarations, ts.isTypeOnlyImportOrExportDeclaration); + if (typeOnlyAliasDeclaration) { + var origin = { kind: 64 /* TypeOnlyAlias */, declaration: typeOnlyAliasDeclaration }; + symbolToOriginInfoMap[i] = origin; + } + } } // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 303 /* SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode, /*includeGlobalThis*/ false); if (thisType && !isProbablyGlobalType(thisType, sourceFile, typeChecker)) { - for (var _a = 0, _b = getPropertiesForCompletion(thisType, typeChecker); _a < _b.length; _a++) { - var symbol = _b[_a]; + for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker); _i < _a.length; _i++) { + var symbol = _a[_i]; symbolToOriginInfoMap[symbols.length] = { kind: 1 /* ThisType */ }; symbols.push(symbol); symbolToSortTextIdMap[ts.getSymbolId(symbol)] = 14 /* SuggestedClassMembers */; @@ -130508,39 +131789,47 @@ var ts; var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host); var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host); resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, preferences, !!importCompletionNode, function (context) { - exportInfo.forEach(sourceFile.path, function (info, symbolName, isFromAmbientModule, exportMapKey) { + exportInfo.search(sourceFile.path, + /*preferCapitalized*/ isRightOfOpenTag, function (symbolName, targetFlags) { if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings()))) - return; + return false; if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName)) + return false; + if (!isTypeOnlyLocation && !importCompletionNode && !(targetFlags & 111551 /* Value */)) + return false; + if (isTypeOnlyLocation && !(targetFlags & (1536 /* Module */ | 788968 /* Type */))) + return false; + // Do not try to auto-import something with a lowercase first letter for a JSX tag + var firstChar = symbolName.charCodeAt(0); + if (isRightOfOpenTag && (firstChar < 65 /* A */ || firstChar > 90 /* Z */)) + return false; + if (detailsEntryId) + return true; + return charactersFuzzyMatchInString(symbolName, lowerCaseTokenText); + }, function (info, symbolName, isFromAmbientModule, exportMapKey) { + if (detailsEntryId && !ts.some(info, function (i) { return detailsEntryId.source === ts.stripQuotes(i.moduleSymbol.name); })) { return; - // `targetFlags` should be the same for each `info` - if (!isTypeOnlyLocation && !importCompletionNode && !(info[0].targetFlags & 111551 /* Value */)) - return; - if (isTypeOnlyLocation && !(info[0].targetFlags & (1536 /* Module */ | 788968 /* Type */))) + } + var defaultExportInfo = ts.find(info, isImportableExportInfo); + if (!defaultExportInfo) { return; - var isCompletionDetailsMatch = detailsEntryId && ts.some(info, function (i) { return detailsEntryId.source === ts.stripQuotes(i.moduleSymbol.name); }); - if (isCompletionDetailsMatch || !detailsEntryId && charactersFuzzyMatchInString(symbolName, lowerCaseTokenText)) { - var defaultExportInfo = ts.find(info, isImportableExportInfo); - if (!defaultExportInfo) { - return; - } - // If we don't need to resolve module specifiers, we can use any re-export that is importable at all - // (We need to ensure that at least one is importable to show a completion.) - var _a = context.tryResolve(info, isFromAmbientModule) || {}, _b = _a.exportInfo, exportInfo_1 = _b === void 0 ? defaultExportInfo : _b, moduleSpecifier = _a.moduleSpecifier; - var isDefaultExport = exportInfo_1.exportKind === 1 /* Default */; - var symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(exportInfo_1.symbol) || exportInfo_1.symbol; - pushAutoImportSymbol(symbol, { - kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */, - moduleSpecifier: moduleSpecifier, - symbolName: symbolName, - exportMapKey: exportMapKey, - exportName: exportInfo_1.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo_1.symbol.name, - fileName: exportInfo_1.moduleFileName, - isDefaultExport: isDefaultExport, - moduleSymbol: exportInfo_1.moduleSymbol, - isFromPackageJson: exportInfo_1.isFromPackageJson, - }); } + // If we don't need to resolve module specifiers, we can use any re-export that is importable at all + // (We need to ensure that at least one is importable to show a completion.) + var _a = context.tryResolve(info, isFromAmbientModule) || {}, _b = _a.exportInfo, exportInfo = _b === void 0 ? defaultExportInfo : _b, moduleSpecifier = _a.moduleSpecifier; + var isDefaultExport = exportInfo.exportKind === 1 /* Default */; + var symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(exportInfo.symbol) || exportInfo.symbol; + pushAutoImportSymbol(symbol, { + kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */, + moduleSpecifier: moduleSpecifier, + symbolName: symbolName, + exportMapKey: exportMapKey, + exportName: exportInfo.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo.symbol.name, + fileName: exportInfo.moduleFileName, + isDefaultExport: isDefaultExport, + moduleSymbol: exportInfo.moduleSymbol, + isFromPackageJson: exportInfo.isFromPackageJson, + }); }); hasUnresolvedAutoImports = context.resolutionLimitExceeded(); }); @@ -130594,16 +131883,19 @@ var ts; return true; } if (contextToken.kind === 31 /* GreaterThanToken */ && contextToken.parent) { + // /**/ /> + // /**/ > + // - contextToken: GreaterThanToken (before cursor) + // - location: JsxSelfClosingElement or JsxOpeningElement + // - contextToken.parent === location + if (location === contextToken.parent && (location.kind === 279 /* JsxOpeningElement */ || location.kind === 278 /* JsxSelfClosingElement */)) { + return false; + } if (contextToken.parent.kind === 279 /* JsxOpeningElement */) { - // Two possibilities: - // 1.
/**/ - // - contextToken: GreaterThanToken (before cursor) - // - location: JSXElement - // - different parents (JSXOpeningElement, JSXElement) - // 2. /**/> - // - contextToken: GreaterThanToken (before cursor) - // - location: GreaterThanToken (after cursor) - // - same parent (JSXOpeningElement) + //
/**/ + // - contextToken: GreaterThanToken (before cursor) + // - location: JSXElement + // - different parents (JSXOpeningElement, JSXElement) return location.parent.kind !== 279 /* JsxOpeningElement */; } if (contextToken.parent.kind === 280 /* JsxClosingElement */ || contextToken.parent.kind === 278 /* JsxSelfClosingElement */) { @@ -131510,10 +132802,40 @@ var ts; function keywordForNode(node) { return ts.isIdentifier(node) ? node.originalKeywordKind || 0 /* Unknown */ : node.kind; } + function getContextualKeywords(contextToken, position) { + var entries = []; + /** + * An `AssertClause` can come after an import declaration: + * import * from "foo" | + * import "foo" | + * or after a re-export declaration that has a module specifier: + * export { foo } from "foo" | + * Source: https://tc39.es/proposal-import-assertions/ + */ + if (contextToken) { + var file = contextToken.getSourceFile(); + var parent = contextToken.parent; + var tokenLine = file.getLineAndCharacterOfPosition(contextToken.end).line; + var currentLine = file.getLineAndCharacterOfPosition(position).line; + if ((ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent) && parent.moduleSpecifier) + && contextToken === parent.moduleSpecifier + && tokenLine === currentLine) { + entries.push({ + name: ts.tokenToString(129 /* AssertKeyword */), + kind: "keyword" /* keyword */, + kindModifiers: "" /* none */, + sortText: SortText.GlobalsOrKeywords, + }); + } + } + return entries; + } /** Get the corresponding JSDocTag node if the position is in a jsDoc comment */ function getJsDocTagAtPosition(node, position) { - var jsdoc = ts.findAncestor(node, ts.isJSDoc); - return jsdoc && jsdoc.tags && (ts.rangeContainsPosition(jsdoc, position) ? ts.findLast(jsdoc.tags, function (tag) { return tag.pos < position; }) : undefined); + return ts.findAncestor(node, function (n) { + return ts.isJSDocTag(n) && ts.rangeContainsPosition(n, position) ? true : + ts.isJSDoc(n) ? "quit" : false; + }); } function getPropertiesForObjectExpression(contextualType, completionsType, obj, checker) { var hasCompletionsType = completionsType && completionsType !== contextualType; @@ -131529,6 +132851,8 @@ var ts; // function f(x: T) {} // f({ abc/**/: "" }) // `abc` is a member of `T` but only because it declares itself function hasDeclarationOtherThanSelf(member) { + if (!ts.length(member.declarations)) + return true; return ts.some(member.declarations, function (decl) { return decl.parent !== obj; }); } } @@ -131800,10 +133124,14 @@ var ts; /** True if symbol is a type or a module containing at least one type. */ function symbolCanBeReferencedAtTypeLocation(symbol, checker, seenModules) { if (seenModules === void 0) { seenModules = new ts.Map(); } - var sym = ts.skipAlias(symbol.exportSymbol || symbol, checker); - return !!(sym.flags & 788968 /* Type */) || checker.isUnknownSymbol(sym) || - !!(sym.flags & 1536 /* Module */) && ts.addToSeen(seenModules, ts.getSymbolId(sym)) && - checker.getExportsOfModule(sym).some(function (e) { return symbolCanBeReferencedAtTypeLocation(e, checker, seenModules); }); + // Since an alias can be merged with a local declaration, we need to test both the alias and its target. + // This code used to just test the result of `skipAlias`, but that would ignore any locally introduced meanings. + return nonAliasCanBeReferencedAtTypeLocation(symbol) || nonAliasCanBeReferencedAtTypeLocation(ts.skipAlias(symbol.exportSymbol || symbol, checker)); + function nonAliasCanBeReferencedAtTypeLocation(symbol) { + return !!(symbol.flags & 788968 /* Type */) || checker.isUnknownSymbol(symbol) || + !!(symbol.flags & 1536 /* Module */) && ts.addToSeen(seenModules, ts.getSymbolId(symbol)) && + checker.getExportsOfModule(symbol).some(function (e) { return symbolCanBeReferencedAtTypeLocation(e, checker, seenModules); }); + } } function isDeprecated(symbol, checker) { var declarations = ts.skipAlias(symbol, checker).declarations; @@ -132360,13 +133688,30 @@ var ts; } function getDocumentRegistryEntry(bucketEntry, scriptKind) { var entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(ts.Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); - ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:" + scriptKind + " and sourceFile.scriptKind: " + (entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind) + ", !entry: " + !entry); + ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:".concat(scriptKind, " and sourceFile.scriptKind: ").concat(entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind, ", !entry: ").concat(!entry)); return entry; } function acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, acquiring, scriptKind) { scriptKind = ts.ensureScriptKind(fileName, scriptKind); var scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : ts.getEmitScriptTarget(compilationSettings); + var oldBucketCount = buckets.size; var bucket = ts.getOrUpdate(buckets, key, function () { return new ts.Map(); }); + if (ts.tracing) { + if (buckets.size > oldBucketCount) { + // It is interesting, but not definitively problematic if a build requires multiple document registry buckets - + // perhaps they are for two projects that don't have any overlap. + // Bonus: these events can help us interpret the more interesting event below. + ts.tracing.instant("session" /* Session */, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: key }); + } + // It is fairly suspicious to have one path in two buckets - you'd expect dependencies to have similar configurations. + // If this occurs unexpectedly, the fix is likely to synchronize the project settings. + // Skip .d.ts files to reduce noise (should also cover most of node_modules). + var otherBucketKey = !ts.fileExtensionIs(path, ".d.ts" /* Dts */) && + ts.forEachEntry(buckets, function (bucket, bucketKey) { return bucketKey !== key && bucket.has(path) && bucketKey; }); + if (otherBucketKey) { + ts.tracing.instant("session" /* Session */, "documentRegistryBucketOverlap", { path: path, key1: otherBucketKey, key2: key }); + } + } var bucketEntry = bucket.get(path); var entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); if (!entry && externalCache) { @@ -133031,7 +134376,7 @@ var ts; ts.Debug.assert(parent.name === node); return true; case 202 /* BindingElement */: - return ts.isInJSFile(node) && ts.isRequireVariableDeclaration(parent); + return ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(parent); default: return false; } @@ -133372,7 +134717,7 @@ var ts; sourceFile: def.file, name: def.reference.fileName, kind: "string" /* string */, - displayParts: [ts.displayPart("\"" + def.reference.fileName + "\"", ts.SymbolDisplayPartKind.stringLiteral)] + displayParts: [ts.displayPart("\"".concat(def.reference.fileName, "\""), ts.SymbolDisplayPartKind.stringLiteral)] }; } default: @@ -133512,7 +134857,7 @@ var ts; function getTextSpan(node, sourceFile, endNode) { var start = node.getStart(sourceFile); var end = (endNode || node).getEnd(); - if (ts.isStringLiteralLike(node)) { + if (ts.isStringLiteralLike(node) && (end - start) > 2) { ts.Debug.assert(endNode === undefined); start += 1; end -= 1; @@ -133952,7 +135297,7 @@ var ts; if (symbol.flags & 33554432 /* Transient */) return undefined; // Assertions for GH#21814. We should be handling SourceFile symbols in `getReferencedSymbolsForModule` instead of getting here. - ts.Debug.fail("Unexpected symbol at " + ts.Debug.formatSyntaxKind(node.kind) + ": " + ts.Debug.formatSymbol(symbol)); + ts.Debug.fail("Unexpected symbol at ".concat(ts.Debug.formatSyntaxKind(node.kind), ": ").concat(ts.Debug.formatSymbol(symbol))); } return ts.isTypeLiteralNode(decl.parent) && ts.isUnionTypeNode(decl.parent.parent) ? checker.getPropertyOfType(checker.getTypeFromTypeNode(decl.parent.parent), symbol.name) @@ -134057,8 +135402,8 @@ var ts; var sourceId = ts.getNodeId(sourceFile); var seenSymbols = this.sourceFileToSeenSymbols[sourceId] || (this.sourceFileToSeenSymbols[sourceId] = new ts.Set()); var anyNewSymbols = false; - for (var _i = 0, symbols_2 = symbols; _i < symbols_2.length; _i++) { - var sym = symbols_2[_i]; + for (var _i = 0, symbols_1 = symbols; _i < symbols_1.length; _i++) { + var sym = symbols_1[_i]; anyNewSymbols = ts.tryAddToSet(seenSymbols, ts.getSymbolId(sym)) || anyNewSymbols; } return anyNewSymbols; @@ -134245,7 +135590,7 @@ var ts; var token = _a[_i]; if (!ts.isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) continue; - var referenceSymbol = checker.getSymbolAtLocation(token); // See GH#19955 for why the type annotation is necessary + var referenceSymbol = checker.getSymbolAtLocation(token); if (referenceSymbol === symbol || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol || ts.isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol) { @@ -134431,7 +135776,7 @@ var ts; // Use the parent symbol if the location is commonjs require syntax on javascript files only. if (ts.isInJSFile(referenceLocation) && referenceLocation.parent.kind === 202 /* BindingElement */ - && ts.isRequireVariableDeclaration(referenceLocation.parent)) { + && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(referenceLocation.parent)) { referenceSymbol = referenceLocation.parent.symbol; // The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In // this case, just skip it, since the bound identifiers are not an alias of the import. @@ -134875,7 +136220,8 @@ var ts; } } else { - return nodeEntry(ref, 2 /* StringLiteral */); + return ts.isNoSubstitutionTemplateLiteral(ref) && !ts.rangeIsOnSingleLine(ref, sourceFile) ? undefined : + nodeEntry(ref, 2 /* StringLiteral */); } } }); @@ -135236,8 +136582,8 @@ var ts; var end = pos + 6; /* "static".length */ var typeChecker = program.getTypeChecker(); var symbol = typeChecker.getSymbolAtLocation(node.parent); - var prefix = symbol ? typeChecker.symbolToString(symbol, node.parent) + " " : ""; - return { text: prefix + "static {}", pos: pos, end: end }; + var prefix = symbol ? "".concat(typeChecker.symbolToString(symbol, node.parent), " ") : ""; + return { text: "".concat(prefix, "static {}"), pos: pos, end: end }; } var declName = isConstNamedExpression(node) ? node.parent.name : ts.Debug.checkDefined(ts.getNameOfDeclaration(node), "Expected call hierarchy item to have a name"); @@ -135779,7 +137125,7 @@ var ts; : getSourceFileToImport(importedModuleSymbol, importLiteral, sourceFile, program, host, oldToNew); // Need an update if the imported file moved, or the importing file moved and was using a relative path. return toImport !== undefined && (toImport.updated || (importingSourceFileMoved && ts.pathIsRelative(importLiteral.text))) - ? ts.moduleSpecifiers.updateModuleSpecifier(program.getCompilerOptions(), getCanonicalFileName(newImportFromPath), toImport.newFileName, ts.createModuleSpecifierResolutionHost(program, host), importLiteral.text) + ? ts.moduleSpecifiers.updateModuleSpecifier(program.getCompilerOptions(), sourceFile, getCanonicalFileName(newImportFromPath), toImport.newFileName, ts.createModuleSpecifierResolutionHost(program, host), importLiteral.text) : undefined; }); }; @@ -136031,7 +137377,7 @@ var ts; return file && { reference: libReferenceDirective, fileName: file.fileName, file: file, unverified: false }; } if ((_a = sourceFile.resolvedModules) === null || _a === void 0 ? void 0 : _a.size()) { - var node = ts.getTokenAtPosition(sourceFile, position); + var node = ts.getTouchingToken(sourceFile, position); if (ts.isModuleSpecifierLike(node) && ts.isExternalModuleNameRelative(node.text) && sourceFile.resolvedModules.has(node.text, ts.getModeForUsageLocation(sourceFile, node))) { var verifiedFileName = (_b = sourceFile.resolvedModules.get(node.text, ts.getModeForUsageLocation(sourceFile, node))) === null || _b === void 0 ? void 0 : _b.resolvedFileName; var fileName = verifiedFileName || ts.resolvePath(ts.getDirectoryPath(sourceFile.fileName), node.text); @@ -136056,14 +137402,17 @@ var ts; if (node === sourceFile) { return undefined; } - var symbol = typeChecker.getSymbolAtLocation(node); + var symbol = getSymbol(node, typeChecker); if (!symbol) return undefined; var typeAtLocation = typeChecker.getTypeOfSymbolAtLocation(symbol, node); var returnType = tryGetReturnTypeOfFunction(symbol, typeAtLocation, typeChecker); var fromReturnType = returnType && definitionFromType(returnType, typeChecker, node); // If a function returns 'void' or some other type with no definition, just return the function definition. - return fromReturnType && fromReturnType.length !== 0 ? fromReturnType : definitionFromType(typeAtLocation, typeChecker, node); + var typeDefinitions = fromReturnType && fromReturnType.length !== 0 ? fromReturnType : definitionFromType(typeAtLocation, typeChecker, node); + return typeDefinitions.length ? typeDefinitions + : !(symbol.flags & 111551 /* Value */) && symbol.flags & 788968 /* Type */ ? getDefinitionFromSymbol(typeChecker, ts.skipAlias(symbol, typeChecker), node) + : undefined; } GoToDefinition.getTypeDefinitionAtPosition = getTypeDefinitionAtPosition; function definitionFromType(type, checker, node) { @@ -136138,7 +137487,7 @@ var ts; return declaration.parent.kind === 268 /* NamedImports */; case 202 /* BindingElement */: case 253 /* VariableDeclaration */: - return ts.isInJSFile(declaration) && ts.isRequireVariableDeclaration(declaration); + return ts.isInJSFile(declaration) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(declaration); default: return false; } @@ -136436,7 +137785,27 @@ var ts; case 326 /* JSDocAugmentsTag */: return withNode(tag.class); case 342 /* JSDocTemplateTag */: - return addComment(tag.typeParameters.map(function (tp) { return tp.getText(); }).join(", ")); + var templateTag = tag; + var displayParts_3 = []; + if (templateTag.constraint) { + displayParts_3.push(ts.textPart(templateTag.constraint.getText())); + } + if (ts.length(templateTag.typeParameters)) { + if (ts.length(displayParts_3)) { + displayParts_3.push(ts.spacePart()); + } + var lastTypeParameter_1 = templateTag.typeParameters[templateTag.typeParameters.length - 1]; + ts.forEach(templateTag.typeParameters, function (tp) { + displayParts_3.push(namePart(tp.getText())); + if (lastTypeParameter_1 !== tp) { + displayParts_3.push.apply(displayParts_3, [ts.punctuationPart(27 /* CommaToken */), ts.spacePart()]); + } + }); + } + if (comment) { + displayParts_3.push.apply(displayParts_3, __spreadArray([ts.spacePart()], getDisplayPartsFromComment(comment, checker), true)); + } + return displayParts_3; case 341 /* JSDocTypeTag */: return withNode(tag.typeExpression); case 343 /* JSDocTypedefTag */: @@ -136498,7 +137867,7 @@ var ts; function getJSDocTagCompletions() { return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) { return { - name: "@" + tagName, + name: "@".concat(tagName), kind: "keyword" /* keyword */, kindModifiers: "", sortText: ts.Completions.SortText.LocationPriority @@ -136630,11 +137999,11 @@ var ts; var name = _a.name, dotDotDotToken = _a.dotDotDotToken; var paramName = name.kind === 79 /* Identifier */ ? name.text : "param" + i; var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; - return indentationStr + " * @param " + type + paramName + newLine; + return "".concat(indentationStr, " * @param ").concat(type).concat(paramName).concat(newLine); }).join(""); } function returnsDocComment(indentationStr, newLine) { - return indentationStr + " * @returns" + newLine; + return "".concat(indentationStr, " * @returns").concat(newLine); } function getCommentOwnerInfo(tokenAtPos, options) { return ts.forEachAncestor(tokenAtPos, function (n) { return getCommentOwnerInfoWorker(n, options); }); @@ -136828,7 +138197,7 @@ var ts; textSpan: ts.createTextSpanFromNode(declaration), // TODO(jfreeman): What should be the containerName when the container has a computed name? containerName: containerName ? containerName.text : "", - containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */, // TODO: GH#18217 Just use `container ? ...` + containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */, }; } })(NavigateTo = ts.NavigateTo || (ts.NavigateTo = {})); @@ -137421,6 +138790,9 @@ var ts; // We use 1 NavNode to represent 'A.B.C', but there are multiple source nodes. // Only merge module nodes that have the same chain. Don't merge 'A.B.C' with 'A'! function areSameModule(a, b) { + if (!a.body || !b.body) { + return a.body === b.body; + } return a.body.kind === b.body.kind && (a.body.kind !== 260 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ @@ -137474,7 +138846,7 @@ var ts; } if (name) { var text = ts.isIdentifier(name) ? name.text - : ts.isElementAccessExpression(name) ? "[" + nodeText(name.argumentExpression) + "]" + : ts.isElementAccessExpression(name) ? "[".concat(nodeText(name.argumentExpression), "]") : nodeText(name); if (text.length > 0) { return cleanText(text); @@ -137484,7 +138856,7 @@ var ts; case 303 /* SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) - ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" + ? "\"".concat(ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))), "\"") : ""; case 270 /* ExportAssignment */: return ts.isExportAssignment(node) && node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; @@ -137680,10 +139052,10 @@ var ts; if (name !== undefined) { name = cleanText(name); if (name.length > maxLength) { - return name + " callback"; + return "".concat(name, " callback"); } var args = cleanText(ts.mapDefined(parent.arguments, function (a) { return ts.isStringLiteralLike(a) ? a.getText(curSourceFile) : undefined; }).join(", ")); - return name + "(" + args + ") callback"; + return "".concat(name, "(").concat(args, ") callback"); } } return ""; @@ -137696,7 +139068,7 @@ var ts; else if (ts.isPropertyAccessExpression(expr)) { var left = getCalledExpressionName(expr.expression); var right = expr.name.text; - return left === undefined ? right : left + "." + right; + return left === undefined ? right : "".concat(left, ".").concat(right); } else { return undefined; @@ -137921,7 +139293,7 @@ var ts; newImportSpecifiers.push(ts.factory.createImportSpecifier(/*isTypeOnly*/ false, ts.factory.createIdentifier("default"), defaultImport.importClause.name)); // TODO: GH#18217 } } - newImportSpecifiers.push.apply(newImportSpecifiers, ts.flatMap(namedImports, function (i) { return i.importClause.namedBindings.elements; })); // TODO: GH#18217 + newImportSpecifiers.push.apply(newImportSpecifiers, getNewImportSpecifiers(namedImports)); var sortedImportSpecifiers = sortSpecifiers(newImportSpecifiers); var importDecl = defaultImports.length > 0 ? defaultImports[0] @@ -138131,6 +139503,21 @@ var ts; return 6; } } + function getNewImportSpecifiers(namedImports) { + return ts.flatMap(namedImports, function (namedImport) { + return ts.map(tryGetNamedBindingElements(namedImport), function (importSpecifier) { + return importSpecifier.name && importSpecifier.propertyName && importSpecifier.name.escapedText === importSpecifier.propertyName.escapedText + ? ts.factory.updateImportSpecifier(importSpecifier, importSpecifier.isTypeOnly, /*propertyName*/ undefined, importSpecifier.name) + : importSpecifier; + }); + }); + } + function tryGetNamedBindingElements(namedImport) { + var _a; + return ((_a = namedImport.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings) && ts.isNamedImports(namedImport.importClause.namedBindings) + ? namedImport.importClause.namedBindings.elements + : undefined; + } })(OrganizeImports = ts.OrganizeImports || (ts.OrganizeImports = {})); })(ts || (ts = {})); /* @internal */ @@ -138173,7 +139560,7 @@ var ts; if (depthRemaining === 0) return; cancellationToken.throwIfCancellationRequested(); - if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || n.kind === 1 /* EndOfFileToken */) { + if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || ts.isCallOrNewExpression(n) || n.kind === 1 /* EndOfFileToken */) { addOutliningForLeadingCommentsForNode(n, sourceFile, cancellationToken, out); } if (ts.isFunctionLike(n) && ts.isBinaryExpression(n.parent) && ts.isPropertyAccessExpression(n.parent.left)) { @@ -139844,12 +141231,12 @@ var ts; : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex }; } SignatureHelp.getArgumentInfoForCompletions = getArgumentInfoForCompletions; - function getArgumentOrParameterListInfo(node, sourceFile) { + function getArgumentOrParameterListInfo(node, position, sourceFile) { var info = getArgumentOrParameterListAndIndex(node, sourceFile); if (!info) return undefined; var list = info.list, argumentIndex = info.argumentIndex; - var argumentCount = getArgumentCount(list); + var argumentCount = getArgumentCount(list, /*ignoreTrailingComma*/ ts.isInString(sourceFile, position, node)); if (argumentIndex !== 0) { ts.Debug.assertLessThan(argumentIndex, argumentCount); } @@ -139895,7 +141282,7 @@ var ts; // Case 3: // foo(a#, #b#) -> The token is buried inside a list, and should give signature help // Find out if 'node' is an argument, a type argument, or neither - var info = getArgumentOrParameterListInfo(node, sourceFile); + var info = getArgumentOrParameterListInfo(node, position, sourceFile); if (!info) return undefined; var list = info.list, argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; @@ -139964,8 +141351,8 @@ var ts; function countBinaryExpressionParameters(b) { return ts.isBinaryExpression(b.left) ? countBinaryExpressionParameters(b.left) + 1 : 2; } - function tryGetParameterInfo(startingToken, _position, sourceFile, checker) { - var info = getContextualSignatureLocationInfo(startingToken, sourceFile, checker); + function tryGetParameterInfo(startingToken, position, sourceFile, checker) { + var info = getContextualSignatureLocationInfo(startingToken, sourceFile, position, checker); if (!info) return undefined; var contextualType = info.contextualType, argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; @@ -139977,7 +141364,7 @@ var ts; var invocation = { kind: 2 /* Contextual */, signature: ts.first(signatures), node: startingToken, symbol: chooseBetterSymbol(nonNullableContextualType.symbol) }; return { isTypeParameterList: false, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } - function getContextualSignatureLocationInfo(startingToken, sourceFile, checker) { + function getContextualSignatureLocationInfo(startingToken, sourceFile, position, checker) { if (startingToken.kind !== 20 /* OpenParenToken */ && startingToken.kind !== 27 /* CommaToken */) return undefined; var parent = startingToken.parent; @@ -139986,7 +141373,7 @@ var ts; case 168 /* MethodDeclaration */: case 212 /* FunctionExpression */: case 213 /* ArrowFunction */: - var info = getArgumentOrParameterListInfo(startingToken, sourceFile); + var info = getArgumentOrParameterListInfo(startingToken, position, sourceFile); if (!info) return undefined; var argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; @@ -140033,7 +141420,7 @@ var ts; } return argumentIndex; } - function getArgumentCount(argumentsList) { + function getArgumentCount(argumentsList, ignoreTrailingComma) { // The argument count for a list is normally the number of non-comma children it has. // For example, if you have "Foo(a,b)" then there will be three children of the arg // list 'a' '' 'b'. So, in this case the arg count will be 2. However, there @@ -140047,7 +141434,7 @@ var ts; // arg count of 3. var listChildren = argumentsList.getChildren(); var argumentCount = ts.countWhere(listChildren, function (arg) { return arg.kind !== 27 /* CommaToken */; }); - if (listChildren.length > 0 && ts.last(listChildren).kind === 27 /* CommaToken */) { + if (!ignoreTrailingComma && listChildren.length > 0 && ts.last(listChildren).kind === 27 /* CommaToken */) { argumentCount++; } return argumentCount; @@ -140128,7 +141515,7 @@ var ts; var _loop_9 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.formatSyntaxKind(n.kind) + ", parent: " + ts.Debug.formatSyntaxKind(n.parent.kind); }); + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: ".concat(ts.Debug.formatSyntaxKind(n.kind), ", parent: ").concat(ts.Debug.formatSyntaxKind(n.parent.kind)); }); var argumentInfo = getImmediatelyContainingArgumentOrContextualParameterInfo(n, position, sourceFile, checker); if (argumentInfo) { return { value: argumentInfo }; @@ -140300,7 +141687,7 @@ var ts; (function (InlayHints) { var maxHintsLength = 30; var leadingParameterNameCommentRegexFactory = function (name) { - return new RegExp("^\\s?/\\*\\*?\\s?" + name + "\\s?\\*\\/\\s?$"); + return new RegExp("^\\s?/\\*\\*?\\s?".concat(name, "\\s?\\*\\/\\s?$")); }; function shouldShowParameterNameHints(preferences) { return preferences.includeInlayParameterNameHints === "literals" || preferences.includeInlayParameterNameHints === "all"; @@ -140364,7 +141751,7 @@ var ts; } function addParameterHints(text, position, isFirstVariadicArgument) { result.push({ - text: "" + (isFirstVariadicArgument ? "..." : "") + truncation(text, maxHintsLength) + ":", + text: "".concat(isFirstVariadicArgument ? "..." : "").concat(truncation(text, maxHintsLength), ":"), position: position, kind: "Parameter" /* Parameter */, whitespaceAfter: true, @@ -140372,7 +141759,7 @@ var ts; } function addTypeHints(text, position) { result.push({ - text: ": " + truncation(text, maxHintsLength), + text: ": ".concat(truncation(text, maxHintsLength)), position: position, kind: "Type" /* Type */, whitespaceBefore: true, @@ -140380,7 +141767,7 @@ var ts; } function addEnumMemberValueHints(text, position) { result.push({ - text: "= " + truncation(text, maxHintsLength), + text: "= ".concat(truncation(text, maxHintsLength)), position: position, kind: "Enum" /* Enum */, whitespaceBefore: true, @@ -140915,7 +142302,7 @@ var ts; } } function getKeyFromNode(exp) { - return exp.pos.toString() + ":" + exp.end.toString(); + return "".concat(exp.pos.toString(), ":").concat(exp.end.toString()); } function canBeConvertedToClass(node, checker) { var _a, _b, _c, _d; @@ -140993,7 +142380,7 @@ var ts; if (typeChecker.isArgumentsSymbol(symbol)) { return "local var" /* localVariableElement */; } - if (location.kind === 108 /* ThisKeyword */ && ts.isExpression(location)) { + if (location.kind === 108 /* ThisKeyword */ && ts.isExpression(location) || ts.isThisInTypeQuery(location)) { return "parameter" /* parameterElement */; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); @@ -141011,6 +142398,8 @@ var ts; } if (flags & 16 /* Function */) return isLocalVariableOrFunction(symbol) ? "local function" /* localFunctionElement */ : "function" /* functionElement */; + // FIXME: getter and setter use the same symbol. And it is rare to use only setter without getter, so in most cases the symbol always has getter flag. + // So, even when the location is just on the declaration of setter, this function returns getter. if (flags & 32768 /* GetAccessor */) return "getter" /* memberGetAccessorElement */; if (flags & 65536 /* SetAccessor */) @@ -141039,18 +142428,7 @@ var ts; } return unionPropertyKind; } - // If we requested completions after `x.` at the top-level, we may be at a source file location. - switch (location.parent && location.parent.kind) { - // If we've typed a character of the attribute name, will be 'JsxAttribute', else will be 'JsxOpeningElement'. - case 279 /* JsxOpeningElement */: - case 277 /* JsxElement */: - case 278 /* JsxSelfClosingElement */: - return location.kind === 79 /* Identifier */ ? "property" /* memberVariableElement */ : "JSX attribute" /* jsxAttribute */; - case 284 /* JsxAttribute */: - return "JSX attribute" /* jsxAttribute */; - default: - return "property" /* memberVariableElement */; - } + return "property" /* memberVariableElement */; } return "" /* unknown */; } @@ -141097,7 +142475,7 @@ var ts; var symbolFlags = ts.getCombinedLocalAndExportSymbolFlags(symbol); var symbolKind = semanticMeaning & 1 /* Value */ ? getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location) : "" /* unknown */; var hasAddedSymbolInfo = false; - var isThisExpression = location.kind === 108 /* ThisKeyword */ && ts.isInExpressionContext(location); + var isThisExpression = location.kind === 108 /* ThisKeyword */ && ts.isInExpressionContext(location) || ts.isThisInTypeQuery(location); var type; var printer; var documentationFromAlias; @@ -141108,9 +142486,24 @@ var ts; } // Class at constructor site need to be shown as constructor apart from property,method, vars if (symbolKind !== "" /* unknown */ || symbolFlags & 32 /* Class */ || symbolFlags & 2097152 /* Alias */) { - // If it is accessor they are allowed only if location is at name of the accessor + // If symbol is accessor, they are allowed only if location is at declaration identifier of the accessor if (symbolKind === "getter" /* memberGetAccessorElement */ || symbolKind === "setter" /* memberSetAccessorElement */) { - symbolKind = "property" /* memberVariableElement */; + var declaration = ts.find(symbol.declarations, function (declaration) { return declaration.name === location; }); + if (declaration) { + switch (declaration.kind) { + case 171 /* GetAccessor */: + symbolKind = "getter" /* memberGetAccessorElement */; + break; + case 172 /* SetAccessor */: + symbolKind = "setter" /* memberSetAccessorElement */; + break; + default: + ts.Debug.assertNever(declaration); + } + } + else { + symbolKind = "property" /* memberVariableElement */; + } } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); @@ -141263,7 +142656,7 @@ var ts; displayParts.push(ts.spacePart()); displayParts.push(ts.operatorPart(63 /* EqualsToken */)); displayParts.push(ts.spacePart()); - ts.addRange(displayParts, ts.typeToDisplayParts(typeChecker, typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, 8388608 /* InTypeAlias */)); + ts.addRange(displayParts, ts.typeToDisplayParts(typeChecker, ts.isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, 8388608 /* InTypeAlias */)); } if (symbolFlags & 384 /* Enum */) { prefixNextMeaning(); @@ -141424,6 +142817,8 @@ var ts; } // For properties, variables and local vars: show the type if (symbolKind === "property" /* memberVariableElement */ || + symbolKind === "getter" /* memberGetAccessorElement */ || + symbolKind === "setter" /* memberSetAccessorElement */ || symbolKind === "JSX attribute" /* jsxAttribute */ || symbolFlags & 3 /* Variable */ || symbolKind === "local var" /* localVariableElement */ || @@ -141493,8 +142888,20 @@ var ts; } } } + if (documentation.length === 0 && ts.isIdentifier(location) && symbol.valueDeclaration && ts.isBindingElement(symbol.valueDeclaration)) { + var declaration = symbol.valueDeclaration; + var parent = declaration.parent; + if (ts.isIdentifier(declaration.name) && ts.isObjectBindingPattern(parent)) { + var name_4 = ts.getTextOfIdentifierOrLiteral(declaration.name); + var objectType = typeChecker.getTypeAtLocation(parent); + documentation = ts.firstDefined(objectType.isUnion() ? objectType.types : [objectType], function (t) { + var prop = t.getProperty(name_4); + return prop ? prop.getDocumentationComment(typeChecker) : undefined; + }) || ts.emptyArray; + } + } if (tags.length === 0 && !hasMultipleSignatures) { - tags = symbol.getJsDocTags(typeChecker); + tags = symbol.getContextualJsDocTags(enclosingDeclaration, typeChecker); } if (documentation.length === 0 && documentationFromAlias) { documentation = documentationFromAlias; @@ -141857,6 +143264,7 @@ var ts; lastTrailingTriviaWasNewLine: function () { return wasNewLine; }, skipToEndOf: skipToEndOf, skipToStartOf: skipToStartOf, + getStartPos: function () { var _a; return (_a = lastTokenInfo === null || lastTokenInfo === void 0 ? void 0 : lastTokenInfo.token.pos) !== null && _a !== void 0 ? _a : scanner.getTokenPos(); }, }); lastTokenInfo = undefined; scanner.setText(undefined); @@ -142030,8 +143438,7 @@ var ts; } function isOnToken() { var current = lastTokenInfo ? lastTokenInfo.token.kind : scanner.getToken(); - var startPos = lastTokenInfo ? lastTokenInfo.token.pos : scanner.getStartPos(); - return startPos < endPos && current !== 1 /* EndOfFileToken */ && !ts.isTrivia(current); + return current !== 1 /* EndOfFileToken */ && !ts.isTrivia(current); } function isOnEOF() { var current = lastTokenInfo ? lastTokenInfo.token.kind : scanner.getToken(); @@ -143219,7 +144626,7 @@ var ts; return 0; } function formatNodeGivenIndentation(node, sourceFileLike, languageVariant, initialIndentation, delta, formatContext) { - var range = { pos: 0, end: sourceFileLike.text.length }; + var range = { pos: node.pos, end: node.end }; return formatting.getFormattingScanner(sourceFileLike.text, languageVariant, range.pos, range.end, function (scanner) { return formatSpanWorker(range, node, initialIndentation, delta, scanner, formatContext, 1 /* FormatSelection */, function (_) { return false; }, // assume that node does not have any errors sourceFileLike); }); } @@ -143270,6 +144677,15 @@ var ts; } } } + if (previousRange && formattingScanner.getStartPos() >= originalRange.end) { + var token = formattingScanner.isOnEOF() ? formattingScanner.readEOFTokenRange() : + formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(enclosingNode).token : + undefined; + if (token) { + processPair(token, sourceFile.getLineAndCharacterOfPosition(token.pos).line, enclosingNode, previousRange, previousRangeStartLine, previousParent, enclosingNode, + /*dynamicIndentation*/ undefined); + } + } return edits; // local functions /** Tries to compute the indentation for a list element. @@ -143452,19 +144868,13 @@ var ts; processChildNodes(nodes, node, nodeStartLine, nodeDynamicIndentation); }); // proceed any tokens in the node that are located after child nodes - while (formattingScanner.isOnToken()) { + while (formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { var tokenInfo = formattingScanner.readTokenInfo(node); - if (tokenInfo.token.end > node.end) { + if (tokenInfo.token.end > Math.min(node.end, originalRange.end)) { break; } consumeTokenAndAdvanceScanner(tokenInfo, node, nodeDynamicIndentation, node); } - if (!node.parent && formattingScanner.isOnEOF()) { - var token = formattingScanner.readEOFTokenRange(); - if (token.end <= node.end && previousRange) { - processPair(token, sourceFile.getLineAndCharacterOfPosition(token.pos).line, node, previousRange, previousRangeStartLine, previousParent, contextNode, nodeDynamicIndentation); - } - } function processChildNode(child, inheritedIndentation, parent, parentDynamicIndentation, parentStartLine, undecoratedParentStartLine, isListItem, isFirstListItem) { var childStartPos = child.getStart(sourceFile); var childStartLine = sourceFile.getLineAndCharacterOfPosition(childStartPos).line; @@ -143490,9 +144900,12 @@ var ts; if (child.getFullWidth() === 0) { return inheritedIndentation; } - while (formattingScanner.isOnToken()) { + while (formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { // proceed any parent tokens that are located prior to child.getStart() var tokenInfo = formattingScanner.readTokenInfo(node); + if (tokenInfo.token.end > originalRange.end) { + return inheritedIndentation; + } if (tokenInfo.token.end > childStartPos) { if (tokenInfo.token.pos > childStartPos) { formattingScanner.skipToStartOf(child); @@ -143502,7 +144915,7 @@ var ts; } consumeTokenAndAdvanceScanner(tokenInfo, node, parentDynamicIndentation, node); } - if (!formattingScanner.isOnToken()) { + if (!formattingScanner.isOnToken() || formattingScanner.getStartPos() >= originalRange.end) { return inheritedIndentation; } if (ts.isToken(child)) { @@ -143531,7 +144944,7 @@ var ts; var startLine = parentStartLine; if (listStartToken !== 0 /* Unknown */) { // introduce a new indentation scope for lists (including list start and end tokens) - while (formattingScanner.isOnToken()) { + while (formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { var tokenInfo = formattingScanner.readTokenInfo(parent); if (tokenInfo.token.end > nodes.pos) { // stop when formatting scanner moves past the beginning of node list @@ -143567,7 +144980,7 @@ var ts; inheritedIndentation = processChildNode(child, inheritedIndentation, node, listDynamicIndentation, startLine, startLine, /*isListItem*/ true, /*isFirstListItem*/ i === 0); } var listEndToken = getCloseTokenForOpenToken(listStartToken); - if (listEndToken !== 0 /* Unknown */ && formattingScanner.isOnToken()) { + if (listEndToken !== 0 /* Unknown */ && formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { var tokenInfo = formattingScanner.readTokenInfo(parent); if (tokenInfo.token.kind === 27 /* CommaToken */ && ts.isCallLikeExpression(parent)) { var commaTokenLine = sourceFile.getLineAndCharacterOfPosition(tokenInfo.token.pos).line; @@ -143698,24 +145111,26 @@ var ts; // win in a conflict with lower priority rules. ts.forEachRight(rules, function (rule) { lineAction = applyRuleEdits(rule, previousItem, previousStartLine, currentItem, currentStartLine); - switch (lineAction) { - case 2 /* LineRemoved */: - // Handle the case where the next line is moved to be the end of this line. - // In this case we don't indent the next line in the next pass. - if (currentParent.getStart(sourceFile) === currentItem.pos) { - dynamicIndentation.recomputeIndentation(/*lineAddedByFormatting*/ false, contextNode); - } - break; - case 1 /* LineAdded */: - // Handle the case where token2 is moved to the new line. - // In this case we indent token2 in the next pass but we set - // sameLineIndent flag to notify the indenter that the indentation is within the line. - if (currentParent.getStart(sourceFile) === currentItem.pos) { - dynamicIndentation.recomputeIndentation(/*lineAddedByFormatting*/ true, contextNode); - } - break; - default: - ts.Debug.assert(lineAction === 0 /* None */); + if (dynamicIndentation) { + switch (lineAction) { + case 2 /* LineRemoved */: + // Handle the case where the next line is moved to be the end of this line. + // In this case we don't indent the next line in the next pass. + if (currentParent.getStart(sourceFile) === currentItem.pos) { + dynamicIndentation.recomputeIndentation(/*lineAddedByFormatting*/ false, contextNode); + } + break; + case 1 /* LineAdded */: + // Handle the case where token2 is moved to the new line. + // In this case we indent token2 in the next pass but we set + // sameLineIndent flag to notify the indenter that the indentation is within the line. + if (currentParent.getStart(sourceFile) === currentItem.pos) { + dynamicIndentation.recomputeIndentation(/*lineAddedByFormatting*/ true, contextNode); + } + break; + default: + ts.Debug.assert(lineAction === 0 /* None */); + } } // We need to trim trailing whitespace between the tokens if they were on different lines, and no rule was applied to put them on the same line trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule.action & 16 /* DeleteSpace */) && rule.flags !== 1 /* CanDeleteNewLines */; @@ -144432,6 +145847,8 @@ var ts; case 179 /* ConstructorType */: case 174 /* ConstructSignature */: return getList(node.typeParameters) || getList(node.parameters); + case 171 /* GetAccessor */: + return getList(node.parameters); case 256 /* ClassDeclaration */: case 225 /* ClassExpression */: case 257 /* InterfaceDeclaration */: @@ -144906,6 +146323,7 @@ var ts; ChangeTracker.prototype.delete = function (sourceFile, node) { this.deletedNodes.push({ sourceFile: sourceFile, node: node }); }; + /** Stop! Consider using `delete` instead, which has logic for deleting nodes from delimited lists. */ ChangeTracker.prototype.deleteNode = function (sourceFile, node, options) { if (options === void 0) { options = { leadingTriviaOption: LeadingTriviaOption.IncludeAll }; } this.deleteRange(sourceFile, getAdjustedRange(sourceFile, node, node, options)); @@ -145033,7 +146451,7 @@ var ts; var insertAtLineStart = isValidLocationToAddComment(sourceFile, startPosition); var token = ts.getTouchingToken(sourceFile, insertAtLineStart ? startPosition : position); var indent = sourceFile.text.slice(lineStartPosition, startPosition); - var text = (insertAtLineStart ? "" : this.newLineCharacter) + "//" + commentText + this.newLineCharacter + indent; + var text = "".concat(insertAtLineStart ? "" : this.newLineCharacter, "//").concat(commentText).concat(this.newLineCharacter).concat(indent); this.insertText(sourceFile, token.getStart(sourceFile), text); }; ChangeTracker.prototype.insertJsdocCommentBefore = function (sourceFile, node, tag) { @@ -145051,6 +146469,30 @@ var ts; var indent = sourceFile.text.slice(startPosition, fnStart); this.insertNodeAt(sourceFile, fnStart, tag, { preserveLeadingWhitespace: false, suffix: this.newLineCharacter + indent }); }; + ChangeTracker.prototype.createJSDocText = function (sourceFile, node) { + var comments = ts.flatMap(node.jsDoc, function (jsDoc) { + return ts.isString(jsDoc.comment) ? ts.factory.createJSDocText(jsDoc.comment) : jsDoc.comment; + }); + var jsDoc = ts.singleOrUndefined(node.jsDoc); + return jsDoc && ts.positionsAreOnSameLine(jsDoc.pos, jsDoc.end, sourceFile) && ts.length(comments) === 0 ? undefined : + ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))); + }; + ChangeTracker.prototype.replaceJSDocComment = function (sourceFile, node, tags) { + this.insertJsdocCommentBefore(sourceFile, updateJSDocHost(node), ts.factory.createJSDocComment(this.createJSDocText(sourceFile, node), ts.factory.createNodeArray(tags))); + }; + ChangeTracker.prototype.addJSDocTags = function (sourceFile, parent, newTags) { + var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; }); + var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags.some(function (tag, i) { + var merged = tryMergeJsdocTags(tag, newTag); + if (merged) + oldTags[i] = merged; + return !!merged; + }); }); + this.replaceJSDocComment(sourceFile, parent, __spreadArray(__spreadArray([], oldTags, true), unmergedNewTags, true)); + }; + ChangeTracker.prototype.filterJSDocTags = function (sourceFile, parent, predicate) { + this.replaceJSDocComment(sourceFile, parent, ts.filter(ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; }), predicate)); + }; ChangeTracker.prototype.replaceRangeWithText = function (sourceFile, range, text) { this.changes.push({ kind: ChangeKind.Text, sourceFile: sourceFile, range: range, text: text }); }; @@ -145233,7 +146675,7 @@ var ts; }; ChangeTracker.prototype.getInsertNodeAfterOptions = function (sourceFile, after) { var options = this.getInsertNodeAfterOptionsWorker(after); - return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n" + options.prefix : "\n") : options.prefix }); + return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n".concat(options.prefix) : "\n") : options.prefix }); }; ChangeTracker.prototype.getInsertNodeAfterOptionsWorker = function (node) { switch (node.kind) { @@ -145267,7 +146709,7 @@ var ts; } else { // `x => {}` -> `function f(x) {}` - this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function " + name + "("); + this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function ".concat(name, "(")); // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` this.replaceRange(sourceFile, arrow, ts.factory.createToken(21 /* CloseParenToken */)); } @@ -145285,6 +146727,15 @@ var ts; ChangeTracker.prototype.insertExportModifier = function (sourceFile, node) { this.insertText(sourceFile, node.getStart(sourceFile), "export "); }; + ChangeTracker.prototype.insertImportSpecifierAtIndex = function (sourceFile, importSpecifier, namedImports, index) { + var prevSpecifier = namedImports.elements[index - 1]; + if (prevSpecifier) { + this.insertNodeInListAfter(sourceFile, prevSpecifier, importSpecifier); + } + else { + this.insertNodeBefore(sourceFile, namedImports.elements[0], importSpecifier, !ts.positionsAreOnSameLine(namedImports.elements[0].getStart(), namedImports.parent.parent.getStart(), sourceFile)); + } + }; /** * This function should be used to insert nodes in lists when nodes don't carry separators as the part of the node range, * i.e. arguments in arguments lists, parameters in parameter lists etc. @@ -145324,7 +146775,7 @@ var ts; var nextNode = containingList[index + 1]; var startPos = skipWhitespacesAndLineBreaks(sourceFile.text, nextNode.getFullStart()); // write separator and leading trivia of the next element as suffix - var suffix = "" + ts.tokenToString(nextToken.kind) + sourceFile.text.substring(nextToken.end, startPos); + var suffix = "".concat(ts.tokenToString(nextToken.kind)).concat(sourceFile.text.substring(nextToken.end, startPos)); this.insertNodesAt(sourceFile, startPos, [newNode], { suffix: suffix }); } } @@ -145369,7 +146820,7 @@ var ts; this.replaceRange(sourceFile, ts.createRange(insertPos), newNode, { indentation: indentation, prefix: this.newLineCharacter }); } else { - this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: ts.tokenToString(separator) + " " }); + this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: "".concat(ts.tokenToString(separator), " ") }); } } }; @@ -145445,6 +146896,35 @@ var ts; return ChangeTracker; }()); textChanges_3.ChangeTracker = ChangeTracker; + function updateJSDocHost(parent) { + if (parent.kind !== 213 /* ArrowFunction */) { + return parent; + } + var jsDocNode = parent.parent.kind === 166 /* PropertyDeclaration */ ? + parent.parent : + parent.parent.parent; + jsDocNode.jsDoc = parent.jsDoc; + jsDocNode.jsDocCache = parent.jsDocCache; + return jsDocNode; + } + function tryMergeJsdocTags(oldTag, newTag) { + if (oldTag.kind !== newTag.kind) { + return undefined; + } + switch (oldTag.kind) { + case 338 /* JSDocParameterTag */: { + var oldParam = oldTag; + var newParam = newTag; + return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText + ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment) + : undefined; + } + case 339 /* JSDocReturnTag */: + return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); + case 341 /* JSDocTypeTag */: + return ts.factory.createJSDocTypeTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); + } + } // find first non-whitespace position in the leading trivia of the node function startPositionToDeleteNodeInList(sourceFile, node) { return ts.skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true); @@ -145471,7 +146951,7 @@ var ts; var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); var _loop_12 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { - return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); + return "".concat(JSON.stringify(normalized[i].range), " and ").concat(JSON.stringify(normalized[i + 1].range)); }); }; // verify that change intervals do not overlap, except possibly at end points. @@ -145523,19 +147003,13 @@ var ts; + ((!options.suffix || ts.endsWith(noIndent, options.suffix)) ? "" : options.suffix); } - function getFormatCodeSettingsForWriting(_a, sourceFile) { - var options = _a.options; - var shouldAutoDetectSemicolonPreference = !options.semicolons || options.semicolons === ts.SemicolonPreference.Ignore; - var shouldRemoveSemicolons = options.semicolons === ts.SemicolonPreference.Remove || shouldAutoDetectSemicolonPreference && !ts.probablyUsesSemicolons(sourceFile); - return __assign(__assign({}, options), { semicolons: shouldRemoveSemicolons ? ts.SemicolonPreference.Remove : ts.SemicolonPreference.Ignore }); - } /** Note: this may mutate `nodeIn`. */ function getFormattedTextOfNode(nodeIn, sourceFile, pos, _a, newLineCharacter, formatContext, validate) { var indentation = _a.indentation, prefix = _a.prefix, delta = _a.delta; var _b = getNonformattedText(nodeIn, sourceFile, newLineCharacter), node = _b.node, text = _b.text; if (validate) validate(node, text); - var formatOptions = getFormatCodeSettingsForWriting(formatContext, sourceFile); + var formatOptions = ts.getFormatCodeSettingsForWriting(formatContext, sourceFile); var initialIndentation = indentation !== undefined ? indentation : ts.formatting.SmartIndenter.getIndentation(pos, sourceFile, formatOptions, prefix === newLineCharacter || ts.getLineStartPositionForPosition(pos, sourceFile) === pos); @@ -145568,7 +147042,7 @@ var ts; function applyChanges(text, changes) { for (var i = changes.length - 1; i >= 0; i--) { var _a = changes[i], span = _a.span, newText = _a.newText; - text = "" + text.substring(0, span.start) + newText + text.substring(ts.textSpanEnd(span)); + text = "".concat(text.substring(0, span.start)).concat(newText).concat(text.substring(ts.textSpanEnd(span))); } return text; } @@ -145583,6 +147057,7 @@ var ts; ts.setTextRangePosEnd(newNode, getPos(node), getEnd(node)); return newNode; } + textChanges_3.assignPositionsToNode = assignPositionsToNode; function assignPositionsToNodeArray(nodes, visitor, test, start, count) { var visited = ts.visitNodes(nodes, visitor, test, start, count); if (!visited) { @@ -145753,6 +147228,7 @@ var ts; clear: clear }; } + textChanges_3.createWriter = createWriter; function getInsertionPositionAtSourceFileTop(sourceFile) { var lastPrologue; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { @@ -146146,21 +147622,32 @@ var ts; var errorCodes = [ts.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span.start); }); + getCodeActions: function getCodeActionsToAddConvertToUnknownForNonOverlappingTypes(context) { + var assertion = getAssertion(context.sourceFile, context.span.start); + if (assertion === undefined) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, assertion); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Add_unknown_conversion_for_non_overlapping_types, fixId, ts.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]; }, fixIds: [fixId], - getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { return makeChange(changes, diag.file, diag.start); }); }, + getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { + var assertion = getAssertion(diag.file, diag.start); + if (assertion) { + makeChange(changes, diag.file, assertion); + } + }); }, }); - function makeChange(changeTracker, sourceFile, pos) { - var token = ts.getTokenAtPosition(sourceFile, pos); - var assertion = ts.Debug.checkDefined(ts.findAncestor(token, function (n) { return ts.isAsExpression(n) || ts.isTypeAssertionExpression(n); }), "Expected to find an assertion expression"); + function makeChange(changeTracker, sourceFile, assertion) { var replacement = ts.isAsExpression(assertion) ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */)) : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */), assertion.expression); changeTracker.replaceNode(sourceFile, assertion.expression, replacement); } + function getAssertion(sourceFile, pos) { + if (ts.isInJSFile(sourceFile)) + return undefined; + return ts.findAncestor(ts.getTokenAtPosition(sourceFile, pos), function (n) { return ts.isAsExpression(n) || ts.isTypeAssertionExpression(n); }); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -146173,7 +147660,7 @@ var ts; ts.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code, ts.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code, ], - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddEmptyExportDeclaration(context) { var sourceFile = context.sourceFile; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { var exportDeclaration = ts.factory.createExportDeclaration( @@ -146202,7 +147689,7 @@ var ts; codefix.registerCodeFix({ fixIds: [fixId], errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddMissingAsync(context) { var sourceFile = context.sourceFile, errorCode = context.errorCode, cancellationToken = context.cancellationToken, program = context.program, span = context.span; var diagnostic = ts.find(program.getDiagnosticsProducingTypeChecker().getDiagnostics(sourceFile, cancellationToken), getIsMatchingAsyncError(span, errorCode)); var directSpan = diagnostic && diagnostic.relatedInformation && ts.find(diagnostic.relatedInformation, function (r) { return r.code === ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code; }); @@ -146299,7 +147786,7 @@ var ts; codefix.registerCodeFix({ fixIds: [fixId], errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddMissingAwait(context) { var sourceFile = context.sourceFile, errorCode = context.errorCode, span = context.span, cancellationToken = context.cancellationToken, program = context.program; var expression = getAwaitErrorSpanExpression(sourceFile, errorCode, span, cancellationToken, program); if (!expression) { @@ -146531,7 +148018,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddMissingConst(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span.start, context.program); }); if (changes.length > 0) { return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Add_const_to_unresolved_variable, fixId, ts.Diagnostics.Add_const_to_all_unresolved_variables)]; @@ -146631,7 +148118,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddMissingDeclareOnProperty(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span.start); }); if (changes.length > 0) { return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Prefix_with_declare, fixId, ts.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]; @@ -146665,7 +148152,7 @@ var ts; var errorCodes = [ts.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddMissingInvocationForDecorator(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span.start); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Call_decorator_expression, fixId, ts.Diagnostics.Add_to_all_uncalled_decorators)]; }, @@ -146690,7 +148177,7 @@ var ts; var errorCodes = [ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddNameToNamelessParameter(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span.start); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Add_parameter_name, fixId, ts.Diagnostics.Add_names_to_all_parameters_without_names)]; }, @@ -148040,7 +149527,7 @@ var ts; if (!res.has(text) && (originalKeywordKind !== undefined && ts.isNonContextualKeyword(originalKeywordKind) || checker.resolveName(text, node, 111551 /* Value */, /*excludeGlobals*/ true))) { // Unconditionally add an underscore in case `text` is a keyword. - res.set(text, makeUniqueName("_" + text, identifiers)); + res.set(text, makeUniqueName("_".concat(text), identifiers)); } }); return res; @@ -148140,7 +149627,7 @@ var ts; // `const a = require("b").c` --> `import { c as a } from "./b"; return convertedImports([makeSingleImport(name.text, propertyName, moduleSpecifier, quotePreference)]); default: - return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form " + name.kind); + return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form ".concat(name.kind)); } } function convertAssignment(sourceFile, checker, assignment, changes, exports, useSitesToUnqualify) { @@ -148191,7 +149678,7 @@ var ts; case 168 /* MethodDeclaration */: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.factory.createToken(93 /* ExportKeyword */)], prop, useSitesToUnqualify); default: - ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind " + prop.kind); + ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind ".concat(prop.kind)); } }); return statements && [statements, false]; @@ -148302,8 +149789,6 @@ var ts; var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined - // (TODO: GH#18217) - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion : makeImportSpecifier(e.propertyName && e.propertyName.text, e.name.text); }); if (importSpecifiers) { @@ -148325,7 +149810,7 @@ var ts; case 79 /* Identifier */: return convertSingleIdentifierImport(name, moduleSpecifier, checker, identifiers, quotePreference); default: - return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind " + name.kind); + return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind ".concat(name.kind)); } } /** @@ -148382,7 +149867,7 @@ var ts; // Identifiers helpers function makeUniqueName(name, identifiers) { while (identifiers.original.has(name) || identifiers.additional.has(name)) { - name = "_" + name; + name = "_".concat(name); } identifiers.additional.add(name); return name; @@ -148462,7 +149947,7 @@ var ts; if (!qualifiedName) return undefined; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, context.sourceFile, qualifiedName); }); - var newText = qualifiedName.left.text + "[\"" + qualifiedName.right.text + "\"]"; + var newText = "".concat(qualifiedName.left.text, "[\"").concat(qualifiedName.right.text, "\"]"); return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Rewrite_as_the_indexed_access_type_0, newText], fixId, ts.Diagnostics.Rewrite_all_as_indexed_access_types)]; }, fixIds: [fixId], @@ -148494,14 +149979,14 @@ var ts; var fixId = "convertToTypeOnlyExport"; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToConvertToTypeOnlyExport(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return fixSingleExportDeclaration(t, getExportSpecifierForDiagnosticSpan(context.span, context.sourceFile), context); }); if (changes.length) { return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_to_type_only_export, fixId, ts.Diagnostics.Convert_all_re_exported_types_to_type_only_exports)]; } }, fixIds: [fixId], - getAllCodeActions: function (context) { + getAllCodeActions: function getAllCodeActionsToConvertToTypeOnlyExport(context) { var fixedExportDeclarations = new ts.Map(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var exportSpecifier = getExportSpecifierForDiagnosticSpan(diag, context.sourceFile); @@ -148562,7 +150047,7 @@ var ts; var fixId = "convertToTypeOnlyImport"; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToConvertToTypeOnlyImport(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { var importDeclaration = getImportDeclarationForDiagnosticSpan(context.span, context.sourceFile); fixSingleImportDeclaration(t, importDeclaration, context); @@ -148572,7 +150057,7 @@ var ts; } }, fixIds: [fixId], - getAllCodeActions: function (context) { + getAllCodeActions: function getAllCodeActionsToConvertToTypeOnlyImport(context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var importDeclaration = getImportDeclarationForDiagnosticSpan(diag, context.sourceFile); fixSingleImportDeclaration(changes, importDeclaration, context); @@ -148611,7 +150096,7 @@ var ts; var errorCodes = [ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToConvertLiteralTypeToMappedType(context) { var sourceFile = context.sourceFile, span = context.span; var info = getInfo(sourceFile, span.start); if (!info) { @@ -148753,7 +150238,8 @@ var ts; ts.Diagnostics.Cannot_find_namespace_0.code, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here.code, - ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code + ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer.code, + ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code, ]; codefix.registerCodeFix({ errorCodes: errorCodes, @@ -148762,9 +150248,10 @@ var ts; var info = getFixesInfo(context, errorCode, span.start, /*useAutoImportProvider*/ true); if (!info) return undefined; - var fixes = info.fixes, symbolName = info.symbolName; + var fixes = info.fixes, symbolName = info.symbolName, errorIdentifierText = info.errorIdentifierText; var quotePreference = ts.getQuotePreference(sourceFile, preferences); - return fixes.map(function (fix) { return codeActionForFix(context, sourceFile, symbolName, fix, quotePreference, program.getCompilerOptions()); }); + return fixes.map(function (fix) { return codeActionForFix(context, sourceFile, symbolName, fix, + /*includeSymbolNameInDescription*/ symbolName !== errorIdentifierText, quotePreference, program.getCompilerOptions()); }); }, fixIds: [importFixId], getAllCodeActions: function (context) { @@ -148799,11 +150286,11 @@ var ts; var symbolName = ts.getNameForExportedSymbol(exportedSymbol, ts.getEmitScriptTarget(compilerOptions)); var checker = program.getTypeChecker(); var symbol = checker.getMergedSymbol(ts.skipAlias(exportedSymbol, checker)); - var exportInfos = getAllReExportingModules(sourceFile, symbol, moduleSymbol, symbolName, host, program, preferences, useAutoImportProvider); + var exportInfo = getAllReExportingModules(sourceFile, symbol, moduleSymbol, symbolName, /*isJsxTagName*/ false, host, program, preferences, useAutoImportProvider); var useRequire = shouldUseRequire(sourceFile, program); - var fix = getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, /*position*/ undefined, !!isValidTypeOnlyUseSite, useRequire, host, preferences); + var fix = getImportFixForSymbol(sourceFile, exportInfo, moduleSymbol, symbolName, program, /*position*/ undefined, !!isValidTypeOnlyUseSite, useRequire, host, preferences); if (fix) { - addImport({ fixes: [fix], symbolName: symbolName }); + addImport({ fixes: [fix], symbolName: symbolName, errorIdentifierText: undefined }); } } function addImport(info) { @@ -148858,8 +150345,11 @@ var ts; } break; } + case 4 /* PromoteTypeOnly */: + // Excluding from fix-all + break; default: - ts.Debug.assertNever(fix, "fix wasn't never - got kind " + fix.kind); + ts.Debug.assertNever(fix, "fix wasn't never - got kind ".concat(fix.kind)); } function reduceAddAsTypeOnlyValues(prevValue, newValue) { // `NotAllowed` overrides `Required` because one addition of a new import might be required to be type-only @@ -148903,7 +150393,7 @@ var ts; return newEntry; } function newImportsKey(moduleSpecifier, topLevelTypeOnly) { - return (topLevelTypeOnly ? 1 : 0) + "|" + moduleSpecifier; + return "".concat(topLevelTypeOnly ? 1 : 0, "|").concat(moduleSpecifier); } } function writeFixes(changeTracker) { @@ -148949,6 +150439,7 @@ var ts; ImportFixKind[ImportFixKind["JsdocTypeImport"] = 1] = "JsdocTypeImport"; ImportFixKind[ImportFixKind["AddToExisting"] = 2] = "AddToExisting"; ImportFixKind[ImportFixKind["AddNew"] = 3] = "AddNew"; + ImportFixKind[ImportFixKind["PromoteTypeOnly"] = 4] = "PromoteTypeOnly"; })(ImportFixKind || (ImportFixKind = {})); // These should not be combined as bitflags, but are given powers of 2 values to // easily detect conflicts between `NotAllowed` and `Required` by giving them a unique sum. @@ -148960,23 +150451,33 @@ var ts; AddAsTypeOnly[AddAsTypeOnly["Required"] = 2] = "Required"; AddAsTypeOnly[AddAsTypeOnly["NotAllowed"] = 4] = "NotAllowed"; })(AddAsTypeOnly || (AddAsTypeOnly = {})); - function getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, symbolName, host, program, formatContext, position, preferences) { + function getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, symbolName, isJsxTagName, host, program, formatContext, position, preferences) { var compilerOptions = program.getCompilerOptions(); var exportInfos = ts.pathIsBareSpecifier(ts.stripQuotes(moduleSymbol.name)) ? [getSymbolExportInfoForSymbol(targetSymbol, moduleSymbol, program, host)] - : getAllReExportingModules(sourceFile, targetSymbol, moduleSymbol, symbolName, host, program, preferences, /*useAutoImportProvider*/ true); + : getAllReExportingModules(sourceFile, targetSymbol, moduleSymbol, symbolName, isJsxTagName, host, program, preferences, /*useAutoImportProvider*/ true); var useRequire = shouldUseRequire(sourceFile, program); var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(ts.getTokenAtPosition(sourceFile, position)); var fix = ts.Debug.checkDefined(getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, position, isValidTypeOnlyUseSite, useRequire, host, preferences)); return { moduleSpecifier: fix.moduleSpecifier, - codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, ts.getQuotePreference(sourceFile, preferences), compilerOptions)) + codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, + /*includeSymbolNameInDescription*/ false, ts.getQuotePreference(sourceFile, preferences), compilerOptions)) }; } codefix.getImportCompletionAction = getImportCompletionAction; + function getPromoteTypeOnlyCompletionAction(sourceFile, symbolToken, program, host, formatContext, preferences) { + var compilerOptions = program.getCompilerOptions(); + var symbolName = getSymbolName(sourceFile, program.getTypeChecker(), symbolToken, compilerOptions); + var fix = getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName, program); + var includeSymbolNameInDescription = symbolName !== symbolToken.text; + return fix && codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, includeSymbolNameInDescription, 1 /* Double */, compilerOptions)); + } + codefix.getPromoteTypeOnlyCompletionAction = getPromoteTypeOnlyCompletionAction; function getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, position, isValidTypeOnlyUseSite, useRequire, host, preferences) { ts.Debug.assert(exportInfos.some(function (info) { return info.moduleSymbol === moduleSymbol || info.symbol.parent === moduleSymbol; }), "Some exportInfo should match the specified moduleSymbol"); - return getBestFix(getImportFixes(exportInfos, symbolName, position, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences), sourceFile, program, host, preferences); + var packageJsonImportFilter = ts.createPackageJsonImportFilter(sourceFile, preferences, host); + return getBestFix(getImportFixes(exportInfos, symbolName, position, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences), sourceFile, program, packageJsonImportFilter, host); } function codeFixActionToCodeAction(_a) { var description = _a.description, changes = _a.changes, commands = _a.commands; @@ -149002,7 +150503,7 @@ var ts; } } } - function getAllReExportingModules(importingFile, targetSymbol, exportingModuleSymbol, symbolName, host, program, preferences, useAutoImportProvider) { + function getAllReExportingModules(importingFile, targetSymbol, exportingModuleSymbol, symbolName, isJsxTagName, host, program, preferences, useAutoImportProvider) { var result = []; var compilerOptions = program.getCompilerOptions(); var getModuleSpecifierResolutionHost = ts.memoizeOne(function (isFromPackageJson) { @@ -149015,7 +150516,7 @@ var ts; return; } var defaultInfo = ts.getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); - if (defaultInfo && (defaultInfo.name === symbolName || moduleSymbolToValidIdentifier(moduleSymbol, ts.getEmitScriptTarget(compilerOptions)) === symbolName) && ts.skipAlias(defaultInfo.symbol, checker) === targetSymbol && isImportable(program, moduleFile, isFromPackageJson)) { + if (defaultInfo && (defaultInfo.name === symbolName || moduleSymbolToValidIdentifier(moduleSymbol, ts.getEmitScriptTarget(compilerOptions), isJsxTagName) === symbolName) && ts.skipAlias(defaultInfo.symbol, checker) === targetSymbol && isImportable(program, moduleFile, isFromPackageJson)) { result.push({ symbol: defaultInfo.symbol, moduleSymbol: moduleSymbol, moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName, exportKind: defaultInfo.exportKind, targetFlags: ts.skipAlias(defaultInfo.symbol, checker).flags, isFromPackageJson: isFromPackageJson }); } for (var _i = 0, _a = checker.getExportsAndPropertiesOfModule(moduleSymbol); _i < _a.length; _i++) { @@ -149031,12 +150532,12 @@ var ts; return !moduleFile || ts.isImportableFile(program, importingFile, moduleFile, preferences, /*packageJsonFilter*/ undefined, getModuleSpecifierResolutionHost(isFromPackageJson), (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host)); } } - function getModuleSpecifierForBestExportInfo(exportInfo, importingFile, program, host, preferences, fromCacheOnly) { + function getModuleSpecifierForBestExportInfo(exportInfo, importingFile, program, host, preferences, packageJsonImportFilter, fromCacheOnly) { var _a = getNewImportFixes(program, importingFile, /*position*/ undefined, /*isValidTypeOnlyUseSite*/ false, /*useRequire*/ false, exportInfo, host, preferences, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; - var result = getBestFix(fixes, importingFile, program, host, preferences); + var result = getBestFix(fixes, importingFile, program, packageJsonImportFilter || ts.createPackageJsonImportFilter(importingFile, preferences, host), host); return result && __assign(__assign({}, result), { computedWithoutCacheCount: computedWithoutCacheCount }); } codefix.getModuleSpecifierForBestExportInfo = getModuleSpecifierForBestExportInfo; @@ -149170,7 +150671,7 @@ var ts; var importKind = getImportKind(importingFile, exportKind, compilerOptions); return ts.mapDefined(importingFile.imports, function (moduleSpecifier) { var i = ts.importFromModuleSpecifier(moduleSpecifier); - if (ts.isRequireVariableDeclaration(i.parent)) { + if (ts.isVariableDeclarationInitializedToRequire(i.parent)) { return checker.resolveExternalModuleName(moduleSpecifier) === moduleSymbol ? { declaration: i.parent, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; } if (i.kind === 265 /* ImportDeclaration */ || i.kind === 264 /* ImportEqualsDeclaration */) { @@ -149206,7 +150707,7 @@ var ts; // 5. Literally nothing to go on return true; } - function getNewImportFixes(program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, moduleSymbols, host, preferences, fromCacheOnly) { + function getNewImportFixes(program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, exportInfo, host, preferences, fromCacheOnly) { var isJs = ts.isSourceFileJS(sourceFile); var compilerOptions = program.getCompilerOptions(); var moduleSpecifierResolutionHost = ts.createModuleSpecifierResolutionHost(program, host); @@ -149215,7 +150716,7 @@ var ts; ? function (moduleSymbol) { return ({ moduleSpecifiers: ts.moduleSpecifiers.tryGetModuleSpecifiersFromCache(moduleSymbol, sourceFile, moduleSpecifierResolutionHost, preferences), computedWithoutCache: false }); } : function (moduleSymbol, checker) { return ts.moduleSpecifiers.getModuleSpecifiersWithCacheInfo(moduleSymbol, checker, compilerOptions, sourceFile, moduleSpecifierResolutionHost, preferences); }; var computedWithoutCacheCount = 0; - var fixes = ts.flatMap(moduleSymbols, function (exportInfo) { + var fixes = ts.flatMap(exportInfo, function (exportInfo, i) { var checker = getChecker(exportInfo.isFromPackageJson); var _a = getModuleSpecifiers(exportInfo.moduleSymbol, checker), computedWithoutCache = _a.computedWithoutCache, moduleSpecifiers = _a.moduleSpecifiers; var importedSymbolHasValueMeaning = !!(exportInfo.targetFlags & 111551 /* Value */); @@ -149224,7 +150725,7 @@ var ts; return moduleSpecifiers === null || moduleSpecifiers === void 0 ? void 0 : moduleSpecifiers.map(function (moduleSpecifier) { // `position` should only be undefined at a missing jsx namespace, in which case we shouldn't be looking for pure types. return !importedSymbolHasValueMeaning && isJs && position !== undefined - ? { kind: 1 /* JsdocTypeImport */, moduleSpecifier: moduleSpecifier, position: position, exportInfo: exportInfo } + ? { kind: 1 /* JsdocTypeImport */, moduleSpecifier: moduleSpecifier, position: position, exportInfo: exportInfo, isReExport: i > 0 } : { kind: 3 /* AddNew */, moduleSpecifier: moduleSpecifier, @@ -149232,6 +150733,7 @@ var ts; useRequire: useRequire, addAsTypeOnly: addAsTypeOnly, exportInfo: exportInfo, + isReExport: i > 0, }; }); }); @@ -149253,37 +150755,69 @@ var ts; } function getFixesInfo(context, errorCode, pos, useAutoImportProvider) { var symbolToken = ts.getTokenAtPosition(context.sourceFile, pos); - var info = errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code - ? getFixesInfoForUMDImport(context, symbolToken) - : ts.isIdentifier(symbolToken) ? getFixesInfoForNonUMDImport(context, symbolToken, useAutoImportProvider) : undefined; - return info && __assign(__assign({}, info), { fixes: sortFixes(info.fixes, context.sourceFile, context.program, context.host, context.preferences) }); + var info; + if (errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code) { + info = getFixesInfoForUMDImport(context, symbolToken); + } + else if (!ts.isIdentifier(symbolToken)) { + return undefined; + } + else if (errorCode === ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code) { + var symbolName_1 = getSymbolName(context.sourceFile, context.program.getTypeChecker(), symbolToken, context.program.getCompilerOptions()); + var fix = getTypeOnlyPromotionFix(context.sourceFile, symbolToken, symbolName_1, context.program); + return fix && { fixes: [fix], symbolName: symbolName_1, errorIdentifierText: symbolToken.text }; + } + else { + info = getFixesInfoForNonUMDImport(context, symbolToken, useAutoImportProvider); + } + var packageJsonImportFilter = ts.createPackageJsonImportFilter(context.sourceFile, context.preferences, context.host); + return info && __assign(__assign({}, info), { fixes: sortFixes(info.fixes, context.sourceFile, context.program, packageJsonImportFilter, context.host) }); } - function sortFixes(fixes, sourceFile, program, host, preferences) { - var allowsImportingSpecifier = ts.createPackageJsonImportFilter(sourceFile, preferences, host).allowsImportingSpecifier; - return ts.sort(fixes, function (a, b) { return ts.compareValues(a.kind, b.kind) || compareModuleSpecifiers(a, b, sourceFile, program, allowsImportingSpecifier); }); + function sortFixes(fixes, sourceFile, program, packageJsonImportFilter, host) { + var _toPath = function (fileName) { return ts.toPath(fileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); }; + return ts.sort(fixes, function (a, b) { return ts.compareValues(a.kind, b.kind) || compareModuleSpecifiers(a, b, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, _toPath); }); } - function getBestFix(fixes, sourceFile, program, host, preferences) { + function getBestFix(fixes, sourceFile, program, packageJsonImportFilter, host) { if (!ts.some(fixes)) return; // These will always be placed first if available, and are better than other kinds if (fixes[0].kind === 0 /* UseNamespace */ || fixes[0].kind === 2 /* AddToExisting */) { return fixes[0]; } - var allowsImportingSpecifier = ts.createPackageJsonImportFilter(sourceFile, preferences, host).allowsImportingSpecifier; return fixes.reduce(function (best, fix) { // Takes true branch of conditional if `fix` is better than `best` - return compareModuleSpecifiers(fix, best, sourceFile, program, allowsImportingSpecifier) === -1 /* LessThan */ ? fix : best; + return compareModuleSpecifiers(fix, best, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, function (fileName) { return ts.toPath(fileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); }) === -1 /* LessThan */ ? fix : best; }); } /** @returns `Comparison.LessThan` if `a` is better than `b`. */ - function compareModuleSpecifiers(a, b, importingFile, program, allowsImportingSpecifier) { + function compareModuleSpecifiers(a, b, importingFile, program, allowsImportingSpecifier, toPath) { if (a.kind !== 0 /* UseNamespace */ && b.kind !== 0 /* UseNamespace */) { return ts.compareBooleans(allowsImportingSpecifier(b.moduleSpecifier), allowsImportingSpecifier(a.moduleSpecifier)) || compareNodeCoreModuleSpecifiers(a.moduleSpecifier, b.moduleSpecifier, importingFile, program) + || ts.compareBooleans(isFixPossiblyReExportingImportingFile(a, importingFile, program.getCompilerOptions(), toPath), isFixPossiblyReExportingImportingFile(b, importingFile, program.getCompilerOptions(), toPath)) || ts.compareNumberOfDirectorySeparators(a.moduleSpecifier, b.moduleSpecifier); } return 0 /* EqualTo */; } + // This is a simple heuristic to try to avoid creating an import cycle with a barrel re-export. + // E.g., do not `import { Foo } from ".."` when you could `import { Foo } from "../Foo"`. + // This can produce false positives or negatives if re-exports cross into sibling directories + // (e.g. `export * from "../whatever"`) or are not named "index" (we don't even try to consider + // this if we're in a resolution mode where you can't drop trailing "/index" from paths). + function isFixPossiblyReExportingImportingFile(fix, importingFile, compilerOptions, toPath) { + var _a; + if (fix.isReExport && + ((_a = fix.exportInfo) === null || _a === void 0 ? void 0 : _a.moduleFileName) && + ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs && + isIndexFileName(fix.exportInfo.moduleFileName)) { + var reExportDir = toPath(ts.getDirectoryPath(fix.exportInfo.moduleFileName)); + return ts.startsWith((importingFile.path), reExportDir); + } + return false; + } + function isIndexFileName(fileName) { + return ts.getBaseFileName(fileName, [".js", ".jsx", ".d.ts", ".ts", ".tsx"], /*ignoreCase*/ true) === "index"; + } function compareNodeCoreModuleSpecifiers(a, b, importingFile, program) { if (ts.startsWith(a, "node:") && !ts.startsWith(b, "node:")) return ts.shouldUseUriStyleNodeCoreModules(importingFile, program) ? -1 /* LessThan */ : 1 /* GreaterThan */; @@ -149292,6 +150826,7 @@ var ts; return 0 /* EqualTo */; } function getFixesInfoForUMDImport(_a, token) { + var _b; var sourceFile = _a.sourceFile, program = _a.program, host = _a.host, preferences = _a.preferences; var checker = program.getTypeChecker(); var umdSymbol = getUmdSymbol(token, checker); @@ -149299,10 +150834,10 @@ var ts; return undefined; var symbol = checker.getAliasedSymbol(umdSymbol); var symbolName = umdSymbol.name; - var exportInfos = [{ symbol: umdSymbol, moduleSymbol: symbol, moduleFileName: undefined, exportKind: 3 /* UMD */, targetFlags: symbol.flags, isFromPackageJson: false }]; + var exportInfo = [{ symbol: umdSymbol, moduleSymbol: symbol, moduleFileName: undefined, exportKind: 3 /* UMD */, targetFlags: symbol.flags, isFromPackageJson: false }]; var useRequire = shouldUseRequire(sourceFile, program); - var fixes = getImportFixes(exportInfos, symbolName, ts.isIdentifier(token) ? token.getStart(sourceFile) : undefined, /*isValidTypeOnlyUseSite*/ false, useRequire, program, sourceFile, host, preferences); - return { fixes: fixes, symbolName: symbolName }; + var fixes = getImportFixes(exportInfo, symbolName, ts.isIdentifier(token) ? token.getStart(sourceFile) : undefined, /*isValidTypeOnlyUseSite*/ false, useRequire, program, sourceFile, host, preferences); + return { fixes: fixes, symbolName: symbolName, errorIdentifierText: (_b = ts.tryCast(token, ts.isIdentifier)) === null || _b === void 0 ? void 0 : _b.text }; } function getUmdSymbol(token, checker) { // try the identifier to see if it is the umd symbol @@ -149356,7 +150891,7 @@ var ts; case ts.ModuleKind.NodeNext: return importingFile.impliedNodeFormat === ts.ModuleKind.ESNext ? 2 /* Namespace */ : 3 /* CommonJS */; default: - return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind " + moduleKind); + return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind ".concat(moduleKind)); } } function getFixesInfoForNonUMDImport(_a, symbolToken, useAutoImportProvider) { @@ -149368,12 +150903,22 @@ var ts; ts.Debug.assert(symbolName !== "default" /* Default */, "'default' isn't a legal identifier and couldn't occur here"); var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(symbolToken); var useRequire = shouldUseRequire(sourceFile, program); - var exportInfos = getExportInfos(symbolName, ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences); - var fixes = ts.arrayFrom(ts.flatMapIterator(exportInfos.entries(), function (_a) { + var exportInfo = getExportInfos(symbolName, ts.isJSXTagName(symbolToken), ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences); + var fixes = ts.arrayFrom(ts.flatMapIterator(exportInfo.entries(), function (_a) { var _ = _a[0], exportInfos = _a[1]; return getImportFixes(exportInfos, symbolName, symbolToken.getStart(sourceFile), isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences); })); - return { fixes: fixes, symbolName: symbolName }; + return { fixes: fixes, symbolName: symbolName, errorIdentifierText: symbolToken.text }; + } + function getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName, program) { + var checker = program.getTypeChecker(); + var symbol = checker.resolveName(symbolName, symbolToken, 111551 /* Value */, /*excludeGlobals*/ true); + if (!symbol) + return undefined; + var typeOnlyAliasDeclaration = checker.getTypeOnlyAliasDeclaration(symbol); + if (!typeOnlyAliasDeclaration || ts.getSourceFileOfNode(typeOnlyAliasDeclaration) !== sourceFile) + return undefined; + return { kind: 4 /* PromoteTypeOnly */, typeOnlyAliasDeclaration: typeOnlyAliasDeclaration }; } function jsxModeNeedsExplicitImport(jsx) { return jsx === 2 /* React */ || jsx === 3 /* ReactNative */; @@ -149382,14 +150927,20 @@ var ts; var parent = symbolToken.parent; if ((ts.isJsxOpeningLikeElement(parent) || ts.isJsxClosingElement(parent)) && parent.tagName === symbolToken && jsxModeNeedsExplicitImport(compilerOptions.jsx)) { var jsxNamespace = checker.getJsxNamespace(sourceFile); - if (ts.isIntrinsicJsxName(symbolToken.text) || !checker.resolveName(jsxNamespace, parent, 111551 /* Value */, /*excludeGlobals*/ true)) { + if (needsJsxNamespaceFix(jsxNamespace, symbolToken, checker)) { return jsxNamespace; } } return symbolToken.text; } + function needsJsxNamespaceFix(jsxNamespace, symbolToken, checker) { + if (ts.isIntrinsicJsxName(symbolToken.text)) + return true; // If we were triggered by a matching error code on an intrinsic, the error must have been about missing the JSX factory + var namespaceSymbol = checker.resolveName(jsxNamespace, symbolToken, 111551 /* Value */, /*excludeGlobals*/ true); + return !namespaceSymbol || ts.some(namespaceSymbol.declarations, ts.isTypeOnlyImportOrExportDeclaration) && !(namespaceSymbol.flags & 111551 /* Value */); + } // Returns a map from an exported symbol's ID to a list of every way it's (re-)exported. - function getExportInfos(symbolName, currentTokenMeaning, cancellationToken, fromFile, program, useAutoImportProvider, host, preferences) { + function getExportInfos(symbolName, isJsxTagName, currentTokenMeaning, cancellationToken, fromFile, program, useAutoImportProvider, host, preferences) { var _a; // For each original symbol, keep all re-exports of that symbol together so we can call `getCodeActionsForImport` on the whole group at once. // Maps symbol id to info for modules providing that symbol (original export + re-exports). @@ -149412,7 +150963,7 @@ var ts; cancellationToken.throwIfCancellationRequested(); var compilerOptions = program.getCompilerOptions(); var defaultInfo = ts.getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); - if (defaultInfo && (defaultInfo.name === symbolName || moduleSymbolToValidIdentifier(moduleSymbol, ts.getEmitScriptTarget(compilerOptions)) === symbolName) && symbolHasMeaning(defaultInfo.symbolForMeaning, currentTokenMeaning)) { + if (defaultInfo && (defaultInfo.name === symbolName || moduleSymbolToValidIdentifier(moduleSymbol, ts.getEmitScriptTarget(compilerOptions), isJsxTagName) === symbolName) && symbolHasMeaning(defaultInfo.symbolForMeaning, currentTokenMeaning)) { addSymbol(moduleSymbol, sourceFile, defaultInfo.symbol, defaultInfo.exportKind, program, isFromPackageJson); } // check exports with the same name @@ -149452,18 +151003,18 @@ var ts; // allowSyntheticDefaultImports/esModuleInterop is enabled. return allowSyntheticDefaults ? 1 /* Default */ : 3 /* CommonJS */; } - function codeActionForFix(context, sourceFile, symbolName, fix, quotePreference, compilerOptions) { + function codeActionForFix(context, sourceFile, symbolName, fix, includeSymbolNameInDescription, quotePreference, compilerOptions) { var diag; var changes = ts.textChanges.ChangeTracker.with(context, function (tracker) { - diag = codeActionForFixWorker(tracker, sourceFile, symbolName, fix, quotePreference, compilerOptions); + diag = codeActionForFixWorker(tracker, sourceFile, symbolName, fix, includeSymbolNameInDescription, quotePreference, compilerOptions); }); return codefix.createCodeFixAction(codefix.importFixName, changes, diag, importFixId, ts.Diagnostics.Add_all_missing_imports); } - function codeActionForFixWorker(changes, sourceFile, symbolName, fix, quotePreference, compilerOptions) { + function codeActionForFixWorker(changes, sourceFile, symbolName, fix, includeSymbolNameInDescription, quotePreference, compilerOptions) { switch (fix.kind) { case 0 /* UseNamespace */: addNamespaceQualifier(changes, sourceFile, fix); - return [ts.Diagnostics.Change_0_to_1, symbolName, fix.namespacePrefix + "." + symbolName]; + return [ts.Diagnostics.Change_0_to_1, symbolName, "".concat(fix.namespacePrefix, ".").concat(symbolName)]; case 1 /* JsdocTypeImport */: addImportType(changes, sourceFile, fix, quotePreference); return [ts.Diagnostics.Change_0_to_1, symbolName, getImportTypePrefix(fix.moduleSpecifier, quotePreference) + symbolName]; @@ -149471,11 +151022,9 @@ var ts; var importClauseOrBindingPattern = fix.importClauseOrBindingPattern, importKind = fix.importKind, addAsTypeOnly = fix.addAsTypeOnly, moduleSpecifier = fix.moduleSpecifier; doAddExistingFix(changes, sourceFile, importClauseOrBindingPattern, importKind === 1 /* Default */ ? { name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined, importKind === 0 /* Named */ ? [{ name: symbolName, addAsTypeOnly: addAsTypeOnly }] : ts.emptyArray, compilerOptions); var moduleSpecifierWithoutQuotes = ts.stripQuotes(moduleSpecifier); - return [ - importKind === 1 /* Default */ ? ts.Diagnostics.Add_default_import_0_to_existing_import_declaration_from_1 : ts.Diagnostics.Add_0_to_existing_import_declaration_from_1, - symbolName, - moduleSpecifierWithoutQuotes - ]; // you too! + return includeSymbolNameInDescription + ? [ts.Diagnostics.Import_0_from_1, symbolName, moduleSpecifierWithoutQuotes] + : [ts.Diagnostics.Update_import_from_0, moduleSpecifierWithoutQuotes]; } case 3 /* AddNew */: { var importKind = fix.importKind, moduleSpecifier = fix.moduleSpecifier, addAsTypeOnly = fix.addAsTypeOnly, useRequire = fix.useRequire; @@ -149484,10 +151033,82 @@ var ts; var namedImports = importKind === 0 /* Named */ ? [{ name: symbolName, addAsTypeOnly: addAsTypeOnly }] : undefined; var namespaceLikeImport = importKind === 2 /* Namespace */ || importKind === 3 /* CommonJS */ ? { importKind: importKind, name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined; ts.insertImports(changes, sourceFile, getDeclarations(moduleSpecifier, quotePreference, defaultImport, namedImports, namespaceLikeImport), /*blankLineBetween*/ true); - return [importKind === 1 /* Default */ ? ts.Diagnostics.Import_default_0_from_module_1 : ts.Diagnostics.Import_0_from_module_1, symbolName, moduleSpecifier]; + return includeSymbolNameInDescription + ? [ts.Diagnostics.Import_0_from_1, symbolName, moduleSpecifier] + : [ts.Diagnostics.Add_import_from_0, moduleSpecifier]; + } + case 4 /* PromoteTypeOnly */: { + var typeOnlyAliasDeclaration = fix.typeOnlyAliasDeclaration; + var promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, compilerOptions, sourceFile); + return promotedDeclaration.kind === 269 /* ImportSpecifier */ + ? [ts.Diagnostics.Remove_type_from_import_of_0_from_1, symbolName, getModuleSpecifierText(promotedDeclaration.parent.parent)] + : [ts.Diagnostics.Remove_type_from_import_declaration_from_0, getModuleSpecifierText(promotedDeclaration)]; } default: - return ts.Debug.assertNever(fix, "Unexpected fix kind " + fix.kind); + return ts.Debug.assertNever(fix, "Unexpected fix kind ".concat(fix.kind)); + } + } + function getModuleSpecifierText(promotedDeclaration) { + var _a, _b; + return promotedDeclaration.kind === 264 /* ImportEqualsDeclaration */ + ? ((_b = ts.tryCast((_a = ts.tryCast(promotedDeclaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression, ts.isStringLiteralLike)) === null || _b === void 0 ? void 0 : _b.text) || promotedDeclaration.moduleReference.getText() + : ts.cast(promotedDeclaration.parent.moduleSpecifier, ts.isStringLiteral).text; + } + function promoteFromTypeOnly(changes, aliasDeclaration, compilerOptions, sourceFile) { + // See comment in `doAddExistingFix` on constant with the same name. + var convertExistingToTypeOnly = compilerOptions.preserveValueImports && compilerOptions.isolatedModules; + switch (aliasDeclaration.kind) { + case 269 /* ImportSpecifier */: + if (aliasDeclaration.isTypeOnly) { + if (aliasDeclaration.parent.elements.length > 1 && ts.OrganizeImports.importSpecifiersAreSorted(aliasDeclaration.parent.elements)) { + changes.delete(sourceFile, aliasDeclaration); + var newSpecifier = ts.factory.updateImportSpecifier(aliasDeclaration, /*isTypeOnly*/ false, aliasDeclaration.propertyName, aliasDeclaration.name); + var insertionIndex = ts.OrganizeImports.getImportSpecifierInsertionIndex(aliasDeclaration.parent.elements, newSpecifier); + changes.insertImportSpecifierAtIndex(sourceFile, newSpecifier, aliasDeclaration.parent, insertionIndex); + } + else { + changes.deleteRange(sourceFile, aliasDeclaration.getFirstToken()); + } + return aliasDeclaration; + } + else { + ts.Debug.assert(aliasDeclaration.parent.parent.isTypeOnly); + promoteImportClause(aliasDeclaration.parent.parent); + return aliasDeclaration.parent.parent; + } + case 266 /* ImportClause */: + promoteImportClause(aliasDeclaration); + return aliasDeclaration; + case 267 /* NamespaceImport */: + promoteImportClause(aliasDeclaration.parent); + return aliasDeclaration.parent; + case 264 /* ImportEqualsDeclaration */: + changes.deleteRange(sourceFile, aliasDeclaration.getChildAt(1)); + return aliasDeclaration; + default: + ts.Debug.failBadSyntaxKind(aliasDeclaration); + } + function promoteImportClause(importClause) { + changes.delete(sourceFile, ts.getTypeKeywordOfTypeOnlyImport(importClause, sourceFile)); + if (convertExistingToTypeOnly) { + var namedImports = ts.tryCast(importClause.namedBindings, ts.isNamedImports); + if (namedImports && namedImports.elements.length > 1) { + if (ts.OrganizeImports.importSpecifiersAreSorted(namedImports.elements) && + aliasDeclaration.kind === 269 /* ImportSpecifier */ && + namedImports.elements.indexOf(aliasDeclaration) !== 0) { + // The import specifier being promoted will be the only non-type-only, + // import in the NamedImports, so it should be moved to the front. + changes.delete(sourceFile, aliasDeclaration); + changes.insertImportSpecifierAtIndex(sourceFile, aliasDeclaration, namedImports, 0); + } + for (var _i = 0, _a = namedImports.elements; _i < _a.length; _i++) { + var element = _a[_i]; + if (element !== aliasDeclaration && !element.isTypeOnly) { + changes.insertModifierBefore(sourceFile, 151 /* TypeKeyword */, element); + } + } + } + } } } function doAddExistingFix(changes, sourceFile, clause, defaultImport, namedImports, compilerOptions) { @@ -149527,13 +151148,7 @@ var ts; var insertionIndex = convertExistingToTypeOnly && !spec.isTypeOnly ? 0 : ts.OrganizeImports.getImportSpecifierInsertionIndex(existingSpecifiers, spec); - var prevSpecifier = clause.namedBindings.elements[insertionIndex - 1]; - if (prevSpecifier) { - changes.insertNodeInListAfter(sourceFile, prevSpecifier, spec); - } - else { - changes.insertNodeBefore(sourceFile, existingSpecifiers[0], spec, !ts.positionsAreOnSameLine(existingSpecifiers[0].getStart(), clause.parent.getStart(), sourceFile)); - } + changes.insertImportSpecifierAtIndex(sourceFile, spec, clause.namedBindings, insertionIndex); } } else if (existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) { @@ -149583,7 +151198,7 @@ var ts; } function getImportTypePrefix(moduleSpecifier, quotePreference) { var quote = ts.getQuoteFromPreference(quotePreference); - return "import(" + quote + moduleSpecifier + quote + ")."; + return "import(".concat(quote).concat(moduleSpecifier).concat(quote, ")."); } function needsTypeOnly(_a) { var addAsTypeOnly = _a.addAsTypeOnly; @@ -149648,17 +151263,20 @@ var ts; var declarations = _a.declarations; return ts.some(declarations, function (decl) { return !!(ts.getMeaningFromDeclaration(decl) & meaning); }); } - function moduleSymbolToValidIdentifier(moduleSymbol, target) { - return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target); + function moduleSymbolToValidIdentifier(moduleSymbol, target, forceCapitalize) { + return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target, forceCapitalize); } codefix.moduleSymbolToValidIdentifier = moduleSymbolToValidIdentifier; - function moduleSpecifierToValidIdentifier(moduleSpecifier, target) { + function moduleSpecifierToValidIdentifier(moduleSpecifier, target, forceCapitalize) { var baseName = ts.getBaseFileName(ts.removeSuffix(moduleSpecifier, "/index")); var res = ""; var lastCharWasValid = true; var firstCharCode = baseName.charCodeAt(0); if (ts.isIdentifierStart(firstCharCode, target)) { res += String.fromCharCode(firstCharCode); + if (forceCapitalize) { + res = res.toUpperCase(); + } } else { lastCharWasValid = false; @@ -149676,7 +151294,7 @@ var ts; lastCharWasValid = isValid; } // Need `|| "_"` to ensure result isn't empty. - return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_" + res; + return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_".concat(res); } codefix.moduleSpecifierToValidIdentifier = moduleSpecifierToValidIdentifier; })(codefix = ts.codefix || (ts.codefix = {})); @@ -149695,35 +151313,72 @@ var ts; ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code, ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code, ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code, - ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code + ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code, + ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code, + ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code, + ts.Diagnostics.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code, + ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code, ]; var errorCodeFixIdMap = (_a = {}, - _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code] = [ - ts.Diagnostics.Add_override_modifier, fixAddOverrideId, ts.Diagnostics.Add_all_missing_override_modifiers, - ], - _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code] = [ - ts.Diagnostics.Remove_override_modifier, fixRemoveOverrideId, ts.Diagnostics.Remove_all_unnecessary_override_modifiers - ], - _a[ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code] = [ - ts.Diagnostics.Add_override_modifier, fixAddOverrideId, ts.Diagnostics.Add_all_missing_override_modifiers, - ], - _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code] = [ - ts.Diagnostics.Add_override_modifier, fixAddOverrideId, ts.Diagnostics.Remove_all_unnecessary_override_modifiers - ], - _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code] = [ - ts.Diagnostics.Remove_override_modifier, fixRemoveOverrideId, ts.Diagnostics.Remove_all_unnecessary_override_modifiers - ], + // case #1: + _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code] = { + descriptions: ts.Diagnostics.Add_override_modifier, + fixId: fixAddOverrideId, + fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers, + }, + _a[ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code] = { + descriptions: ts.Diagnostics.Add_override_modifier, + fixId: fixAddOverrideId, + fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers + }, + // case #2: + _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code] = { + descriptions: ts.Diagnostics.Remove_override_modifier, + fixId: fixRemoveOverrideId, + fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers, + }, + _a[ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code] = { + descriptions: ts.Diagnostics.Remove_override_modifier, + fixId: fixRemoveOverrideId, + fixAllDescriptions: ts.Diagnostics.Remove_override_modifier + }, + // case #3: + _a[ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code] = { + descriptions: ts.Diagnostics.Add_override_modifier, + fixId: fixAddOverrideId, + fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers, + }, + _a[ts.Diagnostics.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code] = { + descriptions: ts.Diagnostics.Add_override_modifier, + fixId: fixAddOverrideId, + fixAllDescriptions: ts.Diagnostics.Add_all_missing_override_modifiers, + }, + // case #4: + _a[ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code] = { + descriptions: ts.Diagnostics.Add_override_modifier, + fixId: fixAddOverrideId, + fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers, + }, + // case #5: + _a[ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code] = { + descriptions: ts.Diagnostics.Remove_override_modifier, + fixId: fixRemoveOverrideId, + fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers, + }, + _a[ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code] = { + descriptions: ts.Diagnostics.Remove_override_modifier, + fixId: fixRemoveOverrideId, + fixAllDescriptions: ts.Diagnostics.Remove_all_unnecessary_override_modifiers, + }, _a); codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { - var errorCode = context.errorCode, span = context.span, sourceFile = context.sourceFile; + getCodeActions: function getCodeActionsToFixOverrideModifierIssues(context) { + var errorCode = context.errorCode, span = context.span; var info = errorCodeFixIdMap[errorCode]; if (!info) return ts.emptyArray; - var descriptions = info[0], fixId = info[1], fixAllDescriptions = info[2]; - if (ts.isSourceFileJS(sourceFile)) - return ts.emptyArray; + var descriptions = info.descriptions, fixId = info.fixId, fixAllDescriptions = info.fixAllDescriptions; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { return dispatchChanges(changes, context, errorCode, span.start); }); return [ codefix.createCodeFixActionMaybeFixAll(fixName, changes, descriptions, fixId, fixAllDescriptions) @@ -149732,9 +151387,9 @@ var ts; fixIds: [fixName, fixAddOverrideId, fixRemoveOverrideId], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - var code = diag.code, start = diag.start, file = diag.file; + var code = diag.code, start = diag.start; var info = errorCodeFixIdMap[code]; - if (!info || info[1] !== context.fixId || ts.isSourceFileJS(file)) { + if (!info || info.fixId !== context.fixId) { return; } dispatchChanges(changes, context, code, start); @@ -149744,11 +151399,15 @@ var ts; function dispatchChanges(changeTracker, context, errorCode, pos) { switch (errorCode) { case ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0.code: + case ts.Diagnostics.This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code: case ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0.code: case ts.Diagnostics.This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0.code: + case ts.Diagnostics.This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0.code: return doAddOverrideModifierChange(changeTracker, context.sourceFile, pos); case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0.code: + case ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0.code: case ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class.code: + case ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class.code: return doRemoveOverrideModifierChange(changeTracker, context.sourceFile, pos); default: ts.Debug.fail("Unexpected error code: " + errorCode); @@ -149756,6 +151415,10 @@ var ts; } function doAddOverrideModifierChange(changeTracker, sourceFile, pos) { var classElement = findContainerClassElementLike(sourceFile, pos); + if (ts.isSourceFileJS(sourceFile)) { + changeTracker.addJSDocTags(sourceFile, classElement, [ts.factory.createJSDocOverrideTag(ts.factory.createIdentifier("override"))]); + return; + } var modifiers = classElement.modifiers || ts.emptyArray; var staticModifier = ts.find(modifiers, ts.isStaticModifier); var abstractModifier = ts.find(modifiers, ts.isAbstractModifier); @@ -149769,6 +151432,10 @@ var ts; } function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) { var classElement = findContainerClassElementLike(sourceFile, pos); + if (ts.isSourceFileJS(sourceFile)) { + changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag)); + return; + } var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 158 /* OverrideKeyword */; }); ts.Debug.assertIsDefined(overrideModifier); changeTracker.deleteModifier(sourceFile, overrideModifier); @@ -149842,7 +151509,7 @@ var ts; var errorCodes = [ts.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixImplicitThis(context) { var sourceFile = context.sourceFile, program = context.program, span = context.span; var diagnostic; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { @@ -149857,14 +151524,15 @@ var ts; }); function doChange(changes, sourceFile, pos, checker) { var token = ts.getTokenAtPosition(sourceFile, pos); - ts.Debug.assert(token.kind === 108 /* ThisKeyword */); + if (!ts.isThis(token)) + return undefined; var fn = ts.getThisContainer(token, /*includeArrowFunctions*/ false); if (!ts.isFunctionDeclaration(fn) && !ts.isFunctionExpression(fn)) return undefined; if (!ts.isSourceFile(ts.getThisContainer(fn, /*includeArrowFunctions*/ false))) { // 'this' is defined outside, convert to arrow function - var fnKeyword = ts.Debug.assertDefined(ts.findChildOfKind(fn, 98 /* FunctionKeyword */, sourceFile)); + var fnKeyword = ts.Debug.checkDefined(ts.findChildOfKind(fn, 98 /* FunctionKeyword */, sourceFile)); var name = fn.name; - var body = ts.Debug.assertDefined(fn.body); // Should be defined because the function contained a 'this' expression + var body = ts.Debug.checkDefined(fn.body); // Should be defined because the function contained a 'this' expression if (ts.isFunctionExpression(fn)) { if (name && ts.FindAllReferences.Core.isSymbolReferencedInFile(name, checker, sourceFile, body)) { // Function expression references itself. To fix we would have to extract it to a const. @@ -149902,7 +151570,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixIncorrectNamedTupleSyntax(context) { var sourceFile = context.sourceFile, span = context.span; var namedTupleMember = getNamedTupleMember(sourceFile, span.start); var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, namedTupleMember); }); @@ -150101,7 +151769,7 @@ var ts; codefix.registerCodeFix({ errorCodes: errorCodes, fixIds: [fixIdAddReturnStatement, fixRemoveBracesFromArrowFunctionBody, fixIdWrapTheBlockWithParen], - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToCorrectReturnValue(context) { var program = context.program, sourceFile = context.sourceFile, start = context.span.start, errorCode = context.errorCode; var info = getInfo(program.getTypeChecker(), sourceFile, start, errorCode); if (!info) @@ -150441,7 +152109,8 @@ var ts; return { kind: 3 /* ObjectLiteral */, token: token, properties: properties, indentation: undefined, parentDeclaration: parent.initializer }; } if (ts.isIdentifier(token) && ts.isJsxOpeningLikeElement(token.parent)) { - var attributes = getUnmatchedAttributes(checker, token.parent); + var target = ts.getEmitScriptTarget(program.getCompilerOptions()); + var attributes = getUnmatchedAttributes(checker, target, token.parent); if (!ts.length(attributes)) return undefined; return { kind: 4 /* JsxAttributes */, token: token, attributes: attributes, parentDeclaration: token.parent }; @@ -150676,8 +152345,12 @@ var ts; var jsxAttributesNode = info.parentDeclaration.attributes; var hasSpreadAttribute = ts.some(jsxAttributesNode.properties, ts.isJsxSpreadAttribute); var attrs = ts.map(info.attributes, function (attr) { - var value = attr.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(attr.valueDeclaration)) : createUndefined(); - return ts.factory.createJsxAttribute(ts.factory.createIdentifier(attr.name), ts.factory.createJsxExpression(/*dotDotDotToken*/ undefined, value)); + var value = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(attr)); + var name = ts.factory.createIdentifier(attr.name); + var jsxAttribute = ts.factory.createJsxAttribute(name, ts.factory.createJsxExpression(/*dotDotDotToken*/ undefined, value)); + // formattingScanner requires the Identifier to have a context for scanning attributes with "-" (data-foo). + ts.setParent(name, jsxAttribute); + return jsxAttribute; }); var jsxAttributes = ts.factory.createJsxAttributes(hasSpreadAttribute ? __spreadArray(__spreadArray([], attrs, true), jsxAttributesNode.properties, true) : __spreadArray(__spreadArray([], jsxAttributesNode.properties, true), attrs, true)); var options = { prefix: jsxAttributesNode.pos === jsxAttributesNode.end ? " " : undefined }; @@ -150686,10 +152359,11 @@ var ts; function addObjectLiteralProperties(changes, context, info) { var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); var quotePreference = ts.getQuotePreference(context.sourceFile, context.preferences); + var target = ts.getEmitScriptTarget(context.program.getCompilerOptions()); var checker = context.program.getTypeChecker(); var props = ts.map(info.properties, function (prop) { - var initializer = prop.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(prop.valueDeclaration)) : createUndefined(); - return ts.factory.createPropertyAssignment(prop.name, initializer); + var initializer = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(prop)); + return ts.factory.createPropertyAssignment(ts.createPropertyNameNodeForIdentifierOrLiteral(prop.name, target, quotePreference === 0 /* Single */), initializer); }); var options = { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude, @@ -150776,7 +152450,7 @@ var ts; return (type.flags & 524288 /* Object */) && ((ts.getObjectFlags(type) & 128 /* ObjectLiteral */) || (type.symbol && ts.tryCast(ts.singleOrUndefined(type.symbol.declarations), ts.isTypeLiteralNode))); } - function getUnmatchedAttributes(checker, source) { + function getUnmatchedAttributes(checker, target, source) { var attrsType = checker.getContextualType(source.attributes); if (attrsType === undefined) return ts.emptyArray; @@ -150798,7 +152472,7 @@ var ts; } } return ts.filter(targetProps, function (targetProp) { - return !((targetProp.flags & 16777216 /* Optional */ || ts.getCheckFlags(targetProp) & 48 /* Partial */) || seenNames.has(targetProp.escapedName)); + return ts.isIdentifierText(targetProp.name, target, 1 /* JSX */) && !((targetProp.flags & 16777216 /* Optional */ || ts.getCheckFlags(targetProp) & 48 /* Partial */) || seenNames.has(targetProp.escapedName)); }); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -150851,7 +152525,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixNotFoundModule(context) { var host = context.host, sourceFile = context.sourceFile, start = context.span.start; var packageName = tryGetImportedPackageName(sourceFile, start); if (packageName === undefined) @@ -150876,7 +152550,7 @@ var ts; break; } default: - ts.Debug.fail("Bad fixId: " + context.fixId); + ts.Debug.fail("Bad fixId: ".concat(context.fixId)); } }); }, @@ -150912,7 +152586,7 @@ var ts; var fixId = "fixClassDoesntImplementInheritedAbstractMember"; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixClassNotImplementingInheritedMembers(context) { var sourceFile = context.sourceFile, span = context.span; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addMissingMembers(getClass(sourceFile, span.start), sourceFile, context, t, context.preferences); @@ -150920,7 +152594,7 @@ var ts; return changes.length === 0 ? undefined : [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Implement_inherited_abstract_class, fixId, ts.Diagnostics.Implement_all_inherited_abstract_classes)]; }, fixIds: [fixId], - getAllCodeActions: function (context) { + getAllCodeActions: function getAllCodeActionsToFixClassDoesntImplementInheritedAbstractMember(context) { var seenClassDeclarations = new ts.Map(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var classDeclaration = getClass(diag.file, diag.start); @@ -151053,7 +152727,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToEnableExperimentalDecorators(context) { var configFile = context.program.getCompilerOptions().configFile; if (configFile === undefined) { return undefined; @@ -151084,7 +152758,7 @@ var ts; var errorCodes = [ts.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixEnableJsxFlag(context) { var configFile = context.program.getCompilerOptions().configFile; if (configFile === undefined) { return undefined; @@ -151122,7 +152796,7 @@ var ts; ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, ], - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixModuleAndTarget(context) { var compilerOptions = context.program.getCompilerOptions(); var configFile = compilerOptions.configFile; if (configFile === undefined) { @@ -151324,13 +152998,102 @@ var ts; if (!isValidCharacter(character)) { return; } - var replacement = useHtmlEntity ? htmlEntity[character] : "{" + ts.quote(sourceFile, preferences, character) + "}"; + var replacement = useHtmlEntity ? htmlEntity[character] : "{".concat(ts.quote(sourceFile, preferences, character), "}"); changes.replaceRangeWithText(sourceFile, { pos: start, end: start + 1 }, replacement); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var deleteUnmatchedParameter = "deleteUnmatchedParameter"; + var renameUnmatchedParameter = "renameUnmatchedParameter"; + var errorCodes = [ + ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name.code, + ]; + codefix.registerCodeFix({ + fixIds: [deleteUnmatchedParameter, renameUnmatchedParameter], + errorCodes: errorCodes, + getCodeActions: function getCodeActionsToFixUnmatchedParameter(context) { + var sourceFile = context.sourceFile, span = context.span; + var actions = []; + var info = getInfo(sourceFile, span.start); + if (info) { + ts.append(actions, getDeleteAction(context, info)); + ts.append(actions, getRenameAction(context, info)); + return actions; + } + return undefined; + }, + getAllCodeActions: function getAllCodeActionsToFixUnmatchedParameter(context) { + var tagsToSignature = new ts.Map(); + return codefix.createCombinedCodeActions(ts.textChanges.ChangeTracker.with(context, function (changes) { + codefix.eachDiagnostic(context, errorCodes, function (_a) { + var file = _a.file, start = _a.start; + var info = getInfo(file, start); + if (info) { + tagsToSignature.set(info.signature, ts.append(tagsToSignature.get(info.signature), info.jsDocParameterTag)); + } + }); + tagsToSignature.forEach(function (tags, signature) { + if (context.fixId === deleteUnmatchedParameter) { + var tagsSet_1 = new ts.Set(tags); + changes.filterJSDocTags(signature.getSourceFile(), signature, function (t) { return !tagsSet_1.has(t); }); + } + }); + })); + } + }); + function getDeleteAction(context, _a) { + var name = _a.name, signature = _a.signature, jsDocParameterTag = _a.jsDocParameterTag; + var changes = ts.textChanges.ChangeTracker.with(context, function (changeTracker) { + return changeTracker.filterJSDocTags(context.sourceFile, signature, function (t) { return t !== jsDocParameterTag; }); + }); + return codefix.createCodeFixAction(deleteUnmatchedParameter, changes, [ts.Diagnostics.Delete_unused_param_tag_0, name.getText(context.sourceFile)], deleteUnmatchedParameter, ts.Diagnostics.Delete_all_unused_param_tags); + } + function getRenameAction(context, _a) { + var name = _a.name, signature = _a.signature, jsDocParameterTag = _a.jsDocParameterTag; + if (!ts.length(signature.parameters)) + return undefined; + var sourceFile = context.sourceFile; + var tags = ts.getJSDocTags(signature); + var names = new ts.Set(); + for (var _i = 0, tags_2 = tags; _i < tags_2.length; _i++) { + var tag = tags_2[_i]; + if (ts.isJSDocParameterTag(tag) && ts.isIdentifier(tag.name)) { + names.add(tag.name.escapedText); + } + } + // @todo - match to all available names instead to the first parameter name + // @see /codeFixRenameUnmatchedParameter3.ts + var parameterName = ts.firstDefined(signature.parameters, function (p) { + return ts.isIdentifier(p.name) && !names.has(p.name.escapedText) ? p.name.getText(sourceFile) : undefined; + }); + if (parameterName === undefined) + return undefined; + var newJSDocParameterTag = ts.factory.updateJSDocParameterTag(jsDocParameterTag, jsDocParameterTag.tagName, ts.factory.createIdentifier(parameterName), jsDocParameterTag.isBracketed, jsDocParameterTag.typeExpression, jsDocParameterTag.isNameFirst, jsDocParameterTag.comment); + var changes = ts.textChanges.ChangeTracker.with(context, function (changeTracker) { + return changeTracker.replaceJSDocComment(sourceFile, signature, ts.map(tags, function (t) { return t === jsDocParameterTag ? newJSDocParameterTag : t; })); + }); + return codefix.createCodeFixActionWithoutFixAll(renameUnmatchedParameter, changes, [ts.Diagnostics.Rename_param_tag_name_0_to_1, name.getText(sourceFile), parameterName]); + } + function getInfo(sourceFile, pos) { + var token = ts.getTokenAtPosition(sourceFile, pos); + if (token.parent && ts.isJSDocParameterTag(token.parent) && ts.isIdentifier(token.parent.name)) { + var jsDocParameterTag = token.parent; + var signature = ts.getHostSignatureFromJSDoc(jsDocParameterTag); + if (signature) { + return { signature: signature, name: token.parent.name, jsDocParameterTag: jsDocParameterTag }; + } + } + return undefined; + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var codefix; (function (codefix) { @@ -151515,11 +153278,11 @@ var ts; token = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name; } if (ts.isIdentifier(token) && canPrefix(token)) { - changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_" + token.text)); + changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_".concat(token.text))); if (ts.isParameter(token.parent)) { ts.getJSDocParameterTags(token.parent).forEach(function (tag) { if (ts.isIdentifier(tag.name)) { - changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_" + tag.name.text)); + changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_".concat(tag.name.text))); } }); } @@ -151628,6 +153391,9 @@ var ts; case 172 /* SetAccessor */: // Setter must have a parameter return false; + case 171 /* GetAccessor */: + // Getter cannot have parameters + return true; default: return ts.Debug.failBadSyntaxKind(parent); } @@ -151661,6 +153427,9 @@ var ts; codefix.registerCodeFix({ errorCodes: errorCodes, getCodeActions: function (context) { + var syntacticDiagnostics = context.program.getSyntacticDiagnostics(context.sourceFile, context.cancellationToken); + if (syntacticDiagnostics.length) + return; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, context.sourceFile, context.span.start, context.span.length, context.errorCode); }); return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Remove_unreachable_code, fixId, ts.Diagnostics.Remove_all_unreachable_code)]; }, @@ -151855,7 +153624,7 @@ var ts; }); } }); function doChange(changes, sourceFile, name) { - changes.replaceNodeWithText(sourceFile, name, name.text + "()"); + changes.replaceNodeWithText(sourceFile, name, "".concat(name.text, "()")); } function getCallName(sourceFile, start) { var token = ts.getTokenAtPosition(sourceFile, start); @@ -151882,6 +153651,7 @@ var ts; var errorCodes = [ ts.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code, ts.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code, + ts.Diagnostics.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function.code ]; codefix.registerCodeFix({ errorCodes: errorCodes, @@ -151894,7 +153664,7 @@ var ts; return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Add_async_modifier_to_containing_function, fixId, ts.Diagnostics.Add_all_missing_async_modifiers)]; }, fixIds: [fixId], - getAllCodeActions: function (context) { + getAllCodeActions: function getAllCodeActionsToFixAwaitInSyncFunction(context) { var seen = new ts.Map(); return codefix.codeFixAll(context, errorCodes, function (changes, diag) { var nodes = getNodes(diag.file, diag.start); @@ -152063,7 +153833,7 @@ var ts; }); var name = declaration && ts.getNameOfDeclaration(declaration); return !name || changes.length === 0 ? undefined - : [codefix.createCodeFixAction(fixId, changes, [getDiagnostic(errorCode, token), name.getText(sourceFile)], fixId, ts.Diagnostics.Infer_all_types_from_usage)]; + : [codefix.createCodeFixAction(fixId, changes, [getDiagnostic(errorCode, token), ts.getTextOfNode(name)], fixId, ts.Diagnostics.Infer_all_types_from_usage)]; }, fixIds: [fixId], getAllCodeActions: function (context) { @@ -152132,7 +153902,7 @@ var ts; if (typeNode) { // Note that the codefix will never fire with an existing `@type` tag, so there is no need to merge tags var typeTag = ts.factory.createJSDocTypeTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode), /*comment*/ undefined); - addJSDocTags(changes, sourceFile, ts.cast(parent.parent.parent, ts.isExpressionStatement), [typeTag]); + changes.addJSDocTags(sourceFile, ts.cast(parent.parent.parent, ts.isExpressionStatement), [typeTag]); } importAdder.writeFixes(changes); return parent; @@ -152141,7 +153911,7 @@ var ts; case ts.Diagnostics.Variable_0_implicitly_has_an_1_type.code: { var symbol = program.getTypeChecker().getSymbolAtLocation(token); if (symbol && symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && markSeen(symbol.valueDeclaration)) { - annotateVariableDeclaration(changes, importAdder, sourceFile, symbol.valueDeclaration, program, host, cancellationToken); + annotateVariableDeclaration(changes, importAdder, ts.getSourceFileOfNode(symbol.valueDeclaration), symbol.valueDeclaration, program, host, cancellationToken); importAdder.writeFixes(changes); return symbol.valueDeclaration; } @@ -152243,7 +154013,7 @@ var ts; } } function annotateJSDocThis(changes, sourceFile, containingFunction, typeNode) { - addJSDocTags(changes, sourceFile, containingFunction, [ + changes.addJSDocTags(sourceFile, containingFunction, [ ts.factory.createJSDocThisTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(typeNode)), ]); } @@ -152272,7 +154042,7 @@ var ts; } var typeExpression = ts.factory.createJSDocTypeExpression(typeNode); var typeTag = ts.isGetAccessorDeclaration(declaration) ? ts.factory.createJSDocReturnTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined) : ts.factory.createJSDocTypeTag(/*tagName*/ undefined, typeExpression, /*comment*/ undefined); - addJSDocTags(changes, sourceFile, parent, [typeTag]); + changes.addJSDocTags(sourceFile, parent, [typeTag]); } else if (!tryReplaceImportTypeNodeWithAutoImport(typeNode, declaration, sourceFile, changes, importAdder, ts.getEmitScriptTarget(program.getCompilerOptions()))) { changes.tryInsertTypeAnnotation(sourceFile, declaration, typeNode); @@ -152328,45 +154098,7 @@ var ts; var name = _a.name, typeNode = _a.typeNode, isOptional = _a.isOptional; return ts.factory.createJSDocParameterTag(/*tagName*/ undefined, name, /*isBracketed*/ !!isOptional, ts.factory.createJSDocTypeExpression(typeNode), /* isNameFirst */ false, /*comment*/ undefined); }); - addJSDocTags(changes, sourceFile, signature, paramTags); - } - } - function addJSDocTags(changes, sourceFile, parent, newTags) { - var comments = ts.flatMap(parent.jsDoc, function (j) { return typeof j.comment === "string" ? ts.factory.createJSDocText(j.comment) : j.comment; }); - var oldTags = ts.flatMapToMutable(parent.jsDoc, function (j) { return j.tags; }); - var unmergedNewTags = newTags.filter(function (newTag) { return !oldTags || !oldTags.some(function (tag, i) { - var merged = tryMergeJsdocTags(tag, newTag); - if (merged) - oldTags[i] = merged; - return !!merged; - }); }); - var tag = ts.factory.createJSDocComment(ts.factory.createNodeArray(ts.intersperse(comments, ts.factory.createJSDocText("\n"))), ts.factory.createNodeArray(__spreadArray(__spreadArray([], (oldTags || ts.emptyArray), true), unmergedNewTags, true))); - var jsDocNode = parent.kind === 213 /* ArrowFunction */ ? getJsDocNodeForArrowFunction(parent) : parent; - jsDocNode.jsDoc = parent.jsDoc; - jsDocNode.jsDocCache = parent.jsDocCache; - changes.insertJsdocCommentBefore(sourceFile, jsDocNode, tag); - } - codefix.addJSDocTags = addJSDocTags; - function getJsDocNodeForArrowFunction(signature) { - if (signature.parent.kind === 166 /* PropertyDeclaration */) { - return signature.parent; - } - return signature.parent.parent; - } - function tryMergeJsdocTags(oldTag, newTag) { - if (oldTag.kind !== newTag.kind) { - return undefined; - } - switch (oldTag.kind) { - case 338 /* JSDocParameterTag */: { - var oldParam = oldTag; - var newParam = newTag; - return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText - ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment) - : undefined; - } - case 339 /* JSDocReturnTag */: - return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); + changes.addJSDocTags(sourceFile, signature, paramTags); } } function getReferences(token, program, cancellationToken) { @@ -152878,10 +154610,22 @@ var ts; if (usage.numberIndex) { types.push(checker.createArrayType(combineFromUsage(usage.numberIndex))); } - if (((_a = usage.properties) === null || _a === void 0 ? void 0 : _a.size) || ((_b = usage.calls) === null || _b === void 0 ? void 0 : _b.length) || ((_c = usage.constructs) === null || _c === void 0 ? void 0 : _c.length) || usage.stringIndex) { + if (((_a = usage.properties) === null || _a === void 0 ? void 0 : _a.size) || ((_b = usage.constructs) === null || _b === void 0 ? void 0 : _b.length) || usage.stringIndex) { types.push(inferStructuralType(usage)); } - types.push.apply(types, (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); })); + var candidateTypes = (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); }); + var callsType = ((_c = usage.calls) === null || _c === void 0 ? void 0 : _c.length) ? inferStructuralType(usage) : undefined; + if (callsType && candidateTypes) { + types.push(checker.getUnionType(__spreadArray([callsType], candidateTypes, true), 2 /* Subtype */)); + } + else { + if (callsType) { + types.push(callsType); + } + if (ts.length(candidateTypes)) { + types.push.apply(types, candidateTypes); + } + } types.push.apply(types, inferNamedTypesFromProperties(usage)); return types; } @@ -153004,7 +154748,7 @@ var ts; var parameters = []; var length = Math.max.apply(Math, calls.map(function (c) { return c.argumentTypes.length; })); var _loop_16 = function (i) { - var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg" + i)); + var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg".concat(i))); symbol.type = combineTypes(calls.map(function (call) { return call.argumentTypes[i] || checker.getUndefinedType(); })); if (calls.some(function (call) { return call.argumentTypes[i] === undefined; })) { symbol.flags |= 16777216 /* Optional */; @@ -153042,7 +154786,7 @@ var ts; codefix.registerCodeFix({ errorCodes: errorCodes, fixIds: [fixId], - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToFixReturnTypeInAsyncFunction(context) { var sourceFile = context.sourceFile, program = context.program, span = context.span; var checker = program.getTypeChecker(); var info = getInfo(sourceFile, program.getTypeChecker(), span.start); @@ -153096,7 +154840,7 @@ var ts; }); codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToDisableJsDiagnostics(context) { var sourceFile = context.sourceFile, program = context.program, span = context.span, host = context.host, formatContext = context.formatContext; if (!ts.isInJSFile(sourceFile) || !ts.isCheckJsEnabledForFile(sourceFile, program.getCompilerOptions())) { return undefined; @@ -153107,7 +154851,7 @@ var ts; codefix.createCodeFixActionWithoutFixAll(fixName, [codefix.createFileTextChanges(sourceFile.fileName, [ ts.createTextChange(sourceFile.checkJsDirective ? ts.createTextSpanFromBounds(sourceFile.checkJsDirective.pos, sourceFile.checkJsDirective.end) - : ts.createTextSpan(0, 0), "// @ts-nocheck" + newLineCharacter), + : ts.createTextSpan(0, 0), "// @ts-nocheck".concat(newLineCharacter)), ])], ts.Diagnostics.Disable_checking_for_this_file), ]; if (ts.textChanges.isValidLocationToAddComment(sourceFile, span.start)) { @@ -153373,7 +155117,7 @@ var ts; var typeParameters = isJs || typeArguments === undefined ? undefined : ts.map(typeArguments, function (_, i) { - return ts.factory.createTypeParameterDeclaration(84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T" + i); + return ts.factory.createTypeParameterDeclaration(84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T".concat(i)); }); var parameters = createDummyParameters(args.length, names, types, /*minArgumentCount*/ undefined, isJs); var type = isJs || contextualType === undefined @@ -153408,7 +155152,7 @@ var ts; /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, - /*name*/ names && names[i] || "arg" + i, + /*name*/ names && names[i] || "arg".concat(i), /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined, /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */), /*initializer*/ undefined); @@ -153659,7 +155403,7 @@ var ts; } var name = declaration.name.text; var startWithUnderscore = ts.startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_".concat(name), file), declaration.name); var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), @@ -153865,36 +155609,35 @@ var ts; var errorCodes = [ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { - var propertyDeclaration = getPropertyDeclaration(context.sourceFile, context.span.start); - if (!propertyDeclaration) + getCodeActions: function getCodeActionsForStrictClassInitializationErrors(context) { + var info = getInfo(context.sourceFile, context.span.start); + if (!info) return; - var result = [ - getActionForAddMissingUndefinedType(context, propertyDeclaration), - getActionForAddMissingDefiniteAssignmentAssertion(context, propertyDeclaration) - ]; - ts.append(result, getActionForAddMissingInitializer(context, propertyDeclaration)); + var result = []; + ts.append(result, getActionForAddMissingUndefinedType(context, info)); + ts.append(result, getActionForAddMissingDefiniteAssignmentAssertion(context, info)); + ts.append(result, getActionForAddMissingInitializer(context, info)); return result; }, fixIds: [fixIdAddDefiniteAssignmentAssertions, fixIdAddUndefinedType, fixIdAddInitializer], getAllCodeActions: function (context) { return codefix.codeFixAll(context, errorCodes, function (changes, diag) { - var propertyDeclaration = getPropertyDeclaration(diag.file, diag.start); - if (!propertyDeclaration) + var info = getInfo(diag.file, diag.start); + if (!info) return; switch (context.fixId) { case fixIdAddDefiniteAssignmentAssertions: - addDefiniteAssignmentAssertion(changes, diag.file, propertyDeclaration); + addDefiniteAssignmentAssertion(changes, diag.file, info.prop); break; case fixIdAddUndefinedType: - addUndefinedType(changes, diag.file, propertyDeclaration); + addUndefinedType(changes, diag.file, info); break; case fixIdAddInitializer: var checker = context.program.getTypeChecker(); - var initializer = getInitializer(checker, propertyDeclaration); + var initializer = getInitializer(checker, info.prop); if (!initializer) return; - addInitializer(changes, diag.file, propertyDeclaration, initializer); + addInitializer(changes, diag.file, info.prop, initializer); break; default: ts.Debug.fail(JSON.stringify(context.fixId)); @@ -153902,35 +155645,50 @@ var ts; }); }, }); - function getPropertyDeclaration(sourceFile, pos) { + function getInfo(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - return ts.isIdentifier(token) ? ts.cast(token.parent, ts.isPropertyDeclaration) : undefined; + if (ts.isIdentifier(token) && ts.isPropertyDeclaration(token.parent)) { + var type = ts.getEffectiveTypeAnnotationNode(token.parent); + if (type) { + return { type: type, prop: token.parent, isJs: ts.isInJSFile(token.parent) }; + } + } + return undefined; } - function getActionForAddMissingDefiniteAssignmentAssertion(context, propertyDeclaration) { - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addDefiniteAssignmentAssertion(t, context.sourceFile, propertyDeclaration); }); - return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_definite_assignment_assertion_to_property_0, propertyDeclaration.getText()], fixIdAddDefiniteAssignmentAssertions, ts.Diagnostics.Add_definite_assignment_assertions_to_all_uninitialized_properties); + function getActionForAddMissingDefiniteAssignmentAssertion(context, info) { + if (info.isJs) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addDefiniteAssignmentAssertion(t, context.sourceFile, info.prop); }); + return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_definite_assignment_assertion_to_property_0, info.prop.getText()], fixIdAddDefiniteAssignmentAssertions, ts.Diagnostics.Add_definite_assignment_assertions_to_all_uninitialized_properties); } function addDefiniteAssignmentAssertion(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, ts.factory.createToken(53 /* ExclamationToken */), propertyDeclaration.type, propertyDeclaration.initializer); changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } - function getActionForAddMissingUndefinedType(context, propertyDeclaration) { - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addUndefinedType(t, context.sourceFile, propertyDeclaration); }); - return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_undefined_type_to_property_0, propertyDeclaration.name.getText()], fixIdAddUndefinedType, ts.Diagnostics.Add_undefined_type_to_all_uninitialized_properties); + function getActionForAddMissingUndefinedType(context, info) { + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addUndefinedType(t, context.sourceFile, info); }); + return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_undefined_type_to_property_0, info.prop.name.getText()], fixIdAddUndefinedType, ts.Diagnostics.Add_undefined_type_to_all_uninitialized_properties); } - function addUndefinedType(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { + function addUndefinedType(changeTracker, sourceFile, info) { var undefinedTypeNode = ts.factory.createKeywordTypeNode(152 /* UndefinedKeyword */); - var type = propertyDeclaration.type; // TODO: GH#18217 - var types = ts.isUnionTypeNode(type) ? type.types.concat(undefinedTypeNode) : [type, undefinedTypeNode]; - changeTracker.replaceNode(propertyDeclarationSourceFile, type, ts.factory.createUnionTypeNode(types)); + var types = ts.isUnionTypeNode(info.type) ? info.type.types.concat(undefinedTypeNode) : [info.type, undefinedTypeNode]; + var unionTypeNode = ts.factory.createUnionTypeNode(types); + if (info.isJs) { + changeTracker.addJSDocTags(sourceFile, info.prop, [ts.factory.createJSDocTypeTag(/*tagName*/ undefined, ts.factory.createJSDocTypeExpression(unionTypeNode))]); + } + else { + changeTracker.replaceNode(sourceFile, info.type, unionTypeNode); + } } - function getActionForAddMissingInitializer(context, propertyDeclaration) { + function getActionForAddMissingInitializer(context, info) { + if (info.isJs) + return undefined; var checker = context.program.getTypeChecker(); - var initializer = getInitializer(checker, propertyDeclaration); + var initializer = getInitializer(checker, info.prop); if (!initializer) return undefined; - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addInitializer(t, context.sourceFile, propertyDeclaration, initializer); }); - return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_initializer_to_property_0, propertyDeclaration.name.getText()], fixIdAddInitializer, ts.Diagnostics.Add_initializers_to_all_uninitialized_properties); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addInitializer(t, context.sourceFile, info.prop, initializer); }); + return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_initializer_to_property_0, info.prop.name.getText()], fixIdAddInitializer, ts.Diagnostics.Add_initializers_to_all_uninitialized_properties); } function addInitializer(changeTracker, propertyDeclarationSourceFile, propertyDeclaration, initializer) { var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, propertyDeclaration.questionToken, propertyDeclaration.type, initializer); @@ -154088,7 +155846,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToUseBigintLiteral(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span); }); if (changes.length > 0) { return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_to_a_bigint_numeric_literal, fixId, ts.Diagnostics.Convert_all_to_bigint_numeric_literals)]; @@ -154120,7 +155878,7 @@ var ts; var errorCodes = [ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToAddMissingTypeof(context) { var sourceFile = context.sourceFile, span = context.span; var importType = getImportTypeNode(sourceFile, span.start); var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, importType); }); @@ -154152,7 +155910,7 @@ var ts; var errorCodes = [ts.Diagnostics.JSX_expressions_must_have_one_parent_element.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToWrapJsxInFragment(context) { var sourceFile = context.sourceFile, span = context.span; var node = findNodeToFix(sourceFile, span.start); if (!node) @@ -154224,12 +155982,11 @@ var ts; (function (ts) { var codefix; (function (codefix) { - var fixIdAddMissingTypeof = "fixConvertToMappedObjectType"; - var fixId = fixIdAddMissingTypeof; + var fixId = "fixConvertToMappedObjectType"; var errorCodes = [ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToConvertToMappedTypeObject(context) { var sourceFile = context.sourceFile, span = context.span; var info = getInfo(sourceFile, span.start); if (!info) @@ -154247,10 +156004,12 @@ var ts; }); function getInfo(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - var indexSignature = ts.cast(token.parent.parent, ts.isIndexSignatureDeclaration); - if (ts.isClassDeclaration(indexSignature.parent)) + var indexSignature = ts.tryCast(token.parent.parent, ts.isIndexSignatureDeclaration); + if (!indexSignature) + return undefined; + var container = ts.isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : ts.tryCast(indexSignature.parent.parent, ts.isTypeAliasDeclaration); + if (!container) return undefined; - var container = ts.isInterfaceDeclaration(indexSignature.parent) ? indexSignature.parent : ts.cast(indexSignature.parent.parent, ts.isTypeAliasDeclaration); return { indexSignature: indexSignature, container: container }; } function createTypeAliasFromInterface(declaration, type) { @@ -154308,7 +156067,7 @@ var ts; ]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToRemoveUnnecessaryAwait(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return makeChange(t, context.sourceFile, context.span); }); if (changes.length > 0) { return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Remove_unnecessary_await, fixId, ts.Diagnostics.Remove_all_unnecessary_uses_of_await)]; @@ -154350,7 +156109,7 @@ var ts; codefix.registerCodeFix({ errorCodes: errorCodes, fixIds: [fixId], - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToSplitTypeOnlyImport(context) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return splitTypeOnlyImport(t, getImportDeclaration(context.sourceFile, context.span), context); }); @@ -154386,7 +156145,7 @@ var ts; var errorCodes = [ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code]; codefix.registerCodeFix({ errorCodes: errorCodes, - getCodeActions: function (context) { + getCodeActions: function getCodeActionsToConvertConstToLet(context) { var sourceFile = context.sourceFile, span = context.span, program = context.program; var range = getConstTokenRange(sourceFile, span.start, program); if (range === undefined) @@ -154557,7 +156316,7 @@ var ts; defaultToNamedAction.kind, namedToDefaultAction.kind ], - getAvailableActions: function (context) { + getAvailableActions: function getRefactorActionsToConvertBetweenNamedAndDefaultExports(context) { var info = getInfo(context, context.triggerReason === "invoked"); if (!info) return ts.emptyArray; @@ -154575,7 +156334,7 @@ var ts; } return ts.emptyArray; }, - getEditsForAction: function (context, actionName) { + getEditsForAction: function getRefactorEditsToConvertBetweenNamedAndDefaultExports(context, actionName) { ts.Debug.assert(actionName === defaultToNamedAction.name || actionName === namedToDefaultAction.name, "Unexpected action name"); var info = getInfo(context); ts.Debug.assert(info && !refactor.isRefactorErrorInfo(info), "Expected applicable refactor info"); @@ -154683,7 +156442,7 @@ var ts; changes.insertNodeAfter(exportingSourceFile, exportNode, ts.factory.createExportDefault(ts.factory.createIdentifier(exportName.text))); break; default: - ts.Debug.fail("Unexpected exportNode kind " + exportNode.kind); + ts.Debug.fail("Unexpected exportNode kind ".concat(exportNode.kind)); } } } @@ -154771,7 +156530,7 @@ var ts; break; } default: - ts.Debug.assertNever(parent, "Unexpected parent kind " + parent.kind); + ts.Debug.assertNever(parent, "Unexpected parent kind ".concat(parent.kind)); } } function makeImportSpecifier(propertyName, name) { @@ -154787,51 +156546,53 @@ var ts; (function (ts) { var refactor; (function (refactor) { + var _a; var refactorName = "Convert import"; - var namespaceToNamedAction = { - name: "Convert namespace import to named imports", - description: ts.Diagnostics.Convert_namespace_import_to_named_imports.message, - kind: "refactor.rewrite.import.named", - }; - var namedToNamespaceAction = { - name: "Convert named imports to namespace import", - description: ts.Diagnostics.Convert_named_imports_to_namespace_import.message, - kind: "refactor.rewrite.import.namespace", - }; + var actions = (_a = {}, + _a[0 /* Named */] = { + name: "Convert namespace import to named imports", + description: ts.Diagnostics.Convert_namespace_import_to_named_imports.message, + kind: "refactor.rewrite.import.named", + }, + _a[2 /* Namespace */] = { + name: "Convert named imports to namespace import", + description: ts.Diagnostics.Convert_named_imports_to_namespace_import.message, + kind: "refactor.rewrite.import.namespace", + }, + _a[1 /* Default */] = { + name: "Convert named imports to default import", + description: ts.Diagnostics.Convert_named_imports_to_default_import.message, + kind: "refactor.rewrite.import.default", + }, + _a); refactor.registerRefactor(refactorName, { - kinds: [ - namespaceToNamedAction.kind, - namedToNamespaceAction.kind - ], - getAvailableActions: function (context) { - var info = getImportToConvert(context, context.triggerReason === "invoked"); + kinds: ts.getOwnValues(actions).map(function (a) { return a.kind; }), + getAvailableActions: function getRefactorActionsToConvertBetweenNamedAndNamespacedImports(context) { + var info = getImportConversionInfo(context, context.triggerReason === "invoked"); if (!info) return ts.emptyArray; if (!refactor.isRefactorErrorInfo(info)) { - var namespaceImport = info.kind === 267 /* NamespaceImport */; - var action = namespaceImport ? namespaceToNamedAction : namedToNamespaceAction; + var action = actions[info.convertTo]; return [{ name: refactorName, description: action.description, actions: [action] }]; } if (context.preferences.provideRefactorNotApplicableReason) { - return [ - { name: refactorName, description: namespaceToNamedAction.description, - actions: [__assign(__assign({}, namespaceToNamedAction), { notApplicableReason: info.error })] }, - { name: refactorName, description: namedToNamespaceAction.description, - actions: [__assign(__assign({}, namedToNamespaceAction), { notApplicableReason: info.error })] } - ]; + return ts.getOwnValues(actions).map(function (action) { return ({ + name: refactorName, + description: action.description, + actions: [__assign(__assign({}, action), { notApplicableReason: info.error })] + }); }); } return ts.emptyArray; }, - getEditsForAction: function (context, actionName) { - ts.Debug.assert(actionName === namespaceToNamedAction.name || actionName === namedToNamespaceAction.name, "Unexpected action name"); - var info = getImportToConvert(context); + getEditsForAction: function getRefactorEditsToConvertBetweenNamedAndNamespacedImports(context, actionName) { + ts.Debug.assert(ts.some(ts.getOwnValues(actions), function (action) { return action.name === actionName; }), "Unexpected action name"); + var info = getImportConversionInfo(context); ts.Debug.assert(info && !refactor.isRefactorErrorInfo(info), "Expected applicable refactor info"); var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, t, info); }); return { edits: edits, renameFilename: undefined, renameLocation: undefined }; } }); - // Can convert imports of the form `import * as m from "m";` or `import d, { x, y } from "m";`. - function getImportToConvert(context, considerPartialSpans) { + function getImportConversionInfo(context, considerPartialSpans) { if (considerPartialSpans === void 0) { considerPartialSpans = true; } var file = context.file; var span = ts.getRefactorContextSpan(context); @@ -154850,15 +156611,23 @@ var ts; if (!importClause.namedBindings) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_namespace_import_or_named_imports) }; } - return importClause.namedBindings; + if (importClause.namedBindings.kind === 267 /* NamespaceImport */) { + return { convertTo: 0 /* Named */, import: importClause.namedBindings }; + } + var compilerOptions = context.program.getCompilerOptions(); + var shouldUseDefault = ts.getAllowSyntheticDefaultImports(compilerOptions) + && isExportEqualsModule(importClause.parent.moduleSpecifier, context.program.getTypeChecker()); + return shouldUseDefault + ? { convertTo: 1 /* Default */, import: importClause.namedBindings } + : { convertTo: 2 /* Namespace */, import: importClause.namedBindings }; } - function doChange(sourceFile, program, changes, toConvert) { + function doChange(sourceFile, program, changes, info) { var checker = program.getTypeChecker(); - if (toConvert.kind === 267 /* NamespaceImport */) { - doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); + if (info.convertTo === 0 /* Named */) { + doChangeNamespaceToNamed(sourceFile, checker, changes, info.import, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); } else { - doChangeNamedToNamespace(sourceFile, checker, changes, toConvert); + doChangeNamedToNamespaceOrDefault(sourceFile, checker, changes, info.import, info.convertTo === 1 /* Default */); } } function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { @@ -154908,7 +156677,7 @@ var ts; function getLeftOfPropertyAccessOrQualifiedName(propertyAccessOrQualifiedName) { return ts.isPropertyAccessExpression(propertyAccessOrQualifiedName) ? propertyAccessOrQualifiedName.expression : propertyAccessOrQualifiedName.left; } - function doChangeNamedToNamespace(sourceFile, checker, changes, toConvert) { + function doChangeNamedToNamespaceOrDefault(sourceFile, checker, changes, toConvert, shouldUseDefault) { var importDecl = toConvert.parent.parent; var moduleSpecifier = importDecl.moduleSpecifier; var toConvertSymbols = new ts.Set(); @@ -154959,7 +156728,9 @@ var ts; var element = _a[_i]; _loop_17(element); } - changes.replaceNode(sourceFile, toConvert, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceImportName))); + changes.replaceNode(sourceFile, toConvert, shouldUseDefault + ? ts.factory.createIdentifier(namespaceImportName) + : ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceImportName))); if (neededNamedImports.size) { var newNamedImports = ts.arrayFrom(neededNamedImports.values()).map(function (element) { return ts.factory.createImportSpecifier(element.isTypeOnly, element.propertyName && ts.factory.createIdentifier(element.propertyName.text), ts.factory.createIdentifier(element.name.text)); @@ -154967,6 +156738,13 @@ var ts; changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(importDecl, /*defaultImportName*/ undefined, newNamedImports)); } } + function isExportEqualsModule(moduleSpecifier, checker) { + var externalModule = checker.resolveExternalModuleName(moduleSpecifier); + if (!externalModule) + return false; + var exportEquals = checker.resolveExternalModuleSymbol(externalModule); + return externalModule !== exportEquals; + } function updateImport(old, defaultImportName, elements) { return ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, elements && elements.length ? ts.factory.createNamedImports(elements) : undefined), old.moduleSpecifier, /*assertClause*/ undefined); } @@ -154988,10 +156766,10 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [toOptionalChainAction.kind], - getAvailableActions: getAvailableActions, - getEditsForAction: getEditsForAction + getEditsForAction: getRefactorEditsToConvertToOptionalChain, + getAvailableActions: getRefactorActionsToConvertToOptionalChain, }); - function getAvailableActions(context) { + function getRefactorActionsToConvertToOptionalChain(context) { var info = getInfo(context, context.triggerReason === "invoked"); if (!info) return ts.emptyArray; @@ -155011,7 +156789,7 @@ var ts; } return ts.emptyArray; } - function getEditsForAction(context, actionName) { + function getRefactorEditsToConvertToOptionalChain(context, actionName) { var info = getInfo(context); ts.Debug.assert(info && !refactor.isRefactorErrorInfo(info), "Expected applicable refactor info"); var edits = ts.textChanges.ChangeTracker.with(context, function (t) { @@ -155254,10 +157032,10 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [functionOverloadAction.kind], - getEditsForAction: getEditsForAction, - getAvailableActions: getAvailableActions + getEditsForAction: getRefactorEditsToConvertOverloadsToOneSignature, + getAvailableActions: getRefactorActionsToConvertOverloadsToOneSignature }); - function getAvailableActions(context) { + function getRefactorActionsToConvertOverloadsToOneSignature(context) { var file = context.file, startPosition = context.startPosition, program = context.program; var info = getConvertableOverloadListAtPosition(file, startPosition, program); if (!info) @@ -155268,7 +157046,7 @@ var ts; actions: [functionOverloadAction] }]; } - function getEditsForAction(context) { + function getRefactorEditsToConvertOverloadsToOneSignature(context) { var file = context.file, startPosition = context.startPosition, program = context.program; var signatureDecls = getConvertableOverloadListAtPosition(file, startPosition, program); if (!signatureDecls) @@ -155335,7 +157113,7 @@ var ts; var newComment = ts.displayPartsToString(parameterDocComment); if (newComment.length) { ts.setSyntheticLeadingComments(result, [{ - text: "*\n" + newComment.split("\n").map(function (c) { return " * " + c; }).join("\n") + "\n ", + text: "*\n".concat(newComment.split("\n").map(function (c) { return " * ".concat(c); }).join("\n"), "\n "), kind: 3 /* MultiLineCommentTrivia */, pos: -1, end: -1, @@ -155424,14 +157202,14 @@ var ts; extractConstantAction.kind, extractFunctionAction.kind ], - getAvailableActions: getAvailableActions, - getEditsForAction: getEditsForAction + getEditsForAction: getRefactorEditsToExtractSymbol, + getAvailableActions: getRefactorActionsToExtractSymbol, }); /** * Compute the associated code actions * Exported for tests. */ - function getAvailableActions(context) { + function getRefactorActionsToExtractSymbol(context) { var requestedRefactor = context.kind; var rangeToExtract = getRangeToExtract(context.file, ts.getRefactorContextSpan(context), context.triggerReason === "invoked"); var targetRange = rangeToExtract.targetRange; @@ -155480,7 +157258,7 @@ var ts; usedFunctionNames.set(description, true); functionActions.push({ description: description, - name: "function_scope_" + i, + name: "function_scope_".concat(i), kind: extractFunctionAction.kind }); } @@ -155488,7 +157266,7 @@ var ts; else if (!innermostErrorFunctionAction) { innermostErrorFunctionAction = { description: description, - name: "function_scope_" + i, + name: "function_scope_".concat(i), notApplicableReason: getStringError(functionExtraction.errors), kind: extractFunctionAction.kind }; @@ -155504,7 +157282,7 @@ var ts; usedConstantNames.set(description_1, true); constantActions.push({ description: description_1, - name: "constant_scope_" + i, + name: "constant_scope_".concat(i), kind: extractConstantAction.kind }); } @@ -155512,7 +157290,7 @@ var ts; else if (!innermostErrorConstantAction) { innermostErrorConstantAction = { description: description, - name: "constant_scope_" + i, + name: "constant_scope_".concat(i), notApplicableReason: getStringError(constantExtraction.errors), kind: extractConstantAction.kind }; @@ -155560,9 +157338,9 @@ var ts; return error; } } - extractSymbol.getAvailableActions = getAvailableActions; + extractSymbol.getRefactorActionsToExtractSymbol = getRefactorActionsToExtractSymbol; /* Exported for tests */ - function getEditsForAction(context, actionName) { + function getRefactorEditsToExtractSymbol(context, actionName) { var rangeToExtract = getRangeToExtract(context.file, ts.getRefactorContextSpan(context)); var targetRange = rangeToExtract.targetRange; // TODO:GH#18217 var parsedFunctionIndexMatch = /^function_scope_(\d+)$/.exec(actionName); @@ -155579,7 +157357,7 @@ var ts; } ts.Debug.fail("Unrecognized action name"); } - extractSymbol.getEditsForAction = getEditsForAction; + extractSymbol.getRefactorEditsToExtractSymbol = getRefactorEditsToExtractSymbol; // Move these into diagnostic messages if they become user-facing var Messages; (function (Messages) { @@ -155654,7 +157432,7 @@ var ts; // cannot find either start or end node return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } - if (ts.isJSDoc(start)) { + if (start.flags & 4194304 /* JSDoc */) { return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractJSDoc)] }; } if (start.parent !== end.parent) { @@ -155667,8 +157445,7 @@ var ts; return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } var statements = []; - var start2 = start; // TODO: GH#18217 Need to alias `start` to get this to compile. See https://github.com/Microsoft/TypeScript/issues/19955#issuecomment-344118248 - for (var _i = 0, _a = start2.parent.statements; _i < _a.length; _i++) { + for (var _i = 0, _a = start.parent.statements; _i < _a.length; _i++) { var statement = _a[_i]; if (statement === start || statements.length) { var errors_1 = checkNode(statement); @@ -155712,11 +157489,12 @@ var ts; return node.expression; } } - else if (ts.isVariableStatement(node)) { + else if (ts.isVariableStatement(node) || ts.isVariableDeclarationList(node)) { + var declarations_5 = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations; var numInitializers = 0; var lastInitializer = void 0; - for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { - var declaration = _a[_i]; + for (var _i = 0, declarations_4 = declarations_5; _i < declarations_4.length; _i++) { + var declaration = declarations_4[_i]; if (declaration.initializer) { numInitializers++; lastInitializer = declaration.initializer; @@ -155822,8 +157600,8 @@ var ts; // but a super *method call* simply implies a 'this' reference if (node.parent.kind === 207 /* CallExpression */) { // Super constructor call - var containingClass_1 = ts.getContainingClass(node); // TODO:GH#18217 - if (containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { + var containingClass_1 = ts.getContainingClass(node); + if (containingClass_1 === undefined || containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractSuper)); return true; } @@ -156096,28 +157874,28 @@ var ts; case 212 /* FunctionExpression */: case 255 /* FunctionDeclaration */: return scope.name - ? "function '" + scope.name.text + "'" + ? "function '".concat(scope.name.text, "'") : ts.ANONYMOUS; case 213 /* ArrowFunction */: return "arrow function"; case 168 /* MethodDeclaration */: - return "method '" + scope.name.getText() + "'"; + return "method '".concat(scope.name.getText(), "'"); case 171 /* GetAccessor */: - return "'get " + scope.name.getText() + "'"; + return "'get ".concat(scope.name.getText(), "'"); case 172 /* SetAccessor */: - return "'set " + scope.name.getText() + "'"; + return "'set ".concat(scope.name.getText(), "'"); default: - throw ts.Debug.assertNever(scope, "Unexpected scope kind " + scope.kind); + throw ts.Debug.assertNever(scope, "Unexpected scope kind ".concat(scope.kind)); } } function getDescriptionForClassLikeDeclaration(scope) { return scope.kind === 256 /* ClassDeclaration */ - ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" - : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; + ? scope.name ? "class '".concat(scope.name.text, "'") : "anonymous class declaration" + : scope.name ? "class expression '".concat(scope.name.text, "'") : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { return scope.kind === 261 /* ModuleBlock */ - ? "namespace '" + scope.parent.name.getText() + "'" + ? "namespace '".concat(scope.parent.name.getText(), "'") : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */; } var SpecialScope; @@ -157130,7 +158908,7 @@ var ts; extractToInterfaceAction.kind, extractToTypeDefAction.kind ], - getAvailableActions: function (context) { + getAvailableActions: function getRefactorActionsToExtractType(context) { var info = getRangeToExtract(context, context.triggerReason === "invoked"); if (!info) return ts.emptyArray; @@ -157155,7 +158933,7 @@ var ts; } return ts.emptyArray; }, - getEditsForAction: function (context, actionName) { + getEditsForAction: function getRefactorEditsToExtractType(context, actionName) { var file = context.file; var info = getRangeToExtract(context); ts.Debug.assert(info && !refactor.isRefactorErrorInfo(info), "Expected to find a range to extract"); @@ -157232,11 +159010,20 @@ var ts; function visitor(node) { if (ts.isTypeReferenceNode(node)) { if (ts.isIdentifier(node.typeName)) { - var symbol = checker.resolveName(node.typeName.text, node.typeName, 262144 /* TypeParameter */, /* excludeGlobals */ true); - if (symbol === null || symbol === void 0 ? void 0 : symbol.declarations) { - var declaration = ts.cast(ts.first(symbol.declarations), ts.isTypeParameterDeclaration); - if (rangeContainsSkipTrivia(statement, declaration, file) && !rangeContainsSkipTrivia(selection, declaration, file)) { - ts.pushIfUnique(result, declaration); + var typeName = node.typeName; + var symbol = checker.resolveName(typeName.text, typeName, 262144 /* TypeParameter */, /* excludeGlobals */ true); + for (var _i = 0, _a = (symbol === null || symbol === void 0 ? void 0 : symbol.declarations) || ts.emptyArray; _i < _a.length; _i++) { + var decl = _a[_i]; + if (ts.isTypeParameterDeclaration(decl) && decl.getSourceFile() === file) { + // skip extraction if the type node is in the range of the type parameter declaration. + // function foo(): void; + if (decl.name.escapedText === typeName.escapedText && rangeContainsSkipTrivia(decl, selection, file)) { + return true; + } + if (rangeContainsSkipTrivia(statement, decl, file) && !rangeContainsSkipTrivia(selection, decl, file)) { + ts.pushIfUnique(result, decl); + break; + } } } } @@ -157322,7 +159109,7 @@ var ts; }; refactor.registerRefactor(actionName, { kinds: [generateGetSetAction.kind], - getEditsForAction: function (context, actionName) { + getEditsForAction: function getRefactorActionsToGenerateGetAndSetAccessors(context, actionName) { if (!context.endPosition) return undefined; var info = ts.codefix.getAccessorConvertiblePropertyAtPosition(context.file, context.program, context.startPosition, context.endPosition); @@ -157401,7 +159188,7 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [moveToNewFileAction.kind], - getAvailableActions: function (context) { + getAvailableActions: function getRefactorActionsToMoveToNewFile(context) { var statements = getStatementsToMove(context); if (context.preferences.allowTextChangesInNewFiles && statements) { return [{ name: refactorName, description: description, actions: [moveToNewFileAction] }]; @@ -157412,7 +159199,7 @@ var ts; } return ts.emptyArray; }, - getEditsForAction: function (context, actionName) { + getEditsForAction: function getRefactorEditsToMoveToNewFile(context, actionName) { ts.Debug.assert(actionName === refactorName, "Wrong refactor invoked"); var statements = ts.Debug.checkDefined(getStatementsToMove(context)); var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, context.program, statements, t, context.host, context.preferences); }); @@ -157584,7 +159371,7 @@ var ts; case 253 /* VariableDeclaration */: return ts.tryCast(node.name, ts.isIdentifier); default: - return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind); + return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); } } function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { @@ -157621,7 +159408,7 @@ var ts; case 253 /* VariableDeclaration */: return ts.factory.createVariableDeclaration(newNamespaceId, /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(newModuleString)); default: - return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind); + return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); } } function moduleSpecifierFromImport(i) { @@ -157708,7 +159495,7 @@ var ts; deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: - ts.Debug.assertNever(importDecl, "Unexpected import decl kind " + importDecl.kind); + ts.Debug.assertNever(importDecl, "Unexpected import decl kind ".concat(importDecl.kind)); } } function deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused) { @@ -157808,7 +159595,7 @@ var ts; var name = ts.combinePaths(inDirectory, newModuleName + extension); if (!host.fileExists(name)) return newModuleName; // TODO: GH#18217 - newModuleName = moduleName + "." + i; + newModuleName = "".concat(moduleName, ".").concat(i); } } function getNewModuleName(movedSymbols) { @@ -157915,7 +159702,7 @@ var ts; return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } default: - return ts.Debug.assertNever(i, "Unexpected import kind " + i.kind); + return ts.Debug.assertNever(i, "Unexpected import kind ".concat(i.kind)); } } function filterNamedBindings(namedBindings, keep) { @@ -158030,7 +159817,7 @@ var ts; case 200 /* ObjectBindingPattern */: return ts.firstDefined(name.elements, function (em) { return ts.isOmittedExpression(em) ? undefined : forEachTopLevelDeclarationInBindingName(em.name, cb); }); default: - return ts.Debug.assertNever(name, "Unexpected name kind " + name.kind); + return ts.Debug.assertNever(name, "Unexpected name kind ".concat(name.kind)); } } function nameOfTopLevelDeclaration(d) { @@ -158091,7 +159878,7 @@ var ts; case 237 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - return ts.Debug.assertNever(d, "Unexpected declaration kind " + d.kind); + return ts.Debug.assertNever(d, "Unexpected declaration kind ".concat(d.kind)); } } function addCommonjsExport(decl) { @@ -158113,7 +159900,7 @@ var ts; case 237 /* ExpressionStatement */: return ts.Debug.fail("Can't export an ExpressionStatement"); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - return ts.Debug.assertNever(decl, "Unexpected decl kind " + decl.kind); + return ts.Debug.assertNever(decl, "Unexpected decl kind ".concat(decl.kind)); } } /** Creates `exports.x = x;` */ @@ -158143,10 +159930,10 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [removeBracesAction.kind], - getEditsForAction: getEditsForAction, - getAvailableActions: getAvailableActions + getEditsForAction: getRefactorEditsToRemoveFunctionBraces, + getAvailableActions: getRefactorActionsToRemoveFunctionBraces }); - function getAvailableActions(context) { + function getRefactorActionsToRemoveFunctionBraces(context) { var file = context.file, startPosition = context.startPosition, triggerReason = context.triggerReason; var info = getConvertibleArrowFunctionAtPosition(file, startPosition, triggerReason === "invoked"); if (!info) @@ -158172,7 +159959,7 @@ var ts; } return ts.emptyArray; } - function getEditsForAction(context, actionName) { + function getRefactorEditsToRemoveFunctionBraces(context, actionName) { var file = context.file, startPosition = context.startPosition; var info = getConvertibleArrowFunctionAtPosition(file, startPosition); ts.Debug.assert(info && !refactor.isRefactorErrorInfo(info), "Expected applicable refactor info"); @@ -158237,7 +160024,7 @@ var ts; var convertParamsToDestructuredObject; (function (convertParamsToDestructuredObject) { var refactorName = "Convert parameters to destructured object"; - var minimumParameterLength = 2; + var minimumParameterLength = 1; var refactorDescription = ts.getLocaleSpecificMessage(ts.Diagnostics.Convert_parameters_to_destructured_object); var toDestructuredAction = { name: refactorName, @@ -158246,10 +160033,10 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [toDestructuredAction.kind], - getEditsForAction: getEditsForAction, - getAvailableActions: getAvailableActions + getEditsForAction: getRefactorEditsToConvertParametersToDestructuredObject, + getAvailableActions: getRefactorActionsToConvertParametersToDestructuredObject }); - function getAvailableActions(context) { + function getRefactorActionsToConvertParametersToDestructuredObject(context) { var file = context.file, startPosition = context.startPosition; var isJSFile = ts.isSourceFileJS(file); if (isJSFile) @@ -158263,7 +160050,7 @@ var ts; actions: [toDestructuredAction] }]; } - function getEditsForAction(context, actionName) { + function getRefactorEditsToConvertParametersToDestructuredObject(context, actionName) { ts.Debug.assert(actionName === refactorName, "Unexpected action name"); var file = context.file, startPosition = context.startPosition, program = context.program, cancellationToken = context.cancellationToken, host = context.host; var functionDeclaration = getFunctionDeclarationAtPosition(file, startPosition, program.getTypeChecker()); @@ -158751,7 +160538,7 @@ var ts; return [functionDeclaration.name, functionDeclaration.parent.name]; return [functionDeclaration.parent.name]; default: - return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind " + functionDeclaration.kind); + return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind ".concat(functionDeclaration.kind)); } } })(convertParamsToDestructuredObject = refactor.convertParamsToDestructuredObject || (refactor.convertParamsToDestructuredObject = {})); @@ -158773,10 +160560,10 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [convertStringAction.kind], - getEditsForAction: getEditsForAction, - getAvailableActions: getAvailableActions + getEditsForAction: getRefactorEditsToConvertToTemplateString, + getAvailableActions: getRefactorActionsToConvertToTemplateString }); - function getAvailableActions(context) { + function getRefactorActionsToConvertToTemplateString(context) { var file = context.file, startPosition = context.startPosition; var node = getNodeOrParentOfParentheses(file, startPosition); var maybeBinary = getParentBinaryExpression(node); @@ -158802,7 +160589,7 @@ var ts; } return node; } - function getEditsForAction(context, actionName) { + function getRefactorEditsToConvertToTemplateString(context, actionName) { var file = context.file, startPosition = context.startPosition; var node = getNodeOrParentOfParentheses(file, startPosition); switch (actionName) { @@ -159016,10 +160803,10 @@ var ts; toNamedFunctionAction.kind, toArrowFunctionAction.kind ], - getEditsForAction: getEditsForAction, - getAvailableActions: getAvailableActions + getEditsForAction: getRefactorEditsToConvertFunctionExpressions, + getAvailableActions: getRefactorActionsToConvertFunctionExpressions }); - function getAvailableActions(context) { + function getRefactorActionsToConvertFunctionExpressions(context) { var file = context.file, startPosition = context.startPosition, program = context.program, kind = context.kind; var info = getFunctionInfo(file, startPosition, program); if (!info) @@ -159063,7 +160850,7 @@ var ts; errors : possibleActions }]; } - function getEditsForAction(context, actionName) { + function getRefactorEditsToConvertFunctionExpressions(context, actionName) { var file = context.file, startPosition = context.startPosition, program = context.program; var info = getFunctionInfo(file, startPosition, program); if (!info) @@ -159223,10 +161010,10 @@ var ts; }; refactor.registerRefactor(refactorName, { kinds: [inferReturnTypeAction.kind], - getEditsForAction: getEditsForAction, - getAvailableActions: getAvailableActions + getEditsForAction: getRefactorEditsToInferReturnType, + getAvailableActions: getRefactorActionsToInferReturnType }); - function getEditsForAction(context) { + function getRefactorEditsToInferReturnType(context) { var info = getInfo(context); if (info && !refactor.isRefactorErrorInfo(info)) { var edits = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(context.file, t, info.declaration, info.returnTypeNode); }); @@ -159234,7 +161021,7 @@ var ts; } return undefined; } - function getAvailableActions(context) { + function getRefactorActionsToInferReturnType(context) { var info = getInfo(context); if (!info) return ts.emptyArray; @@ -159455,7 +161242,7 @@ var ts; var textPos = ts.scanner.getTextPos(); if (textPos <= end) { if (token === 79 /* Identifier */) { - ts.Debug.fail("Did not expect " + ts.Debug.formatSyntaxKind(parent.kind) + " to have an Identifier in its trivia"); + ts.Debug.fail("Did not expect ".concat(ts.Debug.formatSyntaxKind(parent.kind), " to have an Identifier in its trivia")); } nodes.push(createNode(token, pos, textPos, parent)); } @@ -159579,13 +161366,11 @@ var ts; switch (context === null || context === void 0 ? void 0 : context.kind) { case 171 /* GetAccessor */: if (!this.contextualGetAccessorDocumentationComment) { - this.contextualGetAccessorDocumentationComment = ts.emptyArray; this.contextualGetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isGetAccessor), checker); } return this.contextualGetAccessorDocumentationComment; case 172 /* SetAccessor */: if (!this.contextualSetAccessorDocumentationComment) { - this.contextualSetAccessorDocumentationComment = ts.emptyArray; this.contextualSetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isSetAccessor), checker); } return this.contextualSetAccessorDocumentationComment; @@ -159595,10 +161380,26 @@ var ts; }; SymbolObject.prototype.getJsDocTags = function (checker) { if (this.tags === undefined) { - this.tags = ts.JsDoc.getJsDocTagsFromDeclarations(this.declarations, checker); + this.tags = getJsDocTagsOfDeclarations(this.declarations, checker); } return this.tags; }; + SymbolObject.prototype.getContextualJsDocTags = function (context, checker) { + switch (context === null || context === void 0 ? void 0 : context.kind) { + case 171 /* GetAccessor */: + if (!this.contextualGetAccessorTags) { + this.contextualGetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isGetAccessor), checker); + } + return this.contextualGetAccessorTags; + case 172 /* SetAccessor */: + if (!this.contextualSetAccessorTags) { + this.contextualSetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isSetAccessor), checker); + } + return this.contextualSetAccessorTags; + default: + return this.getJsDocTags(checker); + } + }; return SymbolObject; }()); var TokenObject = /** @class */ (function (_super) { @@ -159719,6 +161520,9 @@ var ts; TypeObject.prototype.isClass = function () { return !!(ts.getObjectFlags(this) & 1 /* Class */); }; + TypeObject.prototype.isIndexType = function () { + return !!(this.flags & 4194304 /* Index */); + }; Object.defineProperty(TypeObject.prototype, "typeArguments", { /** * This polyfills `referenceType.typeArguments` for API consumers @@ -159751,14 +161555,21 @@ var ts; SignatureObject.prototype.getReturnType = function () { return this.checker.getReturnTypeOfSignature(this); }; + SignatureObject.prototype.getTypeParameterAtPosition = function (pos) { + var type = this.checker.getParameterType(this, pos); + if (type.isIndexType() && ts.isThisTypeParameter(type.type)) { + var constraint = type.type.getConstraint(); + if (constraint) { + return this.checker.getIndexType(constraint); + } + } + return type; + }; SignatureObject.prototype.getDocumentationComment = function () { return this.documentationComment || (this.documentationComment = getDocumentationComment(ts.singleElementArray(this.declaration), this.checker)); }; SignatureObject.prototype.getJsDocTags = function () { - if (this.jsDocTags === undefined) { - this.jsDocTags = this.declaration ? getJsDocTagsOfSignature(this.declaration, this.checker) : []; - } - return this.jsDocTags; + return this.jsDocTags || (this.jsDocTags = getJsDocTagsOfDeclarations(ts.singleElementArray(this.declaration), this.checker)); }; return SignatureObject; }()); @@ -159770,12 +161581,30 @@ var ts; function hasJSDocInheritDocTag(node) { return ts.getJSDocTags(node).some(function (tag) { return tag.tagName.text === "inheritDoc"; }); } - function getJsDocTagsOfSignature(declaration, checker) { - var tags = ts.JsDoc.getJsDocTagsFromDeclarations([declaration], checker); - if (tags.length === 0 || hasJSDocInheritDocTag(declaration)) { - var inheritedTags = findBaseOfDeclaration(checker, declaration, function (symbol) { var _a; return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 ? symbol.getJsDocTags() : undefined; }); - if (inheritedTags) { - tags = __spreadArray(__spreadArray([], inheritedTags, true), tags, true); + function getJsDocTagsOfDeclarations(declarations, checker) { + if (!declarations) + return ts.emptyArray; + var tags = ts.JsDoc.getJsDocTagsFromDeclarations(declarations, checker); + if (checker && (tags.length === 0 || declarations.some(hasJSDocInheritDocTag))) { + var seenSymbols_1 = new ts.Set(); + var _loop_22 = function (declaration) { + var inheritedTags = findBaseOfDeclaration(checker, declaration, function (symbol) { + var _a; + if (!seenSymbols_1.has(symbol)) { + seenSymbols_1.add(symbol); + if (declaration.kind === 171 /* GetAccessor */ || declaration.kind === 172 /* SetAccessor */) { + return symbol.getContextualJsDocTags(declaration, checker); + } + return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 ? symbol.getJsDocTags() : undefined; + } + }); + if (inheritedTags) { + tags = __spreadArray(__spreadArray([], inheritedTags, true), tags, true); + } + }; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; + _loop_22(declaration); } } return tags; @@ -159785,28 +161614,35 @@ var ts; return ts.emptyArray; var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations, checker); if (checker && (doc.length === 0 || declarations.some(hasJSDocInheritDocTag))) { - var seenSymbols_1 = new ts.Set(); - for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) { - var declaration = declarations_4[_i]; + var seenSymbols_2 = new ts.Set(); + var _loop_23 = function (declaration) { var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) { - if (!seenSymbols_1.has(symbol)) { - seenSymbols_1.add(symbol); + if (!seenSymbols_2.has(symbol)) { + seenSymbols_2.add(symbol); + if (declaration.kind === 171 /* GetAccessor */ || declaration.kind === 172 /* SetAccessor */) { + return symbol.getContextualDocumentationComment(declaration, checker); + } return symbol.getDocumentationComment(checker); } }); // TODO: GH#16312 Return a ReadonlyArray, avoid copying inheritedDocs if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); + }; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; + _loop_23(declaration); } } return doc; } function findBaseOfDeclaration(checker, declaration, cb) { var _a; + if (ts.hasStaticModifier(declaration)) + return; var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 170 /* Constructor */ ? declaration.parent.parent : declaration.parent; - if (!classOrInterfaceDeclaration) { + if (!classOrInterfaceDeclaration) return; - } return ts.firstDefined(ts.getAllSuperTypeNodes(classOrInterfaceDeclaration), function (superTypeNode) { var symbol = checker.getPropertyOfType(checker.getTypeAtLocation(superTypeNode), declaration.symbol.name); return symbol ? cb(symbol) : undefined; @@ -160293,6 +162129,7 @@ var ts; ], false); function createLanguageService(host, documentRegistry, syntaxOnlyOrLanguageServiceMode) { var _a; + var _b; if (documentRegistry === void 0) { documentRegistry = ts.createDocumentRegistry(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames(), host.getCurrentDirectory()); } var languageServiceMode; if (syntaxOnlyOrLanguageServiceMode === undefined) { @@ -160313,10 +162150,8 @@ var ts; ? new CancellationTokenObject(host.getCancellationToken()) : NoopCancellationToken; var currentDirectory = host.getCurrentDirectory(); - // Check if the localized messages json is set, otherwise query the host for it - if (!ts.localizedDiagnosticMessages && host.getLocalizedDiagnosticMessages) { - ts.setLocalizedDiagnosticMessages(host.getLocalizedDiagnosticMessages()); - } + // Checks if the localized messages json is set, and if not, query the host for it + ts.maybeSetLocalizedDiagnosticMessages((_b = host.getLocalizedDiagnosticMessages) === null || _b === void 0 ? void 0 : _b.bind(host)); function log(message) { if (host.log) { host.log(message); @@ -160337,7 +162172,7 @@ var ts; function getValidSourceFile(fileName) { var sourceFile = program.getSourceFile(fileName); if (!sourceFile) { - var error = new Error("Could not find source file: '" + fileName + "'."); + var error = new Error("Could not find source file: '".concat(fileName, "'.")); // We've been having trouble debugging this, so attach sidecar data for the tsserver log. // See https://github.com/microsoft/TypeScript/issues/30180. error.ProgramFiles = program.getSourceFiles().map(function (f) { return f.fileName; }); @@ -160418,6 +162253,7 @@ var ts; hasChangedAutomaticTypeDirectiveNames: hasChangedAutomaticTypeDirectiveNames, trace: parseConfigHost.trace, resolveModuleNames: ts.maybeBind(host, host.resolveModuleNames), + getModuleResolutionCache: ts.maybeBind(host, host.getModuleResolutionCache), resolveTypeReferenceDirectives: ts.maybeBind(host, host.resolveTypeReferenceDirectives), useSourceOfProjectReferenceRedirect: ts.maybeBind(host, host.useSourceOfProjectReferenceRedirect), getParsedCommandLine: getParsedCommandLine, @@ -160614,12 +162450,12 @@ var ts; synchronizeHostData(); return __spreadArray(__spreadArray([], program.getOptionsDiagnostics(cancellationToken), true), program.getGlobalDiagnostics(cancellationToken), true); } - function getCompletionsAtPosition(fileName, position, options) { + function getCompletionsAtPosition(fileName, position, options, formattingSettings) { if (options === void 0) { options = ts.emptyOptions; } // Convert from deprecated options names to new names var fullPreferences = __assign(__assign({}, ts.identity(options)), { includeCompletionsForModuleExports: options.includeCompletionsForModuleExports || options.includeExternalModuleExports, includeCompletionsWithInsertText: options.includeCompletionsWithInsertText || options.includeInsertTextCompletions }); synchronizeHostData(); - return ts.Completions.getCompletionsAtPosition(host, program, log, getValidSourceFile(fileName), position, fullPreferences, options.triggerCharacter, options.triggerKind, cancellationToken); + return ts.Completions.getCompletionsAtPosition(host, program, log, getValidSourceFile(fileName), position, fullPreferences, options.triggerCharacter, options.triggerKind, cancellationToken, formattingSettings && ts.formatting.getFormatContext(formattingSettings, host)); } function getCompletionEntryDetails(fileName, position, name, formattingOptions, source, preferences, data) { if (preferences === void 0) { preferences = ts.emptyOptions; } @@ -161012,7 +162848,7 @@ var ts; var element = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent : ts.isJsxText(token) && ts.isJsxElement(token.parent) ? token.parent : undefined; if (element && isUnclosedTag(element)) { - return { newText: "" }; + return { newText: "") }; } var fragment = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningFragment(token.parent) ? token.parent.parent : ts.isJsxText(token) && ts.isJsxFragment(token.parent) ? token.parent : undefined; @@ -161118,7 +162954,7 @@ var ts; pos = commentRange.end + 1; } else { // If it's not in a comment range, then we need to comment the uncommented portions. - var newPos = text.substring(pos, textRange.end).search("(" + openMultilineRegex + ")|(" + closeMultilineRegex + ")"); + var newPos = text.substring(pos, textRange.end).search("(".concat(openMultilineRegex, ")|(").concat(closeMultilineRegex, ")")); isCommenting = insertComment !== undefined ? insertComment : isCommenting || !ts.isTextWhiteSpaceLike(text, pos, newPos === -1 ? textRange.end : pos + newPos); // If isCommenting is already true we don't need to check whitespace again. @@ -161513,14 +163349,14 @@ var ts; case ts.LanguageServiceMode.PartialSemantic: invalidOperationsInPartialSemanticMode.forEach(function (key) { return ls[key] = function () { - throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.PartialSemantic"); + throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.PartialSemantic")); }; }); break; case ts.LanguageServiceMode.Syntactic: invalidOperationsInSyntacticMode.forEach(function (key) { return ls[key] = function () { - throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.Syntactic"); + throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.Syntactic")); }; }); break; @@ -162502,13 +164338,13 @@ var ts; var result = action(); if (logPerformance) { var end = ts.timestamp(); - logger.log(actionDescription + " completed in " + (end - start) + " msec"); + logger.log("".concat(actionDescription, " completed in ").concat(end - start, " msec")); if (ts.isString(result)) { var str = result; if (str.length > 128) { str = str.substring(0, 128) + "..."; } - logger.log(" result.length=" + str.length + ", result='" + JSON.stringify(str) + "'"); + logger.log(" result.length=".concat(str.length, ", result='").concat(JSON.stringify(str), "'")); } } return result; @@ -162590,7 +164426,7 @@ var ts; * Update the list of scripts known to the compiler */ LanguageServiceShimObject.prototype.refresh = function (throwOnError) { - this.forwardJSONCall("refresh(" + throwOnError + ")", function () { return null; } // eslint-disable-line no-null/no-null + this.forwardJSONCall("refresh(".concat(throwOnError, ")"), function () { return null; } // eslint-disable-line no-null/no-null ); }; LanguageServiceShimObject.prototype.cleanupSemanticCache = function () { @@ -162606,43 +164442,43 @@ var ts; }; LanguageServiceShimObject.prototype.getSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); }); + return this.forwardJSONCall("getSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); }); }; LanguageServiceShimObject.prototype.getSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); }); + return this.forwardJSONCall("getSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); }); }; LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", + return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSyntacticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getEncodedSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", + return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSemanticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getSyntacticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSyntacticDiagnostics('" + fileName + "')", function () { + return this.forwardJSONCall("getSyntacticDiagnostics('".concat(fileName, "')"), function () { var diagnostics = _this.languageService.getSyntacticDiagnostics(fileName); return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSemanticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSemanticDiagnostics('" + fileName + "')", function () { + return this.forwardJSONCall("getSemanticDiagnostics('".concat(fileName, "')"), function () { var diagnostics = _this.languageService.getSemanticDiagnostics(fileName); return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSuggestionDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSuggestionDiagnostics('" + fileName + "')", function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); }); + return this.forwardJSONCall("getSuggestionDiagnostics('".concat(fileName, "')"), function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); }); }; LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics = function () { var _this = this; @@ -162658,7 +164494,7 @@ var ts; */ LanguageServiceShimObject.prototype.getQuickInfoAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getQuickInfoAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); }); + return this.forwardJSONCall("getQuickInfoAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); }); }; /// NAMEORDOTTEDNAMESPAN /** @@ -162667,7 +164503,7 @@ var ts; */ LanguageServiceShimObject.prototype.getNameOrDottedNameSpan = function (fileName, startPos, endPos) { var _this = this; - return this.forwardJSONCall("getNameOrDottedNameSpan('" + fileName + "', " + startPos + ", " + endPos + ")", function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); }); + return this.forwardJSONCall("getNameOrDottedNameSpan('".concat(fileName, "', ").concat(startPos, ", ").concat(endPos, ")"), function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); }); }; /** * STATEMENTSPAN @@ -162675,12 +164511,12 @@ var ts; */ LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBreakpointStatementAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); }); + return this.forwardJSONCall("getBreakpointStatementAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); }); }; /// SIGNATUREHELP LanguageServiceShimObject.prototype.getSignatureHelpItems = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getSignatureHelpItems('" + fileName + "', " + position + ")", function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); }); + return this.forwardJSONCall("getSignatureHelpItems('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); }); }; /// GOTO DEFINITION /** @@ -162689,7 +164525,7 @@ var ts; */ LanguageServiceShimObject.prototype.getDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); + return this.forwardJSONCall("getDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); }; /** * Computes the definition location and file for the symbol @@ -162697,7 +164533,7 @@ var ts; */ LanguageServiceShimObject.prototype.getDefinitionAndBoundSpan = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAndBoundSpan('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); }); + return this.forwardJSONCall("getDefinitionAndBoundSpan('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); }); }; /// GOTO Type /** @@ -162706,7 +164542,7 @@ var ts; */ LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getTypeDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); }); + return this.forwardJSONCall("getTypeDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); }); }; /// GOTO Implementation /** @@ -162715,37 +164551,37 @@ var ts; */ LanguageServiceShimObject.prototype.getImplementationAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getImplementationAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); + return this.forwardJSONCall("getImplementationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getRenameInfo('" + fileName + "', " + position + ")", function () { return _this.languageService.getRenameInfo(fileName, position, options); }); + return this.forwardJSONCall("getRenameInfo('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getRenameInfo(fileName, position, options); }); }; LanguageServiceShimObject.prototype.getSmartSelectionRange = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getSmartSelectionRange('" + fileName + "', " + position + ")", function () { return _this.languageService.getSmartSelectionRange(fileName, position); }); + return this.forwardJSONCall("getSmartSelectionRange('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSmartSelectionRange(fileName, position); }); }; LanguageServiceShimObject.prototype.findRenameLocations = function (fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename) { var _this = this; - return this.forwardJSONCall("findRenameLocations('" + fileName + "', " + position + ", " + findInStrings + ", " + findInComments + ", " + providePrefixAndSuffixTextForRename + ")", function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); }); + return this.forwardJSONCall("findRenameLocations('".concat(fileName, "', ").concat(position, ", ").concat(findInStrings, ", ").concat(findInComments, ", ").concat(providePrefixAndSuffixTextForRename, ")"), function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); }); }; /// GET BRACE MATCHING LanguageServiceShimObject.prototype.getBraceMatchingAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBraceMatchingAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); }); + return this.forwardJSONCall("getBraceMatchingAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition = function (fileName, position, openingBrace) { var _this = this; - return this.forwardJSONCall("isValidBraceCompletionAtPosition('" + fileName + "', " + position + ", " + openingBrace + ")", function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); }); + return this.forwardJSONCall("isValidBraceCompletionAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(openingBrace, ")"), function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); }); }; LanguageServiceShimObject.prototype.getSpanOfEnclosingComment = function (fileName, position, onlyMultiLine) { var _this = this; - return this.forwardJSONCall("getSpanOfEnclosingComment('" + fileName + "', " + position + ")", function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); }); + return this.forwardJSONCall("getSpanOfEnclosingComment('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); }); }; /// GET SMART INDENT LanguageServiceShimObject.prototype.getIndentationAtPosition = function (fileName, position, options /*Services.EditorOptions*/) { var _this = this; - return this.forwardJSONCall("getIndentationAtPosition('" + fileName + "', " + position + ")", function () { + return this.forwardJSONCall("getIndentationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { var localOptions = JSON.parse(options); return _this.languageService.getIndentationAtPosition(fileName, position, localOptions); }); @@ -162753,23 +164589,23 @@ var ts; /// GET REFERENCES LanguageServiceShimObject.prototype.getReferencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getReferencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); + return this.forwardJSONCall("getReferencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.findReferences = function (fileName, position) { var _this = this; - return this.forwardJSONCall("findReferences('" + fileName + "', " + position + ")", function () { return _this.languageService.findReferences(fileName, position); }); + return this.forwardJSONCall("findReferences('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.findReferences(fileName, position); }); }; LanguageServiceShimObject.prototype.getFileReferences = function (fileName) { var _this = this; - return this.forwardJSONCall("getFileReferences('" + fileName + ")", function () { return _this.languageService.getFileReferences(fileName); }); + return this.forwardJSONCall("getFileReferences('".concat(fileName, ")"), function () { return _this.languageService.getFileReferences(fileName); }); }; LanguageServiceShimObject.prototype.getOccurrencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getOccurrencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); + return this.forwardJSONCall("getOccurrencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getDocumentHighlights = function (fileName, position, filesToSearch) { var _this = this; - return this.forwardJSONCall("getDocumentHighlights('" + fileName + "', " + position + ")", function () { + return this.forwardJSONCall("getDocumentHighlights('".concat(fileName, "', ").concat(position, ")"), function () { var results = _this.languageService.getDocumentHighlights(fileName, position, JSON.parse(filesToSearch)); // workaround for VS document highlighting issue - keep only items from the initial file var normalizedName = ts.toFileNameLowerCase(ts.normalizeSlashes(fileName)); @@ -162782,110 +164618,110 @@ var ts; * to provide at the given source position and providing a member completion * list if requested. */ - LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, preferences) { + LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, preferences, formattingSettings) { var _this = this; - return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + preferences + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences); }); + return this.forwardJSONCall("getCompletionsAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(preferences, ", ").concat(formattingSettings, ")"), function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences, formattingSettings); }); }; /** Get a string based representation of a completion list entry details */ LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, formatOptions, source, preferences, data) { var _this = this; - return this.forwardJSONCall("getCompletionEntryDetails('" + fileName + "', " + position + ", '" + entryName + "')", function () { + return this.forwardJSONCall("getCompletionEntryDetails('".concat(fileName, "', ").concat(position, ", '").concat(entryName, "')"), function () { var localOptions = formatOptions === undefined ? undefined : JSON.parse(formatOptions); return _this.languageService.getCompletionEntryDetails(fileName, position, entryName, localOptions, source, preferences, data); }); }; LanguageServiceShimObject.prototype.getFormattingEditsForRange = function (fileName, start, end, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForRange('" + fileName + "', " + start + ", " + end + ")", function () { + return this.forwardJSONCall("getFormattingEditsForRange('".concat(fileName, "', ").concat(start, ", ").concat(end, ")"), function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsForRange(fileName, start, end, localOptions); }); }; LanguageServiceShimObject.prototype.getFormattingEditsForDocument = function (fileName, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForDocument('" + fileName + "')", function () { + return this.forwardJSONCall("getFormattingEditsForDocument('".concat(fileName, "')"), function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsForDocument(fileName, localOptions); }); }; LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke = function (fileName, position, key, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsAfterKeystroke('" + fileName + "', " + position + ", '" + key + "')", function () { + return this.forwardJSONCall("getFormattingEditsAfterKeystroke('".concat(fileName, "', ").concat(position, ", '").concat(key, "')"), function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsAfterKeystroke(fileName, position, key, localOptions); }); }; LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getDocCommentTemplateAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); }); + return this.forwardJSONCall("getDocCommentTemplateAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); }); }; /// NAVIGATE TO /** Return a list of symbols that are interesting to navigate to */ LanguageServiceShimObject.prototype.getNavigateToItems = function (searchValue, maxResultCount, fileName) { var _this = this; - return this.forwardJSONCall("getNavigateToItems('" + searchValue + "', " + maxResultCount + ", " + fileName + ")", function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); }); + return this.forwardJSONCall("getNavigateToItems('".concat(searchValue, "', ").concat(maxResultCount, ", ").concat(fileName, ")"), function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); }); }; LanguageServiceShimObject.prototype.getNavigationBarItems = function (fileName) { var _this = this; - return this.forwardJSONCall("getNavigationBarItems('" + fileName + "')", function () { return _this.languageService.getNavigationBarItems(fileName); }); + return this.forwardJSONCall("getNavigationBarItems('".concat(fileName, "')"), function () { return _this.languageService.getNavigationBarItems(fileName); }); }; LanguageServiceShimObject.prototype.getNavigationTree = function (fileName) { var _this = this; - return this.forwardJSONCall("getNavigationTree('" + fileName + "')", function () { return _this.languageService.getNavigationTree(fileName); }); + return this.forwardJSONCall("getNavigationTree('".concat(fileName, "')"), function () { return _this.languageService.getNavigationTree(fileName); }); }; LanguageServiceShimObject.prototype.getOutliningSpans = function (fileName) { var _this = this; - return this.forwardJSONCall("getOutliningSpans('" + fileName + "')", function () { return _this.languageService.getOutliningSpans(fileName); }); + return this.forwardJSONCall("getOutliningSpans('".concat(fileName, "')"), function () { return _this.languageService.getOutliningSpans(fileName); }); }; LanguageServiceShimObject.prototype.getTodoComments = function (fileName, descriptors) { var _this = this; - return this.forwardJSONCall("getTodoComments('" + fileName + "')", function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); }); + return this.forwardJSONCall("getTodoComments('".concat(fileName, "')"), function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); }); }; /// CALL HIERARCHY LanguageServiceShimObject.prototype.prepareCallHierarchy = function (fileName, position) { var _this = this; - return this.forwardJSONCall("prepareCallHierarchy('" + fileName + "', " + position + ")", function () { return _this.languageService.prepareCallHierarchy(fileName, position); }); + return this.forwardJSONCall("prepareCallHierarchy('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.prepareCallHierarchy(fileName, position); }); }; LanguageServiceShimObject.prototype.provideCallHierarchyIncomingCalls = function (fileName, position) { var _this = this; - return this.forwardJSONCall("provideCallHierarchyIncomingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); }); + return this.forwardJSONCall("provideCallHierarchyIncomingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); }); }; LanguageServiceShimObject.prototype.provideCallHierarchyOutgoingCalls = function (fileName, position) { var _this = this; - return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); }); + return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); }); }; LanguageServiceShimObject.prototype.provideInlayHints = function (fileName, span, preference) { var _this = this; - return this.forwardJSONCall("provideInlayHints('" + fileName + "', '" + JSON.stringify(span) + "', " + JSON.stringify(preference) + ")", function () { return _this.languageService.provideInlayHints(fileName, span, preference); }); + return this.forwardJSONCall("provideInlayHints('".concat(fileName, "', '").concat(JSON.stringify(span), "', ").concat(JSON.stringify(preference), ")"), function () { return _this.languageService.provideInlayHints(fileName, span, preference); }); }; /// Emit LanguageServiceShimObject.prototype.getEmitOutput = function (fileName) { var _this = this; - return this.forwardJSONCall("getEmitOutput('" + fileName + "')", function () { + return this.forwardJSONCall("getEmitOutput('".concat(fileName, "')"), function () { var _a = _this.languageService.getEmitOutput(fileName), diagnostics = _a.diagnostics, rest = __rest(_a, ["diagnostics"]); return __assign(__assign({}, rest), { diagnostics: _this.realizeDiagnostics(diagnostics) }); }); }; LanguageServiceShimObject.prototype.getEmitOutputObject = function (fileName) { var _this = this; - return forwardCall(this.logger, "getEmitOutput('" + fileName + "')", + return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), /*returnJson*/ false, function () { return _this.languageService.getEmitOutput(fileName); }, this.logPerformance); }; LanguageServiceShimObject.prototype.toggleLineComment = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("toggleLineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleLineComment(fileName, textRange); }); + return this.forwardJSONCall("toggleLineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleLineComment(fileName, textRange); }); }; LanguageServiceShimObject.prototype.toggleMultilineComment = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("toggleMultilineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleMultilineComment(fileName, textRange); }); + return this.forwardJSONCall("toggleMultilineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleMultilineComment(fileName, textRange); }); }; LanguageServiceShimObject.prototype.commentSelection = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("commentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.commentSelection(fileName, textRange); }); + return this.forwardJSONCall("commentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.commentSelection(fileName, textRange); }); }; LanguageServiceShimObject.prototype.uncommentSelection = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("uncommentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.uncommentSelection(fileName, textRange); }); + return this.forwardJSONCall("uncommentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.uncommentSelection(fileName, textRange); }); }; return LanguageServiceShimObject; }(ShimBase)); @@ -162935,7 +164771,7 @@ var ts; }; CoreServicesShimObject.prototype.resolveModuleName = function (fileName, moduleName, compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () { + return this.forwardJSONCall("resolveModuleName('".concat(fileName, "')"), function () { var compilerOptions = JSON.parse(compilerOptionsJson); var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host); var resolvedFileName = result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined; @@ -162950,7 +164786,7 @@ var ts; }; CoreServicesShimObject.prototype.resolveTypeReferenceDirective = function (fileName, typeReferenceDirective, compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("resolveTypeReferenceDirective(" + fileName + ")", function () { + return this.forwardJSONCall("resolveTypeReferenceDirective(".concat(fileName, ")"), function () { var compilerOptions = JSON.parse(compilerOptionsJson); var result = ts.resolveTypeReferenceDirective(typeReferenceDirective, ts.normalizeSlashes(fileName), compilerOptions, _this.host); return { @@ -162962,7 +164798,7 @@ var ts; }; CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) { var _this = this; - return this.forwardJSONCall("getPreProcessedFileInfo('" + fileName + "')", function () { + return this.forwardJSONCall("getPreProcessedFileInfo('".concat(fileName, "')"), function () { // for now treat files as JavaScript var result = ts.preProcessFile(ts.getSnapshotText(sourceTextSnapshot), /* readImportFiles */ true, /* detectJavaScriptImports */ true); return { @@ -162977,7 +164813,7 @@ var ts; }; CoreServicesShimObject.prototype.getAutomaticTypeDirectiveNames = function (compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("getAutomaticTypeDirectiveNames('" + compilerOptionsJson + "')", function () { + return this.forwardJSONCall("getAutomaticTypeDirectiveNames('".concat(compilerOptionsJson, "')"), function () { var compilerOptions = JSON.parse(compilerOptionsJson); return ts.getAutomaticTypeDirectiveNames(compilerOptions, _this.host); }); @@ -162999,7 +164835,7 @@ var ts; }; CoreServicesShimObject.prototype.getTSConfigFileInfo = function (fileName, sourceTextSnapshot) { var _this = this; - return this.forwardJSONCall("getTSConfigFileInfo('" + fileName + "')", function () { + return this.forwardJSONCall("getTSConfigFileInfo('".concat(fileName, "')"), function () { var result = ts.parseJsonText(fileName, ts.getSnapshotText(sourceTextSnapshot)); var normalizedFileName = ts.normalizeSlashes(fileName); var configFile = ts.parseJsonSourceFileConfigFileContent(result, _this.host, ts.getDirectoryPath(normalizedFileName), /*existingOptions*/ {}, normalizedFileName); diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index d8381ddddc63..69ec4a1ab08e 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -11,10 +11,10 @@ "karma-jasmine-html-reporter": "~1.7.0", "karma-jasmine": "~4.0.0", "karma": "~6.3.0", - "ng-packagr": "^13.0.0", + "ng-packagr": "^14.0.0-next.2", "rxjs": "~7.5.0", "tslib": "^2.3.0", - "typescript": "~4.5.2", + "typescript": "~4.6.2", "zone.js": "~0.11.4" } } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 22e235700a93..8de675f5b571 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#931e07e0362f536a5b6ce957e52c4ed7a5cab8e7", - "@angular/cdk": "github:angular/cdk-builds#62ab6c2abbae4f6f54d875f4d32ec422faa7e5d3", - "@angular/common": "github:angular/common-builds#e1c7faaa52e13a28eb38793507de3fbc6a09e4e7", - "@angular/compiler": "github:angular/compiler-builds#4d9437a411f8175fdcf974eabcac8d1759a990c2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#bd14680ee99f62ea3a984a4c6adc26b03361d504", - "@angular/core": "github:angular/core-builds#f58075e4afcad992798ac7e0d8aa979900aa3202", - "@angular/forms": "github:angular/forms-builds#a87fda8e9a4ca0468b370388cb5e2133da599840", - "@angular/language-service": "github:angular/language-service-builds#bf8dad6439a8417918d70e238ae20eda6aacfd38", - "@angular/localize": "github:angular/localize-builds#95a59ca282b3fd33d7282decd1c05ab8e648f308", - "@angular/material": "github:angular/material-builds#aba87275b1fde676979748978f1fca59e1debe81", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0fd3b50352fa9b4e84f3cb36819bb048a27a9942", - "@angular/platform-browser": "github:angular/platform-browser-builds#77909e63e207be21fa3b9f77cd4c46ac8b38cca3", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2b081dd4e86b4e0ac8e9b421e8d4dfc98e7a6d02", - "@angular/platform-server": "github:angular/platform-server-builds#38ec90bc1b8dd0a4e7583051e0b8f9c39a144d3d", - "@angular/router": "github:angular/router-builds#dd441c7add512ba93d92bd20d16a8aa4ed8783de", - "@angular/service-worker": "github:angular/service-worker-builds#09c950f393e8c21e1c01507c13400a1f363b2c29" + "@angular/animations": "github:angular/animations-builds#dbe1bab45ac77dcbbf8718a332ce61e1841a5d2f", + "@angular/cdk": "github:angular/cdk-builds#0913b0ddf45c9e3ca473be9bdcf0b3211b928bf0", + "@angular/common": "github:angular/common-builds#2b01f72329d7708a8e06f0b78ee41f775c822521", + "@angular/compiler": "github:angular/compiler-builds#1d140d2c2f167164bf156c577f408422db58786b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#88693d901ab0fbcda5a7e6d6fdf857a528cd446b", + "@angular/core": "github:angular/core-builds#a46f19ce49d518714a06b3fc29c99bd86629f627", + "@angular/forms": "github:angular/forms-builds#b85c2dbb3f2d634941ea5bbb32e9be3ec85b5567", + "@angular/language-service": "github:angular/language-service-builds#2765fd962c9e593147fd3a4293ec2d4e4cd813c6", + "@angular/localize": "github:angular/localize-builds#94d5f01fcebfac66968fad7f9d3468430bfd2c07", + "@angular/material": "github:angular/material-builds#09fbf694e2636cd47ffdb50d04a834dac505e95f", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#d7bd49807c7c133bbe218145f50e83accf2b8d85", + "@angular/platform-browser": "github:angular/platform-browser-builds#4c9545dd29543327821c7ff2a9f139c0af0bf484", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#505b6743915a319778d6a43332c93d2f4678ab76", + "@angular/platform-server": "github:angular/platform-server-builds#f49b6f61a14b710d5bda18363f4679fe529716d6", + "@angular/router": "github:angular/router-builds#e408959980ea7d74c94d9a04e3882dec7621d229", + "@angular/service-worker": "github:angular/service-worker-builds#4becba3fb5a652baa610ed13a4e6c35d15057744" } } diff --git a/yarn.lock b/yarn.lock index 965aef15b5fe..3517c10d623b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -108,10 +108,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.4.tgz#0f7724a3e083491eceb46f2a7eccd471bed737a1" - integrity sha512-/mvugM6oDBOKFyZbB4eCL8kabxwib3p4O6m5kP9lCjisEfH205+bqFb8rVlXsaOM5ZMRyi6oZ0J8wk3RS3xTGg== +"@angular/animations@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.6.tgz#968b384e1445e41969e9283c0cd992d5e7de439f" + integrity sha512-MdJol4b/Eizgr4gTy/WVQ4/jaw2UNZQkKy0c/LiZ5TMFLwPxcfV7133cQ3mWKso56wsM3p//MuPV8oRzS4+mQQ== dependencies: tslib "^2.3.0" @@ -123,49 +123,49 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.4.tgz#0778a0e23479be5532004069ec942fcdffd9b5ce" - integrity sha512-IN10mcv7Xh+KKsfua4kqfYiAPH2RvrQCyoFFhequzkKCUafhmLI9wV84l6aKOvHUK3XWeN5Hs0tqR9mukManbA== +"@angular/cdk@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.6.tgz#4a6db2c1a4dc240bf4f56ebb762f57332e6945f5" + integrity sha512-BM7IvbYisYn3JshJC08r6m3gBViLQs8GHLWmO6hAO+3dnY5WahIuDgS+SUPcNv2M7x9Jc/qyjDht7g0Az9lm7A== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.4.tgz#9c8d5aa4090cb203e63b2b09091eba5e07f52bbe" - integrity sha512-dGPe0OebisPt2IppTX1J70eD2ioUr4ZYS6Mc3UXKaCtnXBYFwL9hwfeaLdWIkoK79h0NRZHYCCF48OyZer8Qeg== +"@angular/common@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.6.tgz#a492391ab94968ed0cfb7f1e4731c8ba65ac77c6" + integrity sha512-H9O1Feb+Xuw7ZX9bzBkreFHGAaUnESQlvHu1+Ru4X27xIz7yHcxYffA/2x2jpQuWD7kCbxk1GD/x09UXrr4RpQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.4.tgz#4cf62252dd79efebcad82f557729555715c69bdf" - integrity sha512-VYR7sTrP1eodiZCibnZc/emd2WM8gRQXvByzrTGs8mQbQK3xDDWP4hyK0XrHJjoboEWcMsHQcHWXgbxqeSAJzQ== +"@angular/compiler-cli@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.6.tgz#a5691bea368b4d92b74e40a35537565eaa81e1a9" + integrity sha512-MRQHbywsiPdfkjT8Jg7OmmIy8XbQtP4nAYb0vEMuchuiDGIpg+5HLXnvcyLTlmD5uSN1v0Sg1RvAGpZyLX3agQ== dependencies: - "@babel/core" "^7.8.6" + "@babel/core" "^7.17.2" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" - magic-string "^0.25.0" + magic-string "^0.26.0" reflect-metadata "^0.1.2" semver "^7.0.0" sourcemap-codec "^1.4.8" tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.4.tgz#295cc337dedc95cb8f945e2960aa3bfa230400b7" - integrity sha512-+z5EWKoEIgmq/VoBJ7iEmDu/GrfiER+bL0cgpdrIe/HvZBcCs76b+lMPBuZRvHB0/ckpcTfVpyd/qutYaDyyHA== +"@angular/compiler@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.6.tgz#8b3eb5de0e6d5aacda3577934314ee4741293d0d" + integrity sha512-mHA8tSMoFUuPQ6zllV+mzYr4DIZ8qUaGvCrbIEdXEvXvzTSFL1EqH0ILHBaVXpZRD+oiYR8jx3tqSweBlSZROg== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.4.tgz#05b9aada82dbdfd6b8b97d6720d552bf888cb483" - integrity sha512-bHNvmiS8xW/V0ZSM3/fYlrMnTb4xhT3rr4FsBG2Vt0rY4LHw+vfH4cBQv2e2n/OoRctBJaTiwCF5nU5vCsIDcw== +"@angular/core@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.6.tgz#0c5af365a7b1280fb7c29fac7dfbedf0d098350d" + integrity sha512-/IuEjkQ4dRC8x3yYMAno0vsuk5mvVJHsdLAwcTslDybqAmU4V5biFQ23jH0V8r0aplVJknoIEFQXgb+cywbY4w== dependencies: tslib "^2.3.0" @@ -215,63 +215,63 @@ yargs "^17.0.0" zone.js "^0.11.4" -"@angular/forms@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.4.tgz#329156b6f41e46c0bcba510a576d380bde0d5282" - integrity sha512-JlTwwlZwtdVZ5VBRy0s6UK5ysPYfUBdtIr5fnut5mL3dxLDUi8tk/689glqTcuFD1HXIou+pRFBBeHtFz3TRHA== +"@angular/forms@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.6.tgz#df53ab120cdd69fb07811894f0498338b9c745cf" + integrity sha512-SUO2/0gLt/+WYMkixykxGeMWSK34FwXOgOTZRb4ah1q2DTKKlV71VX/a0qsqdHzwrPaSuxgYmlLl7rfT/9UeXg== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.4.tgz#faa553536b2913d441a3d2de583ee498c4e09c61" - integrity sha512-cUSFClDhEExVNln7OI06jtgpn9hnRN7QSxmrwL7zKXXtq8Wq9xbp6DhAX0d5L/M4/WvcvlLvF29RKAiTzS4F0w== +"@angular/localize@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.6.tgz#bce1b1f057c5a584f0cde69fbab84d03dcf62878" + integrity sha512-Vrl3pOJf7JZ84Wmfvfse5/YZFTXtE2RnN1XKE9pfqAgdJro5KWB4y/It41SPIsSz3Wopj8LpSTZqb0kMu2OwWg== dependencies: - "@babel/core" "7.8.6" + "@babel/core" "7.17.5" glob "7.2.0" yargs "^17.2.1" -"@angular/material@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.4.tgz#6564638e8f4020377e61db86efe323f1c001696c" - integrity sha512-kVjWOWQoMiJf6tQ7PSkqtUhZpBruTz/ZcVpVoeEisNIyNPOzrIjzP8bQZFHJSfDkJ+3kyIKzbNnYxR3AcRwv3A== +"@angular/material@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.6.tgz#0dcc90bd542a34800e20c030c5f5e8fc5487e060" + integrity sha512-kfX+6+igTlwePmCFHrrxugCEhn1ZYD29ATteEyol6FfkjG98yGWIAiMZ6xroBcsrUyRMhH8GLtXoQb+ybKg0iw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.4.tgz#00fd1a09bfab0133a305954c8e6d8271d53f98b9" - integrity sha512-+4WJ0qxop/ibWS2ec4qPAP88kkUi5QbfX7S4dG896UBcGUBXsAeSvzdxbI1aTKSfsegUVBti8RLDCPx/Sz2UTg== +"@angular/platform-browser-dynamic@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.6.tgz#690c5f11e83f4858e6fc036b8074f36e58d2a4f2" + integrity sha512-pmY1pum4fOI6VYUh/PyUWGWGx+EyG6OagVijSBVsoAZIyivBB3E5slXOEm9SLONgp/MuJBeVT5cUTED1vBGMww== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.4.tgz#cc9b4f5790d8e0b3040234d3f86350c830d1b814" - integrity sha512-6xxdzfWBIKhJvXyb1MCLgyvViT8vL82Kzd2ecL6UVhHXYav+w1d1TEYNm+Teoya+bcYuVfTPRD05JCGA+k8j8A== +"@angular/platform-browser@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.6.tgz#fdc91f124466840fd36823b90371fbf45c6b3736" + integrity sha512-Uimrk52AayLFOc2lopqNS2NGvux3RA5nYIZyun8Zy6qfTLE0hotHFmo1RT5mxbqgivWIdzxRwb8+8Ej60H9mMA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.4.tgz#250d91e70becc2d11a102038c3151299f153111d" - integrity sha512-+wBAwros1brykrxrHJd9zHKPOkG5EeYiO1xoJGDQ4Ca6fqXSHoqHj0/Npa4USHF8/ifX1C0aYbjkJUbi1S19fQ== +"@angular/platform-server@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.6.tgz#edabf357cfba56835d255112b02cb0bcfffd4bad" + integrity sha512-BJBr3KNqtBKLgUjRTlnLNiqBYPnR4+ysQ0d9JgRvJAFthmsu6gwDuHM3zIebOLB7S9NmDYH4zC8XLv3KmRLRlQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.4.tgz#f7b0955fdeedb2aff07f20fd02ad79540394958d" - integrity sha512-2jc7GfCZzqAuN/6n0jHZhZz4CmP9BUXxPTBArW4j2QXW6uEQ9bTMRI/hAcBkRR/4ZJdBVgTwtcybDionMLi/aQ== +"@angular/router@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.6.tgz#9844a2951ce5ea84f55f81770a7e8eb9116bafb9" + integrity sha512-S2i2XqgJBqxixSK+zjyV2+weNpRxaKWy03j5cYxamZ5p5xyfAHygQaiKmWddm+h1j6QdthZ2PY6Zohz/LpmfQA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.4": - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.4.tgz#4948d9ef592a2d92e5d73bf47b0ef6e989cc41b6" - integrity sha512-up51zzO/+ITirTL0u+reAfjkh8z+tqHFOSjnhjGLusW8BF2F8fqLUzXpQiaKTf8RKpqexA9t6pgWePpyyZ3Wgw== +"@angular/service-worker@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.6.tgz#915d6e87cbfb74a86918f1e328ae675bbc1afb37" + integrity sha512-OnGisgGHoh3gqjKxpcZ4mdY3mEFh76zkM3B+j1uSaDyjF7EiOU6qdpRaLK3XGXa2giqrINfNjgVXdE3CMMVJww== dependencies: tslib "^2.3.0" @@ -280,7 +280,7 @@ resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -292,7 +292,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== -"@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.8.6": +"@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== @@ -313,28 +313,7 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.6.tgz#27d7df9258a45c2e686b6f18b6c659e563aa4636" - integrity sha512-Sheg7yEJD51YHAvLEV/7Uvw95AeWqYPL3Vk3zGujJKIhJ+8oLw2ALaf3hbucILhKsgSoADOvtKRJuNVdcJkOrg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.6" - "@babel/helpers" "^7.8.4" - "@babel/parser" "^7.8.6" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.8.6" - "@babel/types" "^7.8.6" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@7.17.3", "@babel/generator@^7.17.3", "@babel/generator@^7.8.6": +"@babel/generator@7.17.3", "@babel/generator@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -541,7 +520,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.2", "@babel/helpers@^7.8.4": +"@babel/helpers@^7.17.2": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== @@ -559,7 +538,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.8.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== @@ -1166,7 +1145,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.16.7", "@babel/template@^7.16.7", "@babel/template@^7.8.6": +"@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1175,7 +1154,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3", "@babel/traverse@^7.8.6": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== @@ -1191,7 +1170,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6": +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== @@ -3536,10 +3515,10 @@ commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +commander@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.0.0.tgz#86d58f24ee98126568936bd1d3574e0308a99a40" + integrity sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw== commondir@^1.0.1: version "1.0.1" @@ -5432,7 +5411,7 @@ gauge@^4.0.0: strip-ansi "^6.0.1" wide-align "^1.1.5" -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -6562,7 +6541,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0, json5@^2.1.2: +json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== @@ -6957,7 +6936,7 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7035,7 +7014,7 @@ magic-string@0.25.7: dependencies: sourcemap-codec "^1.4.4" -magic-string@0.26.1: +magic-string@0.26.1, magic-string@^0.26.0: version "0.26.1" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== @@ -7049,13 +7028,6 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.25.0: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7438,10 +7410,10 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@14.0.0-next.1: - version "14.0.0-next.1" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.1.tgz#78aaf1e209eca61c52df9180023eecfda05007e3" - integrity sha512-yfrYrIdRfbfTh1yuQL17Oz7T+obibTqW/X32X8ZS2RzmSblxe+VJnjP/S7pf9iOVoCMEp1SW1uJpLuPKklX6Uw== +ng-packagr@14.0.0-next.2: + version "14.0.0-next.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.2.tgz#787797bfa6c74bbc87bb896cd8099c4b76b6c610" + integrity sha512-2vccuBHWJEbLNHMRTS0QYMKeFTy2I/tHOePjFkb3gs0I/ZqGBqhj8WBg2rqUwfo/3iNm0yCnPALjFYWVPITm/Q== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7450,7 +7422,7 @@ ng-packagr@14.0.0-next.1: browserslist "^4.19.1" cacache "^15.3.0" chokidar "^3.5.3" - commander "^8.3.0" + commander "^9.0.0" dependency-graph "^0.11.0" esbuild-wasm "^0.14.14" find-cache-dir "^3.3.2" @@ -9125,7 +9097,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2: +resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -9396,7 +9368,7 @@ selfsigned@^2.0.0: dependencies: node-forge "^1.2.0" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -10458,7 +10430,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.5.5, typescript@~4.5.0, typescript@~4.5.2: +typescript@4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== + +typescript@~4.5.0, typescript@~4.5.2: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== From 9ddb220c3da0f45438a429b6a37ac93c9d8a8ca7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 10 Mar 2022 18:53:05 +0100 Subject: [PATCH 0174/1388] docs: replace `app` with `application` --- .../build_angular/src/builders/app-shell/schema.json | 4 ++-- .../build_angular/src/builders/dev-server/schema.json | 2 +- packages/schematics/angular/app-shell/index.ts | 2 +- packages/schematics/angular/app-shell/schema.json | 6 +++--- packages/schematics/angular/application/schema.json | 2 +- packages/schematics/angular/collection.json | 2 +- packages/schematics/angular/e2e/e2e-long.md | 2 +- packages/schematics/angular/e2e/schema.json | 2 +- packages/schematics/angular/service-worker/index.ts | 6 +++--- packages/schematics/angular/service-worker/index_spec.ts | 6 +++--- packages/schematics/angular/universal/schema.json | 2 +- packages/schematics/angular/utility/ng-ast-utils.ts | 2 +- .../schematics/angular/workspace/files/README.md.template | 2 +- .../core/json/schema/serializers/schema_benchmark.json | 2 +- 14 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/schema.json b/packages/angular_devkit/build_angular/src/builders/app-shell/schema.json index 9ea17e4f5120..027cc9f8acf9 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/schema.json @@ -6,12 +6,12 @@ "properties": { "browserTarget": { "type": "string", - "description": "A browser builder target use for rendering the app shell in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.", + "description": "A browser builder target use for rendering the application shell in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.", "pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$" }, "serverTarget": { "type": "string", - "description": "A server builder target use for rendering the app shell in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.", + "description": "A server builder target use for rendering the application shell in the format of `project:target[:configuration]`. You can also pass in more than one configuration name as a comma-separated list. Example: `project:target:production,staging`.", "pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$" }, "appModuleBundle": { diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/schema.json b/packages/angular_devkit/build_angular/src/builders/dev-server/schema.json index f5316f383b84..58bc9f68948f 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/schema.json @@ -75,7 +75,7 @@ }, "servePath": { "type": "string", - "description": "The pathname where the app will be served." + "description": "The pathname where the application will be served." }, "disableHostCheck": { "type": "boolean", diff --git a/packages/schematics/angular/app-shell/index.ts b/packages/schematics/angular/app-shell/index.ts index 1afe95988e00..f7caa44cabcf 100644 --- a/packages/schematics/angular/app-shell/index.ts +++ b/packages/schematics/angular/app-shell/index.ts @@ -125,7 +125,7 @@ function validateProject(mainPath: string): Rule { const tmpl = getComponentTemplateInfo(host, componentPath); const template = getComponentTemplate(host, componentPath, tmpl); if (!routerOutletCheckRegex.test(template)) { - const errorMsg = `Prerequisite for app shell is to define a router-outlet in your root component.`; + const errorMsg = `Prerequisite for application shell is to define a router-outlet in your root component.`; context.logger.error(errorMsg); throw new SchematicsException(errorMsg); } diff --git a/packages/schematics/angular/app-shell/schema.json b/packages/schematics/angular/app-shell/schema.json index 6b231b8b46d7..44fba253e017 100644 --- a/packages/schematics/angular/app-shell/schema.json +++ b/packages/schematics/angular/app-shell/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularAppShell", "title": "Angular AppShell Options Schema", "type": "object", - "description": "Generates an app shell for running a server-side version of an app.", + "description": "Generates an application shell for running a server-side version of an app.", "additionalProperties": false, "long-description": "./app-shell-long.md", "properties": { @@ -16,13 +16,13 @@ }, "route": { "type": "string", - "description": "Route path used to produce the app shell.", + "description": "Route path used to produce the application shell.", "default": "shell" }, "appId": { "type": "string", "format": "html-selector", - "description": "The app ID to use in withServerTransition().", + "description": "The application ID to use in withServerTransition().", "default": "serverApp" }, "main": { diff --git a/packages/schematics/angular/application/schema.json b/packages/schematics/angular/application/schema.json index 88a3caa3cd73..f98934c0f70b 100644 --- a/packages/schematics/angular/application/schema.json +++ b/packages/schematics/angular/application/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularApp", "title": "Angular Application Options Schema", "type": "object", - "description": "Generates a new basic app definition in the \"projects\" subfolder of the workspace.", + "description": "Generates a new basic application definition in the \"projects\" subfolder of the workspace.", "additionalProperties": false, "properties": { "projectRoot": { diff --git a/packages/schematics/angular/collection.json b/packages/schematics/angular/collection.json index 6a6e8e78bf63..073bdfed27e7 100755 --- a/packages/schematics/angular/collection.json +++ b/packages/schematics/angular/collection.json @@ -102,7 +102,7 @@ }, "app-shell": { "factory": "./app-shell", - "description": "Create an app shell.", + "description": "Create an application shell.", "schema": "./app-shell/schema.json" }, "library": { diff --git a/packages/schematics/angular/e2e/e2e-long.md b/packages/schematics/angular/e2e/e2e-long.md index 13c83bd3bea8..aa2a9a17582b 100644 --- a/packages/schematics/angular/e2e/e2e-long.md +++ b/packages/schematics/angular/e2e/e2e-long.md @@ -1,2 +1,2 @@ -The e2e tests are created in a separate app in the `projects` folder of the workspace, +The e2e tests are created in a separate application in the `projects` folder of the workspace, next to the project being tested. diff --git a/packages/schematics/angular/e2e/schema.json b/packages/schematics/angular/e2e/schema.json index 185795e63ade..64b5c0e456e5 100644 --- a/packages/schematics/angular/e2e/schema.json +++ b/packages/schematics/angular/e2e/schema.json @@ -13,7 +13,7 @@ "default": "app-root" }, "relatedAppName": { - "description": "The name of the app being tested.", + "description": "The name of the application being tested.", "type": "string" } }, diff --git a/packages/schematics/angular/service-worker/index.ts b/packages/schematics/angular/service-worker/index.ts index 53feb12dfc3c..774493083855 100644 --- a/packages/schematics/angular/service-worker/index.ts +++ b/packages/schematics/angular/service-worker/index.ts @@ -95,11 +95,11 @@ function updateAppModule(mainPath: string): Rule { } } - // register SW in app module + // register SW in application module const importText = tags.stripIndent` ServiceWorkerModule.register('ngsw-worker.js', { enabled: ${importModule}.production, - // Register the ServiceWorker as soon as the app is stable + // Register the ServiceWorker as soon as the application is stable // or after 30 seconds (whichever comes first). registrationStrategy: 'registerWhenStable:30000' }) @@ -146,7 +146,7 @@ export default function (options: ServiceWorkerOptions): Rule { if (!buildTarget) { throw targetBuildNotFoundError(); } - const buildOptions = ((buildTarget.options || {}) as unknown) as BrowserBuilderOptions; + const buildOptions = (buildTarget.options || {}) as unknown as BrowserBuilderOptions; const root = project.root; buildOptions.serviceWorker = true; buildOptions.ngswConfigPath = join(normalize(root), 'ngsw-config.json'); diff --git a/packages/schematics/angular/service-worker/index_spec.ts b/packages/schematics/angular/service-worker/index_spec.ts index ca21f4e744b9..aa16cd4c2246 100644 --- a/packages/schematics/angular/service-worker/index_spec.ts +++ b/packages/schematics/angular/service-worker/index_spec.ts @@ -90,7 +90,7 @@ describe('Service Worker Schematic', () => { new RegExp( "(\\s+)ServiceWorkerModule\\.register\\('ngsw-worker\\.js', \\{\\n" + '\\1 enabled: environment\\.production,\\n' + - '\\1 // Register the ServiceWorker as soon as the app is stable\\n' + + '\\1 // Register the ServiceWorker as soon as the application is stable\\n' + '\\1 // or after 30 seconds \\(whichever comes first\\)\\.\\n' + "\\1 registrationStrategy: 'registerWhenStable:30000'\\n" + '\\1}\\)', @@ -128,7 +128,7 @@ describe('Service Worker Schematic', () => { new RegExp( "(\\s+)ServiceWorkerModule\\.register\\('ngsw-worker\\.js', \\{\\n" + '\\1 enabled: env\\.production,\\n' + - '\\1 // Register the ServiceWorker as soon as the app is stable\\n' + + '\\1 // Register the ServiceWorker as soon as the application is stable\\n' + '\\1 // or after 30 seconds \\(whichever comes first\\)\\.\\n' + "\\1 registrationStrategy: 'registerWhenStable:30000'\\n" + '\\1}\\)', @@ -166,7 +166,7 @@ describe('Service Worker Schematic', () => { new RegExp( "(\\s+)ServiceWorkerModule\\.register\\('ngsw-worker\\.js', \\{\\n" + '\\1 enabled: environment\\.production,\\n' + - '\\1 // Register the ServiceWorker as soon as the app is stable\\n' + + '\\1 // Register the ServiceWorker as soon as the application is stable\\n' + '\\1 // or after 30 seconds \\(whichever comes first\\)\\.\\n' + "\\1 registrationStrategy: 'registerWhenStable:30000'\\n" + '\\1}\\)', diff --git a/packages/schematics/angular/universal/schema.json b/packages/schematics/angular/universal/schema.json index 577c1864c77a..16ba8cde6a30 100644 --- a/packages/schematics/angular/universal/schema.json +++ b/packages/schematics/angular/universal/schema.json @@ -16,7 +16,7 @@ "appId": { "type": "string", "format": "html-selector", - "description": "The app identifier to use for transition.", + "description": "The application identifier to use for transition.", "default": "serverApp" }, "main": { diff --git a/packages/schematics/angular/utility/ng-ast-utils.ts b/packages/schematics/angular/utility/ng-ast-utils.ts index d344179af4cf..e55effeeea17 100644 --- a/packages/schematics/angular/utility/ng-ast-utils.ts +++ b/packages/schematics/angular/utility/ng-ast-utils.ts @@ -60,7 +60,7 @@ export function findBootstrapModulePath(host: Tree, mainPath: string): string { const mainBuffer = host.read(mainPath); if (!mainBuffer) { - throw new SchematicsException(`Client app main file (${mainPath}) not found`); + throw new SchematicsException(`Client application main file (${mainPath}) not found`); } const mainText = mainBuffer.toString('utf-8'); const source = ts.createSourceFile(mainPath, mainText, ts.ScriptTarget.Latest, true); diff --git a/packages/schematics/angular/workspace/files/README.md.template b/packages/schematics/angular/workspace/files/README.md.template index 961bc376ff14..c1585a0ff019 100644 --- a/packages/schematics/angular/workspace/files/README.md.template +++ b/packages/schematics/angular/workspace/files/README.md.template @@ -4,7 +4,7 @@ This project was generated with [Angular CLI](https://github.com/angular/angular ## Development server -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. ## Code scaffolding diff --git a/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json b/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json index 58a0e1e82e4a..8e39ec498f1b 100644 --- a/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json +++ b/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json @@ -535,7 +535,7 @@ "default": "@schematics/angular" }, "newApp": { - "description": "The new app schematic.", + "description": "The new application schematic.", "type": "string", "default": "application" } From e873cd10505d44a5dbba8ef7767deca79ab7465f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 14 Mar 2022 10:12:56 +0000 Subject: [PATCH 0175/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 10 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 183 +++++++++++++++--- 4 files changed, 168 insertions(+), 37 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index e67ff92163c0..e9f7bb6b82df 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -7,10 +7,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "bazel_skylib", - sha256 = "af87959afe497dc8dfd4c6cb66e1279cb98ccc84284619ebfec27d9c09a903de", + sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", ], ) diff --git a/package.json b/package.json index 16f567bf902d..c2b93c381314 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@bazel/buildifier": "4.2.5", "@bazel/jasmine": "4.6.1", "@bazel/typescript": "4.6.1", - "@discoveryjs/json-ext": "0.5.6", + "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.18", "@types/babel__template": "7.4.1", "@types/cacache": "^15.0.0", @@ -134,9 +134,9 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.25", - "esbuild-wasm": "0.14.25", - "eslint": "8.10.0", + "esbuild": "0.14.26", + "esbuild-wasm": "0.14.26", + "eslint": "8.11.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", @@ -210,7 +210,7 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.6.2", - "verdaccio": "5.7.1", + "verdaccio": "5.8.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.70.0", "webpack-dev-middleware": "5.3.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 34fbb05ebd27..1412a1b45f6b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -19,7 +19,7 @@ "@babel/preset-env": "7.16.11", "@babel/runtime": "7.17.2", "@babel/template": "7.16.7", - "@discoveryjs/json-ext": "0.5.6", + "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", "babel-loader": "8.2.3", @@ -30,7 +30,7 @@ "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.25", + "esbuild-wasm": "0.14.26", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.1", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.25" + "esbuild": "0.14.26" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index 3517c10d623b..718b48151e5a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1352,16 +1352,21 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== -"@eslint/eslintrc@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a" - integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w== +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@eslint/eslintrc@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" + integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ== dependencies: ajv "^6.12.4" debug "^4.3.2" espree "^9.3.1" globals "^13.9.0" - ignore "^4.0.6" + ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.0.4" @@ -2333,10 +2338,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.21": - version "6.0.0-6-next.21" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.21.tgz#cf5d023af8875d049c98f2f4239c93cc1b2e0ded" - integrity sha512-0lFMfUHJIJp37VTjDCXToOT2Ybqb3mzhhLbOJUX6r42BeFUz//oTxOvPBfHZcpIz2IZ22ykQ7khYt1ODH7t+SA== +"@verdaccio/ui-theme@6.0.0-6-next.22": + version "6.0.0-6-next.22" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.22.tgz#55a0cbcbee382195a31620d3968a1512eaea2a9e" + integrity sha512-MuuIcNLSjm8ZzibIXyzLae8Omsq7btha9JuRf1oBOA/oHRt+ZsUlVsHlJgA5w49FWa4WU74724USWD0ZpT7Y5w== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -4465,6 +4470,11 @@ esbuild-android-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40" integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ== +esbuild-android-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.26.tgz#c5cc52e1372b680e3e782583fa826b248a550a3d" + integrity sha512-HIyJ3VvigHfseaI0D+vsD8zKQ4roDUD962/vtO/KXzav6wR//Y//Qx1HUX8k5bQeQ7/0yCXlltY9VBw1MFnWFQ== + esbuild-android-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" @@ -4475,6 +4485,11 @@ esbuild-android-arm64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e" integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw== +esbuild-android-arm64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.26.tgz#675695134565b0a39d8e3f7a0bd0f4c1ddea5f29" + integrity sha512-TxRCLxyU5yj3U8Bud9fCg3IxzIXXKaWcmDbvURm8JkRr0WvCAmwZBdLi5T8BasT1v5vrVE//M0KSHZod6HC6lA== + esbuild-darwin-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" @@ -4485,6 +4500,11 @@ esbuild-darwin-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d" integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA== +esbuild-darwin-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.26.tgz#7d83ba28bf178d21645b8118cb3280aad84e30ff" + integrity sha512-oZJBN+CkR47Fc7KB1vowZy2kb5r+WSnsBjVEw7aI8HmR6louAgTr4bs1NwzaF6MbLi41ajaw6RdipfsM1H9PvQ== + esbuild-darwin-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" @@ -4495,6 +4515,11 @@ esbuild-darwin-arm64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95" integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw== +esbuild-darwin-arm64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.26.tgz#4567ade51ba2f5f46c32a5b08880a93c7a683440" + integrity sha512-eYW+cmP3BGVPDp+wd9bRI5CN5HjkZnrMQtj46Mj//UsSh4SRvflAp3pjs3ooA+MCpIa9xZ8091HqLqpYi7KFWA== + esbuild-freebsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" @@ -4505,6 +4530,11 @@ esbuild-freebsd-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa" integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ== +esbuild-freebsd-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.26.tgz#e03526cd6e5e06e6b3ba405524d62b486bd5519a" + integrity sha512-Q+Hs27fSBkNfUHNhphSyWfF5lxl3o9S6LFlzkC5KofxLCnCESP+7YTzAWTosYGANsPT2mvYFOraFeYEokG+5DA== + esbuild-freebsd-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" @@ -4515,6 +4545,11 @@ esbuild-freebsd-arm64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c" integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug== +esbuild-freebsd-arm64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.26.tgz#7ddbbefdb51edcc48158aa8752041090a1e54f22" + integrity sha512-MT+FuC/63oz6j/jvWOMCNqnHBYm/bNhGPArUgQX8GRhofFCeqe0NRmJbhtlHZaEeErIIjHPZQ/nXs34mfiqo/Q== + esbuild-linux-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" @@ -4525,6 +4560,11 @@ esbuild-linux-32@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5" integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw== +esbuild-linux-32@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.26.tgz#82d8c050dac0d1103dec2ad6537e419dc2247476" + integrity sha512-9gqSfJ8qMDvz7wXZoinNoe9/ekPpbT+/ZgVfZEeB72ETITVPHvMbG8i0E12wG366G01vMXtlxbD9IYJsMVhe6w== + esbuild-linux-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" @@ -4535,6 +4575,11 @@ esbuild-linux-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8" integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug== +esbuild-linux-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.26.tgz#f06b38cc28d84c688b587a54125c0122bf871c07" + integrity sha512-aPku1lCxxXmBr5LkENSlGIbY33jjQExDzaSrNV+dDA5bHXhFnpI9UkSe+vQzrSkxgO66vNjSTNDcxg3pOXBaBw== + esbuild-linux-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" @@ -4545,6 +4590,11 @@ esbuild-linux-arm64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52" integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw== +esbuild-linux-arm64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.26.tgz#235a70b2f71933f814e8b14531c584974b52d972" + integrity sha512-S0boyzv5Yx+IN1A8253nEPzHqn/W/y+CRcLYFZ1E5DscqkY7EvBao6rhff3ZxaHU9Zrkn0pLVqlJdMx3rm6D4Q== + esbuild-linux-arm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" @@ -4555,6 +4605,11 @@ esbuild-linux-arm@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b" integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw== +esbuild-linux-arm@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.26.tgz#709a303ae0794457d6c41d0df4f3fafb9de24b1d" + integrity sha512-m7ozLQozfgBmh9l3HWxDEVYEEG8GuTqzRoFuf9iX0xAlbtqmhhlm7M4zNMa2eyPEG+ejgHndAuvuB1hcOWvdJw== + esbuild-linux-mips64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" @@ -4565,6 +4620,11 @@ esbuild-linux-mips64le@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4" integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ== +esbuild-linux-mips64le@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.26.tgz#b1a26af4e33d36dafea7579f876c5e2041c2236e" + integrity sha512-TyMRc2ctQV1g9ruHg1Y793e18uDigKKsgzcZPzfxZi2z+hGK1uaSdaejGdULEJBJVMXt3/NC1T1yq0vCTiYYgg== + esbuild-linux-ppc64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" @@ -4575,6 +4635,11 @@ esbuild-linux-ppc64le@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952" integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw== +esbuild-linux-ppc64le@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.26.tgz#1de1b2e5d93e3327b3a66520722ed8cb7d8d606a" + integrity sha512-aOJPP80m2gV8CyDqEMGbwZaGKuR45tZU1qYZ0+Cy8lWV4CWmd9iBWhCLP3eI9d7163m6t+0YO/6N3iLSVlNnpA== + esbuild-linux-riscv64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" @@ -4585,6 +4650,11 @@ esbuild-linux-riscv64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605" integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w== +esbuild-linux-riscv64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.26.tgz#4dc147218a2ed5c796fe1abc832703fd4e991108" + integrity sha512-2E5xK7SNZFXhFzRbZGtUqg3MbHnrx5XzqHaGLOLdHBqOSWIAdJKB3w6WtjpLkZvPuWrKeh51XnRpk1jm0TsUjQ== + esbuild-linux-s390x@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" @@ -4595,6 +4665,11 @@ esbuild-linux-s390x@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3" integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ== +esbuild-linux-s390x@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.26.tgz#12affff5f2d820e238cc5aa9aa7fd5f8f53c8d64" + integrity sha512-kfSuFea857mTYMp/RAFmMp9TBjf1T8F/dTRqLn2p+g8Ok30Cp1+mI2+YCmxz5Uw2JOfxyvpND0Ek1PGPMo1UsQ== + esbuild-netbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" @@ -4605,6 +4680,11 @@ esbuild-netbsd-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6" integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA== +esbuild-netbsd-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.26.tgz#7a1a0962f0c15e5ff945004626e9f038da0076bb" + integrity sha512-tWhLwfOOqdZRwvaSYIWuic9Cj+WRRCLHe//Bmlf0ThBur9/EssRTtVh6/rC2Okp7Eb4QcerA/1wjWLYLECYD7g== + esbuild-openbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" @@ -4615,6 +4695,11 @@ esbuild-openbsd-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930" integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A== +esbuild-openbsd-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.26.tgz#68e2949986fba77f17dfb86ee5b4e1f37cd302ca" + integrity sha512-Xj7IWpsPn/hgKNzwjLpnf6wMtV0lfw5bzn7N9vmiCKx9TBA28L2hI8G15O0s9atLKny4HpmCGwZWmReNF1Ui6g== + esbuild-sunos-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" @@ -4625,12 +4710,22 @@ esbuild-sunos-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f" integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw== +esbuild-sunos-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.26.tgz#a5c7930a7e86b7bd696aaf8379fd761d4feb1332" + integrity sha512-5odPsuhghCUYc3c1gEtz6pGq9cuGRDq1+iNdLBjZcz6IUebd0ay/AVORWchs5WddzyJA9hguxrKsPjECxX6OzQ== + esbuild-wasm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-wasm@0.14.25, esbuild-wasm@^0.14.14: +esbuild-wasm@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.26.tgz#3680880c3d0efdc83b15a2e075e167fe8336dfcb" + integrity sha512-SdEhu5Jk3Rqgw6VBK9stgwHSxc80dkLNfZJAM0wqbU4lw/xa5GMhLeOZ9l6LpTB2f6Teixmy7y2hvMtCu/ycLA== + +esbuild-wasm@^0.14.14: version "0.14.25" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.25.tgz#819302709e79a8dd935429b5925585c58406e8fe" integrity sha512-QZ8wt4jBN1IGVCp/A+u87BzNYOZeIp87d8TMQznU8w7NvZEvdwEWHVfjrOBZ6qqlOJj2/Y/kOUZLy0nk2n9anw== @@ -4645,6 +4740,11 @@ esbuild-windows-32@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2" integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA== +esbuild-windows-32@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.26.tgz#3eb5b7702355487e5939992f2cff2b0afdee9aa1" + integrity sha512-xSVyGV6xGQlAC/K+oBXC9YiGGqoKqQGXVEFQKlDGXD6rxHGK5Fch0ynuvkjaYWW/p8OWqxGVYcof5BvGjY49RA== + esbuild-windows-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" @@ -4655,6 +4755,11 @@ esbuild-windows-64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f" integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA== +esbuild-windows-64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.26.tgz#7fb4bf6e1ad27ecd463294df6ad60b27c9f09197" + integrity sha512-Q0Bm42+wIqHJ8yF96T7nXosILXROegRtMmuI1L0kry0YBHnCFMtjNRTyUwv8yi7o2XvVYh7DF0NHLDL4N34MuA== + esbuild-windows-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" @@ -4665,6 +4770,11 @@ esbuild-windows-arm64@0.14.25: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458" integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA== +esbuild-windows-arm64@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.26.tgz#3bff0b46a884ff8de3f6f5a82b171b08012b78e0" + integrity sha512-+l0DB0VV4LiSoDfNsGviK/2M88IR+/fOUfQoQx08RPu7OZ7gv9BqhRLZCSCT4qHT351OTH1nPv7avRXX6JRQcg== + esbuild@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" @@ -4690,7 +4800,33 @@ esbuild@0.14.23: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" -esbuild@0.14.25, esbuild@^0.14.14: +esbuild@0.14.26: + version "0.14.26" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.26.tgz#c83493ef55163d976241cc8ed077baf991f21201" + integrity sha512-v0zIYlFB9NZ82/hFljhvpA7f8rob66r68ymB7juMz6TYAAMYjKGoW+hrMfRRvic5MAOI2wE/SuykFvsELLa6eA== + optionalDependencies: + esbuild-android-64 "0.14.26" + esbuild-android-arm64 "0.14.26" + esbuild-darwin-64 "0.14.26" + esbuild-darwin-arm64 "0.14.26" + esbuild-freebsd-64 "0.14.26" + esbuild-freebsd-arm64 "0.14.26" + esbuild-linux-32 "0.14.26" + esbuild-linux-64 "0.14.26" + esbuild-linux-arm "0.14.26" + esbuild-linux-arm64 "0.14.26" + esbuild-linux-mips64le "0.14.26" + esbuild-linux-ppc64le "0.14.26" + esbuild-linux-riscv64 "0.14.26" + esbuild-linux-s390x "0.14.26" + esbuild-netbsd-64 "0.14.26" + esbuild-openbsd-64 "0.14.26" + esbuild-sunos-64 "0.14.26" + esbuild-windows-32 "0.14.26" + esbuild-windows-64 "0.14.26" + esbuild-windows-arm64 "0.14.26" + +esbuild@^0.14.14: version "0.14.25" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16" integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q== @@ -4838,12 +4974,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.10.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d" - integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw== +eslint@8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.11.0.tgz#88b91cfba1356fc10bb9eb592958457dfe09fb37" + integrity sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA== dependencies: - "@eslint/eslintrc" "^1.2.0" + "@eslint/eslintrc" "^1.2.1" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -5857,11 +5993,6 @@ ignore-walk@^4.0.1: dependencies: minimatch "^3.0.4" -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - ignore@^5.1.8, ignore@^5.1.9, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" @@ -10647,16 +10778,16 @@ verdaccio-htpasswd@10.3.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.7.1.tgz#533e0c6a5f36e5734f946fe87295682751448997" - integrity sha512-B0u6U/Zwu1tsKZdmor0EnOCD4wWxrolMsizOSB43VGPsDA4tLbvobmZZ9podJKxBX6do3DCJB7BLCIlrJeEihw== +verdaccio@5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.8.0.tgz#c6986f9fb9f92d4910cbb514d66474214ebe7b03" + integrity sha512-g8CWr57F8pn2Vio8MCO7kJuUNTp9cl6/exr7HR6fYmnhr+jv1Fcl5I7iR49UkD6YfDoYtZcWdFgdCBVy/hpDbg== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.0" "@verdaccio/readme" "10.3.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.21" + "@verdaccio/ui-theme" "6.0.0-6-next.22" JSONStream "1.3.5" async "3.2.3" body-parser "1.19.1" From a49cdfbfefbdd756882be96fb61dc8a0d374b6e0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 12:30:06 +0100 Subject: [PATCH 0176/1388] fix(@angular/cli): don't prompt for analytics when running `ng analytics` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This addresses the issue when trying to disable analytics the prompt will be shown ``` ng analytics off Would you like to share anonymous usage data about this project with the Angular Team at Google under Google’s Privacy Policy at https://policies.google.com/privacy? For more details and how to change this setting, see http://angular.io/analytics. (y/N) ``` Closes #16784 (cherry picked from commit 9a9bd3f2ac22211dc6e8a47be582c5e1390189d7) --- packages/angular/cli/src/command-builder/command-module.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index a47e7c416714..2ff79b444890 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -173,7 +173,8 @@ export abstract class CommandModule implements CommandModuleI return (this._analytics = await createAnalytics( !!this.context.workspace, - this.commandName === 'update', + // Don't prompt for `ng update` and `ng analytics` commands. + ['update', 'analytics'].includes(this.commandName), )); } From b1885856a77d45818ff27529df9dc73645340872 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 11 Mar 2022 11:16:11 +0100 Subject: [PATCH 0177/1388] docs(@angular/cli): improve several `ng update` option descriptions --- packages/angular/cli/src/commands/update/cli.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index e7aa7ead0955..38356183baaf 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -59,14 +59,17 @@ export class UpdateCommandModule extends CommandModule { type: 'boolean', }) .option('name', { - description: 'The name of the migration to run.', + description: + 'The name of the migration to run. ' + + `Only available with a single package being updated, and only with 'migrate-only' option.`, type: 'string', implies: ['migrate-only'], conflicts: ['to', 'from'], }) .option('from', { description: - 'Version from which to migrate from. Only available with a single package being updated, and only on migration only.', + 'Version from which to migrate from. ' + + `Only available with a single package being updated, and only with 'migrate-only'.`, type: 'string', implies: ['to', 'migrate-only'], conflicts: ['name'], @@ -74,7 +77,7 @@ export class UpdateCommandModule extends CommandModule { .option('to', { describe: 'Version up to which to apply migrations. Only available with a single package being updated, ' + - 'and only on migrations only. Requires from to be specified. Default to the installed version detected.', + `and only with 'migrate-only' option. Requires 'from' to be specified. Default to the installed version detected.`, type: 'string', implies: ['from', 'migrate-only'], conflicts: ['name'], From 5b9fe13fcabad6d1564f6b8b2300acb8e062589f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 14 Mar 2022 14:10:56 +0000 Subject: [PATCH 0178/1388] build: lock file maintenance --- yarn.lock | 563 ++++++++++++++---------------------------------------- 1 file changed, 144 insertions(+), 419 deletions(-) diff --git a/yarn.lock b/yarn.lock index 718b48151e5a..dd355740fde8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -170,14 +170,15 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.5.tgz#15f112b2ac4e21f72a3a77ee0db8fb2a1e72bffc" - integrity sha512-4CC69JQbgyETJR6xsQk6hOQqb6fBGZ/Qc333x0hwRDBbGnYE6hQehDibV+Apljea8YjV+NX6VmyOvPvHhtL4PQ== + version "13.2.6" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.6.tgz#685ca3b6de173f9671e251362a2c88f8685454f0" + integrity sha512-ctWsxuaSO3d3afLW+wkJSyiEIA2uhaTKNps9x5wz/oZJDaUDYVa4PM4x7/UHn2bXzBjXjN9LSW8h9F31iwmcTg== dependencies: tslib "^2.3.0" "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" + uid "5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" dependencies: "@angular-devkit/build-angular" "14.0.0-next.3" @@ -1289,9 +1290,9 @@ "@cspotcode/source-map-consumer" "0.8.0" "@csstools/postcss-color-function@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.2.tgz#0843fe19be08eeb22e5d2242a6ac06f8b87b9ed2" - integrity sha512-uayvFqfa0hITPwVduxRYNL9YBD/anTqula0tu2llalaxblEd7QPuETSN3gB5PvTYxSfd0d8kS4Fypgo5JaUJ6A== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.3.tgz#251c961a852c99e9aabdbbdbefd50e9a96e8a9ff" + integrity sha512-J26I69pT2B3MYiLY/uzCGKVJyMYVg9TCpXkWsRlt+Yfq+nELUEm72QXIMYXs4xA9cJA4Oqs2EylrfokKl3mJEQ== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -1333,17 +1334,17 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-oklab-function@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.1.tgz#a12348eae202d4ded908a06aa92cf19a946b6cec" - integrity sha512-Bnly2FWWSTZX20hDJLYHpurhp1ot+ZGvojLOsrHa9frzOVruOv4oPYMZ6wQomi9KsbZZ+Af/CuRYaGReTyGtEg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.2.tgz#87cd646e9450347a5721e405b4f7cc35157b7866" + integrity sha512-QwhWesEkMlp4narAwUi6pgc6kcooh8cC7zfxa9LSQNYXqzcdNUtNBzbGc5nuyAVreb7uf5Ox4qH1vYT3GA1wOg== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.2.0.tgz#7d53b773de50874c3885918dcb10cac97bf66ed5" - integrity sha512-YLpFPK5OaLIRKZhUfnrZPT9s9cmtqltIOg7W6jPcxmiDpnZ4lk+odfufZttOAgcg6IHWvNLgcITSLpJxIQB/qQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" + integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== dependencies: postcss-value-parser "^4.2.0" @@ -1681,6 +1682,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== +"@socket.io/component-emitter@~3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz#8863915676f837d9dad7b76f50cb500c1e9422e9" + integrity sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q== + "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -2190,9 +2196,9 @@ source-map "^0.6.0" "@types/ws@^8.2.2": - version "8.5.2" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.2.tgz#77e0c2e360e9579da930ffcfa53c5975ea3bdd26" - integrity sha512-VXI82ykONr5tacHEojnErTQk+KQSoYbW1NB6iz6wUwrNd+BqfkfggQNoNdCqhJSzbNumShPERbM+Pc5zpfhlbw== + version "8.5.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" + integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== dependencies: "@types/node" "*" @@ -2566,11 +2572,6 @@ adm-zip@^0.4.9: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= - agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -2797,11 +2798,6 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" -arraybuffer.slice@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== - arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -2942,7 +2938,7 @@ babel-plugin-polyfill-regenerator@^0.3.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" -backo2@1.0.2: +backo2@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= @@ -2952,11 +2948,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-arraybuffer@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" - integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= - base64-js@^1.2.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -3003,11 +2994,6 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -blob@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" - integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== - blocking-proxy@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-1.0.1.tgz#81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2" @@ -3111,35 +3097,35 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-sync-client@^2.27.7: - version "2.27.7" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.7.tgz#e09dce1add876984cf8232de95d2332d29401a64" - integrity sha512-wKg9UP9a4sCIkBBAXUdbkdWFJzfSAQizGh+nC19W9y9zOo9s5jqeYRFUUbs7x5WKhjtspT+xetVp9AtBJ6BmWg== +browser-sync-client@^2.27.8: + version "2.27.8" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.8.tgz#015cadde9853e5a95e8723fdeaca41115dc59098" + integrity sha512-Z0SU30pjjbXBSglKf+PPeac5slIYPBUsueFtVRflbsj83rXJvc6SZOgSLzq77mcGIWa94mPLGjU79xdnE5hDmw== dependencies: etag "1.8.1" fresh "0.5.2" mitt "^1.1.3" rxjs "^5.5.6" -browser-sync-ui@^2.27.7: - version "2.27.7" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.7.tgz#38cd65f7ba058544310591ad8ac2e7fdf29934f2" - integrity sha512-Bt4OQpx9p18OIzk0KKyu7jqlvmjacasUlk8ARY3uuIyiFWSBiRgr2i6XY8dEMF14DtbooaEBOpHEu9VCYvMcCw== +browser-sync-ui@^2.27.8: + version "2.27.8" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.8.tgz#aebc6a0f6c818dcf30f1d712d4f56563802a0b63" + integrity sha512-aBbM0if5D4SfZX27YrmXdAY4CIEYJT+V68z4SQtbBb6Yntf4S27PpM8vDZX9AH/EE4o0XrRr1CyTquvkADKt3w== dependencies: async-each-series "0.1.1" connect-history-api-fallback "^1" immutable "^3" server-destroy "1.0.1" - socket.io-client "^2.4.0" + socket.io-client "^4.4.1" stream-throttle "^0.1.3" browser-sync@^2.27.7: - version "2.27.7" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.7.tgz#65ec55d6c6e33283e505e06e5113bc32d9d0a8f0" - integrity sha512-9ElnnA/u+s2Jd+IgY+2SImB+sAEIteHsMG0NR96m7Ph/wztpvJCUpyC2on1KqmG9iAp941j+5jfmd34tEguGbg== + version "2.27.8" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.8.tgz#d4f973e5b03aa17a336b8b5bf8c634af83220713" + integrity sha512-4esKxGChYGZRQXvB3IsxVYr0mlRkOL9Pf/Eh8zCSQf817vOCSjX9WxLLNI58NyVMU9qQ0/krUPJ7QBEmgQuSGQ== dependencies: - browser-sync-client "^2.27.7" - browser-sync-ui "^2.27.7" + browser-sync-client "^2.27.8" + browser-sync-ui "^2.27.8" bs-recipes "1.3.4" bs-snippet-injector "^2.0.1" chokidar "^3.5.1" @@ -3165,7 +3151,7 @@ browser-sync@^2.27.7: serve-index "1.9.1" serve-static "1.13.2" server-destroy "1.0.1" - socket.io "2.4.0" + socket.io "^4.4.1" ua-parser-js "1.0.2" yargs "^15.4.1" @@ -3317,9 +3303,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001313: - version "1.0.30001313" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001313.tgz#a380b079db91621e1b7120895874e2fd62ed2e2f" - integrity sha512-rI1UN0koZUiKINjysQDuRi2VeSCce3bYJNmDcj3PIKREiAmjakugBul1QSkg/fPrlULYl6oWfGg3PbgOSY9X4Q== + version "1.0.30001316" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001316.tgz#b44a1f419f82d2e119aa0bbdab5ec15471796358" + integrity sha512-JgUdNoZKxPZFzbzJwy4hDSyGuH/gXz2rN51QmoR8cBQsVo58llD3A0vlRKKRt8FGf5u69P9eQyIH8/z9vN/S0Q== caseless@~0.12.0: version "0.12.0" @@ -3530,26 +3516,11 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= - -component-emitter@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -3824,9 +3795,9 @@ css@^3.0.0: source-map-resolve "^0.6.0" cssdb@^6.3.1, cssdb@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.0.tgz#54899b9042e302be3090b8510ea71fefd08c9e6b" - integrity sha512-8NMWrur/ewSNrRNZndbtOTXc2Xb2b+NCTPHj8VErFYvJUlgsMAiBGaFaxG6hjy9zbCjj2ZLwSQrMM+tormO8qA== + version "6.4.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.1.tgz#a2b5955e3283d8df6b6bb86e4107fedaeec1521b" + integrity sha512-R70R/Q1fPlM1D6Y+Kpat0QjiY+aMsY2/8lekdVoYcJ7ZQs9kw71W78FdOMf8DFq975KHQf1089PNg1dLsbAhoA== cssesc@^3.0.0: version "3.0.0" @@ -3884,10 +3855,10 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.4.tgz#b58036e29e74121fca3e1b3e0dc4a62c65faa233" - integrity sha512-/jyf4rhB17ge328HJuJjAcmRtCsGd+NDeAtahRBTaK6vSPR6MO5HlrAit3Nn7dVjaa6sowW0WXt8yQtLyZQFRg== +date-format@^4.0.4, date-format@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.5.tgz#ba385f89782c6cb114cf45dfa4704c6bb29fca51" + integrity sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw== dayjs@1.10.8: version "1.10.8" @@ -3922,20 +3893,6 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -4234,9 +4191,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.76: - version "1.4.76" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.76.tgz#a0494baedaf51094b1c172999919becd9975a934" - integrity sha512-3Vftv7cenJtQb+k00McEBZ2vVmZ/x+HEF7pcZONZIkOsESqAqVuACmBxMv0JhzX7u0YltU0vSqRqgBSTAhFUjA== + version "1.4.82" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz#51e123ca434b1eba8c434ece2b54f095b304a651" + integrity sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw== emoji-regex@^8.0.0: version "8.0.0" @@ -4267,53 +4224,28 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -engine.io-client@~3.5.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" - integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== +engine.io-client@~6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.1.1.tgz#800d4b9db5487d169686729e5bd887afa78d36b0" + integrity sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g== dependencies: - component-emitter "~1.3.0" - component-inherit "0.0.3" - debug "~3.1.0" - engine.io-parser "~2.2.0" + "@socket.io/component-emitter" "~3.0.0" + debug "~4.3.1" + engine.io-parser "~5.0.0" has-cors "1.1.0" - indexof "0.0.1" parseqs "0.0.6" parseuri "0.0.6" - ws "~7.4.2" - xmlhttprequest-ssl "~1.6.2" + ws "~8.2.3" + xmlhttprequest-ssl "~2.0.0" yeast "0.1.2" -engine.io-parser@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" - integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== - dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.4" - blob "0.0.5" - has-binary2 "~1.0.2" - -engine.io-parser@~5.0.3: +engine.io-parser@~5.0.0, engine.io-parser@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg== dependencies: "@socket.io/base64-arraybuffer" "~1.0.2" -engine.io@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" - integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== - dependencies: - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - debug "~4.1.0" - engine.io-parser "~2.2.0" - ws "~7.4.2" - engine.io@~6.1.0: version "6.1.3" resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.3.tgz#f156293d011d99a3df5691ac29d63737c3302e6f" @@ -4418,15 +4350,15 @@ es-to-primitive@^1.2.1: is-symbol "^1.0.2" es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.53" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + version "0.10.58" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.58.tgz#5b97d94236285fb87c8ffc782cf42eb0a25d2ae0" + integrity sha512-LHO+KBBaHGwjy32ibSaMY+ZzjpC4K4I5bPoijICMBL7gXEXfrEUrzssmNP+KigbQEp1dRUnGkry/vUnxOqptLQ== dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" -es6-iterator@^2.0.3, es6-iterator@~2.0.3: +es6-iterator@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -4447,7 +4379,7 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-symbol@^3.1.1, es6-symbol@~3.1.3: +es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== @@ -4465,11 +4397,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40" - integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ== - esbuild-android-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.26.tgz#c5cc52e1372b680e3e782583fa826b248a550a3d" @@ -4480,11 +4407,6 @@ esbuild-android-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== -esbuild-android-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e" - integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw== - esbuild-android-arm64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.26.tgz#675695134565b0a39d8e3f7a0bd0f4c1ddea5f29" @@ -4495,11 +4417,6 @@ esbuild-darwin-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== -esbuild-darwin-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d" - integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA== - esbuild-darwin-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.26.tgz#7d83ba28bf178d21645b8118cb3280aad84e30ff" @@ -4510,11 +4427,6 @@ esbuild-darwin-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== -esbuild-darwin-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95" - integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw== - esbuild-darwin-arm64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.26.tgz#4567ade51ba2f5f46c32a5b08880a93c7a683440" @@ -4525,11 +4437,6 @@ esbuild-freebsd-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== -esbuild-freebsd-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa" - integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ== - esbuild-freebsd-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.26.tgz#e03526cd6e5e06e6b3ba405524d62b486bd5519a" @@ -4540,11 +4447,6 @@ esbuild-freebsd-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== -esbuild-freebsd-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c" - integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug== - esbuild-freebsd-arm64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.26.tgz#7ddbbefdb51edcc48158aa8752041090a1e54f22" @@ -4555,11 +4457,6 @@ esbuild-linux-32@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== -esbuild-linux-32@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5" - integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw== - esbuild-linux-32@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.26.tgz#82d8c050dac0d1103dec2ad6537e419dc2247476" @@ -4570,11 +4467,6 @@ esbuild-linux-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== -esbuild-linux-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8" - integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug== - esbuild-linux-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.26.tgz#f06b38cc28d84c688b587a54125c0122bf871c07" @@ -4585,11 +4477,6 @@ esbuild-linux-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== -esbuild-linux-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52" - integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw== - esbuild-linux-arm64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.26.tgz#235a70b2f71933f814e8b14531c584974b52d972" @@ -4600,11 +4487,6 @@ esbuild-linux-arm@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== -esbuild-linux-arm@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b" - integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw== - esbuild-linux-arm@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.26.tgz#709a303ae0794457d6c41d0df4f3fafb9de24b1d" @@ -4615,11 +4497,6 @@ esbuild-linux-mips64le@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== -esbuild-linux-mips64le@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4" - integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ== - esbuild-linux-mips64le@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.26.tgz#b1a26af4e33d36dafea7579f876c5e2041c2236e" @@ -4630,11 +4507,6 @@ esbuild-linux-ppc64le@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== -esbuild-linux-ppc64le@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952" - integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw== - esbuild-linux-ppc64le@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.26.tgz#1de1b2e5d93e3327b3a66520722ed8cb7d8d606a" @@ -4645,11 +4517,6 @@ esbuild-linux-riscv64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== -esbuild-linux-riscv64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605" - integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w== - esbuild-linux-riscv64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.26.tgz#4dc147218a2ed5c796fe1abc832703fd4e991108" @@ -4660,11 +4527,6 @@ esbuild-linux-s390x@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== -esbuild-linux-s390x@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3" - integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ== - esbuild-linux-s390x@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.26.tgz#12affff5f2d820e238cc5aa9aa7fd5f8f53c8d64" @@ -4675,11 +4537,6 @@ esbuild-netbsd-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== -esbuild-netbsd-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6" - integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA== - esbuild-netbsd-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.26.tgz#7a1a0962f0c15e5ff945004626e9f038da0076bb" @@ -4690,11 +4547,6 @@ esbuild-openbsd-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== -esbuild-openbsd-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930" - integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A== - esbuild-openbsd-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.26.tgz#68e2949986fba77f17dfb86ee5b4e1f37cd302ca" @@ -4705,11 +4557,6 @@ esbuild-sunos-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== -esbuild-sunos-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f" - integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw== - esbuild-sunos-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.26.tgz#a5c7930a7e86b7bd696aaf8379fd761d4feb1332" @@ -4720,26 +4567,16 @@ esbuild-wasm@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-wasm@0.14.26: +esbuild-wasm@0.14.26, esbuild-wasm@^0.14.14: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.26.tgz#3680880c3d0efdc83b15a2e075e167fe8336dfcb" integrity sha512-SdEhu5Jk3Rqgw6VBK9stgwHSxc80dkLNfZJAM0wqbU4lw/xa5GMhLeOZ9l6LpTB2f6Teixmy7y2hvMtCu/ycLA== -esbuild-wasm@^0.14.14: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.25.tgz#819302709e79a8dd935429b5925585c58406e8fe" - integrity sha512-QZ8wt4jBN1IGVCp/A+u87BzNYOZeIp87d8TMQznU8w7NvZEvdwEWHVfjrOBZ6qqlOJj2/Y/kOUZLy0nk2n9anw== - esbuild-windows-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== -esbuild-windows-32@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2" - integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA== - esbuild-windows-32@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.26.tgz#3eb5b7702355487e5939992f2cff2b0afdee9aa1" @@ -4750,11 +4587,6 @@ esbuild-windows-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== -esbuild-windows-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f" - integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA== - esbuild-windows-64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.26.tgz#7fb4bf6e1ad27ecd463294df6ad60b27c9f09197" @@ -4765,11 +4597,6 @@ esbuild-windows-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== -esbuild-windows-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458" - integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA== - esbuild-windows-arm64@0.14.26: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.26.tgz#3bff0b46a884ff8de3f6f5a82b171b08012b78e0" @@ -4800,7 +4627,7 @@ esbuild@0.14.23: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" -esbuild@0.14.26: +esbuild@0.14.26, esbuild@^0.14.14: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.26.tgz#c83493ef55163d976241cc8ed077baf991f21201" integrity sha512-v0zIYlFB9NZ82/hFljhvpA7f8rob66r68ymB7juMz6TYAAMYjKGoW+hrMfRRvic5MAOI2wE/SuykFvsELLa6eA== @@ -4826,32 +4653,6 @@ esbuild@0.14.26: esbuild-windows-64 "0.14.26" esbuild-windows-arm64 "0.14.26" -esbuild@^0.14.14: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16" - integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q== - optionalDependencies: - esbuild-android-64 "0.14.25" - esbuild-android-arm64 "0.14.25" - esbuild-darwin-64 "0.14.25" - esbuild-darwin-arm64 "0.14.25" - esbuild-freebsd-64 "0.14.25" - esbuild-freebsd-arm64 "0.14.25" - esbuild-linux-32 "0.14.25" - esbuild-linux-64 "0.14.25" - esbuild-linux-arm "0.14.25" - esbuild-linux-arm64 "0.14.25" - esbuild-linux-mips64le "0.14.25" - esbuild-linux-ppc64le "0.14.25" - esbuild-linux-riscv64 "0.14.25" - esbuild-linux-s390x "0.14.25" - esbuild-netbsd-64 "0.14.25" - esbuild-openbsd-64 "0.14.25" - esbuild-sunos-64 "0.14.25" - esbuild-windows-32 "0.14.25" - esbuild-windows-64 "0.14.25" - esbuild-windows-arm64 "0.14.25" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5533,11 +5334,10 @@ furi@^2.0.0: is-windows "^1.0.2" gauge@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.2.tgz#c3777652f542b6ef62797246e8c7caddecb32cc7" - integrity sha512-aSPRm2CvA9R8QyU5eXMFPd+cYkyxLsXHd2l5/FOH2V/eml//M04G6KZOmTap07O1PvEwNcl2NndyLfK8g3QrKA== + version "4.0.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.3.tgz#286cf105c1962c659f0963058fb05116c1b82d3f" + integrity sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw== dependencies: - ansi-regex "^5.0.1" aproba "^1.0.3 || ^2.0.0" color-support "^1.1.3" console-control-strings "^1.1.0" @@ -5740,13 +5540,6 @@ has-bigints@^1.0.1: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== -has-binary2@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" - integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== - dependencies: - isarray "2.0.1" - has-cors@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" @@ -5896,9 +5689,9 @@ http-proxy-agent@^5.0.0: debug "4" http-proxy-middleware@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz#5df04f69a89f530c2284cd71eeaa51ba52243289" - integrity sha512-1bloEwnrHMnCoO/Gcwbz7eSVvW50KPES01PecpagI+YLNLci4AcuKJrujW4Mc3sBLpFxMSlsLNHS5Nl/lvrTPA== + version "2.0.4" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" + integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -6041,11 +5834,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -6402,11 +6190,6 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" - integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= - isarray@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -6766,9 +6549,9 @@ jws@^3.2.2: safe-buffer "^5.0.1" karma-chrome-launcher@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" - integrity sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" + integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== dependencies: which "^1.2.1" @@ -7114,10 +6897,10 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.3.1, lru-cache@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.4.1.tgz#afe07e885ef0cd5bf99f62f4fa7545d48746d779" - integrity sha512-NCD7/WRlFmADccuHjsRUYqdluYBr//n/O0fesCb/n52FoGcgKh8o4Dpm7YIbZwVcDs8rPBQbCZLmWWsp6m+xGQ== +lru-cache@^7.3.1, lru-cache@^7.4.1: + version "7.5.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.5.0.tgz#5e14318d64e6f180a5cf3b9b955b2e89376c0efe" + integrity sha512-8neUvdgNtubJ+VNNqrqOLjUoIlN+NRPFtv1Vne2rQ4uPCxhp0W4TlqntzTLnVVezGXcSSdXTrKCTYooEQA7X6g== lru-queue@^0.1.0: version "0.1.0" @@ -7180,9 +6963,9 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3: - version "10.0.4" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.4.tgz#309823c7a2b4c947465274220e169112c977b94f" - integrity sha512-CiReW6usy3UXby5N46XjWfLPFPq1glugCszh18I0NYJCwr129ZAx9j3Dlv+cRsK0q3VjlVysEzhdtdw2+NhdYA== + version "10.0.5" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.5.tgz#006e0c5579224832c732c35b7bcc43c8602da775" + integrity sha512-0JQ0daMRDFEv14DelmcFlprdhSDNG7WEgInTjBeWYWZ78W0jfDqygZdPLhcrQ4s/G8skNhBrS4fiF6xA+YlFjQ== dependencies: agentkeepalive "^4.2.1" cacache "^15.3.0" @@ -7190,10 +6973,10 @@ make-fetch-happen@^10.0.3: http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^7.4.0" + lru-cache "^7.4.1" minipass "^3.1.6" minipass-collect "^1.0.2" - minipass-fetch "^2.0.1" + minipass-fetch "^2.0.2" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" negotiator "^0.6.3" @@ -7272,22 +7055,17 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -"mime-db@>= 1.43.0 < 2": +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.51.0" + mime-db "1.52.0" mime@1.4.1: version "1.4.1" @@ -7378,10 +7156,10 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.0.2.tgz#5ea5fb9a2e24ccd3cfb489563540bb4024fc6c31" - integrity sha512-M63u5yWX0yxY1C3DcLVY1xWai0pNM3qa1xCMXFgdejY5F/NTmyzNVHGcBxKerX51lssqxwWWTjpg/ZPuD39gOQ== +minipass-fetch@^2.0.1, minipass-fetch@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.0.3.tgz#688bbd0c2b019642778dc808b6950dd908d192b3" + integrity sha512-VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ== dependencies: minipass "^3.1.6" minipass-sized "^1.0.3" @@ -7536,11 +7314,6 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - ng-packagr@14.0.0-next.2: version "14.0.0-next.2" resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.2.tgz#787797bfa6c74bbc87bb896cd8099c4b76b6c610" @@ -8296,9 +8069,9 @@ postcss-attribute-case-insensitive@^5.0.0: postcss-selector-parser "^6.0.2" postcss-clamp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.0.0.tgz#766d3dbaa2dc56e8bea1b690291b632c0c5bf728" - integrity sha512-FsMmeBZtymFN7Jtlnw9is8I4nB+qEEb/qS0ZLTIqcKiwZyHBq44Yhv29Q+VQsTGHYFqIr/s/9tqvNM7j+j1d+g== + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" + integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== dependencies: postcss-value-parser "^4.2.0" @@ -8350,9 +8123,9 @@ postcss-dir-pseudo-class@^6.0.4: postcss-selector-parser "^6.0.9" postcss-double-position-gradients@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.0.tgz#a8614fb3a2a4b8877bffb8961b770e00322bbad1" - integrity sha512-oz73I08yMN3oxjj0s8mED1rG+uOYoK3H8N9RjQofyg52KBRNmePJKg3fVwTpL2U5ZFbCzXoZBsUD/CvZdlqE4Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz#a12cfdb7d11fa1a99ccecc747f0c19718fb37152" + integrity sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -8410,9 +8183,9 @@ postcss-initial@^4.0.1: integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== postcss-lab-function@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.1.tgz#8b37dfcb9ca4ff82bbe7192c7ba3cc2bccbc0ef1" - integrity sha512-j3Z0WQCimY2tMle++YcmygnnVbt6XdnrCV1FO2IpzaCSmtTF2oO8h4ZYUA1Q+QHYroIiaWPvNHt9uBR4riCksQ== + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.2.tgz#b75afe43ba9c1f16bfe9bb12c8109cabd55b5fc2" + integrity sha512-isudf5ldhg4fk16M8viAwAbg6Gv14lVO35N3Z/49NhbwPQ2xbiEoHgrRgpgQojosF4vF7jY653ktB6dDrUOR8Q== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -8980,9 +8753,9 @@ read-package-json@^2.0.0: npm-normalize-package-bin "^1.0.0" read-package-json@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" - integrity sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw== + version "4.1.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.2.tgz#b444d047de7c75d4a160cb056d00c0693c1df703" + integrity sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ== dependencies: glob "^7.1.1" json-parse-even-better-errors "^2.3.0" @@ -9325,9 +9098,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.66.1: - version "2.70.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.0.tgz#17a92e5938e92a251b962352e904c9f558230ec7" - integrity sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA== + version "2.70.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.1.tgz#824b1f1f879ea396db30b0fc3ae8d2fead93523e" + integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== optionalDependencies: fsevents "~2.3.2" @@ -9362,14 +9135,7 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.2.0, rxjs@^7.5.2: - version "7.5.4" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" - integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== - dependencies: - tslib "^2.1.0" - -rxjs@^7.5.5: +rxjs@^7.2.0, rxjs@^7.5.2, rxjs@^7.5.5: version "7.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== @@ -9419,6 +9185,7 @@ sass@1.49.9, sass@^1.49.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -9696,50 +9463,22 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socket.io-adapter@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" - integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== - socket.io-adapter@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz#4d6111e4d42e9f7646e365b4f578269821f13486" integrity sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ== -socket.io-client@2.4.0, socket.io-client@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" - integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== +socket.io-client@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.4.1.tgz#b6aa9448149d09b8d0b2bbf3d2fac310631fdec9" + integrity sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ== dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "~1.3.0" - debug "~3.1.0" - engine.io-client "~3.5.0" - has-binary2 "~1.0.2" - indexof "0.0.1" - parseqs "0.0.6" + "@socket.io/component-emitter" "~3.0.0" + backo2 "~1.0.2" + debug "~4.3.2" + engine.io-client "~6.1.1" parseuri "0.0.6" - socket.io-parser "~3.3.0" - to-array "0.1.4" - -socket.io-parser@~3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" - integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== - dependencies: - component-emitter "~1.3.0" - debug "~3.1.0" - isarray "2.0.1" - -socket.io-parser@~3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" - integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== - dependencies: - component-emitter "1.2.1" - debug "~4.1.0" - isarray "2.0.1" + socket.io-parser "~4.1.1" socket.io-parser@~4.0.4: version "4.0.4" @@ -9750,19 +9489,15 @@ socket.io-parser@~4.0.4: component-emitter "~1.3.0" debug "~4.3.1" -socket.io@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.0.tgz#01030a2727bd8eb2e85ea96d69f03692ee53d47e" - integrity sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ== +socket.io-parser@~4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.1.2.tgz#0a97d4fb8e67022158a568450a6e41887e42035e" + integrity sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog== dependencies: - debug "~4.1.0" - engine.io "~3.5.0" - has-binary2 "~1.0.2" - socket.io-adapter "~1.1.0" - socket.io-client "2.4.0" - socket.io-parser "~3.4.0" + "@socket.io/component-emitter" "~3.0.0" + debug "~4.3.1" -socket.io@^4.2.0: +socket.io@^4.2.0, socket.io@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.1.tgz#cd6de29e277a161d176832bb24f64ee045c56ab8" integrity sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg== @@ -10049,11 +9784,11 @@ stream-throttle@^0.1.3: limiter "^1.0.5" streamroller@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.4.tgz#27ad87339d829483f89c5f33fd60ea6731e4183c" - integrity sha512-GI9NzeD+D88UFuIlJkKNDH/IsuR+qIN7Qh8EsmhoRZr9bQoehTraRgwtLUkZbpcAw+hLPfHOypmppz8YyGK68w== + version "3.0.5" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.5.tgz#17e348dc2a662f9f325373549ab91d55316051ab" + integrity sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g== dependencies: - date-format "^4.0.4" + date-format "^4.0.5" debug "^4.3.3" fs-extra "^10.0.1" @@ -10367,11 +10102,6 @@ tmp@^0.2.1: dependencies: rimraf "^3.0.0" -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -10461,9 +10191,9 @@ ts-node@^10.0.0: yn "3.1.1" tsconfig-paths@^3.12.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.13.0.tgz#f3e9b8f6876698581d94470c03c95b3a48c0e3d7" - integrity sha512-nWuffZppoaYK0vQ1SQmkSsQzJoHA4s6uzdb2waRpD806x9yfq153AdVsWz4je2qZcW+pENrMQXbGQ3sMCkXuhw== + version "3.14.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" + integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -10582,9 +10312,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.2.tgz#1ed2c976f448063b1f87adb68c741be79959f951" - integrity sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A== + version "3.15.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz#9aa82ca22419ba4c0137642ba0df800cb06e0471" + integrity sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg== unbox-primitive@^1.0.1: version "1.0.1" @@ -11178,11 +10908,6 @@ ws@^7.0.0: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== -ws@~7.4.2: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - ws@~8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" @@ -11216,10 +10941,10 @@ xmlchars@^2.1.1: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmlhttprequest-ssl@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" - integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== xtend@~4.0.1: version "4.0.2" From ca401255f49568cfe5f9ec6a35ea5b91c91afa70 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 14 Mar 2022 18:18:14 +0100 Subject: [PATCH 0179/1388] fix(@angular/cli): sort commands in help output --- packages/angular/cli/src/command-builder/command-runner.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index f2fc06776ceb..809323a5909a 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -49,7 +49,7 @@ const COMMANDS = [ NewCommandModule, UpdateCommandModule, RunCommandModule, -]; +].sort(); // Will be sorted by class name. const yargsParser = Parser as unknown as typeof Parser.default; From 054ae02c2fb8eed52af76cf39a432a3770d301e4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 10:47:09 +0100 Subject: [PATCH 0180/1388] fix(@angular/cli): favor project in cwd when running architect commands When running architect command such as `ng build`, `ng test`, `ng lint`... and no project is provided as a positional argument. The project in the current working directory is favored instead of the configured as default project. --- .../architect-command-module.ts | 12 ++++------- .../tests/commands/builder-project-by-cwd.ts | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/builder-project-by-cwd.ts diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index 8b46470f9d86..e51fe0cb6ff5 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -7,6 +7,7 @@ */ import { Argv } from 'yargs'; +import { getProjectByCwd } from '../utilities/config'; import { ArchitectBaseCommandModule } from './architect-base-command-module'; import { CommandModuleError, @@ -127,14 +128,9 @@ export abstract class ArchitectCommandModule // For multi target commands, we always list all projects that have the target. return allProjectsForTargetName; } else { - // For single target commands, we try the default project first, - // then the full list if it has a single project, then error out. - const maybeDefaultProject = workspace.extensions['defaultProject']; - if ( - typeof maybeDefaultProject === 'string' && - allProjectsForTargetName.includes(maybeDefaultProject) - ) { - return [maybeDefaultProject]; + const maybeProject = getProjectByCwd(workspace); + if (maybeProject && allProjectsForTargetName.includes(maybeProject)) { + return [maybeProject]; } if (allProjectsForTargetName.length === 1) { diff --git a/tests/legacy-cli/e2e/tests/commands/builder-project-by-cwd.ts b/tests/legacy-cli/e2e/tests/commands/builder-project-by-cwd.ts new file mode 100644 index 000000000000..77da67a09a4b --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/builder-project-by-cwd.ts @@ -0,0 +1,21 @@ +import { join } from 'path'; +import { expectFileToExist } from '../../utils/fs'; +import { ng } from '../../utils/process'; + +export default async function () { + await ng('generate', 'app', 'second-app', '--skip-install'); + await ng('generate', 'app', 'third-app', '--skip-install'); + const startCwd = process.cwd(); + + try { + // When no project is provided it should favor the project that is located in the current working directory. + process.chdir(join(startCwd, 'projects/second-app')); + await ng('build', '--configuration=development'); + + process.chdir(startCwd); + await expectFileToExist('dist/second-app'); + } finally { + // restore path + process.chdir(startCwd); + } +} From 9c8b3a16f6c90dccc47653de842e6949c5333a1a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 15 Mar 2022 05:22:58 +0000 Subject: [PATCH 0181/1388] build: update all non-major dependencies --- package.json | 18 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 12 +- yarn.lock | 392 ++++++++++++++---- 4 files changed, 338 insertions(+), 86 deletions(-) diff --git a/package.json b/package.json index c2b93c381314..ffe3ba8b8379 100644 --- a/package.json +++ b/package.json @@ -78,14 +78,14 @@ "@angular/platform-server": "14.0.0-next.6", "@angular/router": "14.0.0-next.6", "@angular/service-worker": "14.0.0-next.6", - "@babel/core": "7.17.5", - "@babel/generator": "7.17.3", + "@babel/core": "7.17.7", + "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.2", + "@babel/runtime": "7.17.7", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "4.2.5", @@ -117,8 +117,8 @@ "@types/uuid": "^8.0.0", "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", - "@typescript-eslint/eslint-plugin": "5.14.0", - "@typescript-eslint/parser": "5.14.0", + "@typescript-eslint/eslint-plugin": "5.15.0", + "@typescript-eslint/parser": "5.15.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", "ajv-formats": "2.1.1", @@ -134,8 +134,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.26", - "esbuild-wasm": "0.14.26", + "esbuild": "0.14.27", + "esbuild-wasm": "0.14.27", "eslint": "8.11.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -173,7 +173,7 @@ "npm-package-arg": "9.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.3", + "pacote": "13.0.4", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", @@ -204,7 +204,7 @@ "symbol-observable": "4.0.0", "tar": "^6.1.6", "temp": "^0.9.0", - "terser": "5.12.0", + "terser": "5.12.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 3ddcc8d9a078..7ae4ca6c2ca9 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.3", + "pacote": "13.0.4", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1412a1b45f6b..c6d58adb7498 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.5", - "@babel/generator": "7.17.3", + "@babel/core": "7.17.7", + "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.2", + "@babel/runtime": "7.17.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -30,7 +30,7 @@ "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.26", + "esbuild-wasm": "0.14.27", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.1", @@ -60,7 +60,7 @@ "source-map-support": "0.5.21", "stylus": "0.56.0", "stylus-loader": "6.2.0", - "terser": "5.12.0", + "terser": "5.12.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", @@ -71,7 +71,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.26" + "esbuild": "0.14.27" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index dd355740fde8..d8158061023c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -293,6 +293,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== +"@babel/compat-data@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" + integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== + "@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" @@ -314,6 +319,27 @@ json5 "^2.1.2" semver "^6.3.0" +"@babel/core@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" + integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.7" + "@babel/parser" "^7.17.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/generator@7.17.3", "@babel/generator@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" @@ -323,6 +349,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@7.17.7", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -348,6 +383,16 @@ browserslist "^4.17.5" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" + integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": version "7.17.6" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" @@ -448,6 +493,20 @@ "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" +"@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" @@ -487,6 +546,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -530,6 +596,15 @@ "@babel/traverse" "^7.17.0" "@babel/types" "^7.17.0" +"@babel/helpers@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127" + integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + "@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" @@ -544,6 +619,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== +"@babel/parser@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" + integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1146,6 +1226,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" + integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1533,7 +1620,7 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -"@npmcli/move-file@^1.0.1": +"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== @@ -1553,7 +1640,7 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^3.0.0": +"@npmcli/run-script@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.1.tgz#9d10b46586300074cc9e53ef320130a69567e1ce" integrity sha512-o2fkld5hYwu9sKYzoXTpqEocMnDLaigobaPzLaGB63k/ExmLBTaB+KpfKlpcIePPnuP8RFR+0GDI4KopJCM6Xg== @@ -2221,14 +2308,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz#5119b67152356231a0e24b998035288a9cd21335" - integrity sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w== +"@typescript-eslint/eslint-plugin@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz#c28ef7f2e688066db0b6a9d95fb74185c114fb9a" + integrity sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA== dependencies: - "@typescript-eslint/scope-manager" "5.14.0" - "@typescript-eslint/type-utils" "5.14.0" - "@typescript-eslint/utils" "5.14.0" + "@typescript-eslint/scope-manager" "5.15.0" + "@typescript-eslint/type-utils" "5.15.0" + "@typescript-eslint/utils" "5.15.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2236,69 +2323,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.14.0.tgz#7c79f898aa3cff0ceee6f1d34eeed0f034fb9ef3" - integrity sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw== +"@typescript-eslint/parser@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.15.0.tgz#95f603f8fe6eca7952a99bfeef9b85992972e728" + integrity sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ== dependencies: - "@typescript-eslint/scope-manager" "5.14.0" - "@typescript-eslint/types" "5.14.0" - "@typescript-eslint/typescript-estree" "5.14.0" + "@typescript-eslint/scope-manager" "5.15.0" + "@typescript-eslint/types" "5.15.0" + "@typescript-eslint/typescript-estree" "5.15.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz#ea518962b42db8ed0a55152ea959c218cb53ca7b" - integrity sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw== +"@typescript-eslint/scope-manager@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz#d97afab5e0abf4018d1289bd711be21676cdd0ee" + integrity sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg== dependencies: - "@typescript-eslint/types" "5.14.0" - "@typescript-eslint/visitor-keys" "5.14.0" + "@typescript-eslint/types" "5.15.0" + "@typescript-eslint/visitor-keys" "5.15.0" -"@typescript-eslint/type-utils@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz#711f08105860b12988454e91df433567205a8f0b" - integrity sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw== +"@typescript-eslint/type-utils@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz#d2c02eb2bdf54d0a645ba3a173ceda78346cf248" + integrity sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA== dependencies: - "@typescript-eslint/utils" "5.14.0" + "@typescript-eslint/utils" "5.15.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.14.0.tgz#96317cf116cea4befabc0defef371a1013f8ab11" - integrity sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw== +"@typescript-eslint/types@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.15.0.tgz#c7bdd103843b1abae97b5518219d3e2a0d79a501" + integrity sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA== -"@typescript-eslint/typescript-estree@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz#78b7f7385d5b6f2748aacea5c9b7f6ae62058314" - integrity sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA== +"@typescript-eslint/typescript-estree@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz#81513a742a9c657587ad1ddbca88e76c6efb0aac" + integrity sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA== dependencies: - "@typescript-eslint/types" "5.14.0" - "@typescript-eslint/visitor-keys" "5.14.0" + "@typescript-eslint/types" "5.15.0" + "@typescript-eslint/visitor-keys" "5.15.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.14.0.tgz#6c8bc4f384298cbbb32b3629ba7415f9f80dc8c4" - integrity sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w== +"@typescript-eslint/utils@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.15.0.tgz#468510a0974d3ced8342f37e6c662778c277f136" + integrity sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.14.0" - "@typescript-eslint/types" "5.14.0" - "@typescript-eslint/typescript-estree" "5.14.0" + "@typescript-eslint/scope-manager" "5.15.0" + "@typescript-eslint/types" "5.15.0" + "@typescript-eslint/typescript-estree" "5.15.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.14.0": - version "5.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz#1927005b3434ccd0d3ae1b2ecf60e65943c36986" - integrity sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw== +"@typescript-eslint/visitor-keys@5.15.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz#5669739fbf516df060f978be6a6dce75855a8027" + integrity sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ== dependencies: - "@typescript-eslint/types" "5.14.0" + "@typescript-eslint/types" "5.15.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -3284,6 +3371,30 @@ cacache@15.3.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" +cacache@^16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.0.tgz#891149a9f9b0c8bbe6cd84d8ac246d6cf5ff429e" + integrity sha512-pMX6sqJSlGpxCM257by5syifGb7zH6C30CaJXeGXqmKNrHKqvMmwM8KgKmsZcUAsnNQkt7WvENH2Kl53RpFQuA== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.1.2" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.11" + unique-filename "^1.1.1" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4402,6 +4513,11 @@ esbuild-android-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.26.tgz#c5cc52e1372b680e3e782583fa826b248a550a3d" integrity sha512-HIyJ3VvigHfseaI0D+vsD8zKQ4roDUD962/vtO/KXzav6wR//Y//Qx1HUX8k5bQeQ7/0yCXlltY9VBw1MFnWFQ== +esbuild-android-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" + integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== + esbuild-android-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" @@ -4412,6 +4528,11 @@ esbuild-android-arm64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.26.tgz#675695134565b0a39d8e3f7a0bd0f4c1ddea5f29" integrity sha512-TxRCLxyU5yj3U8Bud9fCg3IxzIXXKaWcmDbvURm8JkRr0WvCAmwZBdLi5T8BasT1v5vrVE//M0KSHZod6HC6lA== +esbuild-android-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" + integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== + esbuild-darwin-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" @@ -4422,6 +4543,11 @@ esbuild-darwin-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.26.tgz#7d83ba28bf178d21645b8118cb3280aad84e30ff" integrity sha512-oZJBN+CkR47Fc7KB1vowZy2kb5r+WSnsBjVEw7aI8HmR6louAgTr4bs1NwzaF6MbLi41ajaw6RdipfsM1H9PvQ== +esbuild-darwin-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" + integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== + esbuild-darwin-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" @@ -4432,6 +4558,11 @@ esbuild-darwin-arm64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.26.tgz#4567ade51ba2f5f46c32a5b08880a93c7a683440" integrity sha512-eYW+cmP3BGVPDp+wd9bRI5CN5HjkZnrMQtj46Mj//UsSh4SRvflAp3pjs3ooA+MCpIa9xZ8091HqLqpYi7KFWA== +esbuild-darwin-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" + integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== + esbuild-freebsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" @@ -4442,6 +4573,11 @@ esbuild-freebsd-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.26.tgz#e03526cd6e5e06e6b3ba405524d62b486bd5519a" integrity sha512-Q+Hs27fSBkNfUHNhphSyWfF5lxl3o9S6LFlzkC5KofxLCnCESP+7YTzAWTosYGANsPT2mvYFOraFeYEokG+5DA== +esbuild-freebsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" + integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== + esbuild-freebsd-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" @@ -4452,6 +4588,11 @@ esbuild-freebsd-arm64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.26.tgz#7ddbbefdb51edcc48158aa8752041090a1e54f22" integrity sha512-MT+FuC/63oz6j/jvWOMCNqnHBYm/bNhGPArUgQX8GRhofFCeqe0NRmJbhtlHZaEeErIIjHPZQ/nXs34mfiqo/Q== +esbuild-freebsd-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" + integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== + esbuild-linux-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" @@ -4462,6 +4603,11 @@ esbuild-linux-32@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.26.tgz#82d8c050dac0d1103dec2ad6537e419dc2247476" integrity sha512-9gqSfJ8qMDvz7wXZoinNoe9/ekPpbT+/ZgVfZEeB72ETITVPHvMbG8i0E12wG366G01vMXtlxbD9IYJsMVhe6w== +esbuild-linux-32@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" + integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== + esbuild-linux-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" @@ -4472,6 +4618,11 @@ esbuild-linux-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.26.tgz#f06b38cc28d84c688b587a54125c0122bf871c07" integrity sha512-aPku1lCxxXmBr5LkENSlGIbY33jjQExDzaSrNV+dDA5bHXhFnpI9UkSe+vQzrSkxgO66vNjSTNDcxg3pOXBaBw== +esbuild-linux-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" + integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== + esbuild-linux-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" @@ -4482,6 +4633,11 @@ esbuild-linux-arm64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.26.tgz#235a70b2f71933f814e8b14531c584974b52d972" integrity sha512-S0boyzv5Yx+IN1A8253nEPzHqn/W/y+CRcLYFZ1E5DscqkY7EvBao6rhff3ZxaHU9Zrkn0pLVqlJdMx3rm6D4Q== +esbuild-linux-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" + integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== + esbuild-linux-arm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" @@ -4492,6 +4648,11 @@ esbuild-linux-arm@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.26.tgz#709a303ae0794457d6c41d0df4f3fafb9de24b1d" integrity sha512-m7ozLQozfgBmh9l3HWxDEVYEEG8GuTqzRoFuf9iX0xAlbtqmhhlm7M4zNMa2eyPEG+ejgHndAuvuB1hcOWvdJw== +esbuild-linux-arm@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" + integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== + esbuild-linux-mips64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" @@ -4502,6 +4663,11 @@ esbuild-linux-mips64le@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.26.tgz#b1a26af4e33d36dafea7579f876c5e2041c2236e" integrity sha512-TyMRc2ctQV1g9ruHg1Y793e18uDigKKsgzcZPzfxZi2z+hGK1uaSdaejGdULEJBJVMXt3/NC1T1yq0vCTiYYgg== +esbuild-linux-mips64le@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" + integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== + esbuild-linux-ppc64le@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" @@ -4512,6 +4678,11 @@ esbuild-linux-ppc64le@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.26.tgz#1de1b2e5d93e3327b3a66520722ed8cb7d8d606a" integrity sha512-aOJPP80m2gV8CyDqEMGbwZaGKuR45tZU1qYZ0+Cy8lWV4CWmd9iBWhCLP3eI9d7163m6t+0YO/6N3iLSVlNnpA== +esbuild-linux-ppc64le@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" + integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== + esbuild-linux-riscv64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" @@ -4522,6 +4693,11 @@ esbuild-linux-riscv64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.26.tgz#4dc147218a2ed5c796fe1abc832703fd4e991108" integrity sha512-2E5xK7SNZFXhFzRbZGtUqg3MbHnrx5XzqHaGLOLdHBqOSWIAdJKB3w6WtjpLkZvPuWrKeh51XnRpk1jm0TsUjQ== +esbuild-linux-riscv64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" + integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== + esbuild-linux-s390x@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" @@ -4532,6 +4708,11 @@ esbuild-linux-s390x@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.26.tgz#12affff5f2d820e238cc5aa9aa7fd5f8f53c8d64" integrity sha512-kfSuFea857mTYMp/RAFmMp9TBjf1T8F/dTRqLn2p+g8Ok30Cp1+mI2+YCmxz5Uw2JOfxyvpND0Ek1PGPMo1UsQ== +esbuild-linux-s390x@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" + integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== + esbuild-netbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" @@ -4542,6 +4723,11 @@ esbuild-netbsd-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.26.tgz#7a1a0962f0c15e5ff945004626e9f038da0076bb" integrity sha512-tWhLwfOOqdZRwvaSYIWuic9Cj+WRRCLHe//Bmlf0ThBur9/EssRTtVh6/rC2Okp7Eb4QcerA/1wjWLYLECYD7g== +esbuild-netbsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" + integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== + esbuild-openbsd-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" @@ -4552,6 +4738,11 @@ esbuild-openbsd-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.26.tgz#68e2949986fba77f17dfb86ee5b4e1f37cd302ca" integrity sha512-Xj7IWpsPn/hgKNzwjLpnf6wMtV0lfw5bzn7N9vmiCKx9TBA28L2hI8G15O0s9atLKny4HpmCGwZWmReNF1Ui6g== +esbuild-openbsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" + integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== + esbuild-sunos-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" @@ -4562,12 +4753,22 @@ esbuild-sunos-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.26.tgz#a5c7930a7e86b7bd696aaf8379fd761d4feb1332" integrity sha512-5odPsuhghCUYc3c1gEtz6pGq9cuGRDq1+iNdLBjZcz6IUebd0ay/AVORWchs5WddzyJA9hguxrKsPjECxX6OzQ== +esbuild-sunos-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" + integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== + esbuild-wasm@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-wasm@0.14.26, esbuild-wasm@^0.14.14: +esbuild-wasm@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" + integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== + +esbuild-wasm@^0.14.14: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.26.tgz#3680880c3d0efdc83b15a2e075e167fe8336dfcb" integrity sha512-SdEhu5Jk3Rqgw6VBK9stgwHSxc80dkLNfZJAM0wqbU4lw/xa5GMhLeOZ9l6LpTB2f6Teixmy7y2hvMtCu/ycLA== @@ -4582,6 +4783,11 @@ esbuild-windows-32@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.26.tgz#3eb5b7702355487e5939992f2cff2b0afdee9aa1" integrity sha512-xSVyGV6xGQlAC/K+oBXC9YiGGqoKqQGXVEFQKlDGXD6rxHGK5Fch0ynuvkjaYWW/p8OWqxGVYcof5BvGjY49RA== +esbuild-windows-32@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" + integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== + esbuild-windows-64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" @@ -4592,6 +4798,11 @@ esbuild-windows-64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.26.tgz#7fb4bf6e1ad27ecd463294df6ad60b27c9f09197" integrity sha512-Q0Bm42+wIqHJ8yF96T7nXosILXROegRtMmuI1L0kry0YBHnCFMtjNRTyUwv8yi7o2XvVYh7DF0NHLDL4N34MuA== +esbuild-windows-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" + integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== + esbuild-windows-arm64@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" @@ -4602,6 +4813,11 @@ esbuild-windows-arm64@0.14.26: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.26.tgz#3bff0b46a884ff8de3f6f5a82b171b08012b78e0" integrity sha512-+l0DB0VV4LiSoDfNsGviK/2M88IR+/fOUfQoQx08RPu7OZ7gv9BqhRLZCSCT4qHT351OTH1nPv7avRXX6JRQcg== +esbuild-windows-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" + integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== + esbuild@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" @@ -4627,7 +4843,33 @@ esbuild@0.14.23: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" -esbuild@0.14.26, esbuild@^0.14.14: +esbuild@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" + integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== + optionalDependencies: + esbuild-android-64 "0.14.27" + esbuild-android-arm64 "0.14.27" + esbuild-darwin-64 "0.14.27" + esbuild-darwin-arm64 "0.14.27" + esbuild-freebsd-64 "0.14.27" + esbuild-freebsd-arm64 "0.14.27" + esbuild-linux-32 "0.14.27" + esbuild-linux-64 "0.14.27" + esbuild-linux-arm "0.14.27" + esbuild-linux-arm64 "0.14.27" + esbuild-linux-mips64le "0.14.27" + esbuild-linux-ppc64le "0.14.27" + esbuild-linux-riscv64 "0.14.27" + esbuild-linux-s390x "0.14.27" + esbuild-netbsd-64 "0.14.27" + esbuild-openbsd-64 "0.14.27" + esbuild-sunos-64 "0.14.27" + esbuild-windows-32 "0.14.27" + esbuild-windows-64 "0.14.27" + esbuild-windows-arm64 "0.14.27" + +esbuild@^0.14.14: version "0.14.26" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.26.tgz#c83493ef55163d976241cc8ed077baf991f21201" integrity sha512-v0zIYlFB9NZ82/hFljhvpA7f8rob66r68ymB7juMz6TYAAMYjKGoW+hrMfRRvic5MAOI2wE/SuykFvsELLa6eA== @@ -7450,7 +7692,7 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -npm-bundled@^1.1.1: +npm-bundled@^1.1.1, npm-bundled@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== @@ -7478,14 +7720,14 @@ npm-package-arg@9.0.0, npm-package-arg@^9.0.0: semver "^7.3.5" validate-npm-package-name "^3.0.0" -npm-packlist@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-3.0.0.tgz#0370df5cfc2fcc8f79b8f42b37798dd9ee32c2a9" - integrity sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ== +npm-packlist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-4.0.0.tgz#ba54713f8ee2ad919a6dc9f1b9ec7aa291466703" + integrity sha512-gL6XC/iw9YSmqArmZOGSkyy+yIZf2f7uH0p4Vmxef/irn73vd9/rDkCtvm+a9rh/QK2xGYfCAMOghM06ymzC0A== dependencies: - glob "^7.1.6" + glob "^7.2.0" ignore-walk "^4.0.1" - npm-bundled "^1.1.1" + npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: @@ -7498,7 +7740,7 @@ npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-registry-fetch@^13.0.0: +npm-registry-fetch@^13.0.1: version "13.0.1" resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.0.1.tgz#ceecbaab9f1d0d911e1c01a5be2be96d45e472f5" integrity sha512-Ak+LXVtSrCLOdscFW/apUw67OPNph8waHsPKM9UOJosL7i59EF5XoSWQMEsXEOeifM9Bb4/2+WrQC4t/pd8DGg== @@ -7768,28 +8010,28 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.0.3: - version "13.0.3" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.3.tgz#0b9654c1aa5eb2b9af28aa259f15e556e7187422" - integrity sha512-8thQ06YoO01O1k5rvSpHS/XPJZucw2DPiiT1jI+ys8QaTN6ifAyxfyoABHBa8nIt/4wPdzly4GEPqshctHFoYA== +pacote@13.0.4: + version "13.0.4" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.4.tgz#2ee8d41b086b412bd44266dc4915ff821d60d084" + integrity sha512-uhkG1ZclRmL+9O2vfrDUIDSTPIbSClCe9BUySy8IAkuF80eG51yZB+9hfStOF/O0LwVn7PcjqdGe+SJPxRp7jg== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^3.0.0" - cacache "^15.3.0" + "@npmcli/run-script" "^3.0.1" + cacache "^16.0.0" chownr "^2.0.0" fs-minipass "^2.1.0" infer-owner "^1.0.4" minipass "^3.1.6" mkdirp "^1.0.4" npm-package-arg "^9.0.0" - npm-packlist "^3.0.0" + npm-packlist "^4.0.0" npm-pick-manifest "^7.0.0" - npm-registry-fetch "^13.0.0" + npm-registry-fetch "^13.0.1" proc-log "^2.0.0" promise-retry "^2.0.1" - read-package-json "^4.1.1" + read-package-json "^4.1.2" read-package-json-fast "^2.0.3" rimraf "^3.0.2" ssri "^8.0.1" @@ -8752,7 +8994,7 @@ read-package-json@^2.0.0: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" -read-package-json@^4.1.1: +read-package-json@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.2.tgz#b444d047de7c75d4a160cb056d00c0693c1df703" integrity sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ== @@ -10013,7 +10255,17 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" -terser@5.12.0, terser@^5.7.2: +terser@5.12.1: + version "5.12.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" + integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + +terser@^5.7.2: version "5.12.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== From 455c6bc679f0fc183be45dd0a428257718dd17df Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 15 Mar 2022 15:35:18 +0000 Subject: [PATCH 0182/1388] build: update dependency cacache to v16 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index ffe3ba8b8379..4bae2c9214ea 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "15.3.0", + "cacache": "16.0.0", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c6d58adb7498..80178b047424 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "15.3.0", + "cacache": "16.0.0", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", diff --git a/yarn.lock b/yarn.lock index d8158061023c..bfaa5704ca46 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3371,7 +3371,7 @@ cacache@15.3.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@^16.0.0: +cacache@16.0.0, cacache@^16.0.0: version "16.0.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.0.tgz#891149a9f9b0c8bbe6cd84d8ac246d6cf5ff429e" integrity sha512-pMX6sqJSlGpxCM257by5syifGb7zH6C30CaJXeGXqmKNrHKqvMmwM8KgKmsZcUAsnNQkt7WvENH2Kl53RpFQuA== From b8564a638df3b6971ef2ac8fb838e6a7c910ac3b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Mar 2022 11:42:18 +0100 Subject: [PATCH 0183/1388] refactor(@angular-devkit/build-angular): remove deprecated `NG_BUILD_CACHE` environment variable BREAKING CHANGE: `NG_BUILD_CACHE` environment variable has been removed. `cli.cache` in the workspace configuration should be used instead. --- .../src/utils/environment-options.ts | 20 ------------------- .../src/utils/normalize-cache.ts | 5 ----- 2 files changed, 25 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/environment-options.ts b/packages/angular_devkit/build_angular/src/utils/environment-options.ts index 17be9238fa6e..d896cef0d87b 100644 --- a/packages/angular_devkit/build_angular/src/utils/environment-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/environment-options.ts @@ -6,8 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { colors } from './color'; - function isDisabled(variable: string): boolean { return variable === '0' || variable.toLowerCase() === 'false'; } @@ -77,21 +75,3 @@ export const allowMinify = debugOptimize.minify; */ const maxWorkersVariable = process.env['NG_BUILD_MAX_WORKERS']; export const maxWorkers = isPresent(maxWorkersVariable) ? +maxWorkersVariable : 4; - -// Build cache -const cacheVariable = process.env['NG_BUILD_CACHE']; -export const cachingDisabled = (() => { - if (!isPresent(cacheVariable)) { - return null; - } - - // eslint-disable-next-line no-console - console.warn( - colors.yellow( - `Warning: 'NG_BUILD_CACHE' environment variable support will be removed in version 14.\n` + - `Configure 'cli.cache' in the workspace configuration instead.`, - ), - ); - - return isDisabled(cacheVariable); -})(); diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-cache.ts b/packages/angular_devkit/build_angular/src/utils/normalize-cache.ts index 5cc6585e8735..7d8c10053b6a 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-cache.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-cache.ts @@ -8,7 +8,6 @@ import { json } from '@angular-devkit/core'; import { join, resolve } from 'path'; -import { cachingDisabled } from './environment-options'; import { VERSION } from './package-version'; export interface NormalizedCachedOptions { @@ -39,10 +38,6 @@ export function normalizeCacheOptions( const isCI = process.env['CI'] === '1' || process.env['CI']?.toLowerCase() === 'true'; let cacheEnabled = enabled; - if (cachingDisabled !== null) { - cacheEnabled = !cachingDisabled; - } - if (cacheEnabled) { switch (environment) { case 'ci': From afafa5788f11b8727c39bb0a390300a706aba5bc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 18:22:27 +0100 Subject: [PATCH 0184/1388] feat(@angular/cli): add `--global` option to `ng analytics` command With this change we add a `--global` option to `ng analytics` command. BREAKING CHANGE: Several changes to the `ng analytics` command syntax. - `ng analytics project ` has been replaced with `ng analytics ` - `ng analytics ` has been replaced with `ng analytics --global` --- docs/design/analytics.md | 2 +- .../angular/cli/src/analytics/analytics.ts | 4 +- .../angular/cli/src/commands/analytics/cli.ts | 60 +++++++------------ .../commands/analytics/long-description.md | 3 +- .../e2e/tests/commands/help/help-json.ts | 23 ++++--- 5 files changed, 36 insertions(+), 56 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index a3a2785eeba5..6ff986e389a7 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -111,7 +111,7 @@ See [the `debug` NPM library](https://www.npmjs.com/package/debug) for more info There are 2 ways of disabling usage analytics: -1. using `ng analytics off` (or changing the global configuration file yourself). This is the same +1. using `ng analytics off --global` (or changing the global configuration file yourself). This is the same as answering "No" to the prompt. 1. There is an `NG_CLI_ANALYTICS` environment variable that overrides the global configuration. That flag is a string that represents the User ID. If the string `"false"` is used it will diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 34febb2a9dbc..95486cfb771e 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -118,7 +118,7 @@ export async function promptGlobalAnalytics(force = false) { Thank you for sharing anonymous usage data. If you change your mind, the following command will disable this feature entirely: - ${colors.yellow('ng analytics off')} + ${colors.yellow('ng analytics off --global')} `); console.log(''); @@ -177,7 +177,7 @@ export async function promptProjectAnalytics(force = false): Promise { Thank you for sharing anonymous usage data. Should you change your mind, the following command will disable this feature entirely: - ${colors.yellow('ng analytics project off')} + ${colors.yellow('ng analytics off')} `); console.log(''); diff --git a/packages/angular/cli/src/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts index 47d85a3604cf..e4916342cd27 100644 --- a/packages/angular/cli/src/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -16,68 +16,50 @@ import { import { CommandModule, Options } from '../../command-builder/command-module'; interface AnalyticsCommandArgs { - 'setting-or-project': 'on' | 'off' | 'ci' | 'project' | 'prompt' | string; - 'project-setting'?: 'on' | 'off' | 'prompt' | string; + setting: 'on' | 'off' | 'prompt' | 'ci' | string; + global: boolean; } export class AnalyticsCommandModule extends CommandModule { - command = 'analytics '; + command = 'analytics '; describe = 'Configures the gathering of Angular CLI usage metrics.'; longDescriptionPath = join(__dirname, 'long-description.md'); builder(localYargs: Argv): Argv { return localYargs - .positional('setting-or-project', { - description: - 'Directly enables or disables all usage analytics for the user, or prompts the user to set the status interactively, ' + - 'or sets the default status for the project.', + .positional('setting', { + description: 'Directly enables or disables all usage analytics for the user.', choices: ['on', 'off', 'ci', 'prompt'], type: 'string', demandOption: true, }) - .positional('project-setting', { - description: 'Sets the default analytics enablement status for the project.', - choices: ['on', 'off', 'prompt'], - type: 'string', + .option('global', { + description: `Access the global configuration in the caller's home directory.`, + alias: ['g'], + type: 'boolean', + default: false, }) .strict(); } - async run({ - settingOrProject, - projectSetting, - }: Options): Promise { - if (settingOrProject === 'project' && projectSetting === undefined) { - throw new Error( - 'Argument "project" requires a second argument of one of the following value: on, off.', - ); - } - - switch (settingOrProject) { + async run({ setting, global }: Options): Promise { + const level = global ? 'global' : 'local'; + switch (setting) { case 'off': - setAnalyticsConfig('global', false); + setAnalyticsConfig(level, false); break; case 'on': - setAnalyticsConfig('global', true); + setAnalyticsConfig(level, true); break; case 'ci': - setAnalyticsConfig('global', 'ci'); - break; - case 'project': - switch (projectSetting) { - case 'off': - setAnalyticsConfig('local', false); - break; - case 'on': - setAnalyticsConfig('local', true); - break; - case 'prompt': - await promptProjectAnalytics(true); - break; - } + setAnalyticsConfig(level, 'ci'); break; case 'prompt': - await promptGlobalAnalytics(true); + if (global) { + await promptGlobalAnalytics(true); + } else { + await promptProjectAnalytics(true); + } break; } } diff --git a/packages/angular/cli/src/commands/analytics/long-description.md b/packages/angular/cli/src/commands/analytics/long-description.md index 6900aea53a45..313edd4680ee 100644 --- a/packages/angular/cli/src/commands/analytics/long-description.md +++ b/packages/angular/cli/src/commands/analytics/long-description.md @@ -1,10 +1,9 @@ -The value of `setting-or-project` is one of the following. +The value of `setting` is one of the following. - `on`: Enables analytics gathering and reporting for the user. - `off`: Disables analytics gathering and reporting for the user. - `ci`: Enables analytics and configures reporting for use with Continuous Integration, which uses a common CI user. - `prompt`: Prompts the user to set the status interactively. -- `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`. For further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering). diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 3c8786e06ee1..0b357179f424 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -4,30 +4,29 @@ export default async function () { // This test is use as a sanity check. const addHelpOutputSnapshot = JSON.stringify({ 'name': 'analytics', - 'command': 'ng analytics ', + 'command': 'ng analytics ', 'shortDescription': 'Configures the gathering of Angular CLI usage metrics.', 'longDescriptionRelativePath': '@angular/cli/src/commands/analytics/long-description.md', 'longDescription': - 'The value of `setting-or-project` is one of the following.\n\n- `on`: Enables analytics gathering and reporting for the user.\n- `off`: Disables analytics gathering and reporting for the user.\n- `ci`: Enables analytics and configures reporting for use with Continuous Integration,\n which uses a common CI user.\n- `prompt`: Prompts the user to set the status interactively.\n- `project`: Sets the default status for the project to the `project-setting` value, which can be any of the other values. The `project-setting` argument is ignored for all other values of `setting_or_project`.\n\nFor further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering).\n', + 'The value of `setting` is one of the following.\n\n- `on`: Enables analytics gathering and reporting for the user.\n- `off`: Disables analytics gathering and reporting for the user.\n- `ci`: Enables analytics and configures reporting for use with Continuous Integration,\n which uses a common CI user.\n- `prompt`: Prompts the user to set the status interactively.\n\nFor further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering).\n', 'options': [ { - 'name': 'help', + 'name': 'global', 'type': 'boolean', - 'description': 'Shows a help message for this command in the console.', + 'aliases': ['g'], + 'default': false, + 'description': "Access the global configuration in the caller's home directory.", }, { - 'name': 'project-setting', - 'type': 'string', - 'enum': ['on', 'off', 'prompt'], - 'description': 'Sets the default analytics enablement status for the project.', - 'positional': 1, + 'name': 'help', + 'type': 'boolean', + 'description': 'Shows a help message for this command in the console.', }, { - 'name': 'setting-or-project', + 'name': 'setting', 'type': 'string', 'enum': ['on', 'off', 'ci', 'prompt'], - 'description': - 'Directly enables or disables all usage analytics for the user, or prompts the user to set the status interactively, or sets the default status for the project.', + 'description': 'Directly enables or disables all usage analytics for the user.', 'positional': 0, }, ], From bb550436a476d74705742a8c36f38971b346b903 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 11 Mar 2022 18:51:34 +0100 Subject: [PATCH 0185/1388] feat(@angular/cli): add `ng analytics info` command With this change we add a subcommand to `ng analytics`. This command can be used tp display analytics gathering and reporting configuration. Example: ``` $ ng analytics info Global setting: disabled Local setting: enabled Effective status: disabled ``` --- .../angular/cli/src/analytics/analytics.ts | 23 ++++- .../cli/src/command-builder/command-module.ts | 1 + .../cli/src/command-builder/command-runner.ts | 22 +---- .../src/command-builder/utilities/command.ts | 34 +++++++ .../angular/cli/src/commands/analytics/cli.ts | 84 +++++++--------- .../cli/src/commands/analytics/info/cli.ts | 52 ++++++++++ .../commands/analytics/long-description.md | 9 -- .../src/commands/analytics/settings/cli.ts | 95 +++++++++++++++++++ .../e2e/tests/commands/help/help-json.ts | 27 ++++-- 9 files changed, 256 insertions(+), 91 deletions(-) create mode 100644 packages/angular/cli/src/command-builder/utilities/command.ts create mode 100644 packages/angular/cli/src/commands/analytics/info/cli.ts delete mode 100644 packages/angular/cli/src/commands/analytics/long-description.md create mode 100644 packages/angular/cli/src/commands/analytics/settings/cli.ts diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 95486cfb771e..3efa6a5e612f 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -63,10 +63,11 @@ export function isPackageNameSafeForAnalytics(name: string): boolean { /** * Set analytics settings. This does not work if the user is not inside a project. - * @param level Which config to use. "global" for user-level, and "local" for project-level. + * @param global Which config to use. "global" for user-level, and "local" for project-level. * @param value Either a user ID, true to generate a new User ID, or false to disable analytics. */ -export function setAnalyticsConfig(level: 'global' | 'local', value: string | boolean) { +export function setAnalyticsConfig(global: boolean, value: string | boolean): void { + const level = global ? 'global' : 'local'; analyticsDebug('setting %s level analytics to: %s', level, value); const [config, configPath] = getWorkspaceRaw(level); if (!config || !configPath) { @@ -79,6 +80,8 @@ export function setAnalyticsConfig(level: 'global' | 'local', value: string | bo throw new Error(`Invalid config found at ${configPath}. CLI should be an object.`); } + console.log(`Configured ${level} analytics to "${analyticsConfigValueToHumanFormat(value)}".`); + if (value === true) { value = uuidV4(); } @@ -89,6 +92,18 @@ export function setAnalyticsConfig(level: 'global' | 'local', value: string | bo analyticsDebug('done'); } +export function analyticsConfigValueToHumanFormat(value: unknown): 'on' | 'off' | 'not set' | 'ci' { + if (value === false) { + return 'off'; + } else if (value === 'ci') { + return 'ci'; + } else if (typeof value === 'string' || value === true) { + return 'on'; + } else { + return 'not set'; + } +} + /** * Prompt the user for usage gathering permission. * @param force Whether to ask regardless of whether or not the user is using an interactive shell. @@ -110,7 +125,7 @@ export async function promptGlobalAnalytics(force = false) { }, ]); - setAnalyticsConfig('global', answers.analytics); + setAnalyticsConfig(true, answers.analytics); if (answers.analytics) { console.log(''); @@ -169,7 +184,7 @@ export async function promptProjectAnalytics(force = false): Promise { }, ]); - setAnalyticsConfig('local', answers.analytics); + setAnalyticsConfig(false, answers.analytics); if (answers.analytics) { console.log(''); diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 2ff79b444890..87e2b0c313ed 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -43,6 +43,7 @@ export interface CommandContext { positional: string[]; options: { help: boolean; + jsonHelp: boolean; } & Record; }; } diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 809323a5909a..7bdad2f8d335 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -29,6 +29,7 @@ import { VersionCommandModule } from '../commands/version/cli'; import { colors } from '../utilities/color'; import { AngularWorkspace } from '../utilities/config'; import { CommandContext, CommandModuleError, CommandScope } from './command-module'; +import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; import { jsonHelpUsage } from './utilities/json-help'; const COMMANDS = [ @@ -75,6 +76,7 @@ export async function runCommand( positional: positional.map((v) => v.toString()), options: { help, + jsonHelp, ...rest, }, }, @@ -90,23 +92,7 @@ export async function runCommand( } } - const commandModule = new CommandModule(context); - const describe = jsonHelp ? commandModule.fullDescribe : commandModule.describe; - - localYargs = localYargs.command({ - command: commandModule.command, - aliases: 'aliases' in commandModule ? commandModule.aliases : undefined, - describe: - // We cannot add custom fields in help, such as long command description which is used in AIO. - // Therefore, we get around this by adding a complex object as a string which we later parse when generating the help files. - describe !== undefined && typeof describe === 'object' - ? JSON.stringify(describe) - : describe, - deprecated: 'deprecated' in commandModule ? commandModule.deprecated : undefined, - builder: (argv) => commandModule.builder(argv) as yargs.Argv, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - handler: (args: any) => commandModule.handler(args), - }); + localYargs = addCommandModuleToYargs(localYargs, CommandModule, context); } if (jsonHelp) { @@ -142,7 +128,7 @@ export async function runCommand( 'deprecated: %s': colors.yellow('deprecated:') + ' %s', 'Did you mean %s?': 'Unknown command. Did you mean %s?', }) - .demandCommand() + .demandCommand(1, demandCommandFailureMessage) .recommendCommands() .version(false) .showHelpOnFail(false) diff --git a/packages/angular/cli/src/command-builder/utilities/command.ts b/packages/angular/cli/src/command-builder/utilities/command.ts new file mode 100644 index 000000000000..cc55bee254c1 --- /dev/null +++ b/packages/angular/cli/src/command-builder/utilities/command.ts @@ -0,0 +1,34 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Argv } from 'yargs'; +import { CommandContext, CommandModule, CommandModuleImplementation } from '../command-module'; + +export const demandCommandFailureMessage = `You need to specify a command before moving on. Use '--help' to view the available commands.`; + +export function addCommandModuleToYargs< + T, + U extends Partial & { + new (context: CommandContext): Partial & CommandModule; + }, +>(localYargs: Argv, commandModule: U, context: CommandContext): Argv { + const cmd = new commandModule(context); + const describe = context.args.options.jsonHelp ? cmd.fullDescribe : cmd.describe; + + return localYargs.command({ + command: cmd.command, + aliases: cmd.aliases, + describe: + // We cannot add custom fields in help, such as long command description which is used in AIO. + // Therefore, we get around this by adding a complex object as a string which we later parse when generating the help files. + typeof describe === 'object' ? JSON.stringify(describe) : describe, + deprecated: cmd.deprecated, + builder: (argv) => cmd.builder(argv) as Argv, + handler: (args) => cmd.handler(args), + }); +} diff --git a/packages/angular/cli/src/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts index e4916342cd27..b2e37eb9b29e 100644 --- a/packages/angular/cli/src/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -6,61 +6,45 @@ * found in the LICENSE file at https://angular.io/license */ -import { join } from 'path'; import { Argv } from 'yargs'; import { - promptGlobalAnalytics, - promptProjectAnalytics, - setAnalyticsConfig, -} from '../../analytics/analytics'; -import { CommandModule, Options } from '../../command-builder/command-module'; + CommandModule, + CommandModuleImplementation, + Options, +} from '../../command-builder/command-module'; +import { + addCommandModuleToYargs, + demandCommandFailureMessage, +} from '../../command-builder/utilities/command'; +import { AnalyticsInfoCommandModule } from './info/cli'; +import { + AnalyticsCIModule, + AnalyticsOffModule, + AnalyticsOnModule, + AnalyticsPromptModule, +} from './settings/cli'; -interface AnalyticsCommandArgs { - setting: 'on' | 'off' | 'prompt' | 'ci' | string; - global: boolean; -} +export class AnalyticsCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'analytics'; + describe = + 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering'; + longDescriptionPath?: string | undefined; -export class AnalyticsCommandModule extends CommandModule { - command = 'analytics '; - describe = 'Configures the gathering of Angular CLI usage metrics.'; - longDescriptionPath = join(__dirname, 'long-description.md'); + builder(localYargs: Argv): Argv { + const subcommands = [ + AnalyticsCIModule, + AnalyticsInfoCommandModule, + AnalyticsOffModule, + AnalyticsOnModule, + AnalyticsPromptModule, + ].sort(); - builder(localYargs: Argv): Argv { - return localYargs - .positional('setting', { - description: 'Directly enables or disables all usage analytics for the user.', - choices: ['on', 'off', 'ci', 'prompt'], - type: 'string', - demandOption: true, - }) - .option('global', { - description: `Access the global configuration in the caller's home directory.`, - alias: ['g'], - type: 'boolean', - default: false, - }) - .strict(); - } - - async run({ setting, global }: Options): Promise { - const level = global ? 'global' : 'local'; - switch (setting) { - case 'off': - setAnalyticsConfig(level, false); - break; - case 'on': - setAnalyticsConfig(level, true); - break; - case 'ci': - setAnalyticsConfig(level, 'ci'); - break; - case 'prompt': - if (global) { - await promptGlobalAnalytics(true); - } else { - await promptProjectAnalytics(true); - } - break; + for (const module of subcommands) { + localYargs = addCommandModuleToYargs(localYargs, module, this.context); } + + return localYargs.demandCommand(1, demandCommandFailureMessage).strict(); } + + run(_options: Options<{}>): void {} } diff --git a/packages/angular/cli/src/commands/analytics/info/cli.ts b/packages/angular/cli/src/commands/analytics/info/cli.ts new file mode 100644 index 000000000000..a9481a043f67 --- /dev/null +++ b/packages/angular/cli/src/commands/analytics/info/cli.ts @@ -0,0 +1,52 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { tags } from '@angular-devkit/core'; +import { Argv } from 'yargs'; +import { analyticsConfigValueToHumanFormat, createAnalytics } from '../../../analytics/analytics'; +import { + CommandModule, + CommandModuleImplementation, + Options, +} from '../../../command-builder/command-module'; +import { getWorkspaceRaw } from '../../../utilities/config'; + +export class AnalyticsInfoCommandModule + extends CommandModule + implements CommandModuleImplementation +{ + command = 'info'; + describe = 'Prints analytics gathering and reporting configuration in the console.'; + longDescriptionPath?: string | undefined; + + builder(localYargs: Argv): Argv { + return localYargs.strict(); + } + + async run(_options: Options<{}>): Promise { + const [globalWorkspace] = getWorkspaceRaw('global'); + const [localWorkspace] = getWorkspaceRaw('local'); + const globalSetting = globalWorkspace?.get(['cli', 'analytics']); + const localSetting = localWorkspace?.get(['cli', 'analytics']); + + const effectiveSetting = await createAnalytics( + !!this.context.workspace /** workspace */, + true /** skipPrompt */, + ); + + this.context.logger.info(tags.stripIndents` + Global setting: ${analyticsConfigValueToHumanFormat(globalSetting)} + Local setting: ${ + this.context.workspace + ? analyticsConfigValueToHumanFormat(localSetting) + : 'No local workspace configuration file.' + } + Effective status: ${effectiveSetting ? 'enabled' : 'disabled'} + `); + } +} diff --git a/packages/angular/cli/src/commands/analytics/long-description.md b/packages/angular/cli/src/commands/analytics/long-description.md deleted file mode 100644 index 313edd4680ee..000000000000 --- a/packages/angular/cli/src/commands/analytics/long-description.md +++ /dev/null @@ -1,9 +0,0 @@ -The value of `setting` is one of the following. - -- `on`: Enables analytics gathering and reporting for the user. -- `off`: Disables analytics gathering and reporting for the user. -- `ci`: Enables analytics and configures reporting for use with Continuous Integration, - which uses a common CI user. -- `prompt`: Prompts the user to set the status interactively. - -For further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering). diff --git a/packages/angular/cli/src/commands/analytics/settings/cli.ts b/packages/angular/cli/src/commands/analytics/settings/cli.ts new file mode 100644 index 000000000000..2018715b8963 --- /dev/null +++ b/packages/angular/cli/src/commands/analytics/settings/cli.ts @@ -0,0 +1,95 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Argv } from 'yargs'; +import { + promptGlobalAnalytics, + promptProjectAnalytics, + setAnalyticsConfig, +} from '../../../analytics/analytics'; +import { + CommandModule, + CommandModuleImplementation, + Options, +} from '../../../command-builder/command-module'; + +interface AnalyticsCommandArgs { + global: boolean; +} + +abstract class AnalyticsSettingModule + extends CommandModule + implements CommandModuleImplementation +{ + longDescriptionPath?: string | undefined; + + builder(localYargs: Argv): Argv { + return localYargs + .option('global', { + description: `Configure analytics gathering and reporting globally in the caller's home directory.`, + alias: ['g'], + type: 'boolean', + default: false, + }) + .strict(); + } + + abstract override run({ global }: Options): void; +} + +export class AnalyticsOffModule + extends AnalyticsSettingModule + implements CommandModuleImplementation +{ + command = 'off'; + describe = 'Disables analytics gathering and reporting for the user.'; + + run({ global }: Options): void { + setAnalyticsConfig(global, false); + } +} + +export class AnalyticsOnModule + extends AnalyticsSettingModule + implements CommandModuleImplementation +{ + command = 'on'; + describe = 'Enables analytics gathering and reporting for the user.'; + run({ global }: Options): void { + setAnalyticsConfig(global, true); + } +} + +export class AnalyticsCIModule + extends AnalyticsSettingModule + implements CommandModuleImplementation +{ + command = 'ci'; + describe = + 'Enables analytics and configures reporting for use with Continuous Integration, which uses a common CI user.'; + + run({ global }: Options): void { + setAnalyticsConfig(global, 'ci'); + } +} + +export class AnalyticsPromptModule + extends AnalyticsSettingModule + implements CommandModuleImplementation +{ + command = 'prompt'; + describe = 'Prompts the user to set the analytics gathering status interactively.'; + + async run({ global }: Options): Promise { + if (global) { + await promptGlobalAnalytics(true); + } else { + await promptProjectAnalytics(true); + } + } +} diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 0b357179f424..3903edd120fd 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -3,12 +3,13 @@ import { silentNg } from '../../../utils/process'; export default async function () { // This test is use as a sanity check. const addHelpOutputSnapshot = JSON.stringify({ - 'name': 'analytics', - 'command': 'ng analytics ', - 'shortDescription': 'Configures the gathering of Angular CLI usage metrics.', - 'longDescriptionRelativePath': '@angular/cli/src/commands/analytics/long-description.md', + 'name': 'config', + 'command': 'ng config [value]', + 'shortDescription': + 'Retrieves or sets Angular configuration values in the angular.json file for the workspace.', + 'longDescriptionRelativePath': '@angular/cli/src/commands/config/long-description.md', 'longDescription': - 'The value of `setting` is one of the following.\n\n- `on`: Enables analytics gathering and reporting for the user.\n- `off`: Disables analytics gathering and reporting for the user.\n- `ci`: Enables analytics and configures reporting for use with Continuous Integration,\n which uses a common CI user.\n- `prompt`: Prompts the user to set the status interactively.\n\nFor further details, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering).\n', + 'A workspace has a single CLI configuration file, `angular.json`, at the top level.\nThe `projects` object contains a configuration object for each project in the workspace.\n\nYou can edit the configuration directly in a code editor,\nor indirectly on the command line using this command.\n\nThe configurable property names match command option names,\nexcept that in the configuration file, all names must use camelCase,\nwhile on the command line options can be given dash-case.\n\nFor further details, see [Workspace Configuration](guide/workspace-config).\n\nFor configuration of CLI usage analytics, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering).\n', 'options': [ { 'name': 'global', @@ -23,21 +24,27 @@ export default async function () { 'description': 'Shows a help message for this command in the console.', }, { - 'name': 'setting', + 'name': 'json-path', 'type': 'string', - 'enum': ['on', 'off', 'ci', 'prompt'], - 'description': 'Directly enables or disables all usage analytics for the user.', + 'description': + 'The configuration key to set or query, in JSON path format. For example: "a[3].foo.bar[2]". If no new value is provided, returns the current value of this key.', 'positional': 0, }, + { + 'name': 'value', + 'type': 'string', + 'description': 'If provided, a new value for the given configuration key.', + 'positional': 1, + }, ], }); - const { stdout } = await silentNg('analytics', '--help', '--json-help'); + const { stdout } = await silentNg('config', '--help', '--json-help'); const output = JSON.stringify(JSON.parse(stdout.trim())); if (output !== addHelpOutputSnapshot) { throw new Error( - `ng analytics JSON help output didn\'t match snapshot.\n\nExpected "${output}" to be "${addHelpOutputSnapshot}".`, + `ng config JSON help output didn\'t match snapshot.\n\nExpected "${output}" to be "${addHelpOutputSnapshot}".`, ); } From 46a7be3af4d729a570e11704b67ac0aed1ba41a6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Mar 2022 11:24:29 +0100 Subject: [PATCH 0186/1388] refactor(@angular/cli): clean up analytics methods Re-use methods were possible. --- docs/design/analytics.md | 11 +- .../cli/bin/postinstall/analytics-prompt.js | 4 +- .../analytics-environment-options.ts | 22 ++ .../angular/cli/src/analytics/analytics.ts | 286 ++++++------------ .../angular/cli/src/commands/analytics/cli.ts | 12 +- .../cli/src/commands/analytics/info/cli.ts | 24 +- .../src/commands/analytics/settings/cli.ts | 31 +- .../e2e/tests/misc/ask-analytics-command.ts | 10 +- 8 files changed, 132 insertions(+), 268 deletions(-) create mode 100644 packages/angular/cli/src/analytics/analytics-environment-options.ts diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 6ff986e389a7..e477a902439d 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -115,14 +115,5 @@ There are 2 ways of disabling usage analytics: as answering "No" to the prompt. 1. There is an `NG_CLI_ANALYTICS` environment variable that overrides the global configuration. That flag is a string that represents the User ID. If the string `"false"` is used it will - disable analytics for this run. If the string `"ci"` is used it will show up as a CI run (see - below). + disable analytics for this run. -# CI - -A special user named `ci` is used for analytics for tracking CI information. This is a convention -and is in no way enforced. - -Running on CI by default will disable analytics (because of a lack of TTY on STDIN/OUT). It can be -manually enabled using either a global configuration with a value of `ci`, or using the -`NG_CLI_ANALYTICS=ci` environment variable. diff --git a/packages/angular/cli/bin/postinstall/analytics-prompt.js b/packages/angular/cli/bin/postinstall/analytics-prompt.js index 2635b8483cb9..f5653da7bef3 100644 --- a/packages/angular/cli/bin/postinstall/analytics-prompt.js +++ b/packages/angular/cli/bin/postinstall/analytics-prompt.js @@ -17,10 +17,10 @@ try { var analytics = require('../../src/analytics/analytics'); analytics - .hasGlobalAnalyticsConfiguration() + .hasAnalyticsConfig('global') .then((hasGlobalConfig) => { if (!hasGlobalConfig) { - return analytics.promptGlobalAnalytics(); + return analytics.promptAnalytics(true /** global */); } }) .catch(() => {}); diff --git a/packages/angular/cli/src/analytics/analytics-environment-options.ts b/packages/angular/cli/src/analytics/analytics-environment-options.ts new file mode 100644 index 000000000000..e9e2ae797eb6 --- /dev/null +++ b/packages/angular/cli/src/analytics/analytics-environment-options.ts @@ -0,0 +1,22 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +function isDisabled(variable: string): boolean { + return variable === '0' || variable.toLowerCase() === 'false'; +} + +function isPresent(variable: string | undefined): variable is string { + return typeof variable === 'string' && variable !== ''; +} + +const analyticsVariable = process.env['NG_CLI_ANALYTICS']; +export const analyticsDisabled = isPresent(analyticsVariable) && isDisabled(analyticsVariable); + +const analyticsShareVariable = process.env['NG_CLI_ANALYTICS_SHARE']; +export const analyticsShareDisabled = + isPresent(analyticsShareVariable) && isDisabled(analyticsShareVariable); diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 3efa6a5e612f..103f439340e8 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -15,6 +15,7 @@ import { getWorkspace, getWorkspaceRaw } from '../utilities/config'; import { isTTY } from '../utilities/tty'; import { VERSION } from '../utilities/version'; import { AnalyticsCollector } from './analytics-collector'; +import { analyticsDisabled, analyticsShareDisabled } from './analytics-environment-options'; /* eslint-disable no-console */ const analyticsDebug = debug('ng:analytics'); // Generate analytics, including settings and users. @@ -29,13 +30,11 @@ export const AnalyticsProperties = { } const v = VERSION.full; - // The logic is if it's a full version then we should use the prod GA property. - if (/^\d+\.\d+\.\d+$/.test(v) && v !== '0.0.0') { - _defaultAngularCliPropertyCache = AnalyticsProperties.AngularCliProd; - } else { - _defaultAngularCliPropertyCache = AnalyticsProperties.AngularCliStaging; - } + _defaultAngularCliPropertyCache = + /^\d+\.\d+\.\d+$/.test(v) && v !== '0.0.0' + ? AnalyticsProperties.AngularCliProd + : AnalyticsProperties.AngularCliStaging; return _defaultAngularCliPropertyCache; }, @@ -80,8 +79,6 @@ export function setAnalyticsConfig(global: boolean, value: string | boolean): vo throw new Error(`Invalid config found at ${configPath}. CLI should be an object.`); } - console.log(`Configured ${level} analytics to "${analyticsConfigValueToHumanFormat(value)}".`); - if (value === true) { value = uuidV4(); } @@ -92,81 +89,17 @@ export function setAnalyticsConfig(global: boolean, value: string | boolean): vo analyticsDebug('done'); } -export function analyticsConfigValueToHumanFormat(value: unknown): 'on' | 'off' | 'not set' | 'ci' { - if (value === false) { - return 'off'; - } else if (value === 'ci') { - return 'ci'; - } else if (typeof value === 'string' || value === true) { - return 'on'; - } else { - return 'not set'; - } -} - /** * Prompt the user for usage gathering permission. * @param force Whether to ask regardless of whether or not the user is using an interactive shell. * @return Whether or not the user was shown a prompt. */ -export async function promptGlobalAnalytics(force = false) { - analyticsDebug('prompting global analytics.'); - if (force || isTTY()) { - const answers = await inquirer.prompt<{ analytics: boolean }>([ - { - type: 'confirm', - name: 'analytics', - message: tags.stripIndents` - Would you like to share anonymous usage data with the Angular Team at Google under - Google’s Privacy Policy at https://policies.google.com/privacy? For more details and - how to change this setting, see https://angular.io/analytics. - `, - default: false, - }, - ]); - - setAnalyticsConfig(true, answers.analytics); - - if (answers.analytics) { - console.log(''); - console.log(tags.stripIndent` - Thank you for sharing anonymous usage data. If you change your mind, the following - command will disable this feature entirely: - - ${colors.yellow('ng analytics off --global')} - `); - console.log(''); - - // Send back a ping with the user `optin`. - const ua = new AnalyticsCollector(AnalyticsProperties.AngularCliDefault, 'optin'); - ua.pageview('/telemetry/optin'); - await ua.flush(); - } else { - // Send back a ping with the user `optout`. This is the only thing we send. - const ua = new AnalyticsCollector(AnalyticsProperties.AngularCliDefault, 'optout'); - ua.pageview('/telemetry/optout'); - await ua.flush(); - } - - return true; - } else { - analyticsDebug('Either STDOUT or STDIN are not TTY and we skipped the prompt.'); - } - - return false; -} - -/** - * Prompt the user for usage gathering permission for the local project. Fails if there is no - * local workspace. - * @param force Whether to ask regardless of whether or not the user is using an interactive shell. - * @return Whether or not the user was shown a prompt. - */ -export async function promptProjectAnalytics(force = false): Promise { +export async function promptAnalytics(global: boolean, force = false): Promise { analyticsDebug('prompting user'); - const [config, configPath] = getWorkspaceRaw('local'); + const level = global ? 'global' : 'local'; + const [config, configPath] = getWorkspaceRaw(level); if (!config || !configPath) { - throw new Error(`Could not find a local workspace. Are you in a project?`); + throw new Error(`Could not find a ${level} workspace. Are you in a project?`); } if (force || isTTY()) { @@ -176,7 +109,7 @@ export async function promptProjectAnalytics(force = false): Promise { name: 'analytics', message: tags.stripIndents` Would you like to share anonymous usage data about this project with the Angular Team at - Google under Google’s Privacy Policy at https://policies.google.com/privacy? For more + Google under Google’s Privacy Policy at https://policies.google.com/privacy. For more details and how to change this setting, see https://angular.io/analytics. `, @@ -184,16 +117,18 @@ export async function promptProjectAnalytics(force = false): Promise { }, ]); - setAnalyticsConfig(false, answers.analytics); + setAnalyticsConfig(global, answers.analytics); if (answers.analytics) { console.log(''); - console.log(tags.stripIndent` + console.log( + tags.stripIndent` Thank you for sharing anonymous usage data. Should you change your mind, the following command will disable this feature entirely: - ${colors.yellow('ng analytics off')} - `); + ${colors.yellow(`ng analytics disable${global ? ' --global' : ''}`)} + `, + ); console.log(''); // Send back a ping with the user `optin`. @@ -207,127 +142,39 @@ export async function promptProjectAnalytics(force = false): Promise { await ua.flush(); } + process.stderr.write(await getAnalyticsInfoString()); + return true; } return false; } -export async function hasGlobalAnalyticsConfiguration(): Promise { - try { - const globalWorkspace = await getWorkspace('global'); - const analyticsConfig: string | undefined | null | { uid?: string } = - globalWorkspace && globalWorkspace.getCli() && globalWorkspace.getCli()['analytics']; - - if (analyticsConfig !== null && analyticsConfig !== undefined) { - return true; - } - } catch {} - - return false; -} - /** - * Get the global analytics object for the user. This returns an instance of UniversalAnalytics, - * or undefined if analytics are disabled. - * - * If any problem happens, it is considered the user has been opting out of analytics. + * Get the analytics object for the user. */ -export async function getGlobalAnalytics(): Promise { - analyticsDebug('getGlobalAnalytics'); - const propertyId = AnalyticsProperties.AngularCliDefault; - - if ('NG_CLI_ANALYTICS' in process.env) { - if (process.env['NG_CLI_ANALYTICS'] == 'false' || process.env['NG_CLI_ANALYTICS'] == '') { - analyticsDebug('NG_CLI_ANALYTICS is false'); +export async function getAnalytics( + level: 'local' | 'global', +): Promise { + analyticsDebug('getAnalytics'); - return undefined; - } - if (process.env['NG_CLI_ANALYTICS'] === 'ci') { - analyticsDebug('Running in CI mode'); - - return new AnalyticsCollector(propertyId, 'ci'); - } - } - - // If anything happens we just keep the NOOP analytics. - try { - const globalWorkspace = await getWorkspace('global'); - const analyticsConfig: string | undefined | null | { uid?: string } = - globalWorkspace && globalWorkspace.getCli() && globalWorkspace.getCli()['analytics']; - analyticsDebug('Client Analytics config found: %j', analyticsConfig); - - if (analyticsConfig === false) { - analyticsDebug('Analytics disabled. Ignoring all analytics.'); - - return undefined; - } else if (analyticsConfig === undefined || analyticsConfig === null) { - analyticsDebug('Analytics settings not found. Ignoring all analytics.'); - - // globalWorkspace can be null if there is no file. analyticsConfig would be null in this - // case. Since there is no file, the user hasn't answered and the expected return value is - // undefined. - return undefined; - } else { - let uid: string | undefined = undefined; - if (typeof analyticsConfig == 'string') { - uid = analyticsConfig; - } else if (typeof analyticsConfig == 'object' && typeof analyticsConfig['uid'] == 'string') { - uid = analyticsConfig['uid']; - } - - analyticsDebug('client id: %j', uid); - if (uid == undefined) { - return undefined; - } - - return new AnalyticsCollector(propertyId, uid); - } - } catch (err) { - analyticsDebug('Error happened during reading of analytics config: %s', err.message); + if (analyticsDisabled) { + analyticsDebug('NG_CLI_ANALYTICS is false'); return undefined; } -} - -export async function hasWorkspaceAnalyticsConfiguration(): Promise { - try { - const globalWorkspace = await getWorkspace('local'); - const analyticsConfig: string | undefined | null | { uid?: string } = - globalWorkspace && globalWorkspace.getCli() && globalWorkspace.getCli()['analytics']; - - if (analyticsConfig !== undefined) { - return true; - } - } catch {} - return false; -} - -/** - * Get the workspace analytics object for the user. This returns an instance of AnalyticsCollector, - * or undefined if analytics are disabled. - * - * If any problem happens, it is considered the user has been opting out of analytics. - */ -export async function getWorkspaceAnalytics(): Promise { - analyticsDebug('getWorkspaceAnalytics'); try { - const globalWorkspace = await getWorkspace('local'); + const workspace = await getWorkspace(level); const analyticsConfig: string | undefined | null | { uid?: string } = - globalWorkspace?.getCli()['analytics']; + workspace?.getCli()['analytics']; analyticsDebug('Workspace Analytics config found: %j', analyticsConfig); - if (analyticsConfig === false) { - analyticsDebug('Analytics disabled. Ignoring all analytics.'); - - return undefined; - } else if (analyticsConfig === undefined || analyticsConfig === null) { - analyticsDebug('Analytics settings not found. Ignoring all analytics.'); - + if (!analyticsConfig) { return undefined; } else { let uid: string | undefined = undefined; + if (typeof analyticsConfig == 'string') { uid = analyticsConfig; } else if (typeof analyticsConfig == 'object' && typeof analyticsConfig['uid'] == 'string') { @@ -355,13 +202,10 @@ export async function getWorkspaceAnalytics(): Promise { analyticsDebug('getSharedAnalytics'); - const envVarName = 'NG_CLI_ANALYTICS_SHARE'; - if (envVarName in process.env) { - if (process.env[envVarName] == 'false' || process.env[envVarName] == '') { - analyticsDebug('NG_CLI_ANALYTICS is false'); + if (analyticsShareDisabled) { + analyticsDebug('NG_CLI_ANALYTICS is false'); - return undefined; - } + return undefined; } // If anything happens we just keep the NOOP analytics. @@ -387,21 +231,20 @@ export async function createAnalytics( workspace: boolean, skipPrompt = false, ): Promise { - let config = await getGlobalAnalytics(); + let config: analytics.Analytics | undefined; + const isDisabledGlobally = (await getWorkspace('global'))?.getCli()['analytics'] === false; // If in workspace and global analytics is enabled, defer to workspace level - if (workspace && config) { - const skipAnalytics = - skipPrompt || - (process.env['NG_CLI_ANALYTICS'] && - (process.env['NG_CLI_ANALYTICS'].toLowerCase() === 'false' || - process.env['NG_CLI_ANALYTICS'] === '0')); + if (workspace && !isDisabledGlobally) { + const skipAnalytics = skipPrompt || analyticsDisabled; // TODO: This should honor the `no-interactive` option. // It is currently not an `ng` option but rather only an option for specific commands. // The concept of `ng`-wide options are needed to cleanly handle this. - if (!skipAnalytics && !(await hasWorkspaceAnalyticsConfiguration())) { - await promptProjectAnalytics(); + if (!skipAnalytics && !(await hasAnalyticsConfig('local'))) { + await promptAnalytics(false); } - config = await getWorkspaceAnalytics(); + config = await getAnalytics('local'); + } else { + config = await getAnalytics('global'); } const maybeSharedAnalytics = await getSharedAnalytics(); @@ -416,3 +259,50 @@ export async function createAnalytics( return new analytics.NoopAnalytics(); } } + +function analyticsConfigValueToHumanFormat(value: unknown): 'enabled' | 'disabled' | 'not set' { + if (value === false) { + return 'disabled'; + } else if (typeof value === 'string' || value === true) { + return 'enabled'; + } else { + return 'not set'; + } +} + +export async function getAnalyticsInfoString(): Promise { + const [globalWorkspace] = getWorkspaceRaw('global'); + const [localWorkspace] = getWorkspaceRaw('local'); + const globalSetting = globalWorkspace?.get(['cli', 'analytics']); + const localSetting = localWorkspace?.get(['cli', 'analytics']); + + const analyticsInstance = await createAnalytics( + !!localWorkspace /** workspace */, + true /** skipPrompt */, + ); + + return ( + tags.stripIndents` + Global setting: ${analyticsConfigValueToHumanFormat(globalSetting)} + Local setting: ${ + localWorkspace + ? analyticsConfigValueToHumanFormat(localSetting) + : 'No local workspace configuration file.' + } + Effective status: ${ + analyticsInstance instanceof analytics.NoopAnalytics ? 'disabled' : 'enabled' + } + ` + '\n' + ); +} + +export async function hasAnalyticsConfig(level: 'local' | 'global'): Promise { + try { + const workspace = await getWorkspace(level); + if (workspace?.getCli()['analytics'] !== undefined) { + return true; + } + } catch {} + + return false; +} diff --git a/packages/angular/cli/src/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts index b2e37eb9b29e..ccfdf9d7dfec 100644 --- a/packages/angular/cli/src/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -18,9 +18,8 @@ import { } from '../../command-builder/utilities/command'; import { AnalyticsInfoCommandModule } from './info/cli'; import { - AnalyticsCIModule, - AnalyticsOffModule, - AnalyticsOnModule, + AnalyticsDisableModule, + AnalyticsEnableModule, AnalyticsPromptModule, } from './settings/cli'; @@ -32,12 +31,11 @@ export class AnalyticsCommandModule extends CommandModule implements CommandModu builder(localYargs: Argv): Argv { const subcommands = [ - AnalyticsCIModule, AnalyticsInfoCommandModule, - AnalyticsOffModule, - AnalyticsOnModule, + AnalyticsDisableModule, + AnalyticsEnableModule, AnalyticsPromptModule, - ].sort(); + ].sort(); // sort by class name. for (const module of subcommands) { localYargs = addCommandModuleToYargs(localYargs, module, this.context); diff --git a/packages/angular/cli/src/commands/analytics/info/cli.ts b/packages/angular/cli/src/commands/analytics/info/cli.ts index a9481a043f67..fd692e0ad899 100644 --- a/packages/angular/cli/src/commands/analytics/info/cli.ts +++ b/packages/angular/cli/src/commands/analytics/info/cli.ts @@ -6,15 +6,13 @@ * found in the LICENSE file at https://angular.io/license */ -import { tags } from '@angular-devkit/core'; import { Argv } from 'yargs'; -import { analyticsConfigValueToHumanFormat, createAnalytics } from '../../../analytics/analytics'; +import { getAnalyticsInfoString } from '../../../analytics/analytics'; import { CommandModule, CommandModuleImplementation, Options, } from '../../../command-builder/command-module'; -import { getWorkspaceRaw } from '../../../utilities/config'; export class AnalyticsInfoCommandModule extends CommandModule @@ -29,24 +27,6 @@ export class AnalyticsInfoCommandModule } async run(_options: Options<{}>): Promise { - const [globalWorkspace] = getWorkspaceRaw('global'); - const [localWorkspace] = getWorkspaceRaw('local'); - const globalSetting = globalWorkspace?.get(['cli', 'analytics']); - const localSetting = localWorkspace?.get(['cli', 'analytics']); - - const effectiveSetting = await createAnalytics( - !!this.context.workspace /** workspace */, - true /** skipPrompt */, - ); - - this.context.logger.info(tags.stripIndents` - Global setting: ${analyticsConfigValueToHumanFormat(globalSetting)} - Local setting: ${ - this.context.workspace - ? analyticsConfigValueToHumanFormat(localSetting) - : 'No local workspace configuration file.' - } - Effective status: ${effectiveSetting ? 'enabled' : 'disabled'} - `); + this.context.logger.info(await getAnalyticsInfoString()); } } diff --git a/packages/angular/cli/src/commands/analytics/settings/cli.ts b/packages/angular/cli/src/commands/analytics/settings/cli.ts index 2018715b8963..6a8324a23fbe 100644 --- a/packages/angular/cli/src/commands/analytics/settings/cli.ts +++ b/packages/angular/cli/src/commands/analytics/settings/cli.ts @@ -8,8 +8,8 @@ import { Argv } from 'yargs'; import { - promptGlobalAnalytics, - promptProjectAnalytics, + getAnalyticsInfoString, + promptAnalytics, setAnalyticsConfig, } from '../../../analytics/analytics'; import { @@ -39,7 +39,7 @@ abstract class AnalyticsSettingModule .strict(); } - abstract override run({ global }: Options): void; + abstract override run({ global }: Options): Promise; } export class AnalyticsOffModule @@ -49,8 +49,9 @@ export class AnalyticsOffModule command = 'off'; describe = 'Disables analytics gathering and reporting for the user.'; - run({ global }: Options): void { + async run({ global }: Options): Promise { setAnalyticsConfig(global, false); + process.stderr.write(await getAnalyticsInfoString()); } } @@ -60,21 +61,9 @@ export class AnalyticsOnModule { command = 'on'; describe = 'Enables analytics gathering and reporting for the user.'; - run({ global }: Options): void { + async run({ global }: Options): Promise { setAnalyticsConfig(global, true); - } -} - -export class AnalyticsCIModule - extends AnalyticsSettingModule - implements CommandModuleImplementation -{ - command = 'ci'; - describe = - 'Enables analytics and configures reporting for use with Continuous Integration, which uses a common CI user.'; - - run({ global }: Options): void { - setAnalyticsConfig(global, 'ci'); + process.stderr.write(await getAnalyticsInfoString()); } } @@ -86,10 +75,6 @@ export class AnalyticsPromptModule describe = 'Prompts the user to set the analytics gathering status interactively.'; async run({ global }: Options): Promise { - if (global) { - await promptGlobalAnalytics(true); - } else { - await promptProjectAnalytics(true); - } + await promptAnalytics(global, true); } } diff --git a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts index d571b38cb671..b85e6c044dbb 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts @@ -1,13 +1,12 @@ import { execWithEnv, killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; -export default async function() { +export default async function () { try { // Execute a command with TTY force enabled - const execution = execWithEnv('ng', ['version'], { + execWithEnv('ng', ['version'], { ...process.env, NG_FORCE_TTY: '1', - NG_CLI_ANALYTICS: 'ci', }); // Check if the prompt is shown @@ -18,7 +17,7 @@ export default async function() { try { // Execute a command with TTY force enabled - const execution = execWithEnv('ng', ['version'], { + execWithEnv('ng', ['version'], { ...process.env, NG_FORCE_TTY: '1', NG_CLI_ANALYTICS: 'false', @@ -35,10 +34,9 @@ export default async function() { // Should not show a prompt when using update try { // Execute a command with TTY force enabled - const execution = execWithEnv('ng', ['update'], { + execWithEnv('ng', ['update'], { ...process.env, NG_FORCE_TTY: '1', - NG_CLI_ANALYTICS: 'ci', }); // Check if the prompt is shown From 7ab22ed40d521e3cec29ab2d66d0289c3cdb4106 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Mar 2022 16:42:34 +0100 Subject: [PATCH 0187/1388] feat(@angular/cli): add disable/enable aliases for off/on `ng analytics` command `ng analytics enable/disable`better aligns with `ng cache enable/disable` that will be available in the future. --- .../angular/cli/src/commands/analytics/settings/cli.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/src/commands/analytics/settings/cli.ts b/packages/angular/cli/src/commands/analytics/settings/cli.ts index 6a8324a23fbe..69ec3f3684a6 100644 --- a/packages/angular/cli/src/commands/analytics/settings/cli.ts +++ b/packages/angular/cli/src/commands/analytics/settings/cli.ts @@ -42,11 +42,12 @@ abstract class AnalyticsSettingModule abstract override run({ global }: Options): Promise; } -export class AnalyticsOffModule +export class AnalyticsDisableModule extends AnalyticsSettingModule implements CommandModuleImplementation { - command = 'off'; + command = 'disable'; + aliases = 'off'; describe = 'Disables analytics gathering and reporting for the user.'; async run({ global }: Options): Promise { @@ -55,11 +56,12 @@ export class AnalyticsOffModule } } -export class AnalyticsOnModule +export class AnalyticsEnableModule extends AnalyticsSettingModule implements CommandModuleImplementation { - command = 'on'; + command = 'enable'; + aliases = 'on'; describe = 'Enables analytics gathering and reporting for the user.'; async run({ global }: Options): Promise { setAnalyticsConfig(global, true); From 154236501f2a8629e229862329fce9e1d9a09337 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Mar 2022 11:44:18 +0100 Subject: [PATCH 0188/1388] refactor(@angular/cli): add package manager in command context --- .../src/command-builder/architect-base-command-module.ts | 8 +++----- .../angular/cli/src/command-builder/command-runner.ts | 2 ++ packages/angular/cli/src/commands/version/cli.ts | 7 +++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index 0582d9a6e472..04d9e7474afb 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -12,7 +12,6 @@ import { json } from '@angular-devkit/core'; import { existsSync } from 'fs'; import { resolve } from 'path'; import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; -import { getPackageManager } from '../utilities/package-manager'; import { CommandModule, CommandModuleError, @@ -100,7 +99,7 @@ export abstract class ArchitectBaseCommandModule builderDesc = await architectHost.resolveBuilder(builderConf); } catch (e) { if (e.code === 'MODULE_NOT_FOUND') { - await this.warnOnMissingNodeModules(); + this.warnOnMissingNodeModules(); throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); } @@ -114,7 +113,7 @@ export abstract class ArchitectBaseCommandModule ); } - private async warnOnMissingNodeModules(): Promise { + private warnOnMissingNodeModules(): void { const basePath = this.context.workspace?.basePath; if (!basePath) { return; @@ -134,9 +133,8 @@ export abstract class ArchitectBaseCommandModule return; } - const packageManager = await getPackageManager(basePath); this.context.logger.warn( - `Node packages may not be installed. Try installing with '${packageManager} install'.`, + `Node packages may not be installed. Try installing with '${this.context.packageManager} install'.`, ); } } diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 7bdad2f8d335..80693ba68efb 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -28,6 +28,7 @@ import { UpdateCommandModule } from '../commands/update/cli'; import { VersionCommandModule } from '../commands/version/cli'; import { colors } from '../utilities/color'; import { AngularWorkspace } from '../utilities/config'; +import { getPackageManager } from '../utilities/package-manager'; import { CommandContext, CommandModuleError, CommandScope } from './command-module'; import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; import { jsonHelpUsage } from './utilities/json-help'; @@ -72,6 +73,7 @@ export async function runCommand( logger, currentDirectory: process.cwd(), root: workspace?.basePath ?? process.cwd(), + packageManager: await getPackageManager(workspace?.basePath ?? process.cwd()), args: { positional: positional.map((v) => v.toString()), options: { diff --git a/packages/angular/cli/src/commands/version/cli.ts b/packages/angular/cli/src/commands/version/cli.ts index 3523fd243f86..0a90891e3cfc 100644 --- a/packages/angular/cli/src/commands/version/cli.ts +++ b/packages/angular/cli/src/commands/version/cli.ts @@ -12,7 +12,6 @@ import { resolve } from 'path'; import { Argv } from 'yargs'; import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module'; import { colors } from '../../utilities/color'; -import { getPackageManager } from '../../utilities/package-manager'; interface PartialPackageInfo { name: string; @@ -126,7 +125,7 @@ export class VersionCommandModule extends CommandModule implements CommandModule ` Angular CLI: ${ngCliVersion} Node: ${process.versions.node}${unsupportedNodeVersion ? ' (Unsupported)' : ''} - Package Manager: ${await this.getPackageManagerVersion()} + Package Manager: ${this.getPackageManagerVersion()} OS: ${process.platform} ${process.arch} Angular: ${angularCoreVersion} @@ -194,9 +193,9 @@ export class VersionCommandModule extends CommandModule implements CommandModule return ''; } - private async getPackageManagerVersion(): Promise { + private getPackageManagerVersion(): string { try { - const manager = await getPackageManager(this.context.root); + const manager = this.context.packageManager; const version = execSync(`${manager} --version`, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], From d560e23d672cdc4e4d1c6952aeb599a2e7b022d4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Mar 2022 18:30:35 +0100 Subject: [PATCH 0189/1388] refactor(@angular/cli): remove old `CommandModule` and `SchematicCommand` implementations Use the newly implemented `CommandModule` and `SchematicsCommandModule`. --- goldens/circular-deps/packages.json | 20 - packages/angular/cli/models/command.ts | 72 -- packages/angular/cli/models/interface.ts | 25 - .../angular/cli/models/schematic-command.ts | 452 --------- .../cli/src/command-builder/command-module.ts | 4 +- .../schematics-command-module.ts | 297 +++++- .../utilities}/schematic-engine-host.ts | 0 .../utilities/schematic-workflow.ts | 79 ++ .../angular/cli/src/commands/add/add-impl.ts | 420 -------- packages/angular/cli/src/commands/add/cli.ts | 415 +++++++- .../angular/cli/src/commands/config/cli.ts | 162 ++- .../cli/src/commands/config/config-impl.ts | 182 ---- .../angular/cli/src/commands/generate/cli.ts | 76 +- .../src/commands/generate/generate-impl.ts | 68 -- packages/angular/cli/src/commands/new/cli.ts | 57 +- .../angular/cli/src/commands/new/new-impl.ts | 42 - .../angular/cli/src/commands/update/cli.ts | 910 ++++++++++++++++- .../cli/src/commands/update/update-impl.ts | 943 ------------------ .../angular/cli/src/commands/version/cli.ts | 42 +- packages/angular/cli/src/utilities/config.ts | 39 + 20 files changed, 1951 insertions(+), 2354 deletions(-) delete mode 100644 packages/angular/cli/models/command.ts delete mode 100644 packages/angular/cli/models/interface.ts delete mode 100644 packages/angular/cli/models/schematic-command.ts rename packages/angular/cli/{models => src/command-builder/utilities}/schematic-engine-host.ts (100%) create mode 100644 packages/angular/cli/src/command-builder/utilities/schematic-workflow.ts delete mode 100644 packages/angular/cli/src/commands/add/add-impl.ts delete mode 100644 packages/angular/cli/src/commands/config/config-impl.ts delete mode 100644 packages/angular/cli/src/commands/generate/generate-impl.ts delete mode 100644 packages/angular/cli/src/commands/new/new-impl.ts delete mode 100644 packages/angular/cli/src/commands/update/update-impl.ts diff --git a/goldens/circular-deps/packages.json b/goldens/circular-deps/packages.json index 9da0cf1ec292..f47d35c030b4 100644 --- a/goldens/circular-deps/packages.json +++ b/goldens/circular-deps/packages.json @@ -2,25 +2,5 @@ [ "packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts", "packages/angular_devkit/build_angular/src/webpack/utils/stats.ts" - ], - [ - "packages/angular/cli/src/commands/add/add-impl.ts", - "packages/angular/cli/src/commands/add/cli.ts" - ], - [ - "packages/angular/cli/src/commands/config/cli.ts", - "packages/angular/cli/src/commands/config/config-impl.ts" - ], - [ - "packages/angular/cli/src/commands/generate/cli.ts", - "packages/angular/cli/src/commands/generate/generate-impl.ts" - ], - [ - "packages/angular/cli/src/commands/new/cli.ts", - "packages/angular/cli/src/commands/new/new-impl.ts" - ], - [ - "packages/angular/cli/src/commands/update/cli.ts", - "packages/angular/cli/src/commands/update/update-impl.ts" ] ] diff --git a/packages/angular/cli/models/command.ts b/packages/angular/cli/models/command.ts deleted file mode 100644 index 1e78c1348c40..000000000000 --- a/packages/angular/cli/models/command.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { analytics, logging } from '@angular-devkit/core'; -import { Option } from '../src/command-builder/utilities/json-schema'; -import { AngularWorkspace } from '../src/utilities/config'; -import { CommandContext } from './interface'; - -export interface BaseCommandOptions { - jsonHelp?: boolean; -} - -export abstract class Command { - protected allowMissingWorkspace = false; - protected useReportAnalytics = true; - readonly workspace?: AngularWorkspace; - protected readonly analytics: analytics.Analytics; - protected readonly commandOptions: Option[] = []; - protected readonly logger: logging.Logger; - - constructor(protected readonly context: CommandContext, protected readonly commandName: string) { - this.workspace = context.workspace; - this.logger = context.logger; - this.analytics = context.analytics || new analytics.NoopAnalytics(); - } - - async initialize(options: T): Promise {} - - async reportAnalytics( - paths: string[], - options: T, - dimensions: (boolean | number | string)[] = [], - metrics: (boolean | number | string)[] = [], - ): Promise { - for (const option of this.commandOptions) { - const ua = option.userAnalytics; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const v = (options as any)[option.name]; - - if (v !== undefined && !Array.isArray(v) && ua) { - dimensions[ua] = v; - } - } - - this.analytics.pageview('/command/' + paths.join('/'), { dimensions, metrics }); - } - - abstract run(options: T): Promise; - - async validateAndRun(options: T): Promise { - let result = await this.initialize(options); - if (typeof result === 'number' && result !== 0) { - return result; - } - - const startTime = +new Date(); - if (this.useReportAnalytics) { - await this.reportAnalytics([this.commandName], options); - } - result = await this.run(options); - const endTime = +new Date(); - - this.analytics.timing(this.commandName, 'duration', endTime - startTime); - - return result; - } -} diff --git a/packages/angular/cli/models/interface.ts b/packages/angular/cli/models/interface.ts deleted file mode 100644 index e4135dab4823..000000000000 --- a/packages/angular/cli/models/interface.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { analytics, logging } from '@angular-devkit/core'; -import { AngularWorkspace } from '../src/utilities/config'; - -/** - * A command runner context. - */ -export interface CommandContext { - currentDirectory: string; - root: string; - - workspace?: AngularWorkspace; - - // This property is optional for backward compatibility. - analytics?: analytics.Analytics; - - logger: logging.Logger; -} diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts deleted file mode 100644 index 6c0ddc0a414b..000000000000 --- a/packages/angular/cli/models/schematic-command.ts +++ /dev/null @@ -1,452 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { schema, tags, workspaces } from '@angular-devkit/core'; -import { DryRunEvent, UnsuccessfulWorkflowExecution, formats } from '@angular-devkit/schematics'; -import { - FileSystemCollection, - FileSystemEngine, - FileSystemSchematic, - NodeWorkflow, -} from '@angular-devkit/schematics/tools'; -import * as inquirer from 'inquirer'; -import * as systemPath from 'path'; -import { isPackageNameSafeForAnalytics } from '../src/analytics/analytics'; -import { parseJsonSchemaToOptions } from '../src/command-builder/utilities/json-schema'; -import { colors } from '../src/utilities/color'; -import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../src/utilities/config'; -import { ensureCompatibleNpm, getPackageManager } from '../src/utilities/package-manager'; -import { isTTY } from '../src/utilities/tty'; -import { BaseCommandOptions, Command } from './command'; -import { CommandContext } from './interface'; -import { SchematicEngineHost } from './schematic-engine-host'; - -export interface BaseSchematicSchema { - debug?: boolean; - dryRun?: boolean; - force?: boolean; - interactive?: boolean; - defaults?: boolean; - registry?: string; -} - -export interface RunSchematicOptions extends BaseSchematicSchema { - collectionName: string; - schematicName: string; - schematicOptions?: Record; - showNothingDone?: boolean; -} - -export class UnknownCollectionError extends Error { - constructor(collectionName: string) { - super(`Invalid collection (${collectionName}).`); - } -} - -export abstract class SchematicCommand< - T extends BaseSchematicSchema & BaseCommandOptions, -> extends Command { - protected readonly allowPrivateSchematics: boolean = false; - protected override readonly useReportAnalytics = false; - protected _workflow!: NodeWorkflow; - - protected defaultCollectionName = '@schematics/angular'; - protected collectionName = this.defaultCollectionName; - protected schematicName?: string; - - constructor(context: CommandContext, commandName: string) { - super(context, commandName); - } - - public override async initialize(options: T): Promise { - this._workflow = await this.createWorkflow(options); - - if (this.schematicName) { - // Set the options. - const collection = this.getCollection(this.collectionName); - const schematic = this.getSchematic(collection, this.schematicName, true); - const options = await parseJsonSchemaToOptions( - this._workflow.registry, - schematic.description.schemaJson || {}, - ); - - this.commandOptions.push(...options); - - // Remove any user analytics from schematics that are NOT part of our safelist. - for (const o of this.commandOptions) { - if (o.userAnalytics && !isPackageNameSafeForAnalytics(this.collectionName)) { - o.userAnalytics = undefined; - } - } - } - } - - protected getEngine(): FileSystemEngine { - return this._workflow.engine; - } - - protected getCollection(collectionName: string): FileSystemCollection { - const engine = this.getEngine(); - const collection = engine.createCollection(collectionName); - - if (collection === null) { - throw new UnknownCollectionError(collectionName); - } - - return collection; - } - - protected getSchematic( - collection: FileSystemCollection, - schematicName: string, - allowPrivate?: boolean, - ): FileSystemSchematic { - return collection.createSchematic(schematicName, allowPrivate); - } - - /* - * Runtime hook to allow specifying customized workflow - */ - protected async createWorkflow(options: BaseSchematicSchema): Promise { - if (this._workflow) { - return this._workflow; - } - - const { force, dryRun } = options; - const root = this.context.root; - const workflow = new NodeWorkflow(root, { - force, - dryRun, - packageManager: await getPackageManager(root), - packageRegistry: options.registry, - // A schema registry is required to allow customizing addUndefinedDefaults - registry: new schema.CoreSchemaRegistry(formats.standardFormats), - resolvePaths: this.workspace - ? // Workspace - this.collectionName === this.defaultCollectionName - ? // Favor __dirname for @schematics/angular to use the build-in version - [__dirname, process.cwd(), root] - : [process.cwd(), root, __dirname] - : // Global - [__dirname, process.cwd()], - schemaValidation: true, - optionTransforms: [ - // Add configuration file defaults - async (schematic, current) => { - const projectName = - typeof (current as Record).project === 'string' - ? ((current as Record).project as string) - : getProjectName(); - - return { - ...(await getSchematicDefaults(schematic.collection.name, schematic.name, projectName)), - ...current, - }; - }, - ], - engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), - }); - - const getProjectName = () => { - if (this.workspace) { - const projectNames = getProjectsByPath( - this.workspace, - process.cwd(), - this.workspace.basePath, - ); - - if (projectNames.length === 1) { - return projectNames[0]; - } else { - if (projectNames.length > 1) { - this.logger.warn(tags.oneLine` - Two or more projects are using identical roots. - Unable to determine project using current working directory. - Using default workspace project instead. - `); - } - - const defaultProjectName = this.workspace.extensions['defaultProject']; - if (typeof defaultProjectName === 'string' && defaultProjectName) { - return defaultProjectName; - } - } - } - - return undefined; - }; - - workflow.registry.addPostTransform(schema.transforms.addUndefinedDefaults); - workflow.registry.addSmartDefaultProvider('projectName', getProjectName); - workflow.registry.useXDeprecatedProvider((msg) => this.logger.warn(msg)); - - let shouldReportAnalytics = true; - workflow.engineHost.registerOptionsTransform(async (_, options) => { - if (shouldReportAnalytics) { - shouldReportAnalytics = false; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - await this.reportAnalytics([this.commandName], options as any); - } - - return options; - }); - - if (options.interactive !== false && isTTY()) { - workflow.registry.usePromptProvider((definitions: Array) => { - const questions: inquirer.QuestionCollection = definitions - .filter((definition) => !options.defaults || definition.default === undefined) - .map((definition) => { - const question: inquirer.Question = { - name: definition.id, - message: definition.message, - default: definition.default, - }; - - const validator = definition.validator; - if (validator) { - question.validate = (input) => validator(input); - - // Filter allows transformation of the value prior to validation - question.filter = async (input) => { - for (const type of definition.propertyTypes) { - let value; - switch (type) { - case 'string': - value = String(input); - break; - case 'integer': - case 'number': - value = Number(input); - break; - default: - value = input; - break; - } - // Can be a string if validation fails - const isValid = (await validator(value)) === true; - if (isValid) { - return value; - } - } - - return input; - }; - } - - switch (definition.type) { - case 'confirmation': - question.type = 'confirm'; - break; - case 'list': - question.type = definition.multiselect ? 'checkbox' : 'list'; - (question as inquirer.CheckboxQuestion).choices = definition.items?.map((item) => { - return typeof item == 'string' - ? item - : { - name: item.label, - value: item.value, - }; - }); - break; - default: - question.type = definition.type; - break; - } - - return question; - }); - - return inquirer.prompt(questions); - }); - } - - return (this._workflow = workflow); - } - - protected async getDefaultSchematicCollection(): Promise { - let workspace = await getWorkspace('local'); - - if (workspace) { - const project = getProjectByCwd(workspace); - if (project && workspace.getProjectCli(project)) { - const value = workspace.getProjectCli(project)['defaultCollection']; - if (typeof value == 'string') { - return value; - } - } - if (workspace.getCli()) { - const value = workspace.getCli()['defaultCollection']; - if (typeof value == 'string') { - return value; - } - } - } - - workspace = await getWorkspace('global'); - if (workspace && workspace.getCli()) { - const value = workspace.getCli()['defaultCollection']; - if (typeof value == 'string') { - return value; - } - } - - return this.defaultCollectionName; - } - - protected async runSchematic(options: RunSchematicOptions) { - const { schematicOptions: input = {}, debug, dryRun } = options; - let { collectionName, schematicName } = options; - - let nothingDone = true; - let loggingQueue: string[] = []; - let error = false; - - const workflow = this._workflow; - - // Get the option object from the schematic schema. - const schematic = this.getSchematic( - this.getCollection(collectionName), - schematicName, - this.allowPrivateSchematics, - ); - // Update the schematic and collection name in case they're not the same as the ones we - // received in our options, e.g. after alias resolution or extension. - collectionName = schematic.collection.description.name; - schematicName = schematic.description.name; - - workflow.reporter.subscribe((event: DryRunEvent) => { - nothingDone = false; - - // Strip leading slash to prevent confusion. - const eventPath = event.path.startsWith('/') ? event.path.substr(1) : event.path; - - switch (event.kind) { - case 'error': - error = true; - const desc = event.description == 'alreadyExist' ? 'already exists' : 'does not exist.'; - this.logger.warn(`ERROR! ${eventPath} ${desc}.`); - break; - case 'update': - loggingQueue.push(tags.oneLine` - ${colors.cyan('UPDATE')} ${eventPath} (${event.content.length} bytes) - `); - break; - case 'create': - loggingQueue.push(tags.oneLine` - ${colors.green('CREATE')} ${eventPath} (${event.content.length} bytes) - `); - break; - case 'delete': - loggingQueue.push(`${colors.yellow('DELETE')} ${eventPath}`); - break; - case 'rename': - const eventToPath = event.to.startsWith('/') ? event.to.substring(1) : event.to; - loggingQueue.push(`${colors.blue('RENAME')} ${eventPath} => ${eventToPath}`); - break; - } - }); - - workflow.lifeCycle.subscribe((event) => { - if (event.kind == 'end' || event.kind == 'post-tasks-start') { - if (!error) { - // Output the logging queue, no error happened. - loggingQueue.forEach((log) => this.logger.info(log)); - } - - loggingQueue = []; - error = false; - } - }); - - // Temporary compatibility check for NPM 7 - if (collectionName === '@schematics/angular' && schematicName === 'ng-new') { - if ( - !input.skipInstall && - (input.packageManager === undefined || input.packageManager === 'npm') - ) { - await ensureCompatibleNpm(this.context.root); - } - } - - return new Promise((resolve) => { - workflow - .execute({ - collection: collectionName, - schematic: schematicName, - options: input, - debug: debug, - logger: this.logger, - allowPrivate: this.allowPrivateSchematics, - }) - .subscribe({ - error: (err: Error) => { - // In case the workflow was not successful, show an appropriate error message. - if (err instanceof UnsuccessfulWorkflowExecution) { - // "See above" because we already printed the error. - this.logger.fatal('The Schematic workflow failed. See above.'); - } else if (debug) { - this.logger.fatal(`An error occurred:\n${err.message}\n${err.stack}`); - } else { - this.logger.fatal(err.message); - } - - resolve(1); - }, - complete: () => { - const showNothingDone = !(options.showNothingDone === false); - if (nothingDone && showNothingDone) { - this.logger.info('Nothing to be done.'); - } - if (dryRun) { - this.logger.warn(`\nNOTE: The "dryRun" flag means no changes were made.`); - } - resolve(); - }, - }); - }); - } -} - -function getProjectsByPath( - workspace: workspaces.WorkspaceDefinition, - path: string, - root: string, -): string[] { - if (workspace.projects.size === 1) { - return Array.from(workspace.projects.keys()); - } - - const isInside = (base: string, potential: string): boolean => { - const absoluteBase = systemPath.resolve(root, base); - const absolutePotential = systemPath.resolve(root, potential); - const relativePotential = systemPath.relative(absoluteBase, absolutePotential); - if (!relativePotential.startsWith('..') && !systemPath.isAbsolute(relativePotential)) { - return true; - } - - return false; - }; - - const projects = Array.from(workspace.projects.entries()) - .map(([name, project]) => [systemPath.resolve(root, project.root), name] as [string, string]) - .filter((tuple) => isInside(tuple[0], path)) - // Sort tuples by depth, with the deeper ones first. Since the first member is a path and - // we filtered all invalid paths, the longest will be the deepest (and in case of equality - // the sort is stable and the first declared project will win). - .sort((a, b) => b[0].length - a[0].length); - - if (projects.length === 1) { - return [projects[0][1]]; - } else if (projects.length > 1) { - const firstPath = projects[0][0]; - - return projects.filter((v) => v[0] === firstPath).map((v) => v[1]); - } - - return []; -} diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 87e2b0c313ed..e216dba74941 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -18,6 +18,7 @@ import { Options as YargsOptions, } from 'yargs'; import { Parser as yargsParser } from 'yargs/helpers'; +import { PackageManager } from '../../lib/config/workspace-schema'; import { createAnalytics } from '../analytics/analytics'; import { AngularWorkspace } from '../utilities/config'; import { Option } from './utilities/json-schema'; @@ -38,6 +39,7 @@ export interface CommandContext { root: string; workspace?: AngularWorkspace; logger: logging.Logger; + packageManager: PackageManager; /** Arguments parsed in free-from without parser configuration. */ args: { positional: string[]; @@ -70,7 +72,7 @@ export abstract class CommandModule implements CommandModuleI abstract readonly command: string; abstract readonly describe: string | false; abstract readonly longDescriptionPath?: string; - protected shouldReportAnalytics = true; + protected readonly shouldReportAnalytics: boolean = true; static scope = CommandScope.Both; private readonly optionsWithAnalytics = new Map(); diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 75f99317e328..80b190dfa0fe 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -6,17 +6,32 @@ * found in the LICENSE file at https://angular.io/license */ -import { Collection } from '@angular-devkit/schematics'; +import { schema, tags } from '@angular-devkit/core'; +import { Collection, UnsuccessfulWorkflowExecution, formats } from '@angular-devkit/schematics'; import { FileSystemCollectionDescription, FileSystemSchematicDescription, NodeWorkflow, } from '@angular-devkit/schematics/tools'; +import inquirer from 'inquirer'; import { Argv } from 'yargs'; -import { SchematicEngineHost } from '../../models/schematic-engine-host'; -import { getProjectByCwd, getWorkspace } from '../utilities/config'; -import { CommandModule, CommandModuleImplementation, CommandScope } from './command-module'; +import { + getProjectByCwd, + getProjectsByPath, + getSchematicDefaults, + getWorkspace, +} from '../utilities/config'; +import { isTTY } from '../utilities/tty'; +import { + CommandModule, + CommandModuleImplementation, + CommandScope, + Options, + OtherOptions, +} from './command-module'; import { Option, parseJsonSchemaToOptions } from './utilities/json-schema'; +import { SchematicEngineHost } from './utilities/schematic-engine-host'; +import { subscribeToWorkflow } from './utilities/schematic-workflow'; const DEFAULT_SCHEMATICS_COLLECTION = '@schematics/angular'; @@ -27,15 +42,20 @@ export interface SchematicsCommandArgs { defaults: boolean; } +export interface SchematicsExecutionOptions extends Options { + packageRegistry?: string; +} + export abstract class SchematicsCommandModule extends CommandModule implements CommandModuleImplementation { static override scope = CommandScope.In; - protected readonly schematicName: string | undefined; + protected readonly allowPrivateSchematics: boolean = false; + protected override readonly shouldReportAnalytics = false; async builder(argv: Argv): Promise> { - const localYargs: Argv = argv + return argv .option('interactive', { describe: 'Enable interactive input prompts.', type: 'boolean', @@ -57,17 +77,6 @@ export abstract class SchematicsCommandModule default: false, }) .strict(); - - if (this.schematicName) { - const collectionName = await this.getCollectionName(); - const workflow = this.getOrCreateWorkflow(collectionName); - const collection = workflow.engine.createCollection(collectionName); - const options = await this.getSchematicOptions(collection, this.schematicName, workflow); - - return this.addSchemaOptionsToCommand(localYargs, options); - } - - return localYargs; } /** Get schematic schema options.*/ @@ -86,39 +95,147 @@ export abstract class SchematicsCommandModule return parseJsonSchemaToOptions(workflow.registry, schemaJson); } - protected async getCollectionName(): Promise { - const { - options: { collection }, - positional, - } = this.context.args; - - return ( - (typeof collection === 'string' ? collection : undefined) ?? - // positional = [generate, lint] or [new, collection-package] - this.parseSchematicInfo(positional[1])[0] ?? - (await this.getDefaultSchematicCollection()) - ); + private _workflowForBuilder: NodeWorkflow | undefined; + protected getOrCreateWorkflowForBuilder(collectionName: string): NodeWorkflow { + if (this._workflowForBuilder) { + return this._workflowForBuilder; + } + + return (this._workflowForBuilder = new NodeWorkflow(this.context.root, { + resolvePaths: this.getResolvePaths(collectionName), + engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), + })); } - private _workflow: NodeWorkflow | undefined; - protected getOrCreateWorkflow(collectionName: string): NodeWorkflow { - if (this._workflow) { - return this._workflow; + private _workflowForExecution: NodeWorkflow | undefined; + protected async getOrCreateWorkflowForExecution( + collectionName: string, + options: SchematicsExecutionOptions, + ): Promise { + if (this._workflowForExecution) { + return this._workflowForExecution; } - const { root, workspace } = this.context; - - return new NodeWorkflow(root, { - resolvePaths: workspace - ? // Workspace - collectionName === DEFAULT_SCHEMATICS_COLLECTION - ? // Favor __dirname for @schematics/angular to use the build-in version - [__dirname, process.cwd(), root] - : [process.cwd(), root, __dirname] - : // Global - [__dirname, process.cwd()], + const { logger, root, packageManager } = this.context; + const { force, dryRun, packageRegistry } = options; + + const workflow = new NodeWorkflow(root, { + force, + dryRun, + packageManager, + // A schema registry is required to allow customizing addUndefinedDefaults + registry: new schema.CoreSchemaRegistry(formats.standardFormats), + packageRegistry, + resolvePaths: this.getResolvePaths(collectionName), + schemaValidation: true, + optionTransforms: [ + // Add configuration file defaults + async (schematic, current) => { + const projectName = + typeof (current as Record).project === 'string' + ? ((current as Record).project as string) + : this.getProjectName(); + + return { + ...(await getSchematicDefaults(schematic.collection.name, schematic.name, projectName)), + ...current, + }; + }, + ], engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), }); + + workflow.registry.addPostTransform(schema.transforms.addUndefinedDefaults); + workflow.registry.addSmartDefaultProvider('projectName', () => this.getProjectName()); + workflow.registry.useXDeprecatedProvider((msg) => logger.warn(msg)); + + let shouldReportAnalytics = true; + workflow.engineHost.registerOptionsTransform(async (schematic, options) => { + if (shouldReportAnalytics) { + shouldReportAnalytics = false; + // ng generate lib -> ng generate + const commandName = this.command?.split(' ', 1)[0]; + + await this.reportAnalytics(options as {}, [ + commandName, + schematic.collection.name.replace(/\//g, '_'), + schematic.name.replace(/\//g, '_'), + ]); + } + + return options; + }); + + if (options.interactive !== false && isTTY()) { + workflow.registry.usePromptProvider((definitions: Array) => { + const questions: inquirer.QuestionCollection = definitions + .filter((definition) => !options.defaults || definition.default === undefined) + .map((definition) => { + const question: inquirer.Question = { + name: definition.id, + message: definition.message, + default: definition.default, + }; + + const validator = definition.validator; + if (validator) { + question.validate = (input) => validator(input); + + // Filter allows transformation of the value prior to validation + question.filter = async (input) => { + for (const type of definition.propertyTypes) { + let value; + switch (type) { + case 'string': + value = String(input); + break; + case 'integer': + case 'number': + value = Number(input); + break; + default: + value = input; + break; + } + // Can be a string if validation fails + const isValid = (await validator(value)) === true; + if (isValid) { + return value; + } + } + + return input; + }; + } + + switch (definition.type) { + case 'confirmation': + question.type = 'confirm'; + break; + case 'list': + question.type = definition.multiselect ? 'checkbox' : 'list'; + (question as inquirer.CheckboxQuestion).choices = definition.items?.map((item) => { + return typeof item == 'string' + ? item + : { + name: item.label, + value: item.value, + }; + }); + break; + default: + question.type = definition.type; + break; + } + + return question; + }); + + return inquirer.prompt(questions); + }); + } + + return (this._workflowForExecution = workflow); } private _defaultSchematicCollection: string | undefined; @@ -164,4 +281,96 @@ export abstract class SchematicsCommandModule return [undefined, schematic]; } + + protected async runSchematic(options: { + executionOptions: SchematicsExecutionOptions; + schematicOptions: OtherOptions; + collectionName: string; + schematicName: string; + }): Promise { + const { logger } = this.context; + const { schematicOptions, executionOptions, collectionName, schematicName } = options; + const workflow = await this.getOrCreateWorkflowForExecution(collectionName, executionOptions); + + if (!schematicName) { + throw new Error('schematicName cannot be undefined.'); + } + + const { unsubscribe, files } = subscribeToWorkflow(workflow, logger); + + try { + await workflow + .execute({ + collection: collectionName, + schematic: schematicName, + options: schematicOptions, + logger, + allowPrivate: this.allowPrivateSchematics, + }) + .toPromise(); + + if (!files.size) { + logger.info('Nothing to be done.'); + } + + if (executionOptions.dryRun) { + logger.warn(`\nNOTE: The "--dry-run" option means no changes were made.`); + } + } catch (err) { + // In case the workflow was not successful, show an appropriate error message. + if (err instanceof UnsuccessfulWorkflowExecution) { + // "See above" because we already printed the error. + logger.fatal('The Schematic workflow failed. See above.'); + + return 1; + } else { + throw err; + } + } finally { + unsubscribe(); + } + + return 0; + } + + private getProjectName(): string | undefined { + const { workspace, logger } = this.context; + if (!workspace) { + return undefined; + } + + const projectNames = getProjectsByPath(workspace, process.cwd(), workspace.basePath); + + if (projectNames.length === 1) { + return projectNames[0]; + } else { + if (projectNames.length > 1) { + logger.warn(tags.oneLine` + Two or more projects are using identical roots. + Unable to determine project using current working directory. + Using default workspace project instead. + `); + } + + const defaultProjectName = workspace.extensions['defaultProject']; + if (typeof defaultProjectName === 'string' && defaultProjectName) { + return defaultProjectName; + } + } + + return undefined; + } + + private getResolvePaths(collectionName: string): string[] { + const { workspace, root } = this.context; + + return workspace + ? // Workspace + collectionName === DEFAULT_SCHEMATICS_COLLECTION + ? // Favor __dirname for @schematics/angular to use the build-in version + [__dirname, process.cwd(), root] + : [process.cwd(), root, __dirname] + : // Global + [__dirname, process.cwd()]; + } } diff --git a/packages/angular/cli/models/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts similarity index 100% rename from packages/angular/cli/models/schematic-engine-host.ts rename to packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-workflow.ts b/packages/angular/cli/src/command-builder/utilities/schematic-workflow.ts new file mode 100644 index 000000000000..0b056ed64436 --- /dev/null +++ b/packages/angular/cli/src/command-builder/utilities/schematic-workflow.ts @@ -0,0 +1,79 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging, tags } from '@angular-devkit/core'; +import { NodeWorkflow } from '@angular-devkit/schematics/tools'; +import { colors } from '../../utilities/color'; + +export function subscribeToWorkflow( + workflow: NodeWorkflow, + logger: logging.LoggerApi, +): { + files: Set; + error: boolean; + unsubscribe: () => void; +} { + const files = new Set(); + let error = false; + let logs: string[] = []; + + const reporterSubscription = workflow.reporter.subscribe((event) => { + // Strip leading slash to prevent confusion. + const eventPath = event.path.charAt(0) === '/' ? event.path.substring(1) : event.path; + + switch (event.kind) { + case 'error': + error = true; + const desc = event.description == 'alreadyExist' ? 'already exists' : 'does not exist'; + logger.error(`ERROR! ${eventPath} ${desc}.`); + break; + case 'update': + logs.push(tags.oneLine` + ${colors.cyan('UPDATE')} ${eventPath} (${event.content.length} bytes) + `); + files.add(eventPath); + break; + case 'create': + logs.push(tags.oneLine` + ${colors.green('CREATE')} ${eventPath} (${event.content.length} bytes) + `); + files.add(eventPath); + break; + case 'delete': + logs.push(`${colors.yellow('DELETE')} ${eventPath}`); + files.add(eventPath); + break; + case 'rename': + const eventToPath = event.to.charAt(0) === '/' ? event.to.substring(1) : event.to; + logs.push(`${colors.blue('RENAME')} ${eventPath} => ${eventToPath}`); + files.add(eventPath); + break; + } + }); + + const lifecycleSubscription = workflow.lifeCycle.subscribe((event) => { + if (event.kind == 'end' || event.kind == 'post-tasks-start') { + if (!error) { + // Output the logging queue, no error happened. + logs.forEach((log) => logger.info(log)); + } + + logs = []; + error = false; + } + }); + + return { + files, + error, + unsubscribe: () => { + reporterSubscription.unsubscribe(); + lifecycleSubscription.unsubscribe(); + }, + }; +} diff --git a/packages/angular/cli/src/commands/add/add-impl.ts b/packages/angular/cli/src/commands/add/add-impl.ts deleted file mode 100644 index 474300b63037..000000000000 --- a/packages/angular/cli/src/commands/add/add-impl.ts +++ /dev/null @@ -1,420 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { analytics, tags } from '@angular-devkit/core'; -import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/tools'; -import npa from 'npm-package-arg'; -import { dirname, join } from 'path'; -import { intersects, prerelease, rcompare, satisfies, valid, validRange } from 'semver'; -import { PackageManager } from '../../../lib/config/workspace-schema'; -import { SchematicCommand } from '../../../models/schematic-command'; -import { isPackageNameSafeForAnalytics } from '../../analytics/analytics'; -import { Options } from '../../command-builder/command-module'; -import { colors } from '../../utilities/color'; -import { installPackage, installTempPackage } from '../../utilities/install-package'; -import { ensureCompatibleNpm, getPackageManager } from '../../utilities/package-manager'; -import { - NgAddSaveDepedency, - PackageManifest, - fetchPackageManifest, - fetchPackageMetadata, -} from '../../utilities/package-metadata'; -import { askConfirmation } from '../../utilities/prompt'; -import { Spinner } from '../../utilities/spinner'; -import { isTTY } from '../../utilities/tty'; -import { AddCommandArgs } from './cli'; - -type AddCommandOptions = Options; - -/** - * The set of packages that should have certain versions excluded from consideration - * when attempting to find a compatible version for a package. - * The key is a package name and the value is a SemVer range of versions to exclude. - */ -const packageVersionExclusions: Record = { - // @angular/localize@9.x versions do not have peer dependencies setup - '@angular/localize': '9.x', -}; - -export class AddCommandModule extends SchematicCommand { - override readonly allowPrivateSchematics = true; - - // eslint-disable-next-line max-lines-per-function - async run(options: AddCommandOptions) { - await ensureCompatibleNpm(this.context.root); - - if (!options.collection) { - this.logger.fatal( - `The "ng add" command requires a name argument to be specified eg. ` + - `${colors.yellow('ng add [name] ')}. For more details, use "ng help".`, - ); - - return 1; - } - - let packageIdentifier; - try { - packageIdentifier = npa(options.collection); - } catch (e) { - this.logger.error(e.message); - - return 1; - } - - if ( - packageIdentifier.name && - packageIdentifier.registry && - this.isPackageInstalled(packageIdentifier.name) - ) { - const validVersion = await this.isProjectVersionValid(packageIdentifier); - if (validVersion) { - // Already installed so just run schematic - this.logger.info('Skipping installation: Package already installed'); - - return this.executeSchematic(packageIdentifier.name, options); - } - } - - const spinner = new Spinner(); - - spinner.start('Determining package manager...'); - const packageManager = await getPackageManager(this.context.root); - const usingYarn = packageManager === PackageManager.Yarn; - spinner.info(`Using package manager: ${colors.grey(packageManager)}`); - - if (packageIdentifier.name && packageIdentifier.type === 'tag' && !packageIdentifier.rawSpec) { - // only package name provided; search for viable version - // plus special cases for packages that did not have peer deps setup - spinner.start('Searching for compatible package version...'); - - let packageMetadata; - try { - packageMetadata = await fetchPackageMetadata(packageIdentifier.name, this.logger, { - registry: options.registry, - usingYarn, - verbose: options.verbose, - }); - } catch (e) { - spinner.fail('Unable to load package information from registry: ' + e.message); - - return 1; - } - - // Start with the version tagged as `latest` if it exists - const latestManifest = packageMetadata.tags['latest']; - if (latestManifest) { - packageIdentifier = npa.resolve(latestManifest.name, latestManifest.version); - } - - // Adjust the version based on name and peer dependencies - if (latestManifest && Object.keys(latestManifest.peerDependencies).length === 0) { - if (latestManifest.name === '@angular/pwa') { - const version = await this.findProjectVersion('@angular/cli'); - const semverOptions = { includePrerelease: true }; - - if ( - version && - ((validRange(version) && intersects(version, '7', semverOptions)) || - (valid(version) && satisfies(version, '7', semverOptions))) - ) { - packageIdentifier = npa.resolve('@angular/pwa', '0.12'); - } - } - - spinner.succeed( - `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, - ); - } else if (!latestManifest || (await this.hasMismatchedPeer(latestManifest))) { - // 'latest' is invalid so search for most recent matching package - const versionExclusions = packageVersionExclusions[packageMetadata.name]; - const versionManifests = Object.values(packageMetadata.versions).filter( - (value: PackageManifest) => { - // Prerelease versions are not stable and should not be considered by default - if (prerelease(value.version)) { - return false; - } - // Deprecated versions should not be used or considered - if (value.deprecated) { - return false; - } - // Excluded package versions should not be considered - if (versionExclusions && satisfies(value.version, versionExclusions)) { - return false; - } - - return true; - }, - ); - - versionManifests.sort((a, b) => rcompare(a.version, b.version, true)); - - let newIdentifier; - for (const versionManifest of versionManifests) { - if (!(await this.hasMismatchedPeer(versionManifest))) { - newIdentifier = npa.resolve(versionManifest.name, versionManifest.version); - break; - } - } - - if (!newIdentifier) { - spinner.warn("Unable to find compatible package. Using 'latest' tag."); - } else { - packageIdentifier = newIdentifier; - spinner.succeed( - `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, - ); - } - } else { - spinner.succeed( - `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, - ); - } - } - - let collectionName = packageIdentifier.name; - let savePackage: NgAddSaveDepedency | undefined; - - try { - spinner.start('Loading package information from registry...'); - const manifest = await fetchPackageManifest(packageIdentifier.toString(), this.logger, { - registry: options.registry, - verbose: options.verbose, - usingYarn, - }); - - savePackage = manifest['ng-add']?.save; - collectionName = manifest.name; - - if (await this.hasMismatchedPeer(manifest)) { - spinner.warn('Package has unmet peer dependencies. Adding the package may not succeed.'); - } else { - spinner.succeed(`Package information loaded.`); - } - } catch (e) { - spinner.fail(`Unable to fetch package information for '${packageIdentifier}': ${e.message}`); - - return 1; - } - - if (!options.skipConfirmation) { - const confirmationResponse = await askConfirmation( - `\nThe package ${colors.blue(packageIdentifier.raw)} will be installed and executed.\n` + - 'Would you like to proceed?', - true, - false, - ); - - if (!confirmationResponse) { - if (!isTTY()) { - this.logger.error( - 'No terminal detected. ' + - `'--skip-confirmation' can be used to bypass installation confirmation. ` + - `Ensure package name is correct prior to '--skip-confirmation' option usage.`, - ); - } - this.logger.error('Command aborted.'); - - return 1; - } - } - - if (savePackage === false) { - // Temporary packages are located in a different directory - // Hence we need to resolve them using the temp path - const { status, tempNodeModules } = await installTempPackage( - packageIdentifier.raw, - packageManager, - options.registry ? [`--registry="${options.registry}"`] : undefined, - ); - const resolvedCollectionPath = require.resolve(join(collectionName, 'package.json'), { - paths: [tempNodeModules], - }); - - if (status !== 0) { - return status; - } - - collectionName = dirname(resolvedCollectionPath); - } else { - const status = await installPackage( - packageIdentifier.raw, - packageManager, - savePackage, - options.registry ? [`--registry="${options.registry}"`] : undefined, - ); - - if (status !== 0) { - return status; - } - } - - return this.executeSchematic(collectionName, options); - } - - private async isProjectVersionValid(packageIdentifier: npa.Result): Promise { - if (!packageIdentifier.name) { - return false; - } - - let validVersion = false; - const installedVersion = await this.findProjectVersion(packageIdentifier.name); - if (installedVersion) { - if (packageIdentifier.type === 'range' && packageIdentifier.fetchSpec) { - validVersion = satisfies(installedVersion, packageIdentifier.fetchSpec); - } else if (packageIdentifier.type === 'version') { - const v1 = valid(packageIdentifier.fetchSpec); - const v2 = valid(installedVersion); - validVersion = v1 !== null && v1 === v2; - } else if (!packageIdentifier.rawSpec) { - validVersion = true; - } - } - - return validVersion; - } - - override async reportAnalytics( - paths: string[], - options: AddCommandOptions, - dimensions: (boolean | number | string)[] = [], - metrics: (boolean | number | string)[] = [], - ): Promise { - const collection = options.collection; - - // Add the collection if it's safe listed. - if (collection && isPackageNameSafeForAnalytics(collection)) { - dimensions[analytics.NgCliAnalyticsDimensions.NgAddCollection] = collection; - } else { - delete dimensions[analytics.NgCliAnalyticsDimensions.NgAddCollection]; - } - - return super.reportAnalytics(paths, options, dimensions, metrics); - } - - private isPackageInstalled(name: string): boolean { - try { - require.resolve(join(name, 'package.json'), { paths: [this.context.root] }); - - return true; - } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') { - throw e; - } - } - - return false; - } - - private async executeSchematic( - collectionName: string, - options: AddCommandOptions & Record, - ): Promise { - try { - const { - collection, - verbose, - registry, - skipConfirmation, - skipInstall, - interactive, - force, - dryRun, - defaults: defaultVal, - ...schematicOptions - } = options; - - return await this.runSchematic({ - schematicOptions, - collectionName, - schematicName: 'ng-add', - dryRun: false, - force: false, - }); - } catch (e) { - if (e instanceof NodePackageDoesNotSupportSchematics) { - this.logger.error(tags.oneLine` - The package that you are trying to add does not support schematics. You can try using - a different version of the package or contact the package author to add ng-add support. - `); - - return 1; - } - - throw e; - } - } - - private async findProjectVersion(name: string): Promise { - let installedPackage; - try { - installedPackage = require.resolve(join(name, 'package.json'), { - paths: [this.context.root], - }); - } catch {} - - if (installedPackage) { - try { - const installed = await fetchPackageManifest(dirname(installedPackage), this.logger); - - return installed.version; - } catch {} - } - - let projectManifest; - try { - projectManifest = await fetchPackageManifest(this.context.root, this.logger); - } catch {} - - if (projectManifest) { - const version = projectManifest.dependencies[name] || projectManifest.devDependencies[name]; - if (version) { - return version; - } - } - - return null; - } - - private async hasMismatchedPeer(manifest: PackageManifest): Promise { - for (const peer in manifest.peerDependencies) { - let peerIdentifier; - try { - peerIdentifier = npa.resolve(peer, manifest.peerDependencies[peer]); - } catch { - this.logger.warn(`Invalid peer dependency ${peer} found in package.`); - continue; - } - - if (peerIdentifier.type === 'version' || peerIdentifier.type === 'range') { - try { - const version = await this.findProjectVersion(peer); - if (!version) { - continue; - } - - const options = { includePrerelease: true }; - - if ( - !intersects(version, peerIdentifier.rawSpec, options) && - !satisfies(version, peerIdentifier.rawSpec, options) - ) { - return true; - } - } catch { - // Not found or invalid so ignore - continue; - } - } else { - // type === 'tag' | 'file' | 'directory' | 'remote' | 'git' - // Cannot accurately compare these as the tag/location may have changed since install - } - } - - return false; - } -} diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index 4099d9f305ef..d9608c7d8d0c 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -6,8 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ -import { join } from 'path'; +import { analytics, tags } from '@angular-devkit/core'; +import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/tools'; +import npa from 'npm-package-arg'; +import { dirname, join } from 'path'; +import { compare, intersects, prerelease, satisfies, valid } from 'semver'; import { Argv } from 'yargs'; +import { PackageManager } from '../../../lib/config/workspace-schema'; +import { isPackageNameSafeForAnalytics } from '../../analytics/analytics'; import { CommandModuleImplementation, Options, @@ -17,15 +23,36 @@ import { SchematicsCommandArgs, SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; -import { AddCommandModule as OldCommandModule } from './add-impl'; +import { colors } from '../../utilities/color'; +import { installPackage, installTempPackage } from '../../utilities/install-package'; +import { ensureCompatibleNpm } from '../../utilities/package-manager'; +import { + NgAddSaveDepedency, + PackageManifest, + fetchPackageManifest, + fetchPackageMetadata, +} from '../../utilities/package-metadata'; +import { askConfirmation } from '../../utilities/prompt'; +import { Spinner } from '../../utilities/spinner'; +import { isTTY } from '../../utilities/tty'; -export interface AddCommandArgs extends SchematicsCommandArgs { +interface AddCommandArgs extends SchematicsCommandArgs { collection: string; verbose?: boolean; registry?: string; 'skip-confirmation'?: boolean; } +/** + * The set of packages that should have certain versions excluded from consideration + * when attempting to find a compatible version for a package. + * The key is a package name and the value is a SemVer range of versions to exclude. + */ +const packageVersionExclusions: Record = { + // @angular/localize@9.x versions do not have peer dependencies setup + '@angular/localize': '9.x', +}; + export class AddCommandModule extends SchematicsCommandModule implements CommandModuleImplementation @@ -33,11 +60,11 @@ export class AddCommandModule command = 'add '; describe = 'Adds support for an external library to your project.'; longDescriptionPath = join(__dirname, 'long-description.md'); + protected override allowPrivateSchematics = true; + private readonly schematicName = 'ng-add'; override async builder(argv: Argv): Promise> { - const localYargs = await super.builder(argv); - - return localYargs + const localYargs = (await super.builder(argv)) .positional('collection', { description: 'The package to be added.', type: 'string', @@ -56,12 +83,382 @@ export class AddCommandModule type: 'boolean', default: false, }) + // Prior to downloading we don't know the full schema and therefore we cannot be strict on the options. + // Possibly in the future update the logic to use the following syntax: + // `ng add @angular/localize -- --package-options`. .strict(false); + + const collectionName = await this.getCollectionName(); + const workflow = await this.getOrCreateWorkflowForBuilder(collectionName); + + try { + const collection = workflow.engine.createCollection(collectionName); + const options = await this.getSchematicOptions(collection, this.schematicName, workflow); + + return this.addSchemaOptionsToCommand(localYargs, options); + } catch (error) { + // During `ng add` prior to the downloading of the package + // we are not able to resolve and create a collection. + // Or when the the collection value is a path to a tarball. + } + + return localYargs; } - run(options: Options & OtherOptions): Promise { - const command = new OldCommandModule(this.context, 'add'); + // eslint-disable-next-line max-lines-per-function + async run(options: Options & OtherOptions): Promise { + const { root, logger, packageManager } = this.context; + const { verbose, registry, collection, skipConfirmation } = options; + await ensureCompatibleNpm(root); + + let packageIdentifier; + try { + packageIdentifier = npa(collection); + } catch (e) { + logger.error(e.message); + + return 1; + } + + if ( + packageIdentifier.name && + packageIdentifier.registry && + this.isPackageInstalled(packageIdentifier.name) + ) { + const validVersion = await this.isProjectVersionValid(packageIdentifier); + if (validVersion) { + // Already installed so just run schematic + logger.info('Skipping installation: Package already installed'); + + return this.executeSchematic({ ...options, collection: packageIdentifier.name }); + } + } + + const spinner = new Spinner(); + + spinner.start('Determining package manager...'); + const usingYarn = packageManager === PackageManager.Yarn; + spinner.info(`Using package manager: ${colors.grey(packageManager)}`); + + if (packageIdentifier.name && packageIdentifier.type === 'tag' && !packageIdentifier.rawSpec) { + // only package name provided; search for viable version + // plus special cases for packages that did not have peer deps setup + spinner.start('Searching for compatible package version...'); + + let packageMetadata; + try { + packageMetadata = await fetchPackageMetadata(packageIdentifier.name, logger, { + registry, + usingYarn, + verbose, + }); + } catch (e) { + spinner.fail(`Unable to load package information from registry: ${e.message}`); + + return 1; + } + + // Start with the version tagged as `latest` if it exists + const latestManifest = packageMetadata.tags['latest']; + if (latestManifest) { + packageIdentifier = npa.resolve(latestManifest.name, latestManifest.version); + } + + // Adjust the version based on name and peer dependencies + if (latestManifest && Object.keys(latestManifest.peerDependencies).length === 0) { + spinner.succeed( + `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, + ); + } else if (!latestManifest || (await this.hasMismatchedPeer(latestManifest))) { + // 'latest' is invalid so search for most recent matching package + const versionExclusions = packageVersionExclusions[packageMetadata.name]; + const versionManifests = Object.values(packageMetadata.versions).filter( + (value: PackageManifest) => { + // Prerelease versions are not stable and should not be considered by default + if (prerelease(value.version)) { + return false; + } + // Deprecated versions should not be used or considered + if (value.deprecated) { + return false; + } + // Excluded package versions should not be considered + if (versionExclusions && satisfies(value.version, versionExclusions)) { + return false; + } + + return true; + }, + ); + + versionManifests.sort((a, b) => compare(a.version, b.version, true)); + + let newIdentifier; + for (const versionManifest of versionManifests) { + if (!(await this.hasMismatchedPeer(versionManifest))) { + newIdentifier = npa.resolve(versionManifest.name, versionManifest.version); + break; + } + } + + if (!newIdentifier) { + spinner.warn("Unable to find compatible package. Using 'latest' tag."); + } else { + packageIdentifier = newIdentifier; + spinner.succeed( + `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, + ); + } + } else { + spinner.succeed( + `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, + ); + } + } + + let collectionName = packageIdentifier.name; + let savePackage: NgAddSaveDepedency | undefined; + + try { + spinner.start('Loading package information from registry...'); + const manifest = await fetchPackageManifest(packageIdentifier.toString(), logger, { + registry, + verbose, + usingYarn, + }); + + savePackage = manifest['ng-add']?.save; + collectionName = manifest.name; + + if (await this.hasMismatchedPeer(manifest)) { + spinner.warn('Package has unmet peer dependencies. Adding the package may not succeed.'); + } else { + spinner.succeed(`Package information loaded.`); + } + } catch (e) { + spinner.fail(`Unable to fetch package information for '${packageIdentifier}': ${e.message}`); + + return 1; + } + + if (!skipConfirmation) { + const confirmationResponse = await askConfirmation( + `\nThe package ${colors.blue(packageIdentifier.raw)} will be installed and executed.\n` + + 'Would you like to proceed?', + true, + false, + ); + + if (!confirmationResponse) { + if (!isTTY()) { + logger.error( + 'No terminal detected. ' + + `'--skip-confirmation' can be used to bypass installation confirmation. ` + + `Ensure package name is correct prior to '--skip-confirmation' option usage.`, + ); + } + + logger.error('Command aborted.'); + + return 1; + } + } + + if (savePackage === false) { + // Temporary packages are located in a different directory + // Hence we need to resolve them using the temp path + const { status, tempNodeModules } = await installTempPackage( + packageIdentifier.raw, + packageManager, + registry ? [`--registry="${registry}"`] : undefined, + ); + const resolvedCollectionPath = require.resolve(join(collectionName, 'package.json'), { + paths: [tempNodeModules], + }); + + if (status !== 0) { + return status; + } + + collectionName = dirname(resolvedCollectionPath); + } else { + const status = await installPackage( + packageIdentifier.raw, + packageManager, + savePackage, + registry ? [`--registry="${registry}"`] : undefined, + ); + + if (status !== 0) { + return status; + } + } + + return this.executeSchematic({ ...options, collection: collectionName }); + } + + private async isProjectVersionValid(packageIdentifier: npa.Result): Promise { + if (!packageIdentifier.name) { + return false; + } + + let validVersion = false; + const installedVersion = await this.findProjectVersion(packageIdentifier.name); + if (installedVersion) { + if (packageIdentifier.type === 'range' && packageIdentifier.fetchSpec) { + validVersion = satisfies(installedVersion, packageIdentifier.fetchSpec); + } else if (packageIdentifier.type === 'version') { + const v1 = valid(packageIdentifier.fetchSpec); + const v2 = valid(installedVersion); + validVersion = v1 !== null && v1 === v2; + } else if (!packageIdentifier.rawSpec) { + validVersion = true; + } + } + + return validVersion; + } + + override async reportAnalytics(options: OtherOptions, paths: string[]): Promise { + const collection = await this.getCollectionName(); + const dimensions: string[] = []; + // Add the collection if it's safe listed. + if (collection && isPackageNameSafeForAnalytics(collection)) { + dimensions[analytics.NgCliAnalyticsDimensions.NgAddCollection] = collection; + } + + return super.reportAnalytics(options, paths, dimensions); + } + + private async getCollectionName(): Promise { + const [, collectionName] = this.context.args.positional; + + return collectionName; + } + + private isPackageInstalled(name: string): boolean { + try { + require.resolve(join(name, 'package.json'), { paths: [this.context.root] }); + + return true; + } catch (e) { + if (e.code !== 'MODULE_NOT_FOUND') { + throw e; + } + } + + return false; + } + + private async executeSchematic( + options: Options & OtherOptions, + ): Promise { + try { + const { + verbose, + skipConfirmation, + interactive, + force, + dryRun, + registry, + defaults, + collection: collectionName, + ...schematicOptions + } = options; + + return await this.runSchematic({ + schematicOptions, + schematicName: this.schematicName, + collectionName, + executionOptions: { + interactive, + force, + dryRun, + defaults, + packageRegistry: registry, + }, + }); + } catch (e) { + if (e instanceof NodePackageDoesNotSupportSchematics) { + this.context.logger.error(tags.oneLine` + The package that you are trying to add does not support schematics. You can try using + a different version of the package or contact the package author to add ng-add support. + `); + + return 1; + } + + throw e; + } + } + + private async findProjectVersion(name: string): Promise { + const { logger, root } = this.context; + let installedPackage; + try { + installedPackage = require.resolve(join(name, 'package.json'), { + paths: [root], + }); + } catch {} + + if (installedPackage) { + try { + const installed = await fetchPackageManifest(dirname(installedPackage), logger); + + return installed.version; + } catch {} + } + + let projectManifest; + try { + projectManifest = await fetchPackageManifest(root, logger); + } catch {} + + if (projectManifest) { + const version = projectManifest.dependencies[name] || projectManifest.devDependencies[name]; + if (version) { + return version; + } + } + + return null; + } + + private async hasMismatchedPeer(manifest: PackageManifest): Promise { + for (const peer in manifest.peerDependencies) { + let peerIdentifier; + try { + peerIdentifier = npa.resolve(peer, manifest.peerDependencies[peer]); + } catch { + this.context.logger.warn(`Invalid peer dependency ${peer} found in package.`); + continue; + } + + if (peerIdentifier.type === 'version' || peerIdentifier.type === 'range') { + try { + const version = await this.findProjectVersion(peer); + if (!version) { + continue; + } + + const options = { includePrerelease: true }; + + if ( + !intersects(version, peerIdentifier.rawSpec, options) && + !satisfies(version, peerIdentifier.rawSpec, options) + ) { + return true; + } + } catch { + // Not found or invalid so ignore + continue; + } + } else { + // type === 'tag' | 'file' | 'directory' | 'remote' | 'git' + // Cannot accurately compare these as the tag/location may have changed since install + } + } - return command.validateAndRun(options); + return false; } } diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index 8fbabe1ae443..410b3bcb9b5c 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -6,16 +6,20 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonValue } from '@angular-devkit/core'; import { join } from 'path'; +import { v4 as uuidV4 } from 'uuid'; import { Argv } from 'yargs'; import { CommandModule, + CommandModuleError, CommandModuleImplementation, Options, } from '../../command-builder/command-module'; -import { ConfigCommand } from './config-impl'; +import { getWorkspaceRaw, validateWorkspace } from '../../utilities/config'; +import { JSONFile, parseJson } from '../../utilities/json-file'; -export interface ConfigCommandArgs { +interface ConfigCommandArgs { 'json-path': string; value?: string; global?: boolean; @@ -52,9 +56,157 @@ export class ConfigCommandModule .strict(); } - run(options: Options): Promise { - const command = new ConfigCommand(this.context, 'config'); + async run(options: Options): Promise { + const level = options.global ? 'global' : 'local'; + const [config] = getWorkspaceRaw(level); - return command.validateAndRun(options); + if (options.value == undefined) { + if (!config) { + this.context.logger.error('No config found.'); + + return 1; + } + + return this.get(config, options); + } else { + return this.set(options); + } + } + + private get(jsonFile: JSONFile, options: Options): number { + const { logger } = this.context; + + const value = options.jsonPath + ? jsonFile.get(parseJsonPath(options.jsonPath)) + : jsonFile.content; + + if (value === undefined) { + logger.error('Value cannot be found.'); + + return 1; + } else if (typeof value === 'string') { + logger.info(value); + } else { + logger.info(JSON.stringify(value, null, 2)); + } + + return 0; + } + + private async set(options: Options): Promise { + if (!options.jsonPath?.trim()) { + throw new CommandModuleError('Invalid Path.'); + } + + const validCliPaths = new Map< + string, + ((arg: string | number | boolean | undefined) => string) | undefined + >([ + ['cli.warnings.versionMismatch', undefined], + ['cli.defaultCollection', undefined], + ['cli.packageManager', undefined], + ['cli.analytics', undefined], + + ['cli.analyticsSharing.tracking', undefined], + ['cli.analyticsSharing.uuid', (v) => (v === '' ? uuidV4() : `${v}`)], + + ['cli.cache.enabled', undefined], + ['cli.cache.environment', undefined], + ['cli.cache.path', undefined], + ]); + + if ( + options.global && + !options.jsonPath.startsWith('schematics.') && + !validCliPaths.has(options.jsonPath) + ) { + throw new CommandModuleError('Invalid Path.'); + } + + const [config, configPath] = getWorkspaceRaw(options.global ? 'global' : 'local'); + const { logger } = this.context; + + if (!config || !configPath) { + throw new CommandModuleError('Confguration file cannot be found.'); + } + + const value = validCliPaths.get(options.jsonPath)?.(options.value) ?? options.value; + const modified = config.modify(parseJsonPath(options.jsonPath), normalizeValue(value)); + + if (!modified) { + logger.error('Value cannot be found.'); + + return 1; + } + + await validateWorkspace(parseJson(config.content)); + + config.save(); + + return 0; + } +} + +/** + * Splits a JSON path string into fragments. Fragments can be used to get the value referenced + * by the path. For example, a path of "a[3].foo.bar[2]" would give you a fragment array of + * ["a", 3, "foo", "bar", 2]. + * @param path The JSON string to parse. + * @returns {(string|number)[]} The fragments for the string. + * @private + */ +function parseJsonPath(path: string): (string | number)[] { + const fragments = (path || '').split(/\./g); + const result: (string | number)[] = []; + + while (fragments.length > 0) { + const fragment = fragments.shift(); + if (fragment == undefined) { + break; + } + + const match = fragment.match(/([^[]+)((\[.*\])*)/); + if (!match) { + throw new CommandModuleError('Invalid JSON path.'); + } + + result.push(match[1]); + if (match[2]) { + const indices = match[2] + .slice(1, -1) + .split('][') + .map((x) => (/^\d$/.test(x) ? +x : x.replace(/"|'/g, ''))); + result.push(...indices); + } + } + + return result.filter((fragment) => fragment != null); +} + +function normalizeValue(value: string | undefined | boolean | number): JsonValue | undefined { + const valueString = `${value}`.trim(); + switch (valueString) { + case 'true': + return true; + case 'false': + return false; + case 'null': + return null; + case 'undefined': + return undefined; + } + + if (isFinite(+valueString)) { + return +valueString; + } + + try { + // We use `JSON.parse` instead of `parseJson` because the latter will parse UUIDs + // and convert them into a numberic entities. + // Example: 73b61974-182c-48e4-b4c6-30ddf08c5c98 -> 73. + // These values should never contain comments, therefore using `JSON.parse` is safe. + return JSON.parse(valueString); + } catch { + return value; } } diff --git a/packages/angular/cli/src/commands/config/config-impl.ts b/packages/angular/cli/src/commands/config/config-impl.ts deleted file mode 100644 index 7688609e8372..000000000000 --- a/packages/angular/cli/src/commands/config/config-impl.ts +++ /dev/null @@ -1,182 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonValue } from '@angular-devkit/core'; -import { v4 as uuidV4 } from 'uuid'; -import { Command } from '../../../models/command'; -import { Options } from '../../command-builder/command-module'; -import { getWorkspaceRaw, validateWorkspace } from '../../utilities/config'; -import { JSONFile, parseJson } from '../../utilities/json-file'; -import { ConfigCommandArgs } from './cli'; - -type ConfigCommandOptions = Options; - -const validCliPaths = new Map< - string, - ((arg: string | number | boolean | undefined) => string) | undefined ->([ - ['cli.warnings.versionMismatch', undefined], - ['cli.defaultCollection', undefined], - ['cli.packageManager', undefined], - ['cli.analytics', undefined], - - ['cli.analyticsSharing.tracking', undefined], - ['cli.analyticsSharing.uuid', (v) => (v === '' ? uuidV4() : `${v}`)], - - ['cli.cache.enabled', undefined], - ['cli.cache.environment', undefined], - ['cli.cache.path', undefined], -]); - -/** - * Splits a JSON path string into fragments. Fragments can be used to get the value referenced - * by the path. For example, a path of "a[3].foo.bar[2]" would give you a fragment array of - * ["a", 3, "foo", "bar", 2]. - * @param path The JSON string to parse. - * @returns {(string|number)[]} The fragments for the string. - * @private - */ -function parseJsonPath(path: string): (string | number)[] { - const fragments = (path || '').split(/\./g); - const result: (string | number)[] = []; - - while (fragments.length > 0) { - const fragment = fragments.shift(); - if (fragment == undefined) { - break; - } - - const match = fragment.match(/([^[]+)((\[.*\])*)/); - if (!match) { - throw new Error('Invalid JSON path.'); - } - - result.push(match[1]); - if (match[2]) { - const indices = match[2] - .slice(1, -1) - .split('][') - .map((x) => (/^\d$/.test(x) ? +x : x.replace(/"|'/g, ''))); - result.push(...indices); - } - } - - return result.filter((fragment) => fragment != null); -} - -function normalizeValue(value: string | undefined | boolean | number): JsonValue | undefined { - const valueString = `${value}`.trim(); - switch (valueString) { - case 'true': - return true; - case 'false': - return false; - case 'null': - return null; - case 'undefined': - return undefined; - } - - if (isFinite(+valueString)) { - return +valueString; - } - - try { - // We use `JSON.parse` instead of `parseJson` because the latter will parse UUIDs - // and convert them into a numberic entities. - // Example: 73b61974-182c-48e4-b4c6-30ddf08c5c98 -> 73. - // These values should never contain comments, therefore using `JSON.parse` is safe. - return JSON.parse(valueString); - } catch { - return value; - } -} - -export class ConfigCommand extends Command { - public async run(options: ConfigCommandOptions) { - const level = options.global ? 'global' : 'local'; - - const [config] = getWorkspaceRaw(level); - - if (options.value == undefined) { - if (!config) { - this.logger.error('No config found.'); - - return 1; - } - - return this.get(config, options); - } else { - return this.set(options); - } - } - - private get(jsonFile: JSONFile, options: ConfigCommandOptions) { - let value; - if (options.jsonPath) { - value = jsonFile.get(parseJsonPath(options.jsonPath)); - } else { - value = jsonFile.content; - } - - if (value === undefined) { - this.logger.error('Value cannot be found.'); - - return 1; - } else if (typeof value === 'string') { - this.logger.info(value); - } else { - this.logger.info(JSON.stringify(value, null, 2)); - } - - return 0; - } - - private async set(options: ConfigCommandOptions) { - if (!options.jsonPath?.trim()) { - throw new Error('Invalid Path.'); - } - - if ( - options.global && - !options.jsonPath.startsWith('schematics.') && - !validCliPaths.has(options.jsonPath) - ) { - throw new Error('Invalid Path.'); - } - - const [config, configPath] = getWorkspaceRaw(options.global ? 'global' : 'local'); - if (!config || !configPath) { - this.logger.error('Confguration file cannot be found.'); - - return 1; - } - - const jsonPath = parseJsonPath(options.jsonPath); - const value = validCliPaths.get(options.jsonPath)?.(options.value) ?? options.value; - const modified = config.modify(jsonPath, normalizeValue(value)); - - if (!modified) { - this.logger.error('Value cannot be found.'); - - return 1; - } - - try { - await validateWorkspace(parseJson(config.content)); - } catch (error) { - this.logger.fatal(error.message); - - return 1; - } - - config.save(); - - return 0; - } -} diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index 923c228d7e93..462eec9506af 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -17,10 +17,10 @@ import { SchematicsCommandArgs, SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; +import { demandCommandFailureMessage } from '../../command-builder/utilities/command'; import { Option } from '../../command-builder/utilities/json-schema'; -import { GenerateCommand } from './generate-impl'; -export interface GenerateCommandArgs extends SchematicsCommandArgs { +interface GenerateCommandArgs extends SchematicsCommandArgs { schematic?: string; } @@ -28,39 +28,37 @@ export class GenerateCommandModule extends SchematicsCommandModule implements CommandModuleImplementation { - command = 'generate [schematic]'; + command = 'generate'; aliases = 'g'; describe = 'Generates and/or modifies files based on a schematic.'; longDescriptionPath?: string | undefined; override async builder(argv: Argv): Promise> { - const [, schematicNameFromArgs] = this.parseSchematicInfo( - // positional = [generate, component] or [generate] - this.context.args.positional[1], - ); - - const baseYargs = await super.builder(argv); - if (this.schematicName) { - return baseYargs; - } - - // When we do know the schematic name we need to add the 'schematic' - // positional option as the schematic will be accessable as a subcommand. - let localYargs = schematicNameFromArgs - ? baseYargs - : baseYargs.positional('schematic', { - describe: 'The schematic or collection:schematic to generate.', - type: 'string', - demandOption: true, - }); + let localYargs = (await super.builder(argv)).command({ + command: '$0 ', + describe: 'Run the provided schematic.', + builder: (localYargs) => + localYargs + .positional('schematic', { + describe: 'The [collection:schematic] to run.', + type: 'string', + demandOption: true, + }) + .strict(), + handler: (options) => this.handler(options), + }); const collectionName = await this.getCollectionName(); - const workflow = this.getOrCreateWorkflow(collectionName); + const workflow = this.getOrCreateWorkflowForBuilder(collectionName); const collection = workflow.engine.createCollection(collectionName); const schematicsInCollection = collection.description.schematics; // We cannot use `collection.listSchematicNames()` as this doesn't return hidden schematics. const schematicNames = new Set(Object.keys(schematicsInCollection).sort()); + const [, schematicNameFromArgs] = this.parseSchematicInfo( + // positional = [generate, component] or [generate] + this.context.args.positional[1], + ); if (schematicNameFromArgs && schematicNames.has(schematicNameFromArgs)) { // No need to process all schematics since we know which one the user invoked. @@ -97,15 +95,35 @@ export class GenerateCommandModule }); } - return localYargs; + return localYargs.demandCommand(1, demandCommandFailureMessage); + } + + async run(options: Options & OtherOptions): Promise { + const { dryRun, schematic, defaults, force, interactive, ...schematicOptions } = options; + + const [collectionName = await this.getCollectionName(), schematicName = ''] = + this.parseSchematicInfo(schematic); + + return this.runSchematic({ + collectionName, + schematicName, + schematicOptions, + executionOptions: { + dryRun, + defaults, + force, + interactive, + }, + }); } - run( - options: Options & OtherOptions, - ): number | void | Promise { - const command = new GenerateCommand(this.context, 'generate'); + private async getCollectionName(): Promise { + const [collectionName = await this.getDefaultSchematicCollection()] = this.parseSchematicInfo( + // positional = [generate, component] or [generate] + this.context.args.positional[1], + ); - return command.validateAndRun(options); + return collectionName; } /** diff --git a/packages/angular/cli/src/commands/generate/generate-impl.ts b/packages/angular/cli/src/commands/generate/generate-impl.ts deleted file mode 100644 index 102d67c248c1..000000000000 --- a/packages/angular/cli/src/commands/generate/generate-impl.ts +++ /dev/null @@ -1,68 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { SchematicCommand } from '../../../models/schematic-command'; -import { Options, OtherOptions } from '../../command-builder/command-module'; -import { GenerateCommandArgs } from './cli'; - -type GenerateCommandOptions = Options; - -export class GenerateCommand extends SchematicCommand { - // Allows us to resolve aliases before reporting analytics - longSchematicName: string | undefined; - - override async initialize(options: GenerateCommandOptions) { - // Fill up the schematics property of the command description. - const [collectionName, schematicName] = await this.parseSchematicInfo(options.schematic); - this.collectionName = collectionName ?? (await this.getDefaultSchematicCollection()); - this.schematicName = schematicName; - - await super.initialize(options); - } - - public async run(options: GenerateCommandOptions & OtherOptions) { - if (!this.schematicName || !this.collectionName) { - return 1; - } - - const { dryRun, force, interactive, defaults, schematic, ...schematicOptions } = options; - - return this.runSchematic({ - collectionName: this.collectionName, - schematicName: this.schematicName, - schematicOptions: schematicOptions, - debug: false, - dryRun, - force, - }); - } - - override async reportAnalytics(paths: string[], options: GenerateCommandOptions): Promise { - if (!this.collectionName || !this.schematicName) { - return; - } - const escapedSchematicName = (this.longSchematicName || this.schematicName).replace(/\//g, '_'); - - return super.reportAnalytics( - ['generate', this.collectionName.replace(/\//g, '_'), escapedSchematicName], - options, - ); - } - - private parseSchematicInfo( - schematic: string | undefined, - ): [collectionName: string | undefined, schematicName: string | undefined] { - if (schematic?.includes(':')) { - const [collectionName, schematicName] = schematic.split(':', 2); - - return [collectionName, schematicName]; - } - - return [undefined, schematic]; - } -} diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index 68dc79e12ae7..dba91126fbe4 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -17,9 +17,10 @@ import { SchematicsCommandArgs, SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; -import { NewCommand } from './new-impl'; +import { ensureCompatibleNpm } from '../../utilities/package-manager'; +import { VERSION } from '../../utilities/version'; -export interface NewCommandArgs extends SchematicsCommandArgs { +interface NewCommandArgs extends SchematicsCommandArgs { collection?: string; } @@ -27,8 +28,9 @@ export class NewCommandModule extends SchematicsCommandModule implements CommandModuleImplementation { - protected override schematicName = 'ng-new'; + private readonly schematicName = 'ng-new'; static override scope = CommandScope.Out; + protected override allowPrivateSchematics = true; command = 'new [name]'; aliases = 'n'; @@ -36,18 +38,55 @@ export class NewCommandModule longDescriptionPath?: string | undefined; override async builder(argv: Argv): Promise> { - const baseYargs = await super.builder(argv); - - return baseYargs.option('collection', { + const localYargs = (await super.builder(argv)).option('collection', { alias: 'c', describe: 'A collection of schematics to use in generating the initial application.', type: 'string', }); + + const { + options: { collectionNameFromArgs }, + } = this.context.args; + + const collectionName = + typeof collectionNameFromArgs === 'string' + ? collectionNameFromArgs + : await this.getDefaultSchematicCollection(); + + const workflow = await this.getOrCreateWorkflowForBuilder(collectionName); + const collection = workflow.engine.createCollection(collectionName); + const options = await this.getSchematicOptions(collection, this.schematicName, workflow); + + return this.addSchemaOptionsToCommand(localYargs, options); } - run(options: Options & OtherOptions): number | void | Promise { - const command = new NewCommand(this.context, 'new'); + async run(options: Options & OtherOptions): Promise { + // Register the version of the CLI in the registry. + const collectionName = options.collection ?? (await this.getDefaultSchematicCollection()); + const workflow = await this.getOrCreateWorkflowForExecution(collectionName, options); + workflow.registry.addSmartDefaultProvider('ng-cli-version', () => VERSION.full); + + const { dryRun, force, interactive, defaults, collection, ...schematicOptions } = options; - return command.validateAndRun(options); + // Compatibility check for NPM 7 + if ( + collectionName === '@schematics/angular' && + !schematicOptions.skipInstall && + (schematicOptions.packageManager === undefined || schematicOptions.packageManager === 'npm') + ) { + await ensureCompatibleNpm(this.context.root); + } + + return this.runSchematic({ + collectionName, + schematicName: this.schematicName, + schematicOptions, + executionOptions: { + dryRun, + force, + interactive, + defaults, + }, + }); } } diff --git a/packages/angular/cli/src/commands/new/new-impl.ts b/packages/angular/cli/src/commands/new/new-impl.ts deleted file mode 100644 index b8629d39b4c9..000000000000 --- a/packages/angular/cli/src/commands/new/new-impl.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { SchematicCommand } from '../../../models/schematic-command'; -import { Options, OtherOptions } from '../../command-builder/command-module'; -import { VERSION } from '../../utilities/version'; -import { NewCommandArgs } from './cli'; - -type NewCommandOptions = Options; - -export class NewCommand extends SchematicCommand { - public override readonly allowMissingWorkspace = true; - override schematicName = 'ng-new'; - - override async initialize(options: NewCommandOptions) { - this.collectionName = options.collection || (await this.getDefaultSchematicCollection()); - - return super.initialize(options); - } - - public async run(options: NewCommandOptions & OtherOptions) { - // Register the version of the CLI in the registry. - const version = VERSION.full; - this._workflow.registry.addSmartDefaultProvider('ng-cli-version', () => version); - - const { dryRun, force, interactive, defaults, collection, ...schematicOptions } = options; - - return this.runSchematic({ - collectionName: this.collectionName, - schematicName: this.schematicName, - schematicOptions, - debug: false, - dryRun, - force, - }); - } -} diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 38356183baaf..59ede025d673 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -6,18 +6,45 @@ * found in the LICENSE file at https://angular.io/license */ +import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; +import { NodeWorkflow } from '@angular-devkit/schematics/tools'; +import { execSync } from 'child_process'; +import { existsSync, promises as fsPromises } from 'fs'; +import npa from 'npm-package-arg'; +import pickManifest from 'npm-pick-manifest'; +import * as path from 'path'; import { join } from 'path'; +import * as semver from 'semver'; import { Argv } from 'yargs'; +import { PackageManager } from '../../../lib/config/workspace-schema'; import { CommandModule, + CommandModuleError, CommandScope, Options, - OtherOptions, } from '../../command-builder/command-module'; -import { UpdateCommand } from './update-impl'; +import { SchematicEngineHost } from '../../command-builder/utilities/schematic-engine-host'; +import { subscribeToWorkflow } from '../../command-builder/utilities/schematic-workflow'; +import { colors } from '../../utilities/color'; +import { installAllPackages, runTempPackageBin } from '../../utilities/install-package'; +import { writeErrorToLogFile } from '../../utilities/log-file'; +import { ensureCompatibleNpm } from '../../utilities/package-manager'; +import { + PackageIdentifier, + PackageManifest, + fetchPackageManifest, + fetchPackageMetadata, +} from '../../utilities/package-metadata'; +import { + PackageTreeNode, + findPackageJson, + getProjectDependencies, + readPackageJson, +} from '../../utilities/package-tree'; +import { VERSION } from '../../utilities/version'; -export interface UpdateCommandArgs { - packages?: string | string[]; +interface UpdateCommandArgs { + packages?: string[]; force: boolean; next: boolean; 'migrate-only'?: boolean; @@ -29,8 +56,22 @@ export interface UpdateCommandArgs { 'create-commits': boolean; } +/** + * Disable CLI version mismatch checks and forces usage of the invoked CLI + * instead of invoking the local installed version. + */ +const disableVersionCheckEnv = process.env['NG_DISABLE_VERSION_CHECK']; +const disableVersionCheck = + disableVersionCheckEnv !== undefined && + disableVersionCheckEnv !== '0' && + disableVersionCheckEnv.toLowerCase() !== 'false'; + +const ANGULAR_PACKAGES_REGEXP = /^@(?:angular|nguniversal)\//; +const UPDATE_SCHEMATIC_COLLECTION = path.join(__dirname, 'schematic/collection.json'); + export class UpdateCommandModule extends CommandModule { static override scope = CommandScope.In; + protected override shouldReportAnalytics = false; command = 'update [packages..]'; describe = 'Updates your workspace and its dependencies. See https://update.angular.io/.'; @@ -40,12 +81,12 @@ export class UpdateCommandModule extends CommandModule { return localYargs .positional('packages', { description: 'The names of package(s) to update.', - type: 'string', + coerce: (value) => (typeof value === 'string' ? [value] : value) as string[] | undefined, }) .option('force', { description: 'Ignore peer dependency version mismatches. ' + - 'Passes the `--force` flag to the package manager when installing packages.', + `Passes the '--force' flag to the package manager when installing packages.`, type: 'boolean', default: false, }) @@ -99,12 +140,863 @@ export class UpdateCommandModule extends CommandModule { alias: ['C'], default: false, }) + .check(({ packages, next, 'allow-dirty': allowDirty, 'migrate-only': migrateOnly }) => { + const { logger } = this.context; + + // This allows the user to easily reset any changes from the update. + if (packages?.length && !this.checkCleanGit()) { + if (allowDirty) { + logger.warn( + 'Repository is not clean. Update changes will be mixed with pre-existing changes.', + ); + } else { + throw new CommandModuleError( + 'Repository is not clean. Please commit or stash any changes before updating.', + ); + } + } + + if (migrateOnly) { + if (packages?.length !== 1) { + throw new CommandModuleError( + `A single package must be specified when using the 'migrate-only' option.`, + ); + } + + if (next) { + logger.warn(`'next' option has no effect when using 'migrate-only' option.`); + } + } + + return true; + }) .strict(); } - run(options: Options & OtherOptions): Promise { - const command = new UpdateCommand(this.context, 'update'); + async run(options: Options): Promise { + const { logger, packageManager } = this.context; + + await ensureCompatibleNpm(this.context.root); + + // Check if the current installed CLI version is older than the latest compatible version. + if (!disableVersionCheck) { + const cliVersionToInstall = await this.checkCLIVersion( + options.packages, + options.verbose, + options.next, + ); + + if (cliVersionToInstall) { + logger.warn( + 'The installed Angular CLI version is outdated.\n' + + `Installing a temporary Angular CLI versioned ${cliVersionToInstall} to perform the update.`, + ); + + return runTempPackageBin( + `@angular/cli@${cliVersionToInstall}`, + packageManager, + process.argv.slice(2), + ); + } + } + + const packages: PackageIdentifier[] = []; + for (const request of options.packages ?? []) { + try { + const packageIdentifier = npa(request); + + // only registry identifiers are supported + if (!packageIdentifier.registry) { + logger.error(`Package '${request}' is not a registry package identifer.`); + + return 1; + } + + if (packages.some((v) => v.name === packageIdentifier.name)) { + logger.error(`Duplicate package '${packageIdentifier.name}' specified.`); + + return 1; + } + + if (options.migrateOnly && packageIdentifier.rawSpec) { + logger.warn('Package specifier has no effect when using "migrate-only" option.'); + } + + // If next option is used and no specifier supplied, use next tag + if (options.next && !packageIdentifier.rawSpec) { + packageIdentifier.fetchSpec = 'next'; + } + + packages.push(packageIdentifier as PackageIdentifier); + } catch (e) { + logger.error(e.message); + + return 1; + } + } + + logger.info(`Using package manager: '${packageManager}'`); + logger.info('Collecting installed dependencies...'); + + const rootDependencies = await getProjectDependencies(this.context.root); + logger.info(`Found ${rootDependencies.size} dependencies.`); + + const workflow = new NodeWorkflow(this.context.root, { + packageManager: this.context.packageManager, + packageManagerForce: options.force, + // __dirname -> favor @schematics/update from this package + // Otherwise, use packages from the active workspace (migrations) + resolvePaths: [__dirname, this.context.root], + schemaValidation: true, + engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), + }); + + if (packages.length === 0) { + // Show status + const { success } = await this.executeSchematic( + workflow, + UPDATE_SCHEMATIC_COLLECTION, + 'update', + { + force: options.force, + next: options.next, + verbose: options.verbose, + packageManager, + packages: [], + }, + ); + + return success ? 0 : 1; + } + + return options.migrateOnly + ? this.migrateOnly(workflow, (options.packages ?? [])[0], rootDependencies, options) + : this.updatePackagesAndMigrate(workflow, rootDependencies, options, packages); + } + + private async executeSchematic( + workflow: NodeWorkflow, + collection: string, + schematic: string, + options: Record = {}, + ): Promise<{ success: boolean; files: Set }> { + const { logger } = this.context; + const workflowSubscription = subscribeToWorkflow(workflow, logger); + + // TODO: Allow passing a schematic instance directly + try { + await workflow + .execute({ + collection, + schematic, + options, + logger, + }) + .toPromise(); + + return { success: !workflowSubscription.error, files: workflowSubscription.files }; + } catch (e) { + if (e instanceof UnsuccessfulWorkflowExecution) { + logger.error(`${colors.symbols.cross} Migration failed. See above for further details.\n`); + } else { + const logPath = writeErrorToLogFile(e); + logger.fatal( + `${colors.symbols.cross} Migration failed: ${e.message}\n` + + ` See "${logPath}" for further details.\n`, + ); + } + + return { success: false, files: workflowSubscription.files }; + } finally { + workflowSubscription.unsubscribe(); + } + } + + /** + * @return Whether or not the migration was performed successfully. + */ + private async executeMigration( + workflow: NodeWorkflow, + packageName: string, + collectionPath: string, + migrationName: string, + commit?: boolean, + ): Promise { + const { logger } = this.context; + const collection = workflow.engine.createCollection(collectionPath); + const name = collection.listSchematicNames().find((name) => name === migrationName); + if (!name) { + logger.error(`Cannot find migration '${migrationName}' in '${packageName}'.`); + + return 1; + } + + logger.info(colors.cyan(`** Executing '${migrationName}' of package '${packageName}' **\n`)); + const schematic = workflow.engine.createSchematic(name, collection); + + return this.executePackageMigrations(workflow, [schematic.description], packageName, commit); + } + + /** + * @return Whether or not the migrations were performed successfully. + */ + private async executeMigrations( + workflow: NodeWorkflow, + packageName: string, + collectionPath: string, + from: string, + to: string, + commit?: boolean, + ): Promise { + const collection = workflow.engine.createCollection(collectionPath); + const migrationRange = new semver.Range( + '>' + (semver.prerelease(from) ? from.split('-')[0] + '-0' : from) + ' <=' + to.split('-')[0], + ); + const migrations = []; + + for (const name of collection.listSchematicNames()) { + const schematic = workflow.engine.createSchematic(name, collection); + const description = schematic.description as typeof schematic.description & { + version?: string; + }; + description.version = coerceVersionNumber(description.version); + if (!description.version) { + continue; + } + + if (semver.satisfies(description.version, migrationRange, { includePrerelease: true })) { + migrations.push(description as typeof schematic.description & { version: string }); + } + } + + if (migrations.length === 0) { + return 0; + } + + migrations.sort((a, b) => semver.compare(a.version, b.version) || a.name.localeCompare(b.name)); + + this.context.logger.info( + colors.cyan(`** Executing migrations of package '${packageName}' **\n`), + ); + + return this.executePackageMigrations(workflow, migrations, packageName, commit); + } + + private async executePackageMigrations( + workflow: NodeWorkflow, + migrations: Iterable<{ name: string; description: string; collection: { name: string } }>, + packageName: string, + commit = false, + ): Promise { + const { logger } = this.context; + for (const migration of migrations) { + const [title, ...description] = migration.description.split('. '); + + logger.info( + colors.cyan(colors.symbols.pointer) + + ' ' + + colors.bold(title.endsWith('.') ? title : title + '.'), + ); + + if (description.length) { + logger.info(' ' + description.join('.\n ')); + } + + const result = await this.executeSchematic( + workflow, + migration.collection.name, + migration.name, + ); + if (!result.success) { + return 1; + } + + logger.info(' Migration completed.'); + + // Commit migration + if (commit) { + const commitPrefix = `${packageName} migration - ${migration.name}`; + const commitMessage = migration.description + ? `${commitPrefix}\n\n${migration.description}` + : commitPrefix; + const committed = this.commit(commitMessage); + if (!committed) { + // Failed to commit, something went wrong. Abort the update. + return 1; + } + } + + logger.info(''); // Extra trailing newline. + } + + return 0; + } + + private async migrateOnly( + workflow: NodeWorkflow, + packageName: string, + rootDependencies: Map, + options: Options, + ): Promise { + const { logger } = this.context; + const packageDependency = rootDependencies.get(packageName); + let packagePath = packageDependency?.path; + let packageNode = packageDependency?.package; + if (packageDependency && !packageNode) { + logger.error('Package found in package.json but is not installed.'); + + return 1; + } else if (!packageDependency) { + // Allow running migrations on transitively installed dependencies + // There can technically be nested multiple versions + // TODO: If multiple, this should find all versions and ask which one to use + const packageJson = findPackageJson(this.context.root, packageName); + if (packageJson) { + packagePath = path.dirname(packageJson); + packageNode = await readPackageJson(packageJson); + } + } + + if (!packageNode || !packagePath) { + logger.error('Package is not installed.'); + + return 1; + } + + const updateMetadata = packageNode['ng-update']; + let migrations = updateMetadata?.migrations; + if (migrations === undefined) { + logger.error('Package does not provide migrations.'); + + return 1; + } else if (typeof migrations !== 'string') { + logger.error('Package contains a malformed migrations field.'); + + return 1; + } else if (path.posix.isAbsolute(migrations) || path.win32.isAbsolute(migrations)) { + logger.error( + 'Package contains an invalid migrations field. Absolute paths are not permitted.', + ); + + return 1; + } + + // Normalize slashes + migrations = migrations.replace(/\\/g, '/'); + + if (migrations.startsWith('../')) { + logger.error( + 'Package contains an invalid migrations field. Paths outside the package root are not permitted.', + ); + + return 1; + } + + // Check if it is a package-local location + const localMigrations = path.join(packagePath, migrations); + if (existsSync(localMigrations)) { + migrations = localMigrations; + } else { + // Try to resolve from package location. + // This avoids issues with package hoisting. + try { + migrations = require.resolve(migrations, { paths: [packagePath] }); + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + logger.error('Migrations for package were not found.'); + } else { + logger.error(`Unable to resolve migrations for package. [${e.message}]`); + } + + return 1; + } + } + + if (options.name) { + return this.executeMigration( + workflow, + packageName, + migrations, + options.name, + options.createCommits, + ); + } + + const from = coerceVersionNumber(options.from); + if (!from) { + logger.error(`"from" value [${options.from}] is not a valid version.`); + + return 1; + } + + return this.executeMigrations( + workflow, + packageName, + migrations, + from, + options.to || packageNode.version, + options.createCommits, + ); + } + + // eslint-disable-next-line max-lines-per-function + private async updatePackagesAndMigrate( + workflow: NodeWorkflow, + rootDependencies: Map, + options: Options, + packages: PackageIdentifier[], + ): Promise { + const { logger } = this.context; + + const logVerbose = (message: string) => { + if (options.verbose) { + logger.info(message); + } + }; + + const requests: { + identifier: PackageIdentifier; + node: PackageTreeNode; + }[] = []; + + // Validate packages actually are part of the workspace + for (const pkg of packages) { + const node = rootDependencies.get(pkg.name); + if (!node?.package) { + logger.error(`Package '${pkg.name}' is not a dependency.`); + + return 1; + } + + // If a specific version is requested and matches the installed version, skip. + if (pkg.type === 'version' && node.package.version === pkg.fetchSpec) { + logger.info(`Package '${pkg.name}' is already at '${pkg.fetchSpec}'.`); + continue; + } + + requests.push({ identifier: pkg, node }); + } + + if (requests.length === 0) { + return 0; + } + + logger.info('Fetching dependency metadata from registry...'); + + const packagesToUpdate: string[] = []; + for (const { identifier: requestIdentifier, node } of requests) { + const packageName = requestIdentifier.name; + + let metadata; + try { + // Metadata requests are internally cached; multiple requests for same name + // does not result in additional network traffic + metadata = await fetchPackageMetadata(packageName, logger, { + verbose: options.verbose, + }); + } catch (e) { + logger.error(`Error fetching metadata for '${packageName}': ` + e.message); + + return 1; + } + + // Try to find a package version based on the user requested package specifier + // registry specifier types are either version, range, or tag + let manifest: PackageManifest | undefined; + if ( + requestIdentifier.type === 'version' || + requestIdentifier.type === 'range' || + requestIdentifier.type === 'tag' + ) { + try { + manifest = pickManifest(metadata, requestIdentifier.fetchSpec); + } catch (e) { + if (e.code === 'ETARGET') { + // If not found and next was used and user did not provide a specifier, try latest. + // Package may not have a next tag. + if ( + requestIdentifier.type === 'tag' && + requestIdentifier.fetchSpec === 'next' && + !requestIdentifier.rawSpec + ) { + try { + manifest = pickManifest(metadata, 'latest'); + } catch (e) { + if (e.code !== 'ETARGET' && e.code !== 'ENOVERSIONS') { + throw e; + } + } + } + } else if (e.code !== 'ENOVERSIONS') { + throw e; + } + } + } + + if (!manifest) { + logger.error( + `Package specified by '${requestIdentifier.raw}' does not exist within the registry.`, + ); + + return 1; + } + + if (manifest.version === node.package?.version) { + logger.info(`Package '${packageName}' is already up to date.`); + continue; + } + + if (node.package && ANGULAR_PACKAGES_REGEXP.test(node.package.name)) { + const { name, version } = node.package; + const toBeInstalledMajorVersion = +manifest.version.split('.')[0]; + const currentMajorVersion = +version.split('.')[0]; + + if (toBeInstalledMajorVersion - currentMajorVersion > 1) { + // Only allow updating a single version at a time. + if (currentMajorVersion < 6) { + // Before version 6, the major versions were not always sequential. + // Example @angular/core skipped version 3, @angular/cli skipped versions 2-5. + logger.error( + `Updating multiple major versions of '${name}' at once is not supported. Please migrate each major version individually.\n` + + `For more information about the update process, see https://update.angular.io/.`, + ); + } else { + const nextMajorVersionFromCurrent = currentMajorVersion + 1; + + logger.error( + `Updating multiple major versions of '${name}' at once is not supported. Please migrate each major version individually.\n` + + `Run 'ng update ${name}@${nextMajorVersionFromCurrent}' in your workspace directory ` + + `to update to latest '${nextMajorVersionFromCurrent}.x' version of '${name}'.\n\n` + + `For more information about the update process, see https://update.angular.io/?v=${currentMajorVersion}.0-${nextMajorVersionFromCurrent}.0`, + ); + } + + return 1; + } + } + + packagesToUpdate.push(requestIdentifier.toString()); + } + + if (packagesToUpdate.length === 0) { + return 0; + } + + const { success } = await this.executeSchematic( + workflow, + UPDATE_SCHEMATIC_COLLECTION, + 'update', + { + verbose: options.verbose, + force: options.force, + next: options.next, + packageManager: this.context.packageManager, + packages: packagesToUpdate, + }, + ); + + if (success) { + try { + await fsPromises.rm(path.join(this.context.root, 'node_modules'), { + force: true, + recursive: true, + maxRetries: 3, + }); + } catch {} + + const result = await installAllPackages( + this.context.packageManager, + options.force ? ['--force'] : [], + this.context.root, + ); + + if (result !== 0) { + return result; + } + } + + if (success && options.createCommits) { + if (!this.commit(`Angular CLI update for packages - ${packagesToUpdate.join(', ')}`)) { + return 1; + } + } + + // This is a temporary workaround to allow data to be passed back from the update schematic + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const migrations = (global as any).externalMigrations as { + package: string; + collection: string; + from: string; + to: string; + }[]; + + if (success && migrations) { + for (const migration of migrations) { + // Resolve the package from the workspace root, as otherwise it will be resolved from the temp + // installed CLI version. + let packagePath; + logVerbose( + `Resolving migration package '${migration.package}' from '${this.context.root}'...`, + ); + try { + try { + packagePath = path.dirname( + // This may fail if the `package.json` is not exported as an entry point + require.resolve(path.join(migration.package, 'package.json'), { + paths: [this.context.root], + }), + ); + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + // Fallback to trying to resolve the package's main entry point + packagePath = require.resolve(migration.package, { paths: [this.context.root] }); + } else { + throw e; + } + } + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + logVerbose(e.toString()); + logger.error( + `Migrations for package (${migration.package}) were not found.` + + ' The package could not be found in the workspace.', + ); + } else { + logger.error( + `Unable to resolve migrations for package (${migration.package}). [${e.message}]`, + ); + } + + return 1; + } + + let migrations; + + // Check if it is a package-local location + const localMigrations = path.join(packagePath, migration.collection); + if (existsSync(localMigrations)) { + migrations = localMigrations; + } else { + // Try to resolve from package location. + // This avoids issues with package hoisting. + try { + migrations = require.resolve(migration.collection, { paths: [packagePath] }); + } catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + logger.error(`Migrations for package (${migration.package}) were not found.`); + } else { + logger.error( + `Unable to resolve migrations for package (${migration.package}). [${e.message}]`, + ); + } + + return 1; + } + } + const result = await this.executeMigrations( + workflow, + migration.package, + migrations, + migration.from, + migration.to, + options.createCommits, + ); + + if (!result) { + return 0; + } + } + } + + return success ? 0 : 1; + } + /** + * @return Whether or not the commit was successful. + */ + private commit(message: string): boolean { + const { logger } = this.context; + + // Check if a commit is needed. + let commitNeeded: boolean; + try { + commitNeeded = hasChangesToCommit(); + } catch (err) { + logger.error(` Failed to read Git tree:\n${err.stderr}`); + + return false; + } + + if (!commitNeeded) { + logger.info(' No changes to commit after migration.'); + + return true; + } + + // Commit changes and abort on error. + try { + createCommit(message); + } catch (err) { + logger.error(`Failed to commit update (${message}):\n${err.stderr}`); + + return false; + } + + // Notify user of the commit. + const hash = findCurrentGitSha(); + const shortMessage = message.split('\n')[0]; + if (hash) { + logger.info(` Committed migration step (${getShortHash(hash)}): ${shortMessage}.`); + } else { + // Commit was successful, but reading the hash was not. Something weird happened, + // but nothing that would stop the update. Just log the weirdness and continue. + logger.info(` Committed migration step: ${shortMessage}.`); + logger.warn(' Failed to look up hash of most recent commit, continuing anyways.'); + } + + return true; + } + + private checkCleanGit(): boolean { + try { + const topLevel = execSync('git rev-parse --show-toplevel', { + encoding: 'utf8', + stdio: 'pipe', + }); + const result = execSync('git status --porcelain', { encoding: 'utf8', stdio: 'pipe' }); + if (result.trim().length === 0) { + return true; + } + + // Only files inside the workspace root are relevant + for (const entry of result.split('\n')) { + const relativeEntry = path.relative( + path.resolve(this.context.root), + path.resolve(topLevel.trim(), entry.slice(3).trim()), + ); + + if (!relativeEntry.startsWith('..') && !path.isAbsolute(relativeEntry)) { + return false; + } + } + } catch {} + + return true; + } + + /** + * Checks if the current installed CLI version is older or newer than a compatible version. + * @returns the version to install or null when there is no update to install. + */ + private async checkCLIVersion( + packagesToUpdate: string[] | string | undefined, + verbose = false, + next = false, + ): Promise { + const { version } = await fetchPackageManifest( + `@angular/cli@${this.getCLIUpdateRunnerVersion( + typeof packagesToUpdate === 'string' ? [packagesToUpdate] : packagesToUpdate, + next, + )}`, + this.context.logger, + { + verbose, + usingYarn: this.context.packageManager === PackageManager.Yarn, + }, + ); + + return VERSION.full === version ? null : version; + } + + private getCLIUpdateRunnerVersion( + packagesToUpdate: string[] | undefined, + next: boolean, + ): string | number { + if (next) { + return 'next'; + } + + const updatingAngularPackage = packagesToUpdate?.find((r) => ANGULAR_PACKAGES_REGEXP.test(r)); + if (updatingAngularPackage) { + // If we are updating any Angular package we can update the CLI to the target version because + // migrations for @angular/core@13 can be executed using Angular/cli@13. + // This is same behaviour as `npx @angular/cli@13 update @angular/core@13`. + + // `@angular/cli@13` -> ['', 'angular/cli', '13'] + // `@angular/cli` -> ['', 'angular/cli'] + const tempVersion = coerceVersionNumber(updatingAngularPackage.split('@')[2]); + + return semver.parse(tempVersion)?.major ?? 'latest'; + } + + // When not updating an Angular package we cannot determine which schematic runtime the migration should to be executed in. + // Typically, we can assume that the `@angular/cli` was updated previously. + // Example: Angular official packages are typically updated prior to NGRX etc... + // Therefore, we only update to the latest patch version of the installed major version of the Angular CLI. + + // This is important because we might end up in a scenario where locally Angular v12 is installed, updating NGRX from 11 to 12. + // We end up using Angular ClI v13 to run the migrations if we run the migrations using the CLI installed major version + 1 logic. + return VERSION.major; + } +} + +/** + * @return Whether or not the working directory has Git changes to commit. + */ +function hasChangesToCommit(): boolean { + // List all modified files not covered by .gitignore. + // If any files are returned, then there must be something to commit. + + return execSync('git ls-files -m -d -o --exclude-standard').toString() !== ''; +} + +/** + * Precondition: Must have pending changes to commit, they do not need to be staged. + * Postcondition: The Git working tree is committed and the repo is clean. + * @param message The commit message to use. + */ +function createCommit(message: string) { + // Stage entire working tree for commit. + execSync('git add -A', { encoding: 'utf8', stdio: 'pipe' }); + + // Commit with the message passed via stdin to avoid bash escaping issues. + execSync('git commit --no-verify -F -', { encoding: 'utf8', stdio: 'pipe', input: message }); +} + +/** + * @return The Git SHA hash of the HEAD commit. Returns null if unable to retrieve the hash. + */ +function findCurrentGitSha(): string | null { + try { + return execSync('git rev-parse HEAD', { encoding: 'utf8', stdio: 'pipe' }).trim(); + } catch { + return null; + } +} + +function getShortHash(commitHash: string): string { + return commitHash.slice(0, 9); +} + +function coerceVersionNumber(version: string | undefined): string | undefined { + if (!version) { + return undefined; + } + + if (!/^\d{1,30}\.\d{1,30}\.\d{1,30}/.test(version)) { + const match = version.match(/^\d{1,30}(\.\d{1,30})*/); - return command.validateAndRun(options); + if (!match) { + return undefined; + } + + if (!match[1]) { + version = version.substring(0, match[0].length) + '.0.0' + version.substring(match[0].length); + } else if (!match[2]) { + version = version.substring(0, match[0].length) + '.0' + version.substring(match[0].length); + } else { + return undefined; + } } + + return semver.valid(version) ?? undefined; } diff --git a/packages/angular/cli/src/commands/update/update-impl.ts b/packages/angular/cli/src/commands/update/update-impl.ts deleted file mode 100644 index 25cf5da8f848..000000000000 --- a/packages/angular/cli/src/commands/update/update-impl.ts +++ /dev/null @@ -1,943 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; -import { NodeWorkflow } from '@angular-devkit/schematics/tools'; -import { execSync } from 'child_process'; -import * as fs from 'fs'; -import npa from 'npm-package-arg'; -import pickManifest from 'npm-pick-manifest'; -import * as path from 'path'; -import * as semver from 'semver'; -import { PackageManager } from '../../../lib/config/workspace-schema'; -import { Command } from '../../../models/command'; -import { SchematicEngineHost } from '../../../models/schematic-engine-host'; -import { Options } from '../../command-builder/command-module'; -import { colors } from '../../utilities/color'; -import { installAllPackages, runTempPackageBin } from '../../utilities/install-package'; -import { writeErrorToLogFile } from '../../utilities/log-file'; -import { ensureCompatibleNpm, getPackageManager } from '../../utilities/package-manager'; -import { - PackageIdentifier, - PackageManifest, - fetchPackageManifest, - fetchPackageMetadata, -} from '../../utilities/package-metadata'; -import { - PackageTreeNode, - findPackageJson, - getProjectDependencies, - readPackageJson, -} from '../../utilities/package-tree'; -import { VERSION } from '../../utilities/version'; -import { UpdateCommandArgs } from './cli'; - -const UPDATE_SCHEMATIC_COLLECTION = path.join(__dirname, 'schematic/collection.json'); - -type UpdateCommandOptions = Options; - -/** - * Disable CLI version mismatch checks and forces usage of the invoked CLI - * instead of invoking the local installed version. - */ -const disableVersionCheckEnv = process.env['NG_DISABLE_VERSION_CHECK']; -const disableVersionCheck = - disableVersionCheckEnv !== undefined && - disableVersionCheckEnv !== '0' && - disableVersionCheckEnv.toLowerCase() !== 'false'; - -const ANGULAR_PACKAGES_REGEXP = /^@(?:angular|nguniversal)\//; -export class UpdateCommand extends Command { - public override readonly allowMissingWorkspace = true; - private workflow!: NodeWorkflow; - private packageManager = PackageManager.Npm; - - override async initialize(options: UpdateCommandOptions) { - this.packageManager = await getPackageManager(this.context.root); - this.workflow = new NodeWorkflow(this.context.root, { - packageManager: this.packageManager, - packageManagerForce: options.force, - // __dirname -> favor @schematics/update from this package - // Otherwise, use packages from the active workspace (migrations) - resolvePaths: [__dirname, this.context.root], - schemaValidation: true, - engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), - }); - } - - private async executeSchematic( - collection: string, - schematic: string, - options = {}, - ): Promise<{ success: boolean; files: Set }> { - let error = false; - let logs: string[] = []; - const files = new Set(); - - const reporterSubscription = this.workflow.reporter.subscribe((event) => { - // Strip leading slash to prevent confusion. - const eventPath = event.path.startsWith('/') ? event.path.substr(1) : event.path; - - switch (event.kind) { - case 'error': - error = true; - const desc = event.description == 'alreadyExist' ? 'already exists' : 'does not exist.'; - this.logger.error(`ERROR! ${eventPath} ${desc}.`); - break; - case 'update': - logs.push(`${colors.cyan('UPDATE')} ${eventPath} (${event.content.length} bytes)`); - files.add(eventPath); - break; - case 'create': - logs.push(`${colors.green('CREATE')} ${eventPath} (${event.content.length} bytes)`); - files.add(eventPath); - break; - case 'delete': - logs.push(`${colors.yellow('DELETE')} ${eventPath}`); - files.add(eventPath); - break; - case 'rename': - const eventToPath = event.to.startsWith('/') ? event.to.substr(1) : event.to; - logs.push(`${colors.blue('RENAME')} ${eventPath} => ${eventToPath}`); - files.add(eventPath); - break; - } - }); - - const lifecycleSubscription = this.workflow.lifeCycle.subscribe((event) => { - if (event.kind == 'end' || event.kind == 'post-tasks-start') { - if (!error) { - // Output the logging queue, no error happened. - logs.forEach((log) => this.logger.info(` ${log}`)); - logs = []; - } - } - }); - - // TODO: Allow passing a schematic instance directly - try { - await this.workflow - .execute({ - collection, - schematic, - options, - logger: this.logger, - }) - .toPromise(); - - reporterSubscription.unsubscribe(); - lifecycleSubscription.unsubscribe(); - - return { success: !error, files }; - } catch (e) { - if (e instanceof UnsuccessfulWorkflowExecution) { - this.logger.error( - `${colors.symbols.cross} Migration failed. See above for further details.\n`, - ); - } else { - const logPath = writeErrorToLogFile(e); - this.logger.fatal( - `${colors.symbols.cross} Migration failed: ${e.message}\n` + - ` See "${logPath}" for further details.\n`, - ); - } - - return { success: false, files }; - } - } - - /** - * @return Whether or not the migration was performed successfully. - */ - private async executeMigration( - packageName: string, - collectionPath: string, - migrationName: string, - commit?: boolean, - ): Promise { - const collection = this.workflow.engine.createCollection(collectionPath); - const name = collection.listSchematicNames().find((name) => name === migrationName); - if (!name) { - this.logger.error(`Cannot find migration '${migrationName}' in '${packageName}'.`); - - return false; - } - - const schematic = this.workflow.engine.createSchematic(name, collection); - - this.logger.info( - colors.cyan(`** Executing '${migrationName}' of package '${packageName}' **\n`), - ); - - return this.executePackageMigrations([schematic.description], packageName, commit); - } - - /** - * @return Whether or not the migrations were performed successfully. - */ - private async executeMigrations( - packageName: string, - collectionPath: string, - from: string, - to: string, - commit?: boolean, - ): Promise { - const collection = this.workflow.engine.createCollection(collectionPath); - const migrationRange = new semver.Range( - '>' + (semver.prerelease(from) ? from.split('-')[0] + '-0' : from) + ' <=' + to.split('-')[0], - ); - const migrations = []; - - for (const name of collection.listSchematicNames()) { - const schematic = this.workflow.engine.createSchematic(name, collection); - const description = schematic.description as typeof schematic.description & { - version?: string; - }; - description.version = coerceVersionNumber(description.version) || undefined; - if (!description.version) { - continue; - } - - if (semver.satisfies(description.version, migrationRange, { includePrerelease: true })) { - migrations.push(description as typeof schematic.description & { version: string }); - } - } - - migrations.sort((a, b) => semver.compare(a.version, b.version) || a.name.localeCompare(b.name)); - - if (migrations.length === 0) { - return true; - } - - this.logger.info(colors.cyan(`** Executing migrations of package '${packageName}' **\n`)); - - return this.executePackageMigrations(migrations, packageName, commit); - } - - private async executePackageMigrations( - migrations: Iterable<{ name: string; description: string; collection: { name: string } }>, - packageName: string, - commit = false, - ): Promise { - for (const migration of migrations) { - const [title, ...description] = migration.description.split('. '); - - this.logger.info( - colors.cyan(colors.symbols.pointer) + - ' ' + - colors.bold(title.endsWith('.') ? title : title + '.'), - ); - - if (description.length) { - this.logger.info(' ' + description.join('.\n ')); - } - - const result = await this.executeSchematic(migration.collection.name, migration.name); - if (!result.success) { - return false; - } - - this.logger.info(' Migration completed.'); - - // Commit migration - if (commit) { - const commitPrefix = `${packageName} migration - ${migration.name}`; - const commitMessage = migration.description - ? `${commitPrefix}\n\n${migration.description}` - : commitPrefix; - const committed = this.commit(commitMessage); - if (!committed) { - // Failed to commit, something went wrong. Abort the update. - return false; - } - } - - this.logger.info(''); // Extra trailing newline. - } - - return true; - } - - // eslint-disable-next-line max-lines-per-function - async run(options: UpdateCommandOptions) { - await ensureCompatibleNpm(this.context.root); - - // Check if the current installed CLI version is older than the latest compatible version. - if (!disableVersionCheck) { - const cliVersionToInstall = await this.checkCLIVersion( - options.packages, - options.verbose, - options.next, - ); - - if (cliVersionToInstall) { - this.logger.warn( - 'The installed Angular CLI version is outdated.\n' + - `Installing a temporary Angular CLI versioned ${cliVersionToInstall} to perform the update.`, - ); - - return runTempPackageBin( - `@angular/cli@${cliVersionToInstall}`, - this.packageManager, - process.argv.slice(2), - ); - } - } - - const logVerbose = (message: string) => { - if (options.verbose) { - this.logger.info(message); - } - }; - - const packages: PackageIdentifier[] = []; - const packagesFromOptions = - typeof options.packages === 'string' ? [options.packages] : options.packages; - for (const request of packagesFromOptions ?? []) { - try { - const packageIdentifier = npa(request); - - // only registry identifiers are supported - if (!packageIdentifier.registry) { - this.logger.error(`Package '${request}' is not a registry package identifer.`); - - return 1; - } - - if (packages.some((v) => v.name === packageIdentifier.name)) { - this.logger.error(`Duplicate package '${packageIdentifier.name}' specified.`); - - return 1; - } - - if (options.migrateOnly && packageIdentifier.rawSpec) { - this.logger.warn('Package specifier has no effect when using "migrate-only" option.'); - } - - // If next option is used and no specifier supplied, use next tag - if (options.next && !packageIdentifier.rawSpec) { - packageIdentifier.fetchSpec = 'next'; - } - - packages.push(packageIdentifier as PackageIdentifier); - } catch (e) { - this.logger.error(e.message); - - return 1; - } - } - - if (!options.migrateOnly && (options.from || options.to)) { - this.logger.error('Can only use "from" or "to" options with "migrate-only" option.'); - - return 1; - } - - // If not asking for status then check for a clean git repository. - // This allows the user to easily reset any changes from the update. - if (packages.length && !this.checkCleanGit()) { - if (options.allowDirty) { - this.logger.warn( - 'Repository is not clean. Update changes will be mixed with pre-existing changes.', - ); - } else { - this.logger.error( - 'Repository is not clean. Please commit or stash any changes before updating.', - ); - - return 2; - } - } - - this.logger.info(`Using package manager: '${this.packageManager}'`); - this.logger.info('Collecting installed dependencies...'); - - const rootDependencies = await getProjectDependencies(this.context.root); - - this.logger.info(`Found ${rootDependencies.size} dependencies.`); - - if (packages.length === 0) { - // Show status - const { success } = await this.executeSchematic(UPDATE_SCHEMATIC_COLLECTION, 'update', { - force: options.force || false, - next: options.next || false, - verbose: options.verbose || false, - packageManager: this.packageManager, - packages: [], - }); - - return success ? 0 : 1; - } - - if (options.migrateOnly) { - if (!options.from && typeof options.migrateOnly !== 'string') { - this.logger.error( - '"from" option is required when using the "migrate-only" option without a migration name.', - ); - - return 1; - } else if (packages.length !== 1) { - this.logger.error( - 'A single package must be specified when using the "migrate-only" option.', - ); - - return 1; - } - - if (options.next) { - this.logger.warn('"next" option has no effect when using "migrate-only" option.'); - } - - const packageName = packages[0].name; - const packageDependency = rootDependencies.get(packageName); - let packagePath = packageDependency?.path; - let packageNode = packageDependency?.package; - if (packageDependency && !packageNode) { - this.logger.error('Package found in package.json but is not installed.'); - - return 1; - } else if (!packageDependency) { - // Allow running migrations on transitively installed dependencies - // There can technically be nested multiple versions - // TODO: If multiple, this should find all versions and ask which one to use - const packageJson = findPackageJson(this.context.root, packageName); - if (packageJson) { - packagePath = path.dirname(packageJson); - packageNode = await readPackageJson(packageJson); - } - } - - if (!packageNode || !packagePath) { - this.logger.error('Package is not installed.'); - - return 1; - } - - const updateMetadata = packageNode['ng-update']; - let migrations = updateMetadata?.migrations; - if (migrations === undefined) { - this.logger.error('Package does not provide migrations.'); - - return 1; - } else if (typeof migrations !== 'string') { - this.logger.error('Package contains a malformed migrations field.'); - - return 1; - } else if (path.posix.isAbsolute(migrations) || path.win32.isAbsolute(migrations)) { - this.logger.error( - 'Package contains an invalid migrations field. Absolute paths are not permitted.', - ); - - return 1; - } - - // Normalize slashes - migrations = migrations.replace(/\\/g, '/'); - - if (migrations.startsWith('../')) { - this.logger.error( - 'Package contains an invalid migrations field. Paths outside the package root are not permitted.', - ); - - return 1; - } - - // Check if it is a package-local location - const localMigrations = path.join(packagePath, migrations); - if (fs.existsSync(localMigrations)) { - migrations = localMigrations; - } else { - // Try to resolve from package location. - // This avoids issues with package hoisting. - try { - migrations = require.resolve(migrations, { paths: [packagePath] }); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - this.logger.error('Migrations for package were not found.'); - } else { - this.logger.error(`Unable to resolve migrations for package. [${e.message}]`); - } - - return 1; - } - } - - let result: boolean; - if (options.name) { - result = await this.executeMigration( - packageName, - migrations, - options.name, - options.createCommits, - ); - } else { - const from = coerceVersionNumber(options.from); - if (!from) { - this.logger.error(`"from" value [${options.from}] is not a valid version.`); - - return 1; - } - - result = await this.executeMigrations( - packageName, - migrations, - from, - options.to || packageNode.version, - options.createCommits, - ); - } - - return result ? 0 : 1; - } - - const requests: { - identifier: PackageIdentifier; - node: PackageTreeNode; - }[] = []; - - // Validate packages actually are part of the workspace - for (const pkg of packages) { - const node = rootDependencies.get(pkg.name); - if (!node?.package) { - this.logger.error(`Package '${pkg.name}' is not a dependency.`); - - return 1; - } - - // If a specific version is requested and matches the installed version, skip. - if (pkg.type === 'version' && node.package.version === pkg.fetchSpec) { - this.logger.info(`Package '${pkg.name}' is already at '${pkg.fetchSpec}'.`); - continue; - } - - requests.push({ identifier: pkg, node }); - } - - if (requests.length === 0) { - return 0; - } - - const packagesToUpdate: string[] = []; - - this.logger.info('Fetching dependency metadata from registry...'); - for (const { identifier: requestIdentifier, node } of requests) { - const packageName = requestIdentifier.name; - - let metadata; - try { - // Metadata requests are internally cached; multiple requests for same name - // does not result in additional network traffic - metadata = await fetchPackageMetadata(packageName, this.logger, { - verbose: options.verbose, - }); - } catch (e) { - this.logger.error(`Error fetching metadata for '${packageName}': ` + e.message); - - return 1; - } - - // Try to find a package version based on the user requested package specifier - // registry specifier types are either version, range, or tag - let manifest: PackageManifest | undefined; - if ( - requestIdentifier.type === 'version' || - requestIdentifier.type === 'range' || - requestIdentifier.type === 'tag' - ) { - try { - manifest = pickManifest(metadata, requestIdentifier.fetchSpec); - } catch (e) { - if (e.code === 'ETARGET') { - // If not found and next was used and user did not provide a specifier, try latest. - // Package may not have a next tag. - if ( - requestIdentifier.type === 'tag' && - requestIdentifier.fetchSpec === 'next' && - !requestIdentifier.rawSpec - ) { - try { - manifest = pickManifest(metadata, 'latest'); - } catch (e) { - if (e.code !== 'ETARGET' && e.code !== 'ENOVERSIONS') { - throw e; - } - } - } - } else if (e.code !== 'ENOVERSIONS') { - throw e; - } - } - } - - if (!manifest) { - this.logger.error( - `Package specified by '${requestIdentifier.raw}' does not exist within the registry.`, - ); - - return 1; - } - - if (manifest.version === node.package?.version) { - this.logger.info(`Package '${packageName}' is already up to date.`); - continue; - } - - if (node.package && ANGULAR_PACKAGES_REGEXP.test(node.package.name)) { - const { name, version } = node.package; - const toBeInstalledMajorVersion = +manifest.version.split('.')[0]; - const currentMajorVersion = +version.split('.')[0]; - - if (toBeInstalledMajorVersion - currentMajorVersion > 1) { - // Only allow updating a single version at a time. - if (currentMajorVersion < 6) { - // Before version 6, the major versions were not always sequential. - // Example @angular/core skipped version 3, @angular/cli skipped versions 2-5. - this.logger.error( - `Updating multiple major versions of '${name}' at once is not supported. Please migrate each major version individually.\n` + - `For more information about the update process, see https://update.angular.io/.`, - ); - } else { - const nextMajorVersionFromCurrent = currentMajorVersion + 1; - - this.logger.error( - `Updating multiple major versions of '${name}' at once is not supported. Please migrate each major version individually.\n` + - `Run 'ng update ${name}@${nextMajorVersionFromCurrent}' in your workspace directory ` + - `to update to latest '${nextMajorVersionFromCurrent}.x' version of '${name}'.\n\n` + - `For more information about the update process, see https://update.angular.io/?v=${currentMajorVersion}.0-${nextMajorVersionFromCurrent}.0`, - ); - } - - return 1; - } - } - - packagesToUpdate.push(requestIdentifier.toString()); - } - - if (packagesToUpdate.length === 0) { - return 0; - } - - const { success } = await this.executeSchematic(UPDATE_SCHEMATIC_COLLECTION, 'update', { - verbose: options.verbose || false, - force: options.force || false, - next: !!options.next, - packageManager: this.packageManager, - packages: packagesToUpdate, - }); - - if (success) { - try { - // Remove existing node modules directory to provide a stronger guarantee that packages - // will be hoisted into the correct locations. - await fs.promises.rm(path.join(this.context.root, 'node_modules'), { - force: true, - recursive: true, - maxRetries: 3, - }); - } catch {} - - const result = await installAllPackages( - this.packageManager, - options.force ? ['--force'] : [], - this.context.root, - ); - if (result !== 0) { - return result; - } - } - - if (success && options.createCommits) { - const committed = this.commit( - `Angular CLI update for packages - ${packagesToUpdate.join(', ')}`, - ); - if (!committed) { - return 1; - } - } - - // This is a temporary workaround to allow data to be passed back from the update schematic - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const migrations = (global as any).externalMigrations as { - package: string; - collection: string; - from: string; - to: string; - }[]; - - if (success && migrations) { - for (const migration of migrations) { - // Resolve the package from the workspace root, as otherwise it will be resolved from the temp - // installed CLI version. - let packagePath; - logVerbose( - `Resolving migration package '${migration.package}' from '${this.context.root}'...`, - ); - try { - try { - packagePath = path.dirname( - // This may fail if the `package.json` is not exported as an entry point - require.resolve(path.join(migration.package, 'package.json'), { - paths: [this.context.root], - }), - ); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - // Fallback to trying to resolve the package's main entry point - packagePath = require.resolve(migration.package, { paths: [this.context.root] }); - } else { - throw e; - } - } - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - logVerbose(e.toString()); - this.logger.error( - `Migrations for package (${migration.package}) were not found.` + - ' The package could not be found in the workspace.', - ); - } else { - this.logger.error( - `Unable to resolve migrations for package (${migration.package}). [${e.message}]`, - ); - } - - return 1; - } - - let migrations; - - // Check if it is a package-local location - const localMigrations = path.join(packagePath, migration.collection); - if (fs.existsSync(localMigrations)) { - migrations = localMigrations; - } else { - // Try to resolve from package location. - // This avoids issues with package hoisting. - try { - migrations = require.resolve(migration.collection, { paths: [packagePath] }); - } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { - this.logger.error(`Migrations for package (${migration.package}) were not found.`); - } else { - this.logger.error( - `Unable to resolve migrations for package (${migration.package}). [${e.message}]`, - ); - } - - return 1; - } - } - const result = await this.executeMigrations( - migration.package, - migrations, - migration.from, - migration.to, - options.createCommits, - ); - - if (!result) { - return 0; - } - } - } - - return success ? 0 : 1; - } - - /** - * @return Whether or not the commit was successful. - */ - private commit(message: string): boolean { - // Check if a commit is needed. - let commitNeeded: boolean; - try { - commitNeeded = hasChangesToCommit(); - } catch (err) { - this.logger.error(` Failed to read Git tree:\n${err.stderr}`); - - return false; - } - - if (!commitNeeded) { - this.logger.info(' No changes to commit after migration.'); - - return true; - } - - // Commit changes and abort on error. - try { - createCommit(message); - } catch (err) { - this.logger.error(`Failed to commit update (${message}):\n${err.stderr}`); - - return false; - } - - // Notify user of the commit. - const hash = findCurrentGitSha(); - const shortMessage = message.split('\n')[0]; - if (hash) { - this.logger.info(` Committed migration step (${getShortHash(hash)}): ${shortMessage}.`); - } else { - // Commit was successful, but reading the hash was not. Something weird happened, - // but nothing that would stop the update. Just log the weirdness and continue. - this.logger.info(` Committed migration step: ${shortMessage}.`); - this.logger.warn(' Failed to look up hash of most recent commit, continuing anyways.'); - } - - return true; - } - - private checkCleanGit(): boolean { - try { - const topLevel = execSync('git rev-parse --show-toplevel', { - encoding: 'utf8', - stdio: 'pipe', - }); - const result = execSync('git status --porcelain', { encoding: 'utf8', stdio: 'pipe' }); - if (result.trim().length === 0) { - return true; - } - - // Only files inside the workspace root are relevant - for (const entry of result.split('\n')) { - const relativeEntry = path.relative( - path.resolve(this.context.root), - path.resolve(topLevel.trim(), entry.slice(3).trim()), - ); - - if (!relativeEntry.startsWith('..') && !path.isAbsolute(relativeEntry)) { - return false; - } - } - } catch {} - - return true; - } - - /** - * Checks if the current installed CLI version is older or newer than a compatible version. - * @returns the version to install or null when there is no update to install. - */ - private async checkCLIVersion( - packagesToUpdate: string[] | string | undefined, - verbose = false, - next = false, - ): Promise { - const { version } = await fetchPackageManifest( - `@angular/cli@${this.getCLIUpdateRunnerVersion( - typeof packagesToUpdate === 'string' ? [packagesToUpdate] : packagesToUpdate, - next, - )}`, - this.logger, - { - verbose, - usingYarn: this.packageManager === PackageManager.Yarn, - }, - ); - - return VERSION.full === version ? null : version; - } - - private getCLIUpdateRunnerVersion( - packagesToUpdate: string[] | undefined, - next: boolean, - ): string | number { - if (next) { - return 'next'; - } - - const updatingAngularPackage = packagesToUpdate?.find((r) => ANGULAR_PACKAGES_REGEXP.test(r)); - if (updatingAngularPackage) { - // If we are updating any Angular package we can update the CLI to the target version because - // migrations for @angular/core@13 can be executed using Angular/cli@13. - // This is same behaviour as `npx @angular/cli@13 update @angular/core@13`. - - // `@angular/cli@13` -> ['', 'angular/cli', '13'] - // `@angular/cli` -> ['', 'angular/cli'] - const tempVersion = coerceVersionNumber(updatingAngularPackage.split('@')[2]); - - return semver.parse(tempVersion)?.major ?? 'latest'; - } - - // When not updating an Angular package we cannot determine which schematic runtime the migration should to be executed in. - // Typically, we can assume that the `@angular/cli` was updated previously. - // Example: Angular official packages are typically updated prior to NGRX etc... - // Therefore, we only update to the latest patch version of the installed major version of the Angular CLI. - - // This is important because we might end up in a scenario where locally Angular v12 is installed, updating NGRX from 11 to 12. - // We end up using Angular ClI v13 to run the migrations if we run the migrations using the CLI installed major version + 1 logic. - return VERSION.major; - } -} - -/** - * @return Whether or not the working directory has Git changes to commit. - */ -function hasChangesToCommit(): boolean { - // List all modified files not covered by .gitignore. - const files = execSync('git ls-files -m -d -o --exclude-standard').toString(); - - // If any files are returned, then there must be something to commit. - return files !== ''; -} - -/** - * Precondition: Must have pending changes to commit, they do not need to be staged. - * Postcondition: The Git working tree is committed and the repo is clean. - * @param message The commit message to use. - */ -function createCommit(message: string) { - // Stage entire working tree for commit. - execSync('git add -A', { encoding: 'utf8', stdio: 'pipe' }); - - // Commit with the message passed via stdin to avoid bash escaping issues. - execSync('git commit --no-verify -F -', { encoding: 'utf8', stdio: 'pipe', input: message }); -} - -/** - * @return The Git SHA hash of the HEAD commit. Returns null if unable to retrieve the hash. - */ -function findCurrentGitSha(): string | null { - try { - const hash = execSync('git rev-parse HEAD', { encoding: 'utf8', stdio: 'pipe' }); - - return hash.trim(); - } catch { - return null; - } -} - -function getShortHash(commitHash: string): string { - return commitHash.slice(0, 9); -} - -function coerceVersionNumber(version: string | undefined): string | null { - if (!version) { - return null; - } - - if (!version.match(/^\d{1,30}\.\d{1,30}\.\d{1,30}/)) { - const match = version.match(/^\d{1,30}(\.\d{1,30})*/); - - if (!match) { - return null; - } - - if (!match[1]) { - version = version.substr(0, match[0].length) + '.0.0' + version.substr(match[0].length); - } else if (!match[2]) { - version = version.substr(0, match[0].length) + '.0' + version.substr(match[0].length); - } else { - return null; - } - } - - return semver.valid(version); -} diff --git a/packages/angular/cli/src/commands/version/cli.ts b/packages/angular/cli/src/commands/version/cli.ts index 0a90891e3cfc..586822af4f7a 100644 --- a/packages/angular/cli/src/commands/version/cli.ts +++ b/packages/angular/cli/src/commands/version/cli.ts @@ -63,24 +63,21 @@ export class VersionCommandModule extends CommandModule implements CommandModule const [nodeMajor] = process.versions.node.split('.').map((part) => Number(part)); const unsupportedNodeVersion = !SUPPORTED_NODE_MAJORS.includes(nodeMajor); - const packageNames = [ - ...Object.keys(cliPackage.dependencies || {}), - ...Object.keys(cliPackage.devDependencies || {}), - ...Object.keys(workspacePackage?.dependencies || {}), - ...Object.keys(workspacePackage?.devDependencies || {}), - ]; - - const versions = packageNames - .filter((x) => PACKAGE_PATTERNS.some((p) => p.test(x))) - .reduce((acc, name) => { - if (name in acc) { - return acc; - } - - acc[name] = this.getVersion(name, workspaceRequire, localRequire); + const packageNames = new Set( + Object.keys({ + ...cliPackage.dependencies, + ...cliPackage.devDependencies, + ...workspacePackage?.dependencies, + ...workspacePackage?.devDependencies, + }), + ); - return acc; - }, {} as { [module: string]: string }); + const versions: Record = {}; + for (const name of packageNames) { + if (PACKAGE_PATTERNS.some((p) => p.test(name))) { + versions[name] = this.getVersion(name, workspaceRequire, localRequire); + } + } const ngCliVersion = cliPackage.version; let angularCoreVersion = ''; @@ -90,13 +87,10 @@ export class VersionCommandModule extends CommandModule implements CommandModule // Filter all angular versions that are the same as core. angularCoreVersion = versions['@angular/core']; if (angularCoreVersion) { - for (const angularPackage of Object.keys(versions)) { - if ( - versions[angularPackage] == angularCoreVersion && - angularPackage.startsWith('@angular/') - ) { - angularSameAsCore.push(angularPackage.replace(/^@angular\//, '')); - delete versions[angularPackage]; + for (const [name, version] of Object.entries(versions)) { + if (version === angularCoreVersion && name.startsWith('@angular/')) { + angularSameAsCore.push(name.replace(/^@angular\//, '')); + delete versions[name]; } } diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index 8549e8e66ff5..345edbf80af7 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -385,3 +385,42 @@ export async function isWarningEnabled(warning: string): Promise { // All warnings are enabled by default return result ?? true; } + +export function getProjectsByPath( + workspace: workspaces.WorkspaceDefinition, + cwd: string, + root: string, +): string[] { + if (workspace.projects.size === 1) { + return Array.from(workspace.projects.keys()); + } + + const isInside = (base: string, potential: string): boolean => { + const absoluteBase = path.resolve(root, base); + const absolutePotential = path.resolve(root, potential); + const relativePotential = path.relative(absoluteBase, absolutePotential); + if (!relativePotential.startsWith('..') && !path.isAbsolute(relativePotential)) { + return true; + } + + return false; + }; + + const projects = Array.from(workspace.projects.entries()) + .map(([name, project]) => [path.resolve(root, project.root), name] as [string, string]) + .filter((tuple) => isInside(tuple[0], cwd)) + // Sort tuples by depth, with the deeper ones first. Since the first member is a path and + // we filtered all invalid paths, the longest will be the deepest (and in case of equality + // the sort is stable and the first declared project will win). + .sort((a, b) => b[0].length - a[0].length); + + if (projects.length === 1) { + return [projects[0][1]]; + } else if (projects.length > 1) { + const firstPath = projects[0][0]; + + return projects.filter((v) => v[0] === firstPath).map((v) => v[1]); + } + + return []; +} From c0fe0626d587e23e631ed06c486a74a24c5b7de5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 16 Mar 2022 08:58:36 +0100 Subject: [PATCH 0190/1388] build: handle default sub command in json help output This change is needed to handle default subcommands which are used in `ng generate` default subcommands are prefixed with `$0` or `*`. More info: https://github.com/yargs/yargs/blob/main/docs/advanced.md#default-commands --- .../command-builder/utilities/json-help.ts | 15 ++++++--- scripts/json-help.ts | 32 ++++++------------- 2 files changed, 19 insertions(+), 28 deletions(-) diff --git a/packages/angular/cli/src/command-builder/utilities/json-help.ts b/packages/angular/cli/src/command-builder/utilities/json-help.ts index 6c07dd2b8d4a..2f1969e1e092 100644 --- a/packages/angular/cli/src/command-builder/utilities/json-help.ts +++ b/packages/angular/cli/src/command-builder/utilities/json-help.ts @@ -40,6 +40,8 @@ export interface JsonHelp extends JsonHelpDescription { subcommands?: JsonHelpSubcommand[]; } +const yargsDefaultCommandRegExp = /^\$0|\*/; + export function jsonHelpUsage(): string { // eslint-disable-next-line @typescript-eslint/no-explicit-any const localYargs = yargs as any; @@ -106,9 +108,10 @@ export function jsonHelpUsage(): string { deprecated: string | boolean, ][] ) - .map(([name, rawDescription, _, aliases, deprecated]) => ({ - name: name.split(' ', 1)[0], - command: name, + .map(([name, rawDescription, isDefault, aliases, deprecated]) => ({ + name: name.split(' ', 1)[0].replace(yargsDefaultCommandRegExp, ''), + command: name.replace(yargsDefaultCommandRegExp, ''), + default: isDefault || undefined, ...parseDescription(rawDescription), aliases, deprecated, @@ -116,13 +119,15 @@ export function jsonHelpUsage(): string { .sort((a, b) => a.name.localeCompare(b.name)); const [command, rawDescription] = usageInstance.getUsage()[0] ?? []; + const defaultSubCommand = subcommands.find((x) => x.default)?.command ?? ''; + const otherSubcommands = subcommands.filter((s) => !s.default); const output: JsonHelp = { name: [...context.commands].pop(), - command: command?.replace('$0', localYargs['$0']), + command: `${command?.replace(yargsDefaultCommandRegExp, localYargs['$0'])}${defaultSubCommand}`, ...parseDescription(rawDescription), options: normalizeOptions.sort((a, b) => a.name.localeCompare(b.name)), - subcommands: subcommands.length ? subcommands : undefined, + subcommands: otherSubcommands.length ? otherSubcommands : undefined, }; return JSON.stringify(output, undefined, 2); diff --git a/scripts/json-help.ts b/scripts/json-help.ts index 3b98e071f673..46046fcf249a 100644 --- a/scripts/json-help.ts +++ b/scripts/json-help.ts @@ -7,7 +7,7 @@ */ import { logging } from '@angular-devkit/core'; -import { spawn } from 'child_process'; +import { spawn, spawnSync } from 'child_process'; import { promises as fs } from 'fs'; import * as os from 'os'; import { JsonHelp } from 'packages/angular/cli/src/command-builder/utilities/json-help'; @@ -38,32 +38,18 @@ export default async function ({ temporaryProjectRoot }: JsonHelpOptions, logger await fs.mkdir(helpOutputRoot); - const runNgCommandJsonHelp = async (args: string[]) => { - const process = spawn(ngPath, [...args, '--json-help', '--help'], { + const runNgCommandJsonHelp = (args: string[]): Promise => { + const { stdout, status } = spawnSync(ngPath, [...args, '--json-help', '--help'], { cwd: newProjectRoot, + maxBuffer: 200_0000, stdio: ['ignore', 'pipe', 'inherit'], }); - let result = ''; - process.stdout.on('data', (data) => { - result += data.toString(); - }); - - return new Promise((resolve, reject) => { - process - .on('close', (code) => { - if (code === 0) { - resolve(JSON.parse(result.trim())); - } else { - reject( - new Error( - `Command failed: ${ngPath} ${args.map((x) => JSON.stringify(x)).join(', ')}`, - ), - ); - } - }) - .on('error', (err) => reject(err)); - }); + if (status === 0) { + return Promise.resolve(JSON.parse(stdout.toString().trim())); + } else { + throw new Error(`Command failed: ${ngPath} ${args.map((x) => JSON.stringify(x)).join(', ')}`); + } }; const { subcommands: commands = [] } = await runNgCommandJsonHelp([]); From cf04d003111e56a3c760151a72aff90b858a1df4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Mar 2022 05:54:44 +0000 Subject: [PATCH 0191/1388] build: update github/codeql-action action to v1.1.5 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index fec0064592e5..c93f1e649c79 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@f5d822707ee6e8fb81b04a5c0040b736da22e587 # tag=v1.1.4 + uses: github/codeql-action/upload-sarif@883476649888a9e8e219d5b2e6b789dc024f690c # tag=v1.1.5 with: sarif_file: results.sarif From c927c038ba356732327a026fe9a4c36ed23c9dec Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 24 Feb 2022 18:08:32 -0500 Subject: [PATCH 0192/1388] fix(@schematics/angular): remove `@types/node` from new projects The `@types/node` package is now only added if E2E tests (`ng generate e2e`) or universal are added to a project. --- packages/schematics/angular/e2e/index.ts | 6 ++++++ packages/schematics/angular/universal/index.ts | 13 +++++++++++-- .../angular/workspace/files/package.json.template | 3 +-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index fdfeac0c829b..6a44140278b3 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -20,6 +20,7 @@ import { } from '@angular-devkit/schematics'; import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; import { JSONFile } from '../utility/json-file'; +import { latestVersions } from '../utility/latest-versions'; import { relativePathToWorkspaceRoot } from '../utility/paths'; import { getWorkspace, updateWorkspace } from '../utility/workspace'; import { Builders } from '../utility/workspace-models'; @@ -93,6 +94,11 @@ export default function (options: E2eOptions): Rule { name: 'ts-node', version: '~9.1.1', }, + { + type: NodeDependencyType.Dev, + name: '@types/node', + version: latestVersions['@types/node'], + }, ].forEach((dep) => addPackageJsonDependency(host, dep)), addScriptsToPackageJson(), ]); diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index 7af96ced1115..6cf251ab4912 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -23,7 +23,12 @@ import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; import { findNode, getDecoratorMetadata } from '../utility/ast-utils'; import { InsertChange } from '../utility/change'; -import { addPackageJsonDependency, getPackageJsonDependency } from '../utility/dependencies'; +import { + NodeDependencyType, + addPackageJsonDependency, + getPackageJsonDependency, +} from '../utility/dependencies'; +import { latestVersions } from '../utility/latest-versions'; import { findBootstrapModuleCall, findBootstrapModulePath } from '../utility/ng-ast-utils'; import { relativePathToWorkspaceRoot } from '../utility/paths'; import { targetBuildNotFoundError } from '../utility/project-targets'; @@ -226,7 +231,11 @@ function addDependencies(): Rule { }; addPackageJsonDependency(host, platformServerDep); - return host; + addPackageJsonDependency(host, { + type: NodeDependencyType.Dev, + name: '@types/node', + version: latestVersions['@types/node'], + }); }; } diff --git a/packages/schematics/angular/workspace/files/package.json.template b/packages/schematics/angular/workspace/files/package.json.template index 490d505e58b6..cb9e263083d7 100644 --- a/packages/schematics/angular/workspace/files/package.json.template +++ b/packages/schematics/angular/workspace/files/package.json.template @@ -25,8 +25,7 @@ "devDependencies": { "@angular/cli": "<%= '~' + version %>", "@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %> - "@types/jasmine": "<%= latestVersions['@types/jasmine'] %>",<% } %> - "@types/node": "<%= latestVersions['@types/node'] %>",<% if (!minimal) { %> + "@types/jasmine": "<%= latestVersions['@types/jasmine'] %>", "jasmine-core": "<%= latestVersions['jasmine-core'] %>", "karma": "<%= latestVersions['karma'] %>", "karma-chrome-launcher": "<%= latestVersions['karma-chrome-launcher'] %>", From 1a36fd94a8bd9d9e31eb48e5cc9dc44480138f9f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Mar 2022 10:38:38 +0000 Subject: [PATCH 0193/1388] build: update all non-major dependencies --- package.json | 8 +- packages/angular/cli/package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 112 +++++++++++++----- 4 files changed, 91 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 4bae2c9214ea..0764e0a0b35c 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.0.0", + "cacache": "16.0.1", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", @@ -170,16 +170,16 @@ "minimatch": "5.0.1", "ng-packagr": "14.0.0-next.2", "node-fetch": "^2.2.0", - "npm-package-arg": "9.0.0", + "npm-package-arg": "9.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.4", + "pacote": "13.0.5", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.8", + "postcss": "8.4.12", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.2", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 7ae4ca6c2ca9..df233c05e8d1 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,11 +35,11 @@ "ini": "2.0.0", "inquirer": "8.2.1", "jsonc-parser": "3.0.0", - "npm-package-arg": "9.0.0", + "npm-package-arg": "9.0.1", "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.4", + "pacote": "13.0.5", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 80178b047424..6d4a24a1e55c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.0.0", + "cacache": "16.0.1", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", @@ -46,7 +46,7 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.8", + "postcss": "8.4.12", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.2", diff --git a/yarn.lock b/yarn.lock index bfaa5704ca46..33ff4e8227cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3371,7 +3371,31 @@ cacache@15.3.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@16.0.0, cacache@^16.0.0: +cacache@16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.1.tgz#bad1d14963d9851840da3dd6c4db3b6a3bdb585d" + integrity sha512-tHPtfdZDqQpZ15eaEZeLspIqS5mK5fOBDZi6AjuqaIi53QNVXH3dQv6uKT3YuUu6uxV/8pjU9in0CoJ8fgaHqw== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.1.2" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.2.0" + infer-owner "^1.0.4" + lru-cache "^7.5.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.11" + unique-filename "^1.1.1" + +cacache@^16.0.0: version "16.0.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.0.tgz#891149a9f9b0c8bbe6cd84d8ac246d6cf5ff429e" integrity sha512-pMX6sqJSlGpxCM257by5syifGb7zH6C30CaJXeGXqmKNrHKqvMmwM8KgKmsZcUAsnNQkt7WvENH2Kl53RpFQuA== @@ -5840,13 +5864,20 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.1, hosted-git-info@^4.1.0: +hosted-git-info@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" +hosted-git-info@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56" + integrity sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q== + dependencies: + lru-cache "^7.5.1" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -6230,7 +6261,7 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.1.0, is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1: +is-core-module@^2.1.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -6660,7 +6691,7 @@ json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== @@ -7144,6 +7175,11 @@ lru-cache@^7.3.1, lru-cache@^7.4.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.5.0.tgz#5e14318d64e6f180a5cf3b9b955b2e89376c0efe" integrity sha512-8neUvdgNtubJ+VNNqrqOLjUoIlN+NRPFtv1Vne2rQ4uPCxhp0W4TlqntzTLnVVezGXcSSdXTrKCTYooEQA7X6g== +lru-cache@^7.5.1: + version "7.5.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.5.1.tgz#660a134c2c3c015aa453b03df55d2a9f0c216a0f" + integrity sha512-q1TS8IqKvcg3aScamKCHpepSrHF537Ww7nHahBOxhDu9D2YoBXAsj/7uFdZFj1xJr9LmyeJ62AdyofCHafUbIA== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7672,15 +7708,15 @@ normalize-package-data@^2.0.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== +normalize-package-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.0.tgz#1122d5359af21d4cd08718b92b058a658594177c" + integrity sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g== dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -7711,7 +7747,16 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.0, npm-package-arg@^9.0.0: +npm-package-arg@9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.1.tgz#db9c6379c45d79db88ee6dd40d3ec6a9d9a4d13a" + integrity sha512-Xs9wznfEAmZAR61qsYH3iN24V/qMYYkvAR5CRQNMvC6PjN2fHtO8y9XP/xdp5K+Icx+u1wMBMgWRPCmAEChSog== + dependencies: + hosted-git-info "^5.0.0" + semver "^7.3.5" + validate-npm-package-name "^3.0.0" + +npm-package-arg@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.0.tgz#955a5e4735298fc23f71cb72da3574daa134340c" integrity sha512-yhzXxeor+Zfhe5MGwPdDumz6HtNlj2pMekWB95IX3CC6uDNgde0oPKHDCLDPoJqQfd0HqAWt+y4Hs5m7CK1+9Q== @@ -8010,10 +8055,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.0.4: - version "13.0.4" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.4.tgz#2ee8d41b086b412bd44266dc4915ff821d60d084" - integrity sha512-uhkG1ZclRmL+9O2vfrDUIDSTPIbSClCe9BUySy8IAkuF80eG51yZB+9hfStOF/O0LwVn7PcjqdGe+SJPxRp7jg== +pacote@13.0.5: + version "13.0.5" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.5.tgz#d6f370b11112492d8257ae1178a003b36d4bb261" + integrity sha512-6CYfot3/rUAn3qqzF2d/jrrXm5HlBtvaSgfmg0VtOUAdJ8fbSq21BJwftMGArkL71yXHIbUJ7Bt5B04547HELA== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -8031,7 +8076,7 @@ pacote@13.0.4: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" promise-retry "^2.0.1" - read-package-json "^4.1.2" + read-package-json "^5.0.0" read-package-json-fast "^2.0.3" rimraf "^3.0.2" ssri "^8.0.1" @@ -8654,6 +8699,15 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" +postcss@8.4.12: + version "8.4.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" + integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + postcss@8.4.6: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" @@ -8663,7 +8717,7 @@ postcss@8.4.6: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.8, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7: +postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7: version "8.4.8" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== @@ -8994,15 +9048,15 @@ read-package-json@^2.0.0: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" -read-package-json@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.2.tgz#b444d047de7c75d4a160cb056d00c0693c1df703" - integrity sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ== +read-package-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.0.tgz#d62602755547e152a3923c220238d9a7f0b60745" + integrity sha512-1cjk2MV5ONDMn34uxSID3X8NY7VKsXfJnjbcVdFMvHEnJOBzU6MJ7/3yg6QFVZDq5/1yFNrKBUK9kGnonyGP2Q== dependencies: - glob "^7.1.1" - json-parse-even-better-errors "^2.3.0" - normalize-package-data "^3.0.0" - npm-normalize-package-bin "^1.0.0" + glob "^7.2.0" + json-parse-even-better-errors "^2.3.1" + normalize-package-data "^4.0.0" + npm-normalize-package-bin "^1.0.1" readable-stream@2.3.0: version "2.3.0" @@ -9523,7 +9577,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: +semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -10707,7 +10761,7 @@ v8-to-istanbul@^7.1.0: convert-source-map "^1.6.0" source-map "^0.7.3" -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== From a497d12a6bdc7ed1fd7808530d10cada690ea378 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 16 Mar 2022 19:21:08 +0100 Subject: [PATCH 0194/1388] refactor(@angular/cli): remove `hasAnalyticsConfig` analytics logic With this change we clean up further the analytics code and re-use the `getAnalytics` to determine if the config is set or not. Also, this change inclused a refactor to the `createAnalytics` method to make it more readable. --- .../cli/bin/postinstall/analytics-prompt.js | 2 +- .../angular/cli/src/analytics/analytics.ts | 80 +++++++++++-------- 2 files changed, 47 insertions(+), 35 deletions(-) diff --git a/packages/angular/cli/bin/postinstall/analytics-prompt.js b/packages/angular/cli/bin/postinstall/analytics-prompt.js index f5653da7bef3..1d268c60d66c 100644 --- a/packages/angular/cli/bin/postinstall/analytics-prompt.js +++ b/packages/angular/cli/bin/postinstall/analytics-prompt.js @@ -17,7 +17,7 @@ try { var analytics = require('../../src/analytics/analytics'); analytics - .hasAnalyticsConfig('global') + .getAnalytics('global') .then((hasGlobalConfig) => { if (!hasGlobalConfig) { return analytics.promptAnalytics(true /** global */); diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 103f439340e8..1227d7ef5ce5 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -152,16 +152,21 @@ export async function promptAnalytics(global: boolean, force = false): Promise { +): Promise { analyticsDebug('getAnalytics'); if (analyticsDisabled) { analyticsDebug('NG_CLI_ANALYTICS is false'); - return undefined; + return new analytics.NoopAnalytics(); } try { @@ -170,7 +175,9 @@ export async function getAnalytics( workspace?.getCli()['analytics']; analyticsDebug('Workspace Analytics config found: %j', analyticsConfig); - if (!analyticsConfig) { + if (analyticsConfig === false) { + return new analytics.NoopAnalytics(); + } else if (analyticsConfig === undefined || analyticsConfig === null) { return undefined; } else { let uid: string | undefined = undefined; @@ -231,33 +238,49 @@ export async function createAnalytics( workspace: boolean, skipPrompt = false, ): Promise { - let config: analytics.Analytics | undefined; - const isDisabledGlobally = (await getWorkspace('global'))?.getCli()['analytics'] === false; - // If in workspace and global analytics is enabled, defer to workspace level - if (workspace && !isDisabledGlobally) { - const skipAnalytics = skipPrompt || analyticsDisabled; - // TODO: This should honor the `no-interactive` option. - // It is currently not an `ng` option but rather only an option for specific commands. - // The concept of `ng`-wide options are needed to cleanly handle this. - if (!skipAnalytics && !(await hasAnalyticsConfig('local'))) { - await promptAnalytics(false); + // Global config takes precedence over local config only for the disabled check. + // IE: + // global: disabled & local: enabled = disabled + // global: id: 123 & local: id: 456 = 456 + + // check global + const globalConfig = await getAnalytics('global'); + if (globalConfig instanceof analytics.NoopAnalytics) { + return globalConfig; + } + + let config = globalConfig; + // Not disabled globally, check locally. + if (workspace) { + let localConfig = await getAnalytics('local'); + if (localConfig === undefined) { + if (!skipPrompt) { + // local is not unset, prompt user. + + // TODO: This should honor the `no-interactive` option. + // It is currently not an `ng` option but rather only an option for specific commands. + // The concept of `ng`-wide options are needed to cleanly handle this. + await promptAnalytics(false); + localConfig = await getAnalytics('local'); + } + } + + if (localConfig instanceof analytics.NoopAnalytics) { + return localConfig; + } else if (localConfig) { + // Favor local settings over global when defined. + config = localConfig; } - config = await getAnalytics('local'); - } else { - config = await getAnalytics('global'); } + // Get shared analytics + // TODO: evalute if this should be completly removed. const maybeSharedAnalytics = await getSharedAnalytics(); - if (config && maybeSharedAnalytics) { return new analytics.MultiAnalytics([config, maybeSharedAnalytics]); - } else if (config) { - return config; - } else if (maybeSharedAnalytics) { - return maybeSharedAnalytics; - } else { - return new analytics.NoopAnalytics(); } + + return config ?? maybeSharedAnalytics ?? new analytics.NoopAnalytics(); } function analyticsConfigValueToHumanFormat(value: unknown): 'enabled' | 'disabled' | 'not set' { @@ -295,14 +318,3 @@ export async function getAnalyticsInfoString(): Promise { ` + '\n' ); } - -export async function hasAnalyticsConfig(level: 'local' | 'global'): Promise { - try { - const workspace = await getWorkspace(level); - if (workspace?.getCli()['analytics'] !== undefined) { - return true; - } - } catch {} - - return false; -} From e636a92bc7b9ea024e49d2bb8380fa9b634a4284 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 16 Mar 2022 12:54:32 -0700 Subject: [PATCH 0195/1388] docs: release notes for the v13.3.0 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81a2190120ba..6ddae25dcb34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.3.0 (2022-03-16) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------- | +| [c995ed5e8](https://github.com/angular/angular-cli/commit/c995ed5e8a8e1b20cf376f4c48c5141fd5f4548a) | feat | support TypeScript 4.6 | + +## Special Thanks + +Alan Agius and Doug Parker + + + # 13.2.6 (2022-03-09) From 5ac6fd3e83041b5b278e80d16167f9bd2e9033b5 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 16 Mar 2022 13:09:55 -0700 Subject: [PATCH 0196/1388] release: cut the v14.0.0-next.6 release --- CHANGELOG.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ddae25dcb34..19d77a73798e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,54 @@ + + +# 14.0.0-next.6 (2022-03-16) + +## Breaking Changes + +### @angular/cli + +- Several changes to the `ng analytics` command syntax. + +- `ng analytics project ` has been replaced with `ng analytics ` +- `ng analytics ` has been replaced with `ng analytics --global` + +- Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6. + +### @angular-devkit/build-angular + +- `NG_BUILD_CACHE` environment variable has been removed. `cli.cache` in the workspace configuration should be used instead. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | +| [c927c038b](https://github.com/angular/angular-cli/commit/c927c038ba356732327a026fe9a4c36ed23c9dec) | fix | remove `@types/node` from new projects | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [afafa5788](https://github.com/angular/angular-cli/commit/afafa5788f11b8727c39bb0a390300a706aba5bc) | feat | add `--global` option to `ng analytics` command | +| [bb550436a](https://github.com/angular/angular-cli/commit/bb550436a476d74705742a8c36f38971b346b903) | feat | add `ng analytics info` command | +| [7ab22ed40](https://github.com/angular/angular-cli/commit/7ab22ed40d521e3cec29ab2d66d0289c3cdb4106) | feat | add disable/enable aliases for off/on `ng analytics` command | +| [7fa3e6587](https://github.com/angular/angular-cli/commit/7fa3e6587955d0638929758d3c257392c242c796) | feat | support TypeScript 4.6.2 | +| [9edeb8614](https://github.com/angular/angular-cli/commit/9edeb86146131878c5e8b21b6adaa24a26f12453) | fix | add long description to `ng update` | +| [a49cdfbfe](https://github.com/angular/angular-cli/commit/a49cdfbfefbdd756882be96fb61dc8a0d374b6e0) | fix | don't prompt for analytics when running `ng analytics` | +| [054ae02c2](https://github.com/angular/angular-cli/commit/054ae02c2fb8eed52af76cf39a432a3770d301e4) | fix | favor project in cwd when running architect commands | +| [96a0d92da](https://github.com/angular/angular-cli/commit/96a0d92da2903edfb3835ce86b3700629d6e43ad) | fix | remove JSON serialized description from help output | +| [ca401255f](https://github.com/angular/angular-cli/commit/ca401255f49568cfe5f9ec6a35ea5b91c91afa70) | fix | sort commands in help output | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------- | +| [b8564a638](https://github.com/angular/angular-cli/commit/b8564a638df3b6971ef2ac8fb838e6a7c910ac3b) | refactor | remove deprecated `NG_BUILD_CACHE` environment variable | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker and Joey Perrott + + + # 13.3.0 (2022-03-16) diff --git a/package.json b/package.json index 0764e0a0b35c..3c631d09bc2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.5", + "version": "14.0.0-next.6", "private": true, "description": "Software Development Kit for Angular", "bin": { From 8e66c9188be827380e5acda93c7e21fae718b9ce Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 17 Mar 2022 11:03:23 +0100 Subject: [PATCH 0197/1388] fix(@angular/cli): `ng g` show descrption from `collection.json` if not present in `schema.json` Wiht this change we show the descrption from `collection.json` if not present in schematic `schema.json` in `ng generate` help output --- packages/angular/cli/src/commands/generate/cli.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index 462eec9506af..2bc314c63bb0 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -68,7 +68,12 @@ export class GenerateCommandModule for (const schematicName of schematicNames) { const { - description: { schemaJson, aliases: schematicAliases, hidden: schematicHidden }, + description: { + schemaJson, + aliases: schematicAliases, + hidden: schematicHidden, + description: schematicDescription, + }, } = collection.createSchematic(schematicName, true); if (!schemaJson) { @@ -76,8 +81,8 @@ export class GenerateCommandModule } const { - description, 'x-deprecated': xDeprecated, + description = schematicDescription, aliases = schematicAliases, hidden = schematicHidden, } = schemaJson; From 5a8bdeb434c7561334bfc8865ed279110a44bd93 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 17 Mar 2022 11:05:00 +0100 Subject: [PATCH 0198/1388] fix(@angular/cli): hide private schematics from `ng g` help output With this change we don't display private schematic in `ng generate` help output. --- packages/angular/cli/src/commands/generate/cli.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index 2bc314c63bb0..55f58a32dc2b 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -67,6 +67,10 @@ export class GenerateCommandModule } for (const schematicName of schematicNames) { + if (schematicsInCollection[schematicName].private) { + continue; + } + const { description: { schemaJson, From 8a396de6a8a58347d2201a43d7f5101f94f20e89 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 17 Mar 2022 15:02:07 +0100 Subject: [PATCH 0199/1388] fix(@angular/cli): print entire config when no positional args are provided to `ng config` This fixes a regression were when no positional args are provided to `ng config` the entire config file should to be printed in the console. --- .../angular/cli/src/commands/config/cli.ts | 5 +- .../e2e/tests/commands/config/config-get.ts | 69 +++++++++++-------- .../e2e/tests/commands/help/help-json.ts | 2 +- 3 files changed, 42 insertions(+), 34 deletions(-) diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index 410b3bcb9b5c..de5cb5596981 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -20,7 +20,7 @@ import { getWorkspaceRaw, validateWorkspace } from '../../utilities/config'; import { JSONFile, parseJson } from '../../utilities/json-file'; interface ConfigCommandArgs { - 'json-path': string; + 'json-path'?: string; value?: string; global?: boolean; } @@ -29,7 +29,7 @@ export class ConfigCommandModule extends CommandModule implements CommandModuleImplementation { - command = 'config [value]'; + command = 'config [json-path] [value]'; describe = 'Retrieves or sets Angular configuration values in the angular.json file for the workspace.'; longDescriptionPath = join(__dirname, 'long-description.md'); @@ -41,7 +41,6 @@ export class ConfigCommandModule `The configuration key to set or query, in JSON path format. ` + `For example: "a[3].foo.bar[2]". If no new value is provided, returns the current value of this key.`, type: 'string', - demandOption: true, }) .positional('value', { description: 'If provided, a new value for the given configuration key.', diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-get.ts b/tests/legacy-cli/e2e/tests/commands/config/config-get.ts index 4786838afefc..0f33c75feaee 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-get.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-get.ts @@ -1,35 +1,44 @@ import { ng } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; +export default async function () { + await expectToFail(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle')); + await ng('config', 'schematics.@schematics/angular.component.inlineStyle', 'false'); + const { stdout } = await ng('config', 'schematics.@schematics/angular.component.inlineStyle'); + if (!stdout.match(/false\n?/)) { + throw new Error(`Expected "false", received "${JSON.stringify(stdout)}".`); + } -export default function() { - return Promise.resolve() - .then(() => expectToFail(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle'))) - .then(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle', 'false')) - .then(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle')) - .then(({ stdout }) => { - if (!stdout.match(/false\n?/)) { - throw new Error(`Expected "false", received "${JSON.stringify(stdout)}".`); - } - }) - .then(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle', 'true')) - .then(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle')) - .then(({ stdout }) => { - if (!stdout.match(/true\n?/)) { - throw new Error(`Expected "true", received "${JSON.stringify(stdout)}".`); - } - }) - .then(() => ng('config', 'schematics.@schematics/angular.component.inlineStyle', 'false')) - .then(() => ng('config', `projects.test-project.architect.build.options.assets[0]`)) - .then(({ stdout }) => { - if (!stdout.includes('src/favicon.ico')) { - throw new Error(`Expected "src/favicon.ico", received "${JSON.stringify(stdout)}".`); - } - }) - .then(() => ng('config', `projects["test-project"].architect.build.options.assets[0]`)) - .then(({ stdout }) => { - if (!stdout.includes('src/favicon.ico')) { - throw new Error(`Expected "src/favicon.ico", received "${JSON.stringify(stdout)}".`); - } - }); + await ng('config', 'schematics.@schematics/angular.component.inlineStyle', 'true'); + const { stdout: stdout1 } = await ng( + 'config', + 'schematics.@schematics/angular.component.inlineStyle', + ); + if (!stdout1.match(/true\n?/)) { + throw new Error(`Expected "true", received "${JSON.stringify(stdout)}".`); + } + + await ng('config', 'schematics.@schematics/angular.component.inlineStyle', 'false'); + const { stdout: stdout2 } = await ng( + 'config', + `projects.test-project.architect.build.options.assets[0]`, + ); + if (!stdout2.includes('src/favicon.ico')) { + throw new Error(`Expected "src/favicon.ico", received "${JSON.stringify(stdout)}".`); + } + + const { stdout: stdout3 } = await ng( + 'config', + `projects["test-project"].architect.build.options.assets[0]`, + ); + + if (!stdout3.includes('src/favicon.ico')) { + throw new Error(`Expected "src/favicon.ico", received "${JSON.stringify(stdout)}".`); + } + + // should print all config when no positional args are provided. + const { stdout: stdout4 } = await ng('config'); + if (!stdout4.includes('$schema')) { + throw new Error(`Expected to contain "$schema", received "${JSON.stringify(stdout)}".`); + } } diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 3903edd120fd..25aea63c246f 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -4,7 +4,7 @@ export default async function () { // This test is use as a sanity check. const addHelpOutputSnapshot = JSON.stringify({ 'name': 'config', - 'command': 'ng config [value]', + 'command': 'ng config [json-path] [value]', 'shortDescription': 'Retrieves or sets Angular configuration values in the angular.json file for the workspace.', 'longDescriptionRelativePath': '@angular/cli/src/commands/config/long-description.md', From becd7b6ed9d5ef1a11181070ab879ffafbe36a91 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 18 Mar 2022 08:09:03 +0000 Subject: [PATCH 0200/1388] build: update all non-major dependencies --- package.json | 4 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 211 +++++------------- 4 files changed, 58 insertions(+), 161 deletions(-) diff --git a/package.json b/package.json index 3c631d09bc2e..cee9eceae78e 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.0.1", + "cacache": "16.0.2", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", @@ -168,7 +168,7 @@ "magic-string": "0.26.1", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.2", + "ng-packagr": "14.0.0-next.3", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.1", "open": "8.4.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index df233c05e8d1..4a5df30c43cd 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -31,7 +31,7 @@ "@schematics/angular": "0.0.0-PLACEHOLDER", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", - "debug": "4.3.3", + "debug": "4.3.4", "ini": "2.0.0", "inquirer": "8.2.1", "jsonc-parser": "3.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6d4a24a1e55c..a866f5bbb533 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.0.1", + "cacache": "16.0.2", "copy-webpack-plugin": "10.2.4", "core-js": "3.21.1", "critters": "0.0.16", diff --git a/yarn.lock b/yarn.lock index 33ff4e8227cd..4a85b5d711a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2709,7 +2709,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0, ajv@^8.0.0, ajv@^8.8.0, ajv@^8.9.0: +ajv@8.10.0, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.8.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -3253,6 +3253,17 @@ browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1 node-releases "^2.0.2" picocolors "^1.0.0" +browserslist@^4.20.0: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== + dependencies: + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -3371,10 +3382,10 @@ cacache@15.3.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@16.0.1: - version "16.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.1.tgz#bad1d14963d9851840da3dd6c4db3b6a3bdb585d" - integrity sha512-tHPtfdZDqQpZ15eaEZeLspIqS5mK5fOBDZi6AjuqaIi53QNVXH3dQv6uKT3YuUu6uxV/8pjU9in0CoJ8fgaHqw== +cacache@16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.2.tgz#b18d630b707554d7d5ce96f53bfe845233c84933" + integrity sha512-Q17j7s8X81i/QYVrKVQ/qwWGT+pYLfpTcZ+X+p/Qw9FULy9JEfb2FECYTTt6mPV6A/vk92nRZ80ncpKxiGTrIA== dependencies: "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.1.2" @@ -3442,6 +3453,11 @@ caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001313: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001316.tgz#b44a1f419f82d2e119aa0bbdab5ec15471796358" integrity sha512-JgUdNoZKxPZFzbzJwy4hDSyGuH/gXz2rN51QmoR8cBQsVo58llD3A0vlRKKRt8FGf5u69P9eQyIH8/z9vN/S0Q== +caniuse-lite@^1.0.30001317: + version "1.0.30001317" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" + integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -4021,6 +4037,13 @@ debug@4.3.2: dependencies: ms "2.1.2" +debug@4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -4330,6 +4353,11 @@ electron-to-chromium@^1.4.76: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz#51e123ca434b1eba8c434ece2b54f095b304a651" integrity sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw== +electron-to-chromium@^1.4.84: + version "1.4.87" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.87.tgz#1aeacfa50b2fbf3ecf50a78fbebd8f259d4fe208" + integrity sha512-EXXTtDHFUKdFVkCnhauU7Xp8wmFC1ZG6GK9a1BeI2vvNhy61IwfNPo/CRexhf7mh4ajxAHJPind62BzpzVUeuQ== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4532,11 +4560,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.26.tgz#c5cc52e1372b680e3e782583fa826b248a550a3d" - integrity sha512-HIyJ3VvigHfseaI0D+vsD8zKQ4roDUD962/vtO/KXzav6wR//Y//Qx1HUX8k5bQeQ7/0yCXlltY9VBw1MFnWFQ== - esbuild-android-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" @@ -4547,11 +4570,6 @@ esbuild-android-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== -esbuild-android-arm64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.26.tgz#675695134565b0a39d8e3f7a0bd0f4c1ddea5f29" - integrity sha512-TxRCLxyU5yj3U8Bud9fCg3IxzIXXKaWcmDbvURm8JkRr0WvCAmwZBdLi5T8BasT1v5vrVE//M0KSHZod6HC6lA== - esbuild-android-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" @@ -4562,11 +4580,6 @@ esbuild-darwin-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== -esbuild-darwin-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.26.tgz#7d83ba28bf178d21645b8118cb3280aad84e30ff" - integrity sha512-oZJBN+CkR47Fc7KB1vowZy2kb5r+WSnsBjVEw7aI8HmR6louAgTr4bs1NwzaF6MbLi41ajaw6RdipfsM1H9PvQ== - esbuild-darwin-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" @@ -4577,11 +4590,6 @@ esbuild-darwin-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== -esbuild-darwin-arm64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.26.tgz#4567ade51ba2f5f46c32a5b08880a93c7a683440" - integrity sha512-eYW+cmP3BGVPDp+wd9bRI5CN5HjkZnrMQtj46Mj//UsSh4SRvflAp3pjs3ooA+MCpIa9xZ8091HqLqpYi7KFWA== - esbuild-darwin-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" @@ -4592,11 +4600,6 @@ esbuild-freebsd-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== -esbuild-freebsd-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.26.tgz#e03526cd6e5e06e6b3ba405524d62b486bd5519a" - integrity sha512-Q+Hs27fSBkNfUHNhphSyWfF5lxl3o9S6LFlzkC5KofxLCnCESP+7YTzAWTosYGANsPT2mvYFOraFeYEokG+5DA== - esbuild-freebsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" @@ -4607,11 +4610,6 @@ esbuild-freebsd-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== -esbuild-freebsd-arm64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.26.tgz#7ddbbefdb51edcc48158aa8752041090a1e54f22" - integrity sha512-MT+FuC/63oz6j/jvWOMCNqnHBYm/bNhGPArUgQX8GRhofFCeqe0NRmJbhtlHZaEeErIIjHPZQ/nXs34mfiqo/Q== - esbuild-freebsd-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" @@ -4622,11 +4620,6 @@ esbuild-linux-32@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== -esbuild-linux-32@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.26.tgz#82d8c050dac0d1103dec2ad6537e419dc2247476" - integrity sha512-9gqSfJ8qMDvz7wXZoinNoe9/ekPpbT+/ZgVfZEeB72ETITVPHvMbG8i0E12wG366G01vMXtlxbD9IYJsMVhe6w== - esbuild-linux-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" @@ -4637,11 +4630,6 @@ esbuild-linux-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== -esbuild-linux-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.26.tgz#f06b38cc28d84c688b587a54125c0122bf871c07" - integrity sha512-aPku1lCxxXmBr5LkENSlGIbY33jjQExDzaSrNV+dDA5bHXhFnpI9UkSe+vQzrSkxgO66vNjSTNDcxg3pOXBaBw== - esbuild-linux-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" @@ -4652,11 +4640,6 @@ esbuild-linux-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== -esbuild-linux-arm64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.26.tgz#235a70b2f71933f814e8b14531c584974b52d972" - integrity sha512-S0boyzv5Yx+IN1A8253nEPzHqn/W/y+CRcLYFZ1E5DscqkY7EvBao6rhff3ZxaHU9Zrkn0pLVqlJdMx3rm6D4Q== - esbuild-linux-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" @@ -4667,11 +4650,6 @@ esbuild-linux-arm@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== -esbuild-linux-arm@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.26.tgz#709a303ae0794457d6c41d0df4f3fafb9de24b1d" - integrity sha512-m7ozLQozfgBmh9l3HWxDEVYEEG8GuTqzRoFuf9iX0xAlbtqmhhlm7M4zNMa2eyPEG+ejgHndAuvuB1hcOWvdJw== - esbuild-linux-arm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" @@ -4682,11 +4660,6 @@ esbuild-linux-mips64le@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== -esbuild-linux-mips64le@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.26.tgz#b1a26af4e33d36dafea7579f876c5e2041c2236e" - integrity sha512-TyMRc2ctQV1g9ruHg1Y793e18uDigKKsgzcZPzfxZi2z+hGK1uaSdaejGdULEJBJVMXt3/NC1T1yq0vCTiYYgg== - esbuild-linux-mips64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" @@ -4697,11 +4670,6 @@ esbuild-linux-ppc64le@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== -esbuild-linux-ppc64le@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.26.tgz#1de1b2e5d93e3327b3a66520722ed8cb7d8d606a" - integrity sha512-aOJPP80m2gV8CyDqEMGbwZaGKuR45tZU1qYZ0+Cy8lWV4CWmd9iBWhCLP3eI9d7163m6t+0YO/6N3iLSVlNnpA== - esbuild-linux-ppc64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" @@ -4712,11 +4680,6 @@ esbuild-linux-riscv64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== -esbuild-linux-riscv64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.26.tgz#4dc147218a2ed5c796fe1abc832703fd4e991108" - integrity sha512-2E5xK7SNZFXhFzRbZGtUqg3MbHnrx5XzqHaGLOLdHBqOSWIAdJKB3w6WtjpLkZvPuWrKeh51XnRpk1jm0TsUjQ== - esbuild-linux-riscv64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" @@ -4727,11 +4690,6 @@ esbuild-linux-s390x@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== -esbuild-linux-s390x@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.26.tgz#12affff5f2d820e238cc5aa9aa7fd5f8f53c8d64" - integrity sha512-kfSuFea857mTYMp/RAFmMp9TBjf1T8F/dTRqLn2p+g8Ok30Cp1+mI2+YCmxz5Uw2JOfxyvpND0Ek1PGPMo1UsQ== - esbuild-linux-s390x@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" @@ -4742,11 +4700,6 @@ esbuild-netbsd-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== -esbuild-netbsd-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.26.tgz#7a1a0962f0c15e5ff945004626e9f038da0076bb" - integrity sha512-tWhLwfOOqdZRwvaSYIWuic9Cj+WRRCLHe//Bmlf0ThBur9/EssRTtVh6/rC2Okp7Eb4QcerA/1wjWLYLECYD7g== - esbuild-netbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" @@ -4757,11 +4710,6 @@ esbuild-openbsd-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== -esbuild-openbsd-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.26.tgz#68e2949986fba77f17dfb86ee5b4e1f37cd302ca" - integrity sha512-Xj7IWpsPn/hgKNzwjLpnf6wMtV0lfw5bzn7N9vmiCKx9TBA28L2hI8G15O0s9atLKny4HpmCGwZWmReNF1Ui6g== - esbuild-openbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" @@ -4772,11 +4720,6 @@ esbuild-sunos-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== -esbuild-sunos-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.26.tgz#a5c7930a7e86b7bd696aaf8379fd761d4feb1332" - integrity sha512-5odPsuhghCUYc3c1gEtz6pGq9cuGRDq1+iNdLBjZcz6IUebd0ay/AVORWchs5WddzyJA9hguxrKsPjECxX6OzQ== - esbuild-sunos-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" @@ -4787,26 +4730,16 @@ esbuild-wasm@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== -esbuild-wasm@0.14.27: +esbuild-wasm@0.14.27, esbuild-wasm@^0.14.25: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== -esbuild-wasm@^0.14.14: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.26.tgz#3680880c3d0efdc83b15a2e075e167fe8336dfcb" - integrity sha512-SdEhu5Jk3Rqgw6VBK9stgwHSxc80dkLNfZJAM0wqbU4lw/xa5GMhLeOZ9l6LpTB2f6Teixmy7y2hvMtCu/ycLA== - esbuild-windows-32@0.14.23: version "0.14.23" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== -esbuild-windows-32@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.26.tgz#3eb5b7702355487e5939992f2cff2b0afdee9aa1" - integrity sha512-xSVyGV6xGQlAC/K+oBXC9YiGGqoKqQGXVEFQKlDGXD6rxHGK5Fch0ynuvkjaYWW/p8OWqxGVYcof5BvGjY49RA== - esbuild-windows-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" @@ -4817,11 +4750,6 @@ esbuild-windows-64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== -esbuild-windows-64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.26.tgz#7fb4bf6e1ad27ecd463294df6ad60b27c9f09197" - integrity sha512-Q0Bm42+wIqHJ8yF96T7nXosILXROegRtMmuI1L0kry0YBHnCFMtjNRTyUwv8yi7o2XvVYh7DF0NHLDL4N34MuA== - esbuild-windows-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" @@ -4832,11 +4760,6 @@ esbuild-windows-arm64@0.14.23: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== -esbuild-windows-arm64@0.14.26: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.26.tgz#3bff0b46a884ff8de3f6f5a82b171b08012b78e0" - integrity sha512-+l0DB0VV4LiSoDfNsGviK/2M88IR+/fOUfQoQx08RPu7OZ7gv9BqhRLZCSCT4qHT351OTH1nPv7avRXX6JRQcg== - esbuild-windows-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" @@ -4867,7 +4790,7 @@ esbuild@0.14.23: esbuild-windows-64 "0.14.23" esbuild-windows-arm64 "0.14.23" -esbuild@0.14.27: +esbuild@0.14.27, esbuild@^0.14.25: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== @@ -4893,32 +4816,6 @@ esbuild@0.14.27: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" -esbuild@^0.14.14: - version "0.14.26" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.26.tgz#c83493ef55163d976241cc8ed077baf991f21201" - integrity sha512-v0zIYlFB9NZ82/hFljhvpA7f8rob66r68ymB7juMz6TYAAMYjKGoW+hrMfRRvic5MAOI2wE/SuykFvsELLa6eA== - optionalDependencies: - esbuild-android-64 "0.14.26" - esbuild-android-arm64 "0.14.26" - esbuild-darwin-64 "0.14.26" - esbuild-darwin-arm64 "0.14.26" - esbuild-freebsd-64 "0.14.26" - esbuild-freebsd-arm64 "0.14.26" - esbuild-linux-32 "0.14.26" - esbuild-linux-64 "0.14.26" - esbuild-linux-arm "0.14.26" - esbuild-linux-arm64 "0.14.26" - esbuild-linux-mips64le "0.14.26" - esbuild-linux-ppc64le "0.14.26" - esbuild-linux-riscv64 "0.14.26" - esbuild-linux-s390x "0.14.26" - esbuild-netbsd-64 "0.14.26" - esbuild-openbsd-64 "0.14.26" - esbuild-sunos-64 "0.14.26" - esbuild-windows-32 "0.14.26" - esbuild-windows-64 "0.14.26" - esbuild-windows-arm64 "0.14.26" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -7592,37 +7489,37 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-next.2: - version "14.0.0-next.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.2.tgz#787797bfa6c74bbc87bb896cd8099c4b76b6c610" - integrity sha512-2vccuBHWJEbLNHMRTS0QYMKeFTy2I/tHOePjFkb3gs0I/ZqGBqhj8WBg2rqUwfo/3iNm0yCnPALjFYWVPITm/Q== +ng-packagr@14.0.0-next.3: + version "14.0.0-next.3" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.3.tgz#211f5983eced39c5f477f67b26ffa159571e5d07" + integrity sha512-4p6tgJCPyDmFByjsLpr2K30ViFB9DFdpRwZMCA4IgEwzgrn2stPumCihT5LG3+O7SyyNpfTBxHbFRmLTYfILng== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" - ajv "^8.9.0" + ajv "^8.10.0" ansi-colors "^4.1.1" - browserslist "^4.19.1" - cacache "^15.3.0" + browserslist "^4.20.0" + cacache "^16.0.0" chokidar "^3.5.3" commander "^9.0.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.14.14" + esbuild-wasm "^0.14.25" find-cache-dir "^3.3.2" glob "^7.2.0" injection-js "^2.4.0" jsonc-parser "^3.0.0" less "^4.1.2" ora "^5.1.0" - postcss "^8.4.5" - postcss-preset-env "^7.2.3" + postcss "^8.4.8" + postcss-preset-env "^7.4.2" postcss-url "^10.1.3" - rollup "^2.66.1" + rollup "^2.70.0" rollup-plugin-sourcemaps "^0.6.3" - rxjs "^7.5.2" - sass "^1.49.0" + rxjs "^7.5.5" + sass "^1.49.9" stylus "^0.56.0" optionalDependencies: - esbuild "^0.14.14" + esbuild "^0.14.25" nice-napi@^1.0.2: version "1.0.2" @@ -8601,7 +8498,7 @@ postcss-preset-env@7.4.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.2, postcss-preset-env@^7.2.3: +postcss-preset-env@7.4.2, postcss-preset-env@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== @@ -8699,7 +8596,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.12: +postcss@8.4.12, postcss@^8.4.8: version "8.4.12" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== @@ -9393,7 +9290,7 @@ rollup-plugin-sourcemaps@^0.6.3: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@^2.66.1: +rollup@^2.70.0: version "2.70.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.1.tgz#824b1f1f879ea396db30b0fc3ae8d2fead93523e" integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== @@ -9431,7 +9328,7 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.2.0, rxjs@^7.5.2, rxjs@^7.5.5: +rxjs@^7.2.0, rxjs@^7.5.5: version "7.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== @@ -9470,7 +9367,7 @@ sass@1.49.8: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.49.9, sass@^1.49.0: +sass@1.49.9, sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== From eef17b3fc58017844745284df41d46b9004586e9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 18 Mar 2022 09:26:00 +0100 Subject: [PATCH 0201/1388] refactor(@angular/cli): group and move all env variables into a single file --- packages/angular/cli/lib/cli/index.ts | 6 ++--- packages/angular/cli/lib/init.ts | 7 +----- .../analytics-environment-options.ts | 22 ---------------- .../angular/cli/src/analytics/analytics.ts | 2 +- .../angular/cli/src/commands/update/cli.ts | 11 +------- .../cli/src/utilities/environment-options.ts | 25 +++++++++++++++++++ 6 files changed, 30 insertions(+), 43 deletions(-) delete mode 100644 packages/angular/cli/src/analytics/analytics-environment-options.ts create mode 100644 packages/angular/cli/src/utilities/environment-options.ts diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index ef2f15d766de..355b39ed0035 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -12,14 +12,12 @@ import { CommandModuleError } from '../../src/command-builder/command-module'; import { runCommand } from '../../src/command-builder/command-runner'; import { colors, removeColor } from '../../src/utilities/color'; import { AngularWorkspace, getWorkspaceRaw } from '../../src/utilities/config'; +import { ngDebug } from '../../src/utilities/environment-options'; import { writeErrorToLogFile } from '../../src/utilities/log-file'; import { findWorkspaceFile } from '../../src/utilities/project'; export { VERSION } from '../../src/utilities/version'; -const debugEnv = process.env['NG_DEBUG']; -const isDebug = debugEnv !== undefined && debugEnv !== '0' && debugEnv.toLowerCase() !== 'false'; - /* eslint-disable no-console */ export default async function (options: { testing?: boolean; cliArgs: string[] }) { // This node version check ensures that the requirements of the project instance of the CLI are met @@ -34,7 +32,7 @@ export default async function (options: { testing?: boolean; cliArgs: string[] } return 3; } - const logger = createConsoleLogger(isDebug, process.stdout, process.stderr, { + const logger = createConsoleLogger(ngDebug, process.stdout, process.stderr, { info: (s) => (colors.enabled ? s : removeColor(s)), debug: (s) => (colors.enabled ? s : removeColor(s)), warn: (s) => (colors.enabled ? colors.bold.yellow(s) : removeColor(s)), diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 5e0d5aaeb8b3..e39861aaaab9 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -13,6 +13,7 @@ import * as path from 'path'; import { SemVer } from 'semver'; import { colors } from '../src/utilities/color'; import { isWarningEnabled } from '../src/utilities/config'; +import { disableVersionCheck } from '../src/utilities/environment-options'; import { VERSION } from '../src/utilities/version'; (async () => { @@ -24,16 +25,10 @@ import { VERSION } from '../src/utilities/version'; */ process.env.BROWSERSLIST_IGNORE_OLD_DATA = '1'; - const disableVersionCheckEnv = process.env['NG_DISABLE_VERSION_CHECK']; /** * Disable CLI version mismatch checks and forces usage of the invoked CLI * instead of invoking the local installed version. */ - const disableVersionCheck = - disableVersionCheckEnv !== undefined && - disableVersionCheckEnv !== '0' && - disableVersionCheckEnv.toLowerCase() !== 'false'; - if (disableVersionCheck) { return (await import('./cli')).default; } diff --git a/packages/angular/cli/src/analytics/analytics-environment-options.ts b/packages/angular/cli/src/analytics/analytics-environment-options.ts deleted file mode 100644 index e9e2ae797eb6..000000000000 --- a/packages/angular/cli/src/analytics/analytics-environment-options.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -function isDisabled(variable: string): boolean { - return variable === '0' || variable.toLowerCase() === 'false'; -} - -function isPresent(variable: string | undefined): variable is string { - return typeof variable === 'string' && variable !== ''; -} - -const analyticsVariable = process.env['NG_CLI_ANALYTICS']; -export const analyticsDisabled = isPresent(analyticsVariable) && isDisabled(analyticsVariable); - -const analyticsShareVariable = process.env['NG_CLI_ANALYTICS_SHARE']; -export const analyticsShareDisabled = - isPresent(analyticsShareVariable) && isDisabled(analyticsShareVariable); diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 1227d7ef5ce5..2c8a2e64969e 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -12,10 +12,10 @@ import * as inquirer from 'inquirer'; import { v4 as uuidV4 } from 'uuid'; import { colors } from '../utilities/color'; import { getWorkspace, getWorkspaceRaw } from '../utilities/config'; +import { analyticsDisabled, analyticsShareDisabled } from '../utilities/environment-options'; import { isTTY } from '../utilities/tty'; import { VERSION } from '../utilities/version'; import { AnalyticsCollector } from './analytics-collector'; -import { analyticsDisabled, analyticsShareDisabled } from './analytics-environment-options'; /* eslint-disable no-console */ const analyticsDebug = debug('ng:analytics'); // Generate analytics, including settings and users. diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 59ede025d673..53596e755aa3 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -26,6 +26,7 @@ import { import { SchematicEngineHost } from '../../command-builder/utilities/schematic-engine-host'; import { subscribeToWorkflow } from '../../command-builder/utilities/schematic-workflow'; import { colors } from '../../utilities/color'; +import { disableVersionCheck } from '../../utilities/environment-options'; import { installAllPackages, runTempPackageBin } from '../../utilities/install-package'; import { writeErrorToLogFile } from '../../utilities/log-file'; import { ensureCompatibleNpm } from '../../utilities/package-manager'; @@ -56,16 +57,6 @@ interface UpdateCommandArgs { 'create-commits': boolean; } -/** - * Disable CLI version mismatch checks and forces usage of the invoked CLI - * instead of invoking the local installed version. - */ -const disableVersionCheckEnv = process.env['NG_DISABLE_VERSION_CHECK']; -const disableVersionCheck = - disableVersionCheckEnv !== undefined && - disableVersionCheckEnv !== '0' && - disableVersionCheckEnv.toLowerCase() !== 'false'; - const ANGULAR_PACKAGES_REGEXP = /^@(?:angular|nguniversal)\//; const UPDATE_SCHEMATIC_COLLECTION = path.join(__dirname, 'schematic/collection.json'); diff --git a/packages/angular/cli/src/utilities/environment-options.ts b/packages/angular/cli/src/utilities/environment-options.ts new file mode 100644 index 000000000000..1552fe3dbb4a --- /dev/null +++ b/packages/angular/cli/src/utilities/environment-options.ts @@ -0,0 +1,25 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +function isPresent(variable: string | undefined): variable is string { + return typeof variable === 'string' && variable !== ''; +} + +function isDisabled(variable: string | undefined): boolean { + return isPresent(variable) && (variable === '0' || variable.toLowerCase() === 'false'); +} + +function isEnabled(variable: string | undefined): boolean { + return isPresent(variable) && (variable === '1' || variable.toLowerCase() === 'true'); +} + +export const analyticsDisabled = isDisabled(process.env['NG_CLI_ANALYTICS']); +export const analyticsShareDisabled = isDisabled(process.env['NG_CLI_ANALYTICS_SHARE']); +export const isCI = isEnabled(process.env['CI']); +export const disableVersionCheck = isEnabled(process.env['NG_DISABLE_VERSION_CHECK']); +export const ngDebug = isEnabled(process.env['NG_DEBUG']); From e5bf35ea3061a3e532aa85df44551107e62e24c5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 18 Mar 2022 20:00:46 +0100 Subject: [PATCH 0202/1388] feat(@angular/cli): add `ng cache` command With this change we create a new command `ng cache` that can be used control and check the disk cache settings. This command has 4 subcommands - `ng cache enable` which can be used to enable the cache. - `ng cache disable` which can be used to disable the cache. - `ng cache clean` which can be used to delete the cache from disk. - `ng cache info` which will print statistics and information about the cache. --- .../cli/src/command-builder/command-runner.ts | 2 + .../cli/src/commands/cache/clean/cli.ts | 37 +++++++ .../angular/cli/src/commands/cache/cli.ts | 47 +++++++++ .../cli/src/commands/cache/info/cli.ts | 99 +++++++++++++++++++ .../src/commands/cache/long-description.md | 53 ++++++++++ .../cli/src/commands/cache/settings/cli.ts | 47 +++++++++ .../cli/src/commands/cache/utilities.ts | 57 +++++++++++ .../e2e/tests/commands/cache/cache-clean.ts | 11 +++ .../commands/cache/cache-enable-disable.ts | 14 +++ .../e2e/tests/commands/cache/cache-info.ts | 81 +++++++++++++++ 10 files changed, 448 insertions(+) create mode 100644 packages/angular/cli/src/commands/cache/clean/cli.ts create mode 100644 packages/angular/cli/src/commands/cache/cli.ts create mode 100644 packages/angular/cli/src/commands/cache/info/cli.ts create mode 100644 packages/angular/cli/src/commands/cache/long-description.md create mode 100644 packages/angular/cli/src/commands/cache/settings/cli.ts create mode 100644 packages/angular/cli/src/commands/cache/utilities.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/cache/cache-clean.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/cache/cache-enable-disable.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/cache/cache-info.ts diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 80693ba68efb..65da7de29bac 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -12,6 +12,7 @@ import { Parser } from 'yargs/helpers'; import { AddCommandModule } from '../commands/add/cli'; import { AnalyticsCommandModule } from '../commands/analytics/cli'; import { BuildCommandModule } from '../commands/build/cli'; +import { CacheCommandModule } from '../commands/cache/cli'; import { ConfigCommandModule } from '../commands/config/cli'; import { DeployCommandModule } from '../commands/deploy/cli'; import { DocCommandModule } from '../commands/doc/cli'; @@ -51,6 +52,7 @@ const COMMANDS = [ NewCommandModule, UpdateCommandModule, RunCommandModule, + CacheCommandModule, ].sort(); // Will be sorted by class name. const yargsParser = Parser as unknown as typeof Parser.default; diff --git a/packages/angular/cli/src/commands/cache/clean/cli.ts b/packages/angular/cli/src/commands/cache/clean/cli.ts new file mode 100644 index 000000000000..d2d514f3852b --- /dev/null +++ b/packages/angular/cli/src/commands/cache/clean/cli.ts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { promises as fs } from 'fs'; +import { Argv } from 'yargs'; +import { + CommandModule, + CommandModuleImplementation, + CommandScope, +} from '../../../command-builder/command-module'; +import { getCacheConfig } from '../utilities'; + +export class CacheCleanModule extends CommandModule implements CommandModuleImplementation { + command = 'clean'; + describe = 'Deletes persistent disk cache from disk.'; + longDescriptionPath: string | undefined; + static override scope: CommandScope.In; + + builder(localYargs: Argv): Argv { + return localYargs.strict(); + } + + run(): Promise { + const { path } = getCacheConfig(this.context.workspace); + + return fs.rm(path, { + force: true, + recursive: true, + maxRetries: 3, + }); + } +} diff --git a/packages/angular/cli/src/commands/cache/cli.ts b/packages/angular/cli/src/commands/cache/cli.ts new file mode 100644 index 000000000000..4f4d38d0ff16 --- /dev/null +++ b/packages/angular/cli/src/commands/cache/cli.ts @@ -0,0 +1,47 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { Argv } from 'yargs'; +import { + CommandModule, + CommandModuleImplementation, + CommandScope, + Options, +} from '../../command-builder/command-module'; +import { + addCommandModuleToYargs, + demandCommandFailureMessage, +} from '../../command-builder/utilities/command'; +import { CacheCleanModule } from './clean/cli'; +import { CacheInfoCommandModule } from './info/cli'; +import { CacheDisableModule, CacheEnableModule } from './settings/cli'; + +export class CacheCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'cache'; + describe = 'Configure persistent disk cache and retrieve cache statistics.'; + longDescriptionPath = join(__dirname, 'long-description.md'); + static override scope: CommandScope.In; + + builder(localYargs: Argv): Argv { + const subcommands = [ + CacheEnableModule, + CacheDisableModule, + CacheCleanModule, + CacheInfoCommandModule, + ].sort(); + + for (const module of subcommands) { + localYargs = addCommandModuleToYargs(localYargs, module, this.context); + } + + return localYargs.demandCommand(1, demandCommandFailureMessage).strict(); + } + + run(_options: Options<{}>): void {} +} diff --git a/packages/angular/cli/src/commands/cache/info/cli.ts b/packages/angular/cli/src/commands/cache/info/cli.ts new file mode 100644 index 000000000000..a5228cbd5468 --- /dev/null +++ b/packages/angular/cli/src/commands/cache/info/cli.ts @@ -0,0 +1,99 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { tags } from '@angular-devkit/core'; +import { promises as fs } from 'fs'; +import { join } from 'path'; +import { Argv } from 'yargs'; +import { + CommandModule, + CommandModuleImplementation, + CommandScope, +} from '../../../command-builder/command-module'; +import { isCI } from '../../../utilities/environment-options'; +import { getCacheConfig } from '../utilities'; + +export class CacheInfoCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'info'; + describe = 'Prints persistent disk cache configuration and statistics in the console.'; + longDescriptionPath?: string | undefined; + static override scope: CommandScope.In; + + builder(localYargs: Argv): Argv { + return localYargs.strict(); + } + + async run(): Promise { + const { path, environment, enabled } = getCacheConfig(this.context.workspace); + + this.context.logger.info(tags.stripIndents` + Enabled: ${enabled ? 'yes' : 'no'} + Environment: ${environment} + Path: ${path} + Size on disk: ${await this.getSizeOfDirectory(path)} + Effective status on current machine: ${this.effectiveEnabledStatus() ? 'enabled' : 'disabled'} + `); + } + + private async getSizeOfDirectory(path: string): Promise { + const directoriesStack = [path]; + let size = 0; + + while (directoriesStack.length) { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const dirPath = directoriesStack.pop()!; + let entries: string[] = []; + + try { + entries = await fs.readdir(dirPath); + } catch {} + + for (const entry of entries) { + const entryPath = join(dirPath, entry); + const stats = await fs.stat(entryPath); + + if (stats.isDirectory()) { + directoriesStack.push(entryPath); + } + + size += stats.size; + } + } + + return this.formatSize(size); + } + + private formatSize(size: number): string { + if (size <= 0) { + return '0 bytes'; + } + + const abbreviations = ['bytes', 'kB', 'MB', 'GB']; + const index = Math.floor(Math.log(size) / Math.log(1024)); + const roundedSize = size / Math.pow(1024, index); + // bytes don't have a fraction + const fractionDigits = index === 0 ? 0 : 2; + + return `${roundedSize.toFixed(fractionDigits)} ${abbreviations[index]}`; + } + + private effectiveEnabledStatus(): boolean { + const { enabled, environment } = getCacheConfig(this.context.workspace); + + if (enabled) { + switch (environment) { + case 'ci': + return isCI; + case 'local': + return !isCI; + } + } + + return enabled; + } +} diff --git a/packages/angular/cli/src/commands/cache/long-description.md b/packages/angular/cli/src/commands/cache/long-description.md new file mode 100644 index 000000000000..8e52883f4c2a --- /dev/null +++ b/packages/angular/cli/src/commands/cache/long-description.md @@ -0,0 +1,53 @@ +Angular CLI saves a number of cachable operations on disk by default. + +When you re-run the same build, the build system restores the state of the previous build and re-uses previously performed operations, which decreases the time taken to build and test your applications and libraries. + +To amend the default cache settings, add the `cli.cache` object to your [Workspace Configuration](guide/workspace-config). +The object goes under `cli.cache` at the top level of the file, outside the `projects` sections. + +```jsonc +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "cache": { + // ... + } + }, + "projects": {} +} +``` + +For more information, see [cache options](guide/workspace-config#cache-options). + +### Cache environments + +By default, disk cache is only enabled for local environments. The value of environment can be one of the following: + +- `all` - allows disk cache on all machines. +- `local` - allows disk cache only on development machines. +- `ci` - allows disk cache only on continuous integration (Ci) systems. + +To change the environment setting to `all`, run the following command: + +```bash +ng config cli.cache.environment all +``` + +For more information, see `environment` in [cache options](guide/workspace-config#cache-options). + +
+ +The Angular CLI checks for the presence and value of the `CI` environment variable to determine in which environment it is running. + +
+ +### Cache path + +By default, `.angular/cache` is used as a base directory to store cache results. + +To change this path to `.cache/ng`, run the following command: + +```bash +ng config cli.cache.path ".cache/ng" +``` diff --git a/packages/angular/cli/src/commands/cache/settings/cli.ts b/packages/angular/cli/src/commands/cache/settings/cli.ts new file mode 100644 index 000000000000..673490bfaf69 --- /dev/null +++ b/packages/angular/cli/src/commands/cache/settings/cli.ts @@ -0,0 +1,47 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Argv } from 'yargs'; +import { + CommandModule, + CommandModuleImplementation, + CommandScope, +} from '../../../command-builder/command-module'; +import { updateCacheConfig } from '../utilities'; + +export class CacheDisableModule extends CommandModule implements CommandModuleImplementation { + command = 'disable'; + aliases = 'off'; + describe = 'Disables persistent disk cache for all projects in the workspace.'; + longDescriptionPath: string | undefined; + static override scope: CommandScope.In; + + builder(localYargs: Argv): Argv { + return localYargs; + } + + run(): void { + updateCacheConfig('enabled', false); + } +} + +export class CacheEnableModule extends CommandModule implements CommandModuleImplementation { + command = 'enable'; + aliases = 'on'; + describe = 'Enables disk cache for all projects in the workspace.'; + longDescriptionPath: string | undefined; + static override scope: CommandScope.In; + + builder(localYargs: Argv): Argv { + return localYargs; + } + + run(): void { + updateCacheConfig('enabled', true); + } +} diff --git a/packages/angular/cli/src/commands/cache/utilities.ts b/packages/angular/cli/src/commands/cache/utilities.ts new file mode 100644 index 000000000000..f738a4c58d9a --- /dev/null +++ b/packages/angular/cli/src/commands/cache/utilities.ts @@ -0,0 +1,57 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { isJsonObject } from '@angular-devkit/core'; +import { resolve } from 'path'; +import { Cache, Environment } from '../../../lib/config/workspace-schema'; +import { AngularWorkspace, getWorkspaceRaw } from '../../utilities/config'; + +export function updateCacheConfig(key: K, value: Cache[K]): void { + const [localWorkspace] = getWorkspaceRaw('local'); + if (!localWorkspace) { + throw new Error('Cannot find workspace configuration file.'); + } + + localWorkspace.modify(['cli', 'cache', key], value); + localWorkspace.save(); +} + +export function getCacheConfig(workspace: AngularWorkspace | undefined): Required { + if (!workspace) { + throw new Error(`Cannot retrieve cache configuration as workspace is not defined.`); + } + + const defaultSettings: Required = { + path: resolve(workspace.basePath, '.angular/cache'), + environment: Environment.Local, + enabled: true, + }; + + const cliSetting = workspace.extensions['cli']; + if (!cliSetting || !isJsonObject(cliSetting)) { + return defaultSettings; + } + + const cacheSettings = cliSetting['cache']; + if (!isJsonObject(cacheSettings)) { + return defaultSettings; + } + + const { + path = defaultSettings.path, + environment = defaultSettings.environment, + enabled = defaultSettings.enabled, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } = cacheSettings as Record; + + return { + path: resolve(workspace.basePath, path), + environment, + enabled, + }; +} diff --git a/tests/legacy-cli/e2e/tests/commands/cache/cache-clean.ts b/tests/legacy-cli/e2e/tests/commands/cache/cache-clean.ts new file mode 100644 index 000000000000..004c5a069dfc --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/cache/cache-clean.ts @@ -0,0 +1,11 @@ +import { createDir, expectFileNotToExist, expectFileToExist } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; + +export default async function () { + const cachePath = '.angular/cache'; + await createDir(cachePath); + await expectFileToExist(cachePath); + + await ng('cache', 'clean'); + await expectFileNotToExist(cachePath); +} diff --git a/tests/legacy-cli/e2e/tests/commands/cache/cache-enable-disable.ts b/tests/legacy-cli/e2e/tests/commands/cache/cache-enable-disable.ts new file mode 100644 index 000000000000..bb81dd2d80b9 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/cache/cache-enable-disable.ts @@ -0,0 +1,14 @@ +import { readFile } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; + +export default async function () { + await ng('cache', 'enable'); + if (JSON.parse(await readFile('angular.json')).cli.cache.enabled !== true) { + throw new Error(`Expected 'cli.cache.enable' to be true.`); + } + + await ng('cache', 'disable'); + if (JSON.parse(await readFile('angular.json')).cli.cache.enabled !== false) { + throw new Error(`Expected 'cli.cache.enable' to be false.`); + } +} diff --git a/tests/legacy-cli/e2e/tests/commands/cache/cache-info.ts b/tests/legacy-cli/e2e/tests/commands/cache/cache-info.ts new file mode 100644 index 000000000000..46ae15aef796 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/cache/cache-info.ts @@ -0,0 +1,81 @@ +import { execAndWaitForOutputToMatch } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; + +export default async function () { + const originalCIValue = process.env['CI']; + + try { + // Should be enabled by default for local builds. + await configureTest('0' /** envCI */); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: enabled/, + ); + + // Should be disabled by default for CI builds. + await configureTest('1' /** envCI */, { enabled: true }); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: disabled/, + ); + + // Should be enabled by when environment is local and env is not CI. + await configureTest('0' /** envCI */, { environment: 'local' }); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: enabled/, + ); + + // Should be disabled by when environment is local and env is CI. + await configureTest('1' /** envCI */, { environment: 'local' }); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: disabled/, + ); + + // Effective status should be enabled when 'environment' is set to 'all' or 'ci'. + await configureTest('1' /** envCI */, { environment: 'all' }); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: enabled/, + ); + + // Effective status should be enabled when 'environment' is set to 'ci' and run is in ci + await configureTest('1' /** envCI */, { environment: 'ci' }); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: enabled/, + ); + + // Effective status should be disabled when 'enabled' is set to false + await configureTest('1' /** envCI */, { environment: 'all', enabled: false }); + await execAndWaitForOutputToMatch( + 'ng', + ['cache', 'info'], + /Effective status on current machine: disabled/, + ); + } finally { + process.env['CI'] = originalCIValue; + } +} + +async function configureTest( + envCI: '1' | '0', + cacheOptions?: { + environment?: 'ci' | 'local' | 'all'; + enabled?: boolean; + }, +): Promise { + process.env['CI'] = envCI; + + await updateJsonFile('angular.json', (config) => { + config.cli ??= {}; + config.cli.cache = cacheOptions; + }); +} From 09a71bab6044e517319f061dbd4555ce57fe6485 Mon Sep 17 00:00:00 2001 From: Adrien Crivelli Date: Fri, 18 Mar 2022 09:10:59 +0100 Subject: [PATCH 0203/1388] fix(@schematics/angular): Consolidated setup with a single `beforeEach()` Since f463c8403547 we use native `async`/`await` and thus we do not need to split setup in two `beforeEach()` --- .../__name@dasherize__.__type@dasherize__.spec.ts.template | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template index 66f886292908..a769e2f7348a 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template @@ -11,9 +11,7 @@ describe('<%= classify(name) %><%= classify(type) %>', () => { declarations: [ <%= classify(name) %><%= classify(type) %> ] }) .compileComponents(); - }); - beforeEach(() => { fixture = TestBed.createComponent(<%= classify(name) %><%= classify(type) %>); component = fixture.componentInstance; fixture.detectChanges(); From 137651645ca5e7f08cbcdc0d2c080e3518d6c908 Mon Sep 17 00:00:00 2001 From: Tobias Speicher Date: Sun, 20 Mar 2022 10:23:49 +0100 Subject: [PATCH 0204/1388] refactor: replace deprecated String.prototype.substr() .substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated Signed-off-by: Tobias Speicher --- lib/bootstrap-local.js | 2 +- lib/packages.ts | 2 +- .../build_angular/src/utils/process-bundle.ts | 2 +- .../build_angular/src/webpack/configs/dev-server.ts | 2 +- .../build_angular/src/webpack/configs/styles.ts | 2 +- .../src/webpack/plugins/postcss-cli-resources.ts | 4 ++-- packages/angular_devkit/core/src/json/parser.ts | 6 +++--- packages/angular_devkit/core/src/utils/strings.ts | 2 +- packages/angular_devkit/core/src/virtual-fs/path.ts | 8 ++++---- .../angular_devkit/core/src/workspace/json/utilities.ts | 2 +- packages/angular_devkit/schematics/src/rules/move.ts | 2 +- .../schematics/tools/file-system-engine-host-base.ts | 4 ++-- packages/angular_devkit/schematics_cli/bin/schematics.ts | 4 ++-- packages/schematics/angular/application/index.ts | 2 +- packages/schematics/angular/library/index.ts | 2 +- packages/schematics/angular/ng-new/index.ts | 2 +- scripts/build.ts | 2 +- 17 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/bootstrap-local.js b/lib/bootstrap-local.js index 1c9bf9f36b99..82de25aed44b 100644 --- a/lib/bootstrap-local.js +++ b/lib/bootstrap-local.js @@ -109,7 +109,7 @@ if (!__dirname.match(new RegExp(`\\${path.sep}node_modules\\${path.sep}`))) { } else { const match = Object.keys(packages).find((pkgName) => request.startsWith(pkgName + '/')); if (match) { - const p = path.join(packages[match].root, request.substr(match.length)); + const p = path.join(packages[match].root, request.slice(match.length)); return oldResolve.call(this, p, parent); } else if (!resolved) { if (exception) { diff --git a/lib/packages.ts b/lib/packages.ts index 5abb7063f75d..37012d70537d 100644 --- a/lib/packages.ts +++ b/lib/packages.ts @@ -211,7 +211,7 @@ export const packages: PackageMap = packageJsonPaths const experimental = !!packageJson.private || !!packageJson.experimental; packages[name] = { - build: path.join(distRoot, pkgRoot.substr(path.dirname(__dirname).length)), + build: path.join(distRoot, pkgRoot.slice(path.dirname(__dirname).length)), dist: path.join(distRoot, name), root: pkgRoot, relative: path.relative(path.dirname(__dirname), pkgRoot), diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 071ad73e80ba..8887592620e2 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -156,7 +156,7 @@ export async function inlineLocales(options: InlineOptions) { // Same errors will contain the full content of the file as the error message // Which makes it hard to find the actual error message. const index = error.message.indexOf(')\n'); - const msg = index !== -1 ? error.message.substr(0, index + 1) : error.message; + const msg = index !== -1 ? error.message.slice(0, index + 1) : error.message; throw new Error(`${msg}\nAn error occurred inlining file "${options.filename}"`); } } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index ae6340283580..698d9ccffdc7 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -111,7 +111,7 @@ export function buildServePath( } if (servePath.endsWith('/')) { - servePath = servePath.substr(0, servePath.length - 1); + servePath = servePath.slice(0, -1); } if (!servePath.startsWith('/')) { diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 932c924e2a7f..5fbcd2cc7243 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -169,7 +169,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { : undefined, plugins: [ postcssImports({ - resolve: (url: string) => (url.startsWith('~') ? url.substr(1) : url), + resolve: (url: string) => (url.startsWith('~') ? url.slice(1) : url), load: (filename: string) => { return new Promise((resolve, reject) => { loader.fs.readFile(filename, (err: Error, data: Buffer) => { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index 40fdf185aada..c8636df77474 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -77,7 +77,7 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { // If starts with a caret, remove and return remainder // this supports bypassing asset processing if (inputUrl.startsWith('^')) { - return inputUrl.substr(1); + return inputUrl.slice(1); } const cacheKey = path.resolve(context, inputUrl); @@ -87,7 +87,7 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { } if (inputUrl.startsWith('~')) { - inputUrl = inputUrl.substr(1); + inputUrl = inputUrl.slice(1); } const { pathname, hash, search } = url.parse(inputUrl.replace(/\\/g, '/')); diff --git a/packages/angular_devkit/core/src/json/parser.ts b/packages/angular_devkit/core/src/json/parser.ts index a53b1c0341e1..36d076c45a97 100644 --- a/packages/angular_devkit/core/src/json/parser.ts +++ b/packages/angular_devkit/core/src/json/parser.ts @@ -587,7 +587,7 @@ function _readIdentifier( kind: 'identifier', start, end: context.position, - text: context.original.substr(start.offset, context.position.offset), + text: context.original.slice(start.offset, start.offset + context.position.offset), value, comments, }; @@ -894,8 +894,8 @@ export function parseJsonAst(input: string, mode = JsonParseMode.Default): JsonA const ast = _readValue(context); if (context.position.offset < input.length) { - const rest = input.substr(context.position.offset); - const i = rest.length > 20 ? rest.substr(0, 20) + '...' : rest; + const rest = input.slice(context.position.offset); + const i = rest.length > 20 ? rest.slice(0, 20) + '...' : rest; throw new Error( `Expected end of file, got "${i}" at ` + `${context.position.line}:${context.position.character}.`, diff --git a/packages/angular_devkit/core/src/utils/strings.ts b/packages/angular_devkit/core/src/utils/strings.ts index a3dd5195ab83..ead3a181cd3c 100644 --- a/packages/angular_devkit/core/src/utils/strings.ts +++ b/packages/angular_devkit/core/src/utils/strings.ts @@ -129,7 +129,7 @@ export function underscore(str: string): string { @return {String} The capitalized string. */ export function capitalize(str: string): string { - return str.charAt(0).toUpperCase() + str.substr(1); + return str.charAt(0).toUpperCase() + str.slice(1); } /** diff --git a/packages/angular_devkit/core/src/virtual-fs/path.ts b/packages/angular_devkit/core/src/virtual-fs/path.ts index 5c5c0c0eedd2..563b8f5cbf0c 100644 --- a/packages/angular_devkit/core/src/virtual-fs/path.ts +++ b/packages/angular_devkit/core/src/virtual-fs/path.ts @@ -75,7 +75,7 @@ export function extname(path: Path): string { if (i < 1) { return ''; } else { - return base.substr(i); + return base.slice(i); } } @@ -87,7 +87,7 @@ export function basename(path: Path): PathFragment { if (i == -1) { return fragment(path); } else { - return fragment(path.substr(path.lastIndexOf(NormalizedSep) + 1)); + return fragment(path.slice(path.lastIndexOf(NormalizedSep) + 1)); } } @@ -102,7 +102,7 @@ export function dirname(path: Path): Path { const endIndex = index === 0 ? 1 : index; // case of file under root: '/file' - return normalize(path.substr(0, endIndex)); + return normalize(path.slice(0, endIndex)); } /** @@ -233,7 +233,7 @@ export function noCacheNormalize(path: string): Path { // Match absolute windows path. const original = path; if (path.match(/^[A-Z]:[/\\]/i)) { - path = '\\' + path[0] + '\\' + path.substr(3); + path = '\\' + path[0] + '\\' + path.slice(3); } // We convert Windows paths as well here. diff --git a/packages/angular_devkit/core/src/workspace/json/utilities.ts b/packages/angular_devkit/core/src/workspace/json/utilities.ts index 59de10b91317..4e09f7560250 100644 --- a/packages/angular_devkit/core/src/workspace/json/utilities.ts +++ b/packages/angular_devkit/core/src/workspace/json/utilities.ts @@ -287,7 +287,7 @@ function create( } for (const key of cache.keys()) { - const relativeKey = key.substr(path.length + 1); + const relativeKey = key.slice(path.length + 1); if (relativeKey.length > 0 && !relativeKey.includes('/')) { keys.push(`${unescapeKey(relativeKey)}`); } diff --git a/packages/angular_devkit/schematics/src/rules/move.ts b/packages/angular_devkit/schematics/src/rules/move.ts index 5d115f4e06d8..e753926ad8b3 100644 --- a/packages/angular_devkit/schematics/src/rules/move.ts +++ b/packages/angular_devkit/schematics/src/rules/move.ts @@ -30,7 +30,7 @@ export function move(from: string, to?: string): Rule { } else { // fromPath is a directory tree.getDir(fromPath).visit((path) => { - tree.rename(path, join(toPath, path.substr(fromPath.length))); + tree.rename(path, join(toPath, path.slice(fromPath.length))); }); } diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts index 6670cdb8fbb5..537ad02776db 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts @@ -217,9 +217,9 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost { if (partialDesc.extends) { const index = partialDesc.extends.indexOf(':'); - const collectionName = index !== -1 ? partialDesc.extends.substr(0, index) : null; + const collectionName = index !== -1 ? partialDesc.extends.slice(0, index) : null; const schematicName = - index === -1 ? partialDesc.extends : partialDesc.extends.substr(index + 1); + index === -1 ? partialDesc.extends : partialDesc.extends.slice(index + 1); if (collectionName !== null) { const extendCollection = this.createCollectionDescription(collectionName); diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 360b20589e9a..5db6290d64e1 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -197,7 +197,7 @@ export async function main({ workflow.reporter.subscribe((event) => { nothingDone = false; // Strip leading slash to prevent confusion. - const eventPath = event.path.startsWith('/') ? event.path.substr(1) : event.path; + const eventPath = event.path.startsWith('/') ? event.path.slice(1) : event.path; switch (event.kind) { case 'error': @@ -216,7 +216,7 @@ export async function main({ loggingQueue.push(`${colors.yellow('DELETE')} ${eventPath}`); break; case 'rename': - const eventToPath = event.to.startsWith('/') ? event.to.substr(1) : event.to; + const eventToPath = event.to.startsWith('/') ? event.to.slice(1) : event.to; loggingQueue.push(`${colors.blue('RENAME')} ${eventPath} => ${eventToPath}`); break; } diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index b78dab4d8b3d..c0e138d8fc23 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -271,7 +271,7 @@ export default function (options: ApplicationOptions): Rule { const isRootApp = options.projectRoot !== undefined; // If scoped project (i.e. "@foo/bar"), convert dir to "foo/bar". - let folderName = options.name.startsWith('@') ? options.name.substr(1) : options.name; + let folderName = options.name.startsWith('@') ? options.name.slice(1) : options.name; if (/[A-Z]/.test(folderName)) { folderName = strings.dasherize(folderName); } diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 6ba800c09cca..5196611f50c8 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -135,7 +135,7 @@ export default function (options: LibraryOptions): Rule { const workspace = await getWorkspace(host); const newProjectRoot = (workspace.extensions.newProjectRoot as string | undefined) || ''; - let folderName = packageName.startsWith('@') ? packageName.substr(1) : packageName; + let folderName = packageName.startsWith('@') ? packageName.slice(1) : packageName; if (/[A-Z]/.test(folderName)) { folderName = strings.dasherize(folderName); } diff --git a/packages/schematics/angular/ng-new/index.ts b/packages/schematics/angular/ng-new/index.ts index 5326a140fcde..55ee3174a72b 100644 --- a/packages/schematics/angular/ng-new/index.ts +++ b/packages/schematics/angular/ng-new/index.ts @@ -30,7 +30,7 @@ import { Schema as NgNewOptions } from './schema'; export default function (options: NgNewOptions): Rule { if (!options.directory) { // If scoped project (i.e. "@foo/bar"), convert directory to "foo/bar". - options.directory = options.name.startsWith('@') ? options.name.substr(1) : options.name; + options.directory = options.name.startsWith('@') ? options.name.slice(1) : options.name; } const workspaceOptions: WorkspaceOptions = { diff --git a/scripts/build.ts b/scripts/build.ts index 8d7a263ba577..2077ded690a7 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -24,7 +24,7 @@ const gitIgnore = gitIgnoreFiles .filter((line) => !line.match(/^\s*$/)); const gitIgnoreExcept = gitIgnoreFiles .filter((line) => line.startsWith('!')) - .map((line) => line.substr(1)); + .map((line) => line.slice(1)); function _gitIgnoreMatch(p: string): boolean { p = path.relative(path.dirname(__dirname), p); From 4cbfb8776669c44bf5e0a74369f5e976e22d4e38 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Mar 2022 11:39:48 +0100 Subject: [PATCH 0205/1388] refactor(@schematics/angular): remove usage of deprecated `defaultProject` This option is deprecated in Angular CLI and will be removed in a future major version. --- packages/schematics/angular/application/index.ts | 4 ---- packages/schematics/angular/application/index_spec.ts | 1 - packages/schematics/angular/library/index.ts | 4 ---- packages/schematics/angular/library/index_spec.ts | 1 - 4 files changed, 10 deletions(-) diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index c0e138d8fc23..7fb420f7f739 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -231,10 +231,6 @@ function addAppToWorkspaceFile( }; return updateWorkspace((workspace) => { - if (workspace.projects.size === 0) { - workspace.extensions.defaultProject = options.name; - } - workspace.projects.add({ name: options.name, ...project, diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 3c9e090c80ff..458f106d1d8f 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -80,7 +80,6 @@ describe('Application Schematic', () => { .toPromise(); const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo).toBeDefined(); - expect(workspace.defaultProject).toBe('foo'); }); it('should set the prefix to app if none is set', async () => { diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 5196611f50c8..aafb2853e16d 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -82,10 +82,6 @@ function addLibToWorkspaceFile( projectName: string, ): Rule { return updateWorkspace((workspace) => { - if (workspace.projects.size === 0) { - workspace.extensions.defaultProject = projectName; - } - workspace.projects.add({ name: projectName, root: projectRoot, diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 0ae0e9a55f30..9642e82731ef 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -131,7 +131,6 @@ describe('Library Schematic', () => { const workspace = getJsonFileContent(tree, '/angular.json'); expect(workspace.projects.foo).toBeDefined(); - expect(workspace.defaultProject).toBe('foo'); }); it('should set the prefix to lib if none is set', async () => { From e49220fba0d158be0971989e26eb199ec02fa113 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 18 Mar 2022 13:43:26 +0100 Subject: [PATCH 0206/1388] feat(@schematics/angular): add migratiom to remove `defaultProject` in workspace config This option is deprecated in Angular CLI and will be removed in a future major version. --- .../migrations/migration-collection.json | 5 ++ .../remove-default-project-option.ts | 17 +++++++ .../remove-default-project-option_spec.ts | 51 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 packages/schematics/angular/migrations/update-14/remove-default-project-option.ts create mode 100644 packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index e0ef67b80b39..747cfc8c74d8 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -14,6 +14,11 @@ "version": "14.0.0", "factory": "./update-14/remove-show-circular-dependencies-option", "description": "Remove 'showCircularDependencies' option from browser and server builders." + }, + "remove-default-project-option": { + "version": "14.0.0", + "factory": "./update-14/remove-default-project-option", + "description": "Remove 'defaultProject' option from workspace configuration. The project to use will be determined from the current working directory." } } } diff --git a/packages/schematics/angular/migrations/update-14/remove-default-project-option.ts b/packages/schematics/angular/migrations/update-14/remove-default-project-option.ts new file mode 100644 index 000000000000..2a7c04475e17 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/remove-default-project-option.ts @@ -0,0 +1,17 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule } from '@angular-devkit/schematics'; +import { updateWorkspace } from '../../utility/workspace'; + +/** Migration to remove 'defaultProject' option from angular.json. */ +export default function (): Rule { + return updateWorkspace((workspace) => { + delete workspace.extensions['defaultProject']; + }); +} diff --git a/packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts b/packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts new file mode 100644 index 000000000000..7b6eef0c4b30 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts @@ -0,0 +1,51 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { WorkspaceSchema } from '../../utility/workspace-models'; + +describe(`Migration to remove 'defaultProject' option.`, () => { + const schematicName = 'remove-default-project-option'; + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + }); + + it(`should remove 'defaultProject'`, async () => { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: {}, + defaultProject: 'foo', + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { defaultProject } = JSON.parse(newTree.readContent('/angular.json')); + + expect(defaultProject).toBeUndefined(); + }); + + it(`should not error when 'defaultProject' is not defined`, async () => { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: {}, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { defaultProject } = JSON.parse(newTree.readContent('/angular.json')); + + expect(defaultProject).toBeUndefined(); + }); +}); From 036327e9ca838f9ef3f117fbd18949d9d357e68d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 21 Mar 2022 18:53:58 +0100 Subject: [PATCH 0207/1388] feat(@angular/cli): deprecated `defaultProject` option With this change we deprecate the angular.json `defaultProject` option. DEPRECATED: The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. Closes #20661 --- packages/angular/cli/lib/config/workspace-schema.json | 3 ++- .../src/command-builder/architect-command-module.ts | 8 ++++---- .../src/command-builder/schematics-command-module.ts | 10 ++++++++++ .../angular/cli/src/commands/add/long-description.md | 5 +---- packages/angular/cli/src/utilities/config.ts | 10 ++++++++++ tests/legacy-cli/e2e/tests/misc/multiple-targets.ts | 4 ---- 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index 7edd9da60eb6..4154e858ba53 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -22,7 +22,8 @@ }, "defaultProject": { "type": "string", - "description": "Default project name used in commands." + "description": "Default project name used in commands.", + "x-deprecated": "The project to use will be determined from the current working directory." }, "projects": { "type": "object", diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index e51fe0cb6ff5..0678abf2a564 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -128,14 +128,14 @@ export abstract class ArchitectCommandModule // For multi target commands, we always list all projects that have the target. return allProjectsForTargetName; } else { + if (allProjectsForTargetName.length === 1) { + return allProjectsForTargetName; + } + const maybeProject = getProjectByCwd(workspace); if (maybeProject && allProjectsForTargetName.includes(maybeProject)) { return [maybeProject]; } - - if (allProjectsForTargetName.length === 1) { - return allProjectsForTargetName; - } } return undefined; diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 80b190dfa0fe..d72b5b265dad 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -333,6 +333,7 @@ export abstract class SchematicsCommandModule return 0; } + private defaultProjectDeprecationWarningShown = false; private getProjectName(): string | undefined { const { workspace, logger } = this.context; if (!workspace) { @@ -354,6 +355,15 @@ export abstract class SchematicsCommandModule const defaultProjectName = workspace.extensions['defaultProject']; if (typeof defaultProjectName === 'string' && defaultProjectName) { + if (!this.defaultProjectDeprecationWarningShown) { + logger.warn(tags.oneLine` + DEPRECATED: The 'defaultProject' workspace option has been deprecated. + The project to use will be determined from the current working directory. + `); + + this.defaultProjectDeprecationWarningShown = true; + } + return defaultProjectName; } } diff --git a/packages/angular/cli/src/commands/add/long-description.md b/packages/angular/cli/src/commands/add/long-description.md index 09cd2e239d76..347b3a5971aa 100644 --- a/packages/angular/cli/src/commands/add/long-description.md +++ b/packages/angular/cli/src/commands/add/long-description.md @@ -1,10 +1,7 @@ Adds the npm package for a published library to your workspace, and configures -the project in the current working directory (or the default project if you are -not in a project directory) to use that library, as specified by the library's schematic. +the project in the current working directory to use that library, as specified by the library's schematic. For example, adding `@angular/pwa` configures your project for PWA support: ```bash ng add @angular/pwa ``` - -The default project is the value of `defaultProject` in `angular.json`. diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index 345edbf80af7..d41a0e8c4df7 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -263,6 +263,7 @@ function findProjectByPath(workspace: AngularWorkspace, location: string): strin return projects[0][1]; } +let defaultProjectDeprecationWarningShown = false; export function getProjectByCwd(workspace: AngularWorkspace): string | null { if (workspace.projects.size === 1) { // If there is only one project, return that one. @@ -277,6 +278,15 @@ export function getProjectByCwd(workspace: AngularWorkspace): string | null { const defaultProject = workspace.extensions['defaultProject']; if (defaultProject && typeof defaultProject === 'string') { // If there is a default project name, return it. + if (!defaultProjectDeprecationWarningShown) { + console.warn( + `DEPRECATED: The 'defaultProject' workspace option has been deprecated. ` + + `The project to use will be determined from the current working directory.`, + ); + + defaultProjectDeprecationWarningShown = true; + } + return defaultProject; } diff --git a/tests/legacy-cli/e2e/tests/misc/multiple-targets.ts b/tests/legacy-cli/e2e/tests/misc/multiple-targets.ts index 5ac349343166..7ff7e32087e0 100644 --- a/tests/legacy-cli/e2e/tests/misc/multiple-targets.ts +++ b/tests/legacy-cli/e2e/tests/misc/multiple-targets.ts @@ -5,10 +5,6 @@ import { updateJsonFile } from '../../utils/project'; export default async function () { await ng('generate', 'app', 'secondary-app'); - await updateJsonFile('angular.json', workspaceJson => { - workspaceJson.defaultProject = undefined; - }); - await ng('build', 'secondary-app', '--configuration=development'); expectFileToExist('dist/secondary-app/index.html'); From e5a7bb17d8e2a3b1556a6102738d2c0a0eef3360 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 21 Mar 2022 17:12:27 +0000 Subject: [PATCH 0208/1388] build: update all non-major dependencies --- package.json | 12 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 239 ++++++++++++++---- 4 files changed, 193 insertions(+), 66 deletions(-) diff --git a/package.json b/package.json index cee9eceae78e..ae5f8b9482ed 100644 --- a/package.json +++ b/package.json @@ -78,21 +78,21 @@ "@angular/platform-server": "14.0.0-next.6", "@angular/router": "14.0.0-next.6", "@angular/service-worker": "14.0.0-next.6", - "@babel/core": "7.17.7", + "@babel/core": "7.17.8", "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.7", + "@babel/runtime": "7.17.8", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "4.2.5", "@bazel/jasmine": "4.6.1", "@bazel/typescript": "4.6.1", "@discoveryjs/json-ext": "0.5.7", - "@types/babel__core": "7.1.18", + "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", "@types/cacache": "^15.0.0", "@types/debug": "^4.1.2", @@ -117,7 +117,7 @@ "@types/uuid": "^8.0.0", "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", - "@typescript-eslint/eslint-plugin": "5.15.0", + "@typescript-eslint/eslint-plugin": "5.16.0", "@typescript-eslint/parser": "5.15.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.10.0", @@ -182,7 +182,7 @@ "postcss": "8.4.12", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.2", + "postcss-preset-env": "7.4.3", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "13.5.1", @@ -217,7 +217,7 @@ "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", - "yargs": "17.3.1", + "yargs": "17.4.0", "yargs-parser": "21.0.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 4a5df30c43cd..7e95e9399a90 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -44,7 +44,7 @@ "semver": "7.3.5", "symbol-observable": "4.0.0", "uuid": "8.3.2", - "yargs": "17.3.1" + "yargs": "17.4.0" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index a866f5bbb533..528135f92800 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.7", + "@babel/core": "7.17.8", "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.7", + "@babel/runtime": "7.17.8", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -49,7 +49,7 @@ "postcss": "8.4.12", "postcss-import": "14.0.2", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.2", + "postcss-preset-env": "7.4.3", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", diff --git a/yarn.lock b/yarn.lock index 4a85b5d711a2..8c02dd7f44b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -319,18 +319,18 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" - integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== +"@babel/core@7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.17.7" "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.7" - "@babel/parser" "^7.17.7" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" @@ -596,10 +596,10 @@ "@babel/traverse" "^7.17.0" "@babel/types" "^7.17.0" -"@babel/helpers@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127" - integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== +"@babel/helpers@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" + integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" @@ -619,10 +619,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== -"@babel/parser@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" - integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== +"@babel/parser@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" + integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" @@ -1226,10 +1226,10 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" - integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== +"@babel/runtime@7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" + integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== dependencies: regenerator-runtime "^0.13.4" @@ -1376,7 +1376,7 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@csstools/postcss-color-function@^1.0.2": +"@csstools/postcss-color-function@^1.0.2", "@csstools/postcss-color-function@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.3.tgz#251c961a852c99e9aabdbbdbefd50e9a96e8a9ff" integrity sha512-J26I69pT2B3MYiLY/uzCGKVJyMYVg9TCpXkWsRlt+Yfq+nELUEm72QXIMYXs4xA9cJA4Oqs2EylrfokKl3mJEQ== @@ -1406,7 +1406,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.0": +"@csstools/postcss-is-pseudo-class@^2.0.0", "@csstools/postcss-is-pseudo-class@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.1.tgz#472fff2cf434bdf832f7145b2a5491587e790c9e" integrity sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q== @@ -1420,7 +1420,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^1.0.1": +"@csstools/postcss-oklab-function@^1.0.1", "@csstools/postcss-oklab-function@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.2.tgz#87cd646e9450347a5721e405b4f7cc35157b7866" integrity sha512-QwhWesEkMlp4narAwUi6pgc6kcooh8cC7zfxa9LSQNYXqzcdNUtNBzbGc5nuyAVreb7uf5Ox4qH1vYT3GA1wOg== @@ -1428,7 +1428,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0": +"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== @@ -1812,10 +1812,10 @@ "@types/browserslist" "*" postcss "7.x.x" -"@types/babel__core@7.1.18": - version "7.1.18" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" - integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== +"@types/babel__core@7.1.19": + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -2308,14 +2308,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz#c28ef7f2e688066db0b6a9d95fb74185c114fb9a" - integrity sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA== +"@typescript-eslint/eslint-plugin@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz#78f246dd8d1b528fc5bfca99a8a64d4023a3d86d" + integrity sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw== dependencies: - "@typescript-eslint/scope-manager" "5.15.0" - "@typescript-eslint/type-utils" "5.15.0" - "@typescript-eslint/utils" "5.15.0" + "@typescript-eslint/scope-manager" "5.16.0" + "@typescript-eslint/type-utils" "5.16.0" + "@typescript-eslint/utils" "5.16.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2341,12 +2341,20 @@ "@typescript-eslint/types" "5.15.0" "@typescript-eslint/visitor-keys" "5.15.0" -"@typescript-eslint/type-utils@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz#d2c02eb2bdf54d0a645ba3a173ceda78346cf248" - integrity sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA== +"@typescript-eslint/scope-manager@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz#7e7909d64bd0c4d8aef629cdc764b9d3e1d3a69a" + integrity sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ== + dependencies: + "@typescript-eslint/types" "5.16.0" + "@typescript-eslint/visitor-keys" "5.16.0" + +"@typescript-eslint/type-utils@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz#b482bdde1d7d7c0c7080f7f2f67ea9580b9e0692" + integrity sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ== dependencies: - "@typescript-eslint/utils" "5.15.0" + "@typescript-eslint/utils" "5.16.0" debug "^4.3.2" tsutils "^3.21.0" @@ -2355,6 +2363,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.15.0.tgz#c7bdd103843b1abae97b5518219d3e2a0d79a501" integrity sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA== +"@typescript-eslint/types@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.16.0.tgz#5827b011982950ed350f075eaecb7f47d3c643ee" + integrity sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g== + "@typescript-eslint/typescript-estree@5.15.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz#81513a742a9c657587ad1ddbca88e76c6efb0aac" @@ -2368,15 +2381,28 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.15.0.tgz#468510a0974d3ced8342f37e6c662778c277f136" - integrity sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA== +"@typescript-eslint/typescript-estree@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz#32259459ec62f5feddca66adc695342f30101f61" + integrity sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ== + dependencies: + "@typescript-eslint/types" "5.16.0" + "@typescript-eslint/visitor-keys" "5.16.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.16.0.tgz#42218b459d6d66418a4eb199a382bdc261650679" + integrity sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.15.0" - "@typescript-eslint/types" "5.15.0" - "@typescript-eslint/typescript-estree" "5.15.0" + "@typescript-eslint/scope-manager" "5.16.0" + "@typescript-eslint/types" "5.16.0" + "@typescript-eslint/typescript-estree" "5.16.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -2388,6 +2414,14 @@ "@typescript-eslint/types" "5.15.0" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz#f27dc3b943e6317264c7492e390c6844cd4efbbb" + integrity sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g== + dependencies: + "@typescript-eslint/types" "5.16.0" + eslint-visitor-keys "^3.0.0" + "@verdaccio/commons-api@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.2.0.tgz#3b684c31749837b0574375bb2e10644ecea9fcca" @@ -2956,6 +2990,18 @@ autoprefixer@^10.4.2: picocolors "^1.0.0" postcss-value-parser "^4.2.0" +autoprefixer@^10.4.4: + version "10.4.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" + integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== + dependencies: + browserslist "^4.20.2" + caniuse-lite "^1.0.30001317" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3253,7 +3299,7 @@ browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1 node-releases "^2.0.2" picocolors "^1.0.0" -browserslist@^4.20.0: +browserslist@^4.20.0, browserslist@^4.20.2: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== @@ -3950,6 +3996,11 @@ cssdb@^6.3.1, cssdb@^6.4.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.1.tgz#a2b5955e3283d8df6b6bb86e4107fedaeec1521b" integrity sha512-R70R/Q1fPlM1D6Y+Kpat0QjiY+aMsY2/8lekdVoYcJ7ZQs9kw71W78FdOMf8DFq975KHQf1089PNg1dLsbAhoA== +cssdb@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" + integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -5414,7 +5465,7 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.1.2: +fraction.js@^4.1.2, fraction.js@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== @@ -8252,7 +8303,7 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" -postcss-clamp@^4.0.0: +postcss-clamp@^4.0.0, postcss-clamp@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== @@ -8292,6 +8343,13 @@ postcss-custom-properties@^12.1.4: dependencies: postcss-value-parser "^4.2.0" +postcss-custom-properties@^12.1.5: + version "12.1.5" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.5.tgz#e669cfff89b0ea6fc85c45864a32b450cb6b196f" + integrity sha512-FHbbB/hRo/7cxLGkc2NS7cDRIDN1oFqQnUKBiyh4b/gwk8DD8udvmRDpUhEK836kB8ggUCieHVOvZDnF9XhI3g== + dependencies: + postcss-value-parser "^4.2.0" + postcss-custom-selectors@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" @@ -8306,7 +8364,7 @@ postcss-dir-pseudo-class@^6.0.4: dependencies: postcss-selector-parser "^6.0.9" -postcss-double-position-gradients@^3.1.0: +postcss-double-position-gradients@^3.1.0, postcss-double-position-gradients@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz#a12cfdb7d11fa1a99ccecc747f0c19718fb37152" integrity sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ== @@ -8321,6 +8379,13 @@ postcss-env-function@^4.0.5: dependencies: postcss-value-parser "^4.2.0" +postcss-env-function@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" + integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== + dependencies: + postcss-value-parser "^4.2.0" + postcss-focus-visible@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" @@ -8366,7 +8431,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.1.1: +postcss-lab-function@^4.1.1, postcss-lab-function@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.2.tgz#b75afe43ba9c1f16bfe9bb12c8109cabd55b5fc2" integrity sha512-isudf5ldhg4fk16M8viAwAbg6Gv14lVO35N3Z/49NhbwPQ2xbiEoHgrRgpgQojosF4vF7jY653ktB6dDrUOR8Q== @@ -8421,7 +8486,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.2: +postcss-nesting@^10.1.2, postcss-nesting@^10.1.3: version "10.1.3" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.3.tgz#f0b1cd7ae675c697ab6a5a5ca1feea4784a2ef77" integrity sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw== @@ -8498,7 +8563,56 @@ postcss-preset-env@7.4.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.2, postcss-preset-env@^7.4.2: +postcss-preset-env@7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.3.tgz#fb1c8b4cb405da042da0ddb8c5eda7842c08a449" + integrity sha512-dlPA65g9KuGv7YsmGyCKtFkZKCPLkoVMUE3omOl6yM+qrynVHxFvf0tMuippIrXB/sB/MyhL1FgTIbrO+qMERg== + dependencies: + "@csstools/postcss-color-function" "^1.0.3" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.1" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.0.2" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + autoprefixer "^10.4.4" + browserslist "^4.20.2" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.5.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.5" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.1.2" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.3" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + +postcss-preset-env@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== @@ -11212,10 +11326,10 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.3.1, yargs@^17.0.0, yargs@^17.2.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== +yargs@17.4.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -11255,6 +11369,19 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0, yargs@^17.2.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 4e472b9c97be21f9c4535f4220569d7bfc7e9fd2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 21 Mar 2022 19:32:00 +0000 Subject: [PATCH 0209/1388] build: lock file maintenance --- yarn.lock | 477 ++++++++++++++---------------------------------------- 1 file changed, 124 insertions(+), 353 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8c02dd7f44b9..4020f505cd7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -170,9 +170,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.6.tgz#685ca3b6de173f9671e251362a2c88f8685454f0" - integrity sha512-ctWsxuaSO3d3afLW+wkJSyiEIA2uhaTKNps9x5wz/oZJDaUDYVa4PM4x7/UHn2bXzBjXjN9LSW8h9F31iwmcTg== + version "13.3.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.0.tgz#0c415b298b61183bf464ec0846d0ee0203ae62af" + integrity sha512-ZnuIMEK8YFBtthNqrxapYolMp6qRy4Yp/VG+M11YNiuBp/BoYYDjTaknwO8vu36Cn6372zWjcibsknkZMjdBkg== dependencies: tslib "^2.3.0" @@ -288,17 +288,12 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" - integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== - -"@babel/compat-data@^7.17.7": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.17.5": version "7.17.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== @@ -319,7 +314,7 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.8": +"@babel/core@7.17.8", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== @@ -340,7 +335,7 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/generator@7.17.3", "@babel/generator@^7.17.3": +"@babel/generator@7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -349,7 +344,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.7", "@babel/generator@^7.17.7": +"@babel/generator@7.17.7", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== @@ -373,17 +368,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.17.7": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== @@ -466,11 +451,11 @@ "@babel/types" "^7.16.7" "@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" - integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.17.0" "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" @@ -479,21 +464,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" - integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-module-transforms@^7.17.7": +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== @@ -539,13 +510,6 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-simple-access@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" @@ -587,16 +551,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" - integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - -"@babel/helpers@^7.17.8": +"@babel/helpers@^7.17.2", "@babel/helpers@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== @@ -614,12 +569,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" - integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== - -"@babel/parser@^7.17.8": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== @@ -918,9 +868,9 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz#c445f75819641788a27a0a3a759d9df911df6abc" - integrity sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" @@ -987,22 +937,22 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" - integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" + integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== dependencies: - "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" + integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== dependencies: "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" @@ -1219,14 +1169,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.2", "@babel/runtime@^7.8.4": +"@babel/runtime@7.17.2": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.17.8": +"@babel/runtime@7.17.8", "@babel/runtime@^7.8.4": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== @@ -1242,7 +1192,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== @@ -2000,14 +1950,14 @@ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/jasmine@~3.10.0": - version "3.10.3" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.10.3.tgz#a89798b3d5a8bd23ca56e855a9aee3e5a93bdaaa" - integrity sha512-SWyMrjgdAUHNQmutvDcKablrJhkDLy4wunTme8oYLjKp41GnHGxMRXr2MQMvy/qy8H3LdzwQk9gH4hZ6T++H8g== + version "3.10.4" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.10.4.tgz#477e91a35e130f2cc5e9ab51565c0d6639729e46" + integrity sha512-7UAoOBYJpaZKmpJ8esMUIMl6pSdReliPQjviOOikWdQ7eVr4Hq8YbpeXyfXFKflZv8ymDFhYdTjVabbP2s4K4Q== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + version "7.0.10" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.10.tgz#9b05b7896166cd00e9cbd59864853abf65d9ac23" + integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A== "@types/json5@^0.0.29": version "0.0.29" @@ -2066,9 +2016,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" - integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== + version "17.0.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.22.tgz#38b6c4b9b2f3ed9f2e376cce42a298fb2375251e" + integrity sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw== "@types/node@12.20.24": version "12.20.24" @@ -2295,9 +2245,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.9.tgz#f1f931a4e5ae2c0134dea10f501088636a50b46a" - integrity sha512-Ci8+4/DOtkHRylcisKmVMtmVO5g7weUVCKcsu1sJvF1bn0wExTmbHmhFKj7AnEm0de800iovGhdSKzYnzbaHpg== + version "17.0.10" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" + integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== dependencies: "@types/yargs-parser" "*" @@ -2978,19 +2928,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.2: - version "10.4.2" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" - integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== - dependencies: - browserslist "^4.19.1" - caniuse-lite "^1.0.30001297" - fraction.js "^4.1.2" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -autoprefixer@^10.4.4: +autoprefixer@^10.4.2, autoprefixer@^10.4.4: version "10.4.4" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== @@ -3230,20 +3168,20 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-sync-client@^2.27.8: - version "2.27.8" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.8.tgz#015cadde9853e5a95e8723fdeaca41115dc59098" - integrity sha512-Z0SU30pjjbXBSglKf+PPeac5slIYPBUsueFtVRflbsj83rXJvc6SZOgSLzq77mcGIWa94mPLGjU79xdnE5hDmw== +browser-sync-client@^2.27.9: + version "2.27.9" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.9.tgz#3a4bff71d1d657dff6106ac234a6bf24c724a9d3" + integrity sha512-FHW8kydp7FXo6jnX3gXJCpHAHtWNLK0nx839nnK+boMfMI1n4KZd0+DmTxHBsHsF3OHud4V4jwoN8U5HExMIdQ== dependencies: etag "1.8.1" fresh "0.5.2" mitt "^1.1.3" rxjs "^5.5.6" -browser-sync-ui@^2.27.8: - version "2.27.8" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.8.tgz#aebc6a0f6c818dcf30f1d712d4f56563802a0b63" - integrity sha512-aBbM0if5D4SfZX27YrmXdAY4CIEYJT+V68z4SQtbBb6Yntf4S27PpM8vDZX9AH/EE4o0XrRr1CyTquvkADKt3w== +browser-sync-ui@^2.27.9: + version "2.27.9" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.9.tgz#53253383a6d8cbc921c85f290fa330fdb449d76b" + integrity sha512-rsduR2bRIwFvM8CX6iY/Nu5aWub0WB9zfSYg9Le/RV5N5DEyxJYey0VxdfWCnzDOoelassTDzYQo+r0iJno3qw== dependencies: async-each-series "0.1.1" connect-history-api-fallback "^1" @@ -3253,12 +3191,12 @@ browser-sync-ui@^2.27.8: stream-throttle "^0.1.3" browser-sync@^2.27.7: - version "2.27.8" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.8.tgz#d4f973e5b03aa17a336b8b5bf8c634af83220713" - integrity sha512-4esKxGChYGZRQXvB3IsxVYr0mlRkOL9Pf/Eh8zCSQf817vOCSjX9WxLLNI58NyVMU9qQ0/krUPJ7QBEmgQuSGQ== + version "2.27.9" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.9.tgz#e0555cb44bd5ede00685e70e108b393d2966874a" + integrity sha512-3zBtggcaZIeU9so4ja9yxk7/CZu9B3DOL6zkxFpzHCHsQmkGBPVXg61jItbeoa+WXgNLnr1sYES/2yQwyEZ2+w== dependencies: - browser-sync-client "^2.27.8" - browser-sync-ui "^2.27.8" + browser-sync-client "^2.27.9" + browser-sync-ui "^2.27.9" bs-recipes "1.3.4" bs-snippet-injector "^2.0.1" chokidar "^3.5.1" @@ -3286,20 +3224,9 @@ browser-sync@^2.27.7: server-destroy "1.0.1" socket.io "^4.4.1" ua-parser-js "1.0.2" - yargs "^15.4.1" - -browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.9.1: - version "4.20.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.0.tgz#35951e3541078c125d36df76056e94738a52ebe9" - integrity sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ== - dependencies: - caniuse-lite "^1.0.30001313" - electron-to-chromium "^1.4.76" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" + yargs "^17.3.1" -browserslist@^4.20.0, browserslist@^4.20.2: +browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.9.1: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== @@ -3404,7 +3331,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@15.3.0, cacache@^15.3.0: +cacache@15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -3428,7 +3355,7 @@ cacache@15.3.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@16.0.2: +cacache@16.0.2, cacache@^16.0.0: version "16.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.2.tgz#b18d630b707554d7d5ce96f53bfe845233c84933" integrity sha512-Q17j7s8X81i/QYVrKVQ/qwWGT+pYLfpTcZ+X+p/Qw9FULy9JEfb2FECYTTt6mPV6A/vk92nRZ80ncpKxiGTrIA== @@ -3452,30 +3379,6 @@ cacache@16.0.2: tar "^6.1.11" unique-filename "^1.1.1" -cacache@^16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.0.tgz#891149a9f9b0c8bbe6cd84d8ac246d6cf5ff429e" - integrity sha512-pMX6sqJSlGpxCM257by5syifGb7zH6C30CaJXeGXqmKNrHKqvMmwM8KgKmsZcUAsnNQkt7WvENH2Kl53RpFQuA== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.1.2" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.1.11" - unique-filename "^1.1.1" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3494,15 +3397,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001313: - version "1.0.30001316" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001316.tgz#b44a1f419f82d2e119aa0bbdab5ec15471796358" - integrity sha512-JgUdNoZKxPZFzbzJwy4hDSyGuH/gXz2rN51QmoR8cBQsVo58llD3A0vlRKKRt8FGf5u69P9eQyIH8/z9vN/S0Q== - caniuse-lite@^1.0.30001317: - version "1.0.30001317" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" - integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== + version "1.0.30001319" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz#eb4da4eb3ecdd409f7ba1907820061d56096e88f" + integrity sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw== caseless@~0.12.0: version "0.12.0" @@ -3704,9 +3602,9 @@ commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.0.0.tgz#86d58f24ee98126568936bd1d3574e0308a99a40" - integrity sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw== + version "9.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.1.0.tgz#a6b263b2327f2e188c6402c42623327909f2dbec" + integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w== commondir@^1.0.1: version "1.0.1" @@ -3991,12 +3889,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.3.1, cssdb@^6.4.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.1.tgz#a2b5955e3283d8df6b6bb86e4107fedaeec1521b" - integrity sha512-R70R/Q1fPlM1D6Y+Kpat0QjiY+aMsY2/8lekdVoYcJ7ZQs9kw71W78FdOMf8DFq975KHQf1089PNg1dLsbAhoA== - -cssdb@^6.5.0: +cssdb@^6.3.1, cssdb@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== @@ -4057,7 +3950,7 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.4, date-format@^4.0.5: +date-format@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.5.tgz#ba385f89782c6cb114cf45dfa4704c6bb29fca51" integrity sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw== @@ -4074,10 +3967,10 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.3, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" @@ -4088,10 +3981,10 @@ debug@4.3.2: dependencies: ms "2.1.2" -debug@4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -4333,9 +4226,9 @@ domexception@^1.0.1: webidl-conversions "^4.0.2" domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" @@ -4399,15 +4292,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.4.76: - version "1.4.82" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz#51e123ca434b1eba8c434ece2b54f095b304a651" - integrity sha512-Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw== - electron-to-chromium@^1.4.84: - version "1.4.87" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.87.tgz#1aeacfa50b2fbf3ecf50a78fbebd8f259d4fe208" - integrity sha512-EXXTtDHFUKdFVkCnhauU7Xp8wmFC1ZG6GK9a1BeI2vvNhy61IwfNPo/CRexhf7mh4ajxAHJPind62BzpzVUeuQ== + version "1.4.89" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.89.tgz#33c06592812a17a7131873f4596579084ce33ff8" + integrity sha512-z1Axg0Fu54fse8wN4fd+GAINdU5mJmLtcl6bqIcYyzNVGONcfHAeeJi88KYMQVKalhXlYuVPzKkFIU5VD0raUw== emoji-regex@^8.0.0: version "8.0.0" @@ -4564,9 +4452,9 @@ es-to-primitive@^1.2.1: is-symbol "^1.0.2" es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.58" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.58.tgz#5b97d94236285fb87c8ffc782cf42eb0a25d2ae0" - integrity sha512-LHO+KBBaHGwjy32ibSaMY+ZzjpC4K4I5bPoijICMBL7gXEXfrEUrzssmNP+KigbQEp1dRUnGkry/vUnxOqptLQ== + version "0.10.59" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.59.tgz#71038939730eb6f4f165f1421308fb60be363bc6" + integrity sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw== dependencies: es6-iterator "^2.0.3" es6-symbol "^3.1.3" @@ -5465,7 +5353,7 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.1.2, fraction.js@^4.2.0: +fraction.js@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== @@ -5660,9 +5548,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.12.1" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" - integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== + version "13.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" + integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== dependencies: type-fest "^0.20.2" @@ -5812,13 +5700,6 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - hosted-git-info@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56" @@ -6677,11 +6558,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonc-parser@3.0.0, jsonc-parser@^3.0.0: version "3.0.0" @@ -7085,15 +6964,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.2.tgz#45ec783835acc525b397f52cf086e26994fe3b70" - integrity sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg== + version "6.4.3" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.3.tgz#8bddd981846873895bcc55c0961560c7214a8ad7" + integrity sha512-H/oQKcCVIhQ8zCtUh5aftdp9eRpGyVB1M5sKzAJ0i10q5jS+YXk133vtLgzT1RIoWMbIn7QD1LUto8a1hqh6gA== dependencies: - date-format "^4.0.4" + date-format "^4.0.5" debug "^4.3.3" flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.4" + streamroller "^3.0.5" long@^4.0.0: version "4.0.0" @@ -7118,15 +6997,10 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.3.1, lru-cache@^7.4.1: - version "7.5.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.5.0.tgz#5e14318d64e6f180a5cf3b9b955b2e89376c0efe" - integrity sha512-8neUvdgNtubJ+VNNqrqOLjUoIlN+NRPFtv1Vne2rQ4uPCxhp0W4TlqntzTLnVVezGXcSSdXTrKCTYooEQA7X6g== - -lru-cache@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.5.1.tgz#660a134c2c3c015aa453b03df55d2a9f0c216a0f" - integrity sha512-q1TS8IqKvcg3aScamKCHpepSrHF537Ww7nHahBOxhDu9D2YoBXAsj/7uFdZFj1xJr9LmyeJ62AdyofCHafUbIA== +lru-cache@^7.3.1, lru-cache@^7.5.1: + version "7.7.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" + integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== lru-queue@^0.1.0: version "0.1.0" @@ -7189,20 +7063,20 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3: - version "10.0.5" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.5.tgz#006e0c5579224832c732c35b7bcc43c8602da775" - integrity sha512-0JQ0daMRDFEv14DelmcFlprdhSDNG7WEgInTjBeWYWZ78W0jfDqygZdPLhcrQ4s/G8skNhBrS4fiF6xA+YlFjQ== + version "10.0.6" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.6.tgz#671269de09cc51208413460898efb7b36adf5534" + integrity sha512-4Gfh6lV3TLXmj7qz79hBFuvVqjYSMW6v2+sxtdX4LFQU0rK3V/txRjE0DoZb7X0IF3t9f8NO3CxPSWlvdckhVA== dependencies: agentkeepalive "^4.2.1" - cacache "^15.3.0" + cacache "^16.0.0" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^7.4.1" + lru-cache "^7.5.1" minipass "^3.1.6" minipass-collect "^1.0.2" - minipass-fetch "^2.0.2" + minipass-fetch "^2.0.3" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" negotiator "^0.6.3" @@ -7382,7 +7256,7 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^2.0.1, minipass-fetch@^2.0.2: +minipass-fetch@^2.0.1, minipass-fetch@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.0.3.tgz#688bbd0c2b019642778dc808b6950dd908d192b3" integrity sha512-VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ== @@ -7601,9 +7475,9 @@ node-fetch@^1.0.1: is-stream "^1.0.1" node-forge@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" - integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.0.tgz#37a874ea723855f37db091e6c186e5b67a01d4b2" + integrity sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA== node-gyp-build@^4.2.2: version "4.3.0" @@ -7695,7 +7569,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.1: +npm-package-arg@9.0.1, npm-package-arg@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.1.tgz#db9c6379c45d79db88ee6dd40d3ec6a9d9a4d13a" integrity sha512-Xs9wznfEAmZAR61qsYH3iN24V/qMYYkvAR5CRQNMvC6PjN2fHtO8y9XP/xdp5K+Icx+u1wMBMgWRPCmAEChSog== @@ -7704,15 +7578,6 @@ npm-package-arg@9.0.1: semver "^7.3.5" validate-npm-package-name "^3.0.0" -npm-package-arg@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.0.tgz#955a5e4735298fc23f71cb72da3574daa134340c" - integrity sha512-yhzXxeor+Zfhe5MGwPdDumz6HtNlj2pMekWB95IX3CC6uDNgde0oPKHDCLDPoJqQfd0HqAWt+y4Hs5m7CK1+9Q== - dependencies: - hosted-git-info "^4.1.0" - semver "^7.3.5" - validate-npm-package-name "^3.0.0" - npm-packlist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-4.0.0.tgz#ba54713f8ee2ad919a6dc9f1b9ec7aa291466703" @@ -8336,14 +8201,7 @@ postcss-custom-media@^8.0.0: resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^12.1.4: - version "12.1.4" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.4.tgz#e3d8a8000f28094453b836dff5132385f2862285" - integrity sha512-i6AytuTCoDLJkWN/MtAIGriJz3j7UX6bV7Z5t+KgFz+dwZS15/mlTJY1S0kRizlk6ba0V8u8hN50Fz5Nm7tdZw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.5: +postcss-custom-properties@^12.1.4, postcss-custom-properties@^12.1.5: version "12.1.5" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.5.tgz#e669cfff89b0ea6fc85c45864a32b450cb6b196f" integrity sha512-FHbbB/hRo/7cxLGkc2NS7cDRIDN1oFqQnUKBiyh4b/gwk8DD8udvmRDpUhEK836kB8ggUCieHVOvZDnF9XhI3g== @@ -8372,14 +8230,7 @@ postcss-double-position-gradients@^3.1.0, postcss-double-position-gradients@^3.1 "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-env-function@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" - integrity sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-env-function@^4.0.6: +postcss-env-function@^4.0.5, postcss-env-function@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== @@ -8563,7 +8414,7 @@ postcss-preset-env@7.4.1: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.3: +postcss-preset-env@7.4.3, postcss-preset-env@^7.4.2: version "7.4.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.3.tgz#fb1c8b4cb405da042da0ddb8c5eda7842c08a449" integrity sha512-dlPA65g9KuGv7YsmGyCKtFkZKCPLkoVMUE3omOl6yM+qrynVHxFvf0tMuippIrXB/sB/MyhL1FgTIbrO+qMERg== @@ -8612,54 +8463,6 @@ postcss-preset-env@7.4.3: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" - integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== - dependencies: - "@csstools/postcss-color-function" "^1.0.2" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.0.1" - "@csstools/postcss-progressive-custom-properties" "^1.2.0" - autoprefixer "^10.4.2" - browserslist "^4.19.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.4.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.4" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.0" - postcss-env-function "^4.0.5" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.1.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.1" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" @@ -8710,7 +8513,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.12, postcss@^8.4.8: +postcss@8.4.12, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7, postcss@^8.4.8: version "8.4.12" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== @@ -8728,15 +8531,6 @@ postcss@8.4.6: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7: - version "8.4.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" - integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8753,9 +8547,9 @@ prettier-bytes@^1.0.4: integrity sha1-mUsCqkb2mcULYle1+qp/4lV+YtY= prettier@^2.0.0, prettier@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== + version "2.6.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" + integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== pretty-bytes@^5.3.0: version "5.6.0" @@ -10090,7 +9884,7 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.4: +streamroller@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.5.tgz#17e348dc2a662f9f325373549ab91d55316051ab" integrity sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g== @@ -10320,7 +10114,7 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" -terser@5.12.1: +terser@5.12.1, terser@^5.7.2: version "5.12.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== @@ -10330,16 +10124,6 @@ terser@5.12.1: source-map "~0.7.2" source-map-support "~0.5.20" -terser@^5.7.2: - version "5.12.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" - integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -11326,7 +11110,7 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.4.0: +yargs@17.4.0, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: version "17.4.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== @@ -11339,7 +11123,7 @@ yargs@17.4.0: y18n "^5.0.5" yargs-parser "^21.0.0" -yargs@^15.3.1, yargs@^15.4.1: +yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -11369,19 +11153,6 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.2.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From c9c781c7d5f3c6de780912fd7c624a457e6da14c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 18 Mar 2022 11:13:48 +0100 Subject: [PATCH 0210/1388] feat(@angular-devkit/schematics): add parameter to `listSchematicNames` to allow returning hidden schematics. The return value of `listSchematicNames` will include hidden schematics when is invoked with true as first parameter. By default, hidden schematics are not returned. --- .../angular_devkit/schematics/src/index.md | 8 ++--- .../angular_devkit/schematics/tools/index.md | 2 +- .../schematics/src/engine/engine.ts | 19 +++++++----- .../schematics/src/engine/interface.ts | 7 +++-- .../schematics/tools/fallback-engine-host.ts | 13 +++++--- .../tools/file-system-engine-host-base.ts | 4 +-- .../tools/file-system-engine-host_spec.ts | 30 +++++++++++++++++-- 7 files changed, 61 insertions(+), 22 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/src/index.md b/goldens/public-api/angular_devkit/schematics/src/index.md index 98977dc662d7..871d5de7ef85 100644 --- a/goldens/public-api/angular_devkit/schematics/src/index.md +++ b/goldens/public-api/angular_devkit/schematics/src/index.md @@ -159,7 +159,7 @@ export interface Collection; // (undocumented) - listSchematicNames(): string[]; + listSchematicNames(includeHidden?: boolean): string[]; } // @public @@ -178,7 +178,7 @@ export class CollectionImpl; // (undocumented) - listSchematicNames(): string[]; + listSchematicNames(includeHidden?: boolean): string[]; // (undocumented) get name(): string; } @@ -380,7 +380,7 @@ export interface EngineHost): string[]; + listSchematicNames(collection: CollectionDescription, includeHidden?: boolean): string[]; // (undocumented) transformContext(context: TypedSchematicContext): TypedSchematicContext | void; // (undocumented) @@ -755,7 +755,7 @@ export class SchematicEngine; // (undocumented) - listSchematicNames(collection: Collection): string[]; + listSchematicNames(collection: Collection, includeHidden?: boolean): string[]; // (undocumented) transformOptions(schematic: Schematic, options: OptionT, context?: TypedSchematicContext): Observable; // (undocumented) diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.md b/goldens/public-api/angular_devkit/schematics/tools/index.md index 162cdf1c4243..f9a5e901c77a 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.md @@ -111,7 +111,7 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost_2 // (undocumented) hasTaskExecutor(name: string): boolean; // (undocumented) - listSchematicNames(collection: FileSystemCollectionDesc): string[]; + listSchematicNames(collection: FileSystemCollectionDesc, includeHidden?: boolean): string[]; // (undocumented) registerContextTransform(t: ContextTransform): void; // (undocumented) diff --git a/packages/angular_devkit/schematics/src/engine/engine.ts b/packages/angular_devkit/schematics/src/engine/engine.ts index 1e97ec1975de..d2379ced964a 100644 --- a/packages/angular_devkit/schematics/src/engine/engine.ts +++ b/packages/angular_devkit/schematics/src/engine/engine.ts @@ -83,7 +83,8 @@ export class UnknownTaskDependencyException extends BaseException { } export class CollectionImpl - implements Collection { + implements Collection +{ constructor( private _description: CollectionDescription, private _engine: SchematicEngine, @@ -101,8 +102,8 @@ export class CollectionImpl - implements Engine { + implements Engine +{ private _collectionCache = new Map>(); private _schematicCache = new WeakMap< Collection, @@ -333,12 +335,15 @@ export class SchematicEngine): string[] { - const names = this._host.listSchematicNames(collection.description); + listSchematicNames( + collection: Collection, + includeHidden?: boolean, + ): string[] { + const names = this._host.listSchematicNames(collection.description, includeHidden); if (collection.baseDescriptions) { for (const base of collection.baseDescriptions) { - names.push(...this._host.listSchematicNames(base)); + names.push(...this._host.listSchematicNames(base, includeHidden)); } } diff --git a/packages/angular_devkit/schematics/src/engine/interface.ts b/packages/angular_devkit/schematics/src/engine/interface.ts index b16da29b545f..38d4e9f5972b 100644 --- a/packages/angular_devkit/schematics/src/engine/interface.ts +++ b/packages/angular_devkit/schematics/src/engine/interface.ts @@ -83,7 +83,10 @@ export interface EngineHost, ): CollectionDescription; - listSchematicNames(collection: CollectionDescription): string[]; + listSchematicNames( + collection: CollectionDescription, + includeHidden?: boolean, + ): string[]; createSchematicDescription( name: string, @@ -162,7 +165,7 @@ export interface Collection; - listSchematicNames(): string[]; + listSchematicNames(includeHidden?: boolean): string[]; } /** diff --git a/packages/angular_devkit/schematics/tools/fallback-engine-host.ts b/packages/angular_devkit/schematics/tools/fallback-engine-host.ts index 3af0fd2a841c..22d4bf450518 100644 --- a/packages/angular_devkit/schematics/tools/fallback-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/fallback-engine-host.ts @@ -90,11 +90,11 @@ export class FallbackEngineHost implements EngineHost<{}, {}> { context?: FallbackContext, ): Observable { // eslint-disable-next-line @typescript-eslint/no-explicit-any - return ((observableOf(options) as any).pipe( + return (observableOf(options) as any).pipe( ...this._hosts.map((host) => mergeMap((opt: {}) => host.transformOptions(schematic, opt, context)), ), - ) as {}) as Observable; + ) as {} as Observable; } transformContext(context: FallbackContext): FallbackContext { @@ -107,11 +107,16 @@ export class FallbackEngineHost implements EngineHost<{}, {}> { return result; } - listSchematicNames(collection: CollectionDescription): string[] { + listSchematicNames( + collection: CollectionDescription, + includeHidden?: boolean, + ): string[] { const allNames = new Set(); this._hosts.forEach((host) => { try { - host.listSchematicNames(collection.description).forEach((name) => allNames.add(name)); + host + .listSchematicNames(collection.description, includeHidden) + .forEach((name) => allNames.add(name)); } catch (_) {} }); diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts index 537ad02776db..858fb89bd81e 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts @@ -118,12 +118,12 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost { private _contextTransforms: ContextTransform[] = []; private _taskFactories = new Map Observable>(); - listSchematicNames(collection: FileSystemCollectionDesc) { + listSchematicNames(collection: FileSystemCollectionDesc, includeHidden?: boolean) { const schematics: string[] = []; for (const key of Object.keys(collection.schematics)) { const schematic = collection.schematics[key]; - if (schematic.hidden || schematic.private) { + if ((schematic.hidden && !includeHidden) || schematic.private) { continue; } diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts index feeba0c803cc..fe9d5f22ee2b 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host_spec.ts @@ -245,12 +245,38 @@ describe('FileSystemEngineHost', () => { expect(() => engine.createCollection('invalid-aliases-2')).toThrow(); }); - it('does not list hidden schematics', () => { + it(`does not list hidden schematics when 'includeHidden' is not specified`, () => { const engineHost = new FileSystemEngineHost(root); const engine = new SchematicEngine(engineHost); const collection = engine.createCollection('hidden-schematics'); - expect(collection.listSchematicNames()).toEqual(['schematic-1', 'schematic-2']); + expect(collection.listSchematicNames(/** includeHidden */)).toEqual([ + 'schematic-1', + 'schematic-2', + ]); + }); + + it(`does not list hidden schematics when 'includeHidden' is false`, () => { + const engineHost = new FileSystemEngineHost(root); + const engine = new SchematicEngine(engineHost); + const collection = engine.createCollection('hidden-schematics'); + + expect(collection.listSchematicNames(false /** includeHidden */)).toEqual([ + 'schematic-1', + 'schematic-2', + ]); + }); + + it(`does list hidden schematics when 'includeHidden' is true`, () => { + const engineHost = new FileSystemEngineHost(root); + const engine = new SchematicEngine(engineHost); + const collection = engine.createCollection('hidden-schematics'); + + expect(collection.listSchematicNames(true /** includeHidden */)).toEqual([ + 'hidden-schematic', + 'schematic-1', + 'schematic-2', + ]); }); it('does not list private schematics', () => { From 366cabc66c3dd836e2fdfea8dad6c4c7c2096b1d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 15:30:06 +0100 Subject: [PATCH 0211/1388] feat(@angular/cli): add support for multiple schematics collections The `schematicCollections` can be placed under the `cli` option in the global `.angular.json` configuration, at the root or at project level in `angular.json` . ```jsonc { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "cli": { "schematicCollections": ["@schematics/angular", "@angular/material"] } // ... } ``` **Rationale** When this option is not configured and a user would like to run a schematic which is not part of `@schematics/angular`, the collection name needs to be provided to `ng generate` command in the form of `[collection-name:schematic-name]`. This make the `ng generate` command too verbose for repeated usages. This is where `schematicCollections` comes handle. When adding `@angular/material` to the list of `schematicCollections`, the generate command will try to locate the schematic in the specified collections. ``` ng generate navigation ``` is equivalent to: ``` ng generate @angular/material:navigation ``` **Conflicting schematic names** When multiple collections have a schematic with the same name. Both `ng generate` and `ng new` will run the first schematic matched based on the ordering (as specified) of `schematicCollections`. DEPRECATED: The `defaultCollection` workspace option has been deprecated in favor of `schematicCollections`. Before ```json "defaultCollection": "@angular/material" ``` After ```json "schematicCollections": ["@angular/material"] ``` Closes #12157 --- .../schematic-collections-config.md | 35 ++++++ .../cli/lib/config/workspace-schema.json | 22 +++- .../schematics-command-module.ts | 76 ++++++++----- .../angular/cli/src/commands/config/cli.ts | 1 + .../angular/cli/src/commands/generate/cli.ts | 96 ++++++++++++----- packages/angular/cli/src/commands/new/cli.ts | 20 +++- .../migrations/migration-collection.json | 5 + .../replace-default-collection-option.ts | 35 ++++++ .../replace-default-collection-option_spec.ts | 101 ++++++++++++++++++ .../angular/utility/workspace-models.ts | 9 +- .../e2e/tests/generate/help-output.ts | 2 +- .../tests/generate/schematics-collections.ts | 95 ++++++++++++++++ 12 files changed, 435 insertions(+), 62 deletions(-) create mode 100644 docs/specifications/schematic-collections-config.md create mode 100644 packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts create mode 100644 packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts create mode 100644 tests/legacy-cli/e2e/tests/generate/schematics-collections.ts diff --git a/docs/specifications/schematic-collections-config.md b/docs/specifications/schematic-collections-config.md new file mode 100644 index 000000000000..5d52fb394d16 --- /dev/null +++ b/docs/specifications/schematic-collections-config.md @@ -0,0 +1,35 @@ +# Schematics Collections (`schematicCollections`) + +The `schematicCollections` can be placed under the `cli` option in the global `.angular.json` configuration, at the root or at project level in `angular.json` . + +```jsonc +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "schematicCollections": ["@schematics/angular", "@angular/material"] + } + // ... +} +``` + +## Rationale + +When this option is not configured and a user would like to run a schematic which is not part of `@schematics/angular`, +the collection name needs to be provided to `ng generate` command in the form of `[collection-name:schematic-name]`. This make the `ng generate` command too verbose for repeated usages. + +This is where the `schematicCollections` option can be useful. When adding `@angular/material` to the list of `schematicCollections`, the generate command will try to locate the schematic in the specified collections. + +``` +ng generate navigation +``` + +is equivalent to: + +``` +ng generate @angular/material:navigation +``` + +## Conflicting schematic names + +When multiple collections have a schematic with the same name. Both `ng generate` and `ng new` will run the first schematic matched based on the ordering (as specified) of `schematicCollections`. diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index 4154e858ba53..f7a9833c269d 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -43,7 +43,16 @@ "properties": { "defaultCollection": { "description": "The default schematics collection to use.", - "type": "string" + "type": "string", + "x-deprecated": "Use 'schematicCollections' instead." + }, + "schematicCollections": { + "type": "array", + "description": "The list of schematic collections to use.", + "items": { + "type": "string", + "uniqueItems": true + } }, "packageManager": { "description": "Specify which package manager tool to use.", @@ -162,7 +171,16 @@ "cli": { "defaultCollection": { "description": "The default schematics collection to use.", - "type": "string" + "type": "string", + "x-deprecated": "Use 'schematicCollections' instead." + }, + "schematicCollections": { + "type": "array", + "description": "The list of schematic collections to use.", + "items": { + "type": "string", + "uniqueItems": true + } } }, "schematics": { diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index d72b5b265dad..ca840d03243f 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -33,7 +33,7 @@ import { Option, parseJsonSchemaToOptions } from './utilities/json-schema'; import { SchematicEngineHost } from './utilities/schematic-engine-host'; import { subscribeToWorkflow } from './utilities/schematic-workflow'; -const DEFAULT_SCHEMATICS_COLLECTION = '@schematics/angular'; +export const DEFAULT_SCHEMATICS_COLLECTION = '@schematics/angular'; export interface SchematicsCommandArgs { interactive: boolean; @@ -95,16 +95,21 @@ export abstract class SchematicsCommandModule return parseJsonSchemaToOptions(workflow.registry, schemaJson); } - private _workflowForBuilder: NodeWorkflow | undefined; + private _workflowForBuilder = new Map(); protected getOrCreateWorkflowForBuilder(collectionName: string): NodeWorkflow { - if (this._workflowForBuilder) { - return this._workflowForBuilder; + const cached = this._workflowForBuilder.get(collectionName); + if (cached) { + return cached; } - return (this._workflowForBuilder = new NodeWorkflow(this.context.root, { + const workflow = new NodeWorkflow(this.context.root, { resolvePaths: this.getResolvePaths(collectionName), engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), - })); + }); + + this._workflowForBuilder.set(collectionName, workflow); + + return workflow; } private _workflowForExecution: NodeWorkflow | undefined; @@ -238,36 +243,55 @@ export abstract class SchematicsCommandModule return (this._workflowForExecution = workflow); } - private _defaultSchematicCollection: string | undefined; - protected async getDefaultSchematicCollection(): Promise { - if (this._defaultSchematicCollection) { - return this._defaultSchematicCollection; + private _schematicCollections: Set | undefined; + protected async getSchematicCollections(): Promise> { + if (this._schematicCollections) { + return this._schematicCollections; } - let workspace = await getWorkspace('local'); + const getSchematicCollections = ( + configSection: Record | undefined, + ): Set | undefined => { + if (!configSection) { + return undefined; + } - if (workspace) { - const project = getProjectByCwd(workspace); - if (project) { - const value = workspace.getProjectCli(project)['defaultCollection']; - if (typeof value == 'string') { - return (this._defaultSchematicCollection = value); - } + const { schematicCollections, defaultCollection } = configSection; + if (Array.isArray(schematicCollections)) { + return new Set(schematicCollections); + } else if (typeof defaultCollection === 'string') { + return new Set([defaultCollection]); } - const value = workspace.getCli()['defaultCollection']; - if (typeof value === 'string') { - return (this._defaultSchematicCollection = value); + return undefined; + }; + + const localWorkspace = await getWorkspace('local'); + if (localWorkspace) { + const project = getProjectByCwd(localWorkspace); + if (project) { + const value = getSchematicCollections(localWorkspace.getProjectCli(project)); + if (value) { + this._schematicCollections = value; + + return value; + } } } - workspace = await getWorkspace('global'); - const value = workspace?.getCli()['defaultCollection']; - if (typeof value === 'string') { - return (this._defaultSchematicCollection = value); + const globalWorkspace = await getWorkspace('global'); + const value = + getSchematicCollections(localWorkspace?.getCli()) ?? + getSchematicCollections(globalWorkspace?.getCli()); + if (value) { + this._schematicCollections = value; + + return value; } - return (this._defaultSchematicCollection = DEFAULT_SCHEMATICS_COLLECTION); + this._schematicCollections = new Set([DEFAULT_SCHEMATICS_COLLECTION]); + + return this._schematicCollections; } protected parseSchematicInfo( diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index de5cb5596981..5f9bf9a20bd8 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -103,6 +103,7 @@ export class ConfigCommandModule >([ ['cli.warnings.versionMismatch', undefined], ['cli.defaultCollection', undefined], + ['cli.schematicCollections', undefined], ['cli.packageManager', undefined], ['cli.analytics', undefined], diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index 55f58a32dc2b..43e66ae18ffe 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -9,6 +9,7 @@ import { strings } from '@angular-devkit/core'; import { Argv } from 'yargs'; import { + CommandModuleError, CommandModuleImplementation, Options, OtherOptions, @@ -48,28 +49,9 @@ export class GenerateCommandModule handler: (options) => this.handler(options), }); - const collectionName = await this.getCollectionName(); - const workflow = this.getOrCreateWorkflowForBuilder(collectionName); - const collection = workflow.engine.createCollection(collectionName); - const schematicsInCollection = collection.description.schematics; - - // We cannot use `collection.listSchematicNames()` as this doesn't return hidden schematics. - const schematicNames = new Set(Object.keys(schematicsInCollection).sort()); - const [, schematicNameFromArgs] = this.parseSchematicInfo( - // positional = [generate, component] or [generate] - this.context.args.positional[1], - ); - - if (schematicNameFromArgs && schematicNames.has(schematicNameFromArgs)) { - // No need to process all schematics since we know which one the user invoked. - schematicNames.clear(); - schematicNames.add(schematicNameFromArgs); - } - - for (const schematicName of schematicNames) { - if (schematicsInCollection[schematicName].private) { - continue; - } + for (const [schematicName, collectionName] of await this.getSchematicsToRegister()) { + const workflow = this.getOrCreateWorkflowForBuilder(collectionName); + const collection = workflow.engine.createCollection(collectionName); const { description: { @@ -110,8 +92,11 @@ export class GenerateCommandModule async run(options: Options & OtherOptions): Promise { const { dryRun, schematic, defaults, force, interactive, ...schematicOptions } = options; - const [collectionName = await this.getCollectionName(), schematicName = ''] = - this.parseSchematicInfo(schematic); + const [collectionName, schematicName] = this.parseSchematicInfo(schematic); + + if (!collectionName || !schematicName) { + throw new CommandModuleError('A collection and schematic is required during execution.'); + } return this.runSchematic({ collectionName, @@ -126,13 +111,13 @@ export class GenerateCommandModule }); } - private async getCollectionName(): Promise { - const [collectionName = await this.getDefaultSchematicCollection()] = this.parseSchematicInfo( + private async getCollectionNames(): Promise { + const [collectionName] = this.parseSchematicInfo( // positional = [generate, component] or [generate] this.context.args.positional[1], ); - return collectionName; + return collectionName ? [collectionName] : [...(await this.getSchematicCollections())]; } /** @@ -151,12 +136,15 @@ export class GenerateCommandModule ); const dasherizedSchematicName = strings.dasherize(schematicName); + const schematicCollectionsFromConfig = await this.getSchematicCollections(); + const collectionNames = await this.getCollectionNames(); - // Only add the collection name as part of the command when it's not the default collection or when it has been provided via the CLI. + // Only add the collection name as part of the command when it's not a known + // schematics collection or when it has been provided via the CLI. // Ex:`ng generate @schematics/angular:component` const commandName = !!collectionNameFromArgs || - (await this.getDefaultSchematicCollection()) !== (await this.getCollectionName()) + !collectionNames.some((c) => schematicCollectionsFromConfig.has(c)) ? collectionName + ':' + dasherizedSchematicName : dasherizedSchematicName; @@ -171,4 +159,54 @@ export class GenerateCommandModule return `${commandName}${positionalArgs ? ' ' + positionalArgs : ''}`; } + + /** + * Get schematics that can to be registered as subcommands. + */ + private async *getSchematics(): AsyncGenerator<{ + schematicName: string; + collectionName: string; + }> { + const seenNames = new Set(); + for (const collectionName of await this.getCollectionNames()) { + const workflow = this.getOrCreateWorkflowForBuilder(collectionName); + const collection = workflow.engine.createCollection(collectionName); + + for (const schematicName of collection.listSchematicNames(true /** includeHidden */)) { + // If a schematic with this same name is already registered skip. + if (!seenNames.has(schematicName)) { + seenNames.add(schematicName); + yield { schematicName, collectionName }; + } + } + } + } + + /** + * Get schematics that should to be registered as subcommands. + * + * @returns a sorted list of schematic that needs to be registered as subcommands. + */ + private async getSchematicsToRegister(): Promise< + [schematicName: string, collectionName: string][] + > { + const schematicsToRegister: [schematicName: string, collectionName: string][] = []; + const [, schematicNameFromArgs] = this.parseSchematicInfo( + // positional = [generate, component] or [generate] + this.context.args.positional[1], + ); + + for await (const { schematicName, collectionName } of this.getSchematics()) { + if (schematicName === schematicNameFromArgs) { + return [[schematicName, collectionName]]; + } + + schematicsToRegister.push([schematicName, collectionName]); + } + + // Didn't find the schematic or no schematic name was provided Ex: `ng generate --help`. + return schematicsToRegister.sort(([nameA], [nameB]) => + nameA.localeCompare(nameB, undefined, { sensitivity: 'accent' }), + ); + } } diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index dba91126fbe4..c5c4e6f7e721 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -14,6 +14,7 @@ import { OtherOptions, } from '../../command-builder/command-module'; import { + DEFAULT_SCHEMATICS_COLLECTION, SchematicsCommandArgs, SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; @@ -51,7 +52,7 @@ export class NewCommandModule const collectionName = typeof collectionNameFromArgs === 'string' ? collectionNameFromArgs - : await this.getDefaultSchematicCollection(); + : await this.getCollectionFromConfig(); const workflow = await this.getOrCreateWorkflowForBuilder(collectionName); const collection = workflow.engine.createCollection(collectionName); @@ -62,7 +63,7 @@ export class NewCommandModule async run(options: Options & OtherOptions): Promise { // Register the version of the CLI in the registry. - const collectionName = options.collection ?? (await this.getDefaultSchematicCollection()); + const collectionName = options.collection ?? (await this.getCollectionFromConfig()); const workflow = await this.getOrCreateWorkflowForExecution(collectionName, options); workflow.registry.addSmartDefaultProvider('ng-cli-version', () => VERSION.full); @@ -89,4 +90,19 @@ export class NewCommandModule }, }); } + + /** Find a collection from config that has an `ng-new` schematic. */ + private async getCollectionFromConfig(): Promise { + for (const collectionName of await this.getSchematicCollections()) { + const workflow = this.getOrCreateWorkflowForBuilder(collectionName); + const collection = workflow.engine.createCollection(collectionName); + const schematicsInCollection = collection.description.schematics; + + if (Object.keys(schematicsInCollection).includes(this.schematicName)) { + return collectionName; + } + } + + return DEFAULT_SCHEMATICS_COLLECTION; + } } diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 747cfc8c74d8..e8ed0bb2e2e9 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -19,6 +19,11 @@ "version": "14.0.0", "factory": "./update-14/remove-default-project-option", "description": "Remove 'defaultProject' option from workspace configuration. The project to use will be determined from the current working directory." + }, + "replace-default-collection-option": { + "version": "14.0.0", + "factory": "./update-14/replace-default-collection-option", + "description": "Replace 'defaultCollection' option in workspace configuration with 'schematicCollections'." } } } diff --git a/packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts b/packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts new file mode 100644 index 000000000000..0bb7d2f16d3b --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts @@ -0,0 +1,35 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { JsonValue, isJsonObject } from '@angular-devkit/core'; +import { Rule } from '@angular-devkit/schematics'; +import { updateWorkspace } from '../../utility/workspace'; + +/** Migration to replace 'defaultCollection' option in angular.json. */ +export default function (): Rule { + return updateWorkspace((workspace) => { + // workspace level + replaceDefaultCollection(workspace.extensions['cli']); + + // Project level + for (const project of workspace.projects.values()) { + replaceDefaultCollection(project.extensions['cli']); + } + }); +} + +function replaceDefaultCollection(cliExtension: JsonValue | undefined): void { + if (cliExtension && isJsonObject(cliExtension) && cliExtension['defaultCollection']) { + // If `schematicsCollection` defined `defaultCollection` is ignored hence no need to warn. + if (!cliExtension['schematicCollections']) { + cliExtension['schematicCollections'] = [cliExtension['defaultCollection']]; + } + + delete cliExtension['defaultCollection']; + } +} diff --git a/packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts b/packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts new file mode 100644 index 000000000000..4a31fbbeea42 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts @@ -0,0 +1,101 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; + +describe(`Migration to replace 'defaultCollection' option.`, () => { + const schematicName = 'replace-default-collection-option'; + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + }); + + it(`should replace 'defaultCollection' with 'schematicCollections' at the root level`, async () => { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: {}, + cli: { + defaultCollection: 'foo', + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { cli } = JSON.parse(newTree.readContent('/angular.json')); + + expect(cli.defaultCollection).toBeUndefined(); + expect(cli.schematicCollections).toEqual(['foo']); + }); + + it(`should not error when 'cli' is not defined`, async () => { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: {}, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { cli } = JSON.parse(newTree.readContent('/angular.json')); + + expect(cli).toBeUndefined(); + }); + + it(`should replace 'defaultCollection' with 'schematicCollections' at the project level`, async () => { + const angularConfig: WorkspaceSchema = { + version: 1, + cli: { + defaultCollection: 'foo', + }, + projects: { + test: { + sourceRoot: '', + root: '', + prefix: '', + projectType: ProjectType.Application, + cli: { + defaultCollection: 'bar', + }, + }, + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { + projects: { test }, + } = JSON.parse(newTree.readContent('/angular.json')); + + expect(test.cli.defaultCollection).toBeUndefined(); + expect(test.cli.schematicCollections).toEqual(['bar']); + }); + + it(`should not replace 'defaultCollection' with 'schematicCollections', when it is already defined`, async () => { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: {}, + cli: { + defaultCollection: 'foo', + schematicCollections: ['bar'], + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { cli } = JSON.parse(newTree.readContent('/angular.json')); + + expect(cli.defaultCollection).toBeUndefined(); + expect(cli.schematicCollections).toEqual(['bar']); + }); +}); diff --git a/packages/schematics/angular/utility/workspace-models.ts b/packages/schematics/angular/utility/workspace-models.ts index 5bfa9c0878f4..3fbaec1f5879 100644 --- a/packages/schematics/angular/utility/workspace-models.ts +++ b/packages/schematics/angular/utility/workspace-models.ts @@ -129,10 +129,15 @@ export type ServeBuilderTarget = BuilderTarget; export type E2EBuilderTarget = BuilderTarget; +interface WorkspaceCLISchema { + warnings?: Record; + schematicCollections?: string[]; + defaultCollection?: string; +} export interface WorkspaceSchema { version: 1; defaultProject?: string; - cli?: { warnings?: Record }; + cli?: WorkspaceCLISchema; projects: { [key: string]: WorkspaceProject; }; @@ -148,7 +153,7 @@ export interface WorkspaceProject }; + cli?: WorkspaceCLISchema; /** * Tool options. diff --git a/tests/legacy-cli/e2e/tests/generate/help-output.ts b/tests/legacy-cli/e2e/tests/generate/help-output.ts index 9b82e36a2ba2..54c5b4772365 100644 --- a/tests/legacy-cli/e2e/tests/generate/help-output.ts +++ b/tests/legacy-cli/e2e/tests/generate/help-output.ts @@ -86,7 +86,7 @@ export default function () { .then(() => updateJsonFile('angular.json', (json) => { json.cli = json.cli || ({} as any); - json.cli.defaultCollection = 'fake-schematics'; + json.cli.schematicCollections = ['fake-schematics']; }), ) .then(() => ng('generate', 'fake', '--help')) diff --git a/tests/legacy-cli/e2e/tests/generate/schematics-collections.ts b/tests/legacy-cli/e2e/tests/generate/schematics-collections.ts new file mode 100644 index 000000000000..e7fd1847b81d --- /dev/null +++ b/tests/legacy-cli/e2e/tests/generate/schematics-collections.ts @@ -0,0 +1,95 @@ +import { join } from 'path'; +import { ng } from '../../utils/process'; +import { writeMultipleFiles, createDir, expectFileToExist } from '../../utils/fs'; +import { updateJsonFile } from '../../utils/project'; + +export default async function () { + // setup temp collection + const genRoot = join('node_modules/fake-schematics/'); + const fakeComponentSchematicDesc = 'Fake component schematic'; + + await createDir(genRoot); + await writeMultipleFiles({ + [join(genRoot, 'package.json')]: JSON.stringify({ + 'schematics': './collection.json', + }), + [join(genRoot, 'collection.json')]: JSON.stringify({ + 'schematics': { + 'fake': { + 'description': 'Fake schematic', + 'schema': './fake-schema.json', + 'factory': './fake', + }, + 'component': { + 'description': fakeComponentSchematicDesc, + 'schema': './fake-schema.json', + 'factory': './fake-component', + }, + }, + }), + [join(genRoot, 'fake-schema.json')]: JSON.stringify({ + '$id': 'FakeSchema', + 'title': 'Fake Schema', + 'type': 'object', + }), + [join(genRoot, 'fake.js')]: ` + exports.default = function (options) { + return (host, context) => { + console.log('fake schematic run.'); + }; + } + `, + [join(genRoot, 'fake-component.js')]: ` + exports.default = function (options) { + return (host, context) => { + console.log('fake component schematic run.'); + }; + } + `, + }); + + await updateJsonFile('angular.json', (json) => { + json.cli ??= {}; + json.cli.schematicCollections = ['fake-schematics', '@schematics/angular']; + }); + + // should display schematics for all schematics + const { stdout: stdout1 } = await ng('generate', '--help'); + if (!stdout1.includes('ng generate component')) { + throw new Error(`Didn't show schematics of '@schematics/angular'.`); + } + + if (!stdout1.includes('ng generate fake')) { + throw new Error(`Didn't show schematics of 'fake-schematics'.`); + } + + // check registration order. Both schematics contain a component schematic verify that the first one wins. + if (!stdout1.includes(fakeComponentSchematicDesc)) { + throw new Error(`Didn't show fake component description.`); + } + + // Verify execution based on ordering + const { stdout: stdout2 } = await ng('generate', 'component'); + if (!stdout2.includes('fake component schematic run')) { + throw new Error(`stdout didn't contain 'fake component schematic run'.`); + } + + await updateJsonFile('angular.json', (json) => { + json.cli ??= {}; + json.cli.schematicCollections = ['@schematics/angular', 'fake-schematics']; + }); + + const { stdout: stdout3 } = await ng('generate', '--help'); + if (!stdout3.includes('ng generate component [name]')) { + throw new Error(`Didn't show component description from @schematics/angular.`); + } + if (stdout3.includes(fakeComponentSchematicDesc)) { + throw new Error(`Shown fake component description, when it shouldn't.`); + } + + // Verify execution based on ordering + const projectDir = join('src', 'app'); + const componentDir = join(projectDir, 'test-component'); + await ng('generate', 'component', 'test-component'); + await expectFileToExist(componentDir); +} From 0c344259dcdc10a35840151bfe3ae1b27f9b53ff Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 22 Mar 2022 18:58:33 +0100 Subject: [PATCH 0212/1388] fix(@ngtools/webpack): update peer dependency to reflect TS 4.6 support Updates the peer dependency to reflect the TS 4.6 support, avoiding warnings like: ``` warning "@angular-devkit/build-angular > @ngtools/webpack@14.0.0-next.6" has incorrect peer dependency "typescript@>=4.4.3 <4.6". ``` --- packages/angular_devkit/build_angular/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 528135f92800..570fc590e0a1 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -81,7 +81,7 @@ "ng-packagr": "^14.0.0 || ^14.0.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": "^4.6.2" + "typescript": "~4.6.2" }, "peerDependenciesMeta": { "@angular/localize": { diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 9fad479275c9..97cf0307a366 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -23,7 +23,7 @@ "dependencies": {}, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", - "typescript": ">=4.4.3 <4.6", + "typescript": "~4.6.2", "webpack": "^5.30.0" }, "devDependencies": { From 933b3cabd45e5ba17b0f9eb9771b065e6e6701b0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 15:42:20 +0100 Subject: [PATCH 0213/1388] refactor(@angular/cli): lazy import `inquirer` `inquirer` has a number of depedencies which slow down module resolution when importing (~138ms) by lazy loading this module we remove this overhead when prompts are not needed. --- .../angular/cli/src/analytics/analytics.ts | 4 ++-- .../schematics-command-module.ts | 18 ++++++++++++------ packages/angular/cli/src/utilities/prompt.ts | 8 ++++---- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 2c8a2e64969e..5595a893b366 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -8,7 +8,6 @@ import { analytics, json, tags } from '@angular-devkit/core'; import debug from 'debug'; -import * as inquirer from 'inquirer'; import { v4 as uuidV4 } from 'uuid'; import { colors } from '../utilities/color'; import { getWorkspace, getWorkspaceRaw } from '../utilities/config'; @@ -103,7 +102,8 @@ export async function promptAnalytics(global: boolean, force = false): Promise([ + const { prompt } = await import('inquirer'); + const answers = await prompt<{ analytics: boolean }>([ { type: 'confirm', name: 'analytics', diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index ca840d03243f..9bc64674f5f4 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -13,7 +13,7 @@ import { FileSystemSchematicDescription, NodeWorkflow, } from '@angular-devkit/schematics/tools'; -import inquirer from 'inquirer'; +import type { CheckboxQuestion, Question } from 'inquirer'; import { Argv } from 'yargs'; import { getProjectByCwd, @@ -172,11 +172,11 @@ export abstract class SchematicsCommandModule }); if (options.interactive !== false && isTTY()) { - workflow.registry.usePromptProvider((definitions: Array) => { - const questions: inquirer.QuestionCollection = definitions + workflow.registry.usePromptProvider(async (definitions: Array) => { + const questions = definitions .filter((definition) => !options.defaults || definition.default === undefined) .map((definition) => { - const question: inquirer.Question = { + const question: Question = { name: definition.id, message: definition.message, default: definition.default, @@ -219,7 +219,7 @@ export abstract class SchematicsCommandModule break; case 'list': question.type = definition.multiselect ? 'checkbox' : 'list'; - (question as inquirer.CheckboxQuestion).choices = definition.items?.map((item) => { + (question as CheckboxQuestion).choices = definition.items?.map((item) => { return typeof item == 'string' ? item : { @@ -236,7 +236,13 @@ export abstract class SchematicsCommandModule return question; }); - return inquirer.prompt(questions); + if (questions.length) { + const { prompt } = await import('inquirer'); + + return prompt(questions); + } else { + return {}; + } }); } diff --git a/packages/angular/cli/src/utilities/prompt.ts b/packages/angular/cli/src/utilities/prompt.ts index 97be8988662a..34dd3e698759 100644 --- a/packages/angular/cli/src/utilities/prompt.ts +++ b/packages/angular/cli/src/utilities/prompt.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import * as inquirer from 'inquirer'; +import type { Question } from 'inquirer'; import { isTTY } from './tty'; export async function askConfirmation( @@ -17,8 +17,7 @@ export async function askConfirmation( if (!isTTY()) { return noTTYResponse ?? defaultResponse; } - - const question: inquirer.Question = { + const question: Question = { type: 'confirm', name: 'confirmation', prefix: '', @@ -26,7 +25,8 @@ export async function askConfirmation( default: defaultResponse, }; - const answers = await inquirer.prompt([question]); + const { prompt } = await import('inquirer'); + const answers = await prompt([question]); return answers['confirmation']; } From 861ec0f7d097a1bf114c7132ffd693a21b693396 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 22 Mar 2022 15:42:46 +0100 Subject: [PATCH 0214/1388] refactor(@angular-devkit/build-angular): lazy import `inquirer` `inquirer` has a number of depedencies which slow down module resolution when importing (~138ms) by lazy loading this module we remove this overhead when prompts are not needed. --- .../build_angular/src/utils/check-port.ts | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/check-port.ts b/packages/angular_devkit/build_angular/src/utils/check-port.ts index 37aeacc9c3ed..ebbc839b26e8 100644 --- a/packages/angular_devkit/build_angular/src/utils/check-port.ts +++ b/packages/angular_devkit/build_angular/src/utils/check-port.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { prompt } from 'inquirer'; import * as net from 'net'; import { isTTY } from './tty'; @@ -36,15 +35,19 @@ export async function checkPort(port: number, host: string): Promise { return; } - prompt({ - type: 'confirm', - name: 'useDifferent', - message: `Port ${port} is already in use.\nWould you like to use a different port?`, - default: true, - }).then( - (answers) => (answers.useDifferent ? resolve(0) : reject(createInUseError(port))), - () => reject(createInUseError(port)), - ); + import('inquirer') + .then(({ prompt }) => + prompt({ + type: 'confirm', + name: 'useDifferent', + message: `Port ${port} is already in use.\nWould you like to use a different port?`, + default: true, + }), + ) + .then( + (answers) => (answers.useDifferent ? resolve(0) : reject(createInUseError(port))), + () => reject(createInUseError(port)), + ); }) .once('listening', () => { server.close(); From e4f7b5e9b24290540d8ece65e03fd224ecb9da70 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Mar 2022 11:55:49 +0100 Subject: [PATCH 0215/1388] refactor(@angular/cli): call package manager supports method async With this change we call the `supports` method for Yarn, NPM and PNPM asynchronous --- .../angular/cli/src/utilities/package-manager.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/src/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts index 14721e7e694a..c6d419643add 100644 --- a/packages/angular/cli/src/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -55,23 +55,23 @@ export async function getPackageManager(root: string): Promise { return packageManager; } - const [hasYarnLock, hasNpmLock, hasPnpmLock] = await Promise.all([ + const [hasYarnLock, hasNpmLock, hasPnpmLock, hasYarn, hasPnpm, hasNpm] = await Promise.all([ hasLockfile(root, PackageManager.Yarn), hasLockfile(root, PackageManager.Npm), hasLockfile(root, PackageManager.Pnpm), + supports(PackageManager.Yarn), + supports(PackageManager.Pnpm), + supports(PackageManager.Npm), ]); - const hasYarn = await supports(PackageManager.Yarn); if (hasYarn && hasYarnLock && !hasNpmLock) { return PackageManager.Yarn; } - const hasPnpm = await supports(PackageManager.Pnpm); if (hasPnpm && hasPnpmLock && !hasNpmLock) { return PackageManager.Pnpm; } - const hasNpm = await supports(PackageManager.Npm); if (hasNpm && hasNpmLock && !hasYarnLock && !hasPnpmLock) { return PackageManager.Npm; } @@ -98,7 +98,10 @@ export async function ensureCompatibleNpm(root: string): Promise { } try { - const versionText = execSync('npm --version', { encoding: 'utf8', stdio: 'pipe' }).trim(); + const versionText = execSync('npm --version', { + encoding: 'utf8', + stdio: 'pipe', + }).trim(); const version = valid(versionText); if (!version) { return; From 966d25b55eeb6cb84eaca183b30e7d3b0d0a2188 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 22 Mar 2022 10:48:31 -0400 Subject: [PATCH 0216/1388] fix(@angular-devkit/build-angular): remove unneeded JIT reflect metadata polyfill Since Angular 8, the CLI has transformed decorator metadata to a form that can be used by the Angular dependency injector without the TDZ limitations of Typescript's decorator metadata emit feature. As a result, a JIT application compiled with the CLI no longer requires the reflect metadata polyfill that was provided by `core-js`. This polyfill was also the last remaining usage of the `core-js` package within `@angular-devkit/build-angular` which allows the `core-js` package to also be removed. Refs: https://github.com/angular/angular-cli/pull/14473 & https://github.com/angular/angular/pull/37382 BREAKING CHANGE: Reflect metadata polyfill is no longer automatically provided in JIT mode Reflect metadata support is not required by Angular in JIT applications compiled by the CLI. Applications built in AOT mode did not and will continue to not provide the polyfill. For the majority of applications, the reflect metadata polyfill removal should have no effect. However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating. To replicate the previous behavior, the `core-js` package should be manually installed and the `import 'core-js/proposals/reflect-metadata';` statement should be added to the application's `polyfills.ts` file. --- package.json | 1 - .../angular_devkit/build_angular/BUILD.bazel | 1 - .../angular_devkit/build_angular/package.json | 1 - .../src/webpack/configs/common.ts | 9 ---- .../test/angular-app/src/polyfills.ts | 22 -------- .../e2e/assets/webpack/test-app/app/main.ts | 1 - .../e2e/assets/webpack/test-app/package.json | 1 - tests/legacy-cli/e2e/tests/build/polyfills.ts | 6 --- .../e2e/tests/misc/minimal-config.ts | 51 +++++++++++-------- 9 files changed, 29 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index ae5f8b9482ed..3497cb889445 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,6 @@ "cacache": "16.0.2", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", - "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index af9806ee12b1..b0cd1f700538 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -131,7 +131,6 @@ ts_library( "@npm//browserslist", "@npm//cacache", "@npm//copy-webpack-plugin", - "@npm//core-js", "@npm//critters", "@npm//css-loader", "@npm//esbuild", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 570fc590e0a1..b646094644b1 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -27,7 +27,6 @@ "browserslist": "^4.9.1", "cacache": "16.0.2", "copy-webpack-plugin": "10.2.4", - "core-js": "3.21.1", "critters": "0.0.16", "css-loader": "6.7.1", "esbuild-wasm": "0.14.27", diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 6362894d9a2a..928e8d346f59 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -123,15 +123,6 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise', ); - const jitPolyfillSize = await getFileSize('dist/test-project/polyfills.js'); await ng('build', '--aot=true', '--configuration=development'); // files were created successfully await expectFileToExist('dist/test-project/polyfills.js'); - await expectFileSizeToBeUnder('dist/test-project/polyfills.js', jitPolyfillSize); - await expectToFail(() => - expectFileToMatch('dist/test-project/polyfills.js', 'core-js/proposals/reflect-metadata'), - ); await expectFileToMatch('dist/test-project/polyfills.js', 'zone.js'); await expectFileToMatch( 'dist/test-project/index.html', diff --git a/tests/legacy-cli/e2e/tests/misc/minimal-config.ts b/tests/legacy-cli/e2e/tests/misc/minimal-config.ts index a5ad29d11990..851204936b38 100644 --- a/tests/legacy-cli/e2e/tests/misc/minimal-config.ts +++ b/tests/legacy-cli/e2e/tests/misc/minimal-config.ts @@ -1,29 +1,33 @@ import { writeFile, writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; - export default function () { // TODO(architect): Figure out what a minimal config is for architect apps. return; return Promise.resolve() - .then(() => writeFile('angular.json', JSON.stringify({ - apps: [{ - root: 'src', - main: 'main.ts', - scripts: [ - '../node_modules/core-js/client/shim.min.js', - '../node_modules/zone.js/dist/zone.js' - ] - }], - e2e: { protractor: { config: './protractor.conf.js' } } - }))) + .then(() => + writeFile( + 'angular.json', + JSON.stringify({ + apps: [ + { + root: 'src', + main: 'main.ts', + scripts: ['../node_modules/zone.js/dist/zone.js'], + }, + ], + e2e: { protractor: { config: './protractor.conf.js' } }, + }), + ), + ) .then(() => ng('e2e', 'test-project-e2e')) - .then(() => writeMultipleFiles({ - './src/script.js': ` + .then(() => + writeMultipleFiles({ + './src/script.js': ` document.querySelector('app-root').innerHTML = '

app works!

'; `, - './e2e/app.e2e-spec.ts': ` + './e2e/app.e2e-spec.ts': ` import { browser, element, by } from 'protractor'; describe('minimal project App', function() { @@ -35,13 +39,16 @@ export default function () { }); }); `, - 'angular.json': JSON.stringify({ - apps: [{ - root: 'src', - scripts: ['./script.js'] - }], - e2e: { protractor: { config: './protractor.conf.js' } } + 'angular.json': JSON.stringify({ + apps: [ + { + root: 'src', + scripts: ['./script.js'], + }, + ], + e2e: { protractor: { config: './protractor.conf.js' } }, + }), }), - })) + ) .then(() => ng('e2e', 'test-project-e2e')); } From c315b470687da58a38bfac8b30020e9cd2b3c21b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 22 Mar 2022 22:58:51 +0000 Subject: [PATCH 0217/1388] build: update all non-major dependencies --- package.json | 14 +- .../angular_devkit/build_angular/package.json | 8 +- packages/angular_devkit/core/package.json | 2 +- yarn.lock | 129 ++++++++++++------ 4 files changed, 96 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index 3497cb889445..3efc5fa3ec8c 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ ] }, "resolutions": { - "**/ajv-formats/ajv": "8.10.0" + "**/ajv-formats/ajv": "8.11.0" }, "devDependencies": { "@ampproject/remapping": "2.1.2", @@ -118,16 +118,16 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@typescript-eslint/eslint-plugin": "5.16.0", - "@typescript-eslint/parser": "5.15.0", + "@typescript-eslint/parser": "5.16.0", "@yarnpkg/lockfile": "1.1.0", - "ajv": "8.10.0", + "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.1", - "babel-loader": "8.2.3", + "babel-loader": "8.2.4", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.0.2", + "cacache": "16.0.3", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", @@ -179,7 +179,7 @@ "piscina": "3.2.0", "popper.js": "^1.14.1", "postcss": "8.4.12", - "postcss-import": "14.0.2", + "postcss-import": "14.1.0", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.3", "prettier": "^2.0.0", @@ -198,7 +198,7 @@ "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", - "stylus": "0.56.0", + "stylus": "0.57.0", "stylus-loader": "6.2.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b646094644b1..f3af28183b49 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -22,10 +22,10 @@ "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "babel-loader": "8.2.3", + "babel-loader": "8.2.4", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.0.2", + "cacache": "16.0.3", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", @@ -46,7 +46,7 @@ "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", "postcss": "8.4.12", - "postcss-import": "14.0.2", + "postcss-import": "14.1.0", "postcss-loader": "6.2.1", "postcss-preset-env": "7.4.3", "regenerator-runtime": "0.13.9", @@ -57,7 +57,7 @@ "semver": "7.3.5", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", - "stylus": "0.56.0", + "stylus": "0.57.0", "stylus-loader": "6.2.0", "terser": "5.12.1", "text-table": "0.2.0", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 43cddffcc6b6..495094d2b172 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -9,7 +9,7 @@ ], "dependencies": { "ajv-formats": "2.1.1", - "ajv": "8.10.0", + "ajv": "8.11.0", "fast-json-stable-stringify": "2.1.0", "magic-string": "0.26.1", "rxjs": "6.6.7", diff --git a/yarn.lock b/yarn.lock index 4020f505cd7b..7139f59093ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1410,7 +1410,7 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@gar/promisify@^1.0.1": +"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== @@ -1547,6 +1547,14 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" +"@npmcli/fs@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" + integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + "@npmcli/git@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.0.tgz#466a18980da6b646a8112a7676688ae5347deba3" @@ -2273,24 +2281,16 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.15.0.tgz#95f603f8fe6eca7952a99bfeef9b85992972e728" - integrity sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ== +"@typescript-eslint/parser@5.16.0": + version "5.16.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.16.0.tgz#e4de1bde4b4dad5b6124d3da227347616ed55508" + integrity sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA== dependencies: - "@typescript-eslint/scope-manager" "5.15.0" - "@typescript-eslint/types" "5.15.0" - "@typescript-eslint/typescript-estree" "5.15.0" + "@typescript-eslint/scope-manager" "5.16.0" + "@typescript-eslint/types" "5.16.0" + "@typescript-eslint/typescript-estree" "5.16.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz#d97afab5e0abf4018d1289bd711be21676cdd0ee" - integrity sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg== - dependencies: - "@typescript-eslint/types" "5.15.0" - "@typescript-eslint/visitor-keys" "5.15.0" - "@typescript-eslint/scope-manager@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz#7e7909d64bd0c4d8aef629cdc764b9d3e1d3a69a" @@ -2308,29 +2308,11 @@ debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.15.0.tgz#c7bdd103843b1abae97b5518219d3e2a0d79a501" - integrity sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA== - "@typescript-eslint/types@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.16.0.tgz#5827b011982950ed350f075eaecb7f47d3c643ee" integrity sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g== -"@typescript-eslint/typescript-estree@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz#81513a742a9c657587ad1ddbca88e76c6efb0aac" - integrity sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA== - dependencies: - "@typescript-eslint/types" "5.15.0" - "@typescript-eslint/visitor-keys" "5.15.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz#32259459ec62f5feddca66adc695342f30101f61" @@ -2356,14 +2338,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz#5669739fbf516df060f978be6a6dce75855a8027" - integrity sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ== - dependencies: - "@typescript-eslint/types" "5.15.0" - eslint-visitor-keys "^3.0.0" - "@typescript-eslint/visitor-keys@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz#f27dc3b943e6317264c7492e390c6844cd4efbbb" @@ -2693,7 +2667,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.8.0: +ajv@8.10.0, ajv@^8.10.0, ajv@^8.8.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -2703,6 +2677,16 @@ ajv@8.10.0, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@8.11.0, ajv@^8.0.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -2967,6 +2951,16 @@ babel-loader@8.2.3: make-dir "^3.1.0" schema-utils "^2.6.5" +babel-loader@8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b" + integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -3355,7 +3349,31 @@ cacache@15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@16.0.2, cacache@^16.0.0: +cacache@16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" + integrity sha512-eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^1.1.2" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.2.0" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.11" + unique-filename "^1.1.1" + +cacache@^16.0.0: version "16.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.2.tgz#b18d630b707554d7d5ce96f53bfe845233c84933" integrity sha512-Q17j7s8X81i/QYVrKVQ/qwWGT+pYLfpTcZ+X+p/Qw9FULy9JEfb2FECYTTt6mPV6A/vk92nRZ80ncpKxiGTrIA== @@ -6997,7 +7015,7 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.3.1, lru-cache@^7.5.1: +lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: version "7.7.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== @@ -8277,6 +8295,15 @@ postcss-import@14.0.2: read-cache "^1.0.0" resolve "^1.1.7" +postcss-import@14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + postcss-initial@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" @@ -10001,6 +10028,18 @@ stylus@0.56.0, stylus@^0.56.0: sax "~1.2.4" source-map "^0.7.3" +stylus@0.57.0: + version "0.57.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" + integrity sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ== + dependencies: + css "^3.0.0" + debug "^4.3.2" + glob "^7.1.6" + safer-buffer "^2.1.2" + sax "~1.2.4" + source-map "^0.7.3" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" From f13db1da473dc48d10871ee49111463b98d05667 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 18 Feb 2022 17:09:19 -0500 Subject: [PATCH 0218/1388] build: update bazel rules_nodejs to v5.3.0 The `check_bazel_version` and `check_rules_nodejs_version` calls have also been removed from the WORKSPACE file as they are no longer supported or recommended by `rules_nodejs`. --- .circleci/config.yml | 4 +- WORKSPACE | 46 ++++++++++--------- package.json | 6 +-- .../angular_devkit/core/node/jobs/BUILD.bazel | 4 +- .../tools/file-system-engine-host/BUILD.bazel | 4 +- tools/defaults.bzl | 2 +- yarn.lock | 44 ++++++------------ 7 files changed, 47 insertions(+), 63 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a0bc02bf0ed8..9bcb7b69abcf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -262,7 +262,9 @@ jobs: - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - run: command: yarn bazel:test - no_output_timeout: 20m + # This timeout provides time for the actual tests to timeout and report status + # instead of CircleCI stopping the job without test failure information. + no_output_timeout: 40m - fail_fast snapshot_publish: diff --git a/WORKSPACE b/WORKSPACE index e9f7bb6b82df..edb922bece11 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -14,12 +14,22 @@ http_archive( ], ) +http_archive( + name = "io_bazel_rules_webtesting", + sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a", + urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz"], +) + http_archive( name = "build_bazel_rules_nodejs", - sha256 = "d63ecec7192394f5cc4ad95a115f8a6c9de55c60d56c1f08da79c306355e4654", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.6.1/rules_nodejs-4.6.1.tar.gz"], + sha256 = "3ceb1e5b5dcad5fa2ad8870a20201cfbb9c9c63cac4055c9ab370034c765297f", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.3.0/rules_nodejs-5.3.0.tar.gz"], ) +load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") + +build_bazel_rules_nodejs_dependencies() + http_archive( name = "rules_pkg", sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66", @@ -38,33 +48,25 @@ load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") rules_pkg_dependencies() -# Check the bazel version and download npm dependencies -load("@build_bazel_rules_nodejs//:index.bzl", "check_bazel_version", "check_rules_nodejs_version", "node_repositories", "yarn_install") - -# Bazel version must be at least the following version because: -# - 0.26.0 managed_directories feature added which is required for nodejs rules 0.30.0 -# - 0.27.0 has a fix for managed_directories after `rm -rf node_modules` -check_bazel_version( - message = """ -You no longer need to install Bazel on your machine. -Angular has a dependency on the @bazel/bazelisk package which supplies it. -Try running `yarn bazel` instead. - (If you did run that, check that you've got a fresh `yarn install`) -""", - minimum_bazel_version = "4.0.0", -) - -check_rules_nodejs_version(minimum_version_string = "2.0.0") - # Setup the Node.js toolchain -node_repositories( +load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") + +nodejs_register_toolchains( + name = "nodejs", node_version = "14.17.1", - package_json = ["//:package.json"], ) +load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install") + yarn_install( name = "npm", + data = [ + "//:.yarn/releases/yarn-1.22.17.cjs", + "//:.yarnrc", + ], + exports_directories_only = False, package_json = "//:package.json", + yarn = "//:.yarn/releases/yarn-1.22.17.cjs", yarn_lock = "//:yarn.lock", ) diff --git a/package.json b/package.json index 3efc5fa3ec8c..4e99a58d7fc5 100644 --- a/package.json +++ b/package.json @@ -88,9 +88,9 @@ "@babel/runtime": "7.17.8", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", - "@bazel/buildifier": "4.2.5", - "@bazel/jasmine": "4.6.1", - "@bazel/typescript": "4.6.1", + "@bazel/buildifier": "5.0.1", + "@bazel/concatjs": "5.3.0", + "@bazel/jasmine": "5.3.0", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", diff --git a/tests/angular_devkit/core/node/jobs/BUILD.bazel b/tests/angular_devkit/core/node/jobs/BUILD.bazel index c0d1cba3fe47..3614dd5b09f1 100644 --- a/tests/angular_devkit/core/node/jobs/BUILD.bazel +++ b/tests/angular_devkit/core/node/jobs/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_library") +load("//tools:defaults.bzl", "ts_library") # Copyright Google Inc. All Rights Reserved. # @@ -15,8 +15,6 @@ ts_library( "**/*.ts", ], ), - devmode_module = "commonjs", - devmode_target = "es2018", deps = [ "//packages/angular_devkit/core", "@npm//@types/node", diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel index 4303f26c5887..38d1670e2448 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_library") +load("//tools:defaults.bzl", "ts_library") # Copyright Google Inc. All Rights Reserved. # @@ -21,8 +21,6 @@ ts_library( "**/*.js", ], ), - devmode_module = "commonjs", - devmode_target = "es2018", deps = [ "//packages/angular_devkit/schematics", # ":testing", diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 6651baca0d31..edee9bc5c1e1 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -1,6 +1,6 @@ """Re-export of some bazel rules with repository-wide defaults.""" -load("@npm//@bazel/typescript:index.bzl", _ts_library = "ts_library") +load("@npm//@bazel/concatjs/internal:build_defs.bzl", _ts_library = "ts_library_macro") load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _pkg_npm = "pkg_npm") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@npm//@angular/dev-infra-private/bazel:extract_js_module_output.bzl", "extract_js_module_output") diff --git a/yarn.lock b/yarn.lock index 7139f59093ec..64e23c5e96df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -178,7 +178,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" - uid "5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" dependencies: "@angular-devkit/build-angular" "14.0.0-next.3" @@ -1221,12 +1220,7 @@ resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" integrity sha512-lxiQzVqSGDG0PIDQGJdVDjp7T+50p5NnM4EnRJa76mkZp6u5ul19GJNKhPKi81TZQALZEZDxAgxVqQKkWTUOxA== -"@bazel/buildifier@4.2.5": - version "4.2.5" - resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-4.2.5.tgz#de51339613e2ca1f39dda6ade8b0062e6575b3e1" - integrity sha512-lTg3YEuCO1e7dCc/fLUWu5R7KOHmpPDSkoSeT+rPrszFfxqrWGJTSxZbtk/4AJZnuC3p704po8RUJinPtmxTmQ== - -"@bazel/buildifier@^5.0.1": +"@bazel/buildifier@5.0.1", "@bazel/buildifier@^5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== @@ -1240,15 +1234,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.3.0.tgz#40abb0690d4109ece1e67a514fba8cd54fced691" + integrity sha512-mLxGpz7JsRIXb1TTi8p56/1IM7FqcN2deUchuXIiSmIUq+85vYcV3UMnR6HZeJh5PGBCwxDNeqkZ/hUAVojaSw== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@4.6.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-4.6.0.tgz#68bf9506c104ed4076a0227c4066e3f5df847ee3" integrity sha512-pu4wSBNokYKLisHlXdHxu3UX19vFL4wNQJ45cyekfiWF2szWjWR8x/ZP15a49ChmvP6aelwrURahuhhgzfluOQ== -"@bazel/jasmine@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-4.6.1.tgz#f1b618d8190fe30db03e6613255704c92c90c8b7" - integrity sha512-SkzBYh4f4BALB6du3/g0Z3lu3N9jcH3kVQHxqwmKkBHCp9Nny0xzhhEje/o5ncSNt+SMwIPwBrTGMPQnUUfmfg== +"@bazel/jasmine@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.3.0.tgz#2fc450deebb4f886a6f46cdce2fa0b5826e49fd0" + integrity sha512-USGQ9sdEOmeCbOJt5mNu2eGd12F/fIEG+tuhw5CXWZ7aYBFLCub2LlQ2vAcXSFWbtZjNwjTvCcGi35cqUyzAcw== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1279,17 +1282,6 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/typescript@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-4.6.1.tgz#5c674698bda53006d784cb40ba1e2cb1263ecc20" - integrity sha512-T/2mOB9lSySaIQH47JsbKE8UG7eEChFltXCVNw2xk1+Eu7ym+osSIjaXoQVBPmAl/6qmIEzTyBIjFPEU2ohVrw== - dependencies: - "@bazel/worker" "4.6.1" - protobufjs "6.8.8" - semver "5.6.0" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/worker@4.6.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-4.6.0.tgz#0a4332be547fcd94fa5da1dfa200a28a6bf5fc5b" @@ -1297,13 +1289,6 @@ dependencies: google-protobuf "^3.6.1" -"@bazel/worker@4.6.1": - version "4.6.1" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-4.6.1.tgz#96925f5819344225d4fe40ffa630a3c5f4847a0b" - integrity sha512-D6TsHxGSljmlLoz8FXL1+ISh8XnDuRkBpT6Mz0wD62eWajUZASTfX9I4HNiLNbsWY4Omc7nKXI+j4R8/BLciFg== - dependencies: - google-protobuf "^3.6.1" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -9313,7 +9298,6 @@ sass@1.49.9, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: From 07a3f1cdcd8f8444f379978ef70725b23a2d3a07 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 22 Feb 2022 11:15:39 -0500 Subject: [PATCH 0219/1388] build: change bazel project_id option to bes_instance_name The `--project_id` option was deprecated and renamed to `--bes_instance_name` in Bazel 5.0.0. --- .bazelrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index b319ebb75f3d..15db5f189022 100644 --- a/.bazelrc +++ b/.bazelrc @@ -100,7 +100,7 @@ test --test_output=errors # Use the Angular team internal GCP instance for remote execution. build:remote --remote_instance_name=projects/internal-200822/instances/primary_instance -build:remote --project_id=internal-200822 +build:remote --bes_instance_name=internal-200822 # Starting with Bazel 0.27.0 strategies do not need to be explicitly # defined. See https://github.com/bazelbuild/bazel/issues/7480 From 4336ae3f30eeca38f16774265443996cb17b67ca Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 1 Mar 2022 17:13:06 -0500 Subject: [PATCH 0220/1388] build: update dev-infra tooling to 216c252 --- package.json | 2 +- yarn.lock | 93 ++++++++++++++++++++++++++++------------------------ 2 files changed, 52 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index 4e99a58d7fc5..b9bab07ace65 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.6", "@angular/compiler-cli": "14.0.0-next.6", "@angular/core": "14.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#216c2529f1a0f42ed17995d0b00262c7e029ab4a", "@angular/forms": "14.0.0-next.6", "@angular/localize": "14.0.0-next.6", "@angular/material": "14.0.0-next.6", diff --git a/yarn.lock b/yarn.lock index 64e23c5e96df..fcc009b2f07c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -176,20 +176,20 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a": - version "0.0.0-104c49ad795097101ab3aa268a8e9af2cdf04a8d" - resolved "https://github.com/angular/dev-infra-private-builds.git#5e484f9c4ab6b47f84263d115d6cf9e13ce4f32a" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#216c2529f1a0f42ed17995d0b00262c7e029ab4a": + version "0.0.0-6c64dc91981980f62a002be325ea8a97c3a59769" + resolved "https://github.com/angular/dev-infra-private-builds.git#216c2529f1a0f42ed17995d0b00262c7e029ab4a" dependencies: "@angular-devkit/build-angular" "14.0.0-next.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "^5.0.1" - "@bazel/concatjs" "4.6.0" - "@bazel/esbuild" "4.6.0" - "@bazel/protractor" "4.6.0" - "@bazel/runfiles" "4.6.0" - "@bazel/terser" "4.6.0" - "@bazel/typescript" "4.6.0" + "@bazel/concatjs" "5.2.0" + "@bazel/esbuild" "5.2.0" + "@bazel/protractor" "5.2.0" + "@bazel/runfiles" "5.2.0" + "@bazel/terser" "5.2.0" + "@bazel/typescript" "5.2.0" "@microsoft/api-extractor" "7.19.4" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -1225,10 +1225,10 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== -"@bazel/concatjs@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-4.6.0.tgz#7ed6ea8e1065057544fba351ca22bc2143d8a3a9" - integrity sha512-KtPpQxN/JcRHM8Miof8kDpgHczPycDlOl6mggKdbhMppBh64FKIIyNAKnngKswaFU+2WJiJs17YwDEJBB+Yqrg== +"@bazel/concatjs@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.2.0.tgz#fa37b2ae69f34bd287bd27c0092cc6a8511e87bc" + integrity sha512-ppjHDpblv08uK0lbvJe+/MS9omh8O2EUmPBFn4QgEgkpf7vcVUPvBgrSCTei8rrb5OlO9ErQn+kP+gx3s97q2g== dependencies: protobufjs "6.8.8" source-map-support "0.5.9" @@ -1243,10 +1243,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-4.6.0.tgz#68bf9506c104ed4076a0227c4066e3f5df847ee3" - integrity sha512-pu4wSBNokYKLisHlXdHxu3UX19vFL4wNQJ45cyekfiWF2szWjWR8x/ZP15a49ChmvP6aelwrURahuhhgzfluOQ== +"@bazel/esbuild@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.2.0.tgz#883abbd16cc0ab3580d1c1930460674ef73d444b" + integrity sha512-EfjoXbSJHbSpiB8Dt7g21dAMK8Hgp23x3L1AUbhQgVa3aAAMt2ho1y3VQixBkZ4TfsoSATd3eOJ4ioE0U8c1ow== "@bazel/jasmine@5.3.0": version "5.3.0" @@ -1256,36 +1256,36 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-4.6.0.tgz#03f52ef8426b8fda5a23d42cda51a7c866d26d31" - integrity sha512-bBDbg3cP07PNDIt7QhG9aS3NlImbRnV7+9Udnbs9jYBmUHCjnvUkgZZAoedeKl2+ae/Xo0ca/isiRP/rbnoOLw== +"@bazel/protractor@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.2.0.tgz#c9a999dffa9021b7c1e0a3fa65dad37061cb83dc" + integrity sha512-WdpPa9onYJ0ghAfeK4lIzzdNx0QeOGXCYX0+eF7SJYKsiQtvihph+MQUTSFjqunaHKhCFA9q2IoJ6N+5+7Zuvw== -"@bazel/runfiles@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-4.6.0.tgz#e6b7620b61e65d2f85ed823bda1529838a54af0b" - integrity sha512-Zl3Y+BrsrYaEKvRQCmhqSAdVcyjzBrdCxgpzi5/lj5X9H9RxXrO/oOlrQf6yJeWYRKmA8voyF7haES0Ao50uKQ== +"@bazel/runfiles@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.2.0.tgz#8c30943c05fe9d3041d5441b8720c6b743b7adde" + integrity sha512-Qm5zkxc2Jyod/r6faPgOogFO1+6WPOtIhEyaqH9b2ZvR7Ok/H79Fbyh6A3TrtG12XkIC7OEjJc2VsSRrX88Tcw== -"@bazel/terser@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-4.6.0.tgz#03d41d6e7f79645154ef30eee15db00ea2c212ba" - integrity sha512-kgmegDNLgh8xADYDe7K06STeQ7utJL5eExy0gx+3f9JnPisWIgT9seXh4+ACc4CjTh1gQiQAHOYVCzXo0gp0fQ== +"@bazel/terser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.2.0.tgz#7e98626cf5dfc3e41bd9d724c35eff4270261b1f" + integrity sha512-ett6c+T1tIXu4f4dy2ohYznaHlvH7tuQcFvdEltU4Fv6JfV/Lmo1QtAqBgq9D+05Jr3n/vqA+Fxk3Gc4h48Iog== -"@bazel/typescript@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-4.6.0.tgz#cd1fe24214581af72622dbc9e025c9af21e2ebda" - integrity sha512-TLysIpJuMxZXAjZEFHkmLg71Ec3RRQTpbZsUtobBnIG5rRwbb2fgdFVfBx3Wvjg4oR+gj5Yj8yCRa4Ad+UhoYg== +"@bazel/typescript@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.2.0.tgz#131127c8016c712ef1b291f2b52108e5326f0447" + integrity sha512-hNpSCQj5dOX95iC4Yf/fuyxfMU5uTAe84thqPcTCvOJFmpypN6qzxH24S5UiXkwbsL8sQM9DP0+qFyT/TRKdNw== dependencies: - "@bazel/worker" "4.6.0" + "@bazel/worker" "5.2.0" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-4.6.0.tgz#0a4332be547fcd94fa5da1dfa200a28a6bf5fc5b" - integrity sha512-X6LIvvsMxhjIXp4G6zBYBYduDkphRC3Tj/6Es0+mJUWjWlK1pH0vRbONf9mDNCsABeoQ2iCcWVn5ABQV7wfwUw== +"@bazel/worker@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.2.0.tgz#464726821f9d98b11c6536e2547d44459a321a61" + integrity sha512-C9ozvgRP2iug4e9XaVjfXSKmrUMyzsYhDN2/A+MqKl8qlAf5AlveNofCUBASHxJsYiBn3ATbPNUznGsjeMpVWg== dependencies: google-protobuf "^3.6.1" @@ -10137,7 +10137,7 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" -terser@5.12.1, terser@^5.7.2: +terser@5.12.1: version "5.12.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== @@ -10147,6 +10147,15 @@ terser@5.12.1, terser@^5.7.2: source-map "~0.7.2" source-map-support "~0.5.20" +terser@^5.7.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10296,9 +10305,9 @@ treeify@^1.1.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" - integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== + version "10.5.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" + integrity sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" From f65248b1f64ae38948125054f0d2e9dc59dee453 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 24 Mar 2022 06:07:47 +0000 Subject: [PATCH 0221/1388] build: update dependency jasmine-core to v4 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b9bab07ace65..9a4a8d5a5f99 100644 --- a/package.json +++ b/package.json @@ -149,7 +149,7 @@ "ini": "2.0.0", "inquirer": "8.2.1", "jasmine": "^3.3.1", - "jasmine-core": "~3.10.0", + "jasmine-core": "~4.0.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", "jsonc-parser": "3.0.0", diff --git a/yarn.lock b/yarn.lock index fcc009b2f07c..dd3ecd72924e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6385,10 +6385,10 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-core@~3.10.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.10.1.tgz#7aa6fa2b834a522315c651a128d940eca553989a" - integrity sha512-ooZWSDVAdh79Rrj4/nnfklL3NQVra0BcuhcuWoAwwi+znLDoUeH87AFfeX8s+YeYi6xlv5nveRyaA1v7CintfA== +jasmine-core@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.0.1.tgz#ea4b0495d82155023bd56c25181d9f9b623f61b8" + integrity sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg== jasmine-reporters@~2.5.0: version "2.5.0" From 455aeea12d8509a526a28cf126899e60c4a21cef Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 10 Nov 2021 15:53:47 +0100 Subject: [PATCH 0222/1388] fix(@angular-devkit/core): add Angular CLI major version as analytics dimension With this change we replace the custom dimension 8 `AOT Enabled`, with `Angular CLI Major Version`. The motivation behind replacing this dimension is that the there is already an `aot` dimension with id 13 which serves for the same purpose. More information to why we need a new dimension for the Angular CLI major version can be found #22130 Closes #22130 --- docs/design/analytics.md | 2 +- goldens/public-api/angular_devkit/core/src/index.md | 2 +- .../angular/cli/src/analytics/analytics-collector.ts | 3 +++ .../build_angular/src/webpack/configs/analytics.ts | 9 +-------- .../build_angular/src/webpack/plugins/analytics.ts | 3 --- packages/angular_devkit/core/src/analytics/index.ts | 4 ++-- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index e477a902439d..770acee03860 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -51,7 +51,7 @@ Note: There's a limit of 20 custom dimensions. | 5 | `Flag: --style` | `string` | | 6 | `--collection` | `string` | | 7 | `Flag: --strict` | `boolean` | -| 8 | `AOT Enabled` | `boolean` | +| 8 | `Angular CLI Major Version` | `string` | | 9 | `Flag: --inline-style` | `boolean` | | 10 | `Flag: --inline-template` | `boolean` | | 11 | `Flag: --view-encapsulation` | `string` | diff --git a/goldens/public-api/angular_devkit/core/src/index.md b/goldens/public-api/angular_devkit/core/src/index.md index e40b56bc683e..3ffe8f6f1ad7 100644 --- a/goldens/public-api/angular_devkit/core/src/index.md +++ b/goldens/public-api/angular_devkit/core/src/index.md @@ -1064,7 +1064,7 @@ class MultiAnalytics implements Analytics { // @public enum NgCliAnalyticsDimensions { // (undocumented) - AotEnabled = 8, + AngularCLIMajorVersion = 8, // (undocumented) BuildErrors = 20, // (undocumented) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 5d0a8cf8c88e..c8f932f51336 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -117,6 +117,9 @@ export class AnalyticsCollector implements analytics.Analytics { os.totalmem() / (1024 * 1024 * 1024), ); this.parameters['cd' + analytics.NgCliAnalyticsDimensions.NodeVersion] = nodeVersion; + + this.parameters['cd' + analytics.NgCliAnalyticsDimensions.AngularCLIMajorVersion] = + VERSION.major; } event(ec: string, ea: string, options: analytics.EventOptions = {}): void { diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts index 06bbf2d5d505..05a8e7aa3831 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts @@ -28,13 +28,6 @@ export function getAnalyticsConfig( // The category is the builder name if it's an angular builder. return { - plugins: [ - new NgBuildAnalyticsPlugin( - wco.projectRoot, - context.analytics, - category, - wco.buildOptions.aot ?? false, - ), - ], + plugins: [new NgBuildAnalyticsPlugin(wco.projectRoot, context.analytics, category)], }; } diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts index d793455fc537..185ac24e440c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts @@ -81,7 +81,6 @@ export class NgBuildAnalyticsPlugin { protected _projectRoot: string, protected _analytics: analytics.Analytics, protected _category: string, - private aotEnabled: boolean, ) {} protected _reset() { @@ -115,8 +114,6 @@ export class NgBuildAnalyticsPlugin { dimensions[analytics.NgCliAnalyticsDimensions.BuildErrors] = `,${this._stats.errors.join()},`; } - dimensions[analytics.NgCliAnalyticsDimensions.AotEnabled] = this.aotEnabled; - return dimensions; } diff --git a/packages/angular_devkit/core/src/analytics/index.ts b/packages/angular_devkit/core/src/analytics/index.ts index f99cef1b213a..223c79b93aca 100644 --- a/packages/angular_devkit/core/src/analytics/index.ts +++ b/packages/angular_devkit/core/src/analytics/index.ts @@ -27,7 +27,7 @@ export enum NgCliAnalyticsDimensions { RamInGigabytes = 3, NodeVersion = 4, NgAddCollection = 6, - AotEnabled = 8, + AngularCLIMajorVersion = 8, BuildErrors = 20, } @@ -57,7 +57,7 @@ export const NgCliAnalyticsDimensionsFlagInfo: { [name: string]: [string, string RamInGigabytes: ['RAM (In GB)', 'number'], NodeVersion: ['Node Version', 'number'], NgAddCollection: ['--collection', 'string'], - AotEnabled: ['AOT Enabled', 'boolean'], + AngularCLIMajorVersion: ['Angular CLI Major Version', 'string'], BuildErrors: ['Build Errors (comma separated)', 'string'], }; From 56b44aba744bd9241b1d030e4f15a64fda396425 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Mar 2022 14:53:36 +0100 Subject: [PATCH 0223/1388] refactor(@angular-devkit/build-angular): remove types for `@discoveryjs/json-ext` This package now ships TypeScript declaration files. --- packages/angular_devkit/build_angular/src/typings.d.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/typings.d.ts b/packages/angular_devkit/build_angular/src/typings.d.ts index 78ac0d8ee009..204fa0d207d0 100644 --- a/packages/angular_devkit/build_angular/src/typings.d.ts +++ b/packages/angular_devkit/build_angular/src/typings.d.ts @@ -6,10 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -declare module '@discoveryjs/json-ext' { - export function stringifyStream(value: unknown): import('stream').Readable; -} - declare module '@babel/helper-annotate-as-pure' { export default function annotateAsPure( pathOrNode: import('@babel/types').Node | { node: import('@babel/types').Node }, From 53771e18b5b58768436ad40df5927f27236bd1a3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 16 Mar 2022 10:38:49 +0000 Subject: [PATCH 0224/1388] build: update dependency @types/jasmine to v4 --- .../schematics_cli/blank/project-files/package.json | 2 +- .../angular_devkit/schematics_cli/schematic/files/package.json | 2 +- .../schematics/angular/utility/latest-versions/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json b/packages/angular_devkit/schematics_cli/blank/project-files/package.json index 7c5c219e17ab..05e4faa3273e 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/package.json +++ b/packages/angular_devkit/schematics_cli/blank/project-files/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^14.15.0", - "@types/jasmine": "~3.10.0", + "@types/jasmine": "~4.0.0", "jasmine": "^4.0.0" } } diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index f81aef9910c4..9ea9e41f3bf2 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^14.15.0", - "@types/jasmine": "~3.10.0", + "@types/jasmine": "~4.0.0", "jasmine": "~4.0.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 69ec4a1ab08e..de48628095dd 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -3,7 +3,7 @@ "comment": "This file is needed so that depedencies are synced by Renovate.", "private": true, "dependencies": { - "@types/jasmine": "~3.10.0", + "@types/jasmine": "~4.0.0", "@types/node": "^14.15.0", "jasmine-core": "~4.0.0", "karma-chrome-launcher": "~3.1.0", From b50efbbd46b597676d016981ac5bd15409115887 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 24 Mar 2022 07:42:43 +0000 Subject: [PATCH 0225/1388] build: update dependency jasmine to v4 --- package.json | 4 ++-- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 9a4a8d5a5f99..c82b6208164a 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@types/glob": "^7.1.1", "@types/http-proxy": "^1.17.4", "@types/inquirer": "^8.0.0", - "@types/jasmine": "~3.10.0", + "@types/jasmine": "~4.0.0", "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", "@types/minimatch": "3.0.5", @@ -148,7 +148,7 @@ "husky": "7.0.4", "ini": "2.0.0", "inquirer": "8.2.1", - "jasmine": "^3.3.1", + "jasmine": "^4.0.0", "jasmine-core": "~4.0.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", diff --git a/yarn.lock b/yarn.lock index dd3ecd72924e..d16d20e3c1dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1942,10 +1942,10 @@ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== -"@types/jasmine@~3.10.0": - version "3.10.4" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.10.4.tgz#477e91a35e130f2cc5e9ab51565c0d6639729e46" - integrity sha512-7UAoOBYJpaZKmpJ8esMUIMl6pSdReliPQjviOOikWdQ7eVr4Hq8YbpeXyfXFKflZv8ymDFhYdTjVabbP2s4K4Q== +"@types/jasmine@~4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.0.0.tgz#48bfd99cbe16dcdcde0b7d3bfa62319504d141f9" + integrity sha512-KvhqNz4NaONk7cfp4E9x+uXOUp7x4H2Zeyb4yXnw2vIuxD5YfSi1767x+aF7z54elhZcC0OH9/78/WL6+5jcDg== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.10" @@ -6375,21 +6375,21 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^3.6.0, jasmine-core@~3.99.0: +jasmine-core@^3.6.0: version "3.99.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.99.1.tgz#5bfa4b2d76618868bfac4c8ff08bb26fffa4120d" integrity sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg== +jasmine-core@^4.0.0, jasmine-core@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.0.1.tgz#ea4b0495d82155023bd56c25181d9f9b623f61b8" + integrity sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg== + jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-core@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.0.1.tgz#ea4b0495d82155023bd56c25181d9f9b623f61b8" - integrity sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg== - jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -6414,13 +6414,13 @@ jasmine@2.8.0: glob "^7.0.6" jasmine-core "~2.8.0" -jasmine@^3.3.1: - version "3.99.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.99.0.tgz#7cc7aeda7ade2d57694fc818a374f778cbb4ea62" - integrity sha512-YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw== +jasmine@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.0.2.tgz#6f5ff7fbf6b67f56600235fdb7d299ac52876c4b" + integrity sha512-YsrgxJQEggxzByYe4j68eQLOiQeSrPDYGv4sHhGBp3c6HHdq+uPXeAQ73kOAQpdLZ3/0zN7x/TZTloqeE1/qIA== dependencies: glob "^7.1.6" - jasmine-core "~3.99.0" + jasmine-core "^4.0.0" jasminewd2@^2.1.0: version "2.2.0" From 4b4cecf88f84589fbf2cfe712f0edd84a5961798 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 24 Mar 2022 14:03:36 +0100 Subject: [PATCH 0226/1388] test: update tests to work with Jasmine version 4 These changes include fixes to tests, timeout and stop of architect to make tests work with Jasmine 4. One noticeable change that when we didn't stop architect through `run.stop()` this causes Bazel to timeout now. Example ``` -- Test timed out at 2022-03-24 12:07:07 UTC -- /private/var/tmp/_bazel_alanagius/5168427e57f204ca069c602aa7ed1931/sandbox/darwin-sandbox/398/execroot/angular_cli/bazel-out/darwin-fastbuild/bin/packages/angular_devkit/build_angular/build_angular_browser_test.sh.runfiles/angular_cli/packages/angular_devkit/build_angular/build_angular_browser_test.sh: line 424: 41835 Terminated: 15 "${node}" ${LAUNCHER_NODE_OPTIONS[@]+"${LAUNCHER_NODE_OPTIONS[@]}"} ${USER_NODE_OPTIONS[@]+"${USER_NODE_OPTIONS[@]}"} "${MAIN}" ${ARGS[@]+"${ARGS[@]}"} 0<&0 ``` --- lib/bootstrap-local.js | 4 +- package.json | 1 - packages/angular_devkit/benchmark/BUILD.bazel | 1 - .../angular_devkit/benchmark/src/main_spec.ts | 8 +- .../browser/specs/build-optimizer_spec.ts | 7 +- .../browser/specs/cross-origin_spec.ts | 1 + .../src/builders/browser/specs/index_spec.ts | 3 + .../browser/specs/lazy-module_spec.ts | 7 +- .../browser/specs/output-path_spec.ts | 1 + .../src/builders/browser/specs/poll_spec.ts | 8 +- .../builders/browser/specs/rebuild_spec.ts | 20 ++- .../browser/specs/replacements_spec.ts | 12 +- .../browser/specs/resolve-json-module_spec.ts | 2 + .../src/builders/browser/specs/styles_spec.ts | 2 + .../dev-server/specs/live-reload_spec.ts | 11 +- .../behavior/build_translation_watch_spec.ts | 2 +- .../dev-server/tests/options/watch_spec.ts | 6 +- .../src/builders/dev-server/tests/setup.ts | 2 +- packages/angular_devkit/core/node/BUILD.bazel | 1 - .../angular_devkit/core/node/host_spec.ts | 128 ++++++++---------- .../core/src/json/schema/prompt_spec.ts | 98 ++++++-------- .../schematics/src/sink/dryrun_spec.ts | 38 +++--- yarn.lock | 15 -- 23 files changed, 174 insertions(+), 204 deletions(-) diff --git a/lib/bootstrap-local.js b/lib/bootstrap-local.js index 82de25aed44b..bcc5b006ee09 100644 --- a/lib/bootstrap-local.js +++ b/lib/bootstrap-local.js @@ -16,11 +16,11 @@ const debugBuildTs = debug('ng:local:build:ts'); const child_process = require('child_process'); const fs = require('fs'); +const os = require('os'); const path = require('path'); -const temp = require('temp'); const ts = require('typescript'); -const tmpRoot = temp.mkdirSync('angular-devkit-'); +const tmpRoot = fs.mkdtempSync(path.join(fs.realpathSync(os.tmpdir()), 'angular-devkit-')); debugLocal('starting bootstrap local'); diff --git a/package.json b/package.json index c82b6208164a..c68e1aee4395 100644 --- a/package.json +++ b/package.json @@ -202,7 +202,6 @@ "stylus-loader": "6.2.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "temp": "^0.9.0", "terser": "5.12.1", "text-table": "0.2.0", "tree-kill": "1.2.2", diff --git a/packages/angular_devkit/benchmark/BUILD.bazel b/packages/angular_devkit/benchmark/BUILD.bazel index 84beef742f1b..5fde557128a9 100644 --- a/packages/angular_devkit/benchmark/BUILD.bazel +++ b/packages/angular_devkit/benchmark/BUILD.bazel @@ -63,7 +63,6 @@ jasmine_node_test( "@npm//pidtree", "@npm//pidusage", "@npm//source-map", - "@npm//temp", "@npm//tree-kill", "@npm//yargs-parser", ], diff --git a/packages/angular_devkit/benchmark/src/main_spec.ts b/packages/angular_devkit/benchmark/src/main_spec.ts index 3beaf32a2c15..6485b393805f 100644 --- a/packages/angular_devkit/benchmark/src/main_spec.ts +++ b/packages/angular_devkit/benchmark/src/main_spec.ts @@ -6,13 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ -import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'fs'; +import { existsSync, mkdtempSync, readFileSync, realpathSync, unlinkSync, writeFileSync } from 'fs'; +import { tmpdir } from 'os'; import { basename, dirname, join } from 'path'; import { main } from './main'; -// eslint-disable-next-line import/no-extraneous-dependencies -const temp = require('temp'); - // We only care about the write method in these mocks of NodeJS.WriteStream. class MockWriteStream { lines: string[] = []; @@ -29,7 +27,7 @@ describe('benchmark binary', () => { const exitCodeOneScript = require.resolve(join(__dirname, './test/exit-code-one.js')); const benchmarkWatchScript = require.resolve(join(__dirname, './test/watch-test-cmd.js')); const watchTriggerScript = require.resolve(join(__dirname, './test/watch-test-script.js')); - const outputFileRoot = temp.mkdirSync('benchmark-binary-spec-'); + const outputFileRoot = mkdtempSync(join(realpathSync(tmpdir()), 'benchmark-binary-spec-')); const outputFile = join(outputFileRoot, 'output.log'); let stdout: MockWriteStream, stderr: MockWriteStream; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts index 5908c9a2d272..4c5147f53b5c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts @@ -30,11 +30,8 @@ describe('Browser Builder build optimizer', () => { it('fails if AOT is disabled', async () => { const overrides = { aot: false, buildOptimizer: true }; const run = await architect.scheduleTarget(targetSpec, overrides); - - try { - await run.result; - expect('THE ABOVE LINE SHOULD THROW').toBe(''); - } catch {} + await expectAsync(run.result).toBeRejectedWithError(); + await run.stop(); }); it('reduces bundle size', async () => { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/cross-origin_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/cross-origin_spec.ts index b4e1b14cda06..5fcdd4e2fece 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/cross-origin_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/cross-origin_spec.ts @@ -99,5 +99,6 @@ describe('Browser Builder crossOrigin', () => { const fileName = join(normalize(output.outputPath), 'runtime.js'); const content = virtualFs.fileBufferToString(await host.read(normalize(fileName)).toPromise()); expect(content).toContain('script.crossOrigin = "use-credentials"'); + await run.stop(); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts index 81af7a911a7c..eee3427740cf 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts @@ -156,6 +156,7 @@ describe('Browser Builder index HTML processing', () => { `` + ``, ); + await run.stop(); }); it('uses the output value from the index option longform', async () => { @@ -202,6 +203,7 @@ describe('Browser Builder index HTML processing', () => { `` + ``, ); + await run.stop(); }); it('creates subdirectories for output value from the index option longform', async () => { @@ -248,5 +250,6 @@ describe('Browser Builder index HTML processing', () => { `` + ``, ); + await run.stop(); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts index 016632feccb2..5e025a65cb81 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts @@ -65,7 +65,7 @@ describe('Browser Builder lazy modules', () => { const { files } = await browserBuild(architect, host, target, { aot: true }); const data = await files['src_app_lazy_lazy_module_ts.js']; - expect(data).not.toBeUndefined('Lazy module output bundle does not exist'); + expect(data).not.toBeUndefined(); expect(data).toContain('LazyModule.ɵmod'); }); }); @@ -85,7 +85,8 @@ describe('Browser Builder lazy modules', () => { const run = await architect.scheduleTarget(target, {}, { logger }); const output = await run.result; expect(output.success).toBe(false); - expect(hasMissingModuleError(logs.join())).toBe(true, 'Should show missing module error'); + expect(hasMissingModuleError(logs.join())).toBeTrue(); + await run.stop(); }); it('should show error when lazy route is invalid on watch mode AOT', async () => { @@ -98,7 +99,7 @@ describe('Browser Builder lazy modules', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( - debounceTime(3000), + debounceTime(1500), tap((buildEvent) => { buildNumber++; switch (buildNumber) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts index 2b09fe90b625..6686d0d2b874 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts @@ -65,6 +65,7 @@ describe('Browser Builder output path', () => { expect(await host.exists(join(host.root(), 'dist')).toPromise()).toBe(false); expect(await host.exists(join(host.root(), 'src-link')).toPromise()).toBe(true); + await run.stop(); }); it('does not allow output path to be project root', async () => { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts index 24334ec1eaa7..7a067e01152d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts @@ -7,8 +7,9 @@ */ import { Architect } from '@angular-devkit/architect'; -import { debounceTime, take, tap } from 'rxjs/operators'; +import { debounceTime, take, tap, timeout } from 'rxjs/operators'; import { createArchitect, host } from '../../../testing/test-utils'; +import { BUILD_TIMEOUT } from '../index'; describe('Browser Builder poll', () => { const target = { project: 'app', target: 'build' }; @@ -21,13 +22,14 @@ describe('Browser Builder poll', () => { afterEach(async () => host.restore().toPromise()); it('works', async () => { - const overrides = { watch: true, poll: 10000 }; + const overrides = { watch: true, poll: 4000 }; const intervals: number[] = []; let startTime: number | undefined; const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), // Debounce 1s, otherwise changes are too close together and polling doesn't work. debounceTime(1000), tap((buildEvent) => { @@ -46,5 +48,7 @@ describe('Browser Builder poll', () => { const median = intervals[Math.trunc(intervals.length / 2)]; expect(median).toBeGreaterThan(3000); expect(median).toBeLessThan(12000); + + await run.stop(); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts index dd5ef34f7b89..1146d0a036a4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts @@ -8,7 +8,7 @@ import { Architect } from '@angular-devkit/architect'; import { join, logging, normalize, virtualFs } from '@angular-devkit/core'; -import { debounceTime, take, takeWhile, tap } from 'rxjs/operators'; +import { debounceTime, take, takeWhile, tap, timeout } from 'rxjs/operators'; import { createArchitect, host, @@ -16,6 +16,7 @@ import { lazyModuleFnImport, outputPath, } from '../../../testing/test-utils'; +import { BUILD_TIMEOUT } from '../index'; describe('Browser Builder rebuilds', () => { const target = { project: 'app', target: 'build' }; @@ -78,9 +79,10 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((result) => { - expect(result.success).toBe(true, 'build should succeed'); + expect(result.success).toBeTrue(); const hasLazyChunk = host .scopedSync() .exists(normalize('dist/src_app_lazy_lazy_module_ts.js')); @@ -131,6 +133,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => expect(buildEvent.success).toBe(true)), tap(() => host.appendToFile('src/app/app.component.css', ':host { color: blue; }')), @@ -164,6 +167,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides, { logger }); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => { buildNumber += 1; @@ -217,12 +221,14 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => expect(buildEvent.success).toBe(true)), tap(() => host.writeMultipleFiles({ 'src/type.ts': `export type MyType = string;` })), take(2), ) .toPromise(); + await run.stop(); }); it('rebuilds on transitive type-only file changes', async () => { @@ -250,6 +256,7 @@ describe('Browser Builder rebuilds', () => { let buildNumber = 0; await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => expect(buildEvent.success).toBe(true)), tap(() => { @@ -266,6 +273,8 @@ describe('Browser Builder rebuilds', () => { take(5), ) .toPromise(); + + await run.stop(); }); it('rebuilds on transitive non node package DTS file changes', async () => { @@ -293,6 +302,7 @@ describe('Browser Builder rebuilds', () => { let buildNumber = 0; await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => expect(buildEvent.success).toBe(true)), tap(() => { @@ -304,6 +314,7 @@ describe('Browser Builder rebuilds', () => { take(2), ) .toPromise(); + await run.stop(); }); it('rebuilds after errors in JIT', async () => { @@ -318,6 +329,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => { buildNumber++; @@ -363,6 +375,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides, { logger }); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => { buildNumber += 1; @@ -461,6 +474,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => { buildNumber += 1; @@ -551,6 +565,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap((buildEvent) => { buildNumber += 1; @@ -615,6 +630,7 @@ describe('Browser Builder rebuilds', () => { const run = await architect.scheduleTarget(target, overrides); await run.output .pipe( + timeout(BUILD_TIMEOUT), debounceTime(rebuildDebounceTime), tap(() => { const content = virtualFs.fileBufferToString( diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts index 20e62bdc238b..39841f9aeb1f 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts @@ -76,10 +76,7 @@ describe('Browser Builder file replacements', () => { }; const run = await architect.scheduleTarget(target, overrides); - try { - await run.result; - expect('THE ABOVE LINE SHOULD THROW').toBe(''); - } catch {} + await expectAsync(run.result).toBeRejectedWithError(); await run.stop(); }); @@ -94,10 +91,7 @@ describe('Browser Builder file replacements', () => { }; const run = await architect.scheduleTarget(target, overrides); - try { - await run.result; - expect('THE ABOVE LINE SHOULD THROW').toBe(''); - } catch {} + await expectAsync(run.result).toBeRejectedWithError(); await run.stop(); }); @@ -214,7 +208,7 @@ describe('Browser Builder file replacements', () => { .subscribe(); const res = await stop$.toPromise(); - expect(res).not.toBe(null, 'Test timed out.'); + expect(res).toBeDefined(); expect(res).not.toContain(unexpectedError); await run.stop(); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts index 52ff4f9fcb38..7f24650c806e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts @@ -62,5 +62,7 @@ describe('Browser Builder resolve json module', () => { take(2), ) .toPromise(); + + await run.stop(); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 71a39f0f3e5c..6c48c0b1eb34 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -513,6 +513,8 @@ describe('Browser Builder styles', () => { const run2 = await architect.scheduleTarget(target, overrides); await expectAsync(run2.result).toBeResolvedTo(jasmine.objectContaining({ success: false })); + await run2.stop(); + await run.stop(); }); it('supports Protocol-relative Url', async () => { diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts index fe55172ebde7..84d908431312 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts @@ -11,7 +11,7 @@ import { Architect, BuilderRun } from '@angular-devkit/architect'; import { tags } from '@angular-devkit/core'; import { createProxyServer } from 'http-proxy'; import puppeteer, { Browser, Page } from 'puppeteer'; -import { debounceTime, switchMap, take } from 'rxjs/operators'; +import { debounceTime, finalize, switchMap, take } from 'rxjs/operators'; import { createArchitect, host } from '../../../testing/test-utils'; // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -131,7 +131,6 @@ describe('Dev Server Builder live-reload', () => { let browser: Browser; let page: Page; let runs: BuilderRun[]; - let proxy: ProxyInstance | undefined; beforeAll(async () => { browser = await puppeteer.launch({ @@ -164,8 +163,6 @@ describe('Dev Server Builder live-reload', () => { }); afterEach(async () => { - proxy?.server.close(); - proxy = undefined; await host.restore().toPromise(); await page.close(); await Promise.all(runs.map((r) => r.stop())); @@ -227,6 +224,9 @@ describe('Dev Server Builder live-reload', () => { buildCount++; }), take(2), + finalize(() => { + proxy?.server.close(); + }), ) .toPromise(); }); @@ -258,6 +258,9 @@ describe('Dev Server Builder live-reload', () => { buildCount++; }), take(2), + finalize(() => { + proxy?.server.close(); + }), ) .toPromise(); }); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_translation_watch_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_translation_watch_spec.ts index aea5f2ff5889..630bd63e0f2c 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_translation_watch_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_translation_watch_spec.ts @@ -57,7 +57,7 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { const buildCount = await harness .execute() .pipe( - timeout(BUILD_TIMEOUT * 2), + timeout(BUILD_TIMEOUT), concatMap(async ({ result }, index) => { expect(result?.success).toBe(true); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/watch_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/watch_spec.ts index 8aad6f724149..4da51b5ba03e 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/watch_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/watch_spec.ts @@ -32,7 +32,7 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { await harness .execute() .pipe( - timeout(BUILD_TIMEOUT * 2), + timeout(BUILD_TIMEOUT), concatMap(async ({ result }, index) => { expect(result?.success).toBe(true); @@ -68,7 +68,7 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { const buildCount = await harness .execute() .pipe( - timeout(BUILD_TIMEOUT * 2), + timeout(BUILD_TIMEOUT), concatMap(async ({ result }, index) => { expect(result?.success).toBe(true); @@ -100,7 +100,7 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { const buildCount = await harness .execute() .pipe( - timeout(BUILD_TIMEOUT * 2), + timeout(BUILD_TIMEOUT), concatMap(async ({ result }, index) => { expect(result?.success).toBe(true); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/setup.ts index a6330da2a7cb..6ee052567874 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/setup.ts @@ -38,7 +38,7 @@ export const BASE_OPTIONS = Object.freeze({ * Maximum time for single build/rebuild * This accounts for CI variability. */ -export const BUILD_TIMEOUT = 15_000; +export const BUILD_TIMEOUT = 25_000; /** * Cached browser builder option schema diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index a97bc10b2485..b99e476d4869 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -57,7 +57,6 @@ jasmine_node_test( srcs = [":node_test_lib"], deps = [ "@npm//chokidar", - "@npm//temp", # @node_module: ajv # @node_module: fast_json_stable_stringify # @node_module: magic_string diff --git a/packages/angular_devkit/core/node/host_spec.ts b/packages/angular_devkit/core/node/host_spec.ts index c4315f793a99..078a881ea5ba 100644 --- a/packages/angular_devkit/core/node/host_spec.ts +++ b/packages/angular_devkit/core/node/host_spec.ts @@ -6,15 +6,13 @@ * found in the LICENSE file at https://angular.io/license */ -/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ /* eslint-disable import/no-extraneous-dependencies */ import { normalize, virtualFs } from '@angular-devkit/core'; import { NodeJsAsyncHost, NodeJsSyncHost } from '@angular-devkit/core/node'; import * as fs from 'fs'; -import { Observable, Subscription } from 'rxjs'; - -const temp = require('temp'); +import { tmpdir } from 'os'; +import { join } from 'path'; // TODO: replace this with an "it()" macro that's reusable globally. let linuxOnlyIt: typeof it = it; @@ -27,11 +25,11 @@ describe('NodeJsAsyncHost', () => { let host: virtualFs.Host; beforeEach(() => { - root = temp.mkdirSync('core-node-spec-'); + root = fs.mkdtempSync(join(fs.realpathSync(tmpdir()), 'core-node-spec-')); host = new virtualFs.ScopedHost(new NodeJsAsyncHost(), normalize(root)); }); - afterEach((done) => host.delete(normalize('/')).toPromise().then(done, done.fail)); + afterEach(async () => host.delete(normalize('/')).toPromise()); it('should get correct result for exists', async () => { const filePath = normalize('not-found'); @@ -42,35 +40,30 @@ describe('NodeJsAsyncHost', () => { linuxOnlyIt( 'can watch', - (done) => { - let obs: Observable; - let subscription: Subscription; + async () => { const content = virtualFs.stringToFileBuffer('hello world'); const content2 = virtualFs.stringToFileBuffer('hello world 2'); const allEvents: virtualFs.HostWatchEvent[] = []; - Promise.resolve() - .then(() => fs.mkdirSync(root + '/sub1')) - .then(() => fs.writeFileSync(root + '/sub1/file1', 'hello world')) - .then(() => { - obs = host.watch(normalize('/sub1'), { recursive: true })!; - expect(obs).not.toBeNull(); - subscription = obs.subscribe((event) => { - allEvents.push(event); - }); - }) - .then(() => new Promise((resolve) => setTimeout(resolve, 100))) - // Discard the events registered so far. - .then(() => allEvents.splice(0)) - .then(() => host.write(normalize('/sub1/sub2/file3'), content).toPromise()) - .then(() => host.write(normalize('/sub1/file2'), content2).toPromise()) - .then(() => host.delete(normalize('/sub1/file1')).toPromise()) - .then(() => new Promise((resolve) => setTimeout(resolve, 2000))) - .then(() => { - expect(allEvents.length).toBe(3); - subscription.unsubscribe(); - }) - .then(done, done.fail); + fs.mkdirSync(root + '/sub1'); + fs.writeFileSync(root + '/sub1/file1', 'hello world'); + + const obs = host.watch(normalize('/sub1'), { recursive: true }); + expect(obs).toBeDefined(); + const subscription = obs!.subscribe((event) => { + allEvents.push(event); + }); + await new Promise((resolve) => setTimeout(resolve, 100)); + + // Discard the events registered so far. + allEvents.splice(0); + await host.write(normalize('/sub1/sub2/file3'), content).toPromise(); + await host.write(normalize('/sub1/file2'), content2).toPromise(); + await host.delete(normalize('/sub1/file1')).toPromise(); + + await new Promise((resolve) => setTimeout(resolve, 2000)); + expect(allEvents.length).toBe(3); + subscription.unsubscribe(); }, 30000, ); @@ -81,7 +74,7 @@ describe('NodeJsSyncHost', () => { let host: virtualFs.SyncDelegateHost; beforeEach(() => { - root = temp.mkdirSync('core-node-spec-'); + root = fs.mkdtempSync(join(fs.realpathSync(tmpdir()), 'core-node-spec-')); host = new virtualFs.SyncDelegateHost( new virtualFs.ScopedHost(new NodeJsSyncHost(), normalize(root)), ); @@ -92,56 +85,47 @@ describe('NodeJsSyncHost', () => { linuxOnlyIt( 'can watch', - (done) => { - let obs: Observable; - let subscription: Subscription; + async () => { const content = virtualFs.stringToFileBuffer('hello world'); const content2 = virtualFs.stringToFileBuffer('hello world 2'); const allEvents: virtualFs.HostWatchEvent[] = []; - Promise.resolve() - .then(() => fs.mkdirSync(root + '/sub1')) - .then(() => fs.writeFileSync(root + '/sub1/file1', 'hello world')) - .then(() => { - obs = host.watch(normalize('/sub1'), { recursive: true })!; - expect(obs).not.toBeNull(); - subscription = obs.subscribe((event) => { - allEvents.push(event); - }); - }) - .then(() => new Promise((resolve) => setTimeout(resolve, 100))) - // Discard the events registered so far. - .then(() => allEvents.splice(0)) - .then(() => { - host.write(normalize('/sub1/sub2/file3'), content); - host.write(normalize('/sub1/file2'), content2); - host.delete(normalize('/sub1/file1')); - }) - .then(() => new Promise((resolve) => setTimeout(resolve, 2000))) - .then(() => { - expect(allEvents.length).toBe(3); - subscription.unsubscribe(); - }) - .then(done, done.fail); + fs.mkdirSync(root + '/sub1'); + fs.writeFileSync(root + '/sub1/file1', 'hello world'); + + const obs = host.watch(normalize('/sub1'), { recursive: true }); + expect(obs).toBeDefined(); + const subscription = obs!.subscribe((event) => { + allEvents.push(event); + }); + await new Promise((resolve) => setTimeout(resolve, 100)); + + // Discard the events registered so far. + allEvents.splice(0); + + host.write(normalize('/sub1/sub2/file3'), content); + host.write(normalize('/sub1/file2'), content2); + host.delete(normalize('/sub1/file1')); + await new Promise((resolve) => setTimeout(resolve, 2000)); + + expect(allEvents.length).toBe(3); + subscription.unsubscribe(); }, 30000, ); linuxOnlyIt( 'rename to a non-existing dir', - (done) => { - Promise.resolve() - .then(() => fs.mkdirSync(root + '/rename')) - .then(() => fs.writeFileSync(root + '/rename/a.txt', 'hello world')) - .then(() => { - host.rename(normalize('/rename/a.txt'), normalize('/rename/b/c/d/a.txt')); - if (fs.existsSync(root + '/rename/b/c/d/a.txt')) { - const resContent = host.read(normalize('/rename/b/c/d/a.txt')); - const content = virtualFs.fileBufferToString(resContent); - expect(content).toEqual('hello world'); - } - }) - .then(done, done.fail); + () => { + fs.mkdirSync(root + '/rename'); + fs.writeFileSync(root + '/rename/a.txt', 'hello world'); + + host.rename(normalize('/rename/a.txt'), normalize('/rename/b/c/d/a.txt')); + if (fs.existsSync(root + '/rename/b/c/d/a.txt')) { + const resContent = host.read(normalize('/rename/b/c/d/a.txt')); + const content = virtualFs.fileBufferToString(resContent); + expect(content).toEqual('hello world'); + } }, 30000, ); diff --git a/packages/angular_devkit/core/src/json/schema/prompt_spec.ts b/packages/angular_devkit/core/src/json/schema/prompt_spec.ts index 4a7091f89ccd..2746798f4299 100644 --- a/packages/angular_devkit/core/src/json/schema/prompt_spec.ts +++ b/packages/angular_devkit/core/src/json/schema/prompt_spec.ts @@ -11,7 +11,7 @@ import { map, mergeMap } from 'rxjs/operators'; import { CoreSchemaRegistry } from './registry'; describe('Prompt Provider', () => { - it('sets properties with answer', (done) => { + it('sets properties with answer', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -19,7 +19,7 @@ describe('Prompt Provider', () => { return { [definitions[0].id]: true }; }); - registry + await registry .compile({ properties: { test: { @@ -34,11 +34,10 @@ describe('Prompt Provider', () => { expect(data.test).toBe(true); }), ) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('supports mixed schema references', (done) => { + it('supports mixed schema references', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -50,7 +49,7 @@ describe('Prompt Provider', () => { }; }); - registry + await registry .compile({ properties: { bool: { @@ -96,12 +95,11 @@ describe('Prompt Provider', () => { expect(data.obj.deep.three).toEqual('test3-answer'); }), ) - .toPromise() - .then(done, done.fail); + .toPromise(); }); describe('with shorthand', () => { - it('supports message value', (done) => { + it('supports message value', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -112,7 +110,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -122,11 +120,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes enums', (done) => { + it('analyzes enums', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -138,7 +135,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -149,11 +146,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes boolean properties', (done) => { + it('analyzes boolean properties', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -165,7 +161,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -175,13 +171,12 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); }); describe('with longhand', () => { - it('supports message option', (done) => { + it('supports message option', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -192,7 +187,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -204,11 +199,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes enums WITH explicit list type', (done) => { + it('analyzes enums WITH explicit list type', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -220,7 +214,7 @@ describe('Prompt Provider', () => { return { [definitions[0].id]: 'one' }; }); - registry + await registry .compile({ properties: { test: { @@ -234,11 +228,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes list with true multiselect option and object items', (done) => { + it('analyzes list with true multiselect option and object items', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -254,7 +247,7 @@ describe('Prompt Provider', () => { return { [definitions[0].id]: { 'value': 'one', 'label': 'one' } }; }); - registry + await registry .compile({ properties: { test: { @@ -272,11 +265,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes list with false multiselect option and object items', (done) => { + it('analyzes list with false multiselect option and object items', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -292,7 +284,7 @@ describe('Prompt Provider', () => { return { [definitions[0].id]: { 'value': 'one', 'label': 'one' } }; }); - registry + await registry .compile({ properties: { test: { @@ -310,11 +302,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes list without multiselect option and object items', (done) => { + it('analyzes list without multiselect option and object items', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -330,7 +321,7 @@ describe('Prompt Provider', () => { return { [definitions[0].id]: { 'value': 'two', 'label': 'two' } }; }); - registry + await registry .compile({ properties: { test: { @@ -347,11 +338,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes enums WITHOUT explicit list type', (done) => { + it('analyzes enums WITHOUT explicit list type', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -364,7 +354,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -377,11 +367,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes enums WITHOUT explicit list type and multiselect', (done) => { + it('analyzes enums WITHOUT explicit list type and multiselect', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -394,7 +383,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -407,11 +396,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('analyzes boolean properties', (done) => { + it('analyzes boolean properties', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -423,7 +411,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -435,11 +423,10 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); - it('allows prompt type override', (done) => { + it('allows prompt type override', async () => { const registry = new CoreSchemaRegistry(); const data: any = {}; @@ -451,7 +438,7 @@ describe('Prompt Provider', () => { return {}; }); - registry + await registry .compile({ properties: { test: { @@ -464,8 +451,7 @@ describe('Prompt Provider', () => { }, }) .pipe(mergeMap((validator) => validator(data))) - .toPromise() - .then(done, done.fail); + .toPromise(); }); }); }); diff --git a/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts b/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts index 7766a2e5d1c7..22f4b86acb13 100644 --- a/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts +++ b/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts @@ -18,7 +18,7 @@ const host = new virtualFs.test.TestHost({ }); describe('DryRunSink', () => { - it('works when creating everything', (done) => { + it('works when creating everything', async () => { const tree = new HostCreateTree(host); tree.create('/test', 'testing 1 2'); @@ -34,21 +34,20 @@ describe('DryRunSink', () => { expect(treeFiles).toEqual(files.map(normalize)); const sink = new DryRunSink(new virtualFs.SimpleMemoryHost()); - sink.reporter - .pipe(toArray()) - .toPromise() - .then((infos) => { - expect(infos.length).toBe(4); - for (const info of infos) { - expect(info.kind).toBe('create'); - } - }) - .then(done, done.fail); - sink.commit(tree).toPromise().then(done, done.fail); + const [infos] = await Promise.all([ + sink.reporter.pipe(toArray()).toPromise(), + sink.commit(tree).toPromise(), + ]); + + expect(infos.length).toBe(4); + + for (const info of infos) { + expect(info.kind).toBe('create'); + } }); - it('works with root', (done) => { + it('works with root', async () => { const tree = new HostTree(host); tree.create('/test', 'testing 1 2'); @@ -68,14 +67,11 @@ describe('DryRunSink', () => { outputHost.write(normalize('/hello'), virtualFs.stringToFileBuffer('')).subscribe(); const sink = new DryRunSink(outputHost); - sink.reporter - .pipe(toArray()) - .toPromise() - .then((infos) => { - expect(infos.map((x) => x.kind)).toEqual(['create', 'update']); - }) - .then(done, done.fail); + const [infos] = await Promise.all([ + sink.reporter.pipe(toArray()).toPromise(), + sink.commit(tree).toPromise(), + ]); - sink.commit(tree).toPromise().then(done, done.fail); + expect(infos.map((x) => x.kind)).toEqual(['create', 'update']); }); }); diff --git a/yarn.lock b/yarn.lock index d16d20e3c1dd..a67378080f7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9195,13 +9195,6 @@ rimraf@~2.4.0: dependencies: glob "^6.0.1" -rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - rollup-plugin-sourcemaps@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" @@ -10108,14 +10101,6 @@ tar@^6.0.2, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: mkdirp "^1.0.3" yallist "^4.0.0" -temp@^0.9.0: - version "0.9.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" - integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== - dependencies: - mkdirp "^0.5.1" - rimraf "~2.6.2" - terser-webpack-plugin@^5.1.3: version "5.3.1" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" From cea83b2289473b7a2bf162e5de65242ba05dc241 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 24 Mar 2022 14:03:50 +0100 Subject: [PATCH 0227/1388] build: update build_angular_test_lib to include all non builders spec files --- packages/angular_devkit/build_angular/BUILD.bazel | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index b0cd1f700538..943ba148311e 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -184,16 +184,17 @@ ts_library( testonly = True, srcs = glob( include = [ - "plugins/**/*_spec.ts", - "src/utils/**/*_spec.ts", - "src/babel/**/*_spec.ts", - "src/angular-cli-files/**/*_spec.ts", + "src/**/*_spec.ts", + ], + exclude = [ + "src/builders/**/*_spec.ts", ], ), data = glob(["test/**/*"]), # strict_checks = False, deps = [ ":build_angular", + ":build_angular_test_utils", "//packages/angular_devkit/architect/testing", "//packages/angular_devkit/core", "@npm//prettier", @@ -250,6 +251,9 @@ ts_library( "src/testing/**/*.ts", "src/**/tests/*.ts", ], + exclude = [ + "src/testing/**/*_spec.ts", + ], ), data = glob(["test/**/*"]), tsconfig = "//:tsconfig-test.json", From 5d38bee8cfd2660de821aff57183f37d40c21e41 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 24 Mar 2022 11:53:55 +0000 Subject: [PATCH 0228/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 714 +++++++----------- 7 files changed, 289 insertions(+), 497 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index a8b796d46e70..8b3d56973b12 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@104c49ad795097101ab3aa268a8e9af2cdf04a8d + - uses: angular/dev-infra/github-actions/commit-message-based-labels@223f927699fe366d2d68fde745fe2caa7e031fd1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index e0f802a16929..1a79cab5ed50 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@104c49ad795097101ab3aa268a8e9af2cdf04a8d + - uses: angular/dev-infra/github-actions/feature-request@223f927699fe366d2d68fde745fe2caa7e031fd1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index a552a25c415f..7cd4a639f0f7 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@104c49ad795097101ab3aa268a8e9af2cdf04a8d + - uses: angular/dev-infra/github-actions/lock-closed@223f927699fe366d2d68fde745fe2caa7e031fd1 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index c68e1aee4395..f160728115da 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.6", - "@angular/cdk": "14.0.0-next.6", - "@angular/common": "14.0.0-next.6", - "@angular/compiler": "14.0.0-next.6", - "@angular/compiler-cli": "14.0.0-next.6", - "@angular/core": "14.0.0-next.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#216c2529f1a0f42ed17995d0b00262c7e029ab4a", - "@angular/forms": "14.0.0-next.6", - "@angular/localize": "14.0.0-next.6", - "@angular/material": "14.0.0-next.6", - "@angular/platform-browser": "14.0.0-next.6", - "@angular/platform-browser-dynamic": "14.0.0-next.6", - "@angular/platform-server": "14.0.0-next.6", - "@angular/router": "14.0.0-next.6", - "@angular/service-worker": "14.0.0-next.6", + "@angular/animations": "14.0.0-next.7", + "@angular/cdk": "14.0.0-next.8", + "@angular/common": "14.0.0-next.7", + "@angular/compiler": "14.0.0-next.7", + "@angular/compiler-cli": "14.0.0-next.7", + "@angular/core": "14.0.0-next.7", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#1e08de06d80dc7150085262645b4a31899f0953b", + "@angular/forms": "14.0.0-next.7", + "@angular/localize": "14.0.0-next.7", + "@angular/material": "14.0.0-next.8", + "@angular/platform-browser": "14.0.0-next.7", + "@angular/platform-browser-dynamic": "14.0.0-next.7", + "@angular/platform-server": "14.0.0-next.7", + "@angular/router": "14.0.0-next.7", + "@angular/service-worker": "14.0.0-next.7", "@babel/core": "7.17.8", "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 97cf0307a366..b52899234066 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.6", - "@angular/compiler-cli": "14.0.0-next.6", + "@angular/compiler": "14.0.0-next.7", + "@angular/compiler-cli": "14.0.0-next.7", "typescript": "4.6.2", "webpack": "5.70.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 8de675f5b571..f99bfdad967f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#dbe1bab45ac77dcbbf8718a332ce61e1841a5d2f", - "@angular/cdk": "github:angular/cdk-builds#0913b0ddf45c9e3ca473be9bdcf0b3211b928bf0", - "@angular/common": "github:angular/common-builds#2b01f72329d7708a8e06f0b78ee41f775c822521", - "@angular/compiler": "github:angular/compiler-builds#1d140d2c2f167164bf156c577f408422db58786b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#88693d901ab0fbcda5a7e6d6fdf857a528cd446b", - "@angular/core": "github:angular/core-builds#a46f19ce49d518714a06b3fc29c99bd86629f627", - "@angular/forms": "github:angular/forms-builds#b85c2dbb3f2d634941ea5bbb32e9be3ec85b5567", - "@angular/language-service": "github:angular/language-service-builds#2765fd962c9e593147fd3a4293ec2d4e4cd813c6", - "@angular/localize": "github:angular/localize-builds#94d5f01fcebfac66968fad7f9d3468430bfd2c07", - "@angular/material": "github:angular/material-builds#09fbf694e2636cd47ffdb50d04a834dac505e95f", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#d7bd49807c7c133bbe218145f50e83accf2b8d85", - "@angular/platform-browser": "github:angular/platform-browser-builds#4c9545dd29543327821c7ff2a9f139c0af0bf484", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#505b6743915a319778d6a43332c93d2f4678ab76", - "@angular/platform-server": "github:angular/platform-server-builds#f49b6f61a14b710d5bda18363f4679fe529716d6", - "@angular/router": "github:angular/router-builds#e408959980ea7d74c94d9a04e3882dec7621d229", - "@angular/service-worker": "github:angular/service-worker-builds#4becba3fb5a652baa610ed13a4e6c35d15057744" + "@angular/animations": "github:angular/animations-builds#ce856551b0bc6a74fbf5ca2c9a78ec4c88dbab29", + "@angular/cdk": "github:angular/cdk-builds#d665ed929f1a110d66441a6ec495fb4c819065cd", + "@angular/common": "github:angular/common-builds#af3c3a1f6ea28c89f756643407c7894c1a3e3aa7", + "@angular/compiler": "github:angular/compiler-builds#402cac8a3f572740491d632cf8df7da1fa2280da", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#12b1ccea0858fc276673a711fb78863fd047e6b5", + "@angular/core": "github:angular/core-builds#bc289b4a66fc72360df9a5ffc127b7bf1bac2884", + "@angular/forms": "github:angular/forms-builds#69fe0a0c20e5186feadecebba71909c29f0a63fc", + "@angular/language-service": "github:angular/language-service-builds#d2c764b56bacb2ed3ab1015799f19079aa4e7dc1", + "@angular/localize": "github:angular/localize-builds#df1e9effc42adda883ec655c6a6703dc6eb025f5", + "@angular/material": "github:angular/material-builds#91a810fc3a9597696b0c100fc6f8de7e7ab8a306", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b274db2e399ac6999cae21018a9c218ab482f833", + "@angular/platform-browser": "github:angular/platform-browser-builds#5375c9116a95cfbb2f8967b9236690b7497cdfda", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#54d3e10eaa56c9a39ea4b91dd76f1463e58896f9", + "@angular/platform-server": "github:angular/platform-server-builds#81bd539824e4a26eedfa63e388426425f2e7b709", + "@angular/router": "github:angular/router-builds#218f74dbacd7bb5d82d78700e63911231481136f", + "@angular/service-worker": "github:angular/service-worker-builds#e2d46dfd796673f064c6c32f2ab7b06a9f247fb4" } } diff --git a/yarn.lock b/yarn.lock index a67378080f7d..315c7e6f8e46 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,109 +9,109 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1400.0-next.3": - version "0.1400.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.3.tgz#5ed4bc74b44c8b08b668499b0f56cfeb735815e5" - integrity sha512-80ibgReUoIwT/Cvc9fc6Kq8pcVp6BVIneYlx0SMV1g6yw0nuSLpCCn5AuUW7kzpFSpSXTOPmt6QctzgWRgGUNQ== +"@angular-devkit/architect@0.1400.0-next.6": + version "0.1400.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.6.tgz#6e62d380fb6e37b2b79d4bf14062f15da0bae508" + integrity sha512-0UrdngAmP40VrFEjyYIc8DDiv3j6VLocy5igIkgNCaRe6kGNt3WBsn/MZDBmAXwGl050ZkO57QbcM7CBOhN73w== dependencies: - "@angular-devkit/core" "14.0.0-next.3" + "@angular-devkit/core" "14.0.0-next.6" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.3": - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.3.tgz#3c7effb2ce3f5774c8a52d39379ea58478335edb" - integrity sha512-ksAwJDc1LEAu+Ekt3rEovSNcbIzsyGJZ1mqE8FokLy3Bz4sRrBVFxQ/Uzg8aj3dpeV9QQyNzj8D+ASWueBpdZw== +"@angular-devkit/build-angular@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.6.tgz#b16c9a576b7807045886eed9e4b3bd0f99a2d0f4" + integrity sha512-vH8zXfcmoumBXsIbPqubC/hGxu066+rntQ2GzcJkcYvNdsOB9TIPkLtXib9/SKu2QEG0zJLjOlHtZgkyMeujIA== dependencies: "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.3" - "@angular-devkit/build-webpack" "0.1400.0-next.3" - "@angular-devkit/core" "14.0.0-next.3" - "@babel/core" "7.17.5" - "@babel/generator" "7.17.3" + "@angular-devkit/architect" "0.1400.0-next.6" + "@angular-devkit/build-webpack" "0.1400.0-next.6" + "@angular-devkit/core" "14.0.0-next.6" + "@babel/core" "7.17.7" + "@babel/generator" "7.17.7" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" "@babel/plugin-transform-runtime" "7.17.0" "@babel/preset-env" "7.16.11" - "@babel/runtime" "7.17.2" + "@babel/runtime" "7.17.7" "@babel/template" "7.16.7" - "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "14.0.0-next.3" + "@discoveryjs/json-ext" "0.5.7" + "@ngtools/webpack" "14.0.0-next.6" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "15.3.0" + cacache "16.0.1" copy-webpack-plugin "10.2.4" core-js "3.21.1" critters "0.0.16" - css-loader "6.6.0" - esbuild-wasm "0.14.23" + css-loader "6.7.1" + esbuild-wasm "0.14.27" glob "7.2.0" https-proxy-agent "5.0.0" - inquirer "8.2.0" + inquirer "8.2.1" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" less-loader "10.2.0" license-webpack-plugin "4.0.2" loader-utils "3.2.0" - mini-css-extract-plugin "2.5.3" - minimatch "5.0.0" + mini-css-extract-plugin "2.6.0" + minimatch "5.0.1" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.6" + postcss "8.4.12" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "7.4.1" + postcss-preset-env "7.4.2" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.49.8" + sass "1.49.9" sass-loader "12.6.0" semver "7.3.5" source-map-loader "3.0.1" source-map-support "0.5.21" stylus "0.56.0" stylus-loader "6.2.0" - terser "5.11.0" + terser "5.12.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.69.1" + webpack "5.70.0" webpack-dev-middleware "5.3.1" webpack-dev-server "4.7.4" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.23" + esbuild "0.14.27" -"@angular-devkit/build-webpack@0.1400.0-next.3": - version "0.1400.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.3.tgz#0ee3729ae2f9adb6186752d0793b25a7996ec145" - integrity sha512-4h/LxjdrM1kt2rZJGlX6wdAryUlg3gpuXc7egQaohb9oEAp3wALCl1MwTAyurCFU5lP8CrGYuWJoiKUkYhUqFg== +"@angular-devkit/build-webpack@0.1400.0-next.6": + version "0.1400.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.6.tgz#a3e9507966e7ce655d583baaaad8bc4f3fb2f4d3" + integrity sha512-bBiPQ30+kdgHX9/dExfXs1rEiFTSF3f9Rd0tm/EkYkejdR0+QTOV6o+cDTutts4LKebRV14Fqbj1NQW9MwHTvg== dependencies: - "@angular-devkit/architect" "0.1400.0-next.3" + "@angular-devkit/architect" "0.1400.0-next.6" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.3": - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.3.tgz#2e4fad0f7b09c5604c50ae88bd177f8c21d81341" - integrity sha512-WmvlBb9N3xL5dvrTBMIkIOcrjMPhCBOEuqmaX3BJRrWDfniKPSs5Op+myG04/3JuM2kMXTsibp1Fmo8V12tlcg== +"@angular-devkit/core@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.6.tgz#e3956878ba3dfc2687b04ea4469968cd918bb5d9" + integrity sha512-QvQEbI+T61aM1nDZFAdfWdNumq3UzT7Yno1xTu+ODDlFZcsmtWJXu9jrke71mTk8hIIR4GY0fJ1bPoEA+pKUuQ== dependencies: ajv "8.10.0" ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" - magic-string "0.25.7" + magic-string "0.26.1" rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.6.tgz#968b384e1445e41969e9283c0cd992d5e7de439f" - integrity sha512-MdJol4b/Eizgr4gTy/WVQ4/jaw2UNZQkKy0c/LiZ5TMFLwPxcfV7133cQ3mWKso56wsM3p//MuPV8oRzS4+mQQ== +"@angular/animations@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.7.tgz#5936364100a84893bd53643ed65746326c9e5aaa" + integrity sha512-aewapXQ8m8RusSNJHZHSSfE16EZcmETMhZL3L7JHRjb6vWkd83uhNa9D8WzZv34Ad2BVvk7M/u7bFXBYIj+3Fg== dependencies: tslib "^2.3.0" @@ -123,26 +123,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.6.tgz#4a6db2c1a4dc240bf4f56ebb762f57332e6945f5" - integrity sha512-BM7IvbYisYn3JshJC08r6m3gBViLQs8GHLWmO6hAO+3dnY5WahIuDgS+SUPcNv2M7x9Jc/qyjDht7g0Az9lm7A== +"@angular/cdk@14.0.0-next.8": + version "14.0.0-next.8" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.8.tgz#bb65e76135f5c15ab1d6fba17ac3cc10b80beb46" + integrity sha512-JyjRaMHK8F0NUTEuya1erWe03OzHprBN/u/Kc74pMuMUViZ33+M/voipb5S0VUUPvzsADYsQVwsp6o8DrMGpqg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.6.tgz#a492391ab94968ed0cfb7f1e4731c8ba65ac77c6" - integrity sha512-H9O1Feb+Xuw7ZX9bzBkreFHGAaUnESQlvHu1+Ru4X27xIz7yHcxYffA/2x2jpQuWD7kCbxk1GD/x09UXrr4RpQ== +"@angular/common@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.7.tgz#36092b2163277c63ab414efb42db1798d2e4457c" + integrity sha512-v7uivPO1Ngui7mjMs/sZ/iVb0X+24t7eN6Gkww3btfP5oK2VQ0hZwMx2oUAqhY6Ijv8mD3cDnopl38bKBSw46w== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.6.tgz#a5691bea368b4d92b74e40a35537565eaa81e1a9" - integrity sha512-MRQHbywsiPdfkjT8Jg7OmmIy8XbQtP4nAYb0vEMuchuiDGIpg+5HLXnvcyLTlmD5uSN1v0Sg1RvAGpZyLX3agQ== +"@angular/compiler-cli@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.7.tgz#ac993806ce4af49716322b00c096451df4df445c" + integrity sha512-5JW+/nlNDKFuN8tSxVXzQMbkXhzr5YxCuC3qR0vdPzFG8cBlBAwyrt6Er0Z5fIWxmxngnmPvPDUpbpO1FHZnpA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -155,17 +155,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.6.tgz#8b3eb5de0e6d5aacda3577934314ee4741293d0d" - integrity sha512-mHA8tSMoFUuPQ6zllV+mzYr4DIZ8qUaGvCrbIEdXEvXvzTSFL1EqH0ILHBaVXpZRD+oiYR8jx3tqSweBlSZROg== +"@angular/compiler@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.7.tgz#21cab07cf8ca1445dbf39b93f7fa43ee965003dc" + integrity sha512-9r27doQ3Yl8z6/cf5BWgoPNk3bVOL82BB4X/utyyJhozFQgU0lUlUGdPksc+wFereSblEN7wx1LXYuSID17DJA== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.6.tgz#0c5af365a7b1280fb7c29fac7dfbedf0d098350d" - integrity sha512-/IuEjkQ4dRC8x3yYMAno0vsuk5mvVJHsdLAwcTslDybqAmU4V5biFQ23jH0V8r0aplVJknoIEFQXgb+cywbY4w== +"@angular/core@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.7.tgz#b65d45987fd70c2fdb70060b87b3a6f032f08bd4" + integrity sha512-yoSTPTYTnu+a89ZiA+WdneBJO+E+oNnyC/3o4R51V/GugE+BwzKBOm51zAh1Ypg7MJDcO9Ft+ESsLtquxmuOiw== dependencies: tslib "^2.3.0" @@ -176,21 +176,22 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#216c2529f1a0f42ed17995d0b00262c7e029ab4a": - version "0.0.0-6c64dc91981980f62a002be325ea8a97c3a59769" - resolved "https://github.com/angular/dev-infra-private-builds.git#216c2529f1a0f42ed17995d0b00262c7e029ab4a" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#1e08de06d80dc7150085262645b4a31899f0953b": + version "0.0.0-223f927699fe366d2d68fde745fe2caa7e031fd1" + uid "1e08de06d80dc7150085262645b4a31899f0953b" + resolved "https://github.com/angular/dev-infra-private-builds.git#1e08de06d80dc7150085262645b4a31899f0953b" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.3" + "@angular-devkit/build-angular" "14.0.0-next.6" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "^5.0.1" - "@bazel/concatjs" "5.2.0" - "@bazel/esbuild" "5.2.0" - "@bazel/protractor" "5.2.0" - "@bazel/runfiles" "5.2.0" - "@bazel/terser" "5.2.0" - "@bazel/typescript" "5.2.0" - "@microsoft/api-extractor" "7.19.4" + "@bazel/concatjs" "5.3.0" + "@bazel/esbuild" "5.3.0" + "@bazel/protractor" "5.3.0" + "@bazel/runfiles" "5.3.0" + "@bazel/terser" "5.3.0" + "@bazel/typescript" "5.3.0" + "@microsoft/api-extractor" "7.19.5" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -206,72 +207,72 @@ prettier "^2.3.2" protractor "^7.0.0" selenium-webdriver "4.1.1" - send "^0.17.2" + send "^0.18.0" tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" - typescript "~4.5.0" + typescript "~4.6.2" uuid "^8.3.2" yargs "^17.0.0" zone.js "^0.11.4" -"@angular/forms@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.6.tgz#df53ab120cdd69fb07811894f0498338b9c745cf" - integrity sha512-SUO2/0gLt/+WYMkixykxGeMWSK34FwXOgOTZRb4ah1q2DTKKlV71VX/a0qsqdHzwrPaSuxgYmlLl7rfT/9UeXg== +"@angular/forms@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.7.tgz#9312bb6a4dda4c732f2cc1e2c35fce521de6be6a" + integrity sha512-ygZNM9nuGHdtcJA9eHQxqgoJWNOVpEHaBgVgspvC9uKufkPVRWFifxaO0hus9aHrBhR1zHLjPod/iNkIBhT7aQ== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.6.tgz#bce1b1f057c5a584f0cde69fbab84d03dcf62878" - integrity sha512-Vrl3pOJf7JZ84Wmfvfse5/YZFTXtE2RnN1XKE9pfqAgdJro5KWB4y/It41SPIsSz3Wopj8LpSTZqb0kMu2OwWg== +"@angular/localize@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.7.tgz#cc45c13fe4b294e962a996ddbea38e1218b06b8c" + integrity sha512-d7VgvDNYgGFc61PpzhVRauZ9bD6fmEVsNBdt9XSlM942N98XDSEemFeQGFyFJGLzEoRjcUWq5K5iRoERQyjk0Q== dependencies: "@babel/core" "7.17.5" glob "7.2.0" yargs "^17.2.1" -"@angular/material@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.6.tgz#0dcc90bd542a34800e20c030c5f5e8fc5487e060" - integrity sha512-kfX+6+igTlwePmCFHrrxugCEhn1ZYD29ATteEyol6FfkjG98yGWIAiMZ6xroBcsrUyRMhH8GLtXoQb+ybKg0iw== +"@angular/material@14.0.0-next.8": + version "14.0.0-next.8" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.8.tgz#36ff377c3d02f8da73cec1815ca013402b7cb149" + integrity sha512-Z9w7Vv40ZLVc/UGtDL56vEYhpierNt5kgVyGi6Qa6RbRLkil3XlKATK8QZkEilfzj33mQ4DUXB+8Ya7Cz7JR0A== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.6.tgz#690c5f11e83f4858e6fc036b8074f36e58d2a4f2" - integrity sha512-pmY1pum4fOI6VYUh/PyUWGWGx+EyG6OagVijSBVsoAZIyivBB3E5slXOEm9SLONgp/MuJBeVT5cUTED1vBGMww== +"@angular/platform-browser-dynamic@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.7.tgz#9653b2ca6b263cf31f9b6e66d26ef851c49eb55d" + integrity sha512-gm8QqUgDytWvg9xn0H23t2KVAIHZnuCq2EavTWvJHuJAsL7b0KBF3FL8IBJyEgJY0AzQtAs1JTEfC6PG8sLleg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.6.tgz#fdc91f124466840fd36823b90371fbf45c6b3736" - integrity sha512-Uimrk52AayLFOc2lopqNS2NGvux3RA5nYIZyun8Zy6qfTLE0hotHFmo1RT5mxbqgivWIdzxRwb8+8Ej60H9mMA== +"@angular/platform-browser@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.7.tgz#06f73ad008fa460cd230bac3888e4a420dc36156" + integrity sha512-wNiKdd67CLJiNh8g5vfuIy9XvC6I5oyslui8/kRKnj627nVby0JQ/kVYtb9+W+yWhYcdEH4QTvmznXjM3U5tgA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.6.tgz#edabf357cfba56835d255112b02cb0bcfffd4bad" - integrity sha512-BJBr3KNqtBKLgUjRTlnLNiqBYPnR4+ysQ0d9JgRvJAFthmsu6gwDuHM3zIebOLB7S9NmDYH4zC8XLv3KmRLRlQ== +"@angular/platform-server@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.7.tgz#0264717c26d59c41f651620887674d9a9c0f53a2" + integrity sha512-zMMzOQREIAl9AyBLH2mNWVAgtEQWXliqYf7T4p/6EJ6GzDbgPpwbrAbUC+c2vef1+XoCXTPBLrCWfYFH5jpaBw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.6.tgz#9844a2951ce5ea84f55f81770a7e8eb9116bafb9" - integrity sha512-S2i2XqgJBqxixSK+zjyV2+weNpRxaKWy03j5cYxamZ5p5xyfAHygQaiKmWddm+h1j6QdthZ2PY6Zohz/LpmfQA== +"@angular/router@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.7.tgz#9c515958c91134d1e33c699b5f21e37bfd0d0ec8" + integrity sha512-HNeAWU6BCbG4XqLXHCDeRZce4DcvtjiGhnBcaOg5OVUadPITaWP/57G4nWvszLqROhdoXMDkmEBy1buc7vy4JA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.6.tgz#915d6e87cbfb74a86918f1e328ae675bbc1afb37" - integrity sha512-OnGisgGHoh3gqjKxpcZ4mdY3mEFh76zkM3B+j1uSaDyjF7EiOU6qdpRaLK3XGXa2giqrINfNjgVXdE3CMMVJww== +"@angular/service-worker@14.0.0-next.7": + version "14.0.0-next.7" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.7.tgz#0dfae4de18fad4ee6959761a45ffc2ff6561651f" + integrity sha512-aj6p0+rMaUcr9XtDgVphDTtINhkrezX0zPY5JTzmQAVp8A0J/MpXbOLkcYC9tWtrxrgBNDwxLrI4nqGburqvuQ== dependencies: tslib "^2.3.0" @@ -313,6 +314,27 @@ json5 "^2.1.2" semver "^6.3.0" +"@babel/core@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" + integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.7" + "@babel/parser" "^7.17.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/core@7.17.8", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" @@ -334,15 +356,6 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/generator@7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" - integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - "@babel/generator@7.17.7", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" @@ -550,7 +563,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.2", "@babel/helpers@^7.17.8": +"@babel/helpers@^7.17.2", "@babel/helpers@^7.17.7", "@babel/helpers@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== @@ -568,7 +581,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== @@ -1168,10 +1181,10 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" - integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== +"@babel/runtime@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" + integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== dependencies: regenerator-runtime "^0.13.4" @@ -1225,15 +1238,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== -"@bazel/concatjs@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.2.0.tgz#fa37b2ae69f34bd287bd27c0092cc6a8511e87bc" - integrity sha512-ppjHDpblv08uK0lbvJe+/MS9omh8O2EUmPBFn4QgEgkpf7vcVUPvBgrSCTei8rrb5OlO9ErQn+kP+gx3s97q2g== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.3.0.tgz#40abb0690d4109ece1e67a514fba8cd54fced691" @@ -1243,10 +1247,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.2.0.tgz#883abbd16cc0ab3580d1c1930460674ef73d444b" - integrity sha512-EfjoXbSJHbSpiB8Dt7g21dAMK8Hgp23x3L1AUbhQgVa3aAAMt2ho1y3VQixBkZ4TfsoSATd3eOJ4ioE0U8c1ow== +"@bazel/esbuild@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.3.0.tgz#b1c6dfa92d7e56952231ea3a0a3eb02804535d7f" + integrity sha512-UshiI+YFQmSoYW4ej2IxLNnZ2hceIsggTMYTpr16sx0FMOaFQuI3zV0w1/wu+coT18cco0bV/5AZBPV0I0f+Ug== "@bazel/jasmine@5.3.0": version "5.3.0" @@ -1256,36 +1260,36 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.2.0.tgz#c9a999dffa9021b7c1e0a3fa65dad37061cb83dc" - integrity sha512-WdpPa9onYJ0ghAfeK4lIzzdNx0QeOGXCYX0+eF7SJYKsiQtvihph+MQUTSFjqunaHKhCFA9q2IoJ6N+5+7Zuvw== +"@bazel/protractor@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.3.0.tgz#4f690ca8854fe1abb564f4817a7821ebaa152846" + integrity sha512-of7Cxrr6hUnDzzO6aDCy//lYT5v2KgSlfDsq573VdtD/zbkY+UKcRPFCfG9maD3NixsLJCkxdt/DVZrsvmiOYA== -"@bazel/runfiles@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.2.0.tgz#8c30943c05fe9d3041d5441b8720c6b743b7adde" - integrity sha512-Qm5zkxc2Jyod/r6faPgOogFO1+6WPOtIhEyaqH9b2ZvR7Ok/H79Fbyh6A3TrtG12XkIC7OEjJc2VsSRrX88Tcw== +"@bazel/runfiles@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.3.0.tgz#51495dab3a76886d79011047aae0bc48faebc94f" + integrity sha512-RrGOUd/yTgOO0Vl/VxHXlymXSMHGF7kw0q0xpuOuFZheDWOaHs9SZLZgLjkvStEI43zhZpJ9Yf9kZLEPptbWTg== -"@bazel/terser@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.2.0.tgz#7e98626cf5dfc3e41bd9d724c35eff4270261b1f" - integrity sha512-ett6c+T1tIXu4f4dy2ohYznaHlvH7tuQcFvdEltU4Fv6JfV/Lmo1QtAqBgq9D+05Jr3n/vqA+Fxk3Gc4h48Iog== +"@bazel/terser@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.3.0.tgz#50d0f67f6111640b11800cac90d39f26d02eb8dd" + integrity sha512-M4We9XzocIk9ivvgCV2zIIwHEdhP8C+BQQbsrmt5h63S0XKMVrn5bEQiWqE1Q9WxyrZ7pUqHGVelYV/d7QFvtQ== -"@bazel/typescript@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.2.0.tgz#131127c8016c712ef1b291f2b52108e5326f0447" - integrity sha512-hNpSCQj5dOX95iC4Yf/fuyxfMU5uTAe84thqPcTCvOJFmpypN6qzxH24S5UiXkwbsL8sQM9DP0+qFyT/TRKdNw== +"@bazel/typescript@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.3.0.tgz#84ff0f0d5a1c885c8246b52dc4351029d03213cb" + integrity sha512-n49HdHo/qFqXGYnNlzol203MKb5EytvC1GChroBzqoT6woWpb+p4e/xEatiMOEKWnlyPT/ZUAMQ8Ve/6yv1Dig== dependencies: - "@bazel/worker" "5.2.0" + "@bazel/worker" "5.3.0" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.2.0.tgz#464726821f9d98b11c6536e2547d44459a321a61" - integrity sha512-C9ozvgRP2iug4e9XaVjfXSKmrUMyzsYhDN2/A+MqKl8qlAf5AlveNofCUBASHxJsYiBn3ATbPNUznGsjeMpVWg== +"@bazel/worker@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.3.0.tgz#c3a1296d741057a1ea380afc2fda06b74c182cd6" + integrity sha512-Tgyaud2/6mtYeaH+uCFQuuIVd/VRDvbUDFJgz8b+/LxTcXaDCb8OSI0ZnrEzLV7FJizMCam3/vWE2x9Ul4SOJw== dependencies: google-protobuf "^3.6.1" @@ -1370,11 +1374,6 @@ dependencies: postcss-value-parser "^4.2.0" -"@discoveryjs/json-ext@0.5.6": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" - integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== - "@discoveryjs/json-ext@0.5.7": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" @@ -1456,26 +1455,26 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.15.3": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.15.3.tgz#cf76deeeb2733d974da678f530c2dbaceb18a065" - integrity sha512-NkSjolmSI7NGvbdz0Y7kjQfdpD+j9E5CwXTxEyjDqxd10MI7GXV8DnAsQ57GFJcgHKgTjf2aUnYfMJ9w3aMicw== +"@microsoft/api-extractor-model@7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.15.4.tgz#59fc1e00530b7a604c719221a59dc265c76e9bc5" + integrity sha512-9bIXQKKQr5jAH1c9atXrukr4ua30fhqxMwWIOOjEnexPBPu3nhy9lC4/GpE0kPUp1Al3wSXgFnOEGzEH+HFz+w== dependencies: "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" - "@rushstack/node-core-library" "3.45.0" + "@rushstack/node-core-library" "3.45.1" -"@microsoft/api-extractor@7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.19.4.tgz#95d43d410a1dfb28a02062c4693bcb9c52afe9eb" - integrity sha512-iehC6YA3DGJvxTUaK7HUtQmP6hAQU07+Q/OR8TG4dVR6KpqCi9UPEVk8AgCvQkiK+6FbVEFQTx0qLuYk4EeuHg== +"@microsoft/api-extractor@7.19.5": + version "7.19.5" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.19.5.tgz#85b2404135a4158864d448fde8991ef7dc39b6a7" + integrity sha512-ra5r8P7PocOpemrZRccI3Tf1+wukI0gT6ncRB448QSxSYlmqKuvez95YUSYPwHIN/ztKL0cn5PfMOauU1lZfGQ== dependencies: - "@microsoft/api-extractor-model" "7.15.3" + "@microsoft/api-extractor-model" "7.15.4" "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" - "@rushstack/node-core-library" "3.45.0" - "@rushstack/rig-package" "0.3.7" - "@rushstack/ts-command-line" "4.10.6" + "@rushstack/node-core-library" "3.45.1" + "@rushstack/rig-package" "0.3.8" + "@rushstack/ts-command-line" "4.10.7" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" @@ -1498,10 +1497,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@14.0.0-next.3": - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.3.tgz#17ee2806b5d2e8fb6e9208b1549f9979a0841d2c" - integrity sha512-UZGdXguWqdTILA5rVrEP/C1ZN84273ZwUuD6ECmMlijnWDQHYBYIO97znOciFx/rfrneZYlQt5OynbCyZO0eVg== +"@ngtools/webpack@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.6.tgz#da8717586aba2099a550607a9eae9932379a1433" + integrity sha512-bWCv6bk4iunLvx/RPiZ0BDnRvEKMg2NqRIBKSORC79Ek33vEB1MN+RWER51JAwioE8Qz6qZCKJbVUkI1xXQBvA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1563,7 +1562,7 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.2": +"@npmcli/move-file@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== @@ -1674,10 +1673,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.0": - version "3.45.0" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.0.tgz#8c86b39271b6d84260b1e70db87e1e265b54f620" - integrity sha512-YMuIJl19vQT1+g/OU9mLY6T5ZBT9uDlmeXExDQACpGuxTJW+LHNbk/lRX+eCApQI2eLBlaL4U68r3kZlqwbdmw== +"@rushstack/node-core-library@3.45.1": + version "3.45.1" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz#787361b61a48d616eb4b059641721a3dc138f001" + integrity sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1689,18 +1688,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.7": - version "0.3.7" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.7.tgz#3fa564b1d129d28689dd4309502792b15e84bf81" - integrity sha512-pzMsTSeTC8IiZ6EJLr53gGMvhT4oLWH+hxD7907cHyWuIUlEXFtu/2pK25vUQT13nKp5DJCWxXyYoGRk/h6rtA== +"@rushstack/rig-package@0.3.8": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.8.tgz#0e8b2fbc7a35d96f6ccf34e773f7c1adb1524296" + integrity sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.10.6": - version "4.10.6" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.6.tgz#5669e481e4339ceb4e1428183eb0937d3bc3841b" - integrity sha512-Y3GkUag39sTIlukDg9mUp8MCHrrlJ27POrBNRQGc/uF+VVgX8M7zMzHch5zP6O1QVquWgD7Engdpn2piPYaS/g== +"@rushstack/ts-command-line@4.10.7": + version "4.10.7" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz#21e3757a756cbd4f7eeab8f89ec028a64d980efc" + integrity sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3205,7 +3204,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.9.1: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== @@ -3310,28 +3309,28 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@15.3.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== +cacache@16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.1.tgz#bad1d14963d9851840da3dd6c4db3b6a3bdb585d" + integrity sha512-tHPtfdZDqQpZ15eaEZeLspIqS5mK5fOBDZi6AjuqaIi53QNVXH3dQv6uKT3YuUu6uxV/8pjU9in0CoJ8fgaHqw== dependencies: "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" + "@npmcli/move-file" "^1.1.2" chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" + fs-minipass "^2.1.0" + glob "^7.2.0" infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" + lru-cache "^7.5.1" + minipass "^3.1.6" minipass-collect "^1.0.2" minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" ssri "^8.0.1" - tar "^6.0.2" + tar "^6.1.11" unique-filename "^1.1.1" cacache@16.0.3: @@ -3834,20 +3833,6 @@ css-has-pseudo@^3.0.4: dependencies: postcss-selector-parser "^6.0.9" -css-loader@6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.6.0.tgz#c792ad5510bd1712618b49381bd0310574fafbd3" - integrity sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.5" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.5" - css-loader@6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" @@ -3892,7 +3877,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.3.1, cssdb@^6.5.0: +cssdb@^6.4.0, cssdb@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== @@ -4113,6 +4098,11 @@ dependency-graph@^0.11.0: resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" @@ -4367,7 +4357,7 @@ engine.io@~6.1.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.8.3, enhanced-resolve@^5.9.2: +enhanced-resolve@^5.9.2: version "5.9.2" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== @@ -4507,231 +4497,106 @@ esbuild-android-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== -esbuild-android-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" - integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== - esbuild-android-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== -esbuild-darwin-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" - integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== - esbuild-darwin-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== -esbuild-darwin-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" - integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== - esbuild-darwin-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== -esbuild-freebsd-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" - integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== - esbuild-freebsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== -esbuild-freebsd-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" - integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== - esbuild-freebsd-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== -esbuild-linux-32@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" - integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== - esbuild-linux-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== -esbuild-linux-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" - integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== - esbuild-linux-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== -esbuild-linux-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" - integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== - esbuild-linux-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== -esbuild-linux-arm@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" - integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== - esbuild-linux-arm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== -esbuild-linux-mips64le@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" - integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== - esbuild-linux-mips64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== -esbuild-linux-ppc64le@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" - integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== - esbuild-linux-ppc64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== -esbuild-linux-riscv64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" - integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== - esbuild-linux-riscv64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== -esbuild-linux-s390x@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" - integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== - esbuild-linux-s390x@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== -esbuild-netbsd-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" - integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== - esbuild-netbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== -esbuild-openbsd-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" - integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== - esbuild-openbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== -esbuild-sunos-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" - integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== - esbuild-sunos-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== -esbuild-wasm@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" - integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== - esbuild-wasm@0.14.27, esbuild-wasm@^0.14.25: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== -esbuild-windows-32@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" - integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== - esbuild-windows-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== -esbuild-windows-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" - integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== - esbuild-windows-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== -esbuild-windows-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" - integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== - esbuild-windows-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== -esbuild@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" - integrity sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig== - optionalDependencies: - esbuild-android-arm64 "0.14.23" - esbuild-darwin-64 "0.14.23" - esbuild-darwin-arm64 "0.14.23" - esbuild-freebsd-64 "0.14.23" - esbuild-freebsd-arm64 "0.14.23" - esbuild-linux-32 "0.14.23" - esbuild-linux-64 "0.14.23" - esbuild-linux-arm "0.14.23" - esbuild-linux-arm64 "0.14.23" - esbuild-linux-mips64le "0.14.23" - esbuild-linux-ppc64le "0.14.23" - esbuild-linux-riscv64 "0.14.23" - esbuild-linux-s390x "0.14.23" - esbuild-netbsd-64 "0.14.23" - esbuild-openbsd-64 "0.14.23" - esbuild-sunos-64 "0.14.23" - esbuild-windows-32 "0.14.23" - esbuild-windows-64 "0.14.23" - esbuild-windows-arm64 "0.14.23" - esbuild@0.14.27, esbuild@^0.14.25: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" @@ -5979,26 +5844,6 @@ injection-js@^2.4.0: dependencies: tslib "^2.0.0" -inquirer@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a" - integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.2.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - inquirer@8.2.1: version "8.2.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.1.tgz#e00022e3e8930a92662f760f020686530a84671d" @@ -7024,13 +6869,6 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - magic-string@0.26.1, magic-string@^0.26.0: version "0.26.1" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" @@ -7200,13 +7038,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz#c5c79f9b22ce9b4f164e9492267358dbe35376d9" - integrity sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw== - dependencies: - schema-utils "^4.0.0" - mini-css-extract-plugin@2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" @@ -7226,13 +7057,6 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.0.tgz#281d8402aaaeed18a9e8406ad99c46a19206c6ef" - integrity sha512-EU+GCVjXD00yOUf1TwAHVP7v3fBD3A8RkkPYsWWKGWesxM/572sL53wJQnHxquHlRhYUV36wHkqrN8cdikKc2g== - dependencies: - brace-expansion "^2.0.1" - minimatch@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" @@ -7285,7 +7109,7 @@ minipass-json-stream@^1.0.1: jsonparse "^1.3.1" minipass "^3.0.0" -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: +minipass-pipeline@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== @@ -7378,7 +7202,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.2.0, nanoid@^3.3.1: +nanoid@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== @@ -7700,6 +7524,13 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -8171,7 +8002,7 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" -postcss-clamp@^4.0.0, postcss-clamp@^4.1.0: +postcss-clamp@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== @@ -8378,10 +8209,10 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.4.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.1.tgz#ca6131c6e0d0e0bcc429dbef3e8f8d03250041ea" - integrity sha512-UvBVvPJ2vb4odAtckSbryndyBz+Me1q8wawqq0qznpDXy188I+8W5Sa929sCPqw2/NSYnqpHJbo41BKso3+I9A== +postcss-preset-env@7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" + integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== dependencies: "@csstools/postcss-color-function" "^1.0.2" "@csstools/postcss-font-format-keywords" "^1.0.0" @@ -8392,13 +8223,12 @@ postcss-preset-env@7.4.1: "@csstools/postcss-oklab-function" "^1.0.1" "@csstools/postcss-progressive-custom-properties" "^1.2.0" autoprefixer "^10.4.2" - browserslist "^4.19.1" + browserslist "^4.19.3" css-blank-pseudo "^3.0.3" css-has-pseudo "^3.0.4" css-prefers-color-scheme "^6.0.3" - cssdb "^6.3.1" + cssdb "^6.4.0" postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.0.0" postcss-color-functional-notation "^4.2.2" postcss-color-hex-alpha "^8.0.3" postcss-color-rebeccapurple "^7.0.2" @@ -8425,6 +8255,7 @@ postcss-preset-env@7.4.1: postcss-pseudo-class-any-link "^7.1.1" postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" postcss-preset-env@7.4.3, postcss-preset-env@^7.4.2: version "7.4.3" @@ -8525,7 +8356,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.12, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.12, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: version "8.4.12" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== @@ -8534,15 +8365,6 @@ postcss@8.4.12, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.7, picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.6: - version "8.4.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" - integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== - dependencies: - nanoid "^3.2.0" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9271,15 +9093,6 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.8: - version "1.49.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.8.tgz#9bbbc5d43d14862db07f1c04b786c9da9b641828" - integrity sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.49.9, sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" @@ -9417,7 +9230,7 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" -send@0.17.2, send@^0.17.2: +send@0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== @@ -9436,6 +9249,25 @@ send@0.17.2, send@^0.17.2: range-parser "~1.2.1" statuses "~1.5.0" +send@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + serialize-javascript@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" @@ -9708,7 +9540,7 @@ source-map@^0.5.0, source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: +sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -10089,7 +9921,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.0.2, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: +tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -10112,16 +9944,6 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.11.0: - version "5.11.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.11.0.tgz#2da5506c02e12cd8799947f30ce9c5b760be000f" - integrity sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - terser@5.12.1: version "5.12.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" @@ -10409,12 +10231,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.2: +typescript@4.6.2, typescript@~4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== -typescript@~4.5.0, typescript@~4.5.2: +typescript@~4.5.2: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== @@ -10833,36 +10655,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.69.1: - version "5.69.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.1.tgz#8cfd92c192c6a52c99ab00529b5a0d33aa848dc5" - integrity sha512-+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.70.0: version "5.70.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" From 80d486f1592b19a571dfdd847c4811a68679d0cd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 24 Mar 2022 14:16:51 +0100 Subject: [PATCH 0229/1388] test: update API golden files due to dev-infra update --- goldens/public-api/angular_devkit/architect/{src => }/index.md | 0 .../public-api/angular_devkit/build_angular/{src => }/index.md | 0 .../public-api/angular_devkit/build_webpack/{src => }/index.md | 0 goldens/public-api/angular_devkit/core/{src => }/index.md | 0 goldens/public-api/angular_devkit/schematics/{src => }/index.md | 0 goldens/public-api/ngtools/webpack/{src => }/index.md | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename goldens/public-api/angular_devkit/architect/{src => }/index.md (100%) rename goldens/public-api/angular_devkit/build_angular/{src => }/index.md (100%) rename goldens/public-api/angular_devkit/build_webpack/{src => }/index.md (100%) rename goldens/public-api/angular_devkit/core/{src => }/index.md (100%) rename goldens/public-api/angular_devkit/schematics/{src => }/index.md (100%) rename goldens/public-api/ngtools/webpack/{src => }/index.md (100%) diff --git a/goldens/public-api/angular_devkit/architect/src/index.md b/goldens/public-api/angular_devkit/architect/index.md similarity index 100% rename from goldens/public-api/angular_devkit/architect/src/index.md rename to goldens/public-api/angular_devkit/architect/index.md diff --git a/goldens/public-api/angular_devkit/build_angular/src/index.md b/goldens/public-api/angular_devkit/build_angular/index.md similarity index 100% rename from goldens/public-api/angular_devkit/build_angular/src/index.md rename to goldens/public-api/angular_devkit/build_angular/index.md diff --git a/goldens/public-api/angular_devkit/build_webpack/src/index.md b/goldens/public-api/angular_devkit/build_webpack/index.md similarity index 100% rename from goldens/public-api/angular_devkit/build_webpack/src/index.md rename to goldens/public-api/angular_devkit/build_webpack/index.md diff --git a/goldens/public-api/angular_devkit/core/src/index.md b/goldens/public-api/angular_devkit/core/index.md similarity index 100% rename from goldens/public-api/angular_devkit/core/src/index.md rename to goldens/public-api/angular_devkit/core/index.md diff --git a/goldens/public-api/angular_devkit/schematics/src/index.md b/goldens/public-api/angular_devkit/schematics/index.md similarity index 100% rename from goldens/public-api/angular_devkit/schematics/src/index.md rename to goldens/public-api/angular_devkit/schematics/index.md diff --git a/goldens/public-api/ngtools/webpack/src/index.md b/goldens/public-api/ngtools/webpack/index.md similarity index 100% rename from goldens/public-api/ngtools/webpack/src/index.md rename to goldens/public-api/ngtools/webpack/index.md From 797c652eb5168d4f34015e206413304be597c10b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Mar 2022 16:24:26 +0100 Subject: [PATCH 0230/1388] refactor(@angular/cli): clean up package-metadata retrieval logic With this change we clean up the package-metadata retrieval logic and types by using public `@types/` packages. Also, we lazily require `pacote` since this has a large set to dependencies which slows down module resolution. --- package.json | 3 + packages/angular/cli/BUILD.bazel | 3 + packages/angular/cli/src/commands/add/cli.ts | 12 +- .../src/commands/update/schematic/index.ts | 59 ++-- packages/angular/cli/src/typings-bazel.d.ts | 14 + packages/angular/cli/src/typings.ts | 22 -- .../cli/src/utilities/install-package.ts | 4 +- .../angular/cli/src/utilities/package-json.ts | 266 ------------------ .../cli/src/utilities/package-metadata.ts | 97 ++----- .../angular/cli/src/utilities/package-tree.ts | 4 +- yarn.lock | 47 +++- 11 files changed, 140 insertions(+), 391 deletions(-) create mode 100644 packages/angular/cli/src/typings-bazel.d.ts delete mode 100644 packages/angular/cli/src/utilities/package-json.ts diff --git a/package.json b/package.json index f160728115da..ca9bd88d05cc 100644 --- a/package.json +++ b/package.json @@ -99,6 +99,7 @@ "@types/express": "^4.16.0", "@types/glob": "^7.1.1", "@types/http-proxy": "^1.17.4", + "@types/ini": "^1.3.31", "@types/inquirer": "^8.0.0", "@types/jasmine": "~4.0.0", "@types/karma": "^6.3.0", @@ -107,6 +108,7 @@ "@types/node": "^14.15.0", "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", + "@types/pacote": "^11.1.3", "@types/parse5-html-rewriting-stream": "^5.1.2", "@types/pidusage": "^2.0.1", "@types/postcss-preset-env": "^6.7.1", @@ -117,6 +119,7 @@ "@types/uuid": "^8.0.0", "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", + "@types/yarnpkg__lockfile": "^1.1.5", "@typescript-eslint/eslint-plugin": "5.16.0", "@typescript-eslint/parser": "5.16.0", "@yarnpkg/lockfile": "1.1.0", diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 4be851a9fe70..47fdcce26c86 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -55,13 +55,16 @@ ts_library( "//packages/angular_devkit/schematics/tools", "@npm//@angular/core", "@npm//@types/debug", + "@npm//@types/ini", "@npm//@types/inquirer", "@npm//@types/node", "@npm//@types/npm-package-arg", + "@npm//@types/pacote", "@npm//@types/resolve", "@npm//@types/semver", "@npm//@types/uuid", "@npm//@types/yargs", + "@npm//@types/yarnpkg__lockfile", "@npm//@yarnpkg/lockfile", "@npm//ansi-colors", "@npm//ini", diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index d9608c7d8d0c..6dbdcfb77f76 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -27,7 +27,7 @@ import { colors } from '../../utilities/color'; import { installPackage, installTempPackage } from '../../utilities/install-package'; import { ensureCompatibleNpm } from '../../utilities/package-manager'; import { - NgAddSaveDepedency, + NgAddSaveDependency, PackageManifest, fetchPackageManifest, fetchPackageMetadata, @@ -165,7 +165,10 @@ export class AddCommandModule } // Adjust the version based on name and peer dependencies - if (latestManifest && Object.keys(latestManifest.peerDependencies).length === 0) { + if ( + latestManifest?.peerDependencies && + Object.keys(latestManifest.peerDependencies).length === 0 + ) { spinner.succeed( `Found compatible package version: ${colors.grey(packageIdentifier.toString())}.`, ); @@ -217,7 +220,7 @@ export class AddCommandModule } let collectionName = packageIdentifier.name; - let savePackage: NgAddSaveDepedency | undefined; + let savePackage: NgAddSaveDependency | undefined; try { spinner.start('Loading package information from registry...'); @@ -415,7 +418,8 @@ export class AddCommandModule } catch {} if (projectManifest) { - const version = projectManifest.dependencies[name] || projectManifest.devDependencies[name]; + const version = + projectManifest.dependencies?.[name] || projectManifest.devDependencies?.[name]; if (version) { return version; } diff --git a/packages/angular/cli/src/commands/update/schematic/index.ts b/packages/angular/cli/src/commands/update/schematic/index.ts index d61dd591e8d2..11b1d7582627 100644 --- a/packages/angular/cli/src/commands/update/schematic/index.ts +++ b/packages/angular/cli/src/commands/update/schematic/index.ts @@ -9,11 +9,19 @@ import { logging, tags } from '@angular-devkit/core'; import { Rule, SchematicContext, SchematicsException, Tree } from '@angular-devkit/schematics'; import * as npa from 'npm-package-arg'; +import type { Manifest } from 'pacote'; import * as semver from 'semver'; -import { Dependency, JsonSchemaForNpmPackageJsonFiles } from '../../../utilities/package-json'; -import { NpmRepositoryPackageJson, getNpmPackageJson } from '../../../utilities/package-metadata'; +import { + NgPackageManifestProperties, + NpmRepositoryPackageJson, + getNpmPackageJson, +} from '../../../utilities/package-metadata'; import { Schema as UpdateSchema } from './schema'; +interface JsonSchemaForNpmPackageJsonFiles extends Manifest, NgPackageManifestProperties { + peerDependenciesMeta?: Record; +} + type VersionRange = string & { __VERSION_RANGE: void }; type PeerVersionTransform = string | ((range: string) => string); @@ -264,7 +272,7 @@ function _performUpdate( throw new SchematicsException('package.json could not be parsed: ' + e.message); } - const updateDependency = (deps: Dependency, name: string, newVersion: string) => { + const updateDependency = (deps: Record, name: string, newVersion: string) => { const oldVersion = deps[name]; // We only respect caret and tilde ranges on update. const execResult = /^[\^~]/.exec(oldVersion); @@ -367,6 +375,7 @@ function _getUpdateMetadata( } else if ( typeof packageGroup == 'object' && packageGroup && + !Array.isArray(packageGroup) && Object.values(packageGroup).every((x) => typeof x == 'string') ) { result.packageGroup = packageGroup; @@ -463,15 +472,19 @@ function _usageMessage( ) .map(({ name, info, version, tag, target }) => { // Look for packageGroup. - const packageGroup = target['ng-update']['packageGroup']; + const packageGroup = target['ng-update']?.['packageGroup']; if (packageGroup) { - const packageGroupName = target['ng-update']['packageGroupName'] || packageGroup[0]; + const packageGroupNames = Array.isArray(packageGroup) + ? packageGroup + : Object.keys(packageGroup); + + const packageGroupName = target['ng-update']?.['packageGroupName'] || packageGroupNames[0]; if (packageGroupName) { if (packageGroups.has(name)) { return null; } - packageGroup.forEach((x: string) => packageGroups.set(x, packageGroupName)); + packageGroupNames.forEach((x: string) => packageGroups.set(x, packageGroupName)); packageGroups.set(packageGroupName, packageGroupName); name = packageGroupName; } @@ -663,35 +676,37 @@ function _addPackageGroup( return; } - let packageGroup = ngUpdateMetadata['packageGroup']; + const packageGroup = ngUpdateMetadata['packageGroup']; if (!packageGroup) { return; } + let packageGroupNormalized: Record = {}; if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) { - packageGroup = packageGroup.reduce((acc, curr) => { + packageGroupNormalized = packageGroup.reduce((acc, curr) => { acc[curr] = maybePackage; return acc; }, {} as { [name: string]: string }); - } - - // Only need to check if it's an object because we set it right the time before. - if ( - typeof packageGroup != 'object' || - packageGroup === null || - Object.values(packageGroup).some((v) => typeof v != 'string') + } else if ( + typeof packageGroup == 'object' && + packageGroup && + !Array.isArray(packageGroup) && + Object.values(packageGroup).every((x) => typeof x == 'string') ) { - logger.warn(`packageGroup metadata of package ${npmPackageJson.name} is malformed.`); + packageGroupNormalized = packageGroup; + } else { + logger.warn(`packageGroup metadata of package ${npmPackageJson.name} is malformed. Ignoring.`); return; } - Object.keys(packageGroup) - .filter((name) => !packages.has(name)) // Don't override names from the command line. - .filter((name) => allDependencies.has(name)) // Remove packages that aren't installed. - .forEach((name) => { - packages.set(name, packageGroup[name]); - }); + for (const [name, value] of Object.entries(packageGroupNormalized)) { + // Don't override names from the command line. + // Remove packages that aren't installed. + if (!packages.has(name) && allDependencies.has(name)) { + packages.set(name, value as VersionRange); + } + } } /** diff --git a/packages/angular/cli/src/typings-bazel.d.ts b/packages/angular/cli/src/typings-bazel.d.ts new file mode 100644 index 000000000000..780d1dc372ff --- /dev/null +++ b/packages/angular/cli/src/typings-bazel.d.ts @@ -0,0 +1,14 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/* eslint-disable import/no-extraneous-dependencies */ +// Workaround for https://github.com/bazelbuild/rules_nodejs/issues/1033 +// Alternative approach instead of https://github.com/angular/angular/pull/33226 +declare module '@yarnpkg/lockfile' { + export * from '@types/yarnpkg__lockfile'; +} diff --git a/packages/angular/cli/src/typings.ts b/packages/angular/cli/src/typings.ts index 63fc2bf0ceaf..e7b7d14c0ca3 100644 --- a/packages/angular/cli/src/typings.ts +++ b/packages/angular/cli/src/typings.ts @@ -6,16 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -declare module '@yarnpkg/lockfile' { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - export function parse(data: string): Record; -} - -declare module 'ini' { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - export function parse(data: string): Record; -} - declare module 'npm-pick-manifest' { function pickManifest( metadata: import('./utilities/package-metadata').PackageMetadata, @@ -23,15 +13,3 @@ declare module 'npm-pick-manifest' { ): import('./utilities/package-metadata').PackageManifest; export = pickManifest; } - -declare module 'pacote' { - export function manifest( - specifier: string, - options: Record, - ): Promise<{ name: string; version: string }>; - - export function packument( - specifier: string, - options: Record, - ): Promise; -} diff --git a/packages/angular/cli/src/utilities/install-package.ts b/packages/angular/cli/src/utilities/install-package.ts index 9205af7a39e9..f4375e8d370f 100644 --- a/packages/angular/cli/src/utilities/install-package.ts +++ b/packages/angular/cli/src/utilities/install-package.ts @@ -11,7 +11,7 @@ import { existsSync, mkdtempSync, readFileSync, realpathSync, rmdirSync, writeFi import { tmpdir } from 'os'; import { join, resolve } from 'path'; import { PackageManager } from '../../lib/config/workspace-schema'; -import { NgAddSaveDepedency } from './package-metadata'; +import { NgAddSaveDependency } from './package-metadata'; import { Spinner } from './spinner'; interface PackageManagerOptions { @@ -70,7 +70,7 @@ export async function installAllPackages( export async function installPackage( packageName: string, packageManager: PackageManager = PackageManager.Npm, - save: Exclude = true, + save: Exclude = true, extraArgs: string[] = [], cwd = process.cwd(), ): Promise<1 | 0> { diff --git a/packages/angular/cli/src/utilities/package-json.ts b/packages/angular/cli/src/utilities/package-json.ts deleted file mode 100644 index 359f451ff9b7..000000000000 --- a/packages/angular/cli/src/utilities/package-json.ts +++ /dev/null @@ -1,266 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/** - * This file was automatically generated by json-schema-to-typescript. - * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, - * and run json-schema-to-typescript to regenerate this file. - */ -/* eslint-disable */ - -export type JsonSchemaForNpmPackageJsonFiles = CoreProperties & - JspmDefinition & - ( - | { - bundleDependencies?: BundledDependency; - [k: string]: any; - } - | { - bundledDependencies?: BundledDependency; - [k: string]: any; - } - ) & { - [k: string]: any; - }; -/** - * A person who has been involved in creating or maintaining this package - */ -export type Person = - | { - [k: string]: any; - } - | string; -/** - * Run AFTER the package is published - */ -export type ScriptsPublishAfter = string; -/** - * Run AFTER the package is installed - */ -export type ScriptsInstallAfter = string; -/** - * Run BEFORE the package is uninstalled - */ -export type ScriptsUninstallBefore = string; -/** - * Run BEFORE bump the package version - */ -export type ScriptsVersionBefore = string; -/** - * Run by the 'npm test' command - */ -export type ScriptsTest = string; -/** - * Run by the 'npm stop' command - */ -export type ScriptsStop = string; -/** - * Run by the 'npm start' command - */ -export type ScriptsStart = string; -/** - * Run by the 'npm restart' command. Note: 'npm restart' will run the stop and start scripts if no restart script is provided. - */ -export type ScriptsRestart = string; -/** - * Array of package names that will be bundled when publishing the package. - */ -export type BundledDependency = string[]; - -export interface CoreProperties { - /** - * The name of the package. - */ - name?: string; - /** - * Version must be parseable by node-semver, which is bundled with npm as a dependency. - */ - version?: string; - /** - * This helps people discover your package, as it's listed in 'npm search'. - */ - description?: string; - /** - * This helps people discover your package as it's listed in 'npm search'. - */ - keywords?: string[]; - /** - * The url to the project homepage. - */ - homepage?: string; - /** - * The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package. - */ - bugs?: - | { - [k: string]: any; - } - | string; - /** - * You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it. - */ - license?: string; - /** - * You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it. - */ - licenses?: { - type?: string; - url?: string; - [k: string]: any; - }[]; - author?: Person; - /** - * A list of people who contributed to this package. - */ - contributors?: Person[]; - /** - * A list of people who maintains this package. - */ - maintainers?: Person[]; - /** - * The 'files' field is an array of files to include in your project. If you name a folder in the array, then it will also include the files inside that folder. - */ - files?: string[]; - /** - * The main field is a module ID that is the primary entry point to your program. - */ - main?: string; - bin?: - | string - | { - [k: string]: any; - }; - /** - * Specify either a single file or an array of filenames to put in place for the man program to find. - */ - man?: string[]; - directories?: { - /** - * If you specify a 'bin' directory, then all the files in that folder will be used as the 'bin' hash. - */ - bin?: string; - /** - * Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday. - */ - doc?: string; - /** - * Put example scripts in here. Someday, it might be exposed in some clever way. - */ - example?: string; - /** - * Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info. - */ - lib?: string; - /** - * A folder that is full of man pages. Sugar to generate a 'man' array by walking the folder. - */ - man?: string; - test?: string; - [k: string]: any; - }; - /** - * Specify the place where your code lives. This is helpful for people who want to contribute. - */ - repository?: - | { - [k: string]: any; - } - | string; - /** - * The 'scripts' member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point. - */ - scripts?: { - /** - * Run BEFORE the package is published (Also run on local npm install without any arguments) - */ - prepublish?: string; - publish?: ScriptsPublishAfter; - postpublish?: ScriptsPublishAfter; - /** - * Run BEFORE the package is installed - */ - preinstall?: string; - install?: ScriptsInstallAfter; - postinstall?: ScriptsInstallAfter; - preuninstall?: ScriptsUninstallBefore; - uninstall?: ScriptsUninstallBefore; - /** - * Run AFTER the package is uninstalled - */ - postuninstall?: string; - preversion?: ScriptsVersionBefore; - version?: ScriptsVersionBefore; - /** - * Run AFTER bump the package version - */ - postversion?: string; - pretest?: ScriptsTest; - test?: ScriptsTest; - posttest?: ScriptsTest; - prestop?: ScriptsStop; - stop?: ScriptsStop; - poststop?: ScriptsStop; - prestart?: ScriptsStart; - start?: ScriptsStart; - poststart?: ScriptsStart; - prerestart?: ScriptsRestart; - restart?: ScriptsRestart; - postrestart?: ScriptsRestart; - [k: string]: string | undefined; - }; - /** - * A 'config' hash can be used to set configuration parameters used in package scripts that persist across upgrades. - */ - config?: { - [k: string]: any; - }; - dependencies?: Dependency; - devDependencies?: Dependency; - optionalDependencies?: Dependency; - peerDependencies?: Dependency; - engines?: { - [k: string]: string; - }; - engineStrict?: boolean; - /** - * You can specify which operating systems your module will run on - */ - os?: string[]; - /** - * If your code only runs on certain cpu architectures, you can specify which ones. - */ - cpu?: string[]; - /** - * If your package is primarily a command-line application that should be installed globally, then set this value to true to provide a warning if it is installed locally. - */ - preferGlobal?: boolean; - /** - * If set to true, then npm will refuse to publish it. - */ - private?: boolean; - publishConfig?: { - [k: string]: any; - }; - dist?: { - shasum?: string; - tarball?: string; - [k: string]: any; - }; - readme?: string; - [k: string]: any; -} -/** - * Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL. - */ -export interface Dependency { - [k: string]: string; -} -export interface JspmDefinition { - jspm?: CoreProperties; - [k: string]: any; -} diff --git a/packages/angular/cli/src/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts index e4534561c96e..9c2891735296 100644 --- a/packages/angular/cli/src/utilities/package-metadata.ts +++ b/packages/angular/cli/src/utilities/package-metadata.ts @@ -11,32 +11,19 @@ import * as lockfile from '@yarnpkg/lockfile'; import { existsSync, readFileSync } from 'fs'; import * as ini from 'ini'; import { homedir } from 'os'; -import * as pacote from 'pacote'; +import type { Manifest, Packument } from 'pacote'; import * as path from 'path'; -import { JsonSchemaForNpmPackageJsonFiles } from './package-json'; -const npmPackageJsonCache = new Map>>(); - -export interface NpmRepositoryPackageJson { - name: string; - requestedName: string; - description: string; - - 'dist-tags': { - [name: string]: string; - }; - versions: { - [version: string]: JsonSchemaForNpmPackageJsonFiles; - }; - time: { - modified: string; - created: string; +export interface PackageMetadata extends Packument, NgPackageManifestProperties { + tags: Record; + versions: Record; +} - [version: string]: string; - }; +export interface NpmRepositoryPackageJson extends PackageMetadata { + requestedName?: string; } -export type NgAddSaveDepedency = 'dependencies' | 'devDependencies' | boolean; +export type NgAddSaveDependency = 'dependencies' | 'devDependencies' | boolean; export interface PackageIdentifier { type: 'git' | 'tag' | 'version' | 'range' | 'file' | 'directory' | 'remote'; @@ -48,37 +35,26 @@ export interface PackageIdentifier { rawSpec: string; } -export interface PackageManifest { - name: string; - version: string; - license?: string; - private?: boolean; - deprecated?: boolean; - dependencies: Record; - devDependencies: Record; - peerDependencies: Record; - optionalDependencies: Record; +export interface NgPackageManifestProperties { 'ng-add'?: { - save?: NgAddSaveDepedency; + save?: NgAddSaveDependency; }; 'ng-update'?: { - migrations: string; - packageGroup: Record; + migrations?: string; + packageGroup?: string[] | Record; + packageGroupName?: string; + requirements?: string[] | Record; }; } -export interface PackageMetadata { - name: string; - tags: { [tag: string]: PackageManifest | undefined }; - versions: Record; - 'dist-tags'?: unknown; -} +export interface PackageManifest extends Manifest, NgPackageManifestProperties {} interface PackageManagerOptions extends Record { forceAuth?: Record; } let npmrc: PackageManagerOptions; +const npmPackageJsonCache = new Map>>(); function ensureNpmrc(logger: logging.LoggerApi, usingYarn: boolean, verbose: boolean): void { if (!npmrc) { @@ -231,18 +207,6 @@ function normalizeOptions( return options; } -function normalizeManifest(rawManifest: { name: string; version: string }): PackageManifest { - // TODO: Fully normalize and sanitize - - return { - dependencies: {}, - devDependencies: {}, - peerDependencies: {}, - optionalDependencies: {}, - ...rawManifest, - }; -} - export async function fetchPackageMetadata( name: string, logger: logging.LoggerApi, @@ -260,8 +224,8 @@ export async function fetchPackageMetadata( }; ensureNpmrc(logger, usingYarn, verbose); - - const response = await pacote.packument(name, { + const { packument } = await import('pacote'); + const response = await packument(name, { fullMetadata: true, ...npmrc, ...(registry ? { registry } : {}), @@ -269,23 +233,13 @@ export async function fetchPackageMetadata( // Normalize the response const metadata: PackageMetadata = { - name: response.name, + ...response, tags: {}, - versions: {}, }; - if (response.versions) { - for (const [version, manifest] of Object.entries(response.versions)) { - metadata.versions[version] = normalizeManifest(manifest as { name: string; version: string }); - } - } - if (response['dist-tags']) { - // Store this for use with other npm utility packages - metadata['dist-tags'] = response['dist-tags']; - for (const [tag, version] of Object.entries(response['dist-tags'])) { - const manifest = metadata.versions[version as string]; + const manifest = metadata.versions[version]; if (manifest) { metadata.tags[tag] = manifest; } else if (verbose) { @@ -308,17 +262,18 @@ export async function fetchPackageManifest( ): Promise { const { usingYarn = false, verbose = false, registry } = options; ensureNpmrc(logger, usingYarn, verbose); + const { manifest } = await import('pacote'); - const response = await pacote.manifest(name, { + const response = await manifest(name, { fullMetadata: true, ...npmrc, ...(registry ? { registry } : {}), }); - return normalizeManifest(response); + return response; } -export function getNpmPackageJson( +export async function getNpmPackageJson( packageName: string, logger: logging.LoggerApi, options: { @@ -334,8 +289,8 @@ export function getNpmPackageJson( const { usingYarn = false, verbose = false, registry } = options; ensureNpmrc(logger, usingYarn, verbose); - - const resultPromise: Promise = pacote.packument(packageName, { + const { packument } = await import('pacote'); + const resultPromise = packument(packageName, { fullMetadata: true, ...npmrc, ...(registry ? { registry } : {}), diff --git a/packages/angular/cli/src/utilities/package-tree.ts b/packages/angular/cli/src/utilities/package-tree.ts index 9be8740a414b..9b082e6c9d9f 100644 --- a/packages/angular/cli/src/utilities/package-tree.ts +++ b/packages/angular/cli/src/utilities/package-tree.ts @@ -9,7 +9,7 @@ import * as fs from 'fs'; import { dirname, join } from 'path'; import * as resolve from 'resolve'; -import { NgAddSaveDepedency } from './package-metadata'; +import { NgAddSaveDependency } from './package-metadata'; interface PackageJson { name: string; @@ -22,7 +22,7 @@ interface PackageJson { migrations?: string; }; 'ng-add'?: { - save?: NgAddSaveDepedency; + save?: NgAddSaveDependency; }; } diff --git a/yarn.lock b/yarn.lock index 315c7e6f8e46..4a98d12b0fa0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1923,6 +1923,11 @@ dependencies: "@types/node" "*" +"@types/ini@^1.3.31": + version "1.3.31" + resolved "https://registry.yarnpkg.com/@types/ini/-/ini-1.3.31.tgz#c78541a187bd88d5c73e990711c9d85214800d1b" + integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== + "@types/inquirer@^8.0.0": version "8.2.0" resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.0.tgz#b9566d048f5ff65159f2ed97aff45fe0f00b35ec" @@ -1999,7 +2004,7 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node-fetch@^2.1.6", "@types/node-fetch@^2.5.10": +"@types/node-fetch@*", "@types/node-fetch@^2.1.6", "@types/node-fetch@^2.5.10": version "2.6.1" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== @@ -2032,11 +2037,37 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== -"@types/npm-package-arg@^6.1.0": +"@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" resolved "https://registry.yarnpkg.com/@types/npm-package-arg/-/npm-package-arg-6.1.1.tgz#9e2d8adc04d39824a3d9f36f738010a3f7da3c1a" integrity sha512-452/1Kp9IdM/oR10AyqAgZOxUt7eLbm+EMJ194L6oarMYdZNiFIFAOJ7IIr0OrZXTySgfHjJezh2oiyk2kc3ag== +"@types/npm-registry-fetch@*": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@types/npm-registry-fetch/-/npm-registry-fetch-8.0.4.tgz#77b2737cde22314ccda1dfdb9568fd7769e95b90" + integrity sha512-R9yEj6+NDmXLpKNS19cIaMyaHfV0aHjy/1qbo8K9jiHyjyaYg0CEmuOV/L0Q91DZDi3SuxlYY+2XYwh9TbB+eQ== + dependencies: + "@types/node" "*" + "@types/node-fetch" "*" + "@types/npm-package-arg" "*" + "@types/npmlog" "*" + "@types/ssri" "*" + +"@types/npmlog@*": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.4.tgz#30eb872153c7ead3e8688c476054ddca004115f6" + integrity sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ== + +"@types/pacote@^11.1.3": + version "11.1.3" + resolved "https://registry.yarnpkg.com/@types/pacote/-/pacote-11.1.3.tgz#59c07c6dd3a317bb50045c550292f1c72e50f818" + integrity sha512-1SN4uFKLEcuZwWXCMQUOnJWk+8cL6aRaToAn3+IZtkWBG3i2R3BTyW/BimfCHn9OTzrfrQAX0+InKBurX6ZTuQ== + dependencies: + "@types/node" "*" + "@types/npm-registry-fetch" "*" + "@types/npmlog" "*" + "@types/ssri" "*" + "@types/parse-glob@*": version "3.0.29" resolved "https://registry.yarnpkg.com/@types/parse-glob/-/parse-glob-3.0.29.tgz#6a40ec7ebd2418ee69ee397e48e42169268a10bf" @@ -2169,6 +2200,13 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== +"@types/ssri@*": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/ssri/-/ssri-7.1.1.tgz#2a2c94abf0d3a8c3b07bb4ff08142dd571407bb5" + integrity sha512-DPP/jkDaqGiyU75MyMURxLWyYLwKSjnAuGe9ZCsLp9QZOpXmDfuevk769F0BS86TmRuD5krnp06qw9nSoNO+0g== + dependencies: + "@types/node" "*" + "@types/tapable@^1": version "1.0.8" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" @@ -2243,6 +2281,11 @@ dependencies: "@types/yargs-parser" "*" +"@types/yarnpkg__lockfile@^1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz#9639020e1fb65120a2f4387db8f1e8b63efdf229" + integrity sha512-8NYnGOctzsI4W0ApsP/BIHD/LnxpJ6XaGf2AZmz4EyDYJMxtprN4279dLNI1CPZcwC9H18qYcaFv4bXi0wmokg== + "@types/yauzl@^2.9.1": version "2.9.2" resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" From f222f3868ce190bfb245e678a322401bc3217b74 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 26 Mar 2022 06:30:57 +0000 Subject: [PATCH 0231/1388] build: update dependency typescript to v4.6.3 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 13 +++++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ca9bd88d05cc..6724d7db112f 100644 --- a/package.json +++ b/package.json @@ -210,7 +210,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.3.1", - "typescript": "4.6.2", + "typescript": "4.6.3", "verdaccio": "5.8.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.70.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index b52899234066..d9df77f9a214 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.0.0-next.7", "@angular/compiler-cli": "14.0.0-next.7", - "typescript": "4.6.2", + "typescript": "4.6.3", "webpack": "5.70.0" } } diff --git a/yarn.lock b/yarn.lock index 4a98d12b0fa0..a70d8dc2a84c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10274,16 +10274,21 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.2, typescript@~4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" - integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== +typescript@4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== typescript@~4.5.2: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== +typescript@~4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" + integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== + ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" From 17a7fdcd685afc0a49aeda051e4bd9de03d56ccb Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 26 Mar 2022 06:30:39 +0000 Subject: [PATCH 0232/1388] build: update all non-major dependencies --- package.json | 8 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 6 +- .../schematics_cli/package.json | 2 +- yarn.lock | 159 +++++++++++++++++- 5 files changed, 164 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 6724d7db112f..ce18ca09fe92 100644 --- a/package.json +++ b/package.json @@ -136,9 +136,9 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.27", - "esbuild-wasm": "0.14.27", - "eslint": "8.11.0", + "esbuild": "0.14.28", + "esbuild-wasm": "0.14.28", + "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.25.4", @@ -150,7 +150,7 @@ "https-proxy-agent": "5.0.0", "husky": "7.0.4", "ini": "2.0.0", - "inquirer": "8.2.1", + "inquirer": "8.2.2", "jasmine": "^4.0.0", "jasmine-core": "~4.0.0", "jasmine-spec-reporter": "~7.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 7e95e9399a90..bb1bc1ab69ed 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -33,7 +33,7 @@ "ansi-colors": "4.1.1", "debug": "4.3.4", "ini": "2.0.0", - "inquirer": "8.2.1", + "inquirer": "8.2.2", "jsonc-parser": "3.0.0", "npm-package-arg": "9.0.1", "npm-pick-manifest": "7.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f3af28183b49..6f8d45713a0c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,10 +29,10 @@ "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.27", + "esbuild-wasm": "0.14.28", "glob": "7.2.0", "https-proxy-agent": "5.0.0", - "inquirer": "8.2.1", + "inquirer": "8.2.2", "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.27" + "esbuild": "0.14.28" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index 4fc7343546fa..387827efbd76 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -19,7 +19,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "inquirer": "8.2.1", + "inquirer": "8.2.2", "symbol-observable": "4.0.0", "yargs-parser": "21.0.1" } diff --git a/yarn.lock b/yarn.lock index a70d8dc2a84c..1ebfc49c92a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4540,106 +4540,211 @@ esbuild-android-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== +esbuild-android-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" + integrity sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== + esbuild-android-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== +esbuild-android-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" + integrity sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== + esbuild-darwin-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== +esbuild-darwin-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" + integrity sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== + esbuild-darwin-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== +esbuild-darwin-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" + integrity sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== + esbuild-freebsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== +esbuild-freebsd-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" + integrity sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== + esbuild-freebsd-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== +esbuild-freebsd-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" + integrity sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== + esbuild-linux-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== +esbuild-linux-32@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" + integrity sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== + esbuild-linux-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== +esbuild-linux-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" + integrity sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== + esbuild-linux-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== +esbuild-linux-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" + integrity sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== + esbuild-linux-arm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== +esbuild-linux-arm@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" + integrity sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== + esbuild-linux-mips64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== +esbuild-linux-mips64le@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" + integrity sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== + esbuild-linux-ppc64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== +esbuild-linux-ppc64le@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" + integrity sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== + esbuild-linux-riscv64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== +esbuild-linux-riscv64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" + integrity sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== + esbuild-linux-s390x@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== +esbuild-linux-s390x@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" + integrity sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== + esbuild-netbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== +esbuild-netbsd-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" + integrity sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== + esbuild-openbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== +esbuild-openbsd-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" + integrity sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== + esbuild-sunos-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== +esbuild-sunos-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" + integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== + esbuild-wasm@0.14.27, esbuild-wasm@^0.14.25: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== +esbuild-wasm@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.28.tgz#2a3c5e4d44f788ea4ba7901cb3a65d2582fb16ba" + integrity sha512-8LOoNKcVcJnFb+zOfgPrqWjPRfHcutAG75xRw8724YFDGd/Nv0I4vp4TZ38rWlSd3mYBeDluelRAKJvVQxU9EA== + esbuild-windows-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== +esbuild-windows-32@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" + integrity sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== + esbuild-windows-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== +esbuild-windows-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" + integrity sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== + esbuild-windows-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== +esbuild-windows-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" + integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== + esbuild@0.14.27, esbuild@^0.14.25: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" @@ -4666,6 +4771,32 @@ esbuild@0.14.27, esbuild@^0.14.25: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" +esbuild@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.28.tgz#7738635d2ea19e446bd319d83a1802545e6aebb8" + integrity sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q== + optionalDependencies: + esbuild-android-64 "0.14.28" + esbuild-android-arm64 "0.14.28" + esbuild-darwin-64 "0.14.28" + esbuild-darwin-arm64 "0.14.28" + esbuild-freebsd-64 "0.14.28" + esbuild-freebsd-arm64 "0.14.28" + esbuild-linux-32 "0.14.28" + esbuild-linux-64 "0.14.28" + esbuild-linux-arm "0.14.28" + esbuild-linux-arm64 "0.14.28" + esbuild-linux-mips64le "0.14.28" + esbuild-linux-ppc64le "0.14.28" + esbuild-linux-riscv64 "0.14.28" + esbuild-linux-s390x "0.14.28" + esbuild-netbsd-64 "0.14.28" + esbuild-openbsd-64 "0.14.28" + esbuild-sunos-64 "0.14.28" + esbuild-windows-32 "0.14.28" + esbuild-windows-64 "0.14.28" + esbuild-windows-arm64 "0.14.28" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4788,10 +4919,10 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.11.0.tgz#88b91cfba1356fc10bb9eb592958457dfe09fb37" - integrity sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA== +eslint@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.12.0.tgz#c7a5bd1cfa09079aae64c9076c07eada66a46e8e" + integrity sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q== dependencies: "@eslint/eslintrc" "^1.2.1" "@humanwhocodes/config-array" "^0.9.2" @@ -5907,6 +6038,26 @@ inquirer@8.2.1: strip-ansi "^6.0.0" through "^2.3.6" +inquirer@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" + integrity sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" From 77a828a1cd4c5dde8b0518ccc05277999711871e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 27 Mar 2022 20:01:27 +0000 Subject: [PATCH 0233/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 26 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 121 +++++++++--------- 7 files changed, 97 insertions(+), 92 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8b3d56973b12..3f0612525be3 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@223f927699fe366d2d68fde745fe2caa7e031fd1 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@c05de8e176d7930fb959bc1a893cad9f3b984458 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 1a79cab5ed50..a3b556e91fd2 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@223f927699fe366d2d68fde745fe2caa7e031fd1 + - uses: angular/dev-infra/github-actions/feature-request@c05de8e176d7930fb959bc1a893cad9f3b984458 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 7cd4a639f0f7..f08fe0352096 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@223f927699fe366d2d68fde745fe2caa7e031fd1 + - uses: angular/dev-infra/github-actions/lock-closed@c05de8e176d7930fb959bc1a893cad9f3b984458 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index ce18ca09fe92..9413bea2d13c 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.7", + "@angular/animations": "14.0.0-next.9", "@angular/cdk": "14.0.0-next.8", - "@angular/common": "14.0.0-next.7", - "@angular/compiler": "14.0.0-next.7", - "@angular/compiler-cli": "14.0.0-next.7", - "@angular/core": "14.0.0-next.7", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#1e08de06d80dc7150085262645b4a31899f0953b", - "@angular/forms": "14.0.0-next.7", - "@angular/localize": "14.0.0-next.7", + "@angular/common": "14.0.0-next.9", + "@angular/compiler": "14.0.0-next.9", + "@angular/compiler-cli": "14.0.0-next.9", + "@angular/core": "14.0.0-next.9", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6a52232d391f739aad72c79bf160ab2c6558a9d7", + "@angular/forms": "14.0.0-next.9", + "@angular/localize": "14.0.0-next.9", "@angular/material": "14.0.0-next.8", - "@angular/platform-browser": "14.0.0-next.7", - "@angular/platform-browser-dynamic": "14.0.0-next.7", - "@angular/platform-server": "14.0.0-next.7", - "@angular/router": "14.0.0-next.7", - "@angular/service-worker": "14.0.0-next.7", + "@angular/platform-browser": "14.0.0-next.9", + "@angular/platform-browser-dynamic": "14.0.0-next.9", + "@angular/platform-server": "14.0.0-next.9", + "@angular/router": "14.0.0-next.9", + "@angular/service-worker": "14.0.0-next.9", "@babel/core": "7.17.8", "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index d9df77f9a214..b5741818fb94 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.7", - "@angular/compiler-cli": "14.0.0-next.7", + "@angular/compiler": "14.0.0-next.9", + "@angular/compiler-cli": "14.0.0-next.9", "typescript": "4.6.3", "webpack": "5.70.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index f99bfdad967f..05f11614a81e 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#ce856551b0bc6a74fbf5ca2c9a78ec4c88dbab29", - "@angular/cdk": "github:angular/cdk-builds#d665ed929f1a110d66441a6ec495fb4c819065cd", - "@angular/common": "github:angular/common-builds#af3c3a1f6ea28c89f756643407c7894c1a3e3aa7", - "@angular/compiler": "github:angular/compiler-builds#402cac8a3f572740491d632cf8df7da1fa2280da", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#12b1ccea0858fc276673a711fb78863fd047e6b5", - "@angular/core": "github:angular/core-builds#bc289b4a66fc72360df9a5ffc127b7bf1bac2884", - "@angular/forms": "github:angular/forms-builds#69fe0a0c20e5186feadecebba71909c29f0a63fc", - "@angular/language-service": "github:angular/language-service-builds#d2c764b56bacb2ed3ab1015799f19079aa4e7dc1", - "@angular/localize": "github:angular/localize-builds#df1e9effc42adda883ec655c6a6703dc6eb025f5", - "@angular/material": "github:angular/material-builds#91a810fc3a9597696b0c100fc6f8de7e7ab8a306", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b274db2e399ac6999cae21018a9c218ab482f833", - "@angular/platform-browser": "github:angular/platform-browser-builds#5375c9116a95cfbb2f8967b9236690b7497cdfda", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#54d3e10eaa56c9a39ea4b91dd76f1463e58896f9", - "@angular/platform-server": "github:angular/platform-server-builds#81bd539824e4a26eedfa63e388426425f2e7b709", - "@angular/router": "github:angular/router-builds#218f74dbacd7bb5d82d78700e63911231481136f", - "@angular/service-worker": "github:angular/service-worker-builds#e2d46dfd796673f064c6c32f2ab7b06a9f247fb4" + "@angular/animations": "github:angular/animations-builds#f8559c80a5cf765512767014994f8a1702a24500", + "@angular/cdk": "github:angular/cdk-builds#917126505b8ef66206efc572e2c10a04619d4d76", + "@angular/common": "github:angular/common-builds#4fa3f45397b608f87cc425aed388a6d6123a8bf1", + "@angular/compiler": "github:angular/compiler-builds#5fda299bf58c239066a61eaf62149368ec9af514", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#e1f8738bd9071d4dcde66644bc4e7eccd066ba37", + "@angular/core": "github:angular/core-builds#d6b3d90b34874153a6e300ffdeb37b499c6ad0e8", + "@angular/forms": "github:angular/forms-builds#56757fc8684bf7d375d6e1a75fca19ede585d508", + "@angular/language-service": "github:angular/language-service-builds#75bf8c20dcbe901922076a99017cdb91836490a0", + "@angular/localize": "github:angular/localize-builds#bc3cd7f98502e11edfc88ecd8e5d4cfe0aca47f9", + "@angular/material": "github:angular/material-builds#649a38ecf69546d9ab3c0908a6327ede801935be", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#10860b1a8624ac426efb4c6f9453170019bc9538", + "@angular/platform-browser": "github:angular/platform-browser-builds#d5d36b91277468314be5e54109cbfdf23f02e6fc", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#75b4069df3426cbe625db982e99d7ad73d6a8614", + "@angular/platform-server": "github:angular/platform-server-builds#73a1231a9738d2324605ed4f2348a4ff07482c79", + "@angular/router": "github:angular/router-builds#5bc0d516df1149dc03a06e91cafbed75a04fc2ae", + "@angular/service-worker": "github:angular/service-worker-builds#8de51777277ad82efc88bb53c74d8d8506005c55" } } diff --git a/yarn.lock b/yarn.lock index 1ebfc49c92a9..5ac869a4d5bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -108,10 +108,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.7.tgz#5936364100a84893bd53643ed65746326c9e5aaa" - integrity sha512-aewapXQ8m8RusSNJHZHSSfE16EZcmETMhZL3L7JHRjb6vWkd83uhNa9D8WzZv34Ad2BVvk7M/u7bFXBYIj+3Fg== +"@angular/animations@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.9.tgz#07e056e6e79e6a5349431025e280a47463f74c26" + integrity sha512-ybuXtwASBqGUNS/oiodnC+/PhFTNB0claXwzG8E0jp/CZM22COhhCo9cSq+kSSPT+MdpdBlujMdTLSoZQhSUZw== dependencies: tslib "^2.3.0" @@ -132,17 +132,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.7.tgz#36092b2163277c63ab414efb42db1798d2e4457c" - integrity sha512-v7uivPO1Ngui7mjMs/sZ/iVb0X+24t7eN6Gkww3btfP5oK2VQ0hZwMx2oUAqhY6Ijv8mD3cDnopl38bKBSw46w== +"@angular/common@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.9.tgz#b641f9e3712856392e344d4dbc912d815553fb46" + integrity sha512-mRFr9q6RbXDrfae26A+V8eVJKatEI8zY7KlBAZ/Zwn5tcq53ikZ8z+jzJwDjjwKC82f98t1qm98Ep78dor4Xqg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.7.tgz#ac993806ce4af49716322b00c096451df4df445c" - integrity sha512-5JW+/nlNDKFuN8tSxVXzQMbkXhzr5YxCuC3qR0vdPzFG8cBlBAwyrt6Er0Z5fIWxmxngnmPvPDUpbpO1FHZnpA== +"@angular/compiler-cli@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.9.tgz#42ccfdb8e0af9e6c8d400751b9c83e4e1bc682a3" + integrity sha512-3zNCDdYAWBVWSPK1QTtiXL4rFfT05WzMUJgY+7Ju3FOlVZjuQPX0l6H7SUINcIIZZFklnNB9tLOwlLKtC4oUTA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -155,17 +155,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.7.tgz#21cab07cf8ca1445dbf39b93f7fa43ee965003dc" - integrity sha512-9r27doQ3Yl8z6/cf5BWgoPNk3bVOL82BB4X/utyyJhozFQgU0lUlUGdPksc+wFereSblEN7wx1LXYuSID17DJA== +"@angular/compiler@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.9.tgz#962f9468bd07ac882483c0bc00ea6934758164a1" + integrity sha512-EgwkGqnAhvFgw6RgY9yLGNoGhnPoAxhf17iefCjr/J80GfZA4GnK2Gh4F3F0JIe696YKRbhByPwVCCsMrEz3Lw== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.7.tgz#b65d45987fd70c2fdb70060b87b3a6f032f08bd4" - integrity sha512-yoSTPTYTnu+a89ZiA+WdneBJO+E+oNnyC/3o4R51V/GugE+BwzKBOm51zAh1Ypg7MJDcO9Ft+ESsLtquxmuOiw== +"@angular/core@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.9.tgz#1105601ae4935d219a83a603bb0c2c9907de1c17" + integrity sha512-3x9kwG3g1EDfXI5UaA0i5kts1KBXgYdLCOy3nOvBOvLSuFxmarUjWaZolutSTew+No3+O3Avv3nZocU/wnsCVQ== dependencies: tslib "^2.3.0" @@ -176,15 +176,15 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#1e08de06d80dc7150085262645b4a31899f0953b": - version "0.0.0-223f927699fe366d2d68fde745fe2caa7e031fd1" - uid "1e08de06d80dc7150085262645b4a31899f0953b" - resolved "https://github.com/angular/dev-infra-private-builds.git#1e08de06d80dc7150085262645b4a31899f0953b" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6a52232d391f739aad72c79bf160ab2c6558a9d7": + version "0.0.0-c05de8e176d7930fb959bc1a893cad9f3b984458" + uid "6a52232d391f739aad72c79bf160ab2c6558a9d7" + resolved "https://github.com/angular/dev-infra-private-builds.git#6a52232d391f739aad72c79bf160ab2c6558a9d7" dependencies: "@angular-devkit/build-angular" "14.0.0-next.6" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" - "@bazel/buildifier" "^5.0.1" + "@bazel/buildifier" "5.0.1" "@bazel/concatjs" "5.3.0" "@bazel/esbuild" "5.3.0" "@bazel/protractor" "5.3.0" @@ -202,9 +202,9 @@ "@types/yargs" "^17.0.0" browser-sync "^2.27.7" chalk "^4.1.0" - clang-format "^1.6.0" + clang-format "1.6.0" node-fetch "^2.6.1" - prettier "^2.3.2" + prettier "2.6.1" protractor "^7.0.0" selenium-webdriver "4.1.1" send "^0.18.0" @@ -216,17 +216,17 @@ yargs "^17.0.0" zone.js "^0.11.4" -"@angular/forms@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.7.tgz#9312bb6a4dda4c732f2cc1e2c35fce521de6be6a" - integrity sha512-ygZNM9nuGHdtcJA9eHQxqgoJWNOVpEHaBgVgspvC9uKufkPVRWFifxaO0hus9aHrBhR1zHLjPod/iNkIBhT7aQ== +"@angular/forms@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.9.tgz#1c7502ad1250eb38563915b133ba2b20cca25696" + integrity sha512-000n4DUjgKbsHbX7xj0v/KPt6R7ENKps1fVbtuv3etidFClj5PqSbTy4TGKRrMhqhopJ847v/xrmfo6BIA/A6w== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.7.tgz#cc45c13fe4b294e962a996ddbea38e1218b06b8c" - integrity sha512-d7VgvDNYgGFc61PpzhVRauZ9bD6fmEVsNBdt9XSlM942N98XDSEemFeQGFyFJGLzEoRjcUWq5K5iRoERQyjk0Q== +"@angular/localize@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.9.tgz#28aa02f2c590cf6589cbfeec097f8fe695e85cf8" + integrity sha512-5M/iXnGeha+AJYnZxzpvls557qHH23I8wLlLgIp87pu6cH74FvJrjpt7LP3ADLPZtvi51Vj1jlzDAxxSSYm9zQ== dependencies: "@babel/core" "7.17.5" glob "7.2.0" @@ -239,40 +239,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.7.tgz#9653b2ca6b263cf31f9b6e66d26ef851c49eb55d" - integrity sha512-gm8QqUgDytWvg9xn0H23t2KVAIHZnuCq2EavTWvJHuJAsL7b0KBF3FL8IBJyEgJY0AzQtAs1JTEfC6PG8sLleg== +"@angular/platform-browser-dynamic@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.9.tgz#8a7df03be1cd4d4965ac8c809906c325928f18b9" + integrity sha512-GHwSPeBdwcE7FLFOLx97uuspi/0TVNUSEkw0rUPuvj/de2vzCdNlEpyTxC7f2fla2jtpgoePnLk7FT+jsYmHxA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.7.tgz#06f73ad008fa460cd230bac3888e4a420dc36156" - integrity sha512-wNiKdd67CLJiNh8g5vfuIy9XvC6I5oyslui8/kRKnj627nVby0JQ/kVYtb9+W+yWhYcdEH4QTvmznXjM3U5tgA== +"@angular/platform-browser@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.9.tgz#908332fe5717db3fc1e9cf1cffcbc7b8f0136953" + integrity sha512-sKEwdx6VIQBE8MOnBlBB+zWLdfEFeTbIAd6Z1SV9yaPw7uZzuf+u/vQXcVh3o1+D5hm+NplOFkuC8dsHVBJSwQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.7.tgz#0264717c26d59c41f651620887674d9a9c0f53a2" - integrity sha512-zMMzOQREIAl9AyBLH2mNWVAgtEQWXliqYf7T4p/6EJ6GzDbgPpwbrAbUC+c2vef1+XoCXTPBLrCWfYFH5jpaBw== +"@angular/platform-server@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.9.tgz#b590fb1e9ff7e0a72cbca5eabc80730488542bd2" + integrity sha512-0HyOLu/duk3atAD1rfBrfLSGyKjts2QG2fNXsooTYvVM6g4z2zYMI0/EcTqHJWCvTzd7EtOyjy/H8URt3AvkKA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.7.tgz#9c515958c91134d1e33c699b5f21e37bfd0d0ec8" - integrity sha512-HNeAWU6BCbG4XqLXHCDeRZce4DcvtjiGhnBcaOg5OVUadPITaWP/57G4nWvszLqROhdoXMDkmEBy1buc7vy4JA== +"@angular/router@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.9.tgz#13f1f713c960724fac059e8d28a5b38a68cbd991" + integrity sha512-EFiunFBJttivcgqAvnzd8e6Saqxov0YCzLmq92JXVDHNr4buh70K1i7v+sr9oxTYHfRichbTVTBqem0OYgF6SQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.7": - version "14.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.7.tgz#0dfae4de18fad4ee6959761a45ffc2ff6561651f" - integrity sha512-aj6p0+rMaUcr9XtDgVphDTtINhkrezX0zPY5JTzmQAVp8A0J/MpXbOLkcYC9tWtrxrgBNDwxLrI4nqGburqvuQ== +"@angular/service-worker@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.9.tgz#bb993ecfc0aa3a245db3153a2b174659c7b33335" + integrity sha512-yS5apNBZnArlPJlW75u73RxfTYDLIgq356swaASBND1vRA8xfwBESb05gtN+Wc45jFDXMGHi1WNDEIFzeK7/cA== dependencies: tslib "^2.3.0" @@ -1233,7 +1233,7 @@ resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" integrity sha512-lxiQzVqSGDG0PIDQGJdVDjp7T+50p5NnM4EnRJa76mkZp6u5ul19GJNKhPKi81TZQALZEZDxAgxVqQKkWTUOxA== -"@bazel/buildifier@5.0.1", "@bazel/buildifier@^5.0.1": +"@bazel/buildifier@5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== @@ -3515,7 +3515,7 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -clang-format@^1.6.0: +clang-format@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.6.0.tgz#48fac4387712aeeae0f47b5d72f639f3fd95f4b6" integrity sha512-W3/L7fWkA8DoLkz9UGjrRnNi+J5a5TuS2HDLqk6WsicpOzb66MBu4eY/EcXhicHriVnAXWQVyk5/VeHWY6w4ow== @@ -8574,7 +8574,12 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha1-mUsCqkb2mcULYle1+qp/4lV+YtY= -prettier@^2.0.0, prettier@^2.3.2: +prettier@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" + integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== + +prettier@^2.0.0: version "2.6.0" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== From 9f338765bd38e35cdd4f1bc8368b1991682033fd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 28 Mar 2022 18:36:34 +0000 Subject: [PATCH 0234/1388] build: update all non-major dependencies --- package.json | 6 +-- yarn.lock | 110 +++++++++++++++++++++++++-------------------------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index 9413bea2d13c..97bee9107983 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.16.0", - "@typescript-eslint/parser": "5.16.0", + "@typescript-eslint/eslint-plugin": "5.17.0", + "@typescript-eslint/parser": "5.17.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -170,7 +170,7 @@ "magic-string": "0.26.1", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.3", + "ng-packagr": "14.0.0-next.4", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.1", "open": "8.4.0", diff --git a/yarn.lock b/yarn.lock index 5ac869a4d5bc..ab0730106ff8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2293,14 +2293,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz#78f246dd8d1b528fc5bfca99a8a64d4023a3d86d" - integrity sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw== - dependencies: - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/type-utils" "5.16.0" - "@typescript-eslint/utils" "5.16.0" +"@typescript-eslint/eslint-plugin@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz#704eb4e75039000531255672bf1c85ee85cf1d67" + integrity sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ== + dependencies: + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/type-utils" "5.17.0" + "@typescript-eslint/utils" "5.17.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2308,69 +2308,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.16.0.tgz#e4de1bde4b4dad5b6124d3da227347616ed55508" - integrity sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA== +"@typescript-eslint/parser@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.17.0.tgz#7def77d5bcd8458d12d52909118cf3f0a45f89d5" + integrity sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig== dependencies: - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/typescript-estree" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz#7e7909d64bd0c4d8aef629cdc764b9d3e1d3a69a" - integrity sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ== +"@typescript-eslint/scope-manager@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz#4cea7d0e0bc0e79eb60cad431c89120987c3f952" + integrity sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w== dependencies: - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/visitor-keys" "5.16.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" -"@typescript-eslint/type-utils@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz#b482bdde1d7d7c0c7080f7f2f67ea9580b9e0692" - integrity sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ== +"@typescript-eslint/type-utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz#1c4549d68c89877662224aabb29fbbebf5fc9672" + integrity sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg== dependencies: - "@typescript-eslint/utils" "5.16.0" + "@typescript-eslint/utils" "5.17.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.16.0.tgz#5827b011982950ed350f075eaecb7f47d3c643ee" - integrity sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g== +"@typescript-eslint/types@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.17.0.tgz#861ec9e669ffa2aa9b873dd4d28d9b1ce26d216f" + integrity sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw== -"@typescript-eslint/typescript-estree@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz#32259459ec62f5feddca66adc695342f30101f61" - integrity sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ== +"@typescript-eslint/typescript-estree@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz#a7cba7dfc8f9cc2ac78c18584e684507df4f2488" + integrity sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg== dependencies: - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/visitor-keys" "5.16.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.16.0.tgz#42218b459d6d66418a4eb199a382bdc261650679" - integrity sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ== +"@typescript-eslint/utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.17.0.tgz#549a9e1d491c6ccd3624bc3c1b098f5cfb45f306" + integrity sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/typescript-estree" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz#f27dc3b943e6317264c7492e390c6844cd4efbbb" - integrity sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g== +"@typescript-eslint/visitor-keys@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz#52daae45c61b0211b4c81b53a71841911e479128" + integrity sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA== dependencies: - "@typescript-eslint/types" "5.16.0" + "@typescript-eslint/types" "5.17.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -7435,10 +7435,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-next.3: - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.3.tgz#211f5983eced39c5f477f67b26ffa159571e5d07" - integrity sha512-4p6tgJCPyDmFByjsLpr2K30ViFB9DFdpRwZMCA4IgEwzgrn2stPumCihT5LG3+O7SyyNpfTBxHbFRmLTYfILng== +ng-packagr@14.0.0-next.4: + version "14.0.0-next.4" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.4.tgz#9ed1796fda15633e8926f7c0ac5889aeb18cdb51" + integrity sha512-/VxddJd1A/axQc9o19zlHdao9JhmLx1by7GBlC1hJ8xjK0Qfp2RCzxuoMhMw9LICuP1solxVduE0xb27jeP9sg== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7463,7 +7463,7 @@ ng-packagr@14.0.0-next.3: rollup-plugin-sourcemaps "^0.6.3" rxjs "^7.5.5" sass "^1.49.9" - stylus "^0.56.0" + stylus "^0.57.0" optionalDependencies: esbuild "^0.14.25" @@ -10024,7 +10024,7 @@ stylus-loader@6.2.0: klona "^2.0.4" normalize-path "^3.0.0" -stylus@0.56.0, stylus@^0.56.0: +stylus@0.56.0: version "0.56.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.56.0.tgz#13fc85c48082db483c90d2530942fe8b0be988eb" integrity sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA== @@ -10036,7 +10036,7 @@ stylus@0.56.0, stylus@^0.56.0: sax "~1.2.4" source-map "^0.7.3" -stylus@0.57.0: +stylus@0.57.0, stylus@^0.57.0: version "0.57.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" integrity sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ== From 2ab77429bb213a515a2334ff6c577be561117108 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Mar 2022 20:48:44 +0200 Subject: [PATCH 0235/1388] fix(@angular-devkit/build-angular): allow Workers in Stackblitz This is no longer needed as Stackblitz implemented the missing Node.Js worker APIs. --- .../src/webpack/configs/styles.ts | 29 +++++-------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 5fbcd2cc7243..62c373fd36ed 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -107,16 +107,14 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { ); } - const sassImplementation = getSassImplementation(); - if (sassImplementation instanceof SassWorkerImplementation) { - extraPlugins.push({ - apply(compiler) { - compiler.hooks.shutdown.tap('sass-worker', () => { - sassImplementation?.close(); - }); - }, - }); - } + const sassImplementation = new SassWorkerImplementation(); + extraPlugins.push({ + apply(compiler) { + compiler.hooks.shutdown.tap('sass-worker', () => { + sassImplementation.close(); + }); + }, + }); const assetNameTemplate = assetNameTemplateFactory(hashFormat); @@ -404,14 +402,3 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { plugins: extraPlugins, }; } - -function getSassImplementation(): SassWorkerImplementation | typeof import('sass') { - const { webcontainer } = process.versions as unknown as Record; - - // When `webcontainer` is a truthy it means that we are running in a StackBlitz webcontainer. - // `SassWorkerImplementation` uses `receiveMessageOnPort` Node.js `worker_thread` API to ensure sync behavior which is ~2x faster. - // However, it is non trivial to support this in a webcontainer and while slower we choose to use `dart-sass` - // which in Webpack uses the slower async path. - // We should periodically check with StackBlitz folks (Mark Whitfeld / Dominic Elm) to determine if this workaround is still needed. - return webcontainer ? require('sass') : new SassWorkerImplementation(); -} From 2ec6aa84e638c3f6d4faf709bbddcead9c99f806 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 28 Mar 2022 12:17:23 +0000 Subject: [PATCH 0236/1388] build: lock file maintenance --- yarn.lock | 228 ++++++++++++++++++++++-------------------------------- 1 file changed, 93 insertions(+), 135 deletions(-) diff --git a/yarn.lock b/yarn.lock index ab0730106ff8..b1b6a63efb91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1952,9 +1952,9 @@ integrity sha512-KvhqNz4NaONk7cfp4E9x+uXOUp7x4H2Zeyb4yXnw2vIuxD5YfSi1767x+aF7z54elhZcC0OH9/78/WL6+5jcDg== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.10" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.10.tgz#9b05b7896166cd00e9cbd59864853abf65d9ac23" - integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": version "0.0.29" @@ -2013,9 +2013,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.22.tgz#38b6c4b9b2f3ed9f2e376cce42a298fb2375251e" - integrity sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw== + version "17.0.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" + integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== "@types/node@12.20.24": version "12.20.24" @@ -2694,7 +2694,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0, ajv@^8.10.0, ajv@^8.8.0: +ajv@8.10.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -2704,7 +2704,7 @@ ajv@8.10.0, ajv@^8.10.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.11.0, ajv@^8.0.0: +ajv@8.11.0, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.8.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== @@ -3162,7 +3162,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -3376,7 +3376,7 @@ cacache@16.0.1: tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.0.3: +cacache@16.0.3, cacache@^16.0.0, cacache@^16.0.2: version "16.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" integrity sha512-eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g== @@ -3400,30 +3400,6 @@ cacache@16.0.3: tar "^6.1.11" unique-filename "^1.1.1" -cacache@^16.0.0: - version "16.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.2.tgz#b18d630b707554d7d5ce96f53bfe845233c84933" - integrity sha512-Q17j7s8X81i/QYVrKVQ/qwWGT+pYLfpTcZ+X+p/Qw9FULy9JEfb2FECYTTt6mPV6A/vk92nRZ80ncpKxiGTrIA== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.1.2" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^7.2.0" - infer-owner "^1.0.4" - lru-cache "^7.5.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.1.11" - unique-filename "^1.1.1" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3443,9 +3419,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001317: - version "1.0.30001319" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz#eb4da4eb3ecdd409f7ba1907820061d56096e88f" - integrity sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw== + version "1.0.30001320" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285" + integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== caseless@~0.12.0: version "0.12.0" @@ -3981,10 +3957,10 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.5.tgz#ba385f89782c6cb114cf45dfa4704c6bb29fca51" - integrity sha512-zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw== +date-format@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.6.tgz#f6138b8f17968df9815b3d101fc06b0523f066c5" + integrity sha512-B9vvg5rHuQ8cbUXE/RMWMyX2YA5TecT3jKF5fLtGNlzPlU7zblSPmAm2OImDbWL+LDOQ6pUm+4LOFz+ywS41Zw== dayjs@1.10.8: version "1.10.8" @@ -3998,7 +3974,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4329,9 +4305,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.84: - version "1.4.89" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.89.tgz#33c06592812a17a7131873f4596579084ce33ff8" - integrity sha512-z1Axg0Fu54fse8wN4fd+GAINdU5mJmLtcl6bqIcYyzNVGONcfHAeeJi88KYMQVKalhXlYuVPzKkFIU5VD0raUw== + version "1.4.96" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz#a97438a01d5db1460343fea4a344960b09330990" + integrity sha512-DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw== emoji-regex@^8.0.0: version "8.0.0" @@ -4705,12 +4681,12 @@ esbuild-sunos-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== -esbuild-wasm@0.14.27, esbuild-wasm@^0.14.25: +esbuild-wasm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== -esbuild-wasm@0.14.28: +esbuild-wasm@0.14.28, esbuild-wasm@^0.14.25: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.28.tgz#2a3c5e4d44f788ea4ba7901cb3a65d2582fb16ba" integrity sha512-8LOoNKcVcJnFb+zOfgPrqWjPRfHcutAG75xRw8724YFDGd/Nv0I4vp4TZ38rWlSd3mYBeDluelRAKJvVQxU9EA== @@ -4745,7 +4721,7 @@ esbuild-windows-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== -esbuild@0.14.27, esbuild@^0.14.25: +esbuild@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== @@ -4771,7 +4747,7 @@ esbuild@0.14.27, esbuild@^0.14.25: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" -esbuild@0.14.28: +esbuild@0.14.28, esbuild@^0.14.25: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.28.tgz#7738635d2ea19e446bd319d83a1802545e6aebb8" integrity sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q== @@ -5767,9 +5743,9 @@ html-encoding-sniffer@^1.0.2: whatwg-encoding "^1.0.1" html-entities@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" - integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== + version "2.3.3" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" + integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== html-escaper@^2.0.0: version "2.0.2" @@ -6345,9 +6321,9 @@ isarray@~1.0.0: integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isbinaryfile@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== isexe@^2.0.0: version "2.0.0" @@ -7006,15 +6982,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.3" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.3.tgz#8bddd981846873895bcc55c0961560c7214a8ad7" - integrity sha512-H/oQKcCVIhQ8zCtUh5aftdp9eRpGyVB1M5sKzAJ0i10q5jS+YXk133vtLgzT1RIoWMbIn7QD1LUto8a1hqh6gA== + version "6.4.4" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.4.tgz#c9bc75569f3f40bba22fe1bd0677afa7a6a13bac" + integrity sha512-ncaWPsuw9Vl1CKA406hVnJLGQKy1OHx6buk8J4rE2lVW+NW5Y82G5/DIloO7NkqLOUtNPEANaWC1kZYVjXssPw== dependencies: - date-format "^4.0.5" - debug "^4.3.3" + date-format "^4.0.6" + debug "^4.3.4" flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.5" + streamroller "^3.0.6" long@^4.0.0: version "4.0.0" @@ -7097,18 +7073,18 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3: - version "10.0.6" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.6.tgz#671269de09cc51208413460898efb7b36adf5534" - integrity sha512-4Gfh6lV3TLXmj7qz79hBFuvVqjYSMW6v2+sxtdX4LFQU0rK3V/txRjE0DoZb7X0IF3t9f8NO3CxPSWlvdckhVA== +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: + version "10.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.0.tgz#7232ef7002a635c04d4deac325df144f21871408" + integrity sha512-HeP4QlkadP/Op+hE+Une1070kcyN85FshQObku3/rmzRh4zDcKXA19d2L3AQR6UoaX3uZmhSOpTLH15b1vOFvQ== dependencies: agentkeepalive "^4.2.1" - cacache "^16.0.0" + cacache "^16.0.2" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^7.5.1" + lru-cache "^7.7.1" minipass "^3.1.6" minipass-collect "^1.0.2" minipass-fetch "^2.0.3" @@ -7183,12 +7159,12 @@ methods@~1.1.2: integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.2.3" + braces "^3.0.2" + picomatch "^2.3.1" mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" @@ -7265,10 +7241,10 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" @@ -7277,10 +7253,10 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^2.0.1, minipass-fetch@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.0.3.tgz#688bbd0c2b019642778dc808b6950dd908d192b3" - integrity sha512-VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ== +minipass-fetch@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" + integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== dependencies: minipass "^3.1.6" minipass-sized "^1.0.3" @@ -7348,11 +7324,11 @@ mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4: integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "^1.2.5" + minimist "^1.2.6" ms@2.0.0: version "2.0.0" @@ -7397,9 +7373,9 @@ mv@2.1.1: rimraf "~2.4.0" nanoid@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" - integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + version "3.3.2" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557" + integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA== natural-compare@^1.4.0: version "1.4.0" @@ -7495,7 +7471,7 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-forge@^1.2.0: +node-forge@^1: version "1.3.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.0.tgz#37a874ea723855f37db091e6c186e5b67a01d4b2" integrity sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA== @@ -7590,7 +7566,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.1, npm-package-arg@^9.0.0: +npm-package-arg@9.0.1, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.1.tgz#db9c6379c45d79db88ee6dd40d3ec6a9d9a4d13a" integrity sha512-Xs9wznfEAmZAR61qsYH3iN24V/qMYYkvAR5CRQNMvC6PjN2fHtO8y9XP/xdp5K+Icx+u1wMBMgWRPCmAEChSog== @@ -7620,16 +7596,16 @@ npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: semver "^7.3.5" npm-registry-fetch@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.0.1.tgz#ceecbaab9f1d0d911e1c01a5be2be96d45e472f5" - integrity sha512-Ak+LXVtSrCLOdscFW/apUw67OPNph8waHsPKM9UOJosL7i59EF5XoSWQMEsXEOeifM9Bb4/2+WrQC4t/pd8DGg== + version "13.1.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.0.tgz#71bed52e30a4b27441604bbba79c7db8e0e34cb5" + integrity sha512-TIYL5X8CcwDhbFMXFDShNcpG6OMCYK6VzvSr6MUWP20tCU2DJ4ao2qQg3DT+3Pet8mO6/cgbZpon4LMh3duYLg== dependencies: - make-fetch-happen "^10.0.3" + make-fetch-happen "^10.0.6" minipass "^3.1.6" - minipass-fetch "^2.0.1" + minipass-fetch "^2.0.3" minipass-json-stream "^1.0.1" minizlib "^2.1.2" - npm-package-arg "^9.0.0" + npm-package-arg "^9.0.1" proc-log "^2.0.0" npm-run-path@^4.0.1: @@ -8072,7 +8048,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -8574,16 +8550,11 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha1-mUsCqkb2mcULYle1+qp/4lV+YtY= -prettier@2.6.1: +prettier@2.6.1, prettier@^2.0.0: version "2.6.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== -prettier@^2.0.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" - integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== - pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -9303,6 +9274,7 @@ sass@1.49.9, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" + uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -9377,11 +9349,11 @@ selenium-webdriver@4.1.1: ws ">=7.4.6" selfsigned@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.0.tgz#e927cd5377cbb0a1075302cff8df1042cc2bce5b" - integrity sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" + integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== dependencies: - node-forge "^1.2.0" + node-forge "^1" "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: version "5.7.1" @@ -9919,13 +9891,13 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.5.tgz#17e348dc2a662f9f325373549ab91d55316051ab" - integrity sha512-5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g== +streamroller@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.6.tgz#52823415800ded79a49aa3f7712f50a422b97493" + integrity sha512-Qz32plKq/MZywYyhEatxyYc8vs994Gz0Hu2MSYXXLD233UyPeIeRBZARIIGwFer4Mdb8r3Y2UqKkgyDghM6QCg== dependencies: - date-format "^4.0.5" - debug "^4.3.3" + date-format "^4.0.6" + debug "^4.3.4" fs-extra "^10.0.1" string-argv@~0.3.1: @@ -10143,7 +10115,7 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.12.1: +terser@5.12.1, terser@^5.7.2: version "5.12.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== @@ -10153,15 +10125,6 @@ terser@5.12.1: source-map "~0.7.2" source-map-support "~0.5.20" -terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10311,9 +10274,9 @@ treeify@^1.1.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.5.0.tgz#618bef5854c1fbbedf5e31465cbb224a1d524ef9" - integrity sha512-6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw== + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -10330,13 +10293,13 @@ ts-node@^10.0.0: yn "3.1.1" tsconfig-paths@^3.12.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz#4fcc48f9ccea8826c41b9ca093479de7f5018976" - integrity sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g== + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" - minimist "^1.2.0" + minimist "^1.2.6" strip-bom "^3.0.0" tslib@2.3.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: @@ -10430,7 +10393,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.3: +typescript@4.6.3, typescript@~4.6.2: version "4.6.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== @@ -10440,11 +10403,6 @@ typescript@~4.5.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== -typescript@~4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" - integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== - ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" From 156006aba0c07558be7231527e346ef66d7f930f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 29 Mar 2022 13:16:34 +0000 Subject: [PATCH 0237/1388] build: update angular to d5d65d3 --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 8 ++--- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 3f0612525be3..66b336dbe8ab 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@c05de8e176d7930fb959bc1a893cad9f3b984458 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index a3b556e91fd2..f40dc51c48d5 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@c05de8e176d7930fb959bc1a893cad9f3b984458 + - uses: angular/dev-infra/github-actions/feature-request@129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index f08fe0352096..e91230350dd0 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@c05de8e176d7930fb959bc1a893cad9f3b984458 + - uses: angular/dev-infra/github-actions/lock-closed@129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 97bee9107983..2a92cc0d1bd1 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.9", "@angular/compiler-cli": "14.0.0-next.9", "@angular/core": "14.0.0-next.9", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6a52232d391f739aad72c79bf160ab2c6558a9d7", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030", "@angular/forms": "14.0.0-next.9", "@angular/localize": "14.0.0-next.9", "@angular/material": "14.0.0-next.8", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 05f11614a81e..eae26035d3a3 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#f8559c80a5cf765512767014994f8a1702a24500", - "@angular/cdk": "github:angular/cdk-builds#917126505b8ef66206efc572e2c10a04619d4d76", - "@angular/common": "github:angular/common-builds#4fa3f45397b608f87cc425aed388a6d6123a8bf1", - "@angular/compiler": "github:angular/compiler-builds#5fda299bf58c239066a61eaf62149368ec9af514", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#e1f8738bd9071d4dcde66644bc4e7eccd066ba37", - "@angular/core": "github:angular/core-builds#d6b3d90b34874153a6e300ffdeb37b499c6ad0e8", - "@angular/forms": "github:angular/forms-builds#56757fc8684bf7d375d6e1a75fca19ede585d508", - "@angular/language-service": "github:angular/language-service-builds#75bf8c20dcbe901922076a99017cdb91836490a0", - "@angular/localize": "github:angular/localize-builds#bc3cd7f98502e11edfc88ecd8e5d4cfe0aca47f9", - "@angular/material": "github:angular/material-builds#649a38ecf69546d9ab3c0908a6327ede801935be", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#10860b1a8624ac426efb4c6f9453170019bc9538", - "@angular/platform-browser": "github:angular/platform-browser-builds#d5d36b91277468314be5e54109cbfdf23f02e6fc", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#75b4069df3426cbe625db982e99d7ad73d6a8614", - "@angular/platform-server": "github:angular/platform-server-builds#73a1231a9738d2324605ed4f2348a4ff07482c79", - "@angular/router": "github:angular/router-builds#5bc0d516df1149dc03a06e91cafbed75a04fc2ae", - "@angular/service-worker": "github:angular/service-worker-builds#8de51777277ad82efc88bb53c74d8d8506005c55" + "@angular/animations": "github:angular/animations-builds#d5d65d3baaa0738524de5b43139ed943ce3eb268", + "@angular/cdk": "github:angular/cdk-builds#db40116267ca4d79154fc4078a9a1eb802ab5b13", + "@angular/common": "github:angular/common-builds#7c6d89eddaaf494d3783a3fbe56d3bc00827060b", + "@angular/compiler": "github:angular/compiler-builds#fbbda30b07f6e7287d056f2e6a514292ecda13b3", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#2fb431af66031e2fb7efeae11c030f28c1643e80", + "@angular/core": "github:angular/core-builds#695cfd1de88da4220274f1b42f9cd6c024235b42", + "@angular/forms": "github:angular/forms-builds#f64d4c761e5745c5b1a149e52528c25a7f854601", + "@angular/language-service": "github:angular/language-service-builds#e62b420c03a6ee0c49b494ad0c8c5b9214c82ecf", + "@angular/localize": "github:angular/localize-builds#7abf23c16575ea33a6fa3cc9aeb5fed6099062e8", + "@angular/material": "github:angular/material-builds#4d882b8bd4b76de5fd980aa472f39ec72536f687", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#96724ec5856dddf1f60a79f85f8085dcd8bb00e9", + "@angular/platform-browser": "github:angular/platform-browser-builds#b715880864be8c2c24ac2e91301cc9ff8a860df9", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0f54bb96de0943d56226de2eb02c04b15924e36e", + "@angular/platform-server": "github:angular/platform-server-builds#efc2ecb862d45902ec2869a436071808c7924149", + "@angular/router": "github:angular/router-builds#4f1f92b10f493334e846d9fca05c60e7bae3fead", + "@angular/service-worker": "github:angular/service-worker-builds#b9377cf11dc9ab8a3a3ea4f6923c795ba374c2a5" } } diff --git a/yarn.lock b/yarn.lock index b1b6a63efb91..bf7cb2a64caa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -176,10 +176,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6a52232d391f739aad72c79bf160ab2c6558a9d7": - version "0.0.0-c05de8e176d7930fb959bc1a893cad9f3b984458" - uid "6a52232d391f739aad72c79bf160ab2c6558a9d7" - resolved "https://github.com/angular/dev-infra-private-builds.git#6a52232d391f739aad72c79bf160ab2c6558a9d7" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030": + version "0.0.0-129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d" + uid "3ff6a9e935cf0d1a8694e7f5842e5e538da64030" + resolved "https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030" dependencies: "@angular-devkit/build-angular" "14.0.0-next.6" "@angular/benchpress" "0.3.0" From 65dc6f6a28509217579d88e7a8eaeae4b395fdda Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 29 Mar 2022 14:42:53 +0200 Subject: [PATCH 0238/1388] build: fix node module repository symlinking disabled in Bazel With the rules nodejs v5 update, the symlinking default has changed from `true` to `false`. This commit explicitly adds the property and sets it to `true` similar to other Angular repositories. This helps speeding up the local DX by not having to maintain a second node modules directory. --- WORKSPACE | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/WORKSPACE b/WORKSPACE index edb922bece11..d8f853b704b1 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -64,8 +64,14 @@ yarn_install( "//:.yarn/releases/yarn-1.22.17.cjs", "//:.yarnrc", ], + # Currently disabled due to: + # 1. Missing Windows support currently. + # 2. Incompatibilites with the `ts_library` rule. exports_directories_only = False, package_json = "//:package.json", + # We prefer to symlink the `node_modules` to only maintain a single install. + # See https://github.com/angular/dev-infra/pull/446#issuecomment-1059820287 for details. + symlink_node_modules = True, yarn = "//:.yarn/releases/yarn-1.22.17.cjs", yarn_lock = "//:yarn.lock", ) From efc3c32257a65caf36999dc34cadc41eedcbf323 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 29 Mar 2022 15:44:43 +0200 Subject: [PATCH 0239/1388] fix(@angular/cli): remove analytics prompt postinstall script With this change we remove the postinstall hook that was used to prompt users to confirm if they'd like to share anonymous usage with the Angular team. This post install hook was used to set the global configuration, which was mainly used for commands that run outside of a workspace such as `ng new`, `ng version` and ng `config`. We now prompt once the users runs the above mentioned commands instead of the post install. --- .../cli/bin/postinstall/analytics-prompt.js | 27 ---------------- .../angular/cli/bin/postinstall/script.js | 16 ---------- packages/angular/cli/package.json | 3 -- .../angular/cli/src/analytics/analytics.ts | 24 +++++++------- .../e2e/tests/misc/ask-analytics-install.ts | 32 ------------------- 5 files changed, 12 insertions(+), 90 deletions(-) delete mode 100644 packages/angular/cli/bin/postinstall/analytics-prompt.js delete mode 100644 packages/angular/cli/bin/postinstall/script.js delete mode 100644 tests/legacy-cli/e2e/tests/misc/ask-analytics-install.ts diff --git a/packages/angular/cli/bin/postinstall/analytics-prompt.js b/packages/angular/cli/bin/postinstall/analytics-prompt.js deleted file mode 100644 index 1d268c60d66c..000000000000 --- a/packages/angular/cli/bin/postinstall/analytics-prompt.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -'use strict'; -// This file is ES5 because it needs to be executed as is. - -if ('NG_CLI_ANALYTICS' in process.env) { - return; -} - -try { - var analytics = require('../../src/analytics/analytics'); - - analytics - .getAnalytics('global') - .then((hasGlobalConfig) => { - if (!hasGlobalConfig) { - return analytics.promptAnalytics(true /** global */); - } - }) - .catch(() => {}); -} catch (_) {} diff --git a/packages/angular/cli/bin/postinstall/script.js b/packages/angular/cli/bin/postinstall/script.js deleted file mode 100644 index cbca12955ec0..000000000000 --- a/packages/angular/cli/bin/postinstall/script.js +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env node -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -'use strict'; - -// These should not fail but if they do they should not block installation of the package -try { - // eslint-disable-next-line import/no-unassigned-import - require('./analytics-prompt'); -} catch (_) {} diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index bb1bc1ab69ed..bf5f5ea43ac0 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -11,9 +11,6 @@ "angular-cli", "Angular CLI" ], - "scripts": { - "postinstall": "node ./bin/postinstall/script.js" - }, "repository": { "type": "git", "url": "https://github.com/angular/angular-cli.git" diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 5595a893b366..e2e75acc3833 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -250,26 +250,26 @@ export async function createAnalytics( } let config = globalConfig; - // Not disabled globally, check locally. - if (workspace) { - let localConfig = await getAnalytics('local'); - if (localConfig === undefined) { + // Not disabled globally, check locally or not set globally and command is run outside of workspace example: `ng new` + if (workspace || globalConfig === undefined) { + const level = workspace ? 'local' : 'global'; + let localOrGlobalConfig = await getAnalytics(level); + if (localOrGlobalConfig === undefined) { if (!skipPrompt) { - // local is not unset, prompt user. - + // config is unset, prompt user. // TODO: This should honor the `no-interactive` option. // It is currently not an `ng` option but rather only an option for specific commands. // The concept of `ng`-wide options are needed to cleanly handle this. - await promptAnalytics(false); - localConfig = await getAnalytics('local'); + await promptAnalytics(!workspace /** global */); + localOrGlobalConfig = await getAnalytics(level); } } - if (localConfig instanceof analytics.NoopAnalytics) { - return localConfig; - } else if (localConfig) { + if (localOrGlobalConfig instanceof analytics.NoopAnalytics) { + return localOrGlobalConfig; + } else if (localOrGlobalConfig) { // Favor local settings over global when defined. - config = localConfig; + config = localOrGlobalConfig; } } diff --git a/tests/legacy-cli/e2e/tests/misc/ask-analytics-install.ts b/tests/legacy-cli/e2e/tests/misc/ask-analytics-install.ts deleted file mode 100644 index 2731caf46a0f..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/ask-analytics-install.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { createDir, rimraf } from '../../utils/fs'; -import { - execWithEnv, - killAllProcesses, - waitForAnyProcessOutputToMatch, -} from '../../utils/process'; - -export default async function() { - // Create a temporary directory to install the CLI - await createDir('../ask-analytics'); - const cwd = process.cwd(); - process.chdir('../ask-analytics'); - - try { - // Install the CLI with TTY force enabled - const execution = execWithEnv( - 'npm', - ['install', '@angular/cli'], - { ...process.env, 'NG_FORCE_TTY': '1' }, - ); - - // Check if the prompt is shown - await waitForAnyProcessOutputToMatch(/Would you like to share anonymous usage data/, 60000); - - } finally { - killAllProcesses(); - - // Cleanup - process.chdir(cwd); - await rimraf('../ask-analytics'); - } -} From f2598a4d574a1afc8fbd8e5af6105d83b119bad0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Mar 2022 05:37:47 +0000 Subject: [PATCH 0240/1388] build: update angular to 7c2e257 --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index eae26035d3a3..d5bb4fbab282 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#d5d65d3baaa0738524de5b43139ed943ce3eb268", - "@angular/cdk": "github:angular/cdk-builds#db40116267ca4d79154fc4078a9a1eb802ab5b13", - "@angular/common": "github:angular/common-builds#7c6d89eddaaf494d3783a3fbe56d3bc00827060b", - "@angular/compiler": "github:angular/compiler-builds#fbbda30b07f6e7287d056f2e6a514292ecda13b3", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#2fb431af66031e2fb7efeae11c030f28c1643e80", - "@angular/core": "github:angular/core-builds#695cfd1de88da4220274f1b42f9cd6c024235b42", - "@angular/forms": "github:angular/forms-builds#f64d4c761e5745c5b1a149e52528c25a7f854601", - "@angular/language-service": "github:angular/language-service-builds#e62b420c03a6ee0c49b494ad0c8c5b9214c82ecf", - "@angular/localize": "github:angular/localize-builds#7abf23c16575ea33a6fa3cc9aeb5fed6099062e8", - "@angular/material": "github:angular/material-builds#4d882b8bd4b76de5fd980aa472f39ec72536f687", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#96724ec5856dddf1f60a79f85f8085dcd8bb00e9", - "@angular/platform-browser": "github:angular/platform-browser-builds#b715880864be8c2c24ac2e91301cc9ff8a860df9", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0f54bb96de0943d56226de2eb02c04b15924e36e", - "@angular/platform-server": "github:angular/platform-server-builds#efc2ecb862d45902ec2869a436071808c7924149", - "@angular/router": "github:angular/router-builds#4f1f92b10f493334e846d9fca05c60e7bae3fead", - "@angular/service-worker": "github:angular/service-worker-builds#b9377cf11dc9ab8a3a3ea4f6923c795ba374c2a5" + "@angular/animations": "github:angular/animations-builds#7c2e2575baacb557c809c1f31f953c0015c25c12", + "@angular/cdk": "github:angular/cdk-builds#06a2ccc79f34e079261bc318e5c57394ba257cf4", + "@angular/common": "github:angular/common-builds#97c8c18fc7d930d22c3ef485e63da6ee418d331c", + "@angular/compiler": "github:angular/compiler-builds#02e5aabe3408a7ec2f1360ae34e65eb9af01dcad", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#44a28fb5f1a7e9e821d580622a41b7f4c1609476", + "@angular/core": "github:angular/core-builds#a39d7cd61096927b315b29b3722e398173f2087f", + "@angular/forms": "github:angular/forms-builds#8e114c0f746d99ec0012200d25a82afc4e891c9a", + "@angular/language-service": "github:angular/language-service-builds#19bb41d9854a6e77db141d5d30af7d89390a4d24", + "@angular/localize": "github:angular/localize-builds#cd3479c2340a21f2769e5de00e27e08fb425f981", + "@angular/material": "github:angular/material-builds#f42e5193ad37a76cdc13a09117a542f6f377bad2", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#94a9f087f9ab6354685b85dd995373a5f4bff1ee", + "@angular/platform-browser": "github:angular/platform-browser-builds#2fa1a543741431872268b2918e765fdeb670deb8", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e046167f04130407a038956dcf81e7dc3b70409e", + "@angular/platform-server": "github:angular/platform-server-builds#ec616a89961b09972926bfb35dd492be25d614f2", + "@angular/router": "github:angular/router-builds#41ac7fe0592a1018c98fe461fefb750fa864d5d2", + "@angular/service-worker": "github:angular/service-worker-builds#776070c8639173d8d97a8a5553ebaca28c6a0335" } } From fac9cca66bef73ce403314609a51e63a2764ccbe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 12:11:12 +0200 Subject: [PATCH 0241/1388] fix(@angular-devkit/build-angular): don't override asset info when updating assets Currently, we are overriding asset info instead of appending additional data to it. --- .../src/webpack/plugins/css-optimizer-plugin.ts | 10 +++++++--- .../webpack/plugins/javascript-optimizer-plugin.ts | 10 +++++++--- .../src/webpack/plugins/transfer-size-plugin.ts | 11 ++++++++--- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts index 00ecefdc5676..e87c611c91dc 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts @@ -71,9 +71,10 @@ export class CssOptimizerPlugin { if (cachedOutput) { await this.addWarnings(compilation, cachedOutput.warnings); - compilation.updateAsset(name, cachedOutput.source, { + compilation.updateAsset(name, cachedOutput.source, (assetInfo) => ({ + ...assetInfo, minimized: true, - }); + })); continue; } } @@ -93,7 +94,10 @@ export class CssOptimizerPlugin { const optimizedAsset = map ? new SourceMapSource(code, name, map) : new OriginalSource(code, name); - compilation.updateAsset(name, optimizedAsset, { minimized: true }); + compilation.updateAsset(name, optimizedAsset, (assetInfo) => ({ + ...assetInfo, + minimized: true, + })); await cacheItem?.storePromise({ source: optimizedAsset, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts index 8b78f86c5da6..bc252387f1f8 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts @@ -123,9 +123,10 @@ export class JavaScriptOptimizerPlugin { >(); if (cachedOutput) { - compilation.updateAsset(name, cachedOutput.source, { + compilation.updateAsset(name, cachedOutput.source, (assetInfo) => ({ + ...assetInfo, minimized: true, - }); + })); continue; } } @@ -209,7 +210,10 @@ export class JavaScriptOptimizerPlugin { const optimizedAsset = map ? new SourceMapSource(code, name, map) : new OriginalSource(code, name); - compilation.updateAsset(name, optimizedAsset, { minimized: true }); + compilation.updateAsset(name, optimizedAsset, (assetInfo) => ({ + ...assetInfo, + minimized: true, + })); return cacheItem?.storePromise({ source: optimizedAsset, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts index 2d61b27d7634..246bab0db6fc 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts @@ -39,9 +39,14 @@ export class TransferSizePlugin { actions.push( brotliCompressAsync(scriptAsset.source.source()) .then((result) => { - compilation.updateAsset(assetName, (s) => s, { - estimatedTransferSize: result.length, - }); + compilation.updateAsset( + assetName, + (s) => s, + (assetInfo) => ({ + ...assetInfo, + estimatedTransferSize: result.length, + }), + ); }) .catch((error) => { compilation.warnings.push( From a5e99762ef0bb05a23823d4923a2863e0b232ec9 Mon Sep 17 00:00:00 2001 From: gauravsoni119 Date: Tue, 29 Mar 2022 22:46:47 +0200 Subject: [PATCH 0242/1388] fix(@schematics/angular): fix extra comma added when use --change-detection=onPush and --style=none to generate a component --- ...dasherize__.__type@dasherize__.ts.template | 6 ++--- .../angular/component/index_spec.ts | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index e972ffdcb2b2..442a76f98278 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -6,15 +6,15 @@ import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }

<%= dasherize(name) %> works!

- `,<% } else { %> - templateUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.html',<% } if(inlineStyle) { %> + `<% } else { %> + templateUrl: './<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.html'<% } if(inlineStyle) { %>, styles: [<% if(displayBlock){ %> ` :host { display: block; } `<% } %> - ]<% } else if (style !== 'none') { %> + ]<% } else if (style !== 'none') { %>, styleUrls: ['./<%= dasherize(name) %><%= type ? '.' + dasherize(type): '' %>.<%= style %>']<% } %><% if(!!viewEncapsulation) { %>, encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index 233d3ea1836f..14235575b3b0 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -397,4 +397,27 @@ describe('Component Schematic', () => { ); expect(tree.files).not.toContain('/projects/bar/src/app/foo/foo.component.spec.ts'); }); + + it('should respect templateUrl when style=none and changeDetection=OnPush', async () => { + const options = { ...defaultOptions, style: Style.None, changeDetection: 'OnPush' }; + const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); + expect(content).not.toMatch(/styleUrls: /); + expect(content).toMatch(/templateUrl: '.\/foo.component.html',\n/); + expect(content).toMatch(/changeDetection: ChangeDetectionStrategy.OnPush/); + }); + + it('should respect inlineTemplate when style=none and changeDetection=OnPush', async () => { + const options = { + ...defaultOptions, + style: Style.None, + changeDetection: 'OnPush', + inlineTemplate: true, + }; + const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); + expect(content).not.toMatch(/styleUrls: /); + expect(content).toMatch(/template: `(\n(.|)*){3}\n\s*`,\n/); + expect(content).toMatch(/changeDetection: ChangeDetectionStrategy.OnPush/); + }); }); From c5b3e9299130132aecfa19219405e1964d0c5443 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 16:23:32 +0200 Subject: [PATCH 0243/1388] refactor(@angular-devkit/core): deprecate unused exception classes With this change we deprecate exception classes that are not used in the CLI repo. DEPRECATED: - `ContentHasMutatedException`, `InvalidUpdateRecordException`, `UnimplementedException` and `MergeConflictException` symbol from `@angular-devkit/core` have been deprecated in favor of the symbol from `@angular-devkit/schematics`. - `UnsupportedPlatformException` - A custom error exception should be created instead. --- .../public-api/angular_devkit/core/index.md | 10 +++++----- .../core/src/{exception => }/exception.ts | 19 +++++++++++++++++++ .../core/src/exception/index.ts | 9 --------- .../experimental/jobs/create-job-handler.ts | 4 ++-- .../core/src/experimental/jobs/exception.ts | 2 +- packages/angular_devkit/core/src/index.ts | 2 +- .../core/src/json/schema/registry.ts | 2 +- 7 files changed, 29 insertions(+), 19 deletions(-) rename packages/angular_devkit/core/src/{exception => }/exception.ts (78%) delete mode 100644 packages/angular_devkit/core/src/exception/index.ts diff --git a/goldens/public-api/angular_devkit/core/index.md b/goldens/public-api/angular_devkit/core/index.md index 3ffe8f6f1ad7..18af74fc79a6 100644 --- a/goldens/public-api/angular_devkit/core/index.md +++ b/goldens/public-api/angular_devkit/core/index.md @@ -189,7 +189,7 @@ export class CircularDependencyFoundException extends BaseException { // @public function classify(str: string): string; -// @public (undocumented) +// @public @deprecated (undocumented) export class ContentHasMutatedException extends BaseException { constructor(path: string); } @@ -532,7 +532,7 @@ export class InvalidPathException extends BaseException { constructor(path: string); } -// @public (undocumented) +// @public @deprecated (undocumented) export class InvalidUpdateRecordException extends BaseException { constructor(); } @@ -1034,7 +1034,7 @@ class LoggingAnalytics implements Analytics { // @public (undocumented) type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'; -// @public (undocumented) +// @public @deprecated (undocumented) export class MergeConflictException extends BaseException { constructor(path: string); } @@ -2013,7 +2013,7 @@ function trimNewlines(strings: TemplateStringsArray, ...values: any[]): string; // @public function underscore(str: string): string; -// @public (undocumented) +// @public @deprecated (undocumented) export class UnimplementedException extends BaseException { constructor(); } @@ -2023,7 +2023,7 @@ export class UnknownException extends BaseException { constructor(message: string); } -// @public (undocumented) +// @public @deprecated (undocumented) export class UnsupportedPlatformException extends BaseException { constructor(); } diff --git a/packages/angular_devkit/core/src/exception/exception.ts b/packages/angular_devkit/core/src/exception.ts similarity index 78% rename from packages/angular_devkit/core/src/exception/exception.ts rename to packages/angular_devkit/core/src/exception.ts index 38af2ade370c..607a240d3ed8 100644 --- a/packages/angular_devkit/core/src/exception/exception.ts +++ b/packages/angular_devkit/core/src/exception.ts @@ -39,28 +39,47 @@ export class PathIsFileException extends BaseException { super(`Path "${path}" is a file.`); } } + +/** + * @deprecated since version 14. Use the same symbol from `@angular-devkit/schematics`. + */ export class ContentHasMutatedException extends BaseException { constructor(path: string) { super(`Content at path "${path}" has changed between the start and the end of an update.`); } } + +/** + * @deprecated since version 14. Use the same symbol from `@angular-devkit/schematics`. + */ + export class InvalidUpdateRecordException extends BaseException { constructor() { super(`Invalid record instance.`); } } + +/** + * @deprecated since version 14. Use the same symbol from `@angular-devkit/schematics`. + */ export class MergeConflictException extends BaseException { constructor(path: string) { super(`A merge conflicted on path "${path}".`); } } +/** + * @deprecated since version 14. Create a custom exception implementation instead. + */ export class UnimplementedException extends BaseException { constructor() { super('This function is unimplemented.'); } } +/** + * @deprecated since version 14. Create a custom exception implementation instead. + */ export class UnsupportedPlatformException extends BaseException { constructor() { super('This platform is not supported by this code path.'); diff --git a/packages/angular_devkit/core/src/exception/index.ts b/packages/angular_devkit/core/src/exception/index.ts deleted file mode 100644 index 078e9e1ae344..000000000000 --- a/packages/angular_devkit/core/src/exception/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export * from './exception'; diff --git a/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts b/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts index e2bd7a20efae..98fd40323bfa 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts @@ -8,7 +8,7 @@ import { Observable, Observer, Subject, Subscription, from, isObservable, of } from 'rxjs'; import { switchMap, tap } from 'rxjs/operators'; -import { BaseException } from '../../exception/index'; +import { BaseException } from '../../exception'; import { JsonValue } from '../../json/index'; import { LoggerApi } from '../../logger'; import { isPromise } from '../../utils/index'; @@ -34,7 +34,7 @@ export class ChannelAlreadyExistException extends BaseException { export interface SimpleJobHandlerContext< A extends JsonValue, I extends JsonValue, - O extends JsonValue + O extends JsonValue, > extends JobHandlerContext { createChannel: (name: string) => Observer; input: Observable; diff --git a/packages/angular_devkit/core/src/experimental/jobs/exception.ts b/packages/angular_devkit/core/src/experimental/jobs/exception.ts index a439172917e7..266cc512cec5 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/exception.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/exception.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { BaseException } from '../../exception/index'; +import { BaseException } from '../../exception'; import { JobName } from './api'; export class JobNameAlreadyRegisteredException extends BaseException { diff --git a/packages/angular_devkit/core/src/index.ts b/packages/angular_devkit/core/src/index.ts index ac146835130f..1e5747ead37d 100644 --- a/packages/angular_devkit/core/src/index.ts +++ b/packages/angular_devkit/core/src/index.ts @@ -12,7 +12,7 @@ import * as json from './json/index'; import * as logging from './logger/index'; import * as workspaces from './workspace'; -export * from './exception/exception'; +export * from './exception'; export * from './json/index'; export * from './utils/index'; export * from './virtual-fs/index'; diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index 38b7134e8c72..38815434d2d0 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -13,7 +13,7 @@ import * as https from 'https'; import { Observable, from, isObservable } from 'rxjs'; import { map } from 'rxjs/operators'; import * as Url from 'url'; -import { BaseException } from '../../exception/exception'; +import { BaseException } from '../../exception'; import { PartiallyOrderedSet, deepCopy } from '../../utils'; import { JsonArray, JsonObject, JsonValue, isJsonObject } from '../utils'; import { From 6a6386a1efac156ce9e0b254ac3b5674a94d015a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Mar 2022 05:38:06 +0000 Subject: [PATCH 0244/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 10 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 177 +++++++++++++++++- 5 files changed, 180 insertions(+), 17 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index d8f853b704b1..c5b8cc13d6f4 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "3ceb1e5b5dcad5fa2ad8870a20201cfbb9c9c63cac4055c9ab370034c765297f", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.3.0/rules_nodejs-5.3.0.tar.gz"], + sha256 = "523da2d6b50bc00eaf14b00ed28b1a366b3ab456e14131e9812558b26599125c", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.3.1/rules_nodejs-5.3.1.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 2a92cc0d1bd1..e41c7ea7ac73 100644 --- a/package.json +++ b/package.json @@ -89,8 +89,8 @@ "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.0.1", - "@bazel/concatjs": "5.3.0", - "@bazel/jasmine": "5.3.0", + "@bazel/concatjs": "5.3.1", + "@bazel/jasmine": "5.3.1", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -136,8 +136,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.28", - "esbuild-wasm": "0.14.28", + "esbuild": "0.14.29", + "esbuild-wasm": "0.14.29", "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -172,7 +172,7 @@ "minimatch": "5.0.1", "ng-packagr": "14.0.0-next.4", "node-fetch": "^2.2.0", - "npm-package-arg": "9.0.1", + "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", "pacote": "13.0.5", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index bf5f5ea43ac0..16dca5988378 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -32,7 +32,7 @@ "ini": "2.0.0", "inquirer": "8.2.2", "jsonc-parser": "3.0.0", - "npm-package-arg": "9.0.1", + "npm-package-arg": "9.0.2", "npm-pick-manifest": "7.0.0", "open": "8.4.0", "ora": "5.4.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6f8d45713a0c..0c543a2cecaa 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.28", + "esbuild-wasm": "0.14.29", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.2", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.28" + "esbuild": "0.14.29" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index bf7cb2a64caa..28ab77c27a73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1247,15 +1247,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.3.1.tgz#0842a9ed647abb4ce6bf7261b00f43d9b96dfd3b" + integrity sha512-zTH/8mALNrBq8PjXO6S7ThwDr8ueAEIXiy98isnufGq31A3etkUQVkUsCByxVMAXRCa+AcXb3x/IHfhWV5y5qw== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.3.0.tgz#b1c6dfa92d7e56952231ea3a0a3eb02804535d7f" integrity sha512-UshiI+YFQmSoYW4ej2IxLNnZ2hceIsggTMYTpr16sx0FMOaFQuI3zV0w1/wu+coT18cco0bV/5AZBPV0I0f+Ug== -"@bazel/jasmine@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.3.0.tgz#2fc450deebb4f886a6f46cdce2fa0b5826e49fd0" - integrity sha512-USGQ9sdEOmeCbOJt5mNu2eGd12F/fIEG+tuhw5CXWZ7aYBFLCub2LlQ2vAcXSFWbtZjNwjTvCcGi35cqUyzAcw== +"@bazel/jasmine@5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.3.1.tgz#7508729555ecf37afe9603aff01143d8c732d75c" + integrity sha512-O0+0Sl3cH760TW2uGw/l9JA7zkZ+dLLkNAYd4EVfsnTRjFTzj7Fdn+ZwYG420Q6A1ZciRrmM5IzpbiSCURQiwg== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -3318,6 +3327,13 @@ builtins@^1.0.3: resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= +builtins@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.0.tgz#20d87e7f95d46481b1abe4adc616a9cb6b492cba" + integrity sha512-aizhtbxgT1Udg0Fj6GssXshAVK+nxbtCV+1OtTrMNy67jffDFBY6CUBAkhO4owbleAx6fdbnWdpsmmcXydbzNw== + dependencies: + semver "^7.0.0" + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -4521,6 +4537,11 @@ esbuild-android-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" integrity sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== +esbuild-android-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.29.tgz#c0960c84c9b832bade20831515e89d32549d4769" + integrity sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw== + esbuild-android-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" @@ -4531,6 +4552,11 @@ esbuild-android-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" integrity sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== +esbuild-android-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.29.tgz#8eceb3abe5abde5489d6a5cbe6a7c1044f71115f" + integrity sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg== + esbuild-darwin-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" @@ -4541,6 +4567,11 @@ esbuild-darwin-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" integrity sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== +esbuild-darwin-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.29.tgz#26f3f14102310ecb8f2d9351c5b7a47a60d2cc8a" + integrity sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA== + esbuild-darwin-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" @@ -4551,6 +4582,11 @@ esbuild-darwin-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" integrity sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== +esbuild-darwin-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.29.tgz#6d2d89dfd937992649239711ed5b86e51b13bd89" + integrity sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw== + esbuild-freebsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" @@ -4561,6 +4597,11 @@ esbuild-freebsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" integrity sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== +esbuild-freebsd-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.29.tgz#2cb41a0765d0040f0838280a213c81bbe62d6394" + integrity sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg== + esbuild-freebsd-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" @@ -4571,6 +4612,11 @@ esbuild-freebsd-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" integrity sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== +esbuild-freebsd-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.29.tgz#e1b79fbb63eaeff324cf05519efa7ff12ce4586a" + integrity sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg== + esbuild-linux-32@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" @@ -4581,6 +4627,11 @@ esbuild-linux-32@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" integrity sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== +esbuild-linux-32@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.29.tgz#a4a5a0b165b15081bc3227986e10dd4943edb7d6" + integrity sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA== + esbuild-linux-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" @@ -4591,6 +4642,11 @@ esbuild-linux-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" integrity sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== +esbuild-linux-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz#4c450088c84f8bfd22c51d116f59416864b85481" + integrity sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg== + esbuild-linux-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" @@ -4601,6 +4657,11 @@ esbuild-linux-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" integrity sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== +esbuild-linux-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.29.tgz#d1a23993b26cb1f63f740329b2fc09218e498bd1" + integrity sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw== + esbuild-linux-arm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" @@ -4611,6 +4672,11 @@ esbuild-linux-arm@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" integrity sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== +esbuild-linux-arm@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.29.tgz#a7e2fea558525eab812b1fe27d7a2659cd1bb723" + integrity sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ== + esbuild-linux-mips64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" @@ -4621,6 +4687,11 @@ esbuild-linux-mips64le@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" integrity sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== +esbuild-linux-mips64le@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.29.tgz#e708c527f0785574e400828cdbed3d9b17b5ddff" + integrity sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g== + esbuild-linux-ppc64le@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" @@ -4631,6 +4702,11 @@ esbuild-linux-ppc64le@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" integrity sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== +esbuild-linux-ppc64le@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.29.tgz#0137d1b38beae36a57176ef45e90740e734df502" + integrity sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw== + esbuild-linux-riscv64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" @@ -4641,6 +4717,11 @@ esbuild-linux-riscv64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" integrity sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== +esbuild-linux-riscv64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.29.tgz#a2f73235347a58029dcacf0fb91c9eb8bebc8abb" + integrity sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew== + esbuild-linux-s390x@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" @@ -4651,6 +4732,11 @@ esbuild-linux-s390x@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" integrity sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== +esbuild-linux-s390x@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.29.tgz#0f7310ff1daec463ead9b9e26b7aa083a9f9f1ee" + integrity sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg== + esbuild-netbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" @@ -4661,6 +4747,11 @@ esbuild-netbsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" integrity sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== +esbuild-netbsd-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.29.tgz#ba9a0d9cb8aed73b684825126927f75d4fe44ff9" + integrity sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww== + esbuild-openbsd-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" @@ -4671,6 +4762,11 @@ esbuild-openbsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" integrity sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== +esbuild-openbsd-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.29.tgz#36dbe2c32d899106791b5f3af73f359213f71b8a" + integrity sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw== + esbuild-sunos-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" @@ -4681,12 +4777,22 @@ esbuild-sunos-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== +esbuild-sunos-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.29.tgz#e5f857c121441ec63bf9b399a2131409a7d344e5" + integrity sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg== + esbuild-wasm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== -esbuild-wasm@0.14.28, esbuild-wasm@^0.14.25: +esbuild-wasm@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.29.tgz#97772bef8752fb695c599595002f55e66461abc9" + integrity sha512-Iad4YKwBpjj/gQVryxpMJ+4b/uCbe7ClNkpCY1kX8L9KZtCnd9f5rpJs8Gcau7Fxy+/ksKTcNOYiO0b2aiPpow== + +esbuild-wasm@^0.14.25: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.28.tgz#2a3c5e4d44f788ea4ba7901cb3a65d2582fb16ba" integrity sha512-8LOoNKcVcJnFb+zOfgPrqWjPRfHcutAG75xRw8724YFDGd/Nv0I4vp4TZ38rWlSd3mYBeDluelRAKJvVQxU9EA== @@ -4701,6 +4807,11 @@ esbuild-windows-32@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" integrity sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== +esbuild-windows-32@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.29.tgz#9c2f1ab071a828f3901d1d79d205982a74bdda6e" + integrity sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw== + esbuild-windows-64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" @@ -4711,6 +4822,11 @@ esbuild-windows-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" integrity sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== +esbuild-windows-64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.29.tgz#85fbce7c2492521896451b98d649a7db93e52667" + integrity sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A== + esbuild-windows-arm64@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" @@ -4721,6 +4837,11 @@ esbuild-windows-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== +esbuild-windows-arm64@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.29.tgz#0aa7a9a1bc43a63350bcf574d94b639176f065b5" + integrity sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ== + esbuild@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" @@ -4747,7 +4868,33 @@ esbuild@0.14.27: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" -esbuild@0.14.28, esbuild@^0.14.25: +esbuild@0.14.29: + version "0.14.29" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.29.tgz#24ad09c0674cbcb4aa2fe761485524eb1f6b1419" + integrity sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg== + optionalDependencies: + esbuild-android-64 "0.14.29" + esbuild-android-arm64 "0.14.29" + esbuild-darwin-64 "0.14.29" + esbuild-darwin-arm64 "0.14.29" + esbuild-freebsd-64 "0.14.29" + esbuild-freebsd-arm64 "0.14.29" + esbuild-linux-32 "0.14.29" + esbuild-linux-64 "0.14.29" + esbuild-linux-arm "0.14.29" + esbuild-linux-arm64 "0.14.29" + esbuild-linux-mips64le "0.14.29" + esbuild-linux-ppc64le "0.14.29" + esbuild-linux-riscv64 "0.14.29" + esbuild-linux-s390x "0.14.29" + esbuild-netbsd-64 "0.14.29" + esbuild-openbsd-64 "0.14.29" + esbuild-sunos-64 "0.14.29" + esbuild-windows-32 "0.14.29" + esbuild-windows-64 "0.14.29" + esbuild-windows-arm64 "0.14.29" + +esbuild@^0.14.25: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.28.tgz#7738635d2ea19e446bd319d83a1802545e6aebb8" integrity sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q== @@ -7566,7 +7713,16 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.1, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: +npm-package-arg@9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" + integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== + dependencies: + hosted-git-info "^5.0.0" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.1.tgz#db9c6379c45d79db88ee6dd40d3ec6a9d9a4d13a" integrity sha512-Xs9wznfEAmZAR61qsYH3iN24V/qMYYkvAR5CRQNMvC6PjN2fHtO8y9XP/xdp5K+Icx+u1wMBMgWRPCmAEChSog== @@ -10572,6 +10728,13 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +validate-npm-package-name@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" + integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== + dependencies: + builtins "^5.0.0" + validator@13.7.0, validator@^13.7.0: version "13.7.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" From af8dd62b746a6c3ae83ce54a31d0129775efa9a0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 10:08:51 +0200 Subject: [PATCH 0245/1388] refactor(@angular-devkit/build-angular): remove esbuild-check workaround This check is no longer needed as of `0.14.29` as now esbuild correctly propagates errors. See: https://github.com/evanw/esbuild/blob/master/CHANGELOG.md#01429 --- .../angular_devkit/build_angular/BUILD.bazel | 1 - .../build_angular/esbuild-check.js | 16 -------------- .../src/webpack/plugins/esbuild-executor.ts | 22 +++++-------------- .../plugins/javascript-optimizer-plugin.ts | 2 +- 4 files changed, 7 insertions(+), 34 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/esbuild-check.js diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 943ba148311e..abbe7180d142 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -81,7 +81,6 @@ ts_library( include = [ "package.json", "builders.json", - "esbuild-check.js", "src/**/schema.json", "src/**/*.js", "src/**/*.html", diff --git a/packages/angular_devkit/build_angular/esbuild-check.js b/packages/angular_devkit/build_angular/esbuild-check.js deleted file mode 100644 index 10295ea96ba9..000000000000 --- a/packages/angular_devkit/build_angular/esbuild-check.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -// If the platform does not support the native variant of esbuild, this will crash. -// This script can then be spawned by the CLI to determine if native usage is supported. -require('esbuild') - .formatMessages([], { kind: 'error ' }) - .then( - () => {}, - () => {}, - ); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts index 68ab904d48d4..921ff5a85767 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts @@ -6,14 +6,12 @@ * found in the LICENSE file at https://angular.io/license */ -import { spawnSync } from 'child_process'; import type { FormatMessagesOptions, PartialMessage, TransformOptions, TransformResult, } from 'esbuild'; -import * as path from 'path'; /** * Provides the ability to execute esbuild regardless of the current platform's support @@ -44,23 +42,15 @@ export class EsbuildExecutor /** * Determines whether the native variant of esbuild can be used on the current platform. * - * @returns True, if the native variant of esbuild is support; False, if the WASM variant is required. + * @returns A promise which resolves to `true`, if the native variant of esbuild is support or `false`, if the WASM variant is required. */ - static hasNativeSupport(): boolean { + static async hasNativeSupport(): Promise { // Try to use native variant to ensure it is functional for the platform. - // Spawning a separate esbuild check process is used to determine if the native - // variant is viable. If check fails, the WASM variant is initialized instead. - // Attempting to call one of the native esbuild functions is not a viable test - // currently since esbuild spawn errors are currently not propagated through the - // call stack for the esbuild function. If this limitation is removed in the future - // then the separate process spawn check can be removed in favor of a direct function - // call check. try { - const { status, error } = spawnSync(process.execPath, [ - path.join(__dirname, '../../../esbuild-check.js'), - ]); + const { formatMessages } = await import('esbuild'); + await formatMessages([], { kind: 'error' }); - return status === 0 && error === undefined; + return true; } catch { return false; } @@ -77,7 +67,7 @@ export class EsbuildExecutor } // If the WASM variant was preferred at class construction or native is not supported, use WASM - if (this.alwaysUseWasm || !EsbuildExecutor.hasNativeSupport()) { + if (this.alwaysUseWasm || !(await EsbuildExecutor.hasNativeSupport())) { await this.useWasm(); this.initialized = true; diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts index bc252387f1f8..b12c9613cc59 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts @@ -178,7 +178,7 @@ export class JavaScriptOptimizerPlugin { // Perform a single native esbuild support check. // This removes the need for each worker to perform the check which would // otherwise require spawning a separate process per worker. - alwaysUseWasm: !EsbuildExecutor.hasNativeSupport(), + alwaysUseWasm: !(await EsbuildExecutor.hasNativeSupport()), }; // Sort scripts so larger scripts start first - worker pool uses a FIFO queue From 28721c3e64cb6c70be864c970b6d55fca8526a60 Mon Sep 17 00:00:00 2001 From: alkavats1 Date: Wed, 30 Mar 2022 19:34:25 +0530 Subject: [PATCH 0246/1388] refactor(@angular/cli): improved code quality removed unused parameter and improved code quality --- lib/bootstrap-local.js | 1 - packages/angular/cli/src/commands/analytics/cli.ts | 2 +- packages/angular/cli/src/commands/analytics/info/cli.ts | 2 +- .../angular/cli/src/commands/analytics/settings/cli.ts | 2 +- packages/angular/cli/src/commands/doc/cli.ts | 2 +- packages/angular/cli/src/commands/e2e/cli.ts | 8 ++++---- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/bootstrap-local.js b/lib/bootstrap-local.js index bcc5b006ee09..dd8fe3e48149 100644 --- a/lib/bootstrap-local.js +++ b/lib/bootstrap-local.js @@ -87,7 +87,6 @@ const packages = require('./packages').packages; if (!__dirname.match(new RegExp(`\\${path.sep}node_modules\\${path.sep}`))) { // We mock the module loader so that we can fake our packages when running locally. const Module = require('module'); - const oldLoad = Module._load; const oldResolve = Module._resolveFilename; Module._resolveFilename = function (request, parent) { diff --git a/packages/angular/cli/src/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts index ccfdf9d7dfec..828f2d6cb4c3 100644 --- a/packages/angular/cli/src/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -27,7 +27,7 @@ export class AnalyticsCommandModule extends CommandModule implements CommandModu command = 'analytics'; describe = 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering'; - longDescriptionPath?: string | undefined; + longDescriptionPath?: string; builder(localYargs: Argv): Argv { const subcommands = [ diff --git a/packages/angular/cli/src/commands/analytics/info/cli.ts b/packages/angular/cli/src/commands/analytics/info/cli.ts index fd692e0ad899..271cbb210328 100644 --- a/packages/angular/cli/src/commands/analytics/info/cli.ts +++ b/packages/angular/cli/src/commands/analytics/info/cli.ts @@ -20,7 +20,7 @@ export class AnalyticsInfoCommandModule { command = 'info'; describe = 'Prints analytics gathering and reporting configuration in the console.'; - longDescriptionPath?: string | undefined; + longDescriptionPath?: string; builder(localYargs: Argv): Argv { return localYargs.strict(); diff --git a/packages/angular/cli/src/commands/analytics/settings/cli.ts b/packages/angular/cli/src/commands/analytics/settings/cli.ts index 69ec3f3684a6..8fc930afe5a8 100644 --- a/packages/angular/cli/src/commands/analytics/settings/cli.ts +++ b/packages/angular/cli/src/commands/analytics/settings/cli.ts @@ -26,7 +26,7 @@ abstract class AnalyticsSettingModule extends CommandModule implements CommandModuleImplementation { - longDescriptionPath?: string | undefined; + longDescriptionPath?: string; builder(localYargs: Argv): Argv { return localYargs diff --git a/packages/angular/cli/src/commands/doc/cli.ts b/packages/angular/cli/src/commands/doc/cli.ts index fd2423e3603d..067f487dcbd8 100644 --- a/packages/angular/cli/src/commands/doc/cli.ts +++ b/packages/angular/cli/src/commands/doc/cli.ts @@ -28,7 +28,7 @@ export class DocCommandModule aliases = ['d']; describe = 'Opens the official Angular documentation (angular.io) in a browser, and searches for a given keyword.'; - longDescriptionPath?: string | undefined; + longDescriptionPath?: string; builder(localYargs: Argv): Argv { return localYargs diff --git a/packages/angular/cli/src/commands/e2e/cli.ts b/packages/angular/cli/src/commands/e2e/cli.ts index bb59ca78fc2a..f90a75544237 100644 --- a/packages/angular/cli/src/commands/e2e/cli.ts +++ b/packages/angular/cli/src/commands/e2e/cli.ts @@ -17,19 +17,19 @@ export class E2eCommandModule multiTarget = true; override missingErrorTarget = tags.stripIndents` Cannot find "e2e" target for the specified project. - + You should add a package that implements end-to-end testing capabilities. - + For example: Cypress: ng add @cypress/schematic Nightwatch: ng add @nightwatch/schematics WebdriverIO: ng add @wdio/schematics - + More options will be added to the list as they become available. `; command = 'e2e [project]'; aliases = ['e']; describe = 'Builds and serves an Angular application, then runs end-to-end tests.'; - longDescriptionPath?: string | undefined; + longDescriptionPath?: string; } From 746d0c596ef193edfe1f02d65fe8f4fb100d8b5b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 08:54:41 +0200 Subject: [PATCH 0247/1388] refactor(@angular/cli): add global configuration in command context With this change we add the angular configuration as part of the command context. --- packages/angular/cli/lib/cli/index.ts | 26 +------------------ .../cli/src/command-builder/command-module.ts | 1 + .../cli/src/command-builder/command-runner.ts | 24 ++++++++++++----- .../schematics-command-module.ts | 20 +++++--------- 4 files changed, 27 insertions(+), 44 deletions(-) diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index 355b39ed0035..d7a1aac4e952 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -11,10 +11,8 @@ import { format } from 'util'; import { CommandModuleError } from '../../src/command-builder/command-module'; import { runCommand } from '../../src/command-builder/command-runner'; import { colors, removeColor } from '../../src/utilities/color'; -import { AngularWorkspace, getWorkspaceRaw } from '../../src/utilities/config'; import { ngDebug } from '../../src/utilities/environment-options'; import { writeErrorToLogFile } from '../../src/utilities/log-file'; -import { findWorkspaceFile } from '../../src/utilities/project'; export { VERSION } from '../../src/utilities/version'; @@ -51,30 +49,8 @@ export default async function (options: { testing?: boolean; cliArgs: string[] } logger.error(format(...args)); }; - let workspace; - const workspaceFile = findWorkspaceFile(); - if (workspaceFile === null) { - const [, localPath] = getWorkspaceRaw('local'); - if (localPath !== null) { - logger.fatal( - `An invalid configuration file was found ['${localPath}'].` + - ' Please delete the file before running the command.', - ); - - return 1; - } - } else { - try { - workspace = await AngularWorkspace.load(workspaceFile); - } catch (e) { - logger.fatal(`Unable to read workspace file '${workspaceFile}': ${e.message}`); - - return 1; - } - } - try { - return await runCommand(options.cliArgs, logger, workspace); + return await runCommand(options.cliArgs, logger); } catch (err) { if (err instanceof CommandModuleError) { logger.fatal(`Error: ${err.message}`); diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index e216dba74941..072eb7ae0cad 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -38,6 +38,7 @@ export interface CommandContext { currentDirectory: string; root: string; workspace?: AngularWorkspace; + globalConfiguration?: AngularWorkspace; logger: logging.Logger; packageManager: PackageManager; /** Arguments parsed in free-from without parser configuration. */ diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 65da7de29bac..235995615878 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -28,7 +28,7 @@ import { TestCommandModule } from '../commands/test/cli'; import { UpdateCommandModule } from '../commands/update/cli'; import { VersionCommandModule } from '../commands/version/cli'; import { colors } from '../utilities/color'; -import { AngularWorkspace } from '../utilities/config'; +import { AngularWorkspace, getWorkspace } from '../utilities/config'; import { getPackageManager } from '../utilities/package-manager'; import { CommandContext, CommandModuleError, CommandScope } from './command-module'; import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; @@ -57,11 +57,7 @@ const COMMANDS = [ const yargsParser = Parser as unknown as typeof Parser.default; -export async function runCommand( - args: string[], - logger: logging.Logger, - workspace: AngularWorkspace | undefined, -): Promise { +export async function runCommand(args: string[], logger: logging.Logger): Promise { const { $0, _: positional, @@ -70,7 +66,23 @@ export async function runCommand( ...rest } = yargsParser(args, { boolean: ['help', 'json-help'], alias: { 'collection': 'c' } }); + let workspace: AngularWorkspace | undefined; + let globalConfiguration: AngularWorkspace | undefined; + try { + [workspace, globalConfiguration] = await Promise.all([ + getWorkspace('local'), + getWorkspace('global'), + ]); + } catch (e) { + logger.fatal(e.message); + + return 1; + } + + const root = workspace?.basePath ?? process.cwd(); + const context: CommandContext = { + globalConfiguration, workspace, logger, currentDirectory: process.cwd(), diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 9bc64674f5f4..ab548b0ecef4 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -15,12 +15,7 @@ import { } from '@angular-devkit/schematics/tools'; import type { CheckboxQuestion, Question } from 'inquirer'; import { Argv } from 'yargs'; -import { - getProjectByCwd, - getProjectsByPath, - getSchematicDefaults, - getWorkspace, -} from '../utilities/config'; +import { getProjectByCwd, getProjectsByPath, getSchematicDefaults } from '../utilities/config'; import { isTTY } from '../utilities/tty'; import { CommandModule, @@ -272,11 +267,11 @@ export abstract class SchematicsCommandModule return undefined; }; - const localWorkspace = await getWorkspace('local'); - if (localWorkspace) { - const project = getProjectByCwd(localWorkspace); + const { workspace, globalConfiguration } = this.context; + if (workspace) { + const project = getProjectByCwd(workspace); if (project) { - const value = getSchematicCollections(localWorkspace.getProjectCli(project)); + const value = getSchematicCollections(workspace.getProjectCli(project)); if (value) { this._schematicCollections = value; @@ -285,10 +280,9 @@ export abstract class SchematicsCommandModule } } - const globalWorkspace = await getWorkspace('global'); const value = - getSchematicCollections(localWorkspace?.getCli()) ?? - getSchematicCollections(globalWorkspace?.getCli()); + getSchematicCollections(workspace?.getCli()) ?? + getSchematicCollections(globalConfiguration?.getCli()); if (value) { this._schematicCollections = value; From 1bbabb24ca86cb464fca49fd6930eec34f7615a3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 12:58:35 +0200 Subject: [PATCH 0248/1388] refactor(@angular/cli): create package manager util class Apart from better code quality, this helps reduce the time of CLI bootstrapping time, as retrieving the package manager name is a rather expensive operator due to the number of process spawns. The package manager name isn't always needed until we run a command and therefore in some cases we can see an improvement of around `~600ms`. Ex: `ng b --help`. From ` 1.34s` to `0.76s`. This will be important when we eventually introduce auto complete as users will get faster loopback. --- .../cli/src/command-builder/command-module.ts | 4 +- .../cli/src/command-builder/command-runner.ts | 7 +- .../schematics-command-module.ts | 2 +- packages/angular/cli/src/commands/add/cli.ts | 24 +- packages/angular/cli/src/commands/new/cli.ts | 3 +- .../angular/cli/src/commands/update/cli.ts | 79 +++- .../angular/cli/src/commands/version/cli.ts | 27 +- packages/angular/cli/src/utilities/config.ts | 14 +- .../cli/src/utilities/install-package.ts | 251 ------------ .../cli/src/utilities/package-manager.ts | 375 ++++++++++++++---- 10 files changed, 380 insertions(+), 406 deletions(-) delete mode 100644 packages/angular/cli/src/utilities/install-package.ts diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 072eb7ae0cad..d5136779065c 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -18,9 +18,9 @@ import { Options as YargsOptions, } from 'yargs'; import { Parser as yargsParser } from 'yargs/helpers'; -import { PackageManager } from '../../lib/config/workspace-schema'; import { createAnalytics } from '../analytics/analytics'; import { AngularWorkspace } from '../utilities/config'; +import { PackageManagerUtils } from '../utilities/package-manager'; import { Option } from './utilities/json-schema'; export type Options = { [key in keyof T as CamelCaseKey]: T[key] }; @@ -40,7 +40,7 @@ export interface CommandContext { workspace?: AngularWorkspace; globalConfiguration?: AngularWorkspace; logger: logging.Logger; - packageManager: PackageManager; + packageManager: PackageManagerUtils; /** Arguments parsed in free-from without parser configuration. */ args: { positional: string[]; diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 235995615878..943e1c9fc24b 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -29,7 +29,7 @@ import { UpdateCommandModule } from '../commands/update/cli'; import { VersionCommandModule } from '../commands/version/cli'; import { colors } from '../utilities/color'; import { AngularWorkspace, getWorkspace } from '../utilities/config'; -import { getPackageManager } from '../utilities/package-manager'; +import { PackageManagerUtils } from '../utilities/package-manager'; import { CommandContext, CommandModuleError, CommandScope } from './command-module'; import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; import { jsonHelpUsage } from './utilities/json-help'; @@ -80,14 +80,13 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis } const root = workspace?.basePath ?? process.cwd(); - const context: CommandContext = { globalConfiguration, workspace, logger, currentDirectory: process.cwd(), - root: workspace?.basePath ?? process.cwd(), - packageManager: await getPackageManager(workspace?.basePath ?? process.cwd()), + root, + packageManager: new PackageManagerUtils({ globalConfiguration, workspace, root }), args: { positional: positional.map((v) => v.toString()), options: { diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index ab548b0ecef4..9d6dbb7d659a 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -122,7 +122,7 @@ export abstract class SchematicsCommandModule const workflow = new NodeWorkflow(root, { force, dryRun, - packageManager, + packageManager: packageManager.name, // A schema registry is required to allow customizing addUndefinedDefaults registry: new schema.CoreSchemaRegistry(formats.standardFormats), packageRegistry, diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index 6dbdcfb77f76..12435682e6ba 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -24,8 +24,6 @@ import { SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; import { colors } from '../../utilities/color'; -import { installPackage, installTempPackage } from '../../utilities/install-package'; -import { ensureCompatibleNpm } from '../../utilities/package-manager'; import { NgAddSaveDependency, PackageManifest, @@ -107,9 +105,9 @@ export class AddCommandModule // eslint-disable-next-line max-lines-per-function async run(options: Options & OtherOptions): Promise { - const { root, logger, packageManager } = this.context; + const { logger, packageManager } = this.context; const { verbose, registry, collection, skipConfirmation } = options; - await ensureCompatibleNpm(root); + packageManager.ensureCompatibility(); let packageIdentifier; try { @@ -137,8 +135,8 @@ export class AddCommandModule const spinner = new Spinner(); spinner.start('Determining package manager...'); - const usingYarn = packageManager === PackageManager.Yarn; - spinner.info(`Using package manager: ${colors.grey(packageManager)}`); + const usingYarn = packageManager.name === PackageManager.Yarn; + spinner.info(`Using package manager: ${colors.grey(packageManager.name)}`); if (packageIdentifier.name && packageIdentifier.type === 'tag' && !packageIdentifier.rawSpec) { // only package name provided; search for viable version @@ -270,30 +268,28 @@ export class AddCommandModule if (savePackage === false) { // Temporary packages are located in a different directory // Hence we need to resolve them using the temp path - const { status, tempNodeModules } = await installTempPackage( + const { success, tempNodeModules } = await packageManager.installTemp( packageIdentifier.raw, - packageManager, registry ? [`--registry="${registry}"`] : undefined, ); const resolvedCollectionPath = require.resolve(join(collectionName, 'package.json'), { paths: [tempNodeModules], }); - if (status !== 0) { - return status; + if (!success) { + return 1; } collectionName = dirname(resolvedCollectionPath); } else { - const status = await installPackage( + const success = await packageManager.install( packageIdentifier.raw, - packageManager, savePackage, registry ? [`--registry="${registry}"`] : undefined, ); - if (status !== 0) { - return status; + if (!success) { + return 1; } } diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index c5c4e6f7e721..70b0c12e88a0 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -18,7 +18,6 @@ import { SchematicsCommandArgs, SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; -import { ensureCompatibleNpm } from '../../utilities/package-manager'; import { VERSION } from '../../utilities/version'; interface NewCommandArgs extends SchematicsCommandArgs { @@ -75,7 +74,7 @@ export class NewCommandModule !schematicOptions.skipInstall && (schematicOptions.packageManager === undefined || schematicOptions.packageManager === 'npm') ) { - await ensureCompatibleNpm(this.context.root); + this.context.packageManager.ensureCompatibility(); } return this.runSchematic({ diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 53596e755aa3..db705928997c 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -8,12 +8,12 @@ import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; import { NodeWorkflow } from '@angular-devkit/schematics/tools'; -import { execSync } from 'child_process'; -import { existsSync, promises as fsPromises } from 'fs'; +import { execSync, spawnSync } from 'child_process'; +import { existsSync, promises as fs } from 'fs'; import npa from 'npm-package-arg'; import pickManifest from 'npm-pick-manifest'; import * as path from 'path'; -import { join } from 'path'; +import { join, resolve } from 'path'; import * as semver from 'semver'; import { Argv } from 'yargs'; import { PackageManager } from '../../../lib/config/workspace-schema'; @@ -27,9 +27,7 @@ import { SchematicEngineHost } from '../../command-builder/utilities/schematic-e import { subscribeToWorkflow } from '../../command-builder/utilities/schematic-workflow'; import { colors } from '../../utilities/color'; import { disableVersionCheck } from '../../utilities/environment-options'; -import { installAllPackages, runTempPackageBin } from '../../utilities/install-package'; import { writeErrorToLogFile } from '../../utilities/log-file'; -import { ensureCompatibleNpm } from '../../utilities/package-manager'; import { PackageIdentifier, PackageManifest, @@ -167,7 +165,7 @@ export class UpdateCommandModule extends CommandModule { async run(options: Options): Promise { const { logger, packageManager } = this.context; - await ensureCompatibleNpm(this.context.root); + packageManager.ensureCompatibility(); // Check if the current installed CLI version is older than the latest compatible version. if (!disableVersionCheck) { @@ -183,11 +181,7 @@ export class UpdateCommandModule extends CommandModule { `Installing a temporary Angular CLI versioned ${cliVersionToInstall} to perform the update.`, ); - return runTempPackageBin( - `@angular/cli@${cliVersionToInstall}`, - packageManager, - process.argv.slice(2), - ); + return this.runTempBinary(`@angular/cli@${cliVersionToInstall}`, process.argv.slice(2)); } } @@ -233,7 +227,7 @@ export class UpdateCommandModule extends CommandModule { logger.info(`Found ${rootDependencies.size} dependencies.`); const workflow = new NodeWorkflow(this.context.root, { - packageManager: this.context.packageManager, + packageManager: packageManager.name, packageManagerForce: options.force, // __dirname -> favor @schematics/update from this package // Otherwise, use packages from the active workspace (migrations) @@ -252,7 +246,7 @@ export class UpdateCommandModule extends CommandModule { force: options.force, next: options.next, verbose: options.verbose, - packageManager, + packageManager: packageManager.name, packages: [], }, ); @@ -681,28 +675,27 @@ export class UpdateCommandModule extends CommandModule { verbose: options.verbose, force: options.force, next: options.next, - packageManager: this.context.packageManager, + packageManager: this.context.packageManager.name, packages: packagesToUpdate, }, ); if (success) { try { - await fsPromises.rm(path.join(this.context.root, 'node_modules'), { + await fs.rm(path.join(this.context.root, 'node_modules'), { force: true, recursive: true, maxRetries: 3, }); } catch {} - const result = await installAllPackages( - this.context.packageManager, + const installationSuccess = await this.context.packageManager.installAll( options.force ? ['--force'] : [], this.context.root, ); - if (result !== 0) { - return result; + if (!installationSuccess) { + return 1; } } @@ -891,7 +884,7 @@ export class UpdateCommandModule extends CommandModule { this.context.logger, { verbose, - usingYarn: this.context.packageManager === PackageManager.Yarn, + usingYarn: this.context.packageManager.name === PackageManager.Yarn, }, ); @@ -928,6 +921,52 @@ export class UpdateCommandModule extends CommandModule { // We end up using Angular ClI v13 to run the migrations if we run the migrations using the CLI installed major version + 1 logic. return VERSION.major; } + + private async runTempBinary(packageName: string, args: string[] = []): Promise { + const { success, tempNodeModules } = await this.context.packageManager.installTemp(packageName); + if (!success) { + return 1; + } + + // Remove version/tag etc... from package name + // Ex: @angular/cli@latest -> @angular/cli + const packageNameNoVersion = packageName.substring(0, packageName.lastIndexOf('@')); + const pkgLocation = join(tempNodeModules, packageNameNoVersion); + const packageJsonPath = join(pkgLocation, 'package.json'); + + // Get a binary location for this package + let binPath: string | undefined; + if (existsSync(packageJsonPath)) { + const content = await fs.readFile(packageJsonPath, 'utf-8'); + if (content) { + const { bin = {} } = JSON.parse(content); + const binKeys = Object.keys(bin); + + if (binKeys.length) { + binPath = resolve(pkgLocation, bin[binKeys[0]]); + } + } + } + + if (!binPath) { + throw new Error(`Cannot locate bin for temporary package: ${packageNameNoVersion}.`); + } + + const { status, error } = spawnSync(process.execPath, [binPath, ...args], { + stdio: 'inherit', + env: { + ...process.env, + NG_DISABLE_VERSION_CHECK: 'true', + NG_CLI_ANALYTICS: 'false', + }, + }); + + if (status === null && error) { + throw error; + } + + return status ?? 0; + } } /** diff --git a/packages/angular/cli/src/commands/version/cli.ts b/packages/angular/cli/src/commands/version/cli.ts index 586822af4f7a..46c882ed6fa6 100644 --- a/packages/angular/cli/src/commands/version/cli.ts +++ b/packages/angular/cli/src/commands/version/cli.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { execSync } from 'child_process'; import nodeModule from 'module'; import { resolve } from 'path'; import { Argv } from 'yargs'; @@ -49,10 +48,10 @@ export class VersionCommandModule extends CommandModule implements CommandModule } async run(): Promise { - const logger = this.context.logger; + const { packageManager, logger, root } = this.context; const localRequire = nodeModule.createRequire(resolve(__filename, '../../../')); // Trailing slash is used to allow the path to be treated as a directory - const workspaceRequire = nodeModule.createRequire(this.context.root + '/'); + const workspaceRequire = nodeModule.createRequire(root + '/'); const cliPackage: PartialPackageInfo = localRequire('./package.json'); let workspacePackage: PartialPackageInfo | undefined; @@ -119,7 +118,7 @@ export class VersionCommandModule extends CommandModule implements CommandModule ` Angular CLI: ${ngCliVersion} Node: ${process.versions.node}${unsupportedNodeVersion ? ' (Unsupported)' : ''} - Package Manager: ${this.getPackageManagerVersion()} + Package Manager: ${packageManager.name} ${packageManager.version ?? ''} OS: ${process.platform} ${process.arch} Angular: ${angularCoreVersion} @@ -186,24 +185,4 @@ export class VersionCommandModule extends CommandModule implements CommandModule return ''; } - - private getPackageManagerVersion(): string { - try { - const manager = this.context.packageManager; - const version = execSync(`${manager} --version`, { - encoding: 'utf8', - stdio: ['ignore', 'pipe', 'ignore'], - env: { - ...process.env, - // NPM updater notifier will prevents the child process from closing until it timeout after 3 minutes. - NO_UPDATE_NOTIFIER: '1', - NPM_CONFIG_UPDATE_NOTIFIER: 'false', - }, - }).trim(); - - return `${manager} ${version}`; - } catch { - return ''; - } - } } diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index d41a0e8c4df7..baa77aafe32b 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -150,22 +150,20 @@ export class AngularWorkspace { } } -const cachedWorkspaces = new Map(); - +const cachedWorkspaces = new Map(); export async function getWorkspace( level: 'local' | 'global' = 'local', -): Promise { - const cached = cachedWorkspaces.get(level); - if (cached !== undefined) { - return cached; +): Promise { + if (cachedWorkspaces.has(level)) { + return cachedWorkspaces.get(level); } const configPath = level === 'local' ? projectFilePath() : globalFilePath(); if (!configPath) { - cachedWorkspaces.set(level, null); + cachedWorkspaces.set(level, undefined); - return null; + return undefined; } try { diff --git a/packages/angular/cli/src/utilities/install-package.ts b/packages/angular/cli/src/utilities/install-package.ts deleted file mode 100644 index f4375e8d370f..000000000000 --- a/packages/angular/cli/src/utilities/install-package.ts +++ /dev/null @@ -1,251 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { spawn, spawnSync } from 'child_process'; -import { existsSync, mkdtempSync, readFileSync, realpathSync, rmdirSync, writeFileSync } from 'fs'; -import { tmpdir } from 'os'; -import { join, resolve } from 'path'; -import { PackageManager } from '../../lib/config/workspace-schema'; -import { NgAddSaveDependency } from './package-metadata'; -import { Spinner } from './spinner'; - -interface PackageManagerOptions { - silent: string; - saveDev: string; - install: string; - installAll?: string; - prefix: string; - noLockfile: string; -} - -export async function installAllPackages( - packageManager: PackageManager = PackageManager.Npm, - extraArgs: string[] = [], - cwd = process.cwd(), -): Promise<1 | 0> { - const packageManagerArgs = getPackageManagerArguments(packageManager); - - const installArgs: string[] = []; - if (packageManagerArgs.installAll) { - installArgs.push(packageManagerArgs.installAll); - } - installArgs.push(packageManagerArgs.silent); - - const spinner = new Spinner(); - spinner.start('Installing packages...'); - - const bufferedOutput: { stream: NodeJS.WriteStream; data: Buffer }[] = []; - - return new Promise((resolve, reject) => { - const childProcess = spawn(packageManager, [...installArgs, ...extraArgs], { - stdio: 'pipe', - shell: true, - cwd, - }).on('close', (code: number) => { - if (code === 0) { - spinner.succeed('Packages successfully installed.'); - resolve(0); - } else { - spinner.stop(); - bufferedOutput.forEach(({ stream, data }) => stream.write(data)); - spinner.fail('Package install failed, see above.'); - reject(1); - } - }); - - childProcess.stdout?.on('data', (data: Buffer) => - bufferedOutput.push({ stream: process.stdout, data: data }), - ); - childProcess.stderr?.on('data', (data: Buffer) => - bufferedOutput.push({ stream: process.stderr, data: data }), - ); - }); -} - -export async function installPackage( - packageName: string, - packageManager: PackageManager = PackageManager.Npm, - save: Exclude = true, - extraArgs: string[] = [], - cwd = process.cwd(), -): Promise<1 | 0> { - const packageManagerArgs = getPackageManagerArguments(packageManager); - - const installArgs: string[] = [ - packageManagerArgs.install, - packageName, - packageManagerArgs.silent, - ]; - - const spinner = new Spinner(); - spinner.start('Installing package...'); - - if (save === 'devDependencies') { - installArgs.push(packageManagerArgs.saveDev); - } - const bufferedOutput: { stream: NodeJS.WriteStream; data: Buffer }[] = []; - - return new Promise((resolve, reject) => { - const childProcess = spawn(packageManager, [...installArgs, ...extraArgs], { - stdio: 'pipe', - shell: true, - cwd, - }).on('close', (code: number) => { - if (code === 0) { - spinner.succeed('Package successfully installed.'); - resolve(0); - } else { - spinner.stop(); - bufferedOutput.forEach(({ stream, data }) => stream.write(data)); - spinner.fail('Package install failed, see above.'); - reject(1); - } - }); - - childProcess.stdout?.on('data', (data: Buffer) => - bufferedOutput.push({ stream: process.stdout, data: data }), - ); - childProcess.stderr?.on('data', (data: Buffer) => - bufferedOutput.push({ stream: process.stderr, data: data }), - ); - }); -} - -export async function installTempPackage( - packageName: string, - packageManager: PackageManager = PackageManager.Npm, - extraArgs?: string[], -): Promise<{ - status: 1 | 0; - tempNodeModules: string; -}> { - const tempPath = mkdtempSync(join(realpathSync(tmpdir()), 'angular-cli-packages-')); - - // clean up temp directory on process exit - process.on('exit', () => { - try { - rmdirSync(tempPath, { recursive: true, maxRetries: 3 }); - } catch {} - }); - - // NPM will warn when a `package.json` is not found in the install directory - // Example: - // npm WARN enoent ENOENT: no such file or directory, open '/tmp/.ng-temp-packages-84Qi7y/package.json' - // npm WARN .ng-temp-packages-84Qi7y No description - // npm WARN .ng-temp-packages-84Qi7y No repository field. - // npm WARN .ng-temp-packages-84Qi7y No license field. - - // While we can use `npm init -y` we will end up needing to update the 'package.json' anyways - // because of missing fields. - writeFileSync( - join(tempPath, 'package.json'), - JSON.stringify({ - name: 'temp-cli-install', - description: 'temp-cli-install', - repository: 'temp-cli-install', - license: 'MIT', - }), - ); - - // setup prefix/global modules path - const packageManagerArgs = getPackageManagerArguments(packageManager); - const tempNodeModules = join(tempPath, 'node_modules'); - // Yarn will not append 'node_modules' to the path - const prefixPath = packageManager === PackageManager.Yarn ? tempNodeModules : tempPath; - const installArgs: string[] = [ - ...(extraArgs || []), - `${packageManagerArgs.prefix}="${prefixPath}"`, - packageManagerArgs.noLockfile, - ]; - - return { - status: await installPackage(packageName, packageManager, true, installArgs, tempPath), - tempNodeModules, - }; -} - -export async function runTempPackageBin( - packageName: string, - packageManager: PackageManager = PackageManager.Npm, - args: string[] = [], -): Promise { - const { status: code, tempNodeModules } = await installTempPackage(packageName, packageManager); - if (code !== 0) { - return code; - } - - // Remove version/tag etc... from package name - // Ex: @angular/cli@latest -> @angular/cli - const packageNameNoVersion = packageName.substring(0, packageName.lastIndexOf('@')); - const pkgLocation = join(tempNodeModules, packageNameNoVersion); - const packageJsonPath = join(pkgLocation, 'package.json'); - - // Get a binary location for this package - let binPath: string | undefined; - if (existsSync(packageJsonPath)) { - const content = readFileSync(packageJsonPath, 'utf-8'); - if (content) { - const { bin = {} } = JSON.parse(content); - const binKeys = Object.keys(bin); - - if (binKeys.length) { - binPath = resolve(pkgLocation, bin[binKeys[0]]); - } - } - } - - if (!binPath) { - throw new Error(`Cannot locate bin for temporary package: ${packageNameNoVersion}.`); - } - - const { status, error } = spawnSync(process.execPath, [binPath, ...args], { - stdio: 'inherit', - env: { - ...process.env, - NG_DISABLE_VERSION_CHECK: 'true', - NG_CLI_ANALYTICS: 'false', - }, - }); - - if (status === null && error) { - throw error; - } - - return status || 0; -} - -function getPackageManagerArguments(packageManager: PackageManager): PackageManagerOptions { - switch (packageManager) { - case PackageManager.Yarn: - return { - silent: '--silent', - saveDev: '--dev', - install: 'add', - prefix: '--modules-folder', - noLockfile: '--no-lockfile', - }; - case PackageManager.Pnpm: - return { - silent: '--silent', - saveDev: '--save-dev', - install: 'add', - installAll: 'install', - prefix: '--prefix', - noLockfile: '--no-lockfile', - }; - default: - return { - silent: '--quiet', - saveDev: '--save-dev', - install: 'install', - installAll: 'install', - prefix: '--prefix', - noLockfile: '--no-package-lock', - }; - } -} diff --git a/packages/angular/cli/src/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts index c6d419643add..a2b8096d5e49 100644 --- a/packages/angular/cli/src/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -6,115 +6,330 @@ * found in the LICENSE file at https://angular.io/license */ -import { exec as execCb, execSync } from 'child_process'; -import { constants, promises as fs } from 'fs'; +import { isJsonObject, json } from '@angular-devkit/core'; +import { execSync, spawn } from 'child_process'; +import { existsSync, promises as fs, realpathSync, rmdirSync } from 'fs'; +import { tmpdir } from 'os'; import { join } from 'path'; import { satisfies, valid } from 'semver'; -import { promisify } from 'util'; import { PackageManager } from '../../lib/config/workspace-schema'; -import { getConfiguredPackageManager } from './config'; +import { AngularWorkspace, getProjectByCwd } from './config'; +import { Spinner } from './spinner'; -const exec = promisify(execCb); -async function supports(name: PackageManager): Promise { - try { - await exec(`${name} --version`); +interface PackageManagerOptions { + silent: string; + saveDev: string; + install: string; + installAll?: string; + prefix: string; + noLockfile: string; +} - return true; - } catch { - return false; - } +export interface PackageManagerUtilsContext { + globalConfiguration?: AngularWorkspace; + workspace?: AngularWorkspace; + root: string; } -async function hasLockfile(root: string, packageManager: PackageManager): Promise { - try { - let lockfileName: string; - switch (packageManager) { - case PackageManager.Yarn: - lockfileName = 'yarn.lock'; - break; - case PackageManager.Pnpm: - lockfileName = 'pnpm-lock.yaml'; - break; - case PackageManager.Npm: - default: - lockfileName = 'package-lock.json'; - break; +export class PackageManagerUtils { + constructor(private readonly context: PackageManagerUtilsContext) {} + + /** Get the package manager name. */ + get name(): PackageManager { + return this.getName(); + } + + /** Get the package manager version. */ + get version(): string | undefined { + return this.getVersion(this.name); + } + + /** + * Checks if the package manager is supported. If not, display a warning. + */ + ensureCompatibility(): void { + if (this.name !== PackageManager.Npm) { + return; } - await fs.access(join(root, lockfileName), constants.F_OK); + try { + const version = valid(this.version); + if (!version) { + return; + } - return true; - } catch { - return false; + if (satisfies(version, '>=7 <7.5.6')) { + // eslint-disable-next-line no-console + console.warn( + `npm version ${version} detected.` + + ' When using npm 7 with the Angular CLI, npm version 7.5.6 or higher is recommended.', + ); + } + } catch { + // npm is not installed. + } } -} -export async function getPackageManager(root: string): Promise { - const packageManager = await getConfiguredPackageManager(); - if (packageManager) { - return packageManager; + /** Install a single package. */ + async install( + packageName: string, + save: 'dependencies' | 'devDependencies' | true = true, + extraArgs: string[] = [], + cwd?: string, + ): Promise { + const packageManagerArgs = this.getArguments(); + const installArgs: string[] = [ + packageManagerArgs.install, + packageName, + packageManagerArgs.silent, + ]; + + if (save === 'devDependencies') { + installArgs.push(packageManagerArgs.saveDev); + } + + return this.run([...installArgs, ...extraArgs], cwd); } - const [hasYarnLock, hasNpmLock, hasPnpmLock, hasYarn, hasPnpm, hasNpm] = await Promise.all([ - hasLockfile(root, PackageManager.Yarn), - hasLockfile(root, PackageManager.Npm), - hasLockfile(root, PackageManager.Pnpm), - supports(PackageManager.Yarn), - supports(PackageManager.Pnpm), - supports(PackageManager.Npm), - ]); - - if (hasYarn && hasYarnLock && !hasNpmLock) { - return PackageManager.Yarn; + /** Install all packages. */ + async installAll(extraArgs: string[] = [], cwd?: string): Promise { + const packageManagerArgs = this.getArguments(); + const installArgs: string[] = [packageManagerArgs.silent]; + if (packageManagerArgs.installAll) { + installArgs.push(packageManagerArgs.installAll); + } + + return this.run([...installArgs, ...extraArgs], cwd); } - if (hasPnpm && hasPnpmLock && !hasNpmLock) { - return PackageManager.Pnpm; + /** Install a single package temporary. */ + async installTemp( + packageName: string, + extraArgs?: string[], + ): Promise<{ + success: boolean; + tempNodeModules: string; + }> { + const tempPath = await fs.mkdtemp(join(realpathSync(tmpdir()), 'angular-cli-packages-')); + + // clean up temp directory on process exit + process.on('exit', () => { + try { + rmdirSync(tempPath, { recursive: true, maxRetries: 3 }); + } catch {} + }); + + // NPM will warn when a `package.json` is not found in the install directory + // Example: + // npm WARN enoent ENOENT: no such file or directory, open '/tmp/.ng-temp-packages-84Qi7y/package.json' + // npm WARN .ng-temp-packages-84Qi7y No description + // npm WARN .ng-temp-packages-84Qi7y No repository field. + // npm WARN .ng-temp-packages-84Qi7y No license field. + + // While we can use `npm init -y` we will end up needing to update the 'package.json' anyways + // because of missing fields. + await fs.writeFile( + join(tempPath, 'package.json'), + JSON.stringify({ + name: 'temp-cli-install', + description: 'temp-cli-install', + repository: 'temp-cli-install', + license: 'MIT', + }), + ); + + // setup prefix/global modules path + const packageManagerArgs = this.getArguments(); + const tempNodeModules = join(tempPath, 'node_modules'); + // Yarn will not append 'node_modules' to the path + const prefixPath = this.name === PackageManager.Yarn ? tempNodeModules : tempPath; + const installArgs: string[] = [ + ...(extraArgs ?? []), + `${packageManagerArgs.prefix}="${prefixPath}"`, + packageManagerArgs.noLockfile, + ]; + + return { + success: await this.install(packageName, true, installArgs, tempPath), + tempNodeModules, + }; } - if (hasNpm && hasNpmLock && !hasYarnLock && !hasPnpmLock) { - return PackageManager.Npm; + private getArguments(): PackageManagerOptions { + switch (this.name) { + case PackageManager.Yarn: + return { + silent: '--silent', + saveDev: '--dev', + install: 'add', + prefix: '--modules-folder', + noLockfile: '--no-lockfile', + }; + case PackageManager.Pnpm: + return { + silent: '--silent', + saveDev: '--save-dev', + install: 'add', + installAll: 'install', + prefix: '--prefix', + noLockfile: '--no-lockfile', + }; + default: + return { + silent: '--quiet', + saveDev: '--save-dev', + install: 'install', + installAll: 'install', + prefix: '--prefix', + noLockfile: '--no-package-lock', + }; + } } - if (hasYarn && !hasNpm && !hasPnpm) { - return PackageManager.Yarn; + private async run(args: string[], cwd = process.cwd()): Promise { + const spinner = new Spinner(); + spinner.start('Installing packages...'); + + return new Promise((resolve) => { + const bufferedOutput: { stream: NodeJS.WriteStream; data: Buffer }[] = []; + + const childProcess = spawn(this.name, args, { + stdio: 'pipe', + shell: true, + cwd, + }).on('close', (code: number) => { + if (code === 0) { + spinner.succeed('Packages successfully installed.'); + resolve(true); + } else { + spinner.stop(); + bufferedOutput.forEach(({ stream, data }) => stream.write(data)); + spinner.fail('Packages installation failed, see above.'); + resolve(false); + } + }); + + childProcess.stdout?.on('data', (data: Buffer) => + bufferedOutput.push({ stream: process.stdout, data: data }), + ); + childProcess.stderr?.on('data', (data: Buffer) => + bufferedOutput.push({ stream: process.stderr, data: data }), + ); + }); } - if (hasPnpm && !hasYarn && !hasNpm) { - return PackageManager.Pnpm; + // TODO(alan-agius4): use the memoize decorator when it's merged. + private getVersion(name: PackageManager): string | undefined { + try { + return execSync(`${name} --version`, { + encoding: 'utf8', + stdio: ['ignore', 'pipe', 'ignore'], + env: { + ...process.env, + // NPM updater notifier will prevents the child process from closing until it timeout after 3 minutes. + NO_UPDATE_NOTIFIER: '1', + NPM_CONFIG_UPDATE_NOTIFIER: 'false', + }, + }).trim(); + } catch { + return undefined; + } } - // TODO: This should eventually inform the user of ambiguous package manager usage. - // Potentially with a prompt to choose and optionally set as the default. - return PackageManager.Npm; -} + // TODO(alan-agius4): use the memoize decorator when it's merged. + private getName(): PackageManager { + const packageManager = this.getConfiguredPackageManager(); + if (packageManager) { + return packageManager; + } -/** - * Checks if the npm version is a supported 7.x version. If not, display a warning. - */ -export async function ensureCompatibleNpm(root: string): Promise { - if ((await getPackageManager(root)) !== PackageManager.Npm) { - return; + const hasNpmLock = this.hasLockfile(PackageManager.Npm); + const hasYarnLock = this.hasLockfile(PackageManager.Yarn); + const hasPnpmLock = this.hasLockfile(PackageManager.Pnpm); + + // PERF NOTE: `this.getVersion` spawns the package a the child_process which can take around ~300ms at times. + // Therefore, we should only call this method when needed. IE: don't call `this.getVersion(PackageManager.Pnpm)` unless truly needed. + // The result of this method is not stored in a variable because it's memoized. + + if (hasNpmLock) { + // Has NPM lock file. + if (!hasYarnLock && !hasPnpmLock && this.getVersion(PackageManager.Npm)) { + // Only NPM lock file and NPM binary is available. + return PackageManager.Npm; + } + } else { + // No NPM lock file. + if (hasYarnLock && this.getVersion(PackageManager.Yarn)) { + // Yarn lock file and Yarn binary is available. + return PackageManager.Yarn; + } else if (hasPnpmLock && this.getVersion(PackageManager.Pnpm)) { + // PNPM lock file and PNPM binary is available. + return PackageManager.Pnpm; + } + } + + if (!this.getVersion(PackageManager.Npm)) { + // Doesn't have NPM installed. + const hasYarn = !!this.getVersion(PackageManager.Yarn); + const hasPnpm = !!this.getVersion(PackageManager.Pnpm); + + if (hasYarn && !hasPnpm) { + return PackageManager.Yarn; + } else if (!hasYarn && hasPnpm) { + return PackageManager.Pnpm; + } + } + + // TODO: This should eventually inform the user of ambiguous package manager usage. + // Potentially with a prompt to choose and optionally set as the default. + return PackageManager.Npm; } - try { - const versionText = execSync('npm --version', { - encoding: 'utf8', - stdio: 'pipe', - }).trim(); - const version = valid(versionText); - if (!version) { - return; + private hasLockfile(packageManager: PackageManager): boolean { + let lockfileName: string; + switch (packageManager) { + case PackageManager.Yarn: + lockfileName = 'yarn.lock'; + break; + case PackageManager.Pnpm: + lockfileName = 'pnpm-lock.yaml'; + break; + case PackageManager.Npm: + default: + lockfileName = 'package-lock.json'; + break; } - if (satisfies(version, '>=7 <7.5.6')) { - // eslint-disable-next-line no-console - console.warn( - `npm version ${version} detected.` + - ' When using npm 7 with the Angular CLI, npm version 7.5.6 or higher is recommended.', - ); + return existsSync(join(this.context.root, lockfileName)); + } + + private getConfiguredPackageManager(): PackageManager | undefined { + const getPackageManager = (source: json.JsonValue | undefined): PackageManager | undefined => { + if (source && isJsonObject(source)) { + const value = source['packageManager']; + if (typeof value === 'string') { + return value as PackageManager; + } + } + + return undefined; + }; + + let result: PackageManager | undefined; + const { workspace: localWorkspace, globalConfiguration: globalWorkspace } = this.context; + if (localWorkspace) { + const project = getProjectByCwd(localWorkspace); + if (project) { + result = getPackageManager(localWorkspace.projects.get(project)?.extensions['cli']); + } + + result ??= getPackageManager(localWorkspace.extensions['cli']); + } + + if (!result) { + result = getPackageManager(globalWorkspace?.extensions['cli']); } - } catch { - // npm is not installed + + return result; } } From 371da23be0d0b1fd880d93c68049fcac97685120 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 17:15:15 +0200 Subject: [PATCH 0249/1388] fix(@angular-devkit/build-angular): add `node_modules` prefix to excludes RegExp Without the `node_modules` prefix, projects named the same as the excluded package names ex: `webpack` will not compile successfully as all files under the mentioned project will be excluded from being requested by the respective loaders. Closes #22902 --- .../build_angular/src/webpack/configs/common.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 928e8d346f59..e8b4d870ac8e 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -243,7 +243,9 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Wed, 30 Mar 2022 17:40:00 +0200 Subject: [PATCH 0250/1388] fix(@angular/cli): display package manager during `ng update` This also aligns the output to have the same style of `ng add` --- packages/angular/cli/src/commands/update/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index db705928997c..c00d61ece2cb 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -220,7 +220,7 @@ export class UpdateCommandModule extends CommandModule { } } - logger.info(`Using package manager: '${packageManager}'`); + logger.info(`Using package manager: ${colors.grey(packageManager.name)}`); logger.info('Collecting installed dependencies...'); const rootDependencies = await getProjectDependencies(this.context.root); From 9807291162b213d6b6f7f042dfa045135d31b0dd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 09:31:08 +0200 Subject: [PATCH 0251/1388] refactor(@angular/cli): remove `getProjectsByPath` config util We already have a similar method `getProjectByCwd` that does the same thing. --- .../schematics-command-module.ts | 31 ++++++--------- packages/angular/cli/src/utilities/config.ts | 39 ------------------- 2 files changed, 11 insertions(+), 59 deletions(-) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 9d6dbb7d659a..8129e0b70667 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -15,7 +15,7 @@ import { } from '@angular-devkit/schematics/tools'; import type { CheckboxQuestion, Question } from 'inquirer'; import { Argv } from 'yargs'; -import { getProjectByCwd, getProjectsByPath, getSchematicDefaults } from '../utilities/config'; +import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; import { isTTY } from '../utilities/tty'; import { CommandModule, @@ -364,32 +364,23 @@ export abstract class SchematicsCommandModule return undefined; } - const projectNames = getProjectsByPath(workspace, process.cwd(), workspace.basePath); + const projectName = getProjectByCwd(workspace); + if (projectName) { + return projectName; + } - if (projectNames.length === 1) { - return projectNames[0]; - } else { - if (projectNames.length > 1) { + const defaultProjectName = workspace.extensions['defaultProject']; + if (typeof defaultProjectName === 'string' && defaultProjectName) { + if (!this.defaultProjectDeprecationWarningShown) { logger.warn(tags.oneLine` - Two or more projects are using identical roots. - Unable to determine project using current working directory. - Using default workspace project instead. - `); - } - - const defaultProjectName = workspace.extensions['defaultProject']; - if (typeof defaultProjectName === 'string' && defaultProjectName) { - if (!this.defaultProjectDeprecationWarningShown) { - logger.warn(tags.oneLine` DEPRECATED: The 'defaultProject' workspace option has been deprecated. The project to use will be determined from the current working directory. `); - this.defaultProjectDeprecationWarningShown = true; - } - - return defaultProjectName; + this.defaultProjectDeprecationWarningShown = true; } + + return defaultProjectName; } return undefined; diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index baa77aafe32b..5c61ef327e50 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -393,42 +393,3 @@ export async function isWarningEnabled(warning: string): Promise { // All warnings are enabled by default return result ?? true; } - -export function getProjectsByPath( - workspace: workspaces.WorkspaceDefinition, - cwd: string, - root: string, -): string[] { - if (workspace.projects.size === 1) { - return Array.from(workspace.projects.keys()); - } - - const isInside = (base: string, potential: string): boolean => { - const absoluteBase = path.resolve(root, base); - const absolutePotential = path.resolve(root, potential); - const relativePotential = path.relative(absoluteBase, absolutePotential); - if (!relativePotential.startsWith('..') && !path.isAbsolute(relativePotential)) { - return true; - } - - return false; - }; - - const projects = Array.from(workspace.projects.entries()) - .map(([name, project]) => [path.resolve(root, project.root), name] as [string, string]) - .filter((tuple) => isInside(tuple[0], cwd)) - // Sort tuples by depth, with the deeper ones first. Since the first member is a path and - // we filtered all invalid paths, the longest will be the deepest (and in case of equality - // the sort is stable and the first declared project will win). - .sort((a, b) => b[0].length - a[0].length); - - if (projects.length === 1) { - return [projects[0][1]]; - } else if (projects.length > 1) { - const firstPath = projects[0][0]; - - return projects.filter((v) => v[0] === firstPath).map((v) => v[1]); - } - - return []; -} From 592264938005dbef55bd0c59ad155f5bfe254f5f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 09:33:10 +0200 Subject: [PATCH 0252/1388] refactor(@angular-devkit/build-angular): replace `try/catch` block with `catch` Since this is a promise the try/catch block will not catch promise rejections which was the reason for the try/catch block. --- .../angular_devkit/build_angular/src/utils/purge-cache.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/purge-cache.ts b/packages/angular_devkit/build_angular/src/utils/purge-cache.ts index f0b9ca21ea2b..1f6039f27592 100644 --- a/packages/angular_devkit/build_angular/src/utils/purge-cache.ts +++ b/packages/angular_devkit/build_angular/src/utils/purge-cache.ts @@ -29,9 +29,10 @@ export async function purgeStaleBuildCache(context: BuilderContext): Promise join(basePath, d.name) !== path && d.isDirectory()) .map((d) => { const subPath = join(basePath, d.name); - try { - return fsPromises.rm(subPath, { force: true, recursive: true, maxRetries: 3 }); - } catch {} + + return fsPromises + .rm(subPath, { force: true, recursive: true, maxRetries: 3 }) + .catch(() => void 0); }); await Promise.all(entriesToDelete); From 811487f027e49c536391c4da5b0417c43cb2f30c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 09:36:40 +0200 Subject: [PATCH 0253/1388] refactor(@angular/cli): remove unused `testing` option This option is never set and doesn't provide any value, since typically when one wants to debug, you add a `debugger` statement where needed or use the `break on exception` option in the debugger. --- packages/angular/cli/lib/cli/index.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index d7a1aac4e952..cc2655ceaf2e 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -17,7 +17,7 @@ import { writeErrorToLogFile } from '../../src/utilities/log-file'; export { VERSION } from '../../src/utilities/version'; /* eslint-disable no-console */ -export default async function (options: { testing?: boolean; cliArgs: string[] }) { +export default async function (options: { cliArgs: string[] }) { // This node version check ensures that the requirements of the project instance of the CLI are met const [major, minor] = process.versions.node.split('.').map((part) => Number(part)); if (major < 14 || (major === 14 && minor < 15)) { @@ -80,12 +80,6 @@ export default async function (options: { testing?: boolean; cliArgs: string[] } logger.fatal('An unexpected error occurred: ' + JSON.stringify(err)); } - if (options.testing) { - // eslint-disable-next-line no-debugger - debugger; - throw err; - } - return 1; } } From 94a9952963bae6acf42a87967b0d9e9a6f6e082a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Mar 2022 20:17:32 +0200 Subject: [PATCH 0254/1388] refactor(@angular/cli): change workspace host to use async Node APIs --- packages/angular/cli/src/utilities/config.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index 5c61ef327e50..83ab11572bca 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -7,7 +7,7 @@ */ import { json, workspaces } from '@angular-devkit/core'; -import { existsSync, readFileSync, statSync, writeFileSync } from 'fs'; +import { existsSync, promises as fs, writeFileSync } from 'fs'; import * as os from 'os'; import * as path from 'path'; import { PackageManager } from '../../lib/config/workspace-schema'; @@ -20,22 +20,26 @@ function isJsonObject(value: json.JsonValue | undefined): value is json.JsonObje function createWorkspaceHost(): workspaces.WorkspaceHost { return { - async readFile(path) { - return readFileSync(path, 'utf-8'); + readFile(path) { + return fs.readFile(path, 'utf-8'); }, async writeFile(path, data) { - writeFileSync(path, data); + await fs.writeFile(path, data); }, async isDirectory(path) { try { - return statSync(path).isDirectory(); + const stats = await fs.stat(path); + + return stats.isDirectory(); } catch { return false; } }, async isFile(path) { try { - return statSync(path).isFile(); + const stats = await fs.stat(path); + + return stats.isFile(); } catch { return false; } From bf02cd35a53bba2eb44694e897f5d964285181ed Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 30 Mar 2022 13:37:45 -0700 Subject: [PATCH 0255/1388] docs: release notes for the v13.3.1 release --- CHANGELOG.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19d77a73798e..e869a342c2bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,51 @@ + + +# 13.3.1 (2022-03-30) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------- | +| [cf3cb2ecf](https://github.com/angular/angular-cli/commit/cf3cb2ecf9ca47a984c4272f0094f2a1c68c7dfe) | fix | fix extra comma added when use --change-detection=onPush and --style=none to generate a component | + +### @angular-devkit/architect-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [9f8d4dea0](https://github.com/angular/angular-cli/commit/9f8d4dea0449e236de7b928c5cc97e597a6f5844) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [ba3486de9](https://github.com/angular/angular-cli/commit/ba3486de94e733addf0ac17706b806dd813c9046) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/benchmark + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [1f7fa6970](https://github.com/angular/angular-cli/commit/1f7fa6970e8cddb2ba0c42df0e048a57292b7fe8) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [293526c31](https://github.com/angular/angular-cli/commit/293526c31db9f0becc0ffc2d60999c80afa8a308) | fix | add `node_modules` prefix to excludes RegExp | +| [58ed97410](https://github.com/angular/angular-cli/commit/58ed97410b760909d523b05c3b4a06364e3c9a0f) | fix | allow Workers in Stackblitz | +| [4cd2331d3](https://github.com/angular/angular-cli/commit/4cd2331d34e2a9ab2ed78edf0284dbfefef511a5) | fix | don't override asset info when updating assets | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [c7c75820f](https://github.com/angular/angular-cli/commit/c7c75820f1d4ef827336626b78c8c3e5c0bd1f00) | fix | add Angular CLI major version as analytics dimension | + +## Special Thanks + +Alan Agius and gauravsoni119 + + + # 14.0.0-next.6 (2022-03-16) From cb5c0729e69e8290b83a70519142a1405068dbde Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 30 Mar 2022 13:42:27 -0700 Subject: [PATCH 0256/1388] release: cut the v14.0.0-next.7 release --- CHANGELOG.md | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e869a342c2bd..4e425a95b418 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,98 @@ + + +# 14.0.0-next.7 (2022-03-30) + +## Breaking Changes + +### @angular-devkit/build-angular + +- Reflect metadata polyfill is no longer automatically provided in JIT mode + Reflect metadata support is not required by Angular in JIT applications compiled by the CLI. + Applications built in AOT mode did not and will continue to not provide the polyfill. + For the majority of applications, the reflect metadata polyfill removal should have no effect. + However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating. + To replicate the previous behavior, the `core-js` package should be manually installed and the `import 'core-js/proposals/reflect-metadata';` statement should be added to the application's `polyfills.ts` file. + +## Deprecations + +### @angular/cli + +- The `defaultCollection` workspace option has been deprecated in favor of `schematicCollections`. + + Before + + ```json + "defaultCollection": "@angular/material" + ``` + + After + + ```json + "schematicCollections": ["@angular/material"] + ``` + +- The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. + +### @angular-devkit/core + +- - `ContentHasMutatedException`, `InvalidUpdateRecordException`, `UnimplementedException` and `MergeConflictException` symbol from `@angular-devkit/core` have been deprecated in favor of the symbol from `@angular-devkit/schematics`. + - `UnsupportedPlatformException` - A custom error exception should be created instead. + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------- | +| [e5bf35ea3](https://github.com/angular/angular-cli/commit/e5bf35ea3061a3e532aa85df44551107e62e24c5) | feat | add `ng cache` command | +| [366cabc66](https://github.com/angular/angular-cli/commit/366cabc66c3dd836e2fdfea8dad6c4c7c2096b1d) | feat | add support for multiple schematics collections | +| [036327e9c](https://github.com/angular/angular-cli/commit/036327e9ca838f9ef3f117fbd18949d9d357e68d) | feat | deprecated `defaultProject` option | +| [8e66c9188](https://github.com/angular/angular-cli/commit/8e66c9188be827380e5acda93c7e21fae718b9ce) | fix | `ng g` show descrption from `collection.json` if not present in `schema.json` | +| [09f8659ce](https://github.com/angular/angular-cli/commit/09f8659cedcba70903140d0c3eb5d0e10ebb506c) | fix | display package manager during `ng update` | +| [5a8bdeb43](https://github.com/angular/angular-cli/commit/5a8bdeb434c7561334bfc8865ed279110a44bd93) | fix | hide private schematics from `ng g` help output | +| [8a396de6a](https://github.com/angular/angular-cli/commit/8a396de6a8a58347d2201a43d7f5101f94f20e89) | fix | print entire config when no positional args are provided to `ng config` | +| [efc3c3225](https://github.com/angular/angular-cli/commit/efc3c32257a65caf36999dc34cadc41eedcbf323) | fix | remove analytics prompt postinstall script | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------- | +| [e49220fba](https://github.com/angular/angular-cli/commit/e49220fba0d158be0971989e26eb199ec02fa113) | feat | add migratiom to remove `defaultProject` in workspace config | +| [09a71bab6](https://github.com/angular/angular-cli/commit/09a71bab6044e517319f061dbd4555ce57fe6485) | fix | Consolidated setup with a single `beforeEach()` | +| [a5e99762e](https://github.com/angular/angular-cli/commit/a5e99762ef0bb05a23823d4923a2863e0b232ec9) | fix | fix extra comma added when use --change-detection=onPush and --style=none to generate a component | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [371da23be](https://github.com/angular/angular-cli/commit/371da23be0d0b1fd880d93c68049fcac97685120) | fix | add `node_modules` prefix to excludes RegExp | +| [2ab77429b](https://github.com/angular/angular-cli/commit/2ab77429bb213a515a2334ff6c577be561117108) | fix | allow Workers in Stackblitz | +| [fac9cca66](https://github.com/angular/angular-cli/commit/fac9cca66bef73ce403314609a51e63a2764ccbe) | fix | don't override asset info when updating assets | +| [966d25b55](https://github.com/angular/angular-cli/commit/966d25b55eeb6cb84eaca183b30e7d3b0d0a2188) | fix | remove unneeded JIT reflect metadata polyfill | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------- | +| [455aeea12](https://github.com/angular/angular-cli/commit/455aeea12d8509a526a28cf126899e60c4a21cef) | fix | add Angular CLI major version as analytics dimension | +| [c5b3e9299](https://github.com/angular/angular-cli/commit/c5b3e9299130132aecfa19219405e1964d0c5443) | refactor | deprecate unused exception classes | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | +| [c9c781c7d](https://github.com/angular/angular-cli/commit/c9c781c7d5f3c6de780912fd7c624a457e6da14c) | feat | add parameter to `listSchematicNames` to allow returning hidden schematics. | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | +| [0c344259d](https://github.com/angular/angular-cli/commit/0c344259dcdc10a35840151bfe3ae1b27f9b53ff) | fix | update peer dependency to reflect TS 4.6 support | + +## Special Thanks + +Adrien Crivelli, Alan Agius, Charles Lyding, Doug Parker, Paul Gschwendtner, Tobias Speicher, alkavats1 and gauravsoni119 + + + # 13.3.1 (2022-03-30) diff --git a/package.json b/package.json index e41c7ea7ac73..9451b6d82fab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.6", + "version": "14.0.0-next.7", "private": true, "description": "Software Development Kit for Angular", "bin": { From 689c827be52079927e445fd927c1f03c415c07c7 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 30 Mar 2022 17:11:45 -0700 Subject: [PATCH 0257/1388] docs: release notes for the v12.2.19 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e425a95b418..b577deaaa037 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -141,6 +141,34 @@ Alan Agius and gauravsoni119 + + +# 11.2.19 (2022-03-30) + +### @angular-devkit/architect-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [75caa1143](https://github.com/angular/angular-cli/commit/75caa1143f4007c9550ab0dabb62ae4df91e3827) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [80d479e9f](https://github.com/angular/angular-cli/commit/80d479e9fdfcf6863ebbe0986ea6cd29309f398d) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/benchmark + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [f61cd1a79](https://github.com/angular/angular-cli/commit/f61cd1a79b6960711d4aa5b16d04308bbdc67beb) | fix | update `minimist` to `1.2.6` | + +## Special Thanks + +Alan Agius and Doug Parker + + + # 14.0.0-next.6 (2022-03-16) From f11fcaa634d5dff08dc754f4290442498be7cc9c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 31 Mar 2022 20:03:18 +0200 Subject: [PATCH 0258/1388] refactor(@angular/cli): remove coercion from `packages` positional configuration Configure the `packages` positional argument to be an array instead of using `coerce` method. --- packages/angular/cli/src/commands/update/cli.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index c00d61ece2cb..c5e7e883904b 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -70,7 +70,8 @@ export class UpdateCommandModule extends CommandModule { return localYargs .positional('packages', { description: 'The names of package(s) to update.', - coerce: (value) => (typeof value === 'string' ? [value] : value) as string[] | undefined, + type: 'string', + array: true, }) .option('force', { description: @@ -872,15 +873,12 @@ export class UpdateCommandModule extends CommandModule { * @returns the version to install or null when there is no update to install. */ private async checkCLIVersion( - packagesToUpdate: string[] | string | undefined, + packagesToUpdate: string[] | undefined, verbose = false, next = false, ): Promise { const { version } = await fetchPackageManifest( - `@angular/cli@${this.getCLIUpdateRunnerVersion( - typeof packagesToUpdate === 'string' ? [packagesToUpdate] : packagesToUpdate, - next, - )}`, + `@angular/cli@${this.getCLIUpdateRunnerVersion(packagesToUpdate, next)}`, this.context.logger, { verbose, From dcc00f4e22cf8e75d5a1b18e66f9637c6ec08299 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 31 Mar 2022 14:31:54 +0000 Subject: [PATCH 0259/1388] build: update all non-major dependencies --- package.json | 4 ++-- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 19 ++++++++++++++----- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 9451b6d82fab..aada798c02cc 100644 --- a/package.json +++ b/package.json @@ -187,12 +187,12 @@ "postcss-preset-env": "7.4.3", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.5.1", + "puppeteer": "13.5.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.9", + "sass": "1.49.10", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0c543a2cecaa..2b04c2547c78 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.9", + "sass": "1.49.10", "sass-loader": "12.6.0", "semver": "7.3.5", "source-map-loader": "3.0.1", diff --git a/yarn.lock b/yarn.lock index 28ab77c27a73..58ad72982eba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8842,13 +8842,13 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.5.1: - version "13.5.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.1.tgz#d0f751bf36120efc2ebf74c7562a204a84e500e9" - integrity sha512-wWxO//vMiqxlvuzHMAJ0pRJeDHvDtM7DQpW1GKdStz2nZo2G42kOXBDgkmQ+zqjwMCFofKGesBeeKxIkX9BO+w== +puppeteer@13.5.2: + version "13.5.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.2.tgz#73ae84969cbf514aeee871a05ec4549d67f6abee" + integrity sha512-DJAyXODBikZ3xPs8C35CtExEw78LZR9RyelGDAs0tX1dERv3OfW7qpQ9VPBgsfz+hG2HiMTO/Tyf7BuMVWsrxg== dependencies: cross-fetch "3.1.5" - debug "4.3.3" + debug "4.3.4" devtools-protocol "0.0.969999" extract-zip "2.0.1" https-proxy-agent "5.0.0" @@ -9419,6 +9419,15 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" +sass@1.49.10: + version "1.49.10" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.10.tgz#7b83cee0f03bbba443111b3f94944fde2b0c7a6b" + integrity sha512-w37zfWJwKu4I78U4z63u1mmgoncq+v3iOB4yzQMPyAPVHHawaQSnu9C9ysGQnZEhW609jkcLioJcMCqm75JMdg== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sass@1.49.9, sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" From b8e9e09a51ad6d3e90fcda9db6b11fd78ec268be Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 31 Mar 2022 14:35:07 -0400 Subject: [PATCH 0260/1388] refactor(@angular-devkit/build-angular): replace most custom path normalize usage with Node.js builtins During the build initialization phase, many paths are converted back and forth between multiple normalized forms. These conversions involve potentially expensive string operations. The majority of the custom path `normalize` function from `@angular-devkit/core` usages have now been removed in favor of the Node.js builtin path functions. This change reduces the need to perform additional string manipulation where possible. --- .../src/builders/app-shell/index.ts | 6 +-- .../src/builders/browser/index.ts | 18 ++++---- .../build_angular/src/builders/karma/index.ts | 20 ++++---- .../src/utils/normalize-asset-patterns.ts | 41 +++++++---------- .../src/utils/normalize-builder-schema.ts | 13 ++---- .../src/utils/normalize-file-replacements.ts | 46 +++++++++---------- .../build_angular/src/utils/service-worker.ts | 23 ++++------ .../src/webpack/plugins/typescript.ts | 3 +- 8 files changed, 75 insertions(+), 95 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index f8bcbd4241d2..e55fceeb7c4c 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -12,7 +12,7 @@ import { createBuilder, targetFromTargetString, } from '@angular-devkit/architect'; -import { JsonObject, normalize } from '@angular-devkit/core'; +import { JsonObject } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { normalizeOptimization } from '../../utils'; @@ -114,8 +114,8 @@ async function _renderUniversal( if (browserOptions.serviceWorker) { await augmentAppWithServiceWorker( - normalize(projectRoot), - normalize(outputPath), + projectRoot, + outputPath, browserOptions.baseHref || '/', browserOptions.ngswConfigPath, ); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index ef2c73a37549..b3a39051e3c5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { EmittedFiles, WebpackLoggingCallback, runWebpack } from '@angular-devkit/build-webpack'; -import { logging, normalize } from '@angular-devkit/core'; +import { logging } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { Observable, from } from 'rxjs'; @@ -106,9 +106,9 @@ async function initialize( if (options.assets?.length && !adjustedOptions.assets?.length) { normalizeAssetPatterns( options.assets, - normalize(context.workspaceRoot), - normalize(projectRoot), - projectSourceRoot === undefined ? undefined : normalize(projectSourceRoot), + context.workspaceRoot, + projectRoot, + projectSourceRoot, ).forEach(({ output }) => { if (output.startsWith('..')) { throw new Error('An asset cannot be written to a location outside of the output path.'); @@ -268,9 +268,9 @@ export function buildWebpackBrowser( await copyAssets( normalizeAssetPatterns( options.assets, - normalize(context.workspaceRoot), - normalize(projectRoot), - projectSourceRoot === undefined ? undefined : normalize(projectSourceRoot), + context.workspaceRoot, + projectRoot, + projectSourceRoot, ), Array.from(outputPaths.values()), context.workspaceRoot, @@ -347,8 +347,8 @@ export function buildWebpackBrowser( for (const [locale, outputPath] of outputPaths.entries()) { try { await augmentAppWithServiceWorker( - normalize(projectRoot), - normalize(outputPath), + projectRoot, + outputPath, getLocaleBaseHref(i18n, locale) || options.baseHref || '/', options.ngswConfigPath, ); diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 68ea6b69f82d..06db2f6e23df 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -7,9 +7,8 @@ */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import { getSystemPath, join, normalize } from '@angular-devkit/core'; import { Config, ConfigOptions } from 'karma'; -import { resolve as fsResolve } from 'path'; +import * as path from 'path'; import { Observable, from } from 'rxjs'; import { defaultIfEmpty, switchMap } from 'rxjs/operators'; import { Configuration } from 'webpack'; @@ -119,12 +118,13 @@ export function execute( } const projectMetadata = await context.getProjectMetadata(projectName); - const projectSourceRoot = getSystemPath( - join( - normalize(context.workspaceRoot), - (projectMetadata.root as string | undefined) ?? '', - (projectMetadata.sourceRoot as string | undefined) ?? '', - ), + const projectRoot = path.join( + context.workspaceRoot, + (projectMetadata.root as string | undefined) ?? '', + ); + const projectSourceRoot = path.join( + projectRoot, + (projectMetadata.sourceRoot as string | undefined) ?? '', ); const files = await findTests(options.include, context.workspaceRoot, projectSourceRoot); @@ -144,7 +144,7 @@ export function execute( } rules.unshift({ - test: fsResolve(context.workspaceRoot, options.main), + test: path.resolve(context.workspaceRoot, options.main), use: { // cannot be a simple path as it differs between environments loader: SingleTestTransformLoader, @@ -163,7 +163,7 @@ export function execute( }; const config = await karma.config.parseConfig( - fsResolve(context.workspaceRoot, options.karmaConfig), + path.resolve(context.workspaceRoot, options.karmaConfig), transforms.karmaOptions ? transforms.karmaOptions(karmaOptions) : karmaOptions, { promiseConfig: true, throwErrors: true }, ); diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts index 0960cd721171..02a6529d112c 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts @@ -6,18 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { - BaseException, - Path, - basename, - dirname, - getSystemPath, - join, - normalize, - relative, - resolve, -} from '@angular-devkit/core'; +import { BaseException } from '@angular-devkit/core'; import { statSync } from 'fs'; +import * as path from 'path'; import { AssetPattern, AssetPatternClass } from '../builders/browser/schema'; export class MissingAssetSourceRootException extends BaseException { @@ -28,34 +19,34 @@ export class MissingAssetSourceRootException extends BaseException { export function normalizeAssetPatterns( assetPatterns: AssetPattern[], - root: Path, - projectRoot: Path, - maybeSourceRoot: Path | undefined, + workspaceRoot: string, + projectRoot: string, + projectSourceRoot: string | undefined, ): AssetPatternClass[] { - // When sourceRoot is not available, we default to ${projectRoot}/src. - const sourceRoot = maybeSourceRoot || join(projectRoot, 'src'); - const resolvedSourceRoot = resolve(root, sourceRoot); - if (assetPatterns.length === 0) { return []; } + // When sourceRoot is not available, we default to ${projectRoot}/src. + const sourceRoot = projectSourceRoot || path.join(projectRoot, 'src'); + const resolvedSourceRoot = path.resolve(workspaceRoot, sourceRoot); + return assetPatterns.map((assetPattern) => { // Normalize string asset patterns to objects. if (typeof assetPattern === 'string') { - const assetPath = normalize(assetPattern); - const resolvedAssetPath = resolve(root, assetPath); + const assetPath = path.normalize(assetPattern); + const resolvedAssetPath = path.resolve(workspaceRoot, assetPath); // Check if the string asset is within sourceRoot. if (!resolvedAssetPath.startsWith(resolvedSourceRoot)) { throw new MissingAssetSourceRootException(assetPattern); } - let glob: string, input: Path; + let glob: string, input: string; let isDirectory = false; try { - isDirectory = statSync(getSystemPath(resolvedAssetPath)).isDirectory(); + isDirectory = statSync(resolvedAssetPath).isDirectory(); } catch { isDirectory = true; } @@ -67,13 +58,13 @@ export function normalizeAssetPatterns( input = assetPath; } else { // Files are their own glob. - glob = basename(assetPath); + glob = path.basename(assetPath); // Input directory is their original dirname. - input = dirname(assetPath); + input = path.dirname(assetPath); } // Output directory for both is the relative path from source root to input. - const output = relative(resolvedSourceRoot, resolve(root, input)); + const output = path.relative(resolvedSourceRoot, path.resolve(workspaceRoot, input)); // Return the asset pattern in object format. return { glob, input, output }; diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts index 943c063c79dd..1c3af36dded5 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { json, normalize } from '@angular-devkit/core'; +import { json } from '@angular-devkit/core'; import { AssetPatternClass, Schema as BrowserBuilderSchema, @@ -48,14 +48,11 @@ export function normalizeBrowserSchema( cache: normalizeCacheOptions(metadata, workspaceRoot), assets: normalizeAssetPatterns( options.assets || [], - normalize(workspaceRoot), - normalize(projectRoot), - projectSourceRoot ? normalize(projectSourceRoot) : undefined, - ), - fileReplacements: normalizeFileReplacements( - options.fileReplacements || [], - normalize(workspaceRoot), + workspaceRoot, + projectRoot, + projectSourceRoot, ), + fileReplacements: normalizeFileReplacements(options.fileReplacements || [], workspaceRoot), optimization: normalizeOptimization(options.optimization), sourceMap: normalizedSourceMapOptions, preserveSymlinks: diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts b/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts index 3e4f6fe5ac5f..741079ffded9 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-file-replacements.ts @@ -6,8 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { BaseException, Path, getSystemPath, join, normalize } from '@angular-devkit/core'; +import { BaseException } from '@angular-devkit/core'; import { existsSync } from 'fs'; +import * as path from 'path'; import { FileReplacement } from '../builders/browser/schema'; export class MissingFileReplacementException extends BaseException { @@ -17,29 +18,29 @@ export class MissingFileReplacementException extends BaseException { } export interface NormalizedFileReplacement { - replace: Path; - with: Path; + replace: string; + with: string; } export function normalizeFileReplacements( fileReplacements: FileReplacement[], - root: Path, + workspaceRoot: string, ): NormalizedFileReplacement[] { if (fileReplacements.length === 0) { return []; } const normalizedReplacement = fileReplacements.map((replacement) => - normalizeFileReplacement(replacement, root), + normalizeFileReplacement(replacement, workspaceRoot), ); for (const { replace, with: replacementWith } of normalizedReplacement) { - if (!existsSync(getSystemPath(replacementWith))) { - throw new MissingFileReplacementException(getSystemPath(replacementWith)); + if (!existsSync(replacementWith)) { + throw new MissingFileReplacementException(replacementWith); } - if (!existsSync(getSystemPath(replace))) { - throw new MissingFileReplacementException(getSystemPath(replace)); + if (!existsSync(replace)) { + throw new MissingFileReplacementException(replace); } } @@ -48,27 +49,22 @@ export function normalizeFileReplacements( function normalizeFileReplacement( fileReplacement: FileReplacement, - root?: Path, + root: string, ): NormalizedFileReplacement { - let replacePath: Path; - let withPath: Path; + let replacePath: string; + let withPath: string; if (fileReplacement.src && fileReplacement.replaceWith) { - replacePath = normalize(fileReplacement.src); - withPath = normalize(fileReplacement.replaceWith); + replacePath = fileReplacement.src; + withPath = fileReplacement.replaceWith; } else if (fileReplacement.replace && fileReplacement.with) { - replacePath = normalize(fileReplacement.replace); - withPath = normalize(fileReplacement.with); + replacePath = fileReplacement.replace; + withPath = fileReplacement.with; } else { throw new Error(`Invalid file replacement: ${JSON.stringify(fileReplacement)}`); } - // TODO: For 7.x should this only happen if not absolute? - if (root) { - replacePath = join(root, replacePath); - } - if (root) { - withPath = join(root, withPath); - } - - return { replace: replacePath, with: withPath }; + return { + replace: path.join(root, replacePath), + with: path.join(root, withPath), + }; } diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index fef7d9d45adb..7f9cee425664 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { Path, getSystemPath, normalize } from '@angular-devkit/core'; import type { Config, Filesystem } from '@angular/service-worker/config'; import * as crypto from 'crypto'; import { createReadStream, promises as fs, constants as fsConstants } from 'fs'; @@ -62,17 +61,15 @@ class CliFilesystem implements Filesystem { } export async function augmentAppWithServiceWorker( - appRoot: Path, - outputPath: Path, + appRoot: string, + outputPath: string, baseHref: string, ngswConfigPath?: string, ): Promise { - const distPath = getSystemPath(normalize(outputPath)); - // Determine the configuration file path const configPath = ngswConfigPath - ? getSystemPath(normalize(ngswConfigPath)) - : path.join(getSystemPath(appRoot), 'ngsw-config.json'); + ? path.normalize(ngswConfigPath) + : path.join(appRoot, 'ngsw-config.json'); // Read the configuration file let config: Config | undefined; @@ -83,7 +80,7 @@ export async function augmentAppWithServiceWorker( if (error.code === 'ENOENT') { throw new Error( 'Error: Expected to find an ngsw-config.json configuration file' + - ` in the ${getSystemPath(appRoot)} folder. Either provide one or` + + ` in the ${appRoot} folder. Either provide one or` + ' disable Service Worker in the angular.json configuration file.', ); } else { @@ -101,12 +98,12 @@ export async function augmentAppWithServiceWorker( ).Generator; // Generate the manifest - const generator = new GeneratorConstructor(new CliFilesystem(distPath), baseHref); + const generator = new GeneratorConstructor(new CliFilesystem(outputPath), baseHref); const output = await generator.process(config); // Write the manifest const manifest = JSON.stringify(output, null, 2); - await fs.writeFile(path.join(distPath, 'ngsw.json'), manifest); + await fs.writeFile(path.join(outputPath, 'ngsw.json'), manifest); // Find the service worker package const workerPath = require.resolve('@angular/service-worker/ngsw-worker.js'); @@ -114,7 +111,7 @@ export async function augmentAppWithServiceWorker( // Write the worker code await fs.copyFile( workerPath, - path.join(distPath, 'ngsw-worker.js'), + path.join(outputPath, 'ngsw-worker.js'), fsConstants.COPYFILE_FICLONE, ); @@ -123,12 +120,12 @@ export async function augmentAppWithServiceWorker( try { await fs.copyFile( safetyPath, - path.join(distPath, 'worker-basic.min.js'), + path.join(outputPath, 'worker-basic.min.js'), fsConstants.COPYFILE_FICLONE, ); await fs.copyFile( safetyPath, - path.join(distPath, 'safety-worker.js'), + path.join(outputPath, 'safety-worker.js'), fsConstants.COPYFILE_FICLONE, ); } catch (error) { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index 542293a5c94d..4ea7e5738a8f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { getSystemPath } from '@angular-devkit/core'; import type { CompilerOptions } from '@angular/compiler-cli'; import { AngularWebpackPlugin } from '@ngtools/webpack'; import { ScriptTarget } from 'typescript'; @@ -59,7 +58,7 @@ export function createIvyPlugin( const fileReplacements: Record = {}; if (buildOptions.fileReplacements) { for (const replacement of buildOptions.fileReplacements) { - fileReplacements[getSystemPath(replacement.replace)] = getSystemPath(replacement.with); + fileReplacements[replacement.replace] = replacement.with; } } From f6965fe4f8deb79ea026ef819a722d1b4913b267 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 31 Mar 2022 20:32:18 +0000 Subject: [PATCH 0261/1388] build: update angular --- package.json | 28 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++-- yarn.lock | 137 ++++++++---------- 4 files changed, 90 insertions(+), 111 deletions(-) diff --git a/package.json b/package.json index aada798c02cc..3db81b1c325b 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.9", - "@angular/cdk": "14.0.0-next.8", - "@angular/common": "14.0.0-next.9", - "@angular/compiler": "14.0.0-next.9", - "@angular/compiler-cli": "14.0.0-next.9", - "@angular/core": "14.0.0-next.9", + "@angular/animations": "14.0.0-next.10", + "@angular/cdk": "14.0.0-next.9", + "@angular/common": "14.0.0-next.10", + "@angular/compiler": "14.0.0-next.10", + "@angular/compiler-cli": "14.0.0-next.10", + "@angular/core": "14.0.0-next.10", "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030", - "@angular/forms": "14.0.0-next.9", - "@angular/localize": "14.0.0-next.9", - "@angular/material": "14.0.0-next.8", - "@angular/platform-browser": "14.0.0-next.9", - "@angular/platform-browser-dynamic": "14.0.0-next.9", - "@angular/platform-server": "14.0.0-next.9", - "@angular/router": "14.0.0-next.9", - "@angular/service-worker": "14.0.0-next.9", + "@angular/forms": "14.0.0-next.10", + "@angular/localize": "14.0.0-next.10", + "@angular/material": "14.0.0-next.9", + "@angular/platform-browser": "14.0.0-next.10", + "@angular/platform-browser-dynamic": "14.0.0-next.10", + "@angular/platform-server": "14.0.0-next.10", + "@angular/router": "14.0.0-next.10", + "@angular/service-worker": "14.0.0-next.10", "@babel/core": "7.17.8", "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index b5741818fb94..99e872e2fde4 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.9", - "@angular/compiler-cli": "14.0.0-next.9", + "@angular/compiler": "14.0.0-next.10", + "@angular/compiler-cli": "14.0.0-next.10", "typescript": "4.6.3", "webpack": "5.70.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d5bb4fbab282..a3f4029bc36f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7c2e2575baacb557c809c1f31f953c0015c25c12", - "@angular/cdk": "github:angular/cdk-builds#06a2ccc79f34e079261bc318e5c57394ba257cf4", - "@angular/common": "github:angular/common-builds#97c8c18fc7d930d22c3ef485e63da6ee418d331c", - "@angular/compiler": "github:angular/compiler-builds#02e5aabe3408a7ec2f1360ae34e65eb9af01dcad", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#44a28fb5f1a7e9e821d580622a41b7f4c1609476", - "@angular/core": "github:angular/core-builds#a39d7cd61096927b315b29b3722e398173f2087f", - "@angular/forms": "github:angular/forms-builds#8e114c0f746d99ec0012200d25a82afc4e891c9a", - "@angular/language-service": "github:angular/language-service-builds#19bb41d9854a6e77db141d5d30af7d89390a4d24", - "@angular/localize": "github:angular/localize-builds#cd3479c2340a21f2769e5de00e27e08fb425f981", - "@angular/material": "github:angular/material-builds#f42e5193ad37a76cdc13a09117a542f6f377bad2", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#94a9f087f9ab6354685b85dd995373a5f4bff1ee", - "@angular/platform-browser": "github:angular/platform-browser-builds#2fa1a543741431872268b2918e765fdeb670deb8", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e046167f04130407a038956dcf81e7dc3b70409e", - "@angular/platform-server": "github:angular/platform-server-builds#ec616a89961b09972926bfb35dd492be25d614f2", - "@angular/router": "github:angular/router-builds#41ac7fe0592a1018c98fe461fefb750fa864d5d2", - "@angular/service-worker": "github:angular/service-worker-builds#776070c8639173d8d97a8a5553ebaca28c6a0335" + "@angular/animations": "github:angular/animations-builds#373f9cd30778370abb5c645d2db728e9c1981425", + "@angular/cdk": "github:angular/cdk-builds#097b9d010d7f88fc8ba14a1d9e5d464f34c5fb3d", + "@angular/common": "github:angular/common-builds#93e64bb78c6866f7e3c9b0e1fde95330fafeea9d", + "@angular/compiler": "github:angular/compiler-builds#65fe70b56f8ae128074fa4012ad3f900ec064c5c", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8e7fefa764eccc3a1f7cf531e6b857fdac17fe7e", + "@angular/core": "github:angular/core-builds#43ec837bab7c40be824c5d1f8774035ea40d7cd4", + "@angular/forms": "github:angular/forms-builds#4a985b4ec3bc2a2b47cec83f0eaca61efc3d5de3", + "@angular/language-service": "github:angular/language-service-builds#18e453a0b91b4493c5ce5cc4cece2874ce7c6da5", + "@angular/localize": "github:angular/localize-builds#4fe8f54d0672dd589a655912787e7fd3944f7584", + "@angular/material": "github:angular/material-builds#e9017464601fb7063d09c6ffdc6d3f6ce333ecec", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9e678eab99e0b23cc4ca7ddc1bedc95d1d00e61f", + "@angular/platform-browser": "github:angular/platform-browser-builds#b838ad91aea53b484016a41c66924567c385dc40", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6b47a299502707886413fd66dca1a8a4eefff2da", + "@angular/platform-server": "github:angular/platform-server-builds#dfac626178077dd0bf5939a3d9c7435850cea5e5", + "@angular/router": "github:angular/router-builds#8f6be29c5873a6468fb8cd8a18f3a294b54a6219", + "@angular/service-worker": "github:angular/service-worker-builds#ad006f869b119ada69d77311e259df39ee1fc890" } } diff --git a/yarn.lock b/yarn.lock index 58ad72982eba..11e0846a2acd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -108,10 +108,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.9.tgz#07e056e6e79e6a5349431025e280a47463f74c26" - integrity sha512-ybuXtwASBqGUNS/oiodnC+/PhFTNB0claXwzG8E0jp/CZM22COhhCo9cSq+kSSPT+MdpdBlujMdTLSoZQhSUZw== +"@angular/animations@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.10.tgz#a34e2c7649b9ed13c65f2837cc7e3463a55f35d8" + integrity sha512-exVoJ9sPSo+1BAp4MnVJmH08GdxaJbeqWbPyaddgVjLXM9dWa4a6fdoXUYjf2eu9IeiV7Q/2buMuwZyya56ZoQ== dependencies: tslib "^2.3.0" @@ -123,26 +123,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.8": - version "14.0.0-next.8" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.8.tgz#bb65e76135f5c15ab1d6fba17ac3cc10b80beb46" - integrity sha512-JyjRaMHK8F0NUTEuya1erWe03OzHprBN/u/Kc74pMuMUViZ33+M/voipb5S0VUUPvzsADYsQVwsp6o8DrMGpqg== +"@angular/cdk@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.9.tgz#8b1c8fda7e369f9c046dfeb09b03e2a7d04d1bab" + integrity sha512-zKi82Vcyl4ZcQt58c2cZdnKsdsFqBTEafHVxdk45HQJ3iWYaaJvV8OE/Ccut0IE4pRz+iruPdk3MMwYTonIwxw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.9.tgz#b641f9e3712856392e344d4dbc912d815553fb46" - integrity sha512-mRFr9q6RbXDrfae26A+V8eVJKatEI8zY7KlBAZ/Zwn5tcq53ikZ8z+jzJwDjjwKC82f98t1qm98Ep78dor4Xqg== +"@angular/common@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.10.tgz#f88cedaac689e63ada5704e9f9433073fdf7bcce" + integrity sha512-Ff7UT3YguAxLs+3OvLDjcmuQ+46Z+/z8xgYEVwNtiovjaWyXOKbG208b3YLXQ2wfI8pOKktKpAk+AKX1hM6DiQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.9.tgz#42ccfdb8e0af9e6c8d400751b9c83e4e1bc682a3" - integrity sha512-3zNCDdYAWBVWSPK1QTtiXL4rFfT05WzMUJgY+7Ju3FOlVZjuQPX0l6H7SUINcIIZZFklnNB9tLOwlLKtC4oUTA== +"@angular/compiler-cli@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.10.tgz#be4668c52fccd146ca86931d8d05f9101abdcdb4" + integrity sha512-NfziOfWWZGpryUTAENQAR6TYys0f2WyDnR9TLdsPSR6tJUUuCDLN3v2PMGbV70SKZBLKeueeR8WvJBzDcxeJzA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -155,17 +155,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.9.tgz#962f9468bd07ac882483c0bc00ea6934758164a1" - integrity sha512-EgwkGqnAhvFgw6RgY9yLGNoGhnPoAxhf17iefCjr/J80GfZA4GnK2Gh4F3F0JIe696YKRbhByPwVCCsMrEz3Lw== +"@angular/compiler@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.10.tgz#0fdaa48c1855a0f51500d18dbe9f27c4abd6b935" + integrity sha512-E98jsXQEp9lVBgGQ1GmnOaxx5tmfe1lJ29tdSU3KuAEVema4P748OusRaVELTG+NBbRsxRh16XrMasd7ZxjW+Q== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.9.tgz#1105601ae4935d219a83a603bb0c2c9907de1c17" - integrity sha512-3x9kwG3g1EDfXI5UaA0i5kts1KBXgYdLCOy3nOvBOvLSuFxmarUjWaZolutSTew+No3+O3Avv3nZocU/wnsCVQ== +"@angular/core@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.10.tgz#a4eb213c5c8682bf913a47fa4d44324d4304a6fe" + integrity sha512-rp3eZgH8S5Jh6h2deaJ2LnC1MlRnz1d081QoK7OAfaAyKB/GTg8PrmZGLiixmtD1kQi2idkO3UtqyMdk9YYPag== dependencies: tslib "^2.3.0" @@ -216,63 +216,63 @@ yargs "^17.0.0" zone.js "^0.11.4" -"@angular/forms@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.9.tgz#1c7502ad1250eb38563915b133ba2b20cca25696" - integrity sha512-000n4DUjgKbsHbX7xj0v/KPt6R7ENKps1fVbtuv3etidFClj5PqSbTy4TGKRrMhqhopJ847v/xrmfo6BIA/A6w== +"@angular/forms@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.10.tgz#5c7556c916a7186e660bd0afbb47c030e6898c65" + integrity sha512-uP9bEvjl+3yR6knVpHi8H43PugvaeOvmLLxDKW4EdCcVXR9+p6Q1LTMZmkEMTDJfkBmSwg+NeBiE7juOz1Wzeg== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.9.tgz#28aa02f2c590cf6589cbfeec097f8fe695e85cf8" - integrity sha512-5M/iXnGeha+AJYnZxzpvls557qHH23I8wLlLgIp87pu6cH74FvJrjpt7LP3ADLPZtvi51Vj1jlzDAxxSSYm9zQ== +"@angular/localize@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.10.tgz#c948d936af2f02e21c2df28977aae10e1657ab3b" + integrity sha512-ZeUYoywGR4ET3V3Jp5/vVuy2Nhdsh6B1UcTTfjwiFR4nuXMzp4ofV2kGCGRJfTMEDRh9t/4+msFqSBgdD5upXA== dependencies: - "@babel/core" "7.17.5" + "@babel/core" "7.17.8" glob "7.2.0" yargs "^17.2.1" -"@angular/material@14.0.0-next.8": - version "14.0.0-next.8" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.8.tgz#36ff377c3d02f8da73cec1815ca013402b7cb149" - integrity sha512-Z9w7Vv40ZLVc/UGtDL56vEYhpierNt5kgVyGi6Qa6RbRLkil3XlKATK8QZkEilfzj33mQ4DUXB+8Ya7Cz7JR0A== +"@angular/material@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.9.tgz#3fd19b3ee349346e552409054f62b08eb0eefcbc" + integrity sha512-SHerJvgW0dQHhcxrPfVIu6n66SfWqjNZSnWEOWkX6Hb9+ud3zmgF2jJSpeMsYLjd9Ts5P9KD8LX3UJShBOqlvQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.9.tgz#8a7df03be1cd4d4965ac8c809906c325928f18b9" - integrity sha512-GHwSPeBdwcE7FLFOLx97uuspi/0TVNUSEkw0rUPuvj/de2vzCdNlEpyTxC7f2fla2jtpgoePnLk7FT+jsYmHxA== +"@angular/platform-browser-dynamic@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.10.tgz#105ac21aa09b8643e02cf2bab0ac5e1a59342186" + integrity sha512-Xl2Vk4/8iPCW0x1+z2TVYpeOlxeSTGGl98A1LDl+LBdrGNzg0KA9y4FWZFoO2a26HMAV0w1mb+yk9HVq7vJo2A== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.9.tgz#908332fe5717db3fc1e9cf1cffcbc7b8f0136953" - integrity sha512-sKEwdx6VIQBE8MOnBlBB+zWLdfEFeTbIAd6Z1SV9yaPw7uZzuf+u/vQXcVh3o1+D5hm+NplOFkuC8dsHVBJSwQ== +"@angular/platform-browser@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.10.tgz#67d41aab797d6474260490ea90b6c295ec836534" + integrity sha512-woFxLhvSbKasuED4qEsD2+ZsSximtymcK15tpCI82zNkM+gVhSEa+7PYCf/6tVFOtim1BVohW7QUG0p+dapBiA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.9.tgz#b590fb1e9ff7e0a72cbca5eabc80730488542bd2" - integrity sha512-0HyOLu/duk3atAD1rfBrfLSGyKjts2QG2fNXsooTYvVM6g4z2zYMI0/EcTqHJWCvTzd7EtOyjy/H8URt3AvkKA== +"@angular/platform-server@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.10.tgz#2fe7a9bab01647e6811a52d121fc45481cc3a569" + integrity sha512-xFMEoeg6mJ5tuvcTmj4hrqkTBSyR3JzhtqDYY2RimmbDPfJ1LJgxb+mJNicfW4fpTejDmHwDlpjqleUoJmLeCA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.9.tgz#13f1f713c960724fac059e8d28a5b38a68cbd991" - integrity sha512-EFiunFBJttivcgqAvnzd8e6Saqxov0YCzLmq92JXVDHNr4buh70K1i7v+sr9oxTYHfRichbTVTBqem0OYgF6SQ== +"@angular/router@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.10.tgz#c13bebd3cdce7edebbfe233fd09f07da5c190ed8" + integrity sha512-B6htXZpGeCCKPSn7s98pq8qRJWH0hw/RQBKep54sBYIuYybu2joHJXQ32j0HQ2gQ4zHGzTiIazg1uhJJfGnPng== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.9.tgz#bb993ecfc0aa3a245db3153a2b174659c7b33335" - integrity sha512-yS5apNBZnArlPJlW75u73RxfTYDLIgq356swaASBND1vRA8xfwBESb05gtN+Wc45jFDXMGHi1WNDEIFzeK7/cA== +"@angular/service-worker@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.10.tgz#163f549c43d675e2bbe3ee6c4537c69a189ea00d" + integrity sha512-CwwSN+Cvvci26fvyKFy+TJrt8UvaPpkeROYG4sZHqfRi6DoNTnFmKJ/RH+Za8KsfY1CZd+lJYKlH0BNK+s7KrA== dependencies: tslib "^2.3.0" @@ -293,27 +293,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@7.17.5": - version "7.17.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" - integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.3" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - "@babel/core@7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" @@ -563,7 +542,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.2", "@babel/helpers@^7.17.7", "@babel/helpers@^7.17.8": +"@babel/helpers@^7.17.7", "@babel/helpers@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== From 674d9687db8e899286704a950555dd33b47e03f7 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 31 Mar 2022 15:24:45 -0700 Subject: [PATCH 0262/1388] docs: release notes for the v12.2.17 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b577deaaa037..a074440aaded 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -141,6 +141,34 @@ Alan Agius and gauravsoni119 + + +# 12.2.17 (2022-03-31) + +### @angular-devkit/architect-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [ccb0f95f3](https://github.com/angular/angular-cli/commit/ccb0f95f33ff0d23a0ff9b237d0d78fc4c864787) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [abcdf4df2](https://github.com/angular/angular-cli/commit/abcdf4df20c29907ee28a38842942464addcf259) | fix | update `minimist` to `1.2.6` | + +### @angular-devkit/benchmark + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [2656a330e](https://github.com/angular/angular-cli/commit/2656a330eb365f37c3b6f8894436b4449d157e63) | fix | update `minimist` to `1.2.6` | + +## Special Thanks + +Alan Agius + + + # 11.2.19 (2022-03-30) From 0160f1a99a2990860e7c6adccc99521d0d307c46 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 1 Apr 2022 06:29:49 +0000 Subject: [PATCH 0263/1388] build: update github/codeql-action action to v2 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index c93f1e649c79..709a80309280 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@883476649888a9e8e219d5b2e6b789dc024f690c # tag=v1.1.5 + uses: github/codeql-action/upload-sarif@28eead240834b314f7def40f6fcba65d100d99b1 # tag=v2.1.6 with: sarif_file: results.sarif From 3d77846dd7e07d2f5a1a2a84c8ed359ab675a603 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 1 Apr 2022 14:25:14 +0200 Subject: [PATCH 0264/1388] refactor(@angular/cli): create a `memoize` decorator With this change we clean up repeated caching code by creating a `memoize` decorator that can be used on get accessors and methods. --- .../architect-command-module.ts | 2 + .../cli/src/command-builder/command-module.ts | 13 +- .../schematics-command-module.ts | 36 +--- packages/angular/cli/src/commands/new/cli.ts | 10 +- packages/angular/cli/src/utilities/memoize.ts | 84 +++++++++ .../angular/cli/src/utilities/memoize_spec.ts | 160 ++++++++++++++++++ .../cli/src/utilities/package-manager.ts | 5 +- tsconfig.json | 1 + 8 files changed, 269 insertions(+), 42 deletions(-) create mode 100644 packages/angular/cli/src/utilities/memoize.ts create mode 100644 packages/angular/cli/src/utilities/memoize_spec.ts diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index 0678abf2a564..db6aa449fc8a 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -8,6 +8,7 @@ import { Argv } from 'yargs'; import { getProjectByCwd } from '../utilities/config'; +import { memoize } from '../utilities/memoize'; import { ArchitectBaseCommandModule } from './architect-base-command-module'; import { CommandModuleError, @@ -110,6 +111,7 @@ export abstract class ArchitectCommandModule return this.commandName; } + @memoize private getProjectNamesByTarget(target: string): string[] | undefined { const workspace = this.getWorkspaceOrThrow(); diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index d5136779065c..2d9ec6193715 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -20,6 +20,7 @@ import { import { Parser as yargsParser } from 'yargs/helpers'; import { createAnalytics } from '../analytics/analytics'; import { AngularWorkspace } from '../utilities/config'; +import { memoize } from '../utilities/memoize'; import { PackageManagerUtils } from '../utilities/package-manager'; import { Option } from './utilities/json-schema'; @@ -169,17 +170,13 @@ export abstract class CommandModule implements CommandModuleI }); } - private _analytics: analytics.Analytics | undefined; - protected async getAnalytics(): Promise { - if (this._analytics) { - return this._analytics; - } - - return (this._analytics = await createAnalytics( + @memoize + protected getAnalytics(): Promise { + return createAnalytics( !!this.context.workspace, // Don't prompt for `ng update` and `ng analytics` commands. ['update', 'analytics'].includes(this.commandName), - )); + ); } /** diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 8129e0b70667..986edbdf8a5d 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -16,6 +16,7 @@ import { import type { CheckboxQuestion, Question } from 'inquirer'; import { Argv } from 'yargs'; import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; +import { memoize } from '../utilities/memoize'; import { isTTY } from '../utilities/tty'; import { CommandModule, @@ -90,32 +91,19 @@ export abstract class SchematicsCommandModule return parseJsonSchemaToOptions(workflow.registry, schemaJson); } - private _workflowForBuilder = new Map(); + @memoize protected getOrCreateWorkflowForBuilder(collectionName: string): NodeWorkflow { - const cached = this._workflowForBuilder.get(collectionName); - if (cached) { - return cached; - } - - const workflow = new NodeWorkflow(this.context.root, { + return new NodeWorkflow(this.context.root, { resolvePaths: this.getResolvePaths(collectionName), engineHostCreator: (options) => new SchematicEngineHost(options.resolvePaths), }); - - this._workflowForBuilder.set(collectionName, workflow); - - return workflow; } - private _workflowForExecution: NodeWorkflow | undefined; + @memoize protected async getOrCreateWorkflowForExecution( collectionName: string, options: SchematicsExecutionOptions, ): Promise { - if (this._workflowForExecution) { - return this._workflowForExecution; - } - const { logger, root, packageManager } = this.context; const { force, dryRun, packageRegistry } = options; @@ -241,15 +229,11 @@ export abstract class SchematicsCommandModule }); } - return (this._workflowForExecution = workflow); + return workflow; } - private _schematicCollections: Set | undefined; + @memoize protected async getSchematicCollections(): Promise> { - if (this._schematicCollections) { - return this._schematicCollections; - } - const getSchematicCollections = ( configSection: Record | undefined, ): Set | undefined => { @@ -273,8 +257,6 @@ export abstract class SchematicsCommandModule if (project) { const value = getSchematicCollections(workspace.getProjectCli(project)); if (value) { - this._schematicCollections = value; - return value; } } @@ -284,14 +266,10 @@ export abstract class SchematicsCommandModule getSchematicCollections(workspace?.getCli()) ?? getSchematicCollections(globalConfiguration?.getCli()); if (value) { - this._schematicCollections = value; - return value; } - this._schematicCollections = new Set([DEFAULT_SCHEMATICS_COLLECTION]); - - return this._schematicCollections; + return new Set([DEFAULT_SCHEMATICS_COLLECTION]); } protected parseSchematicInfo( diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index 70b0c12e88a0..d93b701ccd49 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -63,10 +63,14 @@ export class NewCommandModule async run(options: Options & OtherOptions): Promise { // Register the version of the CLI in the registry. const collectionName = options.collection ?? (await this.getCollectionFromConfig()); - const workflow = await this.getOrCreateWorkflowForExecution(collectionName, options); - workflow.registry.addSmartDefaultProvider('ng-cli-version', () => VERSION.full); - const { dryRun, force, interactive, defaults, collection, ...schematicOptions } = options; + const workflow = await this.getOrCreateWorkflowForExecution(collectionName, { + dryRun, + force, + interactive, + defaults, + }); + workflow.registry.addSmartDefaultProvider('ng-cli-version', () => VERSION.full); // Compatibility check for NPM 7 if ( diff --git a/packages/angular/cli/src/utilities/memoize.ts b/packages/angular/cli/src/utilities/memoize.ts new file mode 100644 index 000000000000..6994dbf5e9c1 --- /dev/null +++ b/packages/angular/cli/src/utilities/memoize.ts @@ -0,0 +1,84 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/** + * A decorator that memoizes methods and getters. + * + * **Note**: Be cautious where and how to use this decorator as the size of the cache will grow unbounded. + * + * @see https://en.wikipedia.org/wiki/Memoization + */ +export function memoize( + target: Object, + propertyKey: string | symbol, + descriptor: TypedPropertyDescriptor, +): TypedPropertyDescriptor { + const descriptorPropertyName = descriptor.get ? 'get' : 'value'; + const originalMethod: unknown = descriptor[descriptorPropertyName]; + + if (typeof originalMethod !== 'function') { + throw new Error('Memoize decorator can only be used on methods or get accessors.'); + } + + const cache = new Map(); + + return { + ...descriptor, + [descriptorPropertyName]: function (this: unknown, ...args: unknown[]) { + for (const arg of args) { + if (!isJSONSerializable(arg)) { + throw new Error( + `Argument ${isNonPrimitive(arg) ? arg.toString() : arg} is JSON serializable.`, + ); + } + } + + const key = JSON.stringify(args); + if (cache.has(key)) { + return cache.get(key); + } + + const result = originalMethod.apply(this, args); + cache.set(key, result); + + return result; + }, + }; +} + +/** Method to check if value is a non primitive. */ +function isNonPrimitive(value: unknown): value is object | Function | symbol { + return ( + (value !== null && typeof value === 'object') || + typeof value === 'function' || + typeof value === 'symbol' + ); +} + +/** Method to check if the values are JSON serializable */ +function isJSONSerializable(value: unknown): boolean { + if (!isNonPrimitive(value)) { + // Can be seralized since it's a primitive. + return true; + } + + let nestedValues: unknown[] | undefined; + if (Array.isArray(value)) { + // It's an array, check each item. + nestedValues = value; + } else if (Object.prototype.toString.call(value) === '[object Object]') { + // It's a plain object, check each value. + nestedValues = Object.values(value); + } + + if (!nestedValues || nestedValues.some((v) => !isJSONSerializable(v))) { + return false; + } + + return true; +} diff --git a/packages/angular/cli/src/utilities/memoize_spec.ts b/packages/angular/cli/src/utilities/memoize_spec.ts new file mode 100644 index 000000000000..c1d06fdf4c4e --- /dev/null +++ b/packages/angular/cli/src/utilities/memoize_spec.ts @@ -0,0 +1,160 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { memoize } from './memoize'; + +describe('memoize', () => { + class Dummy { + @memoize + get random(): number { + return Math.random(); + } + + @memoize + getRandom(_parameter?: unknown): number { + return Math.random(); + } + + @memoize + async getRandomAsync(): Promise { + return Math.random(); + } + } + + it('should call method once', () => { + const dummy = new Dummy(); + const val1 = dummy.getRandom(); + const val2 = dummy.getRandom(); + + // Should return same value since memoized + expect(val1).toBe(val2); + }); + + it('should call method once (async)', async () => { + const dummy = new Dummy(); + const [val1, val2] = await Promise.all([dummy.getRandomAsync(), dummy.getRandomAsync()]); + + // Should return same value since memoized + expect(val1).toBe(val2); + }); + + it('should call getter once', () => { + const dummy = new Dummy(); + const val1 = dummy.random; + const val2 = dummy.random; + + // Should return same value since memoized + expect(val2).toBe(val1); + }); + + it('should call method when parameter changes', () => { + const dummy = new Dummy(); + const val1 = dummy.getRandom(1); + const val2 = dummy.getRandom(2); + const val3 = dummy.getRandom(1); + const val4 = dummy.getRandom(2); + + // Should return same value since memoized + expect(val1).not.toBe(val2); + expect(val1).toBe(val3); + expect(val2).toBe(val4); + }); + + it('should error when used on non getters and methods', () => { + const test = () => { + class DummyError { + @memoize + set random(_value: number) {} + } + + return new DummyError(); + }; + + expect(test).toThrowError('Memoize decorator can only be used on methods or get accessors.'); + }); + + describe('validate method arguments', () => { + it('should error when using Map', () => { + const test = () => new Dummy().getRandom(new Map()); + + expect(test).toThrowError(/Argument \[object Map\] is JSON serializable./); + }); + + it('should error when using Symbol', () => { + const test = () => new Dummy().getRandom(Symbol('')); + + expect(test).toThrowError(/Argument Symbol\(\) is JSON serializable/); + }); + + it('should error when using Function', () => { + const test = () => new Dummy().getRandom(function () {}); + + expect(test).toThrowError(/Argument function \(\) { } is JSON serializable/); + }); + + it('should error when using Map in an array', () => { + const test = () => new Dummy().getRandom([new Map(), true]); + + expect(test).toThrowError(/Argument \[object Map\],true is JSON serializable/); + }); + + it('should error when using Map in an Object', () => { + const test = () => new Dummy().getRandom({ foo: true, prop: new Map() }); + + expect(test).toThrowError(/Argument \[object Object\] is JSON serializable/); + }); + + it('should error when using Function in an Object', () => { + const test = () => new Dummy().getRandom({ foo: true, prop: function () {} }); + + expect(test).toThrowError(/Argument \[object Object\] is JSON serializable/); + }); + + it('should not error when using primitive values in an array', () => { + const test = () => new Dummy().getRandom([1, true, ['foo']]); + + expect(test).not.toThrow(); + }); + + it('should not error when using primitive values in an Object', () => { + const test = () => new Dummy().getRandom({ foo: true, prop: [1, true] }); + + expect(test).not.toThrow(); + }); + + it('should not error when using Boolean', () => { + const test = () => new Dummy().getRandom(true); + + expect(test).not.toThrow(); + }); + + it('should not error when using String', () => { + const test = () => new Dummy().getRandom('foo'); + + expect(test).not.toThrow(); + }); + + it('should not error when using Number', () => { + const test = () => new Dummy().getRandom(1); + + expect(test).not.toThrow(); + }); + + it('should not error when using null', () => { + const test = () => new Dummy().getRandom(null); + + expect(test).not.toThrow(); + }); + + it('should not error when using undefined', () => { + const test = () => new Dummy().getRandom(undefined); + + expect(test).not.toThrow(); + }); + }); +}); diff --git a/packages/angular/cli/src/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts index a2b8096d5e49..fddcfb2f8601 100644 --- a/packages/angular/cli/src/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -14,6 +14,7 @@ import { join } from 'path'; import { satisfies, valid } from 'semver'; import { PackageManager } from '../../lib/config/workspace-schema'; import { AngularWorkspace, getProjectByCwd } from './config'; +import { memoize } from './memoize'; import { Spinner } from './spinner'; interface PackageManagerOptions { @@ -218,7 +219,7 @@ export class PackageManagerUtils { }); } - // TODO(alan-agius4): use the memoize decorator when it's merged. + @memoize private getVersion(name: PackageManager): string | undefined { try { return execSync(`${name} --version`, { @@ -236,7 +237,7 @@ export class PackageManagerUtils { } } - // TODO(alan-agius4): use the memoize decorator when it's merged. + @memoize private getName(): PackageManager { const packageManager = this.getConfiguredPackageManager(); if (packageManager) { diff --git a/tsconfig.json b/tsconfig.json index 222e9038ccb6..3c19b0e22cfb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "module": "commonjs", "moduleResolution": "node", "noEmitOnError": true, + "experimentalDecorators": true, "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, "noUnusedParameters": false, From 7db433bb066cc077d0c1cff7668d557c1c17160f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 1 Apr 2022 15:20:24 +0200 Subject: [PATCH 0265/1388] fix(@schematics/angular): provide actionable error message when routing declaration cannot be found Due to incorrect castings previously the code would crash when the module doesn't contain an routing module with the following error: ``` Cannot read property 'properties' of undefined ``` Closes #21397 --- .../schematics/angular/utility/ast-utils.ts | 63 ++++++++++--------- .../angular/utility/ast-utils_spec.ts | 17 ++++- .../schematics/angular/utility/find-module.ts | 14 ++--- 3 files changed, 54 insertions(+), 40 deletions(-) diff --git a/packages/schematics/angular/utility/ast-utils.ts b/packages/schematics/angular/utility/ast-utils.ts index cec6ab579cd6..56bde71bc187 100644 --- a/packages/schematics/angular/utility/ast-utils.ts +++ b/packages/schematics/angular/utility/ast-utils.ts @@ -189,7 +189,6 @@ export function getSourceNodes(sourceFile: ts.SourceFile): ts.Node[] { export function findNode(node: ts.Node, kind: ts.SyntaxKind, text: string): ts.Node | null { if (node.kind === kind && node.getText() === text) { - // throw new Error(node.getText()); return node; } @@ -367,29 +366,28 @@ export function addSymbolToNgModuleMetadata( importPath: string | null = null, ): Change[] { const nodes = getDecoratorMetadata(source, 'NgModule', '@angular/core'); - let node: any = nodes[0]; // eslint-disable-line @typescript-eslint/no-explicit-any + const node = nodes[0]; // Find the decorator declaration. - if (!node) { + if (!node || !ts.isObjectLiteralExpression(node)) { return []; } // Get all the children property assignment of object literals. - const matchingProperties = getMetadataField(node as ts.ObjectLiteralExpression, metadataField); + const matchingProperties = getMetadataField(node, metadataField); if (matchingProperties.length == 0) { // We haven't found the field in the metadata declaration. Insert a new field. - const expr = node as ts.ObjectLiteralExpression; let position: number; let toInsert: string; - if (expr.properties.length == 0) { - position = expr.getEnd() - 1; + if (node.properties.length == 0) { + position = node.getEnd() - 1; toInsert = `\n ${metadataField}: [\n${tags.indentBy(4)`${symbolName}`}\n ]\n`; } else { - node = expr.properties[expr.properties.length - 1]; - position = node.getEnd(); + const childNode = node.properties[node.properties.length - 1]; + position = childNode.getEnd(); // Get the indentation of the last element, if any. - const text = node.getFullText(source); + const text = childNode.getFullText(source); const matches = text.match(/^(\r?\n)(\s*)/); if (matches) { toInsert = @@ -408,40 +406,40 @@ export function addSymbolToNgModuleMetadata( return [new InsertChange(ngModulePath, position, toInsert)]; } } - const assignment = matchingProperties[0] as ts.PropertyAssignment; + const assignment = matchingProperties[0]; // If it's not an array, nothing we can do really. - if (assignment.initializer.kind !== ts.SyntaxKind.ArrayLiteralExpression) { + if ( + !ts.isPropertyAssignment(assignment) || + !ts.isArrayLiteralExpression(assignment.initializer) + ) { return []; } - const arrLiteral = assignment.initializer as ts.ArrayLiteralExpression; - if (arrLiteral.elements.length == 0) { - // Forward the property. - node = arrLiteral; - } else { - node = arrLiteral.elements; - } + let expresssion: ts.Expression | ts.ArrayLiteralExpression; + const assignmentInit = assignment.initializer; + const elements = assignmentInit.elements; - if (Array.isArray(node)) { - const nodeArray = (node as {}) as Array; - const symbolsArray = nodeArray.map((node) => tags.oneLine`${node.getText()}`); + if (elements.length) { + const symbolsArray = elements.map((node) => tags.oneLine`${node.getText()}`); if (symbolsArray.includes(tags.oneLine`${symbolName}`)) { return []; } - node = node[node.length - 1]; + expresssion = elements[elements.length - 1]; + } else { + expresssion = assignmentInit; } let toInsert: string; - let position = node.getEnd(); - if (node.kind == ts.SyntaxKind.ArrayLiteralExpression) { + let position = expresssion.getEnd(); + if (ts.isArrayLiteralExpression(expresssion)) { // We found the field but it's empty. Insert it just before the `]`. position--; toInsert = `\n${tags.indentBy(4)`${symbolName}`}\n `; } else { // Get the indentation of the last element, if any. - const text = node.getFullText(source); + const text = expresssion.getFullText(source); const matches = text.match(/^(\r?\n)(\s*)/); if (matches) { toInsert = `,${matches[1]}${tags.indentBy(matches[2].length)`${symbolName}`}`; @@ -449,6 +447,7 @@ export function addSymbolToNgModuleMetadata( toInsert = `, ${symbolName}`; } } + if (importPath !== null) { return [ new InsertChange(ngModulePath, position, toInsert), @@ -604,9 +603,12 @@ export function getEnvironmentExportName(source: ts.SourceFile): string | null { */ export function getRouterModuleDeclaration(source: ts.SourceFile): ts.Expression | undefined { const result = getDecoratorMetadata(source, 'NgModule', '@angular/core'); - const node = result[0] as ts.ObjectLiteralExpression; - const matchingProperties = getMetadataField(node, 'imports'); + const node = result[0]; + if (!node || !ts.isObjectLiteralExpression(node)) { + return undefined; + } + const matchingProperties = getMetadataField(node, 'imports'); if (!matchingProperties) { return; } @@ -634,7 +636,10 @@ export function addRouteDeclarationToModule( ): Change { const routerModuleExpr = getRouterModuleDeclaration(source); if (!routerModuleExpr) { - throw new Error(`Couldn't find a route declaration in ${fileToAdd}.`); + throw new Error( + `Couldn't find a route declaration in ${fileToAdd}.\n` + + `Use the '--module' option to specify a different routing module.`, + ); } const scopeConfigMethodArgs = (routerModuleExpr as ts.CallExpression).arguments; if (!scopeConfigMethodArgs.length) { diff --git a/packages/schematics/angular/utility/ast-utils_spec.ts b/packages/schematics/angular/utility/ast-utils_spec.ts index 54ed6d6d936d..fd305aa355b5 100644 --- a/packages/schematics/angular/utility/ast-utils_spec.ts +++ b/packages/schematics/angular/utility/ast-utils_spec.ts @@ -260,7 +260,7 @@ describe('ast utils', () => { const elements = (arrayNode.pop() as ts.ArrayLiteralExpression).elements; const change = insertAfterLastOccurrence( - (elements as unknown) as ts.Node[], + elements as unknown as ts.Node[], `, 'bar'`, filePath, elements.pos, @@ -281,7 +281,7 @@ describe('ast utils', () => { const elements = (arrayNode.pop() as ts.ArrayLiteralExpression).elements; const change = insertAfterLastOccurrence( - (elements as unknown) as ts.Node[], + elements as unknown as ts.Node[], `'bar'`, filePath, elements.pos, @@ -312,7 +312,7 @@ describe('ast utils', () => { const source = getTsSource(modulePath, moduleContent); const change = () => addRouteDeclarationToModule(source, './src/app', ''); - expect(change).toThrowError(`Couldn't find a route declaration in ./src/app.`); + expect(change).toThrowError(/Couldn't find a route declaration in \.\/src\/app/); }); it(`should throw an error when router module doesn't have arguments`, () => { @@ -632,6 +632,17 @@ describe('ast utils', () => { /RouterModule\.forRoot\(\[\r?\n?\s*{ path: 'foo', component: FooComponent },\r?\n?\s*{ path: 'bar', component: BarComponent }\r?\n?\s*\]\)/, ); }); + + it('should error if sourcefile is empty', () => { + const change = () => + addRouteDeclarationToModule( + getTsSource(modulePath, ''), + './src/app', + `{ path: 'foo', component: FooComponent }`, + ); + + expect(change).toThrowError(/Couldn't find a route declaration in \.\/src\/app/); + }); }); describe('findNodes', () => { diff --git a/packages/schematics/angular/utility/find-module.ts b/packages/schematics/angular/utility/find-module.ts index 3c87085f5452..a420f07eb052 100644 --- a/packages/schematics/angular/utility/find-module.ts +++ b/packages/schematics/angular/utility/find-module.ts @@ -54,11 +54,9 @@ export function findModuleFromOptions(host: Tree, options: ModuleOptions): Path const candidatesDirs = [...candidateSet].sort((a, b) => b.length - a.length); for (const c of candidatesDirs) { - const candidateFiles = [ - '', - `${moduleBaseName}.ts`, - `${moduleBaseName}${moduleExt}`, - ].map((x) => join(c, x)); + const candidateFiles = ['', `${moduleBaseName}.ts`, `${moduleBaseName}${moduleExt}`].map( + (x) => join(c, x), + ); for (const sc of candidateFiles) { if (host.exists(sc)) { @@ -96,7 +94,7 @@ export function findModule( return join(dir.path, filteredMatches[0]); } else if (filteredMatches.length > 1) { throw new Error( - 'More than one module matches. Use the skip-import option to skip importing ' + + `More than one module matches. Use the '--skip-import' option to skip importing ` + 'the component into the closest module or use the module option to specify a module.', ); } @@ -107,8 +105,8 @@ export function findModule( const errorMsg = foundRoutingModule ? 'Could not find a non Routing NgModule.' + `\nModules with suffix '${routingModuleExt}' are strictly reserved for routing.` + - '\nUse the skip-import option to skip importing in NgModule.' - : 'Could not find an NgModule. Use the skip-import option to skip importing in NgModule.'; + `\nUse the '--skip-import' option to skip importing in NgModule.` + : `Could not find an NgModule. Use the '--skip-import' option to skip importing in NgModule.`; throw new Error(errorMsg); } From 5ebfe805aef2fab1b100e2906adc8a2f7aa85b03 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 4 Apr 2022 06:36:26 +0000 Subject: [PATCH 0266/1388] build: update all non-major dependencies --- package.json | 8 +- .../angular_devkit/build_angular/package.json | 8 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 254 ++++++++++-------- 5 files changed, 152 insertions(+), 122 deletions(-) diff --git a/package.json b/package.json index 3db81b1c325b..ef3864a887ea 100644 --- a/package.json +++ b/package.json @@ -136,8 +136,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.29", - "esbuild-wasm": "0.14.29", + "esbuild": "0.14.31", + "esbuild-wasm": "0.14.31", "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -192,7 +192,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.10", + "sass": "1.49.11", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.5", @@ -213,7 +213,7 @@ "typescript": "4.6.3", "verdaccio": "5.8.0", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.70.0", + "webpack": "5.71.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2b04c2547c78..bb8c0d29e1b1 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.29", + "esbuild-wasm": "0.14.31", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.2", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.10", + "sass": "1.49.11", "sass-loader": "12.6.0", "semver": "7.3.5", "source-map-loader": "3.0.1", @@ -63,14 +63,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.70.0", + "webpack": "5.71.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.7.4", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.29" + "esbuild": "0.14.31" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 33cec43e3232..359eb791f574 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.70.0" + "webpack": "5.71.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 99e872e2fde4..26d35820bda4 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.10", "@angular/compiler-cli": "14.0.0-next.10", "typescript": "4.6.3", - "webpack": "5.70.0" + "webpack": "5.71.0" } } diff --git a/yarn.lock b/yarn.lock index 11e0846a2acd..e0bb27b83427 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4516,10 +4516,10 @@ esbuild-android-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" integrity sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== -esbuild-android-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.29.tgz#c0960c84c9b832bade20831515e89d32549d4769" - integrity sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw== +esbuild-android-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.31.tgz#4b7dfbbeee62b3495ba78220b85fb590eb68d5bf" + integrity sha512-MYkuJ91w07nGmr4EouejOZK2j/f5TCnsKxY8vRr2+wpKKfHD1LTJK28VbZa+y1+AL7v1V9G98ezTUwsV3CmXNw== esbuild-android-arm64@0.14.27: version "0.14.27" @@ -4531,10 +4531,10 @@ esbuild-android-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" integrity sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== -esbuild-android-arm64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.29.tgz#8eceb3abe5abde5489d6a5cbe6a7c1044f71115f" - integrity sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg== +esbuild-android-arm64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.31.tgz#24c3d693924e044fb0d23206c3e627502b10b930" + integrity sha512-0rkH/35s7ZVcsw6nS0IAkR0dekSbjZGWdlOAf3jV0lGoPqqw0x6/TmaV9w7DQgUERTH1ApmPlpAMU4kVkCq9Jg== esbuild-darwin-64@0.14.27: version "0.14.27" @@ -4546,10 +4546,10 @@ esbuild-darwin-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" integrity sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== -esbuild-darwin-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.29.tgz#26f3f14102310ecb8f2d9351c5b7a47a60d2cc8a" - integrity sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA== +esbuild-darwin-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.31.tgz#285fbdb6dc74d4410f43dee59e6a14ebff82a9d7" + integrity sha512-kP6xPZHxtJa36Hb0jC05L3VzQSZBW2f3bpnQS20czXTRGEmM2GDiYpGdI5g2QYaw6vC4PYXjnigq8usd9g9jnQ== esbuild-darwin-arm64@0.14.27: version "0.14.27" @@ -4561,10 +4561,10 @@ esbuild-darwin-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" integrity sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== -esbuild-darwin-arm64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.29.tgz#6d2d89dfd937992649239711ed5b86e51b13bd89" - integrity sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw== +esbuild-darwin-arm64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.31.tgz#b39c471a8134ce2c7811eb96fab9c500b256261c" + integrity sha512-1ZMog4hkNsdBGtDDtsftUqX6S9N52gEx4vX5aVehsSptgoBFIar1XrPiBTQty7YNH+bJasTpSVaZQgElCVvPKQ== esbuild-freebsd-64@0.14.27: version "0.14.27" @@ -4576,10 +4576,10 @@ esbuild-freebsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" integrity sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== -esbuild-freebsd-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.29.tgz#2cb41a0765d0040f0838280a213c81bbe62d6394" - integrity sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg== +esbuild-freebsd-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.31.tgz#7ca700ef60ae12154bae63094ad41b21c6ae1a23" + integrity sha512-Zo0BYj7QpVFWoUpkv6Ng0RO2eJ4zk/WDaHMO88+jr5HuYmxsOre0imgwaZVPquTuJnCvL1G48BFucJ3tFflSeQ== esbuild-freebsd-arm64@0.14.27: version "0.14.27" @@ -4591,10 +4591,10 @@ esbuild-freebsd-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" integrity sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== -esbuild-freebsd-arm64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.29.tgz#e1b79fbb63eaeff324cf05519efa7ff12ce4586a" - integrity sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg== +esbuild-freebsd-arm64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.31.tgz#f793085c7184fcd08649b8d185edc5c2ce112e82" + integrity sha512-t85bS6jbRpmdjr4pdr/FY/fpx8lo1vv9S7BAs2EsXKJQhRDMIiC3QW+k2acYJoRuqirlvJcJVFQGCq/PfyC1kA== esbuild-linux-32@0.14.27: version "0.14.27" @@ -4606,10 +4606,10 @@ esbuild-linux-32@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" integrity sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== -esbuild-linux-32@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.29.tgz#a4a5a0b165b15081bc3227986e10dd4943edb7d6" - integrity sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA== +esbuild-linux-32@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.31.tgz#cac97ec7da6fbde0c21dbe08babd0d2a034f317d" + integrity sha512-XYtOk/GodSkv+UOYVwryGpGPuFnszsMvRMKq6cIUfFfdssHuKDsU9IZveyCG44J106J39ABenQ5EetbYtVJHUw== esbuild-linux-64@0.14.27: version "0.14.27" @@ -4621,10 +4621,10 @@ esbuild-linux-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" integrity sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== -esbuild-linux-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz#4c450088c84f8bfd22c51d116f59416864b85481" - integrity sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg== +esbuild-linux-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.31.tgz#ec94cd5228e6777d2feb3c24a1fe1cbf8817d6da" + integrity sha512-Zf9CZxAxaXWHLqCg/QZ/hs0RU0XV3IBxV+ENQzy00S4QOTnZAvSLgPciILHHrVJ0lPIlb4XzAqlLM5y6iI2LIw== esbuild-linux-arm64@0.14.27: version "0.14.27" @@ -4636,10 +4636,10 @@ esbuild-linux-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" integrity sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== -esbuild-linux-arm64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.29.tgz#d1a23993b26cb1f63f740329b2fc09218e498bd1" - integrity sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw== +esbuild-linux-arm64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.31.tgz#d119188fccd6384db5c703de24c46dacaee3e9e8" + integrity sha512-V/H0tv+xpQ9IOHM+o85oCKNNidIEc5CcnDWl0V+hPd2F03dqdbFkWPBGphx8rD4JSQn6UefUQ1iH7y1qIzO8Fw== esbuild-linux-arm@0.14.27: version "0.14.27" @@ -4651,10 +4651,10 @@ esbuild-linux-arm@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" integrity sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== -esbuild-linux-arm@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.29.tgz#a7e2fea558525eab812b1fe27d7a2659cd1bb723" - integrity sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ== +esbuild-linux-arm@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.31.tgz#63e10846886901e5632a591d44160f95c5d12ba7" + integrity sha512-RpiaeHPRlgCCDskxoyIsI49BhcDtZ4cl8+SLffizDm0yMNWP538SUg0ezQ2TTOPj3/svaGIbkRDwYtAon0Sjkg== esbuild-linux-mips64le@0.14.27: version "0.14.27" @@ -4666,10 +4666,10 @@ esbuild-linux-mips64le@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" integrity sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== -esbuild-linux-mips64le@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.29.tgz#e708c527f0785574e400828cdbed3d9b17b5ddff" - integrity sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g== +esbuild-linux-mips64le@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.31.tgz#1cd44f72cde6489a5d6deea7c54efa6f3d6590ee" + integrity sha512-9/oBfAckInRuUg6AEgdCLLn6KJ6UOJDOLmUinTsReVSg6AfV6wxYQJq9iQM2idRogP7GUpomJ+bvCdWXpotQRQ== esbuild-linux-ppc64le@0.14.27: version "0.14.27" @@ -4681,10 +4681,10 @@ esbuild-linux-ppc64le@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" integrity sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== -esbuild-linux-ppc64le@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.29.tgz#0137d1b38beae36a57176ef45e90740e734df502" - integrity sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw== +esbuild-linux-ppc64le@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.31.tgz#3b5ccc05e5b8ef5c494f30a61fdd27811d2bbeeb" + integrity sha512-NMcb14Pg+8q8raGkzor9/R3vQwKzgxE3694BtO2SDLBwJuL2C1dQ1ZtM1t7ZvArQBgT8RiZVxb0/3fD+qGNk7g== esbuild-linux-riscv64@0.14.27: version "0.14.27" @@ -4696,10 +4696,10 @@ esbuild-linux-riscv64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" integrity sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== -esbuild-linux-riscv64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.29.tgz#a2f73235347a58029dcacf0fb91c9eb8bebc8abb" - integrity sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew== +esbuild-linux-riscv64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.31.tgz#d74ca78c8ed1d9b40bc907a9e3ef6e83fc06189c" + integrity sha512-l13yvmsVfawAnoYfcpuvml+nTlrOmtdceXYufSkXl2DOb0JKcuR6ARlAzuQCDcpo49SOJy1cCxpwlOIsUQBfzA== esbuild-linux-s390x@0.14.27: version "0.14.27" @@ -4711,10 +4711,10 @@ esbuild-linux-s390x@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" integrity sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== -esbuild-linux-s390x@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.29.tgz#0f7310ff1daec463ead9b9e26b7aa083a9f9f1ee" - integrity sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg== +esbuild-linux-s390x@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.31.tgz#1bd547b8b027e323b77a838d265cb56ece2543af" + integrity sha512-GIwV9mY3koYja9MCSkKLk1P7rj+MkPV0UsGsZ575hEcIBrXeKN9jBi6X/bxDDPEN/SUAH35cJhBNrZU4x9lEfg== esbuild-netbsd-64@0.14.27: version "0.14.27" @@ -4726,10 +4726,10 @@ esbuild-netbsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" integrity sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== -esbuild-netbsd-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.29.tgz#ba9a0d9cb8aed73b684825126927f75d4fe44ff9" - integrity sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww== +esbuild-netbsd-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.31.tgz#964a45dbad4fac92aa0a15056e38a182735bd6c6" + integrity sha512-bJ+pyLvKQm+Obp5k7/Wk8e9Gdkls56F1aiI3uptoIfOIUqsZImH7pDyTrSufwqsFp62kO9LRuwXnjDwQtPyhFQ== esbuild-openbsd-64@0.14.27: version "0.14.27" @@ -4741,10 +4741,10 @@ esbuild-openbsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" integrity sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== -esbuild-openbsd-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.29.tgz#36dbe2c32d899106791b5f3af73f359213f71b8a" - integrity sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw== +esbuild-openbsd-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.31.tgz#7d2a1d46450321b0459263d3e7072e6d3924ce46" + integrity sha512-NRAAPPca05H9j9Xab0kVXK0V6/pyZGGy8d2Y8KS0BMwWEydlD4KCJDmH8/7bWCKYLRGOOCE9/GPBJyPWHFW3sg== esbuild-sunos-64@0.14.27: version "0.14.27" @@ -4756,20 +4756,20 @@ esbuild-sunos-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== -esbuild-sunos-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.29.tgz#e5f857c121441ec63bf9b399a2131409a7d344e5" - integrity sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg== +esbuild-sunos-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.31.tgz#3b3e4363951cd1dda14a14fee6d94ca426108e0c" + integrity sha512-9uA+V8w9Eehu4ldb95lPWdgCMcMO5HH6pXmfkk5usn3JsSZxKdLKsXB4hYgP80wscZvVYXJl2G+KNxsUTfPhZw== esbuild-wasm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== -esbuild-wasm@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.29.tgz#97772bef8752fb695c599595002f55e66461abc9" - integrity sha512-Iad4YKwBpjj/gQVryxpMJ+4b/uCbe7ClNkpCY1kX8L9KZtCnd9f5rpJs8Gcau7Fxy+/ksKTcNOYiO0b2aiPpow== +esbuild-wasm@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.31.tgz#9827a10377369182833479fe2c6747dee6b612dc" + integrity sha512-1TBBAUa1WZHggxVYBFfwafolLimEunkcKmvNJ+sOaroabmq5And/CcXDy2LJKnUQyEF0sI/xhnMW9eESKQkZmg== esbuild-wasm@^0.14.25: version "0.14.28" @@ -4786,10 +4786,10 @@ esbuild-windows-32@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" integrity sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== -esbuild-windows-32@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.29.tgz#9c2f1ab071a828f3901d1d79d205982a74bdda6e" - integrity sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw== +esbuild-windows-32@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.31.tgz#997026a41c04535bfb7c014a0458940b49145820" + integrity sha512-VGdncQTqoxD9q3v/dk0Yugbmx2FzOkcs0OemBYc1X9KXOLQYH0uQbLJIckZdZOC3J+JKSExbYFrzYCOwWPuNyA== esbuild-windows-64@0.14.27: version "0.14.27" @@ -4801,10 +4801,10 @@ esbuild-windows-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" integrity sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== -esbuild-windows-64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.29.tgz#85fbce7c2492521896451b98d649a7db93e52667" - integrity sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A== +esbuild-windows-64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.31.tgz#5d4b0ea686c9b60036303b3415c472f2761bdafc" + integrity sha512-v/2ye5zBqpmCzi3bLCagStbNQlnOsY7WtMrD2Q0xZxeSIXONxji15KYtVee5o7nw4lXWbQSS1BL8G6BBMvtq4A== esbuild-windows-arm64@0.14.27: version "0.14.27" @@ -4816,10 +4816,10 @@ esbuild-windows-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== -esbuild-windows-arm64@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.29.tgz#0aa7a9a1bc43a63350bcf574d94b639176f065b5" - integrity sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ== +esbuild-windows-arm64@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.31.tgz#4f3b9fc34c4a33abbd0171df6cbb657ccbdbfc67" + integrity sha512-RXeU42FJoG1sriNHg73h4S+5B7L/gw+8T7U9u8IWqSSEbY6fZvBh4uofugiU1szUDqqP00GHwZ09WgYe3lGZiw== esbuild@0.14.27: version "0.14.27" @@ -4847,31 +4847,31 @@ esbuild@0.14.27: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" -esbuild@0.14.29: - version "0.14.29" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.29.tgz#24ad09c0674cbcb4aa2fe761485524eb1f6b1419" - integrity sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg== +esbuild@0.14.31: + version "0.14.31" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.31.tgz#f7d0db114edc615f66d84972ee9fbd2b267f4029" + integrity sha512-QA0fUM13+JZzcvg1bdrhi7wo8Lr5IRHA9ypNn2znqxGqb66dSK6pAh01TjyBOhzZGazPQJZ1K26VrCAQJ715qA== optionalDependencies: - esbuild-android-64 "0.14.29" - esbuild-android-arm64 "0.14.29" - esbuild-darwin-64 "0.14.29" - esbuild-darwin-arm64 "0.14.29" - esbuild-freebsd-64 "0.14.29" - esbuild-freebsd-arm64 "0.14.29" - esbuild-linux-32 "0.14.29" - esbuild-linux-64 "0.14.29" - esbuild-linux-arm "0.14.29" - esbuild-linux-arm64 "0.14.29" - esbuild-linux-mips64le "0.14.29" - esbuild-linux-ppc64le "0.14.29" - esbuild-linux-riscv64 "0.14.29" - esbuild-linux-s390x "0.14.29" - esbuild-netbsd-64 "0.14.29" - esbuild-openbsd-64 "0.14.29" - esbuild-sunos-64 "0.14.29" - esbuild-windows-32 "0.14.29" - esbuild-windows-64 "0.14.29" - esbuild-windows-arm64 "0.14.29" + esbuild-android-64 "0.14.31" + esbuild-android-arm64 "0.14.31" + esbuild-darwin-64 "0.14.31" + esbuild-darwin-arm64 "0.14.31" + esbuild-freebsd-64 "0.14.31" + esbuild-freebsd-arm64 "0.14.31" + esbuild-linux-32 "0.14.31" + esbuild-linux-64 "0.14.31" + esbuild-linux-arm "0.14.31" + esbuild-linux-arm64 "0.14.31" + esbuild-linux-mips64le "0.14.31" + esbuild-linux-ppc64le "0.14.31" + esbuild-linux-riscv64 "0.14.31" + esbuild-linux-s390x "0.14.31" + esbuild-netbsd-64 "0.14.31" + esbuild-openbsd-64 "0.14.31" + esbuild-sunos-64 "0.14.31" + esbuild-windows-32 "0.14.31" + esbuild-windows-64 "0.14.31" + esbuild-windows-arm64 "0.14.31" esbuild@^0.14.25: version "0.14.28" @@ -9398,10 +9398,10 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.10: - version "1.49.10" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.10.tgz#7b83cee0f03bbba443111b3f94944fde2b0c7a6b" - integrity sha512-w37zfWJwKu4I78U4z63u1mmgoncq+v3iOB4yzQMPyAPVHHawaQSnu9C9ysGQnZEhW609jkcLioJcMCqm75JMdg== +sass@1.49.11: + version "1.49.11" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.11.tgz#1ffeb77faeed8b806a2a1e021d7c9fd3fc322cb7" + integrity sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -10998,6 +10998,36 @@ webpack@5.70.0: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.71.0: + version "5.71.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.71.0.tgz#b01fcf379570b8c5ee06ca06c829ca168c951884" + integrity sha512-g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.2" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From d163229a5ffd2b682786299544385bb2e82a83aa Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 02:22:23 +0000 Subject: [PATCH 0267/1388] build: update angular to 2fbc7c8 --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 8 ++--- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 66b336dbe8ab..8d0c8c55ffd1 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d + - uses: angular/dev-infra/github-actions/commit-message-based-labels@6a4916de5191a1a4e84f4ee1710354623b8f6691 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index f40dc51c48d5..1aba81fca4c2 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d + - uses: angular/dev-infra/github-actions/feature-request@6a4916de5191a1a4e84f4ee1710354623b8f6691 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index e91230350dd0..2726577e627f 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d + - uses: angular/dev-infra/github-actions/lock-closed@6a4916de5191a1a4e84f4ee1710354623b8f6691 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index ef3864a887ea..8dd13f680953 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.10", "@angular/compiler-cli": "14.0.0-next.10", "@angular/core": "14.0.0-next.10", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#080e56a0d677b54e101caf8b1f14ae332a374ea5", "@angular/forms": "14.0.0-next.10", "@angular/localize": "14.0.0-next.10", "@angular/material": "14.0.0-next.9", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index a3f4029bc36f..d6d10211e2ef 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#373f9cd30778370abb5c645d2db728e9c1981425", - "@angular/cdk": "github:angular/cdk-builds#097b9d010d7f88fc8ba14a1d9e5d464f34c5fb3d", - "@angular/common": "github:angular/common-builds#93e64bb78c6866f7e3c9b0e1fde95330fafeea9d", - "@angular/compiler": "github:angular/compiler-builds#65fe70b56f8ae128074fa4012ad3f900ec064c5c", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#8e7fefa764eccc3a1f7cf531e6b857fdac17fe7e", - "@angular/core": "github:angular/core-builds#43ec837bab7c40be824c5d1f8774035ea40d7cd4", - "@angular/forms": "github:angular/forms-builds#4a985b4ec3bc2a2b47cec83f0eaca61efc3d5de3", - "@angular/language-service": "github:angular/language-service-builds#18e453a0b91b4493c5ce5cc4cece2874ce7c6da5", - "@angular/localize": "github:angular/localize-builds#4fe8f54d0672dd589a655912787e7fd3944f7584", - "@angular/material": "github:angular/material-builds#e9017464601fb7063d09c6ffdc6d3f6ce333ecec", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9e678eab99e0b23cc4ca7ddc1bedc95d1d00e61f", - "@angular/platform-browser": "github:angular/platform-browser-builds#b838ad91aea53b484016a41c66924567c385dc40", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6b47a299502707886413fd66dca1a8a4eefff2da", - "@angular/platform-server": "github:angular/platform-server-builds#dfac626178077dd0bf5939a3d9c7435850cea5e5", - "@angular/router": "github:angular/router-builds#8f6be29c5873a6468fb8cd8a18f3a294b54a6219", - "@angular/service-worker": "github:angular/service-worker-builds#ad006f869b119ada69d77311e259df39ee1fc890" + "@angular/animations": "github:angular/animations-builds#2fbc7c8d5fca5bdebc6b8053cc90f1f374c57bed", + "@angular/cdk": "github:angular/cdk-builds#8d7a50036e8060cd03d89b9882d40c5701f68c55", + "@angular/common": "github:angular/common-builds#c6d3d6b6071c14ebe58518850219c428342f0263", + "@angular/compiler": "github:angular/compiler-builds#136f13dbd28154a09007621f947d93bb93ac0d15", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#0c877bdfdc0e3c944d365fdee85af3b9cc0e241b", + "@angular/core": "github:angular/core-builds#ae3b7ad98f307c8ede7d506847a8470d7053bd1a", + "@angular/forms": "github:angular/forms-builds#61c7dcd47ca2064cf65044546ed03ac36ba55d4f", + "@angular/language-service": "github:angular/language-service-builds#f844671b9c6ed208371b37752b2eefef66c6f313", + "@angular/localize": "github:angular/localize-builds#7490746e053d6613b9e57a5e33a25963e51cfc11", + "@angular/material": "github:angular/material-builds#fcffb28a067c71b5a675891be61f06a1d87ebd63", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b1d74157135d64b7e7f742430b083b5d1055d16f", + "@angular/platform-browser": "github:angular/platform-browser-builds#50d7256d3f4cbd61d9f16be321fbbea148e28f28", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2e8767b71f811842f1a71f975e7a6209ea25c34c", + "@angular/platform-server": "github:angular/platform-server-builds#77df59cdcdf77c038ea3c2ceeec314ad68c9d905", + "@angular/router": "github:angular/router-builds#f5c8e8f05f79ccb37a130f0ca1c159efc9123dfe", + "@angular/service-worker": "github:angular/service-worker-builds#85ea3d6001b52f6b09914f0324efdba8f5889a15" } } diff --git a/yarn.lock b/yarn.lock index e0bb27b83427..0459c1b87222 100644 --- a/yarn.lock +++ b/yarn.lock @@ -176,10 +176,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030": - version "0.0.0-129a5ccbcc73d7ca960d8c166d7400bf2e94cd3d" - uid "3ff6a9e935cf0d1a8694e7f5842e5e538da64030" - resolved "https://github.com/angular/dev-infra-private-builds.git#3ff6a9e935cf0d1a8694e7f5842e5e538da64030" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#080e56a0d677b54e101caf8b1f14ae332a374ea5": + version "0.0.0-6a4916de5191a1a4e84f4ee1710354623b8f6691" + uid "080e56a0d677b54e101caf8b1f14ae332a374ea5" + resolved "https://github.com/angular/dev-infra-private-builds.git#080e56a0d677b54e101caf8b1f14ae332a374ea5" dependencies: "@angular-devkit/build-angular" "14.0.0-next.6" "@angular/benchpress" "0.3.0" From 67144b9e54b5a9bfbc963e386b01275be5eaccf5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 5 Apr 2022 14:54:20 +0200 Subject: [PATCH 0268/1388] refactor(@angular-devkit/core): remove deprecated `parseJson` and `ParseJsonOptions` APIs BREAKING CHANGE: `parseJson` and `ParseJsonOptions` APIs have been removed in favor of 3rd party JSON parsers such as `jsonc-parser`. --- .../angular_devkit/core/src/json/parser.ts | 60 +-------------- .../core/src/json/parser_spec.ts | 76 +------------------ 2 files changed, 3 insertions(+), 133 deletions(-) diff --git a/packages/angular_devkit/core/src/json/parser.ts b/packages/angular_devkit/core/src/json/parser.ts index 36d076c45a97..3cdabba7426e 100644 --- a/packages/angular_devkit/core/src/json/parser.ts +++ b/packages/angular_devkit/core/src/json/parser.ts @@ -23,7 +23,7 @@ import { JsonAstString, Position, } from './parser_ast'; -import { JsonArray, JsonObject, JsonValue } from './utils'; +import { JsonArray, JsonObject } from './utils'; export class JsonException extends BaseException {} @@ -61,16 +61,6 @@ export class UnexpectedEndOfInputException extends JsonException { } } -/** - * An error happened within a file. - * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. - */ -export class PathSpecificJsonException extends JsonException { - constructor(public path: string, public exception: JsonException) { - super(`An error happened at file path ${JSON.stringify(path)}: ${exception.message}`); - } -} - /** * Context passed around the parser with information about where we currently are in the parse. * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. @@ -904,51 +894,3 @@ export function parseJsonAst(input: string, mode = JsonParseMode.Default): JsonA return ast; } - -/** - * Options for the parseJson() function. - * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. - */ -export interface ParseJsonOptions { - /** - * If omitted, will only emit errors related to the content of the JSON. If specified, any - * JSON errors will also include the path of the file that caused the error. - */ - path?: string; -} - -/** - * Parse a JSON string into its value. This discards the AST and only returns the value itself. - * - * If a path option is pass, it also absorbs JSON parsing errors and return a new error with the - * path in it. Useful for showing errors when parsing from a file. - * - * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. - * @param input The string to parse. - * @param mode The mode to parse the input with. {@see JsonParseMode}. - * @param options Additional optinos for parsing. - * @returns {JsonValue} The value represented by the JSON string. - */ -export function parseJson( - input: string, - mode = JsonParseMode.Default, - options?: ParseJsonOptions, -): JsonValue { - try { - // Try parsing for the fastest path available, if error, uses our own parser for better errors. - if (mode == JsonParseMode.Strict) { - try { - return JSON.parse(input); - } catch (err) { - return parseJsonAst(input, mode).value; - } - } - - return parseJsonAst(input, mode).value; - } catch (e) { - if (options && options.path && e instanceof JsonException) { - throw new PathSpecificJsonException(options.path, e); - } - throw e; - } -} diff --git a/packages/angular_devkit/core/src/json/parser_spec.ts b/packages/angular_devkit/core/src/json/parser_spec.ts index f09297bf6b44..ec9a8b84374c 100644 --- a/packages/angular_devkit/core/src/json/parser_spec.ts +++ b/packages/angular_devkit/core/src/json/parser_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJson, parseJsonAst } from './parser'; +import { JsonParseMode, parseJsonAst } from './parser'; // Node 6 compatibility. // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -14,7 +14,7 @@ function entries(x: { [key: string]: any }): any { return Object.keys(x).map((k) => [k, x[k]]); } -describe('parseJson and parseJsonAst', () => { +describe('parseJsonAst', () => { describe('generic', () => { const numbers = {}; const errors = ['', '-abcdefghijklmnopqrstuvwxyz']; @@ -25,7 +25,6 @@ describe('parseJson and parseJsonAst', () => { expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); expect(ast.value).toEqual(JSON.parse(n)); - expect(parseJson(n)).toEqual(JSON.parse(n)); expect(ast.text).toBe(text === undefined ? n : text); }); } @@ -33,7 +32,6 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n)).toThrow(); - expect(() => parseJson(n)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } @@ -98,7 +96,6 @@ describe('parseJson and parseJsonAst', () => { expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); expect(ast.value).toEqual(JSON.parse(n)); - expect(parseJson(n)).toEqual(JSON.parse(n)); expect(ast.text).toBe(text === undefined ? n : text); }); } @@ -106,7 +103,6 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n)).toThrow(); - expect(() => parseJson(n)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } @@ -144,7 +140,6 @@ describe('parseJson and parseJsonAst', () => { expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); expect(ast.value).toEqual(JSON.parse(n)); - expect(parseJson(n)).toEqual(JSON.parse(n)); expect(ast.text).toBe(text === undefined ? n : text); }); } @@ -152,7 +147,6 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n)).toThrow(); - expect(() => parseJson(n)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } @@ -180,7 +174,6 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n)).toThrow(); - expect(() => parseJson(n)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } @@ -223,7 +216,6 @@ describe('parseJson and parseJsonAst', () => { expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); expect(ast.value).toEqual(JSON.parse(n)); - expect(parseJson(n)).toEqual(JSON.parse(n)); expect(ast.text).toBe(text === undefined ? n : text); }); } @@ -231,7 +223,6 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n)).toThrow(); - expect(() => parseJson(n)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } @@ -269,7 +260,6 @@ describe('parseJson and parseJsonAst', () => { expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); expect(ast.value).toEqual(JSON.parse(n)); - expect(parseJson(n)).toEqual(JSON.parse(n)); expect(ast.text).toBe(text === undefined ? n : text); }); } @@ -277,7 +267,6 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n)).toThrow(); - expect(() => parseJson(n)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } @@ -322,7 +311,6 @@ describe('parseJson and parseJsonAst', () => { expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); expect(ast.value).toEqual(value); - expect(parseJson(n, JsonParseMode.Loose)).toEqual(value); expect(ast.text).toBe(text === undefined ? n : text); }); } @@ -330,68 +318,8 @@ describe('parseJson and parseJsonAst', () => { for (const n of errors) { it(`errors for ${JSON.stringify(n)}`, () => { expect(() => parseJsonAst(n, JsonParseMode.Loose)).toThrow(); - expect(() => parseJson(n, JsonParseMode.Loose)).toThrow(); expect(() => JSON.parse(n)).toThrow(); }); } }); - - describe('complex', () => { - it('strips comments', () => { - expect( - parseJson( - ` - // THIS IS A COMMENT - { - /* THIS IS ALSO A COMMENT */ // IGNORED BECAUSE COMMENT - // AGAIN, COMMENT /* THIS SHOULD NOT BE WEIRD - "a": "this // should not be a comment", - "a2": "this /* should also not be a comment", - /* MULTIPLE - LINE - COMMENT - \\o/ */ - "b" /* COMMENT */: /* YOU GUESSED IT */ 1 // COMMENT - , /* STILL VALID */ - "c": 2 - } - `, - JsonParseMode.Loose, - ), - ).toEqual({ - a: 'this // should not be a comment', - a2: 'this /* should also not be a comment', - b: 1, - c: 2, - }); - }); - - it('works with json5.org example', () => { - const input = `{ - // comments - unquoted: 'and you can quote me on that', - 'singleQuotes': 'I can use "double quotes" here', - lineBreaks: "Look, Mom! \\ -No \\\\n's!", - hexadecimal: 0xdecaf, - leadingDecimalPoint: .8675309, andTrailing: 8675309., - positiveSign: +1, - trailingComma: 'in objects', andIn: ['arrays',], - "backwardsCompatible": "with JSON", - }`; - - expect(parseJson(input, JsonParseMode.Json5)).toEqual({ - unquoted: 'and you can quote me on that', - singleQuotes: 'I can use "double quotes" here', - lineBreaks: "Look, Mom! \nNo \\n's!", - hexadecimal: 0xdecaf, - leadingDecimalPoint: 0.8675309, - andTrailing: 8675309, - positiveSign: +1, - trailingComma: 'in objects', - andIn: ['arrays'], - backwardsCompatible: 'with JSON', - }); - }); - }); }); From 0316dea676be522b04d654054880cc5794e3c8b3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 5 Apr 2022 17:21:48 +0200 Subject: [PATCH 0269/1388] feat(@angular/cli): add prompts on missing builder targets With this change we add prompts to `ng deploy` and `ng e2e` to facilitate adding packages that offer these capabalities. We also add back `ng lint` prompt to add ESLint which was removed by mistake during the commands refactoring. --- .../architect-base-command-module.ts | 85 ++++++++++++++++++- .../architect-command-module.ts | 8 +- .../angular/cli/src/commands/deploy/cli.ts | 41 ++++++--- packages/angular/cli/src/commands/e2e/cli.ts | 30 ++++--- packages/angular/cli/src/commands/lint/cli.ts | 16 ++-- packages/angular/cli/src/utilities/prompt.ts | 26 +++++- .../e2e/tests/misc/ask-missing-builder.ts | 31 +++++++ 7 files changed, 191 insertions(+), 46 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index 04d9e7474afb..b0ec9d451910 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -9,9 +9,12 @@ import { Architect, Target } from '@angular-devkit/architect'; import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; import { json } from '@angular-devkit/core'; +import { spawnSync } from 'child_process'; import { existsSync } from 'fs'; import { resolve } from 'path'; import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; +import { askConfirmation, askQuestion } from '../utilities/prompt'; +import { isTTY } from '../utilities/tty'; import { CommandModule, CommandModuleError, @@ -21,13 +24,18 @@ import { } from './command-module'; import { Option, parseJsonSchemaToOptions } from './utilities/json-schema'; +export interface MissingTargetChoice { + name: string; + value: string; +} + export abstract class ArchitectBaseCommandModule extends CommandModule implements CommandModuleImplementation { static override scope = CommandScope.In; protected override shouldReportAnalytics = false; - protected readonly missingErrorTarget: string | undefined; + protected readonly missingTargetChoices: MissingTargetChoice[] | undefined; protected async runSingleTarget(target: Target, options: OtherOptions): Promise { const architectHost = await this.getArchitectHost(); @@ -36,7 +44,7 @@ export abstract class ArchitectBaseCommandModule try { builderName = await architectHost.getBuilderNameForTarget(target); } catch (e) { - throw new CommandModuleError(this.missingErrorTarget ?? e.message); + return this.onMissingTarget(e.message); } await this.reportAnalytics({ @@ -137,4 +145,77 @@ export abstract class ArchitectBaseCommandModule `Node packages may not be installed. Try installing with '${this.context.packageManager} install'.`, ); } + + protected getArchitectTarget(): string { + return this.commandName; + } + + protected async onMissingTarget(defaultMessage: string): Promise<1> { + const { logger } = this.context; + const choices = this.missingTargetChoices; + + if (!choices?.length) { + logger.error(defaultMessage); + + return 1; + } + + const missingTargetMessage = + `Cannot find "${this.getArchitectTarget()}" target for the specified project.\n` + + `You can add a package that implements these capabilities.\n\n` + + `For example:\n` + + choices.map(({ name, value }) => ` ${name}: ng add ${value}`).join('\n') + + '\n'; + + if (isTTY()) { + // Use prompts to ask the user if they'd like to install a package. + logger.warn(missingTargetMessage); + + const packageToInstall = await this.getMissingTargetPackageToInstall(choices); + if (packageToInstall) { + // Example run: `ng add @angular-eslint/schematics`. + const binPath = resolve(__dirname, '../../bin/ng.js'); + const { error } = spawnSync(process.execPath, [binPath, 'add', packageToInstall], { + stdio: 'inherit', + }); + + if (error) { + throw error; + } + } + } else { + // Non TTY display error message. + logger.error(missingTargetMessage); + } + + return 1; + } + + private async getMissingTargetPackageToInstall( + choices: MissingTargetChoice[], + ): Promise { + if (choices.length === 1) { + // Single choice + const { name, value } = choices[0]; + if (await askConfirmation(`Would you like to add ${name} now?`, true, false)) { + return value; + } + + return null; + } + + // Multiple choice + return askQuestion( + `Would you like to add a package with "${this.getArchitectTarget()}" capabilities now?`, + [ + { + name: 'No', + value: null, + }, + ...choices, + ], + 0, + null, + ); + } } diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index db6aa449fc8a..4b0ae4b64e1f 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -70,9 +70,7 @@ export abstract class ArchitectCommandModule let result = 0; const projectNames = this.getProjectNamesByTarget(target); if (!projectNames) { - throw new CommandModuleError( - this.missingErrorTarget ?? 'Cannot determine project or target for command.', - ); + return this.onMissingTarget('Cannot determine project or target for command.'); } for (const project of projectNames) { @@ -107,10 +105,6 @@ export abstract class ArchitectCommandModule return projectFromTarget?.length ? projectFromTarget[0] : undefined; } - private getArchitectTarget(): string { - return this.commandName; - } - @memoize private getProjectNamesByTarget(target: string): string[] | undefined { const workspace = this.getWorkspaceOrThrow(); diff --git a/packages/angular/cli/src/commands/deploy/cli.ts b/packages/angular/cli/src/commands/deploy/cli.ts index 18f5aaadd803..d05376ef0138 100644 --- a/packages/angular/cli/src/commands/deploy/cli.ts +++ b/packages/angular/cli/src/commands/deploy/cli.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { tags } from '@angular-devkit/core'; import { join } from 'path'; +import { MissingTargetChoice } from '../../command-builder/architect-base-command-module'; import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; import { CommandModuleImplementation } from '../../command-builder/command-module'; @@ -15,18 +15,33 @@ export class DeployCommandModule extends ArchitectCommandModule implements CommandModuleImplementation { - override missingErrorTarget = tags.stripIndents` - Cannot find "deploy" target for the specified project. - - You should add a package that implements deployment capabilities for your - favorite platform. - - For example: - ng add @angular/fire - ng add @azure/ng-deploy - - Find more packages on npm https://www.npmjs.com/search?q=ng%20deploy - `; + // The below choices should be kept in sync with the list in https://angular.io/guide/deployment + override missingTargetChoices: MissingTargetChoice[] = [ + { + name: 'Amazon S3', + value: '@jefiozie/ngx-aws-deploy', + }, + { + name: 'Azure', + value: '@azure/ng-deploy', + }, + { + name: 'Firebase', + value: '@angular/fire', + }, + { + name: 'Netlify', + value: '@netlify-builder/deploy', + }, + { + name: 'NPM', + value: 'ngx-deploy-npm', + }, + { + name: 'GitHub Pages', + value: 'angular-cli-ghpages', + }, + ]; multiTarget = false; command = 'deploy [project]'; diff --git a/packages/angular/cli/src/commands/e2e/cli.ts b/packages/angular/cli/src/commands/e2e/cli.ts index f90a75544237..2aecfb3ac5a6 100644 --- a/packages/angular/cli/src/commands/e2e/cli.ts +++ b/packages/angular/cli/src/commands/e2e/cli.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { tags } from '@angular-devkit/core'; +import { MissingTargetChoice } from '../../command-builder/architect-base-command-module'; import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; import { CommandModuleImplementation } from '../../command-builder/command-module'; @@ -14,20 +14,22 @@ export class E2eCommandModule extends ArchitectCommandModule implements CommandModuleImplementation { - multiTarget = true; - override missingErrorTarget = tags.stripIndents` - Cannot find "e2e" target for the specified project. - - You should add a package that implements end-to-end testing capabilities. - - For example: - Cypress: ng add @cypress/schematic - Nightwatch: ng add @nightwatch/schematics - WebdriverIO: ng add @wdio/schematics - - More options will be added to the list as they become available. - `; + override missingTargetChoices: MissingTargetChoice[] = [ + { + name: 'Cypress', + value: '@cypress/schematic', + }, + { + name: 'Nightwatch', + value: '@nightwatch/schematics', + }, + { + name: 'WebdriverIO', + value: '@wdio/schematics', + }, + ]; + multiTarget = true; command = 'e2e [project]'; aliases = ['e']; describe = 'Builds and serves an Angular application, then runs end-to-end tests.'; diff --git a/packages/angular/cli/src/commands/lint/cli.ts b/packages/angular/cli/src/commands/lint/cli.ts index bd661e7d164b..bf145d31db0c 100644 --- a/packages/angular/cli/src/commands/lint/cli.ts +++ b/packages/angular/cli/src/commands/lint/cli.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { tags } from '@angular-devkit/core'; import { join } from 'path'; +import { MissingTargetChoice } from '../../command-builder/architect-base-command-module'; import { ArchitectCommandModule } from '../../command-builder/architect-command-module'; import { CommandModuleImplementation } from '../../command-builder/command-module'; @@ -15,14 +15,12 @@ export class LintCommandModule extends ArchitectCommandModule implements CommandModuleImplementation { - override missingErrorTarget = tags.stripIndents` - Cannot find "lint" target for the specified project. - - You should add a package that implements linting capabilities. - - For example: - ng add @angular-eslint/schematics - `; + override missingTargetChoices: MissingTargetChoice[] = [ + { + name: 'ESLint', + value: '@angular-eslint/schematics', + }, + ]; multiTarget = true; command = 'lint [project]'; diff --git a/packages/angular/cli/src/utilities/prompt.ts b/packages/angular/cli/src/utilities/prompt.ts index 34dd3e698759..8884b002ad88 100644 --- a/packages/angular/cli/src/utilities/prompt.ts +++ b/packages/angular/cli/src/utilities/prompt.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import type { Question } from 'inquirer'; +import type { ListChoiceOptions, ListQuestion, Question } from 'inquirer'; import { isTTY } from './tty'; export async function askConfirmation( @@ -30,3 +30,27 @@ export async function askConfirmation( return answers['confirmation']; } + +export async function askQuestion( + message: string, + choices: ListChoiceOptions[], + defaultResponseIndex: number, + noTTYResponse: null | string, +): Promise { + if (!isTTY()) { + return noTTYResponse; + } + const question: ListQuestion = { + type: 'list', + name: 'answer', + prefix: '', + message, + choices, + default: defaultResponseIndex, + }; + + const { prompt } = await import('inquirer'); + const answers = await prompt([question]); + + return answers['answer']; +} diff --git a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts new file mode 100644 index 000000000000..c1bb60042a64 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts @@ -0,0 +1,31 @@ +import { execWithEnv, killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; + +export default async function () { + try { + // Execute a command with TTY force enabled + execWithEnv('ng', ['deploy'], { + ...process.env, + NG_FORCE_TTY: '1', + NG_CLI_ANALYTICS: 'false', + }); + + // Check if the prompt is shown + await waitForAnyProcessOutputToMatch( + /Would you like to add a package with "deploy" capabilities/, + ); + + killAllProcesses(); + + // Execute a command with TTY force enabled + execWithEnv('ng', ['lint'], { + ...process.env, + NG_FORCE_TTY: '1', + NG_CLI_ANALYTICS: 'false', + }); + + // Check if the prompt is shown + await waitForAnyProcessOutputToMatch(/Would you like to add ESLint now/); + } finally { + killAllProcesses(); + } +} From 55e9161a9f537a4ef7bd0c3dafc52790752556b5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 6 Apr 2022 06:26:14 +0000 Subject: [PATCH 0270/1388] build: update github/codeql-action action to v2.1.7 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 709a80309280..cde0cf2603d7 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@28eead240834b314f7def40f6fcba65d100d99b1 # tag=v2.1.6 + uses: github/codeql-action/upload-sarif@0182a2c78c8a55b763909348834ed54d735ab3e2 # tag=v2.1.7 with: sarif_file: results.sarif From 4b05c44d4fb41f447a5c986cda74fb226dd94451 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 6 Apr 2022 14:45:19 +0000 Subject: [PATCH 0271/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 20 +- packages/angular/cli/package.json | 4 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 510 +++++++++++------- 5 files changed, 337 insertions(+), 209 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index c5b8cc13d6f4..92cf01962fb1 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "523da2d6b50bc00eaf14b00ed28b1a366b3ab456e14131e9812558b26599125c", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.3.1/rules_nodejs-5.3.1.tar.gz"], + sha256 = "2b2004784358655f334925e7eadc7ba80f701144363df949b3293e1ae7a2fb7b", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.4.0/rules_nodejs-5.4.0.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 8dd13f680953..ee842248f663 100644 --- a/package.json +++ b/package.json @@ -89,8 +89,8 @@ "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.0.1", - "@bazel/concatjs": "5.3.1", - "@bazel/jasmine": "5.3.1", + "@bazel/concatjs": "5.4.0", + "@bazel/jasmine": "5.4.0", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.17.0", - "@typescript-eslint/parser": "5.17.0", + "@typescript-eslint/eslint-plugin": "5.18.0", + "@typescript-eslint/parser": "5.18.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -130,18 +130,18 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.0.3", + "cacache": "16.0.4", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.31", - "esbuild-wasm": "0.14.31", + "esbuild": "0.14.32", + "esbuild-wasm": "0.14.32", "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", - "eslint-plugin-import": "2.25.4", + "eslint-plugin-import": "2.26.0", "express": "4.17.3", "fast-json-stable-stringify": "2.1.0", "font-awesome": "^4.7.0", @@ -175,7 +175,7 @@ "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.5", + "pacote": "13.1.0", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", @@ -215,7 +215,7 @@ "verdaccio-auth-memory": "^10.0.0", "webpack": "5.71.0", "webpack-dev-middleware": "5.3.1", - "webpack-dev-server": "4.7.4", + "webpack-dev-server": "4.8.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.4.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 16dca5988378..264f58590273 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -33,10 +33,10 @@ "inquirer": "8.2.2", "jsonc-parser": "3.0.0", "npm-package-arg": "9.0.2", - "npm-pick-manifest": "7.0.0", + "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.0.5", + "pacote": "13.1.0", "resolve": "1.22.0", "semver": "7.3.5", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index bb8c0d29e1b1..be90bbf2ce50 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,11 +25,11 @@ "babel-loader": "8.2.4", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.0.3", + "cacache": "16.0.4", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.31", + "esbuild-wasm": "0.14.32", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.2", @@ -65,12 +65,12 @@ "tslib": "2.3.1", "webpack": "5.71.0", "webpack-dev-middleware": "5.3.1", - "webpack-dev-server": "4.7.4", + "webpack-dev-server": "4.8.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.31" + "esbuild": "0.14.32" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/yarn.lock b/yarn.lock index 0459c1b87222..30db6a930168 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1226,10 +1226,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/concatjs@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.3.1.tgz#0842a9ed647abb4ce6bf7261b00f43d9b96dfd3b" - integrity sha512-zTH/8mALNrBq8PjXO6S7ThwDr8ueAEIXiy98isnufGq31A3etkUQVkUsCByxVMAXRCa+AcXb3x/IHfhWV5y5qw== +"@bazel/concatjs@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.0.tgz#04e752a6ea3e684f00879e6683657c4ede72df6e" + integrity sha512-jlupaDKxqFS3B1lttOIgkKxirP7v5Qx7KCFtOXO7JxtvYJD/qKtKXEQggTrGKJqLPyiZlNiYimHHGICLSWIZcQ== dependencies: protobufjs "6.8.8" source-map-support "0.5.9" @@ -1240,10 +1240,10 @@ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.3.0.tgz#b1c6dfa92d7e56952231ea3a0a3eb02804535d7f" integrity sha512-UshiI+YFQmSoYW4ej2IxLNnZ2hceIsggTMYTpr16sx0FMOaFQuI3zV0w1/wu+coT18cco0bV/5AZBPV0I0f+Ug== -"@bazel/jasmine@5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.3.1.tgz#7508729555ecf37afe9603aff01143d8c732d75c" - integrity sha512-O0+0Sl3cH760TW2uGw/l9JA7zkZ+dLLkNAYd4EVfsnTRjFTzj7Fdn+ZwYG420Q6A1ZciRrmM5IzpbiSCURQiwg== +"@bazel/jasmine@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.4.0.tgz#186f837951b678c39274dd9321779a40012a6bc5" + integrity sha512-hUMbuSKr6U9VXRHXfv0KIWVBue5fFskPAVbDK4dWUVuac8V2vVNQadtppOHPFOzzqZdDsUuSyXCDjqGUZYVm+Q== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1435,6 +1435,11 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz#0300943770e04231041a51bd39f0439b5c7ab4f0" + integrity sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg== + "@mark.probst/unicode-properties@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@mark.probst/unicode-properties/-/unicode-properties-1.1.0.tgz#5caafeab4737df93163d6d288007df33f9939b80" @@ -1558,18 +1563,33 @@ mkdirp "^1.0.4" rimraf "^3.0.2" +"@npmcli/move-file@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" + integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + "@npmcli/node-gyp@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== -"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": +"@npmcli/promise-spawn@^1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== dependencies: infer-owner "^1.0.4" +"@npmcli/promise-spawn@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" + integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== + dependencies: + infer-owner "^1.0.4" + "@npmcli/run-script@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.1.tgz#9d10b46586300074cc9e53ef320130a69567e1ce" @@ -2250,7 +2270,7 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@^8.2.2": +"@types/ws@^8.2.2", "@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== @@ -2281,14 +2301,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz#704eb4e75039000531255672bf1c85ee85cf1d67" - integrity sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ== +"@typescript-eslint/eslint-plugin@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz#950df411cec65f90d75d6320a03b2c98f6c3af7d" + integrity sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A== dependencies: - "@typescript-eslint/scope-manager" "5.17.0" - "@typescript-eslint/type-utils" "5.17.0" - "@typescript-eslint/utils" "5.17.0" + "@typescript-eslint/scope-manager" "5.18.0" + "@typescript-eslint/type-utils" "5.18.0" + "@typescript-eslint/utils" "5.18.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2296,69 +2316,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.17.0.tgz#7def77d5bcd8458d12d52909118cf3f0a45f89d5" - integrity sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig== +"@typescript-eslint/parser@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.18.0.tgz#2bcd4ff21df33621df33e942ccb21cb897f004c6" + integrity sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ== dependencies: - "@typescript-eslint/scope-manager" "5.17.0" - "@typescript-eslint/types" "5.17.0" - "@typescript-eslint/typescript-estree" "5.17.0" + "@typescript-eslint/scope-manager" "5.18.0" + "@typescript-eslint/types" "5.18.0" + "@typescript-eslint/typescript-estree" "5.18.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz#4cea7d0e0bc0e79eb60cad431c89120987c3f952" - integrity sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w== +"@typescript-eslint/scope-manager@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz#a7d7b49b973ba8cebf2a3710eefd457ef2fb5505" + integrity sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ== dependencies: - "@typescript-eslint/types" "5.17.0" - "@typescript-eslint/visitor-keys" "5.17.0" + "@typescript-eslint/types" "5.18.0" + "@typescript-eslint/visitor-keys" "5.18.0" -"@typescript-eslint/type-utils@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz#1c4549d68c89877662224aabb29fbbebf5fc9672" - integrity sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg== +"@typescript-eslint/type-utils@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz#62dbfc8478abf36ba94a90ddf10be3cc8e471c74" + integrity sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA== dependencies: - "@typescript-eslint/utils" "5.17.0" + "@typescript-eslint/utils" "5.18.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.17.0.tgz#861ec9e669ffa2aa9b873dd4d28d9b1ce26d216f" - integrity sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw== +"@typescript-eslint/types@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.18.0.tgz#4f0425d85fdb863071680983853c59a62ce9566e" + integrity sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw== -"@typescript-eslint/typescript-estree@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz#a7cba7dfc8f9cc2ac78c18584e684507df4f2488" - integrity sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg== +"@typescript-eslint/typescript-estree@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz#6498e5ee69a32e82b6e18689e2f72e4060986474" + integrity sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ== dependencies: - "@typescript-eslint/types" "5.17.0" - "@typescript-eslint/visitor-keys" "5.17.0" + "@typescript-eslint/types" "5.18.0" + "@typescript-eslint/visitor-keys" "5.18.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.17.0.tgz#549a9e1d491c6ccd3624bc3c1b098f5cfb45f306" - integrity sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA== +"@typescript-eslint/utils@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.18.0.tgz#27fc84cf95c1a96def0aae31684cb43a37e76855" + integrity sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.17.0" - "@typescript-eslint/types" "5.17.0" - "@typescript-eslint/typescript-estree" "5.17.0" + "@typescript-eslint/scope-manager" "5.18.0" + "@typescript-eslint/types" "5.18.0" + "@typescript-eslint/typescript-estree" "5.18.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.17.0": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz#52daae45c61b0211b4c81b53a71841911e479128" - integrity sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA== +"@typescript-eslint/visitor-keys@5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz#c7c07709823804171d569017f3b031ced7253e60" + integrity sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg== dependencies: - "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/types" "5.18.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -2821,7 +2841,7 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= -array-flatten@^2.1.0: +array-flatten@^2.1.0, array-flatten@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== @@ -3113,6 +3133,16 @@ body-parser@1.19.2, body-parser@^1.19.0: raw-body "2.4.3" type-is "~1.6.18" +bonjour-service@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.11.tgz#5418e5c1ac91c89a406f853a942e7892829c0d89" + integrity sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.4" + bonjour@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" @@ -3371,7 +3401,31 @@ cacache@16.0.1: tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.0.3, cacache@^16.0.0, cacache@^16.0.2: +cacache@16.0.4: + version "16.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.4.tgz#66877ae82717ade4d1416d5b3caa3a870f2c6d0c" + integrity sha512-U0D4wF3/W8ZgK4qDA5fTtOVSr0gaDfd5aa7tUdAV0uukVWKsAIn6SzXQCoVlg7RWZiJa+bcsM3/pXLumGaL2Ug== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.2.0" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^1.1.1" + +cacache@^16.0.0, cacache@^16.0.2: version "16.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" integrity sha512-eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g== @@ -4180,6 +4234,13 @@ dns-packet@^1.3.1: ip "^1.1.0" safe-buffer "^5.0.1" +dns-packet@^5.2.2: + version "5.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.3.1.tgz#eb94413789daec0f0ebe2fcc230bdc9d7c91b43d" + integrity sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + dns-txt@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" @@ -4516,10 +4577,10 @@ esbuild-android-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" integrity sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== -esbuild-android-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.31.tgz#4b7dfbbeee62b3495ba78220b85fb590eb68d5bf" - integrity sha512-MYkuJ91w07nGmr4EouejOZK2j/f5TCnsKxY8vRr2+wpKKfHD1LTJK28VbZa+y1+AL7v1V9G98ezTUwsV3CmXNw== +esbuild-android-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.32.tgz#cf23a9c6052bb48901f5541c7e5a4168495fca36" + integrity sha512-q1qjB2UcoWehR9Yp9dO2RdJUeLLrXAYsbOU4tkYa+GmJzxTwuvOrMdvaemsXYqb7F4STVTca9KpfqGicEChtUg== esbuild-android-arm64@0.14.27: version "0.14.27" @@ -4531,10 +4592,10 @@ esbuild-android-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" integrity sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== -esbuild-android-arm64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.31.tgz#24c3d693924e044fb0d23206c3e627502b10b930" - integrity sha512-0rkH/35s7ZVcsw6nS0IAkR0dekSbjZGWdlOAf3jV0lGoPqqw0x6/TmaV9w7DQgUERTH1ApmPlpAMU4kVkCq9Jg== +esbuild-android-arm64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.32.tgz#5840407c8d8b577eea847eecce8df9610c0f58fd" + integrity sha512-bs1uu+RuM15f8yjFc0FhPDE/6NID4fKl7beDVsGCme6Q8ld2IzRXmp5QaHurlcH93PFyQnUgVvdahIWgtK2QZw== esbuild-darwin-64@0.14.27: version "0.14.27" @@ -4546,10 +4607,10 @@ esbuild-darwin-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" integrity sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== -esbuild-darwin-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.31.tgz#285fbdb6dc74d4410f43dee59e6a14ebff82a9d7" - integrity sha512-kP6xPZHxtJa36Hb0jC05L3VzQSZBW2f3bpnQS20czXTRGEmM2GDiYpGdI5g2QYaw6vC4PYXjnigq8usd9g9jnQ== +esbuild-darwin-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.32.tgz#c6defc12a60f27408f1a30bb233c9d0e66ea2a55" + integrity sha512-6MekflAld28wYtzanwZTxQlxMPeYw/yv1ToFG2hpo3LGxOIE2mBD5IJaMCcyy1//EYvGnGToO3p6XKdbS8E1QQ== esbuild-darwin-arm64@0.14.27: version "0.14.27" @@ -4561,10 +4622,10 @@ esbuild-darwin-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" integrity sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== -esbuild-darwin-arm64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.31.tgz#b39c471a8134ce2c7811eb96fab9c500b256261c" - integrity sha512-1ZMog4hkNsdBGtDDtsftUqX6S9N52gEx4vX5aVehsSptgoBFIar1XrPiBTQty7YNH+bJasTpSVaZQgElCVvPKQ== +esbuild-darwin-arm64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.32.tgz#fc878496516a90fc4982ee7cf8f2d2f484dbd64a" + integrity sha512-BHYIjiPDYQTD+4zwqdqRo+I2bbg3fn9mah/gZm4SCCy+7uwTTYOYobIunHT7wVCgxnFCr50PJUdaMrEoCImRbw== esbuild-freebsd-64@0.14.27: version "0.14.27" @@ -4576,10 +4637,10 @@ esbuild-freebsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" integrity sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== -esbuild-freebsd-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.31.tgz#7ca700ef60ae12154bae63094ad41b21c6ae1a23" - integrity sha512-Zo0BYj7QpVFWoUpkv6Ng0RO2eJ4zk/WDaHMO88+jr5HuYmxsOre0imgwaZVPquTuJnCvL1G48BFucJ3tFflSeQ== +esbuild-freebsd-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.32.tgz#c136e8e8bab8e7ea95a7fbe4b689d2c940bf48f2" + integrity sha512-6BOBhtfAf9AlfjL1AvtfVOxwY82tHPfYrA0lskJpFjfiEMGTLU6e0vdOwb4+4x++gGz49azuGK0woYqdfL03uw== esbuild-freebsd-arm64@0.14.27: version "0.14.27" @@ -4591,10 +4652,10 @@ esbuild-freebsd-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" integrity sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== -esbuild-freebsd-arm64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.31.tgz#f793085c7184fcd08649b8d185edc5c2ce112e82" - integrity sha512-t85bS6jbRpmdjr4pdr/FY/fpx8lo1vv9S7BAs2EsXKJQhRDMIiC3QW+k2acYJoRuqirlvJcJVFQGCq/PfyC1kA== +esbuild-freebsd-arm64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.32.tgz#46668a10e5a51665ed800b10a02b757bf6bc6fbf" + integrity sha512-zIRR4gKQW56p/xLM8TlpxVBNiX0w3VoR9ZxfH4nrfJ7QiL0SYHRy8YPL5C7zMWRjSze2WxQRHfS9bHKdVrVXBw== esbuild-linux-32@0.14.27: version "0.14.27" @@ -4606,10 +4667,10 @@ esbuild-linux-32@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" integrity sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== -esbuild-linux-32@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.31.tgz#cac97ec7da6fbde0c21dbe08babd0d2a034f317d" - integrity sha512-XYtOk/GodSkv+UOYVwryGpGPuFnszsMvRMKq6cIUfFfdssHuKDsU9IZveyCG44J106J39ABenQ5EetbYtVJHUw== +esbuild-linux-32@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.32.tgz#ac51a64f26f638618ff62a1a966babe065bc54cc" + integrity sha512-kn0AkGtPvzA6xiv93/mavvZ7DVinu/ewh2F2S0/8mE8/PXi3D4+svZ6V3beV5DIH7vcHVuGhoooWav8HPF04tg== esbuild-linux-64@0.14.27: version "0.14.27" @@ -4621,10 +4682,10 @@ esbuild-linux-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" integrity sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== -esbuild-linux-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.31.tgz#ec94cd5228e6777d2feb3c24a1fe1cbf8817d6da" - integrity sha512-Zf9CZxAxaXWHLqCg/QZ/hs0RU0XV3IBxV+ENQzy00S4QOTnZAvSLgPciILHHrVJ0lPIlb4XzAqlLM5y6iI2LIw== +esbuild-linux-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.32.tgz#a3dfeb772f339fb34f0ff61df753a70a01be243a" + integrity sha512-Ie+PMvrPj/HCOmSc0QubKttDxP2iBtPzDu+b+V3HGDGwkGmVpDkyXx1NXp5LjkIphIay2QekMwy1dSw3KDqCew== esbuild-linux-arm64@0.14.27: version "0.14.27" @@ -4636,10 +4697,10 @@ esbuild-linux-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" integrity sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== -esbuild-linux-arm64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.31.tgz#d119188fccd6384db5c703de24c46dacaee3e9e8" - integrity sha512-V/H0tv+xpQ9IOHM+o85oCKNNidIEc5CcnDWl0V+hPd2F03dqdbFkWPBGphx8rD4JSQn6UefUQ1iH7y1qIzO8Fw== +esbuild-linux-arm64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.32.tgz#df2fead5c0d9228eede866359f35b3e0eef4e192" + integrity sha512-ykoqKaxX95nB+lk2K/+qxr0ke+BxkeVi0yKOnymCR5Ive7IZDHa4BJX53NEGSBKLfWPwKE6SXTz8qcEewSntoA== esbuild-linux-arm@0.14.27: version "0.14.27" @@ -4651,10 +4712,10 @@ esbuild-linux-arm@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" integrity sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== -esbuild-linux-arm@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.31.tgz#63e10846886901e5632a591d44160f95c5d12ba7" - integrity sha512-RpiaeHPRlgCCDskxoyIsI49BhcDtZ4cl8+SLffizDm0yMNWP538SUg0ezQ2TTOPj3/svaGIbkRDwYtAon0Sjkg== +esbuild-linux-arm@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.32.tgz#64633aa6491e91d935324cf041795ebce18c071b" + integrity sha512-R/Bvn/YQNDyvfN0SERh/I7hKPqN+nSSruQdVeiYEJ+jc3fUi73jXYAscpTQgIBeER/yXnEsgJGU/UQ9+sscr7A== esbuild-linux-mips64le@0.14.27: version "0.14.27" @@ -4666,10 +4727,10 @@ esbuild-linux-mips64le@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" integrity sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== -esbuild-linux-mips64le@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.31.tgz#1cd44f72cde6489a5d6deea7c54efa6f3d6590ee" - integrity sha512-9/oBfAckInRuUg6AEgdCLLn6KJ6UOJDOLmUinTsReVSg6AfV6wxYQJq9iQM2idRogP7GUpomJ+bvCdWXpotQRQ== +esbuild-linux-mips64le@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.32.tgz#f0a7a083e8fdfb6e4edffb93ec27de2c5d732f01" + integrity sha512-IilnlBexpHpt/5po0cle/L/S6CYnwaq23UuAqWzxp+opHLOCNnyANpC1jOoP551aRx4JuZ7z3xZZ7bYQZB147w== esbuild-linux-ppc64le@0.14.27: version "0.14.27" @@ -4681,10 +4742,10 @@ esbuild-linux-ppc64le@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" integrity sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== -esbuild-linux-ppc64le@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.31.tgz#3b5ccc05e5b8ef5c494f30a61fdd27811d2bbeeb" - integrity sha512-NMcb14Pg+8q8raGkzor9/R3vQwKzgxE3694BtO2SDLBwJuL2C1dQ1ZtM1t7ZvArQBgT8RiZVxb0/3fD+qGNk7g== +esbuild-linux-ppc64le@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.32.tgz#dc22b766dd4ddd20c28febe36e8b92b9c11faa63" + integrity sha512-TR6l5nWZbfq7jSY+1vsiQjT4m67NWplNhbX6GBieZq6DBt0nTx1XgTZAdKROF7jTuaK7YrCYlPXtfO3w86Mysw== esbuild-linux-riscv64@0.14.27: version "0.14.27" @@ -4696,10 +4757,10 @@ esbuild-linux-riscv64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" integrity sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== -esbuild-linux-riscv64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.31.tgz#d74ca78c8ed1d9b40bc907a9e3ef6e83fc06189c" - integrity sha512-l13yvmsVfawAnoYfcpuvml+nTlrOmtdceXYufSkXl2DOb0JKcuR6ARlAzuQCDcpo49SOJy1cCxpwlOIsUQBfzA== +esbuild-linux-riscv64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.32.tgz#0ae09eee847de5993cbe1529591d5ca17c7303c5" + integrity sha512-aSOcUzTeIAslfri8e+bMpyzQuxhcIiNhWyuCGGXum2PtxwYiUqR8/UCMYfwYtYkhr1yABOFOfs83mm9KBy5qCQ== esbuild-linux-s390x@0.14.27: version "0.14.27" @@ -4711,10 +4772,10 @@ esbuild-linux-s390x@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" integrity sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== -esbuild-linux-s390x@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.31.tgz#1bd547b8b027e323b77a838d265cb56ece2543af" - integrity sha512-GIwV9mY3koYja9MCSkKLk1P7rj+MkPV0UsGsZ575hEcIBrXeKN9jBi6X/bxDDPEN/SUAH35cJhBNrZU4x9lEfg== +esbuild-linux-s390x@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.32.tgz#1297f9f130cd93495e7ce25c63a79dab223b89de" + integrity sha512-dNlip+EvexxKjRZitFCWCd7DVk64c7R5ySr8aFEMHCb/RriNiyDxYJGzYWm4EMJsMRMupMUHlMY64BAa3Op9FA== esbuild-netbsd-64@0.14.27: version "0.14.27" @@ -4726,10 +4787,10 @@ esbuild-netbsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" integrity sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== -esbuild-netbsd-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.31.tgz#964a45dbad4fac92aa0a15056e38a182735bd6c6" - integrity sha512-bJ+pyLvKQm+Obp5k7/Wk8e9Gdkls56F1aiI3uptoIfOIUqsZImH7pDyTrSufwqsFp62kO9LRuwXnjDwQtPyhFQ== +esbuild-netbsd-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.32.tgz#902bf5ba7c54db9c7274f019c4d006b1b963fb7d" + integrity sha512-Pa3QByYqxzlBFQQQhjYBPg3WUfSjwibqzh1hC6mPDRUHnCeUcrLoBuIiG4xqOYEpQM9/kDowIBsrGIQEVWWdQA== esbuild-openbsd-64@0.14.27: version "0.14.27" @@ -4741,10 +4802,10 @@ esbuild-openbsd-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" integrity sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== -esbuild-openbsd-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.31.tgz#7d2a1d46450321b0459263d3e7072e6d3924ce46" - integrity sha512-NRAAPPca05H9j9Xab0kVXK0V6/pyZGGy8d2Y8KS0BMwWEydlD4KCJDmH8/7bWCKYLRGOOCE9/GPBJyPWHFW3sg== +esbuild-openbsd-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.32.tgz#0fbfbdf555deeb05a8915daf0b71168d09773437" + integrity sha512-uWKKqpCjkMY8TCIobFvaSETonQY3OrmgnoTCC3tF+lvMoneYjppB6akx7L5Xv0kP+1tnSbrIof1ca8PfqGUyjw== esbuild-sunos-64@0.14.27: version "0.14.27" @@ -4756,20 +4817,20 @@ esbuild-sunos-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== -esbuild-sunos-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.31.tgz#3b3e4363951cd1dda14a14fee6d94ca426108e0c" - integrity sha512-9uA+V8w9Eehu4ldb95lPWdgCMcMO5HH6pXmfkk5usn3JsSZxKdLKsXB4hYgP80wscZvVYXJl2G+KNxsUTfPhZw== +esbuild-sunos-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.32.tgz#d493ca5222703dd0b8c489324d1517cd622618e8" + integrity sha512-Ar+u3mBk0oVV4Fwv/qlinJZNIPPtTBSG+1W42o8lOaVxJ+rJgecDoeUN+5uyd9at0BK1SVrQ1qZ4wjHKB0qFpQ== esbuild-wasm@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== -esbuild-wasm@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.31.tgz#9827a10377369182833479fe2c6747dee6b612dc" - integrity sha512-1TBBAUa1WZHggxVYBFfwafolLimEunkcKmvNJ+sOaroabmq5And/CcXDy2LJKnUQyEF0sI/xhnMW9eESKQkZmg== +esbuild-wasm@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.32.tgz#8c55979be32689ab2def7a6644f6cf70070f0cab" + integrity sha512-evuEcldI6O4BGX4LXCNBPabAl3raW+8a75qt0FJ4e6JnknMC+YHmiKRao5WIhOlSNDBGJ9PANxcrZIoQFXcbnA== esbuild-wasm@^0.14.25: version "0.14.28" @@ -4786,10 +4847,10 @@ esbuild-windows-32@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" integrity sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== -esbuild-windows-32@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.31.tgz#997026a41c04535bfb7c014a0458940b49145820" - integrity sha512-VGdncQTqoxD9q3v/dk0Yugbmx2FzOkcs0OemBYc1X9KXOLQYH0uQbLJIckZdZOC3J+JKSExbYFrzYCOwWPuNyA== +esbuild-windows-32@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.32.tgz#c6b0f4cf952c6f562a32fe763acab9fb8cb3912a" + integrity sha512-rLMsbflMY6Hjh3rmQnCDVZahJQ7n+XfT6o1+no5pHRpDlMh38MHthgGh35q+EcOMgrGP3ppnw70rhJq80SaYTQ== esbuild-windows-64@0.14.27: version "0.14.27" @@ -4801,10 +4862,10 @@ esbuild-windows-64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" integrity sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== -esbuild-windows-64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.31.tgz#5d4b0ea686c9b60036303b3415c472f2761bdafc" - integrity sha512-v/2ye5zBqpmCzi3bLCagStbNQlnOsY7WtMrD2Q0xZxeSIXONxji15KYtVee5o7nw4lXWbQSS1BL8G6BBMvtq4A== +esbuild-windows-64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.32.tgz#2ad9322a963fd26bb4818ad1c0ee7acde63ebb81" + integrity sha512-OHnMMxYufVgLXIMnwLynLMKguHMrsVnWcehieSP9i6ZX31KEsOFYWrorcnTWOn4rbZVLSL10ofxLuVIgRW3SWw== esbuild-windows-arm64@0.14.27: version "0.14.27" @@ -4816,10 +4877,10 @@ esbuild-windows-arm64@0.14.28: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== -esbuild-windows-arm64@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.31.tgz#4f3b9fc34c4a33abbd0171df6cbb657ccbdbfc67" - integrity sha512-RXeU42FJoG1sriNHg73h4S+5B7L/gw+8T7U9u8IWqSSEbY6fZvBh4uofugiU1szUDqqP00GHwZ09WgYe3lGZiw== +esbuild-windows-arm64@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.32.tgz#bb589106c0fd5d582cce62bd7995a6e5db52e7b4" + integrity sha512-ddavy6IPUBySMfqDfG243TgtuqwQBNJQJPVaA4DaavmMfpBsUxFrSV+HzBWXTKU3I9EcuoEvIATLuQ7NJKxjwg== esbuild@0.14.27: version "0.14.27" @@ -4847,31 +4908,31 @@ esbuild@0.14.27: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" -esbuild@0.14.31: - version "0.14.31" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.31.tgz#f7d0db114edc615f66d84972ee9fbd2b267f4029" - integrity sha512-QA0fUM13+JZzcvg1bdrhi7wo8Lr5IRHA9ypNn2znqxGqb66dSK6pAh01TjyBOhzZGazPQJZ1K26VrCAQJ715qA== +esbuild@0.14.32: + version "0.14.32" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.32.tgz#f55245ccd4b820707147ac4cc69a2c3e1a76af03" + integrity sha512-RuzVUP/bkStmnVHK6Gh3gjaMjfXNLqBqvYVDiS9JKl5KdRdRLUeW5Wo8NrbL7cL6CW7Cyak7SvACqyPOBuA8vA== optionalDependencies: - esbuild-android-64 "0.14.31" - esbuild-android-arm64 "0.14.31" - esbuild-darwin-64 "0.14.31" - esbuild-darwin-arm64 "0.14.31" - esbuild-freebsd-64 "0.14.31" - esbuild-freebsd-arm64 "0.14.31" - esbuild-linux-32 "0.14.31" - esbuild-linux-64 "0.14.31" - esbuild-linux-arm "0.14.31" - esbuild-linux-arm64 "0.14.31" - esbuild-linux-mips64le "0.14.31" - esbuild-linux-ppc64le "0.14.31" - esbuild-linux-riscv64 "0.14.31" - esbuild-linux-s390x "0.14.31" - esbuild-netbsd-64 "0.14.31" - esbuild-openbsd-64 "0.14.31" - esbuild-sunos-64 "0.14.31" - esbuild-windows-32 "0.14.31" - esbuild-windows-64 "0.14.31" - esbuild-windows-arm64 "0.14.31" + esbuild-android-64 "0.14.32" + esbuild-android-arm64 "0.14.32" + esbuild-darwin-64 "0.14.32" + esbuild-darwin-arm64 "0.14.32" + esbuild-freebsd-64 "0.14.32" + esbuild-freebsd-arm64 "0.14.32" + esbuild-linux-32 "0.14.32" + esbuild-linux-64 "0.14.32" + esbuild-linux-arm "0.14.32" + esbuild-linux-arm64 "0.14.32" + esbuild-linux-mips64le "0.14.32" + esbuild-linux-ppc64le "0.14.32" + esbuild-linux-riscv64 "0.14.32" + esbuild-linux-s390x "0.14.32" + esbuild-netbsd-64 "0.14.32" + esbuild-openbsd-64 "0.14.32" + esbuild-sunos-64 "0.14.32" + esbuild-windows-32 "0.14.32" + esbuild-windows-64 "0.14.32" + esbuild-windows-arm64 "0.14.32" esbuild@^0.14.25: version "0.14.28" @@ -4956,7 +5017,7 @@ eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-module-utils@^2.7.2: +eslint-module-utils@^2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== @@ -4969,24 +5030,24 @@ eslint-plugin-header@3.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz#6ce512432d57675265fac47292b50d1eff11acd6" integrity sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg== -eslint-plugin-import@2.25.4: - version "2.25.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" - integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== +eslint-plugin-import@2.26.0: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== dependencies: array-includes "^3.1.4" array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.2" + eslint-module-utils "^2.7.3" has "^1.0.3" - is-core-module "^2.8.0" + is-core-module "^2.8.1" is-glob "^4.0.3" - minimatch "^3.0.4" + minimatch "^3.1.2" object.values "^1.1.5" - resolve "^1.20.0" - tsconfig-paths "^3.12.0" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" @@ -5204,7 +5265,7 @@ express@4.17.2: utils-merge "1.0.1" vary "~1.1.2" -express@4.17.3, express@^4.17.1: +express@4.17.3, express@^4.17.1, express@^4.17.3: version "4.17.3" resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== @@ -5934,7 +5995,7 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-middleware@^2.0.0: +http-proxy-middleware@^2.0.0, http-proxy-middleware@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== @@ -6234,7 +6295,7 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-core-module@^2.1.0, is-core-module@^2.8.0, is-core-module@^2.8.1: +is-core-module@^2.1.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -7346,7 +7407,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7484,6 +7545,14 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" +multicast-dns@^7.2.4: + version "7.2.4" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.4.tgz#cf0b115c31e922aeb20b64e6556cbeb34cf0dd19" + integrity sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -7687,6 +7756,13 @@ npm-install-checks@^4.0.0: dependencies: semver "^7.1.1" +npm-install-checks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" + integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== + dependencies: + semver "^7.1.1" + npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" @@ -7720,7 +7796,17 @@ npm-packlist@^4.0.0: npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: +npm-pick-manifest@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" + integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== + dependencies: + npm-install-checks "^5.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-pick-manifest@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.0.tgz#e3b18b09678a47e894f90941bef8204ea5d96c3b" integrity sha512-njM1AcdioFaKd0JSGtLO09YA1WRwctjGQJbnHGmKS+u+uwP8oFvtZtOQWPYdxrnY5eJud3wn8OpH4sEIx6+GEQ== @@ -8007,14 +8093,14 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.0.5: - version "13.0.5" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.5.tgz#d6f370b11112492d8257ae1178a003b36d4bb261" - integrity sha512-6CYfot3/rUAn3qqzF2d/jrrXm5HlBtvaSgfmg0VtOUAdJ8fbSq21BJwftMGArkL71yXHIbUJ7Bt5B04547HELA== +pacote@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.1.0.tgz#a834921c8d6d27841b1027b6a8376351d155a671" + integrity sha512-Ns2chroFx26U4Bd+qm/ETxHGv+HLafoy5TVAcYHigIqANZ+kkk6PANMr1KAugNYecnrN+5lwwiWyBeu40nuU7Q== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^3.0.1" cacache "^16.0.0" chownr "^2.0.0" @@ -8031,7 +8117,7 @@ pacote@13.0.5: read-package-json "^5.0.0" read-package-json-fast "^2.0.3" rimraf "^3.0.2" - ssri "^8.0.1" + ssri "^9.0.0" tar "^6.1.11" pako@^0.2.5: @@ -9241,7 +9327,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: +resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -9492,7 +9578,7 @@ selenium-webdriver@4.1.1: tmp "^0.2.1" ws ">=7.4.6" -selfsigned@^2.0.0: +selfsigned@^2.0.0, selfsigned@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== @@ -9968,6 +10054,13 @@ ssri@^8.0.1: dependencies: minipass "^3.1.1" +ssri@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.0.tgz#70ad90e339eb910f1a7ff1dcf4afc268326c4547" + integrity sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ== + dependencies: + minipass "^3.1.1" + static-eval@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.1.0.tgz#a16dbe54522d7fa5ef1389129d813fd47b148014" @@ -10436,7 +10529,7 @@ ts-node@^10.0.0: v8-compile-cache-lib "^3.0.0" yn "3.1.1" -tsconfig-paths@^3.12.0: +tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== @@ -10948,6 +11041,41 @@ webpack-dev-server@4.7.4: webpack-dev-middleware "^5.3.1" ws "^8.4.2" +webpack-dev-server@4.8.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz#58f9d797710d6e25fa17d6afab8708f958c11a29" + integrity sha512-dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + portfinder "^1.0.28" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.21" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From 725e3266613b5d5e68f3bf4c192de99534b75876 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 5 Apr 2022 18:28:02 +0000 Subject: [PATCH 0272/1388] build: update angular to 7c6fc3e --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 8 ++--- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8d0c8c55ffd1..a2e9b9b8fa6c 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@6a4916de5191a1a4e84f4ee1710354623b8f6691 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@28d1d815e56275482b92ec45d7d38626403c8e18 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 1aba81fca4c2..7f883f79d862 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@6a4916de5191a1a4e84f4ee1710354623b8f6691 + - uses: angular/dev-infra/github-actions/feature-request@28d1d815e56275482b92ec45d7d38626403c8e18 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 2726577e627f..58abc838394b 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@6a4916de5191a1a4e84f4ee1710354623b8f6691 + - uses: angular/dev-infra/github-actions/lock-closed@28d1d815e56275482b92ec45d7d38626403c8e18 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index ee842248f663..86dfaee00386 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.10", "@angular/compiler-cli": "14.0.0-next.10", "@angular/core": "14.0.0-next.10", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#080e56a0d677b54e101caf8b1f14ae332a374ea5", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#8596313427b36cd87ffb36cf3a951c340db07bdd", "@angular/forms": "14.0.0-next.10", "@angular/localize": "14.0.0-next.10", "@angular/material": "14.0.0-next.9", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d6d10211e2ef..966b748da93e 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#2fbc7c8d5fca5bdebc6b8053cc90f1f374c57bed", - "@angular/cdk": "github:angular/cdk-builds#8d7a50036e8060cd03d89b9882d40c5701f68c55", - "@angular/common": "github:angular/common-builds#c6d3d6b6071c14ebe58518850219c428342f0263", - "@angular/compiler": "github:angular/compiler-builds#136f13dbd28154a09007621f947d93bb93ac0d15", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#0c877bdfdc0e3c944d365fdee85af3b9cc0e241b", - "@angular/core": "github:angular/core-builds#ae3b7ad98f307c8ede7d506847a8470d7053bd1a", - "@angular/forms": "github:angular/forms-builds#61c7dcd47ca2064cf65044546ed03ac36ba55d4f", - "@angular/language-service": "github:angular/language-service-builds#f844671b9c6ed208371b37752b2eefef66c6f313", - "@angular/localize": "github:angular/localize-builds#7490746e053d6613b9e57a5e33a25963e51cfc11", - "@angular/material": "github:angular/material-builds#fcffb28a067c71b5a675891be61f06a1d87ebd63", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b1d74157135d64b7e7f742430b083b5d1055d16f", - "@angular/platform-browser": "github:angular/platform-browser-builds#50d7256d3f4cbd61d9f16be321fbbea148e28f28", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2e8767b71f811842f1a71f975e7a6209ea25c34c", - "@angular/platform-server": "github:angular/platform-server-builds#77df59cdcdf77c038ea3c2ceeec314ad68c9d905", - "@angular/router": "github:angular/router-builds#f5c8e8f05f79ccb37a130f0ca1c159efc9123dfe", - "@angular/service-worker": "github:angular/service-worker-builds#85ea3d6001b52f6b09914f0324efdba8f5889a15" + "@angular/animations": "github:angular/animations-builds#7c6fc3e933d65cdd4640785241c3fe3ed7eae9e6", + "@angular/cdk": "github:angular/cdk-builds#bd3ce8614fd55ab06b78f759d0c2f320af627ed7", + "@angular/common": "github:angular/common-builds#2f89ddeadb074244d08ac056f63ba23f6da8bd9f", + "@angular/compiler": "github:angular/compiler-builds#4d5c5579fa490b28b6126fbc57e5fa2b7da93280", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#b546eb39e7da6d695e45d695d3d654c30dfbb6d7", + "@angular/core": "github:angular/core-builds#4ea151ae452a9d95d96f7c5ec36f4c3c5a95ce6b", + "@angular/forms": "github:angular/forms-builds#758cefa332c589a21a6cc2fd2cd9de998cb8cee3", + "@angular/language-service": "github:angular/language-service-builds#56dfa81fcff9feb68b4d62784eb64d1baa0f908b", + "@angular/localize": "github:angular/localize-builds#4e7319a9faf7eccd356f8e2f30f77baaca147636", + "@angular/material": "github:angular/material-builds#09eacd0522304d64c8c73febd511be647459e3cc", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e45c61f391c6bba4e02a1645265e78c89a9f41b9", + "@angular/platform-browser": "github:angular/platform-browser-builds#e5e3b8fcdda7a0493e460b795b33b40bf7fabafe", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#8bcf6368003d7da6b6dfcf633e204f828d310771", + "@angular/platform-server": "github:angular/platform-server-builds#83ddaac45f04e1c8ed003b2d21015de7d8433801", + "@angular/router": "github:angular/router-builds#a05151d364eae3546c992ddf28dcbc5cd9242fb9", + "@angular/service-worker": "github:angular/service-worker-builds#dcbfc00730428bac3068b7817c12f9238538564d" } } diff --git a/yarn.lock b/yarn.lock index 30db6a930168..c664b7dc8a8f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -176,10 +176,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#080e56a0d677b54e101caf8b1f14ae332a374ea5": - version "0.0.0-6a4916de5191a1a4e84f4ee1710354623b8f6691" - uid "080e56a0d677b54e101caf8b1f14ae332a374ea5" - resolved "https://github.com/angular/dev-infra-private-builds.git#080e56a0d677b54e101caf8b1f14ae332a374ea5" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#8596313427b36cd87ffb36cf3a951c340db07bdd": + version "0.0.0-28d1d815e56275482b92ec45d7d38626403c8e18" + uid "8596313427b36cd87ffb36cf3a951c340db07bdd" + resolved "https://github.com/angular/dev-infra-private-builds.git#8596313427b36cd87ffb36cf3a951c340db07bdd" dependencies: "@angular-devkit/build-angular" "14.0.0-next.6" "@angular/benchpress" "0.3.0" From 6984740db4d2514c6c4936fa0b444b5b80f582dc Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 6 Apr 2022 11:19:39 -0700 Subject: [PATCH 0273/1388] docs: release notes for the v13.3.2 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a074440aaded..1b98f163b5f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 13.3.2 (2022-04-06) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | +| [49dc63d09](https://github.com/angular/angular-cli/commit/49dc63d09a7a7f2b7759b47e79fac934b867e9b4) | fix | ensure lint command auto-add exits after completion | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [bbe74b87e](https://github.com/angular/angular-cli/commit/bbe74b87e52579c06b911db6173f33c67b8010a6) | fix | provide actionable error message when routing declaration cannot be found | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------- | +| [c97c8e7c9](https://github.com/angular/angular-cli/commit/c97c8e7c9bbcad66ba80967681cac46042c3aca7) | fix | update `minimatch` dependency to `3.0.5` | + +## Special Thanks + +Alan Agius, Charles Lyding and Morga Cezary + + + # 14.0.0-next.7 (2022-03-30) From 45b1365e31f9cb3fc440e68ebfcd2a2774054684 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 6 Apr 2022 11:25:19 -0700 Subject: [PATCH 0274/1388] release: cut the v14.0.0-next.8 release --- CHANGELOG.md | 34 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b98f163b5f1..2f09e499f449 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ + + +# 14.0.0-next.8 (2022-04-06) + +## Breaking Changes + +### @angular-devkit/core + +- `parseJson` and `ParseJsonOptions` APIs have been removed in favor of 3rd party JSON parsers such as `jsonc-parser`. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [7db433bb0](https://github.com/angular/angular-cli/commit/7db433bb066cc077d0c1cff7668d557c1c17160f) | fix | provide actionable error message when routing declaration cannot be found | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | +| [0316dea67](https://github.com/angular/angular-cli/commit/0316dea676be522b04d654054880cc5794e3c8b3) | feat | add prompts on missing builder targets | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------- | +| [67144b9e5](https://github.com/angular/angular-cli/commit/67144b9e54b5a9bfbc963e386b01275be5eaccf5) | refactor | remove deprecated `parseJson` and `ParseJsonOptions` APIs | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker and Joey Perrott + + + # 13.3.2 (2022-04-06) diff --git a/package.json b/package.json index 86dfaee00386..30c185a8823f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.7", + "version": "14.0.0-next.8", "private": true, "description": "Software Development Kit for Angular", "bin": { From ebbb0adf56bccefc4a5e4a4b45c8b9298df0d111 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 6 Apr 2022 06:26:56 +0000 Subject: [PATCH 0275/1388] build: update dependency ini to v3 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 30c185a8823f..b9ef2a3fdbcc 100644 --- a/package.json +++ b/package.json @@ -149,7 +149,7 @@ "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.0", "husky": "7.0.4", - "ini": "2.0.0", + "ini": "3.0.0", "inquirer": "8.2.2", "jasmine": "^4.0.0", "jasmine-core": "~4.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 264f58590273..5de4b1dac91c 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -29,7 +29,7 @@ "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.4", - "ini": "2.0.0", + "ini": "3.0.0", "inquirer": "8.2.2", "jsonc-parser": "3.0.0", "npm-package-arg": "9.0.2", diff --git a/yarn.lock b/yarn.lock index c664b7dc8a8f..44b1cfa00471 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6164,10 +6164,10 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== +ini@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" + integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== ini@^1.3.4: version "1.3.8" From a66cfd0c6d9e22a1c0352f8214348cd7b9fb5b54 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 8 Apr 2022 12:00:02 +0200 Subject: [PATCH 0276/1388] refactor(@angular-devkit/core): replace `fast-json-stable-stringify` import to es6 --- .../core/src/experimental/jobs/strategy.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts b/packages/angular_devkit/core/src/experimental/jobs/strategy.ts index 4cef95165fc6..55d53b126f29 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/strategy.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import stableStringify from 'fast-json-stable-stringify'; import { Observable, Subject, concat, of } from 'rxjs'; import { finalize, ignoreElements, share, shareReplay, tap } from 'rxjs/operators'; import { JsonValue } from '../../json'; @@ -18,14 +19,12 @@ import { JobOutboundMessageKind, } from './api'; -const stableStringify = require('fast-json-stable-stringify'); - // eslint-disable-next-line @typescript-eslint/no-namespace export namespace strategy { export type JobStrategy< A extends JsonValue = JsonValue, I extends JsonValue = JsonValue, - O extends JsonValue = JsonValue + O extends JsonValue = JsonValue, > = ( handler: JobHandler, options?: Partial>, @@ -37,7 +36,7 @@ export namespace strategy { export function serialize< A extends JsonValue = JsonValue, I extends JsonValue = JsonValue, - O extends JsonValue = JsonValue + O extends JsonValue = JsonValue, >(): JobStrategy { let latest: Observable> = of(); @@ -66,7 +65,7 @@ export namespace strategy { export function reuse< A extends JsonValue = JsonValue, I extends JsonValue = JsonValue, - O extends JsonValue = JsonValue + O extends JsonValue = JsonValue, >(replayMessages = false): JobStrategy { let inboundBus = new Subject>(); let run: Observable> | null = null; @@ -121,7 +120,7 @@ export namespace strategy { export function memoize< A extends JsonValue = JsonValue, I extends JsonValue = JsonValue, - O extends JsonValue = JsonValue + O extends JsonValue = JsonValue, >(replayMessages = false): JobStrategy { const runs = new Map>>(); From 3909528c0837a4e9a7dd5afcf2d45cd0c9830d70 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 8 Apr 2022 00:36:16 +0000 Subject: [PATCH 0277/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 26 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 26 +- yarn.lock | 835 ++++-------------- 7 files changed, 197 insertions(+), 700 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index a2e9b9b8fa6c..ca5243a59305 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@28d1d815e56275482b92ec45d7d38626403c8e18 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@50857c6aa6532660e84d2974272f6b0041e291b8 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 7f883f79d862..f3f9633328fa 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@28d1d815e56275482b92ec45d7d38626403c8e18 + - uses: angular/dev-infra/github-actions/feature-request@50857c6aa6532660e84d2974272f6b0041e291b8 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 58abc838394b..d9c5d8021697 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@28d1d815e56275482b92ec45d7d38626403c8e18 + - uses: angular/dev-infra/github-actions/lock-closed@50857c6aa6532660e84d2974272f6b0041e291b8 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index b9ef2a3fdbcc..b8244493aad0 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.10", + "@angular/animations": "14.0.0-next.11", "@angular/cdk": "14.0.0-next.9", - "@angular/common": "14.0.0-next.10", - "@angular/compiler": "14.0.0-next.10", - "@angular/compiler-cli": "14.0.0-next.10", - "@angular/core": "14.0.0-next.10", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#8596313427b36cd87ffb36cf3a951c340db07bdd", - "@angular/forms": "14.0.0-next.10", - "@angular/localize": "14.0.0-next.10", + "@angular/common": "14.0.0-next.11", + "@angular/compiler": "14.0.0-next.11", + "@angular/compiler-cli": "14.0.0-next.11", + "@angular/core": "14.0.0-next.11", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c", + "@angular/forms": "14.0.0-next.11", + "@angular/localize": "14.0.0-next.11", "@angular/material": "14.0.0-next.9", - "@angular/platform-browser": "14.0.0-next.10", - "@angular/platform-browser-dynamic": "14.0.0-next.10", - "@angular/platform-server": "14.0.0-next.10", - "@angular/router": "14.0.0-next.10", - "@angular/service-worker": "14.0.0-next.10", + "@angular/platform-browser": "14.0.0-next.11", + "@angular/platform-browser-dynamic": "14.0.0-next.11", + "@angular/platform-server": "14.0.0-next.11", + "@angular/router": "14.0.0-next.11", + "@angular/service-worker": "14.0.0-next.11", "@babel/core": "7.17.8", "@babel/generator": "7.17.7", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 26d35820bda4..a0f746f2da54 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.10", - "@angular/compiler-cli": "14.0.0-next.10", + "@angular/compiler": "14.0.0-next.11", + "@angular/compiler-cli": "14.0.0-next.11", "typescript": "4.6.3", "webpack": "5.71.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 966b748da93e..3dc3968af41f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7c6fc3e933d65cdd4640785241c3fe3ed7eae9e6", + "@angular/animations": "github:angular/animations-builds#aaab8faf324b3b950a00ec8051b995569c627d40", "@angular/cdk": "github:angular/cdk-builds#bd3ce8614fd55ab06b78f759d0c2f320af627ed7", - "@angular/common": "github:angular/common-builds#2f89ddeadb074244d08ac056f63ba23f6da8bd9f", - "@angular/compiler": "github:angular/compiler-builds#4d5c5579fa490b28b6126fbc57e5fa2b7da93280", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#b546eb39e7da6d695e45d695d3d654c30dfbb6d7", - "@angular/core": "github:angular/core-builds#4ea151ae452a9d95d96f7c5ec36f4c3c5a95ce6b", - "@angular/forms": "github:angular/forms-builds#758cefa332c589a21a6cc2fd2cd9de998cb8cee3", - "@angular/language-service": "github:angular/language-service-builds#56dfa81fcff9feb68b4d62784eb64d1baa0f908b", - "@angular/localize": "github:angular/localize-builds#4e7319a9faf7eccd356f8e2f30f77baaca147636", + "@angular/common": "github:angular/common-builds#0535f226f24d03253cacef9b71fa09513184d949", + "@angular/compiler": "github:angular/compiler-builds#5e73c327e37645f790444edb112679ce50460c52", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#c242db8367b9e4c773d1af64df2896af363ceb4b", + "@angular/core": "github:angular/core-builds#4f3cf624cdee7bb62c8fd7ea149a0c705bef8625", + "@angular/forms": "github:angular/forms-builds#37694dcbcc09d23a34d4af60b53af040313f37a4", + "@angular/language-service": "github:angular/language-service-builds#b54dec5d7de67224f609bb98c8717ad750afc03f", + "@angular/localize": "github:angular/localize-builds#abb87671bb309cfd39fec6e7b0d54a031ea30ab5", "@angular/material": "github:angular/material-builds#09eacd0522304d64c8c73febd511be647459e3cc", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e45c61f391c6bba4e02a1645265e78c89a9f41b9", - "@angular/platform-browser": "github:angular/platform-browser-builds#e5e3b8fcdda7a0493e460b795b33b40bf7fabafe", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#8bcf6368003d7da6b6dfcf633e204f828d310771", - "@angular/platform-server": "github:angular/platform-server-builds#83ddaac45f04e1c8ed003b2d21015de7d8433801", - "@angular/router": "github:angular/router-builds#a05151d364eae3546c992ddf28dcbc5cd9242fb9", - "@angular/service-worker": "github:angular/service-worker-builds#dcbfc00730428bac3068b7817c12f9238538564d" + "@angular/platform-browser": "github:angular/platform-browser-builds#185305260ba8b9b45137dc7789dcec0665b6c2fe", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#42f4b34e737a5d344ec065ea89cf8986d53e5b37", + "@angular/platform-server": "github:angular/platform-server-builds#b64db74a873be1a627869f70cf7ab9263eb71b72", + "@angular/router": "github:angular/router-builds#e8daf2a8966679046b825149466e1fea13f65188", + "@angular/service-worker": "github:angular/service-worker-builds#dc0badd3d5516d4db3038c9165d6b252ab31903b" } } diff --git a/yarn.lock b/yarn.lock index 44b1cfa00471..9d0dda23aba8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,47 +9,46 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1400.0-next.6": - version "0.1400.0-next.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.6.tgz#6e62d380fb6e37b2b79d4bf14062f15da0bae508" - integrity sha512-0UrdngAmP40VrFEjyYIc8DDiv3j6VLocy5igIkgNCaRe6kGNt3WBsn/MZDBmAXwGl050ZkO57QbcM7CBOhN73w== +"@angular-devkit/architect@0.1400.0-next.8": + version "0.1400.0-next.8" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.8.tgz#12035f1f852adf149a1a3b95e01b9a1c7ec695d0" + integrity sha512-OWJ+8eVIWc4pGjcul3yz4lbhYtG0mKzyCTV9XwMdA/0PVfbWVVLdfRO9oou+HhKmb8KAXpWl3iTzgli8tcQFjw== dependencies: - "@angular-devkit/core" "14.0.0-next.6" + "@angular-devkit/core" "14.0.0-next.8" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.6.tgz#b16c9a576b7807045886eed9e4b3bd0f99a2d0f4" - integrity sha512-vH8zXfcmoumBXsIbPqubC/hGxu066+rntQ2GzcJkcYvNdsOB9TIPkLtXib9/SKu2QEG0zJLjOlHtZgkyMeujIA== +"@angular-devkit/build-angular@14.0.0-next.8": + version "14.0.0-next.8" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.8.tgz#cc83ae8744efc3e2f1699a5eb7969b757072b7d0" + integrity sha512-rr00m+GsjqmqGxS9HrMUi/amzFW8ke1gUef3ETzjWosjTfmc9vosdsNK8bO+Bi0HIDZwBUoy+mCBR4PvE783Fg== dependencies: "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.6" - "@angular-devkit/build-webpack" "0.1400.0-next.6" - "@angular-devkit/core" "14.0.0-next.6" - "@babel/core" "7.17.7" + "@angular-devkit/architect" "0.1400.0-next.8" + "@angular-devkit/build-webpack" "0.1400.0-next.8" + "@angular-devkit/core" "14.0.0-next.8" + "@babel/core" "7.17.8" "@babel/generator" "7.17.7" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" "@babel/plugin-transform-runtime" "7.17.0" "@babel/preset-env" "7.16.11" - "@babel/runtime" "7.17.7" + "@babel/runtime" "7.17.8" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-next.6" + "@ngtools/webpack" "14.0.0-next.8" ansi-colors "4.1.1" - babel-loader "8.2.3" + babel-loader "8.2.4" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "16.0.1" + cacache "16.0.4" copy-webpack-plugin "10.2.4" - core-js "3.21.1" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.27" + esbuild-wasm "0.14.32" glob "7.2.0" https-proxy-agent "5.0.0" - inquirer "8.2.1" + inquirer "8.2.2" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" @@ -63,55 +62,55 @@ parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" postcss "8.4.12" - postcss-import "14.0.2" + postcss-import "14.1.0" postcss-loader "6.2.1" - postcss-preset-env "7.4.2" + postcss-preset-env "7.4.3" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.49.9" + sass "1.49.11" sass-loader "12.6.0" semver "7.3.5" source-map-loader "3.0.1" source-map-support "0.5.21" - stylus "0.56.0" + stylus "0.57.0" stylus-loader "6.2.0" terser "5.12.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.70.0" + webpack "5.71.0" webpack-dev-middleware "5.3.1" - webpack-dev-server "4.7.4" + webpack-dev-server "4.8.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.27" + esbuild "0.14.32" -"@angular-devkit/build-webpack@0.1400.0-next.6": - version "0.1400.0-next.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.6.tgz#a3e9507966e7ce655d583baaaad8bc4f3fb2f4d3" - integrity sha512-bBiPQ30+kdgHX9/dExfXs1rEiFTSF3f9Rd0tm/EkYkejdR0+QTOV6o+cDTutts4LKebRV14Fqbj1NQW9MwHTvg== +"@angular-devkit/build-webpack@0.1400.0-next.8": + version "0.1400.0-next.8" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.8.tgz#a02b5d0084881fa299299f091ba3d4658c81ce7c" + integrity sha512-bZVv0AZvzRk25iGYuduRI9ROgUUpxpfoRoj6B0W2Mz8WYGXIKplwXSQU6xgOWWBgVYL4ujchwqnhtwwx8yeq7w== dependencies: - "@angular-devkit/architect" "0.1400.0-next.6" + "@angular-devkit/architect" "0.1400.0-next.8" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.6.tgz#e3956878ba3dfc2687b04ea4469968cd918bb5d9" - integrity sha512-QvQEbI+T61aM1nDZFAdfWdNumq3UzT7Yno1xTu+ODDlFZcsmtWJXu9jrke71mTk8hIIR4GY0fJ1bPoEA+pKUuQ== +"@angular-devkit/core@14.0.0-next.8": + version "14.0.0-next.8" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.8.tgz#aae911c4d7786c03da5c7c7b0b2fbc83f2328908" + integrity sha512-ccOADx0inrklJy+vR0laMIVvl51P54+JFmKT6/ufefgIOFQbXpm8uws8AH9SaSsV+WdbBlQgg58oNDxrwURptg== dependencies: - ajv "8.10.0" + ajv "8.11.0" ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" magic-string "0.26.1" rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.10.tgz#a34e2c7649b9ed13c65f2837cc7e3463a55f35d8" - integrity sha512-exVoJ9sPSo+1BAp4MnVJmH08GdxaJbeqWbPyaddgVjLXM9dWa4a6fdoXUYjf2eu9IeiV7Q/2buMuwZyya56ZoQ== +"@angular/animations@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.11.tgz#90bc854a865b0e20d01d98b3729de1723f16b71f" + integrity sha512-k53ZvZ6yFPnje/HsoG/6KEUJ+aE1ndn1EylPChKXls4INLjc7KqtdsZoRsKp4rNn+QySWSLo5z8cnyw65kNFcQ== dependencies: tslib "^2.3.0" @@ -132,17 +131,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.10.tgz#f88cedaac689e63ada5704e9f9433073fdf7bcce" - integrity sha512-Ff7UT3YguAxLs+3OvLDjcmuQ+46Z+/z8xgYEVwNtiovjaWyXOKbG208b3YLXQ2wfI8pOKktKpAk+AKX1hM6DiQ== +"@angular/common@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.11.tgz#34066a91a15db3ced0cccf1071d6a4d86885e5f3" + integrity sha512-sNvZzIcp311eMZQOKSiq3nN1CuWPKIbGWzHgajLNmwnGvaTcCFnUV9DyJDIhTFF9PKDbLv/KPDhAi26xvufgDg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.10.tgz#be4668c52fccd146ca86931d8d05f9101abdcdb4" - integrity sha512-NfziOfWWZGpryUTAENQAR6TYys0f2WyDnR9TLdsPSR6tJUUuCDLN3v2PMGbV70SKZBLKeueeR8WvJBzDcxeJzA== +"@angular/compiler-cli@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.11.tgz#aa4a2d5dda3eee7806deb749805fe16027e05876" + integrity sha512-VJFcg9Dx2GcDGS5TDa0XE/t0KKz3JoMB+lTGvu2+V0qg3kQ1/cgdITAJD+XZ9lD5bPDCtyyeLXmd11JNd/Icqw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -155,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.10.tgz#0fdaa48c1855a0f51500d18dbe9f27c4abd6b935" - integrity sha512-E98jsXQEp9lVBgGQ1GmnOaxx5tmfe1lJ29tdSU3KuAEVema4P748OusRaVELTG+NBbRsxRh16XrMasd7ZxjW+Q== +"@angular/compiler@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.11.tgz#eeb3fe4f0a91070e7a25b9904df6532b2b2d0dad" + integrity sha512-+OSqlRBIC5lcohgtOIkyJQRGTrWDiDL4ffRzODkH8fYb/Stl0hvOENZ/eRyUpARsQr4Bit/zbrwN8Cv7fy/wmw== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.10.tgz#a4eb213c5c8682bf913a47fa4d44324d4304a6fe" - integrity sha512-rp3eZgH8S5Jh6h2deaJ2LnC1MlRnz1d081QoK7OAfaAyKB/GTg8PrmZGLiixmtD1kQi2idkO3UtqyMdk9YYPag== +"@angular/core@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.11.tgz#463b9cab22986d8eaab96f61035bff947c7f1c28" + integrity sha512-0el3iEH0jQkcwCPO0vHx43ynit2ljORVHuBJ+SFTjZzQXLeejC2Wf9QjghfNptyxUdE/t4SIjdU/6EC4kFSBrQ== dependencies: tslib "^2.3.0" @@ -176,22 +175,22 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#8596313427b36cd87ffb36cf3a951c340db07bdd": - version "0.0.0-28d1d815e56275482b92ec45d7d38626403c8e18" - uid "8596313427b36cd87ffb36cf3a951c340db07bdd" - resolved "https://github.com/angular/dev-infra-private-builds.git#8596313427b36cd87ffb36cf3a951c340db07bdd" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c": + version "0.0.0-50857c6aa6532660e84d2974272f6b0041e291b8" + uid "2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c" + resolved "https://github.com/angular/dev-infra-private-builds.git#2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.6" + "@angular-devkit/build-angular" "14.0.0-next.8" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.0.1" - "@bazel/concatjs" "5.3.0" - "@bazel/esbuild" "5.3.0" - "@bazel/protractor" "5.3.0" - "@bazel/runfiles" "5.3.0" - "@bazel/terser" "5.3.0" - "@bazel/typescript" "5.3.0" - "@microsoft/api-extractor" "7.19.5" + "@bazel/concatjs" "5.4.0" + "@bazel/esbuild" "5.4.0" + "@bazel/protractor" "5.4.0" + "@bazel/runfiles" "5.4.0" + "@bazel/terser" "5.4.0" + "@bazel/typescript" "5.4.0" + "@microsoft/api-extractor" "7.20.1" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -204,7 +203,7 @@ chalk "^4.1.0" clang-format "1.6.0" node-fetch "^2.6.1" - prettier "2.6.1" + prettier "2.6.2" protractor "^7.0.0" selenium-webdriver "4.1.1" send "^0.18.0" @@ -214,19 +213,18 @@ typescript "~4.6.2" uuid "^8.3.2" yargs "^17.0.0" - zone.js "^0.11.4" -"@angular/forms@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.10.tgz#5c7556c916a7186e660bd0afbb47c030e6898c65" - integrity sha512-uP9bEvjl+3yR6knVpHi8H43PugvaeOvmLLxDKW4EdCcVXR9+p6Q1LTMZmkEMTDJfkBmSwg+NeBiE7juOz1Wzeg== +"@angular/forms@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.11.tgz#27a96bb9685403a26c5873408e99afaaf8f612bd" + integrity sha512-hE1OqYxDCXqAZ0/K5MEGPn/jHC0pzdhen7ivGWxh5NEztOv1oShOXdvKv6CZVxqXgvI71Fb4qsWNatMgcrfcXA== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.10.tgz#c948d936af2f02e21c2df28977aae10e1657ab3b" - integrity sha512-ZeUYoywGR4ET3V3Jp5/vVuy2Nhdsh6B1UcTTfjwiFR4nuXMzp4ofV2kGCGRJfTMEDRh9t/4+msFqSBgdD5upXA== +"@angular/localize@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.11.tgz#29ad063065bbe6773cda35cd8fb682259b61a4b5" + integrity sha512-gCA5eBxHZEPMBZn6VyBKvvgmpCBdbygBGHwDVi/UmBpx8vNxVCP5RniQWqj3fGNF7ruSLwpGPcj4B0S2SJzj0g== dependencies: "@babel/core" "7.17.8" glob "7.2.0" @@ -239,40 +237,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.10.tgz#105ac21aa09b8643e02cf2bab0ac5e1a59342186" - integrity sha512-Xl2Vk4/8iPCW0x1+z2TVYpeOlxeSTGGl98A1LDl+LBdrGNzg0KA9y4FWZFoO2a26HMAV0w1mb+yk9HVq7vJo2A== +"@angular/platform-browser-dynamic@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.11.tgz#03da1d0aa7b4b247d025769d96fcbe1c45995516" + integrity sha512-brrCrjv4RHohQ8NFQXjgi38uLaNgnBBegqxAjmKzJtwrvec1delabGo94oYb2fs8l0ePXWspx0ltxWk+1gJnLw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.10.tgz#67d41aab797d6474260490ea90b6c295ec836534" - integrity sha512-woFxLhvSbKasuED4qEsD2+ZsSximtymcK15tpCI82zNkM+gVhSEa+7PYCf/6tVFOtim1BVohW7QUG0p+dapBiA== +"@angular/platform-browser@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.11.tgz#4395f5c9f965122814144cda9d4bb513df161094" + integrity sha512-Gq+EIatZBpnMsjp75+Y+U/axaZObXiUfDvdnK0kNCUj+ca4sgK/63xZborYRzo+lcRz7GbfgKvmp+Fi4kN7BFA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.10.tgz#2fe7a9bab01647e6811a52d121fc45481cc3a569" - integrity sha512-xFMEoeg6mJ5tuvcTmj4hrqkTBSyR3JzhtqDYY2RimmbDPfJ1LJgxb+mJNicfW4fpTejDmHwDlpjqleUoJmLeCA== +"@angular/platform-server@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.11.tgz#07f68b522b0824d6c974c0bb4d60c8db4e6f8912" + integrity sha512-Y5Va7PdbiedsPATavDPefZDzZkNJrKXIvZk6ODJblPNdHV9BfEWzVuRkPaaBevGWp1novtChF3mpEnthorT/mg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.10.tgz#c13bebd3cdce7edebbfe233fd09f07da5c190ed8" - integrity sha512-B6htXZpGeCCKPSn7s98pq8qRJWH0hw/RQBKep54sBYIuYybu2joHJXQ32j0HQ2gQ4zHGzTiIazg1uhJJfGnPng== +"@angular/router@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.11.tgz#505ec3bfa33bacd5e8a45f87f44d5a42acc64c72" + integrity sha512-p09ycF/atOGkjgV3pqfqRCU3gytLE+1Y2keNgQF/KTXghWwi0bsDGpO3Luh6yI0JrARQohC29XVxuNqgOa1H3g== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.10.tgz#163f549c43d675e2bbe3ee6c4537c69a189ea00d" - integrity sha512-CwwSN+Cvvci26fvyKFy+TJrt8UvaPpkeROYG4sZHqfRi6DoNTnFmKJ/RH+Za8KsfY1CZd+lJYKlH0BNK+s7KrA== +"@angular/service-worker@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.11.tgz#4c18b4a13b5a5d5e613a95a68b0d61ff422558a8" + integrity sha512-UTwBCTLK9YKILoLypX0q0rSftZI5OR16fgWKU8fHm8n2cm6bVfi/9zkeDfhE4YDrlqyFlyupdquzHnFHDKDMAg== dependencies: tslib "^2.3.0" @@ -293,27 +291,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" - integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.7" - "@babel/parser" "^7.17.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - "@babel/core@7.17.8", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" @@ -542,7 +519,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.7", "@babel/helpers@^7.17.8": +"@babel/helpers@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== @@ -560,7 +537,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.17.8": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== @@ -1160,13 +1137,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" - integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.17.8", "@babel/runtime@^7.8.4": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" @@ -1217,15 +1187,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== -"@bazel/concatjs@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.3.0.tgz#40abb0690d4109ece1e67a514fba8cd54fced691" - integrity sha512-mLxGpz7JsRIXb1TTi8p56/1IM7FqcN2deUchuXIiSmIUq+85vYcV3UMnR6HZeJh5PGBCwxDNeqkZ/hUAVojaSw== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.0.tgz#04e752a6ea3e684f00879e6683657c4ede72df6e" @@ -1235,10 +1196,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.3.0.tgz#b1c6dfa92d7e56952231ea3a0a3eb02804535d7f" - integrity sha512-UshiI+YFQmSoYW4ej2IxLNnZ2hceIsggTMYTpr16sx0FMOaFQuI3zV0w1/wu+coT18cco0bV/5AZBPV0I0f+Ug== +"@bazel/esbuild@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.0.tgz#94b68f71726c96f60937e0c2bb71ab04c6a0b868" + integrity sha512-jX5aPvlXqi1pqNOogJRYUiUCCqC+378QZestcW3MG/vHyMavVTCC4xvas94nnhtzc7UvufOWhYz/S1m8Orca8g== "@bazel/jasmine@5.4.0": version "5.4.0" @@ -1248,36 +1209,36 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.3.0.tgz#4f690ca8854fe1abb564f4817a7821ebaa152846" - integrity sha512-of7Cxrr6hUnDzzO6aDCy//lYT5v2KgSlfDsq573VdtD/zbkY+UKcRPFCfG9maD3NixsLJCkxdt/DVZrsvmiOYA== +"@bazel/protractor@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.4.0.tgz#9df709d0ec389bf8ea33119cf4c127279d956a1d" + integrity sha512-nCSEnyLNzAW/H400joxpnWkBOOqGBQcwYYzVWHdVKF6eigPjOYTVqEajYVI8iLMSJK1i7vx8HxCOoiiUbrW3wA== -"@bazel/runfiles@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.3.0.tgz#51495dab3a76886d79011047aae0bc48faebc94f" - integrity sha512-RrGOUd/yTgOO0Vl/VxHXlymXSMHGF7kw0q0xpuOuFZheDWOaHs9SZLZgLjkvStEI43zhZpJ9Yf9kZLEPptbWTg== +"@bazel/runfiles@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.4.0.tgz#3783148dec286d4b8a97c50573d22528a0f7c424" + integrity sha512-Kj461fH+fFhyp0iN/7yKS8hMOx27o4DdAK5a/PaFLG9IYdPxICIWBMhS8ccdr21R2LZKxHrjWdh9vRnuuKZtKw== -"@bazel/terser@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.3.0.tgz#50d0f67f6111640b11800cac90d39f26d02eb8dd" - integrity sha512-M4We9XzocIk9ivvgCV2zIIwHEdhP8C+BQQbsrmt5h63S0XKMVrn5bEQiWqE1Q9WxyrZ7pUqHGVelYV/d7QFvtQ== +"@bazel/terser@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.4.0.tgz#46b37a26715c1cfffb67015cd663eacfafe1af52" + integrity sha512-mJYBvhRBU0xfr4vEHJ7EYU3gwfL5tJ/NvCclU7jgMngw4C/tsjbPOIJaAIDUdmmFqjpq3xdUceameqT+3psnwA== -"@bazel/typescript@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.3.0.tgz#84ff0f0d5a1c885c8246b52dc4351029d03213cb" - integrity sha512-n49HdHo/qFqXGYnNlzol203MKb5EytvC1GChroBzqoT6woWpb+p4e/xEatiMOEKWnlyPT/ZUAMQ8Ve/6yv1Dig== +"@bazel/typescript@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.4.0.tgz#0a24e8d47152728f71b26b73adc3913645e5309e" + integrity sha512-AWmS9HcnjqGsPQv5lnqecA8xof+d4ChpbI/Z6aiSM0qOemc8e1WT9wb1VzM6g6hRfV5foWyIHt0VhTonTsPhYw== dependencies: - "@bazel/worker" "5.3.0" + "@bazel/worker" "5.4.0" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.3.0.tgz#c3a1296d741057a1ea380afc2fda06b74c182cd6" - integrity sha512-Tgyaud2/6mtYeaH+uCFQuuIVd/VRDvbUDFJgz8b+/LxTcXaDCb8OSI0ZnrEzLV7FJizMCam3/vWE2x9Ul4SOJw== +"@bazel/worker@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.4.0.tgz#ce50e34951ccf7233b651f0be665bbd43d7ed7f1" + integrity sha512-Rtkol9WoYs0NCZl1wt4Q8T7Rs0wbQjIvFiJzVeeoC/00TG0e/qi4mYE5iQwUJmO8st3N8VnaWz2N31UHc6yhRA== dependencies: google-protobuf "^3.6.1" @@ -1303,7 +1264,7 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@csstools/postcss-color-function@^1.0.2", "@csstools/postcss-color-function@^1.0.3": +"@csstools/postcss-color-function@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.3.tgz#251c961a852c99e9aabdbbdbefd50e9a96e8a9ff" integrity sha512-J26I69pT2B3MYiLY/uzCGKVJyMYVg9TCpXkWsRlt+Yfq+nELUEm72QXIMYXs4xA9cJA4Oqs2EylrfokKl3mJEQ== @@ -1333,7 +1294,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.0", "@csstools/postcss-is-pseudo-class@^2.0.1": +"@csstools/postcss-is-pseudo-class@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.1.tgz#472fff2cf434bdf832f7145b2a5491587e790c9e" integrity sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q== @@ -1347,7 +1308,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^1.0.1", "@csstools/postcss-oklab-function@^1.0.2": +"@csstools/postcss-oklab-function@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.2.tgz#87cd646e9450347a5721e405b4f7cc35157b7866" integrity sha512-QwhWesEkMlp4narAwUi6pgc6kcooh8cC7zfxa9LSQNYXqzcdNUtNBzbGc5nuyAVreb7uf5Ox4qH1vYT3GA1wOg== @@ -1355,7 +1316,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": +"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== @@ -1382,7 +1343,7 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": +"@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== @@ -1448,21 +1409,21 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.15.4.tgz#59fc1e00530b7a604c719221a59dc265c76e9bc5" - integrity sha512-9bIXQKKQr5jAH1c9atXrukr4ua30fhqxMwWIOOjEnexPBPu3nhy9lC4/GpE0kPUp1Al3wSXgFnOEGzEH+HFz+w== +"@microsoft/api-extractor-model@7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz#3db7360897115f26a857f1f684fb5af82b0ef9f6" + integrity sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ== dependencies: "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" "@rushstack/node-core-library" "3.45.1" -"@microsoft/api-extractor@7.19.5": - version "7.19.5" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.19.5.tgz#85b2404135a4158864d448fde8991ef7dc39b6a7" - integrity sha512-ra5r8P7PocOpemrZRccI3Tf1+wukI0gT6ncRB448QSxSYlmqKuvez95YUSYPwHIN/ztKL0cn5PfMOauU1lZfGQ== +"@microsoft/api-extractor@7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz#e7ccf6f7618eef792a1936674183023109183d0d" + integrity sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA== dependencies: - "@microsoft/api-extractor-model" "7.15.4" + "@microsoft/api-extractor-model" "7.16.0" "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" "@rushstack/node-core-library" "3.45.1" @@ -1490,10 +1451,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== -"@ngtools/webpack@14.0.0-next.6": - version "14.0.0-next.6" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.6.tgz#da8717586aba2099a550607a9eae9932379a1433" - integrity sha512-bWCv6bk4iunLvx/RPiZ0BDnRvEKMg2NqRIBKSORC79Ek33vEB1MN+RWER51JAwioE8Qz6qZCKJbVUkI1xXQBvA== +"@ngtools/webpack@14.0.0-next.8": + version "14.0.0-next.8" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.8.tgz#1f1e860a286e39c6e59ec1ed3061679d00085ff9" + integrity sha512-ux3IHs9ZZrlSUvPBavF6M+ufgLhmTLop5XqLWYado8QEp7mWT1Hxyyk18GQYG1p28Je3saJMv7vAANawm88Cpw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1516,14 +1477,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - "@npmcli/fs@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" @@ -2270,7 +2223,7 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@^8.2.2", "@types/ws@^8.5.1": +"@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== @@ -2702,16 +2655,6 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ajv@8.11.0, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.8.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" @@ -2759,11 +2702,6 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -2841,7 +2779,7 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= -array-flatten@^2.1.0, array-flatten@^2.1.2: +array-flatten@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== @@ -2947,7 +2885,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.2, autoprefixer@^10.4.4: +autoprefixer@^10.4.4: version "10.4.4" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== @@ -2976,16 +2914,6 @@ axios@0.21.4: dependencies: follow-redirects "^1.14.0" -babel-loader@8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - babel-loader@8.2.4: version "8.2.4" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b" @@ -3143,18 +3071,6 @@ bonjour-service@^1.0.11: fast-deep-equal "^3.1.3" multicast-dns "^7.2.4" -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -3265,7 +3181,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.9.1: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== @@ -3313,11 +3229,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -3377,30 +3288,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.0.1: - version "16.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.1.tgz#bad1d14963d9851840da3dd6c4db3b6a3bdb585d" - integrity sha512-tHPtfdZDqQpZ15eaEZeLspIqS5mK5fOBDZi6AjuqaIi53QNVXH3dQv6uKT3YuUu6uxV/8pjU9in0CoJ8fgaHqw== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.1.2" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^7.2.0" - infer-owner "^1.0.4" - lru-cache "^7.5.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.1.11" - unique-filename "^1.1.1" - cacache@16.0.4: version "16.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.4.tgz#66877ae82717ade4d1416d5b3caa3a870f2c6d0c" @@ -3820,11 +3707,6 @@ core-js-compat@^3.20.2, core-js-compat@^3.21.0: browserslist "^4.19.1" semver "7.0.0" -core-js@3.21.1: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" - integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== - core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3945,7 +3827,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.4.0, cssdb@^6.5.0: +cssdb@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== @@ -4066,18 +3948,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -4127,20 +3997,6 @@ del@^2.2.0: pinkie-promise "^2.0.0" rimraf "^2.2.8" -del@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" - integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -4226,14 +4082,6 @@ dns-equal@^1.0.0: resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - dns-packet@^5.2.2: version "5.3.1" resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.3.1.tgz#eb94413789daec0f0ebe2fcc230bdc9d7c91b43d" @@ -4241,13 +4089,6 @@ dns-packet@^5.2.2: dependencies: "@leichtgewicht/ip-codec" "^2.0.1" -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -4567,11 +4408,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" - integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== - esbuild-android-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" @@ -4582,11 +4418,6 @@ esbuild-android-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.32.tgz#cf23a9c6052bb48901f5541c7e5a4168495fca36" integrity sha512-q1qjB2UcoWehR9Yp9dO2RdJUeLLrXAYsbOU4tkYa+GmJzxTwuvOrMdvaemsXYqb7F4STVTca9KpfqGicEChtUg== -esbuild-android-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" - integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== - esbuild-android-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" @@ -4597,11 +4428,6 @@ esbuild-android-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.32.tgz#5840407c8d8b577eea847eecce8df9610c0f58fd" integrity sha512-bs1uu+RuM15f8yjFc0FhPDE/6NID4fKl7beDVsGCme6Q8ld2IzRXmp5QaHurlcH93PFyQnUgVvdahIWgtK2QZw== -esbuild-darwin-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" - integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== - esbuild-darwin-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" @@ -4612,11 +4438,6 @@ esbuild-darwin-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.32.tgz#c6defc12a60f27408f1a30bb233c9d0e66ea2a55" integrity sha512-6MekflAld28wYtzanwZTxQlxMPeYw/yv1ToFG2hpo3LGxOIE2mBD5IJaMCcyy1//EYvGnGToO3p6XKdbS8E1QQ== -esbuild-darwin-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" - integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== - esbuild-darwin-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" @@ -4627,11 +4448,6 @@ esbuild-darwin-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.32.tgz#fc878496516a90fc4982ee7cf8f2d2f484dbd64a" integrity sha512-BHYIjiPDYQTD+4zwqdqRo+I2bbg3fn9mah/gZm4SCCy+7uwTTYOYobIunHT7wVCgxnFCr50PJUdaMrEoCImRbw== -esbuild-freebsd-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" - integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== - esbuild-freebsd-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" @@ -4642,11 +4458,6 @@ esbuild-freebsd-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.32.tgz#c136e8e8bab8e7ea95a7fbe4b689d2c940bf48f2" integrity sha512-6BOBhtfAf9AlfjL1AvtfVOxwY82tHPfYrA0lskJpFjfiEMGTLU6e0vdOwb4+4x++gGz49azuGK0woYqdfL03uw== -esbuild-freebsd-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" - integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== - esbuild-freebsd-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" @@ -4657,11 +4468,6 @@ esbuild-freebsd-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.32.tgz#46668a10e5a51665ed800b10a02b757bf6bc6fbf" integrity sha512-zIRR4gKQW56p/xLM8TlpxVBNiX0w3VoR9ZxfH4nrfJ7QiL0SYHRy8YPL5C7zMWRjSze2WxQRHfS9bHKdVrVXBw== -esbuild-linux-32@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" - integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== - esbuild-linux-32@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" @@ -4672,11 +4478,6 @@ esbuild-linux-32@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.32.tgz#ac51a64f26f638618ff62a1a966babe065bc54cc" integrity sha512-kn0AkGtPvzA6xiv93/mavvZ7DVinu/ewh2F2S0/8mE8/PXi3D4+svZ6V3beV5DIH7vcHVuGhoooWav8HPF04tg== -esbuild-linux-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" - integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== - esbuild-linux-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" @@ -4687,11 +4488,6 @@ esbuild-linux-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.32.tgz#a3dfeb772f339fb34f0ff61df753a70a01be243a" integrity sha512-Ie+PMvrPj/HCOmSc0QubKttDxP2iBtPzDu+b+V3HGDGwkGmVpDkyXx1NXp5LjkIphIay2QekMwy1dSw3KDqCew== -esbuild-linux-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" - integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== - esbuild-linux-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" @@ -4702,11 +4498,6 @@ esbuild-linux-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.32.tgz#df2fead5c0d9228eede866359f35b3e0eef4e192" integrity sha512-ykoqKaxX95nB+lk2K/+qxr0ke+BxkeVi0yKOnymCR5Ive7IZDHa4BJX53NEGSBKLfWPwKE6SXTz8qcEewSntoA== -esbuild-linux-arm@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" - integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== - esbuild-linux-arm@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" @@ -4717,11 +4508,6 @@ esbuild-linux-arm@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.32.tgz#64633aa6491e91d935324cf041795ebce18c071b" integrity sha512-R/Bvn/YQNDyvfN0SERh/I7hKPqN+nSSruQdVeiYEJ+jc3fUi73jXYAscpTQgIBeER/yXnEsgJGU/UQ9+sscr7A== -esbuild-linux-mips64le@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" - integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== - esbuild-linux-mips64le@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" @@ -4732,11 +4518,6 @@ esbuild-linux-mips64le@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.32.tgz#f0a7a083e8fdfb6e4edffb93ec27de2c5d732f01" integrity sha512-IilnlBexpHpt/5po0cle/L/S6CYnwaq23UuAqWzxp+opHLOCNnyANpC1jOoP551aRx4JuZ7z3xZZ7bYQZB147w== -esbuild-linux-ppc64le@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" - integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== - esbuild-linux-ppc64le@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" @@ -4747,11 +4528,6 @@ esbuild-linux-ppc64le@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.32.tgz#dc22b766dd4ddd20c28febe36e8b92b9c11faa63" integrity sha512-TR6l5nWZbfq7jSY+1vsiQjT4m67NWplNhbX6GBieZq6DBt0nTx1XgTZAdKROF7jTuaK7YrCYlPXtfO3w86Mysw== -esbuild-linux-riscv64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" - integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== - esbuild-linux-riscv64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" @@ -4762,11 +4538,6 @@ esbuild-linux-riscv64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.32.tgz#0ae09eee847de5993cbe1529591d5ca17c7303c5" integrity sha512-aSOcUzTeIAslfri8e+bMpyzQuxhcIiNhWyuCGGXum2PtxwYiUqR8/UCMYfwYtYkhr1yABOFOfs83mm9KBy5qCQ== -esbuild-linux-s390x@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" - integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== - esbuild-linux-s390x@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" @@ -4777,11 +4548,6 @@ esbuild-linux-s390x@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.32.tgz#1297f9f130cd93495e7ce25c63a79dab223b89de" integrity sha512-dNlip+EvexxKjRZitFCWCd7DVk64c7R5ySr8aFEMHCb/RriNiyDxYJGzYWm4EMJsMRMupMUHlMY64BAa3Op9FA== -esbuild-netbsd-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" - integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== - esbuild-netbsd-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" @@ -4792,11 +4558,6 @@ esbuild-netbsd-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.32.tgz#902bf5ba7c54db9c7274f019c4d006b1b963fb7d" integrity sha512-Pa3QByYqxzlBFQQQhjYBPg3WUfSjwibqzh1hC6mPDRUHnCeUcrLoBuIiG4xqOYEpQM9/kDowIBsrGIQEVWWdQA== -esbuild-openbsd-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" - integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== - esbuild-openbsd-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" @@ -4807,11 +4568,6 @@ esbuild-openbsd-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.32.tgz#0fbfbdf555deeb05a8915daf0b71168d09773437" integrity sha512-uWKKqpCjkMY8TCIobFvaSETonQY3OrmgnoTCC3tF+lvMoneYjppB6akx7L5Xv0kP+1tnSbrIof1ca8PfqGUyjw== -esbuild-sunos-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" - integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== - esbuild-sunos-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" @@ -4822,11 +4578,6 @@ esbuild-sunos-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.32.tgz#d493ca5222703dd0b8c489324d1517cd622618e8" integrity sha512-Ar+u3mBk0oVV4Fwv/qlinJZNIPPtTBSG+1W42o8lOaVxJ+rJgecDoeUN+5uyd9at0BK1SVrQ1qZ4wjHKB0qFpQ== -esbuild-wasm@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" - integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== - esbuild-wasm@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.32.tgz#8c55979be32689ab2def7a6644f6cf70070f0cab" @@ -4837,11 +4588,6 @@ esbuild-wasm@^0.14.25: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.28.tgz#2a3c5e4d44f788ea4ba7901cb3a65d2582fb16ba" integrity sha512-8LOoNKcVcJnFb+zOfgPrqWjPRfHcutAG75xRw8724YFDGd/Nv0I4vp4TZ38rWlSd3mYBeDluelRAKJvVQxU9EA== -esbuild-windows-32@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" - integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== - esbuild-windows-32@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" @@ -4852,11 +4598,6 @@ esbuild-windows-32@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.32.tgz#c6b0f4cf952c6f562a32fe763acab9fb8cb3912a" integrity sha512-rLMsbflMY6Hjh3rmQnCDVZahJQ7n+XfT6o1+no5pHRpDlMh38MHthgGh35q+EcOMgrGP3ppnw70rhJq80SaYTQ== -esbuild-windows-64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" - integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== - esbuild-windows-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" @@ -4867,11 +4608,6 @@ esbuild-windows-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.32.tgz#2ad9322a963fd26bb4818ad1c0ee7acde63ebb81" integrity sha512-OHnMMxYufVgLXIMnwLynLMKguHMrsVnWcehieSP9i6ZX31KEsOFYWrorcnTWOn4rbZVLSL10ofxLuVIgRW3SWw== -esbuild-windows-arm64@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" - integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== - esbuild-windows-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" @@ -4882,32 +4618,6 @@ esbuild-windows-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.32.tgz#bb589106c0fd5d582cce62bd7995a6e5db52e7b4" integrity sha512-ddavy6IPUBySMfqDfG243TgtuqwQBNJQJPVaA4DaavmMfpBsUxFrSV+HzBWXTKU3I9EcuoEvIATLuQ7NJKxjwg== -esbuild@0.14.27: - version "0.14.27" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" - integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== - optionalDependencies: - esbuild-android-64 "0.14.27" - esbuild-android-arm64 "0.14.27" - esbuild-darwin-64 "0.14.27" - esbuild-darwin-arm64 "0.14.27" - esbuild-freebsd-64 "0.14.27" - esbuild-freebsd-arm64 "0.14.27" - esbuild-linux-32 "0.14.27" - esbuild-linux-64 "0.14.27" - esbuild-linux-arm "0.14.27" - esbuild-linux-arm64 "0.14.27" - esbuild-linux-mips64le "0.14.27" - esbuild-linux-ppc64le "0.14.27" - esbuild-linux-riscv64 "0.14.27" - esbuild-linux-s390x "0.14.27" - esbuild-netbsd-64 "0.14.27" - esbuild-openbsd-64 "0.14.27" - esbuild-sunos-64 "0.14.27" - esbuild-windows-32 "0.14.27" - esbuild-windows-64 "0.14.27" - esbuild-windows-arm64 "0.14.27" - esbuild@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.32.tgz#f55245ccd4b820707147ac4cc69a2c3e1a76af03" @@ -5265,7 +4975,7 @@ express@4.17.2: utils-merge "1.0.1" vary "~1.1.2" -express@4.17.3, express@^4.17.1, express@^4.17.3: +express@4.17.3, express@^4.17.3: version "4.17.3" resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== @@ -5759,7 +5469,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.1, globby@^11.0.4: +globby@^11.0.4: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -5995,7 +5705,7 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-middleware@^2.0.0, http-proxy-middleware@^2.0.3: +http-proxy-middleware@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== @@ -6181,26 +5891,6 @@ injection-js@^2.4.0: dependencies: tslib "^2.0.0" -inquirer@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.1.tgz#e00022e3e8930a92662f760f020686530a84671d" - integrity sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - inquirer@8.2.2: version "8.2.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" @@ -6240,7 +5930,7 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip@^1.1.0, ip@^1.1.5: +ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -6255,14 +5945,6 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -6375,11 +6057,6 @@ is-path-cwd@^1.0.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - is-path-in-cwd@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" @@ -6394,11 +6071,6 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" @@ -6416,7 +6088,7 @@ is-promise@^2.1.0, is-promise@^2.2.2: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== -is-regex@^1.0.4, is-regex@^1.1.4: +is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -7033,15 +6705,6 @@ loader-utils@3.2.0: resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== -loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - loader-utils@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" @@ -7532,19 +7195,6 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - multicast-dns@^7.2.4: version "7.2.4" resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.4.tgz#cf0b115c31e922aeb20b64e6556cbeb34cf0dd19" @@ -7878,14 +7528,6 @@ object-inspect@~1.4.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" integrity sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw== -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - object-keys@^1.0.12, object-keys@^1.0.6, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -8426,7 +8068,7 @@ postcss-custom-media@^8.0.0: resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^12.1.4, postcss-custom-properties@^12.1.5: +postcss-custom-properties@^12.1.5: version "12.1.5" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.5.tgz#e669cfff89b0ea6fc85c45864a32b450cb6b196f" integrity sha512-FHbbB/hRo/7cxLGkc2NS7cDRIDN1oFqQnUKBiyh4b/gwk8DD8udvmRDpUhEK836kB8ggUCieHVOvZDnF9XhI3g== @@ -8447,7 +8089,7 @@ postcss-dir-pseudo-class@^6.0.4: dependencies: postcss-selector-parser "^6.0.9" -postcss-double-position-gradients@^3.1.0, postcss-double-position-gradients@^3.1.1: +postcss-double-position-gradients@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz#a12cfdb7d11fa1a99ccecc747f0c19718fb37152" integrity sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ== @@ -8455,7 +8097,7 @@ postcss-double-position-gradients@^3.1.0, postcss-double-position-gradients@^3.1 "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-env-function@^4.0.5, postcss-env-function@^4.0.6: +postcss-env-function@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== @@ -8493,15 +8135,6 @@ postcss-image-set-function@^4.0.6: dependencies: postcss-value-parser "^4.2.0" -postcss-import@14.0.2: - version "14.0.2" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.2.tgz#60eff77e6be92e7b67fe469ec797d9424cae1aa1" - integrity sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - postcss-import@14.1.0: version "14.1.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" @@ -8516,7 +8149,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.1.1, postcss-lab-function@^4.1.2: +postcss-lab-function@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.2.tgz#b75afe43ba9c1f16bfe9bb12c8109cabd55b5fc2" integrity sha512-isudf5ldhg4fk16M8viAwAbg6Gv14lVO35N3Z/49NhbwPQ2xbiEoHgrRgpgQojosF4vF7jY653ktB6dDrUOR8Q== @@ -8571,7 +8204,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.2, postcss-nesting@^10.1.3: +postcss-nesting@^10.1.3: version "10.1.3" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.3.tgz#f0b1cd7ae675c697ab6a5a5ca1feea4784a2ef77" integrity sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw== @@ -8600,54 +8233,6 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" - integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== - dependencies: - "@csstools/postcss-color-function" "^1.0.2" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.0.1" - "@csstools/postcss-progressive-custom-properties" "^1.2.0" - autoprefixer "^10.4.2" - browserslist "^4.19.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.4.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.4" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.0" - postcss-env-function "^4.0.5" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.1.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.2" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.1" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-preset-env@7.4.3, postcss-preset-env@^7.4.2: version "7.4.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.3.tgz#fb1c8b4cb405da042da0ddb8c5eda7842c08a449" @@ -8771,7 +8356,12 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha1-mUsCqkb2mcULYle1+qp/4lV+YtY= -prettier@2.6.1, prettier@^2.0.0: +prettier@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + +prettier@^2.0.0: version "2.6.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== @@ -9181,14 +8771,6 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== -regexp.prototype.flags@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -9493,7 +9075,7 @@ sass@1.49.11: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.49.9, sass@^1.49.9: +sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== @@ -9578,7 +9160,7 @@ selenium-webdriver@4.1.1: tmp "^0.2.1" ws ">=7.4.6" -selfsigned@^2.0.0, selfsigned@^2.0.1: +selfsigned@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== @@ -10202,13 +9784,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -10233,18 +9808,6 @@ stylus-loader@6.2.0: klona "^2.0.4" normalize-path "^3.0.0" -stylus@0.56.0: - version "0.56.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.56.0.tgz#13fc85c48082db483c90d2530942fe8b0be988eb" - integrity sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA== - dependencies: - css "^3.0.0" - debug "^4.3.2" - glob "^7.1.6" - safer-buffer "^2.1.2" - sax "~1.2.4" - source-map "^0.7.3" - stylus@0.57.0, stylus@^0.57.0: version "0.57.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" @@ -11005,42 +10568,6 @@ webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.7.4: - version "4.7.4" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" - integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.2.2" - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^4.0.0" - selfsigned "^2.0.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-dev-server@4.8.1: version "4.8.1" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz#58f9d797710d6e25fa17d6afab8708f958c11a29" @@ -11096,36 +10623,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.70.0: - version "5.70.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" - integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.2" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.71.0: version "5.71.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.71.0.tgz#b01fcf379570b8c5ee06ca06c829ca168c951884" @@ -11467,7 +10964,7 @@ z-schema@~5.0.2: optionalDependencies: commander "^2.7.1" -zone.js@^0.11.3, zone.js@^0.11.4: +zone.js@^0.11.3: version "0.11.5" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.5.tgz#ab0b449e91fadb5ebb2db189ffe1b7b6048dc8b1" integrity sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g== From 78b35377317187f19aa575f2153eda0ae248cb7c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 8 Apr 2022 16:39:06 +0000 Subject: [PATCH 0278/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 18 +- packages/angular/cli/package.json | 4 +- .../angular_devkit/build_angular/package.json | 16 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 291 +++++++++++++++++- 7 files changed, 297 insertions(+), 40 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 92cf01962fb1..2adb45d2379c 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -32,8 +32,8 @@ build_bazel_rules_nodejs_dependencies() http_archive( name = "rules_pkg", - sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66", - urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz"], + sha256 = "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2", + urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"], ) load("@bazel_tools//tools/sh:sh_configure.bzl", "sh_configure") diff --git a/package.json b/package.json index b8244493aad0..85a44cc1b673 100644 --- a/package.json +++ b/package.json @@ -78,14 +78,14 @@ "@angular/platform-server": "14.0.0-next.11", "@angular/router": "14.0.0-next.11", "@angular/service-worker": "14.0.0-next.11", - "@babel/core": "7.17.8", - "@babel/generator": "7.17.7", + "@babel/core": "7.17.9", + "@babel/generator": "7.17.9", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.8", + "@babel/runtime": "7.17.9", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.0.1", @@ -136,8 +136,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.32", - "esbuild-wasm": "0.14.32", + "esbuild": "0.14.34", + "esbuild-wasm": "0.14.34", "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -175,7 +175,7 @@ "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.1.0", + "pacote": "13.1.1", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", @@ -192,10 +192,10 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.11", + "sass": "1.50.0", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", - "semver": "7.3.5", + "semver": "7.3.6", "shelljs": "^0.8.5", "source-map": "0.7.3", "source-map-loader": "3.0.1", @@ -213,7 +213,7 @@ "typescript": "4.6.3", "verdaccio": "5.8.0", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.71.0", + "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.8.1", "webpack-merge": "5.8.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 5de4b1dac91c..fab0c65b65f7 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,9 +36,9 @@ "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.1.0", + "pacote": "13.1.1", "resolve": "1.22.0", - "semver": "7.3.5", + "semver": "7.3.6", "symbol-observable": "4.0.0", "uuid": "8.3.2", "yargs": "17.4.0" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index be90bbf2ce50..67e8a18cb556 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.8", - "@babel/generator": "7.17.7", + "@babel/core": "7.17.9", + "@babel/generator": "7.17.9", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", "@babel/plugin-transform-runtime": "7.17.0", "@babel/preset-env": "7.16.11", - "@babel/runtime": "7.17.8", + "@babel/runtime": "7.17.9", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -29,7 +29,7 @@ "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.32", + "esbuild-wasm": "0.14.34", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.2", @@ -52,9 +52,9 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.49.11", + "sass": "1.50.0", "sass-loader": "12.6.0", - "semver": "7.3.5", + "semver": "7.3.6", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "stylus": "0.57.0", @@ -63,14 +63,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", - "webpack": "5.71.0", + "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.8.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.32" + "esbuild": "0.14.34" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 359eb791f574..7549675ba630 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.71.0" + "webpack": "5.72.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a0f746f2da54..fe9fed7ce06d 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.11", "@angular/compiler-cli": "14.0.0-next.11", "typescript": "4.6.3", - "webpack": "5.71.0" + "webpack": "5.72.0" } } diff --git a/yarn.lock b/yarn.lock index 9d0dda23aba8..3a9598fce23c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -312,6 +312,27 @@ json5 "^2.1.2" semver "^6.3.0" +"@babel/core@7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" + integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.9" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.9" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.9" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.17.7", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" @@ -321,6 +342,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@7.17.9", "@babel/generator@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" + integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -404,6 +434,14 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + "@babel/helper-get-function-arity@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" @@ -528,6 +566,15 @@ "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" +"@babel/helpers@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" + integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.9" + "@babel/types" "^7.17.0" + "@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" @@ -542,6 +589,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== +"@babel/parser@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" + integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1144,6 +1196,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" + integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1169,6 +1228,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d" + integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.9" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.9" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" @@ -4418,6 +4493,11 @@ esbuild-android-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.32.tgz#cf23a9c6052bb48901f5541c7e5a4168495fca36" integrity sha512-q1qjB2UcoWehR9Yp9dO2RdJUeLLrXAYsbOU4tkYa+GmJzxTwuvOrMdvaemsXYqb7F4STVTca9KpfqGicEChtUg== +esbuild-android-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz#46bc4327dd0809937912346244eaffdb9bfc980d" + integrity sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw== + esbuild-android-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" @@ -4428,6 +4508,11 @@ esbuild-android-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.32.tgz#5840407c8d8b577eea847eecce8df9610c0f58fd" integrity sha512-bs1uu+RuM15f8yjFc0FhPDE/6NID4fKl7beDVsGCme6Q8ld2IzRXmp5QaHurlcH93PFyQnUgVvdahIWgtK2QZw== +esbuild-android-arm64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz#a3f7e1ad84b8a7dcb39b5e132768b56ee7133656" + integrity sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew== + esbuild-darwin-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" @@ -4438,6 +4523,11 @@ esbuild-darwin-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.32.tgz#c6defc12a60f27408f1a30bb233c9d0e66ea2a55" integrity sha512-6MekflAld28wYtzanwZTxQlxMPeYw/yv1ToFG2hpo3LGxOIE2mBD5IJaMCcyy1//EYvGnGToO3p6XKdbS8E1QQ== +esbuild-darwin-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz#a0e4ab7a0cddf76761f1fb5d6bf552a376beb16e" + integrity sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw== + esbuild-darwin-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" @@ -4448,6 +4538,11 @@ esbuild-darwin-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.32.tgz#fc878496516a90fc4982ee7cf8f2d2f484dbd64a" integrity sha512-BHYIjiPDYQTD+4zwqdqRo+I2bbg3fn9mah/gZm4SCCy+7uwTTYOYobIunHT7wVCgxnFCr50PJUdaMrEoCImRbw== +esbuild-darwin-arm64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz#54c35461f82f83a7f5169d9a6a54201798977b07" + integrity sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w== + esbuild-freebsd-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" @@ -4458,6 +4553,11 @@ esbuild-freebsd-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.32.tgz#c136e8e8bab8e7ea95a7fbe4b689d2c940bf48f2" integrity sha512-6BOBhtfAf9AlfjL1AvtfVOxwY82tHPfYrA0lskJpFjfiEMGTLU6e0vdOwb4+4x++gGz49azuGK0woYqdfL03uw== +esbuild-freebsd-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz#aebb50248f5874d04ffeab2db8ee1ed6037e2654" + integrity sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA== + esbuild-freebsd-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" @@ -4468,6 +4568,11 @@ esbuild-freebsd-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.32.tgz#46668a10e5a51665ed800b10a02b757bf6bc6fbf" integrity sha512-zIRR4gKQW56p/xLM8TlpxVBNiX0w3VoR9ZxfH4nrfJ7QiL0SYHRy8YPL5C7zMWRjSze2WxQRHfS9bHKdVrVXBw== +esbuild-freebsd-arm64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz#09bef288e29f18b38b0c70a9827b6ee718e36c7f" + integrity sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA== + esbuild-linux-32@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" @@ -4478,6 +4583,11 @@ esbuild-linux-32@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.32.tgz#ac51a64f26f638618ff62a1a966babe065bc54cc" integrity sha512-kn0AkGtPvzA6xiv93/mavvZ7DVinu/ewh2F2S0/8mE8/PXi3D4+svZ6V3beV5DIH7vcHVuGhoooWav8HPF04tg== +esbuild-linux-32@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz#67790061758e008e919e65bbc34549f55dadaca7" + integrity sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ== + esbuild-linux-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" @@ -4488,6 +4598,11 @@ esbuild-linux-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.32.tgz#a3dfeb772f339fb34f0ff61df753a70a01be243a" integrity sha512-Ie+PMvrPj/HCOmSc0QubKttDxP2iBtPzDu+b+V3HGDGwkGmVpDkyXx1NXp5LjkIphIay2QekMwy1dSw3KDqCew== +esbuild-linux-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz#b9b19d4ac07e37495dd2508ec843418aa71c98d6" + integrity sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ== + esbuild-linux-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" @@ -4498,6 +4613,11 @@ esbuild-linux-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.32.tgz#df2fead5c0d9228eede866359f35b3e0eef4e192" integrity sha512-ykoqKaxX95nB+lk2K/+qxr0ke+BxkeVi0yKOnymCR5Ive7IZDHa4BJX53NEGSBKLfWPwKE6SXTz8qcEewSntoA== +esbuild-linux-arm64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz#fd84b11a6ccfe9e83e00d0c45890e9fb3a7248c1" + integrity sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA== + esbuild-linux-arm@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" @@ -4508,6 +4628,11 @@ esbuild-linux-arm@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.32.tgz#64633aa6491e91d935324cf041795ebce18c071b" integrity sha512-R/Bvn/YQNDyvfN0SERh/I7hKPqN+nSSruQdVeiYEJ+jc3fUi73jXYAscpTQgIBeER/yXnEsgJGU/UQ9+sscr7A== +esbuild-linux-arm@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz#c89d4714b05265a315a97c8933508cc73950e683" + integrity sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg== + esbuild-linux-mips64le@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" @@ -4518,6 +4643,11 @@ esbuild-linux-mips64le@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.32.tgz#f0a7a083e8fdfb6e4edffb93ec27de2c5d732f01" integrity sha512-IilnlBexpHpt/5po0cle/L/S6CYnwaq23UuAqWzxp+opHLOCNnyANpC1jOoP551aRx4JuZ7z3xZZ7bYQZB147w== +esbuild-linux-mips64le@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz#d60752c3fb1260dd0737532af2de2a9521656456" + integrity sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw== + esbuild-linux-ppc64le@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" @@ -4528,6 +4658,11 @@ esbuild-linux-ppc64le@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.32.tgz#dc22b766dd4ddd20c28febe36e8b92b9c11faa63" integrity sha512-TR6l5nWZbfq7jSY+1vsiQjT4m67NWplNhbX6GBieZq6DBt0nTx1XgTZAdKROF7jTuaK7YrCYlPXtfO3w86Mysw== +esbuild-linux-ppc64le@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz#f4c6229269956564f0c6f9825f5e717c2cfc22b3" + integrity sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg== + esbuild-linux-riscv64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" @@ -4538,6 +4673,11 @@ esbuild-linux-riscv64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.32.tgz#0ae09eee847de5993cbe1529591d5ca17c7303c5" integrity sha512-aSOcUzTeIAslfri8e+bMpyzQuxhcIiNhWyuCGGXum2PtxwYiUqR8/UCMYfwYtYkhr1yABOFOfs83mm9KBy5qCQ== +esbuild-linux-riscv64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz#549bd18a9eba3135b67f7b742730b5343a1be35d" + integrity sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA== + esbuild-linux-s390x@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" @@ -4548,6 +4688,11 @@ esbuild-linux-s390x@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.32.tgz#1297f9f130cd93495e7ce25c63a79dab223b89de" integrity sha512-dNlip+EvexxKjRZitFCWCd7DVk64c7R5ySr8aFEMHCb/RriNiyDxYJGzYWm4EMJsMRMupMUHlMY64BAa3Op9FA== +esbuild-linux-s390x@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz#2a6b577c437f94c2b37623c755ff5215a05c12bc" + integrity sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA== + esbuild-netbsd-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" @@ -4558,6 +4703,11 @@ esbuild-netbsd-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.32.tgz#902bf5ba7c54db9c7274f019c4d006b1b963fb7d" integrity sha512-Pa3QByYqxzlBFQQQhjYBPg3WUfSjwibqzh1hC6mPDRUHnCeUcrLoBuIiG4xqOYEpQM9/kDowIBsrGIQEVWWdQA== +esbuild-netbsd-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz#7f0b73229157975eb35597207723df52ba21722a" + integrity sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ== + esbuild-openbsd-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" @@ -4568,6 +4718,11 @@ esbuild-openbsd-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.32.tgz#0fbfbdf555deeb05a8915daf0b71168d09773437" integrity sha512-uWKKqpCjkMY8TCIobFvaSETonQY3OrmgnoTCC3tF+lvMoneYjppB6akx7L5Xv0kP+1tnSbrIof1ca8PfqGUyjw== +esbuild-openbsd-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz#b9bc44b4f70031fb01b173b279daeffc4d4f54b7" + integrity sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow== + esbuild-sunos-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" @@ -4578,11 +4733,21 @@ esbuild-sunos-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.32.tgz#d493ca5222703dd0b8c489324d1517cd622618e8" integrity sha512-Ar+u3mBk0oVV4Fwv/qlinJZNIPPtTBSG+1W42o8lOaVxJ+rJgecDoeUN+5uyd9at0BK1SVrQ1qZ4wjHKB0qFpQ== +esbuild-sunos-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz#512dd6085ac1a0dccc20c5f932f16a618bea409c" + integrity sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA== + esbuild-wasm@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.32.tgz#8c55979be32689ab2def7a6644f6cf70070f0cab" integrity sha512-evuEcldI6O4BGX4LXCNBPabAl3raW+8a75qt0FJ4e6JnknMC+YHmiKRao5WIhOlSNDBGJ9PANxcrZIoQFXcbnA== +esbuild-wasm@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.34.tgz#cde4a4c10405b6dfb677652092eb5b9788670d70" + integrity sha512-0GYXI7gNla1PePGpXMqSH8U/k0xDkVYwH62L0ZLq3MuI26NPabhAlShOOELISpNZIaYiJ8vlkwdYZ4V229zf2A== + esbuild-wasm@^0.14.25: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.28.tgz#2a3c5e4d44f788ea4ba7901cb3a65d2582fb16ba" @@ -4598,6 +4763,11 @@ esbuild-windows-32@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.32.tgz#c6b0f4cf952c6f562a32fe763acab9fb8cb3912a" integrity sha512-rLMsbflMY6Hjh3rmQnCDVZahJQ7n+XfT6o1+no5pHRpDlMh38MHthgGh35q+EcOMgrGP3ppnw70rhJq80SaYTQ== +esbuild-windows-32@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz#3ff1afd5cac08050c7c7140a59e343b06f6b037c" + integrity sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg== + esbuild-windows-64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" @@ -4608,6 +4778,11 @@ esbuild-windows-64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.32.tgz#2ad9322a963fd26bb4818ad1c0ee7acde63ebb81" integrity sha512-OHnMMxYufVgLXIMnwLynLMKguHMrsVnWcehieSP9i6ZX31KEsOFYWrorcnTWOn4rbZVLSL10ofxLuVIgRW3SWw== +esbuild-windows-64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz#66f7b43d2a0b132f6748dfa3edac4fc939a99be0" + integrity sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q== + esbuild-windows-arm64@0.14.28: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" @@ -4618,6 +4793,11 @@ esbuild-windows-arm64@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.32.tgz#bb589106c0fd5d582cce62bd7995a6e5db52e7b4" integrity sha512-ddavy6IPUBySMfqDfG243TgtuqwQBNJQJPVaA4DaavmMfpBsUxFrSV+HzBWXTKU3I9EcuoEvIATLuQ7NJKxjwg== +esbuild-windows-arm64@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz#b74a6395b7b7e53dba70b71b39542afd83352473" + integrity sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg== + esbuild@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.32.tgz#f55245ccd4b820707147ac4cc69a2c3e1a76af03" @@ -4644,6 +4824,32 @@ esbuild@0.14.32: esbuild-windows-64 "0.14.32" esbuild-windows-arm64 "0.14.32" +esbuild@0.14.34: + version "0.14.34" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.34.tgz#3610056f0a57bcfd0b63ddaafdb2e3bef1cf96e4" + integrity sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg== + optionalDependencies: + esbuild-android-64 "0.14.34" + esbuild-android-arm64 "0.14.34" + esbuild-darwin-64 "0.14.34" + esbuild-darwin-arm64 "0.14.34" + esbuild-freebsd-64 "0.14.34" + esbuild-freebsd-arm64 "0.14.34" + esbuild-linux-32 "0.14.34" + esbuild-linux-64 "0.14.34" + esbuild-linux-arm "0.14.34" + esbuild-linux-arm64 "0.14.34" + esbuild-linux-mips64le "0.14.34" + esbuild-linux-ppc64le "0.14.34" + esbuild-linux-riscv64 "0.14.34" + esbuild-linux-s390x "0.14.34" + esbuild-netbsd-64 "0.14.34" + esbuild-openbsd-64 "0.14.34" + esbuild-sunos-64 "0.14.34" + esbuild-windows-32 "0.14.34" + esbuild-windows-64 "0.14.34" + esbuild-windows-arm64 "0.14.34" + esbuild@^0.14.25: version "0.14.28" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.28.tgz#7738635d2ea19e446bd319d83a1802545e6aebb8" @@ -5796,12 +6002,12 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore-walk@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-4.0.1.tgz#fc840e8346cf88a3a9380c5b17933cd8f4d39fa3" - integrity sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw== +ignore-walk@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== dependencies: - minimatch "^3.0.4" + minimatch "^5.0.1" ignore@^5.1.8, ignore@^5.1.9, ignore@^5.2.0: version "5.2.0" @@ -6434,7 +6640,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2: +json5@^2.1.2, json5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== @@ -6870,6 +7076,11 @@ lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== +lru-cache@^7.4.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.0.tgz#649aaeb294a56297b5cbc5d70f198dcc5ebe5747" + integrity sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7077,7 +7288,7 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.0.1: +minimatch@5.0.1, minimatch@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== @@ -7436,13 +7647,13 @@ npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: semver "^7.3.5" validate-npm-package-name "^3.0.0" -npm-packlist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-4.0.0.tgz#ba54713f8ee2ad919a6dc9f1b9ec7aa291466703" - integrity sha512-gL6XC/iw9YSmqArmZOGSkyy+yIZf2f7uH0p4Vmxef/irn73vd9/rDkCtvm+a9rh/QK2xGYfCAMOghM06ymzC0A== +npm-packlist@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.0.tgz#74795ebbbf91bd5a2db6ecff4d6fe1f1c1a07e11" + integrity sha512-uU20UwM4Hogfab1Q7htJbhcyafM9lGHxOrDjkKvR2S3z7Ds0uRaESk0cXctczk+ABT4DZWNwjB10xlurFdEwZg== dependencies: glob "^7.2.0" - ignore-walk "^4.0.1" + ignore-walk "^5.0.1" npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" @@ -7735,10 +7946,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.1.0.tgz#a834921c8d6d27841b1027b6a8376351d155a671" - integrity sha512-Ns2chroFx26U4Bd+qm/ETxHGv+HLafoy5TVAcYHigIqANZ+kkk6PANMr1KAugNYecnrN+5lwwiWyBeu40nuU7Q== +pacote@13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.1.1.tgz#d3e6e27ffc5137d2a07233ed6fba2a209ecb2b7b" + integrity sha512-MTT3k1OhUo+IpvoHGp25OwsRU0L+kJQM236OCywxvY4OIJ/YfloNW2/Yc3HMASH10BkfZaGMVK/pxybB7fWcLw== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -7751,7 +7962,7 @@ pacote@13.1.0: minipass "^3.1.6" mkdirp "^1.0.4" npm-package-arg "^9.0.0" - npm-packlist "^4.0.0" + npm-packlist "^5.0.0" npm-pick-manifest "^7.0.0" npm-registry-fetch "^13.0.1" proc-log "^2.0.0" @@ -9075,6 +9286,15 @@ sass@1.49.11: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.0.tgz#3e407e2ebc53b12f1e35ce45efb226ea6063c7c8" + integrity sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" @@ -9189,6 +9409,13 @@ semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: dependencies: lru-cache "^6.0.0" +semver@7.3.6: + version "7.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.6.tgz#5d73886fb9c0c6602e79440b97165c29581cbb2b" + integrity sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w== + dependencies: + lru-cache "^7.4.0" + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -10653,6 +10880,36 @@ webpack@5.71.0: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.72.0: + version "5.72.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.0.tgz#f8bc40d9c6bb489a4b7a8a685101d6022b8b6e28" + integrity sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.2" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From 9a5251cff9ae4e226793075e428f47f43e84218a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 7 Apr 2022 10:19:36 -0400 Subject: [PATCH 0279/1388] refactor(@angular-devkit/schematics): provide schematic collection description to FileSystemEngineHost resolver The `_resolveReferenceString` abstract method of the `FileSystemEngineHostBase` class now has a third parameter that provides the collection description of the schematic currently being resolved. This allows the resolver to use any fields/options present within the collection description to adjust the resolution of the schematic. The `encapsulation` optional field is also added to the `FileSystemCollectionDescription` type which will in the future allow control of the `@angular/cli` VM context wrapping on an individual schematic collection basis. --- .../public-api/angular_devkit/schematics/tools/index.md | 6 ++++-- packages/angular_devkit/schematics/tools/description.ts | 4 +++- .../schematics/tools/file-system-engine-host-base.ts | 7 ++++++- .../schematics/tools/node-module-engine-host.ts | 6 +++++- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.md b/goldens/public-api/angular_devkit/schematics/tools/index.md index f9a5e901c77a..6359956596ef 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.md @@ -59,6 +59,8 @@ export type FileSystemCollectionDesc = CollectionDescription; path: string; } | null; @@ -183,7 +185,7 @@ export class NodeModulesEngineHost extends FileSystemEngineHostBase { // (undocumented) protected _resolveCollectionPath(name: string, requester?: string): string; // (undocumented) - protected _resolveReferenceString(refString: string, parentPath: string): { + protected _resolveReferenceString(refString: string, parentPath: string, collectionDescription?: FileSystemCollectionDesc): { ref: RuleFactory<{}>; path: string; } | null; diff --git a/packages/angular_devkit/schematics/tools/description.ts b/packages/angular_devkit/schematics/tools/description.ts index 536de01d4876..60e34b4f1b0d 100644 --- a/packages/angular_devkit/schematics/tools/description.ts +++ b/packages/angular_devkit/schematics/tools/description.ts @@ -23,6 +23,7 @@ export interface FileSystemCollectionDescription { readonly path: string; readonly version?: string; readonly schematics: { [name: string]: FileSystemSchematicDesc }; + readonly encapsulation?: boolean; } export interface FileSystemSchematicJsonDescription { @@ -63,7 +64,8 @@ export declare type FileSystemSchematic = Schematic< FileSystemCollectionDescription, FileSystemSchematicDescription >; -export declare type FileSystemCollectionDesc = CollectionDescription; +export declare type FileSystemCollectionDesc = + CollectionDescription; export declare type FileSystemSchematicDesc = SchematicDescription< FileSystemCollectionDescription, FileSystemSchematicDescription diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts index 858fb89bd81e..37084226944c 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts @@ -102,6 +102,7 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost { protected abstract _resolveReferenceString( name: string, parentPath: string, + collectionDescription: FileSystemCollectionDesc, ): { ref: RuleFactory<{}>; path: string } | null; protected abstract _transformCollectionDescription( name: string, @@ -234,7 +235,11 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost { if (!partialDesc.factory) { throw new SchematicMissingFactoryException(name); } - const resolvedRef = this._resolveReferenceString(partialDesc.factory, collectionPath); + const resolvedRef = this._resolveReferenceString( + partialDesc.factory, + collectionPath, + collection, + ); if (!resolvedRef) { throw new FactoryCannotBeResolvedException(name); } diff --git a/packages/angular_devkit/schematics/tools/node-module-engine-host.ts b/packages/angular_devkit/schematics/tools/node-module-engine-host.ts index 94afed6dc898..7590f299bcb6 100644 --- a/packages/angular_devkit/schematics/tools/node-module-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/node-module-engine-host.ts @@ -98,7 +98,11 @@ export class NodeModulesEngineHost extends FileSystemEngineHostBase { return collectionPath; } - protected _resolveReferenceString(refString: string, parentPath: string) { + protected _resolveReferenceString( + refString: string, + parentPath: string, + collectionDescription?: FileSystemCollectionDesc, + ) { const ref = new ExportStringRef>(refString, parentPath); if (!ref.ref) { return null; From d87b858d41a1276b6b5ac08276c2e77fb790952f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 7 Apr 2022 10:37:40 -0400 Subject: [PATCH 0280/1388] refactor(@angular/cli): add infrastructure support for schematics built-in modules Infrastructure has been added to the schematics runtime within the `@angular/cli` package to allow schematics executed via the Angular CLI to have access upcoming built-in modules. These built-in modules will be imported/required using the `schematics:` scheme similar to the Node.js `node:` scheme available for Node.js built-in modules. No built-in modules exist yet but will be added in the future. Schematics must be executed via the Angular CLI Schematics runtime's custom VM context to use the upcoming built-in modules. All first-party Angular schematics have been executed in this manner for several major versions. Third-party schematics can now opt-in to the behavior by enabling the `encapsulation` option within a schematic collection JSON file. --- .../utilities/schematic-engine-host.ts | 57 +++++++++++++------ 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts index 57d678321d76..99e408b33392 100644 --- a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts +++ b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts @@ -7,7 +7,7 @@ */ import { RuleFactory, SchematicsException, Tree } from '@angular-devkit/schematics'; -import { NodeModulesEngineHost } from '@angular-devkit/schematics/tools'; +import { FileSystemCollectionDesc, NodeModulesEngineHost } from '@angular-devkit/schematics/tools'; import { readFileSync } from 'fs'; import { parse as parseJson } from 'jsonc-parser'; import nodeModule from 'module'; @@ -16,22 +16,19 @@ import { Script } from 'vm'; /** * Environment variable to control schematic package redirection - * Default: Angular schematics only */ const schematicRedirectVariable = process.env['NG_SCHEMATIC_REDIRECT']?.toLowerCase(); -function shouldWrapSchematic(schematicFile: string): boolean { +function shouldWrapSchematic(schematicFile: string, schematicEncapsulation: boolean): boolean { // Check environment variable if present - if (schematicRedirectVariable !== undefined) { - switch (schematicRedirectVariable) { - case '0': - case 'false': - case 'off': - case 'none': - return false; - case 'all': - return true; - } + switch (schematicRedirectVariable) { + case '0': + case 'false': + case 'off': + case 'none': + return false; + case 'all': + return true; } const normalizedSchematicFile = schematicFile.replace(/\\/g, '/'); @@ -45,20 +42,29 @@ function shouldWrapSchematic(schematicFile: string): boolean { return false; } - // Default is only first-party Angular schematic packages + // Check for first-party Angular schematic packages // Angular schematics are safe to use in the wrapped VM context - return /\/node_modules\/@(?:angular|schematics|nguniversal)\//.test(normalizedSchematicFile); + if (/\/node_modules\/@(?:angular|schematics|nguniversal)\//.test(normalizedSchematicFile)) { + return true; + } + + // Otherwise use the value of the schematic collection's encapsulation option (current default of false) + return schematicEncapsulation; } export class SchematicEngineHost extends NodeModulesEngineHost { - protected override _resolveReferenceString(refString: string, parentPath: string) { + protected override _resolveReferenceString( + refString: string, + parentPath: string, + collectionDescription?: FileSystemCollectionDesc, + ) { const [path, name] = refString.split('#', 2); // Mimic behavior of ExportStringRef class used in default behavior const fullPath = path[0] === '.' ? resolve(parentPath ?? process.cwd(), path) : path; const schematicFile = require.resolve(fullPath, { paths: [parentPath] }); - if (shouldWrapSchematic(schematicFile)) { + if (shouldWrapSchematic(schematicFile, !!collectionDescription?.encapsulation)) { const schematicPath = dirname(schematicFile); const moduleCache = new Map(); @@ -78,7 +84,7 @@ export class SchematicEngineHost extends NodeModulesEngineHost { } // All other schematics use default behavior - return super._resolveReferenceString(refString, parentPath); + return super._resolveReferenceString(refString, parentPath, collectionDescription); } } @@ -128,6 +134,17 @@ function wrap( if (legacyModules[id]) { // Provide compatibility modules for older versions of @angular/cdk return legacyModules[id]; + } else if (id.startsWith('schematics:')) { + // Schematics built-in modules use the `schematics` scheme (similar to the Node.js `node` scheme) + const builtinId = id.slice(11); + const builtinModule = loadBuiltinModule(builtinId); + if (!builtinModule) { + throw new Error( + `Unknown schematics built-in module '${id}' requested from schematic '${schematicFile}'`, + ); + } + + return builtinModule; } else if (id.startsWith('@angular-devkit/') || id.startsWith('@schematics/')) { // Files should not redirect `@angular/core` and instead use the direct // dependency if available. This allows old major version migrations to continue to function @@ -201,3 +218,7 @@ function wrap( return exportsFactory; } + +function loadBuiltinModule(id: string): unknown { + return undefined; +} From ff4eba3d4a9417d2baef70aaa953bdef4bb426a6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Apr 2022 16:54:43 +0200 Subject: [PATCH 0281/1388] fix(@angular/cli): handle duplicate arguments With this change we add a Yargs middleware that normalizes non Array options when the argument has been provided multiple times. By default, when an option is non array and it is provided multiple times in the command line, yargs will not override it's value but instead it will be changed to an array unless `duplicate-arguments-array` is disabled. But this option also have an effect on real array options which isn't desired. See: https://github.com/yargs/yargs-parser/pull/163#issuecomment-516566614 Closes #22956 --- .../cli/src/command-builder/command-runner.ts | 2 + .../utilities/normalize-options-middleware.ts | 37 +++++++++++++++++++ .../misc/duplicate-command-line-option.ts | 19 ++++++++++ 3 files changed, 58 insertions(+) create mode 100644 packages/angular/cli/src/command-builder/utilities/normalize-options-middleware.ts create mode 100644 tests/legacy-cli/e2e/tests/misc/duplicate-command-line-option.ts diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 943e1c9fc24b..822adb641e4c 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -33,6 +33,7 @@ import { PackageManagerUtils } from '../utilities/package-manager'; import { CommandContext, CommandModuleError, CommandScope } from './command-module'; import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; import { jsonHelpUsage } from './utilities/json-help'; +import { normalizeOptionsMiddleware } from './utilities/normalize-options-middleware'; const COMMANDS = [ VersionCommandModule, @@ -145,6 +146,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis }) .demandCommand(1, demandCommandFailureMessage) .recommendCommands() + .middleware(normalizeOptionsMiddleware) .version(false) .showHelpOnFail(false) .strict() diff --git a/packages/angular/cli/src/command-builder/utilities/normalize-options-middleware.ts b/packages/angular/cli/src/command-builder/utilities/normalize-options-middleware.ts new file mode 100644 index 000000000000..c19d1c8d3038 --- /dev/null +++ b/packages/angular/cli/src/command-builder/utilities/normalize-options-middleware.ts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import * as yargs from 'yargs'; + +/** + * A Yargs middleware that normalizes non Array options when the argument has been provided multiple times. + * + * By default, when an option is non array and it is provided multiple times in the command line, yargs + * will not override it's value but instead it will be changed to an array unless `duplicate-arguments-array` is disabled. + * But this option also have an effect on real array options which isn't desired. + * + * See: https://github.com/yargs/yargs-parser/pull/163#issuecomment-516566614 + */ +export function normalizeOptionsMiddleware(args: yargs.Arguments): void { + // `getOptions` is not included in the types even though it's public API. + // https://github.com/yargs/yargs/issues/2098 + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const { array } = (yargs as any).getOptions(); + const arrayOptions = new Set(array); + + for (const [key, value] of Object.entries(args)) { + if (key !== '_' && Array.isArray(value) && !arrayOptions.has(key)) { + const newValue = value.pop(); + // eslint-disable-next-line no-console + console.warn( + `Option '${key}' has been specified multiple times. The value '${newValue}' will be used.`, + ); + args[key] = newValue; + } + } +} diff --git a/tests/legacy-cli/e2e/tests/misc/duplicate-command-line-option.ts b/tests/legacy-cli/e2e/tests/misc/duplicate-command-line-option.ts new file mode 100644 index 000000000000..a445e9051ade --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/duplicate-command-line-option.ts @@ -0,0 +1,19 @@ +import { ng } from '../../utils/process'; +import { expectFileToExist } from '../../utils/fs'; + +export default async function () { + const { stderr } = await ng( + 'generate', + 'component', + 'test-component', + '--style=scss', + '--style=sass', + ); + + const warningMatch = `Option 'style' has been specified multiple times. The value 'sass' will be used`; + if (!stderr.includes(warningMatch)) { + throw new Error(`Expected stderr to contain: "${warningMatch}".`); + } + + await expectFileToExist('src/app/test-component/test-component.component.sass'); +} From 3afd1ab9c0a347950c8477608ad9b81cf75fa891 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Apr 2022 11:21:29 +0200 Subject: [PATCH 0282/1388] fix(@angular-devkit/build-webpack): emit devserver setup errors Closes #22969 --- .../build_webpack/src/webpack-dev-server/index.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts index 353536039f9c..43569f916a9e 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts @@ -82,7 +82,13 @@ export function runWebpackDevServer( }); const devServer = createWebpackDevServer(webpackCompiler, devServerConfig); - devServer.startCallback(() => { + devServer.startCallback((err) => { + if (err) { + obs.error(err); + + return; + } + const address = devServer.server?.address(); if (!address) { obs.error(new Error(`Dev-server address info is not defined.`)); From be2b268c36f9ae465b9233f7bf705717712e3cf1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Apr 2022 12:00:19 +0200 Subject: [PATCH 0283/1388] fix(@angular-devkit/build-angular): display debug logs when using the `--verbose` option Webpack doesn't display debug logs when setting the log level to verbose. See: https://webpack.js.org/configuration/other-options/#debug and https://webpack.js.org/configuration/other-options/#level --- .../angular_devkit/build_angular/src/webpack/configs/common.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index e8b4d870ac8e..d81636c09d45 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -397,6 +397,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Mon, 11 Apr 2022 16:30:07 +0000 Subject: [PATCH 0284/1388] build: update angular to 89573ed --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++----- yarn.lock | 60 +++++++++---------- 6 files changed, 50 insertions(+), 50 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ca5243a59305..de64a07a662e 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@50857c6aa6532660e84d2974272f6b0041e291b8 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@b26959063a9a0bdc1fca8a82c2fc545089be706c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index f3f9633328fa..ee7cdd29851b 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@50857c6aa6532660e84d2974272f6b0041e291b8 + - uses: angular/dev-infra/github-actions/feature-request@b26959063a9a0bdc1fca8a82c2fc545089be706c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index d9c5d8021697..115b90c220f8 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@50857c6aa6532660e84d2974272f6b0041e291b8 + - uses: angular/dev-infra/github-actions/lock-closed@b26959063a9a0bdc1fca8a82c2fc545089be706c with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 85a44cc1b673..eafa95e0ffa1 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.11", "@angular/compiler-cli": "14.0.0-next.11", "@angular/core": "14.0.0-next.11", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#31b7db764ea2883386d40b7ffda60bd773dc9dd7", "@angular/forms": "14.0.0-next.11", "@angular/localize": "14.0.0-next.11", "@angular/material": "14.0.0-next.9", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 3dc3968af41f..a12a56f46960 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#aaab8faf324b3b950a00ec8051b995569c627d40", - "@angular/cdk": "github:angular/cdk-builds#bd3ce8614fd55ab06b78f759d0c2f320af627ed7", - "@angular/common": "github:angular/common-builds#0535f226f24d03253cacef9b71fa09513184d949", - "@angular/compiler": "github:angular/compiler-builds#5e73c327e37645f790444edb112679ce50460c52", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#c242db8367b9e4c773d1af64df2896af363ceb4b", - "@angular/core": "github:angular/core-builds#4f3cf624cdee7bb62c8fd7ea149a0c705bef8625", - "@angular/forms": "github:angular/forms-builds#37694dcbcc09d23a34d4af60b53af040313f37a4", - "@angular/language-service": "github:angular/language-service-builds#b54dec5d7de67224f609bb98c8717ad750afc03f", - "@angular/localize": "github:angular/localize-builds#abb87671bb309cfd39fec6e7b0d54a031ea30ab5", - "@angular/material": "github:angular/material-builds#09eacd0522304d64c8c73febd511be647459e3cc", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e45c61f391c6bba4e02a1645265e78c89a9f41b9", - "@angular/platform-browser": "github:angular/platform-browser-builds#185305260ba8b9b45137dc7789dcec0665b6c2fe", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#42f4b34e737a5d344ec065ea89cf8986d53e5b37", - "@angular/platform-server": "github:angular/platform-server-builds#b64db74a873be1a627869f70cf7ab9263eb71b72", - "@angular/router": "github:angular/router-builds#e8daf2a8966679046b825149466e1fea13f65188", - "@angular/service-worker": "github:angular/service-worker-builds#dc0badd3d5516d4db3038c9165d6b252ab31903b" + "@angular/animations": "github:angular/animations-builds#89573edb7cb3b3db852ebfec3476f9e846b39d4a", + "@angular/cdk": "github:angular/cdk-builds#af38f823811521476f2fd07c4c515e7445ff0f8e", + "@angular/common": "github:angular/common-builds#adfe81a5fff197651d1a9fe445d08124673b63bf", + "@angular/compiler": "github:angular/compiler-builds#d91647da3e347bad337d16f8e0158f4584d9c6c9", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#3accffe392bf97f948fc856ba07156b33ab65b78", + "@angular/core": "github:angular/core-builds#0f44e849e7b02e062573d0a80201886a4f32969b", + "@angular/forms": "github:angular/forms-builds#2c70914f242a331ea5b04b94876457826929ade9", + "@angular/language-service": "github:angular/language-service-builds#0ababe9bb7c44427933d3e72cc2263ae1134a40d", + "@angular/localize": "github:angular/localize-builds#2385c6ae12b6a202e8dc16346c08bfa02f162a23", + "@angular/material": "github:angular/material-builds#3a1e3386d8833126fd4f923c2b79f5da5b37a6f3", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#31bc47de6c12aa0ebaf8e9348440df164fa70975", + "@angular/platform-browser": "github:angular/platform-browser-builds#e62f9f0bb5339c72b670d9a2580b4128c5cc1548", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9fc60d0d50c621190982db775e392dbbb0f45a4c", + "@angular/platform-server": "github:angular/platform-server-builds#05e26018a94baf78b341873f23b9e58d659399ad", + "@angular/router": "github:angular/router-builds#be63f3bcb6e5bfd8b7b26196f7177809461c76cd", + "@angular/service-worker": "github:angular/service-worker-builds#847963cd54f71ce654321bd76084077b396e4ff7" } } diff --git a/yarn.lock b/yarn.lock index 3a9598fce23c..7ecaca746a50 100644 --- a/yarn.lock +++ b/yarn.lock @@ -175,10 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c": - version "0.0.0-50857c6aa6532660e84d2974272f6b0041e291b8" - uid "2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c" - resolved "https://github.com/angular/dev-infra-private-builds.git#2e0d1219fb4ec17cd06d0ed1dbf1220cd7f1834c" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#31b7db764ea2883386d40b7ffda60bd773dc9dd7": + version "0.0.0-b26959063a9a0bdc1fca8a82c2fc545089be706c" + uid "31b7db764ea2883386d40b7ffda60bd773dc9dd7" + resolved "https://github.com/angular/dev-infra-private-builds.git#31b7db764ea2883386d40b7ffda60bd773dc9dd7" dependencies: "@angular-devkit/build-angular" "14.0.0-next.8" "@angular/benchpress" "0.3.0" @@ -190,7 +190,7 @@ "@bazel/runfiles" "5.4.0" "@bazel/terser" "5.4.0" "@bazel/typescript" "5.4.0" - "@microsoft/api-extractor" "7.20.1" + "@microsoft/api-extractor" "7.21.2" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -1484,26 +1484,26 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz#3db7360897115f26a857f1f684fb5af82b0ef9f6" - integrity sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ== +"@microsoft/api-extractor-model@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.16.1.tgz#f6e53614e90c8a6be47bad5b91d49cc6d8c5c2bf" + integrity sha512-+1mlvy/ji+mUuH7WdVZ6fTo/aCKfS6m37aAFVOFWLfkMvmR+I9SjPfiv9qOg83If7GOrk2HPiHHibv6kA80VTg== dependencies: "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" - "@rushstack/node-core-library" "3.45.1" + "@rushstack/node-core-library" "3.45.2" -"@microsoft/api-extractor@7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz#e7ccf6f7618eef792a1936674183023109183d0d" - integrity sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA== +"@microsoft/api-extractor@7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.21.2.tgz#0f524e7e1cf7b000924772fb8f6b5f60cf42fba8" + integrity sha512-m0+YPaXVou01O/V9swugZG7Gn4mw6HSWY+uisf0j2JPRZcoEDyoYe4hg0ERKXOEf0hByOnMLT28nQ82v8ig9Yw== dependencies: - "@microsoft/api-extractor-model" "7.16.0" + "@microsoft/api-extractor-model" "7.16.1" "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" - "@rushstack/node-core-library" "3.45.1" - "@rushstack/rig-package" "0.3.8" - "@rushstack/ts-command-line" "4.10.7" + "@rushstack/node-core-library" "3.45.2" + "@rushstack/rig-package" "0.3.9" + "@rushstack/ts-command-line" "4.10.8" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" @@ -1709,10 +1709,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.1": - version "3.45.1" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz#787361b61a48d616eb4b059641721a3dc138f001" - integrity sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ== +"@rushstack/node-core-library@3.45.2": + version "3.45.2" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.2.tgz#68fc89c5bea4007359fa4ff203bf3eca27037f40" + integrity sha512-MJKdB6mxOoIkks3htGVCo7aiTzllm2I6Xua+KbTSb0cp7rBp8gTCOF/4d8R4HFMwpRdEdwzKgqMM6k9rAK73iw== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1724,18 +1724,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.8.tgz#0e8b2fbc7a35d96f6ccf34e773f7c1adb1524296" - integrity sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q== +"@rushstack/rig-package@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.9.tgz#5e10ada5a8348f886b6ebe3eed436492d6ccf70c" + integrity sha512-z3Oxpfb4n9mGXwseX+ifpkmUf9B8Fy8oieVwg8eFgpCbzllkgOwEiwLKEnRWVQ8owFcd46NCKz+7ICH35CRsAw== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.10.7": - version "4.10.7" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz#21e3757a756cbd4f7eeab8f89ec028a64d980efc" - integrity sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og== +"@rushstack/ts-command-line@4.10.8": + version "4.10.8" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.8.tgz#f4bec690e7f4838e6f91028d8a557e67c3a75f68" + integrity sha512-G7CQYY/m3aZU5fVxbebv35yDeua7sSumrDAB2pJp0d60ZEsxGkUQW8771CeMcGWwSKqT9PxPzKpmIakiWv54sA== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" From a63df1ee9b67ed4ada44716e0b9ac86f4ba2a08d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 9 Apr 2022 09:46:30 +0000 Subject: [PATCH 0285/1388] build: update github/codeql-action action to v2.1.8 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index cde0cf2603d7..99aad7e94eb4 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@0182a2c78c8a55b763909348834ed54d735ab3e2 # tag=v2.1.7 + uses: github/codeql-action/upload-sarif@1ed1437484560351c5be56cf73a48a279d116b78 # tag=v2.1.8 with: sarif_file: results.sarif From cb6dd190f26a195e69fcab98eb8fcf52eaf8f561 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 11 Apr 2022 13:39:35 +0000 Subject: [PATCH 0286/1388] build: update all non-major dependencies --- package.json | 6 +- packages/angular/cli/package.json | 2 +- yarn.lock | 176 +++++------------------------- 3 files changed, 33 insertions(+), 151 deletions(-) diff --git a/package.json b/package.json index eafa95e0ffa1..100cb046aa72 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "debug": "^4.1.1", "esbuild": "0.14.34", "esbuild-wasm": "0.14.34", - "eslint": "8.12.0", + "eslint": "8.13.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -170,7 +170,7 @@ "magic-string": "0.26.1", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.4", + "ng-packagr": "14.0.0-next.5", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.2", "open": "8.4.0", @@ -218,7 +218,7 @@ "webpack-dev-server": "4.8.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", - "yargs": "17.4.0", + "yargs": "17.4.1", "yargs-parser": "21.0.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index fab0c65b65f7..2c4751a22da5 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -41,7 +41,7 @@ "semver": "7.3.6", "symbol-observable": "4.0.0", "uuid": "8.3.2", - "yargs": "17.4.0" + "yargs": "17.4.1" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/yarn.lock b/yarn.lock index 7ecaca746a50..bb1a795eb67c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4483,11 +4483,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" - integrity sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== - esbuild-android-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.32.tgz#cf23a9c6052bb48901f5541c7e5a4168495fca36" @@ -4498,11 +4493,6 @@ esbuild-android-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz#46bc4327dd0809937912346244eaffdb9bfc980d" integrity sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw== -esbuild-android-arm64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" - integrity sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== - esbuild-android-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.32.tgz#5840407c8d8b577eea847eecce8df9610c0f58fd" @@ -4513,11 +4503,6 @@ esbuild-android-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz#a3f7e1ad84b8a7dcb39b5e132768b56ee7133656" integrity sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew== -esbuild-darwin-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" - integrity sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== - esbuild-darwin-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.32.tgz#c6defc12a60f27408f1a30bb233c9d0e66ea2a55" @@ -4528,11 +4513,6 @@ esbuild-darwin-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz#a0e4ab7a0cddf76761f1fb5d6bf552a376beb16e" integrity sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw== -esbuild-darwin-arm64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" - integrity sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== - esbuild-darwin-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.32.tgz#fc878496516a90fc4982ee7cf8f2d2f484dbd64a" @@ -4543,11 +4523,6 @@ esbuild-darwin-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz#54c35461f82f83a7f5169d9a6a54201798977b07" integrity sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w== -esbuild-freebsd-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" - integrity sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== - esbuild-freebsd-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.32.tgz#c136e8e8bab8e7ea95a7fbe4b689d2c940bf48f2" @@ -4558,11 +4533,6 @@ esbuild-freebsd-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz#aebb50248f5874d04ffeab2db8ee1ed6037e2654" integrity sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA== -esbuild-freebsd-arm64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" - integrity sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== - esbuild-freebsd-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.32.tgz#46668a10e5a51665ed800b10a02b757bf6bc6fbf" @@ -4573,11 +4543,6 @@ esbuild-freebsd-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz#09bef288e29f18b38b0c70a9827b6ee718e36c7f" integrity sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA== -esbuild-linux-32@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" - integrity sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== - esbuild-linux-32@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.32.tgz#ac51a64f26f638618ff62a1a966babe065bc54cc" @@ -4588,11 +4553,6 @@ esbuild-linux-32@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz#67790061758e008e919e65bbc34549f55dadaca7" integrity sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ== -esbuild-linux-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" - integrity sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== - esbuild-linux-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.32.tgz#a3dfeb772f339fb34f0ff61df753a70a01be243a" @@ -4603,11 +4563,6 @@ esbuild-linux-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz#b9b19d4ac07e37495dd2508ec843418aa71c98d6" integrity sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ== -esbuild-linux-arm64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" - integrity sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== - esbuild-linux-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.32.tgz#df2fead5c0d9228eede866359f35b3e0eef4e192" @@ -4618,11 +4573,6 @@ esbuild-linux-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz#fd84b11a6ccfe9e83e00d0c45890e9fb3a7248c1" integrity sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA== -esbuild-linux-arm@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" - integrity sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== - esbuild-linux-arm@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.32.tgz#64633aa6491e91d935324cf041795ebce18c071b" @@ -4633,11 +4583,6 @@ esbuild-linux-arm@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz#c89d4714b05265a315a97c8933508cc73950e683" integrity sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg== -esbuild-linux-mips64le@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" - integrity sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== - esbuild-linux-mips64le@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.32.tgz#f0a7a083e8fdfb6e4edffb93ec27de2c5d732f01" @@ -4648,11 +4593,6 @@ esbuild-linux-mips64le@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz#d60752c3fb1260dd0737532af2de2a9521656456" integrity sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw== -esbuild-linux-ppc64le@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" - integrity sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== - esbuild-linux-ppc64le@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.32.tgz#dc22b766dd4ddd20c28febe36e8b92b9c11faa63" @@ -4663,11 +4603,6 @@ esbuild-linux-ppc64le@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz#f4c6229269956564f0c6f9825f5e717c2cfc22b3" integrity sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg== -esbuild-linux-riscv64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" - integrity sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== - esbuild-linux-riscv64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.32.tgz#0ae09eee847de5993cbe1529591d5ca17c7303c5" @@ -4678,11 +4613,6 @@ esbuild-linux-riscv64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz#549bd18a9eba3135b67f7b742730b5343a1be35d" integrity sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA== -esbuild-linux-s390x@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" - integrity sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== - esbuild-linux-s390x@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.32.tgz#1297f9f130cd93495e7ce25c63a79dab223b89de" @@ -4693,11 +4623,6 @@ esbuild-linux-s390x@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz#2a6b577c437f94c2b37623c755ff5215a05c12bc" integrity sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA== -esbuild-netbsd-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" - integrity sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== - esbuild-netbsd-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.32.tgz#902bf5ba7c54db9c7274f019c4d006b1b963fb7d" @@ -4708,11 +4633,6 @@ esbuild-netbsd-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz#7f0b73229157975eb35597207723df52ba21722a" integrity sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ== -esbuild-openbsd-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" - integrity sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== - esbuild-openbsd-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.32.tgz#0fbfbdf555deeb05a8915daf0b71168d09773437" @@ -4723,11 +4643,6 @@ esbuild-openbsd-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz#b9bc44b4f70031fb01b173b279daeffc4d4f54b7" integrity sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow== -esbuild-sunos-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" - integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== - esbuild-sunos-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.32.tgz#d493ca5222703dd0b8c489324d1517cd622618e8" @@ -4743,21 +4658,11 @@ esbuild-wasm@0.14.32: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.32.tgz#8c55979be32689ab2def7a6644f6cf70070f0cab" integrity sha512-evuEcldI6O4BGX4LXCNBPabAl3raW+8a75qt0FJ4e6JnknMC+YHmiKRao5WIhOlSNDBGJ9PANxcrZIoQFXcbnA== -esbuild-wasm@0.14.34: +esbuild-wasm@0.14.34, esbuild-wasm@^0.14.29: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.34.tgz#cde4a4c10405b6dfb677652092eb5b9788670d70" integrity sha512-0GYXI7gNla1PePGpXMqSH8U/k0xDkVYwH62L0ZLq3MuI26NPabhAlShOOELISpNZIaYiJ8vlkwdYZ4V229zf2A== -esbuild-wasm@^0.14.25: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.28.tgz#2a3c5e4d44f788ea4ba7901cb3a65d2582fb16ba" - integrity sha512-8LOoNKcVcJnFb+zOfgPrqWjPRfHcutAG75xRw8724YFDGd/Nv0I4vp4TZ38rWlSd3mYBeDluelRAKJvVQxU9EA== - -esbuild-windows-32@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" - integrity sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== - esbuild-windows-32@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.32.tgz#c6b0f4cf952c6f562a32fe763acab9fb8cb3912a" @@ -4768,11 +4673,6 @@ esbuild-windows-32@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz#3ff1afd5cac08050c7c7140a59e343b06f6b037c" integrity sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg== -esbuild-windows-64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" - integrity sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== - esbuild-windows-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.32.tgz#2ad9322a963fd26bb4818ad1c0ee7acde63ebb81" @@ -4783,11 +4683,6 @@ esbuild-windows-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz#66f7b43d2a0b132f6748dfa3edac4fc939a99be0" integrity sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q== -esbuild-windows-arm64@0.14.28: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" - integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== - esbuild-windows-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.32.tgz#bb589106c0fd5d582cce62bd7995a6e5db52e7b4" @@ -4824,7 +4719,7 @@ esbuild@0.14.32: esbuild-windows-64 "0.14.32" esbuild-windows-arm64 "0.14.32" -esbuild@0.14.34: +esbuild@0.14.34, esbuild@^0.14.29: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.34.tgz#3610056f0a57bcfd0b63ddaafdb2e3bef1cf96e4" integrity sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg== @@ -4850,32 +4745,6 @@ esbuild@0.14.34: esbuild-windows-64 "0.14.34" esbuild-windows-arm64 "0.14.34" -esbuild@^0.14.25: - version "0.14.28" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.28.tgz#7738635d2ea19e446bd319d83a1802545e6aebb8" - integrity sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q== - optionalDependencies: - esbuild-android-64 "0.14.28" - esbuild-android-arm64 "0.14.28" - esbuild-darwin-64 "0.14.28" - esbuild-darwin-arm64 "0.14.28" - esbuild-freebsd-64 "0.14.28" - esbuild-freebsd-arm64 "0.14.28" - esbuild-linux-32 "0.14.28" - esbuild-linux-64 "0.14.28" - esbuild-linux-arm "0.14.28" - esbuild-linux-arm64 "0.14.28" - esbuild-linux-mips64le "0.14.28" - esbuild-linux-ppc64le "0.14.28" - esbuild-linux-riscv64 "0.14.28" - esbuild-linux-s390x "0.14.28" - esbuild-netbsd-64 "0.14.28" - esbuild-openbsd-64 "0.14.28" - esbuild-sunos-64 "0.14.28" - esbuild-windows-32 "0.14.28" - esbuild-windows-64 "0.14.28" - esbuild-windows-arm64 "0.14.28" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4998,10 +4867,10 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.12.0.tgz#c7a5bd1cfa09079aae64c9076c07eada66a46e8e" - integrity sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q== +eslint@8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.13.0.tgz#6fcea43b6811e655410f5626cfcf328016badcd7" + integrity sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ== dependencies: "@eslint/eslintrc" "^1.2.1" "@humanwhocodes/config-array" "^0.9.2" @@ -7467,10 +7336,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-next.4: - version "14.0.0-next.4" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.4.tgz#9ed1796fda15633e8926f7c0ac5889aeb18cdb51" - integrity sha512-/VxddJd1A/axQc9o19zlHdao9JhmLx1by7GBlC1hJ8xjK0Qfp2RCzxuoMhMw9LICuP1solxVduE0xb27jeP9sg== +ng-packagr@14.0.0-next.5: + version "14.0.0-next.5" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.5.tgz#40a308b358b1294c673e5bcaee6f656bda7d50b8" + integrity sha512-eaGDbrYRuQ17NzkasfFGdjEz1lhevLB4Sp4dCLbqJhormKwOSCtTwuxzKBcdNCzG0sJ0PBAWznuaateUvhFyAQ== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7481,7 +7350,7 @@ ng-packagr@14.0.0-next.4: chokidar "^3.5.3" commander "^9.0.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.14.25" + esbuild-wasm "^0.14.29" find-cache-dir "^3.3.2" glob "^7.2.0" injection-js "^2.4.0" @@ -7497,7 +7366,7 @@ ng-packagr@14.0.0-next.4: sass "^1.49.9" stylus "^0.57.0" optionalDependencies: - esbuild "^0.14.25" + esbuild "^0.14.29" nice-napi@^1.0.2: version "1.0.2" @@ -11144,10 +11013,10 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.4.0, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" - integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== +yargs@17.4.1: + version "17.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" + integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -11187,6 +11056,19 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 8eaa680d5f028e0dc6fb284d2033650b94dd30c8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Apr 2022 20:23:45 +0200 Subject: [PATCH 0287/1388] refactor(@angular/cli): remove most of `getWorkspaceRaw` usages This changes removes most of the usage of `getWorkspaceRaw` in the Angular CLI. This is needed to eventually drop the direct dependency on `jsonc-parser`. --- .../angular/cli/src/analytics/analytics.ts | 42 ++++++++----------- .../src/commands/analytics/settings/cli.ts | 4 +- .../cli/src/commands/cache/settings/cli.ts | 8 ++-- .../cli/src/commands/cache/utilities.ts | 22 +++++----- packages/angular/cli/src/utilities/config.ts | 28 +++++++++---- 5 files changed, 55 insertions(+), 49 deletions(-) diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index e2e75acc3833..e2f4225e7c7a 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -10,7 +10,7 @@ import { analytics, json, tags } from '@angular-devkit/core'; import debug from 'debug'; import { v4 as uuidV4 } from 'uuid'; import { colors } from '../utilities/color'; -import { getWorkspace, getWorkspaceRaw } from '../utilities/config'; +import { AngularWorkspace, getWorkspace } from '../utilities/config'; import { analyticsDisabled, analyticsShareDisabled } from '../utilities/environment-options'; import { isTTY } from '../utilities/tty'; import { VERSION } from '../utilities/version'; @@ -64,27 +64,21 @@ export function isPackageNameSafeForAnalytics(name: string): boolean { * @param global Which config to use. "global" for user-level, and "local" for project-level. * @param value Either a user ID, true to generate a new User ID, or false to disable analytics. */ -export function setAnalyticsConfig(global: boolean, value: string | boolean): void { +export async function setAnalyticsConfig(global: boolean, value: string | boolean): Promise { const level = global ? 'global' : 'local'; analyticsDebug('setting %s level analytics to: %s', level, value); - const [config, configPath] = getWorkspaceRaw(level); - if (!config || !configPath) { + const workspace = await getWorkspace(level); + if (!workspace) { throw new Error(`Could not find ${level} workspace.`); } - const cli = config.get(['cli']); - - if (cli !== undefined && !json.isJsonObject(cli as json.JsonValue)) { - throw new Error(`Invalid config found at ${configPath}. CLI should be an object.`); - } - - if (value === true) { - value = uuidV4(); + const cli = (workspace.extensions['cli'] ??= {}); + if (!workspace || !json.isJsonObject(cli)) { + throw new Error(`Invalid config found at ${workspace.filePath}. CLI should be an object.`); } - config.modify(['cli', 'analytics'], value); - config.save(); - + cli.analytics = value === true ? uuidV4() : value; + await workspace.save(); analyticsDebug('done'); } @@ -96,8 +90,8 @@ export function setAnalyticsConfig(global: boolean, value: string | boolean): vo export async function promptAnalytics(global: boolean, force = false): Promise { analyticsDebug('prompting user'); const level = global ? 'global' : 'local'; - const [config, configPath] = getWorkspaceRaw(level); - if (!config || !configPath) { + const workspace = await getWorkspace(level); + if (!workspace) { throw new Error(`Could not find a ${level} workspace. Are you in a project?`); } @@ -117,7 +111,7 @@ export async function promptAnalytics(global: boolean, force = false): Promise { - const [globalWorkspace] = getWorkspaceRaw('global'); - const [localWorkspace] = getWorkspaceRaw('local'); - const globalSetting = globalWorkspace?.get(['cli', 'analytics']); - const localSetting = localWorkspace?.get(['cli', 'analytics']); + const globalWorkspace = await getWorkspace('global'); + const localWorkspace = await getWorkspace('local'); + const globalSetting = globalWorkspace?.getCli()?.['analytics']; + const localSetting = localWorkspace?.getCli()?.['analytics']; const analyticsInstance = await createAnalytics( !!localWorkspace /** workspace */, diff --git a/packages/angular/cli/src/commands/analytics/settings/cli.ts b/packages/angular/cli/src/commands/analytics/settings/cli.ts index 8fc930afe5a8..f37d1b948618 100644 --- a/packages/angular/cli/src/commands/analytics/settings/cli.ts +++ b/packages/angular/cli/src/commands/analytics/settings/cli.ts @@ -51,7 +51,7 @@ export class AnalyticsDisableModule describe = 'Disables analytics gathering and reporting for the user.'; async run({ global }: Options): Promise { - setAnalyticsConfig(global, false); + await setAnalyticsConfig(global, false); process.stderr.write(await getAnalyticsInfoString()); } } @@ -64,7 +64,7 @@ export class AnalyticsEnableModule aliases = 'on'; describe = 'Enables analytics gathering and reporting for the user.'; async run({ global }: Options): Promise { - setAnalyticsConfig(global, true); + await setAnalyticsConfig(global, true); process.stderr.write(await getAnalyticsInfoString()); } } diff --git a/packages/angular/cli/src/commands/cache/settings/cli.ts b/packages/angular/cli/src/commands/cache/settings/cli.ts index 673490bfaf69..b070d1cab1dc 100644 --- a/packages/angular/cli/src/commands/cache/settings/cli.ts +++ b/packages/angular/cli/src/commands/cache/settings/cli.ts @@ -25,8 +25,8 @@ export class CacheDisableModule extends CommandModule implements CommandModuleIm return localYargs; } - run(): void { - updateCacheConfig('enabled', false); + run(): Promise { + return updateCacheConfig(this.getWorkspaceOrThrow(), 'enabled', false); } } @@ -41,7 +41,7 @@ export class CacheEnableModule extends CommandModule implements CommandModuleImp return localYargs; } - run(): void { - updateCacheConfig('enabled', true); + run(): Promise { + return updateCacheConfig(this.getWorkspaceOrThrow(), 'enabled', true); } } diff --git a/packages/angular/cli/src/commands/cache/utilities.ts b/packages/angular/cli/src/commands/cache/utilities.ts index f738a4c58d9a..c9783e02f942 100644 --- a/packages/angular/cli/src/commands/cache/utilities.ts +++ b/packages/angular/cli/src/commands/cache/utilities.ts @@ -9,16 +9,18 @@ import { isJsonObject } from '@angular-devkit/core'; import { resolve } from 'path'; import { Cache, Environment } from '../../../lib/config/workspace-schema'; -import { AngularWorkspace, getWorkspaceRaw } from '../../utilities/config'; - -export function updateCacheConfig(key: K, value: Cache[K]): void { - const [localWorkspace] = getWorkspaceRaw('local'); - if (!localWorkspace) { - throw new Error('Cannot find workspace configuration file.'); - } - - localWorkspace.modify(['cli', 'cache', key], value); - localWorkspace.save(); +import { AngularWorkspace } from '../../utilities/config'; + +export function updateCacheConfig( + workspace: AngularWorkspace, + key: K, + value: Cache[K], +): Promise { + const cli = (workspace.extensions['cli'] ??= {}) as Record>; + const cache = (cli['cache'] ??= {}); + cache[key] = value; + + return workspace.save(); } export function getCacheConfig(workspace: AngularWorkspace | undefined): Required { diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index 83ab11572bca..8a9263d518cc 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -117,7 +117,10 @@ function globalFilePath(): string | null { export class AngularWorkspace { readonly basePath: string; - constructor(private workspace: workspaces.WorkspaceDefinition, readonly filePath: string) { + constructor( + private readonly workspace: workspaces.WorkspaceDefinition, + readonly filePath: string, + ) { this.basePath = path.dirname(filePath); } @@ -132,15 +135,19 @@ export class AngularWorkspace { // Temporary helper functions to support refactoring // eslint-disable-next-line @typescript-eslint/no-explicit-any - getCli(): Record { - return (this.workspace.extensions['cli'] as Record) || {}; + getCli(): Record | undefined { + return this.workspace.extensions['cli'] as Record; } // eslint-disable-next-line @typescript-eslint/no-explicit-any - getProjectCli(projectName: string): Record { + getProjectCli(projectName: string): Record | undefined { const project = this.workspace.projects.get(projectName); - return (project?.extensions['cli'] as Record) || {}; + return project?.extensions['cli'] as Record; + } + + save(): Promise { + return workspaces.writeWorkspace(this.workspace, createWorkspaceHost(), this.filePath); } static async load(workspaceFilePath: string): Promise { @@ -162,12 +169,15 @@ export async function getWorkspace( return cachedWorkspaces.get(level); } - const configPath = level === 'local' ? projectFilePath() : globalFilePath(); - + let configPath = level === 'local' ? projectFilePath() : globalFilePath(); if (!configPath) { - cachedWorkspaces.set(level, undefined); + if (level === 'local') { + cachedWorkspaces.set(level, undefined); + + return undefined; + } - return undefined; + configPath = createGlobalSettings(); } try { From bf891c3b4281f41a64923804dea43e0453cdc611 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 12 Apr 2022 11:53:36 +0000 Subject: [PATCH 0288/1388] build: update angular to 0e12514 --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++------ yarn.lock | 54 +++++++++---------- 6 files changed, 47 insertions(+), 47 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index de64a07a662e..1fe7c76b7204 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@b26959063a9a0bdc1fca8a82c2fc545089be706c + - uses: angular/dev-infra/github-actions/commit-message-based-labels@7842990c04c24210f20f64404e219046a262aa8f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ee7cdd29851b..47329367cce7 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@b26959063a9a0bdc1fca8a82c2fc545089be706c + - uses: angular/dev-infra/github-actions/feature-request@7842990c04c24210f20f64404e219046a262aa8f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 115b90c220f8..ce1f2925f4fc 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@b26959063a9a0bdc1fca8a82c2fc545089be706c + - uses: angular/dev-infra/github-actions/lock-closed@7842990c04c24210f20f64404e219046a262aa8f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 100cb046aa72..4a37acba3f1d 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.11", "@angular/compiler-cli": "14.0.0-next.11", "@angular/core": "14.0.0-next.11", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#31b7db764ea2883386d40b7ffda60bd773dc9dd7", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2bbdad04025574bb789d32be2886c2307dd4fff6", "@angular/forms": "14.0.0-next.11", "@angular/localize": "14.0.0-next.11", "@angular/material": "14.0.0-next.9", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index a12a56f46960..c376a7a4f12f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#89573edb7cb3b3db852ebfec3476f9e846b39d4a", - "@angular/cdk": "github:angular/cdk-builds#af38f823811521476f2fd07c4c515e7445ff0f8e", - "@angular/common": "github:angular/common-builds#adfe81a5fff197651d1a9fe445d08124673b63bf", - "@angular/compiler": "github:angular/compiler-builds#d91647da3e347bad337d16f8e0158f4584d9c6c9", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#3accffe392bf97f948fc856ba07156b33ab65b78", - "@angular/core": "github:angular/core-builds#0f44e849e7b02e062573d0a80201886a4f32969b", - "@angular/forms": "github:angular/forms-builds#2c70914f242a331ea5b04b94876457826929ade9", - "@angular/language-service": "github:angular/language-service-builds#0ababe9bb7c44427933d3e72cc2263ae1134a40d", - "@angular/localize": "github:angular/localize-builds#2385c6ae12b6a202e8dc16346c08bfa02f162a23", - "@angular/material": "github:angular/material-builds#3a1e3386d8833126fd4f923c2b79f5da5b37a6f3", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#31bc47de6c12aa0ebaf8e9348440df164fa70975", - "@angular/platform-browser": "github:angular/platform-browser-builds#e62f9f0bb5339c72b670d9a2580b4128c5cc1548", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9fc60d0d50c621190982db775e392dbbb0f45a4c", - "@angular/platform-server": "github:angular/platform-server-builds#05e26018a94baf78b341873f23b9e58d659399ad", - "@angular/router": "github:angular/router-builds#be63f3bcb6e5bfd8b7b26196f7177809461c76cd", - "@angular/service-worker": "github:angular/service-worker-builds#847963cd54f71ce654321bd76084077b396e4ff7" + "@angular/animations": "github:angular/animations-builds#0e12514a57325a4b87bf7a38dd1d7eb7324cbadd", + "@angular/cdk": "github:angular/cdk-builds#bb4ee1375309c0e6e7106f830de8a55bcb654bcf", + "@angular/common": "github:angular/common-builds#9462ad121dd9528932df292b9200debb076debb3", + "@angular/compiler": "github:angular/compiler-builds#df5abdc264c9c4ee5bf9ab8d573896de93f4d893", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#2dc86dcc49a47c3f27bb6c4ca1184b40ef50ac93", + "@angular/core": "github:angular/core-builds#3a3b482982617f2be0849368f8fa31461962f26b", + "@angular/forms": "github:angular/forms-builds#8c4299532bef584a2cc022b2916f4da13e8799d1", + "@angular/language-service": "github:angular/language-service-builds#4546bd3347108541a23047e25a06946d8c484f63", + "@angular/localize": "github:angular/localize-builds#06455c301164dc8c4d21485ddc2f88fcb2f75f62", + "@angular/material": "github:angular/material-builds#316c3f5c1f2b40aeefb76f50572fae7285b4d554", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9de20593345ab89cd083fd8cc753d904ffa5cfba", + "@angular/platform-browser": "github:angular/platform-browser-builds#d831df1c68379879ba62bccdcd0dd9bd1fac5e81", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#afd2bf2e1b5192454919aacfec63c844887253fa", + "@angular/platform-server": "github:angular/platform-server-builds#be9ef8479b5d3796a8820020f620aa4d44bace99", + "@angular/router": "github:angular/router-builds#4f6b9a06fae85b700c210881460cf6175d87b2b9", + "@angular/service-worker": "github:angular/service-worker-builds#50bd6fe2f125d21b3f9b2b21b4e9b7492bb3addc" } } diff --git a/yarn.lock b/yarn.lock index bb1a795eb67c..b0592956459c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -175,10 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#31b7db764ea2883386d40b7ffda60bd773dc9dd7": - version "0.0.0-b26959063a9a0bdc1fca8a82c2fc545089be706c" - uid "31b7db764ea2883386d40b7ffda60bd773dc9dd7" - resolved "https://github.com/angular/dev-infra-private-builds.git#31b7db764ea2883386d40b7ffda60bd773dc9dd7" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2bbdad04025574bb789d32be2886c2307dd4fff6": + version "0.0.0-7842990c04c24210f20f64404e219046a262aa8f" + uid "2bbdad04025574bb789d32be2886c2307dd4fff6" + resolved "https://github.com/angular/dev-infra-private-builds.git#2bbdad04025574bb789d32be2886c2307dd4fff6" dependencies: "@angular-devkit/build-angular" "14.0.0-next.8" "@angular/benchpress" "0.3.0" @@ -190,7 +190,7 @@ "@bazel/runfiles" "5.4.0" "@bazel/terser" "5.4.0" "@bazel/typescript" "5.4.0" - "@microsoft/api-extractor" "7.21.2" + "@microsoft/api-extractor" "7.21.3" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -1484,23 +1484,23 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.16.1": - version "7.16.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.16.1.tgz#f6e53614e90c8a6be47bad5b91d49cc6d8c5c2bf" - integrity sha512-+1mlvy/ji+mUuH7WdVZ6fTo/aCKfS6m37aAFVOFWLfkMvmR+I9SjPfiv9qOg83If7GOrk2HPiHHibv6kA80VTg== +"@microsoft/api-extractor-model@7.16.2": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.16.2.tgz#58504311bba3e0f8375b49c5c8b92ffc7e576845" + integrity sha512-hnqKsG89iIiQlLDXasxFw8QR0LwakPVXejNVmlGpFL008R+IExgc1f+tBrUAm1in6Oq76t7Ea0TFhER56Qfhaw== dependencies: - "@microsoft/tsdoc" "0.13.2" - "@microsoft/tsdoc-config" "~0.15.2" + "@microsoft/tsdoc" "0.14.1" + "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.2" -"@microsoft/api-extractor@7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.21.2.tgz#0f524e7e1cf7b000924772fb8f6b5f60cf42fba8" - integrity sha512-m0+YPaXVou01O/V9swugZG7Gn4mw6HSWY+uisf0j2JPRZcoEDyoYe4hg0ERKXOEf0hByOnMLT28nQ82v8ig9Yw== +"@microsoft/api-extractor@7.21.3": + version "7.21.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.21.3.tgz#ae47c7c7dfe96263439257b6f2d8f3184a2144d6" + integrity sha512-ZQwuu5QbJq/TMDGr8NGmt4p/kcceaQAhQYQ4DszwNKDaCi/IhGVtO2zRcjSt8DEI2XD40s/CAOPYyF2C+Y99Ow== dependencies: - "@microsoft/api-extractor-model" "7.16.1" - "@microsoft/tsdoc" "0.13.2" - "@microsoft/tsdoc-config" "~0.15.2" + "@microsoft/api-extractor-model" "7.16.2" + "@microsoft/tsdoc" "0.14.1" + "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.2" "@rushstack/rig-package" "0.3.9" "@rushstack/ts-command-line" "4.10.8" @@ -1511,20 +1511,20 @@ source-map "~0.6.1" typescript "~4.5.2" -"@microsoft/tsdoc-config@~0.15.2": - version "0.15.2" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz#eb353c93f3b62ab74bdc9ab6f4a82bcf80140f14" - integrity sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA== +"@microsoft/tsdoc-config@~0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.1.tgz#4de11976c1202854c4618f364bf499b4be33e657" + integrity sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ== dependencies: - "@microsoft/tsdoc" "0.13.2" + "@microsoft/tsdoc" "0.14.1" ajv "~6.12.6" jju "~1.4.0" resolve "~1.19.0" -"@microsoft/tsdoc@0.13.2": - version "0.13.2" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" - integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== +"@microsoft/tsdoc@0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" + integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== "@ngtools/webpack@14.0.0-next.8": version "14.0.0-next.8" From 95954bba04547951376d04e7adb3f4fe55fd137a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 12 Apr 2022 16:50:48 +0000 Subject: [PATCH 0289/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 4 +- .../schematic/files/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 268 +++++++++++++----- 5 files changed, 212 insertions(+), 76 deletions(-) diff --git a/package.json b/package.json index 4a37acba3f1d..2cfe5f100b37 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.18.0", - "@typescript-eslint/parser": "5.18.0", + "@typescript-eslint/eslint-plugin": "5.19.0", + "@typescript-eslint/parser": "5.19.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -136,8 +136,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.34", - "esbuild-wasm": "0.14.34", + "esbuild": "0.14.36", + "esbuild-wasm": "0.14.36", "eslint": "8.13.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -152,7 +152,7 @@ "ini": "3.0.0", "inquirer": "8.2.2", "jasmine": "^4.0.0", - "jasmine-core": "~4.0.0", + "jasmine-core": "~4.1.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", "jsonc-parser": "3.0.0", @@ -211,7 +211,7 @@ "ts-node": "^10.0.0", "tslib": "2.3.1", "typescript": "4.6.3", - "verdaccio": "5.8.0", + "verdaccio": "5.9.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 67e8a18cb556..0da96f866cc6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.34", + "esbuild-wasm": "0.14.36", "glob": "7.2.0", "https-proxy-agent": "5.0.0", "inquirer": "8.2.2", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.34" + "esbuild": "0.14.36" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 9ea9e41f3bf2..cb22f1ba923b 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -20,6 +20,6 @@ "devDependencies": { "@types/node": "^14.15.0", "@types/jasmine": "~4.0.0", - "jasmine": "~4.0.0" + "jasmine": "~4.1.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index de48628095dd..43039d9a53b6 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -5,7 +5,7 @@ "dependencies": { "@types/jasmine": "~4.0.0", "@types/node": "^14.15.0", - "jasmine-core": "~4.0.0", + "jasmine-core": "~4.1.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine-html-reporter": "~1.7.0", diff --git a/yarn.lock b/yarn.lock index b0592956459c..9a9a8ef968d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2329,14 +2329,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz#950df411cec65f90d75d6320a03b2c98f6c3af7d" - integrity sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A== - dependencies: - "@typescript-eslint/scope-manager" "5.18.0" - "@typescript-eslint/type-utils" "5.18.0" - "@typescript-eslint/utils" "5.18.0" +"@typescript-eslint/eslint-plugin@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz#9608a4b6d0427104bccf132f058cba629a6553c0" + integrity sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg== + dependencies: + "@typescript-eslint/scope-manager" "5.19.0" + "@typescript-eslint/type-utils" "5.19.0" + "@typescript-eslint/utils" "5.19.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2344,69 +2344,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.18.0.tgz#2bcd4ff21df33621df33e942ccb21cb897f004c6" - integrity sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ== +"@typescript-eslint/parser@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.19.0.tgz#05e587c1492868929b931afa0cb5579b0f728e75" + integrity sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ== dependencies: - "@typescript-eslint/scope-manager" "5.18.0" - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/typescript-estree" "5.18.0" + "@typescript-eslint/scope-manager" "5.19.0" + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/typescript-estree" "5.19.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz#a7d7b49b973ba8cebf2a3710eefd457ef2fb5505" - integrity sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ== +"@typescript-eslint/scope-manager@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz#97e59b0bcbcb54dbcdfba96fc103b9020bbe9cb4" + integrity sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g== dependencies: - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/visitor-keys" "5.18.0" + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/visitor-keys" "5.19.0" -"@typescript-eslint/type-utils@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz#62dbfc8478abf36ba94a90ddf10be3cc8e471c74" - integrity sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA== +"@typescript-eslint/type-utils@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz#80f2125b0dfe82494bbae1ea99f1c0186d420282" + integrity sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q== dependencies: - "@typescript-eslint/utils" "5.18.0" + "@typescript-eslint/utils" "5.19.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.18.0.tgz#4f0425d85fdb863071680983853c59a62ce9566e" - integrity sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw== +"@typescript-eslint/types@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.19.0.tgz#12d3d600d754259da771806ee8b2c842d3be8d12" + integrity sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w== -"@typescript-eslint/typescript-estree@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz#6498e5ee69a32e82b6e18689e2f72e4060986474" - integrity sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ== +"@typescript-eslint/typescript-estree@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz#fc987b8f62883f9ea6a5b488bdbcd20d33c0025f" + integrity sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw== dependencies: - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/visitor-keys" "5.18.0" + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/visitor-keys" "5.19.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.18.0.tgz#27fc84cf95c1a96def0aae31684cb43a37e76855" - integrity sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA== +"@typescript-eslint/utils@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.19.0.tgz#fe87f1e3003d9973ec361ed10d36b4342f1ded1e" + integrity sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.18.0" - "@typescript-eslint/types" "5.18.0" - "@typescript-eslint/typescript-estree" "5.18.0" + "@typescript-eslint/scope-manager" "5.19.0" + "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/typescript-estree" "5.19.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.18.0": - version "5.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz#c7c07709823804171d569017f3b031ced7253e60" - integrity sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg== +"@typescript-eslint/visitor-keys@5.19.0": + version "5.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz#c84ebc7f6c744707a361ca5ec7f7f64cd85b8af6" + integrity sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ== dependencies: - "@typescript-eslint/types" "5.18.0" + "@typescript-eslint/types" "5.19.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -2452,10 +2452,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.22": - version "6.0.0-6-next.22" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.22.tgz#55a0cbcbee382195a31620d3968a1512eaea2a9e" - integrity sha512-MuuIcNLSjm8ZzibIXyzLae8Omsq7btha9JuRf1oBOA/oHRt+ZsUlVsHlJgA5w49FWa4WU74724USWD0ZpT7Y5w== +"@verdaccio/ui-theme@6.0.0-6-next.23": + version "6.0.0-6-next.23" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.23.tgz#268da5091e1e9264fe87b8b94c0ac596e9e54879" + integrity sha512-GXpEPdZJm6o+2VAxzUsKaiDriS+5enqr7Gjrb2Bttcd+IkOuC8lDsoFHxIv0ib4JudZJ/aKsRYL3TN2AetPFjw== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3968,10 +3968,10 @@ date-format@^4.0.6: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.6.tgz#f6138b8f17968df9815b3d101fc06b0523f066c5" integrity sha512-B9vvg5rHuQ8cbUXE/RMWMyX2YA5TecT3jKF5fLtGNlzPlU7zblSPmAm2OImDbWL+LDOQ6pUm+4LOFz+ywS41Zw== -dayjs@1.10.8: - version "1.10.8" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz#267df4bc6276fcb33c04a6735287e3f429abec41" - integrity sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow== +dayjs@1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.0.tgz#009bf7ef2e2ea2d5db2e6583d2d39a4b5061e805" + integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -4493,6 +4493,11 @@ esbuild-android-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz#46bc4327dd0809937912346244eaffdb9bfc980d" integrity sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw== +esbuild-android-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" + integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== + esbuild-android-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.32.tgz#5840407c8d8b577eea847eecce8df9610c0f58fd" @@ -4503,6 +4508,11 @@ esbuild-android-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz#a3f7e1ad84b8a7dcb39b5e132768b56ee7133656" integrity sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew== +esbuild-android-arm64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" + integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== + esbuild-darwin-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.32.tgz#c6defc12a60f27408f1a30bb233c9d0e66ea2a55" @@ -4513,6 +4523,11 @@ esbuild-darwin-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz#a0e4ab7a0cddf76761f1fb5d6bf552a376beb16e" integrity sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw== +esbuild-darwin-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" + integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== + esbuild-darwin-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.32.tgz#fc878496516a90fc4982ee7cf8f2d2f484dbd64a" @@ -4523,6 +4538,11 @@ esbuild-darwin-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz#54c35461f82f83a7f5169d9a6a54201798977b07" integrity sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w== +esbuild-darwin-arm64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" + integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== + esbuild-freebsd-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.32.tgz#c136e8e8bab8e7ea95a7fbe4b689d2c940bf48f2" @@ -4533,6 +4553,11 @@ esbuild-freebsd-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz#aebb50248f5874d04ffeab2db8ee1ed6037e2654" integrity sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA== +esbuild-freebsd-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" + integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== + esbuild-freebsd-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.32.tgz#46668a10e5a51665ed800b10a02b757bf6bc6fbf" @@ -4543,6 +4568,11 @@ esbuild-freebsd-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz#09bef288e29f18b38b0c70a9827b6ee718e36c7f" integrity sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA== +esbuild-freebsd-arm64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" + integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== + esbuild-linux-32@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.32.tgz#ac51a64f26f638618ff62a1a966babe065bc54cc" @@ -4553,6 +4583,11 @@ esbuild-linux-32@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz#67790061758e008e919e65bbc34549f55dadaca7" integrity sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ== +esbuild-linux-32@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" + integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== + esbuild-linux-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.32.tgz#a3dfeb772f339fb34f0ff61df753a70a01be243a" @@ -4563,6 +4598,11 @@ esbuild-linux-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz#b9b19d4ac07e37495dd2508ec843418aa71c98d6" integrity sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ== +esbuild-linux-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" + integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== + esbuild-linux-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.32.tgz#df2fead5c0d9228eede866359f35b3e0eef4e192" @@ -4573,6 +4613,11 @@ esbuild-linux-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz#fd84b11a6ccfe9e83e00d0c45890e9fb3a7248c1" integrity sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA== +esbuild-linux-arm64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" + integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== + esbuild-linux-arm@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.32.tgz#64633aa6491e91d935324cf041795ebce18c071b" @@ -4583,6 +4628,11 @@ esbuild-linux-arm@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz#c89d4714b05265a315a97c8933508cc73950e683" integrity sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg== +esbuild-linux-arm@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" + integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== + esbuild-linux-mips64le@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.32.tgz#f0a7a083e8fdfb6e4edffb93ec27de2c5d732f01" @@ -4593,6 +4643,11 @@ esbuild-linux-mips64le@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz#d60752c3fb1260dd0737532af2de2a9521656456" integrity sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw== +esbuild-linux-mips64le@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" + integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== + esbuild-linux-ppc64le@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.32.tgz#dc22b766dd4ddd20c28febe36e8b92b9c11faa63" @@ -4603,6 +4658,11 @@ esbuild-linux-ppc64le@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz#f4c6229269956564f0c6f9825f5e717c2cfc22b3" integrity sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg== +esbuild-linux-ppc64le@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" + integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== + esbuild-linux-riscv64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.32.tgz#0ae09eee847de5993cbe1529591d5ca17c7303c5" @@ -4613,6 +4673,11 @@ esbuild-linux-riscv64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz#549bd18a9eba3135b67f7b742730b5343a1be35d" integrity sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA== +esbuild-linux-riscv64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" + integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== + esbuild-linux-s390x@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.32.tgz#1297f9f130cd93495e7ce25c63a79dab223b89de" @@ -4623,6 +4688,11 @@ esbuild-linux-s390x@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz#2a6b577c437f94c2b37623c755ff5215a05c12bc" integrity sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA== +esbuild-linux-s390x@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" + integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== + esbuild-netbsd-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.32.tgz#902bf5ba7c54db9c7274f019c4d006b1b963fb7d" @@ -4633,6 +4703,11 @@ esbuild-netbsd-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz#7f0b73229157975eb35597207723df52ba21722a" integrity sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ== +esbuild-netbsd-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" + integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== + esbuild-openbsd-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.32.tgz#0fbfbdf555deeb05a8915daf0b71168d09773437" @@ -4643,6 +4718,11 @@ esbuild-openbsd-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz#b9bc44b4f70031fb01b173b279daeffc4d4f54b7" integrity sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow== +esbuild-openbsd-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" + integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== + esbuild-sunos-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.32.tgz#d493ca5222703dd0b8c489324d1517cd622618e8" @@ -4653,12 +4733,22 @@ esbuild-sunos-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz#512dd6085ac1a0dccc20c5f932f16a618bea409c" integrity sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA== +esbuild-sunos-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" + integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== + esbuild-wasm@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.32.tgz#8c55979be32689ab2def7a6644f6cf70070f0cab" integrity sha512-evuEcldI6O4BGX4LXCNBPabAl3raW+8a75qt0FJ4e6JnknMC+YHmiKRao5WIhOlSNDBGJ9PANxcrZIoQFXcbnA== -esbuild-wasm@0.14.34, esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.36.tgz#7c69b6db185f16755841e999f8c9604dee2cb86a" + integrity sha512-tDMs2l397fd/pwLoIKb4uYfQayM5hMfUwVvCmzbFEU+zXedj15/Z/A8iD87cWHN1VD66REdgcGMt1BO6C7RnLw== + +esbuild-wasm@^0.14.29: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.34.tgz#cde4a4c10405b6dfb677652092eb5b9788670d70" integrity sha512-0GYXI7gNla1PePGpXMqSH8U/k0xDkVYwH62L0ZLq3MuI26NPabhAlShOOELISpNZIaYiJ8vlkwdYZ4V229zf2A== @@ -4673,6 +4763,11 @@ esbuild-windows-32@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz#3ff1afd5cac08050c7c7140a59e343b06f6b037c" integrity sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg== +esbuild-windows-32@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" + integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== + esbuild-windows-64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.32.tgz#2ad9322a963fd26bb4818ad1c0ee7acde63ebb81" @@ -4683,6 +4778,11 @@ esbuild-windows-64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz#66f7b43d2a0b132f6748dfa3edac4fc939a99be0" integrity sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q== +esbuild-windows-64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" + integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== + esbuild-windows-arm64@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.32.tgz#bb589106c0fd5d582cce62bd7995a6e5db52e7b4" @@ -4693,6 +4793,11 @@ esbuild-windows-arm64@0.14.34: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz#b74a6395b7b7e53dba70b71b39542afd83352473" integrity sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg== +esbuild-windows-arm64@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" + integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== + esbuild@0.14.32: version "0.14.32" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.32.tgz#f55245ccd4b820707147ac4cc69a2c3e1a76af03" @@ -4719,7 +4824,33 @@ esbuild@0.14.32: esbuild-windows-64 "0.14.32" esbuild-windows-arm64 "0.14.32" -esbuild@0.14.34, esbuild@^0.14.29: +esbuild@0.14.36: + version "0.14.36" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" + integrity sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw== + optionalDependencies: + esbuild-android-64 "0.14.36" + esbuild-android-arm64 "0.14.36" + esbuild-darwin-64 "0.14.36" + esbuild-darwin-arm64 "0.14.36" + esbuild-freebsd-64 "0.14.36" + esbuild-freebsd-arm64 "0.14.36" + esbuild-linux-32 "0.14.36" + esbuild-linux-64 "0.14.36" + esbuild-linux-arm "0.14.36" + esbuild-linux-arm64 "0.14.36" + esbuild-linux-mips64le "0.14.36" + esbuild-linux-ppc64le "0.14.36" + esbuild-linux-riscv64 "0.14.36" + esbuild-linux-s390x "0.14.36" + esbuild-netbsd-64 "0.14.36" + esbuild-openbsd-64 "0.14.36" + esbuild-sunos-64 "0.14.36" + esbuild-windows-32 "0.14.36" + esbuild-windows-64 "0.14.36" + esbuild-windows-arm64 "0.14.36" + +esbuild@^0.14.29: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.34.tgz#3610056f0a57bcfd0b63ddaafdb2e3bef1cf96e4" integrity sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg== @@ -6329,7 +6460,7 @@ jasmine-core@^3.6.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.99.1.tgz#5bfa4b2d76618868bfac4c8ff08bb26fffa4120d" integrity sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg== -jasmine-core@^4.0.0, jasmine-core@~4.0.0: +jasmine-core@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.0.1.tgz#ea4b0495d82155023bd56c25181d9f9b623f61b8" integrity sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg== @@ -6339,6 +6470,11 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= +jasmine-core@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.0.tgz#2377349b0e8bfd3fbdb36c9e4f09e3b1a17cf5c2" + integrity sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg== + jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -10513,24 +10649,24 @@ verdaccio-htpasswd@10.3.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.8.0.tgz#c6986f9fb9f92d4910cbb514d66474214ebe7b03" - integrity sha512-g8CWr57F8pn2Vio8MCO7kJuUNTp9cl6/exr7HR6fYmnhr+jv1Fcl5I7iR49UkD6YfDoYtZcWdFgdCBVy/hpDbg== +verdaccio@5.9.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.9.0.tgz#bc3bc7107504eef9bfe3b85a859eb8cc7013e88f" + integrity sha512-Ah2xssdTIx2fzBdnYFc5Tnlq9AIb2M0V9IsK9axDvuT5IIxeaZi2EjRtvlP2zj1TH/hHMVyDnhjZ3o7qc22I5w== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.0" "@verdaccio/readme" "10.3.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.22" + "@verdaccio/ui-theme" "6.0.0-6-next.23" JSONStream "1.3.5" async "3.2.3" - body-parser "1.19.1" + body-parser "1.19.2" clipanion "3.1.0" compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.10.8" + dayjs "1.11.0" debug "^4.3.3" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" From 607a723f7d623ec8a15054722b2afd13042f66a1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Apr 2022 18:26:55 +0200 Subject: [PATCH 0290/1388] feat(@angular/cli): add support for auto completion To enable bash and zsh real-time type-ahead autocompletion, copy and paste the generated script by the `ng completion` command to your `.bashrc`, `.bash_profile`, `.zshrc` or `.zsh_profile`. Closes #11043 --- .../architect-base-command-module.ts | 15 ++++-- .../architect-command-module.ts | 38 +++++++++++--- .../cli/src/command-builder/command-module.ts | 1 + .../cli/src/command-builder/command-runner.ts | 25 +++++++-- .../cli/src/commands/completion/cli.ts | 25 +++++++++ .../commands/completion/long-description.md | 1 + packages/angular/cli/src/commands/run/cli.ts | 31 ++++++++++- tests/legacy-cli/e2e/tests/misc/browsers.ts | 2 +- tests/legacy-cli/e2e/tests/misc/completion.ts | 51 +++++++++++++++++++ 9 files changed, 174 insertions(+), 15 deletions(-) create mode 100644 packages/angular/cli/src/commands/completion/cli.ts create mode 100644 packages/angular/cli/src/commands/completion/long-description.md create mode 100644 tests/legacy-cli/e2e/tests/misc/completion.ts diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index b0ec9d451910..7900a8b0bfbd 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -7,7 +7,10 @@ */ import { Architect, Target } from '@angular-devkit/architect'; -import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; +import { + NodeModulesBuilderInfo, + WorkspaceNodeModulesArchitectHost, +} from '@angular-devkit/architect/node'; import { json } from '@angular-devkit/core'; import { spawnSync } from 'child_process'; import { existsSync } from 'fs'; @@ -100,9 +103,15 @@ export abstract class ArchitectBaseCommandModule protected async getArchitectTargetOptions(target: Target): Promise { const architectHost = this.getArchitectHost(); - const builderConf = await architectHost.getBuilderNameForTarget(target); + let builderConf: string; + + try { + builderConf = await architectHost.getBuilderNameForTarget(target); + } catch { + return []; + } - let builderDesc; + let builderDesc: NodeModulesBuilderInfo; try { builderDesc = await architectHost.resolveBuilder(builderConf); } catch (e) { diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index 4b0ae4b64e1f..a58edcccc06d 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -29,10 +29,15 @@ export abstract class ArchitectCommandModule abstract readonly multiTarget: boolean; async builder(argv: Argv): Promise> { + const project = this.getArchitectProject(); + const { jsonHelp, getYargsCompletions, help } = this.context.args.options; + const localYargs: Argv = argv .positional('project', { describe: 'The name of the project to build. Can be an application or a library.', type: 'string', + // Hide choices from JSON help so that we don't display them in AIO. + choices: jsonHelp ? undefined : this.getProjectChoices(), }) .option('configuration', { describe: @@ -42,10 +47,15 @@ export abstract class ArchitectCommandModule `For more information, see https://angular.io/guide/workspace-config#alternate-build-configurations.`, alias: 'c', type: 'string', + // Show only in when using --help and auto completion because otherwise comma seperated configuration values will be invalid. + // Also, hide choices from JSON help so that we don't display them in AIO. + choices: + (getYargsCompletions || help) && !jsonHelp && project + ? this.getConfigurationChoices(project) + : undefined, }) .strict(); - const project = this.getArchitectProject(); if (!project) { return localYargs; } @@ -92,11 +102,7 @@ export abstract class ArchitectCommandModule const [, projectName] = this.context.args.positional; if (projectName) { - if (!workspace.projects.has(projectName)) { - throw new CommandModuleError(`Project '${projectName}' does not exist.`); - } - - return projectName; + return workspace.projects.has(projectName) ? projectName : undefined; } const target = this.getArchitectTarget(); @@ -136,4 +142,24 @@ export abstract class ArchitectCommandModule return undefined; } + + /** @returns a sorted list of project names to be used for auto completion. */ + private getProjectChoices(): string[] | undefined { + const { workspace } = this.context; + + return workspace ? [...workspace.projects.keys()].sort() : undefined; + } + + /** @returns a sorted list of configuration names to be used for auto completion. */ + private getConfigurationChoices(project: string): string[] | undefined { + const projectDefinition = this.context.workspace?.projects.get(project); + if (!projectDefinition) { + return undefined; + } + + const target = this.getArchitectTarget(); + const configurations = projectDefinition.targets.get(target)?.configurations; + + return configurations ? Object.keys(configurations).sort() : undefined; + } } diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 2d9ec6193715..203e9351fb36 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -48,6 +48,7 @@ export interface CommandContext { options: { help: boolean; jsonHelp: boolean; + getYargsCompletions: boolean; } & Record; }; } diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 822adb641e4c..a1d77bbfaa88 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -13,6 +13,7 @@ import { AddCommandModule } from '../commands/add/cli'; import { AnalyticsCommandModule } from '../commands/analytics/cli'; import { BuildCommandModule } from '../commands/build/cli'; import { CacheCommandModule } from '../commands/cache/cli'; +import { CompletionCommandModule } from '../commands/completion/cli'; import { ConfigCommandModule } from '../commands/config/cli'; import { DeployCommandModule } from '../commands/deploy/cli'; import { DocCommandModule } from '../commands/doc/cli'; @@ -54,6 +55,7 @@ const COMMANDS = [ UpdateCommandModule, RunCommandModule, CacheCommandModule, + CompletionCommandModule, ].sort(); // Will be sorted by class name. const yargsParser = Parser as unknown as typeof Parser.default; @@ -61,11 +63,18 @@ const yargsParser = Parser as unknown as typeof Parser.default; export async function runCommand(args: string[], logger: logging.Logger): Promise { const { $0, - _: positional, + _, help = false, jsonHelp = false, + getYargsCompletions = false, ...rest - } = yargsParser(args, { boolean: ['help', 'json-help'], alias: { 'collection': 'c' } }); + } = yargsParser(args, { + boolean: ['help', 'json-help', 'get-yargs-completions'], + alias: { 'collection': 'c' }, + }); + + // When `getYargsCompletions` is true the scriptName 'ng' at index 0 is not removed. + const positional = getYargsCompletions ? _.slice(1) : _; let workspace: AngularWorkspace | undefined; let globalConfiguration: AngularWorkspace | undefined; @@ -93,6 +102,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis options: { help, jsonHelp, + getYargsCompletions, ...rest, }, }, @@ -111,9 +121,16 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis localYargs = addCommandModuleToYargs(localYargs, CommandModule, context); } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const usageInstance = (localYargs as any).getInternalMethods().getUsageInstance(); if (jsonHelp) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (localYargs as any).getInternalMethods().getUsageInstance().help = () => jsonHelpUsage(); + usageInstance.help = () => jsonHelpUsage(); + } + + if (getYargsCompletions) { + // When in auto completion mode avoid printing description as it causes a slugish + // experience when there are a large set of options. + usageInstance.getDescriptions = () => ({}); } await localYargs diff --git a/packages/angular/cli/src/commands/completion/cli.ts b/packages/angular/cli/src/commands/completion/cli.ts new file mode 100644 index 000000000000..13a74ef6da1b --- /dev/null +++ b/packages/angular/cli/src/commands/completion/cli.ts @@ -0,0 +1,25 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import yargs, { Argv } from 'yargs'; +import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module'; + +export class CompletionCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'completion'; + describe = 'Generate a bash and zsh real-time type-ahead autocompletion script.'; + longDescriptionPath = join(__dirname, 'long-description.md'); + + builder(localYargs: Argv): Argv { + return localYargs; + } + + run(): void { + yargs.showCompletionScript(); + } +} diff --git a/packages/angular/cli/src/commands/completion/long-description.md b/packages/angular/cli/src/commands/completion/long-description.md new file mode 100644 index 000000000000..59f8e107b58a --- /dev/null +++ b/packages/angular/cli/src/commands/completion/long-description.md @@ -0,0 +1 @@ +To enable bash and zsh real-time type-ahead autocompletion, copy and paste the generated script to your `.bashrc`, `.bash_profile`, `.zshrc` or `.zsh_profile`. diff --git a/packages/angular/cli/src/commands/run/cli.ts b/packages/angular/cli/src/commands/run/cli.ts index 97b06f3f5a0c..3d6f31fdfa84 100644 --- a/packages/angular/cli/src/commands/run/cli.ts +++ b/packages/angular/cli/src/commands/run/cli.ts @@ -11,7 +11,6 @@ import { join } from 'path'; import { Argv } from 'yargs'; import { ArchitectBaseCommandModule } from '../../command-builder/architect-base-command-module'; import { - CommandModule, CommandModuleError, CommandModuleImplementation, CommandScope, @@ -35,11 +34,16 @@ export class RunCommandModule longDescriptionPath = join(__dirname, 'long-description.md'); async builder(argv: Argv): Promise> { + const { jsonHelp, getYargsCompletions, help } = this.context.args.options; + const localYargs: Argv = argv .positional('target', { describe: 'The Architect target to run.', type: 'string', demandOption: true, + // Show only in when using --help and auto completion because otherwise comma seperated configuration values will be invalid. + // Also, hide choices from JSON help so that we don't display them in AIO. + choices: (getYargsCompletions || help) && !jsonHelp ? this.getTargetChoices() : undefined, }) .strict(); @@ -78,4 +82,29 @@ export class RunCommandModule configuration, }; } + + /** @returns a sorted list of target specifiers to be used for auto completion. */ + private getTargetChoices(): string[] | undefined { + if (!this.context.workspace) { + return; + } + + const targets = []; + for (const [projectName, project] of this.context.workspace.projects) { + for (const [targetName, target] of project.targets) { + const currentTarget = `${projectName}:${targetName}`; + targets.push(currentTarget); + + if (!target.configurations) { + continue; + } + + for (const configName of Object.keys(target.configurations)) { + targets.push(`${currentTarget}:${configName}`); + } + } + } + + return targets.sort(); + } } diff --git a/tests/legacy-cli/e2e/tests/misc/browsers.ts b/tests/legacy-cli/e2e/tests/misc/browsers.ts index 370490644396..c6a01b2552ba 100644 --- a/tests/legacy-cli/e2e/tests/misc/browsers.ts +++ b/tests/legacy-cli/e2e/tests/misc/browsers.ts @@ -1,7 +1,7 @@ import express from 'express'; import * as path from 'path'; import { copyProjectAsset } from '../../utils/assets'; -import { appendToFile, replaceInFile } from '../../utils/fs'; +import { replaceInFile } from '../../utils/fs'; import { ng } from '../../utils/process'; export default async function () { diff --git a/tests/legacy-cli/e2e/tests/misc/completion.ts b/tests/legacy-cli/e2e/tests/misc/completion.ts new file mode 100644 index 000000000000..bbcce970329c --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/completion.ts @@ -0,0 +1,51 @@ +import { execAndWaitForOutputToMatch } from '../../utils/process'; + +export default async function () { + // ng build + await execAndWaitForOutputToMatch('ng', ['--get-yargs-completions', 'b', ''], /test-project/); + await execAndWaitForOutputToMatch('ng', ['--get-yargs-completions', 'build', ''], /test-project/); + await execAndWaitForOutputToMatch('ng', ['--get-yargs-completions', 'build', '--a'], /--aot/); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'build', '--configuration'], + /production/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'b', '--configuration'], + /production/, + ); + + // ng run + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'run', ''], + /test-project\:build\:development/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'run', ''], + /test-project\:build/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'run', ''], + /test-project\:test/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'run', 'test-project:build'], + /test-project\:build\:development/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'run', 'test-project:'], + /test-project\:test/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'run', 'test-project:build'], + // does not include 'test-project:serve' + /^((?!:serve).)*$/, + ); +} From 108a0b6acd975f7f94aa5d1a4a0252201b6d12ea Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Apr 2022 19:39:29 +0200 Subject: [PATCH 0291/1388] refactor(@angular-devkit/core): remove `fast-json-stable-stringify` usage in memoize helper This is not needed as inputs are typed checked to be `JsonValue`. With this change we get a step closer to remove `fast-json-stable-stringify` dependency. --- .../core/src/experimental/jobs/strategy.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts b/packages/angular_devkit/core/src/experimental/jobs/strategy.ts index 55d53b126f29..92f8c6995f4d 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/strategy.ts @@ -6,10 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import stableStringify from 'fast-json-stable-stringify'; import { Observable, Subject, concat, of } from 'rxjs'; import { finalize, ignoreElements, share, shareReplay, tap } from 'rxjs/operators'; -import { JsonValue } from '../../json'; +import { JsonObject, JsonValue, isJsonObject } from '../../json'; import { JobDescription, JobHandler, @@ -60,7 +59,7 @@ export namespace strategy { /** * Creates a JobStrategy that will always reuse a running job, and restart it if the job ended. * @param replayMessages Replay ALL messages if a job is reused, otherwise just hook up where it - * is. + * is. */ export function reuse< A extends JsonValue = JsonValue, @@ -115,7 +114,7 @@ export namespace strategy { /** * Creates a JobStrategy that will reuse a running job if the argument matches. * @param replayMessages Replay ALL messages if a job is reused, otherwise just hook up where it - * is. + * is. */ export function memoize< A extends JsonValue = JsonValue, @@ -126,7 +125,17 @@ export namespace strategy { return (handler, options) => { const newHandler = (argument: A, context: JobHandlerContext) => { - const argumentJson = stableStringify(argument); + const argumentJson = JSON.stringify( + isJsonObject(argument) + ? Object.keys(argument) + .sort() + .reduce((result, key) => { + result[key] = argument[key]; + + return result; + }, {} as JsonObject) + : argument, + ); const maybeJob = runs.get(argumentJson); if (maybeJob) { From bf15b202bb1cd073fe01cf387dce2c033b5bb14c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Apr 2022 08:24:45 +0200 Subject: [PATCH 0292/1388] fix(@angular/cli): remove cache path from global valid paths `cli.cache` cannot be configured globally and therefore it should not be listed as part of the `validCliPaths` Map. --- .../angular/cli/src/commands/config/cli.ts | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index 5f9bf9a20bd8..9d19a7065475 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -97,28 +97,21 @@ export class ConfigCommandModule throw new CommandModuleError('Invalid Path.'); } - const validCliPaths = new Map< - string, - ((arg: string | number | boolean | undefined) => string) | undefined - >([ - ['cli.warnings.versionMismatch', undefined], - ['cli.defaultCollection', undefined], - ['cli.schematicCollections', undefined], - ['cli.packageManager', undefined], - ['cli.analytics', undefined], - - ['cli.analyticsSharing.tracking', undefined], - ['cli.analyticsSharing.uuid', (v) => (v === '' ? uuidV4() : `${v}`)], - - ['cli.cache.enabled', undefined], - ['cli.cache.environment', undefined], - ['cli.cache.path', undefined], + const validGlobalCliPaths = new Set([ + 'cli.warnings.versionMismatch', + 'cli.defaultCollection', + 'cli.schematicCollections', + 'cli.packageManager', + + 'cli.analytics', + 'cli.analyticsSharing.tracking', + 'cli.analyticsSharing.uuid', ]); if ( options.global && !options.jsonPath.startsWith('schematics.') && - !validCliPaths.has(options.jsonPath) + !validGlobalCliPaths.has(options.jsonPath) ) { throw new CommandModuleError('Invalid Path.'); } @@ -130,7 +123,13 @@ export class ConfigCommandModule throw new CommandModuleError('Confguration file cannot be found.'); } - const value = validCliPaths.get(options.jsonPath)?.(options.value) ?? options.value; + const normalizeUUIDValue = (v: string | undefined) => (v === '' ? uuidV4() : `${v}`); + + const value = + options.jsonPath === 'cli.analyticsSharing.uuid' + ? normalizeUUIDValue(options.value) + : options.value; + const modified = config.modify(parseJsonPath(options.jsonPath), normalizeValue(value)); if (!modified) { From d144caa5f26d1e827a09d5dc9b8dbb1b7a2d7e8f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 13 Apr 2022 11:56:38 -0400 Subject: [PATCH 0293/1388] test: use yargs-parser in E2E test suite runner The `minimist` package that was previously used is no longer a dependency of the project and was only working due to package hoisting. --- tests/legacy-cli/e2e_runner.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 6fdc31ec6bdf..1b47c8dd85e0 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -4,7 +4,7 @@ import { logging } from '@angular-devkit/core'; import { createConsoleLogger } from '@angular-devkit/core/node'; import * as colors from 'ansi-colors'; import glob from 'glob'; -import minimist from 'minimist'; +import yargsParser from 'yargs-parser'; import * as path from 'path'; import { setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; @@ -25,7 +25,6 @@ Error.stackTraceLimit = Infinity; * --ng-tag=TAG Use a specific tag for build snapshots. Similar to ng-snapshots but point to a * tag instead of using the latest master. * --ng-snapshots Install angular snapshot builds in the test project. - * --ve Use the View Engine compiler. * --glob Run tests matching this glob pattern (relative to tests/e2e/). * --ignore Ignore tests matching this glob pattern. * --reuse=/path Use a path instead of create a new project. That project should have been @@ -38,9 +37,13 @@ Error.stackTraceLimit = Infinity; * --tmpdir=path Override temporary directory to use for new projects. * If unnamed flags are passed in, the list of tests will be filtered to include only those passed. */ -const argv = minimist(process.argv.slice(2), { +const argv = yargsParser(process.argv.slice(2), { boolean: ['debug', 'ng-snapshots', 'noglobal', 'nosilent', 'noproject', 'verbose'], string: ['devkit', 'glob', 'ignore', 'reuse', 'ng-tag', 'tmpdir', 'ng-version'], + configuration: { + 'dot-notation': false, + 'camel-case-expansion': false, + }, }); /** @@ -93,7 +96,7 @@ const tests = allTests.filter((name) => { return argv._.some((argName) => { return ( - path.join(process.cwd(), argName) == path.join(__dirname, 'e2e', name) || + path.join(process.cwd(), argName + '') == path.join(__dirname, 'e2e', name) || argName == name || argName == name.replace(/\.ts$/, '') ); From bc3ce0371a35554ecb64ecd2a01c851a533cff12 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 13 Apr 2022 15:57:12 -0400 Subject: [PATCH 0294/1388] docs: release notes for the v13.3.3 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f09e499f449..6b44262b577b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 13.3.3 (2022-04-13) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [d38b247cf](https://github.com/angular/angular-cli/commit/d38b247cf19edf5ecf7792343fa2bc8c05a3a8b8) | fix | display debug logs when using the `--verbose` option | + +### @angular-devkit/build-webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------- | +| [5682baee4](https://github.com/angular/angular-cli/commit/5682baee4b562b314dad781403dcc0c46e0a8abb) | fix | emit devserver setup errors | + +## Special Thanks + +Alan Agius + + + # 14.0.0-next.8 (2022-04-06) From c94e6fba4f18d645102b392671cbbe53949b48b7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 13 Apr 2022 16:29:18 -0400 Subject: [PATCH 0295/1388] test: change prod-build E2E bootstrap check to allow underscore in variable name --- tests/legacy-cli/e2e/tests/build/prod-build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index 6284e64672f6..d40a35a26716 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -27,7 +27,7 @@ export default async function () { // Can't use the `ng` helper because somewhere the environment gets // stuck to the first build done - const bootstrapRegExp = /bootstrapModule\([a-zA-Z]+[0-9]*\)\./; + const bootstrapRegExp = /bootstrapModule\([_a-zA-Z]+[0-9]*\)\./; await noSilentNg('build'); await expectFileToExist(join(process.cwd(), 'dist')); From 86678f9697ef38a21e5cb71207224b41440d2da0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 13 Apr 2022 17:48:11 -0400 Subject: [PATCH 0296/1388] release: cut the v14.0.0-next.9 release --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b44262b577b..9a3049b84aec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ + + +# 14.0.0-next.9 (2022-04-13) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- | +| [607a723f7](https://github.com/angular/angular-cli/commit/607a723f7d623ec8a15054722b2afd13042f66a1) | feat | add support for auto completion | +| [ff4eba3d4](https://github.com/angular/angular-cli/commit/ff4eba3d4a9417d2baef70aaa953bdef4bb426a6) | fix | handle duplicate arguments | +| [bf15b202b](https://github.com/angular/angular-cli/commit/bf15b202bb1cd073fe01cf387dce2c033b5bb14c) | fix | remove cache path from global valid paths | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [be2b268c3](https://github.com/angular/angular-cli/commit/be2b268c36f9ae465b9233f7bf705717712e3cf1) | fix | display debug logs when using the `--verbose` option | + +### @angular-devkit/build-webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------- | +| [3afd1ab9c](https://github.com/angular/angular-cli/commit/3afd1ab9c0a347950c8477608ad9b81cf75fa891) | fix | emit devserver setup errors | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 13.3.3 (2022-04-13) diff --git a/package.json b/package.json index 2cfe5f100b37..4b6d4749a16b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.8", + "version": "14.0.0-next.9", "private": true, "description": "Software Development Kit for Angular", "bin": { From 1fd3893c2946382752f6b41650ea119d3d58150c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 14 Apr 2022 01:12:50 +0000 Subject: [PATCH 0297/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 136 ++++++++++-------- 7 files changed, 110 insertions(+), 98 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 1fe7c76b7204..8495f569f054 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@7842990c04c24210f20f64404e219046a262aa8f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 47329367cce7..9130474703f6 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@7842990c04c24210f20f64404e219046a262aa8f + - uses: angular/dev-infra/github-actions/feature-request@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index ce1f2925f4fc..6c1aac4e6ec8 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@7842990c04c24210f20f64404e219046a262aa8f + - uses: angular/dev-infra/github-actions/lock-closed@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4b6d4749a16b..713fa5d661fe 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.11", - "@angular/cdk": "14.0.0-next.9", - "@angular/common": "14.0.0-next.11", - "@angular/compiler": "14.0.0-next.11", - "@angular/compiler-cli": "14.0.0-next.11", - "@angular/core": "14.0.0-next.11", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2bbdad04025574bb789d32be2886c2307dd4fff6", - "@angular/forms": "14.0.0-next.11", - "@angular/localize": "14.0.0-next.11", - "@angular/material": "14.0.0-next.9", - "@angular/platform-browser": "14.0.0-next.11", - "@angular/platform-browser-dynamic": "14.0.0-next.11", - "@angular/platform-server": "14.0.0-next.11", - "@angular/router": "14.0.0-next.11", - "@angular/service-worker": "14.0.0-next.11", + "@angular/animations": "14.0.0-next.13", + "@angular/cdk": "14.0.0-next.10", + "@angular/common": "14.0.0-next.13", + "@angular/compiler": "14.0.0-next.13", + "@angular/compiler-cli": "14.0.0-next.13", + "@angular/core": "14.0.0-next.13", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6890e7f37f75e6e4e31589c193f39b3ef18224dc", + "@angular/forms": "14.0.0-next.13", + "@angular/localize": "14.0.0-next.13", + "@angular/material": "14.0.0-next.10", + "@angular/platform-browser": "14.0.0-next.13", + "@angular/platform-browser-dynamic": "14.0.0-next.13", + "@angular/platform-server": "14.0.0-next.13", + "@angular/router": "14.0.0-next.13", + "@angular/service-worker": "14.0.0-next.13", "@babel/core": "7.17.9", "@babel/generator": "7.17.9", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index fe9fed7ce06d..3a253456c6d8 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.11", - "@angular/compiler-cli": "14.0.0-next.11", + "@angular/compiler": "14.0.0-next.13", + "@angular/compiler-cli": "14.0.0-next.13", "typescript": "4.6.3", "webpack": "5.72.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c376a7a4f12f..32e2120f420b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#0e12514a57325a4b87bf7a38dd1d7eb7324cbadd", - "@angular/cdk": "github:angular/cdk-builds#bb4ee1375309c0e6e7106f830de8a55bcb654bcf", - "@angular/common": "github:angular/common-builds#9462ad121dd9528932df292b9200debb076debb3", - "@angular/compiler": "github:angular/compiler-builds#df5abdc264c9c4ee5bf9ab8d573896de93f4d893", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#2dc86dcc49a47c3f27bb6c4ca1184b40ef50ac93", - "@angular/core": "github:angular/core-builds#3a3b482982617f2be0849368f8fa31461962f26b", - "@angular/forms": "github:angular/forms-builds#8c4299532bef584a2cc022b2916f4da13e8799d1", - "@angular/language-service": "github:angular/language-service-builds#4546bd3347108541a23047e25a06946d8c484f63", - "@angular/localize": "github:angular/localize-builds#06455c301164dc8c4d21485ddc2f88fcb2f75f62", - "@angular/material": "github:angular/material-builds#316c3f5c1f2b40aeefb76f50572fae7285b4d554", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9de20593345ab89cd083fd8cc753d904ffa5cfba", - "@angular/platform-browser": "github:angular/platform-browser-builds#d831df1c68379879ba62bccdcd0dd9bd1fac5e81", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#afd2bf2e1b5192454919aacfec63c844887253fa", - "@angular/platform-server": "github:angular/platform-server-builds#be9ef8479b5d3796a8820020f620aa4d44bace99", - "@angular/router": "github:angular/router-builds#4f6b9a06fae85b700c210881460cf6175d87b2b9", - "@angular/service-worker": "github:angular/service-worker-builds#50bd6fe2f125d21b3f9b2b21b4e9b7492bb3addc" + "@angular/animations": "github:angular/animations-builds#b346fdaf652075d051969110d6be9bdf37c5055c", + "@angular/cdk": "github:angular/cdk-builds#4e1b2da247b5181fb8b66d5eaa61b3570fa9d7fe", + "@angular/common": "github:angular/common-builds#03282e8299b394877d300b7bf11bae838be07a3d", + "@angular/compiler": "github:angular/compiler-builds#3f129723f4dd1f8c80a2e5c288569721b5736a6d", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#9f7a775b1cd6ee61e4c3e805f8677890028b2d07", + "@angular/core": "github:angular/core-builds#d5fe5b38e42ec311b0253b5ed6f6edda208b145b", + "@angular/forms": "github:angular/forms-builds#4961363f3af90f779d45d2ed0d6d9937f1740cad", + "@angular/language-service": "github:angular/language-service-builds#9500170087c9dff780e0e5450d4f78f59e84ed77", + "@angular/localize": "github:angular/localize-builds#6a05bcb948045b1e6e20532935907875c5bb51bc", + "@angular/material": "github:angular/material-builds#be3e15b0090ecfc3f4af358cac0d11babece5eac", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c485452e2be17c20c28c58f1b0c8e1ad6ee33fc5", + "@angular/platform-browser": "github:angular/platform-browser-builds#28ac77036d26155d0a501d3dd08d9710bb933391", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e34c883f2d32aa7e8f7e58380c4b8fac5ce8548e", + "@angular/platform-server": "github:angular/platform-server-builds#90d9185e4cd063d88903ed9280fa0747541f9164", + "@angular/router": "github:angular/router-builds#6aabcab93b1ef5f15c45ccef0977499e104df2fa", + "@angular/service-worker": "github:angular/service-worker-builds#858ae48228c677fda8c8421cfb3afa71d9c06d0d" } } diff --git a/yarn.lock b/yarn.lock index 9a9a8ef968d2..2d8d64255058 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.11.tgz#90bc854a865b0e20d01d98b3729de1723f16b71f" - integrity sha512-k53ZvZ6yFPnje/HsoG/6KEUJ+aE1ndn1EylPChKXls4INLjc7KqtdsZoRsKp4rNn+QySWSLo5z8cnyw65kNFcQ== +"@angular/animations@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.13.tgz#b1de0a814c70fe60e51c3b82e7ac709d2f00c4f8" + integrity sha512-nNZlsoLtMkHlpNDQ2K0IPfxBio/9xGTBsvNpKOViP5oOncJ88aKvDCksXIcjGKaya2cK8ZnegMrGIUT1/rtmag== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.9.tgz#8b1c8fda7e369f9c046dfeb09b03e2a7d04d1bab" - integrity sha512-zKi82Vcyl4ZcQt58c2cZdnKsdsFqBTEafHVxdk45HQJ3iWYaaJvV8OE/Ccut0IE4pRz+iruPdk3MMwYTonIwxw== +"@angular/cdk@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.10.tgz#0edf88361c2781ffa1863315e5e51acbed12028c" + integrity sha512-DI+9fFll0EQ2meuhE3LBqa1aeKJsnJIS112YOWgIl9CXVXrOsyt0hnVsyI0qt++ke3BsNoV07S/W5csAppITHg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.11.tgz#34066a91a15db3ced0cccf1071d6a4d86885e5f3" - integrity sha512-sNvZzIcp311eMZQOKSiq3nN1CuWPKIbGWzHgajLNmwnGvaTcCFnUV9DyJDIhTFF9PKDbLv/KPDhAi26xvufgDg== +"@angular/common@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.13.tgz#80981b709a5ac9a350fbddabed3d508eb25ed9d7" + integrity sha512-eao5v+DeQcJQtArRCyFBliCg9xTb0N3BZTu7M3hBzqIAv4xrb6qCAsC9CkWke/S3xbwWKeGBuU6oJhkwLkR6EQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.11.tgz#aa4a2d5dda3eee7806deb749805fe16027e05876" - integrity sha512-VJFcg9Dx2GcDGS5TDa0XE/t0KKz3JoMB+lTGvu2+V0qg3kQ1/cgdITAJD+XZ9lD5bPDCtyyeLXmd11JNd/Icqw== +"@angular/compiler-cli@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.13.tgz#10a244e26c21167045f3941fac8157d4846cc682" + integrity sha512-dM2MDmWQ4wSY0mjkWg2WR4vnPoUZT8ITlic6oz49waA7qNSQUzYnOjqbU3RxpKBBL1rnxdccL2qM/OaJ2hZ6Vg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.11.tgz#eeb3fe4f0a91070e7a25b9904df6532b2b2d0dad" - integrity sha512-+OSqlRBIC5lcohgtOIkyJQRGTrWDiDL4ffRzODkH8fYb/Stl0hvOENZ/eRyUpARsQr4Bit/zbrwN8Cv7fy/wmw== +"@angular/compiler@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.13.tgz#0926f57618e877ea3d187adb9187ca5f4cdb580d" + integrity sha512-5pTkjQYuz+Lj9pdsJuq6mCOhDOSLSTAOtCVUpVolWoEhlxXsWWr3jKASIMvEbt7VT0McWqgW6HELjPR+uXicKA== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.11.tgz#463b9cab22986d8eaab96f61035bff947c7f1c28" - integrity sha512-0el3iEH0jQkcwCPO0vHx43ynit2ljORVHuBJ+SFTjZzQXLeejC2Wf9QjghfNptyxUdE/t4SIjdU/6EC4kFSBrQ== +"@angular/core@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.13.tgz#391f198272aea3ee9c555479b8c7f2dcff4c5412" + integrity sha512-rm78Pw+z99avrxzfnmkFMdt/uTcsuMZ+EQggQani1A+kAisjTOQ3Lhwlphr8jJsRXQwPbDbaLbms5OimIYg4mw== dependencies: tslib "^2.3.0" @@ -175,10 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2bbdad04025574bb789d32be2886c2307dd4fff6": - version "0.0.0-7842990c04c24210f20f64404e219046a262aa8f" - uid "2bbdad04025574bb789d32be2886c2307dd4fff6" - resolved "https://github.com/angular/dev-infra-private-builds.git#2bbdad04025574bb789d32be2886c2307dd4fff6" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6890e7f37f75e6e4e31589c193f39b3ef18224dc": + version "0.0.0-a18ea6f7729b23e24ed3273d662fd0c8d42b3545" + uid "6890e7f37f75e6e4e31589c193f39b3ef18224dc" + resolved "https://github.com/angular/dev-infra-private-builds.git#6890e7f37f75e6e4e31589c193f39b3ef18224dc" dependencies: "@angular-devkit/build-angular" "14.0.0-next.8" "@angular/benchpress" "0.3.0" @@ -214,63 +214,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.11.tgz#27a96bb9685403a26c5873408e99afaaf8f612bd" - integrity sha512-hE1OqYxDCXqAZ0/K5MEGPn/jHC0pzdhen7ivGWxh5NEztOv1oShOXdvKv6CZVxqXgvI71Fb4qsWNatMgcrfcXA== +"@angular/forms@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.13.tgz#296b5e10952ed2e9afdece64b246601c59300cfc" + integrity sha512-DmhVrqEs20dxzcgNJCyVZ5srJ5ip2uyxQ3nsvaCzb4H/3qPD+L5qzP7J8jy5vLzPKBvcaR9hrcB1A0Kq79K/Rg== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.11.tgz#29ad063065bbe6773cda35cd8fb682259b61a4b5" - integrity sha512-gCA5eBxHZEPMBZn6VyBKvvgmpCBdbygBGHwDVi/UmBpx8vNxVCP5RniQWqj3fGNF7ruSLwpGPcj4B0S2SJzj0g== +"@angular/localize@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.13.tgz#5013c72ae09d6bb235a1e5939dca3b8bcce7bfe4" + integrity sha512-wCKU+T6Knbx3g4v4fHWfW2S89g4F3nykL1qGVUhkt56lQXVs7rXJhajqog7+pGcd0vpRZqduQT2nQURLrTsmQg== dependencies: - "@babel/core" "7.17.8" - glob "7.2.0" + "@babel/core" "7.17.9" + glob "8.0.1" yargs "^17.2.1" -"@angular/material@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.9.tgz#3fd19b3ee349346e552409054f62b08eb0eefcbc" - integrity sha512-SHerJvgW0dQHhcxrPfVIu6n66SfWqjNZSnWEOWkX6Hb9+ud3zmgF2jJSpeMsYLjd9Ts5P9KD8LX3UJShBOqlvQ== +"@angular/material@14.0.0-next.10": + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.10.tgz#c83beb7d292d7d78daf66f5e008de987d4337ab3" + integrity sha512-M7HbTVin8nIko75Bw1J4oh6gjtuGx40leyVNAGmQV5d9L6nAVSppPl6wPPjmTVwgTGkF3enEEStGUI5ck6P4Pw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.11.tgz#03da1d0aa7b4b247d025769d96fcbe1c45995516" - integrity sha512-brrCrjv4RHohQ8NFQXjgi38uLaNgnBBegqxAjmKzJtwrvec1delabGo94oYb2fs8l0ePXWspx0ltxWk+1gJnLw== +"@angular/platform-browser-dynamic@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.13.tgz#decf7a4a9b2b9b94713e78a1cd47bfc00d7f9c8f" + integrity sha512-klNiypBXVuq5TeTpuZNtrFGjdVmCFEJgQBh360c81YPT9JZa0tNS/27tNz33vYwrznrv6nglDgt4oRscCvL0hQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.11.tgz#4395f5c9f965122814144cda9d4bb513df161094" - integrity sha512-Gq+EIatZBpnMsjp75+Y+U/axaZObXiUfDvdnK0kNCUj+ca4sgK/63xZborYRzo+lcRz7GbfgKvmp+Fi4kN7BFA== +"@angular/platform-browser@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.13.tgz#a7d00cb09783dec018b27ada63bfa41136c55d69" + integrity sha512-fDHMccRu63FdDw44rbcOJubhyLq/t6tpvypSwlMWUcG618NvKeWtYAwLYE5rWwYC6/vCzvsLFZAmmOxhbFagcw== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.11.tgz#07f68b522b0824d6c974c0bb4d60c8db4e6f8912" - integrity sha512-Y5Va7PdbiedsPATavDPefZDzZkNJrKXIvZk6ODJblPNdHV9BfEWzVuRkPaaBevGWp1novtChF3mpEnthorT/mg== +"@angular/platform-server@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.13.tgz#6e7c5b7c3942e0a5816200823f0a39e45cad37d7" + integrity sha512-IFMY08Xjh/aUPoK6VMjaFHyFyZmaze1JZX2kQSoa1IEzX/9Y/AKMk1tKXiR4zY5y2p6sTJHyLtFTiK+M17Qw0A== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.11.tgz#505ec3bfa33bacd5e8a45f87f44d5a42acc64c72" - integrity sha512-p09ycF/atOGkjgV3pqfqRCU3gytLE+1Y2keNgQF/KTXghWwi0bsDGpO3Luh6yI0JrARQohC29XVxuNqgOa1H3g== +"@angular/router@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.13.tgz#6ac4d62f51acecdd03afe1fe93c459fa270775c8" + integrity sha512-E7C+NDtgvSXVwYDktvyt8ZRYXexCeF3/XYiTOEbA7AakZrvwHkfbWubGK5p7Az+xpxtkP8sUlWxjsqBc/kOYVg== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.11.tgz#4c18b4a13b5a5d5e613a95a68b0d61ff422558a8" - integrity sha512-UTwBCTLK9YKILoLypX0q0rSftZI5OR16fgWKU8fHm8n2cm6bVfi/9zkeDfhE4YDrlqyFlyupdquzHnFHDKDMAg== +"@angular/service-worker@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.13.tgz#596c7f8ace0f4fc830b0776a0bd4b06ccc4f196d" + integrity sha512-J7gM/dyaZap1ktQ8B1K7qbs28LqIPiYxgqhPNAdFzDCRdcuTKvdEtwnCdsBaH3yuURzxuosWQoFYrk26NF7wmw== dependencies: tslib "^2.3.0" @@ -5652,6 +5652,18 @@ glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glo once "^1.3.0" path-is-absolute "^1.0.0" +glob@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.1.tgz#00308f5c035aa0b2a447cd37ead267ddff1577d3" + integrity sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" From 3739a0f02866c6114d318daa5584bc47e87f2366 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 14 Apr 2022 09:51:49 +0000 Subject: [PATCH 0298/1388] build: update dependency karma-jasmine to v5 --- package.json | 2 +- yarn.lock | 25 ++++++++++--------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 713fa5d661fe..3dd7a18a2d87 100644 --- a/package.json +++ b/package.json @@ -159,7 +159,7 @@ "karma": "~6.3.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", - "karma-jasmine": "~4.0.0", + "karma-jasmine": "~5.0.0", "karma-jasmine-html-reporter": "~1.7.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", diff --git a/yarn.lock b/yarn.lock index 2d8d64255058..f99a126dac09 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6467,26 +6467,21 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^3.6.0: - version "3.99.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.99.1.tgz#5bfa4b2d76618868bfac4c8ff08bb26fffa4120d" - integrity sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg== - jasmine-core@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.0.1.tgz#ea4b0495d82155023bd56c25181d9f9b623f61b8" integrity sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg== +jasmine-core@^4.1.0, jasmine-core@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.0.tgz#2377349b0e8bfd3fbdb36c9e4f09e3b1a17cf5c2" + integrity sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg== + jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-core@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.0.tgz#2377349b0e8bfd3fbdb36c9e4f09e3b1a17cf5c2" - integrity sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg== - jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -6772,12 +6767,12 @@ karma-jasmine-html-reporter@~1.7.0: resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz#52c489a74d760934a1089bfa5ea4a8fcb84cc28b" integrity sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ== -karma-jasmine@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-4.0.1.tgz#b99e073b6d99a5196fc4bffc121b89313b0abd82" - integrity sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw== +karma-jasmine@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-5.0.0.tgz#e270c86214b5390df77ebe1b6eaab79664d87d9f" + integrity sha512-dsFkCoTwyoNyQnMgegS72wIA/2xPDJG5yzTry0448U6lAY7P60Wgg4UuLlbdLv8YHbimgNpDXjjmfPdc99EDWQ== dependencies: - jasmine-core "^3.6.0" + jasmine-core "^4.1.0" karma-source-map-support@1.4.0: version "1.4.0" From c636cc8a2a628889e95e59ca981fcca995eeea24 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 14 Apr 2022 10:07:17 +0000 Subject: [PATCH 0299/1388] build: update dependency karma-jasmine to v5 --- .../schematics/angular/utility/latest-versions/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 43039d9a53b6..abd96f2b420a 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -9,7 +9,7 @@ "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine-html-reporter": "~1.7.0", - "karma-jasmine": "~4.0.0", + "karma-jasmine": "~5.0.0", "karma": "~6.3.0", "ng-packagr": "^14.0.0-next.2", "rxjs": "~7.5.0", From d270258dcd94955f580eb1a2b7d949aad40eb607 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 14 Apr 2022 15:05:56 +0200 Subject: [PATCH 0300/1388] build: update dependency glob to v8 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- tests/legacy-cli/e2e/utils/assets.ts | 9 ++++----- tests/legacy-cli/e2e_runner.ts | 8 ++------ 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 3dd7a18a2d87..e5e6926332ba 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "express": "4.17.3", "fast-json-stable-stringify": "2.1.0", "font-awesome": "^4.7.0", - "glob": "7.2.0", + "glob": "8.0.1", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.0", "husky": "7.0.4", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0da96f866cc6..a7c0b467ddc7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "critters": "0.0.16", "css-loader": "6.7.1", "esbuild-wasm": "0.14.36", - "glob": "7.2.0", + "glob": "8.0.1", "https-proxy-agent": "5.0.0", "inquirer": "8.2.2", "jsonc-parser": "3.0.0", diff --git a/tests/legacy-cli/e2e/utils/assets.ts b/tests/legacy-cli/e2e/utils/assets.ts index ac0e321ddf27..c7c41ac7b7fe 100644 --- a/tests/legacy-cli/e2e/utils/assets.ts +++ b/tests/legacy-cli/e2e/utils/assets.ts @@ -25,16 +25,15 @@ export function copyAssets(assetName: string, to?: string) { return Promise.resolve() .then(() => { - const allFiles = glob.sync(join(root, '**/*'), { dot: true, nodir: true }); + const allFiles = glob.sync('**/*', { dot: true, nodir: true, cwd: root }); return allFiles.reduce((promise, filePath) => { - const relPath = relative(root, filePath); const toPath = to !== undefined - ? resolve(getGlobalVariable('tmp-root'), 'test-project', to, relPath) - : join(tempRoot, relPath); + ? resolve(getGlobalVariable('tmp-root'), 'test-project', to, filePath) + : join(tempRoot, filePath); - return promise.then(() => copyFile(filePath, toPath)); + return promise.then(() => copyFile(join(root, filePath), toPath)); }, Promise.resolve()); }) .then(() => tempRoot); diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 1b47c8dd85e0..8827e36d7dc6 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -74,13 +74,9 @@ const testGlob = argv.glob || 'tests/**/*.ts'; let currentFileName = null; const e2eRoot = path.join(__dirname, 'e2e'); -const allSetups = glob - .sync(path.join(e2eRoot, 'setup/**/*.ts'), { nodir: true }) - .map((name) => path.relative(e2eRoot, name)) - .sort(); +const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); const allTests = glob - .sync(path.join(e2eRoot, testGlob), { nodir: true, ignore: argv.ignore }) - .map((name) => path.relative(e2eRoot, name)) + .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. .map((name) => name.replace(/\\/g, '/')) .sort() From c0eb9261215779f1f36f2f91e72a77e6229702f9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Apr 2022 15:52:27 +0200 Subject: [PATCH 0301/1388] refactor(@angular-devkit/core): remove custom json parser With this change we replace the workspace reader and write to use `jsonc-parser` instead of our custom build JSON parser --- .../public-api/angular_devkit/core/index.md | 2 +- .../angular/cli/src/utilities/json-file.ts | 1 + packages/angular_devkit/core/BUILD.bazel | 3 +- packages/angular_devkit/core/package.json | 2 +- .../angular_devkit/core/src/json/parser.ts | 896 ------------------ .../core/src/json/parser_ast.ts | 92 -- .../core/src/json/parser_spec.ts | 325 ------- .../core/src/workspace/definitions.ts | 17 +- .../core/src/workspace/definitions_spec.ts | 83 +- .../core/src/workspace/json/metadata.ts | 71 +- .../core/src/workspace/json/reader.ts | 181 ++-- .../core/src/workspace/json/reader_spec.ts | 102 +- .../json/test/cases/AddArrayEmpty.json | 2 +- .../json/test/cases/AddArrayPush.json | 2 +- .../json/test/cases/AddProject1.json | 6 +- .../test/cases/AddProjectWithTargets.json | 6 +- .../json/test/cases/ArrayDeleteInner.json | 5 +- .../json/test/cases/ArrayDeleteInnerAdd.json | 6 +- .../json/test/cases/ArrayDeleteLast.json | 5 +- .../json/test/cases/ArrayDeleteLastAdd.json | 6 +- .../json/test/cases/ArrayDeleteZero.json | 5 +- .../json/test/cases/ArrayIndexInner.json | 6 +- .../json/test/cases/ArrayIndexLast.json | 6 +- .../json/test/cases/ArrayIndexZero.json | 6 +- .../workspace/json/test/cases/ArrayPop.json | 5 +- .../workspace/json/test/cases/ArrayPush.json | 7 +- .../workspace/json/test/cases/ArrayShift.json | 5 +- .../workspace/json/test/cases/ArraySort.json | 6 +- .../json/test/cases/ArraySplice1.json | 5 +- .../json/test/cases/ArraySplice2.json | 8 +- .../json/test/cases/ArrayUnshift.json | 7 +- .../json/test/cases/ArrayValues.json | 2 +- .../json/test/cases/ObjectRemoveMultiple.json | 1 - .../core/src/workspace/json/utilities.ts | 289 ++---- .../core/src/workspace/json/writer.ts | 249 +---- 35 files changed, 362 insertions(+), 2058 deletions(-) delete mode 100644 packages/angular_devkit/core/src/json/parser.ts delete mode 100644 packages/angular_devkit/core/src/json/parser_ast.ts delete mode 100644 packages/angular_devkit/core/src/json/parser_spec.ts diff --git a/goldens/public-api/angular_devkit/core/index.md b/goldens/public-api/angular_devkit/core/index.md index 18af74fc79a6..37c432c8db3e 100644 --- a/goldens/public-api/angular_devkit/core/index.md +++ b/goldens/public-api/angular_devkit/core/index.md @@ -366,7 +366,7 @@ export type DeepReadonlyObject = { }; // @public (undocumented) -type DefinitionCollectionListener = (name: string, action: 'add' | 'remove' | 'replace', newValue: V | undefined, oldValue: V | undefined, collection: DefinitionCollection) => void; +type DefinitionCollectionListener = (name: string, newValue: V | undefined, collection: DefinitionCollection) => void; // @public (undocumented) export class DependencyNotFoundException extends BaseException { diff --git a/packages/angular/cli/src/utilities/json-file.ts b/packages/angular/cli/src/utilities/json-file.ts index 1afa0b3f7041..9dcc45ebe0e1 100644 --- a/packages/angular/cli/src/utilities/json-file.ts +++ b/packages/angular/cli/src/utilities/json-file.ts @@ -87,6 +87,7 @@ export class JSONFile { const edits = modify(this.content, jsonPath, value, { getInsertionIndex, + // TODO: use indentation from original file. formattingOptions: { insertSpaces: true, tabSize: 2, diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index abf0abe9ed06..18435316d38e 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -39,7 +39,7 @@ ts_library( "@npm//ajv", "@npm//ajv-formats", "@npm//fast-json-stable-stringify", - "@npm//magic-string", + "@npm//jsonc-parser", "@npm//rxjs", "@npm//source-map", # @external # @node_module: typescript:es2015.proxy @@ -71,7 +71,6 @@ jasmine_node_test( deps = [ # @node_module: ajv # @node_module: fast_json_stable_stringify - # @node_module: magic_string # @node_module: source_map ], ) diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 495094d2b172..c69fc55f17da 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -11,7 +11,7 @@ "ajv-formats": "2.1.1", "ajv": "8.11.0", "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.26.1", + "jsonc-parser": "3.0.0", "rxjs": "6.6.7", "source-map": "0.7.3" }, diff --git a/packages/angular_devkit/core/src/json/parser.ts b/packages/angular_devkit/core/src/json/parser.ts deleted file mode 100644 index 3cdabba7426e..000000000000 --- a/packages/angular_devkit/core/src/json/parser.ts +++ /dev/null @@ -1,896 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/* eslint-disable no-constant-condition */ -import { BaseException } from '../exception'; -import { - JsonAstArray, - JsonAstComment, - JsonAstConstantFalse, - JsonAstConstantNull, - JsonAstConstantTrue, - JsonAstIdentifier, - JsonAstKeyValue, - JsonAstMultilineComment, - JsonAstNode, - JsonAstNumber, - JsonAstObject, - JsonAstString, - Position, -} from './parser_ast'; -import { JsonArray, JsonObject } from './utils'; - -export class JsonException extends BaseException {} - -/** - * A character was invalid in this context. - * @deprecated - * @private - */ -export class InvalidJsonCharacterException extends JsonException { - invalidChar: string; - line: number; - character: number; - offset: number; - - constructor(context: JsonParserContext) { - const pos = context.previous; - const invalidChar = JSON.stringify(_peek(context)); - super(`Invalid JSON character: ${invalidChar} at ${pos.line}:${pos.character}.`); - - this.invalidChar = invalidChar; - this.line = pos.line; - this.offset = pos.offset; - this.character = pos.character; - } -} - -/** - * More input was expected, but we reached the end of the stream. - * @deprecated - * @private - */ -export class UnexpectedEndOfInputException extends JsonException { - constructor(_context: JsonParserContext) { - super(`Unexpected end of file.`); - } -} - -/** - * Context passed around the parser with information about where we currently are in the parse. - * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. - */ -export interface JsonParserContext { - position: Position; - previous: Position; - readonly original: string; - readonly mode: JsonParseMode; -} - -/** - * Peek and return the next character from the context. - * @private - */ -function _peek(context: JsonParserContext): string | undefined { - return context.original[context.position.offset]; -} - -/** - * Move the context to the next character, including incrementing the line if necessary. - * @private - */ -function _next(context: JsonParserContext) { - context.previous = context.position; - - let { offset, line, character } = context.position; - const char = context.original[offset]; - offset++; - if (char == '\n') { - line++; - character = 0; - } else { - character++; - } - context.position = { offset, line, character }; -} - -/** - * Read a single character from the input. If a `valid` string is passed, validate that the - * character is included in the valid string. - * @private - */ -function _token(context: JsonParserContext, valid: string): string; -function _token(context: JsonParserContext): string | undefined; -function _token(context: JsonParserContext, valid?: string): string | undefined { - const char = _peek(context); - if (valid) { - if (!char) { - throw new UnexpectedEndOfInputException(context); - } - if (valid.indexOf(char) == -1) { - throw new InvalidJsonCharacterException(context); - } - } - - // Move the position of the context to the next character. - _next(context); - - return char; -} - -/** - * Read the exponent part of a number. The exponent part is looser for JSON than the number - * part. `str` is the string of the number itself found so far, and start the position - * where the full number started. Returns the node found. - * @private - */ -function _readExpNumber( - context: JsonParserContext, - start: Position, - str: string, - comments: (JsonAstComment | JsonAstMultilineComment)[], -): JsonAstNumber { - let char; - let signed = false; - - while (true) { - char = _token(context); - if (char == '+' || char == '-') { - if (signed) { - break; - } - signed = true; - str += char; - } else if ( - char == '0' || - char == '1' || - char == '2' || - char == '3' || - char == '4' || - char == '5' || - char == '6' || - char == '7' || - char == '8' || - char == '9' - ) { - signed = true; - str += char; - } else { - break; - } - } - - // We're done reading this number. - context.position = context.previous; - - return { - kind: 'number', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - value: Number.parseFloat(str), - comments: comments, - }; -} - -/** - * Read the hexa part of a 0xBADCAFE hexadecimal number. - * @private - */ -function _readHexaNumber( - context: JsonParserContext, - isNegative: boolean, - start: Position, - comments: (JsonAstComment | JsonAstMultilineComment)[], -): JsonAstNumber { - // Read an hexadecimal number, until it's not hexadecimal. - let hexa = ''; - const valid = '0123456789abcdefABCDEF'; - - for (let ch = _peek(context); ch && valid.includes(ch); ch = _peek(context)) { - // Add it to the hexa string. - hexa += ch; - // Move the position of the context to the next character. - _next(context); - } - - const value = Number.parseInt(hexa, 16); - - // We're done reading this number. - return { - kind: 'number', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - value: isNegative ? -value : value, - comments, - }; -} - -/** - * Read a number from the context. - * @private - */ -function _readNumber(context: JsonParserContext, comments = _readBlanks(context)): JsonAstNumber { - let str = ''; - let dotted = false; - const start = context.position; - - // read until `e` or end of line. - while (true) { - const char = _token(context); - - // Read tokens, one by one. - if (char == '-') { - if (str != '') { - throw new InvalidJsonCharacterException(context); - } - } else if ( - char == 'I' && - (str == '-' || str == '' || str == '+') && - (context.mode & JsonParseMode.NumberConstantsAllowed) != 0 - ) { - // Infinity? - // _token(context, 'I'); Already read. - _token(context, 'n'); - _token(context, 'f'); - _token(context, 'i'); - _token(context, 'n'); - _token(context, 'i'); - _token(context, 't'); - _token(context, 'y'); - - str += 'Infinity'; - break; - } else if (char == '0') { - if (str == '0' || str == '-0') { - throw new InvalidJsonCharacterException(context); - } - } else if ( - char == '1' || - char == '2' || - char == '3' || - char == '4' || - char == '5' || - char == '6' || - char == '7' || - char == '8' || - char == '9' - ) { - if (str == '0' || str == '-0') { - throw new InvalidJsonCharacterException(context); - } - } else if (char == '+' && str == '') { - // Pass over. - } else if (char == '.') { - if (dotted) { - throw new InvalidJsonCharacterException(context); - } - dotted = true; - } else if (char == 'e' || char == 'E') { - return _readExpNumber(context, start, str + char, comments); - } else if ( - char == 'x' && - (str == '0' || str == '-0') && - (context.mode & JsonParseMode.HexadecimalNumberAllowed) != 0 - ) { - return _readHexaNumber(context, str == '-0', start, comments); - } else { - // We read one too many characters, so rollback the last character. - context.position = context.previous; - break; - } - - str += char; - } - - // We're done reading this number. - if (str.endsWith('.') && (context.mode & JsonParseMode.HexadecimalNumberAllowed) == 0) { - throw new InvalidJsonCharacterException(context); - } - - return { - kind: 'number', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - value: Number.parseFloat(str), - comments, - }; -} - -/** - * Read a string from the context. Takes the comments of the string or read the blanks before the - * string. - * @private - */ -function _readString(context: JsonParserContext, comments = _readBlanks(context)): JsonAstString { - const start = context.position; - - // Consume the first string delimiter. - const delim = _token(context); - if ((context.mode & JsonParseMode.SingleQuotesAllowed) == 0) { - if (delim == "'") { - throw new InvalidJsonCharacterException(context); - } - } - - let str = ''; - while (true) { - let char = _token(context); - if (char == delim) { - return { - kind: 'string', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - value: str, - comments: comments, - }; - } else if (char == '\\') { - char = _token(context); - switch (char) { - case '\\': - case '/': - case '"': - case delim: - str += char; - break; - - case 'b': - str += '\b'; - break; - case 'f': - str += '\f'; - break; - case 'n': - str += '\n'; - break; - case 'r': - str += '\r'; - break; - case 't': - str += '\t'; - break; - case 'u': - const [c0] = _token(context, '0123456789abcdefABCDEF'); - const [c1] = _token(context, '0123456789abcdefABCDEF'); - const [c2] = _token(context, '0123456789abcdefABCDEF'); - const [c3] = _token(context, '0123456789abcdefABCDEF'); - str += String.fromCharCode(parseInt(c0 + c1 + c2 + c3, 16)); - break; - - case undefined: - throw new UnexpectedEndOfInputException(context); - - case '\n': - // Only valid when multiline strings are allowed. - if ((context.mode & JsonParseMode.MultiLineStringAllowed) == 0) { - throw new InvalidJsonCharacterException(context); - } - str += char; - break; - - default: - throw new InvalidJsonCharacterException(context); - } - } else if (char === undefined) { - throw new UnexpectedEndOfInputException(context); - } else if (char == '\b' || char == '\f' || char == '\n' || char == '\r' || char == '\t') { - throw new InvalidJsonCharacterException(context); - } else { - str += char; - } - } -} - -/** - * Read the constant `true` from the context. - * @private - */ -function _readTrue( - context: JsonParserContext, - comments = _readBlanks(context), -): JsonAstConstantTrue { - const start = context.position; - _token(context, 't'); - _token(context, 'r'); - _token(context, 'u'); - _token(context, 'e'); - - const end = context.position; - - return { - kind: 'true', - start, - end, - text: context.original.substring(start.offset, end.offset), - value: true, - comments, - }; -} - -/** - * Read the constant `false` from the context. - * @private - */ -function _readFalse( - context: JsonParserContext, - comments = _readBlanks(context), -): JsonAstConstantFalse { - const start = context.position; - _token(context, 'f'); - _token(context, 'a'); - _token(context, 'l'); - _token(context, 's'); - _token(context, 'e'); - - const end = context.position; - - return { - kind: 'false', - start, - end, - text: context.original.substring(start.offset, end.offset), - value: false, - comments, - }; -} - -/** - * Read the constant `null` from the context. - * @private - */ -function _readNull( - context: JsonParserContext, - comments = _readBlanks(context), -): JsonAstConstantNull { - const start = context.position; - - _token(context, 'n'); - _token(context, 'u'); - _token(context, 'l'); - _token(context, 'l'); - - const end = context.position; - - return { - kind: 'null', - start, - end, - text: context.original.substring(start.offset, end.offset), - value: null, - comments: comments, - }; -} - -/** - * Read the constant `NaN` from the context. - * @private - */ -function _readNaN(context: JsonParserContext, comments = _readBlanks(context)): JsonAstNumber { - const start = context.position; - - _token(context, 'N'); - _token(context, 'a'); - _token(context, 'N'); - - const end = context.position; - - return { - kind: 'number', - start, - end, - text: context.original.substring(start.offset, end.offset), - value: NaN, - comments: comments, - }; -} - -/** - * Read an array of JSON values from the context. - * @private - */ -function _readArray(context: JsonParserContext, comments = _readBlanks(context)): JsonAstArray { - const start = context.position; - - // Consume the first delimiter. - _token(context, '['); - const value: JsonArray = []; - const elements: JsonAstNode[] = []; - - _readBlanks(context); - if (_peek(context) != ']') { - const node = _readValue(context); - elements.push(node); - value.push(node.value); - } - - while (_peek(context) != ']') { - _token(context, ','); - - const valueComments = _readBlanks(context); - if ((context.mode & JsonParseMode.TrailingCommasAllowed) !== 0 && _peek(context) === ']') { - break; - } - const node = _readValue(context, valueComments); - elements.push(node); - value.push(node.value); - } - - _token(context, ']'); - - return { - kind: 'array', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - value, - elements, - comments, - }; -} - -/** - * Read an identifier from the context. An identifier is a valid JavaScript identifier, and this - * function is only used in Loose mode. - * @private - */ -function _readIdentifier( - context: JsonParserContext, - comments = _readBlanks(context), -): JsonAstIdentifier { - const start = context.position; - - let char = _peek(context); - if (char && '0123456789'.indexOf(char) != -1) { - const identifierNode = _readNumber(context); - - return { - kind: 'identifier', - start, - end: identifierNode.end, - text: identifierNode.text, - value: identifierNode.value.toString(), - }; - } - - const identValidFirstChar = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ'; - const identValidChar = '_$abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ0123456789'; - let first = true; - let value = ''; - - while (true) { - char = _token(context); - if ( - char == undefined || - (first ? identValidFirstChar.indexOf(char) : identValidChar.indexOf(char)) == -1 - ) { - context.position = context.previous; - - return { - kind: 'identifier', - start, - end: context.position, - text: context.original.slice(start.offset, start.offset + context.position.offset), - value, - comments, - }; - } - - value += char; - first = false; - } -} - -/** - * Read a property from the context. A property is a string or (in Loose mode only) a number or - * an identifier, followed by a colon `:`. - * @private - */ -function _readProperty( - context: JsonParserContext, - comments = _readBlanks(context), -): JsonAstKeyValue { - const start = context.position; - - let key; - if ((context.mode & JsonParseMode.IdentifierKeyNamesAllowed) != 0) { - const top = _peek(context); - if (top == '"' || top == "'") { - key = _readString(context); - } else { - key = _readIdentifier(context); - } - } else { - key = _readString(context); - } - - _readBlanks(context); - _token(context, ':'); - const value = _readValue(context); - const end = context.position; - - return { - kind: 'keyvalue', - key, - value, - start, - end, - text: context.original.substring(start.offset, end.offset), - comments, - }; -} - -/** - * Read an object of properties -> JSON values from the context. - * @private - */ -function _readObject(context: JsonParserContext, comments = _readBlanks(context)): JsonAstObject { - const start = context.position; - // Consume the first delimiter. - _token(context, '{'); - const value: JsonObject = {}; - const properties: JsonAstKeyValue[] = []; - - _readBlanks(context); - if (_peek(context) != '}') { - const property = _readProperty(context); - value[property.key.value] = property.value.value; - properties.push(property); - - while (_peek(context) != '}') { - _token(context, ','); - - const propertyComments = _readBlanks(context); - if ((context.mode & JsonParseMode.TrailingCommasAllowed) !== 0 && _peek(context) === '}') { - break; - } - const property = _readProperty(context, propertyComments); - value[property.key.value] = property.value.value; - properties.push(property); - } - } - - _token(context, '}'); - - return { - kind: 'object', - properties, - start, - end: context.position, - value, - text: context.original.substring(start.offset, context.position.offset), - comments, - }; -} - -/** - * Remove any blank character or comments (in Loose mode) from the context, returning an array - * of comments if any are found. - * @private - */ -function _readBlanks(context: JsonParserContext): (JsonAstComment | JsonAstMultilineComment)[] { - if ((context.mode & JsonParseMode.CommentsAllowed) != 0) { - const comments: (JsonAstComment | JsonAstMultilineComment)[] = []; - while (true) { - const char = context.original[context.position.offset]; - if (char == '/' && context.original[context.position.offset + 1] == '*') { - const start = context.position; - // Multi line comment. - _next(context); - _next(context); - - while ( - context.original[context.position.offset] != '*' || - context.original[context.position.offset + 1] != '/' - ) { - _next(context); - if (context.position.offset >= context.original.length) { - throw new UnexpectedEndOfInputException(context); - } - } - // Remove "*/". - _next(context); - _next(context); - - comments.push({ - kind: 'multicomment', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - content: context.original.substring(start.offset + 2, context.position.offset - 2), - }); - } else if (char == '/' && context.original[context.position.offset + 1] == '/') { - const start = context.position; - // Multi line comment. - _next(context); - _next(context); - - while (context.original[context.position.offset] != '\n') { - _next(context); - if (context.position.offset >= context.original.length) { - break; - } - } - - // Remove "\n". - if (context.position.offset < context.original.length) { - _next(context); - } - comments.push({ - kind: 'comment', - start, - end: context.position, - text: context.original.substring(start.offset, context.position.offset), - content: context.original.substring(start.offset + 2, context.position.offset - 1), - }); - } else if (char == ' ' || char == '\t' || char == '\n' || char == '\r' || char == '\f') { - _next(context); - } else { - break; - } - } - - return comments; - } else { - let char = context.original[context.position.offset]; - while (char == ' ' || char == '\t' || char == '\n' || char == '\r' || char == '\f') { - _next(context); - char = context.original[context.position.offset]; - } - - return []; - } -} - -/** - * Read a JSON value from the context, which can be any form of JSON value. - * @private - */ -function _readValue(context: JsonParserContext, comments = _readBlanks(context)): JsonAstNode { - let result: JsonAstNode; - - // Clean up before. - const char = _peek(context); - switch (char) { - case undefined: - throw new UnexpectedEndOfInputException(context); - - case '-': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - result = _readNumber(context, comments); - break; - - case '.': - case '+': - if ((context.mode & JsonParseMode.LaxNumberParsingAllowed) == 0) { - throw new InvalidJsonCharacterException(context); - } - result = _readNumber(context, comments); - break; - - case "'": - case '"': - result = _readString(context, comments); - break; - - case 'I': - if ((context.mode & JsonParseMode.NumberConstantsAllowed) == 0) { - throw new InvalidJsonCharacterException(context); - } - result = _readNumber(context, comments); - break; - - case 'N': - if ((context.mode & JsonParseMode.NumberConstantsAllowed) == 0) { - throw new InvalidJsonCharacterException(context); - } - result = _readNaN(context, comments); - break; - - case 't': - result = _readTrue(context, comments); - break; - case 'f': - result = _readFalse(context, comments); - break; - case 'n': - result = _readNull(context, comments); - break; - - case '[': - result = _readArray(context, comments); - break; - - case '{': - result = _readObject(context, comments); - break; - - default: - throw new InvalidJsonCharacterException(context); - } - - // Clean up after. - _readBlanks(context); - - return result; -} - -/** - * The Parse mode used for parsing the JSON string. - */ -export enum JsonParseMode { - Strict = 0, // Standard JSON. - CommentsAllowed = 1 << 0, // Allows comments, both single or multi lines. - SingleQuotesAllowed = 1 << 1, // Allow single quoted strings. - IdentifierKeyNamesAllowed = 1 << 2, // Allow identifiers as objectp properties. - TrailingCommasAllowed = 1 << 3, - HexadecimalNumberAllowed = 1 << 4, - MultiLineStringAllowed = 1 << 5, - LaxNumberParsingAllowed = 1 << 6, // Allow `.` or `+` as the first character of a number. - NumberConstantsAllowed = 1 << 7, // Allow -Infinity, Infinity and NaN. - - Default = Strict, - Loose = CommentsAllowed | - SingleQuotesAllowed | - IdentifierKeyNamesAllowed | - TrailingCommasAllowed | - HexadecimalNumberAllowed | - MultiLineStringAllowed | - LaxNumberParsingAllowed | - NumberConstantsAllowed, - - Json = Strict, - Json5 = Loose, -} - -/** - * Parse the JSON string and return its AST. The AST may be losing data (end comments are - * discarded for example, and space characters are not represented in the AST), but all values - * will have a single node in the AST (a 1-to-1 mapping). - * - * @deprecated Deprecated since version 11. Use 3rd party JSON parsers such as `jsonc-parser` instead. - * @param input The string to use. - * @param mode The mode to parse the input with. {@see JsonParseMode}. - * @returns {JsonAstNode} The root node of the value of the AST. - */ -export function parseJsonAst(input: string, mode = JsonParseMode.Default): JsonAstNode { - if (mode == JsonParseMode.Default) { - mode = JsonParseMode.Strict; - } - - const context = { - position: { offset: 0, line: 0, character: 0 }, - previous: { offset: 0, line: 0, character: 0 }, - original: input, - comments: undefined, - mode, - }; - - const ast = _readValue(context); - if (context.position.offset < input.length) { - const rest = input.slice(context.position.offset); - const i = rest.length > 20 ? rest.slice(0, 20) + '...' : rest; - throw new Error( - `Expected end of file, got "${i}" at ` + - `${context.position.line}:${context.position.character}.`, - ); - } - - return ast; -} diff --git a/packages/angular_devkit/core/src/json/parser_ast.ts b/packages/angular_devkit/core/src/json/parser_ast.ts deleted file mode 100644 index 1b0b86aefe84..000000000000 --- a/packages/angular_devkit/core/src/json/parser_ast.ts +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonArray, JsonObject } from './utils'; - -export interface Position { - readonly offset: number; - - readonly line: number; - readonly character: number; -} - -export type JsonAstNode = - | JsonAstNumber - | JsonAstString - | JsonAstIdentifier - | JsonAstArray - | JsonAstObject - | JsonAstConstantFalse - | JsonAstConstantNull - | JsonAstConstantTrue; - -export interface JsonAstNodeBase { - readonly start: Position; - readonly end: Position; - readonly text: string; - - readonly comments?: (JsonAstComment | JsonAstMultilineComment)[]; -} - -export interface JsonAstNumber extends JsonAstNodeBase { - readonly kind: 'number'; - readonly value: number; -} - -export interface JsonAstString extends JsonAstNodeBase { - readonly kind: 'string'; - readonly value: string; -} - -export interface JsonAstIdentifier extends JsonAstNodeBase { - readonly kind: 'identifier'; - readonly value: string; -} - -export interface JsonAstArray extends JsonAstNodeBase { - readonly kind: 'array'; - readonly elements: JsonAstNode[]; - readonly value: JsonArray; -} - -export interface JsonAstKeyValue extends JsonAstNodeBase { - readonly kind: 'keyvalue'; - readonly key: JsonAstString | JsonAstIdentifier; - readonly value: JsonAstNode; -} - -export interface JsonAstObject extends JsonAstNodeBase { - readonly kind: 'object'; - readonly properties: JsonAstKeyValue[]; - readonly value: JsonObject; -} - -export interface JsonAstConstantFalse extends JsonAstNodeBase { - readonly kind: 'false'; - readonly value: false; -} - -export interface JsonAstConstantNull extends JsonAstNodeBase { - readonly kind: 'null'; - readonly value: null; -} - -export interface JsonAstConstantTrue extends JsonAstNodeBase { - readonly kind: 'true'; - readonly value: true; -} - -// Loose mode AST. -export interface JsonAstMultilineComment extends JsonAstNodeBase { - readonly kind: 'multicomment'; - readonly content: string; -} -export interface JsonAstComment extends JsonAstNodeBase { - readonly kind: 'comment'; - readonly content: string; -} diff --git a/packages/angular_devkit/core/src/json/parser_spec.ts b/packages/angular_devkit/core/src/json/parser_spec.ts deleted file mode 100644 index ec9a8b84374c..000000000000 --- a/packages/angular_devkit/core/src/json/parser_spec.ts +++ /dev/null @@ -1,325 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonParseMode, parseJsonAst } from './parser'; - -// Node 6 compatibility. -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function entries(x: { [key: string]: any }): any { - return Object.keys(x).map((k) => [k, x[k]]); -} - -describe('parseJsonAst', () => { - describe('generic', () => { - const numbers = {}; - const errors = ['', '-abcdefghijklmnopqrstuvwxyz']; - - for (const [n, [start, end, text]] of entries(numbers)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(JSON.parse(n)); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); - - describe('numbers', () => { - const numbers = { - '1234': [ - [0, 0, 0], - [4, 0, 4], - ], - '12E34': [ - [0, 0, 0], - [5, 0, 5], - ], - '12E+4': [ - [0, 0, 0], - [5, 0, 5], - ], - '12E-4': [ - [0, 0, 0], - [5, 0, 5], - ], - '12E-0004': [ - [0, 0, 0], - [8, 0, 8], - ], - ' 1234 ': [[3, 0, 3], [7, 0, 7], '1234'], - '\r1234\t': [[1, 0, 1], [5, 0, 5], '1234'], - '\n1234\n': [[1, 1, 0], [5, 1, 4], '1234'], - '0.123': [ - [0, 0, 0], - [5, 0, 5], - ], - '0': [ - [0, 0, 0], - [1, 0, 1], - ], - '\n\n\n\n\n0': [[5, 5, 0], [6, 5, 1], '0'], - }; - const errors = [ - '000', - '01', - '1E1+1', - '--', - '0-0', - '-0-0', - '0.0.0', - '0\n.0\n.0', - '0.', - '+1', - 'Infinity', - 'NaN', - '-Infinity', - '+Infinity', - ]; - - for (const [n, [start, end, text]] of entries(numbers)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n); - expect(ast.kind).toBe('number'); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(JSON.parse(n)); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); - - describe('strings', () => { - const strings = { - '""': [ - [0, 0, 0], - [2, 0, 2], - ], - '"hello"': [ - [0, 0, 0], - [7, 0, 7], - ], - '"a\\nb"': [ - [0, 0, 0], - [6, 0, 6], - ], - '"a\\nb\\tc\\rd\\\\e\\/f\\"g\\bh\\fi"': [ - [0, 0, 0], - [27, 0, 27], - ], - '"a\\u1234b"': [ - [0, 0, 0], - [10, 0, 10], - ], - }; - const errors = ['"\\z"', "'hello'", '"\\', '"a\\zb"', '"a', '"a\nb"', '"\\\n "']; - - for (const [n, [start, end, text]] of entries(strings)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n); - expect(ast.kind).toBe('string'); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(JSON.parse(n)); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); - - describe('constants', () => { - const strings = { - 'true': ['true', [0, 0, 0], [4, 0, 4], true], - 'false': ['false', [0, 0, 0], [5, 0, 5], false], - 'null': ['null', [0, 0, 0], [4, 0, 4], null], - }; - const errors = ['undefined']; - - for (const [n, [kind, start, end, value, text]] of entries(strings)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n); - expect(ast.kind).toBe(kind); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(value); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); - - describe('arrays', () => { - const strings = { - '[0,1,2,3]': [ - [0, 0, 0], - [9, 0, 9], - ], - '[[0],1,2,3]': [ - [0, 0, 0], - [11, 0, 11], - ], - '[0\n,\n1,2,3]': [ - [0, 0, 0], - [11, 2, 6], - ], - '[]': [ - [0, 0, 0], - [2, 0, 2], - ], - '\n[\n]\n': [[1, 1, 0], [4, 2, 1], '[\n]'], - '[\n]': [ - [0, 0, 0], - [3, 1, 1], - ], - '[\n\n]': [ - [0, 0, 0], - [4, 2, 1], - ], - }; - const errors = ['[', '[,]', '[0,]', '[,0]']; - - for (const [n, [start, end, text]] of entries(strings)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n); - expect(ast.kind).toBe('array'); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(JSON.parse(n)); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); - - describe('objects', () => { - const strings = { - '{}': [ - [0, 0, 0], - [2, 0, 2], - ], - '{\n}': [ - [0, 0, 0], - [3, 1, 1], - ], - '{"hello": "world"}': [ - [0, 0, 0], - [18, 0, 18], - ], - '{"hello": 0, "world": 1}': [ - [0, 0, 0], - [24, 0, 24], - ], - '{"hello": {"hello": {"hello": "world"}}}': [ - [0, 0, 0], - [40, 0, 40], - ], - }; - const errors = ['{', '{,}', '{"hello": 0']; - - for (const [n, [start, end, text]] of entries(strings)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n); - expect(ast.kind).toBe('object'); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(JSON.parse(n)); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); - - describe('loose', () => { - const strings = { - "{'hello': 0}": [[0, 0, 0], [12, 0, 12], { 'hello': 0 }], - '{hello: 0}': [[0, 0, 0], [10, 0, 10], { hello: 0 }], - '{1: 0}': [[0, 0, 0], [6, 0, 6], { 1: 0 }], - '{hello\n:/**/ 0}': [[0, 0, 0], [15, 1, 8], { hello: 0 }], - '{\n// hello\n}': [[0, 0, 0], [12, 2, 1], {}], - '{\n/* hello\n*/ }': [[0, 0, 0], [15, 2, 4], {}], - '{}// ': [[0, 0, 0], [2, 0, 2], {}, '{}'], - '{}//': [[0, 0, 0], [2, 0, 2], {}, '{}'], - '{hello:0,}': [[0, 0, 0], [10, 0, 10], { hello: 0 }], - '{hello:0/**/,}': [[0, 0, 0], [14, 0, 14], { hello: 0 }], - '{hello:0,/**/}': [[0, 0, 0], [14, 0, 14], { hello: 0 }], - '{hi:["hello",]}': [[0, 0, 0], [15, 0, 15], { hi: ['hello'] }], - '{hi:["hello",/* */]}': [[0, 0, 0], [20, 0, 20], { hi: ['hello'] }], - '{hi:["hello"/* */,]}': [[0, 0, 0], [20, 0, 20], { hi: ['hello'] }], - '{hi:["hello" , ] , }': [[0, 0, 0], [20, 0, 20], { hi: ['hello'] }], - '{hi:"\\\n "}': [[0, 0, 0], [10, 1, 3], { hi: '\n ' }], - '{d: -0xdecaf, e: Infinity, f: -Infinity, g: +Infinity, h: NaN,}': [ - [0, 0, 0], - [63, 0, 63], - { - d: -0xdecaf, - e: Infinity, - f: -Infinity, - g: Infinity, - h: NaN, - }, - ], - }; - const errors = ['{1b: 0}', ' /*', '', '.Infinity']; - - for (const [n, [start, end, value, text]] of entries(strings)) { - it(`works for ${JSON.stringify(n)}`, () => { - const ast = parseJsonAst(n, JsonParseMode.Loose); - expect(ast.kind).toBe('object'); - expect(ast.start).toEqual({ offset: start[0], line: start[1], character: start[2] }); - expect(ast.end).toEqual({ offset: end[0], line: end[1], character: end[2] }); - expect(ast.value).toEqual(value); - expect(ast.text).toBe(text === undefined ? n : text); - }); - } - - for (const n of errors) { - it(`errors for ${JSON.stringify(n)}`, () => { - expect(() => parseJsonAst(n, JsonParseMode.Loose)).toThrow(); - expect(() => JSON.parse(n)).toThrow(); - }); - } - }); -}); diff --git a/packages/angular_devkit/core/src/workspace/definitions.ts b/packages/angular_devkit/core/src/workspace/definitions.ts index 4f697979f135..2df0d4d05ab5 100644 --- a/packages/angular_devkit/core/src/workspace/definitions.ts +++ b/packages/angular_devkit/core/src/workspace/definitions.ts @@ -10,7 +10,6 @@ import { JsonValue } from '../json'; export interface WorkspaceDefinition { readonly extensions: Record; - readonly projects: ProjectDefinitionCollection; } @@ -32,9 +31,7 @@ export interface TargetDefinition { export type DefinitionCollectionListener = ( name: string, - action: 'add' | 'remove' | 'replace', newValue: V | undefined, - oldValue: V | undefined, collection: DefinitionCollection, ) => void; @@ -46,21 +43,21 @@ class DefinitionCollection implements ReadonlyMap { } delete(key: string): boolean { - const value = this._map.get(key); const result = this._map.delete(key); - if (result && value !== undefined && this._listener) { - this._listener(key, 'remove', undefined, value, this); + + if (result) { + this._listener?.(key, undefined, this); } return result; } set(key: string, value: V): this { - const existing = this.get(key); - this._map.set(key, value); + const updatedValue = value !== this.get(key); - if (this._listener) { - this._listener(key, existing !== undefined ? 'replace' : 'add', value, existing, this); + if (updatedValue) { + this._map.set(key, value); + this._listener?.(key, value, this); } return this; diff --git a/packages/angular_devkit/core/src/workspace/definitions_spec.ts b/packages/angular_devkit/core/src/workspace/definitions_spec.ts index da263d361f90..1bbf502add81 100644 --- a/packages/angular_devkit/core/src/workspace/definitions_spec.ts +++ b/packages/angular_devkit/core/src/workspace/definitions_spec.ts @@ -99,9 +99,9 @@ describe('ProjectDefinitionCollection', () => { }); it('listens to an addition via set', () => { - const listener = (name: string, action: string) => { + const listener = (name: string, value?: ProjectDefinition) => { expect(name).toBe('my-app'); - expect(action).toBe('add'); + expect(value?.root).toBe('src/my-app'); }; const collection = new ProjectDefinitionCollection(undefined, listener); @@ -114,13 +114,9 @@ describe('ProjectDefinitionCollection', () => { }); it('listens to an addition via add', () => { - const listener = (name: string, action: string, value?: ProjectDefinition) => { + const listener = (name: string, value?: ProjectDefinition) => { expect(name).toBe('my-app'); - expect(action).toBe('add'); - expect(value).not.toBeUndefined(); - if (value) { - expect(value.root).toBe('src/my-app'); - } + expect(value?.root).toBe('src/my-app'); }; const collection = new ProjectDefinitionCollection(undefined, listener); @@ -136,9 +132,9 @@ describe('ProjectDefinitionCollection', () => { 'my-app': { root: 'src/my-app', extensions: {}, targets: new TargetDefinitionCollection() }, }; - const listener = (name: string, action: string) => { + const listener = (name: string, value?: ProjectDefinition) => { expect(name).toBe('my-app'); - expect(action).toBe('remove'); + expect(value).toBeUndefined(); }; const collection = new ProjectDefinitionCollection(initial, listener); @@ -151,22 +147,9 @@ describe('ProjectDefinitionCollection', () => { 'my-app': { root: 'src/my-app', extensions: {}, targets: new TargetDefinitionCollection() }, }; - const listener = ( - name: string, - action: string, - newValue?: ProjectDefinition, - oldValue?: ProjectDefinition, - ) => { + const listener = (name: string, value?: ProjectDefinition) => { expect(name).toBe('my-app'); - expect(action).toBe('replace'); - expect(newValue).not.toBeUndefined(); - if (newValue) { - expect(newValue.root).toBe('src/my-app2'); - } - expect(oldValue).not.toBeUndefined(); - if (oldValue) { - expect(oldValue.root).toBe('src/my-app'); - } + expect(value?.root).toBe('src/my-app2'); }; const collection = new ProjectDefinitionCollection(initial, listener); @@ -198,14 +181,10 @@ describe('TargetDefinitionCollection', () => { const build = collection.get('build'); expect(build).not.toBeUndefined(); - if (build) { - expect(build.builder).toBe('builder:build'); - } + expect(build?.builder).toBe('builder:build'); const test = collection.get('test'); expect(test).not.toBeUndefined(); - if (test) { - expect(test.builder).toBe('builder:test'); - } + expect(test?.builder).toBe('builder:test'); }); it('can be created with a listener', () => { @@ -233,21 +212,15 @@ describe('TargetDefinitionCollection', () => { expect(collection.size).toBe(2); const build = collection.get('build'); - expect(build).not.toBeUndefined(); - if (build) { - expect(build.builder).toBe('builder:build'); - } + expect(build?.builder).toBe('builder:build'); const test = collection.get('test'); - expect(test).not.toBeUndefined(); - if (test) { - expect(test.builder).toBe('builder:test'); - } + expect(test?.builder).toBe('builder:test'); }); it('listens to an addition via set', () => { - const listener = (name: string, action: string) => { + const listener = (name: string, value?: TargetDefinition) => { expect(name).toBe('build'); - expect(action).toBe('add'); + expect(value?.builder).toBe('builder:build'); }; const collection = new TargetDefinitionCollection(undefined, listener); @@ -256,13 +229,9 @@ describe('TargetDefinitionCollection', () => { }); it('listens to an addition via add', () => { - const listener = (name: string, action: string, value?: TargetDefinition) => { + const listener = (name: string, value?: TargetDefinition) => { expect(name).toBe('build'); - expect(action).toBe('add'); - expect(value).not.toBeUndefined(); - if (value) { - expect(value.builder).toBe('builder:build'); - } + expect(value?.builder).toBe('builder:build'); }; const collection = new TargetDefinitionCollection(undefined, listener); @@ -278,9 +247,8 @@ describe('TargetDefinitionCollection', () => { 'build': { builder: 'builder:build' }, }; - const listener = (name: string, action: string) => { + const listener = (name: string, value?: TargetDefinition) => { expect(name).toBe('build'); - expect(action).toBe('remove'); }; const collection = new TargetDefinitionCollection(initial, listener); @@ -293,22 +261,9 @@ describe('TargetDefinitionCollection', () => { 'build': { builder: 'builder:build' }, }; - const listener = ( - name: string, - action: string, - newValue?: TargetDefinition, - oldValue?: TargetDefinition, - ) => { + const listener = (name: string, value?: TargetDefinition) => { expect(name).toBe('build'); - expect(action).toBe('replace'); - expect(newValue).not.toBeUndefined(); - if (newValue) { - expect(newValue.builder).toBe('builder:test'); - } - expect(oldValue).not.toBeUndefined(); - if (oldValue) { - expect(oldValue.builder).toBe('builder:build'); - } + expect(value?.builder).toBe('builder:test'); }; const collection = new TargetDefinitionCollection(initial, listener); diff --git a/packages/angular_devkit/core/src/workspace/json/metadata.ts b/packages/angular_devkit/core/src/workspace/json/metadata.ts index 1c5860a2b3cb..67fa6b11d64e 100644 --- a/packages/angular_devkit/core/src/workspace/json/metadata.ts +++ b/packages/angular_devkit/core/src/workspace/json/metadata.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ +import { JSONPath, Node, findNodeAtLocation, getNodeValue } from 'jsonc-parser'; import { JsonValue } from '../../json'; -import { JsonAstArray, JsonAstKeyValue, JsonAstNode, JsonAstObject } from '../../json/parser_ast'; import { ProjectDefinition, TargetDefinition, WorkspaceDefinition } from '../definitions'; export const JsonWorkspaceSymbol = Symbol.for('@angular/core:workspace-json'); @@ -24,56 +24,63 @@ interface ChangeValues { targetcollection: Iterable<[string, TargetDefinition]>; } -export interface JsonChange { - // core collections can only be added as they are managed directly by _Collection_ objects - op: T extends 'json' | 'project' | 'target' ? 'add' | 'remove' | 'replace' : 'add'; - path: string; - node: JsonAstNode | JsonAstKeyValue; - value?: ChangeValues[T]; - type: T; +export interface JsonChange { + value?: unknown; + type?: keyof ChangeValues; + jsonPath: string[]; +} + +function escapeKey(key: string): string | number { + return key.replace('~', '~0').replace('/', '~1'); } export class JsonWorkspaceMetadata { - readonly changes: JsonChange[] = []; + readonly changes = new Map(); + + hasLegacyTargetsName = true; - constructor(readonly filePath: string, readonly ast: JsonAstObject, readonly raw: string) {} + constructor(readonly filePath: string, private readonly ast: Node, readonly raw: string) {} get hasChanges(): boolean { - return this.changes.length > 0; + return this.changes.size > 0; } get changeCount(): number { - return this.changes.length; + return this.changes.size; } - findChangesForPath(path: string): JsonChange[] { - return this.changes.filter((c) => c.path === path); + getNodeValueFromAst(path: JSONPath): unknown { + const node = findNodeAtLocation(this.ast, path); + + return node && getNodeValue(node); + } + + findChangesForPath(path: string): JsonChange | undefined { + return this.changes.get(path); } addChange( - op: 'add' | 'remove' | 'replace', - path: string, - node: JsonAstArray | JsonAstObject | JsonAstKeyValue, - value?: ChangeValues[T], + jsonPath: string[], + value: ChangeValues[T] | undefined, type?: T, ): void { - // Remove redundant operations - if (op === 'remove' || op === 'replace') { - for (let i = this.changes.length - 1; i >= 0; --i) { - const currentPath = this.changes[i].path; - if (currentPath === path || currentPath.startsWith(path + '/')) { - if (op === 'replace' && currentPath === path && this.changes[i].op === 'add') { - op = 'add'; - } - this.changes.splice(i, 1); - } + let currentPath = ''; + for (let index = 0; index < jsonPath.length - 1; index++) { + currentPath = currentPath + '/' + escapeKey(jsonPath[index]); + if (this.changes.has(currentPath)) { + // Ignore changes on children as parent is updated. + return; } } - this.changes.push({ op, path, node, value, type: op === 'remove' || !type ? 'json' : type }); - } + const pathKey = '/' + jsonPath.map((k) => escapeKey(k)).join('/'); + for (const key of this.changes.keys()) { + if (key.startsWith(pathKey + '/')) { + // changes on the same or child paths are redundant. + this.changes.delete(key); + } + } - reset(): void { - this.changes.length = 0; + this.changes.set(pathKey, { jsonPath, type, value }); } } diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index 3dd27b28bb11..d780145636db 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -6,9 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonParseMode, parseJsonAst } from '../../json/parser'; -import { JsonAstKeyValue, JsonAstNode, JsonAstObject } from '../../json/parser_ast'; -import { JsonValue } from '../../json/utils'; +import { Node, findNodeAtLocation, getNodeValue, parseTree } from 'jsonc-parser'; +import { JsonValue, isJsonObject } from '../../json/utils'; import { DefinitionCollectionListener, ProjectDefinition, @@ -19,14 +18,14 @@ import { } from '../definitions'; import { WorkspaceHost } from '../host'; import { JsonWorkspaceMetadata, JsonWorkspaceSymbol } from './metadata'; -import { createVirtualAstObject, escapeKey } from './utilities'; +import { createVirtualAstObject } from './utilities'; interface ParserContext { readonly host: WorkspaceHost; readonly metadata: JsonWorkspaceMetadata; readonly trackChanges: boolean; - error(message: string, node: JsonAstNode | JsonAstKeyValue): void; - warn(message: string, node: JsonAstNode | JsonAstKeyValue): void; + error(message: string, node: JsonValue): void; + warn(message: string, node: JsonValue): void; } export async function readJsonWorkspace( @@ -34,24 +33,23 @@ export async function readJsonWorkspace( host: WorkspaceHost, ): Promise { const raw = await host.readFile(path); - if (raw === undefined) { throw new Error('Unable to read workspace file.'); } - const ast = parseJsonAst(raw, JsonParseMode.Loose); - if (ast.kind !== 'object') { + const ast = parseTree(raw, undefined, { allowTrailingComma: true, disallowComments: false }); + if (ast?.type !== 'object' || !ast.children) { throw new Error('Invalid workspace file - expected JSON object.'); } // Version check - const versionNode = ast.properties.find((pair) => pair.key.value === 'version'); + const versionNode = findNodeAtLocation(ast, ['version']); if (!versionNode) { throw new Error('Unknown format - version specifier not found.'); } - const formatVersion = versionNode.value.value; - if (formatVersion !== 1) { - throw new Error(`Invalid format version detected - Expected:[ 1 ] Found: [ ${formatVersion} ]`); + const version = versionNode.value; + if (version !== 1) { + throw new Error(`Invalid format version detected - Expected:[ 1 ] Found: [ ${version} ]`); } const context: ParserContext = { @@ -76,49 +74,42 @@ const specialWorkspaceExtensions = ['cli', 'defaultProject', 'newProjectRoot', ' const specialProjectExtensions = ['cli', 'schematics', 'projectType']; -function parseWorkspace(workspaceNode: JsonAstObject, context: ParserContext): WorkspaceDefinition { +function parseWorkspace(workspaceNode: Node, context: ParserContext): WorkspaceDefinition { const jsonMetadata = context.metadata; let projects; - let projectsNode: JsonAstObject | undefined; let extensions: Record | undefined; if (!context.trackChanges) { extensions = Object.create(null); } - for (const { key, value } of workspaceNode.properties) { - const name = key.value; - + // TODO: `getNodeValue` - looks potentially expensive since it walks the whole tree and instantiates the full object structure each time. + // Might be something to look at moving forward to optimize. + const workspaceNodeValue = getNodeValue(workspaceNode); + for (const [name, value] of Object.entries(workspaceNodeValue)) { if (name === '$schema' || name === 'version') { // skip } else if (name === 'projects') { - if (value.kind !== 'object') { + const nodes = findNodeAtLocation(workspaceNode, ['projects']); + if (!isJsonObject(value) || !nodes) { context.error('Invalid "projects" field found; expected an object.', value); continue; } - projectsNode = value; - projects = parseProjectsObject(value, context); + projects = parseProjectsObject(nodes, context); } else { if (!specialWorkspaceExtensions.includes(name) && !/^[a-z]{1,3}-.*/.test(name)) { - context.warn(`Project extension with invalid name found.`, key); + context.warn(`Project extension with invalid name found.`, name); } if (extensions) { - extensions[name] = value.value; + extensions[name] = value; } } } let collectionListener: DefinitionCollectionListener | undefined; - if (context.trackChanges && projectsNode) { - const parentNode = projectsNode; - collectionListener = (name, action, newValue) => { - jsonMetadata.addChange( - action, - `/projects/${escapeKey(name)}`, - parentNode, - newValue, - 'project', - ); + if (context.trackChanges) { + collectionListener = (name, newValue) => { + jsonMetadata.addChange(['projects', name], newValue, 'project'); }; } @@ -130,30 +121,30 @@ function parseWorkspace(workspaceNode: JsonAstObject, context: ParserContext): W // If not tracking changes the `extensions` variable will contain the parsed // values. Otherwise the extensions are tracked via a virtual AST object. extensions: - extensions || - createVirtualAstObject(workspaceNode, { + extensions ?? + createVirtualAstObject(workspaceNodeValue, { exclude: ['$schema', 'version', 'projects'], - listener(op, path, node, value) { - jsonMetadata.addChange(op, path, node, value); + listener(path, value) { + jsonMetadata.addChange(path, value); }, }), } as WorkspaceDefinition; } function parseProjectsObject( - projectsNode: JsonAstObject, + projectsNode: Node, context: ParserContext, ): Record { const projects: Record = Object.create(null); - for (const { key, value } of projectsNode.properties) { - if (value.kind !== 'object') { + for (const [name, value] of Object.entries(getNodeValue(projectsNode))) { + const nodes = findNodeAtLocation(projectsNode, [name]); + if (!isJsonObject(value) || !nodes) { context.warn('Skipping invalid project value; expected an object.', value); continue; } - const name = key.value; - projects[name] = parseProject(name, value, context); + projects[name] = parseProject(name, nodes, context); } return projects; @@ -161,12 +152,12 @@ function parseProjectsObject( function parseProject( projectName: string, - projectNode: JsonAstObject, + projectNode: Node, context: ParserContext, ): ProjectDefinition { const jsonMetadata = context.metadata; let targets; - let targetsNode: JsonAstObject | undefined; + let hasTargets = false; let extensions: Record | undefined; let properties: Record<'root' | 'sourceRoot' | 'prefix', string> | undefined; if (!context.trackChanges) { @@ -175,34 +166,37 @@ function parseProject( properties = Object.create(null); } - for (const { key, value } of projectNode.properties) { - const name = key.value; + const projectNodeValue = getNodeValue(projectNode); + + for (const [name, value] of Object.entries(projectNodeValue)) { switch (name) { case 'targets': case 'architect': - if (value.kind !== 'object') { + const nodes = findNodeAtLocation(projectNode, [name]); + if (!isJsonObject(value) || !nodes) { context.error(`Invalid "${name}" field found; expected an object.`, value); break; } - targetsNode = value; - targets = parseTargetsObject(projectName, value, context); + hasTargets = true; + targets = parseTargetsObject(projectName, nodes, context); + jsonMetadata.hasLegacyTargetsName = name === 'architect'; break; case 'prefix': case 'root': case 'sourceRoot': - if (value.kind !== 'string') { + if (typeof value !== 'string') { context.warn(`Project property "${name}" should be a string.`, value); } if (properties) { - properties[name] = value.value as string; + properties[name] = value as string; } break; default: if (!specialProjectExtensions.includes(name) && !/^[a-z]{1,3}-.*/.test(name)) { - context.warn(`Project extension with invalid name found.`, key); + context.warn(`Project extension with invalid name found.`, name); } if (extensions) { - extensions[name] = value.value; + extensions[name] = value; } break; } @@ -210,34 +204,17 @@ function parseProject( let collectionListener: DefinitionCollectionListener | undefined; if (context.trackChanges) { - if (targetsNode) { - const parentNode = targetsNode; - collectionListener = (name, action, newValue) => { + collectionListener = (name, newValue, collection) => { + if (hasTargets) { + jsonMetadata.addChange(['projects', projectName, 'targets', name], newValue, 'target'); + } else { jsonMetadata.addChange( - action, - `/projects/${projectName}/targets/${escapeKey(name)}`, - parentNode, - newValue, - 'target', - ); - }; - } else { - let added = false; - collectionListener = (_name, action, _new, _old, collection) => { - if (added || action !== 'add') { - return; - } - - jsonMetadata.addChange( - 'add', - `/projects/${projectName}/targets`, - projectNode, + ['projects', projectName, 'targets'], collection, 'targetcollection', ); - added = true; - }; - } + } + }; } const base = { @@ -245,63 +222,53 @@ function parseProject( // If not tracking changes the `extensions` variable will contain the parsed // values. Otherwise the extensions are tracked via a virtual AST object. extensions: - extensions || - createVirtualAstObject(projectNode, { + extensions ?? + createVirtualAstObject(projectNodeValue, { exclude: ['architect', 'prefix', 'root', 'sourceRoot', 'targets'], - listener(op, path, node, value) { - jsonMetadata.addChange(op, `/projects/${projectName}${path}`, node, value); + listener(path, value) { + jsonMetadata.addChange(['projects', projectName, ...path], value); }, }), }; - let project: ProjectDefinition; - if (context.trackChanges) { - project = createVirtualAstObject(projectNode, { - base, - include: ['prefix', 'root', 'sourceRoot'], - listener(op, path, node, value) { - jsonMetadata.addChange(op, `/projects/${projectName}${path}`, node, value); + const baseKeys = new Set(Object.keys(base)); + const project = + properties ?? + createVirtualAstObject(projectNodeValue, { + include: ['prefix', 'root', 'sourceRoot', ...baseKeys], + listener(path, value) { + if (!baseKeys.has(path[0])) { + jsonMetadata.addChange(['projects', projectName, ...path], value); + } }, }); - } else { - project = { - ...base, - ...properties, - } as ProjectDefinition; - } - return project; + return Object.assign(project, base) as ProjectDefinition; } function parseTargetsObject( projectName: string, - targetsNode: JsonAstObject, + targetsNode: Node, context: ParserContext, ): Record { const jsonMetadata = context.metadata; const targets: Record = Object.create(null); - for (const { key, value } of targetsNode.properties) { - if (value.kind !== 'object') { + for (const [name, value] of Object.entries(getNodeValue(targetsNode))) { + if (!isJsonObject(value)) { context.warn('Skipping invalid target value; expected an object.', value); continue; } - const name = key.value; if (context.trackChanges) { targets[name] = createVirtualAstObject(value, { include: ['builder', 'options', 'configurations', 'defaultConfiguration'], - listener(op, path, node, value) { - jsonMetadata.addChange( - op, - `/projects/${projectName}/targets/${name}${path}`, - node, - value, - ); + listener(path, value) { + jsonMetadata.addChange(['projects', projectName, 'targets', name, ...path], value); }, }); } else { - targets[name] = value.value as unknown as TargetDefinition; + targets[name] = value as unknown as TargetDefinition; } } diff --git a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts index 423051cbcc62..22d5cd3fbc63 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts @@ -52,7 +52,7 @@ function createTestHost(content: string, onWrite?: (path: string, data: string) function getMetadata(workspace: WorkspaceDefinition): JsonWorkspaceMetadata { const metadata = (workspace as JsonWorkspaceDefinition)[JsonWorkspaceSymbol]; - expect(metadata).toBeDefined('JSON metadata not found. Invalid workspace definition returned.'); + expect(metadata).toBeDefined(); return metadata; } @@ -159,10 +159,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/x-baz')[0]; + const change = metadata.findChangesForPath('/x-baz'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toBe(101); } }); @@ -184,10 +183,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/x-baz')[0]; + const change = metadata.findChangesForPath('/x-baz'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ a: 1, b: 3, c: { d: 'abc' } }); } }); @@ -216,10 +214,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/x-baz')[0]; + const change = metadata.findChangesForPath('/x-baz'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ a: 1, b: 2, c: { d: 'abc' }, x: 9, y: 8, z: 7 }); } }); @@ -248,10 +245,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/x-baz')[0]; + const change = metadata.findChangesForPath('/x-baz'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ a: 1, b: 2, c: { d: 'abc' }, x: 9, y: 8, z: 7 }); } }); @@ -280,10 +276,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/x-baz')[0]; + const change = metadata.findChangesForPath('/x-baz'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ a: 1, b: 2, c: { d: 'abc' }, x: 9, y: 8, z: 7 }); } }); @@ -310,10 +305,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/x-foo')[0]; + const change = metadata.findChangesForPath('/x-foo'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('replace'); expect(change.value).toEqual({ is: ['good', 'great', 'awesome'], x: 9, y: 8, z: 7 }); } }); @@ -336,24 +330,21 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(3); - let change = metadata.findChangesForPath('/x-foo/x')[0]; + let change = metadata.findChangesForPath('/x-foo/x'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(9); } - change = metadata.findChangesForPath('/x-foo/y')[0]; + change = metadata.findChangesForPath('/x-foo/y'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(8); } - change = metadata.findChangesForPath('/x-foo/z')[0]; + change = metadata.findChangesForPath('/x-foo/z'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(7); } }); @@ -380,24 +371,21 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(3); - let change = metadata.findChangesForPath('/x-foo/x')[0]; + let change = metadata.findChangesForPath('/x-foo/x'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(9); } - change = metadata.findChangesForPath('/x-foo/y')[0]; + change = metadata.findChangesForPath('/x-foo/y'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(8); } - change = metadata.findChangesForPath('/x-foo/z')[0]; + change = metadata.findChangesForPath('/x-foo/z'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(7); } }); @@ -421,10 +409,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - let change = metadata.findChangesForPath('/schematics2')[0]; + let change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'abc' } }); } @@ -433,11 +420,8 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(2); - change = metadata.findChangesForPath('/schematics')[0]; + change = metadata.findChangesForPath('/schematics'); expect(change).not.toBeUndefined(); - if (change) { - expect(change.op).toBe('remove'); - } }); it('tracks moving and modifying an existing extension object', async () => { @@ -459,10 +443,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - let change = metadata.findChangesForPath('/schematics2')[0]; + let change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'abc' } }); } @@ -474,16 +457,12 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(2); - change = metadata.findChangesForPath('/schematics')[0]; + change = metadata.findChangesForPath('/schematics'); expect(change).not.toBeUndefined(); - if (change) { - expect(change.op).toBe('remove'); - } - change = metadata.findChangesForPath('/schematics2')[0]; + change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'xyz' } }); } }); @@ -507,10 +486,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - let change = metadata.findChangesForPath('/schematics2')[0]; + let change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'abc' } }); } @@ -521,17 +499,15 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(2); - change = metadata.findChangesForPath('/schematics/@angular~1schematics:component')[0]; + change = metadata.findChangesForPath('/schematics/@angular~1schematics:component'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('replace'); expect(change.value).toEqual({ prefix: 'xyz' }); } - change = metadata.findChangesForPath('/schematics2')[0]; + change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'xyz' } }); } }); @@ -555,10 +531,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - let change = metadata.findChangesForPath('/schematics2')[0]; + let change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'abc' } }); } @@ -569,17 +544,15 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(2); - change = metadata.findChangesForPath('/schematics/@angular~1schematics:component')[0]; + change = metadata.findChangesForPath('/schematics/@angular~1schematics:component'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('replace'); expect(change.value).toEqual({ prefix: 'xyz' }); } - change = metadata.findChangesForPath('/schematics2')[0]; + change = metadata.findChangesForPath('/schematics2'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual({ '@angular/schematics:component': { prefix: 'xyz' } }); } @@ -588,18 +561,12 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(2); - change = metadata.findChangesForPath('/schematics')[0]; + change = metadata.findChangesForPath('/schematics'); expect(change).not.toBeUndefined(); - if (change) { - expect(change.op).toBe('remove'); - } const orderedChanges = Array.from(metadata.changes.values()); change = orderedChanges[1]; expect(change).not.toBeUndefined(); - if (change) { - expect(change.op).toBe('remove'); - } }); it('tracks project additions with set', async () => { @@ -625,10 +592,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/projects/new-app')[0]; + const change = metadata.findChangesForPath('/projects/new-app'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(jasmine.objectContaining({ root: 'src' })); } }); @@ -655,10 +621,9 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/projects/new-app')[0]; + const change = metadata.findChangesForPath('/projects/new-app'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toEqual(jasmine.objectContaining({ root: 'src' })); } }); @@ -678,16 +643,14 @@ describe('JSON ProjectDefinition Tracks Project Changes', () => { project.prefix = 'bar'; expect(project.prefix).toBe('bar'); - const metadata = getMetadata(workspace); expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/projects/my-app/prefix')[0]; + const change = metadata.findChangesForPath('/projects/my-app/prefix'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('replace'); expect(change.value).toBe('bar'); } }); @@ -712,10 +675,9 @@ describe('JSON ProjectDefinition Tracks Project Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/projects/my-app/sourceRoot')[0]; + const change = metadata.findChangesForPath('/projects/my-app/sourceRoot'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toBe('xyz'); } }); @@ -740,10 +702,9 @@ describe('JSON ProjectDefinition Tracks Project Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/projects/my-app/abc-option')[0]; + const change = metadata.findChangesForPath('/projects/my-app/abc-option'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.value).toBe('valueA'); } }); @@ -789,10 +750,9 @@ describe('JSON ProjectDefinition Tracks Project Changes', () => { expect(metadata.hasChanges).toBeTruthy(); expect(metadata.changeCount).toBe(1); - const change = metadata.findChangesForPath('/projects/p1/targets')[0]; + const change = metadata.findChangesForPath('/projects/p1/targets'); expect(change).not.toBeUndefined(); if (change) { - expect(change.op).toBe('add'); expect(change.type).toBe('targetcollection'); } }); diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayEmpty.json b/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayEmpty.json index 83cfeda3dda7..986639153289 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayEmpty.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayEmpty.json @@ -11,5 +11,5 @@ "is": ["good", "great", "awesome"] }, "x-bar": 5, - "x-array": [] + "x-array": [], } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayPush.json b/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayPush.json index 84b9aeca6359..12a192f8a858 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayPush.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/AddArrayPush.json @@ -13,5 +13,5 @@ "x-bar": 5, "x-array": [ "value" - ] + ], } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject1.json b/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject1.json index ee1c8db01857..7acd961c8c50 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject1.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject1.json @@ -6,14 +6,14 @@ "prefix": "abc" } }, - "x-baz": 10, + "x-baz": 1, "x-foo": { "is": ["good", "great", "awesome"] }, "x-bar": 5, "projects": { "new": { - "root": "src" + "root": "src7" } - } + }, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/AddProjectWithTargets.json b/packages/angular_devkit/core/src/workspace/json/test/cases/AddProjectWithTargets.json index 26eadbabf914..d001bfb5d6c8 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/AddProjectWithTargets.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/AddProjectWithTargets.json @@ -6,7 +6,7 @@ "prefix": "abc" } }, - "x-baz": 10, + "x-baz": 1, "x-foo": { "is": ["good", "great", "awesome"] }, @@ -14,7 +14,7 @@ "projects": { "new": { "root": "src", - "targets": { + "architect": { "build": { "builder": "build-builder", "options": { @@ -29,5 +29,5 @@ } } } - } + }, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInner.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInner.json index 111e8e538097..96d7743dde4a 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInner.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInner.json @@ -8,7 +8,10 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "awesome"] + "is": [ + "good", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInnerAdd.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInnerAdd.json index c6c4ada21046..41f9979607d0 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInnerAdd.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteInnerAdd.json @@ -8,7 +8,11 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "new", "awesome"] + "is": [ + "good", + "new", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLast.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLast.json index a96c3b8338d4..521fa740d0bd 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLast.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLast.json @@ -8,7 +8,10 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great"] + "is": [ + "good", + "great" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLastAdd.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLastAdd.json index 6ccb0498b16a..9c27359090c8 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLastAdd.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteLastAdd.json @@ -8,7 +8,11 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great", "new"] + "is": [ + "good", + "great", + "new" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteZero.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteZero.json index 2c2603005c6e..fc0fd058d98f 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteZero.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayDeleteZero.json @@ -8,7 +8,10 @@ }, "x-baz": 1, "x-foo": { - "is": ["great", "awesome"] + "is": [ + "great", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexInner.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexInner.json index 94fecec93fd8..ac769c3f9444 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexInner.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexInner.json @@ -8,7 +8,11 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "value", "awesome"] + "is": [ + "good", + "value", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexLast.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexLast.json index b54fe1e5b1c6..083e92bd9853 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexLast.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexLast.json @@ -8,7 +8,11 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great", "value"] + "is": [ + "good", + "great", + "value" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexZero.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexZero.json index 99ef79d5d0d5..e384556d2fac 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexZero.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayIndexZero.json @@ -8,7 +8,11 @@ }, "x-baz": 1, "x-foo": { - "is": ["value", "great", "awesome"] + "is": [ + "value", + "great", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPop.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPop.json index a96c3b8338d4..521fa740d0bd 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPop.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPop.json @@ -8,7 +8,10 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great"] + "is": [ + "good", + "great" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPush.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPush.json index c7a8affc6343..8d9105f5c1d2 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPush.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayPush.json @@ -8,7 +8,12 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great", "awesome", "value"] + "is": [ + "good", + "great", + "awesome", + "value" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayShift.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayShift.json index 2c2603005c6e..fc0fd058d98f 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayShift.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayShift.json @@ -8,7 +8,10 @@ }, "x-baz": 1, "x-foo": { - "is": ["great", "awesome"] + "is": [ + "great", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySort.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySort.json index 655912a26e3d..3a98d0c49080 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySort.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySort.json @@ -8,7 +8,11 @@ }, "x-baz": 1, "x-foo": { - "is": ["awesome", "good", "great"] + "is": [ + "awesome", + "good", + "great" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice1.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice1.json index a96c3b8338d4..521fa740d0bd 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice1.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice1.json @@ -8,7 +8,10 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great"] + "is": [ + "good", + "great" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice2.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice2.json index 8e5fa76c48a3..9f8f9a38f2e0 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice2.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArraySplice2.json @@ -8,7 +8,13 @@ }, "x-baz": 1, "x-foo": { - "is": ["good", "great", "value1", "value2", "awesome"] + "is": [ + "good", + "great", + "value1", + "value2", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayUnshift.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayUnshift.json index 8a8b3d923d96..cfffb7e5355d 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayUnshift.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayUnshift.json @@ -8,7 +8,12 @@ }, "x-baz": 1, "x-foo": { - "is": ["value", "good", "great", "awesome"] + "is": [ + "value", + "good", + "great", + "awesome" + ] }, "x-bar": 5, } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayValues.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayValues.json index 79e0d012d399..97b281a873d4 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayValues.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ArrayValues.json @@ -18,5 +18,5 @@ null, true, 9.9 - ] + ], } \ No newline at end of file diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/ObjectRemoveMultiple.json b/packages/angular_devkit/core/src/workspace/json/test/cases/ObjectRemoveMultiple.json index 93ebbbc99f48..cf3ae23dcf98 100644 --- a/packages/angular_devkit/core/src/workspace/json/test/cases/ObjectRemoveMultiple.json +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/ObjectRemoveMultiple.json @@ -1,6 +1,5 @@ { "version": 1, - // Comment "x-foo": { "is": ["good", "great", "awesome"] }, diff --git a/packages/angular_devkit/core/src/workspace/json/utilities.ts b/packages/angular_devkit/core/src/workspace/json/utilities.ts index 4e09f7560250..b24a09d5e94f 100644 --- a/packages/angular_devkit/core/src/workspace/json/utilities.ts +++ b/packages/angular_devkit/core/src/workspace/json/utilities.ts @@ -6,265 +6,132 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonObject, JsonValue } from '../../json'; -import { JsonAstArray, JsonAstKeyValue, JsonAstNode, JsonAstObject } from '../../json/parser_ast'; +import { JsonArray, JsonObject, JsonValue, isJsonObject } from '../../json'; -const stableStringify = require('fast-json-stable-stringify'); - -interface CacheEntry { - value?: JsonValue; - node?: JsonAstNode; - parent: JsonAstArray | JsonAstKeyValue | JsonAstObject; -} - -export type ChangeListener = ( - op: 'add' | 'remove' | 'replace', - path: string, - node: JsonAstArray | JsonAstObject | JsonAstKeyValue, - value?: JsonValue, -) => void; +export type ChangeListener = (path: string[], newValue: JsonValue | undefined) => void; type ChangeReporter = ( - path: string, - parent: JsonAstArray | JsonAstKeyValue | JsonAstObject, - node?: JsonAstNode, - old?: JsonValue, - current?: JsonValue, + path: string[], + target: JsonObject | JsonArray, + oldValue: JsonValue | undefined, + newValue: JsonValue | undefined, ) => void; // lib.es5 PropertyKey is string | number | symbol which doesn't overlap ProxyHandler PropertyKey which is string | symbol. // See https://github.com/microsoft/TypeScript/issues/42894 type ProxyPropertyKey = string | symbol; -function findNode( - parent: JsonAstArray | JsonAstObject, - p: ProxyPropertyKey, -): { node?: JsonAstNode; parent: JsonAstArray | JsonAstKeyValue | JsonAstObject } { - if (parent.kind === 'object') { - const entry = parent.properties.find((entry) => entry.key.value === p); - if (entry) { - return { node: entry.value, parent: entry }; - } - } else { - const index = Number(p); - if (!isNaN(index)) { - return { node: parent.elements[index], parent }; - } - } - - return { parent }; -} - -function createPropertyDescriptor(value: JsonValue | undefined): PropertyDescriptor { - return { - configurable: true, - enumerable: true, - writable: true, - value, - }; -} - -export function escapeKey(key: string | number): string | number { - if (typeof key === 'number') { - return key; - } - - return key.replace('~', '~0').replace('/', '~1'); -} - -export function unescapeKey(key: string | number): string | number { - if (typeof key === 'number') { - return key; - } - - return key.replace('~1', '/').replace('~0', '~'); -} - export function createVirtualAstObject( - root: JsonAstObject, + root: JsonObject | JsonArray, options: { exclude?: string[]; include?: string[]; listener?: ChangeListener; - base?: object; } = {}, ): T { - const reporter: ChangeReporter = (path, parent, node, old, current) => { - if (options.listener) { - if (old === current || stableStringify(old) === stableStringify(current)) { - return; - } + const reporter: ChangeReporter = (path, target, oldValue, newValue) => { + if (!options.listener) { + return; + } - const op = old === undefined ? 'add' : current === undefined ? 'remove' : 'replace'; - options.listener(op, path, parent, current); + if (oldValue === newValue || JSON.stringify(oldValue) === JSON.stringify(newValue)) { + // same value + return; + } + + if (Array.isArray(target)) { + // For arrays we remove the index and update the entire value as keeping + // track of changes by indices can be rather complex. + options.listener(path.slice(0, -1), target); + } else { + options.listener(path, newValue); } }; return create( - root, - '', + Array.isArray(root) ? [...root] : { ...root }, + [], reporter, new Set(options.exclude), - options.include && options.include.length > 0 ? new Set(options.include) : undefined, - options.base, + options.include?.length ? new Set(options.include) : undefined, ) as T; } function create( - ast: JsonAstObject | JsonAstArray, - path: string, + obj: JsonObject | JsonArray, + path: string[], reporter: ChangeReporter, excluded = new Set(), included?: Set, - base?: object, ) { - const cache = new Map(); - const alteredNodes = new Set(); - - if (!base) { - if (ast.kind === 'object') { - base = Object.create(null) as object; - } else { - base = []; - (base as Array).length = ast.elements.length; - } - } - - return new Proxy(base, { + return new Proxy(obj, { getOwnPropertyDescriptor(target: {}, p: ProxyPropertyKey): PropertyDescriptor | undefined { - const descriptor = Reflect.getOwnPropertyDescriptor(target, p); - if (descriptor || typeof p === 'symbol') { - return descriptor; - } else if (excluded.has(p) || (included && !included.has(p))) { - return undefined; - } - - const propertyPath = path + '/' + escapeKey(p); - const cacheEntry = cache.get(propertyPath); - if (cacheEntry) { - if (cacheEntry.value !== undefined) { - return createPropertyDescriptor(cacheEntry.value); - } - + if (excluded.has(p) || (included && !included.has(p))) { return undefined; } - const { node } = findNode(ast, p); - if (node) { - return createPropertyDescriptor(node.value); - } - - return undefined; + return Reflect.getOwnPropertyDescriptor(target, p); }, has(target: {}, p: ProxyPropertyKey): boolean { - if (Reflect.has(target, p)) { - return true; - } else if (typeof p === 'symbol' || excluded.has(p)) { + if (typeof p === 'symbol' || excluded.has(p)) { return false; } - return cache.has(path + '/' + escapeKey(p)) || findNode(ast, p) !== undefined; + return Reflect.has(target, p); }, get(target: {}, p: ProxyPropertyKey): unknown { - if (typeof p === 'symbol' || Reflect.has(target, p)) { - return Reflect.get(target, p); - } else if (excluded.has(p) || (included && !included.has(p))) { + if (excluded.has(p) || (included && !included.has(p))) { return undefined; } - const propertyPath = path + '/' + escapeKey(p); - const cacheEntry = cache.get(propertyPath); - if (cacheEntry) { - return cacheEntry.value; + const value = Reflect.get(target, p); + if (typeof p === 'symbol') { + return value; } - const { node, parent } = findNode(ast, p); - let value; - if (node) { - if (node.kind === 'object' || node.kind === 'array') { - value = create(node, propertyPath, (path, parent, vnode, old, current) => { - if (!alteredNodes.has(node)) { - reporter(path, parent, vnode, old, current); - } - }); - } else { - value = node.value; - } - - cache.set(propertyPath, { node, parent, value }); + if ((isJsonObject(value) && !(value instanceof Map)) || Array.isArray(value)) { + return create(value, [...path, p], reporter); + } else { + return value; } - - return value; }, set(target: {}, p: ProxyPropertyKey, value: unknown): boolean { + if (excluded.has(p) || (included && !included.has(p))) { + return false; + } + if (value === undefined) { - // setting to undefined is equivalent to a delete - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return this.deleteProperty!(target, p); + // setting to undefined is equivalent to a delete. + return this.deleteProperty?.(target, p) ?? false; } - if (typeof p === 'symbol' || Reflect.has(target, p)) { + if (typeof p === 'symbol') { return Reflect.set(target, p, value); - } else if (excluded.has(p) || (included && !included.has(p))) { - return false; } - // TODO: Check if is JSON value - const jsonValue = value as JsonValue; + const existingValue = getCurrentValue(target, p); + if (Reflect.set(target, p, value)) { + reporter([...path, p], target, existingValue, value as JsonValue); - const propertyPath = path + '/' + escapeKey(p); - const cacheEntry = cache.get(propertyPath); - if (cacheEntry) { - const oldValue = cacheEntry.value; - cacheEntry.value = value as JsonValue; - if (cacheEntry.node && oldValue !== value) { - alteredNodes.add(cacheEntry.node); - } - reporter(propertyPath, cacheEntry.parent, cacheEntry.node, oldValue, jsonValue); - } else { - const { node, parent } = findNode(ast, p); - cache.set(propertyPath, { node, parent, value: value as JsonValue }); - if (node && node.value !== value) { - alteredNodes.add(node); - } - reporter(propertyPath, parent, node, node && node.value, value as JsonValue); + return true; } - return true; + return false; }, deleteProperty(target: {}, p: ProxyPropertyKey): boolean { - if (typeof p === 'symbol' || Reflect.has(target, p)) { - return Reflect.deleteProperty(target, p); - } else if (excluded.has(p) || (included && !included.has(p))) { + if (excluded.has(p)) { return false; } - const propertyPath = path + '/' + escapeKey(p); - const cacheEntry = cache.get(propertyPath); - if (cacheEntry) { - const oldValue = cacheEntry.value; - cacheEntry.value = undefined; - if (cacheEntry.node) { - alteredNodes.add(cacheEntry.node); - } - if (cacheEntry.parent.kind === 'keyvalue') { - // Remove the entire key/value pair from this JSON object - reporter(propertyPath, ast, cacheEntry.node, oldValue, undefined); - } else { - reporter(propertyPath, cacheEntry.parent, cacheEntry.node, oldValue, undefined); - } - } else { - const { node, parent } = findNode(ast, p); - if (node) { - cache.set(propertyPath, { node, parent, value: undefined }); - alteredNodes.add(node); - if (parent.kind === 'keyvalue') { - // Remove the entire key/value pair from this JSON object - reporter(propertyPath, ast, node, node && node.value, undefined); - } else { - reporter(propertyPath, parent, node, node && node.value, undefined); - } - } + if (typeof p === 'symbol') { + return Reflect.deleteProperty(target, p); + } + + const existingValue = getCurrentValue(target, p); + if (Reflect.deleteProperty(target, p)) { + reporter([...path, p], target, existingValue, undefined); + + return true; } return true; @@ -277,23 +144,21 @@ function create( return false; }, ownKeys(target: {}): ProxyPropertyKey[] { - let keys: ProxyPropertyKey[]; - if (ast.kind === 'object') { - keys = ast.properties - .map((entry) => entry.key.value) - .filter((p) => !excluded.has(p) && (!included || included.has(p))); - } else { - keys = []; - } - - for (const key of cache.keys()) { - const relativeKey = key.slice(path.length + 1); - if (relativeKey.length > 0 && !relativeKey.includes('/')) { - keys.push(`${unescapeKey(relativeKey)}`); - } - } - - return [...new Set([...keys, ...Reflect.ownKeys(target)])]; + return Reflect.ownKeys(target).filter( + (p) => !excluded.has(p) && (!included || included.has(p)), + ); }, }); } + +function getCurrentValue(target: object, property: string): JsonValue | undefined { + if (Array.isArray(target) && isFinite(+property)) { + return target[+property]; + } + + if (target && property in target) { + return (target as JsonObject)[property]; + } + + return undefined; +} diff --git a/packages/angular_devkit/core/src/workspace/json/writer.ts b/packages/angular_devkit/core/src/workspace/json/writer.ts index a934791b3599..b661a4bb5f94 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer.ts @@ -6,9 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import MagicString from 'magic-string'; +import { applyEdits, modify } from 'jsonc-parser'; import { JsonObject, JsonValue } from '../../json'; -import { JsonAstKeyValue, JsonAstNode } from '../../json/parser_ast'; import { ProjectDefinition, TargetDefinition, WorkspaceDefinition } from '../definitions'; import { WorkspaceHost } from '../host'; import { @@ -17,7 +16,6 @@ import { JsonWorkspaceMetadata, JsonWorkspaceSymbol, } from './metadata'; -import { unescapeKey } from './utilities'; export async function writeJsonWorkspace( workspace: WorkspaceDefinition, @@ -31,14 +29,12 @@ export async function writeJsonWorkspace( if (metadata) { if (!metadata.hasChanges) { - // nothing to do return; } - // update existing JSON workspace const data = updateJsonWorkspace(metadata); - return host.writeFile(path || metadata.filePath, data); + return host.writeFile(path ?? metadata.filePath, data); } else { // serialize directly if (!path) { @@ -95,7 +91,7 @@ function convertJsonProject(project: ProjectDefinition): JsonObject { return obj; } -function isEmpty(obj?: object): boolean { +function isEmpty(obj: object | undefined): boolean { return obj === undefined || Object.keys(obj).length === 0; } @@ -122,243 +118,56 @@ function convertJsonTargetCollection(collection: Iterable<[string, TargetDefinit return targets; } -function findFullStart(node: JsonAstNode | JsonAstKeyValue, raw: string): number { - let i = node.start.offset; - while (i > 0 && /\s/.test(raw[i - 1])) { - --i; - } - - return i; -} - -function findFullEnd(node: JsonAstNode | JsonAstKeyValue, raw: string): number { - let i = node.end.offset; - if (i >= raw.length) { - return raw.length; - } else if (raw[i] === ',') { - return i + 1; - } - - while (i > node.start.offset && /\s/.test(raw[i - 1])) { - --i; - } - - return i; -} - -function findPrecedingComma(node: JsonAstNode | JsonAstKeyValue, raw: string): number { - let i = node.start.offset; - if (node.comments && node.comments.length > 0) { - i = node.comments[0].start.offset; - } - while (i > 0 && /\s/.test(raw[i - 1])) { - --i; - } - - if (raw[i - 1] === ',') { - return i - 1; - } - - return -1; -} - -function stringify( - value: JsonValue | undefined, - multiline: boolean, - depth: number, - indent: string, -): string { - if (value === undefined) { - return ''; - } - - if (multiline) { - const content = JSON.stringify(value, null, indent); - const spacing = '\n' + indent.repeat(depth); - - return content.replace(/\n/g, spacing); - } else { - return JSON.stringify(value); - } -} - function normalizeValue( value: JsonChange['value'] | undefined, type: JsonChange['type'], ): JsonValue | undefined { + if (value === undefined) { + return undefined; + } + switch (type) { case 'project': return convertJsonProject(value as ProjectDefinition); case 'projectcollection': const projects = convertJsonProjectCollection(value as Iterable<[string, ProjectDefinition]>); - return Object.keys(projects).length === 0 ? undefined : projects; + return isEmpty(projects) ? undefined : projects; case 'target': return convertJsonTarget(value as TargetDefinition); case 'targetcollection': const targets = convertJsonTargetCollection(value as Iterable<[string, TargetDefinition]>); - return Object.keys(targets).length === 0 ? undefined : targets; + return isEmpty(targets) ? undefined : targets; default: return value as JsonValue; } } function updateJsonWorkspace(metadata: JsonWorkspaceMetadata): string { - const data = new MagicString(metadata.raw); - const indent = data.getIndentString(); - const removedCommas = new Set(); - const nodeChanges = new Map< - JsonAstNode | JsonAstKeyValue, - (JsonAstNode | JsonAstKeyValue | string)[] - >(); - - for (const { op, path, node, value, type } of metadata.changes) { - // targets/projects are typically large objects so always use multiline - const multiline = node.start.line !== node.end.line || type !== 'json'; - const pathSegments = path.split('/'); - const depth = pathSegments.length - 1; // TODO: more complete analysis - const propertyOrIndex = unescapeKey(pathSegments[depth]); - const jsonValue = normalizeValue(value, type); - if (op === 'add' && jsonValue === undefined) { - continue; - } + let { raw: content } = metadata; + const { changes, hasLegacyTargetsName } = metadata; - // Track changes to the order/size of any modified objects/arrays - let elements = nodeChanges.get(node); - if (!elements) { - if (node.kind === 'array') { - elements = node.elements.slice(); - nodeChanges.set(node, elements); - } else if (node.kind === 'object') { - elements = node.properties.slice(); - nodeChanges.set(node, elements); - } else { - // keyvalue - elements = []; - } + for (const { jsonPath, value, type } of changes.values()) { + // Determine which key to use if (architect or targets) + if (hasLegacyTargetsName && jsonPath[2] === 'targets') { + jsonPath[2] = 'architect'; } - switch (op) { - case 'add': - let contentPrefix = ''; - if (node.kind === 'object') { - contentPrefix = `"${propertyOrIndex}": `; - } - - const spacing = multiline ? '\n' + indent.repeat(depth) : ' '; - const content = spacing + contentPrefix + stringify(jsonValue, multiline, depth, indent); - - // Additions are handled after analyzing all operations - // This is mainly to support array operations which can occur at arbitrary indices - if (node.kind === 'object') { - // Object property additions are always added at the end for simplicity - elements.push(content); - } else { - // Add place holders if adding an index past the length - // An empty string is an impossible real value - for (let i = elements.length; i < +propertyOrIndex; ++i) { - elements[i] = ''; - } - if (elements[+propertyOrIndex] === '') { - elements[+propertyOrIndex] = content; - } else { - elements.splice(+propertyOrIndex, 0, content); - } - } - break; - case 'remove': - let removalIndex = -1; - if (node.kind === 'object') { - removalIndex = elements.findIndex((e) => { - return typeof e != 'string' && e.kind === 'keyvalue' && e.key.value === propertyOrIndex; - }); - } else if (node.kind === 'array') { - removalIndex = +propertyOrIndex; - } - if (removalIndex === -1) { - continue; - } - - const nodeToRemove = elements[removalIndex]; - if (typeof nodeToRemove === 'string') { - // synthetic - elements.splice(removalIndex, 1); - continue; - } - - if (elements.length - 1 === removalIndex) { - // If the element is a terminal element remove the otherwise trailing comma - const commaIndex = findPrecedingComma(nodeToRemove, data.original); - if (commaIndex !== -1) { - data.remove(commaIndex, commaIndex + 1); - removedCommas.add(commaIndex); - } - } - data.remove( - findFullStart(nodeToRemove, data.original), - findFullEnd(nodeToRemove, data.original), - ); - elements.splice(removalIndex, 1); - break; - case 'replace': - let nodeToReplace; - if (node.kind === 'keyvalue') { - nodeToReplace = node.value; - } else if (node.kind === 'array') { - nodeToReplace = elements[+propertyOrIndex]; - if (typeof nodeToReplace === 'string') { - // Was already modified. This is already handled. - continue; - } - } else { - continue; - } - - nodeChanges.delete(nodeToReplace); - - data.overwrite( - nodeToReplace.start.offset, - nodeToReplace.end.offset, - stringify(jsonValue, multiline, depth, indent), - ); - break; - } + // modify + const newJsonPath = jsonPath.map((v) => (isFinite(+v) ? +v : v)); + // TODO: `modify` re-parses the content every time. + // See: https://github.com/microsoft/node-jsonc-parser/blob/35d94cd71bd48f9784453b2439262c938e21d49b/src/impl/edit.ts#L18 + // Ideally this should accept a string or an AST to avoid the potentially expensive repeat parsing operation. + const edits = modify(content, newJsonPath, normalizeValue(value, type), { + formattingOptions: { + insertSpaces: true, + tabSize: 2, + }, + }); + + content = applyEdits(content, edits); } - for (const [node, elements] of nodeChanges.entries()) { - let parentPoint = - 1 + data.original.indexOf(node.kind === 'array' ? '[' : '{', node.start.offset); - - // Short-circuit for simple case - if (elements.length === 1 && typeof elements[0] === 'string') { - data.appendRight(parentPoint, elements[0]); - continue; - } - - // Combine adjecent element additions to minimize/simplify insertions - const optimizedElements: typeof elements = []; - for (let i = 0; i < elements.length; ++i) { - const element = elements[i]; - if (typeof element === 'string' && i > 0 && typeof elements[i - 1] === 'string') { - optimizedElements[optimizedElements.length - 1] += ',' + element; - } else { - optimizedElements.push(element); - } - } - - let prefixComma = false; - for (const element of optimizedElements) { - if (typeof element === 'string') { - data.appendRight(parentPoint, (prefixComma ? ',' : '') + element); - } else { - parentPoint = findFullEnd(element, data.original); - prefixComma = data.original[parentPoint - 1] !== ',' || removedCommas.has(parentPoint - 1); - } - } - } - - const result = data.toString(); - - return result; + return content; } From f74a79f7c84ab1b86bcdb527066cec07aaabc27c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 14 Apr 2022 09:10:26 +0200 Subject: [PATCH 0302/1388] refactor(@angular-devkit/core): remove no longer needed `fast-json-stable-stringify` dependency This dependency is no longer needed. --- package.json | 1 - packages/angular_devkit/core/BUILD.bazel | 1 - packages/angular_devkit/core/package.json | 1 - 3 files changed, 3 deletions(-) diff --git a/package.json b/package.json index e5e6926332ba..f024d4f4defa 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,6 @@ "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", "express": "4.17.3", - "fast-json-stable-stringify": "2.1.0", "font-awesome": "^4.7.0", "glob": "8.0.1", "http-proxy": "^1.18.1", diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 18435316d38e..5a91e47c202d 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -38,7 +38,6 @@ ts_library( "@npm//@types/node", "@npm//ajv", "@npm//ajv-formats", - "@npm//fast-json-stable-stringify", "@npm//jsonc-parser", "@npm//rxjs", "@npm//source-map", # @external diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index c69fc55f17da..111cfe50362f 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -10,7 +10,6 @@ "dependencies": { "ajv-formats": "2.1.1", "ajv": "8.11.0", - "fast-json-stable-stringify": "2.1.0", "jsonc-parser": "3.0.0", "rxjs": "6.6.7", "source-map": "0.7.3" From 41982aa286aa414661ca82bb3d282706cb0452df Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 14 Apr 2022 20:50:37 +0000 Subject: [PATCH 0303/1388] build: update all non-major dependencies --- .github/workflows/dev-infra.yml | 2 +- package.json | 6 ++-- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +-- yarn.lock | 28 ++++++++++++------- 5 files changed, 25 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8495f569f054..8db6fe406e3a 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,7 +12,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 + - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 - uses: angular/dev-infra/github-actions/commit-message-based-labels@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index f024d4f4defa..1dabd5895b7b 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "@babel/runtime": "7.17.9", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", - "@bazel/buildifier": "5.0.1", + "@bazel/buildifier": "5.1.0", "@bazel/concatjs": "5.4.0", "@bazel/jasmine": "5.4.0", "@discoveryjs/json-ext": "0.5.7", @@ -146,7 +146,7 @@ "font-awesome": "^4.7.0", "glob": "8.0.1", "http-proxy": "^1.18.1", - "https-proxy-agent": "5.0.0", + "https-proxy-agent": "5.0.1", "husky": "7.0.4", "ini": "3.0.0", "inquirer": "8.2.2", @@ -194,7 +194,7 @@ "sass": "1.50.0", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", - "semver": "7.3.6", + "semver": "7.3.7", "shelljs": "^0.8.5", "source-map": "0.7.3", "source-map-loader": "3.0.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 2c4751a22da5..fc23cdf57559 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -38,7 +38,7 @@ "ora": "5.4.1", "pacote": "13.1.1", "resolve": "1.22.0", - "semver": "7.3.6", + "semver": "7.3.7", "symbol-observable": "4.0.0", "uuid": "8.3.2", "yargs": "17.4.1" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index a7c0b467ddc7..2d04557dd3a9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "css-loader": "6.7.1", "esbuild-wasm": "0.14.36", "glob": "8.0.1", - "https-proxy-agent": "5.0.0", + "https-proxy-agent": "5.0.1", "inquirer": "8.2.2", "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", @@ -54,7 +54,7 @@ "rxjs": "6.6.7", "sass": "1.50.0", "sass-loader": "12.6.0", - "semver": "7.3.6", + "semver": "7.3.7", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "stylus": "0.57.0", diff --git a/yarn.lock b/yarn.lock index f99a126dac09..6e182c267673 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1262,6 +1262,11 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== +"@bazel/buildifier@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" + integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== + "@bazel/concatjs@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.0.tgz#04e752a6ea3e684f00879e6683657c4ede72df6e" @@ -5965,6 +5970,14 @@ https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: agent-base "6" debug "4" +https-proxy-agent@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -7088,11 +7101,6 @@ lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== -lru-cache@^7.4.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.0.tgz#649aaeb294a56297b5cbc5d70f198dcc5ebe5747" - integrity sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -9421,12 +9429,12 @@ semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: dependencies: lru-cache "^6.0.0" -semver@7.3.6: - version "7.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.6.tgz#5d73886fb9c0c6602e79440b97165c29581cbb2b" - integrity sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w== +semver@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: - lru-cache "^7.4.0" + lru-cache "^6.0.0" semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" From c24be811da43fa124f91b85d3566e26f8a14eea0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 15 Apr 2022 05:27:20 +0000 Subject: [PATCH 0304/1388] build: update actions/checkout action to v3.0.1 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 99aad7e94eb4..51bd4ca1c8b9 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,7 +23,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@a12a3943b4bdde767164f792f33f40b04645d846 # tag=v3.0.0 + uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 with: persist-credentials: false From 1a160dac00f34aab089053281c640dba3efd597f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 15 Apr 2022 15:03:06 -0400 Subject: [PATCH 0305/1388] fix(@angular-devkit/build-angular): ensure karma sourcemap support on Windows The `glob`-based check when adding the sourcemap support packages to the karma setup was incorrectly skipping the files due to Windows pathing issues. The `glob`-based check, however, is unneeded due to the already present `require.resolve` checks for the sourcemap support packages which will throw if the packages are not present. --- .circleci/config.yml | 2 +- .../src/webpack/plugins/karma/karma.ts | 39 ++++--------------- 2 files changed, 9 insertions(+), 32 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9bcb7b69abcf..1934b94e3864 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -318,7 +318,7 @@ jobs: name: Execute E2E Tests command: | if (Test-Path env:CIRCLE_PULL_REQUEST) { - node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX + node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX } else { node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX } diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts index 8feb3c4415ec..ef429497701a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts @@ -10,7 +10,6 @@ // TODO: cleanup this file, it's copied as is from Angular CLI. import * as http from 'http'; import * as path from 'path'; -import * as glob from 'glob'; import webpack from 'webpack'; import webpackDevMiddleware from 'webpack-dev-middleware'; @@ -28,29 +27,6 @@ let webpackMiddleware: any; let successCb: () => void; let failureCb: () => void; -// Add files to the Karma files array. -function addKarmaFiles(files: any[], newFiles: any[], prepend = false) { - const defaults = { - included: true, - served: true, - watched: true, - }; - - const processedFiles = newFiles - // Remove globs that do not match any files, otherwise Karma will show a warning for these. - .filter((file) => glob.sync(file.pattern, { nodir: true }).length != 0) - // Fill in pattern properties with defaults. - .map((file) => ({ ...defaults, ...file })); - - // It's important to not replace the array, because - // karma already has a reference to the existing array. - if (prepend) { - files.unshift(...processedFiles); - } else { - files.push(...processedFiles); - } -} - const init: any = (config: any, emitter: any) => { if (!config.buildWebpack) { throw new Error( @@ -73,13 +49,14 @@ const init: any = (config: any, emitter: any) => { const smsPath = path.dirname(require.resolve('source-map-support')); const ksmsPath = path.dirname(require.resolve('karma-source-map-support')); - addKarmaFiles( - config.files, - [ - { pattern: path.join(smsPath, 'browser-source-map-support.js'), watched: false }, - { pattern: path.join(ksmsPath, 'client.js'), watched: false }, - ], - true, + config.files.unshift( + { + pattern: path.join(smsPath, 'browser-source-map-support.js'), + included: true, + served: true, + watched: false, + }, + { pattern: path.join(ksmsPath, 'client.js'), included: true, served: true, watched: false }, ); } From bbf88abac0692ee9571450fde2a247790c3f155c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 17 Apr 2022 02:29:08 +0000 Subject: [PATCH 0306/1388] build: update angular to afacf03 --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 401 ++++++------------ 6 files changed, 139 insertions(+), 302 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8db6fe406e3a..ea3a4444f796 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@b6a8e9e727b9829195f391933db262c7bb95538d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 9130474703f6..c00e1353c25e 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 + - uses: angular/dev-infra/github-actions/feature-request@b6a8e9e727b9829195f391933db262c7bb95538d with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6c1aac4e6ec8..388865df842e 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@a18ea6f7729b23e24ed3273d662fd0c8d42b3545 + - uses: angular/dev-infra/github-actions/lock-closed@b6a8e9e727b9829195f391933db262c7bb95538d with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 1dabd5895b7b..6474fe6c3204 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.13", "@angular/compiler-cli": "14.0.0-next.13", "@angular/core": "14.0.0-next.13", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6890e7f37f75e6e4e31589c193f39b3ef18224dc", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#a1b5918d8b81674e856135a41c8158f92ab9f7d0", "@angular/forms": "14.0.0-next.13", "@angular/localize": "14.0.0-next.13", "@angular/material": "14.0.0-next.10", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 32e2120f420b..c86bb5a7d64c 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b346fdaf652075d051969110d6be9bdf37c5055c", - "@angular/cdk": "github:angular/cdk-builds#4e1b2da247b5181fb8b66d5eaa61b3570fa9d7fe", - "@angular/common": "github:angular/common-builds#03282e8299b394877d300b7bf11bae838be07a3d", - "@angular/compiler": "github:angular/compiler-builds#3f129723f4dd1f8c80a2e5c288569721b5736a6d", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#9f7a775b1cd6ee61e4c3e805f8677890028b2d07", - "@angular/core": "github:angular/core-builds#d5fe5b38e42ec311b0253b5ed6f6edda208b145b", - "@angular/forms": "github:angular/forms-builds#4961363f3af90f779d45d2ed0d6d9937f1740cad", - "@angular/language-service": "github:angular/language-service-builds#9500170087c9dff780e0e5450d4f78f59e84ed77", - "@angular/localize": "github:angular/localize-builds#6a05bcb948045b1e6e20532935907875c5bb51bc", - "@angular/material": "github:angular/material-builds#be3e15b0090ecfc3f4af358cac0d11babece5eac", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c485452e2be17c20c28c58f1b0c8e1ad6ee33fc5", - "@angular/platform-browser": "github:angular/platform-browser-builds#28ac77036d26155d0a501d3dd08d9710bb933391", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e34c883f2d32aa7e8f7e58380c4b8fac5ce8548e", - "@angular/platform-server": "github:angular/platform-server-builds#90d9185e4cd063d88903ed9280fa0747541f9164", - "@angular/router": "github:angular/router-builds#6aabcab93b1ef5f15c45ccef0977499e104df2fa", - "@angular/service-worker": "github:angular/service-worker-builds#858ae48228c677fda8c8421cfb3afa71d9c06d0d" + "@angular/animations": "github:angular/animations-builds#afacf031c4766dc16e699fe596ba06220d31d0a5", + "@angular/cdk": "github:angular/cdk-builds#dfd8d799a4d9083db343179d59b0483eed8b9d87", + "@angular/common": "github:angular/common-builds#17319978d9557fdccd3073ead3964be4e143188c", + "@angular/compiler": "github:angular/compiler-builds#53736ee92f5d6462adc8c6e3d5147a92d551c044", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f4ff0c531d555f1dce24ecb703159cc4690bccec", + "@angular/core": "github:angular/core-builds#cec8965aca9e6aabc804f13929028f4a7d1d318c", + "@angular/forms": "github:angular/forms-builds#e2096cadb2bffd1120bade80b2e48c5aed5b1fff", + "@angular/language-service": "github:angular/language-service-builds#9217ea3bbef785a242d653641d231fdfcdb78687", + "@angular/localize": "github:angular/localize-builds#759708eb8e3f8a1e71a64c43f6825f01b9e9279b", + "@angular/material": "github:angular/material-builds#ce0c538e974e57e38ca619ef5285fe97a7d44711", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#38e742c57599a1d9250d58226d9295bb671974fd", + "@angular/platform-browser": "github:angular/platform-browser-builds#70d53dca7d8129769aecec352e7e19211635498c", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a417ef5b0e8e5522195760acb71a2d256de620d5", + "@angular/platform-server": "github:angular/platform-server-builds#b992f91652065bd83497f4233a8f484cd83bf74c", + "@angular/router": "github:angular/router-builds#5d5280f52680dd04efc76fb16dfdde5c623e9d66", + "@angular/service-worker": "github:angular/service-worker-builds#fa75144bcde4bf53c372a4f1b0e8a939402a4314" } } diff --git a/yarn.lock b/yarn.lock index 6e182c267673..8cf9fe9c6e08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,34 +9,34 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1400.0-next.8": - version "0.1400.0-next.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.8.tgz#12035f1f852adf149a1a3b95e01b9a1c7ec695d0" - integrity sha512-OWJ+8eVIWc4pGjcul3yz4lbhYtG0mKzyCTV9XwMdA/0PVfbWVVLdfRO9oou+HhKmb8KAXpWl3iTzgli8tcQFjw== +"@angular-devkit/architect@0.1400.0-next.9": + version "0.1400.0-next.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.9.tgz#97b68b08c4babdfd0467366f5fe761c68198bb44" + integrity sha512-u5rSvPyIU1XolXoyaMcwVFgj+8SvAYwuA0rWttDUi58KQJa5bfga7yVNPUT9thMVMIigEkds9UG2TEf1FWBANA== dependencies: - "@angular-devkit/core" "14.0.0-next.8" + "@angular-devkit/core" "14.0.0-next.9" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.8": - version "14.0.0-next.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.8.tgz#cc83ae8744efc3e2f1699a5eb7969b757072b7d0" - integrity sha512-rr00m+GsjqmqGxS9HrMUi/amzFW8ke1gUef3ETzjWosjTfmc9vosdsNK8bO+Bi0HIDZwBUoy+mCBR4PvE783Fg== +"@angular-devkit/build-angular@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.9.tgz#d6b274bf635047ec38c863c8af1dfb3c432106ed" + integrity sha512-QZtXGv0fq/GfvZaPFOlE+JM4twI50rpYOrm1Z3+pTZN57/ALrdMZc2z0I2i1YmiMH/v8EoiM1uOmLN4HnDxcPw== dependencies: "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.8" - "@angular-devkit/build-webpack" "0.1400.0-next.8" - "@angular-devkit/core" "14.0.0-next.8" - "@babel/core" "7.17.8" - "@babel/generator" "7.17.7" + "@angular-devkit/architect" "0.1400.0-next.9" + "@angular-devkit/build-webpack" "0.1400.0-next.9" + "@angular-devkit/core" "14.0.0-next.9" + "@babel/core" "7.17.9" + "@babel/generator" "7.17.9" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" "@babel/plugin-transform-runtime" "7.17.0" "@babel/preset-env" "7.16.11" - "@babel/runtime" "7.17.8" + "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-next.8" + "@ngtools/webpack" "14.0.0-next.9" ansi-colors "4.1.1" babel-loader "8.2.4" babel-plugin-istanbul "6.1.1" @@ -45,7 +45,7 @@ copy-webpack-plugin "10.2.4" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.32" + esbuild-wasm "0.14.36" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.2" @@ -68,9 +68,9 @@ regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.49.11" + sass "1.50.0" sass-loader "12.6.0" - semver "7.3.5" + semver "7.3.6" source-map-loader "3.0.1" source-map-support "0.5.21" stylus "0.57.0" @@ -79,26 +79,26 @@ text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.71.0" + webpack "5.72.0" webpack-dev-middleware "5.3.1" webpack-dev-server "4.8.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.32" + esbuild "0.14.36" -"@angular-devkit/build-webpack@0.1400.0-next.8": - version "0.1400.0-next.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.8.tgz#a02b5d0084881fa299299f091ba3d4658c81ce7c" - integrity sha512-bZVv0AZvzRk25iGYuduRI9ROgUUpxpfoRoj6B0W2Mz8WYGXIKplwXSQU6xgOWWBgVYL4ujchwqnhtwwx8yeq7w== +"@angular-devkit/build-webpack@0.1400.0-next.9": + version "0.1400.0-next.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.9.tgz#5a65347a00aa9dd4d7b60ac6a3855ef5e0de9f1e" + integrity sha512-O4xzexGG5XiMPBBxYqL602k7TDdOlfVx2mgSRsm6M9Yi7VBzUhErrFOmv9roA8lj5c+vvz8iNpdykiTFgA2+wg== dependencies: - "@angular-devkit/architect" "0.1400.0-next.8" + "@angular-devkit/architect" "0.1400.0-next.9" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.8": - version "14.0.0-next.8" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.8.tgz#aae911c4d7786c03da5c7c7b0b2fbc83f2328908" - integrity sha512-ccOADx0inrklJy+vR0laMIVvl51P54+JFmKT6/ufefgIOFQbXpm8uws8AH9SaSsV+WdbBlQgg58oNDxrwURptg== +"@angular-devkit/core@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.9.tgz#64e14c132babe43368b50ea0711eba2c950ced5f" + integrity sha512-bw1jmhCMGQK1S/XZ8SB2LGGkGn1j3v9TAkHs3EwM6bBYKSgLPKj9rEnRSz7GArZ+uLU7KVXYWJWxmuWfH0e/LQ== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -175,22 +175,22 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6890e7f37f75e6e4e31589c193f39b3ef18224dc": - version "0.0.0-a18ea6f7729b23e24ed3273d662fd0c8d42b3545" - uid "6890e7f37f75e6e4e31589c193f39b3ef18224dc" - resolved "https://github.com/angular/dev-infra-private-builds.git#6890e7f37f75e6e4e31589c193f39b3ef18224dc" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#a1b5918d8b81674e856135a41c8158f92ab9f7d0": + version "0.0.0-b6a8e9e727b9829195f391933db262c7bb95538d" + uid a1b5918d8b81674e856135a41c8158f92ab9f7d0 + resolved "https://github.com/angular/dev-infra-private-builds.git#a1b5918d8b81674e856135a41c8158f92ab9f7d0" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.8" + "@angular-devkit/build-angular" "14.0.0-next.9" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" - "@bazel/buildifier" "5.0.1" + "@bazel/buildifier" "5.1.0" "@bazel/concatjs" "5.4.0" "@bazel/esbuild" "5.4.0" "@bazel/protractor" "5.4.0" "@bazel/runfiles" "5.4.0" "@bazel/terser" "5.4.0" "@bazel/typescript" "5.4.0" - "@microsoft/api-extractor" "7.21.3" + "@microsoft/api-extractor" "7.22.2" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -201,7 +201,7 @@ "@types/yargs" "^17.0.0" browser-sync "^2.27.7" chalk "^4.1.0" - clang-format "1.6.0" + clang-format "1.7.0" node-fetch "^2.6.1" prettier "2.6.2" protractor "^7.0.0" @@ -291,61 +291,61 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@7.17.8", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" - integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== +"@babel/core@7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" + integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" + "@babel/generator" "^7.17.9" "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.8" - "@babel/parser" "^7.17.8" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.9" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" + "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" - integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.9" + "@babel/generator" "^7.17.7" "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.9" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" + "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.1" + json5 "^2.1.2" semver "^6.3.0" -"@babel/generator@7.17.7", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== +"@babel/generator@7.17.9", "@babel/generator@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" + integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== dependencies: "@babel/types" "^7.17.0" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.9", "@babel/generator@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" - integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== +"@babel/generator@^7.17.3", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== dependencies: "@babel/types" "^7.17.0" jsesc "^2.5.1" @@ -1189,13 +1189,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.8", "@babel/runtime@^7.8.4": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" @@ -1203,6 +1196,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.8.4": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" + integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1257,11 +1257,6 @@ resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" integrity sha512-lxiQzVqSGDG0PIDQGJdVDjp7T+50p5NnM4EnRJa76mkZp6u5ul19GJNKhPKi81TZQALZEZDxAgxVqQKkWTUOxA== -"@bazel/buildifier@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" - integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== - "@bazel/buildifier@5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" @@ -1489,26 +1484,26 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.16.2": - version "7.16.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.16.2.tgz#58504311bba3e0f8375b49c5c8b92ffc7e576845" - integrity sha512-hnqKsG89iIiQlLDXasxFw8QR0LwakPVXejNVmlGpFL008R+IExgc1f+tBrUAm1in6Oq76t7Ea0TFhER56Qfhaw== +"@microsoft/api-extractor-model@7.17.1": + version "7.17.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.17.1.tgz#2a6b7d8eec510ba1c7713c682d2a0c730074b29c" + integrity sha512-DCDtD8TdEpNk2lW4JvXgwwpxKy70P0JLad55iahwO8A+C63KYsrHIpAzo0FUauh5pwJ0v5QVNIJ+OBgKGteemg== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.2" + "@rushstack/node-core-library" "3.45.3" -"@microsoft/api-extractor@7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.21.3.tgz#ae47c7c7dfe96263439257b6f2d8f3184a2144d6" - integrity sha512-ZQwuu5QbJq/TMDGr8NGmt4p/kcceaQAhQYQ4DszwNKDaCi/IhGVtO2zRcjSt8DEI2XD40s/CAOPYyF2C+Y99Ow== +"@microsoft/api-extractor@7.22.2": + version "7.22.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.22.2.tgz#8957b5ec81ff8a76b9a8a0e6a1bac70eb9a1a974" + integrity sha512-G7vXz6UHz+qoaUGPf2k5Md4bSpHii9nFys3sIe3bmFUbmhAe+HfSB/dCn1PsLhW7tZfEXwMHTj7fbL5vcZkrEw== dependencies: - "@microsoft/api-extractor-model" "7.16.2" + "@microsoft/api-extractor-model" "7.17.1" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.2" - "@rushstack/rig-package" "0.3.9" - "@rushstack/ts-command-line" "4.10.8" + "@rushstack/node-core-library" "3.45.3" + "@rushstack/rig-package" "0.3.10" + "@rushstack/ts-command-line" "4.10.9" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" @@ -1531,10 +1526,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-next.8": - version "14.0.0-next.8" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.8.tgz#1f1e860a286e39c6e59ec1ed3061679d00085ff9" - integrity sha512-ux3IHs9ZZrlSUvPBavF6M+ufgLhmTLop5XqLWYado8QEp7mWT1Hxyyk18GQYG1p28Je3saJMv7vAANawm88Cpw== +"@ngtools/webpack@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.9.tgz#3806bdf6ff0944e289cdcf74995cd592fa3e086b" + integrity sha512-T9J2RUZOzdLm1j3sLu/17OkPwTloCN9d2hxCbDyWLkjwvFz4DVdEfHtotLQ5KPqhv91nAoEmoCqf96CwKds2qA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1714,10 +1709,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.2": - version "3.45.2" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.2.tgz#68fc89c5bea4007359fa4ff203bf3eca27037f40" - integrity sha512-MJKdB6mxOoIkks3htGVCo7aiTzllm2I6Xua+KbTSb0cp7rBp8gTCOF/4d8R4HFMwpRdEdwzKgqMM6k9rAK73iw== +"@rushstack/node-core-library@3.45.3": + version "3.45.3" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.3.tgz#8db2befbbf23969e08d2bc69d5d91ba812c01640" + integrity sha512-Rn0mxqC3MPb+YbvaeFcRWfcYHLwyZ99/ffYA8chpq5OpqoY+Mr1ycTbMvzl5AxWf1pYmi/2+Eo3iTOsQdYR8xw== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1729,18 +1724,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.9.tgz#5e10ada5a8348f886b6ebe3eed436492d6ccf70c" - integrity sha512-z3Oxpfb4n9mGXwseX+ifpkmUf9B8Fy8oieVwg8eFgpCbzllkgOwEiwLKEnRWVQ8owFcd46NCKz+7ICH35CRsAw== +"@rushstack/rig-package@0.3.10": + version "0.3.10" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.10.tgz#cf8ba0935c6acc5bb62ef710d6eaec5895bbb3ed" + integrity sha512-4Z2HhXM4YBWOi4ZYFQNK6Yxz641v+cvc8NKiaNZh+RIdNb3D4Rfpy3XUkggbCozpfDriBfL1+KaXlJtfJfAIXw== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.10.8": - version "4.10.8" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.8.tgz#f4bec690e7f4838e6f91028d8a557e67c3a75f68" - integrity sha512-G7CQYY/m3aZU5fVxbebv35yDeua7sSumrDAB2pJp0d60ZEsxGkUQW8771CeMcGWwSKqT9PxPzKpmIakiWv54sA== +"@rushstack/ts-command-line@4.10.9": + version "4.10.9" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.9.tgz#a59958dbbe96ad18af9b93563a517c70014c4230" + integrity sha512-TE3eZgHNVHOY3p8lp38FoNEJUr0+swPb24sCcYuwlC+MHgMGXyJNM+p7l3TKSBRiY01XShoL2k601oGwL00KlA== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -2933,12 +2928,12 @@ async-each-series@0.1.1: resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" integrity sha1-dhfBkXQB/Yykooqtzj266Yr+tDI= -async@1.5.2, async@^1.5.2: +async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@3.2.3: +async@3.2.3, async@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== @@ -3507,12 +3502,12 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -clang-format@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.6.0.tgz#48fac4387712aeeae0f47b5d72f639f3fd95f4b6" - integrity sha512-W3/L7fWkA8DoLkz9UGjrRnNi+J5a5TuS2HDLqk6WsicpOzb66MBu4eY/EcXhicHriVnAXWQVyk5/VeHWY6w4ow== +clang-format@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.7.0.tgz#c06c63ec1ae2a2590d8eac2562daeb877ca30d44" + integrity sha512-BNuK+rXAK/Fk0rOQ1DW6bpSQUAZz6tpbZHTQn6m4PsgEkE1SNr6AQ/hhFK/b4KJrl4zjcl68molP+rEaKSZRAQ== dependencies: - async "^1.5.2" + async "^3.2.3" glob "^7.0.0" resolve "^1.1.6" @@ -4488,11 +4483,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.32.tgz#cf23a9c6052bb48901f5541c7e5a4168495fca36" - integrity sha512-q1qjB2UcoWehR9Yp9dO2RdJUeLLrXAYsbOU4tkYa+GmJzxTwuvOrMdvaemsXYqb7F4STVTca9KpfqGicEChtUg== - esbuild-android-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz#46bc4327dd0809937912346244eaffdb9bfc980d" @@ -4503,11 +4493,6 @@ esbuild-android-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== -esbuild-android-arm64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.32.tgz#5840407c8d8b577eea847eecce8df9610c0f58fd" - integrity sha512-bs1uu+RuM15f8yjFc0FhPDE/6NID4fKl7beDVsGCme6Q8ld2IzRXmp5QaHurlcH93PFyQnUgVvdahIWgtK2QZw== - esbuild-android-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz#a3f7e1ad84b8a7dcb39b5e132768b56ee7133656" @@ -4518,11 +4503,6 @@ esbuild-android-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== -esbuild-darwin-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.32.tgz#c6defc12a60f27408f1a30bb233c9d0e66ea2a55" - integrity sha512-6MekflAld28wYtzanwZTxQlxMPeYw/yv1ToFG2hpo3LGxOIE2mBD5IJaMCcyy1//EYvGnGToO3p6XKdbS8E1QQ== - esbuild-darwin-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz#a0e4ab7a0cddf76761f1fb5d6bf552a376beb16e" @@ -4533,11 +4513,6 @@ esbuild-darwin-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== -esbuild-darwin-arm64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.32.tgz#fc878496516a90fc4982ee7cf8f2d2f484dbd64a" - integrity sha512-BHYIjiPDYQTD+4zwqdqRo+I2bbg3fn9mah/gZm4SCCy+7uwTTYOYobIunHT7wVCgxnFCr50PJUdaMrEoCImRbw== - esbuild-darwin-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz#54c35461f82f83a7f5169d9a6a54201798977b07" @@ -4548,11 +4523,6 @@ esbuild-darwin-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== -esbuild-freebsd-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.32.tgz#c136e8e8bab8e7ea95a7fbe4b689d2c940bf48f2" - integrity sha512-6BOBhtfAf9AlfjL1AvtfVOxwY82tHPfYrA0lskJpFjfiEMGTLU6e0vdOwb4+4x++gGz49azuGK0woYqdfL03uw== - esbuild-freebsd-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz#aebb50248f5874d04ffeab2db8ee1ed6037e2654" @@ -4563,11 +4533,6 @@ esbuild-freebsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== -esbuild-freebsd-arm64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.32.tgz#46668a10e5a51665ed800b10a02b757bf6bc6fbf" - integrity sha512-zIRR4gKQW56p/xLM8TlpxVBNiX0w3VoR9ZxfH4nrfJ7QiL0SYHRy8YPL5C7zMWRjSze2WxQRHfS9bHKdVrVXBw== - esbuild-freebsd-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz#09bef288e29f18b38b0c70a9827b6ee718e36c7f" @@ -4578,11 +4543,6 @@ esbuild-freebsd-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== -esbuild-linux-32@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.32.tgz#ac51a64f26f638618ff62a1a966babe065bc54cc" - integrity sha512-kn0AkGtPvzA6xiv93/mavvZ7DVinu/ewh2F2S0/8mE8/PXi3D4+svZ6V3beV5DIH7vcHVuGhoooWav8HPF04tg== - esbuild-linux-32@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz#67790061758e008e919e65bbc34549f55dadaca7" @@ -4593,11 +4553,6 @@ esbuild-linux-32@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== -esbuild-linux-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.32.tgz#a3dfeb772f339fb34f0ff61df753a70a01be243a" - integrity sha512-Ie+PMvrPj/HCOmSc0QubKttDxP2iBtPzDu+b+V3HGDGwkGmVpDkyXx1NXp5LjkIphIay2QekMwy1dSw3KDqCew== - esbuild-linux-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz#b9b19d4ac07e37495dd2508ec843418aa71c98d6" @@ -4608,11 +4563,6 @@ esbuild-linux-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== -esbuild-linux-arm64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.32.tgz#df2fead5c0d9228eede866359f35b3e0eef4e192" - integrity sha512-ykoqKaxX95nB+lk2K/+qxr0ke+BxkeVi0yKOnymCR5Ive7IZDHa4BJX53NEGSBKLfWPwKE6SXTz8qcEewSntoA== - esbuild-linux-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz#fd84b11a6ccfe9e83e00d0c45890e9fb3a7248c1" @@ -4623,11 +4573,6 @@ esbuild-linux-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== -esbuild-linux-arm@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.32.tgz#64633aa6491e91d935324cf041795ebce18c071b" - integrity sha512-R/Bvn/YQNDyvfN0SERh/I7hKPqN+nSSruQdVeiYEJ+jc3fUi73jXYAscpTQgIBeER/yXnEsgJGU/UQ9+sscr7A== - esbuild-linux-arm@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz#c89d4714b05265a315a97c8933508cc73950e683" @@ -4638,11 +4583,6 @@ esbuild-linux-arm@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== -esbuild-linux-mips64le@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.32.tgz#f0a7a083e8fdfb6e4edffb93ec27de2c5d732f01" - integrity sha512-IilnlBexpHpt/5po0cle/L/S6CYnwaq23UuAqWzxp+opHLOCNnyANpC1jOoP551aRx4JuZ7z3xZZ7bYQZB147w== - esbuild-linux-mips64le@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz#d60752c3fb1260dd0737532af2de2a9521656456" @@ -4653,11 +4593,6 @@ esbuild-linux-mips64le@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== -esbuild-linux-ppc64le@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.32.tgz#dc22b766dd4ddd20c28febe36e8b92b9c11faa63" - integrity sha512-TR6l5nWZbfq7jSY+1vsiQjT4m67NWplNhbX6GBieZq6DBt0nTx1XgTZAdKROF7jTuaK7YrCYlPXtfO3w86Mysw== - esbuild-linux-ppc64le@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz#f4c6229269956564f0c6f9825f5e717c2cfc22b3" @@ -4668,11 +4603,6 @@ esbuild-linux-ppc64le@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== -esbuild-linux-riscv64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.32.tgz#0ae09eee847de5993cbe1529591d5ca17c7303c5" - integrity sha512-aSOcUzTeIAslfri8e+bMpyzQuxhcIiNhWyuCGGXum2PtxwYiUqR8/UCMYfwYtYkhr1yABOFOfs83mm9KBy5qCQ== - esbuild-linux-riscv64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz#549bd18a9eba3135b67f7b742730b5343a1be35d" @@ -4683,11 +4613,6 @@ esbuild-linux-riscv64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== -esbuild-linux-s390x@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.32.tgz#1297f9f130cd93495e7ce25c63a79dab223b89de" - integrity sha512-dNlip+EvexxKjRZitFCWCd7DVk64c7R5ySr8aFEMHCb/RriNiyDxYJGzYWm4EMJsMRMupMUHlMY64BAa3Op9FA== - esbuild-linux-s390x@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz#2a6b577c437f94c2b37623c755ff5215a05c12bc" @@ -4698,11 +4623,6 @@ esbuild-linux-s390x@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== -esbuild-netbsd-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.32.tgz#902bf5ba7c54db9c7274f019c4d006b1b963fb7d" - integrity sha512-Pa3QByYqxzlBFQQQhjYBPg3WUfSjwibqzh1hC6mPDRUHnCeUcrLoBuIiG4xqOYEpQM9/kDowIBsrGIQEVWWdQA== - esbuild-netbsd-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz#7f0b73229157975eb35597207723df52ba21722a" @@ -4713,11 +4633,6 @@ esbuild-netbsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== -esbuild-openbsd-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.32.tgz#0fbfbdf555deeb05a8915daf0b71168d09773437" - integrity sha512-uWKKqpCjkMY8TCIobFvaSETonQY3OrmgnoTCC3tF+lvMoneYjppB6akx7L5Xv0kP+1tnSbrIof1ca8PfqGUyjw== - esbuild-openbsd-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz#b9bc44b4f70031fb01b173b279daeffc4d4f54b7" @@ -4728,11 +4643,6 @@ esbuild-openbsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== -esbuild-sunos-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.32.tgz#d493ca5222703dd0b8c489324d1517cd622618e8" - integrity sha512-Ar+u3mBk0oVV4Fwv/qlinJZNIPPtTBSG+1W42o8lOaVxJ+rJgecDoeUN+5uyd9at0BK1SVrQ1qZ4wjHKB0qFpQ== - esbuild-sunos-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz#512dd6085ac1a0dccc20c5f932f16a618bea409c" @@ -4743,11 +4653,6 @@ esbuild-sunos-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== -esbuild-wasm@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.32.tgz#8c55979be32689ab2def7a6644f6cf70070f0cab" - integrity sha512-evuEcldI6O4BGX4LXCNBPabAl3raW+8a75qt0FJ4e6JnknMC+YHmiKRao5WIhOlSNDBGJ9PANxcrZIoQFXcbnA== - esbuild-wasm@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.36.tgz#7c69b6db185f16755841e999f8c9604dee2cb86a" @@ -4758,11 +4663,6 @@ esbuild-wasm@^0.14.29: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.34.tgz#cde4a4c10405b6dfb677652092eb5b9788670d70" integrity sha512-0GYXI7gNla1PePGpXMqSH8U/k0xDkVYwH62L0ZLq3MuI26NPabhAlShOOELISpNZIaYiJ8vlkwdYZ4V229zf2A== -esbuild-windows-32@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.32.tgz#c6b0f4cf952c6f562a32fe763acab9fb8cb3912a" - integrity sha512-rLMsbflMY6Hjh3rmQnCDVZahJQ7n+XfT6o1+no5pHRpDlMh38MHthgGh35q+EcOMgrGP3ppnw70rhJq80SaYTQ== - esbuild-windows-32@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz#3ff1afd5cac08050c7c7140a59e343b06f6b037c" @@ -4773,11 +4673,6 @@ esbuild-windows-32@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== -esbuild-windows-64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.32.tgz#2ad9322a963fd26bb4818ad1c0ee7acde63ebb81" - integrity sha512-OHnMMxYufVgLXIMnwLynLMKguHMrsVnWcehieSP9i6ZX31KEsOFYWrorcnTWOn4rbZVLSL10ofxLuVIgRW3SWw== - esbuild-windows-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz#66f7b43d2a0b132f6748dfa3edac4fc939a99be0" @@ -4788,11 +4683,6 @@ esbuild-windows-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== -esbuild-windows-arm64@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.32.tgz#bb589106c0fd5d582cce62bd7995a6e5db52e7b4" - integrity sha512-ddavy6IPUBySMfqDfG243TgtuqwQBNJQJPVaA4DaavmMfpBsUxFrSV+HzBWXTKU3I9EcuoEvIATLuQ7NJKxjwg== - esbuild-windows-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz#b74a6395b7b7e53dba70b71b39542afd83352473" @@ -4803,32 +4693,6 @@ esbuild-windows-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== -esbuild@0.14.32: - version "0.14.32" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.32.tgz#f55245ccd4b820707147ac4cc69a2c3e1a76af03" - integrity sha512-RuzVUP/bkStmnVHK6Gh3gjaMjfXNLqBqvYVDiS9JKl5KdRdRLUeW5Wo8NrbL7cL6CW7Cyak7SvACqyPOBuA8vA== - optionalDependencies: - esbuild-android-64 "0.14.32" - esbuild-android-arm64 "0.14.32" - esbuild-darwin-64 "0.14.32" - esbuild-darwin-arm64 "0.14.32" - esbuild-freebsd-64 "0.14.32" - esbuild-freebsd-arm64 "0.14.32" - esbuild-linux-32 "0.14.32" - esbuild-linux-64 "0.14.32" - esbuild-linux-arm "0.14.32" - esbuild-linux-arm64 "0.14.32" - esbuild-linux-mips64le "0.14.32" - esbuild-linux-ppc64le "0.14.32" - esbuild-linux-riscv64 "0.14.32" - esbuild-linux-s390x "0.14.32" - esbuild-netbsd-64 "0.14.32" - esbuild-openbsd-64 "0.14.32" - esbuild-sunos-64 "0.14.32" - esbuild-windows-32 "0.14.32" - esbuild-windows-64 "0.14.32" - esbuild-windows-arm64 "0.14.32" - esbuild@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" @@ -7101,6 +6965,11 @@ lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== +lru-cache@^7.4.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.1.tgz#68ee3f4807a57d2ba185b7fd90827d5c21ce82bb" + integrity sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -9297,15 +9166,6 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.11: - version "1.49.11" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.11.tgz#1ffeb77faeed8b806a2a1e021d7c9fd3fc322cb7" - integrity sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.50.0: version "1.50.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.0.tgz#3e407e2ebc53b12f1e35ce45efb226ea6063c7c8" @@ -9429,6 +9289,13 @@ semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: dependencies: lru-cache "^6.0.0" +semver@7.3.6: + version "7.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.6.tgz#5d73886fb9c0c6602e79440b97165c29581cbb2b" + integrity sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w== + dependencies: + lru-cache "^7.4.0" + semver@7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -10870,36 +10737,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.71.0: - version "5.71.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.71.0.tgz#b01fcf379570b8c5ee06ca06c829ca168c951884" - integrity sha512-g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.2" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.72.0: version "5.72.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.0.tgz#f8bc40d9c6bb489a4b7a8a685101d6022b8b6e28" From 78460e995a192336db3c4be9d0592b4e7a2ff2c8 Mon Sep 17 00:00:00 2001 From: Daniil Dubrava Date: Tue, 21 Sep 2021 16:32:32 +0300 Subject: [PATCH 0307/1388] fix(@angular/cli): remove type casting and add optional chaining for current in optionTransforms --- .../cli/src/command-builder/schematics-command-module.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 986edbdf8a5d..acd79a35c737 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -120,9 +120,7 @@ export abstract class SchematicsCommandModule // Add configuration file defaults async (schematic, current) => { const projectName = - typeof (current as Record).project === 'string' - ? ((current as Record).project as string) - : this.getProjectName(); + typeof current?.project === 'string' ? current.project : this.getProjectName(); return { ...(await getSchematicDefaults(schematic.collection.name, schematic.name, projectName)), From 464cf330a14397470e1e57450a77f421a45a927e Mon Sep 17 00:00:00 2001 From: Daniil Dubrava Date: Tue, 21 Sep 2021 16:19:22 +0300 Subject: [PATCH 0308/1388] feat(@angular-devkit/schematics): support null for options parameter from OptionTransform type --- .../public-api/angular_devkit/schematics/tools/index.md | 8 ++++---- .../schematics/tools/file-system-engine-host-base.ts | 4 ++-- .../schematics/tools/schema-option-transform.ts | 2 +- .../schematics/tools/workflow/node-workflow.ts | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.md b/goldens/public-api/angular_devkit/schematics/tools/index.md index 6359956596ef..d968860a625f 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.md @@ -117,7 +117,7 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost_2 // (undocumented) registerContextTransform(t: ContextTransform): void; // (undocumented) - registerOptionsTransform(t: OptionTransform): void; + registerOptionsTransform(t: OptionTransform): void; // (undocumented) registerTaskExecutor(factory: TaskExecutorFactory, options?: T): void; // (undocumented) @@ -235,7 +235,7 @@ export interface NodeWorkflowOptions { // (undocumented) force?: boolean; // (undocumented) - optionTransforms?: OptionTransform[]; + optionTransforms?: OptionTransform | null, object>[]; // (undocumented) packageManager?: string; // (undocumented) @@ -251,7 +251,7 @@ export interface NodeWorkflowOptions { } // @public (undocumented) -export type OptionTransform = (schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext) => Observable | PromiseLike | R; +export type OptionTransform = (schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext) => Observable | PromiseLike | R; // @public (undocumented) export class SchematicMissingDescriptionException extends BaseException { @@ -274,7 +274,7 @@ export class SchematicNameCollisionException extends BaseException { } // @public (undocumented) -export function validateOptionsWithSchema(registry: schema.SchemaRegistry): (schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext | undefined) => Observable; +export function validateOptionsWithSchema(registry: schema.SchemaRegistry): (schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext | undefined) => Observable; // (No @packageDocumentation comment for this package) diff --git a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts index 37084226944c..4ee6f2e27bc8 100644 --- a/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts +++ b/packages/angular_devkit/schematics/tools/file-system-engine-host-base.ts @@ -29,7 +29,7 @@ import { } from './description'; import { readJsonFile } from './file-system-utility'; -export declare type OptionTransform = ( +export declare type OptionTransform = ( schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext, @@ -140,7 +140,7 @@ export abstract class FileSystemEngineHostBase implements FileSystemEngineHost { return schematics; } - registerOptionsTransform(t: OptionTransform) { + registerOptionsTransform(t: OptionTransform) { this._transforms.push(t); } diff --git a/packages/angular_devkit/schematics/tools/schema-option-transform.ts b/packages/angular_devkit/schematics/tools/schema-option-transform.ts index d3f05c47dc87..c9b4b157de60 100644 --- a/packages/angular_devkit/schematics/tools/schema-option-transform.ts +++ b/packages/angular_devkit/schematics/tools/schema-option-transform.ts @@ -22,7 +22,7 @@ export class InvalidInputOptions extends schema.SchemaValidationExceptio // This can only be used in NodeJS. export function validateOptionsWithSchema(registry: schema.SchemaRegistry) { - return ( + return ( schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext, diff --git a/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts b/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts index 486fd6b945de..c5dd0a31113e 100644 --- a/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts +++ b/packages/angular_devkit/schematics/tools/workflow/node-workflow.ts @@ -24,7 +24,7 @@ export interface NodeWorkflowOptions { registry?: schema.CoreSchemaRegistry; resolvePaths?: string[]; schemaValidation?: boolean; - optionTransforms?: OptionTransform[]; + optionTransforms?: OptionTransform | null, object>[]; engineHostCreator?: (options: NodeWorkflowOptions) => NodeModulesEngineHost; } From d6ecb66f324dec923c0f66ddbccab6efb6f0dd58 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 19 Apr 2022 09:53:01 +0000 Subject: [PATCH 0309/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 105 ++++++++++-------- 3 files changed, 61 insertions(+), 52 deletions(-) diff --git a/package.json b/package.json index 6474fe6c3204..753e12ff1489 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.19.0", - "@typescript-eslint/parser": "5.19.0", + "@typescript-eslint/eslint-plugin": "5.20.0", + "@typescript-eslint/parser": "5.20.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -191,7 +191,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.50.0", + "sass": "1.50.1", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2d04557dd3a9..4911a05c32b8 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.50.0", + "sass": "1.50.1", "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-loader": "3.0.1", diff --git a/yarn.lock b/yarn.lock index 8cf9fe9c6e08..ad3dd14a6386 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2329,14 +2329,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz#9608a4b6d0427104bccf132f058cba629a6553c0" - integrity sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg== - dependencies: - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/type-utils" "5.19.0" - "@typescript-eslint/utils" "5.19.0" +"@typescript-eslint/eslint-plugin@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz#022531a639640ff3faafaf251d1ce00a2ef000a1" + integrity sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q== + dependencies: + "@typescript-eslint/scope-manager" "5.20.0" + "@typescript-eslint/type-utils" "5.20.0" + "@typescript-eslint/utils" "5.20.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2344,69 +2344,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.19.0.tgz#05e587c1492868929b931afa0cb5579b0f728e75" - integrity sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ== +"@typescript-eslint/parser@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.20.0.tgz#4991c4ee0344315c2afc2a62f156565f689c8d0b" + integrity sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w== dependencies: - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/typescript-estree" "5.19.0" + "@typescript-eslint/scope-manager" "5.20.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/typescript-estree" "5.20.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz#97e59b0bcbcb54dbcdfba96fc103b9020bbe9cb4" - integrity sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g== +"@typescript-eslint/scope-manager@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz#79c7fb8598d2942e45b3c881ced95319818c7980" + integrity sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg== dependencies: - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/visitor-keys" "5.19.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/visitor-keys" "5.20.0" -"@typescript-eslint/type-utils@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz#80f2125b0dfe82494bbae1ea99f1c0186d420282" - integrity sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q== +"@typescript-eslint/type-utils@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz#151c21cbe9a378a34685735036e5ddfc00223be3" + integrity sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw== dependencies: - "@typescript-eslint/utils" "5.19.0" + "@typescript-eslint/utils" "5.20.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.19.0.tgz#12d3d600d754259da771806ee8b2c842d3be8d12" - integrity sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w== +"@typescript-eslint/types@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.20.0.tgz#fa39c3c2aa786568302318f1cb51fcf64258c20c" + integrity sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg== -"@typescript-eslint/typescript-estree@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz#fc987b8f62883f9ea6a5b488bdbcd20d33c0025f" - integrity sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw== +"@typescript-eslint/typescript-estree@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz#ab73686ab18c8781bbf249c9459a55dc9417d6b0" + integrity sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w== dependencies: - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/visitor-keys" "5.19.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/visitor-keys" "5.20.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.19.0.tgz#fe87f1e3003d9973ec361ed10d36b4342f1ded1e" - integrity sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ== +"@typescript-eslint/utils@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.20.0.tgz#b8e959ed11eca1b2d5414e12417fd94cae3517a5" + integrity sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.19.0" - "@typescript-eslint/types" "5.19.0" - "@typescript-eslint/typescript-estree" "5.19.0" + "@typescript-eslint/scope-manager" "5.20.0" + "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/typescript-estree" "5.20.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz#c84ebc7f6c744707a361ca5ec7f7f64cd85b8af6" - integrity sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ== +"@typescript-eslint/visitor-keys@5.20.0": + version "5.20.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz#70236b5c6b67fbaf8b2f58bf3414b76c1e826c2a" + integrity sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg== dependencies: - "@typescript-eslint/types" "5.19.0" + "@typescript-eslint/types" "5.20.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -9175,6 +9175,15 @@ sass@1.50.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.50.1: + version "1.50.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.1.tgz#e9b078a1748863013c4712d2466ce8ca4e4ed292" + integrity sha512-noTnY41KnlW2A9P8sdwESpDmo+KBNkukI1i8+hOK3footBUcohNHtdOJbckp46XO95nuvcHDDZ+4tmOnpK3hjw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" From fbd6b51efe60bf1872078c434932f578b7c225de Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 20 Apr 2022 22:30:06 +0000 Subject: [PATCH 0310/1388] release: cut the v14.0.0-next.10 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a3049b84aec..781c8d1f0e9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 14.0.0-next.10 (2022-04-20) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------- | +| [78460e995](https://github.com/angular/angular-cli/commit/78460e995a192336db3c4be9d0592b4e7a2ff2c8) | fix | remove type casting and add optional chaining for current in optionTransforms | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- | +| [1a160dac0](https://github.com/angular/angular-cli/commit/1a160dac00f34aab089053281c640dba3efd597f) | fix | ensure karma sourcemap support on Windows | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [464cf330a](https://github.com/angular/angular-cli/commit/464cf330a14397470e1e57450a77f421a45a927e) | feat | support null for options parameter from OptionTransform type | + +## Special Thanks + +Alan Agius, Charles Lyding and Daniil Dubrava + + + # 14.0.0-next.9 (2022-04-13) diff --git a/package.json b/package.json index 753e12ff1489..ba1ca324a8d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.9", + "version": "14.0.0-next.10", "private": true, "description": "Software Development Kit for Angular", "bin": { From 88da0711fef67cd2c9df5634a05ddec7d99ccb14 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Thu, 21 Apr 2022 15:26:03 +0000 Subject: [PATCH 0311/1388] release: cut the v14.0.0-next.11 release --- CHANGELOG.md | 10 ++++++++-- package.json | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 781c8d1f0e9b..1f8007defbc2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ - + -# 14.0.0-next.10 (2022-04-20) +# 14.0.0-next.11 (2022-04-21) ### @angular/cli @@ -26,6 +26,12 @@ Alan Agius, Charles Lyding and Daniil Dubrava + + +# 14.0.0-next.10 (2022-04-21) + + + # 14.0.0-next.9 (2022-04-13) diff --git a/package.json b/package.json index ba1ca324a8d7..85d4ba9e0d90 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.10", + "version": "14.0.0-next.11", "private": true, "description": "Software Development Kit for Angular", "bin": { From b29878651b5e29a6b16e256da818cb0a18c7b392 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 21 Apr 2022 13:15:20 +0000 Subject: [PATCH 0312/1388] build: preparation for primary branch rename in the Angular repos Preparation for the framework repo as outlined our planning document. --- .circleci/config.yml | 4 ++++ .github/workflows/scorecard.yml | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1934b94e3864..f319006a21f6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,6 +29,8 @@ var_5: &only_release_branches filters: branches: only: + - main + # TODO(BRANCH_RENAME_CLEANUP): remove - master - /\d+\.\d+\.x/ @@ -357,6 +359,8 @@ workflows: branches: only: - renovate/angular + - main + # TODO(BRANCH_RENAME_CLEANUP): remove - master - e2e-cli: name: e2e-cli-node-16 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 51bd4ca1c8b9..fb2e169f53d3 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -4,7 +4,11 @@ on: schedule: - cron: '0 2 * * 0' push: - branches: [master] + branches: [ + main, + # TODO(BRANCH_RENAME_CLEANUP): remove + master, + ] workflow_dispatch: # Declare default permissions as read only. From 25498ad5b2ba6fa5a88c9802ddeb0ed85c5d9b60 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 20 Apr 2022 10:48:52 -0400 Subject: [PATCH 0313/1388] feat(@angular-devkit/schematics): re-export core string helpers from schematics package The string helpers are predominantly used within schematics that will already depend and import from the `@angular-devkit/schematics` package. By re-exporting from `@angular-devkit/schematics`, the need to directly depend and import `@angular-devkit/core` within a schematic can be reduced and in many cases eliminated. --- goldens/public-api/angular_devkit/schematics/index.md | 3 +++ packages/angular_devkit/schematics/src/index.ts | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/index.md b/goldens/public-api/angular_devkit/schematics/index.md index 871d5de7ef85..0d16c2974b54 100644 --- a/goldens/public-api/angular_devkit/schematics/index.md +++ b/goldens/public-api/angular_devkit/schematics/index.md @@ -12,6 +12,7 @@ import { Observable } from 'rxjs'; import { Path } from '@angular-devkit/core'; import { PathFragment } from '@angular-devkit/core'; import { schema } from '@angular-devkit/core'; +import { strings } from '@angular-devkit/core'; import { Subject } from 'rxjs'; import { Url } from 'url'; import { virtualFs } from '@angular-devkit/core'; @@ -841,6 +842,8 @@ export function source(tree: Tree_2): Source; // @public (undocumented) const standardFormats: schema.SchemaFormat[]; +export { strings } + // @public (undocumented) export interface TaskConfiguration { // (undocumented) diff --git a/packages/angular_devkit/schematics/src/index.ts b/packages/angular_devkit/schematics/src/index.ts index 91809ee84802..337d3b55ab9e 100644 --- a/packages/angular_devkit/schematics/src/index.ts +++ b/packages/angular_devkit/schematics/src/index.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { strings } from '@angular-devkit/core'; import * as formats from './formats/index'; import { FilePredicate, MergeStrategy, Tree as TreeInterface } from './tree/interface'; import { branch, empty, merge, partition } from './tree/static'; @@ -33,8 +34,7 @@ export * from './engine/schematic'; export * from './sink/dryrun'; export * from './sink/host'; export * from './sink/sink'; -export { formats }; -export { workflow }; +export { formats, strings, workflow }; export interface TreeConstructor { empty(): TreeInterface; From 291bbffcc9f2ad17993f6de82500d128b607de8b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 20 Apr 2022 10:58:57 -0400 Subject: [PATCH 0314/1388] refactor(@schematics/angular): use string helper re-export from `@angular-devkit/schematics` By using the `strings` re-export from `@angular-devkit/schematics` instead of from `@angular-devkit/core`, the number of imports from `@angular-devkit/core` has been reduced and lowers the direct dependency count for many of the individual schematics. --- packages/schematics/angular/application/index.ts | 3 ++- packages/schematics/angular/component/index.ts | 2 +- packages/schematics/angular/directive/index.ts | 2 +- packages/schematics/angular/e2e/index.ts | 3 ++- packages/schematics/angular/library/index.ts | 3 ++- packages/schematics/angular/module/index.ts | 3 ++- packages/schematics/angular/pipe/index.ts | 2 +- packages/schematics/angular/universal/index.ts | 3 ++- packages/schematics/angular/utility/generate-from-files.ts | 2 +- packages/schematics/angular/web-worker/index.ts | 3 ++- packages/schematics/angular/workspace/index.ts | 2 +- 11 files changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 7fb420f7f739..f5dae7b33b42 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonObject, join, normalize, strings } from '@angular-devkit/core'; +import { JsonObject, join, normalize } from '@angular-devkit/core'; import { MergeStrategy, Rule, @@ -20,6 +20,7 @@ import { move, noop, schematic, + strings, url, } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; diff --git a/packages/schematics/angular/component/index.ts b/packages/schematics/angular/component/index.ts index 74a8e57930b5..177b5eac276a 100644 --- a/packages/schematics/angular/component/index.ts +++ b/packages/schematics/angular/component/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { strings } from '@angular-devkit/core'; import { FileOperator, Rule, @@ -20,6 +19,7 @@ import { mergeWith, move, noop, + strings, url, } from '@angular-devkit/schematics'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; diff --git a/packages/schematics/angular/directive/index.ts b/packages/schematics/angular/directive/index.ts index 18a16e993650..666a181b5b48 100644 --- a/packages/schematics/angular/directive/index.ts +++ b/packages/schematics/angular/directive/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { strings } from '@angular-devkit/core'; import { Rule, SchematicsException, @@ -18,6 +17,7 @@ import { mergeWith, move, noop, + strings, url, } from '@angular-devkit/schematics'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index 6a44140278b3..de24c20c2514 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { join, normalize, strings } from '@angular-devkit/core'; +import { join, normalize } from '@angular-devkit/core'; import { Rule, SchematicsException, @@ -16,6 +16,7 @@ import { chain, mergeWith, move, + strings, url, } from '@angular-devkit/schematics'; import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index aafb2853e16d..90126c44be5a 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { join, normalize, strings } from '@angular-devkit/core'; +import { join, normalize } from '@angular-devkit/core'; import { Rule, SchematicContext, @@ -18,6 +18,7 @@ import { move, noop, schematic, + strings, url, } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; diff --git a/packages/schematics/angular/module/index.ts b/packages/schematics/angular/module/index.ts index 3f9cf17e3fbc..4c6840011c25 100644 --- a/packages/schematics/angular/module/index.ts +++ b/packages/schematics/angular/module/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Path, normalize, strings } from '@angular-devkit/core'; +import { Path, normalize } from '@angular-devkit/core'; import { Rule, SchematicsException, @@ -19,6 +19,7 @@ import { move, noop, schematic, + strings, url, } from '@angular-devkit/schematics'; import { Schema as ComponentOptions } from '../component/schema'; diff --git a/packages/schematics/angular/pipe/index.ts b/packages/schematics/angular/pipe/index.ts index 6aa5c516d3bf..e18c432eabc2 100644 --- a/packages/schematics/angular/pipe/index.ts +++ b/packages/schematics/angular/pipe/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { strings } from '@angular-devkit/core'; import { Rule, SchematicsException, @@ -18,6 +17,7 @@ import { mergeWith, move, noop, + strings, url, } from '@angular-devkit/schematics'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index 6cf251ab4912..95fe3d26e93f 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonValue, Path, basename, join, normalize, strings } from '@angular-devkit/core'; +import { JsonValue, Path, basename, join, normalize } from '@angular-devkit/core'; import { Rule, SchematicContext, @@ -17,6 +17,7 @@ import { chain, mergeWith, move, + strings, url, } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; diff --git a/packages/schematics/angular/utility/generate-from-files.ts b/packages/schematics/angular/utility/generate-from-files.ts index 5392bb545065..b4be7c66ea12 100644 --- a/packages/schematics/angular/utility/generate-from-files.ts +++ b/packages/schematics/angular/utility/generate-from-files.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { strings } from '@angular-devkit/core'; import { Rule, Tree, @@ -17,6 +16,7 @@ import { mergeWith, move, noop, + strings, url, } from '@angular-devkit/schematics'; import { parseName } from './parse-name'; diff --git a/packages/schematics/angular/web-worker/index.ts b/packages/schematics/angular/web-worker/index.ts index d296064d342f..bda1d4740887 100644 --- a/packages/schematics/angular/web-worker/index.ts +++ b/packages/schematics/angular/web-worker/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { join, normalize, strings, tags } from '@angular-devkit/core'; +import { join, normalize, tags } from '@angular-devkit/core'; import { Rule, SchematicContext, @@ -18,6 +18,7 @@ import { mergeWith, move, noop, + strings, url, } from '@angular-devkit/schematics'; import { parseName } from '../utility/parse-name'; diff --git a/packages/schematics/angular/workspace/index.ts b/packages/schematics/angular/workspace/index.ts index e686b4d21886..d226468633ea 100644 --- a/packages/schematics/angular/workspace/index.ts +++ b/packages/schematics/angular/workspace/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { strings } from '@angular-devkit/core'; import { Rule, apply, @@ -14,6 +13,7 @@ import { filter, mergeWith, noop, + strings, url, } from '@angular-devkit/schematics'; import { latestVersions } from '../utility/latest-versions'; From ccd7e71a47d8ac80e806423773b1372630c3bd6b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 20 Apr 2022 11:10:49 -0400 Subject: [PATCH 0315/1388] refactor(@schematics/angular): minor cleanup of unneeded `@angular-devkit/core` imports Several imported types and values from `@angular-devkit/core` could be removed while still maintaining the same functionality. This further reduces the schematics direct dependence on the `@angular-devkit/core` package. --- .../angular/utility/find-module_spec.ts | 41 +++++++++---------- .../schematics/angular/utility/parse-name.ts | 1 - .../schematics/angular/utility/validation.ts | 4 +- 3 files changed, 21 insertions(+), 25 deletions(-) diff --git a/packages/schematics/angular/utility/find-module_spec.ts b/packages/schematics/angular/utility/find-module_spec.ts index 699d9ec10a1c..6c1998e2d622 100644 --- a/packages/schematics/angular/utility/find-module_spec.ts +++ b/packages/schematics/angular/utility/find-module_spec.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { Path } from '@angular-devkit/core'; import { EmptyTree, Tree } from '@angular-devkit/schematics'; import { ModuleOptions, buildRelativePath, findModule, findModuleFromOptions } from './find-module'; @@ -107,24 +106,24 @@ describe('find-module', () => { tree.create('/projects/my-proj/src/app.module.ts', ''); options.module = 'app.module.ts'; options.path = '/projects/my-proj/src'; - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toEqual('/projects/my-proj/src/app.module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toEqual('/projects/my-proj/src/app.module.ts'); }); it('should find a module when name has underscore', () => { tree.create('/projects/my-proj/src/feature_module/app_test.module.ts', ''); options.path = '/projects/my-proj/src'; options.name = 'feature_module/new_component'; - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toEqual('/projects/my-proj/src/feature_module/app_test.module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toEqual('/projects/my-proj/src/feature_module/app_test.module.ts'); }); it('should find a module when name has uppercase', () => { tree.create('/projects/my-proj/src/featureModule/appTest.module.ts', ''); options.path = '/projects/my-proj/src'; options.name = 'featureModule/newComponent'; - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toEqual('/projects/my-proj/src/featureModule/appTest.module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toEqual('/projects/my-proj/src/featureModule/appTest.module.ts'); }); it('should find a module if flat is true', () => { @@ -132,8 +131,8 @@ describe('find-module', () => { options.path = '/projects/my-proj/src'; options.flat = true; options.name = '/module/directive'; - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toEqual('/projects/my-proj/src/module/app_test.module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toEqual('/projects/my-proj/src/module/app_test.module.ts'); }); it('should find a module in a sub dir', () => { @@ -141,8 +140,8 @@ describe('find-module', () => { options.name = 'other/test'; options.module = 'admin/foo'; options.path = '/projects/my-proj/src'; - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toEqual('/projects/my-proj/src/admin/foo.module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toEqual('/projects/my-proj/src/admin/foo.module.ts'); }); it('should find a module in a sub dir (2)', () => { @@ -150,8 +149,8 @@ describe('find-module', () => { options.name = 'admin/hello'; options.module = 'foo'; options.path = '/projects/my-proj/src'; - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toEqual('/projects/my-proj/src/admin/foo.module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toEqual('/projects/my-proj/src/admin/foo.module.ts'); }); it('should find a module using custom ext', () => { @@ -160,16 +159,16 @@ describe('find-module', () => { options.path = '/projects/my-proj/src'; options.moduleExt = '_module.ts'; // Should find module using custom moduleExt - const modPath = findModuleFromOptions(tree, options); - expect(modPath).toBe('/projects/my-proj/src/app_module.ts' as Path); + const modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toBe('/projects/my-proj/src/app_module.ts'); // Should not find module if using invalid ext options.moduleExt = '-module.ts'; - expect(() => findModuleFromOptions(tree, options)).toThrowError( + expect(() => findModuleFromOptions(tree, options) as string).toThrowError( /Specified module 'app' does not exist/, ); // Should not find module if using default ext options.moduleExt = undefined; // use default ext - expect(() => findModuleFromOptions(tree, options)).toThrowError( + expect(() => findModuleFromOptions(tree, options) as string).toThrowError( /Specified module 'app' does not exist/, ); }); @@ -182,13 +181,13 @@ describe('find-module', () => { // moduleExt ignored because exact path is found options.module = 'app.module.ts'; - modPath = findModuleFromOptions(tree, options); - expect(modPath).toBe('/projects/my-proj/src/app.module.ts' as Path); + modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toBe('/projects/my-proj/src/app.module.ts'); // moduleExt ignored because module + .ts is found options.module = 'app.module'; - modPath = findModuleFromOptions(tree, options); - expect(modPath).toBe('/projects/my-proj/src/app.module.ts' as Path); + modPath = findModuleFromOptions(tree, options) as string; + expect(modPath).toBe('/projects/my-proj/src/app.module.ts'); }); }); diff --git a/packages/schematics/angular/utility/parse-name.ts b/packages/schematics/angular/utility/parse-name.ts index 231c99341a50..01227198c90f 100644 --- a/packages/schematics/angular/utility/parse-name.ts +++ b/packages/schematics/angular/utility/parse-name.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -// import { relative, Path } from "../../../angular_devkit/core/src/virtual-fs"; import { Path, basename, dirname, join, normalize } from '@angular-devkit/core'; export interface Location { diff --git a/packages/schematics/angular/utility/validation.ts b/packages/schematics/angular/utility/validation.ts index 8a51bd954132..80ba0cd784da 100644 --- a/packages/schematics/angular/utility/validation.ts +++ b/packages/schematics/angular/utility/validation.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { tags } from '@angular-devkit/core'; import { SchematicsException } from '@angular-devkit/schematics'; // Must start with a letter, and must contain only alphanumeric characters or dashes. @@ -15,7 +14,6 @@ export const htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)* export function validateHtmlSelector(selector: string): void { if (selector && !htmlSelectorRe.test(selector)) { - throw new SchematicsException(tags.oneLine`Selector (${selector}) - is invalid.`); + throw new SchematicsException(`Selector (${selector}) is invalid.`); } } From 8b36762075e114fd10ef40e02d661d806c90c705 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 22 Apr 2022 14:36:49 +0000 Subject: [PATCH 0316/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +-- yarn.lock | 232 ++++++++---------- 7 files changed, 141 insertions(+), 163 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ea3a4444f796..799662ee8617 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@b6a8e9e727b9829195f391933db262c7bb95538d + - uses: angular/dev-infra/github-actions/commit-message-based-labels@63547286e1423fe55df2e4b8a93b435f982f52a1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index c00e1353c25e..e57ead0b48a9 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@b6a8e9e727b9829195f391933db262c7bb95538d + - uses: angular/dev-infra/github-actions/feature-request@63547286e1423fe55df2e4b8a93b435f982f52a1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 388865df842e..fa3c9fc6e4dd 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@b6a8e9e727b9829195f391933db262c7bb95538d + - uses: angular/dev-infra/github-actions/lock-closed@63547286e1423fe55df2e4b8a93b435f982f52a1 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 85d4ba9e0d90..6872f26d98cb 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.1.2", - "@angular/animations": "14.0.0-next.13", - "@angular/cdk": "14.0.0-next.10", - "@angular/common": "14.0.0-next.13", - "@angular/compiler": "14.0.0-next.13", - "@angular/compiler-cli": "14.0.0-next.13", - "@angular/core": "14.0.0-next.13", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#a1b5918d8b81674e856135a41c8158f92ab9f7d0", - "@angular/forms": "14.0.0-next.13", - "@angular/localize": "14.0.0-next.13", - "@angular/material": "14.0.0-next.10", - "@angular/platform-browser": "14.0.0-next.13", - "@angular/platform-browser-dynamic": "14.0.0-next.13", - "@angular/platform-server": "14.0.0-next.13", - "@angular/router": "14.0.0-next.13", - "@angular/service-worker": "14.0.0-next.13", + "@angular/animations": "14.0.0-next.14", + "@angular/cdk": "14.0.0-next.11", + "@angular/common": "14.0.0-next.14", + "@angular/compiler": "14.0.0-next.14", + "@angular/compiler-cli": "14.0.0-next.14", + "@angular/core": "14.0.0-next.14", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#4b4f4e4269a93c14f511c087bb14cdbc58a5ca70", + "@angular/forms": "14.0.0-next.14", + "@angular/localize": "14.0.0-next.14", + "@angular/material": "14.0.0-next.11", + "@angular/platform-browser": "14.0.0-next.14", + "@angular/platform-browser-dynamic": "14.0.0-next.14", + "@angular/platform-server": "14.0.0-next.14", + "@angular/router": "14.0.0-next.14", + "@angular/service-worker": "14.0.0-next.14", "@babel/core": "7.17.9", "@babel/generator": "7.17.9", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 3a253456c6d8..26e982955f8c 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.13", - "@angular/compiler-cli": "14.0.0-next.13", + "@angular/compiler": "14.0.0-next.14", + "@angular/compiler-cli": "14.0.0-next.14", "typescript": "4.6.3", "webpack": "5.72.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c86bb5a7d64c..9de1f85d9ba2 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#afacf031c4766dc16e699fe596ba06220d31d0a5", - "@angular/cdk": "github:angular/cdk-builds#dfd8d799a4d9083db343179d59b0483eed8b9d87", - "@angular/common": "github:angular/common-builds#17319978d9557fdccd3073ead3964be4e143188c", - "@angular/compiler": "github:angular/compiler-builds#53736ee92f5d6462adc8c6e3d5147a92d551c044", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f4ff0c531d555f1dce24ecb703159cc4690bccec", - "@angular/core": "github:angular/core-builds#cec8965aca9e6aabc804f13929028f4a7d1d318c", - "@angular/forms": "github:angular/forms-builds#e2096cadb2bffd1120bade80b2e48c5aed5b1fff", - "@angular/language-service": "github:angular/language-service-builds#9217ea3bbef785a242d653641d231fdfcdb78687", - "@angular/localize": "github:angular/localize-builds#759708eb8e3f8a1e71a64c43f6825f01b9e9279b", - "@angular/material": "github:angular/material-builds#ce0c538e974e57e38ca619ef5285fe97a7d44711", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#38e742c57599a1d9250d58226d9295bb671974fd", - "@angular/platform-browser": "github:angular/platform-browser-builds#70d53dca7d8129769aecec352e7e19211635498c", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a417ef5b0e8e5522195760acb71a2d256de620d5", - "@angular/platform-server": "github:angular/platform-server-builds#b992f91652065bd83497f4233a8f484cd83bf74c", - "@angular/router": "github:angular/router-builds#5d5280f52680dd04efc76fb16dfdde5c623e9d66", - "@angular/service-worker": "github:angular/service-worker-builds#fa75144bcde4bf53c372a4f1b0e8a939402a4314" + "@angular/animations": "github:angular/animations-builds#3e7e4fc916cca0a0e33804084eefb7c506bb48d7", + "@angular/cdk": "github:angular/cdk-builds#6fd5d7e8af8c208810f73c0be529215707a527e0", + "@angular/common": "github:angular/common-builds#9f5ee7e60a3d175967374459c7f2a117dd2bb848", + "@angular/compiler": "github:angular/compiler-builds#b1d30e7a4a105a450e4ce356bcde998b9125e26f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f9dc00bcb64fc5cf94a8d2c195cebf3144af5ba1", + "@angular/core": "github:angular/core-builds#6d7714b2dded1ac93fb437068f85b9cc824ae757", + "@angular/forms": "github:angular/forms-builds#62e9e86f005b92edfb520312202d863c1cd5879b", + "@angular/language-service": "github:angular/language-service-builds#b33baf84f74d4ecc2e9596f5660fbc2992d27572", + "@angular/localize": "github:angular/localize-builds#bd16bb2e5dfac962bdf258e2f55203789acd796f", + "@angular/material": "github:angular/material-builds#01f81cd0ab0bcd368f8c007c4494fc2be6628e86", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5ef93f6b47a427bfaf49993fc9b336cb8188b3a7", + "@angular/platform-browser": "github:angular/platform-browser-builds#cd6c9481cdeaea846eb0a4c4ce83eec1e194a66b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#f95f5d5c74b3545537e33a83b740300dab007600", + "@angular/platform-server": "github:angular/platform-server-builds#e71b94947bfce44f8b7bc5263f85ec2e060728da", + "@angular/router": "github:angular/router-builds#d5f9245c61e01730d4ae4706fbfb9591fcd0fe68", + "@angular/service-worker": "github:angular/service-worker-builds#cc599f42b5a89cc8759558d52e82996f9aa804b8" } } diff --git a/yarn.lock b/yarn.lock index ad3dd14a6386..983d4e0d85fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,23 +9,23 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1400.0-next.9": - version "0.1400.0-next.9" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.9.tgz#97b68b08c4babdfd0467366f5fe761c68198bb44" - integrity sha512-u5rSvPyIU1XolXoyaMcwVFgj+8SvAYwuA0rWttDUi58KQJa5bfga7yVNPUT9thMVMIigEkds9UG2TEf1FWBANA== +"@angular-devkit/architect@0.1400.0-next.11": + version "0.1400.0-next.11" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.11.tgz#0c265e7425ee70658f4d56f832d4b7bdcfe0824c" + integrity sha512-bc2PmHGWpqPuneVwSBIa8jI3Vsq/bDUJJ1vZPhqS9VqblWHaqmBqdUTjT5f7Uqs3g1bUdYWQbUZIixPYrr2xnQ== dependencies: - "@angular-devkit/core" "14.0.0-next.9" + "@angular-devkit/core" "14.0.0-next.11" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.9.tgz#d6b274bf635047ec38c863c8af1dfb3c432106ed" - integrity sha512-QZtXGv0fq/GfvZaPFOlE+JM4twI50rpYOrm1Z3+pTZN57/ALrdMZc2z0I2i1YmiMH/v8EoiM1uOmLN4HnDxcPw== +"@angular-devkit/build-angular@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.11.tgz#e7e6438d72dcd17f0ad6ef11a8827c921c339ea4" + integrity sha512-li7c+b6qQqiKEENsXUkfU26MGDUb0WTx3OkKUciy6+eOqg8ns6dJDSXh83alGBvOodwH/UkCpfAKw4tBWA23gA== dependencies: "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.9" - "@angular-devkit/build-webpack" "0.1400.0-next.9" - "@angular-devkit/core" "14.0.0-next.9" + "@angular-devkit/architect" "0.1400.0-next.11" + "@angular-devkit/build-webpack" "0.1400.0-next.11" + "@angular-devkit/core" "14.0.0-next.11" "@babel/core" "7.17.9" "@babel/generator" "7.17.9" "@babel/helper-annotate-as-pure" "7.16.7" @@ -36,7 +36,7 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-next.9" + "@ngtools/webpack" "14.0.0-next.11" ansi-colors "4.1.1" babel-loader "8.2.4" babel-plugin-istanbul "6.1.1" @@ -46,8 +46,8 @@ critters "0.0.16" css-loader "6.7.1" esbuild-wasm "0.14.36" - glob "7.2.0" - https-proxy-agent "5.0.0" + glob "8.0.1" + https-proxy-agent "5.0.1" inquirer "8.2.2" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" @@ -68,9 +68,9 @@ regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.50.0" + sass "1.50.1" sass-loader "12.6.0" - semver "7.3.6" + semver "7.3.7" source-map-loader "3.0.1" source-map-support "0.5.21" stylus "0.57.0" @@ -87,30 +87,29 @@ optionalDependencies: esbuild "0.14.36" -"@angular-devkit/build-webpack@0.1400.0-next.9": - version "0.1400.0-next.9" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.9.tgz#5a65347a00aa9dd4d7b60ac6a3855ef5e0de9f1e" - integrity sha512-O4xzexGG5XiMPBBxYqL602k7TDdOlfVx2mgSRsm6M9Yi7VBzUhErrFOmv9roA8lj5c+vvz8iNpdykiTFgA2+wg== +"@angular-devkit/build-webpack@0.1400.0-next.11": + version "0.1400.0-next.11" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.11.tgz#8cbdd0140749e19f4eb28f005ef841e3eb4f5e3d" + integrity sha512-obQSQ1nU8SKaUVRrmqBH34f4v2d8JKnXgyZtdxjHjyVpTF1sT9lOuaDxC7i+geQwov06L1o1n6EHnLJtfp2cFQ== dependencies: - "@angular-devkit/architect" "0.1400.0-next.9" + "@angular-devkit/architect" "0.1400.0-next.11" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.9.tgz#64e14c132babe43368b50ea0711eba2c950ced5f" - integrity sha512-bw1jmhCMGQK1S/XZ8SB2LGGkGn1j3v9TAkHs3EwM6bBYKSgLPKj9rEnRSz7GArZ+uLU7KVXYWJWxmuWfH0e/LQ== +"@angular-devkit/core@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.11.tgz#29a10e3a7dc15affbdc26a246ec6f30ed826486f" + integrity sha512-mCNTL8YCzvHp4OLnlkJw/hUGIi6GIbh9C7KmgqFEW9xwODfJBL96qbFShDbr7InU6N3q4eefwdw8ICcqB0B9sA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" - fast-json-stable-stringify "2.1.0" - magic-string "0.26.1" + jsonc-parser "3.0.0" rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.13.tgz#b1de0a814c70fe60e51c3b82e7ac709d2f00c4f8" - integrity sha512-nNZlsoLtMkHlpNDQ2K0IPfxBio/9xGTBsvNpKOViP5oOncJ88aKvDCksXIcjGKaya2cK8ZnegMrGIUT1/rtmag== +"@angular/animations@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.14.tgz#824fa734b25fc2c603a62f40fb1f3ff6880a9936" + integrity sha512-rFVc5egyVcaIymhRqxIftJ2KyONDYlSSsIT15yF5CnI1HL+yF/3mQcHOI864gvmssD922jwZuQJttA6QA639lg== dependencies: tslib "^2.3.0" @@ -122,26 +121,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.10.tgz#0edf88361c2781ffa1863315e5e51acbed12028c" - integrity sha512-DI+9fFll0EQ2meuhE3LBqa1aeKJsnJIS112YOWgIl9CXVXrOsyt0hnVsyI0qt++ke3BsNoV07S/W5csAppITHg== +"@angular/cdk@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.11.tgz#f3062c16b5050195b26ca23e0f5f81a280adc75a" + integrity sha512-MJK1GG1SlDR8IRook07rOrmZN6BZfZhvVEoIUyFBfMt3H6WstYWi26Miahm2Fzhzj0xw+HbEurencjzXb/Jzmg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.13.tgz#80981b709a5ac9a350fbddabed3d508eb25ed9d7" - integrity sha512-eao5v+DeQcJQtArRCyFBliCg9xTb0N3BZTu7M3hBzqIAv4xrb6qCAsC9CkWke/S3xbwWKeGBuU6oJhkwLkR6EQ== +"@angular/common@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.14.tgz#3a36704748296bad47f7c62d4f071e05a42fe093" + integrity sha512-Fhvu35ldGG++gOl8W6iJerNPlHM8IGHTeCknRMyab4Zz6ZDMyBs+8v3nSMFIScm2c1iLPaprNbbv36i5qhASsA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.13.tgz#10a244e26c21167045f3941fac8157d4846cc682" - integrity sha512-dM2MDmWQ4wSY0mjkWg2WR4vnPoUZT8ITlic6oz49waA7qNSQUzYnOjqbU3RxpKBBL1rnxdccL2qM/OaJ2hZ6Vg== +"@angular/compiler-cli@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.14.tgz#938ef2c4497dcf66a69bb136a23979ddf4409647" + integrity sha512-pi2wwxcCMUbgOwyMp3biG1BQegjF3lYjtBNcOOqO5JYEDGZydh02c/HeaEKA6sYmzghc+3ExOEX1PhQgEIjL8Q== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +153,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.13.tgz#0926f57618e877ea3d187adb9187ca5f4cdb580d" - integrity sha512-5pTkjQYuz+Lj9pdsJuq6mCOhDOSLSTAOtCVUpVolWoEhlxXsWWr3jKASIMvEbt7VT0McWqgW6HELjPR+uXicKA== +"@angular/compiler@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.14.tgz#01f6d2023d02b368f50320ec66045b405a4215ef" + integrity sha512-b6Draniqbby/KrdwT8hCCUFTq0lrEc4MZteIEKg/9rEOZ8IO8WNibynTkjaBXbhdq499/VnL4rzIQYuCOtVLrw== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.13.tgz#391f198272aea3ee9c555479b8c7f2dcff4c5412" - integrity sha512-rm78Pw+z99avrxzfnmkFMdt/uTcsuMZ+EQggQani1A+kAisjTOQ3Lhwlphr8jJsRXQwPbDbaLbms5OimIYg4mw== +"@angular/core@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.14.tgz#86cd839c191ced59c232a17db73c29b7857ea868" + integrity sha512-ekrlWax7cD+WZCiLrmub89R7+0cjtcu0yXC23LmPkUN8HfaBU9Ii/C1n0xjZ/rWGB2dV0PwHlYTAmvDK3iPaiQ== dependencies: tslib "^2.3.0" @@ -175,12 +174,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#a1b5918d8b81674e856135a41c8158f92ab9f7d0": - version "0.0.0-b6a8e9e727b9829195f391933db262c7bb95538d" - uid a1b5918d8b81674e856135a41c8158f92ab9f7d0 - resolved "https://github.com/angular/dev-infra-private-builds.git#a1b5918d8b81674e856135a41c8158f92ab9f7d0" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#4b4f4e4269a93c14f511c087bb14cdbc58a5ca70": + version "0.0.0-63547286e1423fe55df2e4b8a93b435f982f52a1" + uid "4b4f4e4269a93c14f511c087bb14cdbc58a5ca70" + resolved "https://github.com/angular/dev-infra-private-builds.git#4b4f4e4269a93c14f511c087bb14cdbc58a5ca70" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.9" + "@angular-devkit/build-angular" "14.0.0-next.11" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -214,63 +213,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.13.tgz#296b5e10952ed2e9afdece64b246601c59300cfc" - integrity sha512-DmhVrqEs20dxzcgNJCyVZ5srJ5ip2uyxQ3nsvaCzb4H/3qPD+L5qzP7J8jy5vLzPKBvcaR9hrcB1A0Kq79K/Rg== +"@angular/forms@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.14.tgz#c41e15a22db706f86737f93fbd0d1edc6ee055ce" + integrity sha512-pP3ayHR6Bw8MDuc9nfD8Pg7dnH8uxdPiPZmWPoYZ+H9PL8McXJTt9+hqrs6ixib+6tdEDITvvfOmsrGB/eOA9Q== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.13.tgz#5013c72ae09d6bb235a1e5939dca3b8bcce7bfe4" - integrity sha512-wCKU+T6Knbx3g4v4fHWfW2S89g4F3nykL1qGVUhkt56lQXVs7rXJhajqog7+pGcd0vpRZqduQT2nQURLrTsmQg== +"@angular/localize@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.14.tgz#28176f4aa4f5d9e2e4523eb61bf9851a94b49204" + integrity sha512-/f2shwj4eTDMPOy/QqgSO7XcGdOMQFCheO6fNcfeRMkDQnQFJjeNziFyDYdDBLfH03U8n02aGjv5UTlOI55A0Q== dependencies: "@babel/core" "7.17.9" glob "8.0.1" yargs "^17.2.1" -"@angular/material@14.0.0-next.10": - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.10.tgz#c83beb7d292d7d78daf66f5e008de987d4337ab3" - integrity sha512-M7HbTVin8nIko75Bw1J4oh6gjtuGx40leyVNAGmQV5d9L6nAVSppPl6wPPjmTVwgTGkF3enEEStGUI5ck6P4Pw== +"@angular/material@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.11.tgz#b80339125d345e8ebe0acbdd997bb1df990c886c" + integrity sha512-Ph7PeMvssZ1p4dDT7XG70vqWE9kW3bxBomacv0E/er1xFGftHSauH9Q5H6PKpi8EkT1SlgZf5SzL4rI+527rUw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.13.tgz#decf7a4a9b2b9b94713e78a1cd47bfc00d7f9c8f" - integrity sha512-klNiypBXVuq5TeTpuZNtrFGjdVmCFEJgQBh360c81YPT9JZa0tNS/27tNz33vYwrznrv6nglDgt4oRscCvL0hQ== +"@angular/platform-browser-dynamic@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.14.tgz#94cc9d2c15883369769b9f5ead0e3be1ecc7b713" + integrity sha512-4ZondfrlAFsEP0vvjlAMQeIHVvjK4p7wcSybXNdp7lMypNWbTrHM4KBE9H8wd6ogWhkQxxC8h40nus9PiPan0Q== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.13.tgz#a7d00cb09783dec018b27ada63bfa41136c55d69" - integrity sha512-fDHMccRu63FdDw44rbcOJubhyLq/t6tpvypSwlMWUcG618NvKeWtYAwLYE5rWwYC6/vCzvsLFZAmmOxhbFagcw== +"@angular/platform-browser@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.14.tgz#824f06fcebc8ca08cbe9ca206c1c88bcc33979af" + integrity sha512-hAHtpDXWZizdlEiz2wWtWUxd2gKj3ZLF+f3FLRoxxNpTTxIdDbLOa+ov6QfrwmKnQAFIRthtWLZow/fkMySenw== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.13.tgz#6e7c5b7c3942e0a5816200823f0a39e45cad37d7" - integrity sha512-IFMY08Xjh/aUPoK6VMjaFHyFyZmaze1JZX2kQSoa1IEzX/9Y/AKMk1tKXiR4zY5y2p6sTJHyLtFTiK+M17Qw0A== +"@angular/platform-server@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.14.tgz#1d3b5a789816d6173fa52e433cdd4e611962d0b6" + integrity sha512-kHXWSnCAjTdt+pUXmR509l2seccH12YDn1FLt6UD9gXdsHePiG/kJFAbfwNBfw9wnSnHmlLlO95xNU6+U7H2pQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.13.tgz#6ac4d62f51acecdd03afe1fe93c459fa270775c8" - integrity sha512-E7C+NDtgvSXVwYDktvyt8ZRYXexCeF3/XYiTOEbA7AakZrvwHkfbWubGK5p7Az+xpxtkP8sUlWxjsqBc/kOYVg== +"@angular/router@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.14.tgz#0b8a573793fdf212b7aba843efec4b773bae4dc6" + integrity sha512-vohxdxi12KPcIQNRbI2NAVGhR/YUa92d7saHkn3U+kjphdQ8/ULar1sPmhOsA7rxiQpWA1HBD2/n5xhGnq6jZQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.13.tgz#596c7f8ace0f4fc830b0776a0bd4b06ccc4f196d" - integrity sha512-J7gM/dyaZap1ktQ8B1K7qbs28LqIPiYxgqhPNAdFzDCRdcuTKvdEtwnCdsBaH3yuURzxuosWQoFYrk26NF7wmw== +"@angular/service-worker@14.0.0-next.14": + version "14.0.0-next.14" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.14.tgz#874b826a08d553cda9baf739b7647166b4627f56" + integrity sha512-HJq2Z/Yg7fcpZVK3jWB/OhYjJt0sG8CNI5g6nNgEvxIA7sha8wHvvle1S1q1F3L6JMktkNYP1kpX1kddXK+bTg== dependencies: tslib "^2.3.0" @@ -1526,10 +1525,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-next.9": - version "14.0.0-next.9" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.9.tgz#3806bdf6ff0944e289cdcf74995cd592fa3e086b" - integrity sha512-T9J2RUZOzdLm1j3sLu/17OkPwTloCN9d2hxCbDyWLkjwvFz4DVdEfHtotLQ5KPqhv91nAoEmoCqf96CwKds2qA== +"@ngtools/webpack@14.0.0-next.11": + version "14.0.0-next.11" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.11.tgz#f5be27ab37b6d7097693a59c1f0a6be66f3a37f3" + integrity sha512-oph82/ud1tFtkTL6iqq6MDxPMxrX1lfnZgyorYlYx7rxw6j3SZpjFRCP19UUUlNisqIMLZXCeor0+IXeOlposA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -5154,7 +5153,7 @@ fast-glob@^3.2.7, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.1.0, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -5509,18 +5508,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.1.tgz#00308f5c035aa0b2a447cd37ead267ddff1577d3" @@ -5544,6 +5531,18 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -6965,11 +6964,6 @@ lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== -lru-cache@^7.4.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.1.tgz#68ee3f4807a57d2ba185b7fd90827d5c21ce82bb" - integrity sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -9166,15 +9160,6 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.50.0: - version "1.50.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.0.tgz#3e407e2ebc53b12f1e35ce45efb226ea6063c7c8" - integrity sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.50.1: version "1.50.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.1.tgz#e9b078a1748863013c4712d2466ce8ca4e4ed292" @@ -9298,13 +9283,6 @@ semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: dependencies: lru-cache "^6.0.0" -semver@7.3.6: - version "7.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.6.tgz#5d73886fb9c0c6602e79440b97165c29581cbb2b" - integrity sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w== - dependencies: - lru-cache "^7.4.0" - semver@7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" From ba92525e060bbaf1cc0f9cfcfe03301c244ef1b3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 22 Apr 2022 05:16:16 +0000 Subject: [PATCH 0317/1388] build: update actions/checkout action to v3.0.2 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index fb2e169f53d3..f33a3b9c9980 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -27,7 +27,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 with: persist-credentials: false From 00186fb93f66d8da51886de37cfa4599f3e89af9 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 6 Apr 2022 09:23:58 -0400 Subject: [PATCH 0318/1388] feat(@angular-devkit/build-angular): add initial experimental esbuild-based application browser builder An experimental browser application builder (`browser-esbuild`) has been introduced that leverages esbuild as the bundler. This new builder is compatible with options of the current browser application builder (`browser`) and can be enabled for experimentation purposes by replacing the `builder` field of `@angular-devkit/build-angular:browser` from an existing project to `@angular-devkit/build-angular:browser-esbuild`. The builder will generate an ESM-based application and provides support for ES2015+ compatible output with ES2020 as the default. This builder is considered experimental and is not recommended for production applications. Currently not all `browser` builder options and capabilities are supported with this experimental builder. Additional support for these options may be added in the future. The following options and capabilities are not currently supported: * Stylesheet Preprocessors (only CSS styles are supported) * Angular JIT mode (only AOT is supported) * Localization [`localize`] * Watch and dev-server modes [`watch`, `poll`, etc.] * File replacements [`fileReplacements`] * License text extraction [`extractLicenses`] * Bundle budgets [`budgets`] * Global scripts [`scripts`] * Build stats JSON output [`statsJson`] * Deploy URL [`deployURL`] * CommonJS module warnings (no warnings will be generated for CommonJS package usage) * Web Workers * Service workers [`serviceWorker`, `ngswConfigPath`] --- .../build_angular/builders.json | 5 + .../build_angular/src/babel/webpack-loader.ts | 2 +- .../browser-esbuild/compiler-plugin.ts | 416 ++++++++++++++++++ .../src/builders/browser-esbuild/esbuild.ts | 72 +++ .../browser-esbuild/experimental-warnings.ts | 80 ++++ .../src/builders/browser-esbuild/index.ts | 314 +++++++++++++ .../src/builders/browser-esbuild/options.ts | 74 ++++ .../builders/browser-esbuild/stylesheets.ts | 113 +++++ .../src/webpack/configs/styles.ts | 2 +- 9 files changed, 1076 insertions(+), 2 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts diff --git a/packages/angular_devkit/build_angular/builders.json b/packages/angular_devkit/build_angular/builders.json index ca2606b06bf1..02e68abd3124 100644 --- a/packages/angular_devkit/build_angular/builders.json +++ b/packages/angular_devkit/build_angular/builders.json @@ -11,6 +11,11 @@ "schema": "./src/builders/browser/schema.json", "description": "Build a browser application." }, + "browser-esbuild": { + "implementation": "./src/builders/browser-esbuild", + "schema": "./src/builders/browser/schema.json", + "description": "Build a browser application." + }, "dev-server": { "implementation": "./src/builders/dev-server", "schema": "./src/builders/dev-server/schema.json", diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index abe66ea9967b..a19f499141b9 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -39,7 +39,7 @@ let linkerPluginCreator: */ let i18nPluginCreators: I18nPluginCreators | undefined; -async function requiresLinking(path: string, source: string): Promise { +export async function requiresLinking(path: string, source: string): Promise { // @angular/core and @angular/compiler will cause false positives // Also, TypeScript files do not require linking if (/[\\/]@angular[\\/](?:compiler|core)|\.tsx?$/.test(path)) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts new file mode 100644 index 000000000000..9d079f5160bb --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -0,0 +1,416 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { CompilerHost } from '@angular/compiler-cli'; +import { transformAsync } from '@babel/core'; +import * as assert from 'assert'; +import type { OnStartResult, PartialMessage, PartialNote, Plugin, PluginBuild } from 'esbuild'; +import { promises as fs } from 'fs'; +import * as path from 'path'; +import ts from 'typescript'; +import angularApplicationPreset from '../../babel/presets/application'; +import { requiresLinking } from '../../babel/webpack-loader'; +import { loadEsmModule } from '../../utils/load-esm'; +import { BundleStylesheetOptions, bundleStylesheetText } from './stylesheets'; + +interface EmitFileResult { + content?: string; + map?: string; + dependencies: readonly string[]; + hash?: Uint8Array; +} +type FileEmitter = (file: string) => Promise; + +/** + * Converts TypeScript Diagnostic related information into an esbuild compatible note object. + * Related information is a subset of a full TypeScript Diagnostic and also used for diagnostic + * notes associated with the main Diagnostic. + * @param diagnostic The TypeScript diagnostic relative information to convert. + * @param host A TypeScript FormatDiagnosticsHost instance to use during conversion. + * @returns An esbuild diagnostic message as a PartialMessage object + */ +function convertTypeScriptDiagnosticInfo( + info: ts.DiagnosticRelatedInformation, + host: ts.FormatDiagnosticsHost, + textPrefix?: string, +): PartialNote { + let text = ts.flattenDiagnosticMessageText(info.messageText, host.getNewLine()); + if (textPrefix) { + text = textPrefix + text; + } + + const note: PartialNote = { text }; + + if (info.file) { + note.location = { + file: info.file.fileName, + length: info.length, + }; + + // Calculate the line/column location and extract the full line text that has the diagnostic + if (info.start) { + const { line, character } = ts.getLineAndCharacterOfPosition(info.file, info.start); + note.location.line = line + 1; + note.location.column = character; + + // The start position for the slice is the first character of the error line + const lineStartPosition = ts.getPositionOfLineAndCharacter(info.file, line, 0); + + // The end position for the slice is the first character of the next line or the length of + // the entire file if the line is the last line of the file (getPositionOfLineAndCharacter + // will error if a nonexistent line is passed). + const { line: lastLineOfFile } = ts.getLineAndCharacterOfPosition( + info.file, + info.file.text.length - 1, + ); + const lineEndPosition = + line < lastLineOfFile + ? ts.getPositionOfLineAndCharacter(info.file, line + 1, 0) + : info.file.text.length; + + note.location.lineText = info.file.text.slice(lineStartPosition, lineEndPosition).trimEnd(); + } + } + + return note; +} + +/** + * Converts a TypeScript Diagnostic message into an esbuild compatible message object. + * @param diagnostic The TypeScript diagnostic to convert. + * @param host A TypeScript FormatDiagnosticsHost instance to use during conversion. + * @returns An esbuild diagnostic message as a PartialMessage object + */ +function convertTypeScriptDiagnostic( + diagnostic: ts.Diagnostic, + host: ts.FormatDiagnosticsHost, +): PartialMessage { + let codePrefix = 'TS'; + let code = `${diagnostic.code}`; + if (diagnostic.source === 'ngtsc') { + codePrefix = 'NG'; + // Remove `-99` Angular prefix from diagnostic code + code = code.slice(3); + } + + const message: PartialMessage = { + ...convertTypeScriptDiagnosticInfo(diagnostic, host, `${codePrefix}${code}: `), + // Store original diagnostic for reference if needed downstream + detail: diagnostic, + }; + + if (diagnostic.relatedInformation?.length) { + message.notes = diagnostic.relatedInformation.map((info) => + convertTypeScriptDiagnosticInfo(info, host), + ); + } + + return message; +} + +// This is a non-watch version of the compiler code from `@ngtools/webpack` augmented for esbuild +// eslint-disable-next-line max-lines-per-function +export function createCompilerPlugin( + pluginOptions: { sourcemap: boolean; tsconfig: string; advancedOptimizations?: boolean }, + styleOptions: BundleStylesheetOptions, +): Plugin { + return { + name: 'angular-compiler', + // eslint-disable-next-line max-lines-per-function + async setup(build: PluginBuild): Promise { + // This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM. + // Once TypeScript provides support for retaining dynamic imports this workaround can be dropped. + const compilerCli = await loadEsmModule( + '@angular/compiler-cli', + ); + + // Temporary deep import for transformer support + const { + createAotTransformers, + mergeTransformers, + } = require('@ngtools/webpack/src/ivy/transformation'); + + // Setup defines based on the values provided by the Angular compiler-cli + build.initialOptions.define ??= {}; + for (const [key, value] of Object.entries(compilerCli.GLOBAL_DEFS_FOR_TERSER_WITH_AOT)) { + if (key in build.initialOptions.define) { + // Skip keys that have been manually provided + continue; + } + // esbuild requires values to be a string (actual strings need to be quoted). + // In this case, all provided values are booleans. + build.initialOptions.define[key] = value.toString(); + } + + // The tsconfig is loaded in setup instead of in start to allow the esbuild target build option to be modified. + // esbuild build options can only be modified in setup prior to starting the build. + const { + options: compilerOptions, + rootNames, + errors: configurationDiagnostics, + } = compilerCli.readConfiguration(pluginOptions.tsconfig, { + enableIvy: true, + noEmitOnError: false, + suppressOutputPathCheck: true, + outDir: undefined, + inlineSources: pluginOptions.sourcemap, + inlineSourceMap: pluginOptions.sourcemap, + sourceMap: false, + mapRoot: undefined, + sourceRoot: undefined, + declaration: false, + declarationMap: false, + allowEmptyCodegenFiles: false, + annotationsAs: 'decorators', + enableResourceInlining: false, + }); + + // Adjust the esbuild output target based on the tsconfig target + if ( + compilerOptions.target === undefined || + compilerOptions.target <= ts.ScriptTarget.ES2015 + ) { + build.initialOptions.target = 'es2015'; + } else if (compilerOptions.target >= ts.ScriptTarget.ESNext) { + build.initialOptions.target = 'esnext'; + } else { + build.initialOptions.target = ts.ScriptTarget[compilerOptions.target].toLowerCase(); + } + + // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files + let fileEmitter: FileEmitter | undefined; + + build.onStart(async () => { + const result: OnStartResult = {}; + + // Create TypeScript compiler host + const host = ts.createIncrementalCompilerHost(compilerOptions); + + // Temporarily add a readResource hook to allow for a transformResource hook. + // Once the AOT compiler allows only a transformResource hook this can be removed. + (host as CompilerHost).readResource = function (fileName) { + // Provide same no file found behavior as @ngtools/webpack + return this.readFile(fileName) ?? ''; + }; + + // Add an AOT compiler resource transform hook + (host as CompilerHost).transformResource = async function (data, context) { + // Only style resources are transformed currently + if (context.type !== 'style') { + return null; + } + + // The file with the resource content will either be an actual file (resourceFile) + // or the file containing the inline component style text (containingFile). + const file = context.resourceFile ?? context.containingFile; + + const { contents, errors, warnings } = await bundleStylesheetText( + data, + { + resolvePath: path.dirname(file), + virtualName: file, + }, + styleOptions, + ); + + (result.errors ??= []).push(...errors); + (result.warnings ??= []).push(...warnings); + + return { content: contents }; + }; + + // Create the Angular specific program that contains the Angular compiler + const angularProgram = new compilerCli.NgtscProgram(rootNames, compilerOptions, host); + const angularCompiler = angularProgram.compiler; + const { ignoreForDiagnostics, ignoreForEmit } = angularCompiler; + const typeScriptProgram = angularProgram.getTsProgram(); + + const builder = ts.createAbstractBuilder(typeScriptProgram, host); + + await angularCompiler.analyzeAsync(); + + function* collectDiagnostics() { + // Collect program level diagnostics + yield* configurationDiagnostics; + yield* angularCompiler.getOptionDiagnostics(); + yield* builder.getOptionsDiagnostics(); + yield* builder.getGlobalDiagnostics(); + + // Collect source file specific diagnostics + const OptimizeFor = compilerCli.OptimizeFor; + for (const sourceFile of builder.getSourceFiles()) { + if (ignoreForDiagnostics.has(sourceFile)) { + continue; + } + + yield* builder.getSyntacticDiagnostics(sourceFile); + yield* builder.getSemanticDiagnostics(sourceFile); + + const angularDiagnostics = angularCompiler.getDiagnosticsForFile( + sourceFile, + OptimizeFor.WholeProgram, + ); + yield* angularDiagnostics; + } + } + + for (const diagnostic of collectDiagnostics()) { + const message = convertTypeScriptDiagnostic(diagnostic, host); + if (diagnostic.category === ts.DiagnosticCategory.Error) { + (result.errors ??= []).push(message); + } else { + (result.warnings ??= []).push(message); + } + } + + fileEmitter = createFileEmitter( + builder, + mergeTransformers( + angularCompiler.prepareEmit().transformers, + createAotTransformers(builder, {}), + ), + () => [], + ); + + return result; + }); + + build.onLoad( + { filter: compilerOptions.allowJs ? /\.[cm]?[jt]sx?$/ : /\.[cm]?tsx?$/ }, + async (args) => { + assert.ok(fileEmitter, 'Invalid plugin execution order'); + + const typescriptResult = await fileEmitter(args.path); + if (!typescriptResult) { + // No TS result indicates the file is not part of the TypeScript program. + // If allowJs is enabled and the file is JS then defer to the next load hook. + if (compilerOptions.allowJs && /\.[cm]?js$/.test(args.path)) { + return undefined; + } + + // Otherwise return an error + return { + errors: [ + { + text: 'File is missing from the TypeScript compilation.', + location: { file: args.path }, + notes: [ + { + text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, + }, + ], + }, + ], + }; + } + + const data = typescriptResult.content ?? ''; + const babelResult = await transformAsync(data, { + filename: args.path, + inputSourceMap: (pluginOptions.sourcemap ? undefined : false) as undefined, + sourceMaps: pluginOptions.sourcemap ? 'inline' : false, + compact: false, + configFile: false, + babelrc: false, + browserslistConfigFile: false, + plugins: [], + presets: [ + [ + angularApplicationPreset, + { + forceAsyncTransformation: data.includes('async'), + optimize: pluginOptions.advancedOptimizations && {}, + }, + ], + ], + }); + + return { + contents: babelResult?.code ?? '', + loader: 'js', + }; + }, + ); + + build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => { + const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(args.path); + + const linkerPluginCreator = ( + await loadEsmModule( + '@angular/compiler-cli/linker/babel', + ) + ).createEs2015LinkerPlugin; + + const data = await fs.readFile(args.path, 'utf-8'); + const result = await transformAsync(data, { + filename: args.path, + inputSourceMap: (pluginOptions.sourcemap ? undefined : false) as undefined, + sourceMaps: pluginOptions.sourcemap ? 'inline' : false, + compact: false, + configFile: false, + babelrc: false, + browserslistConfigFile: false, + plugins: [], + presets: [ + [ + angularApplicationPreset, + { + angularLinker: { + shouldLink: await requiresLinking(args.path, data), + jitMode: false, + linkerPluginCreator, + }, + forceAsyncTransformation: + !/[\\/][_f]?esm2015[\\/]/.test(args.path) && data.includes('async'), + optimize: pluginOptions.advancedOptimizations && { + looseEnums: angularPackage, + pureTopLevel: angularPackage, + }, + }, + ], + ], + }); + + return { + contents: result?.code ?? data, + loader: 'js', + }; + }); + }, + }; +} + +function createFileEmitter( + program: ts.BuilderProgram, + transformers: ts.CustomTransformers = {}, + onAfterEmit?: (sourceFile: ts.SourceFile) => void, +): FileEmitter { + return async (file: string) => { + const sourceFile = program.getSourceFile(file); + if (!sourceFile) { + return undefined; + } + + let content: string | undefined; + program.emit( + sourceFile, + (filename, data) => { + if (/\.[cm]?js$/.test(filename)) { + content = data; + } + }, + undefined /* cancellationToken */, + undefined /* emitOnlyDtsFiles */, + transformers, + ); + + onAfterEmit?.(sourceFile); + + return { content, dependencies: [] }; + }; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts new file mode 100644 index 000000000000..62f592cd6b54 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -0,0 +1,72 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { BuilderContext } from '@angular-devkit/architect'; +import { + BuildFailure, + BuildOptions, + BuildResult, + Message, + OutputFile, + build, + formatMessages, +} from 'esbuild'; + +/** + * Determines if an unknown value is an esbuild BuildFailure error object thrown by esbuild. + * @param value A potential esbuild BuildFailure error object. + * @returns `true` if the object is determined to be a BuildFailure object; otherwise, `false`. + */ +export function isEsBuildFailure(value: unknown): value is BuildFailure { + return !!value && typeof value === 'object' && 'errors' in value && 'warnings' in value; +} + +/** + * Executes the esbuild build function and normalizes the build result in the event of a + * build failure that results in no output being generated. + * All builds use the `write` option with a value of `false` to allow for the output files + * build result array to be populated. + * + * @param options The esbuild options object to use when building. + * @returns If output files are generated, the full esbuild BuildResult; if not, the + * warnings and errors for the attempted build. + */ +export async function bundle( + options: BuildOptions, +): Promise< + (BuildResult & { outputFiles: OutputFile[] }) | (BuildFailure & { outputFiles?: never }) +> { + try { + return await build({ + ...options, + write: false, + }); + } catch (failure) { + // Build failures will throw an exception which contains errors/warnings + if (isEsBuildFailure(failure)) { + return failure; + } else { + throw failure; + } + } +} + +export async function logMessages( + context: BuilderContext, + { errors, warnings }: { errors: Message[]; warnings: Message[] }, +): Promise { + if (warnings.length) { + const warningMessages = await formatMessages(warnings, { kind: 'warning', color: true }); + context.logger.warn(warningMessages.join('\n')); + } + + if (errors.length) { + const errorMessages = await formatMessages(errors, { kind: 'error', color: true }); + context.logger.error(errorMessages.join('\n')); + } +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts new file mode 100644 index 000000000000..ae10d094a336 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -0,0 +1,80 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { BuilderContext } from '@angular-devkit/architect'; +import { Schema as BrowserBuilderOptions } from '../browser/schema'; + +const UNSUPPORTED_OPTIONS: Array = [ + 'allowedCommonJsDependencies', + 'budgets', + 'extractLicenses', + 'fileReplacements', + 'progress', + 'scripts', + 'statsJson', + + // * i18n support + 'localize', + // The following two have no effect when localize is not enabled + // 'i18nDuplicateTranslation', + // 'i18nMissingTranslation', + + // * Serviceworker support + 'ngswConfigPath', + 'serviceWorker', + + // * Stylesheet preprocessor support + 'inlineStyleLanguage', + // The following option has no effect until preprocessors are supported + // 'stylePreprocessorOptions', + + // * Watch mode + 'watch', + 'poll', + + // * Deprecated + 'deployUrl', + + // * Always enabled with esbuild + // 'commonChunk', + + // * Currently unsupported by esbuild + 'namedChunks', + 'vendorChunk', + 'webWorkerTsConfig', +]; + +export function logExperimentalWarnings(options: BrowserBuilderOptions, context: BuilderContext) { + // Warn about experimental status of this builder + context.logger.warn( + `The esbuild browser application builder ('browser-esbuild') is currently experimental.`, + ); + + // Validate supported options + // Currently only a subset of the Webpack-based browser builder options are supported. + for (const unsupportedOption of UNSUPPORTED_OPTIONS) { + const value = options[unsupportedOption]; + + if (value === undefined || value === false) { + continue; + } + if (Array.isArray(value) && value.length === 0) { + continue; + } + if (typeof value === 'object' && Object.keys(value).length === 0) { + continue; + } + if (unsupportedOption === 'inlineStyleLanguage' && value === 'css') { + continue; + } + + context.logger.warn( + `The '${unsupportedOption}' option is currently unsupported by this experimental builder and will be ignored.`, + ); + } +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts new file mode 100644 index 000000000000..d4da21e528b9 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -0,0 +1,314 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; +import * as assert from 'assert'; +import type { OutputFile } from 'esbuild'; +import { promises as fs } from 'fs'; +import * as path from 'path'; +import { NormalizedOptimizationOptions, deleteOutputDir } from '../../utils'; +import { copyAssets } from '../../utils/copy-assets'; +import { FileInfo } from '../../utils/index-file/augment-index-html'; +import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; +import { generateEntryPoints } from '../../utils/package-chunk-sort'; +import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; +import { resolveGlobalStyles } from '../../webpack/configs'; +import { Schema as BrowserBuilderOptions, SourceMapClass } from '../browser/schema'; +import { createCompilerPlugin } from './compiler-plugin'; +import { bundle, logMessages } from './esbuild'; +import { logExperimentalWarnings } from './experimental-warnings'; +import { normalizeOptions } from './options'; +import { bundleStylesheetText } from './stylesheets'; + +/** + * Main execution function for the esbuild-based application builder. + * The options are compatible with the Webpack-based builder. + * @param options The browser builder options to use when setting up the application build + * @param context The Architect builder context object + * @returns A promise with the builder result output + */ +// eslint-disable-next-line max-lines-per-function +export async function execute( + options: BrowserBuilderOptions, + context: BuilderContext, +): Promise { + const startTime = Date.now(); + + // Only AOT is currently supported + if (options.aot !== true) { + context.logger.error( + 'JIT mode is currently not supported by this experimental builder. AOT mode must be used.', + ); + + return { success: false }; + } + + // Inform user of experimental status of builder and options + logExperimentalWarnings(options, context); + + // Determine project name from builder context target + const projectName = context.target?.project; + if (!projectName) { + context.logger.error(`The 'browser-esbuild' builder requires a target to be specified.`); + + return { success: false }; + } + + const { + workspaceRoot, + mainEntryPoint, + polyfillsEntryPoint, + optimizationOptions, + outputPath, + sourcemapOptions, + tsconfig, + assets, + outputNames, + } = await normalizeOptions(context, projectName, options); + + // Clean output path if enabled + if (options.deleteOutputPath) { + deleteOutputDir(workspaceRoot, options.outputPath); + } + + // Setup bundler entry points + const entryPoints: Record = { + main: mainEntryPoint, + }; + if (polyfillsEntryPoint) { + entryPoints['polyfills'] = polyfillsEntryPoint; + } + // Create reverse lookup used during index HTML generation + const entryPointNameLookup: ReadonlyMap = new Map( + Object.entries(entryPoints).map( + ([name, filePath]) => [path.relative(workspaceRoot, filePath), name] as const, + ), + ); + + // Execute esbuild + const result = await bundleCode( + workspaceRoot, + entryPoints, + outputNames, + options, + optimizationOptions, + sourcemapOptions, + tsconfig, + ); + + // Log all warnings and errors generated during bundling + await logMessages(context, result); + + // Return if the bundling failed to generate output files or there are errors + if (!result.outputFiles || result.errors.length) { + return { success: false }; + } + + // Structure the bundling output files + const initialFiles: FileInfo[] = []; + const outputFiles: OutputFile[] = []; + for (const outputFile of result.outputFiles) { + // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot + const relativeFilePath = path.relative(workspaceRoot, outputFile.path); + const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; + if (entryPoint) { + // An entryPoint value indicates an initial file + initialFiles.push({ + // Remove leading directory separator + file: outputFile.path.slice(1), + name: entryPointNameLookup.get(entryPoint) ?? '', + extension: path.extname(outputFile.path), + }); + } + outputFiles.push(outputFile); + } + + // Create output directory if needed + try { + await fs.mkdir(outputPath, { recursive: true }); + } catch (e) { + const reason = 'message' in e ? e.message : 'Unknown error'; + context.logger.error('Unable to create output directory: ' + reason); + + return { success: false }; + } + + // Process global stylesheets + if (options.styles) { + // resolveGlobalStyles is temporarily reused from the Webpack builder code + const { entryPoints: stylesheetEntrypoints, noInjectNames } = resolveGlobalStyles( + options.styles, + workspaceRoot, + !!options.preserveSymlinks, + ); + for (const [name, files] of Object.entries(stylesheetEntrypoints)) { + const virtualEntryData = files.map((file) => `@import '${file}';`).join('\n'); + const sheetResult = await bundleStylesheetText( + virtualEntryData, + { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, + { + optimization: !!optimizationOptions.styles.minify, + sourcemap: !!sourcemapOptions.styles, + outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, + }, + ); + + await logMessages(context, sheetResult); + if (!sheetResult.path) { + // Failed to process the stylesheet + assert.ok( + sheetResult.errors.length, + `Global stylesheet processing for '${name}' failed with no errors.`, + ); + + return { success: false }; + } + + // The virtual stylesheets will be named `stdin` by esbuild. This must be replaced + // with the actual name of the global style and the leading directory separator must + // also be removed to make the path relative. + const sheetPath = sheetResult.path.replace('stdin', name).slice(1); + outputFiles.push(createOutputFileFromText(sheetPath, sheetResult.contents)); + if (sheetResult.map) { + outputFiles.push(createOutputFileFromText(sheetPath + '.map', sheetResult.map)); + } + if (!noInjectNames.includes(name)) { + initialFiles.push({ + file: sheetPath, + name, + extension: '.css', + }); + } + outputFiles.push(...sheetResult.resourceFiles); + } + } + + // Generate index HTML file + if (options.index) { + const entrypoints = generateEntryPoints({ + scripts: options.scripts ?? [], + styles: options.styles ?? [], + }); + + // Create an index HTML generator that reads from the in-memory output files + const indexHtmlGenerator = new IndexHtmlGenerator({ + indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), + entrypoints, + sri: options.subresourceIntegrity, + optimization: optimizationOptions, + crossOrigin: options.crossOrigin, + }); + indexHtmlGenerator.readAsset = async function (path: string): Promise { + // Remove leading directory separator + path = path.slice(1); + const file = outputFiles.find((file) => file.path === path); + if (file) { + return file.text; + } + + throw new Error(`Output file does not exist: ${path}`); + }; + + const { content, warnings, errors } = await indexHtmlGenerator.process({ + baseHref: options.baseHref, + lang: undefined, + outputPath: '/', // Virtual output path to support reading in-memory files + files: initialFiles, + }); + + for (const error of errors) { + context.logger.error(error); + } + for (const warning of warnings) { + context.logger.warn(warning); + } + + outputFiles.push(createOutputFileFromText(getIndexOutputFile(options.index), content)); + } + + // Copy assets + if (assets) { + await copyAssets(assets, [outputPath], workspaceRoot); + } + + // Write output files + await Promise.all( + outputFiles.map((file) => fs.writeFile(path.join(outputPath, file.path), file.contents)), + ); + + context.logger.info(`Complete. [${(Date.now() - startTime) / 1000} seconds]`); + + return { success: true }; +} + +function createOutputFileFromText(path: string, text: string): OutputFile { + return { + path, + text, + get contents() { + return Buffer.from(this.text, 'utf-8'); + }, + }; +} + +async function bundleCode( + workspaceRoot: string, + entryPoints: Record, + outputNames: { bundles: string; media: string }, + options: BrowserBuilderOptions, + optimizationOptions: NormalizedOptimizationOptions, + sourcemapOptions: SourceMapClass, + tsconfig: string, +) { + return bundle({ + absWorkingDir: workspaceRoot, + bundle: true, + format: 'esm', + entryPoints, + entryNames: outputNames.bundles, + assetNames: outputNames.media, + target: 'es2020', + mainFields: ['es2020', 'browser', 'module', 'main'], + conditions: ['es2020', 'module'], + resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], + logLevel: options.verbose ? 'debug' : 'silent', + metafile: true, + minify: optimizationOptions.scripts, + pure: ['forwardRef'], + outdir: '/', + sourcemap: sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true), + splitting: true, + tsconfig, + write: false, + platform: 'browser', + preserveSymlinks: options.preserveSymlinks, + plugins: [ + createCompilerPlugin( + // JS/TS options + { + sourcemap: !!sourcemapOptions.scripts, + tsconfig, + advancedOptimizations: options.buildOptimizer, + }, + // Component stylesheet options + { + workspaceRoot, + optimization: !!optimizationOptions.styles.minify, + sourcemap: !!sourcemapOptions.styles, + outputNames, + }, + ), + ], + define: { + 'ngDevMode': optimizationOptions.scripts ? 'false' : 'true', + 'ngJitMode': 'false', + }, + }); +} + +export default createBuilder(execute); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts new file mode 100644 index 000000000000..c07a5a1588ac --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -0,0 +1,74 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { BuilderContext } from '@angular-devkit/architect'; +import * as path from 'path'; +import { normalizeAssetPatterns, normalizeOptimization, normalizeSourceMaps } from '../../utils'; +import { Schema as BrowserBuilderOptions, OutputHashing } from '../browser/schema'; + +/** + * Normalize the user provided options by creating full paths for all path based options + * and converting multi-form options into a single form that can be directly used + * by the build process. + * + * @param context The context for current builder execution. + * @param projectName The name of the project for the current execution. + * @param options An object containing the options to use for the build. + * @returns An object containing normalized options required to perform the build. + */ +export async function normalizeOptions( + context: BuilderContext, + projectName: string, + options: BrowserBuilderOptions, +) { + const workspaceRoot = context.workspaceRoot; + const projectMetadata = await context.getProjectMetadata(projectName); + const projectRoot = path.join(workspaceRoot, (projectMetadata.root as string | undefined) ?? ''); + const projectSourceRoot = path.join( + workspaceRoot, + (projectMetadata.sourceRoot as string | undefined) ?? 'src', + ); + + // Normalize options + const mainEntryPoint = path.join(workspaceRoot, options.main); + const polyfillsEntryPoint = options.polyfills && path.join(workspaceRoot, options.polyfills); + const tsconfig = path.join(workspaceRoot, options.tsConfig); + const outputPath = path.join(workspaceRoot, options.outputPath); + const optimizationOptions = normalizeOptimization(options.optimization); + const sourcemapOptions = normalizeSourceMaps(options.sourceMap ?? false); + const assets = options.assets?.length + ? normalizeAssetPatterns(options.assets, workspaceRoot, projectRoot, projectSourceRoot) + : undefined; + + const outputNames = { + bundles: + options.outputHashing === OutputHashing.All || options.outputHashing === OutputHashing.Bundles + ? '[name].[hash]' + : '[name]', + media: + options.outputHashing === OutputHashing.All || options.outputHashing === OutputHashing.Media + ? '[name].[hash]' + : '[name]', + }; + if (options.resourcesOutputPath) { + outputNames.media = path.join(options.resourcesOutputPath, outputNames.media); + } + + return { + workspaceRoot, + mainEntryPoint, + polyfillsEntryPoint, + optimizationOptions, + outputPath, + sourcemapOptions, + tsconfig, + projectRoot, + assets, + outputNames, + }; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts new file mode 100644 index 000000000000..215eac7e8474 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -0,0 +1,113 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { BuildOptions, OutputFile } from 'esbuild'; +import * as path from 'path'; +import { bundle } from './esbuild'; + +export interface BundleStylesheetOptions { + workspaceRoot?: string; + optimization: boolean; + preserveSymlinks?: boolean; + sourcemap: boolean | 'external'; + outputNames?: { bundles?: string; media?: string }; +} + +async function bundleStylesheet( + entry: Required | Pick>, + options: BundleStylesheetOptions, +) { + // Execute esbuild + const result = await bundle({ + ...entry, + absWorkingDir: options.workspaceRoot, + bundle: true, + entryNames: options.outputNames?.bundles, + assetNames: options.outputNames?.media, + logLevel: 'silent', + minify: options.optimization, + sourcemap: options.sourcemap, + outdir: '/', + write: false, + platform: 'browser', + preserveSymlinks: options.preserveSymlinks, + conditions: ['style'], + mainFields: ['style'], + plugins: [ + // TODO: preprocessor plugins + ], + }); + + // Extract the result of the bundling from the output files + let contents = ''; + let map; + let outputPath; + const resourceFiles: OutputFile[] = []; + if (result.outputFiles) { + for (const outputFile of result.outputFiles) { + const filename = path.basename(outputFile.path); + if (filename.endsWith('.css')) { + outputPath = outputFile.path; + contents = outputFile.text; + } else if (filename.endsWith('.css.map')) { + map = outputFile.text; + } else { + // The output files could also contain resources (images/fonts/etc.) that were referenced + resourceFiles.push(outputFile); + } + } + } + + return { + errors: result.errors, + warnings: result.warnings, + contents, + map, + path: outputPath, + resourceFiles, + }; +} + +/** + * Bundle a stylesheet that exists as a file on the filesystem. + * + * @param filename The path to the file to bundle. + * @param options The stylesheet bundling options to use. + * @returns The bundle result object. + */ +export async function bundleStylesheetFile(filename: string, options: BundleStylesheetOptions) { + return bundleStylesheet({ entryPoints: [filename] }, options); +} + +/** + * Bundle stylesheet text data from a string. + * + * @param data The string content of a stylesheet to bundle. + * @param dataOptions The options to use to resolve references and name output of the stylesheet data. + * @param bundleOptions The stylesheet bundling options to use. + * @returns The bundle result object. + */ +export async function bundleStylesheetText( + data: string, + dataOptions: { resolvePath: string; virtualName?: string }, + bundleOptions: BundleStylesheetOptions, +) { + const result = bundleStylesheet( + { + stdin: { + contents: data, + sourcefile: dataOptions.virtualName, + resolveDir: dataOptions.resolvePath, + loader: 'css', + }, + }, + bundleOptions, + ); + + return result; +} diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 62c373fd36ed..91669dfa097a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -26,7 +26,7 @@ import { normalizeExtraEntryPoints, } from '../utils/helpers'; -function resolveGlobalStyles( +export function resolveGlobalStyles( styleEntrypoints: StyleElement[], root: string, preserveSymlinks: boolean, From ef23b39dd8959c57acdbc14e02ff1a2d9ea652cb Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 14 Apr 2022 13:57:38 -0400 Subject: [PATCH 0319/1388] ci: add initial E2E test subset for experimental esbuild builder The basic suite of E2E tests are now run against the newly introduced experimental esbuild-based builder (`browser-esbuild`). Several tests are currently ignored based on the current feature set of the builder. --- .circleci/config.yml | 5 +++++ tests/legacy-cli/e2e/setup/500-create-project.ts | 9 +++++++++ tests/legacy-cli/e2e/tests/basic/build.ts | 11 ++++++++++- tests/legacy-cli/e2e/tests/basic/styles-array.ts | 6 ++++++ tests/legacy-cli/e2e/tests/build/prod-build.ts | 12 ++++++++---- tests/legacy-cli/e2e_runner.ts | 2 +- 6 files changed, 39 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f319006a21f6..a76ddba69adb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -220,6 +220,11 @@ jobs: command: | mkdir /mnt/ramdisk/e2e-yarn node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" + - run: + name: Execute CLI E2E Tests Subset with esbuild builder + command: | + mkdir /mnt/ramdisk/e2e-esbuild + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" - fail_fast test-browsers: diff --git a/tests/legacy-cli/e2e/setup/500-create-project.ts b/tests/legacy-cli/e2e/setup/500-create-project.ts index b8cb4b058fb4..1d6ec58f2beb 100644 --- a/tests/legacy-cli/e2e/setup/500-create-project.ts +++ b/tests/legacy-cli/e2e/setup/500-create-project.ts @@ -33,6 +33,15 @@ export default async function () { // Ensure local test registry is used inside a project await writeFile('.npmrc', `registry=${testRegistry}`); } + + // Setup esbuild builder if requested on the commandline + const useEsbuildBuilder = !!getGlobalVariable('argv')['esbuild']; + if (useEsbuildBuilder) { + await updateJsonFile('angular.json', (json) => { + json['projects']['test-project']['architect']['build']['builder'] = + '@angular-devkit/build-angular:browser-esbuild'; + }); + } } await prepareProjectForE2e('test-project'); diff --git a/tests/legacy-cli/e2e/tests/basic/build.ts b/tests/legacy-cli/e2e/tests/basic/build.ts index 5f1ed9eae130..390797ebf6b8 100644 --- a/tests/legacy-cli/e2e/tests/basic/build.ts +++ b/tests/legacy-cli/e2e/tests/basic/build.ts @@ -1,3 +1,4 @@ +import { getGlobalVariable } from '../../utils/env'; import { expectFileToMatch } from '../../utils/fs'; import { ng } from '../../utils/process'; @@ -18,7 +19,15 @@ export default async function () { // Production build const { stderr: stderrProgress, stdout } = await ng('build', '--progress'); - await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{16}\.js/); + if (getGlobalVariable('argv')['esbuild']) { + // esbuild uses an 8 character hash + await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{8}\.js/); + + // EXPERIMENTAL_ESBUILD: esbuild does not yet output build stats + return; + } else { + await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{16}\.js/); + } if (!stdout.includes('Initial Total')) { throw new Error(`Expected stdout to contain 'Initial Total' but it did not.\n${stdout}`); diff --git a/tests/legacy-cli/e2e/tests/basic/styles-array.ts b/tests/legacy-cli/e2e/tests/basic/styles-array.ts index f6c05c43ef01..7466fb640759 100644 --- a/tests/legacy-cli/e2e/tests/basic/styles-array.ts +++ b/tests/legacy-cli/e2e/tests/basic/styles-array.ts @@ -1,3 +1,4 @@ +import { getGlobalVariable } from '../../utils/env'; import { expectFileToMatch, writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -38,6 +39,11 @@ export default async function () { '', ); + if (getGlobalVariable('argv')['esbuild']) { + // EXPERIMENTAL_ESBUILD: esbuild does not yet output build stats + return; + } + // Non injected styles should be listed under lazy chunk files if (!/Lazy Chunk Files.*\srenamed-lazy-style\.css/m.test(stdout)) { throw new Error(`Expected "renamed-lazy-style.css" to be listed under "Lazy Chunk Files".`); diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index d40a35a26716..f180be4138c6 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -1,5 +1,6 @@ import { statSync } from 'fs'; import { join } from 'path'; +import { getGlobalVariable } from '../../utils/env'; import { expectFileToExist, expectFileToMatch, readFile } from '../../utils/fs'; import { noSilentNg } from '../../utils/process'; @@ -32,12 +33,15 @@ export default async function () { await noSilentNg('build'); await expectFileToExist(join(process.cwd(), 'dist')); // Check for cache busting hash script src - await expectFileToMatch('dist/test-project/index.html', /main\.[0-9a-f]{16}\.js/); - await expectFileToMatch('dist/test-project/index.html', /styles\.[0-9a-f]{16}\.css/); - await expectFileToMatch('dist/test-project/3rdpartylicenses.txt', /MIT/); + await expectFileToMatch('dist/test-project/index.html', /main\.[0-9a-zA-Z]{8,16}\.js/); + await expectFileToMatch('dist/test-project/index.html', /styles\.[0-9a-zA-Z]{8,16}\.css/); + if (!getGlobalVariable('argv')['esbuild']) { + // EXPERIMENTAL_ESBUILD: esbuild does not yet extract license text + await expectFileToMatch('dist/test-project/3rdpartylicenses.txt', /MIT/); + } const indexContent = await readFile('dist/test-project/index.html'); - const mainPath = indexContent.match(/src="(main\.[a-z0-9]{0,32}\.js)"/)[1]; + const mainPath = indexContent.match(/src="(main\.[0-9a-zA-Z]{0,32}\.js)"/)[1]; // Content checks await expectFileToMatch(`dist/test-project/${mainPath}`, bootstrapRegExp); diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 8827e36d7dc6..e4386cd324b6 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -38,7 +38,7 @@ Error.stackTraceLimit = Infinity; * If unnamed flags are passed in, the list of tests will be filtered to include only those passed. */ const argv = yargsParser(process.argv.slice(2), { - boolean: ['debug', 'ng-snapshots', 'noglobal', 'nosilent', 'noproject', 'verbose'], + boolean: ['debug', 'esbuild', 'ng-snapshots', 'noglobal', 'nosilent', 'noproject', 'verbose'], string: ['devkit', 'glob', 'ignore', 'reuse', 'ng-tag', 'tmpdir', 'ng-version'], configuration: { 'dot-notation': false, From 94288c7414b79432c12c21947320a549c1752266 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 25 Apr 2022 04:53:42 +0000 Subject: [PATCH 0320/1388] build: update angular to e9949aa --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++++----- yarn.lock | 69 +++++++++---------- 6 files changed, 52 insertions(+), 57 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 799662ee8617..17ec4d18604b 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@63547286e1423fe55df2e4b8a93b435f982f52a1 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index e57ead0b48a9..09349cc6b168 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@63547286e1423fe55df2e4b8a93b435f982f52a1 + - uses: angular/dev-infra/github-actions/feature-request@2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index fa3c9fc6e4dd..f7f801ba1239 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@63547286e1423fe55df2e4b8a93b435f982f52a1 + - uses: angular/dev-infra/github-actions/lock-closed@2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 6872f26d98cb..46991489e9df 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.14", "@angular/compiler-cli": "14.0.0-next.14", "@angular/core": "14.0.0-next.14", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#4b4f4e4269a93c14f511c087bb14cdbc58a5ca70", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#619a2bb53af67cf5e1906421a77b76086dc87b19", "@angular/forms": "14.0.0-next.14", "@angular/localize": "14.0.0-next.14", "@angular/material": "14.0.0-next.11", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 9de1f85d9ba2..34e84fec9591 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#3e7e4fc916cca0a0e33804084eefb7c506bb48d7", - "@angular/cdk": "github:angular/cdk-builds#6fd5d7e8af8c208810f73c0be529215707a527e0", - "@angular/common": "github:angular/common-builds#9f5ee7e60a3d175967374459c7f2a117dd2bb848", - "@angular/compiler": "github:angular/compiler-builds#b1d30e7a4a105a450e4ce356bcde998b9125e26f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f9dc00bcb64fc5cf94a8d2c195cebf3144af5ba1", - "@angular/core": "github:angular/core-builds#6d7714b2dded1ac93fb437068f85b9cc824ae757", - "@angular/forms": "github:angular/forms-builds#62e9e86f005b92edfb520312202d863c1cd5879b", - "@angular/language-service": "github:angular/language-service-builds#b33baf84f74d4ecc2e9596f5660fbc2992d27572", - "@angular/localize": "github:angular/localize-builds#bd16bb2e5dfac962bdf258e2f55203789acd796f", - "@angular/material": "github:angular/material-builds#01f81cd0ab0bcd368f8c007c4494fc2be6628e86", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5ef93f6b47a427bfaf49993fc9b336cb8188b3a7", - "@angular/platform-browser": "github:angular/platform-browser-builds#cd6c9481cdeaea846eb0a4c4ce83eec1e194a66b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#f95f5d5c74b3545537e33a83b740300dab007600", - "@angular/platform-server": "github:angular/platform-server-builds#e71b94947bfce44f8b7bc5263f85ec2e060728da", - "@angular/router": "github:angular/router-builds#d5f9245c61e01730d4ae4706fbfb9591fcd0fe68", - "@angular/service-worker": "github:angular/service-worker-builds#cc599f42b5a89cc8759558d52e82996f9aa804b8" + "@angular/animations": "github:angular/animations-builds#e9949aa7abb06d9828ee7e9ba9b15cbcfc8b5f85", + "@angular/cdk": "github:angular/cdk-builds#39f12a8a702a577983fb3a925a2b1d651deb5033", + "@angular/common": "github:angular/common-builds#aae7a9dcfae4bb4c07b16ed29fb755aaa657277a", + "@angular/compiler": "github:angular/compiler-builds#0a041bea766e821642d8e7513cccb2375364ec5c", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#5f4b054e12baa109182629b1b7485a249be52416", + "@angular/core": "github:angular/core-builds#cd410bfe748e7f814145bbe3597b87b92a372c39", + "@angular/forms": "github:angular/forms-builds#7c980e47fd665587292624f090f56274939aac0f", + "@angular/language-service": "github:angular/language-service-builds#0ba130ecb184a1364fd3aefcfaf2e520eb019c80", + "@angular/localize": "github:angular/localize-builds#41c4b719ab1b990f4da82f078865993dbf3fbccf", + "@angular/material": "github:angular/material-builds#c9fa6e880dda5e576b8cf74172dc9e7953165ca0", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f125bf9670c1c685ab06f69f082d7dee00a1b1b2", + "@angular/platform-browser": "github:angular/platform-browser-builds#db334fc5f1a3f3b57b1eabf63c4b0868eaa37c33", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7395523816528e6c94d51ab2c4fd379555cb3482", + "@angular/platform-server": "github:angular/platform-server-builds#a9fb9bbd4b67caf2d9673385cea406d68d357105", + "@angular/router": "github:angular/router-builds#622574a1f111b1a83d25338d13185c9e628339a5", + "@angular/service-worker": "github:angular/service-worker-builds#978cd59e53b425872285620fd5d9b633a5dcf0d5" } } diff --git a/yarn.lock b/yarn.lock index 983d4e0d85fd..ead3cbce5526 100644 --- a/yarn.lock +++ b/yarn.lock @@ -174,10 +174,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#4b4f4e4269a93c14f511c087bb14cdbc58a5ca70": - version "0.0.0-63547286e1423fe55df2e4b8a93b435f982f52a1" - uid "4b4f4e4269a93c14f511c087bb14cdbc58a5ca70" - resolved "https://github.com/angular/dev-infra-private-builds.git#4b4f4e4269a93c14f511c087bb14cdbc58a5ca70" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#619a2bb53af67cf5e1906421a77b76086dc87b19": + version "0.0.0-2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7" + uid "619a2bb53af67cf5e1906421a77b76086dc87b19" + resolved "https://github.com/angular/dev-infra-private-builds.git#619a2bb53af67cf5e1906421a77b76086dc87b19" dependencies: "@angular-devkit/build-angular" "14.0.0-next.11" "@angular/benchpress" "0.3.0" @@ -189,7 +189,7 @@ "@bazel/runfiles" "5.4.0" "@bazel/terser" "5.4.0" "@bazel/typescript" "5.4.0" - "@microsoft/api-extractor" "7.22.2" + "@microsoft/api-extractor" "7.23.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -1483,32 +1483,32 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.17.1": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.17.1.tgz#2a6b7d8eec510ba1c7713c682d2a0c730074b29c" - integrity sha512-DCDtD8TdEpNk2lW4JvXgwwpxKy70P0JLad55iahwO8A+C63KYsrHIpAzo0FUauh5pwJ0v5QVNIJ+OBgKGteemg== +"@microsoft/api-extractor-model@7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.17.2.tgz#033b39a7bac4f3eee3e5ffd406d2af61cedc727e" + integrity sha512-fYfCeBeLm7jnZligC64qHiH4/vzswFLDfyPpX+uKO36OI2kIeMHrYG0zaezmuinKvE4vg1dAz38zZeDbPvBKGg== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.3" + "@rushstack/node-core-library" "3.45.4" -"@microsoft/api-extractor@7.22.2": - version "7.22.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.22.2.tgz#8957b5ec81ff8a76b9a8a0e6a1bac70eb9a1a974" - integrity sha512-G7vXz6UHz+qoaUGPf2k5Md4bSpHii9nFys3sIe3bmFUbmhAe+HfSB/dCn1PsLhW7tZfEXwMHTj7fbL5vcZkrEw== +"@microsoft/api-extractor@7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.23.0.tgz#8bd5a197e04b0ba92fb85e0f53b4d7cadd0a95b2" + integrity sha512-fbdX05RVE1EMA7nvyRHuS9nx1pryhjgURDx6pQlE/9yOXQ5PO7MpYdfWGaRsQwyYuU3+tPxgro819c0R3AK6KA== dependencies: - "@microsoft/api-extractor-model" "7.17.1" + "@microsoft/api-extractor-model" "7.17.2" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.3" - "@rushstack/rig-package" "0.3.10" - "@rushstack/ts-command-line" "4.10.9" + "@rushstack/node-core-library" "3.45.4" + "@rushstack/rig-package" "0.3.11" + "@rushstack/ts-command-line" "4.10.10" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" semver "~7.3.0" source-map "~0.6.1" - typescript "~4.5.2" + typescript "~4.6.3" "@microsoft/tsdoc-config@~0.16.1": version "0.16.1" @@ -1708,10 +1708,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.3": - version "3.45.3" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.3.tgz#8db2befbbf23969e08d2bc69d5d91ba812c01640" - integrity sha512-Rn0mxqC3MPb+YbvaeFcRWfcYHLwyZ99/ffYA8chpq5OpqoY+Mr1ycTbMvzl5AxWf1pYmi/2+Eo3iTOsQdYR8xw== +"@rushstack/node-core-library@3.45.4": + version "3.45.4" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.4.tgz#a5e1246c462940d16a5acc667c1ffe460b514087" + integrity sha512-FMoEQWjK7nWAO2uFgV1eVpVhY9ZDGOdIIomi9zTej64cKJ+8/Nvu+ny0xKaUDEjw/ALftN2D2ml7L0RDpW/Z9g== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1723,18 +1723,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.10": - version "0.3.10" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.10.tgz#cf8ba0935c6acc5bb62ef710d6eaec5895bbb3ed" - integrity sha512-4Z2HhXM4YBWOi4ZYFQNK6Yxz641v+cvc8NKiaNZh+RIdNb3D4Rfpy3XUkggbCozpfDriBfL1+KaXlJtfJfAIXw== +"@rushstack/rig-package@0.3.11": + version "0.3.11" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.11.tgz#92a05929822610e8b42f2ad330d9ea20afae5165" + integrity sha512-uI1/g5oQPtyrT9nStoyX/xgZSLa2b+srRFaDk3r1eqC7zA5th4/bvTGl2QfV3C9NcP+coSqmk5mFJkUfH6i3Lw== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.10.9": - version "4.10.9" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.9.tgz#a59958dbbe96ad18af9b93563a517c70014c4230" - integrity sha512-TE3eZgHNVHOY3p8lp38FoNEJUr0+swPb24sCcYuwlC+MHgMGXyJNM+p7l3TKSBRiY01XShoL2k601oGwL00KlA== +"@rushstack/ts-command-line@4.10.10": + version "4.10.10" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.10.tgz#69da17b03ce57795b67ea2aabf7c976c81816078" + integrity sha512-F+MH7InPDXqX40qvvcEsnvPpmg566SBpfFqj2fcCh8RjM6AyOoWlXc8zx7giBD3ZN85NVAEjZAgrcLU0z+R2yg== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -10294,16 +10294,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.3, typescript@~4.6.2: +typescript@4.6.3, typescript@~4.6.2, typescript@~4.6.3: version "4.6.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== -typescript@~4.5.2: - version "4.5.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" - integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== - ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" From 044101554dfbca07d74f2a4391f94875df7928d2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 22 Apr 2022 21:15:34 -0400 Subject: [PATCH 0321/1388] perf(@ngtools/webpack): use Webpack's built-in xxhash64 support Webpack provides built-in support for creating hashes using the xxhash64 algorithm via a WebAssembly module. This can be significantly faster than the previously used md5 algorithm. The Webpack peer dependency has also been update to a minimum of 5.54.0 to ensure xxhash64 supported is available. --- packages/ngtools/webpack/package.json | 2 +- packages/ngtools/webpack/src/ivy/plugin.ts | 7 +++++-- .../ngtools/webpack/src/resource_loader.ts | 18 ++++++++++++++---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 26e982955f8c..00a06e496452 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -24,7 +24,7 @@ "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", "typescript": "~4.6.2", - "webpack": "^5.30.0" + "webpack": "^5.54.0" }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index aaaf00a20a7b..8f62358cc998 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -8,7 +8,6 @@ import type { CompilerHost, CompilerOptions, NgtscProgram } from '@angular/compiler-cli'; import { strict as assert } from 'assert'; -import { createHash } from 'crypto'; import * as ts from 'typescript'; import type { Compilation, Compiler, Module, NormalModule } from 'webpack'; import { NgccProcessor } from '../ngcc_processor'; @@ -107,6 +106,7 @@ export class AngularWebpackPlugin { private builder?: ts.EmitAndSemanticDiagnosticsBuilderProgram; private sourceFileCache?: SourceFileCache; private webpackCache?: ReturnType; + private webpackCreateHash?: Compiler['webpack']['util']['createHash']; private readonly fileDependencies = new Map>(); private readonly requiredFilesToEmit = new Set(); private readonly requiredFilesToEmitCache = new Map(); @@ -141,6 +141,7 @@ export class AngularWebpackPlugin { // eslint-disable-next-line max-lines-per-function apply(compiler: Compiler): void { const { NormalModuleReplacementPlugin, util } = compiler.webpack; + this.webpackCreateHash = util.createHash; // Setup file replacements with webpack for (const [key, value] of Object.entries(this.pluginOptions.fileReplacements)) { @@ -745,9 +746,11 @@ export class AngularWebpackPlugin { filePath: string, content: string, ): Promise { + assert.ok(this.webpackCreateHash, 'File emitter is used prior to Webpack compilation'); + const historyData: FileEmitHistoryItem = { length: content.length, - hash: createHash('md5').update(content).digest(), + hash: this.webpackCreateHash('xxhash64').update(content).digest() as Uint8Array, }; if (this.webpackCache) { diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index 128ea1ca46d6..5219fd3dc812 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import { createHash } from 'crypto'; import * as path from 'path'; import * as vm from 'vm'; import type { Asset, Compilation } from 'webpack'; @@ -100,6 +99,7 @@ export class WebpackResourceLoader { this._reverseDependencies.set(file, new Set(resources)); } + // eslint-disable-next-line max-lines-per-function private async _compile( filePath?: string, data?: string, @@ -111,6 +111,16 @@ export class WebpackResourceLoader { throw new Error('WebpackResourceLoader cannot be used without parentCompilation'); } + const { context, webpack } = this._parentCompilation.compiler; + const { + EntryPlugin, + NormalModule, + library, + node, + sources, + util: { createHash }, + } = webpack; + const getEntry = (): string => { if (filePath) { return `${filePath}?${NG_COMPONENT_RESOURCE_QUERY}`; @@ -122,7 +132,9 @@ export class WebpackResourceLoader { ); } else if (data) { // Create a special URL for reading the resource from memory - return `angular-resource:${resourceType},${createHash('md5').update(data).digest('hex')}`; + return `angular-resource:${resourceType},${createHash('xxhash64') + .update(data) + .digest('hex')}`; } throw new Error(`"filePath", "resourceType" or "data" must be specified.`); @@ -150,8 +162,6 @@ export class WebpackResourceLoader { }, }; - const { context, webpack } = this._parentCompilation.compiler; - const { EntryPlugin, NormalModule, library, node, sources } = webpack; const childCompiler = this._parentCompilation.createChildCompiler( 'angular-compiler:resource', outputOptions, From 01297f450387dea02eafd6f5701c417ab5c5d844 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 19 Apr 2022 10:20:48 -0400 Subject: [PATCH 0322/1388] feat(@angular-devkit/schematics): support reading text content directly from a Tree The schematics `Tree` now contains an additional `readText` method that supports directly reading the content of a file as UTF-8 text. This avoids the need to manually decode a Buffer within a schematic when text content is needed. If a file path does not exist, an exception will be thrown. While this differs from the semantics of `read`, it helps reduce the amount of code needed for common schematic use cases. --- .../angular_devkit/schematics/index.md | 4 ++ .../schematics/src/tree/delegate.ts | 3 ++ .../schematics/src/tree/host-tree.ts | 37 +++++++++++++++---- .../schematics/src/tree/host-tree_spec.ts | 23 ++++++++++++ .../schematics/src/tree/interface.ts | 11 ++++++ .../schematics/src/tree/null.ts | 3 ++ .../schematics/src/tree/scoped.ts | 3 ++ 7 files changed, 76 insertions(+), 8 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/index.md b/goldens/public-api/angular_devkit/schematics/index.md index 0d16c2974b54..f78444d1c0ea 100644 --- a/goldens/public-api/angular_devkit/schematics/index.md +++ b/goldens/public-api/angular_devkit/schematics/index.md @@ -235,6 +235,8 @@ export class DelegateTree implements Tree_2 { // (undocumented) read(path: string): Buffer | null; // (undocumented) + readText(path: string): string; + // (undocumented) rename(from: string, to: string): void; // (undocumented) get root(): DirEntry; @@ -547,6 +549,8 @@ export class HostTree implements Tree_2 { // (undocumented) read(path: string): Buffer | null; // (undocumented) + readText(path: string): string; + // (undocumented) rename(from: string, to: string): void; // (undocumented) get root(): DirEntry; diff --git a/packages/angular_devkit/schematics/src/tree/delegate.ts b/packages/angular_devkit/schematics/src/tree/delegate.ts index 147997964d59..a8b8a758db79 100644 --- a/packages/angular_devkit/schematics/src/tree/delegate.ts +++ b/packages/angular_devkit/schematics/src/tree/delegate.ts @@ -35,6 +35,9 @@ export class DelegateTree implements Tree { read(path: string): Buffer | null { return this._other.read(path); } + readText(path: string): string { + return this._other.readText(path); + } exists(path: string): boolean { return this._other.exists(path); } diff --git a/packages/angular_devkit/schematics/src/tree/host-tree.ts b/packages/angular_devkit/schematics/src/tree/host-tree.ts index ba5b6b75f8fb..20eac5253dde 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree.ts @@ -18,6 +18,7 @@ import { } from '@angular-devkit/core'; import { EMPTY, Observable } from 'rxjs'; import { concatMap, map, mergeMap } from 'rxjs/operators'; +import { TextDecoder } from 'util'; import { ContentHasMutatedException, FileAlreadyExistException, @@ -162,10 +163,10 @@ export class HostTree implements Tree { return tree._ancestry.has(this._id); } if (tree instanceof DelegateTree) { - return this.isAncestorOf(((tree as unknown) as { _other: Tree })._other); + return this.isAncestorOf((tree as unknown as { _other: Tree })._other); } if (tree instanceof ScopedTree) { - return this.isAncestorOf(((tree as unknown) as { _base: Tree })._base); + return this.isAncestorOf((tree as unknown as { _base: Tree })._base); } return false; @@ -206,9 +207,9 @@ export class HostTree implements Tree { throw new MergeConflictException(path); } - this._record.overwrite(path, (content as {}) as virtualFs.FileBuffer).subscribe(); + this._record.overwrite(path, content as {} as virtualFs.FileBuffer).subscribe(); } else { - this._record.create(path, (content as {}) as virtualFs.FileBuffer).subscribe(); + this._record.create(path, content as {} as virtualFs.FileBuffer).subscribe(); } return; @@ -234,7 +235,7 @@ export class HostTree implements Tree { } // We use write here as merge validation has already been done, and we want to let // the CordHost do its job. - this._record.write(path, (content as {}) as virtualFs.FileBuffer).subscribe(); + this._record.write(path, content as {} as virtualFs.FileBuffer).subscribe(); return; } @@ -289,6 +290,26 @@ export class HostTree implements Tree { return entry ? entry.content : null; } + + readText(path: string): string { + const data = this.read(path); + if (data === null) { + throw new FileDoesNotExistException(path); + } + + const decoder = new TextDecoder('utf-8', { fatal: true }); + + try { + // With the `fatal` option enabled, invalid data will throw a TypeError + return decoder.decode(data); + } catch (e) { + if (e instanceof TypeError) { + throw new Error(`Failed to decode "${path}" as UTF-8 text.`); + } + throw e; + } + } + exists(path: string): boolean { return this._recordSync.isFile(this._normalizePath(path)); } @@ -337,7 +358,7 @@ export class HostTree implements Tree { throw new FileDoesNotExistException(p); } const c = typeof content == 'string' ? Buffer.from(content) : content; - this._record.overwrite(p, (c as {}) as virtualFs.FileBuffer).subscribe(); + this._record.overwrite(p, c as {} as virtualFs.FileBuffer).subscribe(); } beginUpdate(path: string): UpdateRecorder { const entry = this.get(path); @@ -371,7 +392,7 @@ export class HostTree implements Tree { throw new FileAlreadyExistException(p); } const c = typeof content == 'string' ? Buffer.from(content) : content; - this._record.create(p, (c as {}) as virtualFs.FileBuffer).subscribe(); + this._record.create(p, c as {} as virtualFs.FileBuffer).subscribe(); } delete(path: string): void { this._recordSync.delete(this._normalizePath(path)); @@ -476,7 +497,7 @@ export class FilterHostTree extends HostTree { return EMPTY; } - return newBackend.write(path, (content as {}) as virtualFs.FileBuffer); + return newBackend.write(path, content as {} as virtualFs.FileBuffer); }), ); }; diff --git a/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts b/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts index 9c1a499fd8e3..d0aeb3f6e529 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts @@ -11,6 +11,29 @@ import { FilterHostTree, HostTree } from './host-tree'; import { MergeStrategy } from './interface'; describe('HostTree', () => { + describe('readText', () => { + it('returns text when reading a file that exists', () => { + const tree = new HostTree(); + tree.create('/textfile1', 'abc'); + tree.create('/textfile2', '123'); + expect(tree.readText('/textfile1')).toEqual('abc'); + expect(tree.readText('/textfile2')).toEqual('123'); + }); + + it('throws an error when a file does not exist', () => { + const tree = new HostTree(); + const path = '/textfile1'; + expect(() => tree.readText(path)).toThrowError(`Path "${path}" does not exist.`); + }); + + it('throws an error when invalid UTF-8 characters are present', () => { + const tree = new HostTree(); + const path = '/textfile1'; + tree.create(path, Buffer.from([0xff, 0xff, 0xff, 0xff])); + expect(() => tree.readText(path)).toThrowError(`Failed to decode "${path}" as UTF-8 text.`); + }); + }); + describe('merge', () => { it('should create files from each tree', () => { const tree = new HostTree(); diff --git a/packages/angular_devkit/schematics/src/tree/interface.ts b/packages/angular_devkit/schematics/src/tree/interface.ts index e05be51aa6a3..17436762ad2a 100644 --- a/packages/angular_devkit/schematics/src/tree/interface.ts +++ b/packages/angular_devkit/schematics/src/tree/interface.ts @@ -83,6 +83,17 @@ export interface Tree { // Readonly. read(path: string): Buffer | null; + + /** + * Reads a file from the Tree as a UTF-8 encoded text file. + * + * @param path The path of the file to read. + * @returns A string containing the contents of the file. + * @throws {@link FileDoesNotExistException} if the file is not found. + * @throws An error if the file contains invalid UTF-8 characters. + */ + readText(path: string): string; + exists(path: string): boolean; get(path: string): FileEntry | null; getDir(path: string): DirEntry; diff --git a/packages/angular_devkit/schematics/src/tree/null.ts b/packages/angular_devkit/schematics/src/tree/null.ts index 48469a3c3370..6bc774d45142 100644 --- a/packages/angular_devkit/schematics/src/tree/null.ts +++ b/packages/angular_devkit/schematics/src/tree/null.ts @@ -57,6 +57,9 @@ export class NullTree implements Tree { read(_path: string) { return null; } + readText(path: string): string { + throw new FileDoesNotExistException(path); + } get(_path: string) { return null; } diff --git a/packages/angular_devkit/schematics/src/tree/scoped.ts b/packages/angular_devkit/schematics/src/tree/scoped.ts index f77af03635a1..21639cfc30a1 100644 --- a/packages/angular_devkit/schematics/src/tree/scoped.ts +++ b/packages/angular_devkit/schematics/src/tree/scoped.ts @@ -113,6 +113,9 @@ export class ScopedTree implements Tree { read(path: string): Buffer | null { return this._base.read(this._fullPath(path)); } + readText(path: string): string { + return this._base.readText(this._fullPath(path)); + } exists(path: string): boolean { return this._base.exists(this._fullPath(path)); } From 33f9f3de869bba2ecd855a01cc9a0a36651bd281 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 19 Apr 2022 11:17:10 -0400 Subject: [PATCH 0323/1388] feat(@angular-devkit/schematics): support reading JSON content directly from a Tree The schematics `Tree` now contains an additional `readJSON` method that supports directly reading and parsing the content of a file as UTF-8 JSON with comment support. This avoids the need to manually decode a Buffer, parse and handle JSON comments within a schematic when JSON content is needed. If a file path does not exist, an exception will be thrown. While this differs from the semantics of `read`, it helps reduce the amount of code needed for common schematic use cases. JSON parse errors will also result in an exception being thrown with a message detailing the error. --- .../angular_devkit/schematics/index.md | 5 ++ .../schematics/testing/index.md | 1 + .../angular_devkit/schematics/tools/index.md | 1 + .../angular_devkit/schematics/BUILD.bazel | 1 + .../schematics/src/tree/delegate.ts | 4 ++ .../schematics/src/tree/host-tree.ts | 18 ++++++ .../schematics/src/tree/host-tree_spec.ts | 55 +++++++++++++++++++ .../schematics/src/tree/interface.ts | 16 +++++- .../schematics/src/tree/null.ts | 13 ++++- .../schematics/src/tree/scoped.ts | 4 ++ 10 files changed, 116 insertions(+), 2 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/index.md b/goldens/public-api/angular_devkit/schematics/index.md index f78444d1c0ea..05f844128ad5 100644 --- a/goldens/public-api/angular_devkit/schematics/index.md +++ b/goldens/public-api/angular_devkit/schematics/index.md @@ -7,6 +7,7 @@ /// import { BaseException } from '@angular-devkit/core'; +import { JsonValue } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import { Path } from '@angular-devkit/core'; @@ -235,6 +236,8 @@ export class DelegateTree implements Tree_2 { // (undocumented) read(path: string): Buffer | null; // (undocumented) + readJson(path: string): JsonValue; + // (undocumented) readText(path: string): string; // (undocumented) rename(from: string, to: string): void; @@ -549,6 +552,8 @@ export class HostTree implements Tree_2 { // (undocumented) read(path: string): Buffer | null; // (undocumented) + readJson(path: string): JsonValue; + // (undocumented) readText(path: string): string; // (undocumented) rename(from: string, to: string): void; diff --git a/goldens/public-api/angular_devkit/schematics/testing/index.md b/goldens/public-api/angular_devkit/schematics/testing/index.md index 9358b5a8390a..06e24643a9fe 100644 --- a/goldens/public-api/angular_devkit/schematics/testing/index.md +++ b/goldens/public-api/angular_devkit/schematics/testing/index.md @@ -6,6 +6,7 @@ /// +import { JsonValue } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import { Path } from '@angular-devkit/core'; diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.md b/goldens/public-api/angular_devkit/schematics/tools/index.md index d968860a625f..b4bf5f2fa17b 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.md @@ -8,6 +8,7 @@ import { BaseException } from '@angular-devkit/core'; import { JsonObject } from '@angular-devkit/core'; +import { JsonValue } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import { Path } from '@angular-devkit/core'; diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index 0cccea0629fc..d9907050747d 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -37,6 +37,7 @@ ts_library( "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", # TODO: get rid of this for 6.0 "@npm//@types/node", + "@npm//jsonc-parser", "@npm//magic-string", "@npm//rxjs", ], diff --git a/packages/angular_devkit/schematics/src/tree/delegate.ts b/packages/angular_devkit/schematics/src/tree/delegate.ts index a8b8a758db79..e1fb75b04f04 100644 --- a/packages/angular_devkit/schematics/src/tree/delegate.ts +++ b/packages/angular_devkit/schematics/src/tree/delegate.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonValue } from '@angular-devkit/core'; import { Action } from './action'; import { DirEntry, @@ -38,6 +39,9 @@ export class DelegateTree implements Tree { readText(path: string): string { return this._other.readText(path); } + readJson(path: string): JsonValue { + return this._other.readJson(path); + } exists(path: string): boolean { return this._other.exists(path); } diff --git a/packages/angular_devkit/schematics/src/tree/host-tree.ts b/packages/angular_devkit/schematics/src/tree/host-tree.ts index 20eac5253dde..edcda81b5baf 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree.ts @@ -7,6 +7,7 @@ */ import { + JsonValue, Path, PathFragment, PathIsDirectoryException, @@ -16,6 +17,7 @@ import { normalize, virtualFs, } from '@angular-devkit/core'; +import { ParseError, parse as jsoncParse, printParseErrorCode } from 'jsonc-parser'; import { EMPTY, Observable } from 'rxjs'; import { concatMap, map, mergeMap } from 'rxjs/operators'; import { TextDecoder } from 'util'; @@ -310,6 +312,22 @@ export class HostTree implements Tree { } } + readJson(path: string): JsonValue { + const content = this.readText(path); + const errors: ParseError[] = []; + const result = jsoncParse(content, errors, { allowTrailingComma: true }); + + // If there is a parse error throw with the error information + if (errors[0]) { + const { error, offset } = errors[0]; + throw new Error( + `Failed to parse "${path}" as JSON. ${printParseErrorCode(error)} at offset: ${offset}.`, + ); + } + + return result; + } + exists(path: string): boolean { return this._recordSync.isFile(this._normalizePath(path)); } diff --git a/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts b/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts index d0aeb3f6e529..2687ea14e8ed 100644 --- a/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/host-tree_spec.ts @@ -34,6 +34,61 @@ describe('HostTree', () => { }); }); + describe('readJson', () => { + it('returns a JSON value when reading a file that exists', () => { + const tree = new HostTree(); + tree.create('/textfile1', '{ "a": true, "b": "xyz" }'); + tree.create('/textfile2', '123'); + tree.create('/textfile3', 'null'); + expect(tree.readJson('/textfile1')).toEqual({ a: true, b: 'xyz' }); + expect(tree.readJson('/textfile2')).toEqual(123); + expect(tree.readJson('/textfile3')).toBeNull(); + }); + + it('returns a JSON value when reading a file with comments', () => { + const tree = new HostTree(); + tree.create( + '/textfile1', + '{ "a": true, /* inner object\nmultiline comment\n */ "b": "xyz" }', + ); + tree.create('/textfile2', '123 // number value'); + tree.create('/textfile3', 'null // null value'); + expect(tree.readJson('/textfile1')).toEqual({ a: true, b: 'xyz' }); + expect(tree.readJson('/textfile2')).toEqual(123); + expect(tree.readJson('/textfile3')).toBeNull(); + }); + + it('returns a JSON value when reading a file with trailing commas', () => { + const tree = new HostTree(); + tree.create('/textfile1', '{ "a": true, "b": "xyz", }'); + tree.create('/textfile2', '[5, 4, 3, 2, 1, ]'); + expect(tree.readJson('/textfile1')).toEqual({ a: true, b: 'xyz' }); + expect(tree.readJson('/textfile2')).toEqual([5, 4, 3, 2, 1]); + }); + + it('throws an error when a file does not exist', () => { + const tree = new HostTree(); + const path = '/textfile1'; + expect(() => tree.readJson(path)).toThrowError(`Path "${path}" does not exist.`); + }); + + it('throws an error if the JSON is malformed', () => { + const tree = new HostTree(); + const path = '/textfile1'; + tree.create(path, '{ "a": true;;;;; "b": "xyz" }'); + expect(() => tree.readJson(path)).toThrowError( + `Failed to parse "${path}" as JSON. InvalidSymbol at offset: 7.`, + ); + }); + + it('throws an error when invalid UTF-8 characters are present', () => { + const tree = new HostTree(); + const path = '/textfile1'; + tree.create(path, Buffer.from([0xff, 0xff, 0xff, 0xff])); + expect(() => tree.readJson(path)).toThrowError(`Failed to decode "${path}" as UTF-8 text.`); + }); + }); + describe('merge', () => { it('should create files from each tree', () => { const tree = new HostTree(); diff --git a/packages/angular_devkit/schematics/src/tree/interface.ts b/packages/angular_devkit/schematics/src/tree/interface.ts index 17436762ad2a..87792b659723 100644 --- a/packages/angular_devkit/schematics/src/tree/interface.ts +++ b/packages/angular_devkit/schematics/src/tree/interface.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Path, PathFragment } from '@angular-devkit/core'; +import { JsonValue, Path, PathFragment } from '@angular-devkit/core'; import { Action } from './action'; export enum MergeStrategy { @@ -94,6 +94,20 @@ export interface Tree { */ readText(path: string): string; + /** + * Reads and parses a file from the Tree as a UTF-8 encoded JSON file. + * Supports parsing JSON (RFC 8259) with the following extensions: + * * Single-line and multi-line JavaScript comments + * * Trailing commas within objects and arrays + * + * @param path The path of the file to read. + * @returns A JsonValue containing the parsed contents of the file. + * @throws {@link FileDoesNotExistException} if the file is not found. + * @throws An error if the file contains invalid UTF-8 characters. + * @throws An error if the file contains malformed JSON. + */ + readJson(path: string): JsonValue; + exists(path: string): boolean; get(path: string): FileEntry | null; getDir(path: string): DirEntry; diff --git a/packages/angular_devkit/schematics/src/tree/null.ts b/packages/angular_devkit/schematics/src/tree/null.ts index 6bc774d45142..cbace2bf3211 100644 --- a/packages/angular_devkit/schematics/src/tree/null.ts +++ b/packages/angular_devkit/schematics/src/tree/null.ts @@ -6,7 +6,15 @@ * found in the LICENSE file at https://angular.io/license */ -import { BaseException, Path, PathFragment, dirname, join, normalize } from '@angular-devkit/core'; +import { + BaseException, + JsonValue, + Path, + PathFragment, + dirname, + join, + normalize, +} from '@angular-devkit/core'; import { FileDoesNotExistException } from '../exception/exception'; import { Action } from './action'; import { DirEntry, MergeStrategy, Tree, TreeSymbol, UpdateRecorder } from './interface'; @@ -60,6 +68,9 @@ export class NullTree implements Tree { readText(path: string): string { throw new FileDoesNotExistException(path); } + readJson(path: string): JsonValue { + throw new FileDoesNotExistException(path); + } get(_path: string) { return null; } diff --git a/packages/angular_devkit/schematics/src/tree/scoped.ts b/packages/angular_devkit/schematics/src/tree/scoped.ts index 21639cfc30a1..205769204439 100644 --- a/packages/angular_devkit/schematics/src/tree/scoped.ts +++ b/packages/angular_devkit/schematics/src/tree/scoped.ts @@ -7,6 +7,7 @@ */ import { + JsonValue, NormalizedRoot, Path, PathFragment, @@ -116,6 +117,9 @@ export class ScopedTree implements Tree { readText(path: string): string { return this._base.readText(this._fullPath(path)); } + readJson(path: string): JsonValue { + return this._base.readJson(this._fullPath(path)); + } exists(path: string): boolean { return this._base.exists(this._fullPath(path)); } From a0e3de2b5f1c86d573c923d3e94a9485f74076ec Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 19 Apr 2022 12:02:46 -0400 Subject: [PATCH 0324/1388] refactor(@schematics/angular): use Tree's newly introduced `readText` and `readJSON` functionality Code related to decoding buffers into strings and parsing content into JSON can now be removed by using the support provided directly from the Tree instance for the executing schematic. --- .../schematics_cli/blank/factory.ts | 25 +++++++------------ .../schematics/angular/app-shell/index.ts | 13 +++------- .../schematics/angular/component/index.ts | 6 +---- .../schematics/angular/directive/index.ts | 12 ++------- packages/schematics/angular/module/index.ts | 12 ++------- packages/schematics/angular/pipe/index.ts | 12 ++------- .../angular/service-worker/index.ts | 6 +---- .../schematics/angular/universal/index.ts | 7 +----- .../schematics/angular/utility/json-file.ts | 7 +----- .../angular/utility/ng-ast-utils.ts | 12 ++------- .../schematics/angular/utility/workspace.ts | 9 ++----- .../schematics/angular/web-worker/index.ts | 2 +- 12 files changed, 28 insertions(+), 95 deletions(-) diff --git a/packages/angular_devkit/schematics_cli/blank/factory.ts b/packages/angular_devkit/schematics_cli/blank/factory.ts index d8eeb16cc3d5..6585ea95b59c 100644 --- a/packages/angular_devkit/schematics_cli/blank/factory.ts +++ b/packages/angular_devkit/schematics_cli/blank/factory.ts @@ -28,13 +28,9 @@ function addSchematicToCollectionJson( description: JsonObject, ): Rule { return (tree: Tree) => { - const collectionJsonContent = tree.read(collectionPath); - if (!collectionJsonContent) { - throw new Error('Invalid collection path: ' + collectionPath); - } + const collectionJson = tree.readJson(collectionPath); - const collectionJson = JSON.parse(collectionJsonContent.toString()); - if (!isJsonObject(collectionJson.schematics)) { + if (!isJsonObject(collectionJson) || !isJsonObject(collectionJson.schematics)) { throw new Error('Invalid collection.json; schematics needs to be an object.'); } @@ -55,16 +51,13 @@ export default function (options: Schema): Rule { let collectionPath: Path | undefined; try { - const packageJsonContent = tree.read('/package.json'); - if (packageJsonContent) { - const packageJson = JSON.parse(packageJsonContent.toString()) as { - schematics: unknown; - }; - if (typeof packageJson.schematics === 'string') { - const p = normalize(packageJson.schematics); - if (tree.exists(p)) { - collectionPath = p; - } + const packageJson = tree.readJson('/package.json') as { + schematics: unknown; + }; + if (typeof packageJson.schematics === 'string') { + const p = normalize(packageJson.schematics); + if (tree.exists(p)) { + collectionPath = p; } } } catch {} diff --git a/packages/schematics/angular/app-shell/index.ts b/packages/schematics/angular/app-shell/index.ts index f7caa44cabcf..0e7e966368e9 100644 --- a/packages/schematics/angular/app-shell/index.ts +++ b/packages/schematics/angular/app-shell/index.ts @@ -35,11 +35,7 @@ import { BrowserBuilderOptions, Builders, ServerBuilderOptions } from '../utilit import { Schema as AppShellOptions } from './schema'; function getSourceFile(host: Tree, path: string): ts.SourceFile { - const buffer = host.read(path); - if (!buffer) { - throw new SchematicsException(`Could not find ${path}.`); - } - const content = buffer.toString(); + const content = host.readText(path); const source = ts.createSourceFile(path, content, ts.ScriptTarget.Latest, true); return source; @@ -82,10 +78,9 @@ function getComponentTemplate(host: Tree, compPath: string, tmplInfo: TemplateIn const templateUrl = (tmplInfo.templateUrlProp.initializer as ts.StringLiteral).text; const dir = dirname(normalize(compPath)); const templatePath = join(dir, templateUrl); - const buffer = host.read(templatePath); - if (buffer) { - template = buffer.toString(); - } + try { + template = host.readText(templatePath); + } catch {} } return template; diff --git a/packages/schematics/angular/component/index.ts b/packages/schematics/angular/component/index.ts index 177b5eac276a..2fbbb7bcb1c0 100644 --- a/packages/schematics/angular/component/index.ts +++ b/packages/schematics/angular/component/index.ts @@ -32,11 +32,7 @@ import { buildDefaultPath, getWorkspace } from '../utility/workspace'; import { Schema as ComponentOptions, Style } from './schema'; function readIntoSourceFile(host: Tree, modulePath: string): ts.SourceFile { - const text = host.read(modulePath); - if (text === null) { - throw new SchematicsException(`File ${modulePath} does not exist.`); - } - const sourceText = text.toString('utf-8'); + const sourceText = host.readText(modulePath); return ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); } diff --git a/packages/schematics/angular/directive/index.ts b/packages/schematics/angular/directive/index.ts index 666a181b5b48..4a4a1bdbe8b4 100644 --- a/packages/schematics/angular/directive/index.ts +++ b/packages/schematics/angular/directive/index.ts @@ -36,11 +36,7 @@ function addDeclarationToNgModule(options: DirectiveOptions): Rule { } const modulePath = options.module; - const text = host.read(modulePath); - if (text === null) { - throw new SchematicsException(`File ${modulePath} does not exist.`); - } - const sourceText = text.toString('utf-8'); + const sourceText = host.readText(modulePath); const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); const directivePath = @@ -66,11 +62,7 @@ function addDeclarationToNgModule(options: DirectiveOptions): Rule { if (options.export) { // Need to refresh the AST because we overwrote the file in the host. - const text = host.read(modulePath); - if (text === null) { - throw new SchematicsException(`File ${modulePath} does not exist.`); - } - const sourceText = text.toString('utf-8'); + const sourceText = host.readText(modulePath); const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); const exportRecorder = host.beginUpdate(modulePath); diff --git a/packages/schematics/angular/module/index.ts b/packages/schematics/angular/module/index.ts index 4c6840011c25..6c599c418bce 100644 --- a/packages/schematics/angular/module/index.ts +++ b/packages/schematics/angular/module/index.ts @@ -55,11 +55,7 @@ function addDeclarationToNgModule(options: ModuleOptions): Rule { const modulePath = options.module; - const text = host.read(modulePath); - if (text === null) { - throw new SchematicsException(`File ${modulePath} does not exist.`); - } - const sourceText = text.toString(); + const sourceText = host.readText(modulePath); const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); const relativePath = buildRelativeModulePath(options, modulePath); @@ -101,12 +97,8 @@ function addRouteDeclarationToNgModule( path = options.module; } - const text = host.read(path); - if (!text) { - throw new Error(`Couldn't find the module nor its routing module.`); - } + const sourceText = host.readText(path); - const sourceText = text.toString(); const addDeclaration = addRouteDeclarationToModule( ts.createSourceFile(path, sourceText, ts.ScriptTarget.Latest, true), path, diff --git a/packages/schematics/angular/pipe/index.ts b/packages/schematics/angular/pipe/index.ts index e18c432eabc2..e7ab1e7d8e95 100644 --- a/packages/schematics/angular/pipe/index.ts +++ b/packages/schematics/angular/pipe/index.ts @@ -35,11 +35,7 @@ function addDeclarationToNgModule(options: PipeOptions): Rule { } const modulePath = options.module; - const text = host.read(modulePath); - if (text === null) { - throw new SchematicsException(`File ${modulePath} does not exist.`); - } - const sourceText = text.toString('utf-8'); + const sourceText = host.readText(modulePath); const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); const pipePath = @@ -63,11 +59,7 @@ function addDeclarationToNgModule(options: PipeOptions): Rule { host.commitUpdate(recorder); if (options.export) { - const text = host.read(modulePath); - if (text === null) { - throw new SchematicsException(`File ${modulePath} does not exist.`); - } - const sourceText = text.toString('utf-8'); + const sourceText = host.readText(modulePath); const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); const exportRecorder = host.beginUpdate(modulePath); diff --git a/packages/schematics/angular/service-worker/index.ts b/packages/schematics/angular/service-worker/index.ts index 774493083855..f35e47019d5f 100644 --- a/packages/schematics/angular/service-worker/index.ts +++ b/packages/schematics/angular/service-worker/index.ts @@ -122,11 +122,7 @@ function updateAppModule(mainPath: string): Rule { } function getTsSourceFile(host: Tree, path: string): ts.SourceFile { - const buffer = host.read(path); - if (!buffer) { - throw new SchematicsException(`Could not read file (${path}).`); - } - const content = buffer.toString(); + const content = host.readText(path); const source = ts.createSourceFile(path, content, ts.ScriptTarget.Latest, true); return source; diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index 95fe3d26e93f..c660995305bc 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -99,12 +99,7 @@ function updateConfigFile(options: UniversalOptions, tsConfigDirectory: Path): R } function findBrowserModuleImport(host: Tree, modulePath: string): ts.Node { - const moduleBuffer = host.read(modulePath); - if (!moduleBuffer) { - throw new SchematicsException(`Module file (${modulePath}) not found`); - } - const moduleFileText = moduleBuffer.toString('utf-8'); - + const moduleFileText = host.readText(modulePath); const source = ts.createSourceFile(modulePath, moduleFileText, ts.ScriptTarget.Latest, true); const decoratorMetadata = getDecoratorMetadata(source, 'NgModule', '@angular/core')[0]; diff --git a/packages/schematics/angular/utility/json-file.ts b/packages/schematics/angular/utility/json-file.ts index 647199ef848d..6bb532416f2e 100644 --- a/packages/schematics/angular/utility/json-file.ts +++ b/packages/schematics/angular/utility/json-file.ts @@ -27,12 +27,7 @@ export class JSONFile { content: string; constructor(private readonly host: Tree, private readonly path: string) { - const buffer = this.host.read(this.path); - if (buffer) { - this.content = buffer.toString(); - } else { - throw new Error(`Could not read '${path}'.`); - } + this.content = this.host.readText(this.path); } private _jsonAst: Node | undefined; diff --git a/packages/schematics/angular/utility/ng-ast-utils.ts b/packages/schematics/angular/utility/ng-ast-utils.ts index e55effeeea17..c0dfb8374b90 100644 --- a/packages/schematics/angular/utility/ng-ast-utils.ts +++ b/packages/schematics/angular/utility/ng-ast-utils.ts @@ -13,11 +13,7 @@ import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescri import { findNode, getSourceNodes } from '../utility/ast-utils'; export function findBootstrapModuleCall(host: Tree, mainPath: string): ts.CallExpression | null { - const mainBuffer = host.read(mainPath); - if (!mainBuffer) { - throw new SchematicsException(`Main file (${mainPath}) not found`); - } - const mainText = mainBuffer.toString('utf-8'); + const mainText = host.readText(mainPath); const source = ts.createSourceFile(mainPath, mainText, ts.ScriptTarget.Latest, true); const allNodes = getSourceNodes(source); @@ -58,11 +54,7 @@ export function findBootstrapModulePath(host: Tree, mainPath: string): string { const bootstrapModule = bootstrapCall.arguments[0]; - const mainBuffer = host.read(mainPath); - if (!mainBuffer) { - throw new SchematicsException(`Client application main file (${mainPath}) not found`); - } - const mainText = mainBuffer.toString('utf-8'); + const mainText = host.readText(mainPath); const source = ts.createSourceFile(mainPath, mainText, ts.ScriptTarget.Latest, true); const allNodes = getSourceNodes(source); const bootstrapModuleRelativePath = allNodes diff --git a/packages/schematics/angular/utility/workspace.ts b/packages/schematics/angular/utility/workspace.ts index 07bf2c9ffc64..9354f4beab14 100644 --- a/packages/schematics/angular/utility/workspace.ts +++ b/packages/schematics/angular/utility/workspace.ts @@ -6,19 +6,14 @@ * found in the LICENSE file at https://angular.io/license */ -import { json, virtualFs, workspaces } from '@angular-devkit/core'; +import { json, workspaces } from '@angular-devkit/core'; import { Rule, Tree, noop } from '@angular-devkit/schematics'; import { ProjectType } from './workspace-models'; function createHost(tree: Tree): workspaces.WorkspaceHost { return { async readFile(path: string): Promise { - const data = tree.read(path); - if (!data) { - throw new Error('File not found.'); - } - - return virtualFs.fileBufferToString(data); + return tree.readText(path); }, async writeFile(path: string, data: string): Promise { return tree.overwrite(path, data); diff --git a/packages/schematics/angular/web-worker/index.ts b/packages/schematics/angular/web-worker/index.ts index bda1d4740887..1e0564045a75 100644 --- a/packages/schematics/angular/web-worker/index.ts +++ b/packages/schematics/angular/web-worker/index.ts @@ -65,7 +65,7 @@ function addSnippet(options: WebWorkerOptions): Rule { `; // Append the worker creation snippet. - const originalContent = host.read(siblingModulePath); + const originalContent = host.readText(siblingModulePath); host.overwrite(siblingModulePath, originalContent + '\n' + workerCreationSnippet); return host; From 4b07aa345d18ae6cb92284cdf13941b61ae69008 Mon Sep 17 00:00:00 2001 From: Wagner Maciel Date: Tue, 26 Apr 2022 11:09:29 -0700 Subject: [PATCH 0325/1388] fix(@angular/cli): change wrapping of schematic code --- .../src/command-builder/utilities/schematic-engine-host.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts index 99e408b33392..043a89c508cd 100644 --- a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts +++ b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts @@ -195,7 +195,9 @@ function wrap( const schematicCode = readFileSync(schematicFile, 'utf8'); // `module` is required due to @angular/localize ng-add being in UMD format const headerCode = '(function() {\nvar exports = {};\nvar module = { exports };\n'; - const footerCode = exportName ? `\nreturn exports['${exportName}'];});` : '\nreturn exports;});'; + const footerCode = exportName + ? `\nreturn module.exports['${exportName}'];});` + : '\nreturn module.exports;});'; const script = new Script(headerCode + schematicCode + footerCode, { filename: schematicFile, From 586f393640f86bc678139a558d1c19070afe38ba Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 26 Apr 2022 21:15:33 +0000 Subject: [PATCH 0326/1388] build: update angular to 7b6d862 --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 26 +++--- yarn.lock | 79 +++++++++++-------- 6 files changed, 61 insertions(+), 52 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 17ec4d18604b..22a36a5610b2 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 09349cc6b168..eca7dea0b731 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7 + - uses: angular/dev-infra/github-actions/feature-request@6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index f7f801ba1239..7185c92c2ffa 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7 + - uses: angular/dev-infra/github-actions/lock-closed@6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 46991489e9df..c41d00b4a0c4 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.14", "@angular/compiler-cli": "14.0.0-next.14", "@angular/core": "14.0.0-next.14", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#619a2bb53af67cf5e1906421a77b76086dc87b19", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7577b56c92cf09d8dcd4a86584fded1ec69e78ac", "@angular/forms": "14.0.0-next.14", "@angular/localize": "14.0.0-next.14", "@angular/material": "14.0.0-next.11", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 34e84fec9591..680fdc3a04c5 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e9949aa7abb06d9828ee7e9ba9b15cbcfc8b5f85", + "@angular/animations": "github:angular/animations-builds#7b6d86267fb6a5dfa5d6455b32db1572dc1f4a2f", "@angular/cdk": "github:angular/cdk-builds#39f12a8a702a577983fb3a925a2b1d651deb5033", - "@angular/common": "github:angular/common-builds#aae7a9dcfae4bb4c07b16ed29fb755aaa657277a", - "@angular/compiler": "github:angular/compiler-builds#0a041bea766e821642d8e7513cccb2375364ec5c", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#5f4b054e12baa109182629b1b7485a249be52416", - "@angular/core": "github:angular/core-builds#cd410bfe748e7f814145bbe3597b87b92a372c39", - "@angular/forms": "github:angular/forms-builds#7c980e47fd665587292624f090f56274939aac0f", - "@angular/language-service": "github:angular/language-service-builds#0ba130ecb184a1364fd3aefcfaf2e520eb019c80", - "@angular/localize": "github:angular/localize-builds#41c4b719ab1b990f4da82f078865993dbf3fbccf", + "@angular/common": "github:angular/common-builds#445b6b905007b20844682d625f5d44b7f039428c", + "@angular/compiler": "github:angular/compiler-builds#a06e296066b869f289261929df718050c1866a19", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#ca2fbd295f19f11dcc5fe285899a2bcd4e626440", + "@angular/core": "github:angular/core-builds#7e9a673e3f90c79c8ba1beb490e4c0758521122a", + "@angular/forms": "github:angular/forms-builds#f90e2928b5f8f0df26dcc2da90ed58a8ac44ba7d", + "@angular/language-service": "github:angular/language-service-builds#3c284eb212ddc8d7f85edc5d3f43a7ff079c8c9b", + "@angular/localize": "github:angular/localize-builds#740258f159eb2e9673d11cfe7bcb5eb8d450d9b0", "@angular/material": "github:angular/material-builds#c9fa6e880dda5e576b8cf74172dc9e7953165ca0", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f125bf9670c1c685ab06f69f082d7dee00a1b1b2", - "@angular/platform-browser": "github:angular/platform-browser-builds#db334fc5f1a3f3b57b1eabf63c4b0868eaa37c33", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7395523816528e6c94d51ab2c4fd379555cb3482", - "@angular/platform-server": "github:angular/platform-server-builds#a9fb9bbd4b67caf2d9673385cea406d68d357105", - "@angular/router": "github:angular/router-builds#622574a1f111b1a83d25338d13185c9e628339a5", - "@angular/service-worker": "github:angular/service-worker-builds#978cd59e53b425872285620fd5d9b633a5dcf0d5" + "@angular/platform-browser": "github:angular/platform-browser-builds#62dff5c9ece8f0ad119db09b87b210cde3607a3d", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c5315ac44898ca42a62874378c9bf5b1ea38b273", + "@angular/platform-server": "github:angular/platform-server-builds#6c999130de5c43a40541898e070b882d32438906", + "@angular/router": "github:angular/router-builds#5659a781e9d95f8286efb32edc231de13899a77e", + "@angular/service-worker": "github:angular/service-worker-builds#ca95514ef4f7e83692dcee72fc6a94ec0c776428" } } diff --git a/yarn.lock b/yarn.lock index ead3cbce5526..5f3fe0a7f7a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -174,21 +174,21 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#619a2bb53af67cf5e1906421a77b76086dc87b19": - version "0.0.0-2dbd81f69dbc6c45fff5037cbfa2ddc3f5b7b6d7" - uid "619a2bb53af67cf5e1906421a77b76086dc87b19" - resolved "https://github.com/angular/dev-infra-private-builds.git#619a2bb53af67cf5e1906421a77b76086dc87b19" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7577b56c92cf09d8dcd4a86584fded1ec69e78ac": + version "0.0.0-6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16" + uid "7577b56c92cf09d8dcd4a86584fded1ec69e78ac" + resolved "https://github.com/angular/dev-infra-private-builds.git#7577b56c92cf09d8dcd4a86584fded1ec69e78ac" dependencies: "@angular-devkit/build-angular" "14.0.0-next.11" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.4.0" - "@bazel/esbuild" "5.4.0" - "@bazel/protractor" "5.4.0" - "@bazel/runfiles" "5.4.0" - "@bazel/terser" "5.4.0" - "@bazel/typescript" "5.4.0" + "@bazel/concatjs" "5.4.1" + "@bazel/esbuild" "5.4.1" + "@bazel/protractor" "5.4.1" + "@bazel/runfiles" "5.4.1" + "@bazel/terser" "5.4.1" + "@bazel/typescript" "5.4.1" "@microsoft/api-extractor" "7.23.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -1270,10 +1270,19 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.0.tgz#94b68f71726c96f60937e0c2bb71ab04c6a0b868" - integrity sha512-jX5aPvlXqi1pqNOogJRYUiUCCqC+378QZestcW3MG/vHyMavVTCC4xvas94nnhtzc7UvufOWhYz/S1m8Orca8g== +"@bazel/concatjs@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.1.tgz#590b7944d89136863ba4e3e264c555b0efc815de" + integrity sha512-E5lVBdJNeTcXgDM4phmY2JbHdwWIJZ61ls22McXpWhsDlfItURhNuzxbg/+8gDDX0AlMsJnBpAtFLNVH5c2xwA== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + +"@bazel/esbuild@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.1.tgz#e2d1e66d2cf2e5d64d35dccce21a210b1082a7c4" + integrity sha512-6kdjyJL3vPdQ/HJUoVhl3JJm4DarQfXQdycoSKsP0Snq4J71T2M2yCw2zY4hlQFsQdLhXzrPe9ZQ9dkUtobnSA== "@bazel/jasmine@5.4.0": version "5.4.0" @@ -1283,36 +1292,36 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.4.0.tgz#9df709d0ec389bf8ea33119cf4c127279d956a1d" - integrity sha512-nCSEnyLNzAW/H400joxpnWkBOOqGBQcwYYzVWHdVKF6eigPjOYTVqEajYVI8iLMSJK1i7vx8HxCOoiiUbrW3wA== +"@bazel/protractor@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.4.1.tgz#f246f5e1fbcc5ed36e6d48824009bb29482e1660" + integrity sha512-uYIrYuxyZMplpov7pkjNF2igQA3CrnHOF4W68xJlHWhw3tjbacWHd4OJJ1BYrpPoYShaiKYxuVnzRVF9/0f7Bg== -"@bazel/runfiles@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.4.0.tgz#3783148dec286d4b8a97c50573d22528a0f7c424" - integrity sha512-Kj461fH+fFhyp0iN/7yKS8hMOx27o4DdAK5a/PaFLG9IYdPxICIWBMhS8ccdr21R2LZKxHrjWdh9vRnuuKZtKw== +"@bazel/runfiles@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.4.1.tgz#d85f3f5d5bd0b7b3f15ee9a5d3ad822cfb98c5f8" + integrity sha512-P3ieXEcUKsycQcSfh6WqrESxvdd3eVwByQtK9wD0Xq2gvdBQlbl5tSNwyhKf41fWKyS6n4ZCLv7TXhFfMxZj9Q== -"@bazel/terser@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.4.0.tgz#46b37a26715c1cfffb67015cd663eacfafe1af52" - integrity sha512-mJYBvhRBU0xfr4vEHJ7EYU3gwfL5tJ/NvCclU7jgMngw4C/tsjbPOIJaAIDUdmmFqjpq3xdUceameqT+3psnwA== +"@bazel/terser@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.4.1.tgz#1a863c53f89f9882dcb489ec6ee1d1e64de8dd78" + integrity sha512-osQkFkQU0gHUjlhhcbu7SXEKJ7bNGUr75eo7WLhMAnTtoHSzMP+9Fn/gbSNiGv1ekLjW71SRABt9xQNG3hl14g== -"@bazel/typescript@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.4.0.tgz#0a24e8d47152728f71b26b73adc3913645e5309e" - integrity sha512-AWmS9HcnjqGsPQv5lnqecA8xof+d4ChpbI/Z6aiSM0qOemc8e1WT9wb1VzM6g6hRfV5foWyIHt0VhTonTsPhYw== +"@bazel/typescript@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.4.1.tgz#c708ab2a0436620e28371fcedbf86abb1cf8abdd" + integrity sha512-LB/JbjPmj4/7R7fkZnWp2wc6tBEFT/5As+FqqJoAzS+YVhtp8sSmJXxZT1aq8/GO0DdA0uX2HZwlFUAzcF3VQQ== dependencies: - "@bazel/worker" "5.4.0" + "@bazel/worker" "5.4.1" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.4.0.tgz#ce50e34951ccf7233b651f0be665bbd43d7ed7f1" - integrity sha512-Rtkol9WoYs0NCZl1wt4Q8T7Rs0wbQjIvFiJzVeeoC/00TG0e/qi4mYE5iQwUJmO8st3N8VnaWz2N31UHc6yhRA== +"@bazel/worker@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.4.1.tgz#7b7fbc329b81f8aef308c14999618be67a741b19" + integrity sha512-0tfP/ASibVAU+ksnTRmPjib3nBXW6cqyCMzVsx3i/eQu5JpyBZLSOxQZq4KrnKBLvp3UbgI599DqQVbMaJhbEw== dependencies: google-protobuf "^3.6.1" From 7abe212c655dfeecf91ab022759f3f8ab59a3a7d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 27 Apr 2022 12:39:43 -0400 Subject: [PATCH 0327/1388] fix(@angular-devkit/build-angular): correctly resolve custom service worker configuration file Paths within the `angular.json` file should be relative to the location of the `angular.json` file. The `ngswConfigPath` option was incorrectly using the current working directory for a base path when a relative configuration path was specified. Most of the time this would work as a build command usually is executed from the root of the workspace. However, this may not always be the case and for those cases the actual workspace root is now used to resolve the full path for the service worker configuration file. --- .../src/builders/app-shell/index.ts | 1 + .../src/builders/browser/index.ts | 1 + .../browser/specs/service-worker_spec.ts | 18 ++++++++++++++++++ .../build_angular/src/utils/service-worker.ts | 3 ++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index e55fceeb7c4c..fbc40ca5c404 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -115,6 +115,7 @@ async function _renderUniversal( if (browserOptions.serviceWorker) { await augmentAppWithServiceWorker( projectRoot, + root, outputPath, browserOptions.baseHref || '/', browserOptions.ngswConfigPath, diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index b3a39051e3c5..a843255a47b2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -348,6 +348,7 @@ export function buildWebpackBrowser( try { await augmentAppWithServiceWorker( projectRoot, + context.workspaceRoot, outputPath, getLocaleBaseHref(i18n, locale) || options.baseHref || '/', options.ngswConfigPath, diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts index ed868f9c3a05..185b0f172b54 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts @@ -52,6 +52,24 @@ describe('Browser Builder service worker', () => { await run.stop(); }); + it('supports specifying a custom service worker configuration file', async () => { + host.writeMultipleFiles({ + 'src/configs/ngsw.json': JSON.stringify(manifest), + 'src/assets/folder-asset.txt': 'folder-asset.txt', + 'src/styles.css': `body { background: url(./spectrum.png); }`, + }); + + const overrides = { serviceWorker: true, ngswConfigPath: 'src/configs/ngsw.json' }; + + const run = await architect.scheduleTarget(target, overrides); + + await expectAsync(run.result).toBeResolvedTo(jasmine.objectContaining({ success: true })); + + await run.stop(); + + expect(host.scopedSync().exists(normalize('dist/ngsw.json'))).toBeTrue(); + }); + it('works with service worker', async () => { host.writeMultipleFiles({ 'src/ngsw-config.json': JSON.stringify(manifest), diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index 7f9cee425664..35f7f180d101 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -62,13 +62,14 @@ class CliFilesystem implements Filesystem { export async function augmentAppWithServiceWorker( appRoot: string, + workspaceRoot: string, outputPath: string, baseHref: string, ngswConfigPath?: string, ): Promise { // Determine the configuration file path const configPath = ngswConfigPath - ? path.normalize(ngswConfigPath) + ? path.join(workspaceRoot, ngswConfigPath) : path.join(appRoot, 'ngsw-config.json'); // Read the configuration file From 7b78b7840e95b0f4dca2fcb9218b67dd7500ff2c Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Tue, 26 Apr 2022 16:21:50 +0200 Subject: [PATCH 0328/1388] feat(@schematics/angular): add --standalone to ng generate Adds the `--standalone` flag when generating components, directives or pipes through `ng generate`. --- docs/design/analytics.md | 1 + ...erize__.__type@dasherize__.spec.ts.template | 2 +- ...@dasherize__.__type@dasherize__.ts.template | 3 ++- packages/schematics/angular/component/index.ts | 2 +- .../schematics/angular/component/index_spec.ts | 18 ++++++++++++++++++ .../schematics/angular/component/schema.json | 6 ++++++ .../__name@dasherize__.directive.ts.template | 3 ++- packages/schematics/angular/directive/index.ts | 2 +- .../schematics/angular/directive/index_spec.ts | 10 ++++++++++ .../schematics/angular/directive/schema.json | 6 ++++++ .../__name@dasherize__.pipe.ts.template | 3 ++- packages/schematics/angular/pipe/index.ts | 2 +- packages/schematics/angular/pipe/index_spec.ts | 10 ++++++++++ packages/schematics/angular/pipe/schema.json | 6 ++++++ .../schematics/angular/utility/find-module.ts | 4 ++-- 15 files changed, 69 insertions(+), 9 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 770acee03860..f66c036d8039 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -58,6 +58,7 @@ Note: There's a limit of 20 custom dimensions. | 12 | `Flag: --skip-tests` | `boolean` | | 13 | `Flag: --aot` | `boolean` | | 14 | `Flag: --minimal` | `boolean` | +| 15 | `Flag: --standalone` | `boolean` | | 16 | `Flag: --optimization` | `boolean` | | 17 | `Flag: --routing` | `boolean` | | 18 | `Flag: --skip-import` | `boolean` | diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template index a769e2f7348a..74b3f67b9d40 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template @@ -8,7 +8,7 @@ describe('<%= classify(name) %><%= classify(type) %>', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ <%= classify(name) %><%= classify(type) %> ] + <%= standalone ? 'imports' : 'declarations' %>: [ <%= classify(name) %><%= classify(type) %> ] }) .compileComponents(); diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index 442a76f98278..ce0dd0657ca0 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -1,7 +1,8 @@ import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; @Component({<% if(!skipSelector) {%> - selector: '<%= selector %>',<%}%><% if(inlineTemplate) { %> + selector: '<%= selector %>',<%}%><% if(standalone) {%> + standalone: true,<%}%><% if(inlineTemplate) { %> template: `

<%= dasherize(name) %> works! diff --git a/packages/schematics/angular/component/index.ts b/packages/schematics/angular/component/index.ts index 2fbbb7bcb1c0..84f0e86431f1 100644 --- a/packages/schematics/angular/component/index.ts +++ b/packages/schematics/angular/component/index.ts @@ -39,7 +39,7 @@ function readIntoSourceFile(host: Tree, modulePath: string): ts.SourceFile { function addDeclarationToNgModule(options: ComponentOptions): Rule { return (host: Tree) => { - if (options.skipImport || !options.module) { + if (options.skipImport || options.standalone || !options.module) { return host; } diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index 14235575b3b0..ad2fd381525d 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -420,4 +420,22 @@ describe('Component Schematic', () => { expect(content).toMatch(/template: `(\n(.|)*){3}\n\s*`,\n/); expect(content).toMatch(/changeDetection: ChangeDetectionStrategy.OnPush/); }); + + it('should create a standalone component', async () => { + const options = { ...defaultOptions, standalone: true }; + const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); + const componentContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); + expect(componentContent).toContain('standalone: true'); + expect(componentContent).toContain('class FooComponent'); + expect(moduleContent).not.toContain('FooComponent'); + }); + + it('should declare standalone components in the `imports` of a test', async () => { + const options = { ...defaultOptions, standalone: true }; + const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const testContent = tree.readContent('/projects/bar/src/app/foo/foo.component.spec.ts'); + expect(testContent).toContain('imports: [ FooComponent ]'); + expect(testContent).not.toContain('declarations'); + }); }); diff --git a/packages/schematics/angular/component/schema.json b/packages/schematics/angular/component/schema.json index 115185cf9cb6..38b5d06435b7 100644 --- a/packages/schematics/angular/component/schema.json +++ b/packages/schematics/angular/component/schema.json @@ -48,6 +48,12 @@ "alias": "t", "x-user-analytics": 10 }, + "standalone": { + "description": "Whether the generated component is standalone.", + "type": "boolean", + "default": false, + "x-user-analytics": 15 + }, "viewEncapsulation": { "description": "The view encapsulation strategy to use in the new component.", "enum": ["Emulated", "None", "ShadowDom"], diff --git a/packages/schematics/angular/directive/files/__name@dasherize@if-flat__/__name@dasherize__.directive.ts.template b/packages/schematics/angular/directive/files/__name@dasherize@if-flat__/__name@dasherize__.directive.ts.template index 6c8ce2d6531a..fcd41053e96b 100644 --- a/packages/schematics/angular/directive/files/__name@dasherize@if-flat__/__name@dasherize__.directive.ts.template +++ b/packages/schematics/angular/directive/files/__name@dasherize@if-flat__/__name@dasherize__.directive.ts.template @@ -1,7 +1,8 @@ import { Directive } from '@angular/core'; @Directive({ - selector: '[<%= selector %>]' + selector: '[<%= selector %>]'<% if(standalone) {%>, + standalone: true<%}%> }) export class <%= classify(name) %>Directive { diff --git a/packages/schematics/angular/directive/index.ts b/packages/schematics/angular/directive/index.ts index 4a4a1bdbe8b4..429fc59e31b5 100644 --- a/packages/schematics/angular/directive/index.ts +++ b/packages/schematics/angular/directive/index.ts @@ -31,7 +31,7 @@ import { Schema as DirectiveOptions } from './schema'; function addDeclarationToNgModule(options: DirectiveOptions): Rule { return (host: Tree) => { - if (options.skipImport || !options.module) { + if (options.skipImport || options.standalone || !options.module) { return host; } diff --git a/packages/schematics/angular/directive/index_spec.ts b/packages/schematics/angular/directive/index_spec.ts index 157a2352cf4f..160cade7d279 100644 --- a/packages/schematics/angular/directive/index_spec.ts +++ b/packages/schematics/angular/directive/index_spec.ts @@ -183,4 +183,14 @@ describe('Directive Schematic', () => { expect(files).toContain('/projects/bar/src/app/foo.directive.ts'); expect(files).not.toContain('/projects/bar/src/app/foo.directive.spec.ts'); }); + + it('should create a standalone directive', async () => { + const options = { ...defaultOptions, standalone: true }; + const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); + const directiveContent = tree.readContent('/projects/bar/src/app/foo.directive.ts'); + expect(directiveContent).toContain('standalone: true'); + expect(directiveContent).toContain('class FooDirective'); + expect(moduleContent).not.toContain('FooDirective'); + }); }); diff --git a/packages/schematics/angular/directive/schema.json b/packages/schematics/angular/directive/schema.json index e56c131608f7..09ed861e6774 100644 --- a/packages/schematics/angular/directive/schema.json +++ b/packages/schematics/angular/directive/schema.json @@ -59,6 +59,12 @@ "format": "html-selector", "description": "The HTML selector to use for this directive." }, + "standalone": { + "description": "Whether the generated directive is standalone.", + "type": "boolean", + "default": false, + "x-user-analytics": 15 + }, "flat": { "type": "boolean", "description": "When true (the default), creates the new files at the top level of the current project.", diff --git a/packages/schematics/angular/pipe/files/__name@dasherize@if-flat__/__name@dasherize__.pipe.ts.template b/packages/schematics/angular/pipe/files/__name@dasherize@if-flat__/__name@dasherize__.pipe.ts.template index cd2a90149718..548764ac4f1e 100644 --- a/packages/schematics/angular/pipe/files/__name@dasherize@if-flat__/__name@dasherize__.pipe.ts.template +++ b/packages/schematics/angular/pipe/files/__name@dasherize@if-flat__/__name@dasherize__.pipe.ts.template @@ -1,7 +1,8 @@ import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ - name: '<%= camelize(name) %>' + name: '<%= camelize(name) %>'<% if(standalone) {%>, + standalone: true<%}%> }) export class <%= classify(name) %>Pipe implements PipeTransform { diff --git a/packages/schematics/angular/pipe/index.ts b/packages/schematics/angular/pipe/index.ts index e7ab1e7d8e95..5d6af0b6b1ab 100644 --- a/packages/schematics/angular/pipe/index.ts +++ b/packages/schematics/angular/pipe/index.ts @@ -30,7 +30,7 @@ import { Schema as PipeOptions } from './schema'; function addDeclarationToNgModule(options: PipeOptions): Rule { return (host: Tree) => { - if (options.skipImport || !options.module) { + if (options.skipImport || options.standalone || !options.module) { return host; } diff --git a/packages/schematics/angular/pipe/index_spec.ts b/packages/schematics/angular/pipe/index_spec.ts index 3dd75e667efa..66182c1202d0 100644 --- a/packages/schematics/angular/pipe/index_spec.ts +++ b/packages/schematics/angular/pipe/index_spec.ts @@ -147,4 +147,14 @@ describe('Pipe Schematic', () => { expect(files).not.toContain('/projects/bar/src/app/foo.pipe.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.pipe.ts'); }); + + it('should create a standalone pipe', async () => { + const options = { ...defaultOptions, standalone: true }; + const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); + const pipeContent = tree.readContent('/projects/bar/src/app/foo.pipe.ts'); + expect(pipeContent).toContain('standalone: true'); + expect(pipeContent).toContain('class FooPipe'); + expect(moduleContent).not.toContain('FooPipe'); + }); }); diff --git a/packages/schematics/angular/pipe/schema.json b/packages/schematics/angular/pipe/schema.json index 230785ae3bb8..900dac7ccdb9 100644 --- a/packages/schematics/angular/pipe/schema.json +++ b/packages/schematics/angular/pipe/schema.json @@ -45,6 +45,12 @@ "description": "Do not import this pipe into the owning NgModule.", "x-user-analytics": 18 }, + "standalone": { + "description": "Whether the generated pipe is standalone.", + "type": "boolean", + "default": false, + "x-user-analytics": 15 + }, "module": { "type": "string", "description": "The declaring NgModule.", diff --git a/packages/schematics/angular/utility/find-module.ts b/packages/schematics/angular/utility/find-module.ts index a420f07eb052..112269d5e5da 100644 --- a/packages/schematics/angular/utility/find-module.ts +++ b/packages/schematics/angular/utility/find-module.ts @@ -17,6 +17,7 @@ export interface ModuleOptions { skipImport?: boolean; moduleExt?: string; routingModuleExt?: string; + standalone?: boolean; } export const MODULE_EXT = '.module.ts'; @@ -26,8 +27,7 @@ export const ROUTING_MODULE_EXT = '-routing.module.ts'; * Find the module referred by a set of options passed to the schematics. */ export function findModuleFromOptions(host: Tree, options: ModuleOptions): Path | undefined { - // eslint-disable-next-line no-prototype-builtins - if (options.hasOwnProperty('skipImport') && options.skipImport) { + if (options.standalone || options.skipImport) { return undefined; } From 418a75a7a7c7259903b9ae3adffbe114b74a54b3 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 27 Apr 2022 15:10:44 -0700 Subject: [PATCH 0329/1388] docs: release notes for the v13.3.4 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f8007defbc2..acf1c2f97f75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 13.3.4 (2022-04-27) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | +| [f4da75656](https://github.com/angular/angular-cli/commit/f4da756560358273098df2a5cae7848201206c77) | fix | change wrapping of schematic code | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [5d0141bfb](https://github.com/angular/angular-cli/commit/5d0141bfb4ae80b1a7543eab64e9c381c932eaef) | fix | correctly resolve custom service worker configuration file | + +## Special Thanks + +Charles Lyding and Wagner Maciel + + + # 14.0.0-next.11 (2022-04-21) From bafd68c41040ebe89d96c16f0a6b59af28de54d1 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 27 Apr 2022 15:20:02 -0700 Subject: [PATCH 0330/1388] release: cut the v14.0.0-next.12 release --- CHANGELOG.md | 43 +++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acf1c2f97f75..2a9f28f3d8aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,46 @@ + + +# 14.0.0-next.12 (2022-04-27) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | +| [4b07aa345](https://github.com/angular/angular-cli/commit/4b07aa345d18ae6cb92284cdf13941b61ae69008) | fix | change wrapping of schematic code | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------- | +| [7b78b7840](https://github.com/angular/angular-cli/commit/7b78b7840e95b0f4dca2fcb9218b67dd7500ff2c) | feat | add --standalone to ng generate | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | +| [00186fb93](https://github.com/angular/angular-cli/commit/00186fb93f66d8da51886de37cfa4599f3e89af9) | feat | add initial experimental esbuild-based application browser builder | +| [7abe212c6](https://github.com/angular/angular-cli/commit/7abe212c655dfeecf91ab022759f3f8ab59a3a7d) | fix | correctly resolve custom service worker configuration file | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [25498ad5b](https://github.com/angular/angular-cli/commit/25498ad5b2ba6fa5a88c9802ddeb0ed85c5d9b60) | feat | re-export core string helpers from schematics package | +| [33f9f3de8](https://github.com/angular/angular-cli/commit/33f9f3de869bba2ecd855a01cc9a0a36651bd281) | feat | support reading JSON content directly from a Tree | +| [01297f450](https://github.com/angular/angular-cli/commit/01297f450387dea02eafd6f5701c417ab5c5d844) | feat | support reading text content directly from a Tree | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------- | +| [044101554](https://github.com/angular/angular-cli/commit/044101554dfbca07d74f2a4391f94875df7928d2) | perf | use Webpack's built-in xxhash64 support | + +## Special Thanks + +Charles Lyding, Doug Parker, Kristiyan Kostadinov, Paul Gschwendtner and Wagner Maciel + + + # 13.3.4 (2022-04-27) diff --git a/package.json b/package.json index c41d00b4a0c4..b1e292f9c3a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.11", + "version": "14.0.0-next.12", "private": true, "description": "Software Development Kit for Angular", "bin": { From 5c5c5ec1c849efebb939813b2ae85298901d5df0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 28 Apr 2022 10:33:16 +0000 Subject: [PATCH 0331/1388] build: update github/codeql-action action to v2.1.9 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f33a3b9c9980..51e0f9360076 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -49,6 +49,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@1ed1437484560351c5be56cf73a48a279d116b78 # tag=v2.1.8 + uses: github/codeql-action/upload-sarif@7502d6e991ca767d2db617bfd823a1ed925a0d59 # tag=v2.1.9 with: sarif_file: results.sarif From a99c9adb7f18d9ff68759e4565fcdc42f9fc028e Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 28 Apr 2022 16:46:31 +0000 Subject: [PATCH 0332/1388] build: update dev-infra to latest snapshot Updates dev-infra to the latest snapshot, supporting for the new migrate to main helper command. --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- yarn.lock | 72 +++++++++++++------------- 5 files changed, 39 insertions(+), 41 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 22a36a5610b2..c1f76bddbf23 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@303acfd7f5ae3118193047f604d821f3604a0512 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index eca7dea0b731..74da10e81cf7 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16 + - uses: angular/dev-infra/github-actions/feature-request@303acfd7f5ae3118193047f604d821f3604a0512 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 7185c92c2ffa..e92f722ac62b 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16 + - uses: angular/dev-infra/github-actions/lock-closed@303acfd7f5ae3118193047f604d821f3604a0512 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index b1e292f9c3a5..8e970d1e9f44 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.14", "@angular/compiler-cli": "14.0.0-next.14", "@angular/core": "14.0.0-next.14", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7577b56c92cf09d8dcd4a86584fded1ec69e78ac", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50", "@angular/forms": "14.0.0-next.14", "@angular/localize": "14.0.0-next.14", "@angular/material": "14.0.0-next.11", diff --git a/yarn.lock b/yarn.lock index 5f3fe0a7f7a1..6073c042d757 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,23 +9,23 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1400.0-next.11": - version "0.1400.0-next.11" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.11.tgz#0c265e7425ee70658f4d56f832d4b7bdcfe0824c" - integrity sha512-bc2PmHGWpqPuneVwSBIa8jI3Vsq/bDUJJ1vZPhqS9VqblWHaqmBqdUTjT5f7Uqs3g1bUdYWQbUZIixPYrr2xnQ== +"@angular-devkit/architect@0.1400.0-next.12": + version "0.1400.0-next.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.12.tgz#3ed6123a99b8b0197876cddf643672a633ac95a7" + integrity sha512-VyhMYICfDX5enrzbyQSKe74TC6GKE08VRYmE4EwK7EOtn9Hz14HuLtZhdwg5IlcV/hdKCsCHuQ/XZNQaTjfsdg== dependencies: - "@angular-devkit/core" "14.0.0-next.11" + "@angular-devkit/core" "14.0.0-next.12" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.11.tgz#e7e6438d72dcd17f0ad6ef11a8827c921c339ea4" - integrity sha512-li7c+b6qQqiKEENsXUkfU26MGDUb0WTx3OkKUciy6+eOqg8ns6dJDSXh83alGBvOodwH/UkCpfAKw4tBWA23gA== +"@angular-devkit/build-angular@14.0.0-next.12": + version "14.0.0-next.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.12.tgz#28270cc0dca559481d36ef55d5133558a3831f44" + integrity sha512-GKeXMq2eLoH31f3JZNd2UdkI3m0z/YLKIg6g1kK3bG8cBTayXRCgcyKaIBvCc1nN+DfBduMnTBKBzmaeGl+dXA== dependencies: "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.11" - "@angular-devkit/build-webpack" "0.1400.0-next.11" - "@angular-devkit/core" "14.0.0-next.11" + "@angular-devkit/architect" "0.1400.0-next.12" + "@angular-devkit/build-webpack" "0.1400.0-next.12" + "@angular-devkit/core" "14.0.0-next.12" "@babel/core" "7.17.9" "@babel/generator" "7.17.9" "@babel/helper-annotate-as-pure" "7.16.7" @@ -36,7 +36,7 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-next.11" + "@ngtools/webpack" "14.0.0-next.12" ansi-colors "4.1.1" babel-loader "8.2.4" babel-plugin-istanbul "6.1.1" @@ -87,18 +87,18 @@ optionalDependencies: esbuild "0.14.36" -"@angular-devkit/build-webpack@0.1400.0-next.11": - version "0.1400.0-next.11" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.11.tgz#8cbdd0140749e19f4eb28f005ef841e3eb4f5e3d" - integrity sha512-obQSQ1nU8SKaUVRrmqBH34f4v2d8JKnXgyZtdxjHjyVpTF1sT9lOuaDxC7i+geQwov06L1o1n6EHnLJtfp2cFQ== +"@angular-devkit/build-webpack@0.1400.0-next.12": + version "0.1400.0-next.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.12.tgz#19c321d13ea92526a2b3414f00e568a9322da1bf" + integrity sha512-PR7e8yQMG0VAdXSHc11xttzT4WKRXxSb10Pe2qQxKubMPpfRiMljoUQ4K39/0zdkiKlNI5XWItk8zA5cwZFU2A== dependencies: - "@angular-devkit/architect" "0.1400.0-next.11" + "@angular-devkit/architect" "0.1400.0-next.12" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.11.tgz#29a10e3a7dc15affbdc26a246ec6f30ed826486f" - integrity sha512-mCNTL8YCzvHp4OLnlkJw/hUGIi6GIbh9C7KmgqFEW9xwODfJBL96qbFShDbr7InU6N3q4eefwdw8ICcqB0B9sA== +"@angular-devkit/core@14.0.0-next.12": + version "14.0.0-next.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.12.tgz#3e6a8c565b69d1324f8f0a4d35e49221aca348b8" + integrity sha512-eX1UFpBQ4RD4mTuKNhFJqaBkBUIXbWnX6CJuKmjQgyXxkrh+PnaLZdjKp8qZBi37ttrJZ/hDmFHGPOOtgvFKGA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -174,12 +174,11 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7577b56c92cf09d8dcd4a86584fded1ec69e78ac": - version "0.0.0-6ea40a1d2ad71bc2acb1d6b1bdc957a32d272e16" - uid "7577b56c92cf09d8dcd4a86584fded1ec69e78ac" - resolved "https://github.com/angular/dev-infra-private-builds.git#7577b56c92cf09d8dcd4a86584fded1ec69e78ac" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50": + version "0.0.0-303acfd7f5ae3118193047f604d821f3604a0512" + resolved "https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.11" + "@angular-devkit/build-angular" "14.0.0-next.12" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -204,7 +203,7 @@ node-fetch "^2.6.1" prettier "2.6.2" protractor "^7.0.0" - selenium-webdriver "4.1.1" + selenium-webdriver "4.1.2" send "^0.18.0" tmp "^0.2.1" "true-case-path" "^2.2.1" @@ -1534,10 +1533,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.11.tgz#f5be27ab37b6d7097693a59c1f0a6be66f3a37f3" - integrity sha512-oph82/ud1tFtkTL6iqq6MDxPMxrX1lfnZgyorYlYx7rxw6j3SZpjFRCP19UUUlNisqIMLZXCeor0+IXeOlposA== +"@ngtools/webpack@14.0.0-next.12": + version "14.0.0-next.12" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.12.tgz#6920a8a54abd2a5bc41f671ed4e18d8b3be0502b" + integrity sha512-i2+IT0i9IicplJaesp4ELUbbtKvH0skQeQvpQ9Md9HHj4miKaGnj1eMIbVxQrY2PCPyz2Mxva2iHXSfVCE1N4w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -9189,7 +9188,6 @@ sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": version "0.0.0" - uid "992e2cb0d91e54b27a4f5bbd2049f3b774718115" resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" saucelabs@^1.5.0: @@ -9254,10 +9252,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz#da083177d811f36614950e809e2982570f67d02e" - integrity sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ== +selenium-webdriver@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz#d463b4335632d2ea41a9e988e435a55dc41f5314" + integrity sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw== dependencies: jszip "^3.6.0" tmp "^0.2.1" From 8da926966e9f414ceecf60b89acd475ce1b55fc5 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Mon, 25 Apr 2022 13:15:22 +0000 Subject: [PATCH 0333/1388] build: changes for primary branch rename to `main`. Changes part of the `DIRECT` phase of the "renaming master to main" planning doc. --- .ng-dev/github.ts | 2 +- renovate.json | 2 +- scripts/publish.ts | 4 ++-- scripts/snapshots.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.ng-dev/github.ts b/.ng-dev/github.ts index 5dac56fb3170..60cc4be96865 100644 --- a/.ng-dev/github.ts +++ b/.ng-dev/github.ts @@ -7,5 +7,5 @@ import { GithubConfig } from '@angular/dev-infra-private/ng-dev'; export const github: GithubConfig = { owner: 'angular', name: 'angular-cli', - mainBranchName: 'master', + mainBranchName: 'main', }; diff --git a/renovate.json b/renovate.json index 3e5ffd7992aa..7e3b8d60bd8f 100644 --- a/renovate.json +++ b/renovate.json @@ -10,7 +10,7 @@ "enabled": true }, "schedule": ["after 10pm every weekday", "before 4am every weekday", "every weekend"], - "baseBranches": ["master"], + "baseBranches": ["main"], "ignoreDeps": ["@types/node", "quicktype-core"], "packageFiles": [ "WORKSPACE", diff --git a/scripts/publish.ts b/scripts/publish.ts index 12d4a32fbe7d..631e2bd705b2 100644 --- a/scripts/publish.ts +++ b/scripts/publish.ts @@ -65,10 +65,10 @@ function _branchCheck(args: PublishArgs, logger: logging.Logger) { const branch = ref.trim().replace(/^refs\/heads\//, ''); switch (branch) { - case 'master': + case 'main': if (args.tag !== 'next') { throw new Error(tags.oneLine` - Releasing from master requires a next tag. Use --no-branchCheck to + Releasing from main requires a next tag. Use --no-branchCheck to skip this check. `); } diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index 02e677524361..37a97f3b423e 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -144,7 +144,7 @@ export default async function (opts: SnapshotsOptions, logger: logging.Logger) { const root = fs.mkdtempSync(path.join(os.tmpdir(), 'angular-cli-publish-')); const message = execSync(`git log --format="%h %s" -n1`).toString().trim(); - let branch = opts.branch || 'master'; + let branch = opts.branch || 'main'; // CIRCLE_BRANCH if (typeof process.env['CIRCLE_BRANCH'] == 'string') { From 158424fbdc7dbff00c22582fc9fb2d08d4ad128d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 28 Apr 2022 13:35:27 +0000 Subject: [PATCH 0334/1388] build: update all non-major dependencies --- .github/workflows/dev-infra.yml | 2 +- WORKSPACE | 4 +- package.json | 36 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 20 +- .../schematics_cli/package.json | 2 +- yarn.lock | 812 +++++++++++++----- 7 files changed, 634 insertions(+), 244 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c1f76bddbf23..18ce36f578ab 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,7 +12,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1 + - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - uses: angular/dev-infra/github-actions/commit-message-based-labels@303acfd7f5ae3118193047f604d821f3604a0512 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/WORKSPACE b/WORKSPACE index 2adb45d2379c..9cffbb539fba 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "2b2004784358655f334925e7eadc7ba80f701144363df949b3293e1ae7a2fb7b", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.4.0/rules_nodejs-5.4.0.tar.gz"], + sha256 = "280cefd3649b9648fdc444e9d6ed17c949152ff28d7e23638390ae8b93941d60", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.4.1/rules_nodejs-5.4.1.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 8e970d1e9f44..45c6b718e656 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "**/ajv-formats/ajv": "8.11.0" }, "devDependencies": { - "@ampproject/remapping": "2.1.2", + "@ampproject/remapping": "2.2.0", "@angular/animations": "14.0.0-next.14", "@angular/cdk": "14.0.0-next.11", "@angular/common": "14.0.0-next.14", @@ -89,8 +89,8 @@ "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.4.0", - "@bazel/jasmine": "5.4.0", + "@bazel/concatjs": "5.4.1", + "@bazel/jasmine": "5.4.1", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -120,36 +120,36 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.20.0", - "@typescript-eslint/parser": "5.20.0", + "@typescript-eslint/eslint-plugin": "5.21.0", + "@typescript-eslint/parser": "5.21.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.1", - "babel-loader": "8.2.4", + "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.0.4", + "cacache": "16.0.7", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.36", - "esbuild-wasm": "0.14.36", - "eslint": "8.13.0", + "esbuild": "0.14.38", + "esbuild-wasm": "0.14.38", + "eslint": "8.14.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", - "express": "4.17.3", + "express": "4.18.0", "font-awesome": "^4.7.0", "glob": "8.0.1", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", "husky": "7.0.4", "ini": "3.0.0", - "inquirer": "8.2.2", + "inquirer": "8.2.4", "jasmine": "^4.0.0", "jasmine-core": "~4.1.0", "jasmine-spec-reporter": "~7.0.0", @@ -183,15 +183,15 @@ "postcss": "8.4.12", "postcss-import": "14.1.0", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.3", + "postcss-preset-env": "7.4.4", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.5.2", + "puppeteer": "13.7.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.50.1", + "sass": "1.51.0", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", "semver": "7.3.7", @@ -204,13 +204,13 @@ "stylus-loader": "6.2.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.12.1", + "terser": "5.13.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", - "tslib": "2.3.1", + "tslib": "2.4.0", "typescript": "4.6.3", - "verdaccio": "5.9.0", + "verdaccio": "5.10.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index fc23cdf57559..131e4ee71151 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -30,7 +30,7 @@ "ansi-colors": "4.1.1", "debug": "4.3.4", "ini": "3.0.0", - "inquirer": "8.2.2", + "inquirer": "8.2.4", "jsonc-parser": "3.0.0", "npm-package-arg": "9.0.2", "npm-pick-manifest": "7.0.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4911a05c32b8..37079835fea2 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -6,7 +6,7 @@ "typings": "src/index.d.ts", "builders": "builders.json", "dependencies": { - "@ampproject/remapping": "2.1.2", + "@ampproject/remapping": "2.2.0", "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", @@ -22,17 +22,17 @@ "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "babel-loader": "8.2.4", + "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.0.4", + "cacache": "16.0.7", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.36", + "esbuild-wasm": "0.14.38", "glob": "8.0.1", "https-proxy-agent": "5.0.1", - "inquirer": "8.2.2", + "inquirer": "8.2.4", "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", @@ -48,21 +48,21 @@ "postcss": "8.4.12", "postcss-import": "14.1.0", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.3", + "postcss-preset-env": "7.4.4", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.50.1", + "sass": "1.51.0", "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "stylus": "0.57.0", "stylus-loader": "6.2.0", - "terser": "5.12.1", + "terser": "5.13.0", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.3.1", + "tslib": "2.4.0", "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.8.1", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.36" + "esbuild": "0.14.38" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index 387827efbd76..e1f501f16e8b 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -19,7 +19,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.1", - "inquirer": "8.2.2", + "inquirer": "8.2.4", "symbol-observable": "4.0.0", "yargs-parser": "21.0.1" } diff --git a/yarn.lock b/yarn.lock index 6073c042d757..33b6d9567c5a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,14 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" +"@ampproject/remapping@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + "@angular-devkit/architect@0.1400.0-next.12": version "0.1400.0-next.12" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.12.tgz#3ed6123a99b8b0197876cddf643672a633ac95a7" @@ -1260,15 +1268,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.0.tgz#04e752a6ea3e684f00879e6683657c4ede72df6e" - integrity sha512-jlupaDKxqFS3B1lttOIgkKxirP7v5Qx7KCFtOXO7JxtvYJD/qKtKXEQggTrGKJqLPyiZlNiYimHHGICLSWIZcQ== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.4.1": version "5.4.1" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.1.tgz#590b7944d89136863ba4e3e264c555b0efc815de" @@ -1283,10 +1282,10 @@ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.1.tgz#e2d1e66d2cf2e5d64d35dccce21a210b1082a7c4" integrity sha512-6kdjyJL3vPdQ/HJUoVhl3JJm4DarQfXQdycoSKsP0Snq4J71T2M2yCw2zY4hlQFsQdLhXzrPe9ZQ9dkUtobnSA== -"@bazel/jasmine@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.4.0.tgz#186f837951b678c39274dd9321779a40012a6bc5" - integrity sha512-hUMbuSKr6U9VXRHXfv0KIWVBue5fFskPAVbDK4dWUVuac8V2vVNQadtppOHPFOzzqZdDsUuSyXCDjqGUZYVm+Q== +"@bazel/jasmine@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.4.1.tgz#f37ff9f7a742b4d73ff5e18460ae4a023e1ecfce" + integrity sha512-Exo73WlDOQMqG8BZ9QAk5OsCmTfQssqYckjofiZs8FP9ERl4vOpuBrMNYSWVSHlRtZA8+UkFmxuz5LlMRWG3og== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1354,6 +1353,14 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +"@csstools/postcss-color-function@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.0.tgz#229966327747f58fbe586de35daa139db3ce1e5d" + integrity sha512-5D5ND/mZWcQoSfYnSPsXtuiFxhzmhxt6pcjrFLJyldj+p0ZN2vvRpYNX+lahFTtMhAYOa2WmkdGINr0yP0CvGA== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + "@csstools/postcss-font-format-keywords@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.0.tgz#7e7df948a83a0dfb7eb150a96e2390ac642356a1" @@ -1383,6 +1390,13 @@ dependencies: postcss-selector-parser "^6.0.9" +"@csstools/postcss-is-pseudo-class@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.2.tgz#a834ca11a43d6ed9bc9e3ff53c80d490a4b1aaad" + integrity sha512-L9h1yxXMj7KpgNzlMrw3isvHJYkikZgZE4ASwssTnGEH8tm50L6QsM9QQT5wR4/eO5mU0rN5axH7UzNxEYg5CA== + dependencies: + postcss-selector-parser "^6.0.10" + "@csstools/postcss-normalize-display-values@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" @@ -1398,6 +1412,14 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +"@csstools/postcss-oklab-function@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.0.tgz#e9a269487a292e0930760948e923e1d46b638ee6" + integrity sha512-e/Q5HopQzmnQgqimG9v3w2IG4VRABsBq3itOcn4bnm+j4enTgQZ0nWsaH/m9GV2otWGQ0nwccYL5vmLKyvP1ww== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" @@ -1410,10 +1432,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@eslint/eslintrc@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" - integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ== +"@eslint/eslintrc@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.2.tgz#4989b9e8c0216747ee7cca314ae73791bb281aae" + integrity sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1460,11 +1482,24 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== +"@jridgewell/set-array@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.0.tgz#1179863356ac8fbea64a5a4bcde93a4871012c01" + integrity sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg== + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.11" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" @@ -1478,6 +1513,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@leichtgewicht/ip-codec@^2.0.1": version "2.0.3" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz#0300943770e04231041a51bd39f0439b5c7ab4f0" @@ -2336,14 +2379,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz#022531a639640ff3faafaf251d1ce00a2ef000a1" - integrity sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q== +"@typescript-eslint/eslint-plugin@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz#bfc22e0191e6404ab1192973b3b4ea0461c1e878" + integrity sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg== dependencies: - "@typescript-eslint/scope-manager" "5.20.0" - "@typescript-eslint/type-utils" "5.20.0" - "@typescript-eslint/utils" "5.20.0" + "@typescript-eslint/scope-manager" "5.21.0" + "@typescript-eslint/type-utils" "5.21.0" + "@typescript-eslint/utils" "5.21.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2351,69 +2394,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.20.0.tgz#4991c4ee0344315c2afc2a62f156565f689c8d0b" - integrity sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w== +"@typescript-eslint/parser@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.21.0.tgz#6cb72673dbf3e1905b9c432175a3c86cdaf2071f" + integrity sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg== dependencies: - "@typescript-eslint/scope-manager" "5.20.0" - "@typescript-eslint/types" "5.20.0" - "@typescript-eslint/typescript-estree" "5.20.0" + "@typescript-eslint/scope-manager" "5.21.0" + "@typescript-eslint/types" "5.21.0" + "@typescript-eslint/typescript-estree" "5.21.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz#79c7fb8598d2942e45b3c881ced95319818c7980" - integrity sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg== +"@typescript-eslint/scope-manager@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz#a4b7ed1618f09f95e3d17d1c0ff7a341dac7862e" + integrity sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ== dependencies: - "@typescript-eslint/types" "5.20.0" - "@typescript-eslint/visitor-keys" "5.20.0" + "@typescript-eslint/types" "5.21.0" + "@typescript-eslint/visitor-keys" "5.21.0" -"@typescript-eslint/type-utils@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz#151c21cbe9a378a34685735036e5ddfc00223be3" - integrity sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw== +"@typescript-eslint/type-utils@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz#ff89668786ad596d904c21b215e5285da1b6262e" + integrity sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw== dependencies: - "@typescript-eslint/utils" "5.20.0" + "@typescript-eslint/utils" "5.21.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.20.0.tgz#fa39c3c2aa786568302318f1cb51fcf64258c20c" - integrity sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg== +"@typescript-eslint/types@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.21.0.tgz#8cdb9253c0dfce3f2ab655b9d36c03f72e684017" + integrity sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA== -"@typescript-eslint/typescript-estree@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz#ab73686ab18c8781bbf249c9459a55dc9417d6b0" - integrity sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w== +"@typescript-eslint/typescript-estree@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz#9f0c233e28be2540eaed3df050f0d54fb5aa52de" + integrity sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg== dependencies: - "@typescript-eslint/types" "5.20.0" - "@typescript-eslint/visitor-keys" "5.20.0" + "@typescript-eslint/types" "5.21.0" + "@typescript-eslint/visitor-keys" "5.21.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.20.0.tgz#b8e959ed11eca1b2d5414e12417fd94cae3517a5" - integrity sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w== +"@typescript-eslint/utils@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.21.0.tgz#51d7886a6f0575e23706e5548c7e87bce42d7c18" + integrity sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.20.0" - "@typescript-eslint/types" "5.20.0" - "@typescript-eslint/typescript-estree" "5.20.0" + "@typescript-eslint/scope-manager" "5.21.0" + "@typescript-eslint/types" "5.21.0" + "@typescript-eslint/typescript-estree" "5.21.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.20.0": - version "5.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz#70236b5c6b67fbaf8b2f58bf3414b76c1e826c2a" - integrity sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg== +"@typescript-eslint/visitor-keys@5.21.0": + version "5.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz#453fb3662409abaf2f8b1f65d515699c888dd8ae" + integrity sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA== dependencies: - "@typescript-eslint/types" "5.20.0" + "@typescript-eslint/types" "5.21.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -2431,38 +2474,38 @@ dependencies: lockfile "1.0.4" -"@verdaccio/local-storage@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.2.0.tgz#36628f725ee56419a1381e64a1dcf39667bc584f" - integrity sha512-sEzNC/BfzrBX1NtBL2xy9yrgX6mEs1s//L7jlEs+4iWaq/mnzxjSq8rkvVPmwcJK/3IFC7YrJWfD5MVc/kYIyw== +"@verdaccio/local-storage@10.2.1": + version "10.2.1" + resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.2.1.tgz#88fbc0e2742d45b22d38b22db922f2593e1ea974" + integrity sha512-0ff8TnHvhPu+HSZJvmm8Yb7VRGa/yf7vwpJMQngo2xYg++73CgnUP5hI65NJeKJyg8DX5E0YgCw6HoTbNxBxhg== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/file-locking" "10.2.0" "@verdaccio/streams" "10.2.0" async "3.2.3" - debug "4.3.3" + debug "4.3.4" lodash "4.17.21" lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.3.2": - version "10.3.2" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.3.2.tgz#fae3997545b3b305aa82f47073c0bccbc4ec52ff" - integrity sha512-Wb83etSDf2SL47zkHHrblaIhKhkMeNdm7ibVv6MGffUpG+CtQtKEMTFqU6pc0NfeNTCb+5DUIuArCPznyjItIg== +"@verdaccio/readme@10.3.3": + version "10.3.3" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.3.3.tgz#f578a3b5745fa1f5070085924b6b5532319ac466" + integrity sha512-VRb9zvs8uXVb5hgSXZ5Ci6meupulFmScd0CJAm+MJeetoSdlr9ERxp3c21hMCct8Djf6gepKOGKItYS6YEDKHA== dependencies: - dompurify "2.2.6" + dompurify "2.3.6" jsdom "15.2.1" - marked "4.0.10" + marked "4.0.14" "@verdaccio/streams@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.23": - version "6.0.0-6-next.23" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.23.tgz#268da5091e1e9264fe87b8b94c0ac596e9e54879" - integrity sha512-GXpEPdZJm6o+2VAxzUsKaiDriS+5enqr7Gjrb2Bttcd+IkOuC8lDsoFHxIv0ib4JudZJ/aKsRYL3TN2AetPFjw== +"@verdaccio/ui-theme@6.0.0-6-next.24": + version "6.0.0-6-next.24" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.24.tgz#77e5405f2c7ee60153845deebca80347a771e8ef" + integrity sha512-tchic00TMWV9qm3EG1GmU7WLnzb29fGT51NJF8rmmNGc7V7tlpXSOE+WQ/dP99jaViIrZzh73Z03TpjQ3ZFd/A== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -2623,7 +2666,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7, accepts@~1.3.8: +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== @@ -2979,6 +3022,18 @@ autoprefixer@^10.4.4: picocolors "^1.0.0" postcss-value-parser "^4.2.0" +autoprefixer@^10.4.5: + version "10.4.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.5.tgz#662193c744094b53d3637f39be477e07bd904998" + integrity sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw== + dependencies: + browserslist "^4.20.2" + caniuse-lite "^1.0.30001332" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3006,6 +3061,16 @@ babel-loader@8.2.4: make-dir "^3.1.0" schema-utils "^2.6.5" +babel-loader@8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" + integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -3111,22 +3176,6 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" - integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== - dependencies: - bytes "3.1.1" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.6" - raw-body "2.4.2" - type-is "~1.6.18" - body-parser@1.19.2, body-parser@^1.19.0: version "1.19.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" @@ -3143,6 +3192,24 @@ body-parser@1.19.2, body-parser@^1.19.0: raw-body "2.4.3" type-is "~1.6.18" +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + bonjour-service@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.11.tgz#5418e5c1ac91c89a406f853a942e7892829c0d89" @@ -3274,6 +3341,17 @@ browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1 node-releases "^2.0.2" picocolors "^1.0.0" +browserslist@^4.20.3: + version "4.20.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" + browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -3341,11 +3419,6 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -bytes@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" - integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== - bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -3394,6 +3467,30 @@ cacache@16.0.4: tar "^6.1.11" unique-filename "^1.1.1" +cacache@16.0.7: + version "16.0.7" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.7.tgz#74a5d9bc4c17b4c0b373c1f5d42dadf5dc06638d" + integrity sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^1.1.1" + cacache@^16.0.0, cacache@^16.0.2: version "16.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" @@ -3441,6 +3538,11 @@ caniuse-lite@^1.0.30001317: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285" integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== +caniuse-lite@^1.0.30001332: + version "1.0.30001334" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001334.tgz#892e9965b35285033fc2b8a8eff499fe02f13d8b" + integrity sha512-kbaCEBRRVSoeNs74sCuq92MJyGrMtjWVfhltoHUCW4t4pXFvGjUBrfo47weBRViHkiV3eBYyIsfl956NtHGazw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3744,16 +3846,16 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - cookie@0.4.2, cookie@~0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + cookies@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" @@ -3975,10 +4077,10 @@ date-format@^4.0.6: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.6.tgz#f6138b8f17968df9815b3d101fc06b0523f066c5" integrity sha512-B9vvg5rHuQ8cbUXE/RMWMyX2YA5TecT3jKF5fLtGNlzPlU7zblSPmAm2OImDbWL+LDOQ6pUm+4LOFz+ywS41Zw== -dayjs@1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.0.tgz#009bf7ef2e2ea2d5db2e6583d2d39a4b5061e805" - integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== +dayjs@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz#90b33a3dda3417258d48ad2771b415def6545eb0" + integrity sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -4001,13 +4103,6 @@ debug@4.3.2: dependencies: ms "2.1.2" -debug@4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -4124,10 +4219,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -devtools-protocol@0.0.969999: - version "0.0.969999" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.969999.tgz#3d6be0a126b3607bb399ae2719b471dda71f3478" - integrity sha512-6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ== +devtools-protocol@0.0.981744: + version "0.0.981744" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf" + integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg== dezalgo@^1.0.0: version "1.0.3" @@ -4228,10 +4323,10 @@ domino@^2.1.2: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.6.tgz#54945dc5c0b45ce5ae228705777e8e59d7b2edc4" - integrity sha512-7b7ZArhhH0SP6W2R9cqK6RjaU82FZ2UPM7RO8qN1b1wyvC/NY1FNWcX1Pu00fFOAnzEORtwXe4bPaClg6pUybQ== +dompurify@2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.6.tgz#2e019d7d7617aacac07cbbe3d88ae3ad354cf875" + integrity sha512-OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg== domutils@^2.8.0: version "2.8.0" @@ -4283,6 +4378,11 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +electron-to-chromium@^1.4.118: + version "1.4.124" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.124.tgz#e9015e234d8632920dcdf5480351da9e845ed220" + integrity sha512-VhaE9VUYU6d2eIb+4xf83CATD+T+3bTzvxvlADkQE+c2hisiw3sZmvEDtsW704+Zky9WZGhBuQXijDVqSriQLA== + electron-to-chromium@^1.4.84: version "1.4.96" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz#a97438a01d5db1460343fea4a344960b09330990" @@ -4500,6 +4600,11 @@ esbuild-android-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== +esbuild-android-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" + integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== + esbuild-android-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz#a3f7e1ad84b8a7dcb39b5e132768b56ee7133656" @@ -4510,6 +4615,11 @@ esbuild-android-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== +esbuild-android-arm64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" + integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== + esbuild-darwin-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz#a0e4ab7a0cddf76761f1fb5d6bf552a376beb16e" @@ -4520,6 +4630,11 @@ esbuild-darwin-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== +esbuild-darwin-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" + integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== + esbuild-darwin-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz#54c35461f82f83a7f5169d9a6a54201798977b07" @@ -4530,6 +4645,11 @@ esbuild-darwin-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== +esbuild-darwin-arm64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" + integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== + esbuild-freebsd-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz#aebb50248f5874d04ffeab2db8ee1ed6037e2654" @@ -4540,6 +4660,11 @@ esbuild-freebsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== +esbuild-freebsd-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" + integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== + esbuild-freebsd-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz#09bef288e29f18b38b0c70a9827b6ee718e36c7f" @@ -4550,6 +4675,11 @@ esbuild-freebsd-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== +esbuild-freebsd-arm64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" + integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== + esbuild-linux-32@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz#67790061758e008e919e65bbc34549f55dadaca7" @@ -4560,6 +4690,11 @@ esbuild-linux-32@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== +esbuild-linux-32@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" + integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== + esbuild-linux-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz#b9b19d4ac07e37495dd2508ec843418aa71c98d6" @@ -4570,6 +4705,11 @@ esbuild-linux-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== +esbuild-linux-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" + integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== + esbuild-linux-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz#fd84b11a6ccfe9e83e00d0c45890e9fb3a7248c1" @@ -4580,6 +4720,11 @@ esbuild-linux-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== +esbuild-linux-arm64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" + integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== + esbuild-linux-arm@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz#c89d4714b05265a315a97c8933508cc73950e683" @@ -4590,6 +4735,11 @@ esbuild-linux-arm@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== +esbuild-linux-arm@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" + integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== + esbuild-linux-mips64le@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz#d60752c3fb1260dd0737532af2de2a9521656456" @@ -4600,6 +4750,11 @@ esbuild-linux-mips64le@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== +esbuild-linux-mips64le@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" + integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== + esbuild-linux-ppc64le@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz#f4c6229269956564f0c6f9825f5e717c2cfc22b3" @@ -4610,6 +4765,11 @@ esbuild-linux-ppc64le@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== +esbuild-linux-ppc64le@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" + integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== + esbuild-linux-riscv64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz#549bd18a9eba3135b67f7b742730b5343a1be35d" @@ -4620,6 +4780,11 @@ esbuild-linux-riscv64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== +esbuild-linux-riscv64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" + integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== + esbuild-linux-s390x@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz#2a6b577c437f94c2b37623c755ff5215a05c12bc" @@ -4630,6 +4795,11 @@ esbuild-linux-s390x@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== +esbuild-linux-s390x@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" + integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== + esbuild-netbsd-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz#7f0b73229157975eb35597207723df52ba21722a" @@ -4640,6 +4810,11 @@ esbuild-netbsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== +esbuild-netbsd-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" + integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== + esbuild-openbsd-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz#b9bc44b4f70031fb01b173b279daeffc4d4f54b7" @@ -4650,6 +4825,11 @@ esbuild-openbsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== +esbuild-openbsd-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" + integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== + esbuild-sunos-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz#512dd6085ac1a0dccc20c5f932f16a618bea409c" @@ -4660,11 +4840,21 @@ esbuild-sunos-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== +esbuild-sunos-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" + integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA== + esbuild-wasm@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.36.tgz#7c69b6db185f16755841e999f8c9604dee2cb86a" integrity sha512-tDMs2l397fd/pwLoIKb4uYfQayM5hMfUwVvCmzbFEU+zXedj15/Z/A8iD87cWHN1VD66REdgcGMt1BO6C7RnLw== +esbuild-wasm@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" + integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== + esbuild-wasm@^0.14.29: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.34.tgz#cde4a4c10405b6dfb677652092eb5b9788670d70" @@ -4680,6 +4870,11 @@ esbuild-windows-32@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== +esbuild-windows-32@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" + integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== + esbuild-windows-64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz#66f7b43d2a0b132f6748dfa3edac4fc939a99be0" @@ -4690,6 +4885,11 @@ esbuild-windows-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== +esbuild-windows-64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" + integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== + esbuild-windows-arm64@0.14.34: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz#b74a6395b7b7e53dba70b71b39542afd83352473" @@ -4700,6 +4900,11 @@ esbuild-windows-arm64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== +esbuild-windows-arm64@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" + integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw== + esbuild@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" @@ -4726,6 +4931,32 @@ esbuild@0.14.36: esbuild-windows-64 "0.14.36" esbuild-windows-arm64 "0.14.36" +esbuild@0.14.38: + version "0.14.38" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" + integrity sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA== + optionalDependencies: + esbuild-android-64 "0.14.38" + esbuild-android-arm64 "0.14.38" + esbuild-darwin-64 "0.14.38" + esbuild-darwin-arm64 "0.14.38" + esbuild-freebsd-64 "0.14.38" + esbuild-freebsd-arm64 "0.14.38" + esbuild-linux-32 "0.14.38" + esbuild-linux-64 "0.14.38" + esbuild-linux-arm "0.14.38" + esbuild-linux-arm64 "0.14.38" + esbuild-linux-mips64le "0.14.38" + esbuild-linux-ppc64le "0.14.38" + esbuild-linux-riscv64 "0.14.38" + esbuild-linux-s390x "0.14.38" + esbuild-netbsd-64 "0.14.38" + esbuild-openbsd-64 "0.14.38" + esbuild-sunos-64 "0.14.38" + esbuild-windows-32 "0.14.38" + esbuild-windows-64 "0.14.38" + esbuild-windows-arm64 "0.14.38" + esbuild@^0.14.29: version "0.14.34" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.34.tgz#3610056f0a57bcfd0b63ddaafdb2e3bef1cf96e4" @@ -4874,12 +5105,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.13.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.13.0.tgz#6fcea43b6811e655410f5626cfcf328016badcd7" - integrity sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ== +eslint@8.14.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.14.0.tgz#62741f159d9eb4a79695b28ec4989fcdec623239" + integrity sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw== dependencies: - "@eslint/eslintrc" "^1.2.1" + "@eslint/eslintrc" "^1.2.2" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -5021,17 +5252,17 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.17.2: - version "4.17.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" - integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg== +express@4.17.3, express@^4.17.3: + version "4.17.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" + integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== dependencies: - accepts "~1.3.7" + accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.1" + body-parser "1.19.2" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.1" + cookie "0.4.2" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" @@ -5046,7 +5277,7 @@ express@4.17.2: parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.6" + qs "6.9.7" range-parser "~1.2.1" safe-buffer "5.2.1" send "0.17.2" @@ -5057,38 +5288,39 @@ express@4.17.2: utils-merge "1.0.1" vary "~1.1.2" -express@4.17.3, express@^4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== +express@4.18.0: + version "4.18.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.0.tgz#7a426773325d0dd5406395220614c0db10b6e8e2" + integrity sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.2" + body-parser "1.20.0" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.2" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.7" + qs "6.10.3" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" + send "0.18.0" + serve-static "1.15.0" setprototypeof "1.2.0" - statuses "~1.5.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -5249,6 +5481,19 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" @@ -5516,7 +5761,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.1: +glob@8.0.1, glob@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.1.tgz#00308f5c035aa0b2a447cd37ead267ddff1577d3" integrity sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow== @@ -6013,6 +6258,27 @@ inquirer@8.2.2: strip-ansi "^6.0.0" through "^2.3.6" +inquirer@8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -6960,7 +7226,12 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@6.0.0, lru-cache@^6.0.0: +lru-cache@7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.1.tgz#68ee3f4807a57d2ba185b7fd90827d5c21ce82bb" + integrity sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg== + +lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== @@ -7047,15 +7318,10 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: socks-proxy-agent "^6.1.1" ssri "^8.0.1" -marked@4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.10.tgz#423e295385cc0c3a70fa495e0df68b007b879423" - integrity sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw== - -marked@4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" - integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== +marked@4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.14.tgz#7a3a5fa5c80580bac78c1ed2e3b84d7bd6fc3870" + integrity sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ== media-typer@0.3.0: version "0.3.0" @@ -7449,6 +7715,11 @@ node-releases@^2.0.2: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== +node-releases@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" + integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== + nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -8177,6 +8448,13 @@ postcss-custom-properties@^12.1.5: dependencies: postcss-value-parser "^4.2.0" +postcss-custom-properties@^12.1.7: + version "12.1.7" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz#ca470fd4bbac5a87fd868636dafc084bc2a78b41" + integrity sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg== + dependencies: + postcss-value-parser "^4.2.0" + postcss-custom-selectors@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" @@ -8259,6 +8537,14 @@ postcss-lab-function@^4.1.2: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" +postcss-lab-function@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz#e054e662c6480202f5760887ec1ae0d153357123" + integrity sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + postcss-loader@6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" @@ -8313,6 +8599,13 @@ postcss-nesting@^10.1.3: dependencies: postcss-selector-parser "^6.0.9" +postcss-nesting@^10.1.4: + version "10.1.4" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.4.tgz#80de9d1c2717bc44df918dd7f118929300192a7a" + integrity sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA== + dependencies: + postcss-selector-parser "^6.0.10" + postcss-opacity-percentage@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" @@ -8384,6 +8677,55 @@ postcss-preset-env@7.4.3, postcss-preset-env@^7.4.2: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" +postcss-preset-env@7.4.4: + version "7.4.4" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.4.tgz#069e34e31e2a7345154da7936b9fc1fcbdbd6d43" + integrity sha512-MqzSEx/QsvOk562iV9mLTgIvLFEOq1os9QBQfkgnq8TW6yKhVFPGh0gdXSK5ZlmjuNQEga6/x833e86XZF/lug== + dependencies: + "@csstools/postcss-color-function" "^1.1.0" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.2" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + autoprefixer "^10.4.5" + browserslist "^4.20.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.5.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.7" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.4" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.2" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" @@ -8391,6 +8733,13 @@ postcss-pseudo-class-any-link@^7.1.1: dependencies: postcss-selector-parser "^6.0.9" +postcss-pseudo-class-any-link@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz#81ec491aa43f97f9015e998b7a14263b4630bdf0" + integrity sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w== + dependencies: + postcss-selector-parser "^6.0.10" + postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" @@ -8403,6 +8752,14 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" +postcss-selector-parser@^6.0.10: + version "6.0.10" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" @@ -8599,16 +8956,16 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.5.2: - version "13.5.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.2.tgz#73ae84969cbf514aeee871a05ec4549d67f6abee" - integrity sha512-DJAyXODBikZ3xPs8C35CtExEw78LZR9RyelGDAs0tX1dERv3OfW7qpQ9VPBgsfz+hG2HiMTO/Tyf7BuMVWsrxg== +puppeteer@13.7.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.7.0.tgz#18e16f83e397cf02f7a0804c67c1603d381cfb0b" + integrity sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.969999" + devtools-protocol "0.0.981744" extract-zip "2.0.1" - https-proxy-agent "5.0.0" + https-proxy-agent "5.0.1" pkg-dir "4.2.0" progress "2.0.3" proxy-from-env "1.1.0" @@ -8632,16 +8989,18 @@ qjobs@^1.2.0: resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== +qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" + qs@6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= -qs@6.9.6: - version "6.9.6" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" - integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== - qs@6.9.7: version "6.9.7" resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" @@ -8701,16 +9060,6 @@ range-parser@^1.2.1, range-parser@~1.2.0, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" - integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== - dependencies: - bytes "3.1.1" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - raw-body@2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" @@ -8721,7 +9070,7 @@ raw-body@2.4.3: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@^2.3.2: +raw-body@2.5.1, raw-body@^2.3.2: version "2.5.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== @@ -9177,6 +9526,15 @@ sass@1.50.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" + integrity sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sass@^1.49.9: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" @@ -9283,13 +9641,6 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - semver@7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -9302,6 +9653,13 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -9340,7 +9698,7 @@ send@0.17.2: range-parser "~1.2.1" statuses "~1.5.0" -send@^0.18.0: +send@0.18.0, send@^0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== @@ -9399,6 +9757,16 @@ serve-static@1.14.2: parseurl "~1.3.3" send "0.17.2" +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + server-destroy@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" @@ -9631,6 +9999,13 @@ source-map@^0.5.0, source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +source-map@~0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -10033,6 +10408,16 @@ terser@5.12.1, terser@^5.7.2: source-map "~0.7.2" source-map-support "~0.5.20" +terser@5.13.0: + version "5.13.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.0.tgz#d43fd71861df1b4df743980caa257c6fa03acc44" + integrity sha512-sgQ99P+fRBM1jAYzN9RTnD/xEWx/7LZgYTCRgmYriSq1wxxqiQPJgXkkLBBuwySDWJ2PP0PnVQyuf4xLUuH4Ng== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.8.0-beta.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10215,6 +10600,11 @@ tslib@2.3.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -10492,13 +10882,13 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -verdaccio-audit@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.0.tgz#ba391b2c668bef5b12fc8c8db7d4e70117b729d9" - integrity sha512-/VqtzkFoM9v1DFU3JL+T/4v343YcCwZVR/3TDLkgtrG2IuukwxjX62BVGYZxT8v6M4ml2hRDm5za7xOHQU2AIg== +verdaccio-audit@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.1.tgz#5499bfe09e1ab35ab62962e4fa95d5ce6b2356c2" + integrity sha512-zDG0Kw1ny+Kj+k134/gVN5B3/+8h7i8dKdw4wqVf8CcaYfXlIAIgdwPB1DeD/D2DFSy43FokSO9erTKPHGHidw== dependencies: - body-parser "1.19.1" - express "4.17.2" + body-parser "1.20.0" + express "4.17.3" https-proxy-agent "5.0.0" node-fetch "2.6.7" @@ -10520,24 +10910,24 @@ verdaccio-htpasswd@10.3.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.9.0: - version "5.9.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.9.0.tgz#bc3bc7107504eef9bfe3b85a859eb8cc7013e88f" - integrity sha512-Ah2xssdTIx2fzBdnYFc5Tnlq9AIb2M0V9IsK9axDvuT5IIxeaZi2EjRtvlP2zj1TH/hHMVyDnhjZ3o7qc22I5w== +verdaccio@5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.10.0.tgz#597b952306e2255bac34aa75455322b45627e17d" + integrity sha512-K2bHpRfOX1l2vKgwVdVqat25wDqv4ytQoA2fuBO5+vaGfRb+CLdv9H8JVft2b7GBjARpPXkFEek/dJfSZd7E5A== dependencies: "@verdaccio/commons-api" "10.2.0" - "@verdaccio/local-storage" "10.2.0" - "@verdaccio/readme" "10.3.2" + "@verdaccio/local-storage" "10.2.1" + "@verdaccio/readme" "10.3.3" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.23" + "@verdaccio/ui-theme" "6.0.0-6-next.24" JSONStream "1.3.5" async "3.2.3" - body-parser "1.19.2" + body-parser "1.20.0" clipanion "3.1.0" compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.0" + dayjs "1.11.1" debug "^4.3.3" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" @@ -10550,9 +10940,9 @@ verdaccio@5.9.0: jsonwebtoken "8.5.1" kleur "4.1.4" lodash "4.17.21" - lru-cache "6.0.0" + lru-cache "7.8.1" lunr-mutable-indexes "2.3.2" - marked "4.0.12" + marked "4.0.14" memoizee "0.4.15" mime "3.0.0" minimatch "5.0.1" @@ -10563,9 +10953,9 @@ verdaccio@5.9.0: prettier-bytes "^1.0.4" pretty-ms "^7.0.1" request "2.88.0" - semver "7.3.5" + semver "7.3.7" validator "13.7.0" - verdaccio-audit "10.2.0" + verdaccio-audit "10.2.1" verdaccio-htpasswd "10.3.0" verror@1.10.0: From 21622b82dd31e50f20a64bdac298e9d751e765a2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 28 Apr 2022 12:54:58 -0400 Subject: [PATCH 0335/1388] build: update webdriver version to match puppeteer `puppeteer@3.7.0` uses Chromium 101.0.4950.0 and was updated to that version in 3.6.0. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 45c6b718e656..479430fbe4c5 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 99.0.4844.17", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 101.0.4951.41", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", "ts-circular-deps:check": "ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", From 0e6425fd88ea32679516251efdca6ff07cc4b56a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 29 Apr 2022 10:42:25 -0400 Subject: [PATCH 0336/1388] feat(@angular-devkit/schematics): disable package script execution by default in `NodePackageInstallTask` In an effort to improve supply chain security, the `NodePackageInstallTask` will now use the package manager's `--ignore-scripts` option by default. Without the option, all direct and transitive dependencies would have their scripts executed during the task's package manager installation operation. The change only affects the package manager behavior controlled by the Schematics `NodePackageInstallTask`. First-party Angular schematics do not currently require any direct or transitive dependency `install`/`postinstall` scripts to execute. Only two dependencies within a v14.0 new project would potentially be affected by this: `nice-napi` (transitive from `piscina`) and `esbuild`. The `nice-napi` functionality of `piscina` is unused within the Angular CLI with no plans to use it in the future. Even if it was used, the `install` script runs `node-gyp-build` which would only have an effect (based on the current version 1.0.2) on platforms that are not Windows, darwin-x64, or linux-x64. In the event this functionality is eventually used, the Angular CLI could be setup to automatically execute this particular script for unsupported platforms. For `esbuild`, the `postinstall` functionality performs an optional native binary bootstrap optimization but would only be performed if not using Windows or Yarn. As such, it would not be performed for many users regardless of the change in this commit. If noticeable performance regressions on platforms where the optimization was previously performed are reported, the script could also be setup to be automatically run by the Angular CLI during project creation and/or first build. BREAKING CHANGE: Schematics `NodePackageInstallTask` will not execute package scripts by default The `NodePackageInstallTask` will now use the package manager's `--ignore-scripts` option by default. The `--ignore-scripts` option will prevent package scripts from executing automatically during an install. If a schematic installs packages that need their `install`/`postinstall` scripts to be executed, the `NodePackageInstallTask` now contains an `allowScripts` boolean option which can be enabled to provide the previous behavior for that individual task. As with previous behavior, the `allowScripts` option will prevent the individual task's usage of the `--ignore-scripts` option but will not override the package manager's existing configuration. --- .circleci/config.yml | 2 +- .../angular_devkit/schematics/tasks/index.md | 2 + .../tasks/package-manager/executor.ts | 4 ++ .../tasks/package-manager/install-task.ts | 6 ++ .../tasks/package-manager/options.ts | 1 + .../schematic-allow-scripts/collection.json | 9 +++ .../assets/schematic-allow-scripts/index.js | 16 +++++ .../schematic-allow-scripts/package.json | 5 ++ .../schematic-allow-scripts/schema.json | 14 +++++ .../tests/generate/install-allow-scripts.ts | 31 ++++++++++ .../e2e/tests/misc/check-postinstalls.ts | 58 +++++++++++++++++++ 11 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 tests/legacy-cli/e2e/assets/schematic-allow-scripts/collection.json create mode 100644 tests/legacy-cli/e2e/assets/schematic-allow-scripts/index.js create mode 100644 tests/legacy-cli/e2e/assets/schematic-allow-scripts/package.json create mode 100644 tests/legacy-cli/e2e/assets/schematic-allow-scripts/schema.json create mode 100644 tests/legacy-cli/e2e/tests/generate/install-allow-scripts.ts create mode 100644 tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index a76ddba69adb..73b36c9e1026 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -325,7 +325,7 @@ jobs: name: Execute E2E Tests command: | if (Test-Path env:CIRCLE_PULL_REQUEST) { - node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX + node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts,tests/misc/check-postinstalls.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX } else { node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX } diff --git a/goldens/public-api/angular_devkit/schematics/tasks/index.md b/goldens/public-api/angular_devkit/schematics/tasks/index.md index 8cdf3b28a040..8b25367a822a 100644 --- a/goldens/public-api/angular_devkit/schematics/tasks/index.md +++ b/goldens/public-api/angular_devkit/schematics/tasks/index.md @@ -11,6 +11,8 @@ export class NodePackageInstallTask implements TaskConfigurationGenerator { quiet = true; hideOutput = true; + allowScripts = false; workingDirectory?: string; packageManager?: string; packageName?: string; @@ -45,6 +47,9 @@ export class NodePackageInstallTask implements TaskConfigurationGenerator { + return (tree, context) => { + tree.create('/install-test/package.json', JSON.stringify({ + name: 'install-test', + version: '0.0.0', + scripts: { + postinstall: `node run-post.js`, + } + })); + tree.create('/install-test/.npmrc', `ignore-scripts=${ignoreScripts}`); + tree.create('/install-test/run-post.js', 'require("fs").writeFileSync(__dirname + "/post-script-ran", "12345");') + context.addTask(new tasks.NodePackageInstallTask({ workingDirectory: 'install-test', allowScripts })); + }; +}; diff --git a/tests/legacy-cli/e2e/assets/schematic-allow-scripts/package.json b/tests/legacy-cli/e2e/assets/schematic-allow-scripts/package.json new file mode 100644 index 000000000000..ebb363159df1 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/schematic-allow-scripts/package.json @@ -0,0 +1,5 @@ +{ + "name": "allow-scripts", + "version": "0.0.1", + "schematics": "./collection.json" +} diff --git a/tests/legacy-cli/e2e/assets/schematic-allow-scripts/schema.json b/tests/legacy-cli/e2e/assets/schematic-allow-scripts/schema.json new file mode 100644 index 000000000000..099432e4063a --- /dev/null +++ b/tests/legacy-cli/e2e/assets/schematic-allow-scripts/schema.json @@ -0,0 +1,14 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "additionalProperties": false, + "properties": { + "allowScripts": { + "type": "boolean" + }, + "ignoreScripts": { + "type": "boolean" + } + } +} + \ No newline at end of file diff --git a/tests/legacy-cli/e2e/tests/generate/install-allow-scripts.ts b/tests/legacy-cli/e2e/tests/generate/install-allow-scripts.ts new file mode 100644 index 000000000000..f41a49935d80 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/generate/install-allow-scripts.ts @@ -0,0 +1,31 @@ +import { copyAssets } from '../../utils/assets'; +import { expectFileNotToExist, expectFileToExist, rimraf } from '../../utils/fs'; +import { ng } from '../../utils/process'; + +export default async function () { + // Copy test schematic into test project to ensure schematic dependencies are available + await copyAssets('schematic-allow-scripts', 'schematic-allow-scripts'); + + // By default should not run the postinstall from the added package.json in the schematic + await ng('generate', './schematic-allow-scripts:test'); + await expectFileToExist('install-test/package.json'); + await expectFileNotToExist('install-test/post-script-ran'); + + // Cleanup for next test case + await rimraf('install-test'); + + // Should run the postinstall if the allowScripts task option is enabled + // For testing purposes, this schematic exposes the task option via a schematic option + await ng('generate', './schematic-allow-scripts:test', '--allow-scripts'); + await expectFileToExist('install-test/package.json'); + await expectFileToExist('install-test/post-script-ran'); + + // Cleanup for next test case + await rimraf('install-test'); + + // Package manager configuration should take priority + // The `ignoreScripts` schematic option sets the value of the `ignore-scripts` option in a test project `.npmrc` + await ng('generate', './schematic-allow-scripts:test', '--allow-scripts', '--ignore-scripts'); + await expectFileToExist('install-test/package.json'); + await expectFileNotToExist('install-test/post-script-ran'); +} diff --git a/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts b/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts new file mode 100644 index 000000000000..18fefcc907de --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts @@ -0,0 +1,58 @@ +import glob from 'glob'; +import { promisify } from 'util'; +import { readFile } from '../../utils/fs'; + +const globAsync = promisify(glob); + +const CURRENT_SCRIPT_PACKAGES: ReadonlySet = new Set([ + 'esbuild (postinstall)', + 'nice-napi (install)', +]); + +const POTENTIAL_SCRIPTS: ReadonlyArray = ['preinstall', 'install', 'postinstall']; + +// Some packages include test and/or example code that causes false positives +const FALSE_POSITIVE_PATHS: ReadonlySet = new Set([ + 'node_modules/jasmine-spec-reporter/examples/protractor/package.json', + 'node_modules/resolve/test/resolver/multirepo/package.json', +]); + +export default async function () { + const manifestPaths = await globAsync('node_modules/**/package.json'); + const newPackages: string[] = []; + + for (const manifestPath of manifestPaths) { + if (FALSE_POSITIVE_PATHS.has(manifestPath)) { + continue; + } + + let manifest; + try { + manifest = JSON.parse(await readFile(manifestPath)); + } catch { + continue; + } + + if (!manifest.scripts) { + continue; + } + + for (const script of POTENTIAL_SCRIPTS) { + if (!manifest.scripts[script]) { + continue; + } + + const packageScript = `${manifest.name} (${script})`; + + if (!CURRENT_SCRIPT_PACKAGES.has(packageScript)) { + newPackages.push(packageScript + `[${manifestPath}]`); + } + } + } + + if (newPackages.length) { + throw new Error( + 'New install script package(s) detected:\n' + JSON.stringify(newPackages, null, 2), + ); + } +} From 1c634cd327e5a850553b258aa2d5e6a6b2c75c65 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 29 Apr 2022 16:32:16 +0000 Subject: [PATCH 0337/1388] build: update dependency typescript to v4.6.4 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 479430fbe4c5..763be81f3e39 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.6.3", + "typescript": "4.6.4", "verdaccio": "5.10.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 00a06e496452..d3cdcbb43e53 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.0.0-next.14", "@angular/compiler-cli": "14.0.0-next.14", - "typescript": "4.6.3", + "typescript": "4.6.4", "webpack": "5.72.0" } } diff --git a/yarn.lock b/yarn.lock index 33b6d9567c5a..a78386a4db9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10691,7 +10691,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.3, typescript@~4.6.2, typescript@~4.6.3: +typescript@4.6.4: + version "4.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== + +typescript@~4.6.2, typescript@~4.6.3: version "4.6.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== From 269fb87ae17120eb4267bc98e96202e10b910f6f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 3 May 2022 08:23:33 +0200 Subject: [PATCH 0338/1388] test: reject promise when output doesn't match `waitForMatch` Previously, when the process output didn't match, the promise was always resolved. --- tests/legacy-cli/e2e/tests/misc/completion.ts | 44 +++--- tests/legacy-cli/e2e/utils/process.ts | 130 ++++++++++-------- 2 files changed, 100 insertions(+), 74 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/completion.ts b/tests/legacy-cli/e2e/tests/misc/completion.ts index bbcce970329c..0a7cb1daffb5 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion.ts @@ -2,49 +2,61 @@ import { execAndWaitForOutputToMatch } from '../../utils/process'; export default async function () { // ng build - await execAndWaitForOutputToMatch('ng', ['--get-yargs-completions', 'b', ''], /test-project/); - await execAndWaitForOutputToMatch('ng', ['--get-yargs-completions', 'build', ''], /test-project/); - await execAndWaitForOutputToMatch('ng', ['--get-yargs-completions', 'build', '--a'], /--aot/); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'build', '--configuration'], + ['--get-yargs-completions', 'ng', 'b', ''], + /test-project/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'build', ''], + /test-project/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'build', '--a'], + /--aot/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'build', '--configuration'], /production/, ); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'b', '--configuration'], + ['--get-yargs-completions', 'ng', 'b', '--configuration'], /production/, ); // ng run await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'run', ''], - /test-project\:build\:development/, + ['--get-yargs-completions', 'ng', 'run', ''], + /test-project\\:build\\:development/, ); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'run', ''], - /test-project\:build/, + ['--get-yargs-completions', 'ng', 'run', ''], + /test-project\\:build/, ); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'run', ''], - /test-project\:test/, + ['--get-yargs-completions', 'ng', 'run', ''], + /test-project\\:test/, ); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'run', 'test-project:build'], - /test-project\:build\:development/, + ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], + /test-project\\:build\\:development/, ); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'run', 'test-project:'], - /test-project\:test/, + ['--get-yargs-completions', 'ng', 'run', 'test-project:'], + /test-project\\:test/, ); await execAndWaitForOutputToMatch( 'ng', - ['--get-yargs-completions', 'run', 'test-project:build'], + ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], // does not include 'test-project:serve' /^((?!:serve).)*$/, ); diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index add60058cb17..bba1e8722623 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -1,20 +1,18 @@ import * as ansiColors from 'ansi-colors'; -import { SpawnOptions } from "child_process"; +import { SpawnOptions } from 'child_process'; import * as child_process from 'child_process'; -import { concat, defer, EMPTY, from} from 'rxjs'; -import {repeat, takeLast} from 'rxjs/operators'; -import {getGlobalVariable} from './env'; -import {catchError} from 'rxjs/operators'; +import { concat, defer, EMPTY, from } from 'rxjs'; +import { repeat, takeLast } from 'rxjs/operators'; +import { getGlobalVariable } from './env'; +import { catchError } from 'rxjs/operators'; const treeKill = require('tree-kill'); - interface ExecOptions { silent?: boolean; waitForMatch?: RegExp; env?: { [varname: string]: string }; } - let _processes: child_process.ChildProcess[] = []; export type ProcessOutput = { @@ -22,8 +20,7 @@ export type ProcessOutput = { stderr: string; }; - -function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { +function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { // Create a separate instance to prevent unintended global changes to the color configuration // Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 const colors = (ansiColors as typeof ansiColors & { create: () => typeof ansiColors }).create(); @@ -33,24 +30,24 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise x !== undefined); + args = args.filter((x) => x !== undefined); const flags = [ options.silent && 'silent', - options.waitForMatch && `matching(${options.waitForMatch})` + options.waitForMatch && `matching(${options.waitForMatch})`, ] - .filter(x => !!x) // Remove false and undefined. + .filter((x) => !!x) // Remove false and undefined. .join(', ') - .replace(/^(.+)$/, ' [$1]'); // Proper formatting. + .replace(/^(.+)$/, ' [$1]'); // Proper formatting. - console.log(colors.blue(`Running \`${cmd} ${args.map(x => `"${x}"`).join(' ')}\`${flags}...`)); + console.log(colors.blue(`Running \`${cmd} ${args.map((x) => `"${x}"`).join(' ')}\`${flags}...`)); console.log(colors.blue(`CWD: ${cwd}`)); console.log(colors.blue(`ENV: ${JSON.stringify(env)}`)); const spawnOptions: SpawnOptions = { cwd, - ...env ? { env } : {}, + ...(env ? { env } : {}), }; if (process.platform.startsWith('win')) { @@ -65,36 +62,50 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise line !== '') - .forEach(line => console.log(' ' + line)); + .filter((line) => line !== '') + .forEach((line) => console.log(' ' + line)); }); childProcess.stderr.on('data', (data: Buffer) => { stderr += data.toString('utf-8'); if (options.silent) { return; } - data.toString('utf-8') + data + .toString('utf-8') .split(/[\n\r]+/) - .filter(line => line !== '') - .forEach(line => console.error(colors.yellow(' ' + line))); + .filter((line) => line !== '') + .forEach((line) => console.error(colors.yellow(' ' + line))); }); _processes.push(childProcess); // Create the error here so the stack shows who called this function. - const err = new Error(`Running "${cmd} ${args.join(' ')}" returned error code `); + return new Promise((resolve, reject) => { + let matched = false; + childProcess.on('exit', (error: any) => { - _processes = _processes.filter(p => p !== childProcess); + _processes = _processes.filter((p) => p !== childProcess); + + if (options.waitForMatch && !matched) { + error = `Output didn't match '${options.waitForMatch}'.`; + } if (!error) { resolve({ stdout, stderr }); - } else { - err.message += `${error}...\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; - reject(err); + return; } + + reject( + new Error( + `Running "${cmd} ${args.join( + ' ', + )}" returned error. ${error}...\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`, + ), + ); }); if (options.waitForMatch) { @@ -102,19 +113,23 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { if (data.toString().match(match)) { resolve({ stdout, stderr }); + matched = true; } }); childProcess.stderr.on('data', (data: Buffer) => { if (data.toString().match(match)) { resolve({ stdout, stderr }); + matched = true; } }); } }); } -export function waitForAnyProcessOutputToMatch(match: RegExp, - timeout = 30000): Promise { +export function waitForAnyProcessOutputToMatch( + match: RegExp, + timeout = 30000, +): Promise { // Race between _all_ processes, and the timeout. First one to resolve/reject wins. const timeoutPromise: Promise = new Promise((_resolve, reject) => { // Wait for 30 seconds and timeout. @@ -124,28 +139,30 @@ export function waitForAnyProcessOutputToMatch(match: RegExp, }); const matchPromises: Promise[] = _processes.map( - childProcess => new Promise(resolve => { - let stdout = ''; - let stderr = ''; - childProcess.stdout.on('data', (data: Buffer) => { - stdout += data.toString(); - if (data.toString().match(match)) { - resolve({ stdout, stderr }); - } - }); - childProcess.stderr.on('data', (data: Buffer) => { - stderr += data.toString(); - if (data.toString().match(match)) { - resolve({ stdout, stderr }); - } - }); - })); + (childProcess) => + new Promise((resolve) => { + let stdout = ''; + let stderr = ''; + childProcess.stdout.on('data', (data: Buffer) => { + stdout += data.toString(); + if (data.toString().match(match)) { + resolve({ stdout, stderr }); + } + }); + childProcess.stderr.on('data', (data: Buffer) => { + stderr += data.toString(); + if (data.toString().match(match)) { + resolve({ stdout, stderr }); + } + }); + }), + ); return Promise.race(matchPromises.concat([timeoutPromise])); } export function killAllProcesses(signal = 'SIGTERM') { - _processes.forEach(process => treeKill(process.pid, signal)); + _processes.forEach((process) => treeKill(process.pid, signal)); _processes = []; } @@ -169,16 +186,14 @@ export function execAndWaitForOutputToMatch(cmd: string, args: string[], match: // This seems to be due to host file system differences, see // https://nodejs.org/docs/latest/api/fs.html#fs_caveats return concat( - from( - _exec({ waitForMatch: match }, cmd, args) - ), + from(_exec({ waitForMatch: match }, cmd, args)), defer(() => waitForAnyProcessOutputToMatch(match, 2500)).pipe( repeat(20), catchError(() => EMPTY), ), - ).pipe( - takeLast(1), - ).toPromise(); + ) + .pipe(takeLast(1)) + .toPromise(); } else { return _exec({ waitForMatch: match }, cmd, args); } @@ -190,8 +205,7 @@ export function ng(...args: string[]) { if (['build', 'serve', 'test', 'e2e', 'extract-i18n'].indexOf(args[0]) != -1) { if (args[0] == 'e2e') { // Wait 1 second before running any end-to-end test. - return new Promise(resolve => setTimeout(resolve, 1000)) - .then(() => maybeSilentNg(...args)); + return new Promise((resolve) => setTimeout(resolve, 1000)).then(() => maybeSilentNg(...args)); } return maybeSilentNg(...args); @@ -205,15 +219,15 @@ export function noSilentNg(...args: string[]) { } export function silentNg(...args: string[]) { - return _exec({silent: true}, 'ng', args); + return _exec({ silent: true }, 'ng', args); } export function silentNpm(...args: string[]) { - return _exec({silent: true}, 'npm', args); + return _exec({ silent: true }, 'npm', args); } export function silentYarn(...args: string[]) { - return _exec({silent: true}, 'yarn', args); + return _exec({ silent: true }, 'yarn', args); } export function npm(...args: string[]) { @@ -229,5 +243,5 @@ export function git(...args: string[]) { } export function silentGit(...args: string[]) { - return _exec({silent: true}, 'git', args); + return _exec({ silent: true }, 'git', args); } From df9fc8f5abad13d53c841e7af77110e4b57de10c Mon Sep 17 00:00:00 2001 From: Pawel Kozlowski Date: Tue, 3 May 2022 09:15:21 +0200 Subject: [PATCH 0339/1388] refactor(@schematics/angular): include CommonModule for standalone components This commit adds the CommonModule imports to the standalone components generated by the Angular's ng add component schematic. --- .../__name@dasherize__.__type@dasherize__.ts.template | 6 ++++-- packages/schematics/angular/component/index_spec.ts | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index ce0dd0657ca0..ce6c105bef1a 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -1,8 +1,10 @@ -import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core';<% if(standalone) {%> +import { CommonModule } from '@angular/common';<% } %> @Component({<% if(!skipSelector) {%> selector: '<%= selector %>',<%}%><% if(standalone) {%> - standalone: true,<%}%><% if(inlineTemplate) { %> + standalone: true, + imports: [CommonModule], <%}%><% if(inlineTemplate) { %> template: `

<%= dasherize(name) %> works! diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index ad2fd381525d..7e031073bf8b 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -426,9 +426,11 @@ describe('Component Schematic', () => { const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); const componentContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); - expect(componentContent).toContain('standalone: true'); + expect(componentContent).toContain('@angular/common'); expect(componentContent).toContain('class FooComponent'); expect(moduleContent).not.toContain('FooComponent'); + expect(componentContent).toContain('standalone: true'); + expect(componentContent).toContain('imports: [CommonModule]'); }); it('should declare standalone components in the `imports` of a test', async () => { From 3fa38b08ba8ef57a6079873223a7d6088d5ea64e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 2 May 2022 12:07:39 -0400 Subject: [PATCH 0340/1388] feat(@schematics/angular): introduce `addDependency` rule to utilities An `addDependency` schematics rule has been added to the newly introduced `utility` subpath export for the `@schematics/angular` package. This new rule allows for adding a package as a dependency to a `package.json`. By default the `package.json` located at the schematic's root will be used. The `packageJsonPath` option can be used to explicitly specify a `package.json` in a different location. The type of the dependency can also be specified instead of the default of the `dependencies` section by using the `type` option for either development or peer dependencies. --- packages/schematics/angular/BUILD.bazel | 1 + .../schematics/angular/utility/dependency.ts | 97 ++++++ .../angular/utility/dependency_spec.ts | 277 ++++++++++++++++++ 3 files changed, 375 insertions(+) create mode 100644 packages/schematics/angular/utility/dependency.ts create mode 100644 packages/schematics/angular/utility/dependency_spec.ts diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index c83b9ceb3bd3..249cae0907ce 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -112,6 +112,7 @@ ts_library( "//packages/angular_devkit/core", "//packages/angular_devkit/core/node/testing", "//packages/angular_devkit/schematics", + "//packages/angular_devkit/schematics/tasks", "//packages/angular_devkit/schematics/testing", "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", "@npm//@types/browserslist", diff --git a/packages/schematics/angular/utility/dependency.ts b/packages/schematics/angular/utility/dependency.ts new file mode 100644 index 000000000000..b4acdd6cbc5b --- /dev/null +++ b/packages/schematics/angular/utility/dependency.ts @@ -0,0 +1,97 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule, SchematicContext } from '@angular-devkit/schematics'; +import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; +import * as path from 'path'; + +const installTasks = new WeakMap>(); + +interface MinimalPackageManifest { + dependencies?: Record; + devDependencies?: Record; + peerDependencies?: Record; +} + +/** + * An enum used to specify the type of a dependency found within a package manifest + * file (`package.json`). + */ +export enum DependencyType { + Default = 'dependencies', + Dev = 'devDependencies', + Peer = 'peerDependencies', +} + +/** + * Adds a package as a dependency to a `package.json`. By default the `package.json` located + * at the schematic's root will be used. The `manifestPath` option can be used to explicitly specify + * a `package.json` in different location. The type of the dependency can also be specified instead + * of the default of the `dependencies` section by using the `type` option for either `devDependencies` + * or `peerDependencies`. + * + * When using this rule, {@link NodePackageInstallTask} does not need to be included directly by + * a schematic. A package manager install task will be automatically scheduled as needed. + * + * @param name The name of the package to add. + * @param specifier The package specifier for the package to add. Typically a SemVer range. + * @param options An optional object that can contain the `type` of the dependency + * and/or a path (`packageJsonPath`) of a manifest file (`package.json`) to modify. + * @returns A Schematics {@link Rule} + */ +export function addDependency( + name: string, + specifier: string, + options: { + /** + * The type of the dependency determines the section of the `package.json` to which the + * dependency will be added. Defaults to {@link DependencyType.Default} (`dependencies`). + */ + type?: DependencyType; + /** + * The path of the package manifest file (`package.json`) that will be modified. + * Defaults to `/package.json`. + */ + packageJsonPath?: string; + } = {}, +): Rule { + const { type = DependencyType.Default, packageJsonPath = '/package.json' } = options; + + return (tree, context) => { + const manifest = tree.readJson(packageJsonPath) as MinimalPackageManifest; + const dependencySection = manifest[type]; + + if (!dependencySection) { + // Section is not present. The dependency can be added to a new object literal for the section. + manifest[type] = { [name]: specifier }; + } else if (dependencySection[name] === specifier) { + // Already present with same specifier + return; + } else if (dependencySection[name]) { + // Already present but different specifier + throw new Error(`Package dependency "${name}" already exists with a different specifier.`); + } else { + // Add new dependency in alphabetical order + const entries = Object.entries(dependencySection); + entries.push([name, specifier]); + entries.sort((a, b) => a[0].localeCompare(b[0])); + manifest[type] = Object.fromEntries(entries); + } + + tree.overwrite(packageJsonPath, JSON.stringify(manifest, null, 2)); + + const installPaths = installTasks.get(context) ?? new Set(); + if (!installPaths.has(packageJsonPath)) { + context.addTask( + new NodePackageInstallTask({ workingDirectory: path.dirname(packageJsonPath) }), + ); + installPaths.add(packageJsonPath); + installTasks.set(context, installPaths); + } + }; +} diff --git a/packages/schematics/angular/utility/dependency_spec.ts b/packages/schematics/angular/utility/dependency_spec.ts new file mode 100644 index 000000000000..67a96ea3d2ba --- /dev/null +++ b/packages/schematics/angular/utility/dependency_spec.ts @@ -0,0 +1,277 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { + EmptyTree, + Rule, + SchematicContext, + TaskConfigurationGenerator, + Tree, + callRule, + chain, +} from '@angular-devkit/schematics'; +import { DependencyType, addDependency } from './dependency'; + +async function testRule(rule: Rule, tree: Tree): Promise { + const tasks: TaskConfigurationGenerator[] = []; + const context = { + addTask(task: TaskConfigurationGenerator) { + tasks.push(task); + }, + }; + + await callRule(rule, tree, context as unknown as SchematicContext).toPromise(); + + return tasks; +} + +describe('addDependency', () => { + it('adds a package to "dependencies" by default', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: {}, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0'); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({ + dependencies: { '@angular/core': '^14.0.0' }, + }); + }); + + it('throws if a package is already present with a different specifier', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: { '@angular/core': '^13.0.0' }, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0'); + + await expectAsync(testRule(rule, tree)).toBeRejectedWithError( + undefined, + 'Package dependency "@angular/core" already exists with a different specifier.', + ); + }); + + it('adds a package version with other packages in alphabetical order', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: { '@angular/common': '^14.0.0', '@angular/router': '^14.0.0' }, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0'); + + await testRule(rule, tree); + + expect( + Object.entries((tree.readJson('/package.json') as { dependencies: {} }).dependencies), + ).toEqual([ + ['@angular/common', '^14.0.0'], + ['@angular/core', '^14.0.0'], + ['@angular/router', '^14.0.0'], + ]); + }); + + it('adds a dependency section if not present', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0'); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({ + dependencies: { '@angular/core': '^14.0.0' }, + }); + }); + + it('adds a package to "devDependencies" when "type" is "dev"', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: {}, + devDependencies: {}, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0', { type: DependencyType.Dev }); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({ + dependencies: {}, + devDependencies: { '@angular/core': '^14.0.0' }, + }); + }); + + it('adds a package to "peerDependencies" when "type" is "peer"', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + devDependencies: {}, + peerDependencies: {}, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0', { type: DependencyType.Peer }); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({ + devDependencies: {}, + peerDependencies: { '@angular/core': '^14.0.0' }, + }); + }); + + it('uses specified manifest when provided via "manifestPath" option', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + tree.create('/abc/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0', { + packageJsonPath: '/abc/package.json', + }); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({}); + expect(tree.readJson('/abc/package.json')).toEqual({ + dependencies: { '@angular/core': '^14.0.0' }, + }); + }); + + it('schedules a package install task', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0'); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + ]); + }); + + it('schedules a package install task with working directory when "packageJsonPath" is used', async () => { + const tree = new EmptyTree(); + tree.create('/abc/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0', { + packageJsonPath: '/abc/package.json', + }); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/abc' }), + }, + ]); + }); + + it('does not schedule a package install task if version is the same', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: { '@angular/core': '^14.0.0' }, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0'); + + const tasks = await testRule(rule, tree); + + expect(tasks).toEqual([]); + }); + + it('only schedules one package install task for the same manifest path', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = chain([ + addDependency('@angular/core', '^14.0.0'), + addDependency('@angular/common', '^14.0.0'), + ]); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + ]); + }); + + it('schedules a package install task for each manifest path present', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + tree.create('/abc/package.json', JSON.stringify({})); + + const rule = chain([ + addDependency('@angular/core', '^14.0.0'), + addDependency('@angular/common', '^14.0.0', { packageJsonPath: '/abc/package.json' }), + ]); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/abc' }), + }, + ]); + }); + + it('throws an error when the default manifest path does not exist', async () => { + const tree = new EmptyTree(); + + const rule = addDependency('@angular/core', '^14.0.0'); + + await expectAsync(testRule(rule, tree)).toBeRejectedWithError( + undefined, + `Path "/package.json" does not exist.`, + ); + }); + + it('throws an error when the specified manifest path does not exist', async () => { + const tree = new EmptyTree(); + + const rule = addDependency('@angular/core', '^14.0.0', { + packageJsonPath: '/abc/package.json', + }); + + await expectAsync(testRule(rule, tree)).toBeRejectedWithError( + undefined, + `Path "/abc/package.json" does not exist.`, + ); + }); +}); From b07ccfbb1b2045d285c23dd4b654e1380892fcb2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 26 Apr 2022 10:44:53 -0400 Subject: [PATCH 0341/1388] feat(@schematics/angular): introduce a utility subpath export for Angular rules and utilities The `@schematics/angular` package now contains a defined set of package `exports` including a `utility` subpath export. A wildcard export is also temporarily defined to support transition away from existing deep-import usage. The `@schematics/angular/utility` subpath export will contain supported utility methods used by the first-party schematics contained within the `@schematics/angular` package and can be considered public API that will follow SemVer stability constraints. The first group of utilities introduced in this change are used to modify the `angular.json` workspace file within the schematics and include the `updateWorkspace` rule and `readWorkspace`/`writeWorkspace` helpers. --- packages/schematics/angular/e2e/index.ts | 7 +- packages/schematics/angular/package.json | 7 + .../angular/service-worker/index.ts | 7 +- packages/schematics/angular/utility/index.ts | 21 +++ .../angular/utility/workspace-models.ts | 6 + .../schematics/angular/utility/workspace.ts | 121 ++++++++++++----- .../angular/utility/workspace_spec.ts | 126 ++++++++++++++++++ 7 files changed, 253 insertions(+), 42 deletions(-) create mode 100644 packages/schematics/angular/utility/index.ts create mode 100644 packages/schematics/angular/utility/workspace_spec.ts diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index de24c20c2514..7bd48bf2c5de 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -19,11 +19,11 @@ import { strings, url, } from '@angular-devkit/schematics'; +import { readWorkspace, writeWorkspace } from '../utility'; import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; import { JSONFile } from '../utility/json-file'; import { latestVersions } from '../utility/latest-versions'; import { relativePathToWorkspaceRoot } from '../utility/paths'; -import { getWorkspace, updateWorkspace } from '../utility/workspace'; import { Builders } from '../utility/workspace-models'; import { Schema as E2eOptions } from './schema'; @@ -41,7 +41,7 @@ function addScriptsToPackageJson(): Rule { export default function (options: E2eOptions): Rule { return async (host: Tree) => { const appProject = options.relatedAppName; - const workspace = await getWorkspace(host); + const workspace = await readWorkspace(host); const project = workspace.projects.get(appProject); if (!project) { throw new SchematicsException(`Project name "${appProject}" doesn't not exist.`); @@ -66,8 +66,9 @@ export default function (options: E2eOptions): Rule { }, }); + await writeWorkspace(host, workspace); + return chain([ - updateWorkspace(workspace), mergeWith( apply(url('./files'), [ applyTemplates({ diff --git a/packages/schematics/angular/package.json b/packages/schematics/angular/package.json index 7845c5c03aa9..ba8e7cb75650 100644 --- a/packages/schematics/angular/package.json +++ b/packages/schematics/angular/package.json @@ -8,6 +8,13 @@ "code generation", "schematics" ], + "exports": { + "./package.json": "./package.json", + "./utility": "./utility/index.js", + "./utility/*": "./utility/*.js", + "./migrations/migration-collection.json": "./migrations/migration-collection.json", + "./*": "./*.js" + }, "schematics": "./collection.json", "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", diff --git a/packages/schematics/angular/service-worker/index.ts b/packages/schematics/angular/service-worker/index.ts index f35e47019d5f..765bad7c4f9d 100644 --- a/packages/schematics/angular/service-worker/index.ts +++ b/packages/schematics/angular/service-worker/index.ts @@ -21,6 +21,7 @@ import { } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; +import { readWorkspace, writeWorkspace } from '../utility'; import { addSymbolToNgModuleMetadata, getEnvironmentExportName, @@ -32,7 +33,6 @@ import { addPackageJsonDependency, getPackageJsonDependency } from '../utility/d import { getAppModulePath } from '../utility/ng-ast-utils'; import { relativePathToWorkspaceRoot } from '../utility/paths'; import { targetBuildNotFoundError } from '../utility/project-targets'; -import { getWorkspace, updateWorkspace } from '../utility/workspace'; import { BrowserBuilderOptions } from '../utility/workspace-models'; import { Schema as ServiceWorkerOptions } from './schema'; @@ -130,7 +130,7 @@ function getTsSourceFile(host: Tree, path: string): ts.SourceFile { export default function (options: ServiceWorkerOptions): Rule { return async (host: Tree, context: SchematicContext) => { - const workspace = await getWorkspace(host); + const workspace = await readWorkspace(host); const project = workspace.projects.get(options.project); if (!project) { throw new SchematicsException(`Invalid project name (${options.project})`); @@ -163,9 +163,10 @@ export default function (options: ServiceWorkerOptions): Rule { context.addTask(new NodePackageInstallTask()); + await writeWorkspace(host, workspace); + return chain([ mergeWith(templateSource), - updateWorkspace(workspace), addDependencies(), updateAppModule(buildOptions.main), ]); diff --git a/packages/schematics/angular/utility/index.ts b/packages/schematics/angular/utility/index.ts new file mode 100644 index 000000000000..c8fa9a1de6c1 --- /dev/null +++ b/packages/schematics/angular/utility/index.ts @@ -0,0 +1,21 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +// Workspace related rules and types +export { + ProjectDefinition, + TargetDefinition, + WorkspaceDefinition, + getWorkspace as readWorkspace, + updateWorkspace, + writeWorkspace, +} from './workspace'; +export { Builders as AngularBuilder } from './workspace-models'; + +// Package dependency related rules and types +export { DependencyType, addDependency } from './dependency'; diff --git a/packages/schematics/angular/utility/workspace-models.ts b/packages/schematics/angular/utility/workspace-models.ts index 3fbaec1f5879..fb7f18c3f7cd 100644 --- a/packages/schematics/angular/utility/workspace-models.ts +++ b/packages/schematics/angular/utility/workspace-models.ts @@ -11,6 +11,12 @@ export enum ProjectType { Library = 'library', } +/** + * An enum of the official Angular builders. + * Each enum value provides the fully qualified name of the associated builder. + * This enum can be used when analyzing the `builder` fields of project configurations from the + * `angular.json` workspace file. + */ export enum Builders { AppShell = '@angular-devkit/build-angular:app-shell', Server = '@angular-devkit/build-angular:server', diff --git a/packages/schematics/angular/utility/workspace.ts b/packages/schematics/angular/utility/workspace.ts index 9354f4beab14..410c079e2fab 100644 --- a/packages/schematics/angular/utility/workspace.ts +++ b/packages/schematics/angular/utility/workspace.ts @@ -10,60 +10,109 @@ import { json, workspaces } from '@angular-devkit/core'; import { Rule, Tree, noop } from '@angular-devkit/schematics'; import { ProjectType } from './workspace-models'; -function createHost(tree: Tree): workspaces.WorkspaceHost { - return { - async readFile(path: string): Promise { - return tree.readText(path); - }, - async writeFile(path: string, data: string): Promise { - return tree.overwrite(path, data); - }, - async isDirectory(path: string): Promise { - // approximate a directory check - return !tree.exists(path) && tree.getDir(path).subfiles.length > 0; - }, - async isFile(path: string): Promise { - return tree.exists(path); - }, - }; +const DEFAULT_WORKSPACE_PATH = '/angular.json'; + +// re-export the workspace definition types for convenience +export type WorkspaceDefinition = workspaces.WorkspaceDefinition; +export type ProjectDefinition = workspaces.ProjectDefinition; +export type TargetDefinition = workspaces.TargetDefinition; + +/** + * A {@link workspaces.WorkspaceHost} backed by a Schematics {@link Tree} instance. + */ +class TreeWorkspaceHost implements workspaces.WorkspaceHost { + constructor(private readonly tree: Tree) {} + + async readFile(path: string): Promise { + return this.tree.readText(path); + } + + async writeFile(path: string, data: string): Promise { + if (this.tree.exists(path)) { + this.tree.overwrite(path, data); + } else { + this.tree.create(path, data); + } + } + + async isDirectory(path: string): Promise { + // approximate a directory check + return !this.tree.exists(path) && this.tree.getDir(path).subfiles.length > 0; + } + + async isFile(path: string): Promise { + return this.tree.exists(path); + } } +/** + * Updates the workspace file (`angular.json`) found within the root of the schematic's tree. + * The workspace object model can be directly modified within the provided updater function + * with changes being written to the workspace file after the updater function returns. + * The spacing and overall layout of the file (including comments) will be maintained where + * possible when updating the file. + * + * @param updater An update function that can be used to modify the object model for the + * workspace. A {@link WorkspaceDefinition} is provided as the first argument to the function. + */ export function updateWorkspace( - updater: (workspace: workspaces.WorkspaceDefinition) => void | Rule | PromiseLike, -): Rule; -export function updateWorkspace(workspace: workspaces.WorkspaceDefinition): Rule; -export function updateWorkspace( - updaterOrWorkspace: - | workspaces.WorkspaceDefinition - | ((workspace: workspaces.WorkspaceDefinition) => void | Rule | PromiseLike), + updater: (workspace: WorkspaceDefinition) => void | Rule | PromiseLike, ): Rule { return async (tree: Tree) => { - const host = createHost(tree); + const host = new TreeWorkspaceHost(tree); - if (typeof updaterOrWorkspace === 'function') { - const { workspace } = await workspaces.readWorkspace('/', host); + const { workspace } = await workspaces.readWorkspace(DEFAULT_WORKSPACE_PATH, host); - const result = await updaterOrWorkspace(workspace); + const result = await updater(workspace); - await workspaces.writeWorkspace(workspace, host); + await workspaces.writeWorkspace(workspace, host); - return result || noop; - } else { - await workspaces.writeWorkspace(updaterOrWorkspace, host); - - return noop; - } + return result || noop; }; } -export async function getWorkspace(tree: Tree, path = '/') { - const host = createHost(tree); +// TODO: This should be renamed `readWorkspace` once deep imports are restricted (already exported from `utility` with that name) +/** + * Reads a workspace file (`angular.json`) from the provided {@link Tree} instance. + * + * @param tree A schematics {@link Tree} instance used to access the workspace file. + * @param path The path where a workspace file should be found. If a file is specified, the file + * path will be used. If a directory is specified, the file `angular.json` will be used from + * within the specified directory. Defaults to `/angular.json`. + * @returns A {@link WorkspaceDefinition} representing the workspace found at the specified path. + */ +export async function getWorkspace( + tree: Tree, + path = DEFAULT_WORKSPACE_PATH, +): Promise { + const host = new TreeWorkspaceHost(tree); const { workspace } = await workspaces.readWorkspace(path, host); return workspace; } +/** + * Writes a workspace file (`angular.json`) to the provided {@link Tree} instance. + * The spacing and overall layout of an exisitng file (including comments) will be maintained where + * possible when writing the file. + * + * @param tree A schematics {@link Tree} instance used to access the workspace file. + * @param workspace The {@link WorkspaceDefinition} to write. + * @param path The path where a workspace file should be written. If a file is specified, the file + * path will be used. If not provided, the definition's underlying file path stored during reading + * will be used. + */ +export async function writeWorkspace( + tree: Tree, + workspace: WorkspaceDefinition, + path?: string, +): Promise { + const host = new TreeWorkspaceHost(tree); + + return workspaces.writeWorkspace(workspace, host, path); +} + /** * Build a default project path for generating. * @param project The project which will have its default path generated. diff --git a/packages/schematics/angular/utility/workspace_spec.ts b/packages/schematics/angular/utility/workspace_spec.ts new file mode 100644 index 000000000000..f5b9978719a6 --- /dev/null +++ b/packages/schematics/angular/utility/workspace_spec.ts @@ -0,0 +1,126 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree, Rule, SchematicContext, Tree, callRule } from '@angular-devkit/schematics'; +import { getWorkspace as readWorkspace, updateWorkspace, writeWorkspace } from './workspace'; + +const TEST_WORKSPACE_CONTENT = JSON.stringify({ + version: 1, + projects: { + 'test': {}, + }, +}); + +async function testRule(rule: Rule, tree: Tree): Promise { + await callRule(rule, tree, {} as unknown as SchematicContext).toPromise(); +} + +describe('readWorkspace', () => { + it('reads a workspace using the default path value', async () => { + const tree = new EmptyTree(); + tree.create('/angular.json', TEST_WORKSPACE_CONTENT); + + const workspace = await readWorkspace(tree); + expect(workspace.projects.has('test')).toBeTrue(); + }); + + it('reads a workspace when specifying a directory path', async () => { + const tree = new EmptyTree(); + tree.create('/xyz/angular.json', TEST_WORKSPACE_CONTENT); + + const workspace = await readWorkspace(tree, '/xyz/'); + expect(workspace.projects.has('test')).toBeTrue(); + }); + + it('reads a workspace when specifying a file path', async () => { + const tree = new EmptyTree(); + tree.create('/xyz/angular.json', TEST_WORKSPACE_CONTENT); + + const workspace = await readWorkspace(tree, '/xyz/angular.json'); + expect(workspace.projects.has('test')).toBeTrue(); + }); + + it('throws if workspace file does not exist when using the default path value', async () => { + const tree = new EmptyTree(); + + await expectAsync(readWorkspace(tree)).toBeRejectedWithError(); + }); + + it('throws if workspace file does not exist when specifying a file path', async () => { + const tree = new EmptyTree(); + tree.create('/angular.json', TEST_WORKSPACE_CONTENT); + + await expectAsync(readWorkspace(tree, 'abc.json')).toBeRejectedWithError(); + }); +}); + +describe('writeWorkspace', () => { + it('writes a workspace using the default path value', async () => { + const tree = new EmptyTree(); + tree.create('/angular.json', TEST_WORKSPACE_CONTENT); + const workspace = await readWorkspace(tree); + + workspace.extensions['x-abc'] = 1; + await writeWorkspace(tree, workspace); + expect(tree.readJson('/angular.json')).toEqual(jasmine.objectContaining({ 'x-abc': 1 })); + }); + + it('writes a workspace when specifying a path', async () => { + const tree = new EmptyTree(); + tree.create('/angular.json', TEST_WORKSPACE_CONTENT); + const workspace = await readWorkspace(tree); + + workspace.extensions['x-abc'] = 1; + await writeWorkspace(tree, workspace, '/xyz/angular.json'); + expect(tree.readJson('/xyz/angular.json')).toEqual(jasmine.objectContaining({ 'x-abc': 1 })); + }); +}); + +describe('updateWorkspace', () => { + it('updates a workspace using the default path value', async () => { + const tree = new EmptyTree(); + tree.create('/angular.json', TEST_WORKSPACE_CONTENT); + + const rule = updateWorkspace((workspace) => { + workspace.projects.add({ + name: 'abc', + root: 'src', + }); + }); + + await testRule(rule, tree); + + expect(tree.read('angular.json')?.toString()).toContain('"abc"'); + }); + + it('throws if workspace file does not exist', async () => { + const tree = new EmptyTree(); + + const rule = updateWorkspace((workspace) => { + workspace.projects.add({ + name: 'abc', + root: 'src', + }); + }); + + await expectAsync(testRule(rule, tree)).toBeRejectedWithError(); + }); + + it('allows executing a returned followup rule', async () => { + const tree = new EmptyTree(); + tree.create('/angular.json', TEST_WORKSPACE_CONTENT); + + const rule = updateWorkspace(() => { + return (tree) => tree.create('/followup.txt', '12345'); + }); + + await testRule(rule, tree); + + expect(tree.read('/followup.txt')?.toString()).toContain('12345'); + }); +}); From 243cb40622fef4107b0162bc7b6a374471cebc14 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 27 Apr 2022 15:32:38 -0400 Subject: [PATCH 0342/1388] fix(@angular/pwa): remove `@schematics/angular` utility deep import usage Workspace helper utilties are now exported from `@schematics/angular/utility`. The previously used deep imports are not considered part of the public API and may change in any version. --- packages/angular/pwa/pwa/index.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/angular/pwa/pwa/index.ts b/packages/angular/pwa/pwa/index.ts index 0e6731adedc8..a96e70a832a5 100644 --- a/packages/angular/pwa/pwa/index.ts +++ b/packages/angular/pwa/pwa/index.ts @@ -18,7 +18,7 @@ import { template, url, } from '@angular-devkit/schematics'; -import { getWorkspace, updateWorkspace } from '@schematics/angular/utility/workspace'; +import { readWorkspace, writeWorkspace } from '@schematics/angular/utility'; import { posix } from 'path'; import { Readable, Writable } from 'stream'; import { Schema as PwaOptions } from './schema'; @@ -87,7 +87,7 @@ export default function (options: PwaOptions): Rule { options.title = options.project; } - const workspace = await getWorkspace(host); + const workspace = await readWorkspace(host); if (!options.project) { throw new SchematicsException('Option "project" is required.'); @@ -158,8 +158,9 @@ export default function (options: PwaOptions): Rule { // Setup service worker schematic options const { title, ...swOptions } = options; + await writeWorkspace(host, workspace); + return chain([ - updateWorkspace(workspace), externalSchematic('@schematics/angular', 'service-worker', swOptions), mergeWith(apply(url('./files/root'), [template({ ...options }), move(sourcePath)])), mergeWith( From e3c1fdbd5311276c61fc4cd962e5e934daecb06f Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 28 Apr 2022 18:21:53 -0700 Subject: [PATCH 0343/1388] refactor: rewritting analytics test to be more hermetic and stable This fixes a few issues with the test: 1. The test accidentally used the real user's `$HOME` directory which led to confusing, non-hermetic failures. 2. The test had timeouts of 5 milliseconds, rather than the presumably intended 5 seconds. 3. `ng update` would always fail because there's no project. Changed to `ng update --help` which still skips the analytics prompt but doesn't require a complicated setup. 4. The test would end after seeing the analytics prompt and wouldn't bother accepting it. I added functionality to send data to stdin to accept the prompt which makes test logic simpler (no need to manually kill all processes or wait for a timeout), though I didn't add any new assertions that the CLI actually tracks / doesn't track correctly. Refs #23003. --- .../e2e/tests/misc/ask-analytics-command.ts | 78 +++++++++++-------- tests/legacy-cli/e2e/utils/process.ts | 20 ++++- 2 files changed, 64 insertions(+), 34 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts index b85e6c044dbb..e7bf46d23f93 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts @@ -1,49 +1,63 @@ -import { execWithEnv, killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; +import { promises as fs } from 'fs'; +import { execWithEnv } from '../../utils/process'; + +const ANALYTICS_PROMPT = /Would you like to share anonymous usage data/; export default async function () { - try { - // Execute a command with TTY force enabled - execWithEnv('ng', ['version'], { - ...process.env, - NG_FORCE_TTY: '1', - }); + // CLI should prompt for analytics permissions. + await mockHome(async (home) => { + const { stdout } = await execWithEnv( + 'ng', + ['version'], + { + ...process.env, + HOME: home, + NG_FORCE_TTY: '1', + }, + 'y' /* stdin */, + ); - // Check if the prompt is shown - await waitForAnyProcessOutputToMatch(/Would you like to share anonymous usage data/); - } finally { - killAllProcesses(); - } + if (!ANALYTICS_PROMPT.test(stdout)) { + throw new Error('CLI did not prompt for analytics permission.'); + } + }); - try { - // Execute a command with TTY force enabled - execWithEnv('ng', ['version'], { + // CLI should skip analytics prompt with `NG_CLI_ANALYTICS=false`. + await mockHome(async (home) => { + const { stdout } = await execWithEnv('ng', ['version'], { ...process.env, + HOME: home, NG_FORCE_TTY: '1', NG_CLI_ANALYTICS: 'false', }); - // Check if the prompt is shown - await expectToFail(() => - waitForAnyProcessOutputToMatch(/Would you like to share anonymous usage data/, 5), - ); - } finally { - killAllProcesses(); - } + if (ANALYTICS_PROMPT.test(stdout)) { + throw new Error('CLI prompted for analytics permission when it should be forced off.'); + } + }); - // Should not show a prompt when using update - try { - // Execute a command with TTY force enabled - execWithEnv('ng', ['update'], { + // CLI should skip analytics prompt during `ng update`. + await mockHome(async (home) => { + const { stdout } = await execWithEnv('ng', ['update', '--help'], { ...process.env, + HOME: home, NG_FORCE_TTY: '1', }); - // Check if the prompt is shown - await expectToFail(() => - waitForAnyProcessOutputToMatch(/Would you like to share anonymous usage data/, 5), - ); + if (ANALYTICS_PROMPT.test(stdout)) { + throw new Error( + 'CLI prompted for analytics permission during an update where it should not' + ' have.', + ); + } + }); +} + +async function mockHome(cb: (home: string) => Promise): Promise { + const tempHome = await fs.mkdtemp('angular-cli-e2e-home-'); + + try { + await cb(tempHome); } finally { - killAllProcesses(); + await fs.rm(tempHome, { recursive: true, force: true }); } } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index bba1e8722623..85273b5bc795 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -11,6 +11,7 @@ interface ExecOptions { silent?: boolean; waitForMatch?: RegExp; env?: { [varname: string]: string }; + stdin?: string; } let _processes: child_process.ChildProcess[] = []; @@ -107,6 +108,10 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { + err.message += `${error}...\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; + reject(err); + }); if (options.waitForMatch) { const match = options.waitForMatch; @@ -123,6 +128,12 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise Date: Mon, 25 Apr 2022 19:56:28 -0700 Subject: [PATCH 0344/1388] feat(@angular/cli): make `ng completion` set up CLI autocompletion by modifying `.bashrc` files `ng completion` is changed to set up Angular CLI autocompletion for the current user by appending `source <(ng completion script)` to their `~/.bashrc`, `~/.bash_profile`, `~/.zshrc`, `~/.zsh_profile`, or `~/.profile`. The previous `ng completion` functionality (printing Yargs autocompletion shell script) is moved to `ng completion script` because most users won't need to worry about this, so we're prioritizing `ng completion` as the part most users will actually type. I couldn't find a good way of testing an error when writing to the `~/.bashrc` file. Since the CLI checks if it has access to the file first, that would usually fail in any circumstance when the file can't be written to. Things could change in between (user modifies file permissions or disk runs out of storage), but there's no easy hook to simulate this change in the e2e test. Refs #23003. --- .../cli/src/commands/completion/cli.ts | 42 +- .../commands/completion/long-description.md | 6 +- .../angular/cli/src/utilities/completion.ts | 75 ++++ .../e2e/tests/misc/completion-script.ts | 63 +++ tests/legacy-cli/e2e/tests/misc/completion.ts | 392 +++++++++++++++--- tests/legacy-cli/e2e/utils/process.ts | 25 +- 6 files changed, 537 insertions(+), 66 deletions(-) create mode 100644 packages/angular/cli/src/utilities/completion.ts create mode 100644 tests/legacy-cli/e2e/tests/misc/completion-script.ts diff --git a/packages/angular/cli/src/commands/completion/cli.ts b/packages/angular/cli/src/commands/completion/cli.ts index 13a74ef6da1b..6879726592a9 100644 --- a/packages/angular/cli/src/commands/completion/cli.ts +++ b/packages/angular/cli/src/commands/completion/cli.ts @@ -8,13 +8,51 @@ import { join } from 'path'; import yargs, { Argv } from 'yargs'; -import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module'; +import { + CommandModule, + CommandModuleImplementation, + CommandScope, +} from '../../command-builder/command-module'; +import { addCommandModuleToYargs } from '../../command-builder/utilities/command'; +import { colors } from '../../utilities/color'; +import { initializeAutocomplete } from '../../utilities/completion'; export class CompletionCommandModule extends CommandModule implements CommandModuleImplementation { command = 'completion'; - describe = 'Generate a bash and zsh real-time type-ahead autocompletion script.'; + describe = 'Set up Angular CLI autocompletion for your terminal.'; longDescriptionPath = join(__dirname, 'long-description.md'); + builder(localYargs: Argv): Argv { + return addCommandModuleToYargs(localYargs, CompletionScriptCommandModule, this.context); + } + + async run(): Promise { + let rcFile: string; + try { + rcFile = await initializeAutocomplete(); + } catch (err) { + this.context.logger.error(err.message); + + return 1; + } + + this.context.logger.info( + ` +Appended \`source <(ng completion script)\` to \`${rcFile}\`. Restart your terminal or run the following to autocomplete \`ng\` commands: + + ${colors.yellow('source <(ng completion script)')} + `.trim(), + ); + + return 0; + } +} + +class CompletionScriptCommandModule extends CommandModule implements CommandModuleImplementation { + command = 'script'; + describe = 'Generate a bash and zsh real-time type-ahead autocompletion script.'; + longDescriptionPath = undefined; + builder(localYargs: Argv): Argv { return localYargs; } diff --git a/packages/angular/cli/src/commands/completion/long-description.md b/packages/angular/cli/src/commands/completion/long-description.md index 59f8e107b58a..fabaa7fafe85 100644 --- a/packages/angular/cli/src/commands/completion/long-description.md +++ b/packages/angular/cli/src/commands/completion/long-description.md @@ -1 +1,5 @@ -To enable bash and zsh real-time type-ahead autocompletion, copy and paste the generated script to your `.bashrc`, `.bash_profile`, `.zshrc` or `.zsh_profile`. +To enable Bash and Zsh real-time type-ahead autocompletion, run +`ng completion` and restart your terminal. + +Alternatively, append `source <(ng completion script)` to the appropriate `.bashrc`, +`.bash_profile`, `.zshrc`, `.zsh_profile`, or `.profile` file. diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts new file mode 100644 index 000000000000..314a9ca7cf7a --- /dev/null +++ b/packages/angular/cli/src/utilities/completion.ts @@ -0,0 +1,75 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { promises as fs } from 'fs'; +import * as path from 'path'; +import { env } from 'process'; + +/** + * Sets up autocompletion for the user's terminal. This attempts to find the configuration file for + * the current shell (`.bashrc`, `.zshrc`, etc.) and append a command which enables autocompletion + * for the Angular CLI. Supports only Bash and Zsh. Returns whether or not it was successful. + * @return The full path of the configuration file modified. + */ +export async function initializeAutocomplete(): Promise { + // Get the currently active `$SHELL` and `$HOME` environment variables. + const shell = env['SHELL']; + if (!shell) { + throw new Error( + '`$SHELL` environment variable not set. Angular CLI autocompletion only supports Bash or' + + ' Zsh.', + ); + } + const home = env['HOME']; + if (!home) { + throw new Error( + '`$HOME` environment variable not set. Setting up autocompletion modifies configuration files' + + ' in the home directory and must be set.', + ); + } + + // Get all the files we can add `ng completion` to which apply to the user's `$SHELL`. + const runCommandCandidates = getShellRunCommandCandidates(shell, home); + if (!runCommandCandidates) { + throw new Error( + `Unknown \`$SHELL\` environment variable value (${shell}). Angular CLI autocompletion only supports Bash or Zsh.`, + ); + } + + // Get the first file that already exists or fallback to a new file of the first candidate. + const candidates = await Promise.allSettled( + runCommandCandidates.map((rcFile) => fs.access(rcFile).then(() => rcFile)), + ); + const rcFile = + candidates.find( + (result): result is PromiseFulfilledResult => result.status === 'fulfilled', + )?.value ?? runCommandCandidates[0]; + + // Append Angular autocompletion setup to RC file. + try { + await fs.appendFile( + rcFile, + '\n\n# Load Angular CLI autocompletion.\nsource <(ng completion script)\n', + ); + } catch (err) { + throw new Error(`Failed to append autocompletion setup to \`${rcFile}\`:\n${err.message}`); + } + + return rcFile; +} + +/** Returns an ordered list of possibile candidates of RC files used by the given shell. */ +function getShellRunCommandCandidates(shell: string, home: string): string[] | undefined { + if (shell.toLowerCase().includes('bash')) { + return ['.bashrc', '.bash_profile', '.profile'].map((file) => path.join(home, file)); + } else if (shell.toLowerCase().includes('zsh')) { + return ['.zshrc', '.zsh_profile', '.profile'].map((file) => path.join(home, file)); + } else { + return undefined; + } +} diff --git a/tests/legacy-cli/e2e/tests/misc/completion-script.ts b/tests/legacy-cli/e2e/tests/misc/completion-script.ts new file mode 100644 index 000000000000..0a7cb1daffb5 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/completion-script.ts @@ -0,0 +1,63 @@ +import { execAndWaitForOutputToMatch } from '../../utils/process'; + +export default async function () { + // ng build + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'b', ''], + /test-project/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'build', ''], + /test-project/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'build', '--a'], + /--aot/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'build', '--configuration'], + /production/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'b', '--configuration'], + /production/, + ); + + // ng run + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'run', ''], + /test-project\\:build\\:development/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'run', ''], + /test-project\\:build/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'run', ''], + /test-project\\:test/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], + /test-project\\:build\\:development/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'run', 'test-project:'], + /test-project\\:test/, + ); + await execAndWaitForOutputToMatch( + 'ng', + ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], + // does not include 'test-project:serve' + /^((?!:serve).)*$/, + ); +} diff --git a/tests/legacy-cli/e2e/tests/misc/completion.ts b/tests/legacy-cli/e2e/tests/misc/completion.ts index 0a7cb1daffb5..52e6bf18ad90 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion.ts @@ -1,63 +1,335 @@ -import { execAndWaitForOutputToMatch } from '../../utils/process'; +import { promises as fs } from 'fs'; +import * as os from 'os'; +import * as path from 'path'; +import { execAndCaptureError, execAndWaitForOutputToMatch } from '../../utils/process'; export default async function () { - // ng build - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'b', ''], - /test-project/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'build', ''], - /test-project/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'build', '--a'], - /--aot/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'build', '--configuration'], - /production/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'b', '--configuration'], - /production/, - ); - - // ng run - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'run', ''], - /test-project\\:build\\:development/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'run', ''], - /test-project\\:build/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'run', ''], - /test-project\\:test/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], - /test-project\\:build\\:development/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'run', 'test-project:'], - /test-project\\:test/, - ); - await execAndWaitForOutputToMatch( - 'ng', - ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], - // does not include 'test-project:serve' - /^((?!:serve).)*$/, - ); + // Generates new `.bashrc` file. + await mockHome(async (home) => { + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/bin/bash', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(path.join(home, '.bashrc'), 'utf-8'); + const expected = ` +# Load Angular CLI autocompletion. +source <(ng completion script) + `.trim(); + if (!rcContents.includes(expected)) { + throw new Error(`~/.bashrc does not contain autocompletion script. Contents:\n${rcContents}`); + } + }); + + // Generates new `.zshrc` file. + await mockHome(async (home) => { + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(path.join(home, '.zshrc'), 'utf-8'); + const expected = ` +# Load Angular CLI autocompletion. +source <(ng completion script) + `.trim(); + if (!rcContents.includes(expected)) { + throw new Error(`~/.zshrc does not contain autocompletion script. Contents:\n${rcContents}`); + } + }); + + // Appends to existing `.bashrc` file. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, '# Other commands...'); + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/bin/bash', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(bashrc, 'utf-8'); + const expected = `# Other commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (rcContents !== expected) { + throw new Error(`~/.bashrc does not match expectation. Contents:\n${rcContents}`); + } + }); + + // Appends to existing `.bash_profile` file. + await mockHome(async (home) => { + const bashProfile = path.join(home, '.bash_profile'); + await fs.writeFile(bashProfile, '# Other commands...'); + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/bin/bash', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(bashProfile, 'utf-8'); + const expected = `# Other commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (rcContents !== expected) { + throw new Error(`~/.bash_profile does not match expectation. Contents:\n${rcContents}`); + } + }); + + // Appends to existing `.profile` file (using Bash). + await mockHome(async (home) => { + const profile = path.join(home, '.profile'); + await fs.writeFile(profile, '# Other commands...'); + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/bin/bash', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(profile, 'utf-8'); + const expected = `# Other commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (rcContents !== expected) { + throw new Error(`~/.profile does not match expectation. Contents:\n${rcContents}`); + } + }); + + // Bash shell prefers `.bashrc`. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, '# `.bashrc` commands...'); + const bashProfile = path.join(home, '.bash_profile'); + await fs.writeFile(bashProfile, '# `.bash_profile` commands...'); + const profile = path.join(home, '.profile'); + await fs.writeFile(profile, '# `.profile` commands...'); + + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/bin/bash', + 'HOME': home, + }, + ); + + const bashrcContents = await fs.readFile(bashrc, 'utf-8'); + const bashrcExpected = `# \`.bashrc\` commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (bashrcContents !== bashrcExpected) { + throw new Error(`~/.bashrc does not match expectation. Contents:\n${bashrcContents}`); + } + const bashProfileContents = await fs.readFile(bashProfile, 'utf-8'); + if (bashProfileContents !== '# `.bash_profile` commands...') { + throw new Error( + `~/.bash_profile does not match expectation. Contents:\n${bashProfileContents}`, + ); + } + const profileContents = await fs.readFile(profile, 'utf-8'); + if (profileContents !== '# `.profile` commands...') { + throw new Error(`~/.profile does not match expectation. Contents:\n${profileContents}`); + } + }); + + // Appends to existing `.zshrc` file. + await mockHome(async (home) => { + const zshrc = path.join(home, '.zshrc'); + await fs.writeFile(zshrc, '# Other commands...'); + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(zshrc, 'utf-8'); + const expected = `# Other commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (rcContents !== expected) { + throw new Error(`~/.zshrc does not match expectation. Contents:\n${rcContents}`); + } + }); + + // Appends to existing `.zsh_profile` file. + await mockHome(async (home) => { + const zshProfile = path.join(home, '.zsh_profile'); + await fs.writeFile(zshProfile, '# Other commands...'); + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(zshProfile, 'utf-8'); + const expected = `# Other commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (rcContents !== expected) { + throw new Error(`~/.zsh_profile does not match expectation. Contents:\n${rcContents}`); + } + }); + + // Appends to existing `.profile` file (using Zsh). + await mockHome(async (home) => { + const profile = path.join(home, '.profile'); + await fs.writeFile(profile, '# Other commands...'); + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }, + ); + + const rcContents = await fs.readFile(profile, 'utf-8'); + const expected = `# Other commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (rcContents !== expected) { + throw new Error(`~/.profile does not match expectation. Contents:\n${rcContents}`); + } + }); + + // Zsh prefers `.zshrc`. + await mockHome(async (home) => { + const zshrc = path.join(home, '.zshrc'); + await fs.writeFile(zshrc, '# `.zshrc` commands...'); + const zshProfile = path.join(home, '.zsh_profile'); + await fs.writeFile(zshProfile, '# `.zsh_profile` commands...'); + const profile = path.join(home, '.profile'); + await fs.writeFile(profile, '# `.profile` commands...'); + + await execAndWaitForOutputToMatch( + 'ng', + ['completion'], + /Appended `source <\(ng completion script\)`/, + { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }, + ); + + const zshrcContents = await fs.readFile(zshrc, 'utf-8'); + const zshrcExpected = `# \`.zshrc\` commands... + +# Load Angular CLI autocompletion. +source <(ng completion script) +`; + if (zshrcContents !== zshrcExpected) { + throw new Error(`~/.zshrc does not match expectation. Contents:\n${zshrcContents}`); + } + + const zshProfileContents = await fs.readFile(zshProfile, 'utf-8'); + if (zshProfileContents !== '# `.zsh_profile` commands...') { + throw new Error( + `~/.zsh_profile does not match expectation. Contents:\n${zshProfileContents}`, + ); + } + const profileContents = await fs.readFile(profile, 'utf-8'); + if (profileContents !== '# `.profile` commands...') { + throw new Error(`~/.profile does not match expectation. Contents:\n${profileContents}`); + } + }); + + // Fails for no `$HOME` directory. + { + const err = await execAndCaptureError('ng', ['completion'], { + ...process.env, + SHELL: '/bin/bash', + HOME: undefined, + }); + if (!err.message.includes('`$HOME` environment variable not set.')) { + throw new Error(`Expected unset \`$HOME\` error message, but got:\n\n${err.message}`); + } + } + + // Fails for no `$SHELL`. + { + const err = await execAndCaptureError('ng', ['completion'], { + ...process.env, + SHELL: undefined, + }); + if (!err.message.includes('`$SHELL` environment variable not set.')) { + throw new Error(`Expected unset \`$SHELL\` error message, but got:\n\n${err.message}`); + } + } + + // Fails for unknown `$SHELL`. + { + const err = await execAndCaptureError('ng', ['completion'], { + ...process.env, + SHELL: '/usr/bin/unknown', + }); + if (!err.message.includes('Unknown `$SHELL` environment variable')) { + throw new Error(`Expected unknown \`$SHELL\` error message, but got:\n\n${err.message}`); + } + } +} + +async function mockHome(cb: (home: string) => Promise): Promise { + const tempHome = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-e2e-home-')); + + try { + await cb(tempHome); + } finally { + await fs.rm(tempHome, { recursive: true, force: true }); + } } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 85273b5bc795..3db0dff78742 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -194,7 +194,26 @@ export function execWithEnv( return _exec({ env, stdin }, cmd, args); } -export function execAndWaitForOutputToMatch(cmd: string, args: string[], match: RegExp) { +export async function execAndCaptureError( + cmd: string, + args: string[], + env?: { [varname: string]: string }, + stdin?: string, +): Promise { + try { + await _exec({ env, stdin }, cmd, args); + throw new Error('Tried to capture subprocess exception, but it completed successfully.'); + } catch (err) { + return err; + } +} + +export function execAndWaitForOutputToMatch( + cmd: string, + args: string[], + match: RegExp, + env?: { [varName: string]: string }, +) { if (cmd === 'ng' && args[0] === 'serve') { // Accept matches up to 20 times after the initial match. // Useful because the Webpack watcher can rebuild a few times due to files changes that @@ -202,7 +221,7 @@ export function execAndWaitForOutputToMatch(cmd: string, args: string[], match: // This seems to be due to host file system differences, see // https://nodejs.org/docs/latest/api/fs.html#fs_caveats return concat( - from(_exec({ waitForMatch: match }, cmd, args)), + from(_exec({ waitForMatch: match, env }, cmd, args)), defer(() => waitForAnyProcessOutputToMatch(match, 2500)).pipe( repeat(20), catchError(() => EMPTY), @@ -211,7 +230,7 @@ export function execAndWaitForOutputToMatch(cmd: string, args: string[], match: .pipe(takeLast(1)) .toPromise(); } else { - return _exec({ waitForMatch: match }, cmd, args); + return _exec({ waitForMatch: match, env }, cmd, args); } } From 4212fb8de2f4f3e80831a0803acc5fc6e54db1e1 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Fri, 29 Apr 2022 09:55:40 -0700 Subject: [PATCH 0345/1388] feat(@angular/cli): add prompt to set up CLI autocompletion When the CLI is executed with any command, it will check if `ng completion script` is already included in the user's `~/.bashrc` file (or similar) and if not, ask the user if they would like it to be configured for them. The CLI checks any existing `~/.bashrc`, `~/.zshrc`, `~/.bash_profile`, `~/.zsh_profile`, and `~/.profile` files for `ng completion script`, and if that string is found for the current shell's configuration files, this prompt is skipped. If the user refuses the prompt, no action is taken and the CLI continues on the command the user originally requested. Refs #23003. --- .../cli/src/command-builder/command-module.ts | 9 + .../angular/cli/src/utilities/completion.ts | 108 ++++++++++ .../cli/src/utilities/environment-options.ts | 9 + .../e2e/tests/misc/ask-analytics-command.ts | 3 + .../e2e/tests/misc/completion-prompt.ts | 194 ++++++++++++++++++ 5 files changed, 323 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/misc/completion-prompt.ts diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 203e9351fb36..81a13a555922 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -19,6 +19,7 @@ import { } from 'yargs'; import { Parser as yargsParser } from 'yargs/helpers'; import { createAnalytics } from '../analytics/analytics'; +import { considerSettingUpAutocompletion } from '../utilities/completion'; import { AngularWorkspace } from '../utilities/config'; import { memoize } from '../utilities/memoize'; import { PackageManagerUtils } from '../utilities/package-manager'; @@ -123,6 +124,14 @@ export abstract class CommandModule implements CommandModuleI camelCasedOptions[yargsParser.camelCase(key)] = value; } + // Set up autocompletion if appropriate. + const autocompletionExitCode = await considerSettingUpAutocompletion(this.context.logger); + if (autocompletionExitCode !== undefined) { + process.exitCode = autocompletionExitCode; + + return; + } + // Gather and report analytics. const analytics = await this.getAnalytics(); if (this.shouldReportAnalytics) { diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index 314a9ca7cf7a..8d7d126faeb1 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -6,9 +6,117 @@ * found in the LICENSE file at https://angular.io/license */ +import { logging } from '@angular-devkit/core'; import { promises as fs } from 'fs'; import * as path from 'path'; import { env } from 'process'; +import { colors } from '../utilities/color'; +import { forceAutocomplete } from '../utilities/environment-options'; +import { isTTY } from '../utilities/tty'; + +/** + * Checks if it is appropriate to prompt the user to setup autocompletion. If not, does nothing. If + * so prompts and sets up autocompletion for the user. Returns an exit code if the program should + * terminate, otherwise returns `undefined`. + * @returns an exit code if the program should terminate, undefined otherwise. + */ +export async function considerSettingUpAutocompletion( + logger: logging.Logger, +): Promise { + // Check if we should prompt the user to setup autocompletion. + if (!(await shouldPromptForAutocompletionSetup())) { + return undefined; // Already set up, nothing to do. + } + + // Prompt the user and record their response. + const shouldSetupAutocompletion = await promptForAutocompletion(); + if (!shouldSetupAutocompletion) { + return undefined; // User rejected the prompt and doesn't want autocompletion. + } + + // User accepted the prompt, set up autocompletion. + let rcFile: string; + try { + rcFile = await initializeAutocomplete(); + } catch (err) { + // Failed to set up autocompeletion, log the error and abort. + logger.error(err.message); + + return 1; + } + + // Notify the user autocompletion was set up successfully. + logger.info( + ` +Appended \`source <(ng completion script)\` to \`${rcFile}\`. Restart your terminal or run the following to autocomplete \`ng\` commands: + + ${colors.yellow(`source <(ng completion script)`)} + `.trim(), + ); + + return undefined; +} + +async function shouldPromptForAutocompletionSetup(): Promise { + // Force whether or not to prompt for autocomplete to give an easy path for e2e testing to skip. + if (forceAutocomplete !== undefined) { + return forceAutocomplete; + } + + // Non-interactive and continuous integration systems don't care about autocompletion. + if (!isTTY()) { + return false; + } + + // `$HOME` variable is necessary to find RC files to modify. + const home = env['HOME']; + if (!home) { + return false; + } + + // Get possible RC files for the current shell. + const shell = env['SHELL']; + if (!shell) { + return false; + } + const rcFiles = getShellRunCommandCandidates(shell, home); + if (!rcFiles) { + return false; // Unknown shell. + } + + // Check each RC file if they already use `ng completion script` in any capacity and don't prompt. + for (const rcFile of rcFiles) { + const contents = await fs.readFile(rcFile, 'utf-8').catch(() => undefined); + if (contents?.includes('ng completion script')) { + return false; + } + } + + return true; +} + +async function promptForAutocompletion(): Promise { + // Dynamically load `inquirer` so users don't have to pay the cost of parsing and executing it for + // the 99% of builds that *don't* prompt for autocompletion. + const { prompt } = await import('inquirer'); + const { autocomplete } = await prompt<{ autocomplete: boolean }>([ + { + name: 'autocomplete', + type: 'confirm', + message: ` +Would you like to enable autocompletion? This will set up your terminal so pressing TAB while typing +Angular CLI commands will show possible options and autocomplete arguments. (Enabling autocompletion +will modify configuration files in your home directory.) + ` + .split('\n') + .join(' ') + .trim(), + default: true, + }, + ]); + + return autocomplete; +} /** * Sets up autocompletion for the user's terminal. This attempts to find the configuration file for diff --git a/packages/angular/cli/src/utilities/environment-options.ts b/packages/angular/cli/src/utilities/environment-options.ts index 1552fe3dbb4a..7febd351b06e 100644 --- a/packages/angular/cli/src/utilities/environment-options.ts +++ b/packages/angular/cli/src/utilities/environment-options.ts @@ -18,8 +18,17 @@ function isEnabled(variable: string | undefined): boolean { return isPresent(variable) && (variable === '1' || variable.toLowerCase() === 'true'); } +function optional(variable: string | undefined): boolean | undefined { + if (!isPresent(variable)) { + return undefined; + } + + return isEnabled(variable); +} + export const analyticsDisabled = isDisabled(process.env['NG_CLI_ANALYTICS']); export const analyticsShareDisabled = isDisabled(process.env['NG_CLI_ANALYTICS_SHARE']); export const isCI = isEnabled(process.env['CI']); export const disableVersionCheck = isEnabled(process.env['NG_DISABLE_VERSION_CHECK']); export const ngDebug = isEnabled(process.env['NG_DEBUG']); +export const forceAutocomplete = optional(process.env['NG_FORCE_AUTOCOMPLETE']); diff --git a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts index e7bf46d23f93..1cde8a8f0b71 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts @@ -13,6 +13,7 @@ export default async function () { ...process.env, HOME: home, NG_FORCE_TTY: '1', + NG_FORCE_AUTOCOMPLETE: 'false', }, 'y' /* stdin */, ); @@ -29,6 +30,7 @@ export default async function () { HOME: home, NG_FORCE_TTY: '1', NG_CLI_ANALYTICS: 'false', + NG_FORCE_AUTOCOMPLETE: 'false', }); if (ANALYTICS_PROMPT.test(stdout)) { @@ -42,6 +44,7 @@ export default async function () { ...process.env, HOME: home, NG_FORCE_TTY: '1', + NG_FORCE_AUTOCOMPLETE: 'false', }); if (ANALYTICS_PROMPT.test(stdout)) { diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts new file mode 100644 index 000000000000..6e57c0960a86 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts @@ -0,0 +1,194 @@ +import { promises as fs } from 'fs'; +import * as os from 'os'; +import * as path from 'path'; +import { env } from 'process'; +import { execWithEnv } from '../../utils/process'; + +const AUTOCOMPLETION_PROMPT = /Would you like to enable autocompletion\?/; +const DEFAULT_ENV = Object.freeze({ + ...env, + // Shell should be mocked for each test that cares about it. + SHELL: '/bin/bash', + // Even if the actual test process is run on CI, we're testing user flows which aren't on CI. + CI: undefined, + // Tests run on CI technically don't have a TTY, but the autocompletion prompt requires it, so we + // force a TTY by default. + NG_FORCE_TTY: '1', + // Analytics wants to prompt for a first command as well, but we don't care about that here. + NG_CLI_ANALYTICS: 'false', +}); + +export default async function () { + // Sets up autocompletion after user accepts a prompt from any command. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, `# Other content...`); + + const { stdout } = await execWithEnv( + 'ng', + ['version'], + { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }, + 'y' /* stdin: accept prompt */, + ); + + if (!AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error('CLI execution did not prompt for autocompletion setup when it should have.'); + } + + const bashrcContents = await fs.readFile(bashrc, 'utf-8'); + if (!bashrcContents.includes('source <(ng completion script)')) { + throw new Error( + 'Autocompletion was *not* added to `~/.bashrc` after accepting the setup' + ' prompt.', + ); + } + + if (!stdout.includes('Appended `source <(ng completion script)`')) { + throw new Error('CLI did not print that it successfully set up autocompletion.'); + } + }); + + // Does nothing if the user rejects the autocompletion prompt. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, `# Other content...`); + + const { stdout } = await execWithEnv( + 'ng', + ['version'], + { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }, + 'n' /* stdin: reject prompt */, + ); + + if (!AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error('CLI execution did not prompt for autocompletion setup when it should have.'); + } + + const bashrcContents = await fs.readFile(bashrc, 'utf-8'); + if (bashrcContents.includes('ng completion')) { + throw new Error( + 'Autocompletion was incorrectly added to `~/.bashrc` after refusing the setup' + ' prompt.', + ); + } + + if (stdout.includes('Appended `source <(ng completion script)`')) { + throw new Error( + 'CLI printed that it successfully set up autocompletion when it actually' + " didn't.", + ); + } + }); + + // Does *not* prompt user for CI executions. + { + const { stdout } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + CI: 'true', + NG_FORCE_TTY: undefined, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error('CI execution prompted for autocompletion setup but should not have.'); + } + } + + // Does *not* prompt user for non-TTY executions. + { + const { stdout } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + NG_FORCE_TTY: 'false', + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error('Non-TTY execution prompted for autocompletion setup but should not have.'); + } + } + + // Does *not* prompt user for executions without a `$HOME`. + { + const { stdout } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + HOME: undefined, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error( + 'Execution without a `$HOME` value prompted for autocompletion setup but' + + ' should not have.', + ); + } + } + + // Does *not* prompt user for executions without a `$SHELL`. + { + const { stdout } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + SHELL: undefined, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error( + 'Execution without a `$SHELL` value prompted for autocompletion setup but' + + ' should not have.', + ); + } + } + + // Does *not* prompt user for executions from unknown shells. + { + const { stdout } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + SHELL: '/usr/bin/unknown', + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error( + 'Execution with an unknown `$SHELL` value prompted for autocompletion setup' + + ' but should not have.', + ); + } + } + + // Does *not* prompt user when an RC file already uses `ng completion`. + await mockHome(async (home) => { + await fs.writeFile( + path.join(home, '.bashrc'), + ` +# Some stuff... + +source <(ng completion script) + +# Some other stuff... + `.trim(), + ); + + const { stdout } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error( + "Execution with an existing `ng completion` line in the user's RC file" + + ' prompted for autocompletion setup but should not have.', + ); + } + }); +} + +async function mockHome(cb: (home: string) => Promise): Promise { + const tempHome = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-e2e-home-')); + + try { + await cb(tempHome); + } finally { + await fs.rm(tempHome, { recursive: true, force: true }); + } +} From 2e15df9417dcc47b12785a8c4c9074bf05d0450c Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Fri, 29 Apr 2022 11:51:30 -0700 Subject: [PATCH 0346/1388] feat(@angular/cli): remember after prompting users to set up autocompletion and don't prompt again After the user rejects the autocompletion prompt or accepts and is successfully configured, the state is saved into the Angular CLI's global configuration. Before displaying the autocompletion prompt, this state is checked and the prompt is skipped if it was already shown. If the user accepts the prompt but the setup process fails, then the CLI will prompt again on the next execution, this gives users an opportunity to fix whatever issue they are encountering and try again. Refs #23003. --- .../angular/cli/src/commands/config/cli.ts | 2 + .../angular/cli/src/utilities/completion.ts | 64 ++++++- .../e2e/tests/misc/completion-prompt.ts | 157 +++++++++++++++++- 3 files changed, 217 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index 9d19a7065475..c0e09de137e0 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -106,6 +106,8 @@ export class ConfigCommandModule 'cli.analytics', 'cli.analyticsSharing.tracking', 'cli.analyticsSharing.uuid', + + 'cli.completion.prompted', ]); if ( diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index 8d7d126faeb1..a74ed198f471 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -6,14 +6,24 @@ * found in the LICENSE file at https://angular.io/license */ -import { logging } from '@angular-devkit/core'; +import { json, logging } from '@angular-devkit/core'; import { promises as fs } from 'fs'; import * as path from 'path'; import { env } from 'process'; import { colors } from '../utilities/color'; +import { getWorkspace } from '../utilities/config'; import { forceAutocomplete } from '../utilities/environment-options'; import { isTTY } from '../utilities/tty'; +/** Interface for the autocompletion configuration stored in the global workspace. */ +interface CompletionConfig { + /** + * Whether or not the user has been prompted to set up autocompletion. If `true`, should *not* + * prompt them again. + */ + prompted?: boolean; +} + /** * Checks if it is appropriate to prompt the user to setup autocompletion. If not, does nothing. If * so prompts and sets up autocompletion for the user. Returns an exit code if the program should @@ -24,14 +34,27 @@ export async function considerSettingUpAutocompletion( logger: logging.Logger, ): Promise { // Check if we should prompt the user to setup autocompletion. - if (!(await shouldPromptForAutocompletionSetup())) { - return undefined; // Already set up, nothing to do. + const completionConfig = await getCompletionConfig(); + if (!(await shouldPromptForAutocompletionSetup(completionConfig))) { + return undefined; // Already set up or prompted previously, nothing to do. } // Prompt the user and record their response. const shouldSetupAutocompletion = await promptForAutocompletion(); if (!shouldSetupAutocompletion) { - return undefined; // User rejected the prompt and doesn't want autocompletion. + // User rejected the prompt and doesn't want autocompletion. + logger.info( + ` +Ok, you won't be prompted again. Should you change your mind, the following command will set up autocompletion for you: + + ${colors.yellow(`ng completion`)} + `.trim(), + ); + + // Save configuration to remember that the user was prompted and avoid prompting again. + await setCompletionConfig({ ...completionConfig, prompted: true }); + + return undefined; } // User accepted the prompt, set up autocompletion. @@ -54,10 +77,36 @@ Appended \`source <(ng completion script)\` to \`${rcFile}\`. Restart your termi `.trim(), ); + // Save configuration to remember that the user was prompted. + await setCompletionConfig({ ...completionConfig, prompted: true }); + return undefined; } -async function shouldPromptForAutocompletionSetup(): Promise { +async function getCompletionConfig(): Promise { + const wksp = await getWorkspace('global'); + + return wksp?.getCli()?.['completion']; +} + +async function setCompletionConfig(config: CompletionConfig): Promise { + const wksp = await getWorkspace('global'); + if (!wksp) { + throw new Error(`Could not find global workspace`); + } + + wksp.extensions['cli'] ??= {}; + const cli = wksp.extensions['cli']; + if (!json.isJsonObject(cli)) { + throw new Error( + `Invalid config found at ${wksp.filePath}. \`extensions.cli\` should be an object.`, + ); + } + cli.completion = config as json.JsonObject; + await wksp.save(); +} + +async function shouldPromptForAutocompletionSetup(config?: CompletionConfig): Promise { // Force whether or not to prompt for autocomplete to give an easy path for e2e testing to skip. if (forceAutocomplete !== undefined) { return forceAutocomplete; @@ -68,6 +117,11 @@ async function shouldPromptForAutocompletionSetup(): Promise { return false; } + // Skip prompt if the user has already been prompted. + if (config?.prompted) { + return false; + } + // `$HOME` variable is necessary to find RC files to modify. const home = env['HOME']; if (!home) { diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts index 6e57c0960a86..a200db185691 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts @@ -2,7 +2,7 @@ import { promises as fs } from 'fs'; import * as os from 'os'; import * as path from 'path'; import { env } from 'process'; -import { execWithEnv } from '../../utils/process'; +import { execAndCaptureError, execWithEnv } from '../../utils/process'; const AUTOCOMPLETION_PROMPT = /Would you like to enable autocompletion\?/; const DEFAULT_ENV = Object.freeze({ @@ -83,6 +83,161 @@ export default async function () { 'CLI printed that it successfully set up autocompletion when it actually' + " didn't.", ); } + + if (!stdout.includes("Ok, you won't be prompted again.")) { + throw new Error('CLI did not inform the user they will not be prompted again.'); + } + }); + + // Does *not* prompt if the user already accepted (even if they delete the completion config). + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, '# Other commands...'); + + const { stdout: stdout1 } = await execWithEnv( + 'ng', + ['version'], + { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }, + 'y' /* stdin: accept prompt */, + ); + + if (!AUTOCOMPLETION_PROMPT.test(stdout1)) { + throw new Error('First execution did not prompt for autocompletion setup.'); + } + + const bashrcContents1 = await fs.readFile(bashrc, 'utf-8'); + if (!bashrcContents1.includes('source <(ng completion script)')) { + throw new Error( + '`~/.bashrc` file was not updated after the user accepted the autocompletion' + + ` prompt. Contents:\n${bashrcContents1}`, + ); + } + + // User modifies their configuration and removes `ng completion`. + await fs.writeFile(bashrc, '# Some new commands...'); + + const { stdout: stdout2 } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout2)) { + throw new Error( + 'Subsequent execution after rejecting autocompletion setup prompted again' + + ' when it should not have.', + ); + } + + const bashrcContents2 = await fs.readFile(bashrc, 'utf-8'); + if (bashrcContents2 !== '# Some new commands...') { + throw new Error( + '`~/.bashrc` file was incorrectly modified when using a modified `~/.bashrc`' + + ` after previously accepting the autocompletion prompt. Contents:\n${bashrcContents2}`, + ); + } + }); + + // Does *not* prompt if the user already rejected. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, '# Other commands...'); + + const { stdout: stdout1 } = await execWithEnv( + 'ng', + ['version'], + { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }, + 'n' /* stdin: reject prompt */, + ); + + if (!AUTOCOMPLETION_PROMPT.test(stdout1)) { + throw new Error('First execution did not prompt for autocompletion setup.'); + } + + const { stdout: stdout2 } = await execWithEnv('ng', ['version'], { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout2)) { + throw new Error( + 'Subsequent execution after rejecting autocompletion setup prompted again' + + ' when it should not have.', + ); + } + + const bashrcContents = await fs.readFile(bashrc, 'utf-8'); + if (bashrcContents !== '# Other commands...') { + throw new Error( + '`~/.bashrc` file was incorrectly modified when the user never accepted the' + + ` autocompletion prompt. Contents:\n${bashrcContents}`, + ); + } + }); + + // Prompts user again on subsequent execution after accepting prompt but failing to setup. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, '# Other commands...'); + + // Make `~/.bashrc` readonly. This is enough for the CLI to verify that the file exists and + // `ng completion` is not in it, but will fail when actually trying to modify the file. + await fs.chmod(bashrc, 0o444); + + const err = await execAndCaptureError( + 'ng', + ['version'], + { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }, + 'y' /* stdin: accept prompt */, + ); + + if (!err.message.includes('Failed to append autocompletion setup')) { + throw new Error( + `Failed first execution did not print the expected error message. Actual:\n${err.message}`, + ); + } + + // User corrects file permissions between executions. + await fs.chmod(bashrc, 0o777); + + const { stdout: stdout2 } = await execWithEnv( + 'ng', + ['version'], + { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }, + 'y' /* stdin: accept prompt */, + ); + + if (!AUTOCOMPLETION_PROMPT.test(stdout2)) { + throw new Error( + 'Subsequent execution after failed autocompletion setup did not prompt again when it should' + + ' have.', + ); + } + + const bashrcContents = await fs.readFile(bashrc, 'utf-8'); + if (!bashrcContents.includes('ng completion script')) { + throw new Error( + '`~/.bashrc` file does not include `ng completion` after the user never accepted the' + + ` autocompletion prompt a second time. Contents:\n${bashrcContents}`, + ); + } }); // Does *not* prompt user for CI executions. From fb06228932299870774a7b254f022573f5d8175f Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 2 May 2022 15:51:32 -0700 Subject: [PATCH 0347/1388] feat(@angular/cli): don't prompt to set up autocompletion for `ng update` and `ng completion` commands `ng update` is most likely called when upgrading a project to the next version and users should be more concerned about their project than their personal terminal setup. `ng completion` is unconditionally setting up autocompletion, while `ng completion script` is getting the shell script for autocompletion setup. As a result, both of these don't benefit from a prompt and should be safe to skip it. --- .../cli/src/command-builder/command-module.ts | 5 +++- .../angular/cli/src/utilities/completion.ts | 13 ++++++++-- .../e2e/tests/misc/completion-prompt.ts | 25 +++++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 81a13a555922..5de4e4e43741 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -125,7 +125,10 @@ export abstract class CommandModule implements CommandModuleI } // Set up autocompletion if appropriate. - const autocompletionExitCode = await considerSettingUpAutocompletion(this.context.logger); + const autocompletionExitCode = await considerSettingUpAutocompletion( + this.commandName, + this.context.logger, + ); if (autocompletionExitCode !== undefined) { process.exitCode = autocompletionExitCode; diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index a74ed198f471..42c006db08ad 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -31,11 +31,12 @@ interface CompletionConfig { * @returns an exit code if the program should terminate, undefined otherwise. */ export async function considerSettingUpAutocompletion( + command: string, logger: logging.Logger, ): Promise { // Check if we should prompt the user to setup autocompletion. const completionConfig = await getCompletionConfig(); - if (!(await shouldPromptForAutocompletionSetup(completionConfig))) { + if (!(await shouldPromptForAutocompletionSetup(command, completionConfig))) { return undefined; // Already set up or prompted previously, nothing to do. } @@ -106,12 +107,20 @@ async function setCompletionConfig(config: CompletionConfig): Promise { await wksp.save(); } -async function shouldPromptForAutocompletionSetup(config?: CompletionConfig): Promise { +async function shouldPromptForAutocompletionSetup( + command: string, + config?: CompletionConfig, +): Promise { // Force whether or not to prompt for autocomplete to give an easy path for e2e testing to skip. if (forceAutocomplete !== undefined) { return forceAutocomplete; } + // Don't prompt on `ng update` or `ng completion`. + if (command === 'update' || command === 'completion') { + return false; + } + // Non-interactive and continuous integration systems don't care about autocompletion. if (!isTTY()) { return false; diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts index a200db185691..d6ce1c00a56a 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts @@ -240,6 +240,31 @@ export default async function () { } }); + // Does *not* prompt for `ng update` commands. + await mockHome(async (home) => { + // Use `ng update --help` so it's actually a no-op and we don't need to setup a project. + const { stdout } = await execWithEnv('ng', ['update', '--help'], { + ...DEFAULT_ENV, + HOME: home, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error('`ng update` command incorrectly prompted for autocompletion setup.'); + } + }); + + // Does *not* prompt for `ng completion` commands. + await mockHome(async (home) => { + const { stdout } = await execWithEnv('ng', ['completion'], { + ...DEFAULT_ENV, + HOME: home, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error('`ng completion` command incorrectly prompted for autocompletion setup.'); + } + }); + // Does *not* prompt user for CI executions. { const { stdout } = await execWithEnv('ng', ['version'], { From a2bc9fab33d4a54b8188da7cf8d801ce54b0c6a6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 3 May 2022 16:49:50 -0400 Subject: [PATCH 0348/1388] build: update SauceLabs connect proxy version to 4.7.1 --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 763be81f3e39..d6d18a61f9c6 100644 --- a/package.json +++ b/package.json @@ -193,7 +193,7 @@ "rxjs": "6.6.7", "sass": "1.51.0", "sass-loader": "12.6.0", - "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz", + "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", "shelljs": "^0.8.5", "source-map": "0.7.3", diff --git a/yarn.lock b/yarn.lock index a78386a4db9d..68b523becdc6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9544,9 +9544,9 @@ sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -"sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz": +"sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - resolved "https://saucelabs.com/downloads/sc-4.6.4-linux.tar.gz#992e2cb0d91e54b27a4f5bbd2049f3b774718115" + resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: version "1.5.0" From 6ceaaea4f51c5f9fd772598c5046fa7b15c3f183 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 3 May 2022 17:01:29 -0400 Subject: [PATCH 0349/1388] ci: remove unneeded view engine browser tests View Engine application builds are no longer supported and the E2E `--ve` option is a no-op. This test execution was running a duplicate Ivy application test as a result. --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 73b36c9e1026..f590115dc687 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -248,7 +248,6 @@ jobs: # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests # too early without Saucelabs not being ready. - run: ./scripts/saucelabs/wait-for-tunnel.sh - - run: node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts --ve - run: node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts - run: ./scripts/saucelabs/stop-tunnel.sh - fail_fast From 156f15e47fec8cf9d2cc1e4cb60d93142724ab71 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Wed, 4 May 2022 15:40:53 +0000 Subject: [PATCH 0350/1388] build: cleanup references to old `master` branch Cleans up all referneces to the old `master` branch. --- .circleci/config.yml | 4 --- .github/ISSUE_TEMPLATE/1-bug-report.md | 2 +- .github/ISSUE_TEMPLATE/5-support-request.md | 2 +- .github/SAVED_REPLIES.md | 6 ++-- .github/angular-robot.yml | 8 +++--- .github/workflows/scorecard.yml | 6 +--- CONTRIBUTING.md | 28 +++++++++---------- README.md | 8 +++--- docs/DEVELOPER.md | 2 +- docs/design/build-system.md | 4 +-- docs/process/release.md | 2 +- .../test/hello-world-app/README.md | 2 +- packages/angular_devkit/schematics/README.md | 2 +- packages/ngtools/webpack/package.json | 2 +- scripts/templates/contributing.ejs | 26 ++++++++--------- scripts/templates/readme.ejs | 8 +++--- .../schema/serializers/schema_benchmark.json | 2 +- tests/legacy-cli/e2e_runner.ts | 2 +- 18 files changed, 54 insertions(+), 62 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f590115dc687..cb8424b40ecc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,8 +30,6 @@ var_5: &only_release_branches branches: only: - main - # TODO(BRANCH_RENAME_CLEANUP): remove - - master - /\d+\.\d+\.x/ # Executor Definitions @@ -364,8 +362,6 @@ workflows: only: - renovate/angular - main - # TODO(BRANCH_RENAME_CLEANUP): remove - - master - e2e-cli: name: e2e-cli-node-16 nodeversion: '16.10' diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md index bc0cec42df0e..66828cd92bb8 100644 --- a/.github/ISSUE_TEMPLATE/1-bug-report.md +++ b/.github/ISSUE_TEMPLATE/1-bug-report.md @@ -57,7 +57,7 @@ Share the link to the repo below along with step-by-step instructions to reprodu Issues that don't have enough info and can't be reproduced will be closed. -You can read more about issue submission guidelines here: https://github.com/angular/angular-cli/blob/master/CONTRIBUTING.md#-submitting-an-issue +You can read more about issue submission guidelines here: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-submitting-an-issue --> ## 🔥 Exception or Error diff --git a/.github/ISSUE_TEMPLATE/5-support-request.md b/.github/ISSUE_TEMPLATE/5-support-request.md index 509f8d4797bc..3d88b3df0daf 100644 --- a/.github/ISSUE_TEMPLATE/5-support-request.md +++ b/.github/ISSUE_TEMPLATE/5-support-request.md @@ -8,7 +8,7 @@ about: Questions and requests for support Please do not file questions or support requests on the GitHub issues tracker. You can get your questions answered using other communication channels. Please see: -https://github.com/angular/angular-cli/blob/master/CONTRIBUTING.md#question +https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#question Thank you! diff --git a/.github/SAVED_REPLIES.md b/.github/SAVED_REPLIES.md index 466b8ad5ee52..06fb24cd1cd6 100644 --- a/.github/SAVED_REPLIES.md +++ b/.github/SAVED_REPLIES.md @@ -29,7 +29,7 @@ Thanks for reporting this issue. However, this issue is a duplicate of # Coding Rules @@ -192,15 +192,15 @@ If the commit reverts a previous commit, it should begin with `revert: `, follow ### Type Must be one of the following: -* **build**: Changes to local repository build system and tooling +* **build**: Changes to local repository build system and tooling * **ci**: Changes to CI configuration and CI specific tooling [2] -* **docs**: Changes which exclusively affects documentation. +* **docs**: Changes which exclusively affects documentation. * **feat**: Creates a new feature [1] * **fix**: Fixes a previously discovered failure/bug [1] * **perf**: Improves performance without any change in functionality or API [1] -* **refactor**: Refactor without any change in functionality or API (includes style changes) +* **refactor**: Refactor without any change in functionality or API (includes style changes) * **release**: A release point in the repository [2] -* **test**: Improvements or corrections made to the project's test suite +* **test**: Improvements or corrections made to the project's test suite [1] This type MUST have a scope. See the next section for more information.
@@ -292,7 +292,7 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise [coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md [commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit# [corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html -[dev-doc]: https://github.com/angular/angular-cli/blob/master/packages/angular/cli/README.md#development-hints-for-working-on-angular-cli +[dev-doc]: https://github.com/angular/angular-cli/blob/main/packages/angular/cli/README.md#development-hints-for-working-on-angular-cli [GitHub]: https://github.com/angular/angular-cli [gitter]: https://gitter.im/angular/angular-cli [individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html diff --git a/README.md b/README.md index 3f3fc0dfff21..0113a346e324 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@
Angular CLI logo

- The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, + The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold,
and maintain Angular applications directly from a command shell.

@@ -37,8 +37,8 @@

- - CI status + + CI status   Discord conversation @@ -194,7 +194,7 @@ This is a monorepo which contains many tools and packages: [filestructure]: https://angular.io/guide/file-structure [node.js]: https://nodejs.org/ [npm]: https://www.npmjs.com/get-npm -[codeofconduct]: https://github.com/angular/angular/blob/master/CODE_OF_CONDUCT.md +[codeofconduct]: https://github.com/angular/angular/blob/main/CODE_OF_CONDUCT.md [twitter]: https://www.twitter.com/angular [discord]: https://discord.gg/angular [gitter]: https://gitter.im/angular/angular-cli diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index 18cfcefb314b..ab0ba45a46c9 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -78,7 +78,7 @@ There are two different test suites which can be run locally: - Run a subset of the tests, use the full Bazel target example: `yarn bazel test //packages/schematics/angular:angular_test` - For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//packages/...)"` -You can find more info about debugging [tests with Bazel in the docs.](https://github.com/angular/angular-cli/blob/master/docs/process/bazel.md#debugging-jasmine_node_test) +You can find more info about debugging [tests with Bazel in the docs.](https://github.com/angular/angular-cli/blob/main/docs/process/bazel.md#debugging-jasmine_node_test) ### End to end tests diff --git a/docs/design/build-system.md b/docs/design/build-system.md index fe730f3f9fdd..fbe437ee5157 100644 --- a/docs/design/build-system.md +++ b/docs/design/build-system.md @@ -24,7 +24,7 @@ It's not strictly accurate because some options remove certain processing stages This diagram doesn't show these conditionals and only shows the possible processing steps. Relative paths, such as `./raw-css-loader.ts`, refer to internal plugins, while other names usually refer to public npm packages. -![Overview diagram](https://g.gravizo.com/source/svg?https://raw.githubusercontent.com/angular/angular-cli/master/docs/design/build-system-overview.dot) +![Overview diagram](https://g.gravizo.com/source/svg?https://raw.githubusercontent.com/angular/angular-cli/main/docs/design/build-system-overview.dot) ## Loading and processing sources @@ -128,7 +128,7 @@ We also use Terser's mangling, by which names, but not properties, are renamed t The main characteristics of Terser to keep in mind is that it operates via static analysis and does not support the indirection introduced by module loading. Thus the rest of the pipeline is directed towards providing Terser with code that can be removed via static analysis in large single modules scopes. -To this end we developed [@angular-devkit/build-optimizer](https://github.com/angular/angular-cli/tree/master/packages/angular_devkit/build_optimizer), a post-processing tool for TS code. +To this end we developed [@angular-devkit/build-optimizer](https://github.com/angular/angular-cli/tree/main/packages/angular_devkit/build_optimizer), a post-processing tool for TS code. Build Optimizer searches for code patterns produced by the TypeScript and Angular compiler that are known to inhibit dead code elimination, and converts them into equivalent structures that enable it instead (the link above contains some examples). It also adds Terser [annotations](https://github.com/terser/terser#annotations) marking top-level functions as free from side effects for libraries that have the `sideEffects` flag set to false in `package.json`. diff --git a/docs/process/release.md b/docs/process/release.md index 0465c8823f0f..eadc1a1b8e8e 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -14,7 +14,7 @@ The caretaker should triage issues, merge PR, and sheppard the release. Caretaker calendar can be found [here](https://calendar.google.com/calendar/embed?src=angular.io_jf53juok1lhpm84hv6bo6fmgbc%40group.calendar.google.com&ctz=America%2FLos_Angeles). Each shift consists of two caretakers. The primary caretaker is responsible for -merging PRs to master and patch whereas the secondary caretaker is responsible +merging PRs to `main` and patch whereas the secondary caretaker is responsible for the release. Primary-secondary pairs are as follows: | Primary | Secondary | diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/README.md b/packages/angular_devkit/build_angular/test/hello-world-app/README.md index fa1c5ca7d3f1..563afe4d4160 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/README.md +++ b/packages/angular_devkit/build_angular/test/hello-world-app/README.md @@ -24,4 +24,4 @@ Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protrac ## Further help -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/main/README.md). diff --git a/packages/angular_devkit/schematics/README.md b/packages/angular_devkit/schematics/README.md index 7fce70c8b80d..b4f47a101e7f 100644 --- a/packages/angular_devkit/schematics/README.md +++ b/packages/angular_devkit/schematics/README.md @@ -23,7 +23,7 @@ What distinguishes Schematics from other generators, such as Yeoman or Yarn Crea # Tooling -Schematics is a library, and does not work by itself. A [reference CLI](https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/schematics_cli/bin/schematics.ts) is available on this repository, and is published on NPM at [@angular-devkit/schematics-cli](https://www.npmjs.com/package/@angular-devkit/schematics-cli). This document explains the library usage and the tooling API, but does not go into the tool implementation itself. +Schematics is a library, and does not work by itself. A [reference CLI](https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/schematics_cli/bin/schematics.ts) is available on this repository, and is published on NPM at [@angular-devkit/schematics-cli](https://www.npmjs.com/package/@angular-devkit/schematics-cli). This document explains the library usage and the tooling API, but does not go into the tool implementation itself. The tooling is responsible for the following tasks: diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index d3cdcbb43e53..ae3fe6e564e4 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -19,7 +19,7 @@ "bugs": { "url": "https://github.com/angular/angular-cli/issues" }, - "homepage": "https://github.com/angular/angular-cli/tree/master/packages/@ngtools/webpack", + "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack", "dependencies": {}, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/scripts/templates/contributing.ejs b/scripts/templates/contributing.ejs index ad24aef77826..a3ab56094713 100644 --- a/scripts/templates/contributing.ejs +++ b/scripts/templates/contributing.ejs @@ -84,7 +84,7 @@ Before you submit your Pull Request (PR) consider the following guidelines: * Make your changes in a new git branch: ```shell - git checkout -b my-fix-branch master + git checkout -b my-fix-branch main ``` * Create your patch, **including appropriate test cases**. @@ -106,19 +106,19 @@ Before you submit your Pull Request (PR) consider the following guidelines: git push origin my-fix-branch ``` -* In GitHub, send a pull request to `angular/angular-cli:master`. +* In GitHub, send a pull request to `angular/angular-cli:main`. * If we suggest changes then: * Make the required updates. * Re-run the Angular DevKit test suites to ensure tests are still passing. * Once your PR is approved and you are done with any follow up changes: - * Rebase to the current master to pre-emptively address any merge conflicts. + * Rebase to the current main to pre-emptively address any merge conflicts. ```shell - git rebase master -i + git rebase upstream/main -i git push -f ``` * Add the `action: merge` label and the correct -[target label](https://github.com/angular/angular/blob/master/docs/TRIAGE_AND_LABELS.md#pr-target) +[target label](https://github.com/angular/angular/blob/main/docs/TRIAGE_AND_LABELS.md#pr-target) (if PR author has the project collaborator status, or else the last reviewer should do this). * The current caretaker will merge the PR to the target branch(es) within 1-2 @@ -137,10 +137,10 @@ from the main (upstream) repository: git push origin --delete my-fix-branch ``` -* Check out the master branch: +* Check out the main branch: ```shell - git checkout master -f + git checkout main -f ``` * Delete the local branch: @@ -149,10 +149,10 @@ from the main (upstream) repository: git branch -D my-fix-branch ``` -* Update your master with the latest upstream version: +* Update your local `main` with the latest upstream version: ```shell - git pull --ff upstream master + git pull --ff upstream main ``` ## Coding Rules @@ -196,11 +196,11 @@ Must be one of the following: const { COMMIT_TYPES, ScopeRequirement } = require('../../.ng-dev/commit-message'); for (const typeName of Object.keys(COMMIT_TYPES).sort()) { const type = COMMIT_TYPES[typeName]; -%>* **<%= typeName %>**: <%= type.description %> <% +%>* **<%= typeName %>**: <%= type.description %><% if (type.scope == ScopeRequirement.Required) { - %>[1]<% + %> [1]<% } else if (type.scope == ScopeRequirement.Forbidden) { - %>[2]<% + %> [2]<% } %> <% } %> @@ -286,7 +286,7 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise [coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md [commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit# [corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html -[dev-doc]: https://github.com/angular/angular-cli/blob/master/packages/angular/cli/README.md#development-hints-for-working-on-angular-cli +[dev-doc]: https://github.com/angular/angular-cli/blob/main/packages/angular/cli/README.md#development-hints-for-working-on-angular-cli [GitHub]: https://github.com/angular/angular-cli [gitter]: https://gitter.im/angular/angular-cli [individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html diff --git a/scripts/templates/readme.ejs b/scripts/templates/readme.ejs index 481a0175c720..8083cbc39961 100644 --- a/scripts/templates/readme.ejs +++ b/scripts/templates/readme.ejs @@ -16,7 +16,7 @@
Angular CLI logo

- The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold, + The Angular CLI is a command-line interface tool that you use to initialize, develop, scaffold,
and maintain Angular applications directly from a command shell.

@@ -37,8 +37,8 @@

- - CI status + + CI status   Discord conversation @@ -222,7 +222,7 @@ for (const pkgName of Object.keys(packages)) { [filestructure]: https://angular.io/guide/file-structure [node.js]: https://nodejs.org/ [npm]: https://www.npmjs.com/get-npm -[codeofconduct]: https://github.com/angular/angular/blob/master/CODE_OF_CONDUCT.md +[codeofconduct]: https://github.com/angular/angular/blob/main/CODE_OF_CONDUCT.md [twitter]: https://www.twitter.com/angular [discord]: https://discord.gg/angular [gitter]: https://gitter.im/angular/angular-cli diff --git a/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json b/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json index 8e39ec498f1b..7ec5d5af8a7f 100644 --- a/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json +++ b/tests/angular_devkit/core/json/schema/serializers/schema_benchmark.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://github.com/angular/angular-cli/blob/master/packages/@angular/cli/lib/config/schema.json#CliConfig", + "$id": "https://github.com/angular/angular-cli/blob/main/packages/@angular/cli/lib/config/schema.json#CliConfig", "title": "Angular CLI Config Schema", "type": "object", "properties": { diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index e4386cd324b6..c049e8ce0bc3 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -23,7 +23,7 @@ Error.stackTraceLimit = Infinity; * --noglobal Skip linking your local @angular/cli directory. Can save a few seconds. * --nosilent Never silence ng commands. * --ng-tag=TAG Use a specific tag for build snapshots. Similar to ng-snapshots but point to a - * tag instead of using the latest master. + * tag instead of using the latest `main`. * --ng-snapshots Install angular snapshot builds in the test project. * --glob Run tests matching this glob pattern (relative to tests/e2e/). * --ignore Ignore tests matching this glob pattern. From 0e4e4904484e4cb0782e04fd76cac7992c5523f4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 May 2022 11:46:39 -0400 Subject: [PATCH 0351/1388] build(@angular-devkit/build-angular): add missing @babel/generator dep to BUILD file --- packages/angular_devkit/build_angular/BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index abbe7180d142..27e52e088a19 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -101,6 +101,7 @@ ts_library( "@npm//@angular/localize", "@npm//@angular/service-worker", "@npm//@babel/core", + "@npm//@babel/generator", "@npm//@babel/helper-annotate-as-pure", "@npm//@babel/plugin-proposal-async-generator-functions", "@npm//@babel/plugin-transform-async-to-generator", From 13fce451d8c24365d5b62c52178ceb96c70e7535 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 May 2022 11:48:11 -0400 Subject: [PATCH 0352/1388] refactor(@angular-devkit/core): delete `deepCopy` temporary symbol property after use The `deepCopy` utility function previously set its internal tracking symbol property to `undefined` after completion. However, this still caused the property to exist with a value of `undefined`. Jasmine 4.1 now checks for symbols with its `toEqual` expectation which resulted in failing tests. The internal tracking symbol property is now removed instead via `delete`. --- packages/angular_devkit/core/src/utils/object.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/utils/object.ts b/packages/angular_devkit/core/src/utils/object.ts index 0895ac413050..5ad7de7dbd99 100644 --- a/packages/angular_devkit/core/src/utils/object.ts +++ b/packages/angular_devkit/core/src/utils/object.ts @@ -33,7 +33,7 @@ export function deepCopy(value: T): T { for (const key of Object.getOwnPropertyNames(valueCasted)) { copy[key] = deepCopy(valueCasted[key]); } - valueCasted[copySymbol] = undefined; + delete valueCasted[copySymbol]; return copy; } else { From 932cb9fef0c45aadd3ada1bfb2753af5dba59acc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 3 May 2022 21:50:45 +0000 Subject: [PATCH 0353/1388] build: lock file maintenance --- yarn.lock | 1501 +++++++++++++++++++++-------------------------------- 1 file changed, 599 insertions(+), 902 deletions(-) diff --git a/yarn.lock b/yarn.lock index 68b523becdc6..d33a302ee2b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,14 +2,14 @@ # yarn lockfile v1 -"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": +"@ampproject/remapping@2.1.2": version "2.1.2" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ampproject/remapping@2.2.0": +"@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== @@ -176,14 +176,15 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.0.tgz#0c415b298b61183bf464ec0846d0ee0203ae62af" - integrity sha512-ZnuIMEK8YFBtthNqrxapYolMp6qRy4Yp/VG+M11YNiuBp/BoYYDjTaknwO8vu36Cn6372zWjcibsknkZMjdBkg== + version "13.3.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.5.tgz#6bcf669dae637dd164342b8460db915eaed31e9b" + integrity sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q== dependencies: tslib "^2.3.0" "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50": version "0.0.0-303acfd7f5ae3118193047f604d821f3604a0512" + uid "4149a6bb4dd87882532f0bab753e877b61a7cb50" resolved "https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50" dependencies: "@angular-devkit/build-angular" "14.0.0-next.12" @@ -292,10 +293,10 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== "@babel/core@7.17.9": version "7.17.9" @@ -319,27 +320,27 @@ semver "^6.3.0" "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" - integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" + integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" - "@babel/helper-compilation-targets" "^7.17.7" + "@babel/generator" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.8" - "@babel/parser" "^7.17.8" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.10" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.17.10" + "@babel/types" "^7.17.10" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.17.9", "@babel/generator@^7.17.9": +"@babel/generator@7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== @@ -348,14 +349,14 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.17.3", "@babel/generator@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== +"@babel/generator@^7.17.10", "@babel/generator@^7.17.9": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" + integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.17.10" + "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" - source-map "^0.5.0" "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" @@ -372,30 +373,30 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.17.7": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" + integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== dependencies: - "@babel/compat-data" "^7.17.7" + "@babel/compat-data" "^7.17.10" "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" + browserslist "^4.20.2" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" - integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" + integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-member-expression-to-functions" "^7.17.7" "@babel/helper-optimise-call-expression" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" -"@babel/helper-create-regexp-features-plugin@^7.16.7": +"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== @@ -431,16 +432,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.17.9": +"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== @@ -448,13 +440,6 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.17.0" -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" @@ -462,7 +447,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-member-expression-to-functions@^7.16.7": +"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== @@ -563,15 +548,6 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" - integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - "@babel/helpers@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" @@ -582,23 +558,18 @@ "@babel/types" "^7.17.0" "@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" + integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" - integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== - -"@babel/parser@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" - integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.17.9": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" + integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" @@ -963,9 +934,9 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" - integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" + integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw== dependencies: "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" @@ -992,11 +963,11 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz#715dbcfafdb54ce8bccd3d12e8917296a4ba66a4" + integrity sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.17.0" "@babel/plugin-transform-new-target@^7.16.7": version "7.16.7" @@ -1028,11 +999,11 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-regenerator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz#0a33c3a61cf47f45ed3232903683a0afd2d3460c" + integrity sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ== dependencies: - regenerator-transform "^0.14.2" + regenerator-transform "^0.15.0" "@babel/plugin-transform-reserved-words@^7.16.7": version "7.16.7" @@ -1195,20 +1166,13 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.9": +"@babel/runtime@7.17.9", "@babel/runtime@^7.8.4": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.8.4": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1218,42 +1182,26 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" + integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d" - integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.9" + "@babel/generator" "^7.17.10" "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.9" - "@babel/types" "^7.17.0" + "@babel/parser" "^7.17.10" + "@babel/types" "^7.17.10" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" + integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" @@ -1345,15 +1293,7 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@csstools/postcss-color-function@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.3.tgz#251c961a852c99e9aabdbbdbefd50e9a96e8a9ff" - integrity sha512-J26I69pT2B3MYiLY/uzCGKVJyMYVg9TCpXkWsRlt+Yfq+nELUEm72QXIMYXs4xA9cJA4Oqs2EylrfokKl3mJEQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-color-function@^1.1.0": +"@csstools/postcss-color-function@^1.0.3", "@csstools/postcss-color-function@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.0.tgz#229966327747f58fbe586de35daa139db3ce1e5d" integrity sha512-5D5ND/mZWcQoSfYnSPsXtuiFxhzmhxt6pcjrFLJyldj+p0ZN2vvRpYNX+lahFTtMhAYOa2WmkdGINr0yP0CvGA== @@ -1383,14 +1323,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.1.tgz#472fff2cf434bdf832f7145b2a5491587e790c9e" - integrity sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q== - dependencies: - postcss-selector-parser "^6.0.9" - -"@csstools/postcss-is-pseudo-class@^2.0.2": +"@csstools/postcss-is-pseudo-class@^2.0.1", "@csstools/postcss-is-pseudo-class@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.2.tgz#a834ca11a43d6ed9bc9e3ff53c80d490a4b1aaad" integrity sha512-L9h1yxXMj7KpgNzlMrw3isvHJYkikZgZE4ASwssTnGEH8tm50L6QsM9QQT5wR4/eO5mU0rN5axH7UzNxEYg5CA== @@ -1404,15 +1337,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.2.tgz#87cd646e9450347a5721e405b4f7cc35157b7866" - integrity sha512-QwhWesEkMlp4narAwUi6pgc6kcooh8cC7zfxa9LSQNYXqzcdNUtNBzbGc5nuyAVreb7uf5Ox4qH1vYT3GA1wOg== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^1.1.0": +"@csstools/postcss-oklab-function@^1.0.2", "@csstools/postcss-oklab-function@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.0.tgz#e9a269487a292e0930760948e923e1d46b638ee6" integrity sha512-e/Q5HopQzmnQgqimG9v3w2IG4VRABsBq3itOcn4bnm+j4enTgQZ0nWsaH/m9GV2otWGQ0nwccYL5vmLKyvP1ww== @@ -1427,6 +1352,18 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-stepped-value-functions@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.0.tgz#f8ffc05e163ba7bcbefc5fdcaf264ce9fd408c16" + integrity sha512-q8c4bs1GumAiRenmFjASBcWSLKrbzHzWl6C2HcaAxAXIiL2rUlUWbqQZUjwVG5tied0rld19j/Mm90K3qI26vw== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-unset-value@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.0.tgz#f6e0e58376f09e381a49bd553772a97a477da3fd" + integrity sha512-T5ZyNSw9G0x0UDFiXV40a7VjKw2b+l4G+S0sctKqxhx8cg9QtMUAGwJBVU9mHPDPoZEmwm0tEoukjl4zb9MU7Q== + "@discoveryjs/json-ext@0.5.7": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" @@ -1491,9 +1428,9 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + version "3.0.6" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz#4ac237f4dabc8dd93330386907b97591801f7352" + integrity sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw== "@jridgewell/set-array@^1.0.0": version "1.1.0" @@ -1501,19 +1438,11 @@ integrity sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg== "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + version "1.4.12" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz#7ed98f6fa525ffb7c56a2cbecb5f7bb91abd2baf" + integrity sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA== -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.9": version "0.3.9" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== @@ -1611,12 +1540,12 @@ semver "^7.3.5" "@npmcli/git@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.0.tgz#466a18980da6b646a8112a7676688ae5347deba3" - integrity sha512-xfSBJ+KBMZWWqRHFbEgIaXG/LtELHrQZMJ72Gkb3yWdHysu/7+VGOs8ME0c3td7QNQX57Ggo3kYL6ylcd70/kA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.1.tgz#049b99b1381a2ddf7dc56ba3e91eaf76ca803a8d" + integrity sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A== dependencies: - "@npmcli/promise-spawn" "^1.3.2" - lru-cache "^7.3.1" + "@npmcli/promise-spawn" "^3.0.0" + lru-cache "^7.4.4" mkdirp "^1.0.4" npm-pick-manifest "^7.0.0" proc-log "^2.0.0" @@ -1633,14 +1562,6 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -"@npmcli/move-file@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - "@npmcli/move-file@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" @@ -1649,17 +1570,10 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@npmcli/node-gyp@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" - integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== - -"@npmcli/promise-spawn@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" - integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== - dependencies: - infer-owner "^1.0.4" +"@npmcli/node-gyp@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" + integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== "@npmcli/promise-spawn@^3.0.0": version "3.0.0" @@ -1669,12 +1583,12 @@ infer-owner "^1.0.4" "@npmcli/run-script@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.1.tgz#9d10b46586300074cc9e53ef320130a69567e1ce" - integrity sha512-o2fkld5hYwu9sKYzoXTpqEocMnDLaigobaPzLaGB63k/ExmLBTaB+KpfKlpcIePPnuP8RFR+0GDI4KopJCM6Xg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.2.tgz#3e9116d831f4539bf292d18b015977a6118997ee" + integrity sha512-vdjD/PMBl+OX9j9C9irx5sCCIKfp2PWkpPNH9zxvlJAfSZ3Qp5aU412v+O3PFJl3R1PFNwuyChCqHg4ma6ci2Q== dependencies: - "@npmcli/node-gyp" "^1.0.3" - "@npmcli/promise-spawn" "^1.3.2" + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" node-gyp "^9.0.0" read-package-json-fast "^2.0.3" @@ -1739,14 +1653,14 @@ "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" - integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== + version "13.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c" + integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" deepmerge "^4.2.2" + is-builtin-module "^3.1.0" is-module "^1.0.0" resolve "^1.19.0" @@ -1792,15 +1706,10 @@ colors "~1.2.1" string-argv "~0.3.1" -"@socket.io/base64-arraybuffer@~1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" - integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== - -"@socket.io/component-emitter@~3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz#8863915676f837d9dad7b76f50cb500c1e9422e9" - integrity sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q== +"@socket.io/component-emitter@~3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" + integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== "@tootallnate/once@2": version "2.0.0" @@ -1867,9 +1776,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + version "7.17.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== dependencies: "@babel/types" "^7.3.0" @@ -1958,9 +1867,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" - integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== + version "8.4.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.2.tgz#48f2ac58ab9c631cb68845c3d956b28f79fad575" + integrity sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2003,9 +1912,9 @@ "@types/node" "*" "@types/http-proxy@^1.17.4", "@types/http-proxy@^1.17.8": - version "1.17.8" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" - integrity sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA== + version "1.17.9" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" + integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== dependencies: "@types/node" "*" @@ -2015,9 +1924,9 @@ integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== "@types/inquirer@^8.0.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.0.tgz#b9566d048f5ff65159f2ed97aff45fe0f00b35ec" - integrity sha512-BNoMetRf3gmkpAlV5we+kxyZTle7YibdOntIZbU5pyIfMdcwy784KfeZDAcuyMznkh5OLa17RVXZOGA5LTlkgQ== + version "8.2.1" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.1.tgz#28a139be3105a1175e205537e8ac10830e38dbf4" + integrity sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw== dependencies: "@types/through" "*" rxjs "^7.2.0" @@ -2033,9 +1942,9 @@ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/jasmine@~4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.0.0.tgz#48bfd99cbe16dcdcde0b7d3bfa62319504d141f9" - integrity sha512-KvhqNz4NaONk7cfp4E9x+uXOUp7x4H2Zeyb4yXnw2vIuxD5YfSi1767x+aF7z54elhZcC0OH9/78/WL6+5jcDg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.0.3.tgz#097ce710d70eb7f3662e96c1f75824dd22c27d5c" + integrity sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" @@ -2064,9 +1973,9 @@ "@types/webpack" "^4" "@types/long@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" - integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== "@types/micromatch@^2": version "2.3.31" @@ -2099,9 +2008,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" - integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== + version "17.0.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d" + integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q== "@types/node@12.20.24": version "12.20.24" @@ -2119,9 +2028,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" - integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== + version "14.18.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.16.tgz#878f670ba3f00482bf859b6550b6010610fc54b5" + integrity sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2227,14 +2136,14 @@ "@types/node" "*" "@types/resolve@^1.17.1": - version "1.20.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.1.tgz#3727e48042fda81e374f5d5cf2fa92288bf698f8" - integrity sha512-Ku5+GPFa12S3W26Uwtw+xyrtIpaZsGYHH6zxNbZlstmlvMYSZRzOwzwsXbxlVUbHyUucctSyuFtu6bNxwYomIw== + version "1.20.2" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== -"@types/retry@^0.12.0": - version "0.12.1" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" - integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/selenium-webdriver@^3.0.0": version "3.0.19" @@ -2242,9 +2151,9 @@ integrity sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g== "@types/selenium-webdriver@^4.0.18": - version "4.0.18" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.18.tgz#98f6e1ccd2d92f6fddaccfc7c148d2e158da0f92" - integrity sha512-gkrUo3QldGr8V9im/DjgKkX4UVd1rtflfEBuPG9hPSA1keu7A0rF8h/MQjpTMm2EPVhBCd2K8tn5nlC9Vsd5Xw== + version "4.0.19" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.19.tgz#25699713552a63ee70215effdfd2e5d6dda19f8e" + integrity sha512-Irrh+iKc6Cxj6DwTupi4zgWhSBm1nK+JElOklIUiBVE6rcLYDtT1mwm9oFkHie485BQXNmZRoayjwxhowdInnA== "@types/semver@^7.0.0": version "7.3.9" @@ -2316,9 +2225,9 @@ integrity sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA== "@types/uglify-js@*": - version "3.13.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" - integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== + version "3.13.2" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.2.tgz#1044c1713fb81cb1ceef29ad8a9ee1ce08d690ef" + integrity sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q== dependencies: source-map "^0.6.1" @@ -2373,9 +2282,9 @@ integrity sha512-8NYnGOctzsI4W0ApsP/BIHD/LnxpJ6XaGf2AZmz4EyDYJMxtprN4279dLNI1CPZcwC9H18qYcaFv4bXi0wmokg== "@types/yauzl@^2.9.1": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" - integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== dependencies: "@types/node" "*" @@ -2657,9 +2566,9 @@ JSONStream@1.3.5: through ">=2.2.7 <3" abab@^2.0.0, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== abbrev@1: version "1.1.1" @@ -2713,9 +2622,9 @@ acorn@^7.1.0, acorn@^7.1.1: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -2910,13 +2819,13 @@ array-flatten@^2.1.2: integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-includes@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" - integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.19.5" get-intrinsic "^1.1.1" is-string "^1.0.7" @@ -2943,13 +2852,14 @@ array-uniq@^1.0.1: integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= array.prototype.flat@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" + integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" arrify@^1.0.0: version "1.0.1" @@ -2989,9 +2899,9 @@ async@3.2.3, async@^3.2.3: integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" @@ -3010,25 +2920,13 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.4: - version "10.4.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" - integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== +autoprefixer@^10.4.4, autoprefixer@^10.4.5, autoprefixer@^10.4.6: + version "10.4.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" + integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== dependencies: - browserslist "^4.20.2" - caniuse-lite "^1.0.30001317" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -autoprefixer@^10.4.5: - version "10.4.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.5.tgz#662193c744094b53d3637f39be477e07bd904998" - integrity sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw== - dependencies: - browserslist "^4.20.2" - caniuse-lite "^1.0.30001332" + browserslist "^4.20.3" + caniuse-lite "^1.0.30001335" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3113,11 +3011,6 @@ babel-plugin-polyfill-regenerator@^0.3.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" -backo2@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -3176,7 +3069,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.19.2, body-parser@^1.19.0: +body-parser@1.19.2: version "1.19.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== @@ -3192,7 +3085,7 @@ body-parser@1.19.2, body-parser@^1.19.0: raw-body "2.4.3" type-is "~1.6.18" -body-parser@1.20.0: +body-parser@1.20.0, body-parser@^1.19.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== @@ -3211,9 +3104,9 @@ body-parser@1.20.0: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.11.tgz#5418e5c1ac91c89a406f853a942e7892829c0d89" - integrity sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA== + version "1.0.12" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.12.tgz#28fbd4683f5f2e36feedb833e24ba661cac960c3" + integrity sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw== dependencies: array-flatten "^2.1.2" dns-equal "^1.0.0" @@ -3330,18 +3223,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.9.1: - version "4.20.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== - dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" - -browserslist@^4.20.3: +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.9.1: version "4.20.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== @@ -3397,20 +3279,15 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^3.1.0: +builtin-modules@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - builtins@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.0.tgz#20d87e7f95d46481b1abe4adc616a9cb6b492cba" - integrity sha512-aizhtbxgT1Udg0Fj6GssXshAVK+nxbtCV+1OtTrMNy67jffDFBY6CUBAkhO4owbleAx6fdbnWdpsmmcXydbzNw== + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== dependencies: semver "^7.0.0" @@ -3467,7 +3344,7 @@ cacache@16.0.4: tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.0.7: +cacache@16.0.7, cacache@^16.0.0, cacache@^16.0.2: version "16.0.7" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.7.tgz#74a5d9bc4c17b4c0b373c1f5d42dadf5dc06638d" integrity sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w== @@ -3491,30 +3368,6 @@ cacache@16.0.7: tar "^6.1.11" unique-filename "^1.1.1" -cacache@^16.0.0, cacache@^16.0.2: - version "16.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" - integrity sha512-eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^1.1.2" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^7.2.0" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.1.11" - unique-filename "^1.1.1" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3533,15 +3386,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001317: - version "1.0.30001320" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285" - integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== - -caniuse-lite@^1.0.30001332: - version "1.0.30001334" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001334.tgz#892e9965b35285033fc2b8a8eff499fe02f13d8b" - integrity sha512-kbaCEBRRVSoeNs74sCuq92MJyGrMtjWVfhltoHUCW4t4pXFvGjUBrfo47weBRViHkiV3eBYyIsfl956NtHGazw== +caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: + version "1.0.30001335" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz#899254a0b70579e5a957c32dced79f0727c61f2a" + integrity sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w== caseless@~0.12.0: version "0.12.0" @@ -3737,15 +3585,15 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.2.0, commander@^2.20.0, commander@^2.7.1: +commander@^2.2.0, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.1.0.tgz#a6b263b2327f2e188c6402c42623327909f2dbec" - integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w== + version "9.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" + integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== commondir@^1.0.1: version "1.0.1" @@ -3884,11 +3732,11 @@ copy-webpack-plugin@10.2.4: serialize-javascript "^6.0.0" core-js-compat@^3.20.2, core-js-compat@^3.21.0: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" - integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== + version "3.22.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.4.tgz#d700f451e50f1d7672dcad0ac85d910e6691e579" + integrity sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA== dependencies: - browserslist "^4.19.1" + browserslist "^4.20.3" semver "7.0.0" core-util-is@1.0.2: @@ -3987,20 +3835,20 @@ css-prefers-color-scheme@^6.0.3: integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== css-select@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" + css-what "^6.0.1" + domhandler "^4.3.1" domutils "^2.8.0" nth-check "^2.0.1" -css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== css@^3.0.0: version "3.0.0" @@ -4011,10 +3859,10 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" - integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== +cssdb@^6.5.0, cssdb@^6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.1.tgz#2637fdc57eab452849488de7e8d961ec06f2fe8f" + integrity sha512-0/nZEYfp8SFEzJkMud8NxZJsGfD7RHDJti6GRBLZptIwAzco6RTx1KgwFl4mGWsYS0ZNbCrsY9QryhQ4ldF3Mg== cssesc@^3.0.0: version "3.0.0" @@ -4072,10 +3920,10 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.6.tgz#f6138b8f17968df9815b3d101fc06b0523f066c5" - integrity sha512-B9vvg5rHuQ8cbUXE/RMWMyX2YA5TecT3jKF5fLtGNlzPlU7zblSPmAm2OImDbWL+LDOQ6pUm+4LOFz+ywS41Zw== +date-format@^4.0.9: + version "4.0.9" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.9.tgz#4788015ac56dedebe83b03bc361f00c1ddcf1923" + integrity sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg== dayjs@1.11.1: version "1.11.1" @@ -4089,7 +3937,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4154,12 +4002,13 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: - object-keys "^1.0.12" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" del@^2.2.0: version "2.2.2" @@ -4225,9 +4074,9 @@ devtools-protocol@0.0.981744: integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg== dezalgo@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== dependencies: asap "^2.0.0" wrappy "1" @@ -4291,18 +4140,18 @@ dom-serialize@^2.2.1: void-elements "^2.0.0" dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" domhandler "^4.2.0" entities "^2.0.0" domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domexception@^1.0.1: version "1.0.1" @@ -4311,7 +4160,7 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" -domhandler@^4.2.0, domhandler@^4.3.0: +domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== @@ -4379,14 +4228,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.118: - version "1.4.124" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.124.tgz#e9015e234d8632920dcdf5480351da9e845ed220" - integrity sha512-VhaE9VUYU6d2eIb+4xf83CATD+T+3bTzvxvlADkQE+c2hisiw3sZmvEDtsW704+Zky9WZGhBuQXijDVqSriQLA== - -electron-to-chromium@^1.4.84: - version "1.4.96" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz#a97438a01d5db1460343fea4a344960b09330990" - integrity sha512-DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw== + version "1.4.131" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.131.tgz#ca42d22eac0fe545860fbc636a6f4a7190ba70a9" + integrity sha512-oi3YPmaP87hiHn0c4ePB67tXaF+ldGhxvZnT19tW9zX6/Ej+pLN0Afja5rQ6S+TND7I9EuwQTT8JYn1k7R7rrw== emoji-regex@^8.0.0: version "8.0.0" @@ -4417,32 +4261,26 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -engine.io-client@~6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.1.1.tgz#800d4b9db5487d169686729e5bd887afa78d36b0" - integrity sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g== +engine.io-client@~6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.2.2.tgz#c6c5243167f5943dcd9c4abee1bfc634aa2cbdd0" + integrity sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ== dependencies: - "@socket.io/component-emitter" "~3.0.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" - engine.io-parser "~5.0.0" - has-cors "1.1.0" - parseqs "0.0.6" - parseuri "0.0.6" + engine.io-parser "~5.0.3" ws "~8.2.3" xmlhttprequest-ssl "~2.0.0" - yeast "0.1.2" -engine.io-parser@~5.0.0, engine.io-parser@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" - integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg== - dependencies: - "@socket.io/base64-arraybuffer" "~1.0.2" +engine.io-parser@~5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" + integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== -engine.io@~6.1.0: - version "6.1.3" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.3.tgz#f156293d011d99a3df5691ac29d63737c3302e6f" - integrity sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA== +engine.io@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" + integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -4456,9 +4294,9 @@ engine.io@~6.1.0: ws "~8.2.3" enhanced-resolve@^5.9.2: - version "5.9.2" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" - integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== + version "5.9.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" + integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -4502,10 +4340,10 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== +es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.19.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.5.tgz#a2cb01eb87f724e815b278b0dd0d00f36ca9a7f1" + integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -4513,15 +4351,15 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: get-intrinsic "^1.1.1" get-symbol-description "^1.0.0" has "^1.0.3" - has-symbols "^1.0.2" + has-symbols "^1.0.3" internal-slot "^1.0.3" is-callable "^1.2.4" - is-negative-zero "^2.0.1" + is-negative-zero "^2.0.2" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" + is-shared-array-buffer "^1.0.2" is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" + is-weakref "^1.0.2" + object-inspect "^1.12.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" @@ -4533,6 +4371,13 @@ es-module-lexer@^0.9.0: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -4543,9 +4388,9 @@ es-to-primitive@^1.2.1: is-symbol "^1.0.2" es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.59" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.59.tgz#71038939730eb6f4f165f1421308fb60be363bc6" - integrity sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw== + version "0.10.61" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" + integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== dependencies: es6-iterator "^2.0.3" es6-symbol "^3.1.3" @@ -4590,11 +4435,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz#46bc4327dd0809937912346244eaffdb9bfc980d" - integrity sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw== - esbuild-android-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" @@ -4605,11 +4445,6 @@ esbuild-android-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== -esbuild-android-arm64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz#a3f7e1ad84b8a7dcb39b5e132768b56ee7133656" - integrity sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew== - esbuild-android-arm64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" @@ -4620,11 +4455,6 @@ esbuild-android-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== -esbuild-darwin-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz#a0e4ab7a0cddf76761f1fb5d6bf552a376beb16e" - integrity sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw== - esbuild-darwin-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" @@ -4635,11 +4465,6 @@ esbuild-darwin-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== -esbuild-darwin-arm64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz#54c35461f82f83a7f5169d9a6a54201798977b07" - integrity sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w== - esbuild-darwin-arm64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" @@ -4650,11 +4475,6 @@ esbuild-darwin-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== -esbuild-freebsd-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz#aebb50248f5874d04ffeab2db8ee1ed6037e2654" - integrity sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA== - esbuild-freebsd-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" @@ -4665,11 +4485,6 @@ esbuild-freebsd-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== -esbuild-freebsd-arm64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz#09bef288e29f18b38b0c70a9827b6ee718e36c7f" - integrity sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA== - esbuild-freebsd-arm64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" @@ -4680,11 +4495,6 @@ esbuild-freebsd-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== -esbuild-linux-32@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz#67790061758e008e919e65bbc34549f55dadaca7" - integrity sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ== - esbuild-linux-32@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" @@ -4695,11 +4505,6 @@ esbuild-linux-32@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== -esbuild-linux-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz#b9b19d4ac07e37495dd2508ec843418aa71c98d6" - integrity sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ== - esbuild-linux-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" @@ -4710,11 +4515,6 @@ esbuild-linux-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== -esbuild-linux-arm64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz#fd84b11a6ccfe9e83e00d0c45890e9fb3a7248c1" - integrity sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA== - esbuild-linux-arm64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" @@ -4725,11 +4525,6 @@ esbuild-linux-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== -esbuild-linux-arm@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz#c89d4714b05265a315a97c8933508cc73950e683" - integrity sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg== - esbuild-linux-arm@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" @@ -4740,11 +4535,6 @@ esbuild-linux-arm@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== -esbuild-linux-mips64le@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz#d60752c3fb1260dd0737532af2de2a9521656456" - integrity sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw== - esbuild-linux-mips64le@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" @@ -4755,11 +4545,6 @@ esbuild-linux-mips64le@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== -esbuild-linux-ppc64le@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz#f4c6229269956564f0c6f9825f5e717c2cfc22b3" - integrity sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg== - esbuild-linux-ppc64le@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" @@ -4770,11 +4555,6 @@ esbuild-linux-ppc64le@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== -esbuild-linux-riscv64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz#549bd18a9eba3135b67f7b742730b5343a1be35d" - integrity sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA== - esbuild-linux-riscv64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" @@ -4785,11 +4565,6 @@ esbuild-linux-riscv64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== -esbuild-linux-s390x@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz#2a6b577c437f94c2b37623c755ff5215a05c12bc" - integrity sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA== - esbuild-linux-s390x@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" @@ -4800,11 +4575,6 @@ esbuild-linux-s390x@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== -esbuild-netbsd-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz#7f0b73229157975eb35597207723df52ba21722a" - integrity sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ== - esbuild-netbsd-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" @@ -4815,11 +4585,6 @@ esbuild-netbsd-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== -esbuild-openbsd-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz#b9bc44b4f70031fb01b173b279daeffc4d4f54b7" - integrity sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow== - esbuild-openbsd-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" @@ -4830,11 +4595,6 @@ esbuild-openbsd-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== -esbuild-sunos-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz#512dd6085ac1a0dccc20c5f932f16a618bea409c" - integrity sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA== - esbuild-sunos-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" @@ -4850,21 +4610,11 @@ esbuild-wasm@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.36.tgz#7c69b6db185f16755841e999f8c9604dee2cb86a" integrity sha512-tDMs2l397fd/pwLoIKb4uYfQayM5hMfUwVvCmzbFEU+zXedj15/Z/A8iD87cWHN1VD66REdgcGMt1BO6C7RnLw== -esbuild-wasm@0.14.38: +esbuild-wasm@0.14.38, esbuild-wasm@^0.14.29: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== -esbuild-wasm@^0.14.29: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.34.tgz#cde4a4c10405b6dfb677652092eb5b9788670d70" - integrity sha512-0GYXI7gNla1PePGpXMqSH8U/k0xDkVYwH62L0ZLq3MuI26NPabhAlShOOELISpNZIaYiJ8vlkwdYZ4V229zf2A== - -esbuild-windows-32@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz#3ff1afd5cac08050c7c7140a59e343b06f6b037c" - integrity sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg== - esbuild-windows-32@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" @@ -4875,11 +4625,6 @@ esbuild-windows-32@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== -esbuild-windows-64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz#66f7b43d2a0b132f6748dfa3edac4fc939a99be0" - integrity sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q== - esbuild-windows-64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" @@ -4890,11 +4635,6 @@ esbuild-windows-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== -esbuild-windows-arm64@0.14.34: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz#b74a6395b7b7e53dba70b71b39542afd83352473" - integrity sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg== - esbuild-windows-arm64@0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" @@ -4931,7 +4671,7 @@ esbuild@0.14.36: esbuild-windows-64 "0.14.36" esbuild-windows-arm64 "0.14.36" -esbuild@0.14.38: +esbuild@0.14.38, esbuild@^0.14.29: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" integrity sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA== @@ -4957,32 +4697,6 @@ esbuild@0.14.38: esbuild-windows-64 "0.14.38" esbuild-windows-arm64 "0.14.38" -esbuild@^0.14.29: - version "0.14.34" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.34.tgz#3610056f0a57bcfd0b63ddaafdb2e3bef1cf96e4" - integrity sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg== - optionalDependencies: - esbuild-android-64 "0.14.34" - esbuild-android-arm64 "0.14.34" - esbuild-darwin-64 "0.14.34" - esbuild-darwin-arm64 "0.14.34" - esbuild-freebsd-64 "0.14.34" - esbuild-freebsd-arm64 "0.14.34" - esbuild-linux-32 "0.14.34" - esbuild-linux-64 "0.14.34" - esbuild-linux-arm "0.14.34" - esbuild-linux-arm64 "0.14.34" - esbuild-linux-mips64le "0.14.34" - esbuild-linux-ppc64le "0.14.34" - esbuild-linux-riscv64 "0.14.34" - esbuild-linux-s390x "0.14.34" - esbuild-netbsd-64 "0.14.34" - esbuild-openbsd-64 "0.14.34" - esbuild-sunos-64 "0.14.34" - esbuild-windows-32 "0.14.34" - esbuild-windows-64 "0.14.34" - esbuild-windows-arm64 "0.14.34" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5252,7 +4966,7 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.17.3, express@^4.17.3: +express@4.17.3: version "4.17.3" resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== @@ -5325,6 +5039,43 @@ express@4.18.0: utils-merge "1.0.1" vary "~1.1.2" +express@^4.17.3: + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.0" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.10.3" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + ext@^1.1.2: version "1.6.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" @@ -5545,9 +5296,9 @@ flatted@^3.1.0, flatted@^3.2.5: integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== + version "1.15.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" + integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== font-awesome@^4.7.0: version "4.7.0" @@ -5619,10 +5370,10 @@ fs-extra@3.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8" - integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== +fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -5677,10 +5428,10 @@ furi@^2.0.0: "@types/is-windows" "^1.0.0" is-windows "^1.0.2" -gauge@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.3.tgz#286cf105c1962c659f0963058fb05116c1b82d3f" - integrity sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw== +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== dependencies: aproba "^1.0.3 || ^2.0.0" color-support "^1.1.3" @@ -5845,14 +5596,14 @@ globby@^5.0.0: pinkie-promise "^2.0.0" google-protobuf@^3.6.1: - version "3.19.4" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz#8d32c3e34be9250956f28c0fb90955d13f311888" - integrity sha512-OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg== + version "3.20.1" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.20.1.tgz#1b255c2b59bcda7c399df46c65206aa3c7a0ce8b" + integrity sha512-XMf1+O32FjYIV3CYu6Tuh5PNbfNEU5Xu22X+Xkdb/DUexFlCzhvv7d5Iirm4AOwn8lv4al1YvIhzGrg2j9Zfzw== graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== handle-thing@^2.0.0: version "2.0.1" @@ -5891,15 +5642,10 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" @@ -5911,7 +5657,14 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1, has-symbols@^1.0.2: +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -6045,9 +5798,9 @@ http-proxy-agent@^5.0.0: debug "4" http-proxy-middleware@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" - integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -6078,7 +5831,7 @@ http-status-codes@2.2.0: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== -https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: +https-proxy-agent@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== @@ -6086,7 +5839,7 @@ https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@5.0.1: +https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -6340,15 +6093,22 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-builtin-module@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00" + integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg== + dependencies: + builtin-modules "^3.0.0" + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-core-module@^2.1.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" @@ -6396,7 +6156,7 @@ is-module@^1.0.0: resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= -is-negative-zero@^2.0.1: +is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== @@ -6409,9 +6169,9 @@ is-number-like@^1.0.3: lodash.isfinite "^3.3.2" is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" @@ -6464,10 +6224,12 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" is-stream@^1.0.1: version "1.1.0" @@ -6508,7 +6270,7 @@ is-url@^1.2.4: resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== -is-weakref@^1.0.1: +is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== @@ -6581,9 +6343,9 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -6617,11 +6379,6 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.0.1.tgz#ea4b0495d82155023bd56c25181d9f9b623f61b8" - integrity sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg== - jasmine-core@^4.1.0, jasmine-core@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.0.tgz#2377349b0e8bfd3fbdb36c9e4f09e3b1a17cf5c2" @@ -6657,12 +6414,12 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.0.2.tgz#6f5ff7fbf6b67f56600235fdb7d299ac52876c4b" - integrity sha512-YsrgxJQEggxzByYe4j68eQLOiQeSrPDYGv4sHhGBp3c6HHdq+uPXeAQ73kOAQpdLZ3/0zN7x/TZTloqeE1/qIA== + version "4.1.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.1.0.tgz#0de347ca8bb6cc764b0ed186ae4cfc45bd64bdc4" + integrity sha512-4VhjbUgwfNS9CBnUMoSWr9tdNgOoOhNIjAD8YRxTn+PmOf4qTSC0Uqhk66dWGnz2vJxtNIU0uBjiwnsp4Ud9VA== dependencies: glob "^7.1.6" - jasmine-core "^4.0.0" + jasmine-core "^4.1.0" jasminewd2@^2.1.0: version "2.2.0" @@ -6867,9 +6624,9 @@ jsprim@^1.2.2: verror "1.10.0" jszip@^3.1.3, jszip@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.7.1.tgz#bd63401221c15625a1228c556ca8a68da6fda3d9" - integrity sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg== + version "3.9.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.9.1.tgz#784e87f328450d1e8151003a9c67733e2b901051" + integrity sha512-H9A60xPqJ1CuC4Ka6qxzXZeU8aNmgOeP5IFqwJbQQwtu2EUYxota3LdsiZWplF7Wgd9tkAd0mdu36nceSaPuYw== dependencies: lie "~3.3.0" pako "~1.0.2" @@ -6932,9 +6689,9 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.3.0: - version "6.3.17" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.17.tgz#5d963fb52463b73e1b5892ecb54c8f21bb04ba1d" - integrity sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g== + version "6.3.19" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.19.tgz#e50759667b0b9c6ad758655db0547d3ab4d2abf5" + integrity sha512-NDhWckzES/Y9xMiddyU1RzaKL76/scCsu8Mp0vR0Z3lQRvC3p72+Ab4ppoxs36S9tyPNX5V48yvaV++RNEBPZw== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -6955,7 +6712,7 @@ karma@~6.3.0: qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" - socket.io "^4.2.0" + socket.io "^4.4.1" source-map "^0.6.1" tmp "^0.2.1" ua-parser-js "^0.7.30" @@ -7064,9 +6821,9 @@ lines-and-columns@^1.1.6: integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@3.2.0: version "3.2.0" @@ -7200,15 +6957,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.4" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.4.tgz#c9bc75569f3f40bba22fe1bd0677afa7a6a13bac" - integrity sha512-ncaWPsuw9Vl1CKA406hVnJLGQKy1OHx6buk8J4rE2lVW+NW5Y82G5/DIloO7NkqLOUtNPEANaWC1kZYVjXssPw== + version "6.4.6" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.6.tgz#1878aa3f09973298ecb441345fe9dd714e355c15" + integrity sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw== dependencies: - date-format "^4.0.6" + date-format "^4.0.9" debug "^4.3.4" flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.6" + streamroller "^3.0.8" long@^4.0.0: version "4.0.0" @@ -7238,10 +6995,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.7.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" - integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.9.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.9.0.tgz#29c2a989b6c10f32ceccc66ff44059e1490af3e1" + integrity sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw== lru-queue@^0.1.0: version "0.1.0" @@ -7297,9 +7054,9 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: - version "10.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.0.tgz#7232ef7002a635c04d4deac325df144f21871408" - integrity sha512-HeP4QlkadP/Op+hE+Une1070kcyN85FshQObku3/rmzRh4zDcKXA19d2L3AQR6UoaX3uZmhSOpTLH15b1vOFvQ== + version "10.1.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz#acffef43f86250602b932eecc0ad3acc992ae233" + integrity sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew== dependencies: agentkeepalive "^4.2.1" cacache "^16.0.2" @@ -7316,7 +7073,7 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: negotiator "^0.6.3" promise-retry "^2.0.1" socks-proxy-agent "^6.1.1" - ssri "^8.0.1" + ssri "^9.0.0" marked@4.0.14: version "4.0.14" @@ -7585,10 +7342,10 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557" - integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA== +nanoid@^3.3.1, nanoid@^3.3.3: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== natural-compare@^1.4.0: version "1.4.0" @@ -7685,14 +7442,14 @@ node-fetch@^1.0.1: is-stream "^1.0.1" node-forge@^1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.0.tgz#37a874ea723855f37db091e6c186e5b67a01d4b2" - integrity sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA== + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp-build@^4.2.2: - version "4.3.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" - integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== node-gyp@^9.0.0: version "9.0.0" @@ -7710,11 +7467,6 @@ node-gyp@^9.0.0: tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== - node-releases@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" @@ -7772,13 +7524,6 @@ npm-bundled@^1.1.1, npm-bundled@^1.1.2: dependencies: npm-normalize-package-bin "^1.0.1" -npm-install-checks@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-4.0.0.tgz#a37facc763a2fde0497ef2c6d0ac7c3fbe00d7b4" - integrity sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== - dependencies: - semver "^7.1.1" - npm-install-checks@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" @@ -7791,7 +7536,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.2: +npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: version "9.0.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== @@ -7800,26 +7545,17 @@ npm-package-arg@9.0.2: semver "^7.3.5" validate-npm-package-name "^4.0.0" -npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.1.tgz#db9c6379c45d79db88ee6dd40d3ec6a9d9a4d13a" - integrity sha512-Xs9wznfEAmZAR61qsYH3iN24V/qMYYkvAR5CRQNMvC6PjN2fHtO8y9XP/xdp5K+Icx+u1wMBMgWRPCmAEChSog== - dependencies: - hosted-git-info "^5.0.0" - semver "^7.3.5" - validate-npm-package-name "^3.0.0" - npm-packlist@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.0.tgz#74795ebbbf91bd5a2db6ecff4d6fe1f1c1a07e11" - integrity sha512-uU20UwM4Hogfab1Q7htJbhcyafM9lGHxOrDjkKvR2S3z7Ds0uRaESk0cXctczk+ABT4DZWNwjB10xlurFdEwZg== + version "5.0.2" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.2.tgz#a5eb2503faec92ad6853a2bbb2231dced6cfc549" + integrity sha512-jLhcNisUgpz6v2KC75qSeEYAM8UBMYjQ2OhlCOJjB4Ovu7XXnD25UqZ6hOQNeGShL/2ju3LL2E/zBbsuzkIQ8w== dependencies: - glob "^7.2.0" + glob "^8.0.1" ignore-walk "^5.0.1" npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@7.0.1: +npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== @@ -7829,20 +7565,10 @@ npm-pick-manifest@7.0.1: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-pick-manifest@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.0.tgz#e3b18b09678a47e894f90941bef8204ea5d96c3b" - integrity sha512-njM1AcdioFaKd0JSGtLO09YA1WRwctjGQJbnHGmKS+u+uwP8oFvtZtOQWPYdxrnY5eJud3wn8OpH4sEIx6+GEQ== - dependencies: - npm-install-checks "^4.0.0" - npm-normalize-package-bin "^1.0.1" - npm-package-arg "^9.0.0" - semver "^7.3.5" - npm-registry-fetch@^13.0.1: - version "13.1.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.0.tgz#71bed52e30a4b27441604bbba79c7db8e0e34cb5" - integrity sha512-TIYL5X8CcwDhbFMXFDShNcpG6OMCYK6VzvSr6MUWP20tCU2DJ4ao2qQg3DT+3Pet8mO6/cgbZpon4LMh3duYLg== + version "13.1.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.1.tgz#26dc4b26d0a545886e807748032ba2aefaaae96b" + integrity sha512-5p8rwe6wQPLJ8dMqeTnA57Dp9Ox6GH9H60xkyJup07FmVlu3Mk7pf/kIIpl9gaN5bM8NM+UUx3emUWvDNTt39w== dependencies: make-fetch-happen "^10.0.6" minipass "^3.1.6" @@ -7860,13 +7586,13 @@ npm-run-path@^4.0.1: path-key "^3.0.0" npmlog@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.1.tgz#06f1344a174c06e8de9c6c70834cfba2964bba17" - integrity sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== dependencies: are-we-there-yet "^3.0.0" console-control-strings "^1.1.0" - gauge "^4.0.0" + gauge "^4.0.3" set-blocking "^2.0.0" nth-check@^2.0.1: @@ -7891,7 +7617,7 @@ object-assign@^4, object-assign@^4.0.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.11.0, object-inspect@^1.9.0: +object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== @@ -7901,7 +7627,7 @@ object-inspect@~1.4.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" integrity sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw== -object-keys@^1.0.12, object-keys@^1.0.6, object-keys@^1.1.1: +object-keys@^1.0.6, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -8091,11 +7817,11 @@ p-map@^4.0.0: aggregate-error "^3.0.0" p-retry@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c" - integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA== + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: - "@types/retry" "^0.12.0" + "@types/retry" "0.12.0" retry "^0.13.1" p-try@^1.0.0: @@ -8209,16 +7935,6 @@ parse5@^6.0.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parseqs@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" - integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== - -parseuri@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" - integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== - parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -8441,14 +8157,7 @@ postcss-custom-media@^8.0.0: resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^12.1.5: - version "12.1.5" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.5.tgz#e669cfff89b0ea6fc85c45864a32b450cb6b196f" - integrity sha512-FHbbB/hRo/7cxLGkc2NS7cDRIDN1oFqQnUKBiyh4b/gwk8DD8udvmRDpUhEK836kB8ggUCieHVOvZDnF9XhI3g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.7: +postcss-custom-properties@^12.1.5, postcss-custom-properties@^12.1.7: version "12.1.7" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz#ca470fd4bbac5a87fd868636dafc084bc2a78b41" integrity sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg== @@ -8529,15 +8238,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.2.tgz#b75afe43ba9c1f16bfe9bb12c8109cabd55b5fc2" - integrity sha512-isudf5ldhg4fk16M8viAwAbg6Gv14lVO35N3Z/49NhbwPQ2xbiEoHgrRgpgQojosF4vF7jY653ktB6dDrUOR8Q== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-lab-function@^4.2.0: +postcss-lab-function@^4.1.2, postcss-lab-function@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz#e054e662c6480202f5760887ec1ae0d153357123" integrity sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w== @@ -8592,14 +8293,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.3: - version "10.1.3" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.3.tgz#f0b1cd7ae675c697ab6a5a5ca1feea4784a2ef77" - integrity sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-nesting@^10.1.4: +postcss-nesting@^10.1.3, postcss-nesting@^10.1.4: version "10.1.4" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.4.tgz#80de9d1c2717bc44df918dd7f118929300192a7a" integrity sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA== @@ -8628,7 +8322,7 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.4.3, postcss-preset-env@^7.4.2: +postcss-preset-env@7.4.3: version "7.4.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.3.tgz#fb1c8b4cb405da042da0ddb8c5eda7842c08a449" integrity sha512-dlPA65g9KuGv7YsmGyCKtFkZKCPLkoVMUE3omOl6yM+qrynVHxFvf0tMuippIrXB/sB/MyhL1FgTIbrO+qMERg== @@ -8726,14 +8420,58 @@ postcss-preset-env@7.4.4: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" - integrity sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg== +postcss-preset-env@^7.4.2: + version "7.5.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz#0c1f23933597d55dab4a90f61eda30b76e710658" + integrity sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ== dependencies: - postcss-selector-parser "^6.0.9" + "@csstools/postcss-color-function" "^1.1.0" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.2" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.0" + "@csstools/postcss-unset-value" "^1.0.0" + autoprefixer "^10.4.6" + browserslist "^4.20.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.6.1" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.7" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.4" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.2" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.2: +postcss-pseudo-class-any-link@^7.1.1, postcss-pseudo-class-any-link@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz#81ec491aa43f97f9015e998b7a14263b4630bdf0" integrity sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w== @@ -8752,7 +8490,7 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" -postcss-selector-parser@^6.0.10: +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: version "6.0.10" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== @@ -8760,14 +8498,6 @@ postcss-selector-parser@^6.0.10: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" - integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - postcss-url@^10.1.3: version "10.1.3" resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-10.1.3.tgz#54120cc910309e2475ec05c2cfa8f8a2deafdf1e" @@ -8791,7 +8521,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.12, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.12: version "8.4.12" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== @@ -8800,6 +8530,15 @@ postcss@8.4.12, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: + version "8.4.13" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" + integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA== + dependencies: + nanoid "^3.3.3" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8815,16 +8554,11 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha1-mUsCqkb2mcULYle1+qp/4lV+YtY= -prettier@2.6.2: +prettier@2.6.2, prettier@^2.0.0: version "2.6.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== -prettier@^2.0.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" - integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== - pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -8838,9 +8572,9 @@ pretty-ms@^7.0.1: parse-ms "^2.1.0" proc-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.0.tgz#25f8cb346a5d08e27f2422b3ca6ba8379bcbf8ba" - integrity sha512-I/35MfCX2H8jBUhKN8JB8nmqvQo/nKdrBodBY7L3RhDSPPyvOHwLYNmPuhwuJq7a7C3vgFKWGQM+ecPStcvOHA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== process-nextick-args@~1.0.6: version "1.0.7" @@ -9120,11 +8854,11 @@ read-package-json@^2.0.0: npm-normalize-package-bin "^1.0.0" read-package-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.0.tgz#d62602755547e152a3923c220238d9a7f0b60745" - integrity sha512-1cjk2MV5ONDMn34uxSID3X8NY7VKsXfJnjbcVdFMvHEnJOBzU6MJ7/3yg6QFVZDq5/1yFNrKBUK9kGnonyGP2Q== + version "5.0.1" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" + integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== dependencies: - glob "^7.2.0" + glob "^8.0.1" json-parse-even-better-errors "^2.3.1" normalize-package-data "^4.0.0" npm-normalize-package-bin "^1.0.1" @@ -9210,10 +8944,10 @@ regenerator-runtime@0.13.9, regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== +regenerator-transform@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" + integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== dependencies: "@babel/runtime" "^7.8.4" @@ -9450,9 +9184,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.70.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.1.tgz#824b1f1f879ea396db30b0fc3ae8d2fead93523e" - integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== + version "2.71.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.71.1.tgz#82b259af7733dfd1224a8171013aaaad02971a22" + integrity sha512-lMZk3XfUBGjrrZQpvPSoXcZSfKcJ2Bgn+Z0L1MoW2V8Wh7BVM+LOBJTPo16yul2MwL59cXedzW1ruq3rCjSRgw== optionalDependencies: fsevents "~2.3.2" @@ -9526,7 +9260,7 @@ sass@1.50.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.51.0: +sass@1.51.0, sass@^1.49.9: version "1.51.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" integrity sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA== @@ -9535,17 +9269,9 @@ sass@1.51.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.49.9: - version "1.49.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" - integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -9641,7 +9367,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.7: +semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -9653,13 +9379,6 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -9859,22 +9578,20 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socket.io-adapter@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz#4d6111e4d42e9f7646e365b4f578269821f13486" - integrity sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ== +socket.io-adapter@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" + integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== socket.io-client@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.4.1.tgz#b6aa9448149d09b8d0b2bbf3d2fac310631fdec9" - integrity sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.0.tgz#3858b6183bab31c5c4eaf3efd0fa50840ebb4504" + integrity sha512-HW61c1G7OrYGxaI79WRn17+b03iBCdvhBj4iqyXHBoL5M8w2MSO/vChsjA93knG4GYEai1/vbXWJna9dzxXtSg== dependencies: - "@socket.io/component-emitter" "~3.0.0" - backo2 "~1.0.2" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" - engine.io-client "~6.1.1" - parseuri "0.0.6" - socket.io-parser "~4.1.1" + engine.io-client "~6.2.1" + socket.io-parser "~4.2.0" socket.io-parser@~4.0.4: version "4.0.4" @@ -9885,24 +9602,24 @@ socket.io-parser@~4.0.4: component-emitter "~1.3.0" debug "~4.3.1" -socket.io-parser@~4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.1.2.tgz#0a97d4fb8e67022158a568450a6e41887e42035e" - integrity sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog== +socket.io-parser@~4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.0.tgz#3f01e5bc525d94aa52a97ed5cbc12e229bbc4d6b" + integrity sha512-tLfmEwcEwnlQTxFB7jibL/q2+q8dlVQzj4JdRLJ/W/G1+Fu9VSxCx1Lo+n1HvXxKnM//dUuD0xgiA7tQf57Vng== dependencies: - "@socket.io/component-emitter" "~3.0.0" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" -socket.io@^4.2.0, socket.io@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.1.tgz#cd6de29e277a161d176832bb24f64ee045c56ab8" - integrity sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg== +socket.io@^4.4.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.0.tgz#78ae2e84784c29267086a416620c18ef95b37186" + integrity sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA== dependencies: accepts "~1.3.4" base64id "~2.0.0" debug "~4.3.2" - engine.io "~6.1.0" - socket.io-adapter "~2.3.3" + engine.io "~6.2.0" + socket.io-adapter "~2.4.0" socket.io-parser "~4.0.4" sockjs@^0.3.21: @@ -9915,15 +9632,15 @@ sockjs@^0.3.21: websocket-driver "^0.7.4" socks-proxy-agent@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" - integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== + version "6.2.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz#f6b5229cc0cbd6f2f202d9695f09d871e951c85e" + integrity sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ== dependencies: agent-base "^6.0.2" - debug "^4.3.1" - socks "^2.6.1" + debug "^4.3.3" + socks "^2.6.2" -socks@^2.6.1: +socks@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== @@ -10112,13 +9829,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - ssri@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.0.tgz#70ad90e339eb910f1a7ff1dcf4afc268326c4547" @@ -10193,14 +9903,14 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.6.tgz#52823415800ded79a49aa3f7712f50a422b97493" - integrity sha512-Qz32plKq/MZywYyhEatxyYc8vs994Gz0Hu2MSYXXLD233UyPeIeRBZARIIGwFer4Mdb8r3Y2UqKkgyDghM6QCg== +streamroller@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.8.tgz#84b190e4080ee311ca1ebe0444e30ac8eedd028d" + integrity sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg== dependencies: - date-format "^4.0.6" + date-format "^4.0.9" debug "^4.3.4" - fs-extra "^10.0.1" + fs-extra "^10.1.0" string-argv@~0.3.1: version "0.3.1" @@ -10217,20 +9927,22 @@ string-argv@~0.3.1: strip-ansi "^6.0.1" string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.19.5" string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.19.5" string_decoder@^1.1.1: version "1.3.0" @@ -10398,7 +10110,7 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.12.1, terser@^5.7.2: +terser@5.12.1: version "5.12.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== @@ -10418,6 +10130,16 @@ terser@5.13.0: source-map "~0.8.0-beta.0" source-map-support "~0.5.20" +terser@^5.7.2: + version "5.13.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799" + integrity sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.8.0-beta.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10595,12 +10317,12 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.3.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: +tslib@2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@2.4.0: +tslib@2.4.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== @@ -10635,9 +10357,9 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= typanion@^3.3.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.7.1.tgz#5fceb57a2fa0c0a5beca25a7e90ac2a420863709" - integrity sha512-g2QDI/ZLpuEor9EnJ1b7s9S2QSJgNCPBw9ZCSkQdqXNjg5ZQs4mASgW/elVifSxISFwBeMaIAmMBP5luAOIKAw== + version "3.8.0" + resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.8.0.tgz#e23c93df92e46fbc8c0dab13135bf40f47352bb7" + integrity sha512-r9rEMpvF4pnu2DuYuC//ctH7I83bdx+Psvi1GO68w4942OmFiH56+5YS9vsEe2+9ipFPOnBHW0Z2z5/nGz5jTg== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -10691,16 +10413,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.4: +typescript@4.6.4, typescript@~4.6.2, typescript@~4.6.3: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== -typescript@~4.6.2, typescript@~4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== - ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" @@ -10712,18 +10429,18 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz#9aa82ca22419ba4c0137642ba0df800cb06e0471" - integrity sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg== + version "3.15.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz#fa95c257e88f85614915b906204b9623d4fa340d" + integrity sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA== unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" unbzip2-stream@1.4.3: @@ -10807,9 +10524,9 @@ uri-js@^4.2.2: punycode "^2.1.0" urijs@^1.19.1: - version "1.19.10" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.10.tgz#8e2fe70a8192845c180f75074884278f1eea26cb" - integrity sha512-EzauQlgKuJgsXOqoMrCiePBf4At5jVqRhXykF3Wfb8ZsOBMxPcfiVBcsHXug4Aepb/ICm2PIgqAUGMelgdrWEg== + version "1.19.11" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" + integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" @@ -10837,9 +10554,9 @@ uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache-lib@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" - integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-compile-cache@^2.0.3: version "2.3.0" @@ -10863,13 +10580,6 @@ validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - validate-npm-package-name@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" @@ -11274,11 +10984,16 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@8.5.0, ws@>=7.4.6, ws@^8.4.2: +ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== +ws@>=7.4.6, ws@^8.4.2: + version "8.6.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23" + integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw== + ws@^7.0.0: version "7.5.7" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" @@ -11385,7 +11100,7 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.4.1: +yargs@17.4.1, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: version "17.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== @@ -11428,19 +11143,6 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" - integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" @@ -11449,11 +11151,6 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= - yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" @@ -11465,15 +11162,15 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== z-schema@~5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.2.tgz#f410394b2c9fcb9edaf6a7511491c0bb4e89a504" - integrity sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw== + version "5.0.3" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.3.tgz#68fafb9b735fc7f3c89eabb3e5a6353b4d7b4935" + integrity sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw== dependencies: lodash.get "^4.4.2" lodash.isequal "^4.5.0" validator "^13.7.0" optionalDependencies: - commander "^2.7.1" + commander "^2.20.3" zone.js@^0.11.3: version "0.11.5" From 02269a6b68220fad15c1b9fb6edae2f4104715ae Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 May 2022 15:25:16 -0400 Subject: [PATCH 0354/1388] docs: release notes for the v13.3.5 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a9f28f3d8aa..8bc602d4ee6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.3.5 (2022-05-04) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- | +| [6da0910d3](https://github.com/angular/angular-cli/commit/6da0910d345eb84084e32a462432a508d518f402) | fix | update `@ampproject/remapping` to `2.2.0` | + +## Special Thanks + +Alan Agius, Charles Lyding and Paul Gschwendtner + + + # 14.0.0-next.12 (2022-04-27) From 729a0462d93c85a63a9daf007f8e42bdc3719c51 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 May 2022 16:36:48 -0400 Subject: [PATCH 0355/1388] release: bump the next branch to v14.1.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d6d18a61f9c6..47585805cd36 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.0.0-next.12", + "version": "14.1.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From 0b71aceb6309271c718c2a21b1fe3de2fc7d1a3d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 May 2022 16:36:50 -0400 Subject: [PATCH 0356/1388] docs: release notes for the v14.0.0-next.13 release --- CHANGELOG.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bc602d4ee6b..f734fe1248e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,54 @@ + + +# 14.0.0-next.13 (2022-05-04) + +## Breaking Changes + +### @angular-devkit/schematics + +- Schematics `NodePackageInstallTask` will not execute package scripts by default + The `NodePackageInstallTask` will now use the package manager's `--ignore-scripts` option by default. + The `--ignore-scripts` option will prevent package scripts from executing automatically during an install. + If a schematic installs packages that need their `install`/`postinstall` scripts to be executed, the + `NodePackageInstallTask` now contains an `allowScripts` boolean option which can be enabled to provide the + previous behavior for that individual task. As with previous behavior, the `allowScripts` option will + prevent the individual task's usage of the `--ignore-scripts` option but will not override the package + manager's existing configuration. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | +| [3fa38b08b](https://github.com/angular/angular-cli/commit/3fa38b08ba8ef57a6079873223a7d6088d5ea64e) | feat | introduce `addDependency` rule to utilities | +| [b07ccfbb1](https://github.com/angular/angular-cli/commit/b07ccfbb1b2045d285c23dd4b654e1380892fcb2) | feat | introduce a utility subpath export for Angular rules and utilities | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------------------- | +| [4212fb8de](https://github.com/angular/angular-cli/commit/4212fb8de2f4f3e80831a0803acc5fc6e54db1e1) | feat | add prompt to set up CLI autocompletion | +| [fb0622893](https://github.com/angular/angular-cli/commit/fb06228932299870774a7b254f022573f5d8175f) | feat | don't prompt to set up autocompletion for `ng update` and `ng completion` commands | +| [022d8c7bb](https://github.com/angular/angular-cli/commit/022d8c7bb142e8b83f9805a39bc1ae312da465eb) | feat | make `ng completion` set up CLI autocompletion by modifying `.bashrc` files | +| [2e15df941](https://github.com/angular/angular-cli/commit/2e15df9417dcc47b12785a8c4c9074bf05d0450c) | feat | remember after prompting users to set up autocompletion and don't prompt again | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------- | +| [0e6425fd8](https://github.com/angular/angular-cli/commit/0e6425fd88ea32679516251efdca6ff07cc4b56a) | feat | disable package script execution by default in `NodePackageInstallTask` | + +### @angular/pwa + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [243cb4062](https://github.com/angular/angular-cli/commit/243cb40622fef4107b0162bc7b6a374471cebc14) | fix | remove `@schematics/angular` utility deep import usage | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Paul Gschwendtner and Pawel Kozlowski + + + # 13.3.5 (2022-05-04) From 3ab1142983753e806baefc6b40a4690a9aa8010f Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 3 May 2022 17:54:21 -0700 Subject: [PATCH 0357/1388] fix(@angular/cli): improve error message for Windows autocompletion use cases Windows Cmd and Powershell don't support autocompletion, but it can be done with utilities like Windows Subsystem for Linux and Git Bash, which should "just work" due to emulating a Linux environment. This clarifies the error message most users will see to call out the state of the world with regard to autocompletion on Windows platforms. --- .../angular/cli/src/utilities/completion.ts | 6 ++-- .../e2e/tests/misc/completion-prompt.ts | 30 +++++++++++++++++-- tests/legacy-cli/e2e/tests/misc/completion.ts | 26 ++++++++++++++-- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index 42c006db08ad..546f962543d4 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -193,7 +193,9 @@ export async function initializeAutocomplete(): Promise { if (!shell) { throw new Error( '`$SHELL` environment variable not set. Angular CLI autocompletion only supports Bash or' + - ' Zsh.', + " Zsh. If you're on Windows, Cmd and Powershell don't support command autocompletion," + + ' but Git Bash or Windows Subsystem for Linux should work, so please try again in one of' + + ' those environments.', ); } const home = env['HOME']; @@ -234,7 +236,7 @@ export async function initializeAutocomplete(): Promise { return rcFile; } -/** Returns an ordered list of possibile candidates of RC files used by the given shell. */ +/** Returns an ordered list of possible candidates of RC files used by the given shell. */ function getShellRunCommandCandidates(shell: string, home: string): string[] | undefined { if (shell.toLowerCase().includes('bash')) { return ['.bashrc', '.bash_profile', '.profile'].map((file) => path.join(home, file)); diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts index d6ce1c00a56a..2fd74de20bcd 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts @@ -19,6 +19,13 @@ const DEFAULT_ENV = Object.freeze({ }); export default async function () { + // Windows Cmd and Powershell do not support autocompletion. Run a different set of tests to + // confirm autocompletion skips the prompt appropriately. + if (process.platform === 'win32') { + await windowsTests(); + return; + } + // Sets up autocompletion after user accepts a prompt from any command. await mockHome(async (home) => { const bashrc = path.join(home, '.bashrc'); @@ -42,7 +49,7 @@ export default async function () { const bashrcContents = await fs.readFile(bashrc, 'utf-8'); if (!bashrcContents.includes('source <(ng completion script)')) { throw new Error( - 'Autocompletion was *not* added to `~/.bashrc` after accepting the setup' + ' prompt.', + 'Autocompletion was *not* added to `~/.bashrc` after accepting the setup prompt.', ); } @@ -74,13 +81,13 @@ export default async function () { const bashrcContents = await fs.readFile(bashrc, 'utf-8'); if (bashrcContents.includes('ng completion')) { throw new Error( - 'Autocompletion was incorrectly added to `~/.bashrc` after refusing the setup' + ' prompt.', + 'Autocompletion was incorrectly added to `~/.bashrc` after refusing the setup prompt.', ); } if (stdout.includes('Appended `source <(ng completion script)`')) { throw new Error( - 'CLI printed that it successfully set up autocompletion when it actually' + " didn't.", + "CLI printed that it successfully set up autocompletion when it actually didn't.", ); } @@ -363,6 +370,23 @@ source <(ng completion script) }); } +async function windowsTests(): Promise { + // Should *not* prompt on Windows, autocompletion isn't supported. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, `# Other content...`); + + const { stdout } = await execWithEnv('ng', ['version'], { ...env }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error( + 'Execution prompted to set up autocompletion on Windows despite not actually being' + + ' supported.', + ); + } + }); +} + async function mockHome(cb: (home: string) => Promise): Promise { const tempHome = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-e2e-home-')); diff --git a/tests/legacy-cli/e2e/tests/misc/completion.ts b/tests/legacy-cli/e2e/tests/misc/completion.ts index 52e6bf18ad90..f7ce6243fa8e 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion.ts @@ -4,6 +4,14 @@ import * as path from 'path'; import { execAndCaptureError, execAndWaitForOutputToMatch } from '../../utils/process'; export default async function () { + // Windows Cmd and Powershell do not support autocompletion. Run a different set of tests to + // confirm autocompletion fails gracefully. + if (process.platform === 'win32') { + await windowsTests(); + + return; + } + // Generates new `.bashrc` file. await mockHome(async (home) => { await execAndWaitForOutputToMatch( @@ -302,25 +310,37 @@ source <(ng completion script) } // Fails for no `$SHELL`. - { + await mockHome(async (home) => { const err = await execAndCaptureError('ng', ['completion'], { ...process.env, SHELL: undefined, + HOME: home, }); if (!err.message.includes('`$SHELL` environment variable not set.')) { throw new Error(`Expected unset \`$SHELL\` error message, but got:\n\n${err.message}`); } - } + }); // Fails for unknown `$SHELL`. - { + await mockHome(async (home) => { const err = await execAndCaptureError('ng', ['completion'], { ...process.env, SHELL: '/usr/bin/unknown', + HOME: home, }); if (!err.message.includes('Unknown `$SHELL` environment variable')) { throw new Error(`Expected unknown \`$SHELL\` error message, but got:\n\n${err.message}`); } + }); +} + +async function windowsTests(): Promise { + // Should fail with a clear error message. + const err = await execAndCaptureError('ng', ['completion']); + if (!err.message.includes("Cmd and Powershell don't support command autocompletion")) { + throw new Error( + `Expected Windows autocompletion to fail with custom error, but got:\n\n${err.message}`, + ); } } From 8bdf1a891d3c2cc6ca0fce49fd41731d99f7b61e Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 4 May 2022 12:08:08 -0700 Subject: [PATCH 0358/1388] build: run prettier on legacy-cli e2e files --- tests/legacy-cli/e2e/setup/100-global-cli.ts | 9 +- .../e2e/setup/200-create-tmp-dir.ts | 2 +- .../e2e/setup/300-log-environment.ts | 4 +- tests/legacy-cli/e2e/tests/basic/aot.ts | 6 +- .../legacy-cli/e2e/tests/basic/environment.ts | 3 +- .../e2e/tests/basic/in-project-logic.ts | 23 +-- .../e2e/tests/basic/size-tracking.ts | 23 ++- tests/legacy-cli/e2e/tests/build/allow-js.ts | 11 +- tests/legacy-cli/e2e/tests/build/assets.ts | 6 +- .../legacy-cli/e2e/tests/build/barrel-file.ts | 2 +- tests/legacy-cli/e2e/tests/build/base-href.ts | 8 +- .../e2e/tests/build/build-errors.ts | 16 +- .../e2e/tests/build/build-optimizer.ts | 9 +- .../e2e/tests/build/bundle-budgets.ts | 6 +- .../legacy-cli/e2e/tests/build/chunk-hash.ts | 77 +++++--- .../e2e/tests/build/config-file-fallback.ts | 7 +- .../e2e/tests/build/delete-output-path.ts | 30 ++-- .../e2e/tests/build/extract-licenses.ts | 2 +- tests/legacy-cli/e2e/tests/build/jit-prod.ts | 3 +- tests/legacy-cli/e2e/tests/build/json.ts | 2 +- .../e2e/tests/build/no-angular-router.ts | 9 +- .../e2e/tests/build/no-entry-module.ts | 8 +- .../e2e/tests/build/no-sourcemap.ts | 14 +- .../legacy-cli/e2e/tests/build/output-dir.ts | 23 +-- tests/legacy-cli/e2e/tests/build/poll.ts | 7 +- .../e2e/tests/build/rebuild-css-change.ts | 29 ++-- .../tests/build/rebuild-deps-type-check.ts | 157 ++++++++++------- .../e2e/tests/build/rebuild-error.ts | 164 ++++++++++-------- .../e2e/tests/build/rebuild-ngfactories.ts | 103 ++++++----- .../e2e/tests/build/rebuild-types.ts | 5 +- .../e2e/tests/build/relative-sourcemap.ts | 9 +- .../tests/build/styles/empty-style-urls.ts | 19 +- .../tests/build/styles/symlinked-global.ts | 12 +- .../e2e/tests/build/subresource-integrity.ts | 5 +- .../e2e/tests/build/vendor-chunk.ts | 1 - .../e2e/tests/commands/add/add-material.ts | 12 +- .../e2e/tests/commands/add/add-version.ts | 1 - .../legacy-cli/e2e/tests/commands/add/add.ts | 1 - .../legacy-cli/e2e/tests/commands/add/base.ts | 3 +- .../legacy-cli/e2e/tests/commands/add/dir.ts | 1 - .../legacy-cli/e2e/tests/commands/add/file.ts | 1 - .../legacy-cli/e2e/tests/commands/add/peer.ts | 14 +- .../e2e/tests/commands/build/build-outdir.ts | 18 +- .../tests/commands/config/config-global.ts | 11 +- .../commands/config/config-set-enum-check.ts | 27 ++- .../commands/config/config-set-prefix.ts | 4 +- .../commands/config/config-set-serve-port.ts | 2 +- .../e2e/tests/commands/serve/reload-shims.ts | 2 +- .../e2e/tests/commands/serve/serve-path.ts | 28 +-- .../tests/commands/unknown-configuration.ts | 4 +- .../generate/application/application-basic.ts | 3 +- tests/legacy-cli/e2e/tests/generate/class.ts | 23 +-- .../generate/component/component-basic.ts | 32 ++-- .../generate/component/component-flag-case.ts | 39 +++-- .../generate/component/component-flat.ts | 43 ++--- .../component/component-inline-template.ts | 45 ++--- .../generate/component/component-module-2.ts | 36 ++-- .../component/component-module-export.ts | 21 ++- .../component/component-module-fail.ts | 15 +- .../generate/component/component-module.ts | 39 +++-- .../generate/component/component-not-flat.ts | 43 ++--- .../generate/component/component-path-case.ts | 2 +- .../generate/component/component-prefix.ts | 41 +++-- .../generate/directive/directive-basic.ts | 21 +-- .../directive/directive-module-export.ts | 21 ++- .../directive/directive-module-fail.ts | 14 +- .../generate/directive/directive-module.ts | 39 +++-- .../generate/directive/directive-prefix.ts | 79 +++++---- .../e2e/tests/generate/generate-error.ts | 13 +- .../e2e/tests/generate/generate-name-check.ts | 41 +++-- .../e2e/tests/generate/generate-name-error.ts | 13 +- .../e2e/tests/generate/guard/guard-basic.ts | 9 +- .../tests/generate/guard/guard-implements.ts | 9 +- .../guard/guard-multiple-implements.ts | 14 +- .../generate/help-output-no-duplicates.ts | 4 +- .../generate/interceptor/interceptor-basic.ts | 23 +-- .../e2e/tests/generate/interface.ts | 21 +-- .../e2e/tests/generate/module/module-basic.ts | 29 ++-- .../tests/generate/module/module-import.ts | 68 +++++--- .../module/module-routing-child-folder.ts | 24 ++- .../tests/generate/module/module-routing.ts | 27 +-- .../e2e/tests/generate/pipe/pipe-basic.ts | 22 +-- .../tests/generate/pipe/pipe-module-export.ts | 19 +- .../tests/generate/pipe/pipe-module-fail.ts | 13 +- .../e2e/tests/generate/pipe/pipe-module.ts | 31 ++-- .../tests/generate/service/service-basic.ts | 23 +-- .../e2e/tests/i18n/extract-ivy-libraries.ts | 2 +- .../e2e/tests/i18n/ivy-localize-hashes.ts | 2 +- .../tests/i18n/ivy-localize-locale-data.ts | 20 ++- .../tests/i18n/ivy-localize-sourcelocale.ts | 4 +- tests/legacy-cli/e2e/tests/misc/coverage.ts | 44 ++--- .../tests/misc/dedupe-duplicate-modules.ts | 20 ++- tests/legacy-cli/e2e/tests/misc/e2e-host.ts | 2 +- .../e2e/tests/misc/es2015-nometa.ts | 7 +- tests/legacy-cli/e2e/tests/misc/fallback.ts | 63 ++++--- .../e2e/tests/misc/forwardref-es2015.ts | 10 +- .../e2e/tests/misc/karma-error-paths.ts | 4 +- .../legacy-cli/e2e/tests/misc/lazy-module.ts | 124 +++++++------ .../e2e/tests/misc/loaders-resolution.ts | 2 +- .../e2e/tests/misc/module-resolution.ts | 32 ++-- .../misc/non-relative-module-resolution.ts | 6 +- tests/legacy-cli/e2e/tests/misc/npm-audit.ts | 3 +- .../legacy-cli/e2e/tests/misc/ssl-default.ts | 13 +- .../e2e/tests/misc/ssl-with-cert.ts | 29 ++-- .../e2e/tests/misc/supported-angular.ts | 1 - .../misc/target-default-configuration.ts | 4 +- tests/legacy-cli/e2e/tests/misc/title.ts | 9 +- .../e2e/tests/misc/trace-resolution.ts | 4 +- .../misc/universal-bundle-dependencies.ts | 4 +- .../misc/update-git-clean-subdirectory.ts | 4 +- .../e2e/tests/misc/update-git-clean.ts | 4 +- .../e2e/tests/misc/workspace-verification.ts | 21 +-- .../e2e/tests/schematics_cli/basic.ts | 7 +- .../e2e/tests/schematics_cli/blank-test.ts | 6 +- .../tests/schematics_cli/schematic-test.ts | 6 +- .../e2e/tests/test/test-fail-single-run.ts | 6 +- .../e2e/tests/test/test-fail-watch.ts | 32 ++-- .../e2e/tests/test/test-sourcemap.ts | 19 +- .../legacy-cli/e2e/tests/test/test-target.ts | 12 +- tests/legacy-cli/e2e/utils/env.ts | 3 +- tests/legacy-cli/e2e/utils/git.ts | 26 +-- tests/legacy-cli/e2e/utils/utils.ts | 14 +- tests/legacy-cli/e2e/utils/version.ts | 5 +- 123 files changed, 1380 insertions(+), 1096 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/100-global-cli.ts b/tests/legacy-cli/e2e/setup/100-global-cli.ts index 8c7a1d151b05..ce96a91f258e 100644 --- a/tests/legacy-cli/e2e/setup/100-global-cli.ts +++ b/tests/legacy-cli/e2e/setup/100-global-cli.ts @@ -1,7 +1,7 @@ import { getGlobalVariable } from '../utils/env'; import { exec, silentNpm } from '../utils/process'; -export default async function() { +export default async function () { const argv = getGlobalVariable('argv'); if (argv.noglobal) { return; @@ -10,12 +10,7 @@ export default async function() { const testRegistry = getGlobalVariable('package-registry'); // Install global Angular CLI. - await silentNpm( - 'install', - '--global', - '@angular/cli', - `--registry=${testRegistry}`, - ); + await silentNpm('install', '--global', '@angular/cli', `--registry=${testRegistry}`); try { await exec(process.platform.startsWith('win') ? 'where' : 'which', 'ng'); diff --git a/tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts b/tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts index ae4b16ebec6d..ba2a811a580d 100644 --- a/tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts +++ b/tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts @@ -3,7 +3,7 @@ import { tmpdir } from 'os'; import { dirname, join } from 'path'; import { getGlobalVariable, setGlobalVariable } from '../utils/env'; -export default function() { +export default function () { const argv = getGlobalVariable('argv'); // Get to a temporary directory. diff --git a/tests/legacy-cli/e2e/setup/300-log-environment.ts b/tests/legacy-cli/e2e/setup/300-log-environment.ts index ab60477ba4ca..c2d0e6a8edf9 100644 --- a/tests/legacy-cli/e2e/setup/300-log-environment.ts +++ b/tests/legacy-cli/e2e/setup/300-log-environment.ts @@ -1,9 +1,9 @@ import { ng, node, npm } from '../utils/process'; -export default async function() { +export default async function () { console.log('Environment:'); - Object.keys(process.env).forEach(envName => { + Object.keys(process.env).forEach((envName) => { // CI Logs should not contain environment variables that are considered secret const lowerName = envName.toLowerCase(); if (lowerName.includes('key') || lowerName.includes('secret')) { diff --git a/tests/legacy-cli/e2e/tests/basic/aot.ts b/tests/legacy-cli/e2e/tests/basic/aot.ts index 58b12b2352f9..ad77a0e78999 100644 --- a/tests/legacy-cli/e2e/tests/basic/aot.ts +++ b/tests/legacy-cli/e2e/tests/basic/aot.ts @@ -3,6 +3,8 @@ import { ng } from '../../utils/process'; export default async function () { await ng('build', '--aot=true', '--configuration=development'); - await expectFileToMatch('dist/test-project/main.js', - /platformBrowser.*bootstrapModule.*AppModule/); + await expectFileToMatch( + 'dist/test-project/main.js', + /platformBrowser.*bootstrapModule.*AppModule/, + ); } diff --git a/tests/legacy-cli/e2e/tests/basic/environment.ts b/tests/legacy-cli/e2e/tests/basic/environment.ts index 239af2d9f60a..5f376f8cc3db 100644 --- a/tests/legacy-cli/e2e/tests/basic/environment.ts +++ b/tests/legacy-cli/e2e/tests/basic/environment.ts @@ -2,10 +2,9 @@ import { expectFileToMatch } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; - export default async function () { // Try a prod build. - await updateJsonFile('angular.json', configJson => { + await updateJsonFile('angular.json', (configJson) => { const appArchitect = configJson.projects['test-project'].architect; appArchitect.build.configurations['prod-env'] = { ...appArchitect.build.configurations['development'], diff --git a/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts b/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts index 5bf34c937a61..7586ba439296 100644 --- a/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts +++ b/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts @@ -4,17 +4,18 @@ import { writeFile, deleteFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; - -export default function() { +export default function () { const homedir = os.homedir(); const globalConfigPath = join(homedir, '.angular-config.json'); - return Promise.resolve() - .then(() => writeFile(globalConfigPath, '{"version":1}')) - .then(() => process.chdir(homedir)) - .then(() => ng('new', 'proj-name', '--dry-run')) - .then(() => deleteFile(globalConfigPath)) - // Test that we cannot create a project inside another project. - .then(() => writeFile(join(homedir, '.angular.json'), '{"version":1}')) - .then(() => expectToFail(() => ng('new', 'proj-name', '--dry-run'))) - .then(() => deleteFile(join(homedir, '.angular.json'))); + return ( + Promise.resolve() + .then(() => writeFile(globalConfigPath, '{"version":1}')) + .then(() => process.chdir(homedir)) + .then(() => ng('new', 'proj-name', '--dry-run')) + .then(() => deleteFile(globalConfigPath)) + // Test that we cannot create a project inside another project. + .then(() => writeFile(join(homedir, '.angular.json'), '{"version":1}')) + .then(() => expectToFail(() => ng('new', 'proj-name', '--dry-run'))) + .then(() => deleteFile(join(homedir, '.angular.json'))) + ); } diff --git a/tests/legacy-cli/e2e/tests/basic/size-tracking.ts b/tests/legacy-cli/e2e/tests/basic/size-tracking.ts index d648b50f6639..76efe2fbe0a7 100644 --- a/tests/legacy-cli/e2e/tests/basic/size-tracking.ts +++ b/tests/legacy-cli/e2e/tests/basic/size-tracking.ts @@ -1,16 +1,22 @@ -import { appendToFile, moveDirectory, prependToFile, replaceInFile, writeFile } from '../../utils/fs'; +import { + appendToFile, + moveDirectory, + prependToFile, + replaceInFile, + writeFile, +} from '../../utils/fs'; import { ng } from '../../utils/process'; - export default async function () { // Store the production build for artifact storage on CircleCI if (process.env['CIRCLECI']) { - // Add initial app routing. // This is done automatically on a new app with --routing but must be done manually on // existing apps. const appRoutingModulePath = 'src/app/app-routing.module.ts'; - await writeFile(appRoutingModulePath, ` + await writeFile( + appRoutingModulePath, + ` import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; @@ -21,9 +27,12 @@ export default async function () { exports: [RouterModule] }) export class AppRoutingModule { } - `); - await prependToFile('src/app/app.module.ts', - `import { AppRoutingModule } from './app-routing.module';`); + `, + ); + await prependToFile( + 'src/app/app.module.ts', + `import { AppRoutingModule } from './app-routing.module';`, + ); await replaceInFile('src/app/app.module.ts', `imports: [`, `imports: [ AppRoutingModule,`); await appendToFile('src/app/app.component.html', ''); diff --git a/tests/legacy-cli/e2e/tests/build/allow-js.ts b/tests/legacy-cli/e2e/tests/build/allow-js.ts index 4025a00f6ce0..269b20e3a886 100644 --- a/tests/legacy-cli/e2e/tests/build/allow-js.ts +++ b/tests/legacy-cli/e2e/tests/build/allow-js.ts @@ -2,16 +2,19 @@ import { ng } from '../../utils/process'; import { updateTsConfig } from '../../utils/project'; import { appendToFile, writeFile } from '../../utils/fs'; -export default async function() { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. await writeFile('src/my-js-file.js', 'console.log(1); export const a = 2;'); - await appendToFile('src/main.ts', ` + await appendToFile( + 'src/main.ts', + ` import { a } from './my-js-file'; console.log(a); - `); + `, + ); - await updateTsConfig(json => { + await updateTsConfig((json) => { json['compilerOptions'].allowJs = true; }); diff --git a/tests/legacy-cli/e2e/tests/build/assets.ts b/tests/legacy-cli/e2e/tests/build/assets.ts index 5961a5ac587b..72ce987e6ea3 100644 --- a/tests/legacy-cli/e2e/tests/build/assets.ts +++ b/tests/legacy-cli/e2e/tests/build/assets.ts @@ -16,9 +16,11 @@ export default async function () { await expectToFail(() => expectFileToExist('dist/test-project/assets/.gitkeep')); // Ensure `followSymlinks` option follows symlinks - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect['build'].options.assets = [{ glob: '**/*', input: 'src/assets', output: 'assets', followSymlinks: true }]; + appArchitect['build'].options.assets = [ + { glob: '**/*', input: 'src/assets', output: 'assets', followSymlinks: true }, + ]; }); fs.mkdirSync('dirToSymlink/subdir1', { recursive: true }); fs.mkdirSync('dirToSymlink/subdir2/subsubdir1', { recursive: true }); diff --git a/tests/legacy-cli/e2e/tests/build/barrel-file.ts b/tests/legacy-cli/e2e/tests/build/barrel-file.ts index 048ad4599a26..a06302dbe696 100644 --- a/tests/legacy-cli/e2e/tests/build/barrel-file.ts +++ b/tests/legacy-cli/e2e/tests/build/barrel-file.ts @@ -1,7 +1,7 @@ import { replaceInFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; -export default async function() { +export default async function () { await writeFile('src/app/index.ts', `export { AppModule } from './app.module';`); await replaceInFile('src/main.ts', './app/app.module', './app'); await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/build/base-href.ts b/tests/legacy-cli/e2e/tests/build/base-href.ts index 610cb282a6d5..82496bddb291 100644 --- a/tests/legacy-cli/e2e/tests/build/base-href.ts +++ b/tests/legacy-cli/e2e/tests/build/base-href.ts @@ -1,10 +1,10 @@ import { ng } from '../../utils/process'; import { expectFileToMatch } from '../../utils/fs'; - -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. - return ng('build', '--base-href', '/myUrl', '--configuration=development') - .then(() => expectFileToMatch('dist/test-project/index.html', //)); + return ng('build', '--base-href', '/myUrl', '--configuration=development').then(() => + expectFileToMatch('dist/test-project/index.html', //), + ); } diff --git a/tests/legacy-cli/e2e/tests/build/build-errors.ts b/tests/legacy-cli/e2e/tests/build/build-errors.ts index b8abc5b4dad3..342be008f430 100644 --- a/tests/legacy-cli/e2e/tests/build/build-errors.ts +++ b/tests/legacy-cli/e2e/tests/build/build-errors.ts @@ -10,7 +10,7 @@ const extraErrors = [ `main.ts is not part of the TypeScript compilation.`, ]; -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. if (process.platform.startsWith('win')) { @@ -28,11 +28,11 @@ export default function() { Promise.resolve() // Save the original contents of `./src/app/app.component.ts`. .then(() => readFile('./src/app/app.component.ts')) - .then(contents => (origContent = contents)) + .then((contents) => (origContent = contents)) // Check `part of the TypeScript compilation` errors. // These should show an error only for the missing file. .then(() => - updateJsonFile('./tsconfig.app.json', configJson => { + updateJsonFile('./tsconfig.app.json', (configJson) => { (configJson.include = undefined), (configJson.files = ['src/main.ts']); }), ) @@ -41,12 +41,12 @@ export default function() { if (!message.includes('polyfills.ts is missing from the TypeScript compilation')) { throw new Error(`Expected missing TS file error, got this instead:\n${message}`); } - if (extraErrors.some(e => message.includes(e))) { + if (extraErrors.some((e) => message.includes(e))) { throw new Error(`Did not expect extra errors but got:\n${message}`); } }) .then(() => - updateJsonFile('./tsconfig.app.json', configJson => { + updateJsonFile('./tsconfig.app.json', (configJson) => { configJson.include = ['src/**/*.ts']; configJson.exclude = ['**/**.spec.ts']; configJson.files = undefined; @@ -60,7 +60,7 @@ export default function() { if (!message.includes('Declaration or statement expected.')) { throw new Error(`Expected syntax error, got this instead:\n${message}`); } - if (extraErrors.some(e => message.includes(e))) { + if (extraErrors.some((e) => message.includes(e))) { throw new Error(`Did not expect extra errors but got:\n${message}`); } }) @@ -76,10 +76,10 @@ export default function() { ) { throw new Error(`Expected static analysis error, got this instead:\n${message}`); } - if (extraErrors.some(e => message.includes(e))) { + if (extraErrors.some((e) => message.includes(e))) { throw new Error(`Did not expect extra errors but got:\n${message}`); } }) .then(() => writeFile('./src/app/app.component.ts', origContent)) ); -} \ No newline at end of file +} diff --git a/tests/legacy-cli/e2e/tests/build/build-optimizer.ts b/tests/legacy-cli/e2e/tests/build/build-optimizer.ts index 2cdbeceb868a..768fbb4b914c 100644 --- a/tests/legacy-cli/e2e/tests/build/build-optimizer.ts +++ b/tests/legacy-cli/e2e/tests/build/build-optimizer.ts @@ -2,14 +2,17 @@ import { ng } from '../../utils/process'; import { expectFileToMatch, expectFileToExist } from '../../utils/fs'; import { expectToFail } from '../../utils/utils'; - export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return ng('build', '--aot', '--build-optimizer') - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/main.js', /\.decorators =/))) + .then(() => + expectToFail(() => expectFileToMatch('dist/test-project/main.js', /\.decorators =/)), + ) .then(() => ng('build')) .then(() => expectToFail(() => expectFileToExist('dist/vendor.js'))) - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/main.js', /\.decorators =/))) + .then(() => + expectToFail(() => expectFileToMatch('dist/test-project/main.js', /\.decorators =/)), + ) .then(() => expectToFail(() => ng('build', '--aot=false', '--build-optimizer'))); } diff --git a/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts b/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts index 8b41f0596dcf..2a6909413462 100644 --- a/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts +++ b/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts @@ -11,7 +11,7 @@ import { expectToFail } from '../../utils/utils'; export default async function () { // Error - await updateJsonFile('angular.json', json => { + await updateJsonFile('angular.json', (json) => { json.projects['test-project'].architect.build.configurations.production.budgets = [ { type: 'all', maximumError: '100b' }, ]; @@ -23,7 +23,7 @@ export default async function () { } // Warning - await updateJsonFile('angular.json', json => { + await updateJsonFile('angular.json', (json) => { json.projects['test-project'].architect.build.configurations.production.budgets = [ { type: 'all', minimumWarning: '100mb' }, ]; @@ -35,7 +35,7 @@ export default async function () { } // Pass - await updateJsonFile('angular.json', json => { + await updateJsonFile('angular.json', (json) => { json.projects['test-project'].architect.build.configurations.production.budgets = [ { type: 'allScript', maximumError: '100mb' }, ]; diff --git a/tests/legacy-cli/e2e/tests/build/chunk-hash.ts b/tests/legacy-cli/e2e/tests/build/chunk-hash.ts index 0c119a65ee78..27638febb219 100644 --- a/tests/legacy-cli/e2e/tests/build/chunk-hash.ts +++ b/tests/legacy-cli/e2e/tests/build/chunk-hash.ts @@ -1,22 +1,21 @@ import * as fs from 'fs'; -import {ng} from '../../utils/process'; -import {writeFile, prependToFile, replaceInFile} from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { writeFile, prependToFile, replaceInFile } from '../../utils/fs'; const OUTPUT_RE = /(main|polyfills|vendor|inline|styles|\d+)\.[a-z0-9]+\.(chunk|bundle)\.(js|css)$/; function generateFileHashMap(): Map { const hashes = new Map(); - fs.readdirSync('./dist') - .forEach(name => { - if (!name.match(OUTPUT_RE)) { - return; - } + fs.readdirSync('./dist').forEach((name) => { + if (!name.match(OUTPUT_RE)) { + return; + } - const [module, hash] = name.split('.'); - hashes.set(module, hash); - }); + const [module, hash] = name.split('.'); + hashes.set(module, hash); + }); return hashes; } @@ -24,24 +23,24 @@ function generateFileHashMap(): Map { function validateHashes( oldHashes: Map, newHashes: Map, - shouldChange: Array): void { - + shouldChange: Array, +): void { console.log(' Validating hashes...'); console.log(` Old hashes: ${JSON.stringify([...oldHashes])}`); console.log(` New hashes: ${JSON.stringify([...newHashes])}`); oldHashes.forEach((hash, module) => { - if (hash == newHashes.get(module)) { - if (shouldChange.includes(module)) { - throw new Error(`Module "${module}" did not change hash (${hash})...`); - } - } else if (!shouldChange.includes(module)) { - throw new Error(`Module "${module}" changed hash (${hash})...`); + if (hash == newHashes.get(module)) { + if (shouldChange.includes(module)) { + throw new Error(`Module "${module}" did not change hash (${hash})...`); } - }); + } else if (!shouldChange.includes(module)) { + throw new Error(`Module "${module}" changed hash (${hash})...`); + } + }); } -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return; @@ -50,14 +49,25 @@ export default function() { // First, collect the hashes. return Promise.resolve() .then(() => ng('generate', 'module', 'lazy', '--routing')) - .then(() => prependToFile('src/app/app.module.ts', ` + .then(() => + prependToFile( + 'src/app/app.module.ts', + ` import { RouterModule } from '@angular/router'; import { ReactiveFormsModule } from '@angular/forms'; - `)) - .then(() => replaceInFile('src/app/app.module.ts', 'imports: [', `imports: [ + `, + ), + ) + .then(() => + replaceInFile( + 'src/app/app.module.ts', + 'imports: [', + `imports: [ RouterModule.forRoot([{ path: "lazy", loadChildren: "./lazy/lazy.module#LazyModule" }]), ReactiveFormsModule, - `)) + `, + ), + ) .then(() => ng('build', '--output-hashing=all', '--configuration=development')) .then(() => { oldHashes = generateFileHashMap(); @@ -88,13 +98,24 @@ export default function() { validateHashes(oldHashes, newHashes, ['main']); oldHashes = newHashes; }) - .then(() => prependToFile('src/app/lazy/lazy.module.ts', ` + .then(() => + prependToFile( + 'src/app/lazy/lazy.module.ts', + ` import { ReactiveFormsModule } from '@angular/forms'; - `)) - .then(() => replaceInFile('src/app/lazy/lazy.module.ts', 'imports: [', ` + `, + ), + ) + .then(() => + replaceInFile( + 'src/app/lazy/lazy.module.ts', + 'imports: [', + ` imports: [ ReactiveFormsModule, - `)) + `, + ), + ) .then(() => ng('build', '--output-hashing=all', '--configuration=development')) .then(() => { newHashes = generateFileHashMap(); diff --git a/tests/legacy-cli/e2e/tests/build/config-file-fallback.ts b/tests/legacy-cli/e2e/tests/build/config-file-fallback.ts index 3dd987431b8a..53298b573e12 100644 --- a/tests/legacy-cli/e2e/tests/build/config-file-fallback.ts +++ b/tests/legacy-cli/e2e/tests/build/config-file-fallback.ts @@ -1,8 +1,7 @@ -import {ng} from '../../utils/process'; -import {moveFile} from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { moveFile } from '../../utils/fs'; - -export default function() { +export default function () { return Promise.resolve() .then(() => ng('build')) .then(() => moveFile('angular.json', '.angular.json')) diff --git a/tests/legacy-cli/e2e/tests/build/delete-output-path.ts b/tests/legacy-cli/e2e/tests/build/delete-output-path.ts index 62f06fef8700..6294044f6624 100644 --- a/tests/legacy-cli/e2e/tests/build/delete-output-path.ts +++ b/tests/legacy-cli/e2e/tests/build/delete-output-path.ts @@ -1,18 +1,20 @@ -import {ng} from '../../utils/process'; -import {expectToFail} from '../../utils/utils'; -import {deleteFile, expectFileToExist} from '../../utils/fs'; -import {getGlobalVariable} from '../../utils/env'; +import { ng } from '../../utils/process'; +import { expectToFail } from '../../utils/utils'; +import { deleteFile, expectFileToExist } from '../../utils/fs'; +import { getGlobalVariable } from '../../utils/env'; -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. - return ng('build') - // This is supposed to fail since there's a missing file - .then(() => deleteFile('src/app/app.component.ts')) - // The build fails but we don't delete the output of the previous build. - .then(() => expectToFail(() => ng('build', '--delete-output-path=false'))) - .then(() => expectFileToExist('dist')) - // By default, output path is always cleared. - .then(() => expectToFail(() => ng('build', '--configuration=development'))) - .then(() => expectToFail(() => expectFileToExist('dist/test-project'))); + return ( + ng('build') + // This is supposed to fail since there's a missing file + .then(() => deleteFile('src/app/app.component.ts')) + // The build fails but we don't delete the output of the previous build. + .then(() => expectToFail(() => ng('build', '--delete-output-path=false'))) + .then(() => expectFileToExist('dist')) + // By default, output path is always cleared. + .then(() => expectToFail(() => ng('build', '--configuration=development'))) + .then(() => expectToFail(() => expectFileToExist('dist/test-project'))) + ); } diff --git a/tests/legacy-cli/e2e/tests/build/extract-licenses.ts b/tests/legacy-cli/e2e/tests/build/extract-licenses.ts index 7d0b61d501f4..29325de2ada0 100644 --- a/tests/legacy-cli/e2e/tests/build/extract-licenses.ts +++ b/tests/legacy-cli/e2e/tests/build/extract-licenses.ts @@ -2,7 +2,7 @@ import { expectFileToExist, expectFileToMatch } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; -export default async function() { +export default async function () { // Licenses should be left intact if extraction is disabled await ng('build', '--extract-licenses=false', '--output-hashing=none'); diff --git a/tests/legacy-cli/e2e/tests/build/jit-prod.ts b/tests/legacy-cli/e2e/tests/build/jit-prod.ts index 66162c5a52c7..1abb7a0709d2 100644 --- a/tests/legacy-cli/e2e/tests/build/jit-prod.ts +++ b/tests/legacy-cli/e2e/tests/build/jit-prod.ts @@ -1,10 +1,9 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; - export default async function () { // Make prod use JIT. - await updateJsonFile('angular.json', configJson => { + await updateJsonFile('angular.json', (configJson) => { const appArchitect = configJson.projects['test-project'].architect; appArchitect.build.configurations['production'].aot = false; appArchitect.build.configurations['production'].buildOptimizer = false; diff --git a/tests/legacy-cli/e2e/tests/build/json.ts b/tests/legacy-cli/e2e/tests/build/json.ts index dd8e78f8b5e7..41718132f384 100644 --- a/tests/legacy-cli/e2e/tests/build/json.ts +++ b/tests/legacy-cli/e2e/tests/build/json.ts @@ -2,7 +2,7 @@ import { expectFileToExist } from '../../utils/fs'; import { expectGitToBeClean } from '../../utils/git'; import { ng } from '../../utils/process'; -export default async function() { +export default async function () { await ng('build', '--stats-json', '--configuration=development'); await expectFileToExist('./dist/test-project/stats.json'); await expectGitToBeClean(); diff --git a/tests/legacy-cli/e2e/tests/build/no-angular-router.ts b/tests/legacy-cli/e2e/tests/build/no-angular-router.ts index b5c056f6e328..190f1e2a39b1 100644 --- a/tests/legacy-cli/e2e/tests/build/no-angular-router.ts +++ b/tests/legacy-cli/e2e/tests/build/no-angular-router.ts @@ -1,10 +1,9 @@ -import {ng} from '../../utils/process'; -import {expectFileToExist, moveFile} from '../../utils/fs'; -import {getGlobalVariable} from '../../utils/env'; +import { ng } from '../../utils/process'; +import { expectFileToExist, moveFile } from '../../utils/fs'; +import { getGlobalVariable } from '../../utils/env'; import * as path from 'path'; - -export default function() { +export default function () { const tmp = getGlobalVariable('tmp-root'); return Promise.resolve() diff --git a/tests/legacy-cli/e2e/tests/build/no-entry-module.ts b/tests/legacy-cli/e2e/tests/build/no-entry-module.ts index c1119b393149..11f7111fdb17 100644 --- a/tests/legacy-cli/e2e/tests/build/no-entry-module.ts +++ b/tests/legacy-cli/e2e/tests/build/no-entry-module.ts @@ -1,15 +1,13 @@ import { readFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; - -export default async function() { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. const mainTs = await readFile('src/main.ts'); - const newMainTs = mainTs - .replace(/platformBrowserDynamic.*?bootstrapModule.*?;/, '') - + 'console.log(AppModule);'; // Use AppModule to make sure it's imported properly. + const newMainTs = + mainTs.replace(/platformBrowserDynamic.*?bootstrapModule.*?;/, '') + 'console.log(AppModule);'; // Use AppModule to make sure it's imported properly. await writeFile('src/main.ts', newMainTs); await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/build/no-sourcemap.ts b/tests/legacy-cli/e2e/tests/build/no-sourcemap.ts index 61b1e22e6fa6..5aca54f6bc5e 100644 --- a/tests/legacy-cli/e2e/tests/build/no-sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/build/no-sourcemap.ts @@ -5,11 +5,17 @@ export default async function () { await ng('build', '--output-hashing=none', '--source-map', 'false'); await testForSourceMaps(3); - await ng('build', '--output-hashing=none', '--source-map', 'false', '--configuration=development'); + await ng( + 'build', + '--output-hashing=none', + '--source-map', + 'false', + '--configuration=development', + ); await testForSourceMaps(4); } -async function testForSourceMaps(expectedNumberOfFiles: number): Promise { +async function testForSourceMaps(expectedNumberOfFiles: number): Promise { const files = fs.readdirSync('./dist/test-project'); let count = 0; @@ -31,6 +37,8 @@ async function testForSourceMaps(expectedNumberOfFiles: number): Promise } if (count < expectedNumberOfFiles) { - throw new Error(`Javascript file count is low. Expected ${expectedNumberOfFiles} but found ${count}`); + throw new Error( + `Javascript file count is low. Expected ${expectedNumberOfFiles} but found ${count}`, + ); } } diff --git a/tests/legacy-cli/e2e/tests/build/output-dir.ts b/tests/legacy-cli/e2e/tests/build/output-dir.ts index 43d7f5c237cb..80d1176aeb09 100644 --- a/tests/legacy-cli/e2e/tests/build/output-dir.ts +++ b/tests/legacy-cli/e2e/tests/build/output-dir.ts @@ -1,21 +1,22 @@ -import {expectFileToExist} from '../../utils/fs'; -import {expectGitToBeClean} from '../../utils/git'; -import {ng} from '../../utils/process'; -import {updateJsonFile} from '../../utils/project'; -import {expectToFail} from '../../utils/utils'; +import { expectFileToExist } from '../../utils/fs'; +import { expectGitToBeClean } from '../../utils/git'; +import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; +import { expectToFail } from '../../utils/utils'; - -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return ng('build', '--output-path', 'build-output', '--configuration=development') .then(() => expectFileToExist('./build-output/index.html')) .then(() => expectFileToExist('./build-output/main.js')) .then(() => expectToFail(expectGitToBeClean)) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.outputPath = 'config-build-output'; - })) + .then(() => + updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.outputPath = 'config-build-output'; + }), + ) .then(() => ng('build', '--configuration=development')) .then(() => expectFileToExist('./config-build-output/index.html')) .then(() => expectFileToExist('./config-build-output/main.js')) diff --git a/tests/legacy-cli/e2e/tests/build/poll.ts b/tests/legacy-cli/e2e/tests/build/poll.ts index 9a63d5edb1c2..75218b0108d3 100644 --- a/tests/legacy-cli/e2e/tests/build/poll.ts +++ b/tests/legacy-cli/e2e/tests/build/poll.ts @@ -1,14 +1,11 @@ import { appendToFile } from '../../utils/fs'; -import { - killAllProcesses, - waitForAnyProcessOutputToMatch, -} from '../../utils/process'; +import { killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; import { ngServe } from '../../utils/project'; import { expectToFail, wait } from '../../utils/utils'; const webpackGoodRegEx = / Compiled successfully./; -export default async function() { +export default async function () { try { await ngServe('--poll=10000'); diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts b/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts index 952220ec662e..5964899ad532 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts @@ -1,26 +1,31 @@ import { killAllProcesses, waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch + execAndWaitForOutputToMatch, } from '../../utils/process'; -import {appendToFile} from '../../utils/fs'; -import {getGlobalVariable} from '../../utils/env'; +import { appendToFile } from '../../utils/fs'; +import { getGlobalVariable } from '../../utils/env'; const webpackGoodRegEx = / Compiled successfully./; -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. if (process.platform.startsWith('win')) { return Promise.resolve(); } - return execAndWaitForOutputToMatch('ng', ['serve'], webpackGoodRegEx) - // Should trigger a rebuild. - .then(() => appendToFile('src/app/app.component.css', ':host { color: blue; }')) - .then(() => waitForAnyProcessOutputToMatch(webpackGoodRegEx, 10000)) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }); + return ( + execAndWaitForOutputToMatch('ng', ['serve'], webpackGoodRegEx) + // Should trigger a rebuild. + .then(() => appendToFile('src/app/app.component.css', ':host { color: blue; }')) + .then(() => waitForAnyProcessOutputToMatch(webpackGoodRegEx, 10000)) + .then( + () => killAllProcesses(), + (err: any) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts b/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts index a4942e1d0d99..d0651fe66c16 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts @@ -3,86 +3,123 @@ import { waitForAnyProcessOutputToMatch, execAndWaitForOutputToMatch, } from '../../utils/process'; -import {writeFile, prependToFile, appendToFile} from '../../utils/fs'; +import { writeFile, prependToFile, appendToFile } from '../../utils/fs'; - -const doneRe = - / Compiled successfully.|: Failed to compile./; +const doneRe = / Compiled successfully.|: Failed to compile./; const errorRe = /Error/; - -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. if (process.platform.startsWith('win')) { return Promise.resolve(); } - return Promise.resolve() - // Create and import files. - .then(() => writeFile('src/funky2.ts', ` + return ( + Promise.resolve() + // Create and import files. + .then(() => + writeFile( + 'src/funky2.ts', + ` export function funky2(value: string): string { return value + 'hello'; } - `)) - .then(() => writeFile('src/funky.ts', ` + `, + ), + ) + .then(() => + writeFile( + 'src/funky.ts', + ` export * from './funky2'; - `)) - .then(() => prependToFile('src/main.ts', ` + `, + ), + ) + .then(() => + prependToFile( + 'src/main.ts', + ` import { funky2 } from './funky'; - `)) - .then(() => appendToFile('src/main.ts', ` + `, + ), + ) + .then(() => + appendToFile( + 'src/main.ts', + ` console.log(funky2('town')); - `)) - // Should trigger a rebuild, no error expected. - .then(() => execAndWaitForOutputToMatch('ng', ['serve'], doneRe)) - // Make an invalid version of the file. - // Should trigger a rebuild, this time an error is expected. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(errorRe, 20000), - writeFile('src/funky2.ts', ` + `, + ), + ) + // Should trigger a rebuild, no error expected. + .then(() => execAndWaitForOutputToMatch('ng', ['serve'], doneRe)) + // Make an invalid version of the file. + // Should trigger a rebuild, this time an error is expected. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(errorRe, 20000), + writeFile( + 'src/funky2.ts', + ` export function funky2(value: number): number { return value + 1; } - `) - ])) - .then((results) => { - const stderr = results[0].stderr; - if (!/Error: (.*src\/)?main\.ts/.test(stderr)) { - throw new Error('Expected an error but none happened.'); - } - }) - // Change an UNRELATED file and the error should still happen. - // Should trigger a rebuild, this time an error is also expected. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(errorRe, 20000), - appendToFile('src/app/app.module.ts', ` + `, + ), + ]), + ) + .then((results) => { + const stderr = results[0].stderr; + if (!/Error: (.*src\/)?main\.ts/.test(stderr)) { + throw new Error('Expected an error but none happened.'); + } + }) + // Change an UNRELATED file and the error should still happen. + // Should trigger a rebuild, this time an error is also expected. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(errorRe, 20000), + appendToFile( + 'src/app/app.module.ts', + ` function anything(): number { return 1; } - `) - ])) - .then((results) => { - const stderr = results[0].stderr; - if (!/Error: (.*src\/)?main\.ts/.test(stderr)) { - throw new Error('Expected an error to still be there but none was.'); - } - }) - // Fix the error! - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(doneRe, 20000), - writeFile('src/funky2.ts', ` + `, + ), + ]), + ) + .then((results) => { + const stderr = results[0].stderr; + if (!/Error: (.*src\/)?main\.ts/.test(stderr)) { + throw new Error('Expected an error to still be there but none was.'); + } + }) + // Fix the error! + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(doneRe, 20000), + writeFile( + 'src/funky2.ts', + ` export function funky2(value: string): string { return value + 'hello'; } - `) - ])) - .then((results) => { - const stderr = results[0].stderr; - if (/Error: (.*src\/)?main\.ts/.test(stderr)) { - throw new Error('Expected no error but an error was shown.'); - } - }) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }); + `, + ), + ]), + ) + .then((results) => { + const stderr = results[0].stderr; + if (/Error: (.*src\/)?main\.ts/.test(stderr)) { + throw new Error('Expected no error but an error was shown.'); + } + }) + .then( + () => killAllProcesses(), + (err: any) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-error.ts b/tests/legacy-cli/e2e/tests/build/rebuild-error.ts index 2aeb84e291d0..9cad1fec410f 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-error.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-error.ts @@ -7,7 +7,6 @@ import { replaceInFile, readFile, writeFile } from '../../utils/fs'; import { getGlobalVariable } from '../../utils/env'; import { wait, expectToFail } from '../../utils/utils'; - const failedRe = /: Failed to compile/; const successRe = / Compiled successfully/; const errorRe = /ERROR in/; @@ -33,76 +32,95 @@ export default function () { let origContent: string; - return Promise.resolve() - // Save the original contents of `./src/app/app.component.ts`. - .then(() => readFile('./src/app/app.component.ts')) - .then((contents) => origContent = contents) - // Add a major static analysis error on a non-main file to the initial build. - .then(() => replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`)) - // Should have an error. - .then(() => execAndWaitForOutputToMatch('ng', ['build', '--watch', '--aot'], failedRe)) - .then((results) => { - const stderr = results.stderr; - if (!stderr.includes('Function calls are not supported') - && !stderr.includes('Function expressions are not supported in decorators')) { - throw new Error(`Expected static analysis error, got this instead:\n${stderr}`); - } - if (extraErrors.some((e) => stderr.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${stderr}`); - } - }) - // Fix the error, should trigger a successful rebuild. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(successRe, 20000), - writeFile('src/app/app.component.ts', origContent) - ])) - .then(() => wait(2000)) - // Add an syntax error to a non-main file. - // Build should still be successfull and error reported on forked type checker. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(errorRe, 20000), - writeFile('src/app/app.component.ts', origContent + '\n]]]]]') - ])) - .then((results) => { - const stderr = results[0].stderr; - if (!stderr.includes('Declaration or statement expected.')) { - throw new Error(`Expected syntax error, got this instead:\n${stderr}`); - } - if (extraErrors.some((e) => stderr.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${stderr}`); - } - }) - // Fix the error, should trigger a successful rebuild. - // We have to wait for the type checker to run, so we expect to NOT - // have an error message in 5s. - .then(() => Promise.all([ - expectToFail(() => waitForAnyProcessOutputToMatch(errorRe, 5000)), - writeFile('src/app/app.component.ts', origContent) - ])) - .then(() => wait(2000)) - // Add a major static analysis error on a rebuild. - // Should fail the rebuild. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(failedRe, 20000), - replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`) - ])) - .then((results) => { - const stderr = results[0].stderr; - if (!stderr.includes('Function calls are not supported') - && !stderr.includes('Function expressions are not supported in decorators')) { - throw new Error(`Expected static analysis error, got this instead:\n${stderr}`); - } - if (extraErrors.some((e) => stderr.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${stderr}`); - } - }) - // Fix the error, should trigger a successful rebuild. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(successRe, 20000), - writeFile('src/app/app.component.ts', origContent) - ])) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }); + return ( + Promise.resolve() + // Save the original contents of `./src/app/app.component.ts`. + .then(() => readFile('./src/app/app.component.ts')) + .then((contents) => (origContent = contents)) + // Add a major static analysis error on a non-main file to the initial build. + .then(() => replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`)) + // Should have an error. + .then(() => execAndWaitForOutputToMatch('ng', ['build', '--watch', '--aot'], failedRe)) + .then((results) => { + const stderr = results.stderr; + if ( + !stderr.includes('Function calls are not supported') && + !stderr.includes('Function expressions are not supported in decorators') + ) { + throw new Error(`Expected static analysis error, got this instead:\n${stderr}`); + } + if (extraErrors.some((e) => stderr.includes(e))) { + throw new Error(`Did not expect extra errors but got:\n${stderr}`); + } + }) + // Fix the error, should trigger a successful rebuild. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(successRe, 20000), + writeFile('src/app/app.component.ts', origContent), + ]), + ) + .then(() => wait(2000)) + // Add an syntax error to a non-main file. + // Build should still be successfull and error reported on forked type checker. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(errorRe, 20000), + writeFile('src/app/app.component.ts', origContent + '\n]]]]]'), + ]), + ) + .then((results) => { + const stderr = results[0].stderr; + if (!stderr.includes('Declaration or statement expected.')) { + throw new Error(`Expected syntax error, got this instead:\n${stderr}`); + } + if (extraErrors.some((e) => stderr.includes(e))) { + throw new Error(`Did not expect extra errors but got:\n${stderr}`); + } + }) + // Fix the error, should trigger a successful rebuild. + // We have to wait for the type checker to run, so we expect to NOT + // have an error message in 5s. + .then(() => + Promise.all([ + expectToFail(() => waitForAnyProcessOutputToMatch(errorRe, 5000)), + writeFile('src/app/app.component.ts', origContent), + ]), + ) + .then(() => wait(2000)) + // Add a major static analysis error on a rebuild. + // Should fail the rebuild. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(failedRe, 20000), + replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`), + ]), + ) + .then((results) => { + const stderr = results[0].stderr; + if ( + !stderr.includes('Function calls are not supported') && + !stderr.includes('Function expressions are not supported in decorators') + ) { + throw new Error(`Expected static analysis error, got this instead:\n${stderr}`); + } + if (extraErrors.some((e) => stderr.includes(e))) { + throw new Error(`Did not expect extra errors but got:\n${stderr}`); + } + }) + // Fix the error, should trigger a successful rebuild. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(successRe, 20000), + writeFile('src/app/app.component.ts', origContent), + ]), + ) + .then( + () => killAllProcesses(), + (err: any) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts b/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts index d87d343d2256..290fa5063bc9 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts @@ -22,49 +22,68 @@ export default function () { return Promise.resolve(); } - return execAndWaitForOutputToMatch('ng', ['build', '--watch', '--aot'], validBundleRegEx) - .then(() => writeMultipleFiles({ - 'src/app/app.component.css': ` + return ( + execAndWaitForOutputToMatch('ng', ['build', '--watch', '--aot'], validBundleRegEx) + .then(() => + writeMultipleFiles({ + 'src/app/app.component.css': ` @import './imported-styles.css'; body {background-color: #00f;} `, - 'src/app/imported-styles.css': 'p {color: #f00;}', - })) - // Trigger a few rebuilds first. - // The AOT compiler is still optimizing rebuilds on the first rebuild. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/main.ts', 'console.log(1)\n') - ])) - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/main.ts', 'console.log(1)\n') - ])) - // Check if html changes are built. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/app/app.component.html', '

HTML_REBUILD_STRING

') - ])) - .then(() => expectFileToMatch('dist/test-project/main.js', 'HTML_REBUILD_STRING')) - // Check if css changes are built. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/app/app.component.css', 'CSS_REBUILD_STRING {color: #f00;}') - ])) - .then(() => expectFileToMatch('dist/test-project/main.js', 'CSS_REBUILD_STRING')) - // Check if css dependency changes are built. - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/app/imported-styles.css', 'CSS_DEP_REBUILD_STRING {color: #f00;}') - ])) - .then(() => expectFileToMatch('dist/test-project/main.js', 'CSS_DEP_REBUILD_STRING')) - .then(() => Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - replaceInFile('src/app/app.component.ts', 'app-root', 'app-root-FACTORY_REBUILD_STRING') - ])) - .then(() => expectFileToMatch('dist/test-project/main.js', 'FACTORY_REBUILD_STRING')) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }); + 'src/app/imported-styles.css': 'p {color: #f00;}', + }), + ) + // Trigger a few rebuilds first. + // The AOT compiler is still optimizing rebuilds on the first rebuild. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), + appendToFile('src/main.ts', 'console.log(1)\n'), + ]), + ) + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), + appendToFile('src/main.ts', 'console.log(1)\n'), + ]), + ) + // Check if html changes are built. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), + appendToFile('src/app/app.component.html', '

HTML_REBUILD_STRING

'), + ]), + ) + .then(() => expectFileToMatch('dist/test-project/main.js', 'HTML_REBUILD_STRING')) + // Check if css changes are built. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), + appendToFile('src/app/app.component.css', 'CSS_REBUILD_STRING {color: #f00;}'), + ]), + ) + .then(() => expectFileToMatch('dist/test-project/main.js', 'CSS_REBUILD_STRING')) + // Check if css dependency changes are built. + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), + appendToFile('src/app/imported-styles.css', 'CSS_DEP_REBUILD_STRING {color: #f00;}'), + ]), + ) + .then(() => expectFileToMatch('dist/test-project/main.js', 'CSS_DEP_REBUILD_STRING')) + .then(() => + Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), + replaceInFile('src/app/app.component.ts', 'app-root', 'app-root-FACTORY_REBUILD_STRING'), + ]), + ) + .then(() => expectFileToMatch('dist/test-project/main.js', 'FACTORY_REBUILD_STRING')) + .then( + () => killAllProcesses(), + (err: any) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-types.ts b/tests/legacy-cli/e2e/tests/build/rebuild-types.ts index 90d1bc4c2eff..095998ebe24d 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-types.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-types.ts @@ -4,12 +4,11 @@ import { execAndWaitForOutputToMatch, } from '../../utils/process'; import { writeFile, prependToFile } from '../../utils/fs'; -import {getGlobalVariable} from '../../utils/env'; - +import { getGlobalVariable } from '../../utils/env'; const successRe = / Compiled successfully/; -export default async function() { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. if (process.platform.startsWith('win')) { diff --git a/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts b/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts index fc270373e2a6..231fb0c0dff4 100644 --- a/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts @@ -8,13 +8,12 @@ export default async function () { await ng('generate', 'application', 'secondary-project', '--skip-install'); await ng('build', 'secondary-project', '--configuration=development'); - await ng('build', '--output-hashing=none', '--source-map', '--configuration=development'); const content = fs.readFileSync('./dist/secondary-project/main.js.map', 'utf8'); - const {sources} = JSON.parse(content); + const { sources } = JSON.parse(content); for (const source of sources) { - if (isAbsolute(source)) { - throw new Error(`Expected ${source} to be relative.`); - } + if (isAbsolute(source)) { + throw new Error(`Expected ${source} to be relative.`); + } } } diff --git a/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts b/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts index ff298eedc1c0..b4181e9f954a 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts @@ -1,14 +1,15 @@ import { writeMultipleFiles } from '../../../utils/fs'; import { ng } from '../../../utils/process'; - export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. - return Promise.resolve() - // Write assets. - .then(_ => writeMultipleFiles({ - './src/app/app.component.ts': ` + return ( + Promise.resolve() + // Write assets. + .then((_) => + writeMultipleFiles({ + './src/app/app.component.ts': ` import { Component } from '@angular/core'; @Component({ @@ -19,7 +20,9 @@ export default function () { export class AppComponent { title = 'app'; } - ` - })) - .then(() => ng('build', '--configuration=development')); + `, + }), + ) + .then(() => ng('build', '--configuration=development')) + ); } diff --git a/tests/legacy-cli/e2e/tests/build/styles/symlinked-global.ts b/tests/legacy-cli/e2e/tests/build/styles/symlinked-global.ts index c0b92b7cb102..2d37fe7dfab7 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/symlinked-global.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/symlinked-global.ts @@ -10,17 +10,11 @@ export default async function () { 'src/styles-for-link.scss': `p { color: blue }`, }); - symlinkSync( - resolve('src/styles-for-link.scss'), - resolve('src/styles-linked.scss'), - ); + symlinkSync(resolve('src/styles-for-link.scss'), resolve('src/styles-linked.scss')); - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [ - 'src/styles.scss', - 'src/styles-linked.scss', - ]; + appArchitect.build.options.styles = ['src/styles.scss', 'src/styles-linked.scss']; }); await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts b/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts index 6592fd373154..f0d78da7a5ed 100644 --- a/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts +++ b/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts @@ -4,15 +4,14 @@ import { expectToFail } from '../../utils/utils'; const integrityRe = /integrity="\w+-[A-Za-z0-9\/\+=]+"/; -export default async function() { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. // WEBPACK4_DISABLED - disabled pending a webpack 4 version return; return ng('build') - .then(() => expectToFail(() => - expectFileToMatch('dist/test-project/index.html', integrityRe))) + .then(() => expectToFail(() => expectFileToMatch('dist/test-project/index.html', integrityRe))) .then(() => ng('build', '--sri')) .then(() => expectFileToMatch('dist/test-project/index.html', integrityRe)); } diff --git a/tests/legacy-cli/e2e/tests/build/vendor-chunk.ts b/tests/legacy-cli/e2e/tests/build/vendor-chunk.ts index 02c82a86d7e2..2460c13db9bb 100644 --- a/tests/legacy-cli/e2e/tests/build/vendor-chunk.ts +++ b/tests/legacy-cli/e2e/tests/build/vendor-chunk.ts @@ -2,7 +2,6 @@ import { expectFileToExist } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; - export default async function () { await ng('build', '--configuration=development'); await expectFileToExist('dist/test-project/vendor.js'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 39496611be33..40f7e6a2af5b 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -3,12 +3,11 @@ import { uninstallPackage } from '../../../utils/packages'; import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; - export default async function () { // forcibly remove in case another test doesn't clean itself up await rimraf('node_modules/@angular/material'); - const tag = await isPrereleaseCli() ? '@next' : ''; + const tag = (await isPrereleaseCli()) ? '@next' : ''; try { await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); @@ -18,7 +17,14 @@ export default async function () { } } - await ng('add', `@angular/material${tag}`, '--theme', 'custom', '--verbose', '--skip-confirmation'); + await ng( + 'add', + `@angular/material${tag}`, + '--theme', + 'custom', + '--verbose', + '--skip-confirmation', + ); await expectFileToMatch('package.json', /@angular\/material/); // Clean up existing cdk package diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-version.ts b/tests/legacy-cli/e2e/tests/commands/add/add-version.ts index bdbf9c96bd64..02d63eb66e0b 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-version.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-version.ts @@ -1,7 +1,6 @@ import { expectFileToExist, expectFileToMatch, rimraf } from '../../../utils/fs'; import { ng } from '../../../utils/process'; - export default async function () { await ng('add', '@angular-devkit-tests/ng-add-simple@^1.0.0', '--skip-confirmation'); await expectFileToMatch('package.json', /\/ng-add-simple.*\^1\.0\.0/); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add.ts b/tests/legacy-cli/e2e/tests/commands/add/add.ts index bf3ae5e3d0b5..6d9827013dc4 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add.ts @@ -1,7 +1,6 @@ import { expectFileToExist, expectFileToMatch, rimraf } from '../../../utils/fs'; import { ng } from '../../../utils/process'; - export default async function () { await ng('add', '@angular-devkit-tests/ng-add-simple', '--skip-confirmation'); await expectFileToMatch('package.json', /@angular-devkit-tests\/ng-add-simple/); diff --git a/tests/legacy-cli/e2e/tests/commands/add/base.ts b/tests/legacy-cli/e2e/tests/commands/add/base.ts index b22583909076..ba5978633225 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/base.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/base.ts @@ -3,7 +3,6 @@ import { expectFileToExist, rimraf, symlinkFile } from '../../../utils/fs'; import { ng } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; - export default async function () { await symlinkFile(assetDir('add-collection'), `./node_modules/add-collection`, 'dir'); @@ -13,7 +12,7 @@ export default async function () { await ng('add', 'add-collection', '--name=blah'); await expectFileToExist('blah'); - await expectToFail(() => ng('add', 'add-collection')); // File already exists. + await expectToFail(() => ng('add', 'add-collection')); // File already exists. // Cleanup the package await rimraf('node_modules/add-collection'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/dir.ts b/tests/legacy-cli/e2e/tests/commands/add/dir.ts index 695c9369a43b..f5fadc486b3d 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/dir.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/dir.ts @@ -2,7 +2,6 @@ import { assetDir } from '../../../utils/assets'; import { expectFileToExist } from '../../../utils/fs'; import { ng } from '../../../utils/process'; - export default async function () { await ng('add', assetDir('add-collection'), '--name=blah', '--skip-confirmation'); await expectFileToExist('blah'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/file.ts b/tests/legacy-cli/e2e/tests/commands/add/file.ts index d05abdb9e0f3..6096dac6f666 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/file.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/file.ts @@ -2,7 +2,6 @@ import { assetDir } from '../../../utils/assets'; import { expectFileToExist } from '../../../utils/fs'; import { ng } from '../../../utils/process'; - export default async function () { await ng('add', assetDir('add-collection.tgz'), '--name=blah', '--skip-confirmation'); await expectFileToExist('blah'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/peer.ts b/tests/legacy-cli/e2e/tests/commands/add/peer.ts index 2f5147df0b03..ff45127ff182 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/peer.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/peer.ts @@ -4,17 +4,25 @@ import { ng } from '../../../utils/process'; const warning = 'Adding the package may not succeed.'; export default async function () { - const { stderr: bad } = await ng('add', assetDir('add-collection-peer-bad'), '--skip-confirmation'); + const { stderr: bad } = await ng( + 'add', + assetDir('add-collection-peer-bad'), + '--skip-confirmation', + ); if (!bad.includes(warning)) { throw new Error('peer warning not shown on bad package'); } - const { stderr: base } = await ng('add', assetDir('add-collection'), '--skip-confirmation'); + const { stderr: base } = await ng('add', assetDir('add-collection'), '--skip-confirmation'); if (base.includes(warning)) { throw new Error('peer warning shown on base package'); } - const { stderr: good } = await ng('add', assetDir('add-collection-peer-good'), '--skip-confirmation'); + const { stderr: good } = await ng( + 'add', + assetDir('add-collection-peer-good'), + '--skip-confirmation', + ); if (good.includes(warning)) { throw new Error('peer warning shown on good package'); } diff --git a/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts b/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts index 6cfc60afa39a..ffc5b448cdf0 100644 --- a/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts +++ b/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts @@ -1,16 +1,18 @@ -import {ng} from '../../../utils/process'; -import {updateJsonFile} from '../../../utils/project'; -import {expectToFail} from '../../../utils/utils'; +import { ng } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; +import { expectToFail } from '../../../utils/utils'; -export default function() { +export default function () { // TODO(architect): This isn't working correctly in devkit/build-angular, due to module resolution. return; return Promise.resolve() - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.outputPath = './'; - })) + .then(() => + updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.outputPath = './'; + }), + ) .then(() => expectToFail(() => ng('build', '--configuration=development'))) .then(() => expectToFail(() => ng('serve'))); } diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-global.ts b/tests/legacy-cli/e2e/tests/commands/config/config-global.ts index 8327836fc500..193fa3ee3829 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-global.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-global.ts @@ -4,13 +4,10 @@ import { deleteFile, expectFileToExist } from '../../../utils/fs'; import { ng } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; - -export default async function() { - await expectToFail(() => ng( - 'config', - '--global', - 'schematics.@schematics/angular.component.inlineStyle', - )); +export default async function () { + await expectToFail(() => + ng('config', '--global', 'schematics.@schematics/angular.component.inlineStyle'), + ); await ng('config', '--global', 'schematics.@schematics/angular.component.inlineStyle', 'false'); let output = await ng( diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts b/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts index 694f90f6020a..571dc74cdd14 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-set-enum-check.ts @@ -1,20 +1,15 @@ import { ng } from '../../../utils/process'; -export default async function() { +export default async function () { + // These tests require schema querying capabilities + // .then(() => expectToFail( + // () => ng('config', 'schematics.@schematics/angular.component.aaa', 'bbb')), + // ) + // .then(() => expectToFail(() => ng( + // 'config', + // 'schematics.@schematics/angular.component.viewEncapsulation', + // 'bbb', + // ))) - // These tests require schema querying capabilities - // .then(() => expectToFail( - // () => ng('config', 'schematics.@schematics/angular.component.aaa', 'bbb')), - // ) - // .then(() => expectToFail(() => ng( - // 'config', - // 'schematics.@schematics/angular.component.viewEncapsulation', - // 'bbb', - // ))) - - await ng( - 'config', - 'schematics.@schematics/angular.component.viewEncapsulation', - 'Emulated', - ); + await ng('config', 'schematics.@schematics/angular.component.viewEncapsulation', 'Emulated'); } diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-set-prefix.ts b/tests/legacy-cli/e2e/tests/commands/config/config-set-prefix.ts index 904050649129..09c3afea9f7f 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-set-prefix.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-set-prefix.ts @@ -1,10 +1,10 @@ import { ng } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; -export default function() { +export default function () { return Promise.resolve() .then(() => expectToFail(() => ng('config', 'schematics.@schematics/angular.component.prefix'))) - .then(() => ng('config', 'schematics.@schematics/angular.component.prefix' , 'new-prefix')) + .then(() => ng('config', 'schematics.@schematics/angular.component.prefix', 'new-prefix')) .then(() => ng('config', 'schematics.@schematics/angular.component.prefix')) .then(({ stdout }) => { if (!stdout.match(/new-prefix/)) { diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-set-serve-port.ts b/tests/legacy-cli/e2e/tests/commands/config/config-set-serve-port.ts index 7557c6f534c9..125d21d7e66f 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-set-serve-port.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-set-serve-port.ts @@ -1,7 +1,7 @@ import { expectFileToMatch } from '../../../utils/fs'; import { ng } from '../../../utils/process'; -export default function() { +export default function () { return Promise.resolve() .then(() => ng('config', 'projects.test-project.architect.serve.options.port', '1234')) .then(() => expectFileToMatch('angular.json', /"port": 1234/)); diff --git a/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts b/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts index d597ac1e39fc..912dfb99f600 100644 --- a/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts +++ b/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts @@ -1,7 +1,7 @@ import { prependToFile, writeFile } from '../../../utils/fs'; import { execAndWaitForOutputToMatch, killAllProcesses } from '../../../utils/process'; -export default async function() { +export default async function () { // Simulate a JS library using a Node.js specific module await writeFile('src/node-usage.js', `const path = require('path');\n`); await prependToFile('src/main.ts', `import './node-usage';\n`); diff --git a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts index 2075b1acd3c0..604e10a85d8f 100644 --- a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts +++ b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts @@ -8,24 +8,30 @@ export default function () { return Promise.resolve() .then(() => ngServe('--serve-path', 'test/')) .then(() => request('http://localhost:4200/test')) - .then(body => { + .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); } }) .then(() => request('http://localhost:4200/test/abc')) - .then(body => { + .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); } }) - .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }) - // .then(() => ngServe('--base-href', 'test/')) - // .then(() => request('http://localhost:4200/test')) - // .then(body => { - // if (!body.match(/<\/app-root>/)) { - // throw new Error('Response does not match expected value.'); - // } - // }) - // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }); + .then( + () => killAllProcesses(), + (err) => { + killAllProcesses(); + throw err; + }, + ); + // .then(() => ngServe('--base-href', 'test/')) + // .then(() => request('http://localhost:4200/test')) + // .then(body => { + // if (!body.match(/<\/app-root>/)) { + // throw new Error('Response does not match expected value.'); + // } + // }) + // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }); } diff --git a/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts b/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts index 98257ee86e70..385b7149cc29 100644 --- a/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts +++ b/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts @@ -1,4 +1,4 @@ -import { ng } from "../../utils/process"; +import { ng } from '../../utils/process'; export default async function () { try { @@ -9,4 +9,4 @@ export default async function () { throw error; } } -}; +} diff --git a/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts b/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts index 44c92b2c347e..3e9664d697c4 100644 --- a/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts @@ -2,8 +2,7 @@ import { expectFileToMatch } from '../../../utils/fs'; import { ng } from '../../../utils/process'; import { useCIChrome } from '../../../utils/project'; - -export default function() { +export default function () { return ng('generate', 'application', 'app2') .then(() => expectFileToMatch('angular.json', /\"app2\":/)) .then(() => useCIChrome('projects/app2')) diff --git a/tests/legacy-cli/e2e/tests/generate/class.ts b/tests/legacy-cli/e2e/tests/generate/class.ts index aa3ba25b5899..2363de96132c 100644 --- a/tests/legacy-cli/e2e/tests/generate/class.ts +++ b/tests/legacy-cli/e2e/tests/generate/class.ts @@ -1,16 +1,17 @@ -import {join} from 'path'; -import {ng} from '../../utils/process'; -import {expectFileToExist} from '../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../utils/process'; +import { expectFileToExist } from '../../utils/fs'; - -export default function() { +export default function () { const projectDir = join('src', 'app'); - return ng('generate', 'class', 'test-class') - .then(() => expectFileToExist(projectDir)) - .then(() => expectFileToExist(join(projectDir, 'test-class.ts'))) - .then(() => expectFileToExist(join(projectDir, 'test-class.spec.ts'))) + return ( + ng('generate', 'class', 'test-class') + .then(() => expectFileToExist(projectDir)) + .then(() => expectFileToExist(join(projectDir, 'test-class.ts'))) + .then(() => expectFileToExist(join(projectDir, 'test-class.spec.ts'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-basic.ts b/tests/legacy-cli/e2e/tests/generate/component/component-basic.ts index 7c39f144d00d..66b226282027 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-basic.ts @@ -1,22 +1,22 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist, expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist, expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const projectDir = join('src', 'app'); const componentDir = join(projectDir, 'test-component'); - const importCheck = - `import { TestComponentComponent } from './test-component/test-component.component';`; - return ng('generate', 'component', 'test-component') - .then(() => expectFileToExist(componentDir)) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.html'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) - .then(() => expectFileToMatch(join(projectDir, 'app.module.ts'), importCheck)) + const importCheck = `import { TestComponentComponent } from './test-component/test-component.component';`; + return ( + ng('generate', 'component', 'test-component') + .then(() => expectFileToExist(componentDir)) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.html'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) + .then(() => expectFileToMatch(join(projectDir, 'app.module.ts'), importCheck)) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts b/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts index a759ae01832a..8ca2ef518855 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts @@ -1,19 +1,34 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { // TODO:BREAKING CHANGE... NO LONGER SUPPORTED return Promise.resolve(); const compDir = join('projects', 'test-project', 'src', 'test'); return Promise.resolve() - .then(() => ng('generate', 'component', 'test', - '--change-detection', 'onpush', - '--view-encapsulation', 'emulated')) - .then(() => expectFileToMatch(join(compDir, 'test.component.ts'), - /changeDetection: ChangeDetectionStrategy.OnPush/)) - .then(() => expectFileToMatch(join(compDir, 'test.component.ts'), - /encapsulation: ViewEncapsulation.Emulated/)); + .then(() => + ng( + 'generate', + 'component', + 'test', + '--change-detection', + 'onpush', + '--view-encapsulation', + 'emulated', + ), + ) + .then(() => + expectFileToMatch( + join(compDir, 'test.component.ts'), + /changeDetection: ChangeDetectionStrategy.OnPush/, + ), + ) + .then(() => + expectFileToMatch( + join(compDir, 'test.component.ts'), + /encapsulation: ViewEncapsulation.Emulated/, + ), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-flat.ts b/tests/legacy-cli/e2e/tests/generate/component/component-flat.ts index 448a6aef4df3..a17a5c24bd9d 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-flat.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-flat.ts @@ -1,24 +1,27 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; -import {updateJsonFile} from '../../../utils/project'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist } from '../../../utils/fs'; +import { updateJsonFile } from '../../../utils/project'; - -export default function() { +export default function () { const appDir = join('src', 'app'); - return Promise.resolve() - .then(() => updateJsonFile('angular.json', configJson => { - configJson.projects['test-project'].schematics = { - '@schematics/angular:component': { flat: true } - }; - })) - .then(() => ng('generate', 'component', 'test-component')) - .then(() => expectFileToExist(appDir)) - .then(() => expectFileToExist(join(appDir, 'test-component.component.ts'))) - .then(() => expectFileToExist(join(appDir, 'test-component.component.spec.ts'))) - .then(() => expectFileToExist(join(appDir, 'test-component.component.html'))) - .then(() => expectFileToExist(join(appDir, 'test-component.component.css'))) + return ( + Promise.resolve() + .then(() => + updateJsonFile('angular.json', (configJson) => { + configJson.projects['test-project'].schematics = { + '@schematics/angular:component': { flat: true }, + }; + }), + ) + .then(() => ng('generate', 'component', 'test-component')) + .then(() => expectFileToExist(appDir)) + .then(() => expectFileToExist(join(appDir, 'test-component.component.ts'))) + .then(() => expectFileToExist(join(appDir, 'test-component.component.spec.ts'))) + .then(() => expectFileToExist(join(appDir, 'test-component.component.html'))) + .then(() => expectFileToExist(join(appDir, 'test-component.component.css'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-inline-template.ts b/tests/legacy-cli/e2e/tests/generate/component/component-inline-template.ts index f76409820a1a..930226520004 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-inline-template.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-inline-template.ts @@ -1,26 +1,31 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; -import {updateJsonFile} from '../../../utils/project'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist } from '../../../utils/fs'; +import { updateJsonFile } from '../../../utils/project'; import { expectToFail } from '../../../utils/utils'; - // tslint:disable:max-line-length -export default function() { +export default function () { const componentDir = join('src', 'app', 'test-component'); - return Promise.resolve() - .then(() => updateJsonFile('angular.json', configJson => { - configJson.projects['test-project'].schematics = { - '@schematics/angular:component': { inlineTemplate: true } - }; - })) - .then(() => ng('generate', 'component', 'test-component')) - .then(() => expectFileToExist(componentDir)) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) - .then(() => expectToFail(() => expectFileToExist(join(componentDir, 'test-component.component.html')))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) + return ( + Promise.resolve() + .then(() => + updateJsonFile('angular.json', (configJson) => { + configJson.projects['test-project'].schematics = { + '@schematics/angular:component': { inlineTemplate: true }, + }; + }), + ) + .then(() => ng('generate', 'component', 'test-component')) + .then(() => expectFileToExist(componentDir)) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) + .then(() => + expectToFail(() => expectFileToExist(join(componentDir, 'test-component.component.html'))), + ) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-module-2.ts b/tests/legacy-cli/e2e/tests/generate/component/component-module-2.ts index c5af6fad4d0a..18c95587c35d 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-module-2.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-module-2.ts @@ -1,20 +1,26 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const root = process.cwd(); - const modulePath = join(root, 'src', 'app', - 'admin', 'module', 'module.module.ts'); + const modulePath = join(root, 'src', 'app', 'admin', 'module', 'module.module.ts'); - return Promise.resolve() - .then(() => ng('generate', 'module', 'admin/module')) - .then(() => ng('generate', 'component', 'other/test-component', '--module', 'admin/module')) - .then(() => expectFileToMatch(modulePath, - new RegExp(/import { TestComponentComponent } /.source + - /from '..\/..\/other\/test-component\/test-component.component'/.source))) + return ( + Promise.resolve() + .then(() => ng('generate', 'module', 'admin/module')) + .then(() => ng('generate', 'component', 'other/test-component', '--module', 'admin/module')) + .then(() => + expectFileToMatch( + modulePath, + new RegExp( + /import { TestComponentComponent } /.source + + /from '..\/..\/other\/test-component\/test-component.component'/.source, + ), + ), + ) - // Try to run the unit tests. - .then(() => ng('build', '--configuration=development')); + // Try to run the unit tests. + .then(() => ng('build', '--configuration=development')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-module-export.ts b/tests/legacy-cli/e2e/tests/generate/component/component-module-export.ts index 4c2b2e89d8c5..64340915a095 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-module-export.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-module-export.ts @@ -1,14 +1,17 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const modulePath = join('src', 'app', 'app.module.ts'); - return ng('generate', 'component', 'test-component', '--export') - .then(() => expectFileToMatch(modulePath, /exports: \[\r?\n(\s*) TestComponentComponent\r?\n\1\]/)) + return ( + ng('generate', 'component', 'test-component', '--export') + .then(() => + expectFileToMatch(modulePath, /exports: \[\r?\n(\s*) TestComponentComponent\r?\n\1\]/), + ) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-module-fail.ts b/tests/legacy-cli/e2e/tests/generate/component/component-module-fail.ts index f4efd1eb8ff6..fe116fcac3d2 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-module-fail.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-module-fail.ts @@ -1,9 +1,10 @@ -import {ng} from '../../../utils/process'; -import {expectToFail} from '../../../utils/utils'; +import { ng } from '../../../utils/process'; +import { expectToFail } from '../../../utils/utils'; - -export default function() { - return Promise.resolve() - .then(() => expectToFail(() => - ng('generate', 'component', 'test-component', '--module', 'app.moduleXXX.ts'))); +export default function () { + return Promise.resolve().then(() => + expectToFail(() => + ng('generate', 'component', 'test-component', '--module', 'app.moduleXXX.ts'), + ), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-module.ts b/tests/legacy-cli/e2e/tests/generate/component/component-module.ts index 9a77eaadea48..46f7d29d11ba 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-module.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-module.ts @@ -1,23 +1,32 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const root = process.cwd(); // projects/ test-project/ src/ app.module.ts const modulePath = join('src', 'app', 'app.module.ts'); - return ng('generate', 'component', 'test-component', '--module', 'app.module.ts') - .then(() => expectFileToMatch(modulePath, - /import { TestComponentComponent } from '.\/test-component\/test-component.component'/)) + return ( + ng('generate', 'component', 'test-component', '--module', 'app.module.ts') + .then(() => + expectFileToMatch( + modulePath, + /import { TestComponentComponent } from '.\/test-component\/test-component.component'/, + ), + ) - .then(() => process.chdir(join(root, 'src', 'app'))) - .then(() => ng('generate', 'component', 'test-component2', '--module', 'app.module.ts')) - .then(() => process.chdir('../..')) - .then(() => expectFileToMatch(modulePath, - /import { TestComponent2Component } from '.\/test-component2\/test-component2.component'/)) + .then(() => process.chdir(join(root, 'src', 'app'))) + .then(() => ng('generate', 'component', 'test-component2', '--module', 'app.module.ts')) + .then(() => process.chdir('../..')) + .then(() => + expectFileToMatch( + modulePath, + /import { TestComponent2Component } from '.\/test-component2\/test-component2.component'/, + ), + ) - // Try to run the unit tests. - .then(() => ng('build', '--configuration=development')); + // Try to run the unit tests. + .then(() => ng('build', '--configuration=development')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-not-flat.ts b/tests/legacy-cli/e2e/tests/generate/component/component-not-flat.ts index d25936fb6e4f..575fafab99dd 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-not-flat.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-not-flat.ts @@ -1,25 +1,28 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; -import {updateJsonFile} from '../../../utils/project'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist } from '../../../utils/fs'; +import { updateJsonFile } from '../../../utils/project'; - -export default function() { +export default function () { const componentDir = join('src', 'app', 'test-component'); - return Promise.resolve() - .then(() => updateJsonFile('angular.json', configJson => { - configJson.projects['test-project'].schematics = { - '@schematics/angular:component': { flat: false } - }; - })) - .then(() => ng('generate', 'component', 'test-component')) - .then(() => expectFileToExist(componentDir)) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.html'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) + return ( + Promise.resolve() + .then(() => + updateJsonFile('angular.json', (configJson) => { + configJson.projects['test-project'].schematics = { + '@schematics/angular:component': { flat: false }, + }; + }), + ) + .then(() => ng('generate', 'component', 'test-component')) + .then(() => expectFileToExist(componentDir)) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.html'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts b/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts index f76c09abe1fc..e143c9c56427 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts @@ -11,7 +11,7 @@ export default async function () { try { // Generate a component - await ng('generate', 'component', `${upperDirs}/test-component`) + await ng('generate', 'component', `${upperDirs}/test-component`); // Ensure component is created in the correct location relative to the workspace root await expectFileToExist(join(componentDirectory, 'test-component.component.ts')); diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-prefix.ts b/tests/legacy-cli/e2e/tests/generate/component/component-prefix.ts index f63dece7672a..16ad3c0a025e 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-prefix.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-prefix.ts @@ -1,26 +1,29 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; import { updateJsonFile } from '../../../utils/project'; - -export default function() { +export default function () { const testCompDir = join('src', 'app', 'test-component'); const aliasCompDir = join('src', 'app', 'alias'); - return Promise.resolve() - .then(() => updateJsonFile('angular.json', configJson => { - configJson.projects['test-project'].schematics = { - '@schematics/angular:component': { prefix: 'pre' } - }; - })) - .then(() => ng('generate', 'component', 'test-component')) - .then(() => expectFileToMatch(join(testCompDir, 'test-component.component.ts'), - /selector: 'pre-/)) - .then(() => ng('g', 'c', 'alias')) - .then(() => expectFileToMatch(join(aliasCompDir, 'alias.component.ts'), - /selector: 'pre-/)) + return ( + Promise.resolve() + .then(() => + updateJsonFile('angular.json', (configJson) => { + configJson.projects['test-project'].schematics = { + '@schematics/angular:component': { prefix: 'pre' }, + }; + }), + ) + .then(() => ng('generate', 'component', 'test-component')) + .then(() => + expectFileToMatch(join(testCompDir, 'test-component.component.ts'), /selector: 'pre-/), + ) + .then(() => ng('g', 'c', 'alias')) + .then(() => expectFileToMatch(join(aliasCompDir, 'alias.component.ts'), /selector: 'pre-/)) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/directive/directive-basic.ts b/tests/legacy-cli/e2e/tests/generate/directive/directive-basic.ts index b76308f26da3..31cbbe2225eb 100644 --- a/tests/legacy-cli/e2e/tests/generate/directive/directive-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/directive/directive-basic.ts @@ -1,14 +1,15 @@ -import {ng} from '../../../utils/process'; -import {join} from 'path'; -import {expectFileToExist} from '../../../utils/fs'; +import { ng } from '../../../utils/process'; +import { join } from 'path'; +import { expectFileToExist } from '../../../utils/fs'; - -export default function() { +export default function () { const directiveDir = join('src', 'app'); - return ng('generate', 'directive', 'test-directive') - .then(() => expectFileToExist(join(directiveDir, 'test-directive.directive.ts'))) - .then(() => expectFileToExist(join(directiveDir, 'test-directive.directive.spec.ts'))) + return ( + ng('generate', 'directive', 'test-directive') + .then(() => expectFileToExist(join(directiveDir, 'test-directive.directive.ts'))) + .then(() => expectFileToExist(join(directiveDir, 'test-directive.directive.spec.ts'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/directive/directive-module-export.ts b/tests/legacy-cli/e2e/tests/generate/directive/directive-module-export.ts index 376b5cb762f5..6a0c7f7a8aa6 100644 --- a/tests/legacy-cli/e2e/tests/generate/directive/directive-module-export.ts +++ b/tests/legacy-cli/e2e/tests/generate/directive/directive-module-export.ts @@ -1,14 +1,17 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const modulePath = join('src', 'app', 'app.module.ts'); - return ng('generate', 'directive', 'test-directive', '--export') - .then(() => expectFileToMatch(modulePath, /exports: \[\r?\n(\s*) TestDirectiveDirective\r?\n\1\]/)) + return ( + ng('generate', 'directive', 'test-directive', '--export') + .then(() => + expectFileToMatch(modulePath, /exports: \[\r?\n(\s*) TestDirectiveDirective\r?\n\1\]/), + ) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/directive/directive-module-fail.ts b/tests/legacy-cli/e2e/tests/generate/directive/directive-module-fail.ts index 05ff8d98f1c9..c32d8a28df97 100644 --- a/tests/legacy-cli/e2e/tests/generate/directive/directive-module-fail.ts +++ b/tests/legacy-cli/e2e/tests/generate/directive/directive-module-fail.ts @@ -1,8 +1,10 @@ -import {ng} from '../../../utils/process'; -import {expectToFail} from '../../../utils/utils'; +import { ng } from '../../../utils/process'; +import { expectToFail } from '../../../utils/utils'; -export default function() { - return Promise.resolve() - .then(() => expectToFail(() => - ng('generate', 'directive', 'test-directive', '--module', 'app.moduleXXX.ts'))); +export default function () { + return Promise.resolve().then(() => + expectToFail(() => + ng('generate', 'directive', 'test-directive', '--module', 'app.moduleXXX.ts'), + ), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/directive/directive-module.ts b/tests/legacy-cli/e2e/tests/generate/directive/directive-module.ts index fb0e4f99c3db..25bc0f701faa 100644 --- a/tests/legacy-cli/e2e/tests/generate/directive/directive-module.ts +++ b/tests/legacy-cli/e2e/tests/generate/directive/directive-module.ts @@ -1,21 +1,30 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const modulePath = join('src', 'app', 'app.module.ts'); - return ng('generate', 'directive', 'test-directive', '--module', 'app.module.ts') - .then(() => expectFileToMatch(modulePath, - /import { TestDirectiveDirective } from '.\/test-directive.directive'/)) + return ( + ng('generate', 'directive', 'test-directive', '--module', 'app.module.ts') + .then(() => + expectFileToMatch( + modulePath, + /import { TestDirectiveDirective } from '.\/test-directive.directive'/, + ), + ) - .then(() => process.chdir(join('src', 'app'))) - .then(() => ng('generate', 'directive', 'test-directive2', '--module', 'app.module.ts')) - .then(() => process.chdir('../..')) - .then(() => expectFileToMatch(modulePath, - /import { TestDirective2Directive } from '.\/test-directive2.directive'/)) + .then(() => process.chdir(join('src', 'app'))) + .then(() => ng('generate', 'directive', 'test-directive2', '--module', 'app.module.ts')) + .then(() => process.chdir('../..')) + .then(() => + expectFileToMatch( + modulePath, + /import { TestDirective2Directive } from '.\/test-directive2.directive'/, + ), + ) - // Try to run the unit tests. - .then(() => ng('build', '--configuration=development')); + // Try to run the unit tests. + .then(() => ng('build', '--configuration=development')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts b/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts index 7667915c7af3..e3a65abd376b 100644 --- a/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts +++ b/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts @@ -1,40 +1,51 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; import { updateJsonFile, useCIChrome, useCIDefaults } from '../../../utils/project'; - -export default function() { +export default function () { const directiveDir = join('src', 'app'); - return Promise.resolve() - .then(() => updateJsonFile('angular.json', configJson => { - configJson.schematics = { - '@schematics/angular:directive': { prefix: 'preW' } - }; - })) - .then(() => ng('generate', 'directive', 'test2-directive')) - .then(() => expectFileToMatch(join(directiveDir, 'test2-directive.directive.ts'), - /selector: '\[preW/)) - .then(() => ng('generate', 'application', 'app-two', '--skip-install')) - .then(() => useCIDefaults('app-two')) - .then(() => useCIChrome('./projects/app-two')) - .then(() => updateJsonFile('angular.json', configJson => { - configJson.projects['test-project'].schematics = { - '@schematics/angular:directive': { prefix: 'preP' } - }; - })) - .then(() => process.chdir('projects/app-two')) - .then(() => ng('generate', 'directive', '--skip-import', 'test3-directive')) - .then(() => process.chdir('../..')) - .then(() => expectFileToMatch(join('projects', 'app-two', 'test3-directive.directive.ts'), - /selector: '\[preW/)) - .then(() => process.chdir('src/app')) - .then(() => ng('generate', 'directive', 'test-directive')) - .then(() => process.chdir('../..')) - .then(() => expectFileToMatch(join(directiveDir, 'test-directive.directive.ts'), - /selector: '\[preP/)) + return ( + Promise.resolve() + .then(() => + updateJsonFile('angular.json', (configJson) => { + configJson.schematics = { + '@schematics/angular:directive': { prefix: 'preW' }, + }; + }), + ) + .then(() => ng('generate', 'directive', 'test2-directive')) + .then(() => + expectFileToMatch(join(directiveDir, 'test2-directive.directive.ts'), /selector: '\[preW/), + ) + .then(() => ng('generate', 'application', 'app-two', '--skip-install')) + .then(() => useCIDefaults('app-two')) + .then(() => useCIChrome('./projects/app-two')) + .then(() => + updateJsonFile('angular.json', (configJson) => { + configJson.projects['test-project'].schematics = { + '@schematics/angular:directive': { prefix: 'preP' }, + }; + }), + ) + .then(() => process.chdir('projects/app-two')) + .then(() => ng('generate', 'directive', '--skip-import', 'test3-directive')) + .then(() => process.chdir('../..')) + .then(() => + expectFileToMatch( + join('projects', 'app-two', 'test3-directive.directive.ts'), + /selector: '\[preW/, + ), + ) + .then(() => process.chdir('src/app')) + .then(() => ng('generate', 'directive', 'test-directive')) + .then(() => process.chdir('../..')) + .then(() => + expectFileToMatch(join(directiveDir, 'test-directive.directive.ts'), /selector: '\[preP/), + ) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/generate-error.ts b/tests/legacy-cli/e2e/tests/generate/generate-error.ts index 08d85cc02b43..cee6d7998239 100644 --- a/tests/legacy-cli/e2e/tests/generate/generate-error.ts +++ b/tests/legacy-cli/e2e/tests/generate/generate-error.ts @@ -1,8 +1,9 @@ -import {ng} from '../../utils/process'; -import {deleteFile} from '../../utils/fs'; -import {expectToFail} from '../../utils/utils'; +import { ng } from '../../utils/process'; +import { deleteFile } from '../../utils/fs'; +import { expectToFail } from '../../utils/utils'; -export default function() { - return deleteFile('angular.json') - .then(() => expectToFail(() => ng('generate', 'class', 'hello'))); +export default function () { + return deleteFile('angular.json').then(() => + expectToFail(() => ng('generate', 'class', 'hello')), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/generate-name-check.ts b/tests/legacy-cli/e2e/tests/generate/generate-name-check.ts index a42a5cd6ca9a..ad542ba3cb17 100644 --- a/tests/legacy-cli/e2e/tests/generate/generate-name-check.ts +++ b/tests/legacy-cli/e2e/tests/generate/generate-name-check.ts @@ -1,24 +1,27 @@ -import {join} from 'path'; -import {ng} from '../../utils/process'; -import {expectFileToExist} from '../../utils/fs'; -import {updateJsonFile} from '../../utils/project'; +import { join } from 'path'; +import { ng } from '../../utils/process'; +import { expectFileToExist } from '../../utils/fs'; +import { updateJsonFile } from '../../utils/project'; - -export default function() { +export default function () { const compDir = join('src', 'app', 'test-component'); - return Promise.resolve() - .then(() => updateJsonFile('package.json', configJson => { - delete configJson.name; - return configJson; - })) - .then(() => ng('generate', 'component', 'test-component')) - .then(() => expectFileToExist(compDir)) - .then(() => expectFileToExist(join(compDir, 'test-component.component.ts'))) - .then(() => expectFileToExist(join(compDir, 'test-component.component.spec.ts'))) - .then(() => expectFileToExist(join(compDir, 'test-component.component.html'))) - .then(() => expectFileToExist(join(compDir, 'test-component.component.css'))) + return ( + Promise.resolve() + .then(() => + updateJsonFile('package.json', (configJson) => { + delete configJson.name; + return configJson; + }), + ) + .then(() => ng('generate', 'component', 'test-component')) + .then(() => expectFileToExist(compDir)) + .then(() => expectFileToExist(join(compDir, 'test-component.component.ts'))) + .then(() => expectFileToExist(join(compDir, 'test-component.component.spec.ts'))) + .then(() => expectFileToExist(join(compDir, 'test-component.component.html'))) + .then(() => expectFileToExist(join(compDir, 'test-component.component.css'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/generate-name-error.ts b/tests/legacy-cli/e2e/tests/generate/generate-name-error.ts index 2fb0583ca514..02660e690a0b 100644 --- a/tests/legacy-cli/e2e/tests/generate/generate-name-error.ts +++ b/tests/legacy-cli/e2e/tests/generate/generate-name-error.ts @@ -1,9 +1,8 @@ -import {ng} from '../../utils/process'; -import {expectToFail} from '../../utils/utils'; +import { ng } from '../../utils/process'; +import { expectToFail } from '../../utils/utils'; - -export default function() { - return Promise.resolve() - .then(() => expectToFail(() => - ng('generate', 'component', '1my-component'))); +export default function () { + return Promise.resolve().then(() => + expectToFail(() => ng('generate', 'component', '1my-component')), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/guard/guard-basic.ts b/tests/legacy-cli/e2e/tests/generate/guard/guard-basic.ts index 7148fb0b5bf5..737035952d7c 100644 --- a/tests/legacy-cli/e2e/tests/generate/guard/guard-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/guard/guard-basic.ts @@ -1,9 +1,8 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist, expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist, expectFileToMatch } from '../../../utils/fs'; - -export default async function() { +export default async function () { // Does not create a sub directory. const guardDir = join('src', 'app'); diff --git a/tests/legacy-cli/e2e/tests/generate/guard/guard-implements.ts b/tests/legacy-cli/e2e/tests/generate/guard/guard-implements.ts index 5dcf2a32d18c..7a16e02b8619 100644 --- a/tests/legacy-cli/e2e/tests/generate/guard/guard-implements.ts +++ b/tests/legacy-cli/e2e/tests/generate/guard/guard-implements.ts @@ -1,9 +1,8 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist,expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist, expectFileToMatch } from '../../../utils/fs'; - -export default async function() { +export default async function () { // Does not create a sub directory. const guardDir = join('src', 'app'); diff --git a/tests/legacy-cli/e2e/tests/generate/guard/guard-multiple-implements.ts b/tests/legacy-cli/e2e/tests/generate/guard/guard-multiple-implements.ts index a91bfd0ddde5..3ec06be59ccc 100644 --- a/tests/legacy-cli/e2e/tests/generate/guard/guard-multiple-implements.ts +++ b/tests/legacy-cli/e2e/tests/generate/guard/guard-multiple-implements.ts @@ -1,16 +1,18 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist,expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist, expectFileToMatch } from '../../../utils/fs'; - -export default async function() { +export default async function () { // Does not create a sub directory. const guardDir = join('src', 'app'); await ng('generate', 'guard', 'load', '--implements=CanLoad', '--implements=CanDeactivate'); await expectFileToExist(guardDir); await expectFileToExist(join(guardDir, 'load.guard.ts')); - await expectFileToMatch(join(guardDir, 'load.guard.ts'), /implements CanLoad, CanDeactivate/); + await expectFileToMatch( + join(guardDir, 'load.guard.ts'), + /implements CanLoad, CanDeactivate/, + ); await expectFileToExist(join(guardDir, 'load.guard.spec.ts')); await ng('test', '--watch=false'); } diff --git a/tests/legacy-cli/e2e/tests/generate/help-output-no-duplicates.ts b/tests/legacy-cli/e2e/tests/generate/help-output-no-duplicates.ts index 821333637079..9a8cf8ca7fcc 100644 --- a/tests/legacy-cli/e2e/tests/generate/help-output-no-duplicates.ts +++ b/tests/legacy-cli/e2e/tests/generate/help-output-no-duplicates.ts @@ -1,7 +1,7 @@ import { ng } from '../../utils/process'; -export default async function() { - // Verify that there are no duplicate options +export default async function () { + // Verify that there are no duplicate options const { stdout } = await ng('generate', 'component', '--help'); const firstIndex = stdout.indexOf('--prefix'); diff --git a/tests/legacy-cli/e2e/tests/generate/interceptor/interceptor-basic.ts b/tests/legacy-cli/e2e/tests/generate/interceptor/interceptor-basic.ts index 19e27eeed5dc..632e8e86367b 100755 --- a/tests/legacy-cli/e2e/tests/generate/interceptor/interceptor-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/interceptor/interceptor-basic.ts @@ -1,17 +1,18 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist } from '../../../utils/fs'; - -export default function() { +export default function () { // Does not create a sub directory. const interceptorDir = join('src', 'app'); - return ng('generate', 'interceptor', 'test-interceptor') - .then(() => expectFileToExist(interceptorDir)) - .then(() => expectFileToExist(join(interceptorDir, 'test-interceptor.interceptor.ts'))) - .then(() => expectFileToExist(join(interceptorDir, 'test-interceptor.interceptor.spec.ts'))) + return ( + ng('generate', 'interceptor', 'test-interceptor') + .then(() => expectFileToExist(interceptorDir)) + .then(() => expectFileToExist(join(interceptorDir, 'test-interceptor.interceptor.ts'))) + .then(() => expectFileToExist(join(interceptorDir, 'test-interceptor.interceptor.spec.ts'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/interface.ts b/tests/legacy-cli/e2e/tests/generate/interface.ts index e74f2570f4f1..2a28ca524617 100644 --- a/tests/legacy-cli/e2e/tests/generate/interface.ts +++ b/tests/legacy-cli/e2e/tests/generate/interface.ts @@ -1,15 +1,16 @@ -import {join} from 'path'; -import {ng} from '../../utils/process'; -import {expectFileToExist} from '../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../utils/process'; +import { expectFileToExist } from '../../utils/fs'; - -export default function() { +export default function () { const interfaceDir = join('src', 'app'); - return ng('generate', 'interface', 'test-interface', 'model') - .then(() => expectFileToExist(interfaceDir)) - .then(() => expectFileToExist(join(interfaceDir, 'test-interface.model.ts'))) + return ( + ng('generate', 'interface', 'test-interface', 'model') + .then(() => expectFileToExist(interfaceDir)) + .then(() => expectFileToExist(join(interfaceDir, 'test-interface.model.ts'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/module/module-basic.ts b/tests/legacy-cli/e2e/tests/generate/module/module-basic.ts index b78c3c22a112..2326f2f282f3 100644 --- a/tests/legacy-cli/e2e/tests/generate/module/module-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/module/module-basic.ts @@ -1,19 +1,20 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist, expectFileToMatch} from '../../../utils/fs'; -import {expectToFail} from '../../../utils/utils'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist, expectFileToMatch } from '../../../utils/fs'; +import { expectToFail } from '../../../utils/utils'; - -export default function() { +export default function () { const moduleDir = join('src', 'app', 'test'); - return ng('generate', 'module', 'test') - .then(() => expectFileToExist(moduleDir)) - .then(() => expectFileToExist(join(moduleDir, 'test.module.ts'))) - .then(() => expectToFail(() => expectFileToExist(join(moduleDir, 'test-routing.module.ts')))) - .then(() => expectToFail(() => expectFileToExist(join(moduleDir, 'test.spec.ts')))) - .then(() => expectFileToMatch(join(moduleDir, 'test.module.ts'), 'TestModule')) + return ( + ng('generate', 'module', 'test') + .then(() => expectFileToExist(moduleDir)) + .then(() => expectFileToExist(join(moduleDir, 'test.module.ts'))) + .then(() => expectToFail(() => expectFileToExist(join(moduleDir, 'test-routing.module.ts')))) + .then(() => expectToFail(() => expectFileToExist(join(moduleDir, 'test.spec.ts')))) + .then(() => expectFileToMatch(join(moduleDir, 'test.module.ts'), 'TestModule')) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/module/module-import.ts b/tests/legacy-cli/e2e/tests/generate/module/module-import.ts index 1e00993bc858..987d6d074257 100644 --- a/tests/legacy-cli/e2e/tests/generate/module/module-import.ts +++ b/tests/legacy-cli/e2e/tests/generate/module/module-import.ts @@ -13,42 +13,62 @@ export default function () { .then(() => ng('generate', 'module', 'sub/deep')) .then(() => ng('generate', 'module', 'test1', '--module', 'app.module.ts')) - .then(() => expectFileToMatch(modulePath, - /import { Test1Module } from '.\/test1\/test1.module'/)) + .then(() => + expectFileToMatch(modulePath, /import { Test1Module } from '.\/test1\/test1.module'/), + ) .then(() => expectFileToMatch(modulePath, /imports: \[(.|\s)*Test1Module(.|\s)*\]/m)) .then(() => ng('generate', 'module', 'test2', '--module', 'app.module')) - .then(() => expectFileToMatch(modulePath, - /import { Test2Module } from '.\/test2\/test2.module'/)) + .then(() => + expectFileToMatch(modulePath, /import { Test2Module } from '.\/test2\/test2.module'/), + ) .then(() => expectFileToMatch(modulePath, /imports: \[(.|\s)*Test2Module(.|\s)*\]/m)) .then(() => ng('generate', 'module', 'test3', '--module', 'app')) - .then(() => expectFileToMatch(modulePath, - /import { Test3Module } from '.\/test3\/test3.module'/)) + .then(() => + expectFileToMatch(modulePath, /import { Test3Module } from '.\/test3\/test3.module'/), + ) .then(() => expectFileToMatch(modulePath, /imports: \[(.|\s)*Test3Module(.|\s)*\]/m)) .then(() => ng('generate', 'module', 'test4', '--routing', '--module', 'app')) .then(() => expectFileToMatch(modulePath, /imports: \[(.|\s)*Test4Module(.|\s)*\]/m)) - .then(() => expectFileToMatch(join('src', 'app', 'test4', 'test4.module.ts'), - /import { Test4RoutingModule } from '.\/test4-routing.module'/)) - .then(() => expectFileToMatch(join('src', 'app', 'test4', 'test4.module.ts'), - /imports: \[(.|\s)*Test4RoutingModule(.|\s)*\]/m)) + .then(() => + expectFileToMatch( + join('src', 'app', 'test4', 'test4.module.ts'), + /import { Test4RoutingModule } from '.\/test4-routing.module'/, + ), + ) + .then(() => + expectFileToMatch( + join('src', 'app', 'test4', 'test4.module.ts'), + /imports: \[(.|\s)*Test4RoutingModule(.|\s)*\]/m, + ), + ) .then(() => ng('generate', 'module', 'test5', '--module', 'sub')) - .then(() => expectFileToMatch(subModulePath, - /import { Test5Module } from '..\/test5\/test5.module'/)) + .then(() => + expectFileToMatch(subModulePath, /import { Test5Module } from '..\/test5\/test5.module'/), + ) .then(() => expectFileToMatch(subModulePath, /imports: \[(.|\s)*Test5Module(.|\s)*\]/m)) - .then(() => ng('generate', 'module', 'test6', '--module', join('sub', 'deep')) - .then(() => expectFileToMatch(deepSubModulePath, - /import { Test6Module } from '..\/..\/test6\/test6.module'/)) - .then(() => expectFileToMatch(deepSubModulePath, /imports: \[(.|\s)*Test6Module(.|\s)*\]/m))); - - // E2E_DISABLE: temporarily disable pending investigation - // .then(() => process.chdir(join(root, 'src', 'app'))) - // .then(() => ng('generate', 'module', 'test7', '--module', 'app.module.ts')) - // .then(() => process.chdir('..')) - // .then(() => expectFileToMatch(modulePath, - // /import { Test7Module } from '.\/test7\/test7.module'/)) - // .then(() => expectFileToMatch(modulePath, /imports: \[(.|\s)*Test7Module(.|\s)*\]/m)); + .then(() => + ng('generate', 'module', 'test6', '--module', join('sub', 'deep')) + .then(() => + expectFileToMatch( + deepSubModulePath, + /import { Test6Module } from '..\/..\/test6\/test6.module'/, + ), + ) + .then(() => + expectFileToMatch(deepSubModulePath, /imports: \[(.|\s)*Test6Module(.|\s)*\]/m), + ), + ); + + // E2E_DISABLE: temporarily disable pending investigation + // .then(() => process.chdir(join(root, 'src', 'app'))) + // .then(() => ng('generate', 'module', 'test7', '--module', 'app.module.ts')) + // .then(() => process.chdir('..')) + // .then(() => expectFileToMatch(modulePath, + // /import { Test7Module } from '.\/test7\/test7.module'/)) + // .then(() => expectFileToMatch(modulePath, /imports: \[(.|\s)*Test7Module(.|\s)*\]/m)); } diff --git a/tests/legacy-cli/e2e/tests/generate/module/module-routing-child-folder.ts b/tests/legacy-cli/e2e/tests/generate/module/module-routing-child-folder.ts index 240588a8967d..0d7b431aa4c7 100644 --- a/tests/legacy-cli/e2e/tests/generate/module/module-routing-child-folder.ts +++ b/tests/legacy-cli/e2e/tests/generate/module/module-routing-child-folder.ts @@ -3,23 +3,21 @@ import { ng } from '../../../utils/process'; import { expectFileToExist } from '../../../utils/fs'; import { expectToFail } from '../../../utils/utils'; - export default function () { const root = process.cwd(); const testPath = join(root, 'src', 'app'); process.chdir(testPath); - return Promise.resolve() - .then(() => - ng('generate', 'module', 'sub-dir/child', '--routing') - .then(() => expectFileToExist(join(testPath, 'sub-dir/child'))) - .then(() => expectFileToExist(join(testPath, 'sub-dir/child', 'child.module.ts'))) - .then(() => expectFileToExist(join(testPath, 'sub-dir/child', 'child-routing.module.ts'))) - .then(() => expectToFail(() => - expectFileToExist(join(testPath, 'sub-dir/child', 'child.spec.ts')) - )) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')) - ); + return Promise.resolve().then(() => + ng('generate', 'module', 'sub-dir/child', '--routing') + .then(() => expectFileToExist(join(testPath, 'sub-dir/child'))) + .then(() => expectFileToExist(join(testPath, 'sub-dir/child', 'child.module.ts'))) + .then(() => expectFileToExist(join(testPath, 'sub-dir/child', 'child-routing.module.ts'))) + .then(() => + expectToFail(() => expectFileToExist(join(testPath, 'sub-dir/child', 'child.spec.ts'))), + ) + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/module/module-routing.ts b/tests/legacy-cli/e2e/tests/generate/module/module-routing.ts index cf6208b0a84c..dbeaf843ec51 100644 --- a/tests/legacy-cli/e2e/tests/generate/module/module-routing.ts +++ b/tests/legacy-cli/e2e/tests/generate/module/module-routing.ts @@ -1,17 +1,18 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; -import {expectToFail} from '../../../utils/utils'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist } from '../../../utils/fs'; +import { expectToFail } from '../../../utils/utils'; - -export default function() { +export default function () { const moduleDir = join('src', 'app', 'test'); - return ng('generate', 'module', 'test', '--routing') - .then(() => expectFileToExist(moduleDir)) - .then(() => expectFileToExist(join(moduleDir, 'test.module.ts'))) - .then(() => expectFileToExist(join(moduleDir, 'test-routing.module.ts'))) - .then(() => expectToFail(() => expectFileToExist(join(moduleDir, 'test.spec.ts')))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + return ( + ng('generate', 'module', 'test', '--routing') + .then(() => expectFileToExist(moduleDir)) + .then(() => expectFileToExist(join(moduleDir, 'test.module.ts'))) + .then(() => expectFileToExist(join(moduleDir, 'test-routing.module.ts'))) + .then(() => expectToFail(() => expectFileToExist(join(moduleDir, 'test.spec.ts')))) + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-basic.ts b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-basic.ts index 0480c13cd2ff..d752aa38b533 100644 --- a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-basic.ts @@ -1,17 +1,19 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; +import { expectFileToExist } from '../../../utils/fs'; -export default function() { +export default function () { // Create the pipe in the same directory. const pipeDir = join('src', 'app'); - return ng('generate', 'pipe', 'test-pipe') - .then(() => expectFileToExist(pipeDir)) - .then(() => expectFileToExist(join(pipeDir, 'test-pipe.pipe.ts'))) - .then(() => expectFileToExist(join(pipeDir, 'test-pipe.pipe.spec.ts'))) + return ( + ng('generate', 'pipe', 'test-pipe') + .then(() => expectFileToExist(pipeDir)) + .then(() => expectFileToExist(join(pipeDir, 'test-pipe.pipe.ts'))) + .then(() => expectFileToExist(join(pipeDir, 'test-pipe.pipe.spec.ts'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-export.ts b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-export.ts index 4773b2b5e231..7f6f1bda0c06 100644 --- a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-export.ts +++ b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-export.ts @@ -1,14 +1,15 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const modulePath = join('src', 'app', 'app.module.ts'); - return ng('generate', 'pipe', 'test-pipe', '--export') - .then(() => expectFileToMatch(modulePath, /exports: \[\r?\n(\s*) TestPipePipe\r?\n\1\]/)) + return ( + ng('generate', 'pipe', 'test-pipe', '--export') + .then(() => expectFileToMatch(modulePath, /exports: \[\r?\n(\s*) TestPipePipe\r?\n\1\]/)) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-fail.ts b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-fail.ts index e18d5e73d038..14939a8002a5 100644 --- a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-fail.ts +++ b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module-fail.ts @@ -1,9 +1,8 @@ -import {ng} from '../../../utils/process'; -import {expectToFail} from '../../../utils/utils'; +import { ng } from '../../../utils/process'; +import { expectToFail } from '../../../utils/utils'; - -export default function() { - return Promise.resolve() - .then(() => expectToFail(() => - ng('generate', 'pipe', 'test-pipe', '--module', 'app.moduleXXX.ts'))); +export default function () { + return Promise.resolve().then(() => + expectToFail(() => ng('generate', 'pipe', 'test-pipe', '--module', 'app.moduleXXX.ts')), + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module.ts b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module.ts index 274e0079d16f..79d8c542d8a2 100644 --- a/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module.ts +++ b/tests/legacy-cli/e2e/tests/generate/pipe/pipe-module.ts @@ -1,21 +1,22 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToMatch} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToMatch } from '../../../utils/fs'; - -export default function() { +export default function () { const modulePath = join('src', 'app', 'app.module.ts'); - return ng('generate', 'pipe', 'test-pipe', '--module', 'app.module.ts') - .then(() => expectFileToMatch(modulePath, - /import { TestPipePipe } from '.\/test-pipe.pipe'/)) + return ( + ng('generate', 'pipe', 'test-pipe', '--module', 'app.module.ts') + .then(() => expectFileToMatch(modulePath, /import { TestPipePipe } from '.\/test-pipe.pipe'/)) - .then(() => process.chdir(join('src', 'app'))) - .then(() => ng('generate', 'pipe', 'test-pipe2', '--module', 'app.module.ts')) - .then(() => process.chdir('../..')) - .then(() => expectFileToMatch(modulePath, - /import { TestPipe2Pipe } from '.\/test-pipe2.pipe'/)) + .then(() => process.chdir(join('src', 'app'))) + .then(() => ng('generate', 'pipe', 'test-pipe2', '--module', 'app.module.ts')) + .then(() => process.chdir('../..')) + .then(() => + expectFileToMatch(modulePath, /import { TestPipe2Pipe } from '.\/test-pipe2.pipe'/), + ) - // Try to run the unit tests. - .then(() => ng('build', '--configuration=development')); + // Try to run the unit tests. + .then(() => ng('build', '--configuration=development')) + ); } diff --git a/tests/legacy-cli/e2e/tests/generate/service/service-basic.ts b/tests/legacy-cli/e2e/tests/generate/service/service-basic.ts index 3ebd58fc977c..1906f3ba82ca 100644 --- a/tests/legacy-cli/e2e/tests/generate/service/service-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/service/service-basic.ts @@ -1,17 +1,18 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist } from '../../../utils/fs'; - -export default function() { +export default function () { // Does not create a sub directory. const serviceDir = join('src', 'app'); - return ng('generate', 'service', 'test-service') - .then(() => expectFileToExist(serviceDir)) - .then(() => expectFileToExist(join(serviceDir, 'test-service.service.ts'))) - .then(() => expectFileToExist(join(serviceDir, 'test-service.service.spec.ts'))) + return ( + ng('generate', 'service', 'test-service') + .then(() => expectFileToExist(serviceDir)) + .then(() => expectFileToExist(join(serviceDir, 'test-service.service.ts'))) + .then(() => expectFileToExist(join(serviceDir, 'test-service.service.spec.ts'))) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')) + ); } diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts b/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts index 442f64ea2d71..a4ffa601056d 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-ivy-libraries.ts @@ -4,7 +4,7 @@ import { installPackage, uninstallPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; import { readNgVersion } from '../../utils/version'; -export default async function() { +export default async function () { // Setup a library await ng('generate', 'library', 'i18n-lib-test'); await replaceInFile( diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts index df60a124034d..e370a1d209a4 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts @@ -13,7 +13,7 @@ import { langTranslations, setupI18nConfig } from './setup'; const OUTPUT_RE = /^(?(?:main|vendor|\d+))\.(?[a-z0-9]+)\.js$/i; -export default async function() { +export default async function () { // Setup i18n tests and config. await setupI18nConfig(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts index 4356a93103f6..2b03801f0813 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts @@ -10,12 +10,12 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { setupI18nConfig } from './setup'; -export default async function() { +export default async function () { // Setup i18n tests and config. await setupI18nConfig(); // Update angular.json - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; @@ -30,7 +30,7 @@ export default async function() { } // Update angular.json - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; @@ -40,12 +40,16 @@ export default async function() { }); const { stderr: err2 } = await ng('build'); - if (err2.includes(`Locale data for 'en-US' cannot be found. No locale data will be included for this locale.`)) { + if ( + err2.includes( + `Locale data for 'en-US' cannot be found. No locale data will be included for this locale.`, + ) + ) { throw new Error('locale data not found warning shown'); } // Update angular.json - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; @@ -55,7 +59,11 @@ export default async function() { }); const { stderr: err3 } = await ng('build', '--configuration=development'); - if (err3.includes(`Locale data for 'en-x-abc' cannot be found. No locale data will be included for this locale.`)) { + if ( + err3.includes( + `Locale data for 'en-x-abc' cannot be found. No locale data will be included for this locale.`, + ) + ) { throw new Error('locale data not found warning shown'); } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts index 18fa57f0fb0d..4294eb88fb16 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcelocale.ts @@ -11,12 +11,12 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { langTranslations, setupI18nConfig } from './setup'; -export default async function() { +export default async function () { // Setup i18n tests and config. await setupI18nConfig(); // Update angular.json - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; diff --git a/tests/legacy-cli/e2e/tests/misc/coverage.ts b/tests/legacy-cli/e2e/tests/misc/coverage.ts index af42921fbf76..a5cb808076d5 100644 --- a/tests/legacy-cli/e2e/tests/misc/coverage.ts +++ b/tests/legacy-cli/e2e/tests/misc/coverage.ts @@ -1,29 +1,29 @@ -import {expectFileToExist, expectFileToMatch} from '../../utils/fs'; -import {updateJsonFile} from '../../utils/project'; -import {expectToFail} from '../../utils/utils'; -import {ng} from '../../utils/process'; - +import { expectFileToExist, expectFileToMatch } from '../../utils/fs'; +import { updateJsonFile } from '../../utils/project'; +import { expectToFail } from '../../utils/utils'; +import { ng } from '../../utils/process'; export default function () { // TODO(architect): This test is broken in devkit/build-angular, istanbul and // istanbul-instrumenter-loader are missing from the dependencies. return; - return ng('test', '--watch=false', '--code-coverage') - .then(output => expect(output.stdout).toContain('Coverage summary')) - .then(() => expectFileToExist('coverage/src/app')) - .then(() => expectFileToExist('coverage/lcov.info')) - // Verify code coverage exclude work - .then(() => expectFileToMatch('coverage/lcov.info', 'polyfills.ts')) - .then(() => expectFileToMatch('coverage/lcov.info', 'test.ts')) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.test.options.codeCoverageExclude = [ - 'src/polyfills.ts', - '**/test.ts', - ]; - })) - .then(() => ng('test', '--watch=false', '--code-coverage')) - .then(() => expectToFail(() => expectFileToMatch('coverage/lcov.info', 'polyfills.ts'))) - .then(() => expectToFail(() => expectFileToMatch('coverage/lcov.info', 'test.ts'))); + return ( + ng('test', '--watch=false', '--code-coverage') + .then((output) => expect(output.stdout).toContain('Coverage summary')) + .then(() => expectFileToExist('coverage/src/app')) + .then(() => expectFileToExist('coverage/lcov.info')) + // Verify code coverage exclude work + .then(() => expectFileToMatch('coverage/lcov.info', 'polyfills.ts')) + .then(() => expectFileToMatch('coverage/lcov.info', 'test.ts')) + .then(() => + updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.test.options.codeCoverageExclude = ['src/polyfills.ts', '**/test.ts']; + }), + ) + .then(() => ng('test', '--watch=false', '--code-coverage')) + .then(() => expectToFail(() => expectFileToMatch('coverage/lcov.info', 'polyfills.ts'))) + .then(() => expectToFail(() => expectFileToMatch('coverage/lcov.info', 'test.ts'))) + ); } diff --git a/tests/legacy-cli/e2e/tests/misc/dedupe-duplicate-modules.ts b/tests/legacy-cli/e2e/tests/misc/dedupe-duplicate-modules.ts index 5d4cb01ac606..f8a7927662e6 100644 --- a/tests/legacy-cli/e2e/tests/misc/dedupe-duplicate-modules.ts +++ b/tests/legacy-cli/e2e/tests/misc/dedupe-duplicate-modules.ts @@ -6,7 +6,7 @@ import { expectToFail } from '../../utils/utils'; export default async function () { // Force duplicate modules - await updateJsonFile('package.json', json => { + await updateJsonFile('package.json', (json) => { json.dependencies = { ...json.dependencies, 'tslib': '2.0.0', @@ -17,7 +17,8 @@ export default async function () { await installWorkspacePackages(); - await writeFile('./src/main.ts', + await writeFile( + './src/main.ts', ` import { __assign as __assign_0 } from 'tslib'; import { __assign as __assign_1 } from 'tslib-1'; @@ -28,14 +29,23 @@ export default async function () { __assign_1, __assign_2, }) - `); + `, + ); - const { stderr } = await ng('build', '--verbose', '--no-vendor-chunk', '--no-progress', '--configuration=development'); + const { stderr } = await ng( + 'build', + '--verbose', + '--no-vendor-chunk', + '--no-progress', + '--configuration=development', + ); const outFile = 'dist/test-project/main.js'; if (/\[DedupeModuleResolvePlugin\]:.+tslib-1-copy.+ -> .+tslib-1.+/.test(stderr)) { await expectFileToMatch(outFile, './node_modules/tslib-1/tslib.es6.js'); - await expectToFail(() => expectFileToMatch(outFile, './node_modules/tslib-1-copy/tslib.es6.js')); + await expectToFail(() => + expectFileToMatch(outFile, './node_modules/tslib-1-copy/tslib.es6.js'), + ); } else if (/\[DedupeModuleResolvePlugin\]:.+tslib-1.+ -> .+tslib-1-copy.+/.test(stderr)) { await expectFileToMatch(outFile, './node_modules/tslib-1-copy/tslib.es6.js'); await expectToFail(() => expectFileToMatch(outFile, './node_modules/tslib-1/tslib.es6.js')); diff --git a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts index d5ae4de1a20c..3ea2d6f72a31 100644 --- a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts @@ -13,7 +13,7 @@ export default async function () { } try { - await updateJsonFile('angular.json', workspaceJson => { + await updateJsonFile('angular.json', (workspaceJson) => { const appArchitect = workspaceJson.projects['test-project'].architect; appArchitect.serve.options = appArchitect.serve.options || {}; appArchitect.serve.options.port = 8888; diff --git a/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts b/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts index ef319e184249..8926df2445ab 100644 --- a/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts +++ b/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts @@ -1,17 +1,14 @@ import { prependToFile, replaceInFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; -export default async function() { +export default async function () { // Ensure an ES2015 build is used in test await writeFile('.browserslistrc', 'Chrome 65'); await ng('generate', 'service', 'user'); // Update the application to use the new service - await prependToFile( - 'src/app/app.component.ts', - 'import { UserService } from \'./user.service\';', - ); + await prependToFile('src/app/app.component.ts', "import { UserService } from './user.service';"); await replaceInFile( 'src/app/app.component.ts', diff --git a/tests/legacy-cli/e2e/tests/misc/fallback.ts b/tests/legacy-cli/e2e/tests/misc/fallback.ts index 1c8d1ca56ea1..a1bb7b07fd73 100644 --- a/tests/legacy-cli/e2e/tests/misc/fallback.ts +++ b/tests/legacy-cli/e2e/tests/misc/fallback.ts @@ -4,32 +4,47 @@ import { ngServe } from '../../utils/project'; import { updateJsonFile } from '../../utils/project'; import { moveFile } from '../../utils/fs'; - export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. // should fallback to config.app[0].index (index.html by default) - return Promise.resolve() - .then(() => ngServe()) - .then(() => request('http://localhost:4200/')) - .then(body => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }) - // should correctly fallback to a changed index - .then(() => moveFile('src/index.html', 'src/not-index.html')) - .then(() => updateJsonFile('angular.json', workspaceJson => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.index = 'src/not-index.html'; - })) - .then(() => ngServe()) - .then(() => request('http://localhost:4200/')) - .then(body => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }); + return ( + Promise.resolve() + .then(() => ngServe()) + .then(() => request('http://localhost:4200/')) + .then((body) => { + if (!body.match(/<\/app-root>/)) { + throw new Error('Response does not match expected value.'); + } + }) + .then( + () => killAllProcesses(), + (err) => { + killAllProcesses(); + throw err; + }, + ) + // should correctly fallback to a changed index + .then(() => moveFile('src/index.html', 'src/not-index.html')) + .then(() => + updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.index = 'src/not-index.html'; + }), + ) + .then(() => ngServe()) + .then(() => request('http://localhost:4200/')) + .then((body) => { + if (!body.match(/<\/app-root>/)) { + throw new Error('Response does not match expected value.'); + } + }) + .then( + () => killAllProcesses(), + (err) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts b/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts index 497f60aab160..a17859577cee 100644 --- a/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts +++ b/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts @@ -2,15 +2,15 @@ import { appendToFile, replaceInFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; -export default async function() { +export default async function () { // Ensure an ES2015 build is used in test await writeFile('.browserslistrc', 'Chrome 65'); // Update the application to use a forward reference await replaceInFile( 'src/app/app.component.ts', - 'import { Component } from \'@angular/core\';', - 'import { Component, Inject, Injectable, forwardRef } from \'@angular/core\';', + "import { Component } from '@angular/core';", + "import { Component, Inject, Injectable, forwardRef } from '@angular/core';", ); await appendToFile('src/app/app.component.ts', '\n@Injectable() export class Lock { }\n'); await replaceInFile( @@ -22,8 +22,8 @@ export default async function() { // Update the application's unit tests to include the new injectable await replaceInFile( 'src/app/app.component.spec.ts', - 'import { AppComponent } from \'./app.component\';', - 'import { AppComponent, Lock } from \'./app.component\';', + "import { AppComponent } from './app.component';", + "import { AppComponent, Lock } from './app.component';", ); await replaceInFile( 'src/app/app.component.spec.ts', diff --git a/tests/legacy-cli/e2e/tests/misc/karma-error-paths.ts b/tests/legacy-cli/e2e/tests/misc/karma-error-paths.ts index d8916ab6ea75..9a7a5daa2df8 100644 --- a/tests/legacy-cli/e2e/tests/misc/karma-error-paths.ts +++ b/tests/legacy-cli/e2e/tests/misc/karma-error-paths.ts @@ -19,6 +19,8 @@ export default async function () { } if (!message.includes('(src/app/app.component.spec.ts:4:25)')) { - throw new Error(`Expected logs to contain relative path to (src/app/app.component.spec.ts:4:25)\n${message}`); + throw new Error( + `Expected logs to contain relative path to (src/app/app.component.spec.ts:4:25)\n${message}`, + ); } } diff --git a/tests/legacy-cli/e2e/tests/misc/lazy-module.ts b/tests/legacy-cli/e2e/tests/misc/lazy-module.ts index 320f4206de05..366f93aa4b45 100644 --- a/tests/legacy-cli/e2e/tests/misc/lazy-module.ts +++ b/tests/legacy-cli/e2e/tests/misc/lazy-module.ts @@ -1,63 +1,83 @@ -import {readdirSync} from 'fs'; +import { readdirSync } from 'fs'; import { installPackage } from '../../utils/packages'; -import {ng} from '../../utils/process'; -import {appendToFile, writeFile, prependToFile, replaceInFile} from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { appendToFile, writeFile, prependToFile, replaceInFile } from '../../utils/fs'; - -export default function() { +export default function () { let oldNumberOfFiles = 0; - return Promise.resolve() - .then(() => ng('build', '--configuration=development')) - .then(() => oldNumberOfFiles = readdirSync('dist').length) - .then(() => ng('generate', 'module', 'lazy', '--routing')) - .then(() => ng('generate', 'module', 'too/lazy', '--routing')) - .then(() => prependToFile('src/app/app.module.ts', ` + return ( + Promise.resolve() + .then(() => ng('build', '--configuration=development')) + .then(() => (oldNumberOfFiles = readdirSync('dist').length)) + .then(() => ng('generate', 'module', 'lazy', '--routing')) + .then(() => ng('generate', 'module', 'too/lazy', '--routing')) + .then(() => + prependToFile( + 'src/app/app.module.ts', + ` import { RouterModule } from '@angular/router'; - `)) - .then(() => replaceInFile('src/app/app.module.ts', 'imports: [', `imports: [ + `, + ), + ) + .then(() => + replaceInFile( + 'src/app/app.module.ts', + 'imports: [', + `imports: [ RouterModule.forRoot([{ path: "lazy", loadChildren: () => import('src/app/lazy/lazy.module').then(m => m.LazyModule) }]), RouterModule.forRoot([{ path: "lazy1", loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule) }]), RouterModule.forRoot([{ path: "lazy2", loadChildren: () => import('./too/lazy/lazy.module').then(m => m.LazyModule) }]), - `)) - .then(() => ng('build', '--named-chunks', '--configuration=development')) - .then(() => readdirSync('dist/test-project')) - .then((distFiles) => { - const currentNumberOfDistFiles = distFiles.length; - if (oldNumberOfFiles >= currentNumberOfDistFiles) { - throw new Error('A bundle for the lazy module was not created.'); - } - oldNumberOfFiles = currentNumberOfDistFiles; + `, + ), + ) + .then(() => ng('build', '--named-chunks', '--configuration=development')) + .then(() => readdirSync('dist/test-project')) + .then((distFiles) => { + const currentNumberOfDistFiles = distFiles.length; + if (oldNumberOfFiles >= currentNumberOfDistFiles) { + throw new Error('A bundle for the lazy module was not created.'); + } + oldNumberOfFiles = currentNumberOfDistFiles; - if (!distFiles.includes('src_app_too_lazy_lazy_module_ts.js')) { - throw new Error('The lazy module chunk did not use a unique name.'); - } - }) - // verify 'import *' syntax doesn't break lazy modules - .then(() => installPackage('moment')) - .then(() => appendToFile('src/app/app.component.ts', ` + if (!distFiles.includes('src_app_too_lazy_lazy_module_ts.js')) { + throw new Error('The lazy module chunk did not use a unique name.'); + } + }) + // verify 'import *' syntax doesn't break lazy modules + .then(() => installPackage('moment')) + .then(() => + appendToFile( + 'src/app/app.component.ts', + ` import * as moment from 'moment'; console.log(moment); - `)) - .then(() => ng('build', '--configuration=development')) - .then(() => readdirSync('dist/test-project').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles != currentNumberOfDistFiles) { - throw new Error('Bundles were not created after adding \'import *\'.'); - } - }) - .then(() => ng('build', '--no-named-chunks', '--configuration=development')) - .then(() => readdirSync('dist/test-project')) - .then((distFiles) => { - if (distFiles.includes('lazy-lazy-module.js') || distFiles.includes('too-lazy-lazy-module.js')) { - throw new Error('Lazy chunks shouldn\'t have a name but did.'); - } - }) - // Check for AoT and lazy routes. - .then(() => ng('build', '--aot', '--configuration=development')) - .then(() => readdirSync('dist/test-project').length) - .then(currentNumberOfDistFiles => { - if (oldNumberOfFiles != currentNumberOfDistFiles) { - throw new Error('AoT build contains a different number of files.'); - } - }); + `, + ), + ) + .then(() => ng('build', '--configuration=development')) + .then(() => readdirSync('dist/test-project').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles != currentNumberOfDistFiles) { + throw new Error("Bundles were not created after adding 'import *'."); + } + }) + .then(() => ng('build', '--no-named-chunks', '--configuration=development')) + .then(() => readdirSync('dist/test-project')) + .then((distFiles) => { + if ( + distFiles.includes('lazy-lazy-module.js') || + distFiles.includes('too-lazy-lazy-module.js') + ) { + throw new Error("Lazy chunks shouldn't have a name but did."); + } + }) + // Check for AoT and lazy routes. + .then(() => ng('build', '--aot', '--configuration=development')) + .then(() => readdirSync('dist/test-project').length) + .then((currentNumberOfDistFiles) => { + if (oldNumberOfFiles != currentNumberOfDistFiles) { + throw new Error('AoT build contains a different number of files.'); + } + }) + ); } diff --git a/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts b/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts index 7c011a1d7dba..0bf3fd519471 100644 --- a/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts +++ b/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts @@ -5,7 +5,7 @@ export default async function () { await createDir('node_modules/@angular-devkit/build-angular/node_modules'); await moveFile( 'node_modules/@ngtools', - 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools' + 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', ); await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/misc/module-resolution.ts b/tests/legacy-cli/e2e/tests/misc/module-resolution.ts index 5b812b6c7242..1314fb4a3c0e 100644 --- a/tests/legacy-cli/e2e/tests/misc/module-resolution.ts +++ b/tests/legacy-cli/e2e/tests/misc/module-resolution.ts @@ -4,9 +4,8 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; - export default async function () { - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { '*': ['./node_modules/*'], }; @@ -14,41 +13,38 @@ export default async function () { await ng('build', '--configuration=development'); await createDir('xyz'); - await moveFile( - 'node_modules/@angular/common', - 'xyz/common', - ); + await moveFile('node_modules/@angular/common', 'xyz/common'); await expectToFail(() => ng('build', '--configuration=development')); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { - '@angular/common': [ './xyz/common' ], + '@angular/common': ['./xyz/common'], }; }); await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { '*': ['./node_modules/*'], - '@angular/common': [ './xyz/common' ], + '@angular/common': ['./xyz/common'], }; }); await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { - '@angular/common': [ './xyz/common' ], + '@angular/common': ['./xyz/common'], '*': ['./node_modules/*'], }; }); await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { delete tsconfig.compilerOptions.paths; }); - await prependToFile('src/app/app.module.ts', 'import * as firebase from \'firebase\';'); + await prependToFile('src/app/app.module.ts', "import * as firebase from 'firebase';"); await appendToFile('src/app/app.module.ts', 'firebase.initializeApp({});'); await installPackage('firebase@3.7.8'); @@ -59,12 +55,12 @@ export default async function () { await ng('build', '--aot', '--configuration=development'); await ng('test', '--watch=false'); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = {}; }); await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { '@app/*': ['*'], '@lib/*/test': ['*/test'], @@ -72,14 +68,14 @@ export default async function () { }); await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { '@firebase/polyfill': ['./node_modules/@firebase/polyfill/index.ts'], }; }); await expectToFail(() => ng('build', '--configuration=development')); - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.paths = { '@firebase/polyfill*': ['./node_modules/@firebase/polyfill/index.ts'], }; diff --git a/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts b/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts index 4d51c8bcae98..019a34dda986 100644 --- a/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts +++ b/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts @@ -1,7 +1,6 @@ import { prependToFile, writeMultipleFiles } from '../../utils/fs'; import { ng } from '../../utils/process'; - export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. @@ -13,10 +12,9 @@ export default async function () { import { foo } from './foo'; console.log(foo); - ` + `, }), - - await prependToFile('src/app/app.module.ts', `import './bar';\n`); + await prependToFile('src/app/app.module.ts', `import './bar';\n`); await ng('build', '--configuration=development'); } diff --git a/tests/legacy-cli/e2e/tests/misc/npm-audit.ts b/tests/legacy-cli/e2e/tests/misc/npm-audit.ts index c96e17132e80..6a8233126e89 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-audit.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-audit.ts @@ -1,7 +1,6 @@ import { npm } from '../../utils/process'; - -export default async function() { +export default async function () { try { await npm('audit'); } catch {} diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts index e3b8cd2cfe4e..0dc7325aad24 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts @@ -2,17 +2,22 @@ import { request } from '../../utils/http'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; - -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return Promise.resolve() .then(() => ngServe('--ssl', 'true')) .then(() => request('https://localhost:4200/')) - .then(body => { + .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); } }) - .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }); + .then( + () => killAllProcesses(), + (err) => { + killAllProcesses(); + throw err; + }, + ); } diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts index a905d17322bf..3a6d08b7bdb4 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts @@ -3,22 +3,31 @@ import { assetDir } from '../../utils/assets'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; - -export default function() { +export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. return Promise.resolve() - .then(() => ngServe( - '--ssl', 'true', - '--ssl-key', assetDir('ssl/server.key'), - '--ssl-cert', assetDir('ssl/server.crt') - )) + .then(() => + ngServe( + '--ssl', + 'true', + '--ssl-key', + assetDir('ssl/server.key'), + '--ssl-cert', + assetDir('ssl/server.crt'), + ), + ) .then(() => request('https://localhost:4200/')) - .then(body => { + .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); } }) - .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }); - + .then( + () => killAllProcesses(), + (err) => { + killAllProcesses(); + throw err; + }, + ); } diff --git a/tests/legacy-cli/e2e/tests/misc/supported-angular.ts b/tests/legacy-cli/e2e/tests/misc/supported-angular.ts index 271e8663c4c4..f4aea2539267 100644 --- a/tests/legacy-cli/e2e/tests/misc/supported-angular.ts +++ b/tests/legacy-cli/e2e/tests/misc/supported-angular.ts @@ -4,7 +4,6 @@ import { readFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; - export default async function () { if (getGlobalVariable('argv')['ng-snapshots']) { // The snapshots job won't work correctly because it doesn't use semver for Angular. diff --git a/tests/legacy-cli/e2e/tests/misc/target-default-configuration.ts b/tests/legacy-cli/e2e/tests/misc/target-default-configuration.ts index dca271a838aa..edd17beb2f28 100644 --- a/tests/legacy-cli/e2e/tests/misc/target-default-configuration.ts +++ b/tests/legacy-cli/e2e/tests/misc/target-default-configuration.ts @@ -4,7 +4,7 @@ import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; export default async function () { - await updateJsonFile('angular.json', workspace => { + await updateJsonFile('angular.json', (workspace) => { const build = workspace.projects['test-project'].architect.build; build.defaultConfiguration = undefined; build.options = { @@ -21,7 +21,7 @@ export default async function () { await expectFileToExist('dist/test-project/main.js.map'); // Add new configuration and set "defaultConfiguration" - await updateJsonFile('angular.json', workspace => { + await updateJsonFile('angular.json', (workspace) => { const build = workspace.projects['test-project'].architect.build; build.defaultConfiguration = 'foo'; build.configurations.foo = { diff --git a/tests/legacy-cli/e2e/tests/misc/title.ts b/tests/legacy-cli/e2e/tests/misc/title.ts index 37f65e63c71d..22af9ed9bd16 100644 --- a/tests/legacy-cli/e2e/tests/misc/title.ts +++ b/tests/legacy-cli/e2e/tests/misc/title.ts @@ -1,7 +1,6 @@ import { execAndWaitForOutputToMatch, execWithEnv, killAllProcesses } from '../../utils/process'; - -export default async function() { +export default async function () { if (process.platform.startsWith('win')) { // "On Windows, process.title affects the console title, but not the name of the process in the task manager." // https://stackoverflow.com/questions/44756196/how-to-change-the-node-js-process-name-on-windows-10#comment96259375_44756196 @@ -9,7 +8,11 @@ export default async function() { } try { - await execAndWaitForOutputToMatch('ng', ['build', '--configuration=development', '--watch'], /./); + await execAndWaitForOutputToMatch( + 'ng', + ['build', '--configuration=development', '--watch'], + /./, + ); const output = await execWithEnv('ps', ['x'], { COLUMNS: '200' }); diff --git a/tests/legacy-cli/e2e/tests/misc/trace-resolution.ts b/tests/legacy-cli/e2e/tests/misc/trace-resolution.ts index cce9ef382bf5..0827223e58a0 100644 --- a/tests/legacy-cli/e2e/tests/misc/trace-resolution.ts +++ b/tests/legacy-cli/e2e/tests/misc/trace-resolution.ts @@ -2,7 +2,7 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; export default async function () { - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.traceResolution = true; }); @@ -11,7 +11,7 @@ export default async function () { throw new Error(`Modules resolutions must be printed when 'traceResolution' is enabled.`); } - await updateJsonFile('tsconfig.json', tsconfig => { + await updateJsonFile('tsconfig.json', (tsconfig) => { tsconfig.compilerOptions.traceResolution = false; }); diff --git a/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts index f00c1087589e..570179b83456 100644 --- a/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts @@ -9,8 +9,8 @@ import { import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; -export default async function() { - await updateJsonFile('angular.json', workspaceJson => { +export default async function () { + await updateJsonFile('angular.json', (workspaceJson) => { const appArchitect = workspaceJson.projects['test-project'].architect; appArchitect['server'] = { builder: '@angular-devkit/build-angular:server', diff --git a/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts b/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts index 8e2a3f668c65..095f333517fa 100644 --- a/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts +++ b/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts @@ -3,7 +3,7 @@ import { createDir, writeFile } from '../../utils/fs'; import { ng, silentGit } from '../../utils/process'; import { prepareProjectForE2e } from '../../utils/project'; -export default async function() { +export default async function () { process.chdir(getGlobalVariable('tmp-root')); await createDir('./subdirectory'); @@ -15,7 +15,7 @@ export default async function() { process.chdir('./subdirectory-test-project'); await prepareProjectForE2e('subdirectory-test-project'); - await writeFile('../added.ts', 'console.log(\'created\');\n'); + await writeFile('../added.ts', "console.log('created');\n"); await silentGit('add', '../added.ts'); const { stderr } = await ng('update', '@angular/cli'); diff --git a/tests/legacy-cli/e2e/tests/misc/update-git-clean.ts b/tests/legacy-cli/e2e/tests/misc/update-git-clean.ts index 0026fff5c537..c992c695c4e3 100644 --- a/tests/legacy-cli/e2e/tests/misc/update-git-clean.ts +++ b/tests/legacy-cli/e2e/tests/misc/update-git-clean.ts @@ -2,8 +2,8 @@ import { appendToFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; -export default async function() { - await appendToFile('src/main.ts', 'console.log(\'changed\');\n'); +export default async function () { + await appendToFile('src/main.ts', "console.log('changed');\n"); const { message } = await expectToFail(() => ng('update', '@angular/cli')); if (!message || !message.includes('Repository is not clean.')) { diff --git a/tests/legacy-cli/e2e/tests/misc/workspace-verification.ts b/tests/legacy-cli/e2e/tests/misc/workspace-verification.ts index a9353edf7395..bf55841a9398 100644 --- a/tests/legacy-cli/e2e/tests/misc/workspace-verification.ts +++ b/tests/legacy-cli/e2e/tests/misc/workspace-verification.ts @@ -1,13 +1,14 @@ -import {deleteFile} from '../../utils/fs'; -import {ng} from '../../utils/process'; +import { deleteFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; - -export default function() { - return ng('generate', 'component', 'foo', '--dry-run') - .then(() => deleteFile('angular.json')) - // fails because it needs to be inside a project - // without a workspace file - .then(() => expectToFail(() => ng('generate', 'component', 'foo', '--dry-run'))) - .then(() => ng('version')); +export default function () { + return ( + ng('generate', 'component', 'foo', '--dry-run') + .then(() => deleteFile('angular.json')) + // fails because it needs to be inside a project + // without a workspace file + .then(() => expectToFail(() => ng('generate', 'component', 'foo', '--dry-run'))) + .then(() => ng('version')) + ); } diff --git a/tests/legacy-cli/e2e/tests/schematics_cli/basic.ts b/tests/legacy-cli/e2e/tests/schematics_cli/basic.ts index fd2cf368dc50..da65b17ef02c 100644 --- a/tests/legacy-cli/e2e/tests/schematics_cli/basic.ts +++ b/tests/legacy-cli/e2e/tests/schematics_cli/basic.ts @@ -10,11 +10,7 @@ export default async function () { return; } - await silentNpm( - 'install', - '-g', - '@angular-devkit/schematics-cli', - ); + await silentNpm('install', '-g', '@angular-devkit/schematics-cli'); await exec(process.platform.startsWith('win') ? 'where' : 'which', 'schematics'); const startCwd = process.cwd(); @@ -30,7 +26,6 @@ export default async function () { ['.:', '--list-schematics'], /my-full-schematic/, ); - } finally { // restore path process.chdir(startCwd); diff --git a/tests/legacy-cli/e2e/tests/schematics_cli/blank-test.ts b/tests/legacy-cli/e2e/tests/schematics_cli/blank-test.ts index badc3a37cdf0..76b3cb67395e 100644 --- a/tests/legacy-cli/e2e/tests/schematics_cli/blank-test.ts +++ b/tests/legacy-cli/e2e/tests/schematics_cli/blank-test.ts @@ -11,11 +11,7 @@ export default async function () { return; } - await silentNpm( - 'install', - '-g', - '@angular-devkit/schematics-cli', - ); + await silentNpm('install', '-g', '@angular-devkit/schematics-cli'); await exec(process.platform.startsWith('win') ? 'where' : 'which', 'schematics'); const startCwd = process.cwd(); diff --git a/tests/legacy-cli/e2e/tests/schematics_cli/schematic-test.ts b/tests/legacy-cli/e2e/tests/schematics_cli/schematic-test.ts index 4c4993b4b0c3..0033f98cc96f 100644 --- a/tests/legacy-cli/e2e/tests/schematics_cli/schematic-test.ts +++ b/tests/legacy-cli/e2e/tests/schematics_cli/schematic-test.ts @@ -11,11 +11,7 @@ export default async function () { return; } - await silentNpm( - 'install', - '-g', - '@angular-devkit/schematics-cli', - ); + await silentNpm('install', '-g', '@angular-devkit/schematics-cli'); await exec(process.platform.startsWith('win') ? 'where' : 'which', 'schematics'); const startCwd = process.cwd(); diff --git a/tests/legacy-cli/e2e/tests/test/test-fail-single-run.ts b/tests/legacy-cli/e2e/tests/test/test-fail-single-run.ts index 62ac51d0199a..90f7d73736c1 100644 --- a/tests/legacy-cli/e2e/tests/test/test-fail-single-run.ts +++ b/tests/legacy-cli/e2e/tests/test/test-fail-single-run.ts @@ -2,11 +2,11 @@ import { ng } from '../../utils/process'; import { writeFile } from '../../utils/fs'; import { expectToFail } from '../../utils/utils'; - export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. // Fails on single run with broken compilation. - return writeFile('src/app.component.spec.ts', '

definitely not typescript

') - .then(() => expectToFail(() => ng('test', '--watch=false'))); + return writeFile('src/app.component.spec.ts', '

definitely not typescript

').then(() => + expectToFail(() => ng('test', '--watch=false')), + ); } diff --git a/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts b/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts index 69b28fabaeea..8723f2712bf1 100644 --- a/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts +++ b/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts @@ -6,7 +6,6 @@ import { import { expectToFail } from '../../utils/utils'; import { readFile, writeFile } from '../../utils/fs'; - // Karma is only really finished with a run when it shows a non-zero total time in the first slot. const karmaGoodRegEx = /Executed 3 of 3 SUCCESS \(\d+\.\d+ secs/; @@ -16,17 +15,22 @@ export default function () { return; let originalSpec: string; - return execAndWaitForOutputToMatch('ng', ['test'], karmaGoodRegEx) - .then(() => readFile('src/app/app.component.spec.ts')) - .then((data) => originalSpec = data) - // Trigger a failed rebuild, which shouldn't run tests again. - .then(() => writeFile('src/app/app.component.spec.ts', '

definitely not typescript

')) - .then(() => expectToFail(() => waitForAnyProcessOutputToMatch(karmaGoodRegEx, 10000))) - // Restore working spec. - .then(() => writeFile('src/app/app.component.spec.ts', originalSpec)) - .then(() => waitForAnyProcessOutputToMatch(karmaGoodRegEx, 20000)) - .then(() => killAllProcesses(), (err: any) => { - killAllProcesses(); - throw err; - }); + return ( + execAndWaitForOutputToMatch('ng', ['test'], karmaGoodRegEx) + .then(() => readFile('src/app/app.component.spec.ts')) + .then((data) => (originalSpec = data)) + // Trigger a failed rebuild, which shouldn't run tests again. + .then(() => writeFile('src/app/app.component.spec.ts', '

definitely not typescript

')) + .then(() => expectToFail(() => waitForAnyProcessOutputToMatch(karmaGoodRegEx, 10000))) + // Restore working spec. + .then(() => writeFile('src/app/app.component.spec.ts', originalSpec)) + .then(() => waitForAnyProcessOutputToMatch(karmaGoodRegEx, 20000)) + .then( + () => killAllProcesses(), + (err: any) => { + killAllProcesses(); + throw err; + }, + ) + ); } diff --git a/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts b/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts index 7bf102e0820a..be90bc988cfa 100644 --- a/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts @@ -3,13 +3,16 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; export default async function () { - await writeFile('src/app/app.component.spec.ts', ` + await writeFile( + 'src/app/app.component.spec.ts', + ` it('show fail', () => { expect(undefined).toBeTruthy(); }); - `); + `, + ); - await updateJsonFile('angular.json', configJson => { + await updateJsonFile('angular.json', (configJson) => { const appArchitect = configJson.projects['test-project'].architect; appArchitect.test.options.sourceMap = { scripts: true, @@ -23,10 +26,10 @@ export default async function () { } catch (error) { if (!error.message.includes('app.component.spec.ts')) { throw error; - }; + } } - await updateJsonFile('angular.json', configJson => { + await updateJsonFile('angular.json', (configJson) => { const appArchitect = configJson.projects['test-project'].architect; appArchitect.test.options.sourceMap = true; }); @@ -38,10 +41,10 @@ export default async function () { } catch (error) { if (!error.message.includes('app.component.spec.ts')) { throw error; - }; + } } - await updateJsonFile('angular.json', configJson => { + await updateJsonFile('angular.json', (configJson) => { const appArchitect = configJson.projects['test-project'].architect; appArchitect.test.options.sourceMap = false; }); @@ -53,6 +56,6 @@ export default async function () { } catch (error) { if (!error.message.includes('main.js')) { throw error; - }; + } } } diff --git a/tests/legacy-cli/e2e/tests/test/test-target.ts b/tests/legacy-cli/e2e/tests/test/test-target.ts index ba1afd13d1c2..8a21299dd4d5 100644 --- a/tests/legacy-cli/e2e/tests/test/test-target.ts +++ b/tests/legacy-cli/e2e/tests/test/test-target.ts @@ -6,13 +6,15 @@ export default function () { // TypeError: Assignment to constant variable. return; - return updateJsonFile('tsconfig.json', configJson => { + return updateJsonFile('tsconfig.json', (configJson) => { const compilerOptions = configJson['compilerOptions']; compilerOptions['target'] = 'es2015'; }) - .then(() => updateJsonFile('src/tsconfig.spec.json', configJson => { - const compilerOptions = configJson['compilerOptions']; - compilerOptions['target'] = 'es2015'; - })) + .then(() => + updateJsonFile('src/tsconfig.spec.json', (configJson) => { + const compilerOptions = configJson['compilerOptions']; + compilerOptions['target'] = 'es2015'; + }), + ) .then(() => ng('test', '--watch=false')); } diff --git a/tests/legacy-cli/e2e/utils/env.ts b/tests/legacy-cli/e2e/utils/env.ts index dd80596f0698..906f3de451b6 100644 --- a/tests/legacy-cli/e2e/utils/env.ts +++ b/tests/legacy-cli/e2e/utils/env.ts @@ -1,5 +1,4 @@ -const global: {[name: string]: any} = Object.create(null); - +const global: { [name: string]: any } = Object.create(null); export function setGlobalVariable(name: string, value: any) { global[name] = value; diff --git a/tests/legacy-cli/e2e/utils/git.ts b/tests/legacy-cli/e2e/utils/git.ts index 7da09d308c01..5e18ea806848 100644 --- a/tests/legacy-cli/e2e/utils/git.ts +++ b/tests/legacy-cli/e2e/utils/git.ts @@ -1,5 +1,4 @@ -import {git, silentGit} from './process'; - +import { git, silentGit } from './process'; export function gitClean() { console.log(' Cleaning git...'); @@ -8,22 +7,23 @@ export function gitClean() { .then(() => { // Checkout missing files return silentGit('status', '--porcelain') - .then(({ stdout }) => stdout - .split(/[\n\r]+/g) - .filter(line => line.match(/^ D/)) - .map(line => line.replace(/^\s*\S+\s+/, ''))) - .then(files => silentGit('checkout', ...files)); + .then(({ stdout }) => + stdout + .split(/[\n\r]+/g) + .filter((line) => line.match(/^ D/)) + .map((line) => line.replace(/^\s*\S+\s+/, '')), + ) + .then((files) => silentGit('checkout', ...files)); }) .then(() => expectGitToBeClean()); } export function expectGitToBeClean() { - return silentGit('status', '--porcelain') - .then(({ stdout }) => { - if (stdout != '') { - throw new Error('Git repo is not clean...\n' + stdout); - } - }); + return silentGit('status', '--porcelain').then(({ stdout }) => { + if (stdout != '') { + throw new Error('Git repo is not clean...\n' + stdout); + } + }); } export function gitCommit(message: string) { diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index 3f73ec59ba94..da9557166602 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -1,12 +1,16 @@ - export function expectToFail(fn: () => Promise, errorMessage?: string): Promise { - return fn() - .then(() => { + return fn().then( + () => { const functionSource = fn.name || (fn).source || fn.toString(); const errorDetails = errorMessage ? `\n\tDetails:\n\t${errorMessage}` : ''; throw new Error( - `Function ${functionSource} was expected to fail, but succeeded.${errorDetails}`); - }, (err) => { return err; }); + `Function ${functionSource} was expected to fail, but succeeded.${errorDetails}`, + ); + }, + (err) => { + return err; + }, + ); } export function wait(msecs: number): Promise { diff --git a/tests/legacy-cli/e2e/utils/version.ts b/tests/legacy-cli/e2e/utils/version.ts index 0be47e2216e3..0ad0150d3483 100644 --- a/tests/legacy-cli/e2e/utils/version.ts +++ b/tests/legacy-cli/e2e/utils/version.ts @@ -1,9 +1,10 @@ import * as fs from 'fs'; import * as semver from 'semver'; - export function readNgVersion(): string { - const packageJson: any = JSON.parse(fs.readFileSync('./node_modules/@angular/core/package.json', 'utf8')); + const packageJson: any = JSON.parse( + fs.readFileSync('./node_modules/@angular/core/package.json', 'utf8'), + ); return packageJson['version']; } From 0975963cb7adb9719385a644ac9371d3e1d49f28 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 6 May 2022 11:55:32 +0000 Subject: [PATCH 0359/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 570 +++++------------- 7 files changed, 193 insertions(+), 449 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 18ce36f578ab..d6d2a7dfd89d 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@303acfd7f5ae3118193047f604d821f3604a0512 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@d9f50abe777f5077aee75a35f2fe65bb478638b5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 74da10e81cf7..cde5274fb0a3 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@303acfd7f5ae3118193047f604d821f3604a0512 + - uses: angular/dev-infra/github-actions/feature-request@d9f50abe777f5077aee75a35f2fe65bb478638b5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index e92f722ac62b..2a0fc7dc8834 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@303acfd7f5ae3118193047f604d821f3604a0512 + - uses: angular/dev-infra/github-actions/lock-closed@d9f50abe777f5077aee75a35f2fe65bb478638b5 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 47585805cd36..7e907c88fb94 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.0-next.14", - "@angular/cdk": "14.0.0-next.11", - "@angular/common": "14.0.0-next.14", - "@angular/compiler": "14.0.0-next.14", - "@angular/compiler-cli": "14.0.0-next.14", - "@angular/core": "14.0.0-next.14", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50", - "@angular/forms": "14.0.0-next.14", - "@angular/localize": "14.0.0-next.14", - "@angular/material": "14.0.0-next.11", - "@angular/platform-browser": "14.0.0-next.14", - "@angular/platform-browser-dynamic": "14.0.0-next.14", - "@angular/platform-server": "14.0.0-next.14", - "@angular/router": "14.0.0-next.14", - "@angular/service-worker": "14.0.0-next.14", + "@angular/animations": "14.0.0-next.16", + "@angular/cdk": "14.0.0-next.13", + "@angular/common": "14.0.0-next.16", + "@angular/compiler": "14.0.0-next.16", + "@angular/compiler-cli": "14.0.0-next.16", + "@angular/core": "14.0.0-next.16", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6", + "@angular/forms": "14.0.0-next.16", + "@angular/localize": "14.0.0-next.16", + "@angular/material": "14.0.0-next.13", + "@angular/platform-browser": "14.0.0-next.16", + "@angular/platform-browser-dynamic": "14.0.0-next.16", + "@angular/platform-server": "14.0.0-next.16", + "@angular/router": "14.0.0-next.16", + "@angular/service-worker": "14.0.0-next.16", "@babel/core": "7.17.9", "@babel/generator": "7.17.9", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index ae3fe6e564e4..a1b55cf1ba0e 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.14", - "@angular/compiler-cli": "14.0.0-next.14", + "@angular/compiler": "14.0.0-next.16", + "@angular/compiler-cli": "14.0.0-next.16", "typescript": "4.6.4", "webpack": "5.72.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 680fdc3a04c5..9195ac8f5142 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7b6d86267fb6a5dfa5d6455b32db1572dc1f4a2f", - "@angular/cdk": "github:angular/cdk-builds#39f12a8a702a577983fb3a925a2b1d651deb5033", - "@angular/common": "github:angular/common-builds#445b6b905007b20844682d625f5d44b7f039428c", - "@angular/compiler": "github:angular/compiler-builds#a06e296066b869f289261929df718050c1866a19", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#ca2fbd295f19f11dcc5fe285899a2bcd4e626440", - "@angular/core": "github:angular/core-builds#7e9a673e3f90c79c8ba1beb490e4c0758521122a", - "@angular/forms": "github:angular/forms-builds#f90e2928b5f8f0df26dcc2da90ed58a8ac44ba7d", - "@angular/language-service": "github:angular/language-service-builds#3c284eb212ddc8d7f85edc5d3f43a7ff079c8c9b", - "@angular/localize": "github:angular/localize-builds#740258f159eb2e9673d11cfe7bcb5eb8d450d9b0", - "@angular/material": "github:angular/material-builds#c9fa6e880dda5e576b8cf74172dc9e7953165ca0", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f125bf9670c1c685ab06f69f082d7dee00a1b1b2", - "@angular/platform-browser": "github:angular/platform-browser-builds#62dff5c9ece8f0ad119db09b87b210cde3607a3d", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c5315ac44898ca42a62874378c9bf5b1ea38b273", - "@angular/platform-server": "github:angular/platform-server-builds#6c999130de5c43a40541898e070b882d32438906", - "@angular/router": "github:angular/router-builds#5659a781e9d95f8286efb32edc231de13899a77e", - "@angular/service-worker": "github:angular/service-worker-builds#ca95514ef4f7e83692dcee72fc6a94ec0c776428" + "@angular/animations": "github:angular/animations-builds#d49640a3672bb159e5cc66041d8c2121913c7aa4", + "@angular/cdk": "github:angular/cdk-builds#6b44d3fe0af911a96bb803e3fef9272cacbf9b57", + "@angular/common": "github:angular/common-builds#16274823437f17148d98a54f4a613a7de7fff9b9", + "@angular/compiler": "github:angular/compiler-builds#1bc04fa2764a306b2970538c84e9d9a82e79e025", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#d655cb08dcd04ba07aff55e7ad2cde98d720f37e", + "@angular/core": "github:angular/core-builds#ccac6d0d4d46f507e9d24a0adb870d4301b7da25", + "@angular/forms": "github:angular/forms-builds#188f3ec2f8a318b363ec05ee1746bf043d88e931", + "@angular/language-service": "github:angular/language-service-builds#f3d743817f80f9a3335df3598f68ab1546215c60", + "@angular/localize": "github:angular/localize-builds#25b76d032ca107cfe1b3919e2e92246a423d3ad6", + "@angular/material": "github:angular/material-builds#43eaae7bccf1996f232d33f854959442da2dd716", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#edee3a3f0069b980c557e30c27dce24c4325080b", + "@angular/platform-browser": "github:angular/platform-browser-builds#2a2374fd0b9f12c52984ce4cb84f126182320cbe", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#04128cacfda68e47a835ef8f0faa74c6b626091f", + "@angular/platform-server": "github:angular/platform-server-builds#b44b9aa895d785348d1c15971be0962b6e713a23", + "@angular/router": "github:angular/router-builds#eef60c7cce2252e2302be76cc93e9816e9c4f639", + "@angular/service-worker": "github:angular/service-worker-builds#fdbe7f7dd344e91d32d8be79c1d165b2b790caf9" } } diff --git a/yarn.lock b/yarn.lock index d33a302ee2b2..de028e053079 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@ampproject/remapping@2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - "@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -17,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0-next.12": - version "0.1400.0-next.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.12.tgz#3ed6123a99b8b0197876cddf643672a633ac95a7" - integrity sha512-VyhMYICfDX5enrzbyQSKe74TC6GKE08VRYmE4EwK7EOtn9Hz14HuLtZhdwg5IlcV/hdKCsCHuQ/XZNQaTjfsdg== +"@angular-devkit/architect@0.1400.0-next.13": + version "0.1400.0-next.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.13.tgz#012cf9d7b9a4addc9b297d2d6c3e755d23acc016" + integrity sha512-pwdg1iLBdWO1M/Kr29UX4hcy1Mm3rOG4kfprsIsoT7PCW3eYVcwMzHWJxS26wjAwXBH+dCs4drYx+P9xvXmXuQ== dependencies: - "@angular-devkit/core" "14.0.0-next.12" + "@angular-devkit/core" "14.0.0-next.13" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.12": - version "14.0.0-next.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.12.tgz#28270cc0dca559481d36ef55d5133558a3831f44" - integrity sha512-GKeXMq2eLoH31f3JZNd2UdkI3m0z/YLKIg6g1kK3bG8cBTayXRCgcyKaIBvCc1nN+DfBduMnTBKBzmaeGl+dXA== +"@angular-devkit/build-angular@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.13.tgz#3afefc3b28ef8881ffce41f41cd5510682d79d34" + integrity sha512-OMKedc4qLL2Mq8zyXcHvaxIFMLNuzzhMWx+ve/Hhnqsy6d57SCy/7hLoylZevsuwFooT8XC4ToaLEkSHarocdg== dependencies: - "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.12" - "@angular-devkit/build-webpack" "0.1400.0-next.12" - "@angular-devkit/core" "14.0.0-next.12" + "@ampproject/remapping" "2.2.0" + "@angular-devkit/architect" "0.1400.0-next.13" + "@angular-devkit/build-webpack" "0.1400.0-next.13" + "@angular-devkit/core" "14.0.0-next.13" "@babel/core" "7.17.9" "@babel/generator" "7.17.9" "@babel/helper-annotate-as-pure" "7.16.7" @@ -44,19 +37,19 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-next.12" + "@ngtools/webpack" "14.0.0-next.13" ansi-colors "4.1.1" - babel-loader "8.2.4" + babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "16.0.4" + cacache "16.0.7" copy-webpack-plugin "10.2.4" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.36" + esbuild-wasm "0.14.38" glob "8.0.1" https-proxy-agent "5.0.1" - inquirer "8.2.2" + inquirer "8.2.4" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" @@ -72,41 +65,41 @@ postcss "8.4.12" postcss-import "14.1.0" postcss-loader "6.2.1" - postcss-preset-env "7.4.3" + postcss-preset-env "7.4.4" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.50.1" + sass "1.51.0" sass-loader "12.6.0" semver "7.3.7" source-map-loader "3.0.1" source-map-support "0.5.21" stylus "0.57.0" stylus-loader "6.2.0" - terser "5.12.1" + terser "5.13.0" text-table "0.2.0" tree-kill "1.2.2" - tslib "2.3.1" + tslib "2.4.0" webpack "5.72.0" webpack-dev-middleware "5.3.1" webpack-dev-server "4.8.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.36" + esbuild "0.14.38" -"@angular-devkit/build-webpack@0.1400.0-next.12": - version "0.1400.0-next.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.12.tgz#19c321d13ea92526a2b3414f00e568a9322da1bf" - integrity sha512-PR7e8yQMG0VAdXSHc11xttzT4WKRXxSb10Pe2qQxKubMPpfRiMljoUQ4K39/0zdkiKlNI5XWItk8zA5cwZFU2A== +"@angular-devkit/build-webpack@0.1400.0-next.13": + version "0.1400.0-next.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.13.tgz#25a40f32340bc8050d3fe8300c13973712b58cee" + integrity sha512-IjfJU6eQGi+XElAU8Itv6q5RZhB6x88Jz8FKUmMloGFIdEoNLahTXQC07SD67E83qbEwRT7O8zwoAovXAP9bHA== dependencies: - "@angular-devkit/architect" "0.1400.0-next.12" + "@angular-devkit/architect" "0.1400.0-next.13" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.12": - version "14.0.0-next.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.12.tgz#3e6a8c565b69d1324f8f0a4d35e49221aca348b8" - integrity sha512-eX1UFpBQ4RD4mTuKNhFJqaBkBUIXbWnX6CJuKmjQgyXxkrh+PnaLZdjKp8qZBi37ttrJZ/hDmFHGPOOtgvFKGA== +"@angular-devkit/core@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.13.tgz#e193d0267eb9a666ef0e02bf32634b14285b3437" + integrity sha512-xqRXYpB1hW7yER9RWAy8mDqC5dXaZwzZw5GyN2fe6Qj4eHonmFf5Xw/2u8rGKdyLmRm9fgsK/oxVKw6iXkOGZA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -114,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.14.tgz#824fa734b25fc2c603a62f40fb1f3ff6880a9936" - integrity sha512-rFVc5egyVcaIymhRqxIftJ2KyONDYlSSsIT15yF5CnI1HL+yF/3mQcHOI864gvmssD922jwZuQJttA6QA639lg== +"@angular/animations@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.16.tgz#82570474c43bea6fdc2becd339fe6dd10343db28" + integrity sha512-T5+3FBmbYJcSQpIK2Qu6hHYLDK7WBGGQU4HpZDYf2hfl1VMJCsvqStlBD4fRdzFiAa5DgGI1NLXj27zQMhhY7A== dependencies: tslib "^2.3.0" @@ -129,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.11.tgz#f3062c16b5050195b26ca23e0f5f81a280adc75a" - integrity sha512-MJK1GG1SlDR8IRook07rOrmZN6BZfZhvVEoIUyFBfMt3H6WstYWi26Miahm2Fzhzj0xw+HbEurencjzXb/Jzmg== +"@angular/cdk@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.13.tgz#bddf68cdf7961ee4b49953caaf4233d916b4d656" + integrity sha512-izgo2gGCAPOii/fYdsUmAPoWX8dGihADCIsTBW7A8aMQlUxNb/DYuL2ruTI5ryxo+W2c2AjtNSOJ4xJrlf2ULA== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.14.tgz#3a36704748296bad47f7c62d4f071e05a42fe093" - integrity sha512-Fhvu35ldGG++gOl8W6iJerNPlHM8IGHTeCknRMyab4Zz6ZDMyBs+8v3nSMFIScm2c1iLPaprNbbv36i5qhASsA== +"@angular/common@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.16.tgz#94f870ff19ba74c9139e585f16cc5c588dbc5a73" + integrity sha512-2ZFTCvr+EH1LpBd5b/M2RuhOi3PhQpyfjLFGYLd5Wm6qrX1EGBa8mU3ISzgOW8wpHJ+3FHYPPH+wy8LHWf/9pg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.14.tgz#938ef2c4497dcf66a69bb136a23979ddf4409647" - integrity sha512-pi2wwxcCMUbgOwyMp3biG1BQegjF3lYjtBNcOOqO5JYEDGZydh02c/HeaEKA6sYmzghc+3ExOEX1PhQgEIjL8Q== +"@angular/compiler-cli@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.16.tgz#109a16bf2308d12a1a5e61dc4e57bee8639197a5" + integrity sha512-L5+l1lPYvf2/Mh73pOxpR4NV0HiqojXzdbGxm1aIrSg2gaLOjyLAaxDA8nz5SYRMQoS5zXu3mHEqeM559SpDqg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -161,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.14.tgz#01f6d2023d02b368f50320ec66045b405a4215ef" - integrity sha512-b6Draniqbby/KrdwT8hCCUFTq0lrEc4MZteIEKg/9rEOZ8IO8WNibynTkjaBXbhdq499/VnL4rzIQYuCOtVLrw== +"@angular/compiler@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.16.tgz#8b43801a27ee678f3d626ce14638386291bbde65" + integrity sha512-4V3E4tvO649mi3AWODAJMNBqyeA6C5xwINPirWiyic8vraO4TtW1U2O6MEsopYURFKk1yw8SPStfZDTvB/eRHQ== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.14.tgz#86cd839c191ced59c232a17db73c29b7857ea868" - integrity sha512-ekrlWax7cD+WZCiLrmub89R7+0cjtcu0yXC23LmPkUN8HfaBU9Ii/C1n0xjZ/rWGB2dV0PwHlYTAmvDK3iPaiQ== +"@angular/core@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.16.tgz#546171d322621ae8c4180b2418c6a97fcfd6defb" + integrity sha512-ORZhyVXIzJXwYq2YKoh5oC2NMOap2YCESBsxx13IYPdI2HAmlpMiwlW2hg1jVQzpGaAyNTxNjh1DePD61P3HgQ== dependencies: tslib "^2.3.0" @@ -182,22 +175,22 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50": - version "0.0.0-303acfd7f5ae3118193047f604d821f3604a0512" - uid "4149a6bb4dd87882532f0bab753e877b61a7cb50" - resolved "https://github.com/angular/dev-infra-private-builds.git#4149a6bb4dd87882532f0bab753e877b61a7cb50" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6": + version "0.0.0-d9f50abe777f5077aee75a35f2fe65bb478638b5" + uid "54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6" + resolved "https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.12" + "@angular-devkit/build-angular" "14.0.0-next.13" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.4.1" - "@bazel/esbuild" "5.4.1" - "@bazel/protractor" "5.4.1" - "@bazel/runfiles" "5.4.1" - "@bazel/terser" "5.4.1" - "@bazel/typescript" "5.4.1" - "@microsoft/api-extractor" "7.23.0" + "@bazel/concatjs" "5.4.2" + "@bazel/esbuild" "5.4.2" + "@bazel/protractor" "5.4.2" + "@bazel/runfiles" "5.4.2" + "@bazel/terser" "5.4.2" + "@bazel/typescript" "5.4.2" + "@microsoft/api-extractor" "7.23.1" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -208,7 +201,7 @@ "@types/yargs" "^17.0.0" browser-sync "^2.27.7" chalk "^4.1.0" - clang-format "1.7.0" + clang-format "1.8.0" node-fetch "^2.6.1" prettier "2.6.2" protractor "^7.0.0" @@ -221,63 +214,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.14.tgz#c41e15a22db706f86737f93fbd0d1edc6ee055ce" - integrity sha512-pP3ayHR6Bw8MDuc9nfD8Pg7dnH8uxdPiPZmWPoYZ+H9PL8McXJTt9+hqrs6ixib+6tdEDITvvfOmsrGB/eOA9Q== +"@angular/forms@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.16.tgz#dc71dab27baa6bcab810e74ad88f5b3dd7d521b4" + integrity sha512-R3dgXFBiNmMHGHhjlZ6GJHfEJx8loZ1ReAynhS5lPdY/i8q8V3BPikb3gWthGGoJBBPsUapwJ/st0ur2Gwce0w== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.14.tgz#28176f4aa4f5d9e2e4523eb61bf9851a94b49204" - integrity sha512-/f2shwj4eTDMPOy/QqgSO7XcGdOMQFCheO6fNcfeRMkDQnQFJjeNziFyDYdDBLfH03U8n02aGjv5UTlOI55A0Q== +"@angular/localize@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.16.tgz#6130e9d8ca9d8cd5ef2141247ee01ed82b5c64d6" + integrity sha512-ejSbJ5qaOj6HV615irPR7lmxnrVRHHwXfZedlux7A/cky4cnEeatLN8o0WgRCnqRClp97zasMhzLOI/X2Ocblw== dependencies: "@babel/core" "7.17.9" glob "8.0.1" yargs "^17.2.1" -"@angular/material@14.0.0-next.11": - version "14.0.0-next.11" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.11.tgz#b80339125d345e8ebe0acbdd997bb1df990c886c" - integrity sha512-Ph7PeMvssZ1p4dDT7XG70vqWE9kW3bxBomacv0E/er1xFGftHSauH9Q5H6PKpi8EkT1SlgZf5SzL4rI+527rUw== +"@angular/material@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.13.tgz#2fb94a297ccf39dfdf933cf331b3628174bf10ec" + integrity sha512-N74gQE+lmwCsCcYz7E1rn4fPOQBM2MlU7pfwZBbQXK4Dr5cUUOfnB225NtP3m16BB2C5tyFzCzFog8XqpCeZMw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.14.tgz#94cc9d2c15883369769b9f5ead0e3be1ecc7b713" - integrity sha512-4ZondfrlAFsEP0vvjlAMQeIHVvjK4p7wcSybXNdp7lMypNWbTrHM4KBE9H8wd6ogWhkQxxC8h40nus9PiPan0Q== +"@angular/platform-browser-dynamic@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.16.tgz#a0ffc1aa120453703789afd4e503d5ef1f4ce862" + integrity sha512-OsUDQG9/zyQPohnAceydb50G61CBXXM0QdqPd+7Ut1PS7EQii0ty7C7geTDNyqTjPlfy3y4Uhr8r9dwc3kUb8A== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.14.tgz#824f06fcebc8ca08cbe9ca206c1c88bcc33979af" - integrity sha512-hAHtpDXWZizdlEiz2wWtWUxd2gKj3ZLF+f3FLRoxxNpTTxIdDbLOa+ov6QfrwmKnQAFIRthtWLZow/fkMySenw== +"@angular/platform-browser@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.16.tgz#d0aa4f56c2dd91a63840cd055ae03b9339b6dd3e" + integrity sha512-WiqS/ZTs1KdrVTvyNKGoyvclydF0BK3q53mgLc12shBKmtsSUgM94QJxikQs1J70IV6rMjTqVrw6QfuMjn66+A== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.14.tgz#1d3b5a789816d6173fa52e433cdd4e611962d0b6" - integrity sha512-kHXWSnCAjTdt+pUXmR509l2seccH12YDn1FLt6UD9gXdsHePiG/kJFAbfwNBfw9wnSnHmlLlO95xNU6+U7H2pQ== +"@angular/platform-server@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.16.tgz#22f6ce2b4463fd71d60d3565d9f3aabb7e09f03b" + integrity sha512-k4gtYCbkbtsi60bj6/SnZRs6v/34HaAtlipSeiZ/io4u2DYdxNd5F8Bqka4JZG6kMXZHVBeTofnHYf+T1M8Vkw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.14.tgz#0b8a573793fdf212b7aba843efec4b773bae4dc6" - integrity sha512-vohxdxi12KPcIQNRbI2NAVGhR/YUa92d7saHkn3U+kjphdQ8/ULar1sPmhOsA7rxiQpWA1HBD2/n5xhGnq6jZQ== +"@angular/router@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.16.tgz#a5ca219bc3638043842e42269aba6f4646a3dea4" + integrity sha512-PbvxsNo41WsKtWNo4O+abxowbitk91gp2JdbSnLnb+8ISSSJf4gTlLTQftzVT31z3mOhmv+iOS7f1AdipvdPTg== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.14": - version "14.0.0-next.14" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.14.tgz#874b826a08d553cda9baf739b7647166b4627f56" - integrity sha512-HJq2Z/Yg7fcpZVK3jWB/OhYjJt0sG8CNI5g6nNgEvxIA7sha8wHvvle1S1q1F3L6JMktkNYP1kpX1kddXK+bTg== +"@angular/service-worker@14.0.0-next.16": + version "14.0.0-next.16" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.16.tgz#c2a81c02507d27db30e6ba6b965d378878ab8e51" + integrity sha512-HWP0RDt01gwgfZiDu41SVZgAgzeQ7KWJ/lICRp2th8RNJ5B7e+kjY1fnJZlFin1r8oCQmbaWgj0PIxxqbV+QIQ== dependencies: tslib "^2.3.0" @@ -1225,10 +1218,19 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.1.tgz#e2d1e66d2cf2e5d64d35dccce21a210b1082a7c4" - integrity sha512-6kdjyJL3vPdQ/HJUoVhl3JJm4DarQfXQdycoSKsP0Snq4J71T2M2yCw2zY4hlQFsQdLhXzrPe9ZQ9dkUtobnSA== +"@bazel/concatjs@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.2.tgz#2ec0943b50e229a163a277a6de2cc38aeb852e14" + integrity sha512-MoQfmY+6N8RCgqDI2+bRuD+I0p3CLI1JCYZZNSnbZySv1SnT5oQHxoerojEYwyOmsS5sUt2sR8uGtMYZSdoycQ== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + +"@bazel/esbuild@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.2.tgz#07b46fd7b10667b6e56b94df2c316c19de17ab33" + integrity sha512-k1ZJzFlpfzTcJyHvVxSoOmiPwWNmJSVE0A2ygtXlyB4/dTnGAC6vcX03ECXovd+wk8py/DuFQDb6Xpv6RnWtAg== "@bazel/jasmine@5.4.1": version "5.4.1" @@ -1238,36 +1240,36 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.4.1.tgz#f246f5e1fbcc5ed36e6d48824009bb29482e1660" - integrity sha512-uYIrYuxyZMplpov7pkjNF2igQA3CrnHOF4W68xJlHWhw3tjbacWHd4OJJ1BYrpPoYShaiKYxuVnzRVF9/0f7Bg== +"@bazel/protractor@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.4.2.tgz#4b29920445ab2d87769340551df92e70b43e33a3" + integrity sha512-uW4aDbQZfa+Y2qCbg59sndZROMpcv7Hg0i1ijkU98GiWS+vYaJyWQQUzyWPL3jWZXf8UIJbgyIEmneB4s13gjw== -"@bazel/runfiles@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.4.1.tgz#d85f3f5d5bd0b7b3f15ee9a5d3ad822cfb98c5f8" - integrity sha512-P3ieXEcUKsycQcSfh6WqrESxvdd3eVwByQtK9wD0Xq2gvdBQlbl5tSNwyhKf41fWKyS6n4ZCLv7TXhFfMxZj9Q== +"@bazel/runfiles@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.4.2.tgz#85d6ee8ab99c8a1ebe7b320b2bc452135c2ff30f" + integrity sha512-FfX+GeoeBcFP7JfsZN0T3cfFOpi80Nf9W9/g2U5pjcYay2Q06fmj3Fi3SVg+iyzjo+cbW9Sw/F3otCsvvZYPiw== -"@bazel/terser@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.4.1.tgz#1a863c53f89f9882dcb489ec6ee1d1e64de8dd78" - integrity sha512-osQkFkQU0gHUjlhhcbu7SXEKJ7bNGUr75eo7WLhMAnTtoHSzMP+9Fn/gbSNiGv1ekLjW71SRABt9xQNG3hl14g== +"@bazel/terser@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.4.2.tgz#c3ecf9be0c6c589bc981e67d0af2457d5a596e2a" + integrity sha512-bQFbsxaUTu0vhVCX+P6yY1t/Fg9vo/irOcB3OzX1iTBBS1eDK36fChMx6sFQu6QD5yq7zZxzpb6YH3RyPyri9w== -"@bazel/typescript@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.4.1.tgz#c708ab2a0436620e28371fcedbf86abb1cf8abdd" - integrity sha512-LB/JbjPmj4/7R7fkZnWp2wc6tBEFT/5As+FqqJoAzS+YVhtp8sSmJXxZT1aq8/GO0DdA0uX2HZwlFUAzcF3VQQ== +"@bazel/typescript@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.4.2.tgz#73ff56d124841eeb3e55aa10c146d9cc25b0e973" + integrity sha512-QtCNPJHEeJhVGnRijRxzA3bUaY5mpURJ/Ss4QCjNTyJXbJAQ+F05LiEeFmxlhvouRXy4lW4/4EIhfucZ9YG5tw== dependencies: - "@bazel/worker" "5.4.1" + "@bazel/worker" "5.4.2" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.4.1.tgz#7b7fbc329b81f8aef308c14999618be67a741b19" - integrity sha512-0tfP/ASibVAU+ksnTRmPjib3nBXW6cqyCMzVsx3i/eQu5JpyBZLSOxQZq4KrnKBLvp3UbgI599DqQVbMaJhbEw== +"@bazel/worker@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.4.2.tgz#b5229140c2087b7f3977ee671624f3c65c6a46a4" + integrity sha512-wQZ1ybgiCPkuITaiPfh91zB/lBYqBglf1XYh9hJZCQnWZ+oz9krCnZcywI/i1U9/E9p3A+4Y1ni5akAwTMmfUA== dependencies: google-protobuf "^3.6.1" @@ -1293,7 +1295,7 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@csstools/postcss-color-function@^1.0.3", "@csstools/postcss-color-function@^1.1.0": +"@csstools/postcss-color-function@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.0.tgz#229966327747f58fbe586de35daa139db3ce1e5d" integrity sha512-5D5ND/mZWcQoSfYnSPsXtuiFxhzmhxt6pcjrFLJyldj+p0ZN2vvRpYNX+lahFTtMhAYOa2WmkdGINr0yP0CvGA== @@ -1323,7 +1325,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.1", "@csstools/postcss-is-pseudo-class@^2.0.2": +"@csstools/postcss-is-pseudo-class@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.2.tgz#a834ca11a43d6ed9bc9e3ff53c80d490a4b1aaad" integrity sha512-L9h1yxXMj7KpgNzlMrw3isvHJYkikZgZE4ASwssTnGEH8tm50L6QsM9QQT5wR4/eO5mU0rN5axH7UzNxEYg5CA== @@ -1337,7 +1339,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^1.0.2", "@csstools/postcss-oklab-function@^1.1.0": +"@csstools/postcss-oklab-function@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.0.tgz#e9a269487a292e0930760948e923e1d46b638ee6" integrity sha512-e/Q5HopQzmnQgqimG9v3w2IG4VRABsBq3itOcn4bnm+j4enTgQZ0nWsaH/m9GV2otWGQ0nwccYL5vmLKyvP1ww== @@ -1442,7 +1444,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz#7ed98f6fa525ffb7c56a2cbecb5f7bb91abd2baf" integrity sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA== -"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.9": version "0.3.9" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== @@ -1472,10 +1474,10 @@ "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.4" -"@microsoft/api-extractor@7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.23.0.tgz#8bd5a197e04b0ba92fb85e0f53b4d7cadd0a95b2" - integrity sha512-fbdX05RVE1EMA7nvyRHuS9nx1pryhjgURDx6pQlE/9yOXQ5PO7MpYdfWGaRsQwyYuU3+tPxgro819c0R3AK6KA== +"@microsoft/api-extractor@7.23.1": + version "7.23.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.23.1.tgz#483e339cc73669c709ff215a76eb0e6d9a31de5b" + integrity sha512-J5cTjbMzSZPRZT4AKvFI1KmLGHVhV6bHnFcPo3Og9cN9QmknzpKg5BxvpBecEdFKNZxUpUrBkps2xOQ4Fjc6zg== dependencies: "@microsoft/api-extractor-model" "7.17.2" "@microsoft/tsdoc" "0.14.1" @@ -1505,10 +1507,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-next.12": - version "14.0.0-next.12" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.12.tgz#6920a8a54abd2a5bc41f671ed4e18d8b3be0502b" - integrity sha512-i2+IT0i9IicplJaesp4ELUbbtKvH0skQeQvpQ9Md9HHj4miKaGnj1eMIbVxQrY2PCPyz2Mxva2iHXSfVCE1N4w== +"@ngtools/webpack@14.0.0-next.13": + version "14.0.0-next.13" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.13.tgz#6ed412b78a853869d41580e974d471c6a37ae020" + integrity sha512-I1pbPgp31iFQAObwNNahkjfr4qlwwuXLwxttURE3nTJ9WuS6SGQPFeLnglWDNf54Tlt7NSohnIYxn/cfXdrXJQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2920,7 +2922,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.4, autoprefixer@^10.4.5, autoprefixer@^10.4.6: +autoprefixer@^10.4.5, autoprefixer@^10.4.6: version "10.4.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== @@ -2949,16 +2951,6 @@ axios@0.21.4: dependencies: follow-redirects "^1.14.0" -babel-loader@8.2.4: - version "8.2.4" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b" - integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - babel-loader@8.2.5: version "8.2.5" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" @@ -3320,30 +3312,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.0.4: - version "16.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.4.tgz#66877ae82717ade4d1416d5b3caa3a870f2c6d0c" - integrity sha512-U0D4wF3/W8ZgK4qDA5fTtOVSr0gaDfd5aa7tUdAV0uukVWKsAIn6SzXQCoVlg7RWZiJa+bcsM3/pXLumGaL2Ug== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^7.2.0" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^1.1.1" - cacache@16.0.7, cacache@^16.0.0, cacache@^16.0.2: version "16.0.7" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.7.tgz#74a5d9bc4c17b4c0b373c1f5d42dadf5dc06638d" @@ -3459,10 +3427,10 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -clang-format@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.7.0.tgz#c06c63ec1ae2a2590d8eac2562daeb877ca30d44" - integrity sha512-BNuK+rXAK/Fk0rOQ1DW6bpSQUAZz6tpbZHTQn6m4PsgEkE1SNr6AQ/hhFK/b4KJrl4zjcl68molP+rEaKSZRAQ== +clang-format@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.8.0.tgz#7779df1c5ce1bc8aac1b0b02b4e479191ef21d46" + integrity sha512-pK8gzfu55/lHzIpQ1givIbWfn3eXnU7SfxqIwVgnn5jEM6j4ZJYjpFqFs4iSBPNedzRMmfjYjuQhu657WAXHXw== dependencies: async "^3.2.3" glob "^7.0.0" @@ -4435,242 +4403,111 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" - integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== - esbuild-android-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== -esbuild-android-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" - integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== - esbuild-android-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== -esbuild-darwin-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" - integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== - esbuild-darwin-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== -esbuild-darwin-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" - integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== - esbuild-darwin-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== -esbuild-freebsd-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" - integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== - esbuild-freebsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== -esbuild-freebsd-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" - integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== - esbuild-freebsd-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== -esbuild-linux-32@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" - integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== - esbuild-linux-32@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== -esbuild-linux-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" - integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== - esbuild-linux-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== -esbuild-linux-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" - integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== - esbuild-linux-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== -esbuild-linux-arm@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" - integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== - esbuild-linux-arm@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== -esbuild-linux-mips64le@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" - integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== - esbuild-linux-mips64le@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== -esbuild-linux-ppc64le@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" - integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== - esbuild-linux-ppc64le@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== -esbuild-linux-riscv64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" - integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== - esbuild-linux-riscv64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== -esbuild-linux-s390x@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" - integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== - esbuild-linux-s390x@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== -esbuild-netbsd-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" - integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== - esbuild-netbsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== -esbuild-openbsd-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" - integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== - esbuild-openbsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== -esbuild-sunos-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" - integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== - esbuild-sunos-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA== -esbuild-wasm@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.36.tgz#7c69b6db185f16755841e999f8c9604dee2cb86a" - integrity sha512-tDMs2l397fd/pwLoIKb4uYfQayM5hMfUwVvCmzbFEU+zXedj15/Z/A8iD87cWHN1VD66REdgcGMt1BO6C7RnLw== - esbuild-wasm@0.14.38, esbuild-wasm@^0.14.29: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== -esbuild-windows-32@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" - integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== - esbuild-windows-32@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== -esbuild-windows-64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" - integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== - esbuild-windows-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== -esbuild-windows-arm64@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" - integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== - esbuild-windows-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw== -esbuild@0.14.36: - version "0.14.36" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" - integrity sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw== - optionalDependencies: - esbuild-android-64 "0.14.36" - esbuild-android-arm64 "0.14.36" - esbuild-darwin-64 "0.14.36" - esbuild-darwin-arm64 "0.14.36" - esbuild-freebsd-64 "0.14.36" - esbuild-freebsd-arm64 "0.14.36" - esbuild-linux-32 "0.14.36" - esbuild-linux-64 "0.14.36" - esbuild-linux-arm "0.14.36" - esbuild-linux-arm64 "0.14.36" - esbuild-linux-mips64le "0.14.36" - esbuild-linux-ppc64le "0.14.36" - esbuild-linux-riscv64 "0.14.36" - esbuild-linux-s390x "0.14.36" - esbuild-netbsd-64 "0.14.36" - esbuild-openbsd-64 "0.14.36" - esbuild-sunos-64 "0.14.36" - esbuild-windows-32 "0.14.36" - esbuild-windows-64 "0.14.36" - esbuild-windows-arm64 "0.14.36" - esbuild@0.14.38, esbuild@^0.14.29: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" @@ -5991,26 +5828,6 @@ injection-js@^2.4.0: dependencies: tslib "^2.0.0" -inquirer@8.2.2: - version "8.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" - integrity sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - inquirer@8.2.4: version "8.2.4" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" @@ -8157,7 +7974,7 @@ postcss-custom-media@^8.0.0: resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^12.1.5, postcss-custom-properties@^12.1.7: +postcss-custom-properties@^12.1.7: version "12.1.7" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz#ca470fd4bbac5a87fd868636dafc084bc2a78b41" integrity sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg== @@ -8238,7 +8055,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.1.2, postcss-lab-function@^4.2.0: +postcss-lab-function@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz#e054e662c6480202f5760887ec1ae0d153357123" integrity sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w== @@ -8293,7 +8110,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.3, postcss-nesting@^10.1.4: +postcss-nesting@^10.1.4: version "10.1.4" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.4.tgz#80de9d1c2717bc44df918dd7f118929300192a7a" integrity sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA== @@ -8322,55 +8139,6 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.4.3: - version "7.4.3" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.3.tgz#fb1c8b4cb405da042da0ddb8c5eda7842c08a449" - integrity sha512-dlPA65g9KuGv7YsmGyCKtFkZKCPLkoVMUE3omOl6yM+qrynVHxFvf0tMuippIrXB/sB/MyhL1FgTIbrO+qMERg== - dependencies: - "@csstools/postcss-color-function" "^1.0.3" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.1" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.0.2" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - autoprefixer "^10.4.4" - browserslist "^4.20.2" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.5.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.5" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.1.2" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.3" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.1" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-preset-env@7.4.4: version "7.4.4" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.4.tgz#069e34e31e2a7345154da7936b9fc1fcbdbd6d43" @@ -8471,7 +8239,7 @@ postcss-preset-env@^7.4.2: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.1, postcss-pseudo-class-any-link@^7.1.2: +postcss-pseudo-class-any-link@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz#81ec491aa43f97f9015e998b7a14263b4630bdf0" integrity sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w== @@ -9251,15 +9019,6 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.50.1: - version "1.50.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.1.tgz#e9b078a1748863013c4712d2466ce8ca4e4ed292" - integrity sha512-noTnY41KnlW2A9P8sdwESpDmo+KBNkukI1i8+hOK3footBUcohNHtdOJbckp46XO95nuvcHDDZ+4tmOnpK3hjw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.51.0, sass@^1.49.9: version "1.51.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" @@ -9706,7 +9465,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: +source-map@0.7.3, source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -10110,16 +9869,6 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.12.1: - version "5.12.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" - integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - terser@5.13.0: version "5.13.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.0.tgz#d43fd71861df1b4df743980caa257c6fa03acc44" @@ -10317,11 +10066,6 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - tslib@2.4.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" From 5a6f621f86d01ba0182d01f0ba3419864653285e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 May 2022 11:05:08 -0400 Subject: [PATCH 0360/1388] build: update `@angular/localize` import to use non-private entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `ɵParsedTranslation` type is now exported from the root entry point and can be used without the `private` deep import. --- .../build_angular/src/babel/presets/application.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index 93085bbaa36e..234f8fa7052c 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import type { ɵParsedTranslation } from '@angular/localize/private'; +import type { ɵParsedTranslation } from '@angular/localize'; import type { DiagnosticHandlingStrategy, Diagnostics, From 1b2b8d96e55de0920dfe3e7921ee29cfdf22ce3e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 May 2022 11:09:17 -0400 Subject: [PATCH 0361/1388] refactor(@schematics/angular): track E2E ts-node version with latest-versions utility This change allows renovate to automatically manage the dependency updates for the `ts-node` package used by the E2E schematic. --- packages/schematics/angular/e2e/index.ts | 2 +- .../schematics/angular/utility/latest-versions/package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index 7bd48bf2c5de..aafe632563ec 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -94,7 +94,7 @@ export default function (options: E2eOptions): Rule { { type: NodeDependencyType.Dev, name: 'ts-node', - version: '~9.1.1', + version: latestVersions['ts-node'], }, { type: NodeDependencyType.Dev, diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index abd96f2b420a..898935f11235 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -14,6 +14,7 @@ "ng-packagr": "^14.0.0-next.2", "rxjs": "~7.5.0", "tslib": "^2.3.0", + "ts-node": "~10.7.0", "typescript": "~4.6.2", "zone.js": "~0.11.4" } From b16e6f13a791ae40be8ff959a96b2a9199ee5345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Fri, 6 May 2022 17:36:15 +0200 Subject: [PATCH 0362/1388] fix(@schematics/angular): remove extra space in standalone imports --- .../__name@dasherize__.__type@dasherize__.ts.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index ce6c105bef1a..7f0aebc78669 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -4,7 +4,7 @@ import { CommonModule } from '@angular/common';<% } %> @Component({<% if(!skipSelector) {%> selector: '<%= selector %>',<%}%><% if(standalone) {%> standalone: true, - imports: [CommonModule], <%}%><% if(inlineTemplate) { %> + imports: [CommonModule],<%}%><% if(inlineTemplate) { %> template: `

<%= dasherize(name) %> works! From d52697047a89914aab1f2e2de72b3a3fdc43455d Mon Sep 17 00:00:00 2001 From: alkavats1 Date: Fri, 6 May 2022 15:13:46 +0530 Subject: [PATCH 0363/1388] refactor: refactored the code and removed the code smells refactored the code and removed the code smells --- .../build_angular/test/hello-world-app/src/test.ts | 2 +- .../build_angular/test/hello-world-lib/projects/lib/src/test.ts | 2 +- .../schematics/angular/application/files/src/test.ts.template | 2 +- packages/schematics/angular/library/files/src/test.ts.template | 2 +- tests/legacy-cli/e2e/assets/10.0-project/src/test.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts index 4a6acf914c97..d2dd986c8a58 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts @@ -30,4 +30,4 @@ getTestBed().initTestEnvironment( // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. -context.keys().map(context); +context.keys().forEach(context); diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts index 0ef019623ce1..2e06d42dae8a 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts @@ -31,4 +31,4 @@ getTestBed().initTestEnvironment( // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. -context.keys().map(context); +context.keys().forEach(context); diff --git a/packages/schematics/angular/application/files/src/test.ts.template b/packages/schematics/angular/application/files/src/test.ts.template index 00025daf1720..c04c876075f9 100644 --- a/packages/schematics/angular/application/files/src/test.ts.template +++ b/packages/schematics/angular/application/files/src/test.ts.template @@ -23,4 +23,4 @@ getTestBed().initTestEnvironment( // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. -context.keys().map(context); +context.keys().forEach(context); diff --git a/packages/schematics/angular/library/files/src/test.ts.template b/packages/schematics/angular/library/files/src/test.ts.template index bcca659d3122..5775317abc9f 100644 --- a/packages/schematics/angular/library/files/src/test.ts.template +++ b/packages/schematics/angular/library/files/src/test.ts.template @@ -24,4 +24,4 @@ getTestBed().initTestEnvironment( // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. -context.keys().map(context); +context.keys().forEach(context); diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts b/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts index e103ada1345e..045d6b4a8c19 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts +++ b/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts @@ -23,4 +23,4 @@ getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDyn // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. -context.keys().map(context); +context.keys().forEach(context); From c99f43c7b6148dd509bebb0f1303eef45ee30b9e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 4 May 2022 20:45:45 -0400 Subject: [PATCH 0364/1388] test: use node-fetch package in E2E tests instead of custom request helper utility The http E2E helper utility module is now unused within the E2E tests and can be removed. This also removes usage of the `request` package which is not an actual dependency of the project. --- tests/legacy-cli/e2e/tests/basic/rebuild.ts | 11 +++-- tests/legacy-cli/e2e/tests/basic/serve.ts | 6 +-- .../e2e/tests/commands/serve/serve-path.ts | 24 +++++----- tests/legacy-cli/e2e/tests/misc/fallback.ts | 21 ++++----- .../legacy-cli/e2e/tests/misc/proxy-config.ts | 26 +++++----- .../legacy-cli/e2e/tests/misc/public-host.ts | 18 ++++--- .../legacy-cli/e2e/tests/misc/ssl-default.ts | 33 +++++++------ .../e2e/tests/misc/ssl-with-cert.ts | 47 +++++++++---------- tests/legacy-cli/e2e/utils/http.ts | 21 --------- 9 files changed, 94 insertions(+), 113 deletions(-) delete mode 100644 tests/legacy-cli/e2e/utils/http.ts diff --git a/tests/legacy-cli/e2e/tests/basic/rebuild.ts b/tests/legacy-cli/e2e/tests/basic/rebuild.ts index 261835bcc09f..973e4ec9230e 100644 --- a/tests/legacy-cli/e2e/tests/basic/rebuild.ts +++ b/tests/legacy-cli/e2e/tests/basic/rebuild.ts @@ -6,7 +6,7 @@ import { } from '../../utils/process'; import { writeFile, writeMultipleFiles } from '../../utils/fs'; import { wait } from '../../utils/utils'; -import { request } from '../../utils/http'; +import fetch from 'node-fetch'; const validBundleRegEx = / Compiled successfully./; @@ -136,7 +136,8 @@ export default function () { ]), ) .then(() => wait(2000)) - .then(() => request('http://localhost:4200/main.js')) + .then(() => fetch('http://localhost:4200/main.js')) + .then((response) => response.text()) .then((body) => { if (!body.match(/\$\$_E2E_GOLDEN_VALUE_1/)) { throw new Error('Expected golden value 1.'); @@ -157,7 +158,8 @@ export default function () { ]), ) .then(() => wait(2000)) - .then(() => request('http://localhost:4200/main.js')) + .then(() => fetch('http://localhost:4200/main.js')) + .then((response) => response.text()) .then((body) => { if (!body.match(/testingTESTING123/)) { throw new Error('Expected component HTML to update.'); @@ -172,7 +174,8 @@ export default function () { ]), ) .then(() => wait(2000)) - .then(() => request('http://localhost:4200/main.js')) + .then(() => fetch('http://localhost:4200/main.js')) + .then((response) => response.text()) .then((body) => { if (!body.match(/color:\s?blue/)) { throw new Error('Expected component CSS to update.'); diff --git a/tests/legacy-cli/e2e/tests/basic/serve.ts b/tests/legacy-cli/e2e/tests/basic/serve.ts index 03457450cae8..38270755e5ec 100644 --- a/tests/legacy-cli/e2e/tests/basic/serve.ts +++ b/tests/legacy-cli/e2e/tests/basic/serve.ts @@ -1,4 +1,4 @@ -import { request } from '../../utils/http'; +import fetch from 'node-fetch'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; @@ -18,9 +18,9 @@ export default async function () { } async function verifyResponse(): Promise { - const response = await request('http://localhost:4200/'); + const response = await fetch('http://localhost:4200/'); - if (!/<\/app-root>/.test(response)) { + if (!/<\/app-root>/.test(await response.text())) { throw new Error('Response does not match expected value.'); } } diff --git a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts index 604e10a85d8f..913894284b8d 100644 --- a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts +++ b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts @@ -1,4 +1,5 @@ -import { request } from '../../../utils/http'; +import * as assert from 'assert'; +import fetch from 'node-fetch'; import { killAllProcesses } from '../../../utils/process'; import { ngServe } from '../../../utils/project'; @@ -7,17 +8,15 @@ export default function () { return Promise.resolve() .then(() => ngServe('--serve-path', 'test/')) - .then(() => request('http://localhost:4200/test')) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } + .then(() => fetch('http://localhost:4200/test', { headers: { 'Accept': 'text/html' } })) + .then(async (response) => { + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /<\/app-root>/); }) - .then(() => request('http://localhost:4200/test/abc')) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } + .then(() => fetch('http://localhost:4200/test/abc', { headers: { 'Accept': 'text/html' } })) + .then(async (response) => { + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /<\/app-root>/); }) .then( () => killAllProcesses(), @@ -27,7 +26,8 @@ export default function () { }, ); // .then(() => ngServe('--base-href', 'test/')) - // .then(() => request('http://localhost:4200/test')) + // .then((response) => response.text()) + // .then(() => fetch('http://localhost:4200/test', { headers: { 'Accept': 'text/html' } })) // .then(body => { // if (!body.match(/<\/app-root>/)) { // throw new Error('Response does not match expected value.'); diff --git a/tests/legacy-cli/e2e/tests/misc/fallback.ts b/tests/legacy-cli/e2e/tests/misc/fallback.ts index a1bb7b07fd73..ab06a5676bbb 100644 --- a/tests/legacy-cli/e2e/tests/misc/fallback.ts +++ b/tests/legacy-cli/e2e/tests/misc/fallback.ts @@ -1,4 +1,5 @@ -import { request } from '../../utils/http'; +import * as assert from 'assert'; +import fetch from 'node-fetch'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; import { updateJsonFile } from '../../utils/project'; @@ -11,11 +12,10 @@ export default function () { return ( Promise.resolve() .then(() => ngServe()) - .then(() => request('http://localhost:4200/')) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } + .then(() => fetch('http://localhost:4200/', { headers: { 'Accept': 'text/html' } })) + .then(async (response) => { + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /<\/app-root>/); }) .then( () => killAllProcesses(), @@ -33,11 +33,10 @@ export default function () { }), ) .then(() => ngServe()) - .then(() => request('http://localhost:4200/')) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } + .then(() => fetch('http://localhost:4200/', { headers: { 'Accept': 'text/html' } })) + .then(async (response) => { + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /<\/app-root>/); }) .then( () => killAllProcesses(), diff --git a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts index 76896e92b055..67a0ba69f08b 100644 --- a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts +++ b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts @@ -2,11 +2,13 @@ import express from 'express'; import * as http from 'http'; import { writeFile } from '../../utils/fs'; -import { request } from '../../utils/http'; +import fetch from 'node-fetch'; import { killAllProcesses, ng } from '../../utils/process'; import { ngServe } from '../../utils/project'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; +import { AddressInfo } from 'net'; +import * as assert from 'assert'; export default function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. @@ -16,13 +18,13 @@ export default function () { const server = http.createServer(app); server.listen(0); - app.set('port', server.address().port); + app.set('port', (server.address() as AddressInfo).port); app.get('/api/test', function (req, res) { res.send('TEST_API_RETURN'); }); const backendHost = 'localhost'; - const backendPort = server.address().port; + const backendPort = (server.address() as AddressInfo).port; const proxyServerUrl = `http://${backendHost}:${backendPort}`; const proxyConfigFile = 'proxy.config.json'; const proxyConfig = { @@ -35,11 +37,10 @@ export default function () { Promise.resolve() .then(() => writeFile(proxyConfigFile, JSON.stringify(proxyConfig, null, 2))) .then(() => ngServe('--proxy-config', proxyConfigFile)) - .then(() => request('http://localhost:4200/api/test')) - .then((body) => { - if (!body.match(/TEST_API_RETURN/)) { - throw new Error('Response does not match expected value.'); - } + .then(() => fetch('http://localhost:4200/api/test')) + .then(async (response) => { + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /TEST_API_RETURN/); }) .then( () => killAllProcesses(), @@ -56,11 +57,10 @@ export default function () { // }; // })) // .then(() => ngServe()) - // .then(() => request('http://localhost:4200/api/test')) - // .then(body => { - // if (!body.match(/TEST_API_RETURN/)) { - // throw new Error('Response does not match expected value.'); - // } + // .then(() => fetch('http://localhost:4200/api/test')) + // .then(async (response) => { + // assert.strictEqual(response.status, 200); + // assert.match(await response.text(), /TEST_API_RETURN/) // }) // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }) diff --git a/tests/legacy-cli/e2e/tests/misc/public-host.ts b/tests/legacy-cli/e2e/tests/misc/public-host.ts index 4a040475ece5..96237dd60fbc 100644 --- a/tests/legacy-cli/e2e/tests/misc/public-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/public-host.ts @@ -1,6 +1,5 @@ import * as os from 'os'; - -import { request } from '../../utils/http'; +import fetch from 'node-fetch'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; @@ -20,7 +19,8 @@ export default function () { // Disabling this test. Webpack Dev Server does not check the hots anymore when binding to // numeric IP addresses. // .then(() => ngServe('--host=0.0.0.0')) - // .then(() => request(localAddress)) + // .then(() => fetch(localAddress)) + // .then((response) => response.text()) // .then(body => { // if (!body.match(/Invalid Host header/)) { // throw new Error('Response does not match expected value.'); @@ -28,7 +28,8 @@ export default function () { // }) // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }) .then(() => ngServe('--host=0.0.0.0', `--public-host=${publicHost}`)) - .then(() => request(localAddress)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); @@ -42,7 +43,8 @@ export default function () { }, ) .then(() => ngServe('--host=0.0.0.0', `--disable-host-check`)) - .then(() => request(localAddress)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); @@ -56,7 +58,8 @@ export default function () { }, ) .then(() => ngServe('--host=0.0.0.0', `--public-host=${localAddress}`)) - .then(() => request(localAddress)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); @@ -70,7 +73,8 @@ export default function () { }, ) .then(() => ngServe('--host=0.0.0.0', `--public-host=${firstLocalIp}`)) - .then(() => request(localAddress)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { throw new Error('Response does not match expected value.'); diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts index 0dc7325aad24..464b5d973c85 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts @@ -1,23 +1,22 @@ -import { request } from '../../utils/http'; +import * as assert from 'assert'; +import { Agent } from 'https'; +import fetch from 'node-fetch'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; -export default function () { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. - return Promise.resolve() - .then(() => ngServe('--ssl', 'true')) - .then(() => request('https://localhost:4200/')) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ); + try { + await ngServe('--ssl', 'true'); + + const response = await fetch('https://localhost:4200/', { + agent: new Agent({ rejectUnauthorized: false }), + }); + + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /<\/app-root>/); + } finally { + killAllProcesses(); + } } diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts index 3a6d08b7bdb4..1435af28bbab 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts @@ -1,33 +1,30 @@ -import { request } from '../../utils/http'; +import * as assert from 'assert'; +import { Agent } from 'https'; +import fetch from 'node-fetch'; import { assetDir } from '../../utils/assets'; import { killAllProcesses } from '../../utils/process'; import { ngServe } from '../../utils/project'; -export default function () { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. - return Promise.resolve() - .then(() => - ngServe( - '--ssl', - 'true', - '--ssl-key', - assetDir('ssl/server.key'), - '--ssl-cert', - assetDir('ssl/server.crt'), - ), - ) - .then(() => request('https://localhost:4200/')) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, + try { + await ngServe( + '--ssl', + 'true', + '--ssl-key', + assetDir('ssl/server.key'), + '--ssl-cert', + assetDir('ssl/server.crt'), ); + + const response = await fetch('https://localhost:4200/', { + agent: new Agent({ rejectUnauthorized: false }), + }); + + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /<\/app-root>/); + } finally { + killAllProcesses(); + } } diff --git a/tests/legacy-cli/e2e/utils/http.ts b/tests/legacy-cli/e2e/utils/http.ts deleted file mode 100644 index b18b697a2b32..000000000000 --- a/tests/legacy-cli/e2e/utils/http.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IncomingMessage } from 'http'; -import _request from 'request'; - -export function request(url: string): Promise { - return new Promise((resolve, reject) => { - let options = { - url: url, - headers: { 'Accept': 'text/html' }, - agentOptions: { rejectUnauthorized: false }, - }; - _request(options, (error: any, response: IncomingMessage, body: string) => { - if (error) { - reject(error); - } else if (response.statusCode >= 400) { - reject(new Error(`Requesting "${url}" returned status code ${response.statusCode}.`)); - } else { - resolve(body); - } - }); - }); -} From 0301cf6c10ab71a1ca400cf2208f7e4586607138 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 6 May 2022 17:02:08 +0200 Subject: [PATCH 0365/1388] build: prepare TypeScript 4.7 Expands the version range to allow TypeScript 4.7 and makes the necessary code changes in order to support it. --- .../angular_devkit/schematics/index.md | 8 ++++---- .../angular_devkit/schematics/testing/index.md | 4 ++-- package.json | 2 +- .../architect-base-command-module.ts | 2 +- .../src/command-builder/utilities/command.ts | 2 +- .../architect/src/create-builder.ts | 2 +- .../angular_devkit/build_angular/package.json | 2 +- .../src/testing/builder-harness.ts | 6 +++--- .../core/src/json/schema/registry.ts | 2 +- .../angular_devkit/core/src/utils/object.ts | 2 +- .../core/src/workspace/json/reader_spec.ts | 4 ++-- .../schematics/src/engine/engine.ts | 7 +++++-- .../schematics/src/engine/interface.ts | 5 ++++- .../schematics/src/rules/template.ts | 8 ++++---- .../schematics/testing/schematic-test-runner.ts | 4 ++-- packages/ngtools/webpack/package.json | 2 +- packages/ngtools/webpack/src/ivy/host.ts | 17 +++++++++++------ .../utility/latest-versions/package.json | 2 +- .../e2e/tests/misc/third-party-decorators.ts | 11 +++++++---- yarn.lock | 16 +++++++--------- 20 files changed, 60 insertions(+), 48 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/index.md b/goldens/public-api/angular_devkit/schematics/index.md index 05f844128ad5..5ef8ce4c5cd5 100644 --- a/goldens/public-api/angular_devkit/schematics/index.md +++ b/goldens/public-api/angular_devkit/schematics/index.md @@ -71,7 +71,7 @@ export function applyContentTemplate(options: T): FileOperator; export function applyPathTemplate(data: T, options?: PathTemplateOptions): FileOperator; // @public (undocumented) -export function applyTemplates(options: T): Rule; +export function applyTemplates(options: T): Rule; // @public (undocumented) export function applyToSubtree(path: string, rules: Rule[]): Rule; @@ -904,11 +904,11 @@ export class TaskScheduler { // (undocumented) finalize(): ReadonlyArray; // (undocumented) - schedule(taskConfiguration: TaskConfiguration): TaskId; + schedule(taskConfiguration: TaskConfiguration): TaskId; } // @public (undocumented) -export function template(options: T): Rule; +export function template(options: T): Rule; // @public (undocumented) export const TEMPLATE_FILENAME_RE: RegExp; @@ -939,7 +939,7 @@ export const TreeSymbol: symbol; // @public export interface TypedSchematicContext { // (undocumented) - addTask(task: TaskConfigurationGenerator, dependencies?: Array): TaskId; + addTask(task: TaskConfigurationGenerator, dependencies?: Array): TaskId; // (undocumented) readonly debug: boolean; // (undocumented) diff --git a/goldens/public-api/angular_devkit/schematics/testing/index.md b/goldens/public-api/angular_devkit/schematics/testing/index.md index 06e24643a9fe..854dbd7728b0 100644 --- a/goldens/public-api/angular_devkit/schematics/testing/index.md +++ b/goldens/public-api/angular_devkit/schematics/testing/index.md @@ -25,9 +25,9 @@ export class SchematicTestRunner { // (undocumented) registerCollection(collectionName: string, collectionPath: string): void; // (undocumented) - runExternalSchematicAsync(collectionName: string, schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Observable; + runExternalSchematicAsync(collectionName: string, schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Observable; // (undocumented) - runSchematicAsync(schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Observable; + runSchematicAsync(schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Observable; // (undocumented) get tasks(): TaskConfiguration[]; } diff --git a/package.json b/package.json index 7e907c88fb94..ce781a0c054d 100644 --- a/package.json +++ b/package.json @@ -169,7 +169,7 @@ "magic-string": "0.26.1", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.5", + "ng-packagr": "14.0.0-next.8", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.2", "open": "8.4.0", diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index 7900a8b0bfbd..04323c606706 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -32,7 +32,7 @@ export interface MissingTargetChoice { value: string; } -export abstract class ArchitectBaseCommandModule +export abstract class ArchitectBaseCommandModule extends CommandModule implements CommandModuleImplementation { diff --git a/packages/angular/cli/src/command-builder/utilities/command.ts b/packages/angular/cli/src/command-builder/utilities/command.ts index cc55bee254c1..525cdcc25689 100644 --- a/packages/angular/cli/src/command-builder/utilities/command.ts +++ b/packages/angular/cli/src/command-builder/utilities/command.ts @@ -12,7 +12,7 @@ import { CommandContext, CommandModule, CommandModuleImplementation } from '../c export const demandCommandFailureMessage = `You need to specify a command before moving on. Use '--help' to view the available commands.`; export function addCommandModuleToYargs< - T, + T extends object, U extends Partial & { new (context: CommandContext): Partial & CommandModule; }, diff --git a/packages/angular_devkit/architect/src/create-builder.ts b/packages/angular_devkit/architect/src/create-builder.ts index 8a49d2f924b9..f5f19dc75c5b 100644 --- a/packages/angular_devkit/architect/src/create-builder.ts +++ b/packages/angular_devkit/architect/src/create-builder.ts @@ -202,7 +202,7 @@ export function createBuilder=4.6.2 <4.8" }, "peerDependenciesMeta": { "@angular/localize": { diff --git a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts index 579097e5ebb0..4a930039d33e 100644 --- a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts +++ b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts @@ -113,7 +113,7 @@ export class BuilderHarness { return this; } - withBuilderTarget( + withBuilderTarget( target: string, handler: BuilderHandlerFn, options?: O, @@ -178,12 +178,12 @@ export class BuilderHarness { getOptions: async (project, target, configuration) => { this.validateProjectName(project); if (target === this.targetName) { - return this.options.get(configuration ?? null) ?? {}; + return (this.options.get(configuration ?? null) ?? {}) as json.JsonObject; } else if (configuration !== undefined) { // Harness builder targets currently do not support configurations return {}; } else { - return (this.builderTargets.get(target)?.options as json.JsonObject) || {}; + return (this.builderTargets.get(target)?.options || {}) as json.JsonObject; } }, hasTarget: async (project, target) => { diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index 38815434d2d0..3c36d0e8dcba 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -402,7 +402,7 @@ export class CoreSchemaRegistry implements SchemaRegistry { throw new Error(source); } - this._sourceMap.set(source, provider); + this._sourceMap.set(source, provider as unknown as SmartDefaultProvider<{}>); if (!this._smartDefaultKeyword) { this._smartDefaultKeyword = true; diff --git a/packages/angular_devkit/core/src/utils/object.ts b/packages/angular_devkit/core/src/utils/object.ts index 5ad7de7dbd99..83676d3fd9c9 100644 --- a/packages/angular_devkit/core/src/utils/object.ts +++ b/packages/angular_devkit/core/src/utils/object.ts @@ -12,7 +12,7 @@ export function deepCopy(value: T): T { if (Array.isArray(value)) { return value.map((o) => deepCopy(o)) as unknown as T; } else if (value && typeof value === 'object') { - const valueCasted = value as { + const valueCasted = value as unknown as { [copySymbol]?: T; toJSON?: () => string; // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts index 22d5cd3fbc63..1ac13b474700 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts @@ -317,7 +317,7 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { const workspace = await readJsonWorkspace('', host); - Object.assign(workspace.extensions['x-foo'], { x: 9, y: 8 }, { z: 7 }); + Object.assign(workspace.extensions['x-foo']!, { x: 9, y: 8 }, { z: 7 }); expect(workspace.extensions['x-foo']).toEqual({ is: ['good', 'great', 'awesome'], x: 9, @@ -355,7 +355,7 @@ describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { const workspace = await readJsonWorkspace('', host); workspace.extensions['x-foo'] = Object.assign( - workspace.extensions['x-foo'], + workspace.extensions['x-foo']!, { x: 9, y: 8 }, { z: 7 }, ); diff --git a/packages/angular_devkit/schematics/src/engine/engine.ts b/packages/angular_devkit/schematics/src/engine/engine.ts index d2379ced964a..d89690c31932 100644 --- a/packages/angular_devkit/schematics/src/engine/engine.ts +++ b/packages/angular_devkit/schematics/src/engine/engine.ts @@ -141,7 +141,7 @@ export class TaskScheduler { return new Set(tasks); } - schedule(taskConfiguration: TaskConfiguration): TaskId { + schedule(taskConfiguration: TaskConfiguration): TaskId { const dependencies = this._mapDependencies(taskConfiguration.dependencies); const priority = this._calculatePriority(dependencies); @@ -275,7 +275,10 @@ export class SchematicEngine(task: TaskConfigurationGenerator, dependencies?: Array): TaskId { + function addTask( + task: TaskConfigurationGenerator, + dependencies?: Array, + ): TaskId { const config = task.toConfiguration(); if (!host.hasTaskExecutor(config.name)) { diff --git a/packages/angular_devkit/schematics/src/engine/interface.ts b/packages/angular_devkit/schematics/src/engine/interface.ts index 38d4e9f5972b..9d316d14428d 100644 --- a/packages/angular_devkit/schematics/src/engine/interface.ts +++ b/packages/angular_devkit/schematics/src/engine/interface.ts @@ -198,7 +198,10 @@ export interface TypedSchematicContext< readonly schematic: Schematic; readonly strategy: MergeStrategy; readonly interactive: boolean; - addTask(task: TaskConfigurationGenerator, dependencies?: Array): TaskId; + addTask( + task: TaskConfigurationGenerator, + dependencies?: Array, + ): TaskId; } /** diff --git a/packages/angular_devkit/schematics/src/rules/template.ts b/packages/angular_devkit/schematics/src/rules/template.ts index 681e6bfe82d6..beae0d781ebf 100644 --- a/packages/angular_devkit/schematics/src/rules/template.ts +++ b/packages/angular_devkit/schematics/src/rules/template.ts @@ -163,24 +163,24 @@ export function renameTemplateFiles(): Rule { ); } -export function template(options: T): Rule { +export function template(options: T): Rule { return chain([ contentTemplate(options), // Force cast to PathTemplateData. We need the type for the actual pathTemplate() call, // but in this case we cannot do anything as contentTemplate are more permissive. // Since values are coerced to strings in PathTemplates it will be fine in the end. - pathTemplate((options as {}) as PathTemplateData), + pathTemplate(options as {} as PathTemplateData), ]); } -export function applyTemplates(options: T): Rule { +export function applyTemplates(options: T): Rule { return forEach( when( (path) => path.endsWith('.template'), composeFileOperators([ applyContentTemplate(options), // See above for this weird cast. - applyPathTemplate((options as {}) as PathTemplateData), + applyPathTemplate(options as {} as PathTemplateData), (entry) => { return { content: entry.content, diff --git a/packages/angular_devkit/schematics/testing/schematic-test-runner.ts b/packages/angular_devkit/schematics/testing/schematic-test-runner.ts index ade76b9da933..f25ad49f72ac 100644 --- a/packages/angular_devkit/schematics/testing/schematic-test-runner.ts +++ b/packages/angular_devkit/schematics/testing/schematic-test-runner.ts @@ -78,7 +78,7 @@ export class SchematicTestRunner { this._engineHost.registerCollection(collectionName, collectionPath); } - runSchematicAsync( + runSchematicAsync( schematicName: string, opts?: SchematicSchemaT, tree?: Tree, @@ -92,7 +92,7 @@ export class SchematicTestRunner { .pipe(map((tree) => new UnitTestTree(tree))); } - runExternalSchematicAsync( + runExternalSchematicAsync( collectionName: string, schematicName: string, opts?: SchematicSchemaT, diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a1b55cf1ba0e..88a44f620d1a 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -23,7 +23,7 @@ "dependencies": {}, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", - "typescript": "~4.6.2", + "typescript": ">=4.6.2 <4.8", "webpack": "^5.54.0" }, "devDependencies": { diff --git a/packages/ngtools/webpack/src/ivy/host.ts b/packages/ngtools/webpack/src/ivy/host.ts index 7f52cea16de1..fe33df7f5f73 100644 --- a/packages/ngtools/webpack/src/ivy/host.ts +++ b/packages/ngtools/webpack/src/ivy/host.ts @@ -210,12 +210,16 @@ export function augmentHostWithNgcc( if (host.resolveTypeReferenceDirectives) { const baseResolveTypeReferenceDirectives = host.resolveTypeReferenceDirectives; - host.resolveTypeReferenceDirectives = function (names: string[], ...parameters) { + host.resolveTypeReferenceDirectives = function ( + names: string[] | ts.FileReference[], + ...parameters + ) { return names.map((name) => { - const result = baseResolveTypeReferenceDirectives.call(host, [name], ...parameters); + const fileName = typeof name === 'string' ? name : name.fileName; + const result = baseResolveTypeReferenceDirectives.call(host, [fileName], ...parameters); if (result[0] && ngcc) { - ngcc.processModule(name, result[0]); + ngcc.processModule(fileName, result[0]); } return result[0]; @@ -223,14 +227,15 @@ export function augmentHostWithNgcc( }; } else { host.resolveTypeReferenceDirectives = function ( - moduleNames: string[], + moduleNames: string[] | ts.FileReference[], containingFile: string, redirectedReference: ts.ResolvedProjectReference | undefined, options: ts.CompilerOptions, ) { return moduleNames.map((name) => { + const fileName = typeof name === 'string' ? name : name.fileName; const result = ts.resolveTypeReferenceDirective( - name, + fileName, containingFile, options, host, @@ -238,7 +243,7 @@ export function augmentHostWithNgcc( ).resolvedTypeReferenceDirective; if (result && ngcc) { - ngcc.processModule(name, result); + ngcc.processModule(fileName, result); } return result; diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 898935f11235..b39bb26cb92a 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -11,7 +11,7 @@ "karma-jasmine-html-reporter": "~1.7.0", "karma-jasmine": "~5.0.0", "karma": "~6.3.0", - "ng-packagr": "^14.0.0-next.2", + "ng-packagr": "^14.0.0-next.8", "rxjs": "~7.5.0", "tslib": "^2.3.0", "ts-node": "~10.7.0", diff --git a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts index 1fb2a3f3a914..7fa1e23d0471 100644 --- a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts +++ b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts @@ -6,10 +6,13 @@ import { updateJsonFile } from '../../utils/project'; export default async function () { await updateJsonFile('package.json', (packageJson) => { // Install ngrx - packageJson['dependencies']['@ngrx/effects'] = '^9.1.0'; - packageJson['dependencies']['@ngrx/schematics'] = '^9.1.0'; - packageJson['dependencies']['@ngrx/store'] = '^9.1.0'; - packageJson['dependencies']['@ngrx/store-devtools'] = '^9.1.0'; + packageJson['dependencies']['@ngrx/effects'] = '^13.2.0'; + packageJson['dependencies']['@ngrx/schematics'] = '^13.2.0'; + packageJson['dependencies']['@ngrx/store'] = '^13.2.0'; + packageJson['dependencies']['@ngrx/store-devtools'] = '^13.2.0'; + + // TODO(crisbeto): ngrx hasn't been updated for TS 4.7 yet. + packageJson['devDependencies']['typescript'] = '~4.6.2'; }); await installWorkspacePackages(); diff --git a/yarn.lock b/yarn.lock index de028e053079..432079cac001 100644 --- a/yarn.lock +++ b/yarn.lock @@ -177,7 +177,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6": version "0.0.0-d9f50abe777f5077aee75a35f2fe65bb478638b5" - uid "54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6" resolved "https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6" dependencies: "@angular-devkit/build-angular" "14.0.0-next.13" @@ -5349,7 +5348,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.1, glob@^8.0.1: +glob@8.0.1, glob@^8.0.0, glob@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.1.tgz#00308f5c035aa0b2a447cd37ead267ddff1577d3" integrity sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow== @@ -5372,7 +5371,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -7198,10 +7197,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-next.5: - version "14.0.0-next.5" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.5.tgz#40a308b358b1294c673e5bcaee6f656bda7d50b8" - integrity sha512-eaGDbrYRuQ17NzkasfFGdjEz1lhevLB4Sp4dCLbqJhormKwOSCtTwuxzKBcdNCzG0sJ0PBAWznuaateUvhFyAQ== +ng-packagr@14.0.0-next.8: + version "14.0.0-next.8" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.8.tgz#51b7c6bf8f4dce8cffa2063b22ae3142c8714354" + integrity sha512-xFIFVVgOHd8wIESq+SKgEQrYB24H0+sqb53ySHpdN5KLnVGbZ52BUtPfOOcscwwd+zaeE1RuKBhPfCbfxiiILA== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7214,7 +7213,7 @@ ng-packagr@14.0.0-next.5: dependency-graph "^0.11.0" esbuild-wasm "^0.14.29" find-cache-dir "^3.3.2" - glob "^7.2.0" + glob "^8.0.0" injection-js "^2.4.0" jsonc-parser "^3.0.0" less "^4.1.2" @@ -9030,7 +9029,6 @@ sass@1.51.0, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: From 7291579073d26de9bd58af3b5db4a0d6458e6a0c Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 6 May 2022 17:58:05 +0200 Subject: [PATCH 0366/1388] build: update to TypeScript 4.7 Bumps up the TypeScript version to 4.7. --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- .../Microsoft/TypeScript/BUILD.bazel | 8 +- .../Microsoft/TypeScript/lib/typescript.d.ts | 675 +- .../Microsoft/TypeScript/lib/typescript.js | 20923 +++++++++------- yarn.lock | 7 +- 6 files changed, 11906 insertions(+), 9711 deletions(-) diff --git a/package.json b/package.json index ce781a0c054d..860c653ae0e2 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.6.4", + "typescript": "4.7.0-beta", "verdaccio": "5.10.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 88a44f620d1a..ce77041ed96b 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.0.0-next.16", "@angular/compiler-cli": "14.0.0-next.16", - "typescript": "4.6.4", + "typescript": "4.7.0-beta", "webpack": "5.72.0" } } diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index 1bd61dfaf103..3d46fe5030c6 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,11 +1,11 @@ load("//tools:defaults.bzl", "ts_library") -# files fetched on 2022-03-10 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.6.2 +# files fetched on 2022-05-06 from +# https://github.com/microsoft/TypeScript/releases/tag/v4.7-beta # Commands to download: -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.6.2/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.6.2/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-beta/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-beta/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js licenses(["notice"]) # Apache 2.0 diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts index 0c1763205539..45eed1b64845 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts @@ -14,7 +14,7 @@ and limitations under the License. ***************************************************************************** */ declare namespace ts { - const versionMajorMinor = "4.6"; + const versionMajorMinor = "4.7"; /** The version of the TypeScript compiler release */ const version: string; /** @@ -249,216 +249,219 @@ declare namespace ts { ModuleKeyword = 141, NamespaceKeyword = 142, NeverKeyword = 143, - ReadonlyKeyword = 144, - RequireKeyword = 145, - NumberKeyword = 146, - ObjectKeyword = 147, - SetKeyword = 148, - StringKeyword = 149, - SymbolKeyword = 150, - TypeKeyword = 151, - UndefinedKeyword = 152, - UniqueKeyword = 153, - UnknownKeyword = 154, - FromKeyword = 155, - GlobalKeyword = 156, - BigIntKeyword = 157, - OverrideKeyword = 158, - OfKeyword = 159, - QualifiedName = 160, - ComputedPropertyName = 161, - TypeParameter = 162, - Parameter = 163, - Decorator = 164, - PropertySignature = 165, - PropertyDeclaration = 166, - MethodSignature = 167, - MethodDeclaration = 168, - ClassStaticBlockDeclaration = 169, - Constructor = 170, - GetAccessor = 171, - SetAccessor = 172, - CallSignature = 173, - ConstructSignature = 174, - IndexSignature = 175, - TypePredicate = 176, - TypeReference = 177, - FunctionType = 178, - ConstructorType = 179, - TypeQuery = 180, - TypeLiteral = 181, - ArrayType = 182, - TupleType = 183, - OptionalType = 184, - RestType = 185, - UnionType = 186, - IntersectionType = 187, - ConditionalType = 188, - InferType = 189, - ParenthesizedType = 190, - ThisType = 191, - TypeOperator = 192, - IndexedAccessType = 193, - MappedType = 194, - LiteralType = 195, - NamedTupleMember = 196, - TemplateLiteralType = 197, - TemplateLiteralTypeSpan = 198, - ImportType = 199, - ObjectBindingPattern = 200, - ArrayBindingPattern = 201, - BindingElement = 202, - ArrayLiteralExpression = 203, - ObjectLiteralExpression = 204, - PropertyAccessExpression = 205, - ElementAccessExpression = 206, - CallExpression = 207, - NewExpression = 208, - TaggedTemplateExpression = 209, - TypeAssertionExpression = 210, - ParenthesizedExpression = 211, - FunctionExpression = 212, - ArrowFunction = 213, - DeleteExpression = 214, - TypeOfExpression = 215, - VoidExpression = 216, - AwaitExpression = 217, - PrefixUnaryExpression = 218, - PostfixUnaryExpression = 219, - BinaryExpression = 220, - ConditionalExpression = 221, - TemplateExpression = 222, - YieldExpression = 223, - SpreadElement = 224, - ClassExpression = 225, - OmittedExpression = 226, - ExpressionWithTypeArguments = 227, - AsExpression = 228, - NonNullExpression = 229, - MetaProperty = 230, - SyntheticExpression = 231, - TemplateSpan = 232, - SemicolonClassElement = 233, - Block = 234, - EmptyStatement = 235, - VariableStatement = 236, - ExpressionStatement = 237, - IfStatement = 238, - DoStatement = 239, - WhileStatement = 240, - ForStatement = 241, - ForInStatement = 242, - ForOfStatement = 243, - ContinueStatement = 244, - BreakStatement = 245, - ReturnStatement = 246, - WithStatement = 247, - SwitchStatement = 248, - LabeledStatement = 249, - ThrowStatement = 250, - TryStatement = 251, - DebuggerStatement = 252, - VariableDeclaration = 253, - VariableDeclarationList = 254, - FunctionDeclaration = 255, - ClassDeclaration = 256, - InterfaceDeclaration = 257, - TypeAliasDeclaration = 258, - EnumDeclaration = 259, - ModuleDeclaration = 260, - ModuleBlock = 261, - CaseBlock = 262, - NamespaceExportDeclaration = 263, - ImportEqualsDeclaration = 264, - ImportDeclaration = 265, - ImportClause = 266, - NamespaceImport = 267, - NamedImports = 268, - ImportSpecifier = 269, - ExportAssignment = 270, - ExportDeclaration = 271, - NamedExports = 272, - NamespaceExport = 273, - ExportSpecifier = 274, - MissingDeclaration = 275, - ExternalModuleReference = 276, - JsxElement = 277, - JsxSelfClosingElement = 278, - JsxOpeningElement = 279, - JsxClosingElement = 280, - JsxFragment = 281, - JsxOpeningFragment = 282, - JsxClosingFragment = 283, - JsxAttribute = 284, - JsxAttributes = 285, - JsxSpreadAttribute = 286, - JsxExpression = 287, - CaseClause = 288, - DefaultClause = 289, - HeritageClause = 290, - CatchClause = 291, - AssertClause = 292, - AssertEntry = 293, - PropertyAssignment = 294, - ShorthandPropertyAssignment = 295, - SpreadAssignment = 296, - EnumMember = 297, - UnparsedPrologue = 298, - UnparsedPrepend = 299, - UnparsedText = 300, - UnparsedInternalText = 301, - UnparsedSyntheticReference = 302, - SourceFile = 303, - Bundle = 304, - UnparsedSource = 305, - InputFiles = 306, - JSDocTypeExpression = 307, - JSDocNameReference = 308, - JSDocMemberName = 309, - JSDocAllType = 310, - JSDocUnknownType = 311, - JSDocNullableType = 312, - JSDocNonNullableType = 313, - JSDocOptionalType = 314, - JSDocFunctionType = 315, - JSDocVariadicType = 316, - JSDocNamepathType = 317, - JSDocComment = 318, - JSDocText = 319, - JSDocTypeLiteral = 320, - JSDocSignature = 321, - JSDocLink = 322, - JSDocLinkCode = 323, - JSDocLinkPlain = 324, - JSDocTag = 325, - JSDocAugmentsTag = 326, - JSDocImplementsTag = 327, - JSDocAuthorTag = 328, - JSDocDeprecatedTag = 329, - JSDocClassTag = 330, - JSDocPublicTag = 331, - JSDocPrivateTag = 332, - JSDocProtectedTag = 333, - JSDocReadonlyTag = 334, - JSDocOverrideTag = 335, - JSDocCallbackTag = 336, - JSDocEnumTag = 337, - JSDocParameterTag = 338, - JSDocReturnTag = 339, - JSDocThisTag = 340, - JSDocTypeTag = 341, - JSDocTemplateTag = 342, - JSDocTypedefTag = 343, - JSDocSeeTag = 344, - JSDocPropertyTag = 345, - SyntaxList = 346, - NotEmittedStatement = 347, - PartiallyEmittedExpression = 348, - CommaListExpression = 349, - MergeDeclarationMarker = 350, - EndOfDeclarationMarker = 351, - SyntheticReferenceExpression = 352, - Count = 353, + OutKeyword = 144, + ReadonlyKeyword = 145, + RequireKeyword = 146, + NumberKeyword = 147, + ObjectKeyword = 148, + SetKeyword = 149, + StringKeyword = 150, + SymbolKeyword = 151, + TypeKeyword = 152, + UndefinedKeyword = 153, + UniqueKeyword = 154, + UnknownKeyword = 155, + FromKeyword = 156, + GlobalKeyword = 157, + BigIntKeyword = 158, + OverrideKeyword = 159, + OfKeyword = 160, + QualifiedName = 161, + ComputedPropertyName = 162, + TypeParameter = 163, + Parameter = 164, + Decorator = 165, + PropertySignature = 166, + PropertyDeclaration = 167, + MethodSignature = 168, + MethodDeclaration = 169, + ClassStaticBlockDeclaration = 170, + Constructor = 171, + GetAccessor = 172, + SetAccessor = 173, + CallSignature = 174, + ConstructSignature = 175, + IndexSignature = 176, + TypePredicate = 177, + TypeReference = 178, + FunctionType = 179, + ConstructorType = 180, + TypeQuery = 181, + TypeLiteral = 182, + ArrayType = 183, + TupleType = 184, + OptionalType = 185, + RestType = 186, + UnionType = 187, + IntersectionType = 188, + ConditionalType = 189, + InferType = 190, + ParenthesizedType = 191, + ThisType = 192, + TypeOperator = 193, + IndexedAccessType = 194, + MappedType = 195, + LiteralType = 196, + NamedTupleMember = 197, + TemplateLiteralType = 198, + TemplateLiteralTypeSpan = 199, + ImportType = 200, + ObjectBindingPattern = 201, + ArrayBindingPattern = 202, + BindingElement = 203, + ArrayLiteralExpression = 204, + ObjectLiteralExpression = 205, + PropertyAccessExpression = 206, + ElementAccessExpression = 207, + CallExpression = 208, + NewExpression = 209, + TaggedTemplateExpression = 210, + TypeAssertionExpression = 211, + ParenthesizedExpression = 212, + FunctionExpression = 213, + ArrowFunction = 214, + DeleteExpression = 215, + TypeOfExpression = 216, + VoidExpression = 217, + AwaitExpression = 218, + PrefixUnaryExpression = 219, + PostfixUnaryExpression = 220, + BinaryExpression = 221, + ConditionalExpression = 222, + TemplateExpression = 223, + YieldExpression = 224, + SpreadElement = 225, + ClassExpression = 226, + OmittedExpression = 227, + ExpressionWithTypeArguments = 228, + AsExpression = 229, + NonNullExpression = 230, + MetaProperty = 231, + SyntheticExpression = 232, + TemplateSpan = 233, + SemicolonClassElement = 234, + Block = 235, + EmptyStatement = 236, + VariableStatement = 237, + ExpressionStatement = 238, + IfStatement = 239, + DoStatement = 240, + WhileStatement = 241, + ForStatement = 242, + ForInStatement = 243, + ForOfStatement = 244, + ContinueStatement = 245, + BreakStatement = 246, + ReturnStatement = 247, + WithStatement = 248, + SwitchStatement = 249, + LabeledStatement = 250, + ThrowStatement = 251, + TryStatement = 252, + DebuggerStatement = 253, + VariableDeclaration = 254, + VariableDeclarationList = 255, + FunctionDeclaration = 256, + ClassDeclaration = 257, + InterfaceDeclaration = 258, + TypeAliasDeclaration = 259, + EnumDeclaration = 260, + ModuleDeclaration = 261, + ModuleBlock = 262, + CaseBlock = 263, + NamespaceExportDeclaration = 264, + ImportEqualsDeclaration = 265, + ImportDeclaration = 266, + ImportClause = 267, + NamespaceImport = 268, + NamedImports = 269, + ImportSpecifier = 270, + ExportAssignment = 271, + ExportDeclaration = 272, + NamedExports = 273, + NamespaceExport = 274, + ExportSpecifier = 275, + MissingDeclaration = 276, + ExternalModuleReference = 277, + JsxElement = 278, + JsxSelfClosingElement = 279, + JsxOpeningElement = 280, + JsxClosingElement = 281, + JsxFragment = 282, + JsxOpeningFragment = 283, + JsxClosingFragment = 284, + JsxAttribute = 285, + JsxAttributes = 286, + JsxSpreadAttribute = 287, + JsxExpression = 288, + CaseClause = 289, + DefaultClause = 290, + HeritageClause = 291, + CatchClause = 292, + AssertClause = 293, + AssertEntry = 294, + ImportTypeAssertionContainer = 295, + PropertyAssignment = 296, + ShorthandPropertyAssignment = 297, + SpreadAssignment = 298, + EnumMember = 299, + UnparsedPrologue = 300, + UnparsedPrepend = 301, + UnparsedText = 302, + UnparsedInternalText = 303, + UnparsedSyntheticReference = 304, + SourceFile = 305, + Bundle = 306, + UnparsedSource = 307, + InputFiles = 308, + JSDocTypeExpression = 309, + JSDocNameReference = 310, + JSDocMemberName = 311, + JSDocAllType = 312, + JSDocUnknownType = 313, + JSDocNullableType = 314, + JSDocNonNullableType = 315, + JSDocOptionalType = 316, + JSDocFunctionType = 317, + JSDocVariadicType = 318, + JSDocNamepathType = 319, + /** @deprecated Use SyntaxKind.JSDoc */ + JSDocComment = 320, + JSDocText = 321, + JSDocTypeLiteral = 322, + JSDocSignature = 323, + JSDocLink = 324, + JSDocLinkCode = 325, + JSDocLinkPlain = 326, + JSDocTag = 327, + JSDocAugmentsTag = 328, + JSDocImplementsTag = 329, + JSDocAuthorTag = 330, + JSDocDeprecatedTag = 331, + JSDocClassTag = 332, + JSDocPublicTag = 333, + JSDocPrivateTag = 334, + JSDocProtectedTag = 335, + JSDocReadonlyTag = 336, + JSDocOverrideTag = 337, + JSDocCallbackTag = 338, + JSDocEnumTag = 339, + JSDocParameterTag = 340, + JSDocReturnTag = 341, + JSDocThisTag = 342, + JSDocTypeTag = 343, + JSDocTemplateTag = 344, + JSDocTypedefTag = 345, + JSDocSeeTag = 346, + JSDocPropertyTag = 347, + SyntaxList = 348, + NotEmittedStatement = 349, + PartiallyEmittedExpression = 350, + CommaListExpression = 351, + MergeDeclarationMarker = 352, + EndOfDeclarationMarker = 353, + SyntheticReferenceExpression = 354, + Count = 355, FirstAssignment = 63, LastAssignment = 78, FirstCompoundAssignment = 64, @@ -466,15 +469,15 @@ declare namespace ts { FirstReservedWord = 81, LastReservedWord = 116, FirstKeyword = 81, - LastKeyword = 159, + LastKeyword = 160, FirstFutureReservedWord = 117, LastFutureReservedWord = 125, - FirstTypeNode = 176, - LastTypeNode = 199, + FirstTypeNode = 177, + LastTypeNode = 200, FirstPunctuation = 18, LastPunctuation = 78, FirstToken = 0, - LastToken = 159, + LastToken = 160, FirstTriviaToken = 2, LastTriviaToken = 7, FirstLiteralToken = 8, @@ -483,20 +486,21 @@ declare namespace ts { LastTemplateToken = 17, FirstBinaryOperator = 29, LastBinaryOperator = 78, - FirstStatement = 236, - LastStatement = 252, - FirstNode = 160, - FirstJSDocNode = 307, - LastJSDocNode = 345, - FirstJSDocTagNode = 325, - LastJSDocTagNode = 345, + FirstStatement = 237, + LastStatement = 253, + FirstNode = 161, + FirstJSDocNode = 309, + LastJSDocNode = 347, + FirstJSDocTagNode = 327, + LastJSDocTagNode = 347, + JSDoc = 320 } export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia; export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral; export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail; export type PunctuationSyntaxKind = SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.DotToken | SyntaxKind.DotDotDotToken | SyntaxKind.SemicolonToken | SyntaxKind.CommaToken | SyntaxKind.QuestionDotToken | SyntaxKind.LessThanToken | SyntaxKind.LessThanSlashToken | SyntaxKind.GreaterThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.EqualsEqualsToken | SyntaxKind.ExclamationEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.EqualsGreaterThanToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.AsteriskToken | SyntaxKind.AsteriskAsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken | SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken | SyntaxKind.ExclamationToken | SyntaxKind.TildeToken | SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken | SyntaxKind.QuestionQuestionToken | SyntaxKind.QuestionToken | SyntaxKind.ColonToken | SyntaxKind.AtToken | SyntaxKind.BacktickToken | SyntaxKind.HashToken | SyntaxKind.EqualsToken | SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken; - export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword; - export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword; + export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword; + export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword; export type KeywordTypeSyntaxKind = SyntaxKind.AnyKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword; export type TokenSyntaxKind = SyntaxKind.Unknown | SyntaxKind.EndOfFileToken | TriviaSyntaxKind | LiteralSyntaxKind | PseudoLiteralSyntaxKind | PunctuationSyntaxKind | SyntaxKind.Identifier | KeywordSyntaxKind; export type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; @@ -519,16 +523,17 @@ declare namespace ts { YieldContext = 8192, DecoratorContext = 16384, AwaitContext = 32768, - ThisNodeHasError = 65536, - JavaScriptFile = 131072, - ThisNodeOrAnySubNodesHasError = 262144, - HasAggregatedChildData = 524288, - JSDoc = 4194304, - JsonFile = 33554432, + DisallowConditionalTypesContext = 65536, + ThisNodeHasError = 131072, + JavaScriptFile = 262144, + ThisNodeOrAnySubNodesHasError = 524288, + HasAggregatedChildData = 1048576, + JSDoc = 8388608, + JsonFile = 67108864, BlockScoped = 3, ReachabilityCheckFlags = 768, ReachabilityAndEmitFlags = 2816, - ContextFlags = 25358336, + ContextFlags = 50720768, TypeExcludesFlags = 40960, } export enum ModifierFlags { @@ -547,13 +552,15 @@ declare namespace ts { HasComputedJSDocModifiers = 4096, Deprecated = 8192, Override = 16384, + In = 32768, + Out = 65536, HasComputedFlags = 536870912, AccessibilityModifier = 28, ParameterPropertyModifier = 16476, NonPublicAccessibilityModifier = 24, - TypeScriptModifier = 18654, + TypeScriptModifier = 116958, ExportDefault = 513, - All = 27647 + All = 125951 } export enum JsxFlags { None = 0, @@ -572,7 +579,7 @@ declare namespace ts { } export interface JSDocContainer { } - export type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ClassStaticBlockDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | ExportSpecifier | EndOfFileToken; + export type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ClassStaticBlockDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | ExportSpecifier | CaseClause | EndOfFileToken; export type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; export type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement; export type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; @@ -614,15 +621,17 @@ declare namespace ts { export type DeclareKeyword = ModifierToken; export type DefaultKeyword = ModifierToken; export type ExportKeyword = ModifierToken; + export type InKeyword = ModifierToken; export type PrivateKeyword = ModifierToken; export type ProtectedKeyword = ModifierToken; export type PublicKeyword = ModifierToken; export type ReadonlyKeyword = ModifierToken; + export type OutKeyword = ModifierToken; export type OverrideKeyword = ModifierToken; export type StaticKeyword = ModifierToken; /** @deprecated Use `ReadonlyKeyword` instead. */ export type ReadonlyToken = ReadonlyKeyword; - export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword; + export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword; export type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword; export type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword; export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword; @@ -866,10 +875,17 @@ declare namespace ts { export interface KeywordTypeNode extends KeywordToken, TypeNode { readonly kind: TKind; } + export interface ImportTypeAssertionContainer extends Node { + readonly kind: SyntaxKind.ImportTypeAssertionContainer; + readonly parent: ImportTypeNode; + readonly assertClause: AssertClause; + readonly multiLine?: boolean; + } export interface ImportTypeNode extends NodeWithTypeArguments { readonly kind: SyntaxKind.ImportType; readonly isTypeOf: boolean; readonly argument: TypeNode; + readonly assertions?: ImportTypeAssertionContainer; readonly qualifier?: EntityName; } export interface ThisTypeNode extends TypeNode { @@ -901,7 +917,7 @@ declare namespace ts { readonly parameterName: Identifier | ThisTypeNode; readonly type?: TypeNode; } - export interface TypeQueryNode extends TypeNode { + export interface TypeQueryNode extends NodeWithTypeArguments { readonly kind: SyntaxKind.TypeQuery; readonly exprName: EntityName; } @@ -1285,9 +1301,8 @@ declare namespace ts { export interface ImportCall extends CallExpression { readonly expression: ImportExpression; } - export interface ExpressionWithTypeArguments extends NodeWithTypeArguments { + export interface ExpressionWithTypeArguments extends MemberExpression, NodeWithTypeArguments { readonly kind: SyntaxKind.ExpressionWithTypeArguments; - readonly parent: HeritageClause | JSDocAugmentsTag | JSDocImplementsTag; readonly expression: LeftHandSideExpression; } export interface NewExpression extends PrimaryExpression, Declaration { @@ -1498,7 +1513,7 @@ declare namespace ts { readonly parent: SwitchStatement; readonly clauses: NodeArray; } - export interface CaseClause extends Node { + export interface CaseClause extends Node, JSDocContainer { readonly kind: SyntaxKind.CaseClause; readonly parent: CaseBlock; readonly expression: Expression; @@ -1749,6 +1764,7 @@ declare namespace ts { } export interface FileReference extends TextRange { fileName: string; + resolutionMode?: SourceFile["impliedNodeFormat"]; } export interface CheckJsDirective extends TextRange { enabled: boolean; @@ -1790,10 +1806,12 @@ declare namespace ts { export interface JSDocNonNullableType extends JSDocType { readonly kind: SyntaxKind.JSDocNonNullableType; readonly type: TypeNode; + readonly postfix: boolean; } export interface JSDocNullableType extends JSDocType { readonly kind: SyntaxKind.JSDocNullableType; readonly type: TypeNode; + readonly postfix: boolean; } export interface JSDocOptionalType extends JSDocType { readonly kind: SyntaxKind.JSDocOptionalType; @@ -1812,7 +1830,7 @@ declare namespace ts { } export type JSDocTypeReferencingNode = JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType; export interface JSDoc extends Node { - readonly kind: SyntaxKind.JSDocComment; + readonly kind: SyntaxKind.JSDoc; readonly parent: HasJSDoc; readonly tags?: NodeArray; readonly comment?: string | NodeArray; @@ -1968,7 +1986,7 @@ declare namespace ts { Label = 12, Condition = 96 } - export type FlowNode = FlowStart | FlowLabel | FlowAssignment | FlowCall | FlowCondition | FlowSwitchClause | FlowArrayMutation | FlowCall | FlowReduceLabel; + export type FlowNode = FlowStart | FlowLabel | FlowAssignment | FlowCondition | FlowSwitchClause | FlowArrayMutation | FlowCall | FlowReduceLabel; export interface FlowNodeBase { flags: FlowFlags; id?: number; @@ -2015,6 +2033,12 @@ declare namespace ts { path: string; name?: string; } + /** + * Subset of properties from SourceFile that are used in multiple utility functions + */ + export interface SourceFileLike { + readonly text: string; + } export interface SourceFile extends Declaration { readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; @@ -2074,7 +2098,7 @@ declare namespace ts { readonly prologues: readonly UnparsedPrologue[]; helpers: readonly UnscopedEmitHelper[] | undefined; referencedFiles: readonly FileReference[]; - typeReferenceDirectives: readonly string[] | undefined; + typeReferenceDirectives: readonly FileReference[] | undefined; libReferenceDirectives: readonly FileReference[]; hasNoDefaultLib?: boolean; sourceMapPath?: string; @@ -2654,13 +2678,13 @@ declare namespace ts { ObjectLiteralPatternWithComputedProperties = 512, ReverseMapped = 1024, JsxAttributes = 2048, - MarkerType = 4096, - JSLiteral = 8192, - FreshLiteral = 16384, - ArrayLiteral = 32768, + JSLiteral = 4096, + FreshLiteral = 8192, + ArrayLiteral = 16384, ClassOrInterface = 3, - ContainsSpread = 4194304, - ObjectRestType = 8388608, + ContainsSpread = 2097152, + ObjectRestType = 4194304, + InstantiationExpressionType = 8388608, } export interface ObjectType extends Type { objectFlags: ObjectFlags; @@ -2871,6 +2895,20 @@ declare namespace ts { Node12 = 3, NodeNext = 99 } + export enum ModuleDetectionKind { + /** + * Files with imports, exports and/or import.meta are considered modules + */ + Legacy = 1, + /** + * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node12+ + */ + Auto = 2, + /** + * Consider all non-declaration files modules, regardless of present syntax + */ + Force = 3 + } export interface PluginImport { name: string; } @@ -2942,6 +2980,8 @@ declare namespace ts { maxNodeModuleJsDepth?: number; module?: ModuleKind; moduleResolution?: ModuleResolutionKind; + moduleSuffixes?: string[]; + moduleDetection?: ModuleDetectionKind; newLine?: NewLineKind; noEmit?: boolean; noEmitHelpers?: boolean; @@ -3127,7 +3167,14 @@ declare namespace ts { realpath?(path: string): string; getCurrentDirectory?(): string; getDirectories?(path: string): string[]; - useCaseSensitiveFileNames?: boolean | (() => boolean); + useCaseSensitiveFileNames?: boolean | (() => boolean) | undefined; + } + /** + * Used by services to specify the minimum host area required to set up source files under any compilation settings + */ + export interface MinimalResolutionCacheHost extends ModuleResolutionHost { + getCompilationSettings(): CompilerOptions; + getCompilerHost?(): CompilerHost | undefined; } /** * Represents the result of module resolution. @@ -3204,8 +3251,8 @@ declare namespace ts { readonly failedLookupLocations: string[]; } export interface CompilerHost extends ModuleResolutionHost { - getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; - getSourceFileByPath?(fileName: string, path: Path, languageVersion: ScriptTarget, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFile(fileName: string, languageVersionOrOptions: ScriptTarget | CreateSourceFileOptions, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; + getSourceFileByPath?(fileName: string, path: Path, languageVersionOrOptions: ScriptTarget | CreateSourceFileOptions, onError?: (message: string) => void, shouldCreateNewSourceFile?: boolean): SourceFile | undefined; getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; @@ -3223,7 +3270,7 @@ declare namespace ts { /** * This method is a companion for 'resolveModuleNames' and is used to resolve 'types' references to actual type declaration files */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions): (ResolvedTypeReferenceDirective | undefined)[]; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[]; getEnvironmentVariable?(name: string): string | undefined; createHash?(data: string): string; getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined; @@ -3353,7 +3400,11 @@ declare namespace ts { updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName; createComputedPropertyName(expression: Expression): ComputedPropertyName; updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; + createTypeParameterDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + /** @deprecated */ createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + updateTypeParameterDeclaration(node: TypeParameterDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + /** @deprecated */ updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; updateParameterDeclaration(node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; @@ -3396,8 +3447,8 @@ declare namespace ts { updateConstructorTypeNode(node: ConstructorTypeNode, modifiers: readonly Modifier[] | undefined, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode): ConstructorTypeNode; /** @deprecated */ updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode): ConstructorTypeNode; - createTypeQueryNode(exprName: EntityName): TypeQueryNode; - updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName): TypeQueryNode; + createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode; + updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode; createTypeLiteralNode(members: readonly TypeElement[] | undefined): TypeLiteralNode; updateTypeLiteralNode(node: TypeLiteralNode, members: NodeArray): TypeLiteralNode; createArrayTypeNode(elementType: TypeNode): ArrayTypeNode; @@ -3419,7 +3470,9 @@ declare namespace ts { createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode; + createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode; updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode; + updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode; createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; createThisTypeNode(): ThisTypeNode; @@ -3582,6 +3635,8 @@ declare namespace ts { updateAssertClause(node: AssertClause, elements: NodeArray, multiLine?: boolean): AssertClause; createAssertEntry(name: AssertionKey, value: Expression): AssertEntry; updateAssertEntry(node: AssertEntry, name: AssertionKey, value: Expression): AssertEntry; + createImportTypeAssertionContainer(clause: AssertClause, multiLine?: boolean): ImportTypeAssertionContainer; + updateImportTypeAssertionContainer(node: ImportTypeAssertionContainer, clause: AssertClause, multiLine?: boolean): ImportTypeAssertionContainer; createNamespaceImport(name: Identifier): NamespaceImport; updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport; createNamespaceExport(name: Identifier): NamespaceExport; @@ -3602,9 +3657,9 @@ declare namespace ts { updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference; createJSDocAllType(): JSDocAllType; createJSDocUnknownType(): JSDocUnknownType; - createJSDocNonNullableType(type: TypeNode): JSDocNonNullableType; + createJSDocNonNullableType(type: TypeNode, postfix?: boolean): JSDocNonNullableType; updateJSDocNonNullableType(node: JSDocNonNullableType, type: TypeNode): JSDocNonNullableType; - createJSDocNullableType(type: TypeNode): JSDocNullableType; + createJSDocNullableType(type: TypeNode, postfix?: boolean): JSDocNullableType; updateJSDocNullableType(node: JSDocNullableType, type: TypeNode): JSDocNullableType; createJSDocOptionalType(type: TypeNode): JSDocOptionalType; updateJSDocOptionalType(node: JSDocOptionalType, type: TypeNode): JSDocOptionalType; @@ -4048,6 +4103,8 @@ declare namespace ts { readonly includeAutomaticOptionalChainCompletions?: boolean; readonly includeCompletionsWithInsertText?: boolean; readonly includeCompletionsWithClassMemberSnippets?: boolean; + readonly includeCompletionsWithObjectLiteralMethodSnippets?: boolean; + readonly useLabelDetailsInCompletionEntries?: boolean; readonly allowIncompleteCompletions?: boolean; readonly importModuleSpecifierPreference?: "shortest" | "project-relative" | "relative" | "non-relative"; /** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */ @@ -4057,6 +4114,13 @@ declare namespace ts { readonly includePackageJsonAutoImports?: "auto" | "on" | "off"; readonly provideRefactorNotApplicableReason?: boolean; readonly jsxAttributeCompletionStyle?: "auto" | "braces" | "none"; + readonly includeInlayParameterNameHints?: "none" | "literals" | "all"; + readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean; + readonly includeInlayFunctionParameterTypeHints?: boolean; + readonly includeInlayVariableTypeHints?: boolean; + readonly includeInlayPropertyDeclarationTypeHints?: boolean; + readonly includeInlayFunctionLikeReturnTypeHints?: boolean; + readonly includeInlayEnumMemberValueHints?: boolean; } /** Represents a bigint literal value without requiring bigint support */ export interface PseudoBigInt { @@ -4748,7 +4812,22 @@ declare namespace ts { * that they appear in the source code. The language service depends on this property to locate nodes by position. */ export function forEachChild(node: Node, cbNode: (node: Node) => T | undefined, cbNodes?: (nodes: NodeArray) => T | undefined): T | undefined; - export function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; + export interface CreateSourceFileOptions { + languageVersion: ScriptTarget; + /** + * Controls the format the file is detected as - this can be derived from only the path + * and files on disk, but needs to be done with a module resolution cache in scope to be performant. + * This is usually `undefined` for compilations that do not have `moduleResolution` values of `node12` or `nodenext`. + */ + impliedNodeFormat?: ModuleKind.ESNext | ModuleKind.CommonJS; + /** + * Controls how module-y-ness is set for the given file. Usually the result of calling + * `getSetExternalModuleIndicator` on a valid `CompilerOptions` object. If not present, the default + * check specified by `isFileProbablyExternalModule` will be used to set the field. + */ + setExternalModuleIndicator?: (file: SourceFile) => void; + } + export function createSourceFile(fileName: string, sourceText: string, languageVersionOrOptions: ScriptTarget | CreateSourceFileOptions, setParentNodes?: boolean, scriptKind?: ScriptKind): SourceFile; export function parseIsolatedEntityName(text: string, languageVersion: ScriptTarget): EntityName | undefined; /** * Parse json text into SyntaxTree and return node and parse errors if any @@ -4855,7 +4934,7 @@ declare namespace ts { * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups * is assumed to be the same as root directory of the project. */ - export function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference, cache?: TypeReferenceDirectiveResolutionCache): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; + export function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference, cache?: TypeReferenceDirectiveResolutionCache, resolutionMode?: SourceFile["impliedNodeFormat"]): ResolvedTypeReferenceDirectiveWithFailedLookupLocations; /** * Given a set of options, returns the set of type directive names * that should be included for this program automatically. @@ -5276,7 +5355,7 @@ declare namespace ts { /** If provided, used to resolve the module names, otherwise typescript's default module resolution */ resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[]; /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ - resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions): (ResolvedTypeReferenceDirective | undefined)[]; + resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[]; } interface WatchCompilerHost extends ProgramHost, WatchHost { /** Instead of using output d.ts file from project reference, use its source file */ @@ -5648,7 +5727,7 @@ declare namespace ts { set(response: CompletionInfo): void; clear(): void; } - interface LanguageServiceHost extends GetEffectiveTypeRootsHost { + interface LanguageServiceHost extends GetEffectiveTypeRootsHost, MinimalResolutionCacheHost { getCompilationSettings(): CompilerOptions; getNewLine?(): string; getProjectVersion?(): string; @@ -5666,13 +5745,13 @@ declare namespace ts { error?(s: string): void; useCaseSensitiveFileNames?(): boolean; readDirectory?(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[]; - readFile?(path: string, encoding?: string): string | undefined; realpath?(path: string): string; - fileExists?(path: string): boolean; + readFile(path: string, encoding?: string): string | undefined; + fileExists(path: string): boolean; getTypeRootsVersion?(): number; resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[]; getResolvedModuleWithFailedLookupLocationsFromCache?(modulename: string, containingFile: string, resolutionMode?: ModuleKind.CommonJS | ModuleKind.ESNext): ResolvedModuleWithFailedLookupLocations | undefined; - resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions): (ResolvedTypeReferenceDirective | undefined)[]; + resolveTypeReferenceDirectives?(typeDirectiveNames: string[] | FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[]; getDirectories?(directoryName: string): string[]; /** * Gets a set of custom transformers to use during emit. @@ -5881,15 +5960,6 @@ declare namespace ts { /** @deprecated Use includeCompletionsWithInsertText */ includeInsertTextCompletions?: boolean; } - interface InlayHintsOptions extends UserPreferences { - readonly includeInlayParameterNameHints?: "none" | "literals" | "all"; - readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean; - readonly includeInlayFunctionParameterTypeHints?: boolean; - readonly includeInlayVariableTypeHints?: boolean; - readonly includeInlayPropertyDeclarationTypeHints?: boolean; - readonly includeInlayFunctionLikeReturnTypeHints?: boolean; - readonly includeInlayEnumMemberValueHints?: boolean; - } type SignatureHelpTriggerCharacter = "," | "(" | "<"; type SignatureHelpRetriggerCharacter = SignatureHelpTriggerCharacter | ")"; interface SignatureHelpItemsOptions { @@ -6139,7 +6209,6 @@ declare namespace ts { } interface ReferenceEntry extends DocumentSpan { isWriteAccess: boolean; - isDefinition: boolean; isInString?: true; } interface ImplementationLocation extends DocumentSpan { @@ -6253,7 +6322,10 @@ declare namespace ts { } interface ReferencedSymbol { definition: ReferencedSymbolDefinitionInfo; - references: ReferenceEntry[]; + references: ReferencedSymbolEntry[]; + } + interface ReferencedSymbolEntry extends ReferenceEntry { + isDefinition?: boolean; } enum SymbolDisplayPartKind { aliasName = 0, @@ -6420,6 +6492,7 @@ declare namespace ts { hasAction?: true; source?: string; sourceDisplay?: SymbolDisplayPart[]; + labelDetails?: CompletionEntryLabelDetails; isRecommended?: true; isFromUncheckedFile?: true; isPackageJsonImport?: true; @@ -6434,6 +6507,10 @@ declare namespace ts { */ data?: CompletionEntryData; } + interface CompletionEntryLabelDetails { + detail?: string; + description?: string; + } interface CompletionEntryDetails { name: string; kind: ScriptElementKind; @@ -6693,7 +6770,7 @@ declare namespace ts { cancellationToken: CancellationToken; host: LanguageServiceHost; span: TextSpan; - preferences: InlayHintsOptions; + preferences: UserPreferences; } } declare namespace ts { @@ -6729,30 +6806,36 @@ declare namespace ts { * the SourceFile if was not found in the registry. * * @param fileName The name of the file requested - * @param compilationSettings Some compilation settings like target affects the + * @param compilationSettingsOrHost Some compilation settings like target affects the * shape of a the resulting SourceFile. This allows the DocumentRegistry to store - * multiple copies of the same file for different compilation settings. + * multiple copies of the same file for different compilation settings. A minimal + * resolution cache is needed to fully define a source file's shape when + * the compilation settings include `module: node12`+, so providing a cache host + * object should be preferred. A common host is a language service `ConfiguredProject`. * @param scriptSnapshot Text of the file. Only used if the file was not found * in the registry and a new one was created. * @param version Current version of the file. Only used if the file was not found * in the registry and a new one was created. */ - acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; - acquireDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; /** * Request an updated version of an already existing SourceFile with a given fileName * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile * to get an updated SourceFile. * * @param fileName The name of the file requested - * @param compilationSettings Some compilation settings like target affects the + * @param compilationSettingsOrHost Some compilation settings like target affects the * shape of a the resulting SourceFile. This allows the DocumentRegistry to store - * multiple copies of the same file for different compilation settings. + * multiple copies of the same file for different compilation settings. A minimal + * resolution cache is needed to fully define a source file's shape when + * the compilation settings include `module: node12`+, so providing a cache host + * object should be preferred. A common host is a language service `ConfiguredProject`. * @param scriptSnapshot Text of the file. * @param version Current version of the file. */ - updateDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; - updateDocumentWithKey(fileName: string, path: Path, compilationSettings: CompilerOptions, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; /** * Informs the DocumentRegistry that a file is not needed any longer. @@ -6814,7 +6897,7 @@ declare namespace ts { function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string; function getDefaultCompilerOptions(): CompilerOptions; function getSupportedCodeFixes(): string[]; - function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTargetOrOptions: ScriptTarget | CreateSourceFileOptions, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile; function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnlyOrLanguageServiceMode?: boolean | LanguageServiceMode): LanguageService; /** @@ -6878,9 +6961,15 @@ declare namespace ts { /** @deprecated Use `factory.updateComputedPropertyName` or the factory supplied by your transformation context instead. */ const updateComputedPropertyName: (node: ComputedPropertyName, expression: Expression) => ComputedPropertyName; /** @deprecated Use `factory.createTypeParameterDeclaration` or the factory supplied by your transformation context instead. */ - const createTypeParameterDeclaration: (name: string | Identifier, constraint?: TypeNode | undefined, defaultType?: TypeNode | undefined) => TypeParameterDeclaration; + const createTypeParameterDeclaration: { + (modifiers: readonly Modifier[] | undefined, name: string | Identifier, constraint?: TypeNode | undefined, defaultType?: TypeNode | undefined): TypeParameterDeclaration; + (name: string | Identifier, constraint?: TypeNode | undefined, defaultType?: TypeNode | undefined): TypeParameterDeclaration; + }; /** @deprecated Use `factory.updateTypeParameterDeclaration` or the factory supplied by your transformation context instead. */ - const updateTypeParameterDeclaration: (node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined) => TypeParameterDeclaration; + const updateTypeParameterDeclaration: { + (node: TypeParameterDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + (node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + }; /** @deprecated Use `factory.createParameterDeclaration` or the factory supplied by your transformation context instead. */ const createParameter: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined) => ParameterDeclaration; /** @deprecated Use `factory.updateParameterDeclaration` or the factory supplied by your transformation context instead. */ @@ -6938,9 +7027,9 @@ declare namespace ts { /** @deprecated Use `factory.updateConstructorTypeNode` or the factory supplied by your transformation context instead. */ const updateConstructorTypeNode: (node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode) => ConstructorTypeNode; /** @deprecated Use `factory.createTypeQueryNode` or the factory supplied by your transformation context instead. */ - const createTypeQueryNode: (exprName: EntityName) => TypeQueryNode; + const createTypeQueryNode: (exprName: EntityName, typeArguments?: readonly TypeNode[] | undefined) => TypeQueryNode; /** @deprecated Use `factory.updateTypeQueryNode` or the factory supplied by your transformation context instead. */ - const updateTypeQueryNode: (node: TypeQueryNode, exprName: EntityName) => TypeQueryNode; + const updateTypeQueryNode: (node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[] | undefined) => TypeQueryNode; /** @deprecated Use `factory.createTypeLiteralNode` or the factory supplied by your transformation context instead. */ const createTypeLiteralNode: (members: readonly TypeElement[] | undefined) => TypeLiteralNode; /** @deprecated Use `factory.updateTypeLiteralNode` or the factory supplied by your transformation context instead. */ @@ -6978,9 +7067,15 @@ declare namespace ts { /** @deprecated Use `factory.updateInferTypeNode` or the factory supplied by your transformation context instead. */ const updateInferTypeNode: (node: InferTypeNode, typeParameter: TypeParameterDeclaration) => InferTypeNode; /** @deprecated Use `factory.createImportTypeNode` or the factory supplied by your transformation context instead. */ - const createImportTypeNode: (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined) => ImportTypeNode; + const createImportTypeNode: { + (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + }; /** @deprecated Use `factory.updateImportTypeNode` or the factory supplied by your transformation context instead. */ - const updateImportTypeNode: (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined) => ImportTypeNode; + const updateImportTypeNode: { + (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + (node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + }; /** @deprecated Use `factory.createParenthesizedType` or the factory supplied by your transformation context instead. */ const createParenthesizedType: (type: TypeNode) => ParenthesizedTypeNode; /** @deprecated Use `factory.updateParenthesizedType` or the factory supplied by your transformation context instead. */ diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index 89cc0ba3ffb1..d2bf2eb475ba 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -21,7 +21,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { ar[i] = from[i]; } } - return to.concat(ar || Array.prototype.slice.call(from)); + return to.concat(ar || from); }; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { @@ -290,11 +290,11 @@ var ts; (function (ts) { // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configurePrerelease` too. - ts.versionMajorMinor = "4.6"; + ts.versionMajorMinor = "4.7"; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.6.2"; + ts.version = ts.versionMajorMinor + ".0-beta"; /* @internal */ var Comparison; (function (Comparison) { @@ -341,7 +341,7 @@ var ts; var constructor = (_a = NativeCollections[nativeFactory]()) !== null && _a !== void 0 ? _a : ts.ShimCollections === null || ts.ShimCollections === void 0 ? void 0 : ts.ShimCollections[shimFactory](ts.getIterator); if (constructor) return constructor; - throw new Error("TypeScript requires an environment that provides a compatible native ".concat(name, " implementation.")); + throw new Error("TypeScript requires an environment that provides a compatible native " + name + " implementation."); } })(ts || (ts = {})); /* @internal */ @@ -1662,6 +1662,159 @@ var ts; return createMultiMap(); } ts.createUnderscoreEscapedMultiMap = createUnderscoreEscapedMultiMap; + /** + * Creates a Set with custom equality and hash code functionality. This is useful when you + * want to use something looser than object identity - e.g. "has the same span". + * + * If `equals(a, b)`, it must be the case that `getHashCode(a) === getHashCode(b)`. + * The converse is not required. + * + * To facilitate a perf optimization (lazy allocation of bucket arrays), `TElement` is + * assumed not to be an array type. + */ + function createSet(getHashCode, equals) { + var multiMap = new ts.Map(); + var size = 0; + function getElementIterator() { + var valueIt = multiMap.values(); + var arrayIt; + return { + next: function () { + while (true) { + if (arrayIt) { + var n = arrayIt.next(); + if (!n.done) { + return { value: n.value }; + } + arrayIt = undefined; + } + else { + var n = valueIt.next(); + if (n.done) { + return { value: undefined, done: true }; + } + if (!isArray(n.value)) { + return { value: n.value }; + } + arrayIt = arrayIterator(n.value); + } + } + } + }; + } + var set = { + has: function (element) { + var hash = getHashCode(element); + if (!multiMap.has(hash)) + return false; + var candidates = multiMap.get(hash); + if (!isArray(candidates)) + return equals(candidates, element); + for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) { + var candidate = candidates_1[_i]; + if (equals(candidate, element)) { + return true; + } + } + return false; + }, + add: function (element) { + var hash = getHashCode(element); + if (multiMap.has(hash)) { + var values = multiMap.get(hash); + if (isArray(values)) { + if (!contains(values, element, equals)) { + values.push(element); + size++; + } + } + else { + var value = values; + if (!equals(value, element)) { + multiMap.set(hash, [value, element]); + size++; + } + } + } + else { + multiMap.set(hash, element); + size++; + } + return this; + }, + delete: function (element) { + var hash = getHashCode(element); + if (!multiMap.has(hash)) + return false; + var candidates = multiMap.get(hash); + if (isArray(candidates)) { + for (var i = 0; i < candidates.length; i++) { + if (equals(candidates[i], element)) { + if (candidates.length === 1) { + multiMap.delete(hash); + } + else if (candidates.length === 2) { + multiMap.set(hash, candidates[1 - i]); + } + else { + unorderedRemoveItemAt(candidates, i); + } + size--; + return true; + } + } + } + else { + var candidate = candidates; + if (equals(candidate, element)) { + multiMap.delete(hash); + size--; + return true; + } + } + return false; + }, + clear: function () { + multiMap.clear(); + size = 0; + }, + get size() { + return size; + }, + forEach: function (action) { + for (var _i = 0, _a = arrayFrom(multiMap.values()); _i < _a.length; _i++) { + var elements = _a[_i]; + if (isArray(elements)) { + for (var _b = 0, elements_1 = elements; _b < elements_1.length; _b++) { + var element = elements_1[_b]; + action(element, element); + } + } + else { + var element = elements; + action(element, element); + } + } + }, + keys: function () { + return getElementIterator(); + }, + values: function () { + return getElementIterator(); + }, + entries: function () { + var it = getElementIterator(); + return { + next: function () { + var n = it.next(); + return n.done ? n : { value: [n.value, n.value] }; + } + }; + }, + }; + return set; + } + ts.createSet = createSet; /** * Tests whether a value is an array. */ @@ -1691,7 +1844,7 @@ var ts; function cast(value, test) { if (value !== undefined && test(value)) return value; - return ts.Debug.fail("Invalid cast. The supplied value ".concat(value, " did not pass the test '").concat(ts.Debug.getFunctionName(test), "'.")); + return ts.Debug.fail("Invalid cast. The supplied value " + value + " did not pass the test '" + ts.Debug.getFunctionName(test) + "'."); } ts.cast = cast; /** Does nothing. */ @@ -1782,7 +1935,7 @@ var ts; function memoizeOne(callback) { var map = new ts.Map(); return function (arg) { - var key = "".concat(typeof arg, ":").concat(arg); + var key = typeof arg + ":" + arg; var value = map.get(key); if (value === undefined && !map.has(key)) { value = callback(arg); @@ -2055,8 +2208,8 @@ var ts; var maximumLengthDifference = Math.min(2, Math.floor(name.length * 0.34)); var bestDistance = Math.floor(name.length * 0.4) + 1; // If the best result is worse than this, don't bother. var bestCandidate; - for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) { - var candidate = candidates_1[_i]; + for (var _i = 0, candidates_2 = candidates; _i < candidates_2.length; _i++) { + var candidate = candidates_2[_i]; var candidateName = getName(candidate); if (candidateName !== undefined && Math.abs(candidateName.length - name.length) <= maximumLengthDifference) { if (candidateName === name) { @@ -2232,7 +2385,7 @@ var ts; ts.createGetCanonicalFileName = createGetCanonicalFileName; function patternText(_a) { var prefix = _a.prefix, suffix = _a.suffix; - return "".concat(prefix, "*").concat(suffix); + return prefix + "*" + suffix; } ts.patternText = patternText; /** @@ -2293,13 +2446,15 @@ var ts; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } + var lastResult; for (var _a = 0, fs_1 = fs; _a < fs_1.length; _a++) { var f = fs_1[_a]; - if (f.apply(void 0, args)) { - return true; + lastResult = f.apply(void 0, args); + if (lastResult) { + return lastResult; } } - return false; + return lastResult; }; } ts.or = or; @@ -2545,7 +2700,7 @@ var ts; } function fail(message, stackCrawlMark) { debugger; - var e = new Error(message ? "Debug Failure. ".concat(message) : "Debug Failure."); + var e = new Error(message ? "Debug Failure. " + message : "Debug Failure."); if (Error.captureStackTrace) { Error.captureStackTrace(e, stackCrawlMark || fail); } @@ -2553,12 +2708,12 @@ var ts; } Debug.fail = fail; function failBadSyntaxKind(node, message, stackCrawlMark) { - return fail("".concat(message || "Unexpected node.", "\r\nNode ").concat(formatSyntaxKind(node.kind), " was unexpected."), stackCrawlMark || failBadSyntaxKind); + return fail((message || "Unexpected node.") + "\r\nNode " + formatSyntaxKind(node.kind) + " was unexpected.", stackCrawlMark || failBadSyntaxKind); } Debug.failBadSyntaxKind = failBadSyntaxKind; function assert(expression, message, verboseDebugInfo, stackCrawlMark) { if (!expression) { - message = message ? "False expression: ".concat(message) : "False expression."; + message = message ? "False expression: " + message : "False expression."; if (verboseDebugInfo) { message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo()); } @@ -2568,26 +2723,26 @@ var ts; Debug.assert = assert; function assertEqual(a, b, msg, msg2, stackCrawlMark) { if (a !== b) { - var message = msg ? msg2 ? "".concat(msg, " ").concat(msg2) : msg : ""; - fail("Expected ".concat(a, " === ").concat(b, ". ").concat(message), stackCrawlMark || assertEqual); + var message = msg ? msg2 ? msg + " " + msg2 : msg : ""; + fail("Expected " + a + " === " + b + ". " + message, stackCrawlMark || assertEqual); } } Debug.assertEqual = assertEqual; function assertLessThan(a, b, msg, stackCrawlMark) { if (a >= b) { - fail("Expected ".concat(a, " < ").concat(b, ". ").concat(msg || ""), stackCrawlMark || assertLessThan); + fail("Expected " + a + " < " + b + ". " + (msg || ""), stackCrawlMark || assertLessThan); } } Debug.assertLessThan = assertLessThan; function assertLessThanOrEqual(a, b, stackCrawlMark) { if (a > b) { - fail("Expected ".concat(a, " <= ").concat(b), stackCrawlMark || assertLessThanOrEqual); + fail("Expected " + a + " <= " + b, stackCrawlMark || assertLessThanOrEqual); } } Debug.assertLessThanOrEqual = assertLessThanOrEqual; function assertGreaterThanOrEqual(a, b, stackCrawlMark) { if (a < b) { - fail("Expected ".concat(a, " >= ").concat(b), stackCrawlMark || assertGreaterThanOrEqual); + fail("Expected " + a + " >= " + b, stackCrawlMark || assertGreaterThanOrEqual); } } Debug.assertGreaterThanOrEqual = assertGreaterThanOrEqual; @@ -2617,43 +2772,43 @@ var ts; Debug.checkEachDefined = checkEachDefined; function assertNever(member, message, stackCrawlMark) { if (message === void 0) { message = "Illegal value:"; } - var detail = typeof member === "object" && ts.hasProperty(member, "kind") && ts.hasProperty(member, "pos") && formatSyntaxKind ? "SyntaxKind: " + formatSyntaxKind(member.kind) : JSON.stringify(member); - return fail("".concat(message, " ").concat(detail), stackCrawlMark || assertNever); + var detail = typeof member === "object" && ts.hasProperty(member, "kind") && ts.hasProperty(member, "pos") ? "SyntaxKind: " + formatSyntaxKind(member.kind) : JSON.stringify(member); + return fail(message + " " + detail, stackCrawlMark || assertNever); } Debug.assertNever = assertNever; function assertEachNode(nodes, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertEachNode")) { - assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '".concat(getFunctionName(test), "'."); }, stackCrawlMark || assertEachNode); + assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertEachNode); } } Debug.assertEachNode = assertEachNode; function assertNode(node, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertNode")) { - assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNode); + assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNode); } } Debug.assertNode = assertNode; function assertNotNode(node, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertNotNode")) { - assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " should not have passed test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNotNode); + assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " should not have passed test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNotNode); } } Debug.assertNotNode = assertNotNode; function assertOptionalNode(node, test, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertOptionalNode")) { - assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertOptionalNode); + assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertOptionalNode); } } Debug.assertOptionalNode = assertOptionalNode; function assertOptionalToken(node, kind, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertOptionalToken")) { - assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " was not a '").concat(formatSyntaxKind(kind), "' token."); }, stackCrawlMark || assertOptionalToken); + assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " was not a '" + formatSyntaxKind(kind) + "' token."; }, stackCrawlMark || assertOptionalToken); } } Debug.assertOptionalToken = assertOptionalToken; function assertMissingNode(node, message, stackCrawlMark) { if (shouldAssertFunction(1 /* Normal */, "assertMissingNode")) { - assert(node === undefined, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " was unexpected'."); }, stackCrawlMark || assertMissingNode); + assert(node === undefined, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " was unexpected'."; }, stackCrawlMark || assertMissingNode); } } Debug.assertMissingNode = assertMissingNode; @@ -2674,7 +2829,7 @@ var ts; } Debug.getFunctionName = getFunctionName; function formatSymbol(symbol) { - return "{ name: ".concat(ts.unescapeLeadingUnderscores(symbol.escapedName), "; flags: ").concat(formatSymbolFlags(symbol.flags), "; declarations: ").concat(ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }), " }"); + return "{ name: " + ts.unescapeLeadingUnderscores(symbol.escapedName) + "; flags: " + formatSymbolFlags(symbol.flags) + "; declarations: " + ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }) + " }"; } Debug.formatSymbol = formatSymbol; /** @@ -2695,7 +2850,7 @@ var ts; break; } if (enumValue !== 0 && enumValue & value) { - result = "".concat(result).concat(result ? "|" : "").concat(enumName); + result = "" + result + (result ? "|" : "") + enumName; remainingFlags &= ~enumValue; } } @@ -2805,7 +2960,7 @@ var ts; this.flags & 1 /* Unreachable */ ? "FlowUnreachable" : "UnknownFlow"; var remainingFlags = this.flags & ~(2048 /* Referenced */ - 1); - return "".concat(flowHeader).concat(remainingFlags ? " (".concat(formatFlowFlags(remainingFlags), ")") : ""); + return "" + flowHeader + (remainingFlags ? " (" + formatFlowFlags(remainingFlags) + ")" : ""); } }, __debugFlowFlags: { get: function () { return formatEnum(this.flags, ts.FlowFlags, /*isFlags*/ true); } }, @@ -2844,7 +2999,7 @@ var ts; // We don't care, this is debug code that's only enabled with a debugger attached - // we're just taking note of it for anyone checking regex performance in the future. defaultValue = String(defaultValue).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/, "]"); - return "NodeArray ".concat(defaultValue); + return "NodeArray " + defaultValue; } } }); @@ -2899,7 +3054,7 @@ var ts; var symbolHeader = this.flags & 33554432 /* Transient */ ? "TransientSymbol" : "Symbol"; var remainingSymbolFlags = this.flags & ~33554432 /* Transient */; - return "".concat(symbolHeader, " '").concat(ts.symbolName(this), "'").concat(remainingSymbolFlags ? " (".concat(formatSymbolFlags(remainingSymbolFlags), ")") : ""); + return symbolHeader + " '" + ts.symbolName(this) + "'" + (remainingSymbolFlags ? " (" + formatSymbolFlags(remainingSymbolFlags) + ")" : ""); } }, __debugFlags: { get: function () { return formatSymbolFlags(this.flags); } } @@ -2909,11 +3064,11 @@ var ts; __tsDebuggerDisplay: { value: function () { var typeHeader = this.flags & 98304 /* Nullable */ ? "NullableType" : - this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType ".concat(JSON.stringify(this.value)) : - this.flags & 2048 /* BigIntLiteral */ ? "LiteralType ".concat(this.value.negative ? "-" : "").concat(this.value.base10Value, "n") : + this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType " + JSON.stringify(this.value) : + this.flags & 2048 /* BigIntLiteral */ ? "LiteralType " + (this.value.negative ? "-" : "") + this.value.base10Value + "n" : this.flags & 8192 /* UniqueESSymbol */ ? "UniqueESSymbolType" : this.flags & 32 /* Enum */ ? "EnumType" : - this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType ".concat(this.intrinsicName) : + this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType " + this.intrinsicName : this.flags & 1048576 /* Union */ ? "UnionType" : this.flags & 2097152 /* Intersection */ ? "IntersectionType" : this.flags & 4194304 /* Index */ ? "IndexType" : @@ -2932,7 +3087,7 @@ var ts; "ObjectType" : "Type"; var remainingObjectFlags = this.flags & 524288 /* Object */ ? this.objectFlags & ~1343 /* ObjectTypeKindMask */ : 0; - return "".concat(typeHeader).concat(this.symbol ? " '".concat(ts.symbolName(this.symbol), "'") : "").concat(remainingObjectFlags ? " (".concat(formatObjectFlags(remainingObjectFlags), ")") : ""); + return "" + typeHeader + (this.symbol ? " '" + ts.symbolName(this.symbol) + "'" : "") + (remainingObjectFlags ? " (" + formatObjectFlags(remainingObjectFlags) + ")" : ""); } }, __debugFlags: { get: function () { return formatTypeFlags(this.flags); } }, @@ -2968,11 +3123,11 @@ var ts; __tsDebuggerDisplay: { value: function () { var nodeHeader = ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" : - ts.isIdentifier(this) ? "Identifier '".concat(ts.idText(this), "'") : - ts.isPrivateIdentifier(this) ? "PrivateIdentifier '".concat(ts.idText(this), "'") : - ts.isStringLiteral(this) ? "StringLiteral ".concat(JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")) : - ts.isNumericLiteral(this) ? "NumericLiteral ".concat(this.text) : - ts.isBigIntLiteral(this) ? "BigIntLiteral ".concat(this.text, "n") : + ts.isIdentifier(this) ? "Identifier '" + ts.idText(this) + "'" : + ts.isPrivateIdentifier(this) ? "PrivateIdentifier '" + ts.idText(this) + "'" : + ts.isStringLiteral(this) ? "StringLiteral " + JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...") : + ts.isNumericLiteral(this) ? "NumericLiteral " + this.text : + ts.isBigIntLiteral(this) ? "BigIntLiteral " + this.text + "n" : ts.isTypeParameterDeclaration(this) ? "TypeParameterDeclaration" : ts.isParameter(this) ? "ParameterDeclaration" : ts.isConstructorDeclaration(this) ? "ConstructorDeclaration" : @@ -3004,7 +3159,7 @@ var ts; ts.isNamedTupleMember(this) ? "NamedTupleMember" : ts.isImportTypeNode(this) ? "ImportTypeNode" : formatSyntaxKind(this.kind); - return "".concat(nodeHeader).concat(this.flags ? " (".concat(formatNodeFlags(this.flags), ")") : ""); + return "" + nodeHeader + (this.flags ? " (" + formatNodeFlags(this.flags) + ")" : ""); } }, __debugKind: { get: function () { return formatSyntaxKind(this.kind); } }, @@ -3051,10 +3206,10 @@ var ts; Debug.enableDebugInfo = enableDebugInfo; function formatDeprecationMessage(name, error, errorAfter, since, message) { var deprecationMessage = error ? "DeprecationError: " : "DeprecationWarning: "; - deprecationMessage += "'".concat(name, "' "); - deprecationMessage += since ? "has been deprecated since v".concat(since) : "is deprecated"; - deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v".concat(errorAfter, ".") : "."; - deprecationMessage += message ? " ".concat(ts.formatStringFromArgs(message, [name], 0)) : ""; + deprecationMessage += "'" + name + "' "; + deprecationMessage += since ? "has been deprecated since v" + since : "is deprecated"; + deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v" + errorAfter + "." : "."; + deprecationMessage += message ? " " + ts.formatStringFromArgs(message, [name], 0) : ""; return deprecationMessage; } function createErrorDeprecation(name, errorAfter, since, message) { @@ -3185,11 +3340,11 @@ var ts; } }; Version.prototype.toString = function () { - var result = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); + var result = this.major + "." + this.minor + "." + this.patch; if (ts.some(this.prerelease)) - result += "-".concat(this.prerelease.join(".")); + result += "-" + this.prerelease.join("."); if (ts.some(this.build)) - result += "+".concat(this.build.join(".")); + result += "+" + this.build.join("."); return result; }; Version.zero = new Version(0, 0, 0); @@ -3456,7 +3611,7 @@ var ts; return ts.map(comparators, formatComparator).join(" "); } function formatComparator(comparator) { - return "".concat(comparator.operator).concat(comparator.operand); + return "" + comparator.operator + comparator.operand; } })(ts || (ts = {})); /*@internal*/ @@ -3754,7 +3909,7 @@ var ts; fs = require("fs"); } catch (e) { - throw new Error("tracing requires having fs\n(original error: ".concat(e.message || e, ")")); + throw new Error("tracing requires having fs\n(original error: " + (e.message || e) + ")"); } } mode = tracingMode; @@ -3766,11 +3921,11 @@ var ts; if (!fs.existsSync(traceDir)) { fs.mkdirSync(traceDir, { recursive: true }); } - var countPart = mode === "build" ? ".".concat(process.pid, "-").concat(++traceCount) - : mode === "server" ? ".".concat(process.pid) + var countPart = mode === "build" ? "." + process.pid + "-" + ++traceCount + : mode === "server" ? "." + process.pid : ""; - var tracePath = ts.combinePaths(traceDir, "trace".concat(countPart, ".json")); - var typesPath = ts.combinePaths(traceDir, "types".concat(countPart, ".json")); + var tracePath = ts.combinePaths(traceDir, "trace" + countPart + ".json"); + var typesPath = ts.combinePaths(traceDir, "types" + countPart + ".json"); legend.push({ configFilePath: configFilePath, tracePath: tracePath, @@ -3860,7 +4015,7 @@ var ts; } // test if [time,endTime) straddles a sampling point else if (sampleInterval - (time % sampleInterval) <= endTime - time) { - writeEvent("X", phase, name, args, "\"dur\":".concat(endTime - time), time); + writeEvent("X", phase, name, args, "\"dur\":" + (endTime - time), time); } } function writeEvent(eventType, phase, name, args, extras, time) { @@ -3869,11 +4024,11 @@ var ts; if (mode === "server" && phase === "checkTypes" /* CheckTypes */) return; ts.performance.mark("beginTracing"); - fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"".concat(eventType, "\",\"cat\":\"").concat(phase, "\",\"ts\":").concat(time, ",\"name\":\"").concat(name, "\"")); + fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"" + eventType + "\",\"cat\":\"" + phase + "\",\"ts\":" + time + ",\"name\":\"" + name + "\""); if (extras) - fs.writeSync(traceFd, ",".concat(extras)); + fs.writeSync(traceFd, "," + extras); if (args) - fs.writeSync(traceFd, ",\"args\":".concat(JSON.stringify(args))); + fs.writeSync(traceFd, ",\"args\":" + JSON.stringify(args)); fs.writeSync(traceFd, "}"); ts.performance.mark("endTracing"); ts.performance.measure("Tracing", "beginTracing", "endTracing"); @@ -4166,236 +4321,239 @@ var ts; SyntaxKind[SyntaxKind["ModuleKeyword"] = 141] = "ModuleKeyword"; SyntaxKind[SyntaxKind["NamespaceKeyword"] = 142] = "NamespaceKeyword"; SyntaxKind[SyntaxKind["NeverKeyword"] = 143] = "NeverKeyword"; - SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 144] = "ReadonlyKeyword"; - SyntaxKind[SyntaxKind["RequireKeyword"] = 145] = "RequireKeyword"; - SyntaxKind[SyntaxKind["NumberKeyword"] = 146] = "NumberKeyword"; - SyntaxKind[SyntaxKind["ObjectKeyword"] = 147] = "ObjectKeyword"; - SyntaxKind[SyntaxKind["SetKeyword"] = 148] = "SetKeyword"; - SyntaxKind[SyntaxKind["StringKeyword"] = 149] = "StringKeyword"; - SyntaxKind[SyntaxKind["SymbolKeyword"] = 150] = "SymbolKeyword"; - SyntaxKind[SyntaxKind["TypeKeyword"] = 151] = "TypeKeyword"; - SyntaxKind[SyntaxKind["UndefinedKeyword"] = 152] = "UndefinedKeyword"; - SyntaxKind[SyntaxKind["UniqueKeyword"] = 153] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["UnknownKeyword"] = 154] = "UnknownKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 155] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 156] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["BigIntKeyword"] = 157] = "BigIntKeyword"; - SyntaxKind[SyntaxKind["OverrideKeyword"] = 158] = "OverrideKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 159] = "OfKeyword"; + SyntaxKind[SyntaxKind["OutKeyword"] = 144] = "OutKeyword"; + SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 145] = "ReadonlyKeyword"; + SyntaxKind[SyntaxKind["RequireKeyword"] = 146] = "RequireKeyword"; + SyntaxKind[SyntaxKind["NumberKeyword"] = 147] = "NumberKeyword"; + SyntaxKind[SyntaxKind["ObjectKeyword"] = 148] = "ObjectKeyword"; + SyntaxKind[SyntaxKind["SetKeyword"] = 149] = "SetKeyword"; + SyntaxKind[SyntaxKind["StringKeyword"] = 150] = "StringKeyword"; + SyntaxKind[SyntaxKind["SymbolKeyword"] = 151] = "SymbolKeyword"; + SyntaxKind[SyntaxKind["TypeKeyword"] = 152] = "TypeKeyword"; + SyntaxKind[SyntaxKind["UndefinedKeyword"] = 153] = "UndefinedKeyword"; + SyntaxKind[SyntaxKind["UniqueKeyword"] = 154] = "UniqueKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 155] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 156] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 157] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["BigIntKeyword"] = 158] = "BigIntKeyword"; + SyntaxKind[SyntaxKind["OverrideKeyword"] = 159] = "OverrideKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 160] = "OfKeyword"; // Parse tree nodes // Names - SyntaxKind[SyntaxKind["QualifiedName"] = 160] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 161] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["QualifiedName"] = 161] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 162] = "ComputedPropertyName"; // Signature elements - SyntaxKind[SyntaxKind["TypeParameter"] = 162] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 163] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 164] = "Decorator"; + SyntaxKind[SyntaxKind["TypeParameter"] = 163] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 164] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 165] = "Decorator"; // TypeMember - SyntaxKind[SyntaxKind["PropertySignature"] = 165] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 166] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 167] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 168] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 169] = "ClassStaticBlockDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 170] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 171] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 172] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 173] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 174] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 175] = "IndexSignature"; + SyntaxKind[SyntaxKind["PropertySignature"] = 166] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 167] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 168] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 169] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 170] = "ClassStaticBlockDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 171] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 172] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 173] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 174] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 175] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 176] = "IndexSignature"; // Type - SyntaxKind[SyntaxKind["TypePredicate"] = 176] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 177] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 178] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 179] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 180] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 181] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 182] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 183] = "TupleType"; - SyntaxKind[SyntaxKind["OptionalType"] = 184] = "OptionalType"; - SyntaxKind[SyntaxKind["RestType"] = 185] = "RestType"; - SyntaxKind[SyntaxKind["UnionType"] = 186] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 187] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 188] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 189] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 190] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 191] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 192] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 193] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 194] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 195] = "LiteralType"; - SyntaxKind[SyntaxKind["NamedTupleMember"] = 196] = "NamedTupleMember"; - SyntaxKind[SyntaxKind["TemplateLiteralType"] = 197] = "TemplateLiteralType"; - SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 198] = "TemplateLiteralTypeSpan"; - SyntaxKind[SyntaxKind["ImportType"] = 199] = "ImportType"; + SyntaxKind[SyntaxKind["TypePredicate"] = 177] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 178] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 179] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 180] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 181] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 182] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 183] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 184] = "TupleType"; + SyntaxKind[SyntaxKind["OptionalType"] = 185] = "OptionalType"; + SyntaxKind[SyntaxKind["RestType"] = 186] = "RestType"; + SyntaxKind[SyntaxKind["UnionType"] = 187] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 188] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 189] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 190] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 191] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 192] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 193] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 194] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 195] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 196] = "LiteralType"; + SyntaxKind[SyntaxKind["NamedTupleMember"] = 197] = "NamedTupleMember"; + SyntaxKind[SyntaxKind["TemplateLiteralType"] = 198] = "TemplateLiteralType"; + SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 199] = "TemplateLiteralTypeSpan"; + SyntaxKind[SyntaxKind["ImportType"] = 200] = "ImportType"; // Binding patterns - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 200] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 201] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 202] = "BindingElement"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 201] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 202] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 203] = "BindingElement"; // Expression - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 203] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 204] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 205] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 206] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 207] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 208] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 209] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 210] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 211] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 212] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 213] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 214] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 215] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 216] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 217] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 218] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 219] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 220] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 221] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 222] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 223] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 224] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 225] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 226] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 227] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 228] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 229] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 230] = "MetaProperty"; - SyntaxKind[SyntaxKind["SyntheticExpression"] = 231] = "SyntheticExpression"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 204] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 205] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 206] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 207] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 208] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 209] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 210] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 211] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 212] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 213] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 214] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 215] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 216] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 217] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 218] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 219] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 220] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 221] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 222] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 223] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 224] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 225] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 226] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 227] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 228] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 229] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 230] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 231] = "MetaProperty"; + SyntaxKind[SyntaxKind["SyntheticExpression"] = 232] = "SyntheticExpression"; // Misc - SyntaxKind[SyntaxKind["TemplateSpan"] = 232] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 233] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 233] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 234] = "SemicolonClassElement"; // Element - SyntaxKind[SyntaxKind["Block"] = 234] = "Block"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 235] = "EmptyStatement"; - SyntaxKind[SyntaxKind["VariableStatement"] = 236] = "VariableStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 237] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 238] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 239] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 240] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 241] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 242] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 243] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 244] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 245] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 246] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 247] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 248] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 249] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 250] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 251] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 252] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 253] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 254] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 255] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 256] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 257] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 258] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 259] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 260] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 261] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 262] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 263] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 264] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 265] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 266] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 267] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 268] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 269] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 270] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 271] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 272] = "NamedExports"; - SyntaxKind[SyntaxKind["NamespaceExport"] = 273] = "NamespaceExport"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 274] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 275] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["Block"] = 235] = "Block"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 236] = "EmptyStatement"; + SyntaxKind[SyntaxKind["VariableStatement"] = 237] = "VariableStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 238] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 239] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 240] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 241] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 242] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 243] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 244] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 245] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 246] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 247] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 248] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 249] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 250] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 251] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 252] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 253] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 254] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 255] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 256] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 257] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 258] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 259] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 260] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 261] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 262] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 263] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 264] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 265] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 266] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 267] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 268] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 269] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 270] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 271] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 272] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 273] = "NamedExports"; + SyntaxKind[SyntaxKind["NamespaceExport"] = 274] = "NamespaceExport"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 275] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 276] = "MissingDeclaration"; // Module references - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 276] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 277] = "ExternalModuleReference"; // JSX - SyntaxKind[SyntaxKind["JsxElement"] = 277] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 278] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 279] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 280] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 281] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 282] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 283] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 284] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 285] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 286] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 287] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxElement"] = 278] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 279] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 280] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 281] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 282] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 283] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 284] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 285] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 286] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 287] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 288] = "JsxExpression"; // Clauses - SyntaxKind[SyntaxKind["CaseClause"] = 288] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 289] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 290] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 291] = "CatchClause"; - SyntaxKind[SyntaxKind["AssertClause"] = 292] = "AssertClause"; - SyntaxKind[SyntaxKind["AssertEntry"] = 293] = "AssertEntry"; + SyntaxKind[SyntaxKind["CaseClause"] = 289] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 290] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 291] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 292] = "CatchClause"; + SyntaxKind[SyntaxKind["AssertClause"] = 293] = "AssertClause"; + SyntaxKind[SyntaxKind["AssertEntry"] = 294] = "AssertEntry"; + SyntaxKind[SyntaxKind["ImportTypeAssertionContainer"] = 295] = "ImportTypeAssertionContainer"; // Property assignments - SyntaxKind[SyntaxKind["PropertyAssignment"] = 294] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 295] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 296] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 296] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 297] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 298] = "SpreadAssignment"; // Enum - SyntaxKind[SyntaxKind["EnumMember"] = 297] = "EnumMember"; + SyntaxKind[SyntaxKind["EnumMember"] = 299] = "EnumMember"; // Unparsed - SyntaxKind[SyntaxKind["UnparsedPrologue"] = 298] = "UnparsedPrologue"; - SyntaxKind[SyntaxKind["UnparsedPrepend"] = 299] = "UnparsedPrepend"; - SyntaxKind[SyntaxKind["UnparsedText"] = 300] = "UnparsedText"; - SyntaxKind[SyntaxKind["UnparsedInternalText"] = 301] = "UnparsedInternalText"; - SyntaxKind[SyntaxKind["UnparsedSyntheticReference"] = 302] = "UnparsedSyntheticReference"; + SyntaxKind[SyntaxKind["UnparsedPrologue"] = 300] = "UnparsedPrologue"; + SyntaxKind[SyntaxKind["UnparsedPrepend"] = 301] = "UnparsedPrepend"; + SyntaxKind[SyntaxKind["UnparsedText"] = 302] = "UnparsedText"; + SyntaxKind[SyntaxKind["UnparsedInternalText"] = 303] = "UnparsedInternalText"; + SyntaxKind[SyntaxKind["UnparsedSyntheticReference"] = 304] = "UnparsedSyntheticReference"; // Top-level nodes - SyntaxKind[SyntaxKind["SourceFile"] = 303] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 304] = "Bundle"; - SyntaxKind[SyntaxKind["UnparsedSource"] = 305] = "UnparsedSource"; - SyntaxKind[SyntaxKind["InputFiles"] = 306] = "InputFiles"; + SyntaxKind[SyntaxKind["SourceFile"] = 305] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 306] = "Bundle"; + SyntaxKind[SyntaxKind["UnparsedSource"] = 307] = "UnparsedSource"; + SyntaxKind[SyntaxKind["InputFiles"] = 308] = "InputFiles"; // JSDoc nodes - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 307] = "JSDocTypeExpression"; - SyntaxKind[SyntaxKind["JSDocNameReference"] = 308] = "JSDocNameReference"; - SyntaxKind[SyntaxKind["JSDocMemberName"] = 309] = "JSDocMemberName"; - SyntaxKind[SyntaxKind["JSDocAllType"] = 310] = "JSDocAllType"; - SyntaxKind[SyntaxKind["JSDocUnknownType"] = 311] = "JSDocUnknownType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 312] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 313] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 314] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocFunctionType"] = 315] = "JSDocFunctionType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 316] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDocNamepathType"] = 317] = "JSDocNamepathType"; - SyntaxKind[SyntaxKind["JSDocComment"] = 318] = "JSDocComment"; - SyntaxKind[SyntaxKind["JSDocText"] = 319] = "JSDocText"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 320] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 321] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocLink"] = 322] = "JSDocLink"; - SyntaxKind[SyntaxKind["JSDocLinkCode"] = 323] = "JSDocLinkCode"; - SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 324] = "JSDocLinkPlain"; - SyntaxKind[SyntaxKind["JSDocTag"] = 325] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 326] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 327] = "JSDocImplementsTag"; - SyntaxKind[SyntaxKind["JSDocAuthorTag"] = 328] = "JSDocAuthorTag"; - SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 329] = "JSDocDeprecatedTag"; - SyntaxKind[SyntaxKind["JSDocClassTag"] = 330] = "JSDocClassTag"; - SyntaxKind[SyntaxKind["JSDocPublicTag"] = 331] = "JSDocPublicTag"; - SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 332] = "JSDocPrivateTag"; - SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 333] = "JSDocProtectedTag"; - SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 334] = "JSDocReadonlyTag"; - SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 335] = "JSDocOverrideTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 336] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocEnumTag"] = 337] = "JSDocEnumTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 338] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 339] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocThisTag"] = 340] = "JSDocThisTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 341] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 342] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 343] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocSeeTag"] = 344] = "JSDocSeeTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 345] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 309] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocNameReference"] = 310] = "JSDocNameReference"; + SyntaxKind[SyntaxKind["JSDocMemberName"] = 311] = "JSDocMemberName"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 312] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocUnknownType"] = 313] = "JSDocUnknownType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 314] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 315] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 316] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocFunctionType"] = 317] = "JSDocFunctionType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 318] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDocNamepathType"] = 319] = "JSDocNamepathType"; + /** @deprecated Use SyntaxKind.JSDoc */ + SyntaxKind[SyntaxKind["JSDocComment"] = 320] = "JSDocComment"; + SyntaxKind[SyntaxKind["JSDocText"] = 321] = "JSDocText"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 322] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 323] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocLink"] = 324] = "JSDocLink"; + SyntaxKind[SyntaxKind["JSDocLinkCode"] = 325] = "JSDocLinkCode"; + SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 326] = "JSDocLinkPlain"; + SyntaxKind[SyntaxKind["JSDocTag"] = 327] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 328] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 329] = "JSDocImplementsTag"; + SyntaxKind[SyntaxKind["JSDocAuthorTag"] = 330] = "JSDocAuthorTag"; + SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 331] = "JSDocDeprecatedTag"; + SyntaxKind[SyntaxKind["JSDocClassTag"] = 332] = "JSDocClassTag"; + SyntaxKind[SyntaxKind["JSDocPublicTag"] = 333] = "JSDocPublicTag"; + SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 334] = "JSDocPrivateTag"; + SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 335] = "JSDocProtectedTag"; + SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 336] = "JSDocReadonlyTag"; + SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 337] = "JSDocOverrideTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 338] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocEnumTag"] = 339] = "JSDocEnumTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 340] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 341] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocThisTag"] = 342] = "JSDocThisTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 343] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 344] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 345] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocSeeTag"] = 346] = "JSDocSeeTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 347] = "JSDocPropertyTag"; // Synthesized list - SyntaxKind[SyntaxKind["SyntaxList"] = 346] = "SyntaxList"; + SyntaxKind[SyntaxKind["SyntaxList"] = 348] = "SyntaxList"; // Transformation nodes - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 347] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 348] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 349] = "CommaListExpression"; - SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 350] = "MergeDeclarationMarker"; - SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 351] = "EndOfDeclarationMarker"; - SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 352] = "SyntheticReferenceExpression"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 349] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 350] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 351] = "CommaListExpression"; + SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 352] = "MergeDeclarationMarker"; + SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 353] = "EndOfDeclarationMarker"; + SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 354] = "SyntheticReferenceExpression"; // Enum value count - SyntaxKind[SyntaxKind["Count"] = 353] = "Count"; + SyntaxKind[SyntaxKind["Count"] = 355] = "Count"; // Markers SyntaxKind[SyntaxKind["FirstAssignment"] = 63] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 78] = "LastAssignment"; @@ -4404,15 +4562,15 @@ var ts; SyntaxKind[SyntaxKind["FirstReservedWord"] = 81] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 116] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 81] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = 159] = "LastKeyword"; + SyntaxKind[SyntaxKind["LastKeyword"] = 160] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 117] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 125] = "LastFutureReservedWord"; - SyntaxKind[SyntaxKind["FirstTypeNode"] = 176] = "FirstTypeNode"; - SyntaxKind[SyntaxKind["LastTypeNode"] = 199] = "LastTypeNode"; + SyntaxKind[SyntaxKind["FirstTypeNode"] = 177] = "FirstTypeNode"; + SyntaxKind[SyntaxKind["LastTypeNode"] = 200] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 18] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 78] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; - SyntaxKind[SyntaxKind["LastToken"] = 159] = "LastToken"; + SyntaxKind[SyntaxKind["LastToken"] = 160] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; @@ -4421,15 +4579,16 @@ var ts; SyntaxKind[SyntaxKind["LastTemplateToken"] = 17] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 29] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 78] = "LastBinaryOperator"; - SyntaxKind[SyntaxKind["FirstStatement"] = 236] = "FirstStatement"; - SyntaxKind[SyntaxKind["LastStatement"] = 252] = "LastStatement"; - SyntaxKind[SyntaxKind["FirstNode"] = 160] = "FirstNode"; - SyntaxKind[SyntaxKind["FirstJSDocNode"] = 307] = "FirstJSDocNode"; - SyntaxKind[SyntaxKind["LastJSDocNode"] = 345] = "LastJSDocNode"; - SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 325] = "FirstJSDocTagNode"; - SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 345] = "LastJSDocTagNode"; + SyntaxKind[SyntaxKind["FirstStatement"] = 237] = "FirstStatement"; + SyntaxKind[SyntaxKind["LastStatement"] = 253] = "LastStatement"; + SyntaxKind[SyntaxKind["FirstNode"] = 161] = "FirstNode"; + SyntaxKind[SyntaxKind["FirstJSDocNode"] = 309] = "FirstJSDocNode"; + SyntaxKind[SyntaxKind["LastJSDocNode"] = 347] = "LastJSDocNode"; + SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 327] = "FirstJSDocTagNode"; + SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 347] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 126] = "FirstContextualKeyword"; - /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 159] = "LastContextualKeyword"; + /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 160] = "LastContextualKeyword"; + SyntaxKind[SyntaxKind["JSDoc"] = 320] = "JSDoc"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -4450,10 +4609,11 @@ var ts; NodeFlags[NodeFlags["YieldContext"] = 8192] = "YieldContext"; NodeFlags[NodeFlags["DecoratorContext"] = 16384] = "DecoratorContext"; NodeFlags[NodeFlags["AwaitContext"] = 32768] = "AwaitContext"; - NodeFlags[NodeFlags["ThisNodeHasError"] = 65536] = "ThisNodeHasError"; - NodeFlags[NodeFlags["JavaScriptFile"] = 131072] = "JavaScriptFile"; - NodeFlags[NodeFlags["ThisNodeOrAnySubNodesHasError"] = 262144] = "ThisNodeOrAnySubNodesHasError"; - NodeFlags[NodeFlags["HasAggregatedChildData"] = 524288] = "HasAggregatedChildData"; + NodeFlags[NodeFlags["DisallowConditionalTypesContext"] = 65536] = "DisallowConditionalTypesContext"; + NodeFlags[NodeFlags["ThisNodeHasError"] = 131072] = "ThisNodeHasError"; + NodeFlags[NodeFlags["JavaScriptFile"] = 262144] = "JavaScriptFile"; + NodeFlags[NodeFlags["ThisNodeOrAnySubNodesHasError"] = 524288] = "ThisNodeOrAnySubNodesHasError"; + NodeFlags[NodeFlags["HasAggregatedChildData"] = 1048576] = "HasAggregatedChildData"; // These flags will be set when the parser encounters a dynamic import expression or 'import.meta' to avoid // walking the tree if the flags are not set. However, these flags are just a approximation // (hence why it's named "PossiblyContainsDynamicImport") because once set, the flags never get cleared. @@ -4463,25 +4623,25 @@ var ts; // removal, it is likely that users will add the import anyway. // The advantage of this approach is its simplicity. For the case of batch compilation, // we guarantee that users won't have to pay the price of walking the tree if a dynamic import isn't used. - /* @internal */ NodeFlags[NodeFlags["PossiblyContainsDynamicImport"] = 1048576] = "PossiblyContainsDynamicImport"; - /* @internal */ NodeFlags[NodeFlags["PossiblyContainsImportMeta"] = 2097152] = "PossiblyContainsImportMeta"; - NodeFlags[NodeFlags["JSDoc"] = 4194304] = "JSDoc"; - /* @internal */ NodeFlags[NodeFlags["Ambient"] = 8388608] = "Ambient"; - /* @internal */ NodeFlags[NodeFlags["InWithStatement"] = 16777216] = "InWithStatement"; - NodeFlags[NodeFlags["JsonFile"] = 33554432] = "JsonFile"; - /* @internal */ NodeFlags[NodeFlags["TypeCached"] = 67108864] = "TypeCached"; - /* @internal */ NodeFlags[NodeFlags["Deprecated"] = 134217728] = "Deprecated"; + /* @internal */ NodeFlags[NodeFlags["PossiblyContainsDynamicImport"] = 2097152] = "PossiblyContainsDynamicImport"; + /* @internal */ NodeFlags[NodeFlags["PossiblyContainsImportMeta"] = 4194304] = "PossiblyContainsImportMeta"; + NodeFlags[NodeFlags["JSDoc"] = 8388608] = "JSDoc"; + /* @internal */ NodeFlags[NodeFlags["Ambient"] = 16777216] = "Ambient"; + /* @internal */ NodeFlags[NodeFlags["InWithStatement"] = 33554432] = "InWithStatement"; + NodeFlags[NodeFlags["JsonFile"] = 67108864] = "JsonFile"; + /* @internal */ NodeFlags[NodeFlags["TypeCached"] = 134217728] = "TypeCached"; + /* @internal */ NodeFlags[NodeFlags["Deprecated"] = 268435456] = "Deprecated"; NodeFlags[NodeFlags["BlockScoped"] = 3] = "BlockScoped"; NodeFlags[NodeFlags["ReachabilityCheckFlags"] = 768] = "ReachabilityCheckFlags"; NodeFlags[NodeFlags["ReachabilityAndEmitFlags"] = 2816] = "ReachabilityAndEmitFlags"; // Parsing context flags - NodeFlags[NodeFlags["ContextFlags"] = 25358336] = "ContextFlags"; + NodeFlags[NodeFlags["ContextFlags"] = 50720768] = "ContextFlags"; // Exclude these flags when parsing a Type NodeFlags[NodeFlags["TypeExcludesFlags"] = 40960] = "TypeExcludesFlags"; // Represents all flags that are potentially set once and // never cleared on SourceFiles which get re-used in between incremental parses. // See the comment above on `PossiblyContainsDynamicImport` and `PossiblyContainsImportMeta`. - /* @internal */ NodeFlags[NodeFlags["PermanentlySetIncrementalFlags"] = 3145728] = "PermanentlySetIncrementalFlags"; + /* @internal */ NodeFlags[NodeFlags["PermanentlySetIncrementalFlags"] = 6291456] = "PermanentlySetIncrementalFlags"; })(NodeFlags = ts.NodeFlags || (ts.NodeFlags = {})); var ModifierFlags; (function (ModifierFlags) { @@ -4500,14 +4660,16 @@ var ts; ModifierFlags[ModifierFlags["HasComputedJSDocModifiers"] = 4096] = "HasComputedJSDocModifiers"; ModifierFlags[ModifierFlags["Deprecated"] = 8192] = "Deprecated"; ModifierFlags[ModifierFlags["Override"] = 16384] = "Override"; + ModifierFlags[ModifierFlags["In"] = 32768] = "In"; + ModifierFlags[ModifierFlags["Out"] = 65536] = "Out"; ModifierFlags[ModifierFlags["HasComputedFlags"] = 536870912] = "HasComputedFlags"; ModifierFlags[ModifierFlags["AccessibilityModifier"] = 28] = "AccessibilityModifier"; // Accessibility modifiers and 'readonly' can be attached to a parameter in a constructor to make it a property. ModifierFlags[ModifierFlags["ParameterPropertyModifier"] = 16476] = "ParameterPropertyModifier"; ModifierFlags[ModifierFlags["NonPublicAccessibilityModifier"] = 24] = "NonPublicAccessibilityModifier"; - ModifierFlags[ModifierFlags["TypeScriptModifier"] = 18654] = "TypeScriptModifier"; + ModifierFlags[ModifierFlags["TypeScriptModifier"] = 116958] = "TypeScriptModifier"; ModifierFlags[ModifierFlags["ExportDefault"] = 513] = "ExportDefault"; - ModifierFlags[ModifierFlags["All"] = 27647] = "All"; + ModifierFlags[ModifierFlags["All"] = 125951] = "All"; })(ModifierFlags = ts.ModifierFlags || (ts.ModifierFlags = {})); var JsxFlags; (function (JsxFlags) { @@ -5087,33 +5249,33 @@ var ts; ObjectFlags[ObjectFlags["ObjectLiteralPatternWithComputedProperties"] = 512] = "ObjectLiteralPatternWithComputedProperties"; ObjectFlags[ObjectFlags["ReverseMapped"] = 1024] = "ReverseMapped"; ObjectFlags[ObjectFlags["JsxAttributes"] = 2048] = "JsxAttributes"; - ObjectFlags[ObjectFlags["MarkerType"] = 4096] = "MarkerType"; - ObjectFlags[ObjectFlags["JSLiteral"] = 8192] = "JSLiteral"; - ObjectFlags[ObjectFlags["FreshLiteral"] = 16384] = "FreshLiteral"; - ObjectFlags[ObjectFlags["ArrayLiteral"] = 32768] = "ArrayLiteral"; + ObjectFlags[ObjectFlags["JSLiteral"] = 4096] = "JSLiteral"; + ObjectFlags[ObjectFlags["FreshLiteral"] = 8192] = "FreshLiteral"; + ObjectFlags[ObjectFlags["ArrayLiteral"] = 16384] = "ArrayLiteral"; /* @internal */ - ObjectFlags[ObjectFlags["PrimitiveUnion"] = 65536] = "PrimitiveUnion"; + ObjectFlags[ObjectFlags["PrimitiveUnion"] = 32768] = "PrimitiveUnion"; /* @internal */ - ObjectFlags[ObjectFlags["ContainsWideningType"] = 131072] = "ContainsWideningType"; + ObjectFlags[ObjectFlags["ContainsWideningType"] = 65536] = "ContainsWideningType"; /* @internal */ - ObjectFlags[ObjectFlags["ContainsObjectOrArrayLiteral"] = 262144] = "ContainsObjectOrArrayLiteral"; + ObjectFlags[ObjectFlags["ContainsObjectOrArrayLiteral"] = 131072] = "ContainsObjectOrArrayLiteral"; /* @internal */ - ObjectFlags[ObjectFlags["NonInferrableType"] = 524288] = "NonInferrableType"; + ObjectFlags[ObjectFlags["NonInferrableType"] = 262144] = "NonInferrableType"; /* @internal */ - ObjectFlags[ObjectFlags["CouldContainTypeVariablesComputed"] = 1048576] = "CouldContainTypeVariablesComputed"; + ObjectFlags[ObjectFlags["CouldContainTypeVariablesComputed"] = 524288] = "CouldContainTypeVariablesComputed"; /* @internal */ - ObjectFlags[ObjectFlags["CouldContainTypeVariables"] = 2097152] = "CouldContainTypeVariables"; + ObjectFlags[ObjectFlags["CouldContainTypeVariables"] = 1048576] = "CouldContainTypeVariables"; ObjectFlags[ObjectFlags["ClassOrInterface"] = 3] = "ClassOrInterface"; /* @internal */ - ObjectFlags[ObjectFlags["RequiresWidening"] = 393216] = "RequiresWidening"; + ObjectFlags[ObjectFlags["RequiresWidening"] = 196608] = "RequiresWidening"; /* @internal */ - ObjectFlags[ObjectFlags["PropagatingFlags"] = 917504] = "PropagatingFlags"; + ObjectFlags[ObjectFlags["PropagatingFlags"] = 458752] = "PropagatingFlags"; // Object flags that uniquely identify the kind of ObjectType /* @internal */ ObjectFlags[ObjectFlags["ObjectTypeKindMask"] = 1343] = "ObjectTypeKindMask"; // Flags that require TypeFlags.Object - ObjectFlags[ObjectFlags["ContainsSpread"] = 4194304] = "ContainsSpread"; - ObjectFlags[ObjectFlags["ObjectRestType"] = 8388608] = "ObjectRestType"; + ObjectFlags[ObjectFlags["ContainsSpread"] = 2097152] = "ContainsSpread"; + ObjectFlags[ObjectFlags["ObjectRestType"] = 4194304] = "ObjectRestType"; + ObjectFlags[ObjectFlags["InstantiationExpressionType"] = 8388608] = "InstantiationExpressionType"; /* @internal */ ObjectFlags[ObjectFlags["IsClassInstanceClone"] = 16777216] = "IsClassInstanceClone"; // Flags that require TypeFlags.Object and ObjectFlags.Reference @@ -5123,21 +5285,21 @@ var ts; ObjectFlags[ObjectFlags["IdenticalBaseTypeExists"] = 67108864] = "IdenticalBaseTypeExists"; // Flags that require TypeFlags.UnionOrIntersection or TypeFlags.Substitution /* @internal */ - ObjectFlags[ObjectFlags["IsGenericTypeComputed"] = 4194304] = "IsGenericTypeComputed"; + ObjectFlags[ObjectFlags["IsGenericTypeComputed"] = 2097152] = "IsGenericTypeComputed"; /* @internal */ - ObjectFlags[ObjectFlags["IsGenericObjectType"] = 8388608] = "IsGenericObjectType"; + ObjectFlags[ObjectFlags["IsGenericObjectType"] = 4194304] = "IsGenericObjectType"; /* @internal */ - ObjectFlags[ObjectFlags["IsGenericIndexType"] = 16777216] = "IsGenericIndexType"; + ObjectFlags[ObjectFlags["IsGenericIndexType"] = 8388608] = "IsGenericIndexType"; /* @internal */ - ObjectFlags[ObjectFlags["IsGenericType"] = 25165824] = "IsGenericType"; + ObjectFlags[ObjectFlags["IsGenericType"] = 12582912] = "IsGenericType"; // Flags that require TypeFlags.Union /* @internal */ - ObjectFlags[ObjectFlags["ContainsIntersections"] = 33554432] = "ContainsIntersections"; + ObjectFlags[ObjectFlags["ContainsIntersections"] = 16777216] = "ContainsIntersections"; // Flags that require TypeFlags.Intersection /* @internal */ - ObjectFlags[ObjectFlags["IsNeverIntersectionComputed"] = 33554432] = "IsNeverIntersectionComputed"; + ObjectFlags[ObjectFlags["IsNeverIntersectionComputed"] = 16777216] = "IsNeverIntersectionComputed"; /* @internal */ - ObjectFlags[ObjectFlags["IsNeverIntersection"] = 67108864] = "IsNeverIntersection"; + ObjectFlags[ObjectFlags["IsNeverIntersection"] = 33554432] = "IsNeverIntersection"; })(ObjectFlags = ts.ObjectFlags || (ts.ObjectFlags = {})); /* @internal */ var VarianceFlags; @@ -5315,6 +5477,21 @@ var ts; ModuleResolutionKind[ModuleResolutionKind["Node12"] = 3] = "Node12"; ModuleResolutionKind[ModuleResolutionKind["NodeNext"] = 99] = "NodeNext"; })(ModuleResolutionKind = ts.ModuleResolutionKind || (ts.ModuleResolutionKind = {})); + var ModuleDetectionKind; + (function (ModuleDetectionKind) { + /** + * Files with imports, exports and/or import.meta are considered modules + */ + ModuleDetectionKind[ModuleDetectionKind["Legacy"] = 1] = "Legacy"; + /** + * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node12+ + */ + ModuleDetectionKind[ModuleDetectionKind["Auto"] = 2] = "Auto"; + /** + * Consider all non-declaration files modules, regardless of present syntax + */ + ModuleDetectionKind[ModuleDetectionKind["Force"] = 3] = "Force"; + })(ModuleDetectionKind = ts.ModuleDetectionKind || (ts.ModuleDetectionKind = {})); var WatchFileKind; (function (WatchFileKind) { WatchFileKind[WatchFileKind["FixedPollingInterval"] = 0] = "FixedPollingInterval"; @@ -5768,6 +5945,8 @@ var ts; BundleFileSectionKind["NoDefaultLib"] = "no-default-lib"; BundleFileSectionKind["Reference"] = "reference"; BundleFileSectionKind["Type"] = "type"; + BundleFileSectionKind["TypeResolutionModeRequire"] = "type-require"; + BundleFileSectionKind["TypeResolutionModeImport"] = "type-import"; BundleFileSectionKind["Lib"] = "lib"; BundleFileSectionKind["Prepend"] = "prepend"; BundleFileSectionKind["Text"] = "text"; @@ -5884,7 +6063,8 @@ var ts; { name: "types", optional: true, captureSpan: true }, { name: "lib", optional: true, captureSpan: true }, { name: "path", optional: true, captureSpan: true }, - { name: "no-default-lib", optional: true } + { name: "no-default-lib", optional: true }, + { name: "resolution-mode", optional: true } ], kind: 1 /* TripleSlashXML */ }, @@ -5988,7 +6168,7 @@ var ts; pollingChunkSize = getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE", defaultChunkLevels) || pollingChunkSize; ts.unchangedPollThresholds = getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", defaultChunkLevels) || ts.unchangedPollThresholds; function getLevel(envVar, level) { - return system.getEnvironmentVariable("".concat(envVar, "_").concat(level.toUpperCase())); + return system.getEnvironmentVariable(envVar + "_" + level.toUpperCase()); } function getCustomLevels(baseVariable) { var customLevels; @@ -6457,7 +6637,7 @@ var ts; } function onTimerToUpdateChildWatches() { timerToUpdateChildWatches = undefined; - sysLog("sysLog:: onTimerToUpdateChildWatches:: ".concat(cacheToUpdateChildWatches.size)); + sysLog("sysLog:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size); var start = ts.timestamp(); var invokeMap = new ts.Map(); while (!timerToUpdateChildWatches && cacheToUpdateChildWatches.size) { @@ -6470,7 +6650,7 @@ var ts; var hasChanges = updateChildWatches(dirName, dirPath, options); invokeCallbacks(dirPath, invokeMap, hasChanges ? undefined : fileNames); } - sysLog("sysLog:: invokingWatchers:: Elapsed:: ".concat(ts.timestamp() - start, "ms:: ").concat(cacheToUpdateChildWatches.size)); + sysLog("sysLog:: invokingWatchers:: Elapsed:: " + (ts.timestamp() - start) + "ms:: " + cacheToUpdateChildWatches.size); callbackCache.forEach(function (callbacks, rootDirName) { var existing = invokeMap.get(rootDirName); if (existing) { @@ -6486,7 +6666,7 @@ var ts; } }); var elapsed = ts.timestamp() - start; - sysLog("sysLog:: Elapsed:: ".concat(elapsed, "ms:: onTimerToUpdateChildWatches:: ").concat(cacheToUpdateChildWatches.size, " ").concat(timerToUpdateChildWatches)); + sysLog("sysLog:: Elapsed:: " + elapsed + "ms:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size + " " + timerToUpdateChildWatches); } function removeChildWatches(parentWatcher) { if (!parentWatcher) @@ -6946,7 +7126,7 @@ var ts; var remappedPaths = new ts.Map(); var normalizedDir = ts.normalizeSlashes(__dirname); // Windows rooted dir names need an extra `/` prepended to be valid file:/// urls - var fileUrlRoot = "file://".concat(ts.getRootLength(normalizedDir) === 1 ? "" : "/").concat(normalizedDir); + var fileUrlRoot = "file://" + (ts.getRootLength(normalizedDir) === 1 ? "" : "/") + normalizedDir; for (var _i = 0, _a = profile.nodes; _i < _a.length; _i++) { var node = _a[_i]; if (node.callFrame.url) { @@ -6955,7 +7135,7 @@ var ts; node.callFrame.url = ts.getRelativePathToDirectoryOrUrl(fileUrlRoot, url, fileUrlRoot, ts.createGetCanonicalFileName(useCaseSensitiveFileNames), /*isAbsolutePathAnUrl*/ true); } else if (!nativePattern.test(url)) { - node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external".concat(externalFileCounter, ".js"))).get(url); + node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external" + externalFileCounter + ".js")).get(url); externalFileCounter++; } } @@ -6971,7 +7151,7 @@ var ts; if (!err) { try { if ((_b = statSync(profilePath)) === null || _b === void 0 ? void 0 : _b.isDirectory()) { - profilePath = _path.join(profilePath, "".concat((new Date()).toISOString().replace(/:/g, "-"), "+P").concat(process.pid, ".cpuprofile")); + profilePath = _path.join(profilePath, (new Date()).toISOString().replace(/:/g, "-") + "+P" + process.pid + ".cpuprofile"); } } catch (_c) { @@ -7073,7 +7253,7 @@ var ts; * @param createWatcher */ function invokeCallbackAndUpdateWatcher(createWatcher) { - sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher")); + sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher"); // Call the callback for current directory callback("rename", ""); // If watcher is not closed, update it @@ -7098,7 +7278,7 @@ var ts; } } if (hitSystemWatcherLimit) { - sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to fsWatchFile")); + sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to fsWatchFile"); return watchPresentFileSystemEntryWithFsWatchFile(); } try { @@ -7114,7 +7294,7 @@ var ts; // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point // so instead of throwing error, use fs.watchFile hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC"); - sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to fsWatchFile")); + sysLog("sysLog:: " + fileOrDirectory + ":: Changing to fsWatchFile"); return watchPresentFileSystemEntryWithFsWatchFile(); } } @@ -7832,18 +8012,6 @@ var ts; return getCanonicalFileName(nonCanonicalizedPath); } ts.toPath = toPath; - function normalizePathAndParts(path) { - path = normalizeSlashes(path); - var _a = reducePathComponents(getPathComponents(path)), root = _a[0], parts = _a.slice(1); - if (parts.length) { - var joinedParts = root + parts.join(ts.directorySeparator); - return { path: hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(joinedParts) : joinedParts, parts: parts }; - } - else { - return { path: root, parts: parts }; - } - } - ts.normalizePathAndParts = normalizePathAndParts; function removeTrailingDirectorySeparator(path) { if (hasTrailingDirectorySeparator(path)) { return path.substr(0, path.length - 1); @@ -8063,7 +8231,7 @@ var ts; Identifier_expected: diag(1003, ts.DiagnosticCategory.Error, "Identifier_expected_1003", "Identifier expected."), _0_expected: diag(1005, ts.DiagnosticCategory.Error, "_0_expected_1005", "'{0}' expected."), A_file_cannot_have_a_reference_to_itself: diag(1006, ts.DiagnosticCategory.Error, "A_file_cannot_have_a_reference_to_itself_1006", "A file cannot have a reference to itself."), - The_parser_expected_to_find_a_to_match_the_token_here: diag(1007, ts.DiagnosticCategory.Error, "The_parser_expected_to_find_a_to_match_the_token_here_1007", "The parser expected to find a '}' to match the '{' token here."), + The_parser_expected_to_find_a_1_to_match_the_0_token_here: diag(1007, ts.DiagnosticCategory.Error, "The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007", "The parser expected to find a '{1}' to match the '{0}' token here."), Trailing_comma_not_allowed: diag(1009, ts.DiagnosticCategory.Error, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."), Asterisk_Slash_expected: diag(1010, ts.DiagnosticCategory.Error, "Asterisk_Slash_expected_1010", "'*/' expected."), An_element_access_expression_should_take_an_argument: diag(1011, ts.DiagnosticCategory.Error, "An_element_access_expression_should_take_an_argument_1011", "An element access expression should take an argument."), @@ -8279,6 +8447,9 @@ var ts; Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided: diag(1269, ts.DiagnosticCategory.Error, "Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided_1269", "Cannot use 'export import' on a type or type-only namespace when the '--isolatedModules' flag is provided."), Decorator_function_return_type_0_is_not_assignable_to_type_1: diag(1270, ts.DiagnosticCategory.Error, "Decorator_function_return_type_0_is_not_assignable_to_type_1_1270", "Decorator function return type '{0}' is not assignable to type '{1}'."), Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any: diag(1271, ts.DiagnosticCategory.Error, "Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271", "Decorator function return type is '{0}' but is expected to be 'void' or 'any'."), + A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled: diag(1272, ts.DiagnosticCategory.Error, "A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272", "A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."), + _0_modifier_cannot_appear_on_a_type_parameter: diag(1273, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_parameter_1273", "'{0}' modifier cannot appear on a type parameter"), + _0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias: diag(1274, ts.DiagnosticCategory.Error, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274", "'{0}' modifier can only appear on a type parameter of a class, interface or type alias"), with_statements_are_not_allowed_in_an_async_function_block: diag(1300, ts.DiagnosticCategory.Error, "with_statements_are_not_allowed_in_an_async_function_block_1300", "'with' statements are not allowed in an async function block."), await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(1308, ts.DiagnosticCategory.Error, "await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308", "'await' expressions are only allowed within async functions and at the top levels of modules."), Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern: diag(1312, ts.DiagnosticCategory.Error, "Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312", "Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."), @@ -8347,7 +8518,6 @@ var ts; Unexpected_token_Did_you_mean_or_rbrace: diag(1381, ts.DiagnosticCategory.Error, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `}`?"), Unexpected_token_Did_you_mean_or_gt: diag(1382, ts.DiagnosticCategory.Error, "Unexpected_token_Did_you_mean_or_gt_1382", "Unexpected token. Did you mean `{'>'}` or `>`?"), Only_named_exports_may_use_export_type: diag(1383, ts.DiagnosticCategory.Error, "Only_named_exports_may_use_export_type_1383", "Only named exports may use 'export type'."), - A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list: diag(1384, ts.DiagnosticCategory.Error, "A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384", "A 'new' expression with type arguments must always be followed by a parenthesized argument list."), Function_type_notation_must_be_parenthesized_when_used_in_a_union_type: diag(1385, ts.DiagnosticCategory.Error, "Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385", "Function type notation must be parenthesized when used in a union type."), Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type: diag(1386, ts.DiagnosticCategory.Error, "Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386", "Constructor type notation must be parenthesized when used in a union type."), Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type: diag(1387, ts.DiagnosticCategory.Error, "Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387", "Function type notation must be parenthesized when used in an intersection type."), @@ -8412,11 +8582,18 @@ var ts; Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: diag(1449, ts.DiagnosticCategory.Message, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."), Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments: diag(1450, ts.DiagnosticCategory.Message, "Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450", "Dynamic imports can only accept a module specifier and an optional assertion as arguments"), Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: diag(1451, ts.DiagnosticCategory.Error, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"), + Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext_1452", "Resolution modes are only supported when `moduleResolution` is `node12` or `nodenext`."), + resolution_mode_should_be_either_require_or_import: diag(1453, ts.DiagnosticCategory.Error, "resolution_mode_should_be_either_require_or_import_1453", "`resolution-mode` should be either `require` or `import`."), + resolution_mode_can_only_be_set_for_type_only_imports: diag(1454, ts.DiagnosticCategory.Error, "resolution_mode_can_only_be_set_for_type_only_imports_1454", "`resolution-mode` can only be set for type-only imports."), + resolution_mode_is_the_only_valid_key_for_type_import_assertions: diag(1455, ts.DiagnosticCategory.Error, "resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455", "`resolution-mode` is the only valid key for type import assertions."), + Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require: diag(1456, ts.DiagnosticCategory.Error, "Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456", "Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."), The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output: diag(1470, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470", "The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."), Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead: diag(1471, ts.DiagnosticCategory.Error, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported synchronously. Use dynamic import instead."), catch_or_finally_expected: diag(1472, ts.DiagnosticCategory.Error, "catch_or_finally_expected_1472", "'catch' or 'finally' expected."), An_import_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1473, ts.DiagnosticCategory.Error, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473", "An import declaration can only be used at the top level of a module."), An_export_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1474, ts.DiagnosticCategory.Error, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474", "An export declaration can only be used at the top level of a module."), + Control_what_method_is_used_to_detect_module_format_JS_files: diag(1475, ts.DiagnosticCategory.Message, "Control_what_method_is_used_to_detect_module_format_JS_files_1475", "Control what method is used to detect module-format JS files."), + auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node12_as_modules: diag(1476, ts.DiagnosticCategory.Message, "auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476", "\"auto\": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node12+) as modules."), The_types_of_0_are_incompatible_between_these_types: diag(2200, ts.DiagnosticCategory.Error, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."), The_types_returned_by_0_are_incompatible_between_these_types: diag(2201, ts.DiagnosticCategory.Error, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."), Call_signature_return_types_0_and_1_are_incompatible: diag(2202, ts.DiagnosticCategory.Error, "Call_signature_return_types_0_and_1_are_incompatible_2202", "Call signature return types '{0}' and '{1}' are incompatible.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), @@ -8425,6 +8602,7 @@ var ts; Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: diag(2205, ts.DiagnosticCategory.Error, "Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205", "Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement: diag(2206, ts.DiagnosticCategory.Error, "The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206", "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."), The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement: diag(2207, ts.DiagnosticCategory.Error, "The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207", "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."), + This_type_parameter_probably_needs_an_extends_object_constraint: diag(2208, ts.DiagnosticCategory.Error, "This_type_parameter_probably_needs_an_extends_object_constraint_2208", "This type parameter probably needs an `extends object` constraint."), Duplicate_identifier_0: diag(2300, ts.DiagnosticCategory.Error, "Duplicate_identifier_0_2300", "Duplicate identifier '{0}'."), Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: diag(2301, ts.DiagnosticCategory.Error, "Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301", "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), Static_members_cannot_reference_class_type_parameters: diag(2302, ts.DiagnosticCategory.Error, "Static_members_cannot_reference_class_type_parameters_2302", "Static members cannot reference class type parameters."), @@ -8731,6 +8909,8 @@ var ts; Cannot_assign_to_0_because_it_is_an_import: diag(2632, ts.DiagnosticCategory.Error, "Cannot_assign_to_0_because_it_is_an_import_2632", "Cannot assign to '{0}' because it is an import."), JSX_property_access_expressions_cannot_include_JSX_namespace_names: diag(2633, ts.DiagnosticCategory.Error, "JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633", "JSX property access expressions cannot include JSX namespace names"), _0_index_signatures_are_incompatible: diag(2634, ts.DiagnosticCategory.Error, "_0_index_signatures_are_incompatible_2634", "'{0}' index signatures are incompatible."), + Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable: diag(2635, ts.DiagnosticCategory.Error, "Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635", "Type '{0}' has no signatures for which the type argument list is applicable."), + Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation: diag(2636, ts.DiagnosticCategory.Error, "Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636", "Type '{0}' is not assignable to type '{1}' as implied by variance annotation."), Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity: diag(2649, ts.DiagnosticCategory.Error, "Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649", "Cannot augment module '{0}' with value exports because it resolves to a non-module entity."), A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: diag(2651, ts.DiagnosticCategory.Error, "A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651", "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."), Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: diag(2652, ts.DiagnosticCategory.Error, "Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652", "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."), @@ -8903,6 +9083,7 @@ var ts; Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0: diag(2835, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Did you mean '{0}'?"), Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."), Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."), + All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -9220,7 +9401,6 @@ var ts; Command_line_Options: diag(6171, ts.DiagnosticCategory.Message, "Command_line_Options_6171", "Command-line Options"), Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3: diag(6179, ts.DiagnosticCategory.Message, "Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179", "Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."), Enable_all_strict_type_checking_options: diag(6180, ts.DiagnosticCategory.Message, "Enable_all_strict_type_checking_options_6180", "Enable all strict type-checking options."), - List_of_language_service_plugins: diag(6181, ts.DiagnosticCategory.Message, "List_of_language_service_plugins_6181", "List of language service plugins."), Scoped_package_detected_looking_in_0: diag(6182, ts.DiagnosticCategory.Message, "Scoped_package_detected_looking_in_0_6182", "Scoped package detected, looking in '{0}'"), Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2: diag(6183, ts.DiagnosticCategory.Message, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183", "Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."), Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3: diag(6184, ts.DiagnosticCategory.Message, "Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184", "Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."), @@ -9327,7 +9507,7 @@ var ts; Skipping_build_of_project_0_because_its_dependency_1_has_errors: diag(6362, ts.DiagnosticCategory.Message, "Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362", "Skipping build of project '{0}' because its dependency '{1}' has errors"), Project_0_can_t_be_built_because_its_dependency_1_has_errors: diag(6363, ts.DiagnosticCategory.Message, "Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363", "Project '{0}' can't be built because its dependency '{1}' has errors"), Build_one_or_more_projects_and_their_dependencies_if_out_of_date: diag(6364, ts.DiagnosticCategory.Message, "Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364", "Build one or more projects and their dependencies, if out of date"), - Delete_the_outputs_of_all_projects: diag(6365, ts.DiagnosticCategory.Message, "Delete_the_outputs_of_all_projects_6365", "Delete the outputs of all projects"), + Delete_the_outputs_of_all_projects: diag(6365, ts.DiagnosticCategory.Message, "Delete_the_outputs_of_all_projects_6365", "Delete the outputs of all projects."), Show_what_would_be_built_or_deleted_if_specified_with_clean: diag(6367, ts.DiagnosticCategory.Message, "Show_what_would_be_built_or_deleted_if_specified_with_clean_6367", "Show what would be built (or deleted, if specified with '--clean')"), Option_build_must_be_the_first_command_line_argument: diag(6369, ts.DiagnosticCategory.Error, "Option_build_must_be_the_first_command_line_argument_6369", "Option '--build' must be the first command line argument."), Options_0_and_1_cannot_be_combined: diag(6370, ts.DiagnosticCategory.Error, "Options_0_and_1_cannot_be_combined_6370", "Options '{0}' and '{1}' cannot be combined."), @@ -9338,7 +9518,6 @@ var ts; A_non_dry_build_would_update_output_of_project_0: diag(6375, ts.DiagnosticCategory.Message, "A_non_dry_build_would_update_output_of_project_0_6375", "A non-dry build would update output of project '{0}'"), Cannot_update_output_of_project_0_because_there_was_error_reading_file_1: diag(6376, ts.DiagnosticCategory.Message, "Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376", "Cannot update output of project '{0}' because there was error reading file '{1}'"), Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1: diag(6377, ts.DiagnosticCategory.Error, "Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377", "Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"), - Enable_incremental_compilation: diag(6378, ts.DiagnosticCategory.Message, "Enable_incremental_compilation_6378", "Enable incremental compilation"), Composite_projects_may_not_disable_incremental_compilation: diag(6379, ts.DiagnosticCategory.Error, "Composite_projects_may_not_disable_incremental_compilation_6379", "Composite projects may not disable incremental compilation."), Specify_file_to_store_incremental_compilation_information: diag(6380, ts.DiagnosticCategory.Message, "Specify_file_to_store_incremental_compilation_information_6380", "Specify file to store incremental compilation information"), Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2: diag(6381, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381", "Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"), @@ -9366,13 +9545,13 @@ var ts; File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option: diag(6504, ts.DiagnosticCategory.Error, "File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504", "File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"), Print_names_of_files_and_the_reason_they_are_part_of_the_compilation: diag(6505, ts.DiagnosticCategory.Message, "Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505", "Print names of files and the reason they are part of the compilation."), Consider_adding_a_declare_modifier_to_this_class: diag(6506, ts.DiagnosticCategory.Message, "Consider_adding_a_declare_modifier_to_this_class_6506", "Consider adding a 'declare' modifier to this class."), - Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files: diag(6600, ts.DiagnosticCategory.Message, "Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600", "Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files."), + Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files: diag(6600, ts.DiagnosticCategory.Message, "Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600", "Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."), Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export: diag(6601, ts.DiagnosticCategory.Message, "Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601", "Allow 'import x from y' when a module doesn't have a default export."), Allow_accessing_UMD_globals_from_modules: diag(6602, ts.DiagnosticCategory.Message, "Allow_accessing_UMD_globals_from_modules_6602", "Allow accessing UMD globals from modules."), Disable_error_reporting_for_unreachable_code: diag(6603, ts.DiagnosticCategory.Message, "Disable_error_reporting_for_unreachable_code_6603", "Disable error reporting for unreachable code."), Disable_error_reporting_for_unused_labels: diag(6604, ts.DiagnosticCategory.Message, "Disable_error_reporting_for_unused_labels_6604", "Disable error reporting for unused labels."), Ensure_use_strict_is_always_emitted: diag(6605, ts.DiagnosticCategory.Message, "Ensure_use_strict_is_always_emitted_6605", "Ensure 'use strict' is always emitted."), - Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: diag(6606, ts.DiagnosticCategory.Message, "Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606", "Have recompiles in projects that use `incremental` and `watch` mode assume that changes within a file will only affect files directly depending on it."), + Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it: diag(6606, ts.DiagnosticCategory.Message, "Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606", "Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."), Specify_the_base_directory_to_resolve_non_relative_module_names: diag(6607, ts.DiagnosticCategory.Message, "Specify_the_base_directory_to_resolve_non_relative_module_names_6607", "Specify the base directory to resolve non-relative module names."), No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files: diag(6608, ts.DiagnosticCategory.Message, "No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608", "No longer supported. In early versions, manually set the text encoding for reading files."), Enable_error_reporting_in_type_checked_JavaScript_files: diag(6609, ts.DiagnosticCategory.Message, "Enable_error_reporting_in_type_checked_JavaScript_files_6609", "Enable error reporting in type-checked JavaScript files."), @@ -9385,13 +9564,13 @@ var ts; Reduce_the_number_of_projects_loaded_automatically_by_TypeScript: diag(6617, ts.DiagnosticCategory.Message, "Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617", "Reduce the number of projects loaded automatically by TypeScript."), Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server: diag(6618, ts.DiagnosticCategory.Message, "Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618", "Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."), Opt_a_project_out_of_multi_project_reference_checking_when_editing: diag(6619, ts.DiagnosticCategory.Message, "Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619", "Opt a project out of multi-project reference checking when editing."), - Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects: diag(6620, ts.DiagnosticCategory.Message, "Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620", "Disable preferring source files instead of declaration files when referencing composite projects"), + Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects: diag(6620, ts.DiagnosticCategory.Message, "Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620", "Disable preferring source files instead of declaration files when referencing composite projects."), Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration: diag(6621, ts.DiagnosticCategory.Message, "Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621", "Emit more compliant, but verbose and less performant JavaScript for iteration."), Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files: diag(6622, ts.DiagnosticCategory.Message, "Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622", "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."), Only_output_d_ts_files_and_not_JavaScript_files: diag(6623, ts.DiagnosticCategory.Message, "Only_output_d_ts_files_and_not_JavaScript_files_6623", "Only output d.ts files and not JavaScript files."), Emit_design_type_metadata_for_decorated_declarations_in_source_files: diag(6624, ts.DiagnosticCategory.Message, "Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624", "Emit design-type metadata for decorated declarations in source files."), Disable_the_type_acquisition_for_JavaScript_projects: diag(6625, ts.DiagnosticCategory.Message, "Disable_the_type_acquisition_for_JavaScript_projects_6625", "Disable the type acquisition for JavaScript projects"), - Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility: diag(6626, ts.DiagnosticCategory.Message, "Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626", "Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility."), + Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility: diag(6626, ts.DiagnosticCategory.Message, "Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626", "Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."), Filters_results_from_the_include_option: diag(6627, ts.DiagnosticCategory.Message, "Filters_results_from_the_include_option_6627", "Filters results from the `include` option."), Remove_a_list_of_directories_from_the_watch_process: diag(6628, ts.DiagnosticCategory.Message, "Remove_a_list_of_directories_from_the_watch_process_6628", "Remove a list of directories from the watch process."), Remove_a_list_of_files_from_the_watch_mode_s_processing: diag(6629, ts.DiagnosticCategory.Message, "Remove_a_list_of_files_from_the_watch_mode_s_processing_6629", "Remove a list of files from the watch mode's processing."), @@ -9401,7 +9580,7 @@ var ts; Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited: diag(6633, ts.DiagnosticCategory.Message, "Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633", "Specify one or more path or node module references to base configuration files from which settings are inherited."), Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers: diag(6634, ts.DiagnosticCategory.Message, "Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634", "Specify what approach the watcher should use if the system runs out of native file watchers."), Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include: diag(6635, ts.DiagnosticCategory.Message, "Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635", "Include a list of files. This does not support glob patterns, as opposed to `include`."), - Build_all_projects_including_those_that_appear_to_be_up_to_date: diag(6636, ts.DiagnosticCategory.Message, "Build_all_projects_including_those_that_appear_to_be_up_to_date_6636", "Build all projects, including those that appear to be up to date"), + Build_all_projects_including_those_that_appear_to_be_up_to_date: diag(6636, ts.DiagnosticCategory.Message, "Build_all_projects_including_those_that_appear_to_be_up_to_date_6636", "Build all projects, including those that appear to be up to date."), Ensure_that_casing_is_correct_in_imports: diag(6637, ts.DiagnosticCategory.Message, "Ensure_that_casing_is_correct_in_imports_6637", "Ensure that casing is correct in imports."), Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging: diag(6638, ts.DiagnosticCategory.Message, "Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638", "Emit a v8 CPU profile of the compiler run for debugging."), Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file: diag(6639, ts.DiagnosticCategory.Message, "Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639", "Allow importing helper functions from tslib once per project, instead of including them per-file."), @@ -9411,77 +9590,76 @@ var ts; Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript: diag(6644, ts.DiagnosticCategory.Message, "Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644", "Include source code in the sourcemaps inside the emitted JavaScript."), Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports: diag(6645, ts.DiagnosticCategory.Message, "Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645", "Ensure that each file can be safely transpiled without relying on other imports."), Specify_what_JSX_code_is_generated: diag(6646, ts.DiagnosticCategory.Message, "Specify_what_JSX_code_is_generated_6646", "Specify what JSX code is generated."), - Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h: diag(6647, ts.DiagnosticCategory.Message, "Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647", "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'"), + Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h: diag(6647, ts.DiagnosticCategory.Message, "Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647", "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."), Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment: diag(6648, ts.DiagnosticCategory.Message, "Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648", "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."), - Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk: diag(6649, ts.DiagnosticCategory.Message, "Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649", "Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.`"), + Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk: diag(6649, ts.DiagnosticCategory.Message, "Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649", "Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."), Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option: diag(6650, ts.DiagnosticCategory.Message, "Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650", "Make keyof only return strings instead of string, numbers or symbols. Legacy option."), Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment: diag(6651, ts.DiagnosticCategory.Message, "Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651", "Specify a set of bundled library declaration files that describe the target runtime environment."), Print_the_names_of_emitted_files_after_a_compilation: diag(6652, ts.DiagnosticCategory.Message, "Print_the_names_of_emitted_files_after_a_compilation_6652", "Print the names of emitted files after a compilation."), Print_all_of_the_files_read_during_the_compilation: diag(6653, ts.DiagnosticCategory.Message, "Print_all_of_the_files_read_during_the_compilation_6653", "Print all of the files read during the compilation."), Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit: diag(6654, ts.DiagnosticCategory.Message, "Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654", "Set the language of the messaging from TypeScript. This does not affect emit."), Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: diag(6655, ts.DiagnosticCategory.Message, "Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655", "Specify the location where debugger should locate map files instead of generated locations."), - Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs: diag(6656, ts.DiagnosticCategory.Message, "Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656", "Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`."), + Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs: diag(6656, ts.DiagnosticCategory.Message, "Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656", "Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."), Specify_what_module_code_is_generated: diag(6657, ts.DiagnosticCategory.Message, "Specify_what_module_code_is_generated_6657", "Specify what module code is generated."), Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier: diag(6658, ts.DiagnosticCategory.Message, "Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658", "Specify how TypeScript looks up a file from a given module specifier."), Set_the_newline_character_for_emitting_files: diag(6659, ts.DiagnosticCategory.Message, "Set_the_newline_character_for_emitting_files_6659", "Set the newline character for emitting files."), Disable_emitting_files_from_a_compilation: diag(6660, ts.DiagnosticCategory.Message, "Disable_emitting_files_from_a_compilation_6660", "Disable emitting files from a compilation."), - Disable_generating_custom_helper_functions_like_extends_in_compiled_output: diag(6661, ts.DiagnosticCategory.Message, "Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661", "Disable generating custom helper functions like `__extends` in compiled output."), + Disable_generating_custom_helper_functions_like_extends_in_compiled_output: diag(6661, ts.DiagnosticCategory.Message, "Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661", "Disable generating custom helper functions like '__extends' in compiled output."), Disable_emitting_files_if_any_type_checking_errors_are_reported: diag(6662, ts.DiagnosticCategory.Message, "Disable_emitting_files_if_any_type_checking_errors_are_reported_6662", "Disable emitting files if any type checking errors are reported."), Disable_truncating_types_in_error_messages: diag(6663, ts.DiagnosticCategory.Message, "Disable_truncating_types_in_error_messages_6663", "Disable truncating types in error messages."), Enable_error_reporting_for_fallthrough_cases_in_switch_statements: diag(6664, ts.DiagnosticCategory.Message, "Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664", "Enable error reporting for fallthrough cases in switch statements."), - Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type: diag(6665, ts.DiagnosticCategory.Message, "Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665", "Enable error reporting for expressions and declarations with an implied `any` type.."), + Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type: diag(6665, ts.DiagnosticCategory.Message, "Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665", "Enable error reporting for expressions and declarations with an implied 'any' type."), Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier: diag(6666, ts.DiagnosticCategory.Message, "Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666", "Ensure overriding members in derived classes are marked with an override modifier."), Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function: diag(6667, ts.DiagnosticCategory.Message, "Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667", "Enable error reporting for codepaths that do not explicitly return in a function."), - Enable_error_reporting_when_this_is_given_the_type_any: diag(6668, ts.DiagnosticCategory.Message, "Enable_error_reporting_when_this_is_given_the_type_any_6668", "Enable error reporting when `this` is given the type `any`."), + Enable_error_reporting_when_this_is_given_the_type_any: diag(6668, ts.DiagnosticCategory.Message, "Enable_error_reporting_when_this_is_given_the_type_any_6668", "Enable error reporting when 'this' is given the type 'any'."), Disable_adding_use_strict_directives_in_emitted_JavaScript_files: diag(6669, ts.DiagnosticCategory.Message, "Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669", "Disable adding 'use strict' directives in emitted JavaScript files."), Disable_including_any_library_files_including_the_default_lib_d_ts: diag(6670, ts.DiagnosticCategory.Message, "Disable_including_any_library_files_including_the_default_lib_d_ts_6670", "Disable including any library files, including the default lib.d.ts."), - Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type: diag(6671, ts.DiagnosticCategory.Message, "Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671", "Enforces using indexed accessors for keys declared using an indexed type"), - Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project: diag(6672, ts.DiagnosticCategory.Message, "Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672", "Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project."), + Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type: diag(6671, ts.DiagnosticCategory.Message, "Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671", "Enforces using indexed accessors for keys declared using an indexed type."), + Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project: diag(6672, ts.DiagnosticCategory.Message, "Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672", "Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."), Disable_strict_checking_of_generic_signatures_in_function_types: diag(6673, ts.DiagnosticCategory.Message, "Disable_strict_checking_of_generic_signatures_in_function_types_6673", "Disable strict checking of generic signatures in function types."), - Add_undefined_to_a_type_when_accessed_using_an_index: diag(6674, ts.DiagnosticCategory.Message, "Add_undefined_to_a_type_when_accessed_using_an_index_6674", "Add `undefined` to a type when accessed using an index."), - Enable_error_reporting_when_a_local_variables_aren_t_read: diag(6675, ts.DiagnosticCategory.Message, "Enable_error_reporting_when_a_local_variables_aren_t_read_6675", "Enable error reporting when a local variables aren't read."), - Raise_an_error_when_a_function_parameter_isn_t_read: diag(6676, ts.DiagnosticCategory.Message, "Raise_an_error_when_a_function_parameter_isn_t_read_6676", "Raise an error when a function parameter isn't read"), - Deprecated_setting_Use_outFile_instead: diag(6677, ts.DiagnosticCategory.Message, "Deprecated_setting_Use_outFile_instead_6677", "Deprecated setting. Use `outFile` instead."), + Add_undefined_to_a_type_when_accessed_using_an_index: diag(6674, ts.DiagnosticCategory.Message, "Add_undefined_to_a_type_when_accessed_using_an_index_6674", "Add 'undefined' to a type when accessed using an index."), + Enable_error_reporting_when_local_variables_aren_t_read: diag(6675, ts.DiagnosticCategory.Message, "Enable_error_reporting_when_local_variables_aren_t_read_6675", "Enable error reporting when local variables aren't read."), + Raise_an_error_when_a_function_parameter_isn_t_read: diag(6676, ts.DiagnosticCategory.Message, "Raise_an_error_when_a_function_parameter_isn_t_read_6676", "Raise an error when a function parameter isn't read."), + Deprecated_setting_Use_outFile_instead: diag(6677, ts.DiagnosticCategory.Message, "Deprecated_setting_Use_outFile_instead_6677", "Deprecated setting. Use 'outFile' instead."), Specify_an_output_folder_for_all_emitted_files: diag(6678, ts.DiagnosticCategory.Message, "Specify_an_output_folder_for_all_emitted_files_6678", "Specify an output folder for all emitted files."), - Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output: diag(6679, ts.DiagnosticCategory.Message, "Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679", "Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output."), + Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output: diag(6679, ts.DiagnosticCategory.Message, "Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679", "Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."), Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations: diag(6680, ts.DiagnosticCategory.Message, "Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680", "Specify a set of entries that re-map imports to additional lookup locations."), Specify_a_list_of_language_service_plugins_to_include: diag(6681, ts.DiagnosticCategory.Message, "Specify_a_list_of_language_service_plugins_to_include_6681", "Specify a list of language service plugins to include."), - Disable_erasing_const_enum_declarations_in_generated_code: diag(6682, ts.DiagnosticCategory.Message, "Disable_erasing_const_enum_declarations_in_generated_code_6682", "Disable erasing `const enum` declarations in generated code."), + Disable_erasing_const_enum_declarations_in_generated_code: diag(6682, ts.DiagnosticCategory.Message, "Disable_erasing_const_enum_declarations_in_generated_code_6682", "Disable erasing 'const enum' declarations in generated code."), Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node: diag(6683, ts.DiagnosticCategory.Message, "Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683", "Disable resolving symlinks to their realpath. This correlates to the same flag in node."), - Disable_wiping_the_console_in_watch_mode: diag(6684, ts.DiagnosticCategory.Message, "Disable_wiping_the_console_in_watch_mode_6684", "Disable wiping the console in watch mode"), - Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read: diag(6685, ts.DiagnosticCategory.Message, "Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685", "Enable color and formatting in TypeScript's output to make compiler errors easier to read"), - Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit: diag(6686, ts.DiagnosticCategory.Message, "Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686", "Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit."), + Disable_wiping_the_console_in_watch_mode: diag(6684, ts.DiagnosticCategory.Message, "Disable_wiping_the_console_in_watch_mode_6684", "Disable wiping the console in watch mode."), + Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read: diag(6685, ts.DiagnosticCategory.Message, "Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685", "Enable color and formatting in TypeScript's output to make compiler errors easier to read."), + Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit: diag(6686, ts.DiagnosticCategory.Message, "Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686", "Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."), Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references: diag(6687, ts.DiagnosticCategory.Message, "Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687", "Specify an array of objects that specify paths for projects. Used in project references."), Disable_emitting_comments: diag(6688, ts.DiagnosticCategory.Message, "Disable_emitting_comments_6688", "Disable emitting comments."), - Enable_importing_json_files: diag(6689, ts.DiagnosticCategory.Message, "Enable_importing_json_files_6689", "Enable importing .json files"), + Enable_importing_json_files: diag(6689, ts.DiagnosticCategory.Message, "Enable_importing_json_files_6689", "Enable importing .json files."), Specify_the_root_folder_within_your_source_files: diag(6690, ts.DiagnosticCategory.Message, "Specify_the_root_folder_within_your_source_files_6690", "Specify the root folder within your source files."), Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules: diag(6691, ts.DiagnosticCategory.Message, "Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691", "Allow multiple folders to be treated as one when resolving modules."), Skip_type_checking_d_ts_files_that_are_included_with_TypeScript: diag(6692, ts.DiagnosticCategory.Message, "Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692", "Skip type checking .d.ts files that are included with TypeScript."), Skip_type_checking_all_d_ts_files: diag(6693, ts.DiagnosticCategory.Message, "Skip_type_checking_all_d_ts_files_6693", "Skip type checking all .d.ts files."), Create_source_map_files_for_emitted_JavaScript_files: diag(6694, ts.DiagnosticCategory.Message, "Create_source_map_files_for_emitted_JavaScript_files_6694", "Create source map files for emitted JavaScript files."), Specify_the_root_path_for_debuggers_to_find_the_reference_source_code: diag(6695, ts.DiagnosticCategory.Message, "Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695", "Specify the root path for debuggers to find the reference source code."), - Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function: diag(6697, ts.DiagnosticCategory.Message, "Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697", "Check that the arguments for `bind`, `call`, and `apply` methods match the original function."), + Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function: diag(6697, ts.DiagnosticCategory.Message, "Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697", "Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."), When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible: diag(6698, ts.DiagnosticCategory.Message, "When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698", "When assigning functions, check to ensure parameters and the return values are subtype-compatible."), - When_type_checking_take_into_account_null_and_undefined: diag(6699, ts.DiagnosticCategory.Message, "When_type_checking_take_into_account_null_and_undefined_6699", "When type checking, take into account `null` and `undefined`."), + When_type_checking_take_into_account_null_and_undefined: diag(6699, ts.DiagnosticCategory.Message, "When_type_checking_take_into_account_null_and_undefined_6699", "When type checking, take into account 'null' and 'undefined'."), Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor: diag(6700, ts.DiagnosticCategory.Message, "Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700", "Check for class properties that are declared but not set in the constructor."), - Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments: diag(6701, ts.DiagnosticCategory.Message, "Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701", "Disable emitting declarations that have `@internal` in their JSDoc comments."), + Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments: diag(6701, ts.DiagnosticCategory.Message, "Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701", "Disable emitting declarations that have '@internal' in their JSDoc comments."), Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals: diag(6702, ts.DiagnosticCategory.Message, "Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702", "Disable reporting of excess property errors during the creation of object literals."), - Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures: diag(6703, ts.DiagnosticCategory.Message, "Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703", "Suppress `noImplicitAny` errors when indexing objects that lack index signatures."), + Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures: diag(6703, ts.DiagnosticCategory.Message, "Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703", "Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."), Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively: diag(6704, ts.DiagnosticCategory.Message, "Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704", "Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."), Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations: diag(6705, ts.DiagnosticCategory.Message, "Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705", "Set the JavaScript language version for emitted JavaScript and include compatible library declarations."), - Log_paths_used_during_the_moduleResolution_process: diag(6706, ts.DiagnosticCategory.Message, "Log_paths_used_during_the_moduleResolution_process_6706", "Log paths used during the `moduleResolution` process."), - Specify_the_folder_for_tsbuildinfo_incremental_compilation_files: diag(6707, ts.DiagnosticCategory.Message, "Specify_the_folder_for_tsbuildinfo_incremental_compilation_files_6707", "Specify the folder for .tsbuildinfo incremental compilation files."), + Log_paths_used_during_the_moduleResolution_process: diag(6706, ts.DiagnosticCategory.Message, "Log_paths_used_during_the_moduleResolution_process_6706", "Log paths used during the 'moduleResolution' process."), + Specify_the_path_to_tsbuildinfo_incremental_compilation_file: diag(6707, ts.DiagnosticCategory.Message, "Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707", "Specify the path to .tsbuildinfo incremental compilation file."), Specify_options_for_automatic_acquisition_of_declaration_files: diag(6709, ts.DiagnosticCategory.Message, "Specify_options_for_automatic_acquisition_of_declaration_files_6709", "Specify options for automatic acquisition of declaration files."), - Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types: diag(6710, ts.DiagnosticCategory.Message, "Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710", "Specify multiple folders that act like `./node_modules/@types`."), + Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types: diag(6710, ts.DiagnosticCategory.Message, "Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710", "Specify multiple folders that act like './node_modules/@types'."), Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file: diag(6711, ts.DiagnosticCategory.Message, "Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711", "Specify type package names to be included without being referenced in a source file."), Emit_ECMAScript_standard_compliant_class_fields: diag(6712, ts.DiagnosticCategory.Message, "Emit_ECMAScript_standard_compliant_class_fields_6712", "Emit ECMAScript-standard-compliant class fields."), - Enable_verbose_logging: diag(6713, ts.DiagnosticCategory.Message, "Enable_verbose_logging_6713", "Enable verbose logging"), + Enable_verbose_logging: diag(6713, ts.DiagnosticCategory.Message, "Enable_verbose_logging_6713", "Enable verbose logging."), Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality: diag(6714, ts.DiagnosticCategory.Message, "Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714", "Specify how directories are watched on systems that lack recursive file-watching functionality."), Specify_how_the_TypeScript_watch_mode_works: diag(6715, ts.DiagnosticCategory.Message, "Specify_how_the_TypeScript_watch_mode_works_6715", "Specify how the TypeScript watch mode works."), - Include_undefined_in_index_signature_results: diag(6716, ts.DiagnosticCategory.Message, "Include_undefined_in_index_signature_results_6716", "Include 'undefined' in index signature results"), Require_undeclared_properties_from_index_signatures_to_use_element_accesses: diag(6717, ts.DiagnosticCategory.Message, "Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717", "Require undeclared properties from index signatures to use element accesses."), - Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, ts.DiagnosticCategory.Message, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types"), - Type_catch_clause_variables_as_unknown_instead_of_any: diag(6803, ts.DiagnosticCategory.Message, "Type_catch_clause_variables_as_unknown_instead_of_any_6803", "Type catch clause variables as 'unknown' instead of 'any'."), + Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types: diag(6718, ts.DiagnosticCategory.Message, "Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718", "Specify emit/checking behavior for imports that are only used for types."), + Default_catch_clause_variables_as_unknown_instead_of_any: diag(6803, ts.DiagnosticCategory.Message, "Default_catch_clause_variables_as_unknown_instead_of_any_6803", "Default catch clause variables as 'unknown' instead of 'any'."), one_of_Colon: diag(6900, ts.DiagnosticCategory.Message, "one_of_Colon_6900", "one of:"), one_or_more_Colon: diag(6901, ts.DiagnosticCategory.Message, "one_or_more_Colon_6901", "one or more:"), type_Colon: diag(6902, ts.DiagnosticCategory.Message, "type_Colon_6902", "type:"), @@ -9513,6 +9691,7 @@ var ts; An_expanded_version_of_this_information_showing_all_possible_compiler_options: diag(6928, ts.DiagnosticCategory.Message, "An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928", "An expanded version of this information, showing all possible compiler options"), Compiles_the_current_project_with_additional_settings: diag(6929, ts.DiagnosticCategory.Message, "Compiles_the_current_project_with_additional_settings_6929", "Compiles the current project, with additional settings."), true_for_ES2022_and_above_including_ESNext: diag(6930, ts.DiagnosticCategory.Message, "true_for_ES2022_and_above_including_ESNext_6930", "`true` for ES2022 and above, including ESNext."), + List_of_file_name_suffixes_to_search_when_resolving_a_module: diag(6931, ts.DiagnosticCategory.Error, "List_of_file_name_suffixes_to_search_when_resolving_a_module_6931", "List of file name suffixes to search when resolving a module."), Variable_0_implicitly_has_an_1_type: diag(7005, ts.DiagnosticCategory.Error, "Variable_0_implicitly_has_an_1_type_7005", "Variable '{0}' implicitly has an '{1}' type."), Parameter_0_implicitly_has_an_1_type: diag(7006, ts.DiagnosticCategory.Error, "Parameter_0_implicitly_has_an_1_type_7006", "Parameter '{0}' implicitly has an '{1}' type."), Member_0_implicitly_has_an_1_type: diag(7008, ts.DiagnosticCategory.Error, "Member_0_implicitly_has_an_1_type_7008", "Member '{0}' implicitly has an '{1}' type."), @@ -9776,7 +9955,7 @@ var ts; Fix_all_implicit_this_errors: diag(95107, ts.DiagnosticCategory.Message, "Fix_all_implicit_this_errors_95107", "Fix all implicit-'this' errors"), Wrap_invalid_character_in_an_expression_container: diag(95108, ts.DiagnosticCategory.Message, "Wrap_invalid_character_in_an_expression_container_95108", "Wrap invalid character in an expression container"), Wrap_all_invalid_characters_in_an_expression_container: diag(95109, ts.DiagnosticCategory.Message, "Wrap_all_invalid_characters_in_an_expression_container_95109", "Wrap all invalid characters in an expression container"), - Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file: diag(95110, ts.DiagnosticCategory.Message, "Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110", "Visit https://aka.ms/tsconfig.json to read more about this file"), + Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file: diag(95110, ts.DiagnosticCategory.Message, "Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110", "Visit https://aka.ms/tsconfig to read more about this file"), Add_a_return_statement: diag(95111, ts.DiagnosticCategory.Message, "Add_a_return_statement_95111", "Add a return statement"), Remove_braces_from_arrow_function_body: diag(95112, ts.DiagnosticCategory.Message, "Remove_braces_from_arrow_function_body_95112", "Remove braces from arrow function body"), Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal: diag(95113, ts.DiagnosticCategory.Message, "Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113", "Wrap the following body with parentheses which should be an object literal"), @@ -9892,7 +10071,7 @@ var ts; as: 127 /* AsKeyword */, asserts: 128 /* AssertsKeyword */, assert: 129 /* AssertKeyword */, - bigint: 157 /* BigIntKeyword */, + bigint: 158 /* BigIntKeyword */, boolean: 133 /* BooleanKeyword */, break: 81 /* BreakKeyword */, case: 82 /* CaseKeyword */, @@ -9914,7 +10093,7 @@ var ts; _a.false = 95 /* FalseKeyword */, _a.finally = 96 /* FinallyKeyword */, _a.for = 97 /* ForKeyword */, - _a.from = 155 /* FromKeyword */, + _a.from = 156 /* FromKeyword */, _a.function = 98 /* FunctionKeyword */, _a.get = 136 /* GetKeyword */, _a.if = 99 /* IfKeyword */, @@ -9933,32 +10112,33 @@ var ts; _a.never = 143 /* NeverKeyword */, _a.new = 103 /* NewKeyword */, _a.null = 104 /* NullKeyword */, - _a.number = 146 /* NumberKeyword */, - _a.object = 147 /* ObjectKeyword */, + _a.number = 147 /* NumberKeyword */, + _a.object = 148 /* ObjectKeyword */, _a.package = 120 /* PackageKeyword */, _a.private = 121 /* PrivateKeyword */, _a.protected = 122 /* ProtectedKeyword */, _a.public = 123 /* PublicKeyword */, - _a.override = 158 /* OverrideKeyword */, - _a.readonly = 144 /* ReadonlyKeyword */, - _a.require = 145 /* RequireKeyword */, - _a.global = 156 /* GlobalKeyword */, + _a.override = 159 /* OverrideKeyword */, + _a.out = 144 /* OutKeyword */, + _a.readonly = 145 /* ReadonlyKeyword */, + _a.require = 146 /* RequireKeyword */, + _a.global = 157 /* GlobalKeyword */, _a.return = 105 /* ReturnKeyword */, - _a.set = 148 /* SetKeyword */, + _a.set = 149 /* SetKeyword */, _a.static = 124 /* StaticKeyword */, - _a.string = 149 /* StringKeyword */, + _a.string = 150 /* StringKeyword */, _a.super = 106 /* SuperKeyword */, _a.switch = 107 /* SwitchKeyword */, - _a.symbol = 150 /* SymbolKeyword */, + _a.symbol = 151 /* SymbolKeyword */, _a.this = 108 /* ThisKeyword */, _a.throw = 109 /* ThrowKeyword */, _a.true = 110 /* TrueKeyword */, _a.try = 111 /* TryKeyword */, - _a.type = 151 /* TypeKeyword */, + _a.type = 152 /* TypeKeyword */, _a.typeof = 112 /* TypeOfKeyword */, - _a.undefined = 152 /* UndefinedKeyword */, - _a.unique = 153 /* UniqueKeyword */, - _a.unknown = 154 /* UnknownKeyword */, + _a.undefined = 153 /* UndefinedKeyword */, + _a.unique = 154 /* UniqueKeyword */, + _a.unknown = 155 /* UnknownKeyword */, _a.var = 113 /* VarKeyword */, _a.void = 114 /* VoidKeyword */, _a.while = 115 /* WhileKeyword */, @@ -9966,7 +10146,7 @@ var ts; _a.yield = 125 /* YieldKeyword */, _a.async = 131 /* AsyncKeyword */, _a.await = 132 /* AwaitKeyword */, - _a.of = 159 /* OfKeyword */, + _a.of = 160 /* OfKeyword */, _a); var textToKeyword = new ts.Map(ts.getEntries(ts.textToKeywordObj)); var textToToken = new ts.Map(ts.getEntries(__assign(__assign({}, ts.textToKeywordObj), { "{": 18 /* OpenBraceToken */, "}": 19 /* CloseBraceToken */, "(": 20 /* OpenParenToken */, ")": 21 /* CloseParenToken */, "[": 22 /* OpenBracketToken */, "]": 23 /* CloseBracketToken */, ".": 24 /* DotToken */, "...": 25 /* DotDotDotToken */, ";": 26 /* SemicolonToken */, ",": 27 /* CommaToken */, "<": 29 /* LessThanToken */, ">": 31 /* GreaterThanToken */, "<=": 32 /* LessThanEqualsToken */, ">=": 33 /* GreaterThanEqualsToken */, "==": 34 /* EqualsEqualsToken */, "!=": 35 /* ExclamationEqualsToken */, "===": 36 /* EqualsEqualsEqualsToken */, "!==": 37 /* ExclamationEqualsEqualsToken */, "=>": 38 /* EqualsGreaterThanToken */, "+": 39 /* PlusToken */, "-": 40 /* MinusToken */, "**": 42 /* AsteriskAsteriskToken */, "*": 41 /* AsteriskToken */, "/": 43 /* SlashToken */, "%": 44 /* PercentToken */, "++": 45 /* PlusPlusToken */, "--": 46 /* MinusMinusToken */, "<<": 47 /* LessThanLessThanToken */, ">": 48 /* GreaterThanGreaterThanToken */, ">>>": 49 /* GreaterThanGreaterThanGreaterThanToken */, "&": 50 /* AmpersandToken */, "|": 51 /* BarToken */, "^": 52 /* CaretToken */, "!": 53 /* ExclamationToken */, "~": 54 /* TildeToken */, "&&": 55 /* AmpersandAmpersandToken */, "||": 56 /* BarBarToken */, "?": 57 /* QuestionToken */, "??": 60 /* QuestionQuestionToken */, "?.": 28 /* QuestionDotToken */, ":": 58 /* ColonToken */, "=": 63 /* EqualsToken */, "+=": 64 /* PlusEqualsToken */, "-=": 65 /* MinusEqualsToken */, "*=": 66 /* AsteriskEqualsToken */, "**=": 67 /* AsteriskAsteriskEqualsToken */, "/=": 68 /* SlashEqualsToken */, "%=": 69 /* PercentEqualsToken */, "<<=": 70 /* LessThanLessThanEqualsToken */, ">>=": 71 /* GreaterThanGreaterThanEqualsToken */, ">>>=": 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */, "&=": 73 /* AmpersandEqualsToken */, "|=": 74 /* BarEqualsToken */, "^=": 78 /* CaretEqualsToken */, "||=": 75 /* BarBarEqualsToken */, "&&=": 76 /* AmpersandAmpersandEqualsToken */, "??=": 77 /* QuestionQuestionEqualsToken */, "@": 59 /* AtToken */, "#": 62 /* HashToken */, "`": 61 /* BacktickToken */ }))); @@ -10131,7 +10311,7 @@ var ts; line = line < 0 ? 0 : line >= lineStarts.length ? lineStarts.length - 1 : line; } else { - ts.Debug.fail("Bad line number. Line: ".concat(line, ", lineStarts.length: ").concat(lineStarts.length, " , line map is correct? ").concat(debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown")); + ts.Debug.fail("Bad line number. Line: " + line + ", lineStarts.length: " + lineStarts.length + " , line map is correct? " + (debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown")); } } var res = lineStarts[line] + character; @@ -12406,9 +12586,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 162 /* TypeParameter */) { + if (d && d.kind === 163 /* TypeParameter */) { for (var current = d; current; current = current.parent) { - if (isFunctionLike(current) || isClassLike(current) || current.kind === 257 /* InterfaceDeclaration */) { + if (isFunctionLike(current) || isClassLike(current) || current.kind === 258 /* InterfaceDeclaration */) { return current; } } @@ -12416,7 +12596,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node, parent) { - return ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */) && parent.kind === 170 /* Constructor */; + return ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */) && parent.kind === 171 /* Constructor */; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -12446,14 +12626,14 @@ var ts; node = walkUpBindingElementsAndPatterns(node); } var flags = getFlags(node); - if (node.kind === 253 /* VariableDeclaration */) { + if (node.kind === 254 /* VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 254 /* VariableDeclarationList */) { + if (node && node.kind === 255 /* VariableDeclarationList */) { flags |= getFlags(node); node = node.parent; } - if (node && node.kind === 236 /* VariableStatement */) { + if (node && node.kind === 237 /* VariableStatement */) { flags |= getFlags(node); } return flags; @@ -12626,30 +12806,30 @@ var ts; } // Covers remaining cases (returning undefined if none match). switch (hostNode.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } break; - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: var expr = hostNode.expression; - if (expr.kind === 220 /* BinaryExpression */ && expr.operatorToken.kind === 63 /* EqualsToken */) { + if (expr.kind === 221 /* BinaryExpression */ && expr.operatorToken.kind === 63 /* EqualsToken */) { expr = expr.left; } switch (expr.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return expr.name; - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; } } break; - case 211 /* ParenthesizedExpression */: { + case 212 /* ParenthesizedExpression */: { return getDeclarationIdentifier(hostNode.expression); } - case 249 /* LabeledStatement */: { + case 250 /* LabeledStatement */: { if (isDeclaration(hostNode.statement) || isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -12686,16 +12866,16 @@ var ts; switch (declaration.kind) { case 79 /* Identifier */: return declaration; - case 345 /* JSDocPropertyTag */: - case 338 /* JSDocParameterTag */: { + case 347 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: { var name = declaration.name; - if (name.kind === 160 /* QualifiedName */) { + if (name.kind === 161 /* QualifiedName */) { return name.right; } break; } - case 207 /* CallExpression */: - case 220 /* BinaryExpression */: { + case 208 /* CallExpression */: + case 221 /* BinaryExpression */: { var expr_1 = declaration; switch (ts.getAssignmentDeclarationKind(expr_1)) { case 1 /* ExportsProperty */: @@ -12711,15 +12891,15 @@ var ts; return undefined; } } - case 343 /* JSDocTypedefTag */: + case 345 /* JSDocTypedefTag */: return getNameOfJSDocTypedef(declaration); - case 337 /* JSDocEnumTag */: + case 339 /* JSDocEnumTag */: return nameForNamelessJSDocTypedef(declaration); - case 270 /* ExportAssignment */: { + case 271 /* ExportAssignment */: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: var expr = declaration; if (ts.isBindableStaticElementAccessExpression(expr)) { return expr.argumentExpression; @@ -13012,16 +13192,16 @@ var ts; /** Gets the text of a jsdoc comment, flattening links to their text. */ function getTextOfJSDocComment(comment) { return typeof comment === "string" ? comment - : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 319 /* JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); + : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 321 /* JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); } ts.getTextOfJSDocComment = getTextOfJSDocComment; function formatJSDocLink(link) { - var kind = link.kind === 322 /* JSDocLink */ ? "link" - : link.kind === 323 /* JSDocLinkCode */ ? "linkcode" + var kind = link.kind === 324 /* JSDocLink */ ? "link" + : link.kind === 325 /* JSDocLinkCode */ ? "linkcode" : "linkplain"; var name = link.name ? ts.entityNameToString(link.name) : ""; var space = link.name && link.text.startsWith("://") ? "" : " "; - return "{@".concat(kind, " ").concat(name).concat(space).concat(link.text, "}"); + return "{@" + kind + " " + name + space + link.text + "}"; } /** * Gets the effective type parameters. If the node was parsed in a @@ -13032,7 +13212,7 @@ var ts; return ts.emptyArray; } if (ts.isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 318 /* JSDocComment */); + ts.Debug.assert(node.parent.kind === 320 /* JSDoc */); return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } if (node.typeParameters) { @@ -13064,7 +13244,7 @@ var ts; ts.isMemberName = isMemberName; /* @internal */ function isGetOrSetAccessorDeclaration(node) { - return node.kind === 172 /* SetAccessor */ || node.kind === 171 /* GetAccessor */; + return node.kind === 173 /* SetAccessor */ || node.kind === 172 /* GetAccessor */; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; function isPropertyAccessChain(node) { @@ -13082,10 +13262,10 @@ var ts; function isOptionalChain(node) { var kind = node.kind; return !!(node.flags & 32 /* OptionalChain */) && - (kind === 205 /* PropertyAccessExpression */ - || kind === 206 /* ElementAccessExpression */ - || kind === 207 /* CallExpression */ - || kind === 229 /* NonNullExpression */); + (kind === 206 /* PropertyAccessExpression */ + || kind === 207 /* ElementAccessExpression */ + || kind === 208 /* CallExpression */ + || kind === 230 /* NonNullExpression */); } ts.isOptionalChain = isOptionalChain; /* @internal */ @@ -13120,7 +13300,7 @@ var ts; } ts.isOutermostOptionalChain = isOutermostOptionalChain; function isNullishCoalesce(node) { - return node.kind === 220 /* BinaryExpression */ && node.operatorToken.kind === 60 /* QuestionQuestionToken */; + return node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 60 /* QuestionQuestionToken */; } ts.isNullishCoalesce = isNullishCoalesce; function isConstTypeReference(node) { @@ -13137,17 +13317,17 @@ var ts; } ts.isNonNullChain = isNonNullChain; function isBreakOrContinueStatement(node) { - return node.kind === 245 /* BreakStatement */ || node.kind === 244 /* ContinueStatement */; + return node.kind === 246 /* BreakStatement */ || node.kind === 245 /* ContinueStatement */; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isNamedExportBindings(node) { - return node.kind === 273 /* NamespaceExport */ || node.kind === 272 /* NamedExports */; + return node.kind === 274 /* NamespaceExport */ || node.kind === 273 /* NamedExports */; } ts.isNamedExportBindings = isNamedExportBindings; function isUnparsedTextLike(node) { switch (node.kind) { - case 300 /* UnparsedText */: - case 301 /* UnparsedInternalText */: + case 302 /* UnparsedText */: + case 303 /* UnparsedInternalText */: return true; default: return false; @@ -13156,12 +13336,12 @@ var ts; ts.isUnparsedTextLike = isUnparsedTextLike; function isUnparsedNode(node) { return isUnparsedTextLike(node) || - node.kind === 298 /* UnparsedPrologue */ || - node.kind === 302 /* UnparsedSyntheticReference */; + node.kind === 300 /* UnparsedPrologue */ || + node.kind === 304 /* UnparsedSyntheticReference */; } ts.isUnparsedNode = isUnparsedNode; function isJSDocPropertyLikeTag(node) { - return node.kind === 345 /* JSDocPropertyTag */ || node.kind === 338 /* JSDocParameterTag */; + return node.kind === 347 /* JSDocPropertyTag */ || node.kind === 340 /* JSDocParameterTag */; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; // #endregion @@ -13177,7 +13357,7 @@ var ts; ts.isNode = isNode; /* @internal */ function isNodeKind(kind) { - return kind >= 160 /* FirstNode */; + return kind >= 161 /* FirstNode */; } ts.isNodeKind = isNodeKind; /** @@ -13186,7 +13366,7 @@ var ts; * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. */ function isTokenKind(kind) { - return kind >= 0 /* FirstToken */ && kind <= 159 /* LastToken */; + return kind >= 0 /* FirstToken */ && kind <= 160 /* LastToken */; } ts.isTokenKind = isTokenKind; /** @@ -13236,13 +13416,13 @@ var ts; ts.isImportOrExportSpecifier = isImportOrExportSpecifier; function isTypeOnlyImportOrExportDeclaration(node) { switch (node.kind) { - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: return node.isTypeOnly || node.parent.parent.isTypeOnly; - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: return node.parent.isTypeOnly; - case 266 /* ImportClause */: - case 264 /* ImportEqualsDeclaration */: + case 267 /* ImportClause */: + case 265 /* ImportEqualsDeclaration */: return node.isTypeOnly; default: return false; @@ -13284,12 +13464,14 @@ var ts; case 135 /* DeclareKeyword */: case 88 /* DefaultKeyword */: case 93 /* ExportKeyword */: + case 101 /* InKeyword */: case 123 /* PublicKeyword */: case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: case 124 /* StaticKeyword */: - case 158 /* OverrideKeyword */: + case 144 /* OutKeyword */: + case 159 /* OverrideKeyword */: return true; } return false; @@ -13302,7 +13484,7 @@ var ts; ts.isParameterPropertyModifier = isParameterPropertyModifier; /* @internal */ function isClassMemberModifier(idToken) { - return isParameterPropertyModifier(idToken) || idToken === 124 /* StaticKeyword */ || idToken === 158 /* OverrideKeyword */; + return isParameterPropertyModifier(idToken) || idToken === 124 /* StaticKeyword */ || idToken === 159 /* OverrideKeyword */; } ts.isClassMemberModifier = isClassMemberModifier; function isModifier(node) { @@ -13311,7 +13493,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 160 /* QualifiedName */ + return kind === 161 /* QualifiedName */ || kind === 79 /* Identifier */; } ts.isEntityName = isEntityName; @@ -13321,14 +13503,14 @@ var ts; || kind === 80 /* PrivateIdentifier */ || kind === 10 /* StringLiteral */ || kind === 8 /* NumericLiteral */ - || kind === 161 /* ComputedPropertyName */; + || kind === 162 /* ComputedPropertyName */; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 79 /* Identifier */ - || kind === 200 /* ObjectBindingPattern */ - || kind === 201 /* ArrayBindingPattern */; + || kind === 201 /* ObjectBindingPattern */ + || kind === 202 /* ArrayBindingPattern */; } ts.isBindingName = isBindingName; // Functions @@ -13353,13 +13535,13 @@ var ts; ts.isBooleanLiteral = isBooleanLiteral; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return true; default: return false; @@ -13368,14 +13550,14 @@ var ts; /* @internal */ function isFunctionLikeKind(kind) { switch (kind) { - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 321 /* JSDocSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: - case 178 /* FunctionType */: - case 315 /* JSDocFunctionType */: - case 179 /* ConstructorType */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 323 /* JSDocSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: + case 179 /* FunctionType */: + case 317 /* JSDocFunctionType */: + case 180 /* ConstructorType */: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -13390,30 +13572,30 @@ var ts; // Classes function isClassElement(node) { var kind = node.kind; - return kind === 170 /* Constructor */ - || kind === 166 /* PropertyDeclaration */ - || kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */ - || kind === 175 /* IndexSignature */ - || kind === 169 /* ClassStaticBlockDeclaration */ - || kind === 233 /* SemicolonClassElement */; + return kind === 171 /* Constructor */ + || kind === 167 /* PropertyDeclaration */ + || kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */ + || kind === 176 /* IndexSignature */ + || kind === 170 /* ClassStaticBlockDeclaration */ + || kind === 234 /* SemicolonClassElement */; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 256 /* ClassDeclaration */ || node.kind === 225 /* ClassExpression */); + return node && (node.kind === 257 /* ClassDeclaration */ || node.kind === 226 /* ClassExpression */); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 171 /* GetAccessor */ || node.kind === 172 /* SetAccessor */); + return node && (node.kind === 172 /* GetAccessor */ || node.kind === 173 /* SetAccessor */); } ts.isAccessor = isAccessor; /* @internal */ function isMethodOrAccessor(node) { switch (node.kind) { - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return true; default: return false; @@ -13423,11 +13605,13 @@ var ts; // Type members function isTypeElement(node) { var kind = node.kind; - return kind === 174 /* ConstructSignature */ - || kind === 173 /* CallSignature */ - || kind === 165 /* PropertySignature */ - || kind === 167 /* MethodSignature */ - || kind === 175 /* IndexSignature */; + return kind === 175 /* ConstructSignature */ + || kind === 174 /* CallSignature */ + || kind === 166 /* PropertySignature */ + || kind === 168 /* MethodSignature */ + || kind === 176 /* IndexSignature */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -13436,12 +13620,12 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 294 /* PropertyAssignment */ - || kind === 295 /* ShorthandPropertyAssignment */ - || kind === 296 /* SpreadAssignment */ - || kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */; + return kind === 296 /* PropertyAssignment */ + || kind === 297 /* ShorthandPropertyAssignment */ + || kind === 298 /* SpreadAssignment */ + || kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; // Type @@ -13456,8 +13640,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 178 /* FunctionType */: - case 179 /* ConstructorType */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: return true; } return false; @@ -13468,8 +13652,8 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 201 /* ArrayBindingPattern */ - || kind === 200 /* ObjectBindingPattern */; + return kind === 202 /* ArrayBindingPattern */ + || kind === 201 /* ObjectBindingPattern */; } return false; } @@ -13477,15 +13661,15 @@ var ts; /* @internal */ function isAssignmentPattern(node) { var kind = node.kind; - return kind === 203 /* ArrayLiteralExpression */ - || kind === 204 /* ObjectLiteralExpression */; + return kind === 204 /* ArrayLiteralExpression */ + || kind === 205 /* ObjectLiteralExpression */; } ts.isAssignmentPattern = isAssignmentPattern; /* @internal */ function isArrayBindingElement(node) { var kind = node.kind; - return kind === 202 /* BindingElement */ - || kind === 226 /* OmittedExpression */; + return kind === 203 /* BindingElement */ + || kind === 227 /* OmittedExpression */; } ts.isArrayBindingElement = isArrayBindingElement; /** @@ -13494,9 +13678,9 @@ var ts; /* @internal */ function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: - case 202 /* BindingElement */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: + case 203 /* BindingElement */: return true; } return false; @@ -13517,8 +13701,8 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 200 /* ObjectBindingPattern */: - case 204 /* ObjectLiteralExpression */: + case 201 /* ObjectBindingPattern */: + case 205 /* ObjectLiteralExpression */: return true; } return false; @@ -13527,10 +13711,10 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentElement(node) { switch (node.kind) { - case 202 /* BindingElement */: - case 294 /* PropertyAssignment */: // AssignmentProperty - case 295 /* ShorthandPropertyAssignment */: // AssignmentProperty - case 296 /* SpreadAssignment */: // AssignmentRestProperty + case 203 /* BindingElement */: + case 296 /* PropertyAssignment */: // AssignmentProperty + case 297 /* ShorthandPropertyAssignment */: // AssignmentProperty + case 298 /* SpreadAssignment */: // AssignmentRestProperty return true; } return false; @@ -13542,8 +13726,8 @@ var ts; /* @internal */ function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 201 /* ArrayBindingPattern */: - case 203 /* ArrayLiteralExpression */: + case 202 /* ArrayBindingPattern */: + case 204 /* ArrayLiteralExpression */: return true; } return false; @@ -13552,26 +13736,26 @@ var ts; /* @internal */ function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 205 /* PropertyAccessExpression */ - || kind === 160 /* QualifiedName */ - || kind === 199 /* ImportType */; + return kind === 206 /* PropertyAccessExpression */ + || kind === 161 /* QualifiedName */ + || kind === 200 /* ImportType */; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; // Expression function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 205 /* PropertyAccessExpression */ - || kind === 160 /* QualifiedName */; + return kind === 206 /* PropertyAccessExpression */ + || kind === 161 /* QualifiedName */; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 209 /* TaggedTemplateExpression */: - case 164 /* Decorator */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 210 /* TaggedTemplateExpression */: + case 165 /* Decorator */: return true; default: return false; @@ -13579,12 +13763,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 207 /* CallExpression */ || node.kind === 208 /* NewExpression */; + return node.kind === 208 /* CallExpression */ || node.kind === 209 /* NewExpression */; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 222 /* TemplateExpression */ + return kind === 223 /* TemplateExpression */ || kind === 14 /* NoSubstitutionTemplateLiteral */; } ts.isTemplateLiteral = isTemplateLiteral; @@ -13595,19 +13779,19 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: - case 208 /* NewExpression */: - case 207 /* CallExpression */: - case 277 /* JsxElement */: - case 278 /* JsxSelfClosingElement */: - case 281 /* JsxFragment */: - case 209 /* TaggedTemplateExpression */: - case 203 /* ArrayLiteralExpression */: - case 211 /* ParenthesizedExpression */: - case 204 /* ObjectLiteralExpression */: - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: + case 209 /* NewExpression */: + case 208 /* CallExpression */: + case 278 /* JsxElement */: + case 279 /* JsxSelfClosingElement */: + case 282 /* JsxFragment */: + case 210 /* TaggedTemplateExpression */: + case 204 /* ArrayLiteralExpression */: + case 212 /* ParenthesizedExpression */: + case 205 /* ObjectLiteralExpression */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: case 79 /* Identifier */: case 80 /* PrivateIdentifier */: // technically this is only an Expression if it's in a `#field in expr` BinaryExpression case 13 /* RegularExpressionLiteral */: @@ -13615,14 +13799,15 @@ var ts; case 9 /* BigIntLiteral */: case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: case 95 /* FalseKeyword */: case 104 /* NullKeyword */: case 108 /* ThisKeyword */: case 110 /* TrueKeyword */: case 106 /* SuperKeyword */: - case 229 /* NonNullExpression */: - case 230 /* MetaProperty */: + case 230 /* NonNullExpression */: + case 228 /* ExpressionWithTypeArguments */: + case 231 /* MetaProperty */: case 100 /* ImportKeyword */: // technically this is only an Expression if it's in a CallExpression return true; default: @@ -13636,13 +13821,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: - case 214 /* DeleteExpression */: - case 215 /* TypeOfExpression */: - case 216 /* VoidExpression */: - case 217 /* AwaitExpression */: - case 210 /* TypeAssertionExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: + case 215 /* DeleteExpression */: + case 216 /* TypeOfExpression */: + case 217 /* VoidExpression */: + case 218 /* AwaitExpression */: + case 211 /* TypeAssertionExpression */: return true; default: return isLeftHandSideExpressionKind(kind); @@ -13651,9 +13836,9 @@ var ts; /* @internal */ function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return true; - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return expr.operator === 45 /* PlusPlusToken */ || expr.operator === 46 /* MinusMinusToken */; default: @@ -13672,15 +13857,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 221 /* ConditionalExpression */: - case 223 /* YieldExpression */: - case 213 /* ArrowFunction */: - case 220 /* BinaryExpression */: - case 224 /* SpreadElement */: - case 228 /* AsExpression */: - case 226 /* OmittedExpression */: - case 349 /* CommaListExpression */: - case 348 /* PartiallyEmittedExpression */: + case 222 /* ConditionalExpression */: + case 224 /* YieldExpression */: + case 214 /* ArrowFunction */: + case 221 /* BinaryExpression */: + case 225 /* SpreadElement */: + case 229 /* AsExpression */: + case 227 /* OmittedExpression */: + case 351 /* CommaListExpression */: + case 350 /* PartiallyEmittedExpression */: return true; default: return isUnaryExpressionKind(kind); @@ -13688,8 +13873,8 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 210 /* TypeAssertionExpression */ - || kind === 228 /* AsExpression */; + return kind === 211 /* TypeAssertionExpression */ + || kind === 229 /* AsExpression */; } ts.isAssertionExpression = isAssertionExpression; /* @internal */ @@ -13700,13 +13885,13 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: return true; - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -13735,7 +13920,7 @@ var ts; ts.isExternalModuleIndicator = isExternalModuleIndicator; /* @internal */ function isForInOrOfStatement(node) { - return node.kind === 242 /* ForInStatement */ || node.kind === 243 /* ForOfStatement */; + return node.kind === 243 /* ForInStatement */ || node.kind === 244 /* ForOfStatement */; } ts.isForInOrOfStatement = isForInOrOfStatement; // Element @@ -13759,115 +13944,115 @@ var ts; /* @internal */ function isModuleBody(node) { var kind = node.kind; - return kind === 261 /* ModuleBlock */ - || kind === 260 /* ModuleDeclaration */ + return kind === 262 /* ModuleBlock */ + || kind === 261 /* ModuleDeclaration */ || kind === 79 /* Identifier */; } ts.isModuleBody = isModuleBody; /* @internal */ function isNamespaceBody(node) { var kind = node.kind; - return kind === 261 /* ModuleBlock */ - || kind === 260 /* ModuleDeclaration */; + return kind === 262 /* ModuleBlock */ + || kind === 261 /* ModuleDeclaration */; } ts.isNamespaceBody = isNamespaceBody; /* @internal */ function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 79 /* Identifier */ - || kind === 260 /* ModuleDeclaration */; + || kind === 261 /* ModuleDeclaration */; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; /* @internal */ function isNamedImportBindings(node) { var kind = node.kind; - return kind === 268 /* NamedImports */ - || kind === 267 /* NamespaceImport */; + return kind === 269 /* NamedImports */ + || kind === 268 /* NamespaceImport */; } ts.isNamedImportBindings = isNamedImportBindings; /* @internal */ function isModuleOrEnumDeclaration(node) { - return node.kind === 260 /* ModuleDeclaration */ || node.kind === 259 /* EnumDeclaration */; + return node.kind === 261 /* ModuleDeclaration */ || node.kind === 260 /* EnumDeclaration */; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 213 /* ArrowFunction */ - || kind === 202 /* BindingElement */ - || kind === 256 /* ClassDeclaration */ - || kind === 225 /* ClassExpression */ - || kind === 169 /* ClassStaticBlockDeclaration */ - || kind === 170 /* Constructor */ - || kind === 259 /* EnumDeclaration */ - || kind === 297 /* EnumMember */ - || kind === 274 /* ExportSpecifier */ - || kind === 255 /* FunctionDeclaration */ - || kind === 212 /* FunctionExpression */ - || kind === 171 /* GetAccessor */ - || kind === 266 /* ImportClause */ - || kind === 264 /* ImportEqualsDeclaration */ - || kind === 269 /* ImportSpecifier */ - || kind === 257 /* InterfaceDeclaration */ - || kind === 284 /* JsxAttribute */ - || kind === 168 /* MethodDeclaration */ - || kind === 167 /* MethodSignature */ - || kind === 260 /* ModuleDeclaration */ - || kind === 263 /* NamespaceExportDeclaration */ - || kind === 267 /* NamespaceImport */ - || kind === 273 /* NamespaceExport */ - || kind === 163 /* Parameter */ - || kind === 294 /* PropertyAssignment */ - || kind === 166 /* PropertyDeclaration */ - || kind === 165 /* PropertySignature */ - || kind === 172 /* SetAccessor */ - || kind === 295 /* ShorthandPropertyAssignment */ - || kind === 258 /* TypeAliasDeclaration */ - || kind === 162 /* TypeParameter */ - || kind === 253 /* VariableDeclaration */ - || kind === 343 /* JSDocTypedefTag */ - || kind === 336 /* JSDocCallbackTag */ - || kind === 345 /* JSDocPropertyTag */; + return kind === 214 /* ArrowFunction */ + || kind === 203 /* BindingElement */ + || kind === 257 /* ClassDeclaration */ + || kind === 226 /* ClassExpression */ + || kind === 170 /* ClassStaticBlockDeclaration */ + || kind === 171 /* Constructor */ + || kind === 260 /* EnumDeclaration */ + || kind === 299 /* EnumMember */ + || kind === 275 /* ExportSpecifier */ + || kind === 256 /* FunctionDeclaration */ + || kind === 213 /* FunctionExpression */ + || kind === 172 /* GetAccessor */ + || kind === 267 /* ImportClause */ + || kind === 265 /* ImportEqualsDeclaration */ + || kind === 270 /* ImportSpecifier */ + || kind === 258 /* InterfaceDeclaration */ + || kind === 285 /* JsxAttribute */ + || kind === 169 /* MethodDeclaration */ + || kind === 168 /* MethodSignature */ + || kind === 261 /* ModuleDeclaration */ + || kind === 264 /* NamespaceExportDeclaration */ + || kind === 268 /* NamespaceImport */ + || kind === 274 /* NamespaceExport */ + || kind === 164 /* Parameter */ + || kind === 296 /* PropertyAssignment */ + || kind === 167 /* PropertyDeclaration */ + || kind === 166 /* PropertySignature */ + || kind === 173 /* SetAccessor */ + || kind === 297 /* ShorthandPropertyAssignment */ + || kind === 259 /* TypeAliasDeclaration */ + || kind === 163 /* TypeParameter */ + || kind === 254 /* VariableDeclaration */ + || kind === 345 /* JSDocTypedefTag */ + || kind === 338 /* JSDocCallbackTag */ + || kind === 347 /* JSDocPropertyTag */; } function isDeclarationStatementKind(kind) { - return kind === 255 /* FunctionDeclaration */ - || kind === 275 /* MissingDeclaration */ - || kind === 256 /* ClassDeclaration */ - || kind === 257 /* InterfaceDeclaration */ - || kind === 258 /* TypeAliasDeclaration */ - || kind === 259 /* EnumDeclaration */ - || kind === 260 /* ModuleDeclaration */ - || kind === 265 /* ImportDeclaration */ - || kind === 264 /* ImportEqualsDeclaration */ - || kind === 271 /* ExportDeclaration */ - || kind === 270 /* ExportAssignment */ - || kind === 263 /* NamespaceExportDeclaration */; + return kind === 256 /* FunctionDeclaration */ + || kind === 276 /* MissingDeclaration */ + || kind === 257 /* ClassDeclaration */ + || kind === 258 /* InterfaceDeclaration */ + || kind === 259 /* TypeAliasDeclaration */ + || kind === 260 /* EnumDeclaration */ + || kind === 261 /* ModuleDeclaration */ + || kind === 266 /* ImportDeclaration */ + || kind === 265 /* ImportEqualsDeclaration */ + || kind === 272 /* ExportDeclaration */ + || kind === 271 /* ExportAssignment */ + || kind === 264 /* NamespaceExportDeclaration */; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 245 /* BreakStatement */ - || kind === 244 /* ContinueStatement */ - || kind === 252 /* DebuggerStatement */ - || kind === 239 /* DoStatement */ - || kind === 237 /* ExpressionStatement */ - || kind === 235 /* EmptyStatement */ - || kind === 242 /* ForInStatement */ - || kind === 243 /* ForOfStatement */ - || kind === 241 /* ForStatement */ - || kind === 238 /* IfStatement */ - || kind === 249 /* LabeledStatement */ - || kind === 246 /* ReturnStatement */ - || kind === 248 /* SwitchStatement */ - || kind === 250 /* ThrowStatement */ - || kind === 251 /* TryStatement */ - || kind === 236 /* VariableStatement */ - || kind === 240 /* WhileStatement */ - || kind === 247 /* WithStatement */ - || kind === 347 /* NotEmittedStatement */ - || kind === 351 /* EndOfDeclarationMarker */ - || kind === 350 /* MergeDeclarationMarker */; + return kind === 246 /* BreakStatement */ + || kind === 245 /* ContinueStatement */ + || kind === 253 /* DebuggerStatement */ + || kind === 240 /* DoStatement */ + || kind === 238 /* ExpressionStatement */ + || kind === 236 /* EmptyStatement */ + || kind === 243 /* ForInStatement */ + || kind === 244 /* ForOfStatement */ + || kind === 242 /* ForStatement */ + || kind === 239 /* IfStatement */ + || kind === 250 /* LabeledStatement */ + || kind === 247 /* ReturnStatement */ + || kind === 249 /* SwitchStatement */ + || kind === 251 /* ThrowStatement */ + || kind === 252 /* TryStatement */ + || kind === 237 /* VariableStatement */ + || kind === 241 /* WhileStatement */ + || kind === 248 /* WithStatement */ + || kind === 349 /* NotEmittedStatement */ + || kind === 353 /* EndOfDeclarationMarker */ + || kind === 352 /* MergeDeclarationMarker */; } /* @internal */ function isDeclaration(node) { - if (node.kind === 162 /* TypeParameter */) { - return (node.parent && node.parent.kind !== 342 /* JSDocTemplateTag */) || ts.isInJSFile(node); + if (node.kind === 163 /* TypeParameter */) { + return (node.parent && node.parent.kind !== 344 /* JSDocTemplateTag */) || ts.isInJSFile(node); } return isDeclarationKind(node.kind); } @@ -13894,10 +14079,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 234 /* Block */) + if (node.kind !== 235 /* Block */) return false; if (node.parent !== undefined) { - if (node.parent.kind === 251 /* TryStatement */ || node.parent.kind === 291 /* CatchClause */) { + if (node.parent.kind === 252 /* TryStatement */ || node.parent.kind === 292 /* CatchClause */) { return false; } } @@ -13911,15 +14096,15 @@ var ts; var kind = node.kind; return isStatementKindButNotDeclarationKind(kind) || isDeclarationStatementKind(kind) - || kind === 234 /* Block */; + || kind === 235 /* Block */; } ts.isStatementOrBlock = isStatementOrBlock; // Module references /* @internal */ function isModuleReference(node) { var kind = node.kind; - return kind === 276 /* ExternalModuleReference */ - || kind === 160 /* QualifiedName */ + return kind === 277 /* ExternalModuleReference */ + || kind === 161 /* QualifiedName */ || kind === 79 /* Identifier */; } ts.isModuleReference = isModuleReference; @@ -13929,58 +14114,58 @@ var ts; var kind = node.kind; return kind === 108 /* ThisKeyword */ || kind === 79 /* Identifier */ - || kind === 205 /* PropertyAccessExpression */; + || kind === 206 /* PropertyAccessExpression */; } ts.isJsxTagNameExpression = isJsxTagNameExpression; /* @internal */ function isJsxChild(node) { var kind = node.kind; - return kind === 277 /* JsxElement */ - || kind === 287 /* JsxExpression */ - || kind === 278 /* JsxSelfClosingElement */ + return kind === 278 /* JsxElement */ + || kind === 288 /* JsxExpression */ + || kind === 279 /* JsxSelfClosingElement */ || kind === 11 /* JsxText */ - || kind === 281 /* JsxFragment */; + || kind === 282 /* JsxFragment */; } ts.isJsxChild = isJsxChild; /* @internal */ function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 284 /* JsxAttribute */ - || kind === 286 /* JsxSpreadAttribute */; + return kind === 285 /* JsxAttribute */ + || kind === 287 /* JsxSpreadAttribute */; } ts.isJsxAttributeLike = isJsxAttributeLike; /* @internal */ function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 10 /* StringLiteral */ - || kind === 287 /* JsxExpression */; + || kind === 288 /* JsxExpression */; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 279 /* JsxOpeningElement */ - || kind === 278 /* JsxSelfClosingElement */; + return kind === 280 /* JsxOpeningElement */ + || kind === 279 /* JsxSelfClosingElement */; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; // Clauses function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 288 /* CaseClause */ - || kind === 289 /* DefaultClause */; + return kind === 289 /* CaseClause */ + || kind === 290 /* DefaultClause */; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; // JSDoc /** True if node is of some JSDoc syntax kind. */ /* @internal */ function isJSDocNode(node) { - return node.kind >= 307 /* FirstJSDocNode */ && node.kind <= 345 /* LastJSDocNode */; + return node.kind >= 309 /* FirstJSDocNode */ && node.kind <= 347 /* LastJSDocNode */; } ts.isJSDocNode = isJSDocNode; /** True if node is of a kind that may contain comment text. */ function isJSDocCommentContainingNode(node) { - return node.kind === 318 /* JSDocComment */ - || node.kind === 317 /* JSDocNamepathType */ - || node.kind === 319 /* JSDocText */ + return node.kind === 320 /* JSDoc */ + || node.kind === 319 /* JSDocNamepathType */ + || node.kind === 321 /* JSDocText */ || isJSDocLinkLike(node) || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) @@ -13990,15 +14175,15 @@ var ts; // TODO: determine what this does before making it public. /* @internal */ function isJSDocTag(node) { - return node.kind >= 325 /* FirstJSDocTagNode */ && node.kind <= 345 /* LastJSDocTagNode */; + return node.kind >= 327 /* FirstJSDocTagNode */ && node.kind <= 347 /* LastJSDocTagNode */; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 172 /* SetAccessor */; + return node.kind === 173 /* SetAccessor */; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 171 /* GetAccessor */; + return node.kind === 172 /* GetAccessor */; } ts.isGetAccessor = isGetAccessor; /** True if has jsdoc nodes attached to it. */ @@ -14024,13 +14209,13 @@ var ts; /** True if has initializer node attached to it. */ function hasOnlyExpressionInitializer(node) { switch (node.kind) { - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: - case 202 /* BindingElement */: - case 165 /* PropertySignature */: - case 166 /* PropertyDeclaration */: - case 294 /* PropertyAssignment */: - case 297 /* EnumMember */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: + case 203 /* BindingElement */: + case 166 /* PropertySignature */: + case 167 /* PropertyDeclaration */: + case 296 /* PropertyAssignment */: + case 299 /* EnumMember */: return true; default: return false; @@ -14038,12 +14223,12 @@ var ts; } ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { - return node.kind === 284 /* JsxAttribute */ || node.kind === 286 /* JsxSpreadAttribute */ || isObjectLiteralElementLike(node); + return node.kind === 285 /* JsxAttribute */ || node.kind === 287 /* JsxSpreadAttribute */ || isObjectLiteralElementLike(node); } ts.isObjectLiteralElement = isObjectLiteralElement; /* @internal */ function isTypeReferenceType(node) { - return node.kind === 177 /* TypeReference */ || node.kind === 227 /* ExpressionWithTypeArguments */; + return node.kind === 178 /* TypeReference */ || node.kind === 228 /* ExpressionWithTypeArguments */; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -14076,7 +14261,7 @@ var ts; } ts.isStringLiteralLike = isStringLiteralLike; function isJSDocLinkLike(node) { - return node.kind === 322 /* JSDocLink */ || node.kind === 323 /* JSDocLinkCode */ || node.kind === 324 /* JSDocLinkPlain */; + return node.kind === 324 /* JSDocLink */ || node.kind === 325 /* JSDocLinkCode */ || node.kind === 326 /* JSDocLinkPlain */; } ts.isJSDocLinkLike = isJSDocLinkLike; // #endregion @@ -14278,11 +14463,11 @@ var ts; } function packageIdToPackageName(_a) { var name = _a.name, subModuleName = _a.subModuleName; - return subModuleName ? "".concat(name, "/").concat(subModuleName) : name; + return subModuleName ? name + "/" + subModuleName : name; } ts.packageIdToPackageName = packageIdToPackageName; function packageIdToString(packageId) { - return "".concat(packageIdToPackageName(packageId), "@").concat(packageId.version); + return packageIdToPackageName(packageId) + "@" + packageId.version; } ts.packageIdToString = packageIdToString; function typeDirectiveIsEqualTo(oldResolution, newResolution) { @@ -14295,7 +14480,11 @@ var ts; ts.Debug.assert(names.length === newResolutions.length); for (var i = 0; i < names.length; i++) { var newResolution = newResolutions[i]; - var oldResolution = oldResolutions && oldResolutions.get(names[i], oldSourceFile && ts.getModeForResolutionAtIndex(oldSourceFile, i)); + var entry = names[i]; + // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. + var name = !ts.isString(entry) ? entry.fileName.toLowerCase() : entry; + var mode = !ts.isString(entry) ? ts.getModeForFileReference(entry, oldSourceFile === null || oldSourceFile === void 0 ? void 0 : oldSourceFile.impliedNodeFormat) : oldSourceFile && ts.getModeForResolutionAtIndex(oldSourceFile, i); + var oldResolution = oldResolutions && oldResolutions.get(name, mode); var changed = oldResolution ? !newResolution || !comparer(oldResolution, newResolution) : newResolution; @@ -14309,28 +14498,28 @@ var ts; // Returns true if this node contains a parse error anywhere underneath it. function containsParseError(node) { aggregateChildData(node); - return (node.flags & 262144 /* ThisNodeOrAnySubNodesHasError */) !== 0; + return (node.flags & 524288 /* ThisNodeOrAnySubNodesHasError */) !== 0; } ts.containsParseError = containsParseError; function aggregateChildData(node) { - if (!(node.flags & 524288 /* HasAggregatedChildData */)) { + if (!(node.flags & 1048576 /* HasAggregatedChildData */)) { // A node is considered to contain a parse error if: // a) the parser explicitly marked that it had an error // b) any of it's children reported that it had an error. - var thisNodeOrAnySubNodesHasError = ((node.flags & 65536 /* ThisNodeHasError */) !== 0) || + var thisNodeOrAnySubNodesHasError = ((node.flags & 131072 /* ThisNodeHasError */) !== 0) || ts.forEachChild(node, containsParseError); // If so, mark ourselves accordingly. if (thisNodeOrAnySubNodesHasError) { - node.flags |= 262144 /* ThisNodeOrAnySubNodesHasError */; + node.flags |= 524288 /* ThisNodeOrAnySubNodesHasError */; } // Also mark that we've propagated the child information to this node. This way we can // always consult the bit directly on this node without needing to check its children // again. - node.flags |= 524288 /* HasAggregatedChildData */; + node.flags |= 1048576 /* HasAggregatedChildData */; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 303 /* SourceFile */) { + while (node && node.kind !== 305 /* SourceFile */) { node = node.parent; } return node; @@ -14346,11 +14535,11 @@ var ts; ts.isPlainJsFile = isPlainJsFile; function isStatementWithLocals(node) { switch (node.kind) { - case 234 /* Block */: - case 262 /* CaseBlock */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 235 /* Block */: + case 263 /* CaseBlock */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: return true; } return false; @@ -14365,7 +14554,7 @@ var ts; function nodePosToString(node) { var file = getSourceFileOfNode(node); var loc = ts.getLineAndCharacterOfPosition(file, node.pos); - return "".concat(file.fileName, "(").concat(loc.line + 1, ",").concat(loc.character + 1, ")"); + return file.fileName + "(" + (loc.line + 1) + "," + (loc.character + 1) + ")"; } ts.nodePosToString = nodePosToString; function getEndLinePosition(line, sourceFile) { @@ -14504,7 +14693,7 @@ var ts; ts.isPinnedComment = isPinnedComment; function createCommentDirectivesMap(sourceFile, commentDirectives) { var directivesByLine = new ts.Map(commentDirectives.map(function (commentDirective) { return ([ - "".concat(ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line), + "" + ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line, commentDirective, ]); })); var usedLines = new ts.Map(); @@ -14521,10 +14710,10 @@ var ts; }); } function markUsed(line) { - if (!directivesByLine.has("".concat(line))) { + if (!directivesByLine.has("" + line)) { return false; } - usedLines.set("".concat(line), true); + usedLines.set("" + line, true); return true; } } @@ -14546,7 +14735,7 @@ var ts; // the syntax list itself considers them as normal trivia. Therefore if we simply skip // trivia for the list, we may have skipped the JSDocComment as well. So we should process its // first child to determine the actual position of its first token. - if (node.kind === 346 /* SyntaxList */ && node._children.length > 0) { + if (node.kind === 348 /* SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, @@ -14754,7 +14943,7 @@ var ts; } return node.text; } - return ts.Debug.fail("Literal kind '".concat(node.kind, "' not accounted for.")); + return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); } ts.getLiteralText = getLiteralText; function canUseOriginalText(node, flags) { @@ -14783,7 +14972,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 253 /* VariableDeclaration */ && node.parent.kind === 291 /* CatchClause */; + return node.kind === 254 /* VariableDeclaration */ && node.parent.kind === 292 /* CatchClause */; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -14815,11 +15004,11 @@ var ts; ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { // The only kind of module that can be missing a body is a shorthand ambient module. - return !!node && node.kind === 260 /* ModuleDeclaration */ && (!node.body); + return !!node && node.kind === 261 /* ModuleDeclaration */ && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 303 /* SourceFile */ || - node.kind === 260 /* ModuleDeclaration */ || + return node.kind === 305 /* SourceFile */ || + node.kind === 261 /* ModuleDeclaration */ || ts.isFunctionLikeOrClassStaticBlockDeclaration(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -14836,9 +15025,9 @@ var ts; // - defined in the top level scope and source file is an external module // - defined inside ambient module declaration located in the top level scope and source file not an external module switch (node.parent.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: return ts.isExternalModule(node.parent); - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -14895,24 +15084,24 @@ var ts; ts.isEffectiveStrictModeSourceFile = isEffectiveStrictModeSourceFile; function isBlockScope(node, parentNode) { switch (node.kind) { - case 303 /* SourceFile */: - case 262 /* CaseBlock */: - case 291 /* CatchClause */: - case 260 /* ModuleDeclaration */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 166 /* PropertyDeclaration */: - case 169 /* ClassStaticBlockDeclaration */: + case 305 /* SourceFile */: + case 263 /* CaseBlock */: + case 292 /* CatchClause */: + case 261 /* ModuleDeclaration */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 167 /* PropertyDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return true; - case 234 /* Block */: + case 235 /* Block */: // function block is not considered block-scope container // see comment in binder.ts: bind(...), case for SyntaxKind.Block return !ts.isFunctionLikeOrClassStaticBlockDeclaration(parentNode); @@ -14922,9 +15111,9 @@ var ts; ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 336 /* JSDocCallbackTag */: - case 343 /* JSDocTypedefTag */: - case 321 /* JSDocSignature */: + case 338 /* JSDocCallbackTag */: + case 345 /* JSDocTypedefTag */: + case 323 /* JSDocSignature */: return true; default: ts.assertType(node); @@ -14934,25 +15123,25 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isDeclarationWithTypeParameterChildren(node) { switch (node.kind) { - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 167 /* MethodSignature */: - case 175 /* IndexSignature */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 315 /* JSDocFunctionType */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 342 /* JSDocTemplateTag */: - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 168 /* MethodSignature */: + case 176 /* IndexSignature */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 317 /* JSDocFunctionType */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 344 /* JSDocTemplateTag */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return true; default: ts.assertType(node); @@ -14962,8 +15151,8 @@ var ts; ts.isDeclarationWithTypeParameterChildren = isDeclarationWithTypeParameterChildren; function isAnyImportSyntax(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: return true; default: return false; @@ -14972,15 +15161,15 @@ var ts; ts.isAnyImportSyntax = isAnyImportSyntax; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: - case 236 /* VariableStatement */: - case 256 /* ClassDeclaration */: - case 255 /* FunctionDeclaration */: - case 260 /* ModuleDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 237 /* VariableStatement */: + case 257 /* ClassDeclaration */: + case 256 /* FunctionDeclaration */: + case 261 /* ModuleDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: return true; default: return false; @@ -15021,10 +15210,10 @@ var ts; } ts.getNameFromIndexInfo = getNameFromIndexInfo; function isComputedNonLiteralName(name) { - return name.kind === 161 /* ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression); + return name.kind === 162 /* ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression); } ts.isComputedNonLiteralName = isComputedNonLiteralName; - function getTextOfPropertyName(name) { + function tryGetTextOfPropertyName(name) { switch (name.kind) { case 79 /* Identifier */: case 80 /* PrivateIdentifier */: @@ -15033,14 +15222,18 @@ var ts; case 8 /* NumericLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: return ts.escapeLeadingUnderscores(name.text); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: if (isStringOrNumericLiteralLike(name.expression)) return ts.escapeLeadingUnderscores(name.expression.text); - return ts.Debug.fail("Text of property name cannot be read from non-literal-valued ComputedPropertyNames"); + return undefined; default: return ts.Debug.assertNever(name); } } + ts.tryGetTextOfPropertyName = tryGetTextOfPropertyName; + function getTextOfPropertyName(name) { + return ts.Debug.checkDefined(tryGetTextOfPropertyName(name)); + } ts.getTextOfPropertyName = getTextOfPropertyName; function entityNameToString(name) { switch (name.kind) { @@ -15049,16 +15242,16 @@ var ts; case 80 /* PrivateIdentifier */: case 79 /* Identifier */: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: if (ts.isIdentifier(name.name) || ts.isPrivateIdentifier(name.name)) { return entityNameToString(name.expression) + "." + entityNameToString(name.name); } else { return ts.Debug.assertNever(name.name); } - case 309 /* JSDocMemberName */: + case 311 /* JSDocMemberName */: return entityNameToString(name.left) + entityNameToString(name.right); default: return ts.Debug.assertNever(name); @@ -15148,7 +15341,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 234 /* Block */) { + if (node.body && node.body.kind === 235 /* Block */) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -15162,7 +15355,7 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: var pos_1 = ts.skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos_1 === sourceFile.text.length) { // file is empty - return span for the beginning of the file @@ -15171,29 +15364,29 @@ var ts; return getSpanOfTokenAtPosition(sourceFile, pos_1); // This list is a work in progress. Add missing node kinds to improve their error // spans. - case 253 /* VariableDeclaration */: - case 202 /* BindingElement */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 260 /* ModuleDeclaration */: - case 259 /* EnumDeclaration */: - case 297 /* EnumMember */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 258 /* TypeAliasDeclaration */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 267 /* NamespaceImport */: + case 254 /* VariableDeclaration */: + case 203 /* BindingElement */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 261 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 299 /* EnumMember */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 259 /* TypeAliasDeclaration */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 268 /* NamespaceImport */: errorNode = node.name; break; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return getErrorSpanForArrowFunction(sourceFile, node); - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: var start = ts.skipTrivia(sourceFile.text, node.pos); var end = node.statements.length > 0 ? node.statements[0].pos : node.end; return ts.createTextSpanFromBounds(start, end); @@ -15245,11 +15438,11 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 207 /* CallExpression */ && n.expression.kind === 106 /* SuperKeyword */; + return n.kind === 208 /* CallExpression */ && n.expression.kind === 106 /* SuperKeyword */; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 207 /* CallExpression */ && n.expression.kind === 100 /* ImportKeyword */; + return n.kind === 208 /* CallExpression */ && n.expression.kind === 100 /* ImportKeyword */; } ts.isImportCall = isImportCall; function isImportMeta(n) { @@ -15263,7 +15456,7 @@ var ts; } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 237 /* ExpressionStatement */ + return node.kind === 238 /* ExpressionStatement */ && node.expression.kind === 10 /* StringLiteral */; } ts.isPrologueDirective = isPrologueDirective; @@ -15291,13 +15484,13 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 163 /* Parameter */ || - node.kind === 162 /* TypeParameter */ || - node.kind === 212 /* FunctionExpression */ || - node.kind === 213 /* ArrowFunction */ || - node.kind === 211 /* ParenthesizedExpression */ || - node.kind === 253 /* VariableDeclaration */ || - node.kind === 274 /* ExportSpecifier */) ? + var commentRanges = (node.kind === 164 /* Parameter */ || + node.kind === 163 /* TypeParameter */ || + node.kind === 213 /* FunctionExpression */ || + node.kind === 214 /* ArrowFunction */ || + node.kind === 212 /* ParenthesizedExpression */ || + node.kind === 254 /* VariableDeclaration */ || + node.kind === 275 /* ExportSpecifier */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' @@ -15313,48 +15506,48 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (176 /* FirstTypeNode */ <= node.kind && node.kind <= 199 /* LastTypeNode */) { + if (177 /* FirstTypeNode */ <= node.kind && node.kind <= 200 /* LastTypeNode */) { return true; } switch (node.kind) { case 130 /* AnyKeyword */: - case 154 /* UnknownKeyword */: - case 146 /* NumberKeyword */: - case 157 /* BigIntKeyword */: - case 149 /* StringKeyword */: + case 155 /* UnknownKeyword */: + case 147 /* NumberKeyword */: + case 158 /* BigIntKeyword */: + case 150 /* StringKeyword */: case 133 /* BooleanKeyword */: - case 150 /* SymbolKeyword */: - case 147 /* ObjectKeyword */: - case 152 /* UndefinedKeyword */: + case 151 /* SymbolKeyword */: + case 148 /* ObjectKeyword */: + case 153 /* UndefinedKeyword */: case 143 /* NeverKeyword */: return true; case 114 /* VoidKeyword */: - return node.parent.kind !== 216 /* VoidExpression */; - case 227 /* ExpressionWithTypeArguments */: - return !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 162 /* TypeParameter */: - return node.parent.kind === 194 /* MappedType */ || node.parent.kind === 189 /* InferType */; + return node.parent.kind !== 217 /* VoidExpression */; + case 228 /* ExpressionWithTypeArguments */: + return ts.isHeritageClause(node.parent) && !isExpressionWithTypeArgumentsInClassExtendsClause(node); + case 163 /* TypeParameter */: + return node.parent.kind === 195 /* MappedType */ || node.parent.kind === 190 /* InferType */; // Identifiers and qualified names may be type nodes, depending on their context. Climb // above them to find the lowest container case 79 /* Identifier */: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === 160 /* QualifiedName */ && node.parent.right === node) { + if (node.parent.kind === 161 /* QualifiedName */ && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 205 /* PropertyAccessExpression */ && node.parent.name === node) { + else if (node.parent.kind === 206 /* PropertyAccessExpression */ && node.parent.name === node) { node = node.parent; } // At this point, node is either a qualified name or an identifier - ts.Debug.assert(node.kind === 79 /* Identifier */ || node.kind === 160 /* QualifiedName */ || node.kind === 205 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + ts.Debug.assert(node.kind === 79 /* Identifier */ || node.kind === 161 /* QualifiedName */ || node.kind === 206 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); // falls through - case 160 /* QualifiedName */: - case 205 /* PropertyAccessExpression */: + case 161 /* QualifiedName */: + case 206 /* PropertyAccessExpression */: case 108 /* ThisKeyword */: { var parent = node.parent; - if (parent.kind === 180 /* TypeQuery */) { + if (parent.kind === 181 /* TypeQuery */) { return false; } - if (parent.kind === 199 /* ImportType */) { + if (parent.kind === 200 /* ImportType */) { return !parent.isTypeOf; } // Do not recursively call isPartOfTypeNode on the parent. In the example: @@ -15363,40 +15556,40 @@ var ts; // // Calling isPartOfTypeNode would consider the qualified name A.B a type node. // Only C and A.B.C are type nodes. - if (176 /* FirstTypeNode */ <= parent.kind && parent.kind <= 199 /* LastTypeNode */) { + if (177 /* FirstTypeNode */ <= parent.kind && parent.kind <= 200 /* LastTypeNode */) { return true; } switch (parent.kind) { - case 227 /* ExpressionWithTypeArguments */: - return !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 162 /* TypeParameter */: + case 228 /* ExpressionWithTypeArguments */: + return ts.isHeritageClause(parent.parent) && !isExpressionWithTypeArgumentsInClassExtendsClause(parent); + case 163 /* TypeParameter */: return node === parent.constraint; - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: return node === parent.constraint; - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 163 /* Parameter */: - case 253 /* VariableDeclaration */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 164 /* Parameter */: + case 254 /* VariableDeclaration */: return node === parent.type; - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return node === parent.type; - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: return node === parent.type; - case 210 /* TypeAssertionExpression */: + case 211 /* TypeAssertionExpression */: return node === parent.type; - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: return ts.contains(parent.typeArguments, node); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: // TODO (drosen): TaggedTemplateExpressions may eventually support type arguments. return false; } @@ -15421,23 +15614,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return visitor(node); - case 262 /* CaseBlock */: - case 234 /* Block */: - case 238 /* IfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 247 /* WithStatement */: - case 248 /* SwitchStatement */: - case 288 /* CaseClause */: - case 289 /* DefaultClause */: - case 249 /* LabeledStatement */: - case 251 /* TryStatement */: - case 291 /* CatchClause */: + case 263 /* CaseBlock */: + case 235 /* Block */: + case 239 /* IfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 248 /* WithStatement */: + case 249 /* SwitchStatement */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: + case 250 /* LabeledStatement */: + case 252 /* TryStatement */: + case 292 /* CatchClause */: return ts.forEachChild(node, traverse); } } @@ -15447,23 +15640,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 259 /* EnumDeclaration */: - case 257 /* InterfaceDeclaration */: - case 260 /* ModuleDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 260 /* EnumDeclaration */: + case 258 /* InterfaceDeclaration */: + case 261 /* ModuleDeclaration */: + case 259 /* TypeAliasDeclaration */: // These are not allowed inside a generator now, but eventually they may be allowed // as local types. Regardless, skip them to avoid the work. return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 161 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 162 /* ComputedPropertyName */) { // Note that we will not include methods/accessors of a class because they would require // first descending into the class. This is by design. traverse(node.name.expression); @@ -15486,10 +15679,10 @@ var ts; * @param node The type node. */ function getRestParameterElementType(node) { - if (node && node.kind === 182 /* ArrayType */) { + if (node && node.kind === 183 /* ArrayType */) { return node.elementType; } - else if (node && node.kind === 177 /* TypeReference */) { + else if (node && node.kind === 178 /* TypeReference */) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -15499,12 +15692,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { - case 257 /* InterfaceDeclaration */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 181 /* TypeLiteral */: + case 258 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 182 /* TypeLiteral */: return node.members; - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return node.properties; } } @@ -15512,14 +15705,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 202 /* BindingElement */: - case 297 /* EnumMember */: - case 163 /* Parameter */: - case 294 /* PropertyAssignment */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 295 /* ShorthandPropertyAssignment */: - case 253 /* VariableDeclaration */: + case 203 /* BindingElement */: + case 299 /* EnumMember */: + case 164 /* Parameter */: + case 296 /* PropertyAssignment */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 297 /* ShorthandPropertyAssignment */: + case 254 /* VariableDeclaration */: return true; } } @@ -15531,25 +15724,38 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 254 /* VariableDeclarationList */ - && node.parent.parent.kind === 236 /* VariableStatement */; + return node.parent.kind === 255 /* VariableDeclarationList */ + && node.parent.parent.kind === 237 /* VariableStatement */; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; + function isCommonJsExportedExpression(node) { + if (!isInJSFile(node)) + return false; + return (ts.isObjectLiteralExpression(node.parent) && ts.isBinaryExpression(node.parent.parent) && getAssignmentDeclarationKind(node.parent.parent) === 2 /* ModuleExports */) || + isCommonJsExportPropertyAssignment(node.parent); + } + ts.isCommonJsExportedExpression = isCommonJsExportedExpression; + function isCommonJsExportPropertyAssignment(node) { + if (!isInJSFile(node)) + return false; + return (ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 1 /* ExportsProperty */); + } + ts.isCommonJsExportPropertyAssignment = isCommonJsExportPropertyAssignment; function isValidESSymbolDeclaration(node) { - return ts.isVariableDeclaration(node) ? isVarConst(node) && ts.isIdentifier(node.name) && isVariableDeclarationInVariableStatement(node) : + return (ts.isVariableDeclaration(node) ? isVarConst(node) && ts.isIdentifier(node.name) && isVariableDeclarationInVariableStatement(node) : ts.isPropertyDeclaration(node) ? hasEffectiveReadonlyModifier(node) && hasStaticModifier(node) : - ts.isPropertySignature(node) && hasEffectiveReadonlyModifier(node); + ts.isPropertySignature(node) && hasEffectiveReadonlyModifier(node)) || isCommonJsExportPropertyAssignment(node); } ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: return true; } return false; @@ -15560,7 +15766,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 249 /* LabeledStatement */) { + if (node.statement.kind !== 250 /* LabeledStatement */) { return node.statement; } node = node.statement; @@ -15568,17 +15774,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 234 /* Block */ && ts.isFunctionLike(node.parent); + return node && node.kind === 235 /* Block */ && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 168 /* MethodDeclaration */ && node.parent.kind === 204 /* ObjectLiteralExpression */; + return node && node.kind === 169 /* MethodDeclaration */ && node.parent.kind === 205 /* ObjectLiteralExpression */; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethodOrAccessor(node) { - return (node.kind === 168 /* MethodDeclaration */ || node.kind === 171 /* GetAccessor */ || node.kind === 172 /* SetAccessor */) && - (node.parent.kind === 204 /* ObjectLiteralExpression */ || - node.parent.kind === 225 /* ClassExpression */); + return (node.kind === 169 /* MethodDeclaration */ || node.kind === 172 /* GetAccessor */ || node.kind === 173 /* SetAccessor */) && + (node.parent.kind === 205 /* ObjectLiteralExpression */ || + node.parent.kind === 226 /* ClassExpression */); } ts.isObjectLiteralOrClassExpressionMethodOrAccessor = isObjectLiteralOrClassExpressionMethodOrAccessor; function isIdentifierTypePredicate(predicate) { @@ -15591,8 +15797,8 @@ var ts; ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { return objectLiteral.properties.filter(function (property) { - if (property.kind === 294 /* PropertyAssignment */) { - var propName = getTextOfPropertyName(property.name); + if (property.kind === 296 /* PropertyAssignment */) { + var propName = tryGetTextOfPropertyName(property.name); return key === propName || (!!key2 && key2 === propName); } return false; @@ -15653,14 +15859,14 @@ var ts; } ts.getContainingFunctionOrClassStaticBlock = getContainingFunctionOrClassStaticBlock; function getThisContainer(node, includeArrowFunctions) { - ts.Debug.assert(node.kind !== 303 /* SourceFile */); + ts.Debug.assert(node.kind !== 305 /* SourceFile */); while (true) { node = node.parent; if (!node) { return ts.Debug.fail(); // If we never pass in a SourceFile, this should be unreachable, since we'll stop when we reach that. } switch (node.kind) { - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: // If the grandparent node is an object literal (as opposed to a class), // then the computed property is not a 'this' container. // A computed property name in a class needs to be a this container @@ -15675,9 +15881,9 @@ var ts; // the *body* of the container. node = node.parent; break; - case 164 /* Decorator */: + case 165 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 163 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 164 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -15688,27 +15894,27 @@ var ts; node = node.parent; } break; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: if (!includeArrowFunctions) { continue; } // falls through - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 260 /* ModuleDeclaration */: - case 169 /* ClassStaticBlockDeclaration */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: - case 259 /* EnumDeclaration */: - case 303 /* SourceFile */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 261 /* ModuleDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: + case 260 /* EnumDeclaration */: + case 305 /* SourceFile */: return node; } } @@ -15721,17 +15927,17 @@ var ts; switch (node.kind) { // Arrow functions use the same scope, but may do so in a "delayed" manner // For example, `const getThis = () => this` may be before a super() call in a derived constructor - case 213 /* ArrowFunction */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 166 /* PropertyDeclaration */: + case 214 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 167 /* PropertyDeclaration */: return true; - case 234 /* Block */: + case 235 /* Block */: switch (node.parent.kind) { - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // Object properties can have computed names; only method-like bodies start a new scope return true; default: @@ -15755,9 +15961,9 @@ var ts; var container = getThisContainer(node, /*includeArrowFunctions*/ false); if (container) { switch (container.kind) { - case 170 /* Constructor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 171 /* Constructor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: return container; } } @@ -15779,28 +15985,28 @@ var ts; return node; } switch (node.kind) { - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: node = node.parent; break; - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: if (!stopOnFunctions) { continue; } // falls through - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 169 /* ClassStaticBlockDeclaration */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 170 /* ClassStaticBlockDeclaration */: return node; - case 164 /* Decorator */: + case 165 /* Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 163 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 164 /* Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -15816,14 +16022,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 212 /* FunctionExpression */ || func.kind === 213 /* ArrowFunction */) { + if (func.kind === 213 /* FunctionExpression */ || func.kind === 214 /* ArrowFunction */) { var prev = func; var parent = func.parent; - while (parent.kind === 211 /* ParenthesizedExpression */) { + while (parent.kind === 212 /* ParenthesizedExpression */) { prev = parent; parent = parent.parent; } - if (parent.kind === 207 /* CallExpression */ && parent.expression === prev) { + if (parent.kind === 208 /* CallExpression */ && parent.expression === prev) { return parent; } } @@ -15839,7 +16045,7 @@ var ts; */ function isSuperProperty(node) { var kind = node.kind; - return (kind === 205 /* PropertyAccessExpression */ || kind === 206 /* ElementAccessExpression */) + return (kind === 206 /* PropertyAccessExpression */ || kind === 207 /* ElementAccessExpression */) && node.expression.kind === 106 /* SuperKeyword */; } ts.isSuperProperty = isSuperProperty; @@ -15848,7 +16054,7 @@ var ts; */ function isThisProperty(node) { var kind = node.kind; - return (kind === 205 /* PropertyAccessExpression */ || kind === 206 /* ElementAccessExpression */) + return (kind === 206 /* PropertyAccessExpression */ || kind === 207 /* ElementAccessExpression */) && node.expression.kind === 108 /* ThisKeyword */; } ts.isThisProperty = isThisProperty; @@ -15867,15 +16073,15 @@ var ts; ts.isThisInitializedObjectBindingExpression = isThisInitializedObjectBindingExpression; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 177 /* TypeReference */: + case 178 /* TypeReference */: return node.typeName; - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: return isEntityNameExpression(node.expression) ? node.expression : undefined; // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s. case 79 /* Identifier */: - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return node; } return undefined; @@ -15883,10 +16089,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return node.tag; - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: return node.tagName; default: return node.expression; @@ -15899,25 +16105,25 @@ var ts; return false; } switch (node.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: // classes are valid targets return true; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // property declarations are valid if their parent is a class declaration. - return parent.kind === 256 /* ClassDeclaration */; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: + return parent.kind === 257 /* ClassDeclaration */; + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: // if this method has a body and its parent is a class declaration, this is a valid target. return node.body !== undefined - && parent.kind === 256 /* ClassDeclaration */; - case 163 /* Parameter */: + && parent.kind === 257 /* ClassDeclaration */; + case 164 /* Parameter */: // if the parameter's parent has a body and its grandparent is a class declaration, this is a valid target; return parent.body !== undefined - && (parent.kind === 170 /* Constructor */ - || parent.kind === 168 /* MethodDeclaration */ - || parent.kind === 172 /* SetAccessor */) - && grandparent.kind === 256 /* ClassDeclaration */; + && (parent.kind === 171 /* Constructor */ + || parent.kind === 169 /* MethodDeclaration */ + || parent.kind === 173 /* SetAccessor */) + && grandparent.kind === 257 /* ClassDeclaration */; } return false; } @@ -15933,11 +16139,11 @@ var ts; ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); // TODO: GH#18217 - case 168 /* MethodDeclaration */: - case 172 /* SetAccessor */: - case 170 /* Constructor */: + case 169 /* MethodDeclaration */: + case 173 /* SetAccessor */: + case 171 /* Constructor */: return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); // TODO: GH#18217 default: return false; @@ -15953,9 +16159,9 @@ var ts; ts.classOrConstructorParameterIsDecorated = classOrConstructorParameterIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 279 /* JsxOpeningElement */ || - parent.kind === 278 /* JsxSelfClosingElement */ || - parent.kind === 280 /* JsxClosingElement */) { + if (parent.kind === 280 /* JsxOpeningElement */ || + parent.kind === 279 /* JsxSelfClosingElement */ || + parent.kind === 281 /* JsxClosingElement */) { return parent.tagName === node; } return false; @@ -15968,51 +16174,51 @@ var ts; case 110 /* TrueKeyword */: case 95 /* FalseKeyword */: case 13 /* RegularExpressionLiteral */: - case 203 /* ArrayLiteralExpression */: - case 204 /* ObjectLiteralExpression */: - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 209 /* TaggedTemplateExpression */: - case 228 /* AsExpression */: - case 210 /* TypeAssertionExpression */: - case 229 /* NonNullExpression */: - case 211 /* ParenthesizedExpression */: - case 212 /* FunctionExpression */: - case 225 /* ClassExpression */: - case 213 /* ArrowFunction */: - case 216 /* VoidExpression */: - case 214 /* DeleteExpression */: - case 215 /* TypeOfExpression */: - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: - case 220 /* BinaryExpression */: - case 221 /* ConditionalExpression */: - case 224 /* SpreadElement */: - case 222 /* TemplateExpression */: - case 226 /* OmittedExpression */: - case 277 /* JsxElement */: - case 278 /* JsxSelfClosingElement */: - case 281 /* JsxFragment */: - case 223 /* YieldExpression */: - case 217 /* AwaitExpression */: - case 230 /* MetaProperty */: + case 204 /* ArrayLiteralExpression */: + case 205 /* ObjectLiteralExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 210 /* TaggedTemplateExpression */: + case 229 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 230 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: + case 213 /* FunctionExpression */: + case 226 /* ClassExpression */: + case 214 /* ArrowFunction */: + case 217 /* VoidExpression */: + case 215 /* DeleteExpression */: + case 216 /* TypeOfExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: + case 221 /* BinaryExpression */: + case 222 /* ConditionalExpression */: + case 225 /* SpreadElement */: + case 223 /* TemplateExpression */: + case 227 /* OmittedExpression */: + case 278 /* JsxElement */: + case 279 /* JsxSelfClosingElement */: + case 282 /* JsxFragment */: + case 224 /* YieldExpression */: + case 218 /* AwaitExpression */: + case 231 /* MetaProperty */: return true; - case 160 /* QualifiedName */: - while (node.parent.kind === 160 /* QualifiedName */) { + case 161 /* QualifiedName */: + while (node.parent.kind === 161 /* QualifiedName */) { node = node.parent; } - return node.parent.kind === 180 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); - case 309 /* JSDocMemberName */: + return node.parent.kind === 181 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); + case 311 /* JSDocMemberName */: while (ts.isJSDocMemberName(node.parent)) { node = node.parent; } - return node.parent.kind === 180 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); + return node.parent.kind === 181 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); case 80 /* PrivateIdentifier */: return ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 101 /* InKeyword */; case 79 /* Identifier */: - if (node.parent.kind === 180 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) { + if (node.parent.kind === 181 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) { return true; } // falls through @@ -16030,49 +16236,49 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 297 /* EnumMember */: - case 294 /* PropertyAssignment */: - case 202 /* BindingElement */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 299 /* EnumMember */: + case 296 /* PropertyAssignment */: + case 203 /* BindingElement */: return parent.initializer === node; - case 237 /* ExpressionStatement */: - case 238 /* IfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 246 /* ReturnStatement */: - case 247 /* WithStatement */: - case 248 /* SwitchStatement */: - case 288 /* CaseClause */: - case 250 /* ThrowStatement */: + case 238 /* ExpressionStatement */: + case 239 /* IfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 247 /* ReturnStatement */: + case 248 /* WithStatement */: + case 249 /* SwitchStatement */: + case 289 /* CaseClause */: + case 251 /* ThrowStatement */: return parent.expression === node; - case 241 /* ForStatement */: + case 242 /* ForStatement */: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 254 /* VariableDeclarationList */) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 255 /* VariableDeclarationList */) || forStatement.condition === node || forStatement.incrementor === node; - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 254 /* VariableDeclarationList */) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 255 /* VariableDeclarationList */) || forInStatement.expression === node; - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: return node === parent.expression; - case 232 /* TemplateSpan */: + case 233 /* TemplateSpan */: return node === parent.expression; - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return node === parent.expression; - case 164 /* Decorator */: - case 287 /* JsxExpression */: - case 286 /* JsxSpreadAttribute */: - case 296 /* SpreadAssignment */: + case 165 /* Decorator */: + case 288 /* JsxExpression */: + case 287 /* JsxSpreadAttribute */: + case 298 /* SpreadAssignment */: return true; - case 227 /* ExpressionWithTypeArguments */: - return parent.expression === node && isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 295 /* ShorthandPropertyAssignment */: + case 228 /* ExpressionWithTypeArguments */: + return parent.expression === node && !isPartOfTypeNode(parent); + case 297 /* ShorthandPropertyAssignment */: return parent.objectAssignmentInitializer === node; default: return isExpressionNode(parent); @@ -16080,10 +16286,10 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isPartOfTypeQuery(node) { - while (node.kind === 160 /* QualifiedName */ || node.kind === 79 /* Identifier */) { + while (node.kind === 161 /* QualifiedName */ || node.kind === 79 /* Identifier */) { node = node.parent; } - return node.kind === 180 /* TypeQuery */; + return node.kind === 181 /* TypeQuery */; } ts.isPartOfTypeQuery = isPartOfTypeQuery; function isNamespaceReexportDeclaration(node) { @@ -16091,7 +16297,7 @@ var ts; } ts.isNamespaceReexportDeclaration = isNamespaceReexportDeclaration; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 264 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 276 /* ExternalModuleReference */; + return node.kind === 265 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 277 /* ExternalModuleReference */; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -16104,7 +16310,7 @@ var ts; } ts.getExternalModuleRequireArgument = getExternalModuleRequireArgument; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 264 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 276 /* ExternalModuleReference */; + return node.kind === 265 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 277 /* ExternalModuleReference */; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJS(file) { @@ -16116,11 +16322,11 @@ var ts; } ts.isSourceFileNotJS = isSourceFileNotJS; function isInJSFile(node) { - return !!node && !!(node.flags & 131072 /* JavaScriptFile */); + return !!node && !!(node.flags & 262144 /* JavaScriptFile */); } ts.isInJSFile = isInJSFile; function isInJsonFile(node) { - return !!node && !!(node.flags & 33554432 /* JsonFile */); + return !!node && !!(node.flags & 67108864 /* JsonFile */); } ts.isInJsonFile = isInJsonFile; function isSourceFileNotJson(file) { @@ -16128,7 +16334,7 @@ var ts; } ts.isSourceFileNotJson = isSourceFileNotJson; function isInJSDoc(node) { - return !!node && !!(node.flags & 4194304 /* JSDoc */); + return !!node && !!(node.flags & 8388608 /* JSDoc */); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -16136,11 +16342,11 @@ var ts; ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object" && node.typeArguments && node.typeArguments.length === 2 && - (node.typeArguments[0].kind === 149 /* StringKeyword */ || node.typeArguments[0].kind === 146 /* NumberKeyword */); + (node.typeArguments[0].kind === 150 /* StringKeyword */ || node.typeArguments[0].kind === 147 /* NumberKeyword */); } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, requireStringLiteralLikeArgument) { - if (callExpression.kind !== 207 /* CallExpression */) { + if (callExpression.kind !== 208 /* CallExpression */) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -16170,7 +16376,7 @@ var ts; } ts.isVariableDeclarationInitializedToBareOrAccessedRequire = isVariableDeclarationInitializedToBareOrAccessedRequire; function isVariableDeclarationInitializedWithRequireHelper(node, allowAccessedRequire) { - if (node.kind === 202 /* BindingElement */) { + if (node.kind === 203 /* BindingElement */) { node = node.parent.parent; } return ts.isVariableDeclaration(node) && @@ -16252,11 +16458,11 @@ var ts; function getExpandoInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 212 /* FunctionExpression */ || e.kind === 213 /* ArrowFunction */ ? initializer : undefined; + return e.kind === 213 /* FunctionExpression */ || e.kind === 214 /* ArrowFunction */ ? initializer : undefined; } - if (initializer.kind === 212 /* FunctionExpression */ || - initializer.kind === 225 /* ClassExpression */ || - initializer.kind === 213 /* ArrowFunction */) { + if (initializer.kind === 213 /* FunctionExpression */ || + initializer.kind === 226 /* ClassExpression */ || + initializer.kind === 214 /* ArrowFunction */) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -16506,7 +16712,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJSFile(expr) && - expr.parent && expr.parent.kind === 237 /* ExpressionStatement */ && + expr.parent && expr.parent.kind === 238 /* ExpressionStatement */ && (!ts.isElementAccessExpression(expr) || isLiteralLikeElementAccess(expr)) && !!ts.getJSDocTypeTag(expr.parent); } @@ -16514,7 +16720,7 @@ var ts; function setValueDeclaration(symbol, node) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - !(node.flags & 8388608 /* Ambient */ && !(valueDeclaration.flags & 8388608 /* Ambient */)) && + !(node.flags & 16777216 /* Ambient */ && !(valueDeclaration.flags & 16777216 /* Ambient */)) && (isAssignmentDeclaration(valueDeclaration) && !isAssignmentDeclaration(node)) || (valueDeclaration.kind !== node.kind && isEffectiveModuleDeclaration(valueDeclaration))) { // other kinds of value declarations take precedence over modules and assignment declarations @@ -16527,17 +16733,17 @@ var ts; return false; } var decl = symbol.valueDeclaration; - return decl.kind === 255 /* FunctionDeclaration */ || ts.isVariableDeclaration(decl) && decl.initializer && ts.isFunctionLike(decl.initializer); + return decl.kind === 256 /* FunctionDeclaration */ || ts.isVariableDeclaration(decl) && decl.initializer && ts.isFunctionLike(decl.initializer); } ts.isFunctionSymbol = isFunctionSymbol; function tryGetModuleSpecifierFromDeclaration(node) { var _a, _b, _c; switch (node.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return node.initializer.arguments[0].text; - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return (_a = ts.tryCast(node.moduleSpecifier, ts.isStringLiteralLike)) === null || _a === void 0 ? void 0 : _a.text; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return (_c = ts.tryCast((_b = ts.tryCast(node.moduleReference, ts.isExternalModuleReference)) === null || _b === void 0 ? void 0 : _b.expression, ts.isStringLiteralLike)) === null || _c === void 0 ? void 0 : _c.text; default: ts.Debug.assertNever(node); @@ -16550,14 +16756,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: return node.parent; - case 276 /* ExternalModuleReference */: + case 277 /* ExternalModuleReference */: return node.parent.parent; - case 207 /* CallExpression */: + case 208 /* CallExpression */: return isImportCall(node.parent) || isRequireCall(node.parent, /*checkArg*/ false) ? node.parent : undefined; - case 195 /* LiteralType */: + case 196 /* LiteralType */: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -16567,16 +16773,16 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: return node.moduleSpecifier; - case 264 /* ImportEqualsDeclaration */: - return node.moduleReference.kind === 276 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; - case 199 /* ImportType */: + case 265 /* ImportEqualsDeclaration */: + return node.moduleReference.kind === 277 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; + case 200 /* ImportType */: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; - case 207 /* CallExpression */: + case 208 /* CallExpression */: return node.arguments[0]; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return node.name.kind === 10 /* StringLiteral */ ? node.name : undefined; default: return ts.Debug.assertNever(node); @@ -16585,11 +16791,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return node; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return node.exportClause && ts.tryCast(node.exportClause, ts.isNamespaceExport); default: return ts.Debug.assertNever(node); @@ -16597,7 +16803,7 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 265 /* ImportDeclaration */ && !!node.importClause && !!node.importClause.name; + return node.kind === 266 /* ImportDeclaration */ && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function forEachImportClauseDeclaration(node, action) { @@ -16618,13 +16824,13 @@ var ts; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 163 /* Parameter */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 295 /* ShorthandPropertyAssignment */: - case 294 /* PropertyAssignment */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 164 /* Parameter */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 297 /* ShorthandPropertyAssignment */: + case 296 /* PropertyAssignment */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: return node.questionToken !== undefined; } } @@ -16638,7 +16844,7 @@ var ts; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 343 /* JSDocTypedefTag */ || node.kind === 336 /* JSDocCallbackTag */ || node.kind === 337 /* JSDocEnumTag */; + return node.kind === 345 /* JSDocTypedefTag */ || node.kind === 338 /* JSDocCallbackTag */ || node.kind === 339 /* JSDocEnumTag */; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -16663,12 +16869,12 @@ var ts; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return node.initializer; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return node.initializer; } } @@ -16680,7 +16886,7 @@ var ts; function getNestedModuleDeclaration(node) { return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 260 /* ModuleDeclaration */ + node.body.kind === 261 /* ModuleDeclaration */ ? node.body : undefined; } @@ -16695,11 +16901,11 @@ var ts; if (ts.hasJSDocNodes(node)) { result = ts.addRange(result, filterOwnedJSDocTags(hostNode, ts.last(node.jsDoc))); } - if (node.kind === 163 /* Parameter */) { + if (node.kind === 164 /* Parameter */) { result = ts.addRange(result, (noCache ? ts.getJSDocParameterTagsNoCache : ts.getJSDocParameterTags)(node)); break; } - if (node.kind === 162 /* TypeParameter */) { + if (node.kind === 163 /* TypeParameter */) { result = ts.addRange(result, (noCache ? ts.getJSDocTypeParameterTagsNoCache : ts.getJSDocTypeParameterTags)(node)); break; } @@ -16728,11 +16934,11 @@ var ts; } function getNextJSDocCommentLocation(node) { var parent = node.parent; - if (parent.kind === 294 /* PropertyAssignment */ || - parent.kind === 270 /* ExportAssignment */ || - parent.kind === 166 /* PropertyDeclaration */ || - parent.kind === 237 /* ExpressionStatement */ && node.kind === 205 /* PropertyAccessExpression */ || - parent.kind === 246 /* ReturnStatement */ || + if (parent.kind === 296 /* PropertyAssignment */ || + parent.kind === 271 /* ExportAssignment */ || + parent.kind === 167 /* PropertyDeclaration */ || + parent.kind === 238 /* ExpressionStatement */ && node.kind === 206 /* PropertyAccessExpression */ || + parent.kind === 247 /* ReturnStatement */ || getNestedModuleDeclaration(parent) || ts.isBinaryExpression(node) && node.operatorToken.kind === 63 /* EqualsToken */) { return parent; @@ -16787,7 +16993,11 @@ var ts; ts.getEffectiveContainerForJSDocTemplateTag = getEffectiveContainerForJSDocTemplateTag; function getHostSignatureFromJSDoc(node) { var host = getEffectiveJSDocHost(node); - return host && ts.isFunctionLike(host) ? host : undefined; + if (host) { + return ts.isPropertySignature(host) && host.type && ts.isFunctionLike(host.type) ? host.type : + ts.isFunctionLike(host) ? host : undefined; + } + return undefined; } ts.getHostSignatureFromJSDoc = getHostSignatureFromJSDoc; function getEffectiveJSDocHost(node) { @@ -16831,7 +17041,7 @@ var ts; ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || !!type && type.kind === 316 /* JSDocVariadicType */; + return node.dotDotDotToken !== undefined || !!type && type.kind === 318 /* JSDocVariadicType */; } ts.isRestParameter = isRestParameter; function hasTypeArguments(node) { @@ -16848,34 +17058,34 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 63 /* EqualsToken */ || isLogicalOrCoalescingAssignmentOperator(binaryOperator) ? 1 /* Definite */ : 2 /* Compound */ : 0 /* None */; - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: var unaryOperator = parent.operator; return unaryOperator === 45 /* PlusPlusToken */ || unaryOperator === 46 /* MinusMinusToken */ ? 2 /* Compound */ : 0 /* None */; - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: return parent.initializer === node ? 1 /* Definite */ : 0 /* None */; - case 211 /* ParenthesizedExpression */: - case 203 /* ArrayLiteralExpression */: - case 224 /* SpreadElement */: - case 229 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: + case 204 /* ArrayLiteralExpression */: + case 225 /* SpreadElement */: + case 230 /* NonNullExpression */: node = parent; break; - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: node = parent.parent; break; - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: if (parent.name !== node) { return 0 /* None */; } node = parent.parent; break; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: if (parent.name === node) { return 0 /* None */; } @@ -16902,22 +17112,22 @@ var ts; */ function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 234 /* Block */: - case 236 /* VariableStatement */: - case 247 /* WithStatement */: - case 238 /* IfStatement */: - case 248 /* SwitchStatement */: - case 262 /* CaseBlock */: - case 288 /* CaseClause */: - case 289 /* DefaultClause */: - case 249 /* LabeledStatement */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 251 /* TryStatement */: - case 291 /* CatchClause */: + case 235 /* Block */: + case 237 /* VariableStatement */: + case 248 /* WithStatement */: + case 239 /* IfStatement */: + case 249 /* SwitchStatement */: + case 263 /* CaseBlock */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: + case 250 /* LabeledStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 252 /* TryStatement */: + case 292 /* CatchClause */: return true; } return false; @@ -16934,11 +17144,11 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 190 /* ParenthesizedType */); + return walkUp(node, 191 /* ParenthesizedType */); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 211 /* ParenthesizedExpression */); + return walkUp(node, 212 /* ParenthesizedExpression */); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; /** @@ -16948,7 +17158,7 @@ var ts; */ function walkUpParenthesizedTypesAndGetParentAndChild(node) { var child; - while (node && node.kind === 190 /* ParenthesizedType */) { + while (node && node.kind === 191 /* ParenthesizedType */) { child = node; node = node.parent; } @@ -16964,11 +17174,11 @@ var ts; ts.skipParentheses = skipParentheses; // a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped function isDeleteTarget(node) { - if (node.kind !== 205 /* PropertyAccessExpression */ && node.kind !== 206 /* ElementAccessExpression */) { + if (node.kind !== 206 /* PropertyAccessExpression */ && node.kind !== 207 /* ElementAccessExpression */) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 214 /* DeleteExpression */; + return node && node.kind === 215 /* DeleteExpression */; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -17021,7 +17231,7 @@ var ts; ts.getDeclarationFromName = getDeclarationFromName; function isLiteralComputedPropertyDeclarationName(node) { return isStringOrNumericLiteralLike(node) && - node.parent.kind === 161 /* ComputedPropertyName */ && + node.parent.kind === 162 /* ComputedPropertyName */ && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; @@ -17029,26 +17239,26 @@ var ts; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 297 /* EnumMember */: - case 294 /* PropertyAssignment */: - case 205 /* PropertyAccessExpression */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 299 /* EnumMember */: + case 296 /* PropertyAssignment */: + case 206 /* PropertyAccessExpression */: // Name in member declaration or property name in property access return parent.name === node; - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: // Name on right hand side of dot in a type query or type reference return parent.right === node; - case 202 /* BindingElement */: - case 269 /* ImportSpecifier */: + case 203 /* BindingElement */: + case 270 /* ImportSpecifier */: // Property name in binding element or import specifier return parent.propertyName === node; - case 274 /* ExportSpecifier */: - case 284 /* JsxAttribute */: + case 275 /* ExportSpecifier */: + case 285 /* JsxAttribute */: // Any name in an export specifier or JSX Attribute return true; } @@ -17068,33 +17278,33 @@ var ts; // {} // {name: } function isAliasSymbolDeclaration(node) { - return node.kind === 264 /* ImportEqualsDeclaration */ || - node.kind === 263 /* NamespaceExportDeclaration */ || - node.kind === 266 /* ImportClause */ && !!node.name || - node.kind === 267 /* NamespaceImport */ || - node.kind === 273 /* NamespaceExport */ || - node.kind === 269 /* ImportSpecifier */ || - node.kind === 274 /* ExportSpecifier */ || - node.kind === 270 /* ExportAssignment */ && exportAssignmentIsAlias(node) || + return node.kind === 265 /* ImportEqualsDeclaration */ || + node.kind === 264 /* NamespaceExportDeclaration */ || + node.kind === 267 /* ImportClause */ && !!node.name || + node.kind === 268 /* NamespaceImport */ || + node.kind === 274 /* NamespaceExport */ || + node.kind === 270 /* ImportSpecifier */ || + node.kind === 275 /* ExportSpecifier */ || + node.kind === 271 /* ExportAssignment */ && exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 2 /* ModuleExports */ && exportAssignmentIsAlias(node) || ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* EqualsToken */ && isAliasableExpression(node.parent.right) || - node.kind === 295 /* ShorthandPropertyAssignment */ || - node.kind === 294 /* PropertyAssignment */ && isAliasableExpression(node.initializer); + node.kind === 297 /* ShorthandPropertyAssignment */ || + node.kind === 296 /* PropertyAssignment */ && isAliasableExpression(node.initializer); } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; function getAliasDeclarationFromName(node) { switch (node.parent.kind) { - case 266 /* ImportClause */: - case 269 /* ImportSpecifier */: - case 267 /* NamespaceImport */: - case 274 /* ExportSpecifier */: - case 270 /* ExportAssignment */: - case 264 /* ImportEqualsDeclaration */: + case 267 /* ImportClause */: + case 270 /* ImportSpecifier */: + case 268 /* NamespaceImport */: + case 275 /* ExportSpecifier */: + case 271 /* ExportAssignment */: + case 265 /* ImportEqualsDeclaration */: return node.parent; - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: do { node = node.parent; - } while (node.parent.kind === 160 /* QualifiedName */); + } while (node.parent.kind === 161 /* QualifiedName */); return getAliasDeclarationFromName(node); } } @@ -17113,7 +17323,7 @@ var ts; } ts.getExportAssignmentExpression = getExportAssignmentExpression; function getPropertyAssignmentAliasLikeExpression(node) { - return node.kind === 295 /* ShorthandPropertyAssignment */ ? node.name : node.kind === 294 /* PropertyAssignment */ ? node.initializer : + return node.kind === 297 /* ShorthandPropertyAssignment */ ? node.name : node.kind === 296 /* PropertyAssignment */ ? node.initializer : node.parent.right; } ts.getPropertyAssignmentAliasLikeExpression = getPropertyAssignmentAliasLikeExpression; @@ -17179,11 +17389,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 81 /* FirstKeyword */ <= token && token <= 159 /* LastKeyword */; + return 81 /* FirstKeyword */ <= token && token <= 160 /* LastKeyword */; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 126 /* FirstContextualKeyword */ <= token && token <= 159 /* LastContextualKeyword */; + return 126 /* FirstContextualKeyword */ <= token && token <= 160 /* LastContextualKeyword */; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -17227,14 +17437,14 @@ var ts; } var flags = 0 /* Normal */; switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: if (node.asteriskToken) { flags |= 1 /* Generator */; } // falls through - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: if (hasSyntacticModifier(node, 256 /* Async */)) { flags |= 2 /* Async */; } @@ -17248,10 +17458,10 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: return node.body !== undefined && node.asteriskToken === undefined && hasSyntacticModifier(node, 256 /* Async */); @@ -17281,7 +17491,7 @@ var ts; } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - if (!(name.kind === 161 /* ComputedPropertyName */ || name.kind === 206 /* ElementAccessExpression */)) { + if (!(name.kind === 162 /* ComputedPropertyName */ || name.kind === 207 /* ElementAccessExpression */)) { return false; } var expr = ts.isElementAccessExpression(name) ? skipParentheses(name.argumentExpression) : name.expression; @@ -17297,7 +17507,7 @@ var ts; case 10 /* StringLiteral */: case 8 /* NumericLiteral */: return ts.escapeLeadingUnderscores(name.text); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: var nameExpression = name.expression; if (isStringOrNumericLiteralLike(nameExpression)) { return ts.escapeLeadingUnderscores(nameExpression.text); @@ -17335,11 +17545,11 @@ var ts; } ts.getEscapedTextOfIdentifierOrLiteral = getEscapedTextOfIdentifierOrLiteral; function getPropertyNameForUniqueESSymbol(symbol) { - return "__@".concat(ts.getSymbolId(symbol), "@").concat(symbol.escapedName); + return "__@" + ts.getSymbolId(symbol) + "@" + symbol.escapedName; } ts.getPropertyNameForUniqueESSymbol = getPropertyNameForUniqueESSymbol; function getSymbolNameForPrivateIdentifier(containingClassSymbol, description) { - return "__#".concat(ts.getSymbolId(containingClassSymbol), "@").concat(description); + return "__#" + ts.getSymbolId(containingClassSymbol) + "@" + description; } ts.getSymbolNameForPrivateIdentifier = getSymbolNameForPrivateIdentifier; function isKnownSymbol(symbol) { @@ -17363,11 +17573,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 163 /* Parameter */; + return root.kind === 164 /* Parameter */; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 202 /* BindingElement */) { + while (node.kind === 203 /* BindingElement */) { node = node.parent.parent; } return node; @@ -17375,15 +17585,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 170 /* Constructor */ - || kind === 212 /* FunctionExpression */ - || kind === 255 /* FunctionDeclaration */ - || kind === 213 /* ArrowFunction */ - || kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */ - || kind === 260 /* ModuleDeclaration */ - || kind === 303 /* SourceFile */; + return kind === 171 /* Constructor */ + || kind === 213 /* FunctionExpression */ + || kind === 256 /* FunctionDeclaration */ + || kind === 214 /* ArrowFunction */ + || kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */ + || kind === 261 /* ModuleDeclaration */ + || kind === 305 /* SourceFile */; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -17402,23 +17612,23 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 208 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 209 /* NewExpression */ && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 208 /* NewExpression */: + case 209 /* NewExpression */: return hasArguments ? 0 /* Left */ : 1 /* Right */; - case 218 /* PrefixUnaryExpression */: - case 215 /* TypeOfExpression */: - case 216 /* VoidExpression */: - case 214 /* DeleteExpression */: - case 217 /* AwaitExpression */: - case 221 /* ConditionalExpression */: - case 223 /* YieldExpression */: + case 219 /* PrefixUnaryExpression */: + case 216 /* TypeOfExpression */: + case 217 /* VoidExpression */: + case 215 /* DeleteExpression */: + case 218 /* AwaitExpression */: + case 222 /* ConditionalExpression */: + case 224 /* YieldExpression */: return 1 /* Right */; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: switch (operator) { case 42 /* AsteriskAsteriskToken */: case 63 /* EqualsToken */: @@ -17445,15 +17655,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 208 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 209 /* NewExpression */ && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 220 /* BinaryExpression */) { + if (expression.kind === 221 /* BinaryExpression */) { return expression.operatorToken.kind; } - else if (expression.kind === 218 /* PrefixUnaryExpression */ || expression.kind === 219 /* PostfixUnaryExpression */) { + else if (expression.kind === 219 /* PrefixUnaryExpression */ || expression.kind === 220 /* PostfixUnaryExpression */) { return expression.operator; } else { @@ -17632,15 +17842,15 @@ var ts; })(OperatorPrecedence = ts.OperatorPrecedence || (ts.OperatorPrecedence = {})); function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: return 0 /* Comma */; - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: return 1 /* Spread */; - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return 2 /* Yield */; - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return 4 /* Conditional */; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: switch (operatorKind) { case 27 /* CommaToken */: return 0 /* Comma */; @@ -17665,26 +17875,26 @@ var ts; return getBinaryOperatorPrecedence(operatorKind); } // TODO: Should prefix `++` and `--` be moved to the `Update` precedence? - case 210 /* TypeAssertionExpression */: - case 229 /* NonNullExpression */: - case 218 /* PrefixUnaryExpression */: - case 215 /* TypeOfExpression */: - case 216 /* VoidExpression */: - case 214 /* DeleteExpression */: - case 217 /* AwaitExpression */: + case 211 /* TypeAssertionExpression */: + case 230 /* NonNullExpression */: + case 219 /* PrefixUnaryExpression */: + case 216 /* TypeOfExpression */: + case 217 /* VoidExpression */: + case 215 /* DeleteExpression */: + case 218 /* AwaitExpression */: return 16 /* Unary */; - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return 17 /* Update */; - case 207 /* CallExpression */: + case 208 /* CallExpression */: return 18 /* LeftHandSide */; - case 208 /* NewExpression */: + case 209 /* NewExpression */: return hasArguments ? 19 /* Member */ : 18 /* LeftHandSide */; - case 209 /* TaggedTemplateExpression */: - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: - case 230 /* MetaProperty */: + case 210 /* TaggedTemplateExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: + case 231 /* MetaProperty */: return 19 /* Member */; - case 228 /* AsExpression */: + case 229 /* AsExpression */: return 11 /* Relational */; case 108 /* ThisKeyword */: case 106 /* SuperKeyword */: @@ -17696,19 +17906,19 @@ var ts; case 8 /* NumericLiteral */: case 9 /* BigIntLiteral */: case 10 /* StringLiteral */: - case 203 /* ArrayLiteralExpression */: - case 204 /* ObjectLiteralExpression */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 225 /* ClassExpression */: + case 204 /* ArrayLiteralExpression */: + case 205 /* ObjectLiteralExpression */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 226 /* ClassExpression */: case 13 /* RegularExpressionLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - case 222 /* TemplateExpression */: - case 211 /* ParenthesizedExpression */: - case 226 /* OmittedExpression */: - case 277 /* JsxElement */: - case 278 /* JsxSelfClosingElement */: - case 281 /* JsxFragment */: + case 223 /* TemplateExpression */: + case 212 /* ParenthesizedExpression */: + case 227 /* OmittedExpression */: + case 278 /* JsxElement */: + case 279 /* JsxSelfClosingElement */: + case 282 /* JsxFragment */: return 20 /* Primary */; default: return -1 /* Invalid */; @@ -17764,7 +17974,7 @@ var ts; function getSemanticJsxChildren(children) { return ts.filter(children, function (i) { switch (i.kind) { - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return !!i.expression; case 11 /* JsxText */: return !i.containsOnlyTriviaWhiteSpaces; @@ -18342,7 +18552,7 @@ var ts; while (ts.isQualifiedName(node.parent) && node.parent.left === node) { node = node.parent; } - return node.parent.kind === 180 /* TypeQuery */; + return node.parent.kind === 181 /* TypeQuery */; } ts.isThisInTypeQuery = isThisInTypeQuery; function identifierIsThisKeyword(id) { @@ -18357,10 +18567,10 @@ var ts; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 171 /* GetAccessor */) { + if (accessor.kind === 172 /* GetAccessor */) { getAccessor = accessor; } - else if (accessor.kind === 172 /* SetAccessor */) { + else if (accessor.kind === 173 /* SetAccessor */) { setAccessor = accessor; } else { @@ -18380,10 +18590,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 171 /* GetAccessor */ && !getAccessor) { + if (member.kind === 172 /* GetAccessor */ && !getAccessor) { getAccessor = member; } - if (member.kind === 172 /* SetAccessor */ && !setAccessor) { + if (member.kind === 173 /* SetAccessor */ && !setAccessor) { setAccessor = member; } } @@ -18432,7 +18642,7 @@ var ts; ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; /** template tags are only available when a typedef isn't already using them */ function isNonTypeAliasTemplate(tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 318 /* JSDocComment */ && tag.parent.tags.some(isJSDocTypeAlias)); + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 320 /* JSDoc */ && tag.parent.tags.some(isJSDocTypeAlias)); } /** * Gets the effective type annotation of the value parameter of a set accessor. If the node @@ -18685,7 +18895,7 @@ var ts; } ts.getSelectedSyntacticModifierFlags = getSelectedSyntacticModifierFlags; function getModifierFlagsWorker(node, includeJSDoc, alwaysIncludeJSDoc) { - if (node.kind >= 0 /* FirstToken */ && node.kind <= 159 /* LastToken */) { + if (node.kind >= 0 /* FirstToken */ && node.kind <= 160 /* LastToken */) { return 0 /* None */; } if (!(node.modifierFlagsCache & 536870912 /* HasComputedFlags */)) { @@ -18783,8 +18993,10 @@ var ts; case 85 /* ConstKeyword */: return 2048 /* Const */; case 88 /* DefaultKeyword */: return 512 /* Default */; case 131 /* AsyncKeyword */: return 256 /* Async */; - case 144 /* ReadonlyKeyword */: return 64 /* Readonly */; - case 158 /* OverrideKeyword */: return 16384 /* Override */; + case 145 /* ReadonlyKeyword */: return 64 /* Readonly */; + case 159 /* OverrideKeyword */: return 16384 /* Override */; + case 101 /* InKeyword */: return 32768 /* In */; + case 144 /* OutKeyword */: return 65536 /* Out */; } return 0 /* None */; } @@ -18842,8 +19054,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true)) { var kind = node.left.kind; - return kind === 204 /* ObjectLiteralExpression */ - || kind === 203 /* ArrayLiteralExpression */; + return kind === 205 /* ObjectLiteralExpression */ + || kind === 204 /* ArrayLiteralExpression */; } return false; } @@ -18860,12 +19072,12 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return node; - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: do { node = node.left; } while (node.kind !== 79 /* Identifier */); return node; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: do { node = node.expression; } while (node.kind !== 79 /* Identifier */); @@ -18877,9 +19089,9 @@ var ts; return node.kind === 79 /* Identifier */ || node.kind === 108 /* ThisKeyword */ || node.kind === 106 /* SuperKeyword */ - || node.kind === 230 /* MetaProperty */ - || node.kind === 205 /* PropertyAccessExpression */ && isDottedName(node.expression) - || node.kind === 211 /* ParenthesizedExpression */ && isDottedName(node.expression); + || node.kind === 231 /* MetaProperty */ + || node.kind === 206 /* PropertyAccessExpression */ && isDottedName(node.expression) + || node.kind === 212 /* ParenthesizedExpression */ && isDottedName(node.expression); } ts.isDottedName = isDottedName; function isPropertyAccessEntityNameExpression(node) { @@ -18910,8 +19122,8 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 160 /* QualifiedName */ && node.parent.right === node) || - (node.parent.kind === 205 /* PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 161 /* QualifiedName */ && node.parent.right === node) || + (node.parent.kind === 206 /* PropertyAccessExpression */ && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName(node) { @@ -18921,12 +19133,12 @@ var ts; } ts.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName = isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName; function isEmptyObjectLiteral(expression) { - return expression.kind === 204 /* ObjectLiteralExpression */ && + return expression.kind === 205 /* ObjectLiteralExpression */ && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 203 /* ArrayLiteralExpression */ && + return expression.kind === 204 /* ArrayLiteralExpression */ && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -19258,8 +19470,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 259 /* EnumDeclaration */: - case 260 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 261 /* ModuleDeclaration */: return parseNode === parseNode.parent.name; } } @@ -19289,7 +19501,7 @@ var ts; function getDeclarationModifierFlagsFromSymbol(s, isWrite) { if (isWrite === void 0) { isWrite = false; } if (s.valueDeclaration) { - var declaration = (isWrite && s.declarations && ts.find(s.declarations, function (d) { return d.kind === 172 /* SetAccessor */; })) || s.valueDeclaration; + var declaration = (isWrite && s.declarations && ts.find(s.declarations, function (d) { return d.kind === 173 /* SetAccessor */; })) || s.valueDeclaration; var flags = ts.getCombinedModifierFlags(declaration); return s.parent && s.parent.flags & 32 /* Class */ ? flags : flags & ~28 /* AccessibilityModifier */; } @@ -19338,35 +19550,35 @@ var ts; if (!parent) return 0 /* Read */; switch (parent.kind) { - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return accessKind(parent); - case 219 /* PostfixUnaryExpression */: - case 218 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: var operator = parent.operator; return operator === 45 /* PlusPlusToken */ || operator === 46 /* MinusMinusToken */ ? writeOrReadWrite() : 0 /* Read */; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? operatorToken.kind === 63 /* EqualsToken */ ? 1 /* Write */ : writeOrReadWrite() : 0 /* Read */; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return parent.name !== node ? 0 /* Read */ : accessKind(parent); - case 294 /* PropertyAssignment */: { + case 296 /* PropertyAssignment */: { var parentAccess = accessKind(parent.parent); // In `({ x: varname }) = { x: 1 }`, the left `x` is a read, the right `x` is a write. return node === parent.name ? reverseAccessKind(parentAccess) : parentAccess; } - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: // Assume it's the local variable being accessed, since we don't check public properties for --noUnusedLocals. return node === parent.objectAssignmentInitializer ? 0 /* Read */ : accessKind(parent.parent); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return accessKind(parent); default: return 0 /* Read */; } function writeOrReadWrite() { // If grandparent is not an ExpressionStatement, this is used as an expression in addition to having a side effect. - return parent.parent && walkUpParenthesizedExpressions(parent.parent).kind === 237 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; + return parent.parent && walkUpParenthesizedExpressions(parent.parent).kind === 238 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; } } function reverseAccessKind(a) { @@ -19510,37 +19722,37 @@ var ts; } ts.isObjectTypeDeclaration = isObjectTypeDeclaration; function isTypeNodeKind(kind) { - return (kind >= 176 /* FirstTypeNode */ && kind <= 199 /* LastTypeNode */) + return (kind >= 177 /* FirstTypeNode */ && kind <= 200 /* LastTypeNode */) || kind === 130 /* AnyKeyword */ - || kind === 154 /* UnknownKeyword */ - || kind === 146 /* NumberKeyword */ - || kind === 157 /* BigIntKeyword */ - || kind === 147 /* ObjectKeyword */ + || kind === 155 /* UnknownKeyword */ + || kind === 147 /* NumberKeyword */ + || kind === 158 /* BigIntKeyword */ + || kind === 148 /* ObjectKeyword */ || kind === 133 /* BooleanKeyword */ - || kind === 149 /* StringKeyword */ - || kind === 150 /* SymbolKeyword */ + || kind === 150 /* StringKeyword */ + || kind === 151 /* SymbolKeyword */ || kind === 114 /* VoidKeyword */ - || kind === 152 /* UndefinedKeyword */ + || kind === 153 /* UndefinedKeyword */ || kind === 143 /* NeverKeyword */ - || kind === 227 /* ExpressionWithTypeArguments */ - || kind === 310 /* JSDocAllType */ - || kind === 311 /* JSDocUnknownType */ - || kind === 312 /* JSDocNullableType */ - || kind === 313 /* JSDocNonNullableType */ - || kind === 314 /* JSDocOptionalType */ - || kind === 315 /* JSDocFunctionType */ - || kind === 316 /* JSDocVariadicType */; + || kind === 228 /* ExpressionWithTypeArguments */ + || kind === 312 /* JSDocAllType */ + || kind === 313 /* JSDocUnknownType */ + || kind === 314 /* JSDocNullableType */ + || kind === 315 /* JSDocNonNullableType */ + || kind === 316 /* JSDocOptionalType */ + || kind === 317 /* JSDocFunctionType */ + || kind === 318 /* JSDocVariadicType */; } ts.isTypeNodeKind = isTypeNodeKind; function isAccessExpression(node) { - return node.kind === 205 /* PropertyAccessExpression */ || node.kind === 206 /* ElementAccessExpression */; + return node.kind === 206 /* PropertyAccessExpression */ || node.kind === 207 /* ElementAccessExpression */; } ts.isAccessExpression = isAccessExpression; function getNameOfAccessExpression(node) { - if (node.kind === 205 /* PropertyAccessExpression */) { + if (node.kind === 206 /* PropertyAccessExpression */) { return node.name; } - ts.Debug.assert(node.kind === 206 /* ElementAccessExpression */); + ts.Debug.assert(node.kind === 207 /* ElementAccessExpression */); return node.argumentExpression; } ts.getNameOfAccessExpression = getNameOfAccessExpression; @@ -19555,7 +19767,7 @@ var ts; } ts.isBundleFileTextLike = isBundleFileTextLike; function isNamedImportsOrExports(node) { - return node.kind === 268 /* NamedImports */ || node.kind === 272 /* NamedExports */; + return node.kind === 269 /* NamedImports */ || node.kind === 273 /* NamedExports */; } ts.isNamedImportsOrExports = isNamedImportsOrExports; function getLeftmostAccessExpression(expr) { @@ -19568,28 +19780,28 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: node = node.operand; continue; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: node = node.left; continue; - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: node = node.condition; continue; - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: node = node.tag; continue; - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (stopAtCallExpressions) { return node; } // falls through - case 228 /* AsExpression */: - case 206 /* ElementAccessExpression */: - case 205 /* PropertyAccessExpression */: - case 229 /* NonNullExpression */: - case 348 /* PartiallyEmittedExpression */: + case 229 /* AsExpression */: + case 207 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 230 /* NonNullExpression */: + case 350 /* PartiallyEmittedExpression */: node = node.expression; continue; } @@ -19906,6 +20118,61 @@ var ts; return scriptKind === 4 /* TSX */ || scriptKind === 2 /* JSX */ || scriptKind === 1 /* JS */ || scriptKind === 6 /* JSON */ ? 1 /* JSX */ : 0 /* Standard */; } ts.getLanguageVariant = getLanguageVariant; + /** + * This is a somewhat unavoidable full tree walk to locate a JSX tag - `import.meta` requires the same, + * but we avoid that walk (or parts of it) if at all possible using the `PossiblyContainsImportMeta` node flag. + * Unfortunately, there's no `NodeFlag` space to do the same for JSX. + */ + function walkTreeForJSXTags(node) { + if (!(node.transformFlags & 2 /* ContainsJsx */)) + return undefined; + return ts.isJsxOpeningLikeElement(node) || ts.isJsxFragment(node) ? node : ts.forEachChild(node, walkTreeForJSXTags); + } + function isFileModuleFromUsingJSXTag(file) { + // Excludes declaration files - they still require an explicit `export {}` or the like + // for back compat purposes. (not that declaration files should contain JSX tags!) + return !file.isDeclarationFile ? walkTreeForJSXTags(file) : undefined; + } + /** + * Note that this requires file.impliedNodeFormat be set already; meaning it must be set very early on + * in SourceFile construction. + */ + function isFileForcedToBeModuleByFormat(file) { + // Excludes declaration files - they still require an explicit `export {}` or the like + // for back compat purposes. + return file.impliedNodeFormat === ts.ModuleKind.ESNext && !file.isDeclarationFile ? true : undefined; + } + function getSetExternalModuleIndicator(options) { + // TODO: Should this callback be cached? + switch (getEmitModuleDetectionKind(options)) { + case ts.ModuleDetectionKind.Force: + // All non-declaration files are modules, declaration files still do the usual isFileProbablyExternalModule + return function (file) { + file.externalModuleIndicator = !file.isDeclarationFile || ts.isFileProbablyExternalModule(file); + }; + case ts.ModuleDetectionKind.Legacy: + // Files are modules if they have imports, exports, or import.meta + return function (file) { + file.externalModuleIndicator = ts.isFileProbablyExternalModule(file); + }; + case ts.ModuleDetectionKind.Auto: + // If module is nodenext or node12, all esm format files are modules + // If jsx is react-jsx or react-jsxdev then jsx tags force module-ness + // otherwise, the presence of import or export statments (or import.meta) implies module-ness + var checks = [ts.isFileProbablyExternalModule]; + if (options.jsx === 4 /* ReactJSX */ || options.jsx === 5 /* ReactJSXDev */) { + checks.push(isFileModuleFromUsingJSXTag); + } + var moduleKind = getEmitModuleKind(options); + if (moduleKind === ts.ModuleKind.Node12 || moduleKind === ts.ModuleKind.NodeNext) { + checks.push(isFileForcedToBeModuleByFormat); + } + var combined_1 = ts.or.apply(void 0, checks); + var callback = function (file) { return void (file.externalModuleIndicator = combined_1(file)); }; + return callback; + } + } + ts.getSetExternalModuleIndicator = getSetExternalModuleIndicator; function getEmitScriptTarget(compilerOptions) { return compilerOptions.target || (compilerOptions.module === ts.ModuleKind.Node12 && 7 /* ES2020 */) || @@ -19940,6 +20207,10 @@ var ts; return moduleResolution; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; + function getEmitModuleDetectionKind(options) { + return options.moduleDetection || ts.ModuleDetectionKind.Auto; + } + ts.getEmitModuleDetectionKind = getEmitModuleDetectionKind; function hasJsonModuleEmitEnabled(options) { switch (getEmitModuleKind(options)) { case ts.ModuleKind.CommonJS: @@ -20041,7 +20312,7 @@ var ts; } ts.getJSXImplicitImportBase = getJSXImplicitImportBase; function getJSXRuntimeImport(base, options) { - return base ? "".concat(base, "/").concat(options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined; + return base ? base + "/" + (options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined; } ts.getJSXRuntimeImport = getJSXRuntimeImport; function hasZeroOrOneAsteriskCharacter(str) { @@ -20148,7 +20419,7 @@ var ts; } var wildcardCharCodes = [42 /* asterisk */, 63 /* question */]; ts.commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"]; - var implicitExcludePathRegexPattern = "(?!(".concat(ts.commonPackageFolders.join("|"), ")(/|$))"); + var implicitExcludePathRegexPattern = "(?!(" + ts.commonPackageFolders.join("|") + ")(/|$))"; var filesMatcher = { /** * Matches any single directory segment unless it is the last segment and a .min.js file @@ -20161,7 +20432,7 @@ var ts; * Regex for the ** wildcard. Matches any number of subdirectories. When used for including * files or directories, does not match subdirectories that start with a . character */ - doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"), + doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?", replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, filesMatcher.singleAsteriskRegexFragment); } }; var directoriesMatcher = { @@ -20170,7 +20441,7 @@ var ts; * Regex for the ** wildcard. Matches any number of subdirectories. When used for including * files or directories, does not match subdirectories that start with a . character */ - doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"), + doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?", replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, directoriesMatcher.singleAsteriskRegexFragment); } }; var excludeMatcher = { @@ -20188,10 +20459,10 @@ var ts; if (!patterns || !patterns.length) { return undefined; } - var pattern = patterns.map(function (pattern) { return "(".concat(pattern, ")"); }).join("|"); + var pattern = patterns.map(function (pattern) { return "(" + pattern + ")"; }).join("|"); // If excluding, match "foo/bar/baz...", but if including, only allow "foo". var terminator = usage === "exclude" ? "($|/)" : "$"; - return "^(".concat(pattern, ")").concat(terminator); + return "^(" + pattern + ")" + terminator; } ts.getRegularExpressionForWildcard = getRegularExpressionForWildcard; function getRegularExpressionsForWildcards(specs, basePath, usage) { @@ -20213,7 +20484,7 @@ var ts; ts.isImplicitGlob = isImplicitGlob; function getPatternFromSpec(spec, basePath, usage) { var pattern = spec && getSubPatternFromSpec(spec, basePath, usage, wildcardMatchers[usage]); - return pattern && "^(".concat(pattern, ")").concat(usage === "exclude" ? "($|/)" : "$"); + return pattern && "^(" + pattern + ")" + (usage === "exclude" ? "($|/)" : "$"); } ts.getPatternFromSpec = getPatternFromSpec; function getSubPatternFromSpec(spec, basePath, usage, _a) { @@ -20291,7 +20562,7 @@ var ts; currentDirectory = ts.normalizePath(currentDirectory); var absolutePath = ts.combinePaths(currentDirectory, path); return { - includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }), + includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^" + pattern + "$"; }), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), @@ -20572,7 +20843,7 @@ var ts; */ function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - return ext !== undefined ? ext : ts.Debug.fail("File ".concat(path, " has unknown extension.")); + return ext !== undefined ? ext : ts.Debug.fail("File " + path + " has unknown extension."); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -20751,7 +21022,7 @@ var ts; } ts.pseudoBigIntToString = pseudoBigIntToString; function isValidTypeOnlyAliasUseSite(useSite) { - return !!(useSite.flags & 8388608 /* Ambient */) + return !!(useSite.flags & 16777216 /* Ambient */) || isPartOfTypeQuery(useSite) || isIdentifierInNonEmittingHeritageClause(useSite) || isPartOfPossiblyValidTypeOrAbstractComputedPropertyName(useSite) @@ -20762,17 +21033,17 @@ var ts; return ts.isIdentifier(useSite) && ts.isShorthandPropertyAssignment(useSite.parent) && useSite.parent.name === useSite; } function isPartOfPossiblyValidTypeOrAbstractComputedPropertyName(node) { - while (node.kind === 79 /* Identifier */ || node.kind === 205 /* PropertyAccessExpression */) { + while (node.kind === 79 /* Identifier */ || node.kind === 206 /* PropertyAccessExpression */) { node = node.parent; } - if (node.kind !== 161 /* ComputedPropertyName */) { + if (node.kind !== 162 /* ComputedPropertyName */) { return false; } if (hasSyntacticModifier(node.parent, 128 /* Abstract */)) { return true; } var containerKind = node.parent.parent.kind; - return containerKind === 257 /* InterfaceDeclaration */ || containerKind === 181 /* TypeLiteral */; + return containerKind === 258 /* InterfaceDeclaration */ || containerKind === 182 /* TypeLiteral */; } /** Returns true for an identifier in 1) an `implements` clause, and 2) an `extends` clause of an interface. */ function isIdentifierInNonEmittingHeritageClause(node) { @@ -20780,16 +21051,16 @@ var ts; return false; var heritageClause = ts.findAncestor(node.parent, function (parent) { switch (parent.kind) { - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: return true; - case 205 /* PropertyAccessExpression */: - case 227 /* ExpressionWithTypeArguments */: + case 206 /* PropertyAccessExpression */: + case 228 /* ExpressionWithTypeArguments */: return false; default: return "quit"; } }); - return (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.token) === 117 /* ImplementsKeyword */ || (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.parent.kind) === 257 /* InterfaceDeclaration */; + return (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.token) === 117 /* ImplementsKeyword */ || (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.parent.kind) === 258 /* InterfaceDeclaration */; } function isIdentifierTypeReference(node) { return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName); @@ -20950,18 +21221,18 @@ var ts; if (!node.parent) return undefined; switch (node.kind) { - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: var parent_1 = node.parent; - return parent_1.kind === 189 /* InferType */ ? undefined : parent_1.typeParameters; - case 163 /* Parameter */: + return parent_1.kind === 190 /* InferType */ ? undefined : parent_1.typeParameters; + case 164 /* Parameter */: return node.parent.parameters; - case 198 /* TemplateLiteralTypeSpan */: + case 199 /* TemplateLiteralTypeSpan */: return node.parent.templateSpans; - case 232 /* TemplateSpan */: + case 233 /* TemplateSpan */: return node.parent.templateSpans; - case 164 /* Decorator */: + case 165 /* Decorator */: return node.parent.decorators; - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: return node.parent.heritageClauses; } var parent = node.parent; @@ -20969,45 +21240,45 @@ var ts; return ts.isJSDocTypeLiteral(node.parent) ? undefined : node.parent.tags; } switch (parent.kind) { - case 181 /* TypeLiteral */: - case 257 /* InterfaceDeclaration */: + case 182 /* TypeLiteral */: + case 258 /* InterfaceDeclaration */: return ts.isTypeElement(node) ? parent.members : undefined; - case 186 /* UnionType */: - case 187 /* IntersectionType */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: return parent.types; - case 183 /* TupleType */: - case 203 /* ArrayLiteralExpression */: - case 349 /* CommaListExpression */: - case 268 /* NamedImports */: - case 272 /* NamedExports */: + case 184 /* TupleType */: + case 204 /* ArrayLiteralExpression */: + case 351 /* CommaListExpression */: + case 269 /* NamedImports */: + case 273 /* NamedExports */: return parent.elements; - case 204 /* ObjectLiteralExpression */: - case 285 /* JsxAttributes */: + case 205 /* ObjectLiteralExpression */: + case 286 /* JsxAttributes */: return parent.properties; - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: return ts.isTypeNode(node) ? parent.typeArguments : parent.expression === node ? undefined : parent.arguments; - case 277 /* JsxElement */: - case 281 /* JsxFragment */: + case 278 /* JsxElement */: + case 282 /* JsxFragment */: return ts.isJsxChild(node) ? parent.children : undefined; - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: return ts.isTypeNode(node) ? parent.typeArguments : undefined; - case 234 /* Block */: - case 288 /* CaseClause */: - case 289 /* DefaultClause */: - case 261 /* ModuleBlock */: + case 235 /* Block */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: + case 262 /* ModuleBlock */: return parent.statements; - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: return parent.clauses; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return ts.isClassElement(node) ? parent.members : undefined; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return ts.isEnumMember(node) ? parent.members : undefined; - case 303 /* SourceFile */: + case 305 /* SourceFile */: return parent.statements; } } @@ -21019,7 +21290,7 @@ var ts; if (ts.some(node.parameters, function (p) { return !getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 213 /* ArrowFunction */) { + if (node.kind !== 214 /* ArrowFunction */) { // If the first parameter is not an explicit 'this' parameter, then the function has // an implicit 'this' parameter which is subject to contextual typing. var parameter = ts.firstOrUndefined(node.parameters); @@ -21037,7 +21308,7 @@ var ts; } ts.isInfinityOrNaNString = isInfinityOrNaNString; function isCatchClauseVariableDeclaration(node) { - return node.kind === 253 /* VariableDeclaration */ && node.parent.kind === 291 /* CatchClause */; + return node.kind === 254 /* VariableDeclaration */ && node.parent.kind === 292 /* CatchClause */; } ts.isCatchClauseVariableDeclaration = isCatchClauseVariableDeclaration; function isParameterOrCatchClauseVariable(symbol) { @@ -21046,7 +21317,7 @@ var ts; } ts.isParameterOrCatchClauseVariable = isParameterOrCatchClauseVariable; function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 212 /* FunctionExpression */ || node.kind === 213 /* ArrowFunction */; + return node.kind === 213 /* FunctionExpression */ || node.kind === 214 /* ArrowFunction */; } ts.isFunctionExpressionOrArrowFunction = isFunctionExpressionOrArrowFunction; function escapeSnippetText(text) { @@ -21204,11 +21475,20 @@ var ts; parenthesizeExpressionForDisallowedComma: parenthesizeExpressionForDisallowedComma, parenthesizeExpressionOfExpressionStatement: parenthesizeExpressionOfExpressionStatement, parenthesizeConciseBodyOfArrowFunction: parenthesizeConciseBodyOfArrowFunction, - parenthesizeMemberOfConditionalType: parenthesizeMemberOfConditionalType, - parenthesizeMemberOfElementType: parenthesizeMemberOfElementType, - parenthesizeElementTypeOfArrayType: parenthesizeElementTypeOfArrayType, - parenthesizeConstituentTypesOfUnionOrIntersectionType: parenthesizeConstituentTypesOfUnionOrIntersectionType, + parenthesizeCheckTypeOfConditionalType: parenthesizeCheckTypeOfConditionalType, + parenthesizeExtendsTypeOfConditionalType: parenthesizeExtendsTypeOfConditionalType, + parenthesizeConstituentTypesOfUnionType: parenthesizeConstituentTypesOfUnionType, + parenthesizeConstituentTypeOfUnionType: parenthesizeConstituentTypeOfUnionType, + parenthesizeConstituentTypesOfIntersectionType: parenthesizeConstituentTypesOfIntersectionType, + parenthesizeConstituentTypeOfIntersectionType: parenthesizeConstituentTypeOfIntersectionType, + parenthesizeOperandOfTypeOperator: parenthesizeOperandOfTypeOperator, + parenthesizeOperandOfReadonlyTypeOperator: parenthesizeOperandOfReadonlyTypeOperator, + parenthesizeNonArrayTypeOfPostfixType: parenthesizeNonArrayTypeOfPostfixType, + parenthesizeElementTypesOfTupleType: parenthesizeElementTypesOfTupleType, + parenthesizeElementTypeOfTupleType: parenthesizeElementTypeOfTupleType, + parenthesizeTypeOfOptionalType: parenthesizeTypeOfOptionalType, parenthesizeTypeArguments: parenthesizeTypeArguments, + parenthesizeLeadingTypeArgument: parenthesizeLeadingTypeArgument, }; function getParenthesizeLeftSideOfBinaryForOperator(operatorKind) { binaryLeftOperandParenthesizerCache || (binaryLeftOperandParenthesizerCache = new ts.Map()); @@ -21254,10 +21534,10 @@ var ts; // // If `a ** d` is on the left of operator `**`, we need to parenthesize to preserve // the intended order of operations: `(a ** b) ** c` - var binaryOperatorPrecedence = ts.getOperatorPrecedence(220 /* BinaryExpression */, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(220 /* BinaryExpression */, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(221 /* BinaryExpression */, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(221 /* BinaryExpression */, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); - if (!isLeftSideOfBinary && operand.kind === 213 /* ArrowFunction */ && binaryOperatorPrecedence > 3 /* Assignment */) { + if (!isLeftSideOfBinary && operand.kind === 214 /* ArrowFunction */ && binaryOperatorPrecedence > 3 /* Assignment */) { // We need to parenthesize arrow functions on the right side to avoid it being // parsed as parenthesized expression: `a && (() => {})` return true; @@ -21269,7 +21549,7 @@ var ts; // and is a yield expression, then we do not need parentheses. if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 /* Right */ - && operand.kind === 223 /* YieldExpression */) { + && operand.kind === 224 /* YieldExpression */) { return false; } return true; @@ -21357,7 +21637,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 220 /* BinaryExpression */ && node.operatorToken.kind === 39 /* PlusToken */) { + if (node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 39 /* PlusToken */) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -21383,7 +21663,7 @@ var ts; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); // If the resulting expression is already parenthesized, we do not need to do any further processing. - if (skipped.kind === 211 /* ParenthesizedExpression */) { + if (skipped.kind === 212 /* ParenthesizedExpression */) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -21400,7 +21680,7 @@ var ts; return ts.isCommaSequence(expression) ? factory.createParenthesizedExpression(expression) : expression; } function parenthesizeConditionOfConditionalExpression(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(221 /* ConditionalExpression */, 57 /* QuestionToken */); + var conditionalPrecedence = ts.getOperatorPrecedence(222 /* ConditionalExpression */, 57 /* QuestionToken */); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) !== 1 /* GreaterThan */) { @@ -21433,8 +21713,8 @@ var ts; var needsParens = ts.isCommaSequence(check); if (!needsParens) { switch (ts.getLeftmostExpression(check, /*stopAtCallExpression*/ false).kind) { - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: needsParens = true; } } @@ -21447,9 +21727,9 @@ var ts; function parenthesizeExpressionOfNew(expression) { var leftmostExpr = ts.getLeftmostExpression(expression, /*stopAtCallExpressions*/ true); switch (leftmostExpr.kind) { - case 207 /* CallExpression */: + case 208 /* CallExpression */: return factory.createParenthesizedExpression(expression); - case 208 /* NewExpression */: + case 209 /* NewExpression */: return !leftmostExpr.arguments ? factory.createParenthesizedExpression(expression) : expression; // TODO(rbuckton): Verify this assertion holds @@ -21469,7 +21749,7 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 208 /* NewExpression */ || emittedExpression.arguments)) { + && (emittedExpression.kind !== 209 /* NewExpression */ || emittedExpression.arguments)) { // TODO(rbuckton): Verify whether this assertion holds. return expression; } @@ -21491,7 +21771,7 @@ var ts; function parenthesizeExpressionForDisallowedComma(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(220 /* BinaryExpression */, 27 /* CommaToken */); + var commaPrecedence = ts.getOperatorPrecedence(221 /* BinaryExpression */, 27 /* CommaToken */); // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(factory.createParenthesizedExpression(expression), expression); } @@ -21500,53 +21780,211 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 212 /* FunctionExpression */ || kind === 213 /* ArrowFunction */) { + if (kind === 213 /* FunctionExpression */ || kind === 214 /* ArrowFunction */) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. var updated = factory.updateCallExpression(emittedExpression, ts.setTextRange(factory.createParenthesizedExpression(callee), callee), emittedExpression.typeArguments, emittedExpression.arguments); return factory.restoreOuterExpressions(expression, updated, 8 /* PartiallyEmittedExpressions */); } } var leftmostExpressionKind = ts.getLeftmostExpression(emittedExpression, /*stopAtCallExpressions*/ false).kind; - if (leftmostExpressionKind === 204 /* ObjectLiteralExpression */ || leftmostExpressionKind === 212 /* FunctionExpression */) { + if (leftmostExpressionKind === 205 /* ObjectLiteralExpression */ || leftmostExpressionKind === 213 /* FunctionExpression */) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return ts.setTextRange(factory.createParenthesizedExpression(expression), expression); } return expression; } function parenthesizeConciseBodyOfArrowFunction(body) { - if (!ts.isBlock(body) && (ts.isCommaSequence(body) || ts.getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 204 /* ObjectLiteralExpression */)) { + if (!ts.isBlock(body) && (ts.isCommaSequence(body) || ts.getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 205 /* ObjectLiteralExpression */)) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return ts.setTextRange(factory.createParenthesizedExpression(body), body); } return body; } - function parenthesizeMemberOfConditionalType(member) { - return member.kind === 188 /* ConditionalType */ ? factory.createParenthesizedType(member) : member; - } - function parenthesizeMemberOfElementType(member) { - switch (member.kind) { - case 186 /* UnionType */: - case 187 /* IntersectionType */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - return factory.createParenthesizedType(member); + // Type[Extends] : + // FunctionOrConstructorType + // ConditionalType[?Extends] + // ConditionalType[Extends] : + // UnionType[?Extends] + // [~Extends] UnionType[~Extends] `extends` Type[+Extends] `?` Type[~Extends] `:` Type[~Extends] + // + // - The check type (the `UnionType`, above) does not allow function, constructor, or conditional types (they must be parenthesized) + // - The extends type (the first `Type`, above) does not allow conditional types (they must be parenthesized). Function and constructor types are fine. + // - The true and false branch types (the second and third `Type` non-terminals, above) allow any type + function parenthesizeCheckTypeOfConditionalType(checkType) { + switch (checkType.kind) { + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 189 /* ConditionalType */: + return factory.createParenthesizedType(checkType); + } + return checkType; + } + function parenthesizeExtendsTypeOfConditionalType(extendsType) { + switch (extendsType.kind) { + case 189 /* ConditionalType */: + return factory.createParenthesizedType(extendsType); + } + return extendsType; + } + // UnionType[Extends] : + // `|`? IntersectionType[?Extends] + // UnionType[?Extends] `|` IntersectionType[?Extends] + // + // - A union type constituent has the same precedence as the check type of a conditional type + function parenthesizeConstituentTypeOfUnionType(type) { + switch (type.kind) { + case 187 /* UnionType */: // Not strictly necessary, but a union containing a union should have been flattened + case 188 /* IntersectionType */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests + return factory.createParenthesizedType(type); } - return parenthesizeMemberOfConditionalType(member); + return parenthesizeCheckTypeOfConditionalType(type); } - function parenthesizeElementTypeOfArrayType(member) { - switch (member.kind) { - case 180 /* TypeQuery */: - case 192 /* TypeOperator */: - case 189 /* InferType */: - return factory.createParenthesizedType(member); - } - return parenthesizeMemberOfElementType(member); + function parenthesizeConstituentTypesOfUnionType(members) { + return factory.createNodeArray(ts.sameMap(members, parenthesizeConstituentTypeOfUnionType)); + } + // IntersectionType[Extends] : + // `&`? TypeOperator[?Extends] + // IntersectionType[?Extends] `&` TypeOperator[?Extends] + // + // - An intersection type constituent does not allow function, constructor, conditional, or union types (they must be parenthesized) + function parenthesizeConstituentTypeOfIntersectionType(type) { + switch (type.kind) { + case 187 /* UnionType */: + case 188 /* IntersectionType */: // Not strictly necessary, but an intersection containing an intersection should have been flattened + return factory.createParenthesizedType(type); + } + return parenthesizeConstituentTypeOfUnionType(type); + } + function parenthesizeConstituentTypesOfIntersectionType(members) { + return factory.createNodeArray(ts.sameMap(members, parenthesizeConstituentTypeOfIntersectionType)); + } + // TypeOperator[Extends] : + // PostfixType + // InferType[?Extends] + // `keyof` TypeOperator[?Extends] + // `unique` TypeOperator[?Extends] + // `readonly` TypeOperator[?Extends] + // + function parenthesizeOperandOfTypeOperator(type) { + switch (type.kind) { + case 188 /* IntersectionType */: + return factory.createParenthesizedType(type); + } + return parenthesizeConstituentTypeOfIntersectionType(type); + } + function parenthesizeOperandOfReadonlyTypeOperator(type) { + switch (type.kind) { + case 193 /* TypeOperator */: + return factory.createParenthesizedType(type); + } + return parenthesizeOperandOfTypeOperator(type); + } + // PostfixType : + // NonArrayType + // NonArrayType [no LineTerminator here] `!` // JSDoc + // NonArrayType [no LineTerminator here] `?` // JSDoc + // IndexedAccessType + // ArrayType + // + // IndexedAccessType : + // NonArrayType `[` Type[~Extends] `]` + // + // ArrayType : + // NonArrayType `[` `]` + // + function parenthesizeNonArrayTypeOfPostfixType(type) { + switch (type.kind) { + case 190 /* InferType */: + case 193 /* TypeOperator */: + case 181 /* TypeQuery */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests + return factory.createParenthesizedType(type); + } + return parenthesizeOperandOfTypeOperator(type); + } + // TupleType : + // `[` Elision? `]` + // `[` NamedTupleElementTypes `]` + // `[` NamedTupleElementTypes `,` Elision? `]` + // `[` TupleElementTypes `]` + // `[` TupleElementTypes `,` Elision? `]` + // + // NamedTupleElementTypes : + // Elision? NamedTupleMember + // NamedTupleElementTypes `,` Elision? NamedTupleMember + // + // NamedTupleMember : + // Identifier `?`? `:` Type[~Extends] + // `...` Identifier `:` Type[~Extends] + // + // TupleElementTypes : + // Elision? TupleElementType + // TupleElementTypes `,` Elision? TupleElementType + // + // TupleElementType : + // Type[~Extends] // NOTE: Needs cover grammar to disallow JSDoc postfix-optional + // OptionalType + // RestType + // + // OptionalType : + // Type[~Extends] `?` // NOTE: Needs cover grammar to disallow JSDoc postfix-optional + // + // RestType : + // `...` Type[~Extends] + // + function parenthesizeElementTypesOfTupleType(types) { + return factory.createNodeArray(ts.sameMap(types, parenthesizeElementTypeOfTupleType)); } - function parenthesizeConstituentTypesOfUnionOrIntersectionType(members) { - return factory.createNodeArray(ts.sameMap(members, parenthesizeMemberOfElementType)); + function parenthesizeElementTypeOfTupleType(type) { + if (hasJSDocPostfixQuestion(type)) + return factory.createParenthesizedType(type); + return type; + } + function hasJSDocPostfixQuestion(type) { + if (ts.isJSDocNullableType(type)) + return type.postfix; + if (ts.isNamedTupleMember(type)) + return hasJSDocPostfixQuestion(type.type); + if (ts.isFunctionTypeNode(type) || ts.isConstructorTypeNode(type) || ts.isTypeOperatorNode(type)) + return hasJSDocPostfixQuestion(type.type); + if (ts.isConditionalTypeNode(type)) + return hasJSDocPostfixQuestion(type.falseType); + if (ts.isUnionTypeNode(type)) + return hasJSDocPostfixQuestion(ts.last(type.types)); + if (ts.isIntersectionTypeNode(type)) + return hasJSDocPostfixQuestion(ts.last(type.types)); + if (ts.isInferTypeNode(type)) + return !!type.typeParameter.constraint && hasJSDocPostfixQuestion(type.typeParameter.constraint); + return false; + } + function parenthesizeTypeOfOptionalType(type) { + if (hasJSDocPostfixQuestion(type)) + return factory.createParenthesizedType(type); + return parenthesizeNonArrayTypeOfPostfixType(type); + } + // function parenthesizeMemberOfElementType(member: TypeNode): TypeNode { + // switch (member.kind) { + // case SyntaxKind.UnionType: + // case SyntaxKind.IntersectionType: + // case SyntaxKind.FunctionType: + // case SyntaxKind.ConstructorType: + // return factory.createParenthesizedType(member); + // } + // return parenthesizeMemberOfConditionalType(member); + // } + // function parenthesizeElementTypeOfArrayType(member: TypeNode): TypeNode { + // switch (member.kind) { + // case SyntaxKind.TypeQuery: + // case SyntaxKind.TypeOperator: + // case SyntaxKind.InferType: + // return factory.createParenthesizedType(member); + // } + // return parenthesizeMemberOfElementType(member); + // } + function parenthesizeLeadingTypeArgument(node) { + return ts.isFunctionOrConstructorTypeNode(node) && node.typeParameters ? factory.createParenthesizedType(node) : node; } function parenthesizeOrdinalTypeArgument(node, i) { - return i === 0 && ts.isFunctionOrConstructorTypeNode(node) && node.typeParameters ? factory.createParenthesizedType(node) : node; + return i === 0 ? parenthesizeLeadingTypeArgument(node) : node; } function parenthesizeTypeArguments(typeArguments) { if (ts.some(typeArguments)) { @@ -21572,11 +22010,20 @@ var ts; parenthesizeExpressionForDisallowedComma: ts.identity, parenthesizeExpressionOfExpressionStatement: ts.identity, parenthesizeConciseBodyOfArrowFunction: ts.identity, - parenthesizeMemberOfConditionalType: ts.identity, - parenthesizeMemberOfElementType: ts.identity, - parenthesizeElementTypeOfArrayType: ts.identity, - parenthesizeConstituentTypesOfUnionOrIntersectionType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); }, + parenthesizeCheckTypeOfConditionalType: ts.identity, + parenthesizeExtendsTypeOfConditionalType: ts.identity, + parenthesizeConstituentTypesOfUnionType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); }, + parenthesizeConstituentTypeOfUnionType: ts.identity, + parenthesizeConstituentTypesOfIntersectionType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); }, + parenthesizeConstituentTypeOfIntersectionType: ts.identity, + parenthesizeOperandOfTypeOperator: ts.identity, + parenthesizeOperandOfReadonlyTypeOperator: ts.identity, + parenthesizeNonArrayTypeOfPostfixType: ts.identity, + parenthesizeElementTypesOfTupleType: function (nodes) { return ts.cast(nodes, ts.isNodeArray); }, + parenthesizeElementTypeOfTupleType: ts.identity, + parenthesizeTypeOfOptionalType: ts.identity, parenthesizeTypeArguments: function (nodes) { return nodes && ts.cast(nodes, ts.isNodeArray); }, + parenthesizeLeadingTypeArgument: ts.identity, }; })(ts || (ts = {})); /* @internal */ @@ -21643,11 +22090,11 @@ var ts; } function convertToAssignmentPattern(node) { switch (node.kind) { - case 201 /* ArrayBindingPattern */: - case 203 /* ArrayLiteralExpression */: + case 202 /* ArrayBindingPattern */: + case 204 /* ArrayLiteralExpression */: return convertToArrayAssignmentPattern(node); - case 200 /* ObjectBindingPattern */: - case 204 /* ObjectLiteralExpression */: + case 201 /* ObjectBindingPattern */: + case 205 /* ObjectLiteralExpression */: return convertToObjectAssignmentPattern(node); } } @@ -21716,6 +22163,8 @@ var ts; var getJSDocPrimaryTypeCreateFunction = ts.memoizeOne(function (kind) { return function () { return createJSDocPrimaryTypeWorker(kind); }; }); var getJSDocUnaryTypeCreateFunction = ts.memoizeOne(function (kind) { return function (type) { return createJSDocUnaryTypeWorker(kind, type); }; }); var getJSDocUnaryTypeUpdateFunction = ts.memoizeOne(function (kind) { return function (node, type) { return updateJSDocUnaryTypeWorker(kind, node, type); }; }); + var getJSDocPrePostfixUnaryTypeCreateFunction = ts.memoizeOne(function (kind) { return function (type, postfix) { return createJSDocPrePostfixUnaryTypeWorker(kind, type, postfix); }; }); + var getJSDocPrePostfixUnaryTypeUpdateFunction = ts.memoizeOne(function (kind) { return function (node, type) { return updateJSDocPrePostfixUnaryTypeWorker(kind, node, type); }; }); var getJSDocSimpleTagCreateFunction = ts.memoizeOne(function (kind) { return function (tagName, comment) { return createJSDocSimpleTagWorker(kind, tagName, comment); }; }); var getJSDocSimpleTagUpdateFunction = ts.memoizeOne(function (kind) { return function (node, tagName, comment) { return updateJSDocSimpleTagWorker(kind, node, tagName, comment); }; }); var getJSDocTypeLikeTagCreateFunction = ts.memoizeOne(function (kind) { return function (tagName, typeExpression, comment) { return createJSDocTypeLikeTagWorker(kind, tagName, typeExpression, comment); }; }); @@ -21723,6 +22172,8 @@ var ts; var factory = { get parenthesizer() { return parenthesizerRules(); }, get converters() { return converters(); }, + baseFactory: baseFactory, + flags: flags, createNodeArray: createNodeArray, createNumericLiteral: createNumericLiteral, createBigIntLiteral: createBigIntLiteral, @@ -21974,6 +22425,8 @@ var ts; updateAssertClause: updateAssertClause, createAssertEntry: createAssertEntry, updateAssertEntry: updateAssertEntry, + createImportTypeAssertionContainer: createImportTypeAssertionContainer, + updateImportTypeAssertionContainer: updateImportTypeAssertionContainer, createNamespaceImport: createNamespaceImport, updateNamespaceImport: updateNamespaceImport, createNamespaceExport: createNamespaceExport, @@ -21994,18 +22447,18 @@ var ts; createExternalModuleReference: createExternalModuleReference, updateExternalModuleReference: updateExternalModuleReference, // lazily load factory members for JSDoc types with similar structure - get createJSDocAllType() { return getJSDocPrimaryTypeCreateFunction(310 /* JSDocAllType */); }, - get createJSDocUnknownType() { return getJSDocPrimaryTypeCreateFunction(311 /* JSDocUnknownType */); }, - get createJSDocNonNullableType() { return getJSDocUnaryTypeCreateFunction(313 /* JSDocNonNullableType */); }, - get updateJSDocNonNullableType() { return getJSDocUnaryTypeUpdateFunction(313 /* JSDocNonNullableType */); }, - get createJSDocNullableType() { return getJSDocUnaryTypeCreateFunction(312 /* JSDocNullableType */); }, - get updateJSDocNullableType() { return getJSDocUnaryTypeUpdateFunction(312 /* JSDocNullableType */); }, - get createJSDocOptionalType() { return getJSDocUnaryTypeCreateFunction(314 /* JSDocOptionalType */); }, - get updateJSDocOptionalType() { return getJSDocUnaryTypeUpdateFunction(314 /* JSDocOptionalType */); }, - get createJSDocVariadicType() { return getJSDocUnaryTypeCreateFunction(316 /* JSDocVariadicType */); }, - get updateJSDocVariadicType() { return getJSDocUnaryTypeUpdateFunction(316 /* JSDocVariadicType */); }, - get createJSDocNamepathType() { return getJSDocUnaryTypeCreateFunction(317 /* JSDocNamepathType */); }, - get updateJSDocNamepathType() { return getJSDocUnaryTypeUpdateFunction(317 /* JSDocNamepathType */); }, + get createJSDocAllType() { return getJSDocPrimaryTypeCreateFunction(312 /* JSDocAllType */); }, + get createJSDocUnknownType() { return getJSDocPrimaryTypeCreateFunction(313 /* JSDocUnknownType */); }, + get createJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(315 /* JSDocNonNullableType */); }, + get updateJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(315 /* JSDocNonNullableType */); }, + get createJSDocNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(314 /* JSDocNullableType */); }, + get updateJSDocNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(314 /* JSDocNullableType */); }, + get createJSDocOptionalType() { return getJSDocUnaryTypeCreateFunction(316 /* JSDocOptionalType */); }, + get updateJSDocOptionalType() { return getJSDocUnaryTypeUpdateFunction(316 /* JSDocOptionalType */); }, + get createJSDocVariadicType() { return getJSDocUnaryTypeCreateFunction(318 /* JSDocVariadicType */); }, + get updateJSDocVariadicType() { return getJSDocUnaryTypeUpdateFunction(318 /* JSDocVariadicType */); }, + get createJSDocNamepathType() { return getJSDocUnaryTypeCreateFunction(319 /* JSDocNamepathType */); }, + get updateJSDocNamepathType() { return getJSDocUnaryTypeUpdateFunction(319 /* JSDocNamepathType */); }, createJSDocFunctionType: createJSDocFunctionType, updateJSDocFunctionType: updateJSDocFunctionType, createJSDocTypeLiteral: createJSDocTypeLiteral, @@ -22041,30 +22494,30 @@ var ts; createJSDocLinkPlain: createJSDocLinkPlain, updateJSDocLinkPlain: updateJSDocLinkPlain, // lazily load factory members for JSDoc tags with similar structure - get createJSDocTypeTag() { return getJSDocTypeLikeTagCreateFunction(341 /* JSDocTypeTag */); }, - get updateJSDocTypeTag() { return getJSDocTypeLikeTagUpdateFunction(341 /* JSDocTypeTag */); }, - get createJSDocReturnTag() { return getJSDocTypeLikeTagCreateFunction(339 /* JSDocReturnTag */); }, - get updateJSDocReturnTag() { return getJSDocTypeLikeTagUpdateFunction(339 /* JSDocReturnTag */); }, - get createJSDocThisTag() { return getJSDocTypeLikeTagCreateFunction(340 /* JSDocThisTag */); }, - get updateJSDocThisTag() { return getJSDocTypeLikeTagUpdateFunction(340 /* JSDocThisTag */); }, - get createJSDocEnumTag() { return getJSDocTypeLikeTagCreateFunction(337 /* JSDocEnumTag */); }, - get updateJSDocEnumTag() { return getJSDocTypeLikeTagUpdateFunction(337 /* JSDocEnumTag */); }, - get createJSDocAuthorTag() { return getJSDocSimpleTagCreateFunction(328 /* JSDocAuthorTag */); }, - get updateJSDocAuthorTag() { return getJSDocSimpleTagUpdateFunction(328 /* JSDocAuthorTag */); }, - get createJSDocClassTag() { return getJSDocSimpleTagCreateFunction(330 /* JSDocClassTag */); }, - get updateJSDocClassTag() { return getJSDocSimpleTagUpdateFunction(330 /* JSDocClassTag */); }, - get createJSDocPublicTag() { return getJSDocSimpleTagCreateFunction(331 /* JSDocPublicTag */); }, - get updateJSDocPublicTag() { return getJSDocSimpleTagUpdateFunction(331 /* JSDocPublicTag */); }, - get createJSDocPrivateTag() { return getJSDocSimpleTagCreateFunction(332 /* JSDocPrivateTag */); }, - get updateJSDocPrivateTag() { return getJSDocSimpleTagUpdateFunction(332 /* JSDocPrivateTag */); }, - get createJSDocProtectedTag() { return getJSDocSimpleTagCreateFunction(333 /* JSDocProtectedTag */); }, - get updateJSDocProtectedTag() { return getJSDocSimpleTagUpdateFunction(333 /* JSDocProtectedTag */); }, - get createJSDocReadonlyTag() { return getJSDocSimpleTagCreateFunction(334 /* JSDocReadonlyTag */); }, - get updateJSDocReadonlyTag() { return getJSDocSimpleTagUpdateFunction(334 /* JSDocReadonlyTag */); }, - get createJSDocOverrideTag() { return getJSDocSimpleTagCreateFunction(335 /* JSDocOverrideTag */); }, - get updateJSDocOverrideTag() { return getJSDocSimpleTagUpdateFunction(335 /* JSDocOverrideTag */); }, - get createJSDocDeprecatedTag() { return getJSDocSimpleTagCreateFunction(329 /* JSDocDeprecatedTag */); }, - get updateJSDocDeprecatedTag() { return getJSDocSimpleTagUpdateFunction(329 /* JSDocDeprecatedTag */); }, + get createJSDocTypeTag() { return getJSDocTypeLikeTagCreateFunction(343 /* JSDocTypeTag */); }, + get updateJSDocTypeTag() { return getJSDocTypeLikeTagUpdateFunction(343 /* JSDocTypeTag */); }, + get createJSDocReturnTag() { return getJSDocTypeLikeTagCreateFunction(341 /* JSDocReturnTag */); }, + get updateJSDocReturnTag() { return getJSDocTypeLikeTagUpdateFunction(341 /* JSDocReturnTag */); }, + get createJSDocThisTag() { return getJSDocTypeLikeTagCreateFunction(342 /* JSDocThisTag */); }, + get updateJSDocThisTag() { return getJSDocTypeLikeTagUpdateFunction(342 /* JSDocThisTag */); }, + get createJSDocEnumTag() { return getJSDocTypeLikeTagCreateFunction(339 /* JSDocEnumTag */); }, + get updateJSDocEnumTag() { return getJSDocTypeLikeTagUpdateFunction(339 /* JSDocEnumTag */); }, + get createJSDocAuthorTag() { return getJSDocSimpleTagCreateFunction(330 /* JSDocAuthorTag */); }, + get updateJSDocAuthorTag() { return getJSDocSimpleTagUpdateFunction(330 /* JSDocAuthorTag */); }, + get createJSDocClassTag() { return getJSDocSimpleTagCreateFunction(332 /* JSDocClassTag */); }, + get updateJSDocClassTag() { return getJSDocSimpleTagUpdateFunction(332 /* JSDocClassTag */); }, + get createJSDocPublicTag() { return getJSDocSimpleTagCreateFunction(333 /* JSDocPublicTag */); }, + get updateJSDocPublicTag() { return getJSDocSimpleTagUpdateFunction(333 /* JSDocPublicTag */); }, + get createJSDocPrivateTag() { return getJSDocSimpleTagCreateFunction(334 /* JSDocPrivateTag */); }, + get updateJSDocPrivateTag() { return getJSDocSimpleTagUpdateFunction(334 /* JSDocPrivateTag */); }, + get createJSDocProtectedTag() { return getJSDocSimpleTagCreateFunction(335 /* JSDocProtectedTag */); }, + get updateJSDocProtectedTag() { return getJSDocSimpleTagUpdateFunction(335 /* JSDocProtectedTag */); }, + get createJSDocReadonlyTag() { return getJSDocSimpleTagCreateFunction(336 /* JSDocReadonlyTag */); }, + get updateJSDocReadonlyTag() { return getJSDocSimpleTagUpdateFunction(336 /* JSDocReadonlyTag */); }, + get createJSDocOverrideTag() { return getJSDocSimpleTagCreateFunction(337 /* JSDocOverrideTag */); }, + get updateJSDocOverrideTag() { return getJSDocSimpleTagUpdateFunction(337 /* JSDocOverrideTag */); }, + get createJSDocDeprecatedTag() { return getJSDocSimpleTagCreateFunction(331 /* JSDocDeprecatedTag */); }, + get updateJSDocDeprecatedTag() { return getJSDocSimpleTagUpdateFunction(331 /* JSDocDeprecatedTag */); }, createJSDocUnknownTag: createJSDocUnknownTag, updateJSDocUnknownTag: updateJSDocUnknownTag, createJSDocText: createJSDocText, @@ -22267,11 +22720,11 @@ var ts; // don't propagate child flags. if (name) { switch (node.kind) { - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 166 /* PropertyDeclaration */: - case 294 /* PropertyAssignment */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 296 /* PropertyAssignment */: if (ts.isIdentifier(name)) { node.transformFlags |= propagateIdentifierNameFlags(name); break; @@ -22502,7 +22955,7 @@ var ts; return baseFactory.createBaseTokenNode(kind); } function createToken(token) { - ts.Debug.assert(token >= 0 /* FirstToken */ && token <= 159 /* LastToken */, "Invalid token"); + ts.Debug.assert(token >= 0 /* FirstToken */ && token <= 160 /* LastToken */, "Invalid token"); ts.Debug.assert(token <= 14 /* FirstTemplateToken */ || token >= 17 /* LastTemplateToken */, "Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."); ts.Debug.assert(token <= 8 /* FirstLiteralToken */ || token >= 14 /* LastLiteralToken */, "Invalid token. Use 'createLiteralLikeNode' to create literals."); ts.Debug.assert(token !== 79 /* Identifier */, "Invalid token. Use 'createIdentifier' to create identifiers"); @@ -22518,22 +22971,24 @@ var ts; case 123 /* PublicKeyword */: case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: case 126 /* AbstractKeyword */: case 135 /* DeclareKeyword */: case 85 /* ConstKeyword */: case 130 /* AnyKeyword */: - case 146 /* NumberKeyword */: - case 157 /* BigIntKeyword */: + case 147 /* NumberKeyword */: + case 158 /* BigIntKeyword */: case 143 /* NeverKeyword */: - case 147 /* ObjectKeyword */: - case 158 /* OverrideKeyword */: - case 149 /* StringKeyword */: + case 148 /* ObjectKeyword */: + case 101 /* InKeyword */: + case 144 /* OutKeyword */: + case 159 /* OverrideKeyword */: + case 150 /* StringKeyword */: case 133 /* BooleanKeyword */: - case 150 /* SymbolKeyword */: + case 151 /* SymbolKeyword */: case 114 /* VoidKeyword */: - case 154 /* UnknownKeyword */: - case 152 /* UndefinedKeyword */: // `undefined` is an Identifier in the expression case. + case 155 /* UnknownKeyword */: + case 153 /* UndefinedKeyword */: // `undefined` is an Identifier in the expression case. transformFlags = 1 /* ContainsTypeScript */; break; case 106 /* SuperKeyword */: @@ -22604,11 +23059,15 @@ var ts; if (flags & 32 /* Static */) result.push(createModifier(124 /* StaticKeyword */)); if (flags & 16384 /* Override */) - result.push(createModifier(158 /* OverrideKeyword */)); + result.push(createModifier(159 /* OverrideKeyword */)); if (flags & 64 /* Readonly */) - result.push(createModifier(144 /* ReadonlyKeyword */)); + result.push(createModifier(145 /* ReadonlyKeyword */)); if (flags & 256 /* Async */) result.push(createModifier(131 /* AsyncKeyword */)); + if (flags & 32768 /* In */) + result.push(createModifier(101 /* InKeyword */)); + if (flags & 65536 /* Out */) + result.push(createModifier(144 /* OutKeyword */)); return result.length ? result : undefined; } // @@ -22616,7 +23075,7 @@ var ts; // // @api function createQualifiedName(left, right) { - var node = createBaseNode(160 /* QualifiedName */); + var node = createBaseNode(161 /* QualifiedName */); node.left = left; node.right = asName(right); node.transformFlags |= @@ -22633,7 +23092,7 @@ var ts; } // @api function createComputedPropertyName(expression) { - var node = createBaseNode(161 /* ComputedPropertyName */); + var node = createBaseNode(162 /* ComputedPropertyName */); node.expression = parenthesizerRules().parenthesizeExpressionOfComputedPropertyName(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -22647,30 +23106,51 @@ var ts; ? update(createComputedPropertyName(expression), node) : node; } - // - // Signature elements - // - // @api - function createTypeParameterDeclaration(name, constraint, defaultType) { - var node = createBaseNamedDeclaration(162 /* TypeParameter */, - /*decorators*/ undefined, - /*modifiers*/ undefined, name); + function createTypeParameterDeclaration(modifiersOrName, nameOrConstraint, constraintOrDefault, defaultType) { + var name; + var modifiers; + var constraint; + if (modifiersOrName === undefined || ts.isArray(modifiersOrName)) { + modifiers = modifiersOrName; + name = nameOrConstraint; + constraint = constraintOrDefault; + } + else { + modifiers = undefined; + name = modifiersOrName; + constraint = nameOrConstraint; + } + var node = createBaseNamedDeclaration(163 /* TypeParameter */, + /*decorators*/ undefined, modifiers, name); node.constraint = constraint; node.default = defaultType; node.transformFlags = 1 /* ContainsTypeScript */; return node; } - // @api - function updateTypeParameterDeclaration(node, name, constraint, defaultType) { - return node.name !== name + function updateTypeParameterDeclaration(node, modifiersOrName, nameOrConstraint, constraintOrDefault, defaultType) { + var name; + var modifiers; + var constraint; + if (modifiersOrName === undefined || ts.isArray(modifiersOrName)) { + modifiers = modifiersOrName; + name = nameOrConstraint; + constraint = constraintOrDefault; + } + else { + modifiers = undefined; + name = modifiersOrName; + constraint = nameOrConstraint; + } + return node.modifiers !== modifiers + || node.name !== name || node.constraint !== constraint || node.default !== defaultType - ? update(createTypeParameterDeclaration(name, constraint, defaultType), node) + ? update(createTypeParameterDeclaration(modifiers, name, constraint, defaultType), node) : node; } // @api function createParameterDeclaration(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(163 /* Parameter */, decorators, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); + var node = createBaseVariableLikeDeclaration(164 /* Parameter */, decorators, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.dotDotDotToken = dotDotDotToken; node.questionToken = questionToken; if (ts.isThisIdentifier(node.name)) { @@ -22703,7 +23183,7 @@ var ts; } // @api function createDecorator(expression) { - var node = createBaseNode(164 /* Decorator */); + var node = createBaseNode(165 /* Decorator */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -22722,7 +23202,7 @@ var ts; // // @api function createPropertySignature(modifiers, name, questionToken, type) { - var node = createBaseNamedDeclaration(165 /* PropertySignature */, + var node = createBaseNamedDeclaration(166 /* PropertySignature */, /*decorators*/ undefined, modifiers, name); node.type = type; node.questionToken = questionToken; @@ -22740,7 +23220,7 @@ var ts; } // @api function createPropertyDeclaration(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(166 /* PropertyDeclaration */, decorators, modifiers, name, type, initializer); + var node = createBaseVariableLikeDeclaration(167 /* PropertyDeclaration */, decorators, modifiers, name, type, initializer); node.questionToken = questionOrExclamationToken && ts.isQuestionToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.exclamationToken = questionOrExclamationToken && ts.isExclamationToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.transformFlags |= @@ -22769,7 +23249,7 @@ var ts; } // @api function createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(167 /* MethodSignature */, + var node = createBaseSignatureDeclaration(168 /* MethodSignature */, /*decorators*/ undefined, modifiers, name, typeParameters, parameters, type); node.questionToken = questionToken; node.transformFlags = 1 /* ContainsTypeScript */; @@ -22788,7 +23268,7 @@ var ts; } // @api function createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(168 /* MethodDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(169 /* MethodDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.questionToken = questionToken; node.transformFlags |= @@ -22827,7 +23307,7 @@ var ts; } // @api function createClassStaticBlockDeclaration(decorators, modifiers, body) { - var node = createBaseGenericNamedDeclaration(169 /* ClassStaticBlockDeclaration */, decorators, modifiers, + var node = createBaseGenericNamedDeclaration(170 /* ClassStaticBlockDeclaration */, decorators, modifiers, /*name*/ undefined, /*typeParameters*/ undefined); node.body = body; @@ -22844,7 +23324,7 @@ var ts; } // @api function createConstructorDeclaration(decorators, modifiers, parameters, body) { - var node = createBaseFunctionLikeDeclaration(170 /* Constructor */, decorators, modifiers, + var node = createBaseFunctionLikeDeclaration(171 /* Constructor */, decorators, modifiers, /*name*/ undefined, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); @@ -22862,7 +23342,7 @@ var ts; } // @api function createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body) { - return createBaseFunctionLikeDeclaration(171 /* GetAccessor */, decorators, modifiers, name, + return createBaseFunctionLikeDeclaration(172 /* GetAccessor */, decorators, modifiers, name, /*typeParameters*/ undefined, parameters, type, body); } // @api @@ -22878,7 +23358,7 @@ var ts; } // @api function createSetAccessorDeclaration(decorators, modifiers, name, parameters, body) { - return createBaseFunctionLikeDeclaration(172 /* SetAccessor */, decorators, modifiers, name, + return createBaseFunctionLikeDeclaration(173 /* SetAccessor */, decorators, modifiers, name, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } @@ -22894,7 +23374,7 @@ var ts; } // @api function createCallSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(173 /* CallSignature */, + var node = createBaseSignatureDeclaration(174 /* CallSignature */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); @@ -22911,7 +23391,7 @@ var ts; } // @api function createConstructSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(174 /* ConstructSignature */, + var node = createBaseSignatureDeclaration(175 /* ConstructSignature */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); @@ -22928,7 +23408,7 @@ var ts; } // @api function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createBaseSignatureDeclaration(175 /* IndexSignature */, decorators, modifiers, + var node = createBaseSignatureDeclaration(176 /* IndexSignature */, decorators, modifiers, /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); node.transformFlags = 1 /* ContainsTypeScript */; @@ -22945,7 +23425,7 @@ var ts; } // @api function createTemplateLiteralTypeSpan(type, literal) { - var node = createBaseNode(198 /* TemplateLiteralTypeSpan */); + var node = createBaseNode(199 /* TemplateLiteralTypeSpan */); node.type = type; node.literal = literal; node.transformFlags = 1 /* ContainsTypeScript */; @@ -22967,7 +23447,7 @@ var ts; } // @api function createTypePredicateNode(assertsModifier, parameterName, type) { - var node = createBaseNode(176 /* TypePredicate */); + var node = createBaseNode(177 /* TypePredicate */); node.assertsModifier = assertsModifier; node.parameterName = asName(parameterName); node.type = type; @@ -22984,7 +23464,7 @@ var ts; } // @api function createTypeReferenceNode(typeName, typeArguments) { - var node = createBaseNode(177 /* TypeReference */); + var node = createBaseNode(178 /* TypeReference */); node.typeName = asName(typeName); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(createNodeArray(typeArguments)); node.transformFlags = 1 /* ContainsTypeScript */; @@ -22999,7 +23479,7 @@ var ts; } // @api function createFunctionTypeNode(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(178 /* FunctionType */, + var node = createBaseSignatureDeclaration(179 /* FunctionType */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); @@ -23025,7 +23505,7 @@ var ts; ts.Debug.fail("Incorrect number of arguments specified."); } function createConstructorTypeNode1(modifiers, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(179 /* ConstructorType */, + var node = createBaseSignatureDeclaration(180 /* ConstructorType */, /*decorators*/ undefined, modifiers, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* ContainsTypeScript */; @@ -23058,21 +23538,23 @@ var ts; return updateConstructorTypeNode1(node, node.modifiers, typeParameters, parameters, type); } // @api - function createTypeQueryNode(exprName) { - var node = createBaseNode(180 /* TypeQuery */); + function createTypeQueryNode(exprName, typeArguments) { + var node = createBaseNode(181 /* TypeQuery */); node.exprName = exprName; + node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.transformFlags = 1 /* ContainsTypeScript */; return node; } // @api - function updateTypeQueryNode(node, exprName) { + function updateTypeQueryNode(node, exprName, typeArguments) { return node.exprName !== exprName - ? update(createTypeQueryNode(exprName), node) + || node.typeArguments !== typeArguments + ? update(createTypeQueryNode(exprName, typeArguments), node) : node; } // @api function createTypeLiteralNode(members) { - var node = createBaseNode(181 /* TypeLiteral */); + var node = createBaseNode(182 /* TypeLiteral */); node.members = createNodeArray(members); node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -23085,8 +23567,8 @@ var ts; } // @api function createArrayTypeNode(elementType) { - var node = createBaseNode(182 /* ArrayType */); - node.elementType = parenthesizerRules().parenthesizeElementTypeOfArrayType(elementType); + var node = createBaseNode(183 /* ArrayType */); + node.elementType = parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(elementType); node.transformFlags = 1 /* ContainsTypeScript */; return node; } @@ -23098,8 +23580,8 @@ var ts; } // @api function createTupleTypeNode(elements) { - var node = createBaseNode(183 /* TupleType */); - node.elements = createNodeArray(elements); + var node = createBaseNode(184 /* TupleType */); + node.elements = createNodeArray(parenthesizerRules().parenthesizeElementTypesOfTupleType(elements)); node.transformFlags = 1 /* ContainsTypeScript */; return node; } @@ -23111,7 +23593,7 @@ var ts; } // @api function createNamedTupleMember(dotDotDotToken, name, questionToken, type) { - var node = createBaseNode(196 /* NamedTupleMember */); + var node = createBaseNode(197 /* NamedTupleMember */); node.dotDotDotToken = dotDotDotToken; node.name = name; node.questionToken = questionToken; @@ -23130,8 +23612,8 @@ var ts; } // @api function createOptionalTypeNode(type) { - var node = createBaseNode(184 /* OptionalType */); - node.type = parenthesizerRules().parenthesizeElementTypeOfArrayType(type); + var node = createBaseNode(185 /* OptionalType */); + node.type = parenthesizerRules().parenthesizeTypeOfOptionalType(type); node.transformFlags = 1 /* ContainsTypeScript */; return node; } @@ -23143,7 +23625,7 @@ var ts; } // @api function createRestTypeNode(type) { - var node = createBaseNode(185 /* RestType */); + var node = createBaseNode(186 /* RestType */); node.type = type; node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -23154,38 +23636,38 @@ var ts; ? update(createRestTypeNode(type), node) : node; } - function createUnionOrIntersectionTypeNode(kind, types) { + function createUnionOrIntersectionTypeNode(kind, types, parenthesize) { var node = createBaseNode(kind); - node.types = parenthesizerRules().parenthesizeConstituentTypesOfUnionOrIntersectionType(types); + node.types = factory.createNodeArray(parenthesize(types)); node.transformFlags = 1 /* ContainsTypeScript */; return node; } - function updateUnionOrIntersectionTypeNode(node, types) { + function updateUnionOrIntersectionTypeNode(node, types, parenthesize) { return node.types !== types - ? update(createUnionOrIntersectionTypeNode(node.kind, types), node) + ? update(createUnionOrIntersectionTypeNode(node.kind, types, parenthesize), node) : node; } // @api function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(186 /* UnionType */, types); + return createUnionOrIntersectionTypeNode(187 /* UnionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfUnionType); } // @api function updateUnionTypeNode(node, types) { - return updateUnionOrIntersectionTypeNode(node, types); + return updateUnionOrIntersectionTypeNode(node, types, parenthesizerRules().parenthesizeConstituentTypesOfUnionType); } // @api function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(187 /* IntersectionType */, types); + return createUnionOrIntersectionTypeNode(188 /* IntersectionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfIntersectionType); } // @api function updateIntersectionTypeNode(node, types) { - return updateUnionOrIntersectionTypeNode(node, types); + return updateUnionOrIntersectionTypeNode(node, types, parenthesizerRules().parenthesizeConstituentTypesOfIntersectionType); } // @api function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createBaseNode(188 /* ConditionalType */); - node.checkType = parenthesizerRules().parenthesizeMemberOfConditionalType(checkType); - node.extendsType = parenthesizerRules().parenthesizeMemberOfConditionalType(extendsType); + var node = createBaseNode(189 /* ConditionalType */); + node.checkType = parenthesizerRules().parenthesizeCheckTypeOfConditionalType(checkType); + node.extendsType = parenthesizerRules().parenthesizeExtendsTypeOfConditionalType(extendsType); node.trueType = trueType; node.falseType = falseType; node.transformFlags = 1 /* ContainsTypeScript */; @@ -23202,7 +23684,7 @@ var ts; } // @api function createInferTypeNode(typeParameter) { - var node = createBaseNode(189 /* InferType */); + var node = createBaseNode(190 /* InferType */); node.typeParameter = typeParameter; node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -23215,7 +23697,7 @@ var ts; } // @api function createTemplateLiteralType(head, templateSpans) { - var node = createBaseNode(197 /* TemplateLiteralType */); + var node = createBaseNode(198 /* TemplateLiteralType */); node.head = head; node.templateSpans = createNodeArray(templateSpans); node.transformFlags = 1 /* ContainsTypeScript */; @@ -23228,30 +23710,38 @@ var ts; ? update(createTemplateLiteralType(head, templateSpans), node) : node; } - // @api - function createImportTypeNode(argument, qualifier, typeArguments, isTypeOf) { - if (isTypeOf === void 0) { isTypeOf = false; } - var node = createBaseNode(199 /* ImportType */); + function createImportTypeNode(argument, qualifierOrAssertions, typeArgumentsOrQualifier, isTypeOfOrTypeArguments, isTypeOf) { + var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; + var qualifier = qualifierOrAssertions && ts.isEntityName(qualifierOrAssertions) ? qualifierOrAssertions + : typeArgumentsOrQualifier && !ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : undefined; + var typeArguments = ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : ts.isArray(isTypeOfOrTypeArguments) ? isTypeOfOrTypeArguments : undefined; + isTypeOf = typeof isTypeOfOrTypeArguments === "boolean" ? isTypeOfOrTypeArguments : typeof isTypeOf === "boolean" ? isTypeOf : false; + var node = createBaseNode(200 /* ImportType */); node.argument = argument; + node.assertions = assertion; node.qualifier = qualifier; node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.isTypeOf = isTypeOf; node.transformFlags = 1 /* ContainsTypeScript */; return node; } - // @api - function updateImportTypeNode(node, argument, qualifier, typeArguments, isTypeOf) { - if (isTypeOf === void 0) { isTypeOf = node.isTypeOf; } + function updateImportTypeNode(node, argument, qualifierOrAssertions, typeArgumentsOrQualifier, isTypeOfOrTypeArguments, isTypeOf) { + var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; + var qualifier = qualifierOrAssertions && ts.isEntityName(qualifierOrAssertions) ? qualifierOrAssertions + : typeArgumentsOrQualifier && !ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : undefined; + var typeArguments = ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : ts.isArray(isTypeOfOrTypeArguments) ? isTypeOfOrTypeArguments : undefined; + isTypeOf = typeof isTypeOfOrTypeArguments === "boolean" ? isTypeOfOrTypeArguments : typeof isTypeOf === "boolean" ? isTypeOf : node.isTypeOf; return node.argument !== argument + || node.assertions !== assertion || node.qualifier !== qualifier || node.typeArguments !== typeArguments || node.isTypeOf !== isTypeOf - ? update(createImportTypeNode(argument, qualifier, typeArguments, isTypeOf), node) + ? update(createImportTypeNode(argument, assertion, qualifier, typeArguments, isTypeOf), node) : node; } // @api function createParenthesizedType(type) { - var node = createBaseNode(190 /* ParenthesizedType */); + var node = createBaseNode(191 /* ParenthesizedType */); node.type = type; node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -23264,15 +23754,17 @@ var ts; } // @api function createThisTypeNode() { - var node = createBaseNode(191 /* ThisType */); + var node = createBaseNode(192 /* ThisType */); node.transformFlags = 1 /* ContainsTypeScript */; return node; } // @api function createTypeOperatorNode(operator, type) { - var node = createBaseNode(192 /* TypeOperator */); + var node = createBaseNode(193 /* TypeOperator */); node.operator = operator; - node.type = parenthesizerRules().parenthesizeMemberOfElementType(type); + node.type = operator === 145 /* ReadonlyKeyword */ ? + parenthesizerRules().parenthesizeOperandOfReadonlyTypeOperator(type) : + parenthesizerRules().parenthesizeOperandOfTypeOperator(type); node.transformFlags = 1 /* ContainsTypeScript */; return node; } @@ -23284,8 +23776,8 @@ var ts; } // @api function createIndexedAccessTypeNode(objectType, indexType) { - var node = createBaseNode(193 /* IndexedAccessType */); - node.objectType = parenthesizerRules().parenthesizeMemberOfElementType(objectType); + var node = createBaseNode(194 /* IndexedAccessType */); + node.objectType = parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(objectType); node.indexType = indexType; node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -23299,7 +23791,7 @@ var ts; } // @api function createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members) { - var node = createBaseNode(194 /* MappedType */); + var node = createBaseNode(195 /* MappedType */); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.nameType = nameType; @@ -23322,7 +23814,7 @@ var ts; } // @api function createLiteralTypeNode(literal) { - var node = createBaseNode(195 /* LiteralType */); + var node = createBaseNode(196 /* LiteralType */); node.literal = literal; node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -23338,7 +23830,7 @@ var ts; // // @api function createObjectBindingPattern(elements) { - var node = createBaseNode(200 /* ObjectBindingPattern */); + var node = createBaseNode(201 /* ObjectBindingPattern */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | @@ -23359,7 +23851,7 @@ var ts; } // @api function createArrayBindingPattern(elements) { - var node = createBaseNode(201 /* ArrayBindingPattern */); + var node = createBaseNode(202 /* ArrayBindingPattern */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | @@ -23375,7 +23867,7 @@ var ts; } // @api function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createBaseBindingLikeDeclaration(202 /* BindingElement */, + var node = createBaseBindingLikeDeclaration(203 /* BindingElement */, /*decorators*/ undefined, /*modifiers*/ undefined, name, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.propertyName = asName(propertyName); @@ -23411,7 +23903,7 @@ var ts; } // @api function createArrayLiteralExpression(elements, multiLine) { - var node = createBaseExpression(203 /* ArrayLiteralExpression */); + var node = createBaseExpression(204 /* ArrayLiteralExpression */); // Ensure we add a trailing comma for something like `[NumericLiteral(1), NumericLiteral(2), OmittedExpresion]` so that // we end up with `[1, 2, ,]` instead of `[1, 2, ]` otherwise the `OmittedExpression` will just end up being treated like // a trailing comma. @@ -23430,7 +23922,7 @@ var ts; } // @api function createObjectLiteralExpression(properties, multiLine) { - var node = createBaseExpression(204 /* ObjectLiteralExpression */); + var node = createBaseExpression(205 /* ObjectLiteralExpression */); node.properties = createNodeArray(properties); node.multiLine = multiLine; node.transformFlags |= propagateChildrenFlags(node.properties); @@ -23444,7 +23936,7 @@ var ts; } // @api function createPropertyAccessExpression(expression, name) { - var node = createBaseExpression(205 /* PropertyAccessExpression */); + var node = createBaseExpression(206 /* PropertyAccessExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.name = asName(name); node.transformFlags = @@ -23473,7 +23965,7 @@ var ts; } // @api function createPropertyAccessChain(expression, questionDotToken, name) { - var node = createBaseExpression(205 /* PropertyAccessExpression */); + var node = createBaseExpression(206 /* PropertyAccessExpression */); node.flags |= 32 /* OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.questionDotToken = questionDotToken; @@ -23500,7 +23992,7 @@ var ts; } // @api function createElementAccessExpression(expression, index) { - var node = createBaseExpression(206 /* ElementAccessExpression */); + var node = createBaseExpression(207 /* ElementAccessExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.argumentExpression = asExpression(index); node.transformFlags |= @@ -23527,7 +24019,7 @@ var ts; } // @api function createElementAccessChain(expression, questionDotToken, index) { - var node = createBaseExpression(206 /* ElementAccessExpression */); + var node = createBaseExpression(207 /* ElementAccessExpression */); node.flags |= 32 /* OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.questionDotToken = questionDotToken; @@ -23552,7 +24044,7 @@ var ts; } // @api function createCallExpression(expression, typeArguments, argumentsArray) { - var node = createBaseExpression(207 /* CallExpression */); + var node = createBaseExpression(208 /* CallExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(argumentsArray)); @@ -23584,7 +24076,7 @@ var ts; } // @api function createCallChain(expression, questionDotToken, typeArguments, argumentsArray) { - var node = createBaseExpression(207 /* CallExpression */); + var node = createBaseExpression(208 /* CallExpression */); node.flags |= 32 /* OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.questionDotToken = questionDotToken; @@ -23616,7 +24108,7 @@ var ts; } // @api function createNewExpression(expression, typeArguments, argumentsArray) { - var node = createBaseExpression(208 /* NewExpression */); + var node = createBaseExpression(209 /* NewExpression */); node.expression = parenthesizerRules().parenthesizeExpressionOfNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(argumentsArray) : undefined; @@ -23640,7 +24132,7 @@ var ts; } // @api function createTaggedTemplateExpression(tag, typeArguments, template) { - var node = createBaseExpression(209 /* TaggedTemplateExpression */); + var node = createBaseExpression(210 /* TaggedTemplateExpression */); node.tag = parenthesizerRules().parenthesizeLeftSideOfAccess(tag); node.typeArguments = asNodeArray(typeArguments); node.template = template; @@ -23667,7 +24159,7 @@ var ts; } // @api function createTypeAssertion(type, expression) { - var node = createBaseExpression(210 /* TypeAssertionExpression */); + var node = createBaseExpression(211 /* TypeAssertionExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.type = type; node.transformFlags |= @@ -23685,7 +24177,7 @@ var ts; } // @api function createParenthesizedExpression(expression) { - var node = createBaseExpression(211 /* ParenthesizedExpression */); + var node = createBaseExpression(212 /* ParenthesizedExpression */); node.expression = expression; node.transformFlags = propagateChildFlags(node.expression); return node; @@ -23698,7 +24190,7 @@ var ts; } // @api function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(212 /* FunctionExpression */, + var node = createBaseFunctionLikeDeclaration(213 /* FunctionExpression */, /*decorators*/ undefined, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.transformFlags |= propagateChildFlags(node.asteriskToken); @@ -23732,7 +24224,7 @@ var ts; } // @api function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createBaseFunctionLikeDeclaration(213 /* ArrowFunction */, + var node = createBaseFunctionLikeDeclaration(214 /* ArrowFunction */, /*decorators*/ undefined, modifiers, /*name*/ undefined, typeParameters, parameters, type, parenthesizerRules().parenthesizeConciseBodyOfArrowFunction(body)); node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* EqualsGreaterThanToken */); @@ -23757,7 +24249,7 @@ var ts; } // @api function createDeleteExpression(expression) { - var node = createBaseExpression(214 /* DeleteExpression */); + var node = createBaseExpression(215 /* DeleteExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -23770,7 +24262,7 @@ var ts; } // @api function createTypeOfExpression(expression) { - var node = createBaseExpression(215 /* TypeOfExpression */); + var node = createBaseExpression(216 /* TypeOfExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -23783,7 +24275,7 @@ var ts; } // @api function createVoidExpression(expression) { - var node = createBaseExpression(216 /* VoidExpression */); + var node = createBaseExpression(217 /* VoidExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -23796,7 +24288,7 @@ var ts; } // @api function createAwaitExpression(expression) { - var node = createBaseExpression(217 /* AwaitExpression */); + var node = createBaseExpression(218 /* AwaitExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -23813,7 +24305,7 @@ var ts; } // @api function createPrefixUnaryExpression(operator, operand) { - var node = createBaseExpression(218 /* PrefixUnaryExpression */); + var node = createBaseExpression(219 /* PrefixUnaryExpression */); node.operator = operator; node.operand = parenthesizerRules().parenthesizeOperandOfPrefixUnary(operand); node.transformFlags |= propagateChildFlags(node.operand); @@ -23835,7 +24327,7 @@ var ts; } // @api function createPostfixUnaryExpression(operand, operator) { - var node = createBaseExpression(219 /* PostfixUnaryExpression */); + var node = createBaseExpression(220 /* PostfixUnaryExpression */); node.operator = operator; node.operand = parenthesizerRules().parenthesizeOperandOfPostfixUnary(operand); node.transformFlags |= propagateChildFlags(node.operand); @@ -23856,7 +24348,7 @@ var ts; } // @api function createBinaryExpression(left, operator, right) { - var node = createBaseExpression(220 /* BinaryExpression */); + var node = createBaseExpression(221 /* BinaryExpression */); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = parenthesizerRules().parenthesizeLeftSideOfBinary(operatorKind, left); @@ -23925,7 +24417,7 @@ var ts; } // @api function createConditionalExpression(condition, questionToken, whenTrue, colonToken, whenFalse) { - var node = createBaseExpression(221 /* ConditionalExpression */); + var node = createBaseExpression(222 /* ConditionalExpression */); node.condition = parenthesizerRules().parenthesizeConditionOfConditionalExpression(condition); node.questionToken = questionToken !== null && questionToken !== void 0 ? questionToken : createToken(57 /* QuestionToken */); node.whenTrue = parenthesizerRules().parenthesizeBranchOfConditionalExpression(whenTrue); @@ -23951,7 +24443,7 @@ var ts; } // @api function createTemplateExpression(head, templateSpans) { - var node = createBaseExpression(222 /* TemplateExpression */); + var node = createBaseExpression(223 /* TemplateExpression */); node.head = head; node.templateSpans = createNodeArray(templateSpans); node.transformFlags |= @@ -24021,7 +24513,7 @@ var ts; // @api function createYieldExpression(asteriskToken, expression) { ts.Debug.assert(!asteriskToken || !!expression, "A `YieldExpression` with an asteriskToken must have an expression."); - var node = createBaseExpression(223 /* YieldExpression */); + var node = createBaseExpression(224 /* YieldExpression */); node.expression = expression && parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.asteriskToken = asteriskToken; node.transformFlags |= @@ -24041,7 +24533,7 @@ var ts; } // @api function createSpreadElement(expression) { - var node = createBaseExpression(224 /* SpreadElement */); + var node = createBaseExpression(225 /* SpreadElement */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24057,7 +24549,7 @@ var ts; } // @api function createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(225 /* ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members); + var node = createBaseClassLikeDeclaration(226 /* ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members); node.transformFlags |= 1024 /* ContainsES2015 */; return node; } @@ -24074,11 +24566,11 @@ var ts; } // @api function createOmittedExpression() { - return createBaseExpression(226 /* OmittedExpression */); + return createBaseExpression(227 /* OmittedExpression */); } // @api function createExpressionWithTypeArguments(expression, typeArguments) { - var node = createBaseNode(227 /* ExpressionWithTypeArguments */); + var node = createBaseNode(228 /* ExpressionWithTypeArguments */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.transformFlags |= @@ -24096,7 +24588,7 @@ var ts; } // @api function createAsExpression(expression, type) { - var node = createBaseExpression(228 /* AsExpression */); + var node = createBaseExpression(229 /* AsExpression */); node.expression = expression; node.type = type; node.transformFlags |= @@ -24114,7 +24606,7 @@ var ts; } // @api function createNonNullExpression(expression) { - var node = createBaseExpression(229 /* NonNullExpression */); + var node = createBaseExpression(230 /* NonNullExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24132,7 +24624,7 @@ var ts; } // @api function createNonNullChain(expression) { - var node = createBaseExpression(229 /* NonNullExpression */); + var node = createBaseExpression(230 /* NonNullExpression */); node.flags |= 32 /* OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.transformFlags |= @@ -24149,7 +24641,7 @@ var ts; } // @api function createMetaProperty(keywordToken, name) { - var node = createBaseExpression(230 /* MetaProperty */); + var node = createBaseExpression(231 /* MetaProperty */); node.keywordToken = keywordToken; node.name = name; node.transformFlags |= propagateChildFlags(node.name); @@ -24176,7 +24668,7 @@ var ts; // // @api function createTemplateSpan(expression, literal) { - var node = createBaseNode(232 /* TemplateSpan */); + var node = createBaseNode(233 /* TemplateSpan */); node.expression = expression; node.literal = literal; node.transformFlags |= @@ -24194,7 +24686,7 @@ var ts; } // @api function createSemicolonClassElement() { - var node = createBaseNode(233 /* SemicolonClassElement */); + var node = createBaseNode(234 /* SemicolonClassElement */); node.transformFlags |= 1024 /* ContainsES2015 */; return node; } @@ -24203,7 +24695,7 @@ var ts; // // @api function createBlock(statements, multiLine) { - var node = createBaseNode(234 /* Block */); + var node = createBaseNode(235 /* Block */); node.statements = createNodeArray(statements); node.multiLine = multiLine; node.transformFlags |= propagateChildrenFlags(node.statements); @@ -24217,7 +24709,7 @@ var ts; } // @api function createVariableStatement(modifiers, declarationList) { - var node = createBaseDeclaration(236 /* VariableStatement */, /*decorators*/ undefined, modifiers); + var node = createBaseDeclaration(237 /* VariableStatement */, /*decorators*/ undefined, modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; node.transformFlags |= propagateChildFlags(node.declarationList); @@ -24235,11 +24727,11 @@ var ts; } // @api function createEmptyStatement() { - return createBaseNode(235 /* EmptyStatement */); + return createBaseNode(236 /* EmptyStatement */); } // @api function createExpressionStatement(expression) { - var node = createBaseNode(237 /* ExpressionStatement */); + var node = createBaseNode(238 /* ExpressionStatement */); node.expression = parenthesizerRules().parenthesizeExpressionOfExpressionStatement(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24252,7 +24744,7 @@ var ts; } // @api function createIfStatement(expression, thenStatement, elseStatement) { - var node = createBaseNode(238 /* IfStatement */); + var node = createBaseNode(239 /* IfStatement */); node.expression = expression; node.thenStatement = asEmbeddedStatement(thenStatement); node.elseStatement = asEmbeddedStatement(elseStatement); @@ -24272,7 +24764,7 @@ var ts; } // @api function createDoStatement(statement, expression) { - var node = createBaseNode(239 /* DoStatement */); + var node = createBaseNode(240 /* DoStatement */); node.statement = asEmbeddedStatement(statement); node.expression = expression; node.transformFlags |= @@ -24289,7 +24781,7 @@ var ts; } // @api function createWhileStatement(expression, statement) { - var node = createBaseNode(240 /* WhileStatement */); + var node = createBaseNode(241 /* WhileStatement */); node.expression = expression; node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -24306,7 +24798,7 @@ var ts; } // @api function createForStatement(initializer, condition, incrementor, statement) { - var node = createBaseNode(241 /* ForStatement */); + var node = createBaseNode(242 /* ForStatement */); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -24329,7 +24821,7 @@ var ts; } // @api function createForInStatement(initializer, expression, statement) { - var node = createBaseNode(242 /* ForInStatement */); + var node = createBaseNode(243 /* ForInStatement */); node.initializer = initializer; node.expression = expression; node.statement = asEmbeddedStatement(statement); @@ -24349,7 +24841,7 @@ var ts; } // @api function createForOfStatement(awaitModifier, initializer, expression, statement) { - var node = createBaseNode(243 /* ForOfStatement */); + var node = createBaseNode(244 /* ForOfStatement */); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); @@ -24375,7 +24867,7 @@ var ts; } // @api function createContinueStatement(label) { - var node = createBaseNode(244 /* ContinueStatement */); + var node = createBaseNode(245 /* ContinueStatement */); node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | @@ -24390,7 +24882,7 @@ var ts; } // @api function createBreakStatement(label) { - var node = createBaseNode(245 /* BreakStatement */); + var node = createBaseNode(246 /* BreakStatement */); node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | @@ -24405,7 +24897,7 @@ var ts; } // @api function createReturnStatement(expression) { - var node = createBaseNode(246 /* ReturnStatement */); + var node = createBaseNode(247 /* ReturnStatement */); node.expression = expression; // return in an ES2018 async generator must be awaited node.transformFlags |= @@ -24422,7 +24914,7 @@ var ts; } // @api function createWithStatement(expression, statement) { - var node = createBaseNode(247 /* WithStatement */); + var node = createBaseNode(248 /* WithStatement */); node.expression = expression; node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -24439,7 +24931,7 @@ var ts; } // @api function createSwitchStatement(expression, caseBlock) { - var node = createBaseNode(248 /* SwitchStatement */); + var node = createBaseNode(249 /* SwitchStatement */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.caseBlock = caseBlock; node.transformFlags |= @@ -24456,7 +24948,7 @@ var ts; } // @api function createLabeledStatement(label, statement) { - var node = createBaseNode(249 /* LabeledStatement */); + var node = createBaseNode(250 /* LabeledStatement */); node.label = asName(label); node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -24473,7 +24965,7 @@ var ts; } // @api function createThrowStatement(expression) { - var node = createBaseNode(250 /* ThrowStatement */); + var node = createBaseNode(251 /* ThrowStatement */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24486,7 +24978,7 @@ var ts; } // @api function createTryStatement(tryBlock, catchClause, finallyBlock) { - var node = createBaseNode(251 /* TryStatement */); + var node = createBaseNode(252 /* TryStatement */); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -24506,11 +24998,11 @@ var ts; } // @api function createDebuggerStatement() { - return createBaseNode(252 /* DebuggerStatement */); + return createBaseNode(253 /* DebuggerStatement */); } // @api function createVariableDeclaration(name, exclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(253 /* VariableDeclaration */, + var node = createBaseVariableLikeDeclaration(254 /* VariableDeclaration */, /*decorators*/ undefined, /*modifiers*/ undefined, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.exclamationToken = exclamationToken; @@ -24532,7 +25024,7 @@ var ts; // @api function createVariableDeclarationList(declarations, flags) { if (flags === void 0) { flags = 0 /* None */; } - var node = createBaseNode(254 /* VariableDeclarationList */); + var node = createBaseNode(255 /* VariableDeclarationList */); node.flags |= flags & 3 /* BlockScoped */; node.declarations = createNodeArray(declarations); node.transformFlags |= @@ -24553,7 +25045,7 @@ var ts; } // @api function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(255 /* FunctionDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(256 /* FunctionDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; if (!node.body || ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { node.transformFlags = 1 /* ContainsTypeScript */; @@ -24591,7 +25083,7 @@ var ts; } // @api function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(256 /* ClassDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses, members); + var node = createBaseClassLikeDeclaration(257 /* ClassDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses, members); if (ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { node.transformFlags = 1 /* ContainsTypeScript */; } @@ -24616,7 +25108,7 @@ var ts; } // @api function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseInterfaceOrClassLikeDeclaration(257 /* InterfaceDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses); + var node = createBaseInterfaceOrClassLikeDeclaration(258 /* InterfaceDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses); node.members = createNodeArray(members); node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -24634,7 +25126,7 @@ var ts; } // @api function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createBaseGenericNamedDeclaration(258 /* TypeAliasDeclaration */, decorators, modifiers, name, typeParameters); + var node = createBaseGenericNamedDeclaration(259 /* TypeAliasDeclaration */, decorators, modifiers, name, typeParameters); node.type = type; node.transformFlags = 1 /* ContainsTypeScript */; return node; @@ -24651,7 +25143,7 @@ var ts; } // @api function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createBaseNamedDeclaration(259 /* EnumDeclaration */, decorators, modifiers, name); + var node = createBaseNamedDeclaration(260 /* EnumDeclaration */, decorators, modifiers, name); node.members = createNodeArray(members); node.transformFlags |= propagateChildrenFlags(node.members) | @@ -24671,7 +25163,7 @@ var ts; // @api function createModuleDeclaration(decorators, modifiers, name, body, flags) { if (flags === void 0) { flags = 0 /* None */; } - var node = createBaseDeclaration(260 /* ModuleDeclaration */, decorators, modifiers); + var node = createBaseDeclaration(261 /* ModuleDeclaration */, decorators, modifiers); node.flags |= flags & (16 /* Namespace */ | 4 /* NestedNamespace */ | 1024 /* GlobalAugmentation */); node.name = name; node.body = body; @@ -24698,7 +25190,7 @@ var ts; } // @api function createModuleBlock(statements) { - var node = createBaseNode(261 /* ModuleBlock */); + var node = createBaseNode(262 /* ModuleBlock */); node.statements = createNodeArray(statements); node.transformFlags |= propagateChildrenFlags(node.statements); return node; @@ -24711,7 +25203,7 @@ var ts; } // @api function createCaseBlock(clauses) { - var node = createBaseNode(262 /* CaseBlock */); + var node = createBaseNode(263 /* CaseBlock */); node.clauses = createNodeArray(clauses); node.transformFlags |= propagateChildrenFlags(node.clauses); return node; @@ -24724,7 +25216,7 @@ var ts; } // @api function createNamespaceExportDeclaration(name) { - var node = createBaseNamedDeclaration(263 /* NamespaceExportDeclaration */, + var node = createBaseNamedDeclaration(264 /* NamespaceExportDeclaration */, /*decorators*/ undefined, /*modifiers*/ undefined, name); node.transformFlags = 1 /* ContainsTypeScript */; @@ -24738,7 +25230,7 @@ var ts; } // @api function createImportEqualsDeclaration(decorators, modifiers, isTypeOnly, name, moduleReference) { - var node = createBaseNamedDeclaration(264 /* ImportEqualsDeclaration */, decorators, modifiers, name); + var node = createBaseNamedDeclaration(265 /* ImportEqualsDeclaration */, decorators, modifiers, name); node.isTypeOnly = isTypeOnly; node.moduleReference = moduleReference; node.transformFlags |= propagateChildFlags(node.moduleReference); @@ -24759,7 +25251,7 @@ var ts; } // @api function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(265 /* ImportDeclaration */, decorators, modifiers); + var node = createBaseDeclaration(266 /* ImportDeclaration */, decorators, modifiers); node.importClause = importClause; node.moduleSpecifier = moduleSpecifier; node.assertClause = assertClause; @@ -24781,7 +25273,7 @@ var ts; } // @api function createImportClause(isTypeOnly, name, namedBindings) { - var node = createBaseNode(266 /* ImportClause */); + var node = createBaseNode(267 /* ImportClause */); node.isTypeOnly = isTypeOnly; node.name = name; node.namedBindings = namedBindings; @@ -24804,7 +25296,7 @@ var ts; } // @api function createAssertClause(elements, multiLine) { - var node = createBaseNode(292 /* AssertClause */); + var node = createBaseNode(293 /* AssertClause */); node.elements = createNodeArray(elements); node.multiLine = multiLine; node.transformFlags |= 4 /* ContainsESNext */; @@ -24819,7 +25311,7 @@ var ts; } // @api function createAssertEntry(name, value) { - var node = createBaseNode(293 /* AssertEntry */); + var node = createBaseNode(294 /* AssertEntry */); node.name = name; node.value = value; node.transformFlags |= 4 /* ContainsESNext */; @@ -24833,8 +25325,22 @@ var ts; : node; } // @api + function createImportTypeAssertionContainer(clause, multiLine) { + var node = createBaseNode(295 /* ImportTypeAssertionContainer */); + node.assertClause = clause; + node.multiLine = multiLine; + return node; + } + // @api + function updateImportTypeAssertionContainer(node, clause, multiLine) { + return node.assertClause !== clause + || node.multiLine !== multiLine + ? update(createImportTypeAssertionContainer(clause, multiLine), node) + : node; + } + // @api function createNamespaceImport(name) { - var node = createBaseNode(267 /* NamespaceImport */); + var node = createBaseNode(268 /* NamespaceImport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name); node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -24848,7 +25354,7 @@ var ts; } // @api function createNamespaceExport(name) { - var node = createBaseNode(273 /* NamespaceExport */); + var node = createBaseNode(274 /* NamespaceExport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name) | @@ -24864,7 +25370,7 @@ var ts; } // @api function createNamedImports(elements) { - var node = createBaseNode(268 /* NamedImports */); + var node = createBaseNode(269 /* NamedImports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -24878,7 +25384,7 @@ var ts; } // @api function createImportSpecifier(isTypeOnly, propertyName, name) { - var node = createBaseNode(269 /* ImportSpecifier */); + var node = createBaseNode(270 /* ImportSpecifier */); node.isTypeOnly = isTypeOnly; node.propertyName = propertyName; node.name = name; @@ -24898,7 +25404,7 @@ var ts; } // @api function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createBaseDeclaration(270 /* ExportAssignment */, decorators, modifiers); + var node = createBaseDeclaration(271 /* ExportAssignment */, decorators, modifiers); node.isExportEquals = isExportEquals; node.expression = isExportEquals ? parenthesizerRules().parenthesizeRightSideOfBinary(63 /* EqualsToken */, /*leftSide*/ undefined, expression) @@ -24917,7 +25423,7 @@ var ts; } // @api function createExportDeclaration(decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(271 /* ExportDeclaration */, decorators, modifiers); + var node = createBaseDeclaration(272 /* ExportDeclaration */, decorators, modifiers); node.isTypeOnly = isTypeOnly; node.exportClause = exportClause; node.moduleSpecifier = moduleSpecifier; @@ -24941,7 +25447,7 @@ var ts; } // @api function createNamedExports(elements) { - var node = createBaseNode(272 /* NamedExports */); + var node = createBaseNode(273 /* NamedExports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -24955,7 +25461,7 @@ var ts; } // @api function createExportSpecifier(isTypeOnly, propertyName, name) { - var node = createBaseNode(274 /* ExportSpecifier */); + var node = createBaseNode(275 /* ExportSpecifier */); node.isTypeOnly = isTypeOnly; node.propertyName = asName(propertyName); node.name = asName(name); @@ -24975,7 +25481,7 @@ var ts; } // @api function createMissingDeclaration() { - var node = createBaseDeclaration(275 /* MissingDeclaration */, + var node = createBaseDeclaration(276 /* MissingDeclaration */, /*decorators*/ undefined, /*modifiers*/ undefined); return node; @@ -24985,7 +25491,7 @@ var ts; // // @api function createExternalModuleReference(expression) { - var node = createBaseNode(276 /* ExternalModuleReference */); + var node = createBaseNode(277 /* ExternalModuleReference */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -25007,8 +25513,15 @@ var ts; return createBaseNode(kind); } // @api - // createJSDocNonNullableType // createJSDocNullableType + // createJSDocNonNullableType + function createJSDocPrePostfixUnaryTypeWorker(kind, type, postfix) { + if (postfix === void 0) { postfix = false; } + var node = createJSDocUnaryTypeWorker(kind, postfix ? type && parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(type) : type); + node.postfix = postfix; + return node; + } + // @api // createJSDocOptionalType // createJSDocVariadicType // createJSDocNamepathType @@ -25020,6 +25533,12 @@ var ts; // @api // updateJSDocNonNullableType // updateJSDocNullableType + function updateJSDocPrePostfixUnaryTypeWorker(kind, node, type) { + return node.type !== type + ? update(createJSDocPrePostfixUnaryTypeWorker(kind, type, node.postfix), node) + : node; + } + // @api // updateJSDocOptionalType // updateJSDocVariadicType // updateJSDocNamepathType @@ -25030,7 +25549,7 @@ var ts; } // @api function createJSDocFunctionType(parameters, type) { - var node = createBaseSignatureDeclaration(315 /* JSDocFunctionType */, + var node = createBaseSignatureDeclaration(317 /* JSDocFunctionType */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, @@ -25047,7 +25566,7 @@ var ts; // @api function createJSDocTypeLiteral(propertyTags, isArrayType) { if (isArrayType === void 0) { isArrayType = false; } - var node = createBaseNode(320 /* JSDocTypeLiteral */); + var node = createBaseNode(322 /* JSDocTypeLiteral */); node.jsDocPropertyTags = asNodeArray(propertyTags); node.isArrayType = isArrayType; return node; @@ -25061,7 +25580,7 @@ var ts; } // @api function createJSDocTypeExpression(type) { - var node = createBaseNode(307 /* JSDocTypeExpression */); + var node = createBaseNode(309 /* JSDocTypeExpression */); node.type = type; return node; } @@ -25073,7 +25592,7 @@ var ts; } // @api function createJSDocSignature(typeParameters, parameters, type) { - var node = createBaseNode(321 /* JSDocSignature */); + var node = createBaseNode(323 /* JSDocSignature */); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); node.type = type; @@ -25102,7 +25621,7 @@ var ts; } // @api function createJSDocTemplateTag(tagName, constraint, typeParameters, comment) { - var node = createBaseJSDocTag(342 /* JSDocTemplateTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("template"), comment); + var node = createBaseJSDocTag(344 /* JSDocTemplateTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("template"), comment); node.constraint = constraint; node.typeParameters = createNodeArray(typeParameters); return node; @@ -25119,7 +25638,7 @@ var ts; } // @api function createJSDocTypedefTag(tagName, typeExpression, fullName, comment) { - var node = createBaseJSDocTag(343 /* JSDocTypedefTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("typedef"), comment); + var node = createBaseJSDocTag(345 /* JSDocTypedefTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("typedef"), comment); node.typeExpression = typeExpression; node.fullName = fullName; node.name = ts.getJSDocTypeAliasName(fullName); @@ -25137,7 +25656,7 @@ var ts; } // @api function createJSDocParameterTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) { - var node = createBaseJSDocTag(338 /* JSDocParameterTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("param"), comment); + var node = createBaseJSDocTag(340 /* JSDocParameterTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("param"), comment); node.typeExpression = typeExpression; node.name = name; node.isNameFirst = !!isNameFirst; @@ -25158,7 +25677,7 @@ var ts; } // @api function createJSDocPropertyTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) { - var node = createBaseJSDocTag(345 /* JSDocPropertyTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("prop"), comment); + var node = createBaseJSDocTag(347 /* JSDocPropertyTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("prop"), comment); node.typeExpression = typeExpression; node.name = name; node.isNameFirst = !!isNameFirst; @@ -25179,7 +25698,7 @@ var ts; } // @api function createJSDocCallbackTag(tagName, typeExpression, fullName, comment) { - var node = createBaseJSDocTag(336 /* JSDocCallbackTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("callback"), comment); + var node = createBaseJSDocTag(338 /* JSDocCallbackTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("callback"), comment); node.typeExpression = typeExpression; node.fullName = fullName; node.name = ts.getJSDocTypeAliasName(fullName); @@ -25197,7 +25716,7 @@ var ts; } // @api function createJSDocAugmentsTag(tagName, className, comment) { - var node = createBaseJSDocTag(326 /* JSDocAugmentsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("augments"), comment); + var node = createBaseJSDocTag(328 /* JSDocAugmentsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("augments"), comment); node.class = className; return node; } @@ -25212,13 +25731,13 @@ var ts; } // @api function createJSDocImplementsTag(tagName, className, comment) { - var node = createBaseJSDocTag(327 /* JSDocImplementsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("implements"), comment); + var node = createBaseJSDocTag(329 /* JSDocImplementsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("implements"), comment); node.class = className; return node; } // @api function createJSDocSeeTag(tagName, name, comment) { - var node = createBaseJSDocTag(344 /* JSDocSeeTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("see"), comment); + var node = createBaseJSDocTag(346 /* JSDocSeeTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("see"), comment); node.name = name; return node; } @@ -25232,7 +25751,7 @@ var ts; } // @api function createJSDocNameReference(name) { - var node = createBaseNode(308 /* JSDocNameReference */); + var node = createBaseNode(310 /* JSDocNameReference */); node.name = name; return node; } @@ -25244,7 +25763,7 @@ var ts; } // @api function createJSDocMemberName(left, right) { - var node = createBaseNode(309 /* JSDocMemberName */); + var node = createBaseNode(311 /* JSDocMemberName */); node.left = left; node.right = right; node.transformFlags |= @@ -25261,7 +25780,7 @@ var ts; } // @api function createJSDocLink(name, text) { - var node = createBaseNode(322 /* JSDocLink */); + var node = createBaseNode(324 /* JSDocLink */); node.name = name; node.text = text; return node; @@ -25274,7 +25793,7 @@ var ts; } // @api function createJSDocLinkCode(name, text) { - var node = createBaseNode(323 /* JSDocLinkCode */); + var node = createBaseNode(325 /* JSDocLinkCode */); node.name = name; node.text = text; return node; @@ -25287,7 +25806,7 @@ var ts; } // @api function createJSDocLinkPlain(name, text) { - var node = createBaseNode(324 /* JSDocLinkPlain */); + var node = createBaseNode(326 /* JSDocLinkPlain */); node.name = name; node.text = text; return node; @@ -25359,7 +25878,7 @@ var ts; } // @api function createJSDocUnknownTag(tagName, comment) { - var node = createBaseJSDocTag(325 /* JSDocTag */, tagName, comment); + var node = createBaseJSDocTag(327 /* JSDocTag */, tagName, comment); return node; } // @api @@ -25371,7 +25890,7 @@ var ts; } // @api function createJSDocText(text) { - var node = createBaseNode(319 /* JSDocText */); + var node = createBaseNode(321 /* JSDocText */); node.text = text; return node; } @@ -25383,7 +25902,7 @@ var ts; } // @api function createJSDocComment(comment, tags) { - var node = createBaseNode(318 /* JSDocComment */); + var node = createBaseNode(320 /* JSDoc */); node.comment = comment; node.tags = asNodeArray(tags); return node; @@ -25400,7 +25919,7 @@ var ts; // // @api function createJsxElement(openingElement, children, closingElement) { - var node = createBaseNode(277 /* JsxElement */); + var node = createBaseNode(278 /* JsxElement */); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -25421,7 +25940,7 @@ var ts; } // @api function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createBaseNode(278 /* JsxSelfClosingElement */); + var node = createBaseNode(279 /* JsxSelfClosingElement */); node.tagName = tagName; node.typeArguments = asNodeArray(typeArguments); node.attributes = attributes; @@ -25445,7 +25964,7 @@ var ts; } // @api function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createBaseNode(279 /* JsxOpeningElement */); + var node = createBaseNode(280 /* JsxOpeningElement */); node.tagName = tagName; node.typeArguments = asNodeArray(typeArguments); node.attributes = attributes; @@ -25469,7 +25988,7 @@ var ts; } // @api function createJsxClosingElement(tagName) { - var node = createBaseNode(280 /* JsxClosingElement */); + var node = createBaseNode(281 /* JsxClosingElement */); node.tagName = tagName; node.transformFlags |= propagateChildFlags(node.tagName) | @@ -25484,7 +26003,7 @@ var ts; } // @api function createJsxFragment(openingFragment, children, closingFragment) { - var node = createBaseNode(281 /* JsxFragment */); + var node = createBaseNode(282 /* JsxFragment */); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -25520,19 +26039,19 @@ var ts; } // @api function createJsxOpeningFragment() { - var node = createBaseNode(282 /* JsxOpeningFragment */); + var node = createBaseNode(283 /* JsxOpeningFragment */); node.transformFlags |= 2 /* ContainsJsx */; return node; } // @api function createJsxJsxClosingFragment() { - var node = createBaseNode(283 /* JsxClosingFragment */); + var node = createBaseNode(284 /* JsxClosingFragment */); node.transformFlags |= 2 /* ContainsJsx */; return node; } // @api function createJsxAttribute(name, initializer) { - var node = createBaseNode(284 /* JsxAttribute */); + var node = createBaseNode(285 /* JsxAttribute */); node.name = name; node.initializer = initializer; node.transformFlags |= @@ -25550,7 +26069,7 @@ var ts; } // @api function createJsxAttributes(properties) { - var node = createBaseNode(285 /* JsxAttributes */); + var node = createBaseNode(286 /* JsxAttributes */); node.properties = createNodeArray(properties); node.transformFlags |= propagateChildrenFlags(node.properties) | @@ -25565,7 +26084,7 @@ var ts; } // @api function createJsxSpreadAttribute(expression) { - var node = createBaseNode(286 /* JsxSpreadAttribute */); + var node = createBaseNode(287 /* JsxSpreadAttribute */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression) | @@ -25580,7 +26099,7 @@ var ts; } // @api function createJsxExpression(dotDotDotToken, expression) { - var node = createBaseNode(287 /* JsxExpression */); + var node = createBaseNode(288 /* JsxExpression */); node.dotDotDotToken = dotDotDotToken; node.expression = expression; node.transformFlags |= @@ -25600,7 +26119,7 @@ var ts; // // @api function createCaseClause(expression, statements) { - var node = createBaseNode(288 /* CaseClause */); + var node = createBaseNode(289 /* CaseClause */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.statements = createNodeArray(statements); node.transformFlags |= @@ -25617,7 +26136,7 @@ var ts; } // @api function createDefaultClause(statements) { - var node = createBaseNode(289 /* DefaultClause */); + var node = createBaseNode(290 /* DefaultClause */); node.statements = createNodeArray(statements); node.transformFlags = propagateChildrenFlags(node.statements); return node; @@ -25630,7 +26149,7 @@ var ts; } // @api function createHeritageClause(token, types) { - var node = createBaseNode(290 /* HeritageClause */); + var node = createBaseNode(291 /* HeritageClause */); node.token = token; node.types = createNodeArray(types); node.transformFlags |= propagateChildrenFlags(node.types); @@ -25654,7 +26173,7 @@ var ts; } // @api function createCatchClause(variableDeclaration, block) { - var node = createBaseNode(291 /* CatchClause */); + var node = createBaseNode(292 /* CatchClause */); if (typeof variableDeclaration === "string" || variableDeclaration && !ts.isVariableDeclaration(variableDeclaration)) { variableDeclaration = createVariableDeclaration(variableDeclaration, /*exclamationToken*/ undefined, @@ -25682,7 +26201,7 @@ var ts; // // @api function createPropertyAssignment(name, initializer) { - var node = createBaseNamedDeclaration(294 /* PropertyAssignment */, + var node = createBaseNamedDeclaration(296 /* PropertyAssignment */, /*decorators*/ undefined, /*modifiers*/ undefined, name); node.initializer = parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); @@ -25712,7 +26231,7 @@ var ts; } // @api function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createBaseNamedDeclaration(295 /* ShorthandPropertyAssignment */, + var node = createBaseNamedDeclaration(297 /* ShorthandPropertyAssignment */, /*decorators*/ undefined, /*modifiers*/ undefined, name); node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer); @@ -25744,7 +26263,7 @@ var ts; } // @api function createSpreadAssignment(expression) { - var node = createBaseNode(296 /* SpreadAssignment */); + var node = createBaseNode(298 /* SpreadAssignment */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -25763,7 +26282,7 @@ var ts; // // @api function createEnumMember(name, initializer) { - var node = createBaseNode(297 /* EnumMember */); + var node = createBaseNode(299 /* EnumMember */); node.name = asName(name); node.initializer = initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); node.transformFlags |= @@ -25784,7 +26303,7 @@ var ts; // // @api function createSourceFile(statements, endOfFileToken, flags) { - var node = baseFactory.createBaseSourceFileNode(303 /* SourceFile */); + var node = baseFactory.createBaseSourceFileNode(305 /* SourceFile */); node.statements = createNodeArray(statements); node.endOfFileToken = endOfFileToken; node.flags |= flags; @@ -25801,7 +26320,7 @@ var ts; return node; } function cloneSourceFileWithChanges(source, statements, isDeclarationFile, referencedFiles, typeReferences, hasNoDefaultLib, libReferences) { - var node = baseFactory.createBaseSourceFileNode(303 /* SourceFile */); + var node = baseFactory.createBaseSourceFileNode(305 /* SourceFile */); for (var p in source) { if (p === "emitNode" || ts.hasProperty(node, p) || !ts.hasProperty(source, p)) continue; @@ -25840,7 +26359,7 @@ var ts; // @api function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = createBaseNode(304 /* Bundle */); + var node = createBaseNode(306 /* Bundle */); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; @@ -25855,7 +26374,7 @@ var ts; } // @api function createUnparsedSource(prologues, syntheticReferences, texts) { - var node = createBaseNode(305 /* UnparsedSource */); + var node = createBaseNode(307 /* UnparsedSource */); node.prologues = prologues; node.syntheticReferences = syntheticReferences; node.texts = texts; @@ -25873,28 +26392,28 @@ var ts; } // @api function createUnparsedPrologue(data) { - return createBaseUnparsedNode(298 /* UnparsedPrologue */, data); + return createBaseUnparsedNode(300 /* UnparsedPrologue */, data); } // @api function createUnparsedPrepend(data, texts) { - var node = createBaseUnparsedNode(299 /* UnparsedPrepend */, data); + var node = createBaseUnparsedNode(301 /* UnparsedPrepend */, data); node.texts = texts; return node; } // @api function createUnparsedTextLike(data, internal) { - return createBaseUnparsedNode(internal ? 301 /* UnparsedInternalText */ : 300 /* UnparsedText */, data); + return createBaseUnparsedNode(internal ? 303 /* UnparsedInternalText */ : 302 /* UnparsedText */, data); } // @api function createUnparsedSyntheticReference(section) { - var node = createBaseNode(302 /* UnparsedSyntheticReference */); + var node = createBaseNode(304 /* UnparsedSyntheticReference */); node.data = section.data; node.section = section; return node; } // @api function createInputFiles() { - var node = createBaseNode(306 /* InputFiles */); + var node = createBaseNode(308 /* InputFiles */); node.javascriptText = ""; node.declarationText = ""; return node; @@ -25905,7 +26424,7 @@ var ts; // @api function createSyntheticExpression(type, isSpread, tupleNameSource) { if (isSpread === void 0) { isSpread = false; } - var node = createBaseNode(231 /* SyntheticExpression */); + var node = createBaseNode(232 /* SyntheticExpression */); node.type = type; node.isSpread = isSpread; node.tupleNameSource = tupleNameSource; @@ -25913,7 +26432,7 @@ var ts; } // @api function createSyntaxList(children) { - var node = createBaseNode(346 /* SyntaxList */); + var node = createBaseNode(348 /* SyntaxList */); node._children = children; return node; } @@ -25928,7 +26447,7 @@ var ts; */ // @api function createNotEmittedStatement(original) { - var node = createBaseNode(347 /* NotEmittedStatement */); + var node = createBaseNode(349 /* NotEmittedStatement */); node.original = original; ts.setTextRange(node, original); return node; @@ -25942,7 +26461,7 @@ var ts; */ // @api function createPartiallyEmittedExpression(expression, original) { - var node = createBaseNode(348 /* PartiallyEmittedExpression */); + var node = createBaseNode(350 /* PartiallyEmittedExpression */); node.expression = expression; node.original = original; node.transformFlags |= @@ -25970,7 +26489,7 @@ var ts; } // @api function createCommaListExpression(elements) { - var node = createBaseNode(349 /* CommaListExpression */); + var node = createBaseNode(351 /* CommaListExpression */); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); node.transformFlags |= propagateChildrenFlags(node.elements); return node; @@ -25987,7 +26506,7 @@ var ts; */ // @api function createEndOfDeclarationMarker(original) { - var node = createBaseNode(351 /* EndOfDeclarationMarker */); + var node = createBaseNode(353 /* EndOfDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -25998,14 +26517,14 @@ var ts; */ // @api function createMergeDeclarationMarker(original) { - var node = createBaseNode(350 /* MergeDeclarationMarker */); + var node = createBaseNode(352 /* MergeDeclarationMarker */); node.emitNode = {}; node.original = original; return node; } // @api function createSyntheticReferenceExpression(expression, thisArg) { - var node = createBaseNode(352 /* SyntheticReferenceExpression */); + var node = createBaseNode(354 /* SyntheticReferenceExpression */); node.expression = expression; node.thisArg = thisArg; node.transformFlags |= @@ -26027,7 +26546,7 @@ var ts; if (node === undefined) { return node; } - var clone = ts.isSourceFile(node) ? baseFactory.createBaseSourceFileNode(303 /* SourceFile */) : + var clone = ts.isSourceFile(node) ? baseFactory.createBaseSourceFileNode(305 /* SourceFile */) : ts.isIdentifier(node) ? baseFactory.createBaseIdentifierNode(79 /* Identifier */) : ts.isPrivateIdentifier(node) ? baseFactory.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */) : !ts.isNodeKind(node.kind) ? baseFactory.createBaseTokenNode(node.kind) : @@ -26146,11 +26665,11 @@ var ts; } function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 211 /* ParenthesizedExpression */: return updateParenthesizedExpression(outerExpression, expression); - case 210 /* TypeAssertionExpression */: return updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 228 /* AsExpression */: return updateAsExpression(outerExpression, expression, outerExpression.type); - case 229 /* NonNullExpression */: return updateNonNullExpression(outerExpression, expression); - case 348 /* PartiallyEmittedExpression */: return updatePartiallyEmittedExpression(outerExpression, expression); + case 212 /* ParenthesizedExpression */: return updateParenthesizedExpression(outerExpression, expression); + case 211 /* TypeAssertionExpression */: return updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 229 /* AsExpression */: return updateAsExpression(outerExpression, expression, outerExpression.type); + case 230 /* NonNullExpression */: return updateNonNullExpression(outerExpression, expression); + case 350 /* PartiallyEmittedExpression */: return updatePartiallyEmittedExpression(outerExpression, expression); } } /** @@ -26204,13 +26723,13 @@ var ts; case 9 /* BigIntLiteral */: case 10 /* StringLiteral */: return false; - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return target.properties.length > 0; default: return true; @@ -26636,26 +27155,26 @@ var ts; } function getDefaultTagNameForKind(kind) { switch (kind) { - case 341 /* JSDocTypeTag */: return "type"; - case 339 /* JSDocReturnTag */: return "returns"; - case 340 /* JSDocThisTag */: return "this"; - case 337 /* JSDocEnumTag */: return "enum"; - case 328 /* JSDocAuthorTag */: return "author"; - case 330 /* JSDocClassTag */: return "class"; - case 331 /* JSDocPublicTag */: return "public"; - case 332 /* JSDocPrivateTag */: return "private"; - case 333 /* JSDocProtectedTag */: return "protected"; - case 334 /* JSDocReadonlyTag */: return "readonly"; - case 335 /* JSDocOverrideTag */: return "override"; - case 342 /* JSDocTemplateTag */: return "template"; - case 343 /* JSDocTypedefTag */: return "typedef"; - case 338 /* JSDocParameterTag */: return "param"; - case 345 /* JSDocPropertyTag */: return "prop"; - case 336 /* JSDocCallbackTag */: return "callback"; - case 326 /* JSDocAugmentsTag */: return "augments"; - case 327 /* JSDocImplementsTag */: return "implements"; + case 343 /* JSDocTypeTag */: return "type"; + case 341 /* JSDocReturnTag */: return "returns"; + case 342 /* JSDocThisTag */: return "this"; + case 339 /* JSDocEnumTag */: return "enum"; + case 330 /* JSDocAuthorTag */: return "author"; + case 332 /* JSDocClassTag */: return "class"; + case 333 /* JSDocPublicTag */: return "public"; + case 334 /* JSDocPrivateTag */: return "private"; + case 335 /* JSDocProtectedTag */: return "protected"; + case 336 /* JSDocReadonlyTag */: return "readonly"; + case 337 /* JSDocOverrideTag */: return "override"; + case 344 /* JSDocTemplateTag */: return "template"; + case 345 /* JSDocTypedefTag */: return "typedef"; + case 340 /* JSDocParameterTag */: return "param"; + case 347 /* JSDocPropertyTag */: return "prop"; + case 338 /* JSDocCallbackTag */: return "callback"; + case 328 /* JSDocAugmentsTag */: return "augments"; + case 329 /* JSDocImplementsTag */: return "implements"; default: - return ts.Debug.fail("Unsupported kind: ".concat(ts.Debug.formatSyntaxKind(kind))); + return ts.Debug.fail("Unsupported kind: " + ts.Debug.formatSyntaxKind(kind)); } } var rawTextScanner; @@ -26733,69 +27252,69 @@ var ts; */ /* @internal */ function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 176 /* FirstTypeNode */ && kind <= 199 /* LastTypeNode */) { + if (kind >= 177 /* FirstTypeNode */ && kind <= 200 /* LastTypeNode */) { return -2 /* TypeExcludes */; } switch (kind) { - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 203 /* ArrayLiteralExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 204 /* ArrayLiteralExpression */: return 536887296 /* ArrayLiteralOrCallOrNewExcludes */; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return 589443072 /* ModuleExcludes */; - case 163 /* Parameter */: + case 164 /* Parameter */: return 536870912 /* ParameterExcludes */; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return 557748224 /* ArrowFunctionExcludes */; - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: return 591310848 /* FunctionExcludes */; - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: return 537165824 /* VariableDeclarationListExcludes */; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return 536940544 /* ClassExcludes */; - case 170 /* Constructor */: + case 171 /* Constructor */: return 591306752 /* ConstructorExcludes */; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return 570433536 /* PropertyExcludes */; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return 574529536 /* MethodOrAccessorExcludes */; case 130 /* AnyKeyword */: - case 146 /* NumberKeyword */: - case 157 /* BigIntKeyword */: + case 147 /* NumberKeyword */: + case 158 /* BigIntKeyword */: case 143 /* NeverKeyword */: - case 149 /* StringKeyword */: - case 147 /* ObjectKeyword */: + case 150 /* StringKeyword */: + case 148 /* ObjectKeyword */: case 133 /* BooleanKeyword */: - case 150 /* SymbolKeyword */: + case 151 /* SymbolKeyword */: case 114 /* VoidKeyword */: - case 162 /* TypeParameter */: - case 165 /* PropertySignature */: - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 163 /* TypeParameter */: + case 166 /* PropertySignature */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: return -2 /* TypeExcludes */; - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return 536973312 /* ObjectLiteralExcludes */; - case 291 /* CatchClause */: + case 292 /* CatchClause */: return 536903680 /* CatchClauseExcludes */; - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: return 536887296 /* BindingPatternExcludes */; - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: - case 348 /* PartiallyEmittedExpression */: - case 211 /* ParenthesizedExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: + case 350 /* PartiallyEmittedExpression */: + case 212 /* ParenthesizedExpression */: case 106 /* SuperKeyword */: return 536870912 /* OuterExpressionExcludes */; - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return 536870912 /* PropertyAccessExcludes */; default: return 536870912 /* NodeExcludes */; @@ -26890,7 +27409,13 @@ var ts; referencedFiles = ts.append(referencedFiles, { pos: -1, end: -1, fileName: section.data }); break; case "type" /* Type */: - typeReferenceDirectives = ts.append(typeReferenceDirectives, section.data); + typeReferenceDirectives = ts.append(typeReferenceDirectives, { pos: -1, end: -1, fileName: section.data }); + break; + case "type-import" /* TypeResolutionModeImport */: + typeReferenceDirectives = ts.append(typeReferenceDirectives, { pos: -1, end: -1, fileName: section.data, resolutionMode: ts.ModuleKind.ESNext }); + break; + case "type-require" /* TypeResolutionModeRequire */: + typeReferenceDirectives = ts.append(typeReferenceDirectives, { pos: -1, end: -1, fileName: section.data, resolutionMode: ts.ModuleKind.CommonJS }); break; case "lib" /* Lib */: libReferenceDirectives = ts.append(libReferenceDirectives, { pos: -1, end: -1, fileName: section.data }); @@ -26949,6 +27474,8 @@ var ts; case "no-default-lib" /* NoDefaultLib */: case "reference" /* Reference */: case "type" /* Type */: + case "type-import" /* TypeResolutionModeImport */: + case "type-require" /* TypeResolutionModeRequire */: case "lib" /* Lib */: syntheticReferences = ts.append(syntheticReferences, ts.setTextRange(ts.factory.createUnparsedSyntheticReference(section), section)); break; @@ -26983,7 +27510,7 @@ var ts; }; var definedTextGetter_1 = function (path) { var result = textGetter_1(path); - return result !== undefined ? result : "/* Input file ".concat(path, " was missing */\r\n"); + return result !== undefined ? result : "/* Input file " + path + " was missing */\r\n"; }; var buildInfo_1; var getAndCacheBuildInfo_1 = function (getText) { @@ -27094,7 +27621,7 @@ var ts; // To avoid holding onto transformation artifacts, we keep track of any // parse tree node we are annotating. This allows us to clean them up after // all transformations have completed. - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = (_a = ts.getSourceFileOfNode(ts.getParseTreeNode(ts.getSourceFileOfNode(node)))) !== null && _a !== void 0 ? _a : ts.Debug.fail("Could not determine parsed source file."); @@ -27375,6 +27902,19 @@ var ts; return node; } ts.ignoreSourceNewlines = ignoreSourceNewlines; + /* @internal */ + function setTypeNode(node, type) { + var emitNode = getOrCreateEmitNode(node); + emitNode.typeNode = type; + return node; + } + ts.setTypeNode = setTypeNode; + /* @internal */ + function getTypeNode(node) { + var _a; + return (_a = node.emitNode) === null || _a === void 0 ? void 0 : _a.typeNode; + } + ts.getTypeNode = getTypeNode; })(ts || (ts = {})); /* @internal */ var ts; @@ -28174,7 +28714,7 @@ var ts; ts.isAwaitKeyword = isAwaitKeyword; /* @internal */ function isReadonlyKeyword(node) { - return node.kind === 144 /* ReadonlyKeyword */; + return node.kind === 145 /* ReadonlyKeyword */; } ts.isReadonlyKeyword = isReadonlyKeyword; /* @internal */ @@ -28199,601 +28739,601 @@ var ts; ts.isImportKeyword = isImportKeyword; // Names function isQualifiedName(node) { - return node.kind === 160 /* QualifiedName */; + return node.kind === 161 /* QualifiedName */; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 161 /* ComputedPropertyName */; + return node.kind === 162 /* ComputedPropertyName */; } ts.isComputedPropertyName = isComputedPropertyName; // Signature elements function isTypeParameterDeclaration(node) { - return node.kind === 162 /* TypeParameter */; + return node.kind === 163 /* TypeParameter */; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; // TODO(rbuckton): Rename to 'isParameterDeclaration' function isParameter(node) { - return node.kind === 163 /* Parameter */; + return node.kind === 164 /* Parameter */; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 164 /* Decorator */; + return node.kind === 165 /* Decorator */; } ts.isDecorator = isDecorator; // TypeMember function isPropertySignature(node) { - return node.kind === 165 /* PropertySignature */; + return node.kind === 166 /* PropertySignature */; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 166 /* PropertyDeclaration */; + return node.kind === 167 /* PropertyDeclaration */; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 167 /* MethodSignature */; + return node.kind === 168 /* MethodSignature */; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 168 /* MethodDeclaration */; + return node.kind === 169 /* MethodDeclaration */; } ts.isMethodDeclaration = isMethodDeclaration; function isClassStaticBlockDeclaration(node) { - return node.kind === 169 /* ClassStaticBlockDeclaration */; + return node.kind === 170 /* ClassStaticBlockDeclaration */; } ts.isClassStaticBlockDeclaration = isClassStaticBlockDeclaration; function isConstructorDeclaration(node) { - return node.kind === 170 /* Constructor */; + return node.kind === 171 /* Constructor */; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 171 /* GetAccessor */; + return node.kind === 172 /* GetAccessor */; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 172 /* SetAccessor */; + return node.kind === 173 /* SetAccessor */; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 173 /* CallSignature */; + return node.kind === 174 /* CallSignature */; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 174 /* ConstructSignature */; + return node.kind === 175 /* ConstructSignature */; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 175 /* IndexSignature */; + return node.kind === 176 /* IndexSignature */; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; // Type function isTypePredicateNode(node) { - return node.kind === 176 /* TypePredicate */; + return node.kind === 177 /* TypePredicate */; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 177 /* TypeReference */; + return node.kind === 178 /* TypeReference */; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 178 /* FunctionType */; + return node.kind === 179 /* FunctionType */; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 179 /* ConstructorType */; + return node.kind === 180 /* ConstructorType */; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 180 /* TypeQuery */; + return node.kind === 181 /* TypeQuery */; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 181 /* TypeLiteral */; + return node.kind === 182 /* TypeLiteral */; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 182 /* ArrayType */; + return node.kind === 183 /* ArrayType */; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 183 /* TupleType */; + return node.kind === 184 /* TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; function isNamedTupleMember(node) { - return node.kind === 196 /* NamedTupleMember */; + return node.kind === 197 /* NamedTupleMember */; } ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { - return node.kind === 184 /* OptionalType */; + return node.kind === 185 /* OptionalType */; } ts.isOptionalTypeNode = isOptionalTypeNode; function isRestTypeNode(node) { - return node.kind === 185 /* RestType */; + return node.kind === 186 /* RestType */; } ts.isRestTypeNode = isRestTypeNode; function isUnionTypeNode(node) { - return node.kind === 186 /* UnionType */; + return node.kind === 187 /* UnionType */; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 187 /* IntersectionType */; + return node.kind === 188 /* IntersectionType */; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 188 /* ConditionalType */; + return node.kind === 189 /* ConditionalType */; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 189 /* InferType */; + return node.kind === 190 /* InferType */; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 190 /* ParenthesizedType */; + return node.kind === 191 /* ParenthesizedType */; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 191 /* ThisType */; + return node.kind === 192 /* ThisType */; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 192 /* TypeOperator */; + return node.kind === 193 /* TypeOperator */; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 193 /* IndexedAccessType */; + return node.kind === 194 /* IndexedAccessType */; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 194 /* MappedType */; + return node.kind === 195 /* MappedType */; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 195 /* LiteralType */; + return node.kind === 196 /* LiteralType */; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 199 /* ImportType */; + return node.kind === 200 /* ImportType */; } ts.isImportTypeNode = isImportTypeNode; function isTemplateLiteralTypeSpan(node) { - return node.kind === 198 /* TemplateLiteralTypeSpan */; + return node.kind === 199 /* TemplateLiteralTypeSpan */; } ts.isTemplateLiteralTypeSpan = isTemplateLiteralTypeSpan; function isTemplateLiteralTypeNode(node) { - return node.kind === 197 /* TemplateLiteralType */; + return node.kind === 198 /* TemplateLiteralType */; } ts.isTemplateLiteralTypeNode = isTemplateLiteralTypeNode; // Binding patterns function isObjectBindingPattern(node) { - return node.kind === 200 /* ObjectBindingPattern */; + return node.kind === 201 /* ObjectBindingPattern */; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 201 /* ArrayBindingPattern */; + return node.kind === 202 /* ArrayBindingPattern */; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 202 /* BindingElement */; + return node.kind === 203 /* BindingElement */; } ts.isBindingElement = isBindingElement; // Expression function isArrayLiteralExpression(node) { - return node.kind === 203 /* ArrayLiteralExpression */; + return node.kind === 204 /* ArrayLiteralExpression */; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 204 /* ObjectLiteralExpression */; + return node.kind === 205 /* ObjectLiteralExpression */; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 205 /* PropertyAccessExpression */; + return node.kind === 206 /* PropertyAccessExpression */; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 206 /* ElementAccessExpression */; + return node.kind === 207 /* ElementAccessExpression */; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 207 /* CallExpression */; + return node.kind === 208 /* CallExpression */; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 208 /* NewExpression */; + return node.kind === 209 /* NewExpression */; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 209 /* TaggedTemplateExpression */; + return node.kind === 210 /* TaggedTemplateExpression */; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertionExpression(node) { - return node.kind === 210 /* TypeAssertionExpression */; + return node.kind === 211 /* TypeAssertionExpression */; } ts.isTypeAssertionExpression = isTypeAssertionExpression; function isParenthesizedExpression(node) { - return node.kind === 211 /* ParenthesizedExpression */; + return node.kind === 212 /* ParenthesizedExpression */; } ts.isParenthesizedExpression = isParenthesizedExpression; function isFunctionExpression(node) { - return node.kind === 212 /* FunctionExpression */; + return node.kind === 213 /* FunctionExpression */; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 213 /* ArrowFunction */; + return node.kind === 214 /* ArrowFunction */; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 214 /* DeleteExpression */; + return node.kind === 215 /* DeleteExpression */; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 215 /* TypeOfExpression */; + return node.kind === 216 /* TypeOfExpression */; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 216 /* VoidExpression */; + return node.kind === 217 /* VoidExpression */; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 217 /* AwaitExpression */; + return node.kind === 218 /* AwaitExpression */; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 218 /* PrefixUnaryExpression */; + return node.kind === 219 /* PrefixUnaryExpression */; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 219 /* PostfixUnaryExpression */; + return node.kind === 220 /* PostfixUnaryExpression */; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 220 /* BinaryExpression */; + return node.kind === 221 /* BinaryExpression */; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 221 /* ConditionalExpression */; + return node.kind === 222 /* ConditionalExpression */; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 222 /* TemplateExpression */; + return node.kind === 223 /* TemplateExpression */; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 223 /* YieldExpression */; + return node.kind === 224 /* YieldExpression */; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 224 /* SpreadElement */; + return node.kind === 225 /* SpreadElement */; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 225 /* ClassExpression */; + return node.kind === 226 /* ClassExpression */; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 226 /* OmittedExpression */; + return node.kind === 227 /* OmittedExpression */; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 227 /* ExpressionWithTypeArguments */; + return node.kind === 228 /* ExpressionWithTypeArguments */; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 228 /* AsExpression */; + return node.kind === 229 /* AsExpression */; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 229 /* NonNullExpression */; + return node.kind === 230 /* NonNullExpression */; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 230 /* MetaProperty */; + return node.kind === 231 /* MetaProperty */; } ts.isMetaProperty = isMetaProperty; function isSyntheticExpression(node) { - return node.kind === 231 /* SyntheticExpression */; + return node.kind === 232 /* SyntheticExpression */; } ts.isSyntheticExpression = isSyntheticExpression; function isPartiallyEmittedExpression(node) { - return node.kind === 348 /* PartiallyEmittedExpression */; + return node.kind === 350 /* PartiallyEmittedExpression */; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; function isCommaListExpression(node) { - return node.kind === 349 /* CommaListExpression */; + return node.kind === 351 /* CommaListExpression */; } ts.isCommaListExpression = isCommaListExpression; // Misc function isTemplateSpan(node) { - return node.kind === 232 /* TemplateSpan */; + return node.kind === 233 /* TemplateSpan */; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 233 /* SemicolonClassElement */; + return node.kind === 234 /* SemicolonClassElement */; } ts.isSemicolonClassElement = isSemicolonClassElement; // Elements function isBlock(node) { - return node.kind === 234 /* Block */; + return node.kind === 235 /* Block */; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 236 /* VariableStatement */; + return node.kind === 237 /* VariableStatement */; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 235 /* EmptyStatement */; + return node.kind === 236 /* EmptyStatement */; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 237 /* ExpressionStatement */; + return node.kind === 238 /* ExpressionStatement */; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 238 /* IfStatement */; + return node.kind === 239 /* IfStatement */; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 239 /* DoStatement */; + return node.kind === 240 /* DoStatement */; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 240 /* WhileStatement */; + return node.kind === 241 /* WhileStatement */; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 241 /* ForStatement */; + return node.kind === 242 /* ForStatement */; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 242 /* ForInStatement */; + return node.kind === 243 /* ForInStatement */; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 243 /* ForOfStatement */; + return node.kind === 244 /* ForOfStatement */; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 244 /* ContinueStatement */; + return node.kind === 245 /* ContinueStatement */; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 245 /* BreakStatement */; + return node.kind === 246 /* BreakStatement */; } ts.isBreakStatement = isBreakStatement; function isReturnStatement(node) { - return node.kind === 246 /* ReturnStatement */; + return node.kind === 247 /* ReturnStatement */; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 247 /* WithStatement */; + return node.kind === 248 /* WithStatement */; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 248 /* SwitchStatement */; + return node.kind === 249 /* SwitchStatement */; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 249 /* LabeledStatement */; + return node.kind === 250 /* LabeledStatement */; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 250 /* ThrowStatement */; + return node.kind === 251 /* ThrowStatement */; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 251 /* TryStatement */; + return node.kind === 252 /* TryStatement */; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 252 /* DebuggerStatement */; + return node.kind === 253 /* DebuggerStatement */; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 253 /* VariableDeclaration */; + return node.kind === 254 /* VariableDeclaration */; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 254 /* VariableDeclarationList */; + return node.kind === 255 /* VariableDeclarationList */; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 255 /* FunctionDeclaration */; + return node.kind === 256 /* FunctionDeclaration */; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 256 /* ClassDeclaration */; + return node.kind === 257 /* ClassDeclaration */; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 257 /* InterfaceDeclaration */; + return node.kind === 258 /* InterfaceDeclaration */; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 258 /* TypeAliasDeclaration */; + return node.kind === 259 /* TypeAliasDeclaration */; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 259 /* EnumDeclaration */; + return node.kind === 260 /* EnumDeclaration */; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 260 /* ModuleDeclaration */; + return node.kind === 261 /* ModuleDeclaration */; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 261 /* ModuleBlock */; + return node.kind === 262 /* ModuleBlock */; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 262 /* CaseBlock */; + return node.kind === 263 /* CaseBlock */; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 263 /* NamespaceExportDeclaration */; + return node.kind === 264 /* NamespaceExportDeclaration */; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 264 /* ImportEqualsDeclaration */; + return node.kind === 265 /* ImportEqualsDeclaration */; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 265 /* ImportDeclaration */; + return node.kind === 266 /* ImportDeclaration */; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 266 /* ImportClause */; + return node.kind === 267 /* ImportClause */; } ts.isImportClause = isImportClause; function isAssertClause(node) { - return node.kind === 292 /* AssertClause */; + return node.kind === 293 /* AssertClause */; } ts.isAssertClause = isAssertClause; function isAssertEntry(node) { - return node.kind === 293 /* AssertEntry */; + return node.kind === 294 /* AssertEntry */; } ts.isAssertEntry = isAssertEntry; function isNamespaceImport(node) { - return node.kind === 267 /* NamespaceImport */; + return node.kind === 268 /* NamespaceImport */; } ts.isNamespaceImport = isNamespaceImport; function isNamespaceExport(node) { - return node.kind === 273 /* NamespaceExport */; + return node.kind === 274 /* NamespaceExport */; } ts.isNamespaceExport = isNamespaceExport; function isNamedImports(node) { - return node.kind === 268 /* NamedImports */; + return node.kind === 269 /* NamedImports */; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 269 /* ImportSpecifier */; + return node.kind === 270 /* ImportSpecifier */; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 270 /* ExportAssignment */; + return node.kind === 271 /* ExportAssignment */; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 271 /* ExportDeclaration */; + return node.kind === 272 /* ExportDeclaration */; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 272 /* NamedExports */; + return node.kind === 273 /* NamedExports */; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 274 /* ExportSpecifier */; + return node.kind === 275 /* ExportSpecifier */; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 275 /* MissingDeclaration */; + return node.kind === 276 /* MissingDeclaration */; } ts.isMissingDeclaration = isMissingDeclaration; function isNotEmittedStatement(node) { - return node.kind === 347 /* NotEmittedStatement */; + return node.kind === 349 /* NotEmittedStatement */; } ts.isNotEmittedStatement = isNotEmittedStatement; /* @internal */ function isSyntheticReference(node) { - return node.kind === 352 /* SyntheticReferenceExpression */; + return node.kind === 354 /* SyntheticReferenceExpression */; } ts.isSyntheticReference = isSyntheticReference; /* @internal */ function isMergeDeclarationMarker(node) { - return node.kind === 350 /* MergeDeclarationMarker */; + return node.kind === 352 /* MergeDeclarationMarker */; } ts.isMergeDeclarationMarker = isMergeDeclarationMarker; /* @internal */ function isEndOfDeclarationMarker(node) { - return node.kind === 351 /* EndOfDeclarationMarker */; + return node.kind === 353 /* EndOfDeclarationMarker */; } ts.isEndOfDeclarationMarker = isEndOfDeclarationMarker; // Module References function isExternalModuleReference(node) { - return node.kind === 276 /* ExternalModuleReference */; + return node.kind === 277 /* ExternalModuleReference */; } ts.isExternalModuleReference = isExternalModuleReference; // JSX function isJsxElement(node) { - return node.kind === 277 /* JsxElement */; + return node.kind === 278 /* JsxElement */; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 278 /* JsxSelfClosingElement */; + return node.kind === 279 /* JsxSelfClosingElement */; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 279 /* JsxOpeningElement */; + return node.kind === 280 /* JsxOpeningElement */; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 280 /* JsxClosingElement */; + return node.kind === 281 /* JsxClosingElement */; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 281 /* JsxFragment */; + return node.kind === 282 /* JsxFragment */; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 282 /* JsxOpeningFragment */; + return node.kind === 283 /* JsxOpeningFragment */; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 283 /* JsxClosingFragment */; + return node.kind === 284 /* JsxClosingFragment */; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 284 /* JsxAttribute */; + return node.kind === 285 /* JsxAttribute */; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 285 /* JsxAttributes */; + return node.kind === 286 /* JsxAttributes */; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 286 /* JsxSpreadAttribute */; + return node.kind === 287 /* JsxSpreadAttribute */; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 287 /* JsxExpression */; + return node.kind === 288 /* JsxExpression */; } ts.isJsxExpression = isJsxExpression; // Clauses function isCaseClause(node) { - return node.kind === 288 /* CaseClause */; + return node.kind === 289 /* CaseClause */; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 289 /* DefaultClause */; + return node.kind === 290 /* DefaultClause */; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 290 /* HeritageClause */; + return node.kind === 291 /* HeritageClause */; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 291 /* CatchClause */; + return node.kind === 292 /* CatchClause */; } ts.isCatchClause = isCatchClause; // Property assignments function isPropertyAssignment(node) { - return node.kind === 294 /* PropertyAssignment */; + return node.kind === 296 /* PropertyAssignment */; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 295 /* ShorthandPropertyAssignment */; + return node.kind === 297 /* ShorthandPropertyAssignment */; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 296 /* SpreadAssignment */; + return node.kind === 298 /* SpreadAssignment */; } ts.isSpreadAssignment = isSpreadAssignment; // Enum function isEnumMember(node) { - return node.kind === 297 /* EnumMember */; + return node.kind === 299 /* EnumMember */; } ts.isEnumMember = isEnumMember; // Unparsed // TODO(rbuckton): isUnparsedPrologue function isUnparsedPrepend(node) { - return node.kind === 299 /* UnparsedPrepend */; + return node.kind === 301 /* UnparsedPrepend */; } ts.isUnparsedPrepend = isUnparsedPrepend; // TODO(rbuckton): isUnparsedText @@ -28801,176 +29341,176 @@ var ts; // TODO(rbuckton): isUnparsedSyntheticReference // Top-level nodes function isSourceFile(node) { - return node.kind === 303 /* SourceFile */; + return node.kind === 305 /* SourceFile */; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 304 /* Bundle */; + return node.kind === 306 /* Bundle */; } ts.isBundle = isBundle; function isUnparsedSource(node) { - return node.kind === 305 /* UnparsedSource */; + return node.kind === 307 /* UnparsedSource */; } ts.isUnparsedSource = isUnparsedSource; // TODO(rbuckton): isInputFiles // JSDoc Elements function isJSDocTypeExpression(node) { - return node.kind === 307 /* JSDocTypeExpression */; + return node.kind === 309 /* JSDocTypeExpression */; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocNameReference(node) { - return node.kind === 308 /* JSDocNameReference */; + return node.kind === 310 /* JSDocNameReference */; } ts.isJSDocNameReference = isJSDocNameReference; function isJSDocMemberName(node) { - return node.kind === 309 /* JSDocMemberName */; + return node.kind === 311 /* JSDocMemberName */; } ts.isJSDocMemberName = isJSDocMemberName; function isJSDocLink(node) { - return node.kind === 322 /* JSDocLink */; + return node.kind === 324 /* JSDocLink */; } ts.isJSDocLink = isJSDocLink; function isJSDocLinkCode(node) { - return node.kind === 323 /* JSDocLinkCode */; + return node.kind === 325 /* JSDocLinkCode */; } ts.isJSDocLinkCode = isJSDocLinkCode; function isJSDocLinkPlain(node) { - return node.kind === 324 /* JSDocLinkPlain */; + return node.kind === 326 /* JSDocLinkPlain */; } ts.isJSDocLinkPlain = isJSDocLinkPlain; function isJSDocAllType(node) { - return node.kind === 310 /* JSDocAllType */; + return node.kind === 312 /* JSDocAllType */; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 311 /* JSDocUnknownType */; + return node.kind === 313 /* JSDocUnknownType */; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 312 /* JSDocNullableType */; + return node.kind === 314 /* JSDocNullableType */; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 313 /* JSDocNonNullableType */; + return node.kind === 315 /* JSDocNonNullableType */; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 314 /* JSDocOptionalType */; + return node.kind === 316 /* JSDocOptionalType */; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 315 /* JSDocFunctionType */; + return node.kind === 317 /* JSDocFunctionType */; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 316 /* JSDocVariadicType */; + return node.kind === 318 /* JSDocVariadicType */; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDocNamepathType(node) { - return node.kind === 317 /* JSDocNamepathType */; + return node.kind === 319 /* JSDocNamepathType */; } ts.isJSDocNamepathType = isJSDocNamepathType; function isJSDoc(node) { - return node.kind === 318 /* JSDocComment */; + return node.kind === 320 /* JSDoc */; } ts.isJSDoc = isJSDoc; function isJSDocTypeLiteral(node) { - return node.kind === 320 /* JSDocTypeLiteral */; + return node.kind === 322 /* JSDocTypeLiteral */; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocSignature(node) { - return node.kind === 321 /* JSDocSignature */; + return node.kind === 323 /* JSDocSignature */; } ts.isJSDocSignature = isJSDocSignature; // JSDoc Tags function isJSDocAugmentsTag(node) { - return node.kind === 326 /* JSDocAugmentsTag */; + return node.kind === 328 /* JSDocAugmentsTag */; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocAuthorTag(node) { - return node.kind === 328 /* JSDocAuthorTag */; + return node.kind === 330 /* JSDocAuthorTag */; } ts.isJSDocAuthorTag = isJSDocAuthorTag; function isJSDocClassTag(node) { - return node.kind === 330 /* JSDocClassTag */; + return node.kind === 332 /* JSDocClassTag */; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocCallbackTag(node) { - return node.kind === 336 /* JSDocCallbackTag */; + return node.kind === 338 /* JSDocCallbackTag */; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocPublicTag(node) { - return node.kind === 331 /* JSDocPublicTag */; + return node.kind === 333 /* JSDocPublicTag */; } ts.isJSDocPublicTag = isJSDocPublicTag; function isJSDocPrivateTag(node) { - return node.kind === 332 /* JSDocPrivateTag */; + return node.kind === 334 /* JSDocPrivateTag */; } ts.isJSDocPrivateTag = isJSDocPrivateTag; function isJSDocProtectedTag(node) { - return node.kind === 333 /* JSDocProtectedTag */; + return node.kind === 335 /* JSDocProtectedTag */; } ts.isJSDocProtectedTag = isJSDocProtectedTag; function isJSDocReadonlyTag(node) { - return node.kind === 334 /* JSDocReadonlyTag */; + return node.kind === 336 /* JSDocReadonlyTag */; } ts.isJSDocReadonlyTag = isJSDocReadonlyTag; function isJSDocOverrideTag(node) { - return node.kind === 335 /* JSDocOverrideTag */; + return node.kind === 337 /* JSDocOverrideTag */; } ts.isJSDocOverrideTag = isJSDocOverrideTag; function isJSDocDeprecatedTag(node) { - return node.kind === 329 /* JSDocDeprecatedTag */; + return node.kind === 331 /* JSDocDeprecatedTag */; } ts.isJSDocDeprecatedTag = isJSDocDeprecatedTag; function isJSDocSeeTag(node) { - return node.kind === 344 /* JSDocSeeTag */; + return node.kind === 346 /* JSDocSeeTag */; } ts.isJSDocSeeTag = isJSDocSeeTag; function isJSDocEnumTag(node) { - return node.kind === 337 /* JSDocEnumTag */; + return node.kind === 339 /* JSDocEnumTag */; } ts.isJSDocEnumTag = isJSDocEnumTag; function isJSDocParameterTag(node) { - return node.kind === 338 /* JSDocParameterTag */; + return node.kind === 340 /* JSDocParameterTag */; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 339 /* JSDocReturnTag */; + return node.kind === 341 /* JSDocReturnTag */; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocThisTag(node) { - return node.kind === 340 /* JSDocThisTag */; + return node.kind === 342 /* JSDocThisTag */; } ts.isJSDocThisTag = isJSDocThisTag; function isJSDocTypeTag(node) { - return node.kind === 341 /* JSDocTypeTag */; + return node.kind === 343 /* JSDocTypeTag */; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 342 /* JSDocTemplateTag */; + return node.kind === 344 /* JSDocTemplateTag */; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 343 /* JSDocTypedefTag */; + return node.kind === 345 /* JSDocTypedefTag */; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocUnknownTag(node) { - return node.kind === 325 /* JSDocTag */; + return node.kind === 327 /* JSDocTag */; } ts.isJSDocUnknownTag = isJSDocUnknownTag; function isJSDocPropertyTag(node) { - return node.kind === 345 /* JSDocPropertyTag */; + return node.kind === 347 /* JSDocPropertyTag */; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocImplementsTag(node) { - return node.kind === 327 /* JSDocImplementsTag */; + return node.kind === 329 /* JSDocImplementsTag */; } ts.isJSDocImplementsTag = isJSDocImplementsTag; // Synthesized list /* @internal */ function isSyntaxList(n) { - return n.kind === 346 /* SyntaxList */; + return n.kind === 348 /* SyntaxList */; } ts.isSyntaxList = isSyntaxList; })(ts || (ts = {})); @@ -29169,14 +29709,14 @@ var ts; ts.Debug.failBadSyntaxKind(property.name, "Private identifiers are not allowed in object literals."); } switch (property.kind) { - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return createExpressionForAccessorDeclaration(factory, node.properties, property, receiver, !!node.multiLine); - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return createExpressionForPropertyAssignment(factory, property, receiver); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return createExpressionForShorthandPropertyAssignment(factory, property, receiver); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return createExpressionForMethodDeclaration(factory, property, receiver); } } @@ -29284,8 +29824,8 @@ var ts; } ts.startsWithUseStrict = startsWithUseStrict; function isCommaSequence(node) { - return node.kind === 220 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || - node.kind === 349 /* CommaListExpression */; + return node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || + node.kind === 351 /* CommaListExpression */; } ts.isCommaSequence = isCommaSequence; function isJSDocTypeAssertion(node) { @@ -29303,17 +29843,17 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 15 /* All */; } switch (node.kind) { - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: if (kinds & 16 /* ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) { return false; } return (kinds & 1 /* Parentheses */) !== 0; - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: return (kinds & 2 /* TypeAssertions */) !== 0; - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: return (kinds & 4 /* NonNullAssertions */) !== 0; - case 348 /* PartiallyEmittedExpression */: + case 350 /* PartiallyEmittedExpression */: return (kinds & 8 /* PartiallyEmittedExpressions */) !== 0; } return false; @@ -29435,10 +29975,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : factory.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 265 /* ImportDeclaration */ && node.importClause) { + if (node.kind === 266 /* ImportDeclaration */ && node.importClause) { return factory.getGeneratedNameForNode(node); } - if (node.kind === 271 /* ExportDeclaration */ && node.moduleSpecifier) { + if (node.kind === 272 /* ExportDeclaration */ && node.moduleSpecifier) { return factory.getGeneratedNameForNode(node); } return undefined; @@ -29557,7 +30097,7 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: // `b` in `({ a: b } = ...)` // `b` in `({ a: b = 1 } = ...)` // `{b}` in `({ a: {b} } = ...)` @@ -29569,11 +30109,11 @@ var ts; // `b[0]` in `({ a: b[0] } = ...)` // `b[0]` in `({ a: b[0] = 1 } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: // `a` in `({ a } = ...)` // `a` in `({ a = 1 } = ...)` return bindingElement.name; - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } @@ -29605,12 +30145,12 @@ var ts; */ function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 163 /* Parameter */: - case 202 /* BindingElement */: + case 164 /* Parameter */: + case 203 /* BindingElement */: // `...` in `let [...a] = ...` return bindingElement.dotDotDotToken; - case 224 /* SpreadElement */: - case 296 /* SpreadAssignment */: + case 225 /* SpreadElement */: + case 298 /* SpreadAssignment */: // `...` in `[...a] = ...` return bindingElement; } @@ -29628,7 +30168,7 @@ var ts; ts.getPropertyNameOfBindingOrAssignmentElement = getPropertyNameOfBindingOrAssignmentElement; function tryGetPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 202 /* BindingElement */: + case 203 /* BindingElement */: // `a` in `let { a: b } = ...` // `[a]` in `let { [a]: b } = ...` // `"a"` in `let { "a": b } = ...` @@ -29643,7 +30183,7 @@ var ts; : propertyName; } break; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: // `a` in `({ a: b } = ...)` // `[a]` in `({ [a]: b } = ...)` // `"a"` in `({ "a": b } = ...)` @@ -29658,7 +30198,7 @@ var ts; : propertyName; } break; - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: // `a` in `({ ...a } = ...)` if (bindingElement.name && ts.isPrivateIdentifier(bindingElement.name)) { return ts.Debug.failBadSyntaxKind(bindingElement.name); @@ -29681,13 +30221,13 @@ var ts; */ function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: - case 203 /* ArrayLiteralExpression */: + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: + case 204 /* ArrayLiteralExpression */: // `a` in `{a}` // `a` in `[a]` return name.elements; - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: // `a` in `{a}` return name.properties; } @@ -29708,29 +30248,29 @@ var ts; ts.getJSDocTypeAliasName = getJSDocTypeAliasName; function canHaveModifiers(node) { var kind = node.kind; - return kind === 163 /* Parameter */ - || kind === 165 /* PropertySignature */ - || kind === 166 /* PropertyDeclaration */ - || kind === 167 /* MethodSignature */ - || kind === 168 /* MethodDeclaration */ - || kind === 170 /* Constructor */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */ - || kind === 175 /* IndexSignature */ - || kind === 212 /* FunctionExpression */ - || kind === 213 /* ArrowFunction */ - || kind === 225 /* ClassExpression */ - || kind === 236 /* VariableStatement */ - || kind === 255 /* FunctionDeclaration */ - || kind === 256 /* ClassDeclaration */ - || kind === 257 /* InterfaceDeclaration */ - || kind === 258 /* TypeAliasDeclaration */ - || kind === 259 /* EnumDeclaration */ - || kind === 260 /* ModuleDeclaration */ - || kind === 264 /* ImportEqualsDeclaration */ - || kind === 265 /* ImportDeclaration */ - || kind === 270 /* ExportAssignment */ - || kind === 271 /* ExportDeclaration */; + return kind === 164 /* Parameter */ + || kind === 166 /* PropertySignature */ + || kind === 167 /* PropertyDeclaration */ + || kind === 168 /* MethodSignature */ + || kind === 169 /* MethodDeclaration */ + || kind === 171 /* Constructor */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */ + || kind === 176 /* IndexSignature */ + || kind === 213 /* FunctionExpression */ + || kind === 214 /* ArrowFunction */ + || kind === 226 /* ClassExpression */ + || kind === 237 /* VariableStatement */ + || kind === 256 /* FunctionDeclaration */ + || kind === 257 /* ClassDeclaration */ + || kind === 258 /* InterfaceDeclaration */ + || kind === 259 /* TypeAliasDeclaration */ + || kind === 260 /* EnumDeclaration */ + || kind === 261 /* ModuleDeclaration */ + || kind === 265 /* ImportEqualsDeclaration */ + || kind === 266 /* ImportDeclaration */ + || kind === 271 /* ExportAssignment */ + || kind === 272 /* ExportDeclaration */; } ts.canHaveModifiers = canHaveModifiers; ts.isTypeNodeOrTypeParameterDeclaration = ts.or(ts.isTypeNode, ts.isTypeParameterDeclaration); @@ -30063,6 +30603,36 @@ var ts; text.charCodeAt(start + 3) !== 47 /* slash */; } ts.isJSDocLikeText = isJSDocLikeText; + /*@internal*/ + function isFileProbablyExternalModule(sourceFile) { + // Try to use the first top-level import/export when available, then + // fall back to looking for an 'import.meta' somewhere in the tree if necessary. + return ts.forEach(sourceFile.statements, isAnExternalModuleIndicatorNode) || + getImportMetaIfNecessary(sourceFile); + } + ts.isFileProbablyExternalModule = isFileProbablyExternalModule; + function isAnExternalModuleIndicatorNode(node) { + return hasModifierOfKind(node, 93 /* ExportKeyword */) + || ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference) + || ts.isImportDeclaration(node) + || ts.isExportAssignment(node) + || ts.isExportDeclaration(node) ? node : undefined; + } + function getImportMetaIfNecessary(sourceFile) { + return sourceFile.flags & 4194304 /* PossiblyContainsImportMeta */ ? + walkTreeForImportMeta(sourceFile) : + undefined; + } + function walkTreeForImportMeta(node) { + return isImportMeta(node) ? node : forEachChild(node, walkTreeForImportMeta); + } + /** Do not use hasModifier inside the parser; it relies on parent pointers. Use this instead. */ + function hasModifierOfKind(node, kind) { + return ts.some(node.modifiers, function (m) { return m.kind === kind; }); + } + function isImportMeta(node) { + return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta"; + } /** * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, @@ -30077,19 +30647,20 @@ var ts; * that they appear in the source code. The language service depends on this property to locate nodes by position. */ function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 159 /* LastToken */) { + if (!node || node.kind <= 160 /* LastToken */) { return; } switch (node.kind) { - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 162 /* TypeParameter */: - return visitNode(cbNode, node.name) || + case 163 /* TypeParameter */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -30097,9 +30668,9 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: return visitNode(cbNode, node.expression); - case 163 /* Parameter */: + case 164 /* Parameter */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -30107,7 +30678,7 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -30115,51 +30686,51 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: - case 213 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 214 /* ArrowFunction */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -30171,341 +30742,345 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.body); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: return visitNode(cbNode, node.assertsModifier) || visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 180 /* TypeQuery */: - return visitNode(cbNode, node.exprName); - case 181 /* TypeLiteral */: + case 181 /* TypeQuery */: + return visitNode(cbNode, node.exprName) || + visitNodes(cbNode, cbNodes, node.typeArguments); + case 182 /* TypeLiteral */: return visitNodes(cbNode, cbNodes, node.members); - case 182 /* ArrayType */: + case 183 /* ArrayType */: return visitNode(cbNode, node.elementType); - case 183 /* TupleType */: + case 184 /* TupleType */: return visitNodes(cbNode, cbNodes, node.elements); - case 186 /* UnionType */: - case 187 /* IntersectionType */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: return visitNodes(cbNode, cbNodes, node.types); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 189 /* InferType */: + case 190 /* InferType */: return visitNode(cbNode, node.typeParameter); - case 199 /* ImportType */: + case 200 /* ImportType */: return visitNode(cbNode, node.argument) || + visitNode(cbNode, node.assertions) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 190 /* ParenthesizedType */: - case 192 /* TypeOperator */: + case 295 /* ImportTypeAssertionContainer */: + return visitNode(cbNode, node.assertClause); + case 191 /* ParenthesizedType */: + case 193 /* TypeOperator */: return visitNode(cbNode, node.type); - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 194 /* MappedType */: + case 195 /* MappedType */: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.nameType) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNodes(cbNode, cbNodes, node.members); - case 195 /* LiteralType */: + case 196 /* LiteralType */: return visitNode(cbNode, node.literal); - case 196 /* NamedTupleMember */: + case 197 /* NamedTupleMember */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: return visitNodes(cbNode, cbNodes, node.elements); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return visitNodes(cbNode, cbNodes, node.properties); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.questionDotToken) || visitNode(cbNode, node.name); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.questionDotToken) || visitNode(cbNode, node.argumentExpression); - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.questionDotToken) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return visitNode(cbNode, node.tag) || visitNode(cbNode, node.questionDotToken) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 210 /* TypeAssertionExpression */: + case 211 /* TypeAssertionExpression */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return visitNode(cbNode, node.expression); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: return visitNode(cbNode, node.expression); - case 215 /* TypeOfExpression */: + case 216 /* TypeOfExpression */: return visitNode(cbNode, node.expression); - case 216 /* VoidExpression */: + case 217 /* VoidExpression */: return visitNode(cbNode, node.expression); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return visitNode(cbNode, node.operand); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression); - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: return visitNode(cbNode, node.expression); - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return visitNode(cbNode, node.operand); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 228 /* AsExpression */: + case 229 /* AsExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: return visitNode(cbNode, node.expression); - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: return visitNode(cbNode, node.name); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: return visitNode(cbNode, node.expression); - case 234 /* Block */: - case 261 /* ModuleBlock */: + case 235 /* Block */: + case 262 /* ModuleBlock */: return visitNodes(cbNode, cbNodes, node.statements); - case 303 /* SourceFile */: + case 305 /* SourceFile */: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: return visitNodes(cbNode, cbNodes, node.declarations); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return visitNode(cbNode, node.expression); - case 238 /* IfStatement */: + case 239 /* IfStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 239 /* DoStatement */: + case 240 /* DoStatement */: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 244 /* ContinueStatement */: - case 245 /* BreakStatement */: + case 245 /* ContinueStatement */: + case 246 /* BreakStatement */: return visitNode(cbNode, node.label); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return visitNode(cbNode, node.expression); - case 247 /* WithStatement */: + case 248 /* WithStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: return visitNodes(cbNode, cbNodes, node.clauses); - case 288 /* CaseClause */: + case 289 /* CaseClause */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 289 /* DefaultClause */: + case 290 /* DefaultClause */: return visitNodes(cbNode, cbNodes, node.statements); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 250 /* ThrowStatement */: + case 251 /* ThrowStatement */: return visitNode(cbNode, node.expression); - case 251 /* TryStatement */: + case 252 /* TryStatement */: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 164 /* Decorator */: + case 165 /* Decorator */: return visitNode(cbNode, node.expression); - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNode(cbNode, node.type); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.members); - case 297 /* EnumMember */: + case 299 /* EnumMember */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier) || visitNode(cbNode, node.assertClause); - case 266 /* ImportClause */: + case 267 /* ImportClause */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 292 /* AssertClause */: + case 293 /* AssertClause */: return visitNodes(cbNode, cbNodes, node.elements); - case 293 /* AssertEntry */: + case 294 /* AssertEntry */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.value); - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: return visitNode(cbNode, node.name); - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: return visitNode(cbNode, node.name); - case 273 /* NamespaceExport */: + case 274 /* NamespaceExport */: return visitNode(cbNode, node.name); - case 268 /* NamedImports */: - case 272 /* NamedExports */: + case 269 /* NamedImports */: + case 273 /* NamedExports */: return visitNodes(cbNode, cbNodes, node.elements); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier) || visitNode(cbNode, node.assertClause); - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 232 /* TemplateSpan */: + case 233 /* TemplateSpan */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 197 /* TemplateLiteralType */: + case 198 /* TemplateLiteralType */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 198 /* TemplateLiteralTypeSpan */: + case 199 /* TemplateLiteralTypeSpan */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.literal); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return visitNode(cbNode, node.expression); - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: return visitNodes(cbNode, cbNodes, node.types); - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 276 /* ExternalModuleReference */: + case 277 /* ExternalModuleReference */: return visitNode(cbNode, node.expression); - case 275 /* MissingDeclaration */: + case 276 /* MissingDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators); - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 277 /* JsxElement */: + case 278 /* JsxElement */: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 278 /* JsxSelfClosingElement */: - case 279 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: return visitNodes(cbNode, cbNodes, node.properties); - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 286 /* JsxSpreadAttribute */: + case 287 /* JsxSpreadAttribute */: return visitNode(cbNode, node.expression); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 280 /* JsxClosingElement */: + case 281 /* JsxClosingElement */: return visitNode(cbNode, node.tagName); - case 184 /* OptionalType */: - case 185 /* RestType */: - case 307 /* JSDocTypeExpression */: - case 313 /* JSDocNonNullableType */: - case 312 /* JSDocNullableType */: - case 314 /* JSDocOptionalType */: - case 316 /* JSDocVariadicType */: + case 185 /* OptionalType */: + case 186 /* RestType */: + case 309 /* JSDocTypeExpression */: + case 315 /* JSDocNonNullableType */: + case 314 /* JSDocNullableType */: + case 316 /* JSDocOptionalType */: + case 318 /* JSDocVariadicType */: return visitNode(cbNode, node.type); - case 315 /* JSDocFunctionType */: + case 317 /* JSDocFunctionType */: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 318 /* JSDocComment */: + case 320 /* JSDoc */: return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) || visitNodes(cbNode, cbNodes, node.tags); - case 344 /* JSDocSeeTag */: + case 346 /* JSDocSeeTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.name) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 308 /* JSDocNameReference */: + case 310 /* JSDocNameReference */: return visitNode(cbNode, node.name); - case 309 /* JSDocMemberName */: + case 311 /* JSDocMemberName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 338 /* JSDocParameterTag */: - case 345 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: + case 347 /* JSDocPropertyTag */: return visitNode(cbNode, node.tagName) || (node.isNameFirst ? visitNode(cbNode, node.name) || @@ -30514,64 +31089,64 @@ var ts; : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); - case 328 /* JSDocAuthorTag */: + case 330 /* JSDocAuthorTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 327 /* JSDocImplementsTag */: + case 329 /* JSDocImplementsTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.class) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 326 /* JSDocAugmentsTag */: + case 328 /* JSDocAugmentsTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.class) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.constraint) || visitNodes(cbNode, cbNodes, node.typeParameters) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 343 /* JSDocTypedefTag */: + case 345 /* JSDocTypedefTag */: return visitNode(cbNode, node.tagName) || (node.typeExpression && - node.typeExpression.kind === 307 /* JSDocTypeExpression */ + node.typeExpression.kind === 309 /* JSDocTypeExpression */ ? visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) : visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); - case 336 /* JSDocCallbackTag */: + case 338 /* JSDocCallbackTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 339 /* JSDocReturnTag */: - case 341 /* JSDocTypeTag */: - case 340 /* JSDocThisTag */: - case 337 /* JSDocEnumTag */: + case 341 /* JSDocReturnTag */: + case 343 /* JSDocTypeTag */: + case 342 /* JSDocThisTag */: + case 339 /* JSDocEnumTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.typeExpression) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 321 /* JSDocSignature */: + case 323 /* JSDocSignature */: return ts.forEach(node.typeParameters, cbNode) || ts.forEach(node.parameters, cbNode) || visitNode(cbNode, node.type); - case 322 /* JSDocLink */: - case 323 /* JSDocLinkCode */: - case 324 /* JSDocLinkPlain */: + case 324 /* JSDocLink */: + case 325 /* JSDocLinkCode */: + case 326 /* JSDocLinkPlain */: return visitNode(cbNode, node.name); - case 320 /* JSDocTypeLiteral */: + case 322 /* JSDocTypeLiteral */: return ts.forEach(node.jsDocPropertyTags, cbNode); - case 325 /* JSDocTag */: - case 330 /* JSDocClassTag */: - case 331 /* JSDocPublicTag */: - case 332 /* JSDocPrivateTag */: - case 333 /* JSDocProtectedTag */: - case 334 /* JSDocReadonlyTag */: - case 329 /* JSDocDeprecatedTag */: + case 327 /* JSDocTag */: + case 332 /* JSDocClassTag */: + case 333 /* JSDocPublicTag */: + case 334 /* JSDocPrivateTag */: + case 335 /* JSDocProtectedTag */: + case 336 /* JSDocReadonlyTag */: + case 331 /* JSDocDeprecatedTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 348 /* PartiallyEmittedExpression */: + case 350 /* PartiallyEmittedExpression */: return visitNode(cbNode, node.expression); } } @@ -30620,7 +31195,7 @@ var ts; continue; return res; } - if (current.kind >= 160 /* FirstNode */) { + if (current.kind >= 161 /* FirstNode */) { // add children in reverse order to the queue, so popping gives the first child for (var _i = 0, _a = gatherPossibleChildren(current); _i < _a.length; _i++) { var child = _a[_i]; @@ -30640,17 +31215,25 @@ var ts; children.unshift(n); } } - function createSourceFile(fileName, sourceText, languageVersion, setParentNodes, scriptKind) { + function setExternalModuleIndicator(sourceFile) { + sourceFile.externalModuleIndicator = isFileProbablyExternalModule(sourceFile); + } + function createSourceFile(fileName, sourceText, languageVersionOrOptions, setParentNodes, scriptKind) { if (setParentNodes === void 0) { setParentNodes = false; } ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("parse" /* Parse */, "createSourceFile", { path: fileName }, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeParse"); var result; ts.perfLogger.logStartParseSourceFile(fileName); + var _a = typeof languageVersionOrOptions === "object" ? languageVersionOrOptions : { languageVersion: languageVersionOrOptions }, languageVersion = _a.languageVersion, overrideSetExternalModuleIndicator = _a.setExternalModuleIndicator, format = _a.impliedNodeFormat; if (languageVersion === 100 /* JSON */) { - result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, 6 /* JSON */); + result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, 6 /* JSON */, ts.noop); } else { - result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, scriptKind); + var setIndicator = format === undefined ? overrideSetExternalModuleIndicator : function (file) { + file.impliedNodeFormat = format; + return (overrideSetExternalModuleIndicator || setExternalModuleIndicator)(file); + }; + result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, scriptKind, setIndicator); } ts.perfLogger.logStopParseSourceFile(); ts.performance.mark("afterParse"); @@ -30691,7 +31274,7 @@ var ts; var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); // Because new source file node is created, it may not have the flag PossiblyContainDynamicImport. This is the case if there is no new edit to add dynamic import. // We will manually port the flag to the new source file. - newSourceFile.flags |= (sourceFile.flags & 3145728 /* PermanentlySetIncrementalFlags */); + newSourceFile.flags |= (sourceFile.flags & 6291456 /* PermanentlySetIncrementalFlags */); return newSourceFile; } ts.updateSourceFile = updateSourceFile; @@ -30836,7 +31419,7 @@ var ts; // Note: any errors at the end of the file that do not precede a regular node, should get // attached to the EOF token. var parseErrorBeforeNextFinishedNode = false; - function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind) { + function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes, scriptKind, setExternalModuleIndicatorOverride) { var _a; if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); @@ -30852,7 +31435,7 @@ var ts; return result_3; } initializeState(fileName, sourceText, languageVersion, syntaxCursor, scriptKind); - var result = parseSourceFileWorker(languageVersion, setParentNodes, scriptKind); + var result = parseSourceFileWorker(languageVersion, setParentNodes, scriptKind, setExternalModuleIndicatorOverride || setExternalModuleIndicator); clearState(); return result; } @@ -30862,7 +31445,7 @@ var ts; initializeState("", content, languageVersion, /*syntaxCursor*/ undefined, 1 /* JS */); // Prime the scanner. nextToken(); - var entityName = parseEntityName(/*allowReservedWords*/ true); + var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false); var isInvalid = token() === 1 /* EndOfFileToken */ && !parseDiagnostics.length; clearState(); return isInvalid ? entityName : undefined; @@ -30936,7 +31519,7 @@ var ts; endOfFileToken = parseExpectedToken(1 /* EndOfFileToken */, ts.Diagnostics.Unexpected_token); } // Set source file so that errors will be reported with this file name - var sourceFile = createSourceFile(fileName, 2 /* ES2015 */, 6 /* JSON */, /*isDeclaration*/ false, statements, endOfFileToken, sourceFlags); + var sourceFile = createSourceFile(fileName, 2 /* ES2015 */, 6 /* JSON */, /*isDeclaration*/ false, statements, endOfFileToken, sourceFlags, ts.noop); if (setParentNodes) { fixupParentReferences(sourceFile); } @@ -30975,10 +31558,10 @@ var ts; switch (scriptKind) { case 1 /* JS */: case 2 /* JSX */: - contextFlags = 131072 /* JavaScriptFile */; + contextFlags = 262144 /* JavaScriptFile */; break; case 6 /* JSON */: - contextFlags = 131072 /* JavaScriptFile */ | 33554432 /* JsonFile */; + contextFlags = 262144 /* JavaScriptFile */ | 67108864 /* JsonFile */; break; default: contextFlags = 0 /* None */; @@ -31010,10 +31593,10 @@ var ts; notParenthesizedArrow = undefined; topLevel = true; } - function parseSourceFileWorker(languageVersion, setParentNodes, scriptKind) { + function parseSourceFileWorker(languageVersion, setParentNodes, scriptKind, setExternalModuleIndicator) { var isDeclarationFile = isDeclarationFileName(fileName); if (isDeclarationFile) { - contextFlags |= 8388608 /* Ambient */; + contextFlags |= 16777216 /* Ambient */; } sourceFlags = contextFlags; // Prime the scanner. @@ -31021,7 +31604,7 @@ var ts; var statements = parseList(0 /* SourceElements */, parseStatement); ts.Debug.assert(token() === 1 /* EndOfFileToken */); var endOfFileToken = addJSDocComment(parseTokenNode()); - var sourceFile = createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile, statements, endOfFileToken, sourceFlags); + var sourceFile = createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator); // A member of ReadonlyArray isn't assignable to a member of T[] (and prevents a direct cast) - but this is where we set up those members so they can be readonly in the future processCommentPragmas(sourceFile, sourceText); processPragmasIntoFields(sourceFile, reportPragmaDiagnostic); @@ -31052,7 +31635,7 @@ var ts; node.jsDoc = jsDoc; if (hasDeprecatedTag) { hasDeprecatedTag = false; - node.flags |= 134217728 /* Deprecated */; + node.flags |= 268435456 /* Deprecated */; } return node; } @@ -31158,25 +31741,30 @@ var ts; ts.setParentRecursive(rootNode, /*incremental*/ true); } Parser.fixupParentReferences = fixupParentReferences; - function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile, statements, endOfFileToken, flags) { + function createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile, statements, endOfFileToken, flags, setExternalModuleIndicator) { // code from createNode is inlined here so createNode won't have to deal with special case of creating source files // this is quite rare comparing to other nodes and createNode should be as fast as possible var sourceFile = factory.createSourceFile(statements, endOfFileToken, flags); ts.setTextRangePosWidth(sourceFile, 0, sourceText.length); - setExternalModuleIndicator(sourceFile); + setFields(sourceFile); // If we parsed this as an external module, it may contain top-level await if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216 /* ContainsPossibleTopLevelAwait */) { sourceFile = reparseTopLevelAwait(sourceFile); + setFields(sourceFile); } - sourceFile.text = sourceText; - sourceFile.bindDiagnostics = []; - sourceFile.bindSuggestionDiagnostics = undefined; - sourceFile.languageVersion = languageVersion; - sourceFile.fileName = fileName; - sourceFile.languageVariant = ts.getLanguageVariant(scriptKind); - sourceFile.isDeclarationFile = isDeclarationFile; - sourceFile.scriptKind = scriptKind; return sourceFile; + function setFields(sourceFile) { + sourceFile.text = sourceText; + sourceFile.bindDiagnostics = []; + sourceFile.bindSuggestionDiagnostics = undefined; + sourceFile.languageVersion = languageVersion; + sourceFile.fileName = fileName; + sourceFile.languageVariant = ts.getLanguageVariant(scriptKind); + sourceFile.isDeclarationFile = isDeclarationFile; + sourceFile.scriptKind = scriptKind; + setExternalModuleIndicator(sourceFile); + sourceFile.setExternalModuleIndicator = setExternalModuleIndicator; + } } function setContextFlag(val, flag) { if (val) { @@ -31242,6 +31830,12 @@ var ts; function disallowInAnd(func) { return doInsideOfContext(4096 /* DisallowInContext */, func); } + function allowConditionalTypesAnd(func) { + return doOutsideOfContext(65536 /* DisallowConditionalTypesContext */, func); + } + function disallowConditionalTypesAnd(func) { + return doInsideOfContext(65536 /* DisallowConditionalTypesContext */, func); + } function doInYieldContext(func) { return doInsideOfContext(8192 /* YieldContext */, func); } @@ -31269,6 +31863,9 @@ var ts; function inDisallowInContext() { return inContext(4096 /* DisallowInContext */); } + function inDisallowConditionalTypesContext() { + return inContext(65536 /* DisallowConditionalTypesContext */); + } function inDecoratorContext() { return inContext(16384 /* DecoratorContext */); } @@ -31276,20 +31873,23 @@ var ts; return inContext(32768 /* AwaitContext */); } function parseErrorAtCurrentToken(message, arg0) { - parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0); + return parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0); } function parseErrorAtPosition(start, length, message, arg0) { // Don't report another error if it would just be at the same position as the last error. var lastError = ts.lastOrUndefined(parseDiagnostics); + var result; if (!lastError || start !== lastError.start) { - parseDiagnostics.push(ts.createDetachedDiagnostic(fileName, start, length, message, arg0)); + result = ts.createDetachedDiagnostic(fileName, start, length, message, arg0); + parseDiagnostics.push(result); } // Mark that we've encountered an error. We'll set an appropriate bit on the next // node we finish so that it can't be reused incrementally. parseErrorBeforeNextFinishedNode = true; + return result; } function parseErrorAt(start, end, message, arg0) { - parseErrorAtPosition(start, end - start, message, arg0); + return parseErrorAtPosition(start, end - start, message, arg0); } function parseErrorAtRange(range, message, arg0) { parseErrorAt(range.pos, range.end, message, arg0); @@ -31521,7 +32121,7 @@ var ts; for (var _i = 0, viableKeywordSuggestions_1 = viableKeywordSuggestions; _i < viableKeywordSuggestions_1.length; _i++) { var keyword = viableKeywordSuggestions_1[_i]; if (expressionText.length > keyword.length + 2 && ts.startsWith(expressionText, keyword)) { - return "".concat(keyword, " ").concat(expressionText.slice(keyword.length)); + return keyword + " " + expressionText.slice(keyword.length); } } return undefined; @@ -31548,18 +32148,8 @@ var ts; if (tryParseSemicolon()) { return; } - // If an initializer was parsed but there is still an error in finding the next semicolon, - // we generally know there was an error already reported in the initializer... - // class Example { a = new Map([), ) } - // ~ if (initializer) { - // ...unless we've found the start of a block after a property declaration, in which - // case we can know that regardless of the initializer we should complain on the block. - // class Example { a = 0 {} } - // ~ - if (token() === 18 /* OpenBraceToken */) { - parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SemicolonToken */)); - } + parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SemicolonToken */)); return; } parseErrorForMissingSemicolonAfter(name); @@ -31572,6 +32162,19 @@ var ts; parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(kind)); return false; } + function parseExpectedMatchingBrackets(openKind, closeKind, openParsed, openPosition) { + if (token() === closeKind) { + nextToken(); + return; + } + var lastError = parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(closeKind)); + if (!openParsed) { + return; + } + if (lastError) { + ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openPosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, ts.tokenToString(openKind), ts.tokenToString(closeKind))); + } + } function parseOptional(t) { if (token() === t) { nextToken(); @@ -31647,7 +32250,7 @@ var ts; // flag so that we don't mark any subsequent nodes. if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; - node.flags |= 65536 /* ThisNodeHasError */; + node.flags |= 131072 /* ThisNodeHasError */; } return node; } @@ -31663,7 +32266,7 @@ var ts; ts.isTemplateLiteralKind(kind) ? factory.createTemplateLiteralLikeNode(kind, "", "", /*templateFlags*/ undefined) : kind === 8 /* NumericLiteral */ ? factory.createNumericLiteral("", /*numericLiteralFlags*/ undefined) : kind === 10 /* StringLiteral */ ? factory.createStringLiteral("", /*isSingleQuote*/ undefined) : - kind === 275 /* MissingDeclaration */ ? factory.createMissingDeclaration() : + kind === 276 /* MissingDeclaration */ ? factory.createMissingDeclaration() : factory.createToken(kind); return finishNode(result, pos); } @@ -31786,7 +32389,7 @@ var ts; if (token() === 88 /* DefaultKeyword */) { return lookAhead(nextTokenCanFollowDefaultKeyword); } - if (token() === 151 /* TypeKeyword */) { + if (token() === 152 /* TypeKeyword */) { return lookAhead(nextTokenCanFollowExportModifier); } return canFollowExportModifier(); @@ -31794,7 +32397,7 @@ var ts; return nextTokenCanFollowDefaultKeyword(); case 124 /* StaticKeyword */: case 136 /* GetKeyword */: - case 148 /* SetKeyword */: + case 149 /* SetKeyword */: nextToken(); return canFollowModifier(); default: @@ -31895,7 +32498,7 @@ var ts; case 10 /* ArrayBindingElements */: return token() === 27 /* CommaToken */ || token() === 25 /* DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern(); case 19 /* TypeParameters */: - return isIdentifier(); + return token() === 101 /* InKeyword */ || isIdentifier(); case 15 /* ArrayLiteralMembers */: switch (token()) { case 27 /* CommaToken */: @@ -32105,7 +32708,7 @@ var ts; // differently depending on what mode it is in. // // This also applies to all our other context flags as well. - var nodeContextFlags = node.flags & 25358336 /* ContextFlags */; + var nodeContextFlags = node.flags & 50720768 /* ContextFlags */; if (nodeContextFlags !== contextFlags) { return undefined; } @@ -32206,14 +32809,14 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 170 /* Constructor */: - case 175 /* IndexSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 166 /* PropertyDeclaration */: - case 233 /* SemicolonClassElement */: + case 171 /* Constructor */: + case 176 /* IndexSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 234 /* SemicolonClassElement */: return true; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: // Method declarations are not necessarily reusable. An object-literal // may have a method calls "constructor(...)" and we must reparse that // into an actual .ConstructorDeclaration. @@ -32228,8 +32831,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: return true; } } @@ -32238,58 +32841,58 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 236 /* VariableStatement */: - case 234 /* Block */: - case 238 /* IfStatement */: - case 237 /* ExpressionStatement */: - case 250 /* ThrowStatement */: - case 246 /* ReturnStatement */: - case 248 /* SwitchStatement */: - case 245 /* BreakStatement */: - case 244 /* ContinueStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 241 /* ForStatement */: - case 240 /* WhileStatement */: - case 247 /* WithStatement */: - case 235 /* EmptyStatement */: - case 251 /* TryStatement */: - case 249 /* LabeledStatement */: - case 239 /* DoStatement */: - case 252 /* DebuggerStatement */: - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: - case 271 /* ExportDeclaration */: - case 270 /* ExportAssignment */: - case 260 /* ModuleDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 256 /* FunctionDeclaration */: + case 237 /* VariableStatement */: + case 235 /* Block */: + case 239 /* IfStatement */: + case 238 /* ExpressionStatement */: + case 251 /* ThrowStatement */: + case 247 /* ReturnStatement */: + case 249 /* SwitchStatement */: + case 246 /* BreakStatement */: + case 245 /* ContinueStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 242 /* ForStatement */: + case 241 /* WhileStatement */: + case 248 /* WithStatement */: + case 236 /* EmptyStatement */: + case 252 /* TryStatement */: + case 250 /* LabeledStatement */: + case 240 /* DoStatement */: + case 253 /* DebuggerStatement */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 272 /* ExportDeclaration */: + case 271 /* ExportAssignment */: + case 261 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 297 /* EnumMember */; + return node.kind === 299 /* EnumMember */; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 174 /* ConstructSignature */: - case 167 /* MethodSignature */: - case 175 /* IndexSignature */: - case 165 /* PropertySignature */: - case 173 /* CallSignature */: + case 175 /* ConstructSignature */: + case 168 /* MethodSignature */: + case 176 /* IndexSignature */: + case 166 /* PropertySignature */: + case 174 /* CallSignature */: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 253 /* VariableDeclaration */) { + if (node.kind !== 254 /* VariableDeclaration */) { return false; } // Very subtle incremental parsing bug. Consider the following code: @@ -32310,7 +32913,7 @@ var ts; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 163 /* Parameter */) { + if (node.kind !== 164 /* Parameter */) { return false; } // See the comment in isReusableVariableDeclaration for why we do this. @@ -32364,7 +32967,6 @@ var ts; default: return [undefined]; // TODO: GH#18217 `default: Debug.assertNever(context);` } } - // Parses a comma-delimited list of elements function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) { var saveParsingContext = parsingContext; parsingContext |= 1 << kind; @@ -32374,7 +32976,11 @@ var ts; while (true) { if (isListElement(kind, /*inErrorRecovery*/ false)) { var startPos = scanner.getStartPos(); - list.push(parseListElement(kind, parseElement)); + var result = parseListElement(kind, parseElement); + if (!result) { + return undefined; + } + list.push(result); commaStart = scanner.getTokenPos(); if (parseOptional(27 /* CommaToken */)) { // No need to check for a zero length node since we know we parsed a comma @@ -32439,7 +33045,7 @@ var ts; } return createMissingList(); } - function parseEntityName(allowReservedWords, diagnosticMessage) { + function parseEntityName(allowReservedWords, allowPrivateIdentifiers, diagnosticMessage) { var pos = getNodePos(); var entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage); var dotPos = getNodePos(); @@ -32450,7 +33056,7 @@ var ts; break; } dotPos = getNodePos(); - entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, /* allowPrivateIdentifiers */ false)), pos); + entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, allowPrivateIdentifiers)), pos); } return entity; } @@ -32583,7 +33189,7 @@ var ts; } // TYPES function parseEntityNameOfTypeReference() { - return parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected); + return parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false, ts.Diagnostics.Type_expected); } function parseTypeArgumentsOfTypeReference() { if (!scanner.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) { @@ -32597,14 +33203,14 @@ var ts; // If true, we should abort parsing an error function. function typeHasArrowFunctionBlockingParseError(node) { switch (node.kind) { - case 177 /* TypeReference */: + case 178 /* TypeReference */: return ts.nodeIsMissing(node.typeName); - case 178 /* FunctionType */: - case 179 /* ConstructorType */: { + case 179 /* FunctionType */: + case 180 /* ConstructorType */: { var _a = node, parameters = _a.parameters, type = _a.type; return isMissingList(parameters) || typeHasArrowFunctionBlockingParseError(type); } - case 190 /* ParenthesizedType */: + case 191 /* ParenthesizedType */: return typeHasArrowFunctionBlockingParseError(node.type); default: return false; @@ -32627,7 +33233,7 @@ var ts; function parseJSDocNonNullableType() { var pos = getNodePos(); nextToken(); - return finishNode(factory.createJSDocNonNullableType(parseNonArrayType()), pos); + return finishNode(factory.createJSDocNonNullableType(parseNonArrayType(), /*postfix*/ false), pos); } function parseJSDocUnknownOrNullableType() { var pos = getNodePos(); @@ -32651,7 +33257,7 @@ var ts; return finishNode(factory.createJSDocUnknownType(), pos); } else { - return finishNode(factory.createJSDocNullableType(parseType()), pos); + return finishNode(factory.createJSDocNullableType(parseType(), /*postfix*/ false), pos); } } function parseJSDocFunctionType() { @@ -32716,10 +33322,13 @@ var ts; function parseTypeQuery() { var pos = getNodePos(); parseExpected(112 /* TypeOfKeyword */); - return finishNode(factory.createTypeQueryNode(parseEntityName(/*allowReservedWords*/ true)), pos); + var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ true); + var typeArguments = tryParseTypeArguments(); + return finishNode(factory.createTypeQueryNode(entityName, typeArguments), pos); } function parseTypeParameter() { var pos = getNodePos(); + var modifiers = parseModifiers(); var name = parseIdentifier(); var constraint; var expression; @@ -32743,7 +33352,7 @@ var ts; } } var defaultType = parseOptional(63 /* EqualsToken */) ? parseType() : undefined; - var node = factory.createTypeParameterDeclaration(name, constraint, defaultType); + var node = factory.createTypeParameterDeclaration(modifiers, name, constraint, defaultType); node.expression = expression; return finishNode(node, pos); } @@ -32776,13 +33385,20 @@ var ts; } return name; } - function parseParameterInOuterAwaitContext() { - return parseParameterWorker(/*inOuterAwaitContext*/ true); + function isParameterNameStart() { + // Be permissive about await and yield by calling isBindingIdentifier instead of isIdentifier; disallowing + // them during a speculative parse leads to many more follow-on errors than allowing the function to parse then later + // complaining about the use of the keywords. + return isBindingIdentifier() || token() === 22 /* OpenBracketToken */ || token() === 18 /* OpenBraceToken */; } - function parseParameter() { - return parseParameterWorker(/*inOuterAwaitContext*/ false); + function parseParameter(inOuterAwaitContext) { + return parseParameterWorker(inOuterAwaitContext); } - function parseParameterWorker(inOuterAwaitContext) { + function parseParameterForSpeculation(inOuterAwaitContext) { + return parseParameterWorker(inOuterAwaitContext, /*allowAmbiguity*/ false); + } + function parseParameterWorker(inOuterAwaitContext, allowAmbiguity) { + if (allowAmbiguity === void 0) { allowAmbiguity = true; } var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); // FormalParameter [Yield,Await]: @@ -32803,13 +33419,17 @@ var ts; var savedTopLevel = topLevel; topLevel = false; var modifiers = parseModifiers(); - var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, parseOptionalToken(25 /* DotDotDotToken */), parseNameOfParameter(modifiers), parseOptionalToken(57 /* QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc); + var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */); + if (!allowAmbiguity && !isParameterNameStart()) { + return undefined; + } + var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc); topLevel = savedTopLevel; return node; } function parseReturnType(returnToken, isType) { if (shouldParseReturnType(returnToken, isType)) { - return parseTypeOrTypePredicate(); + return allowConditionalTypesAnd(parseTypeOrTypePredicate); } } function shouldParseReturnType(returnToken, isType) { @@ -32828,7 +33448,7 @@ var ts; } return false; } - function parseParametersWorker(flags) { + function parseParametersWorker(flags, allowAmbiguity) { // FormalParameters [Yield,Await]: (modified) // [empty] // FormalParameterList[?Yield,Await] @@ -32848,7 +33468,7 @@ var ts; setAwaitContext(!!(flags & 2 /* Await */)); var parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) : - parseDelimitedList(16 /* Parameters */, savedAwaitContext ? parseParameterInOuterAwaitContext : parseParameter); + parseDelimitedList(16 /* Parameters */, function () { return allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext); }); setYieldContext(savedYieldContext); setAwaitContext(savedAwaitContext); return parameters; @@ -32870,7 +33490,7 @@ var ts; if (!parseExpected(20 /* OpenParenToken */)) { return createMissingList(); } - var parameters = parseParametersWorker(flags); + var parameters = parseParametersWorker(flags, /*allowAmbiguity*/ true); parseExpected(21 /* CloseParenToken */); return parameters; } @@ -32886,14 +33506,14 @@ var ts; function parseSignatureMember(kind) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - if (kind === 174 /* ConstructSignature */) { + if (kind === 175 /* ConstructSignature */) { parseExpected(103 /* NewKeyword */); } var typeParameters = parseTypeParameters(); var parameters = parseParameters(4 /* Type */); var type = parseReturnType(58 /* ColonToken */, /*isType*/ true); parseTypeMemberSemicolon(); - var node = kind === 173 /* CallSignature */ + var node = kind === 174 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, type) : factory.createConstructSignature(typeParameters, parameters, type); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -32952,7 +33572,7 @@ var ts; return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */; } function parseIndexSignatureDeclaration(pos, hasJSDoc, decorators, modifiers) { - var parameters = parseBracketedList(16 /* Parameters */, parseParameter, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */); + var parameters = parseBracketedList(16 /* Parameters */, function () { return parseParameter(/*inOuterAwaitContext*/ false); }, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */); var type = parseTypeAnnotation(); parseTypeMemberSemicolon(); var node = factory.createIndexSignature(decorators, modifiers, parameters, type); @@ -32987,7 +33607,7 @@ var ts; if (token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */ || token() === 136 /* GetKeyword */ || - token() === 148 /* SetKeyword */) { + token() === 149 /* SetKeyword */) { return true; } var idToken = false; @@ -33019,19 +33639,19 @@ var ts; } function parseTypeMember() { if (token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */) { - return parseSignatureMember(173 /* CallSignature */); + return parseSignatureMember(174 /* CallSignature */); } if (token() === 103 /* NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(174 /* ConstructSignature */); + return parseSignatureMember(175 /* ConstructSignature */); } var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiers(); if (parseContextualModifier(136 /* GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 171 /* GetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* GetAccessor */); } - if (parseContextualModifier(148 /* SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* SetAccessor */); + if (parseContextualModifier(149 /* SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 173 /* SetAccessor */); } if (isIndexSignature()) { return parseIndexSignatureDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers); @@ -33072,9 +33692,9 @@ var ts; function isStartOfMappedType() { nextToken(); if (token() === 39 /* PlusToken */ || token() === 40 /* MinusToken */) { - return nextToken() === 144 /* ReadonlyKeyword */; + return nextToken() === 145 /* ReadonlyKeyword */; } - if (token() === 144 /* ReadonlyKeyword */) { + if (token() === 145 /* ReadonlyKeyword */) { nextToken(); } return token() === 22 /* OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 101 /* InKeyword */; @@ -33084,16 +33704,16 @@ var ts; var name = parseIdentifierName(); parseExpected(101 /* InKeyword */); var type = parseType(); - return finishNode(factory.createTypeParameterDeclaration(name, type, /*defaultType*/ undefined), pos); + return finishNode(factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, type, /*defaultType*/ undefined), pos); } function parseMappedType() { var pos = getNodePos(); parseExpected(18 /* OpenBraceToken */); var readonlyToken; - if (token() === 144 /* ReadonlyKeyword */ || token() === 39 /* PlusToken */ || token() === 40 /* MinusToken */) { + if (token() === 145 /* ReadonlyKeyword */ || token() === 39 /* PlusToken */ || token() === 40 /* MinusToken */) { readonlyToken = parseTokenNode(); - if (readonlyToken.kind !== 144 /* ReadonlyKeyword */) { - parseExpected(144 /* ReadonlyKeyword */); + if (readonlyToken.kind !== 145 /* ReadonlyKeyword */) { + parseExpected(145 /* ReadonlyKeyword */); } } parseExpected(22 /* OpenBracketToken */); @@ -33207,17 +33827,37 @@ var ts; nextToken(); return token() === 100 /* ImportKeyword */; } + function parseImportTypeAssertions() { + var pos = getNodePos(); + var openBracePosition = scanner.getTokenPos(); + parseExpected(18 /* OpenBraceToken */); + var multiLine = scanner.hasPrecedingLineBreak(); + parseExpected(129 /* AssertKeyword */); + parseExpected(58 /* ColonToken */); + var clause = parseAssertClause(/*skipAssertKeyword*/ true); + if (!parseExpected(19 /* CloseBraceToken */)) { + var lastError = ts.lastOrUndefined(parseDiagnostics); + if (lastError && lastError.code === ts.Diagnostics._0_expected.code) { + ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")); + } + } + return finishNode(factory.createImportTypeAssertionContainer(clause, multiLine), pos); + } function parseImportType() { - sourceFlags |= 1048576 /* PossiblyContainsDynamicImport */; + sourceFlags |= 2097152 /* PossiblyContainsDynamicImport */; var pos = getNodePos(); var isTypeOf = parseOptional(112 /* TypeOfKeyword */); parseExpected(100 /* ImportKeyword */); parseExpected(20 /* OpenParenToken */); var type = parseType(); + var assertions; + if (parseOptional(27 /* CommaToken */)) { + assertions = parseImportTypeAssertions(); + } parseExpected(21 /* CloseParenToken */); var qualifier = parseOptional(24 /* DotToken */) ? parseEntityNameOfTypeReference() : undefined; var typeArguments = parseTypeArgumentsOfTypeReference(); - return finishNode(factory.createImportTypeNode(type, qualifier, typeArguments, isTypeOf), pos); + return finishNode(factory.createImportTypeNode(type, assertions, qualifier, typeArguments, isTypeOf), pos); } function nextTokenIsNumericOrBigIntLiteral() { nextToken(); @@ -33226,15 +33866,15 @@ var ts; function parseNonArrayType() { switch (token()) { case 130 /* AnyKeyword */: - case 154 /* UnknownKeyword */: - case 149 /* StringKeyword */: - case 146 /* NumberKeyword */: - case 157 /* BigIntKeyword */: - case 150 /* SymbolKeyword */: + case 155 /* UnknownKeyword */: + case 150 /* StringKeyword */: + case 147 /* NumberKeyword */: + case 158 /* BigIntKeyword */: + case 151 /* SymbolKeyword */: case 133 /* BooleanKeyword */: - case 152 /* UndefinedKeyword */: + case 153 /* UndefinedKeyword */: case 143 /* NeverKeyword */: - case 147 /* ObjectKeyword */: + case 148 /* ObjectKeyword */: // If these are followed by a dot, then parse these out as a dotted type reference instead. return tryParse(parseKeywordAndNoDot) || parseTypeReference(); case 66 /* AsteriskEqualsToken */: @@ -33295,16 +33935,16 @@ var ts; function isStartOfType(inStartOfParameter) { switch (token()) { case 130 /* AnyKeyword */: - case 154 /* UnknownKeyword */: - case 149 /* StringKeyword */: - case 146 /* NumberKeyword */: - case 157 /* BigIntKeyword */: + case 155 /* UnknownKeyword */: + case 150 /* StringKeyword */: + case 147 /* NumberKeyword */: + case 158 /* BigIntKeyword */: case 133 /* BooleanKeyword */: - case 144 /* ReadonlyKeyword */: - case 150 /* SymbolKeyword */: - case 153 /* UniqueKeyword */: + case 145 /* ReadonlyKeyword */: + case 151 /* SymbolKeyword */: + case 154 /* UniqueKeyword */: case 114 /* VoidKeyword */: - case 152 /* UndefinedKeyword */: + case 153 /* UndefinedKeyword */: case 104 /* NullKeyword */: case 108 /* ThisKeyword */: case 112 /* TypeOfKeyword */: @@ -33320,7 +33960,7 @@ var ts; case 9 /* BigIntLiteral */: case 110 /* TrueKeyword */: case 95 /* FalseKeyword */: - case 147 /* ObjectKeyword */: + case 148 /* ObjectKeyword */: case 41 /* AsteriskToken */: case 57 /* QuestionToken */: case 53 /* ExclamationToken */: @@ -33354,7 +33994,7 @@ var ts; switch (token()) { case 53 /* ExclamationToken */: nextToken(); - type = finishNode(factory.createJSDocNonNullableType(type), pos); + type = finishNode(factory.createJSDocNonNullableType(type, /*postfix*/ true), pos); break; case 57 /* QuestionToken */: // If next token is start of a type we have a conditional type @@ -33362,7 +34002,7 @@ var ts; return type; } nextToken(); - type = finishNode(factory.createJSDocNullableType(type), pos); + type = finishNode(factory.createJSDocNullableType(type, /*postfix*/ true), pos); break; case 22 /* OpenBracketToken */: parseExpected(22 /* OpenBracketToken */); @@ -33387,11 +34027,20 @@ var ts; parseExpected(operator); return finishNode(factory.createTypeOperatorNode(operator, parseTypeOperatorOrHigher()), pos); } + function tryParseConstraintOfInferType() { + if (parseOptional(94 /* ExtendsKeyword */)) { + var constraint = disallowConditionalTypesAnd(parseType); + if (inDisallowConditionalTypesContext() || token() !== 57 /* QuestionToken */) { + return constraint; + } + } + } function parseTypeParameterOfInferType() { var pos = getNodePos(); - return finishNode(factory.createTypeParameterDeclaration(parseIdentifier(), - /*constraint*/ undefined, - /*defaultType*/ undefined), pos); + var name = parseIdentifier(); + var constraint = tryParse(tryParseConstraintOfInferType); + var node = factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, constraint); + return finishNode(node, pos); } function parseInferType() { var pos = getNodePos(); @@ -33402,13 +34051,13 @@ var ts; var operator = token(); switch (operator) { case 140 /* KeyOfKeyword */: - case 153 /* UniqueKeyword */: - case 144 /* ReadonlyKeyword */: + case 154 /* UniqueKeyword */: + case 145 /* ReadonlyKeyword */: return parseTypeOperator(operator); case 137 /* InferKeyword */: return parseInferType(); } - return parsePostfixTypeOrHigher(); + return allowConditionalTypesAnd(parsePostfixTypeOrHigher); } function parseFunctionOrConstructorTypeToError(isInUnionType) { // the function type and constructor type shorthand notation @@ -33538,23 +34187,21 @@ var ts; return finishNode(factory.createTypePredicateNode(assertsModifier, parameterName, type), pos); } function parseType() { - // The rules about 'yield' only apply to actual code/expression contexts. They don't - // apply to 'type' contexts. So we disable these parameters here before moving on. - return doOutsideOfContext(40960 /* TypeExcludesFlags */, parseTypeWorker); - } - function parseTypeWorker(noConditionalTypes) { + if (contextFlags & 40960 /* TypeExcludesFlags */) { + return doOutsideOfContext(40960 /* TypeExcludesFlags */, parseType); + } if (isStartOfFunctionTypeOrConstructorType()) { return parseFunctionOrConstructorType(); } var pos = getNodePos(); var type = parseUnionTypeOrHigher(); - if (!noConditionalTypes && !scanner.hasPrecedingLineBreak() && parseOptional(94 /* ExtendsKeyword */)) { + if (!inDisallowConditionalTypesContext() && !scanner.hasPrecedingLineBreak() && parseOptional(94 /* ExtendsKeyword */)) { // The type following 'extends' is not permitted to be another conditional type - var extendsType = parseTypeWorker(/*noConditionalTypes*/ true); + var extendsType = disallowConditionalTypesAnd(parseType); parseExpected(57 /* QuestionToken */); - var trueType = parseTypeWorker(); + var trueType = allowConditionalTypesAnd(parseType); parseExpected(58 /* ColonToken */); - var falseType = parseTypeWorker(); + var falseType = allowConditionalTypesAnd(parseType); return finishNode(factory.createConditionalTypeNode(type, extendsType, trueType, falseType), pos); } return type; @@ -33642,10 +34289,10 @@ var ts; setDecoratorContext(/*val*/ false); } var pos = getNodePos(); - var expr = parseAssignmentExpressionOrHigher(); + var expr = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); var operatorToken; while ((operatorToken = parseOptionalToken(27 /* CommaToken */))) { - expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(), pos); + expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false), pos); } if (saveDecoratorContext) { setDecoratorContext(/*val*/ true); @@ -33653,9 +34300,9 @@ var ts; return expr; } function parseInitializer() { - return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher() : undefined; + return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false) : undefined; } - function parseAssignmentExpressionOrHigher() { + function parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction) { // AssignmentExpression[in,yield]: // 1) ConditionalExpression[?in,?yield] // 2) LeftHandSideExpression = AssignmentExpression[?in,?yield] @@ -33681,7 +34328,7 @@ var ts; // If we do successfully parse arrow-function, we must *not* recurse for productions 1, 2 or 3. An ArrowFunction is // not a LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done // with AssignmentExpression if we see one. - var arrowExpression = tryParseParenthesizedArrowFunctionExpression() || tryParseAsyncSimpleArrowFunctionExpression(); + var arrowExpression = tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) || tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction); if (arrowExpression) { return arrowExpression; } @@ -33700,7 +34347,7 @@ var ts; // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single // identifier and the current token is an arrow. if (expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) { - return parseSimpleArrowFunctionExpression(pos, expr, /*asyncModifier*/ undefined); + return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, /*asyncModifier*/ undefined); } // Now see if we might be in cases '2' or '3'. // If the expression was a LHS expression, and we have an assignment operator, then @@ -33709,7 +34356,7 @@ var ts; // Note: we call reScanGreaterToken so that we get an appropriately merged token // for cases like `> > =` becoming `>>=` if (ts.isLeftHandSideExpression(expr) && ts.isAssignmentOperator(reScanGreaterToken())) { - return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(), pos); + return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction), pos); } // It wasn't an assignment or a lambda. This is a conditional expression: return parseConditionalExpressionRest(expr, pos); @@ -33752,7 +34399,7 @@ var ts; nextToken(); if (!scanner.hasPrecedingLineBreak() && (token() === 41 /* AsteriskToken */ || isStartOfExpression())) { - return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher()), pos); + return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false)), pos); } else { // if the next token is not on the same line as yield. or we don't have an '*' or @@ -33760,7 +34407,7 @@ var ts; return finishNode(factory.createYieldExpression(/*asteriskToken*/ undefined, /*expression*/ undefined), pos); } } - function parseSimpleArrowFunctionExpression(pos, identifier, asyncModifier) { + function parseSimpleArrowFunctionExpression(pos, identifier, disallowReturnTypeInArrowFunction, asyncModifier) { ts.Debug.assert(token() === 38 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var parameter = factory.createParameterDeclaration( /*decorators*/ undefined, @@ -33772,11 +34419,11 @@ var ts; finishNode(parameter, identifier.pos); var parameters = createNodeArray([parameter], parameter.pos, parameter.end); var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */); - var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier); + var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier, disallowReturnTypeInArrowFunction); var node = factory.createArrowFunction(asyncModifier, /*typeParameters*/ undefined, parameters, /*type*/ undefined, equalsGreaterThanToken, body); return addJSDocComment(finishNode(node, pos)); } - function tryParseParenthesizedArrowFunctionExpression() { + function tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) { var triState = isParenthesizedArrowFunctionExpression(); if (triState === 0 /* False */) { // It's definitely not a parenthesized arrow function expression. @@ -33787,8 +34434,8 @@ var ts; // it out, but don't allow any ambiguity, and return 'undefined' if this could be an // expression instead. return triState === 1 /* True */ ? - parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true) : - tryParse(parsePossibleParenthesizedArrowFunctionExpression); + parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true, /*disallowReturnTypeInArrowFunction*/ false) : + tryParse(function () { return parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction); }); } // True -> We definitely expect a parenthesized arrow function here. // False -> There *cannot* be a parenthesized arrow function here. @@ -33918,25 +34565,25 @@ var ts; return 2 /* Unknown */; } } - function parsePossibleParenthesizedArrowFunctionExpression() { + function parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) { var tokenPos = scanner.getTokenPos(); if (notParenthesizedArrow === null || notParenthesizedArrow === void 0 ? void 0 : notParenthesizedArrow.has(tokenPos)) { return undefined; } - var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false); + var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false, disallowReturnTypeInArrowFunction); if (!result) { (notParenthesizedArrow || (notParenthesizedArrow = new ts.Set())).add(tokenPos); } return result; } - function tryParseAsyncSimpleArrowFunctionExpression() { + function tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction) { // We do a check here so that we won't be doing unnecessarily call to "lookAhead" if (token() === 131 /* AsyncKeyword */) { if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) { var pos = getNodePos(); var asyncModifier = parseModifiersForArrowFunction(); var expr = parseBinaryExpressionOrHigher(0 /* Lowest */); - return parseSimpleArrowFunctionExpression(pos, expr, asyncModifier); + return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, asyncModifier); } } return undefined; @@ -33960,7 +34607,7 @@ var ts; } return 0 /* False */; } - function parseParenthesizedArrowFunctionExpression(allowAmbiguity) { + function parseParenthesizedArrowFunctionExpression(allowAmbiguity, disallowReturnTypeInArrowFunction) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiersForArrowFunction(); @@ -33981,11 +34628,37 @@ var ts; parameters = createMissingList(); } else { - parameters = parseParametersWorker(isAsync); + if (!allowAmbiguity) { + var maybeParameters = parseParametersWorker(isAsync, allowAmbiguity); + if (!maybeParameters) { + return undefined; + } + parameters = maybeParameters; + } + else { + parameters = parseParametersWorker(isAsync, allowAmbiguity); + } if (!parseExpected(21 /* CloseParenToken */) && !allowAmbiguity) { return undefined; } } + // Given: + // x ? y => ({ y }) : z => ({ z }) + // We try to parse the body of the first arrow function by looking at: + // ({ y }) : z => ({ z }) + // This is a valid arrow function with "z" as the return type. + // + // But, if we're in the true side of a conditional expression, this colon + // terminates the expression, so we cannot allow a return type if we aren't + // certain whether or not the preceding text was parsed as a parameter list. + // + // For example, + // a() ? (b: number, c?: string): void => d() : e + // is determined by isParenthesizedArrowFunctionExpression to unambiguously + // be an arrow expression, so we allow a return type. + if (disallowReturnTypeInArrowFunction && token() === 58 /* ColonToken */) { + return undefined; + } var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); if (type && !allowAmbiguity && typeHasArrowFunctionBlockingParseError(type)) { return undefined; @@ -34001,7 +34674,7 @@ var ts; // // So we need just a bit of lookahead to ensure that it can only be a signature. var unwrappedType = type; - while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 190 /* ParenthesizedType */) { + while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 191 /* ParenthesizedType */) { unwrappedType = unwrappedType.type; // Skip parens if need be } var hasJSDocFunctionType = unwrappedType && ts.isJSDocFunctionType(unwrappedType); @@ -34014,12 +34687,12 @@ var ts; var lastToken = token(); var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */); var body = (lastToken === 38 /* EqualsGreaterThanToken */ || lastToken === 18 /* OpenBraceToken */) - ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier)) + ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier), disallowReturnTypeInArrowFunction) : parseIdentifier(); var node = factory.createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body); return withJSDoc(finishNode(node, pos), hasJSDoc); } - function parseArrowFunctionExpressionBody(isAsync) { + function parseArrowFunctionExpressionBody(isAsync, disallowReturnTypeInArrowFunction) { if (token() === 18 /* OpenBraceToken */) { return parseFunctionBlock(isAsync ? 2 /* Await */ : 0 /* None */); } @@ -34047,8 +34720,8 @@ var ts; var savedTopLevel = topLevel; topLevel = false; var node = isAsync - ? doInAwaitContext(parseAssignmentExpressionOrHigher) - : doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher); + ? doInAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); }) + : doOutsideOfAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); }); topLevel = savedTopLevel; return node; } @@ -34061,8 +34734,8 @@ var ts; // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and // we do not that for the 'whenFalse' part. var colonToken; - return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken) - ? parseAssignmentExpressionOrHigher() + return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true); }), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken) + ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true) : createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics._0_expected, ts.tokenToString(58 /* ColonToken */))), pos); } function parseBinaryExpressionOrHigher(precedence) { @@ -34071,7 +34744,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand, pos); } function isInOrOfKeyword(t) { - return t === 101 /* InKeyword */ || t === 159 /* OfKeyword */; + return t === 101 /* InKeyword */ || t === 160 /* OfKeyword */; } function parseBinaryExpressionRest(precedence, leftOperand, pos) { while (true) { @@ -34211,7 +34884,7 @@ var ts; if (token() === 42 /* AsteriskAsteriskToken */) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 210 /* TypeAssertionExpression */) { + if (simpleUnaryExpression.kind === 211 /* TypeAssertionExpression */) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -34365,7 +35038,7 @@ var ts; // var foo3 = require("subfolder // import * as foo1 from "module-from-node // We want this import to be a statement rather than import call expression - sourceFlags |= 1048576 /* PossiblyContainsDynamicImport */; + sourceFlags |= 2097152 /* PossiblyContainsDynamicImport */; expression = parseTokenNode(); } else if (lookAhead(nextTokenIsDot)) { @@ -34373,7 +35046,7 @@ var ts; nextToken(); // advance past the 'import' nextToken(); // advance past the dot expression = finishNode(factory.createMetaProperty(100 /* ImportKeyword */, parseIdentifierName()), pos); - sourceFlags |= 2097152 /* PossiblyContainsImportMeta */; + sourceFlags |= 4194304 /* PossiblyContainsImportMeta */; } else { expression = parseMemberExpressionOrHigher(); @@ -34462,11 +35135,11 @@ var ts; var pos = getNodePos(); var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 279 /* JsxOpeningElement */) { + if (opening.kind === 280 /* JsxOpeningElement */) { var children = parseJsxChildren(opening); var closingElement = void 0; var lastChild = children[children.length - 1]; - if ((lastChild === null || lastChild === void 0 ? void 0 : lastChild.kind) === 277 /* JsxElement */ + if ((lastChild === null || lastChild === void 0 ? void 0 : lastChild.kind) === 278 /* JsxElement */ && !tagNamesAreEquivalent(lastChild.openingElement.tagName, lastChild.closingElement.tagName) && tagNamesAreEquivalent(opening.tagName, lastChild.closingElement.tagName)) { // when an unclosed JsxOpeningElement incorrectly parses its parent's JsxClosingElement, @@ -34492,11 +35165,11 @@ var ts; } result = finishNode(factory.createJsxElement(opening, children, closingElement), pos); } - else if (opening.kind === 282 /* JsxOpeningFragment */) { + else if (opening.kind === 283 /* JsxOpeningFragment */) { result = finishNode(factory.createJsxFragment(opening, parseJsxChildren(opening), parseJsxClosingFragment(inExpressionContext)), pos); } else { - ts.Debug.assert(opening.kind === 278 /* JsxSelfClosingElement */); + ts.Debug.assert(opening.kind === 279 /* JsxSelfClosingElement */); // Nothing else to do for self-closing elements result = opening; } @@ -34566,7 +35239,7 @@ var ts; break; list.push(child); if (ts.isJsxOpeningElement(openingTag) - && (child === null || child === void 0 ? void 0 : child.kind) === 277 /* JsxElement */ + && (child === null || child === void 0 ? void 0 : child.kind) === 278 /* JsxElement */ && !tagNamesAreEquivalent(child.openingElement.tagName, child.closingElement.tagName) && tagNamesAreEquivalent(openingTag.tagName, child.closingElement.tagName)) { // stop after parsing a mismatched child like

...(
) in order to reattach the
higher @@ -34589,7 +35262,7 @@ var ts; return finishNode(factory.createJsxOpeningFragment(), pos); } var tagName = parseJsxElementName(); - var typeArguments = (contextFlags & 131072 /* JavaScriptFile */) === 0 ? tryParseTypeArguments() : undefined; + var typeArguments = (contextFlags & 262144 /* JavaScriptFile */) === 0 ? tryParseTypeArguments() : undefined; var attributes = parseJsxAttributes(); var node; if (token() === 31 /* GreaterThanToken */) { @@ -34786,20 +35459,30 @@ var ts; expression = parsePropertyAccessExpressionRest(pos, expression, questionDotToken); continue; } - if (!questionDotToken && token() === 53 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { - nextToken(); - expression = finishNode(factory.createNonNullExpression(expression), pos); - continue; - } // when in the [Decorator] context, we do not parse ElementAccess as it could be part of a ComputedPropertyName if ((questionDotToken || !inDecoratorContext()) && parseOptional(22 /* OpenBracketToken */)) { expression = parseElementAccessExpressionRest(pos, expression, questionDotToken); continue; } if (isTemplateStartOfTaggedTemplate()) { - expression = parseTaggedTemplateRest(pos, expression, questionDotToken, /*typeArguments*/ undefined); + // Absorb type arguments into TemplateExpression when preceding expression is ExpressionWithTypeArguments + expression = !questionDotToken && expression.kind === 228 /* ExpressionWithTypeArguments */ ? + parseTaggedTemplateRest(pos, expression.expression, questionDotToken, expression.typeArguments) : + parseTaggedTemplateRest(pos, expression, questionDotToken, /*typeArguments*/ undefined); continue; } + if (!questionDotToken) { + if (token() === 53 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { + nextToken(); + expression = finishNode(factory.createNonNullExpression(expression), pos); + continue; + } + var typeArguments = tryParse(parseTypeArgumentsInExpression); + if (typeArguments) { + expression = finishNode(factory.createExpressionWithTypeArguments(expression, typeArguments), pos); + continue; + } + } return expression; } } @@ -34819,38 +35502,30 @@ var ts; function parseCallExpressionRest(pos, expression) { while (true) { expression = parseMemberExpressionRest(pos, expression, /*allowOptionalChain*/ true); + var typeArguments = void 0; var questionDotToken = parseOptionalToken(28 /* QuestionDotToken */); - // handle 'foo<()' - // parse template arguments only in TypeScript files (not in JavaScript files). - if ((contextFlags & 131072 /* JavaScriptFile */) === 0 && (token() === 29 /* LessThanToken */ || token() === 47 /* LessThanLessThanToken */)) { - // See if this is the start of a generic invocation. If so, consume it and - // keep checking for postfix expressions. Otherwise, it's just a '<' that's - // part of an arithmetic expression. Break out so we consume it higher in the - // stack. - var typeArguments = tryParse(parseTypeArgumentsInExpression); - if (typeArguments) { - if (isTemplateStartOfTaggedTemplate()) { - expression = parseTaggedTemplateRest(pos, expression, questionDotToken, typeArguments); - continue; - } - var argumentList = parseArgumentList(); - var callExpr = questionDotToken || tryReparseOptionalChain(expression) ? - factory.createCallChain(expression, questionDotToken, typeArguments, argumentList) : - factory.createCallExpression(expression, typeArguments, argumentList); - expression = finishNode(callExpr, pos); + if (questionDotToken) { + typeArguments = tryParse(parseTypeArgumentsInExpression); + if (isTemplateStartOfTaggedTemplate()) { + expression = parseTaggedTemplateRest(pos, expression, questionDotToken, typeArguments); continue; } } - else if (token() === 20 /* OpenParenToken */) { + if (typeArguments || token() === 20 /* OpenParenToken */) { + // Absorb type arguments into CallExpression when preceding expression is ExpressionWithTypeArguments + if (!questionDotToken && expression.kind === 228 /* ExpressionWithTypeArguments */) { + typeArguments = expression.typeArguments; + expression = expression.expression; + } var argumentList = parseArgumentList(); var callExpr = questionDotToken || tryReparseOptionalChain(expression) ? - factory.createCallChain(expression, questionDotToken, /*typeArguments*/ undefined, argumentList) : - factory.createCallExpression(expression, /*typeArguments*/ undefined, argumentList); + factory.createCallChain(expression, questionDotToken, typeArguments, argumentList) : + factory.createCallExpression(expression, typeArguments, argumentList); expression = finishNode(callExpr, pos); continue; } if (questionDotToken) { - // We failed to parse anything, so report a missing identifier here. + // We parsed `?.` but then failed to parse anything, so report a missing identifier here. var name = createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics.Identifier_expected); expression = finishNode(factory.createPropertyAccessChain(expression, questionDotToken, name), pos); } @@ -34865,7 +35540,7 @@ var ts; return result; } function parseTypeArgumentsInExpression() { - if ((contextFlags & 131072 /* JavaScriptFile */) !== 0) { + if ((contextFlags & 262144 /* JavaScriptFile */) !== 0) { // TypeArguments must not be parsed in JavaScript files to avoid ambiguity with binary operators. return undefined; } @@ -34878,21 +35553,25 @@ var ts; // If it doesn't have the closing `>` then it's definitely not an type argument list. return undefined; } - // If we have a '<', then only parse this as a argument list if the type arguments - // are complete and we have an open paren. if we don't, rewind and return nothing. - return typeArguments && canFollowTypeArgumentsInExpression() - ? typeArguments - : undefined; + // We successfully parsed a type argument list. The next token determines whether we want to + // treat it as such. If the type argument list is followed by `(` or a template literal, as in + // `f(42)`, we favor the type argument interpretation even though JavaScript would view + // it as a relational expression. + return typeArguments && canFollowTypeArgumentsInExpression() ? typeArguments : undefined; } function canFollowTypeArgumentsInExpression() { switch (token()) { + // These tokens can follow a type argument list in a call expression. case 20 /* OpenParenToken */: // foo( case 14 /* NoSubstitutionTemplateLiteral */: // foo `...` case 15 /* TemplateHead */: // foo `...${100}...` - // these are the only tokens can legally follow a type argument - // list. So we definitely want to treat them as type arg lists. + // These tokens can't follow in a call expression, nor can they start an + // expression. So, consider the type argument list part of an instantiation + // expression. // falls through + case 27 /* CommaToken */: // foo, case 24 /* DotToken */: // foo. + case 28 /* QuestionDotToken */: // foo?. case 21 /* CloseParenToken */: // foo) case 23 /* CloseBracketToken */: // foo] case 58 /* ColonToken */: // foo: @@ -34910,20 +35589,10 @@ var ts; case 51 /* BarToken */: // foo | case 19 /* CloseBraceToken */: // foo } case 1 /* EndOfFileToken */: // foo - // these cases can't legally follow a type arg list. However, they're not legal - // expressions either. The user is probably in the middle of a generic type. So - // treat it as such. return true; - case 27 /* CommaToken */: // foo, - case 18 /* OpenBraceToken */: // foo { - // We don't want to treat these as type arguments. Otherwise we'll parse this - // as an invocation expression. Instead, we want to parse out the expression - // in isolation from the type arguments. - // falls through - default: - // Anything else treat as an expression. - return false; } + // Treat anything else as an expression. + return false; } function parsePrimaryExpression() { switch (token()) { @@ -34982,39 +35651,40 @@ var ts; function parseSpreadElement() { var pos = getNodePos(); parseExpected(25 /* DotDotDotToken */); - var expression = parseAssignmentExpressionOrHigher(); + var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); return finishNode(factory.createSpreadElement(expression), pos); } function parseArgumentOrArrayLiteralElement() { return token() === 25 /* DotDotDotToken */ ? parseSpreadElement() : token() === 27 /* CommaToken */ ? finishNode(factory.createOmittedExpression(), getNodePos()) : - parseAssignmentExpressionOrHigher(); + parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression() { var pos = getNodePos(); - parseExpected(22 /* OpenBracketToken */); + var openBracketPosition = scanner.getTokenPos(); + var openBracketParsed = parseExpected(22 /* OpenBracketToken */); var multiLine = scanner.hasPrecedingLineBreak(); var elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement); - parseExpected(23 /* CloseBracketToken */); + parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition); return finishNode(factory.createArrayLiteralExpression(elements, multiLine), pos); } function parseObjectLiteralElement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); if (parseOptionalToken(25 /* DotDotDotToken */)) { - var expression = parseAssignmentExpressionOrHigher(); + var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); return withJSDoc(finishNode(factory.createSpreadAssignment(expression), pos), hasJSDoc); } var decorators = parseDecorators(); var modifiers = parseModifiers(); if (parseContextualModifier(136 /* GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 171 /* GetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* GetAccessor */); } - if (parseContextualModifier(148 /* SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SetAccessor */); + if (parseContextualModifier(149 /* SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SetAccessor */); } var asteriskToken = parseOptionalToken(41 /* AsteriskToken */); var tokenIsIdentifier = isIdentifier(); @@ -35034,7 +35704,7 @@ var ts; var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58 /* ColonToken */); if (isShorthandPropertyAssignment) { var equalsToken = parseOptionalToken(63 /* EqualsToken */); - var objectAssignmentInitializer = equalsToken ? allowInAnd(parseAssignmentExpressionOrHigher) : undefined; + var objectAssignmentInitializer = equalsToken ? allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }) : undefined; node = factory.createShorthandPropertyAssignment(name, objectAssignmentInitializer); // Save equals token for error reporting. // TODO(rbuckton): Consider manufacturing this when we need to report an error as it is otherwise not useful. @@ -35042,7 +35712,7 @@ var ts; } else { parseExpected(58 /* ColonToken */); - var initializer = allowInAnd(parseAssignmentExpressionOrHigher); + var initializer = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }); node = factory.createPropertyAssignment(name, initializer); } // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker @@ -35055,15 +35725,10 @@ var ts; function parseObjectLiteralExpression() { var pos = getNodePos(); var openBracePosition = scanner.getTokenPos(); - parseExpected(18 /* OpenBraceToken */); + var openBraceParsed = parseExpected(18 /* OpenBraceToken */); var multiLine = scanner.hasPrecedingLineBreak(); var properties = parseDelimitedList(12 /* ObjectLiteralMembers */, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true); - if (!parseExpected(19 /* CloseBraceToken */)) { - var lastError = ts.lastOrUndefined(parseDiagnostics); - if (lastError && lastError.code === ts.Diagnostics._0_expected.code) { - ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here)); - } - } + parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition); return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos); } function parseFunctionExpression() { @@ -35104,41 +35769,26 @@ var ts; return finishNode(factory.createMetaProperty(103 /* NewKeyword */, name), pos); } var expressionPos = getNodePos(); - var expression = parsePrimaryExpression(); + var expression = parseMemberExpressionRest(expressionPos, parsePrimaryExpression(), /*allowOptionalChain*/ false); var typeArguments; - while (true) { - expression = parseMemberExpressionRest(expressionPos, expression, /*allowOptionalChain*/ false); - typeArguments = tryParse(parseTypeArgumentsInExpression); - if (isTemplateStartOfTaggedTemplate()) { - ts.Debug.assert(!!typeArguments, "Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'"); - expression = parseTaggedTemplateRest(expressionPos, expression, /*optionalChain*/ undefined, typeArguments); - typeArguments = undefined; - } - break; - } - var argumentsArray; - if (token() === 20 /* OpenParenToken */) { - argumentsArray = parseArgumentList(); - } - else if (typeArguments) { - parseErrorAt(pos, scanner.getStartPos(), ts.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list); + // Absorb type arguments into NewExpression when preceding expression is ExpressionWithTypeArguments + if (expression.kind === 228 /* ExpressionWithTypeArguments */) { + typeArguments = expression.typeArguments; + expression = expression.expression; } - return finishNode(factory.createNewExpression(expression, typeArguments, argumentsArray), pos); + var argumentList = token() === 20 /* OpenParenToken */ ? parseArgumentList() : undefined; + return finishNode(factory.createNewExpression(expression, typeArguments, argumentList), pos); } // STATEMENTS function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var openBracePosition = scanner.getTokenPos(); - if (parseExpected(18 /* OpenBraceToken */, diagnosticMessage) || ignoreMissingOpenBrace) { + var openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage); + if (openBraceParsed || ignoreMissingOpenBrace) { var multiLine = scanner.hasPrecedingLineBreak(); var statements = parseList(1 /* BlockStatements */, parseStatement); - if (!parseExpected(19 /* CloseBraceToken */)) { - var lastError = ts.lastOrUndefined(parseDiagnostics); - if (lastError && lastError.code === ts.Diagnostics._0_expected.code) { - ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here)); - } - } + parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition); var result = withJSDoc(finishNode(factory.createBlock(statements, multiLine), pos), hasJSDoc); if (token() === 63 /* EqualsToken */) { parseErrorAtCurrentToken(ts.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses); @@ -35183,9 +35833,10 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); parseExpected(99 /* IfKeyword */); - parseExpected(20 /* OpenParenToken */); + var openParenPosition = scanner.getTokenPos(); + var openParenParsed = parseExpected(20 /* OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); + parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); var thenStatement = parseStatement(); var elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : undefined; return withJSDoc(finishNode(factory.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc); @@ -35196,9 +35847,10 @@ var ts; parseExpected(90 /* DoKeyword */); var statement = parseStatement(); parseExpected(115 /* WhileKeyword */); - parseExpected(20 /* OpenParenToken */); + var openParenPosition = scanner.getTokenPos(); + var openParenParsed = parseExpected(20 /* OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); + parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); // From: https://mail.mozilla.org/pipermail/es-discuss/2011-August/016188.html // 157 min --- All allen at wirfs-brock.com CONF --- "do{;}while(false)false" prohibited in // spec but allowed in consensus reality. Approved -- this is the de-facto standard whereby @@ -35210,9 +35862,10 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); parseExpected(115 /* WhileKeyword */); - parseExpected(20 /* OpenParenToken */); + var openParenPosition = scanner.getTokenPos(); + var openParenParsed = parseExpected(20 /* OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); + parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); var statement = parseStatement(); return withJSDoc(finishNode(factory.createWhileStatement(expression, statement), pos), hasJSDoc); } @@ -35232,8 +35885,8 @@ var ts; } } var node; - if (awaitToken ? parseExpected(159 /* OfKeyword */) : parseOptional(159 /* OfKeyword */)) { - var expression = allowInAnd(parseAssignmentExpressionOrHigher); + if (awaitToken ? parseExpected(160 /* OfKeyword */) : parseOptional(160 /* OfKeyword */)) { + var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }); parseExpected(21 /* CloseParenToken */); node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement()); } @@ -35259,10 +35912,10 @@ var ts; function parseBreakOrContinueStatement(kind) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(kind === 245 /* BreakStatement */ ? 81 /* BreakKeyword */ : 86 /* ContinueKeyword */); + parseExpected(kind === 246 /* BreakStatement */ ? 81 /* BreakKeyword */ : 86 /* ContinueKeyword */); var label = canParseSemicolon() ? undefined : parseIdentifier(); parseSemicolon(); - var node = kind === 245 /* BreakStatement */ + var node = kind === 246 /* BreakStatement */ ? factory.createBreakStatement(label) : factory.createContinueStatement(label); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -35279,19 +35932,21 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); parseExpected(116 /* WithKeyword */); - parseExpected(20 /* OpenParenToken */); + var openParenPosition = scanner.getTokenPos(); + var openParenParsed = parseExpected(20 /* OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); - var statement = doInsideOfContext(16777216 /* InWithStatement */, parseStatement); + parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); + var statement = doInsideOfContext(33554432 /* InWithStatement */, parseStatement); return withJSDoc(finishNode(factory.createWithStatement(expression, statement), pos), hasJSDoc); } function parseCaseClause() { var pos = getNodePos(); + var hasJSDoc = hasPrecedingJSDocComment(); parseExpected(82 /* CaseKeyword */); var expression = allowInAnd(parseExpression); parseExpected(58 /* ColonToken */); var statements = parseList(3 /* SwitchClauseStatements */, parseStatement); - return finishNode(factory.createCaseClause(expression, statements), pos); + return withJSDoc(finishNode(factory.createCaseClause(expression, statements), pos), hasJSDoc); } function parseDefaultClause() { var pos = getNodePos(); @@ -35451,7 +36106,7 @@ var ts; // // could be legal, it would add complexity for very little gain. case 118 /* InterfaceKeyword */: - case 151 /* TypeKeyword */: + case 152 /* TypeKeyword */: return nextTokenIsIdentifierOnSameLine(); case 141 /* ModuleKeyword */: case 142 /* NamespaceKeyword */: @@ -35462,14 +36117,14 @@ var ts; case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: case 123 /* PublicKeyword */: - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: nextToken(); // ASI takes effect for this modifier. if (scanner.hasPrecedingLineBreak()) { return false; } continue; - case 156 /* GlobalKeyword */: + case 157 /* GlobalKeyword */: nextToken(); return token() === 18 /* OpenBraceToken */ || token() === 79 /* Identifier */ || token() === 93 /* ExportKeyword */; case 100 /* ImportKeyword */: @@ -35478,7 +36133,7 @@ var ts; token() === 18 /* OpenBraceToken */ || ts.tokenIsIdentifierOrKeyword(token()); case 93 /* ExportKeyword */: var currentToken_1 = nextToken(); - if (currentToken_1 === 151 /* TypeKeyword */) { + if (currentToken_1 === 152 /* TypeKeyword */) { currentToken_1 = lookAhead(nextToken); } if (currentToken_1 === 63 /* EqualsToken */ || currentToken_1 === 41 /* AsteriskToken */ || @@ -35536,15 +36191,15 @@ var ts; case 118 /* InterfaceKeyword */: case 141 /* ModuleKeyword */: case 142 /* NamespaceKeyword */: - case 151 /* TypeKeyword */: - case 156 /* GlobalKeyword */: + case 152 /* TypeKeyword */: + case 157 /* GlobalKeyword */: // When these don't start a declaration, they're an identifier in an expression statement return true; case 123 /* PublicKeyword */: case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: case 124 /* StaticKeyword */: - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: // When these don't start a declaration, they may be the start of a class member if an identifier // immediately follows. Otherwise they're an identifier in an expression statement. return isStartOfDeclaration() || !lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); @@ -35587,9 +36242,9 @@ var ts; case 97 /* ForKeyword */: return parseForOrForInOrForOfStatement(); case 86 /* ContinueKeyword */: - return parseBreakOrContinueStatement(244 /* ContinueStatement */); + return parseBreakOrContinueStatement(245 /* ContinueStatement */); case 81 /* BreakKeyword */: - return parseBreakOrContinueStatement(245 /* BreakStatement */); + return parseBreakOrContinueStatement(246 /* BreakStatement */); case 105 /* ReturnKeyword */: return parseReturnStatement(); case 116 /* WithKeyword */: @@ -35610,7 +36265,7 @@ var ts; return parseDeclaration(); case 131 /* AsyncKeyword */: case 118 /* InterfaceKeyword */: - case 151 /* TypeKeyword */: + case 152 /* TypeKeyword */: case 141 /* ModuleKeyword */: case 142 /* NamespaceKeyword */: case 135 /* DeclareKeyword */: @@ -35623,8 +36278,8 @@ var ts; case 123 /* PublicKeyword */: case 126 /* AbstractKeyword */: case 124 /* StaticKeyword */: - case 144 /* ReadonlyKeyword */: - case 156 /* GlobalKeyword */: + case 145 /* ReadonlyKeyword */: + case 157 /* GlobalKeyword */: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -35656,16 +36311,16 @@ var ts; if (isAmbient) { for (var _i = 0, _a = modifiers; _i < _a.length; _i++) { var m = _a[_i]; - m.flags |= 8388608 /* Ambient */; + m.flags |= 16777216 /* Ambient */; } - return doInsideOfContext(8388608 /* Ambient */, function () { return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); }); + return doInsideOfContext(16777216 /* Ambient */, function () { return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); }); } else { return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); } } function tryReuseAmbientDeclaration() { - return doInsideOfContext(8388608 /* Ambient */, function () { + return doInsideOfContext(16777216 /* Ambient */, function () { var node = currentNode(parsingContext); if (node) { return consumeNode(node); @@ -35684,11 +36339,11 @@ var ts; return parseClassDeclaration(pos, hasJSDoc, decorators, modifiers); case 118 /* InterfaceKeyword */: return parseInterfaceDeclaration(pos, hasJSDoc, decorators, modifiers); - case 151 /* TypeKeyword */: + case 152 /* TypeKeyword */: return parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers); case 92 /* EnumKeyword */: return parseEnumDeclaration(pos, hasJSDoc, decorators, modifiers); - case 156 /* GlobalKeyword */: + case 157 /* GlobalKeyword */: case 141 /* ModuleKeyword */: case 142 /* NamespaceKeyword */: return parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -35709,7 +36364,7 @@ var ts; if (decorators || modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration // would follow. For recovery and error reporting purposes, return an incomplete declaration. - var missing = createMissingNode(275 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); ts.setTextRangePos(missing, pos); missing.decorators = decorators; missing.modifiers = modifiers; @@ -35829,7 +36484,7 @@ var ts; // this context. // The checker will then give an error that there is an empty declaration list. var declarations; - if (token() === 159 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 160 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { declarations = createMissingList(); } else { @@ -35933,12 +36588,12 @@ var ts; var parameters = parseParameters(0 /* None */); var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(0 /* None */); - var node = kind === 171 /* GetAccessor */ + var node = kind === 172 /* GetAccessor */ ? factory.createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body) : factory.createSetAccessorDeclaration(decorators, modifiers, name, parameters, body); // Keep track of `typeParameters` (for both) and `type` (for setters) if they were parsed those indicate grammar errors node.typeParameters = typeParameters; - if (type && node.kind === 172 /* SetAccessor */) + if (type && node.kind === 173 /* SetAccessor */) node.type = type; return withJSDoc(finishNode(node, pos), hasJSDoc); } @@ -35977,7 +36632,7 @@ var ts; // If we were able to get any potential identifier... if (idToken !== undefined) { // If we have a non-keyword identifier, or if we have an accessor, then it's safe to parse. - if (!ts.isKeyword(idToken) || idToken === 148 /* SetKeyword */ || idToken === 136 /* GetKeyword */) { + if (!ts.isKeyword(idToken) || idToken === 149 /* SetKeyword */ || idToken === 136 /* GetKeyword */) { return true; } // If it *is* a keyword, but not an accessor, check a little farther along @@ -36107,10 +36762,10 @@ var ts; return parseClassStaticBlockDeclaration(pos, hasJSDoc, decorators, modifiers); } if (parseContextualModifier(136 /* GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 171 /* GetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* GetAccessor */); } - if (parseContextualModifier(148 /* SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SetAccessor */); + if (parseContextualModifier(149 /* SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SetAccessor */); } if (token() === 134 /* ConstructorKeyword */ || token() === 10 /* StringLiteral */) { var constructorDeclaration = tryParseConstructorDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36132,9 +36787,9 @@ var ts; if (isAmbient) { for (var _i = 0, _a = modifiers; _i < _a.length; _i++) { var m = _a[_i]; - m.flags |= 8388608 /* Ambient */; + m.flags |= 16777216 /* Ambient */; } - return doInsideOfContext(8388608 /* Ambient */, function () { return parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers); }); + return doInsideOfContext(16777216 /* Ambient */, function () { return parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers); }); } else { return parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36149,10 +36804,10 @@ var ts; return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined, 225 /* ClassExpression */); + return parseClassDeclarationOrExpression(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined, 226 /* ClassExpression */); } function parseClassDeclaration(pos, hasJSDoc, decorators, modifiers) { - return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 256 /* ClassDeclaration */); + return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 257 /* ClassDeclaration */); } function parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, kind) { var savedAwaitContext = inAwaitContext(); @@ -36174,7 +36829,7 @@ var ts; members = createMissingList(); } setAwaitContext(savedAwaitContext); - var node = kind === 256 /* ClassDeclaration */ + var node = kind === 257 /* ClassDeclaration */ ? factory.createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) : factory.createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36211,6 +36866,9 @@ var ts; function parseExpressionWithTypeArguments() { var pos = getNodePos(); var expression = parseLeftHandSideExpressionOrHigher(); + if (expression.kind === 228 /* ExpressionWithTypeArguments */) { + return expression; + } var typeArguments = tryParseTypeArguments(); return finishNode(factory.createExpressionWithTypeArguments(expression, typeArguments), pos); } @@ -36234,7 +36892,7 @@ var ts; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(151 /* TypeKeyword */); + parseExpected(152 /* TypeKeyword */); var name = parseIdentifier(); var typeParameters = parseTypeParameters(); parseExpected(63 /* EqualsToken */); @@ -36294,7 +36952,7 @@ var ts; function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { var flags = 0; var name; - if (token() === 156 /* GlobalKeyword */) { + if (token() === 157 /* GlobalKeyword */) { // parse 'global' as name of global scope augmentation name = parseIdentifier(); flags |= 1024 /* GlobalAugmentation */; @@ -36315,7 +36973,7 @@ var ts; } function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { var flags = 0; - if (token() === 156 /* GlobalKeyword */) { + if (token() === 157 /* GlobalKeyword */) { // global augmentation return parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers); } @@ -36331,7 +36989,7 @@ var ts; return parseModuleOrNamespaceDeclaration(pos, hasJSDoc, decorators, modifiers, flags); } function isExternalModuleReference() { - return token() === 145 /* RequireKeyword */ && + return token() === 146 /* RequireKeyword */ && lookAhead(nextTokenIsOpenParen); } function nextTokenIsOpenParen() { @@ -36363,7 +37021,7 @@ var ts; identifier = parseIdentifier(); } var isTypeOnly = false; - if (token() !== 155 /* FromKeyword */ && + if (token() !== 156 /* FromKeyword */ && (identifier === null || identifier === void 0 ? void 0 : identifier.escapedText) === "type" && (isIdentifier() || tokenAfterImportDefinitelyProducesImportDeclaration())) { isTypeOnly = true; @@ -36381,7 +37039,7 @@ var ts; token() === 18 /* OpenBraceToken */ // import { ) { importClause = parseImportClause(identifier, afterImportPos, isTypeOnly); - parseExpected(155 /* FromKeyword */); + parseExpected(156 /* FromKeyword */); } var moduleSpecifier = parseModuleSpecifier(); var assertClause; @@ -36396,12 +37054,14 @@ var ts; var pos = getNodePos(); var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* StringLiteral */); parseExpected(58 /* ColonToken */); - var value = parseAssignmentExpressionOrHigher(); + var value = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); return finishNode(factory.createAssertEntry(name, value), pos); } - function parseAssertClause() { + function parseAssertClause(skipAssertKeyword) { var pos = getNodePos(); - parseExpected(129 /* AssertKeyword */); + if (!skipAssertKeyword) { + parseExpected(129 /* AssertKeyword */); + } var openBracePosition = scanner.getTokenPos(); if (parseExpected(18 /* OpenBraceToken */)) { var multiLine = scanner.hasPrecedingLineBreak(); @@ -36409,7 +37069,7 @@ var ts; if (!parseExpected(19 /* CloseBraceToken */)) { var lastError = ts.lastOrUndefined(parseDiagnostics); if (lastError && lastError.code === ts.Diagnostics._0_expected.code) { - ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here)); + ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")); } } return finishNode(factory.createAssertClause(elements, multiLine), pos); @@ -36425,7 +37085,7 @@ var ts; function tokenAfterImportedIdentifierDefinitelyProducesImportDeclaration() { // In `import id ___`, the current token decides whether to produce // an ImportDeclaration or ImportEqualsDeclaration. - return token() === 27 /* CommaToken */ || token() === 155 /* FromKeyword */; + return token() === 27 /* CommaToken */ || token() === 156 /* FromKeyword */; } function parseImportEqualsDeclaration(pos, hasJSDoc, decorators, modifiers, identifier, isTypeOnly) { parseExpected(63 /* EqualsToken */); @@ -36447,18 +37107,18 @@ var ts; var namedBindings; if (!identifier || parseOptional(27 /* CommaToken */)) { - namedBindings = token() === 41 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(268 /* NamedImports */); + namedBindings = token() === 41 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(269 /* NamedImports */); } return finishNode(factory.createImportClause(isTypeOnly, identifier, namedBindings), pos); } function parseModuleReference() { return isExternalModuleReference() ? parseExternalModuleReference() - : parseEntityName(/*allowReservedWords*/ false); + : parseEntityName(/*allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false); } function parseExternalModuleReference() { var pos = getNodePos(); - parseExpected(145 /* RequireKeyword */); + parseExpected(146 /* RequireKeyword */); parseExpected(20 /* OpenParenToken */); var expression = parseModuleSpecifier(); parseExpected(21 /* CloseParenToken */); @@ -36495,17 +37155,17 @@ var ts; // ImportsList: // ImportSpecifier // ImportsList, ImportSpecifier - var node = kind === 268 /* NamedImports */ + var node = kind === 269 /* NamedImports */ ? factory.createNamedImports(parseBracketedList(23 /* ImportOrExportSpecifiers */, parseImportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */)) : factory.createNamedExports(parseBracketedList(23 /* ImportOrExportSpecifiers */, parseExportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */)); return finishNode(node, pos); } function parseExportSpecifier() { var hasJSDoc = hasPrecedingJSDocComment(); - return withJSDoc(parseImportOrExportSpecifier(274 /* ExportSpecifier */), hasJSDoc); + return withJSDoc(parseImportOrExportSpecifier(275 /* ExportSpecifier */), hasJSDoc); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(269 /* ImportSpecifier */); + return parseImportOrExportSpecifier(270 /* ImportSpecifier */); } function parseImportOrExportSpecifier(kind) { var pos = getNodePos(); @@ -36573,10 +37233,10 @@ var ts; parseExpected(127 /* AsKeyword */); name = parseNameWithKeywordCheck(); } - if (kind === 269 /* ImportSpecifier */ && checkIdentifierIsKeyword) { + if (kind === 270 /* ImportSpecifier */ && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } - var node = kind === 269 /* ImportSpecifier */ + var node = kind === 270 /* ImportSpecifier */ ? factory.createImportSpecifier(isTypeOnly, propertyName, name) : factory.createExportSpecifier(isTypeOnly, propertyName, name); return finishNode(node, pos); @@ -36596,22 +37256,22 @@ var ts; var exportClause; var moduleSpecifier; var assertClause; - var isTypeOnly = parseOptional(151 /* TypeKeyword */); + var isTypeOnly = parseOptional(152 /* TypeKeyword */); var namespaceExportPos = getNodePos(); if (parseOptional(41 /* AsteriskToken */)) { if (parseOptional(127 /* AsKeyword */)) { exportClause = parseNamespaceExport(namespaceExportPos); } - parseExpected(155 /* FromKeyword */); + parseExpected(156 /* FromKeyword */); moduleSpecifier = parseModuleSpecifier(); } else { - exportClause = parseNamedImportsOrExports(272 /* NamedExports */); + exportClause = parseNamedImportsOrExports(273 /* NamedExports */); // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token() === 155 /* FromKeyword */ || (token() === 10 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { - parseExpected(155 /* FromKeyword */); + if (token() === 156 /* FromKeyword */ || (token() === 10 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { + parseExpected(156 /* FromKeyword */); moduleSpecifier = parseModuleSpecifier(); } } @@ -36633,41 +37293,12 @@ var ts; else { parseExpected(88 /* DefaultKeyword */); } - var expression = parseAssignmentExpressionOrHigher(); + var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); parseSemicolon(); setAwaitContext(savedAwaitContext); var node = factory.createExportAssignment(decorators, modifiers, isExportEquals, expression); return withJSDoc(finishNode(node, pos), hasJSDoc); } - function setExternalModuleIndicator(sourceFile) { - // Try to use the first top-level import/export when available, then - // fall back to looking for an 'import.meta' somewhere in the tree if necessary. - sourceFile.externalModuleIndicator = - ts.forEach(sourceFile.statements, isAnExternalModuleIndicatorNode) || - getImportMetaIfNecessary(sourceFile); - } - function isAnExternalModuleIndicatorNode(node) { - return hasModifierOfKind(node, 93 /* ExportKeyword */) - || ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference) - || ts.isImportDeclaration(node) - || ts.isExportAssignment(node) - || ts.isExportDeclaration(node) ? node : undefined; - } - function getImportMetaIfNecessary(sourceFile) { - return sourceFile.flags & 2097152 /* PossiblyContainsImportMeta */ ? - walkTreeForExternalModuleIndicators(sourceFile) : - undefined; - } - function walkTreeForExternalModuleIndicators(node) { - return isImportMeta(node) ? node : forEachChild(node, walkTreeForExternalModuleIndicators); - } - /** Do not use hasModifier inside the parser; it relies on parent pointers. Use this instead. */ - function hasModifierOfKind(node, kind) { - return ts.some(node.modifiers, function (m) { return m.kind === kind; }); - } - function isImportMeta(node) { - return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta"; - } var ParsingContext; (function (ParsingContext) { ParsingContext[ParsingContext["SourceElements"] = 0] = "SourceElements"; @@ -36710,7 +37341,7 @@ var ts; scanner.setText(content, start, length); currentToken = scanner.scan(); var jsDocTypeExpression = parseJSDocTypeExpression(); - var sourceFile = createSourceFile("file.js", 99 /* Latest */, 1 /* JS */, /*isDeclarationFile*/ false, [], factory.createToken(1 /* EndOfFileToken */), 0 /* None */); + var sourceFile = createSourceFile("file.js", 99 /* Latest */, 1 /* JS */, /*isDeclarationFile*/ false, [], factory.createToken(1 /* EndOfFileToken */), 0 /* None */, ts.noop); var diagnostics = ts.attachFileToDiagnostics(parseDiagnostics, sourceFile); if (jsDocDiagnostics) { sourceFile.jsDocDiagnostics = ts.attachFileToDiagnostics(jsDocDiagnostics, sourceFile); @@ -36723,7 +37354,7 @@ var ts; function parseJSDocTypeExpression(mayOmitBraces) { var pos = getNodePos(); var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(18 /* OpenBraceToken */); - var type = doInsideOfContext(4194304 /* JSDoc */, parseJSDocType); + var type = doInsideOfContext(8388608 /* JSDoc */, parseJSDocType); if (!mayOmitBraces || hasBrace) { parseExpectedJSDoc(19 /* CloseBraceToken */); } @@ -36736,7 +37367,7 @@ var ts; var pos = getNodePos(); var hasBrace = parseOptional(18 /* OpenBraceToken */); var p2 = getNodePos(); - var entityName = parseEntityName(/* allowReservedWords*/ false); + var entityName = parseEntityName(/* allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false); while (token() === 80 /* PrivateIdentifier */) { reScanHashToken(); // rescan #id as # id nextTokenJSDoc(); // then skip the # @@ -36752,7 +37383,7 @@ var ts; JSDocParser.parseJSDocNameReference = parseJSDocNameReference; function parseIsolatedJSDocComment(content, start, length) { initializeState("", content, 99 /* Latest */, /*_syntaxCursor:*/ undefined, 1 /* JS */); - var jsDoc = doInsideOfContext(4194304 /* JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); + var jsDoc = doInsideOfContext(8388608 /* JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); var sourceFile = { languageVariant: 0 /* Standard */, text: content }; var diagnostics = ts.attachFileToDiagnostics(parseDiagnostics, sourceFile); clearState(); @@ -36763,9 +37394,9 @@ var ts; var saveToken = currentToken; var saveParseDiagnosticsLength = parseDiagnostics.length; var saveParseErrorBeforeNextFinishedNode = parseErrorBeforeNextFinishedNode; - var comment = doInsideOfContext(4194304 /* JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); + var comment = doInsideOfContext(8388608 /* JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); ts.setParent(comment, parent); - if (contextFlags & 131072 /* JavaScriptFile */) { + if (contextFlags & 262144 /* JavaScriptFile */) { if (!jsDocDiagnostics) { jsDocDiagnostics = []; } @@ -37179,7 +37810,7 @@ var ts; // parseEntityName logs an error for non-identifier, so create a MissingNode ourselves to avoid the error var p2 = getNodePos(); var name = ts.tokenIsIdentifierOrKeyword(token()) - ? parseEntityName(/*allowReservedWords*/ true) + ? parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false) : undefined; if (name) { while (token() === 80 /* PrivateIdentifier */) { @@ -37204,11 +37835,13 @@ var ts; && nextTokenJSDoc() === 59 /* AtToken */ && ts.tokenIsIdentifierOrKeyword(nextTokenJSDoc())) { var kind = scanner.getTokenValue(); - if (kind === "link" || kind === "linkcode" || kind === "linkplain") { + if (isJSDocLinkTag(kind)) return kind; - } } } + function isJSDocLinkTag(kind) { + return kind === "link" || kind === "linkcode" || kind === "linkplain"; + } function parseUnknownTag(start, tagName, indent, indentText) { return finishNode(factory.createJSDocUnknownTag(tagName, parseTrailingTagComments(start, getNodePos(), indent, indentText)), start); } @@ -37253,9 +37886,9 @@ var ts; } function isObjectOrObjectArrayTypeReference(node) { switch (node.kind) { - case 147 /* ObjectKeyword */: + case 148 /* ObjectKeyword */: return true; - case 182 /* ArrayType */: + case 183 /* ArrayType */: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object" && !node.typeArguments; @@ -37287,12 +37920,12 @@ var ts; var child = void 0; var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, indent, name); })) { - if (child.kind === 338 /* JSDocParameterTag */ || child.kind === 345 /* JSDocPropertyTag */) { + if (child.kind === 340 /* JSDocParameterTag */ || child.kind === 347 /* JSDocPropertyTag */) { children = ts.append(children, child); } } if (children) { - var literal = finishNode(factory.createJSDocTypeLiteral(children, typeExpression.type.kind === 182 /* ArrayType */), pos); + var literal = finishNode(factory.createJSDocTypeLiteral(children, typeExpression.type.kind === 183 /* ArrayType */), pos); return finishNode(factory.createJSDocTypeExpression(literal), pos); } } @@ -37314,7 +37947,7 @@ var ts; } function parseSeeTag(start, tagName, indent, indentText) { var isMarkdownOrJSDocLink = token() === 22 /* OpenBracketToken */ - || lookAhead(function () { return nextTokenJSDoc() === 59 /* AtToken */ && ts.tokenIsIdentifierOrKeyword(nextTokenJSDoc()) && scanner.getTokenValue() === "link"; }); + || lookAhead(function () { return nextTokenJSDoc() === 59 /* AtToken */ && ts.tokenIsIdentifierOrKeyword(nextTokenJSDoc()) && isJSDocLinkTag(scanner.getTokenValue()); }); var nameExpression = isMarkdownOrJSDocLink ? undefined : parseJSDocNameReference(); var comments = indent !== undefined && indentText !== undefined ? parseTrailingTagComments(start, getNodePos(), indent, indentText) : undefined; return finishNode(factory.createJSDocSeeTag(tagName, nameExpression, comments), start); @@ -37410,10 +38043,9 @@ var ts; var hasChildren = false; while (child = tryParse(function () { return parseChildPropertyTag(indent); })) { hasChildren = true; - if (child.kind === 341 /* JSDocTypeTag */) { + if (child.kind === 343 /* JSDocTypeTag */) { if (childTypeTag) { - parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags); - var lastError = ts.lastOrUndefined(parseDiagnostics); + var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags); if (lastError) { ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, 0, 0, ts.Diagnostics.The_tag_was_first_specified_here)); } @@ -37428,7 +38060,7 @@ var ts; } } if (hasChildren) { - var isArrayType = typeExpression && typeExpression.type.kind === 182 /* ArrayType */; + var isArrayType = typeExpression && typeExpression.type.kind === 183 /* ArrayType */; var jsdocTypeLiteral = factory.createJSDocTypeLiteral(jsDocPropertyTags, isArrayType); typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? childTypeTag.typeExpression : @@ -37481,7 +38113,7 @@ var ts; var returnTag = tryParse(function () { if (parseOptionalJsdoc(59 /* AtToken */)) { var tag = parseTag(indent); - if (tag && tag.kind === 339 /* JSDocReturnTag */) { + if (tag && tag.kind === 341 /* JSDocReturnTag */) { return tag; } } @@ -37515,7 +38147,7 @@ var ts; case 59 /* AtToken */: if (canParseTag) { var child = tryParseChildTag(target, indent); - if (child && (child.kind === 338 /* JSDocParameterTag */ || child.kind === 345 /* JSDocPropertyTag */) && + if (child && (child.kind === 340 /* JSDocParameterTag */ || child.kind === 347 /* JSDocPropertyTag */) && target !== 4 /* CallbackParameter */ && name && (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { return false; @@ -37580,13 +38212,13 @@ var ts; if (isBracketed) { skipWhitespace(); parseExpected(63 /* EqualsToken */); - defaultType = doInsideOfContext(4194304 /* JSDoc */, parseJSDocType); + defaultType = doInsideOfContext(8388608 /* JSDoc */, parseJSDocType); parseExpected(23 /* CloseBracketToken */); } if (ts.nodeIsMissing(name)) { return undefined; } - return finishNode(factory.createTypeParameterDeclaration(name, /*constraint*/ undefined, defaultType), typeParameterPos); + return finishNode(factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, /*constraint*/ undefined, defaultType), typeParameterPos); } function parseTemplateTagTypeParameters() { var pos = getNodePos(); @@ -37669,7 +38301,7 @@ var ts; if (sourceFile.statements.length === 0) { // If we don't have any statements in the current source file, then there's no real // way to incrementally parse. So just do a full parse instead. - return Parser.parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, /*syntaxCursor*/ undefined, /*setParentNodes*/ true, sourceFile.scriptKind); + return Parser.parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, /*syntaxCursor*/ undefined, /*setParentNodes*/ true, sourceFile.scriptKind, sourceFile.setExternalModuleIndicator); } // Make sure we're not trying to incrementally update a source file more than once. Once // we do an update the original source file is considered unusable from that point onwards. @@ -37726,7 +38358,7 @@ var ts; // inconsistent tree. Setting the parents on the new tree should be very fast. We // will immediately bail out of walking any subtrees when we can see that their parents // are already correct. - var result = Parser.parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, syntaxCursor, /*setParentNodes*/ true, sourceFile.scriptKind); + var result = Parser.parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, syntaxCursor, /*setParentNodes*/ true, sourceFile.scriptKind, sourceFile.setExternalModuleIndicator); result.commentDirectives = getNewCommentDirectives(sourceFile.commentDirectives, result.commentDirectives, changeRange.span.start, ts.textSpanEnd(changeRange.span), delta, oldText, newText, aggressiveChecks); result.impliedNodeFormat = sourceFile.impliedNodeFormat; return result; @@ -38181,6 +38813,19 @@ var ts; return ts.fileExtensionIsOneOf(fileName, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]); } ts.isDeclarationFileName = isDeclarationFileName; + function parseResolutionMode(mode, pos, end, reportDiagnostic) { + if (!mode) { + return undefined; + } + if (mode === "import") { + return ts.ModuleKind.ESNext; + } + if (mode === "require") { + return ts.ModuleKind.CommonJS; + } + reportDiagnostic(pos, end - pos, ts.Diagnostics.resolution_mode_should_be_either_require_or_import); + return undefined; + } /*@internal*/ function processCommentPragmas(context, sourceText) { var pragmas = []; @@ -38223,12 +38868,13 @@ var ts; var typeReferenceDirectives_1 = context.typeReferenceDirectives; var libReferenceDirectives_1 = context.libReferenceDirectives; ts.forEach(ts.toArray(entryOrList), function (arg) { - var _a = arg.arguments, types = _a.types, lib = _a.lib, path = _a.path; + var _a = arg.arguments, types = _a.types, lib = _a.lib, path = _a.path, res = _a["resolution-mode"]; if (arg.arguments["no-default-lib"]) { context.hasNoDefaultLib = true; } else if (types) { - typeReferenceDirectives_1.push({ pos: types.pos, end: types.end, fileName: types.value }); + var parsed = parseResolutionMode(res, types.pos, types.end, reportDiagnostic); + typeReferenceDirectives_1.push(__assign({ pos: types.pos, end: types.end, fileName: types.value }, (parsed ? { resolutionMode: parsed } : {}))); } else if (lib) { libReferenceDirectives_1.push({ pos: lib.pos, end: lib.end, fileName: lib.value }); @@ -38291,7 +38937,7 @@ var ts; if (namedArgRegExCache.has(name)) { return namedArgRegExCache.get(name); } - var result = new RegExp("(\\s".concat(name, "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))"), "im"); + var result = new RegExp("(\\s" + name + "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))", "im"); namedArgRegExCache.set(name, result); return result; } @@ -38472,11 +39118,13 @@ var ts; ["es2019.string", "lib.es2019.string.d.ts"], ["es2019.symbol", "lib.es2019.symbol.d.ts"], ["es2020.bigint", "lib.es2020.bigint.d.ts"], + ["es2020.date", "lib.es2020.date.d.ts"], ["es2020.promise", "lib.es2020.promise.d.ts"], ["es2020.sharedmemory", "lib.es2020.sharedmemory.d.ts"], ["es2020.string", "lib.es2020.string.d.ts"], ["es2020.symbol.wellknown", "lib.es2020.symbol.wellknown.d.ts"], ["es2020.intl", "lib.es2020.intl.d.ts"], + ["es2020.number", "lib.es2020.number.d.ts"], ["es2021.promise", "lib.es2021.promise.d.ts"], ["es2021.string", "lib.es2021.string.d.ts"], ["es2021.weakref", "lib.es2021.weakref.d.ts"], @@ -38688,7 +39336,7 @@ var ts; shortName: "i", type: "boolean", category: ts.Diagnostics.Projects, - description: ts.Diagnostics.Enable_incremental_compilation, + description: ts.Diagnostics.Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects, transpileOptionValue: undefined, defaultValueDescription: ts.Diagnostics.false_unless_composite_is_set }, @@ -38962,7 +39610,7 @@ var ts; category: ts.Diagnostics.Projects, transpileOptionValue: undefined, defaultValueDescription: ".tsbuildinfo", - description: ts.Diagnostics.Specify_the_folder_for_tsbuildinfo_incremental_compilation_files, + description: ts.Diagnostics.Specify_the_path_to_tsbuildinfo_incremental_compilation_file, }, { name: "removeComments", @@ -39088,7 +39736,7 @@ var ts; affectsSemanticDiagnostics: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, - description: ts.Diagnostics.Type_catch_clause_variables_as_unknown_instead_of_any, + description: ts.Diagnostics.Default_catch_clause_variables_as_unknown_instead_of_any, defaultValueDescription: false, }, { @@ -39106,7 +39754,7 @@ var ts; type: "boolean", affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, - description: ts.Diagnostics.Enable_error_reporting_when_a_local_variables_aren_t_read, + description: ts.Diagnostics.Enable_error_reporting_when_local_variables_aren_t_read, defaultValueDescription: false, }, { @@ -39147,7 +39795,7 @@ var ts; type: "boolean", affectsSemanticDiagnostics: true, category: ts.Diagnostics.Type_Checking, - description: ts.Diagnostics.Include_undefined_in_index_signature_results, + description: ts.Diagnostics.Add_undefined_to_a_type_when_accessed_using_an_index, defaultValueDescription: false, }, { @@ -39275,6 +39923,18 @@ var ts; description: ts.Diagnostics.Allow_accessing_UMD_globals_from_modules, defaultValueDescription: false, }, + { + name: "moduleSuffixes", + type: "list", + element: { + name: "suffix", + type: "string", + }, + listPreserveFalsyValues: true, + affectsModuleResolution: true, + category: ts.Diagnostics.Modules, + description: ts.Diagnostics.List_of_file_name_suffixes_to_search_when_resolving_a_module, + }, // Source Maps { name: "sourceRoot", @@ -39338,7 +39998,8 @@ var ts; name: "jsxFragmentFactory", type: "string", category: ts.Diagnostics.Language_and_Environment, - description: ts.Diagnostics.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment + description: ts.Diagnostics.Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment, + defaultValueDescription: "React.Fragment", }, { name: "jsxImportSource", @@ -39622,9 +40283,21 @@ var ts; name: "plugin", type: "object" }, - description: ts.Diagnostics.List_of_language_service_plugins, + description: ts.Diagnostics.Specify_a_list_of_language_service_plugins_to_include, category: ts.Diagnostics.Editor_Support, }, + { + name: "moduleDetection", + type: new ts.Map(ts.getEntries({ + auto: ts.ModuleDetectionKind.Auto, + legacy: ts.ModuleDetectionKind.Legacy, + force: ts.ModuleDetectionKind.Force, + })), + affectsModuleResolution: true, + description: ts.Diagnostics.Control_what_method_is_used_to_detect_module_format_JS_files, + category: ts.Diagnostics.Language_and_Environment, + defaultValueDescription: ts.Diagnostics.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node12_as_modules, + } ]; /* @internal */ ts.optionDeclarations = __spreadArray(__spreadArray([], ts.commonOptionsWithBuild, true), commandOptionsWithoutBuild, true); @@ -39769,8 +40442,8 @@ var ts; } ts.createCompilerDiagnosticForInvalidCustomType = createCompilerDiagnosticForInvalidCustomType; function createDiagnosticForInvalidCustomType(opt, createDiagnostic) { - var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'".concat(key, "'"); }).join(", "); - return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--".concat(opt.name), namesOfType); + var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'" + key + "'"; }).join(", "); + return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--" + opt.name, namesOfType); } /* @internal */ function parseCustomTypeOption(opt, value, errors) { @@ -40215,7 +40888,7 @@ var ts; var _a; var rootExpression = (_a = sourceFile.statements[0]) === null || _a === void 0 ? void 0 : _a.expression; var knownRootOptions = reportOptionsErrors ? getTsconfigRootOptionsMap() : undefined; - if (rootExpression && rootExpression.kind !== 204 /* ObjectLiteralExpression */) { + if (rootExpression && rootExpression.kind !== 205 /* ObjectLiteralExpression */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, rootExpression, ts.Diagnostics.The_root_value_of_a_0_file_must_be_an_object, ts.getBaseFileName(sourceFile.fileName) === "jsconfig.json" ? "jsconfig.json" : "tsconfig.json")); // Last-ditch error recovery. Somewhat useful because the JSON parser will recover from some parse errors by // synthesizing a top-level array literal expression. There's a reasonable chance the first element of that @@ -40255,7 +40928,7 @@ var ts; function convertObjectLiteralExpressionToJson(node, knownOptions, extraKeyDiagnostics, parentOption) { var result = returnValue ? {} : undefined; var _loop_4 = function (element) { - if (element.kind !== 294 /* PropertyAssignment */) { + if (element.kind !== 296 /* PropertyAssignment */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); return "continue"; } @@ -40349,13 +41022,13 @@ var ts; case 8 /* NumericLiteral */: reportInvalidOptionValue(option && option.type !== "number"); return validateValue(Number(valueExpression.text)); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: if (valueExpression.operator !== 40 /* MinusToken */ || valueExpression.operand.kind !== 8 /* NumericLiteral */) { break; // not valid JSON syntax } reportInvalidOptionValue(option && option.type !== "number"); return validateValue(-Number(valueExpression.operand.text)); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; // Currently having element option declaration in the tsconfig with type "object" @@ -40372,7 +41045,7 @@ var ts; return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined)); } - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: reportInvalidOptionValue(option && option.type !== "list"); return validateValue(convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element)); } @@ -40564,10 +41237,10 @@ var ts; var newValue = compilerOptionsMap.get(cmd.name); var defaultValue = getDefaultValueForOption(cmd); if (newValue !== defaultValue) { - result.push("".concat(tab).concat(cmd.name, ": ").concat(newValue)); + result.push("" + tab + cmd.name + ": " + newValue); } else if (ts.hasProperty(ts.defaultInitCompilerOptions, cmd.name)) { - result.push("".concat(tab).concat(cmd.name, ": ").concat(defaultValue)); + result.push("" + tab + cmd.name + ": " + defaultValue); } }); return result.join(newLine) + newLine; @@ -40618,19 +41291,19 @@ var ts; if (entries.length !== 0) { entries.push({ value: "" }); } - entries.push({ value: "/* ".concat(category, " */") }); + entries.push({ value: "/* " + category + " */" }); for (var _i = 0, options_1 = options; _i < options_1.length; _i++) { var option = options_1[_i]; var optionName = void 0; if (compilerOptionsMap.has(option.name)) { - optionName = "\"".concat(option.name, "\": ").concat(JSON.stringify(compilerOptionsMap.get(option.name))).concat((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ","); + optionName = "\"" + option.name + "\": " + JSON.stringify(compilerOptionsMap.get(option.name)) + ((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ","); } else { - optionName = "// \"".concat(option.name, "\": ").concat(JSON.stringify(getDefaultValueForOption(option)), ","); + optionName = "// \"" + option.name + "\": " + JSON.stringify(getDefaultValueForOption(option)) + ","; } entries.push({ value: optionName, - description: "/* ".concat(option.description && ts.getLocaleSpecificMessage(option.description) || option.name, " */") + description: "/* " + (option.description && ts.getLocaleSpecificMessage(option.description) || option.name) + " */" }); marginLength = Math.max(optionName.length, marginLength); } @@ -40639,25 +41312,25 @@ var ts; var tab = makePadding(2); var result = []; result.push("{"); - result.push("".concat(tab, "\"compilerOptions\": {")); - result.push("".concat(tab).concat(tab, "/* ").concat(ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file), " */")); + result.push(tab + "\"compilerOptions\": {"); + result.push("" + tab + tab + "/* " + ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file) + " */"); result.push(""); // Print out each row, aligning all the descriptions on the same column. for (var _a = 0, entries_2 = entries; _a < entries_2.length; _a++) { var entry = entries_2[_a]; var value = entry.value, _b = entry.description, description = _b === void 0 ? "" : _b; - result.push(value && "".concat(tab).concat(tab).concat(value).concat(description && (makePadding(marginLength - value.length + 2) + description))); + result.push(value && "" + tab + tab + value + (description && (makePadding(marginLength - value.length + 2) + description))); } if (fileNames.length) { - result.push("".concat(tab, "},")); - result.push("".concat(tab, "\"files\": [")); + result.push(tab + "},"); + result.push(tab + "\"files\": ["); for (var i = 0; i < fileNames.length; i++) { - result.push("".concat(tab).concat(tab).concat(JSON.stringify(fileNames[i])).concat(i === fileNames.length - 1 ? "" : ",")); + result.push("" + tab + tab + JSON.stringify(fileNames[i]) + (i === fileNames.length - 1 ? "" : ",")); } - result.push("".concat(tab, "]")); + result.push(tab + "]"); } else { - result.push("".concat(tab, "}")); + result.push(tab + "}"); } result.push("}"); return result.join(newLine) + newLine; @@ -40712,7 +41385,10 @@ var ts; * file to. e.g. outDir */ function parseJsonSourceFileConfigFileContent(sourceFile, host, basePath, existingOptions, configFileName, resolutionStack, extraFileExtensions, extendedConfigCache, existingWatchOptions) { - return parseJsonConfigFileContentWorker(/*json*/ undefined, sourceFile, host, basePath, existingOptions, existingWatchOptions, configFileName, resolutionStack, extraFileExtensions, extendedConfigCache); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("parse" /* Parse */, "parseJsonSourceFileConfigFileContent", { path: sourceFile.fileName }); + var result = parseJsonConfigFileContentWorker(/*json*/ undefined, sourceFile, host, basePath, existingOptions, existingWatchOptions, configFileName, resolutionStack, extraFileExtensions, extendedConfigCache); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); + return result; } ts.parseJsonSourceFileConfigFileContent = parseJsonSourceFileConfigFileContent; /*@internal*/ @@ -41055,7 +41731,7 @@ var ts; if (ts.isRootedDiskPath(extendedConfig) || ts.startsWith(extendedConfig, "./") || ts.startsWith(extendedConfig, "../")) { var extendedConfigPath = ts.getNormalizedAbsolutePath(extendedConfig, basePath); if (!host.fileExists(extendedConfigPath) && !ts.endsWith(extendedConfigPath, ".json" /* Json */)) { - extendedConfigPath = "".concat(extendedConfigPath, ".json"); + extendedConfigPath = extendedConfigPath + ".json"; if (!host.fileExists(extendedConfigPath)) { errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig)); return undefined; @@ -41185,7 +41861,7 @@ var ts; if (option.type === "list") { var listOption_1 = option; if (listOption_1.element.isFilePath || !ts.isString(listOption_1.element.type)) { - return ts.filter(ts.map(value, function (v) { return normalizeOptionValue(listOption_1.element, basePath, v); }), function (v) { return !!v; }); + return ts.filter(ts.map(value, function (v) { return normalizeOptionValue(listOption_1.element, basePath, v); }), function (v) { return listOption_1.listPreserveFalsyValues ? true : !!v; }); } return value; } @@ -41226,7 +41902,7 @@ var ts; } } function convertJsonOptionOfListType(option, values, basePath, errors) { - return ts.filter(ts.map(values, function (v) { return convertJsonOption(option.element, v, basePath, errors); }), function (v) { return !!v; }); + return ts.filter(ts.map(values, function (v) { return convertJsonOption(option.element, v, basePath, errors); }), function (v) { return option.listPreserveFalsyValues ? true : !!v; }); } /** * Tests for a path that ends in a recursive directory wildcard. @@ -41300,7 +41976,7 @@ var ts; // Valid only if *.json specified if (!jsonOnlyIncludeRegexes) { var includes = validatedIncludeSpecs.filter(function (s) { return ts.endsWith(s, ".json" /* Json */); }); - var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }); + var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^" + pattern + "$"; }); jsonOnlyIncludeRegexes = includeFilePatterns ? includeFilePatterns.map(function (pattern) { return ts.getRegexFromPattern(pattern, host.useCaseSensitiveFileNames); }) : ts.emptyArray; } var includeIndex = ts.findIndex(jsonOnlyIncludeRegexes, function (re) { return re.test(file); }); @@ -41584,7 +42260,8 @@ var ts; case "boolean": return true; case "string": - return option.isFilePath ? "./" : ""; + var defaultValue = option.defaultValueDescription; + return option.isFilePath ? "./" + (defaultValue && typeof defaultValue === "string" ? defaultValue : "") : ""; case "list": return []; case "object": @@ -41736,7 +42413,7 @@ var ts; var bestVersionKey = result.version, bestVersionPaths = result.paths; if (typeof bestVersionPaths !== "object") { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['".concat(bestVersionKey, "']"), "object", typeof bestVersionPaths); + trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['" + bestVersionKey + "']", "object", typeof bestVersionPaths); } return; } @@ -41806,14 +42483,15 @@ var ts; * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups * is assumed to be the same as root directory of the project. */ - function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference, cache) { + function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference, cache, resolutionMode) { + ts.Debug.assert(typeof typeReferenceDirectiveName === "string", "Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself."); var traceEnabled = isTraceEnabled(options, host); if (redirectedReference) { options = redirectedReference.commandLine.options; } var containingDirectory = containingFile ? ts.getDirectoryPath(containingFile) : undefined; var perFolderCache = containingDirectory ? cache && cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference) : undefined; - var result = perFolderCache && perFolderCache.get(typeReferenceDirectiveName, /*mode*/ undefined); + var result = perFolderCache && perFolderCache.get(typeReferenceDirectiveName, /*mode*/ resolutionMode); if (result) { if (traceEnabled) { trace(host, ts.Diagnostics.Resolving_type_reference_directive_0_containing_file_1, typeReferenceDirectiveName, containingFile); @@ -41848,7 +42526,18 @@ var ts; } var failedLookupLocations = []; var features = getDefaultNodeResolutionFeatures(options); - var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, conditions: ["node", "require", "types"] }; + // Unlike `import` statements, whose mode-calculating APIs are all guaranteed to return `undefined` if we're in an un-mode-ed module resolution + // setting, type references will return their target mode regardless of options because of how the parser works, so we guard against the mode being + // set in a non-modal module resolution setting here. Do note that our behavior is not particularly well defined when these mode-overriding imports + // are present in a non-modal project; while in theory we'd like to either ignore the mode or provide faithful modern resolution, depending on what we feel is best, + // in practice, not every cache has the options available to intelligently make the choice to ignore the mode request, and it's unclear how modern "faithful modern + // resolution" should be (`node12`? `nodenext`?). As such, witnessing a mode-overriding triple-slash reference in a non-modal module resolution + // context should _probably_ be an error - and that should likely be handled by the `Program` (which is what we do). + if (resolutionMode === ts.ModuleKind.ESNext && (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext)) { + features |= NodeResolutionFeatures.EsmMode; + } + var conditions = features & NodeResolutionFeatures.Exports ? features & NodeResolutionFeatures.EsmMode ? ["node", "import", "types"] : ["node", "require", "types"] : []; + var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, conditions: conditions }; var resolved = primaryLookup(); var primary = true; if (!resolved) { @@ -41868,7 +42557,7 @@ var ts; }; } result = { resolvedTypeReferenceDirective: resolvedTypeReferenceDirective, failedLookupLocations: failedLookupLocations }; - perFolderCache === null || perFolderCache === void 0 ? void 0 : perFolderCache.set(typeReferenceDirectiveName, /*mode*/ undefined, result); + perFolderCache === null || perFolderCache === void 0 ? void 0 : perFolderCache.set(typeReferenceDirectiveName, /*mode*/ resolutionMode, result); if (traceEnabled) traceResult(result); return result; @@ -41919,7 +42608,7 @@ var ts; result_4 = searchResult && searchResult.value; } else { - var candidate = ts.normalizePathAndParts(ts.combinePaths(initialLocationForSecondaryLookup, typeReferenceDirectiveName)).path; + var candidate = normalizePathForCJSResolution(initialLocationForSecondaryLookup, typeReferenceDirectiveName).path; result_4 = nodeLoadModuleByRelativeName(Extensions.DtsOnly, candidate, /*onlyRecordFailures*/ false, moduleResolutionState, /*considerPackageJson*/ true); } return resolvedTypeScriptOnly(result_4); @@ -42143,7 +42832,7 @@ var ts; }; return cache; function getUnderlyingCacheKey(specifier, mode) { - var result = mode === undefined ? specifier : "".concat(mode, "|").concat(specifier); + var result = mode === undefined ? specifier : mode + "|" + specifier; memoizedReverseKeys.set(result, [specifier, mode]); return result; } @@ -42154,7 +42843,11 @@ var ts; ts.Debug.assert(keys.length === values.length); var map = createModeAwareCache(); for (var i = 0; i < keys.length; ++i) { - map.set(keys[i], ts.getModeForResolutionAtIndex(file, i), values[i]); + var entry = keys[i]; + // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. + var name = !ts.isString(entry) ? entry.fileName.toLowerCase() : entry; + var mode = !ts.isString(entry) ? entry.resolutionMode || file.impliedNodeFormat : ts.getModeForResolutionAtIndex(file, i); + map.set(name, mode, values[i]); } return map; } @@ -42174,7 +42867,7 @@ var ts; } function getOrCreateCacheForModuleName(nonRelativeModuleName, mode, redirectedReference) { ts.Debug.assert(!ts.isExternalModuleNameRelative(nonRelativeModuleName)); - return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : "".concat(mode, "|").concat(nonRelativeModuleName), createPerModuleNameCache); + return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : mode + "|" + nonRelativeModuleName, createPerModuleNameCache); } function createPerModuleNameCache() { var directoryPathMap = new ts.Map(); @@ -42321,10 +43014,10 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference); break; default: - return ts.Debug.fail("Unexpected moduleResolution: ".concat(moduleResolution)); + return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); } if (result && result.resolvedModule) - ts.perfLogger.logInfoEvent("Module \"".concat(moduleName, "\" resolved to \"").concat(result.resolvedModule.resolvedFileName, "\"")); + ts.perfLogger.logInfoEvent("Module \"" + moduleName + "\" resolved to \"" + result.resolvedModule.resolvedFileName + "\""); ts.perfLogger.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null"); if (perFolderCache) { perFolderCache.set(moduleName, resolutionMode, result); @@ -42527,7 +43220,7 @@ var ts; function resolveJSModule(moduleName, initialDir, host) { var _a = tryResolveJSModuleWorker(moduleName, initialDir, host), resolvedModule = _a.resolvedModule, failedLookupLocations = _a.failedLookupLocations; if (!resolvedModule) { - throw new Error("Could not resolve JS module '".concat(moduleName, "' starting at '").concat(initialDir, "'. Looked in: ").concat(failedLookupLocations.join(", "))); + throw new Error("Could not resolve JS module '" + moduleName + "' starting at '" + initialDir + "'. Looked in: " + failedLookupLocations.join(", ")); } return resolvedModule.resolvedFileName; } @@ -42622,13 +43315,25 @@ var ts; return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; } else { - var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts; + var _a = normalizePathForCJSResolution(containingDirectory, moduleName), candidate = _a.path, parts = _a.parts; var resolved_2 = nodeLoadModuleByRelativeName(extensions, candidate, /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true); // Treat explicit "node_modules" import as an external library import. return resolved_2 && toSearchResult({ resolved: resolved_2, isExternalLibraryImport: ts.contains(parts, "node_modules") }); } } } + // If you import from "." inside a containing directory "/foo", the result of `normalizePath` + // would be "/foo", but this loses the information that `foo` is a directory and we intended + // to look inside of it. The Node CommonJS resolution algorithm doesn't call this out + // (https://nodejs.org/api/modules.html#all-together), but it seems that module paths ending + // in `.` are actually normalized to `./` before proceeding with the resolution algorithm. + function normalizePathForCJSResolution(containingDirectory, moduleName) { + var combined = ts.combinePaths(containingDirectory, moduleName); + var parts = ts.getPathComponents(combined); + var lastPart = ts.lastOrUndefined(parts); + var path = lastPart === "." || lastPart === ".." ? ts.ensureTrailingDirectorySeparator(ts.normalizePath(combined)) : ts.normalizePath(combined); + return { path: path, parts: parts }; + } function realPath(path, host, traceEnabled) { if (!host.realpath) { return path; @@ -42637,7 +43342,7 @@ var ts; if (traceEnabled) { trace(host, ts.Diagnostics.Resolving_real_path_for_0_result_1, path, real); } - ts.Debug.assert(host.fileExists(real), "".concat(path, " linked to nonexistent file ").concat(real)); + ts.Debug.assert(host.fileExists(real), path + " linked to nonexistent file " + real); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -42670,7 +43375,13 @@ var ts; onlyRecordFailures = true; } } - return loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson); + // esm mode relative imports shouldn't do any directory lookups (either inside `package.json` + // files or implicit `index.js`es). This is a notable depature from cjs norms, where `./foo/pkg` + // could have been redirected by `./foo/pkg/package.json` to an arbitrary location! + if (!(state.features & NodeResolutionFeatures.EsmMode)) { + return loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson); + } + return undefined; } /*@internal*/ ts.nodeModulesPathPart = "/node_modules/"; @@ -42817,6 +43528,15 @@ var ts; } /** Return the file if it exists. */ function tryFile(fileName, onlyRecordFailures, state) { + var _a, _b; + if (!((_a = state.compilerOptions.moduleSuffixes) === null || _a === void 0 ? void 0 : _a.length)) { + return tryFileLookup(fileName, onlyRecordFailures, state); + } + var ext = (_b = ts.tryGetExtensionFromPath(fileName)) !== null && _b !== void 0 ? _b : ""; + var fileNameNoExtension = ext ? ts.removeExtension(fileName, ext) : fileName; + return ts.forEach(state.compilerOptions.moduleSuffixes, function (suffix) { return tryFileLookup(fileNameNoExtension + suffix + ext, onlyRecordFailures, state); }); + } + function tryFileLookup(fileName, onlyRecordFailures, state) { if (!onlyRecordFailures) { if (state.host.fileExists(fileName)) { if (state.traceEnabled) { @@ -43037,7 +43757,16 @@ var ts; // Even if extensions is DtsOnly, we can still look up a .ts file as a result of package.json "types" var nextExtensions = extensions === Extensions.DtsOnly ? Extensions.TypeScript : extensions; // Don't do package.json lookup recursively, because Node.js' package lookup doesn't. - return nodeLoadModuleByRelativeName(nextExtensions, candidate, onlyRecordFailures, state, /*considerPackageJson*/ false); + // Disable `EsmMode` for the resolution of the package path for cjs-mode packages (so the `main` field can omit extensions) + // (technically it only emits a deprecation warning in esm packages right now, but that's probably + // enough to mean we don't need to support it) + var features = state.features; + if ((jsonContent === null || jsonContent === void 0 ? void 0 : jsonContent.type) !== "module") { + state.features &= ~NodeResolutionFeatures.EsmMode; + } + var result = nodeLoadModuleByRelativeName(nextExtensions, candidate, onlyRecordFailures, state, /*considerPackageJson*/ false); + state.features = features; + return result; }; var onlyRecordFailuresForPackageFile = packageFile ? !ts.directoryProbablyExists(ts.getDirectoryPath(packageFile), state.host) : undefined; var onlyRecordFailuresForIndex = onlyRecordFailures || !ts.directoryProbablyExists(candidate, state.host); @@ -43114,7 +43843,7 @@ var ts; return undefined; } var trailingParts = parts.slice(nameParts.length); - return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); + return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : "." + ts.directorySeparator + trailingParts.join(ts.directorySeparator), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { if (!scope.packageJsonContent.exports) { @@ -43382,6 +44111,14 @@ var ts; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + if (!pathAndExtension && packageInfo + && packageInfo.packageJsonContent.exports === undefined + && packageInfo.packageJsonContent.main === undefined + && state.features & NodeResolutionFeatures.EsmMode) { + // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume + // a default `index.js` entrypoint if no `main` or `exports` are present + pathAndExtension = loadModuleFromFile(extensions, ts.combinePaths(candidate, "index.js"), onlyRecordFailures, state); + } return withPackageId(packageInfo, pathAndExtension); }; if (rest !== "") { // If "rest" is empty, we just did this search above. @@ -43442,7 +44179,7 @@ var ts; } /* @internal */ function getTypesPackageName(packageName) { - return "@types/".concat(mangleScopedPackageName(packageName)); + return "@types/" + mangleScopedPackageName(packageName); } ts.getTypesPackageName = getTypesPackageName; /* @internal */ @@ -43578,26 +44315,26 @@ var ts; // A module is uninstantiated if it contains only switch (node.kind) { // 1. interface declarations, type alias declarations - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: return 0 /* NonInstantiated */; // 2. const enum declarations - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: if (ts.isEnumConst(node)) { return 2 /* ConstEnumOnly */; } break; // 3. non-exported import declarations - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: if (!(ts.hasSyntacticModifier(node, 1 /* Export */))) { return 0 /* NonInstantiated */; } break; // 4. Export alias declarations pointing at only uninstantiated modules or things uninstantiated modules contain - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: var exportDeclaration = node; - if (!exportDeclaration.moduleSpecifier && exportDeclaration.exportClause && exportDeclaration.exportClause.kind === 272 /* NamedExports */) { + if (!exportDeclaration.moduleSpecifier && exportDeclaration.exportClause && exportDeclaration.exportClause.kind === 273 /* NamedExports */) { var state = 0 /* NonInstantiated */; for (var _i = 0, _a = exportDeclaration.exportClause.elements; _i < _a.length; _i++) { var specifier = _a[_i]; @@ -43613,7 +44350,7 @@ var ts; } break; // 5. other uninstantiated module declarations. - case 261 /* ModuleBlock */: { + case 262 /* ModuleBlock */: { var state_1 = 0 /* NonInstantiated */; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateCached(n, visited); @@ -43635,7 +44372,7 @@ var ts; }); return state_1; } - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return getModuleInstanceState(node, visited); case 79 /* Identifier */: // Only jsdoc typedef definition can exist in jsdoc namespace, and it should @@ -43836,16 +44573,16 @@ var ts; // Should not be called on a declaration with a computed property name, // unless it is a well known Symbol. function getDeclarationName(node) { - if (node.kind === 270 /* ExportAssignment */) { + if (node.kind === 271 /* ExportAssignment */) { return node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; } var name = ts.getNameOfDeclaration(node); if (name) { if (ts.isAmbientModule(node)) { var moduleName = ts.getTextOfIdentifierOrLiteral(name); - return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"".concat(moduleName, "\"")); + return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); } - if (name.kind === 161 /* ComputedPropertyName */) { + if (name.kind === 162 /* ComputedPropertyName */) { var nameExpression = name.expression; // treat computed property names where expression is string/numeric literal as just string/numeric literal if (ts.isStringOrNumericLiteralLike(nameExpression)) { @@ -43871,36 +44608,36 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: return "__constructor" /* Constructor */; - case 178 /* FunctionType */: - case 173 /* CallSignature */: - case 321 /* JSDocSignature */: + case 179 /* FunctionType */: + case 174 /* CallSignature */: + case 323 /* JSDocSignature */: return "__call" /* Call */; - case 179 /* ConstructorType */: - case 174 /* ConstructSignature */: + case 180 /* ConstructorType */: + case 175 /* ConstructSignature */: return "__new" /* New */; - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: return "__index" /* Index */; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return "__export" /* ExportStar */; - case 303 /* SourceFile */: + case 305 /* SourceFile */: // json file should behave as // module.exports = ... return "export=" /* ExportEquals */; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (ts.getAssignmentDeclarationKind(node) === 2 /* ModuleExports */) { // module.exports = ... return "export=" /* ExportEquals */; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 315 /* JSDocFunctionType */: + case 317 /* JSDocFunctionType */: return (ts.isJSDocConstructSignature(node) ? "__new" /* New */ : "__call" /* Call */); - case 163 /* Parameter */: + case 164 /* Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind, ", expected JSDocFunctionType"); }); + ts.Debug.assert(node.parent.kind === 317 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -44002,7 +44739,7 @@ var ts; // 1. multiple export default of class declaration or function declaration by checking NodeFlags.Default // 2. multiple export default of export assignment. This one doesn't have NodeFlags.Default on (as export default doesn't considered as modifiers) if (symbol.declarations && symbol.declarations.length && - (node.kind === 270 /* ExportAssignment */ && !node.isExportEquals)) { + (node.kind === 271 /* ExportAssignment */ && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; messageNeedsName_1 = false; multipleDefaultExports_1 = true; @@ -44012,7 +44749,7 @@ var ts; var relatedInformation_1 = []; if (ts.isTypeAliasDeclaration(node) && ts.nodeIsMissing(node.type) && ts.hasSyntacticModifier(node, 1 /* Export */) && symbol.flags & (2097152 /* Alias */ | 788968 /* Type */ | 1920 /* Namespace */)) { // export type T; - may have meant export type { T }? - relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { ".concat(ts.unescapeLeadingUnderscores(node.name.escapedText), " }"))); + relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { " + ts.unescapeLeadingUnderscores(node.name.escapedText) + " }")); } var declarationName_1 = ts.getNameOfDeclaration(node) || node; ts.forEach(symbol.declarations, function (declaration, index) { @@ -44041,7 +44778,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = !!(ts.getCombinedModifierFlags(node) & 1 /* Export */) || jsdocTreatAsExported(node); if (symbolFlags & 2097152 /* Alias */) { - if (node.kind === 274 /* ExportSpecifier */ || (node.kind === 264 /* ImportEqualsDeclaration */ && hasExportModifier)) { + if (node.kind === 275 /* ExportSpecifier */ || (node.kind === 265 /* ImportEqualsDeclaration */ && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -44130,7 +44867,7 @@ var ts; // for it. We must clear this so we don't accidentally move any stale data forward from // a previous compilation. if (containerFlags & 1 /* IsContainer */) { - if (node.kind !== 213 /* ArrowFunction */) { + if (node.kind !== 214 /* ArrowFunction */) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -44151,11 +44888,14 @@ var ts; var saveExceptionTarget = currentExceptionTarget; var saveActiveLabelList = activeLabelList; var saveHasExplicitReturn = hasExplicitReturn; - var isIIFE = containerFlags & 16 /* IsFunctionExpression */ && !ts.hasSyntacticModifier(node, 256 /* Async */) && - !node.asteriskToken && !!ts.getImmediatelyInvokedFunctionExpression(node); + var isImmediatelyInvoked = (containerFlags & 16 /* IsFunctionExpression */ && + !ts.hasSyntacticModifier(node, 256 /* Async */) && + !node.asteriskToken && + !!ts.getImmediatelyInvokedFunctionExpression(node)) || + node.kind === 170 /* ClassStaticBlockDeclaration */; // A non-async, non-generator IIFE is considered part of the containing control flow. Return statements behave // similarly to break statements that exit to a label just past the statement body. - if (!isIIFE) { + if (!isImmediatelyInvoked) { currentFlow = initFlowNode({ flags: 2 /* Start */ }); if (containerFlags & (16 /* IsFunctionExpression */ | 128 /* IsObjectLiteralOrClassExpressionMethodOrAccessor */)) { currentFlow.node = node; @@ -44163,7 +44903,7 @@ var ts; } // We create a return control flow graph for IIFEs and constructors. For constructors // we use the return control flow graph in strict property initialization checks. - currentReturnTarget = isIIFE || node.kind === 170 /* Constructor */ || node.kind === 169 /* ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 255 /* FunctionDeclaration */ || node.kind === 212 /* FunctionExpression */)) ? createBranchLabel() : undefined; + currentReturnTarget = isImmediatelyInvoked || node.kind === 171 /* Constructor */ || (ts.isInJSFile(node) && (node.kind === 256 /* FunctionDeclaration */ || node.kind === 213 /* FunctionExpression */)) ? createBranchLabel() : undefined; currentExceptionTarget = undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; @@ -44178,18 +44918,18 @@ var ts; node.flags |= 512 /* HasExplicitReturn */; node.endFlowNode = currentFlow; } - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { node.flags |= emitFlags; node.endFlowNode = currentFlow; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 170 /* Constructor */ || node.kind === 169 /* ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 255 /* FunctionDeclaration */ || node.kind === 212 /* FunctionExpression */))) { + if (node.kind === 171 /* Constructor */ || node.kind === 170 /* ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 256 /* FunctionDeclaration */ || node.kind === 213 /* FunctionExpression */))) { node.returnFlowNode = currentFlow; } } - if (!isIIFE) { + if (!isImmediatelyInvoked) { currentFlow = saveCurrentFlow; } currentBreakTarget = saveBreakTarget; @@ -44212,8 +44952,8 @@ var ts; blockScopeContainer = savedBlockScopeContainer; } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 255 /* FunctionDeclaration */ ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 255 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 256 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 256 /* FunctionDeclaration */ ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -44236,59 +44976,59 @@ var ts; inAssignmentPattern = saveInAssignmentPattern; return; } - if (node.kind >= 236 /* FirstStatement */ && node.kind <= 252 /* LastStatement */ && !options.allowUnreachableCode) { + if (node.kind >= 237 /* FirstStatement */ && node.kind <= 253 /* LastStatement */ && !options.allowUnreachableCode) { node.flowNode = currentFlow; } switch (node.kind) { - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: bindWhileStatement(node); break; - case 239 /* DoStatement */: + case 240 /* DoStatement */: bindDoStatement(node); break; - case 241 /* ForStatement */: + case 242 /* ForStatement */: bindForStatement(node); break; - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: bindForInOrForOfStatement(node); break; - case 238 /* IfStatement */: + case 239 /* IfStatement */: bindIfStatement(node); break; - case 246 /* ReturnStatement */: - case 250 /* ThrowStatement */: + case 247 /* ReturnStatement */: + case 251 /* ThrowStatement */: bindReturnOrThrow(node); break; - case 245 /* BreakStatement */: - case 244 /* ContinueStatement */: + case 246 /* BreakStatement */: + case 245 /* ContinueStatement */: bindBreakOrContinueStatement(node); break; - case 251 /* TryStatement */: + case 252 /* TryStatement */: bindTryStatement(node); break; - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: bindSwitchStatement(node); break; - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: bindCaseBlock(node); break; - case 288 /* CaseClause */: + case 289 /* CaseClause */: bindCaseClause(node); break; - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: bindExpressionStatement(node); break; - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: bindLabeledStatement(node); break; - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: bindPrefixUnaryExpressionFlow(node); break; - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: bindPostfixUnaryExpressionFlow(node); break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (ts.isDestructuringAssignment(node)) { // Carry over whether we are in an assignment pattern to // binary expressions that could actually be an initializer @@ -44298,47 +45038,47 @@ var ts; } bindBinaryExpressionFlow(node); break; - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: bindDeleteExpressionFlow(node); break; - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: bindConditionalExpressionFlow(node); break; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: bindVariableDeclarationFlow(node); break; - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: bindAccessExpressionFlow(node); break; - case 207 /* CallExpression */: + case 208 /* CallExpression */: bindCallExpressionFlow(node); break; - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: bindNonNullExpressionFlow(node); break; - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 337 /* JSDocEnumTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 339 /* JSDocEnumTag */: bindJSDocTypeAlias(node); break; // In source files and blocks, bind functions first to match hoisting that occurs at runtime - case 303 /* SourceFile */: { + case 305 /* SourceFile */: { bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; } - case 234 /* Block */: - case 261 /* ModuleBlock */: + case 235 /* Block */: + case 262 /* ModuleBlock */: bindEachFunctionsFirst(node.statements); break; - case 202 /* BindingElement */: + case 203 /* BindingElement */: bindBindingElementFlow(node); break; - case 204 /* ObjectLiteralExpression */: - case 203 /* ArrayLiteralExpression */: - case 294 /* PropertyAssignment */: - case 224 /* SpreadElement */: + case 205 /* ObjectLiteralExpression */: + case 204 /* ArrayLiteralExpression */: + case 296 /* PropertyAssignment */: + case 225 /* SpreadElement */: // Carry over whether we are in an assignment pattern of Object and Array literals // as well as their children that are valid assignment targets. inAssignmentPattern = saveInAssignmentPattern; @@ -44355,19 +45095,19 @@ var ts; case 79 /* Identifier */: case 80 /* PrivateIdentifier */: case 108 /* ThisKeyword */: - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return containsNarrowableReference(expr); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return hasNarrowableArgument(expr); - case 211 /* ParenthesizedExpression */: - case 229 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: + case 230 /* NonNullExpression */: return isNarrowingExpression(expr.expression); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return isNarrowingBinaryExpression(expr); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return expr.operator === 53 /* ExclamationToken */ && isNarrowingExpression(expr.operand); - case 215 /* TypeOfExpression */: + case 216 /* TypeOfExpression */: return isNarrowingExpression(expr.expression); } return false; @@ -44376,7 +45116,7 @@ var ts; return ts.isDottedName(expr) || (ts.isPropertyAccessExpression(expr) || ts.isNonNullExpression(expr) || ts.isParenthesizedExpression(expr)) && isNarrowableReference(expr.expression) || ts.isBinaryExpression(expr) && expr.operatorToken.kind === 27 /* CommaToken */ && isNarrowableReference(expr.right) - || ts.isElementAccessExpression(expr) && ts.isStringOrNumericLiteralLike(expr.argumentExpression) && isNarrowableReference(expr.expression) + || ts.isElementAccessExpression(expr) && (ts.isStringOrNumericLiteralLike(expr.argumentExpression) || ts.isEntityNameExpression(expr.argumentExpression)) && isNarrowableReference(expr.expression) || ts.isAssignmentExpression(expr) && isNarrowableReference(expr.left); } function containsNarrowableReference(expr) { @@ -44391,7 +45131,7 @@ var ts; } } } - if (expr.expression.kind === 205 /* PropertyAccessExpression */ && + if (expr.expression.kind === 206 /* PropertyAccessExpression */ && containsNarrowableReference(expr.expression.expression)) { return true; } @@ -44424,9 +45164,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return isNarrowableOperand(expr.expression); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: switch (expr.operatorToken.kind) { case 63 /* EqualsToken */: return isNarrowableOperand(expr.left); @@ -44502,26 +45242,26 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 238 /* IfStatement */: - case 240 /* WhileStatement */: - case 239 /* DoStatement */: + case 239 /* IfStatement */: + case 241 /* WhileStatement */: + case 240 /* DoStatement */: return parent.expression === node; - case 241 /* ForStatement */: - case 221 /* ConditionalExpression */: + case 242 /* ForStatement */: + case 222 /* ConditionalExpression */: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 211 /* ParenthesizedExpression */) { + if (node.kind === 212 /* ParenthesizedExpression */) { node = node.expression; } - else if (node.kind === 218 /* PrefixUnaryExpression */ && node.operator === 53 /* ExclamationToken */) { + else if (node.kind === 219 /* PrefixUnaryExpression */ && node.operator === 53 /* ExclamationToken */) { node = node.operand; } else { - return node.kind === 220 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || + return node.kind === 221 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 56 /* BarBarToken */ || node.operatorToken.kind === 60 /* QuestionQuestionToken */); } @@ -44537,7 +45277,6 @@ var ts; node = node.parent; } return !isStatementCondition(node) && - !isLogicalAssignmentExpression(node.parent) && !isLogicalExpression(node.parent) && !(ts.isOptionalChain(node.parent) && node.parent.expression === node); } @@ -44568,7 +45307,7 @@ var ts; } function setContinueTarget(node, target) { var label = activeLabelList; - while (label && node.parent.kind === 249 /* LabeledStatement */) { + while (label && node.parent.kind === 250 /* LabeledStatement */) { label.continueTarget = target; label = label.next; node = node.parent; @@ -44619,12 +45358,12 @@ var ts; bind(node.expression); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 243 /* ForOfStatement */) { + if (node.kind === 244 /* ForOfStatement */) { bind(node.awaitModifier); } addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 254 /* VariableDeclarationList */) { + if (node.initializer.kind !== 255 /* VariableDeclarationList */) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -44646,7 +45385,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 246 /* ReturnStatement */) { + if (node.kind === 247 /* ReturnStatement */) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -44663,7 +45402,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 245 /* BreakStatement */ ? breakTarget : continueTarget; + var flowLabel = node.kind === 246 /* BreakStatement */ ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -44768,7 +45507,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 289 /* DefaultClause */; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 290 /* DefaultClause */; }); // We mark a switch statement as possibly exhaustive if it has no default clause and if all // case clauses have unreachable end points (e.g. they all return). Note, we no longer need // this property in control flow analysis, it's there only for backwards compatibility. @@ -44816,7 +45555,7 @@ var ts; function maybeBindExpressionFlowIfCall(node) { // A top level or comma expression call expression with a dotted function name and at least one argument // is potentially an assertion and is therefore included in the control flow. - if (node.kind === 207 /* CallExpression */) { + if (node.kind === 208 /* CallExpression */) { var call = node; if (call.expression.kind !== 106 /* SuperKeyword */ && ts.isDottedName(call.expression)) { currentFlow = createFlowCall(currentFlow, call); @@ -44842,7 +45581,7 @@ var ts; currentFlow = finishFlowLabel(postStatementLabel); } function bindDestructuringTargetFlow(node) { - if (node.kind === 220 /* BinaryExpression */ && node.operatorToken.kind === 63 /* EqualsToken */) { + if (node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 63 /* EqualsToken */) { bindAssignmentTargetFlow(node.left); } else { @@ -44853,10 +45592,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowMutation(16 /* Assignment */, currentFlow, node); } - else if (node.kind === 203 /* ArrayLiteralExpression */) { + else if (node.kind === 204 /* ArrayLiteralExpression */) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 224 /* SpreadElement */) { + if (e.kind === 225 /* SpreadElement */) { bindAssignmentTargetFlow(e.expression); } else { @@ -44864,16 +45603,16 @@ var ts; } } } - else if (node.kind === 204 /* ObjectLiteralExpression */) { + else if (node.kind === 205 /* ObjectLiteralExpression */) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 294 /* PropertyAssignment */) { + if (p.kind === 296 /* PropertyAssignment */) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 295 /* ShorthandPropertyAssignment */) { + else if (p.kind === 297 /* ShorthandPropertyAssignment */) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 296 /* SpreadAssignment */) { + else if (p.kind === 298 /* SpreadAssignment */) { bindAssignmentTargetFlow(p.expression); } } @@ -45010,7 +45749,7 @@ var ts; var operator = node.operatorToken.kind; if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 63 /* EqualsToken */ && node.left.kind === 206 /* ElementAccessExpression */) { + if (operator === 63 /* EqualsToken */ && node.left.kind === 207 /* ElementAccessExpression */) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowMutation(256 /* ArrayMutation */, currentFlow, node); @@ -45038,7 +45777,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 205 /* PropertyAccessExpression */) { + if (node.expression.kind === 206 /* PropertyAccessExpression */) { bindAssignmentTargetFlow(node.expression); } } @@ -45095,7 +45834,7 @@ var ts; } function bindJSDocTypeAlias(node) { bind(node.tagName); - if (node.kind !== 337 /* JSDocEnumTag */ && node.fullName) { + if (node.kind !== 339 /* JSDocEnumTag */ && node.fullName) { // don't bind the type name yet; that's delayed until delayedBindJSDocTypedefTag ts.setParent(node.fullName, node); ts.setParentRecursive(node.fullName, /*incremental*/ false); @@ -45107,7 +45846,7 @@ var ts; function bindJSDocClassTag(node) { bindEachChild(node); var host = ts.getHostSignatureFromJSDoc(node); - if (host && host.kind !== 168 /* MethodDeclaration */) { + if (host && host.kind !== 169 /* MethodDeclaration */) { addDeclarationToSymbol(host.symbol, host, 32 /* Class */); } } @@ -45120,15 +45859,15 @@ var ts; } function bindOptionalChainRest(node) { switch (node.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: bind(node.questionDotToken); bind(node.name); break; - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: bind(node.questionDotToken); bind(node.argumentExpression); break; - case 207 /* CallExpression */: + case 208 /* CallExpression */: bind(node.questionDotToken); bindEach(node.typeArguments); bindEach(node.arguments); @@ -45193,7 +45932,7 @@ var ts; // an immediately invoked function expression (IIFE). Initialize the flowNode property to // the current control flow (which includes evaluation of the IIFE arguments). var expr = ts.skipParentheses(node.expression); - if (expr.kind === 212 /* FunctionExpression */ || expr.kind === 213 /* ArrowFunction */) { + if (expr.kind === 213 /* FunctionExpression */ || expr.kind === 214 /* ArrowFunction */) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -45205,7 +45944,7 @@ var ts; } } } - if (node.expression.kind === 205 /* PropertyAccessExpression */) { + if (node.expression.kind === 206 /* PropertyAccessExpression */) { var propertyAccess = node.expression; if (ts.isIdentifier(propertyAccess.name) && isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowMutation(256 /* ArrayMutation */, currentFlow, node); @@ -45214,55 +45953,55 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 225 /* ClassExpression */: - case 256 /* ClassDeclaration */: - case 259 /* EnumDeclaration */: - case 204 /* ObjectLiteralExpression */: - case 181 /* TypeLiteral */: - case 320 /* JSDocTypeLiteral */: - case 285 /* JsxAttributes */: + case 226 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 260 /* EnumDeclaration */: + case 205 /* ObjectLiteralExpression */: + case 182 /* TypeLiteral */: + case 322 /* JSDocTypeLiteral */: + case 286 /* JsxAttributes */: return 1 /* IsContainer */; - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: return 1 /* IsContainer */ | 64 /* IsInterface */; - case 260 /* ModuleDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 194 /* MappedType */: + case 261 /* ModuleDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 195 /* MappedType */: return 1 /* IsContainer */ | 32 /* HasLocals */; - case 303 /* SourceFile */: + case 305 /* SourceFile */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: if (ts.isObjectLiteralOrClassExpressionMethodOrAccessor(node)) { return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 128 /* IsObjectLiteralOrClassExpressionMethodOrAccessor */; } // falls through - case 170 /* Constructor */: - case 255 /* FunctionDeclaration */: - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 321 /* JSDocSignature */: - case 315 /* JSDocFunctionType */: - case 178 /* FunctionType */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: - case 179 /* ConstructorType */: - case 169 /* ClassStaticBlockDeclaration */: + case 171 /* Constructor */: + case 256 /* FunctionDeclaration */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 323 /* JSDocSignature */: + case 317 /* JSDocFunctionType */: + case 179 /* FunctionType */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: + case 180 /* ConstructorType */: + case 170 /* ClassStaticBlockDeclaration */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */; - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 16 /* IsFunctionExpression */; - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: return 4 /* IsControlFlowContainer */; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return node.initializer ? 4 /* IsControlFlowContainer */ : 0; - case 291 /* CatchClause */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 262 /* CaseBlock */: + case 292 /* CatchClause */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 263 /* CaseBlock */: return 2 /* IsBlockScopedContainer */; - case 234 /* Block */: + case 235 /* Block */: // do not treat blocks directly inside a function as a block-scoped-container. // Locals that reside in this block should go to the function locals. Otherwise 'x' // would not appear to be a redeclaration of a block scoped local in the following @@ -45295,46 +46034,46 @@ var ts; // members are declared (for example, a member of a class will go into a specific // symbol table depending on if it is static or not). We defer to specialized // handlers to take care of declaring these child members. - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 303 /* SourceFile */: + case 305 /* SourceFile */: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 225 /* ClassExpression */: - case 256 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 257 /* ClassDeclaration */: return declareClassMember(node, symbolFlags, symbolExcludes); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 181 /* TypeLiteral */: - case 320 /* JSDocTypeLiteral */: - case 204 /* ObjectLiteralExpression */: - case 257 /* InterfaceDeclaration */: - case 285 /* JsxAttributes */: + case 182 /* TypeLiteral */: + case 322 /* JSDocTypeLiteral */: + case 205 /* ObjectLiteralExpression */: + case 258 /* InterfaceDeclaration */: + case 286 /* JsxAttributes */: // Interface/Object-types always have their children added to the 'members' of // their container. They are only accessible through an instance of their // container, and are never in scope otherwise (even inside the body of the // object / type / interface declaring them). An exception is type parameters, // which are in scope without qualification (similar to 'locals'). return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 321 /* JSDocSignature */: - case 175 /* IndexSignature */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 315 /* JSDocFunctionType */: - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 169 /* ClassStaticBlockDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 194 /* MappedType */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 323 /* JSDocSignature */: + case 176 /* IndexSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 317 /* JSDocFunctionType */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 170 /* ClassStaticBlockDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 195 /* MappedType */: // All the children of these container types are never visible through another // symbol (i.e. through another symbol's 'exports' or 'members'). Instead, // they're only accessed 'lexically' (i.e. from code that exists underneath @@ -45361,7 +46100,7 @@ var ts; function setExportContextFlag(node) { // A declaration source file or ambient module declaration that contains no export declarations (but possibly regular // declarations with export modifiers) is an export context in which declarations are implicitly exported. - if (node.flags & 8388608 /* Ambient */ && !hasExportDeclarations(node)) { + if (node.flags & 16777216 /* Ambient */ && !hasExportDeclarations(node)) { node.flags |= 64 /* ExportContext */; } else { @@ -45433,7 +46172,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 296 /* SpreadAssignment */ || prop.name.kind !== 79 /* Identifier */) { + if (prop.kind === 298 /* SpreadAssignment */ || prop.name.kind !== 79 /* Identifier */) { continue; } var identifier = prop.name; @@ -45445,7 +46184,7 @@ var ts; // c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true. // d.IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields - var currentKind = prop.kind === 294 /* PropertyAssignment */ || prop.kind === 295 /* ShorthandPropertyAssignment */ || prop.kind === 168 /* MethodDeclaration */ + var currentKind = prop.kind === 296 /* PropertyAssignment */ || prop.kind === 297 /* ShorthandPropertyAssignment */ || prop.kind === 169 /* MethodDeclaration */ ? 1 /* Property */ : 2 /* Accessor */; var existingKind = seen.get(identifier.escapedText); @@ -45473,10 +46212,10 @@ var ts; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 303 /* SourceFile */: + case 305 /* SourceFile */: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -45564,8 +46303,8 @@ var ts; function checkContextualIdentifier(node) { // Report error only if there are no parse errors in file if (!file.parseDiagnostics.length && - !(node.flags & 8388608 /* Ambient */) && - !(node.flags & 4194304 /* JSDoc */) && + !(node.flags & 16777216 /* Ambient */) && + !(node.flags & 8388608 /* JSDoc */) && !ts.isIdentifierName(node)) { // strict mode identifiers if (inStrictMode && @@ -45675,8 +46414,8 @@ var ts; function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2 /* ES2015 */) { // Report error if function is not top level function declaration - if (blockScopeContainer.kind !== 303 /* SourceFile */ && - blockScopeContainer.kind !== 260 /* ModuleDeclaration */ && + if (blockScopeContainer.kind !== 305 /* SourceFile */ && + blockScopeContainer.kind !== 261 /* ModuleDeclaration */ && !ts.isFunctionLikeOrClassStaticBlockDeclaration(blockScopeContainer)) { // We check first if the name is inside class declaration or class expression; if so give explicit message // otherwise report generic error message. @@ -45773,7 +46512,7 @@ var ts; // the current 'container' node when it changes. This helps us know which symbol table // a local should go into for example. Since terminal nodes are known not to have // children, as an optimization we don't process those. - if (node.kind > 159 /* LastToken */) { + if (node.kind > 160 /* LastToken */) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -45849,23 +46588,23 @@ var ts; } // falls through case 108 /* ThisKeyword */: - if (currentFlow && (ts.isExpression(node) || parent.kind === 295 /* ShorthandPropertyAssignment */)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 297 /* ShorthandPropertyAssignment */)) { node.flowNode = currentFlow; } return checkContextualIdentifier(node); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: if (currentFlow && ts.isPartOfTypeQuery(node)) { node.flowNode = currentFlow; } break; - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: case 106 /* SuperKeyword */: node.flowNode = currentFlow; break; case 80 /* PrivateIdentifier */: return checkPrivateIdentifier(node); - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: var expr = node; if (currentFlow && isNarrowableReference(expr)) { expr.flowNode = currentFlow; @@ -45880,7 +46619,7 @@ var ts; declareSymbol(file.locals, /*parent*/ undefined, expr.expression, 1 /* FunctionScopedVariable */ | 134217728 /* ModuleExports */, 111550 /* FunctionScopedVariableExcludes */); } break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: var specialKind = ts.getAssignmentDeclarationKind(node); switch (specialKind) { case 1 /* ExportsProperty */: @@ -45916,78 +46655,78 @@ var ts; ts.Debug.fail("Unknown binary expression special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return checkStrictModeCatchClause(node); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: return checkStrictModeDeleteExpression(node); case 8 /* NumericLiteral */: return checkStrictModeNumericLiteral(node); - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return checkStrictModePostfixUnaryExpression(node); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return checkStrictModePrefixUnaryExpression(node); - case 247 /* WithStatement */: + case 248 /* WithStatement */: return checkStrictModeWithStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return checkStrictModeLabeledStatement(node); - case 191 /* ThisType */: + case 192 /* ThisType */: seenThisKeyword = true; return; - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: break; // Binding the children will handle everything - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: return bindTypeParameter(node); - case 163 /* Parameter */: + case 164 /* Parameter */: return bindParameter(node); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return bindVariableDeclarationOrBindingElement(node); - case 202 /* BindingElement */: + case 203 /* BindingElement */: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: return bindPropertyWorker(node); - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return bindPropertyOrMethodOrAccessor(node, 4 /* Property */, 0 /* PropertyExcludes */); - case 297 /* EnumMember */: + case 299 /* EnumMember */: return bindPropertyOrMethodOrAccessor(node, 8 /* EnumMember */, 900095 /* EnumMemberExcludes */); - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: return declareSymbolAndAddToSymbolTable(node, 131072 /* Signature */, 0 /* None */); - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: // If this is an ObjectLiteralExpression method, then it sits in the same space // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. return bindPropertyOrMethodOrAccessor(node, 8192 /* Method */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), ts.isObjectLiteralMethod(node) ? 0 /* PropertyExcludes */ : 103359 /* MethodExcludes */); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return bindFunctionDeclaration(node); - case 170 /* Constructor */: + case 171 /* Constructor */: return declareSymbolAndAddToSymbolTable(node, 16384 /* Constructor */, /*symbolExcludes:*/ 0 /* None */); - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: return bindPropertyOrMethodOrAccessor(node, 32768 /* GetAccessor */, 46015 /* GetAccessorExcludes */); - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: return bindPropertyOrMethodOrAccessor(node, 65536 /* SetAccessor */, 78783 /* SetAccessorExcludes */); - case 178 /* FunctionType */: - case 315 /* JSDocFunctionType */: - case 321 /* JSDocSignature */: - case 179 /* ConstructorType */: + case 179 /* FunctionType */: + case 317 /* JSDocFunctionType */: + case 323 /* JSDocSignature */: + case 180 /* ConstructorType */: return bindFunctionOrConstructorType(node); - case 181 /* TypeLiteral */: - case 320 /* JSDocTypeLiteral */: - case 194 /* MappedType */: + case 182 /* TypeLiteral */: + case 322 /* JSDocTypeLiteral */: + case 195 /* MappedType */: return bindAnonymousTypeWorker(node); - case 330 /* JSDocClassTag */: + case 332 /* JSDocClassTag */: return bindJSDocClassTag(node); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return bindObjectLiteralExpression(node); - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return bindFunctionExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: var assignmentKind = ts.getAssignmentDeclarationKind(node); switch (assignmentKind) { case 7 /* ObjectDefinePropertyValue */: @@ -46006,65 +46745,65 @@ var ts; } break; // Members of classes, interfaces, and modules - case 225 /* ClassExpression */: - case 256 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 257 /* ClassDeclaration */: // All classes are automatically in strict mode in ES6. inStrictMode = true; return bindClassLikeDeclaration(node); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: return bindBlockScopedDeclaration(node, 64 /* Interface */, 788872 /* InterfaceExcludes */); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: return bindBlockScopedDeclaration(node, 524288 /* TypeAlias */, 788968 /* TypeAliasExcludes */); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return bindEnumDeclaration(node); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return bindModuleDeclaration(node); // Jsx-attributes - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: return bindJsxAttributes(node); - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: return bindJsxAttribute(node, 4 /* Property */, 0 /* PropertyExcludes */); // Imports and exports - case 264 /* ImportEqualsDeclaration */: - case 267 /* NamespaceImport */: - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: + case 265 /* ImportEqualsDeclaration */: + case 268 /* NamespaceImport */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: return declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: return bindNamespaceExportDeclaration(node); - case 266 /* ImportClause */: + case 267 /* ImportClause */: return bindImportClause(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return bindExportDeclaration(node); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return bindExportAssignment(node); - case 303 /* SourceFile */: + case 305 /* SourceFile */: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 234 /* Block */: + case 235 /* Block */: if (!ts.isFunctionLikeOrClassStaticBlockDeclaration(node.parent)) { return; } // falls through - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: return updateStrictModeStatementList(node.statements); - case 338 /* JSDocParameterTag */: - if (node.parent.kind === 321 /* JSDocSignature */) { + case 340 /* JSDocParameterTag */: + if (node.parent.kind === 323 /* JSDocSignature */) { return bindParameter(node); } - if (node.parent.kind !== 320 /* JSDocTypeLiteral */) { + if (node.parent.kind !== 322 /* JSDocTypeLiteral */) { break; } // falls through - case 345 /* JSDocPropertyTag */: + case 347 /* JSDocPropertyTag */: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 314 /* JSDocOptionalType */ ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 316 /* JSDocOptionalType */ ? 4 /* Property */ | 16777216 /* Optional */ : 4 /* Property */; return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* PropertyExcludes */); - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 337 /* JSDocEnumTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 339 /* JSDocEnumTag */: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } @@ -46088,7 +46827,7 @@ var ts; } } function bindSourceFileAsExternalModule() { - bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"".concat(ts.removeFileExtension(file.fileName), "\"")); + bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"" + ts.removeFileExtension(file.fileName) + "\""); } function bindExportAssignment(node) { if (!container.symbol || !container.symbol.exports) { @@ -46227,8 +46966,8 @@ var ts; } var thisContainer = ts.getThisContainer(node, /*includeArrowFunctions*/ false); switch (thisContainer.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: var constructorSymbol = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 63 /* EqualsToken */) { @@ -46250,12 +46989,12 @@ var ts; addDeclarationToSymbol(constructorSymbol, constructorSymbol.valueDeclaration, 32 /* Class */); } break; - case 170 /* Constructor */: - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 169 /* ClassStaticBlockDeclaration */: + case 171 /* Constructor */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 170 /* ClassStaticBlockDeclaration */: // this.foo assignment in a JavaScript class // Bind this property to the containing class var containingClass = thisContainer.parent; @@ -46267,7 +47006,7 @@ var ts; declareSymbol(symbolTable, containingClass.symbol, node, 4 /* Property */ | 67108864 /* Assignment */, 0 /* None */, /*isReplaceableByMethod*/ true); } break; - case 303 /* SourceFile */: + case 305 /* SourceFile */: // this.property = assignment in a source file -- declare symbol in exports for a module, in locals for a script if (ts.hasDynamicName(node)) { break; @@ -46296,7 +47035,7 @@ var ts; if (node.expression.kind === 108 /* ThisKeyword */) { bindThisPropertyAssignment(node); } - else if (ts.isBindableStaticAccessExpression(node) && node.parent.parent.kind === 303 /* SourceFile */) { + else if (ts.isBindableStaticAccessExpression(node) && node.parent.parent.kind === 305 /* SourceFile */) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -46336,7 +47075,7 @@ var ts; } function bindObjectDefinePropertyAssignment(node) { var namespaceSymbol = lookupSymbolForPropertyAccess(node.arguments[0]); - var isToplevel = node.parent.parent.kind === 303 /* SourceFile */; + var isToplevel = node.parent.parent.kind === 305 /* SourceFile */; namespaceSymbol = bindPotentiallyMissingNamespaces(namespaceSymbol, node.arguments[0], isToplevel, /*isPrototypeProperty*/ false, /*containerIsClass*/ false); bindPotentiallyNewExpandoMemberToNamespace(node, namespaceSymbol, /*isPrototypeProperty*/ false); } @@ -46445,8 +47184,8 @@ var ts; } function isTopLevelNamespaceAssignment(propertyAccess) { return ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 303 /* SourceFile */ - : propertyAccess.parent.parent.kind === 303 /* SourceFile */; + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 305 /* SourceFile */ + : propertyAccess.parent.parent.kind === 305 /* SourceFile */; } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty, containerIsClass) { var namespaceSymbol = lookupSymbolForPropertyAccess(name, container) || lookupSymbolForPropertyAccess(name, blockScopeContainer); @@ -46525,7 +47264,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 256 /* ClassDeclaration */) { + if (node.kind === 257 /* ClassDeclaration */) { bindBlockScopedDeclaration(node, 32 /* Class */, 899503 /* ClassExcludes */); } else { @@ -46567,7 +47306,7 @@ var ts; checkStrictModeEvalOrArguments(node, node.name); } if (!ts.isBindingPattern(node.name)) { - if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node)) { + if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* Export */)) { declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); } else if (ts.isBlockOrCatchScoped(node)) { @@ -46591,10 +47330,10 @@ var ts; } } function bindParameter(node) { - if (node.kind === 338 /* JSDocParameterTag */ && container.kind !== 321 /* JSDocSignature */) { + if (node.kind === 340 /* JSDocParameterTag */ && container.kind !== 323 /* JSDocSignature */) { return; } - if (inStrictMode && !(node.flags & 8388608 /* Ambient */)) { + if (inStrictMode && !(node.flags & 16777216 /* Ambient */)) { // It is a SyntaxError if the identifier eval or arguments appears within a FormalParameterList of a // strict mode FunctionLikeDeclaration or FunctionExpression(13.1) checkStrictModeEvalOrArguments(node, node.name); @@ -46613,7 +47352,7 @@ var ts; } } function bindFunctionDeclaration(node) { - if (!file.isDeclarationFile && !(node.flags & 8388608 /* Ambient */)) { + if (!file.isDeclarationFile && !(node.flags & 16777216 /* Ambient */)) { if (ts.isAsyncFunction(node)) { emitFlags |= 2048 /* HasAsyncFunctions */; } @@ -46628,7 +47367,7 @@ var ts; } } function bindFunctionExpression(node) { - if (!file.isDeclarationFile && !(node.flags & 8388608 /* Ambient */)) { + if (!file.isDeclarationFile && !(node.flags & 16777216 /* Ambient */)) { if (ts.isAsyncFunction(node)) { emitFlags |= 2048 /* HasAsyncFunctions */; } @@ -46641,7 +47380,7 @@ var ts; return bindAnonymousDeclaration(node, 16 /* Function */, bindingName); } function bindPropertyOrMethodOrAccessor(node, symbolFlags, symbolExcludes) { - if (!file.isDeclarationFile && !(node.flags & 8388608 /* Ambient */) && ts.isAsyncFunction(node)) { + if (!file.isDeclarationFile && !(node.flags & 16777216 /* Ambient */) && ts.isAsyncFunction(node)) { emitFlags |= 2048 /* HasAsyncFunctions */; } if (currentFlow && ts.isObjectLiteralOrClassExpressionMethodOrAccessor(node)) { @@ -46668,7 +47407,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 526824 /* TypeParameterExcludes */); } } - else if (node.parent.kind === 189 /* InferType */) { + else if (node.parent.kind === 190 /* InferType */) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -46696,11 +47435,11 @@ var ts; if (currentFlow === unreachableFlow) { var reportError = // report error on all statements except empty ones - (ts.isStatementButNotDeclaration(node) && node.kind !== 235 /* EmptyStatement */) || + (ts.isStatementButNotDeclaration(node) && node.kind !== 236 /* EmptyStatement */) || // report error on class declarations - node.kind === 256 /* ClassDeclaration */ || + node.kind === 257 /* ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set - (node.kind === 260 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)); + (node.kind === 261 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)); if (reportError) { currentFlow = reportedUnreachableFlow; if (!options.allowUnreachableCode) { @@ -46714,7 +47453,7 @@ var ts; // Rationale: we don't want to report errors on non-initialized var's since they are hoisted // On the other side we do want to report errors on non-initialized 'lets' because of TDZ var isError_1 = ts.unreachableCodeIsError(options) && - !(node.flags & 8388608 /* Ambient */) && + !(node.flags & 16777216 /* Ambient */) && (!ts.isVariableStatement(node) || !!(ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */) || node.declarationList.declarations.some(function (d) { return !!d.initializer; })); @@ -46744,12 +47483,12 @@ var ts; } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: return true; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return getModuleInstanceState(s) !== 1 /* Instantiated */; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return ts.hasSyntacticModifier(s, 2048 /* Const */); default: return false; @@ -46949,7 +47688,7 @@ var ts; // (their type resolved directly to the member deeply referenced) // So to get the intervening symbols, we need to check if there's a type // query node on any of the symbol's declarations and get symbols there - if (d.type && d.type.kind === 180 /* TypeQuery */) { + if (d.type && d.type.kind === 181 /* TypeQuery */) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); @@ -47112,6 +47851,7 @@ var ts; TypeSystemPropertyName[TypeSystemPropertyName["EnumTagType"] = 5] = "EnumTagType"; TypeSystemPropertyName[TypeSystemPropertyName["ResolvedTypeArguments"] = 6] = "ResolvedTypeArguments"; TypeSystemPropertyName[TypeSystemPropertyName["ResolvedBaseTypes"] = 7] = "ResolvedBaseTypes"; + TypeSystemPropertyName[TypeSystemPropertyName["WriteType"] = 8] = "WriteType"; })(TypeSystemPropertyName || (TypeSystemPropertyName = {})); var CheckMode; (function (CheckMode) { @@ -47121,7 +47861,8 @@ var ts; CheckMode[CheckMode["SkipContextSensitive"] = 4] = "SkipContextSensitive"; CheckMode[CheckMode["SkipGenericFunctions"] = 8] = "SkipGenericFunctions"; CheckMode[CheckMode["IsForSignatureHelp"] = 16] = "IsForSignatureHelp"; - CheckMode[CheckMode["RestBindingElement"] = 32] = "RestBindingElement"; + CheckMode[CheckMode["IsForStringLiteralArgumentCompletions"] = 32] = "IsForStringLiteralArgumentCompletions"; + CheckMode[CheckMode["RestBindingElement"] = 64] = "RestBindingElement"; // e.g. in `const { a, ...rest } = foo`, when checking the type of `foo` to determine the type of `rest`, // we need to preserve generic types instead of substituting them for constraints })(CheckMode || (CheckMode = {})); @@ -47236,7 +47977,7 @@ var ts; (preserveConstEnums && moduleState === 2 /* ConstEnumOnly */); } ts.isInstantiatedModule = isInstantiatedModule; - function createTypeChecker(host, produceDiagnostics) { + function createTypeChecker(host) { var getPackagesMap = ts.memoize(function () { // A package name maps to true when we detect it has .d.ts files. // This is useful as an approximation of whether a package bundles its own types. @@ -47253,6 +47994,10 @@ var ts; }); return map; }); + var deferredDiagnosticsCallbacks = []; + var addLazyDiagnostic = function (arg) { + deferredDiagnosticsCallbacks.push(arg); + }; // Cancellation that controls whether or not we can cancel in the middle of type checking. // In general cancelling is *not* safe for the type checker. We might be in the middle of // computing something, and we will leave our internals in an inconsistent state. Callers @@ -47276,6 +48021,7 @@ var ts; var instantiationDepth = 0; var inlineLevel = 0; var currentNode; + var varianceTypeParameter; var emptySymbols = ts.createSymbolTable(); var arrayVariances = [1 /* Covariant */]; var compilerOptions = host.getCompilerOptions(); @@ -47291,7 +48037,7 @@ var ts; var noImplicitThis = ts.getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = ts.getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var keyofStringsOnly = !!compilerOptions.keyofStringsOnly; - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 16384 /* FreshLiteral */; + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8192 /* FreshLiteral */; var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -47454,26 +48200,10 @@ var ts; if (!node) { return undefined; } - var containingCall = ts.findAncestor(node, ts.isCallLikeExpression); - var containingCallResolvedSignature = containingCall && getNodeLinks(containingCall).resolvedSignature; - if (contextFlags & 4 /* Completions */ && containingCall) { - var toMarkSkip = node; - do { - getNodeLinks(toMarkSkip).skipDirectInference = true; - toMarkSkip = toMarkSkip.parent; - } while (toMarkSkip && toMarkSkip !== containingCall); - getNodeLinks(containingCall).resolvedSignature = undefined; - } - var result = getContextualType(node, contextFlags); - if (contextFlags & 4 /* Completions */ && containingCall) { - var toMarkSkip = node; - do { - getNodeLinks(toMarkSkip).skipDirectInference = undefined; - toMarkSkip = toMarkSkip.parent; - } while (toMarkSkip && toMarkSkip !== containingCall); - getNodeLinks(containingCall).resolvedSignature = containingCallResolvedSignature; + if (contextFlags & 4 /* Completions */) { + return runWithInferenceBlockedFromSourceNode(node, function () { return getContextualType(node, contextFlags); }); } - return result; + return getContextualType(node, contextFlags); }, getContextualTypeForObjectLiteralElement: function (nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isObjectLiteralElementLike); @@ -47493,6 +48223,9 @@ var ts; getResolvedSignature: function (node, candidatesOutArray, argumentCount) { return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 0 /* Normal */); }, + getResolvedSignatureForStringLiteralCompletions: function (call, editingArgument, candidatesOutArray) { + return getResolvedSignatureWorker(call, candidatesOutArray, /*argumentCount*/ undefined, 32 /* IsForStringLiteralArgumentCompletions */, editingArgument); + }, getResolvedSignatureForSignatureHelp: function (node, candidatesOutArray, argumentCount) { return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 16 /* IsForSignatureHelp */); }, @@ -47615,12 +48348,12 @@ var ts; // Do this in a finally block so we can ensure that it gets reset back to nothing after // this call is done. cancellationToken = ct; - // Ensure file is type checked - checkSourceFile(file); + // Ensure file is type checked, with _eager_ diagnostic production, so identifiers are registered as potentially unused + checkSourceFileWithEagerDiagnostics(file); ts.Debug.assert(!!(getNodeLinks(file).flags & 1 /* TypeChecked */)); diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.getDiagnostics(file.fileName)); checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (containingNode, kind, diag) { - if (!ts.containsParseError(containingNode) && !unusedIsError(kind, !!(containingNode.flags & 8388608 /* Ambient */))) { + if (!ts.containsParseError(containingNode) && !unusedIsError(kind, !!(containingNode.flags & 16777216 /* Ambient */))) { (diagnostics || (diagnostics = [])).push(__assign(__assign({}, diag), { category: ts.DiagnosticCategory.Suggestion })); } }); @@ -47645,10 +48378,34 @@ var ts; getTypeOnlyAliasDeclaration: getTypeOnlyAliasDeclaration, getMemberOverrideModifierStatus: getMemberOverrideModifierStatus, }; - function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode) { + function runWithInferenceBlockedFromSourceNode(node, fn) { + var containingCall = ts.findAncestor(node, ts.isCallLikeExpression); + var containingCallResolvedSignature = containingCall && getNodeLinks(containingCall).resolvedSignature; + if (containingCall) { + var toMarkSkip = node; + do { + getNodeLinks(toMarkSkip).skipDirectInference = true; + toMarkSkip = toMarkSkip.parent; + } while (toMarkSkip && toMarkSkip !== containingCall); + getNodeLinks(containingCall).resolvedSignature = undefined; + } + var result = fn(); + if (containingCall) { + var toMarkSkip = node; + do { + getNodeLinks(toMarkSkip).skipDirectInference = undefined; + toMarkSkip = toMarkSkip.parent; + } while (toMarkSkip && toMarkSkip !== containingCall); + getNodeLinks(containingCall).resolvedSignature = containingCallResolvedSignature; + } + return result; + } + function getResolvedSignatureWorker(nodeIn, candidatesOutArray, argumentCount, checkMode, editingArgument) { var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); apparentArgumentCount = argumentCount; - var res = node ? getResolvedSignature(node, candidatesOutArray, checkMode) : undefined; + var res = !node ? undefined : + editingArgument ? runWithInferenceBlockedFromSourceNode(editingArgument, function () { return getResolvedSignature(node, candidatesOutArray, checkMode); }) : + getResolvedSignature(node, candidatesOutArray, checkMode); apparentArgumentCount = undefined; return res; } @@ -47666,6 +48423,7 @@ var ts; var subtypeReductionCache = new ts.Map(); var evolvingArrayTypes = []; var undefinedProperties = new ts.Map(); + var markerTypes = new ts.Set(); var unknownSymbol = createSymbol(4 /* Property */, "unknown"); var resolvingSymbol = createSymbol(0, "__resolving__" /* Resolving */); var unresolvedSymbols = new ts.Map(); @@ -47675,16 +48433,16 @@ var ts; var wildcardType = createIntrinsicType(1 /* Any */, "any"); var errorType = createIntrinsicType(1 /* Any */, "error"); var unresolvedType = createIntrinsicType(1 /* Any */, "unresolved"); - var nonInferrableAnyType = createIntrinsicType(1 /* Any */, "any", 131072 /* ContainsWideningType */); + var nonInferrableAnyType = createIntrinsicType(1 /* Any */, "any", 65536 /* ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* Unknown */, "unknown"); var undefinedType = createIntrinsicType(32768 /* Undefined */, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(32768 /* Undefined */, "undefined", 131072 /* ContainsWideningType */); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(32768 /* Undefined */, "undefined", 65536 /* ContainsWideningType */); var optionalType = createIntrinsicType(32768 /* Undefined */, "undefined"); var missingType = exactOptionalPropertyTypes ? createIntrinsicType(32768 /* Undefined */, "undefined") : undefinedType; var nullType = createIntrinsicType(65536 /* Null */, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(65536 /* Null */, "null", 131072 /* ContainsWideningType */); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(65536 /* Null */, "null", 65536 /* ContainsWideningType */); var stringType = createIntrinsicType(4 /* String */, "string"); var numberType = createIntrinsicType(8 /* Number */, "number"); var bigintType = createIntrinsicType(64 /* BigInt */, "bigint"); @@ -47705,7 +48463,7 @@ var ts; var voidType = createIntrinsicType(16384 /* Void */, "void"); var neverType = createIntrinsicType(131072 /* Never */, "never"); var silentNeverType = createIntrinsicType(131072 /* Never */, "never"); - var nonInferrableType = createIntrinsicType(131072 /* Never */, "never", 524288 /* NonInferrableType */); + var nonInferrableType = createIntrinsicType(131072 /* Never */, "never", 262144 /* NonInferrableType */); var implicitNeverType = createIntrinsicType(131072 /* Never */, "never"); var unreachableNeverType = createIntrinsicType(131072 /* Never */, "never"); var nonPrimitiveType = createIntrinsicType(67108864 /* NonPrimitive */, "object"); @@ -47716,6 +48474,8 @@ var ts; var templateConstraintType = getUnionType([stringType, numberType, booleanType, bigintType, nullType, undefinedType]); var restrictiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeParameter */ ? getRestrictiveTypeParameter(t) : t; }); var permissiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeParameter */ ? wildcardType : t; }); + var uniqueLiteralType = createIntrinsicType(131072 /* Never */, "never"); // `uniqueLiteralType` is a special `never` flagged by union reduction to behave as a literal + var uniqueLiteralMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeParameter */ ? uniqueLiteralType : t; }); // replace all type parameters with the unique literal type (disregarding constraints) var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var emptyJsxObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); emptyJsxObjectType.objectFlags |= 2048 /* JsxAttributes */; @@ -47727,7 +48487,7 @@ var ts; var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); // The anyFunctionType contains the anyFunctionType by definition. The flag is further propagated // in getPropagatingFlagsOfTypes, and it is checked in inferFromTypes. - anyFunctionType.objectFlags |= 524288 /* NonInferrableType */; + anyFunctionType.objectFlags |= 262144 /* NonInferrableType */; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); @@ -48044,7 +48804,7 @@ var ts; return diagnostic; } function isDeprecatedSymbol(symbol) { - return !!(getDeclarationNodeFlagsFromSymbol(symbol) & 134217728 /* Deprecated */); + return !!(getDeclarationNodeFlagsFromSymbol(symbol) & 268435456 /* Deprecated */); } function addDeprecatedSuggestion(location, declarations, deprecatedEntity) { var diagnostic = ts.createDiagnosticForNode(location, ts.Diagnostics._0_is_deprecated, deprecatedEntity); @@ -48187,7 +48947,7 @@ var ts; if (sourceSymbolFile && targetSymbolFile && amalgamatedDuplicates && !isEitherEnum && sourceSymbolFile !== targetSymbolFile) { var firstFile_1 = ts.comparePaths(sourceSymbolFile.path, targetSymbolFile.path) === -1 /* LessThan */ ? sourceSymbolFile : targetSymbolFile; var secondFile_1 = firstFile_1 === sourceSymbolFile ? targetSymbolFile : sourceSymbolFile; - var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, "".concat(firstFile_1.path, "|").concat(secondFile_1.path), function () { + var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, firstFile_1.path + "|" + secondFile_1.path, function () { return ({ firstFile: firstFile_1, secondFile: secondFile_1, conflictingSymbols: new ts.Map() }); }); var conflictingSymbolInfo = ts.getOrUpdate(filesDuplicates.conflictingSymbols, symbolName_1, function () { @@ -48272,7 +49032,7 @@ var ts; else { // find a module that about to be augmented // do not validate names of augmentations that are defined in ambient context - var moduleNotFoundError = !(moduleName.parent.parent.flags & 8388608 /* Ambient */) + var moduleNotFoundError = !(moduleName.parent.parent.flags & 16777216 /* Ambient */) ? ts.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found : undefined; var mainModule_1 = resolveExternalModuleNameWorker(moduleName, moduleName, moduleNotFoundError, /*isForAugmentation*/ true); @@ -48341,7 +49101,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = new NodeLinks()); } function isGlobalSourceFile(node) { - return node.kind === 303 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); + return node.kind === 305 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -48386,7 +49146,7 @@ var ts; if ((moduleKind && (declarationFile.externalModuleIndicator || useFile.externalModuleIndicator)) || (!ts.outFile(compilerOptions)) || isInTypeQuery(usage) || - declaration.flags & 8388608 /* Ambient */) { + declaration.flags & 16777216 /* Ambient */) { // nodes are in different files and order cannot be determined return true; } @@ -48400,17 +49160,17 @@ var ts; } if (declaration.pos <= usage.pos && !(ts.isPropertyDeclaration(declaration) && ts.isThisProperty(usage.parent) && !declaration.initializer && !declaration.exclamationToken)) { // declaration is before usage - if (declaration.kind === 202 /* BindingElement */) { + if (declaration.kind === 203 /* BindingElement */) { // still might be illegal if declaration and usage are both binding elements (eg var [a = b, b = b] = [1, 2]) - var errorBindingElement = ts.getAncestor(usage, 202 /* BindingElement */); + var errorBindingElement = ts.getAncestor(usage, 203 /* BindingElement */); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } // or it might be illegal if usage happens before parent variable is declared (eg var [a] = a) - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 253 /* VariableDeclaration */), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 254 /* VariableDeclaration */), usage); } - else if (declaration.kind === 253 /* VariableDeclaration */) { + else if (declaration.kind === 254 /* VariableDeclaration */) { // still might be illegal if usage is in the initializer of the variable declaration (eg var a = a) return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } @@ -48440,15 +49200,15 @@ var ts; // or if usage is in a type context: // 1. inside a type query (typeof in type position) // 2. inside a jsdoc comment - if (usage.parent.kind === 274 /* ExportSpecifier */ || (usage.parent.kind === 270 /* ExportAssignment */ && usage.parent.isExportEquals)) { + if (usage.parent.kind === 275 /* ExportSpecifier */ || (usage.parent.kind === 271 /* ExportAssignment */ && usage.parent.isExportEquals)) { // export specifiers do not use the variable, they only make it available for use return true; } // When resolving symbols for exports, the `usage` location passed in can be the export site directly - if (usage.kind === 270 /* ExportAssignment */ && usage.isExportEquals) { + if (usage.kind === 271 /* ExportAssignment */ && usage.isExportEquals) { return true; } - if (!!(usage.flags & 4194304 /* JSDoc */) || isInTypeQuery(usage) || usageInTypeDeclaration()) { + if (!!(usage.flags & 8388608 /* JSDoc */) || isInTypeQuery(usage) || usageInTypeDeclaration()) { return true; } if (isUsedInFunctionOrInstanceProperty(usage, declaration)) { @@ -48467,9 +49227,9 @@ var ts; } function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { switch (declaration.parent.parent.kind) { - case 236 /* VariableStatement */: - case 241 /* ForStatement */: - case 243 /* ForOfStatement */: + case 237 /* VariableStatement */: + case 242 /* ForStatement */: + case 244 /* ForOfStatement */: // variable statement/for/for-of statement case, // use site should not be inside variable declaration (initializer of declaration or binding element) if (isSameScopeDescendentOf(usage, declaration, declContainer)) { @@ -48497,7 +49257,7 @@ var ts; var initializerOfProperty = propertyDeclaration.initializer === current; if (initializerOfProperty) { if (ts.isStatic(current.parent)) { - if (declaration.kind === 168 /* MethodDeclaration */) { + if (declaration.kind === 169 /* MethodDeclaration */) { return true; } if (ts.isPropertyDeclaration(declaration) && ts.getContainingClass(usage) === ts.getContainingClass(declaration)) { @@ -48512,7 +49272,7 @@ var ts; } } else { - var isDeclarationInstanceProperty = declaration.kind === 166 /* PropertyDeclaration */ && !ts.isStatic(declaration); + var isDeclarationInstanceProperty = declaration.kind === 167 /* PropertyDeclaration */ && !ts.isStatic(declaration); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } @@ -48535,19 +49295,19 @@ var ts; return "quit"; } switch (node.kind) { - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return true; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // even when stopping at any property declaration, they need to come from the same class return stopAtAnyPropertyDeclaration && (ts.isPropertyDeclaration(declaration) && node.parent === declaration.parent || ts.isParameterPropertyDeclaration(declaration, declaration.parent) && node.parent === declaration.parent.parent) ? "quit" : true; - case 234 /* Block */: + case 235 /* Block */: switch (node.parent.kind) { - case 171 /* GetAccessor */: - case 168 /* MethodDeclaration */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 169 /* MethodDeclaration */: + case 173 /* SetAccessor */: return true; default: return false; @@ -48587,18 +49347,18 @@ var ts; } function requiresScopeChangeWorker(node) { switch (node.kind) { - case 213 /* ArrowFunction */: - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: - case 170 /* Constructor */: + case 214 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 171 /* Constructor */: // do not descend into these return false; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 294 /* PropertyAssignment */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 296 /* PropertyAssignment */: return requiresScopeChangeWorker(node.name); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // static properties in classes introduce temporary variables if (ts.hasStaticModifier(node)) { return target < 99 /* ESNext */ || !useDefineForClassFields; @@ -48618,6 +49378,10 @@ var ts; } } } + function isConstAssertion(location) { + return (ts.isAssertionExpression(location) && ts.isConstTypeReference(location.type)) + || (ts.isJSDocTypeTag(location) && ts.isConstTypeReference(location.typeExpression)); + } /** * Resolve a given name for a given meaning at a given location. An error is reported if the name was not found and * the nameNotFoundMessage argument is not undefined. Returns the resolved symbol, or undefined if no symbol with @@ -48643,6 +49407,11 @@ var ts; var grandparent; var isInExternalModule = false; loop: while (location) { + if (name === "const" && isConstAssertion(location)) { + // `const` in an `as const` has no symbol, but issues no error because there is no *actual* lookup of the type + // (it refers to the constant type of the expression instead) + return undefined; + } // Locals of a source file are not in scope (because they get merged into the global symbol table) if (location.locals && !isGlobalSourceFile(location)) { if (result = lookup(location.locals, name, meaning)) { @@ -48654,14 +49423,14 @@ var ts; // - parameters are only in the scope of function body // This restriction does not apply to JSDoc comment types because they are parented // at a higher level than type parameters would normally be - if (meaning & result.flags & 788968 /* Type */ && lastLocation.kind !== 318 /* JSDocComment */) { + if (meaning & result.flags & 788968 /* Type */ && lastLocation.kind !== 320 /* JSDoc */) { useResult = result.flags & 262144 /* TypeParameter */ // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || - lastLocation.kind === 163 /* Parameter */ || - lastLocation.kind === 338 /* JSDocParameterTag */ || - lastLocation.kind === 339 /* JSDocReturnTag */ || - lastLocation.kind === 162 /* TypeParameter */ + lastLocation.kind === 164 /* Parameter */ || + lastLocation.kind === 340 /* JSDocParameterTag */ || + lastLocation.kind === 341 /* JSDocReturnTag */ || + lastLocation.kind === 163 /* TypeParameter */ // local types not visible outside the function body : false; } @@ -48676,13 +49445,13 @@ var ts; // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = - lastLocation.kind === 163 /* Parameter */ || + lastLocation.kind === 164 /* Parameter */ || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } } - else if (location.kind === 188 /* ConditionalType */) { + else if (location.kind === 189 /* ConditionalType */) { // A type parameter declared using 'infer T' in a conditional type is visible only in // the true branch of the conditional type. useResult = lastLocation === location.trueType; @@ -48697,14 +49466,14 @@ var ts; } withinDeferredContext = withinDeferredContext || getIsDeferredContext(location, lastLocation); switch (location.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; // falls through - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: var moduleExports = ((_a = getSymbolOfNode(location)) === null || _a === void 0 ? void 0 : _a.exports) || emptySymbols; - if (location.kind === 303 /* SourceFile */ || (ts.isModuleDeclaration(location) && location.flags & 8388608 /* Ambient */ && !ts.isGlobalScopeAugmentation(location))) { + if (location.kind === 305 /* SourceFile */ || (ts.isModuleDeclaration(location) && location.flags & 16777216 /* Ambient */ && !ts.isGlobalScopeAugmentation(location))) { // It's an external module. First see if the module has an export default and if the local // name of that export default matches. if (result = moduleExports.get("default" /* Default */)) { @@ -48728,7 +49497,7 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 /* Alias */ && - (ts.getDeclarationOfKind(moduleExport, 274 /* ExportSpecifier */) || ts.getDeclarationOfKind(moduleExport, 273 /* NamespaceExport */))) { + (ts.getDeclarationOfKind(moduleExport, 275 /* ExportSpecifier */) || ts.getDeclarationOfKind(moduleExport, 274 /* NamespaceExport */))) { break; } } @@ -48742,12 +49511,12 @@ var ts; } } break; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: if (result = lookup(((_c = getSymbolOfNode(location)) === null || _c === void 0 ? void 0 : _c.exports) || emptySymbols, name, meaning & 8 /* EnumMember */)) { break loop; } break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // TypeScript 1.0 spec (April 2014): 8.4.1 // Initializer expressions for instance member variables are evaluated in the scope // of the class constructor body but are not permitted to reference parameters or @@ -48764,9 +49533,9 @@ var ts; } } break; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: // The below is used to lookup type parameters within a class or interface, as they are added to the class/interface locals // These can never be latebound, so the symbol's raw members are sufficient. `getMembersOfNode` cannot be used, as it would // trigger resolving late-bound names, which we may already be in the process of doing while we're here! @@ -48785,7 +49554,7 @@ var ts; } break loop; } - if (location.kind === 225 /* ClassExpression */ && meaning & 32 /* Class */) { + if (location.kind === 226 /* ClassExpression */ && meaning & 32 /* Class */) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -48793,7 +49562,7 @@ var ts; } } break; - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: // The type parameters of a class are not in scope in the base class expression. if (lastLocation === location.expression && location.parent.token === 94 /* ExtendsKeyword */) { var container = location.parent.parent; @@ -48813,9 +49582,9 @@ var ts; // [foo()]() { } // <-- Reference to T from class's own computed property // } // - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 257 /* InterfaceDeclaration */) { + if (ts.isClassLike(grandparent) || grandparent.kind === 258 /* InterfaceDeclaration */) { // A reference to this grandparent's type parameters would be an error if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 788968 /* Type */)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); @@ -48823,24 +49592,24 @@ var ts; } } break; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: // when targeting ES6 or higher there is no 'arguments' in an arrow function // for lower compile targets the resolved symbol is used to emit an error if (ts.getEmitScriptTarget(compilerOptions) >= 2 /* ES2015 */) { break; } // falls through - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 255 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 256 /* FunctionDeclaration */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: if (meaning & 3 /* Variable */ && name === "arguments") { result = argumentsSymbol; break loop; @@ -48853,7 +49622,7 @@ var ts; } } break; - case 164 /* Decorator */: + case 165 /* Decorator */: // Decorators are resolved at the class declaration. Resolving at the parameter // or member would result in looking up locals in the method. // @@ -48862,7 +49631,7 @@ var ts; // method(@y x, y) {} // <-- decorator y should be resolved at the class declaration, not the parameter. // } // - if (location.parent && location.parent.kind === 163 /* Parameter */) { + if (location.parent && location.parent.kind === 164 /* Parameter */) { location = location.parent; } // @@ -48877,20 +49646,20 @@ var ts; // declare function y(x: T): any; // @param(1 as T) // <-- T should resolve to the type alias outside of class C // class C {} - if (location.parent && (ts.isClassElement(location.parent) || location.parent.kind === 256 /* ClassDeclaration */)) { + if (location.parent && (ts.isClassElement(location.parent) || location.parent.kind === 257 /* ClassDeclaration */)) { location = location.parent; } break; - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 337 /* JSDocEnumTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 339 /* JSDocEnumTag */: // js type aliases do not resolve names from their host, so skip past it var root = ts.getJSDocRoot(location); if (root) { location = root.parent; } break; - case 163 /* Parameter */: + case 164 /* Parameter */: if (lastLocation && (lastLocation === location.initializer || lastLocation === location.name && ts.isBindingPattern(lastLocation))) { if (!associatedDeclarationForContainingInitializerOrBindingName) { @@ -48898,7 +49667,7 @@ var ts; } } break; - case 202 /* BindingElement */: + case 203 /* BindingElement */: if (lastLocation && (lastLocation === location.initializer || lastLocation === location.name && ts.isBindingPattern(lastLocation))) { if (ts.isParameterDeclaration(location) && !associatedDeclarationForContainingInitializerOrBindingName) { @@ -48906,7 +49675,7 @@ var ts; } } break; - case 189 /* InferType */: + case 190 /* InferType */: if (meaning & 262144 /* TypeParameter */) { var parameterName = location.typeParameter.name; if (parameterName && name === parameterName.escapedText) { @@ -48932,7 +49701,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 303 /* SourceFile */); + ts.Debug.assert(lastLocation.kind === 305 /* SourceFile */); if (lastLocation.commonJsModuleIndicator && name === "exports" && meaning & lastLocation.symbol.flags) { return lastLocation.symbol; } @@ -48949,123 +49718,127 @@ var ts; } } if (!result) { - if (nameNotFoundMessage && produceDiagnostics) { - if (!errorLocation || - !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 - !checkAndReportErrorForExtendingInterface(errorLocation) && - !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && - !checkAndReportErrorForExportingPrimitiveType(errorLocation, name) && - !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && - !checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) && - !checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) { - var suggestion = void 0; - if (getSpellingSuggestions && suggestionCount < maximumSuggestionCount) { - suggestion = getSuggestedSymbolForNonexistentSymbol(originalLocation, name, meaning); - var isGlobalScopeAugmentationDeclaration = (suggestion === null || suggestion === void 0 ? void 0 : suggestion.valueDeclaration) && ts.isAmbientModule(suggestion.valueDeclaration) && ts.isGlobalScopeAugmentation(suggestion.valueDeclaration); - if (isGlobalScopeAugmentationDeclaration) { - suggestion = undefined; - } - if (suggestion) { - var suggestionName = symbolToString(suggestion); - var isUncheckedJS = isUncheckedJSSuggestion(originalLocation, suggestion, /*excludeClasses*/ false); - var message = meaning === 1920 /* Namespace */ || nameArg && typeof nameArg !== "string" && ts.nodeIsSynthesized(nameArg) ? ts.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1 - : isUncheckedJS ? ts.Diagnostics.Could_not_find_name_0_Did_you_mean_1 - : ts.Diagnostics.Cannot_find_name_0_Did_you_mean_1; - var diagnostic = createError(errorLocation, message, diagnosticName(nameArg), suggestionName); - addErrorOrSuggestion(!isUncheckedJS, diagnostic); - if (suggestion.valueDeclaration) { - ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName)); + if (nameNotFoundMessage) { + addLazyDiagnostic(function () { + if (!errorLocation || + !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 + !checkAndReportErrorForExtendingInterface(errorLocation) && + !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && + !checkAndReportErrorForExportingPrimitiveType(errorLocation, name) && + !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && + !checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) && + !checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) { + var suggestion = void 0; + if (getSpellingSuggestions && suggestionCount < maximumSuggestionCount) { + suggestion = getSuggestedSymbolForNonexistentSymbol(originalLocation, name, meaning); + var isGlobalScopeAugmentationDeclaration = (suggestion === null || suggestion === void 0 ? void 0 : suggestion.valueDeclaration) && ts.isAmbientModule(suggestion.valueDeclaration) && ts.isGlobalScopeAugmentation(suggestion.valueDeclaration); + if (isGlobalScopeAugmentationDeclaration) { + suggestion = undefined; } - } - } - if (!suggestion) { - if (nameArg) { - var lib = getSuggestedLibForNonExistentName(nameArg); - if (lib) { - error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg), lib); + if (suggestion) { + var suggestionName = symbolToString(suggestion); + var isUncheckedJS = isUncheckedJSSuggestion(originalLocation, suggestion, /*excludeClasses*/ false); + var message = meaning === 1920 /* Namespace */ || nameArg && typeof nameArg !== "string" && ts.nodeIsSynthesized(nameArg) ? ts.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1 + : isUncheckedJS ? ts.Diagnostics.Could_not_find_name_0_Did_you_mean_1 + : ts.Diagnostics.Cannot_find_name_0_Did_you_mean_1; + var diagnostic = createError(errorLocation, message, diagnosticName(nameArg), suggestionName); + addErrorOrSuggestion(!isUncheckedJS, diagnostic); + if (suggestion.valueDeclaration) { + ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName)); + } } - else { - error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg)); + } + if (!suggestion) { + if (nameArg) { + var lib = getSuggestedLibForNonExistentName(nameArg); + if (lib) { + error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg), lib); + } + else { + error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg)); + } } } + suggestionCount++; } - suggestionCount++; - } + }); } return undefined; } + if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields)) { + // We have a match, but the reference occurred within a property initializer and the identifier also binds + // to a local variable in the constructor where the code will be emitted. Note that this is actually allowed + // with ESNext+useDefineForClassFields because the scope semantics are different. + var propertyName = propertyWithInvalidInitializer.name; + error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), diagnosticName(nameArg)); + return undefined; + } // Perform extra checks only if error reporting was requested - if (nameNotFoundMessage && produceDiagnostics) { - if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields)) { - // We have a match, but the reference occurred within a property initializer and the identifier also binds - // to a local variable in the constructor where the code will be emitted. Note that this is actually allowed - // with ESNext+useDefineForClassFields because the scope semantics are different. - var propertyName = propertyWithInvalidInitializer.name; - error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), diagnosticName(nameArg)); - return undefined; - } - // Only check for block-scoped variable if we have an error location and are looking for the - // name with variable meaning - // For example, - // declare module foo { - // interface bar {} - // } - // const foo/*1*/: foo/*2*/.bar; - // The foo at /*1*/ and /*2*/ will share same symbol with two meanings: - // block-scoped variable and namespace module. However, only when we - // try to resolve name in /*1*/ which is used in variable position, - // we want to check for block-scoped - if (errorLocation && - (meaning & 2 /* BlockScopedVariable */ || - ((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 111551 /* Value */) === 111551 /* Value */))) { - var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result); - if (exportOrLocalSymbol.flags & 2 /* BlockScopedVariable */ || exportOrLocalSymbol.flags & 32 /* Class */ || exportOrLocalSymbol.flags & 384 /* Enum */) { - checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation); - } - } - // If we're in an external module, we can't reference value symbols created from UMD export declarations - if (result && isInExternalModule && (meaning & 111551 /* Value */) === 111551 /* Value */ && !(originalLocation.flags & 4194304 /* JSDoc */)) { - var merged = getMergedSymbol(result); - if (ts.length(merged.declarations) && ts.every(merged.declarations, function (d) { return ts.isNamespaceExportDeclaration(d) || ts.isSourceFile(d) && !!d.symbol.globalExports; })) { - errorOrSuggestion(!compilerOptions.allowUmdGlobalAccess, errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); - } - } - // If we're in a parameter initializer or binding name, we can't reference the values of the parameter whose initializer we're within or parameters to the right - if (result && associatedDeclarationForContainingInitializerOrBindingName && !withinDeferredContext && (meaning & 111551 /* Value */) === 111551 /* Value */) { - var candidate = getMergedSymbol(getLateBoundSymbol(result)); - var root = ts.getRootDeclaration(associatedDeclarationForContainingInitializerOrBindingName); - // A parameter initializer or binding pattern initializer within a parameter cannot refer to itself - if (candidate === getSymbolOfNode(associatedDeclarationForContainingInitializerOrBindingName)) { - error(errorLocation, ts.Diagnostics.Parameter_0_cannot_reference_itself, ts.declarationNameToString(associatedDeclarationForContainingInitializerOrBindingName.name)); - } - // And it cannot refer to any declarations which come after it - else if (candidate.valueDeclaration && candidate.valueDeclaration.pos > associatedDeclarationForContainingInitializerOrBindingName.pos && root.parent.locals && lookup(root.parent.locals, candidate.escapedName, meaning) === candidate) { - error(errorLocation, ts.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it, ts.declarationNameToString(associatedDeclarationForContainingInitializerOrBindingName.name), ts.declarationNameToString(errorLocation)); - } - } - if (result && errorLocation && meaning & 111551 /* Value */ && result.flags & 2097152 /* Alias */ && !(result.flags & 111551 /* Value */) && !ts.isValidTypeOnlyAliasUseSite(errorLocation)) { - var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result); - if (typeOnlyDeclaration) { - var message = typeOnlyDeclaration.kind === 274 /* ExportSpecifier */ - ? ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type - : ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type; - var unescapedName = ts.unescapeLeadingUnderscores(name); - addTypeOnlyDeclarationRelatedInfo(error(errorLocation, message, unescapedName), typeOnlyDeclaration, unescapedName); + if (nameNotFoundMessage) { + addLazyDiagnostic(function () { + // Only check for block-scoped variable if we have an error location and are looking for the + // name with variable meaning + // For example, + // declare module foo { + // interface bar {} + // } + // const foo/*1*/: foo/*2*/.bar; + // The foo at /*1*/ and /*2*/ will share same symbol with two meanings: + // block-scoped variable and namespace module. However, only when we + // try to resolve name in /*1*/ which is used in variable position, + // we want to check for block-scoped + if (errorLocation && + (meaning & 2 /* BlockScopedVariable */ || + ((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 111551 /* Value */) === 111551 /* Value */))) { + var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result); + if (exportOrLocalSymbol.flags & 2 /* BlockScopedVariable */ || exportOrLocalSymbol.flags & 32 /* Class */ || exportOrLocalSymbol.flags & 384 /* Enum */) { + checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation); + } + } + // If we're in an external module, we can't reference value symbols created from UMD export declarations + if (result && isInExternalModule && (meaning & 111551 /* Value */) === 111551 /* Value */ && !(originalLocation.flags & 8388608 /* JSDoc */)) { + var merged = getMergedSymbol(result); + if (ts.length(merged.declarations) && ts.every(merged.declarations, function (d) { return ts.isNamespaceExportDeclaration(d) || ts.isSourceFile(d) && !!d.symbol.globalExports; })) { + errorOrSuggestion(!compilerOptions.allowUmdGlobalAccess, errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); + } + } + // If we're in a parameter initializer or binding name, we can't reference the values of the parameter whose initializer we're within or parameters to the right + if (result && associatedDeclarationForContainingInitializerOrBindingName && !withinDeferredContext && (meaning & 111551 /* Value */) === 111551 /* Value */) { + var candidate = getMergedSymbol(getLateBoundSymbol(result)); + var root = ts.getRootDeclaration(associatedDeclarationForContainingInitializerOrBindingName); + // A parameter initializer or binding pattern initializer within a parameter cannot refer to itself + if (candidate === getSymbolOfNode(associatedDeclarationForContainingInitializerOrBindingName)) { + error(errorLocation, ts.Diagnostics.Parameter_0_cannot_reference_itself, ts.declarationNameToString(associatedDeclarationForContainingInitializerOrBindingName.name)); + } + // And it cannot refer to any declarations which come after it + else if (candidate.valueDeclaration && candidate.valueDeclaration.pos > associatedDeclarationForContainingInitializerOrBindingName.pos && root.parent.locals && lookup(root.parent.locals, candidate.escapedName, meaning) === candidate) { + error(errorLocation, ts.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it, ts.declarationNameToString(associatedDeclarationForContainingInitializerOrBindingName.name), ts.declarationNameToString(errorLocation)); + } + } + if (result && errorLocation && meaning & 111551 /* Value */ && result.flags & 2097152 /* Alias */ && !(result.flags & 111551 /* Value */) && !ts.isValidTypeOnlyAliasUseSite(errorLocation)) { + var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result); + if (typeOnlyDeclaration) { + var message = typeOnlyDeclaration.kind === 275 /* ExportSpecifier */ + ? ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type + : ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type; + var unescapedName = ts.unescapeLeadingUnderscores(name); + addTypeOnlyDeclarationRelatedInfo(error(errorLocation, message, unescapedName), typeOnlyDeclaration, unescapedName); + } } - } + }); } return result; } function addTypeOnlyDeclarationRelatedInfo(diagnostic, typeOnlyDeclaration, unescapedName) { if (!typeOnlyDeclaration) return diagnostic; - return ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(typeOnlyDeclaration, typeOnlyDeclaration.kind === 274 /* ExportSpecifier */ ? ts.Diagnostics._0_was_exported_here : ts.Diagnostics._0_was_imported_here, unescapedName)); + return ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(typeOnlyDeclaration, typeOnlyDeclaration.kind === 275 /* ExportSpecifier */ ? ts.Diagnostics._0_was_exported_here : ts.Diagnostics._0_was_imported_here, unescapedName)); } function getIsDeferredContext(location, lastLocation) { - if (location.kind !== 213 /* ArrowFunction */ && location.kind !== 212 /* FunctionExpression */) { + if (location.kind !== 214 /* ArrowFunction */ && location.kind !== 213 /* FunctionExpression */) { // initializers in instance property declaration of class like entities are executed in constructor and thus deferred return ts.isTypeQueryNode(location) || ((ts.isFunctionLikeDeclaration(location) || - (location.kind === 166 /* PropertyDeclaration */ && !ts.isStatic(location))) && (!lastLocation || lastLocation !== location.name)); // A name is evaluated within the enclosing scope - so it shouldn't count as deferred + (location.kind === 167 /* PropertyDeclaration */ && !ts.isStatic(location))) && (!lastLocation || lastLocation !== location.name)); // A name is evaluated within the enclosing scope - so it shouldn't count as deferred } if (lastLocation && lastLocation === location.name) { return false; @@ -49078,12 +49851,12 @@ var ts; } function isSelfReferenceLocation(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 260 /* ModuleDeclaration */: // For `namespace N { N; }` + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 261 /* ModuleDeclaration */: // For `namespace N { N; }` return true; default: return false; @@ -49096,7 +49869,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 162 /* TypeParameter */) { + if (decl.kind === 163 /* TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); // TODO: GH#18217 @@ -49153,9 +49926,9 @@ var ts; function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 79 /* Identifier */: - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -49199,7 +49972,7 @@ var ts; return name === "any" || name === "string" || name === "number" || name === "boolean" || name === "never" || name === "unknown"; } function checkAndReportErrorForExportingPrimitiveType(errorLocation, name) { - if (isPrimitiveTypeName(name) && errorLocation.parent.kind === 274 /* ExportSpecifier */) { + if (isPrimitiveTypeName(name) && errorLocation.parent.kind === 275 /* ExportSpecifier */) { error(errorLocation, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, name); return true; } @@ -49275,10 +50048,10 @@ var ts; return; } // Block-scoped variables cannot be used before their definition - var declaration = (_a = result.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 259 /* EnumDeclaration */); }); + var declaration = (_a = result.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 260 /* EnumDeclaration */); }); if (declaration === undefined) return ts.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration"); - if (!(declaration.flags & 8388608 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { + if (!(declaration.flags & 16777216 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { var diagnosticMessage = void 0; var declarationName = ts.declarationNameToString(ts.getNameOfDeclaration(declaration)); if (result.flags & 2 /* BlockScopedVariable */) { @@ -49312,13 +50085,13 @@ var ts; } function getAnyImportSyntax(node) { switch (node.kind) { - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return node; - case 266 /* ImportClause */: + case 267 /* ImportClause */: return node.parent; - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: return node.parent.parent; - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: return node.parent.parent.parent; default: return undefined; @@ -49343,22 +50116,22 @@ var ts; * const { x } = require ... */ function isAliasSymbolDeclaration(node) { - return node.kind === 264 /* ImportEqualsDeclaration */ - || node.kind === 263 /* NamespaceExportDeclaration */ - || node.kind === 266 /* ImportClause */ && !!node.name - || node.kind === 267 /* NamespaceImport */ - || node.kind === 273 /* NamespaceExport */ - || node.kind === 269 /* ImportSpecifier */ - || node.kind === 274 /* ExportSpecifier */ - || node.kind === 270 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) + return node.kind === 265 /* ImportEqualsDeclaration */ + || node.kind === 264 /* NamespaceExportDeclaration */ + || node.kind === 267 /* ImportClause */ && !!node.name + || node.kind === 268 /* NamespaceImport */ + || node.kind === 274 /* NamespaceExport */ + || node.kind === 270 /* ImportSpecifier */ + || node.kind === 275 /* ExportSpecifier */ + || node.kind === 271 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && ts.getAssignmentDeclarationKind(node) === 2 /* ModuleExports */ && ts.exportAssignmentIsAlias(node) || ts.isAccessExpression(node) && ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* EqualsToken */ && isAliasableOrJsExpression(node.parent.right) - || node.kind === 295 /* ShorthandPropertyAssignment */ - || node.kind === 294 /* PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) + || node.kind === 297 /* ShorthandPropertyAssignment */ + || node.kind === 296 /* PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) || ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node); } function isAliasableOrJsExpression(e) { @@ -49372,7 +50145,7 @@ var ts; ? resolveSymbol(getPropertyOfType(resolveExternalModuleTypeByLiteral(name), commonJSPropertyAccess.name.escapedText)) : undefined; } - if (ts.isVariableDeclaration(node) || node.moduleReference.kind === 276 /* ExternalModuleReference */) { + if (ts.isVariableDeclaration(node) || node.moduleReference.kind === 277 /* ExternalModuleReference */) { var immediate = resolveExternalModuleName(node, ts.getExternalModuleRequireArgument(node) || ts.getExternalModuleImportEqualsDeclarationExpression(node)); var resolved_4 = resolveExternalModuleSymbol(immediate); markSymbolOfAliasDeclarationIfTypeOnly(node, immediate, resolved_4, /*overwriteEmpty*/ false); @@ -49385,7 +50158,7 @@ var ts; function checkAndReportErrorForResolvingImportAliasToTypeOnlySymbol(node, resolved) { if (markSymbolOfAliasDeclarationIfTypeOnly(node, /*immediateTarget*/ undefined, resolved, /*overwriteEmpty*/ false) && !node.isTypeOnly) { var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(getSymbolOfNode(node)); - var isExport = typeOnlyDeclaration.kind === 274 /* ExportSpecifier */; + var isExport = typeOnlyDeclaration.kind === 275 /* ExportSpecifier */; var message = isExport ? ts.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type : ts.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type; @@ -49743,31 +50516,31 @@ var ts; function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 264 /* ImportEqualsDeclaration */: - case 253 /* VariableDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 254 /* VariableDeclaration */: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 266 /* ImportClause */: + case 267 /* ImportClause */: return getTargetOfImportClause(node, dontRecursivelyResolve); - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 273 /* NamespaceExport */: + case 274 /* NamespaceExport */: return getTargetOfNamespaceExport(node, dontRecursivelyResolve); - case 269 /* ImportSpecifier */: - case 202 /* BindingElement */: + case 270 /* ImportSpecifier */: + case 203 /* BindingElement */: return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 274 /* ExportSpecifier */: + case 275 /* ExportSpecifier */: return getTargetOfExportSpecifier(node, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, dontRecursivelyResolve); - case 270 /* ExportAssignment */: - case 220 /* BinaryExpression */: + case 271 /* ExportAssignment */: + case 221 /* BinaryExpression */: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return resolveEntityName(node.name, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ true, dontRecursivelyResolve); - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return getTargetOfPropertyAssignment(node, dontRecursivelyResolve); - case 206 /* ElementAccessExpression */: - case 205 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: return getTargetOfAccessExpression(node, dontRecursivelyResolve); default: return ts.Debug.fail(); @@ -49919,13 +50692,13 @@ var ts; entityName = entityName.parent; } // Check for case 1 and 3 in the above example - if (entityName.kind === 79 /* Identifier */ || entityName.parent.kind === 160 /* QualifiedName */) { + if (entityName.kind === 79 /* Identifier */ || entityName.parent.kind === 161 /* QualifiedName */) { return resolveEntityName(entityName, 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } else { // Case 2 in above example // entityName.kind could be a QualifiedName or a Missing identifier - ts.Debug.assert(entityName.parent.kind === 264 /* ImportEqualsDeclaration */); + ts.Debug.assert(entityName.parent.kind === 265 /* ImportEqualsDeclaration */); return resolveEntityName(entityName, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } } @@ -49971,9 +50744,9 @@ var ts; return getMergedSymbol(symbolFromJSPrototype); } } - else if (name.kind === 160 /* QualifiedName */ || name.kind === 205 /* PropertyAccessExpression */) { - var left = name.kind === 160 /* QualifiedName */ ? name.left : name.expression; - var right = name.kind === 160 /* QualifiedName */ ? name.right : name.name; + else if (name.kind === 161 /* QualifiedName */ || name.kind === 206 /* PropertyAccessExpression */) { + var left = name.kind === 161 /* QualifiedName */ ? name.left : name.expression; + var right = name.kind === 161 /* QualifiedName */ ? name.right : name.name; var namespace = resolveEntityName(left, namespaceMeaning, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace || ts.nodeIsMissing(right)) { return undefined; @@ -50031,7 +50804,7 @@ var ts; throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); - if (!ts.nodeIsSynthesized(name) && ts.isEntityName(name) && (symbol.flags & 2097152 /* Alias */ || name.parent.kind === 270 /* ExportAssignment */)) { + if (!ts.nodeIsSynthesized(name) && ts.isEntityName(name) && (symbol.flags & 2097152 /* Alias */ || name.parent.kind === 271 /* ExportAssignment */)) { markSymbolOfAliasDeclarationIfTypeOnly(ts.getAliasDeclarationFromName(name), symbol, /*finalTarget*/ undefined, /*overwriteEmpty*/ true); } return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -50051,7 +50824,7 @@ var ts; } } function getAssignmentDeclarationLocation(node) { - var typeAlias = ts.findAncestor(node, function (node) { return !(ts.isJSDocNode(node) || node.flags & 4194304 /* JSDoc */) ? "quit" : ts.isJSDocTypeAlias(node); }); + var typeAlias = ts.findAncestor(node, function (node) { return !(ts.isJSDocNode(node) || node.flags & 8388608 /* JSDoc */) ? "quit" : ts.isJSDocTypeAlias(node); }); if (typeAlias) { return; } @@ -50128,7 +50901,7 @@ var ts; : undefined; } function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation) { - var _a, _b, _c, _d, _e, _f, _g; + var _a, _b, _c, _d, _e, _f, _g, _h; if (isForAugmentation === void 0) { isForAugmentation = false; } if (ts.startsWith(moduleReference, "@types/")) { var diag = ts.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1; @@ -50165,7 +50938,11 @@ var ts; } if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { var isSyncImport = (currentSourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS && !ts.findAncestor(location, ts.isImportCall)) || !!ts.findAncestor(location, ts.isImportEqualsDeclaration); - if (isSyncImport && sourceFile.impliedNodeFormat === ts.ModuleKind.ESNext) { + var overrideClauseHost = ts.findAncestor(location, function (l) { return ts.isImportTypeNode(l) || ts.isExportDeclaration(l) || ts.isImportDeclaration(l); }); + var overrideClause = overrideClauseHost && ts.isImportTypeNode(overrideClauseHost) ? (_g = overrideClauseHost.assertions) === null || _g === void 0 ? void 0 : _g.assertClause : overrideClauseHost === null || overrideClauseHost === void 0 ? void 0 : overrideClauseHost.assertClause; + // An override clause will take effect for type-only imports and import types, and allows importing the types across formats, regardless of + // normal mode restrictions + if (isSyncImport && sourceFile.impliedNodeFormat === ts.ModuleKind.ESNext && !ts.getResolutionModeOverrideForClause(overrideClause)) { error(errorNode, ts.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead, moduleReference); } if (mode === ts.ModuleKind.ESNext && compilerOptions.resolveJsonModule && resolvedModule.extension === ".json" /* Json */) { @@ -50246,10 +51023,10 @@ var ts; } else if (mode === ts.ModuleKind.ESNext && resolutionIsNode12OrNext && isExtensionlessRelativePathImport) { var absoluteRef_1 = ts.getNormalizedAbsolutePath(moduleReference, ts.getDirectoryPath(currentSourceFile.path)); - var suggestedExt = (_g = suggestedExtensions.find(function (_a) { + var suggestedExt = (_h = suggestedExtensions.find(function (_a) { var actualExt = _a[0], _importExt = _a[1]; return host.fileExists(absoluteRef_1 + actualExt); - })) === null || _g === void 0 ? void 0 : _g[1]; + })) === null || _h === void 0 ? void 0 : _h[1]; if (suggestedExt) { error(errorNode, ts.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0, moduleReference + suggestedExt); } @@ -50317,9 +51094,10 @@ var ts; // references a symbol that is at least declared as a module or a variable. The target of the 'export =' may // combine other declarations with the module or variable (e.g. a class/module, function/module, interface/variable). function resolveESModuleSymbol(moduleSymbol, referencingLocation, dontResolveAlias, suppressInteropError) { + var _a; var symbol = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias); if (!dontResolveAlias && symbol) { - if (!suppressInteropError && !(symbol.flags & (1536 /* Module */ | 3 /* Variable */)) && !ts.getDeclarationOfKind(symbol, 303 /* SourceFile */)) { + if (!suppressInteropError && !(symbol.flags & (1536 /* Module */ | 3 /* Variable */)) && !ts.getDeclarationOfKind(symbol, 305 /* SourceFile */)) { var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop"; @@ -50335,12 +51113,16 @@ var ts; if (defaultOnlyType) { return cloneTypeAsModuleType(symbol, defaultOnlyType, referenceParent); } - if (ts.getESModuleInterop(compilerOptions)) { + var targetFile = (_a = moduleSymbol === null || moduleSymbol === void 0 ? void 0 : moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); + var isEsmCjsRef = targetFile && isESMFormatImportImportingCommonjsFormatFile(getUsageModeForExpression(reference), targetFile.impliedNodeFormat); + if (ts.getESModuleInterop(compilerOptions) || isEsmCjsRef) { var sigs = getSignaturesOfStructuredType(type, 0 /* Call */); if (!sigs || !sigs.length) { sigs = getSignaturesOfStructuredType(type, 1 /* Construct */); } - if ((sigs && sigs.length) || getPropertyOfType(type, "default" /* Default */, /*skipObjectFunctionPropertyAugment*/ true)) { + if ((sigs && sigs.length) || + getPropertyOfType(type, "default" /* Default */, /*skipObjectFunctionPropertyAugment*/ true) || + isEsmCjsRef) { var moduleType = getTypeWithSyntheticDefaultImportType(type, symbol, moduleSymbol, reference); return cloneTypeAsModuleType(symbol, moduleType, referenceParent); } @@ -50598,8 +51380,15 @@ var ts; return res; } var candidates = ts.mapDefined(symbol.declarations, function (d) { - if (!ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent)) { - return getSymbolOfNode(d.parent); + if (!ts.isAmbientModule(d) && d.parent) { + // direct children of a module + if (hasNonGlobalAugmentationExternalModuleSymbol(d.parent)) { + return getSymbolOfNode(d.parent); + } + // export ='d member of an ambient module + if (ts.isModuleBlock(d.parent) && d.parent.parent && resolveExternalModuleSymbol(getSymbolOfNode(d.parent.parent)) === symbol) { + return getSymbolOfNode(d.parent.parent); + } } if (ts.isClassExpression(d) && ts.isBinaryExpression(d.parent) && d.parent.operatorToken.kind === 63 /* EqualsToken */ && ts.isAccessExpression(d.parent.left) && ts.isEntityNameExpression(d.parent.left.expression)) { if (ts.isModuleExportsAccessExpression(d.parent.left) || ts.isExportsIdentifier(d.parent.left.expression)) { @@ -50673,7 +51462,7 @@ var ts; var members = node.members; for (var _i = 0, members_3 = members; _i < members_3.length; _i++) { var member = members_3[_i]; - if (member.kind === 170 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 171 /* Constructor */ && ts.nodeIsPresent(member.body)) { return member; } } @@ -50682,9 +51471,7 @@ var ts; var result = new Type(checker, flags); typeCount++; result.id = typeCount; - if (produceDiagnostics) { // Only record types from one checker - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.recordType(result); - } + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.recordType(result); return result; } function createOriginType(flags) { @@ -50783,12 +51570,12 @@ var ts; } } switch (location.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) { break; } // falls through - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: var sym = getSymbolOfNode(location); // `sym` may not have exports if this module declaration is backed by the symbol for a `const` that's being rewritten // into a namespace - in such cases, it's best to just let the namespace appear empty (the const members couldn't have referred @@ -50797,9 +51584,9 @@ var ts; return { value: result }; } break; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: // Type parameters are bound into `members` lists so they can merge across declarations // This is troublesome, since in all other respects, they behave like locals :cries: // TODO: the below is shared with similar code in `resolveName` - in fact, rephrasing all this symbol @@ -50840,7 +51627,7 @@ var ts; var cache = (links.accessibleChainCache || (links.accessibleChainCache = new ts.Map())); // Go from enclosingDeclaration to the first scope we check, so the cache is keyed off the scope and thus shared more var firstRelevantLocation = forEachSymbolTableInScope(enclosingDeclaration, function (_, __, ___, node) { return node; }); - var key = "".concat(useOnlyExternalAliasing ? 0 : 1, "|").concat(firstRelevantLocation && getNodeId(firstRelevantLocation), "|").concat(meaning); + var key = (useOnlyExternalAliasing ? 0 : 1) + "|" + (firstRelevantLocation && getNodeId(firstRelevantLocation)) + "|" + meaning; if (cache.has(key)) { return cache.get(key); } @@ -50894,7 +51681,7 @@ var ts; && (isLocalNameLookup ? !ts.some(symbolFromSymbolTable.declarations, ts.isNamespaceReexportDeclaration) : true) // While exports are generally considered to be in scope, export-specifier declared symbols are _not_ // See similar comment in `resolveName` for details - && (ignoreQualification || !ts.getDeclarationOfKind(symbolFromSymbolTable, 274 /* ExportSpecifier */))) { + && (ignoreQualification || !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* ExportSpecifier */))) { var resolvedImportedSymbol = resolveAlias(symbolFromSymbolTable); var candidate = getCandidateListForSymbol(symbolFromSymbolTable, resolvedImportedSymbol, ignoreQualification); if (candidate) { @@ -50938,7 +51725,7 @@ var ts; return true; } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 274 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -50953,10 +51740,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: continue; default: return false; @@ -51086,10 +51873,10 @@ var ts; return node && getSymbolOfNode(node); } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 303 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { - return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 303 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -51145,14 +51932,14 @@ var ts; function isEntityNameVisible(entityName, enclosingDeclaration) { // get symbol of the first identifier of the entityName var meaning; - if (entityName.parent.kind === 180 /* TypeQuery */ || - ts.isExpressionWithTypeArgumentsInClassExtendsClause(entityName.parent) || - entityName.parent.kind === 161 /* ComputedPropertyName */) { + if (entityName.parent.kind === 181 /* TypeQuery */ || + entityName.parent.kind === 228 /* ExpressionWithTypeArguments */ && !ts.isPartOfTypeNode(entityName.parent) || + entityName.parent.kind === 162 /* ComputedPropertyName */) { // Typeof value meaning = 111551 /* Value */ | 1048576 /* ExportValue */; } - else if (entityName.kind === 160 /* QualifiedName */ || entityName.kind === 205 /* PropertyAccessExpression */ || - entityName.parent.kind === 264 /* ImportEqualsDeclaration */) { + else if (entityName.kind === 161 /* QualifiedName */ || entityName.kind === 206 /* PropertyAccessExpression */ || + entityName.parent.kind === 265 /* ImportEqualsDeclaration */) { // Left identifier from type reference or TypeAlias // Entity name of the import declaration meaning = 1920 /* Namespace */; @@ -51193,7 +51980,7 @@ var ts; function symbolToStringWorker(writer) { var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); // TODO: GH#18217 // add neverAsciiEscape for GH#39027 - var printer = (enclosingDeclaration === null || enclosingDeclaration === void 0 ? void 0 : enclosingDeclaration.kind) === 303 /* SourceFile */ ? ts.createPrinter({ removeComments: true, neverAsciiEscape: true }) : ts.createPrinter({ removeComments: true }); + var printer = (enclosingDeclaration === null || enclosingDeclaration === void 0 ? void 0 : enclosingDeclaration.kind) === 305 /* SourceFile */ ? ts.createPrinter({ removeComments: true, neverAsciiEscape: true }) : ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); printer.writeNode(4 /* Unspecified */, entity, /*sourceFile*/ sourceFile, writer); return writer; @@ -51205,10 +51992,10 @@ var ts; function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144 /* WriteArrowStyleSignature */) { - sigOutput = kind === 1 /* Construct */ ? 179 /* ConstructorType */ : 178 /* FunctionType */; + sigOutput = kind === 1 /* Construct */ ? 180 /* ConstructorType */ : 179 /* FunctionType */; } else { - sigOutput = kind === 1 /* Construct */ ? 174 /* ConstructSignature */ : 173 /* CallSignature */; + sigOutput = kind === 1 /* Construct */ ? 175 /* ConstructSignature */ : 174 /* CallSignature */; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); @@ -51383,19 +52170,19 @@ var ts; return ts.factory.createKeywordTypeNode(type === intrinsicMarkerType ? 138 /* IntrinsicKeyword */ : 130 /* AnyKeyword */); } if (type.flags & 2 /* Unknown */) { - return ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */); + return ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */); } if (type.flags & 4 /* String */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(149 /* StringKeyword */); + return ts.factory.createKeywordTypeNode(150 /* StringKeyword */); } if (type.flags & 8 /* Number */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(146 /* NumberKeyword */); + return ts.factory.createKeywordTypeNode(147 /* NumberKeyword */); } if (type.flags & 64 /* BigInt */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(157 /* BigIntKeyword */); + return ts.factory.createKeywordTypeNode(158 /* BigIntKeyword */); } if (type.flags & 16 /* Boolean */ && !type.aliasSymbol) { context.approximateLength += 7; @@ -51453,7 +52240,7 @@ var ts; } } context.approximateLength += 13; - return ts.factory.createTypeOperatorNode(153 /* UniqueKeyword */, ts.factory.createKeywordTypeNode(150 /* SymbolKeyword */)); + return ts.factory.createTypeOperatorNode(154 /* UniqueKeyword */, ts.factory.createKeywordTypeNode(151 /* SymbolKeyword */)); } if (type.flags & 16384 /* Void */) { context.approximateLength += 4; @@ -51461,7 +52248,7 @@ var ts; } if (type.flags & 32768 /* Undefined */) { context.approximateLength += 9; - return ts.factory.createKeywordTypeNode(152 /* UndefinedKeyword */); + return ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */); } if (type.flags & 65536 /* Null */) { context.approximateLength += 4; @@ -51473,11 +52260,11 @@ var ts; } if (type.flags & 4096 /* ESSymbol */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(150 /* SymbolKeyword */); + return ts.factory.createKeywordTypeNode(151 /* SymbolKeyword */); } if (type.flags & 67108864 /* NonPrimitive */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(147 /* ObjectKeyword */); + return ts.factory.createKeywordTypeNode(148 /* ObjectKeyword */); } if (ts.isThisTypeParameter(type)) { if (context.flags & 4194304 /* InObjectTypeLiteral */) { @@ -51505,19 +52292,35 @@ var ts; if (type.flags & 262144 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { if (type.flags & 262144 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { context.approximateLength += (ts.symbolName(type.symbol).length + 6); - return ts.factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, /*constraintNode*/ undefined)); + var constraintNode = void 0; + var constraint = getConstraintOfTypeParameter(type); + if (constraint) { + // If the infer type has a constraint that is not the same as the constraint + // we would have normally inferred based on context, we emit the constraint + // using `infer T extends ?`. We omit inferred constraints from type references + // as they may be elided. + var inferredConstraint = getInferredTypeParameterConstraint(type, /*omitTypeReferences*/ true); + if (!(inferredConstraint && isTypeIdenticalTo(constraint, inferredConstraint))) { + context.approximateLength += 9; + constraintNode = constraint && typeToTypeNodeHelper(constraint, context); + } + } + return ts.factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, constraintNode)); } if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && type.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { - var name = typeParameterToName(type, context); - context.approximateLength += ts.idText(name).length; - return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(ts.idText(name)), /*typeArguments*/ undefined); + var name_2 = typeParameterToName(type, context); + context.approximateLength += ts.idText(name_2).length; + return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(ts.idText(name_2)), /*typeArguments*/ undefined); } // Ignore constraint/default when creating a usage (as opposed to declaration) of a type parameter. - return type.symbol - ? symbolToTypeNode(type.symbol, context, 788968 /* Type */) - : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("?"), /*typeArguments*/ undefined); + if (type.symbol) { + return symbolToTypeNode(type.symbol, context, 788968 /* Type */); + } + var name = (type === markerSuperType || type === markerSubType) && varianceTypeParameter && varianceTypeParameter.symbol ? + (type === markerSubType ? "sub-" : "super-") + ts.symbolName(varianceTypeParameter.symbol) : "?"; + return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(name), /*typeArguments*/ undefined); } if (type.flags & 1048576 /* Union */ && type.origin) { type = type.origin; @@ -51604,10 +52407,16 @@ var ts; var readonlyToken = type.declaration.readonlyToken ? ts.factory.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.factory.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; + var newTypeVariable; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } // We do this to ensure we retain the toplevel keyof-ness of the type which may be lost due to keyof distribution during `getConstraintTypeFromMappedType` - appropriateConstraintTypeNode = ts.factory.createTypeOperatorNode(140 /* KeyOfKeyword */, typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context)); + if (!(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeParameter */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + var newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T")); + var name = typeParameterToName(newParam, context); + newTypeVariable = ts.factory.createTypeReferenceNode(name); + } + appropriateConstraintTypeNode = ts.factory.createTypeOperatorNode(140 /* KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context)); } else { appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type), context); @@ -51617,7 +52426,14 @@ var ts; var templateTypeNode = typeToTypeNodeHelper(removeMissingType(getTemplateTypeFromMappedType(type), !!(getMappedTypeModifiers(type) & 4 /* IncludeOptional */)), context); var mappedTypeNode = ts.factory.createMappedTypeNode(readonlyToken, typeParameterNode, nameTypeNode, questionToken, templateTypeNode, /*members*/ undefined); context.approximateLength += 10; - return ts.setEmitFlags(mappedTypeNode, 1 /* SingleLine */); + var result = ts.setEmitFlags(mappedTypeNode, 1 /* SingleLine */); + if (isMappedTypeWithKeyofConstraintDeclaration(type) && !(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeParameter */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + // homomorphic mapped type with a non-homomorphic naive inlining + // wrap it with a conditional like `SomeModifiersType extends infer U ? {..the mapped type...} : never` to ensure the resulting + // type stays homomorphic + return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), result, ts.factory.createKeywordTypeNode(143 /* NeverKeyword */)); + } + return result; } function createAnonymousTypeNode(type) { var _a; @@ -51632,7 +52448,7 @@ var ts; // Always use 'typeof T' for type of class, enum, and module objects else if (symbol.flags & 32 /* Class */ && !getBaseTypeVariableOfClass(symbol) - && !(symbol.valueDeclaration && symbol.valueDeclaration.kind === 225 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || + && !(symbol.valueDeclaration && symbol.valueDeclaration.kind === 226 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || symbol.flags & (384 /* Enum */ | 512 /* ValueModule */) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, isInstanceType); @@ -51663,7 +52479,7 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* Function */) && (symbol.parent || // is exported function symbol ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 303 /* SourceFile */ || declaration.parent.kind === 261 /* ModuleBlock */; + return declaration.parent.kind === 305 /* SourceFile */ || declaration.parent.kind === 262 /* ModuleBlock */; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { // typeof is allowed only for static/non local functions @@ -51689,7 +52505,7 @@ var ts; context.symbolDepth = new ts.Map(); } var links = context.enclosingDeclaration && getNodeLinks(context.enclosingDeclaration); - var key = "".concat(getTypeId(type), "|").concat(context.flags); + var key = getTypeId(type) + "|" + context.flags; if (links) { links.serializedTypes || (links.serializedTypes = new ts.Map()); } @@ -51729,7 +52545,15 @@ var ts; if (!ts.nodeIsSynthesized(node) && ts.getParseTreeNode(node) === node) { return node; } - return ts.setTextRange(ts.factory.cloneNode(ts.visitEachChild(node, deepCloneOrReuseNode, ts.nullTransformationContext)), node); + return ts.setTextRange(ts.factory.cloneNode(ts.visitEachChild(node, deepCloneOrReuseNode, ts.nullTransformationContext, deepCloneOrReuseNodes)), node); + } + function deepCloneOrReuseNodes(nodes, visitor, test, start, count) { + if (nodes && nodes.length === 0) { + // Ensure we explicitly make a copy of an empty array; visitNodes will not do this unless the array has elements, + // which can lead to us reusing the same empty NodeArray more than once within the same AST during type noding. + return ts.setTextRange(ts.factory.createNodeArray(/*nodes*/ undefined, nodes.hasTrailingComma), nodes); + } + return ts.visitNodes(nodes, visitor, test, start, count); } } function createTypeNodeFromObjectType(type) { @@ -51744,12 +52568,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 178 /* FunctionType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 179 /* FunctionType */, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 179 /* ConstructorType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 180 /* ConstructorType */, context); return signatureNode; } } @@ -51792,7 +52616,7 @@ var ts; } var elementType = typeToTypeNodeHelper(typeArguments[0], context); var arrayType = ts.factory.createArrayTypeNode(elementType); - return type.target === globalArrayType ? arrayType : ts.factory.createTypeOperatorNode(144 /* ReadonlyKeyword */, arrayType); + return type.target === globalArrayType ? arrayType : ts.factory.createTypeOperatorNode(145 /* ReadonlyKeyword */, arrayType); } else if (type.target.objectFlags & 8 /* Tuple */) { typeArguments = ts.sameMap(typeArguments, function (t, i) { return removeMissingType(t, !!(type.target.elementFlags[i] & 2 /* Optional */)); }); @@ -51817,12 +52641,12 @@ var ts; } } var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode(tupleConstituentNodes), 1 /* SingleLine */); - return type.target.readonly ? ts.factory.createTypeOperatorNode(144 /* ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; + return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; } } if (context.encounteredError || (context.flags & 524288 /* AllowEmptyTuple */)) { var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode([]), 1 /* SingleLine */); - return type.target.readonly ? ts.factory.createTypeOperatorNode(144 /* ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; + return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; } context.encounteredError = true; return undefined; // TODO: GH#18217 @@ -51929,13 +52753,13 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 173 /* CallSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 174 /* CallSignature */, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; if (signature.flags & 4 /* Abstract */) continue; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 174 /* ConstructSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 175 /* ConstructSignature */, context)); } for (var _d = 0, _e = resolvedType.indexInfos; _d < _e.length; _d++) { var info = _e[_d]; @@ -51958,7 +52782,7 @@ var ts; } } if (checkTruncationLength(context) && (i + 2 < properties.length - 1)) { - typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... ".concat(properties.length - i, " more ..."), /*questionToken*/ undefined, /*type*/ undefined)); + typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... " + (properties.length - i) + " more ...", /*questionToken*/ undefined, /*type*/ undefined)); addPropertyToElementList(properties[properties.length - 1], context, typeElements); break; } @@ -52022,7 +52846,7 @@ var ts; var signatures = getSignaturesOfType(filterType(propertyType, function (t) { return !(t.flags & 32768 /* Undefined */); }), 0 /* Call */); for (var _i = 0, signatures_1 = signatures; _i < signatures_1.length; _i++) { var signature = signatures_1[_i]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 167 /* MethodSignature */, context, { name: propertyName, questionToken: optionalToken }); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 168 /* MethodSignature */, context, { name: propertyName, questionToken: optionalToken }); typeElements.push(preserveCommentsOn(methodDeclaration)); } } @@ -52041,7 +52865,7 @@ var ts; context.reverseMappedStack.pop(); } } - var modifiers = isReadonlySymbol(propertySymbol) ? [ts.factory.createToken(144 /* ReadonlyKeyword */)] : undefined; + var modifiers = isReadonlySymbol(propertySymbol) ? [ts.factory.createToken(145 /* ReadonlyKeyword */)] : undefined; if (modifiers) { context.approximateLength += 9; } @@ -52050,8 +52874,8 @@ var ts; } function preserveCommentsOn(node) { var _a; - if (ts.some(propertySymbol.declarations, function (d) { return d.kind === 345 /* JSDocPropertyTag */; })) { - var d = (_a = propertySymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 345 /* JSDocPropertyTag */; }); + if (ts.some(propertySymbol.declarations, function (d) { return d.kind === 347 /* JSDocPropertyTag */; })) { + var d = (_a = propertySymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 347 /* JSDocPropertyTag */; }); var commentText = ts.getTextOfJSDocComment(d.comment); if (commentText) { ts.setSyntheticLeadingComments(node, [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]); @@ -52073,7 +52897,7 @@ var ts; else if (types.length > 2) { return [ typeToTypeNodeHelper(types[0], context), - ts.factory.createTypeReferenceNode("... ".concat(types.length - 2, " more ..."), /*typeArguments*/ undefined), + ts.factory.createTypeReferenceNode("... " + (types.length - 2) + " more ...", /*typeArguments*/ undefined), typeToTypeNodeHelper(types[types.length - 1], context) ]; } @@ -52087,7 +52911,7 @@ var ts; var type = types_2[_i]; i++; if (checkTruncationLength(context) && (i + 2 < types.length - 1)) { - result_5.push(ts.factory.createTypeReferenceNode("... ".concat(types.length - i, " more ..."), /*typeArguments*/ undefined)); + result_5.push(ts.factory.createTypeReferenceNode("... " + (types.length - i) + " more ...", /*typeArguments*/ undefined)); var typeNode_1 = typeToTypeNodeHelper(types[types.length - 1], context); if (typeNode_1) { result_5.push(typeNode_1); @@ -52152,7 +52976,7 @@ var ts; } context.approximateLength += (name.length + 4); return ts.factory.createIndexSignature( - /*decorators*/ undefined, indexInfo.isReadonly ? [ts.factory.createToken(144 /* ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); + /*decorators*/ undefined, indexInfo.isReadonly ? [ts.factory.createToken(145 /* ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a, _b, _c, _d; @@ -52170,7 +52994,7 @@ var ts; } var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; // If the expanded parameter list had a variadic in a non-trailing position, don't expand it - var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 170 /* Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); + var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 171 /* Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); var thisParameter = tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); @@ -52197,24 +53021,24 @@ var ts; } } var modifiers = options === null || options === void 0 ? void 0 : options.modifiers; - if ((kind === 179 /* ConstructorType */) && signature.flags & 4 /* Abstract */) { + if ((kind === 180 /* ConstructorType */) && signature.flags & 4 /* Abstract */) { var flags = ts.modifiersToFlags(modifiers); modifiers = ts.factory.createModifiersFromModifierFlags(flags | 128 /* Abstract */); } - var node = kind === 173 /* CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : - kind === 174 /* ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : - kind === 167 /* MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : - kind === 168 /* MethodDeclaration */ ? ts.factory.createMethodDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 170 /* Constructor */ ? ts.factory.createConstructorDeclaration(/*decorators*/ undefined, modifiers, parameters, /*body*/ undefined) : - kind === 171 /* GetAccessor */ ? ts.factory.createGetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : - kind === 172 /* SetAccessor */ ? ts.factory.createSetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : - kind === 175 /* IndexSignature */ ? ts.factory.createIndexSignature(/*decorators*/ undefined, modifiers, parameters, returnTypeNode) : - kind === 315 /* JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : - kind === 178 /* FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 179 /* ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 255 /* FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 212 /* FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : - kind === 213 /* ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : + var node = kind === 174 /* CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : + kind === 175 /* ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : + kind === 168 /* MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : + kind === 169 /* MethodDeclaration */ ? ts.factory.createMethodDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 171 /* Constructor */ ? ts.factory.createConstructorDeclaration(/*decorators*/ undefined, modifiers, parameters, /*body*/ undefined) : + kind === 172 /* GetAccessor */ ? ts.factory.createGetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : + kind === 173 /* SetAccessor */ ? ts.factory.createSetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : + kind === 176 /* IndexSignature */ ? ts.factory.createIndexSignature(/*decorators*/ undefined, modifiers, parameters, returnTypeNode) : + kind === 317 /* JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : + kind === 179 /* FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : + kind === 180 /* ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : + kind === 256 /* FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 213 /* FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : + kind === 214 /* ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : ts.Debug.assertNever(kind); if (typeArguments) { node.typeArguments = ts.factory.createNodeArray(typeArguments); @@ -52239,11 +53063,12 @@ var ts; function typeParameterToDeclarationWithConstraint(type, context, constraintNode) { var savedContextFlags = context.flags; context.flags &= ~512 /* WriteTypeParametersInQualifiedName */; // Avoids potential infinite loop when building for a claimspace with a generic + var modifiers = ts.factory.createModifiersFromModifierFlags(getVarianceModifiers(type)); var name = typeParameterToName(type, context); var defaultParameter = getDefaultFromTypeParameter(type); var defaultParameterNode = defaultParameter && typeToTypeNodeHelper(defaultParameter, context); context.flags = savedContextFlags; - return ts.factory.createTypeParameterDeclaration(name, constraintNode, defaultParameterNode); + return ts.factory.createTypeParameterDeclaration(modifiers, name, constraintNode, defaultParameterNode); } function typeParameterToDeclaration(type, context, constraint) { if (constraint === void 0) { constraint = getConstraintOfTypeParameter(type); } @@ -52251,9 +53076,9 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 163 /* Parameter */); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 164 /* Parameter */); if (!parameterDeclaration && !ts.isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 338 /* JSDocParameterTag */); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 340 /* JSDocParameterTag */); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { @@ -52268,7 +53093,7 @@ var ts; var dotDotDotToken = isRest ? ts.factory.createToken(25 /* DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* Identifier */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : - parameterDeclaration.name.kind === 160 /* QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : + parameterDeclaration.name.kind === 161 /* QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); @@ -52431,13 +53256,13 @@ var ts; } return top; } - function getSpecifierForModuleSymbol(symbol, context) { + function getSpecifierForModuleSymbol(symbol, context, overrideImportMode) { var _a; - var file = ts.getDeclarationOfKind(symbol, 303 /* SourceFile */); + var file = ts.getDeclarationOfKind(symbol, 305 /* SourceFile */); if (!file) { var equivalentFileSymbol = ts.firstDefined(symbol.declarations, function (d) { return getFileSymbolIfFileSymbolExportEqualsContainer(d, symbol); }); if (equivalentFileSymbol) { - file = ts.getDeclarationOfKind(equivalentFileSymbol, 303 /* SourceFile */); + file = ts.getDeclarationOfKind(equivalentFileSymbol, 305 /* SourceFile */); } } if (file && file.moduleName !== undefined) { @@ -52466,8 +53291,10 @@ var ts; return ts.getSourceFileOfNode(ts.getNonAugmentationDeclaration(symbol)).fileName; // A resolver may not be provided for baselines and errors - in those cases we use the fileName in full } var contextFile = ts.getSourceFileOfNode(ts.getOriginalNode(context.enclosingDeclaration)); + var resolutionMode = overrideImportMode || (contextFile === null || contextFile === void 0 ? void 0 : contextFile.impliedNodeFormat); + var cacheKey = getSpecifierCacheKey(contextFile.path, resolutionMode); var links = getSymbolLinks(symbol); - var specifier = links.specifierCache && links.specifierCache.get(contextFile.path); + var specifier = links.specifierCache && links.specifierCache.get(cacheKey); if (!specifier) { var isBundle_1 = !!ts.outFile(compilerOptions); // For declaration bundles, we need to generate absolute paths relative to the common source dir for imports, @@ -52476,11 +53303,19 @@ var ts; // specifier preference var moduleResolverHost = context.tracker.moduleResolverHost; var specifierCompilerOptions = isBundle_1 ? __assign(__assign({}, compilerOptions), { baseUrl: moduleResolverHost.getCommonSourceDirectory() }) : compilerOptions; - specifier = ts.first(ts.moduleSpecifiers.getModuleSpecifiers(symbol, checker, specifierCompilerOptions, contextFile, moduleResolverHost, { importModuleSpecifierPreference: isBundle_1 ? "non-relative" : "project-relative", importModuleSpecifierEnding: isBundle_1 ? "minimal" : undefined })); + specifier = ts.first(ts.moduleSpecifiers.getModuleSpecifiers(symbol, checker, specifierCompilerOptions, contextFile, moduleResolverHost, { + importModuleSpecifierPreference: isBundle_1 ? "non-relative" : "project-relative", + importModuleSpecifierEnding: isBundle_1 ? "minimal" + : resolutionMode === ts.ModuleKind.ESNext ? "js" + : undefined, + }, { overrideImportMode: overrideImportMode })); (_a = links.specifierCache) !== null && _a !== void 0 ? _a : (links.specifierCache = new ts.Map()); - links.specifierCache.set(contextFile.path, specifier); + links.specifierCache.set(cacheKey, specifier); } return specifier; + function getSpecifierCacheKey(path, mode) { + return mode === undefined ? path : mode + "|" + path; + } } function symbolToEntityNameNode(symbol) { var identifier = ts.factory.createIdentifier(ts.unescapeLeadingUnderscores(symbol.escapedName)); @@ -52493,13 +53328,45 @@ var ts; // module is root, must use `ImportTypeNode` var nonRootParts = chain.length > 1 ? createAccessFromSymbolChain(chain, chain.length - 1, 1) : undefined; var typeParameterNodes = overrideTypeArguments || lookupTypeParameterNodes(chain, 0, context); - var specifier = getSpecifierForModuleSymbol(chain[0], context); + var contextFile = ts.getSourceFileOfNode(ts.getOriginalNode(context.enclosingDeclaration)); + var targetFile = ts.getSourceFileOfModule(chain[0]); + var specifier = void 0; + var assertion = void 0; + if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { + // An `import` type directed at an esm format file is only going to resolve in esm mode - set the esm mode assertion + if ((targetFile === null || targetFile === void 0 ? void 0 : targetFile.impliedNodeFormat) === ts.ModuleKind.ESNext && targetFile.impliedNodeFormat !== (contextFile === null || contextFile === void 0 ? void 0 : contextFile.impliedNodeFormat)) { + specifier = getSpecifierForModuleSymbol(chain[0], context, ts.ModuleKind.ESNext); + assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([ + ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral("import")) + ]))); + } + } + if (!specifier) { + specifier = getSpecifierForModuleSymbol(chain[0], context); + } if (!(context.flags & 67108864 /* AllowNodeModulesRelativePaths */) && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Classic && specifier.indexOf("/node_modules/") >= 0) { - // If ultimately we can only name the symbol with a reference that dives into a `node_modules` folder, we should error - // since declaration files with these kinds of references are liable to fail when published :( - context.encounteredError = true; - if (context.tracker.reportLikelyUnsafeImportRequiredError) { - context.tracker.reportLikelyUnsafeImportRequiredError(specifier); + var oldSpecifier = specifier; + if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { + // We might be able to write a portable import type using a mode override; try specifier generation again, but with a different mode set + var swappedMode = (contextFile === null || contextFile === void 0 ? void 0 : contextFile.impliedNodeFormat) === ts.ModuleKind.ESNext ? ts.ModuleKind.CommonJS : ts.ModuleKind.ESNext; + specifier = getSpecifierForModuleSymbol(chain[0], context, swappedMode); + if (specifier.indexOf("/node_modules/") >= 0) { + // Still unreachable :( + specifier = oldSpecifier; + } + else { + assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([ + ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral(swappedMode === ts.ModuleKind.ESNext ? "import" : "require")) + ]))); + } + } + if (!assertion) { + // If ultimately we can only name the symbol with a reference that dives into a `node_modules` folder, we should error + // since declaration files with these kinds of references are liable to fail when published :( + context.encounteredError = true; + if (context.tracker.reportLikelyUnsafeImportRequiredError) { + context.tracker.reportLikelyUnsafeImportRequiredError(oldSpecifier); + } } } var lit = ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(specifier)); @@ -52511,12 +53378,12 @@ var ts; var lastId = ts.isIdentifier(nonRootParts) ? nonRootParts : nonRootParts.right; lastId.typeArguments = undefined; } - return ts.factory.createImportTypeNode(lit, nonRootParts, typeParameterNodes, isTypeOf); + return ts.factory.createImportTypeNode(lit, assertion, nonRootParts, typeParameterNodes, isTypeOf); } else { var splitNode = getTopmostIndexedAccessType(nonRootParts); var qualifier = splitNode.objectType.typeName; - return ts.factory.createIndexedAccessTypeNode(ts.factory.createImportTypeNode(lit, qualifier, typeParameterNodes, isTypeOf), splitNode.indexType); + return ts.factory.createIndexedAccessTypeNode(ts.factory.createImportTypeNode(lit, assertion, qualifier, typeParameterNodes, isTypeOf), splitNode.indexType); } } var entityName = createAccessFromSymbolChain(chain, chain.length - 1, 0); @@ -52554,7 +53421,15 @@ var ts; }); } } - if (!symbolName) { + if (symbolName === undefined) { + var name = ts.firstDefined(symbol.declarations, ts.getNameOfDeclaration); + if (name && ts.isComputedPropertyName(name) && ts.isEntityName(name.expression)) { + var LHS = createAccessFromSymbolChain(chain, index - 1, stopper); + if (ts.isEntityName(LHS)) { + return ts.factory.createIndexedAccessTypeNode(ts.factory.createParenthesizedType(ts.factory.createTypeQueryNode(LHS)), ts.factory.createTypeQueryNode(name.expression)); + } + return LHS; + } symbolName = getNameOfSymbolAsWritten(symbol, context); } context.approximateLength += symbolName.length + 1; @@ -52610,7 +53485,7 @@ var ts; var text = rawtext; while (((_b = context.typeParameterNamesByText) === null || _b === void 0 ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { i++; - text = "".concat(rawtext, "_").concat(i); + text = rawtext + "_" + i; } if (text !== rawtext) { result = ts.factory.createIdentifier(text, result.typeArguments); @@ -52842,17 +53717,17 @@ var ts; return transformed === existing ? ts.setTextRange(ts.factory.cloneNode(existing), existing) : transformed; function visitExistingNodeTreeSymbols(node) { // We don't _actually_ support jsdoc namepath types, emit `any` instead - if (ts.isJSDocAllType(node) || node.kind === 317 /* JSDocNamepathType */) { + if (ts.isJSDocAllType(node) || node.kind === 319 /* JSDocNamepathType */) { return ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); } if (ts.isJSDocUnknownType(node)) { - return ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */); + return ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */); } if (ts.isJSDocNullableType(node)) { return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createLiteralTypeNode(ts.factory.createNull())]); } if (ts.isJSDocOptionalType(node)) { - return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createKeywordTypeNode(152 /* UndefinedKeyword */)]); + return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */)]); } if (ts.isJSDocNonNullableType(node)) { return ts.visitNode(node.type, visitExistingNodeTreeSymbols); @@ -52930,7 +53805,7 @@ var ts; function getNameForJSDocFunctionParameter(p, index) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? "args" - : "arg".concat(index); + : "arg" + index; } function rewriteModuleSpecifier(parent, lit) { if (bundled) { @@ -52961,8 +53836,8 @@ var ts; } } function symbolTableToDeclarationStatements(symbolTable, context, bundled) { - var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 168 /* MethodDeclaration */, /*useAcessors*/ true); - var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (_decorators, mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 167 /* MethodSignature */, /*useAcessors*/ false); + var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 169 /* MethodDeclaration */, /*useAcessors*/ true); + var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (_decorators, mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 168 /* MethodSignature */, /*useAcessors*/ false); // TODO: Use `setOriginalNode` on original declaration names where possible so these declarations see some kind of // declaration mapping // We save the enclosing declaration off here so it's not adjusted by well-meaning declaration @@ -53020,7 +53895,7 @@ var ts; // Pass 0: Correct situations where a module has both an `export = ns` and multiple top-level exports by stripping the export modifiers from // the top-level exports and exporting them in the targeted ns, as can occur when a js file has both typedefs and `module.export` assignments var excessExports = ts.filter(statements, function (s) { return !!(ts.getEffectiveModifierFlags(s) & 1 /* Export */); }); - var name_2 = ns.name; + var name_3 = ns.name; var body = ns.body; if (ts.length(excessExports)) { ns = ts.factory.updateModuleDeclaration(ns, ns.decorators, ns.modifiers, ns.name, body = ts.factory.updateModuleBlock(body, ts.factory.createNodeArray(__spreadArray(__spreadArray([], ns.body.statements, true), [ts.factory.createExportDeclaration( @@ -53031,7 +53906,7 @@ var ts; statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, nsIndex), true), [ns], false), statements.slice(nsIndex + 1), true); } // Pass 1: Flatten `export namespace _exports {} export = _exports;` so long as the `export=` only points at a single namespace declaration - if (!ts.find(statements, function (s) { return s !== ns && ts.nodeHasName(s, name_2); })) { + if (!ts.find(statements, function (s) { return s !== ns && ts.nodeHasName(s, name_3); })) { results = []; // If the namespace contains no export assignments or declarations, and no declarations flagged with `export`, then _everything_ is exported - // to respect this as the top level, we need to add an `export` modifier to everything @@ -53188,7 +54063,7 @@ var ts; // If it's a class/interface/function: emit a class/interface/function with a `default` modifier // These forms can merge, eg (`export default 12; export default interface A {}`) function serializeSymbolWorker(symbol, isPrivate, propertyAsAlias) { - var _a, _b; + var _a, _b, _c, _d; var symbolName = ts.unescapeLeadingUnderscores(symbol.escapedName); var isDefault = symbol.escapedName === "default" /* Default */; if (isPrivate && !(context.flags & 131072 /* AllowAnonymousIdentifier */) && ts.isStringANonContextualKeyword(symbolName) && !isDefault) { @@ -53239,17 +54114,21 @@ var ts; else { // A Class + Property merge is made for a `module.exports.Member = class {}`, and it doesn't serialize well as either a class _or_ a property symbol - in fact, _it behaves like an alias!_ // `var` is `FunctionScopedVariable`, `const` and `let` are `BlockScopedVariable`, and `module.exports.thing =` is `Property` - var flags = !(symbol.flags & 2 /* BlockScopedVariable */) ? undefined - : isConstVariable(symbol) ? 2 /* Const */ + var flags = !(symbol.flags & 2 /* BlockScopedVariable */) + ? ((_a = symbol.parent) === null || _a === void 0 ? void 0 : _a.valueDeclaration) && ts.isSourceFile((_b = symbol.parent) === null || _b === void 0 ? void 0 : _b.valueDeclaration) + ? 2 /* Const */ + : undefined + : isConstVariable(symbol) + ? 2 /* Const */ : 1 /* Let */; var name = (needsPostExportDefault || !(symbol.flags & 4 /* Property */)) ? localName : getUnusedName(localName, symbol); var textRange = symbol.declarations && ts.find(symbol.declarations, function (d) { return ts.isVariableDeclaration(d); }); if (textRange && ts.isVariableDeclarationList(textRange.parent) && textRange.parent.declarations.length === 1) { textRange = textRange.parent.parent; } - var propertyAccessRequire = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isPropertyAccessExpression); + var propertyAccessRequire = (_c = symbol.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isPropertyAccessExpression); if (propertyAccessRequire && ts.isBinaryExpression(propertyAccessRequire.parent) && ts.isIdentifier(propertyAccessRequire.parent.right) - && ((_b = type.symbol) === null || _b === void 0 ? void 0 : _b.valueDeclaration) && ts.isSourceFile(type.symbol.valueDeclaration)) { + && ((_d = type.symbol) === null || _d === void 0 ? void 0 : _d.valueDeclaration) && ts.isSourceFile(type.symbol.valueDeclaration)) { var alias = localName === propertyAccessRequire.parent.right.escapedText ? undefined : propertyAccessRequire.parent.right; addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, @@ -53329,8 +54208,8 @@ var ts; // synthesize export * from "moduleReference" // Straightforward - only one thing to do - make an export declaration if (symbol.declarations) { - for (var _i = 0, _c = symbol.declarations; _i < _c.length; _i++) { - var node = _c[_i]; + for (var _i = 0, _e = symbol.declarations; _i < _e.length; _i++) { + var node = _e[_i]; var resolvedModule = resolveExternalModuleName(node, node.moduleSpecifier); if (!resolvedModule) continue; @@ -53382,7 +54261,7 @@ var ts; newModifierFlags |= 1 /* Export */; } if (addingDeclare && !(newModifierFlags & 1 /* Export */) && - (!enclosingDeclaration_1 || !(enclosingDeclaration_1.flags & 8388608 /* Ambient */)) && + (!enclosingDeclaration_1 || !(enclosingDeclaration_1.flags & 16777216 /* Ambient */)) && (ts.isEnumDeclaration(node) || ts.isVariableStatement(node) || ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node) || ts.isModuleDeclaration(node))) { // Classes, namespaces, variables, enums, and functions all need `declare` modifiers to be valid in a declaration file top-level scope newModifierFlags |= 2 /* Ambient */; @@ -53422,8 +54301,8 @@ var ts; var baseTypes = getBaseTypes(interfaceType); var baseType = ts.length(baseTypes) ? getIntersectionType(baseTypes) : undefined; var members = ts.flatMap(getPropertiesOfType(interfaceType), function (p) { return serializePropertySymbolForInterface(p, baseType); }); - var callSignatures = serializeSignatures(0 /* Call */, interfaceType, baseType, 173 /* CallSignature */); - var constructSignatures = serializeSignatures(1 /* Construct */, interfaceType, baseType, 174 /* ConstructSignature */); + var callSignatures = serializeSignatures(0 /* Call */, interfaceType, baseType, 174 /* CallSignature */); + var constructSignatures = serializeSignatures(1 /* Construct */, interfaceType, baseType, 175 /* ConstructSignature */); var indexSignatures = serializeIndexSignatures(interfaceType, baseType); var heritageClauses = !ts.length(baseTypes) ? undefined : [ts.factory.createHeritageClause(94 /* ExtendsKeyword */, ts.mapDefined(baseTypes, function (b) { return trySerializeAsTypeReference(b, 111551 /* Value */); }))]; addResult(ts.factory.createInterfaceDeclaration( @@ -53492,7 +54371,7 @@ var ts; for (var _i = 0, signatures_2 = signatures; _i < signatures_2.length; _i++) { var sig = signatures_2[_i]; // Each overload becomes a separate function declaration, in order - var decl = signatureToSignatureDeclarationHelper(sig, 255 /* FunctionDeclaration */, context, { name: ts.factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); + var decl = signatureToSignatureDeclarationHelper(sig, 256 /* FunctionDeclaration */, context, { name: ts.factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); addResult(ts.setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); } // Module symbol emit will take care of module-y members, provided it has exports @@ -53652,7 +54531,7 @@ var ts; !ts.some(getSignaturesOfType(staticType, 1 /* Construct */)); var constructors = isNonConstructableClassLikeInJsFile ? [ts.factory.createConstructorDeclaration(/*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(8 /* Private */), [], /*body*/ undefined)] : - serializeSignatures(1 /* Construct */, staticType, staticBaseType, 170 /* Constructor */); + serializeSignatures(1 /* Construct */, staticType, staticBaseType, 171 /* Constructor */); var indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; addResult(ts.setTextRange(ts.factory.createClassDeclaration( @@ -53702,8 +54581,8 @@ var ts; var targetName = getInternalSymbolName(target, verbatimTargetName); includePrivateSymbol(target); // the target may be within the same scope - attempt to serialize it first switch (node.kind) { - case 202 /* BindingElement */: - if (((_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === 253 /* VariableDeclaration */) { + case 203 /* BindingElement */: + if (((_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === 254 /* VariableDeclaration */) { // const { SomeClass } = require('./lib'); var specifier_1 = getSpecifierForModuleSymbol(target.parent || target, context); // './lib' var propertyName = node.propertyName; @@ -53717,13 +54596,13 @@ var ts; // We don't know how to serialize this (nested?) binding element ts.Debug.failBadSyntaxKind(((_c = node.parent) === null || _c === void 0 ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); break; - case 295 /* ShorthandPropertyAssignment */: - if (((_e = (_d = node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.kind) === 220 /* BinaryExpression */) { + case 297 /* ShorthandPropertyAssignment */: + if (((_e = (_d = node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.kind) === 221 /* BinaryExpression */) { // module.exports = { SomeClass } serializeExportSpecifier(ts.unescapeLeadingUnderscores(symbol.escapedName), targetName); } break; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: // commonjs require: const x = require('y') if (ts.isPropertyAccessExpression(node.initializer)) { // const x = require('y').z @@ -53743,7 +54622,7 @@ var ts; break; } // else fall through and treat commonjs require just like import= - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: // This _specifically_ only exists to handle json declarations - where we make aliases, but since // we emit no declarations for the json document, must not refer to it in the declarations if (target.escapedName === "export=" /* ExportEquals */ && ts.some(target.declarations, ts.isJsonSourceFile)) { @@ -53760,13 +54639,13 @@ var ts; ? symbolToName(target, context, 67108863 /* All */, /*expectsIdentifier*/ false) : ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)))), isLocalImport ? modifierFlags : 0 /* None */); break; - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: // export as namespace foo // TODO: Not part of a file's local or export symbol tables // Is bound into file.symbol.globalExports instead, which we don't currently traverse addResult(ts.factory.createNamespaceExportDeclaration(ts.idText(node.name)), 0 /* None */); break; - case 266 /* ImportClause */: + case 267 /* ImportClause */: addResult(ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), @@ -53776,19 +54655,19 @@ var ts; ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), /*assertClause*/ undefined), 0 /* None */); break; - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: addResult(ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), /*assertClause*/ undefined), 0 /* None */); break; - case 273 /* NamespaceExport */: + case 274 /* NamespaceExport */: addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(localName)), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context))), 0 /* None */); break; - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: addResult(ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause( @@ -53799,7 +54678,7 @@ var ts; ])), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), /*assertClause*/ undefined), 0 /* None */); break; - case 274 /* ExportSpecifier */: + case 275 /* ExportSpecifier */: // does not use localName because the symbol name in this case refers to the name in the exports table, // which we must exactly preserve var specifier = node.parent.parent.moduleSpecifier; @@ -53807,12 +54686,12 @@ var ts; // another file serializeExportSpecifier(ts.unescapeLeadingUnderscores(symbol.escapedName), specifier ? verbatimTargetName : targetName, specifier && ts.isStringLiteralLike(specifier) ? ts.factory.createStringLiteral(specifier.text) : undefined); break; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: serializeMaybeAliasAssignment(symbol); break; - case 220 /* BinaryExpression */: - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 221 /* BinaryExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: // Could be best encoded as though an export specifier or as though an export assignment // If name is default or export=, do an export assignment // Otherwise do an export specifier @@ -54015,7 +54894,7 @@ var ts; return results_1; } // The `Constructor`'s symbol isn't in the class's properties lists, obviously, since it's a signature on the static - return ts.Debug.fail("Unhandled class member kind! ".concat(p.__debugFlags || p.flags)); + return ts.Debug.fail("Unhandled class member kind! " + (p.__debugFlags || p.flags)); }; } function serializePropertySymbolForInterface(p, baseType) { @@ -54090,7 +54969,7 @@ var ts; if (ref) { return ref; } - var tempName = getUnusedName("".concat(rootName, "_base")); + var tempName = getUnusedName(rootName + "_base"); var statement = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ ts.factory.createVariableDeclaration(tempName, /*exclamationToken*/ undefined, typeToTypeNodeHelper(staticType, context)) ], 2 /* Const */)); @@ -54137,7 +55016,7 @@ var ts; var original = input; while ((_a = context.usedSymbolNames) === null || _a === void 0 ? void 0 : _a.has(input)) { i++; - input = "".concat(original, "_").concat(i); + input = original + "_" + i; } (_b = context.usedSymbolNames) === null || _b === void 0 ? void 0 : _b.add(input); if (id) { @@ -54225,7 +55104,7 @@ var ts; function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048 /* TypeLiteral */ && type.symbol.declarations) { var node = ts.walkUpParenthesizedTypes(type.symbol.declarations[0].parent); - if (node.kind === 258 /* TypeAliasDeclaration */) { + if (node.kind === 259 /* TypeAliasDeclaration */) { return getSymbolOfNode(node); } } @@ -54233,11 +55112,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 261 /* ModuleBlock */ && + node.parent.kind === 262 /* ModuleBlock */ && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 303 /* SourceFile */ || ts.isAmbientModule(location); + return location.kind === 305 /* SourceFile */ || ts.isAmbientModule(location); } function getNameOfSymbolFromNameType(symbol, context) { var nameType = getSymbolLinks(symbol).nameType; @@ -54245,15 +55124,15 @@ var ts; if (nameType.flags & 384 /* StringOrNumberLiteral */) { var name = "" + nameType.value; if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !ts.isNumericLiteralName(name)) { - return "\"".concat(ts.escapeString(name, 34 /* doubleQuote */), "\""); + return "\"" + ts.escapeString(name, 34 /* doubleQuote */) + "\""; } if (ts.isNumericLiteralName(name) && ts.startsWith(name, "-")) { - return "[".concat(name, "]"); + return "[" + name + "]"; } return name; } if (nameType.flags & 8192 /* UniqueESSymbol */) { - return "[".concat(getNameOfSymbolAsWritten(nameType.symbol, context), "]"); + return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; } } } @@ -54276,12 +55155,12 @@ var ts; } if (symbol.declarations && symbol.declarations.length) { var declaration = ts.firstDefined(symbol.declarations, function (d) { return ts.getNameOfDeclaration(d) ? d : undefined; }); // Try using a declaration with a name, first - var name_3 = declaration && ts.getNameOfDeclaration(declaration); - if (declaration && name_3) { + var name_4 = declaration && ts.getNameOfDeclaration(declaration); + if (declaration && name_4) { if (ts.isCallExpression(declaration) && ts.isBindableObjectDefinePropertyCall(declaration)) { return ts.symbolName(symbol); } - if (ts.isComputedPropertyName(name_3) && !(ts.getCheckFlags(symbol) & 4096 /* Late */)) { + if (ts.isComputedPropertyName(name_4) && !(ts.getCheckFlags(symbol) & 4096 /* Late */)) { var nameType = getSymbolLinks(symbol).nameType; if (nameType && nameType.flags & 384 /* StringOrNumberLiteral */) { // Computed property name isn't late bound, but has a well-known name type - use name type to generate a symbol name @@ -54291,22 +55170,22 @@ var ts; } } } - return ts.declarationNameToString(name_3); + return ts.declarationNameToString(name_4); } if (!declaration) { declaration = symbol.declarations[0]; // Declaration may be nameless, but we'll try anyway } - if (declaration.parent && declaration.parent.kind === 253 /* VariableDeclaration */) { + if (declaration.parent && declaration.parent.kind === 254 /* VariableDeclaration */) { return ts.declarationNameToString(declaration.parent.name); } switch (declaration.kind) { - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: if (context && !context.encounteredError && !(context.flags & 131072 /* AllowAnonymousIdentifier */)) { context.encounteredError = true; } - return declaration.kind === 225 /* ClassExpression */ ? "(Anonymous class)" : "(Anonymous function)"; + return declaration.kind === 226 /* ClassExpression */ ? "(Anonymous class)" : "(Anonymous function)"; } } var name = getNameOfSymbolFromNameType(symbol, context); @@ -54323,28 +55202,28 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 336 /* JSDocCallbackTag */: - case 343 /* JSDocTypedefTag */: - case 337 /* JSDocEnumTag */: + case 338 /* JSDocCallbackTag */: + case 345 /* JSDocTypedefTag */: + case 339 /* JSDocEnumTag */: // Top-level jsdoc type aliases are considered exported // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return isDeclarationVisible(node.parent.parent); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { // If the binding pattern is empty, this variable declaration is not visible return false; } // falls through - case 260 /* ModuleDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 255 /* FunctionDeclaration */: - case 259 /* EnumDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 261 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 256 /* FunctionDeclaration */: + case 260 /* EnumDeclaration */: + case 265 /* ImportEqualsDeclaration */: // external module augmentation is always visible if (ts.isExternalModuleAugmentation(node)) { return true; @@ -54352,55 +55231,55 @@ var ts; var parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) if (!(ts.getCombinedModifierFlags(node) & 1 /* Export */) && - !(node.kind !== 264 /* ImportEqualsDeclaration */ && parent.kind !== 303 /* SourceFile */ && parent.flags & 8388608 /* Ambient */)) { + !(node.kind !== 265 /* ImportEqualsDeclaration */ && parent.kind !== 305 /* SourceFile */ && parent.flags & 16777216 /* Ambient */)) { return isGlobalSourceFile(parent); } // Exported members/ambient module elements (exception import declaration) are visible if parent is visible return isDeclarationVisible(parent); - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: if (ts.hasEffectiveModifier(node, 8 /* Private */ | 16 /* Protected */)) { // Private/protected properties/methods are not visible return false; } // Public properties/methods are visible if its parents are visible, so: // falls through - case 170 /* Constructor */: - case 174 /* ConstructSignature */: - case 173 /* CallSignature */: - case 175 /* IndexSignature */: - case 163 /* Parameter */: - case 261 /* ModuleBlock */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 181 /* TypeLiteral */: - case 177 /* TypeReference */: - case 182 /* ArrayType */: - case 183 /* TupleType */: - case 186 /* UnionType */: - case 187 /* IntersectionType */: - case 190 /* ParenthesizedType */: - case 196 /* NamedTupleMember */: + case 171 /* Constructor */: + case 175 /* ConstructSignature */: + case 174 /* CallSignature */: + case 176 /* IndexSignature */: + case 164 /* Parameter */: + case 262 /* ModuleBlock */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 182 /* TypeLiteral */: + case 178 /* TypeReference */: + case 183 /* ArrayType */: + case 184 /* TupleType */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: + case 191 /* ParenthesizedType */: + case 197 /* NamedTupleMember */: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible // only on demand so by default it is not visible - case 266 /* ImportClause */: - case 267 /* NamespaceImport */: - case 269 /* ImportSpecifier */: + case 267 /* ImportClause */: + case 268 /* NamespaceImport */: + case 270 /* ImportSpecifier */: return false; // Type parameters are always visible - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: // Source file and namespace export are always visible // falls through - case 303 /* SourceFile */: - case 263 /* NamespaceExportDeclaration */: + case 305 /* SourceFile */: + case 264 /* NamespaceExportDeclaration */: return true; // Export assignments do not create name bindings outside the module - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return false; default: return false; @@ -54409,10 +55288,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 270 /* ExportAssignment */) { + if (node.parent && node.parent.kind === 271 /* ExportAssignment */) { exportSymbol = resolveName(node, node.escapedText, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); } - else if (node.parent.kind === 274 /* ExportSpecifier */) { + else if (node.parent.kind === 275 /* ExportSpecifier */) { exportSymbol = getTargetOfExportSpecifier(node.parent, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); } var result; @@ -54502,6 +55381,8 @@ var ts; return !!target.resolvedTypeArguments; case 7 /* ResolvedBaseTypes */: return !!target.baseTypesResolved; + case 8 /* WriteType */: + return !!getSymbolLinks(target).writeType; } return ts.Debug.assertNever(propertyName); } @@ -54517,12 +55398,12 @@ var ts; function getDeclarationContainer(node) { return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 253 /* VariableDeclaration */: - case 254 /* VariableDeclarationList */: - case 269 /* ImportSpecifier */: - case 268 /* NamedImports */: - case 267 /* NamespaceImport */: - case 266 /* ImportClause */: + case 254 /* VariableDeclaration */: + case 255 /* VariableDeclarationList */: + case 270 /* ImportSpecifier */: + case 269 /* NamedImports */: + case 268 /* NamespaceImport */: + case 267 /* ImportClause */: return false; default: return true; @@ -54608,7 +55489,7 @@ var ts; members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false)); } var result = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(source)); - result.objectFlags |= 8388608 /* ObjectRestType */; + result.objectFlags |= 4194304 /* ObjectRestType */; return result; } function isGenericTypeWithUndefinedConstraint(type) { @@ -54652,23 +55533,23 @@ var ts; function getParentElementAccess(node) { var ancestor = node.parent.parent; switch (ancestor.kind) { - case 202 /* BindingElement */: - case 294 /* PropertyAssignment */: + case 203 /* BindingElement */: + case 296 /* PropertyAssignment */: return getSyntheticElementAccess(ancestor); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return getSyntheticElementAccess(node.parent); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return ancestor.initializer; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return ancestor.right; } } function getDestructuringPropertyName(node) { var parent = node.parent; - if (node.kind === 202 /* BindingElement */ && parent.kind === 200 /* ObjectBindingPattern */) { + if (node.kind === 203 /* BindingElement */ && parent.kind === 201 /* ObjectBindingPattern */) { return getLiteralPropertyNameText(node.propertyName || node.name); } - if (node.kind === 294 /* PropertyAssignment */ || node.kind === 295 /* ShorthandPropertyAssignment */) { + if (node.kind === 296 /* PropertyAssignment */ || node.kind === 297 /* ShorthandPropertyAssignment */) { return getLiteralPropertyNameText(node.name); } return "" + parent.elements.indexOf(node); @@ -54679,7 +55560,7 @@ var ts; } /** Return the inferred type for a binding element */ function getTypeForBindingElement(declaration) { - var checkMode = declaration.dotDotDotToken ? 32 /* RestBindingElement */ : 0 /* Normal */; + var checkMode = declaration.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */; var parentType = getTypeForBindingElementParent(declaration.parent.parent, checkMode); return parentType && getBindingElementTypeFromParentType(declaration, parentType); } @@ -54690,7 +55571,7 @@ var ts; } var pattern = declaration.parent; // Relax null check on ambient destructuring parameters, since the parameters have no implementation and are just documentation - if (strictNullChecks && declaration.flags & 8388608 /* Ambient */ && ts.isParameterDeclaration(declaration)) { + if (strictNullChecks && declaration.flags & 16777216 /* Ambient */ && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } // Filter `undefined` from the type we check against if the parent has an initializer and that initializer is not possibly `undefined` @@ -54698,7 +55579,7 @@ var ts; parentType = getTypeWithFacts(parentType, 524288 /* NEUndefined */); } var type; - if (pattern.kind === 200 /* ObjectBindingPattern */) { + if (pattern.kind === 201 /* ObjectBindingPattern */) { if (declaration.dotDotDotToken) { parentType = getReducedType(parentType); if (parentType.flags & 2 /* Unknown */ || !isValidSpreadType(parentType)) { @@ -54769,7 +55650,7 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return expr.kind === 203 /* ArrayLiteralExpression */ && expr.elements.length === 0; + return expr.kind === 204 /* ArrayLiteralExpression */ && expr.elements.length === 0; } function addOptionality(type, isProperty, isOptional) { if (isProperty === void 0) { isProperty = false; } @@ -54780,11 +55661,11 @@ var ts; function getTypeForVariableLikeDeclaration(declaration, includeOptionality, checkMode) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 242 /* ForInStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* ForInStatement */) { var indexType = getIndexType(getNonNullableTypeIfNeeded(checkExpression(declaration.parent.parent.expression, /*checkMode*/ checkMode))); return indexType.flags & (262144 /* TypeParameter */ | 4194304 /* Index */) ? getExtractStringType(indexType) : stringType; } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* ForOfStatement */) { // checkRightHandSideOfForOf will return undefined if the for-of expression type was // missing properties/signatures required to get its iteratedType (like // [Symbol.iterator] or next). This may be because we accessed properties from anyType, @@ -54806,7 +55687,7 @@ var ts; } if ((noImplicitAny || ts.isInJSFile(declaration)) && ts.isVariableDeclaration(declaration) && !ts.isBindingPattern(declaration.name) && - !(ts.getCombinedModifierFlags(declaration) & 1 /* Export */) && !(declaration.flags & 8388608 /* Ambient */)) { + !(ts.getCombinedModifierFlags(declaration) & 1 /* Export */) && !(declaration.flags & 16777216 /* Ambient */)) { // If --noImplicitAny is on or the declaration is in a Javascript file, // use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no // initializer or a 'null' or 'undefined' initializer. @@ -54822,8 +55703,8 @@ var ts; if (ts.isParameter(declaration)) { var func = declaration.parent; // For a parameter of a set accessor, use the type of the get accessor if one is present - if (func.kind === 172 /* SetAccessor */ && hasBindableName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 171 /* GetAccessor */); + if (func.kind === 173 /* SetAccessor */ && hasBindableName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 172 /* GetAccessor */); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -54900,7 +55781,7 @@ var ts; links.isConstructorDeclaredProperty = !!getDeclaringConstructor(symbol) && ts.every(symbol.declarations, function (declaration) { return ts.isBinaryExpression(declaration) && isPossiblyAliasedThisProperty(declaration) && - (declaration.left.kind !== 206 /* ElementAccessExpression */ || ts.isStringOrNumericLiteralLike(declaration.left.argumentExpression)) && + (declaration.left.kind !== 207 /* ElementAccessExpression */ || ts.isStringOrNumericLiteralLike(declaration.left.argumentExpression)) && !getAnnotatedTypeForAssignmentDeclaration(/*declaredType*/ undefined, declaration, symbol, declaration); }); } @@ -54922,7 +55803,7 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; var container = ts.getThisContainer(declaration, /*includeArrowFunctions*/ false); - if (container && (container.kind === 170 /* Constructor */ || isJSConstructor(container))) { + if (container && (container.kind === 171 /* Constructor */ || isJSConstructor(container))) { return container; } } @@ -55080,7 +55961,7 @@ var ts; mergeSymbolTable(exports, s.exports); } var type = createAnonymousType(symbol, exports, ts.emptyArray, ts.emptyArray, ts.emptyArray); - type.objectFlags |= 8192 /* JSLiteral */; + type.objectFlags |= 4096 /* JSLiteral */; return type; } function getAnnotatedTypeForAssignmentDeclaration(declaredType, expression, symbol, declaration) { @@ -55136,7 +56017,10 @@ var ts; if (containsSameNamedThisProperty(expression.left, expression.right)) { return anyType; } - var type = resolvedSymbol ? getTypeOfSymbol(resolvedSymbol) : getWidenedLiteralType(checkExpressionCached(expression.right)); + var isDirectExport = kind === 1 /* ExportsProperty */ && (ts.isPropertyAccessExpression(expression.left) || ts.isElementAccessExpression(expression.left)) && (ts.isModuleExportsAccessExpression(expression.left.expression) || (ts.isIdentifier(expression.left.expression) && ts.isExportsIdentifier(expression.left.expression))); + var type = resolvedSymbol ? getTypeOfSymbol(resolvedSymbol) + : isDirectExport ? getRegularTypeOfLiteralType(checkExpressionCached(expression.right)) + : getWidenedLiteralType(checkExpressionCached(expression.right)); if (type.flags & 524288 /* Object */ && kind === 2 /* ModuleExports */ && symbol.escapedName === "export=" /* ExportEquals */) { @@ -55184,7 +56068,7 @@ var ts; }); var result = createAnonymousType(initialSize !== members_4.size ? undefined : exportedType.symbol, // Only set the type's symbol if it looks to be the same as the original type members_4, exportedType.callSignatures, exportedType.constructSignatures, exportedType.indexInfos); - result.objectFlags |= (ts.getObjectFlags(type) & 8192 /* JSLiteral */); // Propagate JSLiteral flag + result.objectFlags |= (ts.getObjectFlags(type) & 4096 /* JSLiteral */); // Propagate JSLiteral flag if (result.symbol && result.symbol.flags & 32 /* Class */ && type === getDeclaredTypeOfClassOrInterface(result.symbol)) { result.objectFlags |= 16777216 /* IsClassInstanceClone */; // Propagate the knowledge that this type is equivalent to the symbol's class instance type } @@ -55205,9 +56089,9 @@ var ts; var thisContainer = ts.getThisContainer(expression, /*includeArrowFunctions*/ false); // Properties defined in a constructor (or base constructor, or javascript constructor function) don't get undefined added. // Function expressions that are assigned to the prototype count as methods. - return thisContainer.kind === 170 /* Constructor */ || - thisContainer.kind === 255 /* FunctionDeclaration */ || - (thisContainer.kind === 212 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + return thisContainer.kind === 171 /* Constructor */ || + thisContainer.kind === 256 /* FunctionDeclaration */ || + (thisContainer.kind === 213 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); } function getConstructorDefinedThisAssignmentTypes(types, declarations) { ts.Debug.assert(types.length === declarations.length); @@ -55245,7 +56129,7 @@ var ts; function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { var members = ts.createSymbolTable(); var stringIndexInfo; - var objectFlags = 128 /* ObjectLiteral */ | 262144 /* ContainsObjectOrArrayLiteral */; + var objectFlags = 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; ts.forEach(pattern.elements, function (e) { var name = e.propertyName || e.name; if (e.dotDotDotToken) { @@ -55269,7 +56153,7 @@ var ts; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; - result.objectFlags |= 262144 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= 131072 /* ContainsObjectOrArrayLiteral */; } return result; } @@ -55277,7 +56161,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - var restElement = lastElement && lastElement.kind === 202 /* BindingElement */ && lastElement.dotDotDotToken ? lastElement : undefined; + var restElement = lastElement && lastElement.kind === 203 /* BindingElement */ && lastElement.dotDotDotToken ? lastElement : undefined; if (elements.length === 0 || elements.length === 1 && restElement) { return languageVersion >= 2 /* ES2015 */ ? createIterableType(anyType) : anyArrayType; } @@ -55288,7 +56172,7 @@ var ts; if (includePatternInType) { result = cloneTypeReference(result); result.pattern = pattern; - result.objectFlags |= 262144 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= 131072 /* ContainsObjectOrArrayLiteral */; } return result; } @@ -55302,7 +56186,7 @@ var ts; function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { if (includePatternInType === void 0) { includePatternInType = false; } if (reportErrors === void 0) { reportErrors = false; } - return pattern.kind === 200 /* ObjectBindingPattern */ + return pattern.kind === 201 /* ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -55350,11 +56234,11 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 163 /* Parameter */ ? root.parent : root; + var memberDeclaration = root.kind === 164 /* Parameter */ ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } - function tryGetTypeFromEffectiveTypeNode(declaration) { - var typeNode = ts.getEffectiveTypeAnnotationNode(declaration); + function tryGetTypeFromEffectiveTypeNode(node) { + var typeNode = ts.getEffectiveTypeAnnotationNode(node); if (typeNode) { return getTypeFromTypeNode(typeNode); } @@ -55416,6 +56300,11 @@ var ts; } return getWidenedType(getWidenedLiteralType(checkExpression(declaration.statements[0].expression))); } + if (ts.isAccessor(declaration)) { + // Binding of certain patterns in JS code will occasionally mark symbols as both properties + // and accessors. Here we dispatch to accessor resolution if needed. + return getTypeOfAccessors(symbol); + } // Handle variable, parameter or property if (!pushTypeResolution(symbol, 0 /* Type */)) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` @@ -55425,7 +56314,7 @@ var ts; return reportCircularityError(symbol); } var type; - if (declaration.kind === 270 /* ExportAssignment */) { + if (declaration.kind === 271 /* ExportAssignment */) { type = widenTypeForVariableLikeDeclaration(tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionCached(declaration.expression), declaration); } else if (ts.isBinaryExpression(declaration) || @@ -55479,9 +56368,6 @@ var ts; else if (ts.isEnumMember(declaration)) { type = getTypeOfEnumMember(symbol); } - else if (ts.isAccessor(declaration)) { - type = resolveTypeOfAccessors(symbol) || ts.Debug.fail("Non-write accessor resolution must always produce a type"); - } else { return ts.Debug.fail("Unhandled declaration kind! " + ts.Debug.formatSyntaxKind(declaration.kind) + " for " + ts.Debug.formatSymbol(symbol)); } @@ -55496,7 +56382,7 @@ var ts; } function getAnnotatedAccessorTypeNode(accessor) { if (accessor) { - if (accessor.kind === 171 /* GetAccessor */) { + if (accessor.kind === 172 /* GetAccessor */) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation; } @@ -55520,82 +56406,61 @@ var ts; } function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); - return links.type || (links.type = getTypeOfAccessorsWorker(symbol) || ts.Debug.fail("Read type of accessor must always produce a type")); - } - function getTypeOfSetAccessor(symbol) { - var links = getSymbolLinks(symbol); - return links.writeType || (links.writeType = getTypeOfAccessorsWorker(symbol, /*writing*/ true)); - } - function getTypeOfAccessorsWorker(symbol, writing) { - if (writing === void 0) { writing = false; } - if (!pushTypeResolution(symbol, 0 /* Type */)) { - return errorType; - } - var type = resolveTypeOfAccessors(symbol, writing); - if (!popTypeResolution()) { - type = anyType; - if (noImplicitAny) { - var getter = ts.getDeclarationOfKind(symbol, 171 /* GetAccessor */); - error(getter, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); + if (!links.type) { + if (!pushTypeResolution(symbol, 0 /* Type */)) { + return errorType; } - } - return type; - } - function resolveTypeOfAccessors(symbol, writing) { - if (writing === void 0) { writing = false; } - var getter = ts.getDeclarationOfKind(symbol, 171 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 172 /* SetAccessor */); - // For write operations, prioritize type annotations on the setter - if (writing) { - var setterType_1 = getAnnotatedAccessorType(setter); - if (setterType_1) { - return instantiateTypeIfNeeded(setterType_1, symbol); - } - } - // Else defer to the getter type - if (getter && ts.isInJSFile(getter)) { - var jsDocType = getTypeForDeclarationFromJSDocComment(getter); - if (jsDocType) { - return instantiateTypeIfNeeded(jsDocType, symbol); + var getter = ts.getDeclarationOfKind(symbol, 172 /* GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */); + // We try to resolve a getter type annotation, a setter type annotation, or a getter function + // body return type inference, in that order. + var type = getter && ts.isInJSFile(getter) && getTypeForDeclarationFromJSDocComment(getter) || + getAnnotatedAccessorType(getter) || + getAnnotatedAccessorType(setter) || + getter && getter.body && getReturnTypeFromBody(getter); + if (!type) { + if (setter && !isPrivateWithinAmbient(setter)) { + errorOrSuggestion(noImplicitAny, setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, symbolToString(symbol)); + } + else if (getter && !isPrivateWithinAmbient(getter)) { + errorOrSuggestion(noImplicitAny, getter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol)); + } + type = anyType; } - } - // Try to see if the user specified a return type on the get-accessor. - var getterType = getAnnotatedAccessorType(getter); - if (getterType) { - return instantiateTypeIfNeeded(getterType, symbol); - } - // If the user didn't specify a return type, try to use the set-accessor's parameter type. - var setterType = getAnnotatedAccessorType(setter); - if (setterType) { - return setterType; - } - // If there are no specified types, try to infer it from the body of the get accessor if it exists. - if (getter && getter.body) { - var returnTypeFromBody = getReturnTypeFromBody(getter); - return instantiateTypeIfNeeded(returnTypeFromBody, symbol); - } - // Otherwise, fall back to 'any'. - if (setter) { - if (!isPrivateWithinAmbient(setter)) { - errorOrSuggestion(noImplicitAny, setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, symbolToString(symbol)); + if (!popTypeResolution()) { + if (getAnnotatedAccessorTypeNode(getter)) { + error(getter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); + } + else if (getAnnotatedAccessorTypeNode(setter)) { + error(setter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); + } + else if (getter && noImplicitAny) { + error(getter, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); + } + type = anyType; } - return anyType; + links.type = type; } - else if (getter) { - ts.Debug.assert(!!getter, "there must exist a getter as we are current checking either setter or getter in this function"); - if (!isPrivateWithinAmbient(getter)) { - errorOrSuggestion(noImplicitAny, getter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol)); + return links.type; + } + function getWriteTypeOfAccessors(symbol) { + var links = getSymbolLinks(symbol); + if (!links.writeType) { + if (!pushTypeResolution(symbol, 8 /* WriteType */)) { + return errorType; } - return anyType; - } - return undefined; - function instantiateTypeIfNeeded(type, symbol) { - if (ts.getCheckFlags(symbol) & 1 /* Instantiated */) { - var links = getSymbolLinks(symbol); - return instantiateType(type, links.mapper); + var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */); + var writeType = getAnnotatedAccessorType(setter); + if (!popTypeResolution()) { + if (getAnnotatedAccessorTypeNode(setter)) { + error(setter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); + } + writeType = anyType; } - return type; + // Absent an explicit setter type annotation we use the read type of the accessor. + links.writeType = writeType || getTypeOfAccessors(symbol); } + return links.writeType; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); @@ -55624,9 +56489,9 @@ var ts; if (symbol.flags & 1536 /* Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { return anyType; } - else if (declaration && (declaration.kind === 220 /* BinaryExpression */ || + else if (declaration && (declaration.kind === 221 /* BinaryExpression */ || ts.isAccessExpression(declaration) && - declaration.parent.kind === 220 /* BinaryExpression */)) { + declaration.parent.kind === 221 /* BinaryExpression */)) { return getWidenedTypeForAssignmentDeclaration(symbol); } else if (symbol.flags & 512 /* ValueModule */ && declaration && ts.isSourceFile(declaration) && declaration.commonJsModuleIndicator) { @@ -55677,17 +56542,11 @@ var ts; } function getTypeOfInstantiatedSymbol(symbol) { var links = getSymbolLinks(symbol); - if (!links.type) { - if (!pushTypeResolution(symbol, 0 /* Type */)) { - return links.type = errorType; - } - var type = instantiateType(getTypeOfSymbol(links.target), links.mapper); - if (!popTypeResolution()) { - type = reportCircularityError(symbol); - } - links.type = type; - } - return links.type; + return links.type || (links.type = instantiateType(getTypeOfSymbol(links.target), links.mapper)); + } + function getWriteTypeOfInstantiatedSymbol(symbol) { + var links = getSymbolLinks(symbol); + return links.writeType || (links.writeType = instantiateType(getWriteTypeOfSymbol(links.target), links.mapper)); } function reportCircularityError(symbol) { var declaration = symbol.valueDeclaration; @@ -55697,7 +56556,7 @@ var ts; return errorType; } // Check if variable has initializer that circularly references the variable itself - if (noImplicitAny && (declaration.kind !== 163 /* Parameter */ || declaration.initializer)) { + if (noImplicitAny && (declaration.kind !== 164 /* Parameter */ || declaration.initializer)) { error(symbol.valueDeclaration, ts.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, symbolToString(symbol)); } // Circularities could also result from parameters in function expressions that end up @@ -55724,35 +56583,23 @@ var ts; return links.writeType; } /** - * Distinct write types come only from set accessors, but union and intersection - * properties deriving from set accessors will either pre-compute or defer the - * union or intersection of the writeTypes of their constituents. To account for - * this, we will assume that any deferred type or transient symbol may have a - * `writeType` (or a deferred write type ready to be computed) that should be - * used before looking for set accessor declarations. + * Distinct write types come only from set accessors, but synthetic union and intersection + * properties deriving from set accessors will either pre-compute or defer the union or + * intersection of the writeTypes of their constituents. */ function getWriteTypeOfSymbol(symbol) { var checkFlags = ts.getCheckFlags(symbol); - if (checkFlags & 65536 /* DeferredType */) { - var writeType = getWriteTypeOfSymbolWithDeferredType(symbol); - if (writeType) { - return writeType; - } + if (symbol.flags & 4 /* Property */) { + return checkFlags & 2 /* SyntheticProperty */ ? + checkFlags & 65536 /* DeferredType */ ? + getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) : + symbol.writeType || symbol.type : + getTypeOfSymbol(symbol); } - if (symbol.flags & 33554432 /* Transient */) { - var writeType = symbol.writeType; - if (writeType) { - return writeType; - } - } - return getSetAccessorTypeOfSymbol(symbol); - } - function getSetAccessorTypeOfSymbol(symbol) { if (symbol.flags & 98304 /* Accessor */) { - var type = getTypeOfSetAccessor(symbol); - if (type) { - return type; - } + return checkFlags & 1 /* Instantiated */ ? + getWriteTypeOfInstantiatedSymbol(symbol) : + getWriteTypeOfAccessors(symbol); } return getTypeOfSymbol(symbol); } @@ -55841,46 +56688,46 @@ var ts; return undefined; } switch (node.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 167 /* MethodSignature */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 315 /* JSDocFunctionType */: - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 258 /* TypeAliasDeclaration */: - case 342 /* JSDocTemplateTag */: - case 343 /* JSDocTypedefTag */: - case 337 /* JSDocEnumTag */: - case 336 /* JSDocCallbackTag */: - case 194 /* MappedType */: - case 188 /* ConditionalType */: { + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 168 /* MethodSignature */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 317 /* JSDocFunctionType */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 259 /* TypeAliasDeclaration */: + case 344 /* JSDocTemplateTag */: + case 345 /* JSDocTypedefTag */: + case 339 /* JSDocEnumTag */: + case 338 /* JSDocCallbackTag */: + case 195 /* MappedType */: + case 189 /* ConditionalType */: { var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 194 /* MappedType */) { + if (node.kind === 195 /* MappedType */) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 188 /* ConditionalType */) { + else if (node.kind === 189 /* ConditionalType */) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 256 /* ClassDeclaration */ || node.kind === 225 /* ClassExpression */ || node.kind === 257 /* InterfaceDeclaration */ || isJSConstructor(node)) && + (node.kind === 257 /* ClassDeclaration */ || node.kind === 226 /* ClassExpression */ || node.kind === 258 /* InterfaceDeclaration */ || isJSConstructor(node)) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } - case 338 /* JSDocParameterTag */: + case 340 /* JSDocParameterTag */: var paramSymbol = ts.getParameterSymbolFromJSDoc(node); if (paramSymbol) { node = paramSymbol.valueDeclaration; } break; - case 318 /* JSDocComment */: { + case 320 /* JSDoc */: { var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); return node.tags ? appendTypeParameters(outerTypeParameters, ts.flatMap(node.tags, function (t) { return ts.isJSDocTemplateTag(t) ? t.typeParameters : undefined; })) @@ -55891,7 +56738,7 @@ var ts; } // The outer type parameters are those defined by enclosing generic classes, methods, or functions. function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 257 /* InterfaceDeclaration */); + var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 258 /* InterfaceDeclaration */); ts.Debug.assert(!!declaration, "Class was missing valueDeclaration -OR- non-class had no interface declarations"); return getOuterTypeParameters(declaration); } @@ -55904,9 +56751,9 @@ var ts; var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 257 /* InterfaceDeclaration */ || - node.kind === 256 /* ClassDeclaration */ || - node.kind === 225 /* ClassExpression */ || + if (node.kind === 258 /* InterfaceDeclaration */ || + node.kind === 257 /* ClassDeclaration */ || + node.kind === 226 /* ClassExpression */ || isJSConstructor(node) || ts.isTypeAlias(node)) { var declaration = node; @@ -56058,7 +56905,7 @@ var ts; if (!popTypeResolution() && type.symbol.declarations) { for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 256 /* ClassDeclaration */ || declaration.kind === 257 /* InterfaceDeclaration */) { + if (declaration.kind === 257 /* ClassDeclaration */ || declaration.kind === 258 /* InterfaceDeclaration */) { reportCircularBaseType(declaration, type); } } @@ -56154,7 +57001,7 @@ var ts; if (type.symbol.declarations) { for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 257 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 258 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getReducedType(getTypeFromTypeNode(node)); @@ -56194,7 +57041,7 @@ var ts; } for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 257 /* InterfaceDeclaration */) { + if (declaration.kind === 258 /* InterfaceDeclaration */) { if (declaration.flags & 128 /* ContainsThis */) { return false; } @@ -56273,7 +57120,7 @@ var ts; } else { type = errorType; - if (declaration.kind === 337 /* JSDocEnumTag */) { + if (declaration.kind === 339 /* JSDocEnumTag */) { error(declaration.typeExpression.type, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } else { @@ -56288,7 +57135,7 @@ var ts; if (ts.isStringLiteralLike(expr)) { return true; } - else if (expr.kind === 220 /* BinaryExpression */) { + else if (expr.kind === 221 /* BinaryExpression */) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -56296,19 +57143,19 @@ var ts; function isLiteralEnumMember(member) { var expr = member.initializer; if (!expr) { - return !(member.flags & 8388608 /* Ambient */); + return !(member.flags & 16777216 /* Ambient */); } switch (expr.kind) { case 10 /* StringLiteral */: case 8 /* NumericLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: return true; - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return expr.operator === 40 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; case 79 /* Identifier */: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return isStringConcatExpression(expr); default: return false; @@ -56323,7 +57170,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 259 /* EnumDeclaration */) { + if (declaration.kind === 260 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && ts.isStringLiteralLike(member.initializer)) { @@ -56352,7 +57199,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 259 /* EnumDeclaration */) { + if (declaration.kind === 260 /* EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; var value = getEnumMemberValue(member); @@ -56426,21 +57273,21 @@ var ts; function isThislessType(node) { switch (node.kind) { case 130 /* AnyKeyword */: - case 154 /* UnknownKeyword */: - case 149 /* StringKeyword */: - case 146 /* NumberKeyword */: - case 157 /* BigIntKeyword */: + case 155 /* UnknownKeyword */: + case 150 /* StringKeyword */: + case 147 /* NumberKeyword */: + case 158 /* BigIntKeyword */: case 133 /* BooleanKeyword */: - case 150 /* SymbolKeyword */: - case 147 /* ObjectKeyword */: + case 151 /* SymbolKeyword */: + case 148 /* ObjectKeyword */: case 114 /* VoidKeyword */: - case 152 /* UndefinedKeyword */: + case 153 /* UndefinedKeyword */: case 143 /* NeverKeyword */: - case 195 /* LiteralType */: + case 196 /* LiteralType */: return true; - case 182 /* ArrayType */: + case 183 /* ArrayType */: return isThislessType(node.elementType); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -56466,7 +57313,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 170 /* Constructor */ || (!!returnType && isThislessType(returnType))) && + return (node.kind === 171 /* Constructor */ || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -56482,14 +57329,14 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: return isThislessVariableLikeDeclaration(declaration); - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return isThislessFunctionLikeDeclaration(declaration); } } @@ -56663,9 +57510,9 @@ var ts; // If we have an existing early-bound member, combine its declarations so that we can // report an error at each declaration. var declarations = earlySymbol ? ts.concatenate(earlySymbol.declarations, lateSymbol.declarations) : lateSymbol.declarations; - var name_4 = !(type.flags & 8192 /* UniqueESSymbol */) && ts.unescapeLeadingUnderscores(memberName) || ts.declarationNameToString(declName); - ts.forEach(declarations, function (declaration) { return error(ts.getNameOfDeclaration(declaration) || declaration, ts.Diagnostics.Property_0_was_also_declared_here, name_4); }); - error(declName || decl, ts.Diagnostics.Duplicate_property_0, name_4); + var name_5 = !(type.flags & 8192 /* UniqueESSymbol */) && ts.unescapeLeadingUnderscores(memberName) || ts.declarationNameToString(declName); + ts.forEach(declarations, function (declaration) { return error(ts.getNameOfDeclaration(declaration) || declaration, ts.Diagnostics.Property_0_was_also_declared_here, name_5); }); + error(declName || decl, ts.Diagnostics.Duplicate_property_0, name_5); lateSymbol = createSymbol(0 /* None */, memberName, 4096 /* Late */); } lateSymbol.nameType = type; @@ -57084,7 +57931,7 @@ var ts; !leftName ? rightName : !rightName ? leftName : undefined; - var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i)); + var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i); paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType; params[i] = paramSymbol; } @@ -57232,87 +58079,87 @@ var ts; * Converts an AnonymousType to a ResolvedType. */ function resolveAnonymousTypeMembers(type) { - var symbol = getMergedSymbol(type.symbol); if (type.target) { setStructuredTypeMembers(type, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); - var members = createInstantiatedSymbolTable(getPropertiesOfObjectType(type.target), type.mapper, /*mappingThisOnly*/ false); + var members_6 = createInstantiatedSymbolTable(getPropertiesOfObjectType(type.target), type.mapper, /*mappingThisOnly*/ false); var callSignatures = instantiateSignatures(getSignaturesOfType(type.target, 0 /* Call */), type.mapper); var constructSignatures = instantiateSignatures(getSignaturesOfType(type.target, 1 /* Construct */), type.mapper); - var indexInfos = instantiateIndexInfos(getIndexInfosOfType(type.target), type.mapper); - setStructuredTypeMembers(type, members, callSignatures, constructSignatures, indexInfos); + var indexInfos_1 = instantiateIndexInfos(getIndexInfosOfType(type.target), type.mapper); + setStructuredTypeMembers(type, members_6, callSignatures, constructSignatures, indexInfos_1); + return; } - else if (symbol.flags & 2048 /* TypeLiteral */) { + var symbol = getMergedSymbol(type.symbol); + if (symbol.flags & 2048 /* TypeLiteral */) { setStructuredTypeMembers(type, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); - var members = getMembersOfSymbol(symbol); - var callSignatures = getSignaturesOfSymbol(members.get("__call" /* Call */)); - var constructSignatures = getSignaturesOfSymbol(members.get("__new" /* New */)); - var indexInfos = getIndexInfosOfSymbol(symbol); - setStructuredTypeMembers(type, members, callSignatures, constructSignatures, indexInfos); + var members_7 = getMembersOfSymbol(symbol); + var callSignatures = getSignaturesOfSymbol(members_7.get("__call" /* Call */)); + var constructSignatures = getSignaturesOfSymbol(members_7.get("__new" /* New */)); + var indexInfos_2 = getIndexInfosOfSymbol(symbol); + setStructuredTypeMembers(type, members_7, callSignatures, constructSignatures, indexInfos_2); + return; } - else { - // Combinations of function, class, enum and module - var members = emptySymbols; - var indexInfos = void 0; - if (symbol.exports) { - members = getExportsOfSymbol(symbol); - if (symbol === globalThisSymbol) { - var varsOnly_1 = new ts.Map(); - members.forEach(function (p) { - if (!(p.flags & 418 /* BlockScoped */)) { - varsOnly_1.set(p.escapedName, p); - } - }); - members = varsOnly_1; - } + // Combinations of function, class, enum and module + var members = emptySymbols; + var indexInfos; + if (symbol.exports) { + members = getExportsOfSymbol(symbol); + if (symbol === globalThisSymbol) { + var varsOnly_1 = new ts.Map(); + members.forEach(function (p) { + if (!(p.flags & 418 /* BlockScoped */)) { + varsOnly_1.set(p.escapedName, p); + } + }); + members = varsOnly_1; } - var baseConstructorIndexInfo = void 0; - setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, ts.emptyArray); - if (symbol.flags & 32 /* Class */) { - var classType = getDeclaredTypeOfClassOrInterface(symbol); - var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 8650752 /* TypeVariable */)) { - members = ts.createSymbolTable(getNamedOrIndexSignatureMembers(members)); - addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); - } - else if (baseConstructorType === anyType) { - baseConstructorIndexInfo = createIndexInfo(stringType, anyType, /*isReadonly*/ false); - } + } + var baseConstructorIndexInfo; + setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, ts.emptyArray); + if (symbol.flags & 32 /* Class */) { + var classType = getDeclaredTypeOfClassOrInterface(symbol); + var baseConstructorType = getBaseConstructorTypeOfClass(classType); + if (baseConstructorType.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 8650752 /* TypeVariable */)) { + members = ts.createSymbolTable(getNamedOrIndexSignatureMembers(members)); + addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } - var indexSymbol = getIndexSymbolFromSymbolTable(members); - if (indexSymbol) { - indexInfos = getIndexInfosOfIndexSymbol(indexSymbol); + else if (baseConstructorType === anyType) { + baseConstructorIndexInfo = createIndexInfo(stringType, anyType, /*isReadonly*/ false); } - else { - if (baseConstructorIndexInfo) { - indexInfos = ts.append(indexInfos, baseConstructorIndexInfo); - } - if (symbol.flags & 384 /* Enum */ && (getDeclaredTypeOfSymbol(symbol).flags & 32 /* Enum */ || - ts.some(type.properties, function (prop) { return !!(getTypeOfSymbol(prop).flags & 296 /* NumberLike */); }))) { - indexInfos = ts.append(indexInfos, enumNumberIndexInfo); - } + } + var indexSymbol = getIndexSymbolFromSymbolTable(members); + if (indexSymbol) { + indexInfos = getIndexInfosOfIndexSymbol(indexSymbol); + } + else { + if (baseConstructorIndexInfo) { + indexInfos = ts.append(indexInfos, baseConstructorIndexInfo); } - setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, indexInfos || ts.emptyArray); - // We resolve the members before computing the signatures because a signature may use - // typeof with a qualified name expression that circularly references the type we are - // in the process of resolving (see issue #6072). The temporarily empty signature list - // will never be observed because a qualified name can't reference signatures. - if (symbol.flags & (16 /* Function */ | 8192 /* Method */)) { - type.callSignatures = getSignaturesOfSymbol(symbol); + if (symbol.flags & 384 /* Enum */ && (getDeclaredTypeOfSymbol(symbol).flags & 32 /* Enum */ || + ts.some(type.properties, function (prop) { return !!(getTypeOfSymbol(prop).flags & 296 /* NumberLike */); }))) { + indexInfos = ts.append(indexInfos, enumNumberIndexInfo); } - // And likewise for construct signatures for classes - if (symbol.flags & 32 /* Class */) { - var classType_1 = getDeclaredTypeOfClassOrInterface(symbol); - var constructSignatures = symbol.members ? getSignaturesOfSymbol(symbol.members.get("__constructor" /* Constructor */)) : ts.emptyArray; - if (symbol.flags & 16 /* Function */) { - constructSignatures = ts.addRange(constructSignatures.slice(), ts.mapDefined(type.callSignatures, function (sig) { return isJSConstructor(sig.declaration) ? - createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, classType_1, /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* PropagatingFlags */) : - undefined; })); - } - if (!constructSignatures.length) { - constructSignatures = getDefaultConstructSignatures(classType_1); - } - type.constructSignatures = constructSignatures; + } + setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, indexInfos || ts.emptyArray); + // We resolve the members before computing the signatures because a signature may use + // typeof with a qualified name expression that circularly references the type we are + // in the process of resolving (see issue #6072). The temporarily empty signature list + // will never be observed because a qualified name can't reference signatures. + if (symbol.flags & (16 /* Function */ | 8192 /* Method */)) { + type.callSignatures = getSignaturesOfSymbol(symbol); + } + // And likewise for construct signatures for classes + if (symbol.flags & 32 /* Class */) { + var classType_1 = getDeclaredTypeOfClassOrInterface(symbol); + var constructSignatures = symbol.members ? getSignaturesOfSymbol(symbol.members.get("__constructor" /* Constructor */)) : ts.emptyArray; + if (symbol.flags & 16 /* Function */) { + constructSignatures = ts.addRange(constructSignatures.slice(), ts.mapDefined(type.callSignatures, function (sig) { return isJSConstructor(sig.declaration) ? + createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, classType_1, /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* PropagatingFlags */) : + undefined; })); + } + if (!constructSignatures.length) { + constructSignatures = getDefaultConstructSignatures(classType_1); } + type.constructSignatures = constructSignatures; } } function replaceIndexedAccess(instantiable, type, replacement) { @@ -57519,7 +58366,7 @@ var ts; } function isMappedTypeWithKeyofConstraintDeclaration(type) { var constraintDeclaration = getConstraintDeclarationForMappedType(type); // TODO: GH#18217 - return constraintDeclaration.kind === 192 /* TypeOperator */ && + return constraintDeclaration.kind === 193 /* TypeOperator */ && constraintDeclaration.operator === 140 /* KeyOfKeyword */; } function getModifiersTypeFromMappedType(type) { @@ -57984,8 +58831,10 @@ var ts; return type; } function isMappedTypeGenericIndexedAccess(type) { - return type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(type.objectType) & 32 /* Mapped */ && - !isGenericMappedType(type.objectType) && isGenericIndexType(type.indexType); + var objectType; + return !!(type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* Mapped */ && + !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) && + !objectType.declaration.questionToken && !objectType.declaration.nameType); } /** * For a type parameter, return the base constraint of the type parameter. For the string, number, @@ -58082,7 +58931,7 @@ var ts; checkFlags |= 32 /* WritePartial */ | (indexInfo.isReadonly ? 8 /* Readonly */ : 0); indexTypes = ts.append(indexTypes, isTupleType(type) ? getRestTypeOfTupleType(type) || undefinedType : indexInfo.type); } - else if (isObjectLiteralType(type) && !(ts.getObjectFlags(type) & 4194304 /* ContainsSpread */)) { + else if (isObjectLiteralType(type) && !(ts.getObjectFlags(type) & 2097152 /* ContainsSpread */)) { checkFlags |= 32 /* WritePartial */; indexTypes = ts.append(indexTypes, undefinedType); } @@ -58141,10 +58990,10 @@ var ts; else if (type !== firstType) { checkFlags |= 64 /* HasNonUniformType */; } - if (isLiteralType(type) || isPatternLiteralType(type)) { + if (isLiteralType(type) || isPatternLiteralType(type) || type === uniqueLiteralType) { checkFlags |= 128 /* HasLiteralType */; } - if (type.flags & 131072 /* Never */) { + if (type.flags & 131072 /* Never */ && type !== uniqueLiteralType) { checkFlags |= 131072 /* HasNeverType */; } propTypes.push(type); @@ -58206,15 +59055,15 @@ var ts; * no constituent property has type 'never', but the intersection of the constituent property types is 'never'. */ function getReducedType(type) { - if (type.flags & 1048576 /* Union */ && type.objectFlags & 33554432 /* ContainsIntersections */) { + if (type.flags & 1048576 /* Union */ && type.objectFlags & 16777216 /* ContainsIntersections */) { return type.resolvedReducedType || (type.resolvedReducedType = getReducedUnionType(type)); } else if (type.flags & 2097152 /* Intersection */) { - if (!(type.objectFlags & 33554432 /* IsNeverIntersectionComputed */)) { - type.objectFlags |= 33554432 /* IsNeverIntersectionComputed */ | - (ts.some(getPropertiesOfUnionOrIntersectionType(type), isNeverReducedProperty) ? 67108864 /* IsNeverIntersection */ : 0); + if (!(type.objectFlags & 16777216 /* IsNeverIntersectionComputed */)) { + type.objectFlags |= 16777216 /* IsNeverIntersectionComputed */ | + (ts.some(getPropertiesOfUnionOrIntersectionType(type), isNeverReducedProperty) ? 33554432 /* IsNeverIntersection */ : 0); } - return type.objectFlags & 67108864 /* IsNeverIntersection */ ? neverType : type; + return type.objectFlags & 33554432 /* IsNeverIntersection */ ? neverType : type; } return type; } @@ -58244,7 +59093,7 @@ var ts; return !prop.valueDeclaration && !!(ts.getCheckFlags(prop) & 1024 /* ContainsPrivate */); } function elaborateNeverIntersection(errorInfo, type) { - if (type.flags & 2097152 /* Intersection */ && ts.getObjectFlags(type) & 67108864 /* IsNeverIntersection */) { + if (type.flags & 2097152 /* Intersection */ && ts.getObjectFlags(type) & 33554432 /* IsNeverIntersection */) { var neverProp = ts.find(getPropertiesOfUnionOrIntersectionType(type), isDiscriminantWithNeverType); if (neverProp) { return ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents, typeToString(type, /*enclosingDeclaration*/ undefined, 536870912 /* NoTypeReduction */), symbolToString(neverProp)); @@ -58313,8 +59162,8 @@ var ts; var stringIndexInfo; var applicableInfo; var applicableInfos; - for (var _i = 0, indexInfos_1 = indexInfos; _i < indexInfos_1.length; _i++) { - var info = indexInfos_1[_i]; + for (var _i = 0, indexInfos_3 = indexInfos; _i < indexInfos_3.length; _i++) { + var info = indexInfos_3[_i]; if (info.keyType === stringType) { stringIndexInfo = info; } @@ -58394,10 +59243,10 @@ var ts; function isJSDocOptionalParameter(node) { return ts.isInJSFile(node) && ( // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType - node.type && node.type.kind === 314 /* JSDocOptionalType */ + node.type && node.type.kind === 316 /* JSDocOptionalType */ || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 314 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* JSDocOptionalType */; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -58437,7 +59286,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 314 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* JSDocOptionalType */; } function createTypePredicate(kind, parameterName, parameterIndex, type) { return { kind: kind, parameterName: parameterName, parameterIndex: parameterIndex, type: type }; @@ -58519,7 +59368,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 195 /* LiteralType */) { + if (type && type.kind === 196 /* LiteralType */) { flags |= 2 /* HasLiteralTypes */; } // Record a new minimum argument count if this is not an optional parameter @@ -58532,16 +59381,16 @@ var ts; } } // If only one accessor includes a this-type annotation, the other behaves as if it had the same type annotation - if ((declaration.kind === 171 /* GetAccessor */ || declaration.kind === 172 /* SetAccessor */) && + if ((declaration.kind === 172 /* GetAccessor */ || declaration.kind === 173 /* SetAccessor */) && hasBindableName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 171 /* GetAccessor */ ? 172 /* SetAccessor */ : 171 /* GetAccessor */; + var otherKind = declaration.kind === 172 /* GetAccessor */ ? 173 /* SetAccessor */ : 172 /* GetAccessor */; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 170 /* Constructor */ ? + var classType = declaration.kind === 171 /* Constructor */ ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); @@ -58573,7 +59422,19 @@ var ts; return p.typeExpression && ts.isJSDocVariadicType(p.typeExpression.type) ? p.typeExpression.type : undefined; }); var syntheticArgsSymbol = createSymbol(3 /* Variable */, "args", 32768 /* RestParameter */); - syntheticArgsSymbol.type = lastParamVariadicType ? createArrayType(getTypeFromTypeNode(lastParamVariadicType.type)) : anyArrayType; + if (lastParamVariadicType) { + // Parameter has effective annotation, lock in type + syntheticArgsSymbol.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type)); + } + else { + // Parameter has no annotation + // By using a `DeferredType` symbol, we allow the type of this rest arg to be overriden by contextual type assignment so long as its type hasn't been + // cached by `getTypeOfSymbol` yet. + syntheticArgsSymbol.checkFlags |= 65536 /* DeferredType */; + syntheticArgsSymbol.deferralParent = neverType; + syntheticArgsSymbol.deferralConstituents = [anyArrayType]; + syntheticArgsSymbol.deferralWriteConstituents = [anyArrayType]; + } if (lastParamVariadicType) { // Replace the last parameter with a rest parameter. parameters.pop(); @@ -58616,16 +59477,16 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return node.escapedText === argumentsSymbol.escapedName && getReferencedValueSymbol(node) === argumentsSymbol; - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - return node.name.kind === 161 /* ComputedPropertyName */ + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + return node.name.kind === 162 /* ComputedPropertyName */ && traverse(node.name); - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return traverse(node.expression); - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return traverse(node.initializer); default: return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); @@ -58697,7 +59558,7 @@ var ts; function createTypePredicateFromTypePredicateNode(node, signature) { var parameterName = node.parameterName; var type = node.type && getTypeFromTypeNode(node.type); - return parameterName.kind === 191 /* ThisType */ ? + return parameterName.kind === 192 /* ThisType */ ? createTypePredicate(node.assertsModifier ? 2 /* AssertsThis */ : 0 /* This */, /*parameterName*/ undefined, /*parameterIndex*/ undefined, type) : createTypePredicate(node.assertsModifier ? 3 /* AssertsIdentifier */ : 1 /* Identifier */, parameterName.escapedText, ts.findIndex(signature.parameters, function (p) { return p.escapedName === parameterName.escapedText; }), type); } @@ -58743,7 +59604,7 @@ var ts; return signature.resolvedReturnType; } function getReturnTypeFromAnnotation(declaration) { - if (declaration.kind === 170 /* Constructor */) { + if (declaration.kind === 171 /* Constructor */) { return getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)); } if (ts.isJSDocConstructSignature(declaration)) { @@ -58753,12 +59614,12 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 171 /* GetAccessor */ && hasBindableName(declaration)) { + if (declaration.kind === 172 /* GetAccessor */ && hasBindableName(declaration)) { var jsDocType = ts.isInJSFile(declaration) && getTypeForDeclarationFromJSDocComment(declaration); if (jsDocType) { return jsDocType; } - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 172 /* SetAccessor */); + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 173 /* SetAccessor */); var setterType = getAnnotatedAccessorType(setter); if (setterType) { return setterType; @@ -58853,13 +59714,15 @@ var ts; return signature; } function getOrCreateTypeFromSignature(signature) { + var _a; // There are two ways to declare a construct signature, one is by declaring a class constructor // using the constructor keyword, and the other is declaring a bare construct signature in an // object type literal or interface (using the new keyword). Each way of declaring a constructor // will result in a different declaration kind. if (!signature.isolatedSignatureType) { - var kind = signature.declaration ? signature.declaration.kind : 0 /* Unknown */; - var isConstructor = kind === 170 /* Constructor */ || kind === 174 /* ConstructSignature */ || kind === 179 /* ConstructorType */; + var kind = (_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind; + // If declaration is undefined, it is likely to be the signature of the default constructor. + var isConstructor = kind === undefined || kind === 171 /* Constructor */ || kind === 175 /* ConstructSignature */ || kind === 180 /* ConstructorType */; var type = createObjectType(16 /* Anonymous */); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -58885,14 +59748,14 @@ var ts; } function getIndexInfosOfIndexSymbol(indexSymbol) { if (indexSymbol.declarations) { - var indexInfos_2 = []; + var indexInfos_4 = []; var _loop_14 = function (declaration) { if (declaration.parameters.length === 1) { var parameter = declaration.parameters[0]; if (parameter.type) { forEachType(getTypeFromTypeNode(parameter.type), function (keyType) { - if (isValidIndexKeyType(keyType) && !findIndexInfo(indexInfos_2, keyType)) { - indexInfos_2.push(createIndexInfo(keyType, declaration.type ? getTypeFromTypeNode(declaration.type) : anyType, ts.hasEffectiveModifier(declaration, 64 /* Readonly */), declaration)); + if (isValidIndexKeyType(keyType) && !findIndexInfo(indexInfos_4, keyType)) { + indexInfos_4.push(createIndexInfo(keyType, declaration.type ? getTypeFromTypeNode(declaration.type) : anyType, ts.hasEffectiveModifier(declaration, 64 /* Readonly */), declaration)); } }); } @@ -58902,7 +59765,7 @@ var ts; var declaration = _a[_i]; _loop_14(declaration); } - return indexInfos_2; + return indexInfos_4; } return ts.emptyArray; } @@ -58913,19 +59776,19 @@ var ts; function getConstraintDeclaration(type) { return ts.mapDefined(ts.filter(type.symbol && type.symbol.declarations, ts.isTypeParameterDeclaration), ts.getEffectiveConstraintOfTypeParameter)[0]; } - function getInferredTypeParameterConstraint(typeParameter) { + function getInferredTypeParameterConstraint(typeParameter, omitTypeReferences) { var _a; var inferences; if ((_a = typeParameter.symbol) === null || _a === void 0 ? void 0 : _a.declarations) { for (var _i = 0, _b = typeParameter.symbol.declarations; _i < _b.length; _i++) { var declaration = _b[_i]; - if (declaration.parent.kind === 189 /* InferType */) { + if (declaration.parent.kind === 190 /* InferType */) { // When an 'infer T' declaration is immediately contained in a type reference node // (such as 'Foo'), T's constraint is inferred from the constraint of the // corresponding type parameter in 'Foo'. When multiple 'infer T' declarations are // present, we form an intersection of the inferred constraint types. var _c = ts.walkUpParenthesizedTypesAndGetParentAndChild(declaration.parent.parent), _d = _c[0], childTypeParameter = _d === void 0 ? declaration.parent : _d, grandParent = _c[1]; - if (grandParent.kind === 177 /* TypeReference */) { + if (grandParent.kind === 178 /* TypeReference */ && !omitTypeReferences) { var typeReference = grandParent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -58950,27 +59813,27 @@ var ts; } // When an 'infer T' declaration is immediately contained in a rest parameter declaration, a rest type // or a named rest tuple element, we infer an 'unknown[]' constraint. - else if (grandParent.kind === 163 /* Parameter */ && grandParent.dotDotDotToken || - grandParent.kind === 185 /* RestType */ || - grandParent.kind === 196 /* NamedTupleMember */ && grandParent.dotDotDotToken) { + else if (grandParent.kind === 164 /* Parameter */ && grandParent.dotDotDotToken || + grandParent.kind === 186 /* RestType */ || + grandParent.kind === 197 /* NamedTupleMember */ && grandParent.dotDotDotToken) { inferences = ts.append(inferences, createArrayType(unknownType)); } // When an 'infer T' declaration is immediately contained in a string template type, we infer a 'string' // constraint. - else if (grandParent.kind === 198 /* TemplateLiteralTypeSpan */) { + else if (grandParent.kind === 199 /* TemplateLiteralTypeSpan */) { inferences = ts.append(inferences, stringType); } // When an 'infer T' declaration is in the constraint position of a mapped type, we infer a 'keyof any' // constraint. - else if (grandParent.kind === 162 /* TypeParameter */ && grandParent.parent.kind === 194 /* MappedType */) { + else if (grandParent.kind === 163 /* TypeParameter */ && grandParent.parent.kind === 195 /* MappedType */) { inferences = ts.append(inferences, keyofConstraintType); } // When an 'infer T' declaration is the template of a mapped type, and that mapped type is the extends // clause of a conditional whose check type is also a mapped type, give it a constraint equal to the template // of the check type's mapped type - else if (grandParent.kind === 194 /* MappedType */ && grandParent.type && - ts.skipParentheses(grandParent.type) === declaration.parent && grandParent.parent.kind === 188 /* ConditionalType */ && - grandParent.parent.extendsType === grandParent && grandParent.parent.checkType.kind === 194 /* MappedType */ && + else if (grandParent.kind === 195 /* MappedType */ && grandParent.type && + ts.skipParentheses(grandParent.type) === declaration.parent && grandParent.parent.kind === 189 /* ConditionalType */ && + grandParent.parent.extendsType === grandParent && grandParent.parent.checkType.kind === 195 /* MappedType */ && grandParent.parent.checkType.type) { var checkMappedType_1 = grandParent.parent.checkType; var nodeType = getTypeFromTypeNode(checkMappedType_1.type); @@ -58998,7 +59861,7 @@ var ts; if (type.flags & 1 /* Any */ && !isErrorType(type)) { // Allow errorType to propegate to keep downstream errors suppressed // use keyofConstraintType as the base constraint for mapped type key constraints (unknown isn;t assignable to that, but `any` was), // use unknown otherwise - type = constraintDeclaration.parent.parent.kind === 194 /* MappedType */ ? keyofConstraintType : unknownType; + type = constraintDeclaration.parent.parent.kind === 195 /* MappedType */ ? keyofConstraintType : unknownType; } typeParameter.constraint = type; } @@ -59007,7 +59870,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - var tp = ts.getDeclarationOfKind(typeParameter.symbol, 162 /* TypeParameter */); + var tp = ts.getDeclarationOfKind(typeParameter.symbol, 163 /* TypeParameter */); var host = ts.isJSDocTemplateTag(tp.parent) ? ts.getEffectiveContainerForJSDocTemplateTag(tp.parent) : tp.parent; return host && getSymbolOfNode(host); } @@ -59035,7 +59898,7 @@ var ts; return result; } function getAliasId(aliasSymbol, aliasTypeArguments) { - return aliasSymbol ? "@".concat(getSymbolId(aliasSymbol)) + (aliasTypeArguments ? ":".concat(getTypeListId(aliasTypeArguments)) : "") : ""; + return aliasSymbol ? "@" + getSymbolId(aliasSymbol) + (aliasTypeArguments ? ":" + getTypeListId(aliasTypeArguments) : "") : ""; } // This function is used to propagate certain flags when creating new object type references and union types. // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type @@ -59049,7 +59912,7 @@ var ts; result |= ts.getObjectFlags(type); } } - return result & 917504 /* PropagatingFlags */; + return result & 458752 /* PropagatingFlags */; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); @@ -59093,8 +59956,8 @@ var ts; } var node = type.node; var typeArguments = !node ? ts.emptyArray : - node.kind === 177 /* TypeReference */ ? ts.concatenate(type.target.outerTypeParameters, getEffectiveTypeArguments(node, type.target.localTypeParameters)) : - node.kind === 182 /* ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : + node.kind === 178 /* TypeReference */ ? ts.concatenate(type.target.outerTypeParameters, getEffectiveTypeArguments(node, type.target.localTypeParameters)) : + node.kind === 183 /* ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); if (popTypeResolution()) { type.resolvedTypeArguments = type.mapper ? instantiateTypes(typeArguments, type.mapper) : typeArguments; @@ -59136,7 +59999,7 @@ var ts; return errorType; } } - if (node.kind === 177 /* TypeReference */ && isDeferredTypeReferenceNode(node, ts.length(node.typeArguments) !== typeParameters.length)) { + if (node.kind === 178 /* TypeReference */ && isDeferredTypeReferenceNode(node, ts.length(node.typeArguments) !== typeParameters.length)) { return createDeferredTypeReference(type, node, /*mapper*/ undefined); } // In a type reference, the outer type parameters of the referenced class or interface are automatically @@ -59207,9 +60070,9 @@ var ts; } function getTypeReferenceName(node) { switch (node.kind) { - case 177 /* TypeReference */: + case 178 /* TypeReference */: return node.typeName; - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. var expr = node.expression; @@ -59221,18 +60084,18 @@ var ts; return undefined; } function getSymbolPath(symbol) { - return symbol.parent ? "".concat(getSymbolPath(symbol.parent), ".").concat(symbol.escapedName) : symbol.escapedName; + return symbol.parent ? getSymbolPath(symbol.parent) + "." + symbol.escapedName : symbol.escapedName; } function getUnresolvedSymbolForEntityName(name) { - var identifier = name.kind === 160 /* QualifiedName */ ? name.right : - name.kind === 205 /* PropertyAccessExpression */ ? name.name : + var identifier = name.kind === 161 /* QualifiedName */ ? name.right : + name.kind === 206 /* PropertyAccessExpression */ ? name.name : name; var text = identifier.escapedText; if (text) { - var parentSymbol = name.kind === 160 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : - name.kind === 205 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : + var parentSymbol = name.kind === 161 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : + name.kind === 206 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : undefined; - var path = parentSymbol ? "".concat(getSymbolPath(parentSymbol), ".").concat(text) : text; + var path = parentSymbol ? getSymbolPath(parentSymbol) + "." + text : text; var result = unresolvedSymbols.get(path); if (!result) { unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); @@ -59291,7 +60154,7 @@ var ts; var valueType = getTypeOfSymbol(symbol); var typeType = valueType; if (symbol.valueDeclaration) { - var isImportTypeWithQualifier = node.kind === 199 /* ImportType */ && node.qualifier; + var isImportTypeWithQualifier = node.kind === 200 /* ImportType */ && node.qualifier; // valueType might not have a symbol, eg, {import('./b').STRING_LITERAL} if (valueType.symbol && valueType.symbol !== symbol && isImportTypeWithQualifier) { typeType = getTypeReferenceType(node, valueType.symbol); @@ -59305,7 +60168,7 @@ var ts; if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) { return baseType; } - var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(substitute)); + var id = getTypeId(baseType) + ">" + getTypeId(substitute); var cached = substitutionTypes.get(id); if (cached) { return cached; @@ -59317,7 +60180,7 @@ var ts; return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 183 /* TupleType */ && node.elements.length === 1; + return node.kind === 184 /* TupleType */ && node.elements.length === 1; } function getImpliedConstraint(type, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(type, checkNode.elements[0], extendsNode.elements[0]) : @@ -59327,16 +60190,16 @@ var ts; function getConditionalFlowTypeOfType(type, node) { var constraints; var covariant = true; - while (node && !ts.isStatement(node) && node.kind !== 318 /* JSDocComment */) { + while (node && !ts.isStatement(node) && node.kind !== 320 /* JSDoc */) { var parent = node.parent; // only consider variance flipped by parameter locations - `keyof` types would usually be considered variance inverting, but // often get used in indexed accesses where they behave sortof invariantly, but our checking is lax - if (parent.kind === 163 /* Parameter */) { + if (parent.kind === 164 /* Parameter */) { covariant = !covariant; } // Always substitute on type parameters, regardless of variance, since even // in contravariant positions, they may rely on substituted constraints to be valid - if ((covariant || type.flags & 8650752 /* TypeVariable */) && parent.kind === 188 /* ConditionalType */ && node === parent.trueType) { + if ((covariant || type.flags & 8650752 /* TypeVariable */) && parent.kind === 189 /* ConditionalType */ && node === parent.trueType) { var constraint = getImpliedConstraint(type, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -59347,7 +60210,7 @@ var ts; return constraints ? getSubstitutionType(type, getIntersectionType(ts.append(constraints, type))) : type; } function isJSDocTypeReference(node) { - return !!(node.flags & 4194304 /* JSDoc */) && (node.kind === 177 /* TypeReference */ || node.kind === 199 /* ImportType */); + return !!(node.flags & 8388608 /* JSDoc */) && (node.kind === 178 /* TypeReference */ || node.kind === 200 /* ImportType */); } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -59450,7 +60313,7 @@ var ts; // The expression is processed as an identifier expression (section 4.3) // or property access expression(section 4.10), // the widened type(section 3.9) of which becomes the result. - var type = ts.isThisIdentifier(node.exprName) ? checkThisExpression(node.exprName) : checkExpression(node.exprName); + var type = checkExpressionWithTypeArguments(node); links.resolvedType = getRegularTypeOfLiteralType(getWidenedType(type)); } return links.resolvedType; @@ -59462,9 +60325,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: return declaration; } } @@ -59632,11 +60495,11 @@ var ts; } function getTupleElementFlags(node) { switch (node.kind) { - case 184 /* OptionalType */: + case 185 /* OptionalType */: return 2 /* Optional */; - case 185 /* RestType */: + case 186 /* RestType */: return getRestTypeElementFlags(node); - case 196 /* NamedTupleMember */: + case 197 /* NamedTupleMember */: return node.questionToken ? 2 /* Optional */ : node.dotDotDotToken ? getRestTypeElementFlags(node) : 1 /* Required */; @@ -59654,14 +60517,14 @@ var ts; return readonly ? globalReadonlyArrayType : globalArrayType; } var elementFlags = ts.map(node.elements, getTupleElementFlags); - var missingName = ts.some(node.elements, function (e) { return e.kind !== 196 /* NamedTupleMember */; }); + var missingName = ts.some(node.elements, function (e) { return e.kind !== 197 /* NamedTupleMember */; }); return getTupleTargetType(elementFlags, readonly, /*associatedNames*/ missingName ? undefined : node.elements); } // Return true if the given type reference node is directly aliased or if it needs to be deferred // because it is possibly contained in a circular chain of eagerly resolved types. function isDeferredTypeReferenceNode(node, hasDefaultTypeArguments) { - return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 182 /* ArrayType */ ? mayResolveTypeAlias(node.elementType) : - node.kind === 183 /* TupleType */ ? ts.some(node.elements, mayResolveTypeAlias) : + return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 183 /* ArrayType */ ? mayResolveTypeAlias(node.elementType) : + node.kind === 184 /* TupleType */ ? ts.some(node.elements, mayResolveTypeAlias) : hasDefaultTypeArguments || ts.some(node.typeArguments, mayResolveTypeAlias)); } // Return true when the given node is transitively contained in type constructs that eagerly @@ -59670,18 +60533,18 @@ var ts; function isResolvedByTypeAlias(node) { var parent = node.parent; switch (parent.kind) { - case 190 /* ParenthesizedType */: - case 196 /* NamedTupleMember */: - case 177 /* TypeReference */: - case 186 /* UnionType */: - case 187 /* IntersectionType */: - case 193 /* IndexedAccessType */: - case 188 /* ConditionalType */: - case 192 /* TypeOperator */: - case 182 /* ArrayType */: - case 183 /* TupleType */: + case 191 /* ParenthesizedType */: + case 197 /* NamedTupleMember */: + case 178 /* TypeReference */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: + case 194 /* IndexedAccessType */: + case 189 /* ConditionalType */: + case 193 /* TypeOperator */: + case 183 /* ArrayType */: + case 184 /* TupleType */: return isResolvedByTypeAlias(parent); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: return true; } return false; @@ -59690,28 +60553,28 @@ var ts; // of a type alias. function mayResolveTypeAlias(node) { switch (node.kind) { - case 177 /* TypeReference */: + case 178 /* TypeReference */: return isJSDocTypeReference(node) || !!(resolveTypeReferenceName(node, 788968 /* Type */).flags & 524288 /* TypeAlias */); - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: return true; - case 192 /* TypeOperator */: - return node.operator !== 153 /* UniqueKeyword */ && mayResolveTypeAlias(node.type); - case 190 /* ParenthesizedType */: - case 184 /* OptionalType */: - case 196 /* NamedTupleMember */: - case 314 /* JSDocOptionalType */: - case 312 /* JSDocNullableType */: - case 313 /* JSDocNonNullableType */: - case 307 /* JSDocTypeExpression */: + case 193 /* TypeOperator */: + return node.operator !== 154 /* UniqueKeyword */ && mayResolveTypeAlias(node.type); + case 191 /* ParenthesizedType */: + case 185 /* OptionalType */: + case 197 /* NamedTupleMember */: + case 316 /* JSDocOptionalType */: + case 314 /* JSDocNullableType */: + case 315 /* JSDocNonNullableType */: + case 309 /* JSDocTypeExpression */: return mayResolveTypeAlias(node.type); - case 185 /* RestType */: - return node.type.kind !== 182 /* ArrayType */ || mayResolveTypeAlias(node.type.elementType); - case 186 /* UnionType */: - case 187 /* IntersectionType */: + case 186 /* RestType */: + return node.type.kind !== 183 /* ArrayType */ || mayResolveTypeAlias(node.type.elementType); + case 187 /* UnionType */: + case 188 /* IntersectionType */: return ts.some(node.types, mayResolveTypeAlias); - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: return mayResolveTypeAlias(node.objectType) || mayResolveTypeAlias(node.indexType); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return mayResolveTypeAlias(node.checkType) || mayResolveTypeAlias(node.extendsType) || mayResolveTypeAlias(node.trueType) || mayResolveTypeAlias(node.falseType); } @@ -59724,19 +60587,19 @@ var ts; if (target === emptyGenericType) { links.resolvedType = emptyObjectType; } - else if (!(node.kind === 183 /* TupleType */ && ts.some(node.elements, function (e) { return !!(getTupleElementFlags(e) & 8 /* Variadic */); })) && isDeferredTypeReferenceNode(node)) { - links.resolvedType = node.kind === 183 /* TupleType */ && node.elements.length === 0 ? target : + else if (!(node.kind === 184 /* TupleType */ && ts.some(node.elements, function (e) { return !!(getTupleElementFlags(e) & 8 /* Variadic */); })) && isDeferredTypeReferenceNode(node)) { + links.resolvedType = node.kind === 184 /* TupleType */ && node.elements.length === 0 ? target : createDeferredTypeReference(target, node, /*mapper*/ undefined); } else { - var elementTypes = node.kind === 182 /* ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); + var elementTypes = node.kind === 183 /* ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); links.resolvedType = createNormalizedTypeReference(target, elementTypes); } } return links.resolvedType; } function isReadonlyTypeOperator(node) { - return ts.isTypeOperatorNode(node) && node.operator === 144 /* ReadonlyKeyword */; + return ts.isTypeOperatorNode(node) && node.operator === 145 /* ReadonlyKeyword */; } function createTupleType(elementTypes, elementFlags, readonly, namedMemberDeclarations) { if (readonly === void 0) { readonly = false; } @@ -59787,7 +60650,7 @@ var ts; } } var fixedLength = properties.length; - var lengthSymbol = createSymbol(4 /* Property */, "length"); + var lengthSymbol = createSymbol(4 /* Property */, "length", readonly ? 8 /* Readonly */ : 0); if (combinedFlags & 12 /* Variable */) { lengthSymbol.type = numberType; } @@ -59971,7 +60834,7 @@ var ts; if (type === wildcardType) includes |= 8388608 /* IncludesWildcard */; if (!strictNullChecks && flags & 98304 /* Nullable */) { - if (!(ts.getObjectFlags(type) & 131072 /* ContainsWideningType */)) + if (!(ts.getObjectFlags(type) & 65536 /* ContainsWideningType */)) includes |= 4194304 /* IncludesNonWideningType */; } else { @@ -59994,6 +60857,10 @@ var ts; return includes; } function removeSubtypes(types, hasObjectTypes) { + // [] and [T] immediately reduce to [] and [T] respectively + if (types.length < 2) { + return types; + } var id = getTypeListId(types); var match = subtypeReductionCache.get(id); if (match) { @@ -60181,8 +61048,8 @@ var ts; origin = createOriginUnionOrIntersectionType(1048576 /* Union */, reducedTypes); } } - var objectFlags = (includes & 36323363 /* NotPrimitiveUnion */ ? 0 : 65536 /* PrimitiveUnion */) | - (includes & 2097152 /* Intersection */ ? 33554432 /* ContainsIntersections */ : 0); + var objectFlags = (includes & 36323363 /* NotPrimitiveUnion */ ? 0 : 32768 /* PrimitiveUnion */) | + (includes & 2097152 /* Intersection */ ? 16777216 /* ContainsIntersections */ : 0); return getUnionTypeFromSortedList(typeSet, objectFlags, aliasSymbol, aliasTypeArguments, origin); } function getUnionOrIntersectionTypePredicate(signatures, kind) { @@ -60229,9 +61096,9 @@ var ts; return types[0]; } var typeKey = !origin ? getTypeListId(types) : - origin.flags & 1048576 /* Union */ ? "|".concat(getTypeListId(origin.types)) : - origin.flags & 2097152 /* Intersection */ ? "&".concat(getTypeListId(origin.types)) : - "#".concat(origin.type.id, "|").concat(getTypeListId(types)); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving + origin.flags & 1048576 /* Union */ ? "|" + getTypeListId(origin.types) : + origin.flags & 2097152 /* Intersection */ ? "&" + getTypeListId(origin.types) : + "#" + origin.type.id + "|" + getTypeListId(types); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving var id = typeKey + getAliasId(aliasSymbol, aliasTypeArguments); var type = unionTypes.get(id); if (!type) { @@ -60371,7 +61238,7 @@ var ts; // other unions and return true. Otherwise, do nothing and return false. function intersectUnionsOfPrimitiveTypes(types) { var unionTypes; - var index = ts.findIndex(types, function (t) { return !!(ts.getObjectFlags(t) & 65536 /* PrimitiveUnion */); }); + var index = ts.findIndex(types, function (t) { return !!(ts.getObjectFlags(t) & 32768 /* PrimitiveUnion */); }); if (index < 0) { return false; } @@ -60380,7 +61247,7 @@ var ts; // the unionTypes array. while (i < types.length) { var t = types[i]; - if (ts.getObjectFlags(t) & 65536 /* PrimitiveUnion */) { + if (ts.getObjectFlags(t) & 32768 /* PrimitiveUnion */) { (unionTypes || (unionTypes = [types[index]])).push(t); ts.orderedRemoveItemAt(types, i); } @@ -60409,7 +61276,7 @@ var ts; } } // Finally replace the first union with the result - types[index] = getUnionTypeFromSortedList(result, 65536 /* PrimitiveUnion */); + types[index] = getUnionTypeFromSortedList(result, 32768 /* PrimitiveUnion */); return true; } function createIntersectionType(types, aliasSymbol, aliasTypeArguments) { @@ -60679,10 +61546,24 @@ var ts; return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* Literal */, /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined, origin); } + /** + * A union type which is reducible upon instantiation (meaning some members are removed under certain instantiations) + * must be kept generic, as that instantiation information needs to flow through the type system. By replacing all + * type parameters in the union with a special never type that is treated as a literal in `getReducedType`, we can cause the `getReducedType` logic + * to reduce the resulting type if possible (since only intersections with conflicting literal-typed properties are reducible). + */ + function isPossiblyReducibleByInstantiation(type) { + return ts.some(type.types, function (t) { + var uniqueFilled = getUniqueLiteralFilledInstantiation(t); + return getReducedType(uniqueFilled) !== uniqueFilled; + }); + } function getIndexType(type, stringsOnly, noIndexSignatures) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } type = getReducedType(type); - return type.flags & 1048576 /* Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : + return type.flags & 1048576 /* Union */ ? isPossiblyReducibleByInstantiation(type) + ? getIndexTypeForGenericType(type, stringsOnly) + : getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : type.flags & 2097152 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericTupleType(type) || isGenericMappedType(type) && !hasDistributiveNameType(type) ? getIndexTypeForGenericType(type, stringsOnly) : ts.getObjectFlags(type) & 32 /* Mapped */ ? getIndexTypeForMappedType(type, stringsOnly, noIndexSignatures) : @@ -60709,12 +61590,12 @@ var ts; case 140 /* KeyOfKeyword */: links.resolvedType = getIndexType(getTypeFromTypeNode(node.type)); break; - case 153 /* UniqueKeyword */: - links.resolvedType = node.type.kind === 150 /* SymbolKeyword */ + case 154 /* UniqueKeyword */: + links.resolvedType = node.type.kind === 151 /* SymbolKeyword */ ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) : errorType; break; - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: links.resolvedType = getTypeFromTypeNode(node.type); break; default: @@ -60753,31 +61634,42 @@ var ts; if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* String */); })) { return stringType; } - var id = "".concat(getTypeListId(newTypes), "|").concat(ts.map(newTexts, function (t) { return t.length; }).join(","), "|").concat(newTexts.join("")); + var id = getTypeListId(newTypes) + "|" + ts.map(newTexts, function (t) { return t.length; }).join(",") + "|" + newTexts.join(""); var type = templateLiteralTypes.get(id); if (!type) { templateLiteralTypes.set(id, type = createTemplateLiteralType(newTexts, newTypes)); } return type; function addSpans(texts, types) { + var isTextsArray = ts.isArray(texts); for (var i = 0; i < types.length; i++) { var t = types[i]; + var addText = isTextsArray ? texts[i + 1] : texts; if (t.flags & (2944 /* Literal */ | 65536 /* Null */ | 32768 /* Undefined */)) { text += getTemplateStringForType(t) || ""; - text += texts[i + 1]; + text += addText; + if (!isTextsArray) + return true; } else if (t.flags & 134217728 /* TemplateLiteral */) { text += t.texts[0]; if (!addSpans(t.texts, t.types)) return false; - text += texts[i + 1]; + text += addText; + if (!isTextsArray) + return true; } else if (isGenericIndexType(t) || isPatternLiteralPlaceholderType(t)) { newTypes.push(t); newTexts.push(text); - text = texts[i + 1]; + text = addText; } - else { + else if (t.flags & 2097152 /* Intersection */) { + var added = addSpans(texts[i + 1], t.types); + if (!added) + return false; + } + else if (isTextsArray) { return false; } } @@ -60813,7 +61705,7 @@ var ts; return str; } function getStringMappingTypeForGenericType(symbol, type) { - var id = "".concat(getSymbolId(symbol), ",").concat(getTypeId(type)); + var id = getSymbolId(symbol) + "," + getTypeId(type); var result = stringMappingTypes.get(id); if (!result) { stringMappingTypes.set(id, result = createStringMappingType(symbol, type)); @@ -60848,7 +61740,7 @@ var ts; if (noImplicitAny) { return false; // Flag is meaningless under `noImplicitAny` mode } - if (ts.getObjectFlags(type) & 8192 /* JSLiteral */) { + if (ts.getObjectFlags(type) & 4096 /* JSLiteral */) { return true; } if (type.flags & 1048576 /* Union */) { @@ -60877,13 +61769,13 @@ var ts; if (ts.isCallLikeExpression(parent)) { return ts.isCallOrNewExpression(parent) && ts.isIdentifier(node) && hasMatchingArgument(parent, node); } - return ts.every(symbol.declarations, function (d) { return !ts.isFunctionLike(d) || !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); }); + return ts.every(symbol.declarations, function (d) { return !ts.isFunctionLike(d) || !!(ts.getCombinedNodeFlags(d) & 268435456 /* Deprecated */); }); } return true; } function getPropertyTypeForIndexType(originalObjectType, objectType, indexType, fullIndexType, accessNode, accessFlags) { var _a; - var accessExpression = accessNode && accessNode.kind === 206 /* ElementAccessExpression */ ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 207 /* ElementAccessExpression */ ? accessNode : undefined; var propName = accessNode && ts.isPrivateIdentifier(accessNode) ? undefined : getPropertyNameFromIndex(indexType, accessNode); if (propName !== undefined) { if (accessFlags & 256 /* Contextual */) { @@ -61047,9 +61939,9 @@ var ts; } } function getIndexNodeForAccessExpression(accessNode) { - return accessNode.kind === 206 /* ElementAccessExpression */ ? accessNode.argumentExpression : - accessNode.kind === 193 /* IndexedAccessType */ ? accessNode.indexType : - accessNode.kind === 161 /* ComputedPropertyName */ ? accessNode.expression : + return accessNode.kind === 207 /* ElementAccessExpression */ ? accessNode.argumentExpression : + accessNode.kind === 194 /* IndexedAccessType */ ? accessNode.indexType : + accessNode.kind === 162 /* ComputedPropertyName */ ? accessNode.expression : accessNode; } function isPatternLiteralPlaceholderType(type) { @@ -61062,28 +61954,28 @@ var ts; return !!getGenericObjectFlags(type); } function isGenericObjectType(type) { - return !!(getGenericObjectFlags(type) & 8388608 /* IsGenericObjectType */); + return !!(getGenericObjectFlags(type) & 4194304 /* IsGenericObjectType */); } function isGenericIndexType(type) { - return !!(getGenericObjectFlags(type) & 16777216 /* IsGenericIndexType */); + return !!(getGenericObjectFlags(type) & 8388608 /* IsGenericIndexType */); } function getGenericObjectFlags(type) { if (type.flags & 3145728 /* UnionOrIntersection */) { - if (!(type.objectFlags & 4194304 /* IsGenericTypeComputed */)) { - type.objectFlags |= 4194304 /* IsGenericTypeComputed */ | + if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) { + type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | ts.reduceLeft(type.types, function (flags, t) { return flags | getGenericObjectFlags(t); }, 0); } - return type.objectFlags & 25165824 /* IsGenericType */; + return type.objectFlags & 12582912 /* IsGenericType */; } if (type.flags & 33554432 /* Substitution */) { - if (!(type.objectFlags & 4194304 /* IsGenericTypeComputed */)) { - type.objectFlags |= 4194304 /* IsGenericTypeComputed */ | + if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) { + type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | getGenericObjectFlags(type.substitute) | getGenericObjectFlags(type.baseType); } - return type.objectFlags & 25165824 /* IsGenericType */; + return type.objectFlags & 12582912 /* IsGenericType */; } - return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 8388608 /* IsGenericObjectType */ : 0) | - (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 16777216 /* IsGenericIndexType */ : 0); + return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | + (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0); } function getSimplifiedType(type, writing) { return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : @@ -61150,7 +62042,7 @@ var ts; // If the object type is a mapped type { [P in K]: E }, where K is generic, instantiate E using a mapper // that substitutes the index type for P. For example, for an index access { [P in K]: Box }[X], we // construct the type Box. - if (isGenericMappedType(objectType)) { + if (isGenericMappedType(objectType) && !objectType.declaration.nameType) { return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); }); } return type[cache] = type; @@ -61226,7 +62118,7 @@ var ts; // for a generic T and a non-generic K, we eagerly resolve T[K] if it originates in an expression. This is to // preserve backwards compatibility. For example, an element access 'this["foo"]' has always been resolved // eagerly using the constraint type of 'this' at the given location. - if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 193 /* IndexedAccessType */ ? + if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 194 /* IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, objectType.target.fixedLength) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, objectType.target.fixedLength)))) { if (objectType.flags & 3 /* AnyOrUnknown */) { @@ -61310,11 +62202,19 @@ var ts; } return type; } + function maybeCloneTypeParameter(p) { + var constraint = getConstraintOfTypeParameter(p); + return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p; + } function isTypicalNondistributiveConditional(root) { return !root.isDistributive && isSingletonTupleType(root.node.checkType) && isSingletonTupleType(root.node.extendsType); } function isSingletonTupleType(node) { - return ts.isTupleTypeNode(node) && ts.length(node.elements) === 1 && !ts.isOptionalTypeNode(node.elements[0]) && !ts.isRestTypeNode(node.elements[0]); + return ts.isTupleTypeNode(node) && + ts.length(node.elements) === 1 && + !ts.isOptionalTypeNode(node.elements[0]) && + !ts.isRestTypeNode(node.elements[0]) && + !(ts.isNamedTupleMember(node.elements[0]) && (node.elements[0].questionToken || node.elements[0].dotDotDotToken)); } /** * We syntactually check for common nondistributive conditional shapes and unwrap them into @@ -61328,37 +62228,65 @@ var ts; var result; var extraTypes; var tailCount = 0; - // We loop here for an immediately nested conditional type in the false position, effectively treating - // types of the form 'A extends B ? X : C extends D ? Y : E extends F ? Z : ...' as a single construct for - // purposes of resolution. We also loop here when resolution of a conditional type ends in resolution of - // another (or, through recursion, possibly the same) conditional type. In the potentially tail-recursive - // cases we increment the tail recursion counter and stop after 1000 iterations. - while (true) { + var _loop_18 = function () { if (tailCount === 1000) { error(currentNode, ts.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite); result = errorType; - break; + return "break"; } var isUnwrapped = isTypicalNondistributiveConditional(root); var checkType = instantiateType(unwrapNondistributiveConditionalTuple(root, getActualTypeVariable(root.checkType)), mapper); var checkTypeInstantiable = isGenericType(checkType); var extendsType = instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), mapper); if (checkType === wildcardType || extendsType === wildcardType) { - return wildcardType; + return { value: wildcardType }; } var combinedMapper = void 0; if (root.inferTypeParameters) { - var context = createInferenceContext(root.inferTypeParameters, /*signature*/ undefined, 0 /* None */); - if (!checkTypeInstantiable) { + // When we're looking at making an inference for an infer type, when we get its constraint, it'll automagically be + // instantiated with the context, so it doesn't need the mapper for the inference contex - however the constraint + // may refer to another _root_, _uncloned_ `infer` type parameter [1], or to something mapped by `mapper` [2]. + // [1] Eg, if we have `Foo` and `Foo` - `B` is constrained to `T`, which, in turn, has been instantiated + // as `number` + // Conversely, if we have `Foo`, `B` is still constrained to `T` and `T` is instantiated as `A` + // [2] Eg, if we have `Foo` and `Foo` where `Q` is mapped by `mapper` into `number` - `B` is constrained to `T` + // which is in turn instantiated as `Q`, which is in turn instantiated as `number`. + // So we need to: + // * Clone the type parameters so their constraints can be instantiated in the context of `mapper` (otherwise theyd only get inference context information) + // * Set the clones to both map the conditional's enclosing `mapper` and the original params + // * instantiate the extends type with the clones + // * incorporate all of the component mappers into the combined mapper for the true and false members + // This means we have three mappers that need applying: + // * The original `mapper` used to create this conditional + // * The mapper that maps the old root type parameter to the clone (`freshMapper`) + // * The mapper that maps the clone to its inference result (`context.mapper`) + var freshParams = ts.sameMap(root.inferTypeParameters, maybeCloneTypeParameter); + var freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : undefined; + var context = createInferenceContext(freshParams, /*signature*/ undefined, 0 /* None */); + if (freshMapper) { + var freshCombinedMapper = combineTypeMappers(mapper, freshMapper); + for (var _i = 0, freshParams_1 = freshParams; _i < freshParams_1.length; _i++) { + var p = freshParams_1[_i]; + if (root.inferTypeParameters.indexOf(p) === -1) { + p.mapper = freshCombinedMapper; + } + } + } + // We skip inference of the possible `infer` types unles the `extendsType` _is_ an infer type + // if it was, it's trivial to say that extendsType = checkType, however such a pattern is used to + // "reset" the type being build up during constraint calculation and avoid making an apparently "infinite" constraint + // so in those cases we refain from performing inference and retain the uninfered type parameter + if (!checkTypeInstantiable || !ts.some(root.inferTypeParameters, function (t) { return t === extendsType; })) { // We don't want inferences from constraints as they may cause us to eagerly resolve the // conditional type instead of deferring resolution. Also, we always want strict function // types rules (i.e. proper contravariance) for inferences. - inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */); + inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */); } + var innerMapper = combineTypeMappers(freshMapper, context.mapper); // It's possible for 'infer T' type paramteters to be given uninstantiated constraints when the // those type parameters are used in type references (see getInferredTypeParameterConstraint). For // that reason we need context.mapper to be first in the combined mapper. See #42636 for examples. - combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper; + combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper; } // Instantiate the extends type including inferences for 'infer T' type parameters var inferredExtendsType = combinedMapper ? instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), combinedMapper) : extendsType; @@ -61380,14 +62308,14 @@ var ts; var newRoot = falseType_1.root; if (newRoot.node.parent === root.node && (!newRoot.isDistributive || newRoot.checkType === root.checkType)) { root = newRoot; - continue; + return "continue"; } if (canTailRecurse(falseType_1, mapper)) { - continue; + return "continue"; } } result = instantiateType(falseType_1, mapper); - break; + return "break"; } // Return trueType for a definitely true extends check. We check instantiations of the two // types with type parameters mapped to their restrictive form, i.e. a form of the type parameter @@ -61398,10 +62326,10 @@ var ts; var trueType_1 = getTypeFromTypeNode(root.node.trueType); var trueMapper = combinedMapper || mapper; if (canTailRecurse(trueType_1, trueMapper)) { - continue; + return "continue"; } result = instantiateType(trueType_1, trueMapper); - break; + return "break"; } } // Return a deferred type for a check that is neither definitely true nor definitely false @@ -61413,7 +62341,19 @@ var ts; result.combinedMapper = combinedMapper; result.aliasSymbol = aliasSymbol || root.aliasSymbol; result.aliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(root.aliasTypeArguments, mapper); // TODO: GH#18217 - break; + return "break"; + }; + // We loop here for an immediately nested conditional type in the false position, effectively treating + // types of the form 'A extends B ? X : C extends D ? Y : E extends F ? Z : ...' as a single construct for + // purposes of resolution. We also loop here when resolution of a conditional type ends in resolution of + // another (or, through recursion, possibly the same) conditional type. In the potentially tail-recursive + // cases we increment the tail recursion counter and stop after 1000 iterations. + while (true) { + var state_5 = _loop_18(); + if (typeof state_5 === "object") + return state_5.value; + if (state_5 === "break") + break; } return extraTypes ? getUnionType(ts.append(extraTypes, result)) : result; // We tail-recurse for generic conditional types that (a) have not already been evaluated and cached, and @@ -61522,7 +62462,7 @@ var ts; links.resolvedSymbol = unknownSymbol; return links.resolvedType = errorType; } - var targetMeaning = node.isTypeOf ? 111551 /* Value */ : node.flags & 4194304 /* JSDoc */ ? 111551 /* Value */ | 788968 /* Type */ : 788968 /* Type */; + var targetMeaning = node.isTypeOf ? 111551 /* Value */ : node.flags & 8388608 /* JSDoc */ ? 111551 /* Value */ | 788968 /* Type */ : 788968 /* Type */; // TODO: Future work: support unions/generics/whatever via a deferred import-type var innerModuleSymbol = resolveExternalModuleName(node, node.argument.literal); if (!innerModuleSymbol) { @@ -61601,7 +62541,7 @@ var ts; } function getAliasSymbolForTypeNode(node) { var host = node.parent; - while (ts.isParenthesizedTypeNode(host) || ts.isJSDocTypeExpression(host) || ts.isTypeOperatorNode(host) && host.operator === 144 /* ReadonlyKeyword */) { + while (ts.isParenthesizedTypeNode(host) || ts.isJSDocTypeExpression(host) || ts.isTypeOperatorNode(host) && host.operator === 145 /* ReadonlyKeyword */) { host = host.parent; } return ts.isTypeAlias(host) ? getSymbolOfNode(host) : undefined; @@ -61651,7 +62591,7 @@ var ts; } } var spread = createAnonymousType(type.symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(type)); - spread.objectFlags |= 128 /* ObjectLiteral */ | 262144 /* ContainsObjectOrArrayLiteral */; + spread.objectFlags |= 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; return spread; } } @@ -61741,7 +62681,7 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, ts.sameMap(indexInfos, function (info) { return getIndexInfoWithReadonly(info, readonly); })); - spread.objectFlags |= 128 /* ObjectLiteral */ | 262144 /* ContainsObjectOrArrayLiteral */ | 4194304 /* ContainsSpread */ | objectFlags; + spread.objectFlags |= 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */ | 2097152 /* ContainsSpread */ | objectFlags; return spread; } /** We approximate own properties as non-methods plus methods that are inside the object literal */ @@ -61830,21 +62770,23 @@ var ts; function createUniqueESSymbolType(symbol) { var type = createType(8192 /* UniqueESSymbol */); type.symbol = symbol; - type.escapedName = "__@".concat(type.symbol.escapedName, "@").concat(getSymbolId(type.symbol)); + type.escapedName = "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); return type; } function getESSymbolLikeTypeForNode(node) { if (ts.isValidESSymbolDeclaration(node)) { - var symbol = getSymbolOfNode(node); - var links = getSymbolLinks(symbol); - return links.uniqueESSymbolType || (links.uniqueESSymbolType = createUniqueESSymbolType(symbol)); + var symbol = ts.isCommonJsExportPropertyAssignment(node) ? getSymbolOfNode(node.left) : getSymbolOfNode(node); + if (symbol) { + var links = getSymbolLinks(symbol); + return links.uniqueESSymbolType || (links.uniqueESSymbolType = createUniqueESSymbolType(symbol)); + } } return esSymbolType; } function getThisType(node) { var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 257 /* InterfaceDeclaration */)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 258 /* InterfaceDeclaration */)) { if (!ts.isStatic(container) && (!ts.isConstructorDeclaration(container) || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; @@ -61856,7 +62798,7 @@ var ts; } // /** @return {this} */ // x.prototype.m = function() { ... } - var host = node.flags & 4194304 /* JSDoc */ ? ts.getHostSignatureFromJSDoc(node) : undefined; + var host = node.flags & 8388608 /* JSDoc */ ? ts.getHostSignatureFromJSDoc(node) : undefined; if (host && ts.isFunctionExpression(host) && ts.isBinaryExpression(host.parent) && ts.getAssignmentDeclarationKind(host.parent) === 3 /* PrototypeProperty */) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(host.parent.left).parent).thisType; } @@ -61879,17 +62821,17 @@ var ts; } function getArrayElementTypeNode(node) { switch (node.kind) { - case 190 /* ParenthesizedType */: + case 191 /* ParenthesizedType */: return getArrayElementTypeNode(node.type); - case 183 /* TupleType */: + case 184 /* TupleType */: if (node.elements.length === 1) { node = node.elements[0]; - if (node.kind === 185 /* RestType */ || node.kind === 196 /* NamedTupleMember */ && node.dotDotDotToken) { + if (node.kind === 186 /* RestType */ || node.kind === 197 /* NamedTupleMember */ && node.dotDotDotToken) { return getArrayElementTypeNode(node.type); } } break; - case 182 /* ArrayType */: + case 183 /* ArrayType */: return node.elementType; } return undefined; @@ -61906,98 +62848,98 @@ var ts; function getTypeFromTypeNodeWorker(node) { switch (node.kind) { case 130 /* AnyKeyword */: - case 310 /* JSDocAllType */: - case 311 /* JSDocUnknownType */: + case 312 /* JSDocAllType */: + case 313 /* JSDocUnknownType */: return anyType; - case 154 /* UnknownKeyword */: + case 155 /* UnknownKeyword */: return unknownType; - case 149 /* StringKeyword */: + case 150 /* StringKeyword */: return stringType; - case 146 /* NumberKeyword */: + case 147 /* NumberKeyword */: return numberType; - case 157 /* BigIntKeyword */: + case 158 /* BigIntKeyword */: return bigintType; case 133 /* BooleanKeyword */: return booleanType; - case 150 /* SymbolKeyword */: + case 151 /* SymbolKeyword */: return esSymbolType; case 114 /* VoidKeyword */: return voidType; - case 152 /* UndefinedKeyword */: + case 153 /* UndefinedKeyword */: return undefinedType; case 104 /* NullKeyword */: // TODO(rbuckton): `NullKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service. return nullType; case 143 /* NeverKeyword */: return neverType; - case 147 /* ObjectKeyword */: - return node.flags & 131072 /* JavaScriptFile */ && !noImplicitAny ? anyType : nonPrimitiveType; + case 148 /* ObjectKeyword */: + return node.flags & 262144 /* JavaScriptFile */ && !noImplicitAny ? anyType : nonPrimitiveType; case 138 /* IntrinsicKeyword */: return intrinsicMarkerType; - case 191 /* ThisType */: + case 192 /* ThisType */: case 108 /* ThisKeyword */: // TODO(rbuckton): `ThisKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service and because of `isPartOfTypeNode`. return getTypeFromThisTypeNode(node); - case 195 /* LiteralType */: + case 196 /* LiteralType */: return getTypeFromLiteralTypeNode(node); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return getTypeFromTypeReference(node); - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: return node.assertsModifier ? voidType : booleanType; - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: return getTypeFromTypeReference(node); - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: return getTypeFromTypeQueryNode(node); - case 182 /* ArrayType */: - case 183 /* TupleType */: + case 183 /* ArrayType */: + case 184 /* TupleType */: return getTypeFromArrayOrTupleTypeNode(node); - case 184 /* OptionalType */: + case 185 /* OptionalType */: return getTypeFromOptionalTypeNode(node); - case 186 /* UnionType */: + case 187 /* UnionType */: return getTypeFromUnionTypeNode(node); - case 187 /* IntersectionType */: + case 188 /* IntersectionType */: return getTypeFromIntersectionTypeNode(node); - case 312 /* JSDocNullableType */: + case 314 /* JSDocNullableType */: return getTypeFromJSDocNullableTypeNode(node); - case 314 /* JSDocOptionalType */: + case 316 /* JSDocOptionalType */: return addOptionality(getTypeFromTypeNode(node.type)); - case 196 /* NamedTupleMember */: + case 197 /* NamedTupleMember */: return getTypeFromNamedTupleTypeNode(node); - case 190 /* ParenthesizedType */: - case 313 /* JSDocNonNullableType */: - case 307 /* JSDocTypeExpression */: + case 191 /* ParenthesizedType */: + case 315 /* JSDocNonNullableType */: + case 309 /* JSDocTypeExpression */: return getTypeFromTypeNode(node.type); - case 185 /* RestType */: + case 186 /* RestType */: return getTypeFromRestTypeNode(node); - case 316 /* JSDocVariadicType */: + case 318 /* JSDocVariadicType */: return getTypeFromJSDocVariadicType(node); - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 181 /* TypeLiteral */: - case 320 /* JSDocTypeLiteral */: - case 315 /* JSDocFunctionType */: - case 321 /* JSDocSignature */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 182 /* TypeLiteral */: + case 322 /* JSDocTypeLiteral */: + case 317 /* JSDocFunctionType */: + case 323 /* JSDocSignature */: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 192 /* TypeOperator */: + case 193 /* TypeOperator */: return getTypeFromTypeOperatorNode(node); - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: return getTypeFromIndexedAccessTypeNode(node); - case 194 /* MappedType */: + case 195 /* MappedType */: return getTypeFromMappedTypeNode(node); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return getTypeFromConditionalTypeNode(node); - case 189 /* InferType */: + case 190 /* InferType */: return getTypeFromInferTypeNode(node); - case 197 /* TemplateLiteralType */: + case 198 /* TemplateLiteralType */: return getTypeFromTemplateTypeNode(node); - case 199 /* ImportType */: + case 200 /* ImportType */: return getTypeFromImportTypeNode(node); // This function assumes that an identifier, qualified name, or property access expression is a type expression // Callers should first ensure this by calling `isPartOfTypeNode` // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s. case 79 /* Identifier */: - case 160 /* QualifiedName */: - case 205 /* PropertyAccessExpression */: + case 161 /* QualifiedName */: + case 206 /* PropertyAccessExpression */: var symbol = getSymbolAtLocation(node); return symbol ? getDeclaredTypeOfSymbol(symbol) : errorType; default: @@ -62154,7 +63096,9 @@ var ts; return result; } function getObjectTypeInstantiation(type, mapper, aliasSymbol, aliasTypeArguments) { - var declaration = type.objectFlags & 4 /* Reference */ ? type.node : type.symbol.declarations[0]; + var declaration = type.objectFlags & 4 /* Reference */ ? type.node : + type.objectFlags & 8388608 /* InstantiationExpressionType */ ? type.node : + type.symbol.declarations[0]; var links = getNodeLinks(declaration); var target = type.objectFlags & 4 /* Reference */ ? links.resolvedType : type.objectFlags & 64 /* Instantiated */ ? type.target : type; @@ -62170,8 +63114,8 @@ var ts; outerTypeParameters = ts.addRange(outerTypeParameters, templateTagParameters); } typeParameters = outerTypeParameters || ts.emptyArray; - var allDeclarations_1 = type.objectFlags & 4 /* Reference */ ? [declaration] : type.symbol.declarations; - typeParameters = (target.objectFlags & 4 /* Reference */ || target.symbol.flags & 8192 /* Method */ || target.symbol.flags & 2048 /* TypeLiteral */) && !target.aliasTypeArguments ? + var allDeclarations_1 = type.objectFlags & (4 /* Reference */ | 8388608 /* InstantiationExpressionType */) ? [declaration] : type.symbol.declarations; + typeParameters = (target.objectFlags & (4 /* Reference */ | 8388608 /* InstantiationExpressionType */) || target.symbol.flags & 8192 /* Method */ || target.symbol.flags & 2048 /* TypeLiteral */) && !target.aliasTypeArguments ? ts.filter(typeParameters, function (tp) { return ts.some(allDeclarations_1, function (d) { return isTypeParameterPossiblyReferenced(tp, d); }); }) : typeParameters; links.outerTypeParameters = typeParameters; @@ -62202,8 +63146,8 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.parent.kind === 177 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName || - node.parent.kind === 199 /* ImportType */ && node.parent.typeArguments && node === node.parent.qualifier); + return !(node.parent.kind === 178 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName || + node.parent.kind === 200 /* ImportType */ && node.parent.typeArguments && node === node.parent.qualifier); } function isTypeParameterPossiblyReferenced(tp, node) { // If the type parameter doesn't have exactly one declaration, if there are invening statement blocks @@ -62212,7 +63156,7 @@ var ts; if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container = tp.symbol.declarations[0].parent; for (var n = node; n !== container; n = n.parent) { - if (!n || n.kind === 234 /* Block */ || n.kind === 188 /* ConditionalType */ && ts.forEachChild(n.extendsType, containsReference)) { + if (!n || n.kind === 235 /* Block */ || n.kind === 189 /* ConditionalType */ && ts.forEachChild(n.extendsType, containsReference)) { return true; } } @@ -62221,15 +63165,15 @@ var ts; return true; function containsReference(node) { switch (node.kind) { - case 191 /* ThisType */: + case 192 /* ThisType */: return !!tp.isThisType; case 79 /* Identifier */: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNodeWorker(node) === tp; // use worker because we're looking for === equality - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: return true; - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: return !node.type && !!node.body || ts.some(node.typeParameters, containsReference) || ts.some(node.parameters, containsReference) || @@ -62343,6 +63287,9 @@ var ts; mapper = combineTypeMappers(makeUnaryTypeMapper(origTypeParameter, freshTypeParameter), mapper); freshTypeParameter.mapper = mapper; } + if (type.objectFlags & 8388608 /* InstantiationExpressionType */) { + result.node = type.node; + } result.target = type; result.mapper = mapper; result.aliasSymbol = aliasSymbol || type.aliasSymbol; @@ -62366,7 +63313,7 @@ var ts; // distributive conditional type T extends U ? X : Y is instantiated with A | B for T, the // result is (A extends U ? X : Y) | (B extends U ? X : Y). result = distributionType && checkType_1 !== distributionType && distributionType.flags & (1048576 /* Union */ | 131072 /* Never */) ? - mapTypeWithAlias(distributionType, function (t) { return getConditionalType(root, prependTypeMapping(checkType_1, t, newMapper_1)); }, aliasSymbol, aliasTypeArguments) : + mapTypeWithAlias(getReducedType(distributionType), function (t) { return getConditionalType(root, prependTypeMapping(checkType_1, t, newMapper_1)); }, aliasSymbol, aliasTypeArguments) : getConditionalType(root, newMapper_1, aliasSymbol, aliasTypeArguments); root.instantiations.set(id, result); } @@ -62476,6 +63423,10 @@ var ts; } return type; // Nested invocation of `inferTypeForHomomorphicMappedType` or the `source` instantiated into something unmappable } + function getUniqueLiteralFilledInstantiation(type) { + return type.flags & (131068 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */) ? type : + type.uniqueLiteralFilledInstantiation || (type.uniqueLiteralFilledInstantiation = instantiateType(type, uniqueLiteralMapper)); + } function getPermissiveInstantiation(type) { return type.flags & (131068 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */) ? type : type.permissiveInstantiation || (type.permissiveInstantiation = instantiateType(type, permissiveMapper)); @@ -62502,35 +63453,35 @@ var ts; // Returns true if the given expression contains (at any level of nesting) a function or arrow expression // that is subject to contextual typing. function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 168 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 255 /* FunctionDeclaration */: // Function declarations can have context when annotated with a jsdoc @type + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 256 /* FunctionDeclaration */: // Function declarations can have context when annotated with a jsdoc @type return isContextSensitiveFunctionLikeDeclaration(node); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return ts.some(node.properties, isContextSensitive); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return ts.some(node.elements, isContextSensitive); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return (node.operatorToken.kind === 56 /* BarBarToken */ || node.operatorToken.kind === 60 /* QuestionQuestionToken */) && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return isContextSensitive(node.initializer); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return isContextSensitive(node.expression); - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: return ts.some(node.properties, isContextSensitive) || ts.isJsxOpeningElement(node.parent) && ts.some(node.parent.parent.children, isContextSensitive); - case 284 /* JsxAttribute */: { + case 285 /* JsxAttribute */: { // If there is no initializer, JSX attribute has a boolean value of true which is not context sensitive. var initializer = node.initializer; return !!initializer && isContextSensitive(initializer); } - case 287 /* JsxExpression */: { + case 288 /* JsxExpression */: { // It is possible to that node.expression is undefined (e.g
) var expression = node.expression; return !!expression && isContextSensitive(expression); @@ -62544,7 +63495,7 @@ var ts; } function hasContextSensitiveReturnExpression(node) { // TODO(anhans): A block should be context-sensitive if it has a context-sensitive return value. - return !node.typeParameters && !ts.getEffectiveReturnTypeNode(node) && !!node.body && node.body.kind !== 234 /* Block */ && isContextSensitive(node.body); + return !node.typeParameters && !ts.getEffectiveReturnTypeNode(node) && !!node.body && node.body.kind !== 235 /* Block */ && isContextSensitive(node.body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJSFile(func) && ts.isFunctionDeclaration(func) || ts.isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && @@ -62648,23 +63599,23 @@ var ts; return true; } switch (node.kind) { - case 287 /* JsxExpression */: - case 211 /* ParenthesizedExpression */: + case 288 /* JsxExpression */: + case 212 /* ParenthesizedExpression */: return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: switch (node.operatorToken.kind) { case 63 /* EqualsToken */: case 27 /* CommaToken */: return elaborateError(node.right, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); } break; - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: return elaborateJsxComponents(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return elaborateArrowFunction(node, source, target, relation, containingMessageChain, errorOutputContainer); } return false; @@ -62873,7 +63824,7 @@ var ts; } function getElaborationElementForJsxChild(child, nameType, getInvalidTextDiagnostic) { switch (child.kind) { - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: // child is of the type of the expression return { errorNode: child, innerExpression: child.expression, nameType: nameType }; case 11 /* JsxText */: @@ -62882,9 +63833,9 @@ var ts; } // child is a string return { errorNode: child, innerExpression: undefined, nameType: nameType, errorMessage: getInvalidTextDiagnostic() }; - case 277 /* JsxElement */: - case 278 /* JsxSelfClosingElement */: - case 281 /* JsxFragment */: + case 278 /* JsxElement */: + case 279 /* JsxSelfClosingElement */: + case 282 /* JsxFragment */: // child is of type JSX.Element return { errorNode: child, innerExpression: child, nameType: nameType }; default: @@ -63032,11 +63983,11 @@ var ts; } _b = prop.kind; switch (_b) { - case 172 /* SetAccessor */: return [3 /*break*/, 2]; - case 171 /* GetAccessor */: return [3 /*break*/, 2]; - case 168 /* MethodDeclaration */: return [3 /*break*/, 2]; - case 295 /* ShorthandPropertyAssignment */: return [3 /*break*/, 2]; - case 294 /* PropertyAssignment */: return [3 /*break*/, 4]; + case 173 /* SetAccessor */: return [3 /*break*/, 2]; + case 172 /* GetAccessor */: return [3 /*break*/, 2]; + case 169 /* MethodDeclaration */: return [3 /*break*/, 2]; + case 297 /* ShorthandPropertyAssignment */: return [3 /*break*/, 2]; + case 296 /* PropertyAssignment */: return [3 /*break*/, 4]; } return [3 /*break*/, 6]; case 2: return [4 /*yield*/, { errorNode: prop.name, innerExpression: undefined, nameType: type }]; @@ -63108,13 +64059,9 @@ var ts; if (sourceRestType || targetRestType) { void instantiateType(sourceRestType || targetRestType, reportUnreliableMarkers); } - if (sourceRestType && targetRestType && sourceCount !== targetCount) { - // We're not able to relate misaligned complex rest parameters - return 0 /* False */; - } var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; - var strictVariance = !(checkMode & 3 /* Callback */) && strictFunctionTypes && kind !== 168 /* MethodDeclaration */ && - kind !== 167 /* MethodSignature */ && kind !== 170 /* Constructor */; + var strictVariance = !(checkMode & 3 /* Callback */) && strictFunctionTypes && kind !== 169 /* MethodDeclaration */ && + kind !== 168 /* MethodSignature */ && kind !== 171 /* Constructor */; var result = -1 /* True */; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -63172,7 +64119,7 @@ var ts; var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType : target.declaration && isJSConstructor(target.declaration) ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(target.declaration.symbol)) : getReturnTypeOfSignature(target); - if (targetReturnType === voidType) { + if (targetReturnType === voidType || targetReturnType === anyType) { return result; } var sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType @@ -63334,9 +64281,11 @@ var ts; isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } - if (s & 32768 /* Undefined */ && (!strictNullChecks || t & (32768 /* Undefined */ | 16384 /* Void */))) + // In non-strictNullChecks mode, `undefined` and `null` are assignable to anything except `never`. + // Since unions and intersections may reduce to `never`, we exclude them here. + if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */))) return true; - if (s & 65536 /* Null */ && (!strictNullChecks || t & 65536 /* Null */)) + if (s & 65536 /* Null */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & 65536 /* Null */)) return true; if (s & 524288 /* Object */ && t & 67108864 /* NonPrimitive */) return true; @@ -63366,7 +64315,8 @@ var ts; return true; } } - else { + else if (!((source.flags | target.flags) & (3145728 /* UnionOrIntersection */ | 8388608 /* IndexedAccess */ | 16777216 /* Conditional */ | 33554432 /* Substitution */))) { + // We have excluded types that may simplify to other forms, so types must have identical flags if (source.flags !== target.flags) return false; if (source.flags & 67358815 /* Singleton */) @@ -63519,24 +64469,24 @@ var ts; case ts.Diagnostics.Types_of_property_0_are_incompatible.code: { // Parenthesize a `new` if there is one if (path.indexOf("new ") === 0) { - path = "(".concat(path, ")"); + path = "(" + path + ")"; } var str = "" + args[0]; // If leading, just print back the arg (irrespective of if it's a valid identifier) if (path.length === 0) { - path = "".concat(str); + path = "" + str; } // Otherwise write a dotted name if possible else if (ts.isIdentifierText(str, ts.getEmitScriptTarget(compilerOptions))) { - path = "".concat(path, ".").concat(str); + path = path + "." + str; } // Failing that, check if the name is already a computed name else if (str[0] === "[" && str[str.length - 1] === "]") { - path = "".concat(path).concat(str); + path = "" + path + str; } // And finally write out a computed name as a last resort else { - path = "".concat(path, "[").concat(str, "]"); + path = path + "[" + str + "]"; } break; } @@ -63565,7 +64515,7 @@ var ts; msg.code === ts.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) ? "" : "..."; - path = "".concat(prefix).concat(path, "(").concat(params, ")"); + path = "" + prefix + path + "(" + params + ")"; } break; } @@ -63578,7 +64528,7 @@ var ts; break; } default: - return ts.Debug.fail("Unhandled Diagnostic: ".concat(msg.code)); + return ts.Debug.fail("Unhandled Diagnostic: " + msg.code); } } if (path) { @@ -63630,7 +64580,7 @@ var ts; ts.Debug.assert(!isTypeAssignableTo(generalizedSource, target), "generalized source shouldn't be assignable"); generalizedSourceType = getTypeNameForErrorDisplay(generalizedSource); } - if (target.flags & 262144 /* TypeParameter */) { + if (target.flags & 262144 /* TypeParameter */ && target !== markerSuperType && target !== markerSubType) { var constraint = getBaseConstraintOfType(target); var needsOriginalSource = void 0; if (constraint && (isTypeAssignableTo(generalizedSource, constraint) || (needsOriginalSource = isTypeAssignableTo(source, constraint)))) { @@ -63778,7 +64728,7 @@ var ts; isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) return -1 /* True */; if (source.flags & 469499904 /* StructuredOrInstantiable */ || target.flags & 469499904 /* StructuredOrInstantiable */) { - var isPerformingExcessPropertyChecks = !(intersectionState & 2 /* Target */) && (isObjectLiteralType(source) && ts.getObjectFlags(source) & 16384 /* FreshLiteral */); + var isPerformingExcessPropertyChecks = !(intersectionState & 2 /* Target */) && (isObjectLiteralType(source) && ts.getObjectFlags(source) & 8192 /* FreshLiteral */); if (isPerformingExcessPropertyChecks) { if (hasExcessProperties(source, target, reportErrors)) { if (reportErrors) { @@ -63830,7 +64780,7 @@ var ts; // We suppress recursive intersection property checks because they can generate lots of work when relating // recursive intersections that are structurally similar but not exactly identical. See #37854. if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || - isNonGenericObjectType(target) && !isArrayType(target) && !isTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 524288 /* NonInferrableType */); }))) { + isNonGenericObjectType(target) && !isArrayType(target) && !isTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* NonInferrableType */); }))) { inPropertyCheck = true; result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags); inPropertyCheck = false; @@ -63845,6 +64795,7 @@ var ts; return 0 /* False */; } function reportErrorResults(originalSource, originalTarget, source, target, headMessage) { + var _a, _b; var sourceHasBase = !!getSingleBaseForNonAugmentingSubtype(originalSource); var targetHasBase = !!getSingleBaseForNonAugmentingSubtype(originalTarget); source = (originalSource.aliasSymbol || sourceHasBase) ? originalSource : source; @@ -63885,6 +64836,9 @@ var ts; return; } reportRelationError(headMessage, source, target); + if (strictNullChecks && source.flags & 8650752 /* TypeVariable */ && ((_b = (_a = source.symbol) === null || _a === void 0 ? void 0 : _a.declarations) === null || _b === void 0 ? void 0 : _b[0]) && !getConstraintOfType(source) && isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* NonPrimitive */))) { + associateRelatedInfo(ts.createDiagnosticForNode(source.symbol.declarations[0], ts.Diagnostics.This_type_parameter_probably_needs_an_extends_object_constraint)); + } } function traceUnionsOrIntersectionsTooLarge(source, target) { if (!ts.tracing) { @@ -63893,7 +64847,7 @@ var ts; if ((source.flags & 3145728 /* UnionOrIntersection */) && (target.flags & 3145728 /* UnionOrIntersection */)) { var sourceUnionOrIntersection = source; var targetUnionOrIntersection = target; - if (sourceUnionOrIntersection.objectFlags & targetUnionOrIntersection.objectFlags & 65536 /* PrimitiveUnion */) { + if (sourceUnionOrIntersection.objectFlags & targetUnionOrIntersection.objectFlags & 32768 /* PrimitiveUnion */) { // There's a fast path for comparing primitive unions return; } @@ -63923,7 +64877,7 @@ var ts; } function hasExcessProperties(source, target, reportErrors) { var _a; - if (!isExcessPropertyCheckTarget(target) || !noImplicitAny && ts.getObjectFlags(target) & 8192 /* JSLiteral */) { + if (!isExcessPropertyCheckTarget(target) || !noImplicitAny && ts.getObjectFlags(target) & 4096 /* JSLiteral */) { return false; // Disable excess property checks on JS literals to simulate having an implicit "index signature" - but only outside of noImplicitAny } var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* JsxAttributes */); @@ -63937,7 +64891,7 @@ var ts; reducedTarget = findMatchingDiscriminantType(source, target, isRelatedTo) || filterPrimitivesIfContainsNonPrimitive(target); checkTypes = reducedTarget.flags & 1048576 /* Union */ ? reducedTarget.types : [reducedTarget]; } - var _loop_18 = function (prop) { + var _loop_19 = function (prop) { if (shouldCheckAsExcessProperty(prop, source.symbol) && !isIgnoredJsxProperty(source, prop)) { if (!isKnownProperty(reducedTarget, prop.escapedName, isComparingJsxAttributes)) { if (reportErrors) { @@ -64000,9 +64954,9 @@ var ts; }; for (var _i = 0, _b = getPropertiesOfType(source); _i < _b.length; _i++) { var prop = _b[_i]; - var state_5 = _loop_18(prop); - if (typeof state_5 === "object") - return state_5.value; + var state_6 = _loop_19(prop); + if (typeof state_6 === "object") + return state_6.value; } return false; } @@ -64425,9 +65379,8 @@ var ts; // We limit alias variance probing to only object and conditional types since their alias behavior // is more predictable than other, interned types, which may or may not have an alias depending on // the order in which things were checked. - if (sourceFlags & (524288 /* Object */ | 16777216 /* Conditional */) && source.aliasSymbol && - source.aliasTypeArguments && source.aliasSymbol === target.aliasSymbol && - !(source.aliasTypeArgumentsContainsMarker || target.aliasTypeArgumentsContainsMarker)) { + if (sourceFlags & (524288 /* Object */ | 16777216 /* Conditional */) && source.aliasSymbol && source.aliasTypeArguments && + source.aliasSymbol === target.aliasSymbol && !(isMarkerType(source) || isMarkerType(target))) { var variances = getAliasVariances(source.aliasSymbol); if (variances === ts.emptyArray) { return 1 /* Unknown */; @@ -64658,7 +65611,7 @@ var ts; // IndexedAccess comparisons are handled above in the `targetFlags & TypeFlage.IndexedAccess` branch if (!(sourceFlags & 8388608 /* IndexedAccess */ && targetFlags & 8388608 /* IndexedAccess */)) { var constraint = getConstraintOfType(source); - if (!constraint || (sourceFlags & 262144 /* TypeParameter */ && constraint.flags & 1 /* Any */)) { + if (!strictNullChecks && (!constraint || (sourceFlags & 262144 /* TypeParameter */ && constraint.flags & 1 /* Any */))) { // A type variable with no constraint is not related to the non-primitive object type. if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* NonPrimitive */), 3 /* Both */)) { resetErrorInfo(saveErrorInfo); @@ -64666,12 +65619,12 @@ var ts; } } // hi-speed no-this-instantiation check (less accurate, but avoids costly `this`-instantiation when the constraint will suffice), see #28231 for report on why this is needed - else if (result = isRelatedTo(constraint, target, 1 /* Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { + else if (constraint && (result = isRelatedTo(constraint, target, 1 /* Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState))) { resetErrorInfo(saveErrorInfo); return result; } // slower, fuller, this-instantiated check (necessary when comparing raw `this` types from base classes), see `subclassWithPolymorphicThisIsAssignable.ts` test for example - else if (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* Source */, reportErrors && !(targetFlags & sourceFlags & 262144 /* TypeParameter */), /*headMessage*/ undefined, intersectionState)) { + else if (constraint && (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* Source */, reportErrors && !(targetFlags & sourceFlags & 262144 /* TypeParameter */), /*headMessage*/ undefined, intersectionState))) { resetErrorInfo(saveErrorInfo); return result; } @@ -64794,7 +65747,12 @@ var ts; return 0 /* False */; } if (ts.getObjectFlags(source) & 4 /* Reference */ && ts.getObjectFlags(target) & 4 /* Reference */ && source.target === target.target && - !isTupleType(source) && !(ts.getObjectFlags(source) & 4096 /* MarkerType */ || ts.getObjectFlags(target) & 4096 /* MarkerType */)) { + !isTupleType(source) && !(isMarkerType(source) || isMarkerType(target))) { + // When strictNullChecks is disabled, the element type of the empty array literal is undefinedWideningType, + // and an empty array literal wouldn't be assignable to a `never[]` without this check. + if (isEmptyArrayLiteralType(source)) { + return -1 /* True */; + } // We have type references to the same generic type, and the type references are not marker // type references (which are intended by be compared structurally). Obtain the variance // information for the type parameters and relate the type arguments accordingly. @@ -64822,7 +65780,7 @@ var ts; } // Consider a fresh empty object literal type "closed" under the subtype relationship - this way `{} <- {[idx: string]: any} <- fresh({})` // and not `{} <- fresh({}) <- {[idx: string]: any}` - else if ((relation === subtypeRelation || relation === strictSubtypeRelation) && isEmptyObjectType(target) && ts.getObjectFlags(target) & 16384 /* FreshLiteral */ && !isEmptyObjectType(source)) { + else if ((relation === subtypeRelation || relation === strictSubtypeRelation) && isEmptyObjectType(target) && ts.getObjectFlags(target) & 8192 /* FreshLiteral */ && !isEmptyObjectType(source)) { return 0 /* False */; } // Even if relationship doesn't hold for unions, intersections, or generic type references, @@ -64987,11 +65945,11 @@ var ts; // constituents of 'target'. If any combination does not have a match then 'source' is not relatable. var discriminantCombinations = ts.cartesianProduct(sourceDiscriminantTypes); var matchingTypes = []; - var _loop_19 = function (combination) { + var _loop_20 = function (combination) { var hasMatch = false; outer: for (var _c = 0, _d = target.types; _c < _d.length; _c++) { var type = _d[_c]; - var _loop_20 = function (i) { + var _loop_21 = function (i) { var sourceProperty = sourcePropertiesFiltered[i]; var targetProperty = getPropertyOfType(type, sourceProperty.escapedName); if (!targetProperty) @@ -65007,8 +65965,8 @@ var ts; } }; for (var i = 0; i < sourcePropertiesFiltered.length; i++) { - var state_7 = _loop_20(i); - switch (state_7) { + var state_8 = _loop_21(i); + switch (state_8) { case "continue-outer": continue outer; } } @@ -65021,9 +65979,9 @@ var ts; }; for (var _a = 0, discriminantCombinations_1 = discriminantCombinations; _a < discriminantCombinations_1.length; _a++) { var combination = discriminantCombinations_1[_a]; - var state_6 = _loop_19(combination); - if (typeof state_6 === "object") - return state_6.value; + var state_7 = _loop_20(combination); + if (typeof state_7 === "object") + return state_7.value; } // Compare the remaining non-discriminant properties of each match. var result = -1 /* True */; @@ -65101,6 +66059,16 @@ var ts; } return 0 /* False */; } + // Ensure {readonly a: whatever} is not a subtype of {a: whatever}, + // while {a: whatever} is a subtype of {readonly a: whatever}. + // This ensures the subtype relationship is ordered, and preventing declaration order + // from deciding which type "wins" in union subtype reduction. + // They're still assignable to one another, since `readonly` doesn't affect assignability. + // This is only applied during the strictSubtypeRelation -- currently used in subtype reduction + if (relation === strictSubtypeRelation && + isReadonlySymbol(sourceProp) && !isReadonlySymbol(targetProp)) { + return 0 /* False */; + } // If the target comes from a partial union prop, allow `undefined` in the target type var related = isPropertySymbolTypeRelated(sourceProp, targetProp, getTypeOfSourceProperty, reportErrors, intersectionState); if (!related) { @@ -65274,7 +66242,7 @@ var ts; var requireOptionalProperties = (relation === subtypeRelation || relation === strictSubtypeRelation) && !isObjectLiteralType(source) && !isEmptyArrayLiteralType(source) && !isTupleType(source); var unmatchedProperty = getUnmatchedProperty(source, target, requireOptionalProperties, /*matchDiscriminantProperties*/ false); if (unmatchedProperty) { - if (reportErrors) { + if (reportErrors && shouldReportUnmatchedPropertyError(source, target)) { reportUnmatchedProperty(source, target, unmatchedProperty, requireOptionalProperties); } return 0 /* False */; @@ -65397,7 +66365,7 @@ var ts; var targetSignature = ts.first(targetSignatures); result = signatureRelatedTo(sourceSignature, targetSignature, eraseGenerics, reportErrors, incompatibleReporter(sourceSignature, targetSignature)); if (!result && reportErrors && kind === 1 /* Construct */ && (sourceObjectFlags & targetObjectFlags) && - (((_a = targetSignature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 170 /* Constructor */ || ((_b = sourceSignature.declaration) === null || _b === void 0 ? void 0 : _b.kind) === 170 /* Constructor */)) { + (((_a = targetSignature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* Constructor */ || ((_b = sourceSignature.declaration) === null || _b === void 0 ? void 0 : _b.kind) === 171 /* Constructor */)) { var constructSignatureToString = function (signature) { return signatureToString(signature, /*enclosingDeclaration*/ undefined, 262144 /* WriteArrowStyleSignature */, kind); }; @@ -65430,6 +66398,19 @@ var ts; } return result; } + function shouldReportUnmatchedPropertyError(source, target) { + var typeCallSignatures = getSignaturesOfStructuredType(source, 0 /* Call */); + var typeConstructSignatures = getSignaturesOfStructuredType(source, 1 /* Construct */); + var typeProperties = getPropertiesOfObjectType(source); + if ((typeCallSignatures.length || typeConstructSignatures.length) && !typeProperties.length) { + if ((getSignaturesOfType(target, 0 /* Call */).length && typeCallSignatures.length) || + (getSignaturesOfType(target, 1 /* Construct */).length && typeConstructSignatures.length)) { + return true; // target has similar signature kinds to source, still focus on the unmatched property + } + return false; + } + return true; + } function reportIncompatibleCallSignatureReturn(siga, sigb) { if (siga.parameters.length === 0 && sigb.parameters.length === 0) { return function (source, target) { return reportIncompatibleError(ts.Diagnostics.Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1, typeToString(source), typeToString(target)); }; @@ -65520,8 +66501,8 @@ var ts; var indexInfos = getIndexInfosOfType(target); var targetHasStringIndex = ts.some(indexInfos, function (info) { return info.keyType === stringType; }); var result = -1 /* True */; - for (var _i = 0, indexInfos_3 = indexInfos; _i < indexInfos_3.length; _i++) { - var targetInfo = indexInfos_3[_i]; + for (var _i = 0, indexInfos_5 = indexInfos; _i < indexInfos_5.length; _i++) { + var targetInfo = indexInfos_5[_i]; var related = !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, 3 /* Both */, reportErrors) : typeRelatedToIndexInfo(source, targetInfo, reportErrors, intersectionState); @@ -65684,80 +66665,91 @@ var ts; } return false; } - // Return a type reference where the source type parameter is replaced with the target marker - // type, and flag the result as a marker type reference. - function getMarkerTypeReference(type, source, target) { - var result = createTypeReference(type, ts.map(type.typeParameters, function (t) { return t === source ? target : t; })); - result.objectFlags |= 4096 /* MarkerType */; - return result; + function getVariances(type) { + // Arrays and tuples are known to be covariant, no need to spend time computing this. + return type === globalArrayType || type === globalReadonlyArrayType || type.objectFlags & 8 /* Tuple */ ? + arrayVariances : + getVariancesWorker(type.symbol, type.typeParameters); } function getAliasVariances(symbol) { - var links = getSymbolLinks(symbol); - return getVariancesWorker(links.typeParameters, links, function (_links, param, marker) { - var type = getTypeAliasInstantiation(symbol, instantiateTypes(links.typeParameters, makeUnaryTypeMapper(param, marker))); - type.aliasTypeArgumentsContainsMarker = true; - return type; - }); + return getVariancesWorker(symbol, getSymbolLinks(symbol).typeParameters); } // Return an array containing the variance of each type parameter. The variance is effectively // a digest of the type comparisons that occur for each type argument when instantiations of the // generic type are structurally compared. We infer the variance information by comparing // instantiations of the generic type for type arguments with known relations. The function // returns the emptyArray singleton when invoked recursively for the given generic type. - function getVariancesWorker(typeParameters, cache, createMarkerType) { - var _a, _b, _c; + function getVariancesWorker(symbol, typeParameters) { if (typeParameters === void 0) { typeParameters = ts.emptyArray; } - var variances = cache.variances; - if (!variances) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* CheckTypes */, "getVariancesWorker", { arity: typeParameters.length, id: (_c = (_a = cache.id) !== null && _a !== void 0 ? _a : (_b = cache.declaredType) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : -1 }); - // The emptyArray singleton is used to signal a recursive invocation. - cache.variances = ts.emptyArray; - variances = []; - var _loop_21 = function (tp) { - var unmeasurable = false; - var unreliable = false; - var oldHandler = outofbandVarianceMarkerHandler; - outofbandVarianceMarkerHandler = function (onlyUnreliable) { return onlyUnreliable ? unreliable = true : unmeasurable = true; }; - // We first compare instantiations where the type parameter is replaced with - // marker types that have a known subtype relationship. From this we can infer - // invariance, covariance, contravariance or bivariance. - var typeWithSuper = createMarkerType(cache, tp, markerSuperType); - var typeWithSub = createMarkerType(cache, tp, markerSubType); - var variance = (isTypeAssignableTo(typeWithSub, typeWithSuper) ? 1 /* Covariant */ : 0) | - (isTypeAssignableTo(typeWithSuper, typeWithSub) ? 2 /* Contravariant */ : 0); - // If the instantiations appear to be related bivariantly it may be because the - // type parameter is independent (i.e. it isn't witnessed anywhere in the generic - // type). To determine this we compare instantiations where the type parameter is - // replaced with marker types that are known to be unrelated. - if (variance === 3 /* Bivariant */ && isTypeAssignableTo(createMarkerType(cache, tp, markerOtherType), typeWithSuper)) { - variance = 4 /* Independent */; - } - outofbandVarianceMarkerHandler = oldHandler; - if (unmeasurable || unreliable) { - if (unmeasurable) { - variance |= 8 /* Unmeasurable */; - } - if (unreliable) { - variance |= 16 /* Unreliable */; + var links = getSymbolLinks(symbol); + if (!links.variances) { + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* CheckTypes */, "getVariancesWorker", { arity: typeParameters.length, id: getTypeId(getDeclaredTypeOfSymbol(symbol)) }); + links.variances = ts.emptyArray; + var variances = []; + var _loop_22 = function (tp) { + var modifiers = getVarianceModifiers(tp); + var variance = modifiers & 65536 /* Out */ ? + modifiers & 32768 /* In */ ? 0 /* Invariant */ : 1 /* Covariant */ : + modifiers & 32768 /* In */ ? 2 /* Contravariant */ : undefined; + if (variance === undefined) { + var unmeasurable_1 = false; + var unreliable_1 = false; + var oldHandler = outofbandVarianceMarkerHandler; + outofbandVarianceMarkerHandler = function (onlyUnreliable) { return onlyUnreliable ? unreliable_1 = true : unmeasurable_1 = true; }; + // We first compare instantiations where the type parameter is replaced with + // marker types that have a known subtype relationship. From this we can infer + // invariance, covariance, contravariance or bivariance. + var typeWithSuper = createMarkerType(symbol, tp, markerSuperType); + var typeWithSub = createMarkerType(symbol, tp, markerSubType); + variance = (isTypeAssignableTo(typeWithSub, typeWithSuper) ? 1 /* Covariant */ : 0) | + (isTypeAssignableTo(typeWithSuper, typeWithSub) ? 2 /* Contravariant */ : 0); + // If the instantiations appear to be related bivariantly it may be because the + // type parameter is independent (i.e. it isn't witnessed anywhere in the generic + // type). To determine this we compare instantiations where the type parameter is + // replaced with marker types that are known to be unrelated. + if (variance === 3 /* Bivariant */ && isTypeAssignableTo(createMarkerType(symbol, tp, markerOtherType), typeWithSuper)) { + variance = 4 /* Independent */; + } + outofbandVarianceMarkerHandler = oldHandler; + if (unmeasurable_1 || unreliable_1) { + if (unmeasurable_1) { + variance |= 8 /* Unmeasurable */; + } + if (unreliable_1) { + variance |= 16 /* Unreliable */; + } } } variances.push(variance); }; for (var _i = 0, typeParameters_1 = typeParameters; _i < typeParameters_1.length; _i++) { var tp = typeParameters_1[_i]; - _loop_21(tp); + _loop_22(tp); } - cache.variances = variances; + links.variances = variances; ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } - return variances; + return links.variances; } - function getVariances(type) { - // Arrays and tuples are known to be covariant, no need to spend time computing this. - if (type === globalArrayType || type === globalReadonlyArrayType || type.objectFlags & 8 /* Tuple */) { - return arrayVariances; + function createMarkerType(symbol, source, target) { + var mapper = makeUnaryTypeMapper(source, target); + var type = getDeclaredTypeOfSymbol(symbol); + if (isErrorType(type)) { + return type; } - return getVariancesWorker(type.typeParameters, type, getMarkerTypeReference); + var result = symbol.flags & 524288 /* TypeAlias */ ? + getTypeAliasInstantiation(symbol, instantiateTypes(getSymbolLinks(symbol).typeParameters, mapper)) : + createTypeReference(type, instantiateTypes(type.typeParameters, mapper)); + markerTypes.add(getTypeId(result)); + return result; + } + function isMarkerType(type) { + return markerTypes.has(getTypeId(type)); + } + function getVarianceModifiers(tp) { + var _a, _b; + return (ts.some((_a = tp.symbol) === null || _a === void 0 ? void 0 : _a.declarations, function (d) { return ts.hasSyntacticModifier(d, 32768 /* In */); }) ? 32768 /* In */ : 0) | + (ts.some((_b = tp.symbol) === null || _b === void 0 ? void 0 : _b.declarations, function (d) { return ts.hasSyntacticModifier(d, 65536 /* Out */); }) ? 65536 /* Out */ : 0); } // Return true if the given type reference has a 'void' type argument for a covariant type parameter. // See comment at call in recursiveTypeRelatedTo for when this case matters. @@ -65783,7 +66775,7 @@ var ts; var constraintMarker = ""; var sourceId = getTypeReferenceId(source, 0); var targetId = getTypeReferenceId(target, 0); - return "".concat(constraintMarker).concat(sourceId, ",").concat(targetId).concat(postFix); + return "" + constraintMarker + sourceId + "," + targetId + postFix; // getTypeReferenceId(A) returns "111=0-12=1" // where A.id=111 and number.id=12 function getTypeReferenceId(type, depth) { @@ -65827,7 +66819,7 @@ var ts; var postFix = intersectionState ? ":" + intersectionState : ""; return isTypeReferenceWithGenericArguments(source) && isTypeReferenceWithGenericArguments(target) ? getGenericTypeReferenceRelationKey(source, target, postFix, ignoreConstraints) : - "".concat(source.id, ",").concat(target.id).concat(postFix); + source.id + "," + target.id + postFix; } // Invoke the callback for each underlying property symbol of the given symbol and return the first // value that isn't undefined. @@ -66137,7 +67129,7 @@ var ts; var baseTypeNode = getBaseTypeNodeOfClass(target); // A base type expression may circularly reference the class itself (e.g. as an argument to function call), so we only // check for base types specified as simple qualified names. - if (baseTypeNode && baseTypeNode.expression.kind !== 79 /* Identifier */ && baseTypeNode.expression.kind !== 205 /* PropertyAccessExpression */) { + if (baseTypeNode && baseTypeNode.expression.kind !== 79 /* Identifier */ && baseTypeNode.expression.kind !== 206 /* PropertyAccessExpression */) { return undefined; } } @@ -66447,7 +67439,7 @@ var ts; * Leave signatures alone since they are not subject to the check. */ function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && ts.getObjectFlags(type) & 16384 /* FreshLiteral */)) { + if (!(isObjectLiteralType(type) && ts.getObjectFlags(type) & 8192 /* FreshLiteral */)) { return type; } var regularType = type.regularType; @@ -66458,7 +67450,7 @@ var ts; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.indexInfos); regularNew.flags = resolved.flags; - regularNew.objectFlags |= resolved.objectFlags & ~16384 /* FreshLiteral */; + regularNew.objectFlags |= resolved.objectFlags & ~8192 /* FreshLiteral */; type.regularType = regularNew; return regularNew; } @@ -66488,7 +67480,7 @@ var ts; var names = new ts.Map(); for (var _i = 0, _a = getSiblingsOfContext(context); _i < _a.length; _i++) { var t = _a[_i]; - if (isObjectLiteralType(t) && !(ts.getObjectFlags(t) & 4194304 /* ContainsSpread */)) { + if (isObjectLiteralType(t) && !(ts.getObjectFlags(t) & 2097152 /* ContainsSpread */)) { for (var _b = 0, _c = getPropertiesOfType(t); _b < _c.length; _b++) { var prop = _c[_b]; names.set(prop.escapedName, prop); @@ -66535,14 +67527,14 @@ var ts; } } var result = createAnonymousType(type.symbol, members, ts.emptyArray, ts.emptyArray, ts.sameMap(getIndexInfosOfType(type), function (info) { return createIndexInfo(info.keyType, getWidenedType(info.type), info.isReadonly); })); - result.objectFlags |= (ts.getObjectFlags(type) & (8192 /* JSLiteral */ | 524288 /* NonInferrableType */)); // Retain js literal flag through widening + result.objectFlags |= (ts.getObjectFlags(type) & (4096 /* JSLiteral */ | 262144 /* NonInferrableType */)); // Retain js literal flag through widening return result; } function getWidenedType(type) { return getWidenedTypeWithContext(type, /*context*/ undefined); } function getWidenedTypeWithContext(type, context) { - if (ts.getObjectFlags(type) & 393216 /* RequiresWidening */) { + if (ts.getObjectFlags(type) & 196608 /* RequiresWidening */) { if (context === undefined && type.widened) { return type.widened; } @@ -66587,7 +67579,7 @@ var ts; */ function reportWideningErrorsInType(type) { var errorReported = false; - if (ts.getObjectFlags(type) & 131072 /* ContainsWideningType */) { + if (ts.getObjectFlags(type) & 65536 /* ContainsWideningType */) { if (type.flags & 1048576 /* Union */) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; @@ -66613,7 +67605,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (ts.getObjectFlags(t) & 131072 /* ContainsWideningType */) { + if (ts.getObjectFlags(t) & 65536 /* ContainsWideningType */) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -66632,12 +67624,12 @@ var ts; } var diagnostic; switch (declaration.kind) { - case 220 /* BinaryExpression */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 221 /* BinaryExpression */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: diagnostic = noImplicitAny ? ts.Diagnostics.Member_0_implicitly_has_an_1_type : ts.Diagnostics.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; - case 163 /* Parameter */: + case 164 /* Parameter */: var param = declaration; if (ts.isIdentifier(param.name) && (ts.isCallSignatureDeclaration(param.parent) || ts.isMethodSignature(param.parent) || ts.isFunctionTypeNode(param.parent)) && @@ -66653,23 +67645,23 @@ var ts; noImplicitAny ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage : noImplicitAny ? ts.Diagnostics.Parameter_0_implicitly_has_an_1_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; - case 202 /* BindingElement */: + case 203 /* BindingElement */: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; if (!noImplicitAny) { // Don't issue a suggestion for binding elements since the codefix doesn't yet support them. return; } break; - case 315 /* JSDocFunctionType */: + case 317 /* JSDocFunctionType */: error(declaration, ts.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: if (noImplicitAny && !declaration.name) { if (wideningKind === 3 /* GeneratorYield */) { error(declaration, ts.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation, typeAsString); @@ -66683,7 +67675,7 @@ var ts; wideningKind === 3 /* GeneratorYield */ ? ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type : ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 194 /* MappedType */: + case 195 /* MappedType */: if (noImplicitAny) { error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); } @@ -66694,12 +67686,14 @@ var ts; errorOrSuggestion(noImplicitAny, declaration, diagnostic, ts.declarationNameToString(ts.getNameOfDeclaration(declaration)), typeAsString); } function reportErrorsFromWidening(declaration, type, wideningKind) { - if (produceDiagnostics && noImplicitAny && ts.getObjectFlags(type) & 131072 /* ContainsWideningType */ && (!wideningKind || !getContextualSignatureForFunctionLikeDeclaration(declaration))) { - // Report implicit any error within type if possible, otherwise report error on declaration - if (!reportWideningErrorsInType(type)) { - reportImplicitAny(declaration, type, wideningKind); + addLazyDiagnostic(function () { + if (noImplicitAny && ts.getObjectFlags(type) & 65536 /* ContainsWideningType */ && (!wideningKind || !getContextualSignatureForFunctionLikeDeclaration(declaration))) { + // Report implicit any error within type if possible, otherwise report error on declaration + if (!reportWideningErrorsInType(type)) { + reportImplicitAny(declaration, type, wideningKind); + } } - } + }); } function applyToParameterTypes(source, target, callback) { var sourceCount = getParameterCount(source); @@ -66756,6 +67750,9 @@ var ts; var inference = inferences[i]; if (t === inference.typeParameter) { if (fix && !inference.isFixed) { + // Before we commit to a particular inference (and thus lock out any further inferences), + // we infer from any intra-expression inference sites we have collected. + inferFromIntraExpressionSites(context); clearCachedInferences(inferences); inference.isFixed = true; } @@ -66772,6 +67769,37 @@ var ts; } } } + function addIntraExpressionInferenceSite(context, node, type) { + var _a; + ((_a = context.intraExpressionInferenceSites) !== null && _a !== void 0 ? _a : (context.intraExpressionInferenceSites = [])).push({ node: node, type: type }); + } + // We collect intra-expression inference sites within object and array literals to handle cases where + // inferred types flow between context sensitive element expressions. For example: + // + // declare function foo(arg: [(n: number) => T, (x: T) => void]): void; + // foo([_a => 0, n => n.toFixed()]); + // + // Above, both arrow functions in the tuple argument are context sensitive, thus both are omitted from the + // pass that collects inferences from the non-context sensitive parts of the arguments. In the subsequent + // pass where nothing is omitted, we need to commit to an inference for T in order to contextually type the + // parameter in the second arrow function, but we want to first infer from the return type of the first + // arrow function. This happens automatically when the arrow functions are discrete arguments (because we + // infer from each argument before processing the next), but when the arrow functions are elements of an + // object or array literal, we need to perform intra-expression inferences early. + function inferFromIntraExpressionSites(context) { + if (context.intraExpressionInferenceSites) { + for (var _i = 0, _a = context.intraExpressionInferenceSites; _i < _a.length; _i++) { + var _b = _a[_i], node = _b.node, type = _b.type; + var contextualType = node.kind === 169 /* MethodDeclaration */ ? + getContextualTypeForObjectLiteralMethod(node, 2 /* NoConstraints */) : + getContextualType(node, 2 /* NoConstraints */); + if (contextualType) { + inferTypes(context.inferences, type, contextualType); + } + } + context.intraExpressionInferenceSites = undefined; + } + } function createInferenceInfo(typeParameter) { return { typeParameter: typeParameter, @@ -66810,23 +67838,23 @@ var ts; // results for union and intersection types for performance reasons. function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - if (objectFlags & 1048576 /* CouldContainTypeVariablesComputed */) { - return !!(objectFlags & 2097152 /* CouldContainTypeVariables */); + if (objectFlags & 524288 /* CouldContainTypeVariablesComputed */) { + return !!(objectFlags & 1048576 /* CouldContainTypeVariables */); } var result = !!(type.flags & 465829888 /* Instantiable */ || type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || ts.forEach(getTypeArguments(type), couldContainTypeVariables)) || objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || - objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 8388608 /* ObjectRestType */)) || + objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || type.flags & 3145728 /* UnionOrIntersection */ && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && ts.some(type.types, couldContainTypeVariables)); if (type.flags & 3899393 /* ObjectFlagsType */) { - type.objectFlags |= 1048576 /* CouldContainTypeVariablesComputed */ | (result ? 2097152 /* CouldContainTypeVariables */ : 0); + type.objectFlags |= 524288 /* CouldContainTypeVariablesComputed */ | (result ? 1048576 /* CouldContainTypeVariables */ : 0); } return result; } function isNonGenericTopLevelType(type) { if (type.aliasSymbol && !type.aliasTypeArguments) { - var declaration = ts.getDeclarationOfKind(type.aliasSymbol, 258 /* TypeAliasDeclaration */); - return !!(declaration && ts.findAncestor(declaration.parent, function (n) { return n.kind === 303 /* SourceFile */ ? true : n.kind === 260 /* ModuleDeclaration */ ? false : "quit"; })); + var declaration = ts.getDeclarationOfKind(type.aliasSymbol, 259 /* TypeAliasDeclaration */); + return !!(declaration && ts.findAncestor(declaration.parent, function (n) { return n.kind === 305 /* SourceFile */ ? true : n.kind === 261 /* ModuleDeclaration */ ? false : "quit"; })); } return false; } @@ -66879,7 +67907,7 @@ var ts; // literal { a: 123, b: x => true } is marked non-inferable because it contains a context sensitive // arrow function, but is considered partially inferable because property 'a' has an inferable type. function isPartiallyInferableType(type) { - return !(ts.getObjectFlags(type) & 524288 /* NonInferrableType */) || + return !(ts.getObjectFlags(type) & 262144 /* NonInferrableType */) || isObjectLiteralType(type) && ts.some(getPropertiesOfType(type), function (prop) { return isPartiallyInferableType(getTypeOfSymbol(prop)); }) || isTupleType(type) && ts.some(getTypeArguments(type), isPartiallyInferableType); } @@ -67219,7 +68247,7 @@ var ts; } var inference = getInferenceInfoForType(target); if (inference) { - if (ts.getObjectFlags(source) & 524288 /* NonInferrableType */) { + if (ts.getObjectFlags(source) & 262144 /* NonInferrableType */) { return; } if (!inference.isFixed) { @@ -67544,7 +68572,7 @@ var ts; // We assign a lower priority to inferences made from types containing non-inferrable // types because we may only have a partial result (i.e. we may have failed to make // reverse inferences for some properties). - inferWithPriority(inferredType, inference.typeParameter, ts.getObjectFlags(source) & 524288 /* NonInferrableType */ ? + inferWithPriority(inferredType, inference.typeParameter, ts.getObjectFlags(source) & 262144 /* NonInferrableType */ ? 16 /* PartialHomomorphicMappedType */ : 8 /* HomomorphicMappedType */); } @@ -67701,7 +68729,7 @@ var ts; for (var _i = 0, properties_3 = properties; _i < properties_3.length; _i++) { var targetProp = properties_3[_i]; var sourceProp = getPropertyOfType(source, targetProp.escapedName); - if (sourceProp) { + if (sourceProp && !ts.some(sourceProp.declarations, hasSkipDirectInferenceFlag)) { inferFromTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp)); } } @@ -67712,7 +68740,7 @@ var ts; var sourceLen = sourceSignatures.length; var targetLen = targetSignatures.length; var len = sourceLen < targetLen ? sourceLen : targetLen; - var skipParameters = !!(ts.getObjectFlags(source) & 524288 /* NonInferrableType */); + var skipParameters = !!(ts.getObjectFlags(source) & 262144 /* NonInferrableType */); for (var i = 0; i < len; i++) { inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]), skipParameters); } @@ -67722,7 +68750,7 @@ var ts; var saveBivariant = bivariant; var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; // Once we descend into a bivariant signature we remain bivariant for all nested inferences - bivariant = bivariant || kind === 168 /* MethodDeclaration */ || kind === 167 /* MethodSignature */ || kind === 170 /* Constructor */; + bivariant = bivariant || kind === 169 /* MethodDeclaration */ || kind === 168 /* MethodSignature */ || kind === 171 /* Constructor */; applyToParameterTypes(source, target, inferFromContravariantTypes); bivariant = saveBivariant; } @@ -67733,8 +68761,8 @@ var ts; var priority = (ts.getObjectFlags(source) & ts.getObjectFlags(target) & 32 /* Mapped */) ? 8 /* HomomorphicMappedType */ : 0; var indexInfos = getIndexInfosOfType(target); if (isObjectTypeWithInferableIndex(source)) { - for (var _i = 0, indexInfos_4 = indexInfos; _i < indexInfos_4.length; _i++) { - var targetInfo = indexInfos_4[_i]; + for (var _i = 0, indexInfos_6 = indexInfos; _i < indexInfos_6.length; _i++) { + var targetInfo = indexInfos_6[_i]; var propTypes = []; for (var _a = 0, _b = getPropertiesOfType(source); _a < _b.length; _a++) { var prop = _b[_a]; @@ -67754,8 +68782,8 @@ var ts; } } } - for (var _e = 0, indexInfos_5 = indexInfos; _e < indexInfos_5.length; _e++) { - var targetInfo = indexInfos_5[_e]; + for (var _e = 0, indexInfos_7 = indexInfos; _e < indexInfos_7.length; _e++) { + var targetInfo = indexInfos_7[_e]; var sourceInfo = getApplicableIndexInfo(source, targetInfo.keyType); if (sourceInfo) { inferWithPriority(sourceInfo.type, targetInfo.type, priority); @@ -67779,7 +68807,7 @@ var ts; return !!(ts.getObjectFlags(type) & 128 /* ObjectLiteral */); } function isObjectOrArrayLiteralType(type) { - return !!(ts.getObjectFlags(type) & (128 /* ObjectLiteral */ | 32768 /* ArrayLiteral */)); + return !!(ts.getObjectFlags(type) & (128 /* ObjectLiteral */ | 16384 /* ArrayLiteral */)); } function unionObjectAndArrayLiteralCandidates(candidates) { if (candidates.length > 1) { @@ -67922,7 +68950,7 @@ var ts; } // falls through default: - if (node.parent.kind === 295 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 297 /* ShorthandPropertyAssignment */) { return ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer; } else { @@ -67943,7 +68971,7 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.6.3 // A type query consists of the keyword typeof followed by an expression. // The expression is restricted to a single identifier or a sequence of identifiers separated by periods - return !!ts.findAncestor(node, function (n) { return n.kind === 180 /* TypeQuery */ ? true : n.kind === 79 /* Identifier */ || n.kind === 160 /* QualifiedName */ ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 181 /* TypeQuery */ ? true : n.kind === 79 /* Identifier */ || n.kind === 161 /* QualifiedName */ ? false : "quit"; }); } // Return the flow cache key for a "dotted name" (i.e. a sequence of identifiers // separated by dots). The key consists of the id of the symbol referenced by the @@ -67954,19 +68982,19 @@ var ts; case 79 /* Identifier */: if (!ts.isThisInTypeQuery(node)) { var symbol = getResolvedSymbol(node); - return symbol !== unknownSymbol ? "".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType), "|").concat(getSymbolId(symbol)) : undefined; + return symbol !== unknownSymbol ? (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType) + "|" + getSymbolId(symbol) : undefined; } // falls through case 108 /* ThisKeyword */: - return "0|".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType)); - case 229 /* NonNullExpression */: - case 211 /* ParenthesizedExpression */: + return "0|" + (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType); + case 230 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: return getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: var left = getFlowCacheKey(node.left, declaredType, initialType, flowContainer); return left && left + "." + node.right.escapedText; - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: var propName = getAccessedPropertyName(node); if (propName !== undefined) { var key = getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); @@ -67977,16 +69005,16 @@ var ts; } function isMatchingReference(source, target) { switch (target.kind) { - case 211 /* ParenthesizedExpression */: - case 229 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: + case 230 /* NonNullExpression */: return isMatchingReference(source, target.expression); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return (ts.isAssignmentExpression(target) && isMatchingReference(source, target.left)) || (ts.isBinaryExpression(target) && target.operatorToken.kind === 27 /* CommaToken */ && isMatchingReference(source, target.right)); } switch (source.kind) { - case 230 /* MetaProperty */: - return target.kind === 230 /* MetaProperty */ + case 231 /* MetaProperty */: + return target.kind === 231 /* MetaProperty */ && source.keywordToken === target.keywordToken && source.name.escapedText === target.name.escapedText; case 79 /* Identifier */: @@ -67994,36 +69022,74 @@ var ts; return ts.isThisInTypeQuery(source) ? target.kind === 108 /* ThisKeyword */ : target.kind === 79 /* Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 253 /* VariableDeclaration */ || target.kind === 202 /* BindingElement */) && + (target.kind === 254 /* VariableDeclaration */ || target.kind === 203 /* BindingElement */) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 108 /* ThisKeyword */: return target.kind === 108 /* ThisKeyword */; case 106 /* SuperKeyword */: return target.kind === 106 /* SuperKeyword */; - case 229 /* NonNullExpression */: - case 211 /* ParenthesizedExpression */: + case 230 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: return isMatchingReference(source.expression, target); - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: - return ts.isAccessExpression(target) && - getAccessedPropertyName(source) === getAccessedPropertyName(target) && + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: + var sourcePropertyName = getAccessedPropertyName(source); + var targetPropertyName = ts.isAccessExpression(target) ? getAccessedPropertyName(target) : undefined; + return sourcePropertyName !== undefined && targetPropertyName !== undefined && targetPropertyName === sourcePropertyName && isMatchingReference(source.expression, target.expression); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return ts.isAccessExpression(target) && source.right.escapedText === getAccessedPropertyName(target) && isMatchingReference(source.left, target.expression); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return (ts.isBinaryExpression(source) && source.operatorToken.kind === 27 /* CommaToken */ && isMatchingReference(source.right, target)); } return false; } function getAccessedPropertyName(access) { - var propertyName; - return access.kind === 205 /* PropertyAccessExpression */ ? access.name.escapedText : - access.kind === 206 /* ElementAccessExpression */ && ts.isStringOrNumericLiteralLike(access.argumentExpression) ? ts.escapeLeadingUnderscores(access.argumentExpression.text) : - access.kind === 202 /* BindingElement */ && (propertyName = getDestructuringPropertyName(access)) ? ts.escapeLeadingUnderscores(propertyName) : - access.kind === 163 /* Parameter */ ? ("" + access.parent.parameters.indexOf(access)) : - undefined; + if (ts.isPropertyAccessExpression(access)) { + return access.name.escapedText; + } + if (ts.isElementAccessExpression(access)) { + return tryGetElementAccessExpressionName(access); + } + if (ts.isBindingElement(access)) { + var name = getDestructuringPropertyName(access); + return name ? ts.escapeLeadingUnderscores(name) : undefined; + } + if (ts.isParameter(access)) { + return ("" + access.parent.parameters.indexOf(access)); + } + return undefined; + } + function tryGetNameFromType(type) { + return type.flags & 8192 /* UniqueESSymbol */ ? type.escapedName : + type.flags & 384 /* StringOrNumberLiteral */ ? ts.escapeLeadingUnderscores("" + type.value) : undefined; + } + function tryGetElementAccessExpressionName(node) { + if (ts.isStringOrNumericLiteralLike(node.argumentExpression)) { + return ts.escapeLeadingUnderscores(node.argumentExpression.text); + } + if (ts.isEntityNameExpression(node.argumentExpression)) { + var symbol = resolveEntityName(node.argumentExpression, 111551 /* Value */, /*ignoreErrors*/ true); + if (!symbol || !isConstVariable(symbol)) + return undefined; + var declaration = symbol.valueDeclaration; + if (declaration === undefined) + return undefined; + var type = tryGetTypeFromEffectiveTypeNode(declaration); + if (type) { + var name = tryGetNameFromType(type); + if (name !== undefined) { + return name; + } + } + if (ts.hasOnlyExpressionInitializer(declaration)) { + var initializer = ts.getEffectiveInitializer(declaration); + return initializer && tryGetNameFromType(getTypeOfExpression(initializer)); + } + } + return undefined; } function containsMatchingReference(source, target) { while (ts.isAccessExpression(source)) { @@ -68078,7 +69144,7 @@ var ts; function mapTypesByKeyProperty(types, name) { var map = new ts.Map(); var count = 0; - var _loop_22 = function (type) { + var _loop_23 = function (type) { if (type.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */)) { var discriminant = getTypeOfPropertyOfType(type, name); if (discriminant) { @@ -68104,9 +69170,9 @@ var ts; }; for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { var type = types_16[_i]; - var state_8 = _loop_22(type); - if (typeof state_8 === "object") - return state_8.value; + var state_9 = _loop_23(type); + if (typeof state_9 === "object") + return state_9.value; } return count >= 10 && count * 2 >= types.length ? map : undefined; } @@ -68115,7 +69181,7 @@ var ts; function getKeyPropertyName(unionType) { var types = unionType.types; // We only construct maps for unions with many non-primitive constituents. - if (types.length < 10 || ts.getObjectFlags(unionType) & 65536 /* PrimitiveUnion */ || + if (types.length < 10 || ts.getObjectFlags(unionType) & 32768 /* PrimitiveUnion */ || ts.countWhere(types, function (t) { return !!(t.flags & (524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */)); }) < 10) { return undefined; } @@ -68147,7 +69213,7 @@ var ts; } function getMatchingUnionConstituentForObjectLiteral(unionType, node) { var keyPropertyName = getKeyPropertyName(unionType); - var propNode = keyPropertyName && ts.find(node.properties, function (p) { return p.symbol && p.kind === 294 /* PropertyAssignment */ && + var propNode = keyPropertyName && ts.find(node.properties, function (p) { return p.symbol && p.kind === 296 /* PropertyAssignment */ && p.symbol.escapedName === keyPropertyName && isPossiblyDiscriminantValue(p.initializer); }); var propType = propNode && getContextFreeTypeOfExpression(propNode.initializer); return propType && getConstituentTypeForKeyType(unionType, propType); @@ -68164,7 +69230,7 @@ var ts; } } } - if (expression.expression.kind === 205 /* PropertyAccessExpression */ && + if (expression.expression.kind === 206 /* PropertyAccessExpression */ && isOrContainsMatchingReference(reference, expression.expression.expression)) { return true; } @@ -68341,15 +69407,15 @@ var ts; return createArrayType(checkIteratedTypeOrElementType(65 /* Destructuring */, type, undefinedType, /*errorNode*/ undefined) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 203 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 294 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 204 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 296 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 220 /* BinaryExpression */ && parent.parent.left === parent || - parent.parent.kind === 243 /* ForOfStatement */ && parent.parent.initializer === parent; + return parent.parent.kind === 221 /* BinaryExpression */ && parent.parent.left === parent || + parent.parent.kind === 244 /* ForOfStatement */ && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -68366,21 +69432,21 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return stringType; - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return checkRightHandSideOfForOf(parent) || errorType; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return getAssignedTypeOfBinaryExpression(parent); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: return undefinedType; - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: return getAssignedTypeOfSpreadExpression(parent); - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return getAssignedTypeOfPropertyAssignment(parent); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return getAssignedTypeOfShorthandPropertyAssignment(parent); } return errorType; @@ -68388,7 +69454,7 @@ var ts; function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 200 /* ObjectBindingPattern */ ? + var type = pattern.kind === 201 /* ObjectBindingPattern */ ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -68406,30 +69472,30 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 242 /* ForInStatement */) { + if (node.parent.parent.kind === 243 /* ForInStatement */) { return stringType; } - if (node.parent.parent.kind === 243 /* ForOfStatement */) { + if (node.parent.parent.kind === 244 /* ForOfStatement */) { return checkRightHandSideOfForOf(node.parent.parent) || errorType; } return errorType; } function getInitialType(node) { - return node.kind === 253 /* VariableDeclaration */ ? + return node.kind === 254 /* VariableDeclaration */ ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function isEmptyArrayAssignment(node) { - return node.kind === 253 /* VariableDeclaration */ && node.initializer && + return node.kind === 254 /* VariableDeclaration */ && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 202 /* BindingElement */ && node.parent.kind === 220 /* BinaryExpression */ && + node.kind !== 203 /* BindingElement */ && node.parent.kind === 221 /* BinaryExpression */ && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return getReferenceCandidate(node.expression); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: switch (node.operatorToken.kind) { case 63 /* EqualsToken */: case 75 /* BarBarEqualsToken */: @@ -68444,13 +69510,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 211 /* ParenthesizedExpression */ || - parent.kind === 220 /* BinaryExpression */ && parent.operatorToken.kind === 63 /* EqualsToken */ && parent.left === node || - parent.kind === 220 /* BinaryExpression */ && parent.operatorToken.kind === 27 /* CommaToken */ && parent.right === node ? + return parent.kind === 212 /* ParenthesizedExpression */ || + parent.kind === 221 /* BinaryExpression */ && parent.operatorToken.kind === 63 /* EqualsToken */ && parent.left === node || + parent.kind === 221 /* BinaryExpression */ && parent.operatorToken.kind === 27 /* CommaToken */ && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 288 /* CaseClause */) { + if (clause.kind === 289 /* CaseClause */) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -68470,7 +69536,7 @@ var ts; var witnesses = []; for (var _i = 0, _a = switchStatement.caseBlock.clauses; _i < _a.length; _i++) { var clause = _a[_i]; - if (clause.kind === 288 /* CaseClause */) { + if (clause.kind === 289 /* CaseClause */) { if (ts.isStringLiteralLike(clause.expression)) { witnesses.push(clause.expression.text); continue; @@ -68664,12 +69730,12 @@ var ts; var root = getReferenceRoot(node); var parent = root.parent; var isLengthPushOrUnshift = ts.isPropertyAccessExpression(parent) && (parent.name.escapedText === "length" || - parent.parent.kind === 207 /* CallExpression */ + parent.parent.kind === 208 /* CallExpression */ && ts.isIdentifier(parent.name) && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 206 /* ElementAccessExpression */ && + var isElementAssignment = parent.kind === 207 /* ElementAccessExpression */ && parent.expression === root && - parent.parent.kind === 220 /* BinaryExpression */ && + parent.parent.kind === 221 /* BinaryExpression */ && parent.parent.operatorToken.kind === 63 /* EqualsToken */ && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && @@ -68697,7 +69763,7 @@ var ts; if (isDeclarationWithExplicitTypeAnnotation(declaration)) { return getTypeOfSymbol(symbol); } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* ForOfStatement */) { var statement = declaration.parent.parent; var expressionType = getTypeOfDottedName(statement.expression, /*diagnostic*/ undefined); if (expressionType) { @@ -68716,7 +69782,7 @@ var ts; // parameter symbols with declarations that have explicit type annotations. Such references are // resolvable with no possibility of triggering circularities in control flow analysis. function getTypeOfDottedName(node, diagnostic) { - if (!(node.flags & 16777216 /* InWithStatement */)) { + if (!(node.flags & 33554432 /* InWithStatement */)) { switch (node.kind) { case 79 /* Identifier */: var symbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(node)); @@ -68725,7 +69791,7 @@ var ts; return getExplicitThisType(node); case 106 /* SuperKeyword */: return checkSuperExpression(node); - case 205 /* PropertyAccessExpression */: { + case 206 /* PropertyAccessExpression */: { var type = getTypeOfDottedName(node.expression, diagnostic); if (type) { var name = node.name; @@ -68743,7 +69809,7 @@ var ts; } return undefined; } - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return getTypeOfDottedName(node.expression, diagnostic); } } @@ -68757,7 +69823,7 @@ var ts; // circularities in control flow analysis, we use getTypeOfDottedName when resolving the call // target expression of an assertion. var funcType = void 0; - if (node.parent.kind === 237 /* ExpressionStatement */) { + if (node.parent.kind === 238 /* ExpressionStatement */) { funcType = getTypeOfDottedName(node.expression, /*diagnostic*/ undefined); } else if (node.expression.kind !== 106 /* SuperKeyword */) { @@ -68801,7 +69867,7 @@ var ts; } function isFalseExpression(expr) { var node = ts.skipParentheses(expr, /*excludeJSDocTypeAssertions*/ true); - return node.kind === 95 /* FalseKeyword */ || node.kind === 220 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ && (isFalseExpression(node.left) || isFalseExpression(node.right)) || + return node.kind === 95 /* FalseKeyword */ || node.kind === 221 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ && (isFalseExpression(node.left) || isFalseExpression(node.right)) || node.operatorToken.kind === 56 /* BarBarToken */ && isFalseExpression(node.left) && isFalseExpression(node.right)); } function isReachableFlowNodeWorker(flow, noCacheCheck) { @@ -68922,8 +69988,8 @@ var ts; var symbol = getResolvedSymbol(node); return isConstVariable(symbol) || ts.isParameterOrCatchClauseVariable(symbol) && !isSymbolAssigned(symbol); } - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: // The resolvedSymbol property is initialized by checkPropertyAccess or checkElementAccess before we get here. return isConstantReference(node.expression) && isReadonlySymbol(getNodeLinks(node).resolvedSymbol || unknownSymbol); } @@ -68950,7 +70016,7 @@ var ts; // on empty arrays are possible without implicit any errors and new element types can be inferred without // type mismatch errors. var resultType = ts.getObjectFlags(evolvedType) & 256 /* EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? autoArrayType : finalizeEvolvingArrayType(evolvedType); - if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === 229 /* NonNullExpression */ && !(resultType.flags & 131072 /* Never */) && getTypeWithFacts(resultType, 2097152 /* NEUndefinedOrNull */).flags & 131072 /* Never */) { + if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === 230 /* NonNullExpression */ && !(resultType.flags & 131072 /* Never */) && getTypeWithFacts(resultType, 2097152 /* NEUndefinedOrNull */).flags & 131072 /* Never */) { return declaredType; } // The non-null unknown type should never escape control flow analysis. @@ -69035,8 +70101,8 @@ var ts; // Check if we should continue with the control flow of the containing function. var container = flow.node; if (container && container !== flowContainer && - reference.kind !== 205 /* PropertyAccessExpression */ && - reference.kind !== 206 /* ElementAccessExpression */ && + reference.kind !== 206 /* PropertyAccessExpression */ && + reference.kind !== 207 /* ElementAccessExpression */ && reference.kind !== 108 /* ThisKeyword */) { flow = container.flowNode; continue; @@ -69061,7 +70127,7 @@ var ts; } function getInitialOrAssignedType(flow) { var node = flow.node; - return getNarrowableTypeForReference(node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */ ? + return getNarrowableTypeForReference(node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */ ? getInitialType(node) : getAssignedType(node), reference); } @@ -69101,14 +70167,14 @@ var ts; // in which case we continue control flow analysis back to the function's declaration if (ts.isVariableDeclaration(node) && (ts.isInJSFile(node) || ts.isVarConst(node))) { var init = ts.getDeclaredExpandoInitializer(node); - if (init && (init.kind === 212 /* FunctionExpression */ || init.kind === 213 /* ArrowFunction */)) { + if (init && (init.kind === 213 /* FunctionExpression */ || init.kind === 214 /* ArrowFunction */)) { return getTypeAtFlowNode(flow.antecedent); } } return declaredType; } // for (const _ in ref) acts as a nonnull on ref - if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 242 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { + if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))); } // Assignment doesn't affect reference @@ -69119,7 +70185,7 @@ var ts; if (node.kind === 95 /* FalseKeyword */) { return unreachableNeverType; } - if (node.kind === 220 /* BinaryExpression */) { + if (node.kind === 221 /* BinaryExpression */) { if (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */) { return narrowTypeByAssertion(narrowTypeByAssertion(type, node.left), node.right); } @@ -69150,7 +70216,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 207 /* CallExpression */ ? + var expr = node.kind === 208 /* CallExpression */ ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -69158,7 +70224,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256 /* EvolvingArray */) { var evolvedType_1 = type; - if (node.kind === 207 /* CallExpression */) { + if (node.kind === 208 /* CallExpression */) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -69206,7 +70272,7 @@ var ts; if (isMatchingReference(reference, expr)) { type = narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } - else if (expr.kind === 215 /* TypeOfExpression */ && isMatchingReference(reference, expr.expression)) { + else if (expr.kind === 216 /* TypeOfExpression */ && isMatchingReference(reference, expr.expression)) { type = narrowBySwitchOnTypeOf(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } else { @@ -69214,7 +70280,7 @@ var ts; if (optionalChainContainsReference(expr, reference)) { type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & (32768 /* Undefined */ | 131072 /* Never */)); }); } - else if (expr.kind === 215 /* TypeOfExpression */ && optionalChainContainsReference(expr.expression, reference)) { + else if (expr.kind === 216 /* TypeOfExpression */ && optionalChainContainsReference(expr.expression, reference)) { type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & 131072 /* Never */ || t.flags & 128 /* StringLiteral */ && t.value === "undefined"); }); } } @@ -69376,7 +70442,7 @@ var ts; return result; } function getCandidateDiscriminantPropertyAccess(expr) { - if (ts.isBindingPattern(reference) || ts.isFunctionExpressionOrArrowFunction(reference)) { + if (ts.isBindingPattern(reference) || ts.isFunctionExpressionOrArrowFunction(reference) || ts.isObjectLiteralMethod(reference)) { // When the reference is a binding pattern or function or arrow expression, we are narrowing a pesudo-reference in // getNarrowedTypeOfSymbol. An identifier for a destructuring variable declared in the same binding pattern or // parameter declared in the same parameter list is a candidate. @@ -69513,10 +70579,10 @@ var ts; var operator = expr.operatorToken.kind; var left = getReferenceCandidate(expr.left); var right = getReferenceCandidate(expr.right); - if (left.kind === 215 /* TypeOfExpression */ && ts.isStringLiteralLike(right)) { + if (left.kind === 216 /* TypeOfExpression */ && ts.isStringLiteralLike(right)) { return narrowTypeByTypeof(type, left, operator, right, assumeTrue); } - if (right.kind === 215 /* TypeOfExpression */ && ts.isStringLiteralLike(left)) { + if (right.kind === 216 /* TypeOfExpression */ && ts.isStringLiteralLike(left)) { return narrowTypeByTypeof(type, right, operator, left, assumeTrue); } if (isMatchingReference(reference, left)) { @@ -69998,17 +71064,17 @@ var ts; // falls through case 108 /* ThisKeyword */: case 106 /* SuperKeyword */: - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return narrowTypeByCallExpression(type, expr, assumeTrue); - case 211 /* ParenthesizedExpression */: - case 229 /* NonNullExpression */: + case 212 /* ParenthesizedExpression */: + case 230 /* NonNullExpression */: return narrowType(type, expr.expression, assumeTrue); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: if (expr.operator === 53 /* ExclamationToken */) { return narrowType(type, expr.operand, !assumeTrue); } @@ -70045,7 +71111,7 @@ var ts; } } if (ts.isDeclarationName(location) && ts.isSetAccessor(location.parent) && getAnnotatedAccessorTypeNode(location.parent)) { - return resolveTypeOfAccessors(location.parent.symbol, /*writing*/ true); + return getWriteTypeOfAccessors(location.parent.symbol); } // The location isn't a reference to the given symbol, meaning we're being asked // a hypothetical question of what type the symbol would have if there was a reference @@ -70057,9 +71123,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 261 /* ModuleBlock */ || - node.kind === 303 /* SourceFile */ || - node.kind === 166 /* PropertyDeclaration */; + node.kind === 262 /* ModuleBlock */ || + node.kind === 305 /* SourceFile */ || + node.kind === 167 /* PropertyDeclaration */; }); } // Check if a parameter or catch variable is assigned anywhere @@ -70102,7 +71168,7 @@ var ts; function removeOptionalityFromDeclaredType(declaredType, declaration) { if (pushTypeResolution(declaration.symbol, 2 /* DeclaredType */)) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 163 /* Parameter */ && + declaration.kind === 164 /* Parameter */ && declaration.initializer && getFalsyFlags(declaredType) & 32768 /* Undefined */ && !(getFalsyFlags(checkExpression(declaration.initializer)) & 32768 /* Undefined */); @@ -70119,9 +71185,10 @@ var ts; // In an element access obj[x], we consider obj to be in a constraint position, except when obj is of // a generic type without a nullable constraint and x is a generic type. This is because when both obj // and x are of generic types T and K, we want the resulting type to be T[K]. - return parent.kind === 205 /* PropertyAccessExpression */ || - parent.kind === 207 /* CallExpression */ && parent.expression === node || - parent.kind === 206 /* ElementAccessExpression */ && parent.expression === node && + return parent.kind === 206 /* PropertyAccessExpression */ || + parent.kind === 161 /* QualifiedName */ || + parent.kind === 208 /* CallExpression */ && parent.expression === node || + parent.kind === 207 /* ElementAccessExpression */ && parent.expression === node && !(someType(type, isGenericTypeWithoutNullableConstraint) && isGenericIndexType(getTypeOfExpression(parent.argumentExpression))); } function isGenericTypeWithUnionConstraint(type) { @@ -70137,7 +71204,7 @@ var ts; // as we want the type of a rest element to be generic when possible. var contextualType = (ts.isIdentifier(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) && !((ts.isJsxOpeningElement(node.parent) || ts.isJsxSelfClosingElement(node.parent)) && node.parent.tagName === node) && - (checkMode && checkMode & 32 /* RestBindingElement */ ? + (checkMode && checkMode & 64 /* RestBindingElement */ ? getContextualType(node, 8 /* SkipBindingPatterns */) : getContextualType(node)); return contextualType && !isGenericType(contextualType); @@ -70216,13 +71283,13 @@ var ts; // destructuring from the narrowed parent type. if (ts.isBindingElement(declaration) && !declaration.initializer && !declaration.dotDotDotToken && declaration.parent.elements.length >= 2) { var parent = declaration.parent.parent; - if (parent.kind === 253 /* VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || parent.kind === 163 /* Parameter */) { + if (parent.kind === 254 /* VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || parent.kind === 164 /* Parameter */) { var links = getNodeLinks(location); if (!(links.flags & 268435456 /* InCheckIdentifier */)) { links.flags |= 268435456 /* InCheckIdentifier */; var parentType = getTypeForBindingElementParent(parent, 0 /* Normal */); links.flags &= ~268435456 /* InCheckIdentifier */; - if (parentType && parentType.flags & 1048576 /* Union */ && !(parent.kind === 163 /* Parameter */ && isSymbolAssigned(symbol))) { + if (parentType && parentType.flags & 1048576 /* Union */ && !(parent.kind === 164 /* Parameter */ && isSymbolAssigned(symbol))) { var pattern = declaration.parent; var narrowedType = getFlowTypeOfReference(pattern, parentType, parentType, /*flowContainer*/ undefined, location.flowNode); if (narrowedType.flags & 131072 /* Never */) { @@ -70258,7 +71325,7 @@ var ts; if (func.parameters.length >= 2 && isContextSensitiveFunctionOrObjectLiteralMethod(func)) { var contextualSignature = getContextualSignature(func); if (contextualSignature && contextualSignature.parameters.length === 1 && signatureHasRestParameter(contextualSignature)) { - var restType = getTypeOfSymbol(contextualSignature.parameters[0]); + var restType = getReducedApparentType(getTypeOfSymbol(contextualSignature.parameters[0])); if (restType.flags & 1048576 /* Union */ && everyType(restType, isTupleType) && !isSymbolAssigned(symbol)) { var narrowedType = getFlowTypeOfReference(func, restType, restType, /*flowContainer*/ undefined, location.flowNode); var index = func.parameters.indexOf(declaration) - (ts.getThisParameter(func) ? 1 : 0); @@ -70291,7 +71358,7 @@ var ts; } var container = ts.getContainingFunction(node); if (languageVersion < 2 /* ES2015 */) { - if (container.kind === 213 /* ArrowFunction */) { + if (container.kind === 214 /* ArrowFunction */) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } else if (ts.hasSyntacticModifier(container, 256 /* Async */)) { @@ -70316,7 +71383,7 @@ var ts; // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. - if (declaration.kind === 256 /* ClassDeclaration */ + if (declaration.kind === 257 /* ClassDeclaration */ && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -70328,12 +71395,12 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 225 /* ClassExpression */) { + else if (declaration.kind === 226 /* ClassExpression */) { // When we emit a class expression with static members that contain a reference // to the constructor in the initializer, we will need to substitute that // binding with an alias as the class name is not in scope. var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - while (container.kind !== 303 /* SourceFile */) { + while (container.kind !== 305 /* SourceFile */) { if (container.parent === declaration) { if (ts.isPropertyDeclaration(container) && ts.isStatic(container) || ts.isClassStaticBlockDeclaration(container)) { getNodeLinks(declaration).flags |= 16777216 /* ClassWithConstructorReference */; @@ -70391,7 +71458,7 @@ var ts; // The declaration container is the innermost function that encloses the declaration of the variable // or parameter. The flow container is the innermost function starting with which we analyze the control // flow graph to determine the control flow based type. - var isParameter = ts.getRootDeclaration(declaration).kind === 163 /* Parameter */; + var isParameter = ts.getRootDeclaration(declaration).kind === 164 /* Parameter */; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; @@ -70400,8 +71467,8 @@ var ts; // When the control flow originates in a function expression or arrow function and we are referencing // a const variable or parameter from an outer function, we extend the origin of the control flow // analysis to include the immediately enclosing function. - while (flowContainer !== declarationContainer && (flowContainer.kind === 212 /* FunctionExpression */ || - flowContainer.kind === 213 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 213 /* FunctionExpression */ || + flowContainer.kind === 214 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) && (isConstVariable(localOrExportSymbol) && type !== autoArrayType || isParameter && !isSymbolAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } @@ -70410,10 +71477,10 @@ var ts; // declaration container are the same). var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || ts.isBindingElement(declaration) || type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & (3 /* AnyOrUnknown */ | 16384 /* Void */)) !== 0 || - isInTypeQuery(node) || node.parent.kind === 274 /* ExportSpecifier */) || - node.parent.kind === 229 /* NonNullExpression */ || - declaration.kind === 253 /* VariableDeclaration */ && declaration.exclamationToken || - declaration.flags & 8388608 /* Ambient */; + isInTypeQuery(node) || node.parent.kind === 275 /* ExportSpecifier */) || + node.parent.kind === 230 /* NonNullExpression */ || + declaration.kind === 254 /* VariableDeclaration */ && declaration.exclamationToken || + declaration.flags & 16777216 /* Ambient */; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : getOptionalType(type); @@ -70451,7 +71518,7 @@ var ts; (symbol.flags & (2 /* BlockScopedVariable */ | 32 /* Class */)) === 0 || !symbol.valueDeclaration || ts.isSourceFile(symbol.valueDeclaration) || - symbol.valueDeclaration.parent.kind === 291 /* CatchClause */) { + symbol.valueDeclaration.parent.kind === 292 /* CatchClause */) { return; } // 1. walk from the use site up to the declaration and check @@ -70466,7 +71533,7 @@ var ts; // mark iteration statement as containing block-scoped binding captured in some function var capturesBlockScopeBindingInLoopBody = true; if (ts.isForStatement(container)) { - var varDeclList = ts.getAncestor(symbol.valueDeclaration, 254 /* VariableDeclarationList */); + var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* VariableDeclarationList */); if (varDeclList && varDeclList.parent === container) { var part = getPartOfForStatementContainingNode(node.parent, container); if (part) { @@ -70487,7 +71554,7 @@ var ts; // mark variables that are declared in loop initializer and reassigned inside the body of ForStatement. // if body of ForStatement will be converted to function then we'll need a extra machinery to propagate reassigned values back. if (ts.isForStatement(container)) { - var varDeclList = ts.getAncestor(symbol.valueDeclaration, 254 /* VariableDeclarationList */); + var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* VariableDeclarationList */); if (varDeclList && varDeclList.parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 4194304 /* NeedsLoopOutParameter */; } @@ -70506,7 +71573,7 @@ var ts; function isAssignedInBodyOfForStatement(node, container) { // skip parenthesized nodes var current = node; - while (current.parent.kind === 211 /* ParenthesizedExpression */) { + while (current.parent.kind === 212 /* ParenthesizedExpression */) { current = current.parent; } // check if node is used as LHS in some assignment expression @@ -70514,7 +71581,7 @@ var ts; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 218 /* PrefixUnaryExpression */ || current.parent.kind === 219 /* PostfixUnaryExpression */)) { + else if ((current.parent.kind === 219 /* PrefixUnaryExpression */ || current.parent.kind === 220 /* PostfixUnaryExpression */)) { var expr = current.parent; isAssigned = expr.operator === 45 /* PlusPlusToken */ || expr.operator === 46 /* MinusMinusToken */; } @@ -70527,7 +71594,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 166 /* PropertyDeclaration */ || container.kind === 170 /* Constructor */) { + if (container.kind === 167 /* PropertyDeclaration */ || container.kind === 171 /* Constructor */) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4 /* CaptureThis */; } @@ -70574,31 +71641,31 @@ var ts; // tell whether 'this' needs to be captured. var container = ts.getThisContainer(node, /* includeArrowFunctions */ true); var capturedByArrowFunction = false; - if (container.kind === 170 /* Constructor */) { + if (container.kind === 171 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } // Now skip arrow functions to get the "real" owner of 'this'. - if (container.kind === 213 /* ArrowFunction */) { + if (container.kind === 214 /* ArrowFunction */) { container = ts.getThisContainer(container, /* includeArrowFunctions */ false); capturedByArrowFunction = true; } checkThisInStaticClassFieldInitializerInDecoratedClass(node, container); switch (container.kind) { - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 170 /* Constructor */: + case 171 /* Constructor */: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -70686,7 +71753,7 @@ var ts; } function getClassNameFromPrototypeMethod(container) { // Check if it's the RHS of a x.prototype.y = function [name]() { .... } - if (container.kind === 212 /* FunctionExpression */ && + if (container.kind === 213 /* FunctionExpression */ && ts.isBinaryExpression(container.parent) && ts.getAssignmentDeclarationKind(container.parent) === 3 /* PrototypeProperty */) { // Get the 'x' of 'x.prototype.y = container' @@ -70696,16 +71763,16 @@ var ts; .expression; // x } // x.prototype = { method() { } } - else if (container.kind === 168 /* MethodDeclaration */ && - container.parent.kind === 204 /* ObjectLiteralExpression */ && + else if (container.kind === 169 /* MethodDeclaration */ && + container.parent.kind === 205 /* ObjectLiteralExpression */ && ts.isBinaryExpression(container.parent.parent) && ts.getAssignmentDeclarationKind(container.parent.parent) === 6 /* Prototype */) { return container.parent.parent.left.expression; } // x.prototype = { method: function() { } } - else if (container.kind === 212 /* FunctionExpression */ && - container.parent.kind === 294 /* PropertyAssignment */ && - container.parent.parent.kind === 204 /* ObjectLiteralExpression */ && + else if (container.kind === 213 /* FunctionExpression */ && + container.parent.kind === 296 /* PropertyAssignment */ && + container.parent.parent.kind === 205 /* ObjectLiteralExpression */ && ts.isBinaryExpression(container.parent.parent.parent) && ts.getAssignmentDeclarationKind(container.parent.parent.parent) === 6 /* Prototype */) { return container.parent.parent.parent.left.expression; @@ -70713,7 +71780,7 @@ var ts; // Object.defineProperty(x, "method", { value: function() { } }); // Object.defineProperty(x, "method", { set: (x: () => void) => void }); // Object.defineProperty(x, "method", { get: () => function() { }) }); - else if (container.kind === 212 /* FunctionExpression */ && + else if (container.kind === 213 /* FunctionExpression */ && ts.isPropertyAssignment(container.parent) && ts.isIdentifier(container.parent.name) && (container.parent.name.escapedText === "value" || container.parent.name.escapedText === "get" || container.parent.name.escapedText === "set") && @@ -70738,7 +71805,7 @@ var ts; } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 315 /* JSDocFunctionType */) { + if (jsdocType && jsdocType.kind === 317 /* JSDocFunctionType */) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -70752,16 +71819,16 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return ts.isFunctionLikeDeclaration(n) ? "quit" : n.kind === 163 /* Parameter */ && n.parent === constructorDecl; }); + return !!ts.findAncestor(node, function (n) { return ts.isFunctionLikeDeclaration(n) ? "quit" : n.kind === 164 /* Parameter */ && n.parent === constructorDecl; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 207 /* CallExpression */ && node.parent.expression === node; + var isCallExpression = node.parent.kind === 208 /* CallExpression */ && node.parent.expression === node; var immediateContainer = ts.getSuperContainer(node, /*stopOnFunctions*/ true); var container = immediateContainer; var needToCaptureLexicalThis = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { - while (container && container.kind === 213 /* ArrowFunction */) { + while (container && container.kind === 214 /* ArrowFunction */) { container = ts.getSuperContainer(container, /*stopOnFunctions*/ true); needToCaptureLexicalThis = languageVersion < 2 /* ES2015 */; } @@ -70774,14 +71841,14 @@ var ts; // class B { // [super.foo()]() {} // } - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 161 /* ComputedPropertyName */; }); - if (current && current.kind === 161 /* ComputedPropertyName */) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 162 /* ComputedPropertyName */; }); + if (current && current.kind === 162 /* ComputedPropertyName */) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 204 /* ObjectLiteralExpression */)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 205 /* ObjectLiteralExpression */)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { @@ -70789,7 +71856,7 @@ var ts; } return errorType; } - if (!isCallExpression && immediateContainer.kind === 170 /* Constructor */) { + if (!isCallExpression && immediateContainer.kind === 171 /* Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.isStatic(container) || isCallExpression) { @@ -70870,7 +71937,7 @@ var ts; // as a call expression cannot be used as the target of a destructuring assignment while a property access can. // // For element access expressions (`super[x]`), we emit a generic helper that forwards the element access in both situations. - if (container.kind === 168 /* MethodDeclaration */ && ts.hasSyntacticModifier(container, 256 /* Async */)) { + if (container.kind === 169 /* MethodDeclaration */ && ts.hasSyntacticModifier(container, 256 /* Async */)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { getNodeLinks(container).flags |= 4096 /* AsyncMethodWithSuperBinding */; } @@ -70884,7 +71951,7 @@ var ts; // in this case they should also use correct lexical this captureLexicalThis(node.parent, container); } - if (container.parent.kind === 204 /* ObjectLiteralExpression */) { + if (container.parent.kind === 205 /* ObjectLiteralExpression */) { if (languageVersion < 2 /* ES2015 */) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); return errorType; @@ -70905,7 +71972,7 @@ var ts; if (!baseClassType) { return errorType; } - if (container.kind === 170 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 171 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { // issue custom error message for super property access in constructor arguments (to be aligned with old compiler) error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); return errorType; @@ -70920,7 +71987,7 @@ var ts; if (isCallExpression) { // TS 1.0 SPEC (April 2014): 4.8.1 // Super calls are only permitted in constructors of derived classes - return container.kind === 170 /* Constructor */; + return container.kind === 171 /* Constructor */; } else { // TS 1.0 SPEC (April 2014) @@ -70928,23 +71995,23 @@ var ts; // - In a constructor, instance member function, instance member accessor, or instance member variable initializer where this references a derived class instance // - In a static member function or static member accessor // topmost container must be something that is directly nested in the class declaration\object literal expression - if (ts.isClassLike(container.parent) || container.parent.kind === 204 /* ObjectLiteralExpression */) { + if (ts.isClassLike(container.parent) || container.parent.kind === 205 /* ObjectLiteralExpression */) { if (ts.isStatic(container)) { - return container.kind === 168 /* MethodDeclaration */ || - container.kind === 167 /* MethodSignature */ || - container.kind === 171 /* GetAccessor */ || - container.kind === 172 /* SetAccessor */ || - container.kind === 166 /* PropertyDeclaration */ || - container.kind === 169 /* ClassStaticBlockDeclaration */; + return container.kind === 169 /* MethodDeclaration */ || + container.kind === 168 /* MethodSignature */ || + container.kind === 172 /* GetAccessor */ || + container.kind === 173 /* SetAccessor */ || + container.kind === 167 /* PropertyDeclaration */ || + container.kind === 170 /* ClassStaticBlockDeclaration */; } else { - return container.kind === 168 /* MethodDeclaration */ || - container.kind === 167 /* MethodSignature */ || - container.kind === 171 /* GetAccessor */ || - container.kind === 172 /* SetAccessor */ || - container.kind === 166 /* PropertyDeclaration */ || - container.kind === 165 /* PropertySignature */ || - container.kind === 170 /* Constructor */; + return container.kind === 169 /* MethodDeclaration */ || + container.kind === 168 /* MethodSignature */ || + container.kind === 172 /* GetAccessor */ || + container.kind === 173 /* SetAccessor */ || + container.kind === 167 /* PropertyDeclaration */ || + container.kind === 166 /* PropertySignature */ || + container.kind === 171 /* Constructor */; } } } @@ -70952,10 +72019,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 168 /* MethodDeclaration */ || - func.kind === 171 /* GetAccessor */ || - func.kind === 172 /* SetAccessor */) && func.parent.kind === 204 /* ObjectLiteralExpression */ ? func.parent : - func.kind === 212 /* FunctionExpression */ && func.parent.kind === 294 /* PropertyAssignment */ ? func.parent.parent : + return (func.kind === 169 /* MethodDeclaration */ || + func.kind === 172 /* GetAccessor */ || + func.kind === 173 /* SetAccessor */) && func.parent.kind === 205 /* ObjectLiteralExpression */ ? func.parent : + func.kind === 213 /* FunctionExpression */ && func.parent.kind === 296 /* PropertyAssignment */ ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -70967,7 +72034,7 @@ var ts; }); } function getContextualThisParameterType(func) { - if (func.kind === 213 /* ArrowFunction */) { + if (func.kind === 214 /* ArrowFunction */) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -70994,7 +72061,7 @@ var ts; if (thisType) { return instantiateType(thisType, getMapperFromContext(getInferenceContext(containingLiteral))); } - if (literal.parent.kind !== 294 /* PropertyAssignment */) { + if (literal.parent.kind !== 296 /* PropertyAssignment */) { break; } literal = literal.parent.parent; @@ -71008,7 +72075,7 @@ var ts; // In an assignment of the form 'obj.xxx = function(...)' or 'obj[xxx] = function(...)', the // contextual type for 'this' is 'obj'. var parent = ts.walkUpParenthesizedExpressions(func.parent); - if (parent.kind === 220 /* BinaryExpression */ && parent.operatorToken.kind === 63 /* EqualsToken */) { + if (parent.kind === 221 /* BinaryExpression */ && parent.operatorToken.kind === 63 /* EqualsToken */) { var target = parent.left; if (ts.isAccessExpression(target)) { var expression = target.expression; @@ -71061,11 +72128,11 @@ var ts; return getTypeFromTypeNode(typeNode); } switch (declaration.kind) { - case 163 /* Parameter */: + case 164 /* Parameter */: return getContextuallyTypedParameterType(declaration); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return getContextualTypeForBindingElement(declaration); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: if (ts.isStatic(declaration)) { return getContextualTypeForStaticPropertyDeclaration(declaration); } @@ -71076,10 +72143,10 @@ var ts; var parent = declaration.parent.parent; var name = declaration.propertyName || declaration.name; var parentType = getContextualTypeForVariableLikeDeclaration(parent) || - parent.kind !== 202 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 32 /* RestBindingElement */ : 0 /* Normal */); + parent.kind !== 203 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */); if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name)) return undefined; - if (parent.name.kind === 201 /* ArrayBindingPattern */) { + if (parent.name.kind === 202 /* ArrayBindingPattern */) { var index = ts.indexOfNode(declaration.parent.elements, declaration); if (index < 0) return undefined; @@ -71229,7 +72296,7 @@ var ts; getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 209 /* TaggedTemplateExpression */) { + if (template.parent.kind === 210 /* TaggedTemplateExpression */) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -71392,7 +72459,7 @@ var ts; function getTypeOfPropertyOfContextualType(type, name, nameType) { return mapType(type, function (t) { var _a; - if (isGenericMappedType(t)) { + if (isGenericMappedType(t) && !t.declaration.nameType) { var constraint = getConstraintTypeFromMappedType(t); var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint; var propertyNameType = nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)); @@ -71421,7 +72488,7 @@ var ts; // exists. Otherwise, it is the type of the string index signature in T, if one exists. function getContextualTypeForObjectLiteralMethod(node, contextFlags) { ts.Debug.assert(ts.isObjectLiteralMethod(node)); - if (node.flags & 16777216 /* InWithStatement */) { + if (node.flags & 33554432 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } @@ -71519,21 +72586,21 @@ var ts; case 95 /* FalseKeyword */: case 104 /* NullKeyword */: case 79 /* Identifier */: - case 152 /* UndefinedKeyword */: + case 153 /* UndefinedKeyword */: return true; - case 205 /* PropertyAccessExpression */: - case 211 /* ParenthesizedExpression */: + case 206 /* PropertyAccessExpression */: + case 212 /* ParenthesizedExpression */: return isPossiblyDiscriminantValue(node.expression); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return !node.expression || isPossiblyDiscriminantValue(node.expression); } return false; } function discriminateContextualTypeByObjectMembers(node, contextualType) { - return getMatchingUnionConstituentForObjectLiteral(contextualType, node) || discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 294 /* PropertyAssignment */ && isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName); }), function (prop) { return [function () { return getContextFreeTypeOfExpression(prop.initializer); }, prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); + return getMatchingUnionConstituentForObjectLiteral(contextualType, node) || discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 296 /* PropertyAssignment */ && isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName); }), function (prop) { return [function () { return getContextFreeTypeOfExpression(prop.initializer); }, prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); } function discriminateContextualTypeByJSXAttributes(node, contextualType) { - return discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 284 /* JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer)); }), function (prop) { return [!prop.initializer ? (function () { return trueType; }) : (function () { return getContextFreeTypeOfExpression(prop.initializer); }), prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); + return discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 285 /* JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer)); }), function (prop) { return [!prop.initializer ? (function () { return trueType; }) : (function () { return getContextFreeTypeOfExpression(prop.initializer); }), prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); } // Return the contextual type for a given expression node. During overload resolution, a contextual type may temporarily // be "pushed" onto a node using the contextualType property. @@ -71563,9 +72630,14 @@ var ts; return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper); } // For other purposes (e.g. determining whether to produce literal types) we only - // incorporate inferences made from the return type in a function call. + // incorporate inferences made from the return type in a function call. We remove + // the 'boolean' type from the contextual type such that contextually typed boolean + // literals actually end up widening to 'boolean' (see #48363). if (inferenceContext.returnMapper) { - return instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper); + var type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper); + return type.flags & 1048576 /* Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ? + filterType(type, function (t) { return t !== regularFalseType && t !== regularTrueType; }) : + type; } } } @@ -71604,7 +72676,7 @@ var ts; * @returns the contextual type of an expression. */ function getContextualType(node, contextFlags) { - if (node.flags & 16777216 /* InWithStatement */) { + if (node.flags & 33554432 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } @@ -71613,58 +72685,60 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 202 /* BindingElement */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 203 /* BindingElement */: return getContextualTypeForInitializerExpression(node, contextFlags); - case 213 /* ArrowFunction */: - case 246 /* ReturnStatement */: + case 214 /* ArrowFunction */: + case 247 /* ReturnStatement */: return getContextualTypeForReturnExpression(node); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return getContextualTypeForYieldOperand(parent); - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: return getContextualTypeForAwaitOperand(parent, contextFlags); - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: return getContextualTypeForArgument(parent, node); - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: return ts.isConstTypeReference(parent.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(parent.type); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return getContextualTypeForBinaryOperand(node, contextFlags); - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return getContextualTypeForObjectLiteralElement(parent, contextFlags); - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: return getContextualType(parent.parent, contextFlags); - case 203 /* ArrayLiteralExpression */: { + case 204 /* ArrayLiteralExpression */: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral, contextFlags); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return getContextualTypeForConditionalOperand(node, contextFlags); - case 232 /* TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 222 /* TemplateExpression */); + case 233 /* TemplateSpan */: + ts.Debug.assert(parent.parent.kind === 223 /* TemplateExpression */); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 211 /* ParenthesizedExpression */: { + case 212 /* ParenthesizedExpression */: { // Like in `checkParenthesizedExpression`, an `/** @type {xyz} */` comment before a parenthesized expression acts as a type cast. var tag = ts.isInJSFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return !tag ? getContextualType(parent, contextFlags) : ts.isJSDocTypeTag(tag) && ts.isConstTypeReference(tag.typeExpression.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(tag.typeExpression.type); } - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: return getContextualType(parent, contextFlags); - case 287 /* JsxExpression */: + case 271 /* ExportAssignment */: + return tryGetTypeFromEffectiveTypeNode(parent); + case 288 /* JsxExpression */: return getContextualTypeForJsxExpression(parent); - case 284 /* JsxAttribute */: - case 286 /* JsxSpreadAttribute */: + case 285 /* JsxAttribute */: + case 287 /* JsxSpreadAttribute */: return getContextualTypeForJsxAttribute(parent); - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent, contextFlags); } return undefined; @@ -71847,7 +72921,7 @@ var ts; !leftName ? rightName : !rightName ? leftName : undefined; - var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i)); + var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i); paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType; params[i] = paramSymbol; } @@ -71915,7 +72989,7 @@ var ts; // all identical ignoring their return type, the result is same signature but with return type as // union type of return types from these signatures function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 168 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var typeTagSignature = getSignatureOfTypeTag(node); if (typeTagSignature) { return typeTagSignature; @@ -71963,8 +73037,8 @@ var ts; return node.isSpread ? getIndexedAccessType(node.type, numberType) : node.type; } function hasDefaultValue(node) { - return (node.kind === 202 /* BindingElement */ && !!node.initializer) || - (node.kind === 220 /* BinaryExpression */ && node.operatorToken.kind === 63 /* EqualsToken */); + return (node.kind === 203 /* BindingElement */ && !!node.initializer) || + (node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 63 /* EqualsToken */); } function checkArrayLiteral(node, checkMode, forceTuple) { var elements = node.elements; @@ -71977,7 +73051,7 @@ var ts; var hasOmittedExpression = false; for (var i = 0; i < elementCount; i++) { var e = elements[i]; - if (e.kind === 224 /* SpreadElement */) { + if (e.kind === 225 /* SpreadElement */) { if (languageVersion < 2 /* ES2015 */) { checkExternalEmitHelpers(e, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */); } @@ -72010,7 +73084,7 @@ var ts; elementFlags.push(4 /* Rest */); } } - else if (exactOptionalPropertyTypes && e.kind === 226 /* OmittedExpression */) { + else if (exactOptionalPropertyTypes && e.kind === 227 /* OmittedExpression */) { hasOmittedExpression = true; elementTypes.push(missingType); elementFlags.push(2 /* Optional */); @@ -72020,6 +73094,11 @@ var ts; var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType, forceTuple); elementTypes.push(addOptionality(type, /*isProperty*/ true, hasOmittedExpression)); elementFlags.push(hasOmittedExpression ? 2 /* Optional */ : 1 /* Required */); + if (contextualType && someType(contextualType, isTupleLikeType) && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && isContextSensitive(e)) { + var inferenceContext = getInferenceContext(node); + ts.Debug.assert(inferenceContext); // In CheckMode.Inferential we should always have an inference context + addIntraExpressionInferenceSite(inferenceContext, e, type); + } } } if (inDestructuringPattern) { @@ -72039,13 +73118,13 @@ var ts; var literalType = type.literalType; if (!literalType) { literalType = type.literalType = cloneTypeReference(type); - literalType.objectFlags |= 32768 /* ArrayLiteral */ | 262144 /* ContainsObjectOrArrayLiteral */; + literalType.objectFlags |= 16384 /* ArrayLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; } return literalType; } function isNumericName(name) { switch (name.kind) { - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return isNumericComputedName(name); case 79 /* Identifier */: return ts.isNumericLiteralName(name.escapedText); @@ -72066,7 +73145,7 @@ var ts; if (!links.resolvedType) { if ((ts.isTypeLiteralNode(node.parent.parent) || ts.isClassLike(node.parent.parent) || ts.isInterfaceDeclaration(node.parent.parent)) && ts.isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 101 /* InKeyword */ - && node.parent.kind !== 171 /* GetAccessor */ && node.parent.kind !== 172 /* SetAccessor */) { + && node.parent.kind !== 172 /* GetAccessor */ && node.parent.kind !== 173 /* SetAccessor */) { return links.resolvedType = errorType; } links.resolvedType = checkExpression(node.expression); @@ -72139,7 +73218,7 @@ var ts; var spread = emptyObjectType; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 200 /* ObjectBindingPattern */ || contextualType.pattern.kind === 204 /* ObjectLiteralExpression */); + (contextualType.pattern.kind === 201 /* ObjectBindingPattern */ || contextualType.pattern.kind === 205 /* ObjectLiteralExpression */); var inConstContext = isConstContext(node); var checkFlags = inConstContext ? 8 /* Readonly */ : 0; var isInJavascript = ts.isInJSFile(node) && !ts.isInJsonFile(node); @@ -72163,16 +73242,16 @@ var ts; for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var memberDecl = _c[_b]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 161 /* ComputedPropertyName */ ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 162 /* ComputedPropertyName */ ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 294 /* PropertyAssignment */ || - memberDecl.kind === 295 /* ShorthandPropertyAssignment */ || + if (memberDecl.kind === 296 /* PropertyAssignment */ || + memberDecl.kind === 297 /* ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 294 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : + var type = memberDecl.kind === 296 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : // avoid resolving the left side of the ShorthandPropertyAssignment outside of the destructuring // for error recovery purposes. For example, if a user wrote `{ a = 100 }` instead of `{ a: 100 }`. // we don't want to say "could not find 'a'". - memberDecl.kind === 295 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : + memberDecl.kind === 297 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJavascript) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -72184,7 +73263,7 @@ var ts; checkTypeAssignableTo(type, getTypeFromTypeNode(enumTag.typeExpression), memberDecl); } } - objectFlags |= ts.getObjectFlags(type) & 917504 /* PropagatingFlags */; + objectFlags |= ts.getObjectFlags(type) & 458752 /* PropagatingFlags */; var nameType = computedNameType && isTypeUsableAsPropertyName(computedNameType) ? computedNameType : undefined; var prop = nameType ? createSymbol(4 /* Property */ | member.flags, getPropertyNameFromType(nameType), checkFlags | 4096 /* Late */) : @@ -72195,8 +73274,8 @@ var ts; if (inDestructuringPattern) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - var isOptional = (memberDecl.kind === 294 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 295 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 296 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 297 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216 /* Optional */; } @@ -72221,8 +73300,15 @@ var ts; prop.target = member; member = prop; allPropertiesTable === null || allPropertiesTable === void 0 ? void 0 : allPropertiesTable.set(prop.escapedName, prop); + if (contextualType && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && + (memberDecl.kind === 296 /* PropertyAssignment */ || memberDecl.kind === 169 /* MethodDeclaration */) && isContextSensitive(memberDecl)) { + var inferenceContext = getInferenceContext(node); + ts.Debug.assert(inferenceContext); // In CheckMode.Inferential we should always have an inference context + var inferenceNode = memberDecl.kind === 296 /* PropertyAssignment */ ? memberDecl.initializer : memberDecl; + addIntraExpressionInferenceSite(inferenceContext, inferenceNode, type); + } } - else if (memberDecl.kind === 296 /* SpreadAssignment */) { + else if (memberDecl.kind === 298 /* SpreadAssignment */) { if (languageVersion < 2 /* ES2015 */) { checkExternalEmitHelpers(memberDecl, 2 /* Assign */); } @@ -72258,7 +73344,7 @@ var ts; // an ordinary function declaration(section 6.1) with no parameters. // A set accessor declaration is processed in the same manner // as an ordinary function declaration with a single parameter and a Void return type. - ts.Debug.assert(memberDecl.kind === 171 /* GetAccessor */ || memberDecl.kind === 172 /* SetAccessor */); + ts.Debug.assert(memberDecl.kind === 172 /* GetAccessor */ || memberDecl.kind === 173 /* SetAccessor */); checkNodeDeferred(memberDecl); } if (computedNameType && !(computedNameType.flags & 8576 /* StringOrNumberLiteralOrUnique */)) { @@ -72286,7 +73372,7 @@ var ts; // type with those properties for which the binding pattern specifies a default value. // If the object literal is spread into another object literal, skip this step and let the top-level object // literal handle it instead. - if (contextualTypeHasPattern && node.parent.kind !== 296 /* SpreadAssignment */) { + if (contextualTypeHasPattern && node.parent.kind !== 298 /* SpreadAssignment */) { for (var _d = 0, _e = getPropertiesOfType(contextualType); _d < _e.length; _d++) { var prop = _e[_d]; if (!propertiesTable.get(prop.escapedName) && !getPropertyOfType(spread, prop.escapedName)) { @@ -72322,9 +73408,9 @@ var ts; if (hasComputedSymbolProperty) indexInfos.push(getObjectLiteralIndexInfo(node, offset, propertiesArray, esSymbolType)); var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, indexInfos); - result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 262144 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; if (isJSObjectLiteral) { - result.objectFlags |= 8192 /* JSLiteral */; + result.objectFlags |= 4096 /* JSLiteral */; } if (patternWithComputedProperties) { result.objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */; @@ -72415,7 +73501,7 @@ var ts; var member = attributeDecl.symbol; if (ts.isJsxAttribute(attributeDecl)) { var exprType = checkJsxAttribute(attributeDecl, checkMode); - objectFlags |= ts.getObjectFlags(exprType) & 917504 /* PropagatingFlags */; + objectFlags |= ts.getObjectFlags(exprType) & 458752 /* PropagatingFlags */; var attributeSymbol = createSymbol(4 /* Property */ | member.flags, member.escapedName); attributeSymbol.declarations = member.declarations; attributeSymbol.parent = member.parent; @@ -72431,7 +73517,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 286 /* JsxSpreadAttribute */); + ts.Debug.assert(attributeDecl.kind === 287 /* JsxSpreadAttribute */); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, objectFlags, /*readonly*/ false); attributesTable = ts.createSymbolTable(); @@ -72457,7 +73543,7 @@ var ts; } } // Handle children attribute - var parent = openingLikeElement.parent.kind === 277 /* JsxElement */ ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 278 /* JsxElement */ ? openingLikeElement.parent : undefined; // We have to check that openingElement of the parent is the one we are visiting as this may not be true for selfClosingElement if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); @@ -72499,7 +73585,7 @@ var ts; function createJsxAttributesType() { objectFlags |= freshObjectLiteralFlag; var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, ts.emptyArray); - result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 262144 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; return result; } } @@ -72514,7 +73600,7 @@ var ts; childrenTypes.push(stringType); } } - else if (child.kind === 287 /* JsxExpression */ && !child.expression) { + else if (child.kind === 288 /* JsxExpression */ && !child.expression) { continue; // empty jsx expressions don't *really* count as present children } else { @@ -72946,9 +74032,9 @@ var ts; function checkPropertyAccessibility(node, isSuper, writing, type, prop, reportError) { if (reportError === void 0) { reportError = true; } var errorNode = !reportError ? undefined : - node.kind === 160 /* QualifiedName */ ? node.right : - node.kind === 199 /* ImportType */ ? node : - node.kind === 202 /* BindingElement */ && node.propertyName ? node.propertyName : node.name; + node.kind === 161 /* QualifiedName */ ? node.right : + node.kind === 200 /* ImportType */ ? node : + node.kind === 203 /* BindingElement */ && node.propertyName ? node.propertyName : node.name; return checkPropertyAccessibilityAtLocation(node, isSuper, writing, type, prop, errorNode); } /** @@ -73026,21 +74112,20 @@ var ts; // of the property as base classes var enclosingClass = forEachEnclosingClass(location, function (enclosingDeclaration) { var enclosingClass = getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingDeclaration)); - return isClassDerivedFromDeclaringClasses(enclosingClass, prop, writing) ? enclosingClass : undefined; + return isClassDerivedFromDeclaringClasses(enclosingClass, prop, writing); }); // A protected property is accessible if the property is within the declaring class or classes derived from it if (!enclosingClass) { // allow PropertyAccessibility if context is in function with this parameter - // static member access is disallow - var thisParameter = void 0; - if (flags & 32 /* Static */ || !(thisParameter = getThisParameterFromNodeContext(location)) || !thisParameter.type) { + // static member access is disallowed + enclosingClass = getEnclosingClassFromThisParameter(location); + enclosingClass = enclosingClass && isClassDerivedFromDeclaringClasses(enclosingClass, prop, writing); + if (flags & 32 /* Static */ || !enclosingClass) { if (errorNode) { error(errorNode, ts.Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(getDeclaringClass(prop) || containingType)); } return false; } - var thisType = getTypeFromTypeNode(thisParameter.type); - enclosingClass = ((thisType.flags & 262144 /* TypeParameter */) ? getConstraintOfTypeParameter(thisType) : thisType).target; } // No further restrictions for static properties if (flags & 32 /* Static */) { @@ -73058,6 +74143,17 @@ var ts; } return true; } + function getEnclosingClassFromThisParameter(node) { + var thisParameter = getThisParameterFromNodeContext(node); + var thisType = (thisParameter === null || thisParameter === void 0 ? void 0 : thisParameter.type) && getTypeFromTypeNode(thisParameter.type); + if (thisType && thisType.flags & 262144 /* TypeParameter */) { + thisType = getConstraintOfTypeParameter(thisType); + } + if (thisType && ts.getObjectFlags(thisType) & (3 /* ClassOrInterface */ | 4 /* Reference */)) { + return getTargetType(thisType); + } + return undefined; + } function getThisParameterFromNodeContext(node) { var thisContainer = ts.getThisContainer(node, /* includeArrowFunctions */ false); return thisContainer && ts.isFunctionLike(thisContainer) ? ts.getThisParameter(thisContainer) : undefined; @@ -73123,7 +74219,7 @@ var ts; return checkPropertyAccessExpressionOrQualifiedName(node, node.left, leftType, node.right, checkMode); } function isMethodAccessForCall(node) { - while (node.parent.kind === 211 /* ParenthesizedExpression */) { + while (node.parent.kind === 212 /* ParenthesizedExpression */) { node = node.parent; } return ts.isCallOrNewExpression(node.parent) && node.parent.expression === node; @@ -73303,6 +74399,9 @@ var ts; if (compilerOptions.noPropertyAccessFromIndexSignature && ts.isPropertyAccessExpression(node)) { error(right, ts.Diagnostics.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0, ts.unescapeLeadingUnderscores(right.escapedText)); } + if (indexInfo.declaration && ts.getCombinedNodeFlags(indexInfo.declaration) & 268435456 /* Deprecated */) { + addDeprecatedSuggestion(right, [indexInfo.declaration], right.escapedText); + } } else { if (isDeprecatedSymbol(prop) && isUncalledFunctionReference(node, prop) && prop.declarations) { @@ -73368,7 +74467,7 @@ var ts; if (declaration && isPropertyWithoutInitializer(declaration)) { if (!ts.isStatic(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 170 /* Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 8388608 /* Ambient */)) { + if (flowContainer.kind === 171 /* Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 16777216 /* Ambient */)) { assumeUninitialized = true; } } @@ -73399,12 +74498,13 @@ var ts; && !isOptionalPropertyDeclaration(valueDeclaration) && !(ts.isAccessExpression(node) && ts.isAccessExpression(node.expression)) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right) + && !(ts.isMethodDeclaration(valueDeclaration) && ts.getCombinedModifierFlags(valueDeclaration) & 32 /* Static */) && (compilerOptions.useDefineForClassFields || !isPropertyDeclaredInAncestorClass(prop))) { diagnosticMessage = error(right, ts.Diagnostics.Property_0_is_used_before_its_initialization, declarationName); } - else if (valueDeclaration.kind === 256 /* ClassDeclaration */ && - node.parent.kind !== 177 /* TypeReference */ && - !(valueDeclaration.flags & 8388608 /* Ambient */) && + else if (valueDeclaration.kind === 257 /* ClassDeclaration */ && + node.parent.kind !== 178 /* TypeReference */ && + !(valueDeclaration.flags & 16777216 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { diagnosticMessage = error(right, ts.Diagnostics.Class_0_used_before_its_declaration, declarationName); } @@ -73415,25 +74515,25 @@ var ts; function isInPropertyInitializerOrClassStaticBlock(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return true; - case 294 /* PropertyAssignment */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 296 /* SpreadAssignment */: - case 161 /* ComputedPropertyName */: - case 232 /* TemplateSpan */: - case 287 /* JsxExpression */: - case 284 /* JsxAttribute */: - case 285 /* JsxAttributes */: - case 286 /* JsxSpreadAttribute */: - case 279 /* JsxOpeningElement */: - case 227 /* ExpressionWithTypeArguments */: - case 290 /* HeritageClause */: + case 296 /* PropertyAssignment */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 298 /* SpreadAssignment */: + case 162 /* ComputedPropertyName */: + case 233 /* TemplateSpan */: + case 288 /* JsxExpression */: + case 285 /* JsxAttribute */: + case 286 /* JsxAttributes */: + case 287 /* JsxSpreadAttribute */: + case 280 /* JsxOpeningElement */: + case 228 /* ExpressionWithTypeArguments */: + case 291 /* HeritageClause */: return false; - case 213 /* ArrowFunction */: - case 237 /* ExpressionStatement */: + case 214 /* ArrowFunction */: + case 238 /* ExpressionStatement */: return ts.isBlock(node.parent) && ts.isClassStaticBlockDeclaration(node.parent.parent) ? true : "quit"; default: return ts.isExpressionNode(node) ? false : "quit"; @@ -73708,11 +74808,11 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return isValidPropertyAccessWithType(node, node.expression.kind === 106 /* SuperKeyword */, propertyName, getWidenedType(checkExpression(node.expression))); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return isValidPropertyAccessWithType(node, /*isSuper*/ false, propertyName, getWidenedType(checkExpression(node.left))); - case 199 /* ImportType */: + case 200 /* ImportType */: return isValidPropertyAccessWithType(node, /*isSuper*/ false, propertyName, getTypeFromTypeNode(node)); } } @@ -73727,7 +74827,7 @@ var ts; * @param property the accessed property's symbol. */ function isValidPropertyAccessForCompletions(node, type, property) { - return isPropertyAccessible(node, node.kind === 205 /* PropertyAccessExpression */ && node.expression.kind === 106 /* SuperKeyword */, + return isPropertyAccessible(node, node.kind === 206 /* PropertyAccessExpression */ && node.expression.kind === 106 /* SuperKeyword */, /* isWrite */ false, type, property); // Previously we validated the 'this' type of methods but this adversely affected performance. See #31377 for more context. } @@ -73767,7 +74867,7 @@ var ts; */ function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 254 /* VariableDeclarationList */) { + if (initializer.kind === 255 /* VariableDeclarationList */) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -73796,7 +74896,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 242 /* ForInStatement */ && + if (node.kind === 243 /* ForInStatement */ && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -73845,13 +74945,13 @@ var ts; // This gets us diagnostics for the type arguments and marks them as referenced. ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 209 /* TaggedTemplateExpression */) { + if (node.kind === 210 /* TaggedTemplateExpression */) { checkExpression(node.template); } else if (ts.isJsxOpeningLikeElement(node)) { checkExpression(node.attributes); } - else if (node.kind !== 164 /* Decorator */) { + else if (node.kind !== 165 /* Decorator */) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -73915,7 +75015,7 @@ var ts; } } function isSpreadArgument(arg) { - return !!arg && (arg.kind === 224 /* SpreadElement */ || arg.kind === 231 /* SyntheticExpression */ && arg.isSpread); + return !!arg && (arg.kind === 225 /* SpreadElement */ || arg.kind === 232 /* SyntheticExpression */ && arg.isSpread); } function getSpreadArgumentIndex(args) { return ts.findIndex(args, isSpreadArgument); @@ -73932,9 +75032,9 @@ var ts; var callIsIncomplete = false; // In incomplete call we want to be lenient when we have too few arguments var effectiveParameterCount = getParameterCount(signature); var effectiveMinimumArguments = getMinArgumentCount(signature); - if (node.kind === 209 /* TaggedTemplateExpression */) { + if (node.kind === 210 /* TaggedTemplateExpression */) { argCount = args.length; - if (node.template.kind === 222 /* TemplateExpression */) { + if (node.template.kind === 223 /* TemplateExpression */) { // If a tagged template expression lacks a tail literal, the call is incomplete. // Specifically, a template only can end in a TemplateTail or a Missing literal. var lastSpan = ts.last(node.template.templateSpans); // we should always have at least one span. @@ -73949,7 +75049,7 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 164 /* Decorator */) { + else if (node.kind === 165 /* Decorator */) { argCount = getDecoratorArgumentCount(node, signature); } else if (ts.isJsxOpeningLikeElement(node)) { @@ -73963,7 +75063,7 @@ var ts; } else if (!node.arguments) { // This only happens when we have something of the form: 'new C' - ts.Debug.assert(node.kind === 208 /* NewExpression */); + ts.Debug.assert(node.kind === 209 /* NewExpression */); return getMinArgumentCount(signature) === 0; } else { @@ -74066,37 +75166,39 @@ var ts; // example, given a 'function wrap(cb: (x: T) => U): (x: T) => U' and a call expression // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. - if (node.kind !== 164 /* Decorator */) { + if (node.kind !== 165 /* Decorator */) { var contextualType = getContextualType(node, ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }) ? 8 /* SkipBindingPatterns */ : 0 /* None */); if (contextualType) { - // We clone the inference context to avoid disturbing a resolution in progress for an - // outer call expression. Effectively we just want a snapshot of whatever has been - // inferred for any outer call expression so far. - var outerContext = getInferenceContext(node); - var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1 /* NoDefault */)); - var instantiatedType = instantiateType(contextualType, outerMapper); - // If the contextual type is a generic function type with a single call signature, we - // instantiate the type with its own type parameters and type arguments. This ensures that - // the type parameters are not erased to type any during type inference such that they can - // be inferred as actual types from the contextual type. For example: - // declare function arrayMap(f: (x: T) => U): (a: T[]) => U[]; - // const boxElements: (a: A[]) => { value: A }[] = arrayMap(value => ({ value })); - // Above, the type of the 'value' parameter is inferred to be 'A'. - var contextualSignature = getSingleCallSignature(instantiatedType); - var inferenceSourceType = contextualSignature && contextualSignature.typeParameters ? - getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(contextualSignature, contextualSignature.typeParameters)) : - instantiatedType; var inferenceTargetType = getReturnTypeOfSignature(signature); - // Inferences made from return types have lower priority than all other inferences. - inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* ReturnType */); - // Create a type mapper for instantiating generic contextual types using the inferences made - // from the return type. We need a separate inference pass here because (a) instantiation of - // the source type uses the outer context's return mapper (which excludes inferences made from - // outer arguments), and (b) we don't want any further inferences going into this context. - var returnContext = createInferenceContext(signature.typeParameters, signature, context.flags); - var returnSourceType = instantiateType(contextualType, outerContext && outerContext.returnMapper); - inferTypes(returnContext.inferences, returnSourceType, inferenceTargetType); - context.returnMapper = ts.some(returnContext.inferences, hasInferenceCandidates) ? getMapperFromContext(cloneInferredPartOfContext(returnContext)) : undefined; + if (couldContainTypeVariables(inferenceTargetType)) { + // We clone the inference context to avoid disturbing a resolution in progress for an + // outer call expression. Effectively we just want a snapshot of whatever has been + // inferred for any outer call expression so far. + var outerContext = getInferenceContext(node); + var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1 /* NoDefault */)); + var instantiatedType = instantiateType(contextualType, outerMapper); + // If the contextual type is a generic function type with a single call signature, we + // instantiate the type with its own type parameters and type arguments. This ensures that + // the type parameters are not erased to type any during type inference such that they can + // be inferred as actual types from the contextual type. For example: + // declare function arrayMap(f: (x: T) => U): (a: T[]) => U[]; + // const boxElements: (a: A[]) => { value: A }[] = arrayMap(value => ({ value })); + // Above, the type of the 'value' parameter is inferred to be 'A'. + var contextualSignature = getSingleCallSignature(instantiatedType); + var inferenceSourceType = contextualSignature && contextualSignature.typeParameters ? + getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(contextualSignature, contextualSignature.typeParameters)) : + instantiatedType; + // Inferences made from return types have lower priority than all other inferences. + inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* ReturnType */); + // Create a type mapper for instantiating generic contextual types using the inferences made + // from the return type. We need a separate inference pass here because (a) instantiation of + // the source type uses the outer context's return mapper (which excludes inferences made from + // outer arguments), and (b) we don't want any further inferences going into this context. + var returnContext = createInferenceContext(signature.typeParameters, signature, context.flags); + var returnSourceType = instantiateType(contextualType, outerContext && outerContext.returnMapper); + inferTypes(returnContext.inferences, returnSourceType, inferenceTargetType); + context.returnMapper = ts.some(returnContext.inferences, hasInferenceCandidates) ? getMapperFromContext(cloneInferredPartOfContext(returnContext)) : undefined; + } } } var restType = getNonArrayRestType(signature); @@ -74108,19 +75210,21 @@ var ts; } } var thisType = getThisTypeOfSignature(signature); - if (thisType) { + if (thisType && couldContainTypeVariables(thisType)) { var thisArgumentNode = getThisArgumentOfCall(node); inferTypes(context.inferences, getThisArgumentType(thisArgumentNode), thisType); } for (var i = 0; i < argCount; i++) { var arg = args[i]; - if (arg.kind !== 226 /* OmittedExpression */) { + if (arg.kind !== 227 /* OmittedExpression */ && !(checkMode & 32 /* IsForStringLiteralArgumentCompletions */ && hasSkipDirectInferenceFlag(arg))) { var paramType = getTypeAtPosition(signature, i); - var argType = checkExpressionWithContextualType(arg, paramType, context, checkMode); - inferTypes(context.inferences, argType, paramType); + if (couldContainTypeVariables(paramType)) { + var argType = checkExpressionWithContextualType(arg, paramType, context, checkMode); + inferTypes(context.inferences, argType, paramType); + } } } - if (restType) { + if (restType && couldContainTypeVariables(restType)) { var spreadType = getSpreadArgumentType(args, argCount, args.length, restType, context, checkMode); inferTypes(context.inferences, spreadType, restType); } @@ -74138,7 +75242,7 @@ var ts; if (isSpreadArgument(arg)) { // We are inferring from a spread expression in the last argument position, i.e. both the parameter // and the argument are ...x forms. - return getMutableArrayOrTupleType(arg.kind === 231 /* SyntheticExpression */ ? arg.type : + return getMutableArrayOrTupleType(arg.kind === 232 /* SyntheticExpression */ ? arg.type : checkExpressionWithContextualType(arg.expression, restType, context, checkMode)); } } @@ -74148,13 +75252,13 @@ var ts; for (var i = index; i < argCount; i++) { var arg = args[i]; if (isSpreadArgument(arg)) { - var spreadType = arg.kind === 231 /* SyntheticExpression */ ? arg.type : checkExpression(arg.expression); + var spreadType = arg.kind === 232 /* SyntheticExpression */ ? arg.type : checkExpression(arg.expression); if (isArrayLikeType(spreadType)) { types.push(spreadType); flags.push(8 /* Variadic */); } else { - types.push(checkIteratedTypeOrElementType(33 /* Spread */, spreadType, undefinedType, arg.kind === 224 /* SpreadElement */ ? arg.expression : arg)); + types.push(checkIteratedTypeOrElementType(33 /* Spread */, spreadType, undefinedType, arg.kind === 225 /* SpreadElement */ ? arg.expression : arg)); flags.push(4 /* Rest */); } } @@ -74165,7 +75269,7 @@ var ts; types.push(hasPrimitiveContextualType ? getRegularTypeOfLiteralType(argType) : getWidenedLiteralType(argType)); flags.push(1 /* Required */); } - if (arg.kind === 231 /* SyntheticExpression */ && arg.tupleNameSource) { + if (arg.kind === 232 /* SyntheticExpression */ && arg.tupleNameSource) { names.push(arg.tupleNameSource); } } @@ -74309,7 +75413,7 @@ var ts; return undefined; } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 208 /* NewExpression */) { + if (thisType && thisType !== voidType && node.kind !== 209 /* NewExpression */) { // If the called expression is not of the form `x.f` or `x["f"]`, then sourceType = voidType // If the signature's 'this' type is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. @@ -74327,7 +75431,7 @@ var ts; var argCount = restType ? Math.min(getParameterCount(signature) - 1, args.length) : args.length; for (var i = 0; i < argCount; i++) { var arg = args[i]; - if (arg.kind !== 226 /* OmittedExpression */) { + if (arg.kind !== 227 /* OmittedExpression */) { var paramType = getTypeAtPosition(signature, i); var argType = checkExpressionWithContextualType(arg, paramType, /*inferenceContext*/ undefined, checkMode); // If one or more arguments are still excluded (as indicated by CheckMode.SkipContextSensitive), @@ -74372,8 +75476,8 @@ var ts; * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. */ function getThisArgumentOfCall(node) { - var expression = node.kind === 207 /* CallExpression */ ? node.expression : - node.kind === 209 /* TaggedTemplateExpression */ ? node.tag : undefined; + var expression = node.kind === 208 /* CallExpression */ ? node.expression : + node.kind === 210 /* TaggedTemplateExpression */ ? node.tag : undefined; if (expression) { var callee = ts.skipOuterExpressions(expression); if (ts.isAccessExpression(callee)) { @@ -74391,17 +75495,17 @@ var ts; * Returns the effective arguments for an expression that works like a function invocation. */ function getEffectiveCallArguments(node) { - if (node.kind === 209 /* TaggedTemplateExpression */) { + if (node.kind === 210 /* TaggedTemplateExpression */) { var template = node.template; var args_3 = [createSyntheticExpression(template, getGlobalTemplateStringsArrayType())]; - if (template.kind === 222 /* TemplateExpression */) { + if (template.kind === 223 /* TemplateExpression */) { ts.forEach(template.templateSpans, function (span) { args_3.push(span.expression); }); } return args_3; } - if (node.kind === 164 /* Decorator */) { + if (node.kind === 165 /* Decorator */) { return getEffectiveDecoratorArguments(node); } if (ts.isJsxOpeningLikeElement(node)) { @@ -74412,10 +75516,10 @@ var ts; if (spreadIndex >= 0) { // Create synthetic arguments from spreads of tuple types. var effectiveArgs_1 = args.slice(0, spreadIndex); - var _loop_23 = function (i) { + var _loop_24 = function (i) { var arg = args[i]; // We can call checkExpressionCached because spread expressions never have a contextual type. - var spreadType = arg.kind === 224 /* SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); + var spreadType = arg.kind === 225 /* SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); if (spreadType && isTupleType(spreadType)) { ts.forEach(getTypeArguments(spreadType), function (t, i) { var _a; @@ -74429,7 +75533,7 @@ var ts; } }; for (var i = spreadIndex; i < args.length; i++) { - _loop_23(i); + _loop_24(i); } return effectiveArgs_1; } @@ -74442,30 +75546,30 @@ var ts; var parent = node.parent; var expr = node.expression; switch (parent.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: // For a class decorator, the `target` is the type of the class (e.g. the // "static" or "constructor" side of the class). return [ createSyntheticExpression(expr, getTypeOfSymbol(getSymbolOfNode(parent))) ]; - case 163 /* Parameter */: + case 164 /* Parameter */: // A parameter declaration decorator will have three arguments (see // `ParameterDecorator` in core.d.ts). var func = parent.parent; return [ - createSyntheticExpression(expr, parent.parent.kind === 170 /* Constructor */ ? getTypeOfSymbol(getSymbolOfNode(func)) : errorType), + createSyntheticExpression(expr, parent.parent.kind === 171 /* Constructor */ ? getTypeOfSymbol(getSymbolOfNode(func)) : errorType), createSyntheticExpression(expr, anyType), createSyntheticExpression(expr, numberType) ]; - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // A method or accessor declaration decorator will have two or three arguments (see // `PropertyDecorator` and `MethodDecorator` in core.d.ts). If we are emitting decorators // for ES3, we will only pass two arguments. - var hasPropDesc = parent.kind !== 166 /* PropertyDeclaration */ && languageVersion !== 0 /* ES3 */; + var hasPropDesc = parent.kind !== 167 /* PropertyDeclaration */ && languageVersion !== 0 /* ES3 */; return [ createSyntheticExpression(expr, getParentTypeOfClassElement(parent)), createSyntheticExpression(expr, getClassElementPropertyKeyType(parent)), @@ -74479,17 +75583,17 @@ var ts; */ function getDecoratorArgumentCount(node, signature) { switch (node.parent.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return 1; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return 2; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // For ES3 or decorators with only two parameters we supply only two arguments return languageVersion === 0 /* ES3 */ || signature.parameters.length <= 2 ? 2 : 3; - case 163 /* Parameter */: + case 164 /* Parameter */: return 3; default: return ts.Debug.fail(); @@ -74625,10 +75729,10 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, belowArgCount === -Infinity ? aboveArgCount : belowArgCount, argCount); } function resolveCall(node, signatures, candidatesOutArray, checkMode, callChainFlags, fallbackError) { - var isTaggedTemplate = node.kind === 209 /* TaggedTemplateExpression */; - var isDecorator = node.kind === 164 /* Decorator */; + var isTaggedTemplate = node.kind === 210 /* TaggedTemplateExpression */; + var isDecorator = node.kind === 165 /* Decorator */; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); - var reportErrors = !candidatesOutArray && produceDiagnostics; + var reportErrors = !candidatesOutArray; var typeArguments; if (!isDecorator) { typeArguments = node.typeArguments; @@ -74688,7 +75792,7 @@ var ts; var result; // If we are in signature help, a trailing comma indicates that we intend to provide another argument, // so we will only accept overloads with arity at least 1 higher than the current number of provided arguments. - var signatureHelpTrailingComma = !!(checkMode & 16 /* IsForSignatureHelp */) && node.kind === 207 /* CallExpression */ && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = !!(checkMode & 16 /* IsForSignatureHelp */) && node.kind === 208 /* CallExpression */ && node.arguments.hasTrailingComma; // Section 4.12.1: // if the candidate list contains one or more signatures for which the type of each argument // expression is a subtype of each corresponding parameter type, the return type of the first @@ -74742,7 +75846,7 @@ var ts; var min_3 = Number.MAX_VALUE; var minIndex = 0; var i_1 = 0; - var _loop_24 = function (c) { + var _loop_25 = function (c) { var chain_2 = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Overload_0_of_1_2_gave_the_following_error, i_1 + 1, candidates.length, signatureToString(c)); }; var diags_2 = getSignatureApplicabilityError(node, args, c, assignableRelation, 0 /* Normal */, /*reportErrors*/ true, chain_2); if (diags_2) { @@ -74760,7 +75864,7 @@ var ts; }; for (var _a = 0, candidatesForArgumentError_1 = candidatesForArgumentError; _a < candidatesForArgumentError_1.length; _a++) { var c = candidatesForArgumentError_1[_a]; - _loop_24(c); + _loop_25(c); } var diags_3 = max > 1 ? allDiagnostics[minIndex] : ts.flatten(allDiagnostics); ts.Debug.assert(diags_3.length > 0, "No errors reported for 3 or fewer overload signatures"); @@ -74799,7 +75903,7 @@ var ts; } } } - return getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray); + return getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray, checkMode); function addImplementationSuccessElaboration(failed, diagnostic) { var _a, _b; var oldCandidatesForArgumentError = candidatesForArgumentError; @@ -74900,14 +76004,14 @@ var ts; } } // No signature was applicable. We have already reported the errors for the invalid signature. - function getCandidateForOverloadFailure(node, candidates, args, hasCandidatesOutArray) { + function getCandidateForOverloadFailure(node, candidates, args, hasCandidatesOutArray, checkMode) { ts.Debug.assert(candidates.length > 0); // Else should not have called this. checkNodeDeferred(node); // Normally we will combine overloads. Skip this if they have type parameters since that's hard to combine. // Don't do this if there is a `candidatesOutArray`, // because then we want the chosen best candidate to be one of the overloads, not a combination. return hasCandidatesOutArray || candidates.length === 1 || candidates.some(function (c) { return !!c.typeParameters; }) - ? pickLongestCandidateSignature(node, candidates, args) + ? pickLongestCandidateSignature(node, candidates, args, checkMode) : createUnionOfSignaturesForOverloadFailure(candidates); } function createUnionOfSignaturesForOverloadFailure(candidates) { @@ -74918,7 +76022,7 @@ var ts; } var _a = ts.minAndMax(candidates, getNumNonRestParameters), minArgumentCount = _a.min, maxNonRestParam = _a.max; var parameters = []; - var _loop_25 = function (i) { + var _loop_26 = function (i) { var symbols = ts.mapDefined(candidates, function (s) { return signatureHasRestParameter(s) ? i < s.parameters.length - 1 ? s.parameters[i] : ts.last(s.parameters) : i < s.parameters.length ? s.parameters[i] : undefined; }); @@ -74926,7 +76030,7 @@ var ts; parameters.push(createCombinedSymbolFromTypes(symbols, ts.mapDefined(candidates, function (candidate) { return tryGetTypeAtPosition(candidate, i); }))); }; for (var i = 0; i < maxNonRestParam; i++) { - _loop_25(i); + _loop_26(i); } var restParameterSymbols = ts.mapDefined(candidates, function (c) { return signatureHasRestParameter(c) ? ts.last(c.parameters) : undefined; }); var flags = 0 /* None */; @@ -74955,7 +76059,7 @@ var ts; // This function is currently only used for erroneous overloads, so it's good enough to just use the first source. return createSymbolWithType(ts.first(sources), type); } - function pickLongestCandidateSignature(node, candidates, args) { + function pickLongestCandidateSignature(node, candidates, args, checkMode) { // Pick the longest signature. This way we can get a contextual type for cases like: // declare function f(a: { xa: number; xb: number; }, b: number); // f({ | @@ -74971,7 +76075,7 @@ var ts; var typeArgumentNodes = callLikeExpressionMayHaveTypeArguments(node) ? node.typeArguments : undefined; var instantiated = typeArgumentNodes ? createSignatureInstantiation(candidate, getTypeArgumentsFromNodes(typeArgumentNodes, typeParameters, ts.isInJSFile(node))) - : inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args); + : inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args, checkMode); candidates[bestIndex] = instantiated; return instantiated; } @@ -74985,9 +76089,9 @@ var ts; } return typeArguments; } - function inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args) { + function inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args, checkMode) { var inferenceContext = createInferenceContext(typeParameters, candidate, /*flags*/ ts.isInJSFile(node) ? 2 /* AnyDefault */ : 0 /* None */); - var typeArgumentTypes = inferTypeArguments(node, candidate, args, 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext); + var typeArgumentTypes = inferTypeArguments(node, candidate, args, checkMode | 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext); return createSignatureInstantiation(candidate, typeArgumentTypes); } function getLongestCandidateIndex(candidates, argsCount) { @@ -75163,7 +76267,7 @@ var ts; // then it cannot be instantiated. // In the case of a merged class-module or class-interface declaration, // only the class declaration node will have the Abstract flag set. - if (constructSignatures.some(function (signature) { return signature.flags & 4 /* Abstract */; })) { + if (someSignature(constructSignatures, function (signature) { return !!(signature.flags & 4 /* Abstract */); })) { error(node, ts.Diagnostics.Cannot_create_an_instance_of_an_abstract_class); return resolveErrorCall(node); } @@ -75194,6 +76298,12 @@ var ts; invocationError(node.expression, expressionType, 1 /* Construct */); return resolveErrorCall(node); } + function someSignature(signatures, f) { + if (ts.isArray(signatures)) { + return ts.some(signatures, function (signature) { return someSignature(signature, f); }); + } + return signatures.compositeKind === 1048576 /* Union */ ? ts.some(signatures.compositeSignatures, f) : f(signatures); + } function typeHasProtectedAccessibleBase(target, type) { var baseTypes = getBaseTypes(type); if (!ts.length(baseTypes)) { @@ -75233,7 +76343,7 @@ var ts; var declaration = signature.declaration; var modifiers = ts.getSelectedEffectiveModifierFlags(declaration, 24 /* NonPublicAccessibilityModifier */); // (1) Public constructors and (2) constructor functions are always accessible. - if (!modifiers || declaration.kind !== 170 /* Constructor */) { + if (!modifiers || declaration.kind !== 171 /* Constructor */) { return true; } var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(declaration.parent.symbol); @@ -75377,16 +76487,16 @@ var ts; */ function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 163 /* Parameter */: + case 164 /* Parameter */: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; default: return ts.Debug.fail(); @@ -75481,16 +76591,16 @@ var ts; } function resolveSignature(node, candidatesOutArray, checkMode) { switch (node.kind) { - case 207 /* CallExpression */: + case 208 /* CallExpression */: return resolveCallExpression(node, candidatesOutArray, checkMode); - case 208 /* NewExpression */: + case 209 /* NewExpression */: return resolveNewExpression(node, candidatesOutArray, checkMode); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return resolveTaggedTemplateExpression(node, candidatesOutArray, checkMode); - case 164 /* Decorator */: + case 165 /* Decorator */: return resolveDecorator(node, candidatesOutArray, checkMode); - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: return resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode); } throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); @@ -75622,7 +76732,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 205 /* PropertyAccessExpression */) { + while (parent && parent.kind === 206 /* PropertyAccessExpression */) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 63 /* EqualsToken */) { @@ -75648,12 +76758,12 @@ var ts; if (node.expression.kind === 106 /* SuperKeyword */) { return voidType; } - if (node.kind === 208 /* NewExpression */) { + if (node.kind === 209 /* NewExpression */) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 170 /* Constructor */ && - declaration.kind !== 174 /* ConstructSignature */ && - declaration.kind !== 179 /* ConstructorType */ && + declaration.kind !== 171 /* Constructor */ && + declaration.kind !== 175 /* ConstructSignature */ && + declaration.kind !== 180 /* ConstructorType */ && !ts.isJSDocConstructSignature(declaration) && !isJSConstructor(declaration)) { // When resolved signature is a call signature (and not a construct signature) the result type is any @@ -75673,7 +76783,7 @@ var ts; if (returnType.flags & 12288 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - if (node.kind === 207 /* CallExpression */ && !node.questionDotToken && node.parent.kind === 237 /* ExpressionStatement */ && + if (node.kind === 208 /* CallExpression */ && !node.questionDotToken && node.parent.kind === 238 /* ExpressionStatement */ && returnType.flags & 16384 /* Void */ && getTypePredicateOfSignature(signature)) { if (!ts.isDottedName(node.expression)) { error(node.expression, ts.Diagnostics.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name); @@ -75687,14 +76797,14 @@ var ts; var jsSymbol = getSymbolOfExpando(node, /*allowDeclaration*/ false); if ((_a = jsSymbol === null || jsSymbol === void 0 ? void 0 : jsSymbol.exports) === null || _a === void 0 ? void 0 : _a.size) { var jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, ts.emptyArray); - jsAssignmentType.objectFlags |= 8192 /* JSLiteral */; + jsAssignmentType.objectFlags |= 4096 /* JSLiteral */; return getIntersectionType([returnType, jsAssignmentType]); } } return returnType; } function checkDeprecatedSignature(signature, node) { - if (signature.declaration && signature.declaration.flags & 134217728 /* Deprecated */) { + if (signature.declaration && signature.declaration.flags & 268435456 /* Deprecated */) { var suggestionNode = getDeprecatedSuggestionNode(node); var name = ts.tryGetPropertyAccessOrIdentifierToString(ts.getInvokedExpression(node)); addDeprecatedSuggestionWithSignature(suggestionNode, signature.declaration, name, signatureToString(signature)); @@ -75703,20 +76813,20 @@ var ts; function getDeprecatedSuggestionNode(node) { node = ts.skipParentheses(node); switch (node.kind) { - case 207 /* CallExpression */: - case 164 /* Decorator */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 165 /* Decorator */: + case 209 /* NewExpression */: return getDeprecatedSuggestionNode(node.expression); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return getDeprecatedSuggestionNode(node.tag); - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: return getDeprecatedSuggestionNode(node.tagName); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return node.argumentExpression; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return node.name; - case 177 /* TypeReference */: + case 178 /* TypeReference */: var typeReference = node; return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; default: @@ -75831,14 +76941,14 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 /* Function */ - ? 255 /* FunctionDeclaration */ + ? 256 /* FunctionDeclaration */ : resolvedRequire.flags & 3 /* Variable */ - ? 253 /* VariableDeclaration */ + ? 254 /* VariableDeclaration */ : 0 /* Unknown */; if (targetDeclarationKind !== 0 /* Unknown */) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); // function/variable declaration should be ambient - return !!decl && !!(decl.flags & 8388608 /* Ambient */); + return !!decl && !!(decl.flags & 16777216 /* Ambient */); } return false; } @@ -75853,7 +76963,7 @@ var ts; return getReturnTypeOfSignature(signature); } function checkAssertion(node) { - if (node.kind === 210 /* TypeAssertionExpression */) { + if (node.kind === 211 /* TypeAssertionExpression */) { var file = ts.getSourceFileOfNode(node); if (file && ts.fileExtensionIsOneOf(file.fileName, [".cts" /* Cts */, ".mts" /* Mts */])) { grammarErrorOnNode(node, ts.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead); @@ -75869,19 +76979,19 @@ var ts; case 9 /* BigIntLiteral */: case 110 /* TrueKeyword */: case 95 /* FalseKeyword */: - case 203 /* ArrayLiteralExpression */: - case 204 /* ObjectLiteralExpression */: - case 222 /* TemplateExpression */: + case 204 /* ArrayLiteralExpression */: + case 205 /* ObjectLiteralExpression */: + case 223 /* TemplateExpression */: return true; - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return isValidConstAssertionArgument(node.expression); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: var op = node.operator; var arg = node.operand; return op === 40 /* MinusToken */ && (arg.kind === 8 /* NumericLiteral */ || arg.kind === 9 /* BigIntLiteral */) || op === 39 /* PlusToken */ && arg.kind === 8 /* NumericLiteral */; - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: var expr = node.expression; var symbol = getTypeOfNode(expr).symbol; if (symbol && symbol.flags & 2097152 /* Alias */) { @@ -75902,11 +77012,13 @@ var ts; checkSourceElement(type); exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(exprType)); var targetType = getTypeFromTypeNode(type); - if (produceDiagnostics && !isErrorType(targetType)) { - var widenedType = getWidenedType(exprType); - if (!isTypeComparableTo(targetType, widenedType)) { - checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first); - } + if (!isErrorType(targetType)) { + addLazyDiagnostic(function () { + var widenedType = getWidenedType(exprType); + if (!isTypeComparableTo(targetType, widenedType)) { + checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first); + } + }); } return targetType; } @@ -75919,6 +77031,72 @@ var ts; return node.flags & 32 /* OptionalChain */ ? checkNonNullChain(node) : getNonNullableType(checkExpression(node.expression)); } + function checkExpressionWithTypeArguments(node) { + checkGrammarExpressionWithTypeArguments(node); + var exprType = node.kind === 228 /* ExpressionWithTypeArguments */ ? checkExpression(node.expression) : + ts.isThisIdentifier(node.exprName) ? checkThisExpression(node.exprName) : + checkExpression(node.exprName); + var typeArguments = node.typeArguments; + if (exprType === silentNeverType || isErrorType(exprType) || !ts.some(typeArguments)) { + return exprType; + } + var hasSomeApplicableSignature = false; + var nonApplicableType; + var result = getInstantiatedType(exprType); + var errorType = hasSomeApplicableSignature ? nonApplicableType : exprType; + if (errorType) { + diagnostics.add(ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable, typeToString(errorType))); + } + return result; + function getInstantiatedType(type) { + var hasSignatures = false; + var hasApplicableSignature = false; + var result = getInstantiatedTypePart(type); + hasSomeApplicableSignature || (hasSomeApplicableSignature = hasApplicableSignature); + if (hasSignatures && !hasApplicableSignature) { + nonApplicableType !== null && nonApplicableType !== void 0 ? nonApplicableType : (nonApplicableType = type); + } + return result; + function getInstantiatedTypePart(type) { + if (type.flags & 524288 /* Object */) { + var resolved = resolveStructuredTypeMembers(type); + var callSignatures = getInstantiatedSignatures(resolved.callSignatures); + var constructSignatures = getInstantiatedSignatures(resolved.constructSignatures); + hasSignatures || (hasSignatures = resolved.callSignatures.length !== 0 || resolved.constructSignatures.length !== 0); + hasApplicableSignature || (hasApplicableSignature = callSignatures.length !== 0 || constructSignatures.length !== 0); + if (callSignatures !== resolved.callSignatures || constructSignatures !== resolved.constructSignatures) { + var result_11 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos); + result_11.objectFlags |= 8388608 /* InstantiationExpressionType */; + result_11.node = node; + return result_11; + } + } + else if (type.flags & 58982400 /* InstantiableNonPrimitive */) { + var constraint = getBaseConstraintOfType(type); + if (constraint) { + var instantiated = getInstantiatedTypePart(constraint); + if (instantiated !== constraint) { + return instantiated; + } + } + } + else if (type.flags & 1048576 /* Union */) { + return mapType(type, getInstantiatedType); + } + else if (type.flags & 2097152 /* Intersection */) { + return getIntersectionType(ts.sameMap(type.types, getInstantiatedTypePart)); + } + return type; + } + } + function getInstantiatedSignatures(signatures) { + var applicableSignatures = ts.filter(signatures, function (sig) { return !!sig.typeParameters && hasCorrectTypeArgumentArity(sig, typeArguments); }); + return ts.sameMap(applicableSignatures, function (sig) { + var typeArgumentTypes = checkTypeArguments(sig, typeArguments, /*reportErrors*/ true); + return typeArgumentTypes ? getSignatureInstantiation(sig, typeArgumentTypes, ts.isInJSFile(sig.declaration)) : sig; + }); + } + } function checkMetaProperty(node) { checkGrammarMetaProperty(node); if (node.keywordToken === 103 /* NewKeyword */) { @@ -75946,7 +77124,7 @@ var ts; error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); return errorType; } - else if (container.kind === 170 /* Constructor */) { + else if (container.kind === 171 /* Constructor */) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -75965,7 +77143,7 @@ var ts; error(node, ts.Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node12_or_nodenext); } var file = ts.getSourceFileOfNode(node); - ts.Debug.assert(!!(file.flags & 2097152 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); + ts.Debug.assert(!!(file.flags & 4194304 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { @@ -75998,7 +77176,7 @@ var ts; } function getParameterIdentifierNameAtPosition(signature, pos) { var _a; - if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 315 /* JSDocFunctionType */) { + if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 317 /* JSDocFunctionType */) { return undefined; } var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); @@ -76030,7 +77208,7 @@ var ts; return symbol.valueDeclaration && ts.isParameter(symbol.valueDeclaration) && ts.isIdentifier(symbol.valueDeclaration.name); } function isValidDeclarationForTupleLabel(d) { - return d.kind === 196 /* NamedTupleMember */ || (ts.isParameter(d) && d.name && ts.isIdentifier(d.name)); + return d.kind === 197 /* NamedTupleMember */ || (ts.isParameter(d) && d.name && ts.isIdentifier(d.name)); } function getNameableDeclarationAtPosition(signature, pos) { var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); @@ -76223,7 +77401,11 @@ var ts; if (signatureHasRestParameter(signature)) { // parameter might be a transient symbol generated by use of `arguments` in the function body. var parameter = ts.last(signature.parameters); - if (ts.isTransientSymbol(parameter) || !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration)) { + if (parameter.valueDeclaration + ? !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration) + // a declarationless parameter may still have a `.type` already set by its construction logic + // (which may pull a type from a jsdoc) - only allow fixing on `DeferredType` parameters with a fallback type + : !!(ts.getCheckFlags(parameter) & 65536 /* DeferredType */)) { var contextualParameterType = getRestTypeAtPosition(context, len); assignParameterType(parameter, contextualParameterType); } @@ -76242,8 +77424,8 @@ var ts; var links = getSymbolLinks(parameter); if (!links.type) { var declaration = parameter.valueDeclaration; - links.type = type || getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); - if (declaration.name.kind !== 79 /* Identifier */) { + links.type = type || (declaration ? getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true) : getTypeOfSymbol(parameter)); + if (declaration && declaration.name.kind !== 79 /* Identifier */) { // if inference didn't come up with anything but unknown, fall back to the binding pattern if present. if (links.type === unknownType) { links.type = getTypeFromBindingPattern(declaration.name); @@ -76251,6 +77433,9 @@ var ts; assignBindingElementTypes(declaration.name, links.type); } } + else if (type) { + ts.Debug.assertEqual(links.type, type, "Parameter symbol already has a cached type which differs from newly assigned type"); + } } // When contextual typing assigns a type to a parameter that contains a binding pattern, we also need to push // the destructured type into the contained binding elements. @@ -76326,7 +77511,7 @@ var ts; var yieldType; var nextType; var fallbackReturnType = voidType; - if (func.body.kind !== 234 /* Block */) { // Async or normal arrow function + if (func.body.kind !== 235 /* Block */) { // Async or normal arrow function returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* SkipGenericFunctions */); if (isAsync) { // From within an async function you can return either a non-promise value or a promise. Any @@ -76511,7 +77696,7 @@ var ts; return links.isExhaustive !== undefined ? links.isExhaustive : (links.isExhaustive = computeExhaustiveSwitchStatement(node)); } function computeExhaustiveSwitchStatement(node) { - if (node.expression.kind === 215 /* TypeOfExpression */) { + if (node.expression.kind === 216 /* TypeOfExpression */) { var operandType = getTypeOfExpression(node.expression.expression); var witnesses = getSwitchClauseTypeOfWitnesses(node, /*retainDefault*/ false); // notEqualFacts states that the type of the switched value is not equal to every type in the switch. @@ -76574,11 +77759,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return true; - case 168 /* MethodDeclaration */: - return func.parent.kind === 204 /* ObjectLiteralExpression */; + case 169 /* MethodDeclaration */: + return func.parent.kind === 205 /* ObjectLiteralExpression */; default: return false; } @@ -76593,51 +77778,52 @@ var ts; * @param returnType - return type of the function, can be undefined if return type is not explicitly specified */ function checkAllCodePathsInNonVoidFunctionReturnOrThrow(func, returnType) { - if (!produceDiagnostics) { - return; - } - var functionFlags = ts.getFunctionFlags(func); - var type = returnType && unwrapReturnType(returnType, functionFlags); - // Functions with with an explicitly specified 'void' or 'any' return type don't need any return expressions. - if (type && maybeTypeOfKind(type, 1 /* Any */ | 16384 /* Void */)) { - return; - } - // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. - // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw - if (func.kind === 167 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 234 /* Block */ || !functionHasImplicitReturn(func)) { - return; - } - var hasExplicitReturn = func.flags & 512 /* HasExplicitReturn */; - var errorNode = ts.getEffectiveReturnTypeNode(func) || func; - if (type && type.flags & 131072 /* Never */) { - error(errorNode, ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); - } - else if (type && !hasExplicitReturn) { - // minimal check: function has syntactic return type annotation and no explicit return statements in the body - // this function does not conform to the specification. - error(errorNode, ts.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value); - } - else if (type && strictNullChecks && !isTypeAssignableTo(undefinedType, type)) { - error(errorNode, ts.Diagnostics.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined); - } - else if (compilerOptions.noImplicitReturns) { - if (!type) { - // If return type annotation is omitted check if function has any explicit return statements. - // If it does not have any - its inferred return type is void - don't do any checks. - // Otherwise get inferred return type from function body and report error only if it is not void / anytype - if (!hasExplicitReturn) { - return; - } - var inferredReturnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); - if (isUnwrappedReturnTypeVoidOrAny(func, inferredReturnType)) { - return; + addLazyDiagnostic(checkAllCodePathsInNonVoidFunctionReturnOrThrowDiagnostics); + return; + function checkAllCodePathsInNonVoidFunctionReturnOrThrowDiagnostics() { + var functionFlags = ts.getFunctionFlags(func); + var type = returnType && unwrapReturnType(returnType, functionFlags); + // Functions with with an explicitly specified 'void' or 'any' return type don't need any return expressions. + if (type && maybeTypeOfKind(type, 1 /* Any */ | 16384 /* Void */)) { + return; + } + // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. + // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw + if (func.kind === 168 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 235 /* Block */ || !functionHasImplicitReturn(func)) { + return; + } + var hasExplicitReturn = func.flags & 512 /* HasExplicitReturn */; + var errorNode = ts.getEffectiveReturnTypeNode(func) || func; + if (type && type.flags & 131072 /* Never */) { + error(errorNode, ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); + } + else if (type && !hasExplicitReturn) { + // minimal check: function has syntactic return type annotation and no explicit return statements in the body + // this function does not conform to the specification. + error(errorNode, ts.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value); + } + else if (type && strictNullChecks && !isTypeAssignableTo(undefinedType, type)) { + error(errorNode, ts.Diagnostics.Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined); + } + else if (compilerOptions.noImplicitReturns) { + if (!type) { + // If return type annotation is omitted check if function has any explicit return statements. + // If it does not have any - its inferred return type is void - don't do any checks. + // Otherwise get inferred return type from function body and report error only if it is not void / anytype + if (!hasExplicitReturn) { + return; + } + var inferredReturnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); + if (isUnwrappedReturnTypeVoidOrAny(func, inferredReturnType)) { + return; + } } + error(errorNode, ts.Diagnostics.Not_all_code_paths_return_a_value); } - error(errorNode, ts.Diagnostics.Not_all_code_paths_return_a_value); } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 168 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); checkNodeDeferred(node); if (ts.isFunctionExpression(node)) { checkCollisionsForDeclarationName(node, node.name); @@ -76656,7 +77842,7 @@ var ts; var returnType = getReturnTypeFromBody(node, checkMode); var returnOnlySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, returnType, /*resolvedTypePredicate*/ undefined, 0, 0 /* None */); var returnOnlyType = createAnonymousType(node.symbol, emptySymbols, [returnOnlySignature], ts.emptyArray, ts.emptyArray); - returnOnlyType.objectFlags |= 524288 /* NonInferrableType */; + returnOnlyType.objectFlags |= 262144 /* NonInferrableType */; return links.contextFreeType = returnOnlyType; } } @@ -76664,7 +77850,7 @@ var ts; } // Grammar checking var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 212 /* FunctionExpression */) { + if (!hasGrammarError && node.kind === 213 /* FunctionExpression */) { checkGrammarForGenerator(node); } contextuallyCheckFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -76710,7 +77896,7 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 168 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnType = getReturnTypeFromAnnotation(node); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); @@ -76723,7 +77909,7 @@ var ts; // checkFunctionExpressionBodies). So it must be done now. getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 234 /* Block */) { + if (node.body.kind === 235 /* Block */) { checkSourceElement(node.body); } else { @@ -76813,7 +77999,7 @@ var ts; expr.expression.kind === 108 /* ThisKeyword */) { // Look for if this is the constructor for the class that `symbol` is a property of. var ctor = ts.getContainingFunction(expr); - if (!(ctor && (ctor.kind === 170 /* Constructor */ || isJSConstructor(ctor)))) { + if (!(ctor && (ctor.kind === 171 /* Constructor */ || isJSConstructor(ctor)))) { return true; } if (symbol.valueDeclaration) { @@ -76838,7 +78024,7 @@ var ts; var symbol_2 = getNodeLinks(node).resolvedSymbol; if (symbol_2.flags & 2097152 /* Alias */) { var declaration = getDeclarationOfAliasSymbol(symbol_2); - return !!declaration && declaration.kind === 267 /* NamespaceImport */; + return !!declaration && declaration.kind === 268 /* NamespaceImport */; } } } @@ -76893,49 +78079,50 @@ var ts; checkExpression(node.expression); return undefinedWideningType; } - function checkAwaitExpression(node) { + function checkAwaitExpressionGrammar(node) { // Grammar checking - if (produceDiagnostics) { - var container = ts.getContainingFunctionOrClassStaticBlock(node); - if (container && ts.isClassStaticBlockDeclaration(container)) { - error(node, ts.Diagnostics.Await_expression_cannot_be_used_inside_a_class_static_block); - } - else if (!(node.flags & 32768 /* AwaitContext */)) { - if (ts.isInTopLevelContext(node)) { - var sourceFile = ts.getSourceFileOfNode(node); - if (!hasParseDiagnostics(sourceFile)) { - var span = void 0; - if (!ts.isEffectiveExternalModule(sourceFile, compilerOptions)) { - if (!span) - span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); - var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module); - diagnostics.add(diagnostic); - } - if ((moduleKind !== ts.ModuleKind.ES2022 && moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System && !(moduleKind === ts.ModuleKind.NodeNext && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.ESNext)) || languageVersion < 4 /* ES2017 */) { + var container = ts.getContainingFunctionOrClassStaticBlock(node); + if (container && ts.isClassStaticBlockDeclaration(container)) { + error(node, ts.Diagnostics.Await_expression_cannot_be_used_inside_a_class_static_block); + } + else if (!(node.flags & 32768 /* AwaitContext */)) { + if (ts.isInTopLevelContext(node)) { + var sourceFile = ts.getSourceFileOfNode(node); + if (!hasParseDiagnostics(sourceFile)) { + var span = void 0; + if (!ts.isEffectiveExternalModule(sourceFile, compilerOptions)) { + if (!span) span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); - var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher); - diagnostics.add(diagnostic); - } + var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module); + diagnostics.add(diagnostic); } - } - else { - // use of 'await' in non-async function - var sourceFile = ts.getSourceFileOfNode(node); - if (!hasParseDiagnostics(sourceFile)) { - var span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); - var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); - if (container && container.kind !== 170 /* Constructor */ && (ts.getFunctionFlags(container) & 2 /* Async */) === 0) { - var relatedInfo = ts.createDiagnosticForNode(container, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); - ts.addRelatedInfo(diagnostic, relatedInfo); - } + if ((moduleKind !== ts.ModuleKind.ES2022 && moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System && !(moduleKind === ts.ModuleKind.NodeNext && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.ESNext)) || languageVersion < 4 /* ES2017 */) { + span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); + var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher); diagnostics.add(diagnostic); } } } - if (isInParameterInitializerBeforeContainingFunction(node)) { - error(node, ts.Diagnostics.await_expressions_cannot_be_used_in_a_parameter_initializer); + else { + // use of 'await' in non-async function + var sourceFile = ts.getSourceFileOfNode(node); + if (!hasParseDiagnostics(sourceFile)) { + var span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); + var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); + if (container && container.kind !== 171 /* Constructor */ && (ts.getFunctionFlags(container) & 2 /* Async */) === 0) { + var relatedInfo = ts.createDiagnosticForNode(container, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); + ts.addRelatedInfo(diagnostic, relatedInfo); + } + diagnostics.add(diagnostic); + } } } + if (isInParameterInitializerBeforeContainingFunction(node)) { + error(node, ts.Diagnostics.await_expressions_cannot_be_used_in_a_parameter_initializer); + } + } + function checkAwaitExpression(node) { + addLazyDiagnostic(function () { return checkAwaitExpressionGrammar(node); }); var operandType = checkExpression(node.expression); var awaitedType = checkAwaitedType(operandType, /*withAlias*/ true, node, ts.Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); if (awaitedType === operandType && !isErrorType(awaitedType) && !(operandType.flags & 3 /* AnyOrUnknown */)) { @@ -76970,7 +78157,7 @@ var ts; case 40 /* MinusToken */: case 54 /* TildeToken */: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKind(operandType, 12288 /* ESSymbolLike */)) { + if (maybeTypeOfKindConsideringBaseConstraint(operandType, 12288 /* ESSymbolLike */)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } if (node.operator === 39 /* PlusToken */) { @@ -77018,6 +78205,13 @@ var ts; // If it's not a bigint type, implicit coercion will result in a number return numberType; } + function maybeTypeOfKindConsideringBaseConstraint(type, kind) { + if (maybeTypeOfKind(type, kind)) { + return true; + } + var baseConstraint = getBaseConstraintOrType(type); + return !!baseConstraint && maybeTypeOfKind(baseConstraint, kind); + } // Return true if type might be of the given kind. A union or intersection type might be of a given // kind if at least one constituent type is of the given kind. function maybeTypeOfKind(type, kind) { @@ -77150,7 +78344,7 @@ var ts; if (rightIsThis === void 0) { rightIsThis = false; } var properties = node.properties; var property = properties[propertyIndex]; - if (property.kind === 294 /* PropertyAssignment */ || property.kind === 295 /* ShorthandPropertyAssignment */) { + if (property.kind === 296 /* PropertyAssignment */ || property.kind === 297 /* ShorthandPropertyAssignment */) { var name = property.name; var exprType = getLiteralTypeFromPropertyName(name); if (isTypeUsableAsPropertyName(exprType)) { @@ -77163,9 +78357,9 @@ var ts; } var elementType = getIndexedAccessType(objectLiteralType, exprType, 32 /* ExpressionPosition */, name); var type = getFlowTypeOfDestructuring(property, elementType); - return checkDestructuringAssignment(property.kind === 295 /* ShorthandPropertyAssignment */ ? property : property.initializer, type); + return checkDestructuringAssignment(property.kind === 297 /* ShorthandPropertyAssignment */ ? property : property.initializer, type); } - else if (property.kind === 296 /* SpreadAssignment */) { + else if (property.kind === 298 /* SpreadAssignment */) { if (propertyIndex < properties.length - 1) { error(property, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } @@ -77203,7 +78397,7 @@ var ts; var inBoundsType = compilerOptions.noUncheckedIndexedAccess ? undefined : possiblyOutOfBoundsType; for (var i = 0; i < elements.length; i++) { var type = possiblyOutOfBoundsType; - if (node.elements[i].kind === 224 /* SpreadElement */) { + if (node.elements[i].kind === 225 /* SpreadElement */) { type = inBoundsType = inBoundsType !== null && inBoundsType !== void 0 ? inBoundsType : (checkIteratedTypeOrElementType(65 /* Destructuring */, sourceType, undefinedType, node) || errorType); } checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, type, checkMode); @@ -77213,8 +78407,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 226 /* OmittedExpression */) { - if (element.kind !== 224 /* SpreadElement */) { + if (element.kind !== 227 /* OmittedExpression */) { + if (element.kind !== 225 /* SpreadElement */) { var indexType = getNumberLiteralType(elementIndex); if (isArrayLikeType(sourceType)) { // We create a synthetic expression so that getIndexedAccessType doesn't get confused @@ -77232,7 +78426,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 220 /* BinaryExpression */ && restExpression.operatorToken.kind === 63 /* EqualsToken */) { + if (restExpression.kind === 221 /* BinaryExpression */ && restExpression.operatorToken.kind === 63 /* EqualsToken */) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -77248,7 +78442,7 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode, rightIsThis) { var target; - if (exprOrAssignment.kind === 295 /* ShorthandPropertyAssignment */) { + if (exprOrAssignment.kind === 297 /* ShorthandPropertyAssignment */) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove @@ -77264,24 +78458,24 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 220 /* BinaryExpression */ && target.operatorToken.kind === 63 /* EqualsToken */) { + if (target.kind === 221 /* BinaryExpression */ && target.operatorToken.kind === 63 /* EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 204 /* ObjectLiteralExpression */) { + if (target.kind === 205 /* ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType, rightIsThis); } - if (target.kind === 203 /* ArrayLiteralExpression */) { + if (target.kind === 204 /* ArrayLiteralExpression */) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 296 /* SpreadAssignment */ ? + var error = target.parent.kind === 298 /* SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; - var optionalError = target.parent.kind === 296 /* SpreadAssignment */ ? + var optionalError = target.parent.kind === 298 /* SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access; if (checkReferenceExpression(target, error, optionalError)) { @@ -77306,36 +78500,36 @@ var ts; case 79 /* Identifier */: case 10 /* StringLiteral */: case 13 /* RegularExpressionLiteral */: - case 209 /* TaggedTemplateExpression */: - case 222 /* TemplateExpression */: + case 210 /* TaggedTemplateExpression */: + case 223 /* TemplateExpression */: case 14 /* NoSubstitutionTemplateLiteral */: case 8 /* NumericLiteral */: case 9 /* BigIntLiteral */: case 110 /* TrueKeyword */: case 95 /* FalseKeyword */: case 104 /* NullKeyword */: - case 152 /* UndefinedKeyword */: - case 212 /* FunctionExpression */: - case 225 /* ClassExpression */: - case 213 /* ArrowFunction */: - case 203 /* ArrayLiteralExpression */: - case 204 /* ObjectLiteralExpression */: - case 215 /* TypeOfExpression */: - case 229 /* NonNullExpression */: - case 278 /* JsxSelfClosingElement */: - case 277 /* JsxElement */: + case 153 /* UndefinedKeyword */: + case 213 /* FunctionExpression */: + case 226 /* ClassExpression */: + case 214 /* ArrowFunction */: + case 204 /* ArrayLiteralExpression */: + case 205 /* ObjectLiteralExpression */: + case 216 /* TypeOfExpression */: + case 230 /* NonNullExpression */: + case 279 /* JsxSelfClosingElement */: + case 278 /* JsxElement */: return true; - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: // Unary operators ~, !, +, and - have no side effects. // The rest do. switch (node.operator) { @@ -77347,9 +78541,9 @@ var ts; } return false; // Some forms listed here for clarity - case 216 /* VoidExpression */: // Explicit opt-out - case 210 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings - case 228 /* AsExpression */: // Not SEF, but can produce useful type warnings + case 217 /* VoidExpression */: // Explicit opt-out + case 211 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings + case 229 /* AsExpression */: // Not SEF, but can produce useful type warnings default: return false; } @@ -77386,7 +78580,7 @@ var ts; } checkGrammarNullishCoalesceWithLogicalExpression(node); var operator = node.operatorToken.kind; - if (operator === 63 /* EqualsToken */ && (node.left.kind === 204 /* ObjectLiteralExpression */ || node.left.kind === 203 /* ArrayLiteralExpression */)) { + if (operator === 63 /* EqualsToken */ && (node.left.kind === 205 /* ObjectLiteralExpression */ || node.left.kind === 204 /* ArrayLiteralExpression */)) { state.skip = true; setLastResult(state, checkDestructuringAssignment(node.left, checkExpression(node.right, checkMode), checkMode, node.right.kind === 108 /* ThisKeyword */)); return state; @@ -77408,7 +78602,7 @@ var ts; if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */) { if (operator === 55 /* AmpersandAmpersandToken */) { var parent = ts.walkUpParenthesizedExpressions(node.parent); - checkTestingKnownTruthyCallableOrAwaitableType(node.left, leftType, ts.isIfStatement(parent) ? parent.thenStatement : undefined); + checkTestingKnownTruthyCallableOrAwaitableType(node.left, ts.isIfStatement(parent) ? parent.thenStatement : undefined); } checkTruthinessOfType(leftType, node.left); } @@ -77479,7 +78673,7 @@ var ts; // expression-wide checks and does not use a work stack to fold nested binary expressions into the same callstack frame function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 63 /* EqualsToken */ && (left.kind === 204 /* ObjectLiteralExpression */ || left.kind === 203 /* ArrayLiteralExpression */)) { + if (operator === 63 /* EqualsToken */ && (left.kind === 205 /* ObjectLiteralExpression */ || left.kind === 204 /* ArrayLiteralExpression */)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode, right.kind === 108 /* ThisKeyword */); } var leftType; @@ -77727,8 +78921,8 @@ var ts; } // Return true if there was no error, false if there was an error. function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKind(leftType, 12288 /* ESSymbolLike */) ? left : - maybeTypeOfKind(rightType, 12288 /* ESSymbolLike */) ? right : + var offendingSymbolOperand = maybeTypeOfKindConsideringBaseConstraint(leftType, 12288 /* ESSymbolLike */) ? left : + maybeTypeOfKindConsideringBaseConstraint(rightType, 12288 /* ESSymbolLike */) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -77752,7 +78946,10 @@ var ts; } } function checkAssignmentOperator(valueType) { - if (produceDiagnostics && ts.isAssignmentOperator(operator)) { + if (ts.isAssignmentOperator(operator)) { + addLazyDiagnostic(checkAssignmentOperatorWorker); + } + function checkAssignmentOperatorWorker() { // TypeScript 1.0 spec (April 2014): 4.17 // An assignment of the form // VarExpr = ValueExpr @@ -77851,15 +79048,7 @@ var ts; return [effectiveLeft, effectiveRight]; } function checkYieldExpression(node) { - // Grammar checking - if (produceDiagnostics) { - if (!(node.flags & 8192 /* YieldContext */)) { - grammarErrorOnFirstToken(node, ts.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body); - } - if (isInParameterInitializerBeforeContainingFunction(node)) { - error(node, ts.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer); - } - } + addLazyDiagnostic(checkYieldExpressionGrammar); var func = ts.getContainingFunction(node); if (!func) return anyType; @@ -77905,18 +79094,28 @@ var ts; var type = getContextualIterationType(2 /* Next */, func); if (!type) { type = anyType; - if (produceDiagnostics && noImplicitAny && !ts.expressionResultIsUnused(node)) { - var contextualType = getContextualType(node); - if (!contextualType || isTypeAny(contextualType)) { - error(node, ts.Diagnostics.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation); + addLazyDiagnostic(function () { + if (noImplicitAny && !ts.expressionResultIsUnused(node)) { + var contextualType = getContextualType(node); + if (!contextualType || isTypeAny(contextualType)) { + error(node, ts.Diagnostics.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation); + } } - } + }); } return type; + function checkYieldExpressionGrammar() { + if (!(node.flags & 8192 /* YieldContext */)) { + grammarErrorOnFirstToken(node, ts.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body); + } + if (isInParameterInitializerBeforeContainingFunction(node)) { + error(node, ts.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer); + } + } } function checkConditionalExpression(node, checkMode) { - var type = checkTruthinessExpression(node.condition); - checkTestingKnownTruthyCallableOrAwaitableType(node.condition, type, node.whenTrue); + checkTruthinessExpression(node.condition); + checkTestingKnownTruthyCallableOrAwaitableType(node.condition, node.whenTrue); var type1 = checkExpression(node.whenTrue, checkMode); var type2 = checkExpression(node.whenFalse, checkMode); return getUnionType([type1, type2], 2 /* Subtype */); @@ -77932,7 +79131,7 @@ var ts; for (var _i = 0, _a = node.templateSpans; _i < _a.length; _i++) { var span = _a[_i]; var type = checkExpression(span.expression); - if (maybeTypeOfKind(type, 12288 /* ESSymbolLike */)) { + if (maybeTypeOfKindConsideringBaseConstraint(type, 12288 /* ESSymbolLike */)) { error(span.expression, ts.Diagnostics.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String); } texts.push(span.literal.text); @@ -77945,7 +79144,7 @@ var ts; type.flags & 58982400 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || unknownType, 402653316 /* StringLike */)); } function getContextNode(node) { - if (node.kind === 285 /* JsxAttributes */ && !ts.isJsxSelfClosingElement(node.parent)) { + if (node.kind === 286 /* JsxAttributes */ && !ts.isJsxSelfClosingElement(node.parent)) { return node.parent.parent; // Needs to be the root JsxElement, so it encompasses the attributes _and_ the children (which are essentially part of the attributes) } return node; @@ -77958,6 +79157,11 @@ var ts; context.contextualType = contextualType; context.inferenceContext = inferenceContext; var type = checkExpression(node, checkMode | 1 /* Contextual */ | (inferenceContext ? 2 /* Inferential */ : 0)); + // In CheckMode.Inferential we collect intra-expression inference sites to process before fixing any type + // parameters. This information is no longer needed after the call to checkExpression. + if (inferenceContext && inferenceContext.intraExpressionInferenceSites) { + inferenceContext.intraExpressionInferenceSites = undefined; + } // We strip literal freshness when an appropriate contextual type is present such that contextually typed // literals always preserve their literal types (otherwise they might widen during type inference). An alternative // here would be to not mark contextually typed literals as fresh in the first place. @@ -77994,8 +79198,8 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return node.kind === 210 /* TypeAssertionExpression */ || - node.kind === 228 /* AsExpression */ || + return node.kind === 211 /* TypeAssertionExpression */ || + node.kind === 229 /* AsExpression */ || ts.isJSDocTypeAssertion(node); } function checkDeclarationInitializer(declaration, checkMode, contextualType) { @@ -78004,7 +79208,7 @@ var ts; (contextualType ? checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || 0 /* Normal */) : checkExpressionCached(initializer, checkMode)); - return ts.isParameter(declaration) && declaration.name.kind === 201 /* ArrayBindingPattern */ && + return ts.isParameter(declaration) && declaration.name.kind === 202 /* ArrayBindingPattern */ && isTupleType(type) && !type.target.hasRestElement && getTypeReferenceArity(type) < declaration.name.elements.length ? padTupleType(type, declaration.name) : type; } @@ -78014,7 +79218,7 @@ var ts; var elementFlags = type.target.elementFlags.slice(); for (var i = getTypeReferenceArity(type); i < patternElements.length; i++) { var e = patternElements[i]; - if (i < patternElements.length - 1 || !(e.kind === 202 /* BindingElement */ && e.dotDotDotToken)) { + if (i < patternElements.length - 1 || !(e.kind === 203 /* BindingElement */ && e.dotDotDotToken)) { elementTypes.push(!ts.isOmittedExpression(e) && hasDefaultValue(e) ? getTypeFromBindingElement(e, /*includePatternInType*/ false, /*reportErrors*/ false) : anyType); elementFlags.push(2 /* Optional */); if (!ts.isOmittedExpression(e) && !hasDefaultValue(e)) { @@ -78074,7 +79278,7 @@ var ts; } function checkExpressionForMutableLocation(node, checkMode, contextualType, forceTuple) { var type = checkExpression(node, checkMode, forceTuple); - return isConstContext(node) ? getRegularTypeOfLiteralType(type) : + return isConstContext(node) || ts.isCommonJsExportedExpression(node) ? getRegularTypeOfLiteralType(type) : isTypeAssertion(node) ? type : getWidenedLiteralLikeTypeForContextualType(type, instantiateContextualType(arguments.length === 2 ? getContextualType(node) : contextualType, node)); } @@ -78082,7 +79286,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 161 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); @@ -78093,7 +79297,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 161 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -78249,7 +79453,7 @@ var ts; return quickType; } // If a type has been cached for the node, return it. - if (node.flags & 67108864 /* TypeCached */ && flowTypeCache) { + if (node.flags & 134217728 /* TypeCached */ && flowTypeCache) { var cachedType = flowTypeCache[getNodeId(node)]; if (cachedType) { return cachedType; @@ -78261,7 +79465,7 @@ var ts; if (flowInvocationCount !== startInvocationCount) { var cache = flowTypeCache || (flowTypeCache = []); cache[getNodeId(node)] = type; - ts.setNodeFlags(node, node.flags | 67108864 /* TypeCached */); + ts.setNodeFlags(node, node.flags | 134217728 /* TypeCached */); } return type; } @@ -78336,18 +79540,18 @@ var ts; // - 'left' in property access // - 'object' in indexed access // - target in rhs of import statement - var ok = (node.parent.kind === 205 /* PropertyAccessExpression */ && node.parent.expression === node) || - (node.parent.kind === 206 /* ElementAccessExpression */ && node.parent.expression === node) || - ((node.kind === 79 /* Identifier */ || node.kind === 160 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 180 /* TypeQuery */ && node.parent.exprName === node)) || - (node.parent.kind === 274 /* ExportSpecifier */); // We allow reexporting const enums + var ok = (node.parent.kind === 206 /* PropertyAccessExpression */ && node.parent.expression === node) || + (node.parent.kind === 207 /* ElementAccessExpression */ && node.parent.expression === node) || + ((node.kind === 79 /* Identifier */ || node.kind === 161 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 181 /* TypeQuery */ && node.parent.exprName === node)) || + (node.parent.kind === 275 /* ExportSpecifier */); // We allow reexporting const enums if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } if (compilerOptions.isolatedModules) { ts.Debug.assert(!!(type.symbol.flags & 128 /* ConstEnum */)); var constEnumDeclaration = type.symbol.valueDeclaration; - if (constEnumDeclaration.flags & 8388608 /* Ambient */) { + if (constEnumDeclaration.flags & 16777216 /* Ambient */) { error(node, ts.Diagnostics.Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided); } } @@ -78365,9 +79569,9 @@ var ts; // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } } @@ -78398,78 +79602,80 @@ var ts; return trueType; case 95 /* FalseKeyword */: return falseType; - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: return checkTemplateExpression(node); case 13 /* RegularExpressionLiteral */: return globalRegExpType; - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return checkArrayLiteral(node, checkMode, forceTuple); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return checkObjectLiteral(node, checkMode); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return checkPropertyAccessExpression(node, checkMode); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return checkQualifiedName(node, checkMode); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return checkIndexedAccess(node, checkMode); - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (node.expression.kind === 100 /* ImportKeyword */) { return checkImportCallExpression(node); } // falls through - case 208 /* NewExpression */: + case 209 /* NewExpression */: return checkCallExpression(node, checkMode); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return checkTaggedTemplateExpression(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return checkParenthesizedExpression(node, checkMode); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: return checkClassExpression(node); - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 215 /* TypeOfExpression */: + case 216 /* TypeOfExpression */: return checkTypeOfExpression(node); - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: return checkAssertion(node); - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: return checkNonNullAssertion(node); - case 230 /* MetaProperty */: + case 228 /* ExpressionWithTypeArguments */: + return checkExpressionWithTypeArguments(node); + case 231 /* MetaProperty */: return checkMetaProperty(node); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: return checkDeleteExpression(node); - case 216 /* VoidExpression */: + case 217 /* VoidExpression */: return checkVoidExpression(node); - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: return checkAwaitExpression(node); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return checkPrefixUnaryExpression(node); - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return checkPostfixUnaryExpression(node); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return checkBinaryExpression(node, checkMode); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return checkConditionalExpression(node, checkMode); - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: return checkSpreadExpression(node, checkMode); - case 226 /* OmittedExpression */: + case 227 /* OmittedExpression */: return undefinedWideningType; - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return checkYieldExpression(node); - case 231 /* SyntheticExpression */: + case 232 /* SyntheticExpression */: return checkSyntheticExpression(node); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return checkJsxExpression(node, checkMode); - case 277 /* JsxElement */: + case 278 /* JsxElement */: return checkJsxElement(node, checkMode); - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: return checkJsxSelfClosingElement(node, checkMode); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: return checkJsxFragment(node); - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: return checkJsxAttributes(node, checkMode); - case 279 /* JsxOpeningElement */: + case 280 /* JsxOpeningElement */: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } return errorType; @@ -78477,6 +79683,7 @@ var ts; // DECLARATION AND STATEMENT TYPE CHECKING function checkTypeParameter(node) { // Grammar Checking + checkGrammarModifiers(node); if (node.expression) { grammarErrorOnFirstToken(node.expression, ts.Diagnostics.Type_expected); } @@ -78493,9 +79700,19 @@ var ts; if (constraintType && defaultType) { checkTypeAssignableTo(defaultType, getTypeWithThisArgument(instantiateType(constraintType, makeUnaryTypeMapper(typeParameter, defaultType)), defaultType), node.default, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); } - if (produceDiagnostics) { - checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); + if (node.parent.kind === 258 /* InterfaceDeclaration */ || node.parent.kind === 257 /* ClassDeclaration */ || node.parent.kind === 259 /* TypeAliasDeclaration */) { + var modifiers = getVarianceModifiers(typeParameter); + if (modifiers === 32768 /* In */ || modifiers === 65536 /* Out */) { + var symbol = getSymbolOfNode(node.parent); + var source = createMarkerType(symbol, typeParameter, modifiers === 65536 /* Out */ ? markerSubType : markerSuperType); + var target = createMarkerType(symbol, typeParameter, modifiers === 65536 /* Out */ ? markerSuperType : markerSubType); + var saveVarianceTypeParameter = typeParameter; + varianceTypeParameter = typeParameter; + checkTypeAssignableTo(source, target, node, ts.Diagnostics.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation); + varianceTypeParameter = saveVarianceTypeParameter; + } } + addLazyDiagnostic(function () { return checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); }); } function checkParameter(node) { // Grammar checking @@ -78506,10 +79723,10 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */)) { - if (!(func.kind === 170 /* Constructor */ && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 171 /* Constructor */ && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } - if (func.kind === 170 /* Constructor */ && ts.isIdentifier(node.name) && node.name.escapedText === "constructor") { + if (func.kind === 171 /* Constructor */ && ts.isIdentifier(node.name) && node.name.escapedText === "constructor") { error(node.name, ts.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name); } } @@ -78520,13 +79737,13 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 170 /* Constructor */ || func.kind === 174 /* ConstructSignature */ || func.kind === 179 /* ConstructorType */) { + if (func.kind === 171 /* Constructor */ || func.kind === 175 /* ConstructSignature */ || func.kind === 180 /* ConstructorType */) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } - if (func.kind === 213 /* ArrowFunction */) { + if (func.kind === 214 /* ArrowFunction */) { error(node, ts.Diagnostics.An_arrow_function_cannot_have_a_this_parameter); } - if (func.kind === 171 /* GetAccessor */ || func.kind === 172 /* SetAccessor */) { + if (func.kind === 172 /* GetAccessor */ || func.kind === 173 /* SetAccessor */) { error(node, ts.Diagnostics.get_and_set_accessors_cannot_declare_this_parameters); } } @@ -78584,13 +79801,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { - case 213 /* ArrowFunction */: - case 173 /* CallSignature */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 178 /* FunctionType */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 214 /* ArrowFunction */: + case 174 /* CallSignature */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 179 /* FunctionType */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: var parent = node.parent; if (node === parent.type) { return parent; @@ -78608,7 +79825,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 201 /* ArrayBindingPattern */ || name.kind === 200 /* ObjectBindingPattern */) { + else if (name.kind === 202 /* ArrayBindingPattern */ || name.kind === 201 /* ObjectBindingPattern */) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -78617,13 +79834,13 @@ var ts; } function checkSignatureDeclaration(node) { // Grammar checking - if (node.kind === 175 /* IndexSignature */) { + if (node.kind === 176 /* IndexSignature */) { checkGrammarIndexSignature(node); } // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - else if (node.kind === 178 /* FunctionType */ || node.kind === 255 /* FunctionDeclaration */ || node.kind === 179 /* ConstructorType */ || - node.kind === 173 /* CallSignature */ || node.kind === 170 /* Constructor */ || - node.kind === 174 /* ConstructSignature */) { + else if (node.kind === 179 /* FunctionType */ || node.kind === 256 /* FunctionDeclaration */ || node.kind === 180 /* ConstructorType */ || + node.kind === 174 /* CallSignature */ || node.kind === 171 /* Constructor */ || + node.kind === 175 /* ConstructSignature */) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -78649,15 +79866,16 @@ var ts; if (node.type) { checkSourceElement(node.type); } - if (produceDiagnostics) { + addLazyDiagnostic(checkSignatureDeclarationDiagnostics); + function checkSignatureDeclarationDiagnostics() { checkCollisionWithArgumentsInGeneratedCode(node); var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 174 /* ConstructSignature */: + case 175 /* ConstructSignature */: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 173 /* CallSignature */: + case 174 /* CallSignature */: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -78687,7 +79905,7 @@ var ts; checkAsyncFunctionReturnType(node, returnTypeNode); } } - if (node.kind !== 175 /* IndexSignature */ && node.kind !== 315 /* JSDocFunctionType */) { + if (node.kind !== 176 /* IndexSignature */ && node.kind !== 317 /* JSDocFunctionType */) { registerForUnusedIdentifiersCheck(node); } } @@ -78699,7 +79917,7 @@ var ts; var privateIdentifiers = new ts.Map(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 170 /* Constructor */) { + if (member.kind === 171 /* Constructor */) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param, member) && !ts.isBindingPattern(param.name)) { @@ -78721,16 +79939,16 @@ var ts; var memberName = name && ts.getPropertyNameForPropertyNameNode(name); if (memberName) { switch (member.kind) { - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: addName(names, name, memberName, 1 /* GetAccessor */ | privateStaticFlags); break; - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: addName(names, name, memberName, 2 /* SetAccessor */ | privateStaticFlags); break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: addName(names, name, memberName, 3 /* GetOrSetAccessor */ | privateStaticFlags); break; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: addName(names, name, memberName, 8 /* Method */ | privateStaticFlags); break; } @@ -78802,7 +80020,7 @@ var ts; var names = new ts.Map(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 165 /* PropertySignature */) { + if (member.kind === 166 /* PropertySignature */) { var memberName = void 0; var name = member.name; switch (name.kind) { @@ -78827,7 +80045,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 257 /* InterfaceDeclaration */) { + if (node.kind === 258 /* InterfaceDeclaration */) { var nodeSymbol = getSymbolOfNode(node); // in case of merging interface declaration it is possible that we'll enter this check procedure several times for every declaration // to prevent this run check only for the first declaration of a given kind @@ -78841,7 +80059,7 @@ var ts; var indexSymbol = getIndexSymbol(getSymbolOfNode(node)); if (indexSymbol === null || indexSymbol === void 0 ? void 0 : indexSymbol.declarations) { var indexSignatureMap_1 = new ts.Map(); - var _loop_26 = function (declaration) { + var _loop_27 = function (declaration) { if (declaration.parameters.length === 1 && declaration.parameters[0].type) { forEachType(getTypeFromTypeNode(declaration.parameters[0].type), function (type) { var entry = indexSignatureMap_1.get(getTypeId(type)); @@ -78856,7 +80074,7 @@ var ts; }; for (var _i = 0, _a = indexSymbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - _loop_26(declaration); + _loop_27(declaration); } indexSignatureMap_1.forEach(function (entry) { if (entry.declarations.length > 1) { @@ -78875,7 +80093,7 @@ var ts; checkVariableLikeDeclaration(node); setNodeLinksForPrivateIdentifierScope(node); // property signatures already report "initializer not allowed in ambient context" elsewhere - if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 166 /* PropertyDeclaration */ && node.initializer) { + if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 167 /* PropertyDeclaration */ && node.initializer) { error(node, ts.Diagnostics.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -78892,7 +80110,7 @@ var ts; // Grammar checking for modifiers is done inside the function checkGrammarFunctionLikeDeclaration checkFunctionOrMethodDeclaration(node); // method signatures already report "implementation not allowed in ambient context" elsewhere - if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 168 /* MethodDeclaration */ && node.body) { + if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 169 /* MethodDeclaration */ && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } // Private named methods are only allowed in class declarations @@ -78939,65 +80157,66 @@ var ts; if (ts.nodeIsMissing(node.body)) { return; } - if (!produceDiagnostics) { - return; - } + addLazyDiagnostic(checkConstructorDeclarationDiagnostics); + return; function isInstancePropertyWithInitializerOrPrivateIdentifierProperty(n) { if (ts.isPrivateIdentifierClassElementDeclaration(n)) { return true; } - return n.kind === 166 /* PropertyDeclaration */ && + return n.kind === 167 /* PropertyDeclaration */ && !ts.isStatic(n) && !!n.initializer; } - // TS 1.0 spec (April 2014): 8.3.2 - // Constructors of classes with no extends clause may not contain super calls, whereas - // constructors of derived classes must contain at least one super call somewhere in their function body. - var containingClassDecl = node.parent; - if (ts.getClassExtendsHeritageElement(containingClassDecl)) { - captureLexicalThis(node.parent, containingClassDecl); - var classExtendsNull = classDeclarationExtendsNull(containingClassDecl); - var superCall = findFirstSuperCall(node.body); - if (superCall) { - if (classExtendsNull) { - error(superCall, ts.Diagnostics.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null); - } - // A super call must be root-level in a constructor if both of the following are true: - // - The containing class is a derived class. - // - The constructor declares parameter properties - // or the containing class declares instance member variables with initializers. - var superCallShouldBeRootLevel = (ts.getEmitScriptTarget(compilerOptions) !== 99 /* ESNext */ || !useDefineForClassFields) && - (ts.some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) || - ts.some(node.parameters, function (p) { return ts.hasSyntacticModifier(p, 16476 /* ParameterPropertyModifier */); })); - if (superCallShouldBeRootLevel) { - // Until we have better flow analysis, it is an error to place the super call within any kind of block or conditional - // See GH #8277 - if (!superCallIsRootLevelInConstructor(superCall, node.body)) { - error(superCall, ts.Diagnostics.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers); - } - // Skip past any prologue directives to check statements for referring to 'super' or 'this' before a super call - else { - var superCallStatement = void 0; - for (var _i = 0, _a = node.body.statements; _i < _a.length; _i++) { - var statement = _a[_i]; - if (ts.isExpressionStatement(statement) && ts.isSuperCall(ts.skipOuterExpressions(statement.expression))) { - superCallStatement = statement; - break; - } - if (!ts.isPrologueDirective(statement) && nodeImmediatelyReferencesSuperOrThis(statement)) { - break; - } - } + function checkConstructorDeclarationDiagnostics() { + // TS 1.0 spec (April 2014): 8.3.2 + // Constructors of classes with no extends clause may not contain super calls, whereas + // constructors of derived classes must contain at least one super call somewhere in their function body. + var containingClassDecl = node.parent; + if (ts.getClassExtendsHeritageElement(containingClassDecl)) { + captureLexicalThis(node.parent, containingClassDecl); + var classExtendsNull = classDeclarationExtendsNull(containingClassDecl); + var superCall = findFirstSuperCall(node.body); + if (superCall) { + if (classExtendsNull) { + error(superCall, ts.Diagnostics.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null); + } + // A super call must be root-level in a constructor if both of the following are true: + // - The containing class is a derived class. + // - The constructor declares parameter properties + // or the containing class declares instance member variables with initializers. + var superCallShouldBeRootLevel = (ts.getEmitScriptTarget(compilerOptions) !== 99 /* ESNext */ || !useDefineForClassFields) && + (ts.some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) || + ts.some(node.parameters, function (p) { return ts.hasSyntacticModifier(p, 16476 /* ParameterPropertyModifier */); })); + if (superCallShouldBeRootLevel) { // Until we have better flow analysis, it is an error to place the super call within any kind of block or conditional // See GH #8277 - if (superCallStatement === undefined) { - error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers); + if (!superCallIsRootLevelInConstructor(superCall, node.body)) { + error(superCall, ts.Diagnostics.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers); + } + // Skip past any prologue directives to check statements for referring to 'super' or 'this' before a super call + else { + var superCallStatement = void 0; + for (var _i = 0, _a = node.body.statements; _i < _a.length; _i++) { + var statement = _a[_i]; + if (ts.isExpressionStatement(statement) && ts.isSuperCall(ts.skipOuterExpressions(statement.expression))) { + superCallStatement = statement; + break; + } + if (!ts.isPrologueDirective(statement) && nodeImmediatelyReferencesSuperOrThis(statement)) { + break; + } + } + // Until we have better flow analysis, it is an error to place the super call within any kind of block or conditional + // See GH #8277 + if (superCallStatement === undefined) { + error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers); + } } } } - } - else if (!classExtendsNull) { - error(node, ts.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call); + else if (!classExtendsNull) { + error(node, ts.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call); + } } } } @@ -79015,14 +80234,17 @@ var ts; return !!ts.forEachChild(node, nodeImmediatelyReferencesSuperOrThis); } function checkAccessorDeclaration(node) { - if (produceDiagnostics) { + addLazyDiagnostic(checkAccessorDeclarationDiagnostics); + checkSourceElement(node.body); + setNodeLinksForPrivateIdentifierScope(node); + function checkAccessorDeclarationDiagnostics() { // Grammar checking accessors if (!checkGrammarFunctionLikeDeclaration(node) && !checkGrammarAccessor(node)) checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 171 /* GetAccessor */) { - if (!(node.flags & 8388608 /* Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 256 /* HasImplicitReturn */)) { + if (node.kind === 172 /* GetAccessor */) { + if (!(node.flags & 16777216 /* Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 256 /* HasImplicitReturn */)) { if (!(node.flags & 512 /* HasExplicitReturn */)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); } @@ -79031,15 +80253,15 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 161 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); } if (hasBindableName(node)) { // TypeScript 1.0 spec (April 2014): 8.4.3 // Accessors for the same member name must specify the same accessibility. var symbol = getSymbolOfNode(node); - var getter = ts.getDeclarationOfKind(symbol, 171 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 172 /* SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 172 /* GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */); if (getter && setter && !(getNodeCheckFlags(getter) & 1 /* TypeChecked */)) { getNodeLinks(getter).flags |= 1 /* TypeChecked */; var getterFlags = ts.getEffectiveModifierFlags(getter); @@ -79061,12 +80283,10 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 171 /* GetAccessor */) { + if (node.kind === 172 /* GetAccessor */) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } - checkSourceElement(node.body); - setNodeLinksForPrivateIdentifierScope(node); } function checkMissingDeclaration(node) { checkDecorators(node); @@ -79103,21 +80323,23 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 177 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJSFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 178 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJSFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } ts.forEach(node.typeArguments, checkSourceElement); var type = getTypeFromTypeReference(node); if (!isErrorType(type)) { - if (node.typeArguments && produceDiagnostics) { - var typeParameters = getTypeParametersForTypeReference(node); - if (typeParameters) { - checkTypeArgumentConstraints(node, typeParameters); - } + if (node.typeArguments) { + addLazyDiagnostic(function () { + var typeParameters = getTypeParametersForTypeReference(node); + if (typeParameters) { + checkTypeArgumentConstraints(node, typeParameters); + } + }); } var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { - if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 134217728 /* Deprecated */); })) { + if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 268435456 /* Deprecated */); })) { addDeprecatedSuggestion(getDeprecatedSuggestionNode(node), symbol.declarations, symbol.escapedName); } if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { @@ -79141,7 +80363,8 @@ var ts; } function checkTypeLiteral(node) { ts.forEach(node.members, checkSourceElement); - if (produceDiagnostics) { + addLazyDiagnostic(checkTypeLiteralDiagnostics); + function checkTypeLiteralDiagnostics() { var type = getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); checkIndexConstraints(type, type.symbol); checkTypeForDuplicateIndexSignatures(node); @@ -79158,7 +80381,7 @@ var ts; var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember); for (var _i = 0, elementTypes_1 = elementTypes; _i < elementTypes_1.length; _i++) { var e = elementTypes_1[_i]; - if (e.kind !== 196 /* NamedTupleMember */ && hasNamedElement) { + if (e.kind !== 197 /* NamedTupleMember */ && hasNamedElement) { grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names); break; } @@ -79207,7 +80430,7 @@ var ts; var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, /*stringsOnly*/ false))) { - if (accessNode.kind === 206 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 207 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 /* Mapped */ && getMappedTypeModifiers(objectType) & 1 /* IncludeReadonly */) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } @@ -79272,10 +80495,27 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 188 /* ConditionalType */ && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 189 /* ConditionalType */ && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); + var symbol = getSymbolOfNode(node.typeParameter); + if (symbol.declarations && symbol.declarations.length > 1) { + var links = getSymbolLinks(symbol); + if (!links.typeParametersChecked) { + links.typeParametersChecked = true; + var typeParameter = getDeclaredTypeOfTypeParameter(symbol); + var declarations = ts.getDeclarationsOfKind(symbol, 163 /* TypeParameter */); + if (!areTypeParametersIdentical(declarations, [typeParameter], function (decl) { return [decl]; })) { + // Report an error on every conflicting declaration. + var name = symbolToString(symbol); + for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) { + var declaration = declarations_4[_i]; + error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_constraints, name); + } + } + } + } registerForUnusedIdentifiersCheck(node); } function checkTemplateLiteralType(node) { @@ -79289,32 +80529,40 @@ var ts; } function checkImportType(node) { checkSourceElement(node.argument); + if (node.assertions) { + var override = ts.getResolutionModeOverrideForClause(node.assertions.assertClause, grammarErrorOnNode); + if (override) { + if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { + grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext); + } + } + } getTypeFromTypeNode(node); } function checkNamedTupleMember(node) { if (node.dotDotDotToken && node.questionToken) { grammarErrorOnNode(node, ts.Diagnostics.A_tuple_member_cannot_be_both_optional_and_rest); } - if (node.type.kind === 184 /* OptionalType */) { + if (node.type.kind === 185 /* OptionalType */) { grammarErrorOnNode(node.type, ts.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type); } - if (node.type.kind === 185 /* RestType */) { + if (node.type.kind === 186 /* RestType */) { grammarErrorOnNode(node.type, ts.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type); } checkSourceElement(node.type); getTypeFromTypeNode(node); } function isPrivateWithinAmbient(node) { - return (ts.hasEffectiveModifier(node, 8 /* Private */) || ts.isPrivateIdentifierClassElementDeclaration(node)) && !!(node.flags & 8388608 /* Ambient */); + return (ts.hasEffectiveModifier(node, 8 /* Private */) || ts.isPrivateIdentifierClassElementDeclaration(node)) && !!(node.flags & 16777216 /* Ambient */); } function getEffectiveDeclarationFlags(n, flagsToCheck) { var flags = ts.getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. - if (n.parent.kind !== 257 /* InterfaceDeclaration */ && - n.parent.kind !== 256 /* ClassDeclaration */ && - n.parent.kind !== 225 /* ClassExpression */ && - n.flags & 8388608 /* Ambient */) { + if (n.parent.kind !== 258 /* InterfaceDeclaration */ && + n.parent.kind !== 257 /* ClassDeclaration */ && + n.parent.kind !== 226 /* ClassExpression */ && + n.flags & 16777216 /* Ambient */) { if (!(flags & 2 /* Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { // It is nested in an ambient context, which means it is automatically exported flags |= 1 /* Export */; @@ -79324,9 +80572,9 @@ var ts; return flags & flagsToCheck; } function checkFunctionOrConstructorSymbol(symbol) { - if (!produceDiagnostics) { - return; - } + addLazyDiagnostic(function () { return checkFunctionOrConstructorSymbolWorker(symbol); }); + } + function checkFunctionOrConstructorSymbolWorker(symbol) { function getCanonicalOverload(overloads, implementation) { // Consider the canonical set of flags to be the flags of the bodyDeclaration or the first declaration // Error on all deviations from this canonical set of flags @@ -79409,7 +80657,7 @@ var ts; // Both are literal property names that are the same. ts.isPropertyNameLiteral(node.name) && ts.isPropertyNameLiteral(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 168 /* MethodDeclaration */ || node.kind === 167 /* MethodSignature */) && + var reportError = (node.kind === 169 /* MethodDeclaration */ || node.kind === 168 /* MethodSignature */) && ts.isStatic(node) !== ts.isStatic(subsequentNode); // we can get here in two cases // 1. mixed static and instance class members @@ -79447,11 +80695,11 @@ var ts; var hasNonAmbientClass = false; var functionDeclarations = []; if (declarations) { - for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) { - var current = declarations_4[_i]; + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { + var current = declarations_5[_i]; var node = current; - var inAmbientContext = node.flags & 8388608 /* Ambient */; - var inAmbientContextOrInterface = node.parent && (node.parent.kind === 257 /* InterfaceDeclaration */ || node.parent.kind === 181 /* TypeLiteral */) || inAmbientContext; + var inAmbientContext = node.flags & 16777216 /* Ambient */; + var inAmbientContextOrInterface = node.parent && (node.parent.kind === 258 /* InterfaceDeclaration */ || node.parent.kind === 182 /* TypeLiteral */) || inAmbientContext; if (inAmbientContextOrInterface) { // check if declarations are consecutive only if they are non-ambient // 1. ambient declarations can be interleaved @@ -79462,10 +80710,10 @@ var ts; // 2. mixing ambient and non-ambient declarations is a separate error that will be reported - do not want to report an extra one previousDeclaration = undefined; } - if ((node.kind === 256 /* ClassDeclaration */ || node.kind === 225 /* ClassExpression */) && !inAmbientContext) { + if ((node.kind === 257 /* ClassDeclaration */ || node.kind === 226 /* ClassExpression */) && !inAmbientContext) { hasNonAmbientClass = true; } - if (node.kind === 255 /* FunctionDeclaration */ || node.kind === 168 /* MethodDeclaration */ || node.kind === 167 /* MethodSignature */ || node.kind === 170 /* Constructor */) { + if (node.kind === 256 /* FunctionDeclaration */ || node.kind === 169 /* MethodDeclaration */ || node.kind === 168 /* MethodSignature */ || node.kind === 171 /* Constructor */) { functionDeclarations.push(node); var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; @@ -79510,12 +80758,12 @@ var ts; }); } if (hasNonAmbientClass && !isConstructor && symbol.flags & 16 /* Function */ && declarations) { - var relatedDiagnostics_1 = ts.filter(declarations, function (d) { return d.kind === 256 /* ClassDeclaration */; }) + var relatedDiagnostics_1 = ts.filter(declarations, function (d) { return d.kind === 257 /* ClassDeclaration */; }) .map(function (d) { return ts.createDiagnosticForNode(d, ts.Diagnostics.Consider_adding_a_declare_modifier_to_this_class); }); ts.forEach(declarations, function (declaration) { - var diagnostic = declaration.kind === 256 /* ClassDeclaration */ + var diagnostic = declaration.kind === 257 /* ClassDeclaration */ ? ts.Diagnostics.Class_declaration_cannot_implement_overload_list_for_0 - : declaration.kind === 255 /* FunctionDeclaration */ + : declaration.kind === 256 /* FunctionDeclaration */ ? ts.Diagnostics.Function_with_bodies_can_only_merge_with_classes_that_are_ambient : undefined; if (diagnostic) { @@ -79547,9 +80795,9 @@ var ts; } } function checkExportsOnMergedDeclarations(node) { - if (!produceDiagnostics) { - return; - } + addLazyDiagnostic(function () { return checkExportsOnMergedDeclarationsWorker(node); }); + } + function checkExportsOnMergedDeclarationsWorker(node) { // if localSymbol is defined on node then node itself is exported - check is required var symbol = node.localSymbol; if (!symbol) { @@ -79606,26 +80854,26 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: // A jsdoc typedef and callback are, by definition, type aliases. // falls through - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 337 /* JSDocEnumTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 339 /* JSDocEnumTag */: return 2 /* ExportType */; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* NonInstantiated */ ? 4 /* ExportNamespace */ | 1 /* ExportValue */ : 4 /* ExportNamespace */; - case 256 /* ClassDeclaration */: - case 259 /* EnumDeclaration */: - case 297 /* EnumMember */: + case 257 /* ClassDeclaration */: + case 260 /* EnumDeclaration */: + case 299 /* EnumMember */: return 2 /* ExportType */ | 1 /* ExportValue */; - case 303 /* SourceFile */: + case 305 /* SourceFile */: return 2 /* ExportType */ | 1 /* ExportValue */ | 4 /* ExportNamespace */; - case 270 /* ExportAssignment */: - case 220 /* BinaryExpression */: + case 271 /* ExportAssignment */: + case 221 /* BinaryExpression */: var node_2 = d; var expression = ts.isExportAssignment(node_2) ? node_2.expression : node_2.right; // Export assigned entity name expressions act as aliases and should fall through, otherwise they export values @@ -79635,19 +80883,19 @@ var ts; d = expression; // The below options all declare an Alias, which is allowed to merge with other values within the importing module. // falls through - case 264 /* ImportEqualsDeclaration */: - case 267 /* NamespaceImport */: - case 266 /* ImportClause */: - var result_11 = 0 /* None */; + case 265 /* ImportEqualsDeclaration */: + case 268 /* NamespaceImport */: + case 267 /* ImportClause */: + var result_12 = 0 /* None */; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { - result_11 |= getDeclarationSpaces(d); + result_12 |= getDeclarationSpaces(d); }); - return result_11; - case 253 /* VariableDeclaration */: - case 202 /* BindingElement */: - case 255 /* FunctionDeclaration */: - case 269 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 + return result_12; + case 254 /* VariableDeclaration */: + case 203 /* BindingElement */: + case 256 /* FunctionDeclaration */: + case 270 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 case 79 /* Identifier */: // https://github.com/microsoft/TypeScript/issues/36098 // Identifiers are used as declarations of assignment declarations whose parents may be // SyntaxKind.CallExpression - `Object.defineProperty(thing, "aField", {value: 42});` @@ -80007,20 +81255,20 @@ var ts; var headMessage; var expectedReturnType; switch (node.parent.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 166 /* PropertyDeclaration */: - case 163 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 164 /* Parameter */: headMessage = ts.Diagnostics.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any; expectedReturnType = voidType; break; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var methodType = getTypeOfNode(node.parent); var descriptorType = createTypedPropertyDescriptorType(methodType); @@ -80036,20 +81284,31 @@ var ts; * marked as referenced to prevent import elision. */ function markTypeNodeAsReferenced(node) { - markEntityNameOrEntityExpressionAsReference(node && ts.getEntityNameFromTypeNode(node)); + markEntityNameOrEntityExpressionAsReference(node && ts.getEntityNameFromTypeNode(node), /*forDecoratorMetadata*/ false); } - function markEntityNameOrEntityExpressionAsReference(typeName) { + function markEntityNameOrEntityExpressionAsReference(typeName, forDecoratorMetadata) { if (!typeName) return; var rootName = ts.getFirstIdentifier(typeName); var meaning = (typeName.kind === 79 /* Identifier */ ? 788968 /* Type */ : 1920 /* Namespace */) | 2097152 /* Alias */; var rootSymbol = resolveName(rootName, rootName.escapedText, meaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isReference*/ true); - if (rootSymbol - && rootSymbol.flags & 2097152 /* Alias */ - && symbolIsValue(rootSymbol) - && !isConstEnumOrConstEnumOnlyModule(resolveAlias(rootSymbol)) - && !getTypeOnlyAliasDeclaration(rootSymbol)) { - markAliasSymbolAsReferenced(rootSymbol); + if (rootSymbol && rootSymbol.flags & 2097152 /* Alias */) { + if (symbolIsValue(rootSymbol) + && !isConstEnumOrConstEnumOnlyModule(resolveAlias(rootSymbol)) + && !getTypeOnlyAliasDeclaration(rootSymbol)) { + markAliasSymbolAsReferenced(rootSymbol); + } + else if (forDecoratorMetadata + && compilerOptions.isolatedModules + && ts.getEmitModuleKind(compilerOptions) >= ts.ModuleKind.ES2015 + && !symbolIsValue(rootSymbol) + && !ts.some(rootSymbol.declarations, ts.isTypeOnlyImportOrExportDeclaration)) { + var diag = error(typeName, ts.Diagnostics.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled); + var aliasDeclaration = ts.find(rootSymbol.declarations || ts.emptyArray, isAliasSymbolDeclaration); + if (aliasDeclaration) { + ts.addRelatedInfo(diag, ts.createDiagnosticForNode(aliasDeclaration, ts.Diagnostics._0_was_imported_here, ts.idText(rootName))); + } + } } } /** @@ -80062,21 +81321,21 @@ var ts; function markDecoratorMedataDataTypeNodeAsReferenced(node) { var entityName = getEntityNameForDecoratorMetadata(node); if (entityName && ts.isEntityName(entityName)) { - markEntityNameOrEntityExpressionAsReference(entityName); + markEntityNameOrEntityExpressionAsReference(entityName, /*forDecoratorMetadata*/ true); } } function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { - case 187 /* IntersectionType */: - case 186 /* UnionType */: + case 188 /* IntersectionType */: + case 187 /* UnionType */: return getEntityNameForDecoratorMetadataFromTypeList(node.types); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return getEntityNameForDecoratorMetadataFromTypeList([node.trueType, node.falseType]); - case 190 /* ParenthesizedType */: - case 196 /* NamedTupleMember */: + case 191 /* ParenthesizedType */: + case 197 /* NamedTupleMember */: return getEntityNameForDecoratorMetadata(node.type); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return node.typeName; } } @@ -80085,13 +81344,13 @@ var ts; var commonEntityName; for (var _i = 0, types_22 = types; _i < types_22.length; _i++) { var typeNode = types_22[_i]; - while (typeNode.kind === 190 /* ParenthesizedType */ || typeNode.kind === 196 /* NamedTupleMember */) { + while (typeNode.kind === 191 /* ParenthesizedType */ || typeNode.kind === 197 /* NamedTupleMember */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 143 /* NeverKeyword */) { continue; // Always elide `never` from the union/intersection if possible } - if (!strictNullChecks && (typeNode.kind === 195 /* LiteralType */ && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 152 /* UndefinedKeyword */)) { + if (!strictNullChecks && (typeNode.kind === 196 /* LiteralType */ && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 153 /* UndefinedKeyword */)) { continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks } var individualEntityName = getEntityNameForDecoratorMetadata(typeNode); @@ -80137,14 +81396,14 @@ var ts; } var firstDecorator = node.decorators[0]; checkExternalEmitHelpers(firstDecorator, 8 /* Decorate */); - if (node.kind === 163 /* Parameter */) { + if (node.kind === 164 /* Parameter */) { checkExternalEmitHelpers(firstDecorator, 32 /* Param */); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16 /* Metadata */); // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. switch (node.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -80153,23 +81412,23 @@ var ts; } } break; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - var otherKind = node.kind === 171 /* GetAccessor */ ? 172 /* SetAccessor */ : 171 /* GetAccessor */; + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + var otherKind = node.kind === 172 /* GetAccessor */ ? 173 /* SetAccessor */ : 172 /* GetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); markDecoratorMedataDataTypeNodeAsReferenced(getAnnotatedAccessorTypeNode(node) || otherAccessor && getAnnotatedAccessorTypeNode(otherAccessor)); break; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 163 /* Parameter */: + case 164 /* Parameter */: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -80182,7 +81441,8 @@ var ts; ts.forEach(node.decorators, checkDecorator); } function checkFunctionDeclaration(node) { - if (produceDiagnostics) { + addLazyDiagnostic(checkFunctionDeclarationDiagnostics); + function checkFunctionDeclarationDiagnostics() { checkFunctionOrMethodDeclaration(node); checkGrammarForGenerator(node); checkCollisionsForDeclarationName(node, node.name); @@ -80216,10 +81476,13 @@ var ts; checkSourceElement(node.typeExpression); } function checkJSDocFunctionType(node) { - if (produceDiagnostics && !node.type && !ts.isJSDocConstructSignature(node)) { - reportImplicitAny(node, anyType); - } + addLazyDiagnostic(checkJSDocFunctionTypeImplicitAny); checkSignatureDeclaration(node); + function checkJSDocFunctionTypeImplicitAny() { + if (!node.type && !ts.isJSDocConstructSignature(node)) { + reportImplicitAny(node, anyType); + } + } } function checkJSDocImplementsTag(node) { var classLike = ts.getEffectiveJSDocHost(node); @@ -80257,7 +81520,7 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return node; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return node.name; default: return undefined; @@ -80271,7 +81534,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name && node.name.kind === 161 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 162 /* ComputedPropertyName */) { // This check will account for methods in class/interface declarations, // as well as accessors in classes/object literals checkComputedPropertyName(node.name); @@ -80287,7 +81550,7 @@ var ts; // checkFunctionOrConstructorSymbol wouldn't be called if we didnt ignore javascript function. var firstDeclaration = (_a = localSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find( // Get first non javascript function declaration - function (declaration) { return declaration.kind === node.kind && !(declaration.flags & 131072 /* JavaScriptFile */); }); + function (declaration) { return declaration.kind === node.kind && !(declaration.flags & 262144 /* JavaScriptFile */); }); // Only type check the symbol once if (node === firstDeclaration) { checkFunctionOrConstructorSymbol(localSymbol); @@ -80297,22 +81560,10 @@ var ts; checkFunctionOrConstructorSymbol(symbol); } } - var body = node.kind === 167 /* MethodSignature */ ? undefined : node.body; + var body = node.kind === 168 /* MethodSignature */ ? undefined : node.body; checkSourceElement(body); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, getReturnTypeFromAnnotation(node)); - if (produceDiagnostics && !ts.getEffectiveReturnTypeNode(node)) { - // Report an implicit any error if there is no body, no explicit return type, and node is not a private method - // in an ambient context - if (ts.nodeIsMissing(body) && !isPrivateWithinAmbient(node)) { - reportImplicitAny(node, anyType); - } - if (functionFlags & 1 /* Generator */ && ts.nodeIsPresent(body)) { - // A generator with a body and no type annotation can still cause errors. It can error if the - // yielded values have no common supertype, or it can give an implicit any error if it has no - // yielded values. The only way to trigger these errors is to try checking its return type. - getReturnTypeOfSignature(getSignatureFromDeclaration(node)); - } - } + addLazyDiagnostic(checkFunctionOrMethodDeclarationDiagnostics); // A js function declaration can have a @type tag instead of a return type node, but that type must have a call signature if (ts.isInJSFile(node)) { var typeTag = ts.getJSDocTypeTag(node); @@ -80320,10 +81571,26 @@ var ts; error(typeTag.typeExpression.type, ts.Diagnostics.The_type_of_a_function_declaration_must_match_the_function_s_signature); } } + function checkFunctionOrMethodDeclarationDiagnostics() { + if (!ts.getEffectiveReturnTypeNode(node)) { + // Report an implicit any error if there is no body, no explicit return type, and node is not a private method + // in an ambient context + if (ts.nodeIsMissing(body) && !isPrivateWithinAmbient(node)) { + reportImplicitAny(node, anyType); + } + if (functionFlags & 1 /* Generator */ && ts.nodeIsPresent(body)) { + // A generator with a body and no type annotation can still cause errors. It can error if the + // yielded values have no common supertype, or it can give an implicit any error if it has no + // yielded values. The only way to trigger these errors is to try checking its return type. + getReturnTypeOfSignature(getSignatureFromDeclaration(node)); + } + } + } } function registerForUnusedIdentifiersCheck(node) { - // May be in a call such as getTypeOfNode that happened to call this. But potentiallyUnusedIdentifiers is only defined in the scope of `checkSourceFile`. - if (produceDiagnostics) { + addLazyDiagnostic(registerForUnusedIdentifiersCheckDiagnostics); + function registerForUnusedIdentifiersCheckDiagnostics() { + // May be in a call such as getTypeOfNode that happened to call this. But potentiallyUnusedIdentifiers is only defined in the scope of `checkSourceFile`. var sourceFile = ts.getSourceFileOfNode(node); var potentiallyUnusedIdentifiers = allPotentiallyUnusedIdentifiers.get(sourceFile.path); if (!potentiallyUnusedIdentifiers) { @@ -80339,42 +81606,42 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 303 /* SourceFile */: - case 260 /* ModuleDeclaration */: - case 234 /* Block */: - case 262 /* CaseBlock */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 305 /* SourceFile */: + case 261 /* ModuleDeclaration */: + case 235 /* Block */: + case 263 /* CaseBlock */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 170 /* Constructor */: - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 171 /* Constructor */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: if (node.body) { // Don't report unused parameters in overloads checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 258 /* TypeAliasDeclaration */: - case 257 /* InterfaceDeclaration */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 259 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; - case 189 /* InferType */: + case 190 /* InferType */: checkUnusedInferTypeParameter(node, addDiagnostic); break; default: @@ -80394,22 +81661,22 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 168 /* MethodDeclaration */: - case 166 /* PropertyDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - if (member.kind === 172 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { + case 169 /* MethodDeclaration */: + case 167 /* PropertyDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + if (member.kind === 173 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { // Already would have reported an error on the getter. break; } var symbol = getSymbolOfNode(member); if (!symbol.isReferenced && (ts.hasEffectiveModifier(member, 8 /* Private */) || ts.isNamedDeclaration(member) && ts.isPrivateIdentifier(member.name)) - && !(member.flags & 8388608 /* Ambient */)) { + && !(member.flags & 16777216 /* Ambient */)) { addDiagnostic(member, 0 /* Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 170 /* Constructor */: + case 171 /* Constructor */: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasSyntacticModifier(parameter, 8 /* Private */)) { @@ -80417,9 +81684,9 @@ var ts; } } break; - case 175 /* IndexSignature */: - case 233 /* SemicolonClassElement */: - case 169 /* ClassStaticBlockDeclaration */: + case 176 /* IndexSignature */: + case 234 /* SemicolonClassElement */: + case 170 /* ClassStaticBlockDeclaration */: // Can't be private break; default: @@ -80447,7 +81714,7 @@ var ts; continue; var name = ts.idText(typeParameter.name); var parent = typeParameter.parent; - if (parent.kind !== 189 /* InferType */ && parent.typeParameters.every(isTypeParameterUnused)) { + if (parent.kind !== 190 /* InferType */ && parent.typeParameters.every(isTypeParameterUnused)) { if (ts.tryAddToSet(seenParentsWithEveryUnused, parent)) { var sourceFile = ts.getSourceFileOfNode(parent); var range = ts.isJSDocTemplateTag(parent) @@ -80553,7 +81820,7 @@ var ts; var importDecl = importClause.parent; var nDeclarations = (importClause.name ? 1 : 0) + (importClause.namedBindings ? - (importClause.namedBindings.kind === 267 /* NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) + (importClause.namedBindings.kind === 268 /* NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) : 0); if (nDeclarations === unuseds.length) { addDiagnostic(importDecl, 0 /* Local */, unuseds.length === 1 @@ -80571,7 +81838,7 @@ var ts; var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* Parameter */ : 0 /* Local */; if (bindingPattern.elements.length === bindingElements.length) { - if (bindingElements.length === 1 && bindingPattern.parent.kind === 253 /* VariableDeclaration */ && bindingPattern.parent.parent.kind === 254 /* VariableDeclarationList */) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 254 /* VariableDeclaration */ && bindingPattern.parent.parent.kind === 255 /* VariableDeclarationList */) { addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); } else { @@ -80592,11 +81859,11 @@ var ts; if (declarationList.declarations.length === declarations.length) { addDiagnostic(declarationList, 0 /* Local */, declarations.length === 1 ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) - : ts.createDiagnosticForNode(declarationList.parent.kind === 236 /* VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); + : ts.createDiagnosticForNode(declarationList.parent.kind === 237 /* VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { - for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { - var decl = declarations_5[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var decl = declarations_6[_i]; addDiagnostic(decl, 0 /* Local */, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(decl.name))); } } @@ -80606,22 +81873,22 @@ var ts; switch (name.kind) { case 79 /* Identifier */: return ts.idText(name); - case 201 /* ArrayBindingPattern */: - case 200 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); default: return ts.Debug.assertNever(name); } } function isImportedDeclaration(node) { - return node.kind === 266 /* ImportClause */ || node.kind === 269 /* ImportSpecifier */ || node.kind === 267 /* NamespaceImport */; + return node.kind === 267 /* ImportClause */ || node.kind === 270 /* ImportSpecifier */ || node.kind === 268 /* NamespaceImport */; } function importClauseFromImported(decl) { - return decl.kind === 266 /* ImportClause */ ? decl : decl.kind === 267 /* NamespaceImport */ ? decl.parent : decl.parent.parent; + return decl.kind === 267 /* ImportClause */ ? decl : decl.kind === 268 /* NamespaceImport */ ? decl.parent : decl.parent.parent; } function checkBlock(node) { // Grammar checking for SyntaxKind.Block - if (node.kind === 234 /* Block */) { + if (node.kind === 235 /* Block */) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -80638,7 +81905,7 @@ var ts; } function checkCollisionWithArgumentsInGeneratedCode(node) { // no rest parameters \ declaration context \ overload - no codegen impact - if (languageVersion >= 2 /* ES2015 */ || !ts.hasRestParameter(node) || node.flags & 8388608 /* Ambient */ || ts.nodeIsMissing(node.body)) { + if (languageVersion >= 2 /* ES2015 */ || !ts.hasRestParameter(node) || node.flags & 16777216 /* Ambient */ || ts.nodeIsMissing(node.body)) { return; } ts.forEach(node.parameters, function (p) { @@ -80656,17 +81923,17 @@ var ts; if ((identifier === null || identifier === void 0 ? void 0 : identifier.escapedText) !== name) { return false; } - if (node.kind === 166 /* PropertyDeclaration */ || - node.kind === 165 /* PropertySignature */ || - node.kind === 168 /* MethodDeclaration */ || - node.kind === 167 /* MethodSignature */ || - node.kind === 171 /* GetAccessor */ || - node.kind === 172 /* SetAccessor */ || - node.kind === 294 /* PropertyAssignment */) { + if (node.kind === 167 /* PropertyDeclaration */ || + node.kind === 166 /* PropertySignature */ || + node.kind === 169 /* MethodDeclaration */ || + node.kind === 168 /* MethodSignature */ || + node.kind === 172 /* GetAccessor */ || + node.kind === 173 /* SetAccessor */ || + node.kind === 296 /* PropertyAssignment */) { // it is ok to have member named '_super', '_this', `Promise`, etc. - member access is always qualified return false; } - if (node.flags & 8388608 /* Ambient */) { + if (node.flags & 16777216 /* Ambient */) { // ambient context - no codegen impact return false; } @@ -80728,7 +81995,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 303 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { // If the declaration happens to be in external module, report error that require and exports are reserved keywords errorSkippedOn("noEmit", name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -80743,7 +82010,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 303 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 2048 /* HasAsyncFunctions */) { + if (parent.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 2048 /* HasAsyncFunctions */) { // If the declaration happens to be in external module, report error that Promise is a reserved identifier. errorSkippedOn("noEmit", name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -80805,7 +82072,7 @@ var ts; recordPotentialCollisionWithReflectInGeneratedCode(node, name); if (ts.isClassLike(node)) { checkTypeNameIsReserved(name, ts.Diagnostics.Class_name_cannot_be_0); - if (!(node.flags & 8388608 /* Ambient */)) { + if (!(node.flags & 16777216 /* Ambient */)) { checkClassNameCollisionWithObject(name); } } @@ -80843,7 +82110,7 @@ var ts; // skip variable declarations that don't have initializers // NOTE: in ES6 spec initializer is required in variable declarations where name is binding pattern // so we'll always treat binding elements as initialized - if (node.kind === 253 /* VariableDeclaration */ && !node.initializer) { + if (node.kind === 254 /* VariableDeclaration */ && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -80855,17 +82122,17 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2 /* BlockScopedVariable */) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* BlockScoped */) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 254 /* VariableDeclarationList */); - var container = varDeclList.parent.kind === 236 /* VariableStatement */ && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 255 /* VariableDeclarationList */); + var container = varDeclList.parent.kind === 237 /* VariableStatement */ && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; // names of block-scoped and function scoped variables can collide only // if block scoped variable is defined in the function\module\source file scope (because of variable hoisting) var namesShareScope = container && - (container.kind === 234 /* Block */ && ts.isFunctionLike(container.parent) || - container.kind === 261 /* ModuleBlock */ || - container.kind === 260 /* ModuleDeclaration */ || - container.kind === 303 /* SourceFile */); + (container.kind === 235 /* Block */ && ts.isFunctionLike(container.parent) || + container.kind === 262 /* ModuleBlock */ || + container.kind === 261 /* ModuleDeclaration */ || + container.kind === 305 /* SourceFile */); // here we know that function scoped variable is shadowed by block scoped one // if they are defined in the same scope - binder has already reported redeclaration error // otherwise if variable has an initializer - show error that initialization will fail @@ -80896,7 +82163,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 161 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* ComputedPropertyName */) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); @@ -80907,12 +82174,12 @@ var ts; checkExternalEmitHelpers(node, 4 /* Rest */); } // check computed properties inside property names of binding elements - if (node.propertyName && node.propertyName.kind === 161 /* ComputedPropertyName */) { + if (node.propertyName && node.propertyName.kind === 162 /* ComputedPropertyName */) { checkComputedPropertyName(node.propertyName); } // check private/protected variable access var parent = node.parent.parent; - var parentCheckMode = node.dotDotDotToken ? 32 /* RestBindingElement */ : 0 /* Normal */; + var parentCheckMode = node.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */; var parentType = getTypeForBindingElementParent(parent, parentCheckMode); var name = node.propertyName || node.name; if (parentType && !ts.isBindingPattern(name)) { @@ -80929,7 +82196,7 @@ var ts; } // For a binding pattern, check contained binding elements if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 201 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { + if (node.name.kind === 202 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512 /* Read */); } ts.forEach(node.name.elements, checkSourceElement); @@ -80941,7 +82208,7 @@ var ts; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { - var needCheckInitializer = node.initializer && node.parent.parent.kind !== 242 /* ForInStatement */; + var needCheckInitializer = node.initializer && node.parent.parent.kind !== 243 /* ForInStatement */; var needCheckWidenedType = node.name.elements.length === 0; if (needCheckInitializer || needCheckWidenedType) { // Don't validate for-in initializer as it is already an error @@ -80983,7 +82250,7 @@ var ts; ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || ts.isPrototypeAccess(node.name)) && !!((_a = symbol.exports) === null || _a === void 0 ? void 0 : _a.size); - if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== 242 /* ForInStatement */) { + if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== 243 /* ForInStatement */) { checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(initializer), type, node, initializer, /*headMessage*/ undefined); } } @@ -81009,10 +82276,10 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 166 /* PropertyDeclaration */ && node.kind !== 165 /* PropertySignature */) { + if (node.kind !== 167 /* PropertyDeclaration */ && node.kind !== 166 /* PropertySignature */) { // We know we don't have a binding pattern or computed name here checkExportsOnMergedDeclarations(node); - if (node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */) { + if (node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionsForDeclarationName(node, node.name); @@ -81020,7 +82287,7 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstDeclaration, firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 166 /* PropertyDeclaration */ || nextDeclaration.kind === 165 /* PropertySignature */ + var message = nextDeclaration.kind === 167 /* PropertyDeclaration */ || nextDeclaration.kind === 166 /* PropertySignature */ ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; var declName = ts.declarationNameToString(nextDeclarationName); @@ -81030,8 +82297,8 @@ var ts; } } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 163 /* Parameter */ && right.kind === 253 /* VariableDeclaration */) || - (left.kind === 253 /* VariableDeclaration */ && right.kind === 163 /* Parameter */)) { + if ((left.kind === 164 /* Parameter */ && right.kind === 254 /* VariableDeclaration */) || + (left.kind === 254 /* VariableDeclaration */ && right.kind === 164 /* Parameter */)) { // Differences in optionality between parameters and variables are allowed. return true; } @@ -81070,50 +82337,61 @@ var ts; function checkIfStatement(node) { // Grammar checking checkGrammarStatementInAmbientContext(node); - var type = checkTruthinessExpression(node.expression); - checkTestingKnownTruthyCallableOrAwaitableType(node.expression, type, node.thenStatement); + checkTruthinessExpression(node.expression); + checkTestingKnownTruthyCallableOrAwaitableType(node.expression, node.thenStatement); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 235 /* EmptyStatement */) { + if (node.thenStatement.kind === 236 /* EmptyStatement */) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); } - function checkTestingKnownTruthyCallableOrAwaitableType(condExpr, type, body) { + function checkTestingKnownTruthyCallableOrAwaitableType(condExpr, body) { if (!strictNullChecks) return; - if (getFalsyFlags(type)) - return; - var location = ts.isBinaryExpression(condExpr) ? condExpr.right : condExpr; - if (ts.isPropertyAccessExpression(location) && isTypeAssertion(location.expression)) { - return; - } - var testedNode = ts.isIdentifier(location) ? location - : ts.isPropertyAccessExpression(location) ? location.name - : ts.isBinaryExpression(location) && ts.isIdentifier(location.right) ? location.right - : undefined; - // While it technically should be invalid for any known-truthy value - // to be tested, we de-scope to functions and Promises unreferenced in - // the block as a heuristic to identify the most common bugs. There - // are too many false positives for values sourced from type - // definitions without strictNullChecks otherwise. - var callSignatures = getSignaturesOfType(type, 0 /* Call */); - var isPromise = !!getAwaitedTypeOfPromise(type); - if (callSignatures.length === 0 && !isPromise) { - return; - } - var testedSymbol = testedNode && getSymbolAtLocation(testedNode); - if (!testedSymbol && !isPromise) { - return; - } - var isUsed = testedSymbol && ts.isBinaryExpression(condExpr.parent) && isSymbolUsedInBinaryExpressionChain(condExpr.parent, testedSymbol) - || testedSymbol && body && isSymbolUsedInConditionBody(condExpr, body, testedNode, testedSymbol); - if (!isUsed) { - if (isPromise) { - errorAndMaybeSuggestAwait(location, - /*maybeMissingAwait*/ true, ts.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined, getTypeNameForErrorDisplay(type)); + helper(condExpr, body); + while (ts.isBinaryExpression(condExpr) && condExpr.operatorToken.kind === 56 /* BarBarToken */) { + condExpr = condExpr.left; + helper(condExpr, body); + } + function helper(condExpr, body) { + var location = ts.isBinaryExpression(condExpr) && + (condExpr.operatorToken.kind === 56 /* BarBarToken */ || condExpr.operatorToken.kind === 55 /* AmpersandAmpersandToken */) + ? condExpr.right + : condExpr; + if (ts.isModuleExportsAccessExpression(location)) + return; + var type = checkTruthinessExpression(location); + var isPropertyExpressionCast = ts.isPropertyAccessExpression(location) && isTypeAssertion(location.expression); + if (getFalsyFlags(type) || isPropertyExpressionCast) + return; + // While it technically should be invalid for any known-truthy value + // to be tested, we de-scope to functions and Promises unreferenced in + // the block as a heuristic to identify the most common bugs. There + // are too many false positives for values sourced from type + // definitions without strictNullChecks otherwise. + var callSignatures = getSignaturesOfType(type, 0 /* Call */); + var isPromise = !!getAwaitedTypeOfPromise(type); + if (callSignatures.length === 0 && !isPromise) { + return; } - else { - error(location, ts.Diagnostics.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead); + var testedNode = ts.isIdentifier(location) ? location + : ts.isPropertyAccessExpression(location) ? location.name + : ts.isBinaryExpression(location) && ts.isIdentifier(location.right) ? location.right + : undefined; + var testedSymbol = testedNode && getSymbolAtLocation(testedNode); + if (!testedSymbol && !isPromise) { + return; + } + var isUsed = testedSymbol && ts.isBinaryExpression(condExpr.parent) && isSymbolUsedInBinaryExpressionChain(condExpr.parent, testedSymbol) + || testedSymbol && body && isSymbolUsedInConditionBody(condExpr, body, testedNode, testedSymbol); + if (!isUsed) { + if (isPromise) { + errorAndMaybeSuggestAwait(location, + /*maybeMissingAwait*/ true, ts.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined, getTypeNameForErrorDisplay(type)); + } + else { + error(location, ts.Diagnostics.This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead); + } } } } @@ -81196,12 +82474,12 @@ var ts; function checkForStatement(node) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 254 /* VariableDeclarationList */) { + if (node.initializer && node.initializer.kind === 255 /* VariableDeclarationList */) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 254 /* VariableDeclarationList */) { + if (node.initializer.kind === 255 /* VariableDeclarationList */) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -81241,14 +82519,14 @@ var ts; // via checkRightHandSideOfForOf. // If the LHS is an expression, check the LHS, as a destructuring assignment or as a reference. // Then check that the RHS is assignable to it. - if (node.initializer.kind === 254 /* VariableDeclarationList */) { + if (node.initializer.kind === 255 /* VariableDeclarationList */) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node); // There may be a destructuring assignment on the left side - if (varExpr.kind === 203 /* ArrayLiteralExpression */ || varExpr.kind === 204 /* ObjectLiteralExpression */) { + if (varExpr.kind === 204 /* ArrayLiteralExpression */ || varExpr.kind === 205 /* ObjectLiteralExpression */) { // iteratedType may be undefined. In this case, we still want to check the structure of // varExpr, in particular making sure it's a valid LeftHandSideExpression. But we'd like // to short circuit the type relation checking as much as possible, so we pass the unknownType. @@ -81280,7 +82558,7 @@ var ts; // for (let VarDecl in Expr) Statement // VarDecl must be a variable declaration without a type annotation that declares a variable of type Any, // and Expr must be an expression of type Any, an object type, or a type parameter type. - if (node.initializer.kind === 254 /* VariableDeclarationList */) { + if (node.initializer.kind === 255 /* VariableDeclarationList */) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -81294,7 +82572,7 @@ var ts; // and Expr must be an expression of type Any, an object type, or a type parameter type. var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 203 /* ArrayLiteralExpression */ || varExpr.kind === 204 /* ObjectLiteralExpression */) { + if (varExpr.kind === 204 /* ArrayLiteralExpression */ || varExpr.kind === 205 /* ObjectLiteralExpression */) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -81711,7 +82989,7 @@ var ts; function getPropertyNameForKnownSymbolName(symbolName) { var ctorType = getGlobalESSymbolConstructorSymbol(/*reportErrors*/ false); var uniqueType = ctorType && getTypeOfPropertyOfType(getTypeOfSymbol(ctorType), ts.escapeLeadingUnderscores(symbolName)); - return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@".concat(symbolName); + return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@" + symbolName; } /** * Gets the *yield*, *return*, and *next* types of an `Iterable`-like or `AsyncIterable`-like @@ -82027,12 +83305,12 @@ var ts; var functionFlags = ts.getFunctionFlags(container); if (strictNullChecks || node.expression || returnType.flags & 131072 /* Never */) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; - if (container.kind === 172 /* SetAccessor */) { + if (container.kind === 173 /* SetAccessor */) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (container.kind === 170 /* Constructor */) { + else if (container.kind === 171 /* Constructor */) { if (node.expression && !checkTypeAssignableToAndOptionallyElaborate(exprType, returnType, node, node.expression)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -82050,7 +83328,7 @@ var ts; } } } - else if (container.kind !== 170 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(container, returnType)) { + else if (container.kind !== 171 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(container, returnType)) { // The function has a return type, but the return statement doesn't have an expression. error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } @@ -82079,7 +83357,7 @@ var ts; var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause - if (clause.kind === 289 /* DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 290 /* DefaultClause */ && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -82088,26 +83366,31 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 288 /* CaseClause */) { - // TypeScript 1.0 spec (April 2014): 5.9 - // In a 'switch' statement, each 'case' expression must be of a type that is comparable - // to or from the type of the 'switch' expression. - var caseType = checkExpression(clause.expression); - var caseIsLiteral = isLiteralType(caseType); - var comparedExpressionType = expressionType; - if (!caseIsLiteral || !expressionIsLiteral) { - caseType = caseIsLiteral ? getBaseTypeOfLiteralType(caseType) : caseType; - comparedExpressionType = getBaseTypeOfLiteralType(expressionType); - } - if (!isTypeEqualityComparableTo(comparedExpressionType, caseType)) { - // expressionType is not comparable to caseType, try the reversed check and report errors if it fails - checkTypeComparableTo(caseType, comparedExpressionType, clause.expression, /*headMessage*/ undefined); - } + if (clause.kind === 289 /* CaseClause */) { + addLazyDiagnostic(createLazyCaseClauseDiagnostics(clause)); } ts.forEach(clause.statements, checkSourceElement); if (compilerOptions.noFallthroughCasesInSwitch && clause.fallthroughFlowNode && isReachableFlowNode(clause.fallthroughFlowNode)) { error(clause, ts.Diagnostics.Fallthrough_case_in_switch); } + function createLazyCaseClauseDiagnostics(clause) { + return function () { + // TypeScript 1.0 spec (April 2014): 5.9 + // In a 'switch' statement, each 'case' expression must be of a type that is comparable + // to or from the type of the 'switch' expression. + var caseType = checkExpression(clause.expression); + var caseIsLiteral = isLiteralType(caseType); + var comparedExpressionType = expressionType; + if (!caseIsLiteral || !expressionIsLiteral) { + caseType = caseIsLiteral ? getBaseTypeOfLiteralType(caseType) : caseType; + comparedExpressionType = getBaseTypeOfLiteralType(expressionType); + } + if (!isTypeEqualityComparableTo(comparedExpressionType, caseType)) { + // expressionType is not comparable to caseType, try the reversed check and report errors if it fails + checkTypeComparableTo(caseType, comparedExpressionType, clause.expression, /*headMessage*/ undefined); + } + }; + } }); if (node.caseBlock.locals) { registerForUnusedIdentifiersCheck(node.caseBlock); @@ -82120,7 +83403,7 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 249 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { + if (current.kind === 250 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } @@ -82202,8 +83485,8 @@ var ts; } } if (indexInfos.length > 1) { - for (var _d = 0, indexInfos_6 = indexInfos; _d < indexInfos_6.length; _d++) { - var info = indexInfos_6[_d]; + for (var _d = 0, indexInfos_8 = indexInfos; _d < indexInfos_8.length; _d++) { + var info = indexInfos_8[_d]; checkIndexConstraintForIndexSignature(type, info); } } @@ -82215,10 +83498,10 @@ var ts; return; } var indexInfos = getApplicableIndexInfos(type, propNameType); - var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* Interface */ ? ts.getDeclarationOfKind(type.symbol, 257 /* InterfaceDeclaration */) : undefined; - var localPropDeclaration = declaration && declaration.kind === 220 /* BinaryExpression */ || - name && name.kind === 161 /* ComputedPropertyName */ || getParentOfSymbol(prop) === type.symbol ? declaration : undefined; - var _loop_27 = function (info) { + var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* InterfaceDeclaration */) : undefined; + var localPropDeclaration = declaration && declaration.kind === 221 /* BinaryExpression */ || + name && name.kind === 162 /* ComputedPropertyName */ || getParentOfSymbol(prop) === type.symbol ? declaration : undefined; + var _loop_28 = function (info) { var localIndexDeclaration = info.declaration && getParentOfSymbol(getSymbolOfNode(info.declaration)) === type.symbol ? info.declaration : undefined; // We check only when (a) the property is declared in the containing type, or (b) the applicable index signature is declared // in the containing type, or (c) the containing type is an interface and no base interface contains both the property and @@ -82229,17 +83512,17 @@ var ts; error(errorNode, ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_2_index_type_3, symbolToString(prop), typeToString(propType), typeToString(info.keyType), typeToString(info.type)); } }; - for (var _i = 0, indexInfos_7 = indexInfos; _i < indexInfos_7.length; _i++) { - var info = indexInfos_7[_i]; - _loop_27(info); + for (var _i = 0, indexInfos_9 = indexInfos; _i < indexInfos_9.length; _i++) { + var info = indexInfos_9[_i]; + _loop_28(info); } } function checkIndexConstraintForIndexSignature(type, checkInfo) { var declaration = checkInfo.declaration; var indexInfos = getApplicableIndexInfos(type, checkInfo.keyType); - var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* Interface */ ? ts.getDeclarationOfKind(type.symbol, 257 /* InterfaceDeclaration */) : undefined; + var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* InterfaceDeclaration */) : undefined; var localCheckDeclaration = declaration && getParentOfSymbol(getSymbolOfNode(declaration)) === type.symbol ? declaration : undefined; - var _loop_28 = function (info) { + var _loop_29 = function (info) { if (info === checkInfo) return "continue"; var localIndexDeclaration = info.declaration && getParentOfSymbol(getSymbolOfNode(info.declaration)) === type.symbol ? info.declaration : undefined; @@ -82252,9 +83535,9 @@ var ts; error(errorNode, ts.Diagnostics._0_index_type_1_is_not_assignable_to_2_index_type_3, typeToString(checkInfo.keyType), typeToString(checkInfo.type), typeToString(info.keyType), typeToString(info.type)); } }; - for (var _i = 0, indexInfos_8 = indexInfos; _i < indexInfos_8.length; _i++) { - var info = indexInfos_8[_i]; - _loop_28(info); + for (var _i = 0, indexInfos_10 = indexInfos; _i < indexInfos_10.length; _i++) { + var info = indexInfos_10[_i]; + _loop_29(info); } } function checkTypeNameIsReserved(name, message) { @@ -82328,33 +83611,36 @@ var ts; * Check each type parameter and check that type parameters have no duplicate type parameter declarations */ function checkTypeParameters(typeParameterDeclarations) { + var seenDefault = false; if (typeParameterDeclarations) { - var seenDefault = false; for (var i = 0; i < typeParameterDeclarations.length; i++) { var node = typeParameterDeclarations[i]; checkTypeParameter(node); - if (produceDiagnostics) { - if (node.default) { - seenDefault = true; - checkTypeParametersNotReferenced(node.default, typeParameterDeclarations, i); - } - else if (seenDefault) { - error(node, ts.Diagnostics.Required_type_parameters_may_not_follow_optional_type_parameters); - } - for (var j = 0; j < i; j++) { - if (typeParameterDeclarations[j].symbol === node.symbol) { - error(node.name, ts.Diagnostics.Duplicate_identifier_0, ts.declarationNameToString(node.name)); - } + addLazyDiagnostic(createCheckTypeParameterDiagnostic(node, i)); + } + } + function createCheckTypeParameterDiagnostic(node, i) { + return function () { + if (node.default) { + seenDefault = true; + checkTypeParametersNotReferenced(node.default, typeParameterDeclarations, i); + } + else if (seenDefault) { + error(node, ts.Diagnostics.Required_type_parameters_may_not_follow_optional_type_parameters); + } + for (var j = 0; j < i; j++) { + if (typeParameterDeclarations[j].symbol === node.symbol) { + error(node.name, ts.Diagnostics.Duplicate_identifier_0, ts.declarationNameToString(node.name)); } } - } + }; } } /** Check that type parameter defaults only reference previously declared type parameters */ function checkTypeParametersNotReferenced(root, typeParameters, index) { visit(root); function visit(node) { - if (node.kind === 177 /* TypeReference */) { + if (node.kind === 178 /* TypeReference */) { var type = getTypeFromTypeReference(node); if (type.flags & 262144 /* TypeParameter */) { for (var i = index; i < typeParameters.length; i++) { @@ -82380,23 +83666,23 @@ var ts; return; } var type = getDeclaredTypeOfSymbol(symbol); - if (!areTypeParametersIdentical(declarations, type.localTypeParameters)) { + if (!areTypeParametersIdentical(declarations, type.localTypeParameters, ts.getEffectiveTypeParameterDeclarations)) { // Report an error on every conflicting declaration. var name = symbolToString(symbol); - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; error(declaration.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_type_parameters, name); } } } } - function areTypeParametersIdentical(declarations, targetParameters) { + function areTypeParametersIdentical(declarations, targetParameters, getTypeParameterDeclarations) { var maxTypeArgumentCount = ts.length(targetParameters); var minTypeArgumentCount = getMinTypeArgumentCount(targetParameters); - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; // If this declaration has too few or too many type parameters, we report an error - var sourceParameters = ts.getEffectiveTypeParameterDeclarations(declaration); + var sourceParameters = getTypeParameterDeclarations(declaration); var numTypeParameters = sourceParameters.length; if (numTypeParameters < minTypeArgumentCount || numTypeParameters > maxTypeArgumentCount) { return false; @@ -82464,7 +83750,7 @@ var ts; checkFunctionOrConstructorSymbol(symbol); checkClassForDuplicateDeclarations(node); // Only check for reserved static identifiers on non-ambient context. - var nodeInAmbientContext = !!(node.flags & 8388608 /* Ambient */); + var nodeInAmbientContext = !!(node.flags & 16777216 /* Ambient */); if (!nodeInAmbientContext) { checkClassForStaticPropertyNameConflicts(node); } @@ -82479,85 +83765,90 @@ var ts; if (extendsNode && extendsNode !== baseTypeNode) { checkExpression(extendsNode.expression); } - var baseTypes = getBaseTypes(type); - if (baseTypes.length && produceDiagnostics) { - var baseType_1 = baseTypes[0]; - var baseConstructorType = getBaseConstructorTypeOfClass(type); - var staticBaseType = getApparentType(baseConstructorType); - checkBaseTypeAccessibility(staticBaseType, baseTypeNode); - checkSourceElement(baseTypeNode.expression); - if (ts.some(baseTypeNode.typeArguments)) { - ts.forEach(baseTypeNode.typeArguments, checkSourceElement); - for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); _i < _a.length; _i++) { - var constructor = _a[_i]; - if (!checkTypeArgumentConstraints(baseTypeNode, constructor.typeParameters)) { - break; + var baseTypes_2 = getBaseTypes(type); + if (baseTypes_2.length) { + addLazyDiagnostic(function () { + var baseType = baseTypes_2[0]; + var baseConstructorType = getBaseConstructorTypeOfClass(type); + var staticBaseType = getApparentType(baseConstructorType); + checkBaseTypeAccessibility(staticBaseType, baseTypeNode); + checkSourceElement(baseTypeNode.expression); + if (ts.some(baseTypeNode.typeArguments)) { + ts.forEach(baseTypeNode.typeArguments, checkSourceElement); + for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); _i < _a.length; _i++) { + var constructor = _a[_i]; + if (!checkTypeArgumentConstraints(baseTypeNode, constructor.typeParameters)) { + break; + } } } - } - var baseWithThis = getTypeWithThisArgument(baseType_1, type.thisType); - if (!checkTypeAssignableTo(typeWithThis, baseWithThis, /*errorNode*/ undefined)) { - issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); - } - else { - // Report static side error only when instance type is assignable - checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - } - if (baseConstructorType.flags & 8650752 /* TypeVariable */) { - if (!isMixinConstructorType(staticType)) { - error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); + var baseWithThis = getTypeWithThisArgument(baseType, type.thisType); + if (!checkTypeAssignableTo(typeWithThis, baseWithThis, /*errorNode*/ undefined)) { + issueMemberSpecificError(node, typeWithThis, baseWithThis, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); } else { - var constructSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); - if (constructSignatures.some(function (signature) { return signature.flags & 4 /* Abstract */; }) && !ts.hasSyntacticModifier(node, 128 /* Abstract */)) { - error(node.name || node, ts.Diagnostics.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract); + // Report static side error only when instance type is assignable + checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); + } + if (baseConstructorType.flags & 8650752 /* TypeVariable */) { + if (!isMixinConstructorType(staticType)) { + error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); + } + else { + var constructSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); + if (constructSignatures.some(function (signature) { return signature.flags & 4 /* Abstract */; }) && !ts.hasSyntacticModifier(node, 128 /* Abstract */)) { + error(node.name || node, ts.Diagnostics.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract); + } } } - } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 8650752 /* TypeVariable */)) { - // When the static base type is a "class-like" constructor function (but not actually a class), we verify - // that all instantiated base constructor signatures return the same type. - var constructors = getInstantiatedConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); - if (ts.forEach(constructors, function (sig) { return !isJSConstructor(sig.declaration) && !isTypeIdenticalTo(getReturnTypeOfSignature(sig), baseType_1); })) { - error(baseTypeNode.expression, ts.Diagnostics.Base_constructors_must_all_have_the_same_return_type); + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 8650752 /* TypeVariable */)) { + // When the static base type is a "class-like" constructor function (but not actually a class), we verify + // that all instantiated base constructor signatures return the same type. + var constructors = getInstantiatedConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); + if (ts.forEach(constructors, function (sig) { return !isJSConstructor(sig.declaration) && !isTypeIdenticalTo(getReturnTypeOfSignature(sig), baseType); })) { + error(baseTypeNode.expression, ts.Diagnostics.Base_constructors_must_all_have_the_same_return_type); + } } - } - checkKindsOfPropertyMemberOverrides(type, baseType_1); + checkKindsOfPropertyMemberOverrides(type, baseType); + }); } } checkMembersForOverrideModifier(node, type, typeWithThis, staticType); var implementedTypeNodes = ts.getEffectiveImplementsTypeNodes(node); if (implementedTypeNodes) { - for (var _b = 0, implementedTypeNodes_1 = implementedTypeNodes; _b < implementedTypeNodes_1.length; _b++) { - var typeRefNode = implementedTypeNodes_1[_b]; + for (var _i = 0, implementedTypeNodes_1 = implementedTypeNodes; _i < implementedTypeNodes_1.length; _i++) { + var typeRefNode = implementedTypeNodes_1[_i]; if (!ts.isEntityNameExpression(typeRefNode.expression) || ts.isOptionalChain(typeRefNode.expression)) { error(typeRefNode.expression, ts.Diagnostics.A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments); } checkTypeReferenceNode(typeRefNode); - if (produceDiagnostics) { - var t = getReducedType(getTypeFromTypeNode(typeRefNode)); - if (!isErrorType(t)) { - if (isValidBaseType(t)) { - var genericDiag = t.symbol && t.symbol.flags & 32 /* Class */ ? - ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : - ts.Diagnostics.Class_0_incorrectly_implements_interface_1; - var baseWithThis = getTypeWithThisArgument(t, type.thisType); - if (!checkTypeAssignableTo(typeWithThis, baseWithThis, /*errorNode*/ undefined)) { - issueMemberSpecificError(node, typeWithThis, baseWithThis, genericDiag); - } - } - else { - error(typeRefNode, ts.Diagnostics.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members); - } - } - } + addLazyDiagnostic(createImplementsDiagnostics(typeRefNode)); } } - if (produceDiagnostics) { + addLazyDiagnostic(function () { checkIndexConstraints(type, symbol); checkIndexConstraints(staticType, symbol, /*isStaticIndex*/ true); checkTypeForDuplicateIndexSignatures(node); checkPropertyInitialization(node); + }); + function createImplementsDiagnostics(typeRefNode) { + return function () { + var t = getReducedType(getTypeFromTypeNode(typeRefNode)); + if (!isErrorType(t)) { + if (isValidBaseType(t)) { + var genericDiag = t.symbol && t.symbol.flags & 32 /* Class */ ? + ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : + ts.Diagnostics.Class_0_incorrectly_implements_interface_1; + var baseWithThis = getTypeWithThisArgument(t, type.thisType); + if (!checkTypeAssignableTo(typeWithThis, baseWithThis, /*errorNode*/ undefined)) { + issueMemberSpecificError(node, typeWithThis, baseWithThis, genericDiag); + } + } + else { + error(typeRefNode, ts.Diagnostics.A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members); + } + } + }; } } function checkMembersForOverrideModifier(node, type, typeWithThis, staticType) { @@ -82565,7 +83856,7 @@ var ts; var baseTypes = baseTypeNode && getBaseTypes(type); var baseWithThis = (baseTypes === null || baseTypes === void 0 ? void 0 : baseTypes.length) ? getTypeWithThisArgument(ts.first(baseTypes), type.thisType) : undefined; var baseStaticType = getBaseConstructorTypeOfClass(type); - var _loop_29 = function (member) { + var _loop_30 = function (member) { if (ts.hasAmbientModifier(member)) { return "continue"; } @@ -82582,7 +83873,7 @@ var ts; }; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - _loop_29(member); + _loop_30(member); } } /** @@ -82609,7 +83900,7 @@ var ts; */ function checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, memberHasAbstractModifier, memberIsStatic, memberIsParameterProperty, memberName, errorNode) { var isJs = ts.isInJSFile(node); - var nodeInAmbientContext = !!(node.flags & 8388608 /* Ambient */); + var nodeInAmbientContext = !!(node.flags & 16777216 /* Ambient */); if (baseWithThis && (memberHasOverrideModifier || compilerOptions.noImplicitOverride)) { var memberEscapedName = ts.escapeLeadingUnderscores(memberName); var thisType = memberIsStatic ? staticType : typeWithThis; @@ -82670,7 +83961,7 @@ var ts; function issueMemberSpecificError(node, typeWithThis, baseWithThis, broadDiag) { // iterate over all implemented properties and issue errors on each one which isn't compatible, rather than the class as a whole, if possible var issuedMemberError = false; - var _loop_30 = function (member) { + var _loop_31 = function (member) { if (ts.isStatic(member)) { return "continue"; } @@ -82689,7 +83980,7 @@ var ts; }; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - _loop_30(member); + _loop_31(member); } if (!issuedMemberError) { // check again with diagnostics to generate a less-specific error @@ -82740,7 +84031,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 256 /* ClassDeclaration */ || d.kind === 257 /* InterfaceDeclaration */; + return d.kind === 257 /* ClassDeclaration */ || d.kind === 258 /* InterfaceDeclaration */; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -82796,7 +84087,7 @@ var ts; continue basePropertyCheck; } } - if (derivedClassDecl.kind === 225 /* ClassExpression */) { + if (derivedClassDecl.kind === 226 /* ClassExpression */) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -82817,7 +84108,7 @@ var ts; if (basePropertyFlags && derivedPropertyFlags) { // property/accessor is overridden with property/accessor if (baseDeclarationFlags & 128 /* Abstract */ && !(base.valueDeclaration && ts.isPropertyDeclaration(base.valueDeclaration) && base.valueDeclaration.initializer) - || base.valueDeclaration && base.valueDeclaration.parent.kind === 257 /* InterfaceDeclaration */ + || base.valueDeclaration && base.valueDeclaration.parent.kind === 258 /* InterfaceDeclaration */ || derived.valueDeclaration && ts.isBinaryExpression(derived.valueDeclaration)) { // when the base property is abstract or from an interface, base/derived flags don't need to match // same when the derived property is from an assignment @@ -82832,12 +84123,12 @@ var ts; error(ts.getNameOfDeclaration(derived.valueDeclaration) || derived.valueDeclaration, errorMessage_1, symbolToString(base), typeToString(baseType), typeToString(type)); } else if (useDefineForClassFields) { - var uninitialized = (_a = derived.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 166 /* PropertyDeclaration */ && !d.initializer; }); + var uninitialized = (_a = derived.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 167 /* PropertyDeclaration */ && !d.initializer; }); if (uninitialized && !(derived.flags & 33554432 /* Transient */) && !(baseDeclarationFlags & 128 /* Abstract */) && !(derivedDeclarationFlags & 128 /* Abstract */) - && !((_b = derived.declarations) === null || _b === void 0 ? void 0 : _b.some(function (d) { return !!(d.flags & 8388608 /* Ambient */); }))) { + && !((_b = derived.declarations) === null || _b === void 0 ? void 0 : _b.some(function (d) { return !!(d.flags & 16777216 /* Ambient */); }))) { var constructor = findConstructorDeclaration(ts.getClassLikeDeclarationOfSymbol(type.symbol)); var propName = uninitialized.name; if (uninitialized.exclamationToken @@ -82881,8 +84172,8 @@ var ts; ts.forEach(properties, function (p) { seen.set(p.escapedName, p); }); - for (var _i = 0, baseTypes_2 = baseTypes; _i < baseTypes_2.length; _i++) { - var base = baseTypes_2[_i]; + for (var _i = 0, baseTypes_3 = baseTypes; _i < baseTypes_3.length; _i++) { + var base = baseTypes_3[_i]; var properties_5 = getPropertiesOfType(getTypeWithThisArgument(base, type.thisType)); for (var _a = 0, properties_4 = properties_5; _a < properties_4.length; _a++) { var prop = properties_4[_a]; @@ -82904,8 +84195,8 @@ var ts; seen.set(p.escapedName, { prop: p, containingType: type }); }); var ok = true; - for (var _i = 0, baseTypes_3 = baseTypes; _i < baseTypes_3.length; _i++) { - var base = baseTypes_3[_i]; + for (var _i = 0, baseTypes_4 = baseTypes; _i < baseTypes_4.length; _i++) { + var base = baseTypes_4[_i]; var properties = getPropertiesOfType(getTypeWithThisArgument(base, type.thisType)); for (var _a = 0, properties_6 = properties; _a < properties_6.length; _a++) { var prop = properties_6[_a]; @@ -82929,7 +84220,7 @@ var ts; return ok; } function checkPropertyInitialization(node) { - if (!strictNullChecks || !strictPropertyInitialization || node.flags & 8388608 /* Ambient */) { + if (!strictNullChecks || !strictPropertyInitialization || node.flags & 16777216 /* Ambient */) { return; } var constructor = findConstructorDeclaration(node); @@ -82940,7 +84231,7 @@ var ts; } if (!ts.isStatic(member) && isPropertyWithoutInitializer(member)) { var propName = member.name; - if (ts.isIdentifier(propName) || ts.isPrivateIdentifier(propName)) { + if (ts.isIdentifier(propName) || ts.isPrivateIdentifier(propName) || ts.isComputedPropertyName(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); if (!(type.flags & 3 /* AnyOrUnknown */ || getFalsyFlags(type) & 32768 /* Undefined */)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { @@ -82952,7 +84243,7 @@ var ts; } } function isPropertyWithoutInitializer(node) { - return node.kind === 166 /* PropertyDeclaration */ && + return node.kind === 167 /* PropertyDeclaration */ && !ts.hasAbstractModifier(node) && !node.exclamationToken && !node.initializer; @@ -82975,7 +84266,9 @@ var ts; return false; } function isPropertyInitializedInConstructor(propName, propType, constructor) { - var reference = ts.factory.createPropertyAccessExpression(ts.factory.createThis(), propName); + var reference = ts.isComputedPropertyName(propName) + ? ts.factory.createElementAccessExpression(ts.factory.createThis(), propName.expression) + : ts.factory.createPropertyAccessExpression(ts.factory.createThis(), propName); ts.setParent(reference.expression, reference); ts.setParent(reference, constructor); reference.flowNode = constructor.returnFlowNode; @@ -82987,13 +84280,13 @@ var ts; if (!checkGrammarDecoratorsAndModifiers(node)) checkGrammarInterfaceDeclaration(node); checkTypeParameters(node.typeParameters); - if (produceDiagnostics) { + addLazyDiagnostic(function () { checkTypeNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0); checkExportsOnMergedDeclarations(node); var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); // Only check this symbol once - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 257 /* InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 258 /* InterfaceDeclaration */); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -83007,7 +84300,7 @@ var ts; } } checkObjectTypeForDuplicateDeclarations(node); - } + }); ts.forEach(ts.getInterfaceBaseTypeNodes(node), function (heritageElement) { if (!ts.isEntityNameExpression(heritageElement.expression) || ts.isOptionalChain(heritageElement.expression)) { error(heritageElement.expression, ts.Diagnostics.An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments); @@ -83015,10 +84308,10 @@ var ts; checkTypeReferenceNode(heritageElement); }); ts.forEach(node.members, checkSourceElement); - if (produceDiagnostics) { + addLazyDiagnostic(function () { checkTypeForDuplicateIndexSignatures(node); registerForUnusedIdentifiersCheck(node); - } + }); } function checkTypeAliasDeclaration(node) { // Grammar checking @@ -83064,7 +84357,7 @@ var ts; } // In ambient non-const numeric enum declarations, enum members without initializers are // considered computed members (as opposed to having auto-incremented values). - if (member.parent.flags & 8388608 /* Ambient */ && !ts.isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { + if (member.parent.flags & 16777216 /* Ambient */ && !ts.isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { return undefined; } // If the member declaration specifies no value, the member is considered a constant enum member. @@ -83096,7 +84389,7 @@ var ts; else if (isConstEnum) { error(initializer, ts.Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); } - else if (member.parent.flags & 8388608 /* Ambient */) { + else if (member.parent.flags & 16777216 /* Ambient */) { error(initializer, ts.Diagnostics.In_ambient_enum_declarations_member_initializer_must_be_constant_expression); } else { @@ -83112,7 +84405,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -83122,7 +84415,7 @@ var ts; } } break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -83151,7 +84444,7 @@ var ts; case 8 /* NumericLiteral */: checkGrammarNumericLiteral(expr); return +expr.text; - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return evaluate(expr.expression); case 79 /* Identifier */: var identifier = expr; @@ -83159,13 +84452,13 @@ var ts; return +(identifier.escapedText); } return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 206 /* ElementAccessExpression */: - case 205 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: if (isConstantMemberAccess(expr)) { var type = getTypeOfExpression(expr.expression); if (type.symbol && type.symbol.flags & 384 /* Enum */) { var name = void 0; - if (expr.kind === 205 /* PropertyAccessExpression */) { + if (expr.kind === 206 /* PropertyAccessExpression */) { name = expr.name.escapedText; } else { @@ -83202,14 +84495,14 @@ var ts; return false; } return node.kind === 79 /* Identifier */ || - node.kind === 205 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || - node.kind === 206 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && + node.kind === 206 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || + node.kind === 207 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && ts.isStringLiteralLike(node.argumentExpression); } function checkEnumDeclaration(node) { - if (!produceDiagnostics) { - return; - } + addLazyDiagnostic(function () { return checkEnumDeclarationWorker(node); }); + } + function checkEnumDeclarationWorker(node) { // Grammar checking checkGrammarDecoratorsAndModifiers(node); checkCollisionsForDeclarationName(node, node.name); @@ -83237,7 +84530,7 @@ var ts; var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { // return true if we hit a violation of the rule, false otherwise - if (declaration.kind !== 259 /* EnumDeclaration */) { + if (declaration.kind !== 260 /* EnumDeclaration */) { return false; } var enumDeclaration = declaration; @@ -83264,11 +84557,11 @@ var ts; function getFirstNonAmbientClassOrFunctionDeclaration(symbol) { var declarations = symbol.declarations; if (declarations) { - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; - if ((declaration.kind === 256 /* ClassDeclaration */ || - (declaration.kind === 255 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && - !(declaration.flags & 8388608 /* Ambient */)) { + for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { + var declaration = declarations_9[_i]; + if ((declaration.kind === 257 /* ClassDeclaration */ || + (declaration.kind === 256 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && + !(declaration.flags & 16777216 /* Ambient */)) { return declaration; } } @@ -83289,10 +84582,17 @@ var ts; } } function checkModuleDeclaration(node) { - if (produceDiagnostics) { + if (node.body) { + checkSourceElement(node.body); + if (!ts.isGlobalScopeAugmentation(node)) { + registerForUnusedIdentifiersCheck(node); + } + } + addLazyDiagnostic(checkModuleDeclarationDiagnostics); + function checkModuleDeclarationDiagnostics() { // Grammar checking var isGlobalAugmentation = ts.isGlobalScopeAugmentation(node); - var inAmbientContext = node.flags & 8388608 /* Ambient */; + var inAmbientContext = node.flags & 16777216 /* Ambient */; if (isGlobalAugmentation && !inAmbientContext) { error(node.name, ts.Diagnostics.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context); } @@ -83331,7 +84631,7 @@ var ts; } // if the module merges with a class declaration in the same lexical scope, // we need to track this to ensure the correct emit. - var mergedClass = ts.getDeclarationOfKind(symbol, 256 /* ClassDeclaration */); + var mergedClass = ts.getDeclarationOfKind(symbol, 257 /* ClassDeclaration */); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768 /* LexicalModuleMergesWithClass */; @@ -83372,33 +84672,27 @@ var ts; } } } - if (node.body) { - checkSourceElement(node.body); - if (!ts.isGlobalScopeAugmentation(node)) { - registerForUnusedIdentifiersCheck(node); - } - } } function checkModuleAugmentationElement(node, isGlobalAugmentation) { var _a; switch (node.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: // error each individual name in variable statement instead of marking the entire variable statement for (var _i = 0, _b = node.declarationList.declarations; _i < _b.length; _i++) { var decl = _b[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 270 /* ExportAssignment */: - case 271 /* ExportDeclaration */: + case 271 /* ExportAssignment */: + case 272 /* ExportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 264 /* ImportEqualsDeclaration */: - case 265 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 202 /* BindingElement */: - case 253 /* VariableDeclaration */: + case 203 /* BindingElement */: + case 254 /* VariableDeclaration */: var name = node.name; if (ts.isBindingPattern(name)) { for (var _c = 0, _d = name.elements; _c < _d.length; _c++) { @@ -83409,12 +84703,12 @@ var ts; break; } // falls through - case 256 /* ClassDeclaration */: - case 259 /* EnumDeclaration */: - case 255 /* FunctionDeclaration */: - case 257 /* InterfaceDeclaration */: - case 260 /* ModuleDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 257 /* ClassDeclaration */: + case 260 /* EnumDeclaration */: + case 256 /* FunctionDeclaration */: + case 258 /* InterfaceDeclaration */: + case 261 /* ModuleDeclaration */: + case 259 /* TypeAliasDeclaration */: if (isGlobalAugmentation) { return; } @@ -83437,12 +84731,12 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return node; - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: do { node = node.left; } while (node.kind !== 79 /* Identifier */); return node; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: do { if (ts.isModuleExportsAccessExpression(node.expression) && !ts.isPrivateIdentifier(node.name)) { return node.name; @@ -83462,9 +84756,9 @@ var ts; error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 261 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 303 /* SourceFile */ && !inAmbientExternalModule) { - error(moduleName, node.kind === 271 /* ExportDeclaration */ ? + var inAmbientExternalModule = node.parent.kind === 262 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 305 /* SourceFile */ && !inAmbientExternalModule) { + error(moduleName, node.kind === 272 /* ExportDeclaration */ ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -83509,35 +84803,35 @@ var ts; (symbol.flags & 788968 /* Type */ ? 788968 /* Type */ : 0) | (symbol.flags & 1920 /* Namespace */ ? 1920 /* Namespace */ : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 274 /* ExportSpecifier */ ? + var message = node.kind === 275 /* ExportSpecifier */ ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } if (compilerOptions.isolatedModules && !ts.isTypeOnlyImportOrExportDeclaration(node) - && !(node.flags & 8388608 /* Ambient */)) { + && !(node.flags & 16777216 /* Ambient */)) { var typeOnlyAlias = getTypeOnlyAliasDeclaration(symbol); var isType = !(target.flags & 111551 /* Value */); if (isType || typeOnlyAlias) { switch (node.kind) { - case 266 /* ImportClause */: - case 269 /* ImportSpecifier */: - case 264 /* ImportEqualsDeclaration */: { + case 267 /* ImportClause */: + case 270 /* ImportSpecifier */: + case 265 /* ImportEqualsDeclaration */: { if (compilerOptions.preserveValueImports) { ts.Debug.assertIsDefined(node.name, "An ImportClause with a symbol should have a name"); var message = isType ? ts.Diagnostics._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled : ts.Diagnostics._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled; - var name = ts.idText(node.kind === 269 /* ImportSpecifier */ ? node.propertyName || node.name : node.name); + var name = ts.idText(node.kind === 270 /* ImportSpecifier */ ? node.propertyName || node.name : node.name); addTypeOnlyDeclarationRelatedInfo(error(node, message, name), isType ? undefined : typeOnlyAlias, name); } - if (isType && node.kind === 264 /* ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* Export */)) { + if (isType && node.kind === 265 /* ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* Export */)) { error(node, ts.Diagnostics.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided); } break; } - case 274 /* ExportSpecifier */: { + case 275 /* ExportSpecifier */: { // Don't allow re-exporting an export that will be elided when `--isolatedModules` is set. // The exception is that `import type { A } from './a'; export { A }` is allowed // because single-file analysis can determine that the export should be dropped. @@ -83562,7 +84856,7 @@ var ts; } } function isDeprecatedAliasedSymbol(symbol) { - return !!symbol.declarations && ts.every(symbol.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 134217728 /* Deprecated */); }); + return !!symbol.declarations && ts.every(symbol.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 268435456 /* Deprecated */); }); } function checkDeprecatedAliasedSymbol(symbol, location) { if (!(symbol.flags & 2097152 /* Alias */)) @@ -83596,7 +84890,7 @@ var ts; function checkImportBinding(node) { checkCollisionsForDeclarationName(node, node.name); checkAliasSymbol(node); - if (node.kind === 269 /* ImportSpecifier */ && + if (node.kind === 270 /* ImportSpecifier */ && ts.idText(node.propertyName || node.name) === "default" && ts.getESModuleInterop(compilerOptions) && moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) { @@ -83606,6 +84900,14 @@ var ts; function checkAssertClause(declaration) { var _a; if (declaration.assertClause) { + var validForTypeAssertions = ts.isExclusivelyTypeOnlyImportOrExport(declaration); + var override = ts.getResolutionModeOverrideForClause(declaration.assertClause, validForTypeAssertions ? grammarErrorOnNode : undefined); + if (validForTypeAssertions && override) { + if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { + return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext); + } + return; // Other grammar checks do not apply to type-only imports with resolution mode assertions + } var mode = (moduleKind === ts.ModuleKind.NodeNext) && declaration.moduleSpecifier && getUsageModeForExpression(declaration.moduleSpecifier); if (mode !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.ESNext) { return grammarErrorOnNode(declaration.assertClause, moduleKind === ts.ModuleKind.NodeNext @@ -83615,6 +84917,9 @@ var ts; if (ts.isImportDeclaration(declaration) ? (_a = declaration.importClause) === null || _a === void 0 ? void 0 : _a.isTypeOnly : declaration.isTypeOnly) { return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Import_assertions_cannot_be_used_with_type_only_imports_or_exports); } + if (override) { + return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.resolution_mode_can_only_be_set_for_type_only_imports); + } } } function checkImportDeclaration(node) { @@ -83632,7 +84937,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 267 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 268 /* NamespaceImport */) { checkImportBinding(importClause.namedBindings); if (moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && ts.getESModuleInterop(compilerOptions)) { // import * as ns from "foo"; @@ -83661,7 +84966,7 @@ var ts; if (ts.hasSyntacticModifier(node, 1 /* Export */)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 276 /* ExternalModuleReference */) { + if (node.moduleReference.kind !== 277 /* ExternalModuleReference */) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { if (target.flags & 111551 /* Value */) { @@ -83680,7 +84985,7 @@ var ts; } } else { - if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat === undefined && !node.isTypeOnly && !(node.flags & 8388608 /* Ambient */)) { + if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat === undefined && !node.isTypeOnly && !(node.flags & 16777216 /* Ambient */)) { // Import equals declaration is deprecated in es6 or above grammarErrorOnNode(node, ts.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead); } @@ -83692,7 +84997,7 @@ var ts; // If we hit an export in an illegal context, just bail out to avoid cascading errors. return; } - if (!checkGrammarDecoratorsAndModifiers(node) && ts.hasEffectiveModifiers(node)) { + if (!checkGrammarDecoratorsAndModifiers(node) && ts.hasSyntacticModifiers(node)) { grammarErrorOnFirstToken(node, ts.Diagnostics.An_export_declaration_cannot_have_modifiers); } if (node.moduleSpecifier && node.exportClause && ts.isNamedExports(node.exportClause) && ts.length(node.exportClause.elements) && languageVersion === 0 /* ES3 */) { @@ -83704,10 +85009,10 @@ var ts; // export { x, y } // export { x, y } from "foo" ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 261 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 261 /* ModuleBlock */ && - !node.moduleSpecifier && node.flags & 8388608 /* Ambient */; - if (node.parent.kind !== 303 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + var inAmbientExternalModule = node.parent.kind === 262 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 262 /* ModuleBlock */ && + !node.moduleSpecifier && node.flags & 16777216 /* Ambient */; + if (node.parent.kind !== 305 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -83742,7 +85047,7 @@ var ts; function checkGrammarExportDeclaration(node) { var _a; if (node.isTypeOnly) { - if (((_a = node.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === 272 /* NamedExports */) { + if (((_a = node.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === 273 /* NamedExports */) { return checkGrammarNamedImportsOrExports(node.exportClause); } else { @@ -83752,7 +85057,7 @@ var ts; return false; } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 303 /* SourceFile */ || node.parent.kind === 261 /* ModuleBlock */ || node.parent.kind === 260 /* ModuleDeclaration */; + var isInAppropriateContext = node.parent.kind === 305 /* SourceFile */ || node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 261 /* ModuleDeclaration */; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -83830,8 +85135,8 @@ var ts; // If we hit an export assignment in an illegal context, just bail out to avoid cascading errors. return; } - var container = node.parent.kind === 303 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 260 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 305 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 261 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -83871,10 +85176,10 @@ var ts; checkExpressionCached(node.expression); } checkExternalModuleExports(container); - if ((node.flags & 8388608 /* Ambient */) && !ts.isEntityNameExpression(node.expression)) { + if ((node.flags & 16777216 /* Ambient */) && !ts.isEntityNameExpression(node.expression)) { grammarErrorOnNode(node.expression, ts.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context); } - if (node.isExportEquals && !(node.flags & 8388608 /* Ambient */)) { + if (node.isExportEquals && !(node.flags & 16777216 /* Ambient */)) { if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat !== ts.ModuleKind.CommonJS) { // export assignment is not supported in es6 modules grammarErrorOnNode(node, ts.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead); @@ -83909,10 +85214,10 @@ var ts; } // ECMA262: 15.2.1.1 It is a Syntax Error if the ExportedNames of ModuleItemList contains any duplicate entries. // (TS Exceptions: namespaces, function overloads, enums, and interfaces) - if (flags & (1920 /* Namespace */ | 64 /* Interface */ | 384 /* Enum */)) { + if (flags & (1920 /* Namespace */ | 384 /* Enum */)) { return; } - var exportedDeclarationsCount = ts.countWhere(declarations, isNotOverloadAndNotAccessor); + var exportedDeclarationsCount = ts.countWhere(declarations, ts.and(isNotOverloadAndNotAccessor, ts.not(ts.isInterfaceDeclaration))); if (flags & 524288 /* TypeAlias */ && exportedDeclarationsCount <= 2) { // it is legal to merge type alias with other values // so count should be either 1 (just type alias) or 2 (type alias + merged value) @@ -83959,177 +85264,177 @@ var ts; // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 260 /* ModuleDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 255 /* FunctionDeclaration */: + case 261 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 256 /* FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } - if (kind >= 236 /* FirstStatement */ && kind <= 252 /* LastStatement */ && node.flowNode && !isReachableFlowNode(node.flowNode)) { + if (kind >= 237 /* FirstStatement */ && kind <= 253 /* LastStatement */ && node.flowNode && !isReachableFlowNode(node.flowNode)) { errorOrSuggestion(compilerOptions.allowUnreachableCode === false, node, ts.Diagnostics.Unreachable_code_detected); } switch (kind) { - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: return checkTypeParameter(node); - case 163 /* Parameter */: + case 164 /* Parameter */: return checkParameter(node); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return checkPropertyDeclaration(node); - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: return checkPropertySignature(node); - case 179 /* ConstructorType */: - case 178 /* FunctionType */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 175 /* IndexSignature */: + case 180 /* ConstructorType */: + case 179 /* FunctionType */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 176 /* IndexSignature */: return checkSignatureDeclaration(node); - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: return checkMethodDeclaration(node); - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return checkClassStaticBlockDeclaration(node); - case 170 /* Constructor */: + case 171 /* Constructor */: return checkConstructorDeclaration(node); - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return checkAccessorDeclaration(node); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return checkTypeReferenceNode(node); - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: return checkTypePredicate(node); - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: return checkTypeQuery(node); - case 181 /* TypeLiteral */: + case 182 /* TypeLiteral */: return checkTypeLiteral(node); - case 182 /* ArrayType */: + case 183 /* ArrayType */: return checkArrayType(node); - case 183 /* TupleType */: + case 184 /* TupleType */: return checkTupleType(node); - case 186 /* UnionType */: - case 187 /* IntersectionType */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: return checkUnionOrIntersectionType(node); - case 190 /* ParenthesizedType */: - case 184 /* OptionalType */: - case 185 /* RestType */: + case 191 /* ParenthesizedType */: + case 185 /* OptionalType */: + case 186 /* RestType */: return checkSourceElement(node.type); - case 191 /* ThisType */: + case 192 /* ThisType */: return checkThisType(node); - case 192 /* TypeOperator */: + case 193 /* TypeOperator */: return checkTypeOperator(node); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return checkConditionalType(node); - case 189 /* InferType */: + case 190 /* InferType */: return checkInferType(node); - case 197 /* TemplateLiteralType */: + case 198 /* TemplateLiteralType */: return checkTemplateLiteralType(node); - case 199 /* ImportType */: + case 200 /* ImportType */: return checkImportType(node); - case 196 /* NamedTupleMember */: + case 197 /* NamedTupleMember */: return checkNamedTupleMember(node); - case 326 /* JSDocAugmentsTag */: + case 328 /* JSDocAugmentsTag */: return checkJSDocAugmentsTag(node); - case 327 /* JSDocImplementsTag */: + case 329 /* JSDocImplementsTag */: return checkJSDocImplementsTag(node); - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 337 /* JSDocEnumTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 339 /* JSDocEnumTag */: return checkJSDocTypeAliasTag(node); - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: return checkJSDocTemplateTag(node); - case 341 /* JSDocTypeTag */: + case 343 /* JSDocTypeTag */: return checkJSDocTypeTag(node); - case 338 /* JSDocParameterTag */: + case 340 /* JSDocParameterTag */: return checkJSDocParameterTag(node); - case 345 /* JSDocPropertyTag */: + case 347 /* JSDocPropertyTag */: return checkJSDocPropertyTag(node); - case 315 /* JSDocFunctionType */: + case 317 /* JSDocFunctionType */: checkJSDocFunctionType(node); // falls through - case 313 /* JSDocNonNullableType */: - case 312 /* JSDocNullableType */: - case 310 /* JSDocAllType */: - case 311 /* JSDocUnknownType */: - case 320 /* JSDocTypeLiteral */: + case 315 /* JSDocNonNullableType */: + case 314 /* JSDocNullableType */: + case 312 /* JSDocAllType */: + case 313 /* JSDocUnknownType */: + case 322 /* JSDocTypeLiteral */: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 316 /* JSDocVariadicType */: + case 318 /* JSDocVariadicType */: checkJSDocVariadicType(node); return; - case 307 /* JSDocTypeExpression */: + case 309 /* JSDocTypeExpression */: return checkSourceElement(node.type); - case 331 /* JSDocPublicTag */: - case 333 /* JSDocProtectedTag */: - case 332 /* JSDocPrivateTag */: + case 333 /* JSDocPublicTag */: + case 335 /* JSDocProtectedTag */: + case 334 /* JSDocPrivateTag */: return checkJSDocAccessibilityModifiers(node); - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: return checkIndexedAccessType(node); - case 194 /* MappedType */: + case 195 /* MappedType */: return checkMappedType(node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return checkFunctionDeclaration(node); - case 234 /* Block */: - case 261 /* ModuleBlock */: + case 235 /* Block */: + case 262 /* ModuleBlock */: return checkBlock(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return checkVariableStatement(node); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return checkExpressionStatement(node); - case 238 /* IfStatement */: + case 239 /* IfStatement */: return checkIfStatement(node); - case 239 /* DoStatement */: + case 240 /* DoStatement */: return checkDoStatement(node); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: return checkWhileStatement(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return checkForStatement(node); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return checkForInStatement(node); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return checkForOfStatement(node); - case 244 /* ContinueStatement */: - case 245 /* BreakStatement */: + case 245 /* ContinueStatement */: + case 246 /* BreakStatement */: return checkBreakOrContinueStatement(node); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return checkReturnStatement(node); - case 247 /* WithStatement */: + case 248 /* WithStatement */: return checkWithStatement(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return checkSwitchStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return checkLabeledStatement(node); - case 250 /* ThrowStatement */: + case 251 /* ThrowStatement */: return checkThrowStatement(node); - case 251 /* TryStatement */: + case 252 /* TryStatement */: return checkTryStatement(node); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return checkVariableDeclaration(node); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return checkBindingElement(node); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return checkClassDeclaration(node); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: return checkInterfaceDeclaration(node); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: return checkTypeAliasDeclaration(node); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return checkEnumDeclaration(node); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return checkModuleDeclaration(node); - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return checkImportDeclaration(node); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return checkImportEqualsDeclaration(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return checkExportDeclaration(node); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return checkExportAssignment(node); - case 235 /* EmptyStatement */: - case 252 /* DebuggerStatement */: + case 236 /* EmptyStatement */: + case 253 /* DebuggerStatement */: checkGrammarStatementInAmbientContext(node); return; - case 275 /* MissingDeclaration */: + case 276 /* MissingDeclaration */: return checkMissingDeclaration(node); } } @@ -84227,33 +85532,33 @@ var ts; currentNode = node; instantiationCount = 0; switch (node.kind) { - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 209 /* TaggedTemplateExpression */: - case 164 /* Decorator */: - case 279 /* JsxOpeningElement */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 210 /* TaggedTemplateExpression */: + case 165 /* Decorator */: + case 280 /* JsxOpeningElement */: // These node kinds are deferred checked when overload resolution fails // To save on work, we ensure the arguments are checked just once, in // a deferred way resolveUntypedCall(node); break; - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: checkAccessorDeclaration(node); break; - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: checkClassExpressionDeferred(node); break; - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: checkJsxSelfClosingElementDeferred(node); break; - case 277 /* JsxElement */: + case 278 /* JsxElement */: checkJsxElementDeferred(node); break; } @@ -84303,13 +85608,16 @@ var ts; if (ts.isExternalOrCommonJsModule(node)) { registerForUnusedIdentifiersCheck(node); } - if (!node.isDeclarationFile && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters)) { - checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(node), function (containingNode, kind, diag) { - if (!ts.containsParseError(containingNode) && unusedIsError(kind, !!(containingNode.flags & 8388608 /* Ambient */))) { - diagnostics.add(diag); - } - }); - } + addLazyDiagnostic(function () { + // This relies on the results of other lazy diagnostics, so must be computed after them + if (!node.isDeclarationFile && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters)) { + checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(node), function (containingNode, kind, diag) { + if (!ts.containsParseError(containingNode) && unusedIsError(kind, !!(containingNode.flags & 16777216 /* Ambient */))) { + diagnostics.add(diag); + } + }); + } + }); if (compilerOptions.importsNotUsedAsValues === 2 /* Error */ && !node.isDeclarationFile && ts.isExternalModule(node)) { @@ -84349,15 +85657,35 @@ var ts; cancellationToken = undefined; } } + function ensurePendingDiagnosticWorkComplete() { + // Invoke any existing lazy diagnostics to add them, clear the backlog of diagnostics + for (var _i = 0, deferredDiagnosticsCallbacks_1 = deferredDiagnosticsCallbacks; _i < deferredDiagnosticsCallbacks_1.length; _i++) { + var cb = deferredDiagnosticsCallbacks_1[_i]; + cb(); + } + deferredDiagnosticsCallbacks = []; + } + function checkSourceFileWithEagerDiagnostics(sourceFile) { + ensurePendingDiagnosticWorkComplete(); + // then setup diagnostics for immediate invocation (as we are about to collect them, and + // this avoids the overhead of longer-lived callbacks we don't need to allocate) + // This also serves to make the shift to possibly lazy diagnostics transparent to serial command-line scenarios + // (as in those cases, all the diagnostics will still be computed as the appropriate place in the tree, + // thus much more likely retaining the same union ordering as before we had lazy diagnostics) + var oldAddLazyDiagnostics = addLazyDiagnostic; + addLazyDiagnostic = function (cb) { return cb(); }; + checkSourceFile(sourceFile); + addLazyDiagnostic = oldAddLazyDiagnostics; + } function getDiagnosticsWorker(sourceFile) { - throwIfNonDiagnosticsProducing(); if (sourceFile) { + ensurePendingDiagnosticWorkComplete(); // Some global diagnostics are deferred until they are needed and // may not be reported in the first call to getGlobalDiagnostics. // We should catch these changes and report them. var previousGlobalDiagnostics = diagnostics.getGlobalDiagnostics(); var previousGlobalDiagnosticsSize = previousGlobalDiagnostics.length; - checkSourceFile(sourceFile); + checkSourceFileWithEagerDiagnostics(sourceFile); var semanticDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName); var currentGlobalDiagnostics = diagnostics.getGlobalDiagnostics(); if (currentGlobalDiagnostics !== previousGlobalDiagnostics) { @@ -84375,21 +85703,16 @@ var ts; } // Global diagnostics are always added when a file is not provided to // getDiagnostics - ts.forEach(host.getSourceFiles(), checkSourceFile); + ts.forEach(host.getSourceFiles(), checkSourceFileWithEagerDiagnostics); return diagnostics.getDiagnostics(); } function getGlobalDiagnostics() { - throwIfNonDiagnosticsProducing(); + ensurePendingDiagnosticWorkComplete(); return diagnostics.getGlobalDiagnostics(); } - function throwIfNonDiagnosticsProducing() { - if (!produceDiagnostics) { - throw new Error("Trying to get diagnostics from a type checker that does not produce them."); - } - } // Language service support function getSymbolsInScope(location, meaning) { - if (location.flags & 16777216 /* InWithStatement */) { + if (location.flags & 33554432 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return []; } @@ -84404,17 +85727,17 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: if (!ts.isExternalModule(location)) break; // falls through - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: copyLocallyVisibleExportSymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* ModuleMember */); break; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* EnumMember */); break; - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: var className = location.name; if (className) { copySymbol(location.symbol, meaning); @@ -84422,8 +85745,8 @@ var ts; // this fall-through is necessary because we would like to handle // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration. // falls through - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: // If we didn't come from static member of class or interface, // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. @@ -84432,7 +85755,7 @@ var ts; copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 788968 /* Type */); } break; - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -84476,7 +85799,7 @@ var ts; if (meaning) { source.forEach(function (symbol) { // Similar condition as in `resolveNameHelper` - if (!ts.getDeclarationOfKind(symbol, 274 /* ExportSpecifier */) && !ts.getDeclarationOfKind(symbol, 273 /* NamespaceExport */)) { + if (!ts.getDeclarationOfKind(symbol, 275 /* ExportSpecifier */) && !ts.getDeclarationOfKind(symbol, 274 /* NamespaceExport */)) { copySymbol(symbol, meaning); } }); @@ -84490,19 +85813,19 @@ var ts; } function isTypeDeclaration(node) { switch (node.kind) { - case 162 /* TypeParameter */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 259 /* EnumDeclaration */: - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 337 /* JSDocEnumTag */: + case 163 /* TypeParameter */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 260 /* EnumDeclaration */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 339 /* JSDocEnumTag */: return true; - case 266 /* ImportClause */: + case 267 /* ImportClause */: return node.isTypeOnly; - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: return node.parent.parent.isTypeOnly; default: return false; @@ -84510,16 +85833,16 @@ var ts; } // True if the given identifier is part of a type reference function isTypeReferenceIdentifier(node) { - while (node.parent.kind === 160 /* QualifiedName */) { + while (node.parent.kind === 161 /* QualifiedName */) { node = node.parent; } - return node.parent.kind === 177 /* TypeReference */; + return node.parent.kind === 178 /* TypeReference */; } function isHeritageClauseElementIdentifier(node) { - while (node.parent.kind === 205 /* PropertyAccessExpression */) { + while (node.parent.kind === 206 /* PropertyAccessExpression */) { node = node.parent; } - return node.parent.kind === 227 /* ExpressionWithTypeArguments */; + return node.parent.kind === 228 /* ExpressionWithTypeArguments */; } function forEachEnclosingClass(node, callback) { var result; @@ -84547,13 +85870,13 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 160 /* QualifiedName */) { + while (nodeOnRightSide.parent.kind === 161 /* QualifiedName */) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 264 /* ImportEqualsDeclaration */) { + if (nodeOnRightSide.parent.kind === 265 /* ImportEqualsDeclaration */) { return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 270 /* ExportAssignment */) { + if (nodeOnRightSide.parent.kind === 271 /* ExportAssignment */) { return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; @@ -84579,7 +85902,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 199 /* ImportType */ && parent.qualifier === node) { + if (parent && parent.kind === 200 /* ImportType */ && parent.qualifier === node) { return parent; } return undefined; @@ -84589,7 +85912,7 @@ var ts; return getSymbolOfNode(name.parent); } if (ts.isInJSFile(name) && - name.parent.kind === 205 /* PropertyAccessExpression */ && + name.parent.kind === 206 /* PropertyAccessExpression */ && name.parent === name.parent.parent.left) { // Check if this is a special property assignment if (!ts.isPrivateIdentifier(name) && !ts.isJSDocMemberName(name)) { @@ -84599,7 +85922,7 @@ var ts; } } } - if (name.parent.kind === 270 /* ExportAssignment */ && ts.isEntityNameExpression(name)) { + if (name.parent.kind === 271 /* ExportAssignment */ && ts.isEntityNameExpression(name)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression var success = resolveEntityName(name, /*all meanings*/ 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*ignoreErrors*/ true); @@ -84609,7 +85932,7 @@ var ts; } else if (ts.isEntityName(name) && isInRightSideOfImportOrExportAssignment(name)) { // Since we already checked for ExportAssignment, this really could only be an Import - var importEqualsDeclaration = ts.getAncestor(name, 264 /* ImportEqualsDeclaration */); + var importEqualsDeclaration = ts.getAncestor(name, 265 /* ImportEqualsDeclaration */); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(name, /*dontResolveAlias*/ true); } @@ -84627,7 +85950,7 @@ var ts; if (isHeritageClauseElementIdentifier(name)) { var meaning = 0 /* None */; // In an interface or class, we're definitely interested in a type. - if (name.parent.kind === 227 /* ExpressionWithTypeArguments */) { + if (name.parent.kind === 228 /* ExpressionWithTypeArguments */) { meaning = 788968 /* Type */; // In a class 'extends' clause we are also looking for a value. if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(name.parent)) { @@ -84643,10 +85966,10 @@ var ts; return entityNameSymbol; } } - if (name.parent.kind === 338 /* JSDocParameterTag */) { + if (name.parent.kind === 340 /* JSDocParameterTag */) { return ts.getParameterSymbolFromJSDoc(name.parent); } - if (name.parent.kind === 162 /* TypeParameter */ && name.parent.parent.kind === 342 /* JSDocTemplateTag */) { + if (name.parent.kind === 163 /* TypeParameter */ && name.parent.parent.kind === 344 /* JSDocTemplateTag */) { ts.Debug.assert(!ts.isInJSFile(name)); // Otherwise `isDeclarationName` would have been true. var typeParameter = ts.getTypeParameterFromJsDoc(name.parent); return typeParameter && typeParameter.symbol; @@ -84675,12 +85998,12 @@ var ts; else if (ts.isPrivateIdentifier(name)) { return getSymbolForPrivateIdentifierExpression(name); } - else if (name.kind === 205 /* PropertyAccessExpression */ || name.kind === 160 /* QualifiedName */) { + else if (name.kind === 206 /* PropertyAccessExpression */ || name.kind === 161 /* QualifiedName */) { var links = getNodeLinks(name); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (name.kind === 205 /* PropertyAccessExpression */) { + if (name.kind === 206 /* PropertyAccessExpression */) { checkPropertyAccessExpression(name, 0 /* Normal */); } else { @@ -84696,11 +86019,11 @@ var ts; } } else if (isTypeReferenceIdentifier(name)) { - var meaning = name.parent.kind === 177 /* TypeReference */ ? 788968 /* Type */ : 1920 /* Namespace */; + var meaning = name.parent.kind === 178 /* TypeReference */ ? 788968 /* Type */ : 1920 /* Namespace */; var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } - if (name.parent.kind === 176 /* TypePredicate */) { + if (name.parent.kind === 177 /* TypePredicate */) { return resolveEntityName(name, /*meaning*/ 1 /* FunctionScopedVariable */); } return undefined; @@ -84734,12 +86057,12 @@ var ts; } } function getSymbolAtLocation(node, ignoreErrors) { - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } var parent = node.parent; var grandParent = parent.parent; - if (node.flags & 16777216 /* InWithStatement */) { + if (node.flags & 33554432 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } @@ -84757,8 +86080,8 @@ var ts; if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfNameOrPropertyAccessExpression(node); } - else if (parent.kind === 202 /* BindingElement */ && - grandParent.kind === 200 /* ObjectBindingPattern */ && + else if (parent.kind === 203 /* BindingElement */ && + grandParent.kind === 201 /* ObjectBindingPattern */ && node === parent.propertyName) { var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = getPropertyOfType(typeOfPattern, node.escapedText); @@ -84780,8 +86103,8 @@ var ts; switch (node.kind) { case 79 /* Identifier */: case 80 /* PrivateIdentifier */: - case 205 /* PropertyAccessExpression */: - case 160 /* QualifiedName */: + case 206 /* PropertyAccessExpression */: + case 161 /* QualifiedName */: if (!ts.isThisInTypeQuery(node)) { return getSymbolOfNameOrPropertyAccessExpression(node); } @@ -84798,14 +86121,14 @@ var ts; return checkExpression(node).symbol; } // falls through - case 191 /* ThisType */: + case 192 /* ThisType */: return getTypeFromThisTypeNode(node).symbol; case 106 /* SuperKeyword */: return checkExpression(node).symbol; case 134 /* ConstructorKeyword */: // constructor keyword for an overload, should take us to the definition if it exist var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 170 /* Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 171 /* Constructor */) { return constructorDeclaration.parent.symbol; } return undefined; @@ -84816,7 +86139,7 @@ var ts; // 3). Dynamic import call or require in javascript // 4). type A = import("./f/*gotToDefinitionHere*/oo") if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 265 /* ImportDeclaration */ || node.parent.kind === 271 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 266 /* ImportDeclaration */ || node.parent.kind === 272 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || ((ts.isInJSFile(node) && ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node, ignoreErrors); @@ -84838,14 +86161,14 @@ var ts; case 38 /* EqualsGreaterThanToken */: case 84 /* ClassKeyword */: return getSymbolOfNode(node.parent); - case 199 /* ImportType */: + case 200 /* ImportType */: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal, ignoreErrors) : undefined; case 93 /* ExportKeyword */: return ts.isExportAssignment(node.parent) ? ts.Debug.checkDefined(node.parent.symbol) : undefined; case 100 /* ImportKeyword */: case 103 /* NewKeyword */: return ts.isMetaProperty(node.parent) ? checkMetaPropertyKeyword(node.parent).symbol : undefined; - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: return checkExpression(node).symbol; default: return undefined; @@ -84861,7 +86184,7 @@ var ts; return undefined; } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 295 /* ShorthandPropertyAssignment */) { + if (location && location.kind === 297 /* ShorthandPropertyAssignment */) { return resolveEntityName(location.name, 111551 /* Value */ | 2097152 /* Alias */); } return undefined; @@ -84881,7 +86204,7 @@ var ts; if (ts.isSourceFile(node) && !ts.isExternalModule(node)) { return errorType; } - if (node.flags & 16777216 /* InWithStatement */) { + if (node.flags & 33554432 /* InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return errorType; } @@ -84943,23 +86266,23 @@ var ts; // [ a ] from // [a] = [ some array ...] function getTypeOfAssignmentPattern(expr) { - ts.Debug.assert(expr.kind === 204 /* ObjectLiteralExpression */ || expr.kind === 203 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.kind === 205 /* ObjectLiteralExpression */ || expr.kind === 204 /* ArrayLiteralExpression */); // If this is from "for of" // for ( { a } of elems) { // } - if (expr.parent.kind === 243 /* ForOfStatement */) { + if (expr.parent.kind === 244 /* ForOfStatement */) { var iteratedType = checkRightHandSideOfForOf(expr.parent); return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from "for" initializer // for ({a } = elems[0];.....) { } - if (expr.parent.kind === 220 /* BinaryExpression */) { + if (expr.parent.kind === 221 /* BinaryExpression */) { var iteratedType = getTypeOfExpression(expr.parent.right); return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { - if (expr.parent.kind === 294 /* PropertyAssignment */) { + if (expr.parent.kind === 296 /* PropertyAssignment */) { var node_3 = ts.cast(expr.parent.parent, ts.isObjectLiteralExpression); var typeOfParentObjectLiteral = getTypeOfAssignmentPattern(node_3) || errorType; var propertyIndex = ts.indexOfNode(node_3.properties, expr.parent); @@ -85007,7 +86330,7 @@ var ts; case 8 /* NumericLiteral */: case 10 /* StringLiteral */: return getStringLiteralType(name.text); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: var nameType = checkComputedPropertyName(name); return isTypeAssignableToKind(nameType, 12288 /* ESSymbolLike */) ? nameType : stringType; default: @@ -85125,7 +86448,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 /* ValueModule */ && ((_a = parentSymbol_1.valueDeclaration) === null || _a === void 0 ? void 0 : _a.kind) === 303 /* SourceFile */) { + if (parentSymbol_1.flags & 512 /* ValueModule */ && ((_a = parentSymbol_1.valueDeclaration) === null || _a === void 0 ? void 0 : _a.kind) === 305 /* SourceFile */) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); // If `node` accesses an export and that export isn't in the same file, then symbol is a namespace export, so return undefined. @@ -85157,7 +86480,7 @@ var ts; function isSymbolOfDestructuredElementOfCatchBinding(symbol) { return symbol.valueDeclaration && ts.isBindingElement(symbol.valueDeclaration) - && ts.walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === 291 /* CatchClause */; + && ts.walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === 292 /* CatchClause */; } function isSymbolOfDeclarationWithCollidingName(symbol) { if (symbol.flags & 418 /* BlockScoped */ && symbol.valueDeclaration && !ts.isSourceFile(symbol.valueDeclaration)) { @@ -85188,7 +86511,7 @@ var ts; // they will not collide with anything var isDeclaredInLoop = nodeLinks_1.flags & 524288 /* BlockScopedBindingInLoop */; var inLoopInitializer = ts.isIterationStatement(container, /*lookInLabeledStatements*/ false); - var inLoopBodyBlock = container.kind === 234 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); + var inLoopBodyBlock = container.kind === 235 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -85229,19 +86552,19 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return isAliasResolvedToValue(getSymbolOfNode(node)); - case 266 /* ImportClause */: - case 267 /* NamespaceImport */: - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: + case 267 /* ImportClause */: + case 268 /* NamespaceImport */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: var symbol = getSymbolOfNode(node); return !!symbol && isAliasResolvedToValue(symbol) && !getTypeOnlyAliasDeclaration(symbol); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: var exportClause = node.exportClause; return !!exportClause && (ts.isNamespaceExport(exportClause) || ts.some(exportClause.elements, isValueAliasDeclaration)); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return node.expression && node.expression.kind === 79 /* Identifier */ ? isAliasResolvedToValue(getSymbolOfNode(node)) : true; @@ -85250,7 +86573,7 @@ var ts; } function isTopLevelValueImportEqualsWithEntityName(nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 303 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { + if (node === undefined || node.parent.kind !== 305 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -85365,15 +86688,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 297 /* EnumMember */: - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 299 /* EnumMember */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return true; } return false; } function getConstantValue(node) { - if (node.kind === 297 /* EnumMember */) { + if (node.kind === 299 /* EnumMember */) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -85579,7 +86902,7 @@ var ts; if (resolvedTypeReferenceDirectives) { // populate reverse mapping: file path -> type reference directive that was resolved to this file fileToDirective = new ts.Map(); - resolvedTypeReferenceDirectives.forEach(function (resolvedDirective, key) { + resolvedTypeReferenceDirectives.forEach(function (resolvedDirective, key, mode) { if (!resolvedDirective || !resolvedDirective.resolvedFileName) { return; } @@ -85587,7 +86910,7 @@ var ts; if (file) { // Add the transitive closure of path references loaded by this file (as long as they are not) // part of an existing type reference. - addReferencedFilesToTypeDirective(file, key); + addReferencedFilesToTypeDirective(file, key, mode); } }); } @@ -85650,12 +86973,12 @@ var ts; getJsxFragmentFactoryEntity: getJsxFragmentFactoryEntity, getAllAccessorDeclarations: function (accessor) { accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); // TODO: GH#18217 - var otherKind = accessor.kind === 172 /* SetAccessor */ ? 171 /* GetAccessor */ : 172 /* SetAccessor */; + var otherKind = accessor.kind === 173 /* SetAccessor */ ? 172 /* GetAccessor */ : 173 /* SetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 172 /* SetAccessor */ ? accessor : otherAccessor; - var getAccessor = accessor.kind === 171 /* GetAccessor */ ? accessor : otherAccessor; + var setAccessor = accessor.kind === 173 /* SetAccessor */ ? accessor : otherAccessor; + var getAccessor = accessor.kind === 172 /* GetAccessor */ ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -85671,7 +86994,7 @@ var ts; }, getDeclarationStatementsForSourceFile: function (node, flags, tracker, bundled) { var n = ts.getParseTreeNode(node); - ts.Debug.assert(n && n.kind === 303 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); + ts.Debug.assert(n && n.kind === 305 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); var sym = getSymbolOfNode(node); if (!sym) { return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); @@ -85708,7 +87031,7 @@ var ts; return false; } function isInHeritageClause(node) { - return node.parent && node.parent.kind === 227 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 290 /* HeritageClause */; + return node.parent && node.parent.kind === 228 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 291 /* HeritageClause */; } // defined here to avoid outer scope pollution function getTypeReferenceDirectivesForEntityName(node) { @@ -85720,7 +87043,7 @@ var ts; // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries var meaning = 788968 /* Type */ | 1920 /* Namespace */; - if ((node.kind === 79 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 205 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { + if ((node.kind === 79 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 206 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { meaning = 111551 /* Value */ | 1048576 /* ExportValue */; } var symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); @@ -85768,7 +87091,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 303 /* SourceFile */ && current.flags & 512 /* ValueModule */) { + if (current.valueDeclaration && current.valueDeclaration.kind === 305 /* SourceFile */ && current.flags & 512 /* ValueModule */) { return false; } // check that at least one declaration of top level symbol originates from type declaration file @@ -85781,27 +87104,27 @@ var ts; } return false; } - function addReferencedFilesToTypeDirective(file, key) { + function addReferencedFilesToTypeDirective(file, key, mode) { if (fileToDirective.has(file.path)) return; - fileToDirective.set(file.path, key); + fileToDirective.set(file.path, [key, mode]); for (var _i = 0, _a = file.referencedFiles; _i < _a.length; _i++) { - var fileName = _a[_i].fileName; + var _b = _a[_i], fileName = _b.fileName, resolutionMode = _b.resolutionMode; var resolvedFile = ts.resolveTripleslashReference(fileName, file.fileName); var referencedFile = host.getSourceFile(resolvedFile); if (referencedFile) { - addReferencedFilesToTypeDirective(referencedFile, key); + addReferencedFilesToTypeDirective(referencedFile, key, resolutionMode || file.impliedNodeFormat); } } } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 260 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var specifier = declaration.kind === 261 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); // TODO: GH#18217 if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 303 /* SourceFile */); + return ts.getDeclarationOfKind(moduleSymbol, 305 /* SourceFile */); } function initializeTypeChecker() { // Bind all source files and propagate errors @@ -85934,7 +87257,7 @@ var ts; function checkExternalEmitHelpers(location, helpers) { if ((requestedExternalEmitHelpers & helpers) !== helpers && compilerOptions.importHelpers) { var sourceFile = ts.getSourceFileOfNode(location); - if (ts.isEffectiveExternalModule(sourceFile, compilerOptions) && !(location.flags & 8388608 /* Ambient */)) { + if (ts.isEffectiveExternalModule(sourceFile, compilerOptions) && !(location.flags & 16777216 /* Ambient */)) { var helpersModule = resolveHelpersModule(sourceFile, location); if (helpersModule !== unknownSymbol) { var uncheckedHelpers = helpers & ~requestedExternalEmitHelpers; @@ -86010,14 +87333,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 168 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { + if (node.kind === 169 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 171 /* GetAccessor */ || node.kind === 172 /* SetAccessor */) { + else if (node.kind === 172 /* GetAccessor */ || node.kind === 173 /* SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -86034,21 +87357,26 @@ var ts; var flags = 0 /* None */; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; - if (modifier.kind !== 144 /* ReadonlyKeyword */) { - if (node.kind === 165 /* PropertySignature */ || node.kind === 167 /* MethodSignature */) { + if (modifier.kind !== 145 /* ReadonlyKeyword */) { + if (node.kind === 166 /* PropertySignature */ || node.kind === 168 /* MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 175 /* IndexSignature */ && (modifier.kind !== 124 /* StaticKeyword */ || !ts.isClassLike(node.parent))) { + if (node.kind === 176 /* IndexSignature */ && (modifier.kind !== 124 /* StaticKeyword */ || !ts.isClassLike(node.parent))) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } + if (modifier.kind !== 101 /* InKeyword */ && modifier.kind !== 144 /* OutKeyword */) { + if (node.kind === 163 /* TypeParameter */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_parameter, ts.tokenToString(modifier.kind)); + } + } switch (modifier.kind) { case 85 /* ConstKeyword */: - if (node.kind !== 259 /* EnumDeclaration */) { + if (node.kind !== 260 /* EnumDeclaration */) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(85 /* ConstKeyword */)); } break; - case 158 /* OverrideKeyword */: + case 159 /* OverrideKeyword */: // If node.kind === SyntaxKind.Parameter, checkParameter reports an error if it's not a parameter property. if (flags & 16384 /* Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "override"); @@ -86084,7 +87412,7 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 261 /* ModuleBlock */ || node.parent.kind === 303 /* SourceFile */) { + else if (node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } else if (flags & 128 /* Abstract */) { @@ -86110,10 +87438,10 @@ var ts; else if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 261 /* ModuleBlock */ || node.parent.kind === 303 /* SourceFile */) { + else if (node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 163 /* Parameter */) { + else if (node.kind === 164 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } else if (flags & 128 /* Abstract */) { @@ -86125,11 +87453,11 @@ var ts; flags |= 32 /* Static */; lastStatic = modifier; break; - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: if (flags & 64 /* Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 166 /* PropertyDeclaration */ && node.kind !== 165 /* PropertySignature */ && node.kind !== 175 /* IndexSignature */ && node.kind !== 163 /* Parameter */) { + else if (node.kind !== 167 /* PropertyDeclaration */ && node.kind !== 166 /* PropertySignature */ && node.kind !== 176 /* IndexSignature */ && node.kind !== 164 /* Parameter */) { // If node.kind === SyntaxKind.Parameter, checkParameter reports an error if it's not a parameter property. return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } @@ -86151,14 +87479,14 @@ var ts; else if (ts.isClassLike(node.parent)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind, "export"); } - else if (node.kind === 163 /* Parameter */) { + else if (node.kind === 164 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1 /* Export */; break; case 88 /* DefaultKeyword */: - var container = node.parent.kind === 303 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 260 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 305 /* SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 261 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } else if (!(flags & 1 /* Export */)) { @@ -86179,10 +87507,10 @@ var ts; else if (ts.isClassLike(node.parent) && !ts.isPropertyDeclaration(node)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind, "declare"); } - else if (node.kind === 163 /* Parameter */) { + else if (node.kind === 164 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 8388608 /* Ambient */) && node.parent.kind === 261 /* ModuleBlock */) { + else if ((node.parent.flags & 16777216 /* Ambient */) && node.parent.kind === 262 /* ModuleBlock */) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } else if (ts.isPrivateIdentifierClassElementDeclaration(node)) { @@ -86195,15 +87523,15 @@ var ts; if (flags & 128 /* Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 256 /* ClassDeclaration */ && - node.kind !== 179 /* ConstructorType */) { - if (node.kind !== 168 /* MethodDeclaration */ && - node.kind !== 166 /* PropertyDeclaration */ && - node.kind !== 171 /* GetAccessor */ && - node.kind !== 172 /* SetAccessor */) { + if (node.kind !== 257 /* ClassDeclaration */ && + node.kind !== 180 /* ConstructorType */) { + if (node.kind !== 169 /* MethodDeclaration */ && + node.kind !== 167 /* PropertyDeclaration */ && + node.kind !== 172 /* GetAccessor */ && + node.kind !== 173 /* SetAccessor */) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 256 /* ClassDeclaration */ && ts.hasSyntacticModifier(node.parent, 128 /* Abstract */))) { + if (!(node.parent.kind === 257 /* ClassDeclaration */ && ts.hasSyntacticModifier(node.parent, 128 /* Abstract */))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32 /* Static */) { @@ -86228,10 +87556,10 @@ var ts; if (flags & 256 /* Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "async"); } - else if (flags & 2 /* Ambient */ || node.parent.flags & 8388608 /* Ambient */) { + else if (flags & 2 /* Ambient */ || node.parent.flags & 16777216 /* Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 163 /* Parameter */) { + else if (node.kind === 164 /* Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } if (flags & 128 /* Abstract */) { @@ -86240,9 +87568,25 @@ var ts; flags |= 256 /* Async */; lastAsync = modifier; break; + case 101 /* InKeyword */: + case 144 /* OutKeyword */: + var inOutFlag = modifier.kind === 101 /* InKeyword */ ? 32768 /* In */ : 65536 /* Out */; + var inOutText = modifier.kind === 101 /* InKeyword */ ? "in" : "out"; + if (node.kind !== 163 /* TypeParameter */ || (node.parent.kind !== 258 /* InterfaceDeclaration */ && + node.parent.kind !== 257 /* ClassDeclaration */ && node.parent.kind !== 259 /* TypeAliasDeclaration */)) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias, inOutText); + } + if (flags & inOutFlag) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, inOutText); + } + if (inOutFlag & 32768 /* In */ && flags & 65536 /* Out */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "in", "out"); + } + flags |= inOutFlag; + break; } } - if (node.kind === 170 /* Constructor */) { + if (node.kind === 171 /* Constructor */) { if (flags & 32 /* Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } @@ -86254,13 +87598,13 @@ var ts; } return false; } - else if ((node.kind === 265 /* ImportDeclaration */ || node.kind === 264 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { + else if ((node.kind === 266 /* ImportDeclaration */ || node.kind === 265 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 163 /* Parameter */ && (flags & 16476 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 164 /* Parameter */ && (flags & 16476 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 163 /* Parameter */ && (flags & 16476 /* ParameterPropertyModifier */) && node.dotDotDotToken) { + else if (node.kind === 164 /* Parameter */ && (flags & 16476 /* ParameterPropertyModifier */) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } if (flags & 256 /* Async */) { @@ -86281,39 +87625,40 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 170 /* Constructor */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 175 /* IndexSignature */: - case 260 /* ModuleDeclaration */: - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: - case 271 /* ExportDeclaration */: - case 270 /* ExportAssignment */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 163 /* Parameter */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 171 /* Constructor */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 176 /* IndexSignature */: + case 261 /* ModuleDeclaration */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 272 /* ExportDeclaration */: + case 271 /* ExportAssignment */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 164 /* Parameter */: + case 163 /* TypeParameter */: return false; default: - if (node.parent.kind === 261 /* ModuleBlock */ || node.parent.kind === 303 /* SourceFile */) { + if (node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { return false; } switch (node.kind) { - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return nodeHasAnyModifiersExcept(node, 131 /* AsyncKeyword */); - case 256 /* ClassDeclaration */: - case 179 /* ConstructorType */: + case 257 /* ClassDeclaration */: + case 180 /* ConstructorType */: return nodeHasAnyModifiersExcept(node, 126 /* AbstractKeyword */); - case 257 /* InterfaceDeclaration */: - case 236 /* VariableStatement */: - case 258 /* TypeAliasDeclaration */: - case 169 /* ClassStaticBlockDeclaration */: + case 258 /* InterfaceDeclaration */: + case 237 /* VariableStatement */: + case 259 /* TypeAliasDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return true; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return nodeHasAnyModifiersExcept(node, 85 /* ConstKeyword */); default: ts.Debug.fail(); @@ -86325,10 +87670,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 168 /* MethodDeclaration */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -86357,7 +87702,7 @@ var ts; if (i !== (parameterCount - 1)) { return grammarErrorOnNode(parameter.dotDotDotToken, ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list); } - if (!(parameter.flags & 8388608 /* Ambient */)) { // Allow `...foo,` in ambient declarations; see GH#23070 + if (!(parameter.flags & 16777216 /* Ambient */)) { // Allow `...foo,` in ambient declarations; see GH#23070 checkGrammarForDisallowedTrailingComma(parameters, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); } if (parameter.questionToken) { @@ -86554,21 +87899,21 @@ var ts; } function checkGrammarComputedPropertyName(node) { // If node is not a computedPropertyName, just skip the grammar checking - if (node.kind !== 161 /* ComputedPropertyName */) { + if (node.kind !== 162 /* ComputedPropertyName */) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 220 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 27 /* CommaToken */) { + if (computedPropertyName.expression.kind === 221 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 27 /* CommaToken */) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 255 /* FunctionDeclaration */ || - node.kind === 212 /* FunctionExpression */ || - node.kind === 168 /* MethodDeclaration */); - if (node.flags & 8388608 /* Ambient */) { + ts.Debug.assert(node.kind === 256 /* FunctionDeclaration */ || + node.kind === 213 /* FunctionExpression */ || + node.kind === 169 /* MethodDeclaration */); + if (node.flags & 16777216 /* Ambient */) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } if (!node.body) { @@ -86586,7 +87931,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 296 /* SpreadAssignment */) { + if (prop.kind === 298 /* SpreadAssignment */) { if (inDestructuring) { // a rest property cannot be destructured any further var expression = ts.skipParentheses(prop.expression); @@ -86597,11 +87942,11 @@ var ts; continue; } var name = prop.name; - if (name.kind === 161 /* ComputedPropertyName */) { + if (name.kind === 162 /* ComputedPropertyName */) { // If the name is not a ComputedPropertyName, the grammar checking will skip it checkGrammarComputedPropertyName(name); } - if (prop.kind === 295 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 297 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern); @@ -86613,7 +87958,7 @@ var ts; if (prop.modifiers) { for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; - if (mod.kind !== 131 /* AsyncKeyword */ || prop.kind !== 168 /* MethodDeclaration */) { + if (mod.kind !== 131 /* AsyncKeyword */ || prop.kind !== 169 /* MethodDeclaration */) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } @@ -86628,10 +87973,10 @@ var ts; // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields var currentKind = void 0; switch (prop.kind) { - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: checkGrammarForInvalidExclamationToken(prop.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); // falls through - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8 /* NumericLiteral */) { @@ -86639,13 +87984,13 @@ var ts; } currentKind = 4 /* PropertyAssignment */; break; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: currentKind = 8 /* Method */; break; - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: currentKind = 1 /* GetAccessor */; break; - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: currentKind = 2 /* SetAccessor */; break; default: @@ -86688,7 +88033,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 286 /* JsxSpreadAttribute */) { + if (attr.kind === 287 /* JsxSpreadAttribute */) { continue; } var name = attr.name, initializer = attr.initializer; @@ -86698,7 +88043,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 287 /* JsxExpression */ && !initializer.expression) { + if (initializer && initializer.kind === 288 /* JsxExpression */ && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -86733,7 +88078,7 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 243 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 244 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { if (!(forInOrOfStatement.flags & 32768 /* AwaitContext */)) { var sourceFile = ts.getSourceFileOfNode(forInOrOfStatement); if (ts.isInTopLevelContext(forInOrOfStatement)) { @@ -86751,7 +88096,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var diagnostic = ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); var func = ts.getContainingFunction(forInOrOfStatement); - if (func && func.kind !== 170 /* Constructor */) { + if (func && func.kind !== 171 /* Constructor */) { ts.Debug.assert((ts.getFunctionFlags(func) & 2 /* Async */) === 0, "Enclosing function should never be an async function."); var relatedInfo = ts.createDiagnosticForNode(func, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); ts.addRelatedInfo(diagnostic, relatedInfo); @@ -86768,7 +88113,7 @@ var ts; grammarErrorOnNode(forInOrOfStatement.initializer, ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async); return false; } - if (forInOrOfStatement.initializer.kind === 254 /* VariableDeclarationList */) { + if (forInOrOfStatement.initializer.kind === 255 /* VariableDeclarationList */) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -86783,20 +88128,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 242 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 243 /* ForInStatement */ ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 242 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 243 /* ForInStatement */ ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 242 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 243 /* ForInStatement */ ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -86806,7 +88151,7 @@ var ts; return false; } function checkGrammarAccessor(accessor) { - if (!(accessor.flags & 8388608 /* Ambient */) && (accessor.parent.kind !== 181 /* TypeLiteral */) && (accessor.parent.kind !== 257 /* InterfaceDeclaration */)) { + if (!(accessor.flags & 16777216 /* Ambient */) && (accessor.parent.kind !== 182 /* TypeLiteral */) && (accessor.parent.kind !== 258 /* InterfaceDeclaration */)) { if (languageVersion < 1 /* ES5 */) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); } @@ -86821,7 +88166,7 @@ var ts; if (ts.hasSyntacticModifier(accessor, 128 /* Abstract */)) { return grammarErrorOnNode(accessor, ts.Diagnostics.An_abstract_accessor_cannot_have_an_implementation); } - if (accessor.parent.kind === 181 /* TypeLiteral */ || accessor.parent.kind === 257 /* InterfaceDeclaration */) { + if (accessor.parent.kind === 182 /* TypeLiteral */ || accessor.parent.kind === 258 /* InterfaceDeclaration */) { return grammarErrorOnNode(accessor.body, ts.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts); } } @@ -86829,11 +88174,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, accessor.kind === 171 /* GetAccessor */ ? + return grammarErrorOnNode(accessor.name, accessor.kind === 172 /* GetAccessor */ ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - if (accessor.kind === 172 /* SetAccessor */) { + if (accessor.kind === 173 /* SetAccessor */) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -86855,28 +88200,27 @@ var ts; * A set accessor has one parameter or a `this` parameter and one more parameter. */ function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 171 /* GetAccessor */ ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 172 /* GetAccessor */ ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 171 /* GetAccessor */ ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 172 /* GetAccessor */ ? 1 : 2)) { return ts.getThisParameter(accessor); } } function checkGrammarTypeOperatorNode(node) { - if (node.operator === 153 /* UniqueKeyword */) { - if (node.type.kind !== 150 /* SymbolKeyword */) { - return grammarErrorOnNode(node.type, ts.Diagnostics._0_expected, ts.tokenToString(150 /* SymbolKeyword */)); + if (node.operator === 154 /* UniqueKeyword */) { + if (node.type.kind !== 151 /* SymbolKeyword */) { + return grammarErrorOnNode(node.type, ts.Diagnostics._0_expected, ts.tokenToString(151 /* SymbolKeyword */)); } var parent = ts.walkUpParenthesizedTypes(node.parent); if (ts.isInJSFile(parent) && ts.isJSDocTypeExpression(parent)) { - parent = parent.parent; - if (ts.isJSDocTypeTag(parent)) { - // walk up past JSDoc comment node - parent = parent.parent.parent; + var host_2 = ts.getJSDocHost(parent); + if (host_2) { + parent = ts.getSingleVariableOfVariableStatement(host_2) || host_2; } } switch (parent.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: var decl = parent; if (decl.name.kind !== 79 /* Identifier */) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -86888,13 +88232,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: if (!ts.isStatic(parent) || !ts.hasEffectiveReadonlyModifier(parent)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: if (!ts.hasSyntacticModifier(parent, 64 /* Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -86903,9 +88247,9 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_are_not_allowed_here); } } - else if (node.operator === 144 /* ReadonlyKeyword */) { - if (node.type.kind !== 182 /* ArrayType */ && node.type.kind !== 183 /* TupleType */) { - return grammarErrorOnFirstToken(node, ts.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, ts.tokenToString(150 /* SymbolKeyword */)); + else if (node.operator === 145 /* ReadonlyKeyword */) { + if (node.type.kind !== 183 /* ArrayType */ && node.type.kind !== 184 /* TupleType */) { + return grammarErrorOnFirstToken(node, ts.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, ts.tokenToString(151 /* SymbolKeyword */)); } } } @@ -86918,8 +88262,8 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 168 /* MethodDeclaration */) { - if (node.parent.kind === 204 /* ObjectLiteralExpression */) { + if (node.kind === 169 /* MethodDeclaration */) { + if (node.parent.kind === 205 /* ObjectLiteralExpression */) { // We only disallow modifier on a method declaration if it is a property of object-literal-expression if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 131 /* AsyncKeyword */)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); @@ -86947,17 +88291,17 @@ var ts; // However, property declarations disallow computed names in general, // and accessors are not allowed in ambient contexts in general, // so this error only really matters for methods. - if (node.flags & 8388608 /* Ambient */) { + if (node.flags & 16777216 /* Ambient */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 168 /* MethodDeclaration */ && !node.body) { + else if (node.kind === 169 /* MethodDeclaration */ && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 257 /* InterfaceDeclaration */) { + else if (node.parent.kind === 258 /* InterfaceDeclaration */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 181 /* TypeLiteral */) { + else if (node.parent.kind === 182 /* TypeLiteral */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -86968,11 +88312,11 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: if (node.label && current.label.escapedText === node.label.escapedText) { // found matching label - verify that label usage is correct // continue can only target labels that are on iteration statements - var isMisplacedContinueLabel = node.kind === 244 /* ContinueStatement */ + var isMisplacedContinueLabel = node.kind === 245 /* ContinueStatement */ && !ts.isIterationStatement(current.statement, /*lookInLabeledStatement*/ true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -86980,8 +88324,8 @@ var ts; return false; } break; - case 248 /* SwitchStatement */: - if (node.kind === 245 /* BreakStatement */ && !node.label) { + case 249 /* SwitchStatement */: + if (node.kind === 246 /* BreakStatement */ && !node.label) { // unlabeled break within switch statement - ok return false; } @@ -86996,13 +88340,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 245 /* BreakStatement */ + var message = node.kind === 246 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 245 /* BreakStatement */ + var message = node.kind === 246 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -87026,12 +88370,12 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return ts.isStringOrNumericLiteralLike(expr) || - expr.kind === 218 /* PrefixUnaryExpression */ && expr.operator === 40 /* MinusToken */ && + expr.kind === 219 /* PrefixUnaryExpression */ && expr.operator === 40 /* MinusToken */ && expr.operand.kind === 8 /* NumericLiteral */; } function isBigIntLiteralExpression(expr) { return expr.kind === 9 /* BigIntLiteral */ || - expr.kind === 218 /* PrefixUnaryExpression */ && expr.operator === 40 /* MinusToken */ && + expr.kind === 219 /* PrefixUnaryExpression */ && expr.operator === 40 /* MinusToken */ && expr.operand.kind === 9 /* BigIntLiteral */; } function isSimpleLiteralEnumReference(expr) { @@ -87062,8 +88406,8 @@ var ts; } } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 242 /* ForInStatement */ && node.parent.parent.kind !== 243 /* ForOfStatement */) { - if (node.flags & 8388608 /* Ambient */) { + if (node.parent.parent.kind !== 243 /* ForInStatement */ && node.parent.parent.kind !== 244 /* ForOfStatement */) { + if (node.flags & 16777216 /* Ambient */) { checkAmbientInitializer(node); } else if (!node.initializer) { @@ -87075,7 +88419,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 236 /* VariableStatement */ || !node.type || node.initializer || node.flags & 8388608 /* Ambient */)) { + if (node.exclamationToken && (node.parent.parent.kind !== 237 /* VariableStatement */ || !node.type || node.initializer || node.flags & 16777216 /* Ambient */)) { var message = node.initializer ? ts.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : !node.type @@ -87084,7 +88428,7 @@ var ts; return grammarErrorOnNode(node.exclamationToken, message); } if ((moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && moduleKind !== ts.ModuleKind.System && - !(node.parent.parent.flags & 8388608 /* Ambient */) && ts.hasSyntacticModifier(node.parent.parent, 1 /* Export */)) { + !(node.parent.parent.flags & 16777216 /* Ambient */) && ts.hasSyntacticModifier(node.parent.parent, 1 /* Export */)) { checkESModuleMarker(node.name); } var checkLetConstNames = (ts.isLet(node) || ts.isVarConst(node)); @@ -87104,8 +88448,8 @@ var ts; } else { var elements = name.elements; - for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) { - var element = elements_1[_i]; + for (var _i = 0, elements_2 = elements; _i < elements_2.length; _i++) { + var element = elements_2[_i]; if (!ts.isOmittedExpression(element)) { return checkESModuleMarker(element.name); } @@ -87121,8 +88465,8 @@ var ts; } else { var elements = name.elements; - for (var _i = 0, elements_2 = elements; _i < elements_2.length; _i++) { - var element = elements_2[_i]; + for (var _i = 0, elements_3 = elements; _i < elements_3.length; _i++) { + var element = elements_3[_i]; if (!ts.isOmittedExpression(element)) { checkGrammarNameInLetOrConstDeclarations(element.name); } @@ -87142,15 +88486,15 @@ var ts; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 238 /* IfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 247 /* WithStatement */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 239 /* IfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 248 /* WithStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: return false; - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -87245,7 +88589,7 @@ var ts; return grammarErrorOnNode(node.name, ts.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); } } - else if (node.parent.kind === 257 /* InterfaceDeclaration */) { + else if (node.parent.kind === 258 /* InterfaceDeclaration */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -87261,11 +88605,11 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.A_type_literal_property_cannot_have_an_initializer); } } - if (node.flags & 8388608 /* Ambient */) { + if (node.flags & 16777216 /* Ambient */) { checkAmbientInitializer(node); } if (ts.isPropertyDeclaration(node) && node.exclamationToken && (!ts.isClassLike(node.parent) || !node.type || node.initializer || - node.flags & 8388608 /* Ambient */ || ts.isStatic(node) || ts.hasAbstractModifier(node))) { + node.flags & 16777216 /* Ambient */ || ts.isStatic(node) || ts.hasAbstractModifier(node))) { var message = node.initializer ? ts.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : !node.type @@ -87287,13 +88631,13 @@ var ts; // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if (node.kind === 257 /* InterfaceDeclaration */ || - node.kind === 258 /* TypeAliasDeclaration */ || - node.kind === 265 /* ImportDeclaration */ || - node.kind === 264 /* ImportEqualsDeclaration */ || - node.kind === 271 /* ExportDeclaration */ || - node.kind === 270 /* ExportAssignment */ || - node.kind === 263 /* NamespaceExportDeclaration */ || + if (node.kind === 258 /* InterfaceDeclaration */ || + node.kind === 259 /* TypeAliasDeclaration */ || + node.kind === 266 /* ImportDeclaration */ || + node.kind === 265 /* ImportEqualsDeclaration */ || + node.kind === 272 /* ExportDeclaration */ || + node.kind === 271 /* ExportAssignment */ || + node.kind === 264 /* NamespaceExportDeclaration */ || ts.hasSyntacticModifier(node, 2 /* Ambient */ | 1 /* Export */ | 512 /* Default */)) { return false; } @@ -87302,7 +88646,7 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 236 /* VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 237 /* VariableStatement */) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } @@ -87311,10 +88655,10 @@ var ts; return false; } function checkGrammarSourceFile(node) { - return !!(node.flags & 8388608 /* Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); + return !!(node.flags & 16777216 /* Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); } function checkGrammarStatementInAmbientContext(node) { - if (node.flags & 8388608 /* Ambient */) { + if (node.flags & 16777216 /* Ambient */) { // Find containing block which is either Block, ModuleBlock, SourceFile var links = getNodeLinks(node); if (!links.hasReportedStatementInAmbientContext && (ts.isFunctionLike(node.parent) || ts.isAccessor(node.parent))) { @@ -87325,7 +88669,7 @@ var ts; // to prevent noisiness. So use a bit on the block to indicate if // this has already been reported, and don't report if it has. // - if (node.parent.kind === 234 /* Block */ || node.parent.kind === 261 /* ModuleBlock */ || node.parent.kind === 303 /* SourceFile */) { + if (node.parent.kind === 235 /* Block */ || node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { var links_2 = getNodeLinks(node.parent); // Check if the containing block ever report this error if (!links_2.hasReportedStatementInAmbientContext) { @@ -87347,10 +88691,10 @@ var ts; if (languageVersion >= 1 /* ES5 */) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 195 /* LiteralType */)) { + else if (ts.isChildOfNodeWithKind(node, 196 /* LiteralType */)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 297 /* EnumMember */)) { + else if (ts.isChildOfNodeWithKind(node, 299 /* EnumMember */)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -87422,7 +88766,7 @@ var ts; if (node.isTypeOnly && node.name && node.namedBindings) { return grammarErrorOnNode(node, ts.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both); } - if (node.isTypeOnly && ((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 268 /* NamedImports */) { + if (node.isTypeOnly && ((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 269 /* NamedImports */) { return checkGrammarNamedImportsOrExports(node.namedBindings); } return false; @@ -87430,7 +88774,7 @@ var ts; function checkGrammarNamedImportsOrExports(namedBindings) { return !!ts.forEach(namedBindings.elements, function (specifier) { if (specifier.isTypeOnly) { - return grammarErrorOnFirstToken(specifier, specifier.kind === 269 /* ImportSpecifier */ + return grammarErrorOnFirstToken(specifier, specifier.kind === 270 /* ImportSpecifier */ ? ts.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement : ts.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement); } @@ -87553,14 +88897,14 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 255 /* FunctionDeclaration */ && declaration.kind !== 168 /* MethodDeclaration */) || + return (declaration.kind !== 256 /* FunctionDeclaration */ && declaration.kind !== 169 /* MethodDeclaration */) || !!declaration.body; } /** Like 'isDeclarationName', but returns true for LHS of `import { x as y }` or `export { x as y }`. */ function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -87810,7 +89154,7 @@ var ts; } var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 159 /* LastToken */) || kind === 191 /* ThisType */) { + if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) { return node; } var factory = context.factory; @@ -87819,434 +89163,437 @@ var ts; case 79 /* Identifier */: ts.Debug.type(node); return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration)); - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: ts.Debug.type(node); return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier)); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: ts.Debug.type(node); return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Signature elements - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: ts.Debug.type(node); - return factory.updateTypeParameterDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode)); - case 163 /* Parameter */: + return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode)); + case 164 /* Parameter */: ts.Debug.type(node); return factory.updateParameterDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 164 /* Decorator */: + case 165 /* Decorator */: ts.Debug.type(node); return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Type elements - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: ts.Debug.type(node); return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: ts.Debug.type(node); return factory.updatePropertyDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 167 /* MethodSignature */: + case 168 /* MethodSignature */: ts.Debug.type(node); return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: ts.Debug.type(node); return factory.updateMethodDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 170 /* Constructor */: + case 171 /* Constructor */: ts.Debug.type(node); return factory.updateConstructorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: ts.Debug.type(node); return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: ts.Debug.type(node); return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: ts.Debug.type(node); context.startLexicalEnvironment(); context.suspendLexicalEnvironment(); return factory.updateClassStaticBlockDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 173 /* CallSignature */: + case 174 /* CallSignature */: ts.Debug.type(node); return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 174 /* ConstructSignature */: + case 175 /* ConstructSignature */: ts.Debug.type(node); return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: ts.Debug.type(node); return factory.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); // Types - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: ts.Debug.type(node); return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 177 /* TypeReference */: + case 178 /* TypeReference */: ts.Debug.type(node); return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 178 /* FunctionType */: + case 179 /* FunctionType */: ts.Debug.type(node); return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 179 /* ConstructorType */: + case 180 /* ConstructorType */: ts.Debug.type(node); return factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: ts.Debug.type(node); - return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName)); - case 181 /* TypeLiteral */: + return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); + case 182 /* TypeLiteral */: ts.Debug.type(node); return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 182 /* ArrayType */: + case 183 /* ArrayType */: ts.Debug.type(node); return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode)); - case 183 /* TupleType */: + case 184 /* TupleType */: ts.Debug.type(node); return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode)); - case 184 /* OptionalType */: + case 185 /* OptionalType */: ts.Debug.type(node); return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 185 /* RestType */: + case 186 /* RestType */: ts.Debug.type(node); return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 186 /* UnionType */: + case 187 /* UnionType */: ts.Debug.type(node); return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 187 /* IntersectionType */: + case 188 /* IntersectionType */: ts.Debug.type(node); return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: ts.Debug.type(node); return factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode)); - case 189 /* InferType */: + case 190 /* InferType */: ts.Debug.type(node); return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 199 /* ImportType */: + case 200 /* ImportType */: + ts.Debug.type(node); + return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + case 295 /* ImportTypeAssertionContainer */: ts.Debug.type(node); - return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); - case 196 /* NamedTupleMember */: + return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine); + case 197 /* NamedTupleMember */: ts.Debug.type(node); return factory.updateNamedTupleMember(node, visitNode(node.dotDotDotToken, visitor, ts.isDotDotDotToken), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.questionToken, visitor, ts.isQuestionToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 190 /* ParenthesizedType */: + case 191 /* ParenthesizedType */: ts.Debug.type(node); return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 192 /* TypeOperator */: + case 193 /* TypeOperator */: ts.Debug.type(node); return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: ts.Debug.type(node); return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode)); - case 194 /* MappedType */: + case 195 /* MappedType */: ts.Debug.type(node); return factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 195 /* LiteralType */: + case 196 /* LiteralType */: ts.Debug.type(node); return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression)); - case 197 /* TemplateLiteralType */: + case 198 /* TemplateLiteralType */: ts.Debug.type(node); return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan)); - case 198 /* TemplateLiteralTypeSpan */: + case 199 /* TemplateLiteralTypeSpan */: ts.Debug.type(node); return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Binding patterns - case 200 /* ObjectBindingPattern */: + case 201 /* ObjectBindingPattern */: ts.Debug.type(node); return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); - case 201 /* ArrayBindingPattern */: + case 202 /* ArrayBindingPattern */: ts.Debug.type(node); return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); - case 202 /* BindingElement */: + case 203 /* BindingElement */: ts.Debug.type(node); return factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression)); // Expression - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: ts.Debug.type(node); return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: ts.Debug.type(node); return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: if (node.flags & 32 /* OptionalChain */) { ts.Debug.type(node); return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)); } ts.Debug.type(node); return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName)); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: if (node.flags & 32 /* OptionalChain */) { ts.Debug.type(node); return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); } ts.Debug.type(node); return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (node.flags & 32 /* OptionalChain */) { ts.Debug.type(node); return factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); } ts.Debug.type(node); return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 208 /* NewExpression */: + case 209 /* NewExpression */: ts.Debug.type(node); return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: ts.Debug.type(node); return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral)); - case 210 /* TypeAssertionExpression */: + case 211 /* TypeAssertionExpression */: ts.Debug.type(node); return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: ts.Debug.type(node); return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: ts.Debug.type(node); return factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: ts.Debug.type(node); return factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: ts.Debug.type(node); return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 215 /* TypeOfExpression */: + case 216 /* TypeOfExpression */: ts.Debug.type(node); return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 216 /* VoidExpression */: + case 217 /* VoidExpression */: ts.Debug.type(node); return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: ts.Debug.type(node); return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: ts.Debug.type(node); return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: ts.Debug.type(node); return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: ts.Debug.type(node); return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression)); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: ts.Debug.type(node); return factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression)); - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: ts.Debug.type(node); return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: ts.Debug.type(node); return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: ts.Debug.type(node); return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: ts.Debug.type(node); return factory.updateClassExpression(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: ts.Debug.type(node); return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 228 /* AsExpression */: + case 229 /* AsExpression */: ts.Debug.type(node); return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: if (node.flags & 32 /* OptionalChain */) { ts.Debug.type(node); return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)); } ts.Debug.type(node); return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: ts.Debug.type(node); return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); // Misc - case 232 /* TemplateSpan */: + case 233 /* TemplateSpan */: ts.Debug.type(node); return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Element - case 234 /* Block */: + case 235 /* Block */: ts.Debug.type(node); return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: ts.Debug.type(node); return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: ts.Debug.type(node); return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 238 /* IfStatement */: + case 239 /* IfStatement */: ts.Debug.type(node); return factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, factory.liftToBlock)); - case 239 /* DoStatement */: + case 240 /* DoStatement */: ts.Debug.type(node); return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: ts.Debug.type(node); return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 241 /* ForStatement */: + case 242 /* ForStatement */: ts.Debug.type(node); return factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: ts.Debug.type(node); return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: ts.Debug.type(node); return factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 244 /* ContinueStatement */: + case 245 /* ContinueStatement */: ts.Debug.type(node); return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); - case 245 /* BreakStatement */: + case 246 /* BreakStatement */: ts.Debug.type(node); return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: ts.Debug.type(node); return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 247 /* WithStatement */: + case 248 /* WithStatement */: ts.Debug.type(node); return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock)); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: ts.Debug.type(node); return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock)); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: ts.Debug.type(node); return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock)); - case 250 /* ThrowStatement */: + case 251 /* ThrowStatement */: ts.Debug.type(node); return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 251 /* TryStatement */: + case 252 /* TryStatement */: ts.Debug.type(node); return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock)); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: ts.Debug.type(node); return factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: ts.Debug.type(node); return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: ts.Debug.type(node); return factory.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: ts.Debug.type(node); return factory.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: ts.Debug.type(node); return factory.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: ts.Debug.type(node); return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: ts.Debug.type(node); return factory.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: ts.Debug.type(node); return factory.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody)); - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: ts.Debug.type(node); return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: ts.Debug.type(node); return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: ts.Debug.type(node); return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: ts.Debug.type(node); return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference)); - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: ts.Debug.type(node); return factory.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); - case 292 /* AssertClause */: + case 293 /* AssertClause */: ts.Debug.type(node); return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine); - case 293 /* AssertEntry */: + case 294 /* AssertEntry */: ts.Debug.type(node); return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode)); - case 266 /* ImportClause */: + case 267 /* ImportClause */: ts.Debug.type(node); return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings)); - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: ts.Debug.type(node); return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 273 /* NamespaceExport */: + case 274 /* NamespaceExport */: ts.Debug.type(node); return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 268 /* NamedImports */: + case 269 /* NamedImports */: ts.Debug.type(node); return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: ts.Debug.type(node); return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: ts.Debug.type(node); return factory.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: ts.Debug.type(node); return factory.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); - case 272 /* NamedExports */: + case 273 /* NamedExports */: ts.Debug.type(node); return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); - case 274 /* ExportSpecifier */: + case 275 /* ExportSpecifier */: ts.Debug.type(node); return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); // Module references - case 276 /* ExternalModuleReference */: + case 277 /* ExternalModuleReference */: ts.Debug.type(node); return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // JSX - case 277 /* JsxElement */: + case 278 /* JsxElement */: ts.Debug.type(node); return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement)); - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: ts.Debug.type(node); return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); - case 279 /* JsxOpeningElement */: + case 280 /* JsxOpeningElement */: ts.Debug.type(node); return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); - case 280 /* JsxClosingElement */: + case 281 /* JsxClosingElement */: ts.Debug.type(node); return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression)); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: ts.Debug.type(node); return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: ts.Debug.type(node); return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: ts.Debug.type(node); return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); - case 286 /* JsxSpreadAttribute */: + case 287 /* JsxSpreadAttribute */: ts.Debug.type(node); return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: ts.Debug.type(node); return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Clauses - case 288 /* CaseClause */: + case 289 /* CaseClause */: ts.Debug.type(node); return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); - case 289 /* DefaultClause */: + case 290 /* DefaultClause */: ts.Debug.type(node); return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: ts.Debug.type(node); return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); - case 291 /* CatchClause */: + case 292 /* CatchClause */: ts.Debug.type(node); return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock)); // Property assignments - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: ts.Debug.type(node); return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: ts.Debug.type(node); return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression)); - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: ts.Debug.type(node); return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Enum - case 297 /* EnumMember */: + case 299 /* EnumMember */: ts.Debug.type(node); return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); // Top-level nodes - case 303 /* SourceFile */: + case 305 /* SourceFile */: ts.Debug.type(node); return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context)); // Transformation nodes - case 348 /* PartiallyEmittedExpression */: + case 350 /* PartiallyEmittedExpression */: ts.Debug.type(node); return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: ts.Debug.type(node); return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: @@ -88764,7 +90111,7 @@ var ts; value >= 52 && value < 62 ? 48 /* _0 */ + value - 52 : value === 62 ? 43 /* plus */ : value === 63 ? 47 /* slash */ : - ts.Debug.fail("".concat(value, ": not a base64 value")); + ts.Debug.fail(value + ": not a base64 value"); } function base64FormatDecode(ch) { return ch >= 65 /* A */ && ch <= 90 /* Z */ ? ch - 65 /* A */ : @@ -88839,7 +90186,7 @@ var ts; var mappings = ts.arrayFrom(decoder, processMapping); if (decoder.error !== undefined) { if (host.log) { - host.log("Encountered error while decoding sourcemap: ".concat(decoder.error)); + host.log("Encountered error while decoding sourcemap: " + decoder.error); } decodedMappings = ts.emptyArray; } @@ -88937,7 +90284,7 @@ var ts; function chainBundle(context, transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 303 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 305 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -88988,7 +90335,7 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: // import "mod" // import x from "mod" // import * as x from "mod" @@ -89001,13 +90348,13 @@ var ts; hasImportDefault = true; } break; - case 264 /* ImportEqualsDeclaration */: - if (node.moduleReference.kind === 276 /* ExternalModuleReference */) { + case 265 /* ImportEqualsDeclaration */: + if (node.moduleReference.kind === 277 /* ExternalModuleReference */) { // import x = require("mod") externalImports.push(node); } break; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: if (node.moduleSpecifier) { if (!node.exportClause) { // export * from "mod" @@ -89038,13 +90385,13 @@ var ts; addExportedNamesForExportDeclaration(node); } break; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: if (node.isExportEquals && !exportEquals) { // export = x exportEquals = node; } break; - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: if (ts.hasSyntacticModifier(node, 1 /* Export */)) { for (var _b = 0, _c = node.declarationList.declarations; _b < _c.length; _b++) { var decl = _c[_b]; @@ -89052,7 +90399,7 @@ var ts; } } break; - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: if (ts.hasSyntacticModifier(node, 1 /* Export */)) { if (ts.hasSyntacticModifier(node, 512 /* Default */)) { // export default function() { } @@ -89072,7 +90419,7 @@ var ts; } } break; - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: if (ts.hasSyntacticModifier(node, 1 /* Export */)) { if (ts.hasSyntacticModifier(node, 512 /* Default */)) { // export default class { } @@ -89252,7 +90599,7 @@ var ts; * @param isStatic A value indicating whether the member should be a static or instance member. */ function isInitializedProperty(member) { - return member.kind === 166 /* PropertyDeclaration */ + return member.kind === 167 /* PropertyDeclaration */ && member.initializer !== undefined; } ts.isInitializedProperty = isInitializedProperty; @@ -89373,8 +90720,8 @@ var ts; } function bindingOrAssignmentPatternAssignsToName(pattern, escapedName) { var elements = ts.getElementsOfBindingOrAssignmentPattern(pattern); - for (var _i = 0, elements_3 = elements; _i < elements_3.length; _i++) { - var element = elements_3[_i]; + for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { + var element = elements_4[_i]; if (bindingOrAssignmentElementAssignsToName(element, escapedName)) { return true; } @@ -89864,8 +91211,8 @@ var ts; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; // Enable substitution for property/element access to emit const enum values. - context.enableSubstitution(205 /* PropertyAccessExpression */); - context.enableSubstitution(206 /* ElementAccessExpression */); + context.enableSubstitution(206 /* PropertyAccessExpression */); + context.enableSubstitution(207 /* ElementAccessExpression */); // These variables contain state that changes as we descend into the tree. var currentSourceFile; var currentNamespace; @@ -89891,14 +91238,14 @@ var ts; var applicableSubstitutions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 304 /* Bundle */) { + if (node.kind === 306 /* Bundle */) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return factory.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 306 /* InputFiles */) { + if (prepend.kind === 308 /* InputFiles */) { return ts.createUnparsedSourceFile(prepend, "js"); } return prepend; @@ -89949,16 +91296,16 @@ var ts; */ function onBeforeVisitNode(node) { switch (node.kind) { - case 303 /* SourceFile */: - case 262 /* CaseBlock */: - case 261 /* ModuleBlock */: - case 234 /* Block */: + case 305 /* SourceFile */: + case 263 /* CaseBlock */: + case 262 /* ModuleBlock */: + case 235 /* Block */: currentLexicalScope = node; currentNameScope = undefined; currentScopeFirstDeclarationsOfName = undefined; break; - case 256 /* ClassDeclaration */: - case 255 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 256 /* FunctionDeclaration */: if (ts.hasSyntacticModifier(node, 2 /* Ambient */)) { break; } @@ -89970,7 +91317,7 @@ var ts; // These nodes should always have names unless they are default-exports; // however, class declaration parsing allows for undefined names, so syntactically invalid // programs may also have an undefined name. - ts.Debug.assert(node.kind === 256 /* ClassDeclaration */ || ts.hasSyntacticModifier(node, 512 /* Default */)); + ts.Debug.assert(node.kind === 257 /* ClassDeclaration */ || ts.hasSyntacticModifier(node, 512 /* Default */)); } if (ts.isClassDeclaration(node)) { // XXX: should probably also cover interfaces and type aliases that can have type variables? @@ -90013,10 +91360,10 @@ var ts; */ function sourceElementVisitorWorker(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: - case 270 /* ExportAssignment */: - case 271 /* ExportDeclaration */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 271 /* ExportAssignment */: + case 272 /* ExportDeclaration */: return visitElidableStatement(node); default: return visitorWorker(node); @@ -90037,13 +91384,13 @@ var ts; return node; } switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return visitImportDeclaration(node); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return visitExportAssignment(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -90063,11 +91410,11 @@ var ts; * @param node The node to visit. */ function namespaceElementVisitorWorker(node) { - if (node.kind === 271 /* ExportDeclaration */ || - node.kind === 265 /* ImportDeclaration */ || - node.kind === 266 /* ImportClause */ || - (node.kind === 264 /* ImportEqualsDeclaration */ && - node.moduleReference.kind === 276 /* ExternalModuleReference */)) { + if (node.kind === 272 /* ExportDeclaration */ || + node.kind === 266 /* ImportDeclaration */ || + node.kind === 267 /* ImportClause */ || + (node.kind === 265 /* ImportEqualsDeclaration */ && + node.moduleReference.kind === 277 /* ExternalModuleReference */)) { // do not emit ES6 imports and exports since they are illegal inside a namespace return undefined; } @@ -90091,27 +91438,27 @@ var ts; */ function classElementVisitorWorker(node) { switch (node.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: return visitConstructor(node); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // Property declarations are not TypeScript syntax, but they must be visited // for the decorator transformation. return visitPropertyDeclaration(node); - case 175 /* IndexSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: - case 169 /* ClassStaticBlockDeclaration */: + case 176 /* IndexSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: // Fallback to the default visit behavior. return visitorWorker(node); - case 233 /* SemicolonClassElement */: + case 234 /* SemicolonClassElement */: return node; default: return ts.Debug.failBadSyntaxKind(node); } } function modifierVisitor(node) { - if (ts.modifierToFlag(node.kind) & 18654 /* TypeScriptModifier */) { + if (ts.modifierToFlag(node.kind) & 116958 /* TypeScriptModifier */) { return undefined; } else if (currentNamespace && node.kind === 93 /* ExportKeyword */) { @@ -90139,64 +91486,66 @@ var ts; case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: case 126 /* AbstractKeyword */: - case 158 /* OverrideKeyword */: + case 159 /* OverrideKeyword */: case 85 /* ConstKeyword */: case 135 /* DeclareKeyword */: - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: + case 101 /* InKeyword */: + case 144 /* OutKeyword */: // TypeScript accessibility and readonly modifiers are elided // falls through - case 182 /* ArrayType */: - case 183 /* TupleType */: - case 184 /* OptionalType */: - case 185 /* RestType */: - case 181 /* TypeLiteral */: - case 176 /* TypePredicate */: - case 162 /* TypeParameter */: + case 183 /* ArrayType */: + case 184 /* TupleType */: + case 185 /* OptionalType */: + case 186 /* RestType */: + case 182 /* TypeLiteral */: + case 177 /* TypePredicate */: + case 163 /* TypeParameter */: case 130 /* AnyKeyword */: - case 154 /* UnknownKeyword */: + case 155 /* UnknownKeyword */: case 133 /* BooleanKeyword */: - case 149 /* StringKeyword */: - case 146 /* NumberKeyword */: + case 150 /* StringKeyword */: + case 147 /* NumberKeyword */: case 143 /* NeverKeyword */: case 114 /* VoidKeyword */: - case 150 /* SymbolKeyword */: - case 179 /* ConstructorType */: - case 178 /* FunctionType */: - case 180 /* TypeQuery */: - case 177 /* TypeReference */: - case 186 /* UnionType */: - case 187 /* IntersectionType */: - case 188 /* ConditionalType */: - case 190 /* ParenthesizedType */: - case 191 /* ThisType */: - case 192 /* TypeOperator */: - case 193 /* IndexedAccessType */: - case 194 /* MappedType */: - case 195 /* LiteralType */: + case 151 /* SymbolKeyword */: + case 180 /* ConstructorType */: + case 179 /* FunctionType */: + case 181 /* TypeQuery */: + case 178 /* TypeReference */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: + case 189 /* ConditionalType */: + case 191 /* ParenthesizedType */: + case 192 /* ThisType */: + case 193 /* TypeOperator */: + case 194 /* IndexedAccessType */: + case 195 /* MappedType */: + case 196 /* LiteralType */: // TypeScript type nodes are elided. // falls through - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: // TypeScript index signatures are elided. // falls through - case 164 /* Decorator */: + case 165 /* Decorator */: // TypeScript decorators are elided. They will be emitted as part of visitClassDeclaration. return undefined; - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return factory.createNotEmittedStatement(node); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // TypeScript property declarations are elided. However their names are still visited, and can potentially be retained if they could have sideeffects return visitPropertyDeclaration(node); - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 170 /* Constructor */: + case 171 /* Constructor */: return visitConstructor(node); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return factory.createNotEmittedStatement(node); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: // This may be a class declaration with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -90206,7 +91555,7 @@ var ts; // - index signatures // - method overload signatures return visitClassDeclaration(node); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: // This may be a class expression with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -90216,35 +91565,35 @@ var ts; // - index signatures // - method overload signatures return visitClassExpression(node); - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: // This may be a heritage clause with TypeScript syntax extensions. // // TypeScript heritage clause extensions include: // - `implements` clause return visitHeritageClause(node); - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node); - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node); - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: // TypeScript function expressions can have modifiers and type annotations. return visitFunctionExpression(node); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: // TypeScript arrow functions can have modifiers and type annotations. return visitArrowFunction(node); - case 163 /* Parameter */: + case 164 /* Parameter */: // This may be a parameter declaration with TypeScript syntax extensions. // // TypeScript parameter declaration syntax extensions include: @@ -90254,40 +91603,40 @@ var ts; // - type annotations // - this parameters return visitParameter(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: // ParenthesizedExpressions are TypeScript if their expression is a // TypeAssertion or AsExpression return visitParenthesizedExpression(node); - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: // TypeScript type assertions are removed, but their subtrees are preserved. return visitAssertionExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return visitCallExpression(node); - case 208 /* NewExpression */: + case 209 /* NewExpression */: return visitNewExpression(node); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: // TypeScript non-null expressions are removed, but their subtrees are preserved. return visitNonNullExpression(node); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: // TypeScript enum declarations do not exist in ES6 and must be rewritten. return visitEnumDeclaration(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: // TypeScript namespace exports for variable statements must be transformed. return visitVariableStatement(node); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: // TypeScript namespace declarations must be transformed. return visitModuleDeclaration(node); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: // TypeScript namespace or external module import. return visitImportEqualsDeclaration(node); - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node); - case 279 /* JsxOpeningElement */: + case 280 /* JsxOpeningElement */: return visitJsxJsxOpeningElement(node); default: // node contains some other TypeScript syntax @@ -90681,12 +92030,12 @@ var ts; */ function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return getAllDecoratorsOfAccessors(node, member); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return getAllDecoratorsOfMethod(member); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -90780,8 +92129,8 @@ var ts; function generateClassElementDecorationExpressions(node, isStatic) { var members = getDecoratedClassElements(node, isStatic); var expressions; - for (var _i = 0, members_6 = members; _i < members_6.length; _i++) { - var member = members_6[_i]; + for (var _i = 0, members_8 = members; _i < members_8.length; _i++) { + var member = members_8[_i]; var expression = generateClassElementDecorationExpression(node, member); if (expression) { if (!expressions) { @@ -90839,7 +92188,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* Ambient */)); var descriptor = languageVersion > 0 /* ES3 */ - ? member.kind === 166 /* PropertyDeclaration */ + ? member.kind === 167 /* PropertyDeclaration */ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it // should not invoke `Object.getOwnPropertyDescriptor`. ? factory.createVoidZero() @@ -90967,10 +92316,10 @@ var ts; */ function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */ - || kind === 166 /* PropertyDeclaration */; + return kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */ + || kind === 167 /* PropertyDeclaration */; } /** * Determines whether to emit the "design:returntype" metadata based on the node's kind. @@ -90980,7 +92329,7 @@ var ts; * @param node The node to test. */ function shouldAddReturnTypeMetadata(node) { - return node.kind === 168 /* MethodDeclaration */; + return node.kind === 169 /* MethodDeclaration */; } /** * Determines whether to emit the "design:paramtypes" metadata based on the node's kind. @@ -90991,12 +92340,12 @@ var ts; */ function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return ts.getFirstConstructorWithBody(node) !== undefined; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return true; } return false; @@ -91013,15 +92362,15 @@ var ts; */ function serializeTypeOfNode(node) { switch (node.kind) { - case 166 /* PropertyDeclaration */: - case 163 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 164 /* Parameter */: return serializeTypeNode(node.type); - case 172 /* SetAccessor */: - case 171 /* GetAccessor */: + case 173 /* SetAccessor */: + case 172 /* GetAccessor */: return serializeTypeNode(getAccessorTypeNode(node)); - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 168 /* MethodDeclaration */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 169 /* MethodDeclaration */: return factory.createIdentifier("Function"); default: return factory.createVoidZero(); @@ -91058,7 +92407,7 @@ var ts; return factory.createArrayLiteralExpression(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 171 /* GetAccessor */) { + if (container && node.kind === 172 /* GetAccessor */) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -91104,31 +92453,31 @@ var ts; } switch (node.kind) { case 114 /* VoidKeyword */: - case 152 /* UndefinedKeyword */: + case 153 /* UndefinedKeyword */: case 143 /* NeverKeyword */: return factory.createVoidZero(); - case 190 /* ParenthesizedType */: + case 191 /* ParenthesizedType */: return serializeTypeNode(node.type); - case 178 /* FunctionType */: - case 179 /* ConstructorType */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: return factory.createIdentifier("Function"); - case 182 /* ArrayType */: - case 183 /* TupleType */: + case 183 /* ArrayType */: + case 184 /* TupleType */: return factory.createIdentifier("Array"); - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: case 133 /* BooleanKeyword */: return factory.createIdentifier("Boolean"); - case 197 /* TemplateLiteralType */: - case 149 /* StringKeyword */: + case 198 /* TemplateLiteralType */: + case 150 /* StringKeyword */: return factory.createIdentifier("String"); - case 147 /* ObjectKeyword */: + case 148 /* ObjectKeyword */: return factory.createIdentifier("Object"); - case 195 /* LiteralType */: + case 196 /* LiteralType */: switch (node.literal.kind) { case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: return factory.createIdentifier("String"); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: case 8 /* NumericLiteral */: return factory.createIdentifier("Number"); case 9 /* BigIntLiteral */: @@ -91141,45 +92490,45 @@ var ts; default: return ts.Debug.failBadSyntaxKind(node.literal); } - case 146 /* NumberKeyword */: + case 147 /* NumberKeyword */: return factory.createIdentifier("Number"); - case 157 /* BigIntKeyword */: + case 158 /* BigIntKeyword */: return getGlobalBigIntNameWithFallback(); - case 150 /* SymbolKeyword */: + case 151 /* SymbolKeyword */: return languageVersion < 2 /* ES2015 */ ? getGlobalSymbolNameWithFallback() : factory.createIdentifier("Symbol"); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return serializeTypeReferenceNode(node); - case 187 /* IntersectionType */: - case 186 /* UnionType */: + case 188 /* IntersectionType */: + case 187 /* UnionType */: return serializeTypeList(node.types); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return serializeTypeList([node.trueType, node.falseType]); - case 192 /* TypeOperator */: - if (node.operator === 144 /* ReadonlyKeyword */) { + case 193 /* TypeOperator */: + if (node.operator === 145 /* ReadonlyKeyword */) { return serializeTypeNode(node.type); } break; - case 180 /* TypeQuery */: - case 193 /* IndexedAccessType */: - case 194 /* MappedType */: - case 181 /* TypeLiteral */: + case 181 /* TypeQuery */: + case 194 /* IndexedAccessType */: + case 195 /* MappedType */: + case 182 /* TypeLiteral */: case 130 /* AnyKeyword */: - case 154 /* UnknownKeyword */: - case 191 /* ThisType */: - case 199 /* ImportType */: + case 155 /* UnknownKeyword */: + case 192 /* ThisType */: + case 200 /* ImportType */: break; // handle JSDoc types from an invalid parse - case 310 /* JSDocAllType */: - case 311 /* JSDocUnknownType */: - case 315 /* JSDocFunctionType */: - case 316 /* JSDocVariadicType */: - case 317 /* JSDocNamepathType */: + case 312 /* JSDocAllType */: + case 313 /* JSDocUnknownType */: + case 317 /* JSDocFunctionType */: + case 318 /* JSDocVariadicType */: + case 319 /* JSDocNamepathType */: break; - case 312 /* JSDocNullableType */: - case 313 /* JSDocNonNullableType */: - case 314 /* JSDocOptionalType */: + case 314 /* JSDocNullableType */: + case 315 /* JSDocNonNullableType */: + case 316 /* JSDocOptionalType */: return serializeTypeNode(node.type); default: return ts.Debug.failBadSyntaxKind(node); @@ -91192,13 +92541,13 @@ var ts; var serializedUnion; for (var _i = 0, types_23 = types; _i < types_23.length; _i++) { var typeNode = types_23[_i]; - while (typeNode.kind === 190 /* ParenthesizedType */) { + while (typeNode.kind === 191 /* ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } if (typeNode.kind === 143 /* NeverKeyword */) { continue; // Always elide `never` from the union/intersection if possible } - if (!strictNullChecks && (typeNode.kind === 195 /* LiteralType */ && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 152 /* UndefinedKeyword */)) { + if (!strictNullChecks && (typeNode.kind === 196 /* LiteralType */ && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 153 /* UndefinedKeyword */)) { continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks } var serializedIndividual = serializeTypeNode(typeNode); @@ -91308,7 +92657,7 @@ var ts; name.original = undefined; ts.setParent(name, ts.getParseTreeNode(currentLexicalScope)); // ensure the parent is set to a parse tree node. return name; - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return serializeQualifiedNameAsExpression(node); } } @@ -91427,7 +92776,7 @@ var ts; return !ts.nodeIsMissing(node.body); } function visitPropertyDeclaration(node) { - if (node.flags & 8388608 /* Ambient */ || ts.hasSyntacticModifier(node, 128 /* Abstract */)) { + if (node.flags & 16777216 /* Ambient */ || ts.hasSyntacticModifier(node, 128 /* Abstract */)) { return undefined; } var updated = factory.updatePropertyDeclaration(node, @@ -91641,9 +92990,13 @@ var ts; } } function visitVariableDeclaration(node) { - return factory.updateVariableDeclaration(node, ts.visitNode(node.name, visitor, ts.isBindingName), + var updated = factory.updateVariableDeclaration(node, ts.visitNode(node.name, visitor, ts.isBindingName), /*exclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); + if (node.type) { + ts.setTypeNode(updated.name, node.type); + } + return updated; } function visitParenthesizedExpression(node) { var innerExpression = ts.skipOuterExpressions(node.expression, ~6 /* Assertions */); @@ -91893,12 +93246,12 @@ var ts; // enums in any other scope are emitted as a `let` declaration. var statement = factory.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.createVariableDeclarationList([ factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true)) - ], currentLexicalScope.kind === 303 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); + ], currentLexicalScope.kind === 305 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { // Adjust the source map emit to match the old emitter. - if (node.kind === 259 /* EnumDeclaration */) { + if (node.kind === 260 /* EnumDeclaration */) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -92023,7 +93376,7 @@ var ts; var statementsLocation; var blockLocation; if (node.body) { - if (node.body.kind === 261 /* ModuleBlock */) { + if (node.body.kind === 262 /* ModuleBlock */) { saveStateAndInvoke(node.body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = node.body.statements; blockLocation = node.body; @@ -92070,13 +93423,13 @@ var ts; // })(hi = hello.hi || (hello.hi = {})); // })(hello || (hello = {})); // We only want to emit comment on the namespace which contains block body itself, not the containing namespaces. - if (!node.body || node.body.kind !== 261 /* ModuleBlock */) { + if (!node.body || node.body.kind !== 262 /* ModuleBlock */) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* NoComments */); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 260 /* ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 261 /* ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -92124,7 +93477,7 @@ var ts; * @param node The named import bindings node. */ function visitNamedImportBindings(node) { - if (node.kind === 267 /* NamespaceImport */) { + if (node.kind === 268 /* NamespaceImport */) { // Elide a namespace import if it is not referenced. return shouldEmitAliasDeclaration(node) ? node : undefined; } @@ -92376,16 +93729,16 @@ var ts; // We need to enable substitutions for identifiers and shorthand property assignments. This allows us to // substitute the names of exported members of a namespace. context.enableSubstitution(79 /* Identifier */); - context.enableSubstitution(295 /* ShorthandPropertyAssignment */); + context.enableSubstitution(297 /* ShorthandPropertyAssignment */); // We need to be notified when entering and exiting namespaces. - context.enableEmitNotification(260 /* ModuleDeclaration */); + context.enableEmitNotification(261 /* ModuleDeclaration */); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 260 /* ModuleDeclaration */; + return ts.getOriginalNode(node).kind === 261 /* ModuleDeclaration */; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 259 /* EnumDeclaration */; + return ts.getOriginalNode(node).kind === 260 /* EnumDeclaration */; } /** * Hook for node emit. @@ -92446,9 +93799,9 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return substituteExpressionIdentifier(node); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return substituteElementAccessExpression(node); } return node; @@ -92486,9 +93839,9 @@ var ts; // If we are nested within a namespace declaration, we may need to qualifiy // an identifier that is exported from a merged namespace. var container = resolver.getReferencedExportContainer(node, /*prefixLocals*/ false); - if (container && container.kind !== 303 /* SourceFile */) { - var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 260 /* ModuleDeclaration */) || - (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 259 /* EnumDeclaration */); + if (container && container.kind !== 305 /* SourceFile */) { + var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 261 /* ModuleDeclaration */) || + (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 260 /* EnumDeclaration */); if (substitute) { return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(container), node), /*location*/ node); @@ -92503,6 +93856,9 @@ var ts; function substituteElementAccessExpression(node) { return substituteConstantValue(node); } + function safeMultiLineComment(value) { + return value.replace(/\*\//g, "*_/"); + } function substituteConstantValue(node) { var constantValue = tryGetConstEnumValue(node); if (constantValue !== undefined) { @@ -92511,10 +93867,7 @@ var ts; var substitute = typeof constantValue === "string" ? factory.createStringLiteral(constantValue) : factory.createNumericLiteral(constantValue); if (!compilerOptions.removeComments) { var originalNode = ts.getOriginalNode(node, ts.isAccessExpression); - var propertyName = ts.isPropertyAccessExpression(originalNode) - ? ts.declarationNameToString(originalNode.name) - : ts.getTextOfNode(originalNode.argumentExpression); - ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " ".concat(propertyName, " ")); + ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " " + safeMultiLineComment(ts.getTextOfNode(originalNode)) + " "); } return substitute; } @@ -92619,16 +93972,16 @@ var ts; function visitorWorker(node, valueIsDiscarded) { if (node.transformFlags & 8388608 /* ContainsClassFields */) { switch (node.kind) { - case 225 /* ClassExpression */: - case 256 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 257 /* ClassDeclaration */: return visitClassLike(node); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return visitPropertyDeclaration(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatement(node); case 80 /* PrivateIdentifier */: return visitPrivateIdentifier(node); - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return visitClassStaticBlockDeclaration(node); } } @@ -92638,29 +93991,29 @@ var ts; currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { switch (node.kind) { - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return visitPreOrPostfixUnaryExpression(node, valueIsDiscarded); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return visitBinaryExpression(node, valueIsDiscarded); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return visitCallExpression(node); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return visitPropertyAccessExpression(node); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return visitElementAccessExpression(node); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return visitExpressionStatement(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node); - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: { + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: { var savedCurrentStaticPropertyDeclarationOrStaticBlock = currentStaticPropertyDeclarationOrStaticBlock; currentStaticPropertyDeclarationOrStaticBlock = undefined; var result = ts.visitEachChild(node, visitor, context); @@ -92679,17 +94032,17 @@ var ts; } function heritageClauseVisitor(node) { switch (node.kind) { - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: return ts.visitEachChild(node, heritageClauseVisitor, context); - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: return visitExpressionWithTypeArguments(node); } return visitor(node); } function visitorDestructuringTarget(node) { switch (node.kind) { - case 204 /* ObjectLiteralExpression */: - case 203 /* ArrayLiteralExpression */: + case 205 /* ObjectLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return visitAssignmentPattern(node); default: return visitor(node); @@ -92735,19 +94088,19 @@ var ts; */ function classElementVisitor(node) { switch (node.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: // Constructors for classes using class fields are transformed in // `visitClassDeclaration` or `visitClassExpression`. return undefined; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: return visitMethodOrAccessorDeclaration(node); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return visitPropertyDeclaration(node); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return visitComputedPropertyName(node); - case 233 /* SemicolonClassElement */: + case 234 /* SemicolonClassElement */: return node; default: return visitor(node); @@ -93657,17 +95010,17 @@ var ts; // substitute `this` in a static field initializer context.enableSubstitution(108 /* ThisKeyword */); // these push a new lexical environment that is not the class lexical environment - context.enableEmitNotification(255 /* FunctionDeclaration */); - context.enableEmitNotification(212 /* FunctionExpression */); - context.enableEmitNotification(170 /* Constructor */); + context.enableEmitNotification(256 /* FunctionDeclaration */); + context.enableEmitNotification(213 /* FunctionExpression */); + context.enableEmitNotification(171 /* Constructor */); // these push a new lexical environment that is not the class lexical environment, except // when they have a computed property name - context.enableEmitNotification(171 /* GetAccessor */); - context.enableEmitNotification(172 /* SetAccessor */); - context.enableEmitNotification(168 /* MethodDeclaration */); - context.enableEmitNotification(166 /* PropertyDeclaration */); + context.enableEmitNotification(172 /* GetAccessor */); + context.enableEmitNotification(173 /* SetAccessor */); + context.enableEmitNotification(169 /* MethodDeclaration */); + context.enableEmitNotification(167 /* PropertyDeclaration */); // class lexical environments are restored when entering a computed property name - context.enableEmitNotification(161 /* ComputedPropertyName */); + context.enableEmitNotification(162 /* ComputedPropertyName */); } } /** @@ -93706,13 +95059,13 @@ var ts; } } switch (node.kind) { - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: if (ts.isArrowFunction(original) || ts.getEmitFlags(node) & 262144 /* AsyncFunctionBody */) { break; } // falls through - case 255 /* FunctionDeclaration */: - case 170 /* Constructor */: { + case 256 /* FunctionDeclaration */: + case 171 /* Constructor */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentClassLexicalEnvironment = undefined; @@ -93722,10 +95075,10 @@ var ts; currentComputedPropertyNameClassLexicalEnvironment = savedCurrentComputedPropertyNameClassLexicalEnvironment; return; } - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: - case 166 /* PropertyDeclaration */: { + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 167 /* PropertyDeclaration */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentComputedPropertyNameClassLexicalEnvironment = currentClassLexicalEnvironment; @@ -93735,7 +95088,7 @@ var ts; currentComputedPropertyNameClassLexicalEnvironment = savedCurrentComputedPropertyNameClassLexicalEnvironment; return; } - case 161 /* ComputedPropertyName */: { + case 162 /* ComputedPropertyName */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; @@ -93990,8 +95343,8 @@ var ts; } function createHoistedVariableForClass(name, node) { var className = getPrivateIdentifierEnvironment().className; - var prefix = className ? "_".concat(className) : ""; - var identifier = factory.createUniqueName("".concat(prefix, "_").concat(name), 16 /* Optimistic */); + var prefix = className ? "_" + className : ""; + var identifier = factory.createUniqueName(prefix + "_" + name, 16 /* Optimistic */); if (resolver.getNodeCheckFlags(node) & 524288 /* BlockScopedBindingInLoop */) { addBlockScopedVariable(identifier); } @@ -94248,31 +95601,31 @@ var ts; case 131 /* AsyncKeyword */: // ES2017 async modifier should be elided for targets < ES2017 return undefined; - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: return visitAwaitExpression(node); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitMethodDeclaration, node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitFunctionDeclaration, node); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitFunctionExpression, node); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return doWithContext(1 /* NonTopLevel */, visitArrowFunction, node); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SuperKeyword */) { capturedSuperProperties.add(node.name.escapedText); } return ts.visitEachChild(node, visitor, context); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: if (capturedSuperProperties && node.expression.kind === 106 /* SuperKeyword */) { hasSuperElementAccess = true; } return ts.visitEachChild(node, visitor, context); - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 170 /* Constructor */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 171 /* Constructor */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitDefault, node); default: return ts.visitEachChild(node, visitor, context); @@ -94281,27 +95634,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatementInAsyncBody(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatementInAsyncBody(node); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return visitForInStatementInAsyncBody(node); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return visitForOfStatementInAsyncBody(node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return visitCatchClauseInAsyncBody(node); - case 234 /* Block */: - case 248 /* SwitchStatement */: - case 262 /* CaseBlock */: - case 288 /* CaseClause */: - case 289 /* DefaultClause */: - case 251 /* TryStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 238 /* IfStatement */: - case 247 /* WithStatement */: - case 249 /* LabeledStatement */: + case 235 /* Block */: + case 249 /* SwitchStatement */: + case 263 /* CaseBlock */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: + case 252 /* TryStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 239 /* IfStatement */: + case 248 /* WithStatement */: + case 250 /* LabeledStatement */: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -94506,7 +95859,7 @@ var ts; var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 /* ES2015 */ ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 213 /* ArrowFunction */; + var isArrowFunction = node.kind === 214 /* ArrowFunction */; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* CaptureArguments */) !== 0; // An async function is emit as an outer function that calls an inner // generator function. To preserve lexical bindings, we pass the current @@ -94597,17 +95950,17 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(207 /* CallExpression */); - context.enableSubstitution(205 /* PropertyAccessExpression */); - context.enableSubstitution(206 /* ElementAccessExpression */); + context.enableSubstitution(208 /* CallExpression */); + context.enableSubstitution(206 /* PropertyAccessExpression */); + context.enableSubstitution(207 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(256 /* ClassDeclaration */); - context.enableEmitNotification(168 /* MethodDeclaration */); - context.enableEmitNotification(171 /* GetAccessor */); - context.enableEmitNotification(172 /* SetAccessor */); - context.enableEmitNotification(170 /* Constructor */); + context.enableEmitNotification(257 /* ClassDeclaration */); + context.enableEmitNotification(169 /* MethodDeclaration */); + context.enableEmitNotification(172 /* GetAccessor */); + context.enableEmitNotification(173 /* SetAccessor */); + context.enableEmitNotification(171 /* Constructor */); // We need to be notified when entering the generated accessor arrow functions. - context.enableEmitNotification(236 /* VariableStatement */); + context.enableEmitNotification(237 /* VariableStatement */); } } /** @@ -94655,11 +96008,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -94691,11 +96044,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 256 /* ClassDeclaration */ - || kind === 170 /* Constructor */ - || kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */; + return kind === 257 /* ClassDeclaration */ + || kind === 171 /* Constructor */ + || kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -94879,70 +96232,70 @@ var ts; return node; } switch (node.kind) { - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: return visitAwaitExpression(node); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return visitYieldExpression(node); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return visitReturnStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return visitLabeledStatement(node); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return visitBinaryExpression(node, expressionResultIsUnused); - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: return visitCommaListExpression(node, expressionResultIsUnused); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return visitCatchClause(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatement(node); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return visitVariableDeclaration(node); - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 242 /* ForInStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 243 /* ForInStatement */: return doWithHierarchyFacts(visitDefault, node, 0 /* IterationStatementExcludes */, 2 /* IterationStatementIncludes */); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return doWithHierarchyFacts(visitForStatement, node, 0 /* IterationStatementExcludes */, 2 /* IterationStatementIncludes */); - case 216 /* VoidExpression */: + case 217 /* VoidExpression */: return visitVoidExpression(node); - case 170 /* Constructor */: + case 171 /* Constructor */: return doWithHierarchyFacts(visitConstructorDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return doWithHierarchyFacts(visitMethodDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: return doWithHierarchyFacts(visitGetAccessorDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: return doWithHierarchyFacts(visitSetAccessorDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return doWithHierarchyFacts(visitFunctionDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: return doWithHierarchyFacts(visitFunctionExpression, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return doWithHierarchyFacts(visitArrowFunction, node, 2 /* ArrowFunctionExcludes */, 0 /* ArrowFunctionIncludes */); - case 163 /* Parameter */: + case 164 /* Parameter */: return visitParameter(node); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return visitExpressionStatement(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, expressionResultIsUnused); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SuperKeyword */) { capturedSuperProperties.add(node.name.escapedText); } return ts.visitEachChild(node, visitor, context); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: if (capturedSuperProperties && node.expression.kind === 106 /* SuperKeyword */) { hasSuperElementAccess = true; } return ts.visitEachChild(node, visitor, context); - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return doWithHierarchyFacts(visitDefault, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); default: return ts.visitEachChild(node, visitor, context); @@ -94978,7 +96331,7 @@ var ts; function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2 /* Async */) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 243 /* ForOfStatement */ && statement.awaitModifier) { + if (statement.kind === 244 /* ForOfStatement */ && statement.awaitModifier) { return visitForOfStatement(statement, node); } return factory.restoreEnclosingLabel(ts.visitNode(statement, visitor, ts.isStatement, factory.liftToBlock), node); @@ -94988,9 +96341,9 @@ var ts; function chunkObjectLiteralElements(elements) { var chunkObject; var objects = []; - for (var _i = 0, elements_4 = elements; _i < elements_4.length; _i++) { - var e = elements_4[_i]; - if (e.kind === 296 /* SpreadAssignment */) { + for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { + var e = elements_5[_i]; + if (e.kind === 298 /* SpreadAssignment */) { if (chunkObject) { objects.push(factory.createObjectLiteralExpression(chunkObject)); chunkObject = undefined; @@ -94999,7 +96352,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 294 /* PropertyAssignment */ + chunkObject = ts.append(chunkObject, e.kind === 296 /* PropertyAssignment */ ? factory.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -95033,7 +96386,7 @@ var ts; // If we translate the above to `__assign({}, k, l)`, the `l` will evaluate before `k` is spread and we // end up with `{ a: 1, b: 2, c: 3 }` var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 204 /* ObjectLiteralExpression */) { + if (objects.length && objects[0].kind !== 205 /* ObjectLiteralExpression */) { objects.unshift(factory.createObjectLiteralExpression()); } var expression = objects[0]; @@ -95548,17 +96901,17 @@ var ts; enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(207 /* CallExpression */); - context.enableSubstitution(205 /* PropertyAccessExpression */); - context.enableSubstitution(206 /* ElementAccessExpression */); + context.enableSubstitution(208 /* CallExpression */); + context.enableSubstitution(206 /* PropertyAccessExpression */); + context.enableSubstitution(207 /* ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(256 /* ClassDeclaration */); - context.enableEmitNotification(168 /* MethodDeclaration */); - context.enableEmitNotification(171 /* GetAccessor */); - context.enableEmitNotification(172 /* SetAccessor */); - context.enableEmitNotification(170 /* Constructor */); + context.enableEmitNotification(257 /* ClassDeclaration */); + context.enableEmitNotification(169 /* MethodDeclaration */); + context.enableEmitNotification(172 /* GetAccessor */); + context.enableEmitNotification(173 /* SetAccessor */); + context.enableEmitNotification(171 /* Constructor */); // We need to be notified when entering the generated accessor arrow functions. - context.enableEmitNotification(236 /* VariableStatement */); + context.enableEmitNotification(237 /* VariableStatement */); } } /** @@ -95606,11 +96959,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return substituteElementAccessExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return substituteCallExpression(node); } return node; @@ -95642,11 +96995,11 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 256 /* ClassDeclaration */ - || kind === 170 /* Constructor */ - || kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */; + return kind === 257 /* ClassDeclaration */ + || kind === 171 /* Constructor */ + || kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { @@ -95678,7 +97031,7 @@ var ts; return node; } switch (node.kind) { - case 291 /* CatchClause */: + case 292 /* CatchClause */: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -95710,25 +97063,25 @@ var ts; return node; } switch (node.kind) { - case 207 /* CallExpression */: { + case 208 /* CallExpression */: { var updated = visitNonOptionalCallExpression(node, /*captureThisArg*/ false); ts.Debug.assertNotNode(updated, ts.isSyntheticReference); return updated; } - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: if (ts.isOptionalChain(node)) { var updated = visitOptionalExpression(node, /*captureThisArg*/ false, /*isDelete*/ false); ts.Debug.assertNotNode(updated, ts.isSyntheticReference); return updated; } return ts.visitEachChild(node, visitor, context); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (node.operatorToken.kind === 60 /* QuestionQuestionToken */) { return transformNullishCoalescingExpression(node); } return ts.visitEachChild(node, visitor, context); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: return visitDeleteExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -95770,7 +97123,7 @@ var ts; thisArg = expression; } } - expression = node.kind === 205 /* PropertyAccessExpression */ + expression = node.kind === 206 /* PropertyAccessExpression */ ? factory.updatePropertyAccessExpression(node, expression, ts.visitNode(node.name, visitor, ts.isIdentifier)) : factory.updateElementAccessExpression(node, expression, ts.visitNode(node.argumentExpression, visitor, ts.isExpression)); return thisArg ? factory.createSyntheticReferenceExpression(expression, thisArg) : expression; @@ -95793,10 +97146,10 @@ var ts; } function visitNonOptionalExpression(node, captureThisArg, isDelete) { switch (node.kind) { - case 211 /* ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); - case 207 /* CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); + case 212 /* ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); + case 208 /* CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); default: return ts.visitNode(node, visitor, ts.isExpression); } } @@ -95815,8 +97168,8 @@ var ts; for (var i = 0; i < chain.length; i++) { var segment = chain[i]; switch (segment.kind) { - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: if (i === chain.length - 1 && captureThisArg) { if (!ts.isSimpleCopiableExpression(rightExpression)) { thisArg = factory.createTempVariable(hoistVariableDeclaration); @@ -95826,11 +97179,11 @@ var ts; thisArg = rightExpression; } } - rightExpression = segment.kind === 205 /* PropertyAccessExpression */ + rightExpression = segment.kind === 206 /* PropertyAccessExpression */ ? factory.createPropertyAccessExpression(rightExpression, ts.visitNode(segment.name, visitor, ts.isIdentifier)) : factory.createElementAccessExpression(rightExpression, ts.visitNode(segment.argumentExpression, visitor, ts.isExpression)); break; - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (i === 0 && leftThisArg) { if (!ts.isGeneratedIdentifier(leftThisArg)) { leftThisArg = factory.cloneNode(leftThisArg); @@ -95891,7 +97244,7 @@ var ts; return node; } switch (node.kind) { - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: var binaryExpression = node; if (ts.isLogicalOrCoalescingAssignmentExpression(binaryExpression)) { return transformLogicalAssignment(binaryExpression); @@ -95996,7 +97349,7 @@ var ts; specifierSourceImports = new ts.Map(); currentFileState.utilizedImplicitRuntimeImports.set(importSource, specifierSourceImports); } - var generatedName = factory.createUniqueName("_".concat(name), 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */); + var generatedName = factory.createUniqueName("_" + name, 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */); var specifier = factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier(name), generatedName); generatedName.generatedImportReference = specifier; specifierSourceImports.set(name, specifier); @@ -96060,13 +97413,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 277 /* JsxElement */: + case 278 /* JsxElement */: return visitJsxElement(node, /*isChild*/ false); - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ false); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ false); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -96076,13 +97429,13 @@ var ts; switch (node.kind) { case 11 /* JsxText */: return visitJsxText(node); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return visitJsxExpression(node); - case 277 /* JsxElement */: + case 278 /* JsxElement */: return visitJsxElement(node, /*isChild*/ true); - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ true); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: return visitJsxFragment(node, /*isChild*/ true); default: return ts.Debug.failBadSyntaxKind(node); @@ -96126,8 +97479,8 @@ var ts; function convertJsxChildrenToChildrenPropAssignment(children) { var nonWhitespaceChildren = ts.getSemanticJsxChildren(children); if (ts.length(nonWhitespaceChildren) === 1 && !nonWhitespaceChildren[0].dotDotDotToken) { - var result_12 = transformJsxChildToExpression(nonWhitespaceChildren[0]); - return result_12 && factory.createPropertyAssignment("children", result_12); + var result_13 = transformJsxChildToExpression(nonWhitespaceChildren[0]); + return result_13 && factory.createPropertyAssignment("children", result_13); } var result = ts.mapDefined(children, transformJsxChildToExpression); return ts.length(result) ? factory.createPropertyAssignment("children", factory.createArrayLiteralExpression(result)) : undefined; @@ -96263,7 +97616,7 @@ var ts; var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote); return ts.setTextRange(literal, node); } - else if (node.kind === 287 /* JsxExpression */) { + else if (node.kind === 288 /* JsxExpression */) { if (node.expression === undefined) { return factory.createTrue(); } @@ -96357,7 +97710,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 277 /* JsxElement */) { + if (node.kind === 278 /* JsxElement */) { return getTagName(node.openingElement); } else { @@ -96664,7 +98017,7 @@ var ts; return node; } switch (node.kind) { - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -96889,7 +98242,7 @@ var ts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { return (hierarchyFacts & 8192 /* ConstructorWithCapturedSuper */) !== 0 - && node.kind === 246 /* ReturnStatement */ + && node.kind === 247 /* ReturnStatement */ && !node.expression; } function isOrMayContainReturnCompletion(node) { @@ -96943,65 +98296,65 @@ var ts; switch (node.kind) { case 124 /* StaticKeyword */: return undefined; // elide static keyword - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return visitClassDeclaration(node); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: return visitClassExpression(node); - case 163 /* Parameter */: + case 164 /* Parameter */: return visitParameter(node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return visitArrowFunction(node); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: return visitFunctionExpression(node); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return visitVariableDeclaration(node); case 79 /* Identifier */: return visitIdentifier(node); - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: return visitVariableDeclarationList(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return visitSwitchStatement(node); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: return visitCaseBlock(node); - case 234 /* Block */: + case 235 /* Block */: return visitBlock(node, /*isFunctionBody*/ false); - case 245 /* BreakStatement */: - case 244 /* ContinueStatement */: + case 246 /* BreakStatement */: + case 245 /* ContinueStatement */: return visitBreakOrContinueStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return visitLabeledStatement(node); - case 239 /* DoStatement */: - case 240 /* WhileStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: return visitDoOrWhileStatement(node, /*outermostLabeledStatement*/ undefined); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node, /*outermostLabeledStatement*/ undefined); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return visitForInStatement(node, /*outermostLabeledStatement*/ undefined); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return visitExpressionStatement(node); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return visitCatchClause(node); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return visitShorthandPropertyAssignment(node); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return visitComputedPropertyName(node); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return visitCallExpression(node); - case 208 /* NewExpression */: + case 209 /* NewExpression */: return visitNewExpression(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, expressionResultIsUnused); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return visitBinaryExpression(node, expressionResultIsUnused); - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: return visitCommaListExpression(node, expressionResultIsUnused); case 14 /* NoSubstitutionTemplateLiteral */: case 15 /* TemplateHead */: @@ -97012,30 +98365,30 @@ var ts; return visitStringLiteral(node); case 8 /* NumericLiteral */: return visitNumericLiteral(node); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: return visitTemplateExpression(node); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return visitYieldExpression(node); - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: return visitSpreadElement(node); case 106 /* SuperKeyword */: return visitSuperKeyword(/*isExpressionOfCall*/ false); case 108 /* ThisKeyword */: return visitThisKeyword(node); - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: return visitMetaProperty(node); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return visitMethodDeclaration(node); - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return visitAccessorDeclaration(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatement(node); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return visitReturnStatement(node); - case 216 /* VoidExpression */: + case 217 /* VoidExpression */: return visitVoidExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -97125,14 +98478,14 @@ var ts; // it is possible if either // - break/continue is labeled and label is located inside the converted loop // - break/continue is non-labeled and located in non-converted loop/switch statement - var jump = node.kind === 245 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; + var jump = node.kind === 246 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; var label = node.label; if (!label) { - if (node.kind === 245 /* BreakStatement */) { + if (node.kind === 246 /* BreakStatement */) { convertedLoopState.nonLocalJumps |= 2 /* Break */; labelMarker = "break"; } @@ -97143,12 +98496,12 @@ var ts; } } else { - if (node.kind === 245 /* BreakStatement */) { - labelMarker = "break-".concat(label.escapedText); + if (node.kind === 246 /* BreakStatement */) { + labelMarker = "break-" + label.escapedText; setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-".concat(label.escapedText); + labelMarker = "continue-" + label.escapedText; setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker); } } @@ -97569,11 +98922,11 @@ var ts; */ function isSufficientlyCoveredByReturnStatements(statement) { // A return statement is considered covered. - if (statement.kind === 246 /* ReturnStatement */) { + if (statement.kind === 247 /* ReturnStatement */) { return true; } // An if-statement with two covered branches is covered. - else if (statement.kind === 238 /* IfStatement */) { + else if (statement.kind === 239 /* IfStatement */) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && @@ -97581,7 +98934,7 @@ var ts; } } // A block is covered if it has a last statement which is covered. - else if (statement.kind === 234 /* Block */) { + else if (statement.kind === 235 /* Block */) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -97783,7 +99136,7 @@ var ts; * @param node A node. */ function insertCaptureThisForNodeIfNeeded(statements, node) { - if (hierarchyFacts & 65536 /* CapturedLexicalThis */ && node.kind !== 213 /* ArrowFunction */) { + if (hierarchyFacts & 65536 /* CapturedLexicalThis */ && node.kind !== 214 /* ArrowFunction */) { insertCaptureThisForNode(statements, node, factory.createThis()); return true; } @@ -97817,22 +99170,22 @@ var ts; if (hierarchyFacts & 32768 /* NewTarget */) { var newTarget = void 0; switch (node.kind) { - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return statements; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // Methods and accessors cannot be constructors, so 'new.target' will // always return 'undefined'. newTarget = factory.createVoidZero(); break; - case 170 /* Constructor */: + case 171 /* Constructor */: // Class constructors can only be called with `new`, so `this.constructor` // should be relatively safe to use. newTarget = factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), "constructor"); break; - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), 102 /* InstanceOfKeyword */, factory.getLocalName(node))), @@ -97867,21 +99220,21 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 233 /* SemicolonClassElement */: + case 234 /* SemicolonClassElement */: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 170 /* Constructor */: - case 169 /* ClassStaticBlockDeclaration */: + case 171 /* Constructor */: + case 170 /* ClassStaticBlockDeclaration */: // Constructors are handled in visitClassExpression/visitClassDeclaration break; default: @@ -98081,7 +99434,7 @@ var ts; : enterSubtree(32670 /* FunctionExcludes */, 65 /* FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 32768 /* NewTarget */ && !name && (node.kind === 255 /* FunctionDeclaration */ || node.kind === 212 /* FunctionExpression */)) { + if (hierarchyFacts & 32768 /* NewTarget */ && !name && (node.kind === 256 /* FunctionDeclaration */ || node.kind === 213 /* FunctionExpression */)) { name = factory.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); @@ -98127,7 +99480,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 213 /* ArrowFunction */); + ts.Debug.assert(node.kind === 214 /* ArrowFunction */); // To align with the old emitter, we use a synthetic end position on the location // for the statement list we synthesize when we down-level an arrow function with // an expression function body. This prevents both comments and source maps from @@ -98313,8 +99666,8 @@ var ts; // declarations may not be sorted by position. // pos should be the minimum* position over all nodes (that's not -1), end should be the maximum end over all nodes. var pos = -1, end = -1; - for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { - var node = declarations_9[_i]; + for (var _i = 0, declarations_10 = declarations; _i < declarations_10.length; _i++) { + var node = declarations_10[_i]; pos = pos === -1 ? node.pos : node.pos === -1 ? pos : Math.min(pos, node.pos); end = Math.max(end, node.end); } @@ -98434,14 +99787,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 239 /* DoStatement */: - case 240 /* WhileStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: return visitDoOrWhileStatement(node, outermostLabeledStatement); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node, outermostLabeledStatement); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return visitForInStatement(node, outermostLabeledStatement); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -98627,7 +99980,7 @@ var ts; var property = properties[i]; if ((property.transformFlags & 524288 /* ContainsYield */ && hierarchyFacts & 4 /* AsyncFunctionBody */) - || (hasComputed = ts.Debug.checkDefined(property.name).kind === 161 /* ComputedPropertyName */)) { + || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162 /* ComputedPropertyName */)) { numInitialProperties = i; break; } @@ -98743,11 +100096,11 @@ var ts; } function convertIterationStatementCore(node, initializerFunction, convertedLoopBody) { switch (node.kind) { - case 241 /* ForStatement */: return convertForStatement(node, initializerFunction, convertedLoopBody); - case 242 /* ForInStatement */: return convertForInStatement(node, convertedLoopBody); - case 243 /* ForOfStatement */: return convertForOfStatement(node, convertedLoopBody); - case 239 /* DoStatement */: return convertDoStatement(node, convertedLoopBody); - case 240 /* WhileStatement */: return convertWhileStatement(node, convertedLoopBody); + case 242 /* ForStatement */: return convertForStatement(node, initializerFunction, convertedLoopBody); + case 243 /* ForInStatement */: return convertForInStatement(node, convertedLoopBody); + case 244 /* ForOfStatement */: return convertForOfStatement(node, convertedLoopBody); + case 240 /* DoStatement */: return convertDoStatement(node, convertedLoopBody); + case 241 /* WhileStatement */: return convertWhileStatement(node, convertedLoopBody); default: return ts.Debug.failBadSyntaxKind(node, "IterationStatement expected"); } } @@ -98772,11 +100125,11 @@ var ts; function createConvertedLoopState(node) { var loopInitializer; switch (node.kind) { - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: var initializer = node.initializer; - if (initializer && initializer.kind === 254 /* VariableDeclarationList */) { + if (initializer && initializer.kind === 255 /* VariableDeclarationList */) { loopInitializer = initializer; } break; @@ -99192,20 +100545,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -99312,7 +100665,7 @@ var ts; var updated; var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (node.kind === 171 /* GetAccessor */) { + if (node.kind === 172 /* GetAccessor */) { updated = factory.updateGetAccessorDeclaration(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { @@ -99772,13 +101125,13 @@ var ts; if ((enabledSubstitutions & 1 /* CapturedThis */) === 0) { enabledSubstitutions |= 1 /* CapturedThis */; context.enableSubstitution(108 /* ThisKeyword */); - context.enableEmitNotification(170 /* Constructor */); - context.enableEmitNotification(168 /* MethodDeclaration */); - context.enableEmitNotification(171 /* GetAccessor */); - context.enableEmitNotification(172 /* SetAccessor */); - context.enableEmitNotification(213 /* ArrowFunction */); - context.enableEmitNotification(212 /* FunctionExpression */); - context.enableEmitNotification(255 /* FunctionDeclaration */); + context.enableEmitNotification(171 /* Constructor */); + context.enableEmitNotification(169 /* MethodDeclaration */); + context.enableEmitNotification(172 /* GetAccessor */); + context.enableEmitNotification(173 /* SetAccessor */); + context.enableEmitNotification(214 /* ArrowFunction */); + context.enableEmitNotification(213 /* FunctionExpression */); + context.enableEmitNotification(256 /* FunctionDeclaration */); } } /** @@ -99819,10 +101172,10 @@ var ts; */ function isNameOfDeclarationWithCollidingName(node) { switch (node.parent.kind) { - case 202 /* BindingElement */: - case 256 /* ClassDeclaration */: - case 259 /* EnumDeclaration */: - case 253 /* VariableDeclaration */: + case 203 /* BindingElement */: + case 257 /* ClassDeclaration */: + case 260 /* EnumDeclaration */: + case 254 /* VariableDeclaration */: return node.parent.name === node && resolver.isDeclarationWithCollidingName(node.parent); } @@ -99904,11 +101257,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 237 /* ExpressionStatement */) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 238 /* ExpressionStatement */) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 207 /* CallExpression */) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 208 /* CallExpression */) { return false; } var callTarget = statementExpression.expression; @@ -99916,7 +101269,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 224 /* SpreadElement */) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 225 /* SpreadElement */) { return false; } var expression = callArgument.expression; @@ -99942,15 +101295,15 @@ var ts; if (compilerOptions.jsx === 1 /* Preserve */ || compilerOptions.jsx === 3 /* ReactNative */) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(279 /* JsxOpeningElement */); - context.enableEmitNotification(280 /* JsxClosingElement */); - context.enableEmitNotification(278 /* JsxSelfClosingElement */); + context.enableEmitNotification(280 /* JsxOpeningElement */); + context.enableEmitNotification(281 /* JsxClosingElement */); + context.enableEmitNotification(279 /* JsxSelfClosingElement */); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(205 /* PropertyAccessExpression */); - context.enableSubstitution(294 /* PropertyAssignment */); + context.enableSubstitution(206 /* PropertyAccessExpression */); + context.enableSubstitution(296 /* PropertyAssignment */); return ts.chainBundle(context, transformSourceFile); /** * Transforms an ES5 source file to ES3. @@ -99969,9 +101322,9 @@ var ts; */ function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 279 /* JsxOpeningElement */: - case 280 /* JsxClosingElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 281 /* JsxClosingElement */: + case 279 /* JsxSelfClosingElement */: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -100306,13 +101659,13 @@ var ts; */ function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 239 /* DoStatement */: + case 240 /* DoStatement */: return visitDoStatement(node); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: return visitWhileStatement(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return visitSwitchStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -100325,24 +101678,24 @@ var ts; */ function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: return visitFunctionExpression(node); - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return visitAccessorDeclaration(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatement(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return visitForInStatement(node); - case 245 /* BreakStatement */: + case 246 /* BreakStatement */: return visitBreakStatement(node); - case 244 /* ContinueStatement */: + case 245 /* ContinueStatement */: return visitContinueStatement(node); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return visitReturnStatement(node); default: if (node.transformFlags & 524288 /* ContainsYield */) { @@ -100363,23 +101716,23 @@ var ts; */ function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return visitBinaryExpression(node); - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: return visitCommaListExpression(node); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return visitConditionalExpression(node); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return visitYieldExpression(node); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return visitElementAccessExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return visitCallExpression(node); - case 208 /* NewExpression */: + case 209 /* NewExpression */: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -100392,9 +101745,9 @@ var ts; */ function visitGenerator(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -100602,7 +101955,7 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: // [source] // a.b = yield; // @@ -100614,7 +101967,7 @@ var ts; // _a.b = %sent%; target = factory.updatePropertyAccessExpression(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: // [source] // a[b] = yield; // @@ -101008,35 +102361,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 234 /* Block */: + case 235 /* Block */: return transformAndEmitBlock(node); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return transformAndEmitExpressionStatement(node); - case 238 /* IfStatement */: + case 239 /* IfStatement */: return transformAndEmitIfStatement(node); - case 239 /* DoStatement */: + case 240 /* DoStatement */: return transformAndEmitDoStatement(node); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: return transformAndEmitWhileStatement(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return transformAndEmitForStatement(node); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return transformAndEmitForInStatement(node); - case 244 /* ContinueStatement */: + case 245 /* ContinueStatement */: return transformAndEmitContinueStatement(node); - case 245 /* BreakStatement */: + case 246 /* BreakStatement */: return transformAndEmitBreakStatement(node); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return transformAndEmitReturnStatement(node); - case 247 /* WithStatement */: + case 248 /* WithStatement */: return transformAndEmitWithStatement(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return transformAndEmitSwitchStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return transformAndEmitLabeledStatement(node); - case 250 /* ThrowStatement */: + case 251 /* ThrowStatement */: return transformAndEmitThrowStatement(node); - case 251 /* TryStatement */: + case 252 /* TryStatement */: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -101466,7 +102819,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 289 /* DefaultClause */ && defaultClauseIndex === -1) { + if (clause.kind === 290 /* DefaultClause */ && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -101479,7 +102832,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 288 /* CaseClause */) { + if (clause.kind === 289 /* CaseClause */) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -102639,12 +103992,12 @@ var ts; var previousOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(207 /* CallExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. - context.enableSubstitution(209 /* TaggedTemplateExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. + context.enableSubstitution(208 /* CallExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. + context.enableSubstitution(210 /* TaggedTemplateExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. context.enableSubstitution(79 /* Identifier */); // Substitutes expression identifiers with imported/exported symbols. - context.enableSubstitution(220 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(295 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. - context.enableEmitNotification(303 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(221 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(297 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. + context.enableEmitNotification(305 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var currentSourceFile; // The current file. @@ -102972,23 +104325,23 @@ var ts; */ function topLevelVisitor(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return visitImportDeclaration(node); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return visitExportDeclaration(node); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return visitExportAssignment(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatement(node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return visitClassDeclaration(node); - case 350 /* MergeDeclarationMarker */: + case 352 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 351 /* EndOfDeclarationMarker */: + case 353 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return visitor(node); @@ -103001,26 +104354,26 @@ var ts; return node; } switch (node.kind) { - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return visitExpressionStatement(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, valueIsDiscarded); - case 348 /* PartiallyEmittedExpression */: + case 350 /* PartiallyEmittedExpression */: return visitPartiallyEmittedExpression(node, valueIsDiscarded); - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (ts.isImportCall(node) && currentSourceFile.impliedNodeFormat === undefined) { return visitImportCallExpression(node); } break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (ts.isDestructuringAssignment(node)) { return visitDestructuringAssignment(node, valueIsDiscarded); } break; - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return visitPreOrPostfixUnaryExpression(node, valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); @@ -103036,24 +104389,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -103641,7 +104994,7 @@ var ts; // // To balance the declaration, add the exports of the elided variable // statement. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 236 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -103696,10 +105049,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 268 /* NamedImports */: + case 269 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding, /* liveBinding */ true); @@ -103912,7 +105265,7 @@ var ts; * @param emit A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; previousOnEmitNode(hint, node, emitCallback); @@ -103974,11 +105327,11 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return substituteExpressionIdentifier(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return substituteCallExpression(node); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return substituteTaggedTemplateExpression(node); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return substituteBinaryExpression(node); } return node; @@ -104022,7 +105375,7 @@ var ts; } else if (!(ts.isGeneratedIdentifier(node) && !(node.autoGenerateFlags & 64 /* AllowNameSubstitution */)) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 303 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 305 /* SourceFile */) { return ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(node)), /*location*/ node); } @@ -104112,10 +105465,10 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(79 /* Identifier */); // Substitutes expression identifiers for imported symbols. - context.enableSubstitution(295 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols - context.enableSubstitution(220 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(230 /* MetaProperty */); // Substitutes 'import.meta' - context.enableEmitNotification(303 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(297 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols + context.enableSubstitution(221 /* BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(231 /* MetaProperty */); // Substitutes 'import.meta' + context.enableEmitNotification(305 /* SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var exportFunctionsMap = []; // The export function associated with a source file. @@ -104339,7 +105692,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 271 /* ExportDeclaration */ && externalImport.exportClause) { + if (externalImport.kind === 272 /* ExportDeclaration */ && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -104429,19 +105782,19 @@ var ts; var entry = _b[_a]; var importVariableName = ts.getLocalNameForExternalImport(factory, entry, currentSourceFile); // TODO: GH#18217 switch (entry.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: if (!entry.importClause) { // 'import "..."' case // module is imported only for side-effects, no emit required break; } // falls through - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: ts.Debug.assert(importVariableName !== undefined); // save import into the local statements.push(factory.createExpressionStatement(factory.createAssignment(importVariableName, parameterName))); break; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { if (ts.isNamedExports(entry.exportClause)) { @@ -104500,13 +105853,13 @@ var ts; */ function topLevelVisitor(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return visitImportDeclaration(node); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return visitExportDeclaration(node); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return visitExportAssignment(node); default: return topLevelNestedVisitor(node); @@ -104686,7 +106039,7 @@ var ts; function shouldHoistVariableDeclarationList(node) { // hoist only non-block scoped declarations or block scoped declarations parented by source file return (ts.getEmitFlags(node) & 2097152 /* NoHoisting */) === 0 - && (enclosingBlockScopedContainer.kind === 303 /* SourceFile */ + && (enclosingBlockScopedContainer.kind === 305 /* SourceFile */ || (ts.getOriginalNode(node).flags & 3 /* BlockScoped */) === 0); } /** @@ -104750,7 +106103,7 @@ var ts; // // To balance the declaration, we defer the exports of the elided variable // statement until we visit this declaration's `EndOfDeclarationMarker`. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 236 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* VariableStatement */) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasSyntacticModifier(node.original, 1 /* Export */); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -104812,10 +106165,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 268 /* NamedImports */: + case 269 /* NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -104995,43 +106348,43 @@ var ts; */ function topLevelNestedVisitor(node) { switch (node.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return visitVariableStatement(node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return visitFunctionDeclaration(node); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return visitClassDeclaration(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node, /*isTopLevel*/ true); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return visitForInStatement(node); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return visitForOfStatement(node); - case 239 /* DoStatement */: + case 240 /* DoStatement */: return visitDoStatement(node); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: return visitWhileStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return visitLabeledStatement(node); - case 247 /* WithStatement */: + case 248 /* WithStatement */: return visitWithStatement(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return visitSwitchStatement(node); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: return visitCaseBlock(node); - case 288 /* CaseClause */: + case 289 /* CaseClause */: return visitCaseClause(node); - case 289 /* DefaultClause */: + case 290 /* DefaultClause */: return visitDefaultClause(node); - case 251 /* TryStatement */: + case 252 /* TryStatement */: return visitTryStatement(node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return visitCatchClause(node); - case 234 /* Block */: + case 235 /* Block */: return visitBlock(node); - case 350 /* MergeDeclarationMarker */: + case 352 /* MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 351 /* EndOfDeclarationMarker */: + case 353 /* EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return visitor(node); @@ -105217,26 +106570,26 @@ var ts; return node; } switch (node.kind) { - case 241 /* ForStatement */: + case 242 /* ForStatement */: return visitForStatement(node, /*isTopLevel*/ false); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return visitExpressionStatement(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return visitParenthesizedExpression(node, valueIsDiscarded); - case 348 /* PartiallyEmittedExpression */: + case 350 /* PartiallyEmittedExpression */: return visitPartiallyEmittedExpression(node, valueIsDiscarded); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (ts.isDestructuringAssignment(node)) { return visitDestructuringAssignment(node, valueIsDiscarded); } break; - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (ts.isImportCall(node)) { return visitImportCallExpression(node); } break; - case 218 /* PrefixUnaryExpression */: - case 219 /* PostfixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return visitPrefixOrPostfixUnaryExpression(node, valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); @@ -105316,7 +106669,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 303 /* SourceFile */; + return container !== undefined && container.kind === 305 /* SourceFile */; } else { return false; @@ -105394,7 +106747,7 @@ var ts; * @param emitCallback A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -105444,7 +106797,7 @@ var ts; */ function substituteUnspecified(node) { switch (node.kind) { - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return substituteShorthandPropertyAssignment(node); } return node; @@ -105481,9 +106834,9 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return substituteExpressionIdentifier(node); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return substituteBinaryExpression(node); - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: return substituteMetaProperty(node); } return node; @@ -105573,7 +106926,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, /*prefixLocals*/ false); - if (exportContainer && exportContainer.kind === 303 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 305 /* SourceFile */) { exportedNames = ts.append(exportedNames, factory.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -105616,7 +106969,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(303 /* SourceFile */); + context.enableEmitNotification(305 /* SourceFile */); context.enableSubstitution(79 /* Identifier */); var helperNameSubstitutions; var currentSourceFile; @@ -105656,14 +107009,14 @@ var ts; } function visitor(node) { switch (node.kind) { - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: // Though an error in es2020 modules, in node-flavor es2020 modules, we can helpfully transform this to a synthetic `require` call // To give easy access to a synchronous `require` in node-flavor esm. We do the transform even in scenarios where we error, but `import.meta.url` // is available, just because the output is reasonable for a node-like runtime. return ts.getEmitScriptTarget(compilerOptions) >= ts.ModuleKind.ES2020 ? visitImportEqualsDeclaration(node) : undefined; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return visitExportAssignment(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: var exportDecl = node; return visitExportDeclaration(exportDecl); } @@ -105824,8 +107177,8 @@ var ts; var cjsOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(303 /* SourceFile */); - context.enableEmitNotification(303 /* SourceFile */); + context.enableSubstitution(305 /* SourceFile */); + context.enableEmitNotification(305 /* SourceFile */); var currentSourceFile; return transformSourceFileOrBundle; function onSubstituteNode(hint, node) { @@ -105872,7 +107225,7 @@ var ts; return result; } function transformSourceFileOrBundle(node) { - return node.kind === 303 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 305 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -105932,7 +107285,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 256 /* ClassDeclaration */) { + else if (node.parent.kind === 257 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -105961,7 +107314,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 256 /* ClassDeclaration */) { + else if (node.parent.kind === 257 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -106005,10 +107358,10 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.SyntaxKind[node.kind])); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */) { + if (node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -106017,8 +107370,8 @@ var ts; } // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit // The only exception here is if the constructor was marked as private. we are not emitting the constructor parameters at all. - else if (node.kind === 166 /* PropertyDeclaration */ || node.kind === 205 /* PropertyAccessExpression */ || node.kind === 165 /* PropertySignature */ || - (node.kind === 163 /* Parameter */ && ts.hasSyntacticModifier(node.parent, 8 /* Private */))) { + else if (node.kind === 167 /* PropertyDeclaration */ || node.kind === 206 /* PropertyAccessExpression */ || node.kind === 166 /* PropertySignature */ || + (node.kind === 164 /* Parameter */ && ts.hasSyntacticModifier(node.parent, 8 /* Private */))) { // TODO(jfreeman): Deal with computed properties in error reporting. if (ts.isStatic(node)) { return symbolAccessibilityResult.errorModuleName ? @@ -106027,7 +107380,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 256 /* ClassDeclaration */ || node.kind === 163 /* Parameter */) { + else if (node.parent.kind === 257 /* ClassDeclaration */ || node.kind === 164 /* Parameter */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -106052,7 +107405,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 172 /* SetAccessor */) { + if (node.kind === 173 /* SetAccessor */) { // Getters can infer the return type from the returned expression, but setters cannot, so the // "_from_external_module_1_but_cannot_be_named" case cannot occur. if (ts.isStatic(node)) { @@ -106091,26 +107444,26 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 174 /* ConstructSignature */: + case 175 /* ConstructSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 173 /* CallSignature */: + case 174 /* CallSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: if (ts.isStatic(node)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -106118,7 +107471,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 256 /* ClassDeclaration */) { + else if (node.parent.kind === 257 /* ClassDeclaration */) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -106132,7 +107485,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -106157,30 +107510,30 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 174 /* ConstructSignature */: - case 179 /* ConstructorType */: + case 175 /* ConstructSignature */: + case 180 /* ConstructorType */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 173 /* CallSignature */: + case 174 /* CallSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: if (ts.isStatic(node.parent)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? @@ -106188,7 +107541,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 256 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 257 /* ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -106201,61 +107554,61 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 255 /* FunctionDeclaration */: - case 178 /* FunctionType */: + case 256 /* FunctionDeclaration */: + case 179 /* FunctionType */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; - case 172 /* SetAccessor */: - case 171 /* GetAccessor */: + case 173 /* SetAccessor */: + case 172 /* GetAccessor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1; default: - return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.SyntaxKind[node.parent.kind])); + return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); } } function getTypeParameterConstraintVisibilityError() { // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage; switch (node.parent.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 194 /* MappedType */: + case 195 /* MappedType */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1; break; - case 179 /* ConstructorType */: - case 174 /* ConstructSignature */: + case 180 /* ConstructorType */: + case 175 /* ConstructSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 173 /* CallSignature */: + case 174 /* CallSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: if (ts.isStatic(node.parent)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 256 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 257 /* ClassDeclaration */) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 178 /* FunctionType */: - case 255 /* FunctionDeclaration */: + case 179 /* FunctionType */: + case 256 /* FunctionDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: @@ -106321,7 +107674,7 @@ var ts; } function isInternalDeclaration(node, currentSourceFile) { var parseTreeNode = ts.getParseTreeNode(node); - if (parseTreeNode && parseTreeNode.kind === 163 /* Parameter */) { + if (parseTreeNode && parseTreeNode.kind === 164 /* Parameter */) { var paramIdx = parseTreeNode.parent.parameters.indexOf(parseTreeNode); var previousSibling = paramIdx > 0 ? parseTreeNode.parent.parameters[paramIdx - 1] : undefined; var text = currentSourceFile.text; @@ -106521,10 +107874,10 @@ var ts; return result; } function transformRoot(node) { - if (node.kind === 303 /* SourceFile */ && node.isDeclarationFile) { + if (node.kind === 305 /* SourceFile */ && node.isDeclarationFile) { return node; } - if (node.kind === 304 /* Bundle */) { + if (node.kind === 306 /* Bundle */) { isBundledEmit = true; refs = new ts.Map(); libs = new ts.Map(); @@ -106554,11 +107907,11 @@ var ts; var updated = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return factory.updateSourceFile(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 306 /* InputFiles */) { + if (prepend.kind === 308 /* InputFiles */) { var sourceFile = ts.createUnparsedSourceFile(prepend, "dts", stripInternal); hasNoDefaultLib_1 = hasNoDefaultLib_1 || !!sourceFile.hasNoDefaultLib; collectReferences(sourceFile, refs); - recordTypeReferenceDirectivesIfNecessary(sourceFile.typeReferenceDirectives); + recordTypeReferenceDirectivesIfNecessary(ts.map(sourceFile.typeReferenceDirectives, function (ref) { return [ref.fileName, ref.resolutionMode]; })); collectLibs(sourceFile, libs); return sourceFile; } @@ -106613,9 +107966,10 @@ var ts; return ts.map(ts.arrayFrom(libs.keys()), function (lib) { return ({ fileName: lib, pos: -1, end: -1 }); }); } function getFileReferencesForUsedTypeReferences() { - return necessaryTypeReferences ? ts.mapDefined(ts.arrayFrom(necessaryTypeReferences.keys()), getFileReferenceForTypeName) : []; + return necessaryTypeReferences ? ts.mapDefined(ts.arrayFrom(necessaryTypeReferences.keys()), getFileReferenceForSpecifierModeTuple) : []; } - function getFileReferenceForTypeName(typeName) { + function getFileReferenceForSpecifierModeTuple(_a) { + var typeName = _a[0], mode = _a[1]; // Elide type references for which we have imports if (emittedImports) { for (var _i = 0, emittedImports_1 = emittedImports; _i < emittedImports_1.length; _i++) { @@ -106631,7 +107985,7 @@ var ts; } } } - return { fileName: typeName, pos: -1, end: -1 }; + return __assign({ fileName: typeName, pos: -1, end: -1 }, (mode ? { resolutionMode: mode } : undefined)); } function mapReferencesIntoArray(references, outputFilePath) { return function (file) { @@ -106651,7 +108005,7 @@ var ts; // If some compiler option/symlink/whatever allows access to the file containing the ambient module declaration // via a non-relative name, emit a type reference directive to that non-relative name, rather than // a relative path to the declaration file - recordTypeReferenceDirectivesIfNecessary([specifier]); + recordTypeReferenceDirectivesIfNecessary([[specifier, /*mode*/ undefined]]); return; } var fileName = ts.getRelativePathToDirectoryOrUrl(outputFilePath, declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, @@ -106694,7 +108048,7 @@ var ts; return name; } else { - if (name.kind === 201 /* ArrayBindingPattern */) { + if (name.kind === 202 /* ArrayBindingPattern */) { return factory.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -106702,7 +108056,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 226 /* OmittedExpression */) { + if (elem.kind === 227 /* OmittedExpression */) { return elem; } return factory.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -106740,7 +108094,7 @@ var ts; // Literal const declarations will have an initializer ensured rather than a type return; } - var shouldUseResolverType = node.kind === 163 /* Parameter */ && + var shouldUseResolverType = node.kind === 164 /* Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { @@ -106749,7 +108103,7 @@ var ts; if (!ts.getParseTreeNode(node)) { return type ? ts.visitNode(type, visitDeclarationSubtree) : factory.createKeywordTypeNode(130 /* AnyKeyword */); } - if (node.kind === 172 /* SetAccessor */) { + if (node.kind === 173 /* SetAccessor */) { // Set accessors with no associated type node (from it's param or get accessor return) are `any` since they are never contextually typed right now // (The inferred type here will be void, but the old declaration emitter printed `any`, so this replicates that) return factory.createKeywordTypeNode(130 /* AnyKeyword */); @@ -106760,12 +108114,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */) { + if (node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 163 /* Parameter */ - || node.kind === 166 /* PropertyDeclaration */ - || node.kind === 165 /* PropertySignature */) { + if (node.kind === 164 /* Parameter */ + || node.kind === 167 /* PropertyDeclaration */ + || node.kind === 166 /* PropertySignature */) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -106782,22 +108136,22 @@ var ts; function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 260 /* ModuleDeclaration */: - case 257 /* InterfaceDeclaration */: - case 256 /* ClassDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 259 /* EnumDeclaration */: + case 256 /* FunctionDeclaration */: + case 261 /* ModuleDeclaration */: + case 258 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 260 /* EnumDeclaration */: return !resolver.isDeclarationVisible(node); // The following should be doing their own visibility checks based on filtering their members - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return !getBindingNameVisible(node); - case 264 /* ImportEqualsDeclaration */: - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: - case 270 /* ExportAssignment */: + case 265 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: + case 271 /* ExportAssignment */: return false; - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return true; } return false; @@ -106887,7 +108241,7 @@ var ts; function rewriteModuleSpecifier(parent, input) { if (!input) return undefined; // TODO: GH#18217 - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 260 /* ModuleDeclaration */ && parent.kind !== 199 /* ImportType */); + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 261 /* ModuleDeclaration */ && parent.kind !== 200 /* ImportType */); if (ts.isStringLiteralLike(input)) { if (isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); @@ -106907,7 +108261,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 276 /* ExternalModuleReference */) { + if (decl.moduleReference.kind === 277 /* ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return factory.updateImportEqualsDeclaration(decl, @@ -106925,34 +108279,31 @@ var ts; if (!decl.importClause) { // import "mod" - possibly needed for side effects? (global interface patches, module augmentations, etc) return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, decl.importClause, rewriteModuleSpecifier(decl, decl.moduleSpecifier), - /*assertClause*/ undefined); + /*decorators*/ undefined, decl.modifiers, decl.importClause, rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); } // The `importClause` visibility corresponds to the default's visibility. var visibleDefaultBinding = decl.importClause && decl.importClause.name && resolver.isDeclarationVisible(decl.importClause) ? decl.importClause.name : undefined; if (!decl.importClause.namedBindings) { // No named bindings (either namespace or list), meaning the import is just default or should be elided return visibleDefaultBinding && factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, - /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), /*assertClause*/ undefined); + /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); } - if (decl.importClause.namedBindings.kind === 267 /* NamespaceImport */) { + if (decl.importClause.namedBindings.kind === 268 /* NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; - return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), /*assertClause*/ undefined) : undefined; + return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined) : undefined; } // Named imports (optionally with visible default) var bindingList = ts.mapDefined(decl.importClause.namedBindings.elements, function (b) { return resolver.isDeclarationVisible(b) ? b : undefined; }); if ((bindingList && bindingList.length) || visibleDefaultBinding) { return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, bindingList && bindingList.length ? factory.updateNamedImports(decl.importClause.namedBindings, bindingList) : undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), - /*assertClause*/ undefined); + /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, bindingList && bindingList.length ? factory.updateNamedImports(decl.importClause.namedBindings, bindingList) : undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); } // Augmentation of export depends on import if (resolver.isImportRequiredByAugmentation(decl)) { return factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, - /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), - /*assertClause*/ undefined); + /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); } // Nothing visible } @@ -106974,7 +108325,7 @@ var ts; while (ts.length(lateMarkedStatements)) { var i = lateMarkedStatements.shift(); if (!ts.isLateVisibilityPaintedStatement(i)) { - return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); + return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: " + (ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); } var priorNeedsDeclare = needsDeclare; needsDeclare = i.parent && ts.isSourceFile(i.parent) && !(ts.isExternalModule(i.parent) && isBundledEmit); @@ -107032,7 +108383,7 @@ var ts; // We'd see a TDZ violation at runtime var canProduceDiagnostic = ts.canProduceDiagnostics(input); var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 181 /* TypeLiteral */ || input.kind === 194 /* MappedType */) && input.parent.kind !== 258 /* TypeAliasDeclaration */); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 182 /* TypeLiteral */ || input.kind === 195 /* MappedType */) && input.parent.kind !== 259 /* TypeAliasDeclaration */); // Emit methods which are private as properties with no type information if (ts.isMethodDeclaration(input) || ts.isMethodSignature(input)) { if (ts.hasEffectiveModifier(input, 8 /* Private */)) { @@ -107053,21 +108404,21 @@ var ts; } if (isProcessedComponent(input)) { switch (input.kind) { - case 227 /* ExpressionWithTypeArguments */: { + case 228 /* ExpressionWithTypeArguments */: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(factory.updateExpressionWithTypeArguments(node, node.expression, node.typeArguments)); } - case 177 /* TypeReference */: { + case 178 /* TypeReference */: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(factory.updateTypeReferenceNode(node, node.typeName, node.typeArguments)); } - case 174 /* ConstructSignature */: + case 175 /* ConstructSignature */: return cleanup(factory.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 170 /* Constructor */: { + case 171 /* Constructor */: { // A constructor declaration may not have a type annotation var ctor = factory.createConstructorDeclaration( /*decorators*/ undefined, @@ -107075,7 +108426,7 @@ var ts; /*body*/ undefined); return cleanup(ctor); } - case 168 /* MethodDeclaration */: { + case 169 /* MethodDeclaration */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } @@ -107085,7 +108436,7 @@ var ts; /*body*/ undefined); return cleanup(sig); } - case 171 /* GetAccessor */: { + case 172 /* GetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } @@ -107094,7 +108445,7 @@ var ts; /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* Private */)), ensureType(input, accessorType), /*body*/ undefined)); } - case 172 /* SetAccessor */: { + case 173 /* SetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } @@ -107102,31 +108453,31 @@ var ts; /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* Private */)), /*body*/ undefined)); } - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updatePropertyDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type), ensureNoInitializer(input))); - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type))); - case 167 /* MethodSignature */: { + case 168 /* MethodSignature */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updateMethodSignature(input, ensureModifiers(input), input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 173 /* CallSignature */: { + case 174 /* CallSignature */: { return cleanup(factory.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 175 /* IndexSignature */: { + case 176 /* IndexSignature */: { return cleanup(factory.updateIndexSignature(input, /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(130 /* AnyKeyword */))); } - case 253 /* VariableDeclaration */: { + case 254 /* VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -107134,13 +108485,13 @@ var ts; suppressNewDiagnosticContexts = true; // Variable declaration types also suppress new diagnostic contexts, provided the contexts wouldn't be made for binding pattern types return cleanup(factory.updateVariableDeclaration(input, input.name, /*exclamationToken*/ undefined, ensureType(input, input.type), ensureNoInitializer(input))); } - case 162 /* TypeParameter */: { + case 163 /* TypeParameter */: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { - return cleanup(factory.updateTypeParameterDeclaration(input, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); + return cleanup(factory.updateTypeParameterDeclaration(input, input.modifiers, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 188 /* ConditionalType */: { + case 189 /* ConditionalType */: { // We have to process conditional types in a special way because for visibility purposes we need to push a new enclosingDeclaration // just for the `infer` types in the true branch. It's an implicit declaration scope that only applies to _part_ of the type. var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); @@ -107152,18 +108503,18 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(factory.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 178 /* FunctionType */: { + case 179 /* FunctionType */: { return cleanup(factory.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 179 /* ConstructorType */: { + case 180 /* ConstructorType */: { return cleanup(factory.updateConstructorTypeNode(input, ensureModifiers(input), ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 199 /* ImportType */: { + case 200 /* ImportType */: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); - return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); + return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.assertions, input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); } - default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.SyntaxKind[input.kind])); + default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: " + ts.SyntaxKind[input.kind]); } } if (ts.isTupleTypeNode(input) && (ts.getLineAndCharacterOfPosition(currentSourceFile, input.pos).line === ts.getLineAndCharacterOfPosition(currentSourceFile, input.end).line)) { @@ -107190,7 +108541,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 168 /* MethodDeclaration */ && ts.hasEffectiveModifier(node.parent, 8 /* Private */); + return node.parent.kind === 169 /* MethodDeclaration */ && ts.hasEffectiveModifier(node.parent, 8 /* Private */); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -107200,7 +108551,7 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 271 /* ExportDeclaration */: { + case 272 /* ExportDeclaration */: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; } @@ -107208,10 +108559,9 @@ var ts; // Always visible if the parent node isn't dropped for being not visible // Rewrite external module names if necessary return factory.updateExportDeclaration(input, - /*decorators*/ undefined, input.modifiers, input.isTypeOnly, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier), - /*assertClause*/ undefined); + /*decorators*/ undefined, input.modifiers, input.isTypeOnly, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier), ts.getResolutionModeOverrideForClause(input.assertClause) ? input.assertClause : undefined); } - case 270 /* ExportAssignment */: { + case 271 /* ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -107245,17 +108595,17 @@ var ts; // Likewise, `export default` classes and the like and just be `default`, so we preserve their `export` modifiers, too return statement; } - var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (27647 /* All */ ^ 1 /* Export */)); + var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (125951 /* All */ ^ 1 /* Export */)); return factory.updateModifiers(statement, modifiers); } function transformTopLevelDeclaration(input) { if (shouldStripInternal(input)) return; switch (input.kind) { - case 264 /* ImportEqualsDeclaration */: { + case 265 /* ImportEqualsDeclaration */: { return transformImportEqualsDeclaration(input); } - case 265 /* ImportDeclaration */: { + case 266 /* ImportDeclaration */: { return transformImportDeclaration(input); } } @@ -107276,14 +108626,14 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 258 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all + case 259 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all return cleanup(factory.updateTypeAliasDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 257 /* InterfaceDeclaration */: { + case 258 /* InterfaceDeclaration */: { return cleanup(factory.updateInterfaceDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 255 /* FunctionDeclaration */: { + case 256 /* FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type var clean = cleanup(factory.updateFunctionDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), @@ -107350,17 +108700,17 @@ var ts; return clean; } } - case 260 /* ModuleDeclaration */: { + case 261 /* ModuleDeclaration */: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 261 /* ModuleBlock */) { + if (inner && inner.kind === 262 /* ModuleBlock */) { var oldNeedsScopeFix = needsScopeFixMarker; var oldHasScopeFix = resultHasScopeMarker; resultHasScopeMarker = false; needsScopeFixMarker = false; var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var lateStatements = transformAndReplaceLatePaintedStatements(statements); - if (input.flags & 8388608 /* Ambient */) { + if (input.flags & 16777216 /* Ambient */) { needsScopeFixMarker = false; // If it was `declare`'d everything is implicitly exported already, ignore late printed "privates" } // With the final list of statements, there are 3 possibilities: @@ -107396,7 +108746,7 @@ var ts; /*decorators*/ undefined, mods, input.name, body)); } } - case 256 /* ClassDeclaration */: { + case 257 /* ClassDeclaration */: { errorNameNode = input.name; errorFallbackNode = input; var modifiers = factory.createNodeArray(ensureModifiers(input)); @@ -107454,7 +108804,7 @@ var ts; if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104 /* NullKeyword */) { // We must add a temporary declaration for the extends clause expression var oldId = input.name ? ts.unescapeLeadingUnderscores(input.name.escapedText) : "default"; - var newId_1 = factory.createUniqueName("".concat(oldId, "_base"), 16 /* Optimistic */); + var newId_1 = factory.createUniqueName(oldId + "_base", 16 /* Optimistic */); getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: extendsClause_1, @@ -107481,10 +108831,10 @@ var ts; /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 236 /* VariableStatement */: { + case 237 /* VariableStatement */: { return cleanup(transformVariableStatement(input)); } - case 259 /* EnumDeclaration */: { + case 260 /* EnumDeclaration */: { return cleanup(factory.updateEnumDeclaration(input, /*decorators*/ undefined, factory.createNodeArray(ensureModifiers(input)), input.name, factory.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -107495,7 +108845,7 @@ var ts; } } // Anything left unhandled is an error, so this should be unreachable - return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.SyntaxKind[input.kind])); + return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: " + ts.SyntaxKind[input.kind]); function cleanup(node) { if (isEnclosingDeclaration(input)) { enclosingDeclaration = previousEnclosingDeclaration; @@ -107503,7 +108853,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 260 /* ModuleDeclaration */) { + if (input.kind === 261 /* ModuleDeclaration */) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -107526,7 +108876,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 226 /* OmittedExpression */) { + if (e.kind === 227 /* OmittedExpression */) { return; } if (e.name) { @@ -107574,9 +108924,9 @@ var ts; return factory.createModifiersFromModifierFlags(newFlags); } function ensureModifierFlags(node) { - var mask = 27647 /* All */ ^ (4 /* Public */ | 256 /* Async */ | 16384 /* Override */); // No async and override modifiers in declaration files + var mask = 125951 /* All */ ^ (4 /* Public */ | 256 /* Async */ | 16384 /* Override */); // No async and override modifiers in declaration files var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* Ambient */ : 0 /* None */; - var parentIsFile = node.parent.kind === 303 /* SourceFile */; + var parentIsFile = node.parent.kind === 305 /* SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= 2 /* Ambient */; additions = 0 /* None */; @@ -107605,7 +108955,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 257 /* InterfaceDeclaration */) { + if (node.kind === 258 /* InterfaceDeclaration */) { return true; } return false; @@ -107615,7 +108965,7 @@ var ts; return ts.factory.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions)); } function maskModifierFlags(node, modifierMask, modifierAdditions) { - if (modifierMask === void 0) { modifierMask = 27647 /* All */ ^ 4 /* Public */; } + if (modifierMask === void 0) { modifierMask = 125951 /* All */ ^ 4 /* Public */; } if (modifierAdditions === void 0) { modifierAdditions = 0 /* None */; } var flags = (ts.getEffectiveModifierFlags(node) & modifierMask) | modifierAdditions; if (flags & 512 /* Default */ && !(flags & 1 /* Export */)) { @@ -107630,7 +108980,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 171 /* GetAccessor */ + return accessor.kind === 172 /* GetAccessor */ ? accessor.type // Getter - return type : accessor.parameters.length > 0 ? accessor.parameters[0].type // Setter parameter type @@ -107639,52 +108989,52 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: return !ts.hasEffectiveModifier(node, 8 /* Private */); - case 163 /* Parameter */: - case 253 /* VariableDeclaration */: + case 164 /* Parameter */: + case 254 /* VariableDeclaration */: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 260 /* ModuleDeclaration */: - case 264 /* ImportEqualsDeclaration */: - case 257 /* InterfaceDeclaration */: - case 256 /* ClassDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 259 /* EnumDeclaration */: - case 236 /* VariableStatement */: - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: - case 270 /* ExportAssignment */: + case 256 /* FunctionDeclaration */: + case 261 /* ModuleDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 258 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 260 /* EnumDeclaration */: + case 237 /* VariableStatement */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: + case 271 /* ExportAssignment */: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 174 /* ConstructSignature */: - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 175 /* IndexSignature */: - case 253 /* VariableDeclaration */: - case 162 /* TypeParameter */: - case 227 /* ExpressionWithTypeArguments */: - case 177 /* TypeReference */: - case 188 /* ConditionalType */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 199 /* ImportType */: + case 175 /* ConstructSignature */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 176 /* IndexSignature */: + case 254 /* VariableDeclaration */: + case 163 /* TypeParameter */: + case 228 /* ExpressionWithTypeArguments */: + case 178 /* TypeReference */: + case 189 /* ConditionalType */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 200 /* ImportType */: return true; } return false; @@ -107823,7 +109173,7 @@ var ts; * @param allowDtsFiles A value indicating whether to allow the transformation of .d.ts files. */ function transformNodes(resolver, host, factory, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(353 /* Count */); + var enabledSyntaxKindFeatures = new Array(355 /* Count */); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentStatements; @@ -107905,7 +109255,7 @@ var ts; var transformed = []; for (var _a = 0, nodes_3 = nodes; _a < nodes_3.length; _a++) { var node = nodes_3[_a]; - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "transformNodes", node.kind === 303 /* SourceFile */ ? { path: node.path } : { kind: node.kind, pos: node.pos, end: node.end }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "transformNodes", node.kind === 305 /* SourceFile */ ? { path: node.path } : { kind: node.kind, pos: node.pos, end: node.end }); transformed.push((allowDtsFiles ? transformation : transformRoot)(node)); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } @@ -108311,7 +109661,7 @@ var ts; /*@internal*/ function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 304 /* Bundle */) { + if (sourceFile.kind === 306 /* Bundle */) { return getOutputPathsForBundle(options, forceDtsPaths); } else { @@ -108387,13 +109737,13 @@ var ts; if (ts.fileExtensionIs(inputFileName, ".json" /* Json */)) return; if (js && configFile.options.sourceMap) { - addOutput("".concat(js, ".map")); + addOutput(js + ".map"); } if (ts.getEmitDeclarations(configFile.options)) { var dts = getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory); addOutput(dts); if (configFile.options.declarationMap) { - addOutput("".concat(dts, ".map")); + addOutput(dts + ".map"); } } } @@ -108462,7 +109812,7 @@ var ts; function getFirstProjectOutput(configFile, ignoreCase) { if (ts.outFile(configFile.options)) { var jsFilePath = getOutputPathsForBundle(configFile.options, /*forceDtsPaths*/ false).jsFilePath; - return ts.Debug.checkDefined(jsFilePath, "project ".concat(configFile.options.configFilePath, " expected to have at least one output")); + return ts.Debug.checkDefined(jsFilePath, "project " + configFile.options.configFilePath + " expected to have at least one output"); } var getCommonSourceDirectory = ts.memoize(function () { return getCommonSourceDirectoryOfConfig(configFile, ignoreCase); }); for (var _a = 0, _b = configFile.fileNames; _a < _b.length; _a++) { @@ -108481,7 +109831,7 @@ var ts; var buildInfoPath = getTsBuildInfoEmitOutputFilePath(configFile.options); if (buildInfoPath) return buildInfoPath; - return ts.Debug.fail("project ".concat(configFile.options.configFilePath, " expected to have at least one output")); + return ts.Debug.fail("project " + configFile.options.configFilePath + " expected to have at least one output"); } ts.getFirstProjectOutput = getFirstProjectOutput; /*@internal*/ @@ -108660,7 +110010,7 @@ var ts; extendedDiagnostics: compilerOptions.extendedDiagnostics, // Explicitly do not passthru either `inline` option }); - if (forceDtsEmit && declarationTransform.transformed[0].kind === 303 /* SourceFile */) { + if (forceDtsEmit && declarationTransform.transformed[0].kind === 305 /* SourceFile */) { var sourceFile = declarationTransform.transformed[0]; exportedModulesFromDeclarationEmit = sourceFile.exportedModulesFromDeclarationEmit; } @@ -108683,8 +110033,8 @@ var ts; ts.forEachChild(node, collectLinkedAliases); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, printer, mapOptions) { - var bundle = sourceFileOrBundle.kind === 304 /* Bundle */ ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 303 /* SourceFile */ ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 306 /* Bundle */ ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 305 /* SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; var sourceMapGenerator; if (shouldEmitSourceMaps(mapOptions, sourceFileOrBundle)) { @@ -108707,7 +110057,7 @@ var ts; if (sourceMappingURL) { if (!writer.isAtStartOfLine()) writer.rawWrite(newLine); - writer.writeComment("//# ".concat("sourceMappingURL", "=").concat(sourceMappingURL)); // Tools can sometimes see this line as a source mapping url comment + writer.writeComment("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Tools can sometimes see this line as a source mapping url comment } // Write the source map if (sourceMapFilePath) { @@ -108725,7 +110075,7 @@ var ts; } function shouldEmitSourceMaps(mapOptions, sourceFileOrBundle) { return (mapOptions.sourceMap || mapOptions.inlineSourceMap) - && (sourceFileOrBundle.kind !== 303 /* SourceFile */ || !ts.fileExtensionIs(sourceFileOrBundle.fileName, ".json" /* Json */)); + && (sourceFileOrBundle.kind !== 305 /* SourceFile */ || !ts.fileExtensionIs(sourceFileOrBundle.fileName, ".json" /* Json */)); } function getSourceRoot(mapOptions) { // Normalize source root and make sure it has trailing "/" so that it can be used to combine paths with the @@ -108756,7 +110106,7 @@ var ts; // Encode the sourceMap into the sourceMap url var sourceMapText = sourceMapGenerator.toString(); var base64SourceMapText = ts.base64encode(ts.sys, sourceMapText); - return "data:application/json;base64,".concat(base64SourceMapText); + return "data:application/json;base64," + base64SourceMapText; } var sourceMapFile = ts.getBaseFileName(ts.normalizeSlashes(ts.Debug.checkDefined(sourceMapFilePath))); if (mapOptions.mapRoot) { @@ -108936,7 +110286,7 @@ var ts; return; break; default: - ts.Debug.fail("Unexpected path: ".concat(name)); + ts.Debug.fail("Unexpected path: " + name); } outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark }); }, @@ -109008,6 +110358,9 @@ var ts; var currentParenthesizerRule; var _c = ts.performance.createTimerIf(extendedDiagnostics, "commentTime", "beforeComment", "afterComment"), enterComment = _c.enter, exitComment = _c.exit; var parenthesizer = ts.factory.parenthesizer; + var typeArgumentParenthesizerRuleSelector = { + select: function (index) { return index === 0 ? parenthesizer.parenthesizeLeadingTypeArgument : undefined; } + }; var emitBinaryExpression = createEmitBinaryExpression(); reset(); return { @@ -109036,9 +110389,9 @@ var ts; break; } switch (node.kind) { - case 303 /* SourceFile */: return printFile(node); - case 304 /* Bundle */: return printBundle(node); - case 305 /* UnparsedSource */: return printUnparsedSource(node); + case 305 /* SourceFile */: return printFile(node); + case 306 /* Bundle */: return printBundle(node); + case 307 /* UnparsedSource */: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -109372,315 +110725,315 @@ var ts; return emitPrivateIdentifier(node); // Parse tree nodes // Names - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: return emitQualifiedName(node); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return emitComputedPropertyName(node); // Signature elements - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: return emitTypeParameter(node); - case 163 /* Parameter */: + case 164 /* Parameter */: return emitParameter(node); - case 164 /* Decorator */: + case 165 /* Decorator */: return emitDecorator(node); // Type members - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: return emitPropertySignature(node); - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: return emitPropertyDeclaration(node); - case 167 /* MethodSignature */: + case 168 /* MethodSignature */: return emitMethodSignature(node); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return emitMethodDeclaration(node); - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: return emitClassStaticBlockDeclaration(node); - case 170 /* Constructor */: + case 171 /* Constructor */: return emitConstructor(node); - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return emitAccessorDeclaration(node); - case 173 /* CallSignature */: + case 174 /* CallSignature */: return emitCallSignature(node); - case 174 /* ConstructSignature */: + case 175 /* ConstructSignature */: return emitConstructSignature(node); - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: return emitIndexSignature(node); // Types - case 176 /* TypePredicate */: + case 177 /* TypePredicate */: return emitTypePredicate(node); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return emitTypeReference(node); - case 178 /* FunctionType */: + case 179 /* FunctionType */: return emitFunctionType(node); - case 179 /* ConstructorType */: + case 180 /* ConstructorType */: return emitConstructorType(node); - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: return emitTypeQuery(node); - case 181 /* TypeLiteral */: + case 182 /* TypeLiteral */: return emitTypeLiteral(node); - case 182 /* ArrayType */: + case 183 /* ArrayType */: return emitArrayType(node); - case 183 /* TupleType */: + case 184 /* TupleType */: return emitTupleType(node); - case 184 /* OptionalType */: + case 185 /* OptionalType */: return emitOptionalType(node); // SyntaxKind.RestType is handled below - case 186 /* UnionType */: + case 187 /* UnionType */: return emitUnionType(node); - case 187 /* IntersectionType */: + case 188 /* IntersectionType */: return emitIntersectionType(node); - case 188 /* ConditionalType */: + case 189 /* ConditionalType */: return emitConditionalType(node); - case 189 /* InferType */: + case 190 /* InferType */: return emitInferType(node); - case 190 /* ParenthesizedType */: + case 191 /* ParenthesizedType */: return emitParenthesizedType(node); - case 227 /* ExpressionWithTypeArguments */: + case 228 /* ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 191 /* ThisType */: + case 192 /* ThisType */: return emitThisType(); - case 192 /* TypeOperator */: + case 193 /* TypeOperator */: return emitTypeOperator(node); - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: return emitIndexedAccessType(node); - case 194 /* MappedType */: + case 195 /* MappedType */: return emitMappedType(node); - case 195 /* LiteralType */: + case 196 /* LiteralType */: return emitLiteralType(node); - case 196 /* NamedTupleMember */: + case 197 /* NamedTupleMember */: return emitNamedTupleMember(node); - case 197 /* TemplateLiteralType */: + case 198 /* TemplateLiteralType */: return emitTemplateType(node); - case 198 /* TemplateLiteralTypeSpan */: + case 199 /* TemplateLiteralTypeSpan */: return emitTemplateTypeSpan(node); - case 199 /* ImportType */: + case 200 /* ImportType */: return emitImportTypeNode(node); // Binding patterns - case 200 /* ObjectBindingPattern */: + case 201 /* ObjectBindingPattern */: return emitObjectBindingPattern(node); - case 201 /* ArrayBindingPattern */: + case 202 /* ArrayBindingPattern */: return emitArrayBindingPattern(node); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return emitBindingElement(node); // Misc - case 232 /* TemplateSpan */: + case 233 /* TemplateSpan */: return emitTemplateSpan(node); - case 233 /* SemicolonClassElement */: + case 234 /* SemicolonClassElement */: return emitSemicolonClassElement(); // Statements - case 234 /* Block */: + case 235 /* Block */: return emitBlock(node); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return emitVariableStatement(node); - case 235 /* EmptyStatement */: + case 236 /* EmptyStatement */: return emitEmptyStatement(/*isEmbeddedStatement*/ false); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return emitExpressionStatement(node); - case 238 /* IfStatement */: + case 239 /* IfStatement */: return emitIfStatement(node); - case 239 /* DoStatement */: + case 240 /* DoStatement */: return emitDoStatement(node); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: return emitWhileStatement(node); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return emitForStatement(node); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: return emitForInStatement(node); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: return emitForOfStatement(node); - case 244 /* ContinueStatement */: + case 245 /* ContinueStatement */: return emitContinueStatement(node); - case 245 /* BreakStatement */: + case 246 /* BreakStatement */: return emitBreakStatement(node); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: return emitReturnStatement(node); - case 247 /* WithStatement */: + case 248 /* WithStatement */: return emitWithStatement(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return emitSwitchStatement(node); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: return emitLabeledStatement(node); - case 250 /* ThrowStatement */: + case 251 /* ThrowStatement */: return emitThrowStatement(node); - case 251 /* TryStatement */: + case 252 /* TryStatement */: return emitTryStatement(node); - case 252 /* DebuggerStatement */: + case 253 /* DebuggerStatement */: return emitDebuggerStatement(node); // Declarations - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return emitVariableDeclaration(node); - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: return emitVariableDeclarationList(node); - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return emitFunctionDeclaration(node); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return emitClassDeclaration(node); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: return emitInterfaceDeclaration(node); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: return emitTypeAliasDeclaration(node); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return emitEnumDeclaration(node); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return emitModuleDeclaration(node); - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: return emitModuleBlock(node); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: return emitCaseBlock(node); - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: return emitNamespaceExportDeclaration(node); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return emitImportEqualsDeclaration(node); - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return emitImportDeclaration(node); - case 266 /* ImportClause */: + case 267 /* ImportClause */: return emitImportClause(node); - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: return emitNamespaceImport(node); - case 273 /* NamespaceExport */: + case 274 /* NamespaceExport */: return emitNamespaceExport(node); - case 268 /* NamedImports */: + case 269 /* NamedImports */: return emitNamedImports(node); - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: return emitImportSpecifier(node); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return emitExportAssignment(node); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: return emitExportDeclaration(node); - case 272 /* NamedExports */: + case 273 /* NamedExports */: return emitNamedExports(node); - case 274 /* ExportSpecifier */: + case 275 /* ExportSpecifier */: return emitExportSpecifier(node); - case 292 /* AssertClause */: + case 293 /* AssertClause */: return emitAssertClause(node); - case 293 /* AssertEntry */: + case 294 /* AssertEntry */: return emitAssertEntry(node); - case 275 /* MissingDeclaration */: + case 276 /* MissingDeclaration */: return; // Module references - case 276 /* ExternalModuleReference */: + case 277 /* ExternalModuleReference */: return emitExternalModuleReference(node); // JSX (non-expression) case 11 /* JsxText */: return emitJsxText(node); - case 279 /* JsxOpeningElement */: - case 282 /* JsxOpeningFragment */: + case 280 /* JsxOpeningElement */: + case 283 /* JsxOpeningFragment */: return emitJsxOpeningElementOrFragment(node); - case 280 /* JsxClosingElement */: - case 283 /* JsxClosingFragment */: + case 281 /* JsxClosingElement */: + case 284 /* JsxClosingFragment */: return emitJsxClosingElementOrFragment(node); - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: return emitJsxAttribute(node); - case 285 /* JsxAttributes */: + case 286 /* JsxAttributes */: return emitJsxAttributes(node); - case 286 /* JsxSpreadAttribute */: + case 287 /* JsxSpreadAttribute */: return emitJsxSpreadAttribute(node); - case 287 /* JsxExpression */: + case 288 /* JsxExpression */: return emitJsxExpression(node); // Clauses - case 288 /* CaseClause */: + case 289 /* CaseClause */: return emitCaseClause(node); - case 289 /* DefaultClause */: + case 290 /* DefaultClause */: return emitDefaultClause(node); - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: return emitHeritageClause(node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return emitCatchClause(node); // Property assignments - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return emitPropertyAssignment(node); - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return emitShorthandPropertyAssignment(node); - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: return emitSpreadAssignment(node); // Enum - case 297 /* EnumMember */: + case 299 /* EnumMember */: return emitEnumMember(node); // Unparsed - case 298 /* UnparsedPrologue */: + case 300 /* UnparsedPrologue */: return writeUnparsedNode(node); - case 305 /* UnparsedSource */: - case 299 /* UnparsedPrepend */: + case 307 /* UnparsedSource */: + case 301 /* UnparsedPrepend */: return emitUnparsedSourceOrPrepend(node); - case 300 /* UnparsedText */: - case 301 /* UnparsedInternalText */: + case 302 /* UnparsedText */: + case 303 /* UnparsedInternalText */: return emitUnparsedTextLike(node); - case 302 /* UnparsedSyntheticReference */: + case 304 /* UnparsedSyntheticReference */: return emitUnparsedSyntheticReference(node); // Top-level nodes - case 303 /* SourceFile */: + case 305 /* SourceFile */: return emitSourceFile(node); - case 304 /* Bundle */: + case 306 /* Bundle */: return ts.Debug.fail("Bundles should be printed using printBundle"); // SyntaxKind.UnparsedSource (handled above) - case 306 /* InputFiles */: + case 308 /* InputFiles */: return ts.Debug.fail("InputFiles should not be printed"); // JSDoc nodes (only used in codefixes currently) - case 307 /* JSDocTypeExpression */: + case 309 /* JSDocTypeExpression */: return emitJSDocTypeExpression(node); - case 308 /* JSDocNameReference */: + case 310 /* JSDocNameReference */: return emitJSDocNameReference(node); - case 310 /* JSDocAllType */: + case 312 /* JSDocAllType */: return writePunctuation("*"); - case 311 /* JSDocUnknownType */: + case 313 /* JSDocUnknownType */: return writePunctuation("?"); - case 312 /* JSDocNullableType */: + case 314 /* JSDocNullableType */: return emitJSDocNullableType(node); - case 313 /* JSDocNonNullableType */: + case 315 /* JSDocNonNullableType */: return emitJSDocNonNullableType(node); - case 314 /* JSDocOptionalType */: + case 316 /* JSDocOptionalType */: return emitJSDocOptionalType(node); - case 315 /* JSDocFunctionType */: + case 317 /* JSDocFunctionType */: return emitJSDocFunctionType(node); - case 185 /* RestType */: - case 316 /* JSDocVariadicType */: + case 186 /* RestType */: + case 318 /* JSDocVariadicType */: return emitRestOrJSDocVariadicType(node); - case 317 /* JSDocNamepathType */: + case 319 /* JSDocNamepathType */: return; - case 318 /* JSDocComment */: + case 320 /* JSDoc */: return emitJSDoc(node); - case 320 /* JSDocTypeLiteral */: + case 322 /* JSDocTypeLiteral */: return emitJSDocTypeLiteral(node); - case 321 /* JSDocSignature */: + case 323 /* JSDocSignature */: return emitJSDocSignature(node); - case 325 /* JSDocTag */: - case 330 /* JSDocClassTag */: - case 335 /* JSDocOverrideTag */: + case 327 /* JSDocTag */: + case 332 /* JSDocClassTag */: + case 337 /* JSDocOverrideTag */: return emitJSDocSimpleTag(node); - case 326 /* JSDocAugmentsTag */: - case 327 /* JSDocImplementsTag */: + case 328 /* JSDocAugmentsTag */: + case 329 /* JSDocImplementsTag */: return emitJSDocHeritageTag(node); - case 328 /* JSDocAuthorTag */: - case 329 /* JSDocDeprecatedTag */: + case 330 /* JSDocAuthorTag */: + case 331 /* JSDocDeprecatedTag */: return; // SyntaxKind.JSDocClassTag (see JSDocTag, above) - case 331 /* JSDocPublicTag */: - case 332 /* JSDocPrivateTag */: - case 333 /* JSDocProtectedTag */: - case 334 /* JSDocReadonlyTag */: + case 333 /* JSDocPublicTag */: + case 334 /* JSDocPrivateTag */: + case 335 /* JSDocProtectedTag */: + case 336 /* JSDocReadonlyTag */: return; - case 336 /* JSDocCallbackTag */: + case 338 /* JSDocCallbackTag */: return emitJSDocCallbackTag(node); // SyntaxKind.JSDocEnumTag (see below) - case 338 /* JSDocParameterTag */: - case 345 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: + case 347 /* JSDocPropertyTag */: return emitJSDocPropertyLikeTag(node); - case 337 /* JSDocEnumTag */: - case 339 /* JSDocReturnTag */: - case 340 /* JSDocThisTag */: - case 341 /* JSDocTypeTag */: + case 339 /* JSDocEnumTag */: + case 341 /* JSDocReturnTag */: + case 342 /* JSDocThisTag */: + case 343 /* JSDocTypeTag */: return emitJSDocSimpleTypedTag(node); - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: return emitJSDocTemplateTag(node); - case 343 /* JSDocTypedefTag */: + case 345 /* JSDocTypedefTag */: return emitJSDocTypedefTag(node); - case 344 /* JSDocSeeTag */: + case 346 /* JSDocSeeTag */: return emitJSDocSeeTag(node); // SyntaxKind.JSDocPropertyTag (see JSDocParameterTag, above) // Transformation nodes - case 347 /* NotEmittedStatement */: - case 351 /* EndOfDeclarationMarker */: - case 350 /* MergeDeclarationMarker */: + case 349 /* NotEmittedStatement */: + case 353 /* EndOfDeclarationMarker */: + case 352 /* MergeDeclarationMarker */: return; } if (ts.isExpression(node)) { @@ -109712,83 +111065,85 @@ var ts; case 80 /* PrivateIdentifier */: return emitPrivateIdentifier(node); // Expressions - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return emitArrayLiteralExpression(node); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return emitObjectLiteralExpression(node); - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return emitPropertyAccessExpression(node); - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return emitElementAccessExpression(node); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return emitCallExpression(node); - case 208 /* NewExpression */: + case 209 /* NewExpression */: return emitNewExpression(node); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return emitTaggedTemplateExpression(node); - case 210 /* TypeAssertionExpression */: + case 211 /* TypeAssertionExpression */: return emitTypeAssertionExpression(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return emitParenthesizedExpression(node); - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: return emitFunctionExpression(node); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return emitArrowFunction(node); - case 214 /* DeleteExpression */: + case 215 /* DeleteExpression */: return emitDeleteExpression(node); - case 215 /* TypeOfExpression */: + case 216 /* TypeOfExpression */: return emitTypeOfExpression(node); - case 216 /* VoidExpression */: + case 217 /* VoidExpression */: return emitVoidExpression(node); - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: return emitAwaitExpression(node); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return emitPrefixUnaryExpression(node); - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: return emitPostfixUnaryExpression(node); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return emitBinaryExpression(node); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return emitConditionalExpression(node); - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: return emitTemplateExpression(node); - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: return emitYieldExpression(node); - case 224 /* SpreadElement */: + case 225 /* SpreadElement */: return emitSpreadElement(node); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: return emitClassExpression(node); - case 226 /* OmittedExpression */: + case 227 /* OmittedExpression */: return; - case 228 /* AsExpression */: + case 229 /* AsExpression */: return emitAsExpression(node); - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: return emitNonNullExpression(node); - case 230 /* MetaProperty */: + case 228 /* ExpressionWithTypeArguments */: + return emitExpressionWithTypeArguments(node); + case 231 /* MetaProperty */: return emitMetaProperty(node); - case 231 /* SyntheticExpression */: + case 232 /* SyntheticExpression */: return ts.Debug.fail("SyntheticExpression should never be printed."); // JSX - case 277 /* JsxElement */: + case 278 /* JsxElement */: return emitJsxElement(node); - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: return emitJsxSelfClosingElement(node); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: return emitJsxFragment(node); // Synthesized list - case 346 /* SyntaxList */: + case 348 /* SyntaxList */: return ts.Debug.fail("SyntaxList should not be printed"); // Transformation nodes - case 347 /* NotEmittedStatement */: + case 349 /* NotEmittedStatement */: return; - case 348 /* PartiallyEmittedExpression */: + case 350 /* PartiallyEmittedExpression */: return emitPartiallyEmittedExpression(node); - case 349 /* CommaListExpression */: + case 351 /* CommaListExpression */: return emitCommaList(node); - case 350 /* MergeDeclarationMarker */: - case 351 /* EndOfDeclarationMarker */: + case 352 /* MergeDeclarationMarker */: + case 353 /* EndOfDeclarationMarker */: return; - case 352 /* SyntheticReferenceExpression */: + case 354 /* SyntheticReferenceExpression */: return ts.Debug.fail("SyntheticReferenceExpression should not be printed"); } } @@ -109796,7 +111151,7 @@ var ts; return writeTokenNode(node, writeKeyword); if (ts.isTokenKind(node.kind)) return writeTokenNode(node, writePunctuation); - ts.Debug.fail("Unhandled SyntaxKind: ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); + ts.Debug.fail("Unhandled SyntaxKind: " + ts.Debug.formatSyntaxKind(node.kind) + "."); } function emitMappedTypeParameter(node) { emit(node.name); @@ -109836,7 +111191,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 304 /* Bundle */ ? node : undefined; + var bundle = node.kind === 306 /* Bundle */ ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -109936,7 +111291,7 @@ var ts; var pos = getTextPosWithWriteLine(); writeUnparsedNode(unparsed); if (bundleFileInfo) { - updateOrPushBundleFileTextLike(pos, writer.getTextPos(), unparsed.kind === 300 /* UnparsedText */ ? + updateOrPushBundleFileTextLike(pos, writer.getTextPos(), unparsed.kind === 302 /* UnparsedText */ ? "text" /* Text */ : "internal" /* Internal */); } @@ -109966,16 +111321,16 @@ var ts; } } function emitPlaceholder(hint, node, snippet) { - nonEscapingWrite("${".concat(snippet.order, ":")); // `${2:` + nonEscapingWrite("${" + snippet.order + ":"); // `${2:` pipelineEmitWithHintWorker(hint, node, /*allowSnippets*/ false); // `...` nonEscapingWrite("}"); // `}` // `${2:...}` } function emitTabStop(hint, node, snippet) { // A tab stop should only be attached to an empty node, i.e. a node that doesn't emit any text. - ts.Debug.assert(node.kind === 235 /* EmptyStatement */, "A tab stop cannot be attached to a node of kind ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); + ts.Debug.assert(node.kind === 236 /* EmptyStatement */, "A tab stop cannot be attached to a node of kind " + ts.Debug.formatSyntaxKind(node.kind) + "."); ts.Debug.assert(hint !== 5 /* EmbeddedStatement */, "A tab stop cannot be attached to an embedded statement."); - nonEscapingWrite("$".concat(snippet.order)); + nonEscapingWrite("$" + snippet.order); } // // Identifiers @@ -110014,6 +111369,7 @@ var ts; // Signature elements // function emitTypeParameter(node) { + emitModifiers(node, node.modifiers); emit(node.name); if (node.constraint) { writeSpace(); @@ -110034,7 +111390,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 315 /* JSDocFunctionType */ && !node.name) { + if (node.parent && node.parent.kind === 317 /* JSDocFunctionType */ && !node.name) { emit(node.type); } else { @@ -110102,7 +111458,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 171 /* GetAccessor */ ? "get" : "set"); + writeKeyword(node.kind === 172 /* GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -110208,6 +111564,7 @@ var ts; writeKeyword("typeof"); writeSpace(); emit(node.exprName); + emitTypeArguments(node, node.typeArguments); } function emitTypeLiteral(node) { writePunctuation("{"); @@ -110216,7 +111573,7 @@ var ts; writePunctuation("}"); } function emitArrayType(node) { - emit(node.elementType, parenthesizer.parenthesizeElementTypeOfArrayType); + emit(node.elementType, parenthesizer.parenthesizeNonArrayTypeOfPostfixType); writePunctuation("["); writePunctuation("]"); } @@ -110227,7 +111584,7 @@ var ts; function emitTupleType(node) { emitTokenWithComment(22 /* OpenBracketToken */, node.pos, writePunctuation, node); var flags = ts.getEmitFlags(node) & 1 /* SingleLine */ ? 528 /* SingleLineTupleTypeElements */ : 657 /* MultiLineTupleTypeElements */; - emitList(node, node.elements, flags | 524288 /* NoSpaceIfEmpty */); + emitList(node, node.elements, flags | 524288 /* NoSpaceIfEmpty */, parenthesizer.parenthesizeElementTypeOfTupleType); emitTokenWithComment(23 /* CloseBracketToken */, node.elements.end, writePunctuation, node); } function emitNamedTupleMember(node) { @@ -110239,21 +111596,21 @@ var ts; emit(node.type); } function emitOptionalType(node) { - emit(node.type, parenthesizer.parenthesizeElementTypeOfArrayType); + emit(node.type, parenthesizer.parenthesizeTypeOfOptionalType); writePunctuation("?"); } function emitUnionType(node) { - emitList(node, node.types, 516 /* UnionTypeConstituents */, parenthesizer.parenthesizeMemberOfElementType); + emitList(node, node.types, 516 /* UnionTypeConstituents */, parenthesizer.parenthesizeConstituentTypeOfUnionType); } function emitIntersectionType(node) { - emitList(node, node.types, 520 /* IntersectionTypeConstituents */, parenthesizer.parenthesizeMemberOfElementType); + emitList(node, node.types, 520 /* IntersectionTypeConstituents */, parenthesizer.parenthesizeConstituentTypeOfIntersectionType); } function emitConditionalType(node) { - emit(node.checkType, parenthesizer.parenthesizeMemberOfConditionalType); + emit(node.checkType, parenthesizer.parenthesizeCheckTypeOfConditionalType); writeSpace(); writeKeyword("extends"); writeSpace(); - emit(node.extendsType, parenthesizer.parenthesizeMemberOfConditionalType); + emit(node.extendsType, parenthesizer.parenthesizeExtendsTypeOfConditionalType); writeSpace(); writePunctuation("?"); writeSpace(); @@ -110279,10 +111636,13 @@ var ts; function emitTypeOperator(node) { writeTokenText(node.operator, writeKeyword); writeSpace(); - emit(node.type, parenthesizer.parenthesizeMemberOfElementType); + var parenthesizerRule = node.operator === 145 /* ReadonlyKeyword */ ? + parenthesizer.parenthesizeOperandOfReadonlyTypeOperator : + parenthesizer.parenthesizeOperandOfTypeOperator; + emit(node.type, parenthesizerRule); } function emitIndexedAccessType(node) { - emit(node.objectType, parenthesizer.parenthesizeMemberOfElementType); + emit(node.objectType, parenthesizer.parenthesizeNonArrayTypeOfPostfixType); writePunctuation("["); emit(node.indexType); writePunctuation("]"); @@ -110299,7 +111659,7 @@ var ts; } if (node.readonlyToken) { emit(node.readonlyToken); - if (node.readonlyToken.kind !== 144 /* ReadonlyKeyword */) { + if (node.readonlyToken.kind !== 145 /* ReadonlyKeyword */) { writeKeyword("readonly"); } writeSpace(); @@ -110330,6 +111690,7 @@ var ts; writeLine(); decreaseIndent(); } + emitList(node, node.members, 2 /* PreserveLines */); writePunctuation("}"); } function emitLiteralType(node) { @@ -110347,6 +111708,19 @@ var ts; writeKeyword("import"); writePunctuation("("); emit(node.argument); + if (node.assertions) { + writePunctuation(","); + writeSpace(); + writePunctuation("{"); + writeSpace(); + writeKeyword("assert"); + writePunctuation(":"); + writeSpace(); + var elements = node.assertions.assertClause.elements; + emitList(node.assertions.assertClause, elements, 526226 /* ImportClauseEntries */); + writeSpace(); + writePunctuation("}"); + } writePunctuation(")"); if (node.qualifier) { writePunctuation("."); @@ -110557,7 +111931,7 @@ var ts; // expression a prefix increment whose operand is a plus expression - (++(+x)) // The same is true of minus of course. var operand = node.operand; - return operand.kind === 218 /* PrefixUnaryExpression */ + return operand.kind === 219 /* PrefixUnaryExpression */ && ((node.operator === 39 /* PlusToken */ && (operand.operator === 39 /* PlusToken */ || operand.operator === 45 /* PlusPlusToken */)) || (node.operator === 40 /* MinusToken */ && (operand.operator === 40 /* MinusToken */ || operand.operator === 46 /* MinusMinusToken */))); } @@ -110762,7 +112136,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node, node.thenStatement, node.elseStatement); emitTokenWithComment(91 /* ElseKeyword */, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 238 /* IfStatement */) { + if (node.elseStatement.kind === 239 /* IfStatement */) { writeSpace(); emit(node.elseStatement); } @@ -110825,7 +112199,7 @@ var ts; emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(159 /* OfKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(160 /* OfKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); @@ -110833,7 +112207,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 254 /* VariableDeclarationList */) { + if (node.kind === 255 /* VariableDeclarationList */) { emit(node); } else { @@ -110870,7 +112244,7 @@ var ts; } pos = writeTokenText(token, writer, pos); if (isSimilarNode && contextNode.end !== pos) { - var isJsxExprContext = contextNode.kind === 287 /* JsxExpression */; + var isJsxExprContext = contextNode.kind === 288 /* JsxExpression */; emitTrailingCommentsOfPosition(pos, /*prefixSpace*/ !isJsxExprContext, /*forceNoNewline*/ isJsxExprContext); } return pos; @@ -110971,10 +112345,11 @@ var ts; // Declarations // function emitVariableDeclaration(node) { + var _a, _b, _c, _d, _e; emit(node.name); emit(node.exclamationToken); emitTypeAnnotation(node.type); - emitInitializer(node.initializer, node.type ? node.type.end : node.name.end, node, parenthesizer.parenthesizeExpressionForDisallowedComma); + emitInitializer(node.initializer, (_e = (_b = (_a = node.type) === null || _a === void 0 ? void 0 : _a.end) !== null && _b !== void 0 ? _b : (_d = (_c = node.name.emitNode) === null || _c === void 0 ? void 0 : _c.typeNode) === null || _d === void 0 ? void 0 : _d.end) !== null && _e !== void 0 ? _e : node.name.end, node, parenthesizer.parenthesizeExpressionForDisallowedComma); } function emitVariableDeclarationList(node) { writeKeyword(ts.isLet(node) ? "let" : ts.isVarConst(node) ? "const" : "var"); @@ -111188,7 +112563,7 @@ var ts; emitTokenWithComment(100 /* ImportKeyword */, node.modifiers ? node.modifiers.end : node.pos, writeKeyword, node); writeSpace(); if (node.isTypeOnly) { - emitTokenWithComment(151 /* TypeKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(152 /* TypeKeyword */, node.pos, writeKeyword, node); writeSpace(); } emit(node.name); @@ -111213,7 +112588,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(155 /* FromKeyword */, node.importClause.end, writeKeyword, node); + emitTokenWithComment(156 /* FromKeyword */, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -111224,7 +112599,7 @@ var ts; } function emitImportClause(node) { if (node.isTypeOnly) { - emitTokenWithComment(151 /* TypeKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(152 /* TypeKeyword */, node.pos, writeKeyword, node); writeSpace(); } emit(node.name); @@ -111266,7 +112641,7 @@ var ts; var nextPos = emitTokenWithComment(93 /* ExportKeyword */, node.pos, writeKeyword, node); writeSpace(); if (node.isTypeOnly) { - nextPos = emitTokenWithComment(151 /* TypeKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(152 /* TypeKeyword */, nextPos, writeKeyword, node); writeSpace(); } if (node.exportClause) { @@ -111278,7 +112653,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(155 /* FromKeyword */, fromPos, writeKeyword, node); + emitTokenWithComment(156 /* FromKeyword */, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -111561,7 +112936,7 @@ var ts; } } if (node.tags) { - if (node.tags.length === 1 && node.tags[0].kind === 341 /* JSDocTypeTag */ && !node.comment) { + if (node.tags.length === 1 && node.tags[0].kind === 343 /* JSDocTypeTag */ && !node.comment) { writeSpace(); emit(node.tags[0]); } @@ -111606,7 +112981,7 @@ var ts; function emitJSDocTypedefTag(tag) { emitJSDocTagName(tag.tagName); if (tag.typeExpression) { - if (tag.typeExpression.kind === 307 /* JSDocTypeExpression */) { + if (tag.typeExpression.kind === 309 /* JSDocTypeExpression */) { emitJSDocTypeExpression(tag.typeExpression); } else { @@ -111625,7 +113000,7 @@ var ts; emit(tag.fullName); } emitJSDocComment(tag.comment); - if (tag.typeExpression && tag.typeExpression.kind === 320 /* JSDocTypeLiteral */) { + if (tag.typeExpression && tag.typeExpression.kind === 322 /* JSDocTypeLiteral */) { emitJSDocTypeLiteral(tag.typeExpression); } } @@ -111737,17 +113112,17 @@ var ts; writeLine(); } if (currentSourceFile && currentSourceFile.moduleName) { - writeComment("/// ")); + writeComment("/// "); writeLine(); } if (currentSourceFile && currentSourceFile.amdDependencies) { for (var _a = 0, _b = currentSourceFile.amdDependencies; _a < _b.length; _a++) { var dep = _b[_a]; if (dep.name) { - writeComment("/// ")); + writeComment("/// "); } else { - writeComment("/// ")); + writeComment("/// "); } writeLine(); } @@ -111755,7 +113130,7 @@ var ts; for (var _c = 0, files_2 = files; _c < files_2.length; _c++) { var directive = files_2[_c]; var pos = writer.getTextPos(); - writeComment("/// ")); + writeComment("/// "); if (bundleFileInfo) bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* Reference */, data: directive.fileName }); writeLine(); @@ -111763,15 +113138,18 @@ var ts; for (var _d = 0, types_24 = types; _d < types_24.length; _d++) { var directive = types_24[_d]; var pos = writer.getTextPos(); - writeComment("/// ")); + var resolutionMode = directive.resolutionMode && directive.resolutionMode !== (currentSourceFile === null || currentSourceFile === void 0 ? void 0 : currentSourceFile.impliedNodeFormat) + ? "resolution-mode=\"" + (directive.resolutionMode === ts.ModuleKind.ESNext ? "import" : "require") + "\"" + : ""; + writeComment("/// "); if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "type" /* Type */, data: directive.fileName }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: !directive.resolutionMode ? "type" /* Type */ : directive.resolutionMode === ts.ModuleKind.ESNext ? "type-import" /* TypeResolutionModeImport */ : "type-require" /* TypeResolutionModeRequire */, data: directive.fileName }); writeLine(); } for (var _e = 0, libs_1 = libs; _e < libs_1.length; _e++) { var directive = libs_1[_e]; var pos = writer.getTextPos(); - writeComment("/// ")); + writeComment("/// "); if (bundleFileInfo) bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "lib" /* Lib */, data: directive.fileName }); writeLine(); @@ -111998,7 +113376,7 @@ var ts; emitList(parentNode, decorators, 2146305 /* Decorators */); } function emitTypeArguments(parentNode, typeArguments) { - emitList(parentNode, typeArguments, 53776 /* TypeArguments */, parenthesizer.parenthesizeMemberOfElementType); + emitList(parentNode, typeArguments, 53776 /* TypeArguments */, typeArgumentParenthesizerRuleSelector); } function emitTypeParameters(parentNode, typeParameters) { if (ts.isFunctionLike(parentNode) && parentNode.typeArguments) { // Quick info uses type arguments in place of type parameters on instantiated signatures @@ -112117,6 +113495,7 @@ var ts; if (format & 128 /* Indented */) { increaseIndent(); } + var emitListItem = getEmitListItem(emit, parenthesizerRule); // Emit each child. var previousSibling = void 0; var previousSourceFileTextKind = void 0; @@ -112167,12 +113546,7 @@ var ts; shouldEmitInterveningComments = mayEmitInterveningComments; } nextListElementPos = child.pos; - if (emit.length === 1) { - emit(child); - } - else { - emit(child, parenthesizerRule); - } + emitListItem(child, emit, parenthesizerRule, i); if (shouldDecreaseIndentAfterEmit) { decreaseIndent(); shouldDecreaseIndentAfterEmit = false; @@ -112526,7 +113900,7 @@ var ts; && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); } function skipSynthesizedParentheses(node) { - while (node.kind === 211 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { + while (node.kind === 212 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -112551,9 +113925,9 @@ var ts; var textSourceNode = node.textSourceNode; if (ts.isIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) { var text = ts.isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode(textSourceNode); - return jsxAttributeEscape ? "\"".concat(ts.escapeJsxAttributeString(text), "\"") : - neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"".concat(ts.escapeString(text), "\"") : - "\"".concat(ts.escapeNonAsciiString(text), "\""); + return jsxAttributeEscape ? "\"" + ts.escapeJsxAttributeString(text) + "\"" : + neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"" + ts.escapeString(text) + "\"" : + "\"" + ts.escapeNonAsciiString(text) + "\""; } else { return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape); @@ -112596,84 +113970,84 @@ var ts; if (!node) return; switch (node.kind) { - case 234 /* Block */: + case 235 /* Block */: ts.forEach(node.statements, generateNames); break; - case 249 /* LabeledStatement */: - case 247 /* WithStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: + case 250 /* LabeledStatement */: + case 248 /* WithStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: generateNames(node.statement); break; - case 238 /* IfStatement */: + case 239 /* IfStatement */: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 241 /* ForStatement */: - case 243 /* ForOfStatement */: - case 242 /* ForInStatement */: + case 242 /* ForStatement */: + case 244 /* ForOfStatement */: + case 243 /* ForInStatement */: generateNames(node.initializer); generateNames(node.statement); break; - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: generateNames(node.caseBlock); break; - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: ts.forEach(node.clauses, generateNames); break; - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: ts.forEach(node.statements, generateNames); break; - case 251 /* TryStatement */: + case 252 /* TryStatement */: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 291 /* CatchClause */: + case 292 /* CatchClause */: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: generateNames(node.declarationList); break; - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: ts.forEach(node.declarations, generateNames); break; - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: - case 202 /* BindingElement */: - case 256 /* ClassDeclaration */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: + case 203 /* BindingElement */: + case 257 /* ClassDeclaration */: generateNameIfNeeded(node.name); break; - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: ts.forEach(node.elements, generateNames); break; - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: generateNames(node.importClause); break; - case 266 /* ImportClause */: + case 267 /* ImportClause */: generateNameIfNeeded(node.name); generateNames(node.namedBindings); break; - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: generateNameIfNeeded(node.name); break; - case 273 /* NamespaceExport */: + case 274 /* NamespaceExport */: generateNameIfNeeded(node.name); break; - case 268 /* NamedImports */: + case 269 /* NamedImports */: ts.forEach(node.elements, generateNames); break; - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -112682,12 +114056,12 @@ var ts; if (!node) return; switch (node.kind) { - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: generateNameIfNeeded(node.name); break; } @@ -112869,23 +114243,23 @@ var ts; switch (node.kind) { case 79 /* Identifier */: return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* Optimistic */), !!(flags & 8 /* ReservedInNestedScopes */)); - case 260 /* ModuleDeclaration */: - case 259 /* EnumDeclaration */: + case 261 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: return generateNameForModuleOrEnum(node); - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: return generateNameForImportOrExportDeclaration(node); - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 270 /* ExportAssignment */: + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 271 /* ExportAssignment */: return generateNameForExportDefault(); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: return generateNameForClassExpression(); - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return generateNameForMethodOrAccessor(node); - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return makeTempVariableName(0 /* Auto */, /*reserveInNestedScopes*/ true); default: return makeTempVariableName(0 /* Auto */); @@ -112953,6 +114327,10 @@ var ts; commentsDisabled = false; } emitTrailingCommentsOfNode(node, emitFlags, commentRange.pos, commentRange.end, savedContainerPos, savedContainerEnd, savedDeclarationListContainerEnd); + var typeNode = ts.getTypeNode(node); + if (typeNode) { + emitTrailingCommentsOfNode(node, emitFlags, typeNode.pos, typeNode.end, savedContainerPos, savedContainerEnd, savedDeclarationListContainerEnd); + } } function emitLeadingCommentsOfNode(node, emitFlags, pos, end) { enterComment(); @@ -112966,7 +114344,7 @@ var ts; // Emit leading comments if the position is not synthesized and the node // has not opted out from emitting leading comments. if (!skipLeadingComments) { - emitLeadingComments(pos, /*isEmittedNode*/ node.kind !== 347 /* NotEmittedStatement */); + emitLeadingComments(pos, /*isEmittedNode*/ node.kind !== 349 /* NotEmittedStatement */); } if (!skipLeadingComments || (pos >= 0 && (emitFlags & 512 /* NoLeadingComments */) !== 0)) { // Advance the container position if comments get emitted or if they've been disabled explicitly using NoLeadingComments. @@ -112977,7 +114355,7 @@ var ts; containerEnd = end; // To avoid invalid comment emit in a down-level binding pattern, we // keep track of the last declaration list container's end - if (node.kind === 254 /* VariableDeclarationList */) { + if (node.kind === 255 /* VariableDeclarationList */) { declarationListContainerEnd = end; } } @@ -112996,7 +114374,7 @@ var ts; declarationListContainerEnd = savedDeclarationListContainerEnd; // Emit trailing comments if the position is not synthesized and the node // has not opted out from emitting leading comments and is an emitted node. - if (!skipTrailingComments && node.kind !== 347 /* NotEmittedStatement */) { + if (!skipTrailingComments && node.kind !== 349 /* NotEmittedStatement */) { emitTrailingComments(end); } } @@ -113030,8 +114408,8 @@ var ts; } function formatSynthesizedComment(comment) { return comment.kind === 3 /* MultiLineCommentTrivia */ - ? "/*".concat(comment.text, "*/") - : "//".concat(comment.text); + ? "/*" + comment.text + "*/" + : "//" + comment.text; } function emitBodyWithDetachedComments(node, detachedRange, emitCallback) { enterComment(); @@ -113271,7 +114649,7 @@ var ts; } else { var source = sourceMapRange.source || sourceMapSource; - if (node.kind !== 347 /* NotEmittedStatement */ + if (node.kind !== 349 /* NotEmittedStatement */ && (emitFlags & 16 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) { emitSourcePos(sourceMapRange.source || sourceMapSource, skipSourceTrivia(source, sourceMapRange.pos)); @@ -113289,7 +114667,7 @@ var ts; if (emitFlags & 64 /* NoNestedSourceMaps */) { sourceMapsDisabled = false; } - if (node.kind !== 347 /* NotEmittedStatement */ + if (node.kind !== 349 /* NotEmittedStatement */ && (emitFlags & 32 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) { emitSourcePos(sourceMapRange.source || sourceMapSource, sourceMapRange.end); @@ -113409,6 +114787,20 @@ var ts; TempFlags[TempFlags["CountMask"] = 268435455] = "CountMask"; TempFlags[TempFlags["_i"] = 268435456] = "_i"; })(TempFlags || (TempFlags = {})); + function emitListItemNoParenthesizer(node, emit, _parenthesizerRule, _index) { + emit(node); + } + function emitListItemWithParenthesizerRuleSelector(node, emit, parenthesizerRuleSelector, index) { + emit(node, parenthesizerRuleSelector.select(index)); + } + function emitListItemWithParenthesizerRule(node, emit, parenthesizerRule, _index) { + emit(node, parenthesizerRule); + } + function getEmitListItem(emit, parenthesizerRule) { + return emit.length === 1 ? emitListItemNoParenthesizer : + typeof parenthesizerRule === "object" ? emitListItemWithParenthesizerRuleSelector : + emitListItemWithParenthesizerRule; + } })(ts || (ts = {})); /* @internal */ var ts; @@ -113752,7 +115144,7 @@ var ts; var watchedDirPath = _a.watchedDirPath, fileOrDirectory = _a.fileOrDirectory, fileOrDirectoryPath = _a.fileOrDirectoryPath, configFileName = _a.configFileName, options = _a.options, program = _a.program, extraFileExtensions = _a.extraFileExtensions, currentDirectory = _a.currentDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, writeLog = _a.writeLog, toPath = _a.toPath; var newPath = ts.removeIgnoredPath(fileOrDirectoryPath); if (!newPath) { - writeLog("Project: ".concat(configFileName, " Detected ignored path: ").concat(fileOrDirectory)); + writeLog("Project: " + configFileName + " Detected ignored path: " + fileOrDirectory); return true; } fileOrDirectoryPath = newPath; @@ -113761,11 +115153,11 @@ var ts; // If the the added or created file or directory is not supported file name, ignore the file // But when watched directory is added/removed, we need to reload the file list if (ts.hasExtension(fileOrDirectoryPath) && !ts.isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) { - writeLog("Project: ".concat(configFileName, " Detected file add/remove of non supported extension: ").concat(fileOrDirectory)); + writeLog("Project: " + configFileName + " Detected file add/remove of non supported extension: " + fileOrDirectory); return true; } if (ts.isExcludedFile(fileOrDirectory, options.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), useCaseSensitiveFileNames, currentDirectory)) { - writeLog("Project: ".concat(configFileName, " Detected excluded file: ").concat(fileOrDirectory)); + writeLog("Project: " + configFileName + " Detected excluded file: " + fileOrDirectory); return true; } if (!program) @@ -113789,7 +115181,7 @@ var ts; var builderProgram = !realProgram && !ts.isArray(program) ? program : undefined; if (hasSourceFile((filePathWithoutExtension + ".ts" /* Ts */)) || hasSourceFile((filePathWithoutExtension + ".tsx" /* Tsx */))) { - writeLog("Project: ".concat(configFileName, " Detected output file: ").concat(fileOrDirectory)); + writeLog("Project: " + configFileName + " Detected output file: " + fileOrDirectory); return true; } return false; @@ -113857,36 +115249,36 @@ var ts; host.useCaseSensitiveFileNames(); } function createExcludeWatcherWithLogging(file, flags, options, detailInfo1, detailInfo2) { - log("ExcludeWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); + log("ExcludeWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); return { - close: function () { return log("ExcludeWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); } + close: function () { return log("ExcludeWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); } }; } function createFileWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) { - log("FileWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); + log("FileWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); var watcher = triggerInvokingFactory.watchFile(file, cb, flags, options, detailInfo1, detailInfo2); return { close: function () { - log("FileWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); + log("FileWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); watcher.close(); } }; } function createDirectoryWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) { - var watchInfo = "DirectoryWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + var watchInfo = "DirectoryWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); log(watchInfo); var start = ts.timestamp(); var watcher = triggerInvokingFactory.watchDirectory(file, cb, flags, options, detailInfo1, detailInfo2); var elapsed = ts.timestamp() - start; - log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo)); + log("Elapsed:: " + elapsed + "ms " + watchInfo); return { close: function () { - var watchInfo = "DirectoryWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + var watchInfo = "DirectoryWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); log(watchInfo); var start = ts.timestamp(); watcher.close(); var elapsed = ts.timestamp() - start; - log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo)); + log("Elapsed:: " + elapsed + "ms " + watchInfo); } }; } @@ -113896,16 +115288,16 @@ var ts; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } - var triggerredInfo = "".concat(key === "watchFile" ? "FileWatcher" : "DirectoryWatcher", ":: Triggered with ").concat(args[0], " ").concat(args[1] !== undefined ? args[1] : "", ":: ").concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + var triggerredInfo = (key === "watchFile" ? "FileWatcher" : "DirectoryWatcher") + ":: Triggered with " + args[0] + " " + (args[1] !== undefined ? args[1] : "") + ":: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); log(triggerredInfo); var start = ts.timestamp(); cb.call.apply(cb, __spreadArray([/*thisArg*/ undefined], args, false)); var elapsed = ts.timestamp() - start; - log("Elapsed:: ".concat(elapsed, "ms ").concat(triggerredInfo)); + log("Elapsed:: " + elapsed + "ms " + triggerredInfo); }, flags, options, detailInfo1, detailInfo2); }; } function getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo) { - return "WatchInfo: ".concat(file, " ").concat(flags, " ").concat(JSON.stringify(options), " ").concat(getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : "".concat(detailInfo1, " ").concat(detailInfo2)); + return "WatchInfo: " + file + " " + flags + " " + JSON.stringify(options) + " " + (getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : detailInfo1 + " " + detailInfo2); } } ts.getWatchFactory = getWatchFactory; @@ -113989,7 +115381,7 @@ var ts; var existingDirectories = new ts.Map(); var getCanonicalFileName = ts.createGetCanonicalFileName(system.useCaseSensitiveFileNames); var computeHash = ts.maybeBind(system, system.createHash) || ts.generateDjb2Hash; - function getSourceFile(fileName, languageVersion, onError) { + function getSourceFile(fileName, languageVersionOrOptions, onError) { var text; try { ts.performance.mark("beforeIORead"); @@ -114003,7 +115395,7 @@ var ts; } text = ""; } - return text !== undefined ? ts.createSourceFile(fileName, text, languageVersion, setParentNodes) : undefined; + return text !== undefined ? ts.createSourceFile(fileName, text, languageVersionOrOptions, setParentNodes) : undefined; } function directoryExists(directoryPath) { if (existingDirectories.has(directoryPath)) { @@ -114212,12 +115604,12 @@ var ts; } ts.formatDiagnostics = formatDiagnostics; function formatDiagnostic(diagnostic, host) { - var errorMessage = "".concat(ts.diagnosticCategoryName(diagnostic), " TS").concat(diagnostic.code, ": ").concat(flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine())).concat(host.getNewLine()); + var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); if (diagnostic.file) { var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217 var fileName = diagnostic.file.fileName; var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - return "".concat(relativeFileName, "(").concat(line + 1, ",").concat(character + 1, "): ") + errorMessage; + return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage; } return errorMessage; } @@ -114305,9 +115697,9 @@ var ts; var output = ""; output += color(relativeFileName, ForegroundColorEscapeSequences.Cyan); output += ":"; - output += color("".concat(firstLine + 1), ForegroundColorEscapeSequences.Yellow); + output += color("" + (firstLine + 1), ForegroundColorEscapeSequences.Yellow); output += ":"; - output += color("".concat(firstLineChar + 1), ForegroundColorEscapeSequences.Yellow); + output += color("" + (firstLineChar + 1), ForegroundColorEscapeSequences.Yellow); return output; } ts.formatLocation = formatLocation; @@ -114321,7 +115713,7 @@ var ts; output += " - "; } output += formatColorAndReset(ts.diagnosticCategoryName(diagnostic), getCategoryFormat(diagnostic.category)); - output += formatColorAndReset(" TS".concat(diagnostic.code, ": "), ForegroundColorEscapeSequences.Grey); + output += formatColorAndReset(" TS" + diagnostic.code + ": ", ForegroundColorEscapeSequences.Grey); output += flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()); if (diagnostic.file) { output += host.getNewLine(); @@ -114372,7 +115764,7 @@ var ts; } ts.flattenDiagnosticMessageText = flattenDiagnosticMessageText; /* @internal */ - function loadWithLocalCache(names, containingFile, redirectedReference, loader) { + function loadWithTypeDirectiveCache(names, containingFile, redirectedReference, containingFileMode, loader) { if (names.length === 0) { return []; } @@ -114381,19 +115773,28 @@ var ts; for (var _i = 0, names_2 = names; _i < names_2.length; _i++) { var name = names_2[_i]; var result = void 0; - if (cache.has(name)) { - result = cache.get(name); + var mode = getModeForFileReference(name, containingFileMode); + // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. + var strName = ts.isString(name) ? name : name.fileName.toLowerCase(); + var cacheKey = mode !== undefined ? mode + "|" + strName : strName; + if (cache.has(cacheKey)) { + result = cache.get(cacheKey); } else { - cache.set(name, result = loader(name, containingFile, redirectedReference)); + cache.set(cacheKey, result = loader(strName, containingFile, redirectedReference, mode)); } resolutions.push(result); } return resolutions; } - ts.loadWithLocalCache = loadWithLocalCache; + ts.loadWithTypeDirectiveCache = loadWithTypeDirectiveCache; ; /* @internal */ + function getModeForFileReference(ref, containingFileMode) { + return (ts.isString(ref) ? containingFileMode : ref.resolutionMode) || containingFileMode; + } + ts.getModeForFileReference = getModeForFileReference; + /* @internal */ function getModeForResolutionAtIndex(file, index) { if (file.impliedNodeFormat === undefined) return undefined; @@ -114403,21 +115804,72 @@ var ts; } ts.getModeForResolutionAtIndex = getModeForResolutionAtIndex; /* @internal */ - function getModeForUsageLocation(file, usage) { + function isExclusivelyTypeOnlyImportOrExport(decl) { var _a; + if (ts.isExportDeclaration(decl)) { + return decl.isTypeOnly; + } + if ((_a = decl.importClause) === null || _a === void 0 ? void 0 : _a.isTypeOnly) { + return true; + } + return false; + } + ts.isExclusivelyTypeOnlyImportOrExport = isExclusivelyTypeOnlyImportOrExport; + /* @internal */ + function getModeForUsageLocation(file, usage) { + var _a, _b; if (file.impliedNodeFormat === undefined) return undefined; + if ((ts.isImportDeclaration(usage.parent) || ts.isExportDeclaration(usage.parent))) { + var isTypeOnly = isExclusivelyTypeOnlyImportOrExport(usage.parent); + if (isTypeOnly) { + var override = getResolutionModeOverrideForClause(usage.parent.assertClause); + if (override) { + return override; + } + } + } + if (usage.parent.parent && ts.isImportTypeNode(usage.parent.parent)) { + var override = getResolutionModeOverrideForClause((_a = usage.parent.parent.assertions) === null || _a === void 0 ? void 0 : _a.assertClause); + if (override) { + return override; + } + } if (file.impliedNodeFormat !== ts.ModuleKind.ESNext) { // in cjs files, import call expressions are esm format, otherwise everything is cjs return ts.isImportCall(ts.walkUpParenthesizedExpressions(usage.parent)) ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; } // in esm files, import=require statements are cjs format, otherwise everything is esm // imports are only parent'd up to their containing declaration/expression, so access farther parents with care - var exprParentParent = (_a = ts.walkUpParenthesizedExpressions(usage.parent)) === null || _a === void 0 ? void 0 : _a.parent; + var exprParentParent = (_b = ts.walkUpParenthesizedExpressions(usage.parent)) === null || _b === void 0 ? void 0 : _b.parent; return exprParentParent && ts.isImportEqualsDeclaration(exprParentParent) ? ts.ModuleKind.CommonJS : ts.ModuleKind.ESNext; } ts.getModeForUsageLocation = getModeForUsageLocation; /* @internal */ + function getResolutionModeOverrideForClause(clause, grammarErrorOnNode) { + if (!clause) + return undefined; + if (ts.length(clause.elements) !== 1) { + grammarErrorOnNode === null || grammarErrorOnNode === void 0 ? void 0 : grammarErrorOnNode(clause, ts.Diagnostics.Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require); + return undefined; + } + var elem = clause.elements[0]; + if (!ts.isStringLiteralLike(elem.name)) + return undefined; + if (elem.name.text !== "resolution-mode") { + grammarErrorOnNode === null || grammarErrorOnNode === void 0 ? void 0 : grammarErrorOnNode(elem.name, ts.Diagnostics.resolution_mode_is_the_only_valid_key_for_type_import_assertions); + return undefined; + } + if (!ts.isStringLiteralLike(elem.value)) + return undefined; + if (elem.value.text !== "import" && elem.value.text !== "require") { + grammarErrorOnNode === null || grammarErrorOnNode === void 0 ? void 0 : grammarErrorOnNode(elem.value, ts.Diagnostics.resolution_mode_should_be_either_require_or_import); + return undefined; + } + return elem.value.text === "import" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + } + ts.getResolutionModeOverrideForClause = getResolutionModeOverrideForClause; + /* @internal */ function loadWithModeAwareCache(names, containingFile, containingFileName, redirectedReference, loader) { if (names.length === 0) { return []; @@ -114430,7 +115882,7 @@ var ts; var result = void 0; var mode = getModeForResolutionAtIndex(containingFile, i); i++; - var cacheKey = mode !== undefined ? "".concat(mode, "|").concat(name) : name; + var cacheKey = mode !== undefined ? mode + "|" + name : name; if (cache.has(cacheKey)) { result = cache.get(cacheKey); } @@ -114496,7 +115948,7 @@ var ts; var _d, _e, _f, _g; var file = ts.Debug.checkDefined(getSourceFileByPath(ref.file)); var kind = ref.kind, index = ref.index; - var pos, end, packageId; + var pos, end, packageId, resolutionMode; switch (kind) { case ts.FileIncludeKind.Import: var importLiteral = getModuleNameStringLiteralAt(file, index); @@ -114510,8 +115962,8 @@ var ts; (_a = file.referencedFiles[index], pos = _a.pos, end = _a.end); break; case ts.FileIncludeKind.TypeReferenceDirective: - (_b = file.typeReferenceDirectives[index], pos = _b.pos, end = _b.end); - packageId = (_g = (_f = file.resolvedTypeReferenceDirectiveNames) === null || _f === void 0 ? void 0 : _f.get(ts.toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), file.impliedNodeFormat)) === null || _g === void 0 ? void 0 : _g.packageId; + (_b = file.typeReferenceDirectives[index], pos = _b.pos, end = _b.end, resolutionMode = _b.resolutionMode); + packageId = (_g = (_f = file.resolvedTypeReferenceDirectiveNames) === null || _f === void 0 ? void 0 : _f.get(ts.toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), resolutionMode || file.impliedNodeFormat)) === null || _g === void 0 ? void 0 : _g.packageId; break; case ts.FileIncludeKind.LibReferenceDirective: (_c = file.libReferenceDirectives[index], pos = _c.pos, end = _c.end); @@ -114748,14 +116200,13 @@ var ts; var files; var symlinks; var commonSourceDirectory; - var diagnosticsProducingTypeChecker; - var noDiagnosticsTypeChecker; + var typeChecker; var classifiableNames; var ambientModuleNameToUnmodifiedFileName = new ts.Map(); var fileReasons = ts.createMultiMap(); var cachedBindAndCheckDiagnosticsForFile = {}; var cachedDeclarationDiagnosticsForFile = {}; - var resolvedTypeReferenceDirectives = new ts.Map(); + var resolvedTypeReferenceDirectives = ts.createModeAwareCache(); var fileProcessingDiagnostics; // The below settings are to track if a .js file should be add to the program if loaded via searching under node_modules. // This works as imported modules are discovered recursively in a depth first manner, specifically: @@ -114808,12 +116259,12 @@ var ts; } var actualResolveTypeReferenceDirectiveNamesWorker; if (host.resolveTypeReferenceDirectives) { - actualResolveTypeReferenceDirectiveNamesWorker = function (typeDirectiveNames, containingFile, redirectedReference) { return host.resolveTypeReferenceDirectives(ts.Debug.checkEachDefined(typeDirectiveNames), containingFile, redirectedReference, options); }; + actualResolveTypeReferenceDirectiveNamesWorker = function (typeDirectiveNames, containingFile, redirectedReference, containingFileMode) { return host.resolveTypeReferenceDirectives(ts.Debug.checkEachDefined(typeDirectiveNames), containingFile, redirectedReference, options, containingFileMode); }; } else { typeReferenceDirectiveResolutionCache = ts.createTypeReferenceDirectiveResolutionCache(currentDirectory, getCanonicalFileName, /*options*/ undefined, moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache()); - var loader_2 = function (typesRef, containingFile, redirectedReference) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host, redirectedReference, typeReferenceDirectiveResolutionCache).resolvedTypeReferenceDirective; }; // TODO: GH#18217 - actualResolveTypeReferenceDirectiveNamesWorker = function (typeReferenceDirectiveNames, containingFile, redirectedReference) { return loadWithLocalCache(ts.Debug.checkEachDefined(typeReferenceDirectiveNames), containingFile, redirectedReference, loader_2); }; + var loader_2 = function (typesRef, containingFile, redirectedReference, resolutionMode) { return ts.resolveTypeReferenceDirective(typesRef, containingFile, options, host, redirectedReference, typeReferenceDirectiveResolutionCache, resolutionMode).resolvedTypeReferenceDirective; }; // TODO: GH#18217 + actualResolveTypeReferenceDirectiveNamesWorker = function (typeReferenceDirectiveNames, containingFile, redirectedReference, containingFileMode) { return loadWithTypeDirectiveCache(ts.Debug.checkEachDefined(typeReferenceDirectiveNames), containingFile, redirectedReference, containingFileMode, loader_2); }; } // Map from a stringified PackageId to the source file with that id. // Only one source file may have a given packageId. Others become redirects (see createRedirectSourceFile). @@ -114910,7 +116361,8 @@ var ts; var containingFilename = ts.combinePaths(containingDirectory, ts.inferredTypesContainingFile); var resolutions = resolveTypeReferenceDirectiveNamesWorker(typeReferences, containingFilename); for (var i = 0; i < typeReferences.length; i++) { - processTypeReferenceDirective(typeReferences[i], resolutions[i], { kind: ts.FileIncludeKind.AutomaticTypeDirectiveFile, typeReference: typeReferences[i], packageId: (_c = resolutions[i]) === null || _c === void 0 ? void 0 : _c.packageId }); + // under node12/nodenext module resolution, load `types`/ata include names as cjs resolution results by passing an `undefined` mode + processTypeReferenceDirective(typeReferences[i], /*mode*/ undefined, resolutions[i], { kind: ts.FileIncludeKind.AutomaticTypeDirectiveFile, typeReference: typeReferences[i], packageId: (_c = resolutions[i]) === null || _c === void 0 ? void 0 : _c.packageId }); } ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } @@ -114994,21 +116446,19 @@ var ts; getProgramDiagnostics: getProgramDiagnostics, getTypeChecker: getTypeChecker, getClassifiableNames: getClassifiableNames, - getDiagnosticsProducingTypeChecker: getDiagnosticsProducingTypeChecker, getCommonSourceDirectory: getCommonSourceDirectory, emit: emit, getCurrentDirectory: function () { return currentDirectory; }, - getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); }, - getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); }, - getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); }, - getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); }, - getInstantiationCount: function () { return getDiagnosticsProducingTypeChecker().getInstantiationCount(); }, - getRelationCacheSizes: function () { return getDiagnosticsProducingTypeChecker().getRelationCacheSizes(); }, + getNodeCount: function () { return getTypeChecker().getNodeCount(); }, + getIdentifierCount: function () { return getTypeChecker().getIdentifierCount(); }, + getSymbolCount: function () { return getTypeChecker().getSymbolCount(); }, + getTypeCount: function () { return getTypeChecker().getTypeCount(); }, + getInstantiationCount: function () { return getTypeChecker().getInstantiationCount(); }, + getRelationCacheSizes: function () { return getTypeChecker().getRelationCacheSizes(); }, getFileProcessingDiagnostics: function () { return fileProcessingDiagnostics; }, getResolvedTypeReferenceDirectives: function () { return resolvedTypeReferenceDirectives; }, isSourceFileFromExternalLibrary: isSourceFileFromExternalLibrary, isSourceFileDefaultLibrary: isSourceFileDefaultLibrary, - dropDiagnosticsProducingTypeChecker: dropDiagnosticsProducingTypeChecker, getSourceFileFromReference: getSourceFileFromReference, getLibFileFromReference: getLibFileFromReference, sourceFileToPackageName: sourceFileToPackageName, @@ -115070,9 +116520,10 @@ var ts; return []; var containingFileName = !ts.isString(containingFile) ? ts.getNormalizedAbsolutePath(containingFile.originalFileName, currentDirectory) : containingFile; var redirectedReference = !ts.isString(containingFile) ? getRedirectReferenceForResolution(containingFile) : undefined; + var containingFileMode = !ts.isString(containingFile) ? containingFile.impliedNodeFormat : undefined; ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "resolveTypeReferenceDirectiveNamesWorker", { containingFileName: containingFileName }); ts.performance.mark("beforeResolveTypeReference"); - var result = actualResolveTypeReferenceDirectiveNamesWorker(typeDirectiveNames, containingFileName, redirectedReference); + var result = actualResolveTypeReferenceDirectiveNamesWorker(typeDirectiveNames, containingFileName, redirectedReference, containingFileMode); ts.performance.mark("afterResolveTypeReference"); ts.performance.measure("ResolveTypeReference", "beforeResolveTypeReference", "afterResolveTypeReference"); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); @@ -115167,15 +116618,15 @@ var ts; // which per above occurred during the current program creation. // Since we assume the filesystem does not change during program creation, // it is safe to reuse resolutions from the earlier call. - var result_13 = []; + var result_14 = []; var i = 0; for (var _i = 0, moduleNames_1 = moduleNames; _i < moduleNames_1.length; _i++) { var moduleName = moduleNames_1[_i]; var resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i)); i++; - result_13.push(resolvedModule); + result_14.push(resolvedModule); } - return result_13; + return result_14; } // At this point, we know at least one of the following hold: // - file has local declarations for ambient modules @@ -115347,8 +116798,8 @@ var ts; for (var _i = 0, oldSourceFiles_2 = oldSourceFiles; _i < oldSourceFiles_2.length; _i++) { var oldSourceFile = oldSourceFiles_2[_i]; var newSourceFile = host.getSourceFileByPath - ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, ts.getEmitScriptTarget(options), /*onError*/ undefined, shouldCreateNewSourceFile) - : host.getSourceFile(oldSourceFile.fileName, ts.getEmitScriptTarget(options), /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 + ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options), /*onError*/ undefined, shouldCreateNewSourceFile) + : host.getSourceFile(oldSourceFile.fileName, getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options), /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 if (!newSourceFile) { return 0 /* Not */; } @@ -115379,7 +116830,6 @@ var ts; newSourceFile.originalFileName = oldSourceFile.originalFileName; newSourceFile.resolvedPath = oldSourceFile.resolvedPath; newSourceFile.fileName = oldSourceFile.fileName; - newSourceFile.impliedNodeFormat = oldSourceFile.impliedNodeFormat; var packageName = oldProgram.sourceFileToPackageName.get(oldSourceFile.path); if (packageName !== undefined) { // If there are 2 different source files for the same package name and at least one of them changes, @@ -115417,7 +116867,7 @@ var ts; // moduleAugmentations has changed structureIsReused = 1 /* SafeModules */; } - if ((oldSourceFile.flags & 3145728 /* PermanentlySetIncrementalFlags */) !== (newSourceFile.flags & 3145728 /* PermanentlySetIncrementalFlags */)) { + if ((oldSourceFile.flags & 6291456 /* PermanentlySetIncrementalFlags */) !== (newSourceFile.flags & 6291456 /* PermanentlySetIncrementalFlags */)) { // dynamicImport has changed structureIsReused = 1 /* SafeModules */; } @@ -115464,8 +116914,7 @@ var ts; else { newSourceFile.resolvedModules = oldSourceFile.resolvedModules; } - // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. - var typesReferenceDirectives = ts.map(newSourceFile.typeReferenceDirectives, function (ref) { return ts.toFileNameLowerCase(ref.fileName); }); + var typesReferenceDirectives = newSourceFile.typeReferenceDirectives; var typeReferenceResolutions = resolveTypeReferenceDirectiveNamesWorker(typesReferenceDirectives, newSourceFile); // ensure that types resolutions are still correct var typeReferenceResolutionsChanged = ts.hasChangesInResolutions(typesReferenceDirectives, typeReferenceResolutions, oldSourceFile.resolvedTypeReferenceDirectiveNames, oldSourceFile, ts.typeDirectiveIsEqualTo); @@ -115582,6 +117031,9 @@ var ts; return !!sourceFilesFoundSearchingNodeModules.get(file.path); } function isSourceFileDefaultLibrary(file) { + if (!file.isDeclarationFile) { + return false; + } if (file.hasNoDefaultLib) { return true; } @@ -115598,14 +117050,8 @@ var ts; return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, pathForLibFile(libFileName)); }); } } - function getDiagnosticsProducingTypeChecker() { - return diagnosticsProducingTypeChecker || (diagnosticsProducingTypeChecker = ts.createTypeChecker(program, /*produceDiagnostics:*/ true)); - } - function dropDiagnosticsProducingTypeChecker() { - diagnosticsProducingTypeChecker = undefined; - } function getTypeChecker() { - return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, /*produceDiagnostics:*/ false)); + return typeChecker || (typeChecker = ts.createTypeChecker(program)); } function emit(sourceFile, writeFileCallback, cancellationToken, emitOnlyDtsFiles, transformers, forceDtsEmit) { ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "emit", { path: sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.path }, /*separateBeginAndEnd*/ true); @@ -115630,7 +117076,7 @@ var ts; // This is because in the -out scenario all files need to be emitted, and therefore all // files need to be type checked. And the way to specify that all files need to be type // checked is to not pass the file to getEmitResolver. - var emitResolver = getDiagnosticsProducingTypeChecker().getEmitResolver(ts.outFile(options) ? undefined : sourceFile, cancellationToken); + var emitResolver = getTypeChecker().getEmitResolver(ts.outFile(options) ? undefined : sourceFile, cancellationToken); ts.performance.mark("beforeEmit"); var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, ts.getTransformers(options, customTransformers, emitOnlyDtsFiles), emitOnlyDtsFiles, /*onlyBuildInfo*/ false, forceDtsEmit); @@ -115710,15 +117156,7 @@ var ts; if (e instanceof ts.OperationCanceledException) { // We were canceled while performing the operation. Because our type checker // might be a bad state, we need to throw it away. - // - // Note: we are overly aggressive here. We do not actually *have* to throw away - // the "noDiagnosticsTypeChecker". However, for simplicity, i'd like to keep - // the lifetimes of these two TypeCheckers the same. Also, we generally only - // cancel when the user has made a change anyways. And, in that case, we (the - // program instance) will get thrown away anyways. So trying to keep one of - // these type checkers alive doesn't serve much purpose. - noDiagnosticsTypeChecker = undefined; - diagnosticsProducingTypeChecker = undefined; + typeChecker = undefined; } throw e; } @@ -115734,7 +117172,7 @@ var ts; if (ts.skipTypeChecking(sourceFile, options, program)) { return ts.emptyArray; } - var typeChecker = getDiagnosticsProducingTypeChecker(); + var typeChecker = getTypeChecker(); ts.Debug.assert(!!sourceFile.bindDiagnostics); var isJs = sourceFile.scriptKind === 1 /* JS */ || sourceFile.scriptKind === 2 /* JSX */; var isCheckJs = isJs && ts.isCheckJsEnabledForFile(sourceFile, options); @@ -115786,7 +117224,7 @@ var ts; } function getSuggestionDiagnostics(sourceFile, cancellationToken) { return runWithCancellationToken(function () { - return getDiagnosticsProducingTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); + return getTypeChecker().getSuggestionDiagnostics(sourceFile, cancellationToken); }); } /** @@ -115824,22 +117262,22 @@ var ts; // Return directly from the case if the given node doesnt want to visit each child // Otherwise break to visit each child switch (parent.kind) { - case 163 /* Parameter */: - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: + case 164 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")); return "skip"; } // falls through - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: - case 213 /* ArrowFunction */: - case 253 /* VariableDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 214 /* ArrowFunction */: + case 254 /* VariableDeclaration */: // type annotation if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Type_annotations_can_only_be_used_in_TypeScript_files)); @@ -115847,58 +117285,65 @@ var ts; } } switch (node.kind) { - case 266 /* ImportClause */: + case 267 /* ImportClause */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, "import type")); return "skip"; } break; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, "export type")); return "skip"; } break; - case 264 /* ImportEqualsDeclaration */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: + if (node.isTypeOnly) { + diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, ts.isImportSpecifier(node) ? "import...type" : "export...type")); + return "skip"; + } + break; + case 265 /* ImportEqualsDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_TypeScript_files)); return "skip"; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 290 /* HeritageClause */: + case 291 /* HeritageClause */: var heritageClause = node; if (heritageClause.token === 117 /* ImplementsKeyword */) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: var interfaceKeyword = ts.tokenToString(118 /* InterfaceKeyword */); ts.Debug.assertIsDefined(interfaceKeyword); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, interfaceKeyword)); return "skip"; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: var moduleKeyword = node.flags & 16 /* Namespace */ ? ts.tokenToString(142 /* NamespaceKeyword */) : ts.tokenToString(141 /* ModuleKeyword */); ts.Debug.assertIsDefined(moduleKeyword); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, moduleKeyword)); return "skip"; - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Type_aliases_can_only_be_used_in_TypeScript_files)); return "skip"; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: var enumKeyword = ts.Debug.checkDefined(ts.tokenToString(92 /* EnumKeyword */)); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, enumKeyword)); return "skip"; - case 229 /* NonNullExpression */: + case 230 /* NonNullExpression */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Non_null_assertions_can_only_be_used_in_TypeScript_files)); return "skip"; - case 228 /* AsExpression */: + case 229 /* AsExpression */: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)); return "skip"; - case 210 /* TypeAssertionExpression */: + case 211 /* TypeAssertionExpression */: ts.Debug.fail(); // Won't parse these in a JS file anyway, as they are interpreted as JSX. } } @@ -115907,29 +117352,29 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)); } switch (parent.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: - case 213 /* ArrowFunction */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 214 /* ArrowFunction */: // Check type parameters if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)); return "skip"; } // falls through - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: // Check modifiers if (nodes === parent.modifiers) { - checkModifiers(parent.modifiers, parent.kind === 236 /* VariableStatement */); + checkModifiers(parent.modifiers, parent.kind === 237 /* VariableStatement */); return "skip"; } break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: // Check modifiers of property declaration if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { @@ -115941,19 +117386,19 @@ var ts; return "skip"; } break; - case 163 /* Parameter */: + case 164 /* Parameter */: // Check modifiers of parameter declaration if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Parameter_modifiers_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 227 /* ExpressionWithTypeArguments */: - case 278 /* JsxSelfClosingElement */: - case 279 /* JsxOpeningElement */: - case 209 /* TaggedTemplateExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 228 /* ExpressionWithTypeArguments */: + case 279 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 210 /* TaggedTemplateExpression */: // Check type arguments if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Type_arguments_can_only_be_used_in_TypeScript_files)); @@ -115975,10 +117420,12 @@ var ts; case 123 /* PublicKeyword */: case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: - case 144 /* ReadonlyKeyword */: + case 145 /* ReadonlyKeyword */: case 135 /* DeclareKeyword */: case 126 /* AbstractKeyword */: - case 158 /* OverrideKeyword */: + case 159 /* OverrideKeyword */: + case 101 /* InKeyword */: + case 144 /* OutKeyword */: diagnostics.push(createDiagnosticForNode(modifier, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, ts.tokenToString(modifier.kind))); break; // These are all legal modifiers. @@ -116004,7 +117451,7 @@ var ts; } function getDeclarationDiagnosticsForFileNoCache(sourceFile, cancellationToken) { return runWithCancellationToken(function () { - var resolver = getDiagnosticsProducingTypeChecker().getEmitResolver(sourceFile, cancellationToken); + var resolver = getTypeChecker().getEmitResolver(sourceFile, cancellationToken); // Don't actually write any files since we're just getting diagnostics. return ts.getDeclarationDiagnostics(getEmitHost(ts.noop), resolver, sourceFile) || ts.emptyArray; }); @@ -116042,7 +117489,7 @@ var ts; return diagnostics; } function getGlobalDiagnostics() { - return rootNames.length ? ts.sortAndDeduplicateDiagnostics(getDiagnosticsProducingTypeChecker().getGlobalDiagnostics().slice()) : ts.emptyArray; + return rootNames.length ? ts.sortAndDeduplicateDiagnostics(getTypeChecker().getGlobalDiagnostics().slice()) : ts.emptyArray; } function getConfigFileParsingDiagnostics() { return configFileParsingDiagnostics || ts.emptyArray; @@ -116098,7 +117545,7 @@ var ts; var node = _a[_i]; collectModuleReferences(node, /*inAmbientModule*/ false); } - if ((file.flags & 1048576 /* PossiblyContainsDynamicImport */) || isJavaScriptFile) { + if ((file.flags & 2097152 /* PossiblyContainsDynamicImport */) || isJavaScriptFile) { collectDynamicImportOrRequireCalls(file); } file.imports = imports || ts.emptyArray; @@ -116299,6 +117746,17 @@ var ts; ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); return result; } + function getCreateSourceFileOptions(fileName, moduleResolutionCache, host, options) { + // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache + // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way + // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. + var impliedNodeFormat = getImpliedNodeFormatForFile(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + return { + languageVersion: ts.getEmitScriptTarget(options), + impliedNodeFormat: impliedNodeFormat, + setExternalModuleIndicator: ts.getSetExternalModuleIndicator(options) + }; + } function findSourceFileWorker(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { var path = toPath(fileName); if (useSourceOfProjectReferenceRedirect) { @@ -116386,7 +117844,7 @@ var ts; } } // We haven't looked for this file, do so now and cache result - var file = host.getSourceFile(fileName, ts.getEmitScriptTarget(options), function (hostErrorMessage) { return addFilePreprocessingFileExplainingDiagnostic(/*file*/ undefined, reason, ts.Diagnostics.Cannot_read_file_0_Colon_1, [fileName, hostErrorMessage]); }, shouldCreateNewSourceFile); + var file = host.getSourceFile(fileName, getCreateSourceFileOptions(fileName, moduleResolutionCache, host, options), function (hostErrorMessage) { return addFilePreprocessingFileExplainingDiagnostic(/*file*/ undefined, reason, ts.Diagnostics.Cannot_read_file_0_Colon_1, [fileName, hostErrorMessage]); }, shouldCreateNewSourceFile); if (packageId) { var packageIdKey = ts.packageIdToString(packageId); var fileFromPackageId = packageIdToSourceFile.get(packageIdKey); @@ -116414,10 +117872,6 @@ var ts; file.path = path; file.resolvedPath = toPath(fileName); file.originalFileName = originalFileName; - // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache - // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way - // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - file.impliedNodeFormat = getImpliedNodeFormatForFile(file.resolvedPath, moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); addFileIncludeReason(file, reason); if (host.useCaseSensitiveFileNames()) { var pathLowerCase = ts.toFileNameLowerCase(path); @@ -116544,8 +117998,7 @@ var ts; }); } function processTypeReferenceDirectives(file) { - // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. - var typeDirectives = ts.map(file.typeReferenceDirectives, function (ref) { return ts.toFileNameLowerCase(ref.fileName); }); + var typeDirectives = file.typeReferenceDirectives; if (!typeDirectives) { return; } @@ -116556,17 +118009,21 @@ var ts; // store resolved type directive on the file var fileName = ts.toFileNameLowerCase(ref.fileName); ts.setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective); - processTypeReferenceDirective(fileName, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, }); + var mode = ref.resolutionMode || file.impliedNodeFormat; + if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) { + programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext)); + } + processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, }); } } - function processTypeReferenceDirective(typeReferenceDirective, resolvedTypeReferenceDirective, reason) { + function processTypeReferenceDirective(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason) { ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "processTypeReferenceDirective", { directive: typeReferenceDirective, hasResolved: !!resolveModuleNamesReusingOldState, refKind: reason.kind, refPath: isReferencedFile(reason) ? reason.file : undefined }); - processTypeReferenceDirectiveWorker(typeReferenceDirective, resolvedTypeReferenceDirective, reason); + processTypeReferenceDirectiveWorker(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } - function processTypeReferenceDirectiveWorker(typeReferenceDirective, resolvedTypeReferenceDirective, reason) { + function processTypeReferenceDirectiveWorker(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason) { // If we already found this library as a primary reference - nothing to do - var previousResolution = resolvedTypeReferenceDirectives.get(typeReferenceDirective); + var previousResolution = resolvedTypeReferenceDirectives.get(typeReferenceDirective, mode); if (previousResolution && previousResolution.primary) { return; } @@ -116605,7 +118062,7 @@ var ts; addFilePreprocessingFileExplainingDiagnostic(/*file*/ undefined, reason, ts.Diagnostics.Cannot_find_type_definition_file_for_0, [typeReferenceDirective]); } if (saveResolution) { - resolvedTypeReferenceDirectives.set(typeReferenceDirective, resolvedTypeReferenceDirective); + resolvedTypeReferenceDirectives.set(typeReferenceDirective, mode, resolvedTypeReferenceDirective); } } function pathForLibFile(libFileName) { @@ -116619,7 +118076,7 @@ var ts; path += (i === 2 ? "/" : "-") + components[i]; i++; } - var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_".concat(libFileName, "__.ts")); + var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_" + libFileName + "__.ts"); var localOverrideModuleResult = ts.resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: ts.ModuleResolutionKind.NodeJs }, host, moduleResolutionCache); if (localOverrideModuleResult === null || localOverrideModuleResult === void 0 ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; @@ -116686,7 +118143,7 @@ var ts; && index < file.imports.length && !elideImport && !(isJsFile && !ts.getAllowJSCompilerOption(optionsForFile)) - && (ts.isInJSFile(file.imports[index]) || !(file.imports[index].flags & 4194304 /* JSDoc */)); + && (ts.isInJSFile(file.imports[index]) || !(file.imports[index].flags & 8388608 /* JSDoc */)); if (elideImport) { modulesWithElidedImports.set(file.path, true); } @@ -116767,21 +118224,6 @@ var ts; return resolvedRef; } function verifyCompilerOptions() { - var isNightly = ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders"); - if (!isNightly) { - if (ts.getEmitModuleKind(options) === ts.ModuleKind.Node12) { - createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "node12"); - } - else if (ts.getEmitModuleKind(options) === ts.ModuleKind.NodeNext) { - createOptionValueDiagnostic("module", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "module", "nodenext"); - } - else if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12) { - createOptionValueDiagnostic("moduleResolution", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "moduleResolution", "node12"); - } - else if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { - createOptionValueDiagnostic("moduleResolution", ts.Diagnostics.Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next, "moduleResolution", "nodenext"); - } - } if (options.strictPropertyInitialization && !ts.getStrictOptionValue(options, "strictNullChecks")) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks"); } @@ -116916,7 +118358,7 @@ var ts; } else if (firstNonAmbientExternalModuleSourceFile && languageVersion < 2 /* ES2015 */ && options.module === ts.ModuleKind.None) { // We cannot use createDiagnosticFromNode because nodes do not have parents yet - var span = ts.getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); + var span = ts.getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, typeof firstNonAmbientExternalModuleSourceFile.externalModuleIndicator === "boolean" ? firstNonAmbientExternalModuleSourceFile : firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); programDiagnostics.add(ts.createFileDiagnostic(firstNonAmbientExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none)); } // Cannot specify module gen that isn't amd or system with --out @@ -116925,7 +118367,7 @@ var ts; createDiagnosticForOptionName(ts.Diagnostics.Only_amd_and_system_modules_are_supported_alongside_0, options.out ? "out" : "outFile", "module"); } else if (options.module === undefined && firstNonAmbientExternalModuleSourceFile) { - var span = ts.getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); + var span = ts.getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, typeof firstNonAmbientExternalModuleSourceFile.externalModuleIndicator === "boolean" ? firstNonAmbientExternalModuleSourceFile : firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); programDiagnostics.add(ts.createFileDiagnostic(firstNonAmbientExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system, options.out ? "out" : "outFile")); } } @@ -117440,12 +118882,12 @@ var ts; } function directoryExistsIfProjectReferenceDeclDir(dir) { var dirPath = host.toPath(dir); - var dirPathWithTrailingDirectorySeparator = "".concat(dirPath).concat(ts.directorySeparator); + var dirPathWithTrailingDirectorySeparator = "" + dirPath + ts.directorySeparator; return ts.forEachKey(setOfDeclarationDirectories, function (declDirPath) { return dirPath === declDirPath || // Any parent directory of declaration dir ts.startsWith(declDirPath, dirPathWithTrailingDirectorySeparator) || // Any directory inside declaration dir - ts.startsWith(dirPath, "".concat(declDirPath, "/")); }); + ts.startsWith(dirPath, declDirPath + "/"); }); } function handleDirectoryCouldBeSymlink(directory) { var _a; @@ -117498,7 +118940,7 @@ var ts; if (isFile && result) { // Store the real path for the file' var absolutePath = ts.getNormalizedAbsolutePath(fileOrDirectory, host.compilerHost.getCurrentDirectory()); - symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "".concat(symlinkedDirectory.real).concat(absolutePath.replace(new RegExp(directoryPath, "i"), ""))); + symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "" + symlinkedDirectory.real + absolutePath.replace(new RegExp(directoryPath, "i"), "")); } return result; }) || false; @@ -117956,7 +119398,7 @@ var ts; /*forceDtsEmit*/ true); var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles); if (firstDts_1) { - ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: ".concat(ts.getAnyExtensionFromPath(firstDts_1.name), " for ").concat(firstDts_1.name, ":: All output files: ").concat(JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; }))); }); + ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); }); latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text); if (exportedModulesMapCache && latestSignature !== prevSignature) { updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache); @@ -118464,7 +119906,7 @@ var ts; return; } else { - ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: ".concat(affectedFile.fileName)); + ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: " + affectedFile.fileName); } if (!state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) { forEachReferencingModulesOfExportOfAffectedFile(state, affectedFile, function (state, path) { return handleDtsMayChangeOf(state, path, cancellationToken, computeHash); }); @@ -119423,9 +120865,9 @@ var ts; }); hasChangedAutomaticTypeDirectiveNames = false; } - function resolveModuleName(moduleName, containingFile, compilerOptions, host, redirectedReference) { + function resolveModuleName(moduleName, containingFile, compilerOptions, host, redirectedReference, _containingSourceFile, mode) { var _a; - var primaryResult = ts.resolveModuleName(moduleName, containingFile, compilerOptions, host, moduleResolutionCache, redirectedReference); + var primaryResult = ts.resolveModuleName(moduleName, containingFile, compilerOptions, host, moduleResolutionCache, redirectedReference, mode); // return result immediately only if global cache support is not enabled or if it is .ts, .tsx or .d.ts if (!resolutionHost.getGlobalCache) { return primaryResult; @@ -119446,12 +120888,12 @@ var ts; // Default return the result from the first pass return primaryResult; } - function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference) { - return ts.resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference, typeReferenceDirectiveResolutionCache); + function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference, _containingSourceFile, resolutionMode) { + return ts.resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference, typeReferenceDirectiveResolutionCache, resolutionMode); } function resolveNamesWithLocalCache(_a) { var _b, _c, _d; - var names = _a.names, containingFile = _a.containingFile, redirectedReference = _a.redirectedReference, cache = _a.cache, perDirectoryCacheWithRedirects = _a.perDirectoryCacheWithRedirects, loader = _a.loader, getResolutionWithResolvedFileName = _a.getResolutionWithResolvedFileName, shouldRetryResolution = _a.shouldRetryResolution, reusedNames = _a.reusedNames, logChanges = _a.logChanges, containingSourceFile = _a.containingSourceFile; + var names = _a.names, containingFile = _a.containingFile, redirectedReference = _a.redirectedReference, cache = _a.cache, perDirectoryCacheWithRedirects = _a.perDirectoryCacheWithRedirects, loader = _a.loader, getResolutionWithResolvedFileName = _a.getResolutionWithResolvedFileName, shouldRetryResolution = _a.shouldRetryResolution, reusedNames = _a.reusedNames, logChanges = _a.logChanges, containingSourceFile = _a.containingSourceFile, containingSourceFileMode = _a.containingSourceFileMode; var path = resolutionHost.toPath(containingFile); var resolutionsInFile = cache.get(path) || cache.set(path, ts.createModeAwareCache()).get(path); var dirPath = ts.getDirectoryPath(path); @@ -119473,8 +120915,15 @@ var ts; var seenNamesInFile = ts.createModeAwareCache(); var i = 0; for (var _i = 0, names_4 = names; _i < names_4.length; _i++) { - var name = names_4[_i]; - var mode = containingSourceFile ? ts.getModeForResolutionAtIndex(containingSourceFile, i) : undefined; + var entry = names_4[_i]; + var name = ts.isString(entry) ? entry : entry.fileName.toLowerCase(); + // Imports supply a `containingSourceFile` but no `containingSourceFileMode` - it would be redundant + // they require calculating the mode for a given import from it's position in the resolution table, since a given + // import's syntax may override the file's default mode. + // Type references instead supply a `containingSourceFileMode` and a non-string entry which contains + // a default file mode override if applicable. + var mode = !ts.isString(entry) ? ts.getModeForFileReference(entry, containingSourceFileMode) : + containingSourceFile ? ts.getModeForResolutionAtIndex(containingSourceFile, i) : undefined; i++; var resolution = resolutionsInFile.get(name, mode); // Resolution is valid if it is present and not invalidated @@ -119503,7 +120952,7 @@ var ts; } } else { - resolution = loader(name, containingFile, compilerOptions, ((_c = resolutionHost.getCompilerHost) === null || _c === void 0 ? void 0 : _c.call(resolutionHost)) || resolutionHost, redirectedReference, containingSourceFile); + resolution = loader(name, containingFile, compilerOptions, ((_c = resolutionHost.getCompilerHost) === null || _c === void 0 ? void 0 : _c.call(resolutionHost)) || resolutionHost, redirectedReference, containingSourceFile, mode); perDirectoryResolution.set(name, mode, resolution); if (resolutionHost.onDiscoveredSymlink && resolutionIsSymlink(resolution)) { resolutionHost.onDiscoveredSymlink(); @@ -119567,7 +121016,7 @@ var ts; return oldResult.resolvedFileName === newResult.resolvedFileName; } } - function resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference) { + function resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, containingFileMode) { return resolveNamesWithLocalCache({ names: typeDirectiveNames, containingFile: containingFile, @@ -119577,6 +121026,7 @@ var ts; loader: resolveTypeReferenceDirective, getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective, shouldRetryResolution: function (resolution) { return resolution.resolvedTypeReferenceDirective === undefined; }, + containingSourceFileMode: containingFileMode }); } function resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, containingSourceFile) { @@ -119609,7 +121059,7 @@ var ts; failedLookupLocation = ts.isRootedDiskPath(failedLookupLocation) ? ts.normalizePath(failedLookupLocation) : ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory()); var failedLookupPathSplit = failedLookupLocationPath.split(ts.directorySeparator); var failedLookupSplit = failedLookupLocation.split(ts.directorySeparator); - ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: ".concat(failedLookupLocation, " failedLookupLocationPath: ").concat(failedLookupLocationPath)); + ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: " + failedLookupLocation + " failedLookupLocationPath: " + failedLookupLocationPath); if (failedLookupPathSplit.length > rootSplitLength + 1) { // Instead of watching root, watch directory in root to avoid watching excluded directories not needed for module resolution return { @@ -120052,8 +121502,9 @@ var ts; // Because when this is called by the file renamer, `importingSourceFile` is the file being renamed, // while `importingSourceFileName` its *new* name. We need a source file just to get its // `impliedNodeFormat` and to detect certain preferences from existing import module specifiers. - function updateModuleSpecifier(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, oldImportSpecifier) { - var res = getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getPreferencesForUpdate(compilerOptions, oldImportSpecifier, importingSourceFileName, host), {}); + function updateModuleSpecifier(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, oldImportSpecifier, options) { + if (options === void 0) { options = {}; } + var res = getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getPreferencesForUpdate(compilerOptions, oldImportSpecifier, importingSourceFileName, host), {}, options); if (res === oldImportSpecifier) return undefined; return res; @@ -120065,65 +121516,77 @@ var ts; // one currently being produced; the latter to the one being imported). We need an implementation file // just to get its `impliedNodeFormat` and to detect certain preferences from existing import module // specifiers. - function getModuleSpecifier(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host) { - return getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getPreferences(host, {}, compilerOptions, importingSourceFile), {}); + function getModuleSpecifier(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, options) { + if (options === void 0) { options = {}; } + return getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getPreferences(host, {}, compilerOptions, importingSourceFile), {}, options); } moduleSpecifiers_1.getModuleSpecifier = getModuleSpecifier; - function getNodeModulesPackageName(compilerOptions, importingSourceFile, nodeModulesFileName, host, preferences) { + function getNodeModulesPackageName(compilerOptions, importingSourceFile, nodeModulesFileName, host, preferences, options) { + if (options === void 0) { options = {}; } var info = getInfo(importingSourceFile.path, host); - var modulePaths = getAllModulePaths(importingSourceFile.path, nodeModulesFileName, host, preferences); - return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ true); }); + var modulePaths = getAllModulePaths(importingSourceFile.path, nodeModulesFileName, host, preferences, options); + return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ true, options.overrideImportMode); }); } moduleSpecifiers_1.getNodeModulesPackageName = getNodeModulesPackageName; - function getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, preferences, userPreferences) { + function getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, preferences, userPreferences, options) { + if (options === void 0) { options = {}; } var info = getInfo(importingSourceFileName, host); - var modulePaths = getAllModulePaths(importingSourceFileName, toFileName, host, userPreferences); - return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions); }) || + var modulePaths = getAllModulePaths(importingSourceFileName, toFileName, host, userPreferences, options); + return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ undefined, options.overrideImportMode); }) || getLocalModuleSpecifier(toFileName, info, compilerOptions, host, preferences); } - function tryGetModuleSpecifiersFromCache(moduleSymbol, importingSourceFile, host, userPreferences) { - return tryGetModuleSpecifiersFromCacheWorker(moduleSymbol, importingSourceFile, host, userPreferences)[0]; + function tryGetModuleSpecifiersFromCache(moduleSymbol, importingSourceFile, host, userPreferences, options) { + if (options === void 0) { options = {}; } + return tryGetModuleSpecifiersFromCacheWorker(moduleSymbol, importingSourceFile, host, userPreferences, options)[0]; } moduleSpecifiers_1.tryGetModuleSpecifiersFromCache = tryGetModuleSpecifiersFromCache; - function tryGetModuleSpecifiersFromCacheWorker(moduleSymbol, importingSourceFile, host, userPreferences) { + function tryGetModuleSpecifiersFromCacheWorker(moduleSymbol, importingSourceFile, host, userPreferences, options) { var _a; + if (options === void 0) { options = {}; } var moduleSourceFile = ts.getSourceFileOfModule(moduleSymbol); if (!moduleSourceFile) { return ts.emptyArray; } var cache = (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host); - var cached = cache === null || cache === void 0 ? void 0 : cache.get(importingSourceFile.path, moduleSourceFile.path, userPreferences); + var cached = cache === null || cache === void 0 ? void 0 : cache.get(importingSourceFile.path, moduleSourceFile.path, userPreferences, options); return [cached === null || cached === void 0 ? void 0 : cached.moduleSpecifiers, moduleSourceFile, cached === null || cached === void 0 ? void 0 : cached.modulePaths, cache]; } /** Returns an import for each symlink and for the realpath. */ - function getModuleSpecifiers(moduleSymbol, checker, compilerOptions, importingSourceFile, host, userPreferences) { - return getModuleSpecifiersWithCacheInfo(moduleSymbol, checker, compilerOptions, importingSourceFile, host, userPreferences).moduleSpecifiers; + function getModuleSpecifiers(moduleSymbol, checker, compilerOptions, importingSourceFile, host, userPreferences, options) { + if (options === void 0) { options = {}; } + return getModuleSpecifiersWithCacheInfo(moduleSymbol, checker, compilerOptions, importingSourceFile, host, userPreferences, options).moduleSpecifiers; } moduleSpecifiers_1.getModuleSpecifiers = getModuleSpecifiers; - function getModuleSpecifiersWithCacheInfo(moduleSymbol, checker, compilerOptions, importingSourceFile, host, userPreferences) { + function getModuleSpecifiersWithCacheInfo(moduleSymbol, checker, compilerOptions, importingSourceFile, host, userPreferences, options) { + if (options === void 0) { options = {}; } var computedWithoutCache = false; var ambient = tryGetModuleNameFromAmbientModule(moduleSymbol, checker); if (ambient) return { moduleSpecifiers: [ambient], computedWithoutCache: computedWithoutCache }; // eslint-disable-next-line prefer-const - var _a = tryGetModuleSpecifiersFromCacheWorker(moduleSymbol, importingSourceFile, host, userPreferences), specifiers = _a[0], moduleSourceFile = _a[1], modulePaths = _a[2], cache = _a[3]; + var _a = tryGetModuleSpecifiersFromCacheWorker(moduleSymbol, importingSourceFile, host, userPreferences, options), specifiers = _a[0], moduleSourceFile = _a[1], modulePaths = _a[2], cache = _a[3]; if (specifiers) return { moduleSpecifiers: specifiers, computedWithoutCache: computedWithoutCache }; if (!moduleSourceFile) return { moduleSpecifiers: ts.emptyArray, computedWithoutCache: computedWithoutCache }; computedWithoutCache = true; modulePaths || (modulePaths = getAllModulePathsWorker(importingSourceFile.path, moduleSourceFile.originalFileName, host)); - var result = computeModuleSpecifiers(modulePaths, compilerOptions, importingSourceFile, host, userPreferences); - cache === null || cache === void 0 ? void 0 : cache.set(importingSourceFile.path, moduleSourceFile.path, userPreferences, modulePaths, result); + var result = computeModuleSpecifiers(modulePaths, compilerOptions, importingSourceFile, host, userPreferences, options); + cache === null || cache === void 0 ? void 0 : cache.set(importingSourceFile.path, moduleSourceFile.path, userPreferences, options, modulePaths, result); return { moduleSpecifiers: result, computedWithoutCache: computedWithoutCache }; } moduleSpecifiers_1.getModuleSpecifiersWithCacheInfo = getModuleSpecifiersWithCacheInfo; - function computeModuleSpecifiers(modulePaths, compilerOptions, importingSourceFile, host, userPreferences) { + function computeModuleSpecifiers(modulePaths, compilerOptions, importingSourceFile, host, userPreferences, options) { + if (options === void 0) { options = {}; } var info = getInfo(importingSourceFile.path, host); var preferences = getPreferences(host, userPreferences, compilerOptions, importingSourceFile); var existingSpecifier = ts.forEach(modulePaths, function (modulePath) { return ts.forEach(host.getFileIncludeReasons().get(ts.toPath(modulePath.path, host.getCurrentDirectory(), info.getCanonicalFileName)), function (reason) { if (reason.kind !== ts.FileIncludeKind.Import || reason.file !== importingSourceFile.path) return undefined; + // If the candidate import mode doesn't match the mode we're generating for, don't consider it + // TODO: maybe useful to keep around as an alternative option for certain contexts where the mode is overridable + if (importingSourceFile.impliedNodeFormat && importingSourceFile.impliedNodeFormat !== ts.getModeForResolutionAtIndex(importingSourceFile, reason.index)) + return undefined; var specifier = ts.getModuleNameStringLiteralAt(importingSourceFile, reason.index).text; // If the preference is for non relative and the module specifier is relative, ignore it return preferences.relativePreference !== 1 /* NonRelative */ || !ts.pathIsRelative(specifier) ? @@ -120145,7 +121608,7 @@ var ts; var relativeSpecifiers; for (var _i = 0, modulePaths_1 = modulePaths; _i < modulePaths_1.length; _i++) { var modulePath = modulePaths_1[_i]; - var specifier = tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions); + var specifier = tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ undefined, options.overrideImportMode); nodeModulesSpecifiers = ts.append(nodeModulesSpecifiers, specifier); if (specifier && modulePath.isRedirect) { // If we got a specifier for a redirect, it was a bare package specifier (e.g. "@foo/bar", @@ -120283,9 +121746,9 @@ var ts; if (!preferSymlinks) { // Symlinks inside ignored paths are already filtered out of the symlink cache, // so we only need to remove them from the realpath filenames. - var result_14 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); }); - if (result_14) - return result_14; + var result_15 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); }); + if (result_15) + return result_15; } var symlinkedDirectories = (_a = host.getSymlinkCache) === null || _a === void 0 ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath(); var fullImportedFileName = ts.getNormalizedAbsolutePath(importedFileName, cwd); @@ -120305,10 +121768,10 @@ var ts; for (var _i = 0, symlinkDirectories_1 = symlinkDirectories; _i < symlinkDirectories_1.length; _i++) { var symlinkDirectory = symlinkDirectories_1[_i]; var option = ts.resolvePath(symlinkDirectory, relative); - var result_15 = cb(option, target === referenceRedirect); + var result_16 = cb(option, target === referenceRedirect); shouldFilterIgnoredPaths = true; // We found a non-ignored path in symlinks, so we can reject ignored-path realpaths - if (result_15) - return result_15; + if (result_16) + return result_16; } }); }); @@ -120321,18 +121784,19 @@ var ts; * Looks for existing imports that use symlinks to this module. * Symlinks will be returned first so they are preferred over the real path. */ - function getAllModulePaths(importingFilePath, importedFileName, host, preferences, importedFilePath) { + function getAllModulePaths(importingFilePath, importedFileName, host, preferences, options) { var _a; - if (importedFilePath === void 0) { importedFilePath = ts.toPath(importedFileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); } + if (options === void 0) { options = {}; } + var importedFilePath = ts.toPath(importedFileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); var cache = (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host); if (cache) { - var cached = cache.get(importingFilePath, importedFilePath, preferences); + var cached = cache.get(importingFilePath, importedFilePath, preferences, options); if (cached === null || cached === void 0 ? void 0 : cached.modulePaths) return cached.modulePaths; } var modulePaths = getAllModulePathsWorker(importingFilePath, importedFileName, host); if (cache) { - cache.setModulePaths(importingFilePath, importedFilePath, preferences, modulePaths); + cache.setModulePaths(importingFilePath, importedFilePath, preferences, options, modulePaths); } return modulePaths; } @@ -120349,7 +121813,7 @@ var ts; }); // Sort by paths closest to importing file Name directory var sortedPaths = []; - var _loop_31 = function (directory) { + var _loop_32 = function (directory) { var directoryStart = ts.ensureTrailingDirectorySeparator(directory); var pathsInDirectory; allFileNames.forEach(function (_a, fileName) { @@ -120373,9 +121837,9 @@ var ts; }; var out_directory_1; for (var directory = ts.getDirectoryPath(importingFileName); allFileNames.size !== 0;) { - var state_9 = _loop_31(directory); + var state_10 = _loop_32(directory); directory = out_directory_1; - if (state_9 === "break") + if (state_10 === "break") break; } if (allFileNames.size) { @@ -120537,7 +122001,7 @@ var ts; ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions) : ts.removeFileExtension(relativePath); } - function tryGetModuleNameAsNodeModule(_a, _b, importingSourceFile, host, options, packageNameOnly) { + function tryGetModuleNameAsNodeModule(_a, _b, importingSourceFile, host, options, packageNameOnly, overrideMode) { var path = _a.path, isRedirect = _a.isRedirect; var getCanonicalFileName = _b.getCanonicalFileName, sourceDirectory = _b.sourceDirectory; if (!host.fileExists || !host.readFile) { @@ -120607,7 +122071,7 @@ var ts; // an ImportEqualsDeclaration in an ESM-implied file or an ImportCall in a CJS-implied file. But since this function is // usually called to conjure an import out of thin air, we don't have an existing usage to call `getModeForUsageAtIndex` // with, so for now we just stick with the mode of the file. - var conditions = ["node", importingSourceFile.impliedNodeFormat === ts.ModuleKind.ESNext ? "import" : "require", "types"]; + var conditions = ["node", overrideMode || importingSourceFile.impliedNodeFormat === ts.ModuleKind.ESNext ? "import" : "require", "types"]; var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, ts.getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : undefined; @@ -120691,7 +122155,7 @@ var ts; } function getJSExtensionForFile(fileName, options) { var _a; - return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension ".concat(ts.extensionFromPath(fileName), " is unsupported:: FileName:: ").concat(fileName)); + return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension " + ts.extensionFromPath(fileName) + " is unsupported:: FileName:: " + fileName); } function tryGetJSExtensionForFile(fileName, options) { var ext = ts.tryGetExtensionFromPath(fileName); @@ -120794,8 +122258,8 @@ var ts; return pretty ? function (diagnostic, newLine, options) { clearScreenIfNotWatchingForFileChanges(system, diagnostic, options); - var output = "[".concat(ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] "); - output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(newLine + newLine); + var output = "[" + ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] "; + output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (newLine + newLine); system.write(output); } : function (diagnostic, newLine, options) { @@ -120803,8 +122267,8 @@ var ts; if (!clearScreenIfNotWatchingForFileChanges(system, diagnostic, options)) { output += newLine; } - output += "".concat(getLocaleTimeString(system), " - "); - output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(getPlainDiagnosticFollowingNewLines(diagnostic, newLine)); + output += getLocaleTimeString(system) + " - "; + output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + getPlainDiagnosticFollowingNewLines(diagnostic, newLine); system.write(output); }; } @@ -120827,7 +122291,7 @@ var ts; .map(function (errorDiagnostic) { if (errorDiagnostic.file === undefined) return; - return "".concat(errorDiagnostic.file.fileName); + return "" + errorDiagnostic.file.fileName; }); return filesInError.map(function (fileName) { var diagnosticForFileName = ts.find(diagnostics, function (diagnostic) { @@ -120860,7 +122324,7 @@ var ts; if (errorCount === 0) return ""; var nonNilFiles = filesInError.filter(function (fileInError) { return fileInError !== undefined; }); - var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return "".concat(fileInError.fileName, ":").concat(fileInError.line); }) + var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return fileInError.fileName + ":" + fileInError.line; }) .filter(function (value, index, self) { return self.indexOf(value) === index; }); var firstFileReference = nonNilFiles[0] && prettyPathForFileError(nonNilFiles[0], host.getCurrentDirectory()); var d = errorCount === 1 ? @@ -120873,7 +122337,7 @@ var ts; ts.Diagnostics.Found_0_errors_in_the_same_file_starting_at_Colon_1 : ts.Diagnostics.Found_0_errors_in_1_files, errorCount, distinctFileNamesWithLines.length === 1 ? firstFileReference : distinctFileNamesWithLines.length); var suffix = distinctFileNamesWithLines.length > 1 ? createTabularErrorsDisplay(nonNilFiles, host) : ""; - return "".concat(newLine).concat(ts.flattenDiagnosticMessageText(d.messageText, newLine)).concat(newLine).concat(newLine).concat(suffix); + return "" + newLine + ts.flattenDiagnosticMessageText(d.messageText, newLine) + newLine + newLine + suffix; } ts.getErrorSummaryText = getErrorSummaryText; function createTabularErrorsDisplay(filesInError, host) { @@ -120896,7 +122360,7 @@ var ts; " ".repeat(leftPaddingGoal - errorCountDigitsLength) : ""; var fileRef = prettyPathForFileError(file, host.getCurrentDirectory()); - tabularData += "".concat(leftPadding).concat(errorCount, " ").concat(fileRef, "\n"); + tabularData += "" + leftPadding + errorCount + " " + fileRef + "\n"; }); return tabularData; } @@ -120923,9 +122387,9 @@ var ts; var relativeFileName = function (fileName) { return ts.convertToRelativePath(fileName, program.getCurrentDirectory(), getCanonicalFileName); }; for (var _i = 0, _c = program.getSourceFiles(); _i < _c.length; _i++) { var file = _c[_i]; - write("".concat(toFileName(file, relativeFileName))); - (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" ".concat(fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText)); }); - (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); }); + write("" + toFileName(file, relativeFileName)); + (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" " + fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText); }); + (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" " + d.messageText); }); } } ts.explainFiles = explainFiles; @@ -120965,7 +122429,7 @@ var ts; if (isJsonFile && !ts.endsWith(includeSpec, ".json" /* Json */)) return false; var pattern = ts.getPatternFromSpec(includeSpec, basePath, "files"); - return !!pattern && ts.getRegexFromPattern("(".concat(pattern, ")$"), useCaseSensitiveFileNames).test(fileName); + return !!pattern && ts.getRegexFromPattern("(" + pattern + ")$", useCaseSensitiveFileNames).test(fileName); }); } ts.getMatchedIncludeSpec = getMatchedIncludeSpec; @@ -120974,7 +122438,7 @@ var ts; var options = program.getCompilerOptions(); if (ts.isReferencedFile(reason)) { var referenceLocation = ts.getReferencedFileLocation(function (path) { return program.getSourceFileByPath(path); }, reason); - var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"".concat(referenceLocation.text, "\""); + var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"" + referenceLocation.text + "\""; var message = void 0; ts.Debug.assert(ts.isReferenceFileLocation(referenceLocation) || reason.kind === ts.FileIncludeKind.Import, "Only synthetic references are imports"); switch (reason.kind) { @@ -121098,7 +122562,7 @@ var ts; var currentDir_1 = program.getCurrentDirectory(); ts.forEach(emittedFiles, function (file) { var filepath = ts.getNormalizedAbsolutePath(file, currentDir_1); - write("TSFILE: ".concat(filepath)); + write("TSFILE: " + filepath); }); listFiles(program, write); } @@ -121165,7 +122629,7 @@ var ts; var useCaseSensitiveFileNames = host.useCaseSensitiveFileNames(); var hostGetNewLine = ts.memoize(function () { return host.getNewLine(); }); return { - getSourceFile: function (fileName, languageVersion, onError) { + getSourceFile: function (fileName, languageVersionOrOptions, onError) { var text; try { ts.performance.mark("beforeIORead"); @@ -121179,7 +122643,7 @@ var ts; } text = ""; } - return text !== undefined ? ts.createSourceFile(fileName, text, languageVersion) : undefined; + return text !== undefined ? ts.createSourceFile(fileName, text, languageVersionOrOptions) : undefined; }, getDefaultLibLocation: ts.maybeBind(host, host.getDefaultLibLocation), getDefaultLibFileName: function (options) { return host.getDefaultLibFileName(options); }, @@ -121427,7 +122891,7 @@ var ts; } var _b = ts.createWatchFactory(host, compilerOptions), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory, writeLog = _b.writeLog; var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); - writeLog("Current directory: ".concat(currentDirectory, " CaseSensitiveFileNames: ").concat(useCaseSensitiveFileNames)); + writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames); var configFileWatcher; if (configFileName) { configFileWatcher = watchFile(configFileName, scheduleProgramReload, ts.PollingInterval.High, watchOptions, ts.WatchType.ConfigFile); @@ -121485,7 +122949,7 @@ var ts; } return host.resolveTypeReferenceDirectives.apply(host, args); }) : - (function (typeDirectiveNames, containingFile, redirectedReference) { return resolutionCache.resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference); }); + (function (typeDirectiveNames, containingFile, redirectedReference, _options, containingFileMode) { return resolutionCache.resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, containingFileMode); }); var userProvidedResolution = !!host.resolveModuleNames || !!host.resolveTypeReferenceDirectives; builderProgram = readBuilderProgram(compilerOptions, compilerHost); synchronizeProgram(); @@ -121583,10 +123047,10 @@ var ts; function createNewProgram(hasInvalidatedResolution) { // Compile the program writeLog("CreatingProgramWith::"); - writeLog(" roots: ".concat(JSON.stringify(rootFileNames))); - writeLog(" options: ".concat(JSON.stringify(compilerOptions))); + writeLog(" roots: " + JSON.stringify(rootFileNames)); + writeLog(" options: " + JSON.stringify(compilerOptions)); if (projectReferences) - writeLog(" projectReferences: ".concat(JSON.stringify(projectReferences))); + writeLog(" projectReferences: " + JSON.stringify(projectReferences)); var needsUpdateInTypeRootWatch = hasChangedCompilerOptions || !getCurrentProgram(); hasChangedCompilerOptions = false; hasChangedConfigFileParsingErrors = false; @@ -121647,7 +123111,7 @@ var ts; } return directoryStructureHost.fileExists(fileName); } - function getVersionedSourceFileByPath(fileName, path, languageVersion, onError, shouldCreateNewSourceFile) { + function getVersionedSourceFileByPath(fileName, path, languageVersionOrOptions, onError, shouldCreateNewSourceFile) { var hostSourceFile = sourceFilesCache.get(path); // No source file on the host if (isFileMissingOnHost(hostSourceFile)) { @@ -121655,7 +123119,7 @@ var ts; } // Create new source file if requested or the versions dont match if (hostSourceFile === undefined || shouldCreateNewSourceFile || isFilePresenceUnknownOnHost(hostSourceFile)) { - var sourceFile = getNewSourceFile(fileName, languageVersion, onError); + var sourceFile = getNewSourceFile(fileName, languageVersionOrOptions, onError); if (hostSourceFile) { if (sourceFile) { // Set the source file and create file watcher now that file was present on the disk @@ -121747,7 +123211,7 @@ var ts; return resolutionCache.invalidateResolutionsOfFailedLookupLocations(); } var pending = clearInvalidateResolutionsOfFailedLookupLocations(); - writeLog("Scheduling invalidateFailedLookup".concat(pending ? ", Cancelled earlier one" : "")); + writeLog("Scheduling invalidateFailedLookup" + (pending ? ", Cancelled earlier one" : "")); timerToInvalidateFailedLookupResolutions = host.setTimeout(invalidateResolutionsOfFailedLookup, 250); } function invalidateResolutionsOfFailedLookup() { @@ -121807,7 +123271,7 @@ var ts; synchronizeProgram(); } function reloadConfigFile() { - writeLog("Reloading config file: ".concat(configFileName)); + writeLog("Reloading config file: " + configFileName); reloadLevel = ts.ConfigFileProgramReloadLevel.None; if (cachedDirectoryStructureHost) { cachedDirectoryStructureHost.clearCache(); @@ -121848,7 +123312,7 @@ var ts; return config.parsedCommandLine; } } - writeLog("Loading config file: ".concat(configFileName)); + writeLog("Loading config file: " + configFileName); var parsedCommandLine = host.getParsedCommandLine ? host.getParsedCommandLine(configFileName) : getParsedCommandLineFromConfigFileHost(configFileName); @@ -122152,8 +123616,8 @@ var ts; */ function createBuilderStatusReporter(system, pretty) { return function (diagnostic) { - var output = pretty ? "[".concat(ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ") : "".concat(ts.getLocaleTimeString(system), " - "); - output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(system.newLine + system.newLine); + var output = pretty ? "[" + ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] " : ts.getLocaleTimeString(system) + " - "; + output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (system.newLine + system.newLine); system.write(output); }; } @@ -122221,9 +123685,9 @@ var ts; compilerHost.getModuleResolutionCache = function () { return moduleResolutionCache; }; } if (!compilerHost.resolveTypeReferenceDirectives) { - var loader_4 = function (moduleName, containingFile, redirectedReference) { return ts.resolveTypeReferenceDirective(moduleName, containingFile, state.projectCompilerOptions, compilerHost, redirectedReference, state.typeReferenceDirectiveResolutionCache).resolvedTypeReferenceDirective; }; - compilerHost.resolveTypeReferenceDirectives = function (typeReferenceDirectiveNames, containingFile, redirectedReference) { - return ts.loadWithLocalCache(ts.Debug.checkEachDefined(typeReferenceDirectiveNames), containingFile, redirectedReference, loader_4); + var loader_4 = function (moduleName, containingFile, redirectedReference, containingFileMode) { return ts.resolveTypeReferenceDirective(moduleName, containingFile, state.projectCompilerOptions, compilerHost, redirectedReference, state.typeReferenceDirectiveResolutionCache, containingFileMode).resolvedTypeReferenceDirective; }; + compilerHost.resolveTypeReferenceDirectives = function (typeReferenceDirectiveNames, containingFile, redirectedReference, _options, containingFileMode) { + return ts.loadWithTypeDirectiveCache(ts.Debug.checkEachDefined(typeReferenceDirectiveNames), containingFile, redirectedReference, containingFileMode, loader_4); }; } var _a = ts.createWatchFactory(hostWithWatch, options), watchFile = _a.watchFile, watchDirectory = _a.watchDirectory, writeLog = _a.writeLog; @@ -122928,7 +124392,7 @@ var ts; function listEmittedFile(_a, proj, file) { var write = _a.write; if (write && proj.options.listEmittedFiles) { - write("TSFILE: ".concat(file)); + write("TSFILE: " + file); } } function getOldProgram(_a, proj, parsed) { @@ -122957,7 +124421,7 @@ var ts; function buildErrors(state, resolvedPath, program, config, diagnostics, buildResult, errorType) { var canEmitBuildInfo = !(buildResult & BuildResultFlags.SyntaxErrors) && program && !ts.outFile(program.getCompilerOptions()); reportAndStoreErrors(state, resolvedPath, diagnostics); - state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: "".concat(errorType, " errors") }); + state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: errorType + " errors" }); if (canEmitBuildInfo) return { buildResult: buildResult, step: BuildStep.EmitBuildInfo }; afterProgramDone(state, program, config); @@ -122985,7 +124449,7 @@ var ts; if (!host.fileExists(inputFile)) { return { type: ts.UpToDateStatusType.Unbuildable, - reason: "".concat(inputFile, " does not exist") + reason: inputFile + " does not exist" }; } if (!force) { @@ -123344,7 +124808,7 @@ var ts; } } if (filesToDelete) { - reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * ".concat(f); }).join("")); + reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * " + f; }).join("")); } return ts.ExitStatus.Success; } @@ -123682,7 +125146,7 @@ var ts; function nowString() { // E.g. "12:34:56.789" var d = new Date(); - return "".concat(ts.padLeft(d.getHours().toString(), 2, "0"), ":").concat(ts.padLeft(d.getMinutes().toString(), 2, "0"), ":").concat(ts.padLeft(d.getSeconds().toString(), 2, "0"), ".").concat(ts.padLeft(d.getMilliseconds().toString(), 3, "0")); + return ts.padLeft(d.getHours().toString(), 2, "0") + ":" + ts.padLeft(d.getMinutes().toString(), 2, "0") + ":" + ts.padLeft(d.getSeconds().toString(), 2, "0") + "." + ts.padLeft(d.getMilliseconds().toString(), 3, "0"); } server.nowString = nowString; })(server = ts.server || (ts.server = {})); @@ -123693,7 +125157,7 @@ var ts; var JsTyping; (function (JsTyping) { function isTypingUpToDate(cachedTyping, availableTypingVersions) { - var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts".concat(ts.versionMajorMinor)) || ts.getProperty(availableTypingVersions, "latest")); + var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts" + ts.versionMajorMinor) || ts.getProperty(availableTypingVersions, "latest")); return availableVersion.compareTo(cachedTyping.version) <= 0; } JsTyping.isTypingUpToDate = isTypingUpToDate; @@ -123746,7 +125210,7 @@ var ts; "worker_threads", "zlib" ]; - JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:".concat(name); }); + JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:" + name; }); JsTyping.nodeCoreModuleList = __spreadArray(__spreadArray([], unprefixedNodeCoreModuleList, true), JsTyping.prefixedNodeCoreModuleList, true); JsTyping.nodeCoreModules = new ts.Set(JsTyping.nodeCoreModuleList); function nonRelativeModuleNameForTypingCache(moduleName) { @@ -123819,7 +125283,7 @@ var ts; var excludeTypingName = exclude_1[_i]; var didDelete = inferredTypings.delete(excludeTypingName); if (didDelete && log) - log("Typing for ".concat(excludeTypingName, " is in exclude list, will be ignored.")); + log("Typing for " + excludeTypingName + " is in exclude list, will be ignored."); } var newTypingNames = []; var cachedTypingPaths = []; @@ -123833,7 +125297,7 @@ var ts; }); var result = { cachedTypingPaths: cachedTypingPaths, newTypingNames: newTypingNames, filesToWatch: filesToWatch }; if (log) - log("Result: ".concat(JSON.stringify(result))); + log("Result: " + JSON.stringify(result)); return result; function addInferredTyping(typingName) { if (!inferredTypings.has(typingName)) { @@ -123842,7 +125306,7 @@ var ts; } function addInferredTypings(typingNames, message) { if (log) - log("".concat(message, ": ").concat(JSON.stringify(typingNames))); + log(message + ": " + JSON.stringify(typingNames)); ts.forEach(typingNames, addInferredTyping); } /** @@ -123864,7 +125328,7 @@ var ts; filesToWatch.push(manifestPath); manifest = ts.readConfigFile(manifestPath, function (path) { return host.readFile(path); }).config; manifestTypingNames = ts.flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], ts.getOwnKeys); - addInferredTypings(manifestTypingNames, "Typing names in '".concat(manifestPath, "' dependencies")); + addInferredTypings(manifestTypingNames, "Typing names in '" + manifestPath + "' dependencies"); } // Now we scan the directories for typing information in // already-installed dependencies (if present). Note that this @@ -123908,7 +125372,7 @@ var ts; !isScoped && pathComponents[pathComponents.length - 3].toLowerCase() === modulesDirName; // `node_modules/foo` }); if (log) - log("Searching for typing names in ".concat(packagesFolderPath, "; all files: ").concat(JSON.stringify(dependencyManifestNames))); + log("Searching for typing names in " + packagesFolderPath + "; all files: " + JSON.stringify(dependencyManifestNames)); // Once we have the names of things to look up, we iterate over // and either collect their included typings, or add them to the // list of typings we need to look up separately. @@ -123927,12 +125391,12 @@ var ts; var absolutePath = ts.getNormalizedAbsolutePath(ownTypes, ts.getDirectoryPath(normalizedFileName)); if (host.fileExists(absolutePath)) { if (log) - log(" Package '".concat(manifest_1.name, "' provides its own types.")); + log(" Package '" + manifest_1.name + "' provides its own types."); inferredTypings.set(manifest_1.name, absolutePath); } else { if (log) - log(" Package '".concat(manifest_1.name, "' provides its own types but they are missing.")); + log(" Package '" + manifest_1.name + "' provides its own types but they are missing."); } } else { @@ -124028,15 +125492,15 @@ var ts; var kind = isScopeName ? "Scope" : "Package"; switch (result) { case 1 /* EmptyName */: - return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot be empty"); + return "'" + typing + "':: " + kind + " name '" + name + "' cannot be empty"; case 2 /* NameTooLong */: - return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' should be less than ").concat(maxPackageNameLength, " characters"); + return "'" + typing + "':: " + kind + " name '" + name + "' should be less than " + maxPackageNameLength + " characters"; case 3 /* NameStartsWithDot */: - return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '.'"); + return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '.'"; case 4 /* NameStartsWithUnderscore */: - return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '_'"); + return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '_'"; case 5 /* NameContainsNonURISafeCharacters */: - return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' contains non URI safe characters"); + return "'" + typing + "':: " + kind + " name '" + name + "' contains non URI safe characters"; case 0 /* Ok */: return ts.Debug.fail(); // Shouldn't have called this. default: @@ -124409,37 +125873,37 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return ts.isInJSFile(node) && ts.getJSDocEnumTag(node) ? 7 /* All */ : 1 /* Value */; - case 163 /* Parameter */: - case 202 /* BindingElement */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 291 /* CatchClause */: - case 284 /* JsxAttribute */: + case 164 /* Parameter */: + case 203 /* BindingElement */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 292 /* CatchClause */: + case 285 /* JsxAttribute */: return 1 /* Value */; - case 162 /* TypeParameter */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 181 /* TypeLiteral */: + case 163 /* TypeParameter */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 182 /* TypeLiteral */: return 2 /* Type */; - case 343 /* JSDocTypedefTag */: + case 345 /* JSDocTypedefTag */: // If it has no name node, it shares the name with the value declaration below it. return node.name === undefined ? 1 /* Value */ | 2 /* Type */ : 2 /* Type */; - case 297 /* EnumMember */: - case 256 /* ClassDeclaration */: + case 299 /* EnumMember */: + case 257 /* ClassDeclaration */: return 1 /* Value */ | 2 /* Type */; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: if (ts.isAmbientModule(node)) { return 4 /* Namespace */ | 1 /* Value */; } @@ -124449,16 +125913,16 @@ var ts; else { return 4 /* Namespace */; } - case 259 /* EnumDeclaration */: - case 268 /* NamedImports */: - case 269 /* ImportSpecifier */: - case 264 /* ImportEqualsDeclaration */: - case 265 /* ImportDeclaration */: - case 270 /* ExportAssignment */: - case 271 /* ExportDeclaration */: + case 260 /* EnumDeclaration */: + case 269 /* NamedImports */: + case 270 /* ImportSpecifier */: + case 265 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: + case 271 /* ExportAssignment */: + case 272 /* ExportDeclaration */: return 7 /* All */; // An external module can be a Value - case 303 /* SourceFile */: + case 305 /* SourceFile */: return 4 /* Namespace */ | 1 /* Value */; } return 7 /* All */; @@ -124467,7 +125931,7 @@ var ts; function getMeaningFromLocation(node) { node = getAdjustedReferenceLocation(node); var parent = node.parent; - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { return 1 /* Value */; } else if (ts.isExportAssignment(parent) @@ -124510,11 +125974,11 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - var name = node.kind === 160 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 264 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; + var name = node.kind === 161 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 265 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 160 /* QualifiedName */) { + while (node.parent.kind === 161 /* QualifiedName */) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -124526,27 +125990,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 160 /* QualifiedName */) { - while (root.parent && root.parent.kind === 160 /* QualifiedName */) { + if (root.parent.kind === 161 /* QualifiedName */) { + while (root.parent && root.parent.kind === 161 /* QualifiedName */) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 177 /* TypeReference */ && !isLastClause; + return root.parent.kind === 178 /* TypeReference */ && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 205 /* PropertyAccessExpression */) { - while (root.parent && root.parent.kind === 205 /* PropertyAccessExpression */) { + if (root.parent.kind === 206 /* PropertyAccessExpression */) { + while (root.parent && root.parent.kind === 206 /* PropertyAccessExpression */) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 227 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 290 /* HeritageClause */) { + if (!isLastClause && root.parent.kind === 228 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 291 /* HeritageClause */) { var decl = root.parent.parent.parent; - return (decl.kind === 256 /* ClassDeclaration */ && root.parent.parent.token === 117 /* ImplementsKeyword */) || - (decl.kind === 257 /* InterfaceDeclaration */ && root.parent.parent.token === 94 /* ExtendsKeyword */); + return (decl.kind === 257 /* ClassDeclaration */ && root.parent.parent.token === 117 /* ImplementsKeyword */) || + (decl.kind === 258 /* InterfaceDeclaration */ && root.parent.parent.token === 94 /* ExtendsKeyword */); } return false; } @@ -124557,16 +126021,16 @@ var ts; switch (node.kind) { case 108 /* ThisKeyword */: return !ts.isExpressionNode(node); - case 191 /* ThisType */: + case 192 /* ThisType */: return true; } switch (node.parent.kind) { - case 177 /* TypeReference */: + case 178 /* TypeReference */: return true; - case 199 /* ImportType */: + case 200 /* ImportType */: return !node.parent.isTypeOf; - case 227 /* ExpressionWithTypeArguments */: - return !ts.isExpressionWithTypeArgumentsInClassExtendsClause(node.parent); + case 228 /* ExpressionWithTypeArguments */: + return ts.isPartOfTypeNode(node.parent); } return false; } @@ -124632,7 +126096,7 @@ var ts; ts.climbPastPropertyOrElementAccess = climbPastPropertyOrElementAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 249 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 250 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -124693,22 +126157,22 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 294 /* PropertyAssignment */: - case 297 /* EnumMember */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 260 /* ModuleDeclaration */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 296 /* PropertyAssignment */: + case 299 /* EnumMember */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 261 /* ModuleDeclaration */: return ts.getNameOfDeclaration(node.parent) === node; - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: return node.parent.argumentExpression === node; - case 161 /* ComputedPropertyName */: + case 162 /* ComputedPropertyName */: return true; - case 195 /* LiteralType */: - return node.parent.parent.kind === 193 /* IndexedAccessType */; + case 196 /* LiteralType */: + return node.parent.parent.kind === 194 /* IndexedAccessType */; default: return false; } @@ -124732,17 +126196,17 @@ var ts; return undefined; } switch (node.kind) { - case 303 /* SourceFile */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 260 /* ModuleDeclaration */: + case 305 /* SourceFile */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 261 /* ModuleDeclaration */: return node; } } @@ -124750,56 +126214,56 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: return ts.isExternalModule(node) ? "module" /* moduleElement */ : "script" /* scriptElement */; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return "module" /* moduleElement */; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return "class" /* classElement */; - case 257 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; - case 258 /* TypeAliasDeclaration */: - case 336 /* JSDocCallbackTag */: - case 343 /* JSDocTypedefTag */: + case 258 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; + case 259 /* TypeAliasDeclaration */: + case 338 /* JSDocCallbackTag */: + case 345 /* JSDocTypedefTag */: return "type" /* typeElement */; - case 259 /* EnumDeclaration */: return "enum" /* enumElement */; - case 253 /* VariableDeclaration */: + case 260 /* EnumDeclaration */: return "enum" /* enumElement */; + case 254 /* VariableDeclaration */: return getKindOfVariableDeclaration(node); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); - case 213 /* ArrowFunction */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: return "function" /* functionElement */; - case 171 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; - case 172 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 172 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; + case 173 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: return "method" /* memberFunctionElement */; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: var initializer = node.initializer; return ts.isFunctionLike(initializer) ? "method" /* memberFunctionElement */ : "property" /* memberVariableElement */; - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 295 /* ShorthandPropertyAssignment */: - case 296 /* SpreadAssignment */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 297 /* ShorthandPropertyAssignment */: + case 298 /* SpreadAssignment */: return "property" /* memberVariableElement */; - case 175 /* IndexSignature */: return "index" /* indexSignatureElement */; - case 174 /* ConstructSignature */: return "construct" /* constructSignatureElement */; - case 173 /* CallSignature */: return "call" /* callSignatureElement */; - case 170 /* Constructor */: - case 169 /* ClassStaticBlockDeclaration */: + case 176 /* IndexSignature */: return "index" /* indexSignatureElement */; + case 175 /* ConstructSignature */: return "construct" /* constructSignatureElement */; + case 174 /* CallSignature */: return "call" /* callSignatureElement */; + case 171 /* Constructor */: + case 170 /* ClassStaticBlockDeclaration */: return "constructor" /* constructorImplementationElement */; - case 162 /* TypeParameter */: return "type parameter" /* typeParameterElement */; - case 297 /* EnumMember */: return "enum member" /* enumMemberElement */; - case 163 /* Parameter */: return ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; - case 264 /* ImportEqualsDeclaration */: - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: - case 267 /* NamespaceImport */: - case 273 /* NamespaceExport */: + case 163 /* TypeParameter */: return "type parameter" /* typeParameterElement */; + case 299 /* EnumMember */: return "enum member" /* enumMemberElement */; + case 164 /* Parameter */: return ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; + case 265 /* ImportEqualsDeclaration */: + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: + case 268 /* NamespaceImport */: + case 274 /* NamespaceExport */: return "alias" /* alias */; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: var kind = ts.getAssignmentDeclarationKind(node); var right = node.right; switch (kind) { @@ -124828,7 +126292,7 @@ var ts; } case 79 /* Identifier */: return ts.isImportClause(node.parent) ? "alias" /* alias */ : "" /* unknown */; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: var scriptKind = getNodeKind(node.expression); // If the expression didn't come back with something (like it does for an identifiers) return scriptKind === "" /* unknown */ ? "const" /* constElement */ : scriptKind; @@ -124851,7 +126315,7 @@ var ts; return true; case 79 /* Identifier */: // 'this' as a parameter - return ts.identifierIsThisKeyword(node) && node.parent.kind === 163 /* Parameter */; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 164 /* Parameter */; default: return false; } @@ -124916,42 +126380,42 @@ var ts; return false; } switch (n.kind) { - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 204 /* ObjectLiteralExpression */: - case 200 /* ObjectBindingPattern */: - case 181 /* TypeLiteral */: - case 234 /* Block */: - case 261 /* ModuleBlock */: - case 262 /* CaseBlock */: - case 268 /* NamedImports */: - case 272 /* NamedExports */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 205 /* ObjectLiteralExpression */: + case 201 /* ObjectBindingPattern */: + case 182 /* TypeLiteral */: + case 235 /* Block */: + case 262 /* ModuleBlock */: + case 263 /* CaseBlock */: + case 269 /* NamedImports */: + case 273 /* NamedExports */: return nodeEndsWith(n, 19 /* CloseBraceToken */, sourceFile); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return isCompletedNode(n.block, sourceFile); - case 208 /* NewExpression */: + case 209 /* NewExpression */: if (!n.arguments) { return true; } // falls through - case 207 /* CallExpression */: - case 211 /* ParenthesizedExpression */: - case 190 /* ParenthesizedType */: + case 208 /* CallExpression */: + case 212 /* ParenthesizedExpression */: + case 191 /* ParenthesizedType */: return nodeEndsWith(n, 21 /* CloseParenToken */, sourceFile); - case 178 /* FunctionType */: - case 179 /* ConstructorType */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: return isCompletedNode(n.type, sourceFile); - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 174 /* ConstructSignature */: - case 173 /* CallSignature */: - case 213 /* ArrowFunction */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 175 /* ConstructSignature */: + case 174 /* CallSignature */: + case 214 /* ArrowFunction */: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -124961,65 +126425,65 @@ var ts; // Even though type parameters can be unclosed, we can get away with // having at least a closing paren. return hasChildOfKind(n, 21 /* CloseParenToken */, sourceFile); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return !!n.body && isCompletedNode(n.body, sourceFile); - case 238 /* IfStatement */: + case 239 /* IfStatement */: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return isCompletedNode(n.expression, sourceFile) || hasChildOfKind(n, 26 /* SemicolonToken */, sourceFile); - case 203 /* ArrayLiteralExpression */: - case 201 /* ArrayBindingPattern */: - case 206 /* ElementAccessExpression */: - case 161 /* ComputedPropertyName */: - case 183 /* TupleType */: + case 204 /* ArrayLiteralExpression */: + case 202 /* ArrayBindingPattern */: + case 207 /* ElementAccessExpression */: + case 162 /* ComputedPropertyName */: + case 184 /* TupleType */: return nodeEndsWith(n, 23 /* CloseBracketToken */, sourceFile); - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: if (n.type) { return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 23 /* CloseBracketToken */, sourceFile); - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: // there is no such thing as terminator token for CaseClause/DefaultClause so for simplicity always consider them non-completed return false; - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 240 /* WhileStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 241 /* WhileStatement */: return isCompletedNode(n.statement, sourceFile); - case 239 /* DoStatement */: + case 240 /* DoStatement */: // rough approximation: if DoStatement has While keyword - then if node is completed is checking the presence of ')'; return hasChildOfKind(n, 115 /* WhileKeyword */, sourceFile) ? nodeEndsWith(n, 21 /* CloseParenToken */, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 180 /* TypeQuery */: + case 181 /* TypeQuery */: return isCompletedNode(n.exprName, sourceFile); - case 215 /* TypeOfExpression */: - case 214 /* DeleteExpression */: - case 216 /* VoidExpression */: - case 223 /* YieldExpression */: - case 224 /* SpreadElement */: + case 216 /* TypeOfExpression */: + case 215 /* DeleteExpression */: + case 217 /* VoidExpression */: + case 224 /* YieldExpression */: + case 225 /* SpreadElement */: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: return isCompletedNode(n.template, sourceFile); - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 232 /* TemplateSpan */: + case 233 /* TemplateSpan */: return ts.nodeIsPresent(n.literal); - case 271 /* ExportDeclaration */: - case 265 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: + case 266 /* ImportDeclaration */: return ts.nodeIsPresent(n.moduleSpecifier); - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: return isCompletedNode(n.operand, sourceFile); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return isCompletedNode(n.right, sourceFile); - case 221 /* ConditionalExpression */: + case 222 /* ConditionalExpression */: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -125144,11 +126608,11 @@ var ts; function getAdjustedLocationForDeclaration(node, forRename) { if (!forRename) { switch (node.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: return getAdjustedLocationForClass(node); - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: return getAdjustedLocationForFunction(node); } } @@ -125243,11 +126707,11 @@ var ts; node.kind === 98 /* FunctionKeyword */ ? ts.isFunctionDeclaration(parent) || ts.isFunctionExpression(node) : node.kind === 118 /* InterfaceKeyword */ ? ts.isInterfaceDeclaration(parent) : node.kind === 92 /* EnumKeyword */ ? ts.isEnumDeclaration(parent) : - node.kind === 151 /* TypeKeyword */ ? ts.isTypeAliasDeclaration(parent) : + node.kind === 152 /* TypeKeyword */ ? ts.isTypeAliasDeclaration(parent) : node.kind === 142 /* NamespaceKeyword */ || node.kind === 141 /* ModuleKeyword */ ? ts.isModuleDeclaration(parent) : node.kind === 100 /* ImportKeyword */ ? ts.isImportEqualsDeclaration(parent) : node.kind === 136 /* GetKeyword */ ? ts.isGetAccessorDeclaration(parent) : - node.kind === 148 /* SetKeyword */ && ts.isSetAccessorDeclaration(parent)) { + node.kind === 149 /* SetKeyword */ && ts.isSetAccessorDeclaration(parent)) { var location = getAdjustedLocationForDeclaration(parent, forRename); if (location) { return location; @@ -125261,7 +126725,7 @@ var ts; return decl.name; } } - if (node.kind === 151 /* TypeKeyword */) { + if (node.kind === 152 /* TypeKeyword */) { // import /**/type [|name|] from ...; // import /**/type { [|name|] } from ...; // import /**/type { propertyName as [|name|] } from ...; @@ -125328,12 +126792,12 @@ var ts; } } // import name = /**/require("[|module|]"); - if (node.kind === 145 /* RequireKeyword */ && ts.isExternalModuleReference(parent)) { + if (node.kind === 146 /* RequireKeyword */ && ts.isExternalModuleReference(parent)) { return parent.expression; } // import ... /**/from "[|module|]"; // export ... /**/from "[|module|]"; - if (node.kind === 155 /* FromKeyword */ && (ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent)) && parent.moduleSpecifier) { + if (node.kind === 156 /* FromKeyword */ && (ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent)) && parent.moduleSpecifier) { return parent.moduleSpecifier; } // class ... /**/extends [|name|] ... @@ -125371,7 +126835,7 @@ var ts; return parent.type.typeName; } // /**/readonly [|name|][] - if (node.kind === 144 /* ReadonlyKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 144 /* ReadonlyKeyword */ && + if (node.kind === 145 /* ReadonlyKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 145 /* ReadonlyKeyword */ && ts.isArrayTypeNode(parent.type) && ts.isTypeReferenceNode(parent.type.elementType)) { return parent.type.elementType.typeName; } @@ -125408,7 +126872,7 @@ var ts; // for (... /**/in [|name|]) // for (... /**/of [|name|]) if (node.kind === 101 /* InKeyword */ && ts.isForInStatement(parent) || - node.kind === 159 /* OfKeyword */ && ts.isForOfStatement(parent)) { + node.kind === 160 /* OfKeyword */ && ts.isForOfStatement(parent)) { return ts.skipOuterExpressions(parent.expression); } } @@ -125585,12 +127049,8 @@ var ts; } } ts.findNextToken = findNextToken; - /** - * Finds the rightmost token satisfying `token.end <= position`, - * excluding `JsxText` tokens containing only whitespace. - */ function findPrecedingToken(position, sourceFile, startNode, excludeJsdoc) { - var result = find(startNode || sourceFile); + var result = find((startNode || sourceFile)); ts.Debug.assert(!(result && isWhiteSpaceOnlyJsxText(result))); return result; function find(n) { @@ -125635,7 +127095,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 303 /* SourceFile */ || n.kind === 1 /* EndOfFileToken */ || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 305 /* SourceFile */ || n.kind === 1 /* EndOfFileToken */ || ts.isJSDocCommentContainingNode(n)); // Here we know that none of child token nodes embrace the position, // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. @@ -125666,7 +127126,7 @@ var ts; for (var i = exclusiveStartPosition - 1; i >= 0; i--) { var child = children[i]; if (isWhiteSpaceOnlyJsxText(child)) { - if (i === 0 && (parentKind === 11 /* JsxText */ || parentKind === 278 /* JsxSelfClosingElement */)) { + if (i === 0 && (parentKind === 11 /* JsxText */ || parentKind === 279 /* JsxSelfClosingElement */)) { ts.Debug.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`"); } } @@ -125710,17 +127170,17 @@ var ts; return true; } //
{ |
or
- if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 287 /* JsxExpression */) { + if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 288 /* JsxExpression */) { return true; } //
{ // | // } < /div> - if (token && token.kind === 19 /* CloseBraceToken */ && token.parent.kind === 287 /* JsxExpression */) { + if (token && token.kind === 19 /* CloseBraceToken */ && token.parent.kind === 288 /* JsxExpression */) { return true; } //
|
- if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 280 /* JsxClosingElement */) { + if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 281 /* JsxClosingElement */) { return true; } return false; @@ -125751,7 +127211,7 @@ var ts; function isInsideJsxElement(sourceFile, position) { function isInsideJsxElementTraversal(node) { while (node) { - if (node.kind >= 278 /* JsxSelfClosingElement */ && node.kind <= 287 /* JsxExpression */ + if (node.kind >= 279 /* JsxSelfClosingElement */ && node.kind <= 288 /* JsxExpression */ || node.kind === 11 /* JsxText */ || node.kind === 29 /* LessThanToken */ || node.kind === 31 /* GreaterThanToken */ @@ -125761,7 +127221,7 @@ var ts; || node.kind === 43 /* SlashToken */) { node = node.parent; } - else if (node.kind === 277 /* JsxElement */) { + else if (node.kind === 278 /* JsxElement */) { if (position > node.getStart(sourceFile)) return true; node = node.parent; @@ -125967,18 +127427,18 @@ var ts; result.push("export" /* exportedModifier */); if (flags & 8192 /* Deprecated */) result.push("deprecated" /* deprecatedModifier */); - if (node.flags & 8388608 /* Ambient */) + if (node.flags & 16777216 /* Ambient */) result.push("declare" /* ambientModifier */); - if (node.kind === 270 /* ExportAssignment */) + if (node.kind === 271 /* ExportAssignment */) result.push("export" /* exportedModifier */); return result.length > 0 ? result.join(",") : "" /* none */; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 177 /* TypeReference */ || node.kind === 207 /* CallExpression */) { + if (node.kind === 178 /* TypeReference */ || node.kind === 208 /* CallExpression */) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 256 /* ClassDeclaration */ || node.kind === 257 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(node) || node.kind === 257 /* ClassDeclaration */ || node.kind === 258 /* InterfaceDeclaration */) { return node.typeParameters; } return undefined; @@ -126023,18 +127483,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 203 /* ArrayLiteralExpression */ || - node.kind === 204 /* ObjectLiteralExpression */) { + if (node.kind === 204 /* ArrayLiteralExpression */ || + node.kind === 205 /* ObjectLiteralExpression */) { // [a,b,c] from: // [a, b, c] = someExpression; - if (node.parent.kind === 220 /* BinaryExpression */ && + if (node.parent.kind === 221 /* BinaryExpression */ && node.parent.left === node && node.parent.operatorToken.kind === 63 /* EqualsToken */) { return true; } // [a, b, c] from: // for([a, b, c] of expression) - if (node.parent.kind === 243 /* ForOfStatement */ && + if (node.parent.kind === 244 /* ForOfStatement */ && node.parent.initializer === node) { return true; } @@ -126042,7 +127502,7 @@ var ts; // [x, [a, b, c] ] = someExpression // or // {x, a: {a, b, c} } = someExpression - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 294 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 296 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { return true; } } @@ -126106,30 +127566,30 @@ var ts; ts.typeKeywords = [ 130 /* AnyKeyword */, 128 /* AssertsKeyword */, - 157 /* BigIntKeyword */, + 158 /* BigIntKeyword */, 133 /* BooleanKeyword */, 95 /* FalseKeyword */, 137 /* InferKeyword */, 140 /* KeyOfKeyword */, 143 /* NeverKeyword */, 104 /* NullKeyword */, - 146 /* NumberKeyword */, - 147 /* ObjectKeyword */, - 144 /* ReadonlyKeyword */, - 149 /* StringKeyword */, - 150 /* SymbolKeyword */, + 147 /* NumberKeyword */, + 148 /* ObjectKeyword */, + 145 /* ReadonlyKeyword */, + 150 /* StringKeyword */, + 151 /* SymbolKeyword */, 110 /* TrueKeyword */, 114 /* VoidKeyword */, - 152 /* UndefinedKeyword */, - 153 /* UniqueKeyword */, - 154 /* UnknownKeyword */, + 153 /* UndefinedKeyword */, + 154 /* UniqueKeyword */, + 155 /* UnknownKeyword */, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); } ts.isTypeKeyword = isTypeKeyword; function isTypeKeywordToken(node) { - return node.kind === 151 /* TypeKeyword */; + return node.kind === 152 /* TypeKeyword */; } ts.isTypeKeywordToken = isTypeKeywordToken; function isTypeKeywordTokenOrIdentifier(node) { @@ -126166,7 +127626,7 @@ var ts; } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 161 /* ComputedPropertyName */ + return name.kind === 162 /* ComputedPropertyName */ // treat computed property names where expression is string/numeric literal as just string/numeric literal ? ts.isStringOrNumericLiteralLike(name.expression) ? name.expression.text : undefined : ts.isPrivateIdentifier(name) ? ts.idText(name) : ts.getTextOfIdentifierOrLiteral(name); @@ -126309,7 +127769,7 @@ var ts; ts.findModifier = findModifier; function insertImports(changes, sourceFile, imports, blankLineBetween) { var decl = ts.isArray(imports) ? imports[0] : imports; - var importKindPredicate = decl.kind === 236 /* VariableStatement */ ? ts.isRequireVariableStatement : ts.isAnyImportSyntax; + var importKindPredicate = decl.kind === 237 /* VariableStatement */ ? ts.isRequireVariableStatement : ts.isAnyImportSyntax; var existingImportStatements = ts.filter(sourceFile.statements, importKindPredicate); var sortedNewImports = ts.isArray(imports) ? ts.stableSort(imports, ts.OrganizeImports.compareImportsOrRequireStatements) : [imports]; if (!existingImportStatements.length) { @@ -126591,16 +128051,17 @@ var ts; var prefix = ts.isJSDocLink(link) ? "link" : ts.isJSDocLinkCode(link) ? "linkcode" : "linkplain"; - var parts = [linkPart("{@".concat(prefix, " "))]; + var parts = [linkPart("{@" + prefix + " ")]; if (!link.name) { - if (link.text) + if (link.text) { parts.push(linkTextPart(link.text)); + } } else { var symbol = checker === null || checker === void 0 ? void 0 : checker.getSymbolAtLocation(link.name); var suffix = findLinkNameEnd(link.text); var name = ts.getTextOfNode(link.name) + link.text.slice(0, suffix); - var text = link.text.slice(suffix); + var text = skipSeparatorFromLinkText(link.text.slice(suffix)); var decl = (symbol === null || symbol === void 0 ? void 0 : symbol.valueDeclaration) || ((_a = symbol === null || symbol === void 0 ? void 0 : symbol.declarations) === null || _a === void 0 ? void 0 : _a[0]); if (decl) { parts.push(linkNamePart(name, decl)); @@ -126615,6 +128076,15 @@ var ts; return parts; } ts.buildLinkParts = buildLinkParts; + function skipSeparatorFromLinkText(text) { + var pos = 0; + if (text.charCodeAt(pos++) === 124 /* bar */) { + while (pos < text.length && text.charCodeAt(pos) === 32 /* space */) + pos++; + return text.slice(pos); + } + return text; + } function findLinkNameEnd(text) { if (text.indexOf("()") === 0) return 2; @@ -126680,6 +128150,14 @@ var ts; }); } ts.signatureToDisplayParts = signatureToDisplayParts; + function nodeToDisplayParts(node, enclosingDeclaration) { + var file = enclosingDeclaration.getSourceFile(); + return mapToDisplayParts(function (writer) { + var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); + printer.writeNode(4 /* Unspecified */, node, file, writer); + }); + } + ts.nodeToDisplayParts = nodeToDisplayParts; function isImportOrExportSpecifierName(location) { return !!location.parent && ts.isImportOrExportSpecifier(location.parent) && location.parent.propertyName === location; } @@ -126839,7 +128317,7 @@ var ts; function getUniqueName(baseName, sourceFile) { var nameText = baseName; for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { - nameText = "".concat(baseName, "_").concat(i); + nameText = baseName + "_" + i; } return nameText; } @@ -126930,15 +128408,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 208 /* NewExpression */: + case 209 /* NewExpression */: return checker.getContextualType(parent); - case 220 /* BinaryExpression */: { + case 221 /* BinaryExpression */: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 288 /* CaseClause */: + case 289 /* CaseClause */: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -126949,7 +128427,7 @@ var ts; // Editors can pass in undefined or empty string - we want to infer the preference in those cases. var quotePreference = getQuotePreference(sourceFile, preferences); var quoted = JSON.stringify(text); - return quotePreference === 0 /* Single */ ? "'".concat(ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"'), "'") : quoted; + return quotePreference === 0 /* Single */ ? "'" + ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"') + "'" : quoted; } ts.quote = quote; function isEqualityOperatorKind(kind) { @@ -126968,8 +128446,8 @@ var ts; switch (node.kind) { case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: - case 222 /* TemplateExpression */: - case 209 /* TaggedTemplateExpression */: + case 223 /* TemplateExpression */: + case 210 /* TaggedTemplateExpression */: return true; default: return false; @@ -127003,38 +128481,38 @@ var ts; } ts.getTypeNodeIfAccessible = getTypeNodeIfAccessible; function syntaxRequiresTrailingCommaOrSemicolonOrASI(kind) { - return kind === 173 /* CallSignature */ - || kind === 174 /* ConstructSignature */ - || kind === 175 /* IndexSignature */ - || kind === 165 /* PropertySignature */ - || kind === 167 /* MethodSignature */; + return kind === 174 /* CallSignature */ + || kind === 175 /* ConstructSignature */ + || kind === 176 /* IndexSignature */ + || kind === 166 /* PropertySignature */ + || kind === 168 /* MethodSignature */; } function syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI(kind) { - return kind === 255 /* FunctionDeclaration */ - || kind === 170 /* Constructor */ - || kind === 168 /* MethodDeclaration */ - || kind === 171 /* GetAccessor */ - || kind === 172 /* SetAccessor */; + return kind === 256 /* FunctionDeclaration */ + || kind === 171 /* Constructor */ + || kind === 169 /* MethodDeclaration */ + || kind === 172 /* GetAccessor */ + || kind === 173 /* SetAccessor */; } function syntaxRequiresTrailingModuleBlockOrSemicolonOrASI(kind) { - return kind === 260 /* ModuleDeclaration */; + return kind === 261 /* ModuleDeclaration */; } function syntaxRequiresTrailingSemicolonOrASI(kind) { - return kind === 236 /* VariableStatement */ - || kind === 237 /* ExpressionStatement */ - || kind === 239 /* DoStatement */ - || kind === 244 /* ContinueStatement */ - || kind === 245 /* BreakStatement */ - || kind === 246 /* ReturnStatement */ - || kind === 250 /* ThrowStatement */ - || kind === 252 /* DebuggerStatement */ - || kind === 166 /* PropertyDeclaration */ - || kind === 258 /* TypeAliasDeclaration */ - || kind === 265 /* ImportDeclaration */ - || kind === 264 /* ImportEqualsDeclaration */ - || kind === 271 /* ExportDeclaration */ - || kind === 263 /* NamespaceExportDeclaration */ - || kind === 270 /* ExportAssignment */; + return kind === 237 /* VariableStatement */ + || kind === 238 /* ExpressionStatement */ + || kind === 240 /* DoStatement */ + || kind === 245 /* ContinueStatement */ + || kind === 246 /* BreakStatement */ + || kind === 247 /* ReturnStatement */ + || kind === 251 /* ThrowStatement */ + || kind === 253 /* DebuggerStatement */ + || kind === 167 /* PropertyDeclaration */ + || kind === 259 /* TypeAliasDeclaration */ + || kind === 266 /* ImportDeclaration */ + || kind === 265 /* ImportEqualsDeclaration */ + || kind === 272 /* ExportDeclaration */ + || kind === 264 /* NamespaceExportDeclaration */ + || kind === 271 /* ExportAssignment */; } ts.syntaxRequiresTrailingSemicolonOrASI = syntaxRequiresTrailingSemicolonOrASI; ts.syntaxMayBeASICandidate = ts.or(syntaxRequiresTrailingCommaOrSemicolonOrASI, syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI, syntaxRequiresTrailingModuleBlockOrSemicolonOrASI, syntaxRequiresTrailingSemicolonOrASI); @@ -127064,7 +128542,7 @@ var ts; return false; } // See comment in parser’s `parseDoStatement` - if (node.kind === 239 /* DoStatement */) { + if (node.kind === 240 /* DoStatement */) { return true; } var topNode = ts.findAncestor(node, function (ancestor) { return !ancestor.parent; }); @@ -127333,7 +128811,7 @@ var ts; var components = ts.getPathComponents(ts.getPackageNameFromTypesPackageName(fullSpecifier)).slice(1); // Scoped packages if (ts.startsWith(components[0], "@")) { - return "".concat(components[0], "/").concat(components[1]); + return components[0] + "/" + components[1]; } return components[0]; } @@ -127460,13 +128938,13 @@ var ts; } function getSymbolParentOrFail(symbol) { var _a; - return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: ".concat(ts.Debug.formatSymbolFlags(symbol.flags), ". ") + - "Declarations: ".concat((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) { + return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: " + ts.Debug.formatSymbolFlags(symbol.flags) + ". " + + ("Declarations: " + ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) { var kind = ts.Debug.formatSyntaxKind(d.kind); var inJS = ts.isInJSFile(d); var expression = d.expression; - return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: ".concat(ts.Debug.formatSyntaxKind(expression.kind), ")") : ""); - }).join(", "), ".")); + return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: " + ts.Debug.formatSyntaxKind(expression.kind) + ")" : ""); + }).join(", ")) + ".")); } /** * Useful to check whether a string contains another string at a specific index @@ -127549,6 +129027,10 @@ var ts; return __assign(__assign({}, options), { semicolons: shouldRemoveSemicolons ? ts.SemicolonPreference.Remove : ts.SemicolonPreference.Ignore }); } ts.getFormatCodeSettingsForWriting = getFormatCodeSettingsForWriting; + function jsxModeNeedsExplicitImport(jsx) { + return jsx === 2 /* React */ || jsx === 3 /* ReactNative */; + } + ts.jsxModeNeedsExplicitImport = jsxModeNeedsExplicitImport; // #endregion })(ts || (ts = {})); /*@internal*/ @@ -127605,7 +129087,7 @@ var ts; packageName = ts.unmangleScopedPackageName(ts.getPackageNameFromTypesPackageName(moduleFile.fileName.substring(topLevelPackageNameIndex + 1, packageRootIndex))); if (ts.startsWith(importingFile, moduleFile.path.substring(0, topLevelNodeModulesIndex))) { var prevDeepestNodeModulesPath = packages.get(packageName); - var nodeModulesPath = moduleFile.fileName.substring(0, topLevelPackageNameIndex); + var nodeModulesPath = moduleFile.fileName.substring(0, topLevelPackageNameIndex + 1); if (prevDeepestNodeModulesPath) { var prevDeepestNodeModulesIndex = prevDeepestNodeModulesPath.indexOf(ts.nodeModulesPathPart); if (topLevelNodeModulesIndex > prevDeepestNodeModulesIndex) { @@ -127727,7 +129209,7 @@ var ts; : checker.tryFindAmbientModule(info.moduleName)); var symbol = info.symbol || cachedSymbol || ts.Debug.checkDefined(exportKind === 2 /* ExportEquals */ ? checker.resolveExternalModuleSymbol(moduleSymbol) - : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '".concat(info.symbolName, "' by key '").concat(info.symbolTableKey, "' in module ").concat(moduleSymbol.name)); + : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '" + info.symbolName + "' by key '" + info.symbolTableKey + "' in module " + moduleSymbol.name); symbols.set(id, [symbol, moduleSymbol]); return { symbol: symbol, @@ -127740,7 +129222,7 @@ var ts; } function key(importedName, symbol, ambientModuleName, checker) { var moduleKey = ambientModuleName || ""; - return "".concat(importedName, "|").concat(ts.getSymbolId(ts.skipAlias(symbol, checker)), "|").concat(moduleKey); + return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey; } function parseKey(key) { var symbolName = key.substring(0, key.indexOf("|")); @@ -127776,6 +129258,9 @@ var ts; function isNotShadowedByDeeperNodeModulesPackage(info, packageName) { if (!packageName || !info.moduleFileName) return true; + var typingsCacheLocation = host.getGlobalTypingsCacheLocation(); + if (typingsCacheLocation && ts.startsWith(info.moduleFileName, typingsCacheLocation)) + return true; var packageDeepestNodeModulesPath = packages.get(packageName); return !packageDeepestNodeModulesPath || ts.startsWith(info.moduleFileName, packageDeepestNodeModulesPath); } @@ -127785,7 +129270,7 @@ var ts; var _a; if (from === to) return false; - var cachedResult = moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.get(from.path, to.path, preferences); + var cachedResult = moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.get(from.path, to.path, preferences, {}); if ((cachedResult === null || cachedResult === void 0 ? void 0 : cachedResult.isAutoImportable) !== undefined) { return cachedResult.isAutoImportable; } @@ -127801,7 +129286,7 @@ var ts; }); if (packageJsonFilter) { var isAutoImportable = hasImportablePath && packageJsonFilter.allowsImportingSourceFile(to, moduleSpecifierResolutionHost); - moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.setIsAutoImportable(from.path, to.path, preferences, isAutoImportable); + moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.setIsAutoImportable(from.path, to.path, preferences, {}, isAutoImportable); return isAutoImportable; } return hasImportablePath; @@ -127826,7 +129311,7 @@ var ts; if (autoImportProvider) { var start = ts.timestamp(); forEachExternalModule(autoImportProvider.getTypeChecker(), autoImportProvider.getSourceFiles(), function (module, file) { return cb(module, file, autoImportProvider, /*isFromPackageJson*/ true); }); - (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: ".concat(ts.timestamp() - start)); + (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: " + (ts.timestamp() - start)); } } ts.forEachExternalModuleToImportFrom = forEachExternalModuleToImportFrom; @@ -127854,6 +129339,7 @@ var ts; var cache = ((_b = host.getCachedExportInfoMap) === null || _b === void 0 ? void 0 : _b.call(host)) || createCacheableExportInfoMap({ getCurrentProgram: function () { return program; }, getPackageJsonAutoImportProvider: function () { var _a; return (_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host); }, + getGlobalTypingsCacheLocation: function () { var _a; return (_a = host.getGlobalTypingsCacheLocation) === null || _a === void 0 ? void 0 : _a.call(host); }, }); if (cache.isUsableByFile(importingFile.path)) { (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, "getExportInfoMap: cache hit"); @@ -127879,7 +129365,7 @@ var ts; } }); }); - (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in ".concat(ts.timestamp() - start, " ms")); + (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in " + (ts.timestamp() - start) + " ms"); return cache; } ts.getExportInfoMap = getExportInfoMap; @@ -128040,10 +129526,10 @@ var ts; } break; case 130 /* AnyKeyword */: - case 149 /* StringKeyword */: - case 146 /* NumberKeyword */: + case 150 /* StringKeyword */: + case 147 /* NumberKeyword */: case 133 /* BooleanKeyword */: - case 150 /* SymbolKeyword */: + case 151 /* SymbolKeyword */: if (angleBracketStack > 0 && !syntacticClassifierAbsent) { // If it looks like we're could be in something generic, don't classify this // as a keyword. We may just get overwritten by the syntactic classifier, @@ -128233,7 +129719,7 @@ var ts; } switch (keyword2) { case 136 /* GetKeyword */: - case 148 /* SetKeyword */: + case 149 /* SetKeyword */: case 134 /* ConstructorKeyword */: case 124 /* StaticKeyword */: return true; // Allow things like "public get", "public constructor" and "public static". @@ -128378,13 +129864,13 @@ var ts; // That means we're calling back into the host around every 1.2k of the file we process. // Lib.d.ts has similar numbers. switch (kind) { - case 260 /* ModuleDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 255 /* FunctionDeclaration */: - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 261 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 256 /* FunctionDeclaration */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } } @@ -128412,7 +129898,7 @@ var ts; return { spans: spans, endOfLineState: 0 /* None */ }; function pushClassification(start, end, type) { var length = end - start; - ts.Debug.assert(length > 0, "Classification had non-positive length of ".concat(length)); + ts.Debug.assert(length > 0, "Classification had non-positive length of " + length); spans.push(start); spans.push(length); spans.push(type); @@ -128606,46 +130092,46 @@ var ts; pos = tag.tagName.end; var commentStart = tag.tagName.end; switch (tag.kind) { - case 338 /* JSDocParameterTag */: + case 340 /* JSDocParameterTag */: var param = tag; processJSDocParameterTag(param); commentStart = param.isNameFirst && ((_a = param.typeExpression) === null || _a === void 0 ? void 0 : _a.end) || param.name.end; break; - case 345 /* JSDocPropertyTag */: + case 347 /* JSDocPropertyTag */: var prop = tag; commentStart = prop.isNameFirst && ((_b = prop.typeExpression) === null || _b === void 0 ? void 0 : _b.end) || prop.name.end; break; - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: processJSDocTemplateTag(tag); pos = tag.end; commentStart = tag.typeParameters.end; break; - case 343 /* JSDocTypedefTag */: + case 345 /* JSDocTypedefTag */: var type = tag; - commentStart = ((_c = type.typeExpression) === null || _c === void 0 ? void 0 : _c.kind) === 307 /* JSDocTypeExpression */ && ((_d = type.fullName) === null || _d === void 0 ? void 0 : _d.end) || ((_e = type.typeExpression) === null || _e === void 0 ? void 0 : _e.end) || commentStart; + commentStart = ((_c = type.typeExpression) === null || _c === void 0 ? void 0 : _c.kind) === 309 /* JSDocTypeExpression */ && ((_d = type.fullName) === null || _d === void 0 ? void 0 : _d.end) || ((_e = type.typeExpression) === null || _e === void 0 ? void 0 : _e.end) || commentStart; break; - case 336 /* JSDocCallbackTag */: + case 338 /* JSDocCallbackTag */: commentStart = tag.typeExpression.end; break; - case 341 /* JSDocTypeTag */: + case 343 /* JSDocTypeTag */: processElement(tag.typeExpression); pos = tag.end; commentStart = tag.typeExpression.end; break; - case 340 /* JSDocThisTag */: - case 337 /* JSDocEnumTag */: + case 342 /* JSDocThisTag */: + case 339 /* JSDocEnumTag */: commentStart = tag.typeExpression.end; break; - case 339 /* JSDocReturnTag */: + case 341 /* JSDocReturnTag */: processElement(tag.typeExpression); pos = tag.end; commentStart = ((_f = tag.typeExpression) === null || _f === void 0 ? void 0 : _f.end) || commentStart; break; - case 344 /* JSDocSeeTag */: + case 346 /* JSDocSeeTag */: commentStart = ((_g = tag.name) === null || _g === void 0 ? void 0 : _g.end) || commentStart; break; - case 326 /* JSDocAugmentsTag */: - case 327 /* JSDocImplementsTag */: + case 328 /* JSDocAugmentsTag */: + case 329 /* JSDocImplementsTag */: commentStart = tag.class.end; break; } @@ -128802,22 +130288,22 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 279 /* JsxOpeningElement */: + case 280 /* JsxOpeningElement */: if (token.parent.tagName === token) { return 19 /* jsxOpenTagName */; } break; - case 280 /* JsxClosingElement */: + case 281 /* JsxClosingElement */: if (token.parent.tagName === token) { return 20 /* jsxCloseTagName */; } break; - case 278 /* JsxSelfClosingElement */: + case 279 /* JsxSelfClosingElement */: if (token.parent.tagName === token) { return 21 /* jsxSelfClosingTagName */; } break; - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: if (token.parent.name === token) { return 22 /* jsxAttribute */; } @@ -128846,17 +130332,17 @@ var ts; var parent = token.parent; if (tokenKind === 63 /* EqualsToken */) { // the '=' in a variable declaration is special cased here. - if (parent.kind === 253 /* VariableDeclaration */ || - parent.kind === 166 /* PropertyDeclaration */ || - parent.kind === 163 /* Parameter */ || - parent.kind === 284 /* JsxAttribute */) { + if (parent.kind === 254 /* VariableDeclaration */ || + parent.kind === 167 /* PropertyDeclaration */ || + parent.kind === 164 /* Parameter */ || + parent.kind === 285 /* JsxAttribute */) { return 5 /* operator */; } } - if (parent.kind === 220 /* BinaryExpression */ || - parent.kind === 218 /* PrefixUnaryExpression */ || - parent.kind === 219 /* PostfixUnaryExpression */ || - parent.kind === 221 /* ConditionalExpression */) { + if (parent.kind === 221 /* BinaryExpression */ || + parent.kind === 219 /* PrefixUnaryExpression */ || + parent.kind === 220 /* PostfixUnaryExpression */ || + parent.kind === 222 /* ConditionalExpression */) { return 5 /* operator */; } } @@ -128869,7 +130355,7 @@ var ts; return 25 /* bigintLiteral */; } else if (tokenKind === 10 /* StringLiteral */) { - return token && token.parent.kind === 284 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; + return token && token.parent.kind === 285 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; } else if (tokenKind === 13 /* RegularExpressionLiteral */) { // TODO: we should get another classification type for these literals. @@ -128885,32 +130371,32 @@ var ts; else if (tokenKind === 79 /* Identifier */) { if (token) { switch (token.parent.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: if (token.parent.name === token) { return 11 /* className */; } return; - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: if (token.parent.name === token) { return 15 /* typeParameterName */; } return; - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: if (token.parent.name === token) { return 13 /* interfaceName */; } return; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: if (token.parent.name === token) { return 12 /* enumName */; } return; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: if (token.parent.name === token) { return 14 /* moduleName */; } return; - case 163 /* Parameter */: + case 164 /* Parameter */: if (token.parent.name === token) { return ts.isThisIdentifier(token) ? 3 /* keyword */ : 17 /* parameterName */; } @@ -129015,13 +130501,13 @@ var ts; var inJSXElement = false; function visit(node) { switch (node.kind) { - case 260 /* ModuleDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 255 /* FunctionDeclaration */: - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 261 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 256 /* FunctionDeclaration */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } if (!node || !ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth()) || node.getFullWidth() === 0) { @@ -129167,25 +130653,25 @@ var ts; return (ts.isQualifiedName(node.parent) && node.parent.right === node) || (ts.isPropertyAccessExpression(node.parent) && node.parent.name === node); } var tokenFromDeclarationMapping = new ts.Map([ - [253 /* VariableDeclaration */, 7 /* variable */], - [163 /* Parameter */, 6 /* parameter */], - [166 /* PropertyDeclaration */, 9 /* property */], - [260 /* ModuleDeclaration */, 3 /* namespace */], - [259 /* EnumDeclaration */, 1 /* enum */], - [297 /* EnumMember */, 8 /* enumMember */], - [256 /* ClassDeclaration */, 0 /* class */], - [168 /* MethodDeclaration */, 11 /* member */], - [255 /* FunctionDeclaration */, 10 /* function */], - [212 /* FunctionExpression */, 10 /* function */], - [167 /* MethodSignature */, 11 /* member */], - [171 /* GetAccessor */, 9 /* property */], - [172 /* SetAccessor */, 9 /* property */], - [165 /* PropertySignature */, 9 /* property */], - [257 /* InterfaceDeclaration */, 2 /* interface */], - [258 /* TypeAliasDeclaration */, 5 /* type */], - [162 /* TypeParameter */, 4 /* typeParameter */], - [294 /* PropertyAssignment */, 9 /* property */], - [295 /* ShorthandPropertyAssignment */, 9 /* property */] + [254 /* VariableDeclaration */, 7 /* variable */], + [164 /* Parameter */, 6 /* parameter */], + [167 /* PropertyDeclaration */, 9 /* property */], + [261 /* ModuleDeclaration */, 3 /* namespace */], + [260 /* EnumDeclaration */, 1 /* enum */], + [299 /* EnumMember */, 8 /* enumMember */], + [257 /* ClassDeclaration */, 0 /* class */], + [169 /* MethodDeclaration */, 11 /* member */], + [256 /* FunctionDeclaration */, 10 /* function */], + [213 /* FunctionExpression */, 10 /* function */], + [168 /* MethodSignature */, 11 /* member */], + [172 /* GetAccessor */, 9 /* property */], + [173 /* SetAccessor */, 9 /* property */], + [166 /* PropertySignature */, 9 /* property */], + [258 /* InterfaceDeclaration */, 2 /* interface */], + [259 /* TypeAliasDeclaration */, 5 /* type */], + [163 /* TypeParameter */, 4 /* typeParameter */], + [296 /* PropertyAssignment */, 9 /* property */], + [297 /* ShorthandPropertyAssignment */, 9 /* property */] ]); })(v2020 = classifier.v2020 || (classifier.v2020 = {})); })(classifier = ts.classifier || (ts.classifier = {})); @@ -129284,7 +130770,7 @@ var ts; case ".d.cts" /* Dcts */: return ".d.cts" /* dctsModifier */; case ".cjs" /* Cjs */: return ".cjs" /* cjsModifier */; case ".cts" /* Cts */: return ".cts" /* ctsModifier */; - case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension ".concat(".tsbuildinfo" /* TsBuildInfo */, " is unsupported.")); + case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension " + ".tsbuildinfo" /* TsBuildInfo */ + " is unsupported."); case undefined: return "" /* none */; default: return ts.Debug.assertNever(extension); @@ -129299,10 +130785,10 @@ var ts; function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host, preferences) { var parent = walkUpParentheses(node.parent); switch (parent.kind) { - case 195 /* LiteralType */: { + case 196 /* LiteralType */: { var grandParent = walkUpParentheses(parent.parent); switch (grandParent.kind) { - case 177 /* TypeReference */: { + case 178 /* TypeReference */: { var typeReference_1 = grandParent; var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; }); if (typeArgument) { @@ -129310,7 +130796,7 @@ var ts; } return undefined; } - case 193 /* IndexedAccessType */: + case 194 /* IndexedAccessType */: // Get all apparent property names // i.e. interface Foo { // foo: string; @@ -129322,9 +130808,9 @@ var ts; return undefined; } return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(objectType)); - case 199 /* ImportType */: + case 200 /* ImportType */: return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; - case 186 /* UnionType */: { + case 187 /* UnionType */: { if (!ts.isTypeReferenceNode(grandParent.parent)) { return undefined; } @@ -129336,7 +130822,7 @@ var ts; return undefined; } } - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: if (ts.isObjectLiteralExpression(parent.parent) && parent.name === node) { // Get quoted name of properties of the object literal expression // i.e. interface ConfigFiles { @@ -129353,7 +130839,7 @@ var ts; return stringLiteralCompletionsForObjectLiteral(typeChecker, parent.parent); } return fromContextualType(); - case 206 /* ElementAccessExpression */: { + case 207 /* ElementAccessExpression */: { var _b = parent, expression = _b.expression, argumentExpression = _b.argumentExpression; if (node === ts.skipParentheses(argumentExpression)) { // Get all names of properties on the expression @@ -129366,19 +130852,20 @@ var ts; } return undefined; } - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 285 /* JsxAttribute */: if (!isRequireCallArgument(node) && !ts.isImportCall(parent)) { - var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(parent.kind === 285 /* JsxAttribute */ ? parent.parent : node, position, sourceFile); // Get string literal completions from specialized signatures of the target // i.e. declare function f(a: 'A'); // f("/*completion position*/") - return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo, typeChecker) : fromContextualType(); + return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) : fromContextualType(); } // falls through (is `require("")` or `require(""` or `import("")`) - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: - case 276 /* ExternalModuleReference */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: + case 277 /* ExternalModuleReference */: // Get all known external module names or complete a path to a module // i.e. import * as ns from "/*completion position*/"; // var y = import("/*completion position*/"); @@ -129397,9 +130884,9 @@ var ts; } function walkUpParentheses(node) { switch (node.kind) { - case 190 /* ParenthesizedType */: + case 191 /* ParenthesizedType */: return ts.walkUpParenthesizedTypes(node); - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return ts.walkUpParenthesizedExpressions(node); default: return node; @@ -129410,15 +130897,22 @@ var ts; return type !== current && ts.isLiteralTypeNode(type) && ts.isStringLiteral(type.literal) ? type.literal.text : undefined; }); } - function getStringLiteralCompletionsFromSignature(argumentInfo, checker) { + function getStringLiteralCompletionsFromSignature(call, arg, argumentInfo, checker) { var isNewIdentifier = false; var uniques = new ts.Map(); var candidates = []; - checker.getResolvedSignature(argumentInfo.invocation, candidates, argumentInfo.argumentCount); + var editingArgument = ts.isJsxOpeningLikeElement(call) ? ts.Debug.checkDefined(ts.findAncestor(arg.parent, ts.isJsxAttribute)) : arg; + checker.getResolvedSignatureForStringLiteralCompletions(call, editingArgument, candidates); var types = ts.flatMap(candidates, function (candidate) { if (!ts.signatureHasRestParameter(candidate) && argumentInfo.argumentCount > candidate.parameters.length) return; var type = candidate.getTypeParameterAtPosition(argumentInfo.argumentIndex); + if (ts.isJsxOpeningLikeElement(call)) { + var propType = checker.getTypeOfPropertyOfType(type, editingArgument.name.text); + if (propType) { + type = propType; + } + } isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */); return getStringLiteralTypes(type, uniques); }); @@ -129493,9 +130987,18 @@ var ts; return getCompletionEntriesForDirectoryFragment(literalValue, scriptDirectory, extensionOptions, host, scriptPath); } } + function isEmitResolutionKindUsingNodeModules(compilerOptions) { + return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs || + ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || + ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext; + } + function isEmitModuleResolutionRespectingExportMaps(compilerOptions) { + return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || + ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext; + } function getSupportedExtensionsForModuleResolution(compilerOptions) { var extensions = ts.getSupportedExtensions(compilerOptions); - return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs ? + return isEmitResolutionKindUsingNodeModules(compilerOptions) ? ts.getSupportedExtensionsWithJsonIfResolveJsonModule(compilerOptions, extensions) : extensions; } @@ -129658,7 +131161,7 @@ var ts; result.push(nameAndKind(ambientName, "external module name" /* externalModuleName */, /*extension*/ undefined)); } getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, fragmentDirectory, extensionOptions, result); - if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs) { + if (isEmitResolutionKindUsingNodeModules(compilerOptions)) { // If looking for a global package name, don't just include everything in `node_modules` because that includes dependencies' own dependencies. // (But do if we didn't find anything, e.g. 'package.json' missing.) var foundGlobal = false; @@ -129675,12 +131178,68 @@ var ts; } } if (!foundGlobal) { - ts.forEachAncestorDirectory(scriptPath, function (ancestor) { + var ancestorLookup = function (ancestor) { var nodeModules = ts.combinePaths(ancestor, "node_modules"); if (ts.tryDirectoryExists(host, nodeModules)) { getCompletionEntriesForDirectoryFragment(fragment, nodeModules, extensionOptions, host, /*exclude*/ undefined, result); } - }); + }; + if (fragmentDirectory && isEmitModuleResolutionRespectingExportMaps(compilerOptions)) { + var nodeModulesDirectoryLookup_1 = ancestorLookup; + ancestorLookup = function (ancestor) { + var components = ts.getPathComponents(fragment); + components.shift(); // shift off empty root + var packagePath = components.shift(); + if (!packagePath) { + return nodeModulesDirectoryLookup_1(ancestor); + } + if (ts.startsWith(packagePath, "@")) { + var subName = components.shift(); + if (!subName) { + return nodeModulesDirectoryLookup_1(ancestor); + } + packagePath = ts.combinePaths(packagePath, subName); + } + var packageFile = ts.combinePaths(ancestor, "node_modules", packagePath, "package.json"); + if (ts.tryFileExists(host, packageFile)) { + var packageJson = ts.readJson(packageFile, host); + var exports = packageJson.exports; + if (exports) { + if (typeof exports !== "object" || exports === null) { // eslint-disable-line no-null/no-null + return; // null exports or entrypoint only, no sub-modules available + } + var keys = ts.getOwnKeys(exports); + var fragmentSubpath_1 = components.join("/"); + var processedKeys = ts.mapDefined(keys, function (k) { + if (k === ".") + return undefined; + if (!ts.startsWith(k, "./")) + return undefined; + var subpath = k.substring(2); + if (!ts.startsWith(subpath, fragmentSubpath_1)) + return undefined; + // subpath is a valid export (barring conditions, which we don't currently check here) + if (!ts.stringContains(subpath, "*")) { + return subpath; + } + // pattern export - only return everything up to the `*`, so the user can autocomplete, then + // keep filling in the pattern (we could speculatively return a list of options by hitting disk, + // but conditions will make that somewhat awkward, as each condition may have a different set of possible + // options for the `*`. + return subpath.slice(0, subpath.indexOf("*")); + }); + ts.forEach(processedKeys, function (k) { + if (k) { + result.push(nameAndKind(k, "external module name" /* externalModuleName */, /*extension*/ undefined)); + } + }); + return; + } + } + return nodeModulesDirectoryLookup_1(ancestor); + }; + } + ts.forEachAncestorDirectory(scriptPath, ancestorLookup); } } return result; @@ -129896,42 +131455,28 @@ var ts; // Exported only for tests Completions.moduleSpecifierResolutionLimit = 100; Completions.moduleSpecifierResolutionCacheAttemptLimit = 1000; - // NOTE: Make sure that each entry has the exact same number of digits - // since many implementations will sort by string contents, - // where "10" is considered less than "2". - var SortText; - (function (SortText) { - SortText["LocalDeclarationPriority"] = "10"; - SortText["LocationPriority"] = "11"; - SortText["OptionalMember"] = "12"; - SortText["MemberDeclaredBySpreadAssignment"] = "13"; - SortText["SuggestedClassMembers"] = "14"; - SortText["GlobalsOrKeywords"] = "15"; - SortText["AutoImportSuggestions"] = "16"; - SortText["JavascriptIdentifiers"] = "17"; - SortText["DeprecatedLocalDeclarationPriority"] = "18"; - SortText["DeprecatedLocationPriority"] = "19"; - SortText["DeprecatedOptionalMember"] = "20"; - SortText["DeprecatedMemberDeclaredBySpreadAssignment"] = "21"; - SortText["DeprecatedSuggestedClassMembers"] = "22"; - SortText["DeprecatedGlobalsOrKeywords"] = "23"; - SortText["DeprecatedAutoImportSuggestions"] = "24"; - })(SortText = Completions.SortText || (Completions.SortText = {})); - var SortTextId; - (function (SortTextId) { - SortTextId[SortTextId["LocalDeclarationPriority"] = 10] = "LocalDeclarationPriority"; - SortTextId[SortTextId["LocationPriority"] = 11] = "LocationPriority"; - SortTextId[SortTextId["OptionalMember"] = 12] = "OptionalMember"; - SortTextId[SortTextId["MemberDeclaredBySpreadAssignment"] = 13] = "MemberDeclaredBySpreadAssignment"; - SortTextId[SortTextId["SuggestedClassMembers"] = 14] = "SuggestedClassMembers"; - SortTextId[SortTextId["GlobalsOrKeywords"] = 15] = "GlobalsOrKeywords"; - SortTextId[SortTextId["AutoImportSuggestions"] = 16] = "AutoImportSuggestions"; - // Don't use these directly. - SortTextId[SortTextId["_JavaScriptIdentifiers"] = 17] = "_JavaScriptIdentifiers"; - SortTextId[SortTextId["_DeprecatedStart"] = 18] = "_DeprecatedStart"; - SortTextId[SortTextId["_First"] = 10] = "_First"; - SortTextId[SortTextId["DeprecatedOffset"] = 8] = "DeprecatedOffset"; - })(SortTextId || (SortTextId = {})); + Completions.SortText = { + // Presets + LocalDeclarationPriority: "10", + LocationPriority: "11", + OptionalMember: "12", + MemberDeclaredBySpreadAssignment: "13", + SuggestedClassMembers: "14", + GlobalsOrKeywords: "15", + AutoImportSuggestions: "16", + ClassMemberSnippets: "17", + JavascriptIdentifiers: "18", + // Transformations + Deprecated: function (sortText) { + return "z" + sortText; + }, + ObjectLiteralProperty: function (presetSortText, symbolDisplayName) { + return presetSortText + "\0" + symbolDisplayName + "\0"; + }, + SortBelow: function (sortText) { + return sortText + "1"; + }, + }; /** * Special values for `CompletionInfo['source']` used to disambiguate * completion items with the same `name`. (Each completion item must @@ -129951,6 +131496,8 @@ var ts; CompletionSource["ClassMemberSnippet"] = "ClassMemberSnippet/"; /** A type-only import that needs to be promoted in order to be used at the completion location */ CompletionSource["TypeOnlyAlias"] = "TypeOnlyAlias/"; + /** Auto-import that comes attached to an object literal method snippet */ + CompletionSource["ObjectLiteralMethodSnippet"] = "ObjectLiteralMethodSnippet/"; })(CompletionSource = Completions.CompletionSource || (Completions.CompletionSource = {})); var SymbolOriginInfoKind; (function (SymbolOriginInfoKind) { @@ -129961,6 +131508,7 @@ var ts; SymbolOriginInfoKind[SymbolOriginInfoKind["Nullable"] = 16] = "Nullable"; SymbolOriginInfoKind[SymbolOriginInfoKind["ResolvedExport"] = 32] = "ResolvedExport"; SymbolOriginInfoKind[SymbolOriginInfoKind["TypeOnlyAlias"] = 64] = "TypeOnlyAlias"; + SymbolOriginInfoKind[SymbolOriginInfoKind["ObjectLiteralMethod"] = 128] = "ObjectLiteralMethod"; SymbolOriginInfoKind[SymbolOriginInfoKind["SymbolMemberNoExport"] = 2] = "SymbolMemberNoExport"; SymbolOriginInfoKind[SymbolOriginInfoKind["SymbolMemberExport"] = 6] = "SymbolMemberExport"; })(SymbolOriginInfoKind || (SymbolOriginInfoKind = {})); @@ -129991,6 +131539,9 @@ var ts; function originIsTypeOnlyAlias(origin) { return !!(origin && origin.kind & 64 /* TypeOnlyAlias */); } + function originIsObjectLiteralMethod(origin) { + return !!(origin && origin.kind & 128 /* ObjectLiteralMethod */); + } var KeywordCompletionFilters; (function (KeywordCompletionFilters) { KeywordCompletionFilters[KeywordCompletionFilters["None"] = 0] = "None"; @@ -130020,10 +131571,10 @@ var ts; var resolvedFromCacheCount = 0; var cacheAttemptCount = 0; var result = cb({ tryResolve: tryResolve, resolutionLimitExceeded: function () { return resolutionLimitExceeded; } }); - var hitRateMessage = cacheAttemptCount ? " (".concat((resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1), "% hit rate)") : ""; - (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, "".concat(logPrefix, ": resolved ").concat(resolvedCount, " module specifiers, plus ").concat(ambientCount, " ambient and ").concat(resolvedFromCacheCount, " from cache").concat(hitRateMessage)); - (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "".concat(logPrefix, ": response is ").concat(resolutionLimitExceeded ? "incomplete" : "complete")); - (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, "".concat(logPrefix, ": ").concat(ts.timestamp() - start)); + var hitRateMessage = cacheAttemptCount ? " (" + (resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1) + "% hit rate)" : ""; + (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, logPrefix + ": resolved " + resolvedCount + " module specifiers, plus " + ambientCount + " ambient and " + resolvedFromCacheCount + " from cache" + hitRateMessage); + (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, logPrefix + ": response is " + (resolutionLimitExceeded ? "incomplete" : "complete")); + (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, logPrefix + ": " + (ts.timestamp() - start)); return result; function tryResolve(exportInfo, isFromAmbientModule) { if (isFromAmbientModule) { @@ -130083,7 +131634,7 @@ var ts; && (previousToken.kind === 81 /* BreakKeyword */ || previousToken.kind === 86 /* ContinueKeyword */ || previousToken.kind === 79 /* Identifier */)) { return getLabelCompletionAtPosition(previousToken.parent); } - var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, preferences, /*detailsEntryId*/ undefined, host, cancellationToken); + var completionData = getCompletionData(program, log, sourceFile, compilerOptions, position, preferences, /*detailsEntryId*/ undefined, host, formatContext, cancellationToken); if (!completionData) { return undefined; } @@ -130181,7 +131732,7 @@ var ts; name: ts.tokenToString(keyword), kind: "keyword" /* keyword */, kindModifiers: "" /* none */, - sortText: SortText.GlobalsOrKeywords, + sortText: Completions.SortText.GlobalsOrKeywords, }; } function specificKeywordCompletionInfo(entries, isNewIdentifierLocation) { @@ -130201,7 +131752,7 @@ var ts; } function keywordFiltersFromSyntaxKind(keywordCompletion) { switch (keywordCompletion) { - case 151 /* TypeKeyword */: return 8 /* TypeKeyword */; + case 152 /* TypeKeyword */: return 8 /* TypeKeyword */; default: ts.Debug.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters"); } } @@ -130210,7 +131761,7 @@ var ts; return (location === null || location === void 0 ? void 0 : location.kind) === 79 /* Identifier */ ? ts.createTextSpanFromNode(location) : undefined; } function completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position) { - var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, isRightOfOpenTag = completionData.isRightOfOpenTag, importCompletionNode = completionData.importCompletionNode, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextIdMap = completionData.symbolToSortTextIdMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; + var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, isRightOfOpenTag = completionData.isRightOfOpenTag, importCompletionNode = completionData.importCompletionNode, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextMap = completionData.symbolToSortTextMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; // Verify if the file is JSX language variant if (ts.getLanguageVariant(sourceFile.scriptKind) === 1 /* JSX */) { var completionInfo = getJsxClosingTagCompletion(location, sourceFile); @@ -130221,7 +131772,7 @@ var ts; var entries = ts.createSortedArray(); if (isUncheckedFile(sourceFile, compilerOptions)) { var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap, isJsxIdentifierExpected, isRightOfOpenTag); + /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); getJSCompletionEntries(sourceFile, location.pos, uniqueNames, ts.getEmitScriptTarget(compilerOptions), entries); } else { @@ -130229,7 +131780,7 @@ var ts; return undefined; } getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap, isJsxIdentifierExpected, isRightOfOpenTag); + /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); } if (keywordFilters !== 0 /* None */) { var entryNames_1 = new ts.Set(entries.map(function (e) { return e.name; })); @@ -130277,12 +131828,12 @@ var ts; // We wanna walk up the tree till we find a JSX closing element var jsxClosingElement = ts.findAncestor(location, function (node) { switch (node.kind) { - case 280 /* JsxClosingElement */: + case 281 /* JsxClosingElement */: return true; case 43 /* SlashToken */: case 31 /* GreaterThanToken */: case 79 /* Identifier */: - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return false; default: return "quit"; @@ -130310,7 +131861,7 @@ var ts; name: fullClosingTag, kind: "class" /* classElement */, kindModifiers: undefined, - sortText: SortText.LocationPriority, + sortText: Completions.SortText.LocationPriority, }; return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: false, optionalReplacementSpan: replacementSpan, entries: [entry] }; } @@ -130329,7 +131880,7 @@ var ts; name: realName, kind: "warning" /* warning */, kindModifiers: "", - sortText: SortText.JavascriptIdentifiers, + sortText: Completions.SortText.JavascriptIdentifiers, isFromUncheckedFile: true }, compareCompletionEntries); } @@ -130340,7 +131891,7 @@ var ts; ts.isString(literal) ? ts.quote(sourceFile, preferences, literal) : JSON.stringify(literal); } function createCompletionEntryForLiteral(sourceFile, preferences, literal) { - return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: SortText.LocationPriority }; + return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: Completions.SortText.LocationPriority }; } function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag) { var _a, _b; @@ -130351,20 +131902,21 @@ var ts; var source = getSourceFromOrigin(origin); var sourceDisplay; var hasAction; + var labelDetails; var typeChecker = program.getTypeChecker(); var insertQuestionDot = origin && originIsNullableMember(origin); var useBraces = origin && originIsSymbolMember(origin) || needsConvertPropertyAccess; if (origin && originIsThisType(origin)) { insertText = needsConvertPropertyAccess - ? "this".concat(insertQuestionDot ? "?." : "", "[").concat(quotePropertyName(sourceFile, preferences, name), "]") - : "this".concat(insertQuestionDot ? "?." : ".").concat(name); + ? "this" + (insertQuestionDot ? "?." : "") + "[" + quotePropertyName(sourceFile, preferences, name) + "]" + : "this" + (insertQuestionDot ? "?." : ".") + name; } // We should only have needsConvertPropertyAccess if there's a property access to convert. But see #21790. // Somehow there was a global with a non-identifier name. Hopefully someone will complain about getting a "foo bar" global completion and provide a repro. else if ((useBraces || insertQuestionDot) && propertyAccessToConvert) { - insertText = useBraces ? needsConvertPropertyAccess ? "[".concat(quotePropertyName(sourceFile, preferences, name), "]") : "[".concat(name, "]") : name; + insertText = useBraces ? needsConvertPropertyAccess ? "[" + quotePropertyName(sourceFile, preferences, name) + "]" : "[" + name + "]" : name; if (insertQuestionDot || propertyAccessToConvert.questionDotToken) { - insertText = "?.".concat(insertText); + insertText = "?." + insertText; } var dot = ts.findChildOfKind(propertyAccessToConvert, 24 /* DotToken */, sourceFile) || ts.findChildOfKind(propertyAccessToConvert, 28 /* QuestionDotToken */, sourceFile); @@ -130378,7 +131930,7 @@ var ts; if (isJsxInitializer) { if (insertText === undefined) insertText = name; - insertText = "{".concat(insertText, "}"); + insertText = "{" + insertText + "}"; if (typeof isJsxInitializer !== "boolean") { replacementSpan = ts.createTextSpanFromNode(isJsxInitializer, sourceFile); } @@ -130391,8 +131943,8 @@ var ts; if (precedingToken && ts.positionIsASICandidate(precedingToken.end, precedingToken.parent, sourceFile)) { awaitText = ";"; } - awaitText += "(await ".concat(propertyAccessToConvert.expression.getText(), ")"); - insertText = needsConvertPropertyAccess ? "".concat(awaitText).concat(insertText) : "".concat(awaitText).concat(insertQuestionDot ? "?." : ".").concat(insertText); + awaitText += "(await " + propertyAccessToConvert.expression.getText() + ")"; + insertText = needsConvertPropertyAccess ? "" + awaitText + insertText : "" + awaitText + (insertQuestionDot ? "?." : ".") + insertText; replacementSpan = ts.createTextSpanFromBounds(propertyAccessToConvert.getStart(sourceFile), propertyAccessToConvert.end); } if (originIsResolvedExport(origin)) { @@ -130410,12 +131962,26 @@ var ts; completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location)) { var importAdder = void 0; - (_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder); + (_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan); + sortText = Completions.SortText.ClassMemberSnippets; // sortText has to be lower priority than the sortText for keywords. See #47852. if (importAdder === null || importAdder === void 0 ? void 0 : importAdder.hasFixes()) { hasAction = true; source = CompletionSource.ClassMemberSnippet; } } + if (origin && originIsObjectLiteralMethod(origin)) { + var importAdder = void 0; + (insertText = origin.insertText, isSnippet = origin.isSnippet, importAdder = origin.importAdder, labelDetails = origin.labelDetails); + if (!preferences.useLabelDetailsInCompletionEntries) { + name = name + labelDetails.detail; + labelDetails = undefined; + } + source = CompletionSource.ObjectLiteralMethodSnippet; + sortText = Completions.SortText.SortBelow(sortText); + if (importAdder.hasFixes()) { + hasAction = true; + } + } if (isJsxIdentifierExpected && !isRightOfOpenTag && preferences.includeCompletionsWithSnippetText && preferences.jsxAttributeCompletionStyle && preferences.jsxAttributeCompletionStyle !== "none") { var useBraces_1 = preferences.jsxAttributeCompletionStyle === "braces"; var type = typeChecker.getTypeOfSymbolAtLocation(symbol, location); @@ -130425,7 +131991,7 @@ var ts; && !(type.flags & 1048576 /* Union */ && ts.find(type.types, function (type) { return !!(type.flags & 528 /* BooleanLike */); }))) { if (type.flags & 402653316 /* StringLike */ || (type.flags & 1048576 /* Union */ && ts.every(type.types, function (type) { return !!(type.flags & (402653316 /* StringLike */ | 32768 /* Undefined */)); }))) { // If is string like or undefined use quotes - insertText = "".concat(ts.escapeSnippetText(name), "=").concat(ts.quote(sourceFile, preferences, "$1")); + insertText = ts.escapeSnippetText(name) + "=" + ts.quote(sourceFile, preferences, "$1"); isSnippet = true; } else { @@ -130434,7 +132000,7 @@ var ts; } } if (useBraces_1) { - insertText = "".concat(ts.escapeSnippetText(name), "={$1}"); + insertText = ts.escapeSnippetText(name) + "={$1}"; isSnippet = true; } } @@ -130463,6 +132029,7 @@ var ts; insertText: insertText, replacementSpan: replacementSpan, sourceDisplay: sourceDisplay, + labelDetails: labelDetails, isSnippet: isSnippet, isPackageJsonImport: originIsPackageJsonImport(origin) || undefined, isImportStatementCompletion: !!importCompletionNode || undefined, @@ -130514,6 +132081,7 @@ var ts; return { insertText: name }; } var isSnippet; + var replacementSpan; var insertText = name; var checker = program.getTypeChecker(); var sourceFile = location.getSourceFile(); @@ -130542,10 +132110,8 @@ var ts; var modifiers = 0 /* None */; // Whether the suggested member should be abstract. // e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`. - // Note: We are relying on checking if the context token is `abstract`, - // since other visibility modifiers (e.g. `protected`) should come *before* `abstract`. - // However, that is not true for the e.g. `override` modifier, so this check has its limitations. - var isAbstract = contextToken && isModifierLike(contextToken) === 126 /* AbstractKeyword */; + var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span; + var isAbstract = !!(presentModifiers & 128 /* Abstract */); var completionNodes = []; ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder, // `addNewNodeForMemberSymbol` calls this callback function for each new member node @@ -130564,48 +132130,36 @@ var ts; && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) { requiredModifiers |= 16384 /* Override */; } - var presentModifiers = 0 /* None */; if (!completionNodes.length) { - // Omit already present modifiers from the first completion node/signature. - if (contextToken) { - presentModifiers = getPresentModifiers(contextToken); - } // Keep track of added missing required modifiers and modifiers already present. // This is needed when we have overloaded signatures, // so this callback will be called for multiple nodes/signatures, // and we need to make sure the modifiers are uniform for all nodes/signatures. modifiers = node.modifierFlagsCache | requiredModifiers | presentModifiers; } - node = ts.factory.updateModifiers(node, modifiers & (~presentModifiers)); + node = ts.factory.updateModifiers(node, modifiers); completionNodes.push(node); }, body, 2 /* Property */, isAbstract); if (completionNodes.length) { + var format = 1 /* MultiLine */ | 131072 /* NoTrailingNewLine */; + replacementSpan = modifiersSpan; // If we have access to formatting settings, we print the nodes using the emitter, // and then format the printed text. if (formatContext) { - var syntheticFile_1 = { - text: printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile), - getLineAndCharacterOfPosition: function (pos) { - return ts.getLineAndCharacterOfPosition(this, pos); - }, - }; - var formatOptions_1 = ts.getFormatCodeSettingsForWriting(formatContext, sourceFile); - var changes = ts.flatMap(completionNodes, function (node) { - var nodeWithPos = ts.textChanges.assignPositionsToNode(node); - return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile_1, sourceFile.languageVariant, - /* indentation */ 0, - /* delta */ 0, __assign(__assign({}, formatContext), { options: formatOptions_1 })); - }); - insertText = ts.textChanges.applyChanges(syntheticFile_1.text, changes); + insertText = printer.printAndFormatSnippetList(format, ts.factory.createNodeArray(completionNodes), sourceFile, formatContext); } else { // Otherwise, just use emitter to print the new nodes. - insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile); + insertText = printer.printSnippetList(format, ts.factory.createNodeArray(completionNodes), sourceFile); } } - return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder }; + return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder, replacementSpan: replacementSpan }; } function getPresentModifiers(contextToken) { + if (!contextToken) { + return { modifiers: 0 /* None */ }; + } var modifiers = 0 /* None */; + var span; var contextMod; /* Cases supported: @@ -130628,11 +132182,13 @@ var ts; */ if (contextMod = isModifierLike(contextToken)) { modifiers |= ts.modifierToFlag(contextMod); + span = ts.createTextSpanFromNode(contextToken); } if (ts.isPropertyDeclaration(contextToken.parent)) { modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers); + span = ts.createTextSpanFromNode(contextToken.parent); } - return modifiers; + return { modifiers: modifiers, span: span }; } function isModifierLike(node) { if (ts.isModifier(node)) { @@ -130643,12 +132199,113 @@ var ts; } return undefined; } + function getEntryForObjectLiteralMethodCompletion(symbol, name, enclosingDeclaration, program, host, options, preferences, formatContext) { + var isSnippet = preferences.includeCompletionsWithSnippetText || undefined; + var insertText = name; + var sourceFile = enclosingDeclaration.getSourceFile(); + var importAdder = ts.codefix.createImportAdder(sourceFile, program, preferences, host); + var method = createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences, importAdder); + if (!method) { + return undefined; + } + var printer = createSnippetPrinter({ + removeComments: true, + module: options.module, + target: options.target, + omitTrailingSemicolon: false, + newLine: ts.getNewLineKind(ts.getNewLineCharacter(options, ts.maybeBind(host, host.getNewLine))), + }); + if (formatContext) { + insertText = printer.printAndFormatSnippetList(16 /* CommaDelimited */ | 64 /* AllowTrailingComma */, ts.factory.createNodeArray([method], /*hasTrailingComma*/ true), sourceFile, formatContext); + } + else { + insertText = printer.printSnippetList(16 /* CommaDelimited */ | 64 /* AllowTrailingComma */, ts.factory.createNodeArray([method], /*hasTrailingComma*/ true), sourceFile); + } + var signaturePrinter = ts.createPrinter({ + removeComments: true, + module: options.module, + target: options.target, + omitTrailingSemicolon: true, + }); + // The `labelDetails.detail` will be displayed right beside the method name, + // so we drop the name (and modifiers) from the signature. + var methodSignature = ts.factory.createMethodSignature( + /*modifiers*/ undefined, + /*name*/ "", method.questionToken, method.typeParameters, method.parameters, method.type); + var labelDetails = { detail: signaturePrinter.printNode(4 /* Unspecified */, methodSignature, sourceFile) }; + return { isSnippet: isSnippet, insertText: insertText, importAdder: importAdder, labelDetails: labelDetails }; + } + ; + function createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences, importAdder) { + var declarations = symbol.getDeclarations(); + if (!(declarations && declarations.length)) { + return undefined; + } + var checker = program.getTypeChecker(); + var scriptTarget = ts.getEmitScriptTarget(program.getCompilerOptions()); + var declaration = declarations[0]; + var name = ts.getSynthesizedDeepClone(ts.getNameOfDeclaration(declaration), /*includeTrivia*/ false); + var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); + var quotePreference = ts.getQuotePreference(sourceFile, preferences); + var builderFlags = quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : undefined; + switch (declaration.kind) { + case 166 /* PropertySignature */: + case 167 /* PropertyDeclaration */: + case 168 /* MethodSignature */: + case 169 /* MethodDeclaration */: { + var effectiveType = type.flags & 1048576 /* Union */ && type.types.length < 10 + ? checker.getUnionType(type.types, 2 /* Subtype */) + : type; + if (effectiveType.flags & 1048576 /* Union */) { + // Only offer the completion if there's a single function type component. + var functionTypes = ts.filter(effectiveType.types, function (type) { return checker.getSignaturesOfType(type, 0 /* Call */).length > 0; }); + if (functionTypes.length === 1) { + effectiveType = functionTypes[0]; + } + else { + return undefined; + } + } + var signatures = checker.getSignaturesOfType(effectiveType, 0 /* Call */); + if (signatures.length !== 1) { + // We don't support overloads in object literals. + return undefined; + } + var typeNode = checker.typeToTypeNode(effectiveType, enclosingDeclaration, builderFlags, ts.codefix.getNoopSymbolTrackerWithResolver({ program: program, host: host })); + if (!typeNode || !ts.isFunctionTypeNode(typeNode)) { + return undefined; + } + var importableReference = ts.codefix.tryGetAutoImportableReferenceFromTypeNode(typeNode, scriptTarget); + if (importableReference) { + typeNode = importableReference.typeNode; + ts.codefix.importSymbols(importAdder, importableReference.symbols); + } + var body = void 0; + if (preferences.includeCompletionsWithSnippetText) { + var emptyStmt = ts.factory.createEmptyStatement(); + body = ts.factory.createBlock([emptyStmt], /* multiline */ true); + ts.setSnippetElement(emptyStmt, { kind: 0 /* TabStop */, order: 0 }); + } + else { + body = ts.factory.createBlock([], /* multiline */ true); + } + return ts.factory.createMethodDeclaration( + /*decorators*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, name, + /*questionToken*/ undefined, typeNode.typeParameters, typeNode.parameters, typeNode.type, body); + } + default: + return undefined; + } + } function createSnippetPrinter(printerOptions) { var baseWriter = ts.textChanges.createWriter(ts.getNewLineCharacter(printerOptions)); var printer = ts.createPrinter(printerOptions, baseWriter); var writer = __assign(__assign({}, baseWriter), { write: function (s) { return baseWriter.write(ts.escapeSnippetText(s)); }, nonEscapingWrite: baseWriter.write, writeLiteral: function (s) { return baseWriter.writeLiteral(ts.escapeSnippetText(s)); }, writeStringLiteral: function (s) { return baseWriter.writeStringLiteral(ts.escapeSnippetText(s)); }, writeSymbol: function (s, symbol) { return baseWriter.writeSymbol(ts.escapeSnippetText(s), symbol); }, writeParameter: function (s) { return baseWriter.writeParameter(ts.escapeSnippetText(s)); }, writeComment: function (s) { return baseWriter.writeComment(ts.escapeSnippetText(s)); }, writeProperty: function (s) { return baseWriter.writeProperty(ts.escapeSnippetText(s)); } }); return { printSnippetList: printSnippetList, + printAndFormatSnippetList: printAndFormatSnippetList, }; /* Snippet-escaping version of `printer.printList`. */ function printSnippetList(format, list, sourceFile) { @@ -130656,6 +132313,22 @@ var ts; printer.writeList(format, list, sourceFile, writer); return writer.getText(); } + function printAndFormatSnippetList(format, list, sourceFile, formatContext) { + var syntheticFile = { + text: printSnippetList(format, list, sourceFile), + getLineAndCharacterOfPosition: function (pos) { + return ts.getLineAndCharacterOfPosition(this, pos); + }, + }; + var formatOptions = ts.getFormatCodeSettingsForWriting(formatContext, sourceFile); + var changes = ts.flatMap(list, function (node) { + var nodeWithPos = ts.textChanges.assignPositionsToNode(node); + return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile, sourceFile.languageVariant, + /* indentation */ 0, + /* delta */ 0, __assign(__assign({}, formatContext), { options: formatOptions })); + }); + return ts.textChanges.applyChanges(syntheticFile.text, changes); + } } function originToCompletionEntryData(origin) { var ambientModuleName = origin.fileName ? undefined : ts.stripQuotes(origin.moduleSymbol.name); @@ -130719,14 +132392,14 @@ var ts; var importKind = ts.codefix.getImportKind(sourceFile, exportKind, options, /*forceImportKeyword*/ true); var isTopLevelTypeOnly = ((_b = (_a = ts.tryCast(importCompletionNode, ts.isImportDeclaration)) === null || _a === void 0 ? void 0 : _a.importClause) === null || _b === void 0 ? void 0 : _b.isTypeOnly) || ((_c = ts.tryCast(importCompletionNode, ts.isImportEqualsDeclaration)) === null || _c === void 0 ? void 0 : _c.isTypeOnly); var isImportSpecifierTypeOnly = couldBeTypeOnlyImportSpecifier(importCompletionNode, contextToken); - var topLevelTypeOnlyText = isTopLevelTypeOnly ? " ".concat(ts.tokenToString(151 /* TypeKeyword */), " ") : " "; - var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? "".concat(ts.tokenToString(151 /* TypeKeyword */), " ") : ""; + var topLevelTypeOnlyText = isTopLevelTypeOnly ? " " + ts.tokenToString(152 /* TypeKeyword */) + " " : " "; + var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? ts.tokenToString(152 /* TypeKeyword */) + " " : ""; var suffix = useSemicolons ? ";" : ""; switch (importKind) { - case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " = require(").concat(quotedModuleSpecifier, ")").concat(suffix) }; - case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " from ").concat(quotedModuleSpecifier).concat(suffix) }; - case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "* as ").concat(ts.escapeSnippetText(name), " from ").concat(quotedModuleSpecifier).concat(suffix) }; - case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "{ ").concat(importSpecifierTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " } from ").concat(quotedModuleSpecifier).concat(suffix) }; + case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " = require(" + quotedModuleSpecifier + ")" + suffix }; + case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " from " + quotedModuleSpecifier + suffix }; + case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "* as " + ts.escapeSnippetText(name) + " from " + quotedModuleSpecifier + suffix }; + case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "{ " + importSpecifierTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " } from " + quotedModuleSpecifier + suffix }; } } function quotePropertyName(sourceFile, preferences, name) { @@ -130753,7 +132426,7 @@ var ts; return CompletionSource.TypeOnlyAlias; } } - function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, sourceFile, host, program, target, log, kind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextIdMap, isJsxIdentifierExpected, isRightOfOpenTag) { + function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, sourceFile, host, program, target, log, kind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag) { var _a; var start = ts.timestamp(); var variableDeclaration = getVariableDeclaration(location); @@ -130768,12 +132441,12 @@ var ts; var symbol = symbols[i]; var origin = symbolToOriginInfoMap === null || symbolToOriginInfoMap === void 0 ? void 0 : symbolToOriginInfoMap[i]; var info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, !!jsxIdentifierExpected); - if (!info || uniques.get(info.name) || kind === 1 /* Global */ && symbolToSortTextIdMap && !shouldIncludeSymbol(symbol, symbolToSortTextIdMap)) { + if (!info || (uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin))) || kind === 1 /* Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) { continue; } var name = info.name, needsConvertPropertyAccess = info.needsConvertPropertyAccess; - var sortTextId = (_a = symbolToSortTextIdMap === null || symbolToSortTextIdMap === void 0 ? void 0 : symbolToSortTextIdMap[ts.getSymbolId(symbol)]) !== null && _a !== void 0 ? _a : 11 /* LocationPriority */; - var sortText = (isDeprecated(symbol, typeChecker) ? 8 /* DeprecatedOffset */ + sortTextId : sortTextId).toString(); + var originalSortText = (_a = symbolToSortTextMap === null || symbolToSortTextMap === void 0 ? void 0 : symbolToSortTextMap[ts.getSymbolId(symbol)]) !== null && _a !== void 0 ? _a : Completions.SortText.LocationPriority; + var sortText = (isDeprecated(symbol, typeChecker) ? Completions.SortText.Deprecated(originalSortText) : originalSortText); var entry = createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, compilerOptions, preferences, kind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag); if (!entry) { continue; @@ -130791,7 +132464,7 @@ var ts; has: function (name) { return uniques.has(name); }, add: function (name) { return uniques.set(name, true); }, }; - function shouldIncludeSymbol(symbol, symbolToSortTextIdMap) { + function shouldIncludeSymbol(symbol, symbolToSortTextMap) { var allFlags = symbol.flags; if (!ts.isSourceFile(location)) { // export = /**/ here we want to get all meanings, so any symbol is ok @@ -130813,9 +132486,9 @@ var ts; // Auto Imports are not available for scripts so this conditional is always false if (!!sourceFile.externalModuleIndicator && !compilerOptions.allowUmdGlobalAccess - && symbolToSortTextIdMap[ts.getSymbolId(symbol)] === 15 /* GlobalsOrKeywords */ - && (symbolToSortTextIdMap[ts.getSymbolId(symbolOrigin)] === 16 /* AutoImportSuggestions */ - || symbolToSortTextIdMap[ts.getSymbolId(symbolOrigin)] === 11 /* LocationPriority */)) { + && symbolToSortTextMap[ts.getSymbolId(symbol)] === Completions.SortText.GlobalsOrKeywords + && (symbolToSortTextMap[ts.getSymbolId(symbolOrigin)] === Completions.SortText.AutoImportSuggestions + || symbolToSortTextMap[ts.getSymbolId(symbolOrigin)] === Completions.SortText.LocationPriority)) { return false; } allFlags |= ts.getCombinedLocalAndExportSymbolFlags(symbolOrigin); @@ -130855,7 +132528,7 @@ var ts; name: name, kindModifiers: "" /* none */, kind: "label" /* label */, - sortText: SortText.LocationPriority + sortText: Completions.SortText.LocationPriority }); } } @@ -130881,7 +132554,7 @@ var ts; } } var compilerOptions = program.getCompilerOptions(); - var completionData = getCompletionData(program, log, sourceFile, isUncheckedFile(sourceFile, compilerOptions), position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId, host); + var completionData = getCompletionData(program, log, sourceFile, compilerOptions, position, { includeCompletionsForModuleExports: true, includeCompletionsWithInsertText: true }, entryId, host, /*formatContext*/ undefined); if (!completionData) { return { type: "none" }; } @@ -130899,7 +132572,9 @@ var ts; return ts.firstDefined(symbols, function (symbol, index) { var origin = symbolToOriginInfoMap[index]; var info = getCompletionEntryDisplayNameForSymbol(symbol, ts.getEmitScriptTarget(compilerOptions), origin, completionKind, completionData.isJsxIdentifierExpected); - return info && info.name === entryId.name && (entryId.source === CompletionSource.ClassMemberSnippet && symbol.flags & 106500 /* ClassMember */ || getSourceFromOrigin(origin) === entryId.source) + return info && info.name === entryId.name && (entryId.source === CompletionSource.ClassMemberSnippet && symbol.flags & 106500 /* ClassMember */ + || entryId.source === CompletionSource.ObjectLiteralMethodSnippet && symbol.flags & (4 /* Property */ | 8192 /* Method */) + || getSourceFromOrigin(origin) === entryId.source) ? { type: "symbol", symbol: symbol, location: location, origin: origin, contextToken: contextToken, previousToken: previousToken, isJsxInitializer: isJsxInitializer, isTypeOnlyLocation: isTypeOnlyLocation } : undefined; }) || { type: "none" }; @@ -130981,6 +132656,20 @@ var ts; }; } } + if (source === CompletionSource.ObjectLiteralMethodSnippet) { + var enclosingDeclaration = tryGetObjectLikeCompletionContainer(contextToken); + var importAdder = getEntryForObjectLiteralMethodCompletion(symbol, name, enclosingDeclaration, program, host, compilerOptions, preferences, formatContext).importAdder; + if (importAdder.hasFixes()) { + var changes = ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext, preferences: preferences }, importAdder.writeFixes); + return { + sourceDisplay: undefined, + codeActions: [{ + changes: changes, + description: ts.diagnosticToString([ts.Diagnostics.Includes_imports_of_types_referenced_by_0, name]), + }], + }; + } + } if (originIsTypeOnlyAlias(origin)) { var codeAction_1 = ts.codefix.getPromoteTypeOnlyCompletionAction(sourceFile, origin.declaration.name, program, host, formatContext, preferences); ts.Debug.assertIsDefined(codeAction_1, "Expected to have a code action for promoting type-only alias"); @@ -131036,11 +132725,11 @@ var ts; return ts.getContextualTypeFromParent(previousToken, checker); case 63 /* EqualsToken */: switch (parent.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return checker.getContextualType(parent.initializer); // TODO: GH#18217 - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return checker.getTypeAtLocation(parent.left); - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; @@ -131071,10 +132760,11 @@ var ts; } function isModuleSymbol(symbol) { var _a; - return !!((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.kind === 303 /* SourceFile */; })); + return !!((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.kind === 305 /* SourceFile */; })); } - function getCompletionData(program, log, sourceFile, isUncheckedFile, position, preferences, detailsEntryId, host, cancellationToken) { + function getCompletionData(program, log, sourceFile, compilerOptions, position, preferences, detailsEntryId, host, formatContext, cancellationToken) { var typeChecker = program.getTypeChecker(); + var inUncheckedFile = isUncheckedFile(sourceFile, compilerOptions); var start = ts.timestamp(); var currentToken = ts.getTokenAtPosition(sourceFile, position); // TODO: GH#15853 // We will check for jsdoc comments with insideComment and getJsDocTagAtPosition. (TODO: that seems rather inefficient to check the same thing so many times.) @@ -131122,14 +132812,15 @@ var ts; if (tag.tagName.pos <= position && position <= tag.tagName.end) { return { kind: 1 /* JsDocTagName */ }; } - if (isTagWithTypeExpression(tag) && tag.typeExpression && tag.typeExpression.kind === 307 /* JSDocTypeExpression */) { + var typeExpression = tryGetTypeExpressionFromTag(tag); + if (typeExpression) { currentToken = ts.getTokenAtPosition(sourceFile, position); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 345 /* JSDocPropertyTag */ || + (currentToken.parent.kind !== 347 /* JSDocPropertyTag */ || currentToken.parent.name !== currentToken))) { // Use as type location if inside tag's type expression - insideJsDocTagTypeExpression = isCurrentlyEditingNode(tag.typeExpression); + insideJsDocTagTypeExpression = isCurrentlyEditingNode(typeExpression); } } if (!insideJsDocTagTypeExpression && ts.isJSDocParameterTag(tag) && (ts.nodeIsMissing(tag.name) || tag.name.pos <= position && position <= tag.name.end)) { @@ -131198,7 +132889,7 @@ var ts; isRightOfDot = contextToken.kind === 24 /* DotToken */; isRightOfQuestionDot = contextToken.kind === 28 /* QuestionDotToken */; switch (parent.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; var leftmostAccessExpression = ts.getLeftmostAccessExpression(propertyAccessToConvert); @@ -131214,16 +132905,16 @@ var ts; return undefined; } break; - case 160 /* QualifiedName */: + case 161 /* QualifiedName */: node = parent.left; break; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: node = parent.name; break; - case 199 /* ImportType */: + case 200 /* ImportType */: node = parent; break; - case 230 /* MetaProperty */: + case 231 /* MetaProperty */: node = parent.getFirstToken(sourceFile); ts.Debug.assert(node.kind === 100 /* ImportKeyword */ || node.kind === 103 /* NewKeyword */); break; @@ -131237,7 +132928,7 @@ var ts; // // If the tagname is a property access expression, we will then walk up to the top most of property access expression. // Then, try to get a JSX container and its associated attributes type. - if (parent && parent.kind === 205 /* PropertyAccessExpression */) { + if (parent && parent.kind === 206 /* PropertyAccessExpression */) { contextToken = parent; parent = parent.parent; } @@ -131245,46 +132936,46 @@ var ts; if (currentToken.parent === location) { switch (currentToken.kind) { case 31 /* GreaterThanToken */: - if (currentToken.parent.kind === 277 /* JsxElement */ || currentToken.parent.kind === 279 /* JsxOpeningElement */) { + if (currentToken.parent.kind === 278 /* JsxElement */ || currentToken.parent.kind === 280 /* JsxOpeningElement */) { location = currentToken; } break; case 43 /* SlashToken */: - if (currentToken.parent.kind === 278 /* JsxSelfClosingElement */) { + if (currentToken.parent.kind === 279 /* JsxSelfClosingElement */) { location = currentToken; } break; } } switch (parent.kind) { - case 280 /* JsxClosingElement */: + case 281 /* JsxClosingElement */: if (contextToken.kind === 43 /* SlashToken */) { isStartingCloseTag = true; location = contextToken; } break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (!binaryExpressionMayBeOpenTag(parent)) { break; } // falls through - case 278 /* JsxSelfClosingElement */: - case 277 /* JsxElement */: - case 279 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: + case 278 /* JsxElement */: + case 280 /* JsxOpeningElement */: isJsxIdentifierExpected = true; if (contextToken.kind === 29 /* LessThanToken */) { isRightOfOpenTag = true; location = contextToken; } break; - case 287 /* JsxExpression */: - case 286 /* JsxSpreadAttribute */: + case 288 /* JsxExpression */: + case 287 /* JsxSpreadAttribute */: // For `
`, `parent` will be `{true}` and `previousToken` will be `}` if (previousToken.kind === 19 /* CloseBraceToken */ && currentToken.kind === 31 /* GreaterThanToken */) { isJsxIdentifierExpected = true; } break; - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: // For `
`, `parent` will be JsxAttribute and `previousToken` will be its initializer if (parent.initializer === previousToken && previousToken.end < position) { @@ -131316,7 +133007,7 @@ var ts; // This also gets mutated in nested-functions after the return var symbols = []; var symbolToOriginInfoMap = []; - var symbolToSortTextIdMap = []; + var symbolToSortTextMap = []; var seenPropertySymbols = new ts.Map(); var isTypeOnlyLocation = isTypeOnlyCompletion(); var getModuleSpecifierResolutionHost = ts.memoizeOne(function (isFromPackageJson) { @@ -131371,7 +133062,7 @@ var ts; contextToken: contextToken, isJsxInitializer: isJsxInitializer, insideJsDocTagTypeExpression: insideJsDocTagTypeExpression, - symbolToSortTextIdMap: symbolToSortTextIdMap, + symbolToSortTextMap: symbolToSortTextMap, isTypeOnlyLocation: isTypeOnlyLocation, isJsxIdentifierExpected: isJsxIdentifierExpected, isRightOfOpenTag: isRightOfOpenTag, @@ -131380,16 +133071,25 @@ var ts; }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 338 /* JSDocParameterTag */: - case 345 /* JSDocPropertyTag */: - case 339 /* JSDocReturnTag */: - case 341 /* JSDocTypeTag */: - case 343 /* JSDocTypedefTag */: + case 340 /* JSDocParameterTag */: + case 347 /* JSDocPropertyTag */: + case 341 /* JSDocReturnTag */: + case 343 /* JSDocTypeTag */: + case 345 /* JSDocTypedefTag */: return true; + case 344 /* JSDocTemplateTag */: + return !!tag.constraint; default: return false; } } + function tryGetTypeExpressionFromTag(tag) { + if (isTagWithTypeExpression(tag)) { + var typeExpression = ts.isJSDocTemplateTag(tag) ? tag.constraint : tag.typeExpression; + return typeExpression && typeExpression.kind === 309 /* JSDocTypeExpression */ ? typeExpression : undefined; + } + return undefined; + } function getTypeScriptMemberSymbols() { // Right of dot member completion list completionKind = 2 /* PropertyAccess */; @@ -131429,7 +133129,7 @@ var ts; // If the module is merged with a value, we must get the type of the class and add its propertes (for inherited static methods). if (!isTypeLocation && symbol.declarations && - symbol.declarations.some(function (d) { return d.kind !== 303 /* SourceFile */ && d.kind !== 260 /* ModuleDeclaration */ && d.kind !== 259 /* EnumDeclaration */; })) { + symbol.declarations.some(function (d) { return d.kind !== 305 /* SourceFile */ && d.kind !== 261 /* ModuleDeclaration */ && d.kind !== 260 /* EnumDeclaration */; })) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, node).getNonOptionalType(); var insertQuestionDot = false; if (type.isNullableType()) { @@ -131475,8 +133175,8 @@ var ts; if (isRightOfQuestionDot && ts.some(type.getCallSignatures())) { isNewIdentifierLocation = true; } - var propertyAccess = node.kind === 199 /* ImportType */ ? node : node.parent; - if (isUncheckedFile) { + var propertyAccess = node.kind === 200 /* ImportType */ ? node : node.parent; + if (inUncheckedFile) { // In javascript files, for union types, we don't just get the members that // the individual types have in common, we also include all the members that // each individual type has. This is because we're going to add all identifiers @@ -131561,7 +133261,7 @@ var ts; } function addSymbolSortInfo(symbol) { if (isStaticProperty(symbol)) { - symbolToSortTextIdMap[ts.getSymbolId(symbol)] = 10 /* LocalDeclarationPriority */; + symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.LocalDeclarationPriority; } } function addSymbolOriginInfo(symbol) { @@ -131671,7 +133371,7 @@ var ts; var symbol = symbols[i]; if (!typeChecker.isArgumentsSymbol(symbol) && !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === sourceFile; })) { - symbolToSortTextIdMap[ts.getSymbolId(symbol)] = 15 /* GlobalsOrKeywords */; + symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.GlobalsOrKeywords; } if (typeOnlyAliasNeedsPromotion && !(symbol.flags & 111551 /* Value */)) { var typeOnlyAliasDeclaration = symbol.declarations && ts.find(symbol.declarations, ts.isTypeOnlyImportOrExportDeclaration); @@ -131682,14 +133382,14 @@ var ts; } } // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 303 /* SourceFile */) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 305 /* SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode, /*includeGlobalThis*/ false); if (thisType && !isProbablyGlobalType(thisType, sourceFile, typeChecker)) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker); _i < _a.length; _i++) { var symbol = _a[_i]; symbolToOriginInfoMap[symbols.length] = { kind: 1 /* ThisType */ }; symbols.push(symbol); - symbolToSortTextIdMap[ts.getSymbolId(symbol)] = 14 /* SuggestedClassMembers */; + symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.SuggestedClassMembers; } } } @@ -131721,10 +133421,10 @@ var ts; } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 303 /* SourceFile */: - case 222 /* TemplateExpression */: - case 287 /* JsxExpression */: - case 234 /* Block */: + case 305 /* SourceFile */: + case 223 /* TemplateExpression */: + case 288 /* JsxExpression */: + case 235 /* Block */: return true; default: return ts.isStatement(scopeNode); @@ -131741,33 +133441,33 @@ var ts; function isContextTokenValueLocation(contextToken) { return contextToken && ((contextToken.kind === 112 /* TypeOfKeyword */ && - (contextToken.parent.kind === 180 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent))) || - (contextToken.kind === 128 /* AssertsKeyword */ && contextToken.parent.kind === 176 /* TypePredicate */)); + (contextToken.parent.kind === 181 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent))) || + (contextToken.kind === 128 /* AssertsKeyword */ && contextToken.parent.kind === 177 /* TypePredicate */)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { case 58 /* ColonToken */: - return parentKind === 166 /* PropertyDeclaration */ || - parentKind === 165 /* PropertySignature */ || - parentKind === 163 /* Parameter */ || - parentKind === 253 /* VariableDeclaration */ || + return parentKind === 167 /* PropertyDeclaration */ || + parentKind === 166 /* PropertySignature */ || + parentKind === 164 /* Parameter */ || + parentKind === 254 /* VariableDeclaration */ || ts.isFunctionLikeKind(parentKind); case 63 /* EqualsToken */: - return parentKind === 258 /* TypeAliasDeclaration */; + return parentKind === 259 /* TypeAliasDeclaration */; case 127 /* AsKeyword */: - return parentKind === 228 /* AsExpression */; + return parentKind === 229 /* AsExpression */; case 29 /* LessThanToken */: - return parentKind === 177 /* TypeReference */ || - parentKind === 210 /* TypeAssertionExpression */; + return parentKind === 178 /* TypeReference */ || + parentKind === 211 /* TypeAssertionExpression */; case 94 /* ExtendsKeyword */: - return parentKind === 162 /* TypeParameter */; + return parentKind === 163 /* TypeParameter */; } } return false; } - /** Mutates `symbols`, `symbolToOriginInfoMap`, and `symbolToSortTextIdMap` */ + /** Mutates `symbols`, `symbolToOriginInfoMap`, and `symbolToSortTextMap` */ function collectAutoImports() { var _a, _b; if (!shouldOfferImportCompletions()) @@ -131849,14 +133549,55 @@ var ts; } function pushAutoImportSymbol(symbol, origin) { var symbolId = ts.getSymbolId(symbol); - if (symbolToSortTextIdMap[symbolId] === 15 /* GlobalsOrKeywords */) { + if (symbolToSortTextMap[symbolId] === Completions.SortText.GlobalsOrKeywords) { // If an auto-importable symbol is available as a global, don't add the auto import return; } symbolToOriginInfoMap[symbols.length] = origin; - symbolToSortTextIdMap[symbolId] = importCompletionNode ? 11 /* LocationPriority */ : 16 /* AutoImportSuggestions */; + symbolToSortTextMap[symbolId] = importCompletionNode ? Completions.SortText.LocationPriority : Completions.SortText.AutoImportSuggestions; symbols.push(symbol); } + /* Mutates `symbols` and `symbolToOriginInfoMap`. */ + function collectObjectLiteralMethodSymbols(members, enclosingDeclaration) { + // TODO: support JS files. + if (ts.isInJSFile(location)) { + return; + } + members.forEach(function (member) { + if (!isObjectLiteralMethodSymbol(member)) { + return; + } + var displayName = getCompletionEntryDisplayNameForSymbol(member, ts.getEmitScriptTarget(compilerOptions), + /*origin*/ undefined, 0 /* ObjectPropertyDeclaration */, + /*jsxIdentifierExpected*/ false); + if (!displayName) { + return; + } + var name = displayName.name; + var entryProps = getEntryForObjectLiteralMethodCompletion(member, name, enclosingDeclaration, program, host, compilerOptions, preferences, formatContext); + if (!entryProps) { + return; + } + var origin = __assign({ kind: 128 /* ObjectLiteralMethod */ }, entryProps); + symbolToOriginInfoMap[symbols.length] = origin; + symbols.push(member); + }); + } + function isObjectLiteralMethodSymbol(symbol) { + /* + For an object type + `type Foo = { + bar(x: number): void; + foo: (x: string) => string; + }`, + `bar` will have symbol flag `Method`, + `foo` will have symbol flag `Property`. + */ + if (!(symbol.flags & (4 /* Property */ | 8192 /* Method */))) { + return false; + } + return true; + } /** * Finds the first node that "embraces" the position, so that one may * accurately aggregate locals from the closest containing scope. @@ -131888,18 +133629,18 @@ var ts; // - contextToken: GreaterThanToken (before cursor) // - location: JsxSelfClosingElement or JsxOpeningElement // - contextToken.parent === location - if (location === contextToken.parent && (location.kind === 279 /* JsxOpeningElement */ || location.kind === 278 /* JsxSelfClosingElement */)) { + if (location === contextToken.parent && (location.kind === 280 /* JsxOpeningElement */ || location.kind === 279 /* JsxSelfClosingElement */)) { return false; } - if (contextToken.parent.kind === 279 /* JsxOpeningElement */) { + if (contextToken.parent.kind === 280 /* JsxOpeningElement */) { //
/**/ // - contextToken: GreaterThanToken (before cursor) // - location: JSXElement // - different parents (JSXOpeningElement, JSXElement) - return location.parent.kind !== 279 /* JsxOpeningElement */; + return location.parent.kind !== 280 /* JsxOpeningElement */; } - if (contextToken.parent.kind === 280 /* JsxClosingElement */ || contextToken.parent.kind === 278 /* JsxSelfClosingElement */) { - return !!contextToken.parent.parent && contextToken.parent.parent.kind === 277 /* JsxElement */; + if (contextToken.parent.kind === 281 /* JsxClosingElement */ || contextToken.parent.kind === 279 /* JsxSelfClosingElement */) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 278 /* JsxElement */; } } return false; @@ -131911,44 +133652,44 @@ var ts; // Previous token may have been a keyword that was converted to an identifier. switch (tokenKind) { case 27 /* CommaToken */: - return containingNodeKind === 207 /* CallExpression */ // func( a, | - || containingNodeKind === 170 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === 208 /* NewExpression */ // new C(a, | - || containingNodeKind === 203 /* ArrayLiteralExpression */ // [a, | - || containingNodeKind === 220 /* BinaryExpression */ // const x = (a, | - || containingNodeKind === 178 /* FunctionType */ // var x: (s: string, list| - || containingNodeKind === 204 /* ObjectLiteralExpression */; // const obj = { x, | + return containingNodeKind === 208 /* CallExpression */ // func( a, | + || containingNodeKind === 171 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === 209 /* NewExpression */ // new C(a, | + || containingNodeKind === 204 /* ArrayLiteralExpression */ // [a, | + || containingNodeKind === 221 /* BinaryExpression */ // const x = (a, | + || containingNodeKind === 179 /* FunctionType */ // var x: (s: string, list| + || containingNodeKind === 205 /* ObjectLiteralExpression */; // const obj = { x, | case 20 /* OpenParenToken */: - return containingNodeKind === 207 /* CallExpression */ // func( | - || containingNodeKind === 170 /* Constructor */ // constructor( | - || containingNodeKind === 208 /* NewExpression */ // new C(a| - || containingNodeKind === 211 /* ParenthesizedExpression */ // const x = (a| - || containingNodeKind === 190 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + return containingNodeKind === 208 /* CallExpression */ // func( | + || containingNodeKind === 171 /* Constructor */ // constructor( | + || containingNodeKind === 209 /* NewExpression */ // new C(a| + || containingNodeKind === 212 /* ParenthesizedExpression */ // const x = (a| + || containingNodeKind === 191 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ case 22 /* OpenBracketToken */: - return containingNodeKind === 203 /* ArrayLiteralExpression */ // [ | - || containingNodeKind === 175 /* IndexSignature */ // [ | : string ] - || containingNodeKind === 161 /* ComputedPropertyName */; // [ | /* this can become an index signature */ + return containingNodeKind === 204 /* ArrayLiteralExpression */ // [ | + || containingNodeKind === 176 /* IndexSignature */ // [ | : string ] + || containingNodeKind === 162 /* ComputedPropertyName */; // [ | /* this can become an index signature */ case 141 /* ModuleKeyword */: // module | case 142 /* NamespaceKeyword */: // namespace | case 100 /* ImportKeyword */: // import | return true; case 24 /* DotToken */: - return containingNodeKind === 260 /* ModuleDeclaration */; // module A.| + return containingNodeKind === 261 /* ModuleDeclaration */; // module A.| case 18 /* OpenBraceToken */: - return containingNodeKind === 256 /* ClassDeclaration */ // class A { | - || containingNodeKind === 204 /* ObjectLiteralExpression */; // const obj = { | + return containingNodeKind === 257 /* ClassDeclaration */ // class A { | + || containingNodeKind === 205 /* ObjectLiteralExpression */; // const obj = { | case 63 /* EqualsToken */: - return containingNodeKind === 253 /* VariableDeclaration */ // const x = a| - || containingNodeKind === 220 /* BinaryExpression */; // x = a| + return containingNodeKind === 254 /* VariableDeclaration */ // const x = a| + || containingNodeKind === 221 /* BinaryExpression */; // x = a| case 15 /* TemplateHead */: - return containingNodeKind === 222 /* TemplateExpression */; // `aa ${| + return containingNodeKind === 223 /* TemplateExpression */; // `aa ${| case 16 /* TemplateMiddle */: - return containingNodeKind === 232 /* TemplateSpan */; // `aa ${10} dd ${| + return containingNodeKind === 233 /* TemplateSpan */; // `aa ${10} dd ${| case 131 /* AsyncKeyword */: - return containingNodeKind === 168 /* MethodDeclaration */ // const obj = { async c|() - || containingNodeKind === 295 /* ShorthandPropertyAssignment */; // const obj = { async c| + return containingNodeKind === 169 /* MethodDeclaration */ // const obj = { async c|() + || containingNodeKind === 297 /* ShorthandPropertyAssignment */; // const obj = { async c| case 41 /* AsteriskToken */: - return containingNodeKind === 168 /* MethodDeclaration */; // const obj = { * c| + return containingNodeKind === 169 /* MethodDeclaration */; // const obj = { * c| } if (isClassMemberCompletionKeyword(tokenKind)) { return true; @@ -131990,6 +133731,7 @@ var ts; * @returns true if 'symbols' was successfully populated; false otherwise. */ function tryGetObjectLikeCompletionSymbols() { + var symbolsStartIndex = symbols.length; var objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken); if (!objectLikeContainer) return 0 /* Continue */; @@ -131997,11 +133739,11 @@ var ts; completionKind = 0 /* ObjectPropertyDeclaration */; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 204 /* ObjectLiteralExpression */) { + if (objectLikeContainer.kind === 205 /* ObjectLiteralExpression */) { var instantiatedType = tryGetObjectLiteralContextualType(objectLikeContainer, typeChecker); // Check completions for Object property value shorthand if (instantiatedType === undefined) { - if (objectLikeContainer.flags & 16777216 /* InWithStatement */) { + if (objectLikeContainer.flags & 33554432 /* InWithStatement */) { return 2 /* Fail */; } isNonContextualObjectLiteral = true; @@ -132022,7 +133764,7 @@ var ts; } } else { - ts.Debug.assert(objectLikeContainer.kind === 200 /* ObjectBindingPattern */); + ts.Debug.assert(objectLikeContainer.kind === 201 /* ObjectBindingPattern */); // We are *only* completing on properties from the type being destructured. isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); @@ -132033,12 +133775,12 @@ var ts; // through type declaration or inference. // Also proceed if rootDeclaration is a parameter and if its containing function expression/arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 243 /* ForOfStatement */; - if (!canGetType && rootDeclaration.kind === 163 /* Parameter */) { + var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 244 /* ForOfStatement */; + if (!canGetType && rootDeclaration.kind === 164 /* Parameter */) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 168 /* MethodDeclaration */ || rootDeclaration.parent.kind === 172 /* SetAccessor */) { + else if (rootDeclaration.parent.kind === 169 /* MethodDeclaration */ || rootDeclaration.parent.kind === 173 /* SetAccessor */) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } @@ -132054,9 +133796,16 @@ var ts; } if (typeMembers && typeMembers.length > 0) { // Add filtered items to the completion list - symbols = ts.concatenate(symbols, filterObjectMembersList(typeMembers, ts.Debug.checkDefined(existingMembers))); + var filteredMembers = filterObjectMembersList(typeMembers, ts.Debug.checkDefined(existingMembers)); + symbols = ts.concatenate(symbols, filteredMembers); + setSortTextToOptionalMember(); + if (objectLikeContainer.kind === 205 /* ObjectLiteralExpression */ + && preferences.includeCompletionsWithObjectLiteralMethodSnippets + && preferences.includeCompletionsWithInsertText) { + transformObjectLiteralMembersSortText(symbolsStartIndex); + collectObjectLiteralMethodSymbols(filteredMembers, objectLikeContainer); + } } - setSortTextToOptionalMember(); return 1 /* Success */; } /** @@ -132085,10 +133834,10 @@ var ts; keywordFilters = 8 /* TypeKeyword */; } // try to show exported member for imported/re-exported module - var moduleSpecifier = (namedImportsOrExports.kind === 268 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifier = (namedImportsOrExports.kind === 269 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; if (!moduleSpecifier) { isNewIdentifierLocation = true; - return namedImportsOrExports.kind === 268 /* NamedImports */ ? 2 /* Fail */ : 0 /* Continue */; + return namedImportsOrExports.kind === 269 /* NamedImports */ ? 2 /* Fail */ : 0 /* Continue */; } var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); // TODO: GH#18217 if (!moduleSpecifierSymbol) { @@ -132131,7 +133880,7 @@ var ts; var _a, _b; symbols.push(symbol); if ((_b = (_a = localsContainer.symbol) === null || _a === void 0 ? void 0 : _a.exports) === null || _b === void 0 ? void 0 : _b.has(name)) { - symbolToSortTextIdMap[ts.getSymbolId(symbol)] = 12 /* OptionalMember */; + symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.OptionalMember; } }); return 1 /* Success */; @@ -132186,29 +133935,6 @@ var ts; } return 1 /* Success */; } - /** - * Returns the immediate owning object literal or binding pattern of a context token, - * on the condition that one exists and that the context implies completion should be given. - */ - function tryGetObjectLikeCompletionContainer(contextToken) { - if (contextToken) { - var parent = contextToken.parent; - switch (contextToken.kind) { - case 18 /* OpenBraceToken */: // const x = { | - case 27 /* CommaToken */: // const x = { a: 0, | - if (ts.isObjectLiteralExpression(parent) || ts.isObjectBindingPattern(parent)) { - return parent; - } - break; - case 41 /* AsteriskToken */: - return ts.isMethodDeclaration(parent) ? ts.tryCast(parent.parent, ts.isObjectLiteralExpression) : undefined; - case 79 /* Identifier */: - return contextToken.text === "async" && ts.isShorthandPropertyAssignment(contextToken.parent) - ? contextToken.parent.parent : undefined; - } - } - return undefined; - } function isConstructorParameterCompletion(node) { return !!node.parent && ts.isParameter(node.parent) && ts.isConstructorDeclaration(node.parent.parent) && (ts.isParameterPropertyModifier(node.kind) || ts.isDeclarationName(node)); @@ -132256,11 +133982,11 @@ var ts; case 30 /* LessThanSlashToken */: case 43 /* SlashToken */: case 79 /* Identifier */: - case 205 /* PropertyAccessExpression */: - case 285 /* JsxAttributes */: - case 284 /* JsxAttribute */: - case 286 /* JsxSpreadAttribute */: - if (parent && (parent.kind === 278 /* JsxSelfClosingElement */ || parent.kind === 279 /* JsxOpeningElement */)) { + case 206 /* PropertyAccessExpression */: + case 286 /* JsxAttributes */: + case 285 /* JsxAttribute */: + case 287 /* JsxSpreadAttribute */: + if (parent && (parent.kind === 279 /* JsxSelfClosingElement */ || parent.kind === 280 /* JsxOpeningElement */)) { if (contextToken.kind === 31 /* GreaterThanToken */) { var precedingToken = ts.findPrecedingToken(contextToken.pos, sourceFile, /*startNode*/ undefined); if (!parent.typeArguments || (precedingToken && precedingToken.kind === 43 /* SlashToken */)) @@ -132268,7 +133994,7 @@ var ts; } return parent; } - else if (parent.kind === 284 /* JsxAttribute */) { + else if (parent.kind === 285 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -132280,7 +134006,7 @@ var ts; // its parent is a JsxExpression, whose parent is a JsxAttribute, // whose parent is a JsxOpeningLikeElement case 10 /* StringLiteral */: - if (parent && ((parent.kind === 284 /* JsxAttribute */) || (parent.kind === 286 /* JsxSpreadAttribute */))) { + if (parent && ((parent.kind === 285 /* JsxAttribute */) || (parent.kind === 287 /* JsxSpreadAttribute */))) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -132290,8 +134016,8 @@ var ts; break; case 19 /* CloseBraceToken */: if (parent && - parent.kind === 287 /* JsxExpression */ && - parent.parent && parent.parent.kind === 284 /* JsxAttribute */) { + parent.kind === 288 /* JsxExpression */ && + parent.parent && parent.parent.kind === 285 /* JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -132299,7 +134025,7 @@ var ts; // each JsxAttribute can have initializer as JsxExpression return parent.parent.parent.parent; } - if (parent && parent.kind === 286 /* JsxSpreadAttribute */) { + if (parent && parent.kind === 287 /* JsxSpreadAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -132319,54 +134045,54 @@ var ts; var containingNodeKind = parent.kind; switch (contextToken.kind) { case 27 /* CommaToken */: - return containingNodeKind === 253 /* VariableDeclaration */ || + return containingNodeKind === 254 /* VariableDeclaration */ || isVariableDeclarationListButNotTypeArgument(contextToken) || - containingNodeKind === 236 /* VariableStatement */ || - containingNodeKind === 259 /* EnumDeclaration */ || // enum a { foo, | + containingNodeKind === 237 /* VariableStatement */ || + containingNodeKind === 260 /* EnumDeclaration */ || // enum a { foo, | isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 257 /* InterfaceDeclaration */ || // interface A= contextToken.pos); case 24 /* DotToken */: - return containingNodeKind === 201 /* ArrayBindingPattern */; // var [.| + return containingNodeKind === 202 /* ArrayBindingPattern */; // var [.| case 58 /* ColonToken */: - return containingNodeKind === 202 /* BindingElement */; // var {x :html| + return containingNodeKind === 203 /* BindingElement */; // var {x :html| case 22 /* OpenBracketToken */: - return containingNodeKind === 201 /* ArrayBindingPattern */; // var [x| + return containingNodeKind === 202 /* ArrayBindingPattern */; // var [x| case 20 /* OpenParenToken */: - return containingNodeKind === 291 /* CatchClause */ || + return containingNodeKind === 292 /* CatchClause */ || isFunctionLikeButNotConstructor(containingNodeKind); case 18 /* OpenBraceToken */: - return containingNodeKind === 259 /* EnumDeclaration */; // enum a { | + return containingNodeKind === 260 /* EnumDeclaration */; // enum a { | case 29 /* LessThanToken */: - return containingNodeKind === 256 /* ClassDeclaration */ || // class A< | - containingNodeKind === 225 /* ClassExpression */ || // var C = class D< | - containingNodeKind === 257 /* InterfaceDeclaration */ || // interface A< | - containingNodeKind === 258 /* TypeAliasDeclaration */ || // type List< | + return containingNodeKind === 257 /* ClassDeclaration */ || // class A< | + containingNodeKind === 226 /* ClassExpression */ || // var C = class D< | + containingNodeKind === 258 /* InterfaceDeclaration */ || // interface A< | + containingNodeKind === 259 /* TypeAliasDeclaration */ || // type List< | ts.isFunctionLikeKind(containingNodeKind); case 124 /* StaticKeyword */: - return containingNodeKind === 166 /* PropertyDeclaration */ && !ts.isClassLike(parent.parent); + return containingNodeKind === 167 /* PropertyDeclaration */ && !ts.isClassLike(parent.parent); case 25 /* DotDotDotToken */: - return containingNodeKind === 163 /* Parameter */ || - (!!parent.parent && parent.parent.kind === 201 /* ArrayBindingPattern */); // var [...z| + return containingNodeKind === 164 /* Parameter */ || + (!!parent.parent && parent.parent.kind === 202 /* ArrayBindingPattern */); // var [...z| case 123 /* PublicKeyword */: case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: - return containingNodeKind === 163 /* Parameter */ && !ts.isConstructorDeclaration(parent.parent); + return containingNodeKind === 164 /* Parameter */ && !ts.isConstructorDeclaration(parent.parent); case 127 /* AsKeyword */: - return containingNodeKind === 269 /* ImportSpecifier */ || - containingNodeKind === 274 /* ExportSpecifier */ || - containingNodeKind === 267 /* NamespaceImport */; + return containingNodeKind === 270 /* ImportSpecifier */ || + containingNodeKind === 275 /* ExportSpecifier */ || + containingNodeKind === 268 /* NamespaceImport */; case 136 /* GetKeyword */: - case 148 /* SetKeyword */: + case 149 /* SetKeyword */: return !isFromObjectTypeDeclaration(contextToken); case 79 /* Identifier */: - if (containingNodeKind === 269 /* ImportSpecifier */ && + if (containingNodeKind === 270 /* ImportSpecifier */ && contextToken === parent.name && contextToken.text === "type") { // import { type | } @@ -132383,9 +134109,9 @@ var ts; case 85 /* ConstKeyword */: case 137 /* InferKeyword */: return true; - case 151 /* TypeKeyword */: + case 152 /* TypeKeyword */: // import { type foo| } - return containingNodeKind !== 269 /* ImportSpecifier */; + return containingNodeKind !== 270 /* ImportSpecifier */; case 41 /* AsteriskToken */: return ts.isFunctionLike(contextToken.parent) && !ts.isMethodDeclaration(contextToken.parent); } @@ -132430,7 +134156,7 @@ var ts; if (ancestorClassLike && contextToken === previousToken && isPreviousPropertyDeclarationTerminated(contextToken, position)) { return false; // Don't block completions. } - var ancestorPropertyDeclaraion = ts.getAncestor(contextToken.parent, 166 /* PropertyDeclaration */); + var ancestorPropertyDeclaraion = ts.getAncestor(contextToken.parent, 167 /* PropertyDeclaration */); // If we are inside a class declaration and typing `constructor` after property declaration... if (ancestorPropertyDeclaraion && contextToken !== previousToken @@ -132462,7 +134188,7 @@ var ts; || !ts.positionsAreOnSameLine(contextToken.end, position, sourceFile)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 170 /* Constructor */; + return ts.isFunctionLikeKind(kind) && kind !== 171 /* Constructor */; } function isDotOfNumericLiteral(contextToken) { if (contextToken.kind === 8 /* NumericLiteral */) { @@ -132472,7 +134198,7 @@ var ts; return false; } function isVariableDeclarationListButNotTypeArgument(node) { - return node.parent.kind === 254 /* VariableDeclarationList */ + return node.parent.kind === 255 /* VariableDeclarationList */ && !ts.isPossiblyTypeArgumentPosition(node, sourceFile, typeChecker); } /** @@ -132490,13 +134216,13 @@ var ts; for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 294 /* PropertyAssignment */ && - m.kind !== 295 /* ShorthandPropertyAssignment */ && - m.kind !== 202 /* BindingElement */ && - m.kind !== 168 /* MethodDeclaration */ && - m.kind !== 171 /* GetAccessor */ && - m.kind !== 172 /* SetAccessor */ && - m.kind !== 296 /* SpreadAssignment */) { + if (m.kind !== 296 /* PropertyAssignment */ && + m.kind !== 297 /* ShorthandPropertyAssignment */ && + m.kind !== 203 /* BindingElement */ && + m.kind !== 169 /* MethodDeclaration */ && + m.kind !== 172 /* GetAccessor */ && + m.kind !== 173 /* SetAccessor */ && + m.kind !== 298 /* SpreadAssignment */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -132545,7 +134271,7 @@ var ts; var _a; if (m.flags & 16777216 /* Optional */) { var symbolId = ts.getSymbolId(m); - symbolToSortTextIdMap[symbolId] = (_a = symbolToSortTextIdMap[symbolId]) !== null && _a !== void 0 ? _a : 12 /* OptionalMember */; + symbolToSortTextMap[symbolId] = (_a = symbolToSortTextMap[symbolId]) !== null && _a !== void 0 ? _a : Completions.SortText.OptionalMember; } }); } @@ -132557,7 +134283,23 @@ var ts; for (var _i = 0, contextualMemberSymbols_1 = contextualMemberSymbols; _i < contextualMemberSymbols_1.length; _i++) { var contextualMemberSymbol = contextualMemberSymbols_1[_i]; if (membersDeclaredBySpreadAssignment.has(contextualMemberSymbol.name)) { - symbolToSortTextIdMap[ts.getSymbolId(contextualMemberSymbol)] = 13 /* MemberDeclaredBySpreadAssignment */; + symbolToSortTextMap[ts.getSymbolId(contextualMemberSymbol)] = Completions.SortText.MemberDeclaredBySpreadAssignment; + } + } + } + function transformObjectLiteralMembersSortText(start) { + var _a; + for (var i = start; i < symbols.length; i++) { + var symbol = symbols[i]; + var symbolId = ts.getSymbolId(symbol); + var origin = symbolToOriginInfoMap === null || symbolToOriginInfoMap === void 0 ? void 0 : symbolToOriginInfoMap[i]; + var target = ts.getEmitScriptTarget(compilerOptions); + var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* ObjectPropertyDeclaration */, + /*jsxIdentifierExpected*/ false); + if (displayName) { + var originalSortText = (_a = symbolToSortTextMap[symbolId]) !== null && _a !== void 0 ? _a : Completions.SortText.LocationPriority; + var name = displayName.name; + symbolToSortTextMap[symbolId] = Completions.SortText.ObjectLiteralProperty(originalSortText, name); } } } @@ -132571,10 +134313,10 @@ var ts; for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 166 /* PropertyDeclaration */ && - m.kind !== 168 /* MethodDeclaration */ && - m.kind !== 171 /* GetAccessor */ && - m.kind !== 172 /* SetAccessor */) { + if (m.kind !== 167 /* PropertyDeclaration */ && + m.kind !== 169 /* MethodDeclaration */ && + m.kind !== 172 /* GetAccessor */ && + m.kind !== 173 /* SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -132616,7 +134358,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 284 /* JsxAttribute */) { + if (attr.kind === 285 /* JsxAttribute */) { seenNames.add(attr.name.escapedText); } else if (ts.isJsxSpreadAttribute(attr)) { @@ -132631,6 +134373,29 @@ var ts; return node.getStart(sourceFile) <= position && position <= node.getEnd(); } } + /** + * Returns the immediate owning object literal or binding pattern of a context token, + * on the condition that one exists and that the context implies completion should be given. + */ + function tryGetObjectLikeCompletionContainer(contextToken) { + if (contextToken) { + var parent = contextToken.parent; + switch (contextToken.kind) { + case 18 /* OpenBraceToken */: // const x = { | + case 27 /* CommaToken */: // const x = { a: 0, | + if (ts.isObjectLiteralExpression(parent) || ts.isObjectBindingPattern(parent)) { + return parent; + } + break; + case 41 /* AsteriskToken */: + return ts.isMethodDeclaration(parent) ? ts.tryCast(parent.parent, ts.isObjectLiteralExpression) : undefined; + case 79 /* Identifier */: + return contextToken.text === "async" && ts.isShorthandPropertyAssignment(contextToken.parent) + ? contextToken.parent.parent : undefined; + } + } + return undefined; + } function getRelevantTokens(position, sourceFile) { var previousToken = ts.findPrecedingToken(position, sourceFile); if (previousToken && position <= previousToken.end && (ts.isMemberName(previousToken) || ts.isKeyword(previousToken.kind))) { @@ -132691,12 +134456,12 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 81 /* FirstKeyword */; i <= 159 /* LastKeyword */; i++) { + for (var i = 81 /* FirstKeyword */; i <= 160 /* LastKeyword */; i++) { res.push({ name: ts.tokenToString(i), kind: "keyword" /* keyword */, kindModifiers: "" /* none */, - sortText: SortText.GlobalsOrKeywords + sortText: Completions.SortText.GlobalsOrKeywords }); } return res; @@ -132719,10 +134484,10 @@ var ts; return isFunctionLikeBodyKeyword(kind) || kind === 135 /* DeclareKeyword */ || kind === 141 /* ModuleKeyword */ - || kind === 151 /* TypeKeyword */ + || kind === 152 /* TypeKeyword */ || kind === 142 /* NamespaceKeyword */ || kind === 126 /* AbstractKeyword */ - || ts.isTypeKeyword(kind) && kind !== 152 /* UndefinedKeyword */; + || ts.isTypeKeyword(kind) && kind !== 153 /* UndefinedKeyword */; case 5 /* FunctionLikeBodyKeywords */: return isFunctionLikeBodyKeyword(kind); case 2 /* ClassElementKeywords */: @@ -132736,7 +134501,7 @@ var ts; case 7 /* TypeKeywords */: return ts.isTypeKeyword(kind); case 8 /* TypeKeyword */: - return kind === 151 /* TypeKeyword */; + return kind === 152 /* TypeKeyword */; default: return ts.Debug.assertNever(keywordFilter); } @@ -132746,11 +134511,11 @@ var ts; switch (kind) { case 126 /* AbstractKeyword */: case 130 /* AnyKeyword */: - case 157 /* BigIntKeyword */: + case 158 /* BigIntKeyword */: case 133 /* BooleanKeyword */: case 135 /* DeclareKeyword */: case 92 /* EnumKeyword */: - case 156 /* GlobalKeyword */: + case 157 /* GlobalKeyword */: case 117 /* ImplementsKeyword */: case 137 /* InferKeyword */: case 118 /* InterfaceKeyword */: @@ -132759,35 +134524,35 @@ var ts; case 141 /* ModuleKeyword */: case 142 /* NamespaceKeyword */: case 143 /* NeverKeyword */: - case 146 /* NumberKeyword */: - case 147 /* ObjectKeyword */: - case 158 /* OverrideKeyword */: + case 147 /* NumberKeyword */: + case 148 /* ObjectKeyword */: + case 159 /* OverrideKeyword */: case 121 /* PrivateKeyword */: case 122 /* ProtectedKeyword */: case 123 /* PublicKeyword */: - case 144 /* ReadonlyKeyword */: - case 149 /* StringKeyword */: - case 150 /* SymbolKeyword */: - case 151 /* TypeKeyword */: - case 153 /* UniqueKeyword */: - case 154 /* UnknownKeyword */: + case 145 /* ReadonlyKeyword */: + case 150 /* StringKeyword */: + case 151 /* SymbolKeyword */: + case 152 /* TypeKeyword */: + case 154 /* UniqueKeyword */: + case 155 /* UnknownKeyword */: return true; default: return false; } } function isInterfaceOrTypeLiteralCompletionKeyword(kind) { - return kind === 144 /* ReadonlyKeyword */; + return kind === 145 /* ReadonlyKeyword */; } function isClassMemberCompletionKeyword(kind) { switch (kind) { case 126 /* AbstractKeyword */: case 134 /* ConstructorKeyword */: case 136 /* GetKeyword */: - case 148 /* SetKeyword */: + case 149 /* SetKeyword */: case 131 /* AsyncKeyword */: case 135 /* DeclareKeyword */: - case 158 /* OverrideKeyword */: + case 159 /* OverrideKeyword */: return true; default: return ts.isClassMemberModifier(kind); @@ -132824,7 +134589,7 @@ var ts; name: ts.tokenToString(129 /* AssertKeyword */), kind: "keyword" /* keyword */, kindModifiers: "" /* none */, - sortText: SortText.GlobalsOrKeywords, + sortText: Completions.SortText.GlobalsOrKeywords, }); } } @@ -132887,7 +134652,7 @@ var ts; function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position) { // class c { method() { } | method2() { } } switch (location.kind) { - case 346 /* SyntaxList */: + case 348 /* SyntaxList */: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); case 1 /* EndOfFileToken */: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); @@ -132952,7 +134717,7 @@ var ts; case 26 /* SemicolonToken */: case 27 /* CommaToken */: case 79 /* Identifier */: - if (parent.kind === 165 /* PropertySignature */ && ts.isTypeLiteralNode(parent.parent)) { + if (parent.kind === 166 /* PropertySignature */ && ts.isTypeLiteralNode(parent.parent)) { return parent.parent; } break; @@ -132969,11 +134734,11 @@ var ts; if (!t) return undefined; switch (node.kind) { - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: return checker.getTypeOfPropertyOfContextualType(t, node.symbol.escapedName); - case 187 /* IntersectionType */: - case 181 /* TypeLiteral */: - case 186 /* UnionType */: + case 188 /* IntersectionType */: + case 182 /* TypeLiteral */: + case 187 /* UnionType */: return t; } } @@ -133001,7 +134766,7 @@ var ts; ? !!ts.tryGetImportFromModuleSpecifier(contextToken) : contextToken.kind === 43 /* SlashToken */ && ts.isJsxClosingElement(contextToken.parent)); case " ": - return !!contextToken && ts.isImportKeyword(contextToken) && contextToken.parent.kind === 303 /* SourceFile */; + return !!contextToken && ts.isImportKeyword(contextToken) && contextToken.parent.kind === 305 /* SourceFile */; default: return ts.Debug.assertNever(triggerCharacter); } @@ -133036,9 +134801,14 @@ var ts; if (type) { return type; } - if (ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 63 /* EqualsToken */ && node === node.parent.left) { + var parent = ts.walkUpParenthesizedExpressions(node.parent); + if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* EqualsToken */ && node === parent.left) { // Object literal is assignment pattern: ({ | } = x) - return typeChecker.getTypeAtLocation(node.parent); + return typeChecker.getTypeAtLocation(parent); + } + if (ts.isExpression(parent)) { + // f(() => (({ | }))); + return typeChecker.getContextualType(parent); } return undefined; } @@ -133049,7 +134819,7 @@ var ts; return { isKeywordOnlyCompletion: isKeywordOnlyCompletion, keywordCompletion: keywordCompletion, - isNewIdentifierLocation: !!(candidate || keywordCompletion === 151 /* TypeKeyword */), + isNewIdentifierLocation: !!(candidate || keywordCompletion === 152 /* TypeKeyword */), replacementNode: candidate && ts.rangeIsOnSingleLine(candidate, candidate.getSourceFile()) ? candidate : undefined @@ -133057,7 +134827,7 @@ var ts; function getCandidate() { var parent = contextToken.parent; if (ts.isImportEqualsDeclaration(parent)) { - keywordCompletion = contextToken.kind === 151 /* TypeKeyword */ ? undefined : 151 /* TypeKeyword */; + keywordCompletion = contextToken.kind === 152 /* TypeKeyword */ ? undefined : 152 /* TypeKeyword */; return isModuleSpecifierMissingOrEmpty(parent.moduleReference) ? parent : undefined; } if (couldBeTypeOnlyImportSpecifier(parent, contextToken) && canCompleteFromNamedBindings(parent.parent)) { @@ -133067,13 +134837,13 @@ var ts; if (!parent.parent.isTypeOnly && (contextToken.kind === 18 /* OpenBraceToken */ || contextToken.kind === 100 /* ImportKeyword */ || contextToken.kind === 27 /* CommaToken */)) { - keywordCompletion = 151 /* TypeKeyword */; + keywordCompletion = 152 /* TypeKeyword */; } if (canCompleteFromNamedBindings(parent)) { // At `import { ... } |` or `import * as Foo |`, the only possible completion is `from` if (contextToken.kind === 19 /* CloseBraceToken */ || contextToken.kind === 79 /* Identifier */) { isKeywordOnlyCompletion = true; - keywordCompletion = 155 /* FromKeyword */; + keywordCompletion = 156 /* FromKeyword */; } else { return parent.parent.parent; @@ -133083,12 +134853,12 @@ var ts; } if (ts.isImportKeyword(contextToken) && ts.isSourceFile(parent)) { // A lone import keyword with nothing following it does not parse as a statement at all - keywordCompletion = 151 /* TypeKeyword */; + keywordCompletion = 152 /* TypeKeyword */; return contextToken; } if (ts.isImportKeyword(contextToken) && ts.isImportDeclaration(parent)) { // `import s| from` - keywordCompletion = 151 /* TypeKeyword */; + keywordCompletion = 152 /* TypeKeyword */; return isModuleSpecifierMissingOrEmpty(parent.moduleSpecifier) ? parent : undefined; } return undefined; @@ -133272,8 +135042,8 @@ var ts; case 134 /* ConstructorKeyword */: return getFromAllDeclarations(ts.isConstructorDeclaration, [134 /* ConstructorKeyword */]); case 136 /* GetKeyword */: - case 148 /* SetKeyword */: - return getFromAllDeclarations(ts.isAccessor, [136 /* GetKeyword */, 148 /* SetKeyword */]); + case 149 /* SetKeyword */: + return getFromAllDeclarations(ts.isAccessor, [136 /* GetKeyword */, 149 /* SetKeyword */]); case 132 /* AwaitKeyword */: return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); case 131 /* AsyncKeyword */: @@ -133321,7 +135091,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 303 /* SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 305 /* SourceFile */) { return parent; } // A throw-statement is only owned by a try-statement if the try-statement has @@ -133353,16 +135123,16 @@ var ts; function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 248 /* SwitchStatement */: - if (statement.kind === 244 /* ContinueStatement */) { + case 249 /* SwitchStatement */: + if (statement.kind === 245 /* ContinueStatement */) { return false; } // falls through - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 240 /* WhileStatement */: - case 239 /* DoStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 241 /* WhileStatement */: + case 240 /* DoStatement */: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: // Don't cross function boundaries. @@ -133378,11 +135148,11 @@ var ts; // Types of node whose children might have modifiers. var container = declaration.parent; switch (container.kind) { - case 261 /* ModuleBlock */: - case 303 /* SourceFile */: - case 234 /* Block */: - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 262 /* ModuleBlock */: + case 305 /* SourceFile */: + case 235 /* Block */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: // Container is either a class declaration or the declaration is a classDeclaration if (modifierFlag & 128 /* Abstract */ && ts.isClassDeclaration(declaration)) { return __spreadArray(__spreadArray([], declaration.members, true), [declaration], false); @@ -133390,14 +135160,14 @@ var ts; else { return container.statements; } - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 255 /* FunctionDeclaration */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 256 /* FunctionDeclaration */: return __spreadArray(__spreadArray([], container.parameters, true), (ts.isClassLike(container.parent) ? container.parent.members : []), true); - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 181 /* TypeLiteral */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 182 /* TypeLiteral */: var nodes = container.members; // If we're an accessibility modifier, we're in an instance member and should search // the constructor's parameter list for instance members as well. @@ -133412,7 +135182,7 @@ var ts; } return nodes; // Syntactically invalid positions that the parser might produce anyway - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return undefined; default: ts.Debug.assertNever(container, "Invalid container kind."); @@ -133433,7 +135203,7 @@ var ts; var keywords = []; if (pushKeywordIf(keywords, loopNode.getFirstToken(), 97 /* ForKeyword */, 115 /* WhileKeyword */, 90 /* DoKeyword */)) { // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === 239 /* DoStatement */) { + if (loopNode.kind === 240 /* DoStatement */) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { if (pushKeywordIf(keywords, loopTokens[i], 115 /* WhileKeyword */)) { @@ -133453,13 +135223,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: return getLoopBreakContinueOccurrences(owner); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: return getSwitchCaseDefaultOccurrences(owner); } } @@ -133670,9 +135440,15 @@ var ts; }); return JSON.stringify(bucketInfoArray, undefined, 2); } + function getCompilationSettings(settingsOrHost) { + if (typeof settingsOrHost.getCompilationSettings === "function") { + return settingsOrHost.getCompilationSettings(); + } + return settingsOrHost; + } function acquireDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var key = getKeyForCompilationSettings(compilationSettings); + var key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); } function acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind) { @@ -133680,20 +135456,28 @@ var ts; } function updateDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var key = getKeyForCompilationSettings(compilationSettings); + var key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); } function updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind) { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ false, scriptKind); + return acquireOrUpdateDocument(fileName, path, getCompilationSettings(compilationSettings), key, scriptSnapshot, version, /*acquiring*/ false, scriptKind); } function getDocumentRegistryEntry(bucketEntry, scriptKind) { var entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(ts.Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); - ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:".concat(scriptKind, " and sourceFile.scriptKind: ").concat(entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind, ", !entry: ").concat(!entry)); + ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:" + scriptKind + " and sourceFile.scriptKind: " + (entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind) + ", !entry: " + !entry); return entry; } - function acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, acquiring, scriptKind) { + function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version, acquiring, scriptKind) { + var _a, _b, _c, _d; scriptKind = ts.ensureScriptKind(fileName, scriptKind); + var compilationSettings = getCompilationSettings(compilationSettingsOrHost); + var host = compilationSettingsOrHost === compilationSettings ? undefined : compilationSettingsOrHost; var scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : ts.getEmitScriptTarget(compilationSettings); + var sourceFileOptions = { + languageVersion: scriptTarget, + impliedNodeFormat: host && ts.getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a = host.getCompilerHost) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getModuleResolutionCache) === null || _c === void 0 ? void 0 : _c.call(_b)) === null || _d === void 0 ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), + setExternalModuleIndicator: ts.getSetExternalModuleIndicator(compilationSettings) + }; var oldBucketCount = buckets.size; var bucket = ts.getOrUpdate(buckets, key, function () { return new ts.Map(); }); if (ts.tracing) { @@ -133727,7 +135511,7 @@ var ts; } if (!entry) { // Have never seen this file with these settings. Create a new source file for it. - var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, /*setNodeParents*/ false, scriptKind); + var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, sourceFileOptions, version, /*setNodeParents*/ false, scriptKind); if (externalCache) { externalCache.setDocument(key, path, sourceFile); } @@ -133817,8 +135601,24 @@ var ts; }; } ts.createDocumentRegistryInternal = createDocumentRegistryInternal; + function compilerOptionValueToString(value) { + var _a; + if (value === null || typeof value !== "object") { // eslint-disable-line no-null/no-null + return "" + value; + } + if (ts.isArray(value)) { + return "[" + ((_a = ts.map(value, function (e) { return compilerOptionValueToString(e); })) === null || _a === void 0 ? void 0 : _a.join(",")) + "]"; + } + var str = "{"; + for (var key in value) { + if (ts.hasOwnProperty.call(value, key)) { // eslint-disable-line @typescript-eslint/no-unnecessary-qualifier + str += key + ": " + compilerOptionValueToString(value[key]); + } + } + return str + "}"; + } function getKeyForCompilationSettings(settings) { - return ts.sourceFileAffectingCompilerOptions.map(function (option) { return ts.getCompilerOptionValue(settings, option); }).join("|"); + return ts.sourceFileAffectingCompilerOptions.map(function (option) { return compilerOptionValueToString(ts.getCompilerOptionValue(settings, option)); }).join("|") + (settings.pathsBasePath ? "|" + settings.pathsBasePath : undefined); } })(ts || (ts = {})); /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ @@ -133885,14 +135685,14 @@ var ts; if (cancellationToken) cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (ts.isImportCall(direct)) { handleImportCall(direct); break; } if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 /* ExportEquals */ && parent.kind === 253 /* VariableDeclaration */) { + if (exportKind === 2 /* ExportEquals */ && parent.kind === 254 /* VariableDeclaration */) { var name = parent.name; if (name.kind === 79 /* Identifier */) { directImports.push(name); @@ -133903,25 +135703,25 @@ var ts; break; case 79 /* Identifier */: // for 'const x = require("y"); break; // TODO: GH#23879 - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: handleNamespaceImport(direct, direct.name, ts.hasSyntacticModifier(direct, 1 /* Export */), /*alreadyAddedDirect*/ false); break; - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: directImports.push(direct); var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 267 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 268 /* NamespaceImport */) { handleNamespaceImport(direct, namedBindings.name, /*isReExport*/ false, /*alreadyAddedDirect*/ true); } else if (!isAvailableThroughGlobal && ts.isDefaultImport(direct)) { addIndirectUser(getSourceFileLikeForImportDeclaration(direct)); // Add a check for indirect uses to handle synthetic default imports } break; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: if (!direct.exportClause) { // This is `export * from "foo"`, so imports of this module may import the export too. handleDirectImports(getContainingModuleSymbol(direct, checker)); } - else if (direct.exportClause.kind === 273 /* NamespaceExport */) { + else if (direct.exportClause.kind === 274 /* NamespaceExport */) { // `export * as foo from "foo"` add to indirect uses addIndirectUser(getSourceFileLikeForImportDeclaration(direct), /** addTransitiveDependencies */ true); } @@ -133930,7 +135730,7 @@ var ts; directImports.push(direct); } break; - case 199 /* ImportType */: + case 200 /* ImportType */: // Only check for typeof import('xyz') if (direct.isTypeOf && !direct.qualifier && isExported(direct)) { addIndirectUser(direct.getSourceFile(), /** addTransitiveDependencies */ true); @@ -133963,7 +135763,7 @@ var ts; } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 303 /* SourceFile */ || sourceFileLike.kind === 260 /* ModuleDeclaration */); + ts.Debug.assert(sourceFileLike.kind === 305 /* SourceFile */ || sourceFileLike.kind === 261 /* ModuleDeclaration */); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUser(sourceFileLike, /** addTransitiveDependencies */ true); } @@ -134019,7 +135819,7 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 264 /* ImportEqualsDeclaration */) { + if (decl.kind === 265 /* ImportEqualsDeclaration */) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } @@ -134029,7 +135829,7 @@ var ts; handleNamespaceImportLike(decl); return; } - if (decl.kind === 199 /* ImportType */) { + if (decl.kind === 200 /* ImportType */) { if (decl.qualifier) { var firstIdentifier = ts.getFirstIdentifier(decl.qualifier); if (firstIdentifier.escapedText === ts.symbolName(exportSymbol)) { @@ -134045,7 +135845,7 @@ var ts; if (decl.moduleSpecifier.kind !== 10 /* StringLiteral */) { return; } - if (decl.kind === 271 /* ExportDeclaration */) { + if (decl.kind === 272 /* ExportDeclaration */) { if (decl.exportClause && ts.isNamedExports(decl.exportClause)) { searchForNamedImport(decl.exportClause); } @@ -134054,10 +135854,10 @@ var ts; var _a = decl.importClause || { name: undefined, namedBindings: undefined }, name = _a.name, namedBindings = _a.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: handleNamespaceImportLike(namedBindings.name); break; - case 268 /* NamedImports */: + case 269 /* NamedImports */: // 'default' might be accessed as a named import `{ default as foo }`. if (exportKind === 0 /* Named */ || exportKind === 1 /* Default */) { searchForNamedImport(namedBindings); @@ -134107,7 +135907,7 @@ var ts; } } else { - var localSymbol = element.kind === 274 /* ExportSpecifier */ && element.propertyName + var localSymbol = element.kind === 275 /* ExportSpecifier */ && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) // For re-exporting under a different name, we want to get the re-exported symbol. : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -134136,7 +135936,7 @@ var ts; for (var _i = 0, sourceFiles_1 = sourceFiles; _i < sourceFiles_1.length; _i++) { var referencingFile = sourceFiles_1[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if ((searchSourceFile === null || searchSourceFile === void 0 ? void 0 : searchSourceFile.kind) === 303 /* SourceFile */) { + if ((searchSourceFile === null || searchSourceFile === void 0 ? void 0 : searchSourceFile.kind) === 305 /* SourceFile */) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -134145,7 +135945,7 @@ var ts; } for (var _c = 0, _d = referencingFile.typeReferenceDirectives; _c < _d.length; _c++) { var ref = _d[_c]; - var referenced = program.getResolvedTypeReferenceDirectives().get(ref.fileName); + var referenced = program.getResolvedTypeReferenceDirectives().get(ref.fileName, ref.resolutionMode || referencingFile.impliedNodeFormat); if (referenced !== undefined && referenced.resolvedFileName === searchSourceFile.fileName) { refs.push({ kind: "reference", referencingFile: referencingFile, ref: ref }); } @@ -134184,7 +135984,7 @@ var ts; } /** Iterates over all statements at the top level or in module declarations. Returns the first truthy result. */ function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 303 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 305 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -134199,15 +135999,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 271 /* ExportDeclaration */: - case 265 /* ImportDeclaration */: { + case 272 /* ExportDeclaration */: + case 266 /* ImportDeclaration */: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 264 /* ImportEqualsDeclaration */: { + case 265 /* ImportEqualsDeclaration */: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -134232,7 +136032,7 @@ var ts; var parent = node.parent; var grandparent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 205 /* PropertyAccessExpression */) { + if (parent.kind === 206 /* PropertyAccessExpression */) { // When accessing an export of a JS module, there's no alias. The symbol will still be flagged as an export even though we're at the use. // So check that we are at the declaration. return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d === parent; })) && ts.isBinaryExpression(grandparent) @@ -134366,16 +136166,16 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return parent.name === node && isExternalModuleImportEquals(parent); - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: // For a rename import `{ foo as bar }`, don't search for the imported symbol. Just find local uses of `bar`. return !parent.propertyName; - case 266 /* ImportClause */: - case 267 /* NamespaceImport */: + case 267 /* ImportClause */: + case 268 /* NamespaceImport */: ts.Debug.assert(parent.name === node); return true; - case 202 /* BindingElement */: + case 203 /* BindingElement */: return ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(parent); default: return false; @@ -134416,21 +136216,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 207 /* CallExpression */) { + if (node.kind === 208 /* CallExpression */) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 303 /* SourceFile */) { + if (parent.kind === 305 /* SourceFile */) { return parent; } - ts.Debug.assert(parent.kind === 261 /* ModuleBlock */); + ts.Debug.assert(parent.kind === 262 /* ModuleBlock */); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 260 /* ModuleDeclaration */ && node.name.kind === 10 /* StringLiteral */; + return node.kind === 261 /* ModuleDeclaration */ && node.name.kind === 10 /* StringLiteral */; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 276 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 10 /* StringLiteral */; + return eq.moduleReference.kind === 277 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 10 /* StringLiteral */; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -134533,7 +136333,7 @@ var ts; if (!node) return undefined; switch (node.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return !ts.isVariableDeclarationList(node.parent) || node.parent.declarations.length !== 1 ? node : ts.isVariableStatement(node.parent.parent) ? @@ -134541,28 +136341,28 @@ var ts; ts.isForInOrOfStatement(node.parent.parent) ? getContextNode(node.parent.parent) : node.parent; - case 202 /* BindingElement */: + case 203 /* BindingElement */: return getContextNode(node.parent.parent); - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: return node.parent.parent.parent; - case 274 /* ExportSpecifier */: - case 267 /* NamespaceImport */: + case 275 /* ExportSpecifier */: + case 268 /* NamespaceImport */: return node.parent.parent; - case 266 /* ImportClause */: - case 273 /* NamespaceExport */: + case 267 /* ImportClause */: + case 274 /* NamespaceExport */: return node.parent; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return ts.isExpressionStatement(node.parent) ? node.parent : node; - case 243 /* ForOfStatement */: - case 242 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 243 /* ForInStatement */: return { start: node.initializer, end: node.expression }; - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent) ? getContextNode(ts.findAncestor(node.parent, function (node) { return ts.isBinaryExpression(node) || ts.isForInOrOfStatement(node); @@ -134603,26 +136403,35 @@ var ts; })(FindReferencesUse = FindAllReferences.FindReferencesUse || (FindAllReferences.FindReferencesUse = {})); function findReferencedSymbols(program, cancellationToken, sourceFiles, sourceFile, position) { var node = ts.getTouchingPropertyName(sourceFile, position); - var referencedSymbols = Core.getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken, { use: 1 /* References */ }); + var options = { use: 1 /* References */ }; + var referencedSymbols = Core.getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken, options); var checker = program.getTypeChecker(); - var symbol = checker.getSymbolAtLocation(node); + // Unless the starting node is a declaration (vs e.g. JSDoc), don't attempt to compute isDefinition + var adjustedNode = Core.getAdjustedNode(node, options); + var symbol = isDefinitionForReference(adjustedNode) ? checker.getSymbolAtLocation(adjustedNode) : undefined; return !referencedSymbols || !referencedSymbols.length ? undefined : ts.mapDefined(referencedSymbols, function (_a) { var definition = _a.definition, references = _a.references; // Only include referenced symbols that have a valid definition. return definition && { definition: checker.runWithCancellationToken(cancellationToken, function (checker) { return definitionToReferencedSymbolDefinitionInfo(definition, checker, node); }), - references: references.map(function (r) { return toReferenceEntry(r, symbol); }) + references: references.map(function (r) { return toReferencedSymbolEntry(r, symbol); }) }; }); } FindAllReferences.findReferencedSymbols = findReferencedSymbols; + function isDefinitionForReference(node) { + return node.kind === 88 /* DefaultKeyword */ + || !!ts.getDeclarationFromName(node) + || ts.isLiteralComputedPropertyDeclarationName(node) + || (node.kind === 134 /* ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent)); + } function getImplementationsAtPosition(program, cancellationToken, sourceFiles, sourceFile, position) { var node = ts.getTouchingPropertyName(sourceFile, position); var referenceEntries; var entries = getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position); - if (node.parent.kind === 205 /* PropertyAccessExpression */ - || node.parent.kind === 202 /* BindingElement */ - || node.parent.kind === 206 /* ElementAccessExpression */ + if (node.parent.kind === 206 /* PropertyAccessExpression */ + || node.parent.kind === 203 /* BindingElement */ + || node.parent.kind === 207 /* ElementAccessExpression */ || node.kind === 106 /* SuperKeyword */) { referenceEntries = entries && __spreadArray([], entries, true); } @@ -134646,13 +136455,13 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 303 /* SourceFile */) { + if (node.kind === 305 /* SourceFile */) { return undefined; } var checker = program.getTypeChecker(); // If invoked directly on a shorthand property assignment, then return // the declaration of the symbol being assigned (not the symbol being assigned to). - if (node.parent.kind === 295 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 297 /* ShorthandPropertyAssignment */) { var result_2 = []; Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_2.push(nodeEntry(node)); }); return result_2; @@ -134717,7 +136526,7 @@ var ts; sourceFile: def.file, name: def.reference.fileName, kind: "string" /* string */, - displayParts: [ts.displayPart("\"".concat(def.reference.fileName, "\""), ts.SymbolDisplayPartKind.stringLiteral)] + displayParts: [ts.displayPart("\"" + def.reference.fileName + "\"", ts.SymbolDisplayPartKind.stringLiteral)] }; } default: @@ -134744,13 +136553,19 @@ var ts; return __assign(__assign({}, entryToDocumentSpan(entry)), (providePrefixAndSuffixText && getPrefixAndSuffixText(entry, originalNode, checker))); } FindAllReferences.toRenameLocation = toRenameLocation; - function toReferenceEntry(entry, symbol) { + function toReferencedSymbolEntry(entry, symbol) { + var referenceEntry = toReferenceEntry(entry); + if (!symbol) + return referenceEntry; + return __assign(__assign({}, referenceEntry), { isDefinition: entry.kind !== 0 /* Span */ && isDeclarationOfSymbol(entry.node, symbol) }); + } + function toReferenceEntry(entry) { var documentSpan = entryToDocumentSpan(entry); if (entry.kind === 0 /* Span */) { - return __assign(__assign({}, documentSpan), { isWriteAccess: false, isDefinition: false }); + return __assign(__assign({}, documentSpan), { isWriteAccess: false }); } var kind = entry.kind, node = entry.node; - return __assign(__assign({}, documentSpan), { isWriteAccess: isWriteAccessForReference(node), isDefinition: isDeclarationOfSymbol(node, symbol), isInString: kind === 2 /* StringLiteral */ ? true : undefined }); + return __assign(__assign({}, documentSpan), { isWriteAccess: isWriteAccessForReference(node), isInString: kind === 2 /* StringLiteral */ ? true : undefined }); } FindAllReferences.toReferenceEntry = toReferenceEntry; function entryToDocumentSpan(entry) { @@ -134822,13 +136637,13 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 204 /* ObjectLiteralExpression */) { + else if (node.kind === 205 /* ObjectLiteralExpression */) { return { kind: "interface" /* interfaceElement */, displayParts: [ts.punctuationPart(20 /* OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(21 /* CloseParenToken */)] }; } - else if (node.kind === 225 /* ClassExpression */) { + else if (node.kind === 226 /* ClassExpression */) { return { kind: "local class" /* localClassElement */, displayParts: [ts.punctuationPart(20 /* OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(21 /* CloseParenToken */)] @@ -134893,50 +136708,50 @@ var ts; */ function declarationIsWriteAccess(decl) { // Consider anything in an ambient declaration to be a write access since it may be coming from JS. - if (!!(decl.flags & 8388608 /* Ambient */)) + if (!!(decl.flags & 16777216 /* Ambient */)) return true; switch (decl.kind) { - case 220 /* BinaryExpression */: - case 202 /* BindingElement */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 221 /* BinaryExpression */: + case 203 /* BindingElement */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: case 88 /* DefaultKeyword */: - case 259 /* EnumDeclaration */: - case 297 /* EnumMember */: - case 274 /* ExportSpecifier */: - case 266 /* ImportClause */: // default import - case 264 /* ImportEqualsDeclaration */: - case 269 /* ImportSpecifier */: - case 257 /* InterfaceDeclaration */: - case 336 /* JSDocCallbackTag */: - case 343 /* JSDocTypedefTag */: - case 284 /* JsxAttribute */: - case 260 /* ModuleDeclaration */: - case 263 /* NamespaceExportDeclaration */: - case 267 /* NamespaceImport */: - case 273 /* NamespaceExport */: - case 163 /* Parameter */: - case 295 /* ShorthandPropertyAssignment */: - case 258 /* TypeAliasDeclaration */: - case 162 /* TypeParameter */: + case 260 /* EnumDeclaration */: + case 299 /* EnumMember */: + case 275 /* ExportSpecifier */: + case 267 /* ImportClause */: // default import + case 265 /* ImportEqualsDeclaration */: + case 270 /* ImportSpecifier */: + case 258 /* InterfaceDeclaration */: + case 338 /* JSDocCallbackTag */: + case 345 /* JSDocTypedefTag */: + case 285 /* JsxAttribute */: + case 261 /* ModuleDeclaration */: + case 264 /* NamespaceExportDeclaration */: + case 268 /* NamespaceImport */: + case 274 /* NamespaceExport */: + case 164 /* Parameter */: + case 297 /* ShorthandPropertyAssignment */: + case 259 /* TypeAliasDeclaration */: + case 163 /* TypeParameter */: return true; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: // In `({ x: y } = 0);`, `x` is not a write access. (Won't call this function for `y`.) return !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(decl.parent); - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 170 /* Constructor */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 171 /* Constructor */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return !!decl.body; - case 253 /* VariableDeclaration */: - case 166 /* PropertyDeclaration */: + case 254 /* VariableDeclaration */: + case 167 /* PropertyDeclaration */: return !!decl.initializer || ts.isCatchClause(decl.parent); - case 167 /* MethodSignature */: - case 165 /* PropertySignature */: - case 345 /* JSDocPropertyTag */: - case 338 /* JSDocParameterTag */: + case 168 /* MethodSignature */: + case 166 /* PropertySignature */: + case 347 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: return false; default: return ts.Debug.failBadSyntaxKind(decl); @@ -134950,12 +136765,7 @@ var ts; var _a, _b; if (options === void 0) { options = {}; } if (sourceFilesSet === void 0) { sourceFilesSet = new ts.Set(sourceFiles.map(function (f) { return f.fileName; })); } - if (options.use === 1 /* References */) { - node = ts.getAdjustedReferenceLocation(node); - } - else if (options.use === 2 /* Rename */) { - node = ts.getAdjustedRenameLocation(node); - } + node = getAdjustedNode(node, options); if (ts.isSourceFile(node)) { var resolvedRef = ts.GoToDefinition.getReferenceAtPosition(node, position, program); if (!(resolvedRef === null || resolvedRef === void 0 ? void 0 : resolvedRef.file)) { @@ -135016,6 +136826,16 @@ var ts; return mergeReferences(program, moduleReferences, references, moduleReferencesOfExportTarget); } Core.getReferencedSymbolsForNode = getReferencedSymbolsForNode; + function getAdjustedNode(node, options) { + if (options.use === 1 /* References */) { + node = ts.getAdjustedReferenceLocation(node); + } + else if (options.use === 2 /* Rename */) { + node = ts.getAdjustedRenameLocation(node); + } + return node; + } + Core.getAdjustedNode = getAdjustedNode; function getReferencesForFileName(fileName, program, sourceFiles, sourceFilesSet) { var _a, _b; if (sourceFilesSet === void 0) { sourceFilesSet = new ts.Set(sourceFiles.map(function (f) { return f.fileName; })); } @@ -135157,10 +136977,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: // Don't include the source file itself. (This may not be ideal behavior, but awkward to include an entire file as a reference.) break; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push(nodeEntry(decl.name)); } @@ -135189,9 +137009,9 @@ var ts; } /** As in a `readonly prop: any` or `constructor(readonly prop: any)`, not a `readonly any[]`. */ function isReadonlyTypeOperator(node) { - return node.kind === 144 /* ReadonlyKeyword */ + return node.kind === 145 /* ReadonlyKeyword */ && ts.isTypeOperatorNode(node.parent) - && node.parent.operator === 144 /* ReadonlyKeyword */; + && node.parent.operator === 145 /* ReadonlyKeyword */; } /** getReferencedSymbols for special node kinds. */ function getReferencedSymbolsSpecial(node, sourceFiles, cancellationToken) { @@ -135202,12 +137022,15 @@ var ts; } // A modifier readonly (like on a property declaration) is not special; // a readonly type keyword (like `readonly string[]`) is. - if (node.kind === 144 /* ReadonlyKeyword */ && !isReadonlyTypeOperator(node)) { + if (node.kind === 145 /* ReadonlyKeyword */ && !isReadonlyTypeOperator(node)) { return undefined; } // Likewise, when we *are* looking for a special keyword, make sure we // *don’t* include readonly member modifiers. - return getAllReferencesForKeyword(sourceFiles, node.kind, cancellationToken, node.kind === 144 /* ReadonlyKeyword */ ? isReadonlyTypeOperator : undefined); + return getAllReferencesForKeyword(sourceFiles, node.kind, cancellationToken, node.kind === 145 /* ReadonlyKeyword */ ? isReadonlyTypeOperator : undefined); + } + if (ts.isImportMeta(node.parent) && node.parent.name === node) { + return getAllReferencesForImportMeta(sourceFiles, cancellationToken); } if (ts.isStaticModifier(node) && ts.isClassStaticBlockDeclaration(node.parent)) { return [{ definition: { type: 2 /* Keyword */, node: node }, references: [nodeEntry(node)] }]; @@ -135271,7 +137094,7 @@ var ts; } function getSpecialSearchKind(node) { switch (node.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: case 134 /* ConstructorKeyword */: return 1 /* Constructor */; case 79 /* Identifier */: @@ -135297,7 +137120,7 @@ var ts; if (symbol.flags & 33554432 /* Transient */) return undefined; // Assertions for GH#21814. We should be handling SourceFile symbols in `getReferencedSymbolsForModule` instead of getting here. - ts.Debug.fail("Unexpected symbol at ".concat(ts.Debug.formatSyntaxKind(node.kind), ": ").concat(ts.Debug.formatSymbol(symbol))); + ts.Debug.fail("Unexpected symbol at " + ts.Debug.formatSyntaxKind(node.kind) + ": " + ts.Debug.formatSymbol(symbol)); } return ts.isTypeLiteralNode(decl.parent) && ts.isUnionTypeNode(decl.parent.parent) ? checker.getPropertyOfType(checker.getTypeFromTypeNode(decl.parent.parent), symbol.name) @@ -135450,15 +137273,21 @@ var ts; } function eachExportReference(sourceFiles, checker, cancellationToken, exportSymbol, exportingModuleSymbol, exportName, isDefaultExport, cb) { var importTracker = FindAllReferences.createImportTracker(sourceFiles, new ts.Set(sourceFiles.map(function (f) { return f.fileName; })), checker, cancellationToken); - var _a = importTracker(exportSymbol, { exportKind: isDefaultExport ? 1 /* Default */ : 0 /* Named */, exportingModuleSymbol: exportingModuleSymbol }, /*isForRename*/ false), importSearches = _a.importSearches, indirectUsers = _a.indirectUsers; + var _a = importTracker(exportSymbol, { exportKind: isDefaultExport ? 1 /* Default */ : 0 /* Named */, exportingModuleSymbol: exportingModuleSymbol }, /*isForRename*/ false), importSearches = _a.importSearches, indirectUsers = _a.indirectUsers, singleReferences = _a.singleReferences; for (var _i = 0, importSearches_2 = importSearches; _i < importSearches_2.length; _i++) { var importLocation = importSearches_2[_i][0]; cb(importLocation); } - for (var _b = 0, indirectUsers_2 = indirectUsers; _b < indirectUsers_2.length; _b++) { - var indirectUser = indirectUsers_2[_b]; - for (var _c = 0, _d = getPossibleSymbolReferenceNodes(indirectUser, isDefaultExport ? "default" : exportName); _c < _d.length; _c++) { - var node = _d[_c]; + for (var _b = 0, singleReferences_2 = singleReferences; _b < singleReferences_2.length; _b++) { + var singleReference = singleReferences_2[_b]; + if (ts.isIdentifier(singleReference) && ts.isImportTypeNode(singleReference.parent)) { + cb(singleReference); + } + } + for (var _c = 0, indirectUsers_2 = indirectUsers; _c < indirectUsers_2.length; _c++) { + var indirectUser = indirectUsers_2[_c]; + for (var _d = 0, _e = getPossibleSymbolReferenceNodes(indirectUser, isDefaultExport ? "default" : exportName); _d < _e.length; _d++) { + var node = _e[_d]; // Import specifiers should be handled by importSearches var symbol = checker.getSymbolAtLocation(node); var hasExportAssignmentDeclaration = ts.some(symbol === null || symbol === void 0 ? void 0 : symbol.declarations, function (d) { return ts.tryCast(d, ts.isExportAssignment) ? true : false; }); @@ -135514,7 +137343,7 @@ var ts; // If this is the symbol of a named function expression or named class expression, // then named references are limited to its own scope. var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 212 /* FunctionExpression */ || valueDeclaration.kind === 225 /* ClassExpression */)) { + if (valueDeclaration && (valueDeclaration.kind === 213 /* FunctionExpression */ || valueDeclaration.kind === 226 /* ClassExpression */)) { return valueDeclaration; } if (!declarations) { @@ -135524,7 +137353,7 @@ var ts; if (flags & (4 /* Property */ | 8192 /* Method */)) { var privateDeclaration = ts.find(declarations, function (d) { return ts.hasEffectiveModifier(d, 8 /* Private */) || ts.isPrivateIdentifierClassElementDeclaration(d); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 256 /* ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 257 /* ClassDeclaration */); } // Else this is a public property and could be accessed from anywhere. return undefined; @@ -135553,7 +137382,7 @@ var ts; // Different declarations have different containers, bail out return undefined; } - if (!container || container.kind === 303 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 305 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { // This is a global variable and not an external module, any declaration defined // within this scope is visible outside the file return undefined; @@ -135690,6 +137519,18 @@ var ts; return false; } } + function getAllReferencesForImportMeta(sourceFiles, cancellationToken) { + var references = ts.flatMap(sourceFiles, function (sourceFile) { + cancellationToken.throwIfCancellationRequested(); + return ts.mapDefined(getPossibleSymbolReferenceNodes(sourceFile, "meta", sourceFile), function (node) { + var parent = node.parent; + if (ts.isImportMeta(parent)) { + return nodeEntry(parent); + } + }); + }); + return references.length ? [{ definition: { type: 2 /* Keyword */, node: references[0].node }, references: references }] : undefined; + } function getAllReferencesForKeyword(sourceFiles, keywordKind, cancellationToken, filter) { var references = ts.flatMap(sourceFiles, function (sourceFile) { cancellationToken.throwIfCancellationRequested(); @@ -135775,7 +137616,7 @@ var ts; } // Use the parent symbol if the location is commonjs require syntax on javascript files only. if (ts.isInJSFile(referenceLocation) - && referenceLocation.parent.kind === 202 /* BindingElement */ + && referenceLocation.parent.kind === 203 /* BindingElement */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(referenceLocation.parent)) { referenceSymbol = referenceLocation.parent.symbol; // The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In @@ -135883,6 +137724,10 @@ var ts; } function addReference(referenceLocation, relatedSymbol, state) { var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line no-in-operator + // if rename symbol from default export anonymous function, for example `export default function() {}`, we do not need to add reference + if (state.options.use === 2 /* Rename */ && referenceLocation.kind === 88 /* DefaultKeyword */) { + return; + } var addRef = state.referenceAdder(symbol); if (state.options.implementations) { addImplementationReferences(referenceLocation, addRef, state); @@ -135945,14 +137790,14 @@ var ts; for (var _i = 0, _a = constructorSymbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; var ctrKeyword = ts.findChildOfKind(decl, 134 /* ConstructorKeyword */, sourceFile); - ts.Debug.assert(decl.kind === 170 /* Constructor */ && !!ctrKeyword); + ts.Debug.assert(decl.kind === 171 /* Constructor */ && !!ctrKeyword); addNode(ctrKeyword); } } if (classSymbol.exports) { classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 168 /* MethodDeclaration */) { + if (decl && decl.kind === 169 /* MethodDeclaration */) { var body = decl.body; if (body) { forEachDescendantOfKind(body, 108 /* ThisKeyword */, function (thisKeyword) { @@ -135976,7 +137821,7 @@ var ts; } for (var _i = 0, _a = constructor.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 170 /* Constructor */); + ts.Debug.assert(decl.kind === 171 /* Constructor */); var body = decl.body; if (body) { forEachDescendantOfKind(body, 106 /* SuperKeyword */, function (node) { @@ -136006,7 +137851,7 @@ var ts; if (refNode.kind !== 79 /* Identifier */) { return; } - if (refNode.parent.kind === 295 /* ShorthandPropertyAssignment */) { + if (refNode.parent.kind === 297 /* ShorthandPropertyAssignment */) { // Go ahead and dereference the shorthand assignment by going to its definition getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } @@ -136026,7 +137871,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 234 /* Block */) { + if (body.kind === 235 /* Block */) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -136054,13 +137899,13 @@ var ts; */ function isImplementationExpression(node) { switch (node.kind) { - case 211 /* ParenthesizedExpression */: + case 212 /* ParenthesizedExpression */: return isImplementationExpression(node.expression); - case 213 /* ArrowFunction */: - case 212 /* FunctionExpression */: - case 204 /* ObjectLiteralExpression */: - case 225 /* ClassExpression */: - case 203 /* ArrayLiteralExpression */: + case 214 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 205 /* ObjectLiteralExpression */: + case 226 /* ClassExpression */: + case 204 /* ArrayLiteralExpression */: return true; default: return false; @@ -136113,13 +137958,13 @@ var ts; // Whether 'super' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; @@ -136140,43 +137985,43 @@ var ts; return [{ definition: { type: 0 /* Symbol */, symbol: searchSpaceNode.symbol }, references: references }]; } function isParameterName(node) { - return node.kind === 79 /* Identifier */ && node.parent.kind === 163 /* Parameter */ && node.parent.name === node; + return node.kind === 79 /* Identifier */ && node.parent.kind === 164 /* Parameter */ && node.parent.name === node; } function getReferencesForThisKeyword(thisOrSuperKeyword, sourceFiles, cancellationToken) { var searchSpaceNode = ts.getThisContainer(thisOrSuperKeyword, /* includeArrowFunctions */ false); // Whether 'this' occurs in a static context within a class. var staticFlag = 32 /* Static */; switch (searchSpaceNode.kind) { - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: if (ts.isObjectLiteralMethod(searchSpaceNode)) { staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning object literals break; } // falls through - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; - case 303 /* SourceFile */: + case 305 /* SourceFile */: if (ts.isExternalModule(searchSpaceNode) || isParameterName(thisOrSuperKeyword)) { return undefined; } // falls through - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: break; // Computed properties in classes are not handled here because references to this are illegal, // so there is no point finding references to them. default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 303 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 305 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -136184,20 +138029,20 @@ var ts; } var container = ts.getThisContainer(node, /* includeArrowFunctions */ false); switch (searchSpaceNode.kind) { - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: return searchSpaceNode.symbol === container.symbol; - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 225 /* ClassExpression */: - case 256 /* ClassDeclaration */: - case 204 /* ObjectLiteralExpression */: + case 226 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 205 /* ObjectLiteralExpression */: // Make sure the container belongs to the same class/object literals // and has the appropriate static modifier from the original container. return container.parent && searchSpaceNode.symbol === container.parent.symbol && ts.isStatic(container) === !!staticFlag; - case 303 /* SourceFile */: - return container.kind === 303 /* SourceFile */ && !ts.isExternalModule(container) && !isParameterName(node); + case 305 /* SourceFile */: + return container.kind === 305 /* SourceFile */ && !ts.isExternalModule(container) && !isParameterName(node); } }); }).map(function (n) { return nodeEntry(n); }); @@ -136308,7 +138153,7 @@ var ts; ts.Debug.assert(paramProps.length === 2 && !!(paramProps[0].flags & 1 /* FunctionScopedVariable */) && !!(paramProps[1].flags & 4 /* Property */)); // is [parameter, property] return fromRoot(symbol.flags & 1 /* FunctionScopedVariable */ ? paramProps[1] : paramProps[0]); } - var exportSpecifier = ts.getDeclarationOfKind(symbol, 274 /* ExportSpecifier */); + var exportSpecifier = ts.getDeclarationOfKind(symbol, 275 /* ExportSpecifier */); if (!isForRenamePopulateSearchSymbolSet || exportSpecifier && !exportSpecifier.propertyName) { var localSymbol = exportSpecifier && checker.getExportSpecifierLocalTargetSymbol(exportSpecifier); if (localSymbol) { @@ -136353,7 +138198,7 @@ var ts; }); } function getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol, checker) { - var bindingElement = ts.getDeclarationOfKind(symbol, 202 /* BindingElement */); + var bindingElement = ts.getDeclarationOfKind(symbol, 203 /* BindingElement */); if (bindingElement && ts.isObjectBindingElementWithoutPropertyName(bindingElement)) { return ts.getPropertySymbolFromBindingElement(checker, bindingElement); } @@ -136444,7 +138289,7 @@ var ts; } Core.getIntersectingMeaningFromDeclarations = getIntersectingMeaningFromDeclarations; function isImplementation(node) { - return !!(node.flags & 8388608 /* Ambient */) ? !(ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node)) : + return !!(node.flags & 16777216 /* Ambient */) ? !(ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node)) : (ts.isVariableLike(node) ? ts.hasInitializer(node) : ts.isFunctionLikeDeclaration(node) ? !!node.body : ts.isClassLike(node) || ts.isModuleOrEnumDeclaration(node)); @@ -136582,8 +138427,8 @@ var ts; var end = pos + 6; /* "static".length */ var typeChecker = program.getTypeChecker(); var symbol = typeChecker.getSymbolAtLocation(node.parent); - var prefix = symbol ? "".concat(typeChecker.symbolToString(symbol, node.parent), " ") : ""; - return { text: "".concat(prefix, "static {}"), pos: pos, end: end }; + var prefix = symbol ? typeChecker.symbolToString(symbol, node.parent) + " " : ""; + return { text: prefix + "static {}", pos: pos, end: end }; } var declName = isConstNamedExpression(node) ? node.parent.name : ts.Debug.checkDefined(ts.getNameOfDeclaration(node), "Expected call hierarchy item to have a name"); @@ -136616,16 +138461,16 @@ var ts; return; } switch (node.kind) { - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: - if (node.parent.kind === 204 /* ObjectLiteralExpression */) { + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: + if (node.parent.kind === 205 /* ObjectLiteralExpression */) { return (_a = ts.getAssignedName(node.parent)) === null || _a === void 0 ? void 0 : _a.getText(); } return (_b = ts.getNameOfDeclaration(node.parent)) === null || _b === void 0 ? void 0 : _b.getText(); - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 260 /* ModuleDeclaration */: + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 261 /* ModuleDeclaration */: if (ts.isModuleBlock(node.parent) && ts.isIdentifier(node.parent.parent.name)) { return node.parent.parent.name.getText(); } @@ -136822,7 +138667,7 @@ var ts; function collect(node) { if (!node) return; - if (node.flags & 8388608 /* Ambient */) { + if (node.flags & 16777216 /* Ambient */) { // do not descend into ambient nodes. return; } @@ -136840,58 +138685,58 @@ var ts; } switch (node.kind) { case 79 /* Identifier */: - case 264 /* ImportEqualsDeclaration */: - case 265 /* ImportDeclaration */: - case 271 /* ExportDeclaration */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: + case 272 /* ExportDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: // do not descend into nodes that cannot contain callable nodes return; - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: recordCallSite(node); return; - case 210 /* TypeAssertionExpression */: - case 228 /* AsExpression */: + case 211 /* TypeAssertionExpression */: + case 229 /* AsExpression */: // do not descend into the type side of an assertion collect(node.expression); return; - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: // do not descend into the type of a variable or parameter declaration collect(node.name); collect(node.initializer); return; - case 207 /* CallExpression */: + case 208 /* CallExpression */: // do not descend into the type arguments of a call expression recordCallSite(node); collect(node.expression); ts.forEach(node.arguments, collect); return; - case 208 /* NewExpression */: + case 209 /* NewExpression */: // do not descend into the type arguments of a new expression recordCallSite(node); collect(node.expression); ts.forEach(node.arguments, collect); return; - case 209 /* TaggedTemplateExpression */: + case 210 /* TaggedTemplateExpression */: // do not descend into the type arguments of a tagged template expression recordCallSite(node); collect(node.tag); collect(node.template); return; - case 279 /* JsxOpeningElement */: - case 278 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: // do not descend into the type arguments of a JsxOpeningLikeElement recordCallSite(node); collect(node.tagName); collect(node.attributes); return; - case 164 /* Decorator */: + case 165 /* Decorator */: recordCallSite(node); collect(node.expression); return; - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: recordCallSite(node); ts.forEachChild(node, collect); break; @@ -136947,25 +138792,25 @@ var ts; var callSites = []; var collect = createCallSiteCollector(program, callSites); switch (node.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: collectCallSitesOfSourceFile(node, collect); break; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: collectCallSitesOfModuleDeclaration(node, collect); break; - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: collectCallSitesOfFunctionLikeDeclaration(program.getTypeChecker(), node, collect); break; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: collectCallSitesOfClassLikeDeclaration(node, collect); break; - case 169 /* ClassStaticBlockDeclaration */: + case 170 /* ClassStaticBlockDeclaration */: collectCallSitesOfClassStaticBlockDeclaration(node, collect); break; default: @@ -136981,7 +138826,7 @@ var ts; } /** Gets the call sites that call out of the provided call hierarchy declaration. */ function getOutgoingCalls(program, declaration) { - if (declaration.flags & 8388608 /* Ambient */ || ts.isMethodSignature(declaration)) { + if (declaration.flags & 16777216 /* Ambient */ || ts.isMethodSignature(declaration)) { return []; } return ts.group(collectCallSites(program, declaration), getCallSiteGroupKey, function (entries) { return convertCallSiteGroupToOutgoingCall(program, entries); }); @@ -137234,7 +139079,7 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 158 /* OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 159 /* OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels @@ -137280,7 +139125,7 @@ var ts; // go to the declaration of the property name (in this case stay at the same position). However, if go-to-definition // is performed at the location of property access, we would like to go to definition of the property in the short-hand // assignment. This case and others are handled by the following code. - if (node.parent.kind === 295 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 297 /* ShorthandPropertyAssignment */) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); var definitions = (shorthandSymbol_1 === null || shorthandSymbol_1 === void 0 ? void 0 : shorthandSymbol_1.declarations) ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node); }) : ts.emptyArray; return ts.concatenate(definitions, getDefinitionFromObjectLiteralElement(typeChecker, node) || ts.emptyArray); @@ -137367,7 +139212,7 @@ var ts; } var typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); if (typeReferenceDirective) { - var reference = program.getResolvedTypeReferenceDirectives().get(typeReferenceDirective.fileName); + var reference = program.getResolvedTypeReferenceDirectives().get(typeReferenceDirective.fileName, typeReferenceDirective.resolutionMode || sourceFile.impliedNodeFormat); var file = reference && program.getSourceFile(reference.resolvedFileName); // TODO:GH#18217 return file && { reference: typeReferenceDirective, fileName: file.fileName, file: file, unverified: false }; } @@ -137402,6 +139247,9 @@ var ts; if (node === sourceFile) { return undefined; } + if (ts.isImportMeta(node.parent) && node.parent.name === node) { + return definitionFromType(typeChecker.getTypeAtLocation(node.parent), typeChecker, node.parent); + } var symbol = getSymbol(node, typeChecker); if (!symbol) return undefined; @@ -137480,13 +139328,13 @@ var ts; return true; } switch (declaration.kind) { - case 266 /* ImportClause */: - case 264 /* ImportEqualsDeclaration */: + case 267 /* ImportClause */: + case 265 /* ImportEqualsDeclaration */: return true; - case 269 /* ImportSpecifier */: - return declaration.parent.kind === 268 /* NamedImports */; - case 202 /* BindingElement */: - case 253 /* VariableDeclaration */: + case 270 /* ImportSpecifier */: + return declaration.parent.kind === 269 /* NamedImports */; + case 203 /* BindingElement */: + case 254 /* VariableDeclaration */: return ts.isInJSFile(declaration) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(declaration); default: return false; @@ -137553,22 +139401,22 @@ var ts; return isDefinitionVisible(checker, declaration.parent); // Handle some exceptions here like arrow function, members of class and object literal expression which are technically not visible but we want the definition to be determined by its parent switch (declaration.kind) { - case 166 /* PropertyDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 168 /* MethodDeclaration */: + case 167 /* PropertyDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 169 /* MethodDeclaration */: // Private/protected properties/methods are not visible if (ts.hasEffectiveModifier(declaration, 8 /* Private */)) return false; // Public properties/methods are visible if its parents are visible, so: // falls through - case 170 /* Constructor */: - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: - case 204 /* ObjectLiteralExpression */: - case 225 /* ClassExpression */: - case 213 /* ArrowFunction */: - case 212 /* FunctionExpression */: + case 171 /* Constructor */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: + case 205 /* ObjectLiteralExpression */: + case 226 /* ClassExpression */: + case 214 /* ArrowFunction */: + case 213 /* FunctionExpression */: return isDefinitionVisible(checker, declaration.parent); default: return false; @@ -137606,9 +139454,9 @@ var ts; } function isConstructorLike(node) { switch (node.kind) { - case 170 /* Constructor */: - case 179 /* ConstructorType */: - case 174 /* ConstructSignature */: + case 171 /* Constructor */: + case 180 /* ConstructorType */: + case 175 /* ConstructSignature */: return true; default: return false; @@ -137720,10 +139568,10 @@ var ts; // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation if (jsdoc.comment === undefined || ts.isJSDoc(jsdoc) - && declaration.kind !== 343 /* JSDocTypedefTag */ && declaration.kind !== 336 /* JSDocCallbackTag */ + && declaration.kind !== 345 /* JSDocTypedefTag */ && declaration.kind !== 338 /* JSDocCallbackTag */ && jsdoc.tags - && jsdoc.tags.some(function (t) { return t.kind === 343 /* JSDocTypedefTag */ || t.kind === 336 /* JSDocCallbackTag */; }) - && !jsdoc.tags.some(function (t) { return t.kind === 338 /* JSDocParameterTag */ || t.kind === 339 /* JSDocReturnTag */; })) { + && jsdoc.tags.some(function (t) { return t.kind === 345 /* JSDocTypedefTag */ || t.kind === 338 /* JSDocCallbackTag */; }) + && !jsdoc.tags.some(function (t) { return t.kind === 340 /* JSDocParameterTag */ || t.kind === 341 /* JSDocReturnTag */; })) { continue; } var newparts = getDisplayPartsFromComment(jsdoc.comment, checker); @@ -137740,11 +139588,11 @@ var ts; } function getCommentHavingNodes(declaration) { switch (declaration.kind) { - case 338 /* JSDocParameterTag */: - case 345 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: + case 347 /* JSDocPropertyTag */: return [declaration]; - case 336 /* JSDocCallbackTag */: - case 343 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 345 /* JSDocTypedefTag */: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -137758,8 +139606,8 @@ var ts; // skip comments containing @typedefs since they're not associated with particular declarations // Exceptions: // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation - if (tags.some(function (t) { return t.kind === 343 /* JSDocTypedefTag */ || t.kind === 336 /* JSDocCallbackTag */; }) - && !tags.some(function (t) { return t.kind === 338 /* JSDocParameterTag */ || t.kind === 339 /* JSDocReturnTag */; })) { + if (tags.some(function (t) { return t.kind === 345 /* JSDocTypedefTag */ || t.kind === 338 /* JSDocCallbackTag */; }) + && !tags.some(function (t) { return t.kind === 340 /* JSDocParameterTag */ || t.kind === 341 /* JSDocReturnTag */; })) { return; } for (var _i = 0, tags_1 = tags; _i < tags_1.length; _i++) { @@ -137774,17 +139622,17 @@ var ts; if (typeof comment === "string") { return [ts.textPart(comment)]; } - return ts.flatMap(comment, function (node) { return node.kind === 319 /* JSDocText */ ? [ts.textPart(node.text)] : ts.buildLinkParts(node, checker); }); + return ts.flatMap(comment, function (node) { return node.kind === 321 /* JSDocText */ ? [ts.textPart(node.text)] : ts.buildLinkParts(node, checker); }); } function getCommentDisplayParts(tag, checker) { var comment = tag.comment, kind = tag.kind; var namePart = getTagNameDisplayPart(kind); switch (kind) { - case 327 /* JSDocImplementsTag */: + case 329 /* JSDocImplementsTag */: return withNode(tag.class); - case 326 /* JSDocAugmentsTag */: + case 328 /* JSDocAugmentsTag */: return withNode(tag.class); - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: var templateTag = tag; var displayParts_3 = []; if (templateTag.constraint) { @@ -137806,13 +139654,13 @@ var ts; displayParts_3.push.apply(displayParts_3, __spreadArray([ts.spacePart()], getDisplayPartsFromComment(comment, checker), true)); } return displayParts_3; - case 341 /* JSDocTypeTag */: + case 343 /* JSDocTypeTag */: return withNode(tag.typeExpression); - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: - case 345 /* JSDocPropertyTag */: - case 338 /* JSDocParameterTag */: - case 344 /* JSDocSeeTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: + case 347 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: + case 346 /* JSDocSeeTag */: var name = tag.name; return name ? withNode(name) : comment === undefined ? undefined @@ -137839,14 +139687,14 @@ var ts; } function getTagNameDisplayPart(kind) { switch (kind) { - case 338 /* JSDocParameterTag */: + case 340 /* JSDocParameterTag */: return ts.parameterNamePart; - case 345 /* JSDocPropertyTag */: + case 347 /* JSDocPropertyTag */: return ts.propertyNamePart; - case 342 /* JSDocTemplateTag */: + case 344 /* JSDocTemplateTag */: return ts.typeParameterNamePart; - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: return ts.typeAliasNamePart; default: return ts.textPart; @@ -137867,7 +139715,7 @@ var ts; function getJSDocTagCompletions() { return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) { return { - name: "@".concat(tagName), + name: "@" + tagName, kind: "keyword" /* keyword */, kindModifiers: "", sortText: ts.Completions.SortText.LocationPriority @@ -137960,7 +139808,8 @@ var ts; return undefined; } var commentOwner = commentOwnerInfo.commentOwner, parameters = commentOwnerInfo.parameters, hasReturn = commentOwnerInfo.hasReturn; - if (commentOwner.getStart(sourceFile) < position) { + var commentOwnerJSDoc = ts.hasJSDocNodes(commentOwner) && commentOwner.jsDoc ? ts.lastOrUndefined(commentOwner.jsDoc) : undefined; + if (commentOwner.getStart(sourceFile) < position || commentOwnerJSDoc && commentOwnerJSDoc !== existingDocComment) { return undefined; } var indentationStr = getIndentationStringAtPosition(sourceFile, position); @@ -137999,35 +139848,35 @@ var ts; var name = _a.name, dotDotDotToken = _a.dotDotDotToken; var paramName = name.kind === 79 /* Identifier */ ? name.text : "param" + i; var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; - return "".concat(indentationStr, " * @param ").concat(type).concat(paramName).concat(newLine); + return indentationStr + " * @param " + type + paramName + newLine; }).join(""); } function returnsDocComment(indentationStr, newLine) { - return "".concat(indentationStr, " * @returns").concat(newLine); + return indentationStr + " * @returns" + newLine; } function getCommentOwnerInfo(tokenAtPos, options) { return ts.forEachAncestor(tokenAtPos, function (n) { return getCommentOwnerInfoWorker(n, options); }); } function getCommentOwnerInfoWorker(commentOwner, options) { switch (commentOwner.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 167 /* MethodSignature */: - case 213 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 168 /* MethodSignature */: + case 214 /* ArrowFunction */: var host = commentOwner; return { commentOwner: commentOwner, parameters: host.parameters, hasReturn: hasReturn(host, options) }; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return getCommentOwnerInfoWorker(commentOwner.initializer, options); - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 165 /* PropertySignature */: - case 259 /* EnumDeclaration */: - case 297 /* EnumMember */: - case 258 /* TypeAliasDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 166 /* PropertySignature */: + case 260 /* EnumDeclaration */: + case 299 /* EnumMember */: + case 259 /* TypeAliasDeclaration */: return { commentOwner: commentOwner }; - case 236 /* VariableStatement */: { + case 237 /* VariableStatement */: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; var host_1 = varDeclarations.length === 1 && varDeclarations[0].initializer @@ -138037,16 +139886,16 @@ var ts; ? { commentOwner: commentOwner, parameters: host_1.parameters, hasReturn: hasReturn(host_1, options) } : { commentOwner: commentOwner }; } - case 303 /* SourceFile */: + case 305 /* SourceFile */: return "quit"; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: // If in walking up the tree, we hit a a nested namespace declaration, // then we must be somewhere within a dotted namespace name; however we don't // want to give back a JSDoc template for the 'b' or 'c' in 'namespace a.b.c { }'. - return commentOwner.parent.kind === 260 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; - case 237 /* ExpressionStatement */: + return commentOwner.parent.kind === 261 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; + case 238 /* ExpressionStatement */: return getCommentOwnerInfoWorker(commentOwner.expression, options); - case 220 /* BinaryExpression */: { + case 221 /* BinaryExpression */: { var be = commentOwner; if (ts.getAssignmentDeclarationKind(be) === 0 /* None */) { return "quit"; @@ -138055,7 +139904,7 @@ var ts; ? { commentOwner: commentOwner, parameters: be.right.parameters, hasReturn: hasReturn(be.right, options) } : { commentOwner: commentOwner }; } - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: var init = commentOwner.initializer; if (init && (ts.isFunctionExpression(init) || ts.isArrowFunction(init))) { return { commentOwner: commentOwner, parameters: init.parameters, hasReturn: hasReturn(init, options) }; @@ -138068,14 +139917,14 @@ var ts; || ts.isFunctionLikeDeclaration(node) && node.body && ts.isBlock(node.body) && !!ts.forEachReturnStatement(node.body, function (n) { return n; })); } function getRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 211 /* ParenthesizedExpression */) { + while (rightHandSide.kind === 212 /* ParenthesizedExpression */) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return rightHandSide; - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: return ts.find(rightHandSide.members, ts.isConstructorDeclaration); } } @@ -138134,9 +139983,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 266 /* ImportClause */: - case 269 /* ImportSpecifier */: - case 264 /* ImportEqualsDeclaration */: + case 267 /* ImportClause */: + case 270 /* ImportSpecifier */: + case 265 /* ImportEqualsDeclaration */: var importer = checker.getSymbolAtLocation(declaration.name); // TODO: GH#18217 var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -138146,7 +139995,7 @@ var ts; } function tryAddSingleDeclarationName(declaration, containers) { var name = ts.getNameOfDeclaration(declaration); - return !!name && (pushLiteral(name, containers) || name.kind === 161 /* ComputedPropertyName */ && tryAddComputedPropertyName(name.expression, containers)); + return !!name && (pushLiteral(name, containers) || name.kind === 162 /* ComputedPropertyName */ && tryAddComputedPropertyName(name.expression, containers)); } // Only added the names of computed properties if they're simple dotted expressions, like: // @@ -138163,7 +140012,7 @@ var ts; // First, if we started with a computed property name, then add all but the last // portion into the container array. var name = ts.getNameOfDeclaration(declaration); - if (name && name.kind === 161 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers)) { + if (name && name.kind === 162 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers)) { return ts.emptyArray; } // Don't include the last portion. @@ -138380,7 +140229,7 @@ var ts; */ function hasNavigationBarName(node) { return !ts.hasDynamicName(node) || - (node.kind !== 220 /* BinaryExpression */ && + (node.kind !== 221 /* BinaryExpression */ && ts.isPropertyAccessExpression(node.name.expression) && ts.isIdentifier(node.name.expression.expression) && ts.idText(node.name.expression.expression) === "Symbol"); @@ -138393,7 +140242,7 @@ var ts; return; } switch (node.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: // Get parameter properties, and treat them as being on the *same* level as the constructor, not under it. var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); @@ -138405,25 +140254,25 @@ var ts; } } break; - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 167 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 168 /* MethodSignature */: if (hasNavigationBarName(node)) { addNodeWithRecursiveChild(node, node.body); } break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: if (hasNavigationBarName(node)) { addNodeWithRecursiveInitializer(node); } break; - case 165 /* PropertySignature */: + case 166 /* PropertySignature */: if (hasNavigationBarName(node)) { addLeafNode(node); } break; - case 266 /* ImportClause */: + case 267 /* ImportClause */: var importClause = node; // Handle default import case e.g.: // import d from "mod"; @@ -138435,7 +140284,7 @@ var ts; // import {a, b as B} from "mod"; var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 267 /* NamespaceImport */) { + if (namedBindings.kind === 268 /* NamespaceImport */) { addLeafNode(namedBindings); } else { @@ -138446,17 +140295,17 @@ var ts; } } break; - case 295 /* ShorthandPropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: addNodeWithRecursiveChild(node, node.name); break; - case 296 /* SpreadAssignment */: + case 298 /* SpreadAssignment */: var expression = node.expression; // Use the expression as the name of the SpreadAssignment, otherwise show as . ts.isIdentifier(expression) ? addLeafNode(node, expression) : addLeafNode(node); break; - case 202 /* BindingElement */: - case 294 /* PropertyAssignment */: - case 253 /* VariableDeclaration */: { + case 203 /* BindingElement */: + case 296 /* PropertyAssignment */: + case 254 /* VariableDeclaration */: { var child = node; if (ts.isBindingPattern(child.name)) { addChildrenRecursively(child.name); @@ -138466,7 +140315,7 @@ var ts; } break; } - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: var nameNode = node.name; // If we see a function declaration track as a possible ES5 class if (nameNode && ts.isIdentifier(nameNode)) { @@ -138474,11 +140323,11 @@ var ts; } addNodeWithRecursiveChild(node, node.body); break; - case 213 /* ArrowFunction */: - case 212 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 213 /* FunctionExpression */: addNodeWithRecursiveChild(node, node.body); break; - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -138488,9 +140337,9 @@ var ts; } endNode(); break; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -138498,10 +140347,10 @@ var ts; } endNode(); break; - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 270 /* ExportAssignment */: { + case 271 /* ExportAssignment */: { var expression_1 = node.expression; var child = ts.isObjectLiteralExpression(expression_1) || ts.isCallExpression(expression_1) ? expression_1 : ts.isArrowFunction(expression_1) || ts.isFunctionExpression(expression_1) ? expression_1.body : undefined; @@ -138515,16 +140364,16 @@ var ts; } break; } - case 274 /* ExportSpecifier */: - case 264 /* ImportEqualsDeclaration */: - case 175 /* IndexSignature */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 258 /* TypeAliasDeclaration */: + case 275 /* ExportSpecifier */: + case 265 /* ImportEqualsDeclaration */: + case 176 /* IndexSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 259 /* TypeAliasDeclaration */: addLeafNode(node); break; - case 207 /* CallExpression */: - case 220 /* BinaryExpression */: { + case 208 /* CallExpression */: + case 221 /* BinaryExpression */: { var special = ts.getAssignmentDeclarationKind(node); switch (special) { case 1 /* ExportsProperty */: @@ -138766,12 +140615,12 @@ var ts; return false; } switch (a.kind) { - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return ts.isStatic(a) === ts.isStatic(b); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return areSameModule(a, b) && getFullyQualifiedModuleName(a) === getFullyQualifiedModuleName(b); default: @@ -138793,7 +140642,7 @@ var ts; if (!a.body || !b.body) { return a.body === b.body; } - return a.body.kind === b.body.kind && (a.body.kind !== 260 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); + return a.body.kind === b.body.kind && (a.body.kind !== 261 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ function merge(target, source) { @@ -138823,7 +140672,7 @@ var ts; * So `new()` can still come before an `aardvark` method. */ function tryGetName(node) { - if (node.kind === 260 /* ModuleDeclaration */) { + if (node.kind === 261 /* ModuleDeclaration */) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); @@ -138832,39 +140681,39 @@ var ts; return propertyName && ts.unescapeLeadingUnderscores(propertyName); } switch (node.kind) { - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 225 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 226 /* ClassExpression */: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node, name) { - if (node.kind === 260 /* ModuleDeclaration */) { + if (node.kind === 261 /* ModuleDeclaration */) { return cleanText(getModuleName(node)); } if (name) { var text = ts.isIdentifier(name) ? name.text - : ts.isElementAccessExpression(name) ? "[".concat(nodeText(name.argumentExpression), "]") + : ts.isElementAccessExpression(name) ? "[" + nodeText(name.argumentExpression) + "]" : nodeText(name); if (text.length > 0) { return cleanText(text); } } switch (node.kind) { - case 303 /* SourceFile */: + case 305 /* SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) - ? "\"".concat(ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))), "\"") + ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" : ""; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: return ts.isExportAssignment(node) && node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; - case 213 /* ArrowFunction */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: + case 214 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: if (ts.getSyntacticModifierFlags(node) & 512 /* Default */) { return "default"; } @@ -138872,13 +140721,13 @@ var ts; // (eg: "app\n.onactivated"), so we should remove the whitespace for readability in the // navigation bar. return getFunctionOrClassName(node); - case 170 /* Constructor */: + case 171 /* Constructor */: return "constructor"; - case 174 /* ConstructSignature */: + case 175 /* ConstructSignature */: return "new()"; - case 173 /* CallSignature */: + case 174 /* CallSignature */: return "()"; - case 175 /* IndexSignature */: + case 176 /* IndexSignature */: return "[]"; default: return ""; @@ -138911,19 +140760,19 @@ var ts; } // Some nodes are otherwise important enough to always include in the primary navigation menu. switch (navigationBarNodeKind(item)) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 259 /* EnumDeclaration */: - case 257 /* InterfaceDeclaration */: - case 260 /* ModuleDeclaration */: - case 303 /* SourceFile */: - case 258 /* TypeAliasDeclaration */: - case 343 /* JSDocTypedefTag */: - case 336 /* JSDocCallbackTag */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 260 /* EnumDeclaration */: + case 258 /* InterfaceDeclaration */: + case 261 /* ModuleDeclaration */: + case 305 /* SourceFile */: + case 259 /* TypeAliasDeclaration */: + case 345 /* JSDocTypedefTag */: + case 338 /* JSDocCallbackTag */: return true; - case 213 /* ArrowFunction */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: return isTopLevelFunctionDeclaration(item); default: return false; @@ -138933,10 +140782,10 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 261 /* ModuleBlock */: - case 303 /* SourceFile */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: + case 262 /* ModuleBlock */: + case 305 /* SourceFile */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: return true; default: return false; @@ -138998,7 +140847,7 @@ var ts; function getFullyQualifiedModuleName(moduleDeclaration) { // Otherwise, we need to aggregate each identifier to build up the qualified name. var result = [ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)]; - while (moduleDeclaration.body && moduleDeclaration.body.kind === 260 /* ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 261 /* ModuleDeclaration */) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } @@ -139012,13 +140861,13 @@ var ts; return decl.body && ts.isModuleDeclaration(decl.body) ? getInteriorModule(decl.body) : decl; } function isComputedProperty(member) { - return !member.name || member.name.kind === 161 /* ComputedPropertyName */; + return !member.name || member.name.kind === 162 /* ComputedPropertyName */; } function getNodeSpan(node) { - return node.kind === 303 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 305 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 253 /* VariableDeclaration */) { + if (node.parent && node.parent.kind === 254 /* VariableDeclaration */) { node = node.parent; } return ts.getNodeModifiers(node); @@ -139052,10 +140901,10 @@ var ts; if (name !== undefined) { name = cleanText(name); if (name.length > maxLength) { - return "".concat(name, " callback"); + return name + " callback"; } var args = cleanText(ts.mapDefined(parent.arguments, function (a) { return ts.isStringLiteralLike(a) ? a.getText(curSourceFile) : undefined; }).join(", ")); - return "".concat(name, "(").concat(args, ") callback"); + return name + "(" + args + ") callback"; } } return ""; @@ -139068,7 +140917,7 @@ var ts; else if (ts.isPropertyAccessExpression(expr)) { var left = getCalledExpressionName(expr.expression); var right = expr.name.text; - return left === undefined ? right : "".concat(left, ".").concat(right); + return left === undefined ? right : left + "." + right; } else { return undefined; @@ -139076,9 +140925,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { - case 213 /* ArrowFunction */: - case 212 /* FunctionExpression */: - case 225 /* ClassExpression */: + case 214 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 226 /* ClassExpression */: return true; default: return false; @@ -139111,8 +140960,8 @@ var ts; var changeTracker = ts.textChanges.ChangeTracker.fromContext({ host: host, formatContext: formatContext, preferences: preferences }); var coalesceAndOrganizeImports = function (importGroup) { return ts.stableSort(coalesceImports(removeUnusedImports(importGroup, sourceFile, program, skipDestructiveCodeActions)), function (s1, s2) { return compareImportsOrRequireStatements(s1, s2); }); }; // All of the old ImportDeclarations in the file, in syntactic order. - var topLevelImportDecls = sourceFile.statements.filter(ts.isImportDeclaration); - organizeImportsWorker(topLevelImportDecls, coalesceAndOrganizeImports); + var topLevelImportGroupDecls = groupImportsByNewlineContiguous(sourceFile, sourceFile.statements.filter(ts.isImportDeclaration)); + topLevelImportGroupDecls.forEach(function (importGroupDecl) { return organizeImportsWorker(importGroupDecl, coalesceAndOrganizeImports); }); // All of the old ExportDeclarations in the file, in syntactic order. var topLevelExportDecls = sourceFile.statements.filter(ts.isExportDeclaration); organizeImportsWorker(topLevelExportDecls, coalesceExports); @@ -139120,8 +140969,8 @@ var ts; var ambientModule = _a[_i]; if (!ambientModule.body) continue; - var ambientModuleImportDecls = ambientModule.body.statements.filter(ts.isImportDeclaration); - organizeImportsWorker(ambientModuleImportDecls, coalesceAndOrganizeImports); + var ambientModuleImportGroupDecls = groupImportsByNewlineContiguous(sourceFile, ambientModule.body.statements.filter(ts.isImportDeclaration)); + ambientModuleImportGroupDecls.forEach(function (importGroupDecl) { return organizeImportsWorker(importGroupDecl, coalesceAndOrganizeImports); }); var ambientModuleExportDecls = ambientModule.body.statements.filter(ts.isExportDeclaration); organizeImportsWorker(ambientModuleExportDecls, coalesceExports); } @@ -139167,12 +141016,47 @@ var ts; } } OrganizeImports.organizeImports = organizeImports; + function groupImportsByNewlineContiguous(sourceFile, importDecls) { + var scanner = ts.createScanner(sourceFile.languageVersion, /*skipTrivia*/ false, sourceFile.languageVariant); + var groupImports = []; + var groupIndex = 0; + for (var _i = 0, importDecls_1 = importDecls; _i < importDecls_1.length; _i++) { + var topLevelImportDecl = importDecls_1[_i]; + if (isNewGroup(sourceFile, topLevelImportDecl, scanner)) { + groupIndex++; + } + if (!groupImports[groupIndex]) { + groupImports[groupIndex] = []; + } + groupImports[groupIndex].push(topLevelImportDecl); + } + return groupImports; + } + // a new group is created if an import includes at least two new line + // new line from multi-line comment doesn't count + function isNewGroup(sourceFile, topLevelImportDecl, scanner) { + var startPos = topLevelImportDecl.getFullStart(); + var endPos = topLevelImportDecl.getStart(); + scanner.setText(sourceFile.text, startPos, endPos - startPos); + var numberOfNewLines = 0; + while (scanner.getTokenPos() < endPos) { + var tokenKind = scanner.scan(); + if (tokenKind === 4 /* NewLineTrivia */) { + numberOfNewLines++; + if (numberOfNewLines >= 2) { + return true; + } + } + } + return false; + } function removeUnusedImports(oldImports, sourceFile, program, skipDestructiveCodeActions) { // As a precaution, consider unused import detection to be destructive (GH #43051) if (skipDestructiveCodeActions) { return oldImports; } var typeChecker = program.getTypeChecker(); + var compilerOptions = program.getCompilerOptions(); var jsxNamespace = typeChecker.getJsxNamespace(sourceFile); var jsxFragmentFactory = typeChecker.getJsxFragmentFactory(sourceFile); var jsxElementsPresent = !!(sourceFile.transformFlags & 2 /* ContainsJsx */); @@ -139229,7 +141113,7 @@ var ts; return usedImports; function isDeclarationUsed(identifier) { // The JSX factory symbol is always used if JSX elements are present - even if they are not allowed. - return jsxElementsPresent && (identifier.text === jsxNamespace || jsxFragmentFactory && identifier.text === jsxFragmentFactory) || + return jsxElementsPresent && (identifier.text === jsxNamespace || jsxFragmentFactory && identifier.text === jsxFragmentFactory) && ts.jsxModeNeedsExplicitImport(compilerOptions.jsx) || ts.FindAllReferences.Core.isSymbolReferencedInFile(identifier, typeChecker, sourceFile); } } @@ -139444,11 +141328,11 @@ var ts; function getModuleSpecifierExpression(declaration) { var _a; switch (declaration.kind) { - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return (_a = ts.tryCast(declaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression; - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return declaration.moduleSpecifier; - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return declaration.declarationList.declarations[0].initializer.arguments[0]; } } @@ -139487,19 +141371,19 @@ var ts; function getImportKindOrder(s1) { var _a; switch (s1.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: if (!s1.importClause) return 0; if (s1.importClause.isTypeOnly) return 1; - if (((_a = s1.importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 267 /* NamespaceImport */) + if (((_a = s1.importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 268 /* NamespaceImport */) return 2; if (s1.importClause.name) return 3; return 4; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return 5; - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return 6; } } @@ -139688,7 +141572,7 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 234 /* Block */: + case 235 /* Block */: if (ts.isFunctionLike(n.parent)) { return functionSpan(n.parent, n, sourceFile); } @@ -139696,16 +141580,16 @@ var ts; // If the latter, we want to collapse the block, but consider its hint span // to be the entire span of the parent. switch (n.parent.kind) { - case 239 /* DoStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 241 /* ForStatement */: - case 238 /* IfStatement */: - case 240 /* WhileStatement */: - case 247 /* WithStatement */: - case 291 /* CatchClause */: + case 240 /* DoStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 242 /* ForStatement */: + case 239 /* IfStatement */: + case 241 /* WhileStatement */: + case 248 /* WithStatement */: + case 292 /* CatchClause */: return spanForNode(n.parent); - case 251 /* TryStatement */: + case 252 /* TryStatement */: // Could be the try-block, or the finally-block. var tryStatement = n.parent; if (tryStatement.tryBlock === n) { @@ -139722,41 +141606,43 @@ var ts; // the span of the block, independent of any parent span. return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* Code */); } - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: return spanForNode(n.parent); - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 262 /* CaseBlock */: - case 181 /* TypeLiteral */: - case 200 /* ObjectBindingPattern */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 263 /* CaseBlock */: + case 182 /* TypeLiteral */: + case 201 /* ObjectBindingPattern */: return spanForNode(n); - case 183 /* TupleType */: + case 184 /* TupleType */: return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isTupleTypeNode(n.parent), 22 /* OpenBracketToken */); - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: return spanForNodeArray(n.statements); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return spanForObjectOrArrayLiteral(n); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return spanForObjectOrArrayLiteral(n, 22 /* OpenBracketToken */); - case 277 /* JsxElement */: + case 278 /* JsxElement */: return spanForJSXElement(n); - case 281 /* JsxFragment */: + case 282 /* JsxFragment */: return spanForJSXFragment(n); - case 278 /* JsxSelfClosingElement */: - case 279 /* JsxOpeningElement */: + case 279 /* JsxSelfClosingElement */: + case 280 /* JsxOpeningElement */: return spanForJSXAttributes(n.attributes); - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: case 14 /* NoSubstitutionTemplateLiteral */: return spanForTemplateLiteral(n); - case 201 /* ArrayBindingPattern */: + case 202 /* ArrayBindingPattern */: return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isBindingElement(n.parent), 22 /* OpenBracketToken */); - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return spanForArrowFunction(n); - case 207 /* CallExpression */: + case 208 /* CallExpression */: return spanForCallExpression(n); + case 212 /* ParenthesizedExpression */: + return spanForParenthesizedExpression(n); } function spanForCallExpression(node) { if (!node.arguments.length) { @@ -139770,7 +141656,7 @@ var ts; return spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ false, /*useFullStart*/ true); } function spanForArrowFunction(node) { - if (ts.isBlock(node.body) || ts.positionsAreOnSameLine(node.body.getFullStart(), node.body.getEnd(), sourceFile)) { + if (ts.isBlock(node.body) || ts.isParenthesizedExpression(node.body) || ts.positionsAreOnSameLine(node.body.getFullStart(), node.body.getEnd(), sourceFile)) { return undefined; } var textSpan = ts.createTextSpanFromBounds(node.body.getFullStart(), node.body.getEnd()); @@ -139818,11 +141704,17 @@ var ts; function spanForNodeArray(nodeArray) { return nodeArray.length ? createOutliningSpan(ts.createTextSpanFromRange(nodeArray), "code" /* Code */) : undefined; } + function spanForParenthesizedExpression(node) { + if (ts.positionsAreOnSameLine(node.getStart(), node.getEnd(), sourceFile)) + return undefined; + var textSpan = ts.createTextSpanFromBounds(node.getStart(), node.getEnd()); + return createOutliningSpan(textSpan, "code" /* Code */, ts.createTextSpanFromNode(node)); + } } function functionSpan(node, body, sourceFile) { var openToken = tryGetFunctionOpenToken(node, body, sourceFile); var closeToken = ts.findChildOfKind(body, 19 /* CloseBraceToken */, sourceFile); - return openToken && closeToken && spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ node.kind !== 213 /* ArrowFunction */); + return openToken && closeToken && spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ node.kind !== 214 /* ArrowFunction */); } function spanBetweenTokens(openToken, closeToken, hintSpanNode, sourceFile, autoCollapse, useFullStart) { if (autoCollapse === void 0) { autoCollapse = false; } @@ -140403,10 +142295,10 @@ var ts; return true; } else { - if (token === 151 /* TypeKeyword */) { + if (token === 152 /* TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); - return token !== 155 /* FromKeyword */ && (token === 41 /* AsteriskToken */ || + return token !== 156 /* FromKeyword */ && (token === 41 /* AsteriskToken */ || token === 18 /* OpenBraceToken */ || token === 79 /* Identifier */ || ts.isKeyword(token)); @@ -140417,7 +142309,7 @@ var ts; } if (token === 79 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 155 /* FromKeyword */) { + if (token === 156 /* FromKeyword */) { token = nextToken(); if (token === 10 /* StringLiteral */) { // import d from "mod"; @@ -140448,7 +142340,7 @@ var ts; } if (token === 19 /* CloseBraceToken */) { token = nextToken(); - if (token === 155 /* FromKeyword */) { + if (token === 156 /* FromKeyword */) { token = nextToken(); if (token === 10 /* StringLiteral */) { // import {a as A} from "mod"; @@ -140464,7 +142356,7 @@ var ts; token = nextToken(); if (token === 79 /* Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 155 /* FromKeyword */) { + if (token === 156 /* FromKeyword */) { token = nextToken(); if (token === 10 /* StringLiteral */) { // import * as NS from "mod" @@ -140485,7 +142377,7 @@ var ts; if (token === 93 /* ExportKeyword */) { markAsExternalModuleIfTopLevel(); token = nextToken(); - if (token === 151 /* TypeKeyword */) { + if (token === 152 /* TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); return token === 41 /* AsteriskToken */ || @@ -140504,7 +142396,7 @@ var ts; } if (token === 19 /* CloseBraceToken */) { token = nextToken(); - if (token === 155 /* FromKeyword */) { + if (token === 156 /* FromKeyword */) { token = nextToken(); if (token === 10 /* StringLiteral */) { // export {a as A} from "mod"; @@ -140516,7 +142408,7 @@ var ts; } else if (token === 41 /* AsteriskToken */) { token = nextToken(); - if (token === 155 /* FromKeyword */) { + if (token === 156 /* FromKeyword */) { token = nextToken(); if (token === 10 /* StringLiteral */) { // export * from "mod" @@ -140526,7 +142418,7 @@ var ts; } else if (token === 100 /* ImportKeyword */) { token = nextToken(); - if (token === 151 /* TypeKeyword */) { + if (token === 152 /* TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); return token === 79 /* Identifier */ || @@ -140552,7 +142444,7 @@ var ts; function tryConsumeRequireCall(skipCurrentToken, allowTemplateLiterals) { if (allowTemplateLiterals === void 0) { allowTemplateLiterals = false; } var token = skipCurrentToken ? nextToken() : ts.scanner.getToken(); - if (token === 145 /* RequireKeyword */) { + if (token === 146 /* RequireKeyword */) { token = nextToken(); if (token === 20 /* OpenParenToken */) { token = nextToken(); @@ -140625,6 +142517,41 @@ var ts; if (ts.scanner.getToken() === 1 /* EndOfFileToken */) { break; } + if (ts.scanner.getToken() === 15 /* TemplateHead */) { + var stack = [ts.scanner.getToken()]; + var token = ts.scanner.scan(); + loop: while (ts.length(stack)) { + switch (token) { + case 1 /* EndOfFileToken */: + break loop; + case 100 /* ImportKeyword */: + tryConsumeImport(); + break; + case 15 /* TemplateHead */: + stack.push(token); + break; + case 18 /* OpenBraceToken */: + if (ts.length(stack)) { + stack.push(token); + } + break; + case 19 /* CloseBraceToken */: + if (ts.length(stack)) { + if (ts.lastOrUndefined(stack) === 15 /* TemplateHead */) { + if (ts.scanner.reScanTemplateToken(/* isTaggedTemplate */ false) === 17 /* TemplateTail */) { + stack.pop(); + } + } + else { + stack.pop(); + } + } + break; + } + token = ts.scanner.scan(); + } + nextToken(); + } // check if at least one of alternative have moved scanner forward if (tryConsumeDeclare() || tryConsumeImport() || @@ -140724,7 +142651,7 @@ var ts; return options && options.allowRenameOfImportPath ? getRenameInfoForModule(node, sourceFile, symbol) : undefined; } var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 161 /* ComputedPropertyName */) + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 162 /* ComputedPropertyName */) ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) : undefined; var displayName = specifierName || typeChecker.symbolToString(symbol); @@ -140951,14 +142878,14 @@ var ts; ts.Debug.assertEqual(closeBraceToken.kind, 19 /* CloseBraceToken */); // Group `-/+readonly` and `-/+?` var groupedWithPlusMinusTokens = groupChildren(children, function (child) { - return child === node.readonlyToken || child.kind === 144 /* ReadonlyKeyword */ || + return child === node.readonlyToken || child.kind === 145 /* ReadonlyKeyword */ || child === node.questionToken || child.kind === 57 /* QuestionToken */; }); // Group type parameter with surrounding brackets var groupedWithBrackets = groupChildren(groupedWithPlusMinusTokens, function (_a) { var kind = _a.kind; return kind === 22 /* OpenBracketToken */ || - kind === 162 /* TypeParameter */ || + kind === 163 /* TypeParameter */ || kind === 23 /* CloseBracketToken */; }); return [ @@ -141072,22 +142999,22 @@ var ts; return kind === 18 /* OpenBraceToken */ || kind === 22 /* OpenBracketToken */ || kind === 20 /* OpenParenToken */ - || kind === 279 /* JsxOpeningElement */; + || kind === 280 /* JsxOpeningElement */; } function isListCloser(token) { var kind = token && token.kind; return kind === 19 /* CloseBraceToken */ || kind === 23 /* CloseBracketToken */ || kind === 21 /* CloseParenToken */ - || kind === 280 /* JsxClosingElement */; + || kind === 281 /* JsxClosingElement */; } function getEndPos(sourceFile, node) { switch (node.kind) { - case 338 /* JSDocParameterTag */: - case 336 /* JSDocCallbackTag */: - case 345 /* JSDocPropertyTag */: - case 343 /* JSDocTypedefTag */: - case 340 /* JSDocThisTag */: + case 340 /* JSDocParameterTag */: + case 338 /* JSDocCallbackTag */: + case 347 /* JSDocPropertyTag */: + case 345 /* JSDocTypedefTag */: + case 342 /* JSDocThisTag */: return sourceFile.getLineEndOfPosition(node.getStart()); default: return node.getEnd(); @@ -141297,10 +143224,10 @@ var ts; } return undefined; } - else if (ts.isTemplateHead(node) && parent.parent.kind === 209 /* TaggedTemplateExpression */) { + else if (ts.isTemplateHead(node) && parent.parent.kind === 210 /* TaggedTemplateExpression */) { var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 222 /* TemplateExpression */); + ts.Debug.assert(templateExpression.kind === 223 /* TemplateExpression */); var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } @@ -141358,10 +143285,13 @@ var ts; var contextualType = info.contextualType, argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; // for optional function condition. var nonNullableContextualType = contextualType.getNonNullableType(); - var signatures = nonNullableContextualType.getCallSignatures(); - if (signatures.length !== 1) + var symbol = nonNullableContextualType.symbol; + if (symbol === undefined) + return undefined; + var signature = ts.lastOrUndefined(nonNullableContextualType.getCallSignatures()); + if (signature === undefined) return undefined; - var invocation = { kind: 2 /* Contextual */, signature: ts.first(signatures), node: startingToken, symbol: chooseBetterSymbol(nonNullableContextualType.symbol) }; + var invocation = { kind: 2 /* Contextual */, signature: signature, node: startingToken, symbol: chooseBetterSymbol(symbol) }; return { isTypeParameterList: false, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } function getContextualSignatureLocationInfo(startingToken, sourceFile, position, checker) { @@ -141369,17 +143299,17 @@ var ts; return undefined; var parent = startingToken.parent; switch (parent.kind) { - case 211 /* ParenthesizedExpression */: - case 168 /* MethodDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 212 /* ParenthesizedExpression */: + case 169 /* MethodDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: var info = getArgumentOrParameterListInfo(startingToken, position, sourceFile); if (!info) return undefined; var argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; var contextualType = ts.isMethodDeclaration(parent) ? checker.getContextualTypeForObjectLiteralElement(parent) : checker.getContextualType(parent); return contextualType && { contextualType: contextualType, argumentIndex: argumentIndex, argumentCount: argumentCount, argumentsSpan: argumentsSpan }; - case 220 /* BinaryExpression */: { + case 221 /* BinaryExpression */: { var highestBinary = getHighestBinary(parent); var contextualType_1 = checker.getContextualType(highestBinary); var argumentIndex_1 = startingToken.kind === 20 /* OpenParenToken */ ? 0 : countBinaryExpressionParameters(parent) - 1; @@ -141503,7 +143433,7 @@ var ts; // | | // This is because a Missing node has no width. However, what we actually want is to include trivia // leading up to the next token in case the user is about to type in a TemplateMiddle or TemplateTail. - if (template.kind === 222 /* TemplateExpression */) { + if (template.kind === 223 /* TemplateExpression */) { var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, /*stopAfterLineBreak*/ false); @@ -141515,7 +143445,7 @@ var ts; var _loop_9 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: ".concat(ts.Debug.formatSyntaxKind(n.kind), ", parent: ").concat(ts.Debug.formatSyntaxKind(n.parent.kind)); }); + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.formatSyntaxKind(n.kind) + ", parent: " + ts.Debug.formatSyntaxKind(n.parent.kind); }); var argumentInfo = getImmediatelyContainingArgumentOrContextualParameterInfo(n, position, sourceFile, checker); if (argumentInfo) { return { value: argumentInfo }; @@ -141687,7 +143617,7 @@ var ts; (function (InlayHints) { var maxHintsLength = 30; var leadingParameterNameCommentRegexFactory = function (name) { - return new RegExp("^\\s?/\\*\\*?\\s?".concat(name, "\\s?\\*\\/\\s?$")); + return new RegExp("^\\s?/\\*\\*?\\s?" + name + "\\s?\\*\\/\\s?$"); }; function shouldShowParameterNameHints(preferences) { return preferences.includeInlayParameterNameHints === "literals" || preferences.includeInlayParameterNameHints === "all"; @@ -141708,14 +143638,14 @@ var ts; return; } switch (node.kind) { - case 260 /* ModuleDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 255 /* FunctionDeclaration */: - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 213 /* ArrowFunction */: + case 261 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 256 /* FunctionDeclaration */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 214 /* ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } if (!ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth())) { @@ -141751,7 +143681,7 @@ var ts; } function addParameterHints(text, position, isFirstVariadicArgument) { result.push({ - text: "".concat(isFirstVariadicArgument ? "..." : "").concat(truncation(text, maxHintsLength), ":"), + text: "" + (isFirstVariadicArgument ? "..." : "") + truncation(text, maxHintsLength) + ":", position: position, kind: "Parameter" /* Parameter */, whitespaceAfter: true, @@ -141759,7 +143689,7 @@ var ts; } function addTypeHints(text, position) { result.push({ - text: ": ".concat(truncation(text, maxHintsLength)), + text: ": " + truncation(text, maxHintsLength), position: position, kind: "Type" /* Type */, whitespaceBefore: true, @@ -141767,7 +143697,7 @@ var ts; } function addEnumMemberValueHints(text, position) { result.push({ - text: "= ".concat(truncation(text, maxHintsLength)), + text: "= " + truncation(text, maxHintsLength), position: position, kind: "Enum" /* Enum */, whitespaceBefore: true, @@ -141855,7 +143785,7 @@ var ts; } function isHintableLiteral(node) { switch (node.kind) { - case 218 /* PrefixUnaryExpression */: { + case 219 /* PrefixUnaryExpression */: { var operand = node.operand; return ts.isLiteralExpression(operand) || ts.isIdentifier(operand) && ts.isInfinityOrNaNString(operand.escapedText); } @@ -141863,7 +143793,7 @@ var ts; case 95 /* FalseKeyword */: case 104 /* NullKeyword */: case 14 /* NoSubstitutionTemplateLiteral */: - case 222 /* TemplateExpression */: + case 223 /* TemplateExpression */: return true; case 79 /* Identifier */: { var name = node.escapedText; @@ -141918,7 +143848,7 @@ var ts; if (!typeDisplayString) { continue; } - addTypeHints(typeDisplayString, param.name.end); + addTypeHints(typeDisplayString, param.questionToken ? param.questionToken.end : param.name.end); } } function getParameterDeclarationTypeDisplayString(symbol) { @@ -142135,7 +144065,7 @@ var ts; continue; var module_1 = ts.getResolvedModule(sourceFile, moduleSpecifier.text, ts.getModeForUsageLocation(sourceFile, moduleSpecifier)); var resolvedFile = module_1 && program.getSourceFile(module_1.resolvedFileName); - if (resolvedFile && resolvedFile.externalModuleIndicator && ts.isExportAssignment(resolvedFile.externalModuleIndicator) && resolvedFile.externalModuleIndicator.isExportEquals) { + if (resolvedFile && resolvedFile.externalModuleIndicator && resolvedFile.externalModuleIndicator !== true && ts.isExportAssignment(resolvedFile.externalModuleIndicator) && resolvedFile.externalModuleIndicator.isExportEquals) { diags.push(ts.createDiagnosticForNode(name, ts.Diagnostics.Import_may_be_converted_to_a_default_import)); } } @@ -142174,11 +144104,11 @@ var ts; function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return statement.declarationList.declarations.some(function (decl) { return !!decl.initializer && ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true); }); - case 237 /* ExpressionStatement */: { + case 238 /* ExpressionStatement */: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); @@ -142195,12 +144125,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 267 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 268 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return node.name; default: return undefined; @@ -142276,20 +144206,20 @@ var ts; // should be kept up to date with getTransformationBody in convertToAsyncFunction.ts function isFixablePromiseArgument(arg, checker) { switch (arg.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: var functionFlags = ts.getFunctionFlags(arg); if (functionFlags & 1 /* Generator */) { return false; } // falls through - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: visitedNestedConvertibleFunctions.set(getKeyFromNode(arg), true); // falls through case 104 /* NullKeyword */: return true; case 79 /* Identifier */: - case 205 /* PropertyAccessExpression */: { + case 206 /* PropertyAccessExpression */: { var symbol = checker.getSymbolAtLocation(arg); if (!symbol) { return false; @@ -142302,28 +144232,28 @@ var ts; } } function getKeyFromNode(exp) { - return "".concat(exp.pos.toString(), ":").concat(exp.end.toString()); + return exp.pos.toString() + ":" + exp.end.toString(); } function canBeConvertedToClass(node, checker) { var _a, _b, _c, _d; - if (node.kind === 212 /* FunctionExpression */) { + if (node.kind === 213 /* FunctionExpression */) { if (ts.isVariableDeclaration(node.parent) && ((_a = node.symbol.members) === null || _a === void 0 ? void 0 : _a.size)) { return true; } var symbol = checker.getSymbolOfExpando(node, /*allowDeclaration*/ false); return !!(symbol && (((_b = symbol.exports) === null || _b === void 0 ? void 0 : _b.size) || ((_c = symbol.members) === null || _c === void 0 ? void 0 : _c.size))); } - if (node.kind === 255 /* FunctionDeclaration */) { + if (node.kind === 256 /* FunctionDeclaration */) { return !!((_d = node.symbol.members) === null || _d === void 0 ? void 0 : _d.size); } return false; } function canBeConvertedToAsync(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return true; default: return false; @@ -142345,7 +144275,7 @@ var ts; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); if (flags & 32 /* Class */) { - return ts.getDeclarationOfKind(symbol, 225 /* ClassExpression */) ? + return ts.getDeclarationOfKind(symbol, 226 /* ClassExpression */) ? "local class" /* localClassElement */ : "class" /* classElement */; } if (flags & 384 /* Enum */) @@ -142491,10 +144421,10 @@ var ts; var declaration = ts.find(symbol.declarations, function (declaration) { return declaration.name === location; }); if (declaration) { switch (declaration.kind) { - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: symbolKind = "getter" /* memberGetAccessorElement */; break; - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: symbolKind = "setter" /* memberSetAccessorElement */; break; default: @@ -142507,7 +144437,7 @@ var ts; } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); - if (location.parent && location.parent.kind === 205 /* PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 206 /* PropertyAccessExpression */) { var right = location.parent.name; // Either the location is on the right of a property access, or on the left and the right is missing if (right === location || (right && right.getFullWidth() === 0)) { @@ -142527,7 +144457,7 @@ var ts; } if (callExpressionLike) { signature = typeChecker.getResolvedSignature(callExpressionLike); // TODO: GH#18217 - var useConstructSignatures = callExpressionLike.kind === 208 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 106 /* SuperKeyword */); + var useConstructSignatures = callExpressionLike.kind === 209 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 106 /* SuperKeyword */); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (signature && !ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { // Get the first signature if there is one -- allSignatures may contain @@ -142591,7 +144521,7 @@ var ts; } } else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */)) || // name of function declaration - (location.kind === 134 /* ConstructorKeyword */ && location.parent.kind === 170 /* Constructor */)) { // At constructor keyword of constructor declaration + (location.kind === 134 /* ConstructorKeyword */ && location.parent.kind === 171 /* Constructor */)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var functionDeclaration_1 = location.parent; // Use function declaration to write the signatures only if the symbol corresponding to this declaration @@ -142599,21 +144529,21 @@ var ts; return declaration === (location.kind === 134 /* ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 170 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 171 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); // TODO: GH#18217 } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 170 /* Constructor */) { + if (functionDeclaration_1.kind === 171 /* Constructor */) { // show (constructor) Type(...) signature symbolKind = "constructor" /* constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 173 /* CallSignature */ && + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 174 /* CallSignature */ && !(type.symbol.flags & 2048 /* TypeLiteral */ || type.symbol.flags & 4096 /* ObjectLiteral */) ? type.symbol : symbol, symbolKind); } if (signature) { @@ -142626,7 +144556,7 @@ var ts; } if (symbolFlags & 32 /* Class */ && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 225 /* ClassExpression */)) { + if (ts.getDeclarationOfKind(symbol, 226 /* ClassExpression */)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) // (local class) class @@ -142649,7 +144579,7 @@ var ts; } if ((symbolFlags & 524288 /* TypeAlias */) && (semanticMeaning & 2 /* Type */)) { prefixNextMeaning(); - displayParts.push(ts.keywordPart(151 /* TypeKeyword */)); + displayParts.push(ts.keywordPart(152 /* TypeKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); @@ -142670,7 +144600,7 @@ var ts; } if (symbolFlags & 1536 /* Module */ && !isThisExpression) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 260 /* ModuleDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 261 /* ModuleDeclaration */); var isNamespace = declaration && declaration.name && declaration.name.kind === 79 /* Identifier */; displayParts.push(ts.keywordPart(isNamespace ? 142 /* NamespaceKeyword */ : 141 /* ModuleKeyword */)); displayParts.push(ts.spacePart()); @@ -142691,7 +144621,7 @@ var ts; } else { // Method/function type parameter - var decl = ts.getDeclarationOfKind(symbol, 162 /* TypeParameter */); + var decl = ts.getDeclarationOfKind(symbol, 163 /* TypeParameter */); if (decl === undefined) return ts.Debug.fail(); var declaration = decl.parent; @@ -142699,21 +144629,21 @@ var ts; if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); var signature = typeChecker.getSignatureFromDeclaration(declaration); // TODO: GH#18217 - if (declaration.kind === 174 /* ConstructSignature */) { + if (declaration.kind === 175 /* ConstructSignature */) { displayParts.push(ts.keywordPart(103 /* NewKeyword */)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 173 /* CallSignature */ && declaration.name) { + else if (declaration.kind !== 174 /* CallSignature */ && declaration.name) { addFullSymbolName(declaration.symbol); } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* WriteTypeArgumentsOfSignature */)); } - else if (declaration.kind === 258 /* TypeAliasDeclaration */) { + else if (declaration.kind === 259 /* TypeAliasDeclaration */) { // Type alias type parameter // For example // type list = T[]; // Both T will go through same code path addInPrefix(); - displayParts.push(ts.keywordPart(151 /* TypeKeyword */)); + displayParts.push(ts.keywordPart(152 /* TypeKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(declaration.symbol); writeTypeParametersOfSymbol(declaration.symbol, sourceFile); @@ -142725,7 +144655,7 @@ var ts; symbolKind = "enum member" /* enumMemberElement */; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a[0]; - if ((declaration === null || declaration === void 0 ? void 0 : declaration.kind) === 297 /* EnumMember */) { + if ((declaration === null || declaration === void 0 ? void 0 : declaration.kind) === 299 /* EnumMember */) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); @@ -142761,17 +144691,17 @@ var ts; } if (symbol.declarations) { switch (symbol.declarations[0].kind) { - case 263 /* NamespaceExportDeclaration */: + case 264 /* NamespaceExportDeclaration */: displayParts.push(ts.keywordPart(93 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(142 /* NamespaceKeyword */)); break; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: displayParts.push(ts.keywordPart(93 /* ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 63 /* EqualsToken */ : 88 /* DefaultKeyword */)); break; - case 274 /* ExportSpecifier */: + case 275 /* ExportSpecifier */: displayParts.push(ts.keywordPart(93 /* ExportKeyword */)); break; default: @@ -142781,13 +144711,13 @@ var ts; displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 264 /* ImportEqualsDeclaration */) { + if (declaration.kind === 265 /* ImportEqualsDeclaration */) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); displayParts.push(ts.operatorPart(63 /* EqualsToken */)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(145 /* RequireKeyword */)); + displayParts.push(ts.keywordPart(146 /* RequireKeyword */)); displayParts.push(ts.punctuationPart(20 /* OpenParenToken */)); displayParts.push(ts.displayPart(ts.getTextOfNode(ts.getExternalModuleImportEqualsDeclarationExpression(importEqualsDeclaration)), ts.SymbolDisplayPartKind.stringLiteral)); displayParts.push(ts.punctuationPart(21 /* CloseParenToken */)); @@ -142870,10 +144800,10 @@ var ts; // For some special property access expressions like `exports.foo = foo` or `module.exports.foo = foo` // there documentation comments might be attached to the right hand side symbol of their declarations. // The pattern of such special property access is that the parent symbol is the symbol of the file. - if (symbol.parent && symbol.declarations && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 303 /* SourceFile */; })) { + if (symbol.parent && symbol.declarations && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 305 /* SourceFile */; })) { for (var _i = 0, _b = symbol.declarations; _i < _b.length; _i++) { var declaration = _b[_i]; - if (!declaration.parent || declaration.parent.kind !== 220 /* BinaryExpression */) { + if (!declaration.parent || declaration.parent.kind !== 221 /* BinaryExpression */) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -143003,16 +144933,16 @@ var ts; } return ts.forEach(symbol.declarations, function (declaration) { // Function expressions are local - if (declaration.kind === 212 /* FunctionExpression */) { + if (declaration.kind === 213 /* FunctionExpression */) { return true; } - if (declaration.kind !== 253 /* VariableDeclaration */ && declaration.kind !== 255 /* FunctionDeclaration */) { + if (declaration.kind !== 254 /* VariableDeclaration */ && declaration.kind !== 256 /* FunctionDeclaration */) { return false; } // If the parent is not sourceFile or module block it is local variable for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { // Reached source file or module block - if (parent.kind === 303 /* SourceFile */ || parent.kind === 261 /* ModuleBlock */) { + if (parent.kind === 305 /* SourceFile */ || parent.kind === 262 /* ModuleBlock */) { return false; } } @@ -143051,19 +144981,7 @@ var ts; options.suppressOutputPathCheck = true; // Filename can be non-ts file. options.allowNonTsExtensions = true; - // if jsx is specified then treat file as .tsx - var inputFileName = transpileOptions.fileName || (transpileOptions.compilerOptions && transpileOptions.compilerOptions.jsx ? "module.tsx" : "module.ts"); - var sourceFile = ts.createSourceFile(inputFileName, input, ts.getEmitScriptTarget(options)); - if (transpileOptions.moduleName) { - sourceFile.moduleName = transpileOptions.moduleName; - } - if (transpileOptions.renamedDependencies) { - sourceFile.renamedDependencies = new ts.Map(ts.getEntries(transpileOptions.renamedDependencies)); - } var newLine = ts.getNewLineCharacter(options); - // Output - var outputText; - var sourceMapText; // Create a compilerHost object to allow the compiler to read and write files var compilerHost = { getSourceFile: function (fileName) { return fileName === ts.normalizePath(inputFileName) ? sourceFile : undefined; }, @@ -143087,6 +145005,22 @@ var ts; directoryExists: function () { return true; }, getDirectories: function () { return []; } }; + // if jsx is specified then treat file as .tsx + var inputFileName = transpileOptions.fileName || (transpileOptions.compilerOptions && transpileOptions.compilerOptions.jsx ? "module.tsx" : "module.ts"); + var sourceFile = ts.createSourceFile(inputFileName, input, { + languageVersion: ts.getEmitScriptTarget(options), + impliedNodeFormat: ts.getImpliedNodeFormatForFile(ts.toPath(inputFileName, "", compilerHost.getCanonicalFileName), /*cache*/ undefined, compilerHost, options), + setExternalModuleIndicator: ts.getSetExternalModuleIndicator(options) + }); + if (transpileOptions.moduleName) { + sourceFile.moduleName = transpileOptions.moduleName; + } + if (transpileOptions.renamedDependencies) { + sourceFile.renamedDependencies = new ts.Map(ts.getEntries(transpileOptions.renamedDependencies)); + } + // Output + var outputText; + var sourceMapText; var program = ts.createProgram([inputFileName], options, compilerHost); if (transpileOptions.reportDiagnostics) { ts.addRange(/*to*/ diagnostics, /*from*/ program.getSyntacticDiagnostics(sourceFile)); @@ -143313,10 +145247,10 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 284 /* JsxAttribute */: - case 279 /* JsxOpeningElement */: - case 280 /* JsxClosingElement */: - case 278 /* JsxSelfClosingElement */: + case 285 /* JsxAttribute */: + case 280 /* JsxOpeningElement */: + case 281 /* JsxClosingElement */: + case 279 /* JsxSelfClosingElement */: // May parse an identifier like `module-layout`; that will be scanned as a keyword at first, but we should parse the whole thing to get an identifier. return ts.isKeyword(node.kind) || node.kind === 79 /* Identifier */; } @@ -143509,7 +145443,7 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0 /* FirstToken */; token <= 159 /* LastToken */; token++) { + for (var token = 0 /* FirstToken */; token <= 160 /* LastToken */; token++) { if (token !== 1 /* EndOfFileToken */) { allTokens.push(token); } @@ -143524,9 +145458,9 @@ var ts; var anyToken = { tokens: allTokens, isSpecific: false }; var anyTokenIncludingMultilineComments = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [3 /* MultiLineCommentTrivia */], false)); var anyTokenIncludingEOF = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [1 /* EndOfFileToken */], false)); - var keywords = tokenRangeFromRange(81 /* FirstKeyword */, 159 /* LastKeyword */); + var keywords = tokenRangeFromRange(81 /* FirstKeyword */, 160 /* LastKeyword */); var binaryOperators = tokenRangeFromRange(29 /* FirstBinaryOperator */, 78 /* LastBinaryOperator */); - var binaryKeywordOperators = [101 /* InKeyword */, 102 /* InstanceOfKeyword */, 159 /* OfKeyword */, 127 /* AsKeyword */, 139 /* IsKeyword */]; + var binaryKeywordOperators = [101 /* InKeyword */, 102 /* InstanceOfKeyword */, 160 /* OfKeyword */, 127 /* AsKeyword */, 139 /* IsKeyword */]; var unaryPrefixOperators = [45 /* PlusPlusToken */, 46 /* MinusMinusToken */, 54 /* TildeToken */, 53 /* ExclamationToken */]; var unaryPrefixExpressions = [ 8 /* NumericLiteral */, 9 /* BigIntLiteral */, 79 /* Identifier */, 20 /* OpenParenToken */, @@ -143600,7 +145534,7 @@ var ts; // Though, we do extra check on the context to make sure we are dealing with get/set node. Example: // get x() {} // set x(val) {} - rule("SpaceAfterGetSetInMember", [136 /* GetKeyword */, 148 /* SetKeyword */], 79 /* Identifier */, [isFunctionDeclContext], 4 /* InsertSpace */), + rule("SpaceAfterGetSetInMember", [136 /* GetKeyword */, 149 /* SetKeyword */], 79 /* Identifier */, [isFunctionDeclContext], 4 /* InsertSpace */), rule("NoSpaceBetweenYieldKeywordAndStar", 125 /* YieldKeyword */, 41 /* AsteriskToken */, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 16 /* DeleteSpace */), rule("SpaceBetweenYieldOrYieldStarAndOperand", [125 /* YieldKeyword */, 41 /* AsteriskToken */], anyToken, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 4 /* InsertSpace */), rule("NoSpaceBetweenReturnAndSemicolon", 105 /* ReturnKeyword */, 26 /* SemicolonToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), @@ -143624,7 +145558,7 @@ var ts; rule("NoSpaceAfterEqualInJsxAttribute", 63 /* EqualsToken */, anyToken, [isJsxAttributeContext, isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), // TypeScript-specific rules // Use of module as a function call. e.g.: import m2 = module("m2"); - rule("NoSpaceAfterModuleImport", [141 /* ModuleKeyword */, 145 /* RequireKeyword */], 20 /* OpenParenToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("NoSpaceAfterModuleImport", [141 /* ModuleKeyword */, 146 /* RequireKeyword */], 20 /* OpenParenToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), // Add a space around certain TypeScript keywords rule("SpaceAfterCertainTypeScriptKeywords", [ 126 /* AbstractKeyword */, @@ -143643,15 +145577,15 @@ var ts; 121 /* PrivateKeyword */, 123 /* PublicKeyword */, 122 /* ProtectedKeyword */, - 144 /* ReadonlyKeyword */, - 148 /* SetKeyword */, + 145 /* ReadonlyKeyword */, + 149 /* SetKeyword */, 124 /* StaticKeyword */, - 151 /* TypeKeyword */, - 155 /* FromKeyword */, + 152 /* TypeKeyword */, + 156 /* FromKeyword */, 140 /* KeyOfKeyword */, 137 /* InferKeyword */, ], anyToken, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [94 /* ExtendsKeyword */, 117 /* ImplementsKeyword */, 155 /* FromKeyword */], [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [94 /* ExtendsKeyword */, 117 /* ImplementsKeyword */, 156 /* FromKeyword */], [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" { rule("SpaceAfterModuleName", 10 /* StringLiteral */, 18 /* OpenBraceToken */, [isModuleDeclContext], 4 /* InsertSpace */), // Lambda expressions @@ -143683,7 +145617,7 @@ var ts; 121 /* PrivateKeyword */, 122 /* ProtectedKeyword */, 136 /* GetKeyword */, - 148 /* SetKeyword */, + 149 /* SetKeyword */, 22 /* OpenBracketToken */, 41 /* AsteriskToken */, ], [isEndOfDecoratorContextOnSameLine], 4 /* InsertSpace */), @@ -143837,54 +145771,54 @@ var ts; return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 241 /* ForStatement */; + return context.contextNode.kind === 242 /* ForStatement */; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: return context.contextNode.operatorToken.kind !== 27 /* CommaToken */; - case 221 /* ConditionalExpression */: - case 188 /* ConditionalType */: - case 228 /* AsExpression */: - case 274 /* ExportSpecifier */: - case 269 /* ImportSpecifier */: - case 176 /* TypePredicate */: - case 186 /* UnionType */: - case 187 /* IntersectionType */: + case 222 /* ConditionalExpression */: + case 189 /* ConditionalType */: + case 229 /* AsExpression */: + case 275 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 177 /* TypePredicate */: + case 187 /* UnionType */: + case 188 /* IntersectionType */: return true; // equals in binding elements: function foo([[x, y] = [1, 2]]) - case 202 /* BindingElement */: + case 203 /* BindingElement */: // equals in type X = ... // falls through - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: // equal in import a = module('a'); // falls through - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: // equal in export = 1 // falls through - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: // equal in let a = 0 // falls through - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: // equal in p = 0 // falls through - case 163 /* Parameter */: - case 297 /* EnumMember */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 164 /* Parameter */: + case 299 /* EnumMember */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: return context.currentTokenSpan.kind === 63 /* EqualsToken */ || context.nextTokenSpan.kind === 63 /* EqualsToken */; // "in" keyword in for (let x in []) { } - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: // "in" keyword in [P in keyof T]: T[P] // falls through - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: return context.currentTokenSpan.kind === 101 /* InKeyword */ || context.nextTokenSpan.kind === 101 /* InKeyword */ || context.currentTokenSpan.kind === 63 /* EqualsToken */ || context.nextTokenSpan.kind === 63 /* EqualsToken */; // Technically, "of" is not a binary operator, but format it the same way as "in" - case 243 /* ForOfStatement */: - return context.currentTokenSpan.kind === 159 /* OfKeyword */ || context.nextTokenSpan.kind === 159 /* OfKeyword */; + case 244 /* ForOfStatement */: + return context.currentTokenSpan.kind === 160 /* OfKeyword */ || context.nextTokenSpan.kind === 160 /* OfKeyword */; } return false; } @@ -143896,22 +145830,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 166 /* PropertyDeclaration */ || - contextKind === 165 /* PropertySignature */ || - contextKind === 163 /* Parameter */ || - contextKind === 253 /* VariableDeclaration */ || + return contextKind === 167 /* PropertyDeclaration */ || + contextKind === 166 /* PropertySignature */ || + contextKind === 164 /* Parameter */ || + contextKind === 254 /* VariableDeclaration */ || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 221 /* ConditionalExpression */ || - context.contextNode.kind === 188 /* ConditionalType */; + return context.contextNode.kind === 222 /* ConditionalExpression */ || + context.contextNode.kind === 189 /* ConditionalType */; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 200 /* ObjectBindingPattern */ || - context.contextNode.kind === 194 /* MappedType */ || + return context.contextNode.kind === 201 /* ObjectBindingPattern */ || + context.contextNode.kind === 195 /* MappedType */ || isSingleLineBlockContext(context); } // This check is done before an open brace in a control construct, a function, or a typescript block declaration @@ -143937,34 +145871,34 @@ var ts; return true; } switch (node.kind) { - case 234 /* Block */: - case 262 /* CaseBlock */: - case 204 /* ObjectLiteralExpression */: - case 261 /* ModuleBlock */: + case 235 /* Block */: + case 263 /* CaseBlock */: + case 205 /* ObjectLiteralExpression */: + case 262 /* ModuleBlock */: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: // case SyntaxKind.MemberFunctionDeclaration: // falls through - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // case SyntaxKind.MethodSignature: // falls through - case 173 /* CallSignature */: - case 212 /* FunctionExpression */: - case 170 /* Constructor */: - case 213 /* ArrowFunction */: + case 174 /* CallSignature */: + case 213 /* FunctionExpression */: + case 171 /* Constructor */: + case 214 /* ArrowFunction */: // case SyntaxKind.ConstructorDeclaration: // case SyntaxKind.SimpleArrowFunctionExpression: // case SyntaxKind.ParenthesizedArrowFunctionExpression: // falls through - case 257 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one + case 258 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one return true; } return false; @@ -143973,40 +145907,40 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 255 /* FunctionDeclaration */ || context.contextNode.kind === 212 /* FunctionExpression */; + return context.contextNode.kind === 256 /* FunctionDeclaration */ || context.contextNode.kind === 213 /* FunctionExpression */; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 181 /* TypeLiteral */: - case 260 /* ModuleDeclaration */: - case 271 /* ExportDeclaration */: - case 272 /* NamedExports */: - case 265 /* ImportDeclaration */: - case 268 /* NamedImports */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 182 /* TypeLiteral */: + case 261 /* ModuleDeclaration */: + case 272 /* ExportDeclaration */: + case 273 /* NamedExports */: + case 266 /* ImportDeclaration */: + case 269 /* NamedImports */: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 256 /* ClassDeclaration */: - case 260 /* ModuleDeclaration */: - case 259 /* EnumDeclaration */: - case 291 /* CatchClause */: - case 261 /* ModuleBlock */: - case 248 /* SwitchStatement */: + case 257 /* ClassDeclaration */: + case 261 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 292 /* CatchClause */: + case 262 /* ModuleBlock */: + case 249 /* SwitchStatement */: return true; - case 234 /* Block */: { + case 235 /* Block */: { var blockParent = context.currentTokenParent.parent; // In a codefix scenario, we can't rely on parents being set. So just always return true. - if (!blockParent || blockParent.kind !== 213 /* ArrowFunction */ && blockParent.kind !== 212 /* FunctionExpression */) { + if (!blockParent || blockParent.kind !== 214 /* ArrowFunction */ && blockParent.kind !== 213 /* FunctionExpression */) { return true; } } @@ -144015,32 +145949,32 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 238 /* IfStatement */: - case 248 /* SwitchStatement */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 240 /* WhileStatement */: - case 251 /* TryStatement */: - case 239 /* DoStatement */: - case 247 /* WithStatement */: + case 239 /* IfStatement */: + case 249 /* SwitchStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 241 /* WhileStatement */: + case 252 /* TryStatement */: + case 240 /* DoStatement */: + case 248 /* WithStatement */: // TODO // case SyntaxKind.ElseClause: // falls through - case 291 /* CatchClause */: + case 292 /* CatchClause */: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 204 /* ObjectLiteralExpression */; + return context.contextNode.kind === 205 /* ObjectLiteralExpression */; } function isFunctionCallContext(context) { - return context.contextNode.kind === 207 /* CallExpression */; + return context.contextNode.kind === 208 /* CallExpression */; } function isNewContext(context) { - return context.contextNode.kind === 208 /* NewExpression */; + return context.contextNode.kind === 209 /* NewExpression */; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); @@ -144055,10 +145989,10 @@ var ts; return context.nextTokenSpan.kind !== 21 /* CloseParenToken */; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 213 /* ArrowFunction */; + return context.contextNode.kind === 214 /* ArrowFunction */; } function isImportTypeContext(context) { - return context.contextNode.kind === 199 /* ImportType */; + return context.contextNode.kind === 200 /* ImportType */; } function isNonJsxSameLineTokenContext(context) { return context.TokensAreOnSameLine() && context.contextNode.kind !== 11 /* JsxText */; @@ -144067,19 +146001,19 @@ var ts; return context.contextNode.kind !== 11 /* JsxText */; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 277 /* JsxElement */ && context.contextNode.kind !== 281 /* JsxFragment */; + return context.contextNode.kind !== 278 /* JsxElement */ && context.contextNode.kind !== 282 /* JsxFragment */; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 287 /* JsxExpression */ || context.contextNode.kind === 286 /* JsxSpreadAttribute */; + return context.contextNode.kind === 288 /* JsxExpression */ || context.contextNode.kind === 287 /* JsxSpreadAttribute */; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 284 /* JsxAttribute */; + return context.nextTokenParent.kind === 285 /* JsxAttribute */; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 284 /* JsxAttribute */; + return context.contextNode.kind === 285 /* JsxAttribute */; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 278 /* JsxSelfClosingElement */; + return context.contextNode.kind === 279 /* JsxSelfClosingElement */; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); @@ -144094,45 +146028,45 @@ var ts; while (ts.isExpressionNode(node)) { node = node.parent; } - return node.kind === 164 /* Decorator */; + return node.kind === 165 /* Decorator */; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 254 /* VariableDeclarationList */ && + return context.currentTokenParent.kind === 255 /* VariableDeclarationList */ && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { return context.formattingRequestKind !== 2 /* FormatOnEnter */; } function isModuleDeclContext(context) { - return context.contextNode.kind === 260 /* ModuleDeclaration */; + return context.contextNode.kind === 261 /* ModuleDeclaration */; } function isObjectTypeContext(context) { - return context.contextNode.kind === 181 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; + return context.contextNode.kind === 182 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 174 /* ConstructSignature */; + return context.contextNode.kind === 175 /* ConstructSignature */; } function isTypeArgumentOrParameterOrAssertion(token, parent) { if (token.kind !== 29 /* LessThanToken */ && token.kind !== 31 /* GreaterThanToken */) { return false; } switch (parent.kind) { - case 177 /* TypeReference */: - case 210 /* TypeAssertionExpression */: - case 258 /* TypeAliasDeclaration */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 227 /* ExpressionWithTypeArguments */: + case 178 /* TypeReference */: + case 211 /* TypeAssertionExpression */: + case 259 /* TypeAliasDeclaration */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 228 /* ExpressionWithTypeArguments */: return true; default: return false; @@ -144143,28 +146077,28 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 210 /* TypeAssertionExpression */; + return context.contextNode.kind === 211 /* TypeAssertionExpression */; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 114 /* VoidKeyword */ && context.currentTokenParent.kind === 216 /* VoidExpression */; + return context.currentTokenSpan.kind === 114 /* VoidKeyword */ && context.currentTokenParent.kind === 217 /* VoidExpression */; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 223 /* YieldExpression */ && context.contextNode.expression !== undefined; + return context.contextNode.kind === 224 /* YieldExpression */ && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 229 /* NonNullExpression */; + return context.contextNode.kind === 230 /* NonNullExpression */; } function isNotStatementConditionContext(context) { return !isStatementConditionContext(context); } function isStatementConditionContext(context) { switch (context.contextNode.kind) { - case 238 /* IfStatement */: - case 241 /* ForStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 239 /* DoStatement */: - case 240 /* WhileStatement */: + case 239 /* IfStatement */: + case 242 /* ForStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 240 /* DoStatement */: + case 241 /* WhileStatement */: return true; default: return false; @@ -144189,12 +146123,12 @@ var ts; return nextTokenKind === 19 /* CloseBraceToken */ || nextTokenKind === 1 /* EndOfFileToken */; } - if (nextTokenKind === 233 /* SemicolonClassElement */ || + if (nextTokenKind === 234 /* SemicolonClassElement */ || nextTokenKind === 26 /* SemicolonToken */) { return false; } - if (context.contextNode.kind === 257 /* InterfaceDeclaration */ || - context.contextNode.kind === 258 /* TypeAliasDeclaration */) { + if (context.contextNode.kind === 258 /* InterfaceDeclaration */ || + context.contextNode.kind === 259 /* TypeAliasDeclaration */) { // Can’t remove semicolon after `foo`; it would parse as a method declaration: // // interface I { @@ -144208,9 +146142,9 @@ var ts; if (ts.isPropertyDeclaration(context.currentTokenParent)) { return !context.currentTokenParent.initializer; } - return context.currentTokenParent.kind !== 241 /* ForStatement */ - && context.currentTokenParent.kind !== 235 /* EmptyStatement */ - && context.currentTokenParent.kind !== 233 /* SemicolonClassElement */ + return context.currentTokenParent.kind !== 242 /* ForStatement */ + && context.currentTokenParent.kind !== 236 /* EmptyStatement */ + && context.currentTokenParent.kind !== 234 /* SemicolonClassElement */ && nextTokenKind !== 22 /* OpenBracketToken */ && nextTokenKind !== 20 /* OpenParenToken */ && nextTokenKind !== 39 /* PlusToken */ @@ -144218,7 +146152,7 @@ var ts; && nextTokenKind !== 43 /* SlashToken */ && nextTokenKind !== 13 /* RegularExpressionLiteral */ && nextTokenKind !== 27 /* CommaToken */ - && nextTokenKind !== 222 /* TemplateExpression */ + && nextTokenKind !== 223 /* TemplateExpression */ && nextTokenKind !== 15 /* TemplateHead */ && nextTokenKind !== 14 /* NoSubstitutionTemplateLiteral */ && nextTokenKind !== 24 /* DotToken */; @@ -144309,12 +146243,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 159 /* LastKeyword */ && column <= 159 /* LastKeyword */, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 160 /* LastKeyword */ && column <= 160 /* LastKeyword */, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; // MaskBitSize bits - var mapRowLength = 159 /* LastToken */ + 1; + var mapRowLength = 160 /* LastToken */ + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["StopRulesSpecific"] = 0] = "StopRulesSpecific"; @@ -144502,17 +146436,17 @@ var ts; // i.e. parent is class declaration with the list of members and node is one of members. function isListElement(parent, node) { switch (parent.kind) { - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: return ts.rangeContainsRange(parent.members, node); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: var body = parent.body; - return !!body && body.kind === 261 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); - case 303 /* SourceFile */: - case 234 /* Block */: - case 261 /* ModuleBlock */: + return !!body && body.kind === 262 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); + case 305 /* SourceFile */: + case 235 /* Block */: + case 262 /* ModuleBlock */: return ts.rangeContainsRange(parent.statements, node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -144647,6 +146581,7 @@ var ts; return formatting.getFormattingScanner(sourceFile.text, sourceFile.languageVariant, getScanStartPosition(enclosingNode, originalRange, sourceFile), originalRange.end, function (scanner) { return formatSpanWorker(originalRange, enclosingNode, formatting.SmartIndenter.getIndentationForNode(enclosingNode, originalRange, sourceFile, formatContext.options), getOwnOrInheritedDelta(enclosingNode, formatContext.options, sourceFile), scanner, formatContext, requestKind, prepareRangeContainsErrorFunction(sourceFile.parseDiagnostics, originalRange), sourceFile); }); } function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delta, formattingScanner, _a, requestKind, rangeContainsError, sourceFile) { + var _b; var options = _a.options, getRules = _a.getRules, host = _a.host; // formatting context is used by rules provider var formattingContext = new formatting.FormattingContext(sourceFile, requestKind, options); @@ -144678,11 +146613,12 @@ var ts; } } if (previousRange && formattingScanner.getStartPos() >= originalRange.end) { - var token = formattingScanner.isOnEOF() ? formattingScanner.readEOFTokenRange() : + var tokenInfo = formattingScanner.isOnEOF() ? formattingScanner.readEOFTokenRange() : formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(enclosingNode).token : undefined; - if (token) { - processPair(token, sourceFile.getLineAndCharacterOfPosition(token.pos).line, enclosingNode, previousRange, previousRangeStartLine, previousParent, enclosingNode, + if (tokenInfo) { + var parent = ((_b = ts.findPrecedingToken(tokenInfo.end, sourceFile, enclosingNode)) === null || _b === void 0 ? void 0 : _b.parent) || previousParent; + processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent, /*dynamicIndentation*/ undefined); } } @@ -144750,19 +146686,19 @@ var ts; return node.modifiers[0].kind; } switch (node.kind) { - case 256 /* ClassDeclaration */: return 84 /* ClassKeyword */; - case 257 /* InterfaceDeclaration */: return 118 /* InterfaceKeyword */; - case 255 /* FunctionDeclaration */: return 98 /* FunctionKeyword */; - case 259 /* EnumDeclaration */: return 259 /* EnumDeclaration */; - case 171 /* GetAccessor */: return 136 /* GetKeyword */; - case 172 /* SetAccessor */: return 148 /* SetKeyword */; - case 168 /* MethodDeclaration */: + case 257 /* ClassDeclaration */: return 84 /* ClassKeyword */; + case 258 /* InterfaceDeclaration */: return 118 /* InterfaceKeyword */; + case 256 /* FunctionDeclaration */: return 98 /* FunctionKeyword */; + case 260 /* EnumDeclaration */: return 260 /* EnumDeclaration */; + case 172 /* GetAccessor */: return 136 /* GetKeyword */; + case 173 /* SetAccessor */: return 149 /* SetKeyword */; + case 169 /* MethodDeclaration */: if (node.asteriskToken) { return 41 /* AsteriskToken */; } // falls through - case 166 /* PropertyDeclaration */: - case 163 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 164 /* Parameter */: var name = ts.getNameOfDeclaration(node); if (name) { return name.kind; @@ -144819,16 +146755,16 @@ var ts; case 43 /* SlashToken */: case 31 /* GreaterThanToken */: switch (container.kind) { - case 279 /* JsxOpeningElement */: - case 280 /* JsxClosingElement */: - case 278 /* JsxSelfClosingElement */: - case 227 /* ExpressionWithTypeArguments */: + case 280 /* JsxOpeningElement */: + case 281 /* JsxClosingElement */: + case 279 /* JsxSelfClosingElement */: + case 228 /* ExpressionWithTypeArguments */: return false; } break; case 22 /* OpenBracketToken */: case 23 /* CloseBracketToken */: - if (container.kind !== 194 /* MappedType */) { + if (container.kind !== 195 /* MappedType */) { return false; } break; @@ -144928,11 +146864,11 @@ var ts; return inheritedIndentation; } } - var effectiveParentStartLine = child.kind === 164 /* Decorator */ ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 165 /* Decorator */ ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); childContextNode = node; - if (isFirstListItem && parent.kind === 203 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { + if (isFirstListItem && parent.kind === 204 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -145382,12 +147318,12 @@ var ts; formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 170 /* Constructor */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 213 /* ArrowFunction */: + case 171 /* Constructor */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 214 /* ArrowFunction */: if (node.typeParameters === list) { return 29 /* LessThanToken */; } @@ -145395,8 +147331,8 @@ var ts; return 20 /* OpenParenToken */; } break; - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: if (node.typeArguments === list) { return 29 /* LessThanToken */; } @@ -145404,12 +147340,12 @@ var ts; return 20 /* OpenParenToken */; } break; - case 177 /* TypeReference */: + case 178 /* TypeReference */: if (node.typeArguments === list) { return 29 /* LessThanToken */; } break; - case 181 /* TypeLiteral */: + case 182 /* TypeLiteral */: return 18 /* OpenBraceToken */; } return 0 /* Unknown */; @@ -145524,10 +147460,32 @@ var ts; // indentation is first non-whitespace character in a previous line // for block indentation, we should look for a line which contains something that's not // whitespace. - if (options.indentStyle === ts.IndentStyle.Block) { + var currentToken = ts.getTokenAtPosition(sourceFile, position); + // For object literals, we want indentation to work just like with blocks. + // If the `{` starts in any position (even in the middle of a line), then + // the following indentation should treat `{` as the start of that line (including leading whitespace). + // ``` + // const a: { x: undefined, y: undefined } = {} // leading 4 whitespaces and { starts in the middle of line + // -> + // const a: { x: undefined, y: undefined } = { + // x: undefined, + // y: undefined, + // } + // --------------------- + // const a: {x : undefined, y: undefined } = + // {} + // -> + // const a: { x: undefined, y: undefined } = + // { // leading 5 whitespaces and { starts at 6 column + // x: undefined, + // y: undefined, + // } + // ``` + var isObjectLiteral = currentToken.kind === 18 /* OpenBraceToken */ && currentToken.parent.kind === 205 /* ObjectLiteralExpression */; + if (options.indentStyle === ts.IndentStyle.Block || isObjectLiteral) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 27 /* CommaToken */ && precedingToken.parent.kind !== 220 /* BinaryExpression */) { + if (precedingToken.kind === 27 /* CommaToken */ && precedingToken.parent.kind !== 221 /* BinaryExpression */) { // previous token is comma that separates items in list - find the previous item and try to derive indentation from it var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1 /* Unknown */) { @@ -145537,7 +147495,9 @@ var ts; var containerList = getListByPosition(position, precedingToken.parent, sourceFile); // use list position if the preceding token is before any list items if (containerList && !ts.rangeContainsRange(containerList, precedingToken)) { - return getActualIndentationForListStartLine(containerList, sourceFile, options) + options.indentSize; // TODO: GH#18217 + var useTheSameBaseIndentation = [213 /* FunctionExpression */, 214 /* ArrowFunction */].indexOf(currentToken.parent.kind) !== -1; + var indentSize = useTheSameBaseIndentation ? 0 : options.indentSize; + return getActualIndentationForListStartLine(containerList, sourceFile, options) + indentSize; // TODO: GH#18217 } return getSmartIndent(sourceFile, position, precedingToken, lineAtPosition, assumeNewLineBeforeCloseBrace, options); } @@ -145700,7 +147660,7 @@ var ts; // - parent is SourceFile - by default immediate children of SourceFile are not indented except when user indents them manually // - parent and child are not on the same line var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 303 /* SourceFile */ || !parentAndChildShareLine); + (parent.kind === 305 /* SourceFile */ || !parentAndChildShareLine); if (!useActualIndentation) { return -1 /* Unknown */; } @@ -145748,7 +147708,7 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 238 /* IfStatement */ && parent.elseStatement === child) { + if (parent.kind === 239 /* IfStatement */ && parent.elseStatement === child) { var elseKeyword = ts.findChildOfKind(parent, 91 /* ElseKeyword */, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; @@ -145829,42 +147789,42 @@ var ts; } function getListByRange(start, end, node, sourceFile) { switch (node.kind) { - case 177 /* TypeReference */: + case 178 /* TypeReference */: return getList(node.typeArguments); - case 204 /* ObjectLiteralExpression */: + case 205 /* ObjectLiteralExpression */: return getList(node.properties); - case 203 /* ArrayLiteralExpression */: + case 204 /* ArrayLiteralExpression */: return getList(node.elements); - case 181 /* TypeLiteral */: + case 182 /* TypeLiteral */: return getList(node.members); - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 170 /* Constructor */: - case 179 /* ConstructorType */: - case 174 /* ConstructSignature */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 171 /* Constructor */: + case 180 /* ConstructorType */: + case 175 /* ConstructSignature */: return getList(node.typeParameters) || getList(node.parameters); - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: return getList(node.parameters); - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 342 /* JSDocTemplateTag */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 344 /* JSDocTemplateTag */: return getList(node.typeParameters); - case 208 /* NewExpression */: - case 207 /* CallExpression */: + case 209 /* NewExpression */: + case 208 /* CallExpression */: return getList(node.typeArguments) || getList(node.arguments); - case 254 /* VariableDeclarationList */: + case 255 /* VariableDeclarationList */: return getList(node.declarations); - case 268 /* NamedImports */: - case 272 /* NamedExports */: + case 269 /* NamedImports */: + case 273 /* NamedExports */: return getList(node.elements); - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: return getList(node.elements); } function getList(list) { @@ -145887,7 +147847,7 @@ var ts; return findColumnForFirstNonWhitespaceCharacterInLine(sourceFile.getLineAndCharacterOfPosition(list.pos), sourceFile, options); } function getActualIndentationForListItem(node, sourceFile, options, listIndentsChild) { - if (node.parent && node.parent.kind === 254 /* VariableDeclarationList */) { + if (node.parent && node.parent.kind === 255 /* VariableDeclarationList */) { // VariableDeclarationList has no wrapping tokens return -1 /* Unknown */; } @@ -145960,96 +147920,96 @@ var ts; function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { var childKind = child ? child.kind : 0 /* Unknown */; switch (parent.kind) { - case 237 /* ExpressionStatement */: - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 203 /* ArrayLiteralExpression */: - case 234 /* Block */: - case 261 /* ModuleBlock */: - case 204 /* ObjectLiteralExpression */: - case 181 /* TypeLiteral */: - case 194 /* MappedType */: - case 183 /* TupleType */: - case 262 /* CaseBlock */: - case 289 /* DefaultClause */: - case 288 /* CaseClause */: - case 211 /* ParenthesizedExpression */: - case 205 /* PropertyAccessExpression */: - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 236 /* VariableStatement */: - case 270 /* ExportAssignment */: - case 246 /* ReturnStatement */: - case 221 /* ConditionalExpression */: - case 201 /* ArrayBindingPattern */: - case 200 /* ObjectBindingPattern */: - case 279 /* JsxOpeningElement */: - case 282 /* JsxOpeningFragment */: - case 278 /* JsxSelfClosingElement */: - case 287 /* JsxExpression */: - case 167 /* MethodSignature */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 163 /* Parameter */: - case 178 /* FunctionType */: - case 179 /* ConstructorType */: - case 190 /* ParenthesizedType */: - case 209 /* TaggedTemplateExpression */: - case 217 /* AwaitExpression */: - case 272 /* NamedExports */: - case 268 /* NamedImports */: - case 274 /* ExportSpecifier */: - case 269 /* ImportSpecifier */: - case 166 /* PropertyDeclaration */: + case 238 /* ExpressionStatement */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 204 /* ArrayLiteralExpression */: + case 235 /* Block */: + case 262 /* ModuleBlock */: + case 205 /* ObjectLiteralExpression */: + case 182 /* TypeLiteral */: + case 195 /* MappedType */: + case 184 /* TupleType */: + case 263 /* CaseBlock */: + case 290 /* DefaultClause */: + case 289 /* CaseClause */: + case 212 /* ParenthesizedExpression */: + case 206 /* PropertyAccessExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 237 /* VariableStatement */: + case 271 /* ExportAssignment */: + case 247 /* ReturnStatement */: + case 222 /* ConditionalExpression */: + case 202 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: + case 280 /* JsxOpeningElement */: + case 283 /* JsxOpeningFragment */: + case 279 /* JsxSelfClosingElement */: + case 288 /* JsxExpression */: + case 168 /* MethodSignature */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 164 /* Parameter */: + case 179 /* FunctionType */: + case 180 /* ConstructorType */: + case 191 /* ParenthesizedType */: + case 210 /* TaggedTemplateExpression */: + case 218 /* AwaitExpression */: + case 273 /* NamedExports */: + case 269 /* NamedImports */: + case 275 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 167 /* PropertyDeclaration */: return true; - case 253 /* VariableDeclaration */: - case 294 /* PropertyAssignment */: - case 220 /* BinaryExpression */: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 204 /* ObjectLiteralExpression */) { // TODO: GH#18217 + case 254 /* VariableDeclaration */: + case 296 /* PropertyAssignment */: + case 221 /* BinaryExpression */: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 205 /* ObjectLiteralExpression */) { // TODO: GH#18217 return rangeIsOnOneLine(sourceFile, child); } - if (parent.kind === 220 /* BinaryExpression */ && sourceFile && child && childKind === 277 /* JsxElement */) { + if (parent.kind === 221 /* BinaryExpression */ && sourceFile && child && childKind === 278 /* JsxElement */) { var parentStartLine = sourceFile.getLineAndCharacterOfPosition(ts.skipTrivia(sourceFile.text, parent.pos)).line; var childStartLine = sourceFile.getLineAndCharacterOfPosition(ts.skipTrivia(sourceFile.text, child.pos)).line; return parentStartLine !== childStartLine; } - if (parent.kind !== 220 /* BinaryExpression */) { + if (parent.kind !== 221 /* BinaryExpression */) { return true; } break; - case 239 /* DoStatement */: - case 240 /* WhileStatement */: - case 242 /* ForInStatement */: - case 243 /* ForOfStatement */: - case 241 /* ForStatement */: - case 238 /* IfStatement */: - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - return childKind !== 234 /* Block */; - case 213 /* ArrowFunction */: - if (sourceFile && childKind === 211 /* ParenthesizedExpression */) { + case 240 /* DoStatement */: + case 241 /* WhileStatement */: + case 243 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 242 /* ForStatement */: + case 239 /* IfStatement */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + return childKind !== 235 /* Block */; + case 214 /* ArrowFunction */: + if (sourceFile && childKind === 212 /* ParenthesizedExpression */) { return rangeIsOnOneLine(sourceFile, child); } - return childKind !== 234 /* Block */; - case 271 /* ExportDeclaration */: - return childKind !== 272 /* NamedExports */; - case 265 /* ImportDeclaration */: - return childKind !== 266 /* ImportClause */ || - (!!child.namedBindings && child.namedBindings.kind !== 268 /* NamedImports */); - case 277 /* JsxElement */: - return childKind !== 280 /* JsxClosingElement */; - case 281 /* JsxFragment */: - return childKind !== 283 /* JsxClosingFragment */; - case 187 /* IntersectionType */: - case 186 /* UnionType */: - if (childKind === 181 /* TypeLiteral */ || childKind === 183 /* TupleType */) { + return childKind !== 235 /* Block */; + case 272 /* ExportDeclaration */: + return childKind !== 273 /* NamedExports */; + case 266 /* ImportDeclaration */: + return childKind !== 267 /* ImportClause */ || + (!!child.namedBindings && child.namedBindings.kind !== 269 /* NamedImports */); + case 278 /* JsxElement */: + return childKind !== 281 /* JsxClosingElement */; + case 282 /* JsxFragment */: + return childKind !== 284 /* JsxClosingFragment */; + case 188 /* IntersectionType */: + case 187 /* UnionType */: + if (childKind === 182 /* TypeLiteral */ || childKind === 184 /* TupleType */) { return false; } break; @@ -146060,11 +148020,11 @@ var ts; SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 246 /* ReturnStatement */: - case 250 /* ThrowStatement */: - case 244 /* ContinueStatement */: - case 245 /* BreakStatement */: - return parent.kind !== 234 /* Block */; + case 247 /* ReturnStatement */: + case 251 /* ThrowStatement */: + case 245 /* ContinueStatement */: + case 246 /* BreakStatement */: + return parent.kind !== 235 /* Block */; default: return false; } @@ -146281,7 +148241,7 @@ var ts; * Checks if 'candidate' argument is a legal separator in the list that contains 'node' as an element */ function isSeparator(node, candidate) { - return !!candidate && !!node.parent && (candidate.kind === 27 /* CommaToken */ || (candidate.kind === 26 /* SemicolonToken */ && node.parent.kind === 204 /* ObjectLiteralExpression */)); + return !!candidate && !!node.parent && (candidate.kind === 27 /* CommaToken */ || (candidate.kind === 26 /* SemicolonToken */ && node.parent.kind === 205 /* ObjectLiteralExpression */)); } function isThisTypeAnnotatable(containingFunction) { return ts.isFunctionExpression(containingFunction) || ts.isFunctionDeclaration(containingFunction); @@ -146451,7 +148411,7 @@ var ts; var insertAtLineStart = isValidLocationToAddComment(sourceFile, startPosition); var token = ts.getTouchingToken(sourceFile, insertAtLineStart ? startPosition : position); var indent = sourceFile.text.slice(lineStartPosition, startPosition); - var text = "".concat(insertAtLineStart ? "" : this.newLineCharacter, "//").concat(commentText).concat(this.newLineCharacter).concat(indent); + var text = (insertAtLineStart ? "" : this.newLineCharacter) + "//" + commentText + this.newLineCharacter + indent; this.insertText(sourceFile, token.getStart(sourceFile), text); }; ChangeTracker.prototype.insertJsdocCommentBefore = function (sourceFile, node, tag) { @@ -146467,7 +148427,7 @@ var ts; } var startPosition = ts.getPrecedingNonSpaceCharacterPosition(sourceFile.text, fnStart - 1); var indent = sourceFile.text.slice(startPosition, fnStart); - this.insertNodeAt(sourceFile, fnStart, tag, { preserveLeadingWhitespace: false, suffix: this.newLineCharacter + indent }); + this.insertNodeAt(sourceFile, fnStart, tag, { suffix: this.newLineCharacter + indent }); }; ChangeTracker.prototype.createJSDocText = function (sourceFile, node) { var comments = ts.flatMap(node.jsDoc, function (jsDoc) { @@ -146513,7 +148473,7 @@ var ts; } } else { - endNode = (_a = (node.kind === 253 /* VariableDeclaration */ ? node.exclamationToken : node.questionToken)) !== null && _a !== void 0 ? _a : node.name; + endNode = (_a = (node.kind === 254 /* VariableDeclaration */ ? node.exclamationToken : node.questionToken)) !== null && _a !== void 0 ? _a : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); return true; @@ -146583,25 +148543,25 @@ var ts; suffix: this.newLineCharacter }); }; - ChangeTracker.prototype.insertNodeAtClassStart = function (sourceFile, cls, newElement) { - this.insertNodeAtStartWorker(sourceFile, cls, newElement); + ChangeTracker.prototype.insertMemberAtStart = function (sourceFile, node, newElement) { + this.insertNodeAtStartWorker(sourceFile, node, newElement); }; ChangeTracker.prototype.insertNodeAtObjectStart = function (sourceFile, obj, newElement) { this.insertNodeAtStartWorker(sourceFile, obj, newElement); }; - ChangeTracker.prototype.insertNodeAtStartWorker = function (sourceFile, cls, newElement) { + ChangeTracker.prototype.insertNodeAtStartWorker = function (sourceFile, node, newElement) { var _a; - var indentation = (_a = this.guessIndentationFromExistingMembers(sourceFile, cls)) !== null && _a !== void 0 ? _a : this.computeIndentationForNewMember(sourceFile, cls); - this.insertNodeAt(sourceFile, getMembersOrProperties(cls).pos, newElement, this.getInsertNodeAtStartInsertOptions(sourceFile, cls, indentation)); + var indentation = (_a = this.guessIndentationFromExistingMembers(sourceFile, node)) !== null && _a !== void 0 ? _a : this.computeIndentationForNewMember(sourceFile, node); + this.insertNodeAt(sourceFile, getMembersOrProperties(node).pos, newElement, this.getInsertNodeAtStartInsertOptions(sourceFile, node, indentation)); }; /** * Tries to guess the indentation from the existing members of a class/interface/object. All members must be on * new lines and must share the same indentation. */ - ChangeTracker.prototype.guessIndentationFromExistingMembers = function (sourceFile, cls) { + ChangeTracker.prototype.guessIndentationFromExistingMembers = function (sourceFile, node) { var indentation; - var lastRange = cls; - for (var _i = 0, _a = getMembersOrProperties(cls); _i < _a.length; _i++) { + var lastRange = node; + for (var _i = 0, _a = getMembersOrProperties(node); _i < _a.length; _i++) { var member = _a[_i]; if (ts.rangeStartPositionsAreOnSameLine(lastRange, member, sourceFile)) { // each indented member must be on a new line @@ -146620,13 +148580,13 @@ var ts; } return indentation; }; - ChangeTracker.prototype.computeIndentationForNewMember = function (sourceFile, cls) { + ChangeTracker.prototype.computeIndentationForNewMember = function (sourceFile, node) { var _a; - var clsStart = cls.getStart(sourceFile); - return ts.formatting.SmartIndenter.findFirstNonWhitespaceColumn(ts.getLineStartPositionForPosition(clsStart, sourceFile), clsStart, sourceFile, this.formatContext.options) + var nodeStart = node.getStart(sourceFile); + return ts.formatting.SmartIndenter.findFirstNonWhitespaceColumn(ts.getLineStartPositionForPosition(nodeStart, sourceFile), nodeStart, sourceFile, this.formatContext.options) + ((_a = this.formatContext.options.indentSize) !== null && _a !== void 0 ? _a : 4); }; - ChangeTracker.prototype.getInsertNodeAtStartInsertOptions = function (sourceFile, cls, indentation) { + ChangeTracker.prototype.getInsertNodeAtStartInsertOptions = function (sourceFile, node, indentation) { // Rules: // - Always insert leading newline. // - For object literals: @@ -146636,11 +148596,11 @@ var ts; // and the node is empty (because we didn't add a trailing comma per the previous rule). // - Only insert a trailing newline if body is single-line and there are no other insertions for the node. // NOTE: This is handled in `finishClassesWithNodesInsertedAtStart`. - var members = getMembersOrProperties(cls); + var members = getMembersOrProperties(node); var isEmpty = members.length === 0; - var isFirstInsertion = ts.addToSeen(this.classesWithNodesInsertedAtStart, ts.getNodeId(cls), { node: cls, sourceFile: sourceFile }); - var insertTrailingComma = ts.isObjectLiteralExpression(cls) && (!ts.isJsonSourceFile(sourceFile) || !isEmpty); - var insertLeadingComma = ts.isObjectLiteralExpression(cls) && ts.isJsonSourceFile(sourceFile) && isEmpty && !isFirstInsertion; + var isFirstInsertion = ts.addToSeen(this.classesWithNodesInsertedAtStart, ts.getNodeId(node), { node: node, sourceFile: sourceFile }); + var insertTrailingComma = ts.isObjectLiteralExpression(node) && (!ts.isJsonSourceFile(sourceFile) || !isEmpty); + var insertLeadingComma = ts.isObjectLiteralExpression(node) && ts.isJsonSourceFile(sourceFile) && isEmpty && !isFirstInsertion; return { indentation: indentation, prefix: (insertLeadingComma ? "," : "") + this.newLineCharacter, @@ -146675,22 +148635,22 @@ var ts; }; ChangeTracker.prototype.getInsertNodeAfterOptions = function (sourceFile, after) { var options = this.getInsertNodeAfterOptionsWorker(after); - return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n".concat(options.prefix) : "\n") : options.prefix }); + return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n" + options.prefix : "\n") : options.prefix }); }; ChangeTracker.prototype.getInsertNodeAfterOptionsWorker = function (node) { switch (node.kind) { - case 256 /* ClassDeclaration */: - case 260 /* ModuleDeclaration */: + case 257 /* ClassDeclaration */: + case 261 /* ModuleDeclaration */: return { prefix: this.newLineCharacter, suffix: this.newLineCharacter }; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: case 10 /* StringLiteral */: case 79 /* Identifier */: return { prefix: ", " }; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return { suffix: "," + this.newLineCharacter }; case 93 /* ExportKeyword */: return { prefix: " " }; - case 163 /* Parameter */: + case 164 /* Parameter */: return {}; default: ts.Debug.assert(ts.isStatement(node) || ts.isClassOrTypeElement(node)); // Else we haven't handled this kind of node yet -- add it @@ -146699,7 +148659,7 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 213 /* ArrowFunction */) { + if (node.kind === 214 /* ArrowFunction */) { var arrow = ts.findChildOfKind(node, 38 /* EqualsGreaterThanToken */, sourceFile); var lparen = ts.findChildOfKind(node, 20 /* OpenParenToken */, sourceFile); if (lparen) { @@ -146709,18 +148669,18 @@ var ts; } else { // `x => {}` -> `function f(x) {}` - this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function ".concat(name, "(")); + this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function " + name + "("); // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` this.replaceRange(sourceFile, arrow, ts.factory.createToken(21 /* CloseParenToken */)); } - if (node.body.kind !== 234 /* Block */) { + if (node.body.kind !== 235 /* Block */) { // `() => 0` => `function f() { return 0; }` this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.factory.createToken(18 /* OpenBraceToken */), ts.factory.createToken(105 /* ReturnKeyword */)], { joiner: " ", suffix: " " }); this.insertNodesAt(sourceFile, node.body.end, [ts.factory.createToken(26 /* SemicolonToken */), ts.factory.createToken(19 /* CloseBraceToken */)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 212 /* FunctionExpression */ ? 98 /* FunctionKeyword */ : 84 /* ClassKeyword */, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 213 /* FunctionExpression */ ? 98 /* FunctionKeyword */ : 84 /* ClassKeyword */, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.factory.createIdentifier(name), { prefix: " " }); } }; @@ -146775,7 +148735,7 @@ var ts; var nextNode = containingList[index + 1]; var startPos = skipWhitespacesAndLineBreaks(sourceFile.text, nextNode.getFullStart()); // write separator and leading trivia of the next element as suffix - var suffix = "".concat(ts.tokenToString(nextToken.kind)).concat(sourceFile.text.substring(nextToken.end, startPos)); + var suffix = "" + ts.tokenToString(nextToken.kind) + sourceFile.text.substring(nextToken.end, startPos); this.insertNodesAt(sourceFile, startPos, [newNode], { suffix: suffix }); } } @@ -146820,7 +148780,7 @@ var ts; this.replaceRange(sourceFile, ts.createRange(insertPos), newNode, { indentation: indentation, prefix: this.newLineCharacter }); } else { - this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: "".concat(ts.tokenToString(separator), " ") }); + this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: ts.tokenToString(separator) + " " }); } } }; @@ -146897,10 +148857,10 @@ var ts; }()); textChanges_3.ChangeTracker = ChangeTracker; function updateJSDocHost(parent) { - if (parent.kind !== 213 /* ArrowFunction */) { + if (parent.kind !== 214 /* ArrowFunction */) { return parent; } - var jsDocNode = parent.parent.kind === 166 /* PropertyDeclaration */ ? + var jsDocNode = parent.parent.kind === 167 /* PropertyDeclaration */ ? parent.parent : parent.parent.parent; jsDocNode.jsDoc = parent.jsDoc; @@ -146912,16 +148872,16 @@ var ts; return undefined; } switch (oldTag.kind) { - case 338 /* JSDocParameterTag */: { + case 340 /* JSDocParameterTag */: { var oldParam = oldTag; var newParam = newTag; return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment) : undefined; } - case 339 /* JSDocReturnTag */: + case 341 /* JSDocReturnTag */: return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); - case 341 /* JSDocTypeTag */: + case 343 /* JSDocTypeTag */: return ts.factory.createJSDocTypeTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); } } @@ -146934,8 +148894,8 @@ var ts; var close = ts.findChildOfKind(cls, 19 /* CloseBraceToken */, sourceFile); return [open === null || open === void 0 ? void 0 : open.end, close === null || close === void 0 ? void 0 : close.end]; } - function getMembersOrProperties(cls) { - return ts.isObjectLiteralExpression(cls) ? cls.properties : cls.members; + function getMembersOrProperties(node) { + return ts.isObjectLiteralExpression(node) ? node.properties : node.members; } function getNewFileText(statements, scriptKind, newLineCharacter, formatContext) { return changesToText.newFileChangesWorker(/*oldFile*/ undefined, scriptKind, statements, newLineCharacter, formatContext); @@ -146951,7 +148911,7 @@ var ts; var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); var _loop_12 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { - return "".concat(JSON.stringify(normalized[i].range), " and ").concat(JSON.stringify(normalized[i + 1].range)); + return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); }); }; // verify that change intervals do not overlap, except possibly at end points. @@ -146998,7 +148958,7 @@ var ts; ? change.nodes.map(function (n) { return ts.removeSuffix(format(n), newLineCharacter); }).join(((_a = change.options) === null || _a === void 0 ? void 0 : _a.joiner) || newLineCharacter) : format(change.node); // strip initial indentation (spaces or tabs) if text will be inserted in the middle of the line - var noIndent = (options.preserveLeadingWhitespace || options.indentation !== undefined || ts.getLineStartPositionForPosition(pos, sourceFile) === pos) ? text : text.replace(/^\s+/, ""); + var noIndent = (options.indentation !== undefined || ts.getLineStartPositionForPosition(pos, sourceFile) === pos) ? text : text.replace(/^\s+/, ""); return (options.prefix || "") + noIndent + ((!options.suffix || ts.endsWith(noIndent, options.suffix)) ? "" : options.suffix); @@ -147042,7 +149002,7 @@ var ts; function applyChanges(text, changes) { for (var i = changes.length - 1; i >= 0; i--) { var _a = changes[i], span = _a.span, newText = _a.newText; - text = "".concat(text.substring(0, span.start)).concat(newText).concat(text.substring(ts.textSpanEnd(span))); + text = "" + text.substring(0, span.start) + newText + text.substring(ts.textSpanEnd(span)); } return text; } @@ -147050,8 +149010,11 @@ var ts; function isTrivia(s) { return ts.skipTrivia(s, 0) === s.length; } + // A transformation context that won't perform parenthesization, as some parenthesization rules + // are more aggressive than is strictly necessary. + var textChangesTransformationContext = __assign(__assign({}, ts.nullTransformationContext), { factory: ts.createNodeFactory(ts.nullTransformationContext.factory.flags | 1 /* NoParenthesizerRules */, ts.nullTransformationContext.factory.baseFactory) }); function assignPositionsToNode(node) { - var visited = ts.visitEachChild(node, assignPositionsToNode, ts.nullTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); + var visited = ts.visitEachChild(node, assignPositionsToNode, textChangesTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); // create proxy node for non synthesized nodes var newNode = ts.nodeIsSynthesized(visited) ? visited : Object.create(visited); ts.setTextRangePosEnd(newNode, getPos(node), getEnd(node)); @@ -147312,14 +149275,14 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 161 /* ComputedPropertyName */ + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 162 /* ComputedPropertyName */ || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); // TODO: only if b would start with a `(` or `[` } var deleteDeclaration; (function (deleteDeclaration_1) { function deleteDeclaration(changes, deletedNodesInLists, sourceFile, node) { switch (node.kind) { - case 163 /* Parameter */: { + case 164 /* Parameter */: { var oldFunction = node.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1 && @@ -147334,17 +149297,17 @@ var ts; } break; } - case 265 /* ImportDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 266 /* ImportDeclaration */: + case 265 /* ImportEqualsDeclaration */: var isFirstImport = sourceFile.imports.length && node === ts.first(sourceFile.imports).parent || node === ts.find(sourceFile.statements, ts.isAnyImportSyntax); // For first import, leave header comment in place, otherwise only delete JSDoc comments deleteNode(changes, sourceFile, node, { leadingTriviaOption: isFirstImport ? LeadingTriviaOption.Exclude : ts.hasJSDocNodes(node) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine, }); break; - case 202 /* BindingElement */: + case 203 /* BindingElement */: var pattern = node.parent; - var preserveComma = pattern.kind === 201 /* ArrayBindingPattern */ && node !== ts.last(pattern.elements); + var preserveComma = pattern.kind === 202 /* ArrayBindingPattern */ && node !== ts.last(pattern.elements); if (preserveComma) { deleteNode(changes, sourceFile, node); } @@ -147352,13 +149315,13 @@ var ts; deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); } break; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: deleteVariableDeclaration(changes, deletedNodesInLists, sourceFile, node); break; - case 162 /* TypeParameter */: + case 163 /* TypeParameter */: deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); break; - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: var namedImports = node.parent; if (namedImports.elements.length === 1) { deleteImportBinding(changes, sourceFile, namedImports); @@ -147367,7 +149330,7 @@ var ts; deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); } break; - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: deleteImportBinding(changes, sourceFile, node); break; case 26 /* SemicolonToken */: @@ -147376,8 +149339,8 @@ var ts; case 98 /* FunctionKeyword */: deleteNode(changes, sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.Exclude }); break; - case 256 /* ClassDeclaration */: - case 255 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 256 /* FunctionDeclaration */: deleteNode(changes, sourceFile, node, { leadingTriviaOption: ts.hasJSDocNodes(node) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine }); break; default: @@ -147428,13 +149391,13 @@ var ts; // Delete the entire import declaration // |import * as ns from './file'| // |import { a } from './file'| - var importDecl = ts.getAncestor(node, 265 /* ImportDeclaration */); + var importDecl = ts.getAncestor(node, 266 /* ImportDeclaration */); deleteNode(changes, sourceFile, importDecl); } } function deleteVariableDeclaration(changes, deletedNodesInLists, sourceFile, node) { var parent = node.parent; - if (parent.kind === 291 /* CatchClause */) { + if (parent.kind === 292 /* CatchClause */) { // TODO: There's currently no unused diagnostic for this, could be a suggestion changes.deleteNodeRange(sourceFile, ts.findChildOfKind(parent, 20 /* OpenParenToken */, sourceFile), ts.findChildOfKind(parent, 21 /* CloseParenToken */, sourceFile)); return; @@ -147445,14 +149408,14 @@ var ts; } var gp = parent.parent; switch (gp.kind) { - case 243 /* ForOfStatement */: - case 242 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 243 /* ForInStatement */: changes.replaceNode(sourceFile, node, ts.factory.createObjectLiteralExpression()); break; - case 241 /* ForStatement */: + case 242 /* ForStatement */: deleteNode(changes, sourceFile, parent); break; - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: deleteNode(changes, sourceFile, gp, { leadingTriviaOption: ts.hasJSDocNodes(gp) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine }); break; default: @@ -147639,8 +149602,8 @@ var ts; }); function makeChange(changeTracker, sourceFile, assertion) { var replacement = ts.isAsExpression(assertion) - ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */)) - : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */), assertion.expression); + ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */)) + : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */), assertion.expression); changeTracker.replaceNode(sourceFile, assertion.expression, replacement); } function getAssertion(sourceFile, pos) { @@ -147691,7 +149654,7 @@ var ts; errorCodes: errorCodes, getCodeActions: function getCodeActionsToAddMissingAsync(context) { var sourceFile = context.sourceFile, errorCode = context.errorCode, cancellationToken = context.cancellationToken, program = context.program, span = context.span; - var diagnostic = ts.find(program.getDiagnosticsProducingTypeChecker().getDiagnostics(sourceFile, cancellationToken), getIsMatchingAsyncError(span, errorCode)); + var diagnostic = ts.find(program.getTypeChecker().getDiagnostics(sourceFile, cancellationToken), getIsMatchingAsyncError(span, errorCode)); var directSpan = diagnostic && diagnostic.relatedInformation && ts.find(diagnostic.relatedInformation, function (r) { return r.code === ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code; }); var decl = getFixableErrorSpanDeclaration(sourceFile, directSpan); if (!decl) { @@ -147845,7 +149808,7 @@ var ts; return codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Add_await, fixId, ts.Diagnostics.Fix_all_expressions_possibly_missing_await); } function isMissingAwaitError(sourceFile, errorCode, span, cancellationToken, program) { - var checker = program.getDiagnosticsProducingTypeChecker(); + var checker = program.getTypeChecker(); var diagnostics = checker.getDiagnostics(sourceFile, cancellationToken); return ts.some(diagnostics, function (_a) { var start = _a.start, length = _a.length, relatedInformation = _a.relatedInformation, code = _a.code; @@ -147869,7 +149832,7 @@ var ts; } var declaration = ts.tryCast(symbol.valueDeclaration, ts.isVariableDeclaration); var variableName = declaration && ts.tryCast(declaration.name, ts.isIdentifier); - var variableStatement = ts.getAncestor(declaration, 236 /* VariableStatement */); + var variableStatement = ts.getAncestor(declaration, 237 /* VariableStatement */); if (!declaration || !variableStatement || declaration.type || !declaration.initializer || @@ -147947,10 +149910,10 @@ var ts; function isInsideAwaitableBody(node) { return node.kind & 32768 /* AwaitContext */ || !!ts.findAncestor(node, function (ancestor) { return ancestor.parent && ts.isArrowFunction(ancestor.parent) && ancestor.parent.body === ancestor || - ts.isBlock(ancestor) && (ancestor.parent.kind === 255 /* FunctionDeclaration */ || - ancestor.parent.kind === 212 /* FunctionExpression */ || - ancestor.parent.kind === 213 /* ArrowFunction */ || - ancestor.parent.kind === 168 /* MethodDeclaration */); + ts.isBlock(ancestor) && (ancestor.parent.kind === 256 /* FunctionDeclaration */ || + ancestor.parent.kind === 213 /* FunctionExpression */ || + ancestor.parent.kind === 214 /* ArrowFunction */ || + ancestor.parent.kind === 169 /* MethodDeclaration */); }); } function makeChange(changeTracker, errorCode, sourceFile, checker, insertionSite, fixedDeclarations) { @@ -148069,10 +150032,10 @@ var ts; function isPossiblyPartOfDestructuring(node) { switch (node.kind) { case 79 /* Identifier */: - case 203 /* ArrayLiteralExpression */: - case 204 /* ObjectLiteralExpression */: - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: + case 204 /* ArrayLiteralExpression */: + case 205 /* ObjectLiteralExpression */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: return true; default: return false; @@ -148087,7 +150050,7 @@ var ts; function isPossiblyPartOfCommaSeperatedInitializer(node) { switch (node.kind) { case 79 /* Identifier */: - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: case 27 /* CommaToken */: return true; default: @@ -148136,7 +150099,7 @@ var ts; return; } var declaration = token.parent; - if (declaration.kind === 166 /* PropertyDeclaration */ && + if (declaration.kind === 167 /* PropertyDeclaration */ && (!fixedNodes || ts.tryAddToSet(fixedNodes, declaration))) { changeTracker.insertModifierBefore(sourceFile, 135 /* DeclareKeyword */, declaration); } @@ -148293,7 +150256,7 @@ var ts; var add = toAdd_1[_i]; var d = add.valueDeclaration; if (d && (ts.isPropertySignature(d) || ts.isPropertyDeclaration(d)) && d.type) { - var t = ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], d.type.kind === 186 /* UnionType */ ? d.type.types : [d.type], true), [ + var t = ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], d.type.kind === 187 /* UnionType */ ? d.type.types : [d.type], true), [ ts.factory.createTypeReferenceNode("undefined") ], false)); changes.replaceNode(d.getSourceFile(), d.type, t); @@ -148373,26 +150336,26 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 253 /* VariableDeclaration */ || - node.kind === 165 /* PropertySignature */ || - node.kind === 166 /* PropertyDeclaration */; + node.kind === 254 /* VariableDeclaration */ || + node.kind === 166 /* PropertySignature */ || + node.kind === 167 /* PropertyDeclaration */; } function transformJSDocType(node) { switch (node.kind) { - case 310 /* JSDocAllType */: - case 311 /* JSDocUnknownType */: + case 312 /* JSDocAllType */: + case 313 /* JSDocUnknownType */: return ts.factory.createTypeReferenceNode("any", ts.emptyArray); - case 314 /* JSDocOptionalType */: + case 316 /* JSDocOptionalType */: return transformJSDocOptionalType(node); - case 313 /* JSDocNonNullableType */: + case 315 /* JSDocNonNullableType */: return transformJSDocType(node.type); - case 312 /* JSDocNullableType */: + case 314 /* JSDocNullableType */: return transformJSDocNullableType(node); - case 316 /* JSDocVariadicType */: + case 318 /* JSDocVariadicType */: return transformJSDocVariadicType(node); - case 315 /* JSDocFunctionType */: + case 317 /* JSDocFunctionType */: return transformJSDocFunctionType(node); - case 177 /* TypeReference */: + case 178 /* TypeReference */: return transformJSDocTypeReference(node); default: var visited = ts.visitEachChild(node, transformJSDocType, ts.nullTransformationContext); @@ -148417,7 +150380,7 @@ var ts; } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 316 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 + var isRest = node.type.kind === 318 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.factory.createToken(25 /* DotDotDotToken */) : node.dotDotDotToken; return ts.factory.createParameterDeclaration(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); @@ -148457,8 +150420,8 @@ var ts; var index = ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 146 /* NumberKeyword */ ? "n" : "s", - /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 146 /* NumberKeyword */ ? "number" : "string", []), + /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* NumberKeyword */ ? "n" : "s", + /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* NumberKeyword */ ? "number" : "string", []), /*initializer*/ undefined); var indexSignature = ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(/*decorators*/ undefined, /*modifiers*/ undefined, [index], node.typeArguments[1])]); ts.setEmitFlags(indexSignature, 1 /* SingleLine */); @@ -148512,20 +150475,6 @@ var ts; } function createClassElementsFromSymbol(symbol) { var memberElements = []; - // all instance members are stored in the "member" array of symbol - if (symbol.members) { - symbol.members.forEach(function (member, key) { - if (key === "constructor" && member.valueDeclaration) { - // fn.prototype.constructor = fn - changes.delete(sourceFile, member.valueDeclaration.parent); - return; - } - var memberElement = createClassElement(member, /*modifiers*/ undefined); - if (memberElement) { - memberElements.push.apply(memberElements, memberElement); - } - }); - } // all static members are stored in the "exports" array of symbol if (symbol.exports) { symbol.exports.forEach(function (member) { @@ -148538,18 +150487,31 @@ var ts; firstDeclaration.parent.operatorToken.kind === 63 /* EqualsToken */ && ts.isObjectLiteralExpression(firstDeclaration.parent.right)) { var prototypes = firstDeclaration.parent.right; - var memberElement = createClassElement(prototypes.symbol, /** modifiers */ undefined); - if (memberElement) { - memberElements.push.apply(memberElements, memberElement); - } + createClassElement(prototypes.symbol, /** modifiers */ undefined, memberElements); } } else { - var memberElement = createClassElement(member, [ts.factory.createToken(124 /* StaticKeyword */)]); - if (memberElement) { - memberElements.push.apply(memberElements, memberElement); + createClassElement(member, [ts.factory.createToken(124 /* StaticKeyword */)], memberElements); + } + }); + } + // all instance members are stored in the "member" array of symbol (done last so instance members pulled from prototype assignments have priority) + if (symbol.members) { + symbol.members.forEach(function (member, key) { + var _a, _b, _c, _d; + if (key === "constructor" && member.valueDeclaration) { + var prototypeAssignment = (_d = (_c = (_b = (_a = symbol.exports) === null || _a === void 0 ? void 0 : _a.get("prototype")) === null || _b === void 0 ? void 0 : _b.declarations) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.parent; + if (prototypeAssignment && ts.isBinaryExpression(prototypeAssignment) && ts.isObjectLiteralExpression(prototypeAssignment.right) && ts.some(prototypeAssignment.right.properties, isConstructorAssignment)) { + // fn.prototype = { constructor: fn } + // Already deleted in `createClassElement` in first pass + } + else { + // fn.prototype.constructor = fn + changes.delete(sourceFile, member.valueDeclaration.parent); } + return; } + createClassElement(member, /*modifiers*/ undefined, memberElements); }); } return memberElements; @@ -148577,63 +150539,72 @@ var ts; }); } } - function createClassElement(symbol, modifiers) { + function createClassElement(symbol, modifiers, members) { // Right now the only thing we can convert are function expressions, which are marked as methods // or { x: y } type prototype assignments, which are marked as ObjectLiteral - var members = []; if (!(symbol.flags & 8192 /* Method */) && !(symbol.flags & 4096 /* ObjectLiteral */)) { - return members; + return; } var memberDeclaration = symbol.valueDeclaration; var assignmentBinaryExpression = memberDeclaration.parent; var assignmentExpr = assignmentBinaryExpression.right; if (!shouldConvertDeclaration(memberDeclaration, assignmentExpr)) { - return members; + return; + } + if (ts.some(members, function (m) { + var name = ts.getNameOfDeclaration(m); + if (name && ts.isIdentifier(name) && ts.idText(name) === ts.symbolName(symbol)) { + return true; // class member already made for this name + } + return false; + })) { + return; } // delete the entire statement if this expression is the sole expression to take care of the semicolon at the end - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 237 /* ExpressionStatement */ + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 238 /* ExpressionStatement */ ? assignmentBinaryExpression.parent : assignmentBinaryExpression; changes.delete(sourceFile, nodeToDelete); if (!assignmentExpr) { members.push(ts.factory.createPropertyDeclaration([], modifiers, symbol.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); - return members; + return; } // f.x = expr if (ts.isAccessExpression(memberDeclaration) && (ts.isFunctionExpression(assignmentExpr) || ts.isArrowFunction(assignmentExpr))) { var quotePreference = ts.getQuotePreference(sourceFile, preferences); var name = tryGetPropertyName(memberDeclaration, compilerOptions, quotePreference); if (name) { - return createFunctionLikeExpressionMember(members, assignmentExpr, name); + createFunctionLikeExpressionMember(members, assignmentExpr, name); } - return members; + return; } // f.prototype = { ... } else if (ts.isObjectLiteralExpression(assignmentExpr)) { - return ts.flatMap(assignmentExpr.properties, function (property) { + ts.forEach(assignmentExpr.properties, function (property) { if (ts.isMethodDeclaration(property) || ts.isGetOrSetAccessorDeclaration(property)) { // MethodDeclaration and AccessorDeclaration can appear in a class directly - return members.concat(property); + members.push(property); } if (ts.isPropertyAssignment(property) && ts.isFunctionExpression(property.initializer)) { - return createFunctionLikeExpressionMember(members, property.initializer, property.name); + createFunctionLikeExpressionMember(members, property.initializer, property.name); } // Drop constructor assignments if (isConstructorAssignment(property)) - return members; - return []; + return; + return; }); + return; } else { // Don't try to declare members in JavaScript files if (ts.isSourceFileJS(sourceFile)) - return members; + return; if (!ts.isPropertyAccessExpression(memberDeclaration)) - return members; + return; var prop = ts.factory.createPropertyDeclaration(/*decorators*/ undefined, modifiers, memberDeclaration.name, /*questionToken*/ undefined, /*type*/ undefined, assignmentExpr); ts.copyLeadingComments(assignmentBinaryExpression.parent, prop, sourceFile); members.push(prop); - return members; + return; } function createFunctionLikeExpressionMember(members, expression, name) { if (ts.isFunctionExpression(expression)) @@ -148646,13 +150617,14 @@ var ts; var method = ts.factory.createMethodDeclaration(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, functionExpression.parameters, /*type*/ undefined, functionExpression.body); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); - return members.concat(method); + members.push(method); + return; } function createArrowFunctionExpressionMember(members, arrowFunction, name) { var arrowFunctionBody = arrowFunction.body; var bodyBlock; // case 1: () => { return [1,2,3] } - if (arrowFunctionBody.kind === 234 /* Block */) { + if (arrowFunctionBody.kind === 235 /* Block */) { bodyBlock = arrowFunctionBody; } // case 2: () => [1,2,3] @@ -148663,7 +150635,7 @@ var ts; var method = ts.factory.createMethodDeclaration(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, arrowFunction.parameters, /*type*/ undefined, bodyBlock); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); - return members.concat(method); + members.push(method); } } } @@ -149181,7 +151153,7 @@ var ts; case 104 /* NullKeyword */: // do not produce a transformed statement for a null argument break; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: case 79 /* Identifier */: // identifier includes undefined if (!inputArgName) { // undefined was argument passed to promise handler @@ -149203,8 +151175,8 @@ var ts; continuationArgName.types.push(transformer.checker.getAwaitedType(returnType) || returnType); } return varDeclOrAssignment; - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: { + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: { var funcBody = func.body; var returnType_1 = (_a = getLastCallSignature(transformer.checker.getTypeAtLocation(func), transformer.checker)) === null || _a === void 0 ? void 0 : _a.getReturnType(); // Arrow functions with block bodies { } will enter this control flow @@ -149482,10 +151454,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier, quotePreference)); break; - case 207 /* CallExpression */: + case 208 /* CallExpression */: if (ts.isRequireCall(importNode, /*checkArgumentIsStringLiteralLike*/ false)) { changes.replaceNode(importingFile, importNode, ts.factory.createPropertyAccessExpression(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -149527,7 +151499,7 @@ var ts; if (!res.has(text) && (originalKeywordKind !== undefined && ts.isNonContextualKeyword(originalKeywordKind) || checker.resolveName(text, node, 111551 /* Value */, /*excludeGlobals*/ true))) { // Unconditionally add an underscore in case `text` is a keyword. - res.set(text, makeUniqueName("_".concat(text), identifiers)); + res.set(text, makeUniqueName("_" + text, identifiers)); } }); return res; @@ -149552,20 +151524,20 @@ var ts; } function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, useSitesToUnqualify, quotePreference) { switch (statement.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, quotePreference); return false; - case 237 /* ExpressionStatement */: { + case 238 /* ExpressionStatement */: { var expression = statement.expression; switch (expression.kind) { - case 207 /* CallExpression */: { + case 208 /* CallExpression */: { if (ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true)) { // For side-effecting require() call, just make a side-effecting import. changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0], quotePreference)); } return false; } - case 220 /* BinaryExpression */: { + case 221 /* BinaryExpression */: { var operatorToken = expression.operatorToken; return operatorToken.kind === 63 /* EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports, useSitesToUnqualify); } @@ -149614,8 +151586,8 @@ var ts; /** Converts `const name = require("moduleSpecifier").propertyName` */ function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, quotePreference) { switch (name.kind) { - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: { + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: { // `const [a, b] = require("c").d` --> `import { d } from "c"; const [a, b] = d;` var tmp = makeUniqueName(propertyName, identifiers); return convertedImports([ @@ -149627,7 +151599,7 @@ var ts; // `const a = require("b").c` --> `import { c as a } from "./b"; return convertedImports([makeSingleImport(name.text, propertyName, moduleSpecifier, quotePreference)]); default: - return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form ".concat(name.kind)); + return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form " + name.kind); } } function convertAssignment(sourceFile, checker, assignment, changes, exports, useSitesToUnqualify) { @@ -149666,19 +151638,19 @@ var ts; function tryChangeModuleExportsObject(object, useSitesToUnqualify) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`. // falls through - case 295 /* ShorthandPropertyAssignment */: - case 296 /* SpreadAssignment */: + case 297 /* ShorthandPropertyAssignment */: + case 298 /* SpreadAssignment */: return undefined; - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer, useSitesToUnqualify); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.factory.createToken(93 /* ExportKeyword */)], prop, useSitesToUnqualify); default: - ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind ".concat(prop.kind)); + ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind " + prop.kind); } }); return statements && [statements, false]; @@ -149739,7 +151711,7 @@ var ts; function convertExportsDotXEquals_replaceNode(name, exported, useSitesToUnqualify) { var modifiers = [ts.factory.createToken(93 /* ExportKeyword */)]; switch (exported.kind) { - case 212 /* FunctionExpression */: { + case 213 /* FunctionExpression */: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { // `exports.f = function g() {}` -> `export const f = function g() {}` @@ -149747,10 +151719,10 @@ var ts; } } // falls through - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: // `exports.f = function() {}` --> `export function f() {}` return functionExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: // `exports.C = class {}` --> `export class C {}` return classExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); default: @@ -149770,7 +151742,7 @@ var ts; : ts.getSynthesizedDeepCloneWithReplacements(nodeOrNodes, /*includeTrivia*/ true, replaceNode); function replaceNode(original) { // We are replacing `mod.SomeExport` wih `SomeExport`, so we only need to look at PropertyAccessExpressions - if (original.kind === 205 /* PropertyAccessExpression */) { + if (original.kind === 206 /* PropertyAccessExpression */) { var replacement = useSitesToUnqualify.get(original); // Remove entry from `useSitesToUnqualify` so the refactor knows it's taken care of by the parent statement we're replacing useSitesToUnqualify.delete(original); @@ -149785,7 +151757,7 @@ var ts; */ function convertSingleImport(name, moduleSpecifier, checker, identifiers, target, quotePreference) { switch (name.kind) { - case 200 /* ObjectBindingPattern */: { + case 201 /* ObjectBindingPattern */: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined @@ -149796,7 +151768,7 @@ var ts; } } // falls through -- object destructuring has an interesting pattern and must be a variable declaration - case 201 /* ArrayBindingPattern */: { + case 202 /* ArrayBindingPattern */: { /* import x from "x"; const [a, b, c] = x; @@ -149810,7 +151782,7 @@ var ts; case 79 /* Identifier */: return convertSingleIdentifierImport(name, moduleSpecifier, checker, identifiers, quotePreference); default: - return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind ".concat(name.kind)); + return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind " + name.kind); } } /** @@ -149867,7 +151839,7 @@ var ts; // Identifiers helpers function makeUniqueName(name, identifiers) { while (identifiers.original.has(name) || identifiers.additional.has(name)) { - name = "_".concat(name); + name = "_" + name; } identifiers.additional.add(name); return name; @@ -149889,11 +151861,11 @@ var ts; function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: return parent.name !== node; - case 202 /* BindingElement */: + case 203 /* BindingElement */: return parent.propertyName !== node; - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: return parent.propertyName !== node; default: return true; @@ -149947,7 +151919,7 @@ var ts; if (!qualifiedName) return undefined; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, context.sourceFile, qualifiedName); }); - var newText = "".concat(qualifiedName.left.text, "[\"").concat(qualifiedName.right.text, "\"]"); + var newText = qualifiedName.left.text + "[\"" + qualifiedName.right.text + "\"]"; return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Rewrite_as_the_indexed_access_type_0, newText], fixId, ts.Diagnostics.Rewrite_all_as_indexed_access_types)]; }, fixIds: [fixId], @@ -150007,7 +151979,7 @@ var ts; var exportDeclaration = exportClause.parent; var typeExportSpecifiers = getTypeExportSpecifiers(exportSpecifier, context); if (typeExportSpecifiers.length === exportClause.elements.length) { - changes.insertModifierBefore(context.sourceFile, 151 /* TypeKeyword */, exportClause); + changes.insertModifierBefore(context.sourceFile, 152 /* TypeKeyword */, exportClause); } else { var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.decorators, exportDeclaration.modifiers, @@ -150131,7 +152103,7 @@ var ts; function doChange(changes, sourceFile, _a) { var container = _a.container, typeNode = _a.typeNode, constraint = _a.constraint, name = _a.name; changes.replaceNode(sourceFile, container, ts.factory.createMappedTypeNode( - /*readonlyToken*/ undefined, ts.factory.createTypeParameterDeclaration(name, ts.factory.createTypeReferenceNode(constraint)), + /*readonlyToken*/ undefined, ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, ts.factory.createTypeReferenceNode(constraint)), /*nameType*/ undefined, /*questionToken*/ undefined, typeNode, /*members*/ undefined)); @@ -150209,7 +152181,7 @@ var ts; changeTracker.insertNodeAfter(sourceFile, constructor, newElement); } else { - changeTracker.insertNodeAtClassStart(sourceFile, cls, newElement); + changeTracker.insertMemberAtStart(sourceFile, cls, newElement); } } } @@ -150349,7 +152321,7 @@ var ts; // Excluding from fix-all break; default: - ts.Debug.assertNever(fix, "fix wasn't never - got kind ".concat(fix.kind)); + ts.Debug.assertNever(fix, "fix wasn't never - got kind " + fix.kind); } function reduceAddAsTypeOnlyValues(prevValue, newValue) { // `NotAllowed` overrides `Required` because one addition of a new import might be required to be type-only @@ -150393,7 +152365,7 @@ var ts; return newEntry; } function newImportsKey(moduleSpecifier, topLevelTypeOnly) { - return "".concat(topLevelTypeOnly ? 1 : 0, "|").concat(moduleSpecifier); + return (topLevelTypeOnly ? 1 : 0) + "|" + moduleSpecifier; } } function writeFixes(changeTracker) { @@ -150580,11 +152552,11 @@ var ts; function getTargetModuleFromNamespaceLikeImport(declaration, checker) { var _a; switch (declaration.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return checker.resolveExternalModuleName(declaration.initializer.arguments[0]); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return checker.getAliasedSymbol(declaration.symbol); - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: var namespaceImport = ts.tryCast((_a = declaration.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings, ts.isNamespaceImport); return namespaceImport && checker.getAliasedSymbol(namespaceImport.symbol); default: @@ -150594,11 +152566,11 @@ var ts; function getNamespaceLikeImportText(declaration) { var _a, _b, _c; switch (declaration.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return (_a = ts.tryCast(declaration.name, ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return declaration.name.text; - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return (_c = ts.tryCast((_b = declaration.importClause) === null || _b === void 0 ? void 0 : _b.namedBindings, ts.isNamespaceImport)) === null || _c === void 0 ? void 0 : _c.name.text; default: return ts.Debug.assertNever(declaration); @@ -150625,12 +152597,12 @@ var ts; function tryAddToExistingImport(existingImports, isValidTypeOnlyUseSite, checker, compilerOptions) { return ts.firstDefined(existingImports, function (_a) { var declaration = _a.declaration, importKind = _a.importKind, symbol = _a.symbol, targetFlags = _a.targetFlags; - if (importKind === 3 /* CommonJS */ || importKind === 2 /* Namespace */ || declaration.kind === 264 /* ImportEqualsDeclaration */) { + if (importKind === 3 /* CommonJS */ || importKind === 2 /* Namespace */ || declaration.kind === 265 /* ImportEqualsDeclaration */) { // These kinds of imports are not combinable with anything return undefined; } - if (declaration.kind === 253 /* VariableDeclaration */) { - return (importKind === 0 /* Named */ || importKind === 1 /* Default */) && declaration.name.kind === 200 /* ObjectBindingPattern */ + if (declaration.kind === 254 /* VariableDeclaration */) { + return (importKind === 0 /* Named */ || importKind === 1 /* Default */) && declaration.name.kind === 201 /* ObjectBindingPattern */ ? { kind: 2 /* AddToExisting */, importClauseOrBindingPattern: declaration.name, importKind: importKind, moduleSpecifier: declaration.initializer.arguments[0].text, addAsTypeOnly: 4 /* NotAllowed */ } : undefined; } @@ -150651,7 +152623,7 @@ var ts; )) return undefined; if (importKind === 0 /* Named */ && - (namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === 267 /* NamespaceImport */ // Cannot add a named import to a declaration that has a namespace import + (namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === 268 /* NamespaceImport */ // Cannot add a named import to a declaration that has a namespace import ) return undefined; return { @@ -150674,7 +152646,7 @@ var ts; if (ts.isVariableDeclarationInitializedToRequire(i.parent)) { return checker.resolveExternalModuleName(moduleSpecifier) === moduleSymbol ? { declaration: i.parent, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; } - if (i.kind === 265 /* ImportDeclaration */ || i.kind === 264 /* ImportEqualsDeclaration */) { + if (i.kind === 266 /* ImportDeclaration */ || i.kind === 265 /* ImportEqualsDeclaration */) { return checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; } }); @@ -150891,7 +152863,7 @@ var ts; case ts.ModuleKind.NodeNext: return importingFile.impliedNodeFormat === ts.ModuleKind.ESNext ? 2 /* Namespace */ : 3 /* CommonJS */; default: - return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind ".concat(moduleKind)); + return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind " + moduleKind); } } function getFixesInfoForNonUMDImport(_a, symbolToken, useAutoImportProvider) { @@ -150899,8 +152871,10 @@ var ts; var checker = program.getTypeChecker(); var compilerOptions = program.getCompilerOptions(); var symbolName = getSymbolName(sourceFile, checker, symbolToken, compilerOptions); - // "default" is a keyword and not a legal identifier for the import, so we don't expect it here - ts.Debug.assert(symbolName !== "default" /* Default */, "'default' isn't a legal identifier and couldn't occur here"); + // "default" is a keyword and not a legal identifier for the import, but appears as an identifier. + if (symbolName === "default" /* Default */) { + return undefined; + } var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(symbolToken); var useRequire = shouldUseRequire(sourceFile, program); var exportInfo = getExportInfos(symbolName, ts.isJSXTagName(symbolToken), ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences); @@ -150920,12 +152894,9 @@ var ts; return undefined; return { kind: 4 /* PromoteTypeOnly */, typeOnlyAliasDeclaration: typeOnlyAliasDeclaration }; } - function jsxModeNeedsExplicitImport(jsx) { - return jsx === 2 /* React */ || jsx === 3 /* ReactNative */; - } function getSymbolName(sourceFile, checker, symbolToken, compilerOptions) { var parent = symbolToken.parent; - if ((ts.isJsxOpeningLikeElement(parent) || ts.isJsxClosingElement(parent)) && parent.tagName === symbolToken && jsxModeNeedsExplicitImport(compilerOptions.jsx)) { + if ((ts.isJsxOpeningLikeElement(parent) || ts.isJsxClosingElement(parent)) && parent.tagName === symbolToken && ts.jsxModeNeedsExplicitImport(compilerOptions.jsx)) { var jsxNamespace = checker.getJsxNamespace(sourceFile); if (needsJsxNamespaceFix(jsxNamespace, symbolToken, checker)) { return jsxNamespace; @@ -151014,7 +152985,7 @@ var ts; switch (fix.kind) { case 0 /* UseNamespace */: addNamespaceQualifier(changes, sourceFile, fix); - return [ts.Diagnostics.Change_0_to_1, symbolName, "".concat(fix.namespacePrefix, ".").concat(symbolName)]; + return [ts.Diagnostics.Change_0_to_1, symbolName, fix.namespacePrefix + "." + symbolName]; case 1 /* JsdocTypeImport */: addImportType(changes, sourceFile, fix, quotePreference); return [ts.Diagnostics.Change_0_to_1, symbolName, getImportTypePrefix(fix.moduleSpecifier, quotePreference) + symbolName]; @@ -151040,17 +153011,17 @@ var ts; case 4 /* PromoteTypeOnly */: { var typeOnlyAliasDeclaration = fix.typeOnlyAliasDeclaration; var promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, compilerOptions, sourceFile); - return promotedDeclaration.kind === 269 /* ImportSpecifier */ + return promotedDeclaration.kind === 270 /* ImportSpecifier */ ? [ts.Diagnostics.Remove_type_from_import_of_0_from_1, symbolName, getModuleSpecifierText(promotedDeclaration.parent.parent)] : [ts.Diagnostics.Remove_type_from_import_declaration_from_0, getModuleSpecifierText(promotedDeclaration)]; } default: - return ts.Debug.assertNever(fix, "Unexpected fix kind ".concat(fix.kind)); + return ts.Debug.assertNever(fix, "Unexpected fix kind " + fix.kind); } } function getModuleSpecifierText(promotedDeclaration) { var _a, _b; - return promotedDeclaration.kind === 264 /* ImportEqualsDeclaration */ + return promotedDeclaration.kind === 265 /* ImportEqualsDeclaration */ ? ((_b = ts.tryCast((_a = ts.tryCast(promotedDeclaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression, ts.isStringLiteralLike)) === null || _b === void 0 ? void 0 : _b.text) || promotedDeclaration.moduleReference.getText() : ts.cast(promotedDeclaration.parent.moduleSpecifier, ts.isStringLiteral).text; } @@ -151058,7 +153029,7 @@ var ts; // See comment in `doAddExistingFix` on constant with the same name. var convertExistingToTypeOnly = compilerOptions.preserveValueImports && compilerOptions.isolatedModules; switch (aliasDeclaration.kind) { - case 269 /* ImportSpecifier */: + case 270 /* ImportSpecifier */: if (aliasDeclaration.isTypeOnly) { if (aliasDeclaration.parent.elements.length > 1 && ts.OrganizeImports.importSpecifiersAreSorted(aliasDeclaration.parent.elements)) { changes.delete(sourceFile, aliasDeclaration); @@ -151076,13 +153047,13 @@ var ts; promoteImportClause(aliasDeclaration.parent.parent); return aliasDeclaration.parent.parent; } - case 266 /* ImportClause */: + case 267 /* ImportClause */: promoteImportClause(aliasDeclaration); return aliasDeclaration; - case 267 /* NamespaceImport */: + case 268 /* NamespaceImport */: promoteImportClause(aliasDeclaration.parent); return aliasDeclaration.parent; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: changes.deleteRange(sourceFile, aliasDeclaration.getChildAt(1)); return aliasDeclaration; default: @@ -151094,7 +153065,7 @@ var ts; var namedImports = ts.tryCast(importClause.namedBindings, ts.isNamedImports); if (namedImports && namedImports.elements.length > 1) { if (ts.OrganizeImports.importSpecifiersAreSorted(namedImports.elements) && - aliasDeclaration.kind === 269 /* ImportSpecifier */ && + aliasDeclaration.kind === 270 /* ImportSpecifier */ && namedImports.elements.indexOf(aliasDeclaration) !== 0) { // The import specifier being promoted will be the only non-type-only, // import in the NamedImports, so it should be moved to the front. @@ -151104,7 +153075,7 @@ var ts; for (var _i = 0, _a = namedImports.elements; _i < _a.length; _i++) { var element = _a[_i]; if (element !== aliasDeclaration && !element.isTypeOnly) { - changes.insertModifierBefore(sourceFile, 151 /* TypeKeyword */, element); + changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, element); } } } @@ -151113,7 +153084,7 @@ var ts; } function doAddExistingFix(changes, sourceFile, clause, defaultImport, namedImports, compilerOptions) { var _a; - if (clause.kind === 200 /* ObjectBindingPattern */) { + if (clause.kind === 201 /* ObjectBindingPattern */) { if (defaultImport) { addElementToBindingPattern(clause, defaultImport.name, "default"); } @@ -151174,7 +153145,7 @@ var ts; if (convertExistingToTypeOnly && existingSpecifiers) { for (var _d = 0, existingSpecifiers_1 = existingSpecifiers; _d < existingSpecifiers_1.length; _d++) { var specifier = existingSpecifiers_1[_d]; - changes.insertModifierBefore(sourceFile, 151 /* TypeKeyword */, specifier); + changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, specifier); } } } @@ -151198,7 +153169,7 @@ var ts; } function getImportTypePrefix(moduleSpecifier, quotePreference) { var quote = ts.getQuoteFromPreference(quotePreference); - return "import(".concat(quote).concat(moduleSpecifier).concat(quote, ")."); + return "import(" + quote + moduleSpecifier + quote + ")."; } function needsTypeOnly(_a) { var addAsTypeOnly = _a.addAsTypeOnly; @@ -151294,7 +153265,7 @@ var ts; lastCharWasValid = isValid; } // Need `|| "_"` to ensure result isn't empty. - return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_".concat(res); + return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_" + res; } codefix.moduleSpecifierToValidIdentifier = moduleSpecifierToValidIdentifier; })(codefix = ts.codefix || (ts.codefix = {})); @@ -151428,7 +153399,7 @@ var ts; accessibilityModifier ? accessibilityModifier.end : classElement.decorators ? ts.skipTrivia(sourceFile.text, classElement.decorators.end) : classElement.getStart(sourceFile); var options = accessibilityModifier || staticModifier || abstractModifier ? { prefix: " " } : { suffix: " " }; - changeTracker.insertModifierAt(sourceFile, modifierPos, 158 /* OverrideKeyword */, options); + changeTracker.insertModifierAt(sourceFile, modifierPos, 159 /* OverrideKeyword */, options); } function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) { var classElement = findContainerClassElementLike(sourceFile, pos); @@ -151436,19 +153407,19 @@ var ts; changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag)); return; } - var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 158 /* OverrideKeyword */; }); + var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 159 /* OverrideKeyword */; }); ts.Debug.assertIsDefined(overrideModifier); changeTracker.deleteModifier(sourceFile, overrideModifier); } function isClassElementLikeHasJSDoc(node) { switch (node.kind) { - case 170 /* Constructor */: - case 166 /* PropertyDeclaration */: - case 168 /* MethodDeclaration */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 171 /* Constructor */: + case 167 /* PropertyDeclaration */: + case 169 /* MethodDeclaration */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: return true; - case 163 /* Parameter */: + case 164 /* Parameter */: return ts.isParameterPropertyDeclaration(node, node.parent); default: return false; @@ -151580,7 +153551,7 @@ var ts; }); function getNamedTupleMember(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - return ts.findAncestor(token, function (t) { return t.kind === 196 /* NamedTupleMember */; }); + return ts.findAncestor(token, function (t) { return t.kind === 197 /* NamedTupleMember */; }); } function doChange(changes, sourceFile, namedTupleMember) { if (!namedTupleMember) { @@ -151589,11 +153560,11 @@ var ts; var unwrappedType = namedTupleMember.type; var sawOptional = false; var sawRest = false; - while (unwrappedType.kind === 184 /* OptionalType */ || unwrappedType.kind === 185 /* RestType */ || unwrappedType.kind === 190 /* ParenthesizedType */) { - if (unwrappedType.kind === 184 /* OptionalType */) { + while (unwrappedType.kind === 185 /* OptionalType */ || unwrappedType.kind === 186 /* RestType */ || unwrappedType.kind === 191 /* ParenthesizedType */) { + if (unwrappedType.kind === 185 /* OptionalType */) { sawOptional = true; } - else if (unwrappedType.kind === 185 /* RestType */) { + else if (unwrappedType.kind === 186 /* RestType */) { sawRest = true; } unwrappedType = unwrappedType.type; @@ -151908,19 +153879,19 @@ var ts; } function getVariableLikeInitializer(declaration) { switch (declaration.kind) { - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: - case 202 /* BindingElement */: - case 166 /* PropertyDeclaration */: - case 294 /* PropertyAssignment */: + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: + case 203 /* BindingElement */: + case 167 /* PropertyDeclaration */: + case 296 /* PropertyAssignment */: return declaration.initializer; - case 284 /* JsxAttribute */: + case 285 /* JsxAttribute */: return declaration.initializer && (ts.isJsxExpression(declaration.initializer) ? declaration.initializer.expression : undefined); - case 295 /* ShorthandPropertyAssignment */: - case 165 /* PropertySignature */: - case 297 /* EnumMember */: - case 345 /* JSDocPropertyTag */: - case 338 /* JSDocParameterTag */: + case 297 /* ShorthandPropertyAssignment */: + case 166 /* PropertySignature */: + case 299 /* EnumMember */: + case 347 /* JSDocPropertyTag */: + case 340 /* JSDocParameterTag */: return undefined; } } @@ -151994,7 +153965,7 @@ var ts; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addFunctionDeclaration(t, context, info); }); return [codefix.createCodeFixAction(fixMissingFunctionDeclaration, changes, [ts.Diagnostics.Add_missing_function_declaration_0, info.token.text], fixMissingFunctionDeclaration, ts.Diagnostics.Add_all_missing_function_declarations)]; } - if (info.kind === 0 /* Enum */) { + if (info.kind === 1 /* Enum */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addEnumMemberDeclaration(t, context.program.getTypeChecker(), info); }); return [codefix.createCodeFixAction(fixMissingMember, changes, [ts.Diagnostics.Add_missing_enum_member_0, info.token.text], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; } @@ -152022,10 +153993,10 @@ var ts; addJsxAttributes(changes, context, info); } else { - if (info.kind === 0 /* Enum */) { + if (info.kind === 1 /* Enum */) { addEnumMemberDeclaration(changes, checker, info); } - if (info.kind === 1 /* ClassOrInterface */) { + if (info.kind === 0 /* TypeLikeDeclaration */) { var parentDeclaration = info.parentDeclaration, token_1 = info.token; var infos = ts.getOrUpdate(typeDeclToMembers, parentDeclaration, function () { return []; }); if (!infos.some(function (i) { return i.token.text === token_1.text; })) { @@ -152034,11 +154005,11 @@ var ts; } } }); - typeDeclToMembers.forEach(function (infos, classDeclaration) { - var supers = codefix.getAllSupers(classDeclaration, checker); + typeDeclToMembers.forEach(function (infos, declaration) { + var supers = ts.isTypeLiteralNode(declaration) ? undefined : codefix.getAllSupers(declaration, checker); var _loop_15 = function (info) { // If some superclass added this property, don't add it again. - if (supers.some(function (superClassOrInterface) { + if (supers === null || supers === void 0 ? void 0 : supers.some(function (superClassOrInterface) { var superInfos = typeDeclToMembers.get(superClassOrInterface); return !!superInfos && superInfos.some(function (_a) { var token = _a.token; @@ -152052,11 +154023,11 @@ var ts; addMethodDeclaration(context, changes, call, token, modifierFlags & 32 /* Static */, parentDeclaration, declSourceFile); } else { - if (isJSFile && !ts.isInterfaceDeclaration(parentDeclaration)) { + if (isJSFile && !ts.isInterfaceDeclaration(parentDeclaration) && !ts.isTypeLiteralNode(parentDeclaration)) { addMissingMemberInJs(changes, declSourceFile, parentDeclaration, token, !!(modifierFlags & 32 /* Static */)); } else { - var typeNode = getTypeNode(program.getTypeChecker(), parentDeclaration, token); + var typeNode = getTypeNode(checker, parentDeclaration, token); addPropertyDeclaration(changes, declSourceFile, parentDeclaration, token.text, typeNode, modifierFlags & 32 /* Static */); } } @@ -152071,8 +154042,8 @@ var ts; }); var InfoKind; (function (InfoKind) { - InfoKind[InfoKind["Enum"] = 0] = "Enum"; - InfoKind[InfoKind["ClassOrInterface"] = 1] = "ClassOrInterface"; + InfoKind[InfoKind["TypeLikeDeclaration"] = 0] = "TypeLikeDeclaration"; + InfoKind[InfoKind["Enum"] = 1] = "Enum"; InfoKind[InfoKind["Function"] = 2] = "Function"; InfoKind[InfoKind["ObjectLiteral"] = 3] = "ObjectLiteral"; InfoKind[InfoKind["JsxAttributes"] = 4] = "JsxAttributes"; @@ -152095,10 +154066,10 @@ var ts; var param = signature.parameters[argIndex].valueDeclaration; if (!(param && ts.isParameter(param) && ts.isIdentifier(param.name))) return undefined; - var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent), checker.getTypeAtLocation(param), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); + var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent), checker.getParameterType(signature, argIndex), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); if (!ts.length(properties)) return undefined; - return { kind: 3 /* ObjectLiteral */, token: param.name, properties: properties, indentation: 0, parentDeclaration: parent }; + return { kind: 3 /* ObjectLiteral */, token: param.name, properties: properties, parentDeclaration: parent }; } if (!ts.isMemberName(token)) return undefined; @@ -152106,7 +154077,7 @@ var ts; var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent.initializer), checker.getTypeAtLocation(token), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); if (!ts.length(properties)) return undefined; - return { kind: 3 /* ObjectLiteral */, token: token, properties: properties, indentation: undefined, parentDeclaration: parent.initializer }; + return { kind: 3 /* ObjectLiteral */, token: token, properties: properties, parentDeclaration: parent.initializer }; } if (ts.isIdentifier(token) && ts.isJsxOpeningLikeElement(token.parent)) { var target = ts.getEmitScriptTarget(program.getCompilerOptions()); @@ -152142,20 +154113,21 @@ var ts; if (!classDeclaration && ts.isPrivateIdentifier(token)) return undefined; // Prefer to change the class instead of the interface if they are merged - var classOrInterface = classDeclaration || ts.find(symbol.declarations, ts.isInterfaceDeclaration); - if (classOrInterface && !isSourceFileFromLibrary(program, classOrInterface.getSourceFile())) { - var makeStatic = (leftExpressionType.target || leftExpressionType) !== checker.getDeclaredTypeOfSymbol(symbol); - if (makeStatic && (ts.isPrivateIdentifier(token) || ts.isInterfaceDeclaration(classOrInterface))) + var declaration = classDeclaration || ts.find(symbol.declarations, function (d) { return ts.isInterfaceDeclaration(d) || ts.isTypeLiteralNode(d); }); + if (declaration && !isSourceFileFromLibrary(program, declaration.getSourceFile())) { + var makeStatic = !ts.isTypeLiteralNode(declaration) && (leftExpressionType.target || leftExpressionType) !== checker.getDeclaredTypeOfSymbol(symbol); + if (makeStatic && (ts.isPrivateIdentifier(token) || ts.isInterfaceDeclaration(declaration))) return undefined; - var declSourceFile = classOrInterface.getSourceFile(); - var modifierFlags = (makeStatic ? 32 /* Static */ : 0) | (ts.startsWithUnderscore(token.text) ? 8 /* Private */ : 0); + var declSourceFile = declaration.getSourceFile(); + var modifierFlags = ts.isTypeLiteralNode(declaration) ? 0 /* None */ : + (makeStatic ? 32 /* Static */ : 0 /* None */) | (ts.startsWithUnderscore(token.text) ? 8 /* Private */ : 0 /* None */); var isJSFile = ts.isSourceFileJS(declSourceFile); var call = ts.tryCast(parent.parent, ts.isCallExpression); - return { kind: 1 /* ClassOrInterface */, token: token, call: call, modifierFlags: modifierFlags, parentDeclaration: classOrInterface, declSourceFile: declSourceFile, isJSFile: isJSFile }; + return { kind: 0 /* TypeLikeDeclaration */, token: token, call: call, modifierFlags: modifierFlags, parentDeclaration: declaration, declSourceFile: declSourceFile, isJSFile: isJSFile }; } var enumDeclaration = ts.find(symbol.declarations, ts.isEnumDeclaration); if (enumDeclaration && !ts.isPrivateIdentifier(token) && !isSourceFileFromLibrary(program, enumDeclaration.getSourceFile())) { - return { kind: 0 /* Enum */, token: token, parentDeclaration: enumDeclaration }; + return { kind: 1 /* Enum */, token: token, parentDeclaration: enumDeclaration }; } return undefined; } @@ -152168,7 +154140,7 @@ var ts; } function createActionForAddMissingMemberInJavascriptFile(context, _a) { var parentDeclaration = _a.parentDeclaration, declSourceFile = _a.declSourceFile, modifierFlags = _a.modifierFlags, token = _a.token; - if (ts.isInterfaceDeclaration(parentDeclaration)) { + if (ts.isInterfaceDeclaration(parentDeclaration) || ts.isTypeLiteralNode(parentDeclaration)) { return undefined; } var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addMissingMemberInJs(t, declSourceFile, parentDeclaration, token, !!(modifierFlags & 32 /* Static */)); }); @@ -152179,15 +154151,15 @@ var ts; ts.isPrivateIdentifier(token) ? ts.Diagnostics.Declare_a_private_field_named_0 : ts.Diagnostics.Initialize_property_0_in_the_constructor; return codefix.createCodeFixAction(fixMissingMember, changes, [diagnostic, token.text], fixMissingMember, ts.Diagnostics.Add_all_missing_members); } - function addMissingMemberInJs(changeTracker, declSourceFile, classDeclaration, token, makeStatic) { + function addMissingMemberInJs(changeTracker, sourceFile, classDeclaration, token, makeStatic) { var tokenName = token.text; if (makeStatic) { - if (classDeclaration.kind === 225 /* ClassExpression */) { + if (classDeclaration.kind === 226 /* ClassExpression */) { return; } var className = classDeclaration.name.getText(); var staticInitialization = initializePropertyToUndefined(ts.factory.createIdentifier(className), tokenName); - changeTracker.insertNodeAfter(declSourceFile, classDeclaration, staticInitialization); + changeTracker.insertNodeAfter(sourceFile, classDeclaration, staticInitialization); } else if (ts.isPrivateIdentifier(token)) { var property = ts.factory.createPropertyDeclaration( @@ -152198,10 +154170,10 @@ var ts; /*initializer*/ undefined); var lastProp = getNodeToInsertPropertyAfter(classDeclaration); if (lastProp) { - changeTracker.insertNodeAfter(declSourceFile, lastProp, property); + changeTracker.insertNodeAfter(sourceFile, lastProp, property); } else { - changeTracker.insertNodeAtClassStart(declSourceFile, classDeclaration, property); + changeTracker.insertMemberAtStart(sourceFile, classDeclaration, property); } } else { @@ -152210,7 +154182,7 @@ var ts; return; } var propertyInitialization = initializePropertyToUndefined(ts.factory.createThis(), tokenName); - changeTracker.insertNodeAtConstructorEnd(declSourceFile, classConstructor, propertyInitialization); + changeTracker.insertNodeAtConstructorEnd(sourceFile, classConstructor, propertyInitialization); } } function initializePropertyToUndefined(obj, propertyName) { @@ -152232,13 +154204,13 @@ var ts; actions.push(createAddIndexSignatureAction(context, declSourceFile, parentDeclaration, token.text, typeNode)); return actions; } - function getTypeNode(checker, classDeclaration, token) { + function getTypeNode(checker, node, token) { var typeNode; - if (token.parent.parent.kind === 220 /* BinaryExpression */) { + if (token.parent.parent.kind === 221 /* BinaryExpression */) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); - typeNode = checker.typeToTypeNode(widenedType, classDeclaration, 1 /* NoTruncation */); + typeNode = checker.typeToTypeNode(widenedType, node, 1 /* NoTruncation */); } else { var contextualType = checker.getContextualType(token.parent); @@ -152246,24 +154218,23 @@ var ts; } return typeNode || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); } - function addPropertyDeclaration(changeTracker, declSourceFile, classDeclaration, tokenName, typeNode, modifierFlags) { - var property = ts.factory.createPropertyDeclaration( - /*decorators*/ undefined, - /*modifiers*/ modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined, tokenName, - /*questionToken*/ undefined, typeNode, - /*initializer*/ undefined); - var lastProp = getNodeToInsertPropertyAfter(classDeclaration); + function addPropertyDeclaration(changeTracker, sourceFile, node, tokenName, typeNode, modifierFlags) { + var modifiers = modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; + var property = ts.isClassLike(node) + ? ts.factory.createPropertyDeclaration(/*decorators*/ undefined, modifiers, tokenName, /*questionToken*/ undefined, typeNode, /*initializer*/ undefined) + : ts.factory.createPropertySignature(/*modifiers*/ undefined, tokenName, /*questionToken*/ undefined, typeNode); + var lastProp = getNodeToInsertPropertyAfter(node); if (lastProp) { - changeTracker.insertNodeAfter(declSourceFile, lastProp, property); + changeTracker.insertNodeAfter(sourceFile, lastProp, property); } else { - changeTracker.insertNodeAtClassStart(declSourceFile, classDeclaration, property); + changeTracker.insertMemberAtStart(sourceFile, node, property); } } // Gets the last of the first run of PropertyDeclarations, or undefined if the class does not start with a PropertyDeclaration. - function getNodeToInsertPropertyAfter(cls) { + function getNodeToInsertPropertyAfter(node) { var res; - for (var _i = 0, _a = cls.members; _i < _a.length; _i++) { + for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; if (!ts.isPropertyDeclaration(member)) break; @@ -152271,9 +154242,9 @@ var ts; } return res; } - function createAddIndexSignatureAction(context, declSourceFile, classDeclaration, tokenName, typeNode) { + function createAddIndexSignatureAction(context, sourceFile, node, tokenName, typeNode) { // Index signatures cannot have the static modifier. - var stringTypeNode = ts.factory.createKeywordTypeNode(149 /* StringKeyword */); + var stringTypeNode = ts.factory.createKeywordTypeNode(150 /* StringKeyword */); var indexingParameter = ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, @@ -152283,7 +154254,7 @@ var ts; var indexSignature = ts.factory.createIndexSignature( /*decorators*/ undefined, /*modifiers*/ undefined, [indexingParameter], typeNode); - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.insertNodeAtClassStart(declSourceFile, classDeclaration, indexSignature); }); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.insertMemberAtStart(sourceFile, node, indexSignature); }); // No fixId here because code-fix-all currently only works on adding individual named properties. return codefix.createCodeFixActionWithoutFixAll(fixMissingMember, changes, [ts.Diagnostics.Add_index_signature_for_property_0, tokenName]); } @@ -152306,13 +154277,14 @@ var ts; } function addMethodDeclaration(context, changes, callExpression, name, modifierFlags, parentDeclaration, sourceFile) { var importAdder = codefix.createImportAdder(sourceFile, context.program, context.preferences, context.host); - var methodDeclaration = codefix.createSignatureDeclarationFromCallExpression(168 /* MethodDeclaration */, context, importAdder, callExpression, name, modifierFlags, parentDeclaration); - var containingMethodDeclaration = ts.findAncestor(callExpression, function (n) { return ts.isMethodDeclaration(n) || ts.isConstructorDeclaration(n); }); - if (containingMethodDeclaration && containingMethodDeclaration.parent === parentDeclaration) { - changes.insertNodeAfter(sourceFile, containingMethodDeclaration, methodDeclaration); + var kind = ts.isClassLike(parentDeclaration) ? 169 /* MethodDeclaration */ : 168 /* MethodSignature */; + var signatureDeclaration = codefix.createSignatureDeclarationFromCallExpression(kind, context, importAdder, callExpression, name, modifierFlags, parentDeclaration); + var containingMethodDeclaration = tryGetContainingMethodDeclaration(parentDeclaration, callExpression); + if (containingMethodDeclaration) { + changes.insertNodeAfter(sourceFile, containingMethodDeclaration, signatureDeclaration); } else { - changes.insertNodeAtClassStart(sourceFile, parentDeclaration, methodDeclaration); + changes.insertMemberAtStart(sourceFile, parentDeclaration, signatureDeclaration); } importAdder.writeFixes(changes); } @@ -152335,7 +154307,7 @@ var ts; } function addFunctionDeclaration(changes, context, info) { var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); - var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(255 /* FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration); + var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(256 /* FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration); changes.insertNodeAtEndOfScope(info.sourceFile, info.parentDeclaration, functionDeclaration); } function addJsxAttributes(changes, context, info) { @@ -152429,7 +154401,7 @@ var ts; var signature = checker.getSignaturesOfType(type, 0 /* Call */); if (signature === undefined) return createUndefined(); - var func = codefix.createSignatureDeclarationFromSignature(212 /* FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ undefined, importAdder); + var func = codefix.createSignatureDeclarationFromSignature(213 /* FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ undefined, importAdder); return func !== null && func !== void 0 ? func : createUndefined(); } if (ts.getObjectFlags(type) & 1 /* Class */) { @@ -152475,6 +154447,13 @@ var ts; return ts.isIdentifierText(targetProp.name, target, 1 /* JSX */) && !((targetProp.flags & 16777216 /* Optional */ || ts.getCheckFlags(targetProp) & 48 /* Partial */) || seenNames.has(targetProp.escapedName)); }); } + function tryGetContainingMethodDeclaration(node, callExpression) { + if (ts.isTypeLiteralNode(node)) { + return undefined; + } + var declaration = ts.findAncestor(callExpression, function (n) { return ts.isMethodDeclaration(n) || ts.isConstructorDeclaration(n); }); + return declaration && declaration.parent === node ? declaration : undefined; + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -152550,7 +154529,7 @@ var ts; break; } default: - ts.Debug.fail("Bad fixId: ".concat(context.fixId)); + ts.Debug.fail("Bad fixId: " + context.fixId); } }); }, @@ -152618,7 +154597,7 @@ var ts; // so duplicates cannot occur. var abstractAndNonPrivateExtendsSymbols = checker.getPropertiesOfType(instantiatedExtendsType).filter(symbolPointsToNonPrivateAndAbstractMember); var importAdder = codefix.createImportAdder(sourceFile, context.program, preferences, context.host); - codefix.createMissingMemberNodes(classDeclaration, abstractAndNonPrivateExtendsSymbols, sourceFile, context, preferences, importAdder, function (member) { return changeTracker.insertNodeAtClassStart(sourceFile, classDeclaration, member); }); + codefix.createMissingMemberNodes(classDeclaration, abstractAndNonPrivateExtendsSymbols, sourceFile, context, preferences, importAdder, function (member) { return changeTracker.insertMemberAtStart(sourceFile, classDeclaration, member); }); importAdder.writeFixes(changeTracker); } function symbolPointsToNonPrivateAndAbstractMember(symbol) { @@ -152998,7 +154977,7 @@ var ts; if (!isValidCharacter(character)) { return; } - var replacement = useHtmlEntity ? htmlEntity[character] : "{".concat(ts.quote(sourceFile, preferences, character), "}"); + var replacement = useHtmlEntity ? htmlEntity[character] : "{" + ts.quote(sourceFile, preferences, character) + "}"; changes.replaceRangeWithText(sourceFile, { pos: start, end: start + 1 }, replacement); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -153094,6 +155073,74 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixId = "fixUnreferenceableDecoratorMetadata"; + var errorCodes = [ts.Diagnostics.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var importDeclaration = getImportDeclaration(context.sourceFile, context.program, context.span.start); + if (!importDeclaration) + return; + var namespaceChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return importDeclaration.kind === 270 /* ImportSpecifier */ && doNamespaceImportChange(t, context.sourceFile, importDeclaration, context.program); }); + var typeOnlyChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return doTypeOnlyImportChange(t, context.sourceFile, importDeclaration, context.program); }); + var actions; + if (namespaceChanges.length) { + actions = ts.append(actions, codefix.createCodeFixActionWithoutFixAll(fixId, namespaceChanges, ts.Diagnostics.Convert_named_imports_to_namespace_import)); + } + if (typeOnlyChanges.length) { + actions = ts.append(actions, codefix.createCodeFixActionWithoutFixAll(fixId, typeOnlyChanges, ts.Diagnostics.Convert_to_type_only_import)); + } + return actions; + }, + fixIds: [fixId], + }); + function getImportDeclaration(sourceFile, program, start) { + var identifier = ts.tryCast(ts.getTokenAtPosition(sourceFile, start), ts.isIdentifier); + if (!identifier || identifier.parent.kind !== 178 /* TypeReference */) + return; + var checker = program.getTypeChecker(); + var symbol = checker.getSymbolAtLocation(identifier); + return ts.find((symbol === null || symbol === void 0 ? void 0 : symbol.declarations) || ts.emptyArray, ts.or(ts.isImportClause, ts.isImportSpecifier, ts.isImportEqualsDeclaration)); + } + // Converts the import declaration of the offending import to a type-only import, + // only if it can be done without affecting other imported names. If the conversion + // cannot be done cleanly, we could offer to *extract* the offending import to a + // new type-only import declaration, but honestly I doubt anyone will ever use this + // codefix at all, so it's probably not worth the lines of code. + function doTypeOnlyImportChange(changes, sourceFile, importDeclaration, program) { + if (importDeclaration.kind === 265 /* ImportEqualsDeclaration */) { + changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, importDeclaration.name); + return; + } + var importClause = importDeclaration.kind === 267 /* ImportClause */ ? importDeclaration : importDeclaration.parent.parent; + if (importClause.name && importClause.namedBindings) { + // Cannot convert an import with a default import and named bindings to type-only + // (it's a grammar error). + return; + } + var checker = program.getTypeChecker(); + var importsValue = !!ts.forEachImportClauseDeclaration(importClause, function (decl) { + if (ts.skipAlias(decl.symbol, checker).flags & 111551 /* Value */) + return true; + }); + if (importsValue) { + // Assume that if someone wrote a non-type-only import that includes some values, + // they intend to use those values in value positions, even if they haven't yet. + // Don't convert it to type-only. + return; + } + changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, importClause); + } + function doNamespaceImportChange(changes, sourceFile, importDeclaration, program) { + ts.refactor.doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, importDeclaration.parent); + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var codefix; (function (codefix) { @@ -153245,7 +155292,7 @@ var ts; }, }); function changeInferToUnknown(changes, sourceFile, token) { - changes.replaceNode(sourceFile, token.parent, ts.factory.createKeywordTypeNode(154 /* UnknownKeyword */)); + changes.replaceNode(sourceFile, token.parent, ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */)); } function createDeleteFix(changes, diag) { return codefix.createCodeFixAction(fixName, changes, diag, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations); @@ -153255,7 +155302,7 @@ var ts; } function isImport(token) { return token.kind === 100 /* ImportKeyword */ - || token.kind === 79 /* Identifier */ && (token.parent.kind === 269 /* ImportSpecifier */ || token.parent.kind === 266 /* ImportClause */); + || token.kind === 79 /* Identifier */ && (token.parent.kind === 270 /* ImportSpecifier */ || token.parent.kind === 267 /* ImportClause */); } /** Sometimes the diagnostic span is an entire ImportDeclaration, so we should remove the whole thing. */ function tryGetFullImport(token) { @@ -153265,7 +155312,7 @@ var ts; return ts.isVariableDeclarationList(token.parent) && ts.first(token.parent.getChildren(sourceFile)) === token; } function deleteEntireVariableStatement(changes, sourceFile, node) { - changes.delete(sourceFile, node.parent.kind === 236 /* VariableStatement */ ? node.parent : node); + changes.delete(sourceFile, node.parent.kind === 237 /* VariableStatement */ ? node.parent : node); } function deleteDestructuringElements(changes, sourceFile, node) { ts.forEach(node.elements, function (n) { return changes.delete(sourceFile, n); }); @@ -153278,11 +155325,11 @@ var ts; token = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name; } if (ts.isIdentifier(token) && canPrefix(token)) { - changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_".concat(token.text))); + changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_" + token.text)); if (ts.isParameter(token.parent)) { ts.getJSDocParameterTags(token.parent).forEach(function (tag) { if (ts.isIdentifier(tag.name)) { - changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_".concat(tag.name.text))); + changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_" + tag.name.text)); } }); } @@ -153290,14 +155337,14 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 163 /* Parameter */: - case 162 /* TypeParameter */: + case 164 /* Parameter */: + case 163 /* TypeParameter */: return true; - case 253 /* VariableDeclaration */: { + case 254 /* VariableDeclaration */: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { - case 243 /* ForOfStatement */: - case 242 /* ForInStatement */: + case 244 /* ForOfStatement */: + case 243 /* ForInStatement */: return true; } } @@ -153347,8 +155394,8 @@ var ts; function mayDeleteParameter(checker, sourceFile, parameter, sourceFiles, program, cancellationToken, isFixAll) { var parent = parameter.parent; switch (parent.kind) { - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: var index = parent.parameters.indexOf(parameter); var referent = ts.isMethodDeclaration(parent) ? parent.name : parent; var entries = ts.FindAllReferences.Core.getReferencedSymbolsForNode(parent.pos, referent, program, sourceFiles, cancellationToken); @@ -153378,20 +155425,20 @@ var ts; } } return true; - case 255 /* FunctionDeclaration */: { + case 256 /* FunctionDeclaration */: { if (parent.name && isCallbackLike(checker, sourceFile, parent.name)) { return isLastParameter(parent, parameter, isFixAll); } return true; } - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: // Can't remove a non-last parameter in a callback. Can remove a parameter in code-fix-all if future parameters are also unused. return isLastParameter(parent, parameter, isFixAll); - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: // Setter must have a parameter return false; - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: // Getter cannot have parameters return true; default: @@ -153452,7 +155499,7 @@ var ts; var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; if (!ts.isBlock(statement.parent) || statement === ts.first(statement.parent.statements)) { switch (container.kind) { - case 238 /* IfStatement */: + case 239 /* IfStatement */: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { break; @@ -153463,8 +155510,8 @@ var ts; return; } // falls through - case 240 /* WhileStatement */: - case 241 /* ForStatement */: + case 241 /* WhileStatement */: + case 242 /* ForStatement */: changes.delete(sourceFile, container); return; } @@ -153537,7 +155584,7 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 312 /* JSDocNullableType */) { + if (typeNode.kind === 314 /* JSDocNullableType */) { // for nullable types, suggest the flow-compatible `T | null | undefined` // in addition to the jsdoc/closure-compatible `T | null` actions.push(fix(checker.getNullableType(type, 32768 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); @@ -153557,7 +155604,7 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 312 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 32768 /* Undefined */) : type; + var fixedType = typeNode.kind === 314 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 32768 /* Undefined */) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } @@ -153574,22 +155621,22 @@ var ts; // NOTE: Some locations are not handled yet: // MappedTypeNode.typeParameters and SignatureDeclaration.typeParameters, as well as CallExpression.typeArguments switch (node.kind) { - case 228 /* AsExpression */: - case 173 /* CallSignature */: - case 174 /* ConstructSignature */: - case 255 /* FunctionDeclaration */: - case 171 /* GetAccessor */: - case 175 /* IndexSignature */: - case 194 /* MappedType */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 163 /* Parameter */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: - case 172 /* SetAccessor */: - case 258 /* TypeAliasDeclaration */: - case 210 /* TypeAssertionExpression */: - case 253 /* VariableDeclaration */: + case 229 /* AsExpression */: + case 174 /* CallSignature */: + case 175 /* ConstructSignature */: + case 256 /* FunctionDeclaration */: + case 172 /* GetAccessor */: + case 176 /* IndexSignature */: + case 195 /* MappedType */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 164 /* Parameter */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 173 /* SetAccessor */: + case 259 /* TypeAliasDeclaration */: + case 211 /* TypeAssertionExpression */: + case 254 /* VariableDeclaration */: return true; default: return false; @@ -153624,7 +155671,7 @@ var ts; }); } }); function doChange(changes, sourceFile, name) { - changes.replaceNodeWithText(sourceFile, name, "".concat(name.text, "()")); + changes.replaceNodeWithText(sourceFile, name, name.text + "()"); } function getCallName(sourceFile, start) { var token = ts.getTokenAtPosition(sourceFile, start); @@ -153692,14 +155739,14 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: insertBefore = containingFunction.name; break; - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: insertBefore = ts.findChildOfKind(containingFunction, 98 /* FunctionKeyword */, sourceFile); break; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: var kind = containingFunction.typeParameters ? 29 /* LessThanToken */ : 20 /* OpenParenToken */; insertBefore = ts.findChildOfKind(containingFunction, kind, sourceFile) || ts.first(containingFunction.parameters); break; @@ -154035,7 +156082,7 @@ var ts; function annotate(changes, importAdder, sourceFile, declaration, type, program, host) { var typeNode = ts.getTypeNodeIfAccessible(type, declaration, program, host); if (typeNode) { - if (ts.isInJSFile(sourceFile) && declaration.kind !== 165 /* PropertySignature */) { + if (ts.isInJSFile(sourceFile) && declaration.kind !== 166 /* PropertySignature */) { var parent = ts.isVariableDeclaration(declaration) ? ts.tryCast(declaration.parent.parent, ts.isVariableStatement) : declaration; if (!parent) { return; @@ -154122,19 +156169,19 @@ var ts; function getFunctionReferences(containingFunction, sourceFile, program, cancellationToken) { var searchToken; switch (containingFunction.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: searchToken = ts.findChildOfKind(containingFunction, 134 /* ConstructorKeyword */, sourceFile); break; - case 213 /* ArrowFunction */: - case 212 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 213 /* FunctionExpression */: var parent = containingFunction.parent; searchToken = (ts.isVariableDeclaration(parent) || ts.isPropertyDeclaration(parent)) && ts.isIdentifier(parent.name) ? parent.name : containingFunction.name; break; - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: searchToken = containingFunction.name; break; } @@ -154276,24 +156323,24 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: inferTypeFromExpressionStatement(node, usage); break; - case 219 /* PostfixUnaryExpression */: + case 220 /* PostfixUnaryExpression */: usage.isNumber = true; break; - case 218 /* PrefixUnaryExpression */: + case 219 /* PrefixUnaryExpression */: inferTypeFromPrefixUnaryExpression(node.parent, usage); break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: inferTypeFromBinaryExpression(node, node.parent, usage); break; - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: inferTypeFromSwitchStatementLabel(node.parent, usage); break; - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: if (node.parent.expression === node) { inferTypeFromCallExpression(node.parent, usage); } @@ -154301,20 +156348,20 @@ var ts; inferTypeFromContextualType(node, usage); } break; - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: inferTypeFromPropertyAccessExpression(node.parent, usage); break; - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: inferTypeFromPropertyElementExpression(node.parent, node, usage); break; - case 294 /* PropertyAssignment */: - case 295 /* ShorthandPropertyAssignment */: + case 296 /* PropertyAssignment */: + case 297 /* ShorthandPropertyAssignment */: inferTypeFromPropertyAssignment(node.parent, usage); break; - case 166 /* PropertyDeclaration */: + case 167 /* PropertyDeclaration */: inferTypeFromPropertyDeclaration(node.parent, usage); break; - case 253 /* VariableDeclaration */: { + case 254 /* VariableDeclaration */: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. @@ -154436,7 +156483,7 @@ var ts; case 56 /* BarBarToken */: case 60 /* QuestionQuestionToken */: if (node === parent.left && - (node.parent.parent.kind === 253 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { + (node.parent.parent.kind === 254 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { // var x = x || {}; // TODO: use getFalsyflagsOfType addCandidateType(usage, checker.getTypeAtLocation(parent.right)); @@ -154464,7 +156511,7 @@ var ts; } } calculateUsageOfNode(parent, call.return_); - if (parent.kind === 207 /* CallExpression */) { + if (parent.kind === 208 /* CallExpression */) { (usage.calls || (usage.calls = [])).push(call); } else { @@ -154748,7 +156795,7 @@ var ts; var parameters = []; var length = Math.max.apply(Math, calls.map(function (c) { return c.argumentTypes.length; })); var _loop_16 = function (i) { - var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg".concat(i))); + var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg" + i)); symbol.type = combineTypes(calls.map(function (call) { return call.argumentTypes[i] || checker.getUndefinedType(); })); if (calls.some(function (call) { return call.argumentTypes[i] === undefined; })) { symbol.flags |= 16777216 /* Optional */; @@ -154851,7 +156898,7 @@ var ts; codefix.createCodeFixActionWithoutFixAll(fixName, [codefix.createFileTextChanges(sourceFile.fileName, [ ts.createTextChange(sourceFile.checkJsDirective ? ts.createTextSpanFromBounds(sourceFile.checkJsDirective.pos, sourceFile.checkJsDirective.end) - : ts.createTextSpan(0, 0), "// @ts-nocheck".concat(newLineCharacter)), + : ts.createTextSpan(0, 0), "// @ts-nocheck" + newLineCharacter), ])], ts.Diagnostics.Disable_checking_for_this_file), ]; if (ts.textChanges.isValidLocationToAddComment(sourceFile, span.start)) { @@ -154932,11 +156979,11 @@ var ts; var modifiers = visibilityModifier ? ts.factory.createNodeArray([visibilityModifier]) : undefined; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var optional = !!(symbol.flags & 16777216 /* Optional */); - var ambient = !!(enclosingDeclaration.flags & 8388608 /* Ambient */) || isAmbient; + var ambient = !!(enclosingDeclaration.flags & 16777216 /* Ambient */) || isAmbient; var quotePreference = ts.getQuotePreference(sourceFile, preferences); switch (declaration.kind) { - case 165 /* PropertySignature */: - case 166 /* PropertyDeclaration */: + case 166 /* PropertySignature */: + case 167 /* PropertyDeclaration */: var flags = quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : undefined; var typeNode = checker.typeToTypeNode(type, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); if (importAdder) { @@ -154950,8 +156997,8 @@ var ts; /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* Property */) ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: { + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: { var typeNode_1 = checker.typeToTypeNode(type, enclosingDeclaration, /*flags*/ undefined, getNoopSymbolTrackerWithResolver(context)); var allAccessors = ts.getAllAccessorDeclarations(declarations, declaration); var orderedAccessors = allAccessors.secondAccessor @@ -154980,8 +157027,8 @@ var ts; } break; } - case 167 /* MethodSignature */: - case 168 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 169 /* MethodDeclaration */: // The signature for the implementation appears as an entry in `signatures` iff // there is only one signature. // If there are overloads and an implementation signature, it appears as an @@ -155017,7 +157064,7 @@ var ts; break; } function outputMethod(quotePreference, signature, modifiers, name, body) { - var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* Method */), enclosingDeclaration, importAdder); + var method = createSignatureDeclarationFromSignature(169 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* Method */), enclosingDeclaration, importAdder); if (method) addClassElement(method); } @@ -155027,7 +157074,11 @@ var ts; var program = context.program; var checker = program.getTypeChecker(); var scriptTarget = ts.getEmitScriptTarget(program.getCompilerOptions()); - var flags = 1 /* NoTruncation */ | 1073741824 /* NoUndefinedOptionalParameterType */ | 256 /* SuppressAnyReturnType */ | (quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : 0); + var flags = 1 /* NoTruncation */ + | 1073741824 /* NoUndefinedOptionalParameterType */ + | 256 /* SuppressAnyReturnType */ + | 524288 /* AllowEmptyTuple */ + | (quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : 0 /* None */); var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, kind, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); if (!signatureDeclaration) { return undefined; @@ -155054,7 +157105,7 @@ var ts; importSymbols(importAdder, importableReference.symbols); } } - return ts.factory.updateTypeParameterDeclaration(typeParameterDecl, typeParameterDecl.name, constraint, defaultType); + return ts.factory.updateTypeParameterDeclaration(typeParameterDecl, typeParameterDecl.modifiers, typeParameterDecl.name, constraint, defaultType); }); if (typeParameters !== newTypeParameters) { typeParameters = ts.setTextRange(ts.factory.createNodeArray(newTypeParameters, typeParameters.hasTrailingComma), typeParameters); @@ -155117,19 +157168,26 @@ var ts; var typeParameters = isJs || typeArguments === undefined ? undefined : ts.map(typeArguments, function (_, i) { - return ts.factory.createTypeParameterDeclaration(84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T".concat(i)); + return ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, 84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T" + i); }); var parameters = createDummyParameters(args.length, names, types, /*minArgumentCount*/ undefined, isJs); var type = isJs || contextualType === undefined ? undefined : checker.typeToTypeNode(contextualType, contextNode, /*flags*/ undefined, tracker); - if (kind === 168 /* MethodDeclaration */) { - return ts.factory.createMethodDeclaration( - /*decorators*/ undefined, modifiers, asteriskToken, name, - /*questionToken*/ undefined, typeParameters, parameters, type, ts.isInterfaceDeclaration(contextNode) ? undefined : createStubbedMethodBody(quotePreference)); + switch (kind) { + case 169 /* MethodDeclaration */: + return ts.factory.createMethodDeclaration( + /*decorators*/ undefined, modifiers, asteriskToken, name, + /*questionToken*/ undefined, typeParameters, parameters, type, createStubbedMethodBody(quotePreference)); + case 168 /* MethodSignature */: + return ts.factory.createMethodSignature(modifiers, name, + /*questionToken*/ undefined, typeParameters, parameters, type); + case 256 /* FunctionDeclaration */: + return ts.factory.createFunctionDeclaration( + /*decorators*/ undefined, modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); + default: + ts.Debug.fail("Unexpected kind"); } - return ts.factory.createFunctionDeclaration( - /*decorators*/ undefined, modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); } codefix.createSignatureDeclarationFromCallExpression = createSignatureDeclarationFromCallExpression; function typeToAutoImportableTypeNode(checker, importAdder, type, contextNode, scriptTarget, flags, tracker) { @@ -155152,9 +157210,9 @@ var ts; /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, - /*name*/ names && names[i] || "arg".concat(i), + /*name*/ names && names[i] || "arg" + i, /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined, - /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */), + /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */), /*initializer*/ undefined); parameters.push(newParameter); } @@ -155182,11 +157240,10 @@ var ts; var maxArgsParameterSymbolNames = maxArgsSignature.parameters.map(function (symbol) { return symbol.name; }); var parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, /* types */ undefined, minArgumentCount, /*inJs*/ false); if (someSigHasRestParameter) { - var anyArrayType = ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)); var restParameter = ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createToken(25 /* DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", - /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined, anyArrayType, + /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */)), /*initializer*/ undefined); parameters.push(restParameter); } @@ -155403,13 +157460,13 @@ var ts; } var name = declaration.name.text; var startWithUnderscore = ts.startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_".concat(name), file), declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasEffectiveReadonlyModifier(declaration), type: getDeclarationType(declaration, program), - container: declaration.kind === 163 /* Parameter */ ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 164 /* Parameter */ ? declaration.parent.parent : declaration.parent, originalName: declaration.name.text, declaration: declaration, fieldName: fieldName, @@ -155456,7 +157513,7 @@ var ts; } } function insertAccessor(changeTracker, file, accessor, declaration, container) { - ts.isParameterPropertyDeclaration(declaration, declaration.parent) ? changeTracker.insertNodeAtClassStart(file, container, accessor) : + ts.isParameterPropertyDeclaration(declaration, declaration.parent) ? changeTracker.insertMemberAtStart(file, container, accessor) : ts.isPropertyAssignment(declaration) ? changeTracker.insertNodeAfterComma(file, declaration, accessor) : changeTracker.insertNodeAfter(file, declaration, accessor); } @@ -155486,7 +157543,7 @@ var ts; var type = typeChecker.getTypeFromTypeNode(typeNode); if (!typeChecker.isTypeAssignableTo(typeChecker.getUndefinedType(), type)) { var types = ts.isUnionTypeNode(typeNode) ? typeNode.types : [typeNode]; - return ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], types, true), [ts.factory.createKeywordTypeNode(152 /* UndefinedKeyword */)], false)); + return ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], types, true), [ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */)], false)); } } return typeNode; @@ -155545,7 +157602,7 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.This_expression_is_not_callable.code === context.errorCode ? 207 /* CallExpression */ : 208 /* NewExpression */; + var targetKind = ts.Diagnostics.This_expression_is_not_callable.code === context.errorCode ? 208 /* CallExpression */ : 209 /* NewExpression */; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start), function (a) { return a.kind === targetKind; }); if (!node) { return []; @@ -155662,6 +157719,7 @@ var ts; return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_definite_assignment_assertion_to_property_0, info.prop.getText()], fixIdAddDefiniteAssignmentAssertions, ts.Diagnostics.Add_definite_assignment_assertions_to_all_uninitialized_properties); } function addDefiniteAssignmentAssertion(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { + ts.suppressLeadingAndTrailingTrivia(propertyDeclaration); var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, ts.factory.createToken(53 /* ExclamationToken */), propertyDeclaration.type, propertyDeclaration.initializer); changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } @@ -155670,7 +157728,7 @@ var ts; return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_undefined_type_to_property_0, info.prop.name.getText()], fixIdAddUndefinedType, ts.Diagnostics.Add_undefined_type_to_all_uninitialized_properties); } function addUndefinedType(changeTracker, sourceFile, info) { - var undefinedTypeNode = ts.factory.createKeywordTypeNode(152 /* UndefinedKeyword */); + var undefinedTypeNode = ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */); var types = ts.isUnionTypeNode(info.type) ? info.type.types.concat(undefinedTypeNode) : [info.type, undefinedTypeNode]; var unionTypeNode = ts.factory.createUnionTypeNode(types); if (info.isJs) { @@ -155691,6 +157749,7 @@ var ts; return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_initializer_to_property_0, info.prop.name.getText()], fixIdAddInitializer, ts.Diagnostics.Add_initializers_to_all_uninitialized_properties); } function addInitializer(changeTracker, propertyDeclarationSourceFile, propertyDeclaration, initializer) { + ts.suppressLeadingAndTrailingTrivia(propertyDeclaration); var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, propertyDeclaration.questionToken, propertyDeclaration.type, initializer); changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } @@ -155892,7 +157951,7 @@ var ts; function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); ts.Debug.assert(token.kind === 100 /* ImportKeyword */, "This token should be an ImportKeyword"); - ts.Debug.assert(token.parent.kind === 199 /* ImportType */, "Token parent should be an ImportType"); + ts.Debug.assert(token.parent.kind === 200 /* ImportType */, "Token parent should be an ImportType"); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -156020,8 +158079,8 @@ var ts; var members = ts.isInterfaceDeclaration(container) ? container.members : container.type.members; var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); var parameter = ts.first(indexSignature.parameters); - var mappedTypeParameter = ts.factory.createTypeParameterDeclaration(ts.cast(parameter.name, ts.isIdentifier), parameter.type); - var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(144 /* ReadonlyKeyword */) : undefined, mappedTypeParameter, + var mappedTypeParameter = ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.cast(parameter.name, ts.isIdentifier), parameter.type); + var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(145 /* ReadonlyKeyword */) : undefined, mappedTypeParameter, /*nameType*/ undefined, indexSignature.questionToken, indexSignature.type, /*members*/ undefined); var intersectionType = ts.factory.createIntersectionTypeNode(__spreadArray(__spreadArray(__spreadArray([], ts.getAllSuperTypeNodes(container), true), [ @@ -156365,19 +158424,19 @@ var ts; : { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_named_export) }; }; switch (exportNode.kind) { - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 260 /* ModuleDeclaration */: { + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 261 /* ModuleDeclaration */: { var node = exportNode; if (!node.name) return undefined; return noSymbolError(node.name) || { exportNode: node, exportName: node.name, wasDefault: wasDefault, exportingModuleSymbol: exportingModuleSymbol }; } - case 236 /* VariableStatement */: { + case 237 /* VariableStatement */: { var vs = exportNode; // Must be `export const x = something;`. if (!(vs.declarationList.flags & 2 /* Const */) || vs.declarationList.declarations.length !== 1) { @@ -156390,7 +158449,7 @@ var ts; return noSymbolError(decl.name) || { exportNode: vs, exportName: decl.name, wasDefault: wasDefault, exportingModuleSymbol: exportingModuleSymbol }; } - case 270 /* ExportAssignment */: { + case 271 /* ExportAssignment */: { var node = exportNode; if (node.isExportEquals) return undefined; @@ -156420,12 +158479,12 @@ var ts; else { var exportKeyword = ts.Debug.checkDefined(ts.findModifier(exportNode, 93 /* ExportKeyword */), "Should find an export keyword in modifier list"); switch (exportNode.kind) { - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 257 /* InterfaceDeclaration */: + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 258 /* InterfaceDeclaration */: changes.insertNodeAfter(exportingSourceFile, exportKeyword, ts.factory.createToken(88 /* DefaultKeyword */)); break; - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: // If 'x' isn't used in this file and doesn't have type definition, `export const x = 0;` --> `export default 0;` var decl = ts.first(exportNode.declarationList.declarations); if (!ts.FindAllReferences.Core.isSymbolReferencedInFile(exportName, checker, exportingSourceFile) && !decl.type) { @@ -156434,15 +158493,15 @@ var ts; break; } // falls through - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 260 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 261 /* ModuleDeclaration */: // `export type T = number;` -> `type T = number; export default T;` changes.deleteModifier(exportingSourceFile, exportKeyword); changes.insertNodeAfter(exportingSourceFile, exportNode, ts.factory.createExportDefault(ts.factory.createIdentifier(exportName.text))); break; default: - ts.Debug.fail("Unexpected exportNode kind ".concat(exportNode.kind)); + ts.Debug.fail("Unexpected exportNode kind " + exportNode.kind); } } } @@ -156463,18 +158522,18 @@ var ts; function changeDefaultToNamedImport(importingSourceFile, ref, changes, exportName) { var parent = ref.parent; switch (parent.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: // `a.default` --> `a.foo` changes.replaceNode(importingSourceFile, ref, ts.factory.createIdentifier(exportName)); break; - case 269 /* ImportSpecifier */: - case 274 /* ExportSpecifier */: { + case 270 /* ImportSpecifier */: + case 275 /* ExportSpecifier */: { var spec = parent; // `default as foo` --> `foo`, `default as bar` --> `foo as bar` changes.replaceNode(importingSourceFile, spec, makeImportSpecifier(exportName, spec.name.text)); break; } - case 266 /* ImportClause */: { + case 267 /* ImportClause */: { var clause = parent; ts.Debug.assert(clause.name === ref, "Import clause name should match provided ref"); var spec = makeImportSpecifier(exportName, ref.text); @@ -156483,7 +158542,7 @@ var ts; // `import foo from "./a";` --> `import { foo } from "./a";` changes.replaceNode(importingSourceFile, ref, ts.factory.createNamedImports([spec])); } - else if (namedBindings.kind === 267 /* NamespaceImport */) { + else if (namedBindings.kind === 268 /* NamespaceImport */) { // `import foo, * as a from "./a";` --> `import * as a from ".a/"; import { foo } from "./a";` changes.deleteRange(importingSourceFile, { pos: ref.getStart(importingSourceFile), end: namedBindings.getStart(importingSourceFile) }); var quotePreference = ts.isStringLiteral(clause.parent.moduleSpecifier) ? ts.quotePreferenceFromString(clause.parent.moduleSpecifier, importingSourceFile) : 1 /* Double */; @@ -156497,6 +158556,10 @@ var ts; } break; } + case 200 /* ImportType */: + var importTypeNode = parent; + changes.replaceNode(importingSourceFile, parent, ts.factory.createImportTypeNode(importTypeNode.argument, ts.factory.createIdentifier(exportName), importTypeNode.typeArguments, importTypeNode.isTypeOf)); + break; default: ts.Debug.failBadSyntaxKind(parent); } @@ -156504,11 +158567,11 @@ var ts; function changeNamedToDefaultImport(importingSourceFile, ref, changes) { var parent = ref.parent; switch (parent.kind) { - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: // `a.foo` --> `a.default` changes.replaceNode(importingSourceFile, ref, ts.factory.createIdentifier("default")); break; - case 269 /* ImportSpecifier */: { + case 270 /* ImportSpecifier */: { // `import { foo } from "./a";` --> `import foo from "./a";` // `import { foo as bar } from "./a";` --> `import bar from "./a";` var defaultImport = ts.factory.createIdentifier(parent.name.text); @@ -156521,7 +158584,7 @@ var ts; } break; } - case 274 /* ExportSpecifier */: { + case 275 /* ExportSpecifier */: { // `export { foo } from "./a";` --> `export { default as foo } from "./a";` // `export { foo as bar } from "./a";` --> `export { default as bar } from "./a";` // `export { foo as default } from "./a";` --> `export { default } from "./a";` @@ -156530,7 +158593,7 @@ var ts; break; } default: - ts.Debug.assertNever(parent, "Unexpected parent kind ".concat(parent.kind)); + ts.Debug.assertNever(parent, "Unexpected parent kind " + parent.kind); } } function makeImportSpecifier(propertyName, name) { @@ -156611,23 +158674,25 @@ var ts; if (!importClause.namedBindings) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_namespace_import_or_named_imports) }; } - if (importClause.namedBindings.kind === 267 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 268 /* NamespaceImport */) { return { convertTo: 0 /* Named */, import: importClause.namedBindings }; } - var compilerOptions = context.program.getCompilerOptions(); - var shouldUseDefault = ts.getAllowSyntheticDefaultImports(compilerOptions) - && isExportEqualsModule(importClause.parent.moduleSpecifier, context.program.getTypeChecker()); + var shouldUseDefault = getShouldUseDefault(context.program, importClause); return shouldUseDefault ? { convertTo: 1 /* Default */, import: importClause.namedBindings } : { convertTo: 2 /* Namespace */, import: importClause.namedBindings }; } + function getShouldUseDefault(program, importClause) { + return ts.getAllowSyntheticDefaultImports(program.getCompilerOptions()) + && isExportEqualsModule(importClause.parent.moduleSpecifier, program.getTypeChecker()); + } function doChange(sourceFile, program, changes, info) { var checker = program.getTypeChecker(); if (info.convertTo === 0 /* Named */) { doChangeNamespaceToNamed(sourceFile, checker, changes, info.import, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); } else { - doChangeNamedToNamespaceOrDefault(sourceFile, checker, changes, info.import, info.convertTo === 1 /* Default */); + doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, info.import, info.convertTo === 1 /* Default */); } } function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { @@ -156677,7 +158742,9 @@ var ts; function getLeftOfPropertyAccessOrQualifiedName(propertyAccessOrQualifiedName) { return ts.isPropertyAccessExpression(propertyAccessOrQualifiedName) ? propertyAccessOrQualifiedName.expression : propertyAccessOrQualifiedName.left; } - function doChangeNamedToNamespaceOrDefault(sourceFile, checker, changes, toConvert, shouldUseDefault) { + function doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, toConvert, shouldUseDefault) { + if (shouldUseDefault === void 0) { shouldUseDefault = getShouldUseDefault(program, toConvert.parent); } + var checker = program.getTypeChecker(); var importDecl = toConvert.parent.parent; var moduleSpecifier = importDecl.moduleSpecifier; var toConvertSymbols = new ts.Set(); @@ -156738,6 +158805,7 @@ var ts; changes.insertNodeAfter(sourceFile, toConvert.parent.parent, updateImport(importDecl, /*defaultImportName*/ undefined, newNamedImports)); } } + refactor.doChangeNamedToNamespaceOrDefault = doChangeNamedToNamespaceOrDefault; function isExportEqualsModule(moduleSpecifier, checker) { var externalModule = checker.resolveExternalModuleName(moduleSpecifier); if (!externalModule) @@ -157055,27 +159123,27 @@ var ts; var lastDeclaration = signatureDecls[signatureDecls.length - 1]; var updated = lastDeclaration; switch (lastDeclaration.kind) { - case 167 /* MethodSignature */: { + case 168 /* MethodSignature */: { updated = ts.factory.updateMethodSignature(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 168 /* MethodDeclaration */: { + case 169 /* MethodDeclaration */: { updated = ts.factory.updateMethodDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } - case 173 /* CallSignature */: { + case 174 /* CallSignature */: { updated = ts.factory.updateCallSignature(lastDeclaration, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 170 /* Constructor */: { + case 171 /* Constructor */: { updated = ts.factory.updateConstructorDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.body); break; } - case 174 /* ConstructSignature */: { + case 175 /* ConstructSignature */: { updated = ts.factory.updateConstructSignature(lastDeclaration, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 255 /* FunctionDeclaration */: { + case 256 /* FunctionDeclaration */: { updated = ts.factory.updateFunctionDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } @@ -157113,7 +159181,7 @@ var ts; var newComment = ts.displayPartsToString(parameterDocComment); if (newComment.length) { ts.setSyntheticLeadingComments(result, [{ - text: "*\n".concat(newComment.split("\n").map(function (c) { return " * ".concat(c); }).join("\n"), "\n "), + text: "*\n" + newComment.split("\n").map(function (c) { return " * " + c; }).join("\n") + "\n ", kind: 3 /* MultiLineCommentTrivia */, pos: -1, end: -1, @@ -157127,12 +159195,12 @@ var ts; } function isConvertableSignatureDeclaration(d) { switch (d.kind) { - case 167 /* MethodSignature */: - case 168 /* MethodDeclaration */: - case 173 /* CallSignature */: - case 170 /* Constructor */: - case 174 /* ConstructSignature */: - case 255 /* FunctionDeclaration */: + case 168 /* MethodSignature */: + case 169 /* MethodDeclaration */: + case 174 /* CallSignature */: + case 171 /* Constructor */: + case 175 /* ConstructSignature */: + case 256 /* FunctionDeclaration */: return true; } return false; @@ -157258,7 +159326,7 @@ var ts; usedFunctionNames.set(description, true); functionActions.push({ description: description, - name: "function_scope_".concat(i), + name: "function_scope_" + i, kind: extractFunctionAction.kind }); } @@ -157266,7 +159334,7 @@ var ts; else if (!innermostErrorFunctionAction) { innermostErrorFunctionAction = { description: description, - name: "function_scope_".concat(i), + name: "function_scope_" + i, notApplicableReason: getStringError(functionExtraction.errors), kind: extractFunctionAction.kind }; @@ -157282,7 +159350,7 @@ var ts; usedConstantNames.set(description_1, true); constantActions.push({ description: description_1, - name: "constant_scope_".concat(i), + name: "constant_scope_" + i, kind: extractConstantAction.kind }); } @@ -157290,7 +159358,7 @@ var ts; else if (!innermostErrorConstantAction) { innermostErrorConstantAction = { description: description, - name: "constant_scope_".concat(i), + name: "constant_scope_" + i, notApplicableReason: getStringError(constantExtraction.errors), kind: extractConstantAction.kind }; @@ -157432,7 +159500,7 @@ var ts; // cannot find either start or end node return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } - if (start.flags & 4194304 /* JSDoc */) { + if (start.flags & 8388608 /* JSDoc */) { return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractJSDoc)] }; } if (start.parent !== end.parent) { @@ -157521,20 +159589,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 166 /* PropertyDeclaration */) { + if (current.kind === 167 /* PropertyDeclaration */) { if (ts.isStatic(current)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 163 /* Parameter */) { + else if (current.kind === 164 /* Parameter */) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 170 /* Constructor */) { + if (ctorOrMethod.kind === 171 /* Constructor */) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 168 /* MethodDeclaration */) { + else if (current.kind === 169 /* MethodDeclaration */) { if (ts.isStatic(current)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -157555,10 +159623,10 @@ var ts; ts.Debug.assert(nodeToCheck.pos <= nodeToCheck.end, "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (1)"); // For understanding how skipTrivia functioned: ts.Debug.assert(!ts.positionIsSynthesized(nodeToCheck.pos), "This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809 (2)"); - if (!ts.isStatement(nodeToCheck) && !(ts.isExpressionNode(nodeToCheck) && isExtractableExpression(nodeToCheck))) { + if (!ts.isStatement(nodeToCheck) && !(ts.isExpressionNode(nodeToCheck) && isExtractableExpression(nodeToCheck)) && !isStringLiteralJsxAttribute(nodeToCheck)) { return [ts.createDiagnosticForNode(nodeToCheck, Messages.statementOrExpressionExpected)]; } - if (nodeToCheck.flags & 8388608 /* Ambient */) { + if (nodeToCheck.flags & 16777216 /* Ambient */) { return [ts.createDiagnosticForNode(nodeToCheck, Messages.cannotExtractAmbientBlock)]; } // If we're in a class, see whether we're in a static region (static property initializer, static method, class constructor parameter default) @@ -157577,7 +159645,7 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 253 /* VariableDeclaration */) ? node.parent.parent : node; + var declaringNode = (node.kind === 254 /* VariableDeclaration */) ? node.parent.parent : node; if (ts.hasSyntacticModifier(declaringNode, 1 /* Export */)) { // TODO: GH#18217 Silly to use `errors ||` since it's definitely not defined (see top of `visit`) // Also, if we're only pushing one error, just use `let error: Diagnostic | undefined`! @@ -157589,16 +159657,16 @@ var ts; } // Some things can't be extracted in certain situations switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; case 106 /* SuperKeyword */: // For a super *constructor call*, we have to be extracting the entire class, // but a super *method call* simply implies a 'this' reference - if (node.parent.kind === 207 /* CallExpression */) { + if (node.parent.kind === 208 /* CallExpression */) { // Super constructor call var containingClass_1 = ts.getContainingClass(node); if (containingClass_1 === undefined || containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { @@ -157610,7 +159678,7 @@ var ts; rangeFacts |= RangeFacts.UsesThis; } break; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: // check if arrow function uses this ts.forEachChild(node, function check(n) { if (ts.isThis(n)) { @@ -157624,39 +159692,39 @@ var ts; } }); // falls through - case 256 /* ClassDeclaration */: - case 255 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 256 /* FunctionDeclaration */: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { // You cannot extract global declarations (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); } // falls through - case 225 /* ClassExpression */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 170 /* Constructor */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: + case 226 /* ClassExpression */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 171 /* Constructor */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: // do not dive into functions or classes return false; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 238 /* IfStatement */: + case 239 /* IfStatement */: permittedJumps = 0 /* None */; break; - case 251 /* TryStatement */: + case 252 /* TryStatement */: // forbid all jumps inside try blocks permittedJumps = 0 /* None */; break; - case 234 /* Block */: - if (node.parent && node.parent.kind === 251 /* TryStatement */ && node.parent.finallyBlock === node) { + case 235 /* Block */: + if (node.parent && node.parent.kind === 252 /* TryStatement */ && node.parent.finallyBlock === node) { // allow unconditional returns from finally blocks permittedJumps = 4 /* Return */; } break; - case 289 /* DefaultClause */: - case 288 /* CaseClause */: + case 290 /* DefaultClause */: + case 289 /* CaseClause */: // allow unlabeled break inside case clauses permittedJumps |= 1 /* Break */; break; @@ -157668,19 +159736,19 @@ var ts; break; } switch (node.kind) { - case 191 /* ThisType */: + case 192 /* ThisType */: case 108 /* ThisKeyword */: rangeFacts |= RangeFacts.UsesThis; break; - case 249 /* LabeledStatement */: { + case 250 /* LabeledStatement */: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); ts.forEachChild(node, visit); seenLabels.pop(); break; } - case 245 /* BreakStatement */: - case 244 /* ContinueStatement */: { + case 246 /* BreakStatement */: + case 245 /* ContinueStatement */: { var label = node.label; if (label) { if (!ts.contains(seenLabels, label.escapedText)) { @@ -157689,20 +159757,20 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 245 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { + if (!(permittedJumps & (node.kind === 246 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { // attempt to break or continue in a forbidden context (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 217 /* AwaitExpression */: + case 218 /* AwaitExpression */: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 223 /* YieldExpression */: + case 224 /* YieldExpression */: rangeFacts |= RangeFacts.IsGenerator; break; - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: if (permittedJumps & 4 /* Return */) { rangeFacts |= RangeFacts.HasReturn; } @@ -157735,17 +159803,21 @@ var ts; if (ts.isStatement(node)) { return [node]; } - else if (ts.isExpressionNode(node)) { + if (ts.isExpressionNode(node)) { // If our selection is the expression in an ExpressionStatement, expand // the selection to include the enclosing Statement (this stops us // from trying to care about the return value of the extracted function // and eliminates double semicolon insertion in certain scenarios) return ts.isExpressionStatement(node.parent) ? [node.parent] : node; } + if (isStringLiteralJsxAttribute(node)) { + return node; + } return undefined; } function isScope(node) { - return ts.isFunctionLikeDeclaration(node) || ts.isSourceFile(node) || ts.isModuleBlock(node) || ts.isClassLike(node); + return ts.isArrowFunction(node) ? ts.isFunctionBody(node.body) : + ts.isFunctionLikeDeclaration(node) || ts.isSourceFile(node) || ts.isModuleBlock(node) || ts.isClassLike(node); } /** * Computes possible places we could extract the function into. For example, @@ -157768,7 +159840,7 @@ var ts; while (true) { current = current.parent; // A function parameter's initializer is actually in the outer scope, not the function declaration - if (current.kind === 163 /* Parameter */) { + if (current.kind === 164 /* Parameter */) { // Skip all the way to the outer scope of the function that declared this parameter current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } @@ -157779,7 +159851,7 @@ var ts; // * Module/namespace or source file if (isScope(current)) { scopes.push(current); - if (current.kind === 303 /* SourceFile */) { + if (current.kind === 305 /* SourceFile */) { return scopes; } } @@ -157869,33 +159941,33 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 170 /* Constructor */: + case 171 /* Constructor */: return "constructor"; - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: return scope.name - ? "function '".concat(scope.name.text, "'") + ? "function '" + scope.name.text + "'" : ts.ANONYMOUS; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return "arrow function"; - case 168 /* MethodDeclaration */: - return "method '".concat(scope.name.getText(), "'"); - case 171 /* GetAccessor */: - return "'get ".concat(scope.name.getText(), "'"); - case 172 /* SetAccessor */: - return "'set ".concat(scope.name.getText(), "'"); + case 169 /* MethodDeclaration */: + return "method '" + scope.name.getText() + "'"; + case 172 /* GetAccessor */: + return "'get " + scope.name.getText() + "'"; + case 173 /* SetAccessor */: + return "'set " + scope.name.getText() + "'"; default: - throw ts.Debug.assertNever(scope, "Unexpected scope kind ".concat(scope.kind)); + throw ts.Debug.assertNever(scope, "Unexpected scope kind " + scope.kind); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 256 /* ClassDeclaration */ - ? scope.name ? "class '".concat(scope.name.text, "'") : "anonymous class declaration" - : scope.name ? "class expression '".concat(scope.name.text, "'") : "anonymous class expression"; + return scope.kind === 257 /* ClassDeclaration */ + ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" + : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 261 /* ModuleBlock */ - ? "namespace '".concat(scope.parent.name.getText(), "'") + return scope.kind === 262 /* ModuleBlock */ + ? "namespace '" + scope.parent.name.getText() + "'" : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */; } var SpecialScope; @@ -158120,9 +160192,9 @@ var ts; while (ts.isParenthesizedTypeNode(withoutParens)) { withoutParens = withoutParens.type; } - return ts.isUnionTypeNode(withoutParens) && ts.find(withoutParens.types, function (t) { return t.kind === 152 /* UndefinedKeyword */; }) + return ts.isUnionTypeNode(withoutParens) && ts.find(withoutParens.types, function (t) { return t.kind === 153 /* UndefinedKeyword */; }) ? clone - : ts.factory.createUnionTypeNode([clone, ts.factory.createKeywordTypeNode(152 /* UndefinedKeyword */)]); + : ts.factory.createUnionTypeNode([clone, ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */)]); } } /** @@ -158135,7 +160207,9 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted variable var file = scope.getSourceFile(); - var localNameText = ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); + var localNameText = ts.isPropertyAccessExpression(node) && !ts.isClassLike(scope) && !checker.resolveName(node.name.text, node, 111551 /* Value */, /*excludeGlobals*/ false) && !ts.isPrivateIdentifier(node.name) && !ts.isKeyword(node.name.originalKeywordKind) + ? node.name.text + : ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); var isJS = ts.isInJSFile(scope); var variableType = isJS || !checker.isContextSensitive(node) ? undefined @@ -158151,7 +160225,7 @@ var ts; if (rangeFacts & RangeFacts.InStaticRegion) { modifiers.push(ts.factory.createModifier(124 /* StaticKeyword */)); } - modifiers.push(ts.factory.createModifier(144 /* ReadonlyKeyword */)); + modifiers.push(ts.factory.createModifier(145 /* ReadonlyKeyword */)); var newVariable = ts.factory.createPropertyDeclaration( /*decorators*/ undefined, modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); @@ -158183,7 +160257,7 @@ var ts; var localReference = ts.factory.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 237 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 238 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { // If the parent is an expression statement and the target scope is the immediately enclosing one, // replace the statement with the declaration. var newVariableStatement = ts.factory.createVariableStatement( @@ -158202,7 +160276,7 @@ var ts; changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, /*blankLineBetween*/ false); } // Consume - if (node.parent.kind === 237 /* ExpressionStatement */) { + if (node.parent.kind === 238 /* ExpressionStatement */) { // If the parent is an expression statement, delete it. changeTracker.delete(context.file, node.parent); } @@ -158551,7 +160625,7 @@ var ts; // Unfortunately, this code takes advantage of the knowledge that the generated method // will use the contextual type of an expression as the return type of the extracted // method (and will therefore "use" all the types involved). - if (inGenericContext && !isReadonlyArray(targetRange.range)) { + if (inGenericContext && !isReadonlyArray(targetRange.range) && !ts.isJsxAttribute(targetRange.range)) { var contextualType = checker.getContextualType(targetRange.range); // TODO: GH#18217 recordTypeParameterUsages(contextualType); } @@ -158846,37 +160920,41 @@ var ts; function isExtractableExpression(node) { var parent = node.parent; switch (parent.kind) { - case 297 /* EnumMember */: + case 299 /* EnumMember */: return false; } switch (node.kind) { case 10 /* StringLiteral */: - return parent.kind !== 265 /* ImportDeclaration */ && - parent.kind !== 269 /* ImportSpecifier */; - case 224 /* SpreadElement */: - case 200 /* ObjectBindingPattern */: - case 202 /* BindingElement */: + return parent.kind !== 266 /* ImportDeclaration */ && + parent.kind !== 270 /* ImportSpecifier */; + case 225 /* SpreadElement */: + case 201 /* ObjectBindingPattern */: + case 203 /* BindingElement */: return false; case 79 /* Identifier */: - return parent.kind !== 202 /* BindingElement */ && - parent.kind !== 269 /* ImportSpecifier */ && - parent.kind !== 274 /* ExportSpecifier */; + return parent.kind !== 203 /* BindingElement */ && + parent.kind !== 270 /* ImportSpecifier */ && + parent.kind !== 275 /* ExportSpecifier */; } return true; } function isBlockLike(node) { switch (node.kind) { - case 234 /* Block */: - case 303 /* SourceFile */: - case 261 /* ModuleBlock */: - case 288 /* CaseClause */: + case 235 /* Block */: + case 305 /* SourceFile */: + case 262 /* ModuleBlock */: + case 289 /* CaseClause */: return true; default: return false; } } function isInJSXContent(node) { - return (ts.isJsxElement(node) || ts.isJsxSelfClosingElement(node) || ts.isJsxFragment(node)) && (ts.isJsxElement(node.parent) || ts.isJsxFragment(node.parent)); + return isStringLiteralJsxAttribute(node) || + (ts.isJsxElement(node) || ts.isJsxSelfClosingElement(node) || ts.isJsxFragment(node)) && (ts.isJsxElement(node.parent) || ts.isJsxFragment(node.parent)); + } + function isStringLiteralJsxAttribute(node) { + return ts.isStringLiteral(node) && node.parent && ts.isJsxAttribute(node.parent); } })(extractSymbol = refactor.extractSymbol || (refactor.extractSymbol = {})); })(refactor = ts.refactor || (ts.refactor = {})); @@ -159063,7 +161141,7 @@ var ts; var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters; var newTypeNode = ts.factory.createTypeAliasDeclaration( /* decorators */ undefined, - /* modifiers */ undefined, name, typeParameters.map(function (id) { return ts.factory.updateTypeParameterDeclaration(id, id.name, id.constraint, /* defaultType */ undefined); }), selection); + /* modifiers */ undefined, name, typeParameters.map(function (id) { return ts.factory.updateTypeParameterDeclaration(id, id.modifiers, id.name, id.constraint, /* defaultType */ undefined); }), selection); changes.insertNodeBefore(file, firstStatement, ts.ignoreSourceNewlines(newTypeNode), /* blankLineBetween */ true); changes.replaceNode(file, selection, ts.factory.createTypeReferenceNode(name, typeParameters.map(function (id) { return ts.factory.createTypeReferenceNode(id.name, /* typeArguments */ undefined); })), { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude, trailingTriviaOption: ts.textChanges.TrailingTriviaOption.ExcludeWhitespace }); } @@ -159080,11 +161158,12 @@ var ts; } function doTypedefChange(changes, file, name, info) { var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters; + ts.setEmitFlags(selection, 1536 /* NoComments */ | 2048 /* NoNestedComments */); var node = ts.factory.createJSDocTypedefTag(ts.factory.createIdentifier("typedef"), ts.factory.createJSDocTypeExpression(selection), ts.factory.createIdentifier(name)); var templates = []; ts.forEach(typeParameters, function (typeParameter) { var constraint = ts.getEffectiveConstraintOfTypeParameter(typeParameter); - var parameter = ts.factory.createTypeParameterDeclaration(typeParameter.name); + var parameter = ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, typeParameter.name); var template = ts.factory.createJSDocTemplateTag(ts.factory.createIdentifier("template"), constraint && ts.cast(constraint, ts.isJSDocTypeExpression), [parameter]); templates.push(template); }); @@ -159263,11 +161342,11 @@ var ts; } function isPureImport(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return true; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return !ts.hasSyntacticModifier(node, 1 /* Export */); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); default: return false; @@ -159363,15 +161442,15 @@ var ts; } function getNamespaceLikeImport(node) { switch (node.kind) { - case 265 /* ImportDeclaration */: - return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 267 /* NamespaceImport */ ? + case 266 /* ImportDeclaration */: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 268 /* NamespaceImport */ ? node.importClause.namedBindings.name : undefined; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return node.name; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return ts.tryCast(node.name, ts.isIdentifier); default: - return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); + return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind); } } function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { @@ -159399,21 +161478,21 @@ var ts; var newNamespaceId = ts.factory.createIdentifier(newNamespaceName); var newModuleString = ts.factory.createStringLiteral(newModuleSpecifier); switch (node.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: return ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, /*assertClause*/ undefined); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return ts.factory.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, newNamespaceId, ts.factory.createExternalModuleReference(newModuleString)); - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return ts.factory.createVariableDeclaration(newNamespaceId, /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(newModuleString)); default: - return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); + return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind); } } function moduleSpecifierFromImport(i) { - return (i.kind === 265 /* ImportDeclaration */ ? i.moduleSpecifier - : i.kind === 264 /* ImportEqualsDeclaration */ ? i.moduleReference.expression + return (i.kind === 266 /* ImportDeclaration */ ? i.moduleSpecifier + : i.kind === 265 /* ImportEqualsDeclaration */ ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -159483,19 +161562,19 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: if (isUnused(importDecl.name)) { changes.delete(sourceFile, importDecl); } break; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: - ts.Debug.assertNever(importDecl, "Unexpected import decl kind ".concat(importDecl.kind)); + ts.Debug.assertNever(importDecl, "Unexpected import decl kind " + importDecl.kind); } } function deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused) { @@ -159504,7 +161583,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 267 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.length !== 0 && namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 268 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.length !== 0 && namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.delete(sourceFile, importDecl); } @@ -159516,7 +161595,7 @@ var ts; if (namedBindingsUnused) { changes.replaceNode(sourceFile, importDecl.importClause, ts.factory.updateImportClause(importDecl.importClause, importDecl.importClause.isTypeOnly, name, /*namedBindings*/ undefined)); } - else if (namedBindings.kind === 268 /* NamedImports */) { + else if (namedBindings.kind === 269 /* NamedImports */) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -159534,9 +161613,9 @@ var ts; changes.delete(sourceFile, name); } break; - case 201 /* ArrayBindingPattern */: + case 202 /* ArrayBindingPattern */: break; - case 200 /* ObjectBindingPattern */: + case 201 /* ObjectBindingPattern */: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.delete(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -159594,8 +161673,8 @@ var ts; for (var i = 1;; i++) { var name = ts.combinePaths(inDirectory, newModuleName + extension); if (!host.fileExists(name)) - return newModuleName; // TODO: GH#18217 - newModuleName = "".concat(moduleName, ".").concat(i); + return newModuleName; + newModuleName = moduleName + "." + i; } } function getNewModuleName(movedSymbols) { @@ -159666,14 +161745,14 @@ var ts; // Below should all be utilities function isInImport(decl) { switch (decl.kind) { - case 264 /* ImportEqualsDeclaration */: - case 269 /* ImportSpecifier */: - case 266 /* ImportClause */: - case 267 /* NamespaceImport */: + case 265 /* ImportEqualsDeclaration */: + case 270 /* ImportSpecifier */: + case 267 /* ImportClause */: + case 268 /* NamespaceImport */: return true; - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return isVariableDeclarationInImport(decl); - case 202 /* BindingElement */: + case 203 /* BindingElement */: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -159685,7 +161764,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 265 /* ImportDeclaration */: { + case 266 /* ImportDeclaration */: { var clause = i.importClause; if (!clause) return undefined; @@ -159695,18 +161774,18 @@ var ts; ? ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined) : undefined; } - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return keep(i.name) ? i : undefined; - case 253 /* VariableDeclaration */: { + case 254 /* VariableDeclaration */: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } default: - return ts.Debug.assertNever(i, "Unexpected import kind ".concat(i.kind)); + return ts.Debug.assertNever(i, "Unexpected import kind " + i.kind); } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 267 /* NamespaceImport */) { + if (namedBindings.kind === 268 /* NamespaceImport */) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -159718,9 +161797,9 @@ var ts; switch (name.kind) { case 79 /* Identifier */: return keep(name) ? name : undefined; - case 201 /* ArrayBindingPattern */: + case 202 /* ArrayBindingPattern */: return name; - case 200 /* ObjectBindingPattern */: { + case 201 /* ObjectBindingPattern */: { // We can't handle nested destructurings or property names well here, so just copy them all. var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.factory.createObjectBindingPattern(newElements) : undefined; @@ -159777,13 +161856,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 260 /* ModuleDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 257 /* InterfaceDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 261 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 265 /* ImportEqualsDeclaration */: return true; default: return false; @@ -159791,17 +161870,17 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: - case 260 /* ModuleDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 257 /* InterfaceDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: + case 261 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 265 /* ImportEqualsDeclaration */: return cb(statement); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return ts.firstDefined(statement.declarationList.declarations, function (decl) { return forEachTopLevelDeclarationInBindingName(decl.name, cb); }); - case 237 /* ExpressionStatement */: { + case 238 /* ExpressionStatement */: { var expression = statement.expression; return ts.isBinaryExpression(expression) && ts.getAssignmentDeclarationKind(expression) === 1 /* ExportsProperty */ ? cb(statement) @@ -159813,11 +161892,11 @@ var ts; switch (name.kind) { case 79 /* Identifier */: return cb(ts.cast(name.parent, function (x) { return ts.isVariableDeclaration(x) || ts.isBindingElement(x); })); - case 201 /* ArrayBindingPattern */: - case 200 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: return ts.firstDefined(name.elements, function (em) { return ts.isOmittedExpression(em) ? undefined : forEachTopLevelDeclarationInBindingName(em.name, cb); }); default: - return ts.Debug.assertNever(name, "Unexpected name kind ".concat(name.kind)); + return ts.Debug.assertNever(name, "Unexpected name kind " + name.kind); } } function nameOfTopLevelDeclaration(d) { @@ -159825,9 +161904,9 @@ var ts; } function getTopLevelDeclarationStatement(d) { switch (d.kind) { - case 253 /* VariableDeclaration */: + case 254 /* VariableDeclaration */: return d.parent.parent; - case 202 /* BindingElement */: + case 203 /* BindingElement */: return getTopLevelDeclarationStatement(ts.cast(d.parent.parent, function (p) { return ts.isVariableDeclaration(p) || ts.isBindingElement(p); })); default: return d; @@ -159859,26 +161938,26 @@ var ts; function addEs6Export(d) { var modifiers = ts.concatenate([ts.factory.createModifier(93 /* ExportKeyword */)], d.modifiers); switch (d.kind) { - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return ts.factory.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: return ts.factory.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return ts.factory.updateVariableStatement(d, modifiers, d.declarationList); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: return ts.factory.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: return ts.factory.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); - case 258 /* TypeAliasDeclaration */: + case 259 /* TypeAliasDeclaration */: return ts.factory.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); - case 257 /* InterfaceDeclaration */: + case 258 /* InterfaceDeclaration */: return ts.factory.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: return ts.factory.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.isTypeOnly, d.name, d.moduleReference); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - return ts.Debug.assertNever(d, "Unexpected declaration kind ".concat(d.kind)); + return ts.Debug.assertNever(d, "Unexpected declaration kind " + d.kind); } } function addCommonjsExport(decl) { @@ -159886,21 +161965,21 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 255 /* FunctionDeclaration */: - case 256 /* ClassDeclaration */: + case 256 /* FunctionDeclaration */: + case 257 /* ClassDeclaration */: return [decl.name.text]; // TODO: GH#18217 - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); - case 260 /* ModuleDeclaration */: - case 259 /* EnumDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 257 /* InterfaceDeclaration */: - case 264 /* ImportEqualsDeclaration */: + case 261 /* ModuleDeclaration */: + case 260 /* EnumDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 265 /* ImportEqualsDeclaration */: return ts.emptyArray; - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: return ts.Debug.fail("Can't export an ExpressionStatement"); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - return ts.Debug.assertNever(decl, "Unexpected decl kind ".concat(decl.kind)); + return ts.Debug.assertNever(decl, "Unexpected decl kind " + decl.kind); } } /** Creates `exports.x = x;` */ @@ -160238,15 +162317,15 @@ var ts; var parent = functionReference.parent; switch (parent.kind) { // foo(...) or super(...) or new Foo(...) - case 207 /* CallExpression */: - case 208 /* NewExpression */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: var callOrNewExpression = ts.tryCast(parent, ts.isCallOrNewExpression); if (callOrNewExpression && callOrNewExpression.expression === functionReference) { return callOrNewExpression; } break; // x.foo(...) - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: var propertyAccessExpression = ts.tryCast(parent, ts.isPropertyAccessExpression); if (propertyAccessExpression && propertyAccessExpression.parent && propertyAccessExpression.name === functionReference) { var callOrNewExpression_1 = ts.tryCast(propertyAccessExpression.parent, ts.isCallOrNewExpression); @@ -160256,7 +162335,7 @@ var ts; } break; // x["foo"](...) - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: var elementAccessExpression = ts.tryCast(parent, ts.isElementAccessExpression); if (elementAccessExpression && elementAccessExpression.parent && elementAccessExpression.argumentExpression === functionReference) { var callOrNewExpression_2 = ts.tryCast(elementAccessExpression.parent, ts.isCallOrNewExpression); @@ -160275,14 +162354,14 @@ var ts; var parent = reference.parent; switch (parent.kind) { // `C.foo` - case 205 /* PropertyAccessExpression */: + case 206 /* PropertyAccessExpression */: var propertyAccessExpression = ts.tryCast(parent, ts.isPropertyAccessExpression); if (propertyAccessExpression && propertyAccessExpression.expression === reference) { return propertyAccessExpression; } break; // `C["foo"]` - case 206 /* ElementAccessExpression */: + case 207 /* ElementAccessExpression */: var elementAccessExpression = ts.tryCast(parent, ts.isElementAccessExpression); if (elementAccessExpression && elementAccessExpression.expression === reference) { return elementAccessExpression; @@ -160328,16 +162407,16 @@ var ts; if (!isValidParameterNodeArray(functionDeclaration.parameters, checker)) return false; switch (functionDeclaration.kind) { - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: return hasNameOrDefault(functionDeclaration) && isSingleImplementation(functionDeclaration, checker); - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: if (ts.isObjectLiteralExpression(functionDeclaration.parent)) { var contextualSymbol = getSymbolForContextualType(functionDeclaration.name, checker); // don't offer the refactor when there are multiple signatures since we won't know which ones the user wants to change return ((_a = contextualSymbol === null || contextualSymbol === void 0 ? void 0 : contextualSymbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 && isSingleImplementation(functionDeclaration, checker); } return isSingleImplementation(functionDeclaration, checker); - case 170 /* Constructor */: + case 171 /* Constructor */: if (ts.isClassDeclaration(functionDeclaration.parent)) { return hasNameOrDefault(functionDeclaration.parent) && isSingleImplementation(functionDeclaration, checker); } @@ -160345,8 +162424,8 @@ var ts; return isValidVariableDeclaration(functionDeclaration.parent.parent) && isSingleImplementation(functionDeclaration, checker); } - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return isValidVariableDeclaration(functionDeclaration.parent); } return false; @@ -160496,7 +162575,7 @@ var ts; } function getClassNames(constructorDeclaration) { switch (constructorDeclaration.parent.kind) { - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: var classDeclaration = constructorDeclaration.parent; if (classDeclaration.name) return [classDeclaration.name]; @@ -160504,7 +162583,7 @@ var ts; // We validated this in `isValidFunctionDeclaration` through `hasNameOrDefault` var defaultModifier = ts.Debug.checkDefined(ts.findModifier(classDeclaration, 88 /* DefaultKeyword */), "Nameless class declaration should be a default export"); return [defaultModifier]; - case 225 /* ClassExpression */: + case 226 /* ClassExpression */: var classExpression = constructorDeclaration.parent; var variableDeclaration = constructorDeclaration.parent.parent; var className = classExpression.name; @@ -160515,30 +162594,30 @@ var ts; } function getFunctionNames(functionDeclaration) { switch (functionDeclaration.kind) { - case 255 /* FunctionDeclaration */: + case 256 /* FunctionDeclaration */: if (functionDeclaration.name) return [functionDeclaration.name]; // If the function declaration doesn't have a name, it should have a default modifier. // We validated this in `isValidFunctionDeclaration` through `hasNameOrDefault` var defaultModifier = ts.Debug.checkDefined(ts.findModifier(functionDeclaration, 88 /* DefaultKeyword */), "Nameless function declaration should be a default export"); return [defaultModifier]; - case 168 /* MethodDeclaration */: + case 169 /* MethodDeclaration */: return [functionDeclaration.name]; - case 170 /* Constructor */: + case 171 /* Constructor */: var ctrKeyword = ts.Debug.checkDefined(ts.findChildOfKind(functionDeclaration, 134 /* ConstructorKeyword */, functionDeclaration.getSourceFile()), "Constructor declaration should have constructor keyword"); - if (functionDeclaration.parent.kind === 225 /* ClassExpression */) { + if (functionDeclaration.parent.kind === 226 /* ClassExpression */) { var variableDeclaration = functionDeclaration.parent.parent; return [variableDeclaration.name, ctrKeyword]; } return [ctrKeyword]; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: return [functionDeclaration.parent.name]; - case 212 /* FunctionExpression */: + case 213 /* FunctionExpression */: if (functionDeclaration.name) return [functionDeclaration.name, functionDeclaration.parent.name]; return [functionDeclaration.parent.name]; default: - return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind ".concat(functionDeclaration.kind)); + return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind " + functionDeclaration.kind); } } })(convertParamsToDestructuredObject = refactor.convertParamsToDestructuredObject || (refactor.convertParamsToDestructuredObject = {})); @@ -160624,11 +162703,11 @@ var ts; function getParentBinaryExpression(expr) { var container = ts.findAncestor(expr.parent, function (n) { switch (n.kind) { - case 205 /* PropertyAccessExpression */: - case 206 /* ElementAccessExpression */: + case 206 /* PropertyAccessExpression */: + case 207 /* ElementAccessExpression */: return false; - case 222 /* TemplateExpression */: - case 220 /* BinaryExpression */: + case 223 /* TemplateExpression */: + case 221 /* BinaryExpression */: return !(ts.isBinaryExpression(n.parent) && isNotEqualsOperator(n.parent)); default: return "quit"; @@ -160734,7 +162813,7 @@ var ts; var isLastSpan = index === currentNode.templateSpans.length - 1; var text = span.literal.text + (isLastSpan ? subsequentText : ""); var rawText = getRawTextOfTemplate(span.literal) + (isLastSpan ? rawSubsequentText : ""); - return ts.factory.createTemplateSpan(span.expression, isLast + return ts.factory.createTemplateSpan(span.expression, isLast && isLastSpan ? ts.factory.createTemplateTail(text, rawText) : ts.factory.createTemplateMiddle(text, rawText)); }); @@ -161076,10 +163155,10 @@ var ts; } function isConvertibleDeclaration(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: return true; default: return false; @@ -161110,7 +163189,7 @@ var ts; kind === 80 /* PrivateIdentifier */ ? new PrivateIdentifierObject(80 /* PrivateIdentifier */, pos, end) : new TokenObject(kind, pos, end); node.parent = parent; - node.flags = parent.flags & 25358336 /* ContextFlags */; + node.flags = parent.flags & 50720768 /* ContextFlags */; return node; } var NodeObject = /** @class */ (function () { @@ -161181,8 +163260,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 307 /* FirstJSDocNode */ || kid.kind > 345 /* LastJSDocNode */; }); - return child.kind < 160 /* FirstNode */ ? + var child = ts.find(children, function (kid) { return kid.kind < 309 /* FirstJSDocNode */ || kid.kind > 347 /* LastJSDocNode */; }); + return child.kind < 161 /* FirstNode */ ? child : child.getFirstToken(sourceFile); }; @@ -161193,7 +163272,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 160 /* FirstNode */ ? child : child.getLastToken(sourceFile); + return child.kind < 161 /* FirstNode */ ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -161242,7 +163321,7 @@ var ts; var textPos = ts.scanner.getTextPos(); if (textPos <= end) { if (token === 79 /* Identifier */) { - ts.Debug.fail("Did not expect ".concat(ts.Debug.formatSyntaxKind(parent.kind), " to have an Identifier in its trivia")); + ts.Debug.fail("Did not expect " + ts.Debug.formatSyntaxKind(parent.kind) + " to have an Identifier in its trivia"); } nodes.push(createNode(token, pos, textPos, parent)); } @@ -161253,7 +163332,7 @@ var ts; } } function createSyntaxList(nodes, parent) { - var list = createNode(346 /* SyntaxList */, nodes.pos, nodes.end, parent); + var list = createNode(348 /* SyntaxList */, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_2 = nodes; _i < nodes_2.length; _i++) { @@ -161364,12 +163443,12 @@ var ts; }; SymbolObject.prototype.getContextualDocumentationComment = function (context, checker) { switch (context === null || context === void 0 ? void 0 : context.kind) { - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: if (!this.contextualGetAccessorDocumentationComment) { this.contextualGetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isGetAccessor), checker); } return this.contextualGetAccessorDocumentationComment; - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: if (!this.contextualSetAccessorDocumentationComment) { this.contextualSetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isSetAccessor), checker); } @@ -161386,12 +163465,12 @@ var ts; }; SymbolObject.prototype.getContextualJsDocTags = function (context, checker) { switch (context === null || context === void 0 ? void 0 : context.kind) { - case 171 /* GetAccessor */: + case 172 /* GetAccessor */: if (!this.contextualGetAccessorTags) { this.contextualGetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isGetAccessor), checker); } return this.contextualGetAccessorTags; - case 172 /* SetAccessor */: + case 173 /* SetAccessor */: if (!this.contextualSetAccessorTags) { this.contextualSetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isSetAccessor), checker); } @@ -161592,7 +163671,7 @@ var ts; var _a; if (!seenSymbols_1.has(symbol)) { seenSymbols_1.add(symbol); - if (declaration.kind === 171 /* GetAccessor */ || declaration.kind === 172 /* SetAccessor */) { + if (declaration.kind === 172 /* GetAccessor */ || declaration.kind === 173 /* SetAccessor */) { return symbol.getContextualJsDocTags(declaration, checker); } return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 ? symbol.getJsDocTags() : undefined; @@ -161619,7 +163698,7 @@ var ts; var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) { if (!seenSymbols_2.has(symbol)) { seenSymbols_2.add(symbol); - if (declaration.kind === 171 /* GetAccessor */ || declaration.kind === 172 /* SetAccessor */) { + if (declaration.kind === 172 /* GetAccessor */ || declaration.kind === 173 /* SetAccessor */) { return symbol.getContextualDocumentationComment(declaration, checker); } return symbol.getDocumentationComment(checker); @@ -161640,7 +163719,7 @@ var ts; var _a; if (ts.hasStaticModifier(declaration)) return; - var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 170 /* Constructor */ ? declaration.parent.parent : declaration.parent; + var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* Constructor */ ? declaration.parent.parent : declaration.parent; if (!classOrInterfaceDeclaration) return; return ts.firstDefined(ts.getAllSuperTypeNodes(classOrInterfaceDeclaration), function (superTypeNode) { @@ -161652,7 +163731,7 @@ var ts; __extends(SourceFileObject, _super); function SourceFileObject(kind, pos, end) { var _this = _super.call(this, kind, pos, end) || this; - _this.kind = 303 /* SourceFile */; + _this.kind = 305 /* SourceFile */; return _this; } SourceFileObject.prototype.update = function (newText, textChangeRange) { @@ -161711,10 +163790,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 255 /* FunctionDeclaration */: - case 212 /* FunctionExpression */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: + case 256 /* FunctionDeclaration */: + case 213 /* FunctionExpression */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -161734,31 +163813,31 @@ var ts; } ts.forEachChild(node, visit); break; - case 256 /* ClassDeclaration */: - case 225 /* ClassExpression */: - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: - case 259 /* EnumDeclaration */: - case 260 /* ModuleDeclaration */: - case 264 /* ImportEqualsDeclaration */: - case 274 /* ExportSpecifier */: - case 269 /* ImportSpecifier */: - case 266 /* ImportClause */: - case 267 /* NamespaceImport */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 181 /* TypeLiteral */: + case 257 /* ClassDeclaration */: + case 226 /* ClassExpression */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: + case 260 /* EnumDeclaration */: + case 261 /* ModuleDeclaration */: + case 265 /* ImportEqualsDeclaration */: + case 275 /* ExportSpecifier */: + case 270 /* ImportSpecifier */: + case 267 /* ImportClause */: + case 268 /* NamespaceImport */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 182 /* TypeLiteral */: addDeclaration(node); ts.forEachChild(node, visit); break; - case 163 /* Parameter */: + case 164 /* Parameter */: // Only consider parameter properties if (!ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */)) { break; } // falls through - case 253 /* VariableDeclaration */: - case 202 /* BindingElement */: { + case 254 /* VariableDeclaration */: + case 203 /* BindingElement */: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -161769,12 +163848,12 @@ var ts; } } // falls through - case 297 /* EnumMember */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 299 /* EnumMember */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: addDeclaration(node); break; - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: // Handle named exports case e.g.: // export {a, b as B} from "mod"; var exportDeclaration = node; @@ -161787,7 +163866,7 @@ var ts; } } break; - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: var importClause = node.importClause; if (importClause) { // Handle default import case e.g.: @@ -161799,7 +163878,7 @@ var ts; // import * as NS from "mod"; // import {a, b as B} from "mod"; if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 267 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 268 /* NamespaceImport */) { addDeclaration(importClause.namedBindings); } else { @@ -161808,7 +163887,7 @@ var ts; } } break; - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (ts.getAssignmentDeclarationKind(node) !== 0 /* None */) { addDeclaration(node); } @@ -161898,10 +163977,12 @@ var ts; this.fileNameToEntry = new ts.Map(); // Initialize the list with the root file names var rootFileNames = host.getScriptFileNames(); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("session" /* Session */, "initializeHostCache", { count: rootFileNames.length }); for (var _i = 0, rootFileNames_1 = rootFileNames; _i < rootFileNames_1.length; _i++) { var fileName = rootFileNames_1[_i]; this.createEntry(fileName, ts.toPath(fileName, this.currentDirectory, getCanonicalFileName)); } + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } HostCache.prototype.createEntry = function (fileName, path) { var entry; @@ -161954,6 +164035,7 @@ var ts; this.host = host; } SyntaxTreeCache.prototype.getCurrentSourceFile = function (fileName) { + var _a, _b, _c, _d, _e, _f, _g, _h; var scriptSnapshot = this.host.getScriptSnapshot(fileName); if (!scriptSnapshot) { // The host does not know about this file. @@ -161964,7 +164046,12 @@ var ts; var sourceFile; if (this.currentFileName !== fileName) { // This is a new file, just parse it - sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, 99 /* Latest */, version, /*setNodeParents*/ true, scriptKind); + var options = { + languageVersion: 99 /* Latest */, + impliedNodeFormat: ts.getImpliedNodeFormatForFile(ts.toPath(fileName, this.host.getCurrentDirectory(), ((_c = (_b = (_a = this.host).getCompilerHost) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.getCanonicalFileName) || ts.hostGetCanonicalFileName(this.host)), (_h = (_g = (_f = (_e = (_d = this.host).getCompilerHost) === null || _e === void 0 ? void 0 : _e.call(_d)) === null || _f === void 0 ? void 0 : _f.getModuleResolutionCache) === null || _g === void 0 ? void 0 : _g.call(_f)) === null || _h === void 0 ? void 0 : _h.getPackageJsonInfoCache(), this.host, this.host.getCompilationSettings()), + setExternalModuleIndicator: ts.getSetExternalModuleIndicator(this.host.getCompilationSettings()) + }; + sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, options, version, /*setNodeParents*/ true, scriptKind); } else if (this.currentFileVersion !== version) { // This is the same file, just a newer version. Incrementally parse the file. @@ -161986,8 +164073,8 @@ var ts; sourceFile.version = version; sourceFile.scriptSnapshot = scriptSnapshot; } - function createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, setNodeParents, scriptKind) { - var sourceFile = ts.createSourceFile(fileName, ts.getSnapshotText(scriptSnapshot), scriptTarget, setNodeParents, scriptKind); + function createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTargetOrOptions, version, setNodeParents, scriptKind) { + var sourceFile = ts.createSourceFile(fileName, ts.getSnapshotText(scriptSnapshot), scriptTargetOrOptions, setNodeParents, scriptKind); setSourceFileFields(sourceFile, scriptSnapshot, version); return sourceFile; } @@ -162035,8 +164122,13 @@ var ts; return newSourceFile; } } + var options = { + languageVersion: sourceFile.languageVersion, + impliedNodeFormat: sourceFile.impliedNodeFormat, + setExternalModuleIndicator: sourceFile.setExternalModuleIndicator, + }; // Otherwise, just create a new source file. - return createLanguageServiceSourceFile(sourceFile.fileName, scriptSnapshot, sourceFile.languageVersion, version, /*setNodeParents*/ true, sourceFile.scriptKind); + return createLanguageServiceSourceFile(sourceFile.fileName, scriptSnapshot, options, version, /*setNodeParents*/ true, sourceFile.scriptKind); } ts.updateLanguageServiceSourceFile = updateLanguageServiceSourceFile; var NoopCancellationToken = { @@ -162172,7 +164264,7 @@ var ts; function getValidSourceFile(fileName) { var sourceFile = program.getSourceFile(fileName); if (!sourceFile) { - var error = new Error("Could not find source file: '".concat(fileName, "'.")); + var error = new Error("Could not find source file: '" + fileName + "'."); // We've been having trouble debugging this, so attach sidecar data for the tsserver log. // See https://github.com/microsoft/TypeScript/issues/30180. error.ProgramFiles = program.getSourceFiles().map(function (f) { return f.fileName; }); @@ -162380,7 +164472,7 @@ var ts; // file's script kind, i.e. in one project some file is treated as ".ts" // and in another as ".js" if (hostFileInformation.scriptKind === oldSourceFile.scriptKind) { - return documentRegistry.updateDocumentWithKey(fileName, path, newSettings, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); + return documentRegistry.updateDocumentWithKey(fileName, path, host, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); } else { // Release old source file and fall through to aquire new file with new script kind @@ -162390,7 +164482,7 @@ var ts; // We didn't already have the file. Fall through and acquire it from the registry. } // Could not find this file in the old program, create a new SourceFile for it. - return documentRegistry.acquireDocumentWithKey(fileName, path, newSettings, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); + return documentRegistry.acquireDocumentWithKey(fileName, path, host, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); } } // TODO: GH#18217 frequently asserted as defined @@ -162509,21 +164601,26 @@ var ts; if (ts.isNamedTupleMember(node.parent) && node.pos === node.parent.pos) { return node.parent; } + if (ts.isImportMeta(node.parent) && node.parent.name === node) { + return node.parent; + } return node; } function shouldGetType(sourceFile, node, position) { switch (node.kind) { case 79 /* Identifier */: return !ts.isLabelName(node) && !ts.isTagName(node) && !ts.isConstTypeReference(node.parent); - case 205 /* PropertyAccessExpression */: - case 160 /* QualifiedName */: + case 206 /* PropertyAccessExpression */: + case 161 /* QualifiedName */: // Don't return quickInfo if inside the comment in `a/**/.b` return !ts.isInComment(sourceFile, position); case 108 /* ThisKeyword */: - case 191 /* ThisType */: + case 192 /* ThisType */: case 106 /* SuperKeyword */: - case 196 /* NamedTupleMember */: + case 197 /* NamedTupleMember */: return true; + case 231 /* MetaProperty */: + return ts.isImportMeta(node); default: return false; } @@ -162548,7 +164645,7 @@ var ts; } /// References and Occurrences function getOccurrencesAtPosition(fileName, position) { - return ts.flatMap(getDocumentHighlights(fileName, position, [fileName]), function (entry) { return entry.highlightSpans.map(function (highlightSpan) { return (__assign(__assign({ fileName: entry.fileName, textSpan: highlightSpan.textSpan, isWriteAccess: highlightSpan.kind === "writtenReference" /* writtenReference */, isDefinition: false }, highlightSpan.isInString && { isInString: true }), highlightSpan.contextSpan && { contextSpan: highlightSpan.contextSpan })); }); }); + return ts.flatMap(getDocumentHighlights(fileName, position, [fileName]), function (entry) { return entry.highlightSpans.map(function (highlightSpan) { return (__assign(__assign({ fileName: entry.fileName, textSpan: highlightSpan.textSpan, isWriteAccess: highlightSpan.kind === "writtenReference" /* writtenReference */ }, highlightSpan.isInString && { isInString: true }), highlightSpan.contextSpan && { contextSpan: highlightSpan.contextSpan })); }); }); } function getDocumentHighlights(fileName, position, filesToSearch) { var normalizedFileName = ts.normalizePath(fileName); @@ -162577,7 +164674,7 @@ var ts; } function getReferencesAtPosition(fileName, position) { synchronizeHostData(); - return getReferencesWorker(ts.getTouchingPropertyName(getValidSourceFile(fileName), position), position, { use: 1 /* References */ }, function (entry, node, checker) { return ts.FindAllReferences.toReferenceEntry(entry, checker.getSymbolAtLocation(node)); }); + return getReferencesWorker(ts.getTouchingPropertyName(getValidSourceFile(fileName), position), position, { use: 1 /* References */ }, ts.FindAllReferences.toReferenceEntry); } function getReferencesWorker(node, position, options, cb) { synchronizeHostData(); @@ -162592,10 +164689,8 @@ var ts; return ts.FindAllReferences.findReferencedSymbols(program, cancellationToken, program.getSourceFiles(), getValidSourceFile(fileName), position); } function getFileReferences(fileName) { - var _a; synchronizeHostData(); - var moduleSymbol = (_a = program.getSourceFile(fileName)) === null || _a === void 0 ? void 0 : _a.symbol; - return ts.FindAllReferences.Core.getReferencesForFileName(fileName, program, program.getSourceFiles()).map(function (r) { return ts.FindAllReferences.toReferenceEntry(r, moduleSymbol); }); + return ts.FindAllReferences.Core.getReferencesForFileName(fileName, program, program.getSourceFiles()).map(ts.FindAllReferences.toReferenceEntry); } function getNavigateToItems(searchValue, maxResultCount, fileName, excludeDtsFiles) { if (excludeDtsFiles === void 0) { excludeDtsFiles = false; } @@ -162631,15 +164726,15 @@ var ts; return undefined; } switch (node.kind) { - case 205 /* PropertyAccessExpression */: - case 160 /* QualifiedName */: + case 206 /* PropertyAccessExpression */: + case 161 /* QualifiedName */: case 10 /* StringLiteral */: case 95 /* FalseKeyword */: case 110 /* TrueKeyword */: case 104 /* NullKeyword */: case 106 /* SuperKeyword */: case 108 /* ThisKeyword */: - case 191 /* ThisType */: + case 192 /* ThisType */: case 79 /* Identifier */: break; // Cant create the text span @@ -162656,7 +164751,7 @@ var ts; // If this is name of a module declarations, check if this is right side of dotted module name // If parent of the module declaration which is parent of this node is module declaration and its body is the module declaration that this node is name of // Then this name is name from dotted module - if (nodeForStartPos.parent.parent.kind === 260 /* ModuleDeclaration */ && + if (nodeForStartPos.parent.parent.kind === 261 /* ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { // Use parent module declarations name for start pos nodeForStartPos = nodeForStartPos.parent.parent.name; @@ -162848,7 +164943,7 @@ var ts; var element = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent : ts.isJsxText(token) && ts.isJsxElement(token.parent) ? token.parent : undefined; if (element && isUnclosedTag(element)) { - return { newText: "") }; + return { newText: "" }; } var fragment = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningFragment(token.parent) ? token.parent.parent : ts.isJsxText(token) && ts.isJsxFragment(token.parent) ? token.parent : undefined; @@ -162954,7 +165049,7 @@ var ts; pos = commentRange.end + 1; } else { // If it's not in a comment range, then we need to comment the uncommented portions. - var newPos = text.substring(pos, textRange.end).search("(".concat(openMultilineRegex, ")|(").concat(closeMultilineRegex, ")")); + var newPos = text.substring(pos, textRange.end).search("(" + openMultilineRegex + ")|(" + closeMultilineRegex + ")"); isCommenting = insertComment !== undefined ? insertComment : isCommenting || !ts.isTextWhiteSpaceLike(text, pos, newPos === -1 ? textRange.end : pos + newPos); // If isCommenting is already true we don't need to check whitespace again. @@ -163068,7 +165163,7 @@ var ts; } function isUnclosedFragment(_a) { var closingFragment = _a.closingFragment, parent = _a.parent; - return !!(closingFragment.flags & 65536 /* ThisNodeHasError */) || (ts.isJsxFragment(parent) && isUnclosedFragment(parent)); + return !!(closingFragment.flags & 131072 /* ThisNodeHasError */) || (ts.isJsxFragment(parent) && isUnclosedFragment(parent)); } function getSpanOfEnclosingComment(fileName, position, onlyMultiLine) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); @@ -163349,14 +165444,14 @@ var ts; case ts.LanguageServiceMode.PartialSemantic: invalidOperationsInPartialSemanticMode.forEach(function (key) { return ls[key] = function () { - throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.PartialSemantic")); + throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.PartialSemantic"); }; }); break; case ts.LanguageServiceMode.Syntactic: invalidOperationsInSyntacticMode.forEach(function (key) { return ls[key] = function () { - throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.Syntactic")); + throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.Syntactic"); }; }); break; @@ -163403,7 +165498,7 @@ var ts; */ function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 276 /* ExternalModuleReference */ || + node.parent.kind === 277 /* ExternalModuleReference */ || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -163421,13 +165516,13 @@ var ts; case 10 /* StringLiteral */: case 14 /* NoSubstitutionTemplateLiteral */: case 8 /* NumericLiteral */: - if (node.parent.kind === 161 /* ComputedPropertyName */) { + if (node.parent.kind === 162 /* ComputedPropertyName */) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } // falls through case 79 /* Identifier */: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 204 /* ObjectLiteralExpression */ || node.parent.parent.kind === 285 /* JsxAttributes */) && + (node.parent.parent.kind === 205 /* ObjectLiteralExpression */ || node.parent.parent.kind === 286 /* JsxAttributes */) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -163469,7 +165564,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 206 /* ElementAccessExpression */ && + node.parent.kind === 207 /* ElementAccessExpression */ && node.parent.argumentExpression === node; } /** @@ -163516,7 +165611,7 @@ var ts; tokenAtLocation = preceding; } // Cannot set breakpoint in ambient declarations - if (tokenAtLocation.flags & 8388608 /* Ambient */) { + if (tokenAtLocation.flags & 16777216 /* Ambient */) { return undefined; } // Get the span in the node based on its syntax @@ -163549,114 +165644,114 @@ var ts; if (node) { var parent = node.parent; switch (node.kind) { - case 236 /* VariableStatement */: + case 237 /* VariableStatement */: // Span on first variable declaration return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 253 /* VariableDeclaration */: - case 166 /* PropertyDeclaration */: - case 165 /* PropertySignature */: + case 254 /* VariableDeclaration */: + case 167 /* PropertyDeclaration */: + case 166 /* PropertySignature */: return spanInVariableDeclaration(node); - case 163 /* Parameter */: + case 164 /* Parameter */: return spanInParameterDeclaration(node); - case 255 /* FunctionDeclaration */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 170 /* Constructor */: - case 212 /* FunctionExpression */: - case 213 /* ArrowFunction */: + case 256 /* FunctionDeclaration */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 171 /* Constructor */: + case 213 /* FunctionExpression */: + case 214 /* ArrowFunction */: return spanInFunctionDeclaration(node); - case 234 /* Block */: + case 235 /* Block */: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } // falls through - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: return spanInBlock(node); - case 291 /* CatchClause */: + case 292 /* CatchClause */: return spanInBlock(node.block); - case 237 /* ExpressionStatement */: + case 238 /* ExpressionStatement */: // span on the expression return textSpan(node.expression); - case 246 /* ReturnStatement */: + case 247 /* ReturnStatement */: // span on return keyword and expression if present return textSpan(node.getChildAt(0), node.expression); - case 240 /* WhileStatement */: + case 241 /* WhileStatement */: // Span on while(...) return textSpanEndingAtNextToken(node, node.expression); - case 239 /* DoStatement */: + case 240 /* DoStatement */: // span in statement of the do statement return spanInNode(node.statement); - case 252 /* DebuggerStatement */: + case 253 /* DebuggerStatement */: // span on debugger keyword return textSpan(node.getChildAt(0)); - case 238 /* IfStatement */: + case 239 /* IfStatement */: // set on if(..) span return textSpanEndingAtNextToken(node, node.expression); - case 249 /* LabeledStatement */: + case 250 /* LabeledStatement */: // span in statement return spanInNode(node.statement); - case 245 /* BreakStatement */: - case 244 /* ContinueStatement */: + case 246 /* BreakStatement */: + case 245 /* ContinueStatement */: // On break or continue keyword and label if present return textSpan(node.getChildAt(0), node.label); - case 241 /* ForStatement */: + case 242 /* ForStatement */: return spanInForStatement(node); - case 242 /* ForInStatement */: + case 243 /* ForInStatement */: // span of for (a in ...) return textSpanEndingAtNextToken(node, node.expression); - case 243 /* ForOfStatement */: + case 244 /* ForOfStatement */: // span in initializer return spanInInitializerOfForLike(node); - case 248 /* SwitchStatement */: + case 249 /* SwitchStatement */: // span on switch(...) return textSpanEndingAtNextToken(node, node.expression); - case 288 /* CaseClause */: - case 289 /* DefaultClause */: + case 289 /* CaseClause */: + case 290 /* DefaultClause */: // span in first statement of the clause return spanInNode(node.statements[0]); - case 251 /* TryStatement */: + case 252 /* TryStatement */: // span in try block return spanInBlock(node.tryBlock); - case 250 /* ThrowStatement */: + case 251 /* ThrowStatement */: // span in throw ... return textSpan(node, node.expression); - case 270 /* ExportAssignment */: + case 271 /* ExportAssignment */: // span on export = id return textSpan(node, node.expression); - case 264 /* ImportEqualsDeclaration */: + case 265 /* ImportEqualsDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleReference); - case 265 /* ImportDeclaration */: + case 266 /* ImportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 271 /* ExportDeclaration */: + case 272 /* ExportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: // span on complete module if it is instantiated if (ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { return undefined; } // falls through - case 256 /* ClassDeclaration */: - case 259 /* EnumDeclaration */: - case 297 /* EnumMember */: - case 202 /* BindingElement */: + case 257 /* ClassDeclaration */: + case 260 /* EnumDeclaration */: + case 299 /* EnumMember */: + case 203 /* BindingElement */: // span on complete node return textSpan(node); - case 247 /* WithStatement */: + case 248 /* WithStatement */: // span in statement return spanInNode(node.statement); - case 164 /* Decorator */: + case 165 /* Decorator */: return spanInNodeArray(parent.decorators); - case 200 /* ObjectBindingPattern */: - case 201 /* ArrayBindingPattern */: + case 201 /* ObjectBindingPattern */: + case 202 /* ArrayBindingPattern */: return spanInBindingPattern(node); // No breakpoint in interface, type alias - case 257 /* InterfaceDeclaration */: - case 258 /* TypeAliasDeclaration */: + case 258 /* InterfaceDeclaration */: + case 259 /* TypeAliasDeclaration */: return undefined; // Tokens: case 26 /* SemicolonToken */: @@ -163686,7 +165781,7 @@ var ts; case 83 /* CatchKeyword */: case 96 /* FinallyKeyword */: return spanInNextNode(node); - case 159 /* OfKeyword */: + case 160 /* OfKeyword */: return spanInOfKeyword(node); default: // Destructuring pattern in destructuring assignment @@ -163699,13 +165794,13 @@ var ts; // `a` or `...c` or `d: x` from // `[a, b, ...c]` or `{ a, b }` or `{ d: x }` from destructuring pattern if ((node.kind === 79 /* Identifier */ || - node.kind === 224 /* SpreadElement */ || - node.kind === 294 /* PropertyAssignment */ || - node.kind === 295 /* ShorthandPropertyAssignment */) && + node.kind === 225 /* SpreadElement */ || + node.kind === 296 /* PropertyAssignment */ || + node.kind === 297 /* ShorthandPropertyAssignment */) && ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 220 /* BinaryExpression */) { + if (node.kind === 221 /* BinaryExpression */) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; // Set breakpoint in destructuring pattern if its destructuring assignment // [a, b, c] or {a, b, c} of @@ -163727,22 +165822,22 @@ var ts; } if (ts.isExpressionNode(node)) { switch (parent.kind) { - case 239 /* DoStatement */: + case 240 /* DoStatement */: // Set span as if on while keyword return spanInPreviousNode(node); - case 164 /* Decorator */: + case 165 /* Decorator */: // Set breakpoint on the decorator emit return spanInNode(node.parent); - case 241 /* ForStatement */: - case 243 /* ForOfStatement */: + case 242 /* ForStatement */: + case 244 /* ForOfStatement */: return textSpan(node); - case 220 /* BinaryExpression */: + case 221 /* BinaryExpression */: if (node.parent.operatorToken.kind === 27 /* CommaToken */) { // If this is a comma expression, the breakpoint is possible in this expression return textSpan(node); } break; - case 213 /* ArrowFunction */: + case 214 /* ArrowFunction */: if (node.parent.body === node) { // If this is body of arrow function, it is allowed to have the breakpoint return textSpan(node); @@ -163751,21 +165846,21 @@ var ts; } } switch (node.parent.kind) { - case 294 /* PropertyAssignment */: + case 296 /* PropertyAssignment */: // If this is name of property assignment, set breakpoint in the initializer if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 210 /* TypeAssertionExpression */: + case 211 /* TypeAssertionExpression */: // Breakpoint in type assertion goes to its operand if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 253 /* VariableDeclaration */: - case 163 /* Parameter */: { + case 254 /* VariableDeclaration */: + case 164 /* Parameter */: { // initializer of variable/parameter declaration go to previous node var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { @@ -163773,7 +165868,7 @@ var ts; } break; } - case 220 /* BinaryExpression */: { + case 221 /* BinaryExpression */: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { // If initializer of destructuring assignment move to previous token @@ -163803,7 +165898,7 @@ var ts; } function spanInVariableDeclaration(variableDeclaration) { // If declaration of for in statement, just set the span in parent - if (variableDeclaration.parent.parent.kind === 242 /* ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 243 /* ForInStatement */) { return spanInNode(variableDeclaration.parent.parent); } var parent = variableDeclaration.parent; @@ -163815,7 +165910,7 @@ var ts; // or its declaration from 'for of' if (variableDeclaration.initializer || ts.hasSyntacticModifier(variableDeclaration, 1 /* Export */) || - parent.parent.kind === 243 /* ForOfStatement */) { + parent.parent.kind === 244 /* ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -163856,7 +165951,7 @@ var ts; } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { return ts.hasSyntacticModifier(functionDeclaration, 1 /* Export */) || - (functionDeclaration.parent.kind === 256 /* ClassDeclaration */ && functionDeclaration.kind !== 170 /* Constructor */); + (functionDeclaration.parent.kind === 257 /* ClassDeclaration */ && functionDeclaration.kind !== 171 /* Constructor */); } function spanInFunctionDeclaration(functionDeclaration) { // No breakpoints in the function signature @@ -163879,26 +165974,26 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 260 /* ModuleDeclaration */: + case 261 /* ModuleDeclaration */: if (ts.getModuleInstanceState(block.parent) !== 1 /* Instantiated */) { return undefined; } // Set on parent if on same line otherwise on first statement // falls through - case 240 /* WhileStatement */: - case 238 /* IfStatement */: - case 242 /* ForInStatement */: + case 241 /* WhileStatement */: + case 239 /* IfStatement */: + case 243 /* ForInStatement */: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); // Set span on previous token if it starts on same line otherwise on the first statement of the block - case 241 /* ForStatement */: - case 243 /* ForOfStatement */: + case 242 /* ForStatement */: + case 244 /* ForOfStatement */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } // Default action is to set on first statement return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 254 /* VariableDeclarationList */) { + if (forLikeStatement.initializer.kind === 255 /* VariableDeclarationList */) { // Declaration list - set breakpoint in first declaration var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { @@ -163923,21 +166018,21 @@ var ts; } function spanInBindingPattern(bindingPattern) { // Set breakpoint in first binding element - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 226 /* OmittedExpression */ ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 227 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } // Empty binding pattern of binding element, set breakpoint on binding element - if (bindingPattern.parent.kind === 202 /* BindingElement */) { + if (bindingPattern.parent.kind === 203 /* BindingElement */) { return textSpan(bindingPattern.parent); } // Variable declaration is used as the span return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 201 /* ArrayBindingPattern */ && node.kind !== 200 /* ObjectBindingPattern */); - var elements = node.kind === 203 /* ArrayLiteralExpression */ ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 226 /* OmittedExpression */ ? element : undefined; }); + ts.Debug.assert(node.kind !== 202 /* ArrayBindingPattern */ && node.kind !== 201 /* ObjectBindingPattern */); + var elements = node.kind === 204 /* ArrayLiteralExpression */ ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 227 /* OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } @@ -163945,18 +166040,18 @@ var ts; // just nested element in another destructuring assignment // set breakpoint on assignment when parent is destructuring assignment // Otherwise set breakpoint for this element - return textSpan(node.parent.kind === 220 /* BinaryExpression */ ? node.parent : node); + return textSpan(node.parent.kind === 221 /* BinaryExpression */ ? node.parent : node); } // Tokens: function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 259 /* EnumDeclaration */: + case 260 /* EnumDeclaration */: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 256 /* ClassDeclaration */: + case 257 /* ClassDeclaration */: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } // Default to parent node @@ -163964,25 +166059,25 @@ var ts; } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 261 /* ModuleBlock */: + case 262 /* ModuleBlock */: // If this is not an instantiated module block, no bp span if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* Instantiated */) { return undefined; } // falls through - case 259 /* EnumDeclaration */: - case 256 /* ClassDeclaration */: + case 260 /* EnumDeclaration */: + case 257 /* ClassDeclaration */: // Span on close brace token return textSpan(node); - case 234 /* Block */: + case 235 /* Block */: if (ts.isFunctionBlock(node.parent)) { // Span on close brace token return textSpan(node); } // falls through - case 291 /* CatchClause */: + case 292 /* CatchClause */: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 262 /* CaseBlock */: + case 263 /* CaseBlock */: // breakpoint in last statement of the last clause var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); @@ -163990,7 +166085,7 @@ var ts; return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 200 /* ObjectBindingPattern */: + case 201 /* ObjectBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -164006,7 +166101,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 201 /* ArrayBindingPattern */: + case 202 /* ArrayBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -164021,12 +166116,12 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 239 /* DoStatement */ || // Go to while keyword and do action instead - node.parent.kind === 207 /* CallExpression */ || - node.parent.kind === 208 /* NewExpression */) { + if (node.parent.kind === 240 /* DoStatement */ || // Go to while keyword and do action instead + node.parent.kind === 208 /* CallExpression */ || + node.parent.kind === 209 /* NewExpression */) { return spanInPreviousNode(node); } - if (node.parent.kind === 211 /* ParenthesizedExpression */) { + if (node.parent.kind === 212 /* ParenthesizedExpression */) { return spanInNextNode(node); } // Default to parent node @@ -164035,21 +166130,21 @@ var ts; function spanInCloseParenToken(node) { // Is this close paren token of parameter list, set span in previous token switch (node.parent.kind) { - case 212 /* FunctionExpression */: - case 255 /* FunctionDeclaration */: - case 213 /* ArrowFunction */: - case 168 /* MethodDeclaration */: - case 167 /* MethodSignature */: - case 171 /* GetAccessor */: - case 172 /* SetAccessor */: - case 170 /* Constructor */: - case 240 /* WhileStatement */: - case 239 /* DoStatement */: - case 241 /* ForStatement */: - case 243 /* ForOfStatement */: - case 207 /* CallExpression */: - case 208 /* NewExpression */: - case 211 /* ParenthesizedExpression */: + case 213 /* FunctionExpression */: + case 256 /* FunctionDeclaration */: + case 214 /* ArrowFunction */: + case 169 /* MethodDeclaration */: + case 168 /* MethodSignature */: + case 172 /* GetAccessor */: + case 173 /* SetAccessor */: + case 171 /* Constructor */: + case 241 /* WhileStatement */: + case 240 /* DoStatement */: + case 242 /* ForStatement */: + case 244 /* ForOfStatement */: + case 208 /* CallExpression */: + case 209 /* NewExpression */: + case 212 /* ParenthesizedExpression */: return spanInPreviousNode(node); // Default to parent node default: @@ -164059,20 +166154,20 @@ var ts; function spanInColonToken(node) { // Is this : specifying return annotation of the function declaration if (ts.isFunctionLike(node.parent) || - node.parent.kind === 294 /* PropertyAssignment */ || - node.parent.kind === 163 /* Parameter */) { + node.parent.kind === 296 /* PropertyAssignment */ || + node.parent.kind === 164 /* Parameter */) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 210 /* TypeAssertionExpression */) { + if (node.parent.kind === 211 /* TypeAssertionExpression */) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 239 /* DoStatement */) { + if (node.parent.kind === 240 /* DoStatement */) { // Set span on while expression return textSpanEndingAtNextToken(node, node.parent.expression); } @@ -164080,7 +166175,7 @@ var ts; return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 243 /* ForOfStatement */) { + if (node.parent.kind === 244 /* ForOfStatement */) { // Set using next token return spanInNextNode(node); } @@ -164191,7 +166286,7 @@ var ts; if ("getTypeReferenceDirectiveResolutionsForFile" in this.shimHost) { this.resolveTypeReferenceDirectives = function (typeDirectiveNames, containingFile) { var typeDirectivesForFile = JSON.parse(_this.shimHost.getTypeReferenceDirectiveResolutionsForFile(containingFile)); // TODO: GH#18217 - return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, name); }); + return ts.map(typeDirectiveNames, function (name) { return ts.getProperty(typeDirectivesForFile, ts.isString(name) ? name : name.fileName.toLowerCase()); }); }; } } @@ -164338,13 +166433,13 @@ var ts; var result = action(); if (logPerformance) { var end = ts.timestamp(); - logger.log("".concat(actionDescription, " completed in ").concat(end - start, " msec")); + logger.log(actionDescription + " completed in " + (end - start) + " msec"); if (ts.isString(result)) { var str = result; if (str.length > 128) { str = str.substring(0, 128) + "..."; } - logger.log(" result.length=".concat(str.length, ", result='").concat(JSON.stringify(str), "'")); + logger.log(" result.length=" + str.length + ", result='" + JSON.stringify(str) + "'"); } } return result; @@ -164426,7 +166521,7 @@ var ts; * Update the list of scripts known to the compiler */ LanguageServiceShimObject.prototype.refresh = function (throwOnError) { - this.forwardJSONCall("refresh(".concat(throwOnError, ")"), function () { return null; } // eslint-disable-line no-null/no-null + this.forwardJSONCall("refresh(" + throwOnError + ")", function () { return null; } // eslint-disable-line no-null/no-null ); }; LanguageServiceShimObject.prototype.cleanupSemanticCache = function () { @@ -164442,43 +166537,43 @@ var ts; }; LanguageServiceShimObject.prototype.getSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); }); + return this.forwardJSONCall("getSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); }); }; LanguageServiceShimObject.prototype.getSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); }); + return this.forwardJSONCall("getSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); }); }; LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), + return this.forwardJSONCall("getEncodedSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSyntacticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getEncodedSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), + return this.forwardJSONCall("getEncodedSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSemanticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getSyntacticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSyntacticDiagnostics('".concat(fileName, "')"), function () { + return this.forwardJSONCall("getSyntacticDiagnostics('" + fileName + "')", function () { var diagnostics = _this.languageService.getSyntacticDiagnostics(fileName); return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSemanticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSemanticDiagnostics('".concat(fileName, "')"), function () { + return this.forwardJSONCall("getSemanticDiagnostics('" + fileName + "')", function () { var diagnostics = _this.languageService.getSemanticDiagnostics(fileName); return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSuggestionDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSuggestionDiagnostics('".concat(fileName, "')"), function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); }); + return this.forwardJSONCall("getSuggestionDiagnostics('" + fileName + "')", function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); }); }; LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics = function () { var _this = this; @@ -164494,7 +166589,7 @@ var ts; */ LanguageServiceShimObject.prototype.getQuickInfoAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getQuickInfoAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); }); + return this.forwardJSONCall("getQuickInfoAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); }); }; /// NAMEORDOTTEDNAMESPAN /** @@ -164503,7 +166598,7 @@ var ts; */ LanguageServiceShimObject.prototype.getNameOrDottedNameSpan = function (fileName, startPos, endPos) { var _this = this; - return this.forwardJSONCall("getNameOrDottedNameSpan('".concat(fileName, "', ").concat(startPos, ", ").concat(endPos, ")"), function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); }); + return this.forwardJSONCall("getNameOrDottedNameSpan('" + fileName + "', " + startPos + ", " + endPos + ")", function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); }); }; /** * STATEMENTSPAN @@ -164511,12 +166606,12 @@ var ts; */ LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBreakpointStatementAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); }); + return this.forwardJSONCall("getBreakpointStatementAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); }); }; /// SIGNATUREHELP LanguageServiceShimObject.prototype.getSignatureHelpItems = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getSignatureHelpItems('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); }); + return this.forwardJSONCall("getSignatureHelpItems('" + fileName + "', " + position + ")", function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); }); }; /// GOTO DEFINITION /** @@ -164525,7 +166620,7 @@ var ts; */ LanguageServiceShimObject.prototype.getDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); + return this.forwardJSONCall("getDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); }; /** * Computes the definition location and file for the symbol @@ -164533,7 +166628,7 @@ var ts; */ LanguageServiceShimObject.prototype.getDefinitionAndBoundSpan = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAndBoundSpan('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); }); + return this.forwardJSONCall("getDefinitionAndBoundSpan('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); }); }; /// GOTO Type /** @@ -164542,7 +166637,7 @@ var ts; */ LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getTypeDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); }); + return this.forwardJSONCall("getTypeDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); }); }; /// GOTO Implementation /** @@ -164551,37 +166646,37 @@ var ts; */ LanguageServiceShimObject.prototype.getImplementationAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getImplementationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); + return this.forwardJSONCall("getImplementationAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getRenameInfo('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getRenameInfo(fileName, position, options); }); + return this.forwardJSONCall("getRenameInfo('" + fileName + "', " + position + ")", function () { return _this.languageService.getRenameInfo(fileName, position, options); }); }; LanguageServiceShimObject.prototype.getSmartSelectionRange = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getSmartSelectionRange('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSmartSelectionRange(fileName, position); }); + return this.forwardJSONCall("getSmartSelectionRange('" + fileName + "', " + position + ")", function () { return _this.languageService.getSmartSelectionRange(fileName, position); }); }; LanguageServiceShimObject.prototype.findRenameLocations = function (fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename) { var _this = this; - return this.forwardJSONCall("findRenameLocations('".concat(fileName, "', ").concat(position, ", ").concat(findInStrings, ", ").concat(findInComments, ", ").concat(providePrefixAndSuffixTextForRename, ")"), function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); }); + return this.forwardJSONCall("findRenameLocations('" + fileName + "', " + position + ", " + findInStrings + ", " + findInComments + ", " + providePrefixAndSuffixTextForRename + ")", function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); }); }; /// GET BRACE MATCHING LanguageServiceShimObject.prototype.getBraceMatchingAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBraceMatchingAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); }); + return this.forwardJSONCall("getBraceMatchingAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition = function (fileName, position, openingBrace) { var _this = this; - return this.forwardJSONCall("isValidBraceCompletionAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(openingBrace, ")"), function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); }); + return this.forwardJSONCall("isValidBraceCompletionAtPosition('" + fileName + "', " + position + ", " + openingBrace + ")", function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); }); }; LanguageServiceShimObject.prototype.getSpanOfEnclosingComment = function (fileName, position, onlyMultiLine) { var _this = this; - return this.forwardJSONCall("getSpanOfEnclosingComment('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); }); + return this.forwardJSONCall("getSpanOfEnclosingComment('" + fileName + "', " + position + ")", function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); }); }; /// GET SMART INDENT LanguageServiceShimObject.prototype.getIndentationAtPosition = function (fileName, position, options /*Services.EditorOptions*/) { var _this = this; - return this.forwardJSONCall("getIndentationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { + return this.forwardJSONCall("getIndentationAtPosition('" + fileName + "', " + position + ")", function () { var localOptions = JSON.parse(options); return _this.languageService.getIndentationAtPosition(fileName, position, localOptions); }); @@ -164589,23 +166684,23 @@ var ts; /// GET REFERENCES LanguageServiceShimObject.prototype.getReferencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getReferencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); + return this.forwardJSONCall("getReferencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.findReferences = function (fileName, position) { var _this = this; - return this.forwardJSONCall("findReferences('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.findReferences(fileName, position); }); + return this.forwardJSONCall("findReferences('" + fileName + "', " + position + ")", function () { return _this.languageService.findReferences(fileName, position); }); }; LanguageServiceShimObject.prototype.getFileReferences = function (fileName) { var _this = this; - return this.forwardJSONCall("getFileReferences('".concat(fileName, ")"), function () { return _this.languageService.getFileReferences(fileName); }); + return this.forwardJSONCall("getFileReferences('" + fileName + ")", function () { return _this.languageService.getFileReferences(fileName); }); }; LanguageServiceShimObject.prototype.getOccurrencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getOccurrencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); + return this.forwardJSONCall("getOccurrencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getDocumentHighlights = function (fileName, position, filesToSearch) { var _this = this; - return this.forwardJSONCall("getDocumentHighlights('".concat(fileName, "', ").concat(position, ")"), function () { + return this.forwardJSONCall("getDocumentHighlights('" + fileName + "', " + position + ")", function () { var results = _this.languageService.getDocumentHighlights(fileName, position, JSON.parse(filesToSearch)); // workaround for VS document highlighting issue - keep only items from the initial file var normalizedName = ts.toFileNameLowerCase(ts.normalizeSlashes(fileName)); @@ -164620,108 +166715,108 @@ var ts; */ LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, preferences, formattingSettings) { var _this = this; - return this.forwardJSONCall("getCompletionsAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(preferences, ", ").concat(formattingSettings, ")"), function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences, formattingSettings); }); + return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + preferences + ", " + formattingSettings + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences, formattingSettings); }); }; /** Get a string based representation of a completion list entry details */ LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, formatOptions, source, preferences, data) { var _this = this; - return this.forwardJSONCall("getCompletionEntryDetails('".concat(fileName, "', ").concat(position, ", '").concat(entryName, "')"), function () { + return this.forwardJSONCall("getCompletionEntryDetails('" + fileName + "', " + position + ", '" + entryName + "')", function () { var localOptions = formatOptions === undefined ? undefined : JSON.parse(formatOptions); return _this.languageService.getCompletionEntryDetails(fileName, position, entryName, localOptions, source, preferences, data); }); }; LanguageServiceShimObject.prototype.getFormattingEditsForRange = function (fileName, start, end, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForRange('".concat(fileName, "', ").concat(start, ", ").concat(end, ")"), function () { + return this.forwardJSONCall("getFormattingEditsForRange('" + fileName + "', " + start + ", " + end + ")", function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsForRange(fileName, start, end, localOptions); }); }; LanguageServiceShimObject.prototype.getFormattingEditsForDocument = function (fileName, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForDocument('".concat(fileName, "')"), function () { + return this.forwardJSONCall("getFormattingEditsForDocument('" + fileName + "')", function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsForDocument(fileName, localOptions); }); }; LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke = function (fileName, position, key, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsAfterKeystroke('".concat(fileName, "', ").concat(position, ", '").concat(key, "')"), function () { + return this.forwardJSONCall("getFormattingEditsAfterKeystroke('" + fileName + "', " + position + ", '" + key + "')", function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsAfterKeystroke(fileName, position, key, localOptions); }); }; LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getDocCommentTemplateAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); }); + return this.forwardJSONCall("getDocCommentTemplateAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); }); }; /// NAVIGATE TO /** Return a list of symbols that are interesting to navigate to */ LanguageServiceShimObject.prototype.getNavigateToItems = function (searchValue, maxResultCount, fileName) { var _this = this; - return this.forwardJSONCall("getNavigateToItems('".concat(searchValue, "', ").concat(maxResultCount, ", ").concat(fileName, ")"), function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); }); + return this.forwardJSONCall("getNavigateToItems('" + searchValue + "', " + maxResultCount + ", " + fileName + ")", function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); }); }; LanguageServiceShimObject.prototype.getNavigationBarItems = function (fileName) { var _this = this; - return this.forwardJSONCall("getNavigationBarItems('".concat(fileName, "')"), function () { return _this.languageService.getNavigationBarItems(fileName); }); + return this.forwardJSONCall("getNavigationBarItems('" + fileName + "')", function () { return _this.languageService.getNavigationBarItems(fileName); }); }; LanguageServiceShimObject.prototype.getNavigationTree = function (fileName) { var _this = this; - return this.forwardJSONCall("getNavigationTree('".concat(fileName, "')"), function () { return _this.languageService.getNavigationTree(fileName); }); + return this.forwardJSONCall("getNavigationTree('" + fileName + "')", function () { return _this.languageService.getNavigationTree(fileName); }); }; LanguageServiceShimObject.prototype.getOutliningSpans = function (fileName) { var _this = this; - return this.forwardJSONCall("getOutliningSpans('".concat(fileName, "')"), function () { return _this.languageService.getOutliningSpans(fileName); }); + return this.forwardJSONCall("getOutliningSpans('" + fileName + "')", function () { return _this.languageService.getOutliningSpans(fileName); }); }; LanguageServiceShimObject.prototype.getTodoComments = function (fileName, descriptors) { var _this = this; - return this.forwardJSONCall("getTodoComments('".concat(fileName, "')"), function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); }); + return this.forwardJSONCall("getTodoComments('" + fileName + "')", function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); }); }; /// CALL HIERARCHY LanguageServiceShimObject.prototype.prepareCallHierarchy = function (fileName, position) { var _this = this; - return this.forwardJSONCall("prepareCallHierarchy('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.prepareCallHierarchy(fileName, position); }); + return this.forwardJSONCall("prepareCallHierarchy('" + fileName + "', " + position + ")", function () { return _this.languageService.prepareCallHierarchy(fileName, position); }); }; LanguageServiceShimObject.prototype.provideCallHierarchyIncomingCalls = function (fileName, position) { var _this = this; - return this.forwardJSONCall("provideCallHierarchyIncomingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); }); + return this.forwardJSONCall("provideCallHierarchyIncomingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); }); }; LanguageServiceShimObject.prototype.provideCallHierarchyOutgoingCalls = function (fileName, position) { var _this = this; - return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); }); + return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); }); }; LanguageServiceShimObject.prototype.provideInlayHints = function (fileName, span, preference) { var _this = this; - return this.forwardJSONCall("provideInlayHints('".concat(fileName, "', '").concat(JSON.stringify(span), "', ").concat(JSON.stringify(preference), ")"), function () { return _this.languageService.provideInlayHints(fileName, span, preference); }); + return this.forwardJSONCall("provideInlayHints('" + fileName + "', '" + JSON.stringify(span) + "', " + JSON.stringify(preference) + ")", function () { return _this.languageService.provideInlayHints(fileName, span, preference); }); }; /// Emit LanguageServiceShimObject.prototype.getEmitOutput = function (fileName) { var _this = this; - return this.forwardJSONCall("getEmitOutput('".concat(fileName, "')"), function () { + return this.forwardJSONCall("getEmitOutput('" + fileName + "')", function () { var _a = _this.languageService.getEmitOutput(fileName), diagnostics = _a.diagnostics, rest = __rest(_a, ["diagnostics"]); return __assign(__assign({}, rest), { diagnostics: _this.realizeDiagnostics(diagnostics) }); }); }; LanguageServiceShimObject.prototype.getEmitOutputObject = function (fileName) { var _this = this; - return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), + return forwardCall(this.logger, "getEmitOutput('" + fileName + "')", /*returnJson*/ false, function () { return _this.languageService.getEmitOutput(fileName); }, this.logPerformance); }; LanguageServiceShimObject.prototype.toggleLineComment = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("toggleLineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleLineComment(fileName, textRange); }); + return this.forwardJSONCall("toggleLineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleLineComment(fileName, textRange); }); }; LanguageServiceShimObject.prototype.toggleMultilineComment = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("toggleMultilineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleMultilineComment(fileName, textRange); }); + return this.forwardJSONCall("toggleMultilineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleMultilineComment(fileName, textRange); }); }; LanguageServiceShimObject.prototype.commentSelection = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("commentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.commentSelection(fileName, textRange); }); + return this.forwardJSONCall("commentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.commentSelection(fileName, textRange); }); }; LanguageServiceShimObject.prototype.uncommentSelection = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("uncommentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.uncommentSelection(fileName, textRange); }); + return this.forwardJSONCall("uncommentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.uncommentSelection(fileName, textRange); }); }; return LanguageServiceShimObject; }(ShimBase)); @@ -164771,7 +166866,7 @@ var ts; }; CoreServicesShimObject.prototype.resolveModuleName = function (fileName, moduleName, compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("resolveModuleName('".concat(fileName, "')"), function () { + return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () { var compilerOptions = JSON.parse(compilerOptionsJson); var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host); var resolvedFileName = result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined; @@ -164786,7 +166881,7 @@ var ts; }; CoreServicesShimObject.prototype.resolveTypeReferenceDirective = function (fileName, typeReferenceDirective, compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("resolveTypeReferenceDirective(".concat(fileName, ")"), function () { + return this.forwardJSONCall("resolveTypeReferenceDirective(" + fileName + ")", function () { var compilerOptions = JSON.parse(compilerOptionsJson); var result = ts.resolveTypeReferenceDirective(typeReferenceDirective, ts.normalizeSlashes(fileName), compilerOptions, _this.host); return { @@ -164798,7 +166893,7 @@ var ts; }; CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) { var _this = this; - return this.forwardJSONCall("getPreProcessedFileInfo('".concat(fileName, "')"), function () { + return this.forwardJSONCall("getPreProcessedFileInfo('" + fileName + "')", function () { // for now treat files as JavaScript var result = ts.preProcessFile(ts.getSnapshotText(sourceTextSnapshot), /* readImportFiles */ true, /* detectJavaScriptImports */ true); return { @@ -164813,7 +166908,7 @@ var ts; }; CoreServicesShimObject.prototype.getAutomaticTypeDirectiveNames = function (compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("getAutomaticTypeDirectiveNames('".concat(compilerOptionsJson, "')"), function () { + return this.forwardJSONCall("getAutomaticTypeDirectiveNames('" + compilerOptionsJson + "')", function () { var compilerOptions = JSON.parse(compilerOptionsJson); return ts.getAutomaticTypeDirectiveNames(compilerOptions, _this.host); }); @@ -164835,7 +166930,7 @@ var ts; }; CoreServicesShimObject.prototype.getTSConfigFileInfo = function (fileName, sourceTextSnapshot) { var _this = this; - return this.forwardJSONCall("getTSConfigFileInfo('".concat(fileName, "')"), function () { + return this.forwardJSONCall("getTSConfigFileInfo('" + fileName + "')", function () { var result = ts.parseJsonText(fileName, ts.getSnapshotText(sourceTextSnapshot)); var normalizedFileName = ts.normalizeSlashes(fileName); var configFile = ts.parseJsonSourceFileConfigFileContent(result, _this.host, ts.getDirectoryPath(normalizedFileName), /*existingOptions*/ {}, normalizedFileName); @@ -165847,7 +167942,7 @@ var ts; ts.createNode = ts.Debug.deprecate(function createNode(kind, pos, end) { if (pos === void 0) { pos = 0; } if (end === void 0) { end = 0; } - return ts.setTextRangePosEnd(kind === 303 /* SourceFile */ ? ts.parseBaseNodeFactory.createBaseSourceFileNode(kind) : + return ts.setTextRangePosEnd(kind === 305 /* SourceFile */ ? ts.parseBaseNodeFactory.createBaseSourceFileNode(kind) : kind === 79 /* Identifier */ ? ts.parseBaseNodeFactory.createBaseIdentifierNode(kind) : kind === 80 /* PrivateIdentifier */ ? ts.parseBaseNodeFactory.createBasePrivateIdentifierNode(kind) : !ts.isNodeKind(kind) ? ts.parseBaseNodeFactory.createBaseTokenNode(kind) : @@ -165876,7 +167971,7 @@ var ts; // #region Renamed node Tests /** @deprecated Use `isTypeAssertionExpression` instead. */ ts.isTypeAssertion = ts.Debug.deprecate(function isTypeAssertion(node) { - return node.kind === 210 /* TypeAssertionExpression */; + return node.kind === 211 /* TypeAssertionExpression */; }, { since: "4.0", warnAfter: "4.1", diff --git a/yarn.lock b/yarn.lock index 432079cac001..4a3b34c267c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10155,7 +10155,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.6.4, typescript@~4.6.2, typescript@~4.6.3: +typescript@4.7.0-beta: + version "4.7.0-beta" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.0-beta.tgz#15952f24d4177479ca3d19f09436ad8c69a30563" + integrity sha512-m+CNL8lzHyHDxYYDTI+pm5hw5/bufYVGan2bokPyJY/y9C/4W/PCWMtYZ0vV9fLXbEL57elMeoaz9Evxs8UQ+A== + +typescript@~4.6.2, typescript@~4.6.3: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== From 70e6c863f6dbef1bac6814e16ca8d03ce947f38b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 9 May 2022 16:07:22 +0000 Subject: [PATCH 0367/1388] build: update all non-major dependencies --- WORKSPACE | 10 +- package.json | 34 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 16 +- yarn.lock | 450 +++++++++++------- 5 files changed, 296 insertions(+), 216 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 9cffbb539fba..03d62f32dbe0 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "280cefd3649b9648fdc444e9d6ed17c949152ff28d7e23638390ae8b93941d60", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.4.1/rules_nodejs-5.4.1.tar.gz"], + sha256 = "e328cb2c9401be495fa7d79c306f5ee3040e8a03b2ebb79b022e15ca03770096", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.4.2/rules_nodejs-5.4.2.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "534c9c61b72c257c95302d544984fd8ee63953c233292c5b6952ca5b33cd225e", - strip_prefix = "bazel-lib-0.4.2", - url = "https://github.com/aspect-build/bazel-lib/archive/v0.4.2.tar.gz", + sha256 = "a8b47eeaf3c1bd41c4f4b633ef4c959daf83fdee343379495098b50571d4b3b8", + strip_prefix = "bazel-lib-0.11.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v0.11.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 860c653ae0e2..33ebe80f1608 100644 --- a/package.json +++ b/package.json @@ -78,19 +78,19 @@ "@angular/platform-server": "14.0.0-next.16", "@angular/router": "14.0.0-next.16", "@angular/service-worker": "14.0.0-next.16", - "@babel/core": "7.17.9", - "@babel/generator": "7.17.9", + "@babel/core": "7.17.10", + "@babel/generator": "7.17.10", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.17.0", - "@babel/preset-env": "7.16.11", + "@babel/plugin-transform-runtime": "7.17.10", + "@babel/preset-env": "7.17.10", "@babel/runtime": "7.17.9", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.4.1", - "@bazel/jasmine": "5.4.1", + "@bazel/concatjs": "5.4.2", + "@bazel/jasmine": "5.4.2", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.21.0", - "@typescript-eslint/parser": "5.21.0", + "@typescript-eslint/eslint-plugin": "5.22.0", + "@typescript-eslint/parser": "5.22.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -138,11 +138,11 @@ "debug": "^4.1.1", "esbuild": "0.14.38", "esbuild-wasm": "0.14.38", - "eslint": "8.14.0", + "eslint": "8.15.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", - "express": "4.18.0", + "express": "4.18.1", "font-awesome": "^4.7.0", "glob": "8.0.1", "http-proxy": "^1.18.1", @@ -169,21 +169,21 @@ "magic-string": "0.26.1", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.8", + "ng-packagr": "14.0.0-next.10", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.1.1", + "pacote": "13.3.0", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.12", + "postcss": "8.4.13", "postcss-import": "14.1.0", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.4", + "postcss-preset-env": "7.5.0", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "13.7.0", @@ -204,17 +204,17 @@ "stylus-loader": "6.2.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.13.0", + "terser": "5.13.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "4.7.0-beta", - "verdaccio": "5.10.0", + "verdaccio": "5.10.2", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", - "webpack-dev-server": "4.8.1", + "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.4.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 131e4ee71151..34c42ef208b4 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,7 +36,7 @@ "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.1.1", + "pacote": "13.3.0", "resolve": "1.22.0", "semver": "7.3.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 40a13361ad84..bdeb319c6ed5 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,13 +10,13 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.9", - "@babel/generator": "7.17.9", + "@babel/core": "7.17.10", + "@babel/generator": "7.17.10", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.16.8", "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.17.0", - "@babel/preset-env": "7.16.11", + "@babel/plugin-transform-runtime": "7.17.10", + "@babel/preset-env": "7.17.10", "@babel/runtime": "7.17.9", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", @@ -45,10 +45,10 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.12", + "postcss": "8.4.13", "postcss-import": "14.1.0", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.4.4", + "postcss-preset-env": "7.5.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -59,13 +59,13 @@ "source-map-support": "0.5.21", "stylus": "0.57.0", "stylus-loader": "6.2.0", - "terser": "5.13.0", + "terser": "5.13.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", "webpack": "5.72.0", "webpack-dev-middleware": "5.3.1", - "webpack-dev-server": "4.8.1", + "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, diff --git a/yarn.lock b/yarn.lock index 4a3b34c267c9..9fab6a7fad05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -290,6 +290,27 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== +"@babel/core@7.17.10", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" + integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.9" + "@babel/parser" "^7.17.10" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.10" + "@babel/types" "^7.17.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/core@7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" @@ -311,26 +332,14 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/generator@7.17.10", "@babel/generator@^7.17.10", "@babel/generator@^7.17.9": version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" - integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" + integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.10" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.10" "@babel/types" "^7.17.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" + "@jridgewell/gen-mapping" "^0.1.0" + jsesc "^2.5.1" "@babel/generator@7.17.9": version "7.17.9" @@ -341,15 +350,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.17.10", "@babel/generator@^7.17.9": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" - integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== - dependencies: - "@babel/types" "^7.17.10" - "@jridgewell/gen-mapping" "^0.1.0" - jsesc "^2.5.1" - "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -596,7 +596,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-class-static-block@^7.16.7": +"@babel/plugin-proposal-class-static-block@^7.16.7", "@babel/plugin-proposal-class-static-block@^7.17.6": version "7.17.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== @@ -653,7 +653,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.16.7": +"@babel/plugin-proposal-object-rest-spread@^7.16.7", "@babel/plugin-proposal-object-rest-spread@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== @@ -856,7 +856,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.16.7": +"@babel/plugin-transform-destructuring@^7.16.7", "@babel/plugin-transform-destructuring@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== @@ -925,7 +925,7 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.8": +"@babel/plugin-transform-modules-commonjs@^7.16.8", "@babel/plugin-transform-modules-commonjs@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw== @@ -935,7 +935,7 @@ "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.7": +"@babel/plugin-transform-modules-systemjs@^7.16.7", "@babel/plugin-transform-modules-systemjs@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== @@ -954,7 +954,7 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8", "@babel/plugin-transform-named-capturing-groups-regex@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz#715dbcfafdb54ce8bccd3d12e8917296a4ba66a4" integrity sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA== @@ -990,7 +990,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.16.7": +"@babel/plugin-transform-regenerator@^7.16.7", "@babel/plugin-transform-regenerator@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz#0a33c3a61cf47f45ed3232903683a0afd2d3460c" integrity sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ== @@ -1016,6 +1016,18 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.10.tgz#b89d821c55d61b5e3d3c3d1d636d8d5a81040ae1" + integrity sha512-6jrMilUAJhktTr56kACL8LnWC5hx3Lf27BS0R0DSyW/OoJfb/iTHeE96V3b1dgKG3FSFdd/0culnYWMkjcKCig== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" @@ -1147,6 +1159,86 @@ core-js-compat "^3.20.2" semver "^6.3.0" +"@babel/preset-env@7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.17.10.tgz#a81b093669e3eb6541bb81a23173c5963c5de69c" + integrity sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.17.6" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.17.3" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" + "@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-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.17.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.17.9" + "@babel/plugin-transform-modules-systemjs" "^7.17.8" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.10" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.17.9" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.17.10" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.22.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1208,15 +1300,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.1.tgz#590b7944d89136863ba4e3e264c555b0efc815de" - integrity sha512-E5lVBdJNeTcXgDM4phmY2JbHdwWIJZ61ls22McXpWhsDlfItURhNuzxbg/+8gDDX0AlMsJnBpAtFLNVH5c2xwA== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.4.2": version "5.4.2" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.2.tgz#2ec0943b50e229a163a277a6de2cc38aeb852e14" @@ -1231,10 +1314,10 @@ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.2.tgz#07b46fd7b10667b6e56b94df2c316c19de17ab33" integrity sha512-k1ZJzFlpfzTcJyHvVxSoOmiPwWNmJSVE0A2ygtXlyB4/dTnGAC6vcX03ECXovd+wk8py/DuFQDb6Xpv6RnWtAg== -"@bazel/jasmine@5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.4.1.tgz#f37ff9f7a742b4d73ff5e18460ae4a023e1ecfce" - integrity sha512-Exo73WlDOQMqG8BZ9QAk5OsCmTfQssqYckjofiZs8FP9ERl4vOpuBrMNYSWVSHlRtZA8+UkFmxuz5LlMRWG3og== +"@bazel/jasmine@5.4.2": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.4.2.tgz#073eef1a1b4c9a4f69522b4b96acd01d44daa05d" + integrity sha512-w0eco1CAipjLX1GFr8GqMTGpIiW9s/kkPDMAFuIVorZzMnAHov25ztr1Zjt5RBUpzMPBY+Sm0cp1d4x9UsjwIQ== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1370,19 +1453,19 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@eslint/eslintrc@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.2.tgz#4989b9e8c0216747ee7cca314ae73791bb281aae" - integrity sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg== +"@eslint/eslintrc@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.3.tgz#fcaa2bcef39e13d6e9e7f6271f4cc7cae1174886" + integrity sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.3.1" + espree "^9.3.2" globals "^13.9.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" - minimatch "^3.0.4" + minimatch "^3.1.2" strip-json-comments "^3.1.1" "@gar/promisify@^1.1.3": @@ -2289,14 +2372,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz#bfc22e0191e6404ab1192973b3b4ea0461c1e878" - integrity sha512-fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg== +"@typescript-eslint/eslint-plugin@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz#7b52a0de2e664044f28b36419210aea4ab619e2a" + integrity sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg== dependencies: - "@typescript-eslint/scope-manager" "5.21.0" - "@typescript-eslint/type-utils" "5.21.0" - "@typescript-eslint/utils" "5.21.0" + "@typescript-eslint/scope-manager" "5.22.0" + "@typescript-eslint/type-utils" "5.22.0" + "@typescript-eslint/utils" "5.22.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2304,69 +2387,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.21.0.tgz#6cb72673dbf3e1905b9c432175a3c86cdaf2071f" - integrity sha512-8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg== +"@typescript-eslint/parser@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.22.0.tgz#7bedf8784ef0d5d60567c5ba4ce162460e70c178" + integrity sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ== dependencies: - "@typescript-eslint/scope-manager" "5.21.0" - "@typescript-eslint/types" "5.21.0" - "@typescript-eslint/typescript-estree" "5.21.0" + "@typescript-eslint/scope-manager" "5.22.0" + "@typescript-eslint/types" "5.22.0" + "@typescript-eslint/typescript-estree" "5.22.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz#a4b7ed1618f09f95e3d17d1c0ff7a341dac7862e" - integrity sha512-XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ== +"@typescript-eslint/scope-manager@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz#590865f244ebe6e46dc3e9cab7976fc2afa8af24" + integrity sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA== dependencies: - "@typescript-eslint/types" "5.21.0" - "@typescript-eslint/visitor-keys" "5.21.0" + "@typescript-eslint/types" "5.22.0" + "@typescript-eslint/visitor-keys" "5.22.0" -"@typescript-eslint/type-utils@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz#ff89668786ad596d904c21b215e5285da1b6262e" - integrity sha512-MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw== +"@typescript-eslint/type-utils@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz#0c0e93b34210e334fbe1bcb7250c470f4a537c19" + integrity sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA== dependencies: - "@typescript-eslint/utils" "5.21.0" + "@typescript-eslint/utils" "5.22.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.21.0.tgz#8cdb9253c0dfce3f2ab655b9d36c03f72e684017" - integrity sha512-XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA== +"@typescript-eslint/types@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.22.0.tgz#50a4266e457a5d4c4b87ac31903b28b06b2c3ed0" + integrity sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw== -"@typescript-eslint/typescript-estree@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz#9f0c233e28be2540eaed3df050f0d54fb5aa52de" - integrity sha512-Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg== +"@typescript-eslint/typescript-estree@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz#e2116fd644c3e2fda7f4395158cddd38c0c6df97" + integrity sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw== dependencies: - "@typescript-eslint/types" "5.21.0" - "@typescript-eslint/visitor-keys" "5.21.0" + "@typescript-eslint/types" "5.22.0" + "@typescript-eslint/visitor-keys" "5.22.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.21.0.tgz#51d7886a6f0575e23706e5548c7e87bce42d7c18" - integrity sha512-q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q== +"@typescript-eslint/utils@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.22.0.tgz#1f2c4897e2cf7e44443c848a13c60407861babd8" + integrity sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.21.0" - "@typescript-eslint/types" "5.21.0" - "@typescript-eslint/typescript-estree" "5.21.0" + "@typescript-eslint/scope-manager" "5.22.0" + "@typescript-eslint/types" "5.22.0" + "@typescript-eslint/typescript-estree" "5.22.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.21.0": - version "5.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz#453fb3662409abaf2f8b1f65d515699c888dd8ae" - integrity sha512-SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA== +"@typescript-eslint/visitor-keys@5.22.0": + version "5.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz#f49c0ce406944ffa331a1cfabeed451ea4d0909c" + integrity sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg== dependencies: - "@typescript-eslint/types" "5.21.0" + "@typescript-eslint/types" "5.22.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -2597,7 +2680,7 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -2622,7 +2705,7 @@ acorn@^7.1.0, acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: version "8.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== @@ -3698,7 +3781,7 @@ copy-webpack-plugin@10.2.4: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.20.2, core-js-compat@^3.21.0: +core-js-compat@^3.20.2, core-js-compat@^3.21.0, core-js-compat@^3.22.1: version "3.22.4" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.4.tgz#d700f451e50f1d7672dcad0ac85d910e6691e579" integrity sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA== @@ -3892,10 +3975,10 @@ date-format@^4.0.9: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.9.tgz#4788015ac56dedebe83b03bc361f00c1ddcf1923" integrity sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg== -dayjs@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz#90b33a3dda3417258d48ad2771b415def6545eb0" - integrity sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA== +dayjs@1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.2.tgz#fa0f5223ef0d6724b3d8327134890cfe3d72fbe5" + integrity sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -4655,12 +4738,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.14.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.14.0.tgz#62741f159d9eb4a79695b28ec4989fcdec623239" - integrity sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw== +eslint@8.15.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.15.0.tgz#fea1d55a7062da48d82600d2e0974c55612a11e9" + integrity sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA== dependencies: - "@eslint/eslintrc" "^1.2.2" + "@eslint/eslintrc" "^1.2.3" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -4671,7 +4754,7 @@ eslint@8.14.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.1" + espree "^9.3.2" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -4687,7 +4770,7 @@ eslint@8.14.0: json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" regexpp "^3.2.0" @@ -4696,13 +4779,13 @@ eslint@8.14.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" - integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== +espree@^9.3.2: + version "9.3.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" + integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== dependencies: - acorn "^8.7.0" - acorn-jsx "^5.3.1" + acorn "^8.7.1" + acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" esprima@^3.1.3: @@ -4838,44 +4921,7 @@ express@4.17.3: utils-merge "1.0.1" vary "~1.1.2" -express@4.18.0: - version "4.18.0" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.0.tgz#7a426773325d0dd5406395220614c0db10b6e8e2" - integrity sha512-EJEXxiTQJS3lIPrU1AE2vRuT7X7E+0KBbpm5GSoK524yl0K8X+er8zS2P14E64eqsVNoWbMCT7MpmQ+ErAhgRg== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.0" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.10.3" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -express@^4.17.3: +express@4.18.1, express@^4.17.3: version "4.18.1" resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== @@ -6799,10 +6845,10 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.8.1.tgz#68ee3f4807a57d2ba185b7fd90827d5c21ce82bb" - integrity sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg== +lru-cache@7.9.0, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.9.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.9.0.tgz#29c2a989b6c10f32ceccc66ff44059e1490af3e1" + integrity sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw== lru-cache@^6.0.0: version "6.0.0" @@ -6811,11 +6857,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.9.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.9.0.tgz#29c2a989b6c10f32ceccc66ff44059e1490af3e1" - integrity sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -6896,6 +6937,11 @@ marked@4.0.14: resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.14.tgz#7a3a5fa5c80580bac78c1ed2e3b84d7bd6fc3870" integrity sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ== +marked@4.0.15: + version "4.0.15" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.15.tgz#0216b7c9d5fcf6ac5042343c41d81a8b1b5e1b4a" + integrity sha512-esX5lPdTfG4p8LDkv+obbRCyOKzB+820ZZyMOXJZygZBHrH9b3xXR64X4kT3sPe9Nx8qQXbmcz6kFSMt4Nfk6Q== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -7197,10 +7243,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-next.8: - version "14.0.0-next.8" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.8.tgz#51b7c6bf8f4dce8cffa2063b22ae3142c8714354" - integrity sha512-xFIFVVgOHd8wIESq+SKgEQrYB24H0+sqb53ySHpdN5KLnVGbZ52BUtPfOOcscwwd+zaeE1RuKBhPfCbfxiiILA== +ng-packagr@14.0.0-next.10: + version "14.0.0-next.10" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.10.tgz#2f287e822a699467c369ccd06d6916786e31b41c" + integrity sha512-xLrWiRT4if1NgqJ42H13rnuodEKzAHeJRmaXnn/NWXEj4xZseZ1A3HclMWgA/u+HtyeHuWrNvvuR5vCKLrzIpA== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7650,10 +7696,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.1.1.tgz#d3e6e27ffc5137d2a07233ed6fba2a209ecb2b7b" - integrity sha512-MTT3k1OhUo+IpvoHGp25OwsRU0L+kJQM236OCywxvY4OIJ/YfloNW2/Yc3HMASH10BkfZaGMVK/pxybB7fWcLw== +pacote@13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.3.0.tgz#e221febc17ce2435ce9f31de411832327a34c5ad" + integrity sha512-auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -8187,7 +8233,7 @@ postcss-preset-env@7.4.4: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@^7.4.2: +postcss-preset-env@7.5.0, postcss-preset-env@^7.4.2: version "7.5.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz#0c1f23933597d55dab4a90f61eda30b76e710658" integrity sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ== @@ -8297,7 +8343,7 @@ postcss@8.4.12: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.13, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: version "8.4.13" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA== @@ -9877,7 +9923,7 @@ terser@5.13.0: source-map "~0.8.0-beta.0" source-map-support "~0.5.20" -terser@^5.7.2: +terser@5.13.1, terser@^5.7.2: version "5.13.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799" integrity sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA== @@ -10372,10 +10418,10 @@ verdaccio-htpasswd@10.3.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.10.0.tgz#597b952306e2255bac34aa75455322b45627e17d" - integrity sha512-K2bHpRfOX1l2vKgwVdVqat25wDqv4ytQoA2fuBO5+vaGfRb+CLdv9H8JVft2b7GBjARpPXkFEek/dJfSZd7E5A== +verdaccio@5.10.2: + version "5.10.2" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.10.2.tgz#09d866ec310a5aca5bc6dea2109bb1c24c07eb16" + integrity sha512-vcHsfPEqr3PHQLJ6asAXUM8Trl/1IumIvairtst4YD8peKvnDTgj2ilWHg87eYx/sXhFFWynauOwfKee5gcs0A== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.1" @@ -10389,11 +10435,11 @@ verdaccio@5.10.0: compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.1" + dayjs "1.11.2" debug "^4.3.3" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" - express "4.17.3" + express "4.18.1" express-rate-limit "5.5.1" fast-safe-stringify "2.1.1" handlebars "4.7.7" @@ -10402,9 +10448,9 @@ verdaccio@5.10.0: jsonwebtoken "8.5.1" kleur "4.1.4" lodash "4.17.21" - lru-cache "7.8.1" + lru-cache "7.9.0" lunr-mutable-indexes "2.3.2" - marked "4.0.14" + marked "4.0.15" memoizee "0.4.15" mime "3.0.0" minimatch "5.0.1" @@ -10558,6 +10604,40 @@ webpack-dev-server@4.8.1: webpack-dev-middleware "^5.3.1" ws "^8.4.2" +webpack-dev-server@4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz#737dbf44335bb8bde68f8f39127fc401c97a1557" + integrity sha512-+Nlb39iQSOSsFv0lWUuUTim3jDQO8nhK3E68f//J2r5rIcp4lULHXz2oZ0UVdEeWXEh5lSzYUlzarZhDAeAVQw== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.21" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From f633b6b725eb3285bee54ef99ad2781ca1dfba79 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 9 May 2022 12:38:09 +0000 Subject: [PATCH 0368/1388] build: update angular to 21589bd --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 9195ac8f5142..57971dd2a28d 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#d49640a3672bb159e5cc66041d8c2121913c7aa4", - "@angular/cdk": "github:angular/cdk-builds#6b44d3fe0af911a96bb803e3fef9272cacbf9b57", - "@angular/common": "github:angular/common-builds#16274823437f17148d98a54f4a613a7de7fff9b9", - "@angular/compiler": "github:angular/compiler-builds#1bc04fa2764a306b2970538c84e9d9a82e79e025", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#d655cb08dcd04ba07aff55e7ad2cde98d720f37e", - "@angular/core": "github:angular/core-builds#ccac6d0d4d46f507e9d24a0adb870d4301b7da25", - "@angular/forms": "github:angular/forms-builds#188f3ec2f8a318b363ec05ee1746bf043d88e931", - "@angular/language-service": "github:angular/language-service-builds#f3d743817f80f9a3335df3598f68ab1546215c60", - "@angular/localize": "github:angular/localize-builds#25b76d032ca107cfe1b3919e2e92246a423d3ad6", - "@angular/material": "github:angular/material-builds#43eaae7bccf1996f232d33f854959442da2dd716", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#edee3a3f0069b980c557e30c27dce24c4325080b", - "@angular/platform-browser": "github:angular/platform-browser-builds#2a2374fd0b9f12c52984ce4cb84f126182320cbe", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#04128cacfda68e47a835ef8f0faa74c6b626091f", - "@angular/platform-server": "github:angular/platform-server-builds#b44b9aa895d785348d1c15971be0962b6e713a23", - "@angular/router": "github:angular/router-builds#eef60c7cce2252e2302be76cc93e9816e9c4f639", - "@angular/service-worker": "github:angular/service-worker-builds#fdbe7f7dd344e91d32d8be79c1d165b2b790caf9" + "@angular/animations": "github:angular/animations-builds#21589bd566393786307249a7d7db679e1fd5fc98", + "@angular/cdk": "github:angular/cdk-builds#e313adc4ec0a6b4ce4a9e54fcb6940da897dba7b", + "@angular/common": "github:angular/common-builds#30d6c20e89bdfb15f3f6bb359d8ca4b95ec4e2a2", + "@angular/compiler": "github:angular/compiler-builds#8935e8103c2f5c2db4819d8f6c1f3bf7020753c4", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#dcab608e9568a20d7791bcfb4b361b0aa0def0a3", + "@angular/core": "github:angular/core-builds#228c809cc86d52454c2d35fa13a5f78e57dd1e34", + "@angular/forms": "github:angular/forms-builds#3ebb088795e5f93489c7b16aef39335d323630d5", + "@angular/language-service": "github:angular/language-service-builds#5576b25268d075a50231d92f2a244f5c100cdbb6", + "@angular/localize": "github:angular/localize-builds#a7927375af661c36b652aea0175ec362c19156e8", + "@angular/material": "github:angular/material-builds#3c9831b30dbe1d3b8b4a0bb540775e5b5a1e91b9", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#428f8b7bf3219900a4582e2c522ba6c2ebbc9dae", + "@angular/platform-browser": "github:angular/platform-browser-builds#a2e1651874d3dce679a011d06f1cd545584ad155", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#da9ed365668c3d6861743d048f3956c8234a8320", + "@angular/platform-server": "github:angular/platform-server-builds#ec31e2124a7cc745ed4638a90abaa5bbf1bfb9ac", + "@angular/router": "github:angular/router-builds#d0d202d0b62ec3933ff2719aedebca07b77a36c2", + "@angular/service-worker": "github:angular/service-worker-builds#937228d02b74693d66016cc24ed915ee7b32908f" } } From 32281c210912d94becbc3fd6989bfecb58d6251b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 6 May 2022 08:36:19 +0000 Subject: [PATCH 0369/1388] fix(@schematics/angular): add migration to remove `package.json` in libraries secondary entrypoints `package.json` files have been remove from secondary entrypoints in version 14 of Angular package format (APF). With this change we delete the now redundant files and in case these contained the deprecated way of how to configure secondary entrypoints in ng-packagr we migrate these as well. --- .../migrations/migration-collection.json | 5 + .../update-libraries-secondary-entrypoints.ts | 65 ++++++++++ ...te-libraries-secondary-entrypoints_spec.ts | 122 ++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts create mode 100644 packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index e8ed0bb2e2e9..61d935a1595e 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -24,6 +24,11 @@ "version": "14.0.0", "factory": "./update-14/replace-default-collection-option", "description": "Replace 'defaultCollection' option in workspace configuration with 'schematicCollections'." + }, + "update-libraries-secondary-entrypoints": { + "version": "14.0.0", + "factory": "./update-14/update-libraries-secondary-entrypoints", + "description": "Remove 'package.json' files from library projects secondary entrypoints." } } } diff --git a/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts b/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts new file mode 100644 index 000000000000..758fb2e93e3f --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts @@ -0,0 +1,65 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { dirname, isJsonObject, join, normalize } from '@angular-devkit/core'; +import { DirEntry, Rule } from '@angular-devkit/schematics'; +import { getWorkspace } from '../../utility/workspace'; + +function* visitPackageJsonFiles( + directory: DirEntry, + includedInLookup = false, +): IterableIterator { + if (includedInLookup) { + for (const path of directory.subfiles) { + if (path !== 'package.json') { + continue; + } + + yield join(directory.path, path); + } + } + + for (const path of directory.subdirs) { + if (path === 'node_modules' || path.startsWith('.')) { + continue; + } + + yield* visitPackageJsonFiles(directory.dir(path), true); + } +} + +/** Migration to remove secondary entrypoints 'package.json' files and migrate ng-packagr configurations. */ +export default function (): Rule { + return async (tree) => { + const workspace = await getWorkspace(tree); + + for (const project of workspace.projects.values()) { + if ( + project.extensions['projectType'] !== 'library' || + ![...project.targets.values()].some( + ({ builder }) => builder === '@angular-devkit/build-angular:ng-packagr', + ) + ) { + // Project is not a library or doesn't use ng-packagr, skip. + continue; + } + + for (const path of visitPackageJsonFiles(tree.getDir(project.root))) { + const json = tree.readJson(path); + if (isJsonObject(json) && json['ngPackage']) { + // Migrate ng-packagr config to an ng-packagr config file. + const configFilePath = join(dirname(normalize(path)), 'ng-package.json'); + tree.create(configFilePath, JSON.stringify(json['ngPackage'], undefined, 2)); + } + + // Delete package.json as it is no longer needed in APF 14. + tree.delete(path); + } + } + }; +} diff --git a/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts b/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts new file mode 100644 index 000000000000..ee82c885a606 --- /dev/null +++ b/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts @@ -0,0 +1,122 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; + +function createFileStructure(tree: UnitTestTree) { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: { + foo: { + root: 'projects/foo', + sourceRoot: 'projects/foo/src', + projectType: ProjectType.Library, + prefix: 'lib', + architect: { + build: { + builder: Builders.NgPackagr, + options: { + project: '', + tsConfig: '', + }, + }, + }, + }, + bar: { + root: 'projects/bar', + sourceRoot: 'projects/bar/src', + projectType: ProjectType.Library, + prefix: 'lib', + architect: { + test: { + builder: Builders.Karma, + options: { + karmaConfig: '', + tsConfig: '', + }, + }, + }, + }, + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + + // Library foo + tree.create('/projects/foo/package.json', JSON.stringify({ version: '0.0.0' }, undefined, 2)); + // Library foo/secondary + tree.create( + '/projects/foo/secondary/package.json', + JSON.stringify( + { version: '0.0.0', ngPackage: { lib: { entryFile: 'src/public-api.ts' } } }, + undefined, + 2, + ), + ); + + // Library bar + tree.create('/projects/bar/package.json', JSON.stringify({ version: '0.0.0' }, undefined, 2)); + // Library bar/secondary + tree.create( + '/projects/bar/secondary/package.json', + JSON.stringify({ version: '0.0.0' }, undefined, 2), + ); +} + +describe(`Migration to update Angular libraries secondary entrypoints.`, () => { + const schematicName = 'update-libraries-secondary-entrypoints'; + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + createFileStructure(tree); + }); + + describe(`when library has '@angular-devkit/build-angular:ng-packagr' as a builder`, () => { + it(`should not delete 'package.json' of primary entry-point`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + + expect(newTree.exists('/projects/foo/package.json')).toBeTrue(); + }); + + it(`should delete 'package.json' of secondary entry-point`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/projects/foo/secondary/package.json')).toBeFalse(); + }); + + it(`should move ng-packagr configuration from 'package.json' to 'ng-package.json'`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.readJson('projects/foo/secondary/ng-package.json')).toEqual({ + lib: { entryFile: 'src/public-api.ts' }, + }); + }); + }); + + describe(`when library doesn't have '@angular-devkit/build-angular:ng-packagr' as a builder`, () => { + it(`should not delete 'package.json' of primary entry-point`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/projects/bar/package.json')).toBeTrue(); + }); + + it(`should not delete 'package.json' of secondary entry-point`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/projects/bar/package.json')).toBeTrue(); + }); + + it(`should not create ng-packagr configuration`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('projects/bar/secondary/ng-package.json')).toBeFalse(); + }); + }); +}); From e1ee636d78bb8ba9a99f7656f24c453a48920723 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 10 May 2022 08:50:21 +0000 Subject: [PATCH 0370/1388] fix(@schematics/angular): don't add path mapping to old entrypoint definition file With the APF changes in version 14, the dts entrypoint file has been changed to `index.d.ts`, this results in TypeScript being able to resolve the type definition file without the need of the additional path to the flat module file dts. --- packages/schematics/angular/library/index.ts | 3 +-- packages/schematics/angular/library/index_spec.ts | 15 +++------------ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 90126c44be5a..a6959bdf70cb 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -139,7 +139,6 @@ export default function (options: LibraryOptions): Rule { const projectRoot = join(normalize(newProjectRoot), folderName); const distRoot = `dist/${folderName}`; - const pathImportLib = `${distRoot}/${folderName.replace('/', '-')}`; const sourceDir = `${projectRoot}/src/lib`; const templateSource = apply(url('./files'), [ @@ -162,7 +161,7 @@ export default function (options: LibraryOptions): Rule { mergeWith(templateSource), addLibToWorkspaceFile(options, projectRoot, packageName), options.skipPackageJson ? noop() : addDependenciesToPackageJson(), - options.skipTsConfig ? noop() : updateTsConfig(packageName, pathImportLib, distRoot), + options.skipTsConfig ? noop() : updateTsConfig(packageName, distRoot), schematic('module', { name: options.name, commonModule: false, diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 9642e82731ef..3b775211a904 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -236,10 +236,7 @@ describe('Library Schematic', () => { .toPromise(); const tsConfigJson = getJsonFileContent(tree, 'tsconfig.json'); - expect(tsConfigJson.compilerOptions.paths.foo).toBeTruthy(); - expect(tsConfigJson.compilerOptions.paths.foo.length).toEqual(2); - expect(tsConfigJson.compilerOptions.paths.foo[0]).toEqual('dist/foo/foo'); - expect(tsConfigJson.compilerOptions.paths.foo[1]).toEqual('dist/foo'); + expect(tsConfigJson.compilerOptions.paths['foo']).toEqual(['dist/foo']); }); it(`should append to existing paths mappings`, async () => { @@ -259,10 +256,7 @@ describe('Library Schematic', () => { .toPromise(); const tsConfigJson = getJsonFileContent(tree, 'tsconfig.json'); - expect(tsConfigJson.compilerOptions.paths.foo).toBeTruthy(); - expect(tsConfigJson.compilerOptions.paths.foo.length).toEqual(3); - expect(tsConfigJson.compilerOptions.paths.foo[1]).toEqual('dist/foo/foo'); - expect(tsConfigJson.compilerOptions.paths.foo[2]).toEqual('dist/foo'); + expect(tsConfigJson.compilerOptions.paths['foo']).toEqual(['libs/*', 'dist/foo']); }); it(`should not modify the file when --skipTsConfig`, async () => { @@ -316,10 +310,7 @@ describe('Library Schematic', () => { expect(cfg.projects['@myscope/mylib']).toBeDefined(); const rootTsCfg = getJsonFileContent(tree, '/tsconfig.json'); - expect(rootTsCfg.compilerOptions.paths['@myscope/mylib']).toEqual([ - 'dist/myscope/mylib/myscope-mylib', - 'dist/myscope/mylib', - ]); + expect(rootTsCfg.compilerOptions.paths['@myscope/mylib']).toEqual(['dist/myscope/mylib']); const karmaConf = getFileContent(tree, '/projects/myscope/mylib/karma.conf.js'); expect(karmaConf).toContain( From 6f8499d2d62d68b3fbbd17f6d5dd17b88ca90e8e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 10 May 2022 10:46:54 +0000 Subject: [PATCH 0371/1388] fix(@angular/cli): display option descriptions during auto completion It appears that enabling this no longer causes a slugish experience. --- .../angular/cli/src/command-builder/command-runner.ts | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index a1d77bbfaa88..60ed22121d97 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -121,18 +121,12 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis localYargs = addCommandModuleToYargs(localYargs, CommandModule, context); } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const usageInstance = (localYargs as any).getInternalMethods().getUsageInstance(); if (jsonHelp) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const usageInstance = (localYargs as any).getInternalMethods().getUsageInstance(); usageInstance.help = () => jsonHelpUsage(); } - if (getYargsCompletions) { - // When in auto completion mode avoid printing description as it causes a slugish - // experience when there are a large set of options. - usageInstance.getDescriptions = () => ({}); - } - await localYargs .scriptName('ng') // https://github.com/yargs/yargs/blob/main/docs/advanced.md#customizing-yargs-parser From e72fbcdfacbb04a129a23c4be1b165499d8a416b Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Mon, 9 May 2022 15:22:14 -0700 Subject: [PATCH 0372/1388] test: allow Artistic-2.0 license --- scripts/validate-licenses.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/validate-licenses.ts b/scripts/validate-licenses.ts index 8cc1eb0341e9..c72145e2b478 100644 --- a/scripts/validate-licenses.ts +++ b/scripts/validate-licenses.ts @@ -32,6 +32,7 @@ const allowedLicenses = [ 'ISC', 'Apache-2.0', 'Python-2.0', + 'Artistic-2.0', 'BSD-2-Clause', 'BSD-3-Clause', From d51e63b26b95d10076589fecb1be749176fcbd13 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 5 May 2022 14:54:20 -0400 Subject: [PATCH 0373/1388] test: add a minimal standalone component application E2E test A new E2E test has been added that updates a newly generated application to use a standalone component that is bootstrapped with the newly introduced `bootstrapApplication` API. This test is intended to check that the minimal functionality for a standalone-based application functions with the Angular CLI. More expansive tests will be added as standalone features and capabilities are introduced within the Angular CLI. --- .../legacy-cli/e2e/tests/basic/standalone.ts | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/basic/standalone.ts diff --git a/tests/legacy-cli/e2e/tests/basic/standalone.ts b/tests/legacy-cli/e2e/tests/basic/standalone.ts new file mode 100644 index 000000000000..f8eeb9a888d4 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/basic/standalone.ts @@ -0,0 +1,56 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + * + * @fileoverview + * Tests the minimal conversion of a newly generated application + * to use a single standalone component. + */ + +import { writeFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; + +/** + * An application main file that uses a standalone component with + * bootstrapApplication to start the application. `ng-template` and + * `ngIf` are used to ensure that `CommonModule` and `imports` are + * working in standalone mode. + */ +const STANDALONE_MAIN_CONTENT = ` +import { Component } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { bootstrapApplication } from '@angular/platform-browser'; + +@Component({ + selector: 'app-root', + standalone: true, + template: \` + +
+ {{name}} app is running! +
+
+ \`, + imports: [CommonModule], +}) +export class AppComponent { + name = 'test-project'; + isVisible = true; +} + +bootstrapApplication(AppComponent); +`; + +export default async function () { + // Update to a standalone application + await writeFile('src/main.ts', STANDALONE_MAIN_CONTENT); + + // Execute a production build + await ng('build'); + + // Perform the default E2E tests + await ng('e2e', 'test-project'); +} From 73bda262c0f9fe201143400e89fc4f7e7b94fc93 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 May 2022 12:48:33 +0000 Subject: [PATCH 0374/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 2 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 128 +++++++++++------- 5 files changed, 85 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index 33ebe80f1608..80b271a050a7 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.22.0", - "@typescript-eslint/parser": "5.22.0", + "@typescript-eslint/eslint-plugin": "5.23.0", + "@typescript-eslint/parser": "5.23.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -212,7 +212,7 @@ "typescript": "4.7.0-beta", "verdaccio": "5.10.2", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.72.0", + "webpack": "5.72.1", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index bdeb319c6ed5..ddd5a70a8b0f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -63,7 +63,7 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", - "webpack": "5.72.0", + "webpack": "5.72.1", "webpack-dev-middleware": "5.3.1", "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 7549675ba630..39273ee35a7c 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.72.0" + "webpack": "5.72.1" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index ce77041ed96b..a20981ceaaaa 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-next.16", "@angular/compiler-cli": "14.0.0-next.16", "typescript": "4.7.0-beta", - "webpack": "5.72.0" + "webpack": "5.72.1" } } diff --git a/yarn.lock b/yarn.lock index 9fab6a7fad05..062734496dc0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2372,14 +2372,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.22.0.tgz#7b52a0de2e664044f28b36419210aea4ab619e2a" - integrity sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg== - dependencies: - "@typescript-eslint/scope-manager" "5.22.0" - "@typescript-eslint/type-utils" "5.22.0" - "@typescript-eslint/utils" "5.22.0" +"@typescript-eslint/eslint-plugin@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz#bc4cbcf91fbbcc2e47e534774781b82ae25cc3d8" + integrity sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA== + dependencies: + "@typescript-eslint/scope-manager" "5.23.0" + "@typescript-eslint/type-utils" "5.23.0" + "@typescript-eslint/utils" "5.23.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2387,69 +2387,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.22.0.tgz#7bedf8784ef0d5d60567c5ba4ce162460e70c178" - integrity sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ== +"@typescript-eslint/parser@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.23.0.tgz#443778e1afc9a8ff180f91b5e260ac3bec5e2de1" + integrity sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw== dependencies: - "@typescript-eslint/scope-manager" "5.22.0" - "@typescript-eslint/types" "5.22.0" - "@typescript-eslint/typescript-estree" "5.22.0" + "@typescript-eslint/scope-manager" "5.23.0" + "@typescript-eslint/types" "5.23.0" + "@typescript-eslint/typescript-estree" "5.23.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.22.0.tgz#590865f244ebe6e46dc3e9cab7976fc2afa8af24" - integrity sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA== +"@typescript-eslint/scope-manager@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz#4305e61c2c8e3cfa3787d30f54e79430cc17ce1b" + integrity sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw== dependencies: - "@typescript-eslint/types" "5.22.0" - "@typescript-eslint/visitor-keys" "5.22.0" + "@typescript-eslint/types" "5.23.0" + "@typescript-eslint/visitor-keys" "5.23.0" -"@typescript-eslint/type-utils@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.22.0.tgz#0c0e93b34210e334fbe1bcb7250c470f4a537c19" - integrity sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA== +"@typescript-eslint/type-utils@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz#f852252f2fc27620d5bb279d8fed2a13d2e3685e" + integrity sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw== dependencies: - "@typescript-eslint/utils" "5.22.0" + "@typescript-eslint/utils" "5.23.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.22.0.tgz#50a4266e457a5d4c4b87ac31903b28b06b2c3ed0" - integrity sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw== +"@typescript-eslint/types@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.23.0.tgz#8733de0f58ae0ed318dbdd8f09868cdbf9f9ad09" + integrity sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw== -"@typescript-eslint/typescript-estree@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.22.0.tgz#e2116fd644c3e2fda7f4395158cddd38c0c6df97" - integrity sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw== +"@typescript-eslint/typescript-estree@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz#dca5f10a0a85226db0796e8ad86addc9aee52065" + integrity sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg== dependencies: - "@typescript-eslint/types" "5.22.0" - "@typescript-eslint/visitor-keys" "5.22.0" + "@typescript-eslint/types" "5.23.0" + "@typescript-eslint/visitor-keys" "5.23.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.22.0.tgz#1f2c4897e2cf7e44443c848a13c60407861babd8" - integrity sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ== +"@typescript-eslint/utils@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.23.0.tgz#4691c3d1b414da2c53d8943310df36ab1c50648a" + integrity sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.22.0" - "@typescript-eslint/types" "5.22.0" - "@typescript-eslint/typescript-estree" "5.22.0" + "@typescript-eslint/scope-manager" "5.23.0" + "@typescript-eslint/types" "5.23.0" + "@typescript-eslint/typescript-estree" "5.23.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.22.0": - version "5.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.22.0.tgz#f49c0ce406944ffa331a1cfabeed451ea4d0909c" - integrity sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg== +"@typescript-eslint/visitor-keys@5.23.0": + version "5.23.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz#057c60a7ca64667a39f991473059377a8067c87b" + integrity sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg== dependencies: - "@typescript-eslint/types" "5.22.0" + "@typescript-eslint/types" "5.23.0" eslint-visitor-keys "^3.0.0" "@verdaccio/commons-api@10.2.0": @@ -4343,7 +4343,7 @@ engine.io@~6.2.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.9.2: +enhanced-resolve@^5.9.2, enhanced-resolve@^5.9.3: version "5.9.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== @@ -10688,6 +10688,36 @@ webpack@5.72.0: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.72.1: + version "5.72.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13" + integrity sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From b5758acd8f4024010769473e6780b8b6a23d37b1 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 May 2022 13:15:39 -0400 Subject: [PATCH 0375/1388] ci: disable redundant Angular bot size check The E2E test suite contains a production build test (`build/prod-build`) that performs a size comparison check to ensure a production build of a newly generated application stays within 10% of a predefined value (currently 124,000 bytes). As a result of this preexisting check, the need to perform another check that involves the added complexity of Github status hooks and API calls is currently not needed. --- .github/angular-robot.yml | 2 ++ tests/legacy-cli/e2e/tests/build/prod-build.ts | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index 2b6252de2e2a..b724df975503 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -93,6 +93,8 @@ triage: # Size checking size: + # Size checking for production build is performed via the E2E test `build/prod-build` + disabled: true circleCiStatusName: 'ci/circleci: e2e-cli' maxSizeIncrease: 10000 comment: false diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index f180be4138c6..12131b113275 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -24,8 +24,6 @@ function verifySize(bundle: string, baselineBytes: number) { } export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - // Can't use the `ng` helper because somewhere the environment gets // stuck to the first build done const bootstrapRegExp = /bootstrapModule\([_a-zA-Z]+[0-9]*\)\./; From 83c0eb22858ad1cbbd5e20a4ca7255cb4a29e3b5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 9 May 2022 12:38:58 +0000 Subject: [PATCH 0376/1388] build: update dependency husky to v8 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 80b271a050a7..7e3c1b3d452f 100644 --- a/package.json +++ b/package.json @@ -147,7 +147,7 @@ "glob": "8.0.1", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", - "husky": "7.0.4", + "husky": "8.0.1", "ini": "3.0.0", "inquirer": "8.2.4", "jasmine": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index 062734496dc0..7341a27884a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5749,10 +5749,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== +husky@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" + integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" From c6af7cf8f042d93e56b7d00fc058e755928b8200 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 May 2022 17:51:40 +0000 Subject: [PATCH 0377/1388] build: update angular to c51039c --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 26 +++++----- yarn.lock | 49 ++++++++++--------- 6 files changed, 42 insertions(+), 41 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index d6d2a7dfd89d..0bc8880e2ada 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@d9f50abe777f5077aee75a35f2fe65bb478638b5 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@6f5ad484efbab50c504a6ae0ea15fd9439888321 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index cde5274fb0a3..418431aa4115 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@d9f50abe777f5077aee75a35f2fe65bb478638b5 + - uses: angular/dev-infra/github-actions/feature-request@6f5ad484efbab50c504a6ae0ea15fd9439888321 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 2a0fc7dc8834..0ecaa125ecce 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@d9f50abe777f5077aee75a35f2fe65bb478638b5 + - uses: angular/dev-infra/github-actions/lock-closed@6f5ad484efbab50c504a6ae0ea15fd9439888321 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 7e3c1b3d452f..636761c43301 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-next.16", "@angular/compiler-cli": "14.0.0-next.16", "@angular/core": "14.0.0-next.16", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7", "@angular/forms": "14.0.0-next.16", "@angular/localize": "14.0.0-next.16", "@angular/material": "14.0.0-next.13", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 57971dd2a28d..3f4e43cd5f21 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#21589bd566393786307249a7d7db679e1fd5fc98", + "@angular/animations": "github:angular/animations-builds#c51039c79459d89d9c1cb37d03650f1c27f4c73a", "@angular/cdk": "github:angular/cdk-builds#e313adc4ec0a6b4ce4a9e54fcb6940da897dba7b", - "@angular/common": "github:angular/common-builds#30d6c20e89bdfb15f3f6bb359d8ca4b95ec4e2a2", - "@angular/compiler": "github:angular/compiler-builds#8935e8103c2f5c2db4819d8f6c1f3bf7020753c4", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#dcab608e9568a20d7791bcfb4b361b0aa0def0a3", - "@angular/core": "github:angular/core-builds#228c809cc86d52454c2d35fa13a5f78e57dd1e34", - "@angular/forms": "github:angular/forms-builds#3ebb088795e5f93489c7b16aef39335d323630d5", - "@angular/language-service": "github:angular/language-service-builds#5576b25268d075a50231d92f2a244f5c100cdbb6", - "@angular/localize": "github:angular/localize-builds#a7927375af661c36b652aea0175ec362c19156e8", + "@angular/common": "github:angular/common-builds#4a574ecd7f4f926aedf37caf5c236d972a70cd58", + "@angular/compiler": "github:angular/compiler-builds#84d5a262885fb9b45cfae764ce87bbb316156408", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#ddf20b9e25eeda3c8663050a8cb4da56f69c1e88", + "@angular/core": "github:angular/core-builds#4f83abb0614bddb4782d901c72b33660b6c6a260", + "@angular/forms": "github:angular/forms-builds#76abdfe1f2b9dcf5c609a46deeaac2565ba6e5a8", + "@angular/language-service": "github:angular/language-service-builds#e8e1e1bfd69c6bc793de5925fe012eb9102e80f5", + "@angular/localize": "github:angular/localize-builds#7c7412067e7ab47e2b9db5f8931b5d8666bc7c94", "@angular/material": "github:angular/material-builds#3c9831b30dbe1d3b8b4a0bb540775e5b5a1e91b9", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#428f8b7bf3219900a4582e2c522ba6c2ebbc9dae", - "@angular/platform-browser": "github:angular/platform-browser-builds#a2e1651874d3dce679a011d06f1cd545584ad155", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#da9ed365668c3d6861743d048f3956c8234a8320", - "@angular/platform-server": "github:angular/platform-server-builds#ec31e2124a7cc745ed4638a90abaa5bbf1bfb9ac", - "@angular/router": "github:angular/router-builds#d0d202d0b62ec3933ff2719aedebca07b77a36c2", - "@angular/service-worker": "github:angular/service-worker-builds#937228d02b74693d66016cc24ed915ee7b32908f" + "@angular/platform-browser": "github:angular/platform-browser-builds#1ca47c1990ec000ce7fe8a6c44c06025f27ca145", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#eee37a0728324b9aed7df56dc79861a9805a2dde", + "@angular/platform-server": "github:angular/platform-server-builds#ea262a7296b6eb039f6a16b63db53d7517c013c0", + "@angular/router": "github:angular/router-builds#4f1b9c07933efaa658d4edf1871076f64f94f0d8", + "@angular/service-worker": "github:angular/service-worker-builds#4f0881bc26e1b4b4bb17d36c6ba563b79eb80027" } } diff --git a/yarn.lock b/yarn.lock index 7341a27884a4..f2d3d36b32ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -175,9 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6": - version "0.0.0-d9f50abe777f5077aee75a35f2fe65bb478638b5" - resolved "https://github.com/angular/dev-infra-private-builds.git#54c89d2b5ea8a35006eafdcd4e24abab6a7c73b6" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7": + version "0.0.0-6f5ad484efbab50c504a6ae0ea15fd9439888321" + uid f557392bfe7eeccdd39e21853ed7d90e02b2bce7 + resolved "https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7" dependencies: "@angular-devkit/build-angular" "14.0.0-next.13" "@angular/benchpress" "0.3.0" @@ -189,7 +190,7 @@ "@bazel/runfiles" "5.4.2" "@bazel/terser" "5.4.2" "@bazel/typescript" "5.4.2" - "@microsoft/api-extractor" "7.23.1" + "@microsoft/api-extractor" "7.23.2" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -1547,26 +1548,26 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.17.2.tgz#033b39a7bac4f3eee3e5ffd406d2af61cedc727e" - integrity sha512-fYfCeBeLm7jnZligC64qHiH4/vzswFLDfyPpX+uKO36OI2kIeMHrYG0zaezmuinKvE4vg1dAz38zZeDbPvBKGg== +"@microsoft/api-extractor-model@7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.17.3.tgz#06899902ab1c10b85690232f21c1585cc158d983" + integrity sha512-ETslFxVEZTEK6mrOARxM34Ll2W/5H2aTk9Pe9dxsMCnthE8O/CaStV4WZAGsvvZKyjelSWgPVYGowxGVnwOMlQ== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.4" + "@rushstack/node-core-library" "3.45.5" -"@microsoft/api-extractor@7.23.1": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.23.1.tgz#483e339cc73669c709ff215a76eb0e6d9a31de5b" - integrity sha512-J5cTjbMzSZPRZT4AKvFI1KmLGHVhV6bHnFcPo3Og9cN9QmknzpKg5BxvpBecEdFKNZxUpUrBkps2xOQ4Fjc6zg== +"@microsoft/api-extractor@7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.23.2.tgz#fb3c4a94751ba6759b8038d3405dda5da17c82b1" + integrity sha512-0LABOAmsHDomKihjoqLvY0mR1dh7R7fqB0O6qrjqAgQGBPxlRJCDH1tzFzlDS2OdeCxhMtFB3xd8EAr44huujg== dependencies: - "@microsoft/api-extractor-model" "7.17.2" + "@microsoft/api-extractor-model" "7.17.3" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.4" + "@rushstack/node-core-library" "3.45.5" "@rushstack/rig-package" "0.3.11" - "@rushstack/ts-command-line" "4.10.10" + "@rushstack/ts-command-line" "4.11.0" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" @@ -1757,10 +1758,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.4": - version "3.45.4" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.4.tgz#a5e1246c462940d16a5acc667c1ffe460b514087" - integrity sha512-FMoEQWjK7nWAO2uFgV1eVpVhY9ZDGOdIIomi9zTej64cKJ+8/Nvu+ny0xKaUDEjw/ALftN2D2ml7L0RDpW/Z9g== +"@rushstack/node-core-library@3.45.5": + version "3.45.5" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.5.tgz#00f92143cc21c3ad94fcd81ba168a40ac8cb77f2" + integrity sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1780,10 +1781,10 @@ resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.10.10": - version "4.10.10" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.10.tgz#69da17b03ce57795b67ea2aabf7c976c81816078" - integrity sha512-F+MH7InPDXqX40qvvcEsnvPpmg566SBpfFqj2fcCh8RjM6AyOoWlXc8zx7giBD3ZN85NVAEjZAgrcLU0z+R2yg== +"@rushstack/ts-command-line@4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.11.0.tgz#4cd3b9f59b41aed600042936260fdaa55ca0184d" + integrity sha512-ptG9L0mjvJ5QtK11GsAFY+jGfsnqHDS6CY6Yw1xT7a9bhjfNYnf6UPwjV+pF6UgiucfNcMDNW9lkDLxvZKKxMg== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" From 3acab290c17568107258e3d5965234a80650d3c8 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 3 May 2022 21:34:54 -0700 Subject: [PATCH 0378/1388] build: replace minimist with yargs-parser --- bin/devkit-admin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/devkit-admin b/bin/devkit-admin index e84cee4e7b4a..04e5dc43192a 100755 --- a/bin/devkit-admin +++ b/bin/devkit-admin @@ -17,10 +17,10 @@ require('../lib/bootstrap-local'); -const minimist = require('minimist'); +const yargsParser = require('yargs-parser'); const path = require('path'); -const args = minimist(process.argv.slice(2), { +const args = yargsParser(process.argv.slice(2), { boolean: ['verbose'] }); const scriptName = args._.shift(); From 736e94511eb31a1f67a72a005fb4065a47987948 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 May 2022 05:27:01 +0000 Subject: [PATCH 0379/1388] build: update dependency puppeteer to v14 --- package.json | 2 +- yarn.lock | 27 +++++++++++---------------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 636761c43301..ee60fa74723b 100644 --- a/package.json +++ b/package.json @@ -186,7 +186,7 @@ "postcss-preset-env": "7.5.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "13.7.0", + "puppeteer": "14.0.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index f2d3d36b32ac..9e3e94f0ba83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4119,10 +4119,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -devtools-protocol@0.0.981744: - version "0.0.981744" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf" - integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg== +devtools-protocol@0.0.982423: + version "0.0.982423" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.982423.tgz#39ac3791d4c5b90ebb416d4384663b7b0cc44154" + integrity sha512-FnVW2nDbjGNw1uD/JRC+9U5768W7e1TfUwqbDTcSsAu1jXFjITSX8w3rkW5FEpHRMPPGpvNSmO1pOpqByiWscA== dezalgo@^1.0.0: version "1.0.4" @@ -8504,14 +8504,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@13.7.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.7.0.tgz#18e16f83e397cf02f7a0804c67c1603d381cfb0b" - integrity sha512-U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA== +puppeteer@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.0.0.tgz#829e97b70fa81746bb88ec2d72f11a7429cc84ab" + integrity sha512-Aj/cySGBMWpUYEWV0YOcwyhq5lOxuuiGScgdj/OvslAm/ydoywiI8OzAIXT4HzKmNTmzm/fKKHHtcsQa/fFgdw== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.981744" + devtools-protocol "0.0.982423" extract-zip "2.0.1" https-proxy-agent "5.0.1" pkg-dir "4.2.0" @@ -8520,7 +8520,7 @@ puppeteer@13.7.0: rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.5.0" + ws "8.6.0" q@1.4.1: version "1.4.1" @@ -10842,12 +10842,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - -ws@>=7.4.6, ws@^8.4.2: +ws@8.6.0, ws@>=7.4.6, ws@^8.4.2: version "8.6.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23" integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw== From ba93117e78797326835a816803947bad1836db50 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Mon, 9 May 2022 15:51:56 +0000 Subject: [PATCH 0380/1388] fix(@angular-devkit/build-angular): properly handle locally-built APF v14 libraries Locally-built APF v14 libraries should be resolved properly. Webpack currently does not resolve them (in e.g. `dist/`) because the local distribution folders are not marked as module roots, causing Webpack to never hit the `module`/`raw-module` resolution hooks and therefore skipping package exports resolution and breaking secondary entry-points from being resolved properly (when bundling). We fix this by also attempting to resolve path mappings as modules, allowing for Webpacks `resolve-in-package` hooks to be activated. These hooks support the `exports` field and therefore APF v14 secondary entry-points which are not necessarily inside a Webpack resolve `modules:` root (but e.g. in `dist/`) --- packages/ngtools/webpack/src/paths-plugin.ts | 79 ++++++++++++----- .../e2e/tests/build/library-with-demo-app.ts | 84 +++++++++++++++++++ 2 files changed, 143 insertions(+), 20 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/build/library-with-demo-app.ts diff --git a/packages/ngtools/webpack/src/paths-plugin.ts b/packages/ngtools/webpack/src/paths-plugin.ts index 60f845ccd140..7b050963f227 100644 --- a/packages/ngtools/webpack/src/paths-plugin.ts +++ b/packages/ngtools/webpack/src/paths-plugin.ts @@ -8,6 +8,7 @@ import * as path from 'path'; import { CompilerOptions } from 'typescript'; + import type { Configuration } from 'webpack'; // eslint-disable-next-line @typescript-eslint/no-empty-interface @@ -16,6 +17,9 @@ export interface TypeScriptPathsPluginOptions extends Pick['resolver'], undefined>; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +type DoResolveValue = any; + interface PathPattern { starIndex: number; prefix: string; @@ -154,8 +158,29 @@ export class TypeScriptPathsPlugin { // For example, if the first one resolves, any others are not needed and do not need // to be created. const replacements = findReplacements(originalRequest, this.patterns); + const basePath = this.baseUrl ?? ''; + + const attemptResolveRequest = (request: DoResolveValue): Promise => { + return new Promise((resolve, reject) => { + resolver.doResolve( + target, + request, + '', + resolveContext, + (error: Error | null, result: DoResolveValue) => { + if (error) { + reject(error); + } else if (result) { + resolve(result); + } else { + resolve(null); + } + }, + ); + }); + }; - const tryResolve = () => { + const tryNextReplacement = () => { const next = replacements.next(); if (next.done) { callback(); @@ -163,31 +188,45 @@ export class TypeScriptPathsPlugin { return; } - const potentialRequest = { + const targetPath = path.resolve(basePath, next.value); + // If there is no extension. i.e. the target does not refer to an explicit + // file, then this is a candidate for module/package resolution. + const canBeModule = path.extname(targetPath) === ''; + + // Resolution in the target location, preserving the original request. + // This will work with the `resolve-in-package` resolution hook, supporting + // package exports for e.g. locally-built APF libraries. + const potentialRequestAsPackage = { ...request, - request: path.resolve(this.baseUrl ?? '', next.value), + path: targetPath, typescriptPathMapped: true, }; - resolver.doResolve( - target, - potentialRequest, - '', - resolveContext, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (error: Error | null, result: any) => { - if (error) { - callback(error); - } else if (result) { - callback(undefined, result); - } else { - tryResolve(); - } - }, - ); + // Resolution in the original callee location, but with the updated request + // to point to the mapped target location. + const potentialRequestAsFile = { + ...request, + request: targetPath, + typescriptPathMapped: true, + }; + + let resultPromise = attemptResolveRequest(potentialRequestAsFile); + + // If the request can be a module, we configure the resolution to try package/module + // resolution if the file resolution did not have a result. + if (canBeModule) { + resultPromise = resultPromise.then( + (result) => result ?? attemptResolveRequest(potentialRequestAsPackage), + ); + } + + // If we have a result, complete. If not, and no error, try the next replacement. + resultPromise + .then((res) => (res === null ? tryNextReplacement() : callback(undefined, res))) + .catch((error) => callback(error)); }; - tryResolve(); + tryNextReplacement(); }, ); } diff --git a/tests/legacy-cli/e2e/tests/build/library-with-demo-app.ts b/tests/legacy-cli/e2e/tests/build/library-with-demo-app.ts new file mode 100644 index 000000000000..02066a53070a --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library-with-demo-app.ts @@ -0,0 +1,84 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { createDir, writeFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; + +export default async function () { + await ng('generate', 'library', 'mylib'); + await createLibraryEntryPoint('secondary', 'SecondaryModule', 'index.ts'); + await createLibraryEntryPoint('another', 'AnotherModule', 'index.ts'); + + // Scenario #1 where we use wildcard path mappings for secondary entry-points. + await updateJsonFile('tsconfig.json', (json) => { + json.compilerOptions.paths = { 'mylib': ['dist/mylib'], 'mylib/*': ['dist/mylib/*'] }; + }); + + await writeFile( + 'src/app/app.module.ts', + ` + import {NgModule} from '@angular/core'; + import {BrowserModule} from '@angular/platform-browser'; + import {SecondaryModule} from 'mylib/secondary'; + import {AnotherModule} from 'mylib/another'; + + import {AppComponent} from './app.component'; + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + SecondaryModule, + AnotherModule, + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + `, + ); + + await ng('build', 'mylib'); + await ng('build'); + + // Scenario #2 where we don't use wildcard path mappings. + await updateJsonFile('tsconfig.json', (json) => { + json.compilerOptions.paths = { + 'mylib': ['dist/mylib'], + 'mylib/secondary': ['dist/mylib/secondary'], + 'mylib/another': ['dist/mylib/another'], + }; + }); + + await ng('build'); +} + +async function createLibraryEntryPoint(name: string, moduleName: string, entryFileName: string) { + await createDir(`projects/mylib/${name}`); + await writeFile( + `projects/mylib/${name}/${entryFileName}`, + ` + import {NgModule} from '@angular/core'; + + @NgModule({}) + export class ${moduleName} {} + `, + ); + + await writeFile( + `projects/mylib/${name}/ng-package.json`, + JSON.stringify({ + lib: { + entryFile: entryFileName, + }, + }), + ); +} From aa30bb156d0960c6567af46c1d0efd83323f7b94 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 10 May 2022 11:32:34 -0700 Subject: [PATCH 0381/1388] test: use random ports for local verdaccio npm servers --- tests/legacy-cli/e2e/utils/registry.ts | 24 ++-- tests/legacy-cli/e2e_runner.ts | 164 ++++++++++++++----------- tests/legacy-cli/verdaccio.yaml | 2 +- tests/legacy-cli/verdaccio_auth.yaml | 4 +- 4 files changed, 108 insertions(+), 86 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/registry.ts b/tests/legacy-cli/e2e/utils/registry.ts index 4395e5b1cae7..6b3b07ade96e 100644 --- a/tests/legacy-cli/e2e/utils/registry.ts +++ b/tests/legacy-cli/e2e/utils/registry.ts @@ -1,17 +1,24 @@ -import { ChildProcess, spawn } from 'child_process'; -import { copyFileSync, mkdtempSync, realpathSync } from 'fs'; +import { spawn } from 'child_process'; +import { mkdtempSync, realpathSync } from 'fs'; import { tmpdir } from 'os'; import { join } from 'path'; -import { writeFile } from './fs'; +import { getGlobalVariable } from './env'; +import { writeFile, readFile } from './fs'; -export function createNpmRegistry(withAuthentication = false): ChildProcess { +export async function createNpmRegistry( + port: number, + httpsPort: number, + withAuthentication = false, +) { // Setup local package registry const registryPath = mkdtempSync(join(realpathSync(tmpdir()), 'angular-cli-e2e-registry-')); - copyFileSync( + let configContent = await readFile( join(__dirname, '../../', withAuthentication ? 'verdaccio_auth.yaml' : 'verdaccio.yaml'), - join(registryPath, 'verdaccio.yaml'), ); + configContent = configContent.replace(/\$\{HTTP_PORT\}/g, String(port)); + configContent = configContent.replace(/\$\{HTTPS_PORT\}/g, String(httpsPort)); + await writeFile(join(registryPath, 'verdaccio.yaml'), configContent); return spawn('node', [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], { cwd: registryPath, @@ -21,7 +28,6 @@ export function createNpmRegistry(withAuthentication = false): ChildProcess { // Token was generated using `echo -n 'testing:s3cret' | openssl base64`. const VALID_TOKEN = `dGVzdGluZzpzM2NyZXQ=`; -const SECURE_REGISTRY = `//localhost:4876/`; export function createNpmConfigForAuthentication( /** @@ -42,7 +48,7 @@ export function createNpmConfigForAuthentication( invalidToken = false, ): Promise { const token = invalidToken ? `invalid=` : VALID_TOKEN; - const registry = SECURE_REGISTRY; + const registry = (getGlobalVariable('package-secure-registry') as string).replace(/^\w+:/, ''); return writeFile( '.npmrc', @@ -68,7 +74,7 @@ export function setNpmEnvVarsForAuthentication( delete process.env['NPM_CONFIG_REGISTRY']; const registryKey = useYarnEnvVariable ? 'YARN_REGISTRY' : 'NPM_CONFIG_REGISTRY'; - process.env[registryKey] = `http:${SECURE_REGISTRY}`; + process.env[registryKey] = getGlobalVariable('package-secure-registry'); process.env['NPM_CONFIG__AUTH'] = invalidToken ? `invalid=` : VALID_TOKEN; diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index c049e8ce0bc3..1581aa5acb40 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -9,6 +9,7 @@ import * as path from 'path'; import { setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; +import { AddressInfo, createServer, Server } from 'net'; Error.stackTraceLimit = Infinity; @@ -122,93 +123,99 @@ if (testsToRun.length == allTests.length) { setGlobalVariable('argv', argv); setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -setGlobalVariable('package-registry', 'http://localhost:4873'); -const registryProcess = createNpmRegistry(); -const secureRegistryProcess = createNpmRegistry(true); +Promise.all([findFreePort(), findFreePort()]) + .then(async ([httpPort, httpsPort]) => { + setGlobalVariable('package-registry', 'http://localhost:' + httpPort); + setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); -testsToRun - .reduce((previous, relativeName, testIndex) => { - // Make sure this is a windows compatible path. - let absoluteName = path.join(e2eRoot, relativeName); - if (/^win/.test(process.platform)) { - absoluteName = absoluteName.replace(/\\/g, path.posix.sep); - } + const registryProcess = await createNpmRegistry(httpPort, httpPort); + const secureRegistryProcess = await createNpmRegistry(httpPort, httpsPort, true); - return previous.then(() => { - currentFileName = relativeName.replace(/\.ts$/, ''); - const start = +new Date(); + return testsToRun + .reduce((previous, relativeName, testIndex) => { + // Make sure this is a windows compatible path. + let absoluteName = path.join(e2eRoot, relativeName); + if (/^win/.test(process.platform)) { + absoluteName = absoluteName.replace(/\\/g, path.posix.sep); + } - const module = require(absoluteName); - const originalEnvVariables = { - ...process.env, - }; + return previous.then(() => { + currentFileName = relativeName.replace(/\.ts$/, ''); + const start = +new Date(); - const fn: (skipClean?: () => void) => Promise | void = - typeof module == 'function' - ? module - : typeof module.default == 'function' - ? module.default - : () => { - throw new Error('Invalid test module.'); - }; + const module = require(absoluteName); + const originalEnvVariables = { + ...process.env, + }; - let clean = true; - let previousDir = null; + const fn: (skipClean?: () => void) => Promise | void = + typeof module == 'function' + ? module + : typeof module.default == 'function' + ? module.default + : () => { + throw new Error('Invalid test module.'); + }; - return Promise.resolve() - .then(() => printHeader(currentFileName, testIndex)) - .then(() => (previousDir = process.cwd())) - .then(() => logStack.push(lastLogger().createChild(currentFileName))) - .then(() => fn(() => (clean = false))) - .then( - () => logStack.pop(), - (err) => { - logStack.pop(); - throw err; - }, - ) - .then(() => console.log('----')) - .then(() => { - // If we're not in a setup, change the directory back to where it was before the test. - // This allows tests to chdir without worrying about keeping the original directory. - if (!allSetups.includes(relativeName) && previousDir) { - process.chdir(previousDir); + let clean = true; + let previousDir = null; - // Restore env variables before each test. - console.log(' Restoring original environment variables...'); - process.env = originalEnvVariables; - } - }) - .then(() => { - // Only clean after a real test, not a setup step. Also skip cleaning if the test - // requested an exception. - if (!allSetups.includes(relativeName) && clean) { - logStack.push(new logging.NullLogger()); - return gitClean().then( + return Promise.resolve() + .then(() => printHeader(currentFileName, testIndex)) + .then(() => (previousDir = process.cwd())) + .then(() => logStack.push(lastLogger().createChild(currentFileName))) + .then(() => fn(() => (clean = false))) + .then( () => logStack.pop(), (err) => { logStack.pop(); throw err; }, + ) + .then(() => console.log('----')) + .then(() => { + // If we're not in a setup, change the directory back to where it was before the test. + // This allows tests to chdir without worrying about keeping the original directory. + if (!allSetups.includes(relativeName) && previousDir) { + process.chdir(previousDir); + + // Restore env variables before each test. + console.log(' Restoring original environment variables...'); + process.env = originalEnvVariables; + } + }) + .then(() => { + // Only clean after a real test, not a setup step. Also skip cleaning if the test + // requested an exception. + if (!allSetups.includes(relativeName) && clean) { + logStack.push(new logging.NullLogger()); + return gitClean().then( + () => logStack.pop(), + (err) => { + logStack.pop(); + throw err; + }, + ); + } + }) + .then( + () => printFooter(currentFileName, start), + (err) => { + printFooter(currentFileName, start); + console.error(err); + throw err; + }, ); - } - }) - .then( - () => printFooter(currentFileName, start), - (err) => { - printFooter(currentFileName, start); - console.error(err); - throw err; - }, - ); - }); - }, Promise.resolve()) + }); + }, Promise.resolve()) + .finally(() => { + registryProcess.kill(); + secureRegistryProcess.kill(); + }); + }) .then( () => { - registryProcess.kill(); - secureRegistryProcess.kill(); - console.log(colors.green('Done.')); process.exit(0); }, @@ -218,9 +225,6 @@ testsToRun console.error(colors.red(err.message)); console.error(colors.red(err.stack)); - registryProcess.kill(); - secureRegistryProcess.kill(); - if (argv.debug) { console.log(`Current Directory: ${process.cwd()}`); console.log('Will loop forever while you debug... CTRL-C to quit.'); @@ -257,3 +261,15 @@ function printFooter(testName: string, startTime: number) { console.log(colors.green('Last step took ') + colors.bold.blue('' + t) + colors.green('s...')); console.log(''); } + +function findFreePort() { + return new Promise((resolve, reject) => { + const srv = createServer(); + srv.once('listening', () => { + const port = (srv.address() as AddressInfo).port; + srv.close((e) => (e ? reject(e) : resolve(port))); + }); + srv.once('error', (e) => srv.close(() => reject(e))); + srv.listen(); + }); +} diff --git a/tests/legacy-cli/verdaccio.yaml b/tests/legacy-cli/verdaccio.yaml index fb693847e666..075da2628cbe 100644 --- a/tests/legacy-cli/verdaccio.yaml +++ b/tests/legacy-cli/verdaccio.yaml @@ -3,7 +3,7 @@ storage: ./storage auth: auth-memory: users: {} -listen: localhost:4873 +listen: localhost:${HTTP_PORT} uplinks: npmjs: url: https://registry.npmjs.org/ diff --git a/tests/legacy-cli/verdaccio_auth.yaml b/tests/legacy-cli/verdaccio_auth.yaml index 25f510d85082..e230030b1095 100644 --- a/tests/legacy-cli/verdaccio_auth.yaml +++ b/tests/legacy-cli/verdaccio_auth.yaml @@ -5,10 +5,10 @@ auth: testing: name: testing password: s3cret -listen: localhost:4876 +listen: localhost:${HTTPS_PORT} uplinks: local: - url: http://localhost:4873 + url: http://localhost:${HTTP_PORT} cache: false maxage: 20m max_fails: 32 From b220f32a698034b87e9b089ff77e6f9d5c6a6fcc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 11 May 2022 13:56:11 +0000 Subject: [PATCH 0382/1388] build: update github/codeql-action action to v2.1.10 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 89090e51651a..eb40aa4e0f11 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@7502d6e991ca767d2db617bfd823a1ed925a0d59 # tag=v2.1.9 + uses: github/codeql-action/upload-sarif@03e2e3c45f9f937ffe65a1caa4c9960d420a31f9 # tag=v2.1.10 with: sarif_file: results.sarif From 5a53da03f0ececb3c572568ddfe07ae3725a1698 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 11 May 2022 15:14:31 -0700 Subject: [PATCH 0383/1388] docs: release notes for the v14.0.0-rc.0 release --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f734fe1248e0..fde47d422916 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ +
+ +# 14.0.0-rc.0 (2022-05-11) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [d46cf6744](https://github.com/angular/angular-cli/commit/d46cf6744eadb70008df1ef25e24fb1db58bb997) | fix | display option descriptions during auto completion | +| [644f86d55](https://github.com/angular/angular-cli/commit/644f86d55b75a289e641ba280e8456be82383b06) | fix | improve error message for Windows autocompletion use cases | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [7e8e42063](https://github.com/angular/angular-cli/commit/7e8e42063f354c402d758f10c8ba9bee7e0c8aff) | fix | add migration to remove `package.json` in libraries secondary entrypoints | +| [1921b07ee](https://github.com/angular/angular-cli/commit/1921b07eeb710875825dc6f7a4452bd5462e6ba7) | fix | don't add path mapping to old entrypoint definition file | +| [27cb29438](https://github.com/angular/angular-cli/commit/27cb29438aa01b185b2dca3617100d87f45f14e8) | fix | remove extra space in standalone imports | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | +| [ac1383f9e](https://github.com/angular/angular-cli/commit/ac1383f9e5d491181812c090bd4323f46110f3d8) | fix | properly handle locally-built APF v14 libraries | + +## Special Thanks + +Alan Agius, Charles Lyding, Cédric Exbrayat, Doug Parker, Jason Bedard, Kristiyan Kostadinov, Paul Gschwendtner and alkavats1 + + + # 14.0.0-next.13 (2022-05-04) From d00ab1c86338167617684f7b3e7348bf01f22dc7 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 11 May 2022 14:27:44 -0700 Subject: [PATCH 0384/1388] test: update standalone test to add Protractor testing support After https://github.com/angular/angular/pull/45885, testability now needs to be explicitly added to `bootstrapApplication()`. (cherry picked from commit 329a2a3798c1d5e60a7c6b165e9da2b9040c223b) --- tests/legacy-cli/e2e/tests/basic/standalone.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/basic/standalone.ts b/tests/legacy-cli/e2e/tests/basic/standalone.ts index f8eeb9a888d4..204d0572f87f 100644 --- a/tests/legacy-cli/e2e/tests/basic/standalone.ts +++ b/tests/legacy-cli/e2e/tests/basic/standalone.ts @@ -22,7 +22,7 @@ import { ng } from '../../utils/process'; const STANDALONE_MAIN_CONTENT = ` import { Component } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { bootstrapApplication } from '@angular/platform-browser'; +import { bootstrapApplication, provideProtractorTestingSupport } from '@angular/platform-browser'; @Component({ selector: 'app-root', @@ -41,7 +41,9 @@ export class AppComponent { isVisible = true; } -bootstrapApplication(AppComponent); +bootstrapApplication(AppComponent, { + providers: [ provideProtractorTestingSupport() ], +}); `; export default async function () { From f4fed58a057632863bd338cf8ac3d4b3ba9bcdff Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 11 May 2022 10:23:58 -0400 Subject: [PATCH 0385/1388] ci: remove redundant PR required statuses check from bot configuration Required PR statuses are now exclusively handled via Github configuration. --- .github/angular-robot.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index b724df975503..d1ff65b42a57 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -39,16 +39,8 @@ merge: - 'PR state: blocked' # list of PR statuses that need to be successful - requiredStatuses: - - 'ci/circleci: build' - - 'ci/circleci: setup' - - 'ci/circleci: lint' - - 'ci/circleci: validate' - - 'ci/circleci: test' - - 'ci/circleci: e2e-cli-win' - - 'ci/circleci: e2e-cli' - - 'ci/circleci: test-browsers' - - 'ci/angular: size' + # NOTE: Required PR statuses are now exclusively handled via Github configuration + requiredStatuses: [] # the comment that will be added when the merge label is added despite failing checks, leave empty or set to false to disable # {{MERGE_LABEL}} will be replaced by the value of the mergeLabel option From a867aa4536a40b96c47a42eeb4c81ab8c00a7153 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 May 2022 12:21:55 +0000 Subject: [PATCH 0386/1388] refactor(@ngtools/webpack): simplify resolution flow by using generators With this change we refactor the paths-plugin resolution flow by using generators which makes the code more readable and easier to follow. --- packages/ngtools/webpack/src/paths-plugin.ts | 280 +++++++++---------- 1 file changed, 138 insertions(+), 142 deletions(-) diff --git a/packages/ngtools/webpack/src/paths-plugin.ts b/packages/ngtools/webpack/src/paths-plugin.ts index 7b050963f227..72bd0e4abd22 100644 --- a/packages/ngtools/webpack/src/paths-plugin.ts +++ b/packages/ngtools/webpack/src/paths-plugin.ts @@ -8,17 +8,20 @@ import * as path from 'path'; import { CompilerOptions } from 'typescript'; - -import type { Configuration } from 'webpack'; +import type { Resolver } from 'webpack'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface TypeScriptPathsPluginOptions extends Pick {} -// Extract Resolver type from Webpack types since it is not directly exported -type Resolver = Exclude['resolver'], undefined>; +// Extract ResolverRequest type from Webpack types since it is not directly exported +type ResolverRequest = NonNullable[4]>[2]>; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -type DoResolveValue = any; +interface PathPluginResolverRequest extends ResolverRequest { + context?: { + issuer?: string; + }; + typescriptPathMapped?: boolean; +} interface PathPattern { starIndex: number; @@ -106,178 +109,171 @@ export class TypeScriptPathsPlugin { // To support synchronous resolvers this hook cannot be promise based. // Webpack supports synchronous resolution with `tap` and `tapAsync` hooks. - resolver.getHook('described-resolve').tapAsync( - 'TypeScriptPathsPlugin', - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (request: any, resolveContext, callback) => { - // Preprocessing of the options will ensure that `patterns` is either undefined or has elements to check - if (!this.patterns) { - callback(); - - return; - } - - if (!request || request.typescriptPathMapped) { - callback(); + resolver + .getHook('described-resolve') + .tapAsync( + 'TypeScriptPathsPlugin', + (request: PathPluginResolverRequest, resolveContext, callback) => { + // Preprocessing of the options will ensure that `patterns` is either undefined or has elements to check + if (!this.patterns) { + callback(); - return; - } + return; + } - const originalRequest = request.request || request.path; - if (!originalRequest) { - callback(); + if (!request || request.typescriptPathMapped) { + callback(); - return; - } + return; + } - // Only work on Javascript/TypeScript issuers. - if (!request.context.issuer || !request.context.issuer.match(/\.[cm]?[jt]sx?$/)) { - callback(); + const originalRequest = request.request || request.path; + if (!originalRequest) { + callback(); - return; - } + return; + } - switch (originalRequest[0]) { - case '.': - case '/': - // Relative or absolute requests are not mapped + // Only work on Javascript/TypeScript issuers. + if (!request?.context?.issuer?.match(/\.[cm]?[jt]sx?$/)) { callback(); return; - case '!': - // Ignore all webpack special requests - if (originalRequest.length > 1 && originalRequest[1] === '!') { + } + + switch (originalRequest[0]) { + case '.': + case '/': + // Relative or absolute requests are not mapped callback(); return; - } - break; - } + case '!': + // Ignore all webpack special requests + if (originalRequest.length > 1 && originalRequest[1] === '!') { + callback(); + + return; + } + break; + } + + // A generator is used to limit the amount of replacements requests that need to be created. + // For example, if the first one resolves, any others are not needed and do not need + // to be created. + const requests = this.createReplacementRequests(request, originalRequest); - // A generator is used to limit the amount of replacements that need to be created. - // For example, if the first one resolves, any others are not needed and do not need - // to be created. - const replacements = findReplacements(originalRequest, this.patterns); - const basePath = this.baseUrl ?? ''; + const tryResolve = () => { + const next = requests.next(); + if (next.done) { + callback(); + + return; + } - const attemptResolveRequest = (request: DoResolveValue): Promise => { - return new Promise((resolve, reject) => { resolver.doResolve( target, - request, + next.value, '', resolveContext, - (error: Error | null, result: DoResolveValue) => { + (error: Error | null | undefined, result: ResolverRequest | null | undefined) => { if (error) { - reject(error); + callback(error); } else if (result) { - resolve(result); + callback(undefined, result); } else { - resolve(null); + tryResolve(); } }, ); - }); - }; - - const tryNextReplacement = () => { - const next = replacements.next(); - if (next.done) { - callback(); - - return; - } - - const targetPath = path.resolve(basePath, next.value); - // If there is no extension. i.e. the target does not refer to an explicit - // file, then this is a candidate for module/package resolution. - const canBeModule = path.extname(targetPath) === ''; - - // Resolution in the target location, preserving the original request. - // This will work with the `resolve-in-package` resolution hook, supporting - // package exports for e.g. locally-built APF libraries. - const potentialRequestAsPackage = { - ...request, - path: targetPath, - typescriptPathMapped: true, }; - // Resolution in the original callee location, but with the updated request - // to point to the mapped target location. - const potentialRequestAsFile = { - ...request, - request: targetPath, - typescriptPathMapped: true, - }; - - let resultPromise = attemptResolveRequest(potentialRequestAsFile); - - // If the request can be a module, we configure the resolution to try package/module - // resolution if the file resolution did not have a result. - if (canBeModule) { - resultPromise = resultPromise.then( - (result) => result ?? attemptResolveRequest(potentialRequestAsPackage), - ); - } + tryResolve(); + }, + ); + } - // If we have a result, complete. If not, and no error, try the next replacement. - resultPromise - .then((res) => (res === null ? tryNextReplacement() : callback(undefined, res))) - .catch((error) => callback(error)); - }; + *findReplacements(originalRequest: string): IterableIterator { + if (!this.patterns) { + return; + } - tryNextReplacement(); - }, - ); - } -} + // check if any path mapping rules are relevant + for (const { starIndex, prefix, suffix, potentials } of this.patterns) { + let partial; -function* findReplacements( - originalRequest: string, - patterns: PathPattern[], -): IterableIterator { - // check if any path mapping rules are relevant - for (const { starIndex, prefix, suffix, potentials } of patterns) { - let partial; - - if (starIndex === -1) { - // No star means an exact match is required - if (prefix === originalRequest) { - partial = ''; - } - } else if (starIndex === 0 && !suffix) { - // Everything matches a single wildcard pattern ("*") - partial = originalRequest; - } else if (!suffix) { - // No suffix means the star is at the end of the pattern - if (originalRequest.startsWith(prefix)) { - partial = originalRequest.slice(prefix.length); - } - } else { - // Star was in the middle of the pattern - if (originalRequest.startsWith(prefix) && originalRequest.endsWith(suffix)) { - partial = originalRequest.substring(prefix.length, originalRequest.length - suffix.length); + if (starIndex === -1) { + // No star means an exact match is required + if (prefix === originalRequest) { + partial = ''; + } + } else if (starIndex === 0 && !suffix) { + // Everything matches a single wildcard pattern ("*") + partial = originalRequest; + } else if (!suffix) { + // No suffix means the star is at the end of the pattern + if (originalRequest.startsWith(prefix)) { + partial = originalRequest.slice(prefix.length); + } + } else { + // Star was in the middle of the pattern + if (originalRequest.startsWith(prefix) && originalRequest.endsWith(suffix)) { + partial = originalRequest.substring( + prefix.length, + originalRequest.length - suffix.length, + ); + } } - } - // If request was not matched, move on to the next pattern - if (partial === undefined) { - continue; - } + // If request was not matched, move on to the next pattern + if (partial === undefined) { + continue; + } - // Create the full replacement values based on the original request and the potentials - // for the successfully matched pattern. - for (const { hasStar, prefix, suffix } of potentials) { - let replacement = prefix; + // Create the full replacement values based on the original request and the potentials + // for the successfully matched pattern. + for (const { hasStar, prefix, suffix } of potentials) { + let replacement = prefix; - if (hasStar) { - replacement += partial; - if (suffix) { - replacement += suffix; + if (hasStar) { + replacement += partial; + if (suffix) { + replacement += suffix; + } } + + yield replacement; } + } + } - yield replacement; + *createReplacementRequests( + request: PathPluginResolverRequest, + originalRequest: string, + ): IterableIterator { + for (const replacement of this.findReplacements(originalRequest)) { + const targetPath = path.resolve(this.baseUrl ?? '', replacement); + // Resolution in the original callee location, but with the updated request + // to point to the mapped target location. + yield { + ...request, + request: targetPath, + typescriptPathMapped: true, + }; + + // If there is no extension. i.e. the target does not refer to an explicit + // file, then this is a candidate for module/package resolution. + const canBeModule = path.extname(targetPath) === ''; + if (canBeModule) { + // Resolution in the target location, preserving the original request. + // This will work with the `resolve-in-package` resolution hook, supporting + // package exports for e.g. locally-built APF libraries. + yield { + ...request, + path: targetPath, + typescriptPathMapped: true, + }; + } } } } From 4be7cdce8283a177b92594bb7b34b4718d0a39c3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 May 2022 09:42:08 +0000 Subject: [PATCH 0387/1388] build: update all non-major dependencies --- package.json | 10 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- .../angular_devkit/schematics/package.json | 2 +- yarn.lock | 175 ++++++++++++++++-- 5 files changed, 172 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index ee60fa74723b..4ac14f077399 100644 --- a/package.json +++ b/package.json @@ -136,8 +136,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.38", - "esbuild-wasm": "0.14.38", + "esbuild": "0.14.39", + "esbuild-wasm": "0.14.39", "eslint": "8.15.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -166,10 +166,10 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.26.1", + "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.0.1", - "ng-packagr": "14.0.0-next.10", + "ng-packagr": "14.0.0-rc.0", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.2", "open": "8.4.0", @@ -217,7 +217,7 @@ "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", - "yargs": "17.4.1", + "yargs": "17.5.0", "yargs-parser": "21.0.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 34c42ef208b4..74a0b69c6d12 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -41,7 +41,7 @@ "semver": "7.3.7", "symbol-observable": "4.0.0", "uuid": "8.3.2", - "yargs": "17.4.1" + "yargs": "17.5.0" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ddd5a70a8b0f..57b9cd972702 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.38", + "esbuild-wasm": "0.14.39", "glob": "8.0.1", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.38" + "esbuild": "0.14.39" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 0b9fe0c3060d..5d00799bd671 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.0.0", - "magic-string": "0.26.1", + "magic-string": "0.26.2", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/yarn.lock b/yarn.lock index 9e3e94f0ba83..cfcbbcc8e310 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4491,106 +4491,211 @@ esbuild-android-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== +esbuild-android-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz#09f12a372eed9743fd77ff6d889ac14f7b340c21" + integrity sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ== + esbuild-android-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== +esbuild-android-arm64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz#f608d00ea03fe26f3b1ab92a30f99220390f3071" + integrity sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA== + esbuild-darwin-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== +esbuild-darwin-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz#31528daa75b4c9317721ede344195163fae3e041" + integrity sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g== + esbuild-darwin-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== +esbuild-darwin-arm64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz#247f770d86d90a215fa194f24f90e30a0bd97245" + integrity sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw== + esbuild-freebsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== +esbuild-freebsd-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz#479414d294905055eb396ebe455ed42213284ee0" + integrity sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ== + esbuild-freebsd-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== +esbuild-freebsd-arm64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz#cedeb10357c88533615921ae767a67dc870a474c" + integrity sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg== + esbuild-linux-32@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== +esbuild-linux-32@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz#d9f008c4322d771f3958f59c1eee5a05cdf92485" + integrity sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg== + esbuild-linux-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== +esbuild-linux-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz#ba58d7f66858913aeb1ab5c6bde1bbd824731795" + integrity sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ== + esbuild-linux-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== +esbuild-linux-arm64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz#708785a30072702b5b1c16b65cf9c25c51202529" + integrity sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ== + esbuild-linux-arm@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== +esbuild-linux-arm@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz#4e8b5deaa7ab60d0d28fab131244ef82b40684f4" + integrity sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ== + esbuild-linux-mips64le@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== +esbuild-linux-mips64le@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz#6f3bf3023f711084e5a1e8190487d2020f39f0f7" + integrity sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw== + esbuild-linux-ppc64le@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== +esbuild-linux-ppc64le@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz#900e718a4ea3f6aedde8424828eeefdd4b48d4b9" + integrity sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ== + esbuild-linux-riscv64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== +esbuild-linux-riscv64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz#dcbff622fa37047a75d2ff7a1d8d2949d80277e4" + integrity sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA== + esbuild-linux-s390x@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== +esbuild-linux-s390x@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz#3f725a7945b419406c99d93744b28552561dcdfd" + integrity sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA== + esbuild-netbsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== +esbuild-netbsd-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz#e10e40b6a765798b90d4eb85901cc85c8b7ff85e" + integrity sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA== + esbuild-openbsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== +esbuild-openbsd-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz#935ec143f75ce10bd9cdb1c87fee00287eb0edbc" + integrity sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA== + esbuild-sunos-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA== +esbuild-sunos-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#0e7aa82b022a2e6d55b0646738b2582c2d72c3c0" + integrity sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg== + esbuild-wasm@0.14.38, esbuild-wasm@^0.14.29: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== +esbuild-wasm@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.39.tgz#e30d735d1f4605d278445ee71497a4af9eb987dd" + integrity sha512-ERthbXykeACyL8gmE1FE2njn/kyBrnj4tuoImtcpry8uNb/McUNtv08TdWA0pGHYxfD76XoaIwKEOMSv25IkFQ== + esbuild-windows-32@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== +esbuild-windows-32@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz#3f1538241f31b538545f4b5841b248cac260fa35" + integrity sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q== + esbuild-windows-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== +esbuild-windows-64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz#b100c59f96d3c2da2e796e42fee4900d755d3e03" + integrity sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow== + esbuild-windows-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw== +esbuild-windows-arm64@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#00268517e665b33c89778d61f144e4256b39f631" + integrity sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA== + esbuild@0.14.38, esbuild@^0.14.29: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" @@ -4617,6 +4722,32 @@ esbuild@0.14.38, esbuild@^0.14.29: esbuild-windows-64 "0.14.38" esbuild-windows-arm64 "0.14.38" +esbuild@0.14.39: + version "0.14.39" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.39.tgz#c926b2259fe6f6d3a94f528fb42e103c5a6d909a" + integrity sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ== + optionalDependencies: + esbuild-android-64 "0.14.39" + esbuild-android-arm64 "0.14.39" + esbuild-darwin-64 "0.14.39" + esbuild-darwin-arm64 "0.14.39" + esbuild-freebsd-64 "0.14.39" + esbuild-freebsd-arm64 "0.14.39" + esbuild-linux-32 "0.14.39" + esbuild-linux-64 "0.14.39" + esbuild-linux-arm "0.14.39" + esbuild-linux-arm64 "0.14.39" + esbuild-linux-mips64le "0.14.39" + esbuild-linux-ppc64le "0.14.39" + esbuild-linux-riscv64 "0.14.39" + esbuild-linux-s390x "0.14.39" + esbuild-netbsd-64 "0.14.39" + esbuild-openbsd-64 "0.14.39" + esbuild-sunos-64 "0.14.39" + esbuild-windows-32 "0.14.39" + esbuild-windows-64 "0.14.39" + esbuild-windows-arm64 "0.14.39" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6877,10 +7008,10 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.1, magic-string@^0.26.0: - version "0.26.1" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" - integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== +magic-string@0.26.2: + version "0.26.2" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" + integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== dependencies: sourcemap-codec "^1.4.8" @@ -6891,6 +7022,13 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" +magic-string@^0.26.0: + version "0.26.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" + integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7244,10 +7382,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-next.10: - version "14.0.0-next.10" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-next.10.tgz#2f287e822a699467c369ccd06d6916786e31b41c" - integrity sha512-xLrWiRT4if1NgqJ42H13rnuodEKzAHeJRmaXnn/NWXEj4xZseZ1A3HclMWgA/u+HtyeHuWrNvvuR5vCKLrzIpA== +ng-packagr@14.0.0-rc.0: + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-rc.0.tgz#55162b3a5ff07c9fc1f095559d79f31a22b9bb9e" + integrity sha512-ileWhRK9Or+3/1bzdB7rw3ZCvMHUo5wbF3hgyLwwsX1bh1TdjLmuEAsSKj39keurBXcUi0mPoj1f4o8gYJXKqg== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -10953,10 +11091,10 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.4.1, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" - integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== +yargs@17.5.0: + version "17.5.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.0.tgz#2706c5431f8c119002a2b106fc9f58b9bb9097a3" + integrity sha512-3sLxVhbAB5OC8qvVRebCLWuouhwh/rswsiDYx3WGxajUk/l4G20SKfrKKFeNIHboUFt2JFgv2yfn+5cgOr/t5A== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -10996,6 +11134,19 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: + version "17.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" + integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 9fd042dccec668867d21996ba0a4f44b581e73cf Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 16 May 2022 05:08:57 +0000 Subject: [PATCH 0388/1388] build: update all non-major dependencies --- package.json | 8 ++--- packages/angular/cli/package.json | 4 +-- .../angular_devkit/architect_cli/package.json | 2 +- .../angular_devkit/benchmark/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +-- .../schematics_cli/package.json | 2 +- yarn.lock | 32 ++++++++++++++----- 7 files changed, 35 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 4ac14f077399..934b0d2b32d1 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", - "ansi-colors": "4.1.1", + "ansi-colors": "4.1.2", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", @@ -144,7 +144,7 @@ "eslint-plugin-import": "2.26.0", "express": "4.18.1", "font-awesome": "^4.7.0", - "glob": "8.0.1", + "glob": "8.0.3", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", "husky": "8.0.1", @@ -186,7 +186,7 @@ "postcss-preset-env": "7.5.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "14.0.0", + "puppeteer": "14.1.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -217,7 +217,7 @@ "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", - "yargs": "17.5.0", + "yargs": "17.5.1", "yargs-parser": "21.0.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 74a0b69c6d12..5234c3b58776 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -27,7 +27,7 @@ "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "@schematics/angular": "0.0.0-PLACEHOLDER", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", + "ansi-colors": "4.1.2", "debug": "4.3.4", "ini": "3.0.0", "inquirer": "8.2.4", @@ -41,7 +41,7 @@ "semver": "7.3.7", "symbol-observable": "4.0.0", "uuid": "8.3.2", - "yargs": "17.5.0" + "yargs": "17.5.1" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index 95da35b93e56..f405ee23f2a0 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -16,7 +16,7 @@ "dependencies": { "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.1", + "ansi-colors": "4.1.2", "progress": "2.0.3", "rxjs": "6.6.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 39c74d9c95a0..cde80d88c495 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -11,7 +11,7 @@ ], "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.1", + "ansi-colors": "4.1.2", "pidusage": "3.0.0", "pidtree": "0.5.0", "rxjs": "6.6.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 57b9cd972702..2b2c400398fc 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -21,7 +21,7 @@ "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.1", + "ansi-colors": "4.1.2", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", @@ -30,7 +30,7 @@ "critters": "0.0.16", "css-loader": "6.7.1", "esbuild-wasm": "0.14.39", - "glob": "8.0.1", + "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.0.0", diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index e1f501f16e8b..a051c980e7b4 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -18,7 +18,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.1", + "ansi-colors": "4.1.2", "inquirer": "8.2.4", "symbol-observable": "4.0.0", "yargs-parser": "21.0.1" diff --git a/yarn.lock b/yarn.lock index cfcbbcc8e310..e59747fa011a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2799,6 +2799,11 @@ ansi-colors@4.1.1, ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== +ansi-colors@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.2.tgz#e33debb85260fbe4ed8f00f1e0c282516109795e" + integrity sha512-cEG18jjLG0O74o/33eEfnmtXYDEY196ZjL0eQEISULF+Imi7vr25l6ntGYmqS5lIrQIEeze+CqUtPVItywE7ZQ== + ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -5538,6 +5543,17 @@ glob@8.0.1, glob@^8.0.0, glob@^8.0.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" + integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -8642,10 +8658,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.0.0.tgz#829e97b70fa81746bb88ec2d72f11a7429cc84ab" - integrity sha512-Aj/cySGBMWpUYEWV0YOcwyhq5lOxuuiGScgdj/OvslAm/ydoywiI8OzAIXT4HzKmNTmzm/fKKHHtcsQa/fFgdw== +puppeteer@14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.0.tgz#319560e20ff451890158d7146c79ab589c6e7031" + integrity sha512-T3eB4f6k9HVttYvyy8drGIKb04M+vxhepqM7qqcVCBTNT3T6M9cUaJT4k7P+a6wSonObJSJUP98JkPDQG+3fJw== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -11091,10 +11107,10 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.5.0: - version "17.5.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.0.tgz#2706c5431f8c119002a2b106fc9f58b9bb9097a3" - integrity sha512-3sLxVhbAB5OC8qvVRebCLWuouhwh/rswsiDYx3WGxajUk/l4G20SKfrKKFeNIHboUFt2JFgv2yfn+5cgOr/t5A== +yargs@17.5.1: + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== dependencies: cliui "^7.0.2" escalade "^3.1.1" From 8ed291d0a5542377b95e38a99dbea7a11d736114 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Thu, 12 May 2022 10:14:06 +0200 Subject: [PATCH 0389/1388] build: update to TypeScript 4.7 RC Bumps up the repo to the RC version of TypeScript 4.7. --- .../angular_devkit/schematics/tools/index.md | 2 +- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- .../Microsoft/TypeScript/BUILD.bazel | 6 +- .../Microsoft/TypeScript/lib/typescript.d.ts | 30 +- .../Microsoft/TypeScript/lib/typescript.js | 39112 ++++++++-------- yarn.lock | 9 +- 7 files changed, 19906 insertions(+), 19257 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/tools/index.md b/goldens/public-api/angular_devkit/schematics/tools/index.md index b4bf5f2fa17b..5c0a6030410d 100644 --- a/goldens/public-api/angular_devkit/schematics/tools/index.md +++ b/goldens/public-api/angular_devkit/schematics/tools/index.md @@ -275,7 +275,7 @@ export class SchematicNameCollisionException extends BaseException { } // @public (undocumented) -export function validateOptionsWithSchema(registry: schema.SchemaRegistry): (schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext | undefined) => Observable; +export function validateOptionsWithSchema(registry: schema.SchemaRegistry): (schematic: FileSystemSchematicDescription, options: T, context?: FileSystemSchematicContext) => Observable; // (No @packageDocumentation comment for this package) diff --git a/package.json b/package.json index 934b0d2b32d1..aa712a42a34f 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.7.0-beta", + "typescript": "4.7.1-rc", "verdaccio": "5.10.2", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.1", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a20981ceaaaa..6e4a2163239a 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.0.0-next.16", "@angular/compiler-cli": "14.0.0-next.16", - "typescript": "4.7.0-beta", + "typescript": "4.7.1-rc", "webpack": "5.72.1" } } diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index 3d46fe5030c6..b942565e8b30 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,11 +1,11 @@ load("//tools:defaults.bzl", "ts_library") # files fetched on 2022-05-06 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.7-beta +# https://github.com/microsoft/TypeScript/releases/tag/v4.7-rc # Commands to download: -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-beta/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-beta/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-rc/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-rc/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js licenses(["notice"]) # Apache 2.0 diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts index 45eed1b64845..fb0a5a0c1e75 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts @@ -2063,7 +2063,7 @@ declare namespace ts { hasNoDefaultLib: boolean; languageVersion: ScriptTarget; /** - * When `module` is `Node12` or `NodeNext`, this field controls whether the + * When `module` is `Node16` or `NodeNext`, this field controls whether the * source file in question is an ESNext-output-format file, or a CommonJS-output-format * module. This is derived by the module resolver as it looks up the file, since * it is derived from either the file extension of the module, or the containing @@ -2172,7 +2172,9 @@ declare namespace ts { export type ResolvedConfigFileName = string & { _isResolvedConfigFileName: never; }; - export type WriteFileCallback = (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void, sourceFiles?: readonly SourceFile[]) => void; + export interface WriteFileCallbackData { + } + export type WriteFileCallback = (fileName: string, text: string, writeByteOrderMark: boolean, onError?: (message: string) => void, sourceFiles?: readonly SourceFile[], data?: WriteFileCallbackData) => void; export class OperationCanceledException { } export interface CancellationToken { @@ -2394,7 +2396,6 @@ declare namespace ts { UseAliasDefinedOutsideCurrentScope = 16384, UseSingleQuotesForStringLiteralType = 268435456, NoTypeReduction = 536870912, - NoUndefinedOptionalParameterType = 1073741824, AllowThisInObjectLiteral = 32768, AllowQualifiedNameInPlaceOfIdentifier = 65536, /** @deprecated AllowQualifedNameInPlaceOfIdentifier. Use AllowQualifiedNameInPlaceOfIdentifier instead. */ @@ -2892,7 +2893,7 @@ declare namespace ts { export enum ModuleResolutionKind { Classic = 1, NodeJs = 2, - Node12 = 3, + Node16 = 3, NodeNext = 99 } export enum ModuleDetectionKind { @@ -2901,7 +2902,7 @@ declare namespace ts { */ Legacy = 1, /** - * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node12+ + * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node16+ */ Auto = 2, /** @@ -3073,7 +3074,7 @@ declare namespace ts { ES2020 = 6, ES2022 = 7, ESNext = 99, - Node12 = 100, + Node16 = 100, NodeNext = 199 } export enum JsxEmit { @@ -4817,7 +4818,7 @@ declare namespace ts { /** * Controls the format the file is detected as - this can be derived from only the path * and files on disk, but needs to be done with a module resolution cache in scope to be performant. - * This is usually `undefined` for compilations that do not have `moduleResolution` values of `node12` or `nodenext`. + * This is usually `undefined` for compilations that do not have `moduleResolution` values of `node16` or `nodenext`. */ impliedNodeFormat?: ModuleKind.ESNext | ModuleKind.CommonJS; /** @@ -6434,7 +6435,18 @@ declare namespace ts { argumentIndex: number; argumentCount: number; } + enum CompletionInfoFlags { + None = 0, + MayIncludeAutoImports = 1, + IsImportStatementCompletion = 2, + IsContinuation = 4, + ResolvedModuleSpecifiers = 8, + ResolvedModuleSpecifiersBeyondLimit = 16, + MayIncludeMethodSnippets = 32 + } interface CompletionInfo { + /** For performance telemetry. */ + flags?: CompletionInfoFlags; /** Not true for all global completions. This will be true if the enclosing scope matches a few syntax kinds. See `isSnippetScope`. */ isGlobalCompletion: boolean; isMemberCompletion: boolean; @@ -6810,7 +6822,7 @@ declare namespace ts { * shape of a the resulting SourceFile. This allows the DocumentRegistry to store * multiple copies of the same file for different compilation settings. A minimal * resolution cache is needed to fully define a source file's shape when - * the compilation settings include `module: node12`+, so providing a cache host + * the compilation settings include `module: node16`+, so providing a cache host * object should be preferred. A common host is a language service `ConfiguredProject`. * @param scriptSnapshot Text of the file. Only used if the file was not found * in the registry and a new one was created. @@ -6829,7 +6841,7 @@ declare namespace ts { * shape of a the resulting SourceFile. This allows the DocumentRegistry to store * multiple copies of the same file for different compilation settings. A minimal * resolution cache is needed to fully define a source file's shape when - * the compilation settings include `module: node12`+, so providing a cache host + * the compilation settings include `module: node16`+, so providing a cache host * object should be preferred. A common host is a language service `ConfiguredProject`. * @param scriptSnapshot Text of the file. * @param version Current version of the file. diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index d2bf2eb475ba..cd94f8f9414c 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -21,7 +21,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { ar[i] = from[i]; } } - return to.concat(ar || from); + return to.concat(ar || Array.prototype.slice.call(from)); }; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { @@ -294,7 +294,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = ts.versionMajorMinor + ".0-beta"; + ts.version = "".concat(ts.versionMajorMinor, ".1-rc"); /* @internal */ var Comparison; (function (Comparison) { @@ -341,7 +341,7 @@ var ts; var constructor = (_a = NativeCollections[nativeFactory]()) !== null && _a !== void 0 ? _a : ts.ShimCollections === null || ts.ShimCollections === void 0 ? void 0 : ts.ShimCollections[shimFactory](ts.getIterator); if (constructor) return constructor; - throw new Error("TypeScript requires an environment that provides a compatible native " + name + " implementation."); + throw new Error("TypeScript requires an environment that provides a compatible native ".concat(name, " implementation.")); } })(ts || (ts = {})); /* @internal */ @@ -1033,9 +1033,9 @@ var ts; case true: // relational comparison // falls through - case 0 /* EqualTo */: + case 0 /* Comparison.EqualTo */: continue; - case -1 /* LessThan */: + case -1 /* Comparison.LessThan */: // If `array` is sorted, `next` should **never** be less than `last`. return ts.Debug.fail("Array is unsorted."); } @@ -1071,7 +1071,7 @@ var ts; var prevElement = array[0]; for (var _i = 0, _a = array.slice(1); _i < _a.length; _i++) { var element = _a[_i]; - if (comparer(prevElement, element) === 1 /* GreaterThan */) { + if (comparer(prevElement, element) === 1 /* Comparison.GreaterThan */) { return false; } prevElement = element; @@ -1125,27 +1125,27 @@ var ts; loopB: for (var offsetA = 0, offsetB = 0; offsetB < arrayB.length; offsetB++) { if (offsetB > 0) { // Ensure `arrayB` is properly sorted. - ts.Debug.assertGreaterThanOrEqual(comparer(arrayB[offsetB], arrayB[offsetB - 1]), 0 /* EqualTo */); + ts.Debug.assertGreaterThanOrEqual(comparer(arrayB[offsetB], arrayB[offsetB - 1]), 0 /* Comparison.EqualTo */); } loopA: for (var startA = offsetA; offsetA < arrayA.length; offsetA++) { if (offsetA > startA) { // Ensure `arrayA` is properly sorted. We only need to perform this check if // `offsetA` has changed since we entered the loop. - ts.Debug.assertGreaterThanOrEqual(comparer(arrayA[offsetA], arrayA[offsetA - 1]), 0 /* EqualTo */); + ts.Debug.assertGreaterThanOrEqual(comparer(arrayA[offsetA], arrayA[offsetA - 1]), 0 /* Comparison.EqualTo */); } switch (comparer(arrayB[offsetB], arrayA[offsetA])) { - case -1 /* LessThan */: + case -1 /* Comparison.LessThan */: // If B is less than A, B does not exist in arrayA. Add B to the result and // move to the next element in arrayB without changing the current position // in arrayA. result.push(arrayB[offsetB]); continue loopB; - case 0 /* EqualTo */: + case 0 /* Comparison.EqualTo */: // If B is equal to A, B exists in arrayA. Move to the next element in // arrayB without adding B to the result or changing the current position // in arrayA. continue loopB; - case 1 /* GreaterThan */: + case 1 /* Comparison.GreaterThan */: // If B is greater than A, we need to keep looking for B in arrayA. Move to // the next element in arrayA and recheck. continue loopA; @@ -1385,12 +1385,12 @@ var ts; var middle = low + ((high - low) >> 1); var midKey = keySelector(array[middle], middle); switch (keyComparer(midKey, key)) { - case -1 /* LessThan */: + case -1 /* Comparison.LessThan */: low = middle + 1; break; - case 0 /* EqualTo */: + case 0 /* Comparison.EqualTo */: return middle; - case 1 /* GreaterThan */: + case 1 /* Comparison.GreaterThan */: high = middle - 1; break; } @@ -1844,7 +1844,7 @@ var ts; function cast(value, test) { if (value !== undefined && test(value)) return value; - return ts.Debug.fail("Invalid cast. The supplied value " + value + " did not pass the test '" + ts.Debug.getFunctionName(test) + "'."); + return ts.Debug.fail("Invalid cast. The supplied value ".concat(value, " did not pass the test '").concat(ts.Debug.getFunctionName(test), "'.")); } ts.cast = cast; /** Does nothing. */ @@ -1935,7 +1935,7 @@ var ts; function memoizeOne(callback) { var map = new ts.Map(); return function (arg) { - var key = typeof arg + ":" + arg; + var key = "".concat(typeof arg, ":").concat(arg); var value = map.get(key); if (value === undefined && !map.has(key)) { value = callback(arg); @@ -2007,11 +2007,11 @@ var ts; } ts.equateStringsCaseSensitive = equateStringsCaseSensitive; function compareComparableValues(a, b) { - return a === b ? 0 /* EqualTo */ : - a === undefined ? -1 /* LessThan */ : - b === undefined ? 1 /* GreaterThan */ : - a < b ? -1 /* LessThan */ : - 1 /* GreaterThan */; + return a === b ? 0 /* Comparison.EqualTo */ : + a === undefined ? -1 /* Comparison.LessThan */ : + b === undefined ? 1 /* Comparison.GreaterThan */ : + a < b ? -1 /* Comparison.LessThan */ : + 1 /* Comparison.GreaterThan */; } /** * Compare two numeric values for their order relative to each other. @@ -2029,7 +2029,7 @@ var ts; } ts.compareTextSpans = compareTextSpans; function min(a, b, compare) { - return compare(a, b) === -1 /* LessThan */ ? a : b; + return compare(a, b) === -1 /* Comparison.LessThan */ ? a : b; } ts.min = min; /** @@ -2046,14 +2046,14 @@ var ts; */ function compareStringsCaseInsensitive(a, b) { if (a === b) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (a === undefined) - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; if (b === undefined) - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; a = a.toUpperCase(); b = b.toUpperCase(); - return a < b ? -1 /* LessThan */ : a > b ? 1 /* GreaterThan */ : 0 /* EqualTo */; + return a < b ? -1 /* Comparison.LessThan */ : a > b ? 1 /* Comparison.GreaterThan */ : 0 /* Comparison.EqualTo */; } ts.compareStringsCaseInsensitive = compareStringsCaseInsensitive; /** @@ -2084,13 +2084,13 @@ var ts; return createStringComparer; function compareWithCallback(a, b, comparer) { if (a === b) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (a === undefined) - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; if (b === undefined) - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; var value = comparer(a, b); - return value < 0 ? -1 /* LessThan */ : value > 0 ? 1 /* GreaterThan */ : 0 /* EqualTo */; + return value < 0 ? -1 /* Comparison.LessThan */ : value > 0 ? 1 /* Comparison.GreaterThan */ : 0 /* Comparison.EqualTo */; } function createIntlCollatorStringComparer(locale) { // Intl.Collator.prototype.compare is bound to the collator. See NOTE in @@ -2120,7 +2120,7 @@ var ts; return compareStrings(a.toUpperCase(), b.toUpperCase()) || compareStrings(a, b); } function compareStrings(a, b) { - return a < b ? -1 /* LessThan */ : a > b ? 1 /* GreaterThan */ : 0 /* EqualTo */; + return a < b ? -1 /* Comparison.LessThan */ : a > b ? 1 /* Comparison.GreaterThan */ : 0 /* Comparison.EqualTo */; } } function getStringComparerFactory() { @@ -2181,9 +2181,9 @@ var ts; } ts.compareStringsCaseSensitiveUI = compareStringsCaseSensitiveUI; function compareProperties(a, b, key, comparer) { - return a === b ? 0 /* EqualTo */ : - a === undefined ? -1 /* LessThan */ : - b === undefined ? 1 /* GreaterThan */ : + return a === b ? 0 /* Comparison.EqualTo */ : + a === undefined ? -1 /* Comparison.LessThan */ : + b === undefined ? 1 /* Comparison.GreaterThan */ : comparer(a[key], b[key]); } ts.compareProperties = compareProperties; @@ -2302,24 +2302,24 @@ var ts; var end = fileName.length; for (var pos = end - 1; pos > 0; pos--) { var ch = fileName.charCodeAt(pos); - if (ch >= 48 /* _0 */ && ch <= 57 /* _9 */) { + if (ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) { // Match a \d+ segment do { --pos; ch = fileName.charCodeAt(pos); - } while (pos > 0 && ch >= 48 /* _0 */ && ch <= 57 /* _9 */); + } while (pos > 0 && ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */); } - else if (pos > 4 && (ch === 110 /* n */ || ch === 78 /* N */)) { + else if (pos > 4 && (ch === 110 /* CharacterCodes.n */ || ch === 78 /* CharacterCodes.N */)) { // Looking for "min" or "min" // Already matched the 'n' --pos; ch = fileName.charCodeAt(pos); - if (ch !== 105 /* i */ && ch !== 73 /* I */) { + if (ch !== 105 /* CharacterCodes.i */ && ch !== 73 /* CharacterCodes.I */) { break; } --pos; ch = fileName.charCodeAt(pos); - if (ch !== 109 /* m */ && ch !== 77 /* M */) { + if (ch !== 109 /* CharacterCodes.m */ && ch !== 77 /* CharacterCodes.M */) { break; } --pos; @@ -2329,7 +2329,7 @@ var ts; // This character is not part of either suffix pattern break; } - if (ch !== 45 /* minus */ && ch !== 46 /* dot */) { + if (ch !== 45 /* CharacterCodes.minus */ && ch !== 46 /* CharacterCodes.dot */) { break; } end = pos; @@ -2385,7 +2385,7 @@ var ts; ts.createGetCanonicalFileName = createGetCanonicalFileName; function patternText(_a) { var prefix = _a.prefix, suffix = _a.suffix; - return prefix + "*" + suffix; + return "".concat(prefix, "*").concat(suffix); } ts.patternText = patternText; /** @@ -2485,12 +2485,12 @@ var ts; var newItem = newItems[newIndex]; var oldItem = oldItems[oldIndex]; var compareResult = comparer(newItem, oldItem); - if (compareResult === -1 /* LessThan */) { + if (compareResult === -1 /* Comparison.LessThan */) { inserted(newItem); newIndex++; hasChanges = true; } - else if (compareResult === 1 /* GreaterThan */) { + else if (compareResult === 1 /* Comparison.GreaterThan */) { deleted(oldItem); oldIndex++; hasChanges = true; @@ -2621,7 +2621,7 @@ var ts; (function (Debug) { var typeScriptVersion; /* eslint-disable prefer-const */ - var currentAssertionLevel = 0 /* None */; + var currentAssertionLevel = 0 /* AssertionLevel.None */; Debug.currentLogLevel = LogLevel.Warning; Debug.isDebugging = false; function getTypeScriptVersion() { @@ -2700,7 +2700,7 @@ var ts; } function fail(message, stackCrawlMark) { debugger; - var e = new Error(message ? "Debug Failure. " + message : "Debug Failure."); + var e = new Error(message ? "Debug Failure. ".concat(message) : "Debug Failure."); if (Error.captureStackTrace) { Error.captureStackTrace(e, stackCrawlMark || fail); } @@ -2708,12 +2708,12 @@ var ts; } Debug.fail = fail; function failBadSyntaxKind(node, message, stackCrawlMark) { - return fail((message || "Unexpected node.") + "\r\nNode " + formatSyntaxKind(node.kind) + " was unexpected.", stackCrawlMark || failBadSyntaxKind); + return fail("".concat(message || "Unexpected node.", "\r\nNode ").concat(formatSyntaxKind(node.kind), " was unexpected."), stackCrawlMark || failBadSyntaxKind); } Debug.failBadSyntaxKind = failBadSyntaxKind; function assert(expression, message, verboseDebugInfo, stackCrawlMark) { if (!expression) { - message = message ? "False expression: " + message : "False expression."; + message = message ? "False expression: ".concat(message) : "False expression."; if (verboseDebugInfo) { message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo()); } @@ -2723,26 +2723,26 @@ var ts; Debug.assert = assert; function assertEqual(a, b, msg, msg2, stackCrawlMark) { if (a !== b) { - var message = msg ? msg2 ? msg + " " + msg2 : msg : ""; - fail("Expected " + a + " === " + b + ". " + message, stackCrawlMark || assertEqual); + var message = msg ? msg2 ? "".concat(msg, " ").concat(msg2) : msg : ""; + fail("Expected ".concat(a, " === ").concat(b, ". ").concat(message), stackCrawlMark || assertEqual); } } Debug.assertEqual = assertEqual; function assertLessThan(a, b, msg, stackCrawlMark) { if (a >= b) { - fail("Expected " + a + " < " + b + ". " + (msg || ""), stackCrawlMark || assertLessThan); + fail("Expected ".concat(a, " < ").concat(b, ". ").concat(msg || ""), stackCrawlMark || assertLessThan); } } Debug.assertLessThan = assertLessThan; function assertLessThanOrEqual(a, b, stackCrawlMark) { if (a > b) { - fail("Expected " + a + " <= " + b, stackCrawlMark || assertLessThanOrEqual); + fail("Expected ".concat(a, " <= ").concat(b), stackCrawlMark || assertLessThanOrEqual); } } Debug.assertLessThanOrEqual = assertLessThanOrEqual; function assertGreaterThanOrEqual(a, b, stackCrawlMark) { if (a < b) { - fail("Expected " + a + " >= " + b, stackCrawlMark || assertGreaterThanOrEqual); + fail("Expected ".concat(a, " >= ").concat(b), stackCrawlMark || assertGreaterThanOrEqual); } } Debug.assertGreaterThanOrEqual = assertGreaterThanOrEqual; @@ -2773,42 +2773,42 @@ var ts; function assertNever(member, message, stackCrawlMark) { if (message === void 0) { message = "Illegal value:"; } var detail = typeof member === "object" && ts.hasProperty(member, "kind") && ts.hasProperty(member, "pos") ? "SyntaxKind: " + formatSyntaxKind(member.kind) : JSON.stringify(member); - return fail(message + " " + detail, stackCrawlMark || assertNever); + return fail("".concat(message, " ").concat(detail), stackCrawlMark || assertNever); } Debug.assertNever = assertNever; function assertEachNode(nodes, test, message, stackCrawlMark) { - if (shouldAssertFunction(1 /* Normal */, "assertEachNode")) { - assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertEachNode); + if (shouldAssertFunction(1 /* AssertionLevel.Normal */, "assertEachNode")) { + assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '".concat(getFunctionName(test), "'."); }, stackCrawlMark || assertEachNode); } } Debug.assertEachNode = assertEachNode; function assertNode(node, test, message, stackCrawlMark) { - if (shouldAssertFunction(1 /* Normal */, "assertNode")) { - assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNode); + if (shouldAssertFunction(1 /* AssertionLevel.Normal */, "assertNode")) { + assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNode); } } Debug.assertNode = assertNode; function assertNotNode(node, test, message, stackCrawlMark) { - if (shouldAssertFunction(1 /* Normal */, "assertNotNode")) { - assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " should not have passed test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNotNode); + if (shouldAssertFunction(1 /* AssertionLevel.Normal */, "assertNotNode")) { + assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " should not have passed test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNotNode); } } Debug.assertNotNode = assertNotNode; function assertOptionalNode(node, test, message, stackCrawlMark) { - if (shouldAssertFunction(1 /* Normal */, "assertOptionalNode")) { - assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertOptionalNode); + if (shouldAssertFunction(1 /* AssertionLevel.Normal */, "assertOptionalNode")) { + assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertOptionalNode); } } Debug.assertOptionalNode = assertOptionalNode; function assertOptionalToken(node, kind, message, stackCrawlMark) { - if (shouldAssertFunction(1 /* Normal */, "assertOptionalToken")) { - assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " was not a '" + formatSyntaxKind(kind) + "' token."; }, stackCrawlMark || assertOptionalToken); + if (shouldAssertFunction(1 /* AssertionLevel.Normal */, "assertOptionalToken")) { + assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " was not a '").concat(formatSyntaxKind(kind), "' token."); }, stackCrawlMark || assertOptionalToken); } } Debug.assertOptionalToken = assertOptionalToken; function assertMissingNode(node, message, stackCrawlMark) { - if (shouldAssertFunction(1 /* Normal */, "assertMissingNode")) { - assert(node === undefined, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " was unexpected'."; }, stackCrawlMark || assertMissingNode); + if (shouldAssertFunction(1 /* AssertionLevel.Normal */, "assertMissingNode")) { + assert(node === undefined, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " was unexpected'."); }, stackCrawlMark || assertMissingNode); } } Debug.assertMissingNode = assertMissingNode; @@ -2829,7 +2829,7 @@ var ts; } Debug.getFunctionName = getFunctionName; function formatSymbol(symbol) { - return "{ name: " + ts.unescapeLeadingUnderscores(symbol.escapedName) + "; flags: " + formatSymbolFlags(symbol.flags) + "; declarations: " + ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }) + " }"; + return "{ name: ".concat(ts.unescapeLeadingUnderscores(symbol.escapedName), "; flags: ").concat(formatSymbolFlags(symbol.flags), "; declarations: ").concat(ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }), " }"); } Debug.formatSymbol = formatSymbol; /** @@ -2850,7 +2850,7 @@ var ts; break; } if (enumValue !== 0 && enumValue & value) { - result = "" + result + (result ? "|" : "") + enumName; + result = "".concat(result).concat(result ? "|" : "").concat(enumName); remainingFlags &= ~enumValue; } } @@ -2947,20 +2947,20 @@ var ts; // for use with vscode-js-debug's new customDescriptionGenerator in launch.json __tsDebuggerDisplay: { value: function () { - var flowHeader = this.flags & 2 /* Start */ ? "FlowStart" : - this.flags & 4 /* BranchLabel */ ? "FlowBranchLabel" : - this.flags & 8 /* LoopLabel */ ? "FlowLoopLabel" : - this.flags & 16 /* Assignment */ ? "FlowAssignment" : - this.flags & 32 /* TrueCondition */ ? "FlowTrueCondition" : - this.flags & 64 /* FalseCondition */ ? "FlowFalseCondition" : - this.flags & 128 /* SwitchClause */ ? "FlowSwitchClause" : - this.flags & 256 /* ArrayMutation */ ? "FlowArrayMutation" : - this.flags & 512 /* Call */ ? "FlowCall" : - this.flags & 1024 /* ReduceLabel */ ? "FlowReduceLabel" : - this.flags & 1 /* Unreachable */ ? "FlowUnreachable" : + var flowHeader = this.flags & 2 /* FlowFlags.Start */ ? "FlowStart" : + this.flags & 4 /* FlowFlags.BranchLabel */ ? "FlowBranchLabel" : + this.flags & 8 /* FlowFlags.LoopLabel */ ? "FlowLoopLabel" : + this.flags & 16 /* FlowFlags.Assignment */ ? "FlowAssignment" : + this.flags & 32 /* FlowFlags.TrueCondition */ ? "FlowTrueCondition" : + this.flags & 64 /* FlowFlags.FalseCondition */ ? "FlowFalseCondition" : + this.flags & 128 /* FlowFlags.SwitchClause */ ? "FlowSwitchClause" : + this.flags & 256 /* FlowFlags.ArrayMutation */ ? "FlowArrayMutation" : + this.flags & 512 /* FlowFlags.Call */ ? "FlowCall" : + this.flags & 1024 /* FlowFlags.ReduceLabel */ ? "FlowReduceLabel" : + this.flags & 1 /* FlowFlags.Unreachable */ ? "FlowUnreachable" : "UnknownFlow"; - var remainingFlags = this.flags & ~(2048 /* Referenced */ - 1); - return "" + flowHeader + (remainingFlags ? " (" + formatFlowFlags(remainingFlags) + ")" : ""); + var remainingFlags = this.flags & ~(2048 /* FlowFlags.Referenced */ - 1); + return "".concat(flowHeader).concat(remainingFlags ? " (".concat(formatFlowFlags(remainingFlags), ")") : ""); } }, __debugFlowFlags: { get: function () { return formatEnum(this.flags, ts.FlowFlags, /*isFlags*/ true); } }, @@ -2999,7 +2999,7 @@ var ts; // We don't care, this is debug code that's only enabled with a debugger attached - // we're just taking note of it for anyone checking regex performance in the future. defaultValue = String(defaultValue).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/, "]"); - return "NodeArray " + defaultValue; + return "NodeArray ".concat(defaultValue); } } }); @@ -3051,10 +3051,10 @@ var ts; // for use with vscode-js-debug's new customDescriptionGenerator in launch.json __tsDebuggerDisplay: { value: function () { - var symbolHeader = this.flags & 33554432 /* Transient */ ? "TransientSymbol" : + var symbolHeader = this.flags & 33554432 /* SymbolFlags.Transient */ ? "TransientSymbol" : "Symbol"; - var remainingSymbolFlags = this.flags & ~33554432 /* Transient */; - return symbolHeader + " '" + ts.symbolName(this) + "'" + (remainingSymbolFlags ? " (" + formatSymbolFlags(remainingSymbolFlags) + ")" : ""); + var remainingSymbolFlags = this.flags & ~33554432 /* SymbolFlags.Transient */; + return "".concat(symbolHeader, " '").concat(ts.symbolName(this), "'").concat(remainingSymbolFlags ? " (".concat(formatSymbolFlags(remainingSymbolFlags), ")") : ""); } }, __debugFlags: { get: function () { return formatSymbolFlags(this.flags); } } @@ -3063,35 +3063,35 @@ var ts; // for use with vscode-js-debug's new customDescriptionGenerator in launch.json __tsDebuggerDisplay: { value: function () { - var typeHeader = this.flags & 98304 /* Nullable */ ? "NullableType" : - this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType " + JSON.stringify(this.value) : - this.flags & 2048 /* BigIntLiteral */ ? "LiteralType " + (this.value.negative ? "-" : "") + this.value.base10Value + "n" : - this.flags & 8192 /* UniqueESSymbol */ ? "UniqueESSymbolType" : - this.flags & 32 /* Enum */ ? "EnumType" : - this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType " + this.intrinsicName : - this.flags & 1048576 /* Union */ ? "UnionType" : - this.flags & 2097152 /* Intersection */ ? "IntersectionType" : - this.flags & 4194304 /* Index */ ? "IndexType" : - this.flags & 8388608 /* IndexedAccess */ ? "IndexedAccessType" : - this.flags & 16777216 /* Conditional */ ? "ConditionalType" : - this.flags & 33554432 /* Substitution */ ? "SubstitutionType" : - this.flags & 262144 /* TypeParameter */ ? "TypeParameter" : - this.flags & 524288 /* Object */ ? - this.objectFlags & 3 /* ClassOrInterface */ ? "InterfaceType" : - this.objectFlags & 4 /* Reference */ ? "TypeReference" : - this.objectFlags & 8 /* Tuple */ ? "TupleType" : - this.objectFlags & 16 /* Anonymous */ ? "AnonymousType" : - this.objectFlags & 32 /* Mapped */ ? "MappedType" : - this.objectFlags & 1024 /* ReverseMapped */ ? "ReverseMappedType" : - this.objectFlags & 256 /* EvolvingArray */ ? "EvolvingArrayType" : + var typeHeader = this.flags & 98304 /* TypeFlags.Nullable */ ? "NullableType" : + this.flags & 384 /* TypeFlags.StringOrNumberLiteral */ ? "LiteralType ".concat(JSON.stringify(this.value)) : + this.flags & 2048 /* TypeFlags.BigIntLiteral */ ? "LiteralType ".concat(this.value.negative ? "-" : "").concat(this.value.base10Value, "n") : + this.flags & 8192 /* TypeFlags.UniqueESSymbol */ ? "UniqueESSymbolType" : + this.flags & 32 /* TypeFlags.Enum */ ? "EnumType" : + this.flags & 67359327 /* TypeFlags.Intrinsic */ ? "IntrinsicType ".concat(this.intrinsicName) : + this.flags & 1048576 /* TypeFlags.Union */ ? "UnionType" : + this.flags & 2097152 /* TypeFlags.Intersection */ ? "IntersectionType" : + this.flags & 4194304 /* TypeFlags.Index */ ? "IndexType" : + this.flags & 8388608 /* TypeFlags.IndexedAccess */ ? "IndexedAccessType" : + this.flags & 16777216 /* TypeFlags.Conditional */ ? "ConditionalType" : + this.flags & 33554432 /* TypeFlags.Substitution */ ? "SubstitutionType" : + this.flags & 262144 /* TypeFlags.TypeParameter */ ? "TypeParameter" : + this.flags & 524288 /* TypeFlags.Object */ ? + this.objectFlags & 3 /* ObjectFlags.ClassOrInterface */ ? "InterfaceType" : + this.objectFlags & 4 /* ObjectFlags.Reference */ ? "TypeReference" : + this.objectFlags & 8 /* ObjectFlags.Tuple */ ? "TupleType" : + this.objectFlags & 16 /* ObjectFlags.Anonymous */ ? "AnonymousType" : + this.objectFlags & 32 /* ObjectFlags.Mapped */ ? "MappedType" : + this.objectFlags & 1024 /* ObjectFlags.ReverseMapped */ ? "ReverseMappedType" : + this.objectFlags & 256 /* ObjectFlags.EvolvingArray */ ? "EvolvingArrayType" : "ObjectType" : "Type"; - var remainingObjectFlags = this.flags & 524288 /* Object */ ? this.objectFlags & ~1343 /* ObjectTypeKindMask */ : 0; - return "" + typeHeader + (this.symbol ? " '" + ts.symbolName(this.symbol) + "'" : "") + (remainingObjectFlags ? " (" + formatObjectFlags(remainingObjectFlags) + ")" : ""); + var remainingObjectFlags = this.flags & 524288 /* TypeFlags.Object */ ? this.objectFlags & ~1343 /* ObjectFlags.ObjectTypeKindMask */ : 0; + return "".concat(typeHeader).concat(this.symbol ? " '".concat(ts.symbolName(this.symbol), "'") : "").concat(remainingObjectFlags ? " (".concat(formatObjectFlags(remainingObjectFlags), ")") : ""); } }, __debugFlags: { get: function () { return formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get: function () { return this.flags & 524288 /* Object */ ? formatObjectFlags(this.objectFlags) : ""; } }, + __debugObjectFlags: { get: function () { return this.flags & 524288 /* TypeFlags.Object */ ? formatObjectFlags(this.objectFlags) : ""; } }, __debugTypeToString: { value: function () { // avoid recomputing @@ -3123,11 +3123,11 @@ var ts; __tsDebuggerDisplay: { value: function () { var nodeHeader = ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" : - ts.isIdentifier(this) ? "Identifier '" + ts.idText(this) + "'" : - ts.isPrivateIdentifier(this) ? "PrivateIdentifier '" + ts.idText(this) + "'" : - ts.isStringLiteral(this) ? "StringLiteral " + JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...") : - ts.isNumericLiteral(this) ? "NumericLiteral " + this.text : - ts.isBigIntLiteral(this) ? "BigIntLiteral " + this.text + "n" : + ts.isIdentifier(this) ? "Identifier '".concat(ts.idText(this), "'") : + ts.isPrivateIdentifier(this) ? "PrivateIdentifier '".concat(ts.idText(this), "'") : + ts.isStringLiteral(this) ? "StringLiteral ".concat(JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")) : + ts.isNumericLiteral(this) ? "NumericLiteral ".concat(this.text) : + ts.isBigIntLiteral(this) ? "BigIntLiteral ".concat(this.text, "n") : ts.isTypeParameterDeclaration(this) ? "TypeParameterDeclaration" : ts.isParameter(this) ? "ParameterDeclaration" : ts.isConstructorDeclaration(this) ? "ConstructorDeclaration" : @@ -3159,7 +3159,7 @@ var ts; ts.isNamedTupleMember(this) ? "NamedTupleMember" : ts.isImportTypeNode(this) ? "ImportTypeNode" : formatSyntaxKind(this.kind); - return "" + nodeHeader + (this.flags ? " (" + formatNodeFlags(this.flags) + ")" : ""); + return "".concat(nodeHeader).concat(this.flags ? " (".concat(formatNodeFlags(this.flags), ")") : ""); } }, __debugKind: { get: function () { return formatSyntaxKind(this.kind); } }, @@ -3206,10 +3206,10 @@ var ts; Debug.enableDebugInfo = enableDebugInfo; function formatDeprecationMessage(name, error, errorAfter, since, message) { var deprecationMessage = error ? "DeprecationError: " : "DeprecationWarning: "; - deprecationMessage += "'" + name + "' "; - deprecationMessage += since ? "has been deprecated since v" + since : "is deprecated"; - deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v" + errorAfter + "." : "."; - deprecationMessage += message ? " " + ts.formatStringFromArgs(message, [name], 0) : ""; + deprecationMessage += "'".concat(name, "' "); + deprecationMessage += since ? "has been deprecated since v".concat(since) : "is deprecated"; + deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v".concat(errorAfter, ".") : "."; + deprecationMessage += message ? " ".concat(ts.formatStringFromArgs(message, [name], 0)) : ""; return deprecationMessage; } function createErrorDeprecation(name, errorAfter, since, message) { @@ -3323,9 +3323,9 @@ var ts; // https://semver.org/#spec-item-11 // > Build metadata does not figure into precedence if (this === other) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (other === undefined) - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; return ts.compareValues(this.major, other.major) || ts.compareValues(this.minor, other.minor) || ts.compareValues(this.patch, other.patch) @@ -3340,11 +3340,11 @@ var ts; } }; Version.prototype.toString = function () { - var result = this.major + "." + this.minor + "." + this.patch; + var result = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); if (ts.some(this.prerelease)) - result += "-" + this.prerelease.join("."); + result += "-".concat(this.prerelease.join(".")); if (ts.some(this.build)) - result += "+" + this.build.join("."); + result += "+".concat(this.build.join(".")); return result; }; Version.zero = new Version(0, 0, 0); @@ -3373,11 +3373,11 @@ var ts; // > When major, minor, and patch are equal, a pre-release version has lower precedence // > than a normal version. if (left === right) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (left.length === 0) - return right.length === 0 ? 0 /* EqualTo */ : 1 /* GreaterThan */; + return right.length === 0 ? 0 /* Comparison.EqualTo */ : 1 /* Comparison.GreaterThan */; if (right.length === 0) - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; // https://semver.org/#spec-item-11 // > Precedence for two pre-release versions with the same major, minor, and patch version // > MUST be determined by comparing each dot separated identifier from left to right until @@ -3394,7 +3394,7 @@ var ts; // https://semver.org/#spec-item-11 // > Numeric identifiers always have lower precedence than non-numeric identifiers. if (leftIsNumeric !== rightIsNumeric) - return leftIsNumeric ? -1 /* LessThan */ : 1 /* GreaterThan */; + return leftIsNumeric ? -1 /* Comparison.LessThan */ : 1 /* Comparison.GreaterThan */; // https://semver.org/#spec-item-11 // > identifiers consisting of only digits are compared numerically var result = ts.compareValues(+leftIdentifier, +rightIdentifier); @@ -3611,7 +3611,7 @@ var ts; return ts.map(comparators, formatComparator).join(" "); } function formatComparator(comparator) { - return "" + comparator.operator + comparator.operand; + return "".concat(comparator.operator).concat(comparator.operand); } })(ts || (ts = {})); /*@internal*/ @@ -3909,7 +3909,7 @@ var ts; fs = require("fs"); } catch (e) { - throw new Error("tracing requires having fs\n(original error: " + (e.message || e) + ")"); + throw new Error("tracing requires having fs\n(original error: ".concat(e.message || e, ")")); } } mode = tracingMode; @@ -3921,11 +3921,11 @@ var ts; if (!fs.existsSync(traceDir)) { fs.mkdirSync(traceDir, { recursive: true }); } - var countPart = mode === "build" ? "." + process.pid + "-" + ++traceCount - : mode === "server" ? "." + process.pid + var countPart = mode === "build" ? ".".concat(process.pid, "-").concat(++traceCount) + : mode === "server" ? ".".concat(process.pid) : ""; - var tracePath = ts.combinePaths(traceDir, "trace" + countPart + ".json"); - var typesPath = ts.combinePaths(traceDir, "types" + countPart + ".json"); + var tracePath = ts.combinePaths(traceDir, "trace".concat(countPart, ".json")); + var typesPath = ts.combinePaths(traceDir, "types".concat(countPart, ".json")); legend.push({ configFilePath: configFilePath, tracePath: tracePath, @@ -4015,20 +4015,20 @@ var ts; } // test if [time,endTime) straddles a sampling point else if (sampleInterval - (time % sampleInterval) <= endTime - time) { - writeEvent("X", phase, name, args, "\"dur\":" + (endTime - time), time); + writeEvent("X", phase, name, args, "\"dur\":".concat(endTime - time), time); } } function writeEvent(eventType, phase, name, args, extras, time) { if (time === void 0) { time = 1000 * ts.timestamp(); } // In server mode, there's no easy way to dump type information, so we drop events that would require it. - if (mode === "server" && phase === "checkTypes" /* CheckTypes */) + if (mode === "server" && phase === "checkTypes" /* Phase.CheckTypes */) return; ts.performance.mark("beginTracing"); - fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"" + eventType + "\",\"cat\":\"" + phase + "\",\"ts\":" + time + ",\"name\":\"" + name + "\""); + fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"".concat(eventType, "\",\"cat\":\"").concat(phase, "\",\"ts\":").concat(time, ",\"name\":\"").concat(name, "\"")); if (extras) - fs.writeSync(traceFd, "," + extras); + fs.writeSync(traceFd, ",".concat(extras)); if (args) - fs.writeSync(traceFd, ",\"args\":" + JSON.stringify(args)); + fs.writeSync(traceFd, ",\"args\":".concat(JSON.stringify(args))); fs.writeSync(traceFd, "}"); ts.performance.mark("endTracing"); ts.performance.measure("Tracing", "beginTracing", "endTracing"); @@ -4064,7 +4064,7 @@ var ts; var symbol = (_a = type.aliasSymbol) !== null && _a !== void 0 ? _a : type.symbol; // It's slow to compute the display text, so skip it unless it's really valuable (or cheap) var display = void 0; - if ((objectFlags & 16 /* Anonymous */) | (type.flags & 2944 /* Literal */)) { + if ((objectFlags & 16 /* ObjectFlags.Anonymous */) | (type.flags & 2944 /* TypeFlags.Literal */)) { try { display = (_b = type.checker) === null || _b === void 0 ? void 0 : _b.typeToString(type); } @@ -4073,7 +4073,7 @@ var ts; } } var indexedAccessProperties = {}; - if (type.flags & 8388608 /* IndexedAccess */) { + if (type.flags & 8388608 /* TypeFlags.IndexedAccess */) { var indexedAccessType = type; indexedAccessProperties = { indexedAccessObjectType: (_c = indexedAccessType.objectType) === null || _c === void 0 ? void 0 : _c.id, @@ -4081,7 +4081,7 @@ var ts; }; } var referenceProperties = {}; - if (objectFlags & 4 /* Reference */) { + if (objectFlags & 4 /* ObjectFlags.Reference */) { var referenceType = type; referenceProperties = { instantiatedType: (_e = referenceType.target) === null || _e === void 0 ? void 0 : _e.id, @@ -4090,7 +4090,7 @@ var ts; }; } var conditionalProperties = {}; - if (type.flags & 16777216 /* Conditional */) { + if (type.flags & 16777216 /* TypeFlags.Conditional */) { var conditionalType = type; conditionalProperties = { conditionalCheckType: (_g = conditionalType.checkType) === null || _g === void 0 ? void 0 : _g.id, @@ -4100,7 +4100,7 @@ var ts; }; } var substitutionProperties = {}; - if (type.flags & 33554432 /* Substitution */) { + if (type.flags & 33554432 /* TypeFlags.Substitution */) { var substitutionType = type; substitutionProperties = { substitutionBaseType: (_o = substitutionType.baseType) === null || _o === void 0 ? void 0 : _o.id, @@ -4108,7 +4108,7 @@ var ts; }; } var reverseMappedProperties = {}; - if (objectFlags & 1024 /* ReverseMapped */) { + if (objectFlags & 1024 /* ObjectFlags.ReverseMapped */) { var reverseMappedType = type; reverseMappedProperties = { reverseMappedSourceType: (_q = reverseMappedType.source) === null || _q === void 0 ? void 0 : _q.id, @@ -4117,7 +4117,7 @@ var ts; }; } var evolvingArrayProperties = {}; - if (objectFlags & 256 /* EvolvingArray */) { + if (objectFlags & 256 /* ObjectFlags.EvolvingArray */) { var evolvingArrayType = type; evolvingArrayProperties = { evolvingArrayElementType: evolvingArrayType.elementType.id, @@ -4135,7 +4135,7 @@ var ts; recursionIdentityMap.set(recursionIdentity, recursionToken); } } - var descriptor = __assign(__assign(__assign(__assign(__assign(__assign(__assign({ id: type.id, intrinsicName: type.intrinsicName, symbolName: (symbol === null || symbol === void 0 ? void 0 : symbol.escapedName) && ts.unescapeLeadingUnderscores(symbol.escapedName), recursionId: recursionToken, isTuple: objectFlags & 8 /* Tuple */ ? true : undefined, unionTypes: (type.flags & 1048576 /* Union */) ? (_u = type.types) === null || _u === void 0 ? void 0 : _u.map(function (t) { return t.id; }) : undefined, intersectionTypes: (type.flags & 2097152 /* Intersection */) ? type.types.map(function (t) { return t.id; }) : undefined, aliasTypeArguments: (_v = type.aliasTypeArguments) === null || _v === void 0 ? void 0 : _v.map(function (t) { return t.id; }), keyofType: (type.flags & 4194304 /* Index */) ? (_w = type.type) === null || _w === void 0 ? void 0 : _w.id : undefined }, indexedAccessProperties), referenceProperties), conditionalProperties), substitutionProperties), reverseMappedProperties), evolvingArrayProperties), { destructuringPattern: getLocation(type.pattern), firstDeclaration: getLocation((_x = symbol === null || symbol === void 0 ? void 0 : symbol.declarations) === null || _x === void 0 ? void 0 : _x[0]), flags: ts.Debug.formatTypeFlags(type.flags).split("|"), display: display }); + var descriptor = __assign(__assign(__assign(__assign(__assign(__assign(__assign({ id: type.id, intrinsicName: type.intrinsicName, symbolName: (symbol === null || symbol === void 0 ? void 0 : symbol.escapedName) && ts.unescapeLeadingUnderscores(symbol.escapedName), recursionId: recursionToken, isTuple: objectFlags & 8 /* ObjectFlags.Tuple */ ? true : undefined, unionTypes: (type.flags & 1048576 /* TypeFlags.Union */) ? (_u = type.types) === null || _u === void 0 ? void 0 : _u.map(function (t) { return t.id; }) : undefined, intersectionTypes: (type.flags & 2097152 /* TypeFlags.Intersection */) ? type.types.map(function (t) { return t.id; }) : undefined, aliasTypeArguments: (_v = type.aliasTypeArguments) === null || _v === void 0 ? void 0 : _v.map(function (t) { return t.id; }), keyofType: (type.flags & 4194304 /* TypeFlags.Index */) ? (_w = type.type) === null || _w === void 0 ? void 0 : _w.id : undefined }, indexedAccessProperties), referenceProperties), conditionalProperties), substitutionProperties), reverseMappedProperties), evolvingArrayProperties), { destructuringPattern: getLocation(type.pattern), firstDeclaration: getLocation((_x = symbol === null || symbol === void 0 ? void 0 : symbol.declarations) === null || _x === void 0 ? void 0 : _x[0]), flags: ts.Debug.formatTypeFlags(type.flags).split("|"), display: display }); fs.writeSync(typesFd, JSON.stringify(descriptor)); if (i < numTypes - 1) { fs.writeSync(typesFd, ",\n"); @@ -4854,7 +4854,6 @@ var ts; NodeBuilderFlags[NodeBuilderFlags["UseAliasDefinedOutsideCurrentScope"] = 16384] = "UseAliasDefinedOutsideCurrentScope"; NodeBuilderFlags[NodeBuilderFlags["UseSingleQuotesForStringLiteralType"] = 268435456] = "UseSingleQuotesForStringLiteralType"; NodeBuilderFlags[NodeBuilderFlags["NoTypeReduction"] = 536870912] = "NoTypeReduction"; - NodeBuilderFlags[NodeBuilderFlags["NoUndefinedOptionalParameterType"] = 1073741824] = "NoUndefinedOptionalParameterType"; // Error handling NodeBuilderFlags[NodeBuilderFlags["AllowThisInObjectLiteral"] = 32768] = "AllowThisInObjectLiteral"; NodeBuilderFlags[NodeBuilderFlags["AllowQualifiedNameInPlaceOfIdentifier"] = 65536] = "AllowQualifiedNameInPlaceOfIdentifier"; @@ -5471,10 +5470,11 @@ var ts; ModuleResolutionKind[ModuleResolutionKind["Classic"] = 1] = "Classic"; ModuleResolutionKind[ModuleResolutionKind["NodeJs"] = 2] = "NodeJs"; // Starting with node12, node's module resolver has significant departures from traditional cjs resolution - // to better support ecmascript modules and their use within node - more features are still being added, so - // we can expect it to change over time, and as such, offer both a `NodeNext` moving resolution target, and a `Node12` - // version-anchored resolution target - ModuleResolutionKind[ModuleResolutionKind["Node12"] = 3] = "Node12"; + // to better support ecmascript modules and their use within node - however more features are still being added. + // TypeScript's Node ESM support was introduced after Node 12 went end-of-life, and Node 14 is the earliest stable + // version that supports both pattern trailers - *but*, Node 16 is the first version that also supports ECMASCript 2022. + // In turn, we offer both a `NodeNext` moving resolution target, and a `Node16` version-anchored resolution target + ModuleResolutionKind[ModuleResolutionKind["Node16"] = 3] = "Node16"; ModuleResolutionKind[ModuleResolutionKind["NodeNext"] = 99] = "NodeNext"; })(ModuleResolutionKind = ts.ModuleResolutionKind || (ts.ModuleResolutionKind = {})); var ModuleDetectionKind; @@ -5484,7 +5484,7 @@ var ts; */ ModuleDetectionKind[ModuleDetectionKind["Legacy"] = 1] = "Legacy"; /** - * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node12+ + * Legacy, but also files with jsx under react-jsx or react-jsxdev and esm mode files under moduleResolution: node16+ */ ModuleDetectionKind[ModuleDetectionKind["Auto"] = 2] = "Auto"; /** @@ -5529,8 +5529,8 @@ var ts; ModuleKind[ModuleKind["ES2020"] = 6] = "ES2020"; ModuleKind[ModuleKind["ES2022"] = 7] = "ES2022"; ModuleKind[ModuleKind["ESNext"] = 99] = "ESNext"; - // Node12+ is an amalgam of commonjs (albeit updated) and es2020+, and represents a distinct module system from es2020/esnext - ModuleKind[ModuleKind["Node12"] = 100] = "Node12"; + // Node16+ is an amalgam of commonjs (albeit updated) and es2022+, and represents a distinct module system from es2020/esnext + ModuleKind[ModuleKind["Node16"] = 100] = "Node16"; ModuleKind[ModuleKind["NodeNext"] = 199] = "NodeNext"; })(ModuleKind = ts.ModuleKind || (ts.ModuleKind = {})); var JsxEmit; @@ -6066,37 +6066,37 @@ var ts; { name: "no-default-lib", optional: true }, { name: "resolution-mode", optional: true } ], - kind: 1 /* TripleSlashXML */ + kind: 1 /* PragmaKindFlags.TripleSlashXML */ }, "amd-dependency": { args: [{ name: "path" }, { name: "name", optional: true }], - kind: 1 /* TripleSlashXML */ + kind: 1 /* PragmaKindFlags.TripleSlashXML */ }, "amd-module": { args: [{ name: "name" }], - kind: 1 /* TripleSlashXML */ + kind: 1 /* PragmaKindFlags.TripleSlashXML */ }, "ts-check": { - kind: 2 /* SingleLine */ + kind: 2 /* PragmaKindFlags.SingleLine */ }, "ts-nocheck": { - kind: 2 /* SingleLine */ + kind: 2 /* PragmaKindFlags.SingleLine */ }, "jsx": { args: [{ name: "factory" }], - kind: 4 /* MultiLine */ + kind: 4 /* PragmaKindFlags.MultiLine */ }, "jsxfrag": { args: [{ name: "factory" }], - kind: 4 /* MultiLine */ + kind: 4 /* PragmaKindFlags.MultiLine */ }, "jsximportsource": { args: [{ name: "factory" }], - kind: 4 /* MultiLine */ + kind: 4 /* PragmaKindFlags.MultiLine */ }, "jsxruntime": { args: [{ name: "factory" }], - kind: 4 /* MultiLine */ + kind: 4 /* PragmaKindFlags.MultiLine */ }, }; })(ts || (ts = {})); @@ -6168,7 +6168,7 @@ var ts; pollingChunkSize = getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE", defaultChunkLevels) || pollingChunkSize; ts.unchangedPollThresholds = getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", defaultChunkLevels) || ts.unchangedPollThresholds; function getLevel(envVar, level) { - return system.getEnvironmentVariable(envVar + "_" + level.toUpperCase()); + return system.getEnvironmentVariable("".concat(envVar, "_").concat(level.toUpperCase())); } function getCustomLevels(baseVariable) { var customLevels; @@ -6385,7 +6385,7 @@ var ts; }; } function createDirectoryWatcher(dirName, dirPath, fallbackOptions) { - var watcher = fsWatch(dirName, 1 /* Directory */, function (_eventName, relativeFileName) { + var watcher = fsWatch(dirName, 1 /* FileSystemEntryKind.Directory */, function (_eventName, relativeFileName) { // When files are deleted from disk, the triggered "rename" event would have a relativefileName of "undefined" if (!ts.isString(relativeFileName)) return; @@ -6637,7 +6637,7 @@ var ts; } function onTimerToUpdateChildWatches() { timerToUpdateChildWatches = undefined; - sysLog("sysLog:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size); + sysLog("sysLog:: onTimerToUpdateChildWatches:: ".concat(cacheToUpdateChildWatches.size)); var start = ts.timestamp(); var invokeMap = new ts.Map(); while (!timerToUpdateChildWatches && cacheToUpdateChildWatches.size) { @@ -6650,7 +6650,7 @@ var ts; var hasChanges = updateChildWatches(dirName, dirPath, options); invokeCallbacks(dirPath, invokeMap, hasChanges ? undefined : fileNames); } - sysLog("sysLog:: invokingWatchers:: Elapsed:: " + (ts.timestamp() - start) + "ms:: " + cacheToUpdateChildWatches.size); + sysLog("sysLog:: invokingWatchers:: Elapsed:: ".concat(ts.timestamp() - start, "ms:: ").concat(cacheToUpdateChildWatches.size)); callbackCache.forEach(function (callbacks, rootDirName) { var existing = invokeMap.get(rootDirName); if (existing) { @@ -6666,7 +6666,7 @@ var ts; } }); var elapsed = ts.timestamp() - start; - sysLog("sysLog:: Elapsed:: " + elapsed + "ms:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size + " " + timerToUpdateChildWatches); + sysLog("sysLog:: Elapsed:: ".concat(elapsed, "ms:: onTimerToUpdateChildWatches:: ").concat(cacheToUpdateChildWatches.size, " ").concat(timerToUpdateChildWatches)); } function removeChildWatches(parentWatcher) { if (!parentWatcher) @@ -6689,7 +6689,7 @@ var ts; var childFullName = ts.getNormalizedAbsolutePath(child, parentDir); // Filter our the symbolic link directories since those arent included in recursive watch // which is same behaviour when recursive: true is passed to fs.watch - return !isIgnoredPath(childFullName, options) && filePathComparer(childFullName, ts.normalizePath(realpath(childFullName))) === 0 /* EqualTo */ ? childFullName : undefined; + return !isIgnoredPath(childFullName, options) && filePathComparer(childFullName, ts.normalizePath(realpath(childFullName))) === 0 /* Comparison.EqualTo */ ? childFullName : undefined; }) : ts.emptyArray, parentWatcher.childWatches, function (child, childWatcher) { return filePathComparer(child, childWatcher.dirName); }, createAndAddChildDirectoryWatcher, ts.closeFileWatcher, addChildDirectoryWatcher); parentWatcher.childWatches = newChildWatches || ts.emptyArray; return hasChanges; @@ -6784,7 +6784,7 @@ var ts; case ts.WatchFileKind.FixedChunkSizePolling: return ensureFixedChunkSizePollingWatchFile()(fileName, callback, /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchFileKind.UseFsEvents: - return fsWatch(fileName, 0 /* File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileExists), + return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileExists), /*recursive*/ false, pollingInterval, ts.getFallbackOptions(options)); case ts.WatchFileKind.UseFsEventsOnParentDirectory: if (!nonPollingWatchFile) { @@ -6839,7 +6839,7 @@ var ts; } function watchDirectory(directoryName, callback, recursive, options) { if (fsSupportsRecursiveFsWatch) { - return fsWatch(directoryName, 1 /* Directory */, createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames, getCurrentDirectory), recursive, PollingInterval.Medium, ts.getFallbackOptions(options)); + return fsWatch(directoryName, 1 /* FileSystemEntryKind.Directory */, createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames, getCurrentDirectory), recursive, PollingInterval.Medium, ts.getFallbackOptions(options)); } if (!hostRecursiveDirectoryWatcher) { hostRecursiveDirectoryWatcher = createDirectoryWatcherSupportingRecursive({ @@ -6871,7 +6871,7 @@ var ts; /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchDirectoryKind.UseFsEvents: - return fsWatch(directoryName, 1 /* Directory */, createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames, getCurrentDirectory), recursive, PollingInterval.Medium, ts.getFallbackOptions(watchDirectoryOptions)); + return fsWatch(directoryName, 1 /* FileSystemEntryKind.Directory */, createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames, getCurrentDirectory), recursive, PollingInterval.Medium, ts.getFallbackOptions(watchDirectoryOptions)); default: ts.Debug.assertNever(watchDirectoryKind); } @@ -7126,7 +7126,7 @@ var ts; var remappedPaths = new ts.Map(); var normalizedDir = ts.normalizeSlashes(__dirname); // Windows rooted dir names need an extra `/` prepended to be valid file:/// urls - var fileUrlRoot = "file://" + (ts.getRootLength(normalizedDir) === 1 ? "" : "/") + normalizedDir; + var fileUrlRoot = "file://".concat(ts.getRootLength(normalizedDir) === 1 ? "" : "/").concat(normalizedDir); for (var _i = 0, _a = profile.nodes; _i < _a.length; _i++) { var node = _a[_i]; if (node.callFrame.url) { @@ -7135,7 +7135,7 @@ var ts; node.callFrame.url = ts.getRelativePathToDirectoryOrUrl(fileUrlRoot, url, fileUrlRoot, ts.createGetCanonicalFileName(useCaseSensitiveFileNames), /*isAbsolutePathAnUrl*/ true); } else if (!nativePattern.test(url)) { - node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external" + externalFileCounter + ".js")).get(url); + node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external".concat(externalFileCounter, ".js"))).get(url); externalFileCounter++; } } @@ -7151,7 +7151,7 @@ var ts; if (!err) { try { if ((_b = statSync(profilePath)) === null || _b === void 0 ? void 0 : _b.isDirectory()) { - profilePath = _path.join(profilePath, (new Date()).toISOString().replace(/:/g, "-") + "+P" + process.pid + ".cpuprofile"); + profilePath = _path.join(profilePath, "".concat((new Date()).toISOString().replace(/:/g, "-"), "+P").concat(process.pid, ".cpuprofile")); } } catch (_c) { @@ -7253,7 +7253,7 @@ var ts; * @param createWatcher */ function invokeCallbackAndUpdateWatcher(createWatcher) { - sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher")); // Call the callback for current directory callback("rename", ""); // If watcher is not closed, update it @@ -7278,7 +7278,7 @@ var ts; } } if (hitSystemWatcherLimit) { - sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to fsWatchFile"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to fsWatchFile")); return watchPresentFileSystemEntryWithFsWatchFile(); } try { @@ -7294,7 +7294,7 @@ var ts; // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point // so instead of throwing error, use fs.watchFile hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC"); - sysLog("sysLog:: " + fileOrDirectory + ":: Changing to fsWatchFile"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to fsWatchFile")); return watchPresentFileSystemEntryWithFsWatchFile(); } } @@ -7445,8 +7445,8 @@ var ts; return false; } switch (entryKind) { - case 0 /* File */: return stat.isFile(); - case 1 /* Directory */: return stat.isDirectory(); + case 0 /* FileSystemEntryKind.File */: return stat.isFile(); + case 1 /* FileSystemEntryKind.Directory */: return stat.isDirectory(); default: return false; } } @@ -7458,10 +7458,10 @@ var ts; } } function fileExists(path) { - return fileSystemEntryExists(path, 0 /* File */); + return fileSystemEntryExists(path, 0 /* FileSystemEntryKind.File */); } function directoryExists(path) { - return fileSystemEntryExists(path, 1 /* Directory */); + return fileSystemEntryExists(path, 1 /* FileSystemEntryKind.Directory */); } function getDirectories(path) { return getAccessibleFileSystemEntries(path).directories.slice(); @@ -7525,8 +7525,8 @@ var ts; if (ts.sys && ts.sys.getEnvironmentVariable) { setCustomPollingValues(ts.sys); ts.Debug.setAssertionLevel(/^development$/i.test(ts.sys.getEnvironmentVariable("NODE_ENV")) - ? 1 /* Normal */ - : 0 /* None */); + ? 1 /* AssertionLevel.Normal */ + : 0 /* AssertionLevel.None */); } if (ts.sys && ts.sys.debugMode) { ts.Debug.isDebugging = true; @@ -7549,7 +7549,7 @@ var ts; * Determines whether a charCode corresponds to `/` or `\`. */ function isAnyDirectorySeparator(charCode) { - return charCode === 47 /* slash */ || charCode === 92 /* backslash */; + return charCode === 47 /* CharacterCodes.slash */ || charCode === 92 /* CharacterCodes.backslash */; } ts.isAnyDirectorySeparator = isAnyDirectorySeparator; /** @@ -7636,16 +7636,16 @@ var ts; ts.hasTrailingDirectorySeparator = hasTrailingDirectorySeparator; //// Path Parsing function isVolumeCharacter(charCode) { - return (charCode >= 97 /* a */ && charCode <= 122 /* z */) || - (charCode >= 65 /* A */ && charCode <= 90 /* Z */); + return (charCode >= 97 /* CharacterCodes.a */ && charCode <= 122 /* CharacterCodes.z */) || + (charCode >= 65 /* CharacterCodes.A */ && charCode <= 90 /* CharacterCodes.Z */); } function getFileUrlVolumeSeparatorEnd(url, start) { var ch0 = url.charCodeAt(start); - if (ch0 === 58 /* colon */) + if (ch0 === 58 /* CharacterCodes.colon */) return start + 1; - if (ch0 === 37 /* percent */ && url.charCodeAt(start + 1) === 51 /* _3 */) { + if (ch0 === 37 /* CharacterCodes.percent */ && url.charCodeAt(start + 1) === 51 /* CharacterCodes._3 */) { var ch2 = url.charCodeAt(start + 2); - if (ch2 === 97 /* a */ || ch2 === 65 /* A */) + if (ch2 === 97 /* CharacterCodes.a */ || ch2 === 65 /* CharacterCodes.A */) return start + 3; } return -1; @@ -7659,18 +7659,18 @@ var ts; return 0; var ch0 = path.charCodeAt(0); // POSIX or UNC - if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) { + if (ch0 === 47 /* CharacterCodes.slash */ || ch0 === 92 /* CharacterCodes.backslash */) { if (path.charCodeAt(1) !== ch0) return 1; // POSIX: "/" (or non-normalized "\") - var p1 = path.indexOf(ch0 === 47 /* slash */ ? ts.directorySeparator : ts.altDirectorySeparator, 2); + var p1 = path.indexOf(ch0 === 47 /* CharacterCodes.slash */ ? ts.directorySeparator : ts.altDirectorySeparator, 2); if (p1 < 0) return path.length; // UNC: "//server" or "\\server" return p1 + 1; // UNC: "//server/" or "\\server\" } // DOS - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) { + if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* CharacterCodes.colon */) { var ch2 = path.charCodeAt(2); - if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) + if (ch2 === 47 /* CharacterCodes.slash */ || ch2 === 92 /* CharacterCodes.backslash */) return 3; // DOS: "c:/" or "c:\" if (path.length === 2) return 2; // DOS: "c:" (but not "c:d") @@ -7690,7 +7690,7 @@ var ts; isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) { var volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) { + if (path.charCodeAt(volumeSeparatorEnd) === 47 /* CharacterCodes.slash */) { // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" return ~(volumeSeparatorEnd + 1); } @@ -7767,7 +7767,7 @@ var ts; function tryGetExtensionFromPath(path, extension, stringEqualityComparer) { if (!ts.startsWith(extension, ".")) extension = "." + extension; - if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) { + if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* CharacterCodes.dot */) { var pathExtension = path.slice(path.length - extension.length); if (stringEqualityComparer(pathExtension, extension)) { return pathExtension; @@ -8051,17 +8051,17 @@ var ts; var relativePathSegmentRegExp = /(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/; function comparePathsWorker(a, b, componentComparer) { if (a === b) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (a === undefined) - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; if (b === undefined) - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; // NOTE: Performance optimization - shortcut if the root segments differ as there would be no // need to perform path reduction. var aRoot = a.substring(0, getRootLength(a)); var bRoot = b.substring(0, getRootLength(b)); var result = ts.compareStringsCaseInsensitive(aRoot, bRoot); - if (result !== 0 /* EqualTo */) { + if (result !== 0 /* Comparison.EqualTo */) { return result; } // NOTE: Performance optimization - shortcut if there are no relative path segments in @@ -8078,7 +8078,7 @@ var ts; var sharedLength = Math.min(aComponents.length, bComponents.length); for (var i = 1; i < sharedLength; i++) { var result_2 = componentComparer(aComponents[i], bComponents[i]); - if (result_2 !== 0 /* EqualTo */) { + if (result_2 !== 0 /* Comparison.EqualTo */) { return result_2; } } @@ -8452,6 +8452,7 @@ var ts; _0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias: diag(1274, ts.DiagnosticCategory.Error, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274", "'{0}' modifier can only appear on a type parameter of a class, interface or type alias"), with_statements_are_not_allowed_in_an_async_function_block: diag(1300, ts.DiagnosticCategory.Error, "with_statements_are_not_allowed_in_an_async_function_block_1300", "'with' statements are not allowed in an async function block."), await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(1308, ts.DiagnosticCategory.Error, "await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308", "'await' expressions are only allowed within async functions and at the top levels of modules."), + The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level: diag(1309, ts.DiagnosticCategory.Error, "The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309", "The current file is a CommonJS module and cannot use 'await' at the top level."), Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern: diag(1312, ts.DiagnosticCategory.Error, "Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312", "Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."), The_body_of_an_if_statement_cannot_be_the_empty_statement: diag(1313, ts.DiagnosticCategory.Error, "The_body_of_an_if_statement_cannot_be_the_empty_statement_1313", "The body of an 'if' statement cannot be the empty statement."), Global_module_exports_may_only_appear_in_module_files: diag(1314, ts.DiagnosticCategory.Error, "Global_module_exports_may_only_appear_in_module_files_1314", "Global module exports may only appear in module files."), @@ -8463,10 +8464,10 @@ var ts; Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1320, ts.DiagnosticCategory.Error, "Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320", "Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."), Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1321, ts.DiagnosticCategory.Error, "Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321", "Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."), Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1322, ts.DiagnosticCategory.Error, "Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322", "Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."), - Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node12_or_nodenext: diag(1323, ts.DiagnosticCategory.Error, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node12', or 'nodenext'."), - Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_or_nodenext: diag(1324, ts.DiagnosticCategory.Error, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_or_nodenext_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext' or 'nodenext'."), + Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext: diag(1323, ts.DiagnosticCategory.Error, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."), + Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext: diag(1324, ts.DiagnosticCategory.Error, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."), Argument_of_dynamic_import_cannot_be_spread_element: diag(1325, ts.DiagnosticCategory.Error, "Argument_of_dynamic_import_cannot_be_spread_element_1325", "Argument of dynamic import cannot be spread element."), - Dynamic_import_cannot_have_type_arguments: diag(1326, ts.DiagnosticCategory.Error, "Dynamic_import_cannot_have_type_arguments_1326", "Dynamic import cannot have type arguments."), + This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments: diag(1326, ts.DiagnosticCategory.Error, "This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326", "This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."), String_literal_with_double_quotes_expected: diag(1327, ts.DiagnosticCategory.Error, "String_literal_with_double_quotes_expected_1327", "String literal with double quotes expected."), Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal: diag(1328, ts.DiagnosticCategory.Error, "Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328", "Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."), _0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0: diag(1329, ts.DiagnosticCategory.Error, "_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329", "'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"), @@ -8481,7 +8482,7 @@ var ts; Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: diag(1339, ts.DiagnosticCategory.Error, "Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339", "Module '{0}' does not refer to a value, but is used as a value here."), Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: diag(1340, ts.DiagnosticCategory.Error, "Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340", "Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"), Type_arguments_cannot_be_used_here: diag(1342, ts.DiagnosticCategory.Error, "Type_arguments_cannot_be_used_here_1342", "Type arguments cannot be used here."), - The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node12_or_nodenext: diag(1343, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node12', or 'nodenext'."), + The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext: diag(1343, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."), A_label_is_not_allowed_here: diag(1344, ts.DiagnosticCategory.Error, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."), An_expression_of_type_void_cannot_be_tested_for_truthiness: diag(1345, ts.DiagnosticCategory.Error, "An_expression_of_type_void_cannot_be_tested_for_truthiness_1345", "An expression of type 'void' cannot be tested for truthiness."), This_parameter_is_not_allowed_with_use_strict_directive: diag(1346, ts.DiagnosticCategory.Error, "This_parameter_is_not_allowed_with_use_strict_directive_1346", "This parameter is not allowed with 'use strict' directive."), @@ -8512,7 +8513,7 @@ var ts; await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: diag(1375, ts.DiagnosticCategory.Error, "await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375", "'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."), _0_was_imported_here: diag(1376, ts.DiagnosticCategory.Message, "_0_was_imported_here_1376", "'{0}' was imported here."), _0_was_exported_here: diag(1377, ts.DiagnosticCategory.Message, "_0_was_exported_here_1377", "'{0}' was exported here."), - Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: diag(1378, ts.DiagnosticCategory.Error, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_o_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', or 'nodenext', and the 'target' option is set to 'es2017' or higher."), + Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: diag(1378, ts.DiagnosticCategory.Error, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."), An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type: diag(1379, ts.DiagnosticCategory.Error, "An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379", "An import alias cannot reference a declaration that was exported using 'export type'."), An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type: diag(1380, ts.DiagnosticCategory.Error, "An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380", "An import alias cannot reference a declaration that was imported using 'import type'."), Unexpected_token_Did_you_mean_or_rbrace: diag(1381, ts.DiagnosticCategory.Error, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `}`?"), @@ -8564,7 +8565,7 @@ var ts; File_redirects_to_file_0: diag(1429, ts.DiagnosticCategory.Message, "File_redirects_to_file_0_1429", "File redirects to file '{0}'"), The_file_is_in_the_program_because_Colon: diag(1430, ts.DiagnosticCategory.Message, "The_file_is_in_the_program_because_Colon_1430", "The file is in the program because:"), for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: diag(1431, ts.DiagnosticCategory.Error, "for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431", "'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."), - Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: diag(1432, ts.DiagnosticCategory.Error, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or__1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', or 'nodenext', and the 'target' option is set to 'es2017' or higher."), + Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: diag(1432, ts.DiagnosticCategory.Error, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."), Decorators_may_not_be_applied_to_this_parameters: diag(1433, ts.DiagnosticCategory.Error, "Decorators_may_not_be_applied_to_this_parameters_1433", "Decorators may not be applied to 'this' parameters."), Unexpected_keyword_or_identifier: diag(1434, ts.DiagnosticCategory.Error, "Unexpected_keyword_or_identifier_1434", "Unexpected keyword or identifier."), Unknown_keyword_or_identifier_Did_you_mean_0: diag(1435, ts.DiagnosticCategory.Error, "Unknown_keyword_or_identifier_Did_you_mean_0_1435", "Unknown keyword or identifier. Did you mean '{0}'?"), @@ -8582,7 +8583,7 @@ var ts; Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: diag(1449, ts.DiagnosticCategory.Message, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."), Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments: diag(1450, ts.DiagnosticCategory.Message, "Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450", "Dynamic imports can only accept a module specifier and an optional assertion as arguments"), Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: diag(1451, ts.DiagnosticCategory.Error, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"), - Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext_1452", "Resolution modes are only supported when `moduleResolution` is `node12` or `nodenext`."), + Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452", "Resolution modes are only supported when `moduleResolution` is `node16` or `nodenext`."), resolution_mode_should_be_either_require_or_import: diag(1453, ts.DiagnosticCategory.Error, "resolution_mode_should_be_either_require_or_import_1453", "`resolution-mode` should be either `require` or `import`."), resolution_mode_can_only_be_set_for_type_only_imports: diag(1454, ts.DiagnosticCategory.Error, "resolution_mode_can_only_be_set_for_type_only_imports_1454", "`resolution-mode` can only be set for type-only imports."), resolution_mode_is_the_only_valid_key_for_type_import_assertions: diag(1455, ts.DiagnosticCategory.Error, "resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455", "`resolution-mode` is the only valid key for type import assertions."), @@ -8593,7 +8594,7 @@ var ts; An_import_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1473, ts.DiagnosticCategory.Error, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473", "An import declaration can only be used at the top level of a module."), An_export_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1474, ts.DiagnosticCategory.Error, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474", "An export declaration can only be used at the top level of a module."), Control_what_method_is_used_to_detect_module_format_JS_files: diag(1475, ts.DiagnosticCategory.Message, "Control_what_method_is_used_to_detect_module_format_JS_files_1475", "Control what method is used to detect module-format JS files."), - auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node12_as_modules: diag(1476, ts.DiagnosticCategory.Message, "auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476", "\"auto\": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node12+) as modules."), + auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules: diag(1476, ts.DiagnosticCategory.Message, "auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476", "\"auto\": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules."), The_types_of_0_are_incompatible_between_these_types: diag(2200, ts.DiagnosticCategory.Error, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."), The_types_returned_by_0_are_incompatible_between_these_types: diag(2201, ts.DiagnosticCategory.Error, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."), Call_signature_return_types_0_and_1_are_incompatible: diag(2202, ts.DiagnosticCategory.Error, "Call_signature_return_types_0_and_1_are_incompatible_2202", "Call signature return types '{0}' and '{1}' are incompatible.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), @@ -8602,7 +8603,8 @@ var ts; Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: diag(2205, ts.DiagnosticCategory.Error, "Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205", "Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement: diag(2206, ts.DiagnosticCategory.Error, "The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206", "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."), The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement: diag(2207, ts.DiagnosticCategory.Error, "The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207", "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."), - This_type_parameter_probably_needs_an_extends_object_constraint: diag(2208, ts.DiagnosticCategory.Error, "This_type_parameter_probably_needs_an_extends_object_constraint_2208", "This type parameter probably needs an `extends object` constraint."), + The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: diag(2209, ts.DiagnosticCategory.Error, "The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209", "The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."), + The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: diag(2210, ts.DiagnosticCategory.Error, "The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210", "The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."), Duplicate_identifier_0: diag(2300, ts.DiagnosticCategory.Error, "Duplicate_identifier_0_2300", "Duplicate identifier '{0}'."), Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: diag(2301, ts.DiagnosticCategory.Error, "Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301", "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), Static_members_cannot_reference_class_type_parameters: diag(2302, ts.DiagnosticCategory.Error, "Static_members_cannot_reference_class_type_parameters_2302", "Static members cannot reference class type parameters."), @@ -8853,7 +8855,6 @@ var ts; A_rest_element_cannot_have_a_property_name: diag(2566, ts.DiagnosticCategory.Error, "A_rest_element_cannot_have_a_property_name_2566", "A rest element cannot have a property name."), Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations: diag(2567, ts.DiagnosticCategory.Error, "Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567", "Enum declarations can only merge with namespace or other enum declarations."), Property_0_may_not_exist_on_type_1_Did_you_mean_2: diag(2568, ts.DiagnosticCategory.Error, "Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568", "Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"), - Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators: diag(2569, ts.DiagnosticCategory.Error, "Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569", "Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."), Could_not_find_name_0_Did_you_mean_1: diag(2570, ts.DiagnosticCategory.Error, "Could_not_find_name_0_Did_you_mean_1_2570", "Could not find name '{0}'. Did you mean '{1}'?"), Object_is_of_type_unknown: diag(2571, ts.DiagnosticCategory.Error, "Object_is_of_type_unknown_2571", "Object is of type 'unknown'."), A_rest_element_type_must_be_an_array_type: diag(2574, ts.DiagnosticCategory.Error, "A_rest_element_type_must_be_an_array_type_2574", "A rest element type must be an array type."), @@ -8911,6 +8912,7 @@ var ts; _0_index_signatures_are_incompatible: diag(2634, ts.DiagnosticCategory.Error, "_0_index_signatures_are_incompatible_2634", "'{0}' index signatures are incompatible."), Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable: diag(2635, ts.DiagnosticCategory.Error, "Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635", "Type '{0}' has no signatures for which the type argument list is applicable."), Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation: diag(2636, ts.DiagnosticCategory.Error, "Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636", "Type '{0}' is not assignable to type '{1}' as implied by variance annotation."), + Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types: diag(2637, ts.DiagnosticCategory.Error, "Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637", "Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."), Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity: diag(2649, ts.DiagnosticCategory.Error, "Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649", "Cannot augment module '{0}' with value exports because it resolves to a non-module entity."), A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: diag(2651, ts.DiagnosticCategory.Error, "A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651", "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."), Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: diag(2652, ts.DiagnosticCategory.Error, "Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652", "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."), @@ -9066,6 +9068,7 @@ var ts; This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0: diag(2807, ts.DiagnosticCategory.Error, "This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807", "This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."), A_get_accessor_must_be_at_least_as_accessible_as_the_setter: diag(2808, ts.DiagnosticCategory.Error, "A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808", "A get accessor must be at least as accessible as the setter"), Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses: diag(2809, ts.DiagnosticCategory.Error, "Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809", "Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the the whole assignment in parentheses."), + Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments: diag(2810, ts.DiagnosticCategory.Error, "Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810", "Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."), Initializer_for_property_0: diag(2811, ts.DiagnosticCategory.Error, "Initializer_for_property_0_2811", "Initializer for property '{0}'"), Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom: diag(2812, ts.DiagnosticCategory.Error, "Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812", "Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."), Class_declaration_cannot_implement_overload_list_for_0: diag(2813, ts.DiagnosticCategory.Error, "Class_declaration_cannot_implement_overload_list_for_0_2813", "Class declaration cannot implement overload list for '{0}'."), @@ -9079,8 +9082,8 @@ var ts; Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext: diag(2821, ts.DiagnosticCategory.Error, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821", "Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."), Import_assertions_cannot_be_used_with_type_only_imports_or_exports: diag(2822, ts.DiagnosticCategory.Error, "Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822", "Import assertions cannot be used with type-only imports or exports."), Cannot_find_namespace_0_Did_you_mean_1: diag(2833, ts.DiagnosticCategory.Error, "Cannot_find_namespace_0_Did_you_mean_1_2833", "Cannot find namespace '{0}'. Did you mean '{1}'?"), - Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Consider_adding_an_extension_to_the_import_path: diag(2834, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Consider adding an extension to the import path."), - Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0: diag(2835, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node12' or 'nodenext'. Did you mean '{0}'?"), + Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path: diag(2834, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."), + Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0: diag(2835, ts.DiagnosticCategory.Error, "Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"), Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."), Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."), All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."), @@ -9191,6 +9194,7 @@ var ts; This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0: diag(4122, ts.DiagnosticCategory.Error, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122", "This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."), This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: diag(4123, ts.DiagnosticCategory.Error, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123", "This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"), Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4124, ts.DiagnosticCategory.Error, "Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124", "Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), + Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4125, ts.DiagnosticCategory.Error, "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125", "Resolution mode assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), The_current_host_does_not_support_the_0_option: diag(5001, ts.DiagnosticCategory.Error, "The_current_host_does_not_support_the_0_option_5001", "The current host does not support the '{0}' option."), Cannot_find_the_common_subdirectory_path_for_the_input_files: diag(5009, ts.DiagnosticCategory.Error, "Cannot_find_the_common_subdirectory_path_for_the_input_files_5009", "Cannot find the common subdirectory path for the input files."), File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: diag(5010, ts.DiagnosticCategory.Error, "File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010", "File specification cannot end in a recursive directory wildcard ('**'): '{0}'."), @@ -9746,7 +9750,6 @@ var ts; This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead: diag(7059, ts.DiagnosticCategory.Error, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059", "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."), This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint: diag(7060, ts.DiagnosticCategory.Error, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060", "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."), A_mapped_type_may_not_declare_properties_or_methods: diag(7061, ts.DiagnosticCategory.Error, "A_mapped_type_may_not_declare_properties_or_methods_7061", "A mapped type may not declare properties or methods."), - JSON_imports_are_experimental_in_ES_module_mode_imports: diag(7062, ts.DiagnosticCategory.Error, "JSON_imports_are_experimental_in_ES_module_mode_imports_7062", "JSON imports are experimental in ES module mode imports."), You_cannot_rename_this_element: diag(8000, ts.DiagnosticCategory.Error, "You_cannot_rename_this_element_8000", "You cannot rename this element."), You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library: diag(8001, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001", "You cannot rename elements that are defined in the standard TypeScript library."), import_can_only_be_used_in_TypeScript_files: diag(8002, ts.DiagnosticCategory.Error, "import_can_only_be_used_in_TypeScript_files_8002", "'import ... =' can only be used in TypeScript files."), @@ -10056,100 +10059,100 @@ var ts; var _a; /* @internal */ function tokenIsIdentifierOrKeyword(token) { - return token >= 79 /* Identifier */; + return token >= 79 /* SyntaxKind.Identifier */; } ts.tokenIsIdentifierOrKeyword = tokenIsIdentifierOrKeyword; /* @internal */ function tokenIsIdentifierOrKeywordOrGreaterThan(token) { - return token === 31 /* GreaterThanToken */ || tokenIsIdentifierOrKeyword(token); + return token === 31 /* SyntaxKind.GreaterThanToken */ || tokenIsIdentifierOrKeyword(token); } ts.tokenIsIdentifierOrKeywordOrGreaterThan = tokenIsIdentifierOrKeywordOrGreaterThan; /** @internal */ ts.textToKeywordObj = (_a = { - abstract: 126 /* AbstractKeyword */, - any: 130 /* AnyKeyword */, - as: 127 /* AsKeyword */, - asserts: 128 /* AssertsKeyword */, - assert: 129 /* AssertKeyword */, - bigint: 158 /* BigIntKeyword */, - boolean: 133 /* BooleanKeyword */, - break: 81 /* BreakKeyword */, - case: 82 /* CaseKeyword */, - catch: 83 /* CatchKeyword */, - class: 84 /* ClassKeyword */, - continue: 86 /* ContinueKeyword */, - const: 85 /* ConstKeyword */ + abstract: 126 /* SyntaxKind.AbstractKeyword */, + any: 130 /* SyntaxKind.AnyKeyword */, + as: 127 /* SyntaxKind.AsKeyword */, + asserts: 128 /* SyntaxKind.AssertsKeyword */, + assert: 129 /* SyntaxKind.AssertKeyword */, + bigint: 158 /* SyntaxKind.BigIntKeyword */, + boolean: 133 /* SyntaxKind.BooleanKeyword */, + break: 81 /* SyntaxKind.BreakKeyword */, + case: 82 /* SyntaxKind.CaseKeyword */, + catch: 83 /* SyntaxKind.CatchKeyword */, + class: 84 /* SyntaxKind.ClassKeyword */, + continue: 86 /* SyntaxKind.ContinueKeyword */, + const: 85 /* SyntaxKind.ConstKeyword */ }, - _a["" + "constructor"] = 134 /* ConstructorKeyword */, - _a.debugger = 87 /* DebuggerKeyword */, - _a.declare = 135 /* DeclareKeyword */, - _a.default = 88 /* DefaultKeyword */, - _a.delete = 89 /* DeleteKeyword */, - _a.do = 90 /* DoKeyword */, - _a.else = 91 /* ElseKeyword */, - _a.enum = 92 /* EnumKeyword */, - _a.export = 93 /* ExportKeyword */, - _a.extends = 94 /* ExtendsKeyword */, - _a.false = 95 /* FalseKeyword */, - _a.finally = 96 /* FinallyKeyword */, - _a.for = 97 /* ForKeyword */, - _a.from = 156 /* FromKeyword */, - _a.function = 98 /* FunctionKeyword */, - _a.get = 136 /* GetKeyword */, - _a.if = 99 /* IfKeyword */, - _a.implements = 117 /* ImplementsKeyword */, - _a.import = 100 /* ImportKeyword */, - _a.in = 101 /* InKeyword */, - _a.infer = 137 /* InferKeyword */, - _a.instanceof = 102 /* InstanceOfKeyword */, - _a.interface = 118 /* InterfaceKeyword */, - _a.intrinsic = 138 /* IntrinsicKeyword */, - _a.is = 139 /* IsKeyword */, - _a.keyof = 140 /* KeyOfKeyword */, - _a.let = 119 /* LetKeyword */, - _a.module = 141 /* ModuleKeyword */, - _a.namespace = 142 /* NamespaceKeyword */, - _a.never = 143 /* NeverKeyword */, - _a.new = 103 /* NewKeyword */, - _a.null = 104 /* NullKeyword */, - _a.number = 147 /* NumberKeyword */, - _a.object = 148 /* ObjectKeyword */, - _a.package = 120 /* PackageKeyword */, - _a.private = 121 /* PrivateKeyword */, - _a.protected = 122 /* ProtectedKeyword */, - _a.public = 123 /* PublicKeyword */, - _a.override = 159 /* OverrideKeyword */, - _a.out = 144 /* OutKeyword */, - _a.readonly = 145 /* ReadonlyKeyword */, - _a.require = 146 /* RequireKeyword */, - _a.global = 157 /* GlobalKeyword */, - _a.return = 105 /* ReturnKeyword */, - _a.set = 149 /* SetKeyword */, - _a.static = 124 /* StaticKeyword */, - _a.string = 150 /* StringKeyword */, - _a.super = 106 /* SuperKeyword */, - _a.switch = 107 /* SwitchKeyword */, - _a.symbol = 151 /* SymbolKeyword */, - _a.this = 108 /* ThisKeyword */, - _a.throw = 109 /* ThrowKeyword */, - _a.true = 110 /* TrueKeyword */, - _a.try = 111 /* TryKeyword */, - _a.type = 152 /* TypeKeyword */, - _a.typeof = 112 /* TypeOfKeyword */, - _a.undefined = 153 /* UndefinedKeyword */, - _a.unique = 154 /* UniqueKeyword */, - _a.unknown = 155 /* UnknownKeyword */, - _a.var = 113 /* VarKeyword */, - _a.void = 114 /* VoidKeyword */, - _a.while = 115 /* WhileKeyword */, - _a.with = 116 /* WithKeyword */, - _a.yield = 125 /* YieldKeyword */, - _a.async = 131 /* AsyncKeyword */, - _a.await = 132 /* AwaitKeyword */, - _a.of = 160 /* OfKeyword */, + _a["" + "constructor"] = 134 /* SyntaxKind.ConstructorKeyword */, + _a.debugger = 87 /* SyntaxKind.DebuggerKeyword */, + _a.declare = 135 /* SyntaxKind.DeclareKeyword */, + _a.default = 88 /* SyntaxKind.DefaultKeyword */, + _a.delete = 89 /* SyntaxKind.DeleteKeyword */, + _a.do = 90 /* SyntaxKind.DoKeyword */, + _a.else = 91 /* SyntaxKind.ElseKeyword */, + _a.enum = 92 /* SyntaxKind.EnumKeyword */, + _a.export = 93 /* SyntaxKind.ExportKeyword */, + _a.extends = 94 /* SyntaxKind.ExtendsKeyword */, + _a.false = 95 /* SyntaxKind.FalseKeyword */, + _a.finally = 96 /* SyntaxKind.FinallyKeyword */, + _a.for = 97 /* SyntaxKind.ForKeyword */, + _a.from = 156 /* SyntaxKind.FromKeyword */, + _a.function = 98 /* SyntaxKind.FunctionKeyword */, + _a.get = 136 /* SyntaxKind.GetKeyword */, + _a.if = 99 /* SyntaxKind.IfKeyword */, + _a.implements = 117 /* SyntaxKind.ImplementsKeyword */, + _a.import = 100 /* SyntaxKind.ImportKeyword */, + _a.in = 101 /* SyntaxKind.InKeyword */, + _a.infer = 137 /* SyntaxKind.InferKeyword */, + _a.instanceof = 102 /* SyntaxKind.InstanceOfKeyword */, + _a.interface = 118 /* SyntaxKind.InterfaceKeyword */, + _a.intrinsic = 138 /* SyntaxKind.IntrinsicKeyword */, + _a.is = 139 /* SyntaxKind.IsKeyword */, + _a.keyof = 140 /* SyntaxKind.KeyOfKeyword */, + _a.let = 119 /* SyntaxKind.LetKeyword */, + _a.module = 141 /* SyntaxKind.ModuleKeyword */, + _a.namespace = 142 /* SyntaxKind.NamespaceKeyword */, + _a.never = 143 /* SyntaxKind.NeverKeyword */, + _a.new = 103 /* SyntaxKind.NewKeyword */, + _a.null = 104 /* SyntaxKind.NullKeyword */, + _a.number = 147 /* SyntaxKind.NumberKeyword */, + _a.object = 148 /* SyntaxKind.ObjectKeyword */, + _a.package = 120 /* SyntaxKind.PackageKeyword */, + _a.private = 121 /* SyntaxKind.PrivateKeyword */, + _a.protected = 122 /* SyntaxKind.ProtectedKeyword */, + _a.public = 123 /* SyntaxKind.PublicKeyword */, + _a.override = 159 /* SyntaxKind.OverrideKeyword */, + _a.out = 144 /* SyntaxKind.OutKeyword */, + _a.readonly = 145 /* SyntaxKind.ReadonlyKeyword */, + _a.require = 146 /* SyntaxKind.RequireKeyword */, + _a.global = 157 /* SyntaxKind.GlobalKeyword */, + _a.return = 105 /* SyntaxKind.ReturnKeyword */, + _a.set = 149 /* SyntaxKind.SetKeyword */, + _a.static = 124 /* SyntaxKind.StaticKeyword */, + _a.string = 150 /* SyntaxKind.StringKeyword */, + _a.super = 106 /* SyntaxKind.SuperKeyword */, + _a.switch = 107 /* SyntaxKind.SwitchKeyword */, + _a.symbol = 151 /* SyntaxKind.SymbolKeyword */, + _a.this = 108 /* SyntaxKind.ThisKeyword */, + _a.throw = 109 /* SyntaxKind.ThrowKeyword */, + _a.true = 110 /* SyntaxKind.TrueKeyword */, + _a.try = 111 /* SyntaxKind.TryKeyword */, + _a.type = 152 /* SyntaxKind.TypeKeyword */, + _a.typeof = 112 /* SyntaxKind.TypeOfKeyword */, + _a.undefined = 153 /* SyntaxKind.UndefinedKeyword */, + _a.unique = 154 /* SyntaxKind.UniqueKeyword */, + _a.unknown = 155 /* SyntaxKind.UnknownKeyword */, + _a.var = 113 /* SyntaxKind.VarKeyword */, + _a.void = 114 /* SyntaxKind.VoidKeyword */, + _a.while = 115 /* SyntaxKind.WhileKeyword */, + _a.with = 116 /* SyntaxKind.WithKeyword */, + _a.yield = 125 /* SyntaxKind.YieldKeyword */, + _a.async = 131 /* SyntaxKind.AsyncKeyword */, + _a.await = 132 /* SyntaxKind.AwaitKeyword */, + _a.of = 160 /* SyntaxKind.OfKeyword */, _a); var textToKeyword = new ts.Map(ts.getEntries(ts.textToKeywordObj)); - var textToToken = new ts.Map(ts.getEntries(__assign(__assign({}, ts.textToKeywordObj), { "{": 18 /* OpenBraceToken */, "}": 19 /* CloseBraceToken */, "(": 20 /* OpenParenToken */, ")": 21 /* CloseParenToken */, "[": 22 /* OpenBracketToken */, "]": 23 /* CloseBracketToken */, ".": 24 /* DotToken */, "...": 25 /* DotDotDotToken */, ";": 26 /* SemicolonToken */, ",": 27 /* CommaToken */, "<": 29 /* LessThanToken */, ">": 31 /* GreaterThanToken */, "<=": 32 /* LessThanEqualsToken */, ">=": 33 /* GreaterThanEqualsToken */, "==": 34 /* EqualsEqualsToken */, "!=": 35 /* ExclamationEqualsToken */, "===": 36 /* EqualsEqualsEqualsToken */, "!==": 37 /* ExclamationEqualsEqualsToken */, "=>": 38 /* EqualsGreaterThanToken */, "+": 39 /* PlusToken */, "-": 40 /* MinusToken */, "**": 42 /* AsteriskAsteriskToken */, "*": 41 /* AsteriskToken */, "/": 43 /* SlashToken */, "%": 44 /* PercentToken */, "++": 45 /* PlusPlusToken */, "--": 46 /* MinusMinusToken */, "<<": 47 /* LessThanLessThanToken */, ">": 48 /* GreaterThanGreaterThanToken */, ">>>": 49 /* GreaterThanGreaterThanGreaterThanToken */, "&": 50 /* AmpersandToken */, "|": 51 /* BarToken */, "^": 52 /* CaretToken */, "!": 53 /* ExclamationToken */, "~": 54 /* TildeToken */, "&&": 55 /* AmpersandAmpersandToken */, "||": 56 /* BarBarToken */, "?": 57 /* QuestionToken */, "??": 60 /* QuestionQuestionToken */, "?.": 28 /* QuestionDotToken */, ":": 58 /* ColonToken */, "=": 63 /* EqualsToken */, "+=": 64 /* PlusEqualsToken */, "-=": 65 /* MinusEqualsToken */, "*=": 66 /* AsteriskEqualsToken */, "**=": 67 /* AsteriskAsteriskEqualsToken */, "/=": 68 /* SlashEqualsToken */, "%=": 69 /* PercentEqualsToken */, "<<=": 70 /* LessThanLessThanEqualsToken */, ">>=": 71 /* GreaterThanGreaterThanEqualsToken */, ">>>=": 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */, "&=": 73 /* AmpersandEqualsToken */, "|=": 74 /* BarEqualsToken */, "^=": 78 /* CaretEqualsToken */, "||=": 75 /* BarBarEqualsToken */, "&&=": 76 /* AmpersandAmpersandEqualsToken */, "??=": 77 /* QuestionQuestionEqualsToken */, "@": 59 /* AtToken */, "#": 62 /* HashToken */, "`": 61 /* BacktickToken */ }))); + var textToToken = new ts.Map(ts.getEntries(__assign(__assign({}, ts.textToKeywordObj), { "{": 18 /* SyntaxKind.OpenBraceToken */, "}": 19 /* SyntaxKind.CloseBraceToken */, "(": 20 /* SyntaxKind.OpenParenToken */, ")": 21 /* SyntaxKind.CloseParenToken */, "[": 22 /* SyntaxKind.OpenBracketToken */, "]": 23 /* SyntaxKind.CloseBracketToken */, ".": 24 /* SyntaxKind.DotToken */, "...": 25 /* SyntaxKind.DotDotDotToken */, ";": 26 /* SyntaxKind.SemicolonToken */, ",": 27 /* SyntaxKind.CommaToken */, "<": 29 /* SyntaxKind.LessThanToken */, ">": 31 /* SyntaxKind.GreaterThanToken */, "<=": 32 /* SyntaxKind.LessThanEqualsToken */, ">=": 33 /* SyntaxKind.GreaterThanEqualsToken */, "==": 34 /* SyntaxKind.EqualsEqualsToken */, "!=": 35 /* SyntaxKind.ExclamationEqualsToken */, "===": 36 /* SyntaxKind.EqualsEqualsEqualsToken */, "!==": 37 /* SyntaxKind.ExclamationEqualsEqualsToken */, "=>": 38 /* SyntaxKind.EqualsGreaterThanToken */, "+": 39 /* SyntaxKind.PlusToken */, "-": 40 /* SyntaxKind.MinusToken */, "**": 42 /* SyntaxKind.AsteriskAsteriskToken */, "*": 41 /* SyntaxKind.AsteriskToken */, "/": 43 /* SyntaxKind.SlashToken */, "%": 44 /* SyntaxKind.PercentToken */, "++": 45 /* SyntaxKind.PlusPlusToken */, "--": 46 /* SyntaxKind.MinusMinusToken */, "<<": 47 /* SyntaxKind.LessThanLessThanToken */, ">": 48 /* SyntaxKind.GreaterThanGreaterThanToken */, ">>>": 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */, "&": 50 /* SyntaxKind.AmpersandToken */, "|": 51 /* SyntaxKind.BarToken */, "^": 52 /* SyntaxKind.CaretToken */, "!": 53 /* SyntaxKind.ExclamationToken */, "~": 54 /* SyntaxKind.TildeToken */, "&&": 55 /* SyntaxKind.AmpersandAmpersandToken */, "||": 56 /* SyntaxKind.BarBarToken */, "?": 57 /* SyntaxKind.QuestionToken */, "??": 60 /* SyntaxKind.QuestionQuestionToken */, "?.": 28 /* SyntaxKind.QuestionDotToken */, ":": 58 /* SyntaxKind.ColonToken */, "=": 63 /* SyntaxKind.EqualsToken */, "+=": 64 /* SyntaxKind.PlusEqualsToken */, "-=": 65 /* SyntaxKind.MinusEqualsToken */, "*=": 66 /* SyntaxKind.AsteriskEqualsToken */, "**=": 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */, "/=": 68 /* SyntaxKind.SlashEqualsToken */, "%=": 69 /* SyntaxKind.PercentEqualsToken */, "<<=": 70 /* SyntaxKind.LessThanLessThanEqualsToken */, ">>=": 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */, ">>>=": 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */, "&=": 73 /* SyntaxKind.AmpersandEqualsToken */, "|=": 74 /* SyntaxKind.BarEqualsToken */, "^=": 78 /* SyntaxKind.CaretEqualsToken */, "||=": 75 /* SyntaxKind.BarBarEqualsToken */, "&&=": 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */, "??=": 77 /* SyntaxKind.QuestionQuestionEqualsToken */, "@": 59 /* SyntaxKind.AtToken */, "#": 62 /* SyntaxKind.HashToken */, "`": 61 /* SyntaxKind.BacktickToken */ }))); /* As per ECMAScript Language Specification 3th Edition, Section 7.6: Identifiers IdentifierStart :: @@ -10238,16 +10241,16 @@ var ts; return false; } /* @internal */ function isUnicodeIdentifierStart(code, languageVersion) { - return languageVersion >= 2 /* ES2015 */ ? + return languageVersion >= 2 /* ScriptTarget.ES2015 */ ? lookupInUnicodeMap(code, unicodeESNextIdentifierStart) : - languageVersion === 1 /* ES5 */ ? lookupInUnicodeMap(code, unicodeES5IdentifierStart) : + languageVersion === 1 /* ScriptTarget.ES5 */ ? lookupInUnicodeMap(code, unicodeES5IdentifierStart) : lookupInUnicodeMap(code, unicodeES3IdentifierStart); } ts.isUnicodeIdentifierStart = isUnicodeIdentifierStart; function isUnicodeIdentifierPart(code, languageVersion) { - return languageVersion >= 2 /* ES2015 */ ? + return languageVersion >= 2 /* ScriptTarget.ES2015 */ ? lookupInUnicodeMap(code, unicodeESNextIdentifierPart) : - languageVersion === 1 /* ES5 */ ? lookupInUnicodeMap(code, unicodeES5IdentifierPart) : + languageVersion === 1 /* ScriptTarget.ES5 */ ? lookupInUnicodeMap(code, unicodeES5IdentifierPart) : lookupInUnicodeMap(code, unicodeES3IdentifierPart); } function makeReverseMap(source) { @@ -10276,17 +10279,17 @@ var ts; var ch = text.charCodeAt(pos); pos++; switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos) === 10 /* lineFeed */) { + case 13 /* CharacterCodes.carriageReturn */: + if (text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) { pos++; } // falls through - case 10 /* lineFeed */: + case 10 /* CharacterCodes.lineFeed */: result.push(lineStart); lineStart = pos; break; default: - if (ch > 127 /* maxAsciiCharacter */ && isLineBreak(ch)) { + if (ch > 127 /* CharacterCodes.maxAsciiCharacter */ && isLineBreak(ch)) { result.push(lineStart); lineStart = pos; } @@ -10311,7 +10314,7 @@ var ts; line = line < 0 ? 0 : line >= lineStarts.length ? lineStarts.length - 1 : line; } else { - ts.Debug.fail("Bad line number. Line: " + line + ", lineStarts.length: " + lineStarts.length + " , line map is correct? " + (debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown")); + ts.Debug.fail("Bad line number. Line: ".concat(line, ", lineStarts.length: ").concat(lineStarts.length, " , line map is correct? ").concat(debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown")); } } var res = lineStarts[line] + character; @@ -10389,18 +10392,18 @@ var ts; function isWhiteSpaceSingleLine(ch) { // Note: nextLine is in the Zs space, and should be considered to be a whitespace. // It is explicitly not a line-break as it isn't in the exact set specified by EcmaScript. - return ch === 32 /* space */ || - ch === 9 /* tab */ || - ch === 11 /* verticalTab */ || - ch === 12 /* formFeed */ || - ch === 160 /* nonBreakingSpace */ || - ch === 133 /* nextLine */ || - ch === 5760 /* ogham */ || - ch >= 8192 /* enQuad */ && ch <= 8203 /* zeroWidthSpace */ || - ch === 8239 /* narrowNoBreakSpace */ || - ch === 8287 /* mathematicalSpace */ || - ch === 12288 /* ideographicSpace */ || - ch === 65279 /* byteOrderMark */; + return ch === 32 /* CharacterCodes.space */ || + ch === 9 /* CharacterCodes.tab */ || + ch === 11 /* CharacterCodes.verticalTab */ || + ch === 12 /* CharacterCodes.formFeed */ || + ch === 160 /* CharacterCodes.nonBreakingSpace */ || + ch === 133 /* CharacterCodes.nextLine */ || + ch === 5760 /* CharacterCodes.ogham */ || + ch >= 8192 /* CharacterCodes.enQuad */ && ch <= 8203 /* CharacterCodes.zeroWidthSpace */ || + ch === 8239 /* CharacterCodes.narrowNoBreakSpace */ || + ch === 8287 /* CharacterCodes.mathematicalSpace */ || + ch === 12288 /* CharacterCodes.ideographicSpace */ || + ch === 65279 /* CharacterCodes.byteOrderMark */; } ts.isWhiteSpaceSingleLine = isWhiteSpaceSingleLine; function isLineBreak(ch) { @@ -10414,50 +10417,50 @@ var ts; // \u2029 Paragraph separator // Only the characters in Table 3 are treated as line terminators. Other new line or line // breaking characters are treated as white space but not as line terminators. - return ch === 10 /* lineFeed */ || - ch === 13 /* carriageReturn */ || - ch === 8232 /* lineSeparator */ || - ch === 8233 /* paragraphSeparator */; + return ch === 10 /* CharacterCodes.lineFeed */ || + ch === 13 /* CharacterCodes.carriageReturn */ || + ch === 8232 /* CharacterCodes.lineSeparator */ || + ch === 8233 /* CharacterCodes.paragraphSeparator */; } ts.isLineBreak = isLineBreak; function isDigit(ch) { - return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; + return ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */; } function isHexDigit(ch) { - return isDigit(ch) || ch >= 65 /* A */ && ch <= 70 /* F */ || ch >= 97 /* a */ && ch <= 102 /* f */; + return isDigit(ch) || ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */ || ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */; } function isCodePoint(code) { return code <= 0x10FFFF; } /* @internal */ function isOctalDigit(ch) { - return ch >= 48 /* _0 */ && ch <= 55 /* _7 */; + return ch >= 48 /* CharacterCodes._0 */ && ch <= 55 /* CharacterCodes._7 */; } ts.isOctalDigit = isOctalDigit; function couldStartTrivia(text, pos) { // Keep in sync with skipTrivia var ch = text.charCodeAt(pos); switch (ch) { - case 13 /* carriageReturn */: - case 10 /* lineFeed */: - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: - case 47 /* slash */: + case 13 /* CharacterCodes.carriageReturn */: + case 10 /* CharacterCodes.lineFeed */: + case 9 /* CharacterCodes.tab */: + case 11 /* CharacterCodes.verticalTab */: + case 12 /* CharacterCodes.formFeed */: + case 32 /* CharacterCodes.space */: + case 47 /* CharacterCodes.slash */: // starts of normal trivia // falls through - case 60 /* lessThan */: - case 124 /* bar */: - case 61 /* equals */: - case 62 /* greaterThan */: + case 60 /* CharacterCodes.lessThan */: + case 124 /* CharacterCodes.bar */: + case 61 /* CharacterCodes.equals */: + case 62 /* CharacterCodes.greaterThan */: // Starts of conflict marker trivia return true; - case 35 /* hash */: + case 35 /* CharacterCodes.hash */: // Only if its the beginning can we have #! trivia return pos === 0; default: - return ch > 127 /* maxAsciiCharacter */; + return ch > 127 /* CharacterCodes.maxAsciiCharacter */; } } ts.couldStartTrivia = couldStartTrivia; @@ -10471,29 +10474,29 @@ var ts; while (true) { var ch = text.charCodeAt(pos); switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) { + case 13 /* CharacterCodes.carriageReturn */: + if (text.charCodeAt(pos + 1) === 10 /* CharacterCodes.lineFeed */) { pos++; } // falls through - case 10 /* lineFeed */: + case 10 /* CharacterCodes.lineFeed */: pos++; if (stopAfterLineBreak) { return pos; } canConsumeStar = !!inJSDoc; continue; - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: + case 9 /* CharacterCodes.tab */: + case 11 /* CharacterCodes.verticalTab */: + case 12 /* CharacterCodes.formFeed */: + case 32 /* CharacterCodes.space */: pos++; continue; - case 47 /* slash */: + case 47 /* CharacterCodes.slash */: if (stopAtComments) { break; } - if (text.charCodeAt(pos + 1) === 47 /* slash */) { + if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) { pos += 2; while (pos < text.length) { if (isLineBreak(text.charCodeAt(pos))) { @@ -10504,10 +10507,10 @@ var ts; canConsumeStar = false; continue; } - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) { pos += 2; while (pos < text.length) { - if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + if (text.charCodeAt(pos) === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) { pos += 2; break; } @@ -10517,24 +10520,24 @@ var ts; continue; } break; - case 60 /* lessThan */: - case 124 /* bar */: - case 61 /* equals */: - case 62 /* greaterThan */: + case 60 /* CharacterCodes.lessThan */: + case 124 /* CharacterCodes.bar */: + case 61 /* CharacterCodes.equals */: + case 62 /* CharacterCodes.greaterThan */: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos); canConsumeStar = false; continue; } break; - case 35 /* hash */: + case 35 /* CharacterCodes.hash */: if (pos === 0 && isShebangTrivia(text, pos)) { pos = scanShebangTrivia(text, pos); canConsumeStar = false; continue; } break; - case 42 /* asterisk */: + case 42 /* CharacterCodes.asterisk */: if (canConsumeStar) { pos++; canConsumeStar = false; @@ -10542,7 +10545,7 @@ var ts; } break; default: - if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpaceLike(ch))) { + if (ch > 127 /* CharacterCodes.maxAsciiCharacter */ && (isWhiteSpaceLike(ch))) { pos++; continue; } @@ -10566,8 +10569,8 @@ var ts; return false; } } - return ch === 61 /* equals */ || - text.charCodeAt(pos + mergeConflictMarkerLength) === 32 /* space */; + return ch === 61 /* CharacterCodes.equals */ || + text.charCodeAt(pos + mergeConflictMarkerLength) === 32 /* CharacterCodes.space */; } } return false; @@ -10578,18 +10581,18 @@ var ts; } var ch = text.charCodeAt(pos); var len = text.length; - if (ch === 60 /* lessThan */ || ch === 62 /* greaterThan */) { + if (ch === 60 /* CharacterCodes.lessThan */ || ch === 62 /* CharacterCodes.greaterThan */) { while (pos < len && !isLineBreak(text.charCodeAt(pos))) { pos++; } } else { - ts.Debug.assert(ch === 124 /* bar */ || ch === 61 /* equals */); + ts.Debug.assert(ch === 124 /* CharacterCodes.bar */ || ch === 61 /* CharacterCodes.equals */); // Consume everything from the start of a ||||||| or ======= marker to the start // of the next ======= or >>>>>>> marker. while (pos < len) { var currentChar = text.charCodeAt(pos); - if ((currentChar === 61 /* equals */ || currentChar === 62 /* greaterThan */) && currentChar !== ch && isConflictMarkerTrivia(text, pos)) { + if ((currentChar === 61 /* CharacterCodes.equals */ || currentChar === 62 /* CharacterCodes.greaterThan */) && currentChar !== ch && isConflictMarkerTrivia(text, pos)) { break; } pos++; @@ -10650,12 +10653,12 @@ var ts; scan: while (pos >= 0 && pos < text.length) { var ch = text.charCodeAt(pos); switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) { + case 13 /* CharacterCodes.carriageReturn */: + if (text.charCodeAt(pos + 1) === 10 /* CharacterCodes.lineFeed */) { pos++; } // falls through - case 10 /* lineFeed */: + case 10 /* CharacterCodes.lineFeed */: pos++; if (trailing) { break scan; @@ -10665,20 +10668,20 @@ var ts; pendingHasTrailingNewLine = true; } continue; - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: + case 9 /* CharacterCodes.tab */: + case 11 /* CharacterCodes.verticalTab */: + case 12 /* CharacterCodes.formFeed */: + case 32 /* CharacterCodes.space */: pos++; continue; - case 47 /* slash */: + case 47 /* CharacterCodes.slash */: var nextChar = text.charCodeAt(pos + 1); var hasTrailingNewLine = false; - if (nextChar === 47 /* slash */ || nextChar === 42 /* asterisk */) { - var kind = nextChar === 47 /* slash */ ? 2 /* SingleLineCommentTrivia */ : 3 /* MultiLineCommentTrivia */; + if (nextChar === 47 /* CharacterCodes.slash */ || nextChar === 42 /* CharacterCodes.asterisk */) { + var kind = nextChar === 47 /* CharacterCodes.slash */ ? 2 /* SyntaxKind.SingleLineCommentTrivia */ : 3 /* SyntaxKind.MultiLineCommentTrivia */; var startPos = pos; pos += 2; - if (nextChar === 47 /* slash */) { + if (nextChar === 47 /* CharacterCodes.slash */) { while (pos < text.length) { if (isLineBreak(text.charCodeAt(pos))) { hasTrailingNewLine = true; @@ -10689,7 +10692,7 @@ var ts; } else { while (pos < text.length) { - if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + if (text.charCodeAt(pos) === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) { pos += 2; break; } @@ -10714,7 +10717,7 @@ var ts; } break scan; default: - if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpaceLike(ch))) { + if (ch > 127 /* CharacterCodes.maxAsciiCharacter */ && (isWhiteSpaceLike(ch))) { if (hasPendingCommentRange && isLineBreak(ch)) { pendingHasTrailingNewLine = true; } @@ -10769,17 +10772,17 @@ var ts; } ts.getShebang = getShebang; function isIdentifierStart(ch, languageVersion) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || - ch === 36 /* $ */ || ch === 95 /* _ */ || - ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); + return ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */ || ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */ || + ch === 36 /* CharacterCodes.$ */ || ch === 95 /* CharacterCodes._ */ || + ch > 127 /* CharacterCodes.maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); } ts.isIdentifierStart = isIdentifierStart; function isIdentifierPart(ch, languageVersion, identifierVariant) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || - ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || + return ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */ || ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */ || + ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */ || ch === 36 /* CharacterCodes.$ */ || ch === 95 /* CharacterCodes._ */ || // "-" and ":" are valid in JSX Identifiers - (identifierVariant === 1 /* JSX */ ? (ch === 45 /* minus */ || ch === 58 /* colon */) : false) || - ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion); + (identifierVariant === 1 /* LanguageVariant.JSX */ ? (ch === 45 /* CharacterCodes.minus */ || ch === 58 /* CharacterCodes.colon */) : false) || + ch > 127 /* CharacterCodes.maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion); } ts.isIdentifierPart = isIdentifierPart; /* @internal */ @@ -10798,7 +10801,7 @@ var ts; ts.isIdentifierText = isIdentifierText; // Creates a scanner over a (possibly unspecified) range of a piece of text. function createScanner(languageVersion, skipTrivia, languageVariant, textInitial, onError, start, length) { - if (languageVariant === void 0) { languageVariant = 0 /* Standard */; } + if (languageVariant === void 0) { languageVariant = 0 /* LanguageVariant.Standard */; } var text = textInitial; // Current position (end position of text of current token) var pos; @@ -10821,15 +10824,15 @@ var ts; getTokenPos: function () { return tokenPos; }, getTokenText: function () { return text.substring(tokenPos, pos); }, getTokenValue: function () { return tokenValue; }, - hasUnicodeEscape: function () { return (tokenFlags & 1024 /* UnicodeEscape */) !== 0; }, - hasExtendedUnicodeEscape: function () { return (tokenFlags & 8 /* ExtendedUnicodeEscape */) !== 0; }, - hasPrecedingLineBreak: function () { return (tokenFlags & 1 /* PrecedingLineBreak */) !== 0; }, - hasPrecedingJSDocComment: function () { return (tokenFlags & 2 /* PrecedingJSDocComment */) !== 0; }, - isIdentifier: function () { return token === 79 /* Identifier */ || token > 116 /* LastReservedWord */; }, - isReservedWord: function () { return token >= 81 /* FirstReservedWord */ && token <= 116 /* LastReservedWord */; }, - isUnterminated: function () { return (tokenFlags & 4 /* Unterminated */) !== 0; }, + hasUnicodeEscape: function () { return (tokenFlags & 1024 /* TokenFlags.UnicodeEscape */) !== 0; }, + hasExtendedUnicodeEscape: function () { return (tokenFlags & 8 /* TokenFlags.ExtendedUnicodeEscape */) !== 0; }, + hasPrecedingLineBreak: function () { return (tokenFlags & 1 /* TokenFlags.PrecedingLineBreak */) !== 0; }, + hasPrecedingJSDocComment: function () { return (tokenFlags & 2 /* TokenFlags.PrecedingJSDocComment */) !== 0; }, + isIdentifier: function () { return token === 79 /* SyntaxKind.Identifier */ || token > 116 /* SyntaxKind.LastReservedWord */; }, + isReservedWord: function () { return token >= 81 /* SyntaxKind.FirstReservedWord */ && token <= 116 /* SyntaxKind.LastReservedWord */; }, + isUnterminated: function () { return (tokenFlags & 4 /* TokenFlags.Unterminated */) !== 0; }, getCommentDirectives: function () { return commentDirectives; }, - getNumericLiteralFlags: function () { return tokenFlags & 1008 /* NumericLiteralFlags */; }, + getNumericLiteralFlags: function () { return tokenFlags & 1008 /* TokenFlags.NumericLiteralFlags */; }, getTokenFlags: function () { return tokenFlags; }, reScanGreaterToken: reScanGreaterToken, reScanAsteriskEqualsToken: reScanAsteriskEqualsToken, @@ -10884,8 +10887,8 @@ var ts; var result = ""; while (true) { var ch = text.charCodeAt(pos); - if (ch === 95 /* _ */) { - tokenFlags |= 512 /* ContainsSeparator */; + if (ch === 95 /* CharacterCodes._ */) { + tokenFlags |= 512 /* TokenFlags.ContainsSeparator */; if (allowSeparator) { allowSeparator = false; isPreviousTokenSeparator = true; @@ -10909,7 +10912,7 @@ var ts; } break; } - if (text.charCodeAt(pos - 1) === 95 /* _ */) { + if (text.charCodeAt(pos - 1) === 95 /* CharacterCodes._ */) { error(ts.Diagnostics.Numeric_separators_are_not_allowed_here, pos - 1, 1); } return result + text.substring(start, pos); @@ -10919,15 +10922,15 @@ var ts; var mainFragment = scanNumberFragment(); var decimalFragment; var scientificFragment; - if (text.charCodeAt(pos) === 46 /* dot */) { + if (text.charCodeAt(pos) === 46 /* CharacterCodes.dot */) { pos++; decimalFragment = scanNumberFragment(); } var end = pos; - if (text.charCodeAt(pos) === 69 /* E */ || text.charCodeAt(pos) === 101 /* e */) { + if (text.charCodeAt(pos) === 69 /* CharacterCodes.E */ || text.charCodeAt(pos) === 101 /* CharacterCodes.e */) { pos++; - tokenFlags |= 16 /* Scientific */; - if (text.charCodeAt(pos) === 43 /* plus */ || text.charCodeAt(pos) === 45 /* minus */) + tokenFlags |= 16 /* TokenFlags.Scientific */; + if (text.charCodeAt(pos) === 43 /* CharacterCodes.plus */ || text.charCodeAt(pos) === 45 /* CharacterCodes.minus */) pos++; var preNumericPart = pos; var finalFragment = scanNumberFragment(); @@ -10940,7 +10943,7 @@ var ts; } } var result; - if (tokenFlags & 512 /* ContainsSeparator */) { + if (tokenFlags & 512 /* TokenFlags.ContainsSeparator */) { result = mainFragment; if (decimalFragment) { result += "." + decimalFragment; @@ -10952,10 +10955,10 @@ var ts; else { result = text.substring(start, end); // No need to use all the fragments; no _ removal needed } - if (decimalFragment !== undefined || tokenFlags & 16 /* Scientific */) { - checkForIdentifierStartAfterNumericLiteral(start, decimalFragment === undefined && !!(tokenFlags & 16 /* Scientific */)); + if (decimalFragment !== undefined || tokenFlags & 16 /* TokenFlags.Scientific */) { + checkForIdentifierStartAfterNumericLiteral(start, decimalFragment === undefined && !!(tokenFlags & 16 /* TokenFlags.Scientific */)); return { - type: 8 /* NumericLiteral */, + type: 8 /* SyntaxKind.NumericLiteral */, value: "" + +result // if value is not an integer, it can be safely coerced to a number }; } @@ -11013,8 +11016,8 @@ var ts; var isPreviousTokenSeparator = false; while (valueChars.length < minCount || scanAsManyAsPossible) { var ch = text.charCodeAt(pos); - if (canHaveSeparators && ch === 95 /* _ */) { - tokenFlags |= 512 /* ContainsSeparator */; + if (canHaveSeparators && ch === 95 /* CharacterCodes._ */) { + tokenFlags |= 512 /* TokenFlags.ContainsSeparator */; if (allowSeparator) { allowSeparator = false; isPreviousTokenSeparator = true; @@ -11029,11 +11032,11 @@ var ts; continue; } allowSeparator = canHaveSeparators; - if (ch >= 65 /* A */ && ch <= 70 /* F */) { - ch += 97 /* a */ - 65 /* A */; // standardize hex literals to lowercase + if (ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */) { + ch += 97 /* CharacterCodes.a */ - 65 /* CharacterCodes.A */; // standardize hex literals to lowercase } - else if (!((ch >= 48 /* _0 */ && ch <= 57 /* _9 */) || - (ch >= 97 /* a */ && ch <= 102 /* f */))) { + else if (!((ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) || + (ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */))) { break; } valueChars.push(ch); @@ -11043,7 +11046,7 @@ var ts; if (valueChars.length < minCount) { valueChars = []; } - if (text.charCodeAt(pos - 1) === 95 /* _ */) { + if (text.charCodeAt(pos - 1) === 95 /* CharacterCodes._ */) { error(ts.Diagnostics.Numeric_separators_are_not_allowed_here, pos - 1, 1); } return String.fromCharCode.apply(String, valueChars); @@ -11057,7 +11060,7 @@ var ts; while (true) { if (pos >= end) { result += text.substring(start, pos); - tokenFlags |= 4 /* Unterminated */; + tokenFlags |= 4 /* TokenFlags.Unterminated */; error(ts.Diagnostics.Unterminated_string_literal); break; } @@ -11067,7 +11070,7 @@ var ts; pos++; break; } - if (ch === 92 /* backslash */ && !jsxAttributeString) { + if (ch === 92 /* CharacterCodes.backslash */ && !jsxAttributeString) { result += text.substring(start, pos); result += scanEscapeSequence(); start = pos; @@ -11075,7 +11078,7 @@ var ts; } if (isLineBreak(ch) && !jsxAttributeString) { result += text.substring(start, pos); - tokenFlags |= 4 /* Unterminated */; + tokenFlags |= 4 /* TokenFlags.Unterminated */; error(ts.Diagnostics.Unterminated_string_literal); break; } @@ -11088,7 +11091,7 @@ var ts; * a literal component of a TemplateExpression. */ function scanTemplateAndSetTokenValue(isTaggedTemplate) { - var startedWithBacktick = text.charCodeAt(pos) === 96 /* backtick */; + var startedWithBacktick = text.charCodeAt(pos) === 96 /* CharacterCodes.backtick */; pos++; var start = pos; var contents = ""; @@ -11096,28 +11099,28 @@ var ts; while (true) { if (pos >= end) { contents += text.substring(start, pos); - tokenFlags |= 4 /* Unterminated */; + tokenFlags |= 4 /* TokenFlags.Unterminated */; error(ts.Diagnostics.Unterminated_template_literal); - resultingToken = startedWithBacktick ? 14 /* NoSubstitutionTemplateLiteral */ : 17 /* TemplateTail */; + resultingToken = startedWithBacktick ? 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ : 17 /* SyntaxKind.TemplateTail */; break; } var currChar = text.charCodeAt(pos); // '`' - if (currChar === 96 /* backtick */) { + if (currChar === 96 /* CharacterCodes.backtick */) { contents += text.substring(start, pos); pos++; - resultingToken = startedWithBacktick ? 14 /* NoSubstitutionTemplateLiteral */ : 17 /* TemplateTail */; + resultingToken = startedWithBacktick ? 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ : 17 /* SyntaxKind.TemplateTail */; break; } // '${' - if (currChar === 36 /* $ */ && pos + 1 < end && text.charCodeAt(pos + 1) === 123 /* openBrace */) { + if (currChar === 36 /* CharacterCodes.$ */ && pos + 1 < end && text.charCodeAt(pos + 1) === 123 /* CharacterCodes.openBrace */) { contents += text.substring(start, pos); pos += 2; - resultingToken = startedWithBacktick ? 15 /* TemplateHead */ : 16 /* TemplateMiddle */; + resultingToken = startedWithBacktick ? 15 /* SyntaxKind.TemplateHead */ : 16 /* SyntaxKind.TemplateMiddle */; break; } // Escape character - if (currChar === 92 /* backslash */) { + if (currChar === 92 /* CharacterCodes.backslash */) { contents += text.substring(start, pos); contents += scanEscapeSequence(isTaggedTemplate); start = pos; @@ -11125,10 +11128,10 @@ var ts; } // Speculated ECMAScript 6 Spec 11.8.6.1: // and LineTerminatorSequences are normalized to for Template Values - if (currChar === 13 /* carriageReturn */) { + if (currChar === 13 /* CharacterCodes.carriageReturn */) { contents += text.substring(start, pos); pos++; - if (pos < end && text.charCodeAt(pos) === 10 /* lineFeed */) { + if (pos < end && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) { pos++; } contents += "\n"; @@ -11151,47 +11154,47 @@ var ts; var ch = text.charCodeAt(pos); pos++; switch (ch) { - case 48 /* _0 */: + case 48 /* CharacterCodes._0 */: // '\01' if (isTaggedTemplate && pos < end && isDigit(text.charCodeAt(pos))) { pos++; - tokenFlags |= 2048 /* ContainsInvalidEscape */; + tokenFlags |= 2048 /* TokenFlags.ContainsInvalidEscape */; return text.substring(start, pos); } return "\0"; - case 98 /* b */: + case 98 /* CharacterCodes.b */: return "\b"; - case 116 /* t */: + case 116 /* CharacterCodes.t */: return "\t"; - case 110 /* n */: + case 110 /* CharacterCodes.n */: return "\n"; - case 118 /* v */: + case 118 /* CharacterCodes.v */: return "\v"; - case 102 /* f */: + case 102 /* CharacterCodes.f */: return "\f"; - case 114 /* r */: + case 114 /* CharacterCodes.r */: return "\r"; - case 39 /* singleQuote */: + case 39 /* CharacterCodes.singleQuote */: return "\'"; - case 34 /* doubleQuote */: + case 34 /* CharacterCodes.doubleQuote */: return "\""; - case 117 /* u */: + case 117 /* CharacterCodes.u */: if (isTaggedTemplate) { // '\u' or '\u0' or '\u00' or '\u000' for (var escapePos = pos; escapePos < pos + 4; escapePos++) { - if (escapePos < end && !isHexDigit(text.charCodeAt(escapePos)) && text.charCodeAt(escapePos) !== 123 /* openBrace */) { + if (escapePos < end && !isHexDigit(text.charCodeAt(escapePos)) && text.charCodeAt(escapePos) !== 123 /* CharacterCodes.openBrace */) { pos = escapePos; - tokenFlags |= 2048 /* ContainsInvalidEscape */; + tokenFlags |= 2048 /* TokenFlags.ContainsInvalidEscape */; return text.substring(start, pos); } } } // '\u{DDDDDDDD}' - if (pos < end && text.charCodeAt(pos) === 123 /* openBrace */) { + if (pos < end && text.charCodeAt(pos) === 123 /* CharacterCodes.openBrace */) { pos++; // '\u{' if (isTaggedTemplate && !isHexDigit(text.charCodeAt(pos))) { - tokenFlags |= 2048 /* ContainsInvalidEscape */; + tokenFlags |= 2048 /* TokenFlags.ContainsInvalidEscape */; return text.substring(start, pos); } if (isTaggedTemplate) { @@ -11199,29 +11202,29 @@ var ts; var escapedValueString = scanMinimumNumberOfHexDigits(1, /*canHaveSeparators*/ false); var escapedValue = escapedValueString ? parseInt(escapedValueString, 16) : -1; // '\u{Not Code Point' or '\u{CodePoint' - if (!isCodePoint(escapedValue) || text.charCodeAt(pos) !== 125 /* closeBrace */) { - tokenFlags |= 2048 /* ContainsInvalidEscape */; + if (!isCodePoint(escapedValue) || text.charCodeAt(pos) !== 125 /* CharacterCodes.closeBrace */) { + tokenFlags |= 2048 /* TokenFlags.ContainsInvalidEscape */; return text.substring(start, pos); } else { pos = savePos; } } - tokenFlags |= 8 /* ExtendedUnicodeEscape */; + tokenFlags |= 8 /* TokenFlags.ExtendedUnicodeEscape */; return scanExtendedUnicodeEscape(); } - tokenFlags |= 1024 /* UnicodeEscape */; + tokenFlags |= 1024 /* TokenFlags.UnicodeEscape */; // '\uDDDD' return scanHexadecimalEscape(/*numDigits*/ 4); - case 120 /* x */: + case 120 /* CharacterCodes.x */: if (isTaggedTemplate) { if (!isHexDigit(text.charCodeAt(pos))) { - tokenFlags |= 2048 /* ContainsInvalidEscape */; + tokenFlags |= 2048 /* TokenFlags.ContainsInvalidEscape */; return text.substring(start, pos); } else if (!isHexDigit(text.charCodeAt(pos + 1))) { pos++; - tokenFlags |= 2048 /* ContainsInvalidEscape */; + tokenFlags |= 2048 /* TokenFlags.ContainsInvalidEscape */; return text.substring(start, pos); } } @@ -11229,14 +11232,14 @@ var ts; return scanHexadecimalEscape(/*numDigits*/ 2); // when encountering a LineContinuation (i.e. a backslash and a line terminator sequence), // the line terminator is interpreted to be "the empty code unit sequence". - case 13 /* carriageReturn */: - if (pos < end && text.charCodeAt(pos) === 10 /* lineFeed */) { + case 13 /* CharacterCodes.carriageReturn */: + if (pos < end && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) { pos++; } // falls through - case 10 /* lineFeed */: - case 8232 /* lineSeparator */: - case 8233 /* paragraphSeparator */: + case 10 /* CharacterCodes.lineFeed */: + case 8232 /* CharacterCodes.lineSeparator */: + case 8233 /* CharacterCodes.paragraphSeparator */: return ""; default: return String.fromCharCode(ch); @@ -11269,7 +11272,7 @@ var ts; error(ts.Diagnostics.Unexpected_end_of_text); isInvalidExtendedEscape = true; } - else if (text.charCodeAt(pos) === 125 /* closeBrace */) { + else if (text.charCodeAt(pos) === 125 /* CharacterCodes.closeBrace */) { // Only swallow the following character up if it's a '}'. pos++; } @@ -11285,7 +11288,7 @@ var ts; // Current character is known to be a backslash. Check for Unicode escape of the form '\uXXXX' // and return code point value if valid Unicode escape is found. Otherwise return -1. function peekUnicodeEscape() { - if (pos + 5 < end && text.charCodeAt(pos + 1) === 117 /* u */) { + if (pos + 5 < end && text.charCodeAt(pos + 1) === 117 /* CharacterCodes.u */) { var start_1 = pos; pos += 2; var value = scanExactNumberOfHexDigits(4, /*canHaveSeparators*/ false); @@ -11295,7 +11298,7 @@ var ts; return -1; } function peekExtendedUnicodeEscape() { - if (languageVersion >= 2 /* ES2015 */ && codePointAt(text, pos + 1) === 117 /* u */ && codePointAt(text, pos + 2) === 123 /* openBrace */) { + if (languageVersion >= 2 /* ScriptTarget.ES2015 */ && codePointAt(text, pos + 1) === 117 /* CharacterCodes.u */ && codePointAt(text, pos + 2) === 123 /* CharacterCodes.openBrace */) { var start_2 = pos; pos += 3; var escapedValueString = scanMinimumNumberOfHexDigits(1, /*canHaveSeparators*/ false); @@ -11313,11 +11316,11 @@ var ts; if (isIdentifierPart(ch, languageVersion)) { pos += charSize(ch); } - else if (ch === 92 /* backslash */) { + else if (ch === 92 /* CharacterCodes.backslash */) { ch = peekExtendedUnicodeEscape(); if (ch >= 0 && isIdentifierPart(ch, languageVersion)) { pos += 3; - tokenFlags |= 8 /* ExtendedUnicodeEscape */; + tokenFlags |= 8 /* TokenFlags.ExtendedUnicodeEscape */; result += scanExtendedUnicodeEscape(); start = pos; continue; @@ -11326,7 +11329,7 @@ var ts; if (!(ch >= 0 && isIdentifierPart(ch, languageVersion))) { break; } - tokenFlags |= 1024 /* UnicodeEscape */; + tokenFlags |= 1024 /* TokenFlags.UnicodeEscape */; result += text.substring(start, pos); result += utf16EncodeAsString(ch); // Valid Unicode escape is always six characters @@ -11345,14 +11348,14 @@ var ts; var len = tokenValue.length; if (len >= 2 && len <= 12) { var ch = tokenValue.charCodeAt(0); - if (ch >= 97 /* a */ && ch <= 122 /* z */) { + if (ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */) { var keyword = textToKeyword.get(tokenValue); if (keyword !== undefined) { return token = keyword; } } } - return token = 79 /* Identifier */; + return token = 79 /* SyntaxKind.Identifier */; } function scanBinaryOrOctalDigits(base) { var value = ""; @@ -11363,8 +11366,8 @@ var ts; while (true) { var ch = text.charCodeAt(pos); // Numeric separators are allowed anywhere within a numeric literal, except not at the beginning, or following another separator - if (ch === 95 /* _ */) { - tokenFlags |= 512 /* ContainsSeparator */; + if (ch === 95 /* CharacterCodes._ */) { + tokenFlags |= 512 /* TokenFlags.ContainsSeparator */; if (separatorAllowed) { separatorAllowed = false; isPreviousTokenSeparator = true; @@ -11379,101 +11382,101 @@ var ts; continue; } separatorAllowed = true; - if (!isDigit(ch) || ch - 48 /* _0 */ >= base) { + if (!isDigit(ch) || ch - 48 /* CharacterCodes._0 */ >= base) { break; } value += text[pos]; pos++; isPreviousTokenSeparator = false; } - if (text.charCodeAt(pos - 1) === 95 /* _ */) { + if (text.charCodeAt(pos - 1) === 95 /* CharacterCodes._ */) { // Literal ends with underscore - not allowed error(ts.Diagnostics.Numeric_separators_are_not_allowed_here, pos - 1, 1); } return value; } function checkBigIntSuffix() { - if (text.charCodeAt(pos) === 110 /* n */) { + if (text.charCodeAt(pos) === 110 /* CharacterCodes.n */) { tokenValue += "n"; // Use base 10 instead of base 2 or base 8 for shorter literals - if (tokenFlags & 384 /* BinaryOrOctalSpecifier */) { + if (tokenFlags & 384 /* TokenFlags.BinaryOrOctalSpecifier */) { tokenValue = ts.parsePseudoBigInt(tokenValue) + "n"; } pos++; - return 9 /* BigIntLiteral */; + return 9 /* SyntaxKind.BigIntLiteral */; } else { // not a bigint, so can convert to number in simplified form // Number() may not support 0b or 0o, so use parseInt() instead - var numericValue = tokenFlags & 128 /* BinarySpecifier */ + var numericValue = tokenFlags & 128 /* TokenFlags.BinarySpecifier */ ? parseInt(tokenValue.slice(2), 2) // skip "0b" - : tokenFlags & 256 /* OctalSpecifier */ + : tokenFlags & 256 /* TokenFlags.OctalSpecifier */ ? parseInt(tokenValue.slice(2), 8) // skip "0o" : +tokenValue; tokenValue = "" + numericValue; - return 8 /* NumericLiteral */; + return 8 /* SyntaxKind.NumericLiteral */; } } function scan() { var _a; startPos = pos; - tokenFlags = 0 /* None */; + tokenFlags = 0 /* TokenFlags.None */; var asteriskSeen = false; while (true) { tokenPos = pos; if (pos >= end) { - return token = 1 /* EndOfFileToken */; + return token = 1 /* SyntaxKind.EndOfFileToken */; } var ch = codePointAt(text, pos); // Special handling for shebang - if (ch === 35 /* hash */ && pos === 0 && isShebangTrivia(text, pos)) { + if (ch === 35 /* CharacterCodes.hash */ && pos === 0 && isShebangTrivia(text, pos)) { pos = scanShebangTrivia(text, pos); if (skipTrivia) { continue; } else { - return token = 6 /* ShebangTrivia */; + return token = 6 /* SyntaxKind.ShebangTrivia */; } } switch (ch) { - case 10 /* lineFeed */: - case 13 /* carriageReturn */: - tokenFlags |= 1 /* PrecedingLineBreak */; + case 10 /* CharacterCodes.lineFeed */: + case 13 /* CharacterCodes.carriageReturn */: + tokenFlags |= 1 /* TokenFlags.PrecedingLineBreak */; if (skipTrivia) { pos++; continue; } else { - if (ch === 13 /* carriageReturn */ && pos + 1 < end && text.charCodeAt(pos + 1) === 10 /* lineFeed */) { + if (ch === 13 /* CharacterCodes.carriageReturn */ && pos + 1 < end && text.charCodeAt(pos + 1) === 10 /* CharacterCodes.lineFeed */) { // consume both CR and LF pos += 2; } else { pos++; } - return token = 4 /* NewLineTrivia */; - } - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: - case 160 /* nonBreakingSpace */: - case 5760 /* ogham */: - case 8192 /* enQuad */: - case 8193 /* emQuad */: - case 8194 /* enSpace */: - case 8195 /* emSpace */: - case 8196 /* threePerEmSpace */: - case 8197 /* fourPerEmSpace */: - case 8198 /* sixPerEmSpace */: - case 8199 /* figureSpace */: - case 8200 /* punctuationSpace */: - case 8201 /* thinSpace */: - case 8202 /* hairSpace */: - case 8203 /* zeroWidthSpace */: - case 8239 /* narrowNoBreakSpace */: - case 8287 /* mathematicalSpace */: - case 12288 /* ideographicSpace */: - case 65279 /* byteOrderMark */: + return token = 4 /* SyntaxKind.NewLineTrivia */; + } + case 9 /* CharacterCodes.tab */: + case 11 /* CharacterCodes.verticalTab */: + case 12 /* CharacterCodes.formFeed */: + case 32 /* CharacterCodes.space */: + case 160 /* CharacterCodes.nonBreakingSpace */: + case 5760 /* CharacterCodes.ogham */: + case 8192 /* CharacterCodes.enQuad */: + case 8193 /* CharacterCodes.emQuad */: + case 8194 /* CharacterCodes.enSpace */: + case 8195 /* CharacterCodes.emSpace */: + case 8196 /* CharacterCodes.threePerEmSpace */: + case 8197 /* CharacterCodes.fourPerEmSpace */: + case 8198 /* CharacterCodes.sixPerEmSpace */: + case 8199 /* CharacterCodes.figureSpace */: + case 8200 /* CharacterCodes.punctuationSpace */: + case 8201 /* CharacterCodes.thinSpace */: + case 8202 /* CharacterCodes.hairSpace */: + case 8203 /* CharacterCodes.zeroWidthSpace */: + case 8239 /* CharacterCodes.narrowNoBreakSpace */: + case 8287 /* CharacterCodes.mathematicalSpace */: + case 12288 /* CharacterCodes.ideographicSpace */: + case 65279 /* CharacterCodes.byteOrderMark */: if (skipTrivia) { pos++; continue; @@ -11482,98 +11485,98 @@ var ts; while (pos < end && isWhiteSpaceSingleLine(text.charCodeAt(pos))) { pos++; } - return token = 5 /* WhitespaceTrivia */; + return token = 5 /* SyntaxKind.WhitespaceTrivia */; } - case 33 /* exclamation */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 37 /* ExclamationEqualsEqualsToken */; + case 33 /* CharacterCodes.exclamation */: + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 37 /* SyntaxKind.ExclamationEqualsEqualsToken */; } - return pos += 2, token = 35 /* ExclamationEqualsToken */; + return pos += 2, token = 35 /* SyntaxKind.ExclamationEqualsToken */; } pos++; - return token = 53 /* ExclamationToken */; - case 34 /* doubleQuote */: - case 39 /* singleQuote */: + return token = 53 /* SyntaxKind.ExclamationToken */; + case 34 /* CharacterCodes.doubleQuote */: + case 39 /* CharacterCodes.singleQuote */: tokenValue = scanString(); - return token = 10 /* StringLiteral */; - case 96 /* backtick */: + return token = 10 /* SyntaxKind.StringLiteral */; + case 96 /* CharacterCodes.backtick */: return token = scanTemplateAndSetTokenValue(/* isTaggedTemplate */ false); - case 37 /* percent */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 69 /* PercentEqualsToken */; + case 37 /* CharacterCodes.percent */: + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 69 /* SyntaxKind.PercentEqualsToken */; } pos++; - return token = 44 /* PercentToken */; - case 38 /* ampersand */: - if (text.charCodeAt(pos + 1) === 38 /* ampersand */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 76 /* AmpersandAmpersandEqualsToken */; + return token = 44 /* SyntaxKind.PercentToken */; + case 38 /* CharacterCodes.ampersand */: + if (text.charCodeAt(pos + 1) === 38 /* CharacterCodes.ampersand */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */; } - return pos += 2, token = 55 /* AmpersandAmpersandToken */; + return pos += 2, token = 55 /* SyntaxKind.AmpersandAmpersandToken */; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 73 /* AmpersandEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 73 /* SyntaxKind.AmpersandEqualsToken */; } pos++; - return token = 50 /* AmpersandToken */; - case 40 /* openParen */: + return token = 50 /* SyntaxKind.AmpersandToken */; + case 40 /* CharacterCodes.openParen */: pos++; - return token = 20 /* OpenParenToken */; - case 41 /* closeParen */: + return token = 20 /* SyntaxKind.OpenParenToken */; + case 41 /* CharacterCodes.closeParen */: pos++; - return token = 21 /* CloseParenToken */; - case 42 /* asterisk */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 66 /* AsteriskEqualsToken */; + return token = 21 /* SyntaxKind.CloseParenToken */; + case 42 /* CharacterCodes.asterisk */: + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 66 /* SyntaxKind.AsteriskEqualsToken */; } - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 67 /* AsteriskAsteriskEqualsToken */; + if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */; } - return pos += 2, token = 42 /* AsteriskAsteriskToken */; + return pos += 2, token = 42 /* SyntaxKind.AsteriskAsteriskToken */; } pos++; - if (inJSDocType && !asteriskSeen && (tokenFlags & 1 /* PrecedingLineBreak */)) { + if (inJSDocType && !asteriskSeen && (tokenFlags & 1 /* TokenFlags.PrecedingLineBreak */)) { // decoration at the start of a JSDoc comment line asteriskSeen = true; continue; } - return token = 41 /* AsteriskToken */; - case 43 /* plus */: - if (text.charCodeAt(pos + 1) === 43 /* plus */) { - return pos += 2, token = 45 /* PlusPlusToken */; + return token = 41 /* SyntaxKind.AsteriskToken */; + case 43 /* CharacterCodes.plus */: + if (text.charCodeAt(pos + 1) === 43 /* CharacterCodes.plus */) { + return pos += 2, token = 45 /* SyntaxKind.PlusPlusToken */; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 64 /* PlusEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 64 /* SyntaxKind.PlusEqualsToken */; } pos++; - return token = 39 /* PlusToken */; - case 44 /* comma */: + return token = 39 /* SyntaxKind.PlusToken */; + case 44 /* CharacterCodes.comma */: pos++; - return token = 27 /* CommaToken */; - case 45 /* minus */: - if (text.charCodeAt(pos + 1) === 45 /* minus */) { - return pos += 2, token = 46 /* MinusMinusToken */; + return token = 27 /* SyntaxKind.CommaToken */; + case 45 /* CharacterCodes.minus */: + if (text.charCodeAt(pos + 1) === 45 /* CharacterCodes.minus */) { + return pos += 2, token = 46 /* SyntaxKind.MinusMinusToken */; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 65 /* MinusEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 65 /* SyntaxKind.MinusEqualsToken */; } pos++; - return token = 40 /* MinusToken */; - case 46 /* dot */: + return token = 40 /* SyntaxKind.MinusToken */; + case 46 /* CharacterCodes.dot */: if (isDigit(text.charCodeAt(pos + 1))) { tokenValue = scanNumber().value; - return token = 8 /* NumericLiteral */; + return token = 8 /* SyntaxKind.NumericLiteral */; } - if (text.charCodeAt(pos + 1) === 46 /* dot */ && text.charCodeAt(pos + 2) === 46 /* dot */) { - return pos += 3, token = 25 /* DotDotDotToken */; + if (text.charCodeAt(pos + 1) === 46 /* CharacterCodes.dot */ && text.charCodeAt(pos + 2) === 46 /* CharacterCodes.dot */) { + return pos += 3, token = 25 /* SyntaxKind.DotDotDotToken */; } pos++; - return token = 24 /* DotToken */; - case 47 /* slash */: + return token = 24 /* SyntaxKind.DotToken */; + case 47 /* CharacterCodes.slash */: // Single-line comment - if (text.charCodeAt(pos + 1) === 47 /* slash */) { + if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) { pos += 2; while (pos < end) { if (isLineBreak(text.charCodeAt(pos))) { @@ -11586,20 +11589,20 @@ var ts; continue; } else { - return token = 2 /* SingleLineCommentTrivia */; + return token = 2 /* SyntaxKind.SingleLineCommentTrivia */; } } // Multi-line comment - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) { pos += 2; - if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) !== 47 /* slash */) { - tokenFlags |= 2 /* PrecedingJSDocComment */; + if (text.charCodeAt(pos) === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) !== 47 /* CharacterCodes.slash */) { + tokenFlags |= 2 /* TokenFlags.PrecedingJSDocComment */; } var commentClosed = false; var lastLineStart = tokenPos; while (pos < end) { var ch_1 = text.charCodeAt(pos); - if (ch_1 === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + if (ch_1 === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) { pos += 2; commentClosed = true; break; @@ -11607,7 +11610,7 @@ var ts; pos++; if (isLineBreak(ch_1)) { lastLineStart = pos; - tokenFlags |= 1 /* PrecedingLineBreak */; + tokenFlags |= 1 /* TokenFlags.PrecedingLineBreak */; } } commentDirectives = appendIfCommentDirective(commentDirectives, text.slice(lastLineStart, pos), commentDirectiveRegExMultiLine, lastLineStart); @@ -11619,18 +11622,18 @@ var ts; } else { if (!commentClosed) { - tokenFlags |= 4 /* Unterminated */; + tokenFlags |= 4 /* TokenFlags.Unterminated */; } - return token = 3 /* MultiLineCommentTrivia */; + return token = 3 /* SyntaxKind.MultiLineCommentTrivia */; } } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 68 /* SlashEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 68 /* SyntaxKind.SlashEqualsToken */; } pos++; - return token = 43 /* SlashToken */; - case 48 /* _0 */: - if (pos + 2 < end && (text.charCodeAt(pos + 1) === 88 /* X */ || text.charCodeAt(pos + 1) === 120 /* x */)) { + return token = 43 /* SyntaxKind.SlashToken */; + case 48 /* CharacterCodes._0 */: + if (pos + 2 < end && (text.charCodeAt(pos + 1) === 88 /* CharacterCodes.X */ || text.charCodeAt(pos + 1) === 120 /* CharacterCodes.x */)) { pos += 2; tokenValue = scanMinimumNumberOfHexDigits(1, /*canHaveSeparators*/ true); if (!tokenValue) { @@ -11638,10 +11641,10 @@ var ts; tokenValue = "0"; } tokenValue = "0x" + tokenValue; - tokenFlags |= 64 /* HexSpecifier */; + tokenFlags |= 64 /* TokenFlags.HexSpecifier */; return token = checkBigIntSuffix(); } - else if (pos + 2 < end && (text.charCodeAt(pos + 1) === 66 /* B */ || text.charCodeAt(pos + 1) === 98 /* b */)) { + else if (pos + 2 < end && (text.charCodeAt(pos + 1) === 66 /* CharacterCodes.B */ || text.charCodeAt(pos + 1) === 98 /* CharacterCodes.b */)) { pos += 2; tokenValue = scanBinaryOrOctalDigits(/* base */ 2); if (!tokenValue) { @@ -11649,10 +11652,10 @@ var ts; tokenValue = "0"; } tokenValue = "0b" + tokenValue; - tokenFlags |= 128 /* BinarySpecifier */; + tokenFlags |= 128 /* TokenFlags.BinarySpecifier */; return token = checkBigIntSuffix(); } - else if (pos + 2 < end && (text.charCodeAt(pos + 1) === 79 /* O */ || text.charCodeAt(pos + 1) === 111 /* o */)) { + else if (pos + 2 < end && (text.charCodeAt(pos + 1) === 79 /* CharacterCodes.O */ || text.charCodeAt(pos + 1) === 111 /* CharacterCodes.o */)) { pos += 2; tokenValue = scanBinaryOrOctalDigits(/* base */ 8); if (!tokenValue) { @@ -11660,175 +11663,175 @@ var ts; tokenValue = "0"; } tokenValue = "0o" + tokenValue; - tokenFlags |= 256 /* OctalSpecifier */; + tokenFlags |= 256 /* TokenFlags.OctalSpecifier */; return token = checkBigIntSuffix(); } // Try to parse as an octal if (pos + 1 < end && isOctalDigit(text.charCodeAt(pos + 1))) { tokenValue = "" + scanOctalDigits(); - tokenFlags |= 32 /* Octal */; - return token = 8 /* NumericLiteral */; + tokenFlags |= 32 /* TokenFlags.Octal */; + return token = 8 /* SyntaxKind.NumericLiteral */; } // This fall-through is a deviation from the EcmaScript grammar. The grammar says that a leading zero // can only be followed by an octal digit, a dot, or the end of the number literal. However, we are being // permissive and allowing decimal digits of the form 08* and 09* (which many browsers also do). // falls through - case 49 /* _1 */: - case 50 /* _2 */: - case 51 /* _3 */: - case 52 /* _4 */: - case 53 /* _5 */: - case 54 /* _6 */: - case 55 /* _7 */: - case 56 /* _8 */: - case 57 /* _9 */: + case 49 /* CharacterCodes._1 */: + case 50 /* CharacterCodes._2 */: + case 51 /* CharacterCodes._3 */: + case 52 /* CharacterCodes._4 */: + case 53 /* CharacterCodes._5 */: + case 54 /* CharacterCodes._6 */: + case 55 /* CharacterCodes._7 */: + case 56 /* CharacterCodes._8 */: + case 57 /* CharacterCodes._9 */: (_a = scanNumber(), token = _a.type, tokenValue = _a.value); return token; - case 58 /* colon */: + case 58 /* CharacterCodes.colon */: pos++; - return token = 58 /* ColonToken */; - case 59 /* semicolon */: + return token = 58 /* SyntaxKind.ColonToken */; + case 59 /* CharacterCodes.semicolon */: pos++; - return token = 26 /* SemicolonToken */; - case 60 /* lessThan */: + return token = 26 /* SyntaxKind.SemicolonToken */; + case 60 /* CharacterCodes.lessThan */: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 7 /* ConflictMarkerTrivia */; + return token = 7 /* SyntaxKind.ConflictMarkerTrivia */; } } - if (text.charCodeAt(pos + 1) === 60 /* lessThan */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 70 /* LessThanLessThanEqualsToken */; + if (text.charCodeAt(pos + 1) === 60 /* CharacterCodes.lessThan */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 70 /* SyntaxKind.LessThanLessThanEqualsToken */; } - return pos += 2, token = 47 /* LessThanLessThanToken */; + return pos += 2, token = 47 /* SyntaxKind.LessThanLessThanToken */; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 32 /* LessThanEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 32 /* SyntaxKind.LessThanEqualsToken */; } - if (languageVariant === 1 /* JSX */ && - text.charCodeAt(pos + 1) === 47 /* slash */ && - text.charCodeAt(pos + 2) !== 42 /* asterisk */) { - return pos += 2, token = 30 /* LessThanSlashToken */; + if (languageVariant === 1 /* LanguageVariant.JSX */ && + text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */ && + text.charCodeAt(pos + 2) !== 42 /* CharacterCodes.asterisk */) { + return pos += 2, token = 30 /* SyntaxKind.LessThanSlashToken */; } pos++; - return token = 29 /* LessThanToken */; - case 61 /* equals */: + return token = 29 /* SyntaxKind.LessThanToken */; + case 61 /* CharacterCodes.equals */: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 7 /* ConflictMarkerTrivia */; + return token = 7 /* SyntaxKind.ConflictMarkerTrivia */; } } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 36 /* EqualsEqualsEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 36 /* SyntaxKind.EqualsEqualsEqualsToken */; } - return pos += 2, token = 34 /* EqualsEqualsToken */; + return pos += 2, token = 34 /* SyntaxKind.EqualsEqualsToken */; } - if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { - return pos += 2, token = 38 /* EqualsGreaterThanToken */; + if (text.charCodeAt(pos + 1) === 62 /* CharacterCodes.greaterThan */) { + return pos += 2, token = 38 /* SyntaxKind.EqualsGreaterThanToken */; } pos++; - return token = 63 /* EqualsToken */; - case 62 /* greaterThan */: + return token = 63 /* SyntaxKind.EqualsToken */; + case 62 /* CharacterCodes.greaterThan */: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 7 /* ConflictMarkerTrivia */; + return token = 7 /* SyntaxKind.ConflictMarkerTrivia */; } } pos++; - return token = 31 /* GreaterThanToken */; - case 63 /* question */: - if (text.charCodeAt(pos + 1) === 46 /* dot */ && !isDigit(text.charCodeAt(pos + 2))) { - return pos += 2, token = 28 /* QuestionDotToken */; + return token = 31 /* SyntaxKind.GreaterThanToken */; + case 63 /* CharacterCodes.question */: + if (text.charCodeAt(pos + 1) === 46 /* CharacterCodes.dot */ && !isDigit(text.charCodeAt(pos + 2))) { + return pos += 2, token = 28 /* SyntaxKind.QuestionDotToken */; } - if (text.charCodeAt(pos + 1) === 63 /* question */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 77 /* QuestionQuestionEqualsToken */; + if (text.charCodeAt(pos + 1) === 63 /* CharacterCodes.question */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 77 /* SyntaxKind.QuestionQuestionEqualsToken */; } - return pos += 2, token = 60 /* QuestionQuestionToken */; + return pos += 2, token = 60 /* SyntaxKind.QuestionQuestionToken */; } pos++; - return token = 57 /* QuestionToken */; - case 91 /* openBracket */: + return token = 57 /* SyntaxKind.QuestionToken */; + case 91 /* CharacterCodes.openBracket */: pos++; - return token = 22 /* OpenBracketToken */; - case 93 /* closeBracket */: + return token = 22 /* SyntaxKind.OpenBracketToken */; + case 93 /* CharacterCodes.closeBracket */: pos++; - return token = 23 /* CloseBracketToken */; - case 94 /* caret */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 78 /* CaretEqualsToken */; + return token = 23 /* SyntaxKind.CloseBracketToken */; + case 94 /* CharacterCodes.caret */: + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 78 /* SyntaxKind.CaretEqualsToken */; } pos++; - return token = 52 /* CaretToken */; - case 123 /* openBrace */: + return token = 52 /* SyntaxKind.CaretToken */; + case 123 /* CharacterCodes.openBrace */: pos++; - return token = 18 /* OpenBraceToken */; - case 124 /* bar */: + return token = 18 /* SyntaxKind.OpenBraceToken */; + case 124 /* CharacterCodes.bar */: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 7 /* ConflictMarkerTrivia */; + return token = 7 /* SyntaxKind.ConflictMarkerTrivia */; } } - if (text.charCodeAt(pos + 1) === 124 /* bar */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 75 /* BarBarEqualsToken */; + if (text.charCodeAt(pos + 1) === 124 /* CharacterCodes.bar */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 75 /* SyntaxKind.BarBarEqualsToken */; } - return pos += 2, token = 56 /* BarBarToken */; + return pos += 2, token = 56 /* SyntaxKind.BarBarToken */; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 74 /* BarEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 74 /* SyntaxKind.BarEqualsToken */; } pos++; - return token = 51 /* BarToken */; - case 125 /* closeBrace */: + return token = 51 /* SyntaxKind.BarToken */; + case 125 /* CharacterCodes.closeBrace */: pos++; - return token = 19 /* CloseBraceToken */; - case 126 /* tilde */: + return token = 19 /* SyntaxKind.CloseBraceToken */; + case 126 /* CharacterCodes.tilde */: pos++; - return token = 54 /* TildeToken */; - case 64 /* at */: + return token = 54 /* SyntaxKind.TildeToken */; + case 64 /* CharacterCodes.at */: pos++; - return token = 59 /* AtToken */; - case 92 /* backslash */: + return token = 59 /* SyntaxKind.AtToken */; + case 92 /* CharacterCodes.backslash */: var extendedCookedChar = peekExtendedUnicodeEscape(); if (extendedCookedChar >= 0 && isIdentifierStart(extendedCookedChar, languageVersion)) { pos += 3; - tokenFlags |= 8 /* ExtendedUnicodeEscape */; + tokenFlags |= 8 /* TokenFlags.ExtendedUnicodeEscape */; tokenValue = scanExtendedUnicodeEscape() + scanIdentifierParts(); return token = getIdentifierToken(); } var cookedChar = peekUnicodeEscape(); if (cookedChar >= 0 && isIdentifierStart(cookedChar, languageVersion)) { pos += 6; - tokenFlags |= 1024 /* UnicodeEscape */; + tokenFlags |= 1024 /* TokenFlags.UnicodeEscape */; tokenValue = String.fromCharCode(cookedChar) + scanIdentifierParts(); return token = getIdentifierToken(); } error(ts.Diagnostics.Invalid_character); pos++; - return token = 0 /* Unknown */; - case 35 /* hash */: + return token = 0 /* SyntaxKind.Unknown */; + case 35 /* CharacterCodes.hash */: if (pos !== 0 && text[pos + 1] === "!") { error(ts.Diagnostics.can_only_be_used_at_the_start_of_a_file); pos++; - return token = 0 /* Unknown */; + return token = 0 /* SyntaxKind.Unknown */; } if (isIdentifierStart(codePointAt(text, pos + 1), languageVersion)) { pos++; @@ -11838,7 +11841,7 @@ var ts; tokenValue = String.fromCharCode(codePointAt(text, pos)); error(ts.Diagnostics.Invalid_character, pos++, charSize(ch)); } - return token = 80 /* PrivateIdentifier */; + return token = 80 /* SyntaxKind.PrivateIdentifier */; default: var identifierKind = scanIdentifier(ch, languageVersion); if (identifierKind) { @@ -11849,23 +11852,23 @@ var ts; continue; } else if (isLineBreak(ch)) { - tokenFlags |= 1 /* PrecedingLineBreak */; + tokenFlags |= 1 /* TokenFlags.PrecedingLineBreak */; pos += charSize(ch); continue; } var size = charSize(ch); error(ts.Diagnostics.Invalid_character, pos, size); pos += size; - return token = 0 /* Unknown */; + return token = 0 /* SyntaxKind.Unknown */; } } } function reScanInvalidIdentifier() { - ts.Debug.assert(token === 0 /* Unknown */, "'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."); + ts.Debug.assert(token === 0 /* SyntaxKind.Unknown */, "'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."); pos = tokenPos = startPos; tokenFlags = 0; var ch = codePointAt(text, pos); - var identifierKind = scanIdentifier(ch, 99 /* ESNext */); + var identifierKind = scanIdentifier(ch, 99 /* ScriptTarget.ESNext */); if (identifierKind) { return token = identifierKind; } @@ -11879,41 +11882,41 @@ var ts; while (pos < end && isIdentifierPart(ch = codePointAt(text, pos), languageVersion)) pos += charSize(ch); tokenValue = text.substring(tokenPos, pos); - if (ch === 92 /* backslash */) { + if (ch === 92 /* CharacterCodes.backslash */) { tokenValue += scanIdentifierParts(); } return getIdentifierToken(); } } function reScanGreaterToken() { - if (token === 31 /* GreaterThanToken */) { - if (text.charCodeAt(pos) === 62 /* greaterThan */) { - if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */; + if (token === 31 /* SyntaxKind.GreaterThanToken */) { + if (text.charCodeAt(pos) === 62 /* CharacterCodes.greaterThan */) { + if (text.charCodeAt(pos + 1) === 62 /* CharacterCodes.greaterThan */) { + if (text.charCodeAt(pos + 2) === 61 /* CharacterCodes.equals */) { + return pos += 3, token = 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */; } - return pos += 2, token = 49 /* GreaterThanGreaterThanGreaterThanToken */; + return pos += 2, token = 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 71 /* GreaterThanGreaterThanEqualsToken */; + if (text.charCodeAt(pos + 1) === 61 /* CharacterCodes.equals */) { + return pos += 2, token = 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */; } pos++; - return token = 48 /* GreaterThanGreaterThanToken */; + return token = 48 /* SyntaxKind.GreaterThanGreaterThanToken */; } - if (text.charCodeAt(pos) === 61 /* equals */) { + if (text.charCodeAt(pos) === 61 /* CharacterCodes.equals */) { pos++; - return token = 33 /* GreaterThanEqualsToken */; + return token = 33 /* SyntaxKind.GreaterThanEqualsToken */; } } return token; } function reScanAsteriskEqualsToken() { - ts.Debug.assert(token === 66 /* AsteriskEqualsToken */, "'reScanAsteriskEqualsToken' should only be called on a '*='"); + ts.Debug.assert(token === 66 /* SyntaxKind.AsteriskEqualsToken */, "'reScanAsteriskEqualsToken' should only be called on a '*='"); pos = tokenPos + 1; - return token = 63 /* EqualsToken */; + return token = 63 /* SyntaxKind.EqualsToken */; } function reScanSlashToken() { - if (token === 43 /* SlashToken */ || token === 68 /* SlashEqualsToken */) { + if (token === 43 /* SyntaxKind.SlashToken */ || token === 68 /* SyntaxKind.SlashEqualsToken */) { var p = tokenPos + 1; var inEscape = false; var inCharacterClass = false; @@ -11921,13 +11924,13 @@ var ts; // If we reach the end of a file, or hit a newline, then this is an unterminated // regex. Report error and return what we have so far. if (p >= end) { - tokenFlags |= 4 /* Unterminated */; + tokenFlags |= 4 /* TokenFlags.Unterminated */; error(ts.Diagnostics.Unterminated_regular_expression_literal); break; } var ch = text.charCodeAt(p); if (isLineBreak(ch)) { - tokenFlags |= 4 /* Unterminated */; + tokenFlags |= 4 /* TokenFlags.Unterminated */; error(ts.Diagnostics.Unterminated_regular_expression_literal); break; } @@ -11936,19 +11939,19 @@ var ts; // reset the flag and just advance to the next char. inEscape = false; } - else if (ch === 47 /* slash */ && !inCharacterClass) { + else if (ch === 47 /* CharacterCodes.slash */ && !inCharacterClass) { // A slash within a character class is permissible, // but in general it signals the end of the regexp literal. p++; break; } - else if (ch === 91 /* openBracket */) { + else if (ch === 91 /* CharacterCodes.openBracket */) { inCharacterClass = true; } - else if (ch === 92 /* backslash */) { + else if (ch === 92 /* CharacterCodes.backslash */) { inEscape = true; } - else if (ch === 93 /* closeBracket */) { + else if (ch === 93 /* CharacterCodes.closeBracket */) { inCharacterClass = false; } p++; @@ -11958,7 +11961,7 @@ var ts; } pos = p; tokenValue = text.substring(tokenPos, pos); - token = 13 /* RegularExpressionLiteral */; + token = 13 /* SyntaxKind.RegularExpressionLiteral */; } return token; } @@ -11979,9 +11982,9 @@ var ts; } switch (match[1]) { case "ts-expect-error": - return 0 /* ExpectError */; + return 0 /* CommentDirectiveType.ExpectError */; case "ts-ignore": - return 1 /* Ignore */; + return 1 /* CommentDirectiveType.Ignore */; } return undefined; } @@ -11989,7 +11992,7 @@ var ts; * Unconditionally back up and scan a template expression portion. */ function reScanTemplateToken(isTaggedTemplate) { - ts.Debug.assert(token === 19 /* CloseBraceToken */, "'reScanTemplateToken' should only be called on a '}'"); + ts.Debug.assert(token === 19 /* SyntaxKind.CloseBraceToken */, "'reScanTemplateToken' should only be called on a '}'"); pos = tokenPos; return token = scanTemplateAndSetTokenValue(isTaggedTemplate); } @@ -12003,42 +12006,42 @@ var ts; return token = scanJsxToken(allowMultilineJsxText); } function reScanLessThanToken() { - if (token === 47 /* LessThanLessThanToken */) { + if (token === 47 /* SyntaxKind.LessThanLessThanToken */) { pos = tokenPos + 1; - return token = 29 /* LessThanToken */; + return token = 29 /* SyntaxKind.LessThanToken */; } return token; } function reScanHashToken() { - if (token === 80 /* PrivateIdentifier */) { + if (token === 80 /* SyntaxKind.PrivateIdentifier */) { pos = tokenPos + 1; - return token = 62 /* HashToken */; + return token = 62 /* SyntaxKind.HashToken */; } return token; } function reScanQuestionToken() { - ts.Debug.assert(token === 60 /* QuestionQuestionToken */, "'reScanQuestionToken' should only be called on a '??'"); + ts.Debug.assert(token === 60 /* SyntaxKind.QuestionQuestionToken */, "'reScanQuestionToken' should only be called on a '??'"); pos = tokenPos + 1; - return token = 57 /* QuestionToken */; + return token = 57 /* SyntaxKind.QuestionToken */; } function scanJsxToken(allowMultilineJsxText) { if (allowMultilineJsxText === void 0) { allowMultilineJsxText = true; } startPos = tokenPos = pos; if (pos >= end) { - return token = 1 /* EndOfFileToken */; + return token = 1 /* SyntaxKind.EndOfFileToken */; } var char = text.charCodeAt(pos); - if (char === 60 /* lessThan */) { - if (text.charCodeAt(pos + 1) === 47 /* slash */) { + if (char === 60 /* CharacterCodes.lessThan */) { + if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) { pos += 2; - return token = 30 /* LessThanSlashToken */; + return token = 30 /* SyntaxKind.LessThanSlashToken */; } pos++; - return token = 29 /* LessThanToken */; + return token = 29 /* SyntaxKind.LessThanToken */; } - if (char === 123 /* openBrace */) { + if (char === 123 /* CharacterCodes.openBrace */) { pos++; - return token = 18 /* OpenBraceToken */; + return token = 18 /* SyntaxKind.OpenBraceToken */; } // First non-whitespace character on this line. var firstNonWhitespace = 0; @@ -12046,20 +12049,20 @@ var ts; // firstNonWhitespace = 0 to indicate that we want leading whitespace, while (pos < end) { char = text.charCodeAt(pos); - if (char === 123 /* openBrace */) { + if (char === 123 /* CharacterCodes.openBrace */) { break; } - if (char === 60 /* lessThan */) { + if (char === 60 /* CharacterCodes.lessThan */) { if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); - return token = 7 /* ConflictMarkerTrivia */; + return token = 7 /* SyntaxKind.ConflictMarkerTrivia */; } break; } - if (char === 62 /* greaterThan */) { + if (char === 62 /* CharacterCodes.greaterThan */) { error(ts.Diagnostics.Unexpected_token_Did_you_mean_or_gt, pos, 1); } - if (char === 125 /* closeBrace */) { + if (char === 125 /* CharacterCodes.closeBrace */) { error(ts.Diagnostics.Unexpected_token_Did_you_mean_or_rbrace, pos, 1); } // FirstNonWhitespace is 0, then we only see whitespaces so far. If we see a linebreak, we want to ignore that whitespaces. @@ -12082,7 +12085,7 @@ var ts; pos++; } tokenValue = text.substring(startPos, pos); - return firstNonWhitespace === -1 ? 12 /* JsxTextAllWhiteSpaces */ : 11 /* JsxText */; + return firstNonWhitespace === -1 ? 12 /* SyntaxKind.JsxTextAllWhiteSpaces */ : 11 /* SyntaxKind.JsxText */; } // Scans a JSX identifier; these differ from normal identifiers in that // they allow dashes @@ -12095,16 +12098,16 @@ var ts; var namespaceSeparator = false; while (pos < end) { var ch = text.charCodeAt(pos); - if (ch === 45 /* minus */) { + if (ch === 45 /* CharacterCodes.minus */) { tokenValue += "-"; pos++; continue; } - else if (ch === 58 /* colon */ && !namespaceSeparator) { + else if (ch === 58 /* CharacterCodes.colon */ && !namespaceSeparator) { tokenValue += ":"; pos++; namespaceSeparator = true; - token = 79 /* Identifier */; // swap from keyword kind to identifier kind + token = 79 /* SyntaxKind.Identifier */; // swap from keyword kind to identifier kind continue; } var oldPos = pos; @@ -12125,10 +12128,10 @@ var ts; function scanJsxAttributeValue() { startPos = pos; switch (text.charCodeAt(pos)) { - case 34 /* doubleQuote */: - case 39 /* singleQuote */: + case 34 /* CharacterCodes.doubleQuote */: + case 39 /* CharacterCodes.singleQuote */: tokenValue = scanString(/*jsxAttributeString*/ true); - return token = 10 /* StringLiteral */; + return token = 10 /* SyntaxKind.StringLiteral */; default: // If this scans anything other than `{`, it's a parse error. return scan(); @@ -12140,86 +12143,86 @@ var ts; } function scanJsDocToken() { startPos = tokenPos = pos; - tokenFlags = 0 /* None */; + tokenFlags = 0 /* TokenFlags.None */; if (pos >= end) { - return token = 1 /* EndOfFileToken */; + return token = 1 /* SyntaxKind.EndOfFileToken */; } var ch = codePointAt(text, pos); pos += charSize(ch); switch (ch) { - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: + case 9 /* CharacterCodes.tab */: + case 11 /* CharacterCodes.verticalTab */: + case 12 /* CharacterCodes.formFeed */: + case 32 /* CharacterCodes.space */: while (pos < end && isWhiteSpaceSingleLine(text.charCodeAt(pos))) { pos++; } - return token = 5 /* WhitespaceTrivia */; - case 64 /* at */: - return token = 59 /* AtToken */; - case 13 /* carriageReturn */: - if (text.charCodeAt(pos) === 10 /* lineFeed */) { + return token = 5 /* SyntaxKind.WhitespaceTrivia */; + case 64 /* CharacterCodes.at */: + return token = 59 /* SyntaxKind.AtToken */; + case 13 /* CharacterCodes.carriageReturn */: + if (text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) { pos++; } // falls through - case 10 /* lineFeed */: - tokenFlags |= 1 /* PrecedingLineBreak */; - return token = 4 /* NewLineTrivia */; - case 42 /* asterisk */: - return token = 41 /* AsteriskToken */; - case 123 /* openBrace */: - return token = 18 /* OpenBraceToken */; - case 125 /* closeBrace */: - return token = 19 /* CloseBraceToken */; - case 91 /* openBracket */: - return token = 22 /* OpenBracketToken */; - case 93 /* closeBracket */: - return token = 23 /* CloseBracketToken */; - case 60 /* lessThan */: - return token = 29 /* LessThanToken */; - case 62 /* greaterThan */: - return token = 31 /* GreaterThanToken */; - case 61 /* equals */: - return token = 63 /* EqualsToken */; - case 44 /* comma */: - return token = 27 /* CommaToken */; - case 46 /* dot */: - return token = 24 /* DotToken */; - case 96 /* backtick */: - return token = 61 /* BacktickToken */; - case 35 /* hash */: - return token = 62 /* HashToken */; - case 92 /* backslash */: + case 10 /* CharacterCodes.lineFeed */: + tokenFlags |= 1 /* TokenFlags.PrecedingLineBreak */; + return token = 4 /* SyntaxKind.NewLineTrivia */; + case 42 /* CharacterCodes.asterisk */: + return token = 41 /* SyntaxKind.AsteriskToken */; + case 123 /* CharacterCodes.openBrace */: + return token = 18 /* SyntaxKind.OpenBraceToken */; + case 125 /* CharacterCodes.closeBrace */: + return token = 19 /* SyntaxKind.CloseBraceToken */; + case 91 /* CharacterCodes.openBracket */: + return token = 22 /* SyntaxKind.OpenBracketToken */; + case 93 /* CharacterCodes.closeBracket */: + return token = 23 /* SyntaxKind.CloseBracketToken */; + case 60 /* CharacterCodes.lessThan */: + return token = 29 /* SyntaxKind.LessThanToken */; + case 62 /* CharacterCodes.greaterThan */: + return token = 31 /* SyntaxKind.GreaterThanToken */; + case 61 /* CharacterCodes.equals */: + return token = 63 /* SyntaxKind.EqualsToken */; + case 44 /* CharacterCodes.comma */: + return token = 27 /* SyntaxKind.CommaToken */; + case 46 /* CharacterCodes.dot */: + return token = 24 /* SyntaxKind.DotToken */; + case 96 /* CharacterCodes.backtick */: + return token = 61 /* SyntaxKind.BacktickToken */; + case 35 /* CharacterCodes.hash */: + return token = 62 /* SyntaxKind.HashToken */; + case 92 /* CharacterCodes.backslash */: pos--; var extendedCookedChar = peekExtendedUnicodeEscape(); if (extendedCookedChar >= 0 && isIdentifierStart(extendedCookedChar, languageVersion)) { pos += 3; - tokenFlags |= 8 /* ExtendedUnicodeEscape */; + tokenFlags |= 8 /* TokenFlags.ExtendedUnicodeEscape */; tokenValue = scanExtendedUnicodeEscape() + scanIdentifierParts(); return token = getIdentifierToken(); } var cookedChar = peekUnicodeEscape(); if (cookedChar >= 0 && isIdentifierStart(cookedChar, languageVersion)) { pos += 6; - tokenFlags |= 1024 /* UnicodeEscape */; + tokenFlags |= 1024 /* TokenFlags.UnicodeEscape */; tokenValue = String.fromCharCode(cookedChar) + scanIdentifierParts(); return token = getIdentifierToken(); } pos++; - return token = 0 /* Unknown */; + return token = 0 /* SyntaxKind.Unknown */; } if (isIdentifierStart(ch, languageVersion)) { var char = ch; - while (pos < end && isIdentifierPart(char = codePointAt(text, pos), languageVersion) || text.charCodeAt(pos) === 45 /* minus */) + while (pos < end && isIdentifierPart(char = codePointAt(text, pos), languageVersion) || text.charCodeAt(pos) === 45 /* CharacterCodes.minus */) pos += charSize(char); tokenValue = text.substring(tokenPos, pos); - if (char === 92 /* backslash */) { + if (char === 92 /* CharacterCodes.backslash */) { tokenValue += scanIdentifierParts(); } return token = getIdentifierToken(); } else { - return token = 0 /* Unknown */; + return token = 0 /* SyntaxKind.Unknown */; } } function speculationHelper(callback, isLookahead) { @@ -12294,9 +12297,9 @@ var ts; pos = textPos; startPos = textPos; tokenPos = textPos; - token = 0 /* Unknown */; + token = 0 /* SyntaxKind.Unknown */; tokenValue = undefined; - tokenFlags = 0 /* None */; + tokenFlags = 0 /* TokenFlags.None */; } function setInJSDocType(inType) { inJSDocType += inType ? 1 : -1; @@ -12362,23 +12365,23 @@ var ts; ts.sortAndDeduplicateDiagnostics = sortAndDeduplicateDiagnostics; function getDefaultLibFileName(options) { switch (ts.getEmitScriptTarget(options)) { - case 99 /* ESNext */: + case 99 /* ScriptTarget.ESNext */: return "lib.esnext.full.d.ts"; - case 9 /* ES2022 */: + case 9 /* ScriptTarget.ES2022 */: return "lib.es2022.full.d.ts"; - case 8 /* ES2021 */: + case 8 /* ScriptTarget.ES2021 */: return "lib.es2021.full.d.ts"; - case 7 /* ES2020 */: + case 7 /* ScriptTarget.ES2020 */: return "lib.es2020.full.d.ts"; - case 6 /* ES2019 */: + case 6 /* ScriptTarget.ES2019 */: return "lib.es2019.full.d.ts"; - case 5 /* ES2018 */: + case 5 /* ScriptTarget.ES2018 */: return "lib.es2018.full.d.ts"; - case 4 /* ES2017 */: + case 4 /* ScriptTarget.ES2017 */: return "lib.es2017.full.d.ts"; - case 3 /* ES2016 */: + case 3 /* ScriptTarget.ES2016 */: return "lib.es2016.full.d.ts"; - case 2 /* ES2015 */: + case 2 /* ScriptTarget.ES2015 */: return "lib.es6.d.ts"; // We don't use lib.es2015.full.d.ts due to breaking change. default: return "lib.d.ts"; @@ -12586,9 +12589,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 163 /* TypeParameter */) { + if (d && d.kind === 163 /* SyntaxKind.TypeParameter */) { for (var current = d; current; current = current.parent) { - if (isFunctionLike(current) || isClassLike(current) || current.kind === 258 /* InterfaceDeclaration */) { + if (isFunctionLike(current) || isClassLike(current) || current.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { return current; } } @@ -12596,7 +12599,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node, parent) { - return ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */) && parent.kind === 171 /* Constructor */; + return ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */) && parent.kind === 171 /* SyntaxKind.Constructor */; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -12626,14 +12629,14 @@ var ts; node = walkUpBindingElementsAndPatterns(node); } var flags = getFlags(node); - if (node.kind === 254 /* VariableDeclaration */) { + if (node.kind === 254 /* SyntaxKind.VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 255 /* VariableDeclarationList */) { + if (node && node.kind === 255 /* SyntaxKind.VariableDeclarationList */) { flags |= getFlags(node); node = node.parent; } - if (node && node.kind === 237 /* VariableStatement */) { + if (node && node.kind === 237 /* SyntaxKind.VariableStatement */) { flags |= getFlags(node); } return flags; @@ -12747,7 +12750,7 @@ var ts; * @param node The node to test. */ function isParseTreeNode(node) { - return (node.flags & 8 /* Synthesized */) === 0; + return (node.flags & 8 /* NodeFlags.Synthesized */) === 0; } ts.isParseTreeNode = isParseTreeNode; function getParseTreeNode(node, nodeTest) { @@ -12765,7 +12768,7 @@ var ts; ts.getParseTreeNode = getParseTreeNode; /** Add an extra underscore to identifiers that start with two underscores to avoid issues with magic names like '__proto__' */ function escapeLeadingUnderscores(identifier) { - return (identifier.length >= 2 && identifier.charCodeAt(0) === 95 /* _ */ && identifier.charCodeAt(1) === 95 /* _ */ ? "_" + identifier : identifier); + return (identifier.length >= 2 && identifier.charCodeAt(0) === 95 /* CharacterCodes._ */ && identifier.charCodeAt(1) === 95 /* CharacterCodes._ */ ? "_" + identifier : identifier); } ts.escapeLeadingUnderscores = escapeLeadingUnderscores; /** @@ -12776,7 +12779,7 @@ var ts; */ function unescapeLeadingUnderscores(identifier) { var id = identifier; - return id.length >= 3 && id.charCodeAt(0) === 95 /* _ */ && id.charCodeAt(1) === 95 /* _ */ && id.charCodeAt(2) === 95 /* _ */ ? id.substr(1) : id; + return id.length >= 3 && id.charCodeAt(0) === 95 /* CharacterCodes._ */ && id.charCodeAt(1) === 95 /* CharacterCodes._ */ && id.charCodeAt(2) === 95 /* CharacterCodes._ */ ? id.substr(1) : id; } ts.unescapeLeadingUnderscores = unescapeLeadingUnderscores; function idText(identifierOrPrivateName) { @@ -12806,30 +12809,30 @@ var ts; } // Covers remaining cases (returning undefined if none match). switch (hostNode.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } break; - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: var expr = hostNode.expression; - if (expr.kind === 221 /* BinaryExpression */ && expr.operatorToken.kind === 63 /* EqualsToken */) { + if (expr.kind === 221 /* SyntaxKind.BinaryExpression */ && expr.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { expr = expr.left; } switch (expr.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return expr.name; - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; } } break; - case 212 /* ParenthesizedExpression */: { + case 212 /* SyntaxKind.ParenthesizedExpression */: { return getDeclarationIdentifier(hostNode.expression); } - case 250 /* LabeledStatement */: { + case 250 /* SyntaxKind.LabeledStatement */: { if (isDeclaration(hostNode.statement) || isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -12864,42 +12867,42 @@ var ts; /** @internal */ function getNonAssignedNameOfDeclaration(declaration) { switch (declaration.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return declaration; - case 347 /* JSDocPropertyTag */: - case 340 /* JSDocParameterTag */: { + case 347 /* SyntaxKind.JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: { var name = declaration.name; - if (name.kind === 161 /* QualifiedName */) { + if (name.kind === 161 /* SyntaxKind.QualifiedName */) { return name.right; } break; } - case 208 /* CallExpression */: - case 221 /* BinaryExpression */: { + case 208 /* SyntaxKind.CallExpression */: + case 221 /* SyntaxKind.BinaryExpression */: { var expr_1 = declaration; switch (ts.getAssignmentDeclarationKind(expr_1)) { - case 1 /* ExportsProperty */: - case 4 /* ThisProperty */: - case 5 /* Property */: - case 3 /* PrototypeProperty */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: + case 5 /* AssignmentDeclarationKind.Property */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: return ts.getElementOrPropertyAccessArgumentExpressionOrName(expr_1.left); - case 7 /* ObjectDefinePropertyValue */: - case 8 /* ObjectDefinePropertyExports */: - case 9 /* ObjectDefinePrototypeProperty */: + case 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */: + case 8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */: + case 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */: return expr_1.arguments[1]; default: return undefined; } } - case 345 /* JSDocTypedefTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: return getNameOfJSDocTypedef(declaration); - case 339 /* JSDocEnumTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: return nameForNamelessJSDocTypedef(declaration); - case 271 /* ExportAssignment */: { + case 271 /* SyntaxKind.ExportAssignment */: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var expr = declaration; if (ts.isBindableStaticElementAccessExpression(expr)) { return expr.argumentExpression; @@ -13192,16 +13195,16 @@ var ts; /** Gets the text of a jsdoc comment, flattening links to their text. */ function getTextOfJSDocComment(comment) { return typeof comment === "string" ? comment - : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 321 /* JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); + : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 321 /* SyntaxKind.JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); } ts.getTextOfJSDocComment = getTextOfJSDocComment; function formatJSDocLink(link) { - var kind = link.kind === 324 /* JSDocLink */ ? "link" - : link.kind === 325 /* JSDocLinkCode */ ? "linkcode" + var kind = link.kind === 324 /* SyntaxKind.JSDocLink */ ? "link" + : link.kind === 325 /* SyntaxKind.JSDocLinkCode */ ? "linkcode" : "linkplain"; var name = link.name ? ts.entityNameToString(link.name) : ""; var space = link.name && link.text.startsWith("://") ? "" : " "; - return "{@" + kind + " " + name + space + link.text + "}"; + return "{@".concat(kind, " ").concat(name).concat(space).concat(link.text, "}"); } /** * Gets the effective type parameters. If the node was parsed in a @@ -13212,7 +13215,7 @@ var ts; return ts.emptyArray; } if (ts.isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 320 /* JSDoc */); + ts.Debug.assert(node.parent.kind === 320 /* SyntaxKind.JSDoc */); return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } if (node.typeParameters) { @@ -13239,33 +13242,33 @@ var ts; ts.getEffectiveConstraintOfTypeParameter = getEffectiveConstraintOfTypeParameter; // #region function isMemberName(node) { - return node.kind === 79 /* Identifier */ || node.kind === 80 /* PrivateIdentifier */; + return node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 80 /* SyntaxKind.PrivateIdentifier */; } ts.isMemberName = isMemberName; /* @internal */ function isGetOrSetAccessorDeclaration(node) { - return node.kind === 173 /* SetAccessor */ || node.kind === 172 /* GetAccessor */; + return node.kind === 173 /* SyntaxKind.SetAccessor */ || node.kind === 172 /* SyntaxKind.GetAccessor */; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; function isPropertyAccessChain(node) { - return ts.isPropertyAccessExpression(node) && !!(node.flags & 32 /* OptionalChain */); + return ts.isPropertyAccessExpression(node) && !!(node.flags & 32 /* NodeFlags.OptionalChain */); } ts.isPropertyAccessChain = isPropertyAccessChain; function isElementAccessChain(node) { - return ts.isElementAccessExpression(node) && !!(node.flags & 32 /* OptionalChain */); + return ts.isElementAccessExpression(node) && !!(node.flags & 32 /* NodeFlags.OptionalChain */); } ts.isElementAccessChain = isElementAccessChain; function isCallChain(node) { - return ts.isCallExpression(node) && !!(node.flags & 32 /* OptionalChain */); + return ts.isCallExpression(node) && !!(node.flags & 32 /* NodeFlags.OptionalChain */); } ts.isCallChain = isCallChain; function isOptionalChain(node) { var kind = node.kind; - return !!(node.flags & 32 /* OptionalChain */) && - (kind === 206 /* PropertyAccessExpression */ - || kind === 207 /* ElementAccessExpression */ - || kind === 208 /* CallExpression */ - || kind === 230 /* NonNullExpression */); + return !!(node.flags & 32 /* NodeFlags.OptionalChain */) && + (kind === 206 /* SyntaxKind.PropertyAccessExpression */ + || kind === 207 /* SyntaxKind.ElementAccessExpression */ + || kind === 208 /* SyntaxKind.CallExpression */ + || kind === 230 /* SyntaxKind.NonNullExpression */); } ts.isOptionalChain = isOptionalChain; /* @internal */ @@ -13300,7 +13303,7 @@ var ts; } ts.isOutermostOptionalChain = isOutermostOptionalChain; function isNullishCoalesce(node) { - return node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 60 /* QuestionQuestionToken */; + return node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */; } ts.isNullishCoalesce = isNullishCoalesce; function isConstTypeReference(node) { @@ -13309,25 +13312,25 @@ var ts; } ts.isConstTypeReference = isConstTypeReference; function skipPartiallyEmittedExpressions(node) { - return ts.skipOuterExpressions(node, 8 /* PartiallyEmittedExpressions */); + return ts.skipOuterExpressions(node, 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */); } ts.skipPartiallyEmittedExpressions = skipPartiallyEmittedExpressions; function isNonNullChain(node) { - return ts.isNonNullExpression(node) && !!(node.flags & 32 /* OptionalChain */); + return ts.isNonNullExpression(node) && !!(node.flags & 32 /* NodeFlags.OptionalChain */); } ts.isNonNullChain = isNonNullChain; function isBreakOrContinueStatement(node) { - return node.kind === 246 /* BreakStatement */ || node.kind === 245 /* ContinueStatement */; + return node.kind === 246 /* SyntaxKind.BreakStatement */ || node.kind === 245 /* SyntaxKind.ContinueStatement */; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isNamedExportBindings(node) { - return node.kind === 274 /* NamespaceExport */ || node.kind === 273 /* NamedExports */; + return node.kind === 274 /* SyntaxKind.NamespaceExport */ || node.kind === 273 /* SyntaxKind.NamedExports */; } ts.isNamedExportBindings = isNamedExportBindings; function isUnparsedTextLike(node) { switch (node.kind) { - case 302 /* UnparsedText */: - case 303 /* UnparsedInternalText */: + case 302 /* SyntaxKind.UnparsedText */: + case 303 /* SyntaxKind.UnparsedInternalText */: return true; default: return false; @@ -13336,12 +13339,12 @@ var ts; ts.isUnparsedTextLike = isUnparsedTextLike; function isUnparsedNode(node) { return isUnparsedTextLike(node) || - node.kind === 300 /* UnparsedPrologue */ || - node.kind === 304 /* UnparsedSyntheticReference */; + node.kind === 300 /* SyntaxKind.UnparsedPrologue */ || + node.kind === 304 /* SyntaxKind.UnparsedSyntheticReference */; } ts.isUnparsedNode = isUnparsedNode; function isJSDocPropertyLikeTag(node) { - return node.kind === 347 /* JSDocPropertyTag */ || node.kind === 340 /* JSDocParameterTag */; + return node.kind === 347 /* SyntaxKind.JSDocPropertyTag */ || node.kind === 340 /* SyntaxKind.JSDocParameterTag */; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; // #endregion @@ -13357,7 +13360,7 @@ var ts; ts.isNode = isNode; /* @internal */ function isNodeKind(kind) { - return kind >= 161 /* FirstNode */; + return kind >= 161 /* SyntaxKind.FirstNode */; } ts.isNodeKind = isNodeKind; /** @@ -13366,7 +13369,7 @@ var ts; * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. */ function isTokenKind(kind) { - return kind >= 0 /* FirstToken */ && kind <= 160 /* LastToken */; + return kind >= 0 /* SyntaxKind.FirstToken */ && kind <= 160 /* SyntaxKind.LastToken */; } ts.isTokenKind = isTokenKind; /** @@ -13387,7 +13390,7 @@ var ts; // Literals /* @internal */ function isLiteralKind(kind) { - return 8 /* FirstLiteralToken */ <= kind && kind <= 14 /* LastLiteralToken */; + return 8 /* SyntaxKind.FirstLiteralToken */ <= kind && kind <= 14 /* SyntaxKind.LastLiteralToken */; } ts.isLiteralKind = isLiteralKind; function isLiteralExpression(node) { @@ -13397,7 +13400,7 @@ var ts; // Pseudo-literals /* @internal */ function isTemplateLiteralKind(kind) { - return 14 /* FirstTemplateToken */ <= kind && kind <= 17 /* LastTemplateToken */; + return 14 /* SyntaxKind.FirstTemplateToken */ <= kind && kind <= 17 /* SyntaxKind.LastTemplateToken */; } ts.isTemplateLiteralKind = isTemplateLiteralKind; function isTemplateLiteralToken(node) { @@ -13406,8 +13409,8 @@ var ts; ts.isTemplateLiteralToken = isTemplateLiteralToken; function isTemplateMiddleOrTemplateTail(node) { var kind = node.kind; - return kind === 16 /* TemplateMiddle */ - || kind === 17 /* TemplateTail */; + return kind === 16 /* SyntaxKind.TemplateMiddle */ + || kind === 17 /* SyntaxKind.TemplateTail */; } ts.isTemplateMiddleOrTemplateTail = isTemplateMiddleOrTemplateTail; function isImportOrExportSpecifier(node) { @@ -13416,13 +13419,13 @@ var ts; ts.isImportOrExportSpecifier = isImportOrExportSpecifier; function isTypeOnlyImportOrExportDeclaration(node) { switch (node.kind) { - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: return node.isTypeOnly || node.parent.parent.isTypeOnly; - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: return node.parent.isTypeOnly; - case 267 /* ImportClause */: - case 265 /* ImportEqualsDeclaration */: + case 267 /* SyntaxKind.ImportClause */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return node.isTypeOnly; default: return false; @@ -13434,13 +13437,13 @@ var ts; } ts.isAssertionKey = isAssertionKey; function isStringTextContainingNode(node) { - return node.kind === 10 /* StringLiteral */ || isTemplateLiteralKind(node.kind); + return node.kind === 10 /* SyntaxKind.StringLiteral */ || isTemplateLiteralKind(node.kind); } ts.isStringTextContainingNode = isStringTextContainingNode; // Identifiers /* @internal */ function isGeneratedIdentifier(node) { - return ts.isIdentifier(node) && (node.autoGenerateFlags & 7 /* KindMask */) > 0 /* None */; + return ts.isIdentifier(node) && (node.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) > 0 /* GeneratedIdentifierFlags.None */; } ts.isGeneratedIdentifier = isGeneratedIdentifier; // Private Identifiers @@ -13458,20 +13461,20 @@ var ts; /* @internal */ function isModifierKind(token) { switch (token) { - case 126 /* AbstractKeyword */: - case 131 /* AsyncKeyword */: - case 85 /* ConstKeyword */: - case 135 /* DeclareKeyword */: - case 88 /* DefaultKeyword */: - case 93 /* ExportKeyword */: - case 101 /* InKeyword */: - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 145 /* ReadonlyKeyword */: - case 124 /* StaticKeyword */: - case 144 /* OutKeyword */: - case 159 /* OverrideKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: + case 101 /* SyntaxKind.InKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + case 144 /* SyntaxKind.OutKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: return true; } return false; @@ -13479,12 +13482,12 @@ var ts; ts.isModifierKind = isModifierKind; /* @internal */ function isParameterPropertyModifier(kind) { - return !!(ts.modifierToFlag(kind) & 16476 /* ParameterPropertyModifier */); + return !!(ts.modifierToFlag(kind) & 16476 /* ModifierFlags.ParameterPropertyModifier */); } ts.isParameterPropertyModifier = isParameterPropertyModifier; /* @internal */ function isClassMemberModifier(idToken) { - return isParameterPropertyModifier(idToken) || idToken === 124 /* StaticKeyword */ || idToken === 159 /* OverrideKeyword */; + return isParameterPropertyModifier(idToken) || idToken === 124 /* SyntaxKind.StaticKeyword */ || idToken === 159 /* SyntaxKind.OverrideKeyword */; } ts.isClassMemberModifier = isClassMemberModifier; function isModifier(node) { @@ -13493,24 +13496,24 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 161 /* QualifiedName */ - || kind === 79 /* Identifier */; + return kind === 161 /* SyntaxKind.QualifiedName */ + || kind === 79 /* SyntaxKind.Identifier */; } ts.isEntityName = isEntityName; function isPropertyName(node) { var kind = node.kind; - return kind === 79 /* Identifier */ - || kind === 80 /* PrivateIdentifier */ - || kind === 10 /* StringLiteral */ - || kind === 8 /* NumericLiteral */ - || kind === 162 /* ComputedPropertyName */; + return kind === 79 /* SyntaxKind.Identifier */ + || kind === 80 /* SyntaxKind.PrivateIdentifier */ + || kind === 10 /* SyntaxKind.StringLiteral */ + || kind === 8 /* SyntaxKind.NumericLiteral */ + || kind === 162 /* SyntaxKind.ComputedPropertyName */; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; - return kind === 79 /* Identifier */ - || kind === 201 /* ObjectBindingPattern */ - || kind === 202 /* ArrayBindingPattern */; + return kind === 79 /* SyntaxKind.Identifier */ + || kind === 201 /* SyntaxKind.ObjectBindingPattern */ + || kind === 202 /* SyntaxKind.ArrayBindingPattern */; } ts.isBindingName = isBindingName; // Functions @@ -13530,18 +13533,18 @@ var ts; ts.isFunctionLikeDeclaration = isFunctionLikeDeclaration; /* @internal */ function isBooleanLiteral(node) { - return node.kind === 110 /* TrueKeyword */ || node.kind === 95 /* FalseKeyword */; + return node.kind === 110 /* SyntaxKind.TrueKeyword */ || node.kind === 95 /* SyntaxKind.FalseKeyword */; } ts.isBooleanLiteral = isBooleanLiteral; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return true; default: return false; @@ -13550,14 +13553,14 @@ var ts; /* @internal */ function isFunctionLikeKind(kind) { switch (kind) { - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 323 /* JSDocSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: - case 179 /* FunctionType */: - case 317 /* JSDocFunctionType */: - case 180 /* ConstructorType */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 323 /* SyntaxKind.JSDocSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 180 /* SyntaxKind.ConstructorType */: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -13572,30 +13575,30 @@ var ts; // Classes function isClassElement(node) { var kind = node.kind; - return kind === 171 /* Constructor */ - || kind === 167 /* PropertyDeclaration */ - || kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */ - || kind === 176 /* IndexSignature */ - || kind === 170 /* ClassStaticBlockDeclaration */ - || kind === 234 /* SemicolonClassElement */; + return kind === 171 /* SyntaxKind.Constructor */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 234 /* SyntaxKind.SemicolonClassElement */; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 257 /* ClassDeclaration */ || node.kind === 226 /* ClassExpression */); + return node && (node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 226 /* SyntaxKind.ClassExpression */); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 172 /* GetAccessor */ || node.kind === 173 /* SetAccessor */); + return node && (node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */); } ts.isAccessor = isAccessor; /* @internal */ function isMethodOrAccessor(node) { switch (node.kind) { - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return true; default: return false; @@ -13605,13 +13608,13 @@ var ts; // Type members function isTypeElement(node) { var kind = node.kind; - return kind === 175 /* ConstructSignature */ - || kind === 174 /* CallSignature */ - || kind === 166 /* PropertySignature */ - || kind === 168 /* MethodSignature */ - || kind === 176 /* IndexSignature */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */; + return kind === 175 /* SyntaxKind.ConstructSignature */ + || kind === 174 /* SyntaxKind.CallSignature */ + || kind === 166 /* SyntaxKind.PropertySignature */ + || kind === 168 /* SyntaxKind.MethodSignature */ + || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -13620,12 +13623,12 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 296 /* PropertyAssignment */ - || kind === 297 /* ShorthandPropertyAssignment */ - || kind === 298 /* SpreadAssignment */ - || kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */; + return kind === 296 /* SyntaxKind.PropertyAssignment */ + || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 298 /* SyntaxKind.SpreadAssignment */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; // Type @@ -13640,8 +13643,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 179 /* FunctionType */: - case 180 /* ConstructorType */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: return true; } return false; @@ -13652,8 +13655,8 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 202 /* ArrayBindingPattern */ - || kind === 201 /* ObjectBindingPattern */; + return kind === 202 /* SyntaxKind.ArrayBindingPattern */ + || kind === 201 /* SyntaxKind.ObjectBindingPattern */; } return false; } @@ -13661,15 +13664,15 @@ var ts; /* @internal */ function isAssignmentPattern(node) { var kind = node.kind; - return kind === 204 /* ArrayLiteralExpression */ - || kind === 205 /* ObjectLiteralExpression */; + return kind === 204 /* SyntaxKind.ArrayLiteralExpression */ + || kind === 205 /* SyntaxKind.ObjectLiteralExpression */; } ts.isAssignmentPattern = isAssignmentPattern; /* @internal */ function isArrayBindingElement(node) { var kind = node.kind; - return kind === 203 /* BindingElement */ - || kind === 227 /* OmittedExpression */; + return kind === 203 /* SyntaxKind.BindingElement */ + || kind === 227 /* SyntaxKind.OmittedExpression */; } ts.isArrayBindingElement = isArrayBindingElement; /** @@ -13678,9 +13681,9 @@ var ts; /* @internal */ function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: - case 203 /* BindingElement */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 203 /* SyntaxKind.BindingElement */: return true; } return false; @@ -13701,8 +13704,8 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 201 /* ObjectBindingPattern */: - case 205 /* ObjectLiteralExpression */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return true; } return false; @@ -13711,10 +13714,10 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentElement(node) { switch (node.kind) { - case 203 /* BindingElement */: - case 296 /* PropertyAssignment */: // AssignmentProperty - case 297 /* ShorthandPropertyAssignment */: // AssignmentProperty - case 298 /* SpreadAssignment */: // AssignmentRestProperty + case 203 /* SyntaxKind.BindingElement */: + case 296 /* SyntaxKind.PropertyAssignment */: // AssignmentProperty + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: // AssignmentProperty + case 298 /* SyntaxKind.SpreadAssignment */: // AssignmentRestProperty return true; } return false; @@ -13726,8 +13729,8 @@ var ts; /* @internal */ function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 202 /* ArrayBindingPattern */: - case 204 /* ArrayLiteralExpression */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return true; } return false; @@ -13736,26 +13739,26 @@ var ts; /* @internal */ function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 206 /* PropertyAccessExpression */ - || kind === 161 /* QualifiedName */ - || kind === 200 /* ImportType */; + return kind === 206 /* SyntaxKind.PropertyAccessExpression */ + || kind === 161 /* SyntaxKind.QualifiedName */ + || kind === 200 /* SyntaxKind.ImportType */; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; // Expression function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 206 /* PropertyAccessExpression */ - || kind === 161 /* QualifiedName */; + return kind === 206 /* SyntaxKind.PropertyAccessExpression */ + || kind === 161 /* SyntaxKind.QualifiedName */; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 210 /* TaggedTemplateExpression */: - case 165 /* Decorator */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 165 /* SyntaxKind.Decorator */: return true; default: return false; @@ -13763,13 +13766,13 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 208 /* CallExpression */ || node.kind === 209 /* NewExpression */; + return node.kind === 208 /* SyntaxKind.CallExpression */ || node.kind === 209 /* SyntaxKind.NewExpression */; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 223 /* TemplateExpression */ - || kind === 14 /* NoSubstitutionTemplateLiteral */; + return kind === 223 /* SyntaxKind.TemplateExpression */ + || kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */; } ts.isTemplateLiteral = isTemplateLiteral; /* @internal */ @@ -13779,36 +13782,36 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: - case 209 /* NewExpression */: - case 208 /* CallExpression */: - case 278 /* JsxElement */: - case 279 /* JsxSelfClosingElement */: - case 282 /* JsxFragment */: - case 210 /* TaggedTemplateExpression */: - case 204 /* ArrayLiteralExpression */: - case 212 /* ParenthesizedExpression */: - case 205 /* ObjectLiteralExpression */: - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: // technically this is only an Expression if it's in a `#field in expr` BinaryExpression - case 13 /* RegularExpressionLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 223 /* TemplateExpression */: - case 95 /* FalseKeyword */: - case 104 /* NullKeyword */: - case 108 /* ThisKeyword */: - case 110 /* TrueKeyword */: - case 106 /* SuperKeyword */: - case 230 /* NonNullExpression */: - case 228 /* ExpressionWithTypeArguments */: - case 231 /* MetaProperty */: - case 100 /* ImportKeyword */: // technically this is only an Expression if it's in a CallExpression + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 278 /* SyntaxKind.JsxElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxFragment */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: // technically this is only an Expression if it's in a `#field in expr` BinaryExpression + case 13 /* SyntaxKind.RegularExpressionLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 223 /* SyntaxKind.TemplateExpression */: + case 95 /* SyntaxKind.FalseKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: + case 230 /* SyntaxKind.NonNullExpression */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 231 /* SyntaxKind.MetaProperty */: + case 100 /* SyntaxKind.ImportKeyword */: // technically this is only an Expression if it's in a CallExpression return true; default: return false; @@ -13821,13 +13824,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: - case 215 /* DeleteExpression */: - case 216 /* TypeOfExpression */: - case 217 /* VoidExpression */: - case 218 /* AwaitExpression */: - case 211 /* TypeAssertionExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 215 /* SyntaxKind.DeleteExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: + case 217 /* SyntaxKind.VoidExpression */: + case 218 /* SyntaxKind.AwaitExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: return true; default: return isLeftHandSideExpressionKind(kind); @@ -13836,11 +13839,11 @@ var ts; /* @internal */ function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return true; - case 219 /* PrefixUnaryExpression */: - return expr.operator === 45 /* PlusPlusToken */ || - expr.operator === 46 /* MinusMinusToken */; + case 219 /* SyntaxKind.PrefixUnaryExpression */: + return expr.operator === 45 /* SyntaxKind.PlusPlusToken */ || + expr.operator === 46 /* SyntaxKind.MinusMinusToken */; default: return false; } @@ -13857,15 +13860,15 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 222 /* ConditionalExpression */: - case 224 /* YieldExpression */: - case 214 /* ArrowFunction */: - case 221 /* BinaryExpression */: - case 225 /* SpreadElement */: - case 229 /* AsExpression */: - case 227 /* OmittedExpression */: - case 351 /* CommaListExpression */: - case 350 /* PartiallyEmittedExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.YieldExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 221 /* SyntaxKind.BinaryExpression */: + case 225 /* SyntaxKind.SpreadElement */: + case 229 /* SyntaxKind.AsExpression */: + case 227 /* SyntaxKind.OmittedExpression */: + case 351 /* SyntaxKind.CommaListExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: return true; default: return isUnaryExpressionKind(kind); @@ -13873,8 +13876,8 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 211 /* TypeAssertionExpression */ - || kind === 229 /* AsExpression */; + return kind === 211 /* SyntaxKind.TypeAssertionExpression */ + || kind === 229 /* SyntaxKind.AsExpression */; } ts.isAssertionExpression = isAssertionExpression; /* @internal */ @@ -13885,13 +13888,13 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: return true; - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -13909,18 +13912,18 @@ var ts; ts.hasScopeMarker = hasScopeMarker; /* @internal */ function needsScopeMarker(result) { - return !ts.isAnyImportOrReExport(result) && !ts.isExportAssignment(result) && !ts.hasSyntacticModifier(result, 1 /* Export */) && !ts.isAmbientModule(result); + return !ts.isAnyImportOrReExport(result) && !ts.isExportAssignment(result) && !ts.hasSyntacticModifier(result, 1 /* ModifierFlags.Export */) && !ts.isAmbientModule(result); } ts.needsScopeMarker = needsScopeMarker; /* @internal */ function isExternalModuleIndicator(result) { // Exported top-level member indicates moduleness - return ts.isAnyImportOrReExport(result) || ts.isExportAssignment(result) || ts.hasSyntacticModifier(result, 1 /* Export */); + return ts.isAnyImportOrReExport(result) || ts.isExportAssignment(result) || ts.hasSyntacticModifier(result, 1 /* ModifierFlags.Export */); } ts.isExternalModuleIndicator = isExternalModuleIndicator; /* @internal */ function isForInOrOfStatement(node) { - return node.kind === 243 /* ForInStatement */ || node.kind === 244 /* ForOfStatement */; + return node.kind === 243 /* SyntaxKind.ForInStatement */ || node.kind === 244 /* SyntaxKind.ForOfStatement */; } ts.isForInOrOfStatement = isForInOrOfStatement; // Element @@ -13944,115 +13947,115 @@ var ts; /* @internal */ function isModuleBody(node) { var kind = node.kind; - return kind === 262 /* ModuleBlock */ - || kind === 261 /* ModuleDeclaration */ - || kind === 79 /* Identifier */; + return kind === 262 /* SyntaxKind.ModuleBlock */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 79 /* SyntaxKind.Identifier */; } ts.isModuleBody = isModuleBody; /* @internal */ function isNamespaceBody(node) { var kind = node.kind; - return kind === 262 /* ModuleBlock */ - || kind === 261 /* ModuleDeclaration */; + return kind === 262 /* SyntaxKind.ModuleBlock */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */; } ts.isNamespaceBody = isNamespaceBody; /* @internal */ function isJSDocNamespaceBody(node) { var kind = node.kind; - return kind === 79 /* Identifier */ - || kind === 261 /* ModuleDeclaration */; + return kind === 79 /* SyntaxKind.Identifier */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; /* @internal */ function isNamedImportBindings(node) { var kind = node.kind; - return kind === 269 /* NamedImports */ - || kind === 268 /* NamespaceImport */; + return kind === 269 /* SyntaxKind.NamedImports */ + || kind === 268 /* SyntaxKind.NamespaceImport */; } ts.isNamedImportBindings = isNamedImportBindings; /* @internal */ function isModuleOrEnumDeclaration(node) { - return node.kind === 261 /* ModuleDeclaration */ || node.kind === 260 /* EnumDeclaration */; + return node.kind === 261 /* SyntaxKind.ModuleDeclaration */ || node.kind === 260 /* SyntaxKind.EnumDeclaration */; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 214 /* ArrowFunction */ - || kind === 203 /* BindingElement */ - || kind === 257 /* ClassDeclaration */ - || kind === 226 /* ClassExpression */ - || kind === 170 /* ClassStaticBlockDeclaration */ - || kind === 171 /* Constructor */ - || kind === 260 /* EnumDeclaration */ - || kind === 299 /* EnumMember */ - || kind === 275 /* ExportSpecifier */ - || kind === 256 /* FunctionDeclaration */ - || kind === 213 /* FunctionExpression */ - || kind === 172 /* GetAccessor */ - || kind === 267 /* ImportClause */ - || kind === 265 /* ImportEqualsDeclaration */ - || kind === 270 /* ImportSpecifier */ - || kind === 258 /* InterfaceDeclaration */ - || kind === 285 /* JsxAttribute */ - || kind === 169 /* MethodDeclaration */ - || kind === 168 /* MethodSignature */ - || kind === 261 /* ModuleDeclaration */ - || kind === 264 /* NamespaceExportDeclaration */ - || kind === 268 /* NamespaceImport */ - || kind === 274 /* NamespaceExport */ - || kind === 164 /* Parameter */ - || kind === 296 /* PropertyAssignment */ - || kind === 167 /* PropertyDeclaration */ - || kind === 166 /* PropertySignature */ - || kind === 173 /* SetAccessor */ - || kind === 297 /* ShorthandPropertyAssignment */ - || kind === 259 /* TypeAliasDeclaration */ - || kind === 163 /* TypeParameter */ - || kind === 254 /* VariableDeclaration */ - || kind === 345 /* JSDocTypedefTag */ - || kind === 338 /* JSDocCallbackTag */ - || kind === 347 /* JSDocPropertyTag */; + return kind === 214 /* SyntaxKind.ArrowFunction */ + || kind === 203 /* SyntaxKind.BindingElement */ + || kind === 257 /* SyntaxKind.ClassDeclaration */ + || kind === 226 /* SyntaxKind.ClassExpression */ + || kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 260 /* SyntaxKind.EnumDeclaration */ + || kind === 299 /* SyntaxKind.EnumMember */ + || kind === 275 /* SyntaxKind.ExportSpecifier */ + || kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 213 /* SyntaxKind.FunctionExpression */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 267 /* SyntaxKind.ImportClause */ + || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 270 /* SyntaxKind.ImportSpecifier */ + || kind === 258 /* SyntaxKind.InterfaceDeclaration */ + || kind === 285 /* SyntaxKind.JsxAttribute */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 168 /* SyntaxKind.MethodSignature */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ + || kind === 268 /* SyntaxKind.NamespaceImport */ + || kind === 274 /* SyntaxKind.NamespaceExport */ + || kind === 164 /* SyntaxKind.Parameter */ + || kind === 296 /* SyntaxKind.PropertyAssignment */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 166 /* SyntaxKind.PropertySignature */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 163 /* SyntaxKind.TypeParameter */ + || kind === 254 /* SyntaxKind.VariableDeclaration */ + || kind === 345 /* SyntaxKind.JSDocTypedefTag */ + || kind === 338 /* SyntaxKind.JSDocCallbackTag */ + || kind === 347 /* SyntaxKind.JSDocPropertyTag */; } function isDeclarationStatementKind(kind) { - return kind === 256 /* FunctionDeclaration */ - || kind === 276 /* MissingDeclaration */ - || kind === 257 /* ClassDeclaration */ - || kind === 258 /* InterfaceDeclaration */ - || kind === 259 /* TypeAliasDeclaration */ - || kind === 260 /* EnumDeclaration */ - || kind === 261 /* ModuleDeclaration */ - || kind === 266 /* ImportDeclaration */ - || kind === 265 /* ImportEqualsDeclaration */ - || kind === 272 /* ExportDeclaration */ - || kind === 271 /* ExportAssignment */ - || kind === 264 /* NamespaceExportDeclaration */; + return kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 276 /* SyntaxKind.MissingDeclaration */ + || kind === 257 /* SyntaxKind.ClassDeclaration */ + || kind === 258 /* SyntaxKind.InterfaceDeclaration */ + || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 260 /* SyntaxKind.EnumDeclaration */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 266 /* SyntaxKind.ImportDeclaration */ + || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 272 /* SyntaxKind.ExportDeclaration */ + || kind === 271 /* SyntaxKind.ExportAssignment */ + || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 246 /* BreakStatement */ - || kind === 245 /* ContinueStatement */ - || kind === 253 /* DebuggerStatement */ - || kind === 240 /* DoStatement */ - || kind === 238 /* ExpressionStatement */ - || kind === 236 /* EmptyStatement */ - || kind === 243 /* ForInStatement */ - || kind === 244 /* ForOfStatement */ - || kind === 242 /* ForStatement */ - || kind === 239 /* IfStatement */ - || kind === 250 /* LabeledStatement */ - || kind === 247 /* ReturnStatement */ - || kind === 249 /* SwitchStatement */ - || kind === 251 /* ThrowStatement */ - || kind === 252 /* TryStatement */ - || kind === 237 /* VariableStatement */ - || kind === 241 /* WhileStatement */ - || kind === 248 /* WithStatement */ - || kind === 349 /* NotEmittedStatement */ - || kind === 353 /* EndOfDeclarationMarker */ - || kind === 352 /* MergeDeclarationMarker */; + return kind === 246 /* SyntaxKind.BreakStatement */ + || kind === 245 /* SyntaxKind.ContinueStatement */ + || kind === 253 /* SyntaxKind.DebuggerStatement */ + || kind === 240 /* SyntaxKind.DoStatement */ + || kind === 238 /* SyntaxKind.ExpressionStatement */ + || kind === 236 /* SyntaxKind.EmptyStatement */ + || kind === 243 /* SyntaxKind.ForInStatement */ + || kind === 244 /* SyntaxKind.ForOfStatement */ + || kind === 242 /* SyntaxKind.ForStatement */ + || kind === 239 /* SyntaxKind.IfStatement */ + || kind === 250 /* SyntaxKind.LabeledStatement */ + || kind === 247 /* SyntaxKind.ReturnStatement */ + || kind === 249 /* SyntaxKind.SwitchStatement */ + || kind === 251 /* SyntaxKind.ThrowStatement */ + || kind === 252 /* SyntaxKind.TryStatement */ + || kind === 237 /* SyntaxKind.VariableStatement */ + || kind === 241 /* SyntaxKind.WhileStatement */ + || kind === 248 /* SyntaxKind.WithStatement */ + || kind === 349 /* SyntaxKind.NotEmittedStatement */ + || kind === 353 /* SyntaxKind.EndOfDeclarationMarker */ + || kind === 352 /* SyntaxKind.MergeDeclarationMarker */; } /* @internal */ function isDeclaration(node) { - if (node.kind === 163 /* TypeParameter */) { - return (node.parent && node.parent.kind !== 344 /* JSDocTemplateTag */) || ts.isInJSFile(node); + if (node.kind === 163 /* SyntaxKind.TypeParameter */) { + return (node.parent && node.parent.kind !== 344 /* SyntaxKind.JSDocTemplateTag */) || ts.isInJSFile(node); } return isDeclarationKind(node.kind); } @@ -14079,10 +14082,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 235 /* Block */) + if (node.kind !== 235 /* SyntaxKind.Block */) return false; if (node.parent !== undefined) { - if (node.parent.kind === 252 /* TryStatement */ || node.parent.kind === 292 /* CatchClause */) { + if (node.parent.kind === 252 /* SyntaxKind.TryStatement */ || node.parent.kind === 292 /* SyntaxKind.CatchClause */) { return false; } } @@ -14096,76 +14099,76 @@ var ts; var kind = node.kind; return isStatementKindButNotDeclarationKind(kind) || isDeclarationStatementKind(kind) - || kind === 235 /* Block */; + || kind === 235 /* SyntaxKind.Block */; } ts.isStatementOrBlock = isStatementOrBlock; // Module references /* @internal */ function isModuleReference(node) { var kind = node.kind; - return kind === 277 /* ExternalModuleReference */ - || kind === 161 /* QualifiedName */ - || kind === 79 /* Identifier */; + return kind === 277 /* SyntaxKind.ExternalModuleReference */ + || kind === 161 /* SyntaxKind.QualifiedName */ + || kind === 79 /* SyntaxKind.Identifier */; } ts.isModuleReference = isModuleReference; // JSX /* @internal */ function isJsxTagNameExpression(node) { var kind = node.kind; - return kind === 108 /* ThisKeyword */ - || kind === 79 /* Identifier */ - || kind === 206 /* PropertyAccessExpression */; + return kind === 108 /* SyntaxKind.ThisKeyword */ + || kind === 79 /* SyntaxKind.Identifier */ + || kind === 206 /* SyntaxKind.PropertyAccessExpression */; } ts.isJsxTagNameExpression = isJsxTagNameExpression; /* @internal */ function isJsxChild(node) { var kind = node.kind; - return kind === 278 /* JsxElement */ - || kind === 288 /* JsxExpression */ - || kind === 279 /* JsxSelfClosingElement */ - || kind === 11 /* JsxText */ - || kind === 282 /* JsxFragment */; + return kind === 278 /* SyntaxKind.JsxElement */ + || kind === 288 /* SyntaxKind.JsxExpression */ + || kind === 279 /* SyntaxKind.JsxSelfClosingElement */ + || kind === 11 /* SyntaxKind.JsxText */ + || kind === 282 /* SyntaxKind.JsxFragment */; } ts.isJsxChild = isJsxChild; /* @internal */ function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 285 /* JsxAttribute */ - || kind === 287 /* JsxSpreadAttribute */; + return kind === 285 /* SyntaxKind.JsxAttribute */ + || kind === 287 /* SyntaxKind.JsxSpreadAttribute */; } ts.isJsxAttributeLike = isJsxAttributeLike; /* @internal */ function isStringLiteralOrJsxExpression(node) { var kind = node.kind; - return kind === 10 /* StringLiteral */ - || kind === 288 /* JsxExpression */; + return kind === 10 /* SyntaxKind.StringLiteral */ + || kind === 288 /* SyntaxKind.JsxExpression */; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 280 /* JsxOpeningElement */ - || kind === 279 /* JsxSelfClosingElement */; + return kind === 280 /* SyntaxKind.JsxOpeningElement */ + || kind === 279 /* SyntaxKind.JsxSelfClosingElement */; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; // Clauses function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 289 /* CaseClause */ - || kind === 290 /* DefaultClause */; + return kind === 289 /* SyntaxKind.CaseClause */ + || kind === 290 /* SyntaxKind.DefaultClause */; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; // JSDoc /** True if node is of some JSDoc syntax kind. */ /* @internal */ function isJSDocNode(node) { - return node.kind >= 309 /* FirstJSDocNode */ && node.kind <= 347 /* LastJSDocNode */; + return node.kind >= 309 /* SyntaxKind.FirstJSDocNode */ && node.kind <= 347 /* SyntaxKind.LastJSDocNode */; } ts.isJSDocNode = isJSDocNode; /** True if node is of a kind that may contain comment text. */ function isJSDocCommentContainingNode(node) { - return node.kind === 320 /* JSDoc */ - || node.kind === 319 /* JSDocNamepathType */ - || node.kind === 321 /* JSDocText */ + return node.kind === 320 /* SyntaxKind.JSDoc */ + || node.kind === 319 /* SyntaxKind.JSDocNamepathType */ + || node.kind === 321 /* SyntaxKind.JSDocText */ || isJSDocLinkLike(node) || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) @@ -14175,15 +14178,15 @@ var ts; // TODO: determine what this does before making it public. /* @internal */ function isJSDocTag(node) { - return node.kind >= 327 /* FirstJSDocTagNode */ && node.kind <= 347 /* LastJSDocTagNode */; + return node.kind >= 327 /* SyntaxKind.FirstJSDocTagNode */ && node.kind <= 347 /* SyntaxKind.LastJSDocTagNode */; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 173 /* SetAccessor */; + return node.kind === 173 /* SyntaxKind.SetAccessor */; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 172 /* GetAccessor */; + return node.kind === 172 /* SyntaxKind.GetAccessor */; } ts.isGetAccessor = isGetAccessor; /** True if has jsdoc nodes attached to it. */ @@ -14209,13 +14212,13 @@ var ts; /** True if has initializer node attached to it. */ function hasOnlyExpressionInitializer(node) { switch (node.kind) { - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: - case 203 /* BindingElement */: - case 166 /* PropertySignature */: - case 167 /* PropertyDeclaration */: - case 296 /* PropertyAssignment */: - case 299 /* EnumMember */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 203 /* SyntaxKind.BindingElement */: + case 166 /* SyntaxKind.PropertySignature */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.EnumMember */: return true; default: return false; @@ -14223,12 +14226,12 @@ var ts; } ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { - return node.kind === 285 /* JsxAttribute */ || node.kind === 287 /* JsxSpreadAttribute */ || isObjectLiteralElementLike(node); + return node.kind === 285 /* SyntaxKind.JsxAttribute */ || node.kind === 287 /* SyntaxKind.JsxSpreadAttribute */ || isObjectLiteralElementLike(node); } ts.isObjectLiteralElement = isObjectLiteralElement; /* @internal */ function isTypeReferenceType(node) { - return node.kind === 178 /* TypeReference */ || node.kind === 228 /* ExpressionWithTypeArguments */; + return node.kind === 178 /* SyntaxKind.TypeReference */ || node.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -14257,11 +14260,11 @@ var ts; } ts.guessIndentation = guessIndentation; function isStringLiteralLike(node) { - return node.kind === 10 /* StringLiteral */ || node.kind === 14 /* NoSubstitutionTemplateLiteral */; + return node.kind === 10 /* SyntaxKind.StringLiteral */ || node.kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */; } ts.isStringLiteralLike = isStringLiteralLike; function isJSDocLinkLike(node) { - return node.kind === 324 /* JSDocLink */ || node.kind === 325 /* JSDocLinkCode */ || node.kind === 326 /* JSDocLinkPlain */; + return node.kind === 324 /* SyntaxKind.JSDocLink */ || node.kind === 325 /* SyntaxKind.JSDocLinkCode */ || node.kind === 326 /* SyntaxKind.JSDocLinkPlain */; } ts.isJSDocLinkLike = isJSDocLinkLike; // #endregion @@ -14302,7 +14305,7 @@ var ts; } ts.createSymbolTable = createSymbolTable; function isTransientSymbol(symbol) { - return (symbol.flags & 33554432 /* Transient */) !== 0; + return (symbol.flags & 33554432 /* SymbolFlags.Transient */) !== 0; } ts.isTransientSymbol = isTransientSymbol; var stringWriter = createSingleLineStringWriter(); @@ -14463,11 +14466,11 @@ var ts; } function packageIdToPackageName(_a) { var name = _a.name, subModuleName = _a.subModuleName; - return subModuleName ? name + "/" + subModuleName : name; + return subModuleName ? "".concat(name, "/").concat(subModuleName) : name; } ts.packageIdToPackageName = packageIdToPackageName; function packageIdToString(packageId) { - return packageIdToPackageName(packageId) + "@" + packageId.version; + return "".concat(packageIdToPackageName(packageId), "@").concat(packageId.version); } ts.packageIdToString = packageIdToString; function typeDirectiveIsEqualTo(oldResolution, newResolution) { @@ -14498,28 +14501,28 @@ var ts; // Returns true if this node contains a parse error anywhere underneath it. function containsParseError(node) { aggregateChildData(node); - return (node.flags & 524288 /* ThisNodeOrAnySubNodesHasError */) !== 0; + return (node.flags & 524288 /* NodeFlags.ThisNodeOrAnySubNodesHasError */) !== 0; } ts.containsParseError = containsParseError; function aggregateChildData(node) { - if (!(node.flags & 1048576 /* HasAggregatedChildData */)) { + if (!(node.flags & 1048576 /* NodeFlags.HasAggregatedChildData */)) { // A node is considered to contain a parse error if: // a) the parser explicitly marked that it had an error // b) any of it's children reported that it had an error. - var thisNodeOrAnySubNodesHasError = ((node.flags & 131072 /* ThisNodeHasError */) !== 0) || + var thisNodeOrAnySubNodesHasError = ((node.flags & 131072 /* NodeFlags.ThisNodeHasError */) !== 0) || ts.forEachChild(node, containsParseError); // If so, mark ourselves accordingly. if (thisNodeOrAnySubNodesHasError) { - node.flags |= 524288 /* ThisNodeOrAnySubNodesHasError */; + node.flags |= 524288 /* NodeFlags.ThisNodeOrAnySubNodesHasError */; } // Also mark that we've propagated the child information to this node. This way we can // always consult the bit directly on this node without needing to check its children // again. - node.flags |= 1048576 /* HasAggregatedChildData */; + node.flags |= 1048576 /* NodeFlags.HasAggregatedChildData */; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 305 /* SourceFile */) { + while (node && node.kind !== 305 /* SyntaxKind.SourceFile */) { node = node.parent; } return node; @@ -14530,16 +14533,16 @@ var ts; } ts.getSourceFileOfModule = getSourceFileOfModule; function isPlainJsFile(file, checkJs) { - return !!file && (file.scriptKind === 1 /* JS */ || file.scriptKind === 2 /* JSX */) && !file.checkJsDirective && checkJs === undefined; + return !!file && (file.scriptKind === 1 /* ScriptKind.JS */ || file.scriptKind === 2 /* ScriptKind.JSX */) && !file.checkJsDirective && checkJs === undefined; } ts.isPlainJsFile = isPlainJsFile; function isStatementWithLocals(node) { switch (node.kind) { - case 235 /* Block */: - case 263 /* CaseBlock */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: + case 235 /* SyntaxKind.Block */: + case 263 /* SyntaxKind.CaseBlock */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return true; } return false; @@ -14554,7 +14557,7 @@ var ts; function nodePosToString(node) { var file = getSourceFileOfNode(node); var loc = ts.getLineAndCharacterOfPosition(file, node.pos); - return file.fileName + "(" + (loc.line + 1) + "," + (loc.character + 1) + ")"; + return "".concat(file.fileName, "(").concat(loc.line + 1, ",").concat(loc.character + 1, ")"); } ts.nodePosToString = nodePosToString; function getEndLinePosition(line, sourceFile) { @@ -14607,7 +14610,7 @@ var ts; if (node === undefined) { return true; } - return node.pos === node.end && node.pos >= 0 && node.kind !== 1 /* EndOfFileToken */; + return node.pos === node.end && node.pos >= 0 && node.kind !== 1 /* SyntaxKind.EndOfFileToken */; } ts.nodeIsMissing = nodeIsMissing; function nodeIsPresent(node) { @@ -14641,7 +14644,7 @@ var ts; return to; } function isAnyPrologueDirective(node) { - return isPrologueDirective(node) || !!(getEmitFlags(node) & 1048576 /* CustomPrologue */); + return isPrologueDirective(node) || !!(getEmitFlags(node) & 1048576 /* EmitFlags.CustomPrologue */); } /** * Prepends statements to an array while taking care of prologue directives. @@ -14673,9 +14676,9 @@ var ts; function isRecognizedTripleSlashComment(text, commentPos, commentEnd) { // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text // so that we don't end up computing comment string and doing match for all // comments - if (text.charCodeAt(commentPos + 1) === 47 /* slash */ && + if (text.charCodeAt(commentPos + 1) === 47 /* CharacterCodes.slash */ && commentPos + 2 < commentEnd && - text.charCodeAt(commentPos + 2) === 47 /* slash */) { + text.charCodeAt(commentPos + 2) === 47 /* CharacterCodes.slash */) { var textSubStr = text.substring(commentPos, commentEnd); return ts.fullTripleSlashReferencePathRegEx.test(textSubStr) || ts.fullTripleSlashAMDReferencePathRegEx.test(textSubStr) || @@ -14687,13 +14690,13 @@ var ts; } ts.isRecognizedTripleSlashComment = isRecognizedTripleSlashComment; function isPinnedComment(text, start) { - return text.charCodeAt(start + 1) === 42 /* asterisk */ && - text.charCodeAt(start + 2) === 33 /* exclamation */; + return text.charCodeAt(start + 1) === 42 /* CharacterCodes.asterisk */ && + text.charCodeAt(start + 2) === 33 /* CharacterCodes.exclamation */; } ts.isPinnedComment = isPinnedComment; function createCommentDirectivesMap(sourceFile, commentDirectives) { var directivesByLine = new ts.Map(commentDirectives.map(function (commentDirective) { return ([ - "" + ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line, + "".concat(ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line), commentDirective, ]); })); var usedLines = new ts.Map(); @@ -14702,7 +14705,7 @@ var ts; return ts.arrayFrom(directivesByLine.entries()) .filter(function (_a) { var line = _a[0], directive = _a[1]; - return directive.type === 0 /* ExpectError */ && !usedLines.get(line); + return directive.type === 0 /* CommentDirectiveType.ExpectError */ && !usedLines.get(line); }) .map(function (_a) { var _ = _a[0], directive = _a[1]; @@ -14710,10 +14713,10 @@ var ts; }); } function markUsed(line) { - if (!directivesByLine.has("" + line)) { + if (!directivesByLine.has("".concat(line))) { return false; } - usedLines.set("" + line, true); + usedLines.set("".concat(line), true); return true; } } @@ -14724,7 +14727,7 @@ var ts; if (nodeIsMissing(node)) { return node.pos; } - if (ts.isJSDocNode(node) || node.kind === 11 /* JsxText */) { + if (ts.isJSDocNode(node) || node.kind === 11 /* SyntaxKind.JsxText */) { // JsxText cannot actually contain comments, even though the scanner will think it sees comments return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, /*stopAfterLineBreak*/ false, /*stopAtComments*/ true); } @@ -14735,7 +14738,7 @@ var ts; // the syntax list itself considers them as normal trivia. Therefore if we simply skip // trivia for the list, we may have skipped the JSDocComment as well. So we should process its // first child to determine the actual position of its first token. - if (node.kind === 348 /* SyntaxList */ && node._children.length > 0) { + if (node.kind === 348 /* SyntaxKind.SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, @@ -14896,62 +14899,62 @@ var ts; var _a; // If we don't need to downlevel and we can reach the original source text using // the node's parent reference, then simply get the text as it was originally written. - if (canUseOriginalText(node, flags)) { + if (sourceFile && canUseOriginalText(node, flags)) { return getSourceTextOfNodeFromSourceFile(sourceFile, node); } // If we can't reach the original source text, use the canonical form if it's a number, // or a (possibly escaped) quoted form of the original text if it's string-like. switch (node.kind) { - case 10 /* StringLiteral */: { - var escapeText = flags & 2 /* JsxAttributeEscape */ ? escapeJsxAttributeString : - flags & 1 /* NeverAsciiEscape */ || (getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? escapeString : + case 10 /* SyntaxKind.StringLiteral */: { + var escapeText = flags & 2 /* GetLiteralTextFlags.JsxAttributeEscape */ ? escapeJsxAttributeString : + flags & 1 /* GetLiteralTextFlags.NeverAsciiEscape */ || (getEmitFlags(node) & 16777216 /* EmitFlags.NoAsciiEscaping */) ? escapeString : escapeNonAsciiString; if (node.singleQuote) { - return "'" + escapeText(node.text, 39 /* singleQuote */) + "'"; + return "'" + escapeText(node.text, 39 /* CharacterCodes.singleQuote */) + "'"; } else { - return '"' + escapeText(node.text, 34 /* doubleQuote */) + '"'; + return '"' + escapeText(node.text, 34 /* CharacterCodes.doubleQuote */) + '"'; } } - case 14 /* NoSubstitutionTemplateLiteral */: - case 15 /* TemplateHead */: - case 16 /* TemplateMiddle */: - case 17 /* TemplateTail */: { + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 15 /* SyntaxKind.TemplateHead */: + case 16 /* SyntaxKind.TemplateMiddle */: + case 17 /* SyntaxKind.TemplateTail */: { // If a NoSubstitutionTemplateLiteral appears to have a substitution in it, the original text // had to include a backslash: `not \${a} substitution`. - var escapeText = flags & 1 /* NeverAsciiEscape */ || (getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? escapeString : + var escapeText = flags & 1 /* GetLiteralTextFlags.NeverAsciiEscape */ || (getEmitFlags(node) & 16777216 /* EmitFlags.NoAsciiEscaping */) ? escapeString : escapeNonAsciiString; - var rawText = (_a = node.rawText) !== null && _a !== void 0 ? _a : escapeTemplateSubstitution(escapeText(node.text, 96 /* backtick */)); + var rawText = (_a = node.rawText) !== null && _a !== void 0 ? _a : escapeTemplateSubstitution(escapeText(node.text, 96 /* CharacterCodes.backtick */)); switch (node.kind) { - case 14 /* NoSubstitutionTemplateLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return "`" + rawText + "`"; - case 15 /* TemplateHead */: + case 15 /* SyntaxKind.TemplateHead */: return "`" + rawText + "${"; - case 16 /* TemplateMiddle */: + case 16 /* SyntaxKind.TemplateMiddle */: return "}" + rawText + "${"; - case 17 /* TemplateTail */: + case 17 /* SyntaxKind.TemplateTail */: return "}" + rawText + "`"; } break; } - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: return node.text; - case 13 /* RegularExpressionLiteral */: - if (flags & 4 /* TerminateUnterminatedLiterals */ && node.isUnterminated) { - return node.text + (node.text.charCodeAt(node.text.length - 1) === 92 /* backslash */ ? " /" : "/"); + case 13 /* SyntaxKind.RegularExpressionLiteral */: + if (flags & 4 /* GetLiteralTextFlags.TerminateUnterminatedLiterals */ && node.isUnterminated) { + return node.text + (node.text.charCodeAt(node.text.length - 1) === 92 /* CharacterCodes.backslash */ ? " /" : "/"); } return node.text; } - return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for."); + return ts.Debug.fail("Literal kind '".concat(node.kind, "' not accounted for.")); } ts.getLiteralText = getLiteralText; function canUseOriginalText(node, flags) { - if (nodeIsSynthesized(node) || !node.parent || (flags & 4 /* TerminateUnterminatedLiterals */ && node.isUnterminated)) { + if (nodeIsSynthesized(node) || !node.parent || (flags & 4 /* GetLiteralTextFlags.TerminateUnterminatedLiterals */ && node.isUnterminated)) { return false; } - if (ts.isNumericLiteral(node) && node.numericLiteralFlags & 512 /* ContainsSeparator */) { - return !!(flags & 8 /* AllowNumericSeparator */); + if (ts.isNumericLiteral(node) && node.numericLiteralFlags & 512 /* TokenFlags.ContainsSeparator */) { + return !!(flags & 8 /* GetLiteralTextFlags.AllowNumericSeparator */); } return !ts.isBigIntLiteral(node); } @@ -14966,21 +14969,21 @@ var ts; } ts.makeIdentifierFromModuleName = makeIdentifierFromModuleName; function isBlockOrCatchScoped(declaration) { - return (ts.getCombinedNodeFlags(declaration) & 3 /* BlockScoped */) !== 0 || + return (ts.getCombinedNodeFlags(declaration) & 3 /* NodeFlags.BlockScoped */) !== 0 || isCatchClauseVariableDeclarationOrBindingElement(declaration); } ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 254 /* VariableDeclaration */ && node.parent.kind === 292 /* CatchClause */; + return node.kind === 254 /* SyntaxKind.VariableDeclaration */ && node.parent.kind === 292 /* SyntaxKind.CatchClause */; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { - return ts.isModuleDeclaration(node) && (node.name.kind === 10 /* StringLiteral */ || isGlobalScopeAugmentation(node)); + return ts.isModuleDeclaration(node) && (node.name.kind === 10 /* SyntaxKind.StringLiteral */ || isGlobalScopeAugmentation(node)); } ts.isAmbientModule = isAmbientModule; function isModuleWithStringLiteralName(node) { - return ts.isModuleDeclaration(node) && node.name.kind === 10 /* StringLiteral */; + return ts.isModuleDeclaration(node) && node.name.kind === 10 /* SyntaxKind.StringLiteral */; } ts.isModuleWithStringLiteralName = isModuleWithStringLiteralName; function isNonGlobalAmbientModule(node) { @@ -15004,16 +15007,16 @@ var ts; ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { // The only kind of module that can be missing a body is a shorthand ambient module. - return !!node && node.kind === 261 /* ModuleDeclaration */ && (!node.body); + return !!node && node.kind === 261 /* SyntaxKind.ModuleDeclaration */ && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 305 /* SourceFile */ || - node.kind === 261 /* ModuleDeclaration */ || + return node.kind === 305 /* SyntaxKind.SourceFile */ || + node.kind === 261 /* SyntaxKind.ModuleDeclaration */ || ts.isFunctionLikeOrClassStaticBlockDeclaration(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; function isGlobalScopeAugmentation(module) { - return !!(module.flags & 1024 /* GlobalAugmentation */); + return !!(module.flags & 1024 /* NodeFlags.GlobalAugmentation */); } ts.isGlobalScopeAugmentation = isGlobalScopeAugmentation; function isExternalModuleAugmentation(node) { @@ -15025,9 +15028,9 @@ var ts; // - defined in the top level scope and source file is an external module // - defined inside ambient module declaration located in the top level scope and source file not an external module switch (node.parent.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: return ts.isExternalModule(node.parent); - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -15039,7 +15042,7 @@ var ts; } ts.getNonAugmentationDeclaration = getNonAugmentationDeclaration; function isCommonJSContainingModuleKind(kind) { - return kind === ts.ModuleKind.CommonJS || kind === ts.ModuleKind.Node12 || kind === ts.ModuleKind.NodeNext; + return kind === ts.ModuleKind.CommonJS || kind === ts.ModuleKind.Node16 || kind === ts.ModuleKind.NodeNext; } function isEffectiveExternalModule(node, compilerOptions) { return ts.isExternalModule(node) || compilerOptions.isolatedModules || (isCommonJSContainingModuleKind(getEmitModuleKind(compilerOptions)) && !!node.commonJsModuleIndicator); @@ -15051,10 +15054,10 @@ var ts; function isEffectiveStrictModeSourceFile(node, compilerOptions) { // We can only verify strict mode for JS/TS files switch (node.scriptKind) { - case 1 /* JS */: - case 3 /* TS */: - case 2 /* JSX */: - case 4 /* TSX */: + case 1 /* ScriptKind.JS */: + case 3 /* ScriptKind.TS */: + case 2 /* ScriptKind.JSX */: + case 4 /* ScriptKind.TSX */: break; default: return false; @@ -15084,24 +15087,24 @@ var ts; ts.isEffectiveStrictModeSourceFile = isEffectiveStrictModeSourceFile; function isBlockScope(node, parentNode) { switch (node.kind) { - case 305 /* SourceFile */: - case 263 /* CaseBlock */: - case 292 /* CatchClause */: - case 261 /* ModuleDeclaration */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 167 /* PropertyDeclaration */: - case 170 /* ClassStaticBlockDeclaration */: + case 305 /* SyntaxKind.SourceFile */: + case 263 /* SyntaxKind.CaseBlock */: + case 292 /* SyntaxKind.CatchClause */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return true; - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: // function block is not considered block-scope container // see comment in binder.ts: bind(...), case for SyntaxKind.Block return !ts.isFunctionLikeOrClassStaticBlockDeclaration(parentNode); @@ -15111,9 +15114,9 @@ var ts; ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 338 /* JSDocCallbackTag */: - case 345 /* JSDocTypedefTag */: - case 323 /* JSDocSignature */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 323 /* SyntaxKind.JSDocSignature */: return true; default: ts.assertType(node); @@ -15123,25 +15126,25 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isDeclarationWithTypeParameterChildren(node) { switch (node.kind) { - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 168 /* MethodSignature */: - case 176 /* IndexSignature */: - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 317 /* JSDocFunctionType */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 344 /* JSDocTemplateTag */: - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 168 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 344 /* SyntaxKind.JSDocTemplateTag */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return true; default: ts.assertType(node); @@ -15151,25 +15154,29 @@ var ts; ts.isDeclarationWithTypeParameterChildren = isDeclarationWithTypeParameterChildren; function isAnyImportSyntax(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return true; default: return false; } } ts.isAnyImportSyntax = isAnyImportSyntax; + function isAnyImportOrBareOrAccessedRequire(node) { + return isAnyImportSyntax(node) || isVariableDeclarationInitializedToBareOrAccessedRequire(node); + } + ts.isAnyImportOrBareOrAccessedRequire = isAnyImportOrBareOrAccessedRequire; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: - case 237 /* VariableStatement */: - case 257 /* ClassDeclaration */: - case 256 /* FunctionDeclaration */: - case 261 /* ModuleDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 237 /* SyntaxKind.VariableStatement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return true; default: return false; @@ -15210,19 +15217,19 @@ var ts; } ts.getNameFromIndexInfo = getNameFromIndexInfo; function isComputedNonLiteralName(name) { - return name.kind === 162 /* ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression); + return name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression); } ts.isComputedNonLiteralName = isComputedNonLiteralName; function tryGetTextOfPropertyName(name) { switch (name.kind) { - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return name.escapedText; - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return ts.escapeLeadingUnderscores(name.text); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: if (isStringOrNumericLiteralLike(name.expression)) return ts.escapeLeadingUnderscores(name.expression.text); return undefined; @@ -15237,21 +15244,21 @@ var ts; ts.getTextOfPropertyName = getTextOfPropertyName; function entityNameToString(name) { switch (name.kind) { - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: return "this"; - case 80 /* PrivateIdentifier */: - case 79 /* Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: + case 79 /* SyntaxKind.Identifier */: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: if (ts.isIdentifier(name.name) || ts.isPrivateIdentifier(name.name)) { return entityNameToString(name.expression) + "." + entityNameToString(name.name); } else { return ts.Debug.assertNever(name.name); } - case 311 /* JSDocMemberName */: + case 311 /* SyntaxKind.JSDocMemberName */: return entityNameToString(name.left) + entityNameToString(name.right); default: return ts.Debug.assertNever(name); @@ -15341,7 +15348,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 235 /* Block */) { + if (node.body && node.body.kind === 235 /* SyntaxKind.Block */) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -15355,7 +15362,7 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: var pos_1 = ts.skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos_1 === sourceFile.text.length) { // file is empty - return span for the beginning of the file @@ -15364,29 +15371,29 @@ var ts; return getSpanOfTokenAtPosition(sourceFile, pos_1); // This list is a work in progress. Add missing node kinds to improve their error // spans. - case 254 /* VariableDeclaration */: - case 203 /* BindingElement */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 261 /* ModuleDeclaration */: - case 260 /* EnumDeclaration */: - case 299 /* EnumMember */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 259 /* TypeAliasDeclaration */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 268 /* NamespaceImport */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 299 /* SyntaxKind.EnumMember */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 268 /* SyntaxKind.NamespaceImport */: errorNode = node.name; break; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return getErrorSpanForArrowFunction(sourceFile, node); - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: var start = ts.skipTrivia(sourceFile.text, node.pos); var end = node.statements.length > 0 ? node.statements[0].pos : node.end; return ts.createTextSpanFromBounds(start, end); @@ -15418,36 +15425,36 @@ var ts; } ts.isExternalOrCommonJsModule = isExternalOrCommonJsModule; function isJsonSourceFile(file) { - return file.scriptKind === 6 /* JSON */; + return file.scriptKind === 6 /* ScriptKind.JSON */; } ts.isJsonSourceFile = isJsonSourceFile; function isEnumConst(node) { - return !!(ts.getCombinedModifierFlags(node) & 2048 /* Const */); + return !!(ts.getCombinedModifierFlags(node) & 2048 /* ModifierFlags.Const */); } ts.isEnumConst = isEnumConst; function isDeclarationReadonly(declaration) { - return !!(ts.getCombinedModifierFlags(declaration) & 64 /* Readonly */ && !ts.isParameterPropertyDeclaration(declaration, declaration.parent)); + return !!(ts.getCombinedModifierFlags(declaration) & 64 /* ModifierFlags.Readonly */ && !ts.isParameterPropertyDeclaration(declaration, declaration.parent)); } ts.isDeclarationReadonly = isDeclarationReadonly; function isVarConst(node) { - return !!(ts.getCombinedNodeFlags(node) & 2 /* Const */); + return !!(ts.getCombinedNodeFlags(node) & 2 /* NodeFlags.Const */); } ts.isVarConst = isVarConst; function isLet(node) { - return !!(ts.getCombinedNodeFlags(node) & 1 /* Let */); + return !!(ts.getCombinedNodeFlags(node) & 1 /* NodeFlags.Let */); } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 208 /* CallExpression */ && n.expression.kind === 106 /* SuperKeyword */; + return n.kind === 208 /* SyntaxKind.CallExpression */ && n.expression.kind === 106 /* SyntaxKind.SuperKeyword */; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 208 /* CallExpression */ && n.expression.kind === 100 /* ImportKeyword */; + return n.kind === 208 /* SyntaxKind.CallExpression */ && n.expression.kind === 100 /* SyntaxKind.ImportKeyword */; } ts.isImportCall = isImportCall; function isImportMeta(n) { return ts.isMetaProperty(n) - && n.keywordToken === 100 /* ImportKeyword */ + && n.keywordToken === 100 /* SyntaxKind.ImportKeyword */ && n.name.escapedText === "meta"; } ts.isImportMeta = isImportMeta; @@ -15456,12 +15463,12 @@ var ts; } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 238 /* ExpressionStatement */ - && node.expression.kind === 10 /* StringLiteral */; + return node.kind === 238 /* SyntaxKind.ExpressionStatement */ + && node.expression.kind === 10 /* SyntaxKind.StringLiteral */; } ts.isPrologueDirective = isPrologueDirective; function isCustomPrologue(node) { - return !!(getEmitFlags(node) & 1048576 /* CustomPrologue */); + return !!(getEmitFlags(node) & 1048576 /* EmitFlags.CustomPrologue */); } ts.isCustomPrologue = isCustomPrologue; function isHoistedFunction(node) { @@ -15480,24 +15487,24 @@ var ts; } ts.isHoistedVariableStatement = isHoistedVariableStatement; function getLeadingCommentRangesOfNode(node, sourceFileOfNode) { - return node.kind !== 11 /* JsxText */ ? ts.getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : undefined; + return node.kind !== 11 /* SyntaxKind.JsxText */ ? ts.getLeadingCommentRanges(sourceFileOfNode.text, node.pos) : undefined; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 164 /* Parameter */ || - node.kind === 163 /* TypeParameter */ || - node.kind === 213 /* FunctionExpression */ || - node.kind === 214 /* ArrowFunction */ || - node.kind === 212 /* ParenthesizedExpression */ || - node.kind === 254 /* VariableDeclaration */ || - node.kind === 275 /* ExportSpecifier */) ? + var commentRanges = (node.kind === 164 /* SyntaxKind.Parameter */ || + node.kind === 163 /* SyntaxKind.TypeParameter */ || + node.kind === 213 /* SyntaxKind.FunctionExpression */ || + node.kind === 214 /* SyntaxKind.ArrowFunction */ || + node.kind === 212 /* SyntaxKind.ParenthesizedExpression */ || + node.kind === 254 /* SyntaxKind.VariableDeclaration */ || + node.kind === 275 /* SyntaxKind.ExportSpecifier */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' return ts.filter(commentRanges, function (comment) { - return text.charCodeAt(comment.pos + 1) === 42 /* asterisk */ && - text.charCodeAt(comment.pos + 2) === 42 /* asterisk */ && - text.charCodeAt(comment.pos + 3) !== 47 /* slash */; + return text.charCodeAt(comment.pos + 1) === 42 /* CharacterCodes.asterisk */ && + text.charCodeAt(comment.pos + 2) === 42 /* CharacterCodes.asterisk */ && + text.charCodeAt(comment.pos + 3) !== 47 /* CharacterCodes.slash */; }); } ts.getJSDocCommentRanges = getJSDocCommentRanges; @@ -15506,48 +15513,48 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (177 /* FirstTypeNode */ <= node.kind && node.kind <= 200 /* LastTypeNode */) { + if (177 /* SyntaxKind.FirstTypeNode */ <= node.kind && node.kind <= 200 /* SyntaxKind.LastTypeNode */) { return true; } switch (node.kind) { - case 130 /* AnyKeyword */: - case 155 /* UnknownKeyword */: - case 147 /* NumberKeyword */: - case 158 /* BigIntKeyword */: - case 150 /* StringKeyword */: - case 133 /* BooleanKeyword */: - case 151 /* SymbolKeyword */: - case 148 /* ObjectKeyword */: - case 153 /* UndefinedKeyword */: - case 143 /* NeverKeyword */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: return true; - case 114 /* VoidKeyword */: - return node.parent.kind !== 217 /* VoidExpression */; - case 228 /* ExpressionWithTypeArguments */: + case 114 /* SyntaxKind.VoidKeyword */: + return node.parent.kind !== 217 /* SyntaxKind.VoidExpression */; + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return ts.isHeritageClause(node.parent) && !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 163 /* TypeParameter */: - return node.parent.kind === 195 /* MappedType */ || node.parent.kind === 190 /* InferType */; + case 163 /* SyntaxKind.TypeParameter */: + return node.parent.kind === 195 /* SyntaxKind.MappedType */ || node.parent.kind === 190 /* SyntaxKind.InferType */; // Identifiers and qualified names may be type nodes, depending on their context. Climb // above them to find the lowest container - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === 161 /* QualifiedName */ && node.parent.right === node) { + if (node.parent.kind === 161 /* SyntaxKind.QualifiedName */ && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 206 /* PropertyAccessExpression */ && node.parent.name === node) { + else if (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.parent.name === node) { node = node.parent; } // At this point, node is either a qualified name or an identifier - ts.Debug.assert(node.kind === 79 /* Identifier */ || node.kind === 161 /* QualifiedName */ || node.kind === 206 /* PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + ts.Debug.assert(node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 161 /* SyntaxKind.QualifiedName */ || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); // falls through - case 161 /* QualifiedName */: - case 206 /* PropertyAccessExpression */: - case 108 /* ThisKeyword */: { + case 161 /* SyntaxKind.QualifiedName */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 108 /* SyntaxKind.ThisKeyword */: { var parent = node.parent; - if (parent.kind === 181 /* TypeQuery */) { + if (parent.kind === 181 /* SyntaxKind.TypeQuery */) { return false; } - if (parent.kind === 200 /* ImportType */) { + if (parent.kind === 200 /* SyntaxKind.ImportType */) { return !parent.isTypeOf; } // Do not recursively call isPartOfTypeNode on the parent. In the example: @@ -15556,40 +15563,40 @@ var ts; // // Calling isPartOfTypeNode would consider the qualified name A.B a type node. // Only C and A.B.C are type nodes. - if (177 /* FirstTypeNode */ <= parent.kind && parent.kind <= 200 /* LastTypeNode */) { + if (177 /* SyntaxKind.FirstTypeNode */ <= parent.kind && parent.kind <= 200 /* SyntaxKind.LastTypeNode */) { return true; } switch (parent.kind) { - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return ts.isHeritageClause(parent.parent) && !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: return node === parent.constraint; - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return node === parent.constraint; - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 164 /* Parameter */: - case 254 /* VariableDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 164 /* SyntaxKind.Parameter */: + case 254 /* SyntaxKind.VariableDeclaration */: return node === parent.type; - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return node === parent.type; - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: return node === parent.type; - case 211 /* TypeAssertionExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: return node === parent.type; - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: return ts.contains(parent.typeArguments, node); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: // TODO (drosen): TaggedTemplateExpressions may eventually support type arguments. return false; } @@ -15614,23 +15621,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return visitor(node); - case 263 /* CaseBlock */: - case 235 /* Block */: - case 239 /* IfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 248 /* WithStatement */: - case 249 /* SwitchStatement */: - case 289 /* CaseClause */: - case 290 /* DefaultClause */: - case 250 /* LabeledStatement */: - case 252 /* TryStatement */: - case 292 /* CatchClause */: + case 263 /* SyntaxKind.CaseBlock */: + case 235 /* SyntaxKind.Block */: + case 239 /* SyntaxKind.IfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 249 /* SyntaxKind.SwitchStatement */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: + case 250 /* SyntaxKind.LabeledStatement */: + case 252 /* SyntaxKind.TryStatement */: + case 292 /* SyntaxKind.CatchClause */: return ts.forEachChild(node, traverse); } } @@ -15640,23 +15647,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 260 /* EnumDeclaration */: - case 258 /* InterfaceDeclaration */: - case 261 /* ModuleDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: // These are not allowed inside a generator now, but eventually they may be allowed // as local types. Regardless, skip them to avoid the work. return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 162 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { // Note that we will not include methods/accessors of a class because they would require // first descending into the class. This is by design. traverse(node.name.expression); @@ -15679,10 +15686,10 @@ var ts; * @param node The type node. */ function getRestParameterElementType(node) { - if (node && node.kind === 183 /* ArrayType */) { + if (node && node.kind === 183 /* SyntaxKind.ArrayType */) { return node.elementType; } - else if (node && node.kind === 178 /* TypeReference */) { + else if (node && node.kind === 178 /* SyntaxKind.TypeReference */) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -15692,12 +15699,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { - case 258 /* InterfaceDeclaration */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 182 /* TypeLiteral */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 182 /* SyntaxKind.TypeLiteral */: return node.members; - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return node.properties; } } @@ -15705,14 +15712,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 203 /* BindingElement */: - case 299 /* EnumMember */: - case 164 /* Parameter */: - case 296 /* PropertyAssignment */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 297 /* ShorthandPropertyAssignment */: - case 254 /* VariableDeclaration */: + case 203 /* SyntaxKind.BindingElement */: + case 299 /* SyntaxKind.EnumMember */: + case 164 /* SyntaxKind.Parameter */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 254 /* SyntaxKind.VariableDeclaration */: return true; } } @@ -15724,21 +15731,21 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 255 /* VariableDeclarationList */ - && node.parent.parent.kind === 237 /* VariableStatement */; + return node.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */ + && node.parent.parent.kind === 237 /* SyntaxKind.VariableStatement */; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isCommonJsExportedExpression(node) { if (!isInJSFile(node)) return false; - return (ts.isObjectLiteralExpression(node.parent) && ts.isBinaryExpression(node.parent.parent) && getAssignmentDeclarationKind(node.parent.parent) === 2 /* ModuleExports */) || + return (ts.isObjectLiteralExpression(node.parent) && ts.isBinaryExpression(node.parent.parent) && getAssignmentDeclarationKind(node.parent.parent) === 2 /* AssignmentDeclarationKind.ModuleExports */) || isCommonJsExportPropertyAssignment(node.parent); } ts.isCommonJsExportedExpression = isCommonJsExportedExpression; function isCommonJsExportPropertyAssignment(node) { if (!isInJSFile(node)) return false; - return (ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 1 /* ExportsProperty */); + return (ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 1 /* AssignmentDeclarationKind.ExportsProperty */); } ts.isCommonJsExportPropertyAssignment = isCommonJsExportPropertyAssignment; function isValidESSymbolDeclaration(node) { @@ -15749,13 +15756,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: return true; } return false; @@ -15766,7 +15773,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 250 /* LabeledStatement */) { + if (node.statement.kind !== 250 /* SyntaxKind.LabeledStatement */) { return node.statement; } node = node.statement; @@ -15774,30 +15781,30 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 235 /* Block */ && ts.isFunctionLike(node.parent); + return node && node.kind === 235 /* SyntaxKind.Block */ && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 169 /* MethodDeclaration */ && node.parent.kind === 205 /* ObjectLiteralExpression */; + return node && node.kind === 169 /* SyntaxKind.MethodDeclaration */ && node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethodOrAccessor(node) { - return (node.kind === 169 /* MethodDeclaration */ || node.kind === 172 /* GetAccessor */ || node.kind === 173 /* SetAccessor */) && - (node.parent.kind === 205 /* ObjectLiteralExpression */ || - node.parent.kind === 226 /* ClassExpression */); + return (node.kind === 169 /* SyntaxKind.MethodDeclaration */ || node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */) && + (node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || + node.parent.kind === 226 /* SyntaxKind.ClassExpression */); } ts.isObjectLiteralOrClassExpressionMethodOrAccessor = isObjectLiteralOrClassExpressionMethodOrAccessor; function isIdentifierTypePredicate(predicate) { - return predicate && predicate.kind === 1 /* Identifier */; + return predicate && predicate.kind === 1 /* TypePredicateKind.Identifier */; } ts.isIdentifierTypePredicate = isIdentifierTypePredicate; function isThisTypePredicate(predicate) { - return predicate && predicate.kind === 0 /* This */; + return predicate && predicate.kind === 0 /* TypePredicateKind.This */; } ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { return objectLiteral.properties.filter(function (property) { - if (property.kind === 296 /* PropertyAssignment */) { + if (property.kind === 296 /* SyntaxKind.PropertyAssignment */) { var propName = tryGetTextOfPropertyName(property.name); return key === propName || (!!key2 && key2 === propName); } @@ -15859,14 +15866,14 @@ var ts; } ts.getContainingFunctionOrClassStaticBlock = getContainingFunctionOrClassStaticBlock; function getThisContainer(node, includeArrowFunctions) { - ts.Debug.assert(node.kind !== 305 /* SourceFile */); + ts.Debug.assert(node.kind !== 305 /* SyntaxKind.SourceFile */); while (true) { node = node.parent; if (!node) { return ts.Debug.fail(); // If we never pass in a SourceFile, this should be unreachable, since we'll stop when we reach that. } switch (node.kind) { - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: // If the grandparent node is an object literal (as opposed to a class), // then the computed property is not a 'this' container. // A computed property name in a class needs to be a this container @@ -15881,9 +15888,9 @@ var ts; // the *body* of the container. node = node.parent; break; - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 164 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 164 /* SyntaxKind.Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -15894,27 +15901,27 @@ var ts; node = node.parent; } break; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: if (!includeArrowFunctions) { continue; } // falls through - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 261 /* ModuleDeclaration */: - case 170 /* ClassStaticBlockDeclaration */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: - case 260 /* EnumDeclaration */: - case 305 /* SourceFile */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 305 /* SyntaxKind.SourceFile */: return node; } } @@ -15927,17 +15934,17 @@ var ts; switch (node.kind) { // Arrow functions use the same scope, but may do so in a "delayed" manner // For example, `const getThis = () => this` may be before a super() call in a derived constructor - case 214 /* ArrowFunction */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 167 /* PropertyDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 167 /* SyntaxKind.PropertyDeclaration */: return true; - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: switch (node.parent.kind) { - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // Object properties can have computed names; only method-like bodies start a new scope return true; default: @@ -15961,9 +15968,9 @@ var ts; var container = getThisContainer(node, /*includeArrowFunctions*/ false); if (container) { switch (container.kind) { - case 171 /* Constructor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 171 /* SyntaxKind.Constructor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: return container; } } @@ -15985,28 +15992,28 @@ var ts; return node; } switch (node.kind) { - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: node = node.parent; break; - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: if (!stopOnFunctions) { continue; } // falls through - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 170 /* ClassStaticBlockDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return node; - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 164 /* Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 164 /* SyntaxKind.Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -16022,21 +16029,21 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 213 /* FunctionExpression */ || func.kind === 214 /* ArrowFunction */) { + if (func.kind === 213 /* SyntaxKind.FunctionExpression */ || func.kind === 214 /* SyntaxKind.ArrowFunction */) { var prev = func; var parent = func.parent; - while (parent.kind === 212 /* ParenthesizedExpression */) { + while (parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { prev = parent; parent = parent.parent; } - if (parent.kind === 208 /* CallExpression */ && parent.expression === prev) { + if (parent.kind === 208 /* SyntaxKind.CallExpression */ && parent.expression === prev) { return parent; } } } ts.getImmediatelyInvokedFunctionExpression = getImmediatelyInvokedFunctionExpression; function isSuperOrSuperProperty(node) { - return node.kind === 106 /* SuperKeyword */ + return node.kind === 106 /* SyntaxKind.SuperKeyword */ || isSuperProperty(node); } ts.isSuperOrSuperProperty = isSuperOrSuperProperty; @@ -16045,8 +16052,8 @@ var ts; */ function isSuperProperty(node) { var kind = node.kind; - return (kind === 206 /* PropertyAccessExpression */ || kind === 207 /* ElementAccessExpression */) - && node.expression.kind === 106 /* SuperKeyword */; + return (kind === 206 /* SyntaxKind.PropertyAccessExpression */ || kind === 207 /* SyntaxKind.ElementAccessExpression */) + && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */; } ts.isSuperProperty = isSuperProperty; /** @@ -16054,34 +16061,34 @@ var ts; */ function isThisProperty(node) { var kind = node.kind; - return (kind === 206 /* PropertyAccessExpression */ || kind === 207 /* ElementAccessExpression */) - && node.expression.kind === 108 /* ThisKeyword */; + return (kind === 206 /* SyntaxKind.PropertyAccessExpression */ || kind === 207 /* SyntaxKind.ElementAccessExpression */) + && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */; } ts.isThisProperty = isThisProperty; function isThisInitializedDeclaration(node) { var _a; - return !!node && ts.isVariableDeclaration(node) && ((_a = node.initializer) === null || _a === void 0 ? void 0 : _a.kind) === 108 /* ThisKeyword */; + return !!node && ts.isVariableDeclaration(node) && ((_a = node.initializer) === null || _a === void 0 ? void 0 : _a.kind) === 108 /* SyntaxKind.ThisKeyword */; } ts.isThisInitializedDeclaration = isThisInitializedDeclaration; function isThisInitializedObjectBindingExpression(node) { return !!node && (ts.isShorthandPropertyAssignment(node) || ts.isPropertyAssignment(node)) && ts.isBinaryExpression(node.parent.parent) - && node.parent.parent.operatorToken.kind === 63 /* EqualsToken */ - && node.parent.parent.right.kind === 108 /* ThisKeyword */; + && node.parent.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ + && node.parent.parent.right.kind === 108 /* SyntaxKind.ThisKeyword */; } ts.isThisInitializedObjectBindingExpression = isThisInitializedObjectBindingExpression; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return node.typeName; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return isEntityNameExpression(node.expression) ? node.expression : undefined; // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s. - case 79 /* Identifier */: - case 161 /* QualifiedName */: + case 79 /* SyntaxKind.Identifier */: + case 161 /* SyntaxKind.QualifiedName */: return node; } return undefined; @@ -16089,10 +16096,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return node.tag; - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return node.tagName; default: return node.expression; @@ -16105,25 +16112,25 @@ var ts; return false; } switch (node.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: // classes are valid targets return true; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // property declarations are valid if their parent is a class declaration. - return parent.kind === 257 /* ClassDeclaration */; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: + return parent.kind === 257 /* SyntaxKind.ClassDeclaration */; + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: // if this method has a body and its parent is a class declaration, this is a valid target. return node.body !== undefined - && parent.kind === 257 /* ClassDeclaration */; - case 164 /* Parameter */: + && parent.kind === 257 /* SyntaxKind.ClassDeclaration */; + case 164 /* SyntaxKind.Parameter */: // if the parameter's parent has a body and its grandparent is a class declaration, this is a valid target; return parent.body !== undefined - && (parent.kind === 171 /* Constructor */ - || parent.kind === 169 /* MethodDeclaration */ - || parent.kind === 173 /* SetAccessor */) - && grandparent.kind === 257 /* ClassDeclaration */; + && (parent.kind === 171 /* SyntaxKind.Constructor */ + || parent.kind === 169 /* SyntaxKind.MethodDeclaration */ + || parent.kind === 173 /* SyntaxKind.SetAccessor */) + && grandparent.kind === 257 /* SyntaxKind.ClassDeclaration */; } return false; } @@ -16139,11 +16146,11 @@ var ts; ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); // TODO: GH#18217 - case 169 /* MethodDeclaration */: - case 173 /* SetAccessor */: - case 171 /* Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.Constructor */: return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); // TODO: GH#18217 default: return false; @@ -16159,9 +16166,9 @@ var ts; ts.classOrConstructorParameterIsDecorated = classOrConstructorParameterIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 280 /* JsxOpeningElement */ || - parent.kind === 279 /* JsxSelfClosingElement */ || - parent.kind === 281 /* JsxClosingElement */) { + if (parent.kind === 280 /* SyntaxKind.JsxOpeningElement */ || + parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */ || + parent.kind === 281 /* SyntaxKind.JsxClosingElement */) { return parent.tagName === node; } return false; @@ -16169,64 +16176,64 @@ var ts; ts.isJSXTagName = isJSXTagName; function isExpressionNode(node) { switch (node.kind) { - case 106 /* SuperKeyword */: - case 104 /* NullKeyword */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 13 /* RegularExpressionLiteral */: - case 204 /* ArrayLiteralExpression */: - case 205 /* ObjectLiteralExpression */: - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 210 /* TaggedTemplateExpression */: - case 229 /* AsExpression */: - case 211 /* TypeAssertionExpression */: - case 230 /* NonNullExpression */: - case 212 /* ParenthesizedExpression */: - case 213 /* FunctionExpression */: - case 226 /* ClassExpression */: - case 214 /* ArrowFunction */: - case 217 /* VoidExpression */: - case 215 /* DeleteExpression */: - case 216 /* TypeOfExpression */: - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: - case 221 /* BinaryExpression */: - case 222 /* ConditionalExpression */: - case 225 /* SpreadElement */: - case 223 /* TemplateExpression */: - case 227 /* OmittedExpression */: - case 278 /* JsxElement */: - case 279 /* JsxSelfClosingElement */: - case 282 /* JsxFragment */: - case 224 /* YieldExpression */: - case 218 /* AwaitExpression */: - case 231 /* MetaProperty */: + case 106 /* SyntaxKind.SuperKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 13 /* SyntaxKind.RegularExpressionLiteral */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 229 /* SyntaxKind.AsExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 230 /* SyntaxKind.NonNullExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 217 /* SyntaxKind.VoidExpression */: + case 215 /* SyntaxKind.DeleteExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: + case 225 /* SyntaxKind.SpreadElement */: + case 223 /* SyntaxKind.TemplateExpression */: + case 227 /* SyntaxKind.OmittedExpression */: + case 278 /* SyntaxKind.JsxElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxFragment */: + case 224 /* SyntaxKind.YieldExpression */: + case 218 /* SyntaxKind.AwaitExpression */: + case 231 /* SyntaxKind.MetaProperty */: return true; - case 161 /* QualifiedName */: - while (node.parent.kind === 161 /* QualifiedName */) { + case 161 /* SyntaxKind.QualifiedName */: + while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { node = node.parent; } - return node.parent.kind === 181 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); - case 311 /* JSDocMemberName */: + return node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); + case 311 /* SyntaxKind.JSDocMemberName */: while (ts.isJSDocMemberName(node.parent)) { node = node.parent; } - return node.parent.kind === 181 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); - case 80 /* PrivateIdentifier */: - return ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 101 /* InKeyword */; - case 79 /* Identifier */: - if (node.parent.kind === 181 /* TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) { + return node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); + case 80 /* SyntaxKind.PrivateIdentifier */: + return ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 101 /* SyntaxKind.InKeyword */; + case 79 /* SyntaxKind.Identifier */: + if (node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) { return true; } // falls through - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 108 /* ThisKeyword */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 108 /* SyntaxKind.ThisKeyword */: return isInExpressionContext(node); default: return false; @@ -16236,49 +16243,49 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 299 /* EnumMember */: - case 296 /* PropertyAssignment */: - case 203 /* BindingElement */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 299 /* SyntaxKind.EnumMember */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 203 /* SyntaxKind.BindingElement */: return parent.initializer === node; - case 238 /* ExpressionStatement */: - case 239 /* IfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 247 /* ReturnStatement */: - case 248 /* WithStatement */: - case 249 /* SwitchStatement */: - case 289 /* CaseClause */: - case 251 /* ThrowStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 247 /* SyntaxKind.ReturnStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 249 /* SyntaxKind.SwitchStatement */: + case 289 /* SyntaxKind.CaseClause */: + case 251 /* SyntaxKind.ThrowStatement */: return parent.expression === node; - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 255 /* VariableDeclarationList */) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 255 /* SyntaxKind.VariableDeclarationList */) || forStatement.condition === node || forStatement.incrementor === node; - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 255 /* VariableDeclarationList */) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 255 /* SyntaxKind.VariableDeclarationList */) || forInStatement.expression === node; - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: return node === parent.expression; - case 233 /* TemplateSpan */: + case 233 /* SyntaxKind.TemplateSpan */: return node === parent.expression; - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return node === parent.expression; - case 165 /* Decorator */: - case 288 /* JsxExpression */: - case 287 /* JsxSpreadAttribute */: - case 298 /* SpreadAssignment */: + case 165 /* SyntaxKind.Decorator */: + case 288 /* SyntaxKind.JsxExpression */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: + case 298 /* SyntaxKind.SpreadAssignment */: return true; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return parent.expression === node && !isPartOfTypeNode(parent); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return parent.objectAssignmentInitializer === node; default: return isExpressionNode(parent); @@ -16286,10 +16293,10 @@ var ts; } ts.isInExpressionContext = isInExpressionContext; function isPartOfTypeQuery(node) { - while (node.kind === 161 /* QualifiedName */ || node.kind === 79 /* Identifier */) { + while (node.kind === 161 /* SyntaxKind.QualifiedName */ || node.kind === 79 /* SyntaxKind.Identifier */) { node = node.parent; } - return node.kind === 181 /* TypeQuery */; + return node.kind === 181 /* SyntaxKind.TypeQuery */; } ts.isPartOfTypeQuery = isPartOfTypeQuery; function isNamespaceReexportDeclaration(node) { @@ -16297,7 +16304,7 @@ var ts; } ts.isNamespaceReexportDeclaration = isNamespaceReexportDeclaration; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 265 /* ImportEqualsDeclaration */ && node.moduleReference.kind === 277 /* ExternalModuleReference */; + return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -16310,7 +16317,7 @@ var ts; } ts.getExternalModuleRequireArgument = getExternalModuleRequireArgument; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 265 /* ImportEqualsDeclaration */ && node.moduleReference.kind !== 277 /* ExternalModuleReference */; + return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && node.moduleReference.kind !== 277 /* SyntaxKind.ExternalModuleReference */; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJS(file) { @@ -16322,11 +16329,11 @@ var ts; } ts.isSourceFileNotJS = isSourceFileNotJS; function isInJSFile(node) { - return !!node && !!(node.flags & 262144 /* JavaScriptFile */); + return !!node && !!(node.flags & 262144 /* NodeFlags.JavaScriptFile */); } ts.isInJSFile = isInJSFile; function isInJsonFile(node) { - return !!node && !!(node.flags & 67108864 /* JsonFile */); + return !!node && !!(node.flags & 67108864 /* NodeFlags.JsonFile */); } ts.isInJsonFile = isInJsonFile; function isSourceFileNotJson(file) { @@ -16334,7 +16341,7 @@ var ts; } ts.isSourceFileNotJson = isSourceFileNotJson; function isInJSDoc(node) { - return !!node && !!(node.flags & 8388608 /* JSDoc */); + return !!node && !!(node.flags & 8388608 /* NodeFlags.JSDoc */); } ts.isInJSDoc = isInJSDoc; function isJSDocIndexSignature(node) { @@ -16342,15 +16349,15 @@ var ts; ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object" && node.typeArguments && node.typeArguments.length === 2 && - (node.typeArguments[0].kind === 150 /* StringKeyword */ || node.typeArguments[0].kind === 147 /* NumberKeyword */); + (node.typeArguments[0].kind === 150 /* SyntaxKind.StringKeyword */ || node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */); } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, requireStringLiteralLikeArgument) { - if (callExpression.kind !== 208 /* CallExpression */) { + if (callExpression.kind !== 208 /* SyntaxKind.CallExpression */) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; - if (expression.kind !== 79 /* Identifier */ || expression.escapedText !== "require") { + if (expression.kind !== 79 /* SyntaxKind.Identifier */ || expression.escapedText !== "require") { return false; } if (args.length !== 1) { @@ -16376,7 +16383,7 @@ var ts; } ts.isVariableDeclarationInitializedToBareOrAccessedRequire = isVariableDeclarationInitializedToBareOrAccessedRequire; function isVariableDeclarationInitializedWithRequireHelper(node, allowAccessedRequire) { - if (node.kind === 203 /* BindingElement */) { + if (node.kind === 203 /* SyntaxKind.BindingElement */) { node = node.parent.parent; } return ts.isVariableDeclaration(node) && @@ -16390,11 +16397,11 @@ var ts; } ts.isRequireVariableStatement = isRequireVariableStatement; function isSingleOrDoubleQuote(charCode) { - return charCode === 39 /* singleQuote */ || charCode === 34 /* doubleQuote */; + return charCode === 39 /* CharacterCodes.singleQuote */ || charCode === 34 /* CharacterCodes.doubleQuote */; } ts.isSingleOrDoubleQuote = isSingleOrDoubleQuote; function isStringDoubleQuoted(str, sourceFile) { - return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34 /* doubleQuote */; + return getSourceTextOfNodeFromSourceFile(sourceFile, str).charCodeAt(0) === 34 /* CharacterCodes.doubleQuote */; } ts.isStringDoubleQuoted = isStringDoubleQuoted; function isAssignmentDeclaration(decl) { @@ -16405,7 +16412,7 @@ var ts; function getEffectiveInitializer(node) { if (isInJSFile(node) && node.initializer && ts.isBinaryExpression(node.initializer) && - (node.initializer.operatorToken.kind === 56 /* BarBarToken */ || node.initializer.operatorToken.kind === 60 /* QuestionQuestionToken */) && + (node.initializer.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || node.initializer.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) && node.name && isEntityNameExpression(node.name) && isSameEntityName(node.name, node.initializer.left)) { return node.initializer.right; } @@ -16432,7 +16439,7 @@ var ts; * We treat the right hand side of assignments with container-like initializers as declarations. */ function getAssignedExpandoInitializer(node) { - if (node && node.parent && ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 63 /* EqualsToken */) { + if (node && node.parent && ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { var isPrototypeAssignment = isPrototypeAccess(node.parent.left); return getExpandoInitializer(node.parent.right, isPrototypeAssignment) || getDefaultedExpandoInitializer(node.parent.left, node.parent.right, isPrototypeAssignment); @@ -16458,11 +16465,11 @@ var ts; function getExpandoInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 213 /* FunctionExpression */ || e.kind === 214 /* ArrowFunction */ ? initializer : undefined; + return e.kind === 213 /* SyntaxKind.FunctionExpression */ || e.kind === 214 /* SyntaxKind.ArrowFunction */ ? initializer : undefined; } - if (initializer.kind === 213 /* FunctionExpression */ || - initializer.kind === 226 /* ClassExpression */ || - initializer.kind === 214 /* ArrowFunction */) { + if (initializer.kind === 213 /* SyntaxKind.FunctionExpression */ || + initializer.kind === 226 /* SyntaxKind.ClassExpression */ || + initializer.kind === 214 /* SyntaxKind.ArrowFunction */) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -16480,7 +16487,7 @@ var ts; */ function getDefaultedExpandoInitializer(name, initializer, isPrototypeAssignment) { var e = ts.isBinaryExpression(initializer) - && (initializer.operatorToken.kind === 56 /* BarBarToken */ || initializer.operatorToken.kind === 60 /* QuestionQuestionToken */) + && (initializer.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || initializer.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) && getExpandoInitializer(initializer.right, isPrototypeAssignment); if (e && isSameEntityName(name, initializer.left)) { return e; @@ -16488,7 +16495,7 @@ var ts; } function isDefaultedExpandoInitializer(node) { var name = ts.isVariableDeclaration(node.parent) ? node.parent.name : - ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 63 /* EqualsToken */ ? node.parent.left : + ts.isBinaryExpression(node.parent) && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ ? node.parent.left : undefined; return name && getExpandoInitializer(node.right, isPrototypeAccess(name)) && isEntityNameExpression(name) && isSameEntityName(name, node.left); } @@ -16496,8 +16503,8 @@ var ts; /** Given an expando initializer, return its declaration name, or the left-hand side of the assignment if it's part of an assignment declaration. */ function getNameOfExpando(node) { if (ts.isBinaryExpression(node.parent)) { - var parent = ((node.parent.operatorToken.kind === 56 /* BarBarToken */ || node.parent.operatorToken.kind === 60 /* QuestionQuestionToken */) && ts.isBinaryExpression(node.parent.parent)) ? node.parent.parent : node.parent; - if (parent.operatorToken.kind === 63 /* EqualsToken */ && ts.isIdentifier(parent.left)) { + var parent = ((node.parent.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || node.parent.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) && ts.isBinaryExpression(node.parent.parent)) ? node.parent.parent : node.parent; + if (parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && ts.isIdentifier(parent.left)) { return parent.left; } } @@ -16519,17 +16526,13 @@ var ts; if (isPropertyNameLiteral(name) && isPropertyNameLiteral(initializer)) { return getTextOfIdentifierOrLiteral(name) === getTextOfIdentifierOrLiteral(initializer); } - if (ts.isIdentifier(name) && isLiteralLikeAccess(initializer) && - (initializer.expression.kind === 108 /* ThisKeyword */ || + if (ts.isMemberName(name) && isLiteralLikeAccess(initializer) && + (initializer.expression.kind === 108 /* SyntaxKind.ThisKeyword */ || ts.isIdentifier(initializer.expression) && (initializer.expression.escapedText === "window" || initializer.expression.escapedText === "self" || initializer.expression.escapedText === "global"))) { - var nameOrArgument = getNameOrArgument(initializer); - if (ts.isPrivateIdentifier(nameOrArgument)) { - ts.Debug.fail("Unexpected PrivateIdentifier in name expression with literal-like access."); - } - return isSameEntityName(name, nameOrArgument); + return isSameEntityName(name, getNameOrArgument(initializer)); } if (isLiteralLikeAccess(name) && isLiteralLikeAccess(initializer)) { return getElementOrPropertyAccessName(name) === getElementOrPropertyAccessName(initializer) @@ -16563,7 +16566,7 @@ var ts; /// assignments we treat as special in the binder function getAssignmentDeclarationKind(expr) { var special = getAssignmentDeclarationKindWorker(expr); - return special === 5 /* Property */ || isInJSFile(expr) ? special : 0 /* None */; + return special === 5 /* AssignmentDeclarationKind.Property */ || isInJSFile(expr) ? special : 0 /* AssignmentDeclarationKind.None */; } ts.getAssignmentDeclarationKind = getAssignmentDeclarationKind; function isBindableObjectDefinePropertyCall(expr) { @@ -16588,14 +16591,14 @@ var ts; ts.isLiteralLikeElementAccess = isLiteralLikeElementAccess; /** Any series of property and element accesses. */ function isBindableStaticAccessExpression(node, excludeThisKeyword) { - return ts.isPropertyAccessExpression(node) && (!excludeThisKeyword && node.expression.kind === 108 /* ThisKeyword */ || ts.isIdentifier(node.name) && isBindableStaticNameExpression(node.expression, /*excludeThisKeyword*/ true)) + return ts.isPropertyAccessExpression(node) && (!excludeThisKeyword && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */ || ts.isIdentifier(node.name) && isBindableStaticNameExpression(node.expression, /*excludeThisKeyword*/ true)) || isBindableStaticElementAccessExpression(node, excludeThisKeyword); } ts.isBindableStaticAccessExpression = isBindableStaticAccessExpression; /** Any series of property and element accesses, ending in a literal element access */ function isBindableStaticElementAccessExpression(node, excludeThisKeyword) { return isLiteralLikeElementAccess(node) - && ((!excludeThisKeyword && node.expression.kind === 108 /* ThisKeyword */) || + && ((!excludeThisKeyword && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */) || isEntityNameExpression(node.expression) || isBindableStaticAccessExpression(node.expression, /*excludeThisKeyword*/ true)); } @@ -16614,23 +16617,23 @@ var ts; function getAssignmentDeclarationKindWorker(expr) { if (ts.isCallExpression(expr)) { if (!isBindableObjectDefinePropertyCall(expr)) { - return 0 /* None */; + return 0 /* AssignmentDeclarationKind.None */; } var entityName = expr.arguments[0]; if (isExportsIdentifier(entityName) || isModuleExportsAccessExpression(entityName)) { - return 8 /* ObjectDefinePropertyExports */; + return 8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */; } if (isBindableStaticAccessExpression(entityName) && getElementOrPropertyAccessName(entityName) === "prototype") { - return 9 /* ObjectDefinePrototypeProperty */; + return 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */; } - return 7 /* ObjectDefinePropertyValue */; + return 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */; } - if (expr.operatorToken.kind !== 63 /* EqualsToken */ || !isAccessExpression(expr.left) || isVoidZero(getRightMostAssignedExpression(expr))) { - return 0 /* None */; + if (expr.operatorToken.kind !== 63 /* SyntaxKind.EqualsToken */ || !isAccessExpression(expr.left) || isVoidZero(getRightMostAssignedExpression(expr))) { + return 0 /* AssignmentDeclarationKind.None */; } if (isBindableStaticNameExpression(expr.left.expression, /*excludeThisKeyword*/ true) && getElementOrPropertyAccessName(expr.left) === "prototype" && ts.isObjectLiteralExpression(getInitializerOfBinaryExpression(expr))) { // F.prototype = { ... } - return 6 /* Prototype */; + return 6 /* AssignmentDeclarationKind.Prototype */; } return getAssignmentDeclarationPropertyAccessKind(expr.left); } @@ -16667,17 +16670,17 @@ var ts; } ts.getElementOrPropertyAccessName = getElementOrPropertyAccessName; function getAssignmentDeclarationPropertyAccessKind(lhs) { - if (lhs.expression.kind === 108 /* ThisKeyword */) { - return 4 /* ThisProperty */; + if (lhs.expression.kind === 108 /* SyntaxKind.ThisKeyword */) { + return 4 /* AssignmentDeclarationKind.ThisProperty */; } else if (isModuleExportsAccessExpression(lhs)) { // module.exports = expr - return 2 /* ModuleExports */; + return 2 /* AssignmentDeclarationKind.ModuleExports */; } else if (isBindableStaticNameExpression(lhs.expression, /*excludeThisKeyword*/ true)) { if (isPrototypeAccess(lhs.expression)) { // F.G....prototype.x = expr - return 3 /* PrototypeProperty */; + return 3 /* AssignmentDeclarationKind.PrototypeProperty */; } var nextToLast = lhs; while (!ts.isIdentifier(nextToLast.expression)) { @@ -16689,14 +16692,14 @@ var ts; // ExportsProperty does not support binding with computed names isBindableStaticAccessExpression(lhs)) { // exports.name = expr OR module.exports.name = expr OR exports["name"] = expr ... - return 1 /* ExportsProperty */; + return 1 /* AssignmentDeclarationKind.ExportsProperty */; } if (isBindableStaticNameExpression(lhs, /*excludeThisKeyword*/ true) || (ts.isElementAccessExpression(lhs) && isDynamicName(lhs))) { // F.G...x = expr - return 5 /* Property */; + return 5 /* AssignmentDeclarationKind.Property */; } } - return 0 /* None */; + return 0 /* AssignmentDeclarationKind.None */; } ts.getAssignmentDeclarationPropertyAccessKind = getAssignmentDeclarationPropertyAccessKind; function getInitializerOfBinaryExpression(expr) { @@ -16707,12 +16710,12 @@ var ts; } ts.getInitializerOfBinaryExpression = getInitializerOfBinaryExpression; function isPrototypePropertyAssignment(node) { - return ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 3 /* PrototypeProperty */; + return ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 3 /* AssignmentDeclarationKind.PrototypeProperty */; } ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJSFile(expr) && - expr.parent && expr.parent.kind === 238 /* ExpressionStatement */ && + expr.parent && expr.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && (!ts.isElementAccessExpression(expr) || isLiteralLikeElementAccess(expr)) && !!ts.getJSDocTypeTag(expr.parent); } @@ -16720,7 +16723,7 @@ var ts; function setValueDeclaration(symbol, node) { var valueDeclaration = symbol.valueDeclaration; if (!valueDeclaration || - !(node.flags & 16777216 /* Ambient */ && !(valueDeclaration.flags & 16777216 /* Ambient */)) && + !(node.flags & 16777216 /* NodeFlags.Ambient */ && !(valueDeclaration.flags & 16777216 /* NodeFlags.Ambient */)) && (isAssignmentDeclaration(valueDeclaration) && !isAssignmentDeclaration(node)) || (valueDeclaration.kind !== node.kind && isEffectiveModuleDeclaration(valueDeclaration))) { // other kinds of value declarations take precedence over modules and assignment declarations @@ -16733,18 +16736,18 @@ var ts; return false; } var decl = symbol.valueDeclaration; - return decl.kind === 256 /* FunctionDeclaration */ || ts.isVariableDeclaration(decl) && decl.initializer && ts.isFunctionLike(decl.initializer); + return decl.kind === 256 /* SyntaxKind.FunctionDeclaration */ || ts.isVariableDeclaration(decl) && decl.initializer && ts.isFunctionLike(decl.initializer); } ts.isFunctionSymbol = isFunctionSymbol; function tryGetModuleSpecifierFromDeclaration(node) { - var _a, _b, _c; + var _a, _b; switch (node.kind) { - case 254 /* VariableDeclaration */: - return node.initializer.arguments[0].text; - case 266 /* ImportDeclaration */: - return (_a = ts.tryCast(node.moduleSpecifier, ts.isStringLiteralLike)) === null || _a === void 0 ? void 0 : _a.text; - case 265 /* ImportEqualsDeclaration */: - return (_c = ts.tryCast((_b = ts.tryCast(node.moduleReference, ts.isExternalModuleReference)) === null || _b === void 0 ? void 0 : _b.expression, ts.isStringLiteralLike)) === null || _c === void 0 ? void 0 : _c.text; + case 254 /* SyntaxKind.VariableDeclaration */: + return (_a = ts.findAncestor(node.initializer, function (node) { return isRequireCall(node, /*requireStringLiteralLikeArgument*/ true); })) === null || _a === void 0 ? void 0 : _a.arguments[0]; + case 266 /* SyntaxKind.ImportDeclaration */: + return ts.tryCast(node.moduleSpecifier, ts.isStringLiteralLike); + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + return ts.tryCast((_b = ts.tryCast(node.moduleReference, ts.isExternalModuleReference)) === null || _b === void 0 ? void 0 : _b.expression, ts.isStringLiteralLike); default: ts.Debug.assertNever(node); } @@ -16756,14 +16759,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return node.parent; - case 277 /* ExternalModuleReference */: + case 277 /* SyntaxKind.ExternalModuleReference */: return node.parent.parent; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return isImportCall(node.parent) || isRequireCall(node.parent, /*checkArg*/ false) ? node.parent : undefined; - case 196 /* LiteralType */: + case 196 /* SyntaxKind.LiteralType */: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -16773,17 +16776,17 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return node.moduleSpecifier; - case 265 /* ImportEqualsDeclaration */: - return node.moduleReference.kind === 277 /* ExternalModuleReference */ ? node.moduleReference.expression : undefined; - case 200 /* ImportType */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + return node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */ ? node.moduleReference.expression : undefined; + case 200 /* SyntaxKind.ImportType */: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return node.arguments[0]; - case 261 /* ModuleDeclaration */: - return node.name.kind === 10 /* StringLiteral */ ? node.name : undefined; + case 261 /* SyntaxKind.ModuleDeclaration */: + return node.name.kind === 10 /* SyntaxKind.StringLiteral */ ? node.name : undefined; default: return ts.Debug.assertNever(node); } @@ -16791,11 +16794,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return node; - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return node.exportClause && ts.tryCast(node.exportClause, ts.isNamespaceExport); default: return ts.Debug.assertNever(node); @@ -16803,7 +16806,7 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 266 /* ImportDeclaration */ && !!node.importClause && !!node.importClause.name; + return node.kind === 266 /* SyntaxKind.ImportDeclaration */ && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function forEachImportClauseDeclaration(node, action) { @@ -16824,13 +16827,13 @@ var ts; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 164 /* Parameter */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 297 /* ShorthandPropertyAssignment */: - case 296 /* PropertyAssignment */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: + case 164 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: return node.questionToken !== undefined; } } @@ -16844,7 +16847,7 @@ var ts; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 345 /* JSDocTypedefTag */ || node.kind === 338 /* JSDocCallbackTag */ || node.kind === 339 /* JSDocEnumTag */; + return node.kind === 345 /* SyntaxKind.JSDocTypedefTag */ || node.kind === 338 /* SyntaxKind.JSDocCallbackTag */ || node.kind === 339 /* SyntaxKind.JSDocEnumTag */; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -16854,27 +16857,27 @@ var ts; function getSourceOfAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && - node.expression.operatorToken.kind === 63 /* EqualsToken */ + node.expression.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ ? getRightMostAssignedExpression(node.expression) : undefined; } function getSourceOfDefaultedAssignment(node) { return ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression) && - getAssignmentDeclarationKind(node.expression) !== 0 /* None */ && + getAssignmentDeclarationKind(node.expression) !== 0 /* AssignmentDeclarationKind.None */ && ts.isBinaryExpression(node.expression.right) && - (node.expression.right.operatorToken.kind === 56 /* BarBarToken */ || node.expression.right.operatorToken.kind === 60 /* QuestionQuestionToken */) + (node.expression.right.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || node.expression.right.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) ? node.expression.right.right : undefined; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return node.initializer; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return node.initializer; } } @@ -16886,7 +16889,7 @@ var ts; function getNestedModuleDeclaration(node) { return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 261 /* ModuleDeclaration */ + node.body.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? node.body : undefined; } @@ -16901,11 +16904,11 @@ var ts; if (ts.hasJSDocNodes(node)) { result = ts.addRange(result, filterOwnedJSDocTags(hostNode, ts.last(node.jsDoc))); } - if (node.kind === 164 /* Parameter */) { + if (node.kind === 164 /* SyntaxKind.Parameter */) { result = ts.addRange(result, (noCache ? ts.getJSDocParameterTagsNoCache : ts.getJSDocParameterTags)(node)); break; } - if (node.kind === 163 /* TypeParameter */) { + if (node.kind === 163 /* SyntaxKind.TypeParameter */) { result = ts.addRange(result, (noCache ? ts.getJSDocTypeParameterTagsNoCache : ts.getJSDocTypeParameterTags)(node)); break; } @@ -16934,13 +16937,13 @@ var ts; } function getNextJSDocCommentLocation(node) { var parent = node.parent; - if (parent.kind === 296 /* PropertyAssignment */ || - parent.kind === 271 /* ExportAssignment */ || - parent.kind === 167 /* PropertyDeclaration */ || - parent.kind === 238 /* ExpressionStatement */ && node.kind === 206 /* PropertyAccessExpression */ || - parent.kind === 247 /* ReturnStatement */ || + if (parent.kind === 296 /* SyntaxKind.PropertyAssignment */ || + parent.kind === 271 /* SyntaxKind.ExportAssignment */ || + parent.kind === 167 /* SyntaxKind.PropertyDeclaration */ || + parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || + parent.kind === 247 /* SyntaxKind.ReturnStatement */ || getNestedModuleDeclaration(parent) || - ts.isBinaryExpression(node) && node.operatorToken.kind === 63 /* EqualsToken */) { + ts.isBinaryExpression(node) && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { return parent; } // Try to recognize this pattern when node is initializer of variable declaration and JSDoc comments are on containing variable statement. @@ -16951,7 +16954,7 @@ var ts; // var x = function(name) { return name.length; } else if (parent.parent && (getSingleVariableOfVariableStatement(parent.parent) === node || - ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* EqualsToken */)) { + ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */)) { return parent.parent; } else if (parent.parent && parent.parent.parent && @@ -16975,7 +16978,7 @@ var ts; if (!decl) { return undefined; } - var parameter = ts.find(decl.parameters, function (p) { return p.name.kind === 79 /* Identifier */ && p.name.escapedText === name; }); + var parameter = ts.find(decl.parameters, function (p) { return p.name.kind === 79 /* SyntaxKind.Identifier */ && p.name.escapedText === name; }); return parameter && parameter.symbol; } ts.getParameterSymbolFromJSDoc = getParameterSymbolFromJSDoc; @@ -17041,7 +17044,7 @@ var ts; ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || !!type && type.kind === 318 /* JSDocVariadicType */; + return node.dotDotDotToken !== undefined || !!type && type.kind === 318 /* SyntaxKind.JSDocVariadicType */; } ts.isRestParameter = isRestParameter; function hasTypeArguments(node) { @@ -17058,41 +17061,41 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? - binaryOperator === 63 /* EqualsToken */ || isLogicalOrCoalescingAssignmentOperator(binaryOperator) ? 1 /* Definite */ : 2 /* Compound */ : - 0 /* None */; - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: + binaryOperator === 63 /* SyntaxKind.EqualsToken */ || isLogicalOrCoalescingAssignmentOperator(binaryOperator) ? 1 /* AssignmentKind.Definite */ : 2 /* AssignmentKind.Compound */ : + 0 /* AssignmentKind.None */; + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: var unaryOperator = parent.operator; - return unaryOperator === 45 /* PlusPlusToken */ || unaryOperator === 46 /* MinusMinusToken */ ? 2 /* Compound */ : 0 /* None */; - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - return parent.initializer === node ? 1 /* Definite */ : 0 /* None */; - case 212 /* ParenthesizedExpression */: - case 204 /* ArrayLiteralExpression */: - case 225 /* SpreadElement */: - case 230 /* NonNullExpression */: + return unaryOperator === 45 /* SyntaxKind.PlusPlusToken */ || unaryOperator === 46 /* SyntaxKind.MinusMinusToken */ ? 2 /* AssignmentKind.Compound */ : 0 /* AssignmentKind.None */; + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + return parent.initializer === node ? 1 /* AssignmentKind.Definite */ : 0 /* AssignmentKind.None */; + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 225 /* SyntaxKind.SpreadElement */: + case 230 /* SyntaxKind.NonNullExpression */: node = parent; break; - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: node = parent.parent; break; - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: if (parent.name !== node) { - return 0 /* None */; + return 0 /* AssignmentKind.None */; } node = parent.parent; break; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: if (parent.name === node) { - return 0 /* None */; + return 0 /* AssignmentKind.None */; } node = parent.parent; break; default: - return 0 /* None */; + return 0 /* AssignmentKind.None */; } parent = node.parent; } @@ -17103,7 +17106,7 @@ var ts; // an assignment target. Examples include 'a = xxx', '{ p: a } = xxx', '[{ a }] = xxx'. // (Note that `p` is not a target in the above examples, only `a`.) function isAssignmentTarget(node) { - return getAssignmentTargetKind(node) !== 0 /* None */; + return getAssignmentTargetKind(node) !== 0 /* AssignmentKind.None */; } ts.isAssignmentTarget = isAssignmentTarget; /** @@ -17112,22 +17115,22 @@ var ts; */ function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 235 /* Block */: - case 237 /* VariableStatement */: - case 248 /* WithStatement */: - case 239 /* IfStatement */: - case 249 /* SwitchStatement */: - case 263 /* CaseBlock */: - case 289 /* CaseClause */: - case 290 /* DefaultClause */: - case 250 /* LabeledStatement */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 252 /* TryStatement */: - case 292 /* CatchClause */: + case 235 /* SyntaxKind.Block */: + case 237 /* SyntaxKind.VariableStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 249 /* SyntaxKind.SwitchStatement */: + case 263 /* SyntaxKind.CaseBlock */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: + case 250 /* SyntaxKind.LabeledStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 252 /* SyntaxKind.TryStatement */: + case 292 /* SyntaxKind.CatchClause */: return true; } return false; @@ -17144,11 +17147,11 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 191 /* ParenthesizedType */); + return walkUp(node, 191 /* SyntaxKind.ParenthesizedType */); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 212 /* ParenthesizedExpression */); + return walkUp(node, 212 /* SyntaxKind.ParenthesizedExpression */); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; /** @@ -17158,7 +17161,7 @@ var ts; */ function walkUpParenthesizedTypesAndGetParentAndChild(node) { var child; - while (node && node.kind === 191 /* ParenthesizedType */) { + while (node && node.kind === 191 /* SyntaxKind.ParenthesizedType */) { child = node; node = node.parent; } @@ -17167,18 +17170,18 @@ var ts; ts.walkUpParenthesizedTypesAndGetParentAndChild = walkUpParenthesizedTypesAndGetParentAndChild; function skipParentheses(node, excludeJSDocTypeAssertions) { var flags = excludeJSDocTypeAssertions ? - 1 /* Parentheses */ | 16 /* ExcludeJSDocTypeAssertion */ : - 1 /* Parentheses */; + 1 /* OuterExpressionKinds.Parentheses */ | 16 /* OuterExpressionKinds.ExcludeJSDocTypeAssertion */ : + 1 /* OuterExpressionKinds.Parentheses */; return ts.skipOuterExpressions(node, flags); } ts.skipParentheses = skipParentheses; // a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped function isDeleteTarget(node) { - if (node.kind !== 206 /* PropertyAccessExpression */ && node.kind !== 207 /* ElementAccessExpression */) { + if (node.kind !== 206 /* SyntaxKind.PropertyAccessExpression */ && node.kind !== 207 /* SyntaxKind.ElementAccessExpression */) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 215 /* DeleteExpression */; + return node && node.kind === 215 /* SyntaxKind.DeleteExpression */; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -17199,13 +17202,13 @@ var ts; function getDeclarationFromName(name) { var parent = name.parent; switch (name.kind) { - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 8 /* NumericLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: if (ts.isComputedPropertyName(parent)) return parent.parent; // falls through - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: if (ts.isDeclaration(parent)) { return parent.name === name ? parent : undefined; } @@ -17216,13 +17219,13 @@ var ts; else { var binExp = parent.parent; return ts.isBinaryExpression(binExp) && - getAssignmentDeclarationKind(binExp) !== 0 /* None */ && + getAssignmentDeclarationKind(binExp) !== 0 /* AssignmentDeclarationKind.None */ && (binExp.left.symbol || binExp.symbol) && ts.getNameOfDeclaration(binExp) === name ? binExp : undefined; } - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return ts.isDeclaration(parent) && parent.name === name ? parent : undefined; default: return undefined; @@ -17231,7 +17234,7 @@ var ts; ts.getDeclarationFromName = getDeclarationFromName; function isLiteralComputedPropertyDeclarationName(node) { return isStringOrNumericLiteralLike(node) && - node.parent.kind === 162 /* ComputedPropertyName */ && + node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */ && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; @@ -17239,27 +17242,30 @@ var ts; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 299 /* EnumMember */: - case 296 /* PropertyAssignment */: - case 206 /* PropertyAccessExpression */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 299 /* SyntaxKind.EnumMember */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 206 /* SyntaxKind.PropertyAccessExpression */: // Name in member declaration or property name in property access return parent.name === node; - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: // Name on right hand side of dot in a type query or type reference return parent.right === node; - case 203 /* BindingElement */: - case 270 /* ImportSpecifier */: + case 203 /* SyntaxKind.BindingElement */: + case 270 /* SyntaxKind.ImportSpecifier */: // Property name in binding element or import specifier return parent.propertyName === node; - case 275 /* ExportSpecifier */: - case 285 /* JsxAttribute */: - // Any name in an export specifier or JSX Attribute + case 275 /* SyntaxKind.ExportSpecifier */: + case 285 /* SyntaxKind.JsxAttribute */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 281 /* SyntaxKind.JsxClosingElement */: + // Any name in an export specifier or JSX Attribute or Jsx Element return true; } return false; @@ -17275,36 +17281,44 @@ var ts; // export = // export default // module.exports = - // {} - // {name: } + // module.exports.x = + // const x = require("...") + // const { x } = require("...") + // const x = require("...").y + // const { x } = require("...").y function isAliasSymbolDeclaration(node) { - return node.kind === 265 /* ImportEqualsDeclaration */ || - node.kind === 264 /* NamespaceExportDeclaration */ || - node.kind === 267 /* ImportClause */ && !!node.name || - node.kind === 268 /* NamespaceImport */ || - node.kind === 274 /* NamespaceExport */ || - node.kind === 270 /* ImportSpecifier */ || - node.kind === 275 /* ExportSpecifier */ || - node.kind === 271 /* ExportAssignment */ && exportAssignmentIsAlias(node) || - ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 2 /* ModuleExports */ && exportAssignmentIsAlias(node) || - ts.isPropertyAccessExpression(node) && ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* EqualsToken */ && isAliasableExpression(node.parent.right) || - node.kind === 297 /* ShorthandPropertyAssignment */ || - node.kind === 296 /* PropertyAssignment */ && isAliasableExpression(node.initializer); + if (node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ || + node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ || + node.kind === 267 /* SyntaxKind.ImportClause */ && !!node.name || + node.kind === 268 /* SyntaxKind.NamespaceImport */ || + node.kind === 274 /* SyntaxKind.NamespaceExport */ || + node.kind === 270 /* SyntaxKind.ImportSpecifier */ || + node.kind === 275 /* SyntaxKind.ExportSpecifier */ || + node.kind === 271 /* SyntaxKind.ExportAssignment */ && exportAssignmentIsAlias(node)) { + return true; + } + return isInJSFile(node) && (ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 2 /* AssignmentDeclarationKind.ModuleExports */ && exportAssignmentIsAlias(node) || + ts.isPropertyAccessExpression(node) + && ts.isBinaryExpression(node.parent) + && node.parent.left === node + && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ + && isAliasableExpression(node.parent.right)); } ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; function getAliasDeclarationFromName(node) { switch (node.parent.kind) { - case 267 /* ImportClause */: - case 270 /* ImportSpecifier */: - case 268 /* NamespaceImport */: - case 275 /* ExportSpecifier */: - case 271 /* ExportAssignment */: - case 265 /* ImportEqualsDeclaration */: + case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 268 /* SyntaxKind.NamespaceImport */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 271 /* SyntaxKind.ExportAssignment */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 274 /* SyntaxKind.NamespaceExport */: return node.parent; - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: do { node = node.parent; - } while (node.parent.kind === 161 /* QualifiedName */); + } while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */); return getAliasDeclarationFromName(node); } } @@ -17323,7 +17337,7 @@ var ts; } ts.getExportAssignmentExpression = getExportAssignmentExpression; function getPropertyAssignmentAliasLikeExpression(node) { - return node.kind === 297 /* ShorthandPropertyAssignment */ ? node.name : node.kind === 296 /* PropertyAssignment */ ? node.initializer : + return node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ ? node.name : node.kind === 296 /* SyntaxKind.PropertyAssignment */ ? node.initializer : node.parent.right; } ts.getPropertyAssignmentAliasLikeExpression = getPropertyAssignmentAliasLikeExpression; @@ -17340,7 +17354,7 @@ var ts; } ts.getEffectiveBaseTypeNode = getEffectiveBaseTypeNode; function getClassExtendsHeritageElement(node) { - var heritageClause = getHeritageClause(node.heritageClauses, 94 /* ExtendsKeyword */); + var heritageClause = getHeritageClause(node.heritageClauses, 94 /* SyntaxKind.ExtendsKeyword */); return heritageClause && heritageClause.types.length > 0 ? heritageClause.types[0] : undefined; } ts.getClassExtendsHeritageElement = getClassExtendsHeritageElement; @@ -17349,7 +17363,7 @@ var ts; return ts.getJSDocImplementsTags(node).map(function (n) { return n.class; }); } else { - var heritageClause = getHeritageClause(node.heritageClauses, 117 /* ImplementsKeyword */); + var heritageClause = getHeritageClause(node.heritageClauses, 117 /* SyntaxKind.ImplementsKeyword */); return heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.types; } } @@ -17362,7 +17376,7 @@ var ts; } ts.getAllSuperTypeNodes = getAllSuperTypeNodes; function getInterfaceBaseTypeNodes(node) { - var heritageClause = getHeritageClause(node.heritageClauses, 94 /* ExtendsKeyword */); + var heritageClause = getHeritageClause(node.heritageClauses, 94 /* SyntaxKind.ExtendsKeyword */); return heritageClause ? heritageClause.types : undefined; } ts.getInterfaceBaseTypeNodes = getInterfaceBaseTypeNodes; @@ -17389,11 +17403,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 81 /* FirstKeyword */ <= token && token <= 160 /* LastKeyword */; + return 81 /* SyntaxKind.FirstKeyword */ <= token && token <= 160 /* SyntaxKind.LastKeyword */; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 126 /* FirstContextualKeyword */ <= token && token <= 160 /* LastContextualKeyword */; + return 126 /* SyntaxKind.FirstContextualKeyword */ <= token && token <= 160 /* SyntaxKind.LastContextualKeyword */; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -17401,7 +17415,7 @@ var ts; } ts.isNonContextualKeyword = isNonContextualKeyword; function isFutureReservedKeyword(token) { - return 117 /* FirstFutureReservedWord */ <= token && token <= 125 /* LastFutureReservedWord */; + return 117 /* SyntaxKind.FirstFutureReservedWord */ <= token && token <= 125 /* SyntaxKind.LastFutureReservedWord */; } ts.isFutureReservedKeyword = isFutureReservedKeyword; function isStringANonContextualKeyword(name) { @@ -17420,7 +17434,7 @@ var ts; } ts.isIdentifierANonContextualKeyword = isIdentifierANonContextualKeyword; function isTrivia(token) { - return 2 /* FirstTriviaToken */ <= token && token <= 7 /* LastTriviaToken */; + return 2 /* SyntaxKind.FirstTriviaToken */ <= token && token <= 7 /* SyntaxKind.LastTriviaToken */; } ts.isTrivia = isTrivia; var FunctionFlags; @@ -17433,38 +17447,38 @@ var ts; })(FunctionFlags = ts.FunctionFlags || (ts.FunctionFlags = {})); function getFunctionFlags(node) { if (!node) { - return 4 /* Invalid */; + return 4 /* FunctionFlags.Invalid */; } - var flags = 0 /* Normal */; + var flags = 0 /* FunctionFlags.Normal */; switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: if (node.asteriskToken) { - flags |= 1 /* Generator */; + flags |= 1 /* FunctionFlags.Generator */; } // falls through - case 214 /* ArrowFunction */: - if (hasSyntacticModifier(node, 256 /* Async */)) { - flags |= 2 /* Async */; + case 214 /* SyntaxKind.ArrowFunction */: + if (hasSyntacticModifier(node, 256 /* ModifierFlags.Async */)) { + flags |= 2 /* FunctionFlags.Async */; } break; } if (!node.body) { - flags |= 4 /* Invalid */; + flags |= 4 /* FunctionFlags.Invalid */; } return flags; } ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: return node.body !== undefined && node.asteriskToken === undefined - && hasSyntacticModifier(node, 256 /* Async */); + && hasSyntacticModifier(node, 256 /* ModifierFlags.Async */); } return false; } @@ -17474,7 +17488,7 @@ var ts; } ts.isStringOrNumericLiteralLike = isStringOrNumericLiteralLike; function isSignedNumericLiteral(node) { - return ts.isPrefixUnaryExpression(node) && (node.operator === 39 /* PlusToken */ || node.operator === 40 /* MinusToken */) && ts.isNumericLiteral(node.operand); + return ts.isPrefixUnaryExpression(node) && (node.operator === 39 /* SyntaxKind.PlusToken */ || node.operator === 40 /* SyntaxKind.MinusToken */) && ts.isNumericLiteral(node.operand); } ts.isSignedNumericLiteral = isSignedNumericLiteral; /** @@ -17491,7 +17505,7 @@ var ts; } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - if (!(name.kind === 162 /* ComputedPropertyName */ || name.kind === 207 /* ElementAccessExpression */)) { + if (!(name.kind === 162 /* SyntaxKind.ComputedPropertyName */ || name.kind === 207 /* SyntaxKind.ElementAccessExpression */)) { return false; } var expr = ts.isElementAccessExpression(name) ? skipParentheses(name.argumentExpression) : name.expression; @@ -17501,19 +17515,19 @@ var ts; ts.isDynamicName = isDynamicName; function getPropertyNameForPropertyNameNode(name) { switch (name.kind) { - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return name.escapedText; - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: return ts.escapeLeadingUnderscores(name.text); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: var nameExpression = name.expression; if (isStringOrNumericLiteralLike(nameExpression)) { return ts.escapeLeadingUnderscores(nameExpression.text); } else if (isSignedNumericLiteral(nameExpression)) { - if (nameExpression.operator === 40 /* MinusToken */) { + if (nameExpression.operator === 40 /* SyntaxKind.MinusToken */) { return ts.tokenToString(nameExpression.operator) + nameExpression.operand.text; } return nameExpression.operand.text; @@ -17526,10 +17540,10 @@ var ts; ts.getPropertyNameForPropertyNameNode = getPropertyNameForPropertyNameNode; function isPropertyNameLiteral(node) { switch (node.kind) { - case 79 /* Identifier */: - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 8 /* NumericLiteral */: + case 79 /* SyntaxKind.Identifier */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: return true; default: return false; @@ -17545,11 +17559,11 @@ var ts; } ts.getEscapedTextOfIdentifierOrLiteral = getEscapedTextOfIdentifierOrLiteral; function getPropertyNameForUniqueESSymbol(symbol) { - return "__@" + ts.getSymbolId(symbol) + "@" + symbol.escapedName; + return "__@".concat(ts.getSymbolId(symbol), "@").concat(symbol.escapedName); } ts.getPropertyNameForUniqueESSymbol = getPropertyNameForUniqueESSymbol; function getSymbolNameForPrivateIdentifier(containingClassSymbol, description) { - return "__#" + ts.getSymbolId(containingClassSymbol) + "@" + description; + return "__#".concat(ts.getSymbolId(containingClassSymbol), "@").concat(description); } ts.getSymbolNameForPrivateIdentifier = getSymbolNameForPrivateIdentifier; function isKnownSymbol(symbol) { @@ -17564,7 +17578,7 @@ var ts; * Includes the word "Symbol" with unicode escapes */ function isESSymbolIdentifier(node) { - return node.kind === 79 /* Identifier */ && node.escapedText === "Symbol"; + return node.kind === 79 /* SyntaxKind.Identifier */ && node.escapedText === "Symbol"; } ts.isESSymbolIdentifier = isESSymbolIdentifier; function isPushOrUnshiftIdentifier(node) { @@ -17573,11 +17587,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 164 /* Parameter */; + return root.kind === 164 /* SyntaxKind.Parameter */; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 203 /* BindingElement */) { + while (node.kind === 203 /* SyntaxKind.BindingElement */) { node = node.parent.parent; } return node; @@ -17585,15 +17599,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 171 /* Constructor */ - || kind === 213 /* FunctionExpression */ - || kind === 256 /* FunctionDeclaration */ - || kind === 214 /* ArrowFunction */ - || kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */ - || kind === 261 /* ModuleDeclaration */ - || kind === 305 /* SourceFile */; + return kind === 171 /* SyntaxKind.Constructor */ + || kind === 213 /* SyntaxKind.FunctionExpression */ + || kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 214 /* SyntaxKind.ArrowFunction */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 305 /* SyntaxKind.SourceFile */; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -17612,58 +17626,58 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 209 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 209 /* SyntaxKind.NewExpression */ && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 209 /* NewExpression */: - return hasArguments ? 0 /* Left */ : 1 /* Right */; - case 219 /* PrefixUnaryExpression */: - case 216 /* TypeOfExpression */: - case 217 /* VoidExpression */: - case 215 /* DeleteExpression */: - case 218 /* AwaitExpression */: - case 222 /* ConditionalExpression */: - case 224 /* YieldExpression */: - return 1 /* Right */; - case 221 /* BinaryExpression */: + case 209 /* SyntaxKind.NewExpression */: + return hasArguments ? 0 /* Associativity.Left */ : 1 /* Associativity.Right */; + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: + case 217 /* SyntaxKind.VoidExpression */: + case 215 /* SyntaxKind.DeleteExpression */: + case 218 /* SyntaxKind.AwaitExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.YieldExpression */: + return 1 /* Associativity.Right */; + case 221 /* SyntaxKind.BinaryExpression */: switch (operator) { - case 42 /* AsteriskAsteriskToken */: - case 63 /* EqualsToken */: - case 64 /* PlusEqualsToken */: - case 65 /* MinusEqualsToken */: - case 67 /* AsteriskAsteriskEqualsToken */: - case 66 /* AsteriskEqualsToken */: - case 68 /* SlashEqualsToken */: - case 69 /* PercentEqualsToken */: - case 70 /* LessThanLessThanEqualsToken */: - case 71 /* GreaterThanGreaterThanEqualsToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 73 /* AmpersandEqualsToken */: - case 78 /* CaretEqualsToken */: - case 74 /* BarEqualsToken */: - case 75 /* BarBarEqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: - return 1 /* Right */; - } - } - return 0 /* Left */; + case 42 /* SyntaxKind.AsteriskAsteriskToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 64 /* SyntaxKind.PlusEqualsToken */: + case 65 /* SyntaxKind.MinusEqualsToken */: + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: + case 66 /* SyntaxKind.AsteriskEqualsToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + case 69 /* SyntaxKind.PercentEqualsToken */: + case 70 /* SyntaxKind.LessThanLessThanEqualsToken */: + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: + case 73 /* SyntaxKind.AmpersandEqualsToken */: + case 78 /* SyntaxKind.CaretEqualsToken */: + case 74 /* SyntaxKind.BarEqualsToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: + return 1 /* Associativity.Right */; + } + } + return 0 /* Associativity.Left */; } ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 209 /* NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 209 /* SyntaxKind.NewExpression */ && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 221 /* BinaryExpression */) { + if (expression.kind === 221 /* SyntaxKind.BinaryExpression */) { return expression.operatorToken.kind; } - else if (expression.kind === 219 /* PrefixUnaryExpression */ || expression.kind === 220 /* PostfixUnaryExpression */) { + else if (expression.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ || expression.kind === 220 /* SyntaxKind.PostfixUnaryExpression */) { return expression.operator; } else { @@ -17842,129 +17856,129 @@ var ts; })(OperatorPrecedence = ts.OperatorPrecedence || (ts.OperatorPrecedence = {})); function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 351 /* CommaListExpression */: - return 0 /* Comma */; - case 225 /* SpreadElement */: - return 1 /* Spread */; - case 224 /* YieldExpression */: - return 2 /* Yield */; - case 222 /* ConditionalExpression */: - return 4 /* Conditional */; - case 221 /* BinaryExpression */: + case 351 /* SyntaxKind.CommaListExpression */: + return 0 /* OperatorPrecedence.Comma */; + case 225 /* SyntaxKind.SpreadElement */: + return 1 /* OperatorPrecedence.Spread */; + case 224 /* SyntaxKind.YieldExpression */: + return 2 /* OperatorPrecedence.Yield */; + case 222 /* SyntaxKind.ConditionalExpression */: + return 4 /* OperatorPrecedence.Conditional */; + case 221 /* SyntaxKind.BinaryExpression */: switch (operatorKind) { - case 27 /* CommaToken */: - return 0 /* Comma */; - case 63 /* EqualsToken */: - case 64 /* PlusEqualsToken */: - case 65 /* MinusEqualsToken */: - case 67 /* AsteriskAsteriskEqualsToken */: - case 66 /* AsteriskEqualsToken */: - case 68 /* SlashEqualsToken */: - case 69 /* PercentEqualsToken */: - case 70 /* LessThanLessThanEqualsToken */: - case 71 /* GreaterThanGreaterThanEqualsToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 73 /* AmpersandEqualsToken */: - case 78 /* CaretEqualsToken */: - case 74 /* BarEqualsToken */: - case 75 /* BarBarEqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: - return 3 /* Assignment */; + case 27 /* SyntaxKind.CommaToken */: + return 0 /* OperatorPrecedence.Comma */; + case 63 /* SyntaxKind.EqualsToken */: + case 64 /* SyntaxKind.PlusEqualsToken */: + case 65 /* SyntaxKind.MinusEqualsToken */: + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: + case 66 /* SyntaxKind.AsteriskEqualsToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + case 69 /* SyntaxKind.PercentEqualsToken */: + case 70 /* SyntaxKind.LessThanLessThanEqualsToken */: + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: + case 73 /* SyntaxKind.AmpersandEqualsToken */: + case 78 /* SyntaxKind.CaretEqualsToken */: + case 74 /* SyntaxKind.BarEqualsToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: + return 3 /* OperatorPrecedence.Assignment */; default: return getBinaryOperatorPrecedence(operatorKind); } // TODO: Should prefix `++` and `--` be moved to the `Update` precedence? - case 211 /* TypeAssertionExpression */: - case 230 /* NonNullExpression */: - case 219 /* PrefixUnaryExpression */: - case 216 /* TypeOfExpression */: - case 217 /* VoidExpression */: - case 215 /* DeleteExpression */: - case 218 /* AwaitExpression */: - return 16 /* Unary */; - case 220 /* PostfixUnaryExpression */: - return 17 /* Update */; - case 208 /* CallExpression */: - return 18 /* LeftHandSide */; - case 209 /* NewExpression */: - return hasArguments ? 19 /* Member */ : 18 /* LeftHandSide */; - case 210 /* TaggedTemplateExpression */: - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: - case 231 /* MetaProperty */: - return 19 /* Member */; - case 229 /* AsExpression */: - return 11 /* Relational */; - case 108 /* ThisKeyword */: - case 106 /* SuperKeyword */: - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: - case 104 /* NullKeyword */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 10 /* StringLiteral */: - case 204 /* ArrayLiteralExpression */: - case 205 /* ObjectLiteralExpression */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 226 /* ClassExpression */: - case 13 /* RegularExpressionLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 223 /* TemplateExpression */: - case 212 /* ParenthesizedExpression */: - case 227 /* OmittedExpression */: - case 278 /* JsxElement */: - case 279 /* JsxSelfClosingElement */: - case 282 /* JsxFragment */: - return 20 /* Primary */; + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 230 /* SyntaxKind.NonNullExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: + case 217 /* SyntaxKind.VoidExpression */: + case 215 /* SyntaxKind.DeleteExpression */: + case 218 /* SyntaxKind.AwaitExpression */: + return 16 /* OperatorPrecedence.Unary */; + case 220 /* SyntaxKind.PostfixUnaryExpression */: + return 17 /* OperatorPrecedence.Update */; + case 208 /* SyntaxKind.CallExpression */: + return 18 /* OperatorPrecedence.LeftHandSide */; + case 209 /* SyntaxKind.NewExpression */: + return hasArguments ? 19 /* OperatorPrecedence.Member */ : 18 /* OperatorPrecedence.LeftHandSide */; + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 231 /* SyntaxKind.MetaProperty */: + return 19 /* OperatorPrecedence.Member */; + case 229 /* SyntaxKind.AsExpression */: + return 11 /* OperatorPrecedence.Relational */; + case 108 /* SyntaxKind.ThisKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: + case 104 /* SyntaxKind.NullKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 226 /* SyntaxKind.ClassExpression */: + case 13 /* SyntaxKind.RegularExpressionLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 223 /* SyntaxKind.TemplateExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 227 /* SyntaxKind.OmittedExpression */: + case 278 /* SyntaxKind.JsxElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxFragment */: + return 20 /* OperatorPrecedence.Primary */; default: - return -1 /* Invalid */; + return -1 /* OperatorPrecedence.Invalid */; } } ts.getOperatorPrecedence = getOperatorPrecedence; function getBinaryOperatorPrecedence(kind) { switch (kind) { - case 60 /* QuestionQuestionToken */: - return 4 /* Coalesce */; - case 56 /* BarBarToken */: - return 5 /* LogicalOR */; - case 55 /* AmpersandAmpersandToken */: - return 6 /* LogicalAND */; - case 51 /* BarToken */: - return 7 /* BitwiseOR */; - case 52 /* CaretToken */: - return 8 /* BitwiseXOR */; - case 50 /* AmpersandToken */: - return 9 /* BitwiseAND */; - case 34 /* EqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: - case 36 /* EqualsEqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: - return 10 /* Equality */; - case 29 /* LessThanToken */: - case 31 /* GreaterThanToken */: - case 32 /* LessThanEqualsToken */: - case 33 /* GreaterThanEqualsToken */: - case 102 /* InstanceOfKeyword */: - case 101 /* InKeyword */: - case 127 /* AsKeyword */: - return 11 /* Relational */; - case 47 /* LessThanLessThanToken */: - case 48 /* GreaterThanGreaterThanToken */: - case 49 /* GreaterThanGreaterThanGreaterThanToken */: - return 12 /* Shift */; - case 39 /* PlusToken */: - case 40 /* MinusToken */: - return 13 /* Additive */; - case 41 /* AsteriskToken */: - case 43 /* SlashToken */: - case 44 /* PercentToken */: - return 14 /* Multiplicative */; - case 42 /* AsteriskAsteriskToken */: - return 15 /* Exponentiation */; + case 60 /* SyntaxKind.QuestionQuestionToken */: + return 4 /* OperatorPrecedence.Coalesce */; + case 56 /* SyntaxKind.BarBarToken */: + return 5 /* OperatorPrecedence.LogicalOR */; + case 55 /* SyntaxKind.AmpersandAmpersandToken */: + return 6 /* OperatorPrecedence.LogicalAND */; + case 51 /* SyntaxKind.BarToken */: + return 7 /* OperatorPrecedence.BitwiseOR */; + case 52 /* SyntaxKind.CaretToken */: + return 8 /* OperatorPrecedence.BitwiseXOR */; + case 50 /* SyntaxKind.AmpersandToken */: + return 9 /* OperatorPrecedence.BitwiseAND */; + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: + return 10 /* OperatorPrecedence.Equality */; + case 29 /* SyntaxKind.LessThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 32 /* SyntaxKind.LessThanEqualsToken */: + case 33 /* SyntaxKind.GreaterThanEqualsToken */: + case 102 /* SyntaxKind.InstanceOfKeyword */: + case 101 /* SyntaxKind.InKeyword */: + case 127 /* SyntaxKind.AsKeyword */: + return 11 /* OperatorPrecedence.Relational */; + case 47 /* SyntaxKind.LessThanLessThanToken */: + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: + return 12 /* OperatorPrecedence.Shift */; + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + return 13 /* OperatorPrecedence.Additive */; + case 41 /* SyntaxKind.AsteriskToken */: + case 43 /* SyntaxKind.SlashToken */: + case 44 /* SyntaxKind.PercentToken */: + return 14 /* OperatorPrecedence.Multiplicative */; + case 42 /* SyntaxKind.AsteriskAsteriskToken */: + return 15 /* OperatorPrecedence.Exponentiation */; } // -1 is lower than all other precedences. Returning it will cause binary expression // parsing to stop. @@ -17974,9 +17988,9 @@ var ts; function getSemanticJsxChildren(children) { return ts.filter(children, function (i) { switch (i.kind) { - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return !!i.expression; - case 11 /* JsxText */: + case 11 /* SyntaxKind.JsxText */: return !i.containsOnlyTriviaWhiteSpaces; default: return true; @@ -18091,9 +18105,9 @@ var ts; return "\\u" + paddedHexCode; } function getReplacement(c, offset, input) { - if (c.charCodeAt(0) === 0 /* nullCharacter */) { + if (c.charCodeAt(0) === 0 /* CharacterCodes.nullCharacter */) { var lookAhead = input.charCodeAt(offset + c.length); - if (lookAhead >= 48 /* _0 */ && lookAhead <= 57 /* _9 */) { + if (lookAhead >= 48 /* CharacterCodes._0 */ && lookAhead <= 57 /* CharacterCodes._9 */) { // If the null character is followed by digits, print as a hex escape to prevent the result from parsing as an octal (which is forbidden in strict mode) return "\\x00"; } @@ -18108,8 +18122,8 @@ var ts; * Note that this doesn't actually wrap the input in double quotes. */ function escapeString(s, quoteChar) { - var escapedCharsRegExp = quoteChar === 96 /* backtick */ ? backtickQuoteEscapedCharsRegExp : - quoteChar === 39 /* singleQuote */ ? singleQuoteEscapedCharsRegExp : + var escapedCharsRegExp = quoteChar === 96 /* CharacterCodes.backtick */ ? backtickQuoteEscapedCharsRegExp : + quoteChar === 39 /* CharacterCodes.singleQuote */ ? singleQuoteEscapedCharsRegExp : doubleQuoteEscapedCharsRegExp; return s.replace(escapedCharsRegExp, getReplacement); } @@ -18139,13 +18153,13 @@ var ts; return "&#x" + hexCharCode + ";"; } function getJsxAttributeStringReplacement(c) { - if (c.charCodeAt(0) === 0 /* nullCharacter */) { + if (c.charCodeAt(0) === 0 /* CharacterCodes.nullCharacter */) { return "�"; } return jsxEscapedCharsMap.get(c) || encodeJsxCharacterEntity(c.charCodeAt(0)); } function escapeJsxAttributeString(s, quoteChar) { - var escapedCharsRegExp = quoteChar === 39 /* singleQuote */ ? jsxSingleQuoteEscapedCharsRegExp : + var escapedCharsRegExp = quoteChar === 39 /* CharacterCodes.singleQuote */ ? jsxSingleQuoteEscapedCharsRegExp : jsxDoubleQuoteEscapedCharsRegExp; return s.replace(escapedCharsRegExp, getJsxAttributeStringReplacement); } @@ -18164,13 +18178,13 @@ var ts; } ts.stripQuotes = stripQuotes; function isQuoteOrBacktick(charCode) { - return charCode === 39 /* singleQuote */ || - charCode === 34 /* doubleQuote */ || - charCode === 96 /* backtick */; + return charCode === 39 /* CharacterCodes.singleQuote */ || + charCode === 34 /* CharacterCodes.doubleQuote */ || + charCode === 96 /* CharacterCodes.backtick */; } function isIntrinsicJsxName(name) { var ch = name.charCodeAt(0); - return (ch >= 97 /* a */ && ch <= 122 /* z */) || ts.stringContains(name, "-") || ts.stringContains(name, ":"); + return (ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */) || ts.stringContains(name, "-") || ts.stringContains(name, ":"); } ts.isIntrinsicJsxName = isIntrinsicJsxName; var indentStrings = ["", " "]; @@ -18187,6 +18201,10 @@ var ts; return indentStrings[1].length; } ts.getIndentSize = getIndentSize; + function isNightly() { + return ts.stringContains(ts.version, "-dev") || ts.stringContains(ts.version, "-insiders"); + } + ts.isNightly = isNightly; function createTextWriter(newLine) { var output; var indent; @@ -18411,12 +18429,22 @@ var ts; } ts.getDeclarationEmitOutputFilePathWorker = getDeclarationEmitOutputFilePathWorker; function getDeclarationEmitExtensionForPath(path) { - return ts.fileExtensionIsOneOf(path, [".mjs" /* Mjs */, ".mts" /* Mts */]) ? ".d.mts" /* Dmts */ : - ts.fileExtensionIsOneOf(path, [".cjs" /* Cjs */, ".cts" /* Cts */]) ? ".d.cts" /* Dcts */ : - ts.fileExtensionIsOneOf(path, [".json" /* Json */]) ? ".json.d.ts" : // Drive-by redefinition of json declaration file output name so if it's ever enabled, it behaves well - ".d.ts" /* Dts */; + return ts.fileExtensionIsOneOf(path, [".mjs" /* Extension.Mjs */, ".mts" /* Extension.Mts */]) ? ".d.mts" /* Extension.Dmts */ : + ts.fileExtensionIsOneOf(path, [".cjs" /* Extension.Cjs */, ".cts" /* Extension.Cts */]) ? ".d.cts" /* Extension.Dcts */ : + ts.fileExtensionIsOneOf(path, [".json" /* Extension.Json */]) ? ".json.d.ts" : // Drive-by redefinition of json declaration file output name so if it's ever enabled, it behaves well + ".d.ts" /* Extension.Dts */; } ts.getDeclarationEmitExtensionForPath = getDeclarationEmitExtensionForPath; + /** + * This function is an inverse of `getDeclarationEmitExtensionForPath`. + */ + function getPossibleOriginalInputExtensionForExtension(path) { + return ts.fileExtensionIsOneOf(path, [".d.mts" /* Extension.Dmts */, ".mjs" /* Extension.Mjs */, ".mts" /* Extension.Mts */]) ? [".mts" /* Extension.Mts */, ".mjs" /* Extension.Mjs */] : + ts.fileExtensionIsOneOf(path, [".d.cts" /* Extension.Dcts */, ".cjs" /* Extension.Cjs */, ".cts" /* Extension.Cts */]) ? [".cts" /* Extension.Cts */, ".cjs" /* Extension.Cjs */] : + ts.fileExtensionIsOneOf(path, [".json.d.ts"]) ? [".json" /* Extension.Json */] : + [".tsx" /* Extension.Tsx */, ".ts" /* Extension.Ts */, ".jsx" /* Extension.Jsx */, ".js" /* Extension.Js */]; + } + ts.getPossibleOriginalInputExtensionForExtension = getPossibleOriginalInputExtensionForExtension; function outFile(options) { return options.outFile || options.out; } @@ -18476,10 +18504,10 @@ var ts; return ts.combinePaths(newDirPath, sourceFilePath); } ts.getSourceFilePathInNewDirWorker = getSourceFilePathInNewDirWorker; - function writeFile(host, diagnostics, fileName, data, writeByteOrderMark, sourceFiles) { - host.writeFile(fileName, data, writeByteOrderMark, function (hostErrorMessage) { + function writeFile(host, diagnostics, fileName, text, writeByteOrderMark, sourceFiles, data) { + host.writeFile(fileName, text, writeByteOrderMark, function (hostErrorMessage) { diagnostics.add(createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, fileName, hostErrorMessage)); - }, sourceFiles); + }, sourceFiles, data); } ts.writeFile = writeFile; function ensureDirectoriesExist(directoryPath, createDirectory, directoryExists) { @@ -18542,7 +18570,7 @@ var ts; } ts.parameterIsThisKeyword = parameterIsThisKeyword; function isThisIdentifier(node) { - return !!node && node.kind === 79 /* Identifier */ && identifierIsThisKeyword(node); + return !!node && node.kind === 79 /* SyntaxKind.Identifier */ && identifierIsThisKeyword(node); } ts.isThisIdentifier = isThisIdentifier; function isThisInTypeQuery(node) { @@ -18552,11 +18580,11 @@ var ts; while (ts.isQualifiedName(node.parent) && node.parent.left === node) { node = node.parent; } - return node.parent.kind === 181 /* TypeQuery */; + return node.parent.kind === 181 /* SyntaxKind.TypeQuery */; } ts.isThisInTypeQuery = isThisInTypeQuery; function identifierIsThisKeyword(id) { - return id.originalKeywordKind === 108 /* ThisKeyword */; + return id.originalKeywordKind === 108 /* SyntaxKind.ThisKeyword */; } ts.identifierIsThisKeyword = identifierIsThisKeyword; function getAllAccessorDeclarations(declarations, accessor) { @@ -18567,10 +18595,10 @@ var ts; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 172 /* GetAccessor */) { + if (accessor.kind === 172 /* SyntaxKind.GetAccessor */) { getAccessor = accessor; } - else if (accessor.kind === 173 /* SetAccessor */) { + else if (accessor.kind === 173 /* SyntaxKind.SetAccessor */) { setAccessor = accessor; } else { @@ -18590,10 +18618,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 172 /* GetAccessor */ && !getAccessor) { + if (member.kind === 172 /* SyntaxKind.GetAccessor */ && !getAccessor) { getAccessor = member; } - if (member.kind === 173 /* SetAccessor */ && !setAccessor) { + if (member.kind === 173 /* SyntaxKind.SetAccessor */ && !setAccessor) { setAccessor = member; } } @@ -18642,7 +18670,7 @@ var ts; ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; /** template tags are only available when a typedef isn't already using them */ function isNonTypeAliasTemplate(tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 320 /* JSDoc */ && tag.parent.tags.some(isJSDocTypeAlias)); + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 320 /* SyntaxKind.JSDoc */ && tag.parent.tags.some(isJSDocTypeAlias)); } /** * Gets the effective type annotation of the value parameter of a set accessor. If the node @@ -18759,7 +18787,7 @@ var ts; } ts.emitDetachedComments = emitDetachedComments; function writeCommentRange(text, lineMap, writer, commentPos, commentEnd, newLine) { - if (text.charCodeAt(commentPos + 1) === 42 /* asterisk */) { + if (text.charCodeAt(commentPos + 1) === 42 /* CharacterCodes.asterisk */) { var firstCommentLineAndCharacter = ts.computeLineAndCharacterOfPosition(lineMap, commentPos); var lineCount = lineMap.length; var firstCommentLineIndent = void 0; @@ -18834,7 +18862,7 @@ var ts; function calculateIndent(text, pos, end) { var currentLineIndent = 0; for (; pos < end && ts.isWhiteSpaceSingleLine(text.charCodeAt(pos)); pos++) { - if (text.charCodeAt(pos) === 9 /* tab */) { + if (text.charCodeAt(pos) === 9 /* CharacterCodes.tab */) { // Tabs = TabSize = indent size and go to next tabStop currentLineIndent += getIndentSize() - (currentLineIndent % getIndentSize()); } @@ -18846,11 +18874,11 @@ var ts; return currentLineIndent; } function hasEffectiveModifiers(node) { - return getEffectiveModifierFlags(node) !== 0 /* None */; + return getEffectiveModifierFlags(node) !== 0 /* ModifierFlags.None */; } ts.hasEffectiveModifiers = hasEffectiveModifiers; function hasSyntacticModifiers(node) { - return getSyntacticModifierFlags(node) !== 0 /* None */; + return getSyntacticModifierFlags(node) !== 0 /* ModifierFlags.None */; } ts.hasSyntacticModifiers = hasSyntacticModifiers; function hasEffectiveModifier(node, flags) { @@ -18867,23 +18895,23 @@ var ts; } ts.isStatic = isStatic; function hasStaticModifier(node) { - return hasSyntacticModifier(node, 32 /* Static */); + return hasSyntacticModifier(node, 32 /* ModifierFlags.Static */); } ts.hasStaticModifier = hasStaticModifier; function hasOverrideModifier(node) { - return hasEffectiveModifier(node, 16384 /* Override */); + return hasEffectiveModifier(node, 16384 /* ModifierFlags.Override */); } ts.hasOverrideModifier = hasOverrideModifier; function hasAbstractModifier(node) { - return hasSyntacticModifier(node, 128 /* Abstract */); + return hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */); } ts.hasAbstractModifier = hasAbstractModifier; function hasAmbientModifier(node) { - return hasSyntacticModifier(node, 2 /* Ambient */); + return hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */); } ts.hasAmbientModifier = hasAmbientModifier; function hasEffectiveReadonlyModifier(node) { - return hasEffectiveModifier(node, 64 /* Readonly */); + return hasEffectiveModifier(node, 64 /* ModifierFlags.Readonly */); } ts.hasEffectiveReadonlyModifier = hasEffectiveReadonlyModifier; function getSelectedEffectiveModifierFlags(node, flags) { @@ -18895,16 +18923,16 @@ var ts; } ts.getSelectedSyntacticModifierFlags = getSelectedSyntacticModifierFlags; function getModifierFlagsWorker(node, includeJSDoc, alwaysIncludeJSDoc) { - if (node.kind >= 0 /* FirstToken */ && node.kind <= 160 /* LastToken */) { - return 0 /* None */; + if (node.kind >= 0 /* SyntaxKind.FirstToken */ && node.kind <= 160 /* SyntaxKind.LastToken */) { + return 0 /* ModifierFlags.None */; } - if (!(node.modifierFlagsCache & 536870912 /* HasComputedFlags */)) { - node.modifierFlagsCache = getSyntacticModifierFlagsNoCache(node) | 536870912 /* HasComputedFlags */; + if (!(node.modifierFlagsCache & 536870912 /* ModifierFlags.HasComputedFlags */)) { + node.modifierFlagsCache = getSyntacticModifierFlagsNoCache(node) | 536870912 /* ModifierFlags.HasComputedFlags */; } - if (includeJSDoc && !(node.modifierFlagsCache & 4096 /* HasComputedJSDocModifiers */) && (alwaysIncludeJSDoc || isInJSFile(node)) && node.parent) { - node.modifierFlagsCache |= getJSDocModifierFlagsNoCache(node) | 4096 /* HasComputedJSDocModifiers */; + if (includeJSDoc && !(node.modifierFlagsCache & 4096 /* ModifierFlags.HasComputedJSDocModifiers */) && (alwaysIncludeJSDoc || isInJSFile(node)) && node.parent) { + node.modifierFlagsCache |= getJSDocModifierFlagsNoCache(node) | 4096 /* ModifierFlags.HasComputedJSDocModifiers */; } - return node.modifierFlagsCache & ~(536870912 /* HasComputedFlags */ | 4096 /* HasComputedJSDocModifiers */); + return node.modifierFlagsCache & ~(536870912 /* ModifierFlags.HasComputedFlags */ | 4096 /* ModifierFlags.HasComputedJSDocModifiers */); } /** * Gets the effective ModifierFlags for the provided node, including JSDoc modifiers. The modifiers will be cached on the node to improve performance. @@ -18929,22 +18957,22 @@ var ts; } ts.getSyntacticModifierFlags = getSyntacticModifierFlags; function getJSDocModifierFlagsNoCache(node) { - var flags = 0 /* None */; + var flags = 0 /* ModifierFlags.None */; if (!!node.parent && !ts.isParameter(node)) { if (isInJSFile(node)) { if (ts.getJSDocPublicTagNoCache(node)) - flags |= 4 /* Public */; + flags |= 4 /* ModifierFlags.Public */; if (ts.getJSDocPrivateTagNoCache(node)) - flags |= 8 /* Private */; + flags |= 8 /* ModifierFlags.Private */; if (ts.getJSDocProtectedTagNoCache(node)) - flags |= 16 /* Protected */; + flags |= 16 /* ModifierFlags.Protected */; if (ts.getJSDocReadonlyTagNoCache(node)) - flags |= 64 /* Readonly */; + flags |= 64 /* ModifierFlags.Readonly */; if (ts.getJSDocOverrideTagNoCache(node)) - flags |= 16384 /* Override */; + flags |= 16384 /* ModifierFlags.Override */; } if (ts.getJSDocDeprecatedTagNoCache(node)) - flags |= 8192 /* Deprecated */; + flags |= 8192 /* ModifierFlags.Deprecated */; } return flags; } @@ -18964,14 +18992,14 @@ var ts; */ function getSyntacticModifierFlagsNoCache(node) { var flags = modifiersToFlags(node.modifiers); - if (node.flags & 4 /* NestedNamespace */ || (node.kind === 79 /* Identifier */ && node.isInJSDocNamespace)) { - flags |= 1 /* Export */; + if (node.flags & 4 /* NodeFlags.NestedNamespace */ || (node.kind === 79 /* SyntaxKind.Identifier */ && node.isInJSDocNamespace)) { + flags |= 1 /* ModifierFlags.Export */; } return flags; } ts.getSyntacticModifierFlagsNoCache = getSyntacticModifierFlagsNoCache; function modifiersToFlags(modifiers) { - var flags = 0 /* None */; + var flags = 0 /* ModifierFlags.None */; if (modifiers) { for (var _i = 0, modifiers_1 = modifiers; _i < modifiers_1.length; _i++) { var modifier = modifiers_1[_i]; @@ -18983,22 +19011,22 @@ var ts; ts.modifiersToFlags = modifiersToFlags; function modifierToFlag(token) { switch (token) { - case 124 /* StaticKeyword */: return 32 /* Static */; - case 123 /* PublicKeyword */: return 4 /* Public */; - case 122 /* ProtectedKeyword */: return 16 /* Protected */; - case 121 /* PrivateKeyword */: return 8 /* Private */; - case 126 /* AbstractKeyword */: return 128 /* Abstract */; - case 93 /* ExportKeyword */: return 1 /* Export */; - case 135 /* DeclareKeyword */: return 2 /* Ambient */; - case 85 /* ConstKeyword */: return 2048 /* Const */; - case 88 /* DefaultKeyword */: return 512 /* Default */; - case 131 /* AsyncKeyword */: return 256 /* Async */; - case 145 /* ReadonlyKeyword */: return 64 /* Readonly */; - case 159 /* OverrideKeyword */: return 16384 /* Override */; - case 101 /* InKeyword */: return 32768 /* In */; - case 144 /* OutKeyword */: return 65536 /* Out */; - } - return 0 /* None */; + case 124 /* SyntaxKind.StaticKeyword */: return 32 /* ModifierFlags.Static */; + case 123 /* SyntaxKind.PublicKeyword */: return 4 /* ModifierFlags.Public */; + case 122 /* SyntaxKind.ProtectedKeyword */: return 16 /* ModifierFlags.Protected */; + case 121 /* SyntaxKind.PrivateKeyword */: return 8 /* ModifierFlags.Private */; + case 126 /* SyntaxKind.AbstractKeyword */: return 128 /* ModifierFlags.Abstract */; + case 93 /* SyntaxKind.ExportKeyword */: return 1 /* ModifierFlags.Export */; + case 135 /* SyntaxKind.DeclareKeyword */: return 2 /* ModifierFlags.Ambient */; + case 85 /* SyntaxKind.ConstKeyword */: return 2048 /* ModifierFlags.Const */; + case 88 /* SyntaxKind.DefaultKeyword */: return 512 /* ModifierFlags.Default */; + case 131 /* SyntaxKind.AsyncKeyword */: return 256 /* ModifierFlags.Async */; + case 145 /* SyntaxKind.ReadonlyKeyword */: return 64 /* ModifierFlags.Readonly */; + case 159 /* SyntaxKind.OverrideKeyword */: return 16384 /* ModifierFlags.Override */; + case 101 /* SyntaxKind.InKeyword */: return 32768 /* ModifierFlags.In */; + case 144 /* SyntaxKind.OutKeyword */: return 65536 /* ModifierFlags.Out */; + } + return 0 /* ModifierFlags.None */; } ts.modifierToFlag = modifierToFlag; function createModifiers(modifierFlags) { @@ -19006,15 +19034,15 @@ var ts; } ts.createModifiers = createModifiers; function isLogicalOperator(token) { - return token === 56 /* BarBarToken */ - || token === 55 /* AmpersandAmpersandToken */ - || token === 53 /* ExclamationToken */; + return token === 56 /* SyntaxKind.BarBarToken */ + || token === 55 /* SyntaxKind.AmpersandAmpersandToken */ + || token === 53 /* SyntaxKind.ExclamationToken */; } ts.isLogicalOperator = isLogicalOperator; function isLogicalOrCoalescingAssignmentOperator(token) { - return token === 75 /* BarBarEqualsToken */ - || token === 76 /* AmpersandAmpersandEqualsToken */ - || token === 77 /* QuestionQuestionEqualsToken */; + return token === 75 /* SyntaxKind.BarBarEqualsToken */ + || token === 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */ + || token === 77 /* SyntaxKind.QuestionQuestionEqualsToken */; } ts.isLogicalOrCoalescingAssignmentOperator = isLogicalOrCoalescingAssignmentOperator; function isLogicalOrCoalescingAssignmentExpression(expr) { @@ -19022,7 +19050,7 @@ var ts; } ts.isLogicalOrCoalescingAssignmentExpression = isLogicalOrCoalescingAssignmentExpression; function isAssignmentOperator(token) { - return token >= 63 /* FirstAssignment */ && token <= 78 /* LastAssignment */; + return token >= 63 /* SyntaxKind.FirstAssignment */ && token <= 78 /* SyntaxKind.LastAssignment */; } ts.isAssignmentOperator = isAssignmentOperator; /** Get `C` given `N` if `N` is in the position `class C extends N` where `N` is an ExpressionWithTypeArguments. */ @@ -19035,14 +19063,14 @@ var ts; return ts.isExpressionWithTypeArguments(node) && ts.isHeritageClause(node.parent) && ts.isClassLike(node.parent.parent) - ? { class: node.parent.parent, isImplements: node.parent.token === 117 /* ImplementsKeyword */ } + ? { class: node.parent.parent, isImplements: node.parent.token === 117 /* SyntaxKind.ImplementsKeyword */ } : undefined; } ts.tryGetClassImplementingOrExtendingExpressionWithTypeArguments = tryGetClassImplementingOrExtendingExpressionWithTypeArguments; function isAssignmentExpression(node, excludeCompoundAssignment) { return ts.isBinaryExpression(node) && (excludeCompoundAssignment - ? node.operatorToken.kind === 63 /* EqualsToken */ + ? node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ : isAssignmentOperator(node.operatorToken.kind)) && ts.isLeftHandSideExpression(node.left); } @@ -19054,8 +19082,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true)) { var kind = node.left.kind; - return kind === 205 /* ObjectLiteralExpression */ - || kind === 204 /* ArrayLiteralExpression */; + return kind === 205 /* SyntaxKind.ObjectLiteralExpression */ + || kind === 204 /* SyntaxKind.ArrayLiteralExpression */; } return false; } @@ -19065,33 +19093,33 @@ var ts; } ts.isExpressionWithTypeArgumentsInClassExtendsClause = isExpressionWithTypeArgumentsInClassExtendsClause; function isEntityNameExpression(node) { - return node.kind === 79 /* Identifier */ || isPropertyAccessEntityNameExpression(node); + return node.kind === 79 /* SyntaxKind.Identifier */ || isPropertyAccessEntityNameExpression(node); } ts.isEntityNameExpression = isEntityNameExpression; function getFirstIdentifier(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return node; - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: do { node = node.left; - } while (node.kind !== 79 /* Identifier */); + } while (node.kind !== 79 /* SyntaxKind.Identifier */); return node; - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: do { node = node.expression; - } while (node.kind !== 79 /* Identifier */); + } while (node.kind !== 79 /* SyntaxKind.Identifier */); return node; } } ts.getFirstIdentifier = getFirstIdentifier; function isDottedName(node) { - return node.kind === 79 /* Identifier */ - || node.kind === 108 /* ThisKeyword */ - || node.kind === 106 /* SuperKeyword */ - || node.kind === 231 /* MetaProperty */ - || node.kind === 206 /* PropertyAccessExpression */ && isDottedName(node.expression) - || node.kind === 212 /* ParenthesizedExpression */ && isDottedName(node.expression); + return node.kind === 79 /* SyntaxKind.Identifier */ + || node.kind === 108 /* SyntaxKind.ThisKeyword */ + || node.kind === 106 /* SyntaxKind.SuperKeyword */ + || node.kind === 231 /* SyntaxKind.MetaProperty */ + || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && isDottedName(node.expression) + || node.kind === 212 /* SyntaxKind.ParenthesizedExpression */ && isDottedName(node.expression); } ts.isDottedName = isDottedName; function isPropertyAccessEntityNameExpression(node) { @@ -19122,10 +19150,15 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 161 /* QualifiedName */ && node.parent.right === node) || - (node.parent.kind === 206 /* PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 161 /* SyntaxKind.QualifiedName */ && node.parent.right === node) || + (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; + function isRightSideOfAccessExpression(node) { + return ts.isPropertyAccessExpression(node.parent) && node.parent.name === node + || ts.isElementAccessExpression(node.parent) && node.parent.argumentExpression === node; + } + ts.isRightSideOfAccessExpression = isRightSideOfAccessExpression; function isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName(node) { return ts.isQualifiedName(node.parent) && node.parent.right === node || ts.isPropertyAccessExpression(node.parent) && node.parent.name === node @@ -19133,12 +19166,12 @@ var ts; } ts.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName = isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName; function isEmptyObjectLiteral(expression) { - return expression.kind === 205 /* ObjectLiteralExpression */ && + return expression.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 204 /* ArrayLiteralExpression */ && + return expression.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -19154,7 +19187,7 @@ var ts; } ts.getLocalSymbolForExportDefault = getLocalSymbolForExportDefault; function isExportDefaultSymbol(symbol) { - return symbol && ts.length(symbol.declarations) > 0 && hasSyntacticModifier(symbol.declarations[0], 512 /* Default */); + return symbol && ts.length(symbol.declarations) > 0 && hasSyntacticModifier(symbol.declarations[0], 512 /* ModifierFlags.Default */); } /** Return ".ts", ".d.ts", or ".tsx", if that is the extension. */ function tryExtractTSExtension(fileName) { @@ -19325,9 +19358,9 @@ var ts; var lineFeed = "\n"; function getNewLineCharacter(options, getNewLine) { switch (options.newLine) { - case 0 /* CarriageReturnLineFeed */: + case 0 /* NewLineKind.CarriageReturnLineFeed */: return carriageReturnLineFeed; - case 1 /* LineFeed */: + case 1 /* NewLineKind.LineFeed */: return lineFeed; } return getNewLine ? getNewLine() : ts.sys ? ts.sys.newLine : carriageReturnLineFeed; @@ -19470,8 +19503,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 260 /* EnumDeclaration */: - case 261 /* ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return parseNode === parseNode.parent.name; } } @@ -19495,32 +19528,32 @@ var ts; } ts.closeFileWatcher = closeFileWatcher; function getCheckFlags(symbol) { - return symbol.flags & 33554432 /* Transient */ ? symbol.checkFlags : 0; + return symbol.flags & 33554432 /* SymbolFlags.Transient */ ? symbol.checkFlags : 0; } ts.getCheckFlags = getCheckFlags; function getDeclarationModifierFlagsFromSymbol(s, isWrite) { if (isWrite === void 0) { isWrite = false; } if (s.valueDeclaration) { - var declaration = (isWrite && s.declarations && ts.find(s.declarations, function (d) { return d.kind === 173 /* SetAccessor */; })) || s.valueDeclaration; + var declaration = (isWrite && s.declarations && ts.find(s.declarations, function (d) { return d.kind === 173 /* SyntaxKind.SetAccessor */; })) || s.valueDeclaration; var flags = ts.getCombinedModifierFlags(declaration); - return s.parent && s.parent.flags & 32 /* Class */ ? flags : flags & ~28 /* AccessibilityModifier */; + return s.parent && s.parent.flags & 32 /* SymbolFlags.Class */ ? flags : flags & ~28 /* ModifierFlags.AccessibilityModifier */; } - if (getCheckFlags(s) & 6 /* Synthetic */) { + if (getCheckFlags(s) & 6 /* CheckFlags.Synthetic */) { var checkFlags = s.checkFlags; - var accessModifier = checkFlags & 1024 /* ContainsPrivate */ ? 8 /* Private */ : - checkFlags & 256 /* ContainsPublic */ ? 4 /* Public */ : - 16 /* Protected */; - var staticModifier = checkFlags & 2048 /* ContainsStatic */ ? 32 /* Static */ : 0; + var accessModifier = checkFlags & 1024 /* CheckFlags.ContainsPrivate */ ? 8 /* ModifierFlags.Private */ : + checkFlags & 256 /* CheckFlags.ContainsPublic */ ? 4 /* ModifierFlags.Public */ : + 16 /* ModifierFlags.Protected */; + var staticModifier = checkFlags & 2048 /* CheckFlags.ContainsStatic */ ? 32 /* ModifierFlags.Static */ : 0; return accessModifier | staticModifier; } - if (s.flags & 4194304 /* Prototype */) { - return 4 /* Public */ | 32 /* Static */; + if (s.flags & 4194304 /* SymbolFlags.Prototype */) { + return 4 /* ModifierFlags.Public */ | 32 /* ModifierFlags.Static */; } return 0; } ts.getDeclarationModifierFlagsFromSymbol = getDeclarationModifierFlagsFromSymbol; function skipAlias(symbol, checker) { - return symbol.flags & 2097152 /* Alias */ ? checker.getAliasedSymbol(symbol) : symbol; + return symbol.flags & 2097152 /* SymbolFlags.Alias */ ? checker.getAliasedSymbol(symbol) : symbol; } ts.skipAlias = skipAlias; /** See comment on `declareModuleMember` in `binder.ts`. */ @@ -19529,11 +19562,11 @@ var ts; } ts.getCombinedLocalAndExportSymbolFlags = getCombinedLocalAndExportSymbolFlags; function isWriteOnlyAccess(node) { - return accessKind(node) === 1 /* Write */; + return accessKind(node) === 1 /* AccessKind.Write */; } ts.isWriteOnlyAccess = isWriteOnlyAccess; function isWriteAccess(node) { - return accessKind(node) !== 0 /* Read */; + return accessKind(node) !== 0 /* AccessKind.Read */; } ts.isWriteAccess = isWriteAccess; var AccessKind; @@ -19548,47 +19581,47 @@ var ts; function accessKind(node) { var parent = node.parent; if (!parent) - return 0 /* Read */; + return 0 /* AccessKind.Read */; switch (parent.kind) { - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return accessKind(parent); - case 220 /* PostfixUnaryExpression */: - case 219 /* PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: var operator = parent.operator; - return operator === 45 /* PlusPlusToken */ || operator === 46 /* MinusMinusToken */ ? writeOrReadWrite() : 0 /* Read */; - case 221 /* BinaryExpression */: + return operator === 45 /* SyntaxKind.PlusPlusToken */ || operator === 46 /* SyntaxKind.MinusMinusToken */ ? writeOrReadWrite() : 0 /* AccessKind.Read */; + case 221 /* SyntaxKind.BinaryExpression */: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? - operatorToken.kind === 63 /* EqualsToken */ ? 1 /* Write */ : writeOrReadWrite() - : 0 /* Read */; - case 206 /* PropertyAccessExpression */: - return parent.name !== node ? 0 /* Read */ : accessKind(parent); - case 296 /* PropertyAssignment */: { + operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ ? 1 /* AccessKind.Write */ : writeOrReadWrite() + : 0 /* AccessKind.Read */; + case 206 /* SyntaxKind.PropertyAccessExpression */: + return parent.name !== node ? 0 /* AccessKind.Read */ : accessKind(parent); + case 296 /* SyntaxKind.PropertyAssignment */: { var parentAccess = accessKind(parent.parent); // In `({ x: varname }) = { x: 1 }`, the left `x` is a read, the right `x` is a write. return node === parent.name ? reverseAccessKind(parentAccess) : parentAccess; } - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: // Assume it's the local variable being accessed, since we don't check public properties for --noUnusedLocals. - return node === parent.objectAssignmentInitializer ? 0 /* Read */ : accessKind(parent.parent); - case 204 /* ArrayLiteralExpression */: + return node === parent.objectAssignmentInitializer ? 0 /* AccessKind.Read */ : accessKind(parent.parent); + case 204 /* SyntaxKind.ArrayLiteralExpression */: return accessKind(parent); default: - return 0 /* Read */; + return 0 /* AccessKind.Read */; } function writeOrReadWrite() { // If grandparent is not an ExpressionStatement, this is used as an expression in addition to having a side effect. - return parent.parent && walkUpParenthesizedExpressions(parent.parent).kind === 238 /* ExpressionStatement */ ? 1 /* Write */ : 2 /* ReadWrite */; + return parent.parent && walkUpParenthesizedExpressions(parent.parent).kind === 238 /* SyntaxKind.ExpressionStatement */ ? 1 /* AccessKind.Write */ : 2 /* AccessKind.ReadWrite */; } } function reverseAccessKind(a) { switch (a) { - case 0 /* Read */: - return 1 /* Write */; - case 1 /* Write */: - return 0 /* Read */; - case 2 /* ReadWrite */: - return 2 /* ReadWrite */; + case 0 /* AccessKind.Read */: + return 1 /* AccessKind.Write */; + case 1 /* AccessKind.Write */: + return 0 /* AccessKind.Read */; + case 2 /* AccessKind.ReadWrite */: + return 2 /* AccessKind.ReadWrite */; default: return ts.Debug.assertNever(a); } @@ -19658,9 +19691,9 @@ var ts; } ts.mutateMap = mutateMap; function isAbstractConstructorSymbol(symbol) { - if (symbol.flags & 32 /* Class */) { + if (symbol.flags & 32 /* SymbolFlags.Class */) { var declaration = getClassLikeDeclarationOfSymbol(symbol); - return !!declaration && hasSyntacticModifier(declaration, 128 /* Abstract */); + return !!declaration && hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */); } return false; } @@ -19671,11 +19704,11 @@ var ts; } ts.getClassLikeDeclarationOfSymbol = getClassLikeDeclarationOfSymbol; function getObjectFlags(type) { - return type.flags & 3899393 /* ObjectFlagsType */ ? type.objectFlags : 0; + return type.flags & 3899393 /* TypeFlags.ObjectFlagsType */ ? type.objectFlags : 0; } ts.getObjectFlags = getObjectFlags; function typeHasCallOrConstructSignatures(type, checker) { - return checker.getSignaturesOfType(type, 0 /* Call */).length !== 0 || checker.getSignaturesOfType(type, 1 /* Construct */).length !== 0; + return checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */).length !== 0 || checker.getSignaturesOfType(type, 1 /* SignatureKind.Construct */).length !== 0; } ts.typeHasCallOrConstructSignatures = typeHasCallOrConstructSignatures; function forSomeAncestorDirectory(directory, callback) { @@ -19722,44 +19755,44 @@ var ts; } ts.isObjectTypeDeclaration = isObjectTypeDeclaration; function isTypeNodeKind(kind) { - return (kind >= 177 /* FirstTypeNode */ && kind <= 200 /* LastTypeNode */) - || kind === 130 /* AnyKeyword */ - || kind === 155 /* UnknownKeyword */ - || kind === 147 /* NumberKeyword */ - || kind === 158 /* BigIntKeyword */ - || kind === 148 /* ObjectKeyword */ - || kind === 133 /* BooleanKeyword */ - || kind === 150 /* StringKeyword */ - || kind === 151 /* SymbolKeyword */ - || kind === 114 /* VoidKeyword */ - || kind === 153 /* UndefinedKeyword */ - || kind === 143 /* NeverKeyword */ - || kind === 228 /* ExpressionWithTypeArguments */ - || kind === 312 /* JSDocAllType */ - || kind === 313 /* JSDocUnknownType */ - || kind === 314 /* JSDocNullableType */ - || kind === 315 /* JSDocNonNullableType */ - || kind === 316 /* JSDocOptionalType */ - || kind === 317 /* JSDocFunctionType */ - || kind === 318 /* JSDocVariadicType */; + return (kind >= 177 /* SyntaxKind.FirstTypeNode */ && kind <= 200 /* SyntaxKind.LastTypeNode */) + || kind === 130 /* SyntaxKind.AnyKeyword */ + || kind === 155 /* SyntaxKind.UnknownKeyword */ + || kind === 147 /* SyntaxKind.NumberKeyword */ + || kind === 158 /* SyntaxKind.BigIntKeyword */ + || kind === 148 /* SyntaxKind.ObjectKeyword */ + || kind === 133 /* SyntaxKind.BooleanKeyword */ + || kind === 150 /* SyntaxKind.StringKeyword */ + || kind === 151 /* SyntaxKind.SymbolKeyword */ + || kind === 114 /* SyntaxKind.VoidKeyword */ + || kind === 153 /* SyntaxKind.UndefinedKeyword */ + || kind === 143 /* SyntaxKind.NeverKeyword */ + || kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ + || kind === 312 /* SyntaxKind.JSDocAllType */ + || kind === 313 /* SyntaxKind.JSDocUnknownType */ + || kind === 314 /* SyntaxKind.JSDocNullableType */ + || kind === 315 /* SyntaxKind.JSDocNonNullableType */ + || kind === 316 /* SyntaxKind.JSDocOptionalType */ + || kind === 317 /* SyntaxKind.JSDocFunctionType */ + || kind === 318 /* SyntaxKind.JSDocVariadicType */; } ts.isTypeNodeKind = isTypeNodeKind; function isAccessExpression(node) { - return node.kind === 206 /* PropertyAccessExpression */ || node.kind === 207 /* ElementAccessExpression */; + return node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || node.kind === 207 /* SyntaxKind.ElementAccessExpression */; } ts.isAccessExpression = isAccessExpression; function getNameOfAccessExpression(node) { - if (node.kind === 206 /* PropertyAccessExpression */) { + if (node.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { return node.name; } - ts.Debug.assert(node.kind === 207 /* ElementAccessExpression */); + ts.Debug.assert(node.kind === 207 /* SyntaxKind.ElementAccessExpression */); return node.argumentExpression; } ts.getNameOfAccessExpression = getNameOfAccessExpression; function isBundleFileTextLike(section) { switch (section.kind) { - case "text" /* Text */: - case "internal" /* Internal */: + case "text" /* BundleFileSectionKind.Text */: + case "internal" /* BundleFileSectionKind.Internal */: return true; default: return false; @@ -19767,7 +19800,7 @@ var ts; } ts.isBundleFileTextLike = isBundleFileTextLike; function isNamedImportsOrExports(node) { - return node.kind === 269 /* NamedImports */ || node.kind === 273 /* NamedExports */; + return node.kind === 269 /* SyntaxKind.NamedImports */ || node.kind === 273 /* SyntaxKind.NamedExports */; } ts.isNamedImportsOrExports = isNamedImportsOrExports; function getLeftmostAccessExpression(expr) { @@ -19777,31 +19810,66 @@ var ts; return expr; } ts.getLeftmostAccessExpression = getLeftmostAccessExpression; + function forEachNameInAccessChainWalkingLeft(name, action) { + if (isAccessExpression(name.parent) && isRightSideOfAccessExpression(name)) { + return walkAccessExpression(name.parent); + } + function walkAccessExpression(access) { + if (access.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + var res = action(access.name); + if (res !== undefined) { + return res; + } + } + else if (access.kind === 207 /* SyntaxKind.ElementAccessExpression */) { + if (ts.isIdentifier(access.argumentExpression) || ts.isStringLiteralLike(access.argumentExpression)) { + var res = action(access.argumentExpression); + if (res !== undefined) { + return res; + } + } + else { + // Chain interrupted by non-static-name access 'x[expr()].y.z' + return undefined; + } + } + if (isAccessExpression(access.expression)) { + return walkAccessExpression(access.expression); + } + if (ts.isIdentifier(access.expression)) { + // End of chain at Identifier 'x.y.z' + return action(access.expression); + } + // End of chain at non-Identifier 'x().y.z' + return undefined; + } + } + ts.forEachNameInAccessChainWalkingLeft = forEachNameInAccessChainWalkingLeft; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: node = node.operand; continue; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: node = node.left; continue; - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: node = node.condition; continue; - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: node = node.tag; continue; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: if (stopAtCallExpressions) { return node; } // falls through - case 229 /* AsExpression */: - case 207 /* ElementAccessExpression */: - case 206 /* PropertyAccessExpression */: - case 230 /* NonNullExpression */: - case 350 /* PartiallyEmittedExpression */: + case 229 /* SyntaxKind.AsExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 230 /* SyntaxKind.NonNullExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: node = node.expression; continue; } @@ -19835,9 +19903,9 @@ var ts; this.end = end; this.kind = kind; this.id = 0; - this.flags = 0 /* None */; - this.modifierFlagsCache = 0 /* None */; - this.transformFlags = 0 /* None */; + this.flags = 0 /* NodeFlags.None */; + this.modifierFlagsCache = 0 /* ModifierFlags.None */; + this.transformFlags = 0 /* TransformFlags.None */; this.parent = undefined; this.original = undefined; } @@ -19846,8 +19914,8 @@ var ts; this.end = end; this.kind = kind; this.id = 0; - this.flags = 0 /* None */; - this.transformFlags = 0 /* None */; + this.flags = 0 /* NodeFlags.None */; + this.transformFlags = 0 /* TransformFlags.None */; this.parent = undefined; } function Identifier(kind, pos, end) { @@ -19855,8 +19923,8 @@ var ts; this.end = end; this.kind = kind; this.id = 0; - this.flags = 0 /* None */; - this.transformFlags = 0 /* None */; + this.flags = 0 /* NodeFlags.None */; + this.transformFlags = 0 /* TransformFlags.None */; this.parent = undefined; this.original = undefined; this.flowNode = undefined; @@ -20051,7 +20119,7 @@ var ts; function compareDiagnostics(d1, d2) { return compareDiagnosticsSkipRelatedInformation(d1, d2) || compareRelatedInformation(d1, d2) || - 0 /* EqualTo */; + 0 /* Comparison.EqualTo */; } ts.compareDiagnostics = compareDiagnostics; function compareDiagnosticsSkipRelatedInformation(d1, d2) { @@ -20060,43 +20128,43 @@ var ts; ts.compareValues(d1.length, d2.length) || ts.compareValues(d1.code, d2.code) || compareMessageText(d1.messageText, d2.messageText) || - 0 /* EqualTo */; + 0 /* Comparison.EqualTo */; } ts.compareDiagnosticsSkipRelatedInformation = compareDiagnosticsSkipRelatedInformation; function compareRelatedInformation(d1, d2) { if (!d1.relatedInformation && !d2.relatedInformation) { - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; } if (d1.relatedInformation && d2.relatedInformation) { return ts.compareValues(d1.relatedInformation.length, d2.relatedInformation.length) || ts.forEach(d1.relatedInformation, function (d1i, index) { var d2i = d2.relatedInformation[index]; return compareDiagnostics(d1i, d2i); // EqualTo is 0, so falsy, and will cause the next item to be compared - }) || 0 /* EqualTo */; + }) || 0 /* Comparison.EqualTo */; } - return d1.relatedInformation ? -1 /* LessThan */ : 1 /* GreaterThan */; + return d1.relatedInformation ? -1 /* Comparison.LessThan */ : 1 /* Comparison.GreaterThan */; } function compareMessageText(t1, t2) { if (typeof t1 === "string" && typeof t2 === "string") { return ts.compareStringsCaseSensitive(t1, t2); } else if (typeof t1 === "string") { - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; } else if (typeof t2 === "string") { - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } var res = ts.compareStringsCaseSensitive(t1.messageText, t2.messageText); if (res) { return res; } if (!t1.next && !t2.next) { - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; } if (!t1.next) { - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; } if (!t2.next) { - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } var len = Math.min(t1.next.length, t2.next.length); for (var i = 0; i < len; i++) { @@ -20106,16 +20174,16 @@ var ts; } } if (t1.next.length < t2.next.length) { - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; } else if (t1.next.length > t2.next.length) { - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; } function getLanguageVariant(scriptKind) { // .tsx and .jsx files are treated as jsx language variant. - return scriptKind === 4 /* TSX */ || scriptKind === 2 /* JSX */ || scriptKind === 1 /* JS */ || scriptKind === 6 /* JSON */ ? 1 /* JSX */ : 0 /* Standard */; + return scriptKind === 4 /* ScriptKind.TSX */ || scriptKind === 2 /* ScriptKind.JSX */ || scriptKind === 1 /* ScriptKind.JS */ || scriptKind === 6 /* ScriptKind.JSON */ ? 1 /* LanguageVariant.JSX */ : 0 /* LanguageVariant.Standard */; } ts.getLanguageVariant = getLanguageVariant; /** @@ -20124,7 +20192,7 @@ var ts; * Unfortunately, there's no `NodeFlag` space to do the same for JSX. */ function walkTreeForJSXTags(node) { - if (!(node.transformFlags & 2 /* ContainsJsx */)) + if (!(node.transformFlags & 2 /* TransformFlags.ContainsJsx */)) return undefined; return ts.isJsxOpeningLikeElement(node) || ts.isJsxFragment(node) ? node : ts.forEachChild(node, walkTreeForJSXTags); } @@ -20156,15 +20224,15 @@ var ts; file.externalModuleIndicator = ts.isFileProbablyExternalModule(file); }; case ts.ModuleDetectionKind.Auto: - // If module is nodenext or node12, all esm format files are modules + // If module is nodenext or node16, all esm format files are modules // If jsx is react-jsx or react-jsxdev then jsx tags force module-ness // otherwise, the presence of import or export statments (or import.meta) implies module-ness var checks = [ts.isFileProbablyExternalModule]; - if (options.jsx === 4 /* ReactJSX */ || options.jsx === 5 /* ReactJSXDev */) { + if (options.jsx === 4 /* JsxEmit.ReactJSX */ || options.jsx === 5 /* JsxEmit.ReactJSXDev */) { checks.push(isFileModuleFromUsingJSXTag); } var moduleKind = getEmitModuleKind(options); - if (moduleKind === ts.ModuleKind.Node12 || moduleKind === ts.ModuleKind.NodeNext) { + if (moduleKind === ts.ModuleKind.Node16 || moduleKind === ts.ModuleKind.NodeNext) { checks.push(isFileForcedToBeModuleByFormat); } var combined_1 = ts.or.apply(void 0, checks); @@ -20175,15 +20243,15 @@ var ts; ts.getSetExternalModuleIndicator = getSetExternalModuleIndicator; function getEmitScriptTarget(compilerOptions) { return compilerOptions.target || - (compilerOptions.module === ts.ModuleKind.Node12 && 7 /* ES2020 */) || - (compilerOptions.module === ts.ModuleKind.NodeNext && 99 /* ESNext */) || - 0 /* ES3 */; + (compilerOptions.module === ts.ModuleKind.Node16 && 9 /* ScriptTarget.ES2022 */) || + (compilerOptions.module === ts.ModuleKind.NodeNext && 99 /* ScriptTarget.ESNext */) || + 0 /* ScriptTarget.ES3 */; } ts.getEmitScriptTarget = getEmitScriptTarget; function getEmitModuleKind(compilerOptions) { return typeof compilerOptions.module === "number" ? compilerOptions.module : - getEmitScriptTarget(compilerOptions) >= 2 /* ES2015 */ ? ts.ModuleKind.ES2015 : ts.ModuleKind.CommonJS; + getEmitScriptTarget(compilerOptions) >= 2 /* ScriptTarget.ES2015 */ ? ts.ModuleKind.ES2015 : ts.ModuleKind.CommonJS; } ts.getEmitModuleKind = getEmitModuleKind; function getEmitModuleResolutionKind(compilerOptions) { @@ -20193,8 +20261,8 @@ var ts; case ts.ModuleKind.CommonJS: moduleResolution = ts.ModuleResolutionKind.NodeJs; break; - case ts.ModuleKind.Node12: - moduleResolution = ts.ModuleResolutionKind.Node12; + case ts.ModuleKind.Node16: + moduleResolution = ts.ModuleResolutionKind.Node16; break; case ts.ModuleKind.NodeNext: moduleResolution = ts.ModuleResolutionKind.NodeNext; @@ -20219,7 +20287,7 @@ var ts; case ts.ModuleKind.ES2020: case ts.ModuleKind.ES2022: case ts.ModuleKind.ESNext: - case ts.ModuleKind.Node12: + case ts.ModuleKind.Node16: case ts.ModuleKind.NodeNext: return true; default: @@ -20244,7 +20312,7 @@ var ts; return compilerOptions.esModuleInterop; } switch (getEmitModuleKind(compilerOptions)) { - case ts.ModuleKind.Node12: + case ts.ModuleKind.Node16: case ts.ModuleKind.NodeNext: return true; } @@ -20280,7 +20348,7 @@ var ts; } ts.getAllowJSCompilerOption = getAllowJSCompilerOption; function getUseDefineForClassFields(compilerOptions) { - return compilerOptions.useDefineForClassFields === undefined ? getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */ : compilerOptions.useDefineForClassFields; + return compilerOptions.useDefineForClassFields === undefined ? getEmitScriptTarget(compilerOptions) >= 9 /* ScriptTarget.ES2022 */ : compilerOptions.useDefineForClassFields; } ts.getUseDefineForClassFields = getUseDefineForClassFields; function compilerOptionsAffectSemanticDiagnostics(newOptions, oldOptions) { @@ -20297,14 +20365,14 @@ var ts; ts.getCompilerOptionValue = getCompilerOptionValue; function getJSXTransformEnabled(options) { var jsx = options.jsx; - return jsx === 2 /* React */ || jsx === 4 /* ReactJSX */ || jsx === 5 /* ReactJSXDev */; + return jsx === 2 /* JsxEmit.React */ || jsx === 4 /* JsxEmit.ReactJSX */ || jsx === 5 /* JsxEmit.ReactJSXDev */; } ts.getJSXTransformEnabled = getJSXTransformEnabled; function getJSXImplicitImportBase(compilerOptions, file) { var jsxImportSourcePragmas = file === null || file === void 0 ? void 0 : file.pragmas.get("jsximportsource"); var jsxImportSourcePragma = ts.isArray(jsxImportSourcePragmas) ? jsxImportSourcePragmas[jsxImportSourcePragmas.length - 1] : jsxImportSourcePragmas; - return compilerOptions.jsx === 4 /* ReactJSX */ || - compilerOptions.jsx === 5 /* ReactJSXDev */ || + return compilerOptions.jsx === 4 /* JsxEmit.ReactJSX */ || + compilerOptions.jsx === 5 /* JsxEmit.ReactJSXDev */ || compilerOptions.jsxImportSource || jsxImportSourcePragma ? (jsxImportSourcePragma === null || jsxImportSourcePragma === void 0 ? void 0 : jsxImportSourcePragma.arguments.factory) || compilerOptions.jsxImportSource || "react" : @@ -20312,13 +20380,13 @@ var ts; } ts.getJSXImplicitImportBase = getJSXImplicitImportBase; function getJSXRuntimeImport(base, options) { - return base ? base + "/" + (options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined; + return base ? "".concat(base, "/").concat(options.jsx === 5 /* JsxEmit.ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined; } ts.getJSXRuntimeImport = getJSXRuntimeImport; function hasZeroOrOneAsteriskCharacter(str) { var seenAsterisk = false; for (var i = 0; i < str.length; i++) { - if (str.charCodeAt(i) === 42 /* asterisk */) { + if (str.charCodeAt(i) === 42 /* CharacterCodes.asterisk */) { if (!seenAsterisk) { seenAsterisk = true; } @@ -20417,9 +20485,9 @@ var ts; function escapeRegExpCharacter(match) { return "\\" + match; } - var wildcardCharCodes = [42 /* asterisk */, 63 /* question */]; + var wildcardCharCodes = [42 /* CharacterCodes.asterisk */, 63 /* CharacterCodes.question */]; ts.commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"]; - var implicitExcludePathRegexPattern = "(?!(" + ts.commonPackageFolders.join("|") + ")(/|$))"; + var implicitExcludePathRegexPattern = "(?!(".concat(ts.commonPackageFolders.join("|"), ")(/|$))"); var filesMatcher = { /** * Matches any single directory segment unless it is the last segment and a .min.js file @@ -20432,7 +20500,7 @@ var ts; * Regex for the ** wildcard. Matches any number of subdirectories. When used for including * files or directories, does not match subdirectories that start with a . character */ - doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?", + doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"), replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, filesMatcher.singleAsteriskRegexFragment); } }; var directoriesMatcher = { @@ -20441,7 +20509,7 @@ var ts; * Regex for the ** wildcard. Matches any number of subdirectories. When used for including * files or directories, does not match subdirectories that start with a . character */ - doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?", + doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"), replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, directoriesMatcher.singleAsteriskRegexFragment); } }; var excludeMatcher = { @@ -20459,10 +20527,10 @@ var ts; if (!patterns || !patterns.length) { return undefined; } - var pattern = patterns.map(function (pattern) { return "(" + pattern + ")"; }).join("|"); + var pattern = patterns.map(function (pattern) { return "(".concat(pattern, ")"); }).join("|"); // If excluding, match "foo/bar/baz...", but if including, only allow "foo". var terminator = usage === "exclude" ? "($|/)" : "$"; - return "^(" + pattern + ")" + terminator; + return "^(".concat(pattern, ")").concat(terminator); } ts.getRegularExpressionForWildcard = getRegularExpressionForWildcard; function getRegularExpressionsForWildcards(specs, basePath, usage) { @@ -20484,7 +20552,7 @@ var ts; ts.isImplicitGlob = isImplicitGlob; function getPatternFromSpec(spec, basePath, usage) { var pattern = spec && getSubPatternFromSpec(spec, basePath, usage, wildcardMatchers[usage]); - return pattern && "^(" + pattern + ")" + (usage === "exclude" ? "($|/)" : "$"); + return pattern && "^(".concat(pattern, ")").concat(usage === "exclude" ? "($|/)" : "$"); } ts.getPatternFromSpec = getPatternFromSpec; function getSubPatternFromSpec(spec, basePath, usage, _a) { @@ -20521,11 +20589,11 @@ var ts; // The * and ? wildcards should not match directories or files that start with . if they // appear first in a component. Dotted directories and files can be included explicitly // like so: **/.*/.* - if (component.charCodeAt(0) === 42 /* asterisk */) { + if (component.charCodeAt(0) === 42 /* CharacterCodes.asterisk */) { componentPattern += "([^./]" + singleAsteriskRegexFragment + ")?"; component = component.substr(1); } - else if (component.charCodeAt(0) === 63 /* question */) { + else if (component.charCodeAt(0) === 63 /* CharacterCodes.question */) { componentPattern += "[^./]"; component = component.substr(1); } @@ -20562,7 +20630,7 @@ var ts; currentDirectory = ts.normalizePath(currentDirectory); var absolutePath = ts.combinePaths(currentDirectory, path); return { - includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^" + pattern + "$"; }), + includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }), includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"), includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"), excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"), @@ -20687,43 +20755,44 @@ var ts; // If the 'scriptKind' is 'undefined' or 'Unknown' then we attempt // to get the ScriptKind from the file name. If it cannot be resolved // from the file name then the default 'TS' script kind is returned. - return scriptKind || getScriptKindFromFileName(fileName) || 3 /* TS */; + return scriptKind || getScriptKindFromFileName(fileName) || 3 /* ScriptKind.TS */; } ts.ensureScriptKind = ensureScriptKind; function getScriptKindFromFileName(fileName) { var ext = fileName.substr(fileName.lastIndexOf(".")); switch (ext.toLowerCase()) { - case ".js" /* Js */: - case ".cjs" /* Cjs */: - case ".mjs" /* Mjs */: - return 1 /* JS */; - case ".jsx" /* Jsx */: - return 2 /* JSX */; - case ".ts" /* Ts */: - case ".cts" /* Cts */: - case ".mts" /* Mts */: - return 3 /* TS */; - case ".tsx" /* Tsx */: - return 4 /* TSX */; - case ".json" /* Json */: - return 6 /* JSON */; + case ".js" /* Extension.Js */: + case ".cjs" /* Extension.Cjs */: + case ".mjs" /* Extension.Mjs */: + return 1 /* ScriptKind.JS */; + case ".jsx" /* Extension.Jsx */: + return 2 /* ScriptKind.JSX */; + case ".ts" /* Extension.Ts */: + case ".cts" /* Extension.Cts */: + case ".mts" /* Extension.Mts */: + return 3 /* ScriptKind.TS */; + case ".tsx" /* Extension.Tsx */: + return 4 /* ScriptKind.TSX */; + case ".json" /* Extension.Json */: + return 6 /* ScriptKind.JSON */; default: - return 0 /* Unknown */; + return 0 /* ScriptKind.Unknown */; } } ts.getScriptKindFromFileName = getScriptKindFromFileName; /** * Groups of supported extensions in order of file resolution precedence. (eg, TS > TSX > DTS and seperately, CTS > DCTS) */ - ts.supportedTSExtensions = [[".ts" /* Ts */, ".tsx" /* Tsx */, ".d.ts" /* Dts */], [".cts" /* Cts */, ".d.cts" /* Dcts */], [".mts" /* Mts */, ".d.mts" /* Dmts */]]; + ts.supportedTSExtensions = [[".ts" /* Extension.Ts */, ".tsx" /* Extension.Tsx */, ".d.ts" /* Extension.Dts */], [".cts" /* Extension.Cts */, ".d.cts" /* Extension.Dcts */], [".mts" /* Extension.Mts */, ".d.mts" /* Extension.Dmts */]]; ts.supportedTSExtensionsFlat = ts.flatten(ts.supportedTSExtensions); - var supportedTSExtensionsWithJson = __spreadArray(__spreadArray([], ts.supportedTSExtensions, true), [[".json" /* Json */]], false); + var supportedTSExtensionsWithJson = __spreadArray(__spreadArray([], ts.supportedTSExtensions, true), [[".json" /* Extension.Json */]], false); /** Must have ".d.ts" first because if ".ts" goes first, that will be detected as the extension instead of ".d.ts". */ - var supportedTSExtensionsForExtractExtension = [".d.ts" /* Dts */, ".d.cts" /* Dcts */, ".d.mts" /* Dmts */, ".cts" /* Cts */, ".mts" /* Mts */, ".ts" /* Ts */, ".tsx" /* Tsx */, ".cts" /* Cts */, ".mts" /* Mts */]; - ts.supportedJSExtensions = [[".js" /* Js */, ".jsx" /* Jsx */], [".mjs" /* Mjs */], [".cjs" /* Cjs */]]; + var supportedTSExtensionsForExtractExtension = [".d.ts" /* Extension.Dts */, ".d.cts" /* Extension.Dcts */, ".d.mts" /* Extension.Dmts */, ".cts" /* Extension.Cts */, ".mts" /* Extension.Mts */, ".ts" /* Extension.Ts */, ".tsx" /* Extension.Tsx */, ".cts" /* Extension.Cts */, ".mts" /* Extension.Mts */]; + ts.supportedJSExtensions = [[".js" /* Extension.Js */, ".jsx" /* Extension.Jsx */], [".mjs" /* Extension.Mjs */], [".cjs" /* Extension.Cjs */]]; ts.supportedJSExtensionsFlat = ts.flatten(ts.supportedJSExtensions); - var allSupportedExtensions = [[".ts" /* Ts */, ".tsx" /* Tsx */, ".d.ts" /* Dts */, ".js" /* Js */, ".jsx" /* Jsx */], [".cts" /* Cts */, ".d.cts" /* Dcts */, ".cjs" /* Cjs */], [".mts" /* Mts */, ".d.mts" /* Dmts */, ".mjs" /* Mjs */]]; - var allSupportedExtensionsWithJson = __spreadArray(__spreadArray([], allSupportedExtensions, true), [[".json" /* Json */]], false); + var allSupportedExtensions = [[".ts" /* Extension.Ts */, ".tsx" /* Extension.Tsx */, ".d.ts" /* Extension.Dts */, ".js" /* Extension.Js */, ".jsx" /* Extension.Jsx */], [".cts" /* Extension.Cts */, ".d.cts" /* Extension.Dcts */, ".cjs" /* Extension.Cjs */], [".mts" /* Extension.Mts */, ".d.mts" /* Extension.Dmts */, ".mjs" /* Extension.Mjs */]]; + var allSupportedExtensionsWithJson = __spreadArray(__spreadArray([], allSupportedExtensions, true), [[".json" /* Extension.Json */]], false); + ts.supportedDeclarationExtensions = [".d.ts" /* Extension.Dts */, ".d.cts" /* Extension.Dcts */, ".d.mts" /* Extension.Dmts */]; function getSupportedExtensions(options, extraFileExtensions) { var needJsExtensions = options && getAllowJSCompilerOption(options); if (!extraFileExtensions || extraFileExtensions.length === 0) { @@ -20731,7 +20800,7 @@ var ts; } var builtins = needJsExtensions ? allSupportedExtensions : ts.supportedTSExtensions; var flatBuiltins = ts.flatten(builtins); - var extensions = __spreadArray(__spreadArray([], builtins, true), ts.mapDefined(extraFileExtensions, function (x) { return x.scriptKind === 7 /* Deferred */ || needJsExtensions && isJSLike(x.scriptKind) && flatBuiltins.indexOf(x.extension) === -1 ? [x.extension] : undefined; }), true); + var extensions = __spreadArray(__spreadArray([], builtins, true), ts.mapDefined(extraFileExtensions, function (x) { return x.scriptKind === 7 /* ScriptKind.Deferred */ || needJsExtensions && isJSLike(x.scriptKind) && flatBuiltins.indexOf(x.extension) === -1 ? [x.extension] : undefined; }), true); return extensions; } ts.getSupportedExtensions = getSupportedExtensions; @@ -20742,11 +20811,11 @@ var ts; return allSupportedExtensionsWithJson; if (supportedExtensions === ts.supportedTSExtensions) return supportedTSExtensionsWithJson; - return __spreadArray(__spreadArray([], supportedExtensions, true), [[".json" /* Json */]], false); + return __spreadArray(__spreadArray([], supportedExtensions, true), [[".json" /* Extension.Json */]], false); } ts.getSupportedExtensionsWithJsonIfResolveJsonModule = getSupportedExtensionsWithJsonIfResolveJsonModule; function isJSLike(scriptKind) { - return scriptKind === 1 /* JS */ || scriptKind === 2 /* JSX */; + return scriptKind === 1 /* ScriptKind.JS */ || scriptKind === 2 /* ScriptKind.JSX */; } function hasJSFileExtension(fileName) { return ts.some(ts.supportedJSExtensionsFlat, function (extension) { return ts.fileExtensionIs(fileName, extension); }); @@ -20777,7 +20846,7 @@ var ts; return ts.compareValues(numberOfDirectorySeparators(path1), numberOfDirectorySeparators(path2)); } ts.compareNumberOfDirectorySeparators = compareNumberOfDirectorySeparators; - var extensionsToRemove = [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".mts" /* Mts */, ".cjs" /* Cjs */, ".cts" /* Cts */, ".ts" /* Ts */, ".js" /* Js */, ".tsx" /* Tsx */, ".jsx" /* Jsx */, ".json" /* Json */]; + var extensionsToRemove = [".d.ts" /* Extension.Dts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".mts" /* Extension.Mts */, ".cjs" /* Extension.Cjs */, ".cts" /* Extension.Cts */, ".ts" /* Extension.Ts */, ".js" /* Extension.Js */, ".tsx" /* Extension.Tsx */, ".jsx" /* Extension.Jsx */, ".json" /* Extension.Json */]; function removeFileExtension(path) { for (var _i = 0, extensionsToRemove_1 = extensionsToRemove; _i < extensionsToRemove_1.length; _i++) { var ext = extensionsToRemove_1[_i]; @@ -20830,11 +20899,11 @@ var ts; ts.positionIsSynthesized = positionIsSynthesized; /** True if an extension is one of the supported TypeScript extensions. */ function extensionIsTS(ext) { - return ext === ".ts" /* Ts */ || ext === ".tsx" /* Tsx */ || ext === ".d.ts" /* Dts */ || ext === ".cts" /* Cts */ || ext === ".mts" /* Mts */ || ext === ".d.mts" /* Dmts */ || ext === ".d.cts" /* Dcts */; + return ext === ".ts" /* Extension.Ts */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".d.ts" /* Extension.Dts */ || ext === ".cts" /* Extension.Cts */ || ext === ".mts" /* Extension.Mts */ || ext === ".d.mts" /* Extension.Dmts */ || ext === ".d.cts" /* Extension.Dcts */; } ts.extensionIsTS = extensionIsTS; function resolutionExtensionIsTSOrJson(ext) { - return extensionIsTS(ext) || ext === ".json" /* Json */; + return extensionIsTS(ext) || ext === ".json" /* Extension.Json */; } ts.resolutionExtensionIsTSOrJson = resolutionExtensionIsTSOrJson; /** @@ -20843,7 +20912,7 @@ var ts; */ function extensionFromPath(path) { var ext = tryGetExtensionFromPath(path); - return ext !== undefined ? ext : ts.Debug.fail("File " + path + " has unknown extension."); + return ext !== undefined ? ext : ts.Debug.fail("File ".concat(path, " has unknown extension.")); } ts.extensionFromPath = extensionFromPath; function isAnySupportedFileExtension(path) { @@ -20952,23 +21021,23 @@ var ts; function parsePseudoBigInt(stringValue) { var log2Base; switch (stringValue.charCodeAt(1)) { // "x" in "0x123" - case 98 /* b */: - case 66 /* B */: // 0b or 0B + case 98 /* CharacterCodes.b */: + case 66 /* CharacterCodes.B */: // 0b or 0B log2Base = 1; break; - case 111 /* o */: - case 79 /* O */: // 0o or 0O + case 111 /* CharacterCodes.o */: + case 79 /* CharacterCodes.O */: // 0o or 0O log2Base = 3; break; - case 120 /* x */: - case 88 /* X */: // 0x or 0X + case 120 /* CharacterCodes.x */: + case 88 /* CharacterCodes.X */: // 0x or 0X log2Base = 4; break; default: // already in decimal; omit trailing "n" var nIndex = stringValue.length - 1; // Skip leading 0s var nonZeroStart = 0; - while (stringValue.charCodeAt(nonZeroStart) === 48 /* _0 */) { + while (stringValue.charCodeAt(nonZeroStart) === 48 /* CharacterCodes._0 */) { nonZeroStart++; } return stringValue.slice(nonZeroStart, nIndex) || "0"; @@ -20984,10 +21053,10 @@ var ts; var segment = bitOffset >>> 4; var digitChar = stringValue.charCodeAt(i); // Find character range: 0-9 < A-F < a-f - var digit = digitChar <= 57 /* _9 */ - ? digitChar - 48 /* _0 */ + var digit = digitChar <= 57 /* CharacterCodes._9 */ + ? digitChar - 48 /* CharacterCodes._0 */ : 10 + digitChar - - (digitChar <= 70 /* F */ ? 65 /* A */ : 97 /* a */); + (digitChar <= 70 /* CharacterCodes.F */ ? 65 /* CharacterCodes.A */ : 97 /* CharacterCodes.a */); var shiftedDigit = digit << (bitOffset & 15); segments[segment] |= shiftedDigit; var residual = shiftedDigit >>> 16; @@ -21022,7 +21091,7 @@ var ts; } ts.pseudoBigIntToString = pseudoBigIntToString; function isValidTypeOnlyAliasUseSite(useSite) { - return !!(useSite.flags & 16777216 /* Ambient */) + return !!(useSite.flags & 16777216 /* NodeFlags.Ambient */) || isPartOfTypeQuery(useSite) || isIdentifierInNonEmittingHeritageClause(useSite) || isPartOfPossiblyValidTypeOrAbstractComputedPropertyName(useSite) @@ -21033,34 +21102,34 @@ var ts; return ts.isIdentifier(useSite) && ts.isShorthandPropertyAssignment(useSite.parent) && useSite.parent.name === useSite; } function isPartOfPossiblyValidTypeOrAbstractComputedPropertyName(node) { - while (node.kind === 79 /* Identifier */ || node.kind === 206 /* PropertyAccessExpression */) { + while (node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { node = node.parent; } - if (node.kind !== 162 /* ComputedPropertyName */) { + if (node.kind !== 162 /* SyntaxKind.ComputedPropertyName */) { return false; } - if (hasSyntacticModifier(node.parent, 128 /* Abstract */)) { + if (hasSyntacticModifier(node.parent, 128 /* ModifierFlags.Abstract */)) { return true; } var containerKind = node.parent.parent.kind; - return containerKind === 258 /* InterfaceDeclaration */ || containerKind === 182 /* TypeLiteral */; + return containerKind === 258 /* SyntaxKind.InterfaceDeclaration */ || containerKind === 182 /* SyntaxKind.TypeLiteral */; } /** Returns true for an identifier in 1) an `implements` clause, and 2) an `extends` clause of an interface. */ function isIdentifierInNonEmittingHeritageClause(node) { - if (node.kind !== 79 /* Identifier */) + if (node.kind !== 79 /* SyntaxKind.Identifier */) return false; var heritageClause = ts.findAncestor(node.parent, function (parent) { switch (parent.kind) { - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: return true; - case 206 /* PropertyAccessExpression */: - case 228 /* ExpressionWithTypeArguments */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return false; default: return "quit"; } }); - return (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.token) === 117 /* ImplementsKeyword */ || (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.parent.kind) === 258 /* InterfaceDeclaration */; + return (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.token) === 117 /* SyntaxKind.ImplementsKeyword */ || (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.parent.kind) === 258 /* SyntaxKind.InterfaceDeclaration */; } function isIdentifierTypeReference(node) { return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName); @@ -21201,7 +21270,7 @@ var ts; node = parent; continue; } - if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 27 /* CommaToken */) { + if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { // left side of comma is always unused if (node === parent.left) return true; @@ -21221,18 +21290,18 @@ var ts; if (!node.parent) return undefined; switch (node.kind) { - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: var parent_1 = node.parent; - return parent_1.kind === 190 /* InferType */ ? undefined : parent_1.typeParameters; - case 164 /* Parameter */: + return parent_1.kind === 190 /* SyntaxKind.InferType */ ? undefined : parent_1.typeParameters; + case 164 /* SyntaxKind.Parameter */: return node.parent.parameters; - case 199 /* TemplateLiteralTypeSpan */: + case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: return node.parent.templateSpans; - case 233 /* TemplateSpan */: + case 233 /* SyntaxKind.TemplateSpan */: return node.parent.templateSpans; - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: return node.parent.decorators; - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: return node.parent.heritageClauses; } var parent = node.parent; @@ -21240,45 +21309,45 @@ var ts; return ts.isJSDocTypeLiteral(node.parent) ? undefined : node.parent.tags; } switch (parent.kind) { - case 182 /* TypeLiteral */: - case 258 /* InterfaceDeclaration */: + case 182 /* SyntaxKind.TypeLiteral */: + case 258 /* SyntaxKind.InterfaceDeclaration */: return ts.isTypeElement(node) ? parent.members : undefined; - case 187 /* UnionType */: - case 188 /* IntersectionType */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: return parent.types; - case 184 /* TupleType */: - case 204 /* ArrayLiteralExpression */: - case 351 /* CommaListExpression */: - case 269 /* NamedImports */: - case 273 /* NamedExports */: + case 184 /* SyntaxKind.TupleType */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 351 /* SyntaxKind.CommaListExpression */: + case 269 /* SyntaxKind.NamedImports */: + case 273 /* SyntaxKind.NamedExports */: return parent.elements; - case 205 /* ObjectLiteralExpression */: - case 286 /* JsxAttributes */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 286 /* SyntaxKind.JsxAttributes */: return parent.properties; - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: return ts.isTypeNode(node) ? parent.typeArguments : parent.expression === node ? undefined : parent.arguments; - case 278 /* JsxElement */: - case 282 /* JsxFragment */: + case 278 /* SyntaxKind.JsxElement */: + case 282 /* SyntaxKind.JsxFragment */: return ts.isJsxChild(node) ? parent.children : undefined; - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return ts.isTypeNode(node) ? parent.typeArguments : undefined; - case 235 /* Block */: - case 289 /* CaseClause */: - case 290 /* DefaultClause */: - case 262 /* ModuleBlock */: + case 235 /* SyntaxKind.Block */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: + case 262 /* SyntaxKind.ModuleBlock */: return parent.statements; - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: return parent.clauses; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: return ts.isClassElement(node) ? parent.members : undefined; - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return ts.isEnumMember(node) ? parent.members : undefined; - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: return parent.statements; } } @@ -21290,7 +21359,7 @@ var ts; if (ts.some(node.parameters, function (p) { return !getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 214 /* ArrowFunction */) { + if (node.kind !== 214 /* SyntaxKind.ArrowFunction */) { // If the first parameter is not an explicit 'this' parameter, then the function has // an implicit 'this' parameter which is subject to contextual typing. var parameter = ts.firstOrUndefined(node.parameters); @@ -21308,7 +21377,7 @@ var ts; } ts.isInfinityOrNaNString = isInfinityOrNaNString; function isCatchClauseVariableDeclaration(node) { - return node.kind === 254 /* VariableDeclaration */ && node.parent.kind === 292 /* CatchClause */; + return node.kind === 254 /* SyntaxKind.VariableDeclaration */ && node.parent.kind === 292 /* SyntaxKind.CatchClause */; } ts.isCatchClauseVariableDeclaration = isCatchClauseVariableDeclaration; function isParameterOrCatchClauseVariable(symbol) { @@ -21317,7 +21386,7 @@ var ts; } ts.isParameterOrCatchClauseVariable = isParameterOrCatchClauseVariable; function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 213 /* FunctionExpression */ || node.kind === 214 /* ArrowFunction */; + return node.kind === 213 /* SyntaxKind.FunctionExpression */ || node.kind === 214 /* SyntaxKind.ArrowFunction */; } ts.isFunctionExpressionOrArrowFunction = isFunctionExpressionOrArrowFunction; function escapeSnippetText(text) { @@ -21356,7 +21425,7 @@ var ts; } ts.createPropertyNameNodeForIdentifierOrLiteral = createPropertyNameNodeForIdentifierOrLiteral; function isThisTypeParameter(type) { - return !!(type.flags & 262144 /* TypeParameter */ && type.isThisType); + return !!(type.flags & 262144 /* TypeFlags.TypeParameter */ && type.isThisType); } ts.isThisTypeParameter = isThisTypeParameter; function getNodeModulePathParts(fullPath) { @@ -21376,42 +21445,47 @@ var ts; })(States || (States = {})); var partStart = 0; var partEnd = 0; - var state = 0 /* BeforeNodeModules */; + var state = 0 /* States.BeforeNodeModules */; while (partEnd >= 0) { partStart = partEnd; partEnd = fullPath.indexOf("/", partStart + 1); switch (state) { - case 0 /* BeforeNodeModules */: + case 0 /* States.BeforeNodeModules */: if (fullPath.indexOf(ts.nodeModulesPathPart, partStart) === partStart) { topLevelNodeModulesIndex = partStart; topLevelPackageNameIndex = partEnd; - state = 1 /* NodeModules */; + state = 1 /* States.NodeModules */; } break; - case 1 /* NodeModules */: - case 2 /* Scope */: - if (state === 1 /* NodeModules */ && fullPath.charAt(partStart + 1) === "@") { - state = 2 /* Scope */; + case 1 /* States.NodeModules */: + case 2 /* States.Scope */: + if (state === 1 /* States.NodeModules */ && fullPath.charAt(partStart + 1) === "@") { + state = 2 /* States.Scope */; } else { packageRootIndex = partEnd; - state = 3 /* PackageContent */; + state = 3 /* States.PackageContent */; } break; - case 3 /* PackageContent */: + case 3 /* States.PackageContent */: if (fullPath.indexOf(ts.nodeModulesPathPart, partStart) === partStart) { - state = 1 /* NodeModules */; + state = 1 /* States.NodeModules */; } else { - state = 3 /* PackageContent */; + state = 3 /* States.PackageContent */; } break; } } fileNameIndex = partStart; - return state > 1 /* NodeModules */ ? { topLevelNodeModulesIndex: topLevelNodeModulesIndex, topLevelPackageNameIndex: topLevelPackageNameIndex, packageRootIndex: packageRootIndex, fileNameIndex: fileNameIndex } : undefined; + return state > 1 /* States.NodeModules */ ? { topLevelNodeModulesIndex: topLevelNodeModulesIndex, topLevelPackageNameIndex: topLevelPackageNameIndex, packageRootIndex: packageRootIndex, fileNameIndex: fileNameIndex } : undefined; } ts.getNodeModulePathParts = getNodeModulePathParts; + function getParameterTypeNode(parameter) { + var _a; + return parameter.kind === 340 /* SyntaxKind.JSDocParameterTag */ ? (_a = parameter.typeExpression) === null || _a === void 0 ? void 0 : _a.type : parameter.type; + } + ts.getParameterTypeNode = getParameterTypeNode; })(ts || (ts = {})); /* @internal */ var ts; @@ -21534,28 +21608,28 @@ var ts; // // If `a ** d` is on the left of operator `**`, we need to parenthesize to preserve // the intended order of operations: `(a ** b) ** c` - var binaryOperatorPrecedence = ts.getOperatorPrecedence(221 /* BinaryExpression */, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(221 /* BinaryExpression */, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(221 /* SyntaxKind.BinaryExpression */, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(221 /* SyntaxKind.BinaryExpression */, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); - if (!isLeftSideOfBinary && operand.kind === 214 /* ArrowFunction */ && binaryOperatorPrecedence > 3 /* Assignment */) { + if (!isLeftSideOfBinary && operand.kind === 214 /* SyntaxKind.ArrowFunction */ && binaryOperatorPrecedence > 3 /* OperatorPrecedence.Assignment */) { // We need to parenthesize arrow functions on the right side to avoid it being // parsed as parenthesized expression: `a && (() => {})` return true; } var operandPrecedence = ts.getExpressionPrecedence(emittedOperand); switch (ts.compareValues(operandPrecedence, binaryOperatorPrecedence)) { - case -1 /* LessThan */: + case -1 /* Comparison.LessThan */: // If the operand is the right side of a right-associative binary operation // and is a yield expression, then we do not need parentheses. if (!isLeftSideOfBinary - && binaryOperatorAssociativity === 1 /* Right */ - && operand.kind === 224 /* YieldExpression */) { + && binaryOperatorAssociativity === 1 /* Associativity.Right */ + && operand.kind === 224 /* SyntaxKind.YieldExpression */) { return false; } return true; - case 1 /* GreaterThan */: + case 1 /* Comparison.GreaterThan */: return false; - case 0 /* EqualTo */: + case 0 /* Comparison.EqualTo */: if (isLeftSideOfBinary) { // No need to parenthesize the left operand when the binary operator is // left associative: @@ -21566,7 +21640,7 @@ var ts; // right associative: // (a/b)**x -> (a/b)**x // (a**b)**x -> (a**b)**x - return binaryOperatorAssociativity === 1 /* Right */; + return binaryOperatorAssociativity === 1 /* Associativity.Right */; } else { if (ts.isBinaryExpression(emittedOperand) @@ -21586,8 +21660,8 @@ var ts; // the same kind (recursively). // "a"+(1+2) => "a"+(1+2) // "a"+("b"+"c") => "a"+"b"+"c" - if (binaryOperator === 39 /* PlusToken */) { - var leftKind = leftOperand ? getLiteralKindOfBinaryPlusOperand(leftOperand) : 0 /* Unknown */; + if (binaryOperator === 39 /* SyntaxKind.PlusToken */) { + var leftKind = leftOperand ? getLiteralKindOfBinaryPlusOperand(leftOperand) : 0 /* SyntaxKind.Unknown */; if (ts.isLiteralKind(leftKind) && leftKind === getLiteralKindOfBinaryPlusOperand(emittedOperand)) { return false; } @@ -21603,7 +21677,7 @@ var ts; // x/(a*b) -> x/(a*b) // x**(a/b) -> x**(a/b) var operandAssociativity = ts.getExpressionAssociativity(emittedOperand); - return operandAssociativity === 0 /* Left */; + return operandAssociativity === 0 /* Associativity.Left */; } } } @@ -21621,10 +21695,10 @@ var ts; // // While addition is associative in mathematics, JavaScript's `+` is not // guaranteed to be associative as it is overloaded with string concatenation. - return binaryOperator === 41 /* AsteriskToken */ - || binaryOperator === 51 /* BarToken */ - || binaryOperator === 50 /* AmpersandToken */ - || binaryOperator === 52 /* CaretToken */; + return binaryOperator === 41 /* SyntaxKind.AsteriskToken */ + || binaryOperator === 51 /* SyntaxKind.BarToken */ + || binaryOperator === 50 /* SyntaxKind.AmpersandToken */ + || binaryOperator === 52 /* SyntaxKind.CaretToken */; } /** * This function determines whether an expression consists of a homogeneous set of @@ -21637,7 +21711,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 39 /* PlusToken */) { + if (node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 39 /* SyntaxKind.PlusToken */) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -21645,11 +21719,11 @@ var ts; var literalKind = ts.isLiteralKind(leftKind) && leftKind === getLiteralKindOfBinaryPlusOperand(node.right) ? leftKind - : 0 /* Unknown */; + : 0 /* SyntaxKind.Unknown */; node.cachedLiteralKind = literalKind; return literalKind; } - return 0 /* Unknown */; + return 0 /* SyntaxKind.Unknown */; } /** * Wraps the operand to a BinaryExpression in parentheses if they are needed to preserve the intended @@ -21663,7 +21737,7 @@ var ts; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); // If the resulting expression is already parenthesized, we do not need to do any further processing. - if (skipped.kind === 212 /* ParenthesizedExpression */) { + if (skipped.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -21680,10 +21754,10 @@ var ts; return ts.isCommaSequence(expression) ? factory.createParenthesizedExpression(expression) : expression; } function parenthesizeConditionOfConditionalExpression(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(222 /* ConditionalExpression */, 57 /* QuestionToken */); + var conditionalPrecedence = ts.getOperatorPrecedence(222 /* SyntaxKind.ConditionalExpression */, 57 /* SyntaxKind.QuestionToken */); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); - if (ts.compareValues(conditionPrecedence, conditionalPrecedence) !== 1 /* GreaterThan */) { + if (ts.compareValues(conditionPrecedence, conditionalPrecedence) !== 1 /* Comparison.GreaterThan */) { return factory.createParenthesizedExpression(condition); } return condition; @@ -21713,8 +21787,8 @@ var ts; var needsParens = ts.isCommaSequence(check); if (!needsParens) { switch (ts.getLeftmostExpression(check, /*stopAtCallExpression*/ false).kind) { - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: needsParens = true; } } @@ -21727,9 +21801,9 @@ var ts; function parenthesizeExpressionOfNew(expression) { var leftmostExpr = ts.getLeftmostExpression(expression, /*stopAtCallExpressions*/ true); switch (leftmostExpr.kind) { - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return factory.createParenthesizedExpression(expression); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return !leftmostExpr.arguments ? factory.createParenthesizedExpression(expression) : expression; // TODO(rbuckton): Verify this assertion holds @@ -21749,7 +21823,7 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 209 /* NewExpression */ || emittedExpression.arguments)) { + && (emittedExpression.kind !== 209 /* SyntaxKind.NewExpression */ || emittedExpression.arguments)) { // TODO(rbuckton): Verify whether this assertion holds. return expression; } @@ -21771,7 +21845,7 @@ var ts; function parenthesizeExpressionForDisallowedComma(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(221 /* BinaryExpression */, 27 /* CommaToken */); + var commaPrecedence = ts.getOperatorPrecedence(221 /* SyntaxKind.BinaryExpression */, 27 /* SyntaxKind.CommaToken */); // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(factory.createParenthesizedExpression(expression), expression); } @@ -21780,21 +21854,21 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 213 /* FunctionExpression */ || kind === 214 /* ArrowFunction */) { + if (kind === 213 /* SyntaxKind.FunctionExpression */ || kind === 214 /* SyntaxKind.ArrowFunction */) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. var updated = factory.updateCallExpression(emittedExpression, ts.setTextRange(factory.createParenthesizedExpression(callee), callee), emittedExpression.typeArguments, emittedExpression.arguments); - return factory.restoreOuterExpressions(expression, updated, 8 /* PartiallyEmittedExpressions */); + return factory.restoreOuterExpressions(expression, updated, 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */); } } var leftmostExpressionKind = ts.getLeftmostExpression(emittedExpression, /*stopAtCallExpressions*/ false).kind; - if (leftmostExpressionKind === 205 /* ObjectLiteralExpression */ || leftmostExpressionKind === 213 /* FunctionExpression */) { + if (leftmostExpressionKind === 205 /* SyntaxKind.ObjectLiteralExpression */ || leftmostExpressionKind === 213 /* SyntaxKind.FunctionExpression */) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return ts.setTextRange(factory.createParenthesizedExpression(expression), expression); } return expression; } function parenthesizeConciseBodyOfArrowFunction(body) { - if (!ts.isBlock(body) && (ts.isCommaSequence(body) || ts.getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 205 /* ObjectLiteralExpression */)) { + if (!ts.isBlock(body) && (ts.isCommaSequence(body) || ts.getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 205 /* SyntaxKind.ObjectLiteralExpression */)) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return ts.setTextRange(factory.createParenthesizedExpression(body), body); } @@ -21812,16 +21886,16 @@ var ts; // - The true and false branch types (the second and third `Type` non-terminals, above) allow any type function parenthesizeCheckTypeOfConditionalType(checkType) { switch (checkType.kind) { - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 189 /* ConditionalType */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 189 /* SyntaxKind.ConditionalType */: return factory.createParenthesizedType(checkType); } return checkType; } function parenthesizeExtendsTypeOfConditionalType(extendsType) { switch (extendsType.kind) { - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return factory.createParenthesizedType(extendsType); } return extendsType; @@ -21833,8 +21907,8 @@ var ts; // - A union type constituent has the same precedence as the check type of a conditional type function parenthesizeConstituentTypeOfUnionType(type) { switch (type.kind) { - case 187 /* UnionType */: // Not strictly necessary, but a union containing a union should have been flattened - case 188 /* IntersectionType */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests + case 187 /* SyntaxKind.UnionType */: // Not strictly necessary, but a union containing a union should have been flattened + case 188 /* SyntaxKind.IntersectionType */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests return factory.createParenthesizedType(type); } return parenthesizeCheckTypeOfConditionalType(type); @@ -21849,8 +21923,8 @@ var ts; // - An intersection type constituent does not allow function, constructor, conditional, or union types (they must be parenthesized) function parenthesizeConstituentTypeOfIntersectionType(type) { switch (type.kind) { - case 187 /* UnionType */: - case 188 /* IntersectionType */: // Not strictly necessary, but an intersection containing an intersection should have been flattened + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: // Not strictly necessary, but an intersection containing an intersection should have been flattened return factory.createParenthesizedType(type); } return parenthesizeConstituentTypeOfUnionType(type); @@ -21867,14 +21941,14 @@ var ts; // function parenthesizeOperandOfTypeOperator(type) { switch (type.kind) { - case 188 /* IntersectionType */: + case 188 /* SyntaxKind.IntersectionType */: return factory.createParenthesizedType(type); } return parenthesizeConstituentTypeOfIntersectionType(type); } function parenthesizeOperandOfReadonlyTypeOperator(type) { switch (type.kind) { - case 193 /* TypeOperator */: + case 193 /* SyntaxKind.TypeOperator */: return factory.createParenthesizedType(type); } return parenthesizeOperandOfTypeOperator(type); @@ -21894,9 +21968,9 @@ var ts; // function parenthesizeNonArrayTypeOfPostfixType(type) { switch (type.kind) { - case 190 /* InferType */: - case 193 /* TypeOperator */: - case 181 /* TypeQuery */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests + case 190 /* SyntaxKind.InferType */: + case 193 /* SyntaxKind.TypeOperator */: + case 181 /* SyntaxKind.TypeQuery */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests return factory.createParenthesizedType(type); } return parenthesizeOperandOfTypeOperator(type); @@ -22090,11 +22164,11 @@ var ts; } function convertToAssignmentPattern(node) { switch (node.kind) { - case 202 /* ArrayBindingPattern */: - case 204 /* ArrayLiteralExpression */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return convertToArrayAssignmentPattern(node); - case 201 /* ObjectBindingPattern */: - case 205 /* ObjectLiteralExpression */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return convertToObjectAssignmentPattern(node); } } @@ -22152,10 +22226,10 @@ var ts; */ /* @internal */ function createNodeFactory(flags, baseFactory) { - var update = flags & 8 /* NoOriginalNode */ ? updateWithoutOriginal : updateWithOriginal; + var update = flags & 8 /* NodeFactoryFlags.NoOriginalNode */ ? updateWithoutOriginal : updateWithOriginal; // Lazily load the parenthesizer, node converters, and some factory methods until they are used. - var parenthesizerRules = ts.memoize(function () { return flags & 1 /* NoParenthesizerRules */ ? ts.nullParenthesizerRules : ts.createParenthesizerRules(factory); }); - var converters = ts.memoize(function () { return flags & 2 /* NoNodeConverters */ ? ts.nullNodeConverters : ts.createNodeConverters(factory); }); + var parenthesizerRules = ts.memoize(function () { return flags & 1 /* NodeFactoryFlags.NoParenthesizerRules */ ? ts.nullParenthesizerRules : ts.createParenthesizerRules(factory); }); + var converters = ts.memoize(function () { return flags & 2 /* NodeFactoryFlags.NoNodeConverters */ ? ts.nullNodeConverters : ts.createNodeConverters(factory); }); // lazy initializaton of common operator factories var getBinaryCreateFunction = ts.memoizeOne(function (operator) { return function (left, right) { return createBinaryExpression(left, operator, right); }; }); var getPrefixUnaryCreateFunction = ts.memoizeOne(function (operator) { return function (operand) { return createPrefixUnaryExpression(operator, operand); }; }); @@ -22286,12 +22360,12 @@ var ts; updateArrayLiteralExpression: updateArrayLiteralExpression, createObjectLiteralExpression: createObjectLiteralExpression, updateObjectLiteralExpression: updateObjectLiteralExpression, - createPropertyAccessExpression: flags & 4 /* NoIndentationOnFreshPropertyAccess */ ? - function (expression, name) { return ts.setEmitFlags(createPropertyAccessExpression(expression, name), 131072 /* NoIndentation */); } : + createPropertyAccessExpression: flags & 4 /* NodeFactoryFlags.NoIndentationOnFreshPropertyAccess */ ? + function (expression, name) { return ts.setEmitFlags(createPropertyAccessExpression(expression, name), 131072 /* EmitFlags.NoIndentation */); } : createPropertyAccessExpression, updatePropertyAccessExpression: updatePropertyAccessExpression, - createPropertyAccessChain: flags & 4 /* NoIndentationOnFreshPropertyAccess */ ? - function (expression, questionDotToken, name) { return ts.setEmitFlags(createPropertyAccessChain(expression, questionDotToken, name), 131072 /* NoIndentation */); } : + createPropertyAccessChain: flags & 4 /* NodeFactoryFlags.NoIndentationOnFreshPropertyAccess */ ? + function (expression, questionDotToken, name) { return ts.setEmitFlags(createPropertyAccessChain(expression, questionDotToken, name), 131072 /* EmitFlags.NoIndentation */); } : createPropertyAccessChain, updatePropertyAccessChain: updatePropertyAccessChain, createElementAccessExpression: createElementAccessExpression, @@ -22447,18 +22521,18 @@ var ts; createExternalModuleReference: createExternalModuleReference, updateExternalModuleReference: updateExternalModuleReference, // lazily load factory members for JSDoc types with similar structure - get createJSDocAllType() { return getJSDocPrimaryTypeCreateFunction(312 /* JSDocAllType */); }, - get createJSDocUnknownType() { return getJSDocPrimaryTypeCreateFunction(313 /* JSDocUnknownType */); }, - get createJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(315 /* JSDocNonNullableType */); }, - get updateJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(315 /* JSDocNonNullableType */); }, - get createJSDocNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(314 /* JSDocNullableType */); }, - get updateJSDocNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(314 /* JSDocNullableType */); }, - get createJSDocOptionalType() { return getJSDocUnaryTypeCreateFunction(316 /* JSDocOptionalType */); }, - get updateJSDocOptionalType() { return getJSDocUnaryTypeUpdateFunction(316 /* JSDocOptionalType */); }, - get createJSDocVariadicType() { return getJSDocUnaryTypeCreateFunction(318 /* JSDocVariadicType */); }, - get updateJSDocVariadicType() { return getJSDocUnaryTypeUpdateFunction(318 /* JSDocVariadicType */); }, - get createJSDocNamepathType() { return getJSDocUnaryTypeCreateFunction(319 /* JSDocNamepathType */); }, - get updateJSDocNamepathType() { return getJSDocUnaryTypeUpdateFunction(319 /* JSDocNamepathType */); }, + get createJSDocAllType() { return getJSDocPrimaryTypeCreateFunction(312 /* SyntaxKind.JSDocAllType */); }, + get createJSDocUnknownType() { return getJSDocPrimaryTypeCreateFunction(313 /* SyntaxKind.JSDocUnknownType */); }, + get createJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(315 /* SyntaxKind.JSDocNonNullableType */); }, + get updateJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(315 /* SyntaxKind.JSDocNonNullableType */); }, + get createJSDocNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(314 /* SyntaxKind.JSDocNullableType */); }, + get updateJSDocNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(314 /* SyntaxKind.JSDocNullableType */); }, + get createJSDocOptionalType() { return getJSDocUnaryTypeCreateFunction(316 /* SyntaxKind.JSDocOptionalType */); }, + get updateJSDocOptionalType() { return getJSDocUnaryTypeUpdateFunction(316 /* SyntaxKind.JSDocOptionalType */); }, + get createJSDocVariadicType() { return getJSDocUnaryTypeCreateFunction(318 /* SyntaxKind.JSDocVariadicType */); }, + get updateJSDocVariadicType() { return getJSDocUnaryTypeUpdateFunction(318 /* SyntaxKind.JSDocVariadicType */); }, + get createJSDocNamepathType() { return getJSDocUnaryTypeCreateFunction(319 /* SyntaxKind.JSDocNamepathType */); }, + get updateJSDocNamepathType() { return getJSDocUnaryTypeUpdateFunction(319 /* SyntaxKind.JSDocNamepathType */); }, createJSDocFunctionType: createJSDocFunctionType, updateJSDocFunctionType: updateJSDocFunctionType, createJSDocTypeLiteral: createJSDocTypeLiteral, @@ -22494,30 +22568,30 @@ var ts; createJSDocLinkPlain: createJSDocLinkPlain, updateJSDocLinkPlain: updateJSDocLinkPlain, // lazily load factory members for JSDoc tags with similar structure - get createJSDocTypeTag() { return getJSDocTypeLikeTagCreateFunction(343 /* JSDocTypeTag */); }, - get updateJSDocTypeTag() { return getJSDocTypeLikeTagUpdateFunction(343 /* JSDocTypeTag */); }, - get createJSDocReturnTag() { return getJSDocTypeLikeTagCreateFunction(341 /* JSDocReturnTag */); }, - get updateJSDocReturnTag() { return getJSDocTypeLikeTagUpdateFunction(341 /* JSDocReturnTag */); }, - get createJSDocThisTag() { return getJSDocTypeLikeTagCreateFunction(342 /* JSDocThisTag */); }, - get updateJSDocThisTag() { return getJSDocTypeLikeTagUpdateFunction(342 /* JSDocThisTag */); }, - get createJSDocEnumTag() { return getJSDocTypeLikeTagCreateFunction(339 /* JSDocEnumTag */); }, - get updateJSDocEnumTag() { return getJSDocTypeLikeTagUpdateFunction(339 /* JSDocEnumTag */); }, - get createJSDocAuthorTag() { return getJSDocSimpleTagCreateFunction(330 /* JSDocAuthorTag */); }, - get updateJSDocAuthorTag() { return getJSDocSimpleTagUpdateFunction(330 /* JSDocAuthorTag */); }, - get createJSDocClassTag() { return getJSDocSimpleTagCreateFunction(332 /* JSDocClassTag */); }, - get updateJSDocClassTag() { return getJSDocSimpleTagUpdateFunction(332 /* JSDocClassTag */); }, - get createJSDocPublicTag() { return getJSDocSimpleTagCreateFunction(333 /* JSDocPublicTag */); }, - get updateJSDocPublicTag() { return getJSDocSimpleTagUpdateFunction(333 /* JSDocPublicTag */); }, - get createJSDocPrivateTag() { return getJSDocSimpleTagCreateFunction(334 /* JSDocPrivateTag */); }, - get updateJSDocPrivateTag() { return getJSDocSimpleTagUpdateFunction(334 /* JSDocPrivateTag */); }, - get createJSDocProtectedTag() { return getJSDocSimpleTagCreateFunction(335 /* JSDocProtectedTag */); }, - get updateJSDocProtectedTag() { return getJSDocSimpleTagUpdateFunction(335 /* JSDocProtectedTag */); }, - get createJSDocReadonlyTag() { return getJSDocSimpleTagCreateFunction(336 /* JSDocReadonlyTag */); }, - get updateJSDocReadonlyTag() { return getJSDocSimpleTagUpdateFunction(336 /* JSDocReadonlyTag */); }, - get createJSDocOverrideTag() { return getJSDocSimpleTagCreateFunction(337 /* JSDocOverrideTag */); }, - get updateJSDocOverrideTag() { return getJSDocSimpleTagUpdateFunction(337 /* JSDocOverrideTag */); }, - get createJSDocDeprecatedTag() { return getJSDocSimpleTagCreateFunction(331 /* JSDocDeprecatedTag */); }, - get updateJSDocDeprecatedTag() { return getJSDocSimpleTagUpdateFunction(331 /* JSDocDeprecatedTag */); }, + get createJSDocTypeTag() { return getJSDocTypeLikeTagCreateFunction(343 /* SyntaxKind.JSDocTypeTag */); }, + get updateJSDocTypeTag() { return getJSDocTypeLikeTagUpdateFunction(343 /* SyntaxKind.JSDocTypeTag */); }, + get createJSDocReturnTag() { return getJSDocTypeLikeTagCreateFunction(341 /* SyntaxKind.JSDocReturnTag */); }, + get updateJSDocReturnTag() { return getJSDocTypeLikeTagUpdateFunction(341 /* SyntaxKind.JSDocReturnTag */); }, + get createJSDocThisTag() { return getJSDocTypeLikeTagCreateFunction(342 /* SyntaxKind.JSDocThisTag */); }, + get updateJSDocThisTag() { return getJSDocTypeLikeTagUpdateFunction(342 /* SyntaxKind.JSDocThisTag */); }, + get createJSDocEnumTag() { return getJSDocTypeLikeTagCreateFunction(339 /* SyntaxKind.JSDocEnumTag */); }, + get updateJSDocEnumTag() { return getJSDocTypeLikeTagUpdateFunction(339 /* SyntaxKind.JSDocEnumTag */); }, + get createJSDocAuthorTag() { return getJSDocSimpleTagCreateFunction(330 /* SyntaxKind.JSDocAuthorTag */); }, + get updateJSDocAuthorTag() { return getJSDocSimpleTagUpdateFunction(330 /* SyntaxKind.JSDocAuthorTag */); }, + get createJSDocClassTag() { return getJSDocSimpleTagCreateFunction(332 /* SyntaxKind.JSDocClassTag */); }, + get updateJSDocClassTag() { return getJSDocSimpleTagUpdateFunction(332 /* SyntaxKind.JSDocClassTag */); }, + get createJSDocPublicTag() { return getJSDocSimpleTagCreateFunction(333 /* SyntaxKind.JSDocPublicTag */); }, + get updateJSDocPublicTag() { return getJSDocSimpleTagUpdateFunction(333 /* SyntaxKind.JSDocPublicTag */); }, + get createJSDocPrivateTag() { return getJSDocSimpleTagCreateFunction(334 /* SyntaxKind.JSDocPrivateTag */); }, + get updateJSDocPrivateTag() { return getJSDocSimpleTagUpdateFunction(334 /* SyntaxKind.JSDocPrivateTag */); }, + get createJSDocProtectedTag() { return getJSDocSimpleTagCreateFunction(335 /* SyntaxKind.JSDocProtectedTag */); }, + get updateJSDocProtectedTag() { return getJSDocSimpleTagUpdateFunction(335 /* SyntaxKind.JSDocProtectedTag */); }, + get createJSDocReadonlyTag() { return getJSDocSimpleTagCreateFunction(336 /* SyntaxKind.JSDocReadonlyTag */); }, + get updateJSDocReadonlyTag() { return getJSDocSimpleTagUpdateFunction(336 /* SyntaxKind.JSDocReadonlyTag */); }, + get createJSDocOverrideTag() { return getJSDocSimpleTagCreateFunction(337 /* SyntaxKind.JSDocOverrideTag */); }, + get updateJSDocOverrideTag() { return getJSDocSimpleTagUpdateFunction(337 /* SyntaxKind.JSDocOverrideTag */); }, + get createJSDocDeprecatedTag() { return getJSDocSimpleTagCreateFunction(331 /* SyntaxKind.JSDocDeprecatedTag */); }, + get updateJSDocDeprecatedTag() { return getJSDocSimpleTagUpdateFunction(331 /* SyntaxKind.JSDocDeprecatedTag */); }, createJSDocUnknownTag: createJSDocUnknownTag, updateJSDocUnknownTag: updateJSDocUnknownTag, createJSDocText: createJSDocText, @@ -22585,38 +22659,38 @@ var ts; updateSyntheticReferenceExpression: updateSyntheticReferenceExpression, cloneNode: cloneNode, // Lazily load factory methods for common operator factories and utilities - get createComma() { return getBinaryCreateFunction(27 /* CommaToken */); }, - get createAssignment() { return getBinaryCreateFunction(63 /* EqualsToken */); }, - get createLogicalOr() { return getBinaryCreateFunction(56 /* BarBarToken */); }, - get createLogicalAnd() { return getBinaryCreateFunction(55 /* AmpersandAmpersandToken */); }, - get createBitwiseOr() { return getBinaryCreateFunction(51 /* BarToken */); }, - get createBitwiseXor() { return getBinaryCreateFunction(52 /* CaretToken */); }, - get createBitwiseAnd() { return getBinaryCreateFunction(50 /* AmpersandToken */); }, - get createStrictEquality() { return getBinaryCreateFunction(36 /* EqualsEqualsEqualsToken */); }, - get createStrictInequality() { return getBinaryCreateFunction(37 /* ExclamationEqualsEqualsToken */); }, - get createEquality() { return getBinaryCreateFunction(34 /* EqualsEqualsToken */); }, - get createInequality() { return getBinaryCreateFunction(35 /* ExclamationEqualsToken */); }, - get createLessThan() { return getBinaryCreateFunction(29 /* LessThanToken */); }, - get createLessThanEquals() { return getBinaryCreateFunction(32 /* LessThanEqualsToken */); }, - get createGreaterThan() { return getBinaryCreateFunction(31 /* GreaterThanToken */); }, - get createGreaterThanEquals() { return getBinaryCreateFunction(33 /* GreaterThanEqualsToken */); }, - get createLeftShift() { return getBinaryCreateFunction(47 /* LessThanLessThanToken */); }, - get createRightShift() { return getBinaryCreateFunction(48 /* GreaterThanGreaterThanToken */); }, - get createUnsignedRightShift() { return getBinaryCreateFunction(49 /* GreaterThanGreaterThanGreaterThanToken */); }, - get createAdd() { return getBinaryCreateFunction(39 /* PlusToken */); }, - get createSubtract() { return getBinaryCreateFunction(40 /* MinusToken */); }, - get createMultiply() { return getBinaryCreateFunction(41 /* AsteriskToken */); }, - get createDivide() { return getBinaryCreateFunction(43 /* SlashToken */); }, - get createModulo() { return getBinaryCreateFunction(44 /* PercentToken */); }, - get createExponent() { return getBinaryCreateFunction(42 /* AsteriskAsteriskToken */); }, - get createPrefixPlus() { return getPrefixUnaryCreateFunction(39 /* PlusToken */); }, - get createPrefixMinus() { return getPrefixUnaryCreateFunction(40 /* MinusToken */); }, - get createPrefixIncrement() { return getPrefixUnaryCreateFunction(45 /* PlusPlusToken */); }, - get createPrefixDecrement() { return getPrefixUnaryCreateFunction(46 /* MinusMinusToken */); }, - get createBitwiseNot() { return getPrefixUnaryCreateFunction(54 /* TildeToken */); }, - get createLogicalNot() { return getPrefixUnaryCreateFunction(53 /* ExclamationToken */); }, - get createPostfixIncrement() { return getPostfixUnaryCreateFunction(45 /* PlusPlusToken */); }, - get createPostfixDecrement() { return getPostfixUnaryCreateFunction(46 /* MinusMinusToken */); }, + get createComma() { return getBinaryCreateFunction(27 /* SyntaxKind.CommaToken */); }, + get createAssignment() { return getBinaryCreateFunction(63 /* SyntaxKind.EqualsToken */); }, + get createLogicalOr() { return getBinaryCreateFunction(56 /* SyntaxKind.BarBarToken */); }, + get createLogicalAnd() { return getBinaryCreateFunction(55 /* SyntaxKind.AmpersandAmpersandToken */); }, + get createBitwiseOr() { return getBinaryCreateFunction(51 /* SyntaxKind.BarToken */); }, + get createBitwiseXor() { return getBinaryCreateFunction(52 /* SyntaxKind.CaretToken */); }, + get createBitwiseAnd() { return getBinaryCreateFunction(50 /* SyntaxKind.AmpersandToken */); }, + get createStrictEquality() { return getBinaryCreateFunction(36 /* SyntaxKind.EqualsEqualsEqualsToken */); }, + get createStrictInequality() { return getBinaryCreateFunction(37 /* SyntaxKind.ExclamationEqualsEqualsToken */); }, + get createEquality() { return getBinaryCreateFunction(34 /* SyntaxKind.EqualsEqualsToken */); }, + get createInequality() { return getBinaryCreateFunction(35 /* SyntaxKind.ExclamationEqualsToken */); }, + get createLessThan() { return getBinaryCreateFunction(29 /* SyntaxKind.LessThanToken */); }, + get createLessThanEquals() { return getBinaryCreateFunction(32 /* SyntaxKind.LessThanEqualsToken */); }, + get createGreaterThan() { return getBinaryCreateFunction(31 /* SyntaxKind.GreaterThanToken */); }, + get createGreaterThanEquals() { return getBinaryCreateFunction(33 /* SyntaxKind.GreaterThanEqualsToken */); }, + get createLeftShift() { return getBinaryCreateFunction(47 /* SyntaxKind.LessThanLessThanToken */); }, + get createRightShift() { return getBinaryCreateFunction(48 /* SyntaxKind.GreaterThanGreaterThanToken */); }, + get createUnsignedRightShift() { return getBinaryCreateFunction(49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */); }, + get createAdd() { return getBinaryCreateFunction(39 /* SyntaxKind.PlusToken */); }, + get createSubtract() { return getBinaryCreateFunction(40 /* SyntaxKind.MinusToken */); }, + get createMultiply() { return getBinaryCreateFunction(41 /* SyntaxKind.AsteriskToken */); }, + get createDivide() { return getBinaryCreateFunction(43 /* SyntaxKind.SlashToken */); }, + get createModulo() { return getBinaryCreateFunction(44 /* SyntaxKind.PercentToken */); }, + get createExponent() { return getBinaryCreateFunction(42 /* SyntaxKind.AsteriskAsteriskToken */); }, + get createPrefixPlus() { return getPrefixUnaryCreateFunction(39 /* SyntaxKind.PlusToken */); }, + get createPrefixMinus() { return getPrefixUnaryCreateFunction(40 /* SyntaxKind.MinusToken */); }, + get createPrefixIncrement() { return getPrefixUnaryCreateFunction(45 /* SyntaxKind.PlusPlusToken */); }, + get createPrefixDecrement() { return getPrefixUnaryCreateFunction(46 /* SyntaxKind.MinusMinusToken */); }, + get createBitwiseNot() { return getPrefixUnaryCreateFunction(54 /* SyntaxKind.TildeToken */); }, + get createLogicalNot() { return getPrefixUnaryCreateFunction(53 /* SyntaxKind.ExclamationToken */); }, + get createPostfixIncrement() { return getPostfixUnaryCreateFunction(45 /* SyntaxKind.PlusPlusToken */); }, + get createPostfixDecrement() { return getPostfixUnaryCreateFunction(46 /* SyntaxKind.MinusMinusToken */); }, // Compound nodes createImmediatelyInvokedFunctionExpression: createImmediatelyInvokedFunctionExpression, createImmediatelyInvokedArrowFunction: createImmediatelyInvokedArrowFunction, @@ -22720,11 +22794,11 @@ var ts; // don't propagate child flags. if (name) { switch (node.kind) { - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 167 /* PropertyDeclaration */: - case 296 /* PropertyAssignment */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 296 /* SyntaxKind.PropertyAssignment */: if (ts.isIdentifier(name)) { node.transformFlags |= propagateIdentifierNameFlags(name); break; @@ -22742,7 +22816,7 @@ var ts; node.typeParameters = asNodeArray(typeParameters); node.transformFlags |= propagateChildrenFlags(node.typeParameters); if (typeParameters) - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; return node; } function createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type) { @@ -22753,7 +22827,7 @@ var ts; propagateChildrenFlags(node.parameters) | propagateChildFlags(node.type); if (type) - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; return node; } function updateBaseSignatureDeclaration(updated, original) { @@ -22765,9 +22839,9 @@ var ts; function createBaseFunctionLikeDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type, body) { var node = createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type); node.body = body; - node.transformFlags |= propagateChildFlags(node.body) & ~16777216 /* ContainsPossibleTopLevelAwait */; + node.transformFlags |= propagateChildFlags(node.body) & ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; if (!body) - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; return node; } function updateBaseFunctionLikeDeclaration(updated, original) { @@ -22801,7 +22875,7 @@ var ts; node.type = type; node.transformFlags |= propagateChildFlags(type); if (type) - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; return node; } // @@ -22814,21 +22888,21 @@ var ts; } // @api function createNumericLiteral(value, numericLiteralFlags) { - if (numericLiteralFlags === void 0) { numericLiteralFlags = 0 /* None */; } - var node = createBaseLiteral(8 /* NumericLiteral */, typeof value === "number" ? value + "" : value); + if (numericLiteralFlags === void 0) { numericLiteralFlags = 0 /* TokenFlags.None */; } + var node = createBaseLiteral(8 /* SyntaxKind.NumericLiteral */, typeof value === "number" ? value + "" : value); node.numericLiteralFlags = numericLiteralFlags; - if (numericLiteralFlags & 384 /* BinaryOrOctalSpecifier */) - node.transformFlags |= 1024 /* ContainsES2015 */; + if (numericLiteralFlags & 384 /* TokenFlags.BinaryOrOctalSpecifier */) + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api function createBigIntLiteral(value) { - var node = createBaseLiteral(9 /* BigIntLiteral */, typeof value === "string" ? value : ts.pseudoBigIntToString(value) + "n"); - node.transformFlags |= 4 /* ContainsESNext */; + var node = createBaseLiteral(9 /* SyntaxKind.BigIntLiteral */, typeof value === "string" ? value : ts.pseudoBigIntToString(value) + "n"); + node.transformFlags |= 4 /* TransformFlags.ContainsESNext */; return node; } function createBaseStringLiteral(text, isSingleQuote) { - var node = createBaseLiteral(10 /* StringLiteral */, text); + var node = createBaseLiteral(10 /* SyntaxKind.StringLiteral */, text); node.singleQuote = isSingleQuote; return node; } @@ -22837,7 +22911,7 @@ var ts; var node = createBaseStringLiteral(text, isSingleQuote); node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape; if (hasExtendedUnicodeEscape) - node.transformFlags |= 1024 /* ContainsES2015 */; + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api @@ -22848,19 +22922,19 @@ var ts; } // @api function createRegularExpressionLiteral(text) { - var node = createBaseLiteral(13 /* RegularExpressionLiteral */, text); + var node = createBaseLiteral(13 /* SyntaxKind.RegularExpressionLiteral */, text); return node; } // @api function createLiteralLikeNode(kind, text) { switch (kind) { - case 8 /* NumericLiteral */: return createNumericLiteral(text, /*numericLiteralFlags*/ 0); - case 9 /* BigIntLiteral */: return createBigIntLiteral(text); - case 10 /* StringLiteral */: return createStringLiteral(text, /*isSingleQuote*/ undefined); - case 11 /* JsxText */: return createJsxText(text, /*containsOnlyTriviaWhiteSpaces*/ false); - case 12 /* JsxTextAllWhiteSpaces */: return createJsxText(text, /*containsOnlyTriviaWhiteSpaces*/ true); - case 13 /* RegularExpressionLiteral */: return createRegularExpressionLiteral(text); - case 14 /* NoSubstitutionTemplateLiteral */: return createTemplateLiteralLikeNode(kind, text, /*rawText*/ undefined, /*templateFlags*/ 0); + case 8 /* SyntaxKind.NumericLiteral */: return createNumericLiteral(text, /*numericLiteralFlags*/ 0); + case 9 /* SyntaxKind.BigIntLiteral */: return createBigIntLiteral(text); + case 10 /* SyntaxKind.StringLiteral */: return createStringLiteral(text, /*isSingleQuote*/ undefined); + case 11 /* SyntaxKind.JsxText */: return createJsxText(text, /*containsOnlyTriviaWhiteSpaces*/ false); + case 12 /* SyntaxKind.JsxTextAllWhiteSpaces */: return createJsxText(text, /*containsOnlyTriviaWhiteSpaces*/ true); + case 13 /* SyntaxKind.RegularExpressionLiteral */: return createRegularExpressionLiteral(text); + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return createTemplateLiteralLikeNode(kind, text, /*rawText*/ undefined, /*templateFlags*/ 0); } } // @@ -22870,10 +22944,10 @@ var ts; if (originalKeywordKind === undefined && text) { originalKeywordKind = ts.stringToToken(text); } - if (originalKeywordKind === 79 /* Identifier */) { + if (originalKeywordKind === 79 /* SyntaxKind.Identifier */) { originalKeywordKind = undefined; } - var node = baseFactory.createBaseIdentifierNode(79 /* Identifier */); + var node = baseFactory.createBaseIdentifierNode(79 /* SyntaxKind.Identifier */); node.originalKeywordKind = originalKeywordKind; node.escapedText = ts.escapeLeadingUnderscores(text); return node; @@ -22892,8 +22966,8 @@ var ts; // NOTE: we do not use `setChildren` here because typeArguments in an identifier do not contribute to transformations node.typeArguments = createNodeArray(typeArguments); } - if (node.originalKeywordKind === 132 /* AwaitKeyword */) { - node.transformFlags |= 16777216 /* ContainsPossibleTopLevelAwait */; + if (node.originalKeywordKind === 132 /* SyntaxKind.AwaitKeyword */) { + node.transformFlags |= 16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; } return node; } @@ -22905,9 +22979,9 @@ var ts; } // @api function createTempVariable(recordTempVariable, reservedInNestedScopes) { - var flags = 1 /* Auto */; + var flags = 1 /* GeneratedIdentifierFlags.Auto */; if (reservedInNestedScopes) - flags |= 8 /* ReservedInNestedScopes */; + flags |= 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */; var name = createBaseGeneratedIdentifier("", flags); if (recordTempVariable) { recordTempVariable(name); @@ -22917,25 +22991,25 @@ var ts; /** Create a unique temporary variable for use in a loop. */ // @api function createLoopVariable(reservedInNestedScopes) { - var flags = 2 /* Loop */; + var flags = 2 /* GeneratedIdentifierFlags.Loop */; if (reservedInNestedScopes) - flags |= 8 /* ReservedInNestedScopes */; + flags |= 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */; return createBaseGeneratedIdentifier("", flags); } /** Create a unique name based on the supplied text. */ // @api function createUniqueName(text, flags) { - if (flags === void 0) { flags = 0 /* None */; } - ts.Debug.assert(!(flags & 7 /* KindMask */), "Argument out of range: flags"); - ts.Debug.assert((flags & (16 /* Optimistic */ | 32 /* FileLevel */)) !== 32 /* FileLevel */, "GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"); - return createBaseGeneratedIdentifier(text, 3 /* Unique */ | flags); + if (flags === void 0) { flags = 0 /* GeneratedIdentifierFlags.None */; } + ts.Debug.assert(!(flags & 7 /* GeneratedIdentifierFlags.KindMask */), "Argument out of range: flags"); + ts.Debug.assert((flags & (16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)) !== 32 /* GeneratedIdentifierFlags.FileLevel */, "GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"); + return createBaseGeneratedIdentifier(text, 3 /* GeneratedIdentifierFlags.Unique */ | flags); } /** Create a unique name generated for a node. */ // @api function getGeneratedNameForNode(node, flags) { if (flags === void 0) { flags = 0; } - ts.Debug.assert(!(flags & 7 /* KindMask */), "Argument out of range: flags"); - var name = createBaseGeneratedIdentifier(node && ts.isIdentifier(node) ? ts.idText(node) : "", 4 /* Node */ | flags); + ts.Debug.assert(!(flags & 7 /* GeneratedIdentifierFlags.KindMask */), "Argument out of range: flags"); + var name = createBaseGeneratedIdentifier(node && ts.isIdentifier(node) ? ts.idText(node) : "", 4 /* GeneratedIdentifierFlags.Node */ | flags); name.original = node; return name; } @@ -22943,9 +23017,9 @@ var ts; function createPrivateIdentifier(text) { if (!ts.startsWith(text, "#")) ts.Debug.fail("First character of private identifier must be #: " + text); - var node = baseFactory.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */); + var node = baseFactory.createBasePrivateIdentifierNode(80 /* SyntaxKind.PrivateIdentifier */); node.escapedText = ts.escapeLeadingUnderscores(text); - node.transformFlags |= 8388608 /* ContainsClassFields */; + node.transformFlags |= 8388608 /* TransformFlags.ContainsClassFields */; return node; } // @@ -22955,51 +23029,51 @@ var ts; return baseFactory.createBaseTokenNode(kind); } function createToken(token) { - ts.Debug.assert(token >= 0 /* FirstToken */ && token <= 160 /* LastToken */, "Invalid token"); - ts.Debug.assert(token <= 14 /* FirstTemplateToken */ || token >= 17 /* LastTemplateToken */, "Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."); - ts.Debug.assert(token <= 8 /* FirstLiteralToken */ || token >= 14 /* LastLiteralToken */, "Invalid token. Use 'createLiteralLikeNode' to create literals."); - ts.Debug.assert(token !== 79 /* Identifier */, "Invalid token. Use 'createIdentifier' to create identifiers"); + ts.Debug.assert(token >= 0 /* SyntaxKind.FirstToken */ && token <= 160 /* SyntaxKind.LastToken */, "Invalid token"); + ts.Debug.assert(token <= 14 /* SyntaxKind.FirstTemplateToken */ || token >= 17 /* SyntaxKind.LastTemplateToken */, "Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."); + ts.Debug.assert(token <= 8 /* SyntaxKind.FirstLiteralToken */ || token >= 14 /* SyntaxKind.LastLiteralToken */, "Invalid token. Use 'createLiteralLikeNode' to create literals."); + ts.Debug.assert(token !== 79 /* SyntaxKind.Identifier */, "Invalid token. Use 'createIdentifier' to create identifiers"); var node = createBaseToken(token); - var transformFlags = 0 /* None */; + var transformFlags = 0 /* TransformFlags.None */; switch (token) { - case 131 /* AsyncKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: // 'async' modifier is ES2017 (async functions) or ES2018 (async generators) transformFlags = - 256 /* ContainsES2017 */ | - 128 /* ContainsES2018 */; + 256 /* TransformFlags.ContainsES2017 */ | + 128 /* TransformFlags.ContainsES2018 */; break; - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 145 /* ReadonlyKeyword */: - case 126 /* AbstractKeyword */: - case 135 /* DeclareKeyword */: - case 85 /* ConstKeyword */: - case 130 /* AnyKeyword */: - case 147 /* NumberKeyword */: - case 158 /* BigIntKeyword */: - case 143 /* NeverKeyword */: - case 148 /* ObjectKeyword */: - case 101 /* InKeyword */: - case 144 /* OutKeyword */: - case 159 /* OverrideKeyword */: - case 150 /* StringKeyword */: - case 133 /* BooleanKeyword */: - case 151 /* SymbolKeyword */: - case 114 /* VoidKeyword */: - case 155 /* UnknownKeyword */: - case 153 /* UndefinedKeyword */: // `undefined` is an Identifier in the expression case. - transformFlags = 1 /* ContainsTypeScript */; + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 130 /* SyntaxKind.AnyKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + case 101 /* SyntaxKind.InKeyword */: + case 144 /* SyntaxKind.OutKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: // `undefined` is an Identifier in the expression case. + transformFlags = 1 /* TransformFlags.ContainsTypeScript */; break; - case 106 /* SuperKeyword */: - transformFlags = 1024 /* ContainsES2015 */ | 33554432 /* ContainsLexicalSuper */; + case 106 /* SyntaxKind.SuperKeyword */: + transformFlags = 1024 /* TransformFlags.ContainsES2015 */ | 33554432 /* TransformFlags.ContainsLexicalSuper */; break; - case 124 /* StaticKeyword */: - transformFlags = 1024 /* ContainsES2015 */; + case 124 /* SyntaxKind.StaticKeyword */: + transformFlags = 1024 /* TransformFlags.ContainsES2015 */; break; - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: // 'this' indicates a lexical 'this' - transformFlags = 8192 /* ContainsLexicalThis */; + transformFlags = 8192 /* TransformFlags.ContainsLexicalThis */; break; } if (transformFlags) { @@ -23012,23 +23086,23 @@ var ts; // // @api function createSuper() { - return createToken(106 /* SuperKeyword */); + return createToken(106 /* SyntaxKind.SuperKeyword */); } // @api function createThis() { - return createToken(108 /* ThisKeyword */); + return createToken(108 /* SyntaxKind.ThisKeyword */); } // @api function createNull() { - return createToken(104 /* NullKeyword */); + return createToken(104 /* SyntaxKind.NullKeyword */); } // @api function createTrue() { - return createToken(110 /* TrueKeyword */); + return createToken(110 /* SyntaxKind.TrueKeyword */); } // @api function createFalse() { - return createToken(95 /* FalseKeyword */); + return createToken(95 /* SyntaxKind.FalseKeyword */); } // // Modifiers @@ -23040,34 +23114,34 @@ var ts; // @api function createModifiersFromModifierFlags(flags) { var result = []; - if (flags & 1 /* Export */) - result.push(createModifier(93 /* ExportKeyword */)); - if (flags & 2 /* Ambient */) - result.push(createModifier(135 /* DeclareKeyword */)); - if (flags & 512 /* Default */) - result.push(createModifier(88 /* DefaultKeyword */)); - if (flags & 2048 /* Const */) - result.push(createModifier(85 /* ConstKeyword */)); - if (flags & 4 /* Public */) - result.push(createModifier(123 /* PublicKeyword */)); - if (flags & 8 /* Private */) - result.push(createModifier(121 /* PrivateKeyword */)); - if (flags & 16 /* Protected */) - result.push(createModifier(122 /* ProtectedKeyword */)); - if (flags & 128 /* Abstract */) - result.push(createModifier(126 /* AbstractKeyword */)); - if (flags & 32 /* Static */) - result.push(createModifier(124 /* StaticKeyword */)); - if (flags & 16384 /* Override */) - result.push(createModifier(159 /* OverrideKeyword */)); - if (flags & 64 /* Readonly */) - result.push(createModifier(145 /* ReadonlyKeyword */)); - if (flags & 256 /* Async */) - result.push(createModifier(131 /* AsyncKeyword */)); - if (flags & 32768 /* In */) - result.push(createModifier(101 /* InKeyword */)); - if (flags & 65536 /* Out */) - result.push(createModifier(144 /* OutKeyword */)); + if (flags & 1 /* ModifierFlags.Export */) + result.push(createModifier(93 /* SyntaxKind.ExportKeyword */)); + if (flags & 2 /* ModifierFlags.Ambient */) + result.push(createModifier(135 /* SyntaxKind.DeclareKeyword */)); + if (flags & 512 /* ModifierFlags.Default */) + result.push(createModifier(88 /* SyntaxKind.DefaultKeyword */)); + if (flags & 2048 /* ModifierFlags.Const */) + result.push(createModifier(85 /* SyntaxKind.ConstKeyword */)); + if (flags & 4 /* ModifierFlags.Public */) + result.push(createModifier(123 /* SyntaxKind.PublicKeyword */)); + if (flags & 8 /* ModifierFlags.Private */) + result.push(createModifier(121 /* SyntaxKind.PrivateKeyword */)); + if (flags & 16 /* ModifierFlags.Protected */) + result.push(createModifier(122 /* SyntaxKind.ProtectedKeyword */)); + if (flags & 128 /* ModifierFlags.Abstract */) + result.push(createModifier(126 /* SyntaxKind.AbstractKeyword */)); + if (flags & 32 /* ModifierFlags.Static */) + result.push(createModifier(124 /* SyntaxKind.StaticKeyword */)); + if (flags & 16384 /* ModifierFlags.Override */) + result.push(createModifier(159 /* SyntaxKind.OverrideKeyword */)); + if (flags & 64 /* ModifierFlags.Readonly */) + result.push(createModifier(145 /* SyntaxKind.ReadonlyKeyword */)); + if (flags & 256 /* ModifierFlags.Async */) + result.push(createModifier(131 /* SyntaxKind.AsyncKeyword */)); + if (flags & 32768 /* ModifierFlags.In */) + result.push(createModifier(101 /* SyntaxKind.InKeyword */)); + if (flags & 65536 /* ModifierFlags.Out */) + result.push(createModifier(144 /* SyntaxKind.OutKeyword */)); return result.length ? result : undefined; } // @@ -23075,7 +23149,7 @@ var ts; // // @api function createQualifiedName(left, right) { - var node = createBaseNode(161 /* QualifiedName */); + var node = createBaseNode(161 /* SyntaxKind.QualifiedName */); node.left = left; node.right = asName(right); node.transformFlags |= @@ -23092,12 +23166,12 @@ var ts; } // @api function createComputedPropertyName(expression) { - var node = createBaseNode(162 /* ComputedPropertyName */); + var node = createBaseNode(162 /* SyntaxKind.ComputedPropertyName */); node.expression = parenthesizerRules().parenthesizeExpressionOfComputedPropertyName(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 1024 /* ContainsES2015 */ | - 65536 /* ContainsComputedPropertyName */; + 1024 /* TransformFlags.ContainsES2015 */ | + 65536 /* TransformFlags.ContainsComputedPropertyName */; return node; } // @api @@ -23120,11 +23194,11 @@ var ts; name = modifiersOrName; constraint = nameOrConstraint; } - var node = createBaseNamedDeclaration(163 /* TypeParameter */, + var node = createBaseNamedDeclaration(163 /* SyntaxKind.TypeParameter */, /*decorators*/ undefined, modifiers, name); node.constraint = constraint; node.default = defaultType; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } function updateTypeParameterDeclaration(node, modifiersOrName, nameOrConstraint, constraintOrDefault, defaultType) { @@ -23150,22 +23224,22 @@ var ts; } // @api function createParameterDeclaration(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(164 /* Parameter */, decorators, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); + var node = createBaseVariableLikeDeclaration(164 /* SyntaxKind.Parameter */, decorators, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.dotDotDotToken = dotDotDotToken; node.questionToken = questionToken; if (ts.isThisIdentifier(node.name)) { - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } else { node.transformFlags |= propagateChildFlags(node.dotDotDotToken) | propagateChildFlags(node.questionToken); if (questionToken) - node.transformFlags |= 1 /* ContainsTypeScript */; - if (ts.modifiersToFlags(node.modifiers) & 16476 /* ParameterPropertyModifier */) - node.transformFlags |= 4096 /* ContainsTypeScriptClassSyntax */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; + if (ts.modifiersToFlags(node.modifiers) & 16476 /* ModifierFlags.ParameterPropertyModifier */) + node.transformFlags |= 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */; if (initializer || dotDotDotToken) - node.transformFlags |= 1024 /* ContainsES2015 */; + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; } return node; } @@ -23183,12 +23257,12 @@ var ts; } // @api function createDecorator(expression) { - var node = createBaseNode(165 /* Decorator */); + var node = createBaseNode(165 /* SyntaxKind.Decorator */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 1 /* ContainsTypeScript */ | - 4096 /* ContainsTypeScriptClassSyntax */; + 1 /* TransformFlags.ContainsTypeScript */ | + 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */; return node; } // @api @@ -23202,11 +23276,11 @@ var ts; // // @api function createPropertySignature(modifiers, name, questionToken, type) { - var node = createBaseNamedDeclaration(166 /* PropertySignature */, + var node = createBaseNamedDeclaration(166 /* SyntaxKind.PropertySignature */, /*decorators*/ undefined, modifiers, name); node.type = type; node.questionToken = questionToken; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23220,18 +23294,18 @@ var ts; } // @api function createPropertyDeclaration(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(167 /* PropertyDeclaration */, decorators, modifiers, name, type, initializer); + var node = createBaseVariableLikeDeclaration(167 /* SyntaxKind.PropertyDeclaration */, decorators, modifiers, name, type, initializer); node.questionToken = questionOrExclamationToken && ts.isQuestionToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.exclamationToken = questionOrExclamationToken && ts.isExclamationToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.transformFlags |= propagateChildFlags(node.questionToken) | propagateChildFlags(node.exclamationToken) | - 8388608 /* ContainsClassFields */; + 8388608 /* TransformFlags.ContainsClassFields */; if (ts.isComputedPropertyName(node.name) || (ts.hasStaticModifier(node) && node.initializer)) { - node.transformFlags |= 4096 /* ContainsTypeScriptClassSyntax */; + node.transformFlags |= 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */; } - if (questionOrExclamationToken || ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { - node.transformFlags |= 1 /* ContainsTypeScript */; + if (questionOrExclamationToken || ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } return node; } @@ -23249,10 +23323,10 @@ var ts; } // @api function createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(168 /* MethodSignature */, + var node = createBaseSignatureDeclaration(168 /* SyntaxKind.MethodSignature */, /*decorators*/ undefined, modifiers, name, typeParameters, parameters, type); node.questionToken = questionToken; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23268,26 +23342,26 @@ var ts; } // @api function createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(169 /* MethodDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(169 /* SyntaxKind.MethodDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.questionToken = questionToken; node.transformFlags |= propagateChildFlags(node.asteriskToken) | propagateChildFlags(node.questionToken) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; if (questionToken) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } - if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { + if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { if (asteriskToken) { - node.transformFlags |= 128 /* ContainsES2018 */; + node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } else { - node.transformFlags |= 256 /* ContainsES2017 */; + node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */; } } else if (asteriskToken) { - node.transformFlags |= 2048 /* ContainsGenerator */; + node.transformFlags |= 2048 /* TransformFlags.ContainsGenerator */; } return node; } @@ -23307,11 +23381,11 @@ var ts; } // @api function createClassStaticBlockDeclaration(decorators, modifiers, body) { - var node = createBaseGenericNamedDeclaration(170 /* ClassStaticBlockDeclaration */, decorators, modifiers, + var node = createBaseGenericNamedDeclaration(170 /* SyntaxKind.ClassStaticBlockDeclaration */, decorators, modifiers, /*name*/ undefined, /*typeParameters*/ undefined); node.body = body; - node.transformFlags = propagateChildFlags(body) | 8388608 /* ContainsClassFields */; + node.transformFlags = propagateChildFlags(body) | 8388608 /* TransformFlags.ContainsClassFields */; return node; } // @api @@ -23324,11 +23398,11 @@ var ts; } // @api function createConstructorDeclaration(decorators, modifiers, parameters, body) { - var node = createBaseFunctionLikeDeclaration(171 /* Constructor */, decorators, modifiers, + var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.Constructor */, decorators, modifiers, /*name*/ undefined, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); - node.transformFlags |= 1024 /* ContainsES2015 */; + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api @@ -23342,7 +23416,7 @@ var ts; } // @api function createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body) { - return createBaseFunctionLikeDeclaration(172 /* GetAccessor */, decorators, modifiers, name, + return createBaseFunctionLikeDeclaration(172 /* SyntaxKind.GetAccessor */, decorators, modifiers, name, /*typeParameters*/ undefined, parameters, type, body); } // @api @@ -23358,7 +23432,7 @@ var ts; } // @api function createSetAccessorDeclaration(decorators, modifiers, name, parameters, body) { - return createBaseFunctionLikeDeclaration(173 /* SetAccessor */, decorators, modifiers, name, + return createBaseFunctionLikeDeclaration(173 /* SyntaxKind.SetAccessor */, decorators, modifiers, name, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } @@ -23374,11 +23448,11 @@ var ts; } // @api function createCallSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(174 /* CallSignature */, + var node = createBaseSignatureDeclaration(174 /* SyntaxKind.CallSignature */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23391,11 +23465,11 @@ var ts; } // @api function createConstructSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(175 /* ConstructSignature */, + var node = createBaseSignatureDeclaration(175 /* SyntaxKind.ConstructSignature */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23408,10 +23482,10 @@ var ts; } // @api function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createBaseSignatureDeclaration(176 /* IndexSignature */, decorators, modifiers, + var node = createBaseSignatureDeclaration(176 /* SyntaxKind.IndexSignature */, decorators, modifiers, /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23425,10 +23499,10 @@ var ts; } // @api function createTemplateLiteralTypeSpan(type, literal) { - var node = createBaseNode(199 /* TemplateLiteralTypeSpan */); + var node = createBaseNode(199 /* SyntaxKind.TemplateLiteralTypeSpan */); node.type = type; node.literal = literal; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23447,11 +23521,11 @@ var ts; } // @api function createTypePredicateNode(assertsModifier, parameterName, type) { - var node = createBaseNode(177 /* TypePredicate */); + var node = createBaseNode(177 /* SyntaxKind.TypePredicate */); node.assertsModifier = assertsModifier; node.parameterName = asName(parameterName); node.type = type; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23464,10 +23538,10 @@ var ts; } // @api function createTypeReferenceNode(typeName, typeArguments) { - var node = createBaseNode(178 /* TypeReference */); + var node = createBaseNode(178 /* SyntaxKind.TypeReference */); node.typeName = asName(typeName); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(createNodeArray(typeArguments)); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23479,11 +23553,11 @@ var ts; } // @api function createFunctionTypeNode(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(179 /* FunctionType */, + var node = createBaseSignatureDeclaration(179 /* SyntaxKind.FunctionType */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23505,10 +23579,10 @@ var ts; ts.Debug.fail("Incorrect number of arguments specified."); } function createConstructorTypeNode1(modifiers, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(180 /* ConstructorType */, + var node = createBaseSignatureDeclaration(180 /* SyntaxKind.ConstructorType */, /*decorators*/ undefined, modifiers, /*name*/ undefined, typeParameters, parameters, type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } /** @deprecated */ @@ -23539,10 +23613,10 @@ var ts; } // @api function createTypeQueryNode(exprName, typeArguments) { - var node = createBaseNode(181 /* TypeQuery */); + var node = createBaseNode(181 /* SyntaxKind.TypeQuery */); node.exprName = exprName; node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23554,9 +23628,9 @@ var ts; } // @api function createTypeLiteralNode(members) { - var node = createBaseNode(182 /* TypeLiteral */); + var node = createBaseNode(182 /* SyntaxKind.TypeLiteral */); node.members = createNodeArray(members); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23567,9 +23641,9 @@ var ts; } // @api function createArrayTypeNode(elementType) { - var node = createBaseNode(183 /* ArrayType */); + var node = createBaseNode(183 /* SyntaxKind.ArrayType */); node.elementType = parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(elementType); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23580,9 +23654,9 @@ var ts; } // @api function createTupleTypeNode(elements) { - var node = createBaseNode(184 /* TupleType */); + var node = createBaseNode(184 /* SyntaxKind.TupleType */); node.elements = createNodeArray(parenthesizerRules().parenthesizeElementTypesOfTupleType(elements)); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23593,12 +23667,12 @@ var ts; } // @api function createNamedTupleMember(dotDotDotToken, name, questionToken, type) { - var node = createBaseNode(197 /* NamedTupleMember */); + var node = createBaseNode(197 /* SyntaxKind.NamedTupleMember */); node.dotDotDotToken = dotDotDotToken; node.name = name; node.questionToken = questionToken; node.type = type; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23612,9 +23686,9 @@ var ts; } // @api function createOptionalTypeNode(type) { - var node = createBaseNode(185 /* OptionalType */); + var node = createBaseNode(185 /* SyntaxKind.OptionalType */); node.type = parenthesizerRules().parenthesizeTypeOfOptionalType(type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23625,9 +23699,9 @@ var ts; } // @api function createRestTypeNode(type) { - var node = createBaseNode(186 /* RestType */); + var node = createBaseNode(186 /* SyntaxKind.RestType */); node.type = type; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23639,7 +23713,7 @@ var ts; function createUnionOrIntersectionTypeNode(kind, types, parenthesize) { var node = createBaseNode(kind); node.types = factory.createNodeArray(parenthesize(types)); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } function updateUnionOrIntersectionTypeNode(node, types, parenthesize) { @@ -23649,7 +23723,7 @@ var ts; } // @api function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(187 /* UnionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfUnionType); + return createUnionOrIntersectionTypeNode(187 /* SyntaxKind.UnionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfUnionType); } // @api function updateUnionTypeNode(node, types) { @@ -23657,7 +23731,7 @@ var ts; } // @api function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(188 /* IntersectionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfIntersectionType); + return createUnionOrIntersectionTypeNode(188 /* SyntaxKind.IntersectionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfIntersectionType); } // @api function updateIntersectionTypeNode(node, types) { @@ -23665,12 +23739,12 @@ var ts; } // @api function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createBaseNode(189 /* ConditionalType */); + var node = createBaseNode(189 /* SyntaxKind.ConditionalType */); node.checkType = parenthesizerRules().parenthesizeCheckTypeOfConditionalType(checkType); node.extendsType = parenthesizerRules().parenthesizeExtendsTypeOfConditionalType(extendsType); node.trueType = trueType; node.falseType = falseType; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23684,9 +23758,9 @@ var ts; } // @api function createInferTypeNode(typeParameter) { - var node = createBaseNode(190 /* InferType */); + var node = createBaseNode(190 /* SyntaxKind.InferType */); node.typeParameter = typeParameter; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23697,10 +23771,10 @@ var ts; } // @api function createTemplateLiteralType(head, templateSpans) { - var node = createBaseNode(198 /* TemplateLiteralType */); + var node = createBaseNode(198 /* SyntaxKind.TemplateLiteralType */); node.head = head; node.templateSpans = createNodeArray(templateSpans); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23711,22 +23785,22 @@ var ts; : node; } function createImportTypeNode(argument, qualifierOrAssertions, typeArgumentsOrQualifier, isTypeOfOrTypeArguments, isTypeOf) { - var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; + var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* SyntaxKind.ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; var qualifier = qualifierOrAssertions && ts.isEntityName(qualifierOrAssertions) ? qualifierOrAssertions : typeArgumentsOrQualifier && !ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : undefined; var typeArguments = ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : ts.isArray(isTypeOfOrTypeArguments) ? isTypeOfOrTypeArguments : undefined; isTypeOf = typeof isTypeOfOrTypeArguments === "boolean" ? isTypeOfOrTypeArguments : typeof isTypeOf === "boolean" ? isTypeOf : false; - var node = createBaseNode(200 /* ImportType */); + var node = createBaseNode(200 /* SyntaxKind.ImportType */); node.argument = argument; node.assertions = assertion; node.qualifier = qualifier; node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.isTypeOf = isTypeOf; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } function updateImportTypeNode(node, argument, qualifierOrAssertions, typeArgumentsOrQualifier, isTypeOfOrTypeArguments, isTypeOf) { - var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; + var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* SyntaxKind.ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; var qualifier = qualifierOrAssertions && ts.isEntityName(qualifierOrAssertions) ? qualifierOrAssertions : typeArgumentsOrQualifier && !ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : undefined; var typeArguments = ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : ts.isArray(isTypeOfOrTypeArguments) ? isTypeOfOrTypeArguments : undefined; @@ -23741,9 +23815,9 @@ var ts; } // @api function createParenthesizedType(type) { - var node = createBaseNode(191 /* ParenthesizedType */); + var node = createBaseNode(191 /* SyntaxKind.ParenthesizedType */); node.type = type; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23754,18 +23828,18 @@ var ts; } // @api function createThisTypeNode() { - var node = createBaseNode(192 /* ThisType */); - node.transformFlags = 1 /* ContainsTypeScript */; + var node = createBaseNode(192 /* SyntaxKind.ThisType */); + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api function createTypeOperatorNode(operator, type) { - var node = createBaseNode(193 /* TypeOperator */); + var node = createBaseNode(193 /* SyntaxKind.TypeOperator */); node.operator = operator; - node.type = operator === 145 /* ReadonlyKeyword */ ? + node.type = operator === 145 /* SyntaxKind.ReadonlyKeyword */ ? parenthesizerRules().parenthesizeOperandOfReadonlyTypeOperator(type) : parenthesizerRules().parenthesizeOperandOfTypeOperator(type); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23776,10 +23850,10 @@ var ts; } // @api function createIndexedAccessTypeNode(objectType, indexType) { - var node = createBaseNode(194 /* IndexedAccessType */); + var node = createBaseNode(194 /* SyntaxKind.IndexedAccessType */); node.objectType = parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(objectType); node.indexType = indexType; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23791,14 +23865,14 @@ var ts; } // @api function createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members) { - var node = createBaseNode(195 /* MappedType */); + var node = createBaseNode(195 /* SyntaxKind.MappedType */); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.nameType = nameType; node.questionToken = questionToken; node.type = type; node.members = members && createNodeArray(members); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23814,9 +23888,9 @@ var ts; } // @api function createLiteralTypeNode(literal) { - var node = createBaseNode(196 /* LiteralType */); + var node = createBaseNode(196 /* SyntaxKind.LiteralType */); node.literal = literal; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -23830,16 +23904,16 @@ var ts; // // @api function createObjectBindingPattern(elements) { - var node = createBaseNode(201 /* ObjectBindingPattern */); + var node = createBaseNode(201 /* SyntaxKind.ObjectBindingPattern */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | - 1024 /* ContainsES2015 */ | - 262144 /* ContainsBindingPattern */; - if (node.transformFlags & 16384 /* ContainsRestOrSpread */) { + 1024 /* TransformFlags.ContainsES2015 */ | + 262144 /* TransformFlags.ContainsBindingPattern */; + if (node.transformFlags & 16384 /* TransformFlags.ContainsRestOrSpread */) { node.transformFlags |= - 128 /* ContainsES2018 */ | - 32768 /* ContainsObjectRestOrSpread */; + 128 /* TransformFlags.ContainsES2018 */ | + 32768 /* TransformFlags.ContainsObjectRestOrSpread */; } return node; } @@ -23851,12 +23925,12 @@ var ts; } // @api function createArrayBindingPattern(elements) { - var node = createBaseNode(202 /* ArrayBindingPattern */); + var node = createBaseNode(202 /* SyntaxKind.ArrayBindingPattern */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | - 1024 /* ContainsES2015 */ | - 262144 /* ContainsBindingPattern */; + 1024 /* TransformFlags.ContainsES2015 */ | + 262144 /* TransformFlags.ContainsBindingPattern */; return node; } // @api @@ -23867,21 +23941,21 @@ var ts; } // @api function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createBaseBindingLikeDeclaration(203 /* BindingElement */, + var node = createBaseBindingLikeDeclaration(203 /* SyntaxKind.BindingElement */, /*decorators*/ undefined, /*modifiers*/ undefined, name, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.propertyName = asName(propertyName); node.dotDotDotToken = dotDotDotToken; node.transformFlags |= propagateChildFlags(node.dotDotDotToken) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; if (node.propertyName) { node.transformFlags |= ts.isIdentifier(node.propertyName) ? propagateIdentifierNameFlags(node.propertyName) : propagateChildFlags(node.propertyName); } if (dotDotDotToken) - node.transformFlags |= 16384 /* ContainsRestOrSpread */; + node.transformFlags |= 16384 /* TransformFlags.ContainsRestOrSpread */; return node; } // @api @@ -23903,7 +23977,7 @@ var ts; } // @api function createArrayLiteralExpression(elements, multiLine) { - var node = createBaseExpression(204 /* ArrayLiteralExpression */); + var node = createBaseExpression(204 /* SyntaxKind.ArrayLiteralExpression */); // Ensure we add a trailing comma for something like `[NumericLiteral(1), NumericLiteral(2), OmittedExpresion]` so that // we end up with `[1, 2, ,]` instead of `[1, 2, ]` otherwise the `OmittedExpression` will just end up being treated like // a trailing comma. @@ -23922,7 +23996,7 @@ var ts; } // @api function createObjectLiteralExpression(properties, multiLine) { - var node = createBaseExpression(205 /* ObjectLiteralExpression */); + var node = createBaseExpression(205 /* SyntaxKind.ObjectLiteralExpression */); node.properties = createNodeArray(properties); node.multiLine = multiLine; node.transformFlags |= propagateChildrenFlags(node.properties); @@ -23936,7 +24010,7 @@ var ts; } // @api function createPropertyAccessExpression(expression, name) { - var node = createBaseExpression(206 /* PropertyAccessExpression */); + var node = createBaseExpression(206 /* SyntaxKind.PropertyAccessExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.name = asName(name); node.transformFlags = @@ -23948,8 +24022,8 @@ var ts; // super method calls require a lexical 'this' // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators node.transformFlags |= - 256 /* ContainsES2017 */ | - 128 /* ContainsES2018 */; + 256 /* TransformFlags.ContainsES2017 */ | + 128 /* TransformFlags.ContainsES2018 */; } return node; } @@ -23965,13 +24039,13 @@ var ts; } // @api function createPropertyAccessChain(expression, questionDotToken, name) { - var node = createBaseExpression(206 /* PropertyAccessExpression */); - node.flags |= 32 /* OptionalChain */; + var node = createBaseExpression(206 /* SyntaxKind.PropertyAccessExpression */); + node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.questionDotToken = questionDotToken; node.name = asName(name); node.transformFlags |= - 32 /* ContainsES2020 */ | + 32 /* TransformFlags.ContainsES2020 */ | propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | (ts.isIdentifier(node.name) ? @@ -23981,7 +24055,7 @@ var ts; } // @api function updatePropertyAccessChain(node, expression, questionDotToken, name) { - ts.Debug.assert(!!(node.flags & 32 /* OptionalChain */), "Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."); + ts.Debug.assert(!!(node.flags & 32 /* NodeFlags.OptionalChain */), "Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."); // Because we are updating an existing PropertyAccessChain we want to inherit its emitFlags // instead of using the default from createPropertyAccess return node.expression !== expression @@ -23992,7 +24066,7 @@ var ts; } // @api function createElementAccessExpression(expression, index) { - var node = createBaseExpression(207 /* ElementAccessExpression */); + var node = createBaseExpression(207 /* SyntaxKind.ElementAccessExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.argumentExpression = asExpression(index); node.transformFlags |= @@ -24002,8 +24076,8 @@ var ts; // super method calls require a lexical 'this' // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators node.transformFlags |= - 256 /* ContainsES2017 */ | - 128 /* ContainsES2018 */; + 256 /* TransformFlags.ContainsES2017 */ | + 128 /* TransformFlags.ContainsES2018 */; } return node; } @@ -24019,8 +24093,8 @@ var ts; } // @api function createElementAccessChain(expression, questionDotToken, index) { - var node = createBaseExpression(207 /* ElementAccessExpression */); - node.flags |= 32 /* OptionalChain */; + var node = createBaseExpression(207 /* SyntaxKind.ElementAccessExpression */); + node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.questionDotToken = questionDotToken; node.argumentExpression = asExpression(index); @@ -24028,12 +24102,12 @@ var ts; propagateChildFlags(node.expression) | propagateChildFlags(node.questionDotToken) | propagateChildFlags(node.argumentExpression) | - 32 /* ContainsES2020 */; + 32 /* TransformFlags.ContainsES2020 */; return node; } // @api function updateElementAccessChain(node, expression, questionDotToken, argumentExpression) { - ts.Debug.assert(!!(node.flags & 32 /* OptionalChain */), "Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."); + ts.Debug.assert(!!(node.flags & 32 /* NodeFlags.OptionalChain */), "Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."); // Because we are updating an existing ElementAccessChain we want to inherit its emitFlags // instead of using the default from createElementAccess return node.expression !== expression @@ -24044,7 +24118,7 @@ var ts; } // @api function createCallExpression(expression, typeArguments, argumentsArray) { - var node = createBaseExpression(208 /* CallExpression */); + var node = createBaseExpression(208 /* SyntaxKind.CallExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(argumentsArray)); @@ -24053,13 +24127,13 @@ var ts; propagateChildrenFlags(node.typeArguments) | propagateChildrenFlags(node.arguments); if (node.typeArguments) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } if (ts.isImportKeyword(node.expression)) { - node.transformFlags |= 4194304 /* ContainsDynamicImport */; + node.transformFlags |= 4194304 /* TransformFlags.ContainsDynamicImport */; } else if (ts.isSuperProperty(node.expression)) { - node.transformFlags |= 8192 /* ContainsLexicalThis */; + node.transformFlags |= 8192 /* TransformFlags.ContainsLexicalThis */; } return node; } @@ -24076,8 +24150,8 @@ var ts; } // @api function createCallChain(expression, questionDotToken, typeArguments, argumentsArray) { - var node = createBaseExpression(208 /* CallExpression */); - node.flags |= 32 /* OptionalChain */; + var node = createBaseExpression(208 /* SyntaxKind.CallExpression */); + node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.questionDotToken = questionDotToken; node.typeArguments = asNodeArray(typeArguments); @@ -24087,18 +24161,18 @@ var ts; propagateChildFlags(node.questionDotToken) | propagateChildrenFlags(node.typeArguments) | propagateChildrenFlags(node.arguments) | - 32 /* ContainsES2020 */; + 32 /* TransformFlags.ContainsES2020 */; if (node.typeArguments) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } if (ts.isSuperProperty(node.expression)) { - node.transformFlags |= 8192 /* ContainsLexicalThis */; + node.transformFlags |= 8192 /* TransformFlags.ContainsLexicalThis */; } return node; } // @api function updateCallChain(node, expression, questionDotToken, typeArguments, argumentsArray) { - ts.Debug.assert(!!(node.flags & 32 /* OptionalChain */), "Cannot update a CallExpression using updateCallChain. Use updateCall instead."); + ts.Debug.assert(!!(node.flags & 32 /* NodeFlags.OptionalChain */), "Cannot update a CallExpression using updateCallChain. Use updateCall instead."); return node.expression !== expression || node.questionDotToken !== questionDotToken || node.typeArguments !== typeArguments @@ -24108,7 +24182,7 @@ var ts; } // @api function createNewExpression(expression, typeArguments, argumentsArray) { - var node = createBaseExpression(209 /* NewExpression */); + var node = createBaseExpression(209 /* SyntaxKind.NewExpression */); node.expression = parenthesizerRules().parenthesizeExpressionOfNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(argumentsArray) : undefined; @@ -24116,9 +24190,9 @@ var ts; propagateChildFlags(node.expression) | propagateChildrenFlags(node.typeArguments) | propagateChildrenFlags(node.arguments) | - 32 /* ContainsES2020 */; + 32 /* TransformFlags.ContainsES2020 */; if (node.typeArguments) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } return node; } @@ -24132,7 +24206,7 @@ var ts; } // @api function createTaggedTemplateExpression(tag, typeArguments, template) { - var node = createBaseExpression(210 /* TaggedTemplateExpression */); + var node = createBaseExpression(210 /* SyntaxKind.TaggedTemplateExpression */); node.tag = parenthesizerRules().parenthesizeLeftSideOfAccess(tag); node.typeArguments = asNodeArray(typeArguments); node.template = template; @@ -24140,12 +24214,12 @@ var ts; propagateChildFlags(node.tag) | propagateChildrenFlags(node.typeArguments) | propagateChildFlags(node.template) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; if (node.typeArguments) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } if (ts.hasInvalidEscape(node.template)) { - node.transformFlags |= 128 /* ContainsES2018 */; + node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } return node; } @@ -24159,13 +24233,13 @@ var ts; } // @api function createTypeAssertion(type, expression) { - var node = createBaseExpression(211 /* TypeAssertionExpression */); + var node = createBaseExpression(211 /* SyntaxKind.TypeAssertionExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.type = type; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.type) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -24177,7 +24251,7 @@ var ts; } // @api function createParenthesizedExpression(expression) { - var node = createBaseExpression(212 /* ParenthesizedExpression */); + var node = createBaseExpression(212 /* SyntaxKind.ParenthesizedExpression */); node.expression = expression; node.transformFlags = propagateChildFlags(node.expression); return node; @@ -24190,23 +24264,23 @@ var ts; } // @api function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(213 /* FunctionExpression */, + var node = createBaseFunctionLikeDeclaration(213 /* SyntaxKind.FunctionExpression */, /*decorators*/ undefined, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.transformFlags |= propagateChildFlags(node.asteriskToken); if (node.typeParameters) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } - if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { + if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { if (node.asteriskToken) { - node.transformFlags |= 128 /* ContainsES2018 */; + node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } else { - node.transformFlags |= 256 /* ContainsES2017 */; + node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */; } } else if (node.asteriskToken) { - node.transformFlags |= 2048 /* ContainsGenerator */; + node.transformFlags |= 2048 /* TransformFlags.ContainsGenerator */; } return node; } @@ -24224,15 +24298,15 @@ var ts; } // @api function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createBaseFunctionLikeDeclaration(214 /* ArrowFunction */, + var node = createBaseFunctionLikeDeclaration(214 /* SyntaxKind.ArrowFunction */, /*decorators*/ undefined, modifiers, /*name*/ undefined, typeParameters, parameters, type, parenthesizerRules().parenthesizeConciseBodyOfArrowFunction(body)); - node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* EqualsGreaterThanToken */); + node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* SyntaxKind.EqualsGreaterThanToken */); node.transformFlags |= propagateChildFlags(node.equalsGreaterThanToken) | - 1024 /* ContainsES2015 */; - if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { - node.transformFlags |= 256 /* ContainsES2017 */ | 8192 /* ContainsLexicalThis */; + 1024 /* TransformFlags.ContainsES2015 */; + if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { + node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */ | 8192 /* TransformFlags.ContainsLexicalThis */; } return node; } @@ -24249,7 +24323,7 @@ var ts; } // @api function createDeleteExpression(expression) { - var node = createBaseExpression(215 /* DeleteExpression */); + var node = createBaseExpression(215 /* SyntaxKind.DeleteExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24262,7 +24336,7 @@ var ts; } // @api function createTypeOfExpression(expression) { - var node = createBaseExpression(216 /* TypeOfExpression */); + var node = createBaseExpression(216 /* SyntaxKind.TypeOfExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24275,7 +24349,7 @@ var ts; } // @api function createVoidExpression(expression) { - var node = createBaseExpression(217 /* VoidExpression */); + var node = createBaseExpression(217 /* SyntaxKind.VoidExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24288,13 +24362,13 @@ var ts; } // @api function createAwaitExpression(expression) { - var node = createBaseExpression(218 /* AwaitExpression */); + var node = createBaseExpression(218 /* SyntaxKind.AwaitExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 256 /* ContainsES2017 */ | - 128 /* ContainsES2018 */ | - 1048576 /* ContainsAwait */; + 256 /* TransformFlags.ContainsES2017 */ | + 128 /* TransformFlags.ContainsES2018 */ | + 1048576 /* TransformFlags.ContainsAwait */; return node; } // @api @@ -24305,17 +24379,17 @@ var ts; } // @api function createPrefixUnaryExpression(operator, operand) { - var node = createBaseExpression(219 /* PrefixUnaryExpression */); + var node = createBaseExpression(219 /* SyntaxKind.PrefixUnaryExpression */); node.operator = operator; node.operand = parenthesizerRules().parenthesizeOperandOfPrefixUnary(operand); node.transformFlags |= propagateChildFlags(node.operand); // Only set this flag for non-generated identifiers and non-"local" names. See the // comment in `visitPreOrPostfixUnaryExpression` in module.ts - if ((operator === 45 /* PlusPlusToken */ || operator === 46 /* MinusMinusToken */) && + if ((operator === 45 /* SyntaxKind.PlusPlusToken */ || operator === 46 /* SyntaxKind.MinusMinusToken */) && ts.isIdentifier(node.operand) && !ts.isGeneratedIdentifier(node.operand) && !ts.isLocalName(node.operand)) { - node.transformFlags |= 67108864 /* ContainsUpdateExpressionForIdentifier */; + node.transformFlags |= 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */; } return node; } @@ -24327,7 +24401,7 @@ var ts; } // @api function createPostfixUnaryExpression(operand, operator) { - var node = createBaseExpression(220 /* PostfixUnaryExpression */); + var node = createBaseExpression(220 /* SyntaxKind.PostfixUnaryExpression */); node.operator = operator; node.operand = parenthesizerRules().parenthesizeOperandOfPostfixUnary(operand); node.transformFlags |= propagateChildFlags(node.operand); @@ -24336,7 +24410,7 @@ var ts; if (ts.isIdentifier(node.operand) && !ts.isGeneratedIdentifier(node.operand) && !ts.isLocalName(node.operand)) { - node.transformFlags |= 67108864 /* ContainsUpdateExpressionForIdentifier */; + node.transformFlags |= 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */; } return node; } @@ -24348,7 +24422,7 @@ var ts; } // @api function createBinaryExpression(left, operator, right) { - var node = createBaseExpression(221 /* BinaryExpression */); + var node = createBaseExpression(221 /* SyntaxKind.BinaryExpression */); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = parenthesizerRules().parenthesizeLeftSideOfBinary(operatorKind, left); @@ -24358,46 +24432,46 @@ var ts; propagateChildFlags(node.left) | propagateChildFlags(node.operatorToken) | propagateChildFlags(node.right); - if (operatorKind === 60 /* QuestionQuestionToken */) { - node.transformFlags |= 32 /* ContainsES2020 */; + if (operatorKind === 60 /* SyntaxKind.QuestionQuestionToken */) { + node.transformFlags |= 32 /* TransformFlags.ContainsES2020 */; } - else if (operatorKind === 63 /* EqualsToken */) { + else if (operatorKind === 63 /* SyntaxKind.EqualsToken */) { if (ts.isObjectLiteralExpression(node.left)) { node.transformFlags |= - 1024 /* ContainsES2015 */ | - 128 /* ContainsES2018 */ | - 4096 /* ContainsDestructuringAssignment */ | + 1024 /* TransformFlags.ContainsES2015 */ | + 128 /* TransformFlags.ContainsES2018 */ | + 4096 /* TransformFlags.ContainsDestructuringAssignment */ | propagateAssignmentPatternFlags(node.left); } else if (ts.isArrayLiteralExpression(node.left)) { node.transformFlags |= - 1024 /* ContainsES2015 */ | - 4096 /* ContainsDestructuringAssignment */ | + 1024 /* TransformFlags.ContainsES2015 */ | + 4096 /* TransformFlags.ContainsDestructuringAssignment */ | propagateAssignmentPatternFlags(node.left); } } - else if (operatorKind === 42 /* AsteriskAsteriskToken */ || operatorKind === 67 /* AsteriskAsteriskEqualsToken */) { - node.transformFlags |= 512 /* ContainsES2016 */; + else if (operatorKind === 42 /* SyntaxKind.AsteriskAsteriskToken */ || operatorKind === 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */) { + node.transformFlags |= 512 /* TransformFlags.ContainsES2016 */; } else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) { - node.transformFlags |= 16 /* ContainsES2021 */; + node.transformFlags |= 16 /* TransformFlags.ContainsES2021 */; } return node; } function propagateAssignmentPatternFlags(node) { - if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */) - return 32768 /* ContainsObjectRestOrSpread */; - if (node.transformFlags & 128 /* ContainsES2018 */) { + if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) + return 32768 /* TransformFlags.ContainsObjectRestOrSpread */; + if (node.transformFlags & 128 /* TransformFlags.ContainsES2018 */) { // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c' // will not be correctly interpreted by the ES2018 transformer for (var _i = 0, _a = ts.getElementsOfBindingOrAssignmentPattern(node); _i < _a.length; _i++) { var element = _a[_i]; var target = ts.getTargetOfBindingOrAssignmentElement(element); if (target && ts.isAssignmentPattern(target)) { - if (target.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { - return 32768 /* ContainsObjectRestOrSpread */; + if (target.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + return 32768 /* TransformFlags.ContainsObjectRestOrSpread */; } - if (target.transformFlags & 128 /* ContainsES2018 */) { + if (target.transformFlags & 128 /* TransformFlags.ContainsES2018 */) { var flags_1 = propagateAssignmentPatternFlags(target); if (flags_1) return flags_1; @@ -24405,7 +24479,7 @@ var ts; } } } - return 0 /* None */; + return 0 /* TransformFlags.None */; } // @api function updateBinaryExpression(node, left, operator, right) { @@ -24417,11 +24491,11 @@ var ts; } // @api function createConditionalExpression(condition, questionToken, whenTrue, colonToken, whenFalse) { - var node = createBaseExpression(222 /* ConditionalExpression */); + var node = createBaseExpression(222 /* SyntaxKind.ConditionalExpression */); node.condition = parenthesizerRules().parenthesizeConditionOfConditionalExpression(condition); - node.questionToken = questionToken !== null && questionToken !== void 0 ? questionToken : createToken(57 /* QuestionToken */); + node.questionToken = questionToken !== null && questionToken !== void 0 ? questionToken : createToken(57 /* SyntaxKind.QuestionToken */); node.whenTrue = parenthesizerRules().parenthesizeBranchOfConditionalExpression(whenTrue); - node.colonToken = colonToken !== null && colonToken !== void 0 ? colonToken : createToken(58 /* ColonToken */); + node.colonToken = colonToken !== null && colonToken !== void 0 ? colonToken : createToken(58 /* SyntaxKind.ColonToken */); node.whenFalse = parenthesizerRules().parenthesizeBranchOfConditionalExpression(whenFalse); node.transformFlags |= propagateChildFlags(node.condition) | @@ -24443,13 +24517,13 @@ var ts; } // @api function createTemplateExpression(head, templateSpans) { - var node = createBaseExpression(223 /* TemplateExpression */); + var node = createBaseExpression(223 /* SyntaxKind.TemplateExpression */); node.head = head; node.templateSpans = createNodeArray(templateSpans); node.transformFlags |= propagateChildFlags(node.head) | propagateChildrenFlags(node.templateSpans) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api @@ -24460,8 +24534,8 @@ var ts; : node; } function createTemplateLiteralLikeNodeChecked(kind, text, rawText, templateFlags) { - if (templateFlags === void 0) { templateFlags = 0 /* None */; } - ts.Debug.assert(!(templateFlags & ~2048 /* TemplateLiteralLikeFlags */), "Unsupported template flags."); + if (templateFlags === void 0) { templateFlags = 0 /* TokenFlags.None */; } + ts.Debug.assert(!(templateFlags & ~2048 /* TokenFlags.TemplateLiteralLikeFlags */), "Unsupported template flags."); // NOTE: without the assignment to `undefined`, we don't narrow the initial type of `cooked`. // eslint-disable-next-line no-undef-init var cooked = undefined; @@ -24487,41 +24561,41 @@ var ts; var node = createBaseToken(kind); node.text = text; node.rawText = rawText; - node.templateFlags = templateFlags & 2048 /* TemplateLiteralLikeFlags */; - node.transformFlags |= 1024 /* ContainsES2015 */; + node.templateFlags = templateFlags & 2048 /* TokenFlags.TemplateLiteralLikeFlags */; + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; if (node.templateFlags) { - node.transformFlags |= 128 /* ContainsES2018 */; + node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } return node; } // @api function createTemplateHead(text, rawText, templateFlags) { - return createTemplateLiteralLikeNodeChecked(15 /* TemplateHead */, text, rawText, templateFlags); + return createTemplateLiteralLikeNodeChecked(15 /* SyntaxKind.TemplateHead */, text, rawText, templateFlags); } // @api function createTemplateMiddle(text, rawText, templateFlags) { - return createTemplateLiteralLikeNodeChecked(16 /* TemplateMiddle */, text, rawText, templateFlags); + return createTemplateLiteralLikeNodeChecked(16 /* SyntaxKind.TemplateMiddle */, text, rawText, templateFlags); } // @api function createTemplateTail(text, rawText, templateFlags) { - return createTemplateLiteralLikeNodeChecked(17 /* TemplateTail */, text, rawText, templateFlags); + return createTemplateLiteralLikeNodeChecked(17 /* SyntaxKind.TemplateTail */, text, rawText, templateFlags); } // @api function createNoSubstitutionTemplateLiteral(text, rawText, templateFlags) { - return createTemplateLiteralLikeNodeChecked(14 /* NoSubstitutionTemplateLiteral */, text, rawText, templateFlags); + return createTemplateLiteralLikeNodeChecked(14 /* SyntaxKind.NoSubstitutionTemplateLiteral */, text, rawText, templateFlags); } // @api function createYieldExpression(asteriskToken, expression) { ts.Debug.assert(!asteriskToken || !!expression, "A `YieldExpression` with an asteriskToken must have an expression."); - var node = createBaseExpression(224 /* YieldExpression */); + var node = createBaseExpression(224 /* SyntaxKind.YieldExpression */); node.expression = expression && parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.asteriskToken = asteriskToken; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.asteriskToken) | - 1024 /* ContainsES2015 */ | - 128 /* ContainsES2018 */ | - 524288 /* ContainsYield */; + 1024 /* TransformFlags.ContainsES2015 */ | + 128 /* TransformFlags.ContainsES2018 */ | + 524288 /* TransformFlags.ContainsYield */; return node; } // @api @@ -24533,12 +24607,12 @@ var ts; } // @api function createSpreadElement(expression) { - var node = createBaseExpression(225 /* SpreadElement */); + var node = createBaseExpression(225 /* SyntaxKind.SpreadElement */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 1024 /* ContainsES2015 */ | - 16384 /* ContainsRestOrSpread */; + 1024 /* TransformFlags.ContainsES2015 */ | + 16384 /* TransformFlags.ContainsRestOrSpread */; return node; } // @api @@ -24549,8 +24623,8 @@ var ts; } // @api function createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(226 /* ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members); - node.transformFlags |= 1024 /* ContainsES2015 */; + var node = createBaseClassLikeDeclaration(226 /* SyntaxKind.ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members); + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api @@ -24566,17 +24640,17 @@ var ts; } // @api function createOmittedExpression() { - return createBaseExpression(227 /* OmittedExpression */); + return createBaseExpression(227 /* SyntaxKind.OmittedExpression */); } // @api function createExpressionWithTypeArguments(expression, typeArguments) { - var node = createBaseNode(228 /* ExpressionWithTypeArguments */); + var node = createBaseNode(228 /* SyntaxKind.ExpressionWithTypeArguments */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.transformFlags |= propagateChildFlags(node.expression) | propagateChildrenFlags(node.typeArguments) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api @@ -24588,13 +24662,13 @@ var ts; } // @api function createAsExpression(expression, type) { - var node = createBaseExpression(229 /* AsExpression */); + var node = createBaseExpression(229 /* SyntaxKind.AsExpression */); node.expression = expression; node.type = type; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.type) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -24606,11 +24680,11 @@ var ts; } // @api function createNonNullExpression(expression) { - var node = createBaseExpression(230 /* NonNullExpression */); + var node = createBaseExpression(230 /* SyntaxKind.NonNullExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -24624,33 +24698,33 @@ var ts; } // @api function createNonNullChain(expression) { - var node = createBaseExpression(230 /* NonNullExpression */); - node.flags |= 32 /* OptionalChain */; + var node = createBaseExpression(230 /* SyntaxKind.NonNullExpression */); + node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api function updateNonNullChain(node, expression) { - ts.Debug.assert(!!(node.flags & 32 /* OptionalChain */), "Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."); + ts.Debug.assert(!!(node.flags & 32 /* NodeFlags.OptionalChain */), "Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."); return node.expression !== expression ? update(createNonNullChain(expression), node) : node; } // @api function createMetaProperty(keywordToken, name) { - var node = createBaseExpression(231 /* MetaProperty */); + var node = createBaseExpression(231 /* SyntaxKind.MetaProperty */); node.keywordToken = keywordToken; node.name = name; node.transformFlags |= propagateChildFlags(node.name); switch (keywordToken) { - case 103 /* NewKeyword */: - node.transformFlags |= 1024 /* ContainsES2015 */; + case 103 /* SyntaxKind.NewKeyword */: + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; break; - case 100 /* ImportKeyword */: - node.transformFlags |= 4 /* ContainsESNext */; + case 100 /* SyntaxKind.ImportKeyword */: + node.transformFlags |= 4 /* TransformFlags.ContainsESNext */; break; default: return ts.Debug.assertNever(keywordToken); @@ -24668,13 +24742,13 @@ var ts; // // @api function createTemplateSpan(expression, literal) { - var node = createBaseNode(233 /* TemplateSpan */); + var node = createBaseNode(233 /* SyntaxKind.TemplateSpan */); node.expression = expression; node.literal = literal; node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.literal) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api @@ -24686,8 +24760,8 @@ var ts; } // @api function createSemicolonClassElement() { - var node = createBaseNode(234 /* SemicolonClassElement */); - node.transformFlags |= 1024 /* ContainsES2015 */; + var node = createBaseNode(234 /* SyntaxKind.SemicolonClassElement */); + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } // @@ -24695,7 +24769,7 @@ var ts; // // @api function createBlock(statements, multiLine) { - var node = createBaseNode(235 /* Block */); + var node = createBaseNode(235 /* SyntaxKind.Block */); node.statements = createNodeArray(statements); node.multiLine = multiLine; node.transformFlags |= propagateChildrenFlags(node.statements); @@ -24709,12 +24783,12 @@ var ts; } // @api function createVariableStatement(modifiers, declarationList) { - var node = createBaseDeclaration(237 /* VariableStatement */, /*decorators*/ undefined, modifiers); + var node = createBaseDeclaration(237 /* SyntaxKind.VariableStatement */, /*decorators*/ undefined, modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; node.transformFlags |= propagateChildFlags(node.declarationList); - if (ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { - node.transformFlags = 1 /* ContainsTypeScript */; + if (ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } return node; } @@ -24727,11 +24801,11 @@ var ts; } // @api function createEmptyStatement() { - return createBaseNode(236 /* EmptyStatement */); + return createBaseNode(236 /* SyntaxKind.EmptyStatement */); } // @api function createExpressionStatement(expression) { - var node = createBaseNode(238 /* ExpressionStatement */); + var node = createBaseNode(238 /* SyntaxKind.ExpressionStatement */); node.expression = parenthesizerRules().parenthesizeExpressionOfExpressionStatement(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24744,7 +24818,7 @@ var ts; } // @api function createIfStatement(expression, thenStatement, elseStatement) { - var node = createBaseNode(239 /* IfStatement */); + var node = createBaseNode(239 /* SyntaxKind.IfStatement */); node.expression = expression; node.thenStatement = asEmbeddedStatement(thenStatement); node.elseStatement = asEmbeddedStatement(elseStatement); @@ -24764,7 +24838,7 @@ var ts; } // @api function createDoStatement(statement, expression) { - var node = createBaseNode(240 /* DoStatement */); + var node = createBaseNode(240 /* SyntaxKind.DoStatement */); node.statement = asEmbeddedStatement(statement); node.expression = expression; node.transformFlags |= @@ -24781,7 +24855,7 @@ var ts; } // @api function createWhileStatement(expression, statement) { - var node = createBaseNode(241 /* WhileStatement */); + var node = createBaseNode(241 /* SyntaxKind.WhileStatement */); node.expression = expression; node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -24798,7 +24872,7 @@ var ts; } // @api function createForStatement(initializer, condition, incrementor, statement) { - var node = createBaseNode(242 /* ForStatement */); + var node = createBaseNode(242 /* SyntaxKind.ForStatement */); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -24821,7 +24895,7 @@ var ts; } // @api function createForInStatement(initializer, expression, statement) { - var node = createBaseNode(243 /* ForInStatement */); + var node = createBaseNode(243 /* SyntaxKind.ForInStatement */); node.initializer = initializer; node.expression = expression; node.statement = asEmbeddedStatement(statement); @@ -24841,7 +24915,7 @@ var ts; } // @api function createForOfStatement(awaitModifier, initializer, expression, statement) { - var node = createBaseNode(244 /* ForOfStatement */); + var node = createBaseNode(244 /* SyntaxKind.ForOfStatement */); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); @@ -24851,9 +24925,9 @@ var ts; propagateChildFlags(node.initializer) | propagateChildFlags(node.expression) | propagateChildFlags(node.statement) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; if (awaitModifier) - node.transformFlags |= 128 /* ContainsES2018 */; + node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; return node; } // @api @@ -24867,11 +24941,11 @@ var ts; } // @api function createContinueStatement(label) { - var node = createBaseNode(245 /* ContinueStatement */); + var node = createBaseNode(245 /* SyntaxKind.ContinueStatement */); node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | - 2097152 /* ContainsHoistedDeclarationOrCompletion */; + 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; return node; } // @api @@ -24882,11 +24956,11 @@ var ts; } // @api function createBreakStatement(label) { - var node = createBaseNode(246 /* BreakStatement */); + var node = createBaseNode(246 /* SyntaxKind.BreakStatement */); node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | - 2097152 /* ContainsHoistedDeclarationOrCompletion */; + 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; return node; } // @api @@ -24897,13 +24971,13 @@ var ts; } // @api function createReturnStatement(expression) { - var node = createBaseNode(247 /* ReturnStatement */); + var node = createBaseNode(247 /* SyntaxKind.ReturnStatement */); node.expression = expression; // return in an ES2018 async generator must be awaited node.transformFlags |= propagateChildFlags(node.expression) | - 128 /* ContainsES2018 */ | - 2097152 /* ContainsHoistedDeclarationOrCompletion */; + 128 /* TransformFlags.ContainsES2018 */ | + 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; return node; } // @api @@ -24914,7 +24988,7 @@ var ts; } // @api function createWithStatement(expression, statement) { - var node = createBaseNode(248 /* WithStatement */); + var node = createBaseNode(248 /* SyntaxKind.WithStatement */); node.expression = expression; node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -24931,7 +25005,7 @@ var ts; } // @api function createSwitchStatement(expression, caseBlock) { - var node = createBaseNode(249 /* SwitchStatement */); + var node = createBaseNode(249 /* SyntaxKind.SwitchStatement */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.caseBlock = caseBlock; node.transformFlags |= @@ -24948,7 +25022,7 @@ var ts; } // @api function createLabeledStatement(label, statement) { - var node = createBaseNode(250 /* LabeledStatement */); + var node = createBaseNode(250 /* SyntaxKind.LabeledStatement */); node.label = asName(label); node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -24965,7 +25039,7 @@ var ts; } // @api function createThrowStatement(expression) { - var node = createBaseNode(251 /* ThrowStatement */); + var node = createBaseNode(251 /* SyntaxKind.ThrowStatement */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24978,7 +25052,7 @@ var ts; } // @api function createTryStatement(tryBlock, catchClause, finallyBlock) { - var node = createBaseNode(252 /* TryStatement */); + var node = createBaseNode(252 /* SyntaxKind.TryStatement */); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -24998,17 +25072,17 @@ var ts; } // @api function createDebuggerStatement() { - return createBaseNode(253 /* DebuggerStatement */); + return createBaseNode(253 /* SyntaxKind.DebuggerStatement */); } // @api function createVariableDeclaration(name, exclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(254 /* VariableDeclaration */, + var node = createBaseVariableLikeDeclaration(254 /* SyntaxKind.VariableDeclaration */, /*decorators*/ undefined, /*modifiers*/ undefined, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.exclamationToken = exclamationToken; node.transformFlags |= propagateChildFlags(node.exclamationToken); if (exclamationToken) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } return node; } @@ -25023,17 +25097,17 @@ var ts; } // @api function createVariableDeclarationList(declarations, flags) { - if (flags === void 0) { flags = 0 /* None */; } - var node = createBaseNode(255 /* VariableDeclarationList */); - node.flags |= flags & 3 /* BlockScoped */; + if (flags === void 0) { flags = 0 /* NodeFlags.None */; } + var node = createBaseNode(255 /* SyntaxKind.VariableDeclarationList */); + node.flags |= flags & 3 /* NodeFlags.BlockScoped */; node.declarations = createNodeArray(declarations); node.transformFlags |= propagateChildrenFlags(node.declarations) | - 2097152 /* ContainsHoistedDeclarationOrCompletion */; - if (flags & 3 /* BlockScoped */) { + 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + if (flags & 3 /* NodeFlags.BlockScoped */) { node.transformFlags |= - 1024 /* ContainsES2015 */ | - 131072 /* ContainsBlockScopedBinding */; + 1024 /* TransformFlags.ContainsES2015 */ | + 131072 /* TransformFlags.ContainsBlockScopedBinding */; } return node; } @@ -25045,25 +25119,25 @@ var ts; } // @api function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(256 /* FunctionDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(256 /* SyntaxKind.FunctionDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; - if (!node.body || ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { - node.transformFlags = 1 /* ContainsTypeScript */; + if (!node.body || ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } else { node.transformFlags |= propagateChildFlags(node.asteriskToken) | - 2097152 /* ContainsHoistedDeclarationOrCompletion */; - if (ts.modifiersToFlags(node.modifiers) & 256 /* Async */) { + 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { if (node.asteriskToken) { - node.transformFlags |= 128 /* ContainsES2018 */; + node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } else { - node.transformFlags |= 256 /* ContainsES2017 */; + node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */; } } else if (node.asteriskToken) { - node.transformFlags |= 2048 /* ContainsGenerator */; + node.transformFlags |= 2048 /* TransformFlags.ContainsGenerator */; } } return node; @@ -25083,14 +25157,14 @@ var ts; } // @api function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(257 /* ClassDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses, members); - if (ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { - node.transformFlags = 1 /* ContainsTypeScript */; + var node = createBaseClassLikeDeclaration(257 /* SyntaxKind.ClassDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses, members); + if (ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } else { - node.transformFlags |= 1024 /* ContainsES2015 */; - if (node.transformFlags & 4096 /* ContainsTypeScriptClassSyntax */) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; + if (node.transformFlags & 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */) { + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } } return node; @@ -25108,9 +25182,9 @@ var ts; } // @api function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseInterfaceOrClassLikeDeclaration(258 /* InterfaceDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses); + var node = createBaseInterfaceOrClassLikeDeclaration(258 /* SyntaxKind.InterfaceDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses); node.members = createNodeArray(members); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -25126,9 +25200,9 @@ var ts; } // @api function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createBaseGenericNamedDeclaration(259 /* TypeAliasDeclaration */, decorators, modifiers, name, typeParameters); + var node = createBaseGenericNamedDeclaration(259 /* SyntaxKind.TypeAliasDeclaration */, decorators, modifiers, name, typeParameters); node.type = type; - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -25143,12 +25217,12 @@ var ts; } // @api function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createBaseNamedDeclaration(260 /* EnumDeclaration */, decorators, modifiers, name); + var node = createBaseNamedDeclaration(260 /* SyntaxKind.EnumDeclaration */, decorators, modifiers, name); node.members = createNodeArray(members); node.transformFlags |= propagateChildrenFlags(node.members) | - 1 /* ContainsTypeScript */; - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await` + 1 /* TransformFlags.ContainsTypeScript */; + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await` return node; } // @api @@ -25162,21 +25236,21 @@ var ts; } // @api function createModuleDeclaration(decorators, modifiers, name, body, flags) { - if (flags === void 0) { flags = 0 /* None */; } - var node = createBaseDeclaration(261 /* ModuleDeclaration */, decorators, modifiers); - node.flags |= flags & (16 /* Namespace */ | 4 /* NestedNamespace */ | 1024 /* GlobalAugmentation */); + if (flags === void 0) { flags = 0 /* NodeFlags.None */; } + var node = createBaseDeclaration(261 /* SyntaxKind.ModuleDeclaration */, decorators, modifiers); + node.flags |= flags & (16 /* NodeFlags.Namespace */ | 4 /* NodeFlags.NestedNamespace */ | 1024 /* NodeFlags.GlobalAugmentation */); node.name = name; node.body = body; - if (ts.modifiersToFlags(node.modifiers) & 2 /* Ambient */) { - node.transformFlags = 1 /* ContainsTypeScript */; + if (ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } else { node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.body) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; } - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`. + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`. return node; } // @api @@ -25190,7 +25264,7 @@ var ts; } // @api function createModuleBlock(statements) { - var node = createBaseNode(262 /* ModuleBlock */); + var node = createBaseNode(262 /* SyntaxKind.ModuleBlock */); node.statements = createNodeArray(statements); node.transformFlags |= propagateChildrenFlags(node.statements); return node; @@ -25203,7 +25277,7 @@ var ts; } // @api function createCaseBlock(clauses) { - var node = createBaseNode(263 /* CaseBlock */); + var node = createBaseNode(263 /* SyntaxKind.CaseBlock */); node.clauses = createNodeArray(clauses); node.transformFlags |= propagateChildrenFlags(node.clauses); return node; @@ -25216,10 +25290,10 @@ var ts; } // @api function createNamespaceExportDeclaration(name) { - var node = createBaseNamedDeclaration(264 /* NamespaceExportDeclaration */, + var node = createBaseNamedDeclaration(264 /* SyntaxKind.NamespaceExportDeclaration */, /*decorators*/ undefined, /*modifiers*/ undefined, name); - node.transformFlags = 1 /* ContainsTypeScript */; + node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -25230,13 +25304,13 @@ var ts; } // @api function createImportEqualsDeclaration(decorators, modifiers, isTypeOnly, name, moduleReference) { - var node = createBaseNamedDeclaration(265 /* ImportEqualsDeclaration */, decorators, modifiers, name); + var node = createBaseNamedDeclaration(265 /* SyntaxKind.ImportEqualsDeclaration */, decorators, modifiers, name); node.isTypeOnly = isTypeOnly; node.moduleReference = moduleReference; node.transformFlags |= propagateChildFlags(node.moduleReference); if (!ts.isExternalModuleReference(node.moduleReference)) - node.transformFlags |= 1 /* ContainsTypeScript */; - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context return node; } // @api @@ -25251,14 +25325,14 @@ var ts; } // @api function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(266 /* ImportDeclaration */, decorators, modifiers); + var node = createBaseDeclaration(266 /* SyntaxKind.ImportDeclaration */, decorators, modifiers); node.importClause = importClause; node.moduleSpecifier = moduleSpecifier; node.assertClause = assertClause; node.transformFlags |= propagateChildFlags(node.importClause) | propagateChildFlags(node.moduleSpecifier); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25273,7 +25347,7 @@ var ts; } // @api function createImportClause(isTypeOnly, name, namedBindings) { - var node = createBaseNode(267 /* ImportClause */); + var node = createBaseNode(267 /* SyntaxKind.ImportClause */); node.isTypeOnly = isTypeOnly; node.name = name; node.namedBindings = namedBindings; @@ -25281,9 +25355,9 @@ var ts; propagateChildFlags(node.name) | propagateChildFlags(node.namedBindings); if (isTypeOnly) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25296,10 +25370,10 @@ var ts; } // @api function createAssertClause(elements, multiLine) { - var node = createBaseNode(293 /* AssertClause */); + var node = createBaseNode(293 /* SyntaxKind.AssertClause */); node.elements = createNodeArray(elements); node.multiLine = multiLine; - node.transformFlags |= 4 /* ContainsESNext */; + node.transformFlags |= 4 /* TransformFlags.ContainsESNext */; return node; } // @api @@ -25311,10 +25385,10 @@ var ts; } // @api function createAssertEntry(name, value) { - var node = createBaseNode(294 /* AssertEntry */); + var node = createBaseNode(294 /* SyntaxKind.AssertEntry */); node.name = name; node.value = value; - node.transformFlags |= 4 /* ContainsESNext */; + node.transformFlags |= 4 /* TransformFlags.ContainsESNext */; return node; } // @api @@ -25326,7 +25400,7 @@ var ts; } // @api function createImportTypeAssertionContainer(clause, multiLine) { - var node = createBaseNode(295 /* ImportTypeAssertionContainer */); + var node = createBaseNode(295 /* SyntaxKind.ImportTypeAssertionContainer */); node.assertClause = clause; node.multiLine = multiLine; return node; @@ -25340,10 +25414,10 @@ var ts; } // @api function createNamespaceImport(name) { - var node = createBaseNode(268 /* NamespaceImport */); + var node = createBaseNode(268 /* SyntaxKind.NamespaceImport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25354,12 +25428,12 @@ var ts; } // @api function createNamespaceExport(name) { - var node = createBaseNode(274 /* NamespaceExport */); + var node = createBaseNode(274 /* SyntaxKind.NamespaceExport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name) | - 4 /* ContainsESNext */; - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + 4 /* TransformFlags.ContainsESNext */; + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25370,10 +25444,10 @@ var ts; } // @api function createNamedImports(elements) { - var node = createBaseNode(269 /* NamedImports */); + var node = createBaseNode(269 /* SyntaxKind.NamedImports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25384,14 +25458,14 @@ var ts; } // @api function createImportSpecifier(isTypeOnly, propertyName, name) { - var node = createBaseNode(270 /* ImportSpecifier */); + var node = createBaseNode(270 /* SyntaxKind.ImportSpecifier */); node.isTypeOnly = isTypeOnly; node.propertyName = propertyName; node.name = name; node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25404,13 +25478,13 @@ var ts; } // @api function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createBaseDeclaration(271 /* ExportAssignment */, decorators, modifiers); + var node = createBaseDeclaration(271 /* SyntaxKind.ExportAssignment */, decorators, modifiers); node.isExportEquals = isExportEquals; node.expression = isExportEquals - ? parenthesizerRules().parenthesizeRightSideOfBinary(63 /* EqualsToken */, /*leftSide*/ undefined, expression) + ? parenthesizerRules().parenthesizeRightSideOfBinary(63 /* SyntaxKind.EqualsToken */, /*leftSide*/ undefined, expression) : parenthesizerRules().parenthesizeExpressionOfExportDefault(expression); node.transformFlags |= propagateChildFlags(node.expression); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25423,7 +25497,7 @@ var ts; } // @api function createExportDeclaration(decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(272 /* ExportDeclaration */, decorators, modifiers); + var node = createBaseDeclaration(272 /* SyntaxKind.ExportDeclaration */, decorators, modifiers); node.isTypeOnly = isTypeOnly; node.exportClause = exportClause; node.moduleSpecifier = moduleSpecifier; @@ -25431,7 +25505,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.exportClause) | propagateChildFlags(node.moduleSpecifier); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25447,10 +25521,10 @@ var ts; } // @api function createNamedExports(elements) { - var node = createBaseNode(273 /* NamedExports */); + var node = createBaseNode(273 /* SyntaxKind.NamedExports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25461,14 +25535,14 @@ var ts; } // @api function createExportSpecifier(isTypeOnly, propertyName, name) { - var node = createBaseNode(275 /* ExportSpecifier */); + var node = createBaseNode(275 /* SyntaxKind.ExportSpecifier */); node.isTypeOnly = isTypeOnly; node.propertyName = asName(propertyName); node.name = asName(name); node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25481,7 +25555,7 @@ var ts; } // @api function createMissingDeclaration() { - var node = createBaseDeclaration(276 /* MissingDeclaration */, + var node = createBaseDeclaration(276 /* SyntaxKind.MissingDeclaration */, /*decorators*/ undefined, /*modifiers*/ undefined); return node; @@ -25491,10 +25565,10 @@ var ts; // // @api function createExternalModuleReference(expression) { - var node = createBaseNode(277 /* ExternalModuleReference */); + var node = createBaseNode(277 /* SyntaxKind.ExternalModuleReference */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); - node.transformFlags &= ~16777216 /* ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25549,7 +25623,7 @@ var ts; } // @api function createJSDocFunctionType(parameters, type) { - var node = createBaseSignatureDeclaration(317 /* JSDocFunctionType */, + var node = createBaseSignatureDeclaration(317 /* SyntaxKind.JSDocFunctionType */, /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, @@ -25566,7 +25640,7 @@ var ts; // @api function createJSDocTypeLiteral(propertyTags, isArrayType) { if (isArrayType === void 0) { isArrayType = false; } - var node = createBaseNode(322 /* JSDocTypeLiteral */); + var node = createBaseNode(322 /* SyntaxKind.JSDocTypeLiteral */); node.jsDocPropertyTags = asNodeArray(propertyTags); node.isArrayType = isArrayType; return node; @@ -25580,7 +25654,7 @@ var ts; } // @api function createJSDocTypeExpression(type) { - var node = createBaseNode(309 /* JSDocTypeExpression */); + var node = createBaseNode(309 /* SyntaxKind.JSDocTypeExpression */); node.type = type; return node; } @@ -25592,7 +25666,7 @@ var ts; } // @api function createJSDocSignature(typeParameters, parameters, type) { - var node = createBaseNode(323 /* JSDocSignature */); + var node = createBaseNode(323 /* SyntaxKind.JSDocSignature */); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); node.type = type; @@ -25621,7 +25695,7 @@ var ts; } // @api function createJSDocTemplateTag(tagName, constraint, typeParameters, comment) { - var node = createBaseJSDocTag(344 /* JSDocTemplateTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("template"), comment); + var node = createBaseJSDocTag(344 /* SyntaxKind.JSDocTemplateTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("template"), comment); node.constraint = constraint; node.typeParameters = createNodeArray(typeParameters); return node; @@ -25638,7 +25712,7 @@ var ts; } // @api function createJSDocTypedefTag(tagName, typeExpression, fullName, comment) { - var node = createBaseJSDocTag(345 /* JSDocTypedefTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("typedef"), comment); + var node = createBaseJSDocTag(345 /* SyntaxKind.JSDocTypedefTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("typedef"), comment); node.typeExpression = typeExpression; node.fullName = fullName; node.name = ts.getJSDocTypeAliasName(fullName); @@ -25656,7 +25730,7 @@ var ts; } // @api function createJSDocParameterTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) { - var node = createBaseJSDocTag(340 /* JSDocParameterTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("param"), comment); + var node = createBaseJSDocTag(340 /* SyntaxKind.JSDocParameterTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("param"), comment); node.typeExpression = typeExpression; node.name = name; node.isNameFirst = !!isNameFirst; @@ -25677,7 +25751,7 @@ var ts; } // @api function createJSDocPropertyTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) { - var node = createBaseJSDocTag(347 /* JSDocPropertyTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("prop"), comment); + var node = createBaseJSDocTag(347 /* SyntaxKind.JSDocPropertyTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("prop"), comment); node.typeExpression = typeExpression; node.name = name; node.isNameFirst = !!isNameFirst; @@ -25698,7 +25772,7 @@ var ts; } // @api function createJSDocCallbackTag(tagName, typeExpression, fullName, comment) { - var node = createBaseJSDocTag(338 /* JSDocCallbackTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("callback"), comment); + var node = createBaseJSDocTag(338 /* SyntaxKind.JSDocCallbackTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("callback"), comment); node.typeExpression = typeExpression; node.fullName = fullName; node.name = ts.getJSDocTypeAliasName(fullName); @@ -25716,7 +25790,7 @@ var ts; } // @api function createJSDocAugmentsTag(tagName, className, comment) { - var node = createBaseJSDocTag(328 /* JSDocAugmentsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("augments"), comment); + var node = createBaseJSDocTag(328 /* SyntaxKind.JSDocAugmentsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("augments"), comment); node.class = className; return node; } @@ -25731,13 +25805,13 @@ var ts; } // @api function createJSDocImplementsTag(tagName, className, comment) { - var node = createBaseJSDocTag(329 /* JSDocImplementsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("implements"), comment); + var node = createBaseJSDocTag(329 /* SyntaxKind.JSDocImplementsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("implements"), comment); node.class = className; return node; } // @api function createJSDocSeeTag(tagName, name, comment) { - var node = createBaseJSDocTag(346 /* JSDocSeeTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("see"), comment); + var node = createBaseJSDocTag(346 /* SyntaxKind.JSDocSeeTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("see"), comment); node.name = name; return node; } @@ -25751,7 +25825,7 @@ var ts; } // @api function createJSDocNameReference(name) { - var node = createBaseNode(310 /* JSDocNameReference */); + var node = createBaseNode(310 /* SyntaxKind.JSDocNameReference */); node.name = name; return node; } @@ -25763,7 +25837,7 @@ var ts; } // @api function createJSDocMemberName(left, right) { - var node = createBaseNode(311 /* JSDocMemberName */); + var node = createBaseNode(311 /* SyntaxKind.JSDocMemberName */); node.left = left; node.right = right; node.transformFlags |= @@ -25780,7 +25854,7 @@ var ts; } // @api function createJSDocLink(name, text) { - var node = createBaseNode(324 /* JSDocLink */); + var node = createBaseNode(324 /* SyntaxKind.JSDocLink */); node.name = name; node.text = text; return node; @@ -25793,7 +25867,7 @@ var ts; } // @api function createJSDocLinkCode(name, text) { - var node = createBaseNode(325 /* JSDocLinkCode */); + var node = createBaseNode(325 /* SyntaxKind.JSDocLinkCode */); node.name = name; node.text = text; return node; @@ -25806,7 +25880,7 @@ var ts; } // @api function createJSDocLinkPlain(name, text) { - var node = createBaseNode(326 /* JSDocLinkPlain */); + var node = createBaseNode(326 /* SyntaxKind.JSDocLinkPlain */); node.name = name; node.text = text; return node; @@ -25878,7 +25952,7 @@ var ts; } // @api function createJSDocUnknownTag(tagName, comment) { - var node = createBaseJSDocTag(327 /* JSDocTag */, tagName, comment); + var node = createBaseJSDocTag(327 /* SyntaxKind.JSDocTag */, tagName, comment); return node; } // @api @@ -25890,7 +25964,7 @@ var ts; } // @api function createJSDocText(text) { - var node = createBaseNode(321 /* JSDocText */); + var node = createBaseNode(321 /* SyntaxKind.JSDocText */); node.text = text; return node; } @@ -25902,7 +25976,7 @@ var ts; } // @api function createJSDocComment(comment, tags) { - var node = createBaseNode(320 /* JSDoc */); + var node = createBaseNode(320 /* SyntaxKind.JSDoc */); node.comment = comment; node.tags = asNodeArray(tags); return node; @@ -25919,7 +25993,7 @@ var ts; // // @api function createJsxElement(openingElement, children, closingElement) { - var node = createBaseNode(278 /* JsxElement */); + var node = createBaseNode(278 /* SyntaxKind.JsxElement */); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -25927,7 +26001,7 @@ var ts; propagateChildFlags(node.openingElement) | propagateChildrenFlags(node.children) | propagateChildFlags(node.closingElement) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -25940,7 +26014,7 @@ var ts; } // @api function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createBaseNode(279 /* JsxSelfClosingElement */); + var node = createBaseNode(279 /* SyntaxKind.JsxSelfClosingElement */); node.tagName = tagName; node.typeArguments = asNodeArray(typeArguments); node.attributes = attributes; @@ -25948,9 +26022,9 @@ var ts; propagateChildFlags(node.tagName) | propagateChildrenFlags(node.typeArguments) | propagateChildFlags(node.attributes) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; if (node.typeArguments) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } return node; } @@ -25964,7 +26038,7 @@ var ts; } // @api function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createBaseNode(280 /* JsxOpeningElement */); + var node = createBaseNode(280 /* SyntaxKind.JsxOpeningElement */); node.tagName = tagName; node.typeArguments = asNodeArray(typeArguments); node.attributes = attributes; @@ -25972,9 +26046,9 @@ var ts; propagateChildFlags(node.tagName) | propagateChildrenFlags(node.typeArguments) | propagateChildFlags(node.attributes) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; if (typeArguments) { - node.transformFlags |= 1 /* ContainsTypeScript */; + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } return node; } @@ -25988,11 +26062,11 @@ var ts; } // @api function createJsxClosingElement(tagName) { - var node = createBaseNode(281 /* JsxClosingElement */); + var node = createBaseNode(281 /* SyntaxKind.JsxClosingElement */); node.tagName = tagName; node.transformFlags |= propagateChildFlags(node.tagName) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26003,7 +26077,7 @@ var ts; } // @api function createJsxFragment(openingFragment, children, closingFragment) { - var node = createBaseNode(282 /* JsxFragment */); + var node = createBaseNode(282 /* SyntaxKind.JsxFragment */); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -26011,7 +26085,7 @@ var ts; propagateChildFlags(node.openingFragment) | propagateChildrenFlags(node.children) | propagateChildFlags(node.closingFragment) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26024,10 +26098,10 @@ var ts; } // @api function createJsxText(text, containsOnlyTriviaWhiteSpaces) { - var node = createBaseNode(11 /* JsxText */); + var node = createBaseNode(11 /* SyntaxKind.JsxText */); node.text = text; node.containsOnlyTriviaWhiteSpaces = !!containsOnlyTriviaWhiteSpaces; - node.transformFlags |= 2 /* ContainsJsx */; + node.transformFlags |= 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26039,25 +26113,25 @@ var ts; } // @api function createJsxOpeningFragment() { - var node = createBaseNode(283 /* JsxOpeningFragment */); - node.transformFlags |= 2 /* ContainsJsx */; + var node = createBaseNode(283 /* SyntaxKind.JsxOpeningFragment */); + node.transformFlags |= 2 /* TransformFlags.ContainsJsx */; return node; } // @api function createJsxJsxClosingFragment() { - var node = createBaseNode(284 /* JsxClosingFragment */); - node.transformFlags |= 2 /* ContainsJsx */; + var node = createBaseNode(284 /* SyntaxKind.JsxClosingFragment */); + node.transformFlags |= 2 /* TransformFlags.ContainsJsx */; return node; } // @api function createJsxAttribute(name, initializer) { - var node = createBaseNode(285 /* JsxAttribute */); + var node = createBaseNode(285 /* SyntaxKind.JsxAttribute */); node.name = name; node.initializer = initializer; node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.initializer) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26069,11 +26143,11 @@ var ts; } // @api function createJsxAttributes(properties) { - var node = createBaseNode(286 /* JsxAttributes */); + var node = createBaseNode(286 /* SyntaxKind.JsxAttributes */); node.properties = createNodeArray(properties); node.transformFlags |= propagateChildrenFlags(node.properties) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26084,11 +26158,11 @@ var ts; } // @api function createJsxSpreadAttribute(expression) { - var node = createBaseNode(287 /* JsxSpreadAttribute */); + var node = createBaseNode(287 /* SyntaxKind.JsxSpreadAttribute */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26099,13 +26173,13 @@ var ts; } // @api function createJsxExpression(dotDotDotToken, expression) { - var node = createBaseNode(288 /* JsxExpression */); + var node = createBaseNode(288 /* SyntaxKind.JsxExpression */); node.dotDotDotToken = dotDotDotToken; node.expression = expression; node.transformFlags |= propagateChildFlags(node.dotDotDotToken) | propagateChildFlags(node.expression) | - 2 /* ContainsJsx */; + 2 /* TransformFlags.ContainsJsx */; return node; } // @api @@ -26119,7 +26193,7 @@ var ts; // // @api function createCaseClause(expression, statements) { - var node = createBaseNode(289 /* CaseClause */); + var node = createBaseNode(289 /* SyntaxKind.CaseClause */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.statements = createNodeArray(statements); node.transformFlags |= @@ -26136,7 +26210,7 @@ var ts; } // @api function createDefaultClause(statements) { - var node = createBaseNode(290 /* DefaultClause */); + var node = createBaseNode(290 /* SyntaxKind.DefaultClause */); node.statements = createNodeArray(statements); node.transformFlags = propagateChildrenFlags(node.statements); return node; @@ -26149,16 +26223,16 @@ var ts; } // @api function createHeritageClause(token, types) { - var node = createBaseNode(291 /* HeritageClause */); + var node = createBaseNode(291 /* SyntaxKind.HeritageClause */); node.token = token; node.types = createNodeArray(types); node.transformFlags |= propagateChildrenFlags(node.types); switch (token) { - case 94 /* ExtendsKeyword */: - node.transformFlags |= 1024 /* ContainsES2015 */; + case 94 /* SyntaxKind.ExtendsKeyword */: + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; break; - case 117 /* ImplementsKeyword */: - node.transformFlags |= 1 /* ContainsTypeScript */; + case 117 /* SyntaxKind.ImplementsKeyword */: + node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; break; default: return ts.Debug.assertNever(token); @@ -26173,7 +26247,7 @@ var ts; } // @api function createCatchClause(variableDeclaration, block) { - var node = createBaseNode(292 /* CatchClause */); + var node = createBaseNode(292 /* SyntaxKind.CatchClause */); if (typeof variableDeclaration === "string" || variableDeclaration && !ts.isVariableDeclaration(variableDeclaration)) { variableDeclaration = createVariableDeclaration(variableDeclaration, /*exclamationToken*/ undefined, @@ -26186,7 +26260,7 @@ var ts; propagateChildFlags(node.variableDeclaration) | propagateChildFlags(node.block); if (!variableDeclaration) - node.transformFlags |= 64 /* ContainsES2019 */; + node.transformFlags |= 64 /* TransformFlags.ContainsES2019 */; return node; } // @api @@ -26201,7 +26275,7 @@ var ts; // // @api function createPropertyAssignment(name, initializer) { - var node = createBaseNamedDeclaration(296 /* PropertyAssignment */, + var node = createBaseNamedDeclaration(296 /* SyntaxKind.PropertyAssignment */, /*decorators*/ undefined, /*modifiers*/ undefined, name); node.initializer = parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); @@ -26231,13 +26305,13 @@ var ts; } // @api function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createBaseNamedDeclaration(297 /* ShorthandPropertyAssignment */, + var node = createBaseNamedDeclaration(297 /* SyntaxKind.ShorthandPropertyAssignment */, /*decorators*/ undefined, /*modifiers*/ undefined, name); node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer); node.transformFlags |= propagateChildFlags(node.objectAssignmentInitializer) | - 1024 /* ContainsES2015 */; + 1024 /* TransformFlags.ContainsES2015 */; return node; } function finishUpdateShorthandPropertyAssignment(updated, original) { @@ -26263,12 +26337,12 @@ var ts; } // @api function createSpreadAssignment(expression) { - var node = createBaseNode(298 /* SpreadAssignment */); + var node = createBaseNode(298 /* SyntaxKind.SpreadAssignment */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | - 128 /* ContainsES2018 */ | - 32768 /* ContainsObjectRestOrSpread */; + 128 /* TransformFlags.ContainsES2018 */ | + 32768 /* TransformFlags.ContainsObjectRestOrSpread */; return node; } // @api @@ -26282,13 +26356,13 @@ var ts; // // @api function createEnumMember(name, initializer) { - var node = createBaseNode(299 /* EnumMember */); + var node = createBaseNode(299 /* SyntaxKind.EnumMember */); node.name = asName(name); node.initializer = initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.initializer) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api @@ -26303,7 +26377,7 @@ var ts; // // @api function createSourceFile(statements, endOfFileToken, flags) { - var node = baseFactory.createBaseSourceFileNode(305 /* SourceFile */); + var node = baseFactory.createBaseSourceFileNode(305 /* SyntaxKind.SourceFile */); node.statements = createNodeArray(statements); node.endOfFileToken = endOfFileToken; node.flags |= flags; @@ -26320,7 +26394,7 @@ var ts; return node; } function cloneSourceFileWithChanges(source, statements, isDeclarationFile, referencedFiles, typeReferences, hasNoDefaultLib, libReferences) { - var node = baseFactory.createBaseSourceFileNode(305 /* SourceFile */); + var node = (source.redirectInfo ? Object.create(source.redirectInfo.redirectTarget) : baseFactory.createBaseSourceFileNode(305 /* SyntaxKind.SourceFile */)); for (var p in source) { if (p === "emitNode" || ts.hasProperty(node, p) || !ts.hasProperty(source, p)) continue; @@ -26359,7 +26433,7 @@ var ts; // @api function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = createBaseNode(306 /* Bundle */); + var node = createBaseNode(306 /* SyntaxKind.Bundle */); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; @@ -26374,7 +26448,7 @@ var ts; } // @api function createUnparsedSource(prologues, syntheticReferences, texts) { - var node = createBaseNode(307 /* UnparsedSource */); + var node = createBaseNode(307 /* SyntaxKind.UnparsedSource */); node.prologues = prologues; node.syntheticReferences = syntheticReferences; node.texts = texts; @@ -26392,28 +26466,28 @@ var ts; } // @api function createUnparsedPrologue(data) { - return createBaseUnparsedNode(300 /* UnparsedPrologue */, data); + return createBaseUnparsedNode(300 /* SyntaxKind.UnparsedPrologue */, data); } // @api function createUnparsedPrepend(data, texts) { - var node = createBaseUnparsedNode(301 /* UnparsedPrepend */, data); + var node = createBaseUnparsedNode(301 /* SyntaxKind.UnparsedPrepend */, data); node.texts = texts; return node; } // @api function createUnparsedTextLike(data, internal) { - return createBaseUnparsedNode(internal ? 303 /* UnparsedInternalText */ : 302 /* UnparsedText */, data); + return createBaseUnparsedNode(internal ? 303 /* SyntaxKind.UnparsedInternalText */ : 302 /* SyntaxKind.UnparsedText */, data); } // @api function createUnparsedSyntheticReference(section) { - var node = createBaseNode(304 /* UnparsedSyntheticReference */); + var node = createBaseNode(304 /* SyntaxKind.UnparsedSyntheticReference */); node.data = section.data; node.section = section; return node; } // @api function createInputFiles() { - var node = createBaseNode(308 /* InputFiles */); + var node = createBaseNode(308 /* SyntaxKind.InputFiles */); node.javascriptText = ""; node.declarationText = ""; return node; @@ -26424,7 +26498,7 @@ var ts; // @api function createSyntheticExpression(type, isSpread, tupleNameSource) { if (isSpread === void 0) { isSpread = false; } - var node = createBaseNode(232 /* SyntheticExpression */); + var node = createBaseNode(232 /* SyntaxKind.SyntheticExpression */); node.type = type; node.isSpread = isSpread; node.tupleNameSource = tupleNameSource; @@ -26432,7 +26506,7 @@ var ts; } // @api function createSyntaxList(children) { - var node = createBaseNode(348 /* SyntaxList */); + var node = createBaseNode(348 /* SyntaxKind.SyntaxList */); node._children = children; return node; } @@ -26447,7 +26521,7 @@ var ts; */ // @api function createNotEmittedStatement(original) { - var node = createBaseNode(349 /* NotEmittedStatement */); + var node = createBaseNode(349 /* SyntaxKind.NotEmittedStatement */); node.original = original; ts.setTextRange(node, original); return node; @@ -26461,12 +26535,12 @@ var ts; */ // @api function createPartiallyEmittedExpression(expression, original) { - var node = createBaseNode(350 /* PartiallyEmittedExpression */); + var node = createBaseNode(350 /* SyntaxKind.PartiallyEmittedExpression */); node.expression = expression; node.original = original; node.transformFlags |= propagateChildFlags(node.expression) | - 1 /* ContainsTypeScript */; + 1 /* TransformFlags.ContainsTypeScript */; ts.setTextRange(node, original); return node; } @@ -26489,7 +26563,7 @@ var ts; } // @api function createCommaListExpression(elements) { - var node = createBaseNode(351 /* CommaListExpression */); + var node = createBaseNode(351 /* SyntaxKind.CommaListExpression */); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); node.transformFlags |= propagateChildrenFlags(node.elements); return node; @@ -26506,7 +26580,7 @@ var ts; */ // @api function createEndOfDeclarationMarker(original) { - var node = createBaseNode(353 /* EndOfDeclarationMarker */); + var node = createBaseNode(353 /* SyntaxKind.EndOfDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -26517,14 +26591,14 @@ var ts; */ // @api function createMergeDeclarationMarker(original) { - var node = createBaseNode(352 /* MergeDeclarationMarker */); + var node = createBaseNode(352 /* SyntaxKind.MergeDeclarationMarker */); node.emitNode = {}; node.original = original; return node; } // @api function createSyntheticReferenceExpression(expression, thisArg) { - var node = createBaseNode(354 /* SyntheticReferenceExpression */); + var node = createBaseNode(354 /* SyntaxKind.SyntheticReferenceExpression */); node.expression = expression; node.thisArg = thisArg; node.transformFlags |= @@ -26546,12 +26620,12 @@ var ts; if (node === undefined) { return node; } - var clone = ts.isSourceFile(node) ? baseFactory.createBaseSourceFileNode(305 /* SourceFile */) : - ts.isIdentifier(node) ? baseFactory.createBaseIdentifierNode(79 /* Identifier */) : - ts.isPrivateIdentifier(node) ? baseFactory.createBasePrivateIdentifierNode(80 /* PrivateIdentifier */) : + var clone = ts.isSourceFile(node) ? baseFactory.createBaseSourceFileNode(305 /* SyntaxKind.SourceFile */) : + ts.isIdentifier(node) ? baseFactory.createBaseIdentifierNode(79 /* SyntaxKind.Identifier */) : + ts.isPrivateIdentifier(node) ? baseFactory.createBasePrivateIdentifierNode(80 /* SyntaxKind.PrivateIdentifier */) : !ts.isNodeKind(node.kind) ? baseFactory.createBaseTokenNode(node.kind) : baseFactory.createBaseNode(node.kind); - clone.flags |= (node.flags & ~8 /* Synthesized */); + clone.flags |= (node.flags & ~8 /* NodeFlags.Synthesized */); clone.transformFlags = node.transformFlags; setOriginalNode(clone, node); for (var key in node) { @@ -26665,11 +26739,11 @@ var ts; } function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 212 /* ParenthesizedExpression */: return updateParenthesizedExpression(outerExpression, expression); - case 211 /* TypeAssertionExpression */: return updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 229 /* AsExpression */: return updateAsExpression(outerExpression, expression, outerExpression.type); - case 230 /* NonNullExpression */: return updateNonNullExpression(outerExpression, expression); - case 350 /* PartiallyEmittedExpression */: return updatePartiallyEmittedExpression(outerExpression, expression); + case 212 /* SyntaxKind.ParenthesizedExpression */: return updateParenthesizedExpression(outerExpression, expression); + case 211 /* SyntaxKind.TypeAssertionExpression */: return updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 229 /* SyntaxKind.AsExpression */: return updateAsExpression(outerExpression, expression, outerExpression.type); + case 230 /* SyntaxKind.NonNullExpression */: return updateNonNullExpression(outerExpression, expression); + case 350 /* SyntaxKind.PartiallyEmittedExpression */: return updatePartiallyEmittedExpression(outerExpression, expression); } } /** @@ -26695,7 +26769,7 @@ var ts; && !ts.some(ts.getSyntheticTrailingComments(node)); } function restoreOuterExpressions(outerExpression, innerExpression, kinds) { - if (kinds === void 0) { kinds = 15 /* All */; } + if (kinds === void 0) { kinds = 15 /* OuterExpressionKinds.All */; } if (outerExpression && ts.isOuterExpression(outerExpression, kinds) && !isIgnorableParen(outerExpression)) { return updateOuterExpression(outerExpression, restoreOuterExpressions(outerExpression.expression, innerExpression)); } @@ -26716,20 +26790,20 @@ var ts; function shouldBeCapturedInTempVariable(node, cacheIdentifiers) { var target = ts.skipParentheses(node); switch (target.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return cacheIdentifiers; - case 108 /* ThisKeyword */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 10 /* StringLiteral */: + case 108 /* SyntaxKind.ThisKeyword */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 10 /* SyntaxKind.StringLiteral */: return false; - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return target.properties.length > 0; default: return true; @@ -26737,7 +26811,7 @@ var ts; } function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers) { if (cacheIdentifiers === void 0) { cacheIdentifiers = false; } - var callee = ts.skipOuterExpressions(expression, 15 /* All */); + var callee = ts.skipOuterExpressions(expression, 15 /* OuterExpressionKinds.All */); var thisArg; var target; if (ts.isSuperProperty(callee)) { @@ -26746,11 +26820,11 @@ var ts; } else if (ts.isSuperKeyword(callee)) { thisArg = createThis(); - target = languageVersion !== undefined && languageVersion < 2 /* ES2015 */ + target = languageVersion !== undefined && languageVersion < 2 /* ScriptTarget.ES2015 */ ? ts.setTextRange(createIdentifier("_super"), callee) : callee; } - else if (ts.getEmitFlags(callee) & 4096 /* HelperName */) { + else if (ts.getEmitFlags(callee) & 4096 /* EmitFlags.HelperName */) { thisArg = createVoidZero(); target = parenthesizerRules().parenthesizeLeftSideOfAccess(callee); } @@ -26817,9 +26891,9 @@ var ts; var name = ts.setParent(ts.setTextRange(cloneNode(nodeName), nodeName), nodeName.parent); emitFlags |= ts.getEmitFlags(nodeName); if (!allowSourceMaps) - emitFlags |= 48 /* NoSourceMap */; + emitFlags |= 48 /* EmitFlags.NoSourceMap */; if (!allowComments) - emitFlags |= 1536 /* NoComments */; + emitFlags |= 1536 /* EmitFlags.NoComments */; if (emitFlags) ts.setEmitFlags(name, emitFlags); return name; @@ -26838,7 +26912,7 @@ var ts; * @param allowSourceMaps A value indicating whether source maps may be emitted for the name. */ function getInternalName(node, allowComments, allowSourceMaps) { - return getName(node, allowComments, allowSourceMaps, 16384 /* LocalName */ | 32768 /* InternalName */); + return getName(node, allowComments, allowSourceMaps, 16384 /* EmitFlags.LocalName */ | 32768 /* EmitFlags.InternalName */); } /** * Gets the local name of a declaration. This is primarily used for declarations that can be @@ -26851,7 +26925,7 @@ var ts; * @param allowSourceMaps A value indicating whether source maps may be emitted for the name. */ function getLocalName(node, allowComments, allowSourceMaps) { - return getName(node, allowComments, allowSourceMaps, 16384 /* LocalName */); + return getName(node, allowComments, allowSourceMaps, 16384 /* EmitFlags.LocalName */); } /** * Gets the export name of a declaration. This is primarily used for declarations that can be @@ -26864,7 +26938,7 @@ var ts; * @param allowSourceMaps A value indicating whether source maps may be emitted for the name. */ function getExportName(node, allowComments, allowSourceMaps) { - return getName(node, allowComments, allowSourceMaps, 8192 /* ExportName */); + return getName(node, allowComments, allowSourceMaps, 8192 /* EmitFlags.ExportName */); } /** * Gets the name of a declaration for use in declarations. @@ -26889,9 +26963,9 @@ var ts; ts.setTextRange(qualifiedName, name); var emitFlags = 0; if (!allowSourceMaps) - emitFlags |= 48 /* NoSourceMap */; + emitFlags |= 48 /* EmitFlags.NoSourceMap */; if (!allowComments) - emitFlags |= 1536 /* NoComments */; + emitFlags |= 1536 /* EmitFlags.NoComments */; if (emitFlags) ts.setEmitFlags(qualifiedName, emitFlags); return qualifiedName; @@ -26908,7 +26982,7 @@ var ts; * @param allowSourceMaps A value indicating whether source maps may be emitted for the name. */ function getExternalModuleOrNamespaceExportName(ns, node, allowComments, allowSourceMaps) { - if (ns && ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ns && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { return getNamespaceMemberName(ns, getName(node), allowComments, allowSourceMaps); } return getExportName(node, allowComments, allowSourceMaps); @@ -26966,7 +27040,7 @@ var ts; var numStatements = source.length; while (statementOffset !== undefined && statementOffset < numStatements) { var statement = source[statementOffset]; - if (ts.getEmitFlags(statement) & 1048576 /* CustomPrologue */ && filter(statement)) { + if (ts.getEmitFlags(statement) & 1048576 /* EmitFlags.CustomPrologue */ && filter(statement)) { ts.append(target, visitor ? ts.visitNode(statement, visitor, ts.isStatement) : statement); } else { @@ -27155,52 +27229,52 @@ var ts; } function getDefaultTagNameForKind(kind) { switch (kind) { - case 343 /* JSDocTypeTag */: return "type"; - case 341 /* JSDocReturnTag */: return "returns"; - case 342 /* JSDocThisTag */: return "this"; - case 339 /* JSDocEnumTag */: return "enum"; - case 330 /* JSDocAuthorTag */: return "author"; - case 332 /* JSDocClassTag */: return "class"; - case 333 /* JSDocPublicTag */: return "public"; - case 334 /* JSDocPrivateTag */: return "private"; - case 335 /* JSDocProtectedTag */: return "protected"; - case 336 /* JSDocReadonlyTag */: return "readonly"; - case 337 /* JSDocOverrideTag */: return "override"; - case 344 /* JSDocTemplateTag */: return "template"; - case 345 /* JSDocTypedefTag */: return "typedef"; - case 340 /* JSDocParameterTag */: return "param"; - case 347 /* JSDocPropertyTag */: return "prop"; - case 338 /* JSDocCallbackTag */: return "callback"; - case 328 /* JSDocAugmentsTag */: return "augments"; - case 329 /* JSDocImplementsTag */: return "implements"; + case 343 /* SyntaxKind.JSDocTypeTag */: return "type"; + case 341 /* SyntaxKind.JSDocReturnTag */: return "returns"; + case 342 /* SyntaxKind.JSDocThisTag */: return "this"; + case 339 /* SyntaxKind.JSDocEnumTag */: return "enum"; + case 330 /* SyntaxKind.JSDocAuthorTag */: return "author"; + case 332 /* SyntaxKind.JSDocClassTag */: return "class"; + case 333 /* SyntaxKind.JSDocPublicTag */: return "public"; + case 334 /* SyntaxKind.JSDocPrivateTag */: return "private"; + case 335 /* SyntaxKind.JSDocProtectedTag */: return "protected"; + case 336 /* SyntaxKind.JSDocReadonlyTag */: return "readonly"; + case 337 /* SyntaxKind.JSDocOverrideTag */: return "override"; + case 344 /* SyntaxKind.JSDocTemplateTag */: return "template"; + case 345 /* SyntaxKind.JSDocTypedefTag */: return "typedef"; + case 340 /* SyntaxKind.JSDocParameterTag */: return "param"; + case 347 /* SyntaxKind.JSDocPropertyTag */: return "prop"; + case 338 /* SyntaxKind.JSDocCallbackTag */: return "callback"; + case 328 /* SyntaxKind.JSDocAugmentsTag */: return "augments"; + case 329 /* SyntaxKind.JSDocImplementsTag */: return "implements"; default: - return ts.Debug.fail("Unsupported kind: " + ts.Debug.formatSyntaxKind(kind)); + return ts.Debug.fail("Unsupported kind: ".concat(ts.Debug.formatSyntaxKind(kind))); } } var rawTextScanner; var invalidValueSentinel = {}; function getCookedText(kind, rawText) { if (!rawTextScanner) { - rawTextScanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ false, 0 /* Standard */); + rawTextScanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ false, 0 /* LanguageVariant.Standard */); } switch (kind) { - case 14 /* NoSubstitutionTemplateLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: rawTextScanner.setText("`" + rawText + "`"); break; - case 15 /* TemplateHead */: + case 15 /* SyntaxKind.TemplateHead */: // tslint:disable-next-line no-invalid-template-strings rawTextScanner.setText("`" + rawText + "${"); break; - case 16 /* TemplateMiddle */: + case 16 /* SyntaxKind.TemplateMiddle */: // tslint:disable-next-line no-invalid-template-strings rawTextScanner.setText("}" + rawText + "${"); break; - case 17 /* TemplateTail */: + case 17 /* SyntaxKind.TemplateTail */: rawTextScanner.setText("}" + rawText + "`"); break; } var token = rawTextScanner.scan(); - if (token === 19 /* CloseBraceToken */) { + if (token === 19 /* SyntaxKind.CloseBraceToken */) { token = rawTextScanner.reScanTemplateToken(/*isTaggedTemplate*/ false); } if (rawTextScanner.isUnterminated()) { @@ -27209,14 +27283,14 @@ var ts; } var tokenValue; switch (token) { - case 14 /* NoSubstitutionTemplateLiteral */: - case 15 /* TemplateHead */: - case 16 /* TemplateMiddle */: - case 17 /* TemplateTail */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 15 /* SyntaxKind.TemplateHead */: + case 16 /* SyntaxKind.TemplateMiddle */: + case 17 /* SyntaxKind.TemplateTail */: tokenValue = rawTextScanner.getTokenValue(); break; } - if (tokenValue === undefined || rawTextScanner.scan() !== 1 /* EndOfFileToken */) { + if (tokenValue === undefined || rawTextScanner.scan() !== 1 /* SyntaxKind.EndOfFileToken */) { rawTextScanner.setText(undefined); return invalidValueSentinel; } @@ -27225,22 +27299,22 @@ var ts; } function propagateIdentifierNameFlags(node) { // An IdentifierName is allowed to be `await` - return propagateChildFlags(node) & ~16777216 /* ContainsPossibleTopLevelAwait */; + return propagateChildFlags(node) & ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; } function propagatePropertyNameFlagsOfChild(node, transformFlags) { - return transformFlags | (node.transformFlags & 33562624 /* PropertyNamePropagatingFlags */); + return transformFlags | (node.transformFlags & 33562624 /* TransformFlags.PropertyNamePropagatingFlags */); } function propagateChildFlags(child) { if (!child) - return 0 /* None */; + return 0 /* TransformFlags.None */; var childFlags = child.transformFlags & ~getTransformFlagsSubtreeExclusions(child.kind); return ts.isNamedDeclaration(child) && ts.isPropertyName(child.name) ? propagatePropertyNameFlagsOfChild(child.name, childFlags) : childFlags; } function propagateChildrenFlags(children) { - return children ? children.transformFlags : 0 /* None */; + return children ? children.transformFlags : 0 /* TransformFlags.None */; } function aggregateChildrenFlags(children) { - var subtreeFlags = 0 /* None */; + var subtreeFlags = 0 /* TransformFlags.None */; for (var _i = 0, children_2 = children; _i < children_2.length; _i++) { var child = children_2[_i]; subtreeFlags |= propagateChildFlags(child); @@ -27252,78 +27326,78 @@ var ts; */ /* @internal */ function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 177 /* FirstTypeNode */ && kind <= 200 /* LastTypeNode */) { - return -2 /* TypeExcludes */; + if (kind >= 177 /* SyntaxKind.FirstTypeNode */ && kind <= 200 /* SyntaxKind.LastTypeNode */) { + return -2 /* TransformFlags.TypeExcludes */; } switch (kind) { - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 204 /* ArrayLiteralExpression */: - return 536887296 /* ArrayLiteralOrCallOrNewExcludes */; - case 261 /* ModuleDeclaration */: - return 589443072 /* ModuleExcludes */; - case 164 /* Parameter */: - return 536870912 /* ParameterExcludes */; - case 214 /* ArrowFunction */: - return 557748224 /* ArrowFunctionExcludes */; - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - return 591310848 /* FunctionExcludes */; - case 255 /* VariableDeclarationList */: - return 537165824 /* VariableDeclarationListExcludes */; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - return 536940544 /* ClassExcludes */; - case 171 /* Constructor */: - return 591306752 /* ConstructorExcludes */; - case 167 /* PropertyDeclaration */: - return 570433536 /* PropertyExcludes */; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - return 574529536 /* MethodOrAccessorExcludes */; - case 130 /* AnyKeyword */: - case 147 /* NumberKeyword */: - case 158 /* BigIntKeyword */: - case 143 /* NeverKeyword */: - case 150 /* StringKeyword */: - case 148 /* ObjectKeyword */: - case 133 /* BooleanKeyword */: - case 151 /* SymbolKeyword */: - case 114 /* VoidKeyword */: - case 163 /* TypeParameter */: - case 166 /* PropertySignature */: - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - return -2 /* TypeExcludes */; - case 205 /* ObjectLiteralExpression */: - return 536973312 /* ObjectLiteralExcludes */; - case 292 /* CatchClause */: - return 536903680 /* CatchClauseExcludes */; - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: - return 536887296 /* BindingPatternExcludes */; - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: - case 350 /* PartiallyEmittedExpression */: - case 212 /* ParenthesizedExpression */: - case 106 /* SuperKeyword */: - return 536870912 /* OuterExpressionExcludes */; - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: - return 536870912 /* PropertyAccessExcludes */; + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + return 536887296 /* TransformFlags.ArrayLiteralOrCallOrNewExcludes */; + case 261 /* SyntaxKind.ModuleDeclaration */: + return 589443072 /* TransformFlags.ModuleExcludes */; + case 164 /* SyntaxKind.Parameter */: + return 536870912 /* TransformFlags.ParameterExcludes */; + case 214 /* SyntaxKind.ArrowFunction */: + return 557748224 /* TransformFlags.ArrowFunctionExcludes */; + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + return 591310848 /* TransformFlags.FunctionExcludes */; + case 255 /* SyntaxKind.VariableDeclarationList */: + return 537165824 /* TransformFlags.VariableDeclarationListExcludes */; + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + return 536940544 /* TransformFlags.ClassExcludes */; + case 171 /* SyntaxKind.Constructor */: + return 591306752 /* TransformFlags.ConstructorExcludes */; + case 167 /* SyntaxKind.PropertyDeclaration */: + return 570433536 /* TransformFlags.PropertyExcludes */; + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + return 574529536 /* TransformFlags.MethodOrAccessorExcludes */; + case 130 /* SyntaxKind.AnyKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 163 /* SyntaxKind.TypeParameter */: + case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + return -2 /* TransformFlags.TypeExcludes */; + case 205 /* SyntaxKind.ObjectLiteralExpression */: + return 536973312 /* TransformFlags.ObjectLiteralExcludes */; + case 292 /* SyntaxKind.CatchClause */: + return 536903680 /* TransformFlags.CatchClauseExcludes */; + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + return 536887296 /* TransformFlags.BindingPatternExcludes */; + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 106 /* SyntaxKind.SuperKeyword */: + return 536870912 /* TransformFlags.OuterExpressionExcludes */; + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + return 536870912 /* TransformFlags.PropertyAccessExcludes */; default: - return 536870912 /* NodeExcludes */; + return 536870912 /* TransformFlags.NodeExcludes */; } } ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions; var baseFactory = ts.createBaseNodeFactory(); function makeSynthetic(node) { - node.flags |= 8 /* Synthesized */; + node.flags |= 8 /* NodeFlags.Synthesized */; return node; } var syntheticFactory = { @@ -27333,7 +27407,7 @@ var ts; createBaseTokenNode: function (kind) { return makeSynthetic(baseFactory.createBaseTokenNode(kind)); }, createBaseNode: function (kind) { return makeSynthetic(baseFactory.createBaseNode(kind)); }, }; - ts.factory = createNodeFactory(4 /* NoIndentationOnFreshPropertyAccess */, syntheticFactory); + ts.factory = createNodeFactory(4 /* NodeFactoryFlags.NoIndentationOnFreshPropertyAccess */, syntheticFactory); function createUnparsedSourceFile(textOrInputFiles, mapPathOrType, mapTextOrStripInternal) { var stripInternal; var bundleFileInfo; @@ -27396,50 +27470,50 @@ var ts; for (var _i = 0, _a = bundleFileInfo ? bundleFileInfo.sections : ts.emptyArray; _i < _a.length; _i++) { var section = _a[_i]; switch (section.kind) { - case "prologue" /* Prologue */: + case "prologue" /* BundleFileSectionKind.Prologue */: prologues = ts.append(prologues, ts.setTextRange(ts.factory.createUnparsedPrologue(section.data), section)); break; - case "emitHelpers" /* EmitHelpers */: + case "emitHelpers" /* BundleFileSectionKind.EmitHelpers */: helpers = ts.append(helpers, ts.getAllUnscopedEmitHelpers().get(section.data)); break; - case "no-default-lib" /* NoDefaultLib */: + case "no-default-lib" /* BundleFileSectionKind.NoDefaultLib */: hasNoDefaultLib = true; break; - case "reference" /* Reference */: + case "reference" /* BundleFileSectionKind.Reference */: referencedFiles = ts.append(referencedFiles, { pos: -1, end: -1, fileName: section.data }); break; - case "type" /* Type */: + case "type" /* BundleFileSectionKind.Type */: typeReferenceDirectives = ts.append(typeReferenceDirectives, { pos: -1, end: -1, fileName: section.data }); break; - case "type-import" /* TypeResolutionModeImport */: + case "type-import" /* BundleFileSectionKind.TypeResolutionModeImport */: typeReferenceDirectives = ts.append(typeReferenceDirectives, { pos: -1, end: -1, fileName: section.data, resolutionMode: ts.ModuleKind.ESNext }); break; - case "type-require" /* TypeResolutionModeRequire */: + case "type-require" /* BundleFileSectionKind.TypeResolutionModeRequire */: typeReferenceDirectives = ts.append(typeReferenceDirectives, { pos: -1, end: -1, fileName: section.data, resolutionMode: ts.ModuleKind.CommonJS }); break; - case "lib" /* Lib */: + case "lib" /* BundleFileSectionKind.Lib */: libReferenceDirectives = ts.append(libReferenceDirectives, { pos: -1, end: -1, fileName: section.data }); break; - case "prepend" /* Prepend */: + case "prepend" /* BundleFileSectionKind.Prepend */: var prependTexts = void 0; for (var _b = 0, _c = section.texts; _b < _c.length; _b++) { var text = _c[_b]; - if (!stripInternal || text.kind !== "internal" /* Internal */) { - prependTexts = ts.append(prependTexts, ts.setTextRange(ts.factory.createUnparsedTextLike(text.data, text.kind === "internal" /* Internal */), text)); + if (!stripInternal || text.kind !== "internal" /* BundleFileSectionKind.Internal */) { + prependTexts = ts.append(prependTexts, ts.setTextRange(ts.factory.createUnparsedTextLike(text.data, text.kind === "internal" /* BundleFileSectionKind.Internal */), text)); } } prependChildren = ts.addRange(prependChildren, prependTexts); texts = ts.append(texts, ts.factory.createUnparsedPrepend(section.data, prependTexts !== null && prependTexts !== void 0 ? prependTexts : ts.emptyArray)); break; - case "internal" /* Internal */: + case "internal" /* BundleFileSectionKind.Internal */: if (stripInternal) { if (!texts) texts = []; break; } // falls through - case "text" /* Text */: - texts = ts.append(texts, ts.setTextRange(ts.factory.createUnparsedTextLike(section.data, section.kind === "internal" /* Internal */), section)); + case "text" /* BundleFileSectionKind.Text */: + texts = ts.append(texts, ts.setTextRange(ts.factory.createUnparsedTextLike(section.data, section.kind === "internal" /* BundleFileSectionKind.Internal */), section)); break; default: ts.Debug.assertNever(section); @@ -27467,22 +27541,22 @@ var ts; for (var _i = 0, _a = bundleFileInfo.sections; _i < _a.length; _i++) { var section = _a[_i]; switch (section.kind) { - case "internal" /* Internal */: - case "text" /* Text */: - texts = ts.append(texts, ts.setTextRange(ts.factory.createUnparsedTextLike(section.data, section.kind === "internal" /* Internal */), section)); + case "internal" /* BundleFileSectionKind.Internal */: + case "text" /* BundleFileSectionKind.Text */: + texts = ts.append(texts, ts.setTextRange(ts.factory.createUnparsedTextLike(section.data, section.kind === "internal" /* BundleFileSectionKind.Internal */), section)); break; - case "no-default-lib" /* NoDefaultLib */: - case "reference" /* Reference */: - case "type" /* Type */: - case "type-import" /* TypeResolutionModeImport */: - case "type-require" /* TypeResolutionModeRequire */: - case "lib" /* Lib */: + case "no-default-lib" /* BundleFileSectionKind.NoDefaultLib */: + case "reference" /* BundleFileSectionKind.Reference */: + case "type" /* BundleFileSectionKind.Type */: + case "type-import" /* BundleFileSectionKind.TypeResolutionModeImport */: + case "type-require" /* BundleFileSectionKind.TypeResolutionModeRequire */: + case "lib" /* BundleFileSectionKind.Lib */: syntheticReferences = ts.append(syntheticReferences, ts.setTextRange(ts.factory.createUnparsedSyntheticReference(section), section)); break; // Ignore - case "prologue" /* Prologue */: - case "emitHelpers" /* EmitHelpers */: - case "prepend" /* Prepend */: + case "prologue" /* BundleFileSectionKind.Prologue */: + case "emitHelpers" /* BundleFileSectionKind.EmitHelpers */: + case "prepend" /* BundleFileSectionKind.Prepend */: break; default: ts.Debug.assertNever(section); @@ -27510,7 +27584,7 @@ var ts; }; var definedTextGetter_1 = function (path) { var result = textGetter_1(path); - return result !== undefined ? result : "/* Input file " + path + " was missing */\r\n"; + return result !== undefined ? result : "/* Input file ".concat(path, " was missing */\r\n"); }; var buildInfo_1; var getAndCacheBuildInfo_1 = function (getText) { @@ -27579,7 +27653,7 @@ var ts; if (trailingComments) destEmitNode.trailingComments = ts.addRange(trailingComments.slice(), destEmitNode.trailingComments); if (flags) - destEmitNode.flags = flags & ~268435456 /* Immutable */; + destEmitNode.flags = flags & ~268435456 /* EmitFlags.Immutable */; if (commentRange) destEmitNode.commentRange = commentRange; if (sourceMapRange) @@ -27621,7 +27695,7 @@ var ts; // To avoid holding onto transformation artifacts, we keep track of any // parse tree node we are annotating. This allows us to clean them up after // all transformations have completed. - if (node.kind === 305 /* SourceFile */) { + if (node.kind === 305 /* SyntaxKind.SourceFile */) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = (_a = ts.getSourceFileOfNode(ts.getParseTreeNode(ts.getSourceFileOfNode(node)))) !== null && _a !== void 0 ? _a : ts.Debug.fail("Could not determine parsed source file."); @@ -27630,7 +27704,7 @@ var ts; node.emitNode = {}; } else { - ts.Debug.assert(!(node.emitNode.flags & 268435456 /* Immutable */), "Invalid attempt to mutate an immutable node."); + ts.Debug.assert(!(node.emitNode.flags & 268435456 /* EmitFlags.Immutable */), "Invalid attempt to mutate an immutable node."); } return node.emitNode; } @@ -27662,7 +27736,7 @@ var ts; */ function removeAllComments(node) { var emitNode = getOrCreateEmitNode(node); - emitNode.flags |= 1536 /* NoComments */; + emitNode.flags |= 1536 /* EmitFlags.NoComments */; emitNode.leadingComments = undefined; emitNode.trailingComments = undefined; return node; @@ -27898,7 +27972,7 @@ var ts; ts.setSnippetElement = setSnippetElement; /* @internal */ function ignoreSourceNewlines(node) { - getOrCreateEmitNode(node).flags |= 134217728 /* IgnoreSourceNewlines */; + getOrCreateEmitNode(node).flags |= 134217728 /* EmitFlags.IgnoreSourceNewlines */; return node; } ts.ignoreSourceNewlines = ignoreSourceNewlines; @@ -27921,8 +27995,8 @@ var ts; (function (ts) { function createEmitHelperFactory(context) { var factory = context.factory; - var immutableTrue = ts.memoize(function () { return ts.setEmitFlags(factory.createTrue(), 268435456 /* Immutable */); }); - var immutableFalse = ts.memoize(function () { return ts.setEmitFlags(factory.createFalse(), 268435456 /* Immutable */); }); + var immutableTrue = ts.memoize(function () { return ts.setEmitFlags(factory.createTrue(), 268435456 /* EmitFlags.Immutable */); }); + var immutableFalse = ts.memoize(function () { return ts.setEmitFlags(factory.createFalse(), 268435456 /* EmitFlags.Immutable */); }); return { getUnscopedHelperName: getUnscopedHelperName, // TypeScript Helpers @@ -27963,7 +28037,7 @@ var ts; * Gets an identifier for the name of an *unscoped* emit helper. */ function getUnscopedHelperName(name) { - return ts.setEmitFlags(factory.createIdentifier(name), 4096 /* HelperName */ | 2 /* AdviseOnEmitNode */); + return ts.setEmitFlags(factory.createIdentifier(name), 4096 /* EmitFlags.HelperName */ | 2 /* EmitFlags.AdviseOnEmitNode */); } // TypeScript Helpers function createDecorateHelper(decoratorExpressions, target, memberName, descriptor) { @@ -27998,7 +28072,7 @@ var ts; } // ES2018 Helpers function createAssignHelper(attributesSegments) { - if (ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ES2015 */) { + if (ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ScriptTarget.ES2015 */) { return factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "assign"), /*typeArguments*/ undefined, attributesSegments); } @@ -28014,7 +28088,7 @@ var ts; context.requestEmitHelper(ts.awaitHelper); context.requestEmitHelper(ts.asyncGeneratorHelper); // Mark this node as originally an async function - (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* AsyncFunctionBody */ | 524288 /* ReuseTempVariableScope */; + (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* EmitFlags.AsyncFunctionBody */ | 524288 /* EmitFlags.ReuseTempVariableScope */; return factory.createCallExpression(getUnscopedHelperName("__asyncGenerator"), /*typeArguments*/ undefined, [ hasLexicalThis ? factory.createThis() : factory.createVoidZero(), @@ -28068,13 +28142,13 @@ var ts; function createAwaiterHelper(hasLexicalThis, hasLexicalArguments, promiseConstructor, body) { context.requestEmitHelper(ts.awaiterHelper); var generatorFunc = factory.createFunctionExpression( - /*modifiers*/ undefined, factory.createToken(41 /* AsteriskToken */), + /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), /*name*/ undefined, /*typeParameters*/ undefined, /*parameters*/ [], /*type*/ undefined, body); // Mark this node as originally an async function - (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* AsyncFunctionBody */ | 524288 /* ReuseTempVariableScope */; + (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* EmitFlags.AsyncFunctionBody */ | 524288 /* EmitFlags.ReuseTempVariableScope */; return factory.createCallExpression(getUnscopedHelperName("__awaiter"), /*typeArguments*/ undefined, [ hasLexicalThis ? factory.createThis() : factory.createVoidZero(), @@ -28087,7 +28161,7 @@ var ts; function createExtendsHelper(name) { context.requestEmitHelper(ts.extendsHelper); return factory.createCallExpression(getUnscopedHelperName("__extends"), - /*typeArguments*/ undefined, [name, factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */)]); + /*typeArguments*/ undefined, [name, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)]); } function createTemplateObjectHelper(cooked, raw) { context.requestEmitHelper(ts.templateObjectHelper); @@ -28177,13 +28251,13 @@ var ts; /* @internal */ function compareEmitHelpers(x, y) { if (x === y) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (x.priority === y.priority) - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; if (x.priority === undefined) - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; if (y.priority === undefined) - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; return ts.compareValues(x.priority, y.priority); } ts.compareEmitHelpers = compareEmitHelpers; @@ -28590,7 +28664,7 @@ var ts; function isCallToHelper(firstSegment, helperName) { return ts.isCallExpression(firstSegment) && ts.isIdentifier(firstSegment.expression) - && (ts.getEmitFlags(firstSegment.expression) & 4096 /* HelperName */) !== 0 + && (ts.getEmitFlags(firstSegment.expression) & 4096 /* EmitFlags.HelperName */) !== 0 && firstSegment.expression.escapedText === helperName; } ts.isCallToHelper = isCallToHelper; @@ -28599,741 +28673,741 @@ var ts; (function (ts) { // Literals function isNumericLiteral(node) { - return node.kind === 8 /* NumericLiteral */; + return node.kind === 8 /* SyntaxKind.NumericLiteral */; } ts.isNumericLiteral = isNumericLiteral; function isBigIntLiteral(node) { - return node.kind === 9 /* BigIntLiteral */; + return node.kind === 9 /* SyntaxKind.BigIntLiteral */; } ts.isBigIntLiteral = isBigIntLiteral; function isStringLiteral(node) { - return node.kind === 10 /* StringLiteral */; + return node.kind === 10 /* SyntaxKind.StringLiteral */; } ts.isStringLiteral = isStringLiteral; function isJsxText(node) { - return node.kind === 11 /* JsxText */; + return node.kind === 11 /* SyntaxKind.JsxText */; } ts.isJsxText = isJsxText; function isRegularExpressionLiteral(node) { - return node.kind === 13 /* RegularExpressionLiteral */; + return node.kind === 13 /* SyntaxKind.RegularExpressionLiteral */; } ts.isRegularExpressionLiteral = isRegularExpressionLiteral; function isNoSubstitutionTemplateLiteral(node) { - return node.kind === 14 /* NoSubstitutionTemplateLiteral */; + return node.kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */; } ts.isNoSubstitutionTemplateLiteral = isNoSubstitutionTemplateLiteral; // Pseudo-literals function isTemplateHead(node) { - return node.kind === 15 /* TemplateHead */; + return node.kind === 15 /* SyntaxKind.TemplateHead */; } ts.isTemplateHead = isTemplateHead; function isTemplateMiddle(node) { - return node.kind === 16 /* TemplateMiddle */; + return node.kind === 16 /* SyntaxKind.TemplateMiddle */; } ts.isTemplateMiddle = isTemplateMiddle; function isTemplateTail(node) { - return node.kind === 17 /* TemplateTail */; + return node.kind === 17 /* SyntaxKind.TemplateTail */; } ts.isTemplateTail = isTemplateTail; // Punctuation function isDotDotDotToken(node) { - return node.kind === 25 /* DotDotDotToken */; + return node.kind === 25 /* SyntaxKind.DotDotDotToken */; } ts.isDotDotDotToken = isDotDotDotToken; /*@internal*/ function isCommaToken(node) { - return node.kind === 27 /* CommaToken */; + return node.kind === 27 /* SyntaxKind.CommaToken */; } ts.isCommaToken = isCommaToken; function isPlusToken(node) { - return node.kind === 39 /* PlusToken */; + return node.kind === 39 /* SyntaxKind.PlusToken */; } ts.isPlusToken = isPlusToken; function isMinusToken(node) { - return node.kind === 40 /* MinusToken */; + return node.kind === 40 /* SyntaxKind.MinusToken */; } ts.isMinusToken = isMinusToken; function isAsteriskToken(node) { - return node.kind === 41 /* AsteriskToken */; + return node.kind === 41 /* SyntaxKind.AsteriskToken */; } ts.isAsteriskToken = isAsteriskToken; /*@internal*/ function isExclamationToken(node) { - return node.kind === 53 /* ExclamationToken */; + return node.kind === 53 /* SyntaxKind.ExclamationToken */; } ts.isExclamationToken = isExclamationToken; /*@internal*/ function isQuestionToken(node) { - return node.kind === 57 /* QuestionToken */; + return node.kind === 57 /* SyntaxKind.QuestionToken */; } ts.isQuestionToken = isQuestionToken; /*@internal*/ function isColonToken(node) { - return node.kind === 58 /* ColonToken */; + return node.kind === 58 /* SyntaxKind.ColonToken */; } ts.isColonToken = isColonToken; /*@internal*/ function isQuestionDotToken(node) { - return node.kind === 28 /* QuestionDotToken */; + return node.kind === 28 /* SyntaxKind.QuestionDotToken */; } ts.isQuestionDotToken = isQuestionDotToken; /*@internal*/ function isEqualsGreaterThanToken(node) { - return node.kind === 38 /* EqualsGreaterThanToken */; + return node.kind === 38 /* SyntaxKind.EqualsGreaterThanToken */; } ts.isEqualsGreaterThanToken = isEqualsGreaterThanToken; // Identifiers function isIdentifier(node) { - return node.kind === 79 /* Identifier */; + return node.kind === 79 /* SyntaxKind.Identifier */; } ts.isIdentifier = isIdentifier; function isPrivateIdentifier(node) { - return node.kind === 80 /* PrivateIdentifier */; + return node.kind === 80 /* SyntaxKind.PrivateIdentifier */; } ts.isPrivateIdentifier = isPrivateIdentifier; // Reserved Words /* @internal */ function isExportModifier(node) { - return node.kind === 93 /* ExportKeyword */; + return node.kind === 93 /* SyntaxKind.ExportKeyword */; } ts.isExportModifier = isExportModifier; /* @internal */ function isAsyncModifier(node) { - return node.kind === 131 /* AsyncKeyword */; + return node.kind === 131 /* SyntaxKind.AsyncKeyword */; } ts.isAsyncModifier = isAsyncModifier; /* @internal */ function isAssertsKeyword(node) { - return node.kind === 128 /* AssertsKeyword */; + return node.kind === 128 /* SyntaxKind.AssertsKeyword */; } ts.isAssertsKeyword = isAssertsKeyword; /* @internal */ function isAwaitKeyword(node) { - return node.kind === 132 /* AwaitKeyword */; + return node.kind === 132 /* SyntaxKind.AwaitKeyword */; } ts.isAwaitKeyword = isAwaitKeyword; /* @internal */ function isReadonlyKeyword(node) { - return node.kind === 145 /* ReadonlyKeyword */; + return node.kind === 145 /* SyntaxKind.ReadonlyKeyword */; } ts.isReadonlyKeyword = isReadonlyKeyword; /* @internal */ function isStaticModifier(node) { - return node.kind === 124 /* StaticKeyword */; + return node.kind === 124 /* SyntaxKind.StaticKeyword */; } ts.isStaticModifier = isStaticModifier; /* @internal */ function isAbstractModifier(node) { - return node.kind === 126 /* AbstractKeyword */; + return node.kind === 126 /* SyntaxKind.AbstractKeyword */; } ts.isAbstractModifier = isAbstractModifier; /*@internal*/ function isSuperKeyword(node) { - return node.kind === 106 /* SuperKeyword */; + return node.kind === 106 /* SyntaxKind.SuperKeyword */; } ts.isSuperKeyword = isSuperKeyword; /*@internal*/ function isImportKeyword(node) { - return node.kind === 100 /* ImportKeyword */; + return node.kind === 100 /* SyntaxKind.ImportKeyword */; } ts.isImportKeyword = isImportKeyword; // Names function isQualifiedName(node) { - return node.kind === 161 /* QualifiedName */; + return node.kind === 161 /* SyntaxKind.QualifiedName */; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 162 /* ComputedPropertyName */; + return node.kind === 162 /* SyntaxKind.ComputedPropertyName */; } ts.isComputedPropertyName = isComputedPropertyName; // Signature elements function isTypeParameterDeclaration(node) { - return node.kind === 163 /* TypeParameter */; + return node.kind === 163 /* SyntaxKind.TypeParameter */; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; // TODO(rbuckton): Rename to 'isParameterDeclaration' function isParameter(node) { - return node.kind === 164 /* Parameter */; + return node.kind === 164 /* SyntaxKind.Parameter */; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 165 /* Decorator */; + return node.kind === 165 /* SyntaxKind.Decorator */; } ts.isDecorator = isDecorator; // TypeMember function isPropertySignature(node) { - return node.kind === 166 /* PropertySignature */; + return node.kind === 166 /* SyntaxKind.PropertySignature */; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 167 /* PropertyDeclaration */; + return node.kind === 167 /* SyntaxKind.PropertyDeclaration */; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 168 /* MethodSignature */; + return node.kind === 168 /* SyntaxKind.MethodSignature */; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 169 /* MethodDeclaration */; + return node.kind === 169 /* SyntaxKind.MethodDeclaration */; } ts.isMethodDeclaration = isMethodDeclaration; function isClassStaticBlockDeclaration(node) { - return node.kind === 170 /* ClassStaticBlockDeclaration */; + return node.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */; } ts.isClassStaticBlockDeclaration = isClassStaticBlockDeclaration; function isConstructorDeclaration(node) { - return node.kind === 171 /* Constructor */; + return node.kind === 171 /* SyntaxKind.Constructor */; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 172 /* GetAccessor */; + return node.kind === 172 /* SyntaxKind.GetAccessor */; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 173 /* SetAccessor */; + return node.kind === 173 /* SyntaxKind.SetAccessor */; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 174 /* CallSignature */; + return node.kind === 174 /* SyntaxKind.CallSignature */; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 175 /* ConstructSignature */; + return node.kind === 175 /* SyntaxKind.ConstructSignature */; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 176 /* IndexSignature */; + return node.kind === 176 /* SyntaxKind.IndexSignature */; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; // Type function isTypePredicateNode(node) { - return node.kind === 177 /* TypePredicate */; + return node.kind === 177 /* SyntaxKind.TypePredicate */; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 178 /* TypeReference */; + return node.kind === 178 /* SyntaxKind.TypeReference */; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 179 /* FunctionType */; + return node.kind === 179 /* SyntaxKind.FunctionType */; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 180 /* ConstructorType */; + return node.kind === 180 /* SyntaxKind.ConstructorType */; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 181 /* TypeQuery */; + return node.kind === 181 /* SyntaxKind.TypeQuery */; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 182 /* TypeLiteral */; + return node.kind === 182 /* SyntaxKind.TypeLiteral */; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 183 /* ArrayType */; + return node.kind === 183 /* SyntaxKind.ArrayType */; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 184 /* TupleType */; + return node.kind === 184 /* SyntaxKind.TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; function isNamedTupleMember(node) { - return node.kind === 197 /* NamedTupleMember */; + return node.kind === 197 /* SyntaxKind.NamedTupleMember */; } ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { - return node.kind === 185 /* OptionalType */; + return node.kind === 185 /* SyntaxKind.OptionalType */; } ts.isOptionalTypeNode = isOptionalTypeNode; function isRestTypeNode(node) { - return node.kind === 186 /* RestType */; + return node.kind === 186 /* SyntaxKind.RestType */; } ts.isRestTypeNode = isRestTypeNode; function isUnionTypeNode(node) { - return node.kind === 187 /* UnionType */; + return node.kind === 187 /* SyntaxKind.UnionType */; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 188 /* IntersectionType */; + return node.kind === 188 /* SyntaxKind.IntersectionType */; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 189 /* ConditionalType */; + return node.kind === 189 /* SyntaxKind.ConditionalType */; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 190 /* InferType */; + return node.kind === 190 /* SyntaxKind.InferType */; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 191 /* ParenthesizedType */; + return node.kind === 191 /* SyntaxKind.ParenthesizedType */; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 192 /* ThisType */; + return node.kind === 192 /* SyntaxKind.ThisType */; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 193 /* TypeOperator */; + return node.kind === 193 /* SyntaxKind.TypeOperator */; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 194 /* IndexedAccessType */; + return node.kind === 194 /* SyntaxKind.IndexedAccessType */; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 195 /* MappedType */; + return node.kind === 195 /* SyntaxKind.MappedType */; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 196 /* LiteralType */; + return node.kind === 196 /* SyntaxKind.LiteralType */; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 200 /* ImportType */; + return node.kind === 200 /* SyntaxKind.ImportType */; } ts.isImportTypeNode = isImportTypeNode; function isTemplateLiteralTypeSpan(node) { - return node.kind === 199 /* TemplateLiteralTypeSpan */; + return node.kind === 199 /* SyntaxKind.TemplateLiteralTypeSpan */; } ts.isTemplateLiteralTypeSpan = isTemplateLiteralTypeSpan; function isTemplateLiteralTypeNode(node) { - return node.kind === 198 /* TemplateLiteralType */; + return node.kind === 198 /* SyntaxKind.TemplateLiteralType */; } ts.isTemplateLiteralTypeNode = isTemplateLiteralTypeNode; // Binding patterns function isObjectBindingPattern(node) { - return node.kind === 201 /* ObjectBindingPattern */; + return node.kind === 201 /* SyntaxKind.ObjectBindingPattern */; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 202 /* ArrayBindingPattern */; + return node.kind === 202 /* SyntaxKind.ArrayBindingPattern */; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 203 /* BindingElement */; + return node.kind === 203 /* SyntaxKind.BindingElement */; } ts.isBindingElement = isBindingElement; // Expression function isArrayLiteralExpression(node) { - return node.kind === 204 /* ArrayLiteralExpression */; + return node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 205 /* ObjectLiteralExpression */; + return node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 206 /* PropertyAccessExpression */; + return node.kind === 206 /* SyntaxKind.PropertyAccessExpression */; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 207 /* ElementAccessExpression */; + return node.kind === 207 /* SyntaxKind.ElementAccessExpression */; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 208 /* CallExpression */; + return node.kind === 208 /* SyntaxKind.CallExpression */; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 209 /* NewExpression */; + return node.kind === 209 /* SyntaxKind.NewExpression */; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 210 /* TaggedTemplateExpression */; + return node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertionExpression(node) { - return node.kind === 211 /* TypeAssertionExpression */; + return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */; } ts.isTypeAssertionExpression = isTypeAssertionExpression; function isParenthesizedExpression(node) { - return node.kind === 212 /* ParenthesizedExpression */; + return node.kind === 212 /* SyntaxKind.ParenthesizedExpression */; } ts.isParenthesizedExpression = isParenthesizedExpression; function isFunctionExpression(node) { - return node.kind === 213 /* FunctionExpression */; + return node.kind === 213 /* SyntaxKind.FunctionExpression */; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 214 /* ArrowFunction */; + return node.kind === 214 /* SyntaxKind.ArrowFunction */; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 215 /* DeleteExpression */; + return node.kind === 215 /* SyntaxKind.DeleteExpression */; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 216 /* TypeOfExpression */; + return node.kind === 216 /* SyntaxKind.TypeOfExpression */; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 217 /* VoidExpression */; + return node.kind === 217 /* SyntaxKind.VoidExpression */; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 218 /* AwaitExpression */; + return node.kind === 218 /* SyntaxKind.AwaitExpression */; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 219 /* PrefixUnaryExpression */; + return node.kind === 219 /* SyntaxKind.PrefixUnaryExpression */; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 220 /* PostfixUnaryExpression */; + return node.kind === 220 /* SyntaxKind.PostfixUnaryExpression */; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 221 /* BinaryExpression */; + return node.kind === 221 /* SyntaxKind.BinaryExpression */; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 222 /* ConditionalExpression */; + return node.kind === 222 /* SyntaxKind.ConditionalExpression */; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 223 /* TemplateExpression */; + return node.kind === 223 /* SyntaxKind.TemplateExpression */; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 224 /* YieldExpression */; + return node.kind === 224 /* SyntaxKind.YieldExpression */; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 225 /* SpreadElement */; + return node.kind === 225 /* SyntaxKind.SpreadElement */; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 226 /* ClassExpression */; + return node.kind === 226 /* SyntaxKind.ClassExpression */; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 227 /* OmittedExpression */; + return node.kind === 227 /* SyntaxKind.OmittedExpression */; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 228 /* ExpressionWithTypeArguments */; + return node.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 229 /* AsExpression */; + return node.kind === 229 /* SyntaxKind.AsExpression */; } ts.isAsExpression = isAsExpression; function isNonNullExpression(node) { - return node.kind === 230 /* NonNullExpression */; + return node.kind === 230 /* SyntaxKind.NonNullExpression */; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 231 /* MetaProperty */; + return node.kind === 231 /* SyntaxKind.MetaProperty */; } ts.isMetaProperty = isMetaProperty; function isSyntheticExpression(node) { - return node.kind === 232 /* SyntheticExpression */; + return node.kind === 232 /* SyntaxKind.SyntheticExpression */; } ts.isSyntheticExpression = isSyntheticExpression; function isPartiallyEmittedExpression(node) { - return node.kind === 350 /* PartiallyEmittedExpression */; + return node.kind === 350 /* SyntaxKind.PartiallyEmittedExpression */; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; function isCommaListExpression(node) { - return node.kind === 351 /* CommaListExpression */; + return node.kind === 351 /* SyntaxKind.CommaListExpression */; } ts.isCommaListExpression = isCommaListExpression; // Misc function isTemplateSpan(node) { - return node.kind === 233 /* TemplateSpan */; + return node.kind === 233 /* SyntaxKind.TemplateSpan */; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 234 /* SemicolonClassElement */; + return node.kind === 234 /* SyntaxKind.SemicolonClassElement */; } ts.isSemicolonClassElement = isSemicolonClassElement; // Elements function isBlock(node) { - return node.kind === 235 /* Block */; + return node.kind === 235 /* SyntaxKind.Block */; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 237 /* VariableStatement */; + return node.kind === 237 /* SyntaxKind.VariableStatement */; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 236 /* EmptyStatement */; + return node.kind === 236 /* SyntaxKind.EmptyStatement */; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 238 /* ExpressionStatement */; + return node.kind === 238 /* SyntaxKind.ExpressionStatement */; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 239 /* IfStatement */; + return node.kind === 239 /* SyntaxKind.IfStatement */; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 240 /* DoStatement */; + return node.kind === 240 /* SyntaxKind.DoStatement */; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 241 /* WhileStatement */; + return node.kind === 241 /* SyntaxKind.WhileStatement */; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 242 /* ForStatement */; + return node.kind === 242 /* SyntaxKind.ForStatement */; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 243 /* ForInStatement */; + return node.kind === 243 /* SyntaxKind.ForInStatement */; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 244 /* ForOfStatement */; + return node.kind === 244 /* SyntaxKind.ForOfStatement */; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 245 /* ContinueStatement */; + return node.kind === 245 /* SyntaxKind.ContinueStatement */; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 246 /* BreakStatement */; + return node.kind === 246 /* SyntaxKind.BreakStatement */; } ts.isBreakStatement = isBreakStatement; function isReturnStatement(node) { - return node.kind === 247 /* ReturnStatement */; + return node.kind === 247 /* SyntaxKind.ReturnStatement */; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 248 /* WithStatement */; + return node.kind === 248 /* SyntaxKind.WithStatement */; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 249 /* SwitchStatement */; + return node.kind === 249 /* SyntaxKind.SwitchStatement */; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 250 /* LabeledStatement */; + return node.kind === 250 /* SyntaxKind.LabeledStatement */; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 251 /* ThrowStatement */; + return node.kind === 251 /* SyntaxKind.ThrowStatement */; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 252 /* TryStatement */; + return node.kind === 252 /* SyntaxKind.TryStatement */; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 253 /* DebuggerStatement */; + return node.kind === 253 /* SyntaxKind.DebuggerStatement */; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 254 /* VariableDeclaration */; + return node.kind === 254 /* SyntaxKind.VariableDeclaration */; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 255 /* VariableDeclarationList */; + return node.kind === 255 /* SyntaxKind.VariableDeclarationList */; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 256 /* FunctionDeclaration */; + return node.kind === 256 /* SyntaxKind.FunctionDeclaration */; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 257 /* ClassDeclaration */; + return node.kind === 257 /* SyntaxKind.ClassDeclaration */; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 258 /* InterfaceDeclaration */; + return node.kind === 258 /* SyntaxKind.InterfaceDeclaration */; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 259 /* TypeAliasDeclaration */; + return node.kind === 259 /* SyntaxKind.TypeAliasDeclaration */; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 260 /* EnumDeclaration */; + return node.kind === 260 /* SyntaxKind.EnumDeclaration */; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 261 /* ModuleDeclaration */; + return node.kind === 261 /* SyntaxKind.ModuleDeclaration */; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 262 /* ModuleBlock */; + return node.kind === 262 /* SyntaxKind.ModuleBlock */; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 263 /* CaseBlock */; + return node.kind === 263 /* SyntaxKind.CaseBlock */; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 264 /* NamespaceExportDeclaration */; + return node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 265 /* ImportEqualsDeclaration */; + return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 266 /* ImportDeclaration */; + return node.kind === 266 /* SyntaxKind.ImportDeclaration */; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 267 /* ImportClause */; + return node.kind === 267 /* SyntaxKind.ImportClause */; } ts.isImportClause = isImportClause; function isAssertClause(node) { - return node.kind === 293 /* AssertClause */; + return node.kind === 293 /* SyntaxKind.AssertClause */; } ts.isAssertClause = isAssertClause; function isAssertEntry(node) { - return node.kind === 294 /* AssertEntry */; + return node.kind === 294 /* SyntaxKind.AssertEntry */; } ts.isAssertEntry = isAssertEntry; function isNamespaceImport(node) { - return node.kind === 268 /* NamespaceImport */; + return node.kind === 268 /* SyntaxKind.NamespaceImport */; } ts.isNamespaceImport = isNamespaceImport; function isNamespaceExport(node) { - return node.kind === 274 /* NamespaceExport */; + return node.kind === 274 /* SyntaxKind.NamespaceExport */; } ts.isNamespaceExport = isNamespaceExport; function isNamedImports(node) { - return node.kind === 269 /* NamedImports */; + return node.kind === 269 /* SyntaxKind.NamedImports */; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 270 /* ImportSpecifier */; + return node.kind === 270 /* SyntaxKind.ImportSpecifier */; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 271 /* ExportAssignment */; + return node.kind === 271 /* SyntaxKind.ExportAssignment */; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 272 /* ExportDeclaration */; + return node.kind === 272 /* SyntaxKind.ExportDeclaration */; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 273 /* NamedExports */; + return node.kind === 273 /* SyntaxKind.NamedExports */; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 275 /* ExportSpecifier */; + return node.kind === 275 /* SyntaxKind.ExportSpecifier */; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 276 /* MissingDeclaration */; + return node.kind === 276 /* SyntaxKind.MissingDeclaration */; } ts.isMissingDeclaration = isMissingDeclaration; function isNotEmittedStatement(node) { - return node.kind === 349 /* NotEmittedStatement */; + return node.kind === 349 /* SyntaxKind.NotEmittedStatement */; } ts.isNotEmittedStatement = isNotEmittedStatement; /* @internal */ function isSyntheticReference(node) { - return node.kind === 354 /* SyntheticReferenceExpression */; + return node.kind === 354 /* SyntaxKind.SyntheticReferenceExpression */; } ts.isSyntheticReference = isSyntheticReference; /* @internal */ function isMergeDeclarationMarker(node) { - return node.kind === 352 /* MergeDeclarationMarker */; + return node.kind === 352 /* SyntaxKind.MergeDeclarationMarker */; } ts.isMergeDeclarationMarker = isMergeDeclarationMarker; /* @internal */ function isEndOfDeclarationMarker(node) { - return node.kind === 353 /* EndOfDeclarationMarker */; + return node.kind === 353 /* SyntaxKind.EndOfDeclarationMarker */; } ts.isEndOfDeclarationMarker = isEndOfDeclarationMarker; // Module References function isExternalModuleReference(node) { - return node.kind === 277 /* ExternalModuleReference */; + return node.kind === 277 /* SyntaxKind.ExternalModuleReference */; } ts.isExternalModuleReference = isExternalModuleReference; // JSX function isJsxElement(node) { - return node.kind === 278 /* JsxElement */; + return node.kind === 278 /* SyntaxKind.JsxElement */; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 279 /* JsxSelfClosingElement */; + return node.kind === 279 /* SyntaxKind.JsxSelfClosingElement */; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 280 /* JsxOpeningElement */; + return node.kind === 280 /* SyntaxKind.JsxOpeningElement */; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 281 /* JsxClosingElement */; + return node.kind === 281 /* SyntaxKind.JsxClosingElement */; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 282 /* JsxFragment */; + return node.kind === 282 /* SyntaxKind.JsxFragment */; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 283 /* JsxOpeningFragment */; + return node.kind === 283 /* SyntaxKind.JsxOpeningFragment */; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 284 /* JsxClosingFragment */; + return node.kind === 284 /* SyntaxKind.JsxClosingFragment */; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 285 /* JsxAttribute */; + return node.kind === 285 /* SyntaxKind.JsxAttribute */; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 286 /* JsxAttributes */; + return node.kind === 286 /* SyntaxKind.JsxAttributes */; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 287 /* JsxSpreadAttribute */; + return node.kind === 287 /* SyntaxKind.JsxSpreadAttribute */; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 288 /* JsxExpression */; + return node.kind === 288 /* SyntaxKind.JsxExpression */; } ts.isJsxExpression = isJsxExpression; // Clauses function isCaseClause(node) { - return node.kind === 289 /* CaseClause */; + return node.kind === 289 /* SyntaxKind.CaseClause */; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 290 /* DefaultClause */; + return node.kind === 290 /* SyntaxKind.DefaultClause */; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 291 /* HeritageClause */; + return node.kind === 291 /* SyntaxKind.HeritageClause */; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 292 /* CatchClause */; + return node.kind === 292 /* SyntaxKind.CatchClause */; } ts.isCatchClause = isCatchClause; // Property assignments function isPropertyAssignment(node) { - return node.kind === 296 /* PropertyAssignment */; + return node.kind === 296 /* SyntaxKind.PropertyAssignment */; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 297 /* ShorthandPropertyAssignment */; + return node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 298 /* SpreadAssignment */; + return node.kind === 298 /* SyntaxKind.SpreadAssignment */; } ts.isSpreadAssignment = isSpreadAssignment; // Enum function isEnumMember(node) { - return node.kind === 299 /* EnumMember */; + return node.kind === 299 /* SyntaxKind.EnumMember */; } ts.isEnumMember = isEnumMember; // Unparsed // TODO(rbuckton): isUnparsedPrologue function isUnparsedPrepend(node) { - return node.kind === 301 /* UnparsedPrepend */; + return node.kind === 301 /* SyntaxKind.UnparsedPrepend */; } ts.isUnparsedPrepend = isUnparsedPrepend; // TODO(rbuckton): isUnparsedText @@ -29341,176 +29415,176 @@ var ts; // TODO(rbuckton): isUnparsedSyntheticReference // Top-level nodes function isSourceFile(node) { - return node.kind === 305 /* SourceFile */; + return node.kind === 305 /* SyntaxKind.SourceFile */; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 306 /* Bundle */; + return node.kind === 306 /* SyntaxKind.Bundle */; } ts.isBundle = isBundle; function isUnparsedSource(node) { - return node.kind === 307 /* UnparsedSource */; + return node.kind === 307 /* SyntaxKind.UnparsedSource */; } ts.isUnparsedSource = isUnparsedSource; // TODO(rbuckton): isInputFiles // JSDoc Elements function isJSDocTypeExpression(node) { - return node.kind === 309 /* JSDocTypeExpression */; + return node.kind === 309 /* SyntaxKind.JSDocTypeExpression */; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocNameReference(node) { - return node.kind === 310 /* JSDocNameReference */; + return node.kind === 310 /* SyntaxKind.JSDocNameReference */; } ts.isJSDocNameReference = isJSDocNameReference; function isJSDocMemberName(node) { - return node.kind === 311 /* JSDocMemberName */; + return node.kind === 311 /* SyntaxKind.JSDocMemberName */; } ts.isJSDocMemberName = isJSDocMemberName; function isJSDocLink(node) { - return node.kind === 324 /* JSDocLink */; + return node.kind === 324 /* SyntaxKind.JSDocLink */; } ts.isJSDocLink = isJSDocLink; function isJSDocLinkCode(node) { - return node.kind === 325 /* JSDocLinkCode */; + return node.kind === 325 /* SyntaxKind.JSDocLinkCode */; } ts.isJSDocLinkCode = isJSDocLinkCode; function isJSDocLinkPlain(node) { - return node.kind === 326 /* JSDocLinkPlain */; + return node.kind === 326 /* SyntaxKind.JSDocLinkPlain */; } ts.isJSDocLinkPlain = isJSDocLinkPlain; function isJSDocAllType(node) { - return node.kind === 312 /* JSDocAllType */; + return node.kind === 312 /* SyntaxKind.JSDocAllType */; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 313 /* JSDocUnknownType */; + return node.kind === 313 /* SyntaxKind.JSDocUnknownType */; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 314 /* JSDocNullableType */; + return node.kind === 314 /* SyntaxKind.JSDocNullableType */; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 315 /* JSDocNonNullableType */; + return node.kind === 315 /* SyntaxKind.JSDocNonNullableType */; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 316 /* JSDocOptionalType */; + return node.kind === 316 /* SyntaxKind.JSDocOptionalType */; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 317 /* JSDocFunctionType */; + return node.kind === 317 /* SyntaxKind.JSDocFunctionType */; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 318 /* JSDocVariadicType */; + return node.kind === 318 /* SyntaxKind.JSDocVariadicType */; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDocNamepathType(node) { - return node.kind === 319 /* JSDocNamepathType */; + return node.kind === 319 /* SyntaxKind.JSDocNamepathType */; } ts.isJSDocNamepathType = isJSDocNamepathType; function isJSDoc(node) { - return node.kind === 320 /* JSDoc */; + return node.kind === 320 /* SyntaxKind.JSDoc */; } ts.isJSDoc = isJSDoc; function isJSDocTypeLiteral(node) { - return node.kind === 322 /* JSDocTypeLiteral */; + return node.kind === 322 /* SyntaxKind.JSDocTypeLiteral */; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocSignature(node) { - return node.kind === 323 /* JSDocSignature */; + return node.kind === 323 /* SyntaxKind.JSDocSignature */; } ts.isJSDocSignature = isJSDocSignature; // JSDoc Tags function isJSDocAugmentsTag(node) { - return node.kind === 328 /* JSDocAugmentsTag */; + return node.kind === 328 /* SyntaxKind.JSDocAugmentsTag */; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocAuthorTag(node) { - return node.kind === 330 /* JSDocAuthorTag */; + return node.kind === 330 /* SyntaxKind.JSDocAuthorTag */; } ts.isJSDocAuthorTag = isJSDocAuthorTag; function isJSDocClassTag(node) { - return node.kind === 332 /* JSDocClassTag */; + return node.kind === 332 /* SyntaxKind.JSDocClassTag */; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocCallbackTag(node) { - return node.kind === 338 /* JSDocCallbackTag */; + return node.kind === 338 /* SyntaxKind.JSDocCallbackTag */; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocPublicTag(node) { - return node.kind === 333 /* JSDocPublicTag */; + return node.kind === 333 /* SyntaxKind.JSDocPublicTag */; } ts.isJSDocPublicTag = isJSDocPublicTag; function isJSDocPrivateTag(node) { - return node.kind === 334 /* JSDocPrivateTag */; + return node.kind === 334 /* SyntaxKind.JSDocPrivateTag */; } ts.isJSDocPrivateTag = isJSDocPrivateTag; function isJSDocProtectedTag(node) { - return node.kind === 335 /* JSDocProtectedTag */; + return node.kind === 335 /* SyntaxKind.JSDocProtectedTag */; } ts.isJSDocProtectedTag = isJSDocProtectedTag; function isJSDocReadonlyTag(node) { - return node.kind === 336 /* JSDocReadonlyTag */; + return node.kind === 336 /* SyntaxKind.JSDocReadonlyTag */; } ts.isJSDocReadonlyTag = isJSDocReadonlyTag; function isJSDocOverrideTag(node) { - return node.kind === 337 /* JSDocOverrideTag */; + return node.kind === 337 /* SyntaxKind.JSDocOverrideTag */; } ts.isJSDocOverrideTag = isJSDocOverrideTag; function isJSDocDeprecatedTag(node) { - return node.kind === 331 /* JSDocDeprecatedTag */; + return node.kind === 331 /* SyntaxKind.JSDocDeprecatedTag */; } ts.isJSDocDeprecatedTag = isJSDocDeprecatedTag; function isJSDocSeeTag(node) { - return node.kind === 346 /* JSDocSeeTag */; + return node.kind === 346 /* SyntaxKind.JSDocSeeTag */; } ts.isJSDocSeeTag = isJSDocSeeTag; function isJSDocEnumTag(node) { - return node.kind === 339 /* JSDocEnumTag */; + return node.kind === 339 /* SyntaxKind.JSDocEnumTag */; } ts.isJSDocEnumTag = isJSDocEnumTag; function isJSDocParameterTag(node) { - return node.kind === 340 /* JSDocParameterTag */; + return node.kind === 340 /* SyntaxKind.JSDocParameterTag */; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 341 /* JSDocReturnTag */; + return node.kind === 341 /* SyntaxKind.JSDocReturnTag */; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocThisTag(node) { - return node.kind === 342 /* JSDocThisTag */; + return node.kind === 342 /* SyntaxKind.JSDocThisTag */; } ts.isJSDocThisTag = isJSDocThisTag; function isJSDocTypeTag(node) { - return node.kind === 343 /* JSDocTypeTag */; + return node.kind === 343 /* SyntaxKind.JSDocTypeTag */; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 344 /* JSDocTemplateTag */; + return node.kind === 344 /* SyntaxKind.JSDocTemplateTag */; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 345 /* JSDocTypedefTag */; + return node.kind === 345 /* SyntaxKind.JSDocTypedefTag */; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocUnknownTag(node) { - return node.kind === 327 /* JSDocTag */; + return node.kind === 327 /* SyntaxKind.JSDocTag */; } ts.isJSDocUnknownTag = isJSDocUnknownTag; function isJSDocPropertyTag(node) { - return node.kind === 347 /* JSDocPropertyTag */; + return node.kind === 347 /* SyntaxKind.JSDocPropertyTag */; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocImplementsTag(node) { - return node.kind === 329 /* JSDocImplementsTag */; + return node.kind === 329 /* SyntaxKind.JSDocImplementsTag */; } ts.isJSDocImplementsTag = isJSDocImplementsTag; // Synthesized list /* @internal */ function isSyntaxList(n) { - return n.kind === 348 /* SyntaxList */; + return n.kind === 348 /* SyntaxKind.SyntaxList */; } ts.isSyntaxList = isSyntaxList; })(ts || (ts = {})); @@ -29530,7 +29604,7 @@ var ts; var expression = ts.setTextRange(ts.isMemberName(memberName) ? factory.createPropertyAccessExpression(target, memberName) : factory.createElementAccessExpression(target, memberName), memberName); - ts.getOrCreateEmitNode(expression).flags |= 64 /* NoNestedSourceMaps */; + ts.getOrCreateEmitNode(expression).flags |= 64 /* EmitFlags.NoNestedSourceMaps */; return expression; } } @@ -29709,14 +29783,14 @@ var ts; ts.Debug.failBadSyntaxKind(property.name, "Private identifiers are not allowed in object literals."); } switch (property.kind) { - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return createExpressionForAccessorDeclaration(factory, node.properties, property, receiver, !!node.multiLine); - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return createExpressionForPropertyAssignment(factory, property, receiver); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return createExpressionForShorthandPropertyAssignment(factory, property, receiver); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: return createExpressionForMethodDeclaration(factory, property, receiver); } } @@ -29755,7 +29829,7 @@ var ts; */ function expandPreOrPostfixIncrementOrDecrementExpression(factory, node, expression, recordTempVariable, resultVariable) { var operator = node.operator; - ts.Debug.assert(operator === 45 /* PlusPlusToken */ || operator === 46 /* MinusMinusToken */, "Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression"); + ts.Debug.assert(operator === 45 /* SyntaxKind.PlusPlusToken */ || operator === 46 /* SyntaxKind.MinusMinusToken */, "Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression"); var temp = factory.createTempVariable(recordTempVariable); expression = factory.createAssignment(temp, expression); ts.setTextRange(expression, node.operand); @@ -29780,14 +29854,14 @@ var ts; * Gets whether an identifier should only be referred to by its internal name. */ function isInternalName(node) { - return (ts.getEmitFlags(node) & 32768 /* InternalName */) !== 0; + return (ts.getEmitFlags(node) & 32768 /* EmitFlags.InternalName */) !== 0; } ts.isInternalName = isInternalName; /** * Gets whether an identifier should only be referred to by its local name. */ function isLocalName(node) { - return (ts.getEmitFlags(node) & 16384 /* LocalName */) !== 0; + return (ts.getEmitFlags(node) & 16384 /* EmitFlags.LocalName */) !== 0; } ts.isLocalName = isLocalName; /** @@ -29795,7 +29869,7 @@ var ts; * name points to an exported symbol. */ function isExportName(node) { - return (ts.getEmitFlags(node) & 8192 /* ExportName */) !== 0; + return (ts.getEmitFlags(node) & 8192 /* EmitFlags.ExportName */) !== 0; } ts.isExportName = isExportName; function isUseStrictPrologue(node) { @@ -29824,8 +29898,8 @@ var ts; } ts.startsWithUseStrict = startsWithUseStrict; function isCommaSequence(node) { - return node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || - node.kind === 351 /* CommaListExpression */; + return node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ || + node.kind === 351 /* SyntaxKind.CommaListExpression */; } ts.isCommaSequence = isCommaSequence; function isJSDocTypeAssertion(node) { @@ -29841,26 +29915,26 @@ var ts; } ts.getJSDocTypeAssertionType = getJSDocTypeAssertionType; function isOuterExpression(node, kinds) { - if (kinds === void 0) { kinds = 15 /* All */; } + if (kinds === void 0) { kinds = 15 /* OuterExpressionKinds.All */; } switch (node.kind) { - case 212 /* ParenthesizedExpression */: - if (kinds & 16 /* ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) { + case 212 /* SyntaxKind.ParenthesizedExpression */: + if (kinds & 16 /* OuterExpressionKinds.ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) { return false; } - return (kinds & 1 /* Parentheses */) !== 0; - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: - return (kinds & 2 /* TypeAssertions */) !== 0; - case 230 /* NonNullExpression */: - return (kinds & 4 /* NonNullAssertions */) !== 0; - case 350 /* PartiallyEmittedExpression */: - return (kinds & 8 /* PartiallyEmittedExpressions */) !== 0; + return (kinds & 1 /* OuterExpressionKinds.Parentheses */) !== 0; + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: + return (kinds & 2 /* OuterExpressionKinds.TypeAssertions */) !== 0; + case 230 /* SyntaxKind.NonNullExpression */: + return (kinds & 4 /* OuterExpressionKinds.NonNullAssertions */) !== 0; + case 350 /* SyntaxKind.PartiallyEmittedExpression */: + return (kinds & 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */) !== 0; } return false; } ts.isOuterExpression = isOuterExpression; function skipOuterExpressions(node, kinds) { - if (kinds === void 0) { kinds = 15 /* All */; } + if (kinds === void 0) { kinds = 15 /* OuterExpressionKinds.All */; } while (isOuterExpression(node, kinds)) { node = node.expression; } @@ -29868,7 +29942,7 @@ var ts; } ts.skipOuterExpressions = skipOuterExpressions; function skipAssertions(node) { - return skipOuterExpressions(node, 6 /* Assertions */); + return skipOuterExpressions(node, 6 /* OuterExpressionKinds.Assertions */); } ts.skipAssertions = skipAssertions; function startOnNewLine(node) { @@ -29930,7 +30004,7 @@ var ts; /*decorators*/ undefined, /*modifiers*/ undefined, nodeFactory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, namedBindings), nodeFactory.createStringLiteral(ts.externalHelpersModuleNameText), /*assertClause*/ undefined); - ts.addEmitFlags(externalHelpersImportDeclaration, 67108864 /* NeverApplyImportHelper */); + ts.addEmitFlags(externalHelpersImportDeclaration, 67108864 /* EmitFlags.NeverApplyImportHelper */); return externalHelpersImportDeclaration; } } @@ -29975,10 +30049,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : factory.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 266 /* ImportDeclaration */ && node.importClause) { + if (node.kind === 266 /* SyntaxKind.ImportDeclaration */ && node.importClause) { return factory.getGeneratedNameForNode(node); } - if (node.kind === 272 /* ExportDeclaration */ && node.moduleSpecifier) { + if (node.kind === 272 /* SyntaxKind.ExportDeclaration */ && node.moduleSpecifier) { return factory.getGeneratedNameForNode(node); } return undefined; @@ -30097,7 +30171,7 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: // `b` in `({ a: b } = ...)` // `b` in `({ a: b = 1 } = ...)` // `{b}` in `({ a: {b} } = ...)` @@ -30109,11 +30183,11 @@ var ts; // `b[0]` in `({ a: b[0] } = ...)` // `b[0]` in `({ a: b[0] = 1 } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: // `a` in `({ a } = ...)` // `a` in `({ a = 1 } = ...)` return bindingElement.name; - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: // `a` in `({ ...a } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } @@ -30145,12 +30219,12 @@ var ts; */ function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 164 /* Parameter */: - case 203 /* BindingElement */: + case 164 /* SyntaxKind.Parameter */: + case 203 /* SyntaxKind.BindingElement */: // `...` in `let [...a] = ...` return bindingElement.dotDotDotToken; - case 225 /* SpreadElement */: - case 298 /* SpreadAssignment */: + case 225 /* SyntaxKind.SpreadElement */: + case 298 /* SyntaxKind.SpreadAssignment */: // `...` in `[...a] = ...` return bindingElement; } @@ -30168,7 +30242,7 @@ var ts; ts.getPropertyNameOfBindingOrAssignmentElement = getPropertyNameOfBindingOrAssignmentElement; function tryGetPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: // `a` in `let { a: b } = ...` // `[a]` in `let { [a]: b } = ...` // `"a"` in `let { "a": b } = ...` @@ -30183,7 +30257,7 @@ var ts; : propertyName; } break; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: // `a` in `({ a: b } = ...)` // `[a]` in `({ [a]: b } = ...)` // `"a"` in `({ "a": b } = ...)` @@ -30198,7 +30272,7 @@ var ts; : propertyName; } break; - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: // `a` in `({ ...a } = ...)` if (bindingElement.name && ts.isPrivateIdentifier(bindingElement.name)) { return ts.Debug.failBadSyntaxKind(bindingElement.name); @@ -30213,21 +30287,21 @@ var ts; ts.tryGetPropertyNameOfBindingOrAssignmentElement = tryGetPropertyNameOfBindingOrAssignmentElement; function isStringOrNumericLiteral(node) { var kind = node.kind; - return kind === 10 /* StringLiteral */ - || kind === 8 /* NumericLiteral */; + return kind === 10 /* SyntaxKind.StringLiteral */ + || kind === 8 /* SyntaxKind.NumericLiteral */; } /** * Gets the elements of a BindingOrAssignmentPattern */ function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: - case 204 /* ArrayLiteralExpression */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: // `a` in `{a}` // `a` in `[a]` return name.elements; - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: // `a` in `{a}` return name.properties; } @@ -30248,29 +30322,29 @@ var ts; ts.getJSDocTypeAliasName = getJSDocTypeAliasName; function canHaveModifiers(node) { var kind = node.kind; - return kind === 164 /* Parameter */ - || kind === 166 /* PropertySignature */ - || kind === 167 /* PropertyDeclaration */ - || kind === 168 /* MethodSignature */ - || kind === 169 /* MethodDeclaration */ - || kind === 171 /* Constructor */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */ - || kind === 176 /* IndexSignature */ - || kind === 213 /* FunctionExpression */ - || kind === 214 /* ArrowFunction */ - || kind === 226 /* ClassExpression */ - || kind === 237 /* VariableStatement */ - || kind === 256 /* FunctionDeclaration */ - || kind === 257 /* ClassDeclaration */ - || kind === 258 /* InterfaceDeclaration */ - || kind === 259 /* TypeAliasDeclaration */ - || kind === 260 /* EnumDeclaration */ - || kind === 261 /* ModuleDeclaration */ - || kind === 265 /* ImportEqualsDeclaration */ - || kind === 266 /* ImportDeclaration */ - || kind === 271 /* ExportAssignment */ - || kind === 272 /* ExportDeclaration */; + return kind === 164 /* SyntaxKind.Parameter */ + || kind === 166 /* SyntaxKind.PropertySignature */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 168 /* SyntaxKind.MethodSignature */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 213 /* SyntaxKind.FunctionExpression */ + || kind === 214 /* SyntaxKind.ArrowFunction */ + || kind === 226 /* SyntaxKind.ClassExpression */ + || kind === 237 /* SyntaxKind.VariableStatement */ + || kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 257 /* SyntaxKind.ClassDeclaration */ + || kind === 258 /* SyntaxKind.InterfaceDeclaration */ + || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 260 /* SyntaxKind.EnumDeclaration */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 266 /* SyntaxKind.ImportDeclaration */ + || kind === 271 /* SyntaxKind.ExportAssignment */ + || kind === 272 /* SyntaxKind.ExportDeclaration */; } ts.canHaveModifiers = canHaveModifiers; ts.isTypeNodeOrTypeParameterDeclaration = ts.or(ts.isTypeNode, ts.isTypeParameterDeclaration); @@ -30281,68 +30355,68 @@ var ts; ts.isModuleName = ts.or(ts.isIdentifier, ts.isStringLiteral); function isLiteralTypeLikeExpression(node) { var kind = node.kind; - return kind === 104 /* NullKeyword */ - || kind === 110 /* TrueKeyword */ - || kind === 95 /* FalseKeyword */ + return kind === 104 /* SyntaxKind.NullKeyword */ + || kind === 110 /* SyntaxKind.TrueKeyword */ + || kind === 95 /* SyntaxKind.FalseKeyword */ || ts.isLiteralExpression(node) || ts.isPrefixUnaryExpression(node); } ts.isLiteralTypeLikeExpression = isLiteralTypeLikeExpression; function isExponentiationOperator(kind) { - return kind === 42 /* AsteriskAsteriskToken */; + return kind === 42 /* SyntaxKind.AsteriskAsteriskToken */; } function isMultiplicativeOperator(kind) { - return kind === 41 /* AsteriskToken */ - || kind === 43 /* SlashToken */ - || kind === 44 /* PercentToken */; + return kind === 41 /* SyntaxKind.AsteriskToken */ + || kind === 43 /* SyntaxKind.SlashToken */ + || kind === 44 /* SyntaxKind.PercentToken */; } function isMultiplicativeOperatorOrHigher(kind) { return isExponentiationOperator(kind) || isMultiplicativeOperator(kind); } function isAdditiveOperator(kind) { - return kind === 39 /* PlusToken */ - || kind === 40 /* MinusToken */; + return kind === 39 /* SyntaxKind.PlusToken */ + || kind === 40 /* SyntaxKind.MinusToken */; } function isAdditiveOperatorOrHigher(kind) { return isAdditiveOperator(kind) || isMultiplicativeOperatorOrHigher(kind); } function isShiftOperator(kind) { - return kind === 47 /* LessThanLessThanToken */ - || kind === 48 /* GreaterThanGreaterThanToken */ - || kind === 49 /* GreaterThanGreaterThanGreaterThanToken */; + return kind === 47 /* SyntaxKind.LessThanLessThanToken */ + || kind === 48 /* SyntaxKind.GreaterThanGreaterThanToken */ + || kind === 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */; } function isShiftOperatorOrHigher(kind) { return isShiftOperator(kind) || isAdditiveOperatorOrHigher(kind); } function isRelationalOperator(kind) { - return kind === 29 /* LessThanToken */ - || kind === 32 /* LessThanEqualsToken */ - || kind === 31 /* GreaterThanToken */ - || kind === 33 /* GreaterThanEqualsToken */ - || kind === 102 /* InstanceOfKeyword */ - || kind === 101 /* InKeyword */; + return kind === 29 /* SyntaxKind.LessThanToken */ + || kind === 32 /* SyntaxKind.LessThanEqualsToken */ + || kind === 31 /* SyntaxKind.GreaterThanToken */ + || kind === 33 /* SyntaxKind.GreaterThanEqualsToken */ + || kind === 102 /* SyntaxKind.InstanceOfKeyword */ + || kind === 101 /* SyntaxKind.InKeyword */; } function isRelationalOperatorOrHigher(kind) { return isRelationalOperator(kind) || isShiftOperatorOrHigher(kind); } function isEqualityOperator(kind) { - return kind === 34 /* EqualsEqualsToken */ - || kind === 36 /* EqualsEqualsEqualsToken */ - || kind === 35 /* ExclamationEqualsToken */ - || kind === 37 /* ExclamationEqualsEqualsToken */; + return kind === 34 /* SyntaxKind.EqualsEqualsToken */ + || kind === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ + || kind === 35 /* SyntaxKind.ExclamationEqualsToken */ + || kind === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */; } function isEqualityOperatorOrHigher(kind) { return isEqualityOperator(kind) || isRelationalOperatorOrHigher(kind); } function isBitwiseOperator(kind) { - return kind === 50 /* AmpersandToken */ - || kind === 51 /* BarToken */ - || kind === 52 /* CaretToken */; + return kind === 50 /* SyntaxKind.AmpersandToken */ + || kind === 51 /* SyntaxKind.BarToken */ + || kind === 52 /* SyntaxKind.CaretToken */; } function isBitwiseOperatorOrHigher(kind) { return isBitwiseOperator(kind) @@ -30350,21 +30424,21 @@ var ts; } // NOTE: The version in utilities includes ExclamationToken, which is not a binary operator. function isLogicalOperator(kind) { - return kind === 55 /* AmpersandAmpersandToken */ - || kind === 56 /* BarBarToken */; + return kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ + || kind === 56 /* SyntaxKind.BarBarToken */; } function isLogicalOperatorOrHigher(kind) { return isLogicalOperator(kind) || isBitwiseOperatorOrHigher(kind); } function isAssignmentOperatorOrHigher(kind) { - return kind === 60 /* QuestionQuestionToken */ + return kind === 60 /* SyntaxKind.QuestionQuestionToken */ || isLogicalOperatorOrHigher(kind) || ts.isAssignmentOperator(kind); } function isBinaryOperator(kind) { return isAssignmentOperatorOrHigher(kind) - || kind === 27 /* CommaToken */; + || kind === 27 /* SyntaxKind.CommaToken */; } function isBinaryOperatorToken(node) { return isBinaryOperator(node.kind); @@ -30497,7 +30571,7 @@ var ts; return stackIndex; } function checkCircularity(stackIndex, nodeStack, node) { - if (ts.Debug.shouldAssert(2 /* Aggressive */)) { + if (ts.Debug.shouldAssert(2 /* AssertionLevel.Aggressive */)) { while (stackIndex >= 0) { ts.Debug.assert(nodeStack[stackIndex] !== node, "Circular traversal detected."); stackIndex--; @@ -30578,7 +30652,7 @@ var ts; createBaseNode: function (kind) { return new (NodeConstructor || (NodeConstructor = ts.objectAllocator.getNodeConstructor()))(kind, -1, -1); }, }; /* @internal */ - ts.parseNodeFactory = ts.createNodeFactory(1 /* NoParenthesizerRules */, ts.parseBaseNodeFactory); + ts.parseNodeFactory = ts.createNodeFactory(1 /* NodeFactoryFlags.NoParenthesizerRules */, ts.parseBaseNodeFactory); function visitNode(cbNode, node) { return node && cbNode(node); } @@ -30598,9 +30672,9 @@ var ts; } /*@internal*/ function isJSDocLikeText(text, start) { - return text.charCodeAt(start + 1) === 42 /* asterisk */ && - text.charCodeAt(start + 2) === 42 /* asterisk */ && - text.charCodeAt(start + 3) !== 47 /* slash */; + return text.charCodeAt(start + 1) === 42 /* CharacterCodes.asterisk */ && + text.charCodeAt(start + 2) === 42 /* CharacterCodes.asterisk */ && + text.charCodeAt(start + 3) !== 47 /* CharacterCodes.slash */; } ts.isJSDocLikeText = isJSDocLikeText; /*@internal*/ @@ -30612,14 +30686,14 @@ var ts; } ts.isFileProbablyExternalModule = isFileProbablyExternalModule; function isAnExternalModuleIndicatorNode(node) { - return hasModifierOfKind(node, 93 /* ExportKeyword */) + return hasModifierOfKind(node, 93 /* SyntaxKind.ExportKeyword */) || ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference) || ts.isImportDeclaration(node) || ts.isExportAssignment(node) || ts.isExportDeclaration(node) ? node : undefined; } function getImportMetaIfNecessary(sourceFile) { - return sourceFile.flags & 4194304 /* PossiblyContainsImportMeta */ ? + return sourceFile.flags & 4194304 /* NodeFlags.PossiblyContainsImportMeta */ ? walkTreeForImportMeta(sourceFile) : undefined; } @@ -30631,7 +30705,7 @@ var ts; return ts.some(node.modifiers, function (m) { return m.kind === kind; }); } function isImportMeta(node) { - return ts.isMetaProperty(node) && node.keywordToken === 100 /* ImportKeyword */ && node.name.escapedText === "meta"; + return ts.isMetaProperty(node) && node.keywordToken === 100 /* SyntaxKind.ImportKeyword */ && node.name.escapedText === "meta"; } /** * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes @@ -30647,20 +30721,20 @@ var ts; * that they appear in the source code. The language service depends on this property to locate nodes by position. */ function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 160 /* LastToken */) { + if (!node || node.kind <= 160 /* SyntaxKind.LastToken */) { return; } switch (node.kind) { - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: return visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -30668,9 +30742,9 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.equalsToken) || visitNode(cbNode, node.objectAssignmentInitializer); - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: return visitNode(cbNode, node.expression); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || @@ -30678,7 +30752,7 @@ var ts; visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || @@ -30686,51 +30760,51 @@ var ts; visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.initializer); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - case 214 /* ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || @@ -30742,345 +30816,345 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.body); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return visitNode(cbNode, node.typeName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 177 /* TypePredicate */: + case 177 /* SyntaxKind.TypePredicate */: return visitNode(cbNode, node.assertsModifier) || visitNode(cbNode, node.parameterName) || visitNode(cbNode, node.type); - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: return visitNode(cbNode, node.exprName) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 182 /* TypeLiteral */: + case 182 /* SyntaxKind.TypeLiteral */: return visitNodes(cbNode, cbNodes, node.members); - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: return visitNode(cbNode, node.elementType); - case 184 /* TupleType */: + case 184 /* SyntaxKind.TupleType */: return visitNodes(cbNode, cbNodes, node.elements); - case 187 /* UnionType */: - case 188 /* IntersectionType */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: return visitNodes(cbNode, cbNodes, node.types); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return visitNode(cbNode, node.checkType) || visitNode(cbNode, node.extendsType) || visitNode(cbNode, node.trueType) || visitNode(cbNode, node.falseType); - case 190 /* InferType */: + case 190 /* SyntaxKind.InferType */: return visitNode(cbNode, node.typeParameter); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return visitNode(cbNode, node.argument) || visitNode(cbNode, node.assertions) || visitNode(cbNode, node.qualifier) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 295 /* ImportTypeAssertionContainer */: + case 295 /* SyntaxKind.ImportTypeAssertionContainer */: return visitNode(cbNode, node.assertClause); - case 191 /* ParenthesizedType */: - case 193 /* TypeOperator */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 193 /* SyntaxKind.TypeOperator */: return visitNode(cbNode, node.type); - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: return visitNode(cbNode, node.objectType) || visitNode(cbNode, node.indexType); - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: return visitNode(cbNode, node.readonlyToken) || visitNode(cbNode, node.typeParameter) || visitNode(cbNode, node.nameType) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNodes(cbNode, cbNodes, node.members); - case 196 /* LiteralType */: + case 196 /* SyntaxKind.LiteralType */: return visitNode(cbNode, node.literal); - case 197 /* NamedTupleMember */: + case 197 /* SyntaxKind.NamedTupleMember */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type); - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: return visitNodes(cbNode, cbNodes, node.elements); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return visitNodes(cbNode, cbNodes, node.properties); - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.questionDotToken) || visitNode(cbNode, node.name); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.questionDotToken) || visitNode(cbNode, node.argumentExpression); - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.questionDotToken) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNodes(cbNode, cbNodes, node.arguments); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return visitNode(cbNode, node.tag) || visitNode(cbNode, node.questionDotToken) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.template); - case 211 /* TypeAssertionExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return visitNode(cbNode, node.expression); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: return visitNode(cbNode, node.expression); - case 216 /* TypeOfExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: return visitNode(cbNode, node.expression); - case 217 /* VoidExpression */: + case 217 /* SyntaxKind.VoidExpression */: return visitNode(cbNode, node.expression); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: return visitNode(cbNode, node.operand); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression); - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: return visitNode(cbNode, node.expression); - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return visitNode(cbNode, node.operand); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.operatorToken) || visitNode(cbNode, node.right); - case 229 /* AsExpression */: + case 229 /* SyntaxKind.AsExpression */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return visitNode(cbNode, node.expression); - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return visitNode(cbNode, node.name); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.colonToken) || visitNode(cbNode, node.whenFalse); - case 225 /* SpreadElement */: + case 225 /* SyntaxKind.SpreadElement */: return visitNode(cbNode, node.expression); - case 235 /* Block */: - case 262 /* ModuleBlock */: + case 235 /* SyntaxKind.Block */: + case 262 /* SyntaxKind.ModuleBlock */: return visitNodes(cbNode, cbNodes, node.statements); - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 255 /* VariableDeclarationList */: + case 255 /* SyntaxKind.VariableDeclarationList */: return visitNodes(cbNode, cbNodes, node.declarations); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return visitNode(cbNode, node.expression); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.incrementor) || visitNode(cbNode, node.statement); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return visitNode(cbNode, node.awaitModifier) || visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 245 /* ContinueStatement */: - case 246 /* BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: + case 246 /* SyntaxKind.BreakStatement */: return visitNode(cbNode, node.label); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return visitNode(cbNode, node.expression); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.caseBlock); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: return visitNodes(cbNode, cbNodes, node.clauses); - case 289 /* CaseClause */: + case 289 /* SyntaxKind.CaseClause */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.statements); - case 290 /* DefaultClause */: + case 290 /* SyntaxKind.DefaultClause */: return visitNodes(cbNode, cbNodes, node.statements); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 251 /* ThrowStatement */: + case 251 /* SyntaxKind.ThrowStatement */: return visitNode(cbNode, node.expression); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return visitNode(cbNode, node.variableDeclaration) || visitNode(cbNode, node.block); - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: return visitNode(cbNode, node.expression); - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNode(cbNode, node.type); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.members); - case 299 /* EnumMember */: + case 299 /* SyntaxKind.EnumMember */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier) || visitNode(cbNode, node.assertClause); - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.namedBindings); - case 293 /* AssertClause */: + case 293 /* SyntaxKind.AssertClause */: return visitNodes(cbNode, cbNodes, node.elements); - case 294 /* AssertEntry */: + case 294 /* SyntaxKind.AssertEntry */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.value); - case 264 /* NamespaceExportDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: return visitNode(cbNode, node.name); - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: return visitNode(cbNode, node.name); - case 274 /* NamespaceExport */: + case 274 /* SyntaxKind.NamespaceExport */: return visitNode(cbNode, node.name); - case 269 /* NamedImports */: - case 273 /* NamedExports */: + case 269 /* SyntaxKind.NamedImports */: + case 273 /* SyntaxKind.NamedExports */: return visitNodes(cbNode, cbNodes, node.elements); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier) || visitNode(cbNode, node.assertClause); - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); - case 223 /* TemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 233 /* TemplateSpan */: + case 233 /* SyntaxKind.TemplateSpan */: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 198 /* TemplateLiteralType */: + case 198 /* SyntaxKind.TemplateLiteralType */: return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); - case 199 /* TemplateLiteralTypeSpan */: + case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: return visitNode(cbNode, node.type) || visitNode(cbNode, node.literal); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return visitNode(cbNode, node.expression); - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: return visitNodes(cbNode, cbNodes, node.types); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return visitNode(cbNode, node.expression) || visitNodes(cbNode, cbNodes, node.typeArguments); - case 277 /* ExternalModuleReference */: + case 277 /* SyntaxKind.ExternalModuleReference */: return visitNode(cbNode, node.expression); - case 276 /* MissingDeclaration */: + case 276 /* SyntaxKind.MissingDeclaration */: return visitNodes(cbNode, cbNodes, node.decorators); - case 351 /* CommaListExpression */: + case 351 /* SyntaxKind.CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: return visitNode(cbNode, node.openingElement) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingElement); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: return visitNode(cbNode, node.openingFragment) || visitNodes(cbNode, cbNodes, node.children) || visitNode(cbNode, node.closingFragment); - case 279 /* JsxSelfClosingElement */: - case 280 /* JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: return visitNode(cbNode, node.tagName) || visitNodes(cbNode, cbNodes, node.typeArguments) || visitNode(cbNode, node.attributes); - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: return visitNodes(cbNode, cbNodes, node.properties); - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 287 /* JsxSpreadAttribute */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: return visitNode(cbNode, node.expression); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.expression); - case 281 /* JsxClosingElement */: + case 281 /* SyntaxKind.JsxClosingElement */: return visitNode(cbNode, node.tagName); - case 185 /* OptionalType */: - case 186 /* RestType */: - case 309 /* JSDocTypeExpression */: - case 315 /* JSDocNonNullableType */: - case 314 /* JSDocNullableType */: - case 316 /* JSDocOptionalType */: - case 318 /* JSDocVariadicType */: + case 185 /* SyntaxKind.OptionalType */: + case 186 /* SyntaxKind.RestType */: + case 309 /* SyntaxKind.JSDocTypeExpression */: + case 315 /* SyntaxKind.JSDocNonNullableType */: + case 314 /* SyntaxKind.JSDocNullableType */: + case 316 /* SyntaxKind.JSDocOptionalType */: + case 318 /* SyntaxKind.JSDocVariadicType */: return visitNode(cbNode, node.type); - case 317 /* JSDocFunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: return visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 320 /* JSDoc */: + case 320 /* SyntaxKind.JSDoc */: return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) || visitNodes(cbNode, cbNodes, node.tags); - case 346 /* JSDocSeeTag */: + case 346 /* SyntaxKind.JSDocSeeTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.name) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 310 /* JSDocNameReference */: + case 310 /* SyntaxKind.JSDocNameReference */: return visitNode(cbNode, node.name); - case 311 /* JSDocMemberName */: + case 311 /* SyntaxKind.JSDocMemberName */: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 340 /* JSDocParameterTag */: - case 347 /* JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: return visitNode(cbNode, node.tagName) || (node.isNameFirst ? visitNode(cbNode, node.name) || @@ -31089,64 +31163,64 @@ var ts; : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); - case 330 /* JSDocAuthorTag */: + case 330 /* SyntaxKind.JSDocAuthorTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 329 /* JSDocImplementsTag */: + case 329 /* SyntaxKind.JSDocImplementsTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.class) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 328 /* JSDocAugmentsTag */: + case 328 /* SyntaxKind.JSDocAugmentsTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.class) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.constraint) || visitNodes(cbNode, cbNodes, node.typeParameters) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 345 /* JSDocTypedefTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: return visitNode(cbNode, node.tagName) || (node.typeExpression && - node.typeExpression.kind === 309 /* JSDocTypeExpression */ + node.typeExpression.kind === 309 /* SyntaxKind.JSDocTypeExpression */ ? visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.fullName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) : visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); - case 338 /* JSDocCallbackTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.fullName) || visitNode(cbNode, node.typeExpression) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 341 /* JSDocReturnTag */: - case 343 /* JSDocTypeTag */: - case 342 /* JSDocThisTag */: - case 339 /* JSDocEnumTag */: + case 341 /* SyntaxKind.JSDocReturnTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: + case 342 /* SyntaxKind.JSDocThisTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: return visitNode(cbNode, node.tagName) || visitNode(cbNode, node.typeExpression) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 323 /* JSDocSignature */: + case 323 /* SyntaxKind.JSDocSignature */: return ts.forEach(node.typeParameters, cbNode) || ts.forEach(node.parameters, cbNode) || visitNode(cbNode, node.type); - case 324 /* JSDocLink */: - case 325 /* JSDocLinkCode */: - case 326 /* JSDocLinkPlain */: + case 324 /* SyntaxKind.JSDocLink */: + case 325 /* SyntaxKind.JSDocLinkCode */: + case 326 /* SyntaxKind.JSDocLinkPlain */: return visitNode(cbNode, node.name); - case 322 /* JSDocTypeLiteral */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: return ts.forEach(node.jsDocPropertyTags, cbNode); - case 327 /* JSDocTag */: - case 332 /* JSDocClassTag */: - case 333 /* JSDocPublicTag */: - case 334 /* JSDocPrivateTag */: - case 335 /* JSDocProtectedTag */: - case 336 /* JSDocReadonlyTag */: - case 331 /* JSDocDeprecatedTag */: + case 327 /* SyntaxKind.JSDocTag */: + case 332 /* SyntaxKind.JSDocClassTag */: + case 333 /* SyntaxKind.JSDocPublicTag */: + case 334 /* SyntaxKind.JSDocPrivateTag */: + case 335 /* SyntaxKind.JSDocProtectedTag */: + case 336 /* SyntaxKind.JSDocReadonlyTag */: + case 331 /* SyntaxKind.JSDocDeprecatedTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 350 /* PartiallyEmittedExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: return visitNode(cbNode, node.expression); } } @@ -31195,7 +31269,7 @@ var ts; continue; return res; } - if (current.kind >= 161 /* FirstNode */) { + if (current.kind >= 161 /* SyntaxKind.FirstNode */) { // add children in reverse order to the queue, so popping gives the first child for (var _i = 0, _a = gatherPossibleChildren(current); _i < _a.length; _i++) { var child = _a[_i]; @@ -31220,13 +31294,13 @@ var ts; } function createSourceFile(fileName, sourceText, languageVersionOrOptions, setParentNodes, scriptKind) { if (setParentNodes === void 0) { setParentNodes = false; } - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("parse" /* Parse */, "createSourceFile", { path: fileName }, /*separateBeginAndEnd*/ true); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("parse" /* tracing.Phase.Parse */, "createSourceFile", { path: fileName }, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeParse"); var result; ts.perfLogger.logStartParseSourceFile(fileName); var _a = typeof languageVersionOrOptions === "object" ? languageVersionOrOptions : { languageVersion: languageVersionOrOptions }, languageVersion = _a.languageVersion, overrideSetExternalModuleIndicator = _a.setExternalModuleIndicator, format = _a.impliedNodeFormat; - if (languageVersion === 100 /* JSON */) { - result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, 6 /* JSON */, ts.noop); + if (languageVersion === 100 /* ScriptTarget.JSON */) { + result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, 6 /* ScriptKind.JSON */, ts.noop); } else { var setIndicator = format === undefined ? overrideSetExternalModuleIndicator : function (file) { @@ -31274,7 +31348,7 @@ var ts; var newSourceFile = IncrementalParser.updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks); // Because new source file node is created, it may not have the flag PossiblyContainDynamicImport. This is the case if there is no new edit to add dynamic import. // We will manually port the flag to the new source file. - newSourceFile.flags |= (sourceFile.flags & 6291456 /* PermanentlySetIncrementalFlags */); + newSourceFile.flags |= (sourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */); return newSourceFile; } ts.updateSourceFile = updateSourceFile; @@ -31302,8 +31376,8 @@ var ts; (function (Parser) { // Share a single scanner across all calls to parse a source file. This helps speed things // up by avoiding the cost of creating/compiling scanners over and over again. - var scanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ true); - var disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */; + var scanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ true); + var disallowInAndDecoratorContext = 4096 /* NodeFlags.DisallowInContext */ | 16384 /* NodeFlags.DecoratorContext */; // capture constructors in 'initializeState' to avoid null checks // tslint:disable variable-name var NodeConstructor; @@ -31325,7 +31399,7 @@ var ts; createBaseTokenNode: function (kind) { return countNode(new TokenConstructor(kind, /*pos*/ 0, /*end*/ 0)); }, createBaseNode: function (kind) { return countNode(new NodeConstructor(kind, /*pos*/ 0, /*end*/ 0)); } }; - var factory = ts.createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory); + var factory = ts.createNodeFactory(1 /* NodeFactoryFlags.NoParenthesizerRules */ | 2 /* NodeFactoryFlags.NoNodeConverters */ | 8 /* NodeFactoryFlags.NoOriginalNode */, baseNodeFactory); var fileName; var sourceFlags; var sourceText; @@ -31423,7 +31497,7 @@ var ts; var _a; if (setParentNodes === void 0) { setParentNodes = false; } scriptKind = ts.ensureScriptKind(fileName, scriptKind); - if (scriptKind === 6 /* JSON */) { + if (scriptKind === 6 /* ScriptKind.JSON */) { var result_3 = parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes); ts.convertToObjectWorker(result_3, (_a = result_3.statements[0]) === null || _a === void 0 ? void 0 : _a.expression, result_3.parseDiagnostics, /*returnValue*/ false, /*knownRootOptions*/ undefined, /*jsonConversionNotifier*/ undefined); result_3.referencedFiles = ts.emptyArray; @@ -31442,25 +31516,25 @@ var ts; Parser.parseSourceFile = parseSourceFile; function parseIsolatedEntityName(content, languageVersion) { // Choice of `isDeclarationFile` should be arbitrary - initializeState("", content, languageVersion, /*syntaxCursor*/ undefined, 1 /* JS */); + initializeState("", content, languageVersion, /*syntaxCursor*/ undefined, 1 /* ScriptKind.JS */); // Prime the scanner. nextToken(); - var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false); - var isInvalid = token() === 1 /* EndOfFileToken */ && !parseDiagnostics.length; + var entityName = parseEntityName(/*allowReservedWords*/ true); + var isInvalid = token() === 1 /* SyntaxKind.EndOfFileToken */ && !parseDiagnostics.length; clearState(); return isInvalid ? entityName : undefined; } Parser.parseIsolatedEntityName = parseIsolatedEntityName; function parseJsonText(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes) { - if (languageVersion === void 0) { languageVersion = 2 /* ES2015 */; } + if (languageVersion === void 0) { languageVersion = 2 /* ScriptTarget.ES2015 */; } if (setParentNodes === void 0) { setParentNodes = false; } - initializeState(fileName, sourceText, languageVersion, syntaxCursor, 6 /* JSON */); + initializeState(fileName, sourceText, languageVersion, syntaxCursor, 6 /* ScriptKind.JSON */); sourceFlags = contextFlags; // Prime the scanner. nextToken(); var pos = getNodePos(); var statements, endOfFileToken; - if (token() === 1 /* EndOfFileToken */) { + if (token() === 1 /* SyntaxKind.EndOfFileToken */) { statements = createNodeArray([], pos, pos); endOfFileToken = parseTokenNode(); } @@ -31468,28 +31542,28 @@ var ts; // Loop and synthesize an ArrayLiteralExpression if there are more than // one top-level expressions to ensure all input text is consumed. var expressions = void 0; - while (token() !== 1 /* EndOfFileToken */) { + while (token() !== 1 /* SyntaxKind.EndOfFileToken */) { var expression_1 = void 0; switch (token()) { - case 22 /* OpenBracketToken */: + case 22 /* SyntaxKind.OpenBracketToken */: expression_1 = parseArrayLiteralExpression(); break; - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 104 /* NullKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 104 /* SyntaxKind.NullKeyword */: expression_1 = parseTokenNode(); break; - case 40 /* MinusToken */: - if (lookAhead(function () { return nextToken() === 8 /* NumericLiteral */ && nextToken() !== 58 /* ColonToken */; })) { + case 40 /* SyntaxKind.MinusToken */: + if (lookAhead(function () { return nextToken() === 8 /* SyntaxKind.NumericLiteral */ && nextToken() !== 58 /* SyntaxKind.ColonToken */; })) { expression_1 = parsePrefixUnaryExpression(); } else { expression_1 = parseObjectLiteralExpression(); } break; - case 8 /* NumericLiteral */: - case 10 /* StringLiteral */: - if (lookAhead(function () { return nextToken() !== 58 /* ColonToken */; })) { + case 8 /* SyntaxKind.NumericLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + if (lookAhead(function () { return nextToken() !== 58 /* SyntaxKind.ColonToken */; })) { expression_1 = parseLiteralNode(); break; } @@ -31507,7 +31581,7 @@ var ts; } else { expressions = expression_1; - if (token() !== 1 /* EndOfFileToken */) { + if (token() !== 1 /* SyntaxKind.EndOfFileToken */) { parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token); } } @@ -31516,10 +31590,10 @@ var ts; var statement = factory.createExpressionStatement(expression); finishNode(statement, pos); statements = createNodeArray([statement], pos); - endOfFileToken = parseExpectedToken(1 /* EndOfFileToken */, ts.Diagnostics.Unexpected_token); + endOfFileToken = parseExpectedToken(1 /* SyntaxKind.EndOfFileToken */, ts.Diagnostics.Unexpected_token); } // Set source file so that errors will be reported with this file name - var sourceFile = createSourceFile(fileName, 2 /* ES2015 */, 6 /* JSON */, /*isDeclaration*/ false, statements, endOfFileToken, sourceFlags, ts.noop); + var sourceFile = createSourceFile(fileName, 2 /* ScriptTarget.ES2015 */, 6 /* ScriptKind.JSON */, /*isDeclaration*/ false, statements, endOfFileToken, sourceFlags, ts.noop); if (setParentNodes) { fixupParentReferences(sourceFile); } @@ -31556,15 +31630,15 @@ var ts; sourceFlags = 0; topLevel = true; switch (scriptKind) { - case 1 /* JS */: - case 2 /* JSX */: - contextFlags = 262144 /* JavaScriptFile */; + case 1 /* ScriptKind.JS */: + case 2 /* ScriptKind.JSX */: + contextFlags = 262144 /* NodeFlags.JavaScriptFile */; break; - case 6 /* JSON */: - contextFlags = 262144 /* JavaScriptFile */ | 67108864 /* JsonFile */; + case 6 /* ScriptKind.JSON */: + contextFlags = 262144 /* NodeFlags.JavaScriptFile */ | 67108864 /* NodeFlags.JsonFile */; break; default: - contextFlags = 0 /* None */; + contextFlags = 0 /* NodeFlags.None */; break; } parseErrorBeforeNextFinishedNode = false; @@ -31596,13 +31670,13 @@ var ts; function parseSourceFileWorker(languageVersion, setParentNodes, scriptKind, setExternalModuleIndicator) { var isDeclarationFile = isDeclarationFileName(fileName); if (isDeclarationFile) { - contextFlags |= 16777216 /* Ambient */; + contextFlags |= 16777216 /* NodeFlags.Ambient */; } sourceFlags = contextFlags; // Prime the scanner. nextToken(); - var statements = parseList(0 /* SourceElements */, parseStatement); - ts.Debug.assert(token() === 1 /* EndOfFileToken */); + var statements = parseList(0 /* ParsingContext.SourceElements */, parseStatement); + ts.Debug.assert(token() === 1 /* SyntaxKind.EndOfFileToken */); var endOfFileToken = addJSDocComment(parseTokenNode()); var sourceFile = createSourceFile(fileName, languageVersion, scriptKind, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator); // A member of ReadonlyArray isn't assignable to a member of T[] (and prevents a direct cast) - but this is where we set up those members so they can be readonly in the future @@ -31635,7 +31709,7 @@ var ts; node.jsDoc = jsDoc; if (hasDeprecatedTag) { hasDeprecatedTag = false; - node.flags |= 268435456 /* Deprecated */; + node.flags |= 268435456 /* NodeFlags.Deprecated */; } return node; } @@ -31663,12 +31737,12 @@ var ts; // reparse all statements between start and pos. We skip existing diagnostics for the same range and allow the parser to generate new ones. speculationHelper(function () { var savedContextFlags = contextFlags; - contextFlags |= 32768 /* AwaitContext */; + contextFlags |= 32768 /* NodeFlags.AwaitContext */; scanner.setTextPos(nextStatement.pos); nextToken(); - while (token() !== 1 /* EndOfFileToken */) { + while (token() !== 1 /* SyntaxKind.EndOfFileToken */) { var startPos = scanner.getStartPos(); - var statement = parseListElement(0 /* SourceElements */, parseStatement); + var statement = parseListElement(0 /* ParsingContext.SourceElements */, parseStatement); statements.push(statement); if (startPos === scanner.getStartPos()) { nextToken(); @@ -31686,7 +31760,7 @@ var ts; } } contextFlags = savedContextFlags; - }, 2 /* Reparse */); + }, 2 /* SpeculationKind.Reparse */); // find the next statement containing an `await` start = pos >= 0 ? findNextStatementWithAwait(sourceFile.statements, pos) : -1; }; @@ -31706,8 +31780,8 @@ var ts; syntaxCursor = savedSyntaxCursor; return factory.updateSourceFile(sourceFile, ts.setTextRange(factory.createNodeArray(statements), sourceFile.statements)); function containsPossibleTopLevelAwait(node) { - return !(node.flags & 32768 /* AwaitContext */) - && !!(node.transformFlags & 16777216 /* ContainsPossibleTopLevelAwait */); + return !(node.flags & 32768 /* NodeFlags.AwaitContext */) + && !!(node.transformFlags & 16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */); } function findNextStatementWithAwait(statements, start) { for (var i = start; i < statements.length; i++) { @@ -31748,7 +31822,7 @@ var ts; ts.setTextRangePosWidth(sourceFile, 0, sourceText.length); setFields(sourceFile); // If we parsed this as an external module, it may contain top-level await - if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216 /* ContainsPossibleTopLevelAwait */) { + if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */) { sourceFile = reparseTopLevelAwait(sourceFile); setFields(sourceFile); } @@ -31775,16 +31849,16 @@ var ts; } } function setDisallowInContext(val) { - setContextFlag(val, 4096 /* DisallowInContext */); + setContextFlag(val, 4096 /* NodeFlags.DisallowInContext */); } function setYieldContext(val) { - setContextFlag(val, 8192 /* YieldContext */); + setContextFlag(val, 8192 /* NodeFlags.YieldContext */); } function setDecoratorContext(val) { - setContextFlag(val, 16384 /* DecoratorContext */); + setContextFlag(val, 16384 /* NodeFlags.DecoratorContext */); } function setAwaitContext(val) { - setContextFlag(val, 32768 /* AwaitContext */); + setContextFlag(val, 32768 /* NodeFlags.AwaitContext */); } function doOutsideOfContext(context, func) { // contextFlagsToClear will contain only the context flags that are @@ -31825,52 +31899,52 @@ var ts; return func(); } function allowInAnd(func) { - return doOutsideOfContext(4096 /* DisallowInContext */, func); + return doOutsideOfContext(4096 /* NodeFlags.DisallowInContext */, func); } function disallowInAnd(func) { - return doInsideOfContext(4096 /* DisallowInContext */, func); + return doInsideOfContext(4096 /* NodeFlags.DisallowInContext */, func); } function allowConditionalTypesAnd(func) { - return doOutsideOfContext(65536 /* DisallowConditionalTypesContext */, func); + return doOutsideOfContext(65536 /* NodeFlags.DisallowConditionalTypesContext */, func); } function disallowConditionalTypesAnd(func) { - return doInsideOfContext(65536 /* DisallowConditionalTypesContext */, func); + return doInsideOfContext(65536 /* NodeFlags.DisallowConditionalTypesContext */, func); } function doInYieldContext(func) { - return doInsideOfContext(8192 /* YieldContext */, func); + return doInsideOfContext(8192 /* NodeFlags.YieldContext */, func); } function doInDecoratorContext(func) { - return doInsideOfContext(16384 /* DecoratorContext */, func); + return doInsideOfContext(16384 /* NodeFlags.DecoratorContext */, func); } function doInAwaitContext(func) { - return doInsideOfContext(32768 /* AwaitContext */, func); + return doInsideOfContext(32768 /* NodeFlags.AwaitContext */, func); } function doOutsideOfAwaitContext(func) { - return doOutsideOfContext(32768 /* AwaitContext */, func); + return doOutsideOfContext(32768 /* NodeFlags.AwaitContext */, func); } function doInYieldAndAwaitContext(func) { - return doInsideOfContext(8192 /* YieldContext */ | 32768 /* AwaitContext */, func); + return doInsideOfContext(8192 /* NodeFlags.YieldContext */ | 32768 /* NodeFlags.AwaitContext */, func); } function doOutsideOfYieldAndAwaitContext(func) { - return doOutsideOfContext(8192 /* YieldContext */ | 32768 /* AwaitContext */, func); + return doOutsideOfContext(8192 /* NodeFlags.YieldContext */ | 32768 /* NodeFlags.AwaitContext */, func); } function inContext(flags) { return (contextFlags & flags) !== 0; } function inYieldContext() { - return inContext(8192 /* YieldContext */); + return inContext(8192 /* NodeFlags.YieldContext */); } function inDisallowInContext() { - return inContext(4096 /* DisallowInContext */); + return inContext(4096 /* NodeFlags.DisallowInContext */); } function inDisallowConditionalTypesContext() { - return inContext(65536 /* DisallowConditionalTypesContext */); + return inContext(65536 /* NodeFlags.DisallowConditionalTypesContext */); } function inDecoratorContext() { - return inContext(16384 /* DecoratorContext */); + return inContext(16384 /* NodeFlags.DecoratorContext */); } function inAwaitContext() { - return inContext(32768 /* AwaitContext */); + return inContext(32768 /* NodeFlags.AwaitContext */); } function parseErrorAtCurrentToken(message, arg0) { return parseErrorAt(scanner.getTokenPos(), scanner.getTextPos(), message, arg0); @@ -31971,15 +32045,15 @@ var ts; // If we're only looking ahead, then tell the scanner to only lookahead as well. // Otherwise, if we're actually speculatively parsing, then tell the scanner to do the // same. - var result = speculationKind !== 0 /* TryParse */ + var result = speculationKind !== 0 /* SpeculationKind.TryParse */ ? scanner.lookAhead(callback) : scanner.tryScan(callback); ts.Debug.assert(saveContextFlags === contextFlags); // If our callback returned something 'falsy' or we're just looking ahead, // then unconditionally restore us to where we were. - if (!result || speculationKind !== 0 /* TryParse */) { + if (!result || speculationKind !== 0 /* SpeculationKind.TryParse */) { currentToken = saveToken; - if (speculationKind !== 2 /* Reparse */) { + if (speculationKind !== 2 /* SpeculationKind.Reparse */) { parseDiagnostics.length = saveParseDiagnosticsLength; } parseErrorBeforeNextFinishedNode = saveParseErrorBeforeNextFinishedNode; @@ -31991,7 +32065,7 @@ var ts; * is returned from this function. */ function lookAhead(callback) { - return speculationHelper(callback, 1 /* Lookahead */); + return speculationHelper(callback, 1 /* SpeculationKind.Lookahead */); } /** Invokes the provided callback. If the callback returns something falsy, then it restores * the parser to the state it was in immediately prior to invoking the callback. If the @@ -31999,31 +32073,31 @@ var ts; * of invoking the callback is returned from this function. */ function tryParse(callback) { - return speculationHelper(callback, 0 /* TryParse */); + return speculationHelper(callback, 0 /* SpeculationKind.TryParse */); } function isBindingIdentifier() { - if (token() === 79 /* Identifier */) { + if (token() === 79 /* SyntaxKind.Identifier */) { return true; } // `let await`/`let yield` in [Yield] or [Await] are allowed here and disallowed in the binder. - return token() > 116 /* LastReservedWord */; + return token() > 116 /* SyntaxKind.LastReservedWord */; } // Ignore strict mode flag because we will report an error in type checker instead. function isIdentifier() { - if (token() === 79 /* Identifier */) { + if (token() === 79 /* SyntaxKind.Identifier */) { return true; } // If we have a 'yield' keyword, and we're in the [yield] context, then 'yield' is // considered a keyword and is not an identifier. - if (token() === 125 /* YieldKeyword */ && inYieldContext()) { + if (token() === 125 /* SyntaxKind.YieldKeyword */ && inYieldContext()) { return false; } // If we have a 'await' keyword, and we're in the [Await] context, then 'await' is // considered a keyword and is not an identifier. - if (token() === 132 /* AwaitKeyword */ && inAwaitContext()) { + if (token() === 132 /* SyntaxKind.AwaitKeyword */ && inAwaitContext()) { return false; } - return token() > 116 /* LastReservedWord */; + return token() > 116 /* SyntaxKind.LastReservedWord */; } function parseExpected(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } @@ -32061,7 +32135,7 @@ var ts; // Otherwise, if this isn't a well-known keyword-like identifier, give the generic fallback message. var expressionText = ts.isIdentifier(node) ? ts.idText(node) : undefined; if (!expressionText || !ts.isIdentifierText(expressionText, languageVersion)) { - parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SemicolonToken */)); + parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SyntaxKind.SemicolonToken */)); return; } var pos = ts.skipTrivia(sourceText, node.pos); @@ -32076,17 +32150,17 @@ var ts; // If a declared node failed to parse, it would have emitted a diagnostic already. return; case "interface": - parseErrorForInvalidName(ts.Diagnostics.Interface_name_cannot_be_0, ts.Diagnostics.Interface_must_be_given_a_name, 18 /* OpenBraceToken */); + parseErrorForInvalidName(ts.Diagnostics.Interface_name_cannot_be_0, ts.Diagnostics.Interface_must_be_given_a_name, 18 /* SyntaxKind.OpenBraceToken */); return; case "is": parseErrorAt(pos, scanner.getTextPos(), ts.Diagnostics.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods); return; case "module": case "namespace": - parseErrorForInvalidName(ts.Diagnostics.Namespace_name_cannot_be_0, ts.Diagnostics.Namespace_must_be_given_a_name, 18 /* OpenBraceToken */); + parseErrorForInvalidName(ts.Diagnostics.Namespace_name_cannot_be_0, ts.Diagnostics.Namespace_must_be_given_a_name, 18 /* SyntaxKind.OpenBraceToken */); return; case "type": - parseErrorForInvalidName(ts.Diagnostics.Type_alias_name_cannot_be_0, ts.Diagnostics.Type_alias_must_be_given_a_name, 63 /* EqualsToken */); + parseErrorForInvalidName(ts.Diagnostics.Type_alias_name_cannot_be_0, ts.Diagnostics.Type_alias_must_be_given_a_name, 63 /* SyntaxKind.EqualsToken */); return; } // The user alternatively might have misspelled or forgotten to add a space after a common keyword. @@ -32096,7 +32170,7 @@ var ts; return; } // Unknown tokens are handled with their own errors in the scanner - if (token() === 0 /* Unknown */) { + if (token() === 0 /* SyntaxKind.Unknown */) { return; } // Otherwise, we know this some kind of unknown word, not just a missing expected semicolon. @@ -32121,24 +32195,24 @@ var ts; for (var _i = 0, viableKeywordSuggestions_1 = viableKeywordSuggestions; _i < viableKeywordSuggestions_1.length; _i++) { var keyword = viableKeywordSuggestions_1[_i]; if (expressionText.length > keyword.length + 2 && ts.startsWith(expressionText, keyword)) { - return keyword + " " + expressionText.slice(keyword.length); + return "".concat(keyword, " ").concat(expressionText.slice(keyword.length)); } } return undefined; } function parseSemicolonAfterPropertyName(name, type, initializer) { - if (token() === 59 /* AtToken */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 59 /* SyntaxKind.AtToken */ && !scanner.hasPrecedingLineBreak()) { parseErrorAtCurrentToken(ts.Diagnostics.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations); return; } - if (token() === 20 /* OpenParenToken */) { + if (token() === 20 /* SyntaxKind.OpenParenToken */) { parseErrorAtCurrentToken(ts.Diagnostics.Cannot_start_a_function_call_in_a_type_annotation); nextToken(); return; } if (type && !canParseSemicolon()) { if (initializer) { - parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SemicolonToken */)); + parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SyntaxKind.SemicolonToken */)); } else { parseErrorAtCurrentToken(ts.Diagnostics.Expected_for_property_initializer); @@ -32149,7 +32223,7 @@ var ts; return; } if (initializer) { - parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SemicolonToken */)); + parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(26 /* SyntaxKind.SemicolonToken */)); return; } parseErrorForMissingSemicolonAfter(name); @@ -32216,24 +32290,24 @@ var ts; } function canParseSemicolon() { // If there's a real semicolon, then we can always parse it out. - if (token() === 26 /* SemicolonToken */) { + if (token() === 26 /* SyntaxKind.SemicolonToken */) { return true; } // We can parse out an optional semicolon in ASI cases in the following cases. - return token() === 19 /* CloseBraceToken */ || token() === 1 /* EndOfFileToken */ || scanner.hasPrecedingLineBreak(); + return token() === 19 /* SyntaxKind.CloseBraceToken */ || token() === 1 /* SyntaxKind.EndOfFileToken */ || scanner.hasPrecedingLineBreak(); } function tryParseSemicolon() { if (!canParseSemicolon()) { return false; } - if (token() === 26 /* SemicolonToken */) { + if (token() === 26 /* SyntaxKind.SemicolonToken */) { // consume the semicolon if it was explicitly provided. nextToken(); } return true; } function parseSemicolon() { - return tryParseSemicolon() || parseExpected(26 /* SemicolonToken */); + return tryParseSemicolon() || parseExpected(26 /* SyntaxKind.SemicolonToken */); } function createNodeArray(elements, pos, end, hasTrailingComma) { var array = factory.createNodeArray(elements, hasTrailingComma); @@ -32250,7 +32324,7 @@ var ts; // flag so that we don't mark any subsequent nodes. if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; - node.flags |= 131072 /* ThisNodeHasError */; + node.flags |= 131072 /* NodeFlags.ThisNodeHasError */; } return node; } @@ -32262,11 +32336,11 @@ var ts; parseErrorAtCurrentToken(diagnosticMessage, arg0); } var pos = getNodePos(); - var result = kind === 79 /* Identifier */ ? factory.createIdentifier("", /*typeArguments*/ undefined, /*originalKeywordKind*/ undefined) : + var result = kind === 79 /* SyntaxKind.Identifier */ ? factory.createIdentifier("", /*typeArguments*/ undefined, /*originalKeywordKind*/ undefined) : ts.isTemplateLiteralKind(kind) ? factory.createTemplateLiteralLikeNode(kind, "", "", /*templateFlags*/ undefined) : - kind === 8 /* NumericLiteral */ ? factory.createNumericLiteral("", /*numericLiteralFlags*/ undefined) : - kind === 10 /* StringLiteral */ ? factory.createStringLiteral("", /*isSingleQuote*/ undefined) : - kind === 276 /* MissingDeclaration */ ? factory.createMissingDeclaration() : + kind === 8 /* SyntaxKind.NumericLiteral */ ? factory.createNumericLiteral("", /*numericLiteralFlags*/ undefined) : + kind === 10 /* SyntaxKind.StringLiteral */ ? factory.createStringLiteral("", /*isSingleQuote*/ undefined) : + kind === 276 /* SyntaxKind.MissingDeclaration */ ? factory.createMissingDeclaration() : factory.createToken(kind); return finishNode(result, pos); } @@ -32290,23 +32364,23 @@ var ts; nextTokenWithoutCheck(); return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind), pos); } - if (token() === 80 /* PrivateIdentifier */) { + if (token() === 80 /* SyntaxKind.PrivateIdentifier */) { parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies); return createIdentifier(/*isIdentifier*/ true); } - if (token() === 0 /* Unknown */ && scanner.tryScan(function () { return scanner.reScanInvalidIdentifier() === 79 /* Identifier */; })) { + if (token() === 0 /* SyntaxKind.Unknown */ && scanner.tryScan(function () { return scanner.reScanInvalidIdentifier() === 79 /* SyntaxKind.Identifier */; })) { // Scanner has already recorded an 'Invalid character' error, so no need to add another from the parser. return createIdentifier(/*isIdentifier*/ true); } identifierCount++; // Only for end of file because the error gets reported incorrectly on embedded script tags. - var reportAtCurrentPosition = token() === 1 /* EndOfFileToken */; + var reportAtCurrentPosition = token() === 1 /* SyntaxKind.EndOfFileToken */; var isReservedWord = scanner.isReservedWord(); var msgArg = scanner.getTokenText(); var defaultMessage = isReservedWord ? ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here : ts.Diagnostics.Identifier_expected; - return createMissingNode(79 /* Identifier */, reportAtCurrentPosition, diagnosticMessage || defaultMessage, msgArg); + return createMissingNode(79 /* SyntaxKind.Identifier */, reportAtCurrentPosition, diagnosticMessage || defaultMessage, msgArg); } function parseBindingIdentifier(privateIdentifierDiagnosticMessage) { return createIdentifier(isBindingIdentifier(), /*diagnosticMessage*/ undefined, privateIdentifierDiagnosticMessage); @@ -32319,23 +32393,23 @@ var ts; } function isLiteralPropertyName() { return ts.tokenIsIdentifierOrKeyword(token()) || - token() === 10 /* StringLiteral */ || - token() === 8 /* NumericLiteral */; + token() === 10 /* SyntaxKind.StringLiteral */ || + token() === 8 /* SyntaxKind.NumericLiteral */; } function isAssertionKey() { return ts.tokenIsIdentifierOrKeyword(token()) || - token() === 10 /* StringLiteral */; + token() === 10 /* SyntaxKind.StringLiteral */; } function parsePropertyNameWorker(allowComputedPropertyNames) { - if (token() === 10 /* StringLiteral */ || token() === 8 /* NumericLiteral */) { + if (token() === 10 /* SyntaxKind.StringLiteral */ || token() === 8 /* SyntaxKind.NumericLiteral */) { var node = parseLiteralNode(); node.text = internIdentifier(node.text); return node; } - if (allowComputedPropertyNames && token() === 22 /* OpenBracketToken */) { + if (allowComputedPropertyNames && token() === 22 /* SyntaxKind.OpenBracketToken */) { return parseComputedPropertyName(); } - if (token() === 80 /* PrivateIdentifier */) { + if (token() === 80 /* SyntaxKind.PrivateIdentifier */) { return parsePrivateIdentifier(); } return parseIdentifierName(); @@ -32348,12 +32422,12 @@ var ts; // LiteralPropertyName // ComputedPropertyName[?Yield] var pos = getNodePos(); - parseExpected(22 /* OpenBracketToken */); + parseExpected(22 /* SyntaxKind.OpenBracketToken */); // We parse any expression (including a comma expression). But the grammar // says that only an assignment expression is allowed, so the grammar checker // will error if it sees a comma expression. var expression = allowInAnd(parseExpression); - parseExpected(23 /* CloseBracketToken */); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); return finishNode(factory.createComputedPropertyName(expression), pos); } function internPrivateIdentifier(text) { @@ -32381,23 +32455,23 @@ var ts; } function nextTokenCanFollowModifier() { switch (token()) { - case 85 /* ConstKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: // 'const' is only a modifier if followed by 'enum'. - return nextToken() === 92 /* EnumKeyword */; - case 93 /* ExportKeyword */: + return nextToken() === 92 /* SyntaxKind.EnumKeyword */; + case 93 /* SyntaxKind.ExportKeyword */: nextToken(); - if (token() === 88 /* DefaultKeyword */) { + if (token() === 88 /* SyntaxKind.DefaultKeyword */) { return lookAhead(nextTokenCanFollowDefaultKeyword); } - if (token() === 152 /* TypeKeyword */) { + if (token() === 152 /* SyntaxKind.TypeKeyword */) { return lookAhead(nextTokenCanFollowExportModifier); } return canFollowExportModifier(); - case 88 /* DefaultKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: return nextTokenCanFollowDefaultKeyword(); - case 124 /* StaticKeyword */: - case 136 /* GetKeyword */: - case 149 /* SetKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + case 136 /* SyntaxKind.GetKeyword */: + case 149 /* SyntaxKind.SetKeyword */: nextToken(); return canFollowModifier(); default: @@ -32405,9 +32479,9 @@ var ts; } } function canFollowExportModifier() { - return token() !== 41 /* AsteriskToken */ - && token() !== 127 /* AsKeyword */ - && token() !== 18 /* OpenBraceToken */ + return token() !== 41 /* SyntaxKind.AsteriskToken */ + && token() !== 127 /* SyntaxKind.AsKeyword */ + && token() !== 18 /* SyntaxKind.OpenBraceToken */ && canFollowModifier(); } function nextTokenCanFollowExportModifier() { @@ -32418,18 +32492,18 @@ var ts; return ts.isModifierKind(token()) && tryParse(nextTokenCanFollowModifier); } function canFollowModifier() { - return token() === 22 /* OpenBracketToken */ - || token() === 18 /* OpenBraceToken */ - || token() === 41 /* AsteriskToken */ - || token() === 25 /* DotDotDotToken */ + return token() === 22 /* SyntaxKind.OpenBracketToken */ + || token() === 18 /* SyntaxKind.OpenBraceToken */ + || token() === 41 /* SyntaxKind.AsteriskToken */ + || token() === 25 /* SyntaxKind.DotDotDotToken */ || isLiteralPropertyName(); } function nextTokenCanFollowDefaultKeyword() { nextToken(); - return token() === 84 /* ClassKeyword */ || token() === 98 /* FunctionKeyword */ || - token() === 118 /* InterfaceKeyword */ || - (token() === 126 /* AbstractKeyword */ && lookAhead(nextTokenIsClassKeywordOnSameLine)) || - (token() === 131 /* AsyncKeyword */ && lookAhead(nextTokenIsFunctionKeywordOnSameLine)); + return token() === 84 /* SyntaxKind.ClassKeyword */ || token() === 98 /* SyntaxKind.FunctionKeyword */ || + token() === 118 /* SyntaxKind.InterfaceKeyword */ || + (token() === 126 /* SyntaxKind.AbstractKeyword */ && lookAhead(nextTokenIsClassKeywordOnSameLine)) || + (token() === 131 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsFunctionKeywordOnSameLine)); } // True if positioned at the start of a list element function isListElement(parsingContext, inErrorRecovery) { @@ -32438,50 +32512,50 @@ var ts; return true; } switch (parsingContext) { - case 0 /* SourceElements */: - case 1 /* BlockStatements */: - case 3 /* SwitchClauseStatements */: + case 0 /* ParsingContext.SourceElements */: + case 1 /* ParsingContext.BlockStatements */: + case 3 /* ParsingContext.SwitchClauseStatements */: // If we're in error recovery, then we don't want to treat ';' as an empty statement. // The problem is that ';' can show up in far too many contexts, and if we see one // and assume it's a statement, then we may bail out inappropriately from whatever // we're parsing. For example, if we have a semicolon in the middle of a class, then // we really don't want to assume the class is over and we're on a statement in the // outer module. We just want to consume and move on. - return !(token() === 26 /* SemicolonToken */ && inErrorRecovery) && isStartOfStatement(); - case 2 /* SwitchClauses */: - return token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */; - case 4 /* TypeMembers */: + return !(token() === 26 /* SyntaxKind.SemicolonToken */ && inErrorRecovery) && isStartOfStatement(); + case 2 /* ParsingContext.SwitchClauses */: + return token() === 82 /* SyntaxKind.CaseKeyword */ || token() === 88 /* SyntaxKind.DefaultKeyword */; + case 4 /* ParsingContext.TypeMembers */: return lookAhead(isTypeMemberStart); - case 5 /* ClassMembers */: + case 5 /* ParsingContext.ClassMembers */: // We allow semicolons as class elements (as specified by ES6) as long as we're // not in error recovery. If we're in error recovery, we don't want an errant // semicolon to be treated as a class member (since they're almost always used // for statements. - return lookAhead(isClassMemberStart) || (token() === 26 /* SemicolonToken */ && !inErrorRecovery); - case 6 /* EnumMembers */: + return lookAhead(isClassMemberStart) || (token() === 26 /* SyntaxKind.SemicolonToken */ && !inErrorRecovery); + case 6 /* ParsingContext.EnumMembers */: // Include open bracket computed properties. This technically also lets in indexers, // which would be a candidate for improved error reporting. - return token() === 22 /* OpenBracketToken */ || isLiteralPropertyName(); - case 12 /* ObjectLiteralMembers */: + return token() === 22 /* SyntaxKind.OpenBracketToken */ || isLiteralPropertyName(); + case 12 /* ParsingContext.ObjectLiteralMembers */: switch (token()) { - case 22 /* OpenBracketToken */: - case 41 /* AsteriskToken */: - case 25 /* DotDotDotToken */: - case 24 /* DotToken */: // Not an object literal member, but don't want to close the object (see `tests/cases/fourslash/completionsDotInObjectLiteral.ts`) + case 22 /* SyntaxKind.OpenBracketToken */: + case 41 /* SyntaxKind.AsteriskToken */: + case 25 /* SyntaxKind.DotDotDotToken */: + case 24 /* SyntaxKind.DotToken */: // Not an object literal member, but don't want to close the object (see `tests/cases/fourslash/completionsDotInObjectLiteral.ts`) return true; default: return isLiteralPropertyName(); } - case 18 /* RestProperties */: + case 18 /* ParsingContext.RestProperties */: return isLiteralPropertyName(); - case 9 /* ObjectBindingElements */: - return token() === 22 /* OpenBracketToken */ || token() === 25 /* DotDotDotToken */ || isLiteralPropertyName(); - case 24 /* AssertEntries */: + case 9 /* ParsingContext.ObjectBindingElements */: + return token() === 22 /* SyntaxKind.OpenBracketToken */ || token() === 25 /* SyntaxKind.DotDotDotToken */ || isLiteralPropertyName(); + case 24 /* ParsingContext.AssertEntries */: return isAssertionKey(); - case 7 /* HeritageClauseElement */: + case 7 /* ParsingContext.HeritageClauseElement */: // If we see `{ ... }` then only consume it as an expression if it is followed by `,` or `{` // That way we won't consume the body of a class in its heritage clause. - if (token() === 18 /* OpenBraceToken */) { + if (token() === 18 /* SyntaxKind.OpenBraceToken */) { return lookAhead(isValidHeritageClauseObjectLiteral); } if (!inErrorRecovery) { @@ -32493,42 +32567,42 @@ var ts; // element during recovery. return isIdentifier() && !isHeritageClauseExtendsOrImplementsKeyword(); } - case 8 /* VariableDeclarations */: + case 8 /* ParsingContext.VariableDeclarations */: return isBindingIdentifierOrPrivateIdentifierOrPattern(); - case 10 /* ArrayBindingElements */: - return token() === 27 /* CommaToken */ || token() === 25 /* DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern(); - case 19 /* TypeParameters */: - return token() === 101 /* InKeyword */ || isIdentifier(); - case 15 /* ArrayLiteralMembers */: + case 10 /* ParsingContext.ArrayBindingElements */: + return token() === 27 /* SyntaxKind.CommaToken */ || token() === 25 /* SyntaxKind.DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern(); + case 19 /* ParsingContext.TypeParameters */: + return token() === 101 /* SyntaxKind.InKeyword */ || isIdentifier(); + case 15 /* ParsingContext.ArrayLiteralMembers */: switch (token()) { - case 27 /* CommaToken */: - case 24 /* DotToken */: // Not an array literal member, but don't want to close the array (see `tests/cases/fourslash/completionsDotInArrayLiteralInObjectLiteral.ts`) + case 27 /* SyntaxKind.CommaToken */: + case 24 /* SyntaxKind.DotToken */: // Not an array literal member, but don't want to close the array (see `tests/cases/fourslash/completionsDotInArrayLiteralInObjectLiteral.ts`) return true; } // falls through - case 11 /* ArgumentExpressions */: - return token() === 25 /* DotDotDotToken */ || isStartOfExpression(); - case 16 /* Parameters */: + case 11 /* ParsingContext.ArgumentExpressions */: + return token() === 25 /* SyntaxKind.DotDotDotToken */ || isStartOfExpression(); + case 16 /* ParsingContext.Parameters */: return isStartOfParameter(/*isJSDocParameter*/ false); - case 17 /* JSDocParameters */: + case 17 /* ParsingContext.JSDocParameters */: return isStartOfParameter(/*isJSDocParameter*/ true); - case 20 /* TypeArguments */: - case 21 /* TupleElementTypes */: - return token() === 27 /* CommaToken */ || isStartOfType(); - case 22 /* HeritageClauses */: + case 20 /* ParsingContext.TypeArguments */: + case 21 /* ParsingContext.TupleElementTypes */: + return token() === 27 /* SyntaxKind.CommaToken */ || isStartOfType(); + case 22 /* ParsingContext.HeritageClauses */: return isHeritageClause(); - case 23 /* ImportOrExportSpecifiers */: + case 23 /* ParsingContext.ImportOrExportSpecifiers */: return ts.tokenIsIdentifierOrKeyword(token()); - case 13 /* JsxAttributes */: - return ts.tokenIsIdentifierOrKeyword(token()) || token() === 18 /* OpenBraceToken */; - case 14 /* JsxChildren */: + case 13 /* ParsingContext.JsxAttributes */: + return ts.tokenIsIdentifierOrKeyword(token()) || token() === 18 /* SyntaxKind.OpenBraceToken */; + case 14 /* ParsingContext.JsxChildren */: return true; } return ts.Debug.fail("Non-exhaustive case in 'isListElement'."); } function isValidHeritageClauseObjectLiteral() { - ts.Debug.assert(token() === 18 /* OpenBraceToken */); - if (nextToken() === 19 /* CloseBraceToken */) { + ts.Debug.assert(token() === 18 /* SyntaxKind.OpenBraceToken */); + if (nextToken() === 19 /* SyntaxKind.CloseBraceToken */) { // if we see "extends {}" then only treat the {} as what we're extending (and not // the class body) if we have: // @@ -32537,7 +32611,7 @@ var ts; // extends {} extends // extends {} implements var next = nextToken(); - return next === 27 /* CommaToken */ || next === 18 /* OpenBraceToken */ || next === 94 /* ExtendsKeyword */ || next === 117 /* ImplementsKeyword */; + return next === 27 /* SyntaxKind.CommaToken */ || next === 18 /* SyntaxKind.OpenBraceToken */ || next === 94 /* SyntaxKind.ExtendsKeyword */ || next === 117 /* SyntaxKind.ImplementsKeyword */; } return true; } @@ -32554,8 +32628,8 @@ var ts; return ts.tokenIsIdentifierOrKeywordOrGreaterThan(token()); } function isHeritageClauseExtendsOrImplementsKeyword() { - if (token() === 117 /* ImplementsKeyword */ || - token() === 94 /* ExtendsKeyword */) { + if (token() === 117 /* SyntaxKind.ImplementsKeyword */ || + token() === 94 /* SyntaxKind.ExtendsKeyword */) { return lookAhead(nextTokenIsStartOfExpression); } return false; @@ -32570,51 +32644,51 @@ var ts; } // True if positioned at a list terminator function isListTerminator(kind) { - if (token() === 1 /* EndOfFileToken */) { + if (token() === 1 /* SyntaxKind.EndOfFileToken */) { // Being at the end of the file ends all lists. return true; } switch (kind) { - case 1 /* BlockStatements */: - case 2 /* SwitchClauses */: - case 4 /* TypeMembers */: - case 5 /* ClassMembers */: - case 6 /* EnumMembers */: - case 12 /* ObjectLiteralMembers */: - case 9 /* ObjectBindingElements */: - case 23 /* ImportOrExportSpecifiers */: - case 24 /* AssertEntries */: - return token() === 19 /* CloseBraceToken */; - case 3 /* SwitchClauseStatements */: - return token() === 19 /* CloseBraceToken */ || token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */; - case 7 /* HeritageClauseElement */: - return token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */; - case 8 /* VariableDeclarations */: + case 1 /* ParsingContext.BlockStatements */: + case 2 /* ParsingContext.SwitchClauses */: + case 4 /* ParsingContext.TypeMembers */: + case 5 /* ParsingContext.ClassMembers */: + case 6 /* ParsingContext.EnumMembers */: + case 12 /* ParsingContext.ObjectLiteralMembers */: + case 9 /* ParsingContext.ObjectBindingElements */: + case 23 /* ParsingContext.ImportOrExportSpecifiers */: + case 24 /* ParsingContext.AssertEntries */: + return token() === 19 /* SyntaxKind.CloseBraceToken */; + case 3 /* ParsingContext.SwitchClauseStatements */: + return token() === 19 /* SyntaxKind.CloseBraceToken */ || token() === 82 /* SyntaxKind.CaseKeyword */ || token() === 88 /* SyntaxKind.DefaultKeyword */; + case 7 /* ParsingContext.HeritageClauseElement */: + return token() === 18 /* SyntaxKind.OpenBraceToken */ || token() === 94 /* SyntaxKind.ExtendsKeyword */ || token() === 117 /* SyntaxKind.ImplementsKeyword */; + case 8 /* ParsingContext.VariableDeclarations */: return isVariableDeclaratorListTerminator(); - case 19 /* TypeParameters */: + case 19 /* ParsingContext.TypeParameters */: // Tokens other than '>' are here for better error recovery - return token() === 31 /* GreaterThanToken */ || token() === 20 /* OpenParenToken */ || token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */; - case 11 /* ArgumentExpressions */: + return token() === 31 /* SyntaxKind.GreaterThanToken */ || token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 18 /* SyntaxKind.OpenBraceToken */ || token() === 94 /* SyntaxKind.ExtendsKeyword */ || token() === 117 /* SyntaxKind.ImplementsKeyword */; + case 11 /* ParsingContext.ArgumentExpressions */: // Tokens other than ')' are here for better error recovery - return token() === 21 /* CloseParenToken */ || token() === 26 /* SemicolonToken */; - case 15 /* ArrayLiteralMembers */: - case 21 /* TupleElementTypes */: - case 10 /* ArrayBindingElements */: - return token() === 23 /* CloseBracketToken */; - case 17 /* JSDocParameters */: - case 16 /* Parameters */: - case 18 /* RestProperties */: + return token() === 21 /* SyntaxKind.CloseParenToken */ || token() === 26 /* SyntaxKind.SemicolonToken */; + case 15 /* ParsingContext.ArrayLiteralMembers */: + case 21 /* ParsingContext.TupleElementTypes */: + case 10 /* ParsingContext.ArrayBindingElements */: + return token() === 23 /* SyntaxKind.CloseBracketToken */; + case 17 /* ParsingContext.JSDocParameters */: + case 16 /* ParsingContext.Parameters */: + case 18 /* ParsingContext.RestProperties */: // Tokens other than ')' and ']' (the latter for index signatures) are here for better error recovery - return token() === 21 /* CloseParenToken */ || token() === 23 /* CloseBracketToken */ /*|| token === SyntaxKind.OpenBraceToken*/; - case 20 /* TypeArguments */: + return token() === 21 /* SyntaxKind.CloseParenToken */ || token() === 23 /* SyntaxKind.CloseBracketToken */ /*|| token === SyntaxKind.OpenBraceToken*/; + case 20 /* ParsingContext.TypeArguments */: // All other tokens should cause the type-argument to terminate except comma token - return token() !== 27 /* CommaToken */; - case 22 /* HeritageClauses */: - return token() === 18 /* OpenBraceToken */ || token() === 19 /* CloseBraceToken */; - case 13 /* JsxAttributes */: - return token() === 31 /* GreaterThanToken */ || token() === 43 /* SlashToken */; - case 14 /* JsxChildren */: - return token() === 29 /* LessThanToken */ && lookAhead(nextTokenIsSlash); + return token() !== 27 /* SyntaxKind.CommaToken */; + case 22 /* ParsingContext.HeritageClauses */: + return token() === 18 /* SyntaxKind.OpenBraceToken */ || token() === 19 /* SyntaxKind.CloseBraceToken */; + case 13 /* ParsingContext.JsxAttributes */: + return token() === 31 /* SyntaxKind.GreaterThanToken */ || token() === 43 /* SyntaxKind.SlashToken */; + case 14 /* ParsingContext.JsxChildren */: + return token() === 29 /* SyntaxKind.LessThanToken */ && lookAhead(nextTokenIsSlash); default: return false; } @@ -32634,7 +32708,7 @@ var ts; // For better error recovery, if we see an '=>' then we just stop immediately. We've got an // arrow function here and it's going to be very unlikely that we'll resynchronize and get // another variable declaration. - if (token() === 38 /* EqualsGreaterThanToken */) { + if (token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { return true; } // Keep trying to parse out variable declarators. @@ -32642,7 +32716,7 @@ var ts; } // True if positioned at element or terminator of the current list or any enclosing list function isInSomeParsingContext() { - for (var kind = 0; kind < 25 /* Count */; kind++) { + for (var kind = 0; kind < 25 /* ParsingContext.Count */; kind++) { if (parsingContext & (1 << kind)) { if (isListElement(kind, /*inErrorRecovery*/ true) || isListTerminator(kind)) { return true; @@ -32708,7 +32782,7 @@ var ts; // differently depending on what mode it is in. // // This also applies to all our other context flags as well. - var nodeContextFlags = node.flags & 50720768 /* ContextFlags */; + var nodeContextFlags = node.flags & 50720768 /* NodeFlags.ContextFlags */; if (nodeContextFlags !== contextFlags) { return undefined; } @@ -32731,38 +32805,38 @@ var ts; } function isReusableParsingContext(parsingContext) { switch (parsingContext) { - case 5 /* ClassMembers */: - case 2 /* SwitchClauses */: - case 0 /* SourceElements */: - case 1 /* BlockStatements */: - case 3 /* SwitchClauseStatements */: - case 6 /* EnumMembers */: - case 4 /* TypeMembers */: - case 8 /* VariableDeclarations */: - case 17 /* JSDocParameters */: - case 16 /* Parameters */: + case 5 /* ParsingContext.ClassMembers */: + case 2 /* ParsingContext.SwitchClauses */: + case 0 /* ParsingContext.SourceElements */: + case 1 /* ParsingContext.BlockStatements */: + case 3 /* ParsingContext.SwitchClauseStatements */: + case 6 /* ParsingContext.EnumMembers */: + case 4 /* ParsingContext.TypeMembers */: + case 8 /* ParsingContext.VariableDeclarations */: + case 17 /* ParsingContext.JSDocParameters */: + case 16 /* ParsingContext.Parameters */: return true; } return false; } function canReuseNode(node, parsingContext) { switch (parsingContext) { - case 5 /* ClassMembers */: + case 5 /* ParsingContext.ClassMembers */: return isReusableClassMember(node); - case 2 /* SwitchClauses */: + case 2 /* ParsingContext.SwitchClauses */: return isReusableSwitchClause(node); - case 0 /* SourceElements */: - case 1 /* BlockStatements */: - case 3 /* SwitchClauseStatements */: + case 0 /* ParsingContext.SourceElements */: + case 1 /* ParsingContext.BlockStatements */: + case 3 /* ParsingContext.SwitchClauseStatements */: return isReusableStatement(node); - case 6 /* EnumMembers */: + case 6 /* ParsingContext.EnumMembers */: return isReusableEnumMember(node); - case 4 /* TypeMembers */: + case 4 /* ParsingContext.TypeMembers */: return isReusableTypeMember(node); - case 8 /* VariableDeclarations */: + case 8 /* ParsingContext.VariableDeclarations */: return isReusableVariableDeclaration(node); - case 17 /* JSDocParameters */: - case 16 /* Parameters */: + case 17 /* ParsingContext.JSDocParameters */: + case 16 /* ParsingContext.Parameters */: return isReusableParameter(node); // Any other lists we do not care about reusing nodes in. But feel free to add if // you can do so safely. Danger areas involve nodes that may involve speculative @@ -32809,20 +32883,20 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 171 /* Constructor */: - case 176 /* IndexSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 167 /* PropertyDeclaration */: - case 234 /* SemicolonClassElement */: + case 171 /* SyntaxKind.Constructor */: + case 176 /* SyntaxKind.IndexSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 234 /* SyntaxKind.SemicolonClassElement */: return true; - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: // Method declarations are not necessarily reusable. An object-literal // may have a method calls "constructor(...)" and we must reparse that // into an actual .ConstructorDeclaration. var methodDeclaration = node; - var nameIsConstructor = methodDeclaration.name.kind === 79 /* Identifier */ && - methodDeclaration.name.originalKeywordKind === 134 /* ConstructorKeyword */; + var nameIsConstructor = methodDeclaration.name.kind === 79 /* SyntaxKind.Identifier */ && + methodDeclaration.name.originalKeywordKind === 134 /* SyntaxKind.ConstructorKeyword */; return !nameIsConstructor; } } @@ -32831,8 +32905,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: return true; } } @@ -32841,58 +32915,58 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 237 /* VariableStatement */: - case 235 /* Block */: - case 239 /* IfStatement */: - case 238 /* ExpressionStatement */: - case 251 /* ThrowStatement */: - case 247 /* ReturnStatement */: - case 249 /* SwitchStatement */: - case 246 /* BreakStatement */: - case 245 /* ContinueStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 242 /* ForStatement */: - case 241 /* WhileStatement */: - case 248 /* WithStatement */: - case 236 /* EmptyStatement */: - case 252 /* TryStatement */: - case 250 /* LabeledStatement */: - case 240 /* DoStatement */: - case 253 /* DebuggerStatement */: - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: - case 272 /* ExportDeclaration */: - case 271 /* ExportAssignment */: - case 261 /* ModuleDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 237 /* SyntaxKind.VariableStatement */: + case 235 /* SyntaxKind.Block */: + case 239 /* SyntaxKind.IfStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: + case 251 /* SyntaxKind.ThrowStatement */: + case 247 /* SyntaxKind.ReturnStatement */: + case 249 /* SyntaxKind.SwitchStatement */: + case 246 /* SyntaxKind.BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 236 /* SyntaxKind.EmptyStatement */: + case 252 /* SyntaxKind.TryStatement */: + case 250 /* SyntaxKind.LabeledStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 253 /* SyntaxKind.DebuggerStatement */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 299 /* EnumMember */; + return node.kind === 299 /* SyntaxKind.EnumMember */; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 175 /* ConstructSignature */: - case 168 /* MethodSignature */: - case 176 /* IndexSignature */: - case 166 /* PropertySignature */: - case 174 /* CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 168 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 166 /* SyntaxKind.PropertySignature */: + case 174 /* SyntaxKind.CallSignature */: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 254 /* VariableDeclaration */) { + if (node.kind !== 254 /* SyntaxKind.VariableDeclaration */) { return false; } // Very subtle incremental parsing bug. Consider the following code: @@ -32913,7 +32987,7 @@ var ts; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 164 /* Parameter */) { + if (node.kind !== 164 /* SyntaxKind.Parameter */) { return false; } // See the comment in isReusableVariableDeclaration for why we do this. @@ -32931,39 +33005,39 @@ var ts; } function parsingContextErrors(context) { switch (context) { - case 0 /* SourceElements */: - return token() === 88 /* DefaultKeyword */ - ? parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(93 /* ExportKeyword */)) + case 0 /* ParsingContext.SourceElements */: + return token() === 88 /* SyntaxKind.DefaultKeyword */ + ? parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(93 /* SyntaxKind.ExportKeyword */)) : parseErrorAtCurrentToken(ts.Diagnostics.Declaration_or_statement_expected); - case 1 /* BlockStatements */: return parseErrorAtCurrentToken(ts.Diagnostics.Declaration_or_statement_expected); - case 2 /* SwitchClauses */: return parseErrorAtCurrentToken(ts.Diagnostics.case_or_default_expected); - case 3 /* SwitchClauseStatements */: return parseErrorAtCurrentToken(ts.Diagnostics.Statement_expected); - case 18 /* RestProperties */: // fallthrough - case 4 /* TypeMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Property_or_signature_expected); - case 5 /* ClassMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected); - case 6 /* EnumMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Enum_member_expected); - case 7 /* HeritageClauseElement */: return parseErrorAtCurrentToken(ts.Diagnostics.Expression_expected); - case 8 /* VariableDeclarations */: + case 1 /* ParsingContext.BlockStatements */: return parseErrorAtCurrentToken(ts.Diagnostics.Declaration_or_statement_expected); + case 2 /* ParsingContext.SwitchClauses */: return parseErrorAtCurrentToken(ts.Diagnostics.case_or_default_expected); + case 3 /* ParsingContext.SwitchClauseStatements */: return parseErrorAtCurrentToken(ts.Diagnostics.Statement_expected); + case 18 /* ParsingContext.RestProperties */: // fallthrough + case 4 /* ParsingContext.TypeMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Property_or_signature_expected); + case 5 /* ParsingContext.ClassMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected); + case 6 /* ParsingContext.EnumMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Enum_member_expected); + case 7 /* ParsingContext.HeritageClauseElement */: return parseErrorAtCurrentToken(ts.Diagnostics.Expression_expected); + case 8 /* ParsingContext.VariableDeclarations */: return ts.isKeyword(token()) ? parseErrorAtCurrentToken(ts.Diagnostics._0_is_not_allowed_as_a_variable_declaration_name, ts.tokenToString(token())) : parseErrorAtCurrentToken(ts.Diagnostics.Variable_declaration_expected); - case 9 /* ObjectBindingElements */: return parseErrorAtCurrentToken(ts.Diagnostics.Property_destructuring_pattern_expected); - case 10 /* ArrayBindingElements */: return parseErrorAtCurrentToken(ts.Diagnostics.Array_element_destructuring_pattern_expected); - case 11 /* ArgumentExpressions */: return parseErrorAtCurrentToken(ts.Diagnostics.Argument_expression_expected); - case 12 /* ObjectLiteralMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Property_assignment_expected); - case 15 /* ArrayLiteralMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Expression_or_comma_expected); - case 17 /* JSDocParameters */: return parseErrorAtCurrentToken(ts.Diagnostics.Parameter_declaration_expected); - case 16 /* Parameters */: + case 9 /* ParsingContext.ObjectBindingElements */: return parseErrorAtCurrentToken(ts.Diagnostics.Property_destructuring_pattern_expected); + case 10 /* ParsingContext.ArrayBindingElements */: return parseErrorAtCurrentToken(ts.Diagnostics.Array_element_destructuring_pattern_expected); + case 11 /* ParsingContext.ArgumentExpressions */: return parseErrorAtCurrentToken(ts.Diagnostics.Argument_expression_expected); + case 12 /* ParsingContext.ObjectLiteralMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Property_assignment_expected); + case 15 /* ParsingContext.ArrayLiteralMembers */: return parseErrorAtCurrentToken(ts.Diagnostics.Expression_or_comma_expected); + case 17 /* ParsingContext.JSDocParameters */: return parseErrorAtCurrentToken(ts.Diagnostics.Parameter_declaration_expected); + case 16 /* ParsingContext.Parameters */: return ts.isKeyword(token()) ? parseErrorAtCurrentToken(ts.Diagnostics._0_is_not_allowed_as_a_parameter_name, ts.tokenToString(token())) : parseErrorAtCurrentToken(ts.Diagnostics.Parameter_declaration_expected); - case 19 /* TypeParameters */: return parseErrorAtCurrentToken(ts.Diagnostics.Type_parameter_declaration_expected); - case 20 /* TypeArguments */: return parseErrorAtCurrentToken(ts.Diagnostics.Type_argument_expected); - case 21 /* TupleElementTypes */: return parseErrorAtCurrentToken(ts.Diagnostics.Type_expected); - case 22 /* HeritageClauses */: return parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_expected); - case 23 /* ImportOrExportSpecifiers */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); - case 13 /* JsxAttributes */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); - case 14 /* JsxChildren */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); + case 19 /* ParsingContext.TypeParameters */: return parseErrorAtCurrentToken(ts.Diagnostics.Type_parameter_declaration_expected); + case 20 /* ParsingContext.TypeArguments */: return parseErrorAtCurrentToken(ts.Diagnostics.Type_argument_expected); + case 21 /* ParsingContext.TupleElementTypes */: return parseErrorAtCurrentToken(ts.Diagnostics.Type_expected); + case 22 /* ParsingContext.HeritageClauses */: return parseErrorAtCurrentToken(ts.Diagnostics.Unexpected_token_expected); + case 23 /* ParsingContext.ImportOrExportSpecifiers */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); + case 13 /* ParsingContext.JsxAttributes */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); + case 14 /* ParsingContext.JsxChildren */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); default: return [undefined]; // TODO: GH#18217 `default: Debug.assertNever(context);` } } @@ -32978,11 +33052,12 @@ var ts; var startPos = scanner.getStartPos(); var result = parseListElement(kind, parseElement); if (!result) { + parsingContext = saveParsingContext; return undefined; } list.push(result); commaStart = scanner.getTokenPos(); - if (parseOptional(27 /* CommaToken */)) { + if (parseOptional(27 /* SyntaxKind.CommaToken */)) { // No need to check for a zero length node since we know we parsed a comma continue; } @@ -32992,13 +33067,13 @@ var ts; } // We didn't get a comma, and the list wasn't terminated, explicitly parse // out a comma so we give a good error message. - parseExpected(27 /* CommaToken */, getExpectedCommaDiagnostic(kind)); + parseExpected(27 /* SyntaxKind.CommaToken */, getExpectedCommaDiagnostic(kind)); // If the token was a semicolon, and the caller allows that, then skip it and // continue. This ensures we get back on track and don't result in tons of // parse errors. For example, this can happen when people do things like use // a semicolon to delimit object literal members. Note: we'll have already // reported an error when we called parseExpected above. - if (considerSemicolonAsDelimiter && token() === 26 /* SemicolonToken */ && !scanner.hasPrecedingLineBreak()) { + if (considerSemicolonAsDelimiter && token() === 26 /* SyntaxKind.SemicolonToken */ && !scanner.hasPrecedingLineBreak()) { nextToken(); } if (startPos === scanner.getStartPos()) { @@ -33027,7 +33102,7 @@ var ts; return createNodeArray(list, listPos, /*end*/ undefined, commaStart >= 0); } function getExpectedCommaDiagnostic(kind) { - return kind === 6 /* EnumMembers */ ? ts.Diagnostics.An_enum_member_name_must_be_followed_by_a_or : undefined; + return kind === 6 /* ParsingContext.EnumMembers */ ? ts.Diagnostics.An_enum_member_name_must_be_followed_by_a_or : undefined; } function createMissingList() { var list = createNodeArray([], getNodePos()); @@ -33045,18 +33120,18 @@ var ts; } return createMissingList(); } - function parseEntityName(allowReservedWords, allowPrivateIdentifiers, diagnosticMessage) { + function parseEntityName(allowReservedWords, diagnosticMessage) { var pos = getNodePos(); var entity = allowReservedWords ? parseIdentifierName(diagnosticMessage) : parseIdentifier(diagnosticMessage); var dotPos = getNodePos(); - while (parseOptional(24 /* DotToken */)) { - if (token() === 29 /* LessThanToken */) { + while (parseOptional(24 /* SyntaxKind.DotToken */)) { + if (token() === 29 /* SyntaxKind.LessThanToken */) { // the entity is part of a JSDoc-style generic, so record the trailing dot for later error reporting entity.jsdocDotPos = dotPos; break; } dotPos = getNodePos(); - entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, allowPrivateIdentifiers)), pos); + entity = finishNode(factory.createQualifiedName(entity, parseRightSideOfDot(allowReservedWords, /* allowPrivateIdentifiers */ false)), pos); } return entity; } @@ -33089,12 +33164,12 @@ var ts; // Report that we need an identifier. However, report it right after the dot, // and not on the next token. This is because the next token might actually // be an identifier and the error would be quite confusing. - return createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Identifier_expected); + return createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Identifier_expected); } } - if (token() === 80 /* PrivateIdentifier */) { + if (token() === 80 /* SyntaxKind.PrivateIdentifier */) { var node = parsePrivateIdentifier(); - return allowPrivateIdentifiers ? node : createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Identifier_expected); + return allowPrivateIdentifiers ? node : createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Identifier_expected); } return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); } @@ -33105,7 +33180,7 @@ var ts; do { node = parseTemplateSpan(isTaggedTemplate); list.push(node); - } while (node.literal.kind === 16 /* TemplateMiddle */); + } while (node.literal.kind === 16 /* SyntaxKind.TemplateMiddle */); return createNodeArray(list, pos); } function parseTemplateExpression(isTaggedTemplate) { @@ -33123,7 +33198,7 @@ var ts; do { node = parseTemplateTypeSpan(); list.push(node); - } while (node.literal.kind === 16 /* TemplateMiddle */); + } while (node.literal.kind === 16 /* SyntaxKind.TemplateMiddle */); return createNodeArray(list, pos); } function parseTemplateTypeSpan() { @@ -33131,13 +33206,13 @@ var ts; return finishNode(factory.createTemplateLiteralTypeSpan(parseType(), parseLiteralOfTemplateSpan(/*isTaggedTemplate*/ false)), pos); } function parseLiteralOfTemplateSpan(isTaggedTemplate) { - if (token() === 19 /* CloseBraceToken */) { + if (token() === 19 /* SyntaxKind.CloseBraceToken */) { reScanTemplateToken(isTaggedTemplate); return parseTemplateMiddleOrTemplateTail(); } else { // TODO(rbuckton): Do we need to call `parseExpectedToken` or can we just call `createMissingNode` directly? - return parseExpectedToken(17 /* TemplateTail */, ts.Diagnostics._0_expected, ts.tokenToString(19 /* CloseBraceToken */)); + return parseExpectedToken(17 /* SyntaxKind.TemplateTail */, ts.Diagnostics._0_expected, ts.tokenToString(19 /* SyntaxKind.CloseBraceToken */)); } } function parseTemplateSpan(isTaggedTemplate) { @@ -33152,30 +33227,30 @@ var ts; reScanTemplateHeadOrNoSubstitutionTemplate(); } var fragment = parseLiteralLikeNode(token()); - ts.Debug.assert(fragment.kind === 15 /* TemplateHead */, "Template head has wrong token kind"); + ts.Debug.assert(fragment.kind === 15 /* SyntaxKind.TemplateHead */, "Template head has wrong token kind"); return fragment; } function parseTemplateMiddleOrTemplateTail() { var fragment = parseLiteralLikeNode(token()); - ts.Debug.assert(fragment.kind === 16 /* TemplateMiddle */ || fragment.kind === 17 /* TemplateTail */, "Template fragment has wrong token kind"); + ts.Debug.assert(fragment.kind === 16 /* SyntaxKind.TemplateMiddle */ || fragment.kind === 17 /* SyntaxKind.TemplateTail */, "Template fragment has wrong token kind"); return fragment; } function getTemplateLiteralRawText(kind) { - var isLast = kind === 14 /* NoSubstitutionTemplateLiteral */ || kind === 17 /* TemplateTail */; + var isLast = kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ || kind === 17 /* SyntaxKind.TemplateTail */; var tokenText = scanner.getTokenText(); return tokenText.substring(1, tokenText.length - (scanner.isUnterminated() ? 0 : isLast ? 1 : 2)); } function parseLiteralLikeNode(kind) { var pos = getNodePos(); - var node = ts.isTemplateLiteralKind(kind) ? factory.createTemplateLiteralLikeNode(kind, scanner.getTokenValue(), getTemplateLiteralRawText(kind), scanner.getTokenFlags() & 2048 /* TemplateLiteralLikeFlags */) : + var node = ts.isTemplateLiteralKind(kind) ? factory.createTemplateLiteralLikeNode(kind, scanner.getTokenValue(), getTemplateLiteralRawText(kind), scanner.getTokenFlags() & 2048 /* TokenFlags.TemplateLiteralLikeFlags */) : // Octal literals are not allowed in strict mode or ES5 // Note that theoretically the following condition would hold true literals like 009, // which is not octal. But because of how the scanner separates the tokens, we would // never get a token like this. Instead, we would get 00 and 9 as two separate tokens. // We also do not need to check for negatives because any prefix operator would be part of a // parent unary expression. - kind === 8 /* NumericLiteral */ ? factory.createNumericLiteral(scanner.getTokenValue(), scanner.getNumericLiteralFlags()) : - kind === 10 /* StringLiteral */ ? factory.createStringLiteral(scanner.getTokenValue(), /*isSingleQuote*/ undefined, scanner.hasExtendedUnicodeEscape()) : + kind === 8 /* SyntaxKind.NumericLiteral */ ? factory.createNumericLiteral(scanner.getTokenValue(), scanner.getNumericLiteralFlags()) : + kind === 10 /* SyntaxKind.StringLiteral */ ? factory.createStringLiteral(scanner.getTokenValue(), /*isSingleQuote*/ undefined, scanner.hasExtendedUnicodeEscape()) : ts.isLiteralKind(kind) ? factory.createLiteralLikeNode(kind, scanner.getTokenValue()) : ts.Debug.fail(); if (scanner.hasExtendedUnicodeEscape()) { @@ -33189,11 +33264,11 @@ var ts; } // TYPES function parseEntityNameOfTypeReference() { - return parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false, ts.Diagnostics.Type_expected); + return parseEntityName(/*allowReservedWords*/ true, ts.Diagnostics.Type_expected); } function parseTypeArgumentsOfTypeReference() { - if (!scanner.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) { - return parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */); + if (!scanner.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* SyntaxKind.LessThanToken */) { + return parseBracketedList(20 /* ParsingContext.TypeArguments */, parseType, 29 /* SyntaxKind.LessThanToken */, 31 /* SyntaxKind.GreaterThanToken */); } } function parseTypeReference() { @@ -33203,14 +33278,14 @@ var ts; // If true, we should abort parsing an error function. function typeHasArrowFunctionBlockingParseError(node) { switch (node.kind) { - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return ts.nodeIsMissing(node.typeName); - case 179 /* FunctionType */: - case 180 /* ConstructorType */: { + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: { var _a = node, parameters = _a.parameters, type = _a.type; return isMissingList(parameters) || typeHasArrowFunctionBlockingParseError(type); } - case 191 /* ParenthesizedType */: + case 191 /* SyntaxKind.ParenthesizedType */: return typeHasArrowFunctionBlockingParseError(node.type); default: return false; @@ -33248,12 +33323,12 @@ var ts; // Foo // Foo(?= // (?| - if (token() === 27 /* CommaToken */ || - token() === 19 /* CloseBraceToken */ || - token() === 21 /* CloseParenToken */ || - token() === 31 /* GreaterThanToken */ || - token() === 63 /* EqualsToken */ || - token() === 51 /* BarToken */) { + if (token() === 27 /* SyntaxKind.CommaToken */ || + token() === 19 /* SyntaxKind.CloseBraceToken */ || + token() === 21 /* SyntaxKind.CloseParenToken */ || + token() === 31 /* SyntaxKind.GreaterThanToken */ || + token() === 63 /* SyntaxKind.EqualsToken */ || + token() === 51 /* SyntaxKind.BarToken */) { return finishNode(factory.createJSDocUnknownType(), pos); } else { @@ -33265,8 +33340,8 @@ var ts; var hasJSDoc = hasPrecedingJSDocComment(); if (lookAhead(nextTokenIsOpenParen)) { nextToken(); - var parameters = parseParameters(4 /* Type */ | 32 /* JSDoc */); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); + var parameters = parseParameters(4 /* SignatureFlags.Type */ | 32 /* SignatureFlags.JSDoc */); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); return withJSDoc(finishNode(factory.createJSDocFunctionType(parameters, type), pos), hasJSDoc); } return finishNode(factory.createTypeReferenceNode(parseIdentifierName(), /*typeArguments*/ undefined), pos); @@ -33274,9 +33349,9 @@ var ts; function parseJSDocParameter() { var pos = getNodePos(); var name; - if (token() === 108 /* ThisKeyword */ || token() === 103 /* NewKeyword */) { + if (token() === 108 /* SyntaxKind.ThisKeyword */ || token() === 103 /* SyntaxKind.NewKeyword */) { name = parseIdentifierName(); - parseExpected(58 /* ColonToken */); + parseExpected(58 /* SyntaxKind.ColonToken */); } return finishNode(factory.createParameterDeclaration( /*decorators*/ undefined, @@ -33290,15 +33365,15 @@ var ts; function parseJSDocType() { scanner.setInJSDocType(true); var pos = getNodePos(); - if (parseOptional(141 /* ModuleKeyword */)) { + if (parseOptional(141 /* SyntaxKind.ModuleKeyword */)) { // TODO(rbuckton): We never set the type for a JSDocNamepathType. What should we put here? var moduleTag = factory.createJSDocNamepathType(/*type*/ undefined); terminate: while (true) { switch (token()) { - case 19 /* CloseBraceToken */: - case 1 /* EndOfFileToken */: - case 27 /* CommaToken */: - case 5 /* WhitespaceTrivia */: + case 19 /* SyntaxKind.CloseBraceToken */: + case 1 /* SyntaxKind.EndOfFileToken */: + case 27 /* SyntaxKind.CommaToken */: + case 5 /* SyntaxKind.WhitespaceTrivia */: break terminate; default: nextTokenJSDoc(); @@ -33307,13 +33382,13 @@ var ts; scanner.setInJSDocType(false); return finishNode(moduleTag, pos); } - var hasDotDotDot = parseOptional(25 /* DotDotDotToken */); + var hasDotDotDot = parseOptional(25 /* SyntaxKind.DotDotDotToken */); var type = parseTypeOrTypePredicate(); scanner.setInJSDocType(false); if (hasDotDotDot) { type = finishNode(factory.createJSDocVariadicType(type), pos); } - if (token() === 63 /* EqualsToken */) { + if (token() === 63 /* SyntaxKind.EqualsToken */) { nextToken(); return finishNode(factory.createJSDocOptionalType(type), pos); } @@ -33321,9 +33396,10 @@ var ts; } function parseTypeQuery() { var pos = getNodePos(); - parseExpected(112 /* TypeOfKeyword */); - var entityName = parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ true); - var typeArguments = tryParseTypeArguments(); + parseExpected(112 /* SyntaxKind.TypeOfKeyword */); + var entityName = parseEntityName(/*allowReservedWords*/ true); + // Make sure we perform ASI to prevent parsing the next line's type arguments as part of an instantiation expression. + var typeArguments = !scanner.hasPrecedingLineBreak() ? tryParseTypeArguments() : undefined; return finishNode(factory.createTypeQueryNode(entityName, typeArguments), pos); } function parseTypeParameter() { @@ -33332,7 +33408,7 @@ var ts; var name = parseIdentifier(); var constraint; var expression; - if (parseOptional(94 /* ExtendsKeyword */)) { + if (parseOptional(94 /* SyntaxKind.ExtendsKeyword */)) { // It's not uncommon for people to write improper constraints to a generic. If the // user writes a constraint that is an expression and not an actual type, then parse // it out as an expression (so we can recover well), but report that a type is needed @@ -33351,21 +33427,21 @@ var ts; expression = parseUnaryExpressionOrHigher(); } } - var defaultType = parseOptional(63 /* EqualsToken */) ? parseType() : undefined; + var defaultType = parseOptional(63 /* SyntaxKind.EqualsToken */) ? parseType() : undefined; var node = factory.createTypeParameterDeclaration(modifiers, name, constraint, defaultType); node.expression = expression; return finishNode(node, pos); } function parseTypeParameters() { - if (token() === 29 /* LessThanToken */) { - return parseBracketedList(19 /* TypeParameters */, parseTypeParameter, 29 /* LessThanToken */, 31 /* GreaterThanToken */); + if (token() === 29 /* SyntaxKind.LessThanToken */) { + return parseBracketedList(19 /* ParsingContext.TypeParameters */, parseTypeParameter, 29 /* SyntaxKind.LessThanToken */, 31 /* SyntaxKind.GreaterThanToken */); } } function isStartOfParameter(isJSDocParameter) { - return token() === 25 /* DotDotDotToken */ || + return token() === 25 /* SyntaxKind.DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern() || ts.isModifierKind(token()) || - token() === 59 /* AtToken */ || + token() === 59 /* SyntaxKind.AtToken */ || isStartOfType(/*inStartOfParameter*/ !isJSDocParameter); } function parseNameOfParameter(modifiers) { @@ -33389,7 +33465,7 @@ var ts; // Be permissive about await and yield by calling isBindingIdentifier instead of isIdentifier; disallowing // them during a speculative parse leads to many more follow-on errors than allowing the function to parse then later // complaining about the use of the keywords. - return isBindingIdentifier() || token() === 22 /* OpenBracketToken */ || token() === 18 /* OpenBraceToken */; + return isBindingIdentifier() || token() === 22 /* SyntaxKind.OpenBracketToken */ || token() === 18 /* SyntaxKind.OpenBraceToken */; } function parseParameter(inOuterAwaitContext) { return parseParameterWorker(inOuterAwaitContext); @@ -33405,7 +33481,7 @@ var ts; // BindingElement[?Yield,?Await] // Decorators are parsed in the outer [Await] context, the rest of the parameter is parsed in the function's [Await] context. var decorators = inOuterAwaitContext ? doInAwaitContext(parseDecorators) : parseDecorators(); - if (token() === 108 /* ThisKeyword */) { + if (token() === 108 /* SyntaxKind.ThisKeyword */) { var node_1 = factory.createParameterDeclaration(decorators, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, createIdentifier(/*isIdentifier*/ true), @@ -33419,11 +33495,11 @@ var ts; var savedTopLevel = topLevel; topLevel = false; var modifiers = parseModifiers(); - var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */); + var dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */); if (!allowAmbiguity && !isParameterNameStart()) { return undefined; } - var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc); + var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* SyntaxKind.QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc); topLevel = savedTopLevel; return node; } @@ -33433,16 +33509,16 @@ var ts; } } function shouldParseReturnType(returnToken, isType) { - if (returnToken === 38 /* EqualsGreaterThanToken */) { + if (returnToken === 38 /* SyntaxKind.EqualsGreaterThanToken */) { parseExpected(returnToken); return true; } - else if (parseOptional(58 /* ColonToken */)) { + else if (parseOptional(58 /* SyntaxKind.ColonToken */)) { return true; } - else if (isType && token() === 38 /* EqualsGreaterThanToken */) { + else if (isType && token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { // This is easy to get backward, especially in type contexts, so parse the type anyway - parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(58 /* ColonToken */)); + parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.tokenToString(58 /* SyntaxKind.ColonToken */)); nextToken(); return true; } @@ -33464,11 +33540,11 @@ var ts; // BindingIdentifier[?Yield,?Await]Initializer [In, ?Yield,?Await] opt var savedYieldContext = inYieldContext(); var savedAwaitContext = inAwaitContext(); - setYieldContext(!!(flags & 1 /* Yield */)); - setAwaitContext(!!(flags & 2 /* Await */)); - var parameters = flags & 32 /* JSDoc */ ? - parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) : - parseDelimitedList(16 /* Parameters */, function () { return allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext); }); + setYieldContext(!!(flags & 1 /* SignatureFlags.Yield */)); + setAwaitContext(!!(flags & 2 /* SignatureFlags.Await */)); + var parameters = flags & 32 /* SignatureFlags.JSDoc */ ? + parseDelimitedList(17 /* ParsingContext.JSDocParameters */, parseJSDocParameter) : + parseDelimitedList(16 /* ParsingContext.Parameters */, function () { return allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext); }); setYieldContext(savedYieldContext); setAwaitContext(savedAwaitContext); return parameters; @@ -33487,17 +33563,17 @@ var ts; // // SingleNameBinding [Yield,Await]: // BindingIdentifier[?Yield,?Await]Initializer [In, ?Yield,?Await] opt - if (!parseExpected(20 /* OpenParenToken */)) { + if (!parseExpected(20 /* SyntaxKind.OpenParenToken */)) { return createMissingList(); } var parameters = parseParametersWorker(flags, /*allowAmbiguity*/ true); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); return parameters; } function parseTypeMemberSemicolon() { // We allow type members to be separated by commas or (possibly ASI) semicolons. // First check if it was a comma. If so, we're done with the member. - if (parseOptional(27 /* CommaToken */)) { + if (parseOptional(27 /* SyntaxKind.CommaToken */)) { return; } // Didn't have a comma. We must have a (possible ASI) semicolon. @@ -33506,20 +33582,20 @@ var ts; function parseSignatureMember(kind) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - if (kind === 175 /* ConstructSignature */) { - parseExpected(103 /* NewKeyword */); + if (kind === 175 /* SyntaxKind.ConstructSignature */) { + parseExpected(103 /* SyntaxKind.NewKeyword */); } var typeParameters = parseTypeParameters(); - var parameters = parseParameters(4 /* Type */); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ true); + var parameters = parseParameters(4 /* SignatureFlags.Type */); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ true); parseTypeMemberSemicolon(); - var node = kind === 174 /* CallSignature */ + var node = kind === 174 /* SyntaxKind.CallSignature */ ? factory.createCallSignature(typeParameters, parameters, type) : factory.createConstructSignature(typeParameters, parameters, type); return withJSDoc(finishNode(node, pos), hasJSDoc); } function isIndexSignature() { - return token() === 22 /* OpenBracketToken */ && lookAhead(isUnambiguouslyIndexSignature); + return token() === 22 /* SyntaxKind.OpenBracketToken */ && lookAhead(isUnambiguouslyIndexSignature); } function isUnambiguouslyIndexSignature() { // The only allowed sequence is: @@ -33539,7 +33615,7 @@ var ts; // [] // nextToken(); - if (token() === 25 /* DotDotDotToken */ || token() === 23 /* CloseBracketToken */) { + if (token() === 25 /* SyntaxKind.DotDotDotToken */ || token() === 23 /* SyntaxKind.CloseBracketToken */) { return true; } if (ts.isModifierKind(token())) { @@ -33558,21 +33634,21 @@ var ts; // A colon signifies a well formed indexer // A comma should be a badly formed indexer because comma expressions are not allowed // in computed properties. - if (token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */) { + if (token() === 58 /* SyntaxKind.ColonToken */ || token() === 27 /* SyntaxKind.CommaToken */) { return true; } // Question mark could be an indexer with an optional property, // or it could be a conditional expression in a computed property. - if (token() !== 57 /* QuestionToken */) { + if (token() !== 57 /* SyntaxKind.QuestionToken */) { return false; } // If any of the following tokens are after the question mark, it cannot // be a conditional expression, so treat it as an indexer. nextToken(); - return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */; + return token() === 58 /* SyntaxKind.ColonToken */ || token() === 27 /* SyntaxKind.CommaToken */ || token() === 23 /* SyntaxKind.CloseBracketToken */; } function parseIndexSignatureDeclaration(pos, hasJSDoc, decorators, modifiers) { - var parameters = parseBracketedList(16 /* Parameters */, function () { return parseParameter(/*inOuterAwaitContext*/ false); }, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */); + var parameters = parseBracketedList(16 /* ParsingContext.Parameters */, function () { return parseParameter(/*inOuterAwaitContext*/ false); }, 22 /* SyntaxKind.OpenBracketToken */, 23 /* SyntaxKind.CloseBracketToken */); var type = parseTypeAnnotation(); parseTypeMemberSemicolon(); var node = factory.createIndexSignature(decorators, modifiers, parameters, type); @@ -33580,14 +33656,14 @@ var ts; } function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) { var name = parsePropertyName(); - var questionToken = parseOptionalToken(57 /* QuestionToken */); + var questionToken = parseOptionalToken(57 /* SyntaxKind.QuestionToken */); var node; - if (token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */) { + if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */) { // Method signatures don't exist in expression contexts. So they have neither // [Yield] nor [Await] var typeParameters = parseTypeParameters(); - var parameters = parseParameters(4 /* Type */); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ true); + var parameters = parseParameters(4 /* SignatureFlags.Type */); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ true); node = factory.createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type); } else { @@ -33596,7 +33672,7 @@ var ts; // Although type literal properties cannot not have initializers, we attempt // to parse an initializer so we can report in the checker that an interface // property or type literal property cannot have an initializer. - if (token() === 63 /* EqualsToken */) + if (token() === 63 /* SyntaxKind.EqualsToken */) node.initializer = parseInitializer(); } parseTypeMemberSemicolon(); @@ -33604,10 +33680,10 @@ var ts; } function isTypeMemberStart() { // Return true if we have the start of a signature member - if (token() === 20 /* OpenParenToken */ || - token() === 29 /* LessThanToken */ || - token() === 136 /* GetKeyword */ || - token() === 149 /* SetKeyword */) { + if (token() === 20 /* SyntaxKind.OpenParenToken */ || + token() === 29 /* SyntaxKind.LessThanToken */ || + token() === 136 /* SyntaxKind.GetKeyword */ || + token() === 149 /* SyntaxKind.SetKeyword */) { return true; } var idToken = false; @@ -33617,7 +33693,7 @@ var ts; nextToken(); } // Index signatures and computed property names are type members - if (token() === 22 /* OpenBracketToken */) { + if (token() === 22 /* SyntaxKind.OpenBracketToken */) { return true; } // Try to get the first property-like token following all modifiers @@ -33628,30 +33704,30 @@ var ts; // If we were able to get any potential identifier, check that it is // the start of a member declaration if (idToken) { - return token() === 20 /* OpenParenToken */ || - token() === 29 /* LessThanToken */ || - token() === 57 /* QuestionToken */ || - token() === 58 /* ColonToken */ || - token() === 27 /* CommaToken */ || + return token() === 20 /* SyntaxKind.OpenParenToken */ || + token() === 29 /* SyntaxKind.LessThanToken */ || + token() === 57 /* SyntaxKind.QuestionToken */ || + token() === 58 /* SyntaxKind.ColonToken */ || + token() === 27 /* SyntaxKind.CommaToken */ || canParseSemicolon(); } return false; } function parseTypeMember() { - if (token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */) { - return parseSignatureMember(174 /* CallSignature */); + if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */) { + return parseSignatureMember(174 /* SyntaxKind.CallSignature */); } - if (token() === 103 /* NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(175 /* ConstructSignature */); + if (token() === 103 /* SyntaxKind.NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { + return parseSignatureMember(175 /* SyntaxKind.ConstructSignature */); } var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiers(); - if (parseContextualModifier(136 /* GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* GetAccessor */); + if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* SyntaxKind.GetAccessor */); } - if (parseContextualModifier(149 /* SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 173 /* SetAccessor */); + if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 173 /* SyntaxKind.SetAccessor */); } if (isIndexSignature()) { return parseIndexSignatureDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers); @@ -33660,16 +33736,16 @@ var ts; } function nextTokenIsOpenParenOrLessThan() { nextToken(); - return token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */; + return token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */; } function nextTokenIsDot() { - return nextToken() === 24 /* DotToken */; + return nextToken() === 24 /* SyntaxKind.DotToken */; } function nextTokenIsOpenParenOrLessThanOrDot() { switch (nextToken()) { - case 20 /* OpenParenToken */: - case 29 /* LessThanToken */: - case 24 /* DotToken */: + case 20 /* SyntaxKind.OpenParenToken */: + case 29 /* SyntaxKind.LessThanToken */: + case 24 /* SyntaxKind.DotToken */: return true; } return false; @@ -33680,9 +33756,9 @@ var ts; } function parseObjectTypeMembers() { var members; - if (parseExpected(18 /* OpenBraceToken */)) { - members = parseList(4 /* TypeMembers */, parseTypeMember); - parseExpected(19 /* CloseBraceToken */); + if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { + members = parseList(4 /* ParsingContext.TypeMembers */, parseTypeMember); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); } else { members = createMissingList(); @@ -33691,51 +33767,51 @@ var ts; } function isStartOfMappedType() { nextToken(); - if (token() === 39 /* PlusToken */ || token() === 40 /* MinusToken */) { - return nextToken() === 145 /* ReadonlyKeyword */; + if (token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { + return nextToken() === 145 /* SyntaxKind.ReadonlyKeyword */; } - if (token() === 145 /* ReadonlyKeyword */) { + if (token() === 145 /* SyntaxKind.ReadonlyKeyword */) { nextToken(); } - return token() === 22 /* OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 101 /* InKeyword */; + return token() === 22 /* SyntaxKind.OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 101 /* SyntaxKind.InKeyword */; } function parseMappedTypeParameter() { var pos = getNodePos(); var name = parseIdentifierName(); - parseExpected(101 /* InKeyword */); + parseExpected(101 /* SyntaxKind.InKeyword */); var type = parseType(); return finishNode(factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, type, /*defaultType*/ undefined), pos); } function parseMappedType() { var pos = getNodePos(); - parseExpected(18 /* OpenBraceToken */); + parseExpected(18 /* SyntaxKind.OpenBraceToken */); var readonlyToken; - if (token() === 145 /* ReadonlyKeyword */ || token() === 39 /* PlusToken */ || token() === 40 /* MinusToken */) { + if (token() === 145 /* SyntaxKind.ReadonlyKeyword */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { readonlyToken = parseTokenNode(); - if (readonlyToken.kind !== 145 /* ReadonlyKeyword */) { - parseExpected(145 /* ReadonlyKeyword */); + if (readonlyToken.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { + parseExpected(145 /* SyntaxKind.ReadonlyKeyword */); } } - parseExpected(22 /* OpenBracketToken */); + parseExpected(22 /* SyntaxKind.OpenBracketToken */); var typeParameter = parseMappedTypeParameter(); - var nameType = parseOptional(127 /* AsKeyword */) ? parseType() : undefined; - parseExpected(23 /* CloseBracketToken */); + var nameType = parseOptional(127 /* SyntaxKind.AsKeyword */) ? parseType() : undefined; + parseExpected(23 /* SyntaxKind.CloseBracketToken */); var questionToken; - if (token() === 57 /* QuestionToken */ || token() === 39 /* PlusToken */ || token() === 40 /* MinusToken */) { + if (token() === 57 /* SyntaxKind.QuestionToken */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { questionToken = parseTokenNode(); - if (questionToken.kind !== 57 /* QuestionToken */) { - parseExpected(57 /* QuestionToken */); + if (questionToken.kind !== 57 /* SyntaxKind.QuestionToken */) { + parseExpected(57 /* SyntaxKind.QuestionToken */); } } var type = parseTypeAnnotation(); parseSemicolon(); - var members = parseList(4 /* TypeMembers */, parseTypeMember); - parseExpected(19 /* CloseBraceToken */); + var members = parseList(4 /* ParsingContext.TypeMembers */, parseTypeMember); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); return finishNode(factory.createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members), pos); } function parseTupleElementType() { var pos = getNodePos(); - if (parseOptional(25 /* DotDotDotToken */)) { + if (parseOptional(25 /* SyntaxKind.DotDotDotToken */)) { return finishNode(factory.createRestTypeNode(parseType()), pos); } var type = parseType(); @@ -33748,10 +33824,10 @@ var ts; return type; } function isNextTokenColonOrQuestionColon() { - return nextToken() === 58 /* ColonToken */ || (token() === 57 /* QuestionToken */ && nextToken() === 58 /* ColonToken */); + return nextToken() === 58 /* SyntaxKind.ColonToken */ || (token() === 57 /* SyntaxKind.QuestionToken */ && nextToken() === 58 /* SyntaxKind.ColonToken */); } function isTupleElementName() { - if (token() === 25 /* DotDotDotToken */) { + if (token() === 25 /* SyntaxKind.DotDotDotToken */) { return ts.tokenIsIdentifierOrKeyword(nextToken()) && isNextTokenColonOrQuestionColon(); } return ts.tokenIsIdentifierOrKeyword(token()) && isNextTokenColonOrQuestionColon(); @@ -33760,10 +33836,10 @@ var ts; if (lookAhead(isTupleElementName)) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */); + var dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */); var name = parseIdentifierName(); - var questionToken = parseOptionalToken(57 /* QuestionToken */); - parseExpected(58 /* ColonToken */); + var questionToken = parseOptionalToken(57 /* SyntaxKind.QuestionToken */); + parseExpected(58 /* SyntaxKind.ColonToken */); var type = parseTupleElementType(); var node = factory.createNamedTupleMember(dotDotDotToken, name, questionToken, type); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -33772,21 +33848,21 @@ var ts; } function parseTupleType() { var pos = getNodePos(); - return finishNode(factory.createTupleTypeNode(parseBracketedList(21 /* TupleElementTypes */, parseTupleElementNameOrTupleElementType, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */)), pos); + return finishNode(factory.createTupleTypeNode(parseBracketedList(21 /* ParsingContext.TupleElementTypes */, parseTupleElementNameOrTupleElementType, 22 /* SyntaxKind.OpenBracketToken */, 23 /* SyntaxKind.CloseBracketToken */)), pos); } function parseParenthesizedType() { var pos = getNodePos(); - parseExpected(20 /* OpenParenToken */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); var type = parseType(); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); return finishNode(factory.createParenthesizedType(type), pos); } function parseModifiersForConstructorType() { var modifiers; - if (token() === 126 /* AbstractKeyword */) { + if (token() === 126 /* SyntaxKind.AbstractKeyword */) { var pos = getNodePos(); nextToken(); - var modifier = finishNode(factory.createToken(126 /* AbstractKeyword */), pos); + var modifier = finishNode(factory.createToken(126 /* SyntaxKind.AbstractKeyword */), pos); modifiers = createNodeArray([modifier], pos); } return modifiers; @@ -33795,10 +33871,10 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiersForConstructorType(); - var isConstructorType = parseOptional(103 /* NewKeyword */); + var isConstructorType = parseOptional(103 /* SyntaxKind.NewKeyword */); var typeParameters = parseTypeParameters(); - var parameters = parseParameters(4 /* Type */); - var type = parseReturnType(38 /* EqualsGreaterThanToken */, /*isType*/ false); + var parameters = parseParameters(4 /* SignatureFlags.Type */); + var type = parseReturnType(38 /* SyntaxKind.EqualsGreaterThanToken */, /*isType*/ false); var node = isConstructorType ? factory.createConstructorTypeNode(modifiers, typeParameters, parameters, type) : factory.createFunctionTypeNode(typeParameters, parameters, type); @@ -33808,34 +33884,34 @@ var ts; } function parseKeywordAndNoDot() { var node = parseTokenNode(); - return token() === 24 /* DotToken */ ? undefined : node; + return token() === 24 /* SyntaxKind.DotToken */ ? undefined : node; } function parseLiteralTypeNode(negative) { var pos = getNodePos(); if (negative) { nextToken(); } - var expression = token() === 110 /* TrueKeyword */ || token() === 95 /* FalseKeyword */ || token() === 104 /* NullKeyword */ ? + var expression = token() === 110 /* SyntaxKind.TrueKeyword */ || token() === 95 /* SyntaxKind.FalseKeyword */ || token() === 104 /* SyntaxKind.NullKeyword */ ? parseTokenNode() : parseLiteralLikeNode(token()); if (negative) { - expression = finishNode(factory.createPrefixUnaryExpression(40 /* MinusToken */, expression), pos); + expression = finishNode(factory.createPrefixUnaryExpression(40 /* SyntaxKind.MinusToken */, expression), pos); } return finishNode(factory.createLiteralTypeNode(expression), pos); } function isStartOfTypeOfImportType() { nextToken(); - return token() === 100 /* ImportKeyword */; + return token() === 100 /* SyntaxKind.ImportKeyword */; } function parseImportTypeAssertions() { var pos = getNodePos(); var openBracePosition = scanner.getTokenPos(); - parseExpected(18 /* OpenBraceToken */); + parseExpected(18 /* SyntaxKind.OpenBraceToken */); var multiLine = scanner.hasPrecedingLineBreak(); - parseExpected(129 /* AssertKeyword */); - parseExpected(58 /* ColonToken */); + parseExpected(129 /* SyntaxKind.AssertKeyword */); + parseExpected(58 /* SyntaxKind.ColonToken */); var clause = parseAssertClause(/*skipAssertKeyword*/ true); - if (!parseExpected(19 /* CloseBraceToken */)) { + if (!parseExpected(19 /* SyntaxKind.CloseBraceToken */)) { var lastError = ts.lastOrUndefined(parseDiagnostics); if (lastError && lastError.code === ts.Diagnostics._0_expected.code) { ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")); @@ -33844,89 +33920,89 @@ var ts; return finishNode(factory.createImportTypeAssertionContainer(clause, multiLine), pos); } function parseImportType() { - sourceFlags |= 2097152 /* PossiblyContainsDynamicImport */; + sourceFlags |= 2097152 /* NodeFlags.PossiblyContainsDynamicImport */; var pos = getNodePos(); - var isTypeOf = parseOptional(112 /* TypeOfKeyword */); - parseExpected(100 /* ImportKeyword */); - parseExpected(20 /* OpenParenToken */); + var isTypeOf = parseOptional(112 /* SyntaxKind.TypeOfKeyword */); + parseExpected(100 /* SyntaxKind.ImportKeyword */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); var type = parseType(); var assertions; - if (parseOptional(27 /* CommaToken */)) { + if (parseOptional(27 /* SyntaxKind.CommaToken */)) { assertions = parseImportTypeAssertions(); } - parseExpected(21 /* CloseParenToken */); - var qualifier = parseOptional(24 /* DotToken */) ? parseEntityNameOfTypeReference() : undefined; + parseExpected(21 /* SyntaxKind.CloseParenToken */); + var qualifier = parseOptional(24 /* SyntaxKind.DotToken */) ? parseEntityNameOfTypeReference() : undefined; var typeArguments = parseTypeArgumentsOfTypeReference(); return finishNode(factory.createImportTypeNode(type, assertions, qualifier, typeArguments, isTypeOf), pos); } function nextTokenIsNumericOrBigIntLiteral() { nextToken(); - return token() === 8 /* NumericLiteral */ || token() === 9 /* BigIntLiteral */; + return token() === 8 /* SyntaxKind.NumericLiteral */ || token() === 9 /* SyntaxKind.BigIntLiteral */; } function parseNonArrayType() { switch (token()) { - case 130 /* AnyKeyword */: - case 155 /* UnknownKeyword */: - case 150 /* StringKeyword */: - case 147 /* NumberKeyword */: - case 158 /* BigIntKeyword */: - case 151 /* SymbolKeyword */: - case 133 /* BooleanKeyword */: - case 153 /* UndefinedKeyword */: - case 143 /* NeverKeyword */: - case 148 /* ObjectKeyword */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: // If these are followed by a dot, then parse these out as a dotted type reference instead. return tryParse(parseKeywordAndNoDot) || parseTypeReference(); - case 66 /* AsteriskEqualsToken */: + case 66 /* SyntaxKind.AsteriskEqualsToken */: // If there is '*=', treat it as * followed by postfix = scanner.reScanAsteriskEqualsToken(); // falls through - case 41 /* AsteriskToken */: + case 41 /* SyntaxKind.AsteriskToken */: return parseJSDocAllType(); - case 60 /* QuestionQuestionToken */: + case 60 /* SyntaxKind.QuestionQuestionToken */: // If there is '??', treat it as prefix-'?' in JSDoc type. scanner.reScanQuestionToken(); // falls through - case 57 /* QuestionToken */: + case 57 /* SyntaxKind.QuestionToken */: return parseJSDocUnknownOrNullableType(); - case 98 /* FunctionKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: return parseJSDocFunctionType(); - case 53 /* ExclamationToken */: + case 53 /* SyntaxKind.ExclamationToken */: return parseJSDocNonNullableType(); - case 14 /* NoSubstitutionTemplateLiteral */: - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 104 /* NullKeyword */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 104 /* SyntaxKind.NullKeyword */: return parseLiteralTypeNode(); - case 40 /* MinusToken */: + case 40 /* SyntaxKind.MinusToken */: return lookAhead(nextTokenIsNumericOrBigIntLiteral) ? parseLiteralTypeNode(/*negative*/ true) : parseTypeReference(); - case 114 /* VoidKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: return parseTokenNode(); - case 108 /* ThisKeyword */: { + case 108 /* SyntaxKind.ThisKeyword */: { var thisKeyword = parseThisTypeNode(); - if (token() === 139 /* IsKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 139 /* SyntaxKind.IsKeyword */ && !scanner.hasPrecedingLineBreak()) { return parseThisTypePredicate(thisKeyword); } else { return thisKeyword; } } - case 112 /* TypeOfKeyword */: + case 112 /* SyntaxKind.TypeOfKeyword */: return lookAhead(isStartOfTypeOfImportType) ? parseImportType() : parseTypeQuery(); - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: return lookAhead(isStartOfMappedType) ? parseMappedType() : parseTypeLiteral(); - case 22 /* OpenBracketToken */: + case 22 /* SyntaxKind.OpenBracketToken */: return parseTupleType(); - case 20 /* OpenParenToken */: + case 20 /* SyntaxKind.OpenParenToken */: return parseParenthesizedType(); - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: return parseImportType(); - case 128 /* AssertsKeyword */: + case 128 /* SyntaxKind.AssertsKeyword */: return lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine) ? parseAssertsTypePredicate() : parseTypeReference(); - case 15 /* TemplateHead */: + case 15 /* SyntaxKind.TemplateHead */: return parseTemplateType(); default: return parseTypeReference(); @@ -33934,48 +34010,48 @@ var ts; } function isStartOfType(inStartOfParameter) { switch (token()) { - case 130 /* AnyKeyword */: - case 155 /* UnknownKeyword */: - case 150 /* StringKeyword */: - case 147 /* NumberKeyword */: - case 158 /* BigIntKeyword */: - case 133 /* BooleanKeyword */: - case 145 /* ReadonlyKeyword */: - case 151 /* SymbolKeyword */: - case 154 /* UniqueKeyword */: - case 114 /* VoidKeyword */: - case 153 /* UndefinedKeyword */: - case 104 /* NullKeyword */: - case 108 /* ThisKeyword */: - case 112 /* TypeOfKeyword */: - case 143 /* NeverKeyword */: - case 18 /* OpenBraceToken */: - case 22 /* OpenBracketToken */: - case 29 /* LessThanToken */: - case 51 /* BarToken */: - case 50 /* AmpersandToken */: - case 103 /* NewKeyword */: - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 148 /* ObjectKeyword */: - case 41 /* AsteriskToken */: - case 57 /* QuestionToken */: - case 53 /* ExclamationToken */: - case 25 /* DotDotDotToken */: - case 137 /* InferKeyword */: - case 100 /* ImportKeyword */: - case 128 /* AssertsKeyword */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 15 /* TemplateHead */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 154 /* SyntaxKind.UniqueKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: + case 112 /* SyntaxKind.TypeOfKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 18 /* SyntaxKind.OpenBraceToken */: + case 22 /* SyntaxKind.OpenBracketToken */: + case 29 /* SyntaxKind.LessThanToken */: + case 51 /* SyntaxKind.BarToken */: + case 50 /* SyntaxKind.AmpersandToken */: + case 103 /* SyntaxKind.NewKeyword */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + case 41 /* SyntaxKind.AsteriskToken */: + case 57 /* SyntaxKind.QuestionToken */: + case 53 /* SyntaxKind.ExclamationToken */: + case 25 /* SyntaxKind.DotDotDotToken */: + case 137 /* SyntaxKind.InferKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: + case 128 /* SyntaxKind.AssertsKeyword */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 15 /* SyntaxKind.TemplateHead */: return true; - case 98 /* FunctionKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: return !inStartOfParameter; - case 40 /* MinusToken */: + case 40 /* SyntaxKind.MinusToken */: return !inStartOfParameter && lookAhead(nextTokenIsNumericOrBigIntLiteral); - case 20 /* OpenParenToken */: + case 20 /* SyntaxKind.OpenParenToken */: // Only consider '(' the start of a type if followed by ')', '...', an identifier, a modifier, // or something that starts a type. We don't want to consider things like '(1)' a type. return !inStartOfParameter && lookAhead(isStartOfParenthesizedOrFunctionType); @@ -33985,18 +34061,18 @@ var ts; } function isStartOfParenthesizedOrFunctionType() { nextToken(); - return token() === 21 /* CloseParenToken */ || isStartOfParameter(/*isJSDocParameter*/ false) || isStartOfType(); + return token() === 21 /* SyntaxKind.CloseParenToken */ || isStartOfParameter(/*isJSDocParameter*/ false) || isStartOfType(); } function parsePostfixTypeOrHigher() { var pos = getNodePos(); var type = parseNonArrayType(); while (!scanner.hasPrecedingLineBreak()) { switch (token()) { - case 53 /* ExclamationToken */: + case 53 /* SyntaxKind.ExclamationToken */: nextToken(); type = finishNode(factory.createJSDocNonNullableType(type, /*postfix*/ true), pos); break; - case 57 /* QuestionToken */: + case 57 /* SyntaxKind.QuestionToken */: // If next token is start of a type we have a conditional type if (lookAhead(nextTokenIsStartOfType)) { return type; @@ -34004,15 +34080,15 @@ var ts; nextToken(); type = finishNode(factory.createJSDocNullableType(type, /*postfix*/ true), pos); break; - case 22 /* OpenBracketToken */: - parseExpected(22 /* OpenBracketToken */); + case 22 /* SyntaxKind.OpenBracketToken */: + parseExpected(22 /* SyntaxKind.OpenBracketToken */); if (isStartOfType()) { var indexType = parseType(); - parseExpected(23 /* CloseBracketToken */); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); type = finishNode(factory.createIndexedAccessTypeNode(type, indexType), pos); } else { - parseExpected(23 /* CloseBracketToken */); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); type = finishNode(factory.createArrayTypeNode(type), pos); } break; @@ -34028,9 +34104,9 @@ var ts; return finishNode(factory.createTypeOperatorNode(operator, parseTypeOperatorOrHigher()), pos); } function tryParseConstraintOfInferType() { - if (parseOptional(94 /* ExtendsKeyword */)) { + if (parseOptional(94 /* SyntaxKind.ExtendsKeyword */)) { var constraint = disallowConditionalTypesAnd(parseType); - if (inDisallowConditionalTypesContext() || token() !== 57 /* QuestionToken */) { + if (inDisallowConditionalTypesContext() || token() !== 57 /* SyntaxKind.QuestionToken */) { return constraint; } } @@ -34044,17 +34120,17 @@ var ts; } function parseInferType() { var pos = getNodePos(); - parseExpected(137 /* InferKeyword */); + parseExpected(137 /* SyntaxKind.InferKeyword */); return finishNode(factory.createInferTypeNode(parseTypeParameterOfInferType()), pos); } function parseTypeOperatorOrHigher() { var operator = token(); switch (operator) { - case 140 /* KeyOfKeyword */: - case 154 /* UniqueKeyword */: - case 145 /* ReadonlyKeyword */: + case 140 /* SyntaxKind.KeyOfKeyword */: + case 154 /* SyntaxKind.UniqueKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: return parseTypeOperator(operator); - case 137 /* InferKeyword */: + case 137 /* SyntaxKind.InferKeyword */: return parseInferType(); } return allowConditionalTypesAnd(parsePostfixTypeOrHigher); @@ -34083,7 +34159,7 @@ var ts; } function parseUnionOrIntersectionType(operator, parseConstituentType, createTypeNode) { var pos = getNodePos(); - var isUnionType = operator === 51 /* BarToken */; + var isUnionType = operator === 51 /* SyntaxKind.BarToken */; var hasLeadingOperator = parseOptional(operator); var type = hasLeadingOperator && parseFunctionOrConstructorTypeToError(isUnionType) || parseConstituentType(); @@ -34097,35 +34173,35 @@ var ts; return type; } function parseIntersectionTypeOrHigher() { - return parseUnionOrIntersectionType(50 /* AmpersandToken */, parseTypeOperatorOrHigher, factory.createIntersectionTypeNode); + return parseUnionOrIntersectionType(50 /* SyntaxKind.AmpersandToken */, parseTypeOperatorOrHigher, factory.createIntersectionTypeNode); } function parseUnionTypeOrHigher() { - return parseUnionOrIntersectionType(51 /* BarToken */, parseIntersectionTypeOrHigher, factory.createUnionTypeNode); + return parseUnionOrIntersectionType(51 /* SyntaxKind.BarToken */, parseIntersectionTypeOrHigher, factory.createUnionTypeNode); } function nextTokenIsNewKeyword() { nextToken(); - return token() === 103 /* NewKeyword */; + return token() === 103 /* SyntaxKind.NewKeyword */; } function isStartOfFunctionTypeOrConstructorType() { - if (token() === 29 /* LessThanToken */) { + if (token() === 29 /* SyntaxKind.LessThanToken */) { return true; } - if (token() === 20 /* OpenParenToken */ && lookAhead(isUnambiguouslyStartOfFunctionType)) { + if (token() === 20 /* SyntaxKind.OpenParenToken */ && lookAhead(isUnambiguouslyStartOfFunctionType)) { return true; } - return token() === 103 /* NewKeyword */ || - token() === 126 /* AbstractKeyword */ && lookAhead(nextTokenIsNewKeyword); + return token() === 103 /* SyntaxKind.NewKeyword */ || + token() === 126 /* SyntaxKind.AbstractKeyword */ && lookAhead(nextTokenIsNewKeyword); } function skipParameterStart() { if (ts.isModifierKind(token())) { // Skip modifiers parseModifiers(); } - if (isIdentifier() || token() === 108 /* ThisKeyword */) { + if (isIdentifier() || token() === 108 /* SyntaxKind.ThisKeyword */) { nextToken(); return true; } - if (token() === 22 /* OpenBracketToken */ || token() === 18 /* OpenBraceToken */) { + if (token() === 22 /* SyntaxKind.OpenBracketToken */ || token() === 18 /* SyntaxKind.OpenBraceToken */) { // Return true if we can parse an array or object binding pattern with no errors var previousErrorCount = parseDiagnostics.length; parseIdentifierOrPattern(); @@ -34135,7 +34211,7 @@ var ts; } function isUnambiguouslyStartOfFunctionType() { nextToken(); - if (token() === 21 /* CloseParenToken */ || token() === 25 /* DotDotDotToken */) { + if (token() === 21 /* SyntaxKind.CloseParenToken */ || token() === 25 /* SyntaxKind.DotDotDotToken */) { // ( ) // ( ... return true; @@ -34143,17 +34219,17 @@ var ts; if (skipParameterStart()) { // We successfully skipped modifiers (if any) and an identifier or binding pattern, // now see if we have something that indicates a parameter declaration - if (token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || - token() === 57 /* QuestionToken */ || token() === 63 /* EqualsToken */) { + if (token() === 58 /* SyntaxKind.ColonToken */ || token() === 27 /* SyntaxKind.CommaToken */ || + token() === 57 /* SyntaxKind.QuestionToken */ || token() === 63 /* SyntaxKind.EqualsToken */) { // ( xxx : // ( xxx , // ( xxx ? // ( xxx = return true; } - if (token() === 21 /* CloseParenToken */) { + if (token() === 21 /* SyntaxKind.CloseParenToken */) { nextToken(); - if (token() === 38 /* EqualsGreaterThanToken */) { + if (token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { // ( xxx ) => return true; } @@ -34174,65 +34250,65 @@ var ts; } function parseTypePredicatePrefix() { var id = parseIdentifier(); - if (token() === 139 /* IsKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 139 /* SyntaxKind.IsKeyword */ && !scanner.hasPrecedingLineBreak()) { nextToken(); return id; } } function parseAssertsTypePredicate() { var pos = getNodePos(); - var assertsModifier = parseExpectedToken(128 /* AssertsKeyword */); - var parameterName = token() === 108 /* ThisKeyword */ ? parseThisTypeNode() : parseIdentifier(); - var type = parseOptional(139 /* IsKeyword */) ? parseType() : undefined; + var assertsModifier = parseExpectedToken(128 /* SyntaxKind.AssertsKeyword */); + var parameterName = token() === 108 /* SyntaxKind.ThisKeyword */ ? parseThisTypeNode() : parseIdentifier(); + var type = parseOptional(139 /* SyntaxKind.IsKeyword */) ? parseType() : undefined; return finishNode(factory.createTypePredicateNode(assertsModifier, parameterName, type), pos); } function parseType() { - if (contextFlags & 40960 /* TypeExcludesFlags */) { - return doOutsideOfContext(40960 /* TypeExcludesFlags */, parseType); + if (contextFlags & 40960 /* NodeFlags.TypeExcludesFlags */) { + return doOutsideOfContext(40960 /* NodeFlags.TypeExcludesFlags */, parseType); } if (isStartOfFunctionTypeOrConstructorType()) { return parseFunctionOrConstructorType(); } var pos = getNodePos(); var type = parseUnionTypeOrHigher(); - if (!inDisallowConditionalTypesContext() && !scanner.hasPrecedingLineBreak() && parseOptional(94 /* ExtendsKeyword */)) { + if (!inDisallowConditionalTypesContext() && !scanner.hasPrecedingLineBreak() && parseOptional(94 /* SyntaxKind.ExtendsKeyword */)) { // The type following 'extends' is not permitted to be another conditional type var extendsType = disallowConditionalTypesAnd(parseType); - parseExpected(57 /* QuestionToken */); + parseExpected(57 /* SyntaxKind.QuestionToken */); var trueType = allowConditionalTypesAnd(parseType); - parseExpected(58 /* ColonToken */); + parseExpected(58 /* SyntaxKind.ColonToken */); var falseType = allowConditionalTypesAnd(parseType); return finishNode(factory.createConditionalTypeNode(type, extendsType, trueType, falseType), pos); } return type; } function parseTypeAnnotation() { - return parseOptional(58 /* ColonToken */) ? parseType() : undefined; + return parseOptional(58 /* SyntaxKind.ColonToken */) ? parseType() : undefined; } // EXPRESSIONS function isStartOfLeftHandSideExpression() { switch (token()) { - case 108 /* ThisKeyword */: - case 106 /* SuperKeyword */: - case 104 /* NullKeyword */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 15 /* TemplateHead */: - case 20 /* OpenParenToken */: - case 22 /* OpenBracketToken */: - case 18 /* OpenBraceToken */: - case 98 /* FunctionKeyword */: - case 84 /* ClassKeyword */: - case 103 /* NewKeyword */: - case 43 /* SlashToken */: - case 68 /* SlashEqualsToken */: - case 79 /* Identifier */: + case 108 /* SyntaxKind.ThisKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 15 /* SyntaxKind.TemplateHead */: + case 20 /* SyntaxKind.OpenParenToken */: + case 22 /* SyntaxKind.OpenBracketToken */: + case 18 /* SyntaxKind.OpenBraceToken */: + case 98 /* SyntaxKind.FunctionKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: + case 103 /* SyntaxKind.NewKeyword */: + case 43 /* SyntaxKind.SlashToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + case 79 /* SyntaxKind.Identifier */: return true; - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: return lookAhead(nextTokenIsOpenParenOrLessThanOrDot); default: return isIdentifier(); @@ -34243,19 +34319,19 @@ var ts; return true; } switch (token()) { - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: - case 53 /* ExclamationToken */: - case 89 /* DeleteKeyword */: - case 112 /* TypeOfKeyword */: - case 114 /* VoidKeyword */: - case 45 /* PlusPlusToken */: - case 46 /* MinusMinusToken */: - case 29 /* LessThanToken */: - case 132 /* AwaitKeyword */: - case 125 /* YieldKeyword */: - case 80 /* PrivateIdentifier */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: + case 53 /* SyntaxKind.ExclamationToken */: + case 89 /* SyntaxKind.DeleteKeyword */: + case 112 /* SyntaxKind.TypeOfKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 45 /* SyntaxKind.PlusPlusToken */: + case 46 /* SyntaxKind.MinusMinusToken */: + case 29 /* SyntaxKind.LessThanToken */: + case 132 /* SyntaxKind.AwaitKeyword */: + case 125 /* SyntaxKind.YieldKeyword */: + case 80 /* SyntaxKind.PrivateIdentifier */: // Yield/await always starts an expression. Either it is an identifier (in which case // it is definitely an expression). Or it's a keyword (either because we're in // a generator or async function, or in strict mode (or both)) and it started a yield or await expression. @@ -34273,10 +34349,10 @@ var ts; } function isStartOfExpressionStatement() { // As per the grammar, none of '{' or 'function' or 'class' can start an expression statement. - return token() !== 18 /* OpenBraceToken */ && - token() !== 98 /* FunctionKeyword */ && - token() !== 84 /* ClassKeyword */ && - token() !== 59 /* AtToken */ && + return token() !== 18 /* SyntaxKind.OpenBraceToken */ && + token() !== 98 /* SyntaxKind.FunctionKeyword */ && + token() !== 84 /* SyntaxKind.ClassKeyword */ && + token() !== 59 /* SyntaxKind.AtToken */ && isStartOfExpression(); } function parseExpression() { @@ -34289,10 +34365,10 @@ var ts; setDecoratorContext(/*val*/ false); } var pos = getNodePos(); - var expr = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); + var expr = parseAssignmentExpressionOrHigher(); var operatorToken; - while ((operatorToken = parseOptionalToken(27 /* CommaToken */))) { - expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false), pos); + while ((operatorToken = parseOptionalToken(27 /* SyntaxKind.CommaToken */))) { + expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(), pos); } if (saveDecoratorContext) { setDecoratorContext(/*val*/ true); @@ -34300,9 +34376,9 @@ var ts; return expr; } function parseInitializer() { - return parseOptional(63 /* EqualsToken */) ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false) : undefined; + return parseOptional(63 /* SyntaxKind.EqualsToken */) ? parseAssignmentExpressionOrHigher() : undefined; } - function parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction) { + function parseAssignmentExpressionOrHigher() { // AssignmentExpression[in,yield]: // 1) ConditionalExpression[?in,?yield] // 2) LeftHandSideExpression = AssignmentExpression[?in,?yield] @@ -34328,7 +34404,7 @@ var ts; // If we do successfully parse arrow-function, we must *not* recurse for productions 1, 2 or 3. An ArrowFunction is // not a LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done // with AssignmentExpression if we see one. - var arrowExpression = tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) || tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction); + var arrowExpression = tryParseParenthesizedArrowFunctionExpression() || tryParseAsyncSimpleArrowFunctionExpression(); if (arrowExpression) { return arrowExpression; } @@ -34342,12 +34418,12 @@ var ts; // binary expression here, so we pass in the 'lowest' precedence here so that it matches // and consumes anything. var pos = getNodePos(); - var expr = parseBinaryExpressionOrHigher(0 /* Lowest */); + var expr = parseBinaryExpressionOrHigher(0 /* OperatorPrecedence.Lowest */); // To avoid a look-ahead, we did not handle the case of an arrow function with a single un-parenthesized // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single // identifier and the current token is an arrow. - if (expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) { - return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, /*asyncModifier*/ undefined); + if (expr.kind === 79 /* SyntaxKind.Identifier */ && token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { + return parseSimpleArrowFunctionExpression(pos, expr, /*asyncModifier*/ undefined); } // Now see if we might be in cases '2' or '3'. // If the expression was a LHS expression, and we have an assignment operator, then @@ -34356,13 +34432,13 @@ var ts; // Note: we call reScanGreaterToken so that we get an appropriately merged token // for cases like `> > =` becoming `>>=` if (ts.isLeftHandSideExpression(expr) && ts.isAssignmentOperator(reScanGreaterToken())) { - return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction), pos); + return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(), pos); } // It wasn't an assignment or a lambda. This is a conditional expression: return parseConditionalExpressionRest(expr, pos); } function isYieldExpression() { - if (token() === 125 /* YieldKeyword */) { + if (token() === 125 /* SyntaxKind.YieldKeyword */) { // If we have a 'yield' keyword, and this is a context where yield expressions are // allowed, then definitely parse out a yield expression. if (inYieldContext()) { @@ -34398,8 +34474,8 @@ var ts; // yield [no LineTerminator here] * [Lexical goal InputElementRegExp]AssignmentExpression[?In, Yield] nextToken(); if (!scanner.hasPrecedingLineBreak() && - (token() === 41 /* AsteriskToken */ || isStartOfExpression())) { - return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* AsteriskToken */), parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false)), pos); + (token() === 41 /* SyntaxKind.AsteriskToken */ || isStartOfExpression())) { + return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* SyntaxKind.AsteriskToken */), parseAssignmentExpressionOrHigher()), pos); } else { // if the next token is not on the same line as yield. or we don't have an '*' or @@ -34407,8 +34483,8 @@ var ts; return finishNode(factory.createYieldExpression(/*asteriskToken*/ undefined, /*expression*/ undefined), pos); } } - function parseSimpleArrowFunctionExpression(pos, identifier, disallowReturnTypeInArrowFunction, asyncModifier) { - ts.Debug.assert(token() === 38 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); + function parseSimpleArrowFunctionExpression(pos, identifier, asyncModifier) { + ts.Debug.assert(token() === 38 /* SyntaxKind.EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var parameter = factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, @@ -34418,14 +34494,14 @@ var ts; /*initializer*/ undefined); finishNode(parameter, identifier.pos); var parameters = createNodeArray([parameter], parameter.pos, parameter.end); - var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */); - var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier, disallowReturnTypeInArrowFunction); + var equalsGreaterThanToken = parseExpectedToken(38 /* SyntaxKind.EqualsGreaterThanToken */); + var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier); var node = factory.createArrowFunction(asyncModifier, /*typeParameters*/ undefined, parameters, /*type*/ undefined, equalsGreaterThanToken, body); return addJSDocComment(finishNode(node, pos)); } - function tryParseParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) { + function tryParseParenthesizedArrowFunctionExpression() { var triState = isParenthesizedArrowFunctionExpression(); - if (triState === 0 /* False */) { + if (triState === 0 /* Tristate.False */) { // It's definitely not a parenthesized arrow function expression. return undefined; } @@ -34433,53 +34509,53 @@ var ts; // following => or { token. Otherwise, we *might* have an arrow function. Try to parse // it out, but don't allow any ambiguity, and return 'undefined' if this could be an // expression instead. - return triState === 1 /* True */ ? - parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true, /*disallowReturnTypeInArrowFunction*/ false) : - tryParse(function () { return parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction); }); + return triState === 1 /* Tristate.True */ ? + parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true) : + tryParse(parsePossibleParenthesizedArrowFunctionExpression); } // True -> We definitely expect a parenthesized arrow function here. // False -> There *cannot* be a parenthesized arrow function here. // Unknown -> There *might* be a parenthesized arrow function here. // Speculatively look ahead to be sure, and rollback if not. function isParenthesizedArrowFunctionExpression() { - if (token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */ || token() === 131 /* AsyncKeyword */) { + if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */ || token() === 131 /* SyntaxKind.AsyncKeyword */) { return lookAhead(isParenthesizedArrowFunctionExpressionWorker); } - if (token() === 38 /* EqualsGreaterThanToken */) { + if (token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { // ERROR RECOVERY TWEAK: // If we see a standalone => try to parse it as an arrow function expression as that's // likely what the user intended to write. - return 1 /* True */; + return 1 /* Tristate.True */; } // Definitely not a parenthesized arrow function. - return 0 /* False */; + return 0 /* Tristate.False */; } function isParenthesizedArrowFunctionExpressionWorker() { - if (token() === 131 /* AsyncKeyword */) { + if (token() === 131 /* SyntaxKind.AsyncKeyword */) { nextToken(); if (scanner.hasPrecedingLineBreak()) { - return 0 /* False */; + return 0 /* Tristate.False */; } - if (token() !== 20 /* OpenParenToken */ && token() !== 29 /* LessThanToken */) { - return 0 /* False */; + if (token() !== 20 /* SyntaxKind.OpenParenToken */ && token() !== 29 /* SyntaxKind.LessThanToken */) { + return 0 /* Tristate.False */; } } var first = token(); var second = nextToken(); - if (first === 20 /* OpenParenToken */) { - if (second === 21 /* CloseParenToken */) { + if (first === 20 /* SyntaxKind.OpenParenToken */) { + if (second === 21 /* SyntaxKind.CloseParenToken */) { // Simple cases: "() =>", "(): ", and "() {". // This is an arrow function with no parameters. // The last one is not actually an arrow function, // but this is probably what the user intended. var third = nextToken(); switch (third) { - case 38 /* EqualsGreaterThanToken */: - case 58 /* ColonToken */: - case 18 /* OpenBraceToken */: - return 1 /* True */; + case 38 /* SyntaxKind.EqualsGreaterThanToken */: + case 58 /* SyntaxKind.ColonToken */: + case 18 /* SyntaxKind.OpenBraceToken */: + return 1 /* Tristate.True */; default: - return 0 /* False */; + return 0 /* Tristate.False */; } } // If encounter "([" or "({", this could be the start of a binding pattern. @@ -34488,102 +34564,106 @@ var ts; // ({ x }) => { } // ([ x ]) // ({ x }) - if (second === 22 /* OpenBracketToken */ || second === 18 /* OpenBraceToken */) { - return 2 /* Unknown */; + if (second === 22 /* SyntaxKind.OpenBracketToken */ || second === 18 /* SyntaxKind.OpenBraceToken */) { + return 2 /* Tristate.Unknown */; } // Simple case: "(..." // This is an arrow function with a rest parameter. - if (second === 25 /* DotDotDotToken */) { - return 1 /* True */; + if (second === 25 /* SyntaxKind.DotDotDotToken */) { + return 1 /* Tristate.True */; } // Check for "(xxx yyy", where xxx is a modifier and yyy is an identifier. This // isn't actually allowed, but we want to treat it as a lambda so we can provide // a good error message. - if (ts.isModifierKind(second) && second !== 131 /* AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) { - return 1 /* True */; + if (ts.isModifierKind(second) && second !== 131 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) { + if (lookAhead(function () { return nextToken() === 127 /* SyntaxKind.AsKeyword */; })) { + // https://github.com/microsoft/TypeScript/issues/44466 + return 0 /* Tristate.False */; + } + return 1 /* Tristate.True */; } // If we had "(" followed by something that's not an identifier, // then this definitely doesn't look like a lambda. "this" is not // valid, but we want to parse it and then give a semantic error. - if (!isIdentifier() && second !== 108 /* ThisKeyword */) { - return 0 /* False */; + if (!isIdentifier() && second !== 108 /* SyntaxKind.ThisKeyword */) { + return 0 /* Tristate.False */; } switch (nextToken()) { - case 58 /* ColonToken */: + case 58 /* SyntaxKind.ColonToken */: // If we have something like "(a:", then we must have a // type-annotated parameter in an arrow function expression. - return 1 /* True */; - case 57 /* QuestionToken */: + return 1 /* Tristate.True */; + case 57 /* SyntaxKind.QuestionToken */: nextToken(); // If we have "(a?:" or "(a?," or "(a?=" or "(a?)" then it is definitely a lambda. - if (token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 63 /* EqualsToken */ || token() === 21 /* CloseParenToken */) { - return 1 /* True */; + if (token() === 58 /* SyntaxKind.ColonToken */ || token() === 27 /* SyntaxKind.CommaToken */ || token() === 63 /* SyntaxKind.EqualsToken */ || token() === 21 /* SyntaxKind.CloseParenToken */) { + return 1 /* Tristate.True */; } // Otherwise it is definitely not a lambda. - return 0 /* False */; - case 27 /* CommaToken */: - case 63 /* EqualsToken */: - case 21 /* CloseParenToken */: + return 0 /* Tristate.False */; + case 27 /* SyntaxKind.CommaToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 21 /* SyntaxKind.CloseParenToken */: // If we have "(a," or "(a=" or "(a)" this *could* be an arrow function - return 2 /* Unknown */; + return 2 /* Tristate.Unknown */; } // It is definitely not an arrow function - return 0 /* False */; + return 0 /* Tristate.False */; } else { - ts.Debug.assert(first === 29 /* LessThanToken */); + ts.Debug.assert(first === 29 /* SyntaxKind.LessThanToken */); // If we have "<" not followed by an identifier, // then this definitely is not an arrow function. if (!isIdentifier()) { - return 0 /* False */; + return 0 /* Tristate.False */; } // JSX overrides - if (languageVariant === 1 /* JSX */) { + if (languageVariant === 1 /* LanguageVariant.JSX */) { var isArrowFunctionInJsx = lookAhead(function () { var third = nextToken(); - if (third === 94 /* ExtendsKeyword */) { + if (third === 94 /* SyntaxKind.ExtendsKeyword */) { var fourth = nextToken(); switch (fourth) { - case 63 /* EqualsToken */: - case 31 /* GreaterThanToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 31 /* SyntaxKind.GreaterThanToken */: return false; default: return true; } } - else if (third === 27 /* CommaToken */ || third === 63 /* EqualsToken */) { + else if (third === 27 /* SyntaxKind.CommaToken */ || third === 63 /* SyntaxKind.EqualsToken */) { return true; } return false; }); if (isArrowFunctionInJsx) { - return 1 /* True */; + return 1 /* Tristate.True */; } - return 0 /* False */; + return 0 /* Tristate.False */; } // This *could* be a parenthesized arrow function. - return 2 /* Unknown */; + return 2 /* Tristate.Unknown */; } } - function parsePossibleParenthesizedArrowFunctionExpression(disallowReturnTypeInArrowFunction) { + function parsePossibleParenthesizedArrowFunctionExpression() { var tokenPos = scanner.getTokenPos(); if (notParenthesizedArrow === null || notParenthesizedArrow === void 0 ? void 0 : notParenthesizedArrow.has(tokenPos)) { return undefined; } - var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false, disallowReturnTypeInArrowFunction); + var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false); if (!result) { (notParenthesizedArrow || (notParenthesizedArrow = new ts.Set())).add(tokenPos); } return result; } - function tryParseAsyncSimpleArrowFunctionExpression(disallowReturnTypeInArrowFunction) { + function tryParseAsyncSimpleArrowFunctionExpression() { // We do a check here so that we won't be doing unnecessarily call to "lookAhead" - if (token() === 131 /* AsyncKeyword */) { - if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) { + if (token() === 131 /* SyntaxKind.AsyncKeyword */) { + if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* Tristate.True */) { var pos = getNodePos(); var asyncModifier = parseModifiersForArrowFunction(); - var expr = parseBinaryExpressionOrHigher(0 /* Lowest */); - return parseSimpleArrowFunctionExpression(pos, expr, disallowReturnTypeInArrowFunction, asyncModifier); + var expr = parseBinaryExpressionOrHigher(0 /* OperatorPrecedence.Lowest */); + return parseSimpleArrowFunctionExpression(pos, expr, asyncModifier); } } return undefined; @@ -34592,26 +34672,26 @@ var ts; // AsyncArrowFunctionExpression: // 1) async[no LineTerminator here]AsyncArrowBindingIdentifier[?Yield][no LineTerminator here]=>AsyncConciseBody[?In] // 2) CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await][no LineTerminator here]=>AsyncConciseBody[?In] - if (token() === 131 /* AsyncKeyword */) { + if (token() === 131 /* SyntaxKind.AsyncKeyword */) { nextToken(); // If the "async" is followed by "=>" token then it is not a beginning of an async arrow-function // but instead a simple arrow-function which will be parsed inside "parseAssignmentExpressionOrHigher" - if (scanner.hasPrecedingLineBreak() || token() === 38 /* EqualsGreaterThanToken */) { - return 0 /* False */; + if (scanner.hasPrecedingLineBreak() || token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { + return 0 /* Tristate.False */; } // Check for un-parenthesized AsyncArrowFunction - var expr = parseBinaryExpressionOrHigher(0 /* Lowest */); - if (!scanner.hasPrecedingLineBreak() && expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) { - return 1 /* True */; + var expr = parseBinaryExpressionOrHigher(0 /* OperatorPrecedence.Lowest */); + if (!scanner.hasPrecedingLineBreak() && expr.kind === 79 /* SyntaxKind.Identifier */ && token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { + return 1 /* Tristate.True */; } } - return 0 /* False */; + return 0 /* Tristate.False */; } - function parseParenthesizedArrowFunctionExpression(allowAmbiguity, disallowReturnTypeInArrowFunction) { + function parseParenthesizedArrowFunctionExpression(allowAmbiguity) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiersForArrowFunction(); - var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* Await */ : 0 /* None */; + var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; // Arrow functions are never generators. // // If we're speculatively parsing a signature for a parenthesized arrow function, then @@ -34621,7 +34701,7 @@ var ts; // close paren. var typeParameters = parseTypeParameters(); var parameters; - if (!parseExpected(20 /* OpenParenToken */)) { + if (!parseExpected(20 /* SyntaxKind.OpenParenToken */)) { if (!allowAmbiguity) { return undefined; } @@ -34638,28 +34718,11 @@ var ts; else { parameters = parseParametersWorker(isAsync, allowAmbiguity); } - if (!parseExpected(21 /* CloseParenToken */) && !allowAmbiguity) { + if (!parseExpected(21 /* SyntaxKind.CloseParenToken */) && !allowAmbiguity) { return undefined; } } - // Given: - // x ? y => ({ y }) : z => ({ z }) - // We try to parse the body of the first arrow function by looking at: - // ({ y }) : z => ({ z }) - // This is a valid arrow function with "z" as the return type. - // - // But, if we're in the true side of a conditional expression, this colon - // terminates the expression, so we cannot allow a return type if we aren't - // certain whether or not the preceding text was parsed as a parameter list. - // - // For example, - // a() ? (b: number, c?: string): void => d() : e - // is determined by isParenthesizedArrowFunctionExpression to unambiguously - // be an arrow expression, so we allow a return type. - if (disallowReturnTypeInArrowFunction && token() === 58 /* ColonToken */) { - return undefined; - } - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); if (type && !allowAmbiguity && typeHasArrowFunctionBlockingParseError(type)) { return undefined; } @@ -34674,31 +34737,31 @@ var ts; // // So we need just a bit of lookahead to ensure that it can only be a signature. var unwrappedType = type; - while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 191 /* ParenthesizedType */) { + while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 191 /* SyntaxKind.ParenthesizedType */) { unwrappedType = unwrappedType.type; // Skip parens if need be } var hasJSDocFunctionType = unwrappedType && ts.isJSDocFunctionType(unwrappedType); - if (!allowAmbiguity && token() !== 38 /* EqualsGreaterThanToken */ && (hasJSDocFunctionType || token() !== 18 /* OpenBraceToken */)) { + if (!allowAmbiguity && token() !== 38 /* SyntaxKind.EqualsGreaterThanToken */ && (hasJSDocFunctionType || token() !== 18 /* SyntaxKind.OpenBraceToken */)) { // Returning undefined here will cause our caller to rewind to where we started from. return undefined; } // If we have an arrow, then try to parse the body. Even if not, try to parse if we // have an opening brace, just in case we're in an error state. var lastToken = token(); - var equalsGreaterThanToken = parseExpectedToken(38 /* EqualsGreaterThanToken */); - var body = (lastToken === 38 /* EqualsGreaterThanToken */ || lastToken === 18 /* OpenBraceToken */) - ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier), disallowReturnTypeInArrowFunction) + var equalsGreaterThanToken = parseExpectedToken(38 /* SyntaxKind.EqualsGreaterThanToken */); + var body = (lastToken === 38 /* SyntaxKind.EqualsGreaterThanToken */ || lastToken === 18 /* SyntaxKind.OpenBraceToken */) + ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier)) : parseIdentifier(); var node = factory.createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body); return withJSDoc(finishNode(node, pos), hasJSDoc); } - function parseArrowFunctionExpressionBody(isAsync, disallowReturnTypeInArrowFunction) { - if (token() === 18 /* OpenBraceToken */) { - return parseFunctionBlock(isAsync ? 2 /* Await */ : 0 /* None */); + function parseArrowFunctionExpressionBody(isAsync) { + if (token() === 18 /* SyntaxKind.OpenBraceToken */) { + return parseFunctionBlock(isAsync ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */); } - if (token() !== 26 /* SemicolonToken */ && - token() !== 98 /* FunctionKeyword */ && - token() !== 84 /* ClassKeyword */ && + if (token() !== 26 /* SyntaxKind.SemicolonToken */ && + token() !== 98 /* SyntaxKind.FunctionKeyword */ && + token() !== 84 /* SyntaxKind.ClassKeyword */ && isStartOfStatement() && !isStartOfExpressionStatement()) { // Check if we got a plain statement (i.e. no expression-statements, no function/class expressions/declarations) @@ -34715,28 +34778,28 @@ var ts; // up preemptively closing the containing construct. // // Note: even when 'IgnoreMissingOpenBrace' is passed, parseBody will still error. - return parseFunctionBlock(16 /* IgnoreMissingOpenBrace */ | (isAsync ? 2 /* Await */ : 0 /* None */)); + return parseFunctionBlock(16 /* SignatureFlags.IgnoreMissingOpenBrace */ | (isAsync ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */)); } var savedTopLevel = topLevel; topLevel = false; var node = isAsync - ? doInAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); }) - : doOutsideOfAwaitContext(function () { return parseAssignmentExpressionOrHigher(disallowReturnTypeInArrowFunction); }); + ? doInAwaitContext(parseAssignmentExpressionOrHigher) + : doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher); topLevel = savedTopLevel; return node; } function parseConditionalExpressionRest(leftOperand, pos) { // Note: we are passed in an expression which was produced from parseBinaryExpressionOrHigher. - var questionToken = parseOptionalToken(57 /* QuestionToken */); + var questionToken = parseOptionalToken(57 /* SyntaxKind.QuestionToken */); if (!questionToken) { return leftOperand; } // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and // we do not that for the 'whenFalse' part. var colonToken; - return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true); }), colonToken = parseExpectedToken(58 /* ColonToken */), ts.nodeIsPresent(colonToken) - ? parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ true) - : createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics._0_expected, ts.tokenToString(58 /* ColonToken */))), pos); + return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher), colonToken = parseExpectedToken(58 /* SyntaxKind.ColonToken */), ts.nodeIsPresent(colonToken) + ? parseAssignmentExpressionOrHigher() + : createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics._0_expected, ts.tokenToString(58 /* SyntaxKind.ColonToken */))), pos); } function parseBinaryExpressionOrHigher(precedence) { var pos = getNodePos(); @@ -34744,7 +34807,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand, pos); } function isInOrOfKeyword(t) { - return t === 101 /* InKeyword */ || t === 160 /* OfKeyword */; + return t === 101 /* SyntaxKind.InKeyword */ || t === 160 /* SyntaxKind.OfKeyword */; } function parseBinaryExpressionRest(precedence, leftOperand, pos) { while (true) { @@ -34773,16 +34836,16 @@ var ts; // ^^token; leftOperand = b. Return b ** c to the caller as a rightOperand // a ** b - c // ^token; leftOperand = b. Return b to the caller as a rightOperand - var consumeCurrentOperator = token() === 42 /* AsteriskAsteriskToken */ ? + var consumeCurrentOperator = token() === 42 /* SyntaxKind.AsteriskAsteriskToken */ ? newPrecedence >= precedence : newPrecedence > precedence; if (!consumeCurrentOperator) { break; } - if (token() === 101 /* InKeyword */ && inDisallowInContext()) { + if (token() === 101 /* SyntaxKind.InKeyword */ && inDisallowInContext()) { break; } - if (token() === 127 /* AsKeyword */) { + if (token() === 127 /* SyntaxKind.AsKeyword */) { // Make sure we *do* perform ASI for constructs like this: // var x = foo // as (Bar) @@ -34803,7 +34866,7 @@ var ts; return leftOperand; } function isBinaryOperator() { - if (inDisallowInContext() && token() === 101 /* InKeyword */) { + if (inDisallowInContext() && token() === 101 /* SyntaxKind.InKeyword */) { return false; } return ts.getBinaryOperatorPrecedence(token()) > 0; @@ -34831,7 +34894,7 @@ var ts; return finishNode(factory.createVoidExpression(nextTokenAnd(parseSimpleUnaryExpression)), pos); } function isAwaitExpression() { - if (token() === 132 /* AwaitKeyword */) { + if (token() === 132 /* SyntaxKind.AwaitKeyword */) { if (inAwaitContext()) { return true; } @@ -34864,7 +34927,7 @@ var ts; if (isUpdateExpression()) { var pos = getNodePos(); var updateExpression = parseUpdateExpression(); - return token() === 42 /* AsteriskAsteriskToken */ ? + return token() === 42 /* SyntaxKind.AsteriskAsteriskToken */ ? parseBinaryExpressionRest(ts.getBinaryOperatorPrecedence(token()), updateExpression, pos) : updateExpression; } @@ -34881,10 +34944,10 @@ var ts; */ var unaryOperator = token(); var simpleUnaryExpression = parseSimpleUnaryExpression(); - if (token() === 42 /* AsteriskAsteriskToken */) { + if (token() === 42 /* SyntaxKind.AsteriskAsteriskToken */) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 211 /* TypeAssertionExpression */) { + if (simpleUnaryExpression.kind === 211 /* SyntaxKind.TypeAssertionExpression */) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -34909,23 +34972,23 @@ var ts; */ function parseSimpleUnaryExpression() { switch (token()) { - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: - case 53 /* ExclamationToken */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: + case 53 /* SyntaxKind.ExclamationToken */: return parsePrefixUnaryExpression(); - case 89 /* DeleteKeyword */: + case 89 /* SyntaxKind.DeleteKeyword */: return parseDeleteExpression(); - case 112 /* TypeOfKeyword */: + case 112 /* SyntaxKind.TypeOfKeyword */: return parseTypeOfExpression(); - case 114 /* VoidKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: return parseVoidExpression(); - case 29 /* LessThanToken */: + case 29 /* SyntaxKind.LessThanToken */: // This is modified UnaryExpression grammar in TypeScript // UnaryExpression (modified): // < type > UnaryExpression return parseTypeAssertion(); - case 132 /* AwaitKeyword */: + case 132 /* SyntaxKind.AwaitKeyword */: if (isAwaitExpression()) { return parseAwaitExpression(); } @@ -34948,18 +35011,18 @@ var ts; // This function is called inside parseUnaryExpression to decide // whether to call parseSimpleUnaryExpression or call parseUpdateExpression directly switch (token()) { - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: - case 53 /* ExclamationToken */: - case 89 /* DeleteKeyword */: - case 112 /* TypeOfKeyword */: - case 114 /* VoidKeyword */: - case 132 /* AwaitKeyword */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: + case 53 /* SyntaxKind.ExclamationToken */: + case 89 /* SyntaxKind.DeleteKeyword */: + case 112 /* SyntaxKind.TypeOfKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 132 /* SyntaxKind.AwaitKeyword */: return false; - case 29 /* LessThanToken */: + case 29 /* SyntaxKind.LessThanToken */: // If we are not in JSX context, we are parsing TypeAssertion which is an UnaryExpression - if (languageVariant !== 1 /* JSX */) { + if (languageVariant !== 1 /* LanguageVariant.JSX */) { return false; } // We are in JSX context and the token is part of JSXElement. @@ -34980,17 +35043,17 @@ var ts; * In TypeScript (2), (3) are parsed as PostfixUnaryExpression. (4), (5) are parsed as PrefixUnaryExpression */ function parseUpdateExpression() { - if (token() === 45 /* PlusPlusToken */ || token() === 46 /* MinusMinusToken */) { + if (token() === 45 /* SyntaxKind.PlusPlusToken */ || token() === 46 /* SyntaxKind.MinusMinusToken */) { var pos = getNodePos(); return finishNode(factory.createPrefixUnaryExpression(token(), nextTokenAnd(parseLeftHandSideExpressionOrHigher)), pos); } - else if (languageVariant === 1 /* JSX */ && token() === 29 /* LessThanToken */ && lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan)) { + else if (languageVariant === 1 /* LanguageVariant.JSX */ && token() === 29 /* SyntaxKind.LessThanToken */ && lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan)) { // JSXElement is part of primaryExpression return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true); } var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(ts.isLeftHandSideExpression(expression)); - if ((token() === 45 /* PlusPlusToken */ || token() === 46 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { + if ((token() === 45 /* SyntaxKind.PlusPlusToken */ || token() === 46 /* SyntaxKind.MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { var operator = token(); nextToken(); return finishNode(factory.createPostfixUnaryExpression(expression, operator), expression.pos); @@ -35031,29 +35094,29 @@ var ts; // or starts the beginning of the first four CallExpression productions. var pos = getNodePos(); var expression; - if (token() === 100 /* ImportKeyword */) { + if (token() === 100 /* SyntaxKind.ImportKeyword */) { if (lookAhead(nextTokenIsOpenParenOrLessThan)) { // We don't want to eagerly consume all import keyword as import call expression so we look ahead to find "(" // For example: // var foo3 = require("subfolder // import * as foo1 from "module-from-node // We want this import to be a statement rather than import call expression - sourceFlags |= 2097152 /* PossiblyContainsDynamicImport */; + sourceFlags |= 2097152 /* NodeFlags.PossiblyContainsDynamicImport */; expression = parseTokenNode(); } else if (lookAhead(nextTokenIsDot)) { // This is an 'import.*' metaproperty (i.e. 'import.meta') nextToken(); // advance past the 'import' nextToken(); // advance past the dot - expression = finishNode(factory.createMetaProperty(100 /* ImportKeyword */, parseIdentifierName()), pos); - sourceFlags |= 4194304 /* PossiblyContainsImportMeta */; + expression = finishNode(factory.createMetaProperty(100 /* SyntaxKind.ImportKeyword */, parseIdentifierName()), pos); + sourceFlags |= 4194304 /* NodeFlags.PossiblyContainsImportMeta */; } else { expression = parseMemberExpressionOrHigher(); } } else { - expression = token() === 106 /* SuperKeyword */ ? parseSuperExpression() : parseMemberExpressionOrHigher(); + expression = token() === 106 /* SyntaxKind.SuperKeyword */ ? parseSuperExpression() : parseMemberExpressionOrHigher(); } // Now, we *may* be complete. However, we might have consumed the start of a // CallExpression or OptionalExpression. As such, we need to consume the rest @@ -35115,19 +35178,19 @@ var ts; function parseSuperExpression() { var pos = getNodePos(); var expression = parseTokenNode(); - if (token() === 29 /* LessThanToken */) { + if (token() === 29 /* SyntaxKind.LessThanToken */) { var startPos = getNodePos(); var typeArguments = tryParse(parseTypeArgumentsInExpression); if (typeArguments !== undefined) { parseErrorAt(startPos, getNodePos(), ts.Diagnostics.super_may_not_use_type_arguments); } } - if (token() === 20 /* OpenParenToken */ || token() === 24 /* DotToken */ || token() === 22 /* OpenBracketToken */) { + if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 24 /* SyntaxKind.DotToken */ || token() === 22 /* SyntaxKind.OpenBracketToken */) { return expression; } // If we have seen "super" it must be followed by '(' or '.'. // If it wasn't then just try to parse out a '.' and report an error. - parseExpectedToken(24 /* DotToken */, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); + parseExpectedToken(24 /* SyntaxKind.DotToken */, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); // private names will never work with `super` (`super.#foo`), but that's a semantic error, not syntactic return finishNode(factory.createPropertyAccessExpression(expression, parseRightSideOfDot(/*allowIdentifierNames*/ true, /*allowPrivateIdentifiers*/ true)), pos); } @@ -35135,11 +35198,11 @@ var ts; var pos = getNodePos(); var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 280 /* JsxOpeningElement */) { + if (opening.kind === 280 /* SyntaxKind.JsxOpeningElement */) { var children = parseJsxChildren(opening); var closingElement = void 0; var lastChild = children[children.length - 1]; - if ((lastChild === null || lastChild === void 0 ? void 0 : lastChild.kind) === 278 /* JsxElement */ + if ((lastChild === null || lastChild === void 0 ? void 0 : lastChild.kind) === 278 /* SyntaxKind.JsxElement */ && !tagNamesAreEquivalent(lastChild.openingElement.tagName, lastChild.closingElement.tagName) && tagNamesAreEquivalent(opening.tagName, lastChild.closingElement.tagName)) { // when an unclosed JsxOpeningElement incorrectly parses its parent's JsxClosingElement, @@ -35165,11 +35228,11 @@ var ts; } result = finishNode(factory.createJsxElement(opening, children, closingElement), pos); } - else if (opening.kind === 283 /* JsxOpeningFragment */) { + else if (opening.kind === 283 /* SyntaxKind.JsxOpeningFragment */) { result = finishNode(factory.createJsxFragment(opening, parseJsxChildren(opening), parseJsxClosingFragment(inExpressionContext)), pos); } else { - ts.Debug.assert(opening.kind === 279 /* JsxSelfClosingElement */); + ts.Debug.assert(opening.kind === 279 /* SyntaxKind.JsxSelfClosingElement */); // Nothing else to do for self-closing elements result = opening; } @@ -35180,11 +35243,11 @@ var ts; // does less damage and we can report a better error. // Since JSX elements are invalid < operands anyway, this lookahead parse will only occur in error scenarios // of one sort or another. - if (inExpressionContext && token() === 29 /* LessThanToken */) { + if (inExpressionContext && token() === 29 /* SyntaxKind.LessThanToken */) { var topBadPos_1 = typeof topInvalidNodePosition === "undefined" ? result.pos : topInvalidNodePosition; var invalidElement = tryParse(function () { return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true, topBadPos_1); }); if (invalidElement) { - var operatorToken = createMissingNode(27 /* CommaToken */, /*reportAtCurrentPosition*/ false); + var operatorToken = createMissingNode(27 /* SyntaxKind.CommaToken */, /*reportAtCurrentPosition*/ false); ts.setTextRangePosWidth(operatorToken, invalidElement.pos, 0); parseErrorAt(ts.skipTrivia(sourceText, topBadPos_1), invalidElement.end, ts.Diagnostics.JSX_expressions_must_have_one_parent_element); return finishNode(factory.createBinaryExpression(result, operatorToken, invalidElement), pos); @@ -35194,13 +35257,13 @@ var ts; } function parseJsxText() { var pos = getNodePos(); - var node = factory.createJsxText(scanner.getTokenValue(), currentToken === 12 /* JsxTextAllWhiteSpaces */); + var node = factory.createJsxText(scanner.getTokenValue(), currentToken === 12 /* SyntaxKind.JsxTextAllWhiteSpaces */); currentToken = scanner.scanJsxToken(); return finishNode(node, pos); } function parseJsxChild(openingTag, token) { switch (token) { - case 1 /* EndOfFileToken */: + case 1 /* SyntaxKind.EndOfFileToken */: // If we hit EOF, issue the error at the tag that lacks the closing element // rather than at the end of the file (which is useless) if (ts.isJsxOpeningFragment(openingTag)) { @@ -35214,15 +35277,15 @@ var ts; parseErrorAt(start, tag.end, ts.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag, ts.getTextOfNodeFromSourceText(sourceText, openingTag.tagName)); } return undefined; - case 30 /* LessThanSlashToken */: - case 7 /* ConflictMarkerTrivia */: + case 30 /* SyntaxKind.LessThanSlashToken */: + case 7 /* SyntaxKind.ConflictMarkerTrivia */: return undefined; - case 11 /* JsxText */: - case 12 /* JsxTextAllWhiteSpaces */: + case 11 /* SyntaxKind.JsxText */: + case 12 /* SyntaxKind.JsxTextAllWhiteSpaces */: return parseJsxText(); - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: return parseJsxExpression(/*inExpressionContext*/ false); - case 29 /* LessThanToken */: + case 29 /* SyntaxKind.LessThanToken */: return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ false, /*topInvalidNodePosition*/ undefined, openingTag); default: return ts.Debug.assertNever(token); @@ -35232,14 +35295,14 @@ var ts; var list = []; var listPos = getNodePos(); var saveParsingContext = parsingContext; - parsingContext |= 1 << 14 /* JsxChildren */; + parsingContext |= 1 << 14 /* ParsingContext.JsxChildren */; while (true) { var child = parseJsxChild(openingTag, currentToken = scanner.reScanJsxToken()); if (!child) break; list.push(child); if (ts.isJsxOpeningElement(openingTag) - && (child === null || child === void 0 ? void 0 : child.kind) === 278 /* JsxElement */ + && (child === null || child === void 0 ? void 0 : child.kind) === 278 /* SyntaxKind.JsxElement */ && !tagNamesAreEquivalent(child.openingElement.tagName, child.closingElement.tagName) && tagNamesAreEquivalent(openingTag.tagName, child.closingElement.tagName)) { // stop after parsing a mismatched child like
...(
) in order to reattach the
higher @@ -35251,21 +35314,21 @@ var ts; } function parseJsxAttributes() { var pos = getNodePos(); - return finishNode(factory.createJsxAttributes(parseList(13 /* JsxAttributes */, parseJsxAttribute)), pos); + return finishNode(factory.createJsxAttributes(parseList(13 /* ParsingContext.JsxAttributes */, parseJsxAttribute)), pos); } function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext) { var pos = getNodePos(); - parseExpected(29 /* LessThanToken */); - if (token() === 31 /* GreaterThanToken */) { + parseExpected(29 /* SyntaxKind.LessThanToken */); + if (token() === 31 /* SyntaxKind.GreaterThanToken */) { // See below for explanation of scanJsxText scanJsxText(); return finishNode(factory.createJsxOpeningFragment(), pos); } var tagName = parseJsxElementName(); - var typeArguments = (contextFlags & 262144 /* JavaScriptFile */) === 0 ? tryParseTypeArguments() : undefined; + var typeArguments = (contextFlags & 262144 /* NodeFlags.JavaScriptFile */) === 0 ? tryParseTypeArguments() : undefined; var attributes = parseJsxAttributes(); var node; - if (token() === 31 /* GreaterThanToken */) { + if (token() === 31 /* SyntaxKind.GreaterThanToken */) { // Closing tag, so scan the immediately-following text with the JSX scanning instead // of regular scanning to avoid treating illegal characters (e.g. '#') as immediate // scanning errors @@ -35273,8 +35336,8 @@ var ts; node = factory.createJsxOpeningElement(tagName, typeArguments, attributes); } else { - parseExpected(43 /* SlashToken */); - if (parseExpected(31 /* GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false)) { + parseExpected(43 /* SyntaxKind.SlashToken */); + if (parseExpected(31 /* SyntaxKind.GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false)) { // manually advance the scanner in order to look for jsx text inside jsx if (inExpressionContext) { nextToken(); @@ -35295,60 +35358,60 @@ var ts; // primaryExpression in the form of an identifier and "this" keyword // We can't just simply use parseLeftHandSideExpressionOrHigher because then we will start consider class,function etc as a keyword // We only want to consider "this" as a primaryExpression - var expression = token() === 108 /* ThisKeyword */ ? + var expression = token() === 108 /* SyntaxKind.ThisKeyword */ ? parseTokenNode() : parseIdentifierName(); - while (parseOptional(24 /* DotToken */)) { + while (parseOptional(24 /* SyntaxKind.DotToken */)) { expression = finishNode(factory.createPropertyAccessExpression(expression, parseRightSideOfDot(/*allowIdentifierNames*/ true, /*allowPrivateIdentifiers*/ false)), pos); } return expression; } function parseJsxExpression(inExpressionContext) { var pos = getNodePos(); - if (!parseExpected(18 /* OpenBraceToken */)) { + if (!parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { return undefined; } var dotDotDotToken; var expression; - if (token() !== 19 /* CloseBraceToken */) { - dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */); + if (token() !== 19 /* SyntaxKind.CloseBraceToken */) { + dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */); // Only an AssignmentExpression is valid here per the JSX spec, // but we can unambiguously parse a comma sequence and provide // a better error message in grammar checking. expression = parseExpression(); } if (inExpressionContext) { - parseExpected(19 /* CloseBraceToken */); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); } else { - if (parseExpected(19 /* CloseBraceToken */, /*message*/ undefined, /*shouldAdvance*/ false)) { + if (parseExpected(19 /* SyntaxKind.CloseBraceToken */, /*message*/ undefined, /*shouldAdvance*/ false)) { scanJsxText(); } } return finishNode(factory.createJsxExpression(dotDotDotToken, expression), pos); } function parseJsxAttribute() { - if (token() === 18 /* OpenBraceToken */) { + if (token() === 18 /* SyntaxKind.OpenBraceToken */) { return parseJsxSpreadAttribute(); } scanJsxIdentifier(); var pos = getNodePos(); - return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* EqualsToken */ ? undefined : - scanJsxAttributeValue() === 10 /* StringLiteral */ ? parseLiteralNode() : + return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* SyntaxKind.EqualsToken */ ? undefined : + scanJsxAttributeValue() === 10 /* SyntaxKind.StringLiteral */ ? parseLiteralNode() : parseJsxExpression(/*inExpressionContext*/ true)), pos); } function parseJsxSpreadAttribute() { var pos = getNodePos(); - parseExpected(18 /* OpenBraceToken */); - parseExpected(25 /* DotDotDotToken */); + parseExpected(18 /* SyntaxKind.OpenBraceToken */); + parseExpected(25 /* SyntaxKind.DotDotDotToken */); var expression = parseExpression(); - parseExpected(19 /* CloseBraceToken */); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); return finishNode(factory.createJsxSpreadAttribute(expression), pos); } function parseJsxClosingElement(open, inExpressionContext) { var pos = getNodePos(); - parseExpected(30 /* LessThanSlashToken */); + parseExpected(30 /* SyntaxKind.LessThanSlashToken */); var tagName = parseJsxElementName(); - if (parseExpected(31 /* GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false)) { + if (parseExpected(31 /* SyntaxKind.GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false)) { // manually advance the scanner in order to look for jsx text inside jsx if (inExpressionContext || !tagNamesAreEquivalent(open.tagName, tagName)) { nextToken(); @@ -35361,11 +35424,11 @@ var ts; } function parseJsxClosingFragment(inExpressionContext) { var pos = getNodePos(); - parseExpected(30 /* LessThanSlashToken */); + parseExpected(30 /* SyntaxKind.LessThanSlashToken */); if (ts.tokenIsIdentifierOrKeyword(token())) { parseErrorAtRange(parseJsxElementName(), ts.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment); } - if (parseExpected(31 /* GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false)) { + if (parseExpected(31 /* SyntaxKind.GreaterThanToken */, /*diagnostic*/ undefined, /*shouldAdvance*/ false)) { // manually advance the scanner in order to look for jsx text inside jsx if (inExpressionContext) { nextToken(); @@ -35378,36 +35441,36 @@ var ts; } function parseTypeAssertion() { var pos = getNodePos(); - parseExpected(29 /* LessThanToken */); + parseExpected(29 /* SyntaxKind.LessThanToken */); var type = parseType(); - parseExpected(31 /* GreaterThanToken */); + parseExpected(31 /* SyntaxKind.GreaterThanToken */); var expression = parseSimpleUnaryExpression(); return finishNode(factory.createTypeAssertion(type, expression), pos); } function nextTokenIsIdentifierOrKeywordOrOpenBracketOrTemplate() { nextToken(); return ts.tokenIsIdentifierOrKeyword(token()) - || token() === 22 /* OpenBracketToken */ + || token() === 22 /* SyntaxKind.OpenBracketToken */ || isTemplateStartOfTaggedTemplate(); } function isStartOfOptionalPropertyOrElementAccessChain() { - return token() === 28 /* QuestionDotToken */ + return token() === 28 /* SyntaxKind.QuestionDotToken */ && lookAhead(nextTokenIsIdentifierOrKeywordOrOpenBracketOrTemplate); } function tryReparseOptionalChain(node) { - if (node.flags & 32 /* OptionalChain */) { + if (node.flags & 32 /* NodeFlags.OptionalChain */) { return true; } // check for an optional chain in a non-null expression if (ts.isNonNullExpression(node)) { var expr = node.expression; - while (ts.isNonNullExpression(expr) && !(expr.flags & 32 /* OptionalChain */)) { + while (ts.isNonNullExpression(expr) && !(expr.flags & 32 /* NodeFlags.OptionalChain */)) { expr = expr.expression; } - if (expr.flags & 32 /* OptionalChain */) { + if (expr.flags & 32 /* NodeFlags.OptionalChain */) { // this is part of an optional chain. Walk down from `node` to `expression` and set the flag. while (ts.isNonNullExpression(node)) { - node.flags |= 32 /* OptionalChain */; + node.flags |= 32 /* NodeFlags.OptionalChain */; node = node.expression; } return true; @@ -35428,8 +35491,8 @@ var ts; } function parseElementAccessExpressionRest(pos, expression, questionDotToken) { var argumentExpression; - if (token() === 23 /* CloseBracketToken */) { - argumentExpression = createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); + if (token() === 23 /* SyntaxKind.CloseBracketToken */) { + argumentExpression = createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.An_element_access_expression_should_take_an_argument); } else { var argument = allowInAnd(parseExpression); @@ -35438,7 +35501,7 @@ var ts; } argumentExpression = argument; } - parseExpected(23 /* CloseBracketToken */); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); var indexedAccess = questionDotToken || tryReparseOptionalChain(expression) ? factory.createElementAccessChain(expression, questionDotToken, argumentExpression) : factory.createElementAccessExpression(expression, argumentExpression); @@ -35449,30 +35512,30 @@ var ts; var questionDotToken = void 0; var isPropertyAccess = false; if (allowOptionalChain && isStartOfOptionalPropertyOrElementAccessChain()) { - questionDotToken = parseExpectedToken(28 /* QuestionDotToken */); + questionDotToken = parseExpectedToken(28 /* SyntaxKind.QuestionDotToken */); isPropertyAccess = ts.tokenIsIdentifierOrKeyword(token()); } else { - isPropertyAccess = parseOptional(24 /* DotToken */); + isPropertyAccess = parseOptional(24 /* SyntaxKind.DotToken */); } if (isPropertyAccess) { expression = parsePropertyAccessExpressionRest(pos, expression, questionDotToken); continue; } // when in the [Decorator] context, we do not parse ElementAccess as it could be part of a ComputedPropertyName - if ((questionDotToken || !inDecoratorContext()) && parseOptional(22 /* OpenBracketToken */)) { + if ((questionDotToken || !inDecoratorContext()) && parseOptional(22 /* SyntaxKind.OpenBracketToken */)) { expression = parseElementAccessExpressionRest(pos, expression, questionDotToken); continue; } if (isTemplateStartOfTaggedTemplate()) { // Absorb type arguments into TemplateExpression when preceding expression is ExpressionWithTypeArguments - expression = !questionDotToken && expression.kind === 228 /* ExpressionWithTypeArguments */ ? + expression = !questionDotToken && expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ ? parseTaggedTemplateRest(pos, expression.expression, questionDotToken, expression.typeArguments) : parseTaggedTemplateRest(pos, expression, questionDotToken, /*typeArguments*/ undefined); continue; } if (!questionDotToken) { - if (token() === 53 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 53 /* SyntaxKind.ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { nextToken(); expression = finishNode(factory.createNonNullExpression(expression), pos); continue; @@ -35487,14 +35550,14 @@ var ts; } } function isTemplateStartOfTaggedTemplate() { - return token() === 14 /* NoSubstitutionTemplateLiteral */ || token() === 15 /* TemplateHead */; + return token() === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ || token() === 15 /* SyntaxKind.TemplateHead */; } function parseTaggedTemplateRest(pos, tag, questionDotToken, typeArguments) { - var tagExpression = factory.createTaggedTemplateExpression(tag, typeArguments, token() === 14 /* NoSubstitutionTemplateLiteral */ ? + var tagExpression = factory.createTaggedTemplateExpression(tag, typeArguments, token() === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ ? (reScanTemplateHeadOrNoSubstitutionTemplate(), parseLiteralNode()) : parseTemplateExpression(/*isTaggedTemplate*/ true)); - if (questionDotToken || tag.flags & 32 /* OptionalChain */) { - tagExpression.flags |= 32 /* OptionalChain */; + if (questionDotToken || tag.flags & 32 /* NodeFlags.OptionalChain */) { + tagExpression.flags |= 32 /* NodeFlags.OptionalChain */; } tagExpression.questionDotToken = questionDotToken; return finishNode(tagExpression, pos); @@ -35503,7 +35566,7 @@ var ts; while (true) { expression = parseMemberExpressionRest(pos, expression, /*allowOptionalChain*/ true); var typeArguments = void 0; - var questionDotToken = parseOptionalToken(28 /* QuestionDotToken */); + var questionDotToken = parseOptionalToken(28 /* SyntaxKind.QuestionDotToken */); if (questionDotToken) { typeArguments = tryParse(parseTypeArgumentsInExpression); if (isTemplateStartOfTaggedTemplate()) { @@ -35511,9 +35574,9 @@ var ts; continue; } } - if (typeArguments || token() === 20 /* OpenParenToken */) { + if (typeArguments || token() === 20 /* SyntaxKind.OpenParenToken */) { // Absorb type arguments into CallExpression when preceding expression is ExpressionWithTypeArguments - if (!questionDotToken && expression.kind === 228 /* ExpressionWithTypeArguments */) { + if (!questionDotToken && expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { typeArguments = expression.typeArguments; expression = expression.expression; } @@ -35526,7 +35589,7 @@ var ts; } if (questionDotToken) { // We parsed `?.` but then failed to parse anything, so report a missing identifier here. - var name = createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics.Identifier_expected); + var name = createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics.Identifier_expected); expression = finishNode(factory.createPropertyAccessChain(expression, questionDotToken, name), pos); } break; @@ -35534,22 +35597,22 @@ var ts; return expression; } function parseArgumentList() { - parseExpected(20 /* OpenParenToken */); - var result = parseDelimitedList(11 /* ArgumentExpressions */, parseArgumentExpression); - parseExpected(21 /* CloseParenToken */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); + var result = parseDelimitedList(11 /* ParsingContext.ArgumentExpressions */, parseArgumentExpression); + parseExpected(21 /* SyntaxKind.CloseParenToken */); return result; } function parseTypeArgumentsInExpression() { - if ((contextFlags & 262144 /* JavaScriptFile */) !== 0) { + if ((contextFlags & 262144 /* NodeFlags.JavaScriptFile */) !== 0) { // TypeArguments must not be parsed in JavaScript files to avoid ambiguity with binary operators. return undefined; } - if (reScanLessThanToken() !== 29 /* LessThanToken */) { + if (reScanLessThanToken() !== 29 /* SyntaxKind.LessThanToken */) { return undefined; } nextToken(); - var typeArguments = parseDelimitedList(20 /* TypeArguments */, parseType); - if (!parseExpected(31 /* GreaterThanToken */)) { + var typeArguments = parseDelimitedList(20 /* ParsingContext.TypeArguments */, parseType); + if (!parseExpected(31 /* SyntaxKind.GreaterThanToken */)) { // If it doesn't have the closing `>` then it's definitely not an type argument list. return undefined; } @@ -35562,58 +35625,34 @@ var ts; function canFollowTypeArgumentsInExpression() { switch (token()) { // These tokens can follow a type argument list in a call expression. - case 20 /* OpenParenToken */: // foo( - case 14 /* NoSubstitutionTemplateLiteral */: // foo `...` - case 15 /* TemplateHead */: // foo `...${100}...` - // These tokens can't follow in a call expression, nor can they start an - // expression. So, consider the type argument list part of an instantiation - // expression. - // falls through - case 27 /* CommaToken */: // foo, - case 24 /* DotToken */: // foo. - case 28 /* QuestionDotToken */: // foo?. - case 21 /* CloseParenToken */: // foo) - case 23 /* CloseBracketToken */: // foo] - case 58 /* ColonToken */: // foo: - case 26 /* SemicolonToken */: // foo; - case 57 /* QuestionToken */: // foo? - case 34 /* EqualsEqualsToken */: // foo == - case 36 /* EqualsEqualsEqualsToken */: // foo === - case 35 /* ExclamationEqualsToken */: // foo != - case 37 /* ExclamationEqualsEqualsToken */: // foo !== - case 55 /* AmpersandAmpersandToken */: // foo && - case 56 /* BarBarToken */: // foo || - case 60 /* QuestionQuestionToken */: // foo ?? - case 52 /* CaretToken */: // foo ^ - case 50 /* AmpersandToken */: // foo & - case 51 /* BarToken */: // foo | - case 19 /* CloseBraceToken */: // foo } - case 1 /* EndOfFileToken */: // foo + case 20 /* SyntaxKind.OpenParenToken */: // foo( + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: // foo `...` + case 15 /* SyntaxKind.TemplateHead */: // foo `...${100}...` return true; } - // Treat anything else as an expression. - return false; + // Consider something a type argument list only if the following token can't start an expression. + return !isStartOfExpression(); } function parsePrimaryExpression() { switch (token()) { - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return parseLiteralNode(); - case 108 /* ThisKeyword */: - case 106 /* SuperKeyword */: - case 104 /* NullKeyword */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: return parseTokenNode(); - case 20 /* OpenParenToken */: + case 20 /* SyntaxKind.OpenParenToken */: return parseParenthesizedExpression(); - case 22 /* OpenBracketToken */: + case 22 /* SyntaxKind.OpenBracketToken */: return parseArrayLiteralExpression(); - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: return parseObjectLiteralExpression(); - case 131 /* AsyncKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: // Async arrow functions are parsed earlier in parseAssignmentExpressionOrHigher. // If we encounter `async [no LineTerminator here] function` then this is an async // function; otherwise, its an identifier. @@ -35621,21 +35660,21 @@ var ts; break; } return parseFunctionExpression(); - case 84 /* ClassKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: return parseClassExpression(); - case 98 /* FunctionKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: return parseFunctionExpression(); - case 103 /* NewKeyword */: + case 103 /* SyntaxKind.NewKeyword */: return parseNewExpressionOrNewDotTarget(); - case 43 /* SlashToken */: - case 68 /* SlashEqualsToken */: - if (reScanSlashToken() === 13 /* RegularExpressionLiteral */) { + case 43 /* SyntaxKind.SlashToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + if (reScanSlashToken() === 13 /* SyntaxKind.RegularExpressionLiteral */) { return parseLiteralNode(); } break; - case 15 /* TemplateHead */: + case 15 /* SyntaxKind.TemplateHead */: return parseTemplateExpression(/* isTaggedTemplate */ false); - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return parsePrivateIdentifier(); } return parseIdentifier(ts.Diagnostics.Expression_expected); @@ -35643,21 +35682,21 @@ var ts; function parseParenthesizedExpression() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(20 /* OpenParenToken */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); return withJSDoc(finishNode(factory.createParenthesizedExpression(expression), pos), hasJSDoc); } function parseSpreadElement() { var pos = getNodePos(); - parseExpected(25 /* DotDotDotToken */); - var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); + parseExpected(25 /* SyntaxKind.DotDotDotToken */); + var expression = parseAssignmentExpressionOrHigher(); return finishNode(factory.createSpreadElement(expression), pos); } function parseArgumentOrArrayLiteralElement() { - return token() === 25 /* DotDotDotToken */ ? parseSpreadElement() : - token() === 27 /* CommaToken */ ? finishNode(factory.createOmittedExpression(), getNodePos()) : - parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); + return token() === 25 /* SyntaxKind.DotDotDotToken */ ? parseSpreadElement() : + token() === 27 /* SyntaxKind.CommaToken */ ? finishNode(factory.createOmittedExpression(), getNodePos()) : + parseAssignmentExpressionOrHigher(); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); @@ -35665,34 +35704,34 @@ var ts; function parseArrayLiteralExpression() { var pos = getNodePos(); var openBracketPosition = scanner.getTokenPos(); - var openBracketParsed = parseExpected(22 /* OpenBracketToken */); + var openBracketParsed = parseExpected(22 /* SyntaxKind.OpenBracketToken */); var multiLine = scanner.hasPrecedingLineBreak(); - var elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement); - parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition); + var elements = parseDelimitedList(15 /* ParsingContext.ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement); + parseExpectedMatchingBrackets(22 /* SyntaxKind.OpenBracketToken */, 23 /* SyntaxKind.CloseBracketToken */, openBracketParsed, openBracketPosition); return finishNode(factory.createArrayLiteralExpression(elements, multiLine), pos); } function parseObjectLiteralElement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - if (parseOptionalToken(25 /* DotDotDotToken */)) { - var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); + if (parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */)) { + var expression = parseAssignmentExpressionOrHigher(); return withJSDoc(finishNode(factory.createSpreadAssignment(expression), pos), hasJSDoc); } var decorators = parseDecorators(); var modifiers = parseModifiers(); - if (parseContextualModifier(136 /* GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* GetAccessor */); + if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */); } - if (parseContextualModifier(149 /* SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SetAccessor */); + if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */); } - var asteriskToken = parseOptionalToken(41 /* AsteriskToken */); + var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); var tokenIsIdentifier = isIdentifier(); var name = parsePropertyName(); // Disallowing of optional property assignments and definite assignment assertion happens in the grammar checker. - var questionToken = parseOptionalToken(57 /* QuestionToken */); - var exclamationToken = parseOptionalToken(53 /* ExclamationToken */); - if (asteriskToken || token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */) { + var questionToken = parseOptionalToken(57 /* SyntaxKind.QuestionToken */); + var exclamationToken = parseOptionalToken(53 /* SyntaxKind.ExclamationToken */); + if (asteriskToken || token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */) { return parseMethodDeclaration(pos, hasJSDoc, decorators, modifiers, asteriskToken, name, questionToken, exclamationToken); } // check if it is short-hand property assignment or normal property assignment @@ -35701,18 +35740,18 @@ var ts; // IdentifierReference[?Yield] Initializer[In, ?Yield] // this is necessary because ObjectLiteral productions are also used to cover grammar for ObjectAssignmentPattern var node; - var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58 /* ColonToken */); + var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58 /* SyntaxKind.ColonToken */); if (isShorthandPropertyAssignment) { - var equalsToken = parseOptionalToken(63 /* EqualsToken */); - var objectAssignmentInitializer = equalsToken ? allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }) : undefined; + var equalsToken = parseOptionalToken(63 /* SyntaxKind.EqualsToken */); + var objectAssignmentInitializer = equalsToken ? allowInAnd(parseAssignmentExpressionOrHigher) : undefined; node = factory.createShorthandPropertyAssignment(name, objectAssignmentInitializer); // Save equals token for error reporting. // TODO(rbuckton): Consider manufacturing this when we need to report an error as it is otherwise not useful. node.equalsToken = equalsToken; } else { - parseExpected(58 /* ColonToken */); - var initializer = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }); + parseExpected(58 /* SyntaxKind.ColonToken */); + var initializer = allowInAnd(parseAssignmentExpressionOrHigher); node = factory.createPropertyAssignment(name, initializer); } // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker @@ -35725,10 +35764,10 @@ var ts; function parseObjectLiteralExpression() { var pos = getNodePos(); var openBracePosition = scanner.getTokenPos(); - var openBraceParsed = parseExpected(18 /* OpenBraceToken */); + var openBraceParsed = parseExpected(18 /* SyntaxKind.OpenBraceToken */); var multiLine = scanner.hasPrecedingLineBreak(); - var properties = parseDelimitedList(12 /* ObjectLiteralMembers */, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true); - parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition); + var properties = parseDelimitedList(12 /* ParsingContext.ObjectLiteralMembers */, parseObjectLiteralElement, /*considerSemicolonAsDelimiter*/ true); + parseExpectedMatchingBrackets(18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, openBraceParsed, openBracePosition); return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos); } function parseFunctionExpression() { @@ -35742,17 +35781,17 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiers(); - parseExpected(98 /* FunctionKeyword */); - var asteriskToken = parseOptionalToken(41 /* AsteriskToken */); - var isGenerator = asteriskToken ? 1 /* Yield */ : 0 /* None */; - var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* Await */ : 0 /* None */; + parseExpected(98 /* SyntaxKind.FunctionKeyword */); + var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); + var isGenerator = asteriskToken ? 1 /* SignatureFlags.Yield */ : 0 /* SignatureFlags.None */; + var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; var name = isGenerator && isAsync ? doInYieldAndAwaitContext(parseOptionalBindingIdentifier) : isGenerator ? doInYieldContext(parseOptionalBindingIdentifier) : isAsync ? doInAwaitContext(parseOptionalBindingIdentifier) : parseOptionalBindingIdentifier(); var typeParameters = parseTypeParameters(); var parameters = parseParameters(isGenerator | isAsync); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlock(isGenerator | isAsync); setDecoratorContext(savedDecoratorContext); var node = factory.createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body); @@ -35763,20 +35802,20 @@ var ts; } function parseNewExpressionOrNewDotTarget() { var pos = getNodePos(); - parseExpected(103 /* NewKeyword */); - if (parseOptional(24 /* DotToken */)) { + parseExpected(103 /* SyntaxKind.NewKeyword */); + if (parseOptional(24 /* SyntaxKind.DotToken */)) { var name = parseIdentifierName(); - return finishNode(factory.createMetaProperty(103 /* NewKeyword */, name), pos); + return finishNode(factory.createMetaProperty(103 /* SyntaxKind.NewKeyword */, name), pos); } var expressionPos = getNodePos(); var expression = parseMemberExpressionRest(expressionPos, parsePrimaryExpression(), /*allowOptionalChain*/ false); var typeArguments; // Absorb type arguments into NewExpression when preceding expression is ExpressionWithTypeArguments - if (expression.kind === 228 /* ExpressionWithTypeArguments */) { + if (expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { typeArguments = expression.typeArguments; expression = expression.expression; } - var argumentList = token() === 20 /* OpenParenToken */ ? parseArgumentList() : undefined; + var argumentList = token() === 20 /* SyntaxKind.OpenParenToken */ ? parseArgumentList() : undefined; return finishNode(factory.createNewExpression(expression, typeArguments, argumentList), pos); } // STATEMENTS @@ -35784,13 +35823,13 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var openBracePosition = scanner.getTokenPos(); - var openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage); + var openBraceParsed = parseExpected(18 /* SyntaxKind.OpenBraceToken */, diagnosticMessage); if (openBraceParsed || ignoreMissingOpenBrace) { var multiLine = scanner.hasPrecedingLineBreak(); - var statements = parseList(1 /* BlockStatements */, parseStatement); - parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition); + var statements = parseList(1 /* ParsingContext.BlockStatements */, parseStatement); + parseExpectedMatchingBrackets(18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, openBraceParsed, openBracePosition); var result = withJSDoc(finishNode(factory.createBlock(statements, multiLine), pos), hasJSDoc); - if (token() === 63 /* EqualsToken */) { + if (token() === 63 /* SyntaxKind.EqualsToken */) { parseErrorAtCurrentToken(ts.Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_the_whole_assignment_in_parentheses); nextToken(); } @@ -35803,9 +35842,9 @@ var ts; } function parseFunctionBlock(flags, diagnosticMessage) { var savedYieldContext = inYieldContext(); - setYieldContext(!!(flags & 1 /* Yield */)); + setYieldContext(!!(flags & 1 /* SignatureFlags.Yield */)); var savedAwaitContext = inAwaitContext(); - setAwaitContext(!!(flags & 2 /* Await */)); + setAwaitContext(!!(flags & 2 /* SignatureFlags.Await */)); var savedTopLevel = topLevel; topLevel = false; // We may be in a [Decorator] context when parsing a function expression or @@ -35814,7 +35853,7 @@ var ts; if (saveDecoratorContext) { setDecoratorContext(/*val*/ false); } - var block = parseBlock(!!(flags & 16 /* IgnoreMissingOpenBrace */), diagnosticMessage); + var block = parseBlock(!!(flags & 16 /* SignatureFlags.IgnoreMissingOpenBrace */), diagnosticMessage); if (saveDecoratorContext) { setDecoratorContext(/*val*/ true); } @@ -35826,58 +35865,58 @@ var ts; function parseEmptyStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(26 /* SemicolonToken */); + parseExpected(26 /* SyntaxKind.SemicolonToken */); return withJSDoc(finishNode(factory.createEmptyStatement(), pos), hasJSDoc); } function parseIfStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(99 /* IfKeyword */); + parseExpected(99 /* SyntaxKind.IfKeyword */); var openParenPosition = scanner.getTokenPos(); - var openParenParsed = parseExpected(20 /* OpenParenToken */); + var openParenParsed = parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); + parseExpectedMatchingBrackets(20 /* SyntaxKind.OpenParenToken */, 21 /* SyntaxKind.CloseParenToken */, openParenParsed, openParenPosition); var thenStatement = parseStatement(); - var elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : undefined; + var elseStatement = parseOptional(91 /* SyntaxKind.ElseKeyword */) ? parseStatement() : undefined; return withJSDoc(finishNode(factory.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc); } function parseDoStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(90 /* DoKeyword */); + parseExpected(90 /* SyntaxKind.DoKeyword */); var statement = parseStatement(); - parseExpected(115 /* WhileKeyword */); + parseExpected(115 /* SyntaxKind.WhileKeyword */); var openParenPosition = scanner.getTokenPos(); - var openParenParsed = parseExpected(20 /* OpenParenToken */); + var openParenParsed = parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); + parseExpectedMatchingBrackets(20 /* SyntaxKind.OpenParenToken */, 21 /* SyntaxKind.CloseParenToken */, openParenParsed, openParenPosition); // From: https://mail.mozilla.org/pipermail/es-discuss/2011-August/016188.html // 157 min --- All allen at wirfs-brock.com CONF --- "do{;}while(false)false" prohibited in // spec but allowed in consensus reality. Approved -- this is the de-facto standard whereby // do;while(0)x will have a semicolon inserted before x. - parseOptional(26 /* SemicolonToken */); + parseOptional(26 /* SyntaxKind.SemicolonToken */); return withJSDoc(finishNode(factory.createDoStatement(statement, expression), pos), hasJSDoc); } function parseWhileStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(115 /* WhileKeyword */); + parseExpected(115 /* SyntaxKind.WhileKeyword */); var openParenPosition = scanner.getTokenPos(); - var openParenParsed = parseExpected(20 /* OpenParenToken */); + var openParenParsed = parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); + parseExpectedMatchingBrackets(20 /* SyntaxKind.OpenParenToken */, 21 /* SyntaxKind.CloseParenToken */, openParenParsed, openParenPosition); var statement = parseStatement(); return withJSDoc(finishNode(factory.createWhileStatement(expression, statement), pos), hasJSDoc); } function parseForOrForInOrForOfStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(97 /* ForKeyword */); - var awaitToken = parseOptionalToken(132 /* AwaitKeyword */); - parseExpected(20 /* OpenParenToken */); + parseExpected(97 /* SyntaxKind.ForKeyword */); + var awaitToken = parseOptionalToken(132 /* SyntaxKind.AwaitKeyword */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); var initializer; - if (token() !== 26 /* SemicolonToken */) { - if (token() === 113 /* VarKeyword */ || token() === 119 /* LetKeyword */ || token() === 85 /* ConstKeyword */) { + if (token() !== 26 /* SyntaxKind.SemicolonToken */) { + if (token() === 113 /* SyntaxKind.VarKeyword */ || token() === 119 /* SyntaxKind.LetKeyword */ || token() === 85 /* SyntaxKind.ConstKeyword */) { initializer = parseVariableDeclarationList(/*inForStatementInitializer*/ true); } else { @@ -35885,26 +35924,26 @@ var ts; } } var node; - if (awaitToken ? parseExpected(160 /* OfKeyword */) : parseOptional(160 /* OfKeyword */)) { - var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); }); - parseExpected(21 /* CloseParenToken */); + if (awaitToken ? parseExpected(160 /* SyntaxKind.OfKeyword */) : parseOptional(160 /* SyntaxKind.OfKeyword */)) { + var expression = allowInAnd(parseAssignmentExpressionOrHigher); + parseExpected(21 /* SyntaxKind.CloseParenToken */); node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement()); } - else if (parseOptional(101 /* InKeyword */)) { + else if (parseOptional(101 /* SyntaxKind.InKeyword */)) { var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); node = factory.createForInStatement(initializer, expression, parseStatement()); } else { - parseExpected(26 /* SemicolonToken */); - var condition = token() !== 26 /* SemicolonToken */ && token() !== 21 /* CloseParenToken */ + parseExpected(26 /* SyntaxKind.SemicolonToken */); + var condition = token() !== 26 /* SyntaxKind.SemicolonToken */ && token() !== 21 /* SyntaxKind.CloseParenToken */ ? allowInAnd(parseExpression) : undefined; - parseExpected(26 /* SemicolonToken */); - var incrementor = token() !== 21 /* CloseParenToken */ + parseExpected(26 /* SyntaxKind.SemicolonToken */); + var incrementor = token() !== 21 /* SyntaxKind.CloseParenToken */ ? allowInAnd(parseExpression) : undefined; - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); node = factory.createForStatement(initializer, condition, incrementor, parseStatement()); } return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -35912,10 +35951,10 @@ var ts; function parseBreakOrContinueStatement(kind) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(kind === 246 /* BreakStatement */ ? 81 /* BreakKeyword */ : 86 /* ContinueKeyword */); + parseExpected(kind === 246 /* SyntaxKind.BreakStatement */ ? 81 /* SyntaxKind.BreakKeyword */ : 86 /* SyntaxKind.ContinueKeyword */); var label = canParseSemicolon() ? undefined : parseIdentifier(); parseSemicolon(); - var node = kind === 246 /* BreakStatement */ + var node = kind === 246 /* SyntaxKind.BreakStatement */ ? factory.createBreakStatement(label) : factory.createContinueStatement(label); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -35923,7 +35962,7 @@ var ts; function parseReturnStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(105 /* ReturnKeyword */); + parseExpected(105 /* SyntaxKind.ReturnKeyword */); var expression = canParseSemicolon() ? undefined : allowInAnd(parseExpression); parseSemicolon(); return withJSDoc(finishNode(factory.createReturnStatement(expression), pos), hasJSDoc); @@ -35931,47 +35970,47 @@ var ts; function parseWithStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(116 /* WithKeyword */); + parseExpected(116 /* SyntaxKind.WithKeyword */); var openParenPosition = scanner.getTokenPos(); - var openParenParsed = parseExpected(20 /* OpenParenToken */); + var openParenParsed = parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition); - var statement = doInsideOfContext(33554432 /* InWithStatement */, parseStatement); + parseExpectedMatchingBrackets(20 /* SyntaxKind.OpenParenToken */, 21 /* SyntaxKind.CloseParenToken */, openParenParsed, openParenPosition); + var statement = doInsideOfContext(33554432 /* NodeFlags.InWithStatement */, parseStatement); return withJSDoc(finishNode(factory.createWithStatement(expression, statement), pos), hasJSDoc); } function parseCaseClause() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(82 /* CaseKeyword */); + parseExpected(82 /* SyntaxKind.CaseKeyword */); var expression = allowInAnd(parseExpression); - parseExpected(58 /* ColonToken */); - var statements = parseList(3 /* SwitchClauseStatements */, parseStatement); + parseExpected(58 /* SyntaxKind.ColonToken */); + var statements = parseList(3 /* ParsingContext.SwitchClauseStatements */, parseStatement); return withJSDoc(finishNode(factory.createCaseClause(expression, statements), pos), hasJSDoc); } function parseDefaultClause() { var pos = getNodePos(); - parseExpected(88 /* DefaultKeyword */); - parseExpected(58 /* ColonToken */); - var statements = parseList(3 /* SwitchClauseStatements */, parseStatement); + parseExpected(88 /* SyntaxKind.DefaultKeyword */); + parseExpected(58 /* SyntaxKind.ColonToken */); + var statements = parseList(3 /* ParsingContext.SwitchClauseStatements */, parseStatement); return finishNode(factory.createDefaultClause(statements), pos); } function parseCaseOrDefaultClause() { - return token() === 82 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); + return token() === 82 /* SyntaxKind.CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); } function parseCaseBlock() { var pos = getNodePos(); - parseExpected(18 /* OpenBraceToken */); - var clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause); - parseExpected(19 /* CloseBraceToken */); + parseExpected(18 /* SyntaxKind.OpenBraceToken */); + var clauses = parseList(2 /* ParsingContext.SwitchClauses */, parseCaseOrDefaultClause); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); return finishNode(factory.createCaseBlock(clauses), pos); } function parseSwitchStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(107 /* SwitchKeyword */); - parseExpected(20 /* OpenParenToken */); + parseExpected(107 /* SyntaxKind.SwitchKeyword */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = allowInAnd(parseExpression); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); var caseBlock = parseCaseBlock(); return withJSDoc(finishNode(factory.createSwitchStatement(expression, caseBlock), pos), hasJSDoc); } @@ -35980,7 +36019,7 @@ var ts; // throw [no LineTerminator here]Expression[In, ?Yield]; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(109 /* ThrowKeyword */); + parseExpected(109 /* SyntaxKind.ThrowKeyword */); // Because of automatic semicolon insertion, we need to report error if this // throw could be terminated with a semicolon. Note: we can't call 'parseExpression' // directly as that might consume an expression on the following line. @@ -36000,25 +36039,25 @@ var ts; function parseTryStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(111 /* TryKeyword */); + parseExpected(111 /* SyntaxKind.TryKeyword */); var tryBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); - var catchClause = token() === 83 /* CatchKeyword */ ? parseCatchClause() : undefined; + var catchClause = token() === 83 /* SyntaxKind.CatchKeyword */ ? parseCatchClause() : undefined; // If we don't have a catch clause, then we must have a finally clause. Try to parse // one out no matter what. var finallyBlock; - if (!catchClause || token() === 96 /* FinallyKeyword */) { - parseExpected(96 /* FinallyKeyword */, ts.Diagnostics.catch_or_finally_expected); + if (!catchClause || token() === 96 /* SyntaxKind.FinallyKeyword */) { + parseExpected(96 /* SyntaxKind.FinallyKeyword */, ts.Diagnostics.catch_or_finally_expected); finallyBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); } return withJSDoc(finishNode(factory.createTryStatement(tryBlock, catchClause, finallyBlock), pos), hasJSDoc); } function parseCatchClause() { var pos = getNodePos(); - parseExpected(83 /* CatchKeyword */); + parseExpected(83 /* SyntaxKind.CatchKeyword */); var variableDeclaration; - if (parseOptional(20 /* OpenParenToken */)) { + if (parseOptional(20 /* SyntaxKind.OpenParenToken */)) { variableDeclaration = parseVariableDeclaration(); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); } else { // Keep shape of node to avoid degrading performance. @@ -36030,7 +36069,7 @@ var ts; function parseDebuggerStatement() { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(87 /* DebuggerKeyword */); + parseExpected(87 /* SyntaxKind.DebuggerKeyword */); parseSemicolon(); return withJSDoc(finishNode(factory.createDebuggerStatement(), pos), hasJSDoc); } @@ -36041,9 +36080,9 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var node; - var hasParen = token() === 20 /* OpenParenToken */; + var hasParen = token() === 20 /* SyntaxKind.OpenParenToken */; var expression = allowInAnd(parseExpression); - if (ts.isIdentifier(expression) && parseOptional(58 /* ColonToken */)) { + if (ts.isIdentifier(expression) && parseOptional(58 /* SyntaxKind.ColonToken */)) { node = factory.createLabeledStatement(expression, parseStatement()); } else { @@ -36064,25 +36103,25 @@ var ts; } function nextTokenIsClassKeywordOnSameLine() { nextToken(); - return token() === 84 /* ClassKeyword */ && !scanner.hasPrecedingLineBreak(); + return token() === 84 /* SyntaxKind.ClassKeyword */ && !scanner.hasPrecedingLineBreak(); } function nextTokenIsFunctionKeywordOnSameLine() { nextToken(); - return token() === 98 /* FunctionKeyword */ && !scanner.hasPrecedingLineBreak(); + return token() === 98 /* SyntaxKind.FunctionKeyword */ && !scanner.hasPrecedingLineBreak(); } function nextTokenIsIdentifierOrKeywordOrLiteralOnSameLine() { nextToken(); - return (ts.tokenIsIdentifierOrKeyword(token()) || token() === 8 /* NumericLiteral */ || token() === 9 /* BigIntLiteral */ || token() === 10 /* StringLiteral */) && !scanner.hasPrecedingLineBreak(); + return (ts.tokenIsIdentifierOrKeyword(token()) || token() === 8 /* SyntaxKind.NumericLiteral */ || token() === 9 /* SyntaxKind.BigIntLiteral */ || token() === 10 /* SyntaxKind.StringLiteral */) && !scanner.hasPrecedingLineBreak(); } function isDeclaration() { while (true) { switch (token()) { - case 113 /* VarKeyword */: - case 119 /* LetKeyword */: - case 85 /* ConstKeyword */: - case 98 /* FunctionKeyword */: - case 84 /* ClassKeyword */: - case 92 /* EnumKeyword */: + case 113 /* SyntaxKind.VarKeyword */: + case 119 /* SyntaxKind.LetKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: return true; // 'declare', 'module', 'namespace', 'interface'* and 'type' are all legal JavaScript identifiers; // however, an identifier cannot be followed by another identifier on the same line. This is what we @@ -36105,44 +36144,44 @@ var ts; // I {} // // could be legal, it would add complexity for very little gain. - case 118 /* InterfaceKeyword */: - case 152 /* TypeKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: + case 152 /* SyntaxKind.TypeKeyword */: return nextTokenIsIdentifierOnSameLine(); - case 141 /* ModuleKeyword */: - case 142 /* NamespaceKeyword */: + case 141 /* SyntaxKind.ModuleKeyword */: + case 142 /* SyntaxKind.NamespaceKeyword */: return nextTokenIsIdentifierOrStringLiteralOnSameLine(); - case 126 /* AbstractKeyword */: - case 131 /* AsyncKeyword */: - case 135 /* DeclareKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 123 /* PublicKeyword */: - case 145 /* ReadonlyKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: nextToken(); // ASI takes effect for this modifier. if (scanner.hasPrecedingLineBreak()) { return false; } continue; - case 157 /* GlobalKeyword */: + case 157 /* SyntaxKind.GlobalKeyword */: nextToken(); - return token() === 18 /* OpenBraceToken */ || token() === 79 /* Identifier */ || token() === 93 /* ExportKeyword */; - case 100 /* ImportKeyword */: + return token() === 18 /* SyntaxKind.OpenBraceToken */ || token() === 79 /* SyntaxKind.Identifier */ || token() === 93 /* SyntaxKind.ExportKeyword */; + case 100 /* SyntaxKind.ImportKeyword */: nextToken(); - return token() === 10 /* StringLiteral */ || token() === 41 /* AsteriskToken */ || - token() === 18 /* OpenBraceToken */ || ts.tokenIsIdentifierOrKeyword(token()); - case 93 /* ExportKeyword */: + return token() === 10 /* SyntaxKind.StringLiteral */ || token() === 41 /* SyntaxKind.AsteriskToken */ || + token() === 18 /* SyntaxKind.OpenBraceToken */ || ts.tokenIsIdentifierOrKeyword(token()); + case 93 /* SyntaxKind.ExportKeyword */: var currentToken_1 = nextToken(); - if (currentToken_1 === 152 /* TypeKeyword */) { + if (currentToken_1 === 152 /* SyntaxKind.TypeKeyword */) { currentToken_1 = lookAhead(nextToken); } - if (currentToken_1 === 63 /* EqualsToken */ || currentToken_1 === 41 /* AsteriskToken */ || - currentToken_1 === 18 /* OpenBraceToken */ || currentToken_1 === 88 /* DefaultKeyword */ || - currentToken_1 === 127 /* AsKeyword */) { + if (currentToken_1 === 63 /* SyntaxKind.EqualsToken */ || currentToken_1 === 41 /* SyntaxKind.AsteriskToken */ || + currentToken_1 === 18 /* SyntaxKind.OpenBraceToken */ || currentToken_1 === 88 /* SyntaxKind.DefaultKeyword */ || + currentToken_1 === 127 /* SyntaxKind.AsKeyword */) { return true; } continue; - case 124 /* StaticKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: nextToken(); continue; default: @@ -36155,51 +36194,51 @@ var ts; } function isStartOfStatement() { switch (token()) { - case 59 /* AtToken */: - case 26 /* SemicolonToken */: - case 18 /* OpenBraceToken */: - case 113 /* VarKeyword */: - case 119 /* LetKeyword */: - case 98 /* FunctionKeyword */: - case 84 /* ClassKeyword */: - case 92 /* EnumKeyword */: - case 99 /* IfKeyword */: - case 90 /* DoKeyword */: - case 115 /* WhileKeyword */: - case 97 /* ForKeyword */: - case 86 /* ContinueKeyword */: - case 81 /* BreakKeyword */: - case 105 /* ReturnKeyword */: - case 116 /* WithKeyword */: - case 107 /* SwitchKeyword */: - case 109 /* ThrowKeyword */: - case 111 /* TryKeyword */: - case 87 /* DebuggerKeyword */: + case 59 /* SyntaxKind.AtToken */: + case 26 /* SyntaxKind.SemicolonToken */: + case 18 /* SyntaxKind.OpenBraceToken */: + case 113 /* SyntaxKind.VarKeyword */: + case 119 /* SyntaxKind.LetKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: + case 99 /* SyntaxKind.IfKeyword */: + case 90 /* SyntaxKind.DoKeyword */: + case 115 /* SyntaxKind.WhileKeyword */: + case 97 /* SyntaxKind.ForKeyword */: + case 86 /* SyntaxKind.ContinueKeyword */: + case 81 /* SyntaxKind.BreakKeyword */: + case 105 /* SyntaxKind.ReturnKeyword */: + case 116 /* SyntaxKind.WithKeyword */: + case 107 /* SyntaxKind.SwitchKeyword */: + case 109 /* SyntaxKind.ThrowKeyword */: + case 111 /* SyntaxKind.TryKeyword */: + case 87 /* SyntaxKind.DebuggerKeyword */: // 'catch' and 'finally' do not actually indicate that the code is part of a statement, // however, we say they are here so that we may gracefully parse them and error later. // falls through - case 83 /* CatchKeyword */: - case 96 /* FinallyKeyword */: + case 83 /* SyntaxKind.CatchKeyword */: + case 96 /* SyntaxKind.FinallyKeyword */: return true; - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: return isStartOfDeclaration() || lookAhead(nextTokenIsOpenParenOrLessThanOrDot); - case 85 /* ConstKeyword */: - case 93 /* ExportKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: return isStartOfDeclaration(); - case 131 /* AsyncKeyword */: - case 135 /* DeclareKeyword */: - case 118 /* InterfaceKeyword */: - case 141 /* ModuleKeyword */: - case 142 /* NamespaceKeyword */: - case 152 /* TypeKeyword */: - case 157 /* GlobalKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: + case 141 /* SyntaxKind.ModuleKeyword */: + case 142 /* SyntaxKind.NamespaceKeyword */: + case 152 /* SyntaxKind.TypeKeyword */: + case 157 /* SyntaxKind.GlobalKeyword */: // When these don't start a declaration, they're an identifier in an expression statement return true; - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 124 /* StaticKeyword */: - case 145 /* ReadonlyKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: // When these don't start a declaration, they may be the start of a class member if an identifier // immediately follows. Otherwise they're an identifier in an expression statement. return isStartOfDeclaration() || !lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); @@ -36209,7 +36248,7 @@ var ts; } function nextTokenIsBindingIdentifierOrStartOfDestructuring() { nextToken(); - return isBindingIdentifier() || token() === 18 /* OpenBraceToken */ || token() === 22 /* OpenBracketToken */; + return isBindingIdentifier() || token() === 18 /* SyntaxKind.OpenBraceToken */ || token() === 22 /* SyntaxKind.OpenBracketToken */; } function isLetDeclaration() { // In ES6 'let' always starts a lexical declaration if followed by an identifier or { @@ -36218,68 +36257,68 @@ var ts; } function parseStatement() { switch (token()) { - case 26 /* SemicolonToken */: + case 26 /* SyntaxKind.SemicolonToken */: return parseEmptyStatement(); - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: return parseBlock(/*ignoreMissingOpenBrace*/ false); - case 113 /* VarKeyword */: + case 113 /* SyntaxKind.VarKeyword */: return parseVariableStatement(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined); - case 119 /* LetKeyword */: + case 119 /* SyntaxKind.LetKeyword */: if (isLetDeclaration()) { return parseVariableStatement(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined); } break; - case 98 /* FunctionKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: return parseFunctionDeclaration(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined); - case 84 /* ClassKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: return parseClassDeclaration(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined); - case 99 /* IfKeyword */: + case 99 /* SyntaxKind.IfKeyword */: return parseIfStatement(); - case 90 /* DoKeyword */: + case 90 /* SyntaxKind.DoKeyword */: return parseDoStatement(); - case 115 /* WhileKeyword */: + case 115 /* SyntaxKind.WhileKeyword */: return parseWhileStatement(); - case 97 /* ForKeyword */: + case 97 /* SyntaxKind.ForKeyword */: return parseForOrForInOrForOfStatement(); - case 86 /* ContinueKeyword */: - return parseBreakOrContinueStatement(245 /* ContinueStatement */); - case 81 /* BreakKeyword */: - return parseBreakOrContinueStatement(246 /* BreakStatement */); - case 105 /* ReturnKeyword */: + case 86 /* SyntaxKind.ContinueKeyword */: + return parseBreakOrContinueStatement(245 /* SyntaxKind.ContinueStatement */); + case 81 /* SyntaxKind.BreakKeyword */: + return parseBreakOrContinueStatement(246 /* SyntaxKind.BreakStatement */); + case 105 /* SyntaxKind.ReturnKeyword */: return parseReturnStatement(); - case 116 /* WithKeyword */: + case 116 /* SyntaxKind.WithKeyword */: return parseWithStatement(); - case 107 /* SwitchKeyword */: + case 107 /* SyntaxKind.SwitchKeyword */: return parseSwitchStatement(); - case 109 /* ThrowKeyword */: + case 109 /* SyntaxKind.ThrowKeyword */: return parseThrowStatement(); - case 111 /* TryKeyword */: + case 111 /* SyntaxKind.TryKeyword */: // Include 'catch' and 'finally' for error recovery. // falls through - case 83 /* CatchKeyword */: - case 96 /* FinallyKeyword */: + case 83 /* SyntaxKind.CatchKeyword */: + case 96 /* SyntaxKind.FinallyKeyword */: return parseTryStatement(); - case 87 /* DebuggerKeyword */: + case 87 /* SyntaxKind.DebuggerKeyword */: return parseDebuggerStatement(); - case 59 /* AtToken */: + case 59 /* SyntaxKind.AtToken */: return parseDeclaration(); - case 131 /* AsyncKeyword */: - case 118 /* InterfaceKeyword */: - case 152 /* TypeKeyword */: - case 141 /* ModuleKeyword */: - case 142 /* NamespaceKeyword */: - case 135 /* DeclareKeyword */: - case 85 /* ConstKeyword */: - case 92 /* EnumKeyword */: - case 93 /* ExportKeyword */: - case 100 /* ImportKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 123 /* PublicKeyword */: - case 126 /* AbstractKeyword */: - case 124 /* StaticKeyword */: - case 145 /* ReadonlyKeyword */: - case 157 /* GlobalKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: + case 152 /* SyntaxKind.TypeKeyword */: + case 141 /* SyntaxKind.ModuleKeyword */: + case 142 /* SyntaxKind.NamespaceKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 157 /* SyntaxKind.GlobalKeyword */: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -36288,7 +36327,7 @@ var ts; return parseExpressionOrLabeledStatement(); } function isDeclareModifier(modifier) { - return modifier.kind === 135 /* DeclareKeyword */; + return modifier.kind === 135 /* SyntaxKind.DeclareKeyword */; } function parseDeclaration() { // TODO: Can we hold onto the parsed decorators/modifiers and advance the scanner @@ -36311,16 +36350,16 @@ var ts; if (isAmbient) { for (var _i = 0, _a = modifiers; _i < _a.length; _i++) { var m = _a[_i]; - m.flags |= 16777216 /* Ambient */; + m.flags |= 16777216 /* NodeFlags.Ambient */; } - return doInsideOfContext(16777216 /* Ambient */, function () { return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); }); + return doInsideOfContext(16777216 /* NodeFlags.Ambient */, function () { return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); }); } else { return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); } } function tryReuseAmbientDeclaration() { - return doInsideOfContext(16777216 /* Ambient */, function () { + return doInsideOfContext(16777216 /* NodeFlags.Ambient */, function () { var node = currentNode(parsingContext); if (node) { return consumeNode(node); @@ -36329,33 +36368,33 @@ var ts; } function parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers) { switch (token()) { - case 113 /* VarKeyword */: - case 119 /* LetKeyword */: - case 85 /* ConstKeyword */: + case 113 /* SyntaxKind.VarKeyword */: + case 119 /* SyntaxKind.LetKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: return parseVariableStatement(pos, hasJSDoc, decorators, modifiers); - case 98 /* FunctionKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: return parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers); - case 84 /* ClassKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: return parseClassDeclaration(pos, hasJSDoc, decorators, modifiers); - case 118 /* InterfaceKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: return parseInterfaceDeclaration(pos, hasJSDoc, decorators, modifiers); - case 152 /* TypeKeyword */: + case 152 /* SyntaxKind.TypeKeyword */: return parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers); - case 92 /* EnumKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: return parseEnumDeclaration(pos, hasJSDoc, decorators, modifiers); - case 157 /* GlobalKeyword */: - case 141 /* ModuleKeyword */: - case 142 /* NamespaceKeyword */: + case 157 /* SyntaxKind.GlobalKeyword */: + case 141 /* SyntaxKind.ModuleKeyword */: + case 142 /* SyntaxKind.NamespaceKeyword */: return parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers); - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: return parseImportDeclarationOrImportEqualsDeclaration(pos, hasJSDoc, decorators, modifiers); - case 93 /* ExportKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: nextToken(); switch (token()) { - case 88 /* DefaultKeyword */: - case 63 /* EqualsToken */: + case 88 /* SyntaxKind.DefaultKeyword */: + case 63 /* SyntaxKind.EqualsToken */: return parseExportAssignment(pos, hasJSDoc, decorators, modifiers); - case 127 /* AsKeyword */: + case 127 /* SyntaxKind.AsKeyword */: return parseNamespaceExportDeclaration(pos, hasJSDoc, decorators, modifiers); default: return parseExportDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36364,7 +36403,7 @@ var ts; if (decorators || modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration // would follow. For recovery and error reporting purposes, return an incomplete declaration. - var missing = createMissingNode(276 /* MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(276 /* SyntaxKind.MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); ts.setTextRangePos(missing, pos); missing.decorators = decorators; missing.modifiers = modifiers; @@ -36375,10 +36414,10 @@ var ts; } function nextTokenIsIdentifierOrStringLiteralOnSameLine() { nextToken(); - return !scanner.hasPrecedingLineBreak() && (isIdentifier() || token() === 10 /* StringLiteral */); + return !scanner.hasPrecedingLineBreak() && (isIdentifier() || token() === 10 /* SyntaxKind.StringLiteral */); } function parseFunctionBlockOrSemicolon(flags, diagnosticMessage) { - if (token() !== 18 /* OpenBraceToken */ && canParseSemicolon()) { + if (token() !== 18 /* SyntaxKind.OpenBraceToken */ && canParseSemicolon()) { parseSemicolon(); return; } @@ -36387,26 +36426,26 @@ var ts; // DECLARATIONS function parseArrayBindingElement() { var pos = getNodePos(); - if (token() === 27 /* CommaToken */) { + if (token() === 27 /* SyntaxKind.CommaToken */) { return finishNode(factory.createOmittedExpression(), pos); } - var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */); + var dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */); var name = parseIdentifierOrPattern(); var initializer = parseInitializer(); return finishNode(factory.createBindingElement(dotDotDotToken, /*propertyName*/ undefined, name, initializer), pos); } function parseObjectBindingElement() { var pos = getNodePos(); - var dotDotDotToken = parseOptionalToken(25 /* DotDotDotToken */); + var dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */); var tokenIsIdentifier = isBindingIdentifier(); var propertyName = parsePropertyName(); var name; - if (tokenIsIdentifier && token() !== 58 /* ColonToken */) { + if (tokenIsIdentifier && token() !== 58 /* SyntaxKind.ColonToken */) { name = propertyName; propertyName = undefined; } else { - parseExpected(58 /* ColonToken */); + parseExpected(58 /* SyntaxKind.ColonToken */); name = parseIdentifierOrPattern(); } var initializer = parseInitializer(); @@ -36414,29 +36453,29 @@ var ts; } function parseObjectBindingPattern() { var pos = getNodePos(); - parseExpected(18 /* OpenBraceToken */); - var elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement); - parseExpected(19 /* CloseBraceToken */); + parseExpected(18 /* SyntaxKind.OpenBraceToken */); + var elements = parseDelimitedList(9 /* ParsingContext.ObjectBindingElements */, parseObjectBindingElement); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); return finishNode(factory.createObjectBindingPattern(elements), pos); } function parseArrayBindingPattern() { var pos = getNodePos(); - parseExpected(22 /* OpenBracketToken */); - var elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement); - parseExpected(23 /* CloseBracketToken */); + parseExpected(22 /* SyntaxKind.OpenBracketToken */); + var elements = parseDelimitedList(10 /* ParsingContext.ArrayBindingElements */, parseArrayBindingElement); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); return finishNode(factory.createArrayBindingPattern(elements), pos); } function isBindingIdentifierOrPrivateIdentifierOrPattern() { - return token() === 18 /* OpenBraceToken */ - || token() === 22 /* OpenBracketToken */ - || token() === 80 /* PrivateIdentifier */ + return token() === 18 /* SyntaxKind.OpenBraceToken */ + || token() === 22 /* SyntaxKind.OpenBracketToken */ + || token() === 80 /* SyntaxKind.PrivateIdentifier */ || isBindingIdentifier(); } function parseIdentifierOrPattern(privateIdentifierDiagnosticMessage) { - if (token() === 22 /* OpenBracketToken */) { + if (token() === 22 /* SyntaxKind.OpenBracketToken */) { return parseArrayBindingPattern(); } - if (token() === 18 /* OpenBraceToken */) { + if (token() === 18 /* SyntaxKind.OpenBraceToken */) { return parseObjectBindingPattern(); } return parseBindingIdentifier(privateIdentifierDiagnosticMessage); @@ -36449,8 +36488,8 @@ var ts; var hasJSDoc = hasPrecedingJSDocComment(); var name = parseIdentifierOrPattern(ts.Diagnostics.Private_identifiers_are_not_allowed_in_variable_declarations); var exclamationToken; - if (allowExclamation && name.kind === 79 /* Identifier */ && - token() === 53 /* ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { + if (allowExclamation && name.kind === 79 /* SyntaxKind.Identifier */ && + token() === 53 /* SyntaxKind.ExclamationToken */ && !scanner.hasPrecedingLineBreak()) { exclamationToken = parseTokenNode(); } var type = parseTypeAnnotation(); @@ -36462,13 +36501,13 @@ var ts; var pos = getNodePos(); var flags = 0; switch (token()) { - case 113 /* VarKeyword */: + case 113 /* SyntaxKind.VarKeyword */: break; - case 119 /* LetKeyword */: - flags |= 1 /* Let */; + case 119 /* SyntaxKind.LetKeyword */: + flags |= 1 /* NodeFlags.Let */; break; - case 85 /* ConstKeyword */: - flags |= 2 /* Const */; + case 85 /* SyntaxKind.ConstKeyword */: + flags |= 2 /* NodeFlags.Const */; break; default: ts.Debug.fail(); @@ -36484,19 +36523,19 @@ var ts; // this context. // The checker will then give an error that there is an empty declaration list. var declarations; - if (token() === 160 /* OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 160 /* SyntaxKind.OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { declarations = createMissingList(); } else { var savedDisallowIn = inDisallowInContext(); setDisallowInContext(inForStatementInitializer); - declarations = parseDelimitedList(8 /* VariableDeclarations */, inForStatementInitializer ? parseVariableDeclaration : parseVariableDeclarationAllowExclamation); + declarations = parseDelimitedList(8 /* ParsingContext.VariableDeclarations */, inForStatementInitializer ? parseVariableDeclaration : parseVariableDeclarationAllowExclamation); setDisallowInContext(savedDisallowIn); } return finishNode(factory.createVariableDeclarationList(declarations, flags), pos); } function canFollowContextualOfKeyword() { - return nextTokenIsIdentifier() && nextToken() === 21 /* CloseParenToken */; + return nextTokenIsIdentifier() && nextToken() === 21 /* SyntaxKind.CloseParenToken */; } function parseVariableStatement(pos, hasJSDoc, decorators, modifiers) { var declarationList = parseVariableDeclarationList(/*inForStatementInitializer*/ false); @@ -36509,27 +36548,27 @@ var ts; function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) { var savedAwaitContext = inAwaitContext(); var modifierFlags = ts.modifiersToFlags(modifiers); - parseExpected(98 /* FunctionKeyword */); - var asteriskToken = parseOptionalToken(41 /* AsteriskToken */); + parseExpected(98 /* SyntaxKind.FunctionKeyword */); + var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); // We don't parse the name here in await context, instead we will report a grammar error in the checker. - var name = modifierFlags & 512 /* Default */ ? parseOptionalBindingIdentifier() : parseBindingIdentifier(); - var isGenerator = asteriskToken ? 1 /* Yield */ : 0 /* None */; - var isAsync = modifierFlags & 256 /* Async */ ? 2 /* Await */ : 0 /* None */; + var name = modifierFlags & 512 /* ModifierFlags.Default */ ? parseOptionalBindingIdentifier() : parseBindingIdentifier(); + var isGenerator = asteriskToken ? 1 /* SignatureFlags.Yield */ : 0 /* SignatureFlags.None */; + var isAsync = modifierFlags & 256 /* ModifierFlags.Async */ ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; var typeParameters = parseTypeParameters(); - if (modifierFlags & 1 /* Export */) + if (modifierFlags & 1 /* ModifierFlags.Export */) setAwaitContext(/*value*/ true); var parameters = parseParameters(isGenerator | isAsync); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected); setAwaitContext(savedAwaitContext); var node = factory.createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body); return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseConstructorName() { - if (token() === 134 /* ConstructorKeyword */) { - return parseExpected(134 /* ConstructorKeyword */); + if (token() === 134 /* SyntaxKind.ConstructorKeyword */) { + return parseExpected(134 /* SyntaxKind.ConstructorKeyword */); } - if (token() === 10 /* StringLiteral */ && lookAhead(nextToken) === 20 /* OpenParenToken */) { + if (token() === 10 /* SyntaxKind.StringLiteral */ && lookAhead(nextToken) === 20 /* SyntaxKind.OpenParenToken */) { return tryParse(function () { var literalNode = parseLiteralNode(); return literalNode.text === "constructor" ? literalNode : undefined; @@ -36540,9 +36579,9 @@ var ts; return tryParse(function () { if (parseConstructorName()) { var typeParameters = parseTypeParameters(); - var parameters = parseParameters(0 /* None */); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); - var body = parseFunctionBlockOrSemicolon(0 /* None */, ts.Diagnostics.or_expected); + var parameters = parseParameters(0 /* SignatureFlags.None */); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); + var body = parseFunctionBlockOrSemicolon(0 /* SignatureFlags.None */, ts.Diagnostics.or_expected); var node = factory.createConstructorDeclaration(decorators, modifiers, parameters, body); // Attach `typeParameters` and `type` if they exist so that we can report them in the grammar checker. node.typeParameters = typeParameters; @@ -36552,11 +36591,11 @@ var ts; }); } function parseMethodDeclaration(pos, hasJSDoc, decorators, modifiers, asteriskToken, name, questionToken, exclamationToken, diagnosticMessage) { - var isGenerator = asteriskToken ? 1 /* Yield */ : 0 /* None */; - var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* Await */ : 0 /* None */; + var isGenerator = asteriskToken ? 1 /* SignatureFlags.Yield */ : 0 /* SignatureFlags.None */; + var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; var typeParameters = parseTypeParameters(); var parameters = parseParameters(isGenerator | isAsync); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, diagnosticMessage); var node = factory.createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body); // An exclamation token on a method is invalid syntax and will be handled by the grammar checker @@ -36564,20 +36603,20 @@ var ts; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parsePropertyDeclaration(pos, hasJSDoc, decorators, modifiers, name, questionToken) { - var exclamationToken = !questionToken && !scanner.hasPrecedingLineBreak() ? parseOptionalToken(53 /* ExclamationToken */) : undefined; + var exclamationToken = !questionToken && !scanner.hasPrecedingLineBreak() ? parseOptionalToken(53 /* SyntaxKind.ExclamationToken */) : undefined; var type = parseTypeAnnotation(); - var initializer = doOutsideOfContext(8192 /* YieldContext */ | 32768 /* AwaitContext */ | 4096 /* DisallowInContext */, parseInitializer); + var initializer = doOutsideOfContext(8192 /* NodeFlags.YieldContext */ | 32768 /* NodeFlags.AwaitContext */ | 4096 /* NodeFlags.DisallowInContext */, parseInitializer); parseSemicolonAfterPropertyName(name, type, initializer); var node = factory.createPropertyDeclaration(decorators, modifiers, name, questionToken || exclamationToken, type, initializer); return withJSDoc(finishNode(node, pos), hasJSDoc); } function parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers) { - var asteriskToken = parseOptionalToken(41 /* AsteriskToken */); + var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); var name = parsePropertyName(); // Note: this is not legal as per the grammar. But we allow it in the parser and // report an error in the grammar checker. - var questionToken = parseOptionalToken(57 /* QuestionToken */); - if (asteriskToken || token() === 20 /* OpenParenToken */ || token() === 29 /* LessThanToken */) { + var questionToken = parseOptionalToken(57 /* SyntaxKind.QuestionToken */); + if (asteriskToken || token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */) { return parseMethodDeclaration(pos, hasJSDoc, decorators, modifiers, asteriskToken, name, questionToken, /*exclamationToken*/ undefined, ts.Diagnostics.or_expected); } return parsePropertyDeclaration(pos, hasJSDoc, decorators, modifiers, name, questionToken); @@ -36585,21 +36624,21 @@ var ts; function parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, kind) { var name = parsePropertyName(); var typeParameters = parseTypeParameters(); - var parameters = parseParameters(0 /* None */); - var type = parseReturnType(58 /* ColonToken */, /*isType*/ false); - var body = parseFunctionBlockOrSemicolon(0 /* None */); - var node = kind === 172 /* GetAccessor */ + var parameters = parseParameters(0 /* SignatureFlags.None */); + var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); + var body = parseFunctionBlockOrSemicolon(0 /* SignatureFlags.None */); + var node = kind === 172 /* SyntaxKind.GetAccessor */ ? factory.createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body) : factory.createSetAccessorDeclaration(decorators, modifiers, name, parameters, body); // Keep track of `typeParameters` (for both) and `type` (for setters) if they were parsed those indicate grammar errors node.typeParameters = typeParameters; - if (type && node.kind === 173 /* SetAccessor */) + if (type && node.kind === 173 /* SyntaxKind.SetAccessor */) node.type = type; return withJSDoc(finishNode(node, pos), hasJSDoc); } function isClassMemberStart() { var idToken; - if (token() === 59 /* AtToken */) { + if (token() === 59 /* SyntaxKind.AtToken */) { return true; } // Eat up all modifiers, but hold on to the last one in case it is actually an identifier. @@ -36616,7 +36655,7 @@ var ts; } nextToken(); } - if (token() === 41 /* AsteriskToken */) { + if (token() === 41 /* SyntaxKind.AsteriskToken */) { return true; } // Try to get the first property-like token following all modifiers. @@ -36626,24 +36665,24 @@ var ts; nextToken(); } // Index signatures and computed properties are class members; we can parse. - if (token() === 22 /* OpenBracketToken */) { + if (token() === 22 /* SyntaxKind.OpenBracketToken */) { return true; } // If we were able to get any potential identifier... if (idToken !== undefined) { // If we have a non-keyword identifier, or if we have an accessor, then it's safe to parse. - if (!ts.isKeyword(idToken) || idToken === 149 /* SetKeyword */ || idToken === 136 /* GetKeyword */) { + if (!ts.isKeyword(idToken) || idToken === 149 /* SyntaxKind.SetKeyword */ || idToken === 136 /* SyntaxKind.GetKeyword */) { return true; } // If it *is* a keyword, but not an accessor, check a little farther along // to see if it should actually be parsed as a class member. switch (token()) { - case 20 /* OpenParenToken */: // Method declaration - case 29 /* LessThanToken */: // Generic Method declaration - case 53 /* ExclamationToken */: // Non-null assertion on property name - case 58 /* ColonToken */: // Type Annotation for declaration - case 63 /* EqualsToken */: // Initializer for declaration - case 57 /* QuestionToken */: // Not valid, but permitted so that it gets caught later on. + case 20 /* SyntaxKind.OpenParenToken */: // Method declaration + case 29 /* SyntaxKind.LessThanToken */: // Generic Method declaration + case 53 /* SyntaxKind.ExclamationToken */: // Non-null assertion on property name + case 58 /* SyntaxKind.ColonToken */: // Type Annotation for declaration + case 63 /* SyntaxKind.EqualsToken */: // Initializer for declaration + case 57 /* SyntaxKind.QuestionToken */: // Not valid, but permitted so that it gets caught later on. return true; default: // Covers @@ -36657,7 +36696,7 @@ var ts; return false; } function parseClassStaticBlockDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpectedToken(124 /* StaticKeyword */); + parseExpectedToken(124 /* SyntaxKind.StaticKeyword */); var body = parseClassStaticBlockBody(); return withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(decorators, modifiers, body), pos), hasJSDoc); } @@ -36672,7 +36711,7 @@ var ts; return body; } function parseDecoratorExpression() { - if (inAwaitContext() && token() === 132 /* AwaitKeyword */) { + if (inAwaitContext() && token() === 132 /* SyntaxKind.AwaitKeyword */) { // `@await` is is disallowed in an [Await] context, but can cause parsing to go off the rails // This simply parses the missing identifier and moves on. var pos = getNodePos(); @@ -36685,7 +36724,7 @@ var ts; } function tryParseDecorator() { var pos = getNodePos(); - if (!parseOptional(59 /* AtToken */)) { + if (!parseOptional(59 /* SyntaxKind.AtToken */)) { return undefined; } var expression = doInDecoratorContext(parseDecoratorExpression); @@ -36702,17 +36741,17 @@ var ts; function tryParseModifier(permitInvalidConstAsModifier, stopOnStartOfClassStaticBlock, hasSeenStaticModifier) { var pos = getNodePos(); var kind = token(); - if (token() === 85 /* ConstKeyword */ && permitInvalidConstAsModifier) { + if (token() === 85 /* SyntaxKind.ConstKeyword */ && permitInvalidConstAsModifier) { // We need to ensure that any subsequent modifiers appear on the same line // so that when 'const' is a standalone declaration, we don't issue an error. if (!tryParse(nextTokenIsOnSameLineAndCanFollowModifier)) { return undefined; } } - else if (stopOnStartOfClassStaticBlock && token() === 124 /* StaticKeyword */ && lookAhead(nextTokenIsOpenBrace)) { + else if (stopOnStartOfClassStaticBlock && token() === 124 /* SyntaxKind.StaticKeyword */ && lookAhead(nextTokenIsOpenBrace)) { return undefined; } - else if (hasSeenStaticModifier && token() === 124 /* StaticKeyword */) { + else if (hasSeenStaticModifier && token() === 124 /* SyntaxKind.StaticKeyword */) { return undefined; } else { @@ -36733,7 +36772,7 @@ var ts; var pos = getNodePos(); var list, modifier, hasSeenStatic = false; while (modifier = tryParseModifier(permitInvalidConstAsModifier, stopOnStartOfClassStaticBlock, hasSeenStatic)) { - if (modifier.kind === 124 /* StaticKeyword */) + if (modifier.kind === 124 /* SyntaxKind.StaticKeyword */) hasSeenStatic = true; list = ts.append(list, modifier); } @@ -36741,33 +36780,33 @@ var ts; } function parseModifiersForArrowFunction() { var modifiers; - if (token() === 131 /* AsyncKeyword */) { + if (token() === 131 /* SyntaxKind.AsyncKeyword */) { var pos = getNodePos(); nextToken(); - var modifier = finishNode(factory.createToken(131 /* AsyncKeyword */), pos); + var modifier = finishNode(factory.createToken(131 /* SyntaxKind.AsyncKeyword */), pos); modifiers = createNodeArray([modifier], pos); } return modifiers; } function parseClassElement() { var pos = getNodePos(); - if (token() === 26 /* SemicolonToken */) { + if (token() === 26 /* SyntaxKind.SemicolonToken */) { nextToken(); return finishNode(factory.createSemicolonClassElement(), pos); } var hasJSDoc = hasPrecedingJSDocComment(); var decorators = parseDecorators(); var modifiers = parseModifiers(/*permitInvalidConstAsModifier*/ true, /*stopOnStartOfClassStaticBlock*/ true); - if (token() === 124 /* StaticKeyword */ && lookAhead(nextTokenIsOpenBrace)) { + if (token() === 124 /* SyntaxKind.StaticKeyword */ && lookAhead(nextTokenIsOpenBrace)) { return parseClassStaticBlockDeclaration(pos, hasJSDoc, decorators, modifiers); } - if (parseContextualModifier(136 /* GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* GetAccessor */); + if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */); } - if (parseContextualModifier(149 /* SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SetAccessor */); + if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */); } - if (token() === 134 /* ConstructorKeyword */ || token() === 10 /* StringLiteral */) { + if (token() === 134 /* SyntaxKind.ConstructorKeyword */ || token() === 10 /* SyntaxKind.StringLiteral */) { var constructorDeclaration = tryParseConstructorDeclaration(pos, hasJSDoc, decorators, modifiers); if (constructorDeclaration) { return constructorDeclaration; @@ -36779,17 +36818,17 @@ var ts; // It is very important that we check this *after* checking indexers because // the [ token can start an index signature or a computed property name if (ts.tokenIsIdentifierOrKeyword(token()) || - token() === 10 /* StringLiteral */ || - token() === 8 /* NumericLiteral */ || - token() === 41 /* AsteriskToken */ || - token() === 22 /* OpenBracketToken */) { + token() === 10 /* SyntaxKind.StringLiteral */ || + token() === 8 /* SyntaxKind.NumericLiteral */ || + token() === 41 /* SyntaxKind.AsteriskToken */ || + token() === 22 /* SyntaxKind.OpenBracketToken */) { var isAmbient = ts.some(modifiers, isDeclareModifier); if (isAmbient) { for (var _i = 0, _a = modifiers; _i < _a.length; _i++) { var m = _a[_i]; - m.flags |= 16777216 /* Ambient */; + m.flags |= 16777216 /* NodeFlags.Ambient */; } - return doInsideOfContext(16777216 /* Ambient */, function () { return parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers); }); + return doInsideOfContext(16777216 /* NodeFlags.Ambient */, function () { return parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers); }); } else { return parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36797,21 +36836,21 @@ var ts; } if (decorators || modifiers) { // treat this as a property declaration with a missing name. - var name = createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var name = createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); return parsePropertyDeclaration(pos, hasJSDoc, decorators, modifiers, name, /*questionToken*/ undefined); } // 'isClassMemberStart' should have hinted not to attempt parsing. return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined, 226 /* ClassExpression */); + return parseClassDeclarationOrExpression(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined, 226 /* SyntaxKind.ClassExpression */); } function parseClassDeclaration(pos, hasJSDoc, decorators, modifiers) { - return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 257 /* ClassDeclaration */); + return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 257 /* SyntaxKind.ClassDeclaration */); } function parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, kind) { var savedAwaitContext = inAwaitContext(); - parseExpected(84 /* ClassKeyword */); + parseExpected(84 /* SyntaxKind.ClassKeyword */); // We don't parse the name here in await context, instead we will report a grammar error in the checker. var name = parseNameOfClassDeclarationOrExpression(); var typeParameters = parseTypeParameters(); @@ -36819,17 +36858,17 @@ var ts; setAwaitContext(/*value*/ true); var heritageClauses = parseHeritageClauses(); var members; - if (parseExpected(18 /* OpenBraceToken */)) { + if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { // ClassTail[Yield,Await] : (Modified) See 14.5 // ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt } members = parseClassMembers(); - parseExpected(19 /* CloseBraceToken */); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); } else { members = createMissingList(); } setAwaitContext(savedAwaitContext); - var node = kind === 257 /* ClassDeclaration */ + var node = kind === 257 /* SyntaxKind.ClassDeclaration */ ? factory.createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) : factory.createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36845,45 +36884,45 @@ var ts; : undefined; } function isImplementsClause() { - return token() === 117 /* ImplementsKeyword */ && lookAhead(nextTokenIsIdentifierOrKeyword); + return token() === 117 /* SyntaxKind.ImplementsKeyword */ && lookAhead(nextTokenIsIdentifierOrKeyword); } function parseHeritageClauses() { // ClassTail[Yield,Await] : (Modified) See 14.5 // ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt } if (isHeritageClause()) { - return parseList(22 /* HeritageClauses */, parseHeritageClause); + return parseList(22 /* ParsingContext.HeritageClauses */, parseHeritageClause); } return undefined; } function parseHeritageClause() { var pos = getNodePos(); var tok = token(); - ts.Debug.assert(tok === 94 /* ExtendsKeyword */ || tok === 117 /* ImplementsKeyword */); // isListElement() should ensure this. + ts.Debug.assert(tok === 94 /* SyntaxKind.ExtendsKeyword */ || tok === 117 /* SyntaxKind.ImplementsKeyword */); // isListElement() should ensure this. nextToken(); - var types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments); + var types = parseDelimitedList(7 /* ParsingContext.HeritageClauseElement */, parseExpressionWithTypeArguments); return finishNode(factory.createHeritageClause(tok, types), pos); } function parseExpressionWithTypeArguments() { var pos = getNodePos(); var expression = parseLeftHandSideExpressionOrHigher(); - if (expression.kind === 228 /* ExpressionWithTypeArguments */) { + if (expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { return expression; } var typeArguments = tryParseTypeArguments(); return finishNode(factory.createExpressionWithTypeArguments(expression, typeArguments), pos); } function tryParseTypeArguments() { - return token() === 29 /* LessThanToken */ ? - parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */) : undefined; + return token() === 29 /* SyntaxKind.LessThanToken */ ? + parseBracketedList(20 /* ParsingContext.TypeArguments */, parseType, 29 /* SyntaxKind.LessThanToken */, 31 /* SyntaxKind.GreaterThanToken */) : undefined; } function isHeritageClause() { - return token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */; + return token() === 94 /* SyntaxKind.ExtendsKeyword */ || token() === 117 /* SyntaxKind.ImplementsKeyword */; } function parseClassMembers() { - return parseList(5 /* ClassMembers */, parseClassElement); + return parseList(5 /* ParsingContext.ClassMembers */, parseClassElement); } function parseInterfaceDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(118 /* InterfaceKeyword */); + parseExpected(118 /* SyntaxKind.InterfaceKeyword */); var name = parseIdentifier(); var typeParameters = parseTypeParameters(); var heritageClauses = parseHeritageClauses(); @@ -36892,11 +36931,11 @@ var ts; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(152 /* TypeKeyword */); + parseExpected(152 /* SyntaxKind.TypeKeyword */); var name = parseIdentifier(); var typeParameters = parseTypeParameters(); - parseExpected(63 /* EqualsToken */); - var type = token() === 138 /* IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType(); + parseExpected(63 /* SyntaxKind.EqualsToken */); + var type = token() === 138 /* SyntaxKind.IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType(); parseSemicolon(); var node = factory.createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36913,12 +36952,12 @@ var ts; return withJSDoc(finishNode(factory.createEnumMember(name, initializer), pos), hasJSDoc); } function parseEnumDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(92 /* EnumKeyword */); + parseExpected(92 /* SyntaxKind.EnumKeyword */); var name = parseIdentifier(); var members; - if (parseExpected(18 /* OpenBraceToken */)) { - members = doOutsideOfYieldAndAwaitContext(function () { return parseDelimitedList(6 /* EnumMembers */, parseEnumMember); }); - parseExpected(19 /* CloseBraceToken */); + if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { + members = doOutsideOfYieldAndAwaitContext(function () { return parseDelimitedList(6 /* ParsingContext.EnumMembers */, parseEnumMember); }); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); } else { members = createMissingList(); @@ -36929,9 +36968,9 @@ var ts; function parseModuleBlock() { var pos = getNodePos(); var statements; - if (parseExpected(18 /* OpenBraceToken */)) { - statements = parseList(1 /* BlockStatements */, parseStatement); - parseExpected(19 /* CloseBraceToken */); + if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { + statements = parseList(1 /* ParsingContext.BlockStatements */, parseStatement); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); } else { statements = createMissingList(); @@ -36941,10 +36980,10 @@ var ts; function parseModuleOrNamespaceDeclaration(pos, hasJSDoc, decorators, modifiers, flags) { // If we are parsing a dotted namespace name, we want to // propagate the 'Namespace' flag across the names if set. - var namespaceFlag = flags & 16 /* Namespace */; + var namespaceFlag = flags & 16 /* NodeFlags.Namespace */; var name = parseIdentifier(); - var body = parseOptional(24 /* DotToken */) - ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NestedNamespace */ | namespaceFlag) + var body = parseOptional(24 /* SyntaxKind.DotToken */) + ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NodeFlags.NestedNamespace */ | namespaceFlag) : parseModuleBlock(); var node = factory.createModuleDeclaration(decorators, modifiers, name, body, flags); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36952,17 +36991,17 @@ var ts; function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { var flags = 0; var name; - if (token() === 157 /* GlobalKeyword */) { + if (token() === 157 /* SyntaxKind.GlobalKeyword */) { // parse 'global' as name of global scope augmentation name = parseIdentifier(); - flags |= 1024 /* GlobalAugmentation */; + flags |= 1024 /* NodeFlags.GlobalAugmentation */; } else { name = parseLiteralNode(); name.text = internIdentifier(name.text); } var body; - if (token() === 18 /* OpenBraceToken */) { + if (token() === 18 /* SyntaxKind.OpenBraceToken */) { body = parseModuleBlock(); } else { @@ -36973,37 +37012,37 @@ var ts; } function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { var flags = 0; - if (token() === 157 /* GlobalKeyword */) { + if (token() === 157 /* SyntaxKind.GlobalKeyword */) { // global augmentation return parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers); } - else if (parseOptional(142 /* NamespaceKeyword */)) { - flags |= 16 /* Namespace */; + else if (parseOptional(142 /* SyntaxKind.NamespaceKeyword */)) { + flags |= 16 /* NodeFlags.Namespace */; } else { - parseExpected(141 /* ModuleKeyword */); - if (token() === 10 /* StringLiteral */) { + parseExpected(141 /* SyntaxKind.ModuleKeyword */); + if (token() === 10 /* SyntaxKind.StringLiteral */) { return parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers); } } return parseModuleOrNamespaceDeclaration(pos, hasJSDoc, decorators, modifiers, flags); } function isExternalModuleReference() { - return token() === 146 /* RequireKeyword */ && + return token() === 146 /* SyntaxKind.RequireKeyword */ && lookAhead(nextTokenIsOpenParen); } function nextTokenIsOpenParen() { - return nextToken() === 20 /* OpenParenToken */; + return nextToken() === 20 /* SyntaxKind.OpenParenToken */; } function nextTokenIsOpenBrace() { - return nextToken() === 18 /* OpenBraceToken */; + return nextToken() === 18 /* SyntaxKind.OpenBraceToken */; } function nextTokenIsSlash() { - return nextToken() === 43 /* SlashToken */; + return nextToken() === 43 /* SyntaxKind.SlashToken */; } function parseNamespaceExportDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(127 /* AsKeyword */); - parseExpected(142 /* NamespaceKeyword */); + parseExpected(127 /* SyntaxKind.AsKeyword */); + parseExpected(142 /* SyntaxKind.NamespaceKeyword */); var name = parseIdentifier(); parseSemicolon(); var node = factory.createNamespaceExportDeclaration(name); @@ -37013,7 +37052,7 @@ var ts; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseImportDeclarationOrImportEqualsDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(100 /* ImportKeyword */); + parseExpected(100 /* SyntaxKind.ImportKeyword */); var afterImportPos = scanner.getStartPos(); // We don't parse the identifier here in await context, instead we will report a grammar error in the checker. var identifier; @@ -37021,7 +37060,7 @@ var ts; identifier = parseIdentifier(); } var isTypeOnly = false; - if (token() !== 156 /* FromKeyword */ && + if (token() !== 156 /* SyntaxKind.FromKeyword */ && (identifier === null || identifier === void 0 ? void 0 : identifier.escapedText) === "type" && (isIdentifier() || tokenAfterImportDefinitelyProducesImportDeclaration())) { isTypeOnly = true; @@ -37035,15 +37074,15 @@ var ts; // import ModuleSpecifier; var importClause; if (identifier || // import id - token() === 41 /* AsteriskToken */ || // import * - token() === 18 /* OpenBraceToken */ // import { + token() === 41 /* SyntaxKind.AsteriskToken */ || // import * + token() === 18 /* SyntaxKind.OpenBraceToken */ // import { ) { importClause = parseImportClause(identifier, afterImportPos, isTypeOnly); - parseExpected(156 /* FromKeyword */); + parseExpected(156 /* SyntaxKind.FromKeyword */); } var moduleSpecifier = parseModuleSpecifier(); var assertClause; - if (token() === 129 /* AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 129 /* SyntaxKind.AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { assertClause = parseAssertClause(); } parseSemicolon(); @@ -37052,21 +37091,21 @@ var ts; } function parseAssertEntry() { var pos = getNodePos(); - var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* StringLiteral */); - parseExpected(58 /* ColonToken */); - var value = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); + var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* SyntaxKind.StringLiteral */); + parseExpected(58 /* SyntaxKind.ColonToken */); + var value = parseAssignmentExpressionOrHigher(); return finishNode(factory.createAssertEntry(name, value), pos); } function parseAssertClause(skipAssertKeyword) { var pos = getNodePos(); if (!skipAssertKeyword) { - parseExpected(129 /* AssertKeyword */); + parseExpected(129 /* SyntaxKind.AssertKeyword */); } var openBracePosition = scanner.getTokenPos(); - if (parseExpected(18 /* OpenBraceToken */)) { + if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { var multiLine = scanner.hasPrecedingLineBreak(); - var elements = parseDelimitedList(24 /* AssertEntries */, parseAssertEntry, /*considerSemicolonAsDelimiter*/ true); - if (!parseExpected(19 /* CloseBraceToken */)) { + var elements = parseDelimitedList(24 /* ParsingContext.AssertEntries */, parseAssertEntry, /*considerSemicolonAsDelimiter*/ true); + if (!parseExpected(19 /* SyntaxKind.CloseBraceToken */)) { var lastError = ts.lastOrUndefined(parseDiagnostics); if (lastError && lastError.code === ts.Diagnostics._0_expected.code) { ts.addRelatedInfo(lastError, ts.createDetachedDiagnostic(fileName, openBracePosition, 1, ts.Diagnostics.The_parser_expected_to_find_a_1_to_match_the_0_token_here, "{", "}")); @@ -37080,15 +37119,15 @@ var ts; } } function tokenAfterImportDefinitelyProducesImportDeclaration() { - return token() === 41 /* AsteriskToken */ || token() === 18 /* OpenBraceToken */; + return token() === 41 /* SyntaxKind.AsteriskToken */ || token() === 18 /* SyntaxKind.OpenBraceToken */; } function tokenAfterImportedIdentifierDefinitelyProducesImportDeclaration() { // In `import id ___`, the current token decides whether to produce // an ImportDeclaration or ImportEqualsDeclaration. - return token() === 27 /* CommaToken */ || token() === 156 /* FromKeyword */; + return token() === 27 /* SyntaxKind.CommaToken */ || token() === 156 /* SyntaxKind.FromKeyword */; } function parseImportEqualsDeclaration(pos, hasJSDoc, decorators, modifiers, identifier, isTypeOnly) { - parseExpected(63 /* EqualsToken */); + parseExpected(63 /* SyntaxKind.EqualsToken */); var moduleReference = parseModuleReference(); parseSemicolon(); var node = factory.createImportEqualsDeclaration(decorators, modifiers, isTypeOnly, identifier, moduleReference); @@ -37106,26 +37145,26 @@ var ts; // parse namespace or named imports var namedBindings; if (!identifier || - parseOptional(27 /* CommaToken */)) { - namedBindings = token() === 41 /* AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(269 /* NamedImports */); + parseOptional(27 /* SyntaxKind.CommaToken */)) { + namedBindings = token() === 41 /* SyntaxKind.AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(269 /* SyntaxKind.NamedImports */); } return finishNode(factory.createImportClause(isTypeOnly, identifier, namedBindings), pos); } function parseModuleReference() { return isExternalModuleReference() ? parseExternalModuleReference() - : parseEntityName(/*allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false); + : parseEntityName(/*allowReservedWords*/ false); } function parseExternalModuleReference() { var pos = getNodePos(); - parseExpected(146 /* RequireKeyword */); - parseExpected(20 /* OpenParenToken */); + parseExpected(146 /* SyntaxKind.RequireKeyword */); + parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = parseModuleSpecifier(); - parseExpected(21 /* CloseParenToken */); + parseExpected(21 /* SyntaxKind.CloseParenToken */); return finishNode(factory.createExternalModuleReference(expression), pos); } function parseModuleSpecifier() { - if (token() === 10 /* StringLiteral */) { + if (token() === 10 /* SyntaxKind.StringLiteral */) { var result = parseLiteralNode(); result.text = internIdentifier(result.text); return result; @@ -37141,8 +37180,8 @@ var ts; // NameSpaceImport: // * as ImportedBinding var pos = getNodePos(); - parseExpected(41 /* AsteriskToken */); - parseExpected(127 /* AsKeyword */); + parseExpected(41 /* SyntaxKind.AsteriskToken */); + parseExpected(127 /* SyntaxKind.AsKeyword */); var name = parseIdentifier(); return finishNode(factory.createNamespaceImport(name), pos); } @@ -37155,17 +37194,17 @@ var ts; // ImportsList: // ImportSpecifier // ImportsList, ImportSpecifier - var node = kind === 269 /* NamedImports */ - ? factory.createNamedImports(parseBracketedList(23 /* ImportOrExportSpecifiers */, parseImportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */)) - : factory.createNamedExports(parseBracketedList(23 /* ImportOrExportSpecifiers */, parseExportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */)); + var node = kind === 269 /* SyntaxKind.NamedImports */ + ? factory.createNamedImports(parseBracketedList(23 /* ParsingContext.ImportOrExportSpecifiers */, parseImportSpecifier, 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */)) + : factory.createNamedExports(parseBracketedList(23 /* ParsingContext.ImportOrExportSpecifiers */, parseExportSpecifier, 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */)); return finishNode(node, pos); } function parseExportSpecifier() { var hasJSDoc = hasPrecedingJSDocComment(); - return withJSDoc(parseImportOrExportSpecifier(275 /* ExportSpecifier */), hasJSDoc); + return withJSDoc(parseImportOrExportSpecifier(275 /* SyntaxKind.ExportSpecifier */), hasJSDoc); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(270 /* ImportSpecifier */); + return parseImportOrExportSpecifier(270 /* SyntaxKind.ImportSpecifier */); } function parseImportOrExportSpecifier(kind) { var pos = getNodePos(); @@ -37190,10 +37229,10 @@ var ts; // import { type as } from "mod"; - isTypeOnly: true, name: as // import { type as as } from "mod"; - isTypeOnly: false, name: as, propertyName: type // import { type as as as } from "mod"; - isTypeOnly: true, name: as, propertyName: as - if (token() === 127 /* AsKeyword */) { + if (token() === 127 /* SyntaxKind.AsKeyword */) { // { type as ...? } var firstAs = parseIdentifierName(); - if (token() === 127 /* AsKeyword */) { + if (token() === 127 /* SyntaxKind.AsKeyword */) { // { type as as ...? } var secondAs = parseIdentifierName(); if (ts.tokenIsIdentifierOrKeyword(token())) { @@ -37228,15 +37267,15 @@ var ts; name = parseNameWithKeywordCheck(); } } - if (canParseAsKeyword && token() === 127 /* AsKeyword */) { + if (canParseAsKeyword && token() === 127 /* SyntaxKind.AsKeyword */) { propertyName = name; - parseExpected(127 /* AsKeyword */); + parseExpected(127 /* SyntaxKind.AsKeyword */); name = parseNameWithKeywordCheck(); } - if (kind === 270 /* ImportSpecifier */ && checkIdentifierIsKeyword) { + if (kind === 270 /* SyntaxKind.ImportSpecifier */ && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } - var node = kind === 270 /* ImportSpecifier */ + var node = kind === 270 /* SyntaxKind.ImportSpecifier */ ? factory.createImportSpecifier(isTypeOnly, propertyName, name) : factory.createExportSpecifier(isTypeOnly, propertyName, name); return finishNode(node, pos); @@ -37256,26 +37295,26 @@ var ts; var exportClause; var moduleSpecifier; var assertClause; - var isTypeOnly = parseOptional(152 /* TypeKeyword */); + var isTypeOnly = parseOptional(152 /* SyntaxKind.TypeKeyword */); var namespaceExportPos = getNodePos(); - if (parseOptional(41 /* AsteriskToken */)) { - if (parseOptional(127 /* AsKeyword */)) { + if (parseOptional(41 /* SyntaxKind.AsteriskToken */)) { + if (parseOptional(127 /* SyntaxKind.AsKeyword */)) { exportClause = parseNamespaceExport(namespaceExportPos); } - parseExpected(156 /* FromKeyword */); + parseExpected(156 /* SyntaxKind.FromKeyword */); moduleSpecifier = parseModuleSpecifier(); } else { - exportClause = parseNamedImportsOrExports(273 /* NamedExports */); + exportClause = parseNamedImportsOrExports(273 /* SyntaxKind.NamedExports */); // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token() === 156 /* FromKeyword */ || (token() === 10 /* StringLiteral */ && !scanner.hasPrecedingLineBreak())) { - parseExpected(156 /* FromKeyword */); + if (token() === 156 /* SyntaxKind.FromKeyword */ || (token() === 10 /* SyntaxKind.StringLiteral */ && !scanner.hasPrecedingLineBreak())) { + parseExpected(156 /* SyntaxKind.FromKeyword */); moduleSpecifier = parseModuleSpecifier(); } } - if (moduleSpecifier && token() === 129 /* AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (moduleSpecifier && token() === 129 /* SyntaxKind.AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { assertClause = parseAssertClause(); } parseSemicolon(); @@ -37287,13 +37326,13 @@ var ts; var savedAwaitContext = inAwaitContext(); setAwaitContext(/*value*/ true); var isExportEquals; - if (parseOptional(63 /* EqualsToken */)) { + if (parseOptional(63 /* SyntaxKind.EqualsToken */)) { isExportEquals = true; } else { - parseExpected(88 /* DefaultKeyword */); + parseExpected(88 /* SyntaxKind.DefaultKeyword */); } - var expression = parseAssignmentExpressionOrHigher(/*disallowReturnTypeInArrowFunction*/ false); + var expression = parseAssignmentExpressionOrHigher(); parseSemicolon(); setAwaitContext(savedAwaitContext); var node = factory.createExportAssignment(decorators, modifiers, isExportEquals, expression); @@ -37337,11 +37376,11 @@ var ts; var JSDocParser; (function (JSDocParser) { function parseJSDocTypeExpressionForTests(content, start, length) { - initializeState("file.js", content, 99 /* Latest */, /*_syntaxCursor:*/ undefined, 1 /* JS */); + initializeState("file.js", content, 99 /* ScriptTarget.Latest */, /*_syntaxCursor:*/ undefined, 1 /* ScriptKind.JS */); scanner.setText(content, start, length); currentToken = scanner.scan(); var jsDocTypeExpression = parseJSDocTypeExpression(); - var sourceFile = createSourceFile("file.js", 99 /* Latest */, 1 /* JS */, /*isDeclarationFile*/ false, [], factory.createToken(1 /* EndOfFileToken */), 0 /* None */, ts.noop); + var sourceFile = createSourceFile("file.js", 99 /* ScriptTarget.Latest */, 1 /* ScriptKind.JS */, /*isDeclarationFile*/ false, [], factory.createToken(1 /* SyntaxKind.EndOfFileToken */), 0 /* NodeFlags.None */, ts.noop); var diagnostics = ts.attachFileToDiagnostics(parseDiagnostics, sourceFile); if (jsDocDiagnostics) { sourceFile.jsDocDiagnostics = ts.attachFileToDiagnostics(jsDocDiagnostics, sourceFile); @@ -37353,10 +37392,10 @@ var ts; // Parses out a JSDoc type expression. function parseJSDocTypeExpression(mayOmitBraces) { var pos = getNodePos(); - var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(18 /* OpenBraceToken */); - var type = doInsideOfContext(8388608 /* JSDoc */, parseJSDocType); + var hasBrace = (mayOmitBraces ? parseOptional : parseExpected)(18 /* SyntaxKind.OpenBraceToken */); + var type = doInsideOfContext(8388608 /* NodeFlags.JSDoc */, parseJSDocType); if (!mayOmitBraces || hasBrace) { - parseExpectedJSDoc(19 /* CloseBraceToken */); + parseExpectedJSDoc(19 /* SyntaxKind.CloseBraceToken */); } var result = factory.createJSDocTypeExpression(type); fixupParentReferences(result); @@ -37365,16 +37404,16 @@ var ts; JSDocParser.parseJSDocTypeExpression = parseJSDocTypeExpression; function parseJSDocNameReference() { var pos = getNodePos(); - var hasBrace = parseOptional(18 /* OpenBraceToken */); + var hasBrace = parseOptional(18 /* SyntaxKind.OpenBraceToken */); var p2 = getNodePos(); - var entityName = parseEntityName(/* allowReservedWords*/ false, /*allowPrivateIdentifiers*/ false); - while (token() === 80 /* PrivateIdentifier */) { + var entityName = parseEntityName(/* allowReservedWords*/ false); + while (token() === 80 /* SyntaxKind.PrivateIdentifier */) { reScanHashToken(); // rescan #id as # id nextTokenJSDoc(); // then skip the # entityName = finishNode(factory.createJSDocMemberName(entityName, parseIdentifier()), p2); } if (hasBrace) { - parseExpectedJSDoc(19 /* CloseBraceToken */); + parseExpectedJSDoc(19 /* SyntaxKind.CloseBraceToken */); } var result = factory.createJSDocNameReference(entityName); fixupParentReferences(result); @@ -37382,9 +37421,9 @@ var ts; } JSDocParser.parseJSDocNameReference = parseJSDocNameReference; function parseIsolatedJSDocComment(content, start, length) { - initializeState("", content, 99 /* Latest */, /*_syntaxCursor:*/ undefined, 1 /* JS */); - var jsDoc = doInsideOfContext(8388608 /* JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); - var sourceFile = { languageVariant: 0 /* Standard */, text: content }; + initializeState("", content, 99 /* ScriptTarget.Latest */, /*_syntaxCursor:*/ undefined, 1 /* ScriptKind.JS */); + var jsDoc = doInsideOfContext(8388608 /* NodeFlags.JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); + var sourceFile = { languageVariant: 0 /* LanguageVariant.Standard */, text: content }; var diagnostics = ts.attachFileToDiagnostics(parseDiagnostics, sourceFile); clearState(); return jsDoc ? { jsDoc: jsDoc, diagnostics: diagnostics } : undefined; @@ -37394,9 +37433,9 @@ var ts; var saveToken = currentToken; var saveParseDiagnosticsLength = parseDiagnostics.length; var saveParseErrorBeforeNextFinishedNode = parseErrorBeforeNextFinishedNode; - var comment = doInsideOfContext(8388608 /* JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); + var comment = doInsideOfContext(8388608 /* NodeFlags.JSDoc */, function () { return parseJSDocCommentWorker(start, length); }); ts.setParent(comment, parent); - if (contextFlags & 262144 /* JavaScriptFile */) { + if (contextFlags & 262144 /* NodeFlags.JavaScriptFile */) { if (!jsDocDiagnostics) { jsDocDiagnostics = []; } @@ -37444,7 +37483,7 @@ var ts; return scanner.scanRange(start + 3, length - 5, function () { // Initially we can parse out a tag. We also have seen a starting asterisk. // This is so that /** * @type */ doesn't parse. - var state = 1 /* SawAsterisk */; + var state = 1 /* JSDocState.SawAsterisk */; var margin; // + 4 for leading '/** ' // + 1 because the last index of \n is always one index before the first character in the line and coincidentally, if there is no \n before start, it is -1, which is also one index before the first character @@ -37457,16 +37496,16 @@ var ts; indent += text.length; } nextTokenJSDoc(); - while (parseOptionalJsdoc(5 /* WhitespaceTrivia */)) + while (parseOptionalJsdoc(5 /* SyntaxKind.WhitespaceTrivia */)) ; - if (parseOptionalJsdoc(4 /* NewLineTrivia */)) { - state = 0 /* BeginningOfLine */; + if (parseOptionalJsdoc(4 /* SyntaxKind.NewLineTrivia */)) { + state = 0 /* JSDocState.BeginningOfLine */; indent = 0; } loop: while (true) { switch (token()) { - case 59 /* AtToken */: - if (state === 0 /* BeginningOfLine */ || state === 1 /* SawAsterisk */) { + case 59 /* SyntaxKind.AtToken */: + if (state === 0 /* JSDocState.BeginningOfLine */ || state === 1 /* JSDocState.SawAsterisk */) { removeTrailingWhitespace(comments); if (!commentsPos) commentsPos = getNodePos(); @@ -37474,35 +37513,35 @@ var ts; // NOTE: According to usejsdoc.org, a tag goes to end of line, except the last tag. // Real-world comments may break this rule, so "BeginningOfLine" will not be a real line beginning // for malformed examples like `/** @param {string} x @returns {number} the length */` - state = 0 /* BeginningOfLine */; + state = 0 /* JSDocState.BeginningOfLine */; margin = undefined; } else { pushComment(scanner.getTokenText()); } break; - case 4 /* NewLineTrivia */: + case 4 /* SyntaxKind.NewLineTrivia */: comments.push(scanner.getTokenText()); - state = 0 /* BeginningOfLine */; + state = 0 /* JSDocState.BeginningOfLine */; indent = 0; break; - case 41 /* AsteriskToken */: + case 41 /* SyntaxKind.AsteriskToken */: var asterisk = scanner.getTokenText(); - if (state === 1 /* SawAsterisk */ || state === 2 /* SavingComments */) { + if (state === 1 /* JSDocState.SawAsterisk */ || state === 2 /* JSDocState.SavingComments */) { // If we've already seen an asterisk, then we can no longer parse a tag on this line - state = 2 /* SavingComments */; + state = 2 /* JSDocState.SavingComments */; pushComment(asterisk); } else { // Ignore the first asterisk on a line - state = 1 /* SawAsterisk */; + state = 1 /* JSDocState.SawAsterisk */; indent += asterisk.length; } break; - case 5 /* WhitespaceTrivia */: + case 5 /* SyntaxKind.WhitespaceTrivia */: // only collect whitespace if we're already saving comments or have just crossed the comment indent margin var whitespace = scanner.getTokenText(); - if (state === 2 /* SavingComments */) { + if (state === 2 /* JSDocState.SavingComments */) { comments.push(whitespace); } else if (margin !== undefined && indent + whitespace.length > margin) { @@ -37510,10 +37549,10 @@ var ts; } indent += whitespace.length; break; - case 1 /* EndOfFileToken */: + case 1 /* SyntaxKind.EndOfFileToken */: break loop; - case 18 /* OpenBraceToken */: - state = 2 /* SavingComments */; + case 18 /* SyntaxKind.OpenBraceToken */: + state = 2 /* JSDocState.SavingComments */; var commentEnd = scanner.getStartPos(); var linkStart = scanner.getTextPos() - 1; var link = parseJSDocLink(linkStart); @@ -37532,7 +37571,7 @@ var ts; // Anything else is doc comment text. We just save it. Because it // wasn't a tag, we can no longer parse a tag on this line until we hit the next // line break. - state = 2 /* SavingComments */; + state = 2 /* JSDocState.SavingComments */; pushComment(scanner.getTokenText()); break; } @@ -37561,26 +37600,26 @@ var ts; // We must use infinite lookahead, as there could be any number of newlines :( while (true) { nextTokenJSDoc(); - if (token() === 1 /* EndOfFileToken */) { + if (token() === 1 /* SyntaxKind.EndOfFileToken */) { return true; } - if (!(token() === 5 /* WhitespaceTrivia */ || token() === 4 /* NewLineTrivia */)) { + if (!(token() === 5 /* SyntaxKind.WhitespaceTrivia */ || token() === 4 /* SyntaxKind.NewLineTrivia */)) { return false; } } } function skipWhitespace() { - if (token() === 5 /* WhitespaceTrivia */ || token() === 4 /* NewLineTrivia */) { + if (token() === 5 /* SyntaxKind.WhitespaceTrivia */ || token() === 4 /* SyntaxKind.NewLineTrivia */) { if (lookAhead(isNextNonwhitespaceTokenEndOfFile)) { return; // Don't skip whitespace prior to EoF (or end of comment) - that shouldn't be included in any node's range } } - while (token() === 5 /* WhitespaceTrivia */ || token() === 4 /* NewLineTrivia */) { + while (token() === 5 /* SyntaxKind.WhitespaceTrivia */ || token() === 4 /* SyntaxKind.NewLineTrivia */) { nextTokenJSDoc(); } } function skipWhitespaceOrAsterisk() { - if (token() === 5 /* WhitespaceTrivia */ || token() === 4 /* NewLineTrivia */) { + if (token() === 5 /* SyntaxKind.WhitespaceTrivia */ || token() === 4 /* SyntaxKind.NewLineTrivia */) { if (lookAhead(isNextNonwhitespaceTokenEndOfFile)) { return ""; // Don't skip whitespace prior to EoF (or end of comment) - that shouldn't be included in any node's range } @@ -37588,14 +37627,14 @@ var ts; var precedingLineBreak = scanner.hasPrecedingLineBreak(); var seenLineBreak = false; var indentText = ""; - while ((precedingLineBreak && token() === 41 /* AsteriskToken */) || token() === 5 /* WhitespaceTrivia */ || token() === 4 /* NewLineTrivia */) { + while ((precedingLineBreak && token() === 41 /* SyntaxKind.AsteriskToken */) || token() === 5 /* SyntaxKind.WhitespaceTrivia */ || token() === 4 /* SyntaxKind.NewLineTrivia */) { indentText += scanner.getTokenText(); - if (token() === 4 /* NewLineTrivia */) { + if (token() === 4 /* SyntaxKind.NewLineTrivia */) { precedingLineBreak = true; seenLineBreak = true; indentText = ""; } - else if (token() === 41 /* AsteriskToken */) { + else if (token() === 41 /* SyntaxKind.AsteriskToken */) { precedingLineBreak = false; } nextTokenJSDoc(); @@ -37603,7 +37642,7 @@ var ts; return seenLineBreak ? indentText : ""; } function parseTag(margin) { - ts.Debug.assert(token() === 59 /* AtToken */); + ts.Debug.assert(token() === 59 /* SyntaxKind.AtToken */); var start = scanner.getTokenPos(); nextTokenJSDoc(); var tagName = parseJSDocIdentifierName(/*message*/ undefined); @@ -37652,7 +37691,7 @@ var ts; case "arg": case "argument": case "param": - return parseParameterOrPropertyTag(start, tagName, 2 /* Parameter */, margin); + return parseParameterOrPropertyTag(start, tagName, 2 /* PropertyLikeParse.Parameter */, margin); case "return": case "returns": tag = parseReturnTag(start, tagName, margin, indentText); @@ -37690,7 +37729,7 @@ var ts; var comments = []; var parts = []; var linkEnd; - var state = 0 /* BeginningOfLine */; + var state = 0 /* JSDocState.BeginningOfLine */; var previousWhitespace = true; var margin; function pushComment(text) { @@ -37705,31 +37744,31 @@ var ts; if (initialMargin !== "") { pushComment(initialMargin); } - state = 1 /* SawAsterisk */; + state = 1 /* JSDocState.SawAsterisk */; } var tok = token(); loop: while (true) { switch (tok) { - case 4 /* NewLineTrivia */: - state = 0 /* BeginningOfLine */; + case 4 /* SyntaxKind.NewLineTrivia */: + state = 0 /* JSDocState.BeginningOfLine */; // don't use pushComment here because we want to keep the margin unchanged comments.push(scanner.getTokenText()); indent = 0; break; - case 59 /* AtToken */: - if (state === 3 /* SavingBackticks */ - || state === 2 /* SavingComments */ && (!previousWhitespace || lookAhead(isNextJSDocTokenWhitespace))) { + case 59 /* SyntaxKind.AtToken */: + if (state === 3 /* JSDocState.SavingBackticks */ + || state === 2 /* JSDocState.SavingComments */ && (!previousWhitespace || lookAhead(isNextJSDocTokenWhitespace))) { // @ doesn't start a new tag inside ``, and inside a comment, only after whitespace or not before whitespace comments.push(scanner.getTokenText()); break; } scanner.setTextPos(scanner.getTextPos() - 1); // falls through - case 1 /* EndOfFileToken */: + case 1 /* SyntaxKind.EndOfFileToken */: // Done break loop; - case 5 /* WhitespaceTrivia */: - if (state === 2 /* SavingComments */ || state === 3 /* SavingBackticks */) { + case 5 /* SyntaxKind.WhitespaceTrivia */: + if (state === 2 /* JSDocState.SavingComments */ || state === 3 /* JSDocState.SavingBackticks */) { pushComment(scanner.getTokenText()); } else { @@ -37741,8 +37780,8 @@ var ts; indent += whitespace.length; } break; - case 18 /* OpenBraceToken */: - state = 2 /* SavingComments */; + case 18 /* SyntaxKind.OpenBraceToken */: + state = 2 /* JSDocState.SavingComments */; var commentEnd = scanner.getStartPos(); var linkStart = scanner.getTextPos() - 1; var link = parseJSDocLink(linkStart); @@ -37756,32 +37795,32 @@ var ts; pushComment(scanner.getTokenText()); } break; - case 61 /* BacktickToken */: - if (state === 3 /* SavingBackticks */) { - state = 2 /* SavingComments */; + case 61 /* SyntaxKind.BacktickToken */: + if (state === 3 /* JSDocState.SavingBackticks */) { + state = 2 /* JSDocState.SavingComments */; } else { - state = 3 /* SavingBackticks */; + state = 3 /* JSDocState.SavingBackticks */; } pushComment(scanner.getTokenText()); break; - case 41 /* AsteriskToken */: - if (state === 0 /* BeginningOfLine */) { + case 41 /* SyntaxKind.AsteriskToken */: + if (state === 0 /* JSDocState.BeginningOfLine */) { // leading asterisks start recording on the *next* (non-whitespace) token - state = 1 /* SawAsterisk */; + state = 1 /* JSDocState.SawAsterisk */; indent += 1; break; } // record the * as a comment // falls through default: - if (state !== 3 /* SavingBackticks */) { - state = 2 /* SavingComments */; // leading identifiers start recording as well + if (state !== 3 /* JSDocState.SavingBackticks */) { + state = 2 /* JSDocState.SavingComments */; // leading identifiers start recording as well } pushComment(scanner.getTokenText()); break; } - previousWhitespace = token() === 5 /* WhitespaceTrivia */; + previousWhitespace = token() === 5 /* SyntaxKind.WhitespaceTrivia */; tok = nextTokenJSDoc(); } removeLeadingNewlines(comments); @@ -37798,7 +37837,7 @@ var ts; } function isNextJSDocTokenWhitespace() { var next = nextTokenJSDoc(); - return next === 5 /* WhitespaceTrivia */ || next === 4 /* NewLineTrivia */; + return next === 5 /* SyntaxKind.WhitespaceTrivia */ || next === 4 /* SyntaxKind.NewLineTrivia */; } function parseJSDocLink(start) { var linkType = tryParse(parseJSDocLinkPrefix); @@ -37810,17 +37849,17 @@ var ts; // parseEntityName logs an error for non-identifier, so create a MissingNode ourselves to avoid the error var p2 = getNodePos(); var name = ts.tokenIsIdentifierOrKeyword(token()) - ? parseEntityName(/*allowReservedWords*/ true, /*allowPrivateIdentifiers*/ false) + ? parseEntityName(/*allowReservedWords*/ true) : undefined; if (name) { - while (token() === 80 /* PrivateIdentifier */) { + while (token() === 80 /* SyntaxKind.PrivateIdentifier */) { reScanHashToken(); // rescan #id as # id nextTokenJSDoc(); // then skip the # name = finishNode(factory.createJSDocMemberName(name, parseIdentifier()), p2); } } var text = []; - while (token() !== 19 /* CloseBraceToken */ && token() !== 4 /* NewLineTrivia */ && token() !== 1 /* EndOfFileToken */) { + while (token() !== 19 /* SyntaxKind.CloseBraceToken */ && token() !== 4 /* SyntaxKind.NewLineTrivia */ && token() !== 1 /* SyntaxKind.EndOfFileToken */) { text.push(scanner.getTokenText()); nextTokenJSDoc(); } @@ -37831,8 +37870,8 @@ var ts; } function parseJSDocLinkPrefix() { skipWhitespaceOrAsterisk(); - if (token() === 18 /* OpenBraceToken */ - && nextTokenJSDoc() === 59 /* AtToken */ + if (token() === 18 /* SyntaxKind.OpenBraceToken */ + && nextTokenJSDoc() === 59 /* SyntaxKind.AtToken */ && ts.tokenIsIdentifierOrKeyword(nextTokenJSDoc())) { var kind = scanner.getTokenValue(); if (isJSDocLinkTag(kind)) @@ -37860,35 +37899,35 @@ var ts; } function tryParseTypeExpression() { skipWhitespaceOrAsterisk(); - return token() === 18 /* OpenBraceToken */ ? parseJSDocTypeExpression() : undefined; + return token() === 18 /* SyntaxKind.OpenBraceToken */ ? parseJSDocTypeExpression() : undefined; } function parseBracketNameInPropertyAndParamTag() { // Looking for something like '[foo]', 'foo', '[foo.bar]' or 'foo.bar' - var isBracketed = parseOptionalJsdoc(22 /* OpenBracketToken */); + var isBracketed = parseOptionalJsdoc(22 /* SyntaxKind.OpenBracketToken */); if (isBracketed) { skipWhitespace(); } // a markdown-quoted name: `arg` is not legal jsdoc, but occurs in the wild - var isBackquoted = parseOptionalJsdoc(61 /* BacktickToken */); + var isBackquoted = parseOptionalJsdoc(61 /* SyntaxKind.BacktickToken */); var name = parseJSDocEntityName(); if (isBackquoted) { - parseExpectedTokenJSDoc(61 /* BacktickToken */); + parseExpectedTokenJSDoc(61 /* SyntaxKind.BacktickToken */); } if (isBracketed) { skipWhitespace(); // May have an optional default, e.g. '[foo = 42]' - if (parseOptionalToken(63 /* EqualsToken */)) { + if (parseOptionalToken(63 /* SyntaxKind.EqualsToken */)) { parseExpression(); } - parseExpected(23 /* CloseBracketToken */); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); } return { name: name, isBracketed: isBracketed }; } function isObjectOrObjectArrayTypeReference(node) { switch (node.kind) { - case 148 /* ObjectKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: return true; - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object" && !node.typeArguments; @@ -37904,12 +37943,12 @@ var ts; typeExpression = tryParseTypeExpression(); } var comment = parseTrailingTagComments(start, getNodePos(), indent, indentText); - var nestedTypeLiteral = target !== 4 /* CallbackParameter */ && parseNestedTypeLiteral(typeExpression, name, target, indent); + var nestedTypeLiteral = target !== 4 /* PropertyLikeParse.CallbackParameter */ && parseNestedTypeLiteral(typeExpression, name, target, indent); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; } - var result = target === 1 /* Property */ + var result = target === 1 /* PropertyLikeParse.Property */ ? factory.createJSDocPropertyTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) : factory.createJSDocParameterTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment); return finishNode(result, start); @@ -37920,12 +37959,12 @@ var ts; var child = void 0; var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, indent, name); })) { - if (child.kind === 340 /* JSDocParameterTag */ || child.kind === 347 /* JSDocPropertyTag */) { + if (child.kind === 340 /* SyntaxKind.JSDocParameterTag */ || child.kind === 347 /* SyntaxKind.JSDocPropertyTag */) { children = ts.append(children, child); } } if (children) { - var literal = finishNode(factory.createJSDocTypeLiteral(children, typeExpression.type.kind === 183 /* ArrayType */), pos); + var literal = finishNode(factory.createJSDocTypeLiteral(children, typeExpression.type.kind === 183 /* SyntaxKind.ArrayType */), pos); return finishNode(factory.createJSDocTypeExpression(literal), pos); } } @@ -37946,8 +37985,8 @@ var ts; return finishNode(factory.createJSDocTypeTag(tagName, typeExpression, comments), start); } function parseSeeTag(start, tagName, indent, indentText) { - var isMarkdownOrJSDocLink = token() === 22 /* OpenBracketToken */ - || lookAhead(function () { return nextTokenJSDoc() === 59 /* AtToken */ && ts.tokenIsIdentifierOrKeyword(nextTokenJSDoc()) && isJSDocLinkTag(scanner.getTokenValue()); }); + var isMarkdownOrJSDocLink = token() === 22 /* SyntaxKind.OpenBracketToken */ + || lookAhead(function () { return nextTokenJSDoc() === 59 /* SyntaxKind.AtToken */ && ts.tokenIsIdentifierOrKeyword(nextTokenJSDoc()) && isJSDocLinkTag(scanner.getTokenValue()); }); var nameExpression = isMarkdownOrJSDocLink ? undefined : parseJSDocNameReference(); var comments = indent !== undefined && indentText !== undefined ? parseTrailingTagComments(start, getNodePos(), indent, indentText) : undefined; return finishNode(factory.createJSDocSeeTag(tagName, nameExpression, comments), start); @@ -37969,14 +38008,14 @@ var ts; var comments = []; var inEmail = false; var token = scanner.getToken(); - while (token !== 1 /* EndOfFileToken */ && token !== 4 /* NewLineTrivia */) { - if (token === 29 /* LessThanToken */) { + while (token !== 1 /* SyntaxKind.EndOfFileToken */ && token !== 4 /* SyntaxKind.NewLineTrivia */) { + if (token === 29 /* SyntaxKind.LessThanToken */) { inEmail = true; } - else if (token === 59 /* AtToken */ && !inEmail) { + else if (token === 59 /* SyntaxKind.AtToken */ && !inEmail) { break; } - else if (token === 31 /* GreaterThanToken */ && inEmail) { + else if (token === 31 /* SyntaxKind.GreaterThanToken */ && inEmail) { comments.push(scanner.getTokenText()); scanner.setTextPos(scanner.getTokenPos() + 1); break; @@ -37995,21 +38034,21 @@ var ts; return finishNode(factory.createJSDocAugmentsTag(tagName, className, parseTrailingTagComments(start, getNodePos(), margin, indentText)), start); } function parseExpressionWithTypeArgumentsForAugments() { - var usedBrace = parseOptional(18 /* OpenBraceToken */); + var usedBrace = parseOptional(18 /* SyntaxKind.OpenBraceToken */); var pos = getNodePos(); var expression = parsePropertyAccessEntityNameExpression(); var typeArguments = tryParseTypeArguments(); var node = factory.createExpressionWithTypeArguments(expression, typeArguments); var res = finishNode(node, pos); if (usedBrace) { - parseExpected(19 /* CloseBraceToken */); + parseExpected(19 /* SyntaxKind.CloseBraceToken */); } return res; } function parsePropertyAccessEntityNameExpression() { var pos = getNodePos(); var node = parseJSDocIdentifierName(); - while (parseOptional(24 /* DotToken */)) { + while (parseOptional(24 /* SyntaxKind.DotToken */)) { var name = parseJSDocIdentifierName(); node = finishNode(factory.createPropertyAccessExpression(node, name), pos); } @@ -38043,7 +38082,7 @@ var ts; var hasChildren = false; while (child = tryParse(function () { return parseChildPropertyTag(indent); })) { hasChildren = true; - if (child.kind === 343 /* JSDocTypeTag */) { + if (child.kind === 343 /* SyntaxKind.JSDocTypeTag */) { if (childTypeTag) { var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags); if (lastError) { @@ -38060,7 +38099,7 @@ var ts; } } if (hasChildren) { - var isArrayType = typeExpression && typeExpression.type.kind === 183 /* ArrayType */; + var isArrayType = typeExpression && typeExpression.type.kind === 183 /* SyntaxKind.ArrayType */; var jsdocTypeLiteral = factory.createJSDocTypeLiteral(jsDocPropertyTags, isArrayType); typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? childTypeTag.typeExpression : @@ -38084,11 +38123,11 @@ var ts; return undefined; } var typeNameOrNamespaceName = parseJSDocIdentifierName(); - if (parseOptional(24 /* DotToken */)) { + if (parseOptional(24 /* SyntaxKind.DotToken */)) { var body = parseJSDocTypeNameWithNamespace(/*nested*/ true); var jsDocNamespaceNode = factory.createModuleDeclaration( /*decorators*/ undefined, - /*modifiers*/ undefined, typeNameOrNamespaceName, body, nested ? 4 /* NestedNamespace */ : undefined); + /*modifiers*/ undefined, typeNameOrNamespaceName, body, nested ? 4 /* NodeFlags.NestedNamespace */ : undefined); return finishNode(jsDocNamespaceNode, pos); } if (nested) { @@ -38100,7 +38139,7 @@ var ts; var pos = getNodePos(); var child; var parameters; - while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4 /* CallbackParameter */, indent); })) { + while (child = tryParse(function () { return parseChildParameterOrPropertyTag(4 /* PropertyLikeParse.CallbackParameter */, indent); })) { parameters = ts.append(parameters, child); } return createNodeArray(parameters || [], pos); @@ -38111,9 +38150,9 @@ var ts; var comment = parseTagComments(indent); var parameters = parseCallbackTagParameters(indent); var returnTag = tryParse(function () { - if (parseOptionalJsdoc(59 /* AtToken */)) { + if (parseOptionalJsdoc(59 /* SyntaxKind.AtToken */)) { var tag = parseTag(indent); - if (tag && tag.kind === 341 /* JSDocReturnTag */) { + if (tag && tag.kind === 341 /* SyntaxKind.JSDocReturnTag */) { return tag; } } @@ -38122,7 +38161,8 @@ var ts; if (!comment) { comment = parseTrailingTagComments(start, getNodePos(), indent, indentText); } - return finishNode(factory.createJSDocCallbackTag(tagName, typeExpression, fullName, comment), start); + var end = comment !== undefined ? getNodePos() : typeExpression.end; + return finishNode(factory.createJSDocCallbackTag(tagName, typeExpression, fullName, comment), start, end); } function escapedTextsEqual(a, b) { while (!ts.isIdentifier(a) || !ts.isIdentifier(b)) { @@ -38137,18 +38177,18 @@ var ts; return a.escapedText === b.escapedText; } function parseChildPropertyTag(indent) { - return parseChildParameterOrPropertyTag(1 /* Property */, indent); + return parseChildParameterOrPropertyTag(1 /* PropertyLikeParse.Property */, indent); } function parseChildParameterOrPropertyTag(target, indent, name) { var canParseTag = true; var seenAsterisk = false; while (true) { switch (nextTokenJSDoc()) { - case 59 /* AtToken */: + case 59 /* SyntaxKind.AtToken */: if (canParseTag) { var child = tryParseChildTag(target, indent); - if (child && (child.kind === 340 /* JSDocParameterTag */ || child.kind === 347 /* JSDocPropertyTag */) && - target !== 4 /* CallbackParameter */ && + if (child && (child.kind === 340 /* SyntaxKind.JSDocParameterTag */ || child.kind === 347 /* SyntaxKind.JSDocPropertyTag */) && + target !== 4 /* PropertyLikeParse.CallbackParameter */ && name && (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { return false; } @@ -38156,26 +38196,26 @@ var ts; } seenAsterisk = false; break; - case 4 /* NewLineTrivia */: + case 4 /* SyntaxKind.NewLineTrivia */: canParseTag = true; seenAsterisk = false; break; - case 41 /* AsteriskToken */: + case 41 /* SyntaxKind.AsteriskToken */: if (seenAsterisk) { canParseTag = false; } seenAsterisk = true; break; - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: canParseTag = false; break; - case 1 /* EndOfFileToken */: + case 1 /* SyntaxKind.EndOfFileToken */: return false; } } } function tryParseChildTag(target, indent) { - ts.Debug.assert(token() === 59 /* AtToken */); + ts.Debug.assert(token() === 59 /* SyntaxKind.AtToken */); var start = scanner.getStartPos(); nextTokenJSDoc(); var tagName = parseJSDocIdentifierName(); @@ -38183,15 +38223,15 @@ var ts; var t; switch (tagName.escapedText) { case "type": - return target === 1 /* Property */ && parseTypeTag(start, tagName); + return target === 1 /* PropertyLikeParse.Property */ && parseTypeTag(start, tagName); case "prop": case "property": - t = 1 /* Property */; + t = 1 /* PropertyLikeParse.Property */; break; case "arg": case "argument": case "param": - t = 2 /* Parameter */ | 4 /* CallbackParameter */; + t = 2 /* PropertyLikeParse.Parameter */ | 4 /* PropertyLikeParse.CallbackParameter */; break; default: return false; @@ -38203,7 +38243,7 @@ var ts; } function parseTemplateTagTypeParameter() { var typeParameterPos = getNodePos(); - var isBracketed = parseOptionalJsdoc(22 /* OpenBracketToken */); + var isBracketed = parseOptionalJsdoc(22 /* SyntaxKind.OpenBracketToken */); if (isBracketed) { skipWhitespace(); } @@ -38211,9 +38251,9 @@ var ts; var defaultType; if (isBracketed) { skipWhitespace(); - parseExpected(63 /* EqualsToken */); - defaultType = doInsideOfContext(8388608 /* JSDoc */, parseJSDocType); - parseExpected(23 /* CloseBracketToken */); + parseExpected(63 /* SyntaxKind.EqualsToken */); + defaultType = doInsideOfContext(8388608 /* NodeFlags.JSDoc */, parseJSDocType); + parseExpected(23 /* SyntaxKind.CloseBracketToken */); } if (ts.nodeIsMissing(name)) { return undefined; @@ -38230,7 +38270,7 @@ var ts; typeParameters.push(node); } skipWhitespaceOrAsterisk(); - } while (parseOptionalJsdoc(27 /* CommaToken */)); + } while (parseOptionalJsdoc(27 /* SyntaxKind.CommaToken */)); return createNodeArray(typeParameters, pos); } function parseTemplateTag(start, tagName, indent, indentText) { @@ -38245,7 +38285,7 @@ var ts; // TODO: Determine whether we should enforce this in the checker. // TODO: Consider moving the `constraint` to the first type parameter as we could then remove `getEffectiveConstraintOfTypeParameter`. // TODO: Consider only parsing a single type parameter if there is a constraint. - var constraint = token() === 18 /* OpenBraceToken */ ? parseJSDocTypeExpression() : undefined; + var constraint = token() === 18 /* SyntaxKind.OpenBraceToken */ ? parseJSDocTypeExpression() : undefined; var typeParameters = parseTemplateTagTypeParameters(); return finishNode(factory.createJSDocTemplateTag(tagName, constraint, typeParameters, parseTrailingTagComments(start, getNodePos(), indent, indentText)), start); } @@ -38258,16 +38298,16 @@ var ts; } function parseJSDocEntityName() { var entity = parseJSDocIdentifierName(); - if (parseOptional(22 /* OpenBracketToken */)) { - parseExpected(23 /* CloseBracketToken */); + if (parseOptional(22 /* SyntaxKind.OpenBracketToken */)) { + parseExpected(23 /* SyntaxKind.CloseBracketToken */); // Note that y[] is accepted as an entity name, but the postfix brackets are not saved for checking. // Technically usejsdoc.org requires them for specifying a property of a type equivalent to Array<{ x: ...}> // but it's not worth it to enforce that restriction. } - while (parseOptional(24 /* DotToken */)) { + while (parseOptional(24 /* SyntaxKind.DotToken */)) { var name = parseJSDocIdentifierName(); - if (parseOptional(22 /* OpenBracketToken */)) { - parseExpected(23 /* CloseBracketToken */); + if (parseOptional(22 /* SyntaxKind.OpenBracketToken */)) { + parseExpected(23 /* SyntaxKind.CloseBracketToken */); } entity = createQualifiedName(entity, name); } @@ -38275,7 +38315,7 @@ var ts; } function parseJSDocIdentifierName(message) { if (!ts.tokenIsIdentifierOrKeyword(token())) { - return createMissingNode(79 /* Identifier */, /*reportAtCurrentPosition*/ !message, message || ts.Diagnostics.Identifier_expected); + return createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ !message, message || ts.Diagnostics.Identifier_expected); } identifierCount++; var pos = scanner.getTokenPos(); @@ -38292,7 +38332,7 @@ var ts; var IncrementalParser; (function (IncrementalParser) { function updateSourceFile(sourceFile, newText, textChangeRange, aggressiveChecks) { - aggressiveChecks = aggressiveChecks || ts.Debug.shouldAssert(2 /* Aggressive */); + aggressiveChecks = aggressiveChecks || ts.Debug.shouldAssert(2 /* AssertionLevel.Aggressive */); checkChangeRange(sourceFile, newText, textChangeRange, aggressiveChecks); if (ts.textChangeRangeIsUnchanged(textChangeRange)) { // if the text didn't change, then we can just return our current source file as-is. @@ -38447,9 +38487,9 @@ var ts; } function shouldCheckNode(node) { switch (node.kind) { - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 79 /* Identifier */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 79 /* SyntaxKind.Identifier */: return true; } return false; @@ -38704,7 +38744,7 @@ var ts; var oldText = sourceFile.text; if (textChangeRange) { ts.Debug.assert((oldText.length - textChangeRange.span.length + textChangeRange.newLength) === newText.length); - if (aggressiveChecks || ts.Debug.shouldAssert(3 /* VeryAggressive */)) { + if (aggressiveChecks || ts.Debug.shouldAssert(3 /* AssertionLevel.VeryAggressive */)) { var oldTextPrefix = oldText.substr(0, textChangeRange.span.start); var newTextPrefix = newText.substr(0, textChangeRange.span.start); ts.Debug.assert(oldTextPrefix === newTextPrefix); @@ -38719,7 +38759,7 @@ var ts; var currentArrayIndex = 0; ts.Debug.assert(currentArrayIndex < currentArray.length); var current = currentArray[currentArrayIndex]; - var lastQueriedPosition = -1 /* Value */; + var lastQueriedPosition = -1 /* InvalidPosition.Value */; return { currentNode: function (position) { // Only compute the current node if the position is different than the last time @@ -38757,7 +38797,7 @@ var ts; function findHighestListElementThatStartsAtPosition(position) { // Clear out any cached state about the last node we found. currentArray = undefined; - currentArrayIndex = -1 /* Value */; + currentArrayIndex = -1 /* InvalidPosition.Value */; current = undefined; // Recurse into the source file to find the highest node at this position. forEachChild(sourceFile, visitNode, visitArray); @@ -38810,7 +38850,7 @@ var ts; })(IncrementalParser || (IncrementalParser = {})); /** @internal */ function isDeclarationFileName(fileName) { - return ts.fileExtensionIsOneOf(fileName, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]); + return ts.fileExtensionIsOneOf(fileName, ts.supportedDeclarationExtensions); } ts.isDeclarationFileName = isDeclarationFileName; function parseResolutionMode(mode, pos, end, reportDiagnostic) { @@ -38937,18 +38977,18 @@ var ts; if (namedArgRegExCache.has(name)) { return namedArgRegExCache.get(name); } - var result = new RegExp("(\\s" + name + "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))", "im"); + var result = new RegExp("(\\s".concat(name, "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))"), "im"); namedArgRegExCache.set(name, result); return result; } var tripleSlashXMLCommentStartRegEx = /^\/\/\/\s*<(\S+)\s.*?\/>/im; var singleLinePragmaRegEx = /^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im; function extractPragmas(pragmas, range, text) { - var tripleSlash = range.kind === 2 /* SingleLineCommentTrivia */ && tripleSlashXMLCommentStartRegEx.exec(text); + var tripleSlash = range.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */ && tripleSlashXMLCommentStartRegEx.exec(text); if (tripleSlash) { var name = tripleSlash[1].toLowerCase(); // Technically unsafe cast, but we do it so the below check to make it safe typechecks var pragma = ts.commentPragmas[name]; - if (!pragma || !(pragma.kind & 1 /* TripleSlashXML */)) { + if (!pragma || !(pragma.kind & 1 /* PragmaKindFlags.TripleSlashXML */)) { return; } if (pragma.args) { @@ -38982,15 +39022,15 @@ var ts; } return; } - var singleLine = range.kind === 2 /* SingleLineCommentTrivia */ && singleLinePragmaRegEx.exec(text); + var singleLine = range.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */ && singleLinePragmaRegEx.exec(text); if (singleLine) { - return addPragmaForMatch(pragmas, range, 2 /* SingleLine */, singleLine); + return addPragmaForMatch(pragmas, range, 2 /* PragmaKindFlags.SingleLine */, singleLine); } - if (range.kind === 3 /* MultiLineCommentTrivia */) { + if (range.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { var multiLinePragmaRegEx = /@(\S+)(\s+.*)?$/gim; // Defined inline since it uses the "g" flag, which keeps a persistent index (for iterating) var multiLineMatch = void 0; while (multiLineMatch = multiLinePragmaRegEx.exec(text)) { - addPragmaForMatch(pragmas, range, 4 /* MultiLine */, multiLineMatch); + addPragmaForMatch(pragmas, range, 4 /* PragmaKindFlags.MultiLine */, multiLineMatch); } } } @@ -39033,10 +39073,10 @@ var ts; if (lhs.kind !== rhs.kind) { return false; } - if (lhs.kind === 79 /* Identifier */) { + if (lhs.kind === 79 /* SyntaxKind.Identifier */) { return lhs.escapedText === rhs.escapedText; } - if (lhs.kind === 108 /* ThisKeyword */) { + if (lhs.kind === 108 /* SyntaxKind.ThisKeyword */) { return true; } // If we are at this statement then we must have PropertyAccessExpression and because tag name in Jsx element can only @@ -39056,11 +39096,11 @@ var ts; defaultValueDescription: false, }; var jsxOptionMap = new ts.Map(ts.getEntries({ - "preserve": 1 /* Preserve */, - "react-native": 3 /* ReactNative */, - "react": 2 /* React */, - "react-jsx": 4 /* ReactJSX */, - "react-jsxdev": 5 /* ReactJSXDev */, + "preserve": 1 /* JsxEmit.Preserve */, + "react-native": 3 /* JsxEmit.ReactNative */, + "react": 2 /* JsxEmit.React */, + "react-jsx": 4 /* JsxEmit.ReactJSX */, + "react-jsxdev": 5 /* JsxEmit.ReactJSXDev */, })); /* @internal */ ts.inverseJsxOptionMap = new ts.Map(ts.arrayFrom(ts.mapIterator(jsxOptionMap.entries(), function (_a) { @@ -39131,6 +39171,7 @@ var ts; ["es2021.intl", "lib.es2021.intl.d.ts"], ["es2022.array", "lib.es2022.array.d.ts"], ["es2022.error", "lib.es2022.error.d.ts"], + ["es2022.intl", "lib.es2022.intl.d.ts"], ["es2022.object", "lib.es2022.object.d.ts"], ["es2022.string", "lib.es2022.string.d.ts"], ["esnext.array", "lib.es2022.array.d.ts"], @@ -39363,18 +39404,18 @@ var ts; name: "target", shortName: "t", type: new ts.Map(ts.getEntries({ - es3: 0 /* ES3 */, - es5: 1 /* ES5 */, - es6: 2 /* ES2015 */, - es2015: 2 /* ES2015 */, - es2016: 3 /* ES2016 */, - es2017: 4 /* ES2017 */, - es2018: 5 /* ES2018 */, - es2019: 6 /* ES2019 */, - es2020: 7 /* ES2020 */, - es2021: 8 /* ES2021 */, - es2022: 9 /* ES2022 */, - esnext: 99 /* ESNext */, + es3: 0 /* ScriptTarget.ES3 */, + es5: 1 /* ScriptTarget.ES5 */, + es6: 2 /* ScriptTarget.ES2015 */, + es2015: 2 /* ScriptTarget.ES2015 */, + es2016: 3 /* ScriptTarget.ES2016 */, + es2017: 4 /* ScriptTarget.ES2017 */, + es2018: 5 /* ScriptTarget.ES2018 */, + es2019: 6 /* ScriptTarget.ES2019 */, + es2020: 7 /* ScriptTarget.ES2020 */, + es2021: 8 /* ScriptTarget.ES2021 */, + es2022: 9 /* ScriptTarget.ES2022 */, + esnext: 99 /* ScriptTarget.ESNext */, })), affectsSourceFile: true, affectsModuleResolution: true, @@ -39383,7 +39424,7 @@ var ts; showInSimplifiedHelpView: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations, - defaultValueDescription: 0 /* ES3 */, + defaultValueDescription: 0 /* ScriptTarget.ES3 */, }; var commandOptionsWithoutBuild = [ // CommandLine only options @@ -39466,7 +39507,7 @@ var ts; es2020: ts.ModuleKind.ES2020, es2022: ts.ModuleKind.ES2022, esnext: ts.ModuleKind.ESNext, - node12: ts.ModuleKind.Node12, + node16: ts.ModuleKind.Node16, nodenext: ts.ModuleKind.NodeNext, })), affectsModuleResolution: true, @@ -39641,15 +39682,15 @@ var ts; { name: "importsNotUsedAsValues", type: new ts.Map(ts.getEntries({ - remove: 0 /* Remove */, - preserve: 1 /* Preserve */, - error: 2 /* Error */, + remove: 0 /* ImportsNotUsedAsValues.Remove */, + preserve: 1 /* ImportsNotUsedAsValues.Preserve */, + error: 2 /* ImportsNotUsedAsValues.Error */, })), affectsEmit: true, affectsSemanticDiagnostics: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types, - defaultValueDescription: 0 /* Remove */, + defaultValueDescription: 0 /* ImportsNotUsedAsValues.Remove */, }, { name: "downlevelIteration", @@ -39820,7 +39861,7 @@ var ts; type: new ts.Map(ts.getEntries({ node: ts.ModuleResolutionKind.NodeJs, classic: ts.ModuleResolutionKind.Classic, - node12: ts.ModuleResolutionKind.Node12, + node16: ts.ModuleResolutionKind.Node16, nodenext: ts.ModuleResolutionKind.NodeNext, })), affectsModuleResolution: true, @@ -40063,8 +40104,8 @@ var ts; { name: "newLine", type: new ts.Map(ts.getEntries({ - crlf: 0 /* CarriageReturnLineFeed */, - lf: 1 /* LineFeed */ + crlf: 0 /* NewLineKind.CarriageReturnLineFeed */, + lf: 1 /* NewLineKind.LineFeed */ })), affectsEmit: true, paramType: ts.Diagnostics.NEWLINE, @@ -40296,7 +40337,7 @@ var ts; affectsModuleResolution: true, description: ts.Diagnostics.Control_what_method_is_used_to_detect_module_format_JS_files, category: ts.Diagnostics.Language_and_Environment, - defaultValueDescription: ts.Diagnostics.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node12_as_modules, + defaultValueDescription: ts.Diagnostics.auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules, } ]; /* @internal */ @@ -40417,7 +40458,7 @@ var ts; /* @internal */ ts.defaultInitCompilerOptions = { module: ts.ModuleKind.CommonJS, - target: 3 /* ES2016 */, + target: 3 /* ScriptTarget.ES2016 */, strict: true, esModuleInterop: true, forceConsistentCasingInFileNames: true, @@ -40442,8 +40483,8 @@ var ts; } ts.createCompilerDiagnosticForInvalidCustomType = createCompilerDiagnosticForInvalidCustomType; function createDiagnosticForInvalidCustomType(opt, createDiagnostic) { - var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'" + key + "'"; }).join(", "); - return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--" + opt.name, namesOfType); + var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'".concat(key, "'"); }).join(", "); + return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--".concat(opt.name), namesOfType); } /* @internal */ function parseCustomTypeOption(opt, value, errors) { @@ -40502,11 +40543,11 @@ var ts; while (i < args.length) { var s = args[i]; i++; - if (s.charCodeAt(0) === 64 /* at */) { + if (s.charCodeAt(0) === 64 /* CharacterCodes.at */) { parseResponseFile(s.slice(1)); } - else if (s.charCodeAt(0) === 45 /* minus */) { - var inputOptionName = s.slice(s.charCodeAt(1) === 45 /* minus */ ? 2 : 1); + else if (s.charCodeAt(0) === 45 /* CharacterCodes.minus */) { + var inputOptionName = s.slice(s.charCodeAt(1) === 45 /* CharacterCodes.minus */ ? 2 : 1); var opt = getOptionDeclarationFromName(diagnostics.getOptionsNameMap, inputOptionName, /*allowShort*/ true); if (opt) { i = parseOptionValue(args, i, diagnostics, opt, options, errors); @@ -40535,14 +40576,14 @@ var ts; var args = []; var pos = 0; while (true) { - while (pos < text.length && text.charCodeAt(pos) <= 32 /* space */) + while (pos < text.length && text.charCodeAt(pos) <= 32 /* CharacterCodes.space */) pos++; if (pos >= text.length) break; var start = pos; - if (text.charCodeAt(start) === 34 /* doubleQuote */) { + if (text.charCodeAt(start) === 34 /* CharacterCodes.doubleQuote */) { pos++; - while (pos < text.length && text.charCodeAt(pos) !== 34 /* doubleQuote */) + while (pos < text.length && text.charCodeAt(pos) !== 34 /* CharacterCodes.doubleQuote */) pos++; if (pos < text.length) { args.push(text.substring(start + 1, pos)); @@ -40553,7 +40594,7 @@ var ts; } } else { - while (text.charCodeAt(pos) > 32 /* space */) + while (text.charCodeAt(pos) > 32 /* CharacterCodes.space */) pos++; args.push(text.substring(start, pos)); } @@ -40888,7 +40929,7 @@ var ts; var _a; var rootExpression = (_a = sourceFile.statements[0]) === null || _a === void 0 ? void 0 : _a.expression; var knownRootOptions = reportOptionsErrors ? getTsconfigRootOptionsMap() : undefined; - if (rootExpression && rootExpression.kind !== 205 /* ObjectLiteralExpression */) { + if (rootExpression && rootExpression.kind !== 205 /* SyntaxKind.ObjectLiteralExpression */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, rootExpression, ts.Diagnostics.The_root_value_of_a_0_file_must_be_an_object, ts.getBaseFileName(sourceFile.fileName) === "jsconfig.json" ? "jsconfig.json" : "tsconfig.json")); // Last-ditch error recovery. Somewhat useful because the JSON parser will recover from some parse errors by // synthesizing a top-level array literal expression. There's a reasonable chance the first element of that @@ -40928,7 +40969,7 @@ var ts; function convertObjectLiteralExpressionToJson(node, knownOptions, extraKeyDiagnostics, parentOption) { var result = returnValue ? {} : undefined; var _loop_4 = function (element) { - if (element.kind !== 296 /* PropertyAssignment */) { + if (element.kind !== 296 /* SyntaxKind.PropertyAssignment */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); return "continue"; } @@ -40995,16 +41036,16 @@ var ts; function convertPropertyValueToJson(valueExpression, option) { var invalidReported; switch (valueExpression.kind) { - case 110 /* TrueKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: reportInvalidOptionValue(option && option.type !== "boolean"); return validateValue(/*value*/ true); - case 95 /* FalseKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: reportInvalidOptionValue(option && option.type !== "boolean"); return validateValue(/*value*/ false); - case 104 /* NullKeyword */: + case 104 /* SyntaxKind.NullKeyword */: reportInvalidOptionValue(option && option.name === "extends"); // "extends" is the only option we don't allow null/undefined for return validateValue(/*value*/ null); // eslint-disable-line no-null/no-null - case 10 /* StringLiteral */: + case 10 /* SyntaxKind.StringLiteral */: if (!isDoubleQuotedString(valueExpression)) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, valueExpression, ts.Diagnostics.String_literal_with_double_quotes_expected)); } @@ -41019,16 +41060,16 @@ var ts; } } return validateValue(text); - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: reportInvalidOptionValue(option && option.type !== "number"); return validateValue(Number(valueExpression.text)); - case 219 /* PrefixUnaryExpression */: - if (valueExpression.operator !== 40 /* MinusToken */ || valueExpression.operand.kind !== 8 /* NumericLiteral */) { + case 219 /* SyntaxKind.PrefixUnaryExpression */: + if (valueExpression.operator !== 40 /* SyntaxKind.MinusToken */ || valueExpression.operand.kind !== 8 /* SyntaxKind.NumericLiteral */) { break; // not valid JSON syntax } reportInvalidOptionValue(option && option.type !== "number"); return validateValue(-Number(valueExpression.operand.text)); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; // Currently having element option declaration in the tsconfig with type "object" @@ -41045,7 +41086,7 @@ var ts; return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined)); } - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: reportInvalidOptionValue(option && option.type !== "list"); return validateValue(convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element)); } @@ -41237,10 +41278,10 @@ var ts; var newValue = compilerOptionsMap.get(cmd.name); var defaultValue = getDefaultValueForOption(cmd); if (newValue !== defaultValue) { - result.push("" + tab + cmd.name + ": " + newValue); + result.push("".concat(tab).concat(cmd.name, ": ").concat(newValue)); } else if (ts.hasProperty(ts.defaultInitCompilerOptions, cmd.name)) { - result.push("" + tab + cmd.name + ": " + defaultValue); + result.push("".concat(tab).concat(cmd.name, ": ").concat(defaultValue)); } }); return result.join(newLine) + newLine; @@ -41291,19 +41332,19 @@ var ts; if (entries.length !== 0) { entries.push({ value: "" }); } - entries.push({ value: "/* " + category + " */" }); + entries.push({ value: "/* ".concat(category, " */") }); for (var _i = 0, options_1 = options; _i < options_1.length; _i++) { var option = options_1[_i]; var optionName = void 0; if (compilerOptionsMap.has(option.name)) { - optionName = "\"" + option.name + "\": " + JSON.stringify(compilerOptionsMap.get(option.name)) + ((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ","); + optionName = "\"".concat(option.name, "\": ").concat(JSON.stringify(compilerOptionsMap.get(option.name))).concat((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ","); } else { - optionName = "// \"" + option.name + "\": " + JSON.stringify(getDefaultValueForOption(option)) + ","; + optionName = "// \"".concat(option.name, "\": ").concat(JSON.stringify(getDefaultValueForOption(option)), ","); } entries.push({ value: optionName, - description: "/* " + (option.description && ts.getLocaleSpecificMessage(option.description) || option.name) + " */" + description: "/* ".concat(option.description && ts.getLocaleSpecificMessage(option.description) || option.name, " */") }); marginLength = Math.max(optionName.length, marginLength); } @@ -41312,25 +41353,25 @@ var ts; var tab = makePadding(2); var result = []; result.push("{"); - result.push(tab + "\"compilerOptions\": {"); - result.push("" + tab + tab + "/* " + ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file) + " */"); + result.push("".concat(tab, "\"compilerOptions\": {")); + result.push("".concat(tab).concat(tab, "/* ").concat(ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file), " */")); result.push(""); // Print out each row, aligning all the descriptions on the same column. for (var _a = 0, entries_2 = entries; _a < entries_2.length; _a++) { var entry = entries_2[_a]; var value = entry.value, _b = entry.description, description = _b === void 0 ? "" : _b; - result.push(value && "" + tab + tab + value + (description && (makePadding(marginLength - value.length + 2) + description))); + result.push(value && "".concat(tab).concat(tab).concat(value).concat(description && (makePadding(marginLength - value.length + 2) + description))); } if (fileNames.length) { - result.push(tab + "},"); - result.push(tab + "\"files\": ["); + result.push("".concat(tab, "},")); + result.push("".concat(tab, "\"files\": [")); for (var i = 0; i < fileNames.length; i++) { - result.push("" + tab + tab + JSON.stringify(fileNames[i]) + (i === fileNames.length - 1 ? "" : ",")); + result.push("".concat(tab).concat(tab).concat(JSON.stringify(fileNames[i])).concat(i === fileNames.length - 1 ? "" : ",")); } - result.push(tab + "]"); + result.push("".concat(tab, "]")); } else { - result.push(tab + "}"); + result.push("".concat(tab, "}")); } result.push("}"); return result.join(newLine) + newLine; @@ -41385,7 +41426,7 @@ var ts; * file to. e.g. outDir */ function parseJsonSourceFileConfigFileContent(sourceFile, host, basePath, existingOptions, configFileName, resolutionStack, extraFileExtensions, extendedConfigCache, existingWatchOptions) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("parse" /* Parse */, "parseJsonSourceFileConfigFileContent", { path: sourceFile.fileName }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("parse" /* tracing.Phase.Parse */, "parseJsonSourceFileConfigFileContent", { path: sourceFile.fileName }); var result = parseJsonConfigFileContentWorker(/*json*/ undefined, sourceFile, host, basePath, existingOptions, existingWatchOptions, configFileName, resolutionStack, extraFileExtensions, extendedConfigCache); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); return result; @@ -41730,8 +41771,8 @@ var ts; extendedConfig = ts.normalizeSlashes(extendedConfig); if (ts.isRootedDiskPath(extendedConfig) || ts.startsWith(extendedConfig, "./") || ts.startsWith(extendedConfig, "../")) { var extendedConfigPath = ts.getNormalizedAbsolutePath(extendedConfig, basePath); - if (!host.fileExists(extendedConfigPath) && !ts.endsWith(extendedConfigPath, ".json" /* Json */)) { - extendedConfigPath = extendedConfigPath + ".json"; + if (!host.fileExists(extendedConfigPath) && !ts.endsWith(extendedConfigPath, ".json" /* Extension.Json */)) { + extendedConfigPath = "".concat(extendedConfigPath, ".json"); if (!host.fileExists(extendedConfigPath)) { errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig)); return undefined; @@ -41972,11 +42013,11 @@ var ts; var jsonOnlyIncludeRegexes; if (validatedIncludeSpecs && validatedIncludeSpecs.length > 0) { var _loop_6 = function (file) { - if (ts.fileExtensionIs(file, ".json" /* Json */)) { + if (ts.fileExtensionIs(file, ".json" /* Extension.Json */)) { // Valid only if *.json specified if (!jsonOnlyIncludeRegexes) { - var includes = validatedIncludeSpecs.filter(function (s) { return ts.endsWith(s, ".json" /* Json */); }); - var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^" + pattern + "$"; }); + var includes = validatedIncludeSpecs.filter(function (s) { return ts.endsWith(s, ".json" /* Extension.Json */); }); + var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }); jsonOnlyIncludeRegexes = includeFilePatterns ? includeFilePatterns.map(function (pattern) { return ts.getRegexFromPattern(pattern, host.useCaseSensitiveFileNames); }) : ts.emptyArray; } var includeIndex = ts.findIndex(jsonOnlyIncludeRegexes, function (re) { return re.test(file); }); @@ -42120,7 +42161,7 @@ var ts; var existingFlags = wildcardDirectories[key]; if (existingFlags === undefined || existingFlags < flags) { wildcardDirectories[key] = flags; - if (flags === 1 /* Recursive */) { + if (flags === 1 /* WatchDirectoryFlags.Recursive */) { recursiveKeys.push(key); } } @@ -42154,13 +42195,13 @@ var ts; key: useCaseSensitiveFileNames ? match[0] : ts.toFileNameLowerCase(match[0]), flags: (questionWildcardIndex !== -1 && questionWildcardIndex < lastDirectorySeperatorIndex) || (starWildcardIndex !== -1 && starWildcardIndex < lastDirectorySeperatorIndex) - ? 1 /* Recursive */ : 0 /* None */ + ? 1 /* WatchDirectoryFlags.Recursive */ : 0 /* WatchDirectoryFlags.None */ }; } if (ts.isImplicitGlob(spec.substring(spec.lastIndexOf(ts.directorySeparator) + 1))) { return { key: useCaseSensitiveFileNames ? spec : ts.toFileNameLowerCase(spec), - flags: 1 /* Recursive */ + flags: 1 /* WatchDirectoryFlags.Recursive */ }; } return undefined; @@ -42183,7 +42224,7 @@ var ts; } var higherPriorityPath = keyMapper(ts.changeExtension(file, ext)); if (literalFiles.has(higherPriorityPath) || wildcardFiles.has(higherPriorityPath)) { - if (ext === ".d.ts" /* Dts */ && (ts.fileExtensionIs(file, ".js" /* Js */) || ts.fileExtensionIs(file, ".jsx" /* Jsx */))) { + if (ext === ".d.ts" /* Extension.Dts */ && (ts.fileExtensionIs(file, ".js" /* Extension.Js */) || ts.fileExtensionIs(file, ".jsx" /* Extension.Jsx */))) { // LEGACY BEHAVIOR: An off-by-one bug somewhere in the extension priority system for wildcard module loading allowed declaration // files to be loaded alongside their js(x) counterparts. We regard this as generally undesirable, but retain the behavior to // prevent breakage. @@ -42261,7 +42302,7 @@ var ts; return true; case "string": var defaultValue = option.defaultValueDescription; - return option.isFilePath ? "./" + (defaultValue && typeof defaultValue === "string" ? defaultValue : "") : ""; + return option.isFilePath ? "./".concat(defaultValue && typeof defaultValue === "string" ? defaultValue : "") : ""; case "list": return []; case "object": @@ -42318,7 +42359,8 @@ var ts; Extensions[Extensions["JavaScript"] = 1] = "JavaScript"; Extensions[Extensions["Json"] = 2] = "Json"; Extensions[Extensions["TSConfig"] = 3] = "TSConfig"; - Extensions[Extensions["DtsOnly"] = 4] = "DtsOnly"; /** Only '.d.ts' */ + Extensions[Extensions["DtsOnly"] = 4] = "DtsOnly"; + Extensions[Extensions["TsOnly"] = 5] = "TsOnly"; })(Extensions || (Extensions = {})); /** Used with `Extensions.DtsOnly` to extract the path from TypeScript results. */ function resolvedTypeScriptOnly(resolved) { @@ -42328,7 +42370,7 @@ var ts; ts.Debug.assert(ts.extensionIsTS(resolved.extension)); return { fileName: resolved.path, packageId: resolved.packageId }; } - function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, resultFromCache) { + function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, diagnostics, resultFromCache) { var _a; if (resultFromCache) { (_a = resultFromCache.failedLookupLocations).push.apply(_a, failedLookupLocations); @@ -42336,7 +42378,8 @@ var ts; } return { resolvedModule: resolved && { resolvedFileName: resolved.path, originalPath: resolved.originalPath === true ? undefined : resolved.originalPath, extension: resolved.extension, isExternalLibraryImport: isExternalLibraryImport, packageId: resolved.packageId }, - failedLookupLocations: failedLookupLocations + failedLookupLocations: failedLookupLocations, + resolutionDiagnostics: diagnostics }; } function readPackageJsonField(jsonContent, fieldName, typeOfTag, state) { @@ -42413,7 +42456,7 @@ var ts; var bestVersionKey = result.version, bestVersionPaths = result.paths; if (typeof bestVersionPaths !== "object") { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['" + bestVersionKey + "']", "object", typeof bestVersionPaths); + trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['".concat(bestVersionKey, "']"), "object", typeof bestVersionPaths); } return; } @@ -42476,7 +42519,7 @@ var ts; var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types"); function arePathsEqual(path1, path2, host) { var useCaseSensitiveFileNames = typeof host.useCaseSensitiveFileNames === "function" ? host.useCaseSensitiveFileNames() : host.useCaseSensitiveFileNames; - return ts.comparePaths(path1, path2, !useCaseSensitiveFileNames) === 0 /* EqualTo */; + return ts.comparePaths(path1, path2, !useCaseSensitiveFileNames) === 0 /* Comparison.EqualTo */; } /** * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown. @@ -42531,13 +42574,24 @@ var ts; // set in a non-modal module resolution setting here. Do note that our behavior is not particularly well defined when these mode-overriding imports // are present in a non-modal project; while in theory we'd like to either ignore the mode or provide faithful modern resolution, depending on what we feel is best, // in practice, not every cache has the options available to intelligently make the choice to ignore the mode request, and it's unclear how modern "faithful modern - // resolution" should be (`node12`? `nodenext`?). As such, witnessing a mode-overriding triple-slash reference in a non-modal module resolution + // resolution" should be (`node16`? `nodenext`?). As such, witnessing a mode-overriding triple-slash reference in a non-modal module resolution // context should _probably_ be an error - and that should likely be handled by the `Program` (which is what we do). - if (resolutionMode === ts.ModuleKind.ESNext && (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext)) { + if (resolutionMode === ts.ModuleKind.ESNext && (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext)) { features |= NodeResolutionFeatures.EsmMode; } var conditions = features & NodeResolutionFeatures.Exports ? features & NodeResolutionFeatures.EsmMode ? ["node", "import", "types"] : ["node", "require", "types"] : []; - var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, conditions: conditions }; + var diagnostics = []; + var moduleResolutionState = { + compilerOptions: options, + host: host, + traceEnabled: traceEnabled, + failedLookupLocations: failedLookupLocations, + packageJsonInfoCache: cache, + features: features, + conditions: conditions, + requestContainingDirectory: containingDirectory, + reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, + }; var resolved = primaryLookup(); var primary = true; if (!resolved) { @@ -42556,7 +42610,7 @@ var ts; isExternalLibraryImport: pathContainsNodeModules(fileName), }; } - result = { resolvedTypeReferenceDirective: resolvedTypeReferenceDirective, failedLookupLocations: failedLookupLocations }; + result = { resolvedTypeReferenceDirective: resolvedTypeReferenceDirective, failedLookupLocations: failedLookupLocations, resolutionDiagnostics: diagnostics }; perFolderCache === null || perFolderCache === void 0 ? void 0 : perFolderCache.set(typeReferenceDirectiveName, /*mode*/ resolutionMode, result); if (traceEnabled) traceResult(result); @@ -42622,7 +42676,7 @@ var ts; } ts.resolveTypeReferenceDirective = resolveTypeReferenceDirective; function getDefaultNodeResolutionFeatures(options) { - return ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 ? NodeResolutionFeatures.Node12Default : + return ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 ? NodeResolutionFeatures.Node16Default : ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext ? NodeResolutionFeatures.NodeNextDefault : NodeResolutionFeatures.None; } @@ -42639,6 +42693,8 @@ var ts; packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), conditions: ts.emptyArray, features: NodeResolutionFeatures.None, + requestContainingDirectory: containingDirectory, + reportDiagnostic: ts.noop }; return ts.forEachAncestorDirectory(containingDirectory, function (ancestorDirectory) { if (ts.getBaseFileName(ancestorDirectory) !== "node_modules") { @@ -42681,7 +42737,7 @@ var ts; if (!isNotNeededPackage) { var baseFileName = ts.getBaseFileName(normalized); // At this stage, skip results with leading dot. - if (baseFileName.charCodeAt(0) !== 46 /* dot */) { + if (baseFileName.charCodeAt(0) !== 46 /* CharacterCodes.dot */) { // Return just the type directive names result.push(baseFileName); } @@ -42832,7 +42888,7 @@ var ts; }; return cache; function getUnderlyingCacheKey(specifier, mode) { - var result = mode === undefined ? specifier : mode + "|" + specifier; + var result = mode === undefined ? specifier : "".concat(mode, "|").concat(specifier); memoizedReverseKeys.set(result, [specifier, mode]); return result; } @@ -42867,7 +42923,7 @@ var ts; } function getOrCreateCacheForModuleName(nonRelativeModuleName, mode, redirectedReference) { ts.Debug.assert(!ts.isExternalModuleNameRelative(nonRelativeModuleName)); - return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : mode + "|" + nonRelativeModuleName, createPerModuleNameCache); + return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : "".concat(mode, "|").concat(nonRelativeModuleName), createPerModuleNameCache); } function createPerModuleNameCache() { var directoryPathMap = new ts.Map(); @@ -42980,8 +43036,8 @@ var ts; case ts.ModuleKind.CommonJS: moduleResolution = ts.ModuleResolutionKind.NodeJs; break; - case ts.ModuleKind.Node12: - moduleResolution = ts.ModuleResolutionKind.Node12; + case ts.ModuleKind.Node16: + moduleResolution = ts.ModuleResolutionKind.Node16; break; case ts.ModuleKind.NodeNext: moduleResolution = ts.ModuleResolutionKind.NodeNext; @@ -43001,8 +43057,8 @@ var ts; } ts.perfLogger.logStartResolveModule(moduleName /* , containingFile, ModuleResolutionKind[moduleResolution]*/); switch (moduleResolution) { - case ts.ModuleResolutionKind.Node12: - result = node12ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); + case ts.ModuleResolutionKind.Node16: + result = node16ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); break; case ts.ModuleResolutionKind.NodeNext: result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); @@ -43014,10 +43070,10 @@ var ts; result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference); break; default: - return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution); + return ts.Debug.fail("Unexpected moduleResolution: ".concat(moduleResolution)); } if (result && result.resolvedModule) - ts.perfLogger.logInfoEvent("Module \"" + moduleName + "\" resolved to \"" + result.resolvedModule.resolvedFileName + "\""); + ts.perfLogger.logInfoEvent("Module \"".concat(moduleName, "\" resolved to \"").concat(result.resolvedModule.resolvedFileName, "\"")); ts.perfLogger.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null"); if (perFolderCache) { perFolderCache.set(moduleName, resolutionMode, result); @@ -43220,7 +43276,7 @@ var ts; function resolveJSModule(moduleName, initialDir, host) { var _a = tryResolveJSModuleWorker(moduleName, initialDir, host), resolvedModule = _a.resolvedModule, failedLookupLocations = _a.failedLookupLocations; if (!resolvedModule) { - throw new Error("Could not resolve JS module '" + moduleName + "' starting at '" + initialDir + "'. Looked in: " + failedLookupLocations.join(", ")); + throw new Error("Could not resolve JS module '".concat(moduleName, "' starting at '").concat(initialDir, "'. Looked in: ").concat(failedLookupLocations.join(", "))); } return resolvedModule.resolvedFileName; } @@ -43236,15 +43292,15 @@ var ts; // respecting the `.exports` member of packages' package.json files and its (conditional) mappings of export names NodeResolutionFeatures[NodeResolutionFeatures["Exports"] = 8] = "Exports"; // allowing `*` in the LHS of an export to be followed by more content, eg `"./whatever/*.js"` - // not currently backported to node 12 - https://github.com/nodejs/Release/issues/690 + // not supported in node 12 - https://github.com/nodejs/Release/issues/690 NodeResolutionFeatures[NodeResolutionFeatures["ExportsPatternTrailers"] = 16] = "ExportsPatternTrailers"; NodeResolutionFeatures[NodeResolutionFeatures["AllFeatures"] = 30] = "AllFeatures"; - NodeResolutionFeatures[NodeResolutionFeatures["Node12Default"] = 14] = "Node12Default"; + NodeResolutionFeatures[NodeResolutionFeatures["Node16Default"] = 30] = "Node16Default"; NodeResolutionFeatures[NodeResolutionFeatures["NodeNextDefault"] = 30] = "NodeNextDefault"; NodeResolutionFeatures[NodeResolutionFeatures["EsmMode"] = 32] = "EsmMode"; })(NodeResolutionFeatures || (NodeResolutionFeatures = {})); - function node12ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { - return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.Node12Default, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); + function node16ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { + return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.Node16Default, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); } function nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.NodeNextDefault, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); @@ -43263,15 +43319,34 @@ var ts; return nodeModuleNameResolverWorker(NodeResolutionFeatures.None, moduleName, initialDir, { moduleResolution: ts.ModuleResolutionKind.NodeJs, allowJs: true }, host, /*cache*/ undefined, jsOnlyExtensions, /*redirectedReferences*/ undefined); } function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, lookupConfig) { - return nodeModuleNameResolverWorker(NodeResolutionFeatures.None, moduleName, ts.getDirectoryPath(containingFile), compilerOptions, host, cache, lookupConfig ? tsconfigExtensions : (compilerOptions.resolveJsonModule ? tsPlusJsonExtensions : tsExtensions), redirectedReference); + var extensions; + if (lookupConfig) { + extensions = tsconfigExtensions; + } + else if (compilerOptions.noDtsResolution) { + extensions = [Extensions.TsOnly]; + if (compilerOptions.allowJs) + extensions.push(Extensions.JavaScript); + if (compilerOptions.resolveJsonModule) + extensions.push(Extensions.Json); + } + else { + extensions = compilerOptions.resolveJsonModule ? tsPlusJsonExtensions : tsExtensions; + } + return nodeModuleNameResolverWorker(NodeResolutionFeatures.None, moduleName, ts.getDirectoryPath(containingFile), compilerOptions, host, cache, extensions, redirectedReference); } ts.nodeModuleNameResolver = nodeModuleNameResolver; function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, compilerOptions, host, cache, extensions, redirectedReference) { var _a, _b; var traceEnabled = isTraceEnabled(compilerOptions, host); var failedLookupLocations = []; - // conditions are only used by the node12/nodenext resolver - there's no priority order in the list, + // conditions are only used by the node16/nodenext resolver - there's no priority order in the list, //it's essentially a set (priority is determined by object insertion order in the object we look at). + var conditions = features & NodeResolutionFeatures.EsmMode ? ["node", "import", "types"] : ["node", "require", "types"]; + if (compilerOptions.noDtsResolution) { + conditions.pop(); + } + var diagnostics = []; var state = { compilerOptions: compilerOptions, host: host, @@ -43279,10 +43354,12 @@ var ts; failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, - conditions: features & NodeResolutionFeatures.EsmMode ? ["node", "import", "types"] : ["node", "require", "types"] + conditions: conditions, + requestContainingDirectory: containingDirectory, + reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, }; var result = ts.forEach(extensions, function (ext) { return tryResolve(ext); }); - return createResolvedModuleWithFailedLookupLocations((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.resolved, (_b = result === null || result === void 0 ? void 0 : result.value) === null || _b === void 0 ? void 0 : _b.isExternalLibraryImport, failedLookupLocations, state.resultFromCache); + return createResolvedModuleWithFailedLookupLocations((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.resolved, (_b = result === null || result === void 0 ? void 0 : result.value) === null || _b === void 0 ? void 0 : _b.isExternalLibraryImport, failedLookupLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { var loader = function (extensions, candidate, onlyRecordFailures, state) { return nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, /*considerPackageJson*/ true); }; var resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loader, state); @@ -43342,7 +43419,7 @@ var ts; if (traceEnabled) { trace(host, ts.Diagnostics.Resolving_real_path_for_0_result_1, path, real); } - ts.Debug.assert(host.fileExists(real), path + " linked to nonexistent file " + real); + ts.Debug.assert(host.fileExists(real), "".concat(path, " linked to nonexistent file ").concat(real)); return real; } function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { @@ -43409,7 +43486,7 @@ var ts; } var indexAfterNodeModules = idx + ts.nodeModulesPathPart.length; var indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterNodeModules); - if (path.charCodeAt(indexAfterNodeModules) === 64 /* at */) { + if (path.charCodeAt(indexAfterNodeModules) === 64 /* CharacterCodes.at */) { indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterPackageName); } return path.slice(0, indexAfterPackageName); @@ -43428,7 +43505,7 @@ var ts; */ function loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) { if (extensions === Extensions.Json || extensions === Extensions.TSConfig) { - var extensionLess = ts.tryRemoveExtension(candidate, ".json" /* Json */); + var extensionLess = ts.tryRemoveExtension(candidate, ".json" /* Extension.Json */); var extension = extensionLess ? candidate.substring(extensionLess.length) : ""; return (extensionLess === undefined && extensions === Extensions.Json) ? undefined : tryAddingExtensions(extensionLess || candidate, extensions, extension, onlyRecordFailures, state); } @@ -43445,7 +43522,7 @@ var ts; function loadModuleFromFileNoImplicitExtensions(extensions, candidate, onlyRecordFailures, state) { // If that didn't work, try stripping a ".js" or ".jsx" extension and replacing it with a TypeScript one; // e.g. "./foo.js" can be matched by "./foo.ts" or "./foo.d.ts" - if (ts.hasJSFileExtension(candidate) || (ts.fileExtensionIs(candidate, ".json" /* Json */) && state.compilerOptions.resolveJsonModule)) { + if (ts.hasJSFileExtension(candidate) || (ts.fileExtensionIs(candidate, ".json" /* Extension.Json */) && state.compilerOptions.resolveJsonModule)) { var extensionless = ts.removeFileExtension(candidate); var extension = candidate.substring(extensionless.length); if (state.traceEnabled) { @@ -43455,9 +43532,9 @@ var ts; } } function loadJSOrExactTSFileName(extensions, candidate, onlyRecordFailures, state) { - if ((extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) && ts.fileExtensionIsOneOf(candidate, [".d.ts" /* Dts */, ".d.cts" /* Dcts */, ".d.mts" /* Dmts */])) { + if ((extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) && ts.fileExtensionIsOneOf(candidate, ts.supportedTSExtensionsFlat)) { var result = tryFile(candidate, onlyRecordFailures, state); - return result !== undefined ? { path: candidate, ext: ts.forEach([".d.ts" /* Dts */, ".d.cts" /* Dcts */, ".d.mts" /* Dmts */], function (e) { return ts.fileExtensionIs(candidate, e) ? e : undefined; }) } : undefined; + return result !== undefined ? { path: candidate, ext: ts.tryExtractTSExtension(candidate) } : undefined; } return loadModuleFromFileNoImplicitExtensions(extensions, candidate, onlyRecordFailures, state); } @@ -43473,53 +43550,55 @@ var ts; switch (extensions) { case Extensions.DtsOnly: switch (originalExtension) { - case ".mjs" /* Mjs */: - case ".mts" /* Mts */: - case ".d.mts" /* Dmts */: - return tryExtension(".d.mts" /* Dmts */); - case ".cjs" /* Cjs */: - case ".cts" /* Cts */: - case ".d.cts" /* Dcts */: - return tryExtension(".d.cts" /* Dcts */); - case ".json" /* Json */: - candidate += ".json" /* Json */; - return tryExtension(".d.ts" /* Dts */); - default: return tryExtension(".d.ts" /* Dts */); + case ".mjs" /* Extension.Mjs */: + case ".mts" /* Extension.Mts */: + case ".d.mts" /* Extension.Dmts */: + return tryExtension(".d.mts" /* Extension.Dmts */); + case ".cjs" /* Extension.Cjs */: + case ".cts" /* Extension.Cts */: + case ".d.cts" /* Extension.Dcts */: + return tryExtension(".d.cts" /* Extension.Dcts */); + case ".json" /* Extension.Json */: + candidate += ".json" /* Extension.Json */; + return tryExtension(".d.ts" /* Extension.Dts */); + default: return tryExtension(".d.ts" /* Extension.Dts */); } case Extensions.TypeScript: + case Extensions.TsOnly: + var useDts = extensions === Extensions.TypeScript; switch (originalExtension) { - case ".mjs" /* Mjs */: - case ".mts" /* Mts */: - case ".d.mts" /* Dmts */: - return tryExtension(".mts" /* Mts */) || tryExtension(".d.mts" /* Dmts */); - case ".cjs" /* Cjs */: - case ".cts" /* Cts */: - case ".d.cts" /* Dcts */: - return tryExtension(".cts" /* Cts */) || tryExtension(".d.cts" /* Dcts */); - case ".json" /* Json */: - candidate += ".json" /* Json */; - return tryExtension(".d.ts" /* Dts */); + case ".mjs" /* Extension.Mjs */: + case ".mts" /* Extension.Mts */: + case ".d.mts" /* Extension.Dmts */: + return tryExtension(".mts" /* Extension.Mts */) || (useDts ? tryExtension(".d.mts" /* Extension.Dmts */) : undefined); + case ".cjs" /* Extension.Cjs */: + case ".cts" /* Extension.Cts */: + case ".d.cts" /* Extension.Dcts */: + return tryExtension(".cts" /* Extension.Cts */) || (useDts ? tryExtension(".d.cts" /* Extension.Dcts */) : undefined); + case ".json" /* Extension.Json */: + candidate += ".json" /* Extension.Json */; + return useDts ? tryExtension(".d.ts" /* Extension.Dts */) : undefined; default: - return tryExtension(".ts" /* Ts */) || tryExtension(".tsx" /* Tsx */) || tryExtension(".d.ts" /* Dts */); + return tryExtension(".ts" /* Extension.Ts */) || tryExtension(".tsx" /* Extension.Tsx */) || (useDts ? tryExtension(".d.ts" /* Extension.Dts */) : undefined); } case Extensions.JavaScript: switch (originalExtension) { - case ".mjs" /* Mjs */: - case ".mts" /* Mts */: - case ".d.mts" /* Dmts */: - return tryExtension(".mjs" /* Mjs */); - case ".cjs" /* Cjs */: - case ".cts" /* Cts */: - case ".d.cts" /* Dcts */: - return tryExtension(".cjs" /* Cjs */); - case ".json" /* Json */: - return tryExtension(".json" /* Json */); + case ".mjs" /* Extension.Mjs */: + case ".mts" /* Extension.Mts */: + case ".d.mts" /* Extension.Dmts */: + return tryExtension(".mjs" /* Extension.Mjs */); + case ".cjs" /* Extension.Cjs */: + case ".cts" /* Extension.Cts */: + case ".d.cts" /* Extension.Dcts */: + return tryExtension(".cjs" /* Extension.Cjs */); + case ".json" /* Extension.Json */: + return tryExtension(".json" /* Extension.Json */); default: - return tryExtension(".js" /* Js */) || tryExtension(".jsx" /* Jsx */); + return tryExtension(".js" /* Extension.Js */) || tryExtension(".jsx" /* Extension.Jsx */); } case Extensions.TSConfig: case Extensions.Json: - return tryExtension(".json" /* Json */); + return tryExtension(".json" /* Extension.Json */); } function tryExtension(ext) { var path = tryFile(candidate + ext, onlyRecordFailures, state); @@ -43578,6 +43657,8 @@ var ts; packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), conditions: ["node", "require", "types"], features: features, + requestContainingDirectory: packageJsonInfo.packageDirectory, + reportDiagnostic: ts.noop }; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); @@ -43664,6 +43745,8 @@ var ts; packageJsonInfoCache: packageJsonInfoCache, features: 0, conditions: [], + requestContainingDirectory: undefined, + reportDiagnostic: ts.noop }; var parts = ts.getPathComponents(fileName); parts.pop(); @@ -43727,6 +43810,7 @@ var ts; switch (extensions) { case Extensions.JavaScript: case Extensions.Json: + case Extensions.TsOnly: packageFile = readPackageJsonMainField(jsonContent, candidate, state); break; case Extensions.TypeScript: @@ -43799,14 +43883,16 @@ var ts; function extensionIsOk(extensions, extension) { switch (extensions) { case Extensions.JavaScript: - return extension === ".js" /* Js */ || extension === ".jsx" /* Jsx */; + return extension === ".js" /* Extension.Js */ || extension === ".jsx" /* Extension.Jsx */ || extension === ".mjs" /* Extension.Mjs */ || extension === ".cjs" /* Extension.Cjs */; case Extensions.TSConfig: case Extensions.Json: - return extension === ".json" /* Json */; + return extension === ".json" /* Extension.Json */; case Extensions.TypeScript: - return extension === ".ts" /* Ts */ || extension === ".tsx" /* Tsx */ || extension === ".d.ts" /* Dts */; + return extension === ".ts" /* Extension.Ts */ || extension === ".tsx" /* Extension.Tsx */ || extension === ".mts" /* Extension.Mts */ || extension === ".cts" /* Extension.Cts */ || extension === ".d.ts" /* Extension.Dts */ || extension === ".d.mts" /* Extension.Dmts */ || extension === ".d.cts" /* Extension.Dcts */; + case Extensions.TsOnly: + return extension === ".ts" /* Extension.Ts */ || extension === ".tsx" /* Extension.Tsx */ || extension === ".mts" /* Extension.Mts */ || extension === ".cts" /* Extension.Cts */; case Extensions.DtsOnly: - return extension === ".d.ts" /* Dts */; + return extension === ".d.ts" /* Extension.Dts */ || extension === ".d.mts" /* Extension.Dmts */ || extension === ".d.cts" /* Extension.Dcts */; } } /* @internal */ @@ -43843,7 +43929,7 @@ var ts; return undefined; } var trailingParts = parts.slice(nameParts.length); - return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : "." + ts.directorySeparator + trailingParts.join(ts.directorySeparator), state, cache, redirectedReference); + return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { if (!scope.packageJsonContent.exports) { @@ -43952,7 +44038,6 @@ var ts; function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports) { return loadModuleFromTargetImportOrExport; function loadModuleFromTargetImportOrExport(target, subpath, pattern) { - var _a, _b; if (typeof target === "string") { if (!pattern && subpath.length > 0 && !ts.endsWith(target, "/")) { if (state.traceEnabled) { @@ -43989,13 +44074,16 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var finalPath = ts.getNormalizedAbsolutePath(pattern ? resolvedTarget.replace(/\*/g, subpath) : resolvedTarget + subpath, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); + var finalPath = toAbsolutePath(pattern ? resolvedTarget.replace(/\*/g, subpath) : resolvedTarget + subpath); + var inputLink = tryLoadInputFileForPath(finalPath, subpath, ts.combinePaths(scope.packageDirectory, "package.json"), isImports); + if (inputLink) + return inputLink; return toSearchResult(withPackageId(scope, loadJSOrExactTSFileName(extensions, finalPath, /*onlyRecordFailures*/ false, state))); } else if (typeof target === "object" && target !== null) { // eslint-disable-line no-null/no-null if (!Array.isArray(target)) { - for (var _i = 0, _c = ts.getOwnKeys(target); _i < _c.length; _i++) { - var key = _c[_i]; + for (var _i = 0, _a = ts.getOwnKeys(target); _i < _a.length; _i++) { + var key = _a[_i]; if (key === "default" || state.conditions.indexOf(key) >= 0 || isApplicableVersionedTypesKey(state.conditions, key)) { var subTarget = target[key]; var result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern); @@ -44013,8 +44101,8 @@ var ts; } return toSearchResult(/*value*/ undefined); } - for (var _d = 0, target_2 = target; _d < target_2.length; _d++) { - var elem = target_2[_d]; + for (var _b = 0, target_2 = target; _b < target_2.length; _b++) { + var elem = target_2[_b]; var result = loadModuleFromTargetImportOrExport(elem, subpath, pattern); if (result) { return result; @@ -44032,6 +44120,128 @@ var ts; trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName); } return toSearchResult(/*value*/ undefined); + function toAbsolutePath(path) { + var _a, _b; + if (path === undefined) + return path; + return ts.hostGetCanonicalFileName({ useCaseSensitiveFileNames: useCaseSensitiveFileNames })(ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a))); + } + function combineDirectoryPath(root, dir) { + return ts.ensureTrailingDirectorySeparator(ts.combinePaths(root, dir)); + } + function useCaseSensitiveFileNames() { + return !state.host.useCaseSensitiveFileNames ? true : + typeof state.host.useCaseSensitiveFileNames === "boolean" ? state.host.useCaseSensitiveFileNames : + state.host.useCaseSensitiveFileNames(); + } + function tryLoadInputFileForPath(finalPath, entry, packagePath, isImports) { + var _a, _b, _c, _d; + // Replace any references to outputs for files in the program with the input files to support package self-names used with outDir + // PROBLEM: We don't know how to calculate the output paths yet, because the "common source directory" we use as the base of the file structure + // we reproduce into the output directory is based on the set of input files, which we're still in the process of traversing and resolving! + // _Given that_, we have to guess what the base of the output directory is (obviously the user wrote the export map, so has some idea what it is!). + // We are going to probe _so many_ possible paths. We limit where we'll do this to try to reduce the possibilities of false positive lookups. + if ((extensions === Extensions.TypeScript || extensions === Extensions.JavaScript || extensions === Extensions.Json) + && (state.compilerOptions.declarationDir || state.compilerOptions.outDir) + && finalPath.indexOf("/node_modules/") === -1 + && (state.compilerOptions.configFile ? ts.startsWith(toAbsolutePath(state.compilerOptions.configFile.fileName), scope.packageDirectory) : true)) { + // So that all means we'll only try these guesses for files outside `node_modules` in a directory where the `package.json` and `tsconfig.json` are siblings. + // Even with all that, we still don't know if the root of the output file structure will be (relative to the package file) + // `.`, `./src` or any other deeper directory structure. (If project references are used, it's definitely `.` by fiat, so that should be pretty common.) + var getCanonicalFileName = ts.hostGetCanonicalFileName({ useCaseSensitiveFileNames: useCaseSensitiveFileNames }); + var commonSourceDirGuesses = []; + // A `rootDir` compiler option strongly indicates the root location + // A `composite` project is using project references and has it's common src dir set to `.`, so it shouldn't need to check any other locations + if (state.compilerOptions.rootDir || (state.compilerOptions.composite && state.compilerOptions.configFilePath)) { + var commonDir = toAbsolutePath(ts.getCommonSourceDirectory(state.compilerOptions, function () { return []; }, ((_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)) || "", getCanonicalFileName)); + commonSourceDirGuesses.push(commonDir); + } + else if (state.requestContainingDirectory) { + // However without either of those set we're in the dark. Let's say you have + // + // ./tools/index.ts + // ./src/index.ts + // ./dist/index.js + // ./package.json <-- references ./dist/index.js + // ./tsconfig.json <-- loads ./src/index.ts + // + // How do we know `./src` is the common src dir, and not `./tools`, given only the `./dist` out dir and `./dist/index.js` filename? + // Answer: We... don't. We know we're looking for an `index.ts` input file, but we have _no clue_ which subfolder it's supposed to be loaded from + // without more context. + // But we do have more context! Just a tiny bit more! We're resolving an import _for some other input file_! And that input file, too + // must be inside the common source directory! So we propagate that tidbit of info all the way to here via state.requestContainingDirectory + var requestingFile_1 = toAbsolutePath(ts.combinePaths(state.requestContainingDirectory, "index.ts")); + // And we can try every folder above the common folder for the request folder and the config/package base directory + // This technically can be wrong - we may load ./src/index.ts when ./src/sub/index.ts was right because we don't + // know if only `./src/sub` files were loaded by the program; but this has the best chance to be right of just about anything + // else we have. And, given that we're about to load `./src/index.ts` because we choose it as likely correct, there will then + // be a file outside of `./src/sub` in the program (the file we resolved to), making us de-facto right. So this fallback lookup + // logic may influence what files are pulled in by self-names, which in turn influences the output path shape, but it's all + // internally consistent so the paths should be stable so long as we prefer the "most general" (meaning: top-most-level directory) possible results first. + var commonDir = toAbsolutePath(ts.getCommonSourceDirectory(state.compilerOptions, function () { return [requestingFile_1, toAbsolutePath(packagePath)]; }, ((_d = (_c = state.host).getCurrentDirectory) === null || _d === void 0 ? void 0 : _d.call(_c)) || "", getCanonicalFileName)); + commonSourceDirGuesses.push(commonDir); + var fragment = ts.ensureTrailingDirectorySeparator(commonDir); + while (fragment && fragment.length > 1) { + var parts = ts.getPathComponents(fragment); + parts.pop(); // remove a directory + var commonDir_1 = ts.getPathFromPathComponents(parts); + commonSourceDirGuesses.unshift(commonDir_1); + fragment = ts.ensureTrailingDirectorySeparator(commonDir_1); + } + } + if (commonSourceDirGuesses.length > 1) { + state.reportDiagnostic(ts.createCompilerDiagnostic(isImports + ? ts.Diagnostics.The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate + : ts.Diagnostics.The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate, entry === "" ? "." : entry, // replace empty string with `.` - the reverse of the operation done when entries are built - so main entrypoint errors don't look weird + packagePath)); + } + for (var _i = 0, commonSourceDirGuesses_1 = commonSourceDirGuesses; _i < commonSourceDirGuesses_1.length; _i++) { + var commonSourceDirGuess = commonSourceDirGuesses_1[_i]; + var candidateDirectories = getOutputDirectoriesForBaseDirectory(commonSourceDirGuess); + for (var _e = 0, candidateDirectories_1 = candidateDirectories; _e < candidateDirectories_1.length; _e++) { + var candidateDir = candidateDirectories_1[_e]; + if (ts.startsWith(finalPath, candidateDir)) { + // The matched export is looking up something in either the out declaration or js dir, now map the written path back into the source dir and source extension + var pathFragment = finalPath.slice(candidateDir.length + 1); // +1 to also remove directory seperator + var possibleInputBase = ts.combinePaths(commonSourceDirGuess, pathFragment); + var jsAndDtsExtensions = [".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */, ".js" /* Extension.Js */, ".json" /* Extension.Json */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".d.ts" /* Extension.Dts */]; + for (var _f = 0, jsAndDtsExtensions_1 = jsAndDtsExtensions; _f < jsAndDtsExtensions_1.length; _f++) { + var ext = jsAndDtsExtensions_1[_f]; + if (ts.fileExtensionIs(possibleInputBase, ext)) { + var inputExts = ts.getPossibleOriginalInputExtensionForExtension(possibleInputBase); + for (var _g = 0, inputExts_1 = inputExts; _g < inputExts_1.length; _g++) { + var possibleExt = inputExts_1[_g]; + var possibleInputWithInputExtension = ts.changeAnyExtension(possibleInputBase, possibleExt, ext, !useCaseSensitiveFileNames()); + if ((extensions === Extensions.TypeScript && ts.hasJSFileExtension(possibleInputWithInputExtension)) || + (extensions === Extensions.JavaScript && ts.hasTSFileExtension(possibleInputWithInputExtension))) { + continue; + } + if (state.host.fileExists(possibleInputWithInputExtension)) { + return toSearchResult(withPackageId(scope, loadJSOrExactTSFileName(extensions, possibleInputWithInputExtension, /*onlyRecordFailures*/ false, state))); + } + } + } + } + } + } + } + } + return undefined; + function getOutputDirectoriesForBaseDirectory(commonSourceDirGuess) { + var _a, _b; + // Config file ouput paths are processed to be relative to the host's current directory, while + // otherwise the paths are resolved relative to the common source dir the compiler puts together + var currentDir = state.compilerOptions.configFile ? ((_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)) || "" : commonSourceDirGuess; + var candidateDirectories = []; + if (state.compilerOptions.declarationDir) { + candidateDirectories.push(toAbsolutePath(combineDirectoryPath(currentDir, state.compilerOptions.declarationDir))); + } + if (state.compilerOptions.outDir && state.compilerOptions.outDir !== state.compilerOptions.declarationDir) { + candidateDirectories.push(toAbsolutePath(combineDirectoryPath(currentDir, state.compilerOptions.outDir))); + } + return candidateDirectories; + } + } } } /* @internal */ @@ -44179,7 +44389,7 @@ var ts; } /* @internal */ function getTypesPackageName(packageName) { - return "@types/" + mangleScopedPackageName(packageName); + return "@types/".concat(mangleScopedPackageName(packageName)); } ts.getTypesPackageName = getTypesPackageName; /* @internal */ @@ -44222,11 +44432,12 @@ var ts; function classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference) { var traceEnabled = isTraceEnabled(compilerOptions, host); var failedLookupLocations = []; - var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: NodeResolutionFeatures.None, conditions: [] }; var containingDirectory = ts.getDirectoryPath(containingFile); + var diagnostics = []; + var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: NodeResolutionFeatures.None, conditions: [], requestContainingDirectory: containingDirectory, reportDiagnostic: function (diag) { return void diagnostics.push(diag); } }; var resolved = tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript); // No originalPath because classic resolution doesn't resolve realPath - return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, /*isExternalLibraryImport*/ false, failedLookupLocations, state.resultFromCache); + return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, /*isExternalLibraryImport*/ false, failedLookupLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { var resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, state); if (resolvedUsingSettings) { @@ -44269,9 +44480,10 @@ var ts; trace(host, ts.Diagnostics.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2, projectName, moduleName, globalCache); } var failedLookupLocations = []; - var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: packageJsonInfoCache, features: NodeResolutionFeatures.None, conditions: [] }; + var diagnostics = []; + var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: packageJsonInfoCache, features: NodeResolutionFeatures.None, conditions: [], requestContainingDirectory: undefined, reportDiagnostic: function (diag) { return void diagnostics.push(diag); } }; var resolved = loadModuleFromImmediateNodeModulesDirectory(Extensions.DtsOnly, moduleName, globalCache, state, /*typesScopeOnly*/ false, /*cache*/ undefined, /*redirectedReference*/ undefined); - return createResolvedModuleWithFailedLookupLocations(resolved, /*isExternalLibraryImport*/ true, failedLookupLocations, state.resultFromCache); + return createResolvedModuleWithFailedLookupLocations(resolved, /*isExternalLibraryImport*/ true, failedLookupLocations, diagnostics, state.resultFromCache); } ts.loadModuleFromGlobalCache = loadModuleFromGlobalCache; /** @@ -44297,14 +44509,14 @@ var ts; ts.setParent(node.body, node); ts.setParentRecursive(node.body, /*incremental*/ false); } - return node.body ? getModuleInstanceStateCached(node.body, visited) : 1 /* Instantiated */; + return node.body ? getModuleInstanceStateCached(node.body, visited) : 1 /* ModuleInstanceState.Instantiated */; } ts.getModuleInstanceState = getModuleInstanceState; function getModuleInstanceStateCached(node, visited) { if (visited === void 0) { visited = new ts.Map(); } var nodeId = ts.getNodeId(node); if (visited.has(nodeId)) { - return visited.get(nodeId) || 0 /* NonInstantiated */; + return visited.get(nodeId) || 0 /* ModuleInstanceState.NonInstantiated */; } visited.set(nodeId, undefined); var result = getModuleInstanceStateWorker(node, visited); @@ -44315,34 +44527,34 @@ var ts; // A module is uninstantiated if it contains only switch (node.kind) { // 1. interface declarations, type alias declarations - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - return 0 /* NonInstantiated */; + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + return 0 /* ModuleInstanceState.NonInstantiated */; // 2. const enum declarations - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: if (ts.isEnumConst(node)) { - return 2 /* ConstEnumOnly */; + return 2 /* ModuleInstanceState.ConstEnumOnly */; } break; // 3. non-exported import declarations - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: - if (!(ts.hasSyntacticModifier(node, 1 /* Export */))) { - return 0 /* NonInstantiated */; + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + if (!(ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */))) { + return 0 /* ModuleInstanceState.NonInstantiated */; } break; // 4. Export alias declarations pointing at only uninstantiated modules or things uninstantiated modules contain - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: var exportDeclaration = node; - if (!exportDeclaration.moduleSpecifier && exportDeclaration.exportClause && exportDeclaration.exportClause.kind === 273 /* NamedExports */) { - var state = 0 /* NonInstantiated */; + if (!exportDeclaration.moduleSpecifier && exportDeclaration.exportClause && exportDeclaration.exportClause.kind === 273 /* SyntaxKind.NamedExports */) { + var state = 0 /* ModuleInstanceState.NonInstantiated */; for (var _i = 0, _a = exportDeclaration.exportClause.elements; _i < _a.length; _i++) { var specifier = _a[_i]; var specifierState = getModuleInstanceStateForAliasTarget(specifier, visited); if (specifierState > state) { state = specifierState; } - if (state === 1 /* Instantiated */) { + if (state === 1 /* ModuleInstanceState.Instantiated */) { return state; } } @@ -44350,21 +44562,21 @@ var ts; } break; // 5. other uninstantiated module declarations. - case 262 /* ModuleBlock */: { - var state_1 = 0 /* NonInstantiated */; + case 262 /* SyntaxKind.ModuleBlock */: { + var state_1 = 0 /* ModuleInstanceState.NonInstantiated */; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateCached(n, visited); switch (childState) { - case 0 /* NonInstantiated */: + case 0 /* ModuleInstanceState.NonInstantiated */: // child is non-instantiated - continue searching return; - case 2 /* ConstEnumOnly */: + case 2 /* ModuleInstanceState.ConstEnumOnly */: // child is const enum only - record state and continue searching - state_1 = 2 /* ConstEnumOnly */; + state_1 = 2 /* ModuleInstanceState.ConstEnumOnly */; return; - case 1 /* Instantiated */: + case 1 /* ModuleInstanceState.Instantiated */: // child is instantiated - record state and stop - state_1 = 1 /* Instantiated */; + state_1 = 1 /* ModuleInstanceState.Instantiated */; return true; default: ts.Debug.assertNever(childState); @@ -44372,16 +44584,16 @@ var ts; }); return state_1; } - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return getModuleInstanceState(node, visited); - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // Only jsdoc typedef definition can exist in jsdoc namespace, and it should // be considered the same as type alias if (node.isInJSDocNamespace) { - return 0 /* NonInstantiated */; + return 0 /* ModuleInstanceState.NonInstantiated */; } } - return 1 /* Instantiated */; + return 1 /* ModuleInstanceState.Instantiated */; } function getModuleInstanceStateForAliasTarget(specifier, visited) { var name = specifier.propertyName || specifier.name; @@ -44401,7 +44613,7 @@ var ts; if (found === undefined || state > found) { found = state; } - if (found === 1 /* Instantiated */) { + if (found === 1 /* ModuleInstanceState.Instantiated */) { return found; } } @@ -44412,7 +44624,7 @@ var ts; } p = p.parent; } - return 1 /* Instantiated */; // Couldn't locate, assume could refer to a value + return 1 /* ModuleInstanceState.Instantiated */; // Couldn't locate, assume could refer to a value } var ContainerFlags; (function (ContainerFlags) { @@ -44486,8 +44698,8 @@ var ts; var symbolCount = 0; var Symbol; var classifiableNames; - var unreachableFlow = { flags: 1 /* Unreachable */ }; - var reportedUnreachableFlow = { flags: 1 /* Unreachable */ }; + var unreachableFlow = { flags: 1 /* FlowFlags.Unreachable */ }; + var reportedUnreachableFlow = { flags: 1 /* FlowFlags.Unreachable */ }; var bindBinaryExpressionFlow = createBindBinaryExpressionFlow(); /** * Inside the binder, we may create a diagnostic for an as-yet unbound node (with potentially no parent pointers, implying no accessible source file) @@ -44509,7 +44721,7 @@ var ts; ts.Debug.attachFlowNodeDebugInfo(unreachableFlow); ts.Debug.attachFlowNodeDebugInfo(reportedUnreachableFlow); if (!file.locals) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("bind" /* Bind */, "bindSourceFile", { path: file.path }, /*separateBeginAndEnd*/ true); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("bind" /* tracing.Phase.Bind */, "bindSourceFile", { path: file.path }, /*separateBeginAndEnd*/ true); bind(file); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); file.symbolCount = symbolCount; @@ -44536,7 +44748,7 @@ var ts; activeLabelList = undefined; hasExplicitReturn = false; inAssignmentPattern = false; - emitFlags = 0 /* None */; + emitFlags = 0 /* NodeFlags.None */; } return bindSourceFile; function bindInStrictMode(file, opts) { @@ -44556,33 +44768,33 @@ var ts; symbol.flags |= symbolFlags; node.symbol = symbol; symbol.declarations = ts.appendIfUnique(symbol.declarations, node); - if (symbolFlags & (32 /* Class */ | 384 /* Enum */ | 1536 /* Module */ | 3 /* Variable */) && !symbol.exports) { + if (symbolFlags & (32 /* SymbolFlags.Class */ | 384 /* SymbolFlags.Enum */ | 1536 /* SymbolFlags.Module */ | 3 /* SymbolFlags.Variable */) && !symbol.exports) { symbol.exports = ts.createSymbolTable(); } - if (symbolFlags & (32 /* Class */ | 64 /* Interface */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && !symbol.members) { + if (symbolFlags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */ | 2048 /* SymbolFlags.TypeLiteral */ | 4096 /* SymbolFlags.ObjectLiteral */) && !symbol.members) { symbol.members = ts.createSymbolTable(); } // On merge of const enum module with class or function, reset const enum only flag (namespaces will already recalculate) - if (symbol.constEnumOnlyModule && (symbol.flags & (16 /* Function */ | 32 /* Class */ | 256 /* RegularEnum */))) { + if (symbol.constEnumOnlyModule && (symbol.flags & (16 /* SymbolFlags.Function */ | 32 /* SymbolFlags.Class */ | 256 /* SymbolFlags.RegularEnum */))) { symbol.constEnumOnlyModule = false; } - if (symbolFlags & 111551 /* Value */) { + if (symbolFlags & 111551 /* SymbolFlags.Value */) { ts.setValueDeclaration(symbol, node); } } // Should not be called on a declaration with a computed property name, // unless it is a well known Symbol. function getDeclarationName(node) { - if (node.kind === 271 /* ExportAssignment */) { - return node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; + if (node.kind === 271 /* SyntaxKind.ExportAssignment */) { + return node.isExportEquals ? "export=" /* InternalSymbolName.ExportEquals */ : "default" /* InternalSymbolName.Default */; } var name = ts.getNameOfDeclaration(node); if (name) { if (ts.isAmbientModule(node)) { var moduleName = ts.getTextOfIdentifierOrLiteral(name); - return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\""); + return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"".concat(moduleName, "\"")); } - if (name.kind === 162 /* ComputedPropertyName */) { + if (name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { var nameExpression = name.expression; // treat computed property names where expression is string/numeric literal as just string/numeric literal if (ts.isStringOrNumericLiteralLike(nameExpression)) { @@ -44608,36 +44820,36 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 171 /* Constructor */: - return "__constructor" /* Constructor */; - case 179 /* FunctionType */: - case 174 /* CallSignature */: - case 323 /* JSDocSignature */: - return "__call" /* Call */; - case 180 /* ConstructorType */: - case 175 /* ConstructSignature */: - return "__new" /* New */; - case 176 /* IndexSignature */: - return "__index" /* Index */; - case 272 /* ExportDeclaration */: - return "__export" /* ExportStar */; - case 305 /* SourceFile */: + case 171 /* SyntaxKind.Constructor */: + return "__constructor" /* InternalSymbolName.Constructor */; + case 179 /* SyntaxKind.FunctionType */: + case 174 /* SyntaxKind.CallSignature */: + case 323 /* SyntaxKind.JSDocSignature */: + return "__call" /* InternalSymbolName.Call */; + case 180 /* SyntaxKind.ConstructorType */: + case 175 /* SyntaxKind.ConstructSignature */: + return "__new" /* InternalSymbolName.New */; + case 176 /* SyntaxKind.IndexSignature */: + return "__index" /* InternalSymbolName.Index */; + case 272 /* SyntaxKind.ExportDeclaration */: + return "__export" /* InternalSymbolName.ExportStar */; + case 305 /* SyntaxKind.SourceFile */: // json file should behave as // module.exports = ... - return "export=" /* ExportEquals */; - case 221 /* BinaryExpression */: - if (ts.getAssignmentDeclarationKind(node) === 2 /* ModuleExports */) { + return "export=" /* InternalSymbolName.ExportEquals */; + case 221 /* SyntaxKind.BinaryExpression */: + if (ts.getAssignmentDeclarationKind(node) === 2 /* AssignmentDeclarationKind.ModuleExports */) { // module.exports = ... - return "export=" /* ExportEquals */; + return "export=" /* InternalSymbolName.ExportEquals */; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 317 /* JSDocFunctionType */: - return (ts.isJSDocConstructSignature(node) ? "__new" /* New */ : "__call" /* Call */); - case 164 /* Parameter */: + case 317 /* SyntaxKind.JSDocFunctionType */: + return (ts.isJSDocConstructSignature(node) ? "__new" /* InternalSymbolName.New */ : "__call" /* InternalSymbolName.Call */); + case 164 /* SyntaxKind.Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 317 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; }); + ts.Debug.assert(node.parent.kind === 317 /* SyntaxKind.JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind, ", expected JSDocFunctionType"); }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -44656,14 +44868,14 @@ var ts; */ function declareSymbol(symbolTable, parent, node, includes, excludes, isReplaceableByMethod, isComputedName) { ts.Debug.assert(isComputedName || !ts.hasDynamicName(node)); - var isDefaultExport = ts.hasSyntacticModifier(node, 512 /* Default */) || ts.isExportSpecifier(node) && node.name.escapedText === "default"; + var isDefaultExport = ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) || ts.isExportSpecifier(node) && node.name.escapedText === "default"; // The exported symbol for an export default function/class node is always named "default" - var name = isComputedName ? "__computed" /* Computed */ - : isDefaultExport && parent ? "default" /* Default */ + var name = isComputedName ? "__computed" /* InternalSymbolName.Computed */ + : isDefaultExport && parent ? "default" /* InternalSymbolName.Default */ : getDeclarationName(node); var symbol; if (name === undefined) { - symbol = createSymbol(0 /* None */, "__missing" /* Missing */); + symbol = createSymbol(0 /* SymbolFlags.None */, "__missing" /* InternalSymbolName.Missing */); } else { // Check and see if the symbol table already has a symbol with this name. If not, @@ -44690,11 +44902,11 @@ var ts; // you have multiple 'vars' with the same name in the same container). In this case // just add this node into the declarations list of the symbol. symbol = symbolTable.get(name); - if (includes & 2885600 /* Classifiable */) { + if (includes & 2885600 /* SymbolFlags.Classifiable */) { classifiableNames.add(name); } if (!symbol) { - symbolTable.set(name, symbol = createSymbol(0 /* None */, name)); + symbolTable.set(name, symbol = createSymbol(0 /* SymbolFlags.None */, name)); if (isReplaceableByMethod) symbol.isReplaceableByMethod = true; } @@ -44706,20 +44918,20 @@ var ts; if (symbol.isReplaceableByMethod) { // Javascript constructor-declared symbols can be discarded in favor of // prototype symbols like methods. - symbolTable.set(name, symbol = createSymbol(0 /* None */, name)); + symbolTable.set(name, symbol = createSymbol(0 /* SymbolFlags.None */, name)); } - else if (!(includes & 3 /* Variable */ && symbol.flags & 67108864 /* Assignment */)) { + else if (!(includes & 3 /* SymbolFlags.Variable */ && symbol.flags & 67108864 /* SymbolFlags.Assignment */)) { // Assignment declarations are allowed to merge with variables, no matter what other flags they have. if (ts.isNamedDeclaration(node)) { ts.setParent(node.name, node); } // Report errors every position with duplicate declaration // Report errors on previous encountered declarations - var message_1 = symbol.flags & 2 /* BlockScopedVariable */ + var message_1 = symbol.flags & 2 /* SymbolFlags.BlockScopedVariable */ ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; var messageNeedsName_1 = true; - if (symbol.flags & 384 /* Enum */ || includes & 384 /* Enum */) { + if (symbol.flags & 384 /* SymbolFlags.Enum */ || includes & 384 /* SymbolFlags.Enum */) { message_1 = ts.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations; messageNeedsName_1 = false; } @@ -44739,7 +44951,7 @@ var ts; // 1. multiple export default of class declaration or function declaration by checking NodeFlags.Default // 2. multiple export default of export assignment. This one doesn't have NodeFlags.Default on (as export default doesn't considered as modifiers) if (symbol.declarations && symbol.declarations.length && - (node.kind === 271 /* ExportAssignment */ && !node.isExportEquals)) { + (node.kind === 271 /* SyntaxKind.ExportAssignment */ && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; messageNeedsName_1 = false; multipleDefaultExports_1 = true; @@ -44747,9 +44959,9 @@ var ts; } } var relatedInformation_1 = []; - if (ts.isTypeAliasDeclaration(node) && ts.nodeIsMissing(node.type) && ts.hasSyntacticModifier(node, 1 /* Export */) && symbol.flags & (2097152 /* Alias */ | 788968 /* Type */ | 1920 /* Namespace */)) { + if (ts.isTypeAliasDeclaration(node) && ts.nodeIsMissing(node.type) && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */) && symbol.flags & (2097152 /* SymbolFlags.Alias */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */)) { // export type T; - may have meant export type { T }? - relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { " + ts.unescapeLeadingUnderscores(node.name.escapedText) + " }")); + relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { ".concat(ts.unescapeLeadingUnderscores(node.name.escapedText), " }"))); } var declarationName_1 = ts.getNameOfDeclaration(node) || node; ts.forEach(symbol.declarations, function (declaration, index) { @@ -44762,7 +44974,7 @@ var ts; }); var diag = createDiagnosticForNode(declarationName_1, message_1, messageNeedsName_1 ? getDisplayName(node) : undefined); file.bindDiagnostics.push(ts.addRelatedInfo.apply(void 0, __spreadArray([diag], relatedInformation_1, false))); - symbol = createSymbol(0 /* None */, name); + symbol = createSymbol(0 /* SymbolFlags.None */, name); } } } @@ -44776,9 +44988,9 @@ var ts; return symbol; } function declareModuleMember(node, symbolFlags, symbolExcludes) { - var hasExportModifier = !!(ts.getCombinedModifierFlags(node) & 1 /* Export */) || jsdocTreatAsExported(node); - if (symbolFlags & 2097152 /* Alias */) { - if (node.kind === 275 /* ExportSpecifier */ || (node.kind === 265 /* ImportEqualsDeclaration */ && hasExportModifier)) { + var hasExportModifier = !!(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */) || jsdocTreatAsExported(node); + if (symbolFlags & 2097152 /* SymbolFlags.Alias */) { + if (node.kind === 275 /* SyntaxKind.ExportSpecifier */ || (node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -44802,11 +45014,11 @@ var ts; // and should never be merged directly with other augmentation, and the latter case would be possible if automatic merge is allowed. if (ts.isJSDocTypeAlias(node)) ts.Debug.assert(ts.isInJSFile(node)); // We shouldn't add symbols for JSDoc nodes if not in a JS file. - if (!ts.isAmbientModule(node) && (hasExportModifier || container.flags & 64 /* ExportContext */)) { - if (!container.locals || (ts.hasSyntacticModifier(node, 512 /* Default */) && !getDeclarationName(node))) { + if (!ts.isAmbientModule(node) && (hasExportModifier || container.flags & 64 /* NodeFlags.ExportContext */)) { + if (!container.locals || (ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) && !getDeclarationName(node))) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); // No local symbol for an unnamed default! } - var exportKind = symbolFlags & 111551 /* Value */ ? 1048576 /* ExportValue */ : 0; + var exportKind = symbolFlags & 111551 /* SymbolFlags.Value */ ? 1048576 /* SymbolFlags.ExportValue */ : 0; var local = declareSymbol(container.locals, /*parent*/ undefined, node, exportKind, symbolExcludes); local.exportSymbol = declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); node.localSymbol = local; @@ -44833,7 +45045,7 @@ var ts; return false; if (ts.isPropertyAccessEntityNameExpression(declName.parent) && isTopLevelNamespaceAssignment(declName.parent)) return true; - if (ts.isDeclaration(declName.parent) && ts.getCombinedModifierFlags(declName.parent) & 1 /* Export */) + if (ts.isDeclaration(declName.parent) && ts.getCombinedModifierFlags(declName.parent) & 1 /* ModifierFlags.Export */) return true; // This could potentially be simplified by having `delayedBindJSDocTypedefTag` pass in an override for `hasExportModifier`, since it should // already have calculated and branched on most of this. @@ -44866,21 +45078,21 @@ var ts; // reusing a node from a previous compilation, that node may have had 'locals' created // for it. We must clear this so we don't accidentally move any stale data forward from // a previous compilation. - if (containerFlags & 1 /* IsContainer */) { - if (node.kind !== 214 /* ArrowFunction */) { + if (containerFlags & 1 /* ContainerFlags.IsContainer */) { + if (node.kind !== 214 /* SyntaxKind.ArrowFunction */) { thisParentContainer = container; } container = blockScopeContainer = node; - if (containerFlags & 32 /* HasLocals */) { + if (containerFlags & 32 /* ContainerFlags.HasLocals */) { container.locals = ts.createSymbolTable(); } addToContainerChain(container); } - else if (containerFlags & 2 /* IsBlockScopedContainer */) { + else if (containerFlags & 2 /* ContainerFlags.IsBlockScopedContainer */) { blockScopeContainer = node; blockScopeContainer.locals = undefined; } - if (containerFlags & 4 /* IsControlFlowContainer */) { + if (containerFlags & 4 /* ContainerFlags.IsControlFlowContainer */) { var saveCurrentFlow = currentFlow; var saveBreakTarget = currentBreakTarget; var saveContinueTarget = currentContinueTarget; @@ -44888,22 +45100,22 @@ var ts; var saveExceptionTarget = currentExceptionTarget; var saveActiveLabelList = activeLabelList; var saveHasExplicitReturn = hasExplicitReturn; - var isImmediatelyInvoked = (containerFlags & 16 /* IsFunctionExpression */ && - !ts.hasSyntacticModifier(node, 256 /* Async */) && + var isImmediatelyInvoked = (containerFlags & 16 /* ContainerFlags.IsFunctionExpression */ && + !ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Async */) && !node.asteriskToken && !!ts.getImmediatelyInvokedFunctionExpression(node)) || - node.kind === 170 /* ClassStaticBlockDeclaration */; + node.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */; // A non-async, non-generator IIFE is considered part of the containing control flow. Return statements behave // similarly to break statements that exit to a label just past the statement body. if (!isImmediatelyInvoked) { - currentFlow = initFlowNode({ flags: 2 /* Start */ }); - if (containerFlags & (16 /* IsFunctionExpression */ | 128 /* IsObjectLiteralOrClassExpressionMethodOrAccessor */)) { + currentFlow = initFlowNode({ flags: 2 /* FlowFlags.Start */ }); + if (containerFlags & (16 /* ContainerFlags.IsFunctionExpression */ | 128 /* ContainerFlags.IsObjectLiteralOrClassExpressionMethodOrAccessor */)) { currentFlow.node = node; } } // We create a return control flow graph for IIFEs and constructors. For constructors // we use the return control flow graph in strict property initialization checks. - currentReturnTarget = isImmediatelyInvoked || node.kind === 171 /* Constructor */ || (ts.isInJSFile(node) && (node.kind === 256 /* FunctionDeclaration */ || node.kind === 213 /* FunctionExpression */)) ? createBranchLabel() : undefined; + currentReturnTarget = isImmediatelyInvoked || node.kind === 171 /* SyntaxKind.Constructor */ || (ts.isInJSFile(node) && (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 213 /* SyntaxKind.FunctionExpression */)) ? createBranchLabel() : undefined; currentExceptionTarget = undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; @@ -44911,21 +45123,21 @@ var ts; hasExplicitReturn = false; bindChildren(node); // Reset all reachability check related flags on node (for incremental scenarios) - node.flags &= ~2816 /* ReachabilityAndEmitFlags */; - if (!(currentFlow.flags & 1 /* Unreachable */) && containerFlags & 8 /* IsFunctionLike */ && ts.nodeIsPresent(node.body)) { - node.flags |= 256 /* HasImplicitReturn */; + node.flags &= ~2816 /* NodeFlags.ReachabilityAndEmitFlags */; + if (!(currentFlow.flags & 1 /* FlowFlags.Unreachable */) && containerFlags & 8 /* ContainerFlags.IsFunctionLike */ && ts.nodeIsPresent(node.body)) { + node.flags |= 256 /* NodeFlags.HasImplicitReturn */; if (hasExplicitReturn) - node.flags |= 512 /* HasExplicitReturn */; + node.flags |= 512 /* NodeFlags.HasExplicitReturn */; node.endFlowNode = currentFlow; } - if (node.kind === 305 /* SourceFile */) { + if (node.kind === 305 /* SyntaxKind.SourceFile */) { node.flags |= emitFlags; node.endFlowNode = currentFlow; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 171 /* Constructor */ || node.kind === 170 /* ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 256 /* FunctionDeclaration */ || node.kind === 213 /* FunctionExpression */))) { + if (node.kind === 171 /* SyntaxKind.Constructor */ || node.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 213 /* SyntaxKind.FunctionExpression */))) { node.returnFlowNode = currentFlow; } } @@ -44939,10 +45151,10 @@ var ts; activeLabelList = saveActiveLabelList; hasExplicitReturn = saveHasExplicitReturn; } - else if (containerFlags & 64 /* IsInterface */) { + else if (containerFlags & 64 /* ContainerFlags.IsInterface */) { seenThisKeyword = false; bindChildren(node); - node.flags = seenThisKeyword ? node.flags | 128 /* ContainsThis */ : node.flags & ~128 /* ContainsThis */; + node.flags = seenThisKeyword ? node.flags | 128 /* NodeFlags.ContainsThis */ : node.flags & ~128 /* NodeFlags.ContainsThis */; } else { bindChildren(node); @@ -44952,8 +45164,8 @@ var ts; blockScopeContainer = savedBlockScopeContainer; } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 256 /* FunctionDeclaration */ ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 256 /* FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 256 /* SyntaxKind.FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 256 /* SyntaxKind.FunctionDeclaration */ ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -44976,59 +45188,59 @@ var ts; inAssignmentPattern = saveInAssignmentPattern; return; } - if (node.kind >= 237 /* FirstStatement */ && node.kind <= 253 /* LastStatement */ && !options.allowUnreachableCode) { + if (node.kind >= 237 /* SyntaxKind.FirstStatement */ && node.kind <= 253 /* SyntaxKind.LastStatement */ && !options.allowUnreachableCode) { node.flowNode = currentFlow; } switch (node.kind) { - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: bindWhileStatement(node); break; - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: bindDoStatement(node); break; - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: bindForStatement(node); break; - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: bindForInOrForOfStatement(node); break; - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: bindIfStatement(node); break; - case 247 /* ReturnStatement */: - case 251 /* ThrowStatement */: + case 247 /* SyntaxKind.ReturnStatement */: + case 251 /* SyntaxKind.ThrowStatement */: bindReturnOrThrow(node); break; - case 246 /* BreakStatement */: - case 245 /* ContinueStatement */: + case 246 /* SyntaxKind.BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: bindBreakOrContinueStatement(node); break; - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: bindTryStatement(node); break; - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: bindSwitchStatement(node); break; - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: bindCaseBlock(node); break; - case 289 /* CaseClause */: + case 289 /* SyntaxKind.CaseClause */: bindCaseClause(node); break; - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: bindExpressionStatement(node); break; - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: bindLabeledStatement(node); break; - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: bindPrefixUnaryExpressionFlow(node); break; - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: bindPostfixUnaryExpressionFlow(node); break; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: if (ts.isDestructuringAssignment(node)) { // Carry over whether we are in an assignment pattern to // binary expressions that could actually be an initializer @@ -45038,47 +45250,47 @@ var ts; } bindBinaryExpressionFlow(node); break; - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: bindDeleteExpressionFlow(node); break; - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: bindConditionalExpressionFlow(node); break; - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: bindVariableDeclarationFlow(node); break; - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: bindAccessExpressionFlow(node); break; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: bindCallExpressionFlow(node); break; - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: bindNonNullExpressionFlow(node); break; - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 339 /* JSDocEnumTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: bindJSDocTypeAlias(node); break; // In source files and blocks, bind functions first to match hoisting that occurs at runtime - case 305 /* SourceFile */: { + case 305 /* SyntaxKind.SourceFile */: { bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; } - case 235 /* Block */: - case 262 /* ModuleBlock */: + case 235 /* SyntaxKind.Block */: + case 262 /* SyntaxKind.ModuleBlock */: bindEachFunctionsFirst(node.statements); break; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: bindBindingElementFlow(node); break; - case 205 /* ObjectLiteralExpression */: - case 204 /* ArrayLiteralExpression */: - case 296 /* PropertyAssignment */: - case 225 /* SpreadElement */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 225 /* SyntaxKind.SpreadElement */: // Carry over whether we are in an assignment pattern of Object and Array literals // as well as their children that are valid assignment targets. inAssignmentPattern = saveInAssignmentPattern; @@ -45092,22 +45304,22 @@ var ts; } function isNarrowingExpression(expr) { switch (expr.kind) { - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: - case 108 /* ThisKeyword */: - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: + case 108 /* SyntaxKind.ThisKeyword */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return containsNarrowableReference(expr); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return hasNarrowableArgument(expr); - case 212 /* ParenthesizedExpression */: - case 230 /* NonNullExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return isNarrowingExpression(expr.expression); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return isNarrowingBinaryExpression(expr); - case 219 /* PrefixUnaryExpression */: - return expr.operator === 53 /* ExclamationToken */ && isNarrowingExpression(expr.operand); - case 216 /* TypeOfExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + return expr.operator === 53 /* SyntaxKind.ExclamationToken */ && isNarrowingExpression(expr.operand); + case 216 /* SyntaxKind.TypeOfExpression */: return isNarrowingExpression(expr.expression); } return false; @@ -45115,7 +45327,7 @@ var ts; function isNarrowableReference(expr) { return ts.isDottedName(expr) || (ts.isPropertyAccessExpression(expr) || ts.isNonNullExpression(expr) || ts.isParenthesizedExpression(expr)) && isNarrowableReference(expr.expression) - || ts.isBinaryExpression(expr) && expr.operatorToken.kind === 27 /* CommaToken */ && isNarrowableReference(expr.right) + || ts.isBinaryExpression(expr) && expr.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && isNarrowableReference(expr.right) || ts.isElementAccessExpression(expr) && (ts.isStringOrNumericLiteralLike(expr.argumentExpression) || ts.isEntityNameExpression(expr.argumentExpression)) && isNarrowableReference(expr.expression) || ts.isAssignmentExpression(expr) && isNarrowableReference(expr.left); } @@ -45131,7 +45343,7 @@ var ts; } } } - if (expr.expression.kind === 206 /* PropertyAccessExpression */ && + if (expr.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && containsNarrowableReference(expr.expression.expression)) { return true; } @@ -45142,68 +45354,68 @@ var ts; } function isNarrowingBinaryExpression(expr) { switch (expr.operatorToken.kind) { - case 63 /* EqualsToken */: - case 75 /* BarBarEqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: return containsNarrowableReference(expr.left); - case 34 /* EqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: - case 36 /* EqualsEqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: return isNarrowableOperand(expr.left) || isNarrowableOperand(expr.right) || isNarrowingTypeofOperands(expr.right, expr.left) || isNarrowingTypeofOperands(expr.left, expr.right); - case 102 /* InstanceOfKeyword */: + case 102 /* SyntaxKind.InstanceOfKeyword */: return isNarrowableOperand(expr.left); - case 101 /* InKeyword */: + case 101 /* SyntaxKind.InKeyword */: return isNarrowingExpression(expr.right); - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: return isNarrowingExpression(expr.right); } return false; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return isNarrowableOperand(expr.expression); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: switch (expr.operatorToken.kind) { - case 63 /* EqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: return isNarrowableOperand(expr.left); - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: return isNarrowableOperand(expr.right); } } return containsNarrowableReference(expr); } function createBranchLabel() { - return initFlowNode({ flags: 4 /* BranchLabel */, antecedents: undefined }); + return initFlowNode({ flags: 4 /* FlowFlags.BranchLabel */, antecedents: undefined }); } function createLoopLabel() { - return initFlowNode({ flags: 8 /* LoopLabel */, antecedents: undefined }); + return initFlowNode({ flags: 8 /* FlowFlags.LoopLabel */, antecedents: undefined }); } function createReduceLabel(target, antecedents, antecedent) { - return initFlowNode({ flags: 1024 /* ReduceLabel */, target: target, antecedents: antecedents, antecedent: antecedent }); + return initFlowNode({ flags: 1024 /* FlowFlags.ReduceLabel */, target: target, antecedents: antecedents, antecedent: antecedent }); } function setFlowNodeReferenced(flow) { // On first reference we set the Referenced flag, thereafter we set the Shared flag - flow.flags |= flow.flags & 2048 /* Referenced */ ? 4096 /* Shared */ : 2048 /* Referenced */; + flow.flags |= flow.flags & 2048 /* FlowFlags.Referenced */ ? 4096 /* FlowFlags.Shared */ : 2048 /* FlowFlags.Referenced */; } function addAntecedent(label, antecedent) { - if (!(antecedent.flags & 1 /* Unreachable */) && !ts.contains(label.antecedents, antecedent)) { + if (!(antecedent.flags & 1 /* FlowFlags.Unreachable */) && !ts.contains(label.antecedents, antecedent)) { (label.antecedents || (label.antecedents = [])).push(antecedent); setFlowNodeReferenced(antecedent); } } function createFlowCondition(flags, antecedent, expression) { - if (antecedent.flags & 1 /* Unreachable */) { + if (antecedent.flags & 1 /* FlowFlags.Unreachable */) { return antecedent; } if (!expression) { - return flags & 32 /* TrueCondition */ ? antecedent : unreachableFlow; + return flags & 32 /* FlowFlags.TrueCondition */ ? antecedent : unreachableFlow; } - if ((expression.kind === 110 /* TrueKeyword */ && flags & 64 /* FalseCondition */ || - expression.kind === 95 /* FalseKeyword */ && flags & 32 /* TrueCondition */) && + if ((expression.kind === 110 /* SyntaxKind.TrueKeyword */ && flags & 64 /* FlowFlags.FalseCondition */ || + expression.kind === 95 /* SyntaxKind.FalseKeyword */ && flags & 32 /* FlowFlags.TrueCondition */) && !ts.isExpressionOfOptionalChainRoot(expression) && !ts.isNullishCoalesce(expression.parent)) { return unreachableFlow; } @@ -45215,7 +45427,7 @@ var ts; } function createFlowSwitchClause(antecedent, switchStatement, clauseStart, clauseEnd) { setFlowNodeReferenced(antecedent); - return initFlowNode({ flags: 128 /* SwitchClause */, antecedent: antecedent, switchStatement: switchStatement, clauseStart: clauseStart, clauseEnd: clauseEnd }); + return initFlowNode({ flags: 128 /* FlowFlags.SwitchClause */, antecedent: antecedent, switchStatement: switchStatement, clauseStart: clauseStart, clauseEnd: clauseEnd }); } function createFlowMutation(flags, antecedent, node) { setFlowNodeReferenced(antecedent); @@ -45227,7 +45439,7 @@ var ts; } function createFlowCall(antecedent, node) { setFlowNodeReferenced(antecedent); - return initFlowNode({ flags: 512 /* Call */, antecedent: antecedent, node: node }); + return initFlowNode({ flags: 512 /* FlowFlags.Call */, antecedent: antecedent, node: node }); } function finishFlowLabel(flow) { var antecedents = flow.antecedents; @@ -45242,28 +45454,28 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 239 /* IfStatement */: - case 241 /* WhileStatement */: - case 240 /* DoStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 240 /* SyntaxKind.DoStatement */: return parent.expression === node; - case 242 /* ForStatement */: - case 222 /* ConditionalExpression */: + case 242 /* SyntaxKind.ForStatement */: + case 222 /* SyntaxKind.ConditionalExpression */: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 212 /* ParenthesizedExpression */) { + if (node.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { node = node.expression; } - else if (node.kind === 219 /* PrefixUnaryExpression */ && node.operator === 53 /* ExclamationToken */) { + else if (node.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ && node.operator === 53 /* SyntaxKind.ExclamationToken */) { node = node.operand; } else { - return node.kind === 221 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || - node.operatorToken.kind === 56 /* BarBarToken */ || - node.operatorToken.kind === 60 /* QuestionQuestionToken */); + return node.kind === 221 /* SyntaxKind.BinaryExpression */ && (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ || + node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || + node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */); } } } @@ -45273,7 +45485,7 @@ var ts; } function isTopLevelLogicalExpression(node) { while (ts.isParenthesizedExpression(node.parent) || - ts.isPrefixUnaryExpression(node.parent) && node.parent.operator === 53 /* ExclamationToken */) { + ts.isPrefixUnaryExpression(node.parent) && node.parent.operator === 53 /* SyntaxKind.ExclamationToken */) { node = node.parent; } return !isStatementCondition(node) && @@ -45292,8 +45504,8 @@ var ts; function bindCondition(node, trueTarget, falseTarget) { doWithConditionalBranches(bind, node, trueTarget, falseTarget); if (!node || !isLogicalAssignmentExpression(node) && !isLogicalExpression(node) && !(ts.isOptionalChain(node) && ts.isOutermostOptionalChain(node))) { - addAntecedent(trueTarget, createFlowCondition(32 /* TrueCondition */, currentFlow, node)); - addAntecedent(falseTarget, createFlowCondition(64 /* FalseCondition */, currentFlow, node)); + addAntecedent(trueTarget, createFlowCondition(32 /* FlowFlags.TrueCondition */, currentFlow, node)); + addAntecedent(falseTarget, createFlowCondition(64 /* FlowFlags.FalseCondition */, currentFlow, node)); } } function bindIterativeStatement(node, breakTarget, continueTarget) { @@ -45307,7 +45519,7 @@ var ts; } function setContinueTarget(node, target) { var label = activeLabelList; - while (label && node.parent.kind === 250 /* LabeledStatement */) { + while (label && node.parent.kind === 250 /* SyntaxKind.LabeledStatement */) { label.continueTarget = target; label = label.next; node = node.parent; @@ -45358,12 +45570,12 @@ var ts; bind(node.expression); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 244 /* ForOfStatement */) { + if (node.kind === 244 /* SyntaxKind.ForOfStatement */) { bind(node.awaitModifier); } addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 255 /* VariableDeclarationList */) { + if (node.initializer.kind !== 255 /* SyntaxKind.VariableDeclarationList */) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -45385,7 +45597,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 247 /* ReturnStatement */) { + if (node.kind === 247 /* SyntaxKind.ReturnStatement */) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -45402,7 +45614,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 246 /* BreakStatement */ ? breakTarget : continueTarget; + var flowLabel = node.kind === 246 /* SyntaxKind.BreakStatement */ ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -45473,7 +45685,7 @@ var ts; finallyLabel.antecedents = ts.concatenate(ts.concatenate(normalExitLabel.antecedents, exceptionLabel.antecedents), returnLabel.antecedents); currentFlow = finallyLabel; bind(node.finallyBlock); - if (currentFlow.flags & 1 /* Unreachable */) { + if (currentFlow.flags & 1 /* FlowFlags.Unreachable */) { // If the end of the finally block is unreachable, the end of the entire try statement is unreachable. currentFlow = unreachableFlow; } @@ -45507,7 +45719,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 290 /* DefaultClause */; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 290 /* SyntaxKind.DefaultClause */; }); // We mark a switch statement as possibly exhaustive if it has no default clause and if all // case clauses have unreachable end points (e.g. they all return). Note, we no longer need // this property in control flow analysis, it's there only for backwards compatibility. @@ -45536,7 +45748,7 @@ var ts; var clause = clauses[i]; bind(clause); fallthroughFlow = currentFlow; - if (!(currentFlow.flags & 1 /* Unreachable */) && i !== clauses.length - 1 && options.noFallthroughCasesInSwitch) { + if (!(currentFlow.flags & 1 /* FlowFlags.Unreachable */) && i !== clauses.length - 1 && options.noFallthroughCasesInSwitch) { clause.fallthroughFlowNode = currentFlow; } } @@ -45555,9 +45767,9 @@ var ts; function maybeBindExpressionFlowIfCall(node) { // A top level or comma expression call expression with a dotted function name and at least one argument // is potentially an assertion and is therefore included in the control flow. - if (node.kind === 208 /* CallExpression */) { + if (node.kind === 208 /* SyntaxKind.CallExpression */) { var call = node; - if (call.expression.kind !== 106 /* SuperKeyword */ && ts.isDottedName(call.expression)) { + if (call.expression.kind !== 106 /* SyntaxKind.SuperKeyword */ && ts.isDottedName(call.expression)) { currentFlow = createFlowCall(currentFlow, call); } } @@ -45581,7 +45793,7 @@ var ts; currentFlow = finishFlowLabel(postStatementLabel); } function bindDestructuringTargetFlow(node) { - if (node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 63 /* EqualsToken */) { + if (node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { bindAssignmentTargetFlow(node.left); } else { @@ -45590,12 +45802,12 @@ var ts; } function bindAssignmentTargetFlow(node) { if (isNarrowableReference(node)) { - currentFlow = createFlowMutation(16 /* Assignment */, currentFlow, node); + currentFlow = createFlowMutation(16 /* FlowFlags.Assignment */, currentFlow, node); } - else if (node.kind === 204 /* ArrayLiteralExpression */) { + else if (node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 225 /* SpreadElement */) { + if (e.kind === 225 /* SyntaxKind.SpreadElement */) { bindAssignmentTargetFlow(e.expression); } else { @@ -45603,16 +45815,16 @@ var ts; } } } - else if (node.kind === 205 /* ObjectLiteralExpression */) { + else if (node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 296 /* PropertyAssignment */) { + if (p.kind === 296 /* SyntaxKind.PropertyAssignment */) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 297 /* ShorthandPropertyAssignment */) { + else if (p.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 298 /* SpreadAssignment */) { + else if (p.kind === 298 /* SyntaxKind.SpreadAssignment */) { bindAssignmentTargetFlow(p.expression); } } @@ -45620,7 +45832,7 @@ var ts; } function bindLogicalLikeExpression(node, trueTarget, falseTarget) { var preRightLabel = createBranchLabel(); - if (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ || node.operatorToken.kind === 76 /* AmpersandAmpersandEqualsToken */) { + if (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ || node.operatorToken.kind === 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */) { bindCondition(node.left, preRightLabel, falseTarget); } else { @@ -45631,15 +45843,15 @@ var ts; if (ts.isLogicalOrCoalescingAssignmentOperator(node.operatorToken.kind)) { doWithConditionalBranches(bind, node.right, trueTarget, falseTarget); bindAssignmentTargetFlow(node.left); - addAntecedent(trueTarget, createFlowCondition(32 /* TrueCondition */, currentFlow, node)); - addAntecedent(falseTarget, createFlowCondition(64 /* FalseCondition */, currentFlow, node)); + addAntecedent(trueTarget, createFlowCondition(32 /* FlowFlags.TrueCondition */, currentFlow, node)); + addAntecedent(falseTarget, createFlowCondition(64 /* FlowFlags.FalseCondition */, currentFlow, node)); } else { bindCondition(node.right, trueTarget, falseTarget); } } function bindPrefixUnaryExpressionFlow(node) { - if (node.operator === 53 /* ExclamationToken */) { + if (node.operator === 53 /* SyntaxKind.ExclamationToken */) { var saveTrueTarget = currentTrueTarget; currentTrueTarget = currentFalseTarget; currentFalseTarget = saveTrueTarget; @@ -45649,14 +45861,14 @@ var ts; } else { bindEachChild(node); - if (node.operator === 45 /* PlusPlusToken */ || node.operator === 46 /* MinusMinusToken */) { + if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) { bindAssignmentTargetFlow(node.operand); } } } function bindPostfixUnaryExpressionFlow(node) { bindEachChild(node); - if (node.operator === 45 /* PlusPlusToken */ || node.operator === 46 /* MinusMinusToken */) { + if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) { bindAssignmentTargetFlow(node.operand); } } @@ -45705,9 +45917,9 @@ var ts; // we'll need to handle the `bindLogicalExpression` scenarios in this state machine, too // For now, though, since the common cases are chained `+`, leaving it recursive is fine var operator = node.operatorToken.kind; - if (operator === 55 /* AmpersandAmpersandToken */ || - operator === 56 /* BarBarToken */ || - operator === 60 /* QuestionQuestionToken */ || + if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */ || + operator === 56 /* SyntaxKind.BarBarToken */ || + operator === 60 /* SyntaxKind.QuestionQuestionToken */ || ts.isLogicalOrCoalescingAssignmentOperator(operator)) { if (isTopLevelLogicalExpression(node)) { var postExpressionLabel = createBranchLabel(); @@ -45724,7 +45936,7 @@ var ts; function onLeft(left, state, node) { if (!state.skip) { var maybeBound = maybeBind(left); - if (node.operatorToken.kind === 27 /* CommaToken */) { + if (node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { maybeBindExpressionFlowIfCall(left); } return maybeBound; @@ -45738,7 +45950,7 @@ var ts; function onRight(right, state, node) { if (!state.skip) { var maybeBound = maybeBind(right); - if (node.operatorToken.kind === 27 /* CommaToken */) { + if (node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { maybeBindExpressionFlowIfCall(right); } return maybeBound; @@ -45749,10 +45961,10 @@ var ts; var operator = node.operatorToken.kind; if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 63 /* EqualsToken */ && node.left.kind === 207 /* ElementAccessExpression */) { + if (operator === 63 /* SyntaxKind.EqualsToken */ && node.left.kind === 207 /* SyntaxKind.ElementAccessExpression */) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { - currentFlow = createFlowMutation(256 /* ArrayMutation */, currentFlow, node); + currentFlow = createFlowMutation(256 /* FlowFlags.ArrayMutation */, currentFlow, node); } } } @@ -45777,7 +45989,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 206 /* PropertyAccessExpression */) { + if (node.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { bindAssignmentTargetFlow(node.expression); } } @@ -45805,7 +46017,7 @@ var ts; } } else { - currentFlow = createFlowMutation(16 /* Assignment */, currentFlow, node); + currentFlow = createFlowMutation(16 /* FlowFlags.Assignment */, currentFlow, node); } } function bindVariableDeclarationFlow(node) { @@ -45834,7 +46046,7 @@ var ts; } function bindJSDocTypeAlias(node) { bind(node.tagName); - if (node.kind !== 339 /* JSDocEnumTag */ && node.fullName) { + if (node.kind !== 339 /* SyntaxKind.JSDocEnumTag */ && node.fullName) { // don't bind the type name yet; that's delayed until delayedBindJSDocTypedefTag ts.setParent(node.fullName, node); ts.setParentRecursive(node.fullName, /*incremental*/ false); @@ -45846,28 +46058,28 @@ var ts; function bindJSDocClassTag(node) { bindEachChild(node); var host = ts.getHostSignatureFromJSDoc(node); - if (host && host.kind !== 169 /* MethodDeclaration */) { - addDeclarationToSymbol(host.symbol, host, 32 /* Class */); + if (host && host.kind !== 169 /* SyntaxKind.MethodDeclaration */) { + addDeclarationToSymbol(host.symbol, host, 32 /* SymbolFlags.Class */); } } function bindOptionalExpression(node, trueTarget, falseTarget) { doWithConditionalBranches(bind, node, trueTarget, falseTarget); if (!ts.isOptionalChain(node) || ts.isOutermostOptionalChain(node)) { - addAntecedent(trueTarget, createFlowCondition(32 /* TrueCondition */, currentFlow, node)); - addAntecedent(falseTarget, createFlowCondition(64 /* FalseCondition */, currentFlow, node)); + addAntecedent(trueTarget, createFlowCondition(32 /* FlowFlags.TrueCondition */, currentFlow, node)); + addAntecedent(falseTarget, createFlowCondition(64 /* FlowFlags.FalseCondition */, currentFlow, node)); } } function bindOptionalChainRest(node) { switch (node.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: bind(node.questionDotToken); bind(node.name); break; - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: bind(node.questionDotToken); bind(node.argumentExpression); break; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: bind(node.questionDotToken); bindEach(node.typeArguments); bindEach(node.arguments); @@ -45893,8 +46105,8 @@ var ts; } doWithConditionalBranches(bindOptionalChainRest, node, trueTarget, falseTarget); if (ts.isOutermostOptionalChain(node)) { - addAntecedent(trueTarget, createFlowCondition(32 /* TrueCondition */, currentFlow, node)); - addAntecedent(falseTarget, createFlowCondition(64 /* FalseCondition */, currentFlow, node)); + addAntecedent(trueTarget, createFlowCondition(32 /* FlowFlags.TrueCondition */, currentFlow, node)); + addAntecedent(falseTarget, createFlowCondition(64 /* FlowFlags.FalseCondition */, currentFlow, node)); } } function bindOptionalChainFlow(node) { @@ -45932,76 +46144,76 @@ var ts; // an immediately invoked function expression (IIFE). Initialize the flowNode property to // the current control flow (which includes evaluation of the IIFE arguments). var expr = ts.skipParentheses(node.expression); - if (expr.kind === 213 /* FunctionExpression */ || expr.kind === 214 /* ArrowFunction */) { + if (expr.kind === 213 /* SyntaxKind.FunctionExpression */ || expr.kind === 214 /* SyntaxKind.ArrowFunction */) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); } else { bindEachChild(node); - if (node.expression.kind === 106 /* SuperKeyword */) { + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { currentFlow = createFlowCall(currentFlow, node); } } } - if (node.expression.kind === 206 /* PropertyAccessExpression */) { + if (node.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { var propertyAccess = node.expression; if (ts.isIdentifier(propertyAccess.name) && isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { - currentFlow = createFlowMutation(256 /* ArrayMutation */, currentFlow, node); + currentFlow = createFlowMutation(256 /* FlowFlags.ArrayMutation */, currentFlow, node); } } } function getContainerFlags(node) { switch (node.kind) { - case 226 /* ClassExpression */: - case 257 /* ClassDeclaration */: - case 260 /* EnumDeclaration */: - case 205 /* ObjectLiteralExpression */: - case 182 /* TypeLiteral */: - case 322 /* JSDocTypeLiteral */: - case 286 /* JsxAttributes */: - return 1 /* IsContainer */; - case 258 /* InterfaceDeclaration */: - return 1 /* IsContainer */ | 64 /* IsInterface */; - case 261 /* ModuleDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 195 /* MappedType */: - return 1 /* IsContainer */ | 32 /* HasLocals */; - case 305 /* SourceFile */: - return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 182 /* SyntaxKind.TypeLiteral */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: + case 286 /* SyntaxKind.JsxAttributes */: + return 1 /* ContainerFlags.IsContainer */; + case 258 /* SyntaxKind.InterfaceDeclaration */: + return 1 /* ContainerFlags.IsContainer */ | 64 /* ContainerFlags.IsInterface */; + case 261 /* SyntaxKind.ModuleDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 195 /* SyntaxKind.MappedType */: + case 176 /* SyntaxKind.IndexSignature */: + return 1 /* ContainerFlags.IsContainer */ | 32 /* ContainerFlags.HasLocals */; + case 305 /* SyntaxKind.SourceFile */: + return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */; + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: if (ts.isObjectLiteralOrClassExpressionMethodOrAccessor(node)) { - return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 128 /* IsObjectLiteralOrClassExpressionMethodOrAccessor */; + return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */ | 8 /* ContainerFlags.IsFunctionLike */ | 128 /* ContainerFlags.IsObjectLiteralOrClassExpressionMethodOrAccessor */; } // falls through - case 171 /* Constructor */: - case 256 /* FunctionDeclaration */: - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 323 /* JSDocSignature */: - case 317 /* JSDocFunctionType */: - case 179 /* FunctionType */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: - case 180 /* ConstructorType */: - case 170 /* ClassStaticBlockDeclaration */: - return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */; - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - return 1 /* IsContainer */ | 4 /* IsControlFlowContainer */ | 32 /* HasLocals */ | 8 /* IsFunctionLike */ | 16 /* IsFunctionExpression */; - case 262 /* ModuleBlock */: - return 4 /* IsControlFlowContainer */; - case 167 /* PropertyDeclaration */: - return node.initializer ? 4 /* IsControlFlowContainer */ : 0; - case 292 /* CatchClause */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 263 /* CaseBlock */: - return 2 /* IsBlockScopedContainer */; - case 235 /* Block */: + case 171 /* SyntaxKind.Constructor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 323 /* SyntaxKind.JSDocSignature */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 179 /* SyntaxKind.FunctionType */: + case 175 /* SyntaxKind.ConstructSignature */: + case 180 /* SyntaxKind.ConstructorType */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */ | 8 /* ContainerFlags.IsFunctionLike */; + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */ | 8 /* ContainerFlags.IsFunctionLike */ | 16 /* ContainerFlags.IsFunctionExpression */; + case 262 /* SyntaxKind.ModuleBlock */: + return 4 /* ContainerFlags.IsControlFlowContainer */; + case 167 /* SyntaxKind.PropertyDeclaration */: + return node.initializer ? 4 /* ContainerFlags.IsControlFlowContainer */ : 0; + case 292 /* SyntaxKind.CatchClause */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 263 /* SyntaxKind.CaseBlock */: + return 2 /* ContainerFlags.IsBlockScopedContainer */; + case 235 /* SyntaxKind.Block */: // do not treat blocks directly inside a function as a block-scoped-container. // Locals that reside in this block should go to the function locals. Otherwise 'x' // would not appear to be a redeclaration of a block scoped local in the following @@ -46018,9 +46230,9 @@ var ts; // By not creating a new block-scoped-container here, we ensure that both 'var x' // and 'let x' go into the Function-container's locals, and we do get a collision // conflict. - return ts.isFunctionLike(node.parent) || ts.isClassStaticBlockDeclaration(node.parent) ? 0 /* None */ : 2 /* IsBlockScopedContainer */; + return ts.isFunctionLike(node.parent) || ts.isClassStaticBlockDeclaration(node.parent) ? 0 /* ContainerFlags.None */ : 2 /* ContainerFlags.IsBlockScopedContainer */; } - return 0 /* None */; + return 0 /* ContainerFlags.None */; } function addToContainerChain(next) { if (lastContainer) { @@ -46034,46 +46246,46 @@ var ts; // members are declared (for example, a member of a class will go into a specific // symbol table depending on if it is static or not). We defer to specialized // handlers to take care of declaring these child members. - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 226 /* ClassExpression */: - case 257 /* ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: return declareClassMember(node, symbolFlags, symbolExcludes); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 182 /* TypeLiteral */: - case 322 /* JSDocTypeLiteral */: - case 205 /* ObjectLiteralExpression */: - case 258 /* InterfaceDeclaration */: - case 286 /* JsxAttributes */: + case 182 /* SyntaxKind.TypeLiteral */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 286 /* SyntaxKind.JsxAttributes */: // Interface/Object-types always have their children added to the 'members' of // their container. They are only accessible through an instance of their // container, and are never in scope otherwise (even inside the body of the // object / type / interface declaring them). An exception is type parameters, // which are in scope without qualification (similar to 'locals'). return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 323 /* JSDocSignature */: - case 176 /* IndexSignature */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 317 /* JSDocFunctionType */: - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 170 /* ClassStaticBlockDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 195 /* MappedType */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 323 /* SyntaxKind.JSDocSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 195 /* SyntaxKind.MappedType */: // All the children of these container types are never visible through another // symbol (i.e. through another symbol's 'exports' or 'members'). Instead, // they're only accessed 'lexically' (i.e. from code that exists underneath @@ -46100,17 +46312,17 @@ var ts; function setExportContextFlag(node) { // A declaration source file or ambient module declaration that contains no export declarations (but possibly regular // declarations with export modifiers) is an export context in which declarations are implicitly exported. - if (node.flags & 16777216 /* Ambient */ && !hasExportDeclarations(node)) { - node.flags |= 64 /* ExportContext */; + if (node.flags & 16777216 /* NodeFlags.Ambient */ && !hasExportDeclarations(node)) { + node.flags |= 64 /* NodeFlags.ExportContext */; } else { - node.flags &= ~64 /* ExportContext */; + node.flags &= ~64 /* NodeFlags.ExportContext */; } } function bindModuleDeclaration(node) { setExportContextFlag(node); if (ts.isAmbientModule(node)) { - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { errorOnFirstToken(node, ts.Diagnostics.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible); } if (ts.isModuleAugmentationExternal(node)) { @@ -46118,25 +46330,25 @@ var ts; } else { var pattern = void 0; - if (node.name.kind === 10 /* StringLiteral */) { + if (node.name.kind === 10 /* SyntaxKind.StringLiteral */) { var text = node.name.text; pattern = ts.tryParsePattern(text); if (pattern === undefined) { errorOnFirstToken(node.name, ts.Diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character, text); } } - var symbol = declareSymbolAndAddToSymbolTable(node, 512 /* ValueModule */, 110735 /* ValueModuleExcludes */); + var symbol = declareSymbolAndAddToSymbolTable(node, 512 /* SymbolFlags.ValueModule */, 110735 /* SymbolFlags.ValueModuleExcludes */); file.patternAmbientModules = ts.append(file.patternAmbientModules, pattern && !ts.isString(pattern) ? { pattern: pattern, symbol: symbol } : undefined); } } else { var state = declareModuleSymbol(node); - if (state !== 0 /* NonInstantiated */) { + if (state !== 0 /* ModuleInstanceState.NonInstantiated */) { var symbol = node.symbol; // if module was already merged with some function, class or non-const enum, treat it as non-const-enum-only - symbol.constEnumOnlyModule = (!(symbol.flags & (16 /* Function */ | 32 /* Class */ | 256 /* RegularEnum */))) + symbol.constEnumOnlyModule = (!(symbol.flags & (16 /* SymbolFlags.Function */ | 32 /* SymbolFlags.Class */ | 256 /* SymbolFlags.RegularEnum */))) // Current must be `const enum` only - && state === 2 /* ConstEnumOnly */ + && state === 2 /* ModuleInstanceState.ConstEnumOnly */ // Can't have been set to 'false' in a previous merged symbol. ('undefined' OK) && symbol.constEnumOnlyModule !== false; } @@ -46144,8 +46356,8 @@ var ts; } function declareModuleSymbol(node) { var state = getModuleInstanceState(node); - var instantiated = state !== 0 /* NonInstantiated */; - declareSymbolAndAddToSymbolTable(node, instantiated ? 512 /* ValueModule */ : 1024 /* NamespaceModule */, instantiated ? 110735 /* ValueModuleExcludes */ : 0 /* NamespaceModuleExcludes */); + var instantiated = state !== 0 /* ModuleInstanceState.NonInstantiated */; + declareSymbolAndAddToSymbolTable(node, instantiated ? 512 /* SymbolFlags.ValueModule */ : 1024 /* SymbolFlags.NamespaceModule */, instantiated ? 110735 /* SymbolFlags.ValueModuleExcludes */ : 0 /* SymbolFlags.NamespaceModuleExcludes */); return state; } function bindFunctionOrConstructorType(node) { @@ -46155,10 +46367,10 @@ var ts; // We do that by making an anonymous type literal symbol, and then setting the function // symbol as its sole member. To the rest of the system, this symbol will be indistinguishable // from an actual type literal symbol you would have gotten had you used the long form. - var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); // TODO: GH#18217 - addDeclarationToSymbol(symbol, node, 131072 /* Signature */); - var typeLiteralSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */); - addDeclarationToSymbol(typeLiteralSymbol, node, 2048 /* TypeLiteral */); + var symbol = createSymbol(131072 /* SymbolFlags.Signature */, getDeclarationName(node)); // TODO: GH#18217 + addDeclarationToSymbol(symbol, node, 131072 /* SymbolFlags.Signature */); + var typeLiteralSymbol = createSymbol(2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); + addDeclarationToSymbol(typeLiteralSymbol, node, 2048 /* SymbolFlags.TypeLiteral */); typeLiteralSymbol.members = ts.createSymbolTable(); typeLiteralSymbol.members.set(symbol.escapedName, symbol); } @@ -46172,7 +46384,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 298 /* SpreadAssignment */ || prop.name.kind !== 79 /* Identifier */) { + if (prop.kind === 298 /* SyntaxKind.SpreadAssignment */ || prop.name.kind !== 79 /* SyntaxKind.Identifier */) { continue; } var identifier = prop.name; @@ -46184,9 +46396,9 @@ var ts; // c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true. // d.IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields - var currentKind = prop.kind === 296 /* PropertyAssignment */ || prop.kind === 297 /* ShorthandPropertyAssignment */ || prop.kind === 169 /* MethodDeclaration */ - ? 1 /* Property */ - : 2 /* Accessor */; + var currentKind = prop.kind === 296 /* SyntaxKind.PropertyAssignment */ || prop.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ || prop.kind === 169 /* SyntaxKind.MethodDeclaration */ + ? 1 /* ElementKind.Property */ + : 2 /* ElementKind.Accessor */; var existingKind = seen.get(identifier.escapedText); if (!existingKind) { seen.set(identifier.escapedText, currentKind); @@ -46194,17 +46406,17 @@ var ts; } } } - return bindAnonymousDeclaration(node, 4096 /* ObjectLiteral */, "__object" /* Object */); + return bindAnonymousDeclaration(node, 4096 /* SymbolFlags.ObjectLiteral */, "__object" /* InternalSymbolName.Object */); } function bindJsxAttributes(node) { - return bindAnonymousDeclaration(node, 4096 /* ObjectLiteral */, "__jsxAttributes" /* JSXAttributes */); + return bindAnonymousDeclaration(node, 4096 /* SymbolFlags.ObjectLiteral */, "__jsxAttributes" /* InternalSymbolName.JSXAttributes */); } function bindJsxAttribute(node, symbolFlags, symbolExcludes) { return declareSymbolAndAddToSymbolTable(node, symbolFlags, symbolExcludes); } function bindAnonymousDeclaration(node, symbolFlags, name) { var symbol = createSymbol(symbolFlags, name); - if (symbolFlags & (8 /* EnumMember */ | 106500 /* ClassMember */)) { + if (symbolFlags & (8 /* SymbolFlags.EnumMember */ | 106500 /* SymbolFlags.ClassMember */)) { symbol.parent = container.symbol; } addDeclarationToSymbol(symbol, node, symbolFlags); @@ -46212,10 +46424,10 @@ var ts; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -46241,9 +46453,9 @@ var ts; for (var _i = 0, delayedTypeAliases_1 = delayedTypeAliases; _i < delayedTypeAliases_1.length; _i++) { var typeAlias = delayedTypeAliases_1[_i]; var host = typeAlias.parent.parent; - container = ts.findAncestor(host.parent, function (n) { return !!(getContainerFlags(n) & 1 /* IsContainer */); }) || file; + container = ts.findAncestor(host.parent, function (n) { return !!(getContainerFlags(n) & 1 /* ContainerFlags.IsContainer */); }) || file; blockScopeContainer = ts.getEnclosingBlockScopeContainer(host) || file; - currentFlow = initFlowNode({ flags: 2 /* Start */ }); + currentFlow = initFlowNode({ flags: 2 /* FlowFlags.Start */ }); parent = typeAlias; bind(typeAlias.typeExpression); var declName = ts.getNameOfDeclaration(typeAlias); @@ -46254,8 +46466,8 @@ var ts; bindPotentiallyMissingNamespaces(file.symbol, declName.parent, isTopLevel, !!ts.findAncestor(declName, function (d) { return ts.isPropertyAccessExpression(d) && d.name.escapedText === "prototype"; }), /*containerIsClass*/ false); var oldContainer = container; switch (ts.getAssignmentDeclarationPropertyAccessKind(declName.parent)) { - case 1 /* ExportsProperty */: - case 2 /* ModuleExports */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: if (!ts.isExternalOrCommonJsModule(file)) { container = undefined; } @@ -46263,29 +46475,29 @@ var ts; container = file; } break; - case 4 /* ThisProperty */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: container = declName.parent.expression; break; - case 3 /* PrototypeProperty */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: container = declName.parent.expression.name; break; - case 5 /* Property */: + case 5 /* AssignmentDeclarationKind.Property */: container = isExportsOrModuleExportsOrAlias(file, declName.parent.expression) ? file : ts.isPropertyAccessExpression(declName.parent.expression) ? declName.parent.expression.name : declName.parent.expression; break; - case 0 /* None */: + case 0 /* AssignmentDeclarationKind.None */: return ts.Debug.fail("Shouldn't have detected typedef or enum on non-assignment declaration"); } if (container) { - declareModuleMember(typeAlias, 524288 /* TypeAlias */, 788968 /* TypeAliasExcludes */); + declareModuleMember(typeAlias, 524288 /* SymbolFlags.TypeAlias */, 788968 /* SymbolFlags.TypeAliasExcludes */); } container = oldContainer; } } - else if (ts.isJSDocEnumTag(typeAlias) || !typeAlias.fullName || typeAlias.fullName.kind === 79 /* Identifier */) { + else if (ts.isJSDocEnumTag(typeAlias) || !typeAlias.fullName || typeAlias.fullName.kind === 79 /* SyntaxKind.Identifier */) { parent = typeAlias.parent; - bindBlockScopedDeclaration(typeAlias, 524288 /* TypeAlias */, 788968 /* TypeAliasExcludes */); + bindBlockScopedDeclaration(typeAlias, 524288 /* SymbolFlags.TypeAlias */, 788968 /* SymbolFlags.TypeAliasExcludes */); } else { bind(typeAlias.fullName); @@ -46303,24 +46515,24 @@ var ts; function checkContextualIdentifier(node) { // Report error only if there are no parse errors in file if (!file.parseDiagnostics.length && - !(node.flags & 16777216 /* Ambient */) && - !(node.flags & 8388608 /* JSDoc */) && + !(node.flags & 16777216 /* NodeFlags.Ambient */) && + !(node.flags & 8388608 /* NodeFlags.JSDoc */) && !ts.isIdentifierName(node)) { // strict mode identifiers if (inStrictMode && - node.originalKeywordKind >= 117 /* FirstFutureReservedWord */ && - node.originalKeywordKind <= 125 /* LastFutureReservedWord */) { + node.originalKeywordKind >= 117 /* SyntaxKind.FirstFutureReservedWord */ && + node.originalKeywordKind <= 125 /* SyntaxKind.LastFutureReservedWord */) { file.bindDiagnostics.push(createDiagnosticForNode(node, getStrictModeIdentifierMessage(node), ts.declarationNameToString(node))); } - else if (node.originalKeywordKind === 132 /* AwaitKeyword */) { + else if (node.originalKeywordKind === 132 /* SyntaxKind.AwaitKeyword */) { if (ts.isExternalModule(file) && ts.isInTopLevelContext(node)) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, ts.declarationNameToString(node))); } - else if (node.flags & 32768 /* AwaitContext */) { + else if (node.flags & 32768 /* NodeFlags.AwaitContext */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, ts.declarationNameToString(node))); } } - else if (node.originalKeywordKind === 125 /* YieldKeyword */ && node.flags & 8192 /* YieldContext */) { + else if (node.originalKeywordKind === 125 /* SyntaxKind.YieldKeyword */ && node.flags & 8192 /* NodeFlags.YieldContext */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here, ts.declarationNameToString(node))); } } @@ -46362,7 +46574,7 @@ var ts; } function checkStrictModeDeleteExpression(node) { // Grammar checking - if (inStrictMode && node.expression.kind === 79 /* Identifier */) { + if (inStrictMode && node.expression.kind === 79 /* SyntaxKind.Identifier */) { // When a delete operator occurs within strict mode code, a SyntaxError is thrown if its // UnaryExpression is a direct reference to a variable, function argument, or function name var span = ts.getErrorSpanForNode(file, node.expression); @@ -46373,7 +46585,7 @@ var ts; return ts.isIdentifier(node) && (node.escapedText === "eval" || node.escapedText === "arguments"); } function checkStrictModeEvalOrArguments(contextNode, name) { - if (name && name.kind === 79 /* Identifier */) { + if (name && name.kind === 79 /* SyntaxKind.Identifier */) { var identifier = name; if (isEvalOrArgumentsIdentifier(identifier)) { // We check first if the name is inside class declaration or class expression; if so give explicit message @@ -46412,10 +46624,10 @@ var ts; return ts.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5; } function checkStrictModeFunctionDeclaration(node) { - if (languageVersion < 2 /* ES2015 */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { // Report error if function is not top level function declaration - if (blockScopeContainer.kind !== 305 /* SourceFile */ && - blockScopeContainer.kind !== 261 /* ModuleDeclaration */ && + if (blockScopeContainer.kind !== 305 /* SyntaxKind.SourceFile */ && + blockScopeContainer.kind !== 261 /* SyntaxKind.ModuleDeclaration */ && !ts.isFunctionLikeOrClassStaticBlockDeclaration(blockScopeContainer)) { // We check first if the name is inside class declaration or class expression; if so give explicit message // otherwise report generic error message. @@ -46425,7 +46637,7 @@ var ts; } } function checkStrictModeNumericLiteral(node) { - if (languageVersion < 1 /* ES5 */ && inStrictMode && node.numericLiteralFlags & 32 /* Octal */) { + if (languageVersion < 1 /* ScriptTarget.ES5 */ && inStrictMode && node.numericLiteralFlags & 32 /* TokenFlags.Octal */) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode)); } } @@ -46441,7 +46653,7 @@ var ts; function checkStrictModePrefixUnaryExpression(node) { // Grammar checking if (inStrictMode) { - if (node.operator === 45 /* PlusPlusToken */ || node.operator === 46 /* MinusMinusToken */) { + if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) { checkStrictModeEvalOrArguments(node, node.operand); } } @@ -46454,7 +46666,7 @@ var ts; } function checkStrictModeLabeledStatement(node) { // Grammar checking for labeledStatement - if (inStrictMode && ts.getEmitScriptTarget(options) >= 2 /* ES2015 */) { + if (inStrictMode && ts.getEmitScriptTarget(options) >= 2 /* ScriptTarget.ES2015 */) { if (ts.isDeclarationStatement(node.statement) || ts.isVariableStatement(node.statement)) { errorOnFirstToken(node.label, ts.Diagnostics.A_label_is_not_allowed_here); } @@ -46512,11 +46724,11 @@ var ts; // the current 'container' node when it changes. This helps us know which symbol table // a local should go into for example. Since terminal nodes are known not to have // children, as an optimization we don't process those. - if (node.kind > 160 /* LastToken */) { + if (node.kind > 160 /* SyntaxKind.LastToken */) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); - if (containerFlags === 0 /* None */) { + if (containerFlags === 0 /* ContainerFlags.None */) { bindChildren(node); } else { @@ -46526,7 +46738,7 @@ var ts; } else { var saveParent = parent; - if (node.kind === 1 /* EndOfFileToken */) + if (node.kind === 1 /* SyntaxKind.EndOfFileToken */) parent = node; bindJSDoc(node); parent = saveParent; @@ -46574,7 +46786,7 @@ var ts; function bindWorker(node) { switch (node.kind) { /* Strict mode checks */ - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // for typedef type names with namespaces, bind the new jsdoc type symbol here // because it requires all containing namespaces to be in effect, namely the // current "blockScopeContainer" needs to be set to its immediate namespace parent. @@ -46583,28 +46795,28 @@ var ts; while (parentNode && !ts.isJSDocTypeAlias(parentNode)) { parentNode = parentNode.parent; } - bindBlockScopedDeclaration(parentNode, 524288 /* TypeAlias */, 788968 /* TypeAliasExcludes */); + bindBlockScopedDeclaration(parentNode, 524288 /* SymbolFlags.TypeAlias */, 788968 /* SymbolFlags.TypeAliasExcludes */); break; } // falls through - case 108 /* ThisKeyword */: - if (currentFlow && (ts.isExpression(node) || parent.kind === 297 /* ShorthandPropertyAssignment */)) { + case 108 /* SyntaxKind.ThisKeyword */: + if (currentFlow && (ts.isExpression(node) || parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */)) { node.flowNode = currentFlow; } return checkContextualIdentifier(node); - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: if (currentFlow && ts.isPartOfTypeQuery(node)) { node.flowNode = currentFlow; } break; - case 231 /* MetaProperty */: - case 106 /* SuperKeyword */: + case 231 /* SyntaxKind.MetaProperty */: + case 106 /* SyntaxKind.SuperKeyword */: node.flowNode = currentFlow; break; - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return checkPrivateIdentifier(node); - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var expr = node; if (currentFlow && isNarrowableReference(expr)) { expr.flowNode = currentFlow; @@ -46616,28 +46828,28 @@ var ts; file.commonJsModuleIndicator && ts.isModuleExportsAccessExpression(expr) && !lookupSymbolForName(blockScopeContainer, "module")) { - declareSymbol(file.locals, /*parent*/ undefined, expr.expression, 1 /* FunctionScopedVariable */ | 134217728 /* ModuleExports */, 111550 /* FunctionScopedVariableExcludes */); + declareSymbol(file.locals, /*parent*/ undefined, expr.expression, 1 /* SymbolFlags.FunctionScopedVariable */ | 134217728 /* SymbolFlags.ModuleExports */, 111550 /* SymbolFlags.FunctionScopedVariableExcludes */); } break; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: var specialKind = ts.getAssignmentDeclarationKind(node); switch (specialKind) { - case 1 /* ExportsProperty */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: bindExportsPropertyAssignment(node); break; - case 2 /* ModuleExports */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: bindModuleExportsAssignment(node); break; - case 3 /* PrototypeProperty */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: bindPrototypePropertyAssignment(node.left, node); break; - case 6 /* Prototype */: + case 6 /* AssignmentDeclarationKind.Prototype */: bindPrototypeAssignment(node); break; - case 4 /* ThisProperty */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: bindThisPropertyAssignment(node); break; - case 5 /* Property */: + case 5 /* AssignmentDeclarationKind.Property */: var expression = node.left.expression; if (ts.isInJSFile(node) && ts.isIdentifier(expression)) { var symbol = lookupSymbolForName(blockScopeContainer, expression.escapedText); @@ -46648,94 +46860,94 @@ var ts; } bindSpecialPropertyAssignment(node); break; - case 0 /* None */: + case 0 /* AssignmentDeclarationKind.None */: // Nothing to do break; default: ts.Debug.fail("Unknown binary expression special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return checkStrictModeCatchClause(node); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: return checkStrictModeDeleteExpression(node); - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: return checkStrictModeNumericLiteral(node); - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return checkStrictModePostfixUnaryExpression(node); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: return checkStrictModePrefixUnaryExpression(node); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: return checkStrictModeWithStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return checkStrictModeLabeledStatement(node); - case 192 /* ThisType */: + case 192 /* SyntaxKind.ThisType */: seenThisKeyword = true; return; - case 177 /* TypePredicate */: + case 177 /* SyntaxKind.TypePredicate */: break; // Binding the children will handle everything - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: return bindTypeParameter(node); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return bindParameter(node); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return bindVariableDeclarationOrBindingElement(node); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: return bindPropertyWorker(node); - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: - return bindPropertyOrMethodOrAccessor(node, 4 /* Property */, 0 /* PropertyExcludes */); - case 299 /* EnumMember */: - return bindPropertyOrMethodOrAccessor(node, 8 /* EnumMember */, 900095 /* EnumMemberExcludes */); - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: - return declareSymbolAndAddToSymbolTable(node, 131072 /* Signature */, 0 /* None */); - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + return bindPropertyOrMethodOrAccessor(node, 4 /* SymbolFlags.Property */, 0 /* SymbolFlags.PropertyExcludes */); + case 299 /* SyntaxKind.EnumMember */: + return bindPropertyOrMethodOrAccessor(node, 8 /* SymbolFlags.EnumMember */, 900095 /* SymbolFlags.EnumMemberExcludes */); + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: + return declareSymbolAndAddToSymbolTable(node, 131072 /* SymbolFlags.Signature */, 0 /* SymbolFlags.None */); + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: // If this is an ObjectLiteralExpression method, then it sits in the same space // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. - return bindPropertyOrMethodOrAccessor(node, 8192 /* Method */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), ts.isObjectLiteralMethod(node) ? 0 /* PropertyExcludes */ : 103359 /* MethodExcludes */); - case 256 /* FunctionDeclaration */: + return bindPropertyOrMethodOrAccessor(node, 8192 /* SymbolFlags.Method */ | (node.questionToken ? 16777216 /* SymbolFlags.Optional */ : 0 /* SymbolFlags.None */), ts.isObjectLiteralMethod(node) ? 0 /* SymbolFlags.PropertyExcludes */ : 103359 /* SymbolFlags.MethodExcludes */); + case 256 /* SyntaxKind.FunctionDeclaration */: return bindFunctionDeclaration(node); - case 171 /* Constructor */: - return declareSymbolAndAddToSymbolTable(node, 16384 /* Constructor */, /*symbolExcludes:*/ 0 /* None */); - case 172 /* GetAccessor */: - return bindPropertyOrMethodOrAccessor(node, 32768 /* GetAccessor */, 46015 /* GetAccessorExcludes */); - case 173 /* SetAccessor */: - return bindPropertyOrMethodOrAccessor(node, 65536 /* SetAccessor */, 78783 /* SetAccessorExcludes */); - case 179 /* FunctionType */: - case 317 /* JSDocFunctionType */: - case 323 /* JSDocSignature */: - case 180 /* ConstructorType */: + case 171 /* SyntaxKind.Constructor */: + return declareSymbolAndAddToSymbolTable(node, 16384 /* SymbolFlags.Constructor */, /*symbolExcludes:*/ 0 /* SymbolFlags.None */); + case 172 /* SyntaxKind.GetAccessor */: + return bindPropertyOrMethodOrAccessor(node, 32768 /* SymbolFlags.GetAccessor */, 46015 /* SymbolFlags.GetAccessorExcludes */); + case 173 /* SyntaxKind.SetAccessor */: + return bindPropertyOrMethodOrAccessor(node, 65536 /* SymbolFlags.SetAccessor */, 78783 /* SymbolFlags.SetAccessorExcludes */); + case 179 /* SyntaxKind.FunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 323 /* SyntaxKind.JSDocSignature */: + case 180 /* SyntaxKind.ConstructorType */: return bindFunctionOrConstructorType(node); - case 182 /* TypeLiteral */: - case 322 /* JSDocTypeLiteral */: - case 195 /* MappedType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: + case 195 /* SyntaxKind.MappedType */: return bindAnonymousTypeWorker(node); - case 332 /* JSDocClassTag */: + case 332 /* SyntaxKind.JSDocClassTag */: return bindJSDocClassTag(node); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return bindObjectLiteralExpression(node); - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return bindFunctionExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: var assignmentKind = ts.getAssignmentDeclarationKind(node); switch (assignmentKind) { - case 7 /* ObjectDefinePropertyValue */: + case 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */: return bindObjectDefinePropertyAssignment(node); - case 8 /* ObjectDefinePropertyExports */: + case 8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */: return bindObjectDefinePropertyExport(node); - case 9 /* ObjectDefinePrototypeProperty */: + case 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */: return bindObjectDefinePrototypeProperty(node); - case 0 /* None */: + case 0 /* AssignmentDeclarationKind.None */: break; // Nothing to do default: return ts.Debug.fail("Unknown call expression assignment declaration kind"); @@ -46745,73 +46957,73 @@ var ts; } break; // Members of classes, interfaces, and modules - case 226 /* ClassExpression */: - case 257 /* ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: // All classes are automatically in strict mode in ES6. inStrictMode = true; return bindClassLikeDeclaration(node); - case 258 /* InterfaceDeclaration */: - return bindBlockScopedDeclaration(node, 64 /* Interface */, 788872 /* InterfaceExcludes */); - case 259 /* TypeAliasDeclaration */: - return bindBlockScopedDeclaration(node, 524288 /* TypeAlias */, 788968 /* TypeAliasExcludes */); - case 260 /* EnumDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + return bindBlockScopedDeclaration(node, 64 /* SymbolFlags.Interface */, 788872 /* SymbolFlags.InterfaceExcludes */); + case 259 /* SyntaxKind.TypeAliasDeclaration */: + return bindBlockScopedDeclaration(node, 524288 /* SymbolFlags.TypeAlias */, 788968 /* SymbolFlags.TypeAliasExcludes */); + case 260 /* SyntaxKind.EnumDeclaration */: return bindEnumDeclaration(node); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return bindModuleDeclaration(node); // Jsx-attributes - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: return bindJsxAttributes(node); - case 285 /* JsxAttribute */: - return bindJsxAttribute(node, 4 /* Property */, 0 /* PropertyExcludes */); + case 285 /* SyntaxKind.JsxAttribute */: + return bindJsxAttribute(node, 4 /* SymbolFlags.Property */, 0 /* SymbolFlags.PropertyExcludes */); // Imports and exports - case 265 /* ImportEqualsDeclaration */: - case 268 /* NamespaceImport */: - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: - return declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); - case 264 /* NamespaceExportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.NamespaceImport */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: + return declareSymbolAndAddToSymbolTable(node, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); + case 264 /* SyntaxKind.NamespaceExportDeclaration */: return bindNamespaceExportDeclaration(node); - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: return bindImportClause(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return bindExportDeclaration(node); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return bindExportAssignment(node); - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: if (!ts.isFunctionLikeOrClassStaticBlockDeclaration(node.parent)) { return; } // falls through - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: return updateStrictModeStatementList(node.statements); - case 340 /* JSDocParameterTag */: - if (node.parent.kind === 323 /* JSDocSignature */) { + case 340 /* SyntaxKind.JSDocParameterTag */: + if (node.parent.kind === 323 /* SyntaxKind.JSDocSignature */) { return bindParameter(node); } - if (node.parent.kind !== 322 /* JSDocTypeLiteral */) { + if (node.parent.kind !== 322 /* SyntaxKind.JSDocTypeLiteral */) { break; } // falls through - case 347 /* JSDocPropertyTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 316 /* JSDocOptionalType */ ? - 4 /* Property */ | 16777216 /* Optional */ : - 4 /* Property */; - return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* PropertyExcludes */); - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 339 /* JSDocEnumTag */: + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 316 /* SyntaxKind.JSDocOptionalType */ ? + 4 /* SymbolFlags.Property */ | 16777216 /* SymbolFlags.Optional */ : + 4 /* SymbolFlags.Property */; + return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* SymbolFlags.PropertyExcludes */); + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } function bindPropertyWorker(node) { - return bindPropertyOrMethodOrAccessor(node, 4 /* Property */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), 0 /* PropertyExcludes */); + return bindPropertyOrMethodOrAccessor(node, 4 /* SymbolFlags.Property */ | (node.questionToken ? 16777216 /* SymbolFlags.Optional */ : 0 /* SymbolFlags.None */), 0 /* SymbolFlags.PropertyExcludes */); } function bindAnonymousTypeWorker(node) { - return bindAnonymousDeclaration(node, 2048 /* TypeLiteral */, "__type" /* Type */); + return bindAnonymousDeclaration(node, 2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); } function bindSourceFileIfExternalModule() { setExportContextFlag(file); @@ -46822,27 +47034,27 @@ var ts; bindSourceFileAsExternalModule(); // Create symbol equivalent for the module.exports = {} var originalSymbol = file.symbol; - declareSymbol(file.symbol.exports, file.symbol, file, 4 /* Property */, 67108863 /* All */); + declareSymbol(file.symbol.exports, file.symbol, file, 4 /* SymbolFlags.Property */, 67108863 /* SymbolFlags.All */); file.symbol = originalSymbol; } } function bindSourceFileAsExternalModule() { - bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"" + ts.removeFileExtension(file.fileName) + "\""); + bindAnonymousDeclaration(file, 512 /* SymbolFlags.ValueModule */, "\"".concat(ts.removeFileExtension(file.fileName), "\"")); } function bindExportAssignment(node) { if (!container.symbol || !container.symbol.exports) { // Incorrect export assignment in some sort of block construct - bindAnonymousDeclaration(node, 111551 /* Value */, getDeclarationName(node)); + bindAnonymousDeclaration(node, 111551 /* SymbolFlags.Value */, getDeclarationName(node)); } else { var flags = ts.exportAssignmentIsAlias(node) // An export default clause with an EntityNameExpression or a class expression exports all meanings of that identifier or expression; - ? 2097152 /* Alias */ + ? 2097152 /* SymbolFlags.Alias */ // An export default clause with any other expression exports a value - : 4 /* Property */; + : 4 /* SymbolFlags.Property */; // If there is an `export default x;` alias declaration, can't `export default` anything else. // (In contrast, you can still have `export default function f() {}` and `export default interface I {}`.) - var symbol = declareSymbol(container.symbol.exports, container.symbol, node, flags, 67108863 /* All */); + var symbol = declareSymbol(container.symbol.exports, container.symbol, node, flags, 67108863 /* SymbolFlags.All */); if (node.isExportEquals) { // Will be an error later, since the module already has other exports. Just make sure this has a valueDeclaration set. ts.setValueDeclaration(symbol, node); @@ -46862,28 +47074,28 @@ var ts; } else { file.symbol.globalExports = file.symbol.globalExports || ts.createSymbolTable(); - declareSymbol(file.symbol.globalExports, file.symbol, node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); + declareSymbol(file.symbol.globalExports, file.symbol, node, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); } } function bindExportDeclaration(node) { if (!container.symbol || !container.symbol.exports) { // Export * in some sort of block construct - bindAnonymousDeclaration(node, 8388608 /* ExportStar */, getDeclarationName(node)); + bindAnonymousDeclaration(node, 8388608 /* SymbolFlags.ExportStar */, getDeclarationName(node)); } else if (!node.exportClause) { // All export * declarations are collected in an __export symbol - declareSymbol(container.symbol.exports, container.symbol, node, 8388608 /* ExportStar */, 0 /* None */); + declareSymbol(container.symbol.exports, container.symbol, node, 8388608 /* SymbolFlags.ExportStar */, 0 /* SymbolFlags.None */); } else if (ts.isNamespaceExport(node.exportClause)) { // declareSymbol walks up parents to find name text, parent _must_ be set // but won't be set by the normal binder walk until `bindChildren` later on. ts.setParent(node.exportClause, node); - declareSymbol(container.symbol.exports, container.symbol, node.exportClause, 2097152 /* Alias */, 2097152 /* AliasExcludes */); + declareSymbol(container.symbol.exports, container.symbol, node.exportClause, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); } } function bindImportClause(node) { if (node.name) { - declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); + declareSymbolAndAddToSymbolTable(node, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); } } function setCommonJsModuleIndicator(node) { @@ -46902,13 +47114,13 @@ var ts; } var symbol = forEachIdentifierInEntityName(node.arguments[0], /*parent*/ undefined, function (id, symbol) { if (symbol) { - addDeclarationToSymbol(symbol, id, 1536 /* Module */ | 67108864 /* Assignment */); + addDeclarationToSymbol(symbol, id, 1536 /* SymbolFlags.Module */ | 67108864 /* SymbolFlags.Assignment */); } return symbol; }); if (symbol) { - var flags = 4 /* Property */ | 1048576 /* ExportValue */; - declareSymbol(symbol.exports, symbol, node, flags, 0 /* None */); + var flags = 4 /* SymbolFlags.Property */ | 1048576 /* SymbolFlags.ExportValue */; + declareSymbol(symbol.exports, symbol, node, flags, 0 /* SymbolFlags.None */); } } function bindExportsPropertyAssignment(node) { @@ -46919,15 +47131,15 @@ var ts; } var symbol = forEachIdentifierInEntityName(node.left.expression, /*parent*/ undefined, function (id, symbol) { if (symbol) { - addDeclarationToSymbol(symbol, id, 1536 /* Module */ | 67108864 /* Assignment */); + addDeclarationToSymbol(symbol, id, 1536 /* SymbolFlags.Module */ | 67108864 /* SymbolFlags.Assignment */); } return symbol; }); if (symbol) { var isAlias = ts.isAliasableExpression(node.right) && (ts.isExportsIdentifier(node.left.expression) || ts.isModuleExportsAccessExpression(node.left.expression)); - var flags = isAlias ? 2097152 /* Alias */ : 4 /* Property */ | 1048576 /* ExportValue */; + var flags = isAlias ? 2097152 /* SymbolFlags.Alias */ : 4 /* SymbolFlags.Property */ | 1048576 /* SymbolFlags.ExportValue */; ts.setParent(node.left, node); - declareSymbol(symbol.exports, symbol, node.left, flags, 0 /* None */); + declareSymbol(symbol.exports, symbol, node.left, flags, 0 /* SymbolFlags.None */); } } function bindModuleExportsAssignment(node) { @@ -46948,13 +47160,13 @@ var ts; } // 'module.exports = expr' assignment var flags = ts.exportAssignmentIsAlias(node) - ? 2097152 /* Alias */ - : 4 /* Property */ | 1048576 /* ExportValue */ | 512 /* ValueModule */; - var symbol = declareSymbol(file.symbol.exports, file.symbol, node, flags | 67108864 /* Assignment */, 0 /* None */); + ? 2097152 /* SymbolFlags.Alias */ + : 4 /* SymbolFlags.Property */ | 1048576 /* SymbolFlags.ExportValue */ | 512 /* SymbolFlags.ValueModule */; + var symbol = declareSymbol(file.symbol.exports, file.symbol, node, flags | 67108864 /* SymbolFlags.Assignment */, 0 /* SymbolFlags.None */); ts.setValueDeclaration(symbol, node); } function bindExportAssignedObjectMemberAlias(node) { - declareSymbol(file.symbol.exports, file.symbol, node, 2097152 /* Alias */ | 67108864 /* Assignment */, 0 /* None */); + declareSymbol(file.symbol.exports, file.symbol, node, 2097152 /* SymbolFlags.Alias */ | 67108864 /* SymbolFlags.Assignment */, 0 /* SymbolFlags.None */); } function bindThisPropertyAssignment(node) { ts.Debug.assert(ts.isInJSFile(node)); @@ -46966,11 +47178,11 @@ var ts; } var thisContainer = ts.getThisContainer(node, /*includeArrowFunctions*/ false); switch (thisContainer.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: var constructorSymbol = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. - if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 63 /* EqualsToken */) { + if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { var l = thisContainer.parent.left; if (ts.isBindableStaticAccessExpression(l) && ts.isPrototypeAccess(l.expression)) { constructorSymbol = lookupSymbolForPropertyAccess(l.expression.expression, thisParentContainer); @@ -46984,17 +47196,17 @@ var ts; bindDynamicallyNamedThisPropertyAssignment(node, constructorSymbol, constructorSymbol.members); } else { - declareSymbol(constructorSymbol.members, constructorSymbol, node, 4 /* Property */ | 67108864 /* Assignment */, 0 /* PropertyExcludes */ & ~4 /* Property */); + declareSymbol(constructorSymbol.members, constructorSymbol, node, 4 /* SymbolFlags.Property */ | 67108864 /* SymbolFlags.Assignment */, 0 /* SymbolFlags.PropertyExcludes */ & ~4 /* SymbolFlags.Property */); } - addDeclarationToSymbol(constructorSymbol, constructorSymbol.valueDeclaration, 32 /* Class */); + addDeclarationToSymbol(constructorSymbol, constructorSymbol.valueDeclaration, 32 /* SymbolFlags.Class */); } break; - case 171 /* Constructor */: - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 170 /* ClassStaticBlockDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: // this.foo assignment in a JavaScript class // Bind this property to the containing class var containingClass = thisContainer.parent; @@ -47003,19 +47215,19 @@ var ts; bindDynamicallyNamedThisPropertyAssignment(node, containingClass.symbol, symbolTable); } else { - declareSymbol(symbolTable, containingClass.symbol, node, 4 /* Property */ | 67108864 /* Assignment */, 0 /* None */, /*isReplaceableByMethod*/ true); + declareSymbol(symbolTable, containingClass.symbol, node, 4 /* SymbolFlags.Property */ | 67108864 /* SymbolFlags.Assignment */, 0 /* SymbolFlags.None */, /*isReplaceableByMethod*/ true); } break; - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: // this.property = assignment in a source file -- declare symbol in exports for a module, in locals for a script if (ts.hasDynamicName(node)) { break; } else if (thisContainer.commonJsModuleIndicator) { - declareSymbol(thisContainer.symbol.exports, thisContainer.symbol, node, 4 /* Property */ | 1048576 /* ExportValue */, 0 /* None */); + declareSymbol(thisContainer.symbol.exports, thisContainer.symbol, node, 4 /* SymbolFlags.Property */ | 1048576 /* SymbolFlags.ExportValue */, 0 /* SymbolFlags.None */); } else { - declareSymbolAndAddToSymbolTable(node, 1 /* FunctionScopedVariable */, 111550 /* FunctionScopedVariableExcludes */); + declareSymbolAndAddToSymbolTable(node, 1 /* SymbolFlags.FunctionScopedVariable */, 111550 /* SymbolFlags.FunctionScopedVariableExcludes */); } break; default: @@ -47023,7 +47235,7 @@ var ts; } } function bindDynamicallyNamedThisPropertyAssignment(node, symbol, symbolTable) { - declareSymbol(symbolTable, symbol, node, 4 /* Property */, 0 /* None */, /*isReplaceableByMethod*/ true, /*isComputedName*/ true); + declareSymbol(symbolTable, symbol, node, 4 /* SymbolFlags.Property */, 0 /* SymbolFlags.None */, /*isReplaceableByMethod*/ true, /*isComputedName*/ true); addLateBoundAssignmentDeclarationToSymbol(node, symbol); } function addLateBoundAssignmentDeclarationToSymbol(node, symbol) { @@ -47032,10 +47244,10 @@ var ts; } } function bindSpecialPropertyDeclaration(node) { - if (node.expression.kind === 108 /* ThisKeyword */) { + if (node.expression.kind === 108 /* SyntaxKind.ThisKeyword */) { bindThisPropertyAssignment(node); } - else if (ts.isBindableStaticAccessExpression(node) && node.parent.parent.kind === 305 /* SourceFile */) { + else if (ts.isBindableStaticAccessExpression(node) && node.parent.parent.kind === 305 /* SyntaxKind.SourceFile */) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -47054,7 +47266,7 @@ var ts; var namespaceSymbol = lookupSymbolForPropertyAccess(node.arguments[0].expression); if (namespaceSymbol && namespaceSymbol.valueDeclaration) { // Ensure the namespace symbol becomes class-like - addDeclarationToSymbol(namespaceSymbol, namespaceSymbol.valueDeclaration, 32 /* Class */); + addDeclarationToSymbol(namespaceSymbol, namespaceSymbol.valueDeclaration, 32 /* SymbolFlags.Class */); } bindPotentiallyNewExpandoMemberToNamespace(node, namespaceSymbol, /*isPrototypeProperty*/ true); } @@ -47075,7 +47287,7 @@ var ts; } function bindObjectDefinePropertyAssignment(node) { var namespaceSymbol = lookupSymbolForPropertyAccess(node.arguments[0]); - var isToplevel = node.parent.parent.kind === 305 /* SourceFile */; + var isToplevel = node.parent.parent.kind === 305 /* SyntaxKind.SourceFile */; namespaceSymbol = bindPotentiallyMissingNamespaces(namespaceSymbol, node.arguments[0], isToplevel, /*isPrototypeProperty*/ false, /*containerIsClass*/ false); bindPotentiallyNewExpandoMemberToNamespace(node, namespaceSymbol, /*isPrototypeProperty*/ false); } @@ -47087,7 +47299,7 @@ var ts; return; } var rootExpr = ts.getLeftmostAccessExpression(node.left); - if (ts.isIdentifier(rootExpr) && ((_a = lookupSymbolForName(container, rootExpr.escapedText)) === null || _a === void 0 ? void 0 : _a.flags) & 2097152 /* Alias */) { + if (ts.isIdentifier(rootExpr) && ((_a = lookupSymbolForName(container, rootExpr.escapedText)) === null || _a === void 0 ? void 0 : _a.flags) & 2097152 /* SymbolFlags.Alias */) { return; } // Fix up parent pointers since we're going to use these nodes before we bind into them @@ -47100,7 +47312,7 @@ var ts; bindExportsPropertyAssignment(node); } else if (ts.hasDynamicName(node)) { - bindAnonymousDeclaration(node, 4 /* Property */ | 67108864 /* Assignment */, "__computed" /* Computed */); + bindAnonymousDeclaration(node, 4 /* SymbolFlags.Property */ | 67108864 /* SymbolFlags.Assignment */, "__computed" /* InternalSymbolName.Computed */); var sym = bindPotentiallyMissingNamespaces(parentSymbol, node.left.expression, isTopLevelNamespaceAssignment(node.left), /*isPrototype*/ false, /*containerIsClass*/ false); addLateBoundAssignmentDeclarationToSymbol(node, sym); } @@ -47118,13 +47330,13 @@ var ts; bindPropertyAssignment(node.expression, node, /*isPrototypeProperty*/ false, /*containerIsClass*/ false); } function bindPotentiallyMissingNamespaces(namespaceSymbol, entityName, isToplevel, isPrototypeProperty, containerIsClass) { - if ((namespaceSymbol === null || namespaceSymbol === void 0 ? void 0 : namespaceSymbol.flags) & 2097152 /* Alias */) { + if ((namespaceSymbol === null || namespaceSymbol === void 0 ? void 0 : namespaceSymbol.flags) & 2097152 /* SymbolFlags.Alias */) { return namespaceSymbol; } if (isToplevel && !isPrototypeProperty) { // make symbols or add declarations for intermediate containers - var flags_2 = 1536 /* Module */ | 67108864 /* Assignment */; - var excludeFlags_1 = 110735 /* ValueModuleExcludes */ & ~67108864 /* Assignment */; + var flags_2 = 1536 /* SymbolFlags.Module */ | 67108864 /* SymbolFlags.Assignment */; + var excludeFlags_1 = 110735 /* SymbolFlags.ValueModuleExcludes */ & ~67108864 /* SymbolFlags.Assignment */; namespaceSymbol = forEachIdentifierInEntityName(entityName, namespaceSymbol, function (id, symbol, parent) { if (symbol) { addDeclarationToSymbol(symbol, id, flags_2); @@ -47138,7 +47350,7 @@ var ts; }); } if (containerIsClass && namespaceSymbol && namespaceSymbol.valueDeclaration) { - addDeclarationToSymbol(namespaceSymbol, namespaceSymbol.valueDeclaration, 32 /* Class */); + addDeclarationToSymbol(namespaceSymbol, namespaceSymbol.valueDeclaration, 32 /* SymbolFlags.Class */); } return namespaceSymbol; } @@ -47150,12 +47362,12 @@ var ts; var symbolTable = isPrototypeProperty ? (namespaceSymbol.members || (namespaceSymbol.members = ts.createSymbolTable())) : (namespaceSymbol.exports || (namespaceSymbol.exports = ts.createSymbolTable())); - var includes = 0 /* None */; - var excludes = 0 /* None */; + var includes = 0 /* SymbolFlags.None */; + var excludes = 0 /* SymbolFlags.None */; // Method-like if (ts.isFunctionLikeDeclaration(ts.getAssignedExpandoInitializer(declaration))) { - includes = 8192 /* Method */; - excludes = 103359 /* MethodExcludes */; + includes = 8192 /* SymbolFlags.Method */; + excludes = 103359 /* SymbolFlags.MethodExcludes */; } // Maybe accessor-like else if (ts.isCallExpression(declaration) && ts.isBindableObjectDefinePropertyCall(declaration)) { @@ -47165,27 +47377,27 @@ var ts; })) { // We mix in `SymbolFLags.Property` so in the checker `getTypeOfVariableParameterOrProperty` is used for this // symbol, instead of `getTypeOfAccessor` (which will assert as there is no real accessor declaration) - includes |= 65536 /* SetAccessor */ | 4 /* Property */; - excludes |= 78783 /* SetAccessorExcludes */; + includes |= 65536 /* SymbolFlags.SetAccessor */ | 4 /* SymbolFlags.Property */; + excludes |= 78783 /* SymbolFlags.SetAccessorExcludes */; } if (ts.some(declaration.arguments[2].properties, function (p) { var id = ts.getNameOfDeclaration(p); return !!id && ts.isIdentifier(id) && ts.idText(id) === "get"; })) { - includes |= 32768 /* GetAccessor */ | 4 /* Property */; - excludes |= 46015 /* GetAccessorExcludes */; + includes |= 32768 /* SymbolFlags.GetAccessor */ | 4 /* SymbolFlags.Property */; + excludes |= 46015 /* SymbolFlags.GetAccessorExcludes */; } } - if (includes === 0 /* None */) { - includes = 4 /* Property */; - excludes = 0 /* PropertyExcludes */; + if (includes === 0 /* SymbolFlags.None */) { + includes = 4 /* SymbolFlags.Property */; + excludes = 0 /* SymbolFlags.PropertyExcludes */; } - declareSymbol(symbolTable, namespaceSymbol, declaration, includes | 67108864 /* Assignment */, excludes & ~67108864 /* Assignment */); + declareSymbol(symbolTable, namespaceSymbol, declaration, includes | 67108864 /* SymbolFlags.Assignment */, excludes & ~67108864 /* SymbolFlags.Assignment */); } function isTopLevelNamespaceAssignment(propertyAccess) { return ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 305 /* SourceFile */ - : propertyAccess.parent.parent.kind === 305 /* SourceFile */; + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 305 /* SyntaxKind.SourceFile */ + : propertyAccess.parent.parent.kind === 305 /* SyntaxKind.SourceFile */; } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty, containerIsClass) { var namespaceSymbol = lookupSymbolForPropertyAccess(name, container) || lookupSymbolForPropertyAccess(name, blockScopeContainer); @@ -47204,7 +47416,7 @@ var ts; * - with non-empty object literals if assigned to the prototype property */ function isExpandoSymbol(symbol) { - if (symbol.flags & (16 /* Function */ | 32 /* Class */ | 1024 /* NamespaceModule */)) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 32 /* SymbolFlags.Class */ | 1024 /* SymbolFlags.NamespaceModule */)) { return true; } var node = symbol.valueDeclaration; @@ -47219,7 +47431,7 @@ var ts; init = init && ts.getRightMostAssignedExpression(init); if (init) { var isPrototypeAssignment = ts.isPrototypeAccess(ts.isVariableDeclaration(node) ? node.name : ts.isBinaryExpression(node) ? node.left : node); - return !!ts.getExpandoInitializer(ts.isBinaryExpression(init) && (init.operatorToken.kind === 56 /* BarBarToken */ || init.operatorToken.kind === 60 /* QuestionQuestionToken */) ? init.right : init, isPrototypeAssignment); + return !!ts.getExpandoInitializer(ts.isBinaryExpression(init) && (init.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || init.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) ? init.right : init, isPrototypeAssignment); } return false; } @@ -47264,12 +47476,12 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 257 /* ClassDeclaration */) { - bindBlockScopedDeclaration(node, 32 /* Class */, 899503 /* ClassExcludes */); + if (node.kind === 257 /* SyntaxKind.ClassDeclaration */) { + bindBlockScopedDeclaration(node, 32 /* SymbolFlags.Class */, 899503 /* SymbolFlags.ClassExcludes */); } else { - var bindingName = node.name ? node.name.escapedText : "__class" /* Class */; - bindAnonymousDeclaration(node, 32 /* Class */, bindingName); + var bindingName = node.name ? node.name.escapedText : "__class" /* InternalSymbolName.Class */; + bindAnonymousDeclaration(node, 32 /* SymbolFlags.Class */, bindingName); // Add name of class expression into the map for semantic classifier if (node.name) { classifiableNames.add(node.name.escapedText); @@ -47285,7 +47497,7 @@ var ts; // Note: we check for this here because this class may be merging into a module. The // module might have an exported variable called 'prototype'. We can't allow that as // that would clash with the built-in 'prototype' for the class. - var prototypeSymbol = createSymbol(4 /* Property */ | 4194304 /* Prototype */, "prototype"); + var prototypeSymbol = createSymbol(4 /* SymbolFlags.Property */ | 4194304 /* SymbolFlags.Prototype */, "prototype"); var symbolExport = symbol.exports.get(prototypeSymbol.escapedName); if (symbolExport) { if (node.name) { @@ -47298,19 +47510,19 @@ var ts; } function bindEnumDeclaration(node) { return ts.isEnumConst(node) - ? bindBlockScopedDeclaration(node, 128 /* ConstEnum */, 899967 /* ConstEnumExcludes */) - : bindBlockScopedDeclaration(node, 256 /* RegularEnum */, 899327 /* RegularEnumExcludes */); + ? bindBlockScopedDeclaration(node, 128 /* SymbolFlags.ConstEnum */, 899967 /* SymbolFlags.ConstEnumExcludes */) + : bindBlockScopedDeclaration(node, 256 /* SymbolFlags.RegularEnum */, 899327 /* SymbolFlags.RegularEnumExcludes */); } function bindVariableDeclarationOrBindingElement(node) { if (inStrictMode) { checkStrictModeEvalOrArguments(node, node.name); } if (!ts.isBindingPattern(node.name)) { - if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* Export */)) { - declareSymbolAndAddToSymbolTable(node, 2097152 /* Alias */, 2097152 /* AliasExcludes */); + if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */)) { + declareSymbolAndAddToSymbolTable(node, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); } else if (ts.isBlockOrCatchScoped(node)) { - bindBlockScopedDeclaration(node, 2 /* BlockScopedVariable */, 111551 /* BlockScopedVariableExcludes */); + bindBlockScopedDeclaration(node, 2 /* SymbolFlags.BlockScopedVariable */, 111551 /* SymbolFlags.BlockScopedVariableExcludes */); } else if (ts.isParameterDeclaration(node)) { // It is safe to walk up parent chain to find whether the node is a destructuring parameter declaration @@ -47322,72 +47534,72 @@ var ts; // function foo([a,a]) {} // Duplicate Identifier error // function bar(a,a) {} // Duplicate Identifier error, parameter declaration in this case is handled in bindParameter // // which correctly set excluded symbols - declareSymbolAndAddToSymbolTable(node, 1 /* FunctionScopedVariable */, 111551 /* ParameterExcludes */); + declareSymbolAndAddToSymbolTable(node, 1 /* SymbolFlags.FunctionScopedVariable */, 111551 /* SymbolFlags.ParameterExcludes */); } else { - declareSymbolAndAddToSymbolTable(node, 1 /* FunctionScopedVariable */, 111550 /* FunctionScopedVariableExcludes */); + declareSymbolAndAddToSymbolTable(node, 1 /* SymbolFlags.FunctionScopedVariable */, 111550 /* SymbolFlags.FunctionScopedVariableExcludes */); } } } function bindParameter(node) { - if (node.kind === 340 /* JSDocParameterTag */ && container.kind !== 323 /* JSDocSignature */) { + if (node.kind === 340 /* SyntaxKind.JSDocParameterTag */ && container.kind !== 323 /* SyntaxKind.JSDocSignature */) { return; } - if (inStrictMode && !(node.flags & 16777216 /* Ambient */)) { + if (inStrictMode && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { // It is a SyntaxError if the identifier eval or arguments appears within a FormalParameterList of a // strict mode FunctionLikeDeclaration or FunctionExpression(13.1) checkStrictModeEvalOrArguments(node, node.name); } if (ts.isBindingPattern(node.name)) { - bindAnonymousDeclaration(node, 1 /* FunctionScopedVariable */, "__" + node.parent.parameters.indexOf(node)); + bindAnonymousDeclaration(node, 1 /* SymbolFlags.FunctionScopedVariable */, "__" + node.parent.parameters.indexOf(node)); } else { - declareSymbolAndAddToSymbolTable(node, 1 /* FunctionScopedVariable */, 111551 /* ParameterExcludes */); + declareSymbolAndAddToSymbolTable(node, 1 /* SymbolFlags.FunctionScopedVariable */, 111551 /* SymbolFlags.ParameterExcludes */); } // If this is a property-parameter, then also declare the property symbol into the // containing class. if (ts.isParameterPropertyDeclaration(node, node.parent)) { var classDeclaration = node.parent.parent; - declareSymbol(classDeclaration.symbol.members, classDeclaration.symbol, node, 4 /* Property */ | (node.questionToken ? 16777216 /* Optional */ : 0 /* None */), 0 /* PropertyExcludes */); + declareSymbol(classDeclaration.symbol.members, classDeclaration.symbol, node, 4 /* SymbolFlags.Property */ | (node.questionToken ? 16777216 /* SymbolFlags.Optional */ : 0 /* SymbolFlags.None */), 0 /* SymbolFlags.PropertyExcludes */); } } function bindFunctionDeclaration(node) { - if (!file.isDeclarationFile && !(node.flags & 16777216 /* Ambient */)) { + if (!file.isDeclarationFile && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { if (ts.isAsyncFunction(node)) { - emitFlags |= 2048 /* HasAsyncFunctions */; + emitFlags |= 2048 /* NodeFlags.HasAsyncFunctions */; } } checkStrictModeFunctionName(node); if (inStrictMode) { checkStrictModeFunctionDeclaration(node); - bindBlockScopedDeclaration(node, 16 /* Function */, 110991 /* FunctionExcludes */); + bindBlockScopedDeclaration(node, 16 /* SymbolFlags.Function */, 110991 /* SymbolFlags.FunctionExcludes */); } else { - declareSymbolAndAddToSymbolTable(node, 16 /* Function */, 110991 /* FunctionExcludes */); + declareSymbolAndAddToSymbolTable(node, 16 /* SymbolFlags.Function */, 110991 /* SymbolFlags.FunctionExcludes */); } } function bindFunctionExpression(node) { - if (!file.isDeclarationFile && !(node.flags & 16777216 /* Ambient */)) { + if (!file.isDeclarationFile && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { if (ts.isAsyncFunction(node)) { - emitFlags |= 2048 /* HasAsyncFunctions */; + emitFlags |= 2048 /* NodeFlags.HasAsyncFunctions */; } } if (currentFlow) { node.flowNode = currentFlow; } checkStrictModeFunctionName(node); - var bindingName = node.name ? node.name.escapedText : "__function" /* Function */; - return bindAnonymousDeclaration(node, 16 /* Function */, bindingName); + var bindingName = node.name ? node.name.escapedText : "__function" /* InternalSymbolName.Function */; + return bindAnonymousDeclaration(node, 16 /* SymbolFlags.Function */, bindingName); } function bindPropertyOrMethodOrAccessor(node, symbolFlags, symbolExcludes) { - if (!file.isDeclarationFile && !(node.flags & 16777216 /* Ambient */) && ts.isAsyncFunction(node)) { - emitFlags |= 2048 /* HasAsyncFunctions */; + if (!file.isDeclarationFile && !(node.flags & 16777216 /* NodeFlags.Ambient */) && ts.isAsyncFunction(node)) { + emitFlags |= 2048 /* NodeFlags.HasAsyncFunctions */; } if (currentFlow && ts.isObjectLiteralOrClassExpressionMethodOrAccessor(node)) { node.flowNode = currentFlow; } return ts.hasDynamicName(node) - ? bindAnonymousDeclaration(node, symbolFlags, "__computed" /* Computed */) + ? bindAnonymousDeclaration(node, symbolFlags, "__computed" /* InternalSymbolName.Computed */) : declareSymbolAndAddToSymbolTable(node, symbolFlags, symbolExcludes); } function getInferTypeContainer(node) { @@ -47401,45 +47613,45 @@ var ts; if (!container_1.locals) { container_1.locals = ts.createSymbolTable(); } - declareSymbol(container_1.locals, /*parent*/ undefined, node, 262144 /* TypeParameter */, 526824 /* TypeParameterExcludes */); + declareSymbol(container_1.locals, /*parent*/ undefined, node, 262144 /* SymbolFlags.TypeParameter */, 526824 /* SymbolFlags.TypeParameterExcludes */); } else { - declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 526824 /* TypeParameterExcludes */); + declareSymbolAndAddToSymbolTable(node, 262144 /* SymbolFlags.TypeParameter */, 526824 /* SymbolFlags.TypeParameterExcludes */); } } - else if (node.parent.kind === 190 /* InferType */) { + else if (node.parent.kind === 190 /* SyntaxKind.InferType */) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { container_2.locals = ts.createSymbolTable(); } - declareSymbol(container_2.locals, /*parent*/ undefined, node, 262144 /* TypeParameter */, 526824 /* TypeParameterExcludes */); + declareSymbol(container_2.locals, /*parent*/ undefined, node, 262144 /* SymbolFlags.TypeParameter */, 526824 /* SymbolFlags.TypeParameterExcludes */); } else { - bindAnonymousDeclaration(node, 262144 /* TypeParameter */, getDeclarationName(node)); // TODO: GH#18217 + bindAnonymousDeclaration(node, 262144 /* SymbolFlags.TypeParameter */, getDeclarationName(node)); // TODO: GH#18217 } } else { - declareSymbolAndAddToSymbolTable(node, 262144 /* TypeParameter */, 526824 /* TypeParameterExcludes */); + declareSymbolAndAddToSymbolTable(node, 262144 /* SymbolFlags.TypeParameter */, 526824 /* SymbolFlags.TypeParameterExcludes */); } } // reachability checks function shouldReportErrorOnModuleDeclaration(node) { var instanceState = getModuleInstanceState(node); - return instanceState === 1 /* Instantiated */ || (instanceState === 2 /* ConstEnumOnly */ && ts.shouldPreserveConstEnums(options)); + return instanceState === 1 /* ModuleInstanceState.Instantiated */ || (instanceState === 2 /* ModuleInstanceState.ConstEnumOnly */ && ts.shouldPreserveConstEnums(options)); } function checkUnreachable(node) { - if (!(currentFlow.flags & 1 /* Unreachable */)) { + if (!(currentFlow.flags & 1 /* FlowFlags.Unreachable */)) { return false; } if (currentFlow === unreachableFlow) { var reportError = // report error on all statements except empty ones - (ts.isStatementButNotDeclaration(node) && node.kind !== 236 /* EmptyStatement */) || + (ts.isStatementButNotDeclaration(node) && node.kind !== 236 /* SyntaxKind.EmptyStatement */) || // report error on class declarations - node.kind === 257 /* ClassDeclaration */ || + node.kind === 257 /* SyntaxKind.ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set - (node.kind === 261 /* ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)); + (node.kind === 261 /* SyntaxKind.ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)); if (reportError) { currentFlow = reportedUnreachableFlow; if (!options.allowUnreachableCode) { @@ -47453,9 +47665,9 @@ var ts; // Rationale: we don't want to report errors on non-initialized var's since they are hoisted // On the other side we do want to report errors on non-initialized 'lets' because of TDZ var isError_1 = ts.unreachableCodeIsError(options) && - !(node.flags & 16777216 /* Ambient */) && + !(node.flags & 16777216 /* NodeFlags.Ambient */) && (!ts.isVariableStatement(node) || - !!(ts.getCombinedNodeFlags(node.declarationList) & 3 /* BlockScoped */) || + !!(ts.getCombinedNodeFlags(node.declarationList) & 3 /* NodeFlags.BlockScoped */) || node.declarationList.declarations.some(function (d) { return !!d.initializer; })); eachUnreachableRange(node, function (start, end) { return errorOrSuggestionOnRange(isError_1, start, end, ts.Diagnostics.Unreachable_code_detected); }); } @@ -47479,17 +47691,17 @@ var ts; // Don't remove statements that can validly be used before they appear. return !ts.isFunctionDeclaration(s) && !isPurelyTypeDeclaration(s) && !ts.isEnumDeclaration(s) && // `var x;` may declare a variable used above - !(ts.isVariableStatement(s) && !(ts.getCombinedNodeFlags(s) & (1 /* Let */ | 2 /* Const */)) && s.declarationList.declarations.some(function (d) { return !d.initializer; })); + !(ts.isVariableStatement(s) && !(ts.getCombinedNodeFlags(s) & (1 /* NodeFlags.Let */ | 2 /* NodeFlags.Const */)) && s.declarationList.declarations.some(function (d) { return !d.initializer; })); } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return true; - case 261 /* ModuleDeclaration */: - return getModuleInstanceState(s) !== 1 /* Instantiated */; - case 260 /* EnumDeclaration */: - return ts.hasSyntacticModifier(s, 2048 /* Const */); + case 261 /* SyntaxKind.ModuleDeclaration */: + return getModuleInstanceState(s) !== 1 /* ModuleInstanceState.Instantiated */; + case 260 /* SyntaxKind.EnumDeclaration */: + return ts.hasSyntacticModifier(s, 2048 /* ModifierFlags.Const */); default: return false; } @@ -47574,32 +47786,32 @@ var ts; if (shouldBail) return; // Visit the type's related types, if any - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var objectType = type; var objectFlags = objectType.objectFlags; - if (objectFlags & 4 /* Reference */) { + if (objectFlags & 4 /* ObjectFlags.Reference */) { visitTypeReference(type); } - if (objectFlags & 32 /* Mapped */) { + if (objectFlags & 32 /* ObjectFlags.Mapped */) { visitMappedType(type); } - if (objectFlags & (1 /* Class */ | 2 /* Interface */)) { + if (objectFlags & (1 /* ObjectFlags.Class */ | 2 /* ObjectFlags.Interface */)) { visitInterfaceType(type); } - if (objectFlags & (8 /* Tuple */ | 16 /* Anonymous */)) { + if (objectFlags & (8 /* ObjectFlags.Tuple */ | 16 /* ObjectFlags.Anonymous */)) { visitObjectType(objectType); } } - if (type.flags & 262144 /* TypeParameter */) { + if (type.flags & 262144 /* TypeFlags.TypeParameter */) { visitTypeParameter(type); } - if (type.flags & 3145728 /* UnionOrIntersection */) { + if (type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { visitUnionOrIntersectionType(type); } - if (type.flags & 4194304 /* Index */) { + if (type.flags & 4194304 /* TypeFlags.Index */) { visitIndexType(type); } - if (type.flags & 8388608 /* IndexedAccess */) { + if (type.flags & 8388608 /* TypeFlags.IndexedAccess */) { visitIndexedAccessType(type); } } @@ -47688,7 +47900,7 @@ var ts; // (their type resolved directly to the member deeply referenced) // So to get the intervening symbols, we need to check if there's a type // query node on any of the symbol's declarations and get symbols there - if (d.type && d.type.kind === 181 /* TypeQuery */) { + if (d.type && d.type.kind === 181 /* SyntaxKind.TypeQuery */) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); @@ -47822,24 +48034,24 @@ var ts; TypeFacts[TypeFacts["AndFactsMask"] = 16768959] = "AndFactsMask"; })(TypeFacts || (TypeFacts = {})); var typeofEQFacts = new ts.Map(ts.getEntries({ - string: 1 /* TypeofEQString */, - number: 2 /* TypeofEQNumber */, - bigint: 4 /* TypeofEQBigInt */, - boolean: 8 /* TypeofEQBoolean */, - symbol: 16 /* TypeofEQSymbol */, - undefined: 65536 /* EQUndefined */, - object: 32 /* TypeofEQObject */, - function: 64 /* TypeofEQFunction */ + string: 1 /* TypeFacts.TypeofEQString */, + number: 2 /* TypeFacts.TypeofEQNumber */, + bigint: 4 /* TypeFacts.TypeofEQBigInt */, + boolean: 8 /* TypeFacts.TypeofEQBoolean */, + symbol: 16 /* TypeFacts.TypeofEQSymbol */, + undefined: 65536 /* TypeFacts.EQUndefined */, + object: 32 /* TypeFacts.TypeofEQObject */, + function: 64 /* TypeFacts.TypeofEQFunction */ })); var typeofNEFacts = new ts.Map(ts.getEntries({ - string: 256 /* TypeofNEString */, - number: 512 /* TypeofNENumber */, - bigint: 1024 /* TypeofNEBigInt */, - boolean: 2048 /* TypeofNEBoolean */, - symbol: 4096 /* TypeofNESymbol */, - undefined: 524288 /* NEUndefined */, - object: 8192 /* TypeofNEObject */, - function: 16384 /* TypeofNEFunction */ + string: 256 /* TypeFacts.TypeofNEString */, + number: 512 /* TypeFacts.TypeofNENumber */, + bigint: 1024 /* TypeFacts.TypeofNEBigInt */, + boolean: 2048 /* TypeFacts.TypeofNEBoolean */, + symbol: 4096 /* TypeFacts.TypeofNESymbol */, + undefined: 524288 /* TypeFacts.NEUndefined */, + object: 8192 /* TypeFacts.TypeofNEObject */, + function: 16384 /* TypeFacts.TypeofNEFunction */ })); var TypeSystemPropertyName; (function (TypeSystemPropertyName) { @@ -47945,10 +48157,10 @@ var ts; IntrinsicTypeKind[IntrinsicTypeKind["Uncapitalize"] = 3] = "Uncapitalize"; })(IntrinsicTypeKind || (IntrinsicTypeKind = {})); var intrinsicTypeKinds = new ts.Map(ts.getEntries({ - Uppercase: 0 /* Uppercase */, - Lowercase: 1 /* Lowercase */, - Capitalize: 2 /* Capitalize */, - Uncapitalize: 3 /* Uncapitalize */ + Uppercase: 0 /* IntrinsicTypeKind.Uppercase */, + Lowercase: 1 /* IntrinsicTypeKind.Lowercase */, + Capitalize: 2 /* IntrinsicTypeKind.Capitalize */, + Uncapitalize: 3 /* IntrinsicTypeKind.Uncapitalize */ })); function SymbolLinks() { } @@ -47973,8 +48185,8 @@ var ts; ts.getSymbolId = getSymbolId; function isInstantiatedModule(node, preserveConstEnums) { var moduleState = ts.getModuleInstanceState(node); - return moduleState === 1 /* Instantiated */ || - (preserveConstEnums && moduleState === 2 /* ConstEnumOnly */); + return moduleState === 1 /* ModuleInstanceState.Instantiated */ || + (preserveConstEnums && moduleState === 2 /* ModuleInstanceState.ConstEnumOnly */); } ts.isInstantiatedModule = isInstantiatedModule; function createTypeChecker(host) { @@ -47989,7 +48201,7 @@ var ts; return; sf.resolvedModules.forEach(function (r) { if (r && r.packageId) - map.set(r.packageId.name, r.extension === ".d.ts" /* Dts */ || !!map.get(r.packageId.name)); + map.set(r.packageId.name, r.extension === ".d.ts" /* Extension.Dts */ || !!map.get(r.packageId.name)); }); }); return map; @@ -48023,7 +48235,7 @@ var ts; var currentNode; var varianceTypeParameter; var emptySymbols = ts.createSymbolTable(); - var arrayVariances = [1 /* Covariant */]; + var arrayVariances = [1 /* VarianceFlags.Covariant */]; var compilerOptions = host.getCompilerOptions(); var languageVersion = ts.getEmitScriptTarget(compilerOptions); var moduleKind = ts.getEmitModuleKind(compilerOptions); @@ -48037,20 +48249,20 @@ var ts; var noImplicitThis = ts.getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = ts.getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var keyofStringsOnly = !!compilerOptions.keyofStringsOnly; - var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8192 /* FreshLiteral */; + var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8192 /* ObjectFlags.FreshLiteral */; var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); var nodeBuilder = createNodeBuilder(); var globals = ts.createSymbolTable(); - var undefinedSymbol = createSymbol(4 /* Property */, "undefined"); + var undefinedSymbol = createSymbol(4 /* SymbolFlags.Property */, "undefined"); undefinedSymbol.declarations = []; - var globalThisSymbol = createSymbol(1536 /* Module */, "globalThis", 8 /* Readonly */); + var globalThisSymbol = createSymbol(1536 /* SymbolFlags.Module */, "globalThis", 8 /* CheckFlags.Readonly */); globalThisSymbol.exports = globals; globalThisSymbol.declarations = []; globals.set(globalThisSymbol.escapedName, globalThisSymbol); - var argumentsSymbol = createSymbol(4 /* Property */, "arguments"); - var requireSymbol = createSymbol(4 /* Property */, "require"); + var argumentsSymbol = createSymbol(4 /* SymbolFlags.Property */, "arguments"); + var requireSymbol = createSymbol(4 /* SymbolFlags.Property */, "require"); /** This will be set during calls to `getResolvedSignature` where services determines an apparent number of arguments greater than what is actually provided. */ var apparentArgumentCount; // for public members that accept a Node or one of its subtypes, we must guard against @@ -48102,10 +48314,10 @@ var ts; return lexicallyScopedIdentifier ? getPrivateIdentifierPropertyOfType(leftType, lexicallyScopedIdentifier) : undefined; }, getTypeOfPropertyOfType: function (type, name) { return getTypeOfPropertyOfType(type, ts.escapeLeadingUnderscores(name)); }, - getIndexInfoOfType: function (type, kind) { return getIndexInfoOfType(type, kind === 0 /* String */ ? stringType : numberType); }, + getIndexInfoOfType: function (type, kind) { return getIndexInfoOfType(type, kind === 0 /* IndexKind.String */ ? stringType : numberType); }, getIndexInfosOfType: getIndexInfosOfType, getSignaturesOfType: getSignaturesOfType, - getIndexTypeOfType: function (type, kind) { return getIndexTypeOfType(type, kind === 0 /* String */ ? stringType : numberType); }, + getIndexTypeOfType: function (type, kind) { return getIndexTypeOfType(type, kind === 0 /* IndexKind.String */ ? stringType : numberType); }, getIndexType: function (type) { return getIndexType(type); }, getBaseTypes: getBaseTypes, getBaseTypeOfLiteralType: getBaseTypeOfLiteralType, @@ -48200,7 +48412,7 @@ var ts; if (!node) { return undefined; } - if (contextFlags & 4 /* Completions */) { + if (contextFlags & 4 /* ContextFlags.Completions */) { return runWithInferenceBlockedFromSourceNode(node, function () { return getContextualType(node, contextFlags); }); } return getContextualType(node, contextFlags); @@ -48221,13 +48433,13 @@ var ts; getTypeOfPropertyOfContextualType: getTypeOfPropertyOfContextualType, getFullyQualifiedName: getFullyQualifiedName, getResolvedSignature: function (node, candidatesOutArray, argumentCount) { - return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 0 /* Normal */); + return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 0 /* CheckMode.Normal */); }, getResolvedSignatureForStringLiteralCompletions: function (call, editingArgument, candidatesOutArray) { - return getResolvedSignatureWorker(call, candidatesOutArray, /*argumentCount*/ undefined, 32 /* IsForStringLiteralArgumentCompletions */, editingArgument); + return getResolvedSignatureWorker(call, candidatesOutArray, /*argumentCount*/ undefined, 32 /* CheckMode.IsForStringLiteralArgumentCompletions */, editingArgument); }, getResolvedSignatureForSignatureHelp: function (node, candidatesOutArray, argumentCount) { - return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 16 /* IsForSignatureHelp */); + return getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, 16 /* CheckMode.IsForSignatureHelp */); }, getExpandedParameters: getExpandedParameters, hasEffectiveRestParameter: hasEffectiveRestParameter, @@ -48313,7 +48525,7 @@ var ts; getSuggestionForNonexistentExport: getSuggestionForNonexistentExport, getSuggestedSymbolForNonexistentClassMember: getSuggestedSymbolForNonexistentClassMember, getBaseConstraintOfType: getBaseConstraintOfType, - getDefaultFromTypeParameter: function (type) { return type && type.flags & 262144 /* TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, + getDefaultFromTypeParameter: function (type) { return type && type.flags & 262144 /* TypeFlags.TypeParameter */ ? getDefaultFromTypeParameter(type) : undefined; }, resolveName: function (name, location, meaning, excludeGlobals) { return resolveName(location, ts.escapeLeadingUnderscores(name), meaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false, excludeGlobals); }, @@ -48350,10 +48562,10 @@ var ts; cancellationToken = ct; // Ensure file is type checked, with _eager_ diagnostic production, so identifiers are registered as potentially unused checkSourceFileWithEagerDiagnostics(file); - ts.Debug.assert(!!(getNodeLinks(file).flags & 1 /* TypeChecked */)); + ts.Debug.assert(!!(getNodeLinks(file).flags & 1 /* NodeCheckFlags.TypeChecked */)); diagnostics = ts.addRange(diagnostics, suggestionDiagnostics.getDiagnostics(file.fileName)); checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(file), function (containingNode, kind, diag) { - if (!ts.containsParseError(containingNode) && !unusedIsError(kind, !!(containingNode.flags & 16777216 /* Ambient */))) { + if (!ts.containsParseError(containingNode) && !unusedIsError(kind, !!(containingNode.flags & 16777216 /* NodeFlags.Ambient */))) { (diagnostics || (diagnostics = [])).push(__assign(__assign({}, diag), { category: ts.DiagnosticCategory.Suggestion })); } }); @@ -48424,32 +48636,32 @@ var ts; var evolvingArrayTypes = []; var undefinedProperties = new ts.Map(); var markerTypes = new ts.Set(); - var unknownSymbol = createSymbol(4 /* Property */, "unknown"); - var resolvingSymbol = createSymbol(0, "__resolving__" /* Resolving */); + var unknownSymbol = createSymbol(4 /* SymbolFlags.Property */, "unknown"); + var resolvingSymbol = createSymbol(0, "__resolving__" /* InternalSymbolName.Resolving */); var unresolvedSymbols = new ts.Map(); var errorTypes = new ts.Map(); - var anyType = createIntrinsicType(1 /* Any */, "any"); - var autoType = createIntrinsicType(1 /* Any */, "any"); - var wildcardType = createIntrinsicType(1 /* Any */, "any"); - var errorType = createIntrinsicType(1 /* Any */, "error"); - var unresolvedType = createIntrinsicType(1 /* Any */, "unresolved"); - var nonInferrableAnyType = createIntrinsicType(1 /* Any */, "any", 65536 /* ContainsWideningType */); - var intrinsicMarkerType = createIntrinsicType(1 /* Any */, "intrinsic"); - var unknownType = createIntrinsicType(2 /* Unknown */, "unknown"); - var nonNullUnknownType = createIntrinsicType(2 /* Unknown */, "unknown"); - var undefinedType = createIntrinsicType(32768 /* Undefined */, "undefined"); - var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(32768 /* Undefined */, "undefined", 65536 /* ContainsWideningType */); - var optionalType = createIntrinsicType(32768 /* Undefined */, "undefined"); - var missingType = exactOptionalPropertyTypes ? createIntrinsicType(32768 /* Undefined */, "undefined") : undefinedType; - var nullType = createIntrinsicType(65536 /* Null */, "null"); - var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(65536 /* Null */, "null", 65536 /* ContainsWideningType */); - var stringType = createIntrinsicType(4 /* String */, "string"); - var numberType = createIntrinsicType(8 /* Number */, "number"); - var bigintType = createIntrinsicType(64 /* BigInt */, "bigint"); - var falseType = createIntrinsicType(512 /* BooleanLiteral */, "false"); - var regularFalseType = createIntrinsicType(512 /* BooleanLiteral */, "false"); - var trueType = createIntrinsicType(512 /* BooleanLiteral */, "true"); - var regularTrueType = createIntrinsicType(512 /* BooleanLiteral */, "true"); + var anyType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); + var autoType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); + var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); + var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); + var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); + var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); + var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); + var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); + var undefinedType = createIntrinsicType(32768 /* TypeFlags.Undefined */, "undefined"); + var undefinedWideningType = strictNullChecks ? undefinedType : createIntrinsicType(32768 /* TypeFlags.Undefined */, "undefined", 65536 /* ObjectFlags.ContainsWideningType */); + var optionalType = createIntrinsicType(32768 /* TypeFlags.Undefined */, "undefined"); + var missingType = exactOptionalPropertyTypes ? createIntrinsicType(32768 /* TypeFlags.Undefined */, "undefined") : undefinedType; + var nullType = createIntrinsicType(65536 /* TypeFlags.Null */, "null"); + var nullWideningType = strictNullChecks ? nullType : createIntrinsicType(65536 /* TypeFlags.Null */, "null", 65536 /* ObjectFlags.ContainsWideningType */); + var stringType = createIntrinsicType(4 /* TypeFlags.String */, "string"); + var numberType = createIntrinsicType(8 /* TypeFlags.Number */, "number"); + var bigintType = createIntrinsicType(64 /* TypeFlags.BigInt */, "bigint"); + var falseType = createIntrinsicType(512 /* TypeFlags.BooleanLiteral */, "false"); + var regularFalseType = createIntrinsicType(512 /* TypeFlags.BooleanLiteral */, "false"); + var trueType = createIntrinsicType(512 /* TypeFlags.BooleanLiteral */, "true"); + var regularTrueType = createIntrinsicType(512 /* TypeFlags.BooleanLiteral */, "true"); trueType.regularType = regularTrueType; trueType.freshType = trueType; regularTrueType.regularType = regularTrueType; @@ -48459,27 +48671,28 @@ var ts; regularFalseType.regularType = regularFalseType; regularFalseType.freshType = falseType; var booleanType = getUnionType([regularFalseType, regularTrueType]); - var esSymbolType = createIntrinsicType(4096 /* ESSymbol */, "symbol"); - var voidType = createIntrinsicType(16384 /* Void */, "void"); - var neverType = createIntrinsicType(131072 /* Never */, "never"); - var silentNeverType = createIntrinsicType(131072 /* Never */, "never"); - var nonInferrableType = createIntrinsicType(131072 /* Never */, "never", 262144 /* NonInferrableType */); - var implicitNeverType = createIntrinsicType(131072 /* Never */, "never"); - var unreachableNeverType = createIntrinsicType(131072 /* Never */, "never"); - var nonPrimitiveType = createIntrinsicType(67108864 /* NonPrimitive */, "object"); + var esSymbolType = createIntrinsicType(4096 /* TypeFlags.ESSymbol */, "symbol"); + var voidType = createIntrinsicType(16384 /* TypeFlags.Void */, "void"); + var neverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); + var silentNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); + var nonInferrableType = createIntrinsicType(131072 /* TypeFlags.Never */, "never", 262144 /* ObjectFlags.NonInferrableType */); + var implicitNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); + var unreachableNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); + var nonPrimitiveType = createIntrinsicType(67108864 /* TypeFlags.NonPrimitive */, "object"); var stringOrNumberType = getUnionType([stringType, numberType]); var stringNumberSymbolType = getUnionType([stringType, numberType, esSymbolType]); var keyofConstraintType = keyofStringsOnly ? stringType : stringNumberSymbolType; var numberOrBigIntType = getUnionType([numberType, bigintType]); var templateConstraintType = getUnionType([stringType, numberType, booleanType, bigintType, nullType, undefinedType]); - var restrictiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeParameter */ ? getRestrictiveTypeParameter(t) : t; }); - var permissiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeParameter */ ? wildcardType : t; }); - var uniqueLiteralType = createIntrinsicType(131072 /* Never */, "never"); // `uniqueLiteralType` is a special `never` flagged by union reduction to behave as a literal - var uniqueLiteralMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeParameter */ ? uniqueLiteralType : t; }); // replace all type parameters with the unique literal type (disregarding constraints) + var numericStringType = getTemplateLiteralType(["", ""], [numberType]); // The `${number}` type + var restrictiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? getRestrictiveTypeParameter(t) : t; }); + var permissiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? wildcardType : t; }); + var uniqueLiteralType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); // `uniqueLiteralType` is a special `never` flagged by union reduction to behave as a literal + var uniqueLiteralMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? uniqueLiteralType : t; }); // replace all type parameters with the unique literal type (disregarding constraints) var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var emptyJsxObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); - emptyJsxObjectType.objectFlags |= 2048 /* JsxAttributes */; - var emptyTypeLiteralSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */); + emptyJsxObjectType.objectFlags |= 2048 /* ObjectFlags.JsxAttributes */; + var emptyTypeLiteralSymbol = createSymbol(2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); emptyTypeLiteralSymbol.members = ts.createSymbolTable(); var emptyTypeLiteralType = createAnonymousType(emptyTypeLiteralSymbol, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var emptyGenericType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); @@ -48487,7 +48700,7 @@ var ts; var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); // The anyFunctionType contains the anyFunctionType by definition. The flag is further propagated // in getPropagatingFlagsOfTypes, and it is checked in inferFromTypes. - anyFunctionType.objectFlags |= 262144 /* NonInferrableType */; + anyFunctionType.objectFlags |= 262144 /* ObjectFlags.NonInferrableType */; var noConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var circularConstraintType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var resolvingDefaultType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); @@ -48495,11 +48708,11 @@ var ts; var markerSubType = createTypeParameter(); markerSubType.constraint = markerSuperType; var markerOtherType = createTypeParameter(); - var noTypePredicate = createTypePredicate(1 /* Identifier */, "<>", 0, anyType); - var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, 0 /* None */); - var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, /*resolvedTypePredicate*/ undefined, 0, 0 /* None */); - var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, 0 /* None */); - var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, /*resolvedTypePredicate*/ undefined, 0, 0 /* None */); + var noTypePredicate = createTypePredicate(1 /* TypePredicateKind.Identifier */, "<>", 0, anyType); + var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); + var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); + var resolvingSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); + var silentNeverSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, silentNeverType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); var enumNumberIndexInfo = createIndexInfo(numberType, stringType, /*isReadonly*/ true); var iterationTypesCache = new ts.Map(); // cache for common IterationTypes instances var noIterationTypes = { @@ -48647,7 +48860,7 @@ var ts; var enumRelation = new ts.Map(); var builtinGlobals = ts.createSymbolTable(); builtinGlobals.set(undefinedSymbol.escapedName, undefinedSymbol); - // Extensions suggested for path imports when module resolution is node12 or higher. + // Extensions suggested for path imports when module resolution is node16 or higher. // The first element of each tuple is the extension a file has. // The second element of each tuple is the extension that should be used in a path import. // e.g. if we want to import file `foo.mts`, we should write `import {} from "./foo.mjs". @@ -48658,7 +48871,7 @@ var ts; [".mjs", ".mjs"], [".js", ".js"], [".cjs", ".cjs"], - [".tsx", compilerOptions.jsx === 1 /* Preserve */ ? ".jsx" : ".js"], + [".tsx", compilerOptions.jsx === 1 /* JsxEmit.Preserve */ ? ".jsx" : ".js"], [".jsx", ".jsx"], [".json", ".json"], ]; @@ -48804,7 +49017,7 @@ var ts; return diagnostic; } function isDeprecatedSymbol(symbol) { - return !!(getDeclarationNodeFlagsFromSymbol(symbol) & 268435456 /* Deprecated */); + return !!(getDeclarationNodeFlagsFromSymbol(symbol) & 268435456 /* NodeFlags.Deprecated */); } function addDeprecatedSuggestion(location, declarations, deprecatedEntity) { var diagnostic = ts.createDiagnosticForNode(location, ts.Diagnostics._0_is_deprecated, deprecatedEntity); @@ -48818,44 +49031,44 @@ var ts; } function createSymbol(flags, name, checkFlags) { symbolCount++; - var symbol = new Symbol(flags | 33554432 /* Transient */, name); + var symbol = new Symbol(flags | 33554432 /* SymbolFlags.Transient */, name); symbol.checkFlags = checkFlags || 0; return symbol; } function getExcludedSymbolFlags(flags) { var result = 0; - if (flags & 2 /* BlockScopedVariable */) - result |= 111551 /* BlockScopedVariableExcludes */; - if (flags & 1 /* FunctionScopedVariable */) - result |= 111550 /* FunctionScopedVariableExcludes */; - if (flags & 4 /* Property */) - result |= 0 /* PropertyExcludes */; - if (flags & 8 /* EnumMember */) - result |= 900095 /* EnumMemberExcludes */; - if (flags & 16 /* Function */) - result |= 110991 /* FunctionExcludes */; - if (flags & 32 /* Class */) - result |= 899503 /* ClassExcludes */; - if (flags & 64 /* Interface */) - result |= 788872 /* InterfaceExcludes */; - if (flags & 256 /* RegularEnum */) - result |= 899327 /* RegularEnumExcludes */; - if (flags & 128 /* ConstEnum */) - result |= 899967 /* ConstEnumExcludes */; - if (flags & 512 /* ValueModule */) - result |= 110735 /* ValueModuleExcludes */; - if (flags & 8192 /* Method */) - result |= 103359 /* MethodExcludes */; - if (flags & 32768 /* GetAccessor */) - result |= 46015 /* GetAccessorExcludes */; - if (flags & 65536 /* SetAccessor */) - result |= 78783 /* SetAccessorExcludes */; - if (flags & 262144 /* TypeParameter */) - result |= 526824 /* TypeParameterExcludes */; - if (flags & 524288 /* TypeAlias */) - result |= 788968 /* TypeAliasExcludes */; - if (flags & 2097152 /* Alias */) - result |= 2097152 /* AliasExcludes */; + if (flags & 2 /* SymbolFlags.BlockScopedVariable */) + result |= 111551 /* SymbolFlags.BlockScopedVariableExcludes */; + if (flags & 1 /* SymbolFlags.FunctionScopedVariable */) + result |= 111550 /* SymbolFlags.FunctionScopedVariableExcludes */; + if (flags & 4 /* SymbolFlags.Property */) + result |= 0 /* SymbolFlags.PropertyExcludes */; + if (flags & 8 /* SymbolFlags.EnumMember */) + result |= 900095 /* SymbolFlags.EnumMemberExcludes */; + if (flags & 16 /* SymbolFlags.Function */) + result |= 110991 /* SymbolFlags.FunctionExcludes */; + if (flags & 32 /* SymbolFlags.Class */) + result |= 899503 /* SymbolFlags.ClassExcludes */; + if (flags & 64 /* SymbolFlags.Interface */) + result |= 788872 /* SymbolFlags.InterfaceExcludes */; + if (flags & 256 /* SymbolFlags.RegularEnum */) + result |= 899327 /* SymbolFlags.RegularEnumExcludes */; + if (flags & 128 /* SymbolFlags.ConstEnum */) + result |= 899967 /* SymbolFlags.ConstEnumExcludes */; + if (flags & 512 /* SymbolFlags.ValueModule */) + result |= 110735 /* SymbolFlags.ValueModuleExcludes */; + if (flags & 8192 /* SymbolFlags.Method */) + result |= 103359 /* SymbolFlags.MethodExcludes */; + if (flags & 32768 /* SymbolFlags.GetAccessor */) + result |= 46015 /* SymbolFlags.GetAccessorExcludes */; + if (flags & 65536 /* SymbolFlags.SetAccessor */) + result |= 78783 /* SymbolFlags.SetAccessorExcludes */; + if (flags & 262144 /* SymbolFlags.TypeParameter */) + result |= 526824 /* SymbolFlags.TypeParameterExcludes */; + if (flags & 524288 /* SymbolFlags.TypeAlias */) + result |= 788968 /* SymbolFlags.TypeAliasExcludes */; + if (flags & 2097152 /* SymbolFlags.Alias */) + result |= 2097152 /* SymbolFlags.AliasExcludes */; return result; } function recordMergedSymbol(target, source) { @@ -48887,13 +49100,13 @@ var ts; function mergeSymbol(target, source, unidirectional) { if (unidirectional === void 0) { unidirectional = false; } if (!(target.flags & getExcludedSymbolFlags(source.flags)) || - (source.flags | target.flags) & 67108864 /* Assignment */) { + (source.flags | target.flags) & 67108864 /* SymbolFlags.Assignment */) { if (source === target) { // This can happen when an export assigned namespace exports something also erroneously exported at the top level // See `declarationFileNoCrashOnExtraExportModifier` for an example return target; } - if (!(target.flags & 33554432 /* Transient */)) { + if (!(target.flags & 33554432 /* SymbolFlags.Transient */)) { var resolvedTarget = resolveSymbol(target); if (resolvedTarget === unknownSymbol) { return source; @@ -48901,7 +49114,7 @@ var ts; target = cloneSymbol(resolvedTarget); } // Javascript static-property-assignment declarations always merge, even though they are also values - if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { + if (source.flags & 512 /* SymbolFlags.ValueModule */ && target.flags & 512 /* SymbolFlags.ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums target.constEnumOnlyModule = false; } @@ -48924,7 +49137,7 @@ var ts; recordMergedSymbol(target, source); } } - else if (target.flags & 1024 /* NamespaceModule */) { + else if (target.flags & 1024 /* SymbolFlags.NamespaceModule */) { // Do not report an error when merging `var globalThis` with the built-in `globalThis`, // as we will already report a "Declaration name conflicts..." error, and this error // won't make much sense. @@ -48933,8 +49146,8 @@ var ts; } } else { // error - var isEitherEnum = !!(target.flags & 384 /* Enum */ || source.flags & 384 /* Enum */); - var isEitherBlockScoped_1 = !!(target.flags & 2 /* BlockScopedVariable */ || source.flags & 2 /* BlockScopedVariable */); + var isEitherEnum = !!(target.flags & 384 /* SymbolFlags.Enum */ || source.flags & 384 /* SymbolFlags.Enum */); + var isEitherBlockScoped_1 = !!(target.flags & 2 /* SymbolFlags.BlockScopedVariable */ || source.flags & 2 /* SymbolFlags.BlockScopedVariable */); var message = isEitherEnum ? ts.Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations : isEitherBlockScoped_1 ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; @@ -48945,9 +49158,9 @@ var ts; var symbolName_1 = symbolToString(source); // Collect top-level duplicate identifier errors into one mapping, so we can then merge their diagnostics if there are a bunch if (sourceSymbolFile && targetSymbolFile && amalgamatedDuplicates && !isEitherEnum && sourceSymbolFile !== targetSymbolFile) { - var firstFile_1 = ts.comparePaths(sourceSymbolFile.path, targetSymbolFile.path) === -1 /* LessThan */ ? sourceSymbolFile : targetSymbolFile; + var firstFile_1 = ts.comparePaths(sourceSymbolFile.path, targetSymbolFile.path) === -1 /* Comparison.LessThan */ ? sourceSymbolFile : targetSymbolFile; var secondFile_1 = firstFile_1 === sourceSymbolFile ? targetSymbolFile : sourceSymbolFile; - var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, firstFile_1.path + "|" + secondFile_1.path, function () { + var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, "".concat(firstFile_1.path, "|").concat(secondFile_1.path), function () { return ({ firstFile: firstFile_1, secondFile: secondFile_1, conflictingSymbols: new ts.Map() }); }); var conflictingSymbolInfo = ts.getOrUpdate(filesDuplicates.conflictingSymbols, symbolName_1, function () { @@ -48990,7 +49203,7 @@ var ts; err.relatedInformation = err.relatedInformation || []; var leadingMessage = ts.createDiagnosticForNode(adjustedNode, ts.Diagnostics._0_was_also_declared_here, symbolName); var followOnMessage = ts.createDiagnosticForNode(adjustedNode, ts.Diagnostics.and_here); - if (ts.length(err.relatedInformation) >= 5 || ts.some(err.relatedInformation, function (r) { return ts.compareDiagnostics(r, followOnMessage) === 0 /* EqualTo */ || ts.compareDiagnostics(r, leadingMessage) === 0 /* EqualTo */; })) + if (ts.length(err.relatedInformation) >= 5 || ts.some(err.relatedInformation, function (r) { return ts.compareDiagnostics(r, followOnMessage) === 0 /* Comparison.EqualTo */ || ts.compareDiagnostics(r, leadingMessage) === 0 /* Comparison.EqualTo */; })) return "continue"; ts.addRelatedInfo(err, !ts.length(err.relatedInformation) ? leadingMessage : followOnMessage); }; @@ -49032,7 +49245,7 @@ var ts; else { // find a module that about to be augmented // do not validate names of augmentations that are defined in ambient context - var moduleNotFoundError = !(moduleName.parent.parent.flags & 16777216 /* Ambient */) + var moduleNotFoundError = !(moduleName.parent.parent.flags & 16777216 /* NodeFlags.Ambient */) ? ts.Diagnostics.Invalid_module_name_in_augmentation_module_0_cannot_be_found : undefined; var mainModule_1 = resolveExternalModuleNameWorker(moduleName, moduleName, moduleNotFoundError, /*isForAugmentation*/ true); @@ -49041,7 +49254,7 @@ var ts; } // obtain item referenced by 'export=' mainModule_1 = resolveExternalModuleSymbol(mainModule_1); - if (mainModule_1.flags & 1920 /* Namespace */) { + if (mainModule_1.flags & 1920 /* SymbolFlags.Namespace */) { // If we're merging an augmentation to a pattern ambient module, we want to // perform the merge unidirectionally from the augmentation ('a.foo') to // the pattern ('*.foo'), so that 'getMergedSymbol()' on a.foo gives you @@ -49056,9 +49269,9 @@ var ts; patternAmbientModuleAugmentations.set(moduleName.text, merged); } else { - if (((_b = mainModule_1.exports) === null || _b === void 0 ? void 0 : _b.get("__export" /* ExportStar */)) && ((_c = moduleAugmentation.symbol.exports) === null || _c === void 0 ? void 0 : _c.size)) { + if (((_b = mainModule_1.exports) === null || _b === void 0 ? void 0 : _b.get("__export" /* InternalSymbolName.ExportStar */)) && ((_c = moduleAugmentation.symbol.exports) === null || _c === void 0 ? void 0 : _c.size)) { // We may need to merge the module augmentation's exports into the target symbols of the resolved exports - var resolvedExports = getResolvedMembersOrExportsOfSymbol(mainModule_1, "resolvedExports" /* resolvedExports */); + var resolvedExports = getResolvedMembersOrExportsOfSymbol(mainModule_1, "resolvedExports" /* MembersOrExportsResolutionKind.resolvedExports */); for (var _i = 0, _d = ts.arrayFrom(moduleAugmentation.symbol.exports.entries()); _i < _d.length; _i++) { var _e = _d[_i], key = _e[0], value = _e[1]; if (resolvedExports.has(key) && !mainModule_1.exports.has(key)) { @@ -49091,7 +49304,7 @@ var ts; } } function getSymbolLinks(symbol) { - if (symbol.flags & 33554432 /* Transient */) + if (symbol.flags & 33554432 /* SymbolFlags.Transient */) return symbol; var id = getSymbolId(symbol); return symbolLinks[id] || (symbolLinks[id] = new SymbolLinks()); @@ -49101,17 +49314,17 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = new NodeLinks()); } function isGlobalSourceFile(node) { - return node.kind === 305 /* SourceFile */ && !ts.isExternalOrCommonJsModule(node); + return node.kind === 305 /* SyntaxKind.SourceFile */ && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { var symbol = getMergedSymbol(symbols.get(name)); if (symbol) { - ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* CheckFlags.Instantiated */) === 0, "Should never get an instantiated symbol here."); if (symbol.flags & meaning) { return symbol; } - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { var target = resolveAlias(symbol); // Unknown symbol means an error occurred in alias resolution, treat it as positive answer to avoid cascading errors if (target === unknownSymbol || target.flags & meaning) { @@ -49131,8 +49344,8 @@ var ts; function getSymbolsOfParameterPropertyDeclaration(parameter, parameterName) { var constructorDeclaration = parameter.parent; var classDeclaration = parameter.parent.parent; - var parameterSymbol = getSymbol(constructorDeclaration.locals, parameterName, 111551 /* Value */); - var propertySymbol = getSymbol(getMembersOfSymbol(classDeclaration.symbol), parameterName, 111551 /* Value */); + var parameterSymbol = getSymbol(constructorDeclaration.locals, parameterName, 111551 /* SymbolFlags.Value */); + var propertySymbol = getSymbol(getMembersOfSymbol(classDeclaration.symbol), parameterName, 111551 /* SymbolFlags.Value */); if (parameterSymbol && propertySymbol) { return [parameterSymbol, propertySymbol]; } @@ -49146,7 +49359,7 @@ var ts; if ((moduleKind && (declarationFile.externalModuleIndicator || useFile.externalModuleIndicator)) || (!ts.outFile(compilerOptions)) || isInTypeQuery(usage) || - declaration.flags & 16777216 /* Ambient */) { + declaration.flags & 16777216 /* NodeFlags.Ambient */) { // nodes are in different files and order cannot be determined return true; } @@ -49160,17 +49373,17 @@ var ts; } if (declaration.pos <= usage.pos && !(ts.isPropertyDeclaration(declaration) && ts.isThisProperty(usage.parent) && !declaration.initializer && !declaration.exclamationToken)) { // declaration is before usage - if (declaration.kind === 203 /* BindingElement */) { + if (declaration.kind === 203 /* SyntaxKind.BindingElement */) { // still might be illegal if declaration and usage are both binding elements (eg var [a = b, b = b] = [1, 2]) - var errorBindingElement = ts.getAncestor(usage, 203 /* BindingElement */); + var errorBindingElement = ts.getAncestor(usage, 203 /* SyntaxKind.BindingElement */); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } // or it might be illegal if usage happens before parent variable is declared (eg var [a] = a) - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 254 /* VariableDeclaration */), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 254 /* SyntaxKind.VariableDeclaration */), usage); } - else if (declaration.kind === 254 /* VariableDeclaration */) { + else if (declaration.kind === 254 /* SyntaxKind.VariableDeclaration */) { // still might be illegal if usage is in the initializer of the variable declaration (eg var a = a) return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } @@ -49184,7 +49397,7 @@ var ts; } else if (ts.isParameterPropertyDeclaration(declaration, declaration.parent)) { // foo = this.bar is illegal in esnext+useDefineForClassFields when bar is a parameter property - return !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields + return !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ScriptTarget.ESNext */ && useDefineForClassFields && ts.getContainingClass(declaration) === ts.getContainingClass(usage) && isUsedInFunctionOrInstanceProperty(usage, declaration)); } @@ -49200,19 +49413,19 @@ var ts; // or if usage is in a type context: // 1. inside a type query (typeof in type position) // 2. inside a jsdoc comment - if (usage.parent.kind === 275 /* ExportSpecifier */ || (usage.parent.kind === 271 /* ExportAssignment */ && usage.parent.isExportEquals)) { + if (usage.parent.kind === 275 /* SyntaxKind.ExportSpecifier */ || (usage.parent.kind === 271 /* SyntaxKind.ExportAssignment */ && usage.parent.isExportEquals)) { // export specifiers do not use the variable, they only make it available for use return true; } // When resolving symbols for exports, the `usage` location passed in can be the export site directly - if (usage.kind === 271 /* ExportAssignment */ && usage.isExportEquals) { + if (usage.kind === 271 /* SyntaxKind.ExportAssignment */ && usage.isExportEquals) { return true; } - if (!!(usage.flags & 8388608 /* JSDoc */) || isInTypeQuery(usage) || usageInTypeDeclaration()) { + if (!!(usage.flags & 8388608 /* NodeFlags.JSDoc */) || isInTypeQuery(usage) || usageInTypeDeclaration()) { return true; } if (isUsedInFunctionOrInstanceProperty(usage, declaration)) { - if (ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields + if (ts.getEmitScriptTarget(compilerOptions) === 99 /* ScriptTarget.ESNext */ && useDefineForClassFields && ts.getContainingClass(declaration) && (ts.isPropertyDeclaration(declaration) || ts.isParameterPropertyDeclaration(declaration, declaration.parent))) { return !isPropertyImmediatelyReferencedWithinDeclaration(declaration, usage, /*stopAtAnyPropertyDeclaration*/ true); @@ -49227,9 +49440,9 @@ var ts; } function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { switch (declaration.parent.parent.kind) { - case 237 /* VariableStatement */: - case 242 /* ForStatement */: - case 244 /* ForOfStatement */: + case 237 /* SyntaxKind.VariableStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.ForOfStatement */: // variable statement/for/for-of statement case, // use site should not be inside variable declaration (initializer of declaration or binding element) if (isSameScopeDescendentOf(usage, declaration, declContainer)) { @@ -49257,7 +49470,7 @@ var ts; var initializerOfProperty = propertyDeclaration.initializer === current; if (initializerOfProperty) { if (ts.isStatic(current.parent)) { - if (declaration.kind === 169 /* MethodDeclaration */) { + if (declaration.kind === 169 /* SyntaxKind.MethodDeclaration */) { return true; } if (ts.isPropertyDeclaration(declaration) && ts.getContainingClass(usage) === ts.getContainingClass(declaration)) { @@ -49272,7 +49485,7 @@ var ts; } } else { - var isDeclarationInstanceProperty = declaration.kind === 167 /* PropertyDeclaration */ && !ts.isStatic(declaration); + var isDeclarationInstanceProperty = declaration.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(declaration); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } @@ -49295,19 +49508,19 @@ var ts; return "quit"; } switch (node.kind) { - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return true; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // even when stopping at any property declaration, they need to come from the same class return stopAtAnyPropertyDeclaration && (ts.isPropertyDeclaration(declaration) && node.parent === declaration.parent || ts.isParameterPropertyDeclaration(declaration, declaration.parent) && node.parent === declaration.parent.parent) ? "quit" : true; - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: switch (node.parent.kind) { - case 172 /* GetAccessor */: - case 169 /* MethodDeclaration */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.SetAccessor */: return true; default: return false; @@ -49332,7 +49545,7 @@ var ts; // - optional chaining pre-es2020 // - nullish coalesce pre-es2020 // - spread assignment in binding pattern pre-es2017 - if (target >= 2 /* ES2015 */) { + if (target >= 2 /* ScriptTarget.ES2015 */) { var links = getNodeLinks(functionLocation); if (links.declarationRequiresScopeChange === undefined) { links.declarationRequiresScopeChange = ts.forEach(functionLocation.parameters, requiresScopeChange) || false; @@ -49347,30 +49560,30 @@ var ts; } function requiresScopeChangeWorker(node) { switch (node.kind) { - case 214 /* ArrowFunction */: - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - case 171 /* Constructor */: + case 214 /* SyntaxKind.ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.Constructor */: // do not descend into these return false; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 296 /* PropertyAssignment */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 296 /* SyntaxKind.PropertyAssignment */: return requiresScopeChangeWorker(node.name); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // static properties in classes introduce temporary variables if (ts.hasStaticModifier(node)) { - return target < 99 /* ESNext */ || !useDefineForClassFields; + return target < 99 /* ScriptTarget.ESNext */ || !useDefineForClassFields; } return requiresScopeChangeWorker(node.name); default: // null coalesce and optional chain pre-es2020 produce temporary variables if (ts.isNullishCoalesce(node) || ts.isOptionalChain(node)) { - return target < 7 /* ES2020 */; + return target < 7 /* ScriptTarget.ES2020 */; } if (ts.isBindingElement(node) && node.dotDotDotToken && ts.isObjectBindingPattern(node.parent)) { - return target < 4 /* ES2017 */; + return target < 4 /* ScriptTarget.ES2017 */; } if (ts.isTypeNode(node)) return false; @@ -49423,35 +49636,35 @@ var ts; // - parameters are only in the scope of function body // This restriction does not apply to JSDoc comment types because they are parented // at a higher level than type parameters would normally be - if (meaning & result.flags & 788968 /* Type */ && lastLocation.kind !== 320 /* JSDoc */) { - useResult = result.flags & 262144 /* TypeParameter */ + if (meaning & result.flags & 788968 /* SymbolFlags.Type */ && lastLocation.kind !== 320 /* SyntaxKind.JSDoc */) { + useResult = result.flags & 262144 /* SymbolFlags.TypeParameter */ // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || - lastLocation.kind === 164 /* Parameter */ || - lastLocation.kind === 340 /* JSDocParameterTag */ || - lastLocation.kind === 341 /* JSDocReturnTag */ || - lastLocation.kind === 163 /* TypeParameter */ + lastLocation.kind === 164 /* SyntaxKind.Parameter */ || + lastLocation.kind === 340 /* SyntaxKind.JSDocParameterTag */ || + lastLocation.kind === 341 /* SyntaxKind.JSDocReturnTag */ || + lastLocation.kind === 163 /* SyntaxKind.TypeParameter */ // local types not visible outside the function body : false; } - if (meaning & result.flags & 3 /* Variable */) { + if (meaning & result.flags & 3 /* SymbolFlags.Variable */) { // expression inside parameter will lookup as normal variable scope when targeting es2015+ if (useOuterVariableScopeInParameter(result, location, lastLocation)) { useResult = false; } - else if (result.flags & 1 /* FunctionScopedVariable */) { + else if (result.flags & 1 /* SymbolFlags.FunctionScopedVariable */) { // parameters are visible only inside function body, parameter list and return type // technically for parameter list case here we might mix parameters and variables declared in function, // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = - lastLocation.kind === 164 /* Parameter */ || + lastLocation.kind === 164 /* SyntaxKind.Parameter */ || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } } - else if (location.kind === 189 /* ConditionalType */) { + else if (location.kind === 189 /* SyntaxKind.ConditionalType */) { // A type parameter declared using 'infer T' in a conditional type is visible only in // the true branch of the conditional type. useResult = lastLocation === location.trueType; @@ -49466,17 +49679,17 @@ var ts; } withinDeferredContext = withinDeferredContext || getIsDeferredContext(location, lastLocation); switch (location.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; // falls through - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: var moduleExports = ((_a = getSymbolOfNode(location)) === null || _a === void 0 ? void 0 : _a.exports) || emptySymbols; - if (location.kind === 305 /* SourceFile */ || (ts.isModuleDeclaration(location) && location.flags & 16777216 /* Ambient */ && !ts.isGlobalScopeAugmentation(location))) { + if (location.kind === 305 /* SyntaxKind.SourceFile */ || (ts.isModuleDeclaration(location) && location.flags & 16777216 /* NodeFlags.Ambient */ && !ts.isGlobalScopeAugmentation(location))) { // It's an external module. First see if the module has an export default and if the local // name of that export default matches. - if (result = moduleExports.get("default" /* Default */)) { + if (result = moduleExports.get("default" /* InternalSymbolName.Default */)) { var localSymbol = ts.getLocalSymbolForExportDefault(result); if (localSymbol && (result.flags & meaning) && localSymbol.escapedName === name) { break loop; @@ -49496,13 +49709,13 @@ var ts; // which is not the desired behavior. var moduleExport = moduleExports.get(name); if (moduleExport && - moduleExport.flags === 2097152 /* Alias */ && - (ts.getDeclarationOfKind(moduleExport, 275 /* ExportSpecifier */) || ts.getDeclarationOfKind(moduleExport, 274 /* NamespaceExport */))) { + moduleExport.flags === 2097152 /* SymbolFlags.Alias */ && + (ts.getDeclarationOfKind(moduleExport, 275 /* SyntaxKind.ExportSpecifier */) || ts.getDeclarationOfKind(moduleExport, 274 /* SyntaxKind.NamespaceExport */))) { break; } } // ES6 exports are also visible locally (except for 'default'), but commonjs exports are not (except typedefs) - if (name !== "default" /* Default */ && (result = lookup(moduleExports, name, meaning & 2623475 /* ModuleMember */))) { + if (name !== "default" /* InternalSymbolName.Default */ && (result = lookup(moduleExports, name, meaning & 2623475 /* SymbolFlags.ModuleMember */))) { if (ts.isSourceFile(location) && location.commonJsModuleIndicator && !((_b = result.declarations) === null || _b === void 0 ? void 0 : _b.some(ts.isJSDocTypeAlias))) { result = undefined; } @@ -49511,12 +49724,12 @@ var ts; } } break; - case 260 /* EnumDeclaration */: - if (result = lookup(((_c = getSymbolOfNode(location)) === null || _c === void 0 ? void 0 : _c.exports) || emptySymbols, name, meaning & 8 /* EnumMember */)) { + case 260 /* SyntaxKind.EnumDeclaration */: + if (result = lookup(((_c = getSymbolOfNode(location)) === null || _c === void 0 ? void 0 : _c.exports) || emptySymbols, name, meaning & 8 /* SymbolFlags.EnumMember */)) { break loop; } break; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // TypeScript 1.0 spec (April 2014): 8.4.1 // Initializer expressions for instance member variables are evaluated in the scope // of the class constructor body but are not permitted to reference parameters or @@ -49526,20 +49739,20 @@ var ts; if (!ts.isStatic(location)) { var ctor = findConstructorDeclaration(location.parent); if (ctor && ctor.locals) { - if (lookup(ctor.locals, name, meaning & 111551 /* Value */)) { + if (lookup(ctor.locals, name, meaning & 111551 /* SymbolFlags.Value */)) { // Remember the property node, it will be used later to report appropriate error propertyWithInvalidInitializer = location; } } } break; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: // The below is used to lookup type parameters within a class or interface, as they are added to the class/interface locals // These can never be latebound, so the symbol's raw members are sufficient. `getMembersOfNode` cannot be used, as it would // trigger resolving late-bound names, which we may already be in the process of doing while we're here! - if (result = lookup(getSymbolOfNode(location).members || emptySymbols, name, meaning & 788968 /* Type */)) { + if (result = lookup(getSymbolOfNode(location).members || emptySymbols, name, meaning & 788968 /* SymbolFlags.Type */)) { if (!isTypeParameterSymbolDeclaredInContainer(result, location)) { // ignore type parameters not declared in this container result = undefined; @@ -49554,7 +49767,7 @@ var ts; } break loop; } - if (location.kind === 226 /* ClassExpression */ && meaning & 32 /* Class */) { + if (location.kind === 226 /* SyntaxKind.ClassExpression */ && meaning & 32 /* SymbolFlags.Class */) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -49562,11 +49775,11 @@ var ts; } } break; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: // The type parameters of a class are not in scope in the base class expression. - if (lastLocation === location.expression && location.parent.token === 94 /* ExtendsKeyword */) { + if (lastLocation === location.expression && location.parent.token === 94 /* SyntaxKind.ExtendsKeyword */) { var container = location.parent.parent; - if (ts.isClassLike(container) && (result = lookup(getSymbolOfNode(container).members, name, meaning & 788968 /* Type */))) { + if (ts.isClassLike(container) && (result = lookup(getSymbolOfNode(container).members, name, meaning & 788968 /* SymbolFlags.Type */))) { if (nameNotFoundMessage) { error(errorLocation, ts.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters); } @@ -49582,39 +49795,39 @@ var ts; // [foo()]() { } // <-- Reference to T from class's own computed property // } // - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 258 /* InterfaceDeclaration */) { + if (ts.isClassLike(grandparent) || grandparent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { // A reference to this grandparent's type parameters would be an error - if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 788968 /* Type */)) { + if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 788968 /* SymbolFlags.Type */)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); return undefined; } } break; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: // when targeting ES6 or higher there is no 'arguments' in an arrow function // for lower compile targets the resolved symbol is used to emit an error - if (ts.getEmitScriptTarget(compilerOptions) >= 2 /* ES2015 */) { + if (ts.getEmitScriptTarget(compilerOptions) >= 2 /* ScriptTarget.ES2015 */) { break; } // falls through - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 256 /* FunctionDeclaration */: - if (meaning & 3 /* Variable */ && name === "arguments") { + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + if (meaning & 3 /* SymbolFlags.Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 213 /* FunctionExpression */: - if (meaning & 3 /* Variable */ && name === "arguments") { + case 213 /* SyntaxKind.FunctionExpression */: + if (meaning & 3 /* SymbolFlags.Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } - if (meaning & 16 /* Function */) { + if (meaning & 16 /* SymbolFlags.Function */) { var functionName = location.name; if (functionName && name === functionName.escapedText) { result = location.symbol; @@ -49622,7 +49835,7 @@ var ts; } } break; - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: // Decorators are resolved at the class declaration. Resolving at the parameter // or member would result in looking up locals in the method. // @@ -49631,7 +49844,7 @@ var ts; // method(@y x, y) {} // <-- decorator y should be resolved at the class declaration, not the parameter. // } // - if (location.parent && location.parent.kind === 164 /* Parameter */) { + if (location.parent && location.parent.kind === 164 /* SyntaxKind.Parameter */) { location = location.parent; } // @@ -49646,20 +49859,20 @@ var ts; // declare function y(x: T): any; // @param(1 as T) // <-- T should resolve to the type alias outside of class C // class C {} - if (location.parent && (ts.isClassElement(location.parent) || location.parent.kind === 257 /* ClassDeclaration */)) { + if (location.parent && (ts.isClassElement(location.parent) || location.parent.kind === 257 /* SyntaxKind.ClassDeclaration */)) { location = location.parent; } break; - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 339 /* JSDocEnumTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: // js type aliases do not resolve names from their host, so skip past it var root = ts.getJSDocRoot(location); if (root) { location = root.parent; } break; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: if (lastLocation && (lastLocation === location.initializer || lastLocation === location.name && ts.isBindingPattern(lastLocation))) { if (!associatedDeclarationForContainingInitializerOrBindingName) { @@ -49667,7 +49880,7 @@ var ts; } } break; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: if (lastLocation && (lastLocation === location.initializer || lastLocation === location.name && ts.isBindingPattern(lastLocation))) { if (ts.isParameterDeclaration(location) && !associatedDeclarationForContainingInitializerOrBindingName) { @@ -49675,8 +49888,8 @@ var ts; } } break; - case 190 /* InferType */: - if (meaning & 262144 /* TypeParameter */) { + case 190 /* SyntaxKind.InferType */: + if (meaning & 262144 /* SymbolFlags.TypeParameter */) { var parameterName = location.typeParameter.name; if (parameterName && name === parameterName.escapedText) { result = location.typeParameter.symbol; @@ -49701,7 +49914,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 305 /* SourceFile */); + ts.Debug.assert(lastLocation.kind === 305 /* SyntaxKind.SourceFile */); if (lastLocation.commonJsModuleIndicator && name === "exports" && meaning & lastLocation.symbol.flags) { return lastLocation.symbol; } @@ -49738,7 +49951,7 @@ var ts; if (suggestion) { var suggestionName = symbolToString(suggestion); var isUncheckedJS = isUncheckedJSSuggestion(originalLocation, suggestion, /*excludeClasses*/ false); - var message = meaning === 1920 /* Namespace */ || nameArg && typeof nameArg !== "string" && ts.nodeIsSynthesized(nameArg) ? ts.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1 + var message = meaning === 1920 /* SymbolFlags.Namespace */ || nameArg && typeof nameArg !== "string" && ts.nodeIsSynthesized(nameArg) ? ts.Diagnostics.Cannot_find_namespace_0_Did_you_mean_1 : isUncheckedJS ? ts.Diagnostics.Could_not_find_name_0_Did_you_mean_1 : ts.Diagnostics.Cannot_find_name_0_Did_you_mean_1; var diagnostic = createError(errorLocation, message, diagnosticName(nameArg), suggestionName); @@ -49765,7 +49978,7 @@ var ts; } return undefined; } - if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields)) { + if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ScriptTarget.ESNext */ && useDefineForClassFields)) { // We have a match, but the reference occurred within a property initializer and the identifier also binds // to a local variable in the constructor where the code will be emitted. Note that this is actually allowed // with ESNext+useDefineForClassFields because the scope semantics are different. @@ -49788,22 +50001,22 @@ var ts; // try to resolve name in /*1*/ which is used in variable position, // we want to check for block-scoped if (errorLocation && - (meaning & 2 /* BlockScopedVariable */ || - ((meaning & 32 /* Class */ || meaning & 384 /* Enum */) && (meaning & 111551 /* Value */) === 111551 /* Value */))) { + (meaning & 2 /* SymbolFlags.BlockScopedVariable */ || + ((meaning & 32 /* SymbolFlags.Class */ || meaning & 384 /* SymbolFlags.Enum */) && (meaning & 111551 /* SymbolFlags.Value */) === 111551 /* SymbolFlags.Value */))) { var exportOrLocalSymbol = getExportSymbolOfValueSymbolIfExported(result); - if (exportOrLocalSymbol.flags & 2 /* BlockScopedVariable */ || exportOrLocalSymbol.flags & 32 /* Class */ || exportOrLocalSymbol.flags & 384 /* Enum */) { + if (exportOrLocalSymbol.flags & 2 /* SymbolFlags.BlockScopedVariable */ || exportOrLocalSymbol.flags & 32 /* SymbolFlags.Class */ || exportOrLocalSymbol.flags & 384 /* SymbolFlags.Enum */) { checkResolvedBlockScopedVariable(exportOrLocalSymbol, errorLocation); } } // If we're in an external module, we can't reference value symbols created from UMD export declarations - if (result && isInExternalModule && (meaning & 111551 /* Value */) === 111551 /* Value */ && !(originalLocation.flags & 8388608 /* JSDoc */)) { + if (result && isInExternalModule && (meaning & 111551 /* SymbolFlags.Value */) === 111551 /* SymbolFlags.Value */ && !(originalLocation.flags & 8388608 /* NodeFlags.JSDoc */)) { var merged = getMergedSymbol(result); if (ts.length(merged.declarations) && ts.every(merged.declarations, function (d) { return ts.isNamespaceExportDeclaration(d) || ts.isSourceFile(d) && !!d.symbol.globalExports; })) { errorOrSuggestion(!compilerOptions.allowUmdGlobalAccess, errorLocation, ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead, ts.unescapeLeadingUnderscores(name)); } } // If we're in a parameter initializer or binding name, we can't reference the values of the parameter whose initializer we're within or parameters to the right - if (result && associatedDeclarationForContainingInitializerOrBindingName && !withinDeferredContext && (meaning & 111551 /* Value */) === 111551 /* Value */) { + if (result && associatedDeclarationForContainingInitializerOrBindingName && !withinDeferredContext && (meaning & 111551 /* SymbolFlags.Value */) === 111551 /* SymbolFlags.Value */) { var candidate = getMergedSymbol(getLateBoundSymbol(result)); var root = ts.getRootDeclaration(associatedDeclarationForContainingInitializerOrBindingName); // A parameter initializer or binding pattern initializer within a parameter cannot refer to itself @@ -49815,10 +50028,10 @@ var ts; error(errorLocation, ts.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it, ts.declarationNameToString(associatedDeclarationForContainingInitializerOrBindingName.name), ts.declarationNameToString(errorLocation)); } } - if (result && errorLocation && meaning & 111551 /* Value */ && result.flags & 2097152 /* Alias */ && !(result.flags & 111551 /* Value */) && !ts.isValidTypeOnlyAliasUseSite(errorLocation)) { + if (result && errorLocation && meaning & 111551 /* SymbolFlags.Value */ && result.flags & 2097152 /* SymbolFlags.Alias */ && !(result.flags & 111551 /* SymbolFlags.Value */) && !ts.isValidTypeOnlyAliasUseSite(errorLocation)) { var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result); if (typeOnlyDeclaration) { - var message = typeOnlyDeclaration.kind === 275 /* ExportSpecifier */ + var message = typeOnlyDeclaration.kind === 275 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type : ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type; var unescapedName = ts.unescapeLeadingUnderscores(name); @@ -49832,31 +50045,31 @@ var ts; function addTypeOnlyDeclarationRelatedInfo(diagnostic, typeOnlyDeclaration, unescapedName) { if (!typeOnlyDeclaration) return diagnostic; - return ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(typeOnlyDeclaration, typeOnlyDeclaration.kind === 275 /* ExportSpecifier */ ? ts.Diagnostics._0_was_exported_here : ts.Diagnostics._0_was_imported_here, unescapedName)); + return ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(typeOnlyDeclaration, typeOnlyDeclaration.kind === 275 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics._0_was_exported_here : ts.Diagnostics._0_was_imported_here, unescapedName)); } function getIsDeferredContext(location, lastLocation) { - if (location.kind !== 214 /* ArrowFunction */ && location.kind !== 213 /* FunctionExpression */) { + if (location.kind !== 214 /* SyntaxKind.ArrowFunction */ && location.kind !== 213 /* SyntaxKind.FunctionExpression */) { // initializers in instance property declaration of class like entities are executed in constructor and thus deferred return ts.isTypeQueryNode(location) || ((ts.isFunctionLikeDeclaration(location) || - (location.kind === 167 /* PropertyDeclaration */ && !ts.isStatic(location))) && (!lastLocation || lastLocation !== location.name)); // A name is evaluated within the enclosing scope - so it shouldn't count as deferred + (location.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(location))) && (!lastLocation || lastLocation !== location.name)); // A name is evaluated within the enclosing scope - so it shouldn't count as deferred } if (lastLocation && lastLocation === location.name) { return false; } // generator functions and async functions are not inlined in control flow when immediately invoked - if (location.asteriskToken || ts.hasSyntacticModifier(location, 256 /* Async */)) { + if (location.asteriskToken || ts.hasSyntacticModifier(location, 256 /* ModifierFlags.Async */)) { return true; } return !ts.getImmediatelyInvokedFunctionExpression(location); } function isSelfReferenceLocation(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 261 /* ModuleDeclaration */: // For `namespace N { N; }` + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: // For `namespace N { N; }` return true; default: return false; @@ -49869,7 +50082,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 163 /* TypeParameter */) { + if (decl.kind === 163 /* SyntaxKind.TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); // TODO: GH#18217 @@ -49913,7 +50126,7 @@ var ts; } function checkAndReportErrorForExtendingInterface(errorLocation) { var expression = getEntityNameForExtendingInterface(errorLocation); - if (expression && resolveEntityName(expression, 64 /* Interface */, /*ignoreErrors*/ true)) { + if (expression && resolveEntityName(expression, 64 /* SymbolFlags.Interface */, /*ignoreErrors*/ true)) { error(errorLocation, ts.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements, ts.getTextOfNode(expression)); return true; } @@ -49925,10 +50138,10 @@ var ts; */ function getEntityNameForExtendingInterface(node) { switch (node.kind) { - case 79 /* Identifier */: - case 206 /* PropertyAccessExpression */: + case 79 /* SyntaxKind.Identifier */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -49938,9 +50151,9 @@ var ts; } } function checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) { - var namespaceMeaning = 1920 /* Namespace */ | (ts.isInJSFile(errorLocation) ? 111551 /* Value */ : 0); + var namespaceMeaning = 1920 /* SymbolFlags.Namespace */ | (ts.isInJSFile(errorLocation) ? 111551 /* SymbolFlags.Value */ : 0); if (meaning === namespaceMeaning) { - var symbol = resolveSymbol(resolveName(errorLocation, name, 788968 /* Type */ & ~namespaceMeaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + var symbol = resolveSymbol(resolveName(errorLocation, name, 788968 /* SymbolFlags.Type */ & ~namespaceMeaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); var parent = errorLocation.parent; if (symbol) { if (ts.isQualifiedName(parent)) { @@ -49959,9 +50172,9 @@ var ts; return false; } function checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning) { - if (meaning & (788968 /* Type */ & ~1920 /* Namespace */)) { - var symbol = resolveSymbol(resolveName(errorLocation, name, ~788968 /* Type */ & 111551 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); - if (symbol && !(symbol.flags & 1920 /* Namespace */)) { + if (meaning & (788968 /* SymbolFlags.Type */ & ~1920 /* SymbolFlags.Namespace */)) { + var symbol = resolveSymbol(resolveName(errorLocation, name, ~788968 /* SymbolFlags.Type */ & 111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + if (symbol && !(symbol.flags & 1920 /* SymbolFlags.Namespace */)) { error(errorLocation, ts.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0, ts.unescapeLeadingUnderscores(name)); return true; } @@ -49972,20 +50185,20 @@ var ts; return name === "any" || name === "string" || name === "number" || name === "boolean" || name === "never" || name === "unknown"; } function checkAndReportErrorForExportingPrimitiveType(errorLocation, name) { - if (isPrimitiveTypeName(name) && errorLocation.parent.kind === 275 /* ExportSpecifier */) { + if (isPrimitiveTypeName(name) && errorLocation.parent.kind === 275 /* SyntaxKind.ExportSpecifier */) { error(errorLocation, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, name); return true; } return false; } function checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) { - if (meaning & (111551 /* Value */ & ~1024 /* NamespaceModule */)) { + if (meaning & (111551 /* SymbolFlags.Value */ & ~1024 /* SymbolFlags.NamespaceModule */)) { if (isPrimitiveTypeName(name)) { error(errorLocation, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, ts.unescapeLeadingUnderscores(name)); return true; } - var symbol = resolveSymbol(resolveName(errorLocation, name, 788968 /* Type */ & ~111551 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); - if (symbol && !(symbol.flags & 1024 /* NamespaceModule */)) { + var symbol = resolveSymbol(resolveName(errorLocation, name, 788968 /* SymbolFlags.Type */ & ~111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + if (symbol && !(symbol.flags & 1024 /* SymbolFlags.NamespaceModule */)) { var rawName = ts.unescapeLeadingUnderscores(name); if (isES2015OrLaterConstructorName(name)) { error(errorLocation, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later, rawName); @@ -50007,7 +50220,7 @@ var ts; }); if (container && container.members.length === 1) { var type = getDeclaredTypeOfSymbol(symbol); - return !!(type.flags & 1048576 /* Union */) && allTypesAssignableToKind(type, 384 /* StringOrNumberLiteral */, /*strict*/ true); + return !!(type.flags & 1048576 /* TypeFlags.Union */) && allTypesAssignableToKind(type, 384 /* TypeFlags.StringOrNumberLiteral */, /*strict*/ true); } return false; } @@ -50024,15 +50237,15 @@ var ts; return false; } function checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) { - if (meaning & (111551 /* Value */ & ~1024 /* NamespaceModule */ & ~788968 /* Type */)) { - var symbol = resolveSymbol(resolveName(errorLocation, name, 1024 /* NamespaceModule */ & ~111551 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + if (meaning & (111551 /* SymbolFlags.Value */ & ~1024 /* SymbolFlags.NamespaceModule */ & ~788968 /* SymbolFlags.Type */)) { + var symbol = resolveSymbol(resolveName(errorLocation, name, 1024 /* SymbolFlags.NamespaceModule */ & ~111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error(errorLocation, ts.Diagnostics.Cannot_use_namespace_0_as_a_value, ts.unescapeLeadingUnderscores(name)); return true; } } - else if (meaning & (788968 /* Type */ & ~1024 /* NamespaceModule */ & ~111551 /* Value */)) { - var symbol = resolveSymbol(resolveName(errorLocation, name, (512 /* ValueModule */ | 1024 /* NamespaceModule */) & ~788968 /* Type */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + else if (meaning & (788968 /* SymbolFlags.Type */ & ~1024 /* SymbolFlags.NamespaceModule */ & ~111551 /* SymbolFlags.Value */)) { + var symbol = resolveSymbol(resolveName(errorLocation, name, (512 /* SymbolFlags.ValueModule */ | 1024 /* SymbolFlags.NamespaceModule */) & ~788968 /* SymbolFlags.Type */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error(errorLocation, ts.Diagnostics.Cannot_use_namespace_0_as_a_type, ts.unescapeLeadingUnderscores(name)); return true; @@ -50042,29 +50255,29 @@ var ts; } function checkResolvedBlockScopedVariable(result, errorLocation) { var _a; - ts.Debug.assert(!!(result.flags & 2 /* BlockScopedVariable */ || result.flags & 32 /* Class */ || result.flags & 384 /* Enum */)); - if (result.flags & (16 /* Function */ | 1 /* FunctionScopedVariable */ | 67108864 /* Assignment */) && result.flags & 32 /* Class */) { + ts.Debug.assert(!!(result.flags & 2 /* SymbolFlags.BlockScopedVariable */ || result.flags & 32 /* SymbolFlags.Class */ || result.flags & 384 /* SymbolFlags.Enum */)); + if (result.flags & (16 /* SymbolFlags.Function */ | 1 /* SymbolFlags.FunctionScopedVariable */ | 67108864 /* SymbolFlags.Assignment */) && result.flags & 32 /* SymbolFlags.Class */) { // constructor functions aren't block scoped return; } // Block-scoped variables cannot be used before their definition - var declaration = (_a = result.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 260 /* EnumDeclaration */); }); + var declaration = (_a = result.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 260 /* SyntaxKind.EnumDeclaration */); }); if (declaration === undefined) return ts.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration"); - if (!(declaration.flags & 16777216 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { + if (!(declaration.flags & 16777216 /* NodeFlags.Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { var diagnosticMessage = void 0; var declarationName = ts.declarationNameToString(ts.getNameOfDeclaration(declaration)); - if (result.flags & 2 /* BlockScopedVariable */) { + if (result.flags & 2 /* SymbolFlags.BlockScopedVariable */) { diagnosticMessage = error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, declarationName); } - else if (result.flags & 32 /* Class */) { + else if (result.flags & 32 /* SymbolFlags.Class */) { diagnosticMessage = error(errorLocation, ts.Diagnostics.Class_0_used_before_its_declaration, declarationName); } - else if (result.flags & 256 /* RegularEnum */) { + else if (result.flags & 256 /* SymbolFlags.RegularEnum */) { diagnosticMessage = error(errorLocation, ts.Diagnostics.Enum_0_used_before_its_declaration, declarationName); } else { - ts.Debug.assert(!!(result.flags & 128 /* ConstEnum */)); + ts.Debug.assert(!!(result.flags & 128 /* SymbolFlags.ConstEnum */)); if (ts.shouldPreserveConstEnums(compilerOptions)) { diagnosticMessage = error(errorLocation, ts.Diagnostics.Enum_0_used_before_its_declaration, declarationName); } @@ -50085,13 +50298,13 @@ var ts; } function getAnyImportSyntax(node) { switch (node.kind) { - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return node; - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: return node.parent; - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: return node.parent.parent; - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent; default: return undefined; @@ -50116,22 +50329,22 @@ var ts; * const { x } = require ... */ function isAliasSymbolDeclaration(node) { - return node.kind === 265 /* ImportEqualsDeclaration */ - || node.kind === 264 /* NamespaceExportDeclaration */ - || node.kind === 267 /* ImportClause */ && !!node.name - || node.kind === 268 /* NamespaceImport */ - || node.kind === 274 /* NamespaceExport */ - || node.kind === 270 /* ImportSpecifier */ - || node.kind === 275 /* ExportSpecifier */ - || node.kind === 271 /* ExportAssignment */ && ts.exportAssignmentIsAlias(node) - || ts.isBinaryExpression(node) && ts.getAssignmentDeclarationKind(node) === 2 /* ModuleExports */ && ts.exportAssignmentIsAlias(node) + return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ + || node.kind === 267 /* SyntaxKind.ImportClause */ && !!node.name + || node.kind === 268 /* SyntaxKind.NamespaceImport */ + || node.kind === 274 /* SyntaxKind.NamespaceExport */ + || node.kind === 270 /* SyntaxKind.ImportSpecifier */ + || node.kind === 275 /* SyntaxKind.ExportSpecifier */ + || node.kind === 271 /* SyntaxKind.ExportAssignment */ && ts.exportAssignmentIsAlias(node) + || ts.isBinaryExpression(node) && ts.getAssignmentDeclarationKind(node) === 2 /* AssignmentDeclarationKind.ModuleExports */ && ts.exportAssignmentIsAlias(node) || ts.isAccessExpression(node) && ts.isBinaryExpression(node.parent) && node.parent.left === node - && node.parent.operatorToken.kind === 63 /* EqualsToken */ + && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && isAliasableOrJsExpression(node.parent.right) - || node.kind === 297 /* ShorthandPropertyAssignment */ - || node.kind === 296 /* PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) + || node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ + || node.kind === 296 /* SyntaxKind.PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) || ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node); } function isAliasableOrJsExpression(e) { @@ -50145,7 +50358,7 @@ var ts; ? resolveSymbol(getPropertyOfType(resolveExternalModuleTypeByLiteral(name), commonJSPropertyAccess.name.escapedText)) : undefined; } - if (ts.isVariableDeclaration(node) || node.moduleReference.kind === 277 /* ExternalModuleReference */) { + if (ts.isVariableDeclaration(node) || node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { var immediate = resolveExternalModuleName(node, ts.getExternalModuleRequireArgument(node) || ts.getExternalModuleImportEqualsDeclarationExpression(node)); var resolved_4 = resolveExternalModuleSymbol(immediate); markSymbolOfAliasDeclarationIfTypeOnly(node, immediate, resolved_4, /*overwriteEmpty*/ false); @@ -50158,7 +50371,7 @@ var ts; function checkAndReportErrorForResolvingImportAliasToTypeOnlySymbol(node, resolved) { if (markSymbolOfAliasDeclarationIfTypeOnly(node, /*immediateTarget*/ undefined, resolved, /*overwriteEmpty*/ false) && !node.isTypeOnly) { var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(getSymbolOfNode(node)); - var isExport = typeOnlyDeclaration.kind === 275 /* ExportSpecifier */; + var isExport = typeOnlyDeclaration.kind === 275 /* SyntaxKind.ExportSpecifier */; var message = isExport ? ts.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type : ts.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type; @@ -50170,14 +50383,14 @@ var ts; } } function resolveExportByName(moduleSymbol, name, sourceNode, dontResolveAlias) { - var exportValue = moduleSymbol.exports.get("export=" /* ExportEquals */); + var exportValue = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); var exportSymbol = exportValue ? getPropertyOfType(getTypeOfSymbol(exportValue), name) : moduleSymbol.exports.get(name); var resolved = resolveSymbol(exportSymbol, dontResolveAlias); markSymbolOfAliasDeclarationIfTypeOnly(sourceNode, exportSymbol, resolved, /*overwriteEmpty*/ false); return resolved; } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasSyntacticModifier(node, 512 /* Default */) || ts.isExportSpecifier(node)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) || ts.isExportSpecifier(node)); } function getUsageModeForExpression(usage) { return ts.isStringLiteralLike(usage) ? ts.getModeForUsageLocation(ts.getSourceFileOfNode(usage), usage) : undefined; @@ -50187,7 +50400,7 @@ var ts; } function isOnlyImportedAsDefault(usage) { var usageMode = getUsageModeForExpression(usage); - return usageMode === ts.ModuleKind.ESNext && ts.endsWith(usage.text, ".json" /* Json */); + return usageMode === ts.ModuleKind.ESNext && ts.endsWith(usage.text, ".json" /* Extension.Json */); } function canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, usage) { var usageMode = file && getUsageModeForExpression(usage); @@ -50204,7 +50417,7 @@ var ts; // Declaration files (and ambient modules) if (!file || file.isDeclarationFile) { // Definitely cannot have a synthetic default if they have a syntactic default member specified - var defaultExportSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, /*sourceNode*/ undefined, /*dontResolveAlias*/ true); // Dont resolve alias because we want the immediately exported symbol's declaration + var defaultExportSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, /*sourceNode*/ undefined, /*dontResolveAlias*/ true); // Dont resolve alias because we want the immediately exported symbol's declaration if (defaultExportSymbol && ts.some(defaultExportSymbol.declarations, isSyntacticDefault)) { return false; } @@ -50236,7 +50449,7 @@ var ts; exportDefaultSymbol = moduleSymbol; } else { - exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* Default */, node, dontResolveAlias); + exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias); } var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier); @@ -50244,7 +50457,7 @@ var ts; if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) { if (hasExportAssignmentSymbol(moduleSymbol)) { var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop"; - var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* ExportEquals */); + var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); var exportAssignment = exportEqualsSymbol.valueDeclaration; var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName); if (exportAssignment) { @@ -50272,12 +50485,12 @@ var ts; } else { var diagnostic = error(node.name, ts.Diagnostics.Module_0_has_no_default_export, symbolToString(moduleSymbol)); - var exportStar = (_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.get("__export" /* ExportStar */); + var exportStar = (_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.get("__export" /* InternalSymbolName.ExportStar */); if (exportStar) { var defaultExport = (_c = exportStar.declarations) === null || _c === void 0 ? void 0 : _c.find(function (decl) { var _a, _b; return !!(ts.isExportDeclaration(decl) && decl.moduleSpecifier && - ((_b = (_a = resolveExternalModuleName(decl, decl.moduleSpecifier)) === null || _a === void 0 ? void 0 : _a.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* Default */))); + ((_b = (_a = resolveExternalModuleName(decl, decl.moduleSpecifier)) === null || _a === void 0 ? void 0 : _a.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* InternalSymbolName.Default */))); }); if (defaultExport) { ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(defaultExport, ts.Diagnostics.export_Asterisk_does_not_re_export_a_default)); @@ -50321,7 +50534,7 @@ var ts; if (valueSymbol === unknownSymbol && typeSymbol === unknownSymbol) { return unknownSymbol; } - if (valueSymbol.flags & (788968 /* Type */ | 1920 /* Namespace */)) { + if (valueSymbol.flags & (788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */)) { return valueSymbol; } var result = createSymbol(valueSymbol.flags | typeSymbol.flags, valueSymbol.escapedName); @@ -50336,7 +50549,7 @@ var ts; return result; } function getExportOfModule(symbol, name, specifier, dontResolveAlias) { - if (symbol.flags & 1536 /* Module */) { + if (symbol.flags & 1536 /* SymbolFlags.Module */) { var exportSymbol = getExportsOfSymbol(symbol).get(name.escapedText); var resolved = resolveSymbol(exportSymbol, dontResolveAlias); markSymbolOfAliasDeclarationIfTypeOnly(specifier, exportSymbol, resolved, /*overwriteEmpty*/ false); @@ -50344,7 +50557,7 @@ var ts; } } function getPropertyOfVariable(symbol, name) { - if (symbol.flags & 3 /* Variable */) { + if (symbol.flags & 3 /* SymbolFlags.Variable */) { var typeAnnotation = symbol.valueDeclaration.type; if (typeAnnotation) { return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(typeAnnotation), name)); @@ -50360,7 +50573,7 @@ var ts; if (!ts.isIdentifier(name)) { return undefined; } - var suppressInteropError = name.escapedText === "default" /* Default */ && !!(compilerOptions.allowSyntheticDefaultImports || ts.getESModuleInterop(compilerOptions)); + var suppressInteropError = name.escapedText === "default" /* InternalSymbolName.Default */ && !!(compilerOptions.allowSyntheticDefaultImports || ts.getESModuleInterop(compilerOptions)); var targetSymbol = resolveESModuleSymbol(moduleSymbol, moduleSpecifier, /*dontResolveAlias*/ false, suppressInteropError); if (targetSymbol) { if (name.escapedText) { @@ -50369,7 +50582,7 @@ var ts; } var symbolFromVariable = void 0; // First check if module was specified with "export=". If so, get the member from the resolved type - if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports.get("export=" /* ExportEquals */)) { + if (moduleSymbol && moduleSymbol.exports && moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */)) { symbolFromVariable = getPropertyOfType(getTypeOfSymbol(targetSymbol), name.escapedText, /*skipObjectFunctionPropertyAugment*/ true); } else { @@ -50378,7 +50591,7 @@ var ts; // if symbolFromVariable is export - get its final target symbolFromVariable = resolveSymbol(symbolFromVariable, dontResolveAlias); var symbolFromModule = getExportOfModule(targetSymbol, name, specifier, dontResolveAlias); - if (symbolFromModule === undefined && name.escapedText === "default" /* Default */) { + if (symbolFromModule === undefined && name.escapedText === "default" /* InternalSymbolName.Default */) { var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); if (isOnlyImportedAsDefault(moduleSpecifier) || canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, moduleSpecifier)) { symbolFromModule = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias); @@ -50399,7 +50612,7 @@ var ts; } } else { - if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* Default */)) { + if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* InternalSymbolName.Default */)) { error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName); } else { @@ -50416,7 +50629,7 @@ var ts; var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText); var exports = moduleSymbol.exports; if (localSymbol) { - var exportedEqualsSymbol = exports === null || exports === void 0 ? void 0 : exports.get("export=" /* ExportEquals */); + var exportedEqualsSymbol = exports === null || exports === void 0 ? void 0 : exports.get("export=" /* InternalSymbolName.ExportEquals */); if (exportedEqualsSymbol) { getSymbolIfSameReference(exportedEqualsSymbol, localSymbol) ? reportInvalidImportEqualsExportMember(node, name, declarationName, moduleName) : error(name, ts.Diagnostics.Module_0_has_no_exported_member_1, moduleName, declarationName); @@ -50496,7 +50709,7 @@ var ts; if (!ts.isEntityName(expression) && !ts.isEntityNameExpression(expression)) { return undefined; } - var aliasLike = resolveEntityName(expression, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ true, dontResolveAlias); + var aliasLike = resolveEntityName(expression, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ true, dontResolveAlias); if (aliasLike) { return aliasLike; } @@ -50508,7 +50721,7 @@ var ts; return getTargetOfAliasLikeExpression(expression, dontRecursivelyResolve); } function getTargetOfAccessExpression(node, dontRecursivelyResolve) { - if (!(ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* EqualsToken */)) { + if (!(ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */)) { return undefined; } return getTargetOfAliasLikeExpression(node.parent.right, dontRecursivelyResolve); @@ -50516,31 +50729,31 @@ var ts; function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 265 /* ImportEqualsDeclaration */: - case 254 /* VariableDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: return getTargetOfImportClause(node, dontRecursivelyResolve); - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 274 /* NamespaceExport */: + case 274 /* SyntaxKind.NamespaceExport */: return getTargetOfNamespaceExport(node, dontRecursivelyResolve); - case 270 /* ImportSpecifier */: - case 203 /* BindingElement */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 203 /* SyntaxKind.BindingElement */: return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 275 /* ExportSpecifier */: - return getTargetOfExportSpecifier(node, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, dontRecursivelyResolve); - case 271 /* ExportAssignment */: - case 221 /* BinaryExpression */: + case 275 /* SyntaxKind.ExportSpecifier */: + return getTargetOfExportSpecifier(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, dontRecursivelyResolve); + case 271 /* SyntaxKind.ExportAssignment */: + case 221 /* SyntaxKind.BinaryExpression */: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 264 /* NamespaceExportDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); - case 297 /* ShorthandPropertyAssignment */: - return resolveEntityName(node.name, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ true, dontRecursivelyResolve); - case 296 /* PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + return resolveEntityName(node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ true, dontRecursivelyResolve); + case 296 /* SyntaxKind.PropertyAssignment */: return getTargetOfPropertyAssignment(node, dontRecursivelyResolve); - case 207 /* ElementAccessExpression */: - case 206 /* PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return getTargetOfAccessExpression(node, dontRecursivelyResolve); default: return ts.Debug.fail(); @@ -50551,38 +50764,38 @@ var ts; * OR Is a JSContainer which may merge an alias with a local declaration */ function isNonLocalAlias(symbol, excludes) { - if (excludes === void 0) { excludes = 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */; } + if (excludes === void 0) { excludes = 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */; } if (!symbol) return false; - return (symbol.flags & (2097152 /* Alias */ | excludes)) === 2097152 /* Alias */ || !!(symbol.flags & 2097152 /* Alias */ && symbol.flags & 67108864 /* Assignment */); + return (symbol.flags & (2097152 /* SymbolFlags.Alias */ | excludes)) === 2097152 /* SymbolFlags.Alias */ || !!(symbol.flags & 2097152 /* SymbolFlags.Alias */ && symbol.flags & 67108864 /* SymbolFlags.Assignment */); } function resolveSymbol(symbol, dontResolveAlias) { return !dontResolveAlias && isNonLocalAlias(symbol) ? resolveAlias(symbol) : symbol; } function resolveAlias(symbol) { - ts.Debug.assert((symbol.flags & 2097152 /* Alias */) !== 0, "Should only get Alias here."); + ts.Debug.assert((symbol.flags & 2097152 /* SymbolFlags.Alias */) !== 0, "Should only get Alias here."); var links = getSymbolLinks(symbol); - if (!links.target) { - links.target = resolvingSymbol; + if (!links.aliasTarget) { + links.aliasTarget = resolvingSymbol; var node = getDeclarationOfAliasSymbol(symbol); if (!node) return ts.Debug.fail(); var target = getTargetOfAliasDeclaration(node); - if (links.target === resolvingSymbol) { - links.target = target || unknownSymbol; + if (links.aliasTarget === resolvingSymbol) { + links.aliasTarget = target || unknownSymbol; } else { error(node, ts.Diagnostics.Circular_definition_of_import_alias_0, symbolToString(symbol)); } } - else if (links.target === resolvingSymbol) { - links.target = unknownSymbol; + else if (links.aliasTarget === resolvingSymbol) { + links.aliasTarget = unknownSymbol; } - return links.target; + return links.aliasTarget; } function tryResolveAlias(symbol) { var links = getSymbolLinks(symbol); - if (links.target !== resolvingSymbol) { + if (links.aliasTarget !== resolvingSymbol) { return resolveAlias(symbol); } return undefined; @@ -50625,7 +50838,7 @@ var ts; function markSymbolOfAliasDeclarationIfTypeOnlyWorker(aliasDeclarationLinks, target, overwriteEmpty) { var _a, _b, _c; if (target && (aliasDeclarationLinks.typeOnlyDeclaration === undefined || overwriteEmpty && aliasDeclarationLinks.typeOnlyDeclaration === false)) { - var exportSymbol = (_b = (_a = target.exports) === null || _a === void 0 ? void 0 : _a.get("export=" /* ExportEquals */)) !== null && _b !== void 0 ? _b : target; + var exportSymbol = (_b = (_a = target.exports) === null || _a === void 0 ? void 0 : _a.get("export=" /* InternalSymbolName.ExportEquals */)) !== null && _b !== void 0 ? _b : target; var typeOnly = exportSymbol.declarations && ts.find(exportSymbol.declarations, ts.isTypeOnlyImportOrExportDeclaration); aliasDeclarationLinks.typeOnlyDeclaration = (_c = typeOnly !== null && typeOnly !== void 0 ? typeOnly : getSymbolLinks(exportSymbol).typeOnlyDeclaration) !== null && _c !== void 0 ? _c : false; } @@ -50633,7 +50846,7 @@ var ts; } /** Indicates that a symbol directly or indirectly resolves to a type-only import or export. */ function getTypeOnlyAliasDeclaration(symbol) { - if (!(symbol.flags & 2097152 /* Alias */)) { + if (!(symbol.flags & 2097152 /* SymbolFlags.Alias */)) { return undefined; } var links = getSymbolLinks(symbol); @@ -50644,7 +50857,7 @@ var ts; var target = resolveAlias(symbol); if (target) { var markAlias = target === unknownSymbol || - ((target.flags & 111551 /* Value */) && !isConstEnumOrConstEnumOnlyModule(target) && !getTypeOnlyAliasDeclaration(symbol)); + ((target.flags & 111551 /* SymbolFlags.Value */) && !isConstEnumOrConstEnumOnlyModule(target) && !getTypeOnlyAliasDeclaration(symbol)); if (markAlias) { markAliasSymbolAsReferenced(symbol); } @@ -50665,7 +50878,7 @@ var ts; // position. if (ts.isInternalModuleImportEqualsDeclaration(node)) { var target = resolveSymbol(symbol); - if (target === unknownSymbol || target.flags & 111551 /* Value */) { + if (target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { // import foo = checkExpressionCached(node.moduleReference); } @@ -50688,22 +50901,22 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - if (entityName.kind === 79 /* Identifier */ && ts.isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { + if (entityName.kind === 79 /* SyntaxKind.Identifier */ && ts.isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } // Check for case 1 and 3 in the above example - if (entityName.kind === 79 /* Identifier */ || entityName.parent.kind === 161 /* QualifiedName */) { - return resolveEntityName(entityName, 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); + if (entityName.kind === 79 /* SyntaxKind.Identifier */ || entityName.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + return resolveEntityName(entityName, 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } else { // Case 2 in above example // entityName.kind could be a QualifiedName or a Missing identifier - ts.Debug.assert(entityName.parent.kind === 265 /* ImportEqualsDeclaration */); - return resolveEntityName(entityName, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, /*ignoreErrors*/ false, dontResolveAlias); + ts.Debug.assert(entityName.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */); + return resolveEntityName(entityName, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } } function getFullyQualifiedName(symbol, containingLocation) { - return symbol.parent ? getFullyQualifiedName(symbol.parent, containingLocation) + "." + symbolToString(symbol) : symbolToString(symbol, containingLocation, /*meaning*/ undefined, 16 /* DoNotIncludeSymbolChain */ | 4 /* AllowAnyNodeKind */); + return symbol.parent ? getFullyQualifiedName(symbol.parent, containingLocation) + "." + symbolToString(symbol) : symbolToString(symbol, containingLocation, /*meaning*/ undefined, 16 /* SymbolFormatFlags.DoNotIncludeSymbolChain */ | 4 /* SymbolFormatFlags.AllowAnyNodeKind */); } function getContainingQualifiedNameNode(node) { while (ts.isQualifiedName(node.parent)) { @@ -50713,7 +50926,7 @@ var ts; } function tryGetQualifiedNameAsValue(node) { var left = ts.getFirstIdentifier(node); - var symbol = resolveName(left, left.escapedText, 111551 /* Value */, undefined, left, /*isUse*/ true); + var symbol = resolveName(left, left.escapedText, 111551 /* SymbolFlags.Value */, undefined, left, /*isUse*/ true); if (!symbol) { return undefined; } @@ -50734,9 +50947,9 @@ var ts; if (ts.nodeIsMissing(name)) { return undefined; } - var namespaceMeaning = 1920 /* Namespace */ | (ts.isInJSFile(name) ? meaning & 111551 /* Value */ : 0); + var namespaceMeaning = 1920 /* SymbolFlags.Namespace */ | (ts.isInJSFile(name) ? meaning & 111551 /* SymbolFlags.Value */ : 0); var symbol; - if (name.kind === 79 /* Identifier */) { + if (name.kind === 79 /* SyntaxKind.Identifier */) { var message = meaning === namespaceMeaning || ts.nodeIsSynthesized(name) ? ts.Diagnostics.Cannot_find_namespace_0 : getCannotFindNameDiagnosticForName(ts.getFirstIdentifier(name)); var symbolFromJSPrototype = ts.isInJSFile(name) && !ts.nodeIsSynthesized(name) ? resolveEntityNameFromAssignmentDeclaration(name, meaning) : undefined; symbol = getMergedSymbol(resolveName(location || name, name.escapedText, meaning, ignoreErrors || symbolFromJSPrototype ? undefined : message, name, /*isUse*/ true, false)); @@ -50744,9 +50957,9 @@ var ts; return getMergedSymbol(symbolFromJSPrototype); } } - else if (name.kind === 161 /* QualifiedName */ || name.kind === 206 /* PropertyAccessExpression */) { - var left = name.kind === 161 /* QualifiedName */ ? name.left : name.expression; - var right = name.kind === 161 /* QualifiedName */ ? name.right : name.name; + else if (name.kind === 161 /* SyntaxKind.QualifiedName */ || name.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + var left = name.kind === 161 /* SyntaxKind.QualifiedName */ ? name.left : name.expression; + var right = name.kind === 161 /* SyntaxKind.QualifiedName */ ? name.right : name.name; var namespace = resolveEntityName(left, namespaceMeaning, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace || ts.nodeIsMissing(right)) { return undefined; @@ -50780,7 +50993,7 @@ var ts; } var containingQualifiedName = ts.isQualifiedName(name) && getContainingQualifiedNameNode(name); var canSuggestTypeof = globalObjectType // <-- can't pull on types if global types aren't initialized yet - && (meaning & 788968 /* Type */) + && (meaning & 788968 /* SymbolFlags.Type */) && containingQualifiedName && !ts.isTypeOfExpression(containingQualifiedName.parent) && tryGetQualifiedNameAsValue(containingQualifiedName); @@ -50788,8 +51001,8 @@ var ts; error(containingQualifiedName, ts.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0, ts.entityNameToString(containingQualifiedName)); return undefined; } - if (meaning & 1920 /* Namespace */ && ts.isQualifiedName(name.parent)) { - var exportedTypeSymbol = getMergedSymbol(getSymbol(getExportsOfSymbol(namespace), right.escapedText, 788968 /* Type */)); + if (meaning & 1920 /* SymbolFlags.Namespace */ && ts.isQualifiedName(name.parent)) { + var exportedTypeSymbol = getMergedSymbol(getSymbol(getExportsOfSymbol(namespace), right.escapedText, 788968 /* SymbolFlags.Type */)); if (exportedTypeSymbol) { error(name.parent.right, ts.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1, symbolToString(exportedTypeSymbol), ts.unescapeLeadingUnderscores(name.parent.right.escapedText)); return undefined; @@ -50803,8 +51016,8 @@ var ts; else { throw ts.Debug.assertNever(name, "Unknown entity name kind."); } - ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); - if (!ts.nodeIsSynthesized(name) && ts.isEntityName(name) && (symbol.flags & 2097152 /* Alias */ || name.parent.kind === 271 /* ExportAssignment */)) { + ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* CheckFlags.Instantiated */) === 0, "Should never get an instantiated symbol here."); + if (!ts.nodeIsSynthesized(name) && ts.isEntityName(name) && (symbol.flags & 2097152 /* SymbolFlags.Alias */ || name.parent.kind === 271 /* SyntaxKind.ExportAssignment */)) { markSymbolOfAliasDeclarationIfTypeOnly(ts.getAliasDeclarationFromName(name), symbol, /*finalTarget*/ undefined, /*overwriteEmpty*/ true); } return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -50824,7 +51037,7 @@ var ts; } } function getAssignmentDeclarationLocation(node) { - var typeAlias = ts.findAncestor(node, function (node) { return !(ts.isJSDocNode(node) || node.flags & 8388608 /* JSDoc */) ? "quit" : ts.isJSDocTypeAlias(node); }); + var typeAlias = ts.findAncestor(node, function (node) { return !(ts.isJSDocNode(node) || node.flags & 8388608 /* NodeFlags.JSDoc */) ? "quit" : ts.isJSDocTypeAlias(node); }); if (typeAlias) { return; } @@ -50845,7 +51058,7 @@ var ts; } if (host && (ts.isObjectLiteralMethod(host) || ts.isPropertyAssignment(host)) && ts.isBinaryExpression(host.parent.parent) && - ts.getAssignmentDeclarationKind(host.parent.parent) === 6 /* Prototype */) { + ts.getAssignmentDeclarationKind(host.parent.parent) === 6 /* AssignmentDeclarationKind.Prototype */) { // X.prototype = { /** @param {K} p */m() { } } <-- look for K on X's declaration var symbol = getSymbolOfNode(host.parent.parent.left); if (symbol) { @@ -50876,7 +51089,7 @@ var ts; */ function getExpandoSymbol(symbol) { var decl = symbol.valueDeclaration; - if (!decl || !ts.isInJSFile(decl) || symbol.flags & 524288 /* TypeAlias */ || ts.getExpandoInitializer(decl, /*isPrototypeAssignment*/ false)) { + if (!decl || !ts.isInJSFile(decl) || symbol.flags & 524288 /* SymbolFlags.TypeAlias */ || ts.getExpandoInitializer(decl, /*isPrototypeAssignment*/ false)) { return undefined; } var init = ts.isVariableDeclaration(decl) ? ts.getDeclaredExpandoInitializer(decl) : ts.getAssignedExpandoInitializer(decl); @@ -50936,7 +51149,7 @@ var ts; if (resolvedModule.isExternalLibraryImport && !ts.resolutionExtensionIsTSOrJson(resolvedModule.extension)) { errorOnImplicitAnyModule(/*isError*/ false, errorNode, resolvedModule, moduleReference); } - if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { + if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { var isSyncImport = (currentSourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS && !ts.findAncestor(location, ts.isImportCall)) || !!ts.findAncestor(location, ts.isImportEqualsDeclaration); var overrideClauseHost = ts.findAncestor(location, function (l) { return ts.isImportTypeNode(l) || ts.isExportDeclaration(l) || ts.isImportDeclaration(l); }); var overrideClause = overrideClauseHost && ts.isImportTypeNode(overrideClauseHost) ? (_g = overrideClauseHost.assertions) === null || _g === void 0 ? void 0 : _g.assertClause : overrideClauseHost === null || overrideClauseHost === void 0 ? void 0 : overrideClauseHost.assertClause; @@ -50945,9 +51158,6 @@ var ts; if (isSyncImport && sourceFile.impliedNodeFormat === ts.ModuleKind.ESNext && !ts.getResolutionModeOverrideForClause(overrideClause)) { error(errorNode, ts.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead, moduleReference); } - if (mode === ts.ModuleKind.ESNext && compilerOptions.resolveJsonModule && resolvedModule.extension === ".json" /* Json */) { - error(errorNode, ts.Diagnostics.JSON_imports_are_experimental_in_ES_module_mode_imports); - } } // merged symbol is module declaration symbol combined with all augmentations return getMergedSymbol(sourceFile.symbol); @@ -51000,7 +51210,7 @@ var ts; var tsExtension = ts.tryExtractTSExtension(moduleReference); var isExtensionlessRelativePathImport = ts.pathIsRelative(moduleReference) && !ts.hasExtension(moduleReference); var moduleResolutionKind = ts.getEmitModuleResolutionKind(compilerOptions); - var resolutionIsNode12OrNext = moduleResolutionKind === ts.ModuleResolutionKind.Node12 || + var resolutionIsNode16OrNext = moduleResolutionKind === ts.ModuleResolutionKind.Node16 || moduleResolutionKind === ts.ModuleResolutionKind.NodeNext; if (tsExtension) { var diag = ts.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead; @@ -51011,27 +51221,27 @@ var ts; * @see https://github.com/microsoft/TypeScript/issues/42151 */ if (moduleKind >= ts.ModuleKind.ES2015) { - replacedImportSource += tsExtension === ".mts" /* Mts */ ? ".mjs" : tsExtension === ".cts" /* Cts */ ? ".cjs" : ".js"; + replacedImportSource += tsExtension === ".mts" /* Extension.Mts */ ? ".mjs" : tsExtension === ".cts" /* Extension.Cts */ ? ".cjs" : ".js"; } error(errorNode, diag, tsExtension, replacedImportSource); } else if (!compilerOptions.resolveJsonModule && - ts.fileExtensionIs(moduleReference, ".json" /* Json */) && + ts.fileExtensionIs(moduleReference, ".json" /* Extension.Json */) && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Classic && ts.hasJsonModuleEmitEnabled(compilerOptions)) { error(errorNode, ts.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference); } - else if (mode === ts.ModuleKind.ESNext && resolutionIsNode12OrNext && isExtensionlessRelativePathImport) { + else if (mode === ts.ModuleKind.ESNext && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) { var absoluteRef_1 = ts.getNormalizedAbsolutePath(moduleReference, ts.getDirectoryPath(currentSourceFile.path)); var suggestedExt = (_h = suggestedExtensions.find(function (_a) { var actualExt = _a[0], _importExt = _a[1]; return host.fileExists(absoluteRef_1 + actualExt); })) === null || _h === void 0 ? void 0 : _h[1]; if (suggestedExt) { - error(errorNode, ts.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Did_you_mean_0, moduleReference + suggestedExt); + error(errorNode, ts.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0, moduleReference + suggestedExt); } else { - error(errorNode, ts.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node12_or_nodenext_Consider_adding_an_extension_to_the_import_path); + error(errorNode, ts.Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path); } } else { @@ -51063,27 +51273,27 @@ var ts; } function resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) { if (moduleSymbol === null || moduleSymbol === void 0 ? void 0 : moduleSymbol.exports) { - var exportEquals = resolveSymbol(moduleSymbol.exports.get("export=" /* ExportEquals */), dontResolveAlias); + var exportEquals = resolveSymbol(moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */), dontResolveAlias); var exported = getCommonJsExportEquals(getMergedSymbol(exportEquals), getMergedSymbol(moduleSymbol)); return getMergedSymbol(exported) || moduleSymbol; } return undefined; } function getCommonJsExportEquals(exported, moduleSymbol) { - if (!exported || exported === unknownSymbol || exported === moduleSymbol || moduleSymbol.exports.size === 1 || exported.flags & 2097152 /* Alias */) { + if (!exported || exported === unknownSymbol || exported === moduleSymbol || moduleSymbol.exports.size === 1 || exported.flags & 2097152 /* SymbolFlags.Alias */) { return exported; } var links = getSymbolLinks(exported); if (links.cjsExportMerged) { return links.cjsExportMerged; } - var merged = exported.flags & 33554432 /* Transient */ ? exported : cloneSymbol(exported); - merged.flags = merged.flags | 512 /* ValueModule */; + var merged = exported.flags & 33554432 /* SymbolFlags.Transient */ ? exported : cloneSymbol(exported); + merged.flags = merged.flags | 512 /* SymbolFlags.ValueModule */; if (merged.exports === undefined) { merged.exports = ts.createSymbolTable(); } moduleSymbol.exports.forEach(function (s, name) { - if (name === "export=" /* ExportEquals */) + if (name === "export=" /* InternalSymbolName.ExportEquals */) return; merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s); }); @@ -51097,7 +51307,7 @@ var ts; var _a; var symbol = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias); if (!dontResolveAlias && symbol) { - if (!suppressInteropError && !(symbol.flags & (1536 /* Module */ | 3 /* Variable */)) && !ts.getDeclarationOfKind(symbol, 305 /* SourceFile */)) { + if (!suppressInteropError && !(symbol.flags & (1536 /* SymbolFlags.Module */ | 3 /* SymbolFlags.Variable */)) && !ts.getDeclarationOfKind(symbol, 305 /* SyntaxKind.SourceFile */)) { var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop"; @@ -51116,12 +51326,12 @@ var ts; var targetFile = (_a = moduleSymbol === null || moduleSymbol === void 0 ? void 0 : moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); var isEsmCjsRef = targetFile && isESMFormatImportImportingCommonjsFormatFile(getUsageModeForExpression(reference), targetFile.impliedNodeFormat); if (ts.getESModuleInterop(compilerOptions) || isEsmCjsRef) { - var sigs = getSignaturesOfStructuredType(type, 0 /* Call */); + var sigs = getSignaturesOfStructuredType(type, 0 /* SignatureKind.Call */); if (!sigs || !sigs.length) { - sigs = getSignaturesOfStructuredType(type, 1 /* Construct */); + sigs = getSignaturesOfStructuredType(type, 1 /* SignatureKind.Construct */); } if ((sigs && sigs.length) || - getPropertyOfType(type, "default" /* Default */, /*skipObjectFunctionPropertyAugment*/ true) || + getPropertyOfType(type, "default" /* InternalSymbolName.Default */, /*skipObjectFunctionPropertyAugment*/ true) || isEsmCjsRef) { var moduleType = getTypeWithSyntheticDefaultImportType(type, symbol, moduleSymbol, reference); return cloneTypeAsModuleType(symbol, moduleType, referenceParent); @@ -51153,7 +51363,7 @@ var ts; return result; } function hasExportAssignmentSymbol(moduleSymbol) { - return moduleSymbol.exports.get("export=" /* ExportEquals */) !== undefined; + return moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */) !== undefined; } function getExportsOfModuleAsArray(moduleSymbol) { return symbolsToArray(getExportsOfModule(moduleSymbol)); @@ -51205,15 +51415,15 @@ var ts; return shouldTreatPropertiesOfExternalModuleAsExports(type) ? getPropertyOfType(type, memberName) : undefined; } function shouldTreatPropertiesOfExternalModuleAsExports(resolvedExternalModuleType) { - return !(resolvedExternalModuleType.flags & 131068 /* Primitive */ || - ts.getObjectFlags(resolvedExternalModuleType) & 1 /* Class */ || + return !(resolvedExternalModuleType.flags & 131068 /* TypeFlags.Primitive */ || + ts.getObjectFlags(resolvedExternalModuleType) & 1 /* ObjectFlags.Class */ || // `isArrayOrTupleLikeType` is too expensive to use in this auto-imports hot path isArrayType(resolvedExternalModuleType) || isTupleType(resolvedExternalModuleType)); } function getExportsOfSymbol(symbol) { - return symbol.flags & 6256 /* LateBindingContainer */ ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports" /* resolvedExports */) : - symbol.flags & 1536 /* Module */ ? getExportsOfModule(symbol) : + return symbol.flags & 6256 /* SymbolFlags.LateBindingContainer */ ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedExports" /* MembersOrExportsResolutionKind.resolvedExports */) : + symbol.flags & 1536 /* SymbolFlags.Module */ ? getExportsOfModule(symbol) : symbol.exports || emptySymbols; } function getExportsOfModule(moduleSymbol) { @@ -51228,7 +51438,7 @@ var ts; if (!source) return; source.forEach(function (sourceSymbol, id) { - if (id === "default" /* Default */) + if (id === "default" /* InternalSymbolName.Default */) return; var targetSymbol = target.get(id); if (!targetSymbol) { @@ -51263,7 +51473,7 @@ var ts; } var symbols = new ts.Map(symbol.exports); // All export * declarations are collected in an __export symbol by the binder - var exportStars = symbol.exports.get("__export" /* ExportStar */); + var exportStars = symbol.exports.get("__export" /* InternalSymbolName.ExportStar */); if (exportStars) { var nestedSymbols = ts.createSymbolTable(); var lookupTable_1 = new ts.Map(); @@ -51352,21 +51562,21 @@ var ts; function getContainersOfSymbol(symbol, enclosingDeclaration, meaning) { var container = getParentOfSymbol(symbol); // Type parameters end up in the `members` lists but are not externally visible - if (container && !(symbol.flags & 262144 /* TypeParameter */)) { + if (container && !(symbol.flags & 262144 /* SymbolFlags.TypeParameter */)) { var additionalContainers = ts.mapDefined(container.declarations, fileSymbolIfFileSymbolExportEqualsContainer); var reexportContainers = enclosingDeclaration && getAlternativeContainingModules(symbol, enclosingDeclaration); var objectLiteralContainer = getVariableDeclarationOfObjectLiteral(container, meaning); if (enclosingDeclaration && container.flags & getQualifiedLeftMeaning(meaning) && - getAccessibleSymbolChain(container, enclosingDeclaration, 1920 /* Namespace */, /*externalOnly*/ false)) { + getAccessibleSymbolChain(container, enclosingDeclaration, 1920 /* SymbolFlags.Namespace */, /*externalOnly*/ false)) { return ts.append(ts.concatenate(ts.concatenate([container], additionalContainers), reexportContainers), objectLiteralContainer); // This order expresses a preference for the real container if it is in scope } // we potentially have a symbol which is a member of the instance side of something - look for a variable in scope with the container's type // which may be acting like a namespace (eg, `Symbol` acts like a namespace when looking up `Symbol.toStringTag`) var firstVariableMatch = !(container.flags & getQualifiedLeftMeaning(meaning)) - && container.flags & 788968 /* Type */ - && getDeclaredTypeOfSymbol(container).flags & 524288 /* Object */ - && meaning === 111551 /* Value */ + && container.flags & 788968 /* SymbolFlags.Type */ + && getDeclaredTypeOfSymbol(container).flags & 524288 /* TypeFlags.Object */ + && meaning === 111551 /* SymbolFlags.Value */ ? forEachSymbolTableInScope(enclosingDeclaration, function (t) { return ts.forEachEntry(t, function (s) { if (s.flags & getQualifiedLeftMeaning(meaning) && getTypeOfSymbol(s) === getDeclaredTypeOfSymbol(container)) { @@ -51390,7 +51600,7 @@ var ts; return getSymbolOfNode(d.parent.parent); } } - if (ts.isClassExpression(d) && ts.isBinaryExpression(d.parent) && d.parent.operatorToken.kind === 63 /* EqualsToken */ && ts.isAccessExpression(d.parent.left) && ts.isEntityNameExpression(d.parent.left.expression)) { + if (ts.isClassExpression(d) && ts.isBinaryExpression(d.parent) && d.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && ts.isAccessExpression(d.parent.left) && ts.isEntityNameExpression(d.parent.left.expression)) { if (ts.isModuleExportsAccessExpression(d.parent.left) || ts.isExportsIdentifier(d.parent.left.expression)) { return getSymbolOfNode(ts.getSourceFileOfNode(d)); } @@ -51411,7 +51621,7 @@ var ts; // from the symbol of the declaration it is being assigned to. Since we can use the declaration to refer to the literal, however, // we'd like to make that connection here - potentially causing us to paint the declaration's visibility, and therefore the literal. var firstDecl = !!ts.length(symbol.declarations) && ts.first(symbol.declarations); - if (meaning & 111551 /* Value */ && firstDecl && firstDecl.parent && ts.isVariableDeclaration(firstDecl.parent)) { + if (meaning & 111551 /* SymbolFlags.Value */ && firstDecl && firstDecl.parent && ts.isVariableDeclaration(firstDecl.parent)) { if (ts.isObjectLiteralExpression(firstDecl) && firstDecl === firstDecl.parent.initializer || ts.isTypeLiteralNode(firstDecl) && firstDecl === firstDecl.parent.type) { return getSymbolOfNode(firstDecl.parent); } @@ -51419,7 +51629,7 @@ var ts; } function getFileSymbolIfFileSymbolExportEqualsContainer(d, container) { var fileSymbol = getExternalModuleContainer(d); - var exported = fileSymbol && fileSymbol.exports && fileSymbol.exports.get("export=" /* ExportEquals */); + var exported = fileSymbol && fileSymbol.exports && fileSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); return exported && getSymbolIfSameReference(exported, container) ? fileSymbol : undefined; } function getAliasForSymbolInContainer(container, symbol) { @@ -51429,7 +51639,7 @@ var ts; } // Check if container is a thing with an `export=` which points directly at `symbol`, and if so, return // the container itself as the alias for the symbol - var exportEquals = container.exports && container.exports.get("export=" /* ExportEquals */); + var exportEquals = container.exports && container.exports.get("export=" /* InternalSymbolName.ExportEquals */); if (exportEquals && getSymbolIfSameReference(exportEquals, symbol)) { return container; } @@ -51453,16 +51663,16 @@ var ts; } } function getExportSymbolOfValueSymbolIfExported(symbol) { - return getMergedSymbol(symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 ? symbol.exportSymbol : symbol); + return getMergedSymbol(symbol && (symbol.flags & 1048576 /* SymbolFlags.ExportValue */) !== 0 && symbol.exportSymbol || symbol); } function symbolIsValue(symbol) { - return !!(symbol.flags & 111551 /* Value */ || symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && !getTypeOnlyAliasDeclaration(symbol)); + return !!(symbol.flags & 111551 /* SymbolFlags.Value */ || symbol.flags & 2097152 /* SymbolFlags.Alias */ && resolveAlias(symbol).flags & 111551 /* SymbolFlags.Value */ && !getTypeOnlyAliasDeclaration(symbol)); } function findConstructorDeclaration(node) { var members = node.members; for (var _i = 0, members_3 = members; _i < members_3.length; _i++) { var member = members_3[_i]; - if (member.kind === 171 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 171 /* SyntaxKind.Constructor */ && ts.nodeIsPresent(member.body)) { return member; } } @@ -51485,7 +51695,7 @@ var ts; return type; } function createObjectType(objectFlags, symbol) { - var type = createType(524288 /* Object */); + var type = createType(524288 /* TypeFlags.Object */); type.objectFlags = objectFlags; type.symbol = symbol; type.members = undefined; @@ -51499,7 +51709,7 @@ var ts; return getUnionType(ts.arrayFrom(typeofEQFacts.keys(), getStringLiteralType)); } function createTypeParameter(symbol) { - var type = createType(262144 /* TypeParameter */); + var type = createType(262144 /* TypeFlags.TypeParameter */); if (symbol) type.symbol = symbol; return type; @@ -51509,11 +51719,11 @@ var ts; // with at least two underscores. The @ character indicates that the name is denoted by a well known ES // Symbol instance and the # character indicates that the name is a PrivateIdentifier. function isReservedMemberName(name) { - return name.charCodeAt(0) === 95 /* _ */ && - name.charCodeAt(1) === 95 /* _ */ && - name.charCodeAt(2) !== 95 /* _ */ && - name.charCodeAt(2) !== 64 /* at */ && - name.charCodeAt(2) !== 35 /* hash */; + return name.charCodeAt(0) === 95 /* CharacterCodes._ */ && + name.charCodeAt(1) === 95 /* CharacterCodes._ */ && + name.charCodeAt(2) !== 95 /* CharacterCodes._ */ && + name.charCodeAt(2) !== 64 /* CharacterCodes.at */ && + name.charCodeAt(2) !== 35 /* CharacterCodes.hash */; } function getNamedMembers(members) { var result; @@ -51545,14 +51755,14 @@ var ts; return resolved; } function createAnonymousType(symbol, members, callSignatures, constructSignatures, indexInfos) { - return setStructuredTypeMembers(createObjectType(16 /* Anonymous */, symbol), members, callSignatures, constructSignatures, indexInfos); + return setStructuredTypeMembers(createObjectType(16 /* ObjectFlags.Anonymous */, symbol), members, callSignatures, constructSignatures, indexInfos); } function getResolvedTypeWithoutAbstractConstructSignatures(type) { if (type.constructSignatures.length === 0) return type; if (type.objectTypeWithoutAbstractConstructSignatures) return type.objectTypeWithoutAbstractConstructSignatures; - var constructSignatures = ts.filter(type.constructSignatures, function (signature) { return !(signature.flags & 4 /* Abstract */); }); + var constructSignatures = ts.filter(type.constructSignatures, function (signature) { return !(signature.flags & 4 /* SignatureFlags.Abstract */); }); if (type.constructSignatures === constructSignatures) return type; var typeCopy = createAnonymousType(type.symbol, type.members, type.callSignatures, ts.some(constructSignatures) ? constructSignatures : ts.emptyArray, type.indexInfos); @@ -51570,12 +51780,12 @@ var ts; } } switch (location.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) { break; } // falls through - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: var sym = getSymbolOfNode(location); // `sym` may not have exports if this module declaration is backed by the symbol for a `const` that's being rewritten // into a namespace - in such cases, it's best to just let the namespace appear empty (the const members couldn't have referred @@ -51584,9 +51794,9 @@ var ts; return { value: result }; } break; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: // Type parameters are bound into `members` lists so they can merge across declarations // This is troublesome, since in all other respects, they behave like locals :cries: // TODO: the below is shared with similar code in `resolveName` - in fact, rephrasing all this symbol @@ -51597,7 +51807,7 @@ var ts; var table_1; // TODO: Should this filtered table be cached in some way? (getSymbolOfNode(location).members || emptySymbols).forEach(function (memberSymbol, key) { - if (memberSymbol.flags & (788968 /* Type */ & ~67108864 /* Assignment */)) { + if (memberSymbol.flags & (788968 /* SymbolFlags.Type */ & ~67108864 /* SymbolFlags.Assignment */)) { (table_1 || (table_1 = ts.createSymbolTable())).set(key, memberSymbol); } }); @@ -51616,7 +51826,7 @@ var ts; } function getQualifiedLeftMeaning(rightMeaning) { // If we are looking in value space, the parent meaning is value, other wise it is namespace - return rightMeaning === 111551 /* Value */ ? 111551 /* Value */ : 1920 /* Namespace */; + return rightMeaning === 111551 /* SymbolFlags.Value */ ? 111551 /* SymbolFlags.Value */ : 1920 /* SymbolFlags.Namespace */; } function getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, useOnlyExternalAliasing, visitedSymbolTablesMap) { if (visitedSymbolTablesMap === void 0) { visitedSymbolTablesMap = new ts.Map(); } @@ -51627,7 +51837,7 @@ var ts; var cache = (links.accessibleChainCache || (links.accessibleChainCache = new ts.Map())); // Go from enclosingDeclaration to the first scope we check, so the cache is keyed off the scope and thus shared more var firstRelevantLocation = forEachSymbolTableInScope(enclosingDeclaration, function (_, __, ___, node) { return node; }); - var key = (useOnlyExternalAliasing ? 0 : 1) + "|" + (firstRelevantLocation && getNodeId(firstRelevantLocation)) + "|" + meaning; + var key = "".concat(useOnlyExternalAliasing ? 0 : 1, "|").concat(firstRelevantLocation && getNodeId(firstRelevantLocation), "|").concat(meaning); if (cache.has(key)) { return cache.get(key); } @@ -51671,9 +51881,9 @@ var ts; } // Check if symbol is any of the aliases in scope var result = ts.forEachEntry(symbols, function (symbolFromSymbolTable) { - if (symbolFromSymbolTable.flags & 2097152 /* Alias */ - && symbolFromSymbolTable.escapedName !== "export=" /* ExportEquals */ - && symbolFromSymbolTable.escapedName !== "default" /* Default */ + if (symbolFromSymbolTable.flags & 2097152 /* SymbolFlags.Alias */ + && symbolFromSymbolTable.escapedName !== "export=" /* InternalSymbolName.ExportEquals */ + && symbolFromSymbolTable.escapedName !== "default" /* InternalSymbolName.Default */ && !(ts.isUMDExportSymbol(symbolFromSymbolTable) && enclosingDeclaration && ts.isExternalModule(ts.getSourceFileOfNode(enclosingDeclaration))) // If `!useOnlyExternalAliasing`, we can use any type of alias to get the name && (!useOnlyExternalAliasing || ts.some(symbolFromSymbolTable.declarations, ts.isExternalModuleImportEqualsDeclaration)) @@ -51681,7 +51891,7 @@ var ts; && (isLocalNameLookup ? !ts.some(symbolFromSymbolTable.declarations, ts.isNamespaceReexportDeclaration) : true) // While exports are generally considered to be in scope, export-specifier declared symbols are _not_ // See similar comment in `resolveName` for details - && (ignoreQualification || !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* ExportSpecifier */))) { + && (ignoreQualification || !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* SyntaxKind.ExportSpecifier */))) { var resolvedImportedSymbol = resolveAlias(symbolFromSymbolTable); var candidate = getCandidateListForSymbol(symbolFromSymbolTable, resolvedImportedSymbol, ignoreQualification); if (candidate) { @@ -51725,7 +51935,7 @@ var ts; return true; } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* SymbolFlags.Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* SyntaxKind.ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -51740,10 +51950,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: continue; default: return false; @@ -51754,16 +51964,16 @@ var ts; return false; } function isTypeSymbolAccessible(typeSymbol, enclosingDeclaration) { - var access = isSymbolAccessibleWorker(typeSymbol, enclosingDeclaration, 788968 /* Type */, /*shouldComputeAliasesToMakeVisible*/ false, /*allowModules*/ true); - return access.accessibility === 0 /* Accessible */; + var access = isSymbolAccessibleWorker(typeSymbol, enclosingDeclaration, 788968 /* SymbolFlags.Type */, /*shouldComputeAliasesToMakeVisible*/ false, /*allowModules*/ true); + return access.accessibility === 0 /* SymbolAccessibility.Accessible */; } function isValueSymbolAccessible(typeSymbol, enclosingDeclaration) { - var access = isSymbolAccessibleWorker(typeSymbol, enclosingDeclaration, 111551 /* Value */, /*shouldComputeAliasesToMakeVisible*/ false, /*allowModules*/ true); - return access.accessibility === 0 /* Accessible */; + var access = isSymbolAccessibleWorker(typeSymbol, enclosingDeclaration, 111551 /* SymbolFlags.Value */, /*shouldComputeAliasesToMakeVisible*/ false, /*allowModules*/ true); + return access.accessibility === 0 /* SymbolAccessibility.Accessible */; } function isSymbolAccessibleByFlags(typeSymbol, enclosingDeclaration, flags) { var access = isSymbolAccessibleWorker(typeSymbol, enclosingDeclaration, flags, /*shouldComputeAliasesToMakeVisible*/ false, /*allowModules*/ false); - return access.accessibility === 0 /* Accessible */; + return access.accessibility === 0 /* SymbolAccessibility.Accessible */; } function isAnySymbolAccessible(symbols, enclosingDeclaration, initialSymbol, meaning, shouldComputeAliasesToMakeVisible, allowModules) { if (!ts.length(symbols)) @@ -51793,7 +52003,7 @@ var ts; } // Any meaning of a module symbol is always accessible via an `import` type return { - accessibility: 0 /* Accessible */ + accessibility: 0 /* SymbolAccessibility.Accessible */ }; } } @@ -51817,14 +52027,14 @@ var ts; } if (earlyModuleBail) { return { - accessibility: 0 /* Accessible */ + accessibility: 0 /* SymbolAccessibility.Accessible */ }; } if (hadAccessibleChain) { return { - accessibility: 1 /* NotAccessible */, + accessibility: 1 /* SymbolAccessibility.NotAccessible */, errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), - errorModuleName: hadAccessibleChain !== initialSymbol ? symbolToString(hadAccessibleChain, enclosingDeclaration, 1920 /* Namespace */) : undefined, + errorModuleName: hadAccessibleChain !== initialSymbol ? symbolToString(hadAccessibleChain, enclosingDeclaration, 1920 /* SymbolFlags.Namespace */) : undefined, }; } } @@ -51853,7 +52063,7 @@ var ts; if (symbolExternalModule !== enclosingExternalModule) { // name from different external module that is not visible return { - accessibility: 2 /* CannotBeNamed */, + accessibility: 2 /* SymbolAccessibility.CannotBeNamed */, errorSymbolName: symbolToString(symbol, enclosingDeclaration, meaning), errorModuleName: symbolToString(symbolExternalModule), errorNode: ts.isInJSFile(enclosingDeclaration) ? enclosingDeclaration : undefined, @@ -51862,28 +52072,28 @@ var ts; } // Just a local name that is not accessible return { - accessibility: 1 /* NotAccessible */, + accessibility: 1 /* SymbolAccessibility.NotAccessible */, errorSymbolName: symbolToString(symbol, enclosingDeclaration, meaning), }; } - return { accessibility: 0 /* Accessible */ }; + return { accessibility: 0 /* SymbolAccessibility.Accessible */ }; } function getExternalModuleContainer(declaration) { var node = ts.findAncestor(declaration, hasExternalModuleSymbol); return node && getSymbolOfNode(node); } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { - return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; - if (!ts.every(ts.filter(symbol.declarations, function (d) { return d.kind !== 79 /* Identifier */; }), getIsDeclarationVisible)) { + if (!ts.every(ts.filter(symbol.declarations, function (d) { return d.kind !== 79 /* SyntaxKind.Identifier */; }), getIsDeclarationVisible)) { return undefined; } - return { accessibility: 0 /* Accessible */, aliasesToMakeVisible: aliasesToMakeVisible }; + return { accessibility: 0 /* SymbolAccessibility.Accessible */, aliasesToMakeVisible: aliasesToMakeVisible }; function getIsDeclarationVisible(declaration) { var _a, _b; if (!isDeclarationVisible(declaration)) { @@ -51891,24 +52101,24 @@ var ts; // because these kind of aliases can be used to name types in declaration file var anyImportSyntax = getAnyImportSyntax(declaration); if (anyImportSyntax && - !ts.hasSyntacticModifier(anyImportSyntax, 1 /* Export */) && // import clause without export + !ts.hasSyntacticModifier(anyImportSyntax, 1 /* ModifierFlags.Export */) && // import clause without export isDeclarationVisible(anyImportSyntax.parent)) { return addVisibleAlias(declaration, anyImportSyntax); } else if (ts.isVariableDeclaration(declaration) && ts.isVariableStatement(declaration.parent.parent) && - !ts.hasSyntacticModifier(declaration.parent.parent, 1 /* Export */) && // unexported variable statement + !ts.hasSyntacticModifier(declaration.parent.parent, 1 /* ModifierFlags.Export */) && // unexported variable statement isDeclarationVisible(declaration.parent.parent.parent)) { return addVisibleAlias(declaration, declaration.parent.parent); } else if (ts.isLateVisibilityPaintedStatement(declaration) // unexported top-level statement - && !ts.hasSyntacticModifier(declaration, 1 /* Export */) + && !ts.hasSyntacticModifier(declaration, 1 /* ModifierFlags.Export */) && isDeclarationVisible(declaration.parent)) { return addVisibleAlias(declaration, declaration); } - else if (symbol.flags & 2097152 /* Alias */ && ts.isBindingElement(declaration) && ts.isInJSFile(declaration) && ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.parent) // exported import-like top-level JS require statement + else if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isBindingElement(declaration) && ts.isInJSFile(declaration) && ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.parent) // exported import-like top-level JS require statement && ts.isVariableDeclaration(declaration.parent.parent) && ((_b = declaration.parent.parent.parent) === null || _b === void 0 ? void 0 : _b.parent) && ts.isVariableStatement(declaration.parent.parent.parent.parent) - && !ts.hasSyntacticModifier(declaration.parent.parent.parent.parent, 1 /* Export */) + && !ts.hasSyntacticModifier(declaration.parent.parent.parent.parent, 1 /* ModifierFlags.Export */) && declaration.parent.parent.parent.parent.parent // check if the thing containing the variable statement is visible (ie, the file) && isDeclarationVisible(declaration.parent.parent.parent.parent.parent)) { return addVisibleAlias(declaration, declaration.parent.parent.parent.parent); @@ -51932,83 +52142,83 @@ var ts; function isEntityNameVisible(entityName, enclosingDeclaration) { // get symbol of the first identifier of the entityName var meaning; - if (entityName.parent.kind === 181 /* TypeQuery */ || - entityName.parent.kind === 228 /* ExpressionWithTypeArguments */ && !ts.isPartOfTypeNode(entityName.parent) || - entityName.parent.kind === 162 /* ComputedPropertyName */) { + if (entityName.parent.kind === 181 /* SyntaxKind.TypeQuery */ || + entityName.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ && !ts.isPartOfTypeNode(entityName.parent) || + entityName.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) { // Typeof value - meaning = 111551 /* Value */ | 1048576 /* ExportValue */; + meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; } - else if (entityName.kind === 161 /* QualifiedName */ || entityName.kind === 206 /* PropertyAccessExpression */ || - entityName.parent.kind === 265 /* ImportEqualsDeclaration */) { + else if (entityName.kind === 161 /* SyntaxKind.QualifiedName */ || entityName.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || + entityName.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { // Left identifier from type reference or TypeAlias // Entity name of the import declaration - meaning = 1920 /* Namespace */; + meaning = 1920 /* SymbolFlags.Namespace */; } else { // Type Reference or TypeAlias entity = Identifier - meaning = 788968 /* Type */; + meaning = 788968 /* SymbolFlags.Type */; } var firstIdentifier = ts.getFirstIdentifier(entityName); var symbol = resolveName(enclosingDeclaration, firstIdentifier.escapedText, meaning, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false); - if (symbol && symbol.flags & 262144 /* TypeParameter */ && meaning & 788968 /* Type */) { - return { accessibility: 0 /* Accessible */ }; + if (symbol && symbol.flags & 262144 /* SymbolFlags.TypeParameter */ && meaning & 788968 /* SymbolFlags.Type */) { + return { accessibility: 0 /* SymbolAccessibility.Accessible */ }; } // Verify if the symbol is accessible return (symbol && hasVisibleDeclarations(symbol, /*shouldComputeAliasToMakeVisible*/ true)) || { - accessibility: 1 /* NotAccessible */, + accessibility: 1 /* SymbolAccessibility.NotAccessible */, errorSymbolName: ts.getTextOfNode(firstIdentifier), errorNode: firstIdentifier }; } function symbolToString(symbol, enclosingDeclaration, meaning, flags, writer) { - if (flags === void 0) { flags = 4 /* AllowAnyNodeKind */; } - var nodeFlags = 70221824 /* IgnoreErrors */; - if (flags & 2 /* UseOnlyExternalAliasing */) { - nodeFlags |= 128 /* UseOnlyExternalAliasing */; + if (flags === void 0) { flags = 4 /* SymbolFormatFlags.AllowAnyNodeKind */; } + var nodeFlags = 70221824 /* NodeBuilderFlags.IgnoreErrors */; + if (flags & 2 /* SymbolFormatFlags.UseOnlyExternalAliasing */) { + nodeFlags |= 128 /* NodeBuilderFlags.UseOnlyExternalAliasing */; } - if (flags & 1 /* WriteTypeParametersOrArguments */) { - nodeFlags |= 512 /* WriteTypeParametersInQualifiedName */; + if (flags & 1 /* SymbolFormatFlags.WriteTypeParametersOrArguments */) { + nodeFlags |= 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */; } - if (flags & 8 /* UseAliasDefinedOutsideCurrentScope */) { - nodeFlags |= 16384 /* UseAliasDefinedOutsideCurrentScope */; + if (flags & 8 /* SymbolFormatFlags.UseAliasDefinedOutsideCurrentScope */) { + nodeFlags |= 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */; } - if (flags & 16 /* DoNotIncludeSymbolChain */) { - nodeFlags |= 134217728 /* DoNotIncludeSymbolChain */; + if (flags & 16 /* SymbolFormatFlags.DoNotIncludeSymbolChain */) { + nodeFlags |= 134217728 /* NodeBuilderFlags.DoNotIncludeSymbolChain */; } - var builder = flags & 4 /* AllowAnyNodeKind */ ? nodeBuilder.symbolToExpression : nodeBuilder.symbolToEntityName; + var builder = flags & 4 /* SymbolFormatFlags.AllowAnyNodeKind */ ? nodeBuilder.symbolToExpression : nodeBuilder.symbolToEntityName; return writer ? symbolToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(symbolToStringWorker); function symbolToStringWorker(writer) { var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); // TODO: GH#18217 // add neverAsciiEscape for GH#39027 - var printer = (enclosingDeclaration === null || enclosingDeclaration === void 0 ? void 0 : enclosingDeclaration.kind) === 305 /* SourceFile */ ? ts.createPrinter({ removeComments: true, neverAsciiEscape: true }) : ts.createPrinter({ removeComments: true }); + var printer = (enclosingDeclaration === null || enclosingDeclaration === void 0 ? void 0 : enclosingDeclaration.kind) === 305 /* SyntaxKind.SourceFile */ ? ts.createPrinter({ removeComments: true, neverAsciiEscape: true }) : ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, entity, /*sourceFile*/ sourceFile, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, entity, /*sourceFile*/ sourceFile, writer); return writer; } } function signatureToString(signature, enclosingDeclaration, flags, kind, writer) { - if (flags === void 0) { flags = 0 /* None */; } + if (flags === void 0) { flags = 0 /* TypeFormatFlags.None */; } return writer ? signatureToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(signatureToStringWorker); function signatureToStringWorker(writer) { var sigOutput; - if (flags & 262144 /* WriteArrowStyleSignature */) { - sigOutput = kind === 1 /* Construct */ ? 180 /* ConstructorType */ : 179 /* FunctionType */; + if (flags & 262144 /* TypeFormatFlags.WriteArrowStyleSignature */) { + sigOutput = kind === 1 /* SignatureKind.Construct */ ? 180 /* SyntaxKind.ConstructorType */ : 179 /* SyntaxKind.FunctionType */; } else { - sigOutput = kind === 1 /* Construct */ ? 175 /* ConstructSignature */ : 174 /* CallSignature */; + sigOutput = kind === 1 /* SignatureKind.Construct */ ? 175 /* SyntaxKind.ConstructSignature */ : 174 /* SyntaxKind.CallSignature */; } - var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */); + var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, sig, /*sourceFile*/ sourceFile, ts.getTrailingSemicolonDeferringWriter(writer)); // TODO: GH#18217 + printer.writeNode(4 /* EmitHint.Unspecified */, sig, /*sourceFile*/ sourceFile, ts.getTrailingSemicolonDeferringWriter(writer)); // TODO: GH#18217 return writer; } } function typeToString(type, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; } + if (flags === void 0) { flags = 1048576 /* TypeFormatFlags.AllowUniqueESSymbolType */ | 16384 /* TypeFormatFlags.UseAliasDefinedOutsideCurrentScope */; } if (writer === void 0) { writer = ts.createTextWriter(""); } - var noTruncation = compilerOptions.noErrorTruncation || flags & 1 /* NoTruncation */; - var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | (noTruncation ? 1 /* NoTruncation */ : 0), writer); + var noTruncation = compilerOptions.noErrorTruncation || flags & 1 /* TypeFormatFlags.NoTruncation */; + var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | (noTruncation ? 1 /* NodeBuilderFlags.NoTruncation */ : 0), writer); if (typeNode === undefined) return ts.Debug.fail("should always get typenode"); // The unresolved type gets a synthesized comment on `any` to hint to users that it's not a plain `any`. @@ -52016,7 +52226,7 @@ var ts; var options = { removeComments: type !== unresolvedType }; var printer = ts.createPrinter(options); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, typeNode, /*sourceFile*/ sourceFile, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, typeNode, /*sourceFile*/ sourceFile, writer); var result = writer.getText(); var maxLength = noTruncation ? ts.noTruncationMaximumTruncationLength * 2 : ts.defaultMaximumTruncationLength * 2; if (maxLength && result && result.length >= maxLength) { @@ -52034,17 +52244,17 @@ var ts; return [leftStr, rightStr]; } function getTypeNameForErrorDisplay(type) { - return typeToString(type, /*enclosingDeclaration*/ undefined, 64 /* UseFullyQualifiedType */); + return typeToString(type, /*enclosingDeclaration*/ undefined, 64 /* TypeFormatFlags.UseFullyQualifiedType */); } function symbolValueDeclarationIsContextSensitive(symbol) { return symbol && !!symbol.valueDeclaration && ts.isExpression(symbol.valueDeclaration) && !isContextSensitive(symbol.valueDeclaration); } function toNodeBuilderFlags(flags) { - if (flags === void 0) { flags = 0 /* None */; } - return flags & 814775659 /* NodeBuilderFlagsMask */; + if (flags === void 0) { flags = 0 /* TypeFormatFlags.None */; } + return flags & 814775659 /* TypeFormatFlags.NodeBuilderFlagsMask */; } function isClassInstanceSide(type) { - return !!type.symbol && !!(type.symbol.flags & 32 /* Class */) && (type === getDeclaredTypeOfClassOrInterface(type.symbol) || (!!(type.flags & 524288 /* Object */) && !!(ts.getObjectFlags(type) & 16777216 /* IsClassInstanceClone */))); + return !!type.symbol && !!(type.symbol.flags & 32 /* SymbolFlags.Class */) && (type === getDeclaredTypeOfClassOrInterface(type.symbol) || (!!(type.flags & 524288 /* TypeFlags.Object */) && !!(ts.getObjectFlags(type) & 16777216 /* ObjectFlags.IsClassInstanceClone */))); } function createNodeBuilder() { return { @@ -52078,12 +52288,12 @@ var ts; }; function withContext(enclosingDeclaration, flags, tracker, cb) { var _a, _b; - ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* Synthesized */) === 0); + ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* NodeFlags.Synthesized */) === 0); var context = { enclosingDeclaration: enclosingDeclaration, - flags: flags || 0 /* None */, + flags: flags || 0 /* NodeBuilderFlags.None */, // If no full tracker is provided, fake up a dummy one with a basic limited-functionality moduleResolverHost - tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: function () { return false; }, moduleResolverHost: flags & 134217728 /* DoNotIncludeSymbolChain */ ? { + tracker: tracker && tracker.trackSymbol ? tracker : { trackSymbol: function () { return false; }, moduleResolverHost: flags & 134217728 /* NodeBuilderFlags.DoNotIncludeSymbolChain */ ? { getCommonSourceDirectory: !!host.getCommonSourceDirectory ? function () { return host.getCommonSourceDirectory(); } : function () { return ""; }, getCurrentDirectory: function () { return host.getCurrentDirectory(); }, getSymlinkCache: ts.maybeBind(host, host.getSymlinkCache), @@ -52105,7 +52315,7 @@ var ts; }; context.tracker = wrapSymbolTrackerToReportForContext(context, context.tracker); var resultingNode = cb(context); - if (context.truncating && context.flags & 1 /* NoTruncation */) { + if (context.truncating && context.flags & 1 /* NodeBuilderFlags.NoTruncation */) { (_b = (_a = context.tracker) === null || _a === void 0 ? void 0 : _a.reportTruncationError) === null || _b === void 0 ? void 0 : _b.call(_a); } return context.encounteredError ? undefined : resultingNode; @@ -52140,62 +52350,62 @@ var ts; function checkTruncationLength(context) { if (context.truncating) return context.truncating; - return context.truncating = context.approximateLength > ((context.flags & 1 /* NoTruncation */) ? ts.noTruncationMaximumTruncationLength : ts.defaultMaximumTruncationLength); + return context.truncating = context.approximateLength > ((context.flags & 1 /* NodeBuilderFlags.NoTruncation */) ? ts.noTruncationMaximumTruncationLength : ts.defaultMaximumTruncationLength); } function typeToTypeNodeHelper(type, context) { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } - var inTypeAlias = context.flags & 8388608 /* InTypeAlias */; - context.flags &= ~8388608 /* InTypeAlias */; + var inTypeAlias = context.flags & 8388608 /* NodeBuilderFlags.InTypeAlias */; + context.flags &= ~8388608 /* NodeBuilderFlags.InTypeAlias */; if (!type) { - if (!(context.flags & 262144 /* AllowEmptyUnionOrIntersection */)) { + if (!(context.flags & 262144 /* NodeBuilderFlags.AllowEmptyUnionOrIntersection */)) { context.encounteredError = true; return undefined; // TODO: GH#18217 } context.approximateLength += 3; - return ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); + return ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } - if (!(context.flags & 536870912 /* NoTypeReduction */)) { + if (!(context.flags & 536870912 /* NodeBuilderFlags.NoTypeReduction */)) { type = getReducedType(type); } - if (type.flags & 1 /* Any */) { + if (type.flags & 1 /* TypeFlags.Any */) { if (type.aliasSymbol) { return ts.factory.createTypeReferenceNode(symbolToEntityNameNode(type.aliasSymbol), mapToTypeNodes(type.aliasTypeArguments, context)); } if (type === unresolvedType) { - return ts.addSyntheticLeadingComment(ts.factory.createKeywordTypeNode(130 /* AnyKeyword */), 3 /* MultiLineCommentTrivia */, "unresolved"); + return ts.addSyntheticLeadingComment(ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */), 3 /* SyntaxKind.MultiLineCommentTrivia */, "unresolved"); } context.approximateLength += 3; - return ts.factory.createKeywordTypeNode(type === intrinsicMarkerType ? 138 /* IntrinsicKeyword */ : 130 /* AnyKeyword */); + return ts.factory.createKeywordTypeNode(type === intrinsicMarkerType ? 138 /* SyntaxKind.IntrinsicKeyword */ : 130 /* SyntaxKind.AnyKeyword */); } - if (type.flags & 2 /* Unknown */) { - return ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */); + if (type.flags & 2 /* TypeFlags.Unknown */) { + return ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */); } - if (type.flags & 4 /* String */) { + if (type.flags & 4 /* TypeFlags.String */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(150 /* StringKeyword */); + return ts.factory.createKeywordTypeNode(150 /* SyntaxKind.StringKeyword */); } - if (type.flags & 8 /* Number */) { + if (type.flags & 8 /* TypeFlags.Number */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(147 /* NumberKeyword */); + return ts.factory.createKeywordTypeNode(147 /* SyntaxKind.NumberKeyword */); } - if (type.flags & 64 /* BigInt */) { + if (type.flags & 64 /* TypeFlags.BigInt */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(158 /* BigIntKeyword */); + return ts.factory.createKeywordTypeNode(158 /* SyntaxKind.BigIntKeyword */); } - if (type.flags & 16 /* Boolean */ && !type.aliasSymbol) { + if (type.flags & 16 /* TypeFlags.Boolean */ && !type.aliasSymbol) { context.approximateLength += 7; - return ts.factory.createKeywordTypeNode(133 /* BooleanKeyword */); + return ts.factory.createKeywordTypeNode(133 /* SyntaxKind.BooleanKeyword */); } - if (type.flags & 1024 /* EnumLiteral */ && !(type.flags & 1048576 /* Union */)) { + if (type.flags & 1024 /* TypeFlags.EnumLiteral */ && !(type.flags & 1048576 /* TypeFlags.Union */)) { var parentSymbol = getParentOfSymbol(type.symbol); - var parentName = symbolToTypeNode(parentSymbol, context, 788968 /* Type */); + var parentName = symbolToTypeNode(parentSymbol, context, 788968 /* SymbolFlags.Type */); if (getDeclaredTypeOfSymbol(parentSymbol) === type) { return parentName; } var memberName = ts.symbolName(type.symbol); - if (ts.isIdentifierText(memberName, 0 /* ES3 */)) { + if (ts.isIdentifierText(memberName, 0 /* ScriptTarget.ES3 */)) { return appendReferenceToType(parentName, ts.factory.createTypeReferenceNode(memberName, /*typeArguments*/ undefined)); } if (ts.isImportTypeNode(parentName)) { @@ -52209,66 +52419,66 @@ var ts; return ts.Debug.fail("Unhandled type node kind returned from `symbolToTypeNode`."); } } - if (type.flags & 1056 /* EnumLike */) { - return symbolToTypeNode(type.symbol, context, 788968 /* Type */); + if (type.flags & 1056 /* TypeFlags.EnumLike */) { + return symbolToTypeNode(type.symbol, context, 788968 /* SymbolFlags.Type */); } - if (type.flags & 128 /* StringLiteral */) { + if (type.flags & 128 /* TypeFlags.StringLiteral */) { context.approximateLength += (type.value.length + 2); - return ts.factory.createLiteralTypeNode(ts.setEmitFlags(ts.factory.createStringLiteral(type.value, !!(context.flags & 268435456 /* UseSingleQuotesForStringLiteralType */)), 16777216 /* NoAsciiEscaping */)); + return ts.factory.createLiteralTypeNode(ts.setEmitFlags(ts.factory.createStringLiteral(type.value, !!(context.flags & 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */)), 16777216 /* EmitFlags.NoAsciiEscaping */)); } - if (type.flags & 256 /* NumberLiteral */) { + if (type.flags & 256 /* TypeFlags.NumberLiteral */) { var value = type.value; context.approximateLength += ("" + value).length; - return ts.factory.createLiteralTypeNode(value < 0 ? ts.factory.createPrefixUnaryExpression(40 /* MinusToken */, ts.factory.createNumericLiteral(-value)) : ts.factory.createNumericLiteral(value)); + return ts.factory.createLiteralTypeNode(value < 0 ? ts.factory.createPrefixUnaryExpression(40 /* SyntaxKind.MinusToken */, ts.factory.createNumericLiteral(-value)) : ts.factory.createNumericLiteral(value)); } - if (type.flags & 2048 /* BigIntLiteral */) { + if (type.flags & 2048 /* TypeFlags.BigIntLiteral */) { context.approximateLength += (ts.pseudoBigIntToString(type.value).length) + 1; return ts.factory.createLiteralTypeNode((ts.factory.createBigIntLiteral(type.value))); } - if (type.flags & 512 /* BooleanLiteral */) { + if (type.flags & 512 /* TypeFlags.BooleanLiteral */) { context.approximateLength += type.intrinsicName.length; return ts.factory.createLiteralTypeNode(type.intrinsicName === "true" ? ts.factory.createTrue() : ts.factory.createFalse()); } - if (type.flags & 8192 /* UniqueESSymbol */) { - if (!(context.flags & 1048576 /* AllowUniqueESSymbolType */)) { + if (type.flags & 8192 /* TypeFlags.UniqueESSymbol */) { + if (!(context.flags & 1048576 /* NodeBuilderFlags.AllowUniqueESSymbolType */)) { if (isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { context.approximateLength += 6; - return symbolToTypeNode(type.symbol, context, 111551 /* Value */); + return symbolToTypeNode(type.symbol, context, 111551 /* SymbolFlags.Value */); } if (context.tracker.reportInaccessibleUniqueSymbolError) { context.tracker.reportInaccessibleUniqueSymbolError(); } } context.approximateLength += 13; - return ts.factory.createTypeOperatorNode(154 /* UniqueKeyword */, ts.factory.createKeywordTypeNode(151 /* SymbolKeyword */)); + return ts.factory.createTypeOperatorNode(154 /* SyntaxKind.UniqueKeyword */, ts.factory.createKeywordTypeNode(151 /* SyntaxKind.SymbolKeyword */)); } - if (type.flags & 16384 /* Void */) { + if (type.flags & 16384 /* TypeFlags.Void */) { context.approximateLength += 4; - return ts.factory.createKeywordTypeNode(114 /* VoidKeyword */); + return ts.factory.createKeywordTypeNode(114 /* SyntaxKind.VoidKeyword */); } - if (type.flags & 32768 /* Undefined */) { + if (type.flags & 32768 /* TypeFlags.Undefined */) { context.approximateLength += 9; - return ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */); + return ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */); } - if (type.flags & 65536 /* Null */) { + if (type.flags & 65536 /* TypeFlags.Null */) { context.approximateLength += 4; return ts.factory.createLiteralTypeNode(ts.factory.createNull()); } - if (type.flags & 131072 /* Never */) { + if (type.flags & 131072 /* TypeFlags.Never */) { context.approximateLength += 5; - return ts.factory.createKeywordTypeNode(143 /* NeverKeyword */); + return ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */); } - if (type.flags & 4096 /* ESSymbol */) { + if (type.flags & 4096 /* TypeFlags.ESSymbol */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(151 /* SymbolKeyword */); + return ts.factory.createKeywordTypeNode(151 /* SyntaxKind.SymbolKeyword */); } - if (type.flags & 67108864 /* NonPrimitive */) { + if (type.flags & 67108864 /* TypeFlags.NonPrimitive */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(148 /* ObjectKeyword */); + return ts.factory.createKeywordTypeNode(148 /* SyntaxKind.ObjectKeyword */); } if (ts.isThisTypeParameter(type)) { - if (context.flags & 4194304 /* InObjectTypeLiteral */) { - if (!context.encounteredError && !(context.flags & 32768 /* AllowThisInObjectLiteral */)) { + if (context.flags & 4194304 /* NodeBuilderFlags.InObjectTypeLiteral */) { + if (!context.encounteredError && !(context.flags & 32768 /* NodeBuilderFlags.AllowThisInObjectLiteral */)) { context.encounteredError = true; } if (context.tracker.reportInaccessibleThisError) { @@ -52278,19 +52488,19 @@ var ts; context.approximateLength += 4; return ts.factory.createThisTypeNode(); } - if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */ || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { + if (!inTypeAlias && type.aliasSymbol && (context.flags & 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */ || isTypeSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration))) { var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); - if (isReservedMemberName(type.aliasSymbol.escapedName) && !(type.aliasSymbol.flags & 32 /* Class */)) + if (isReservedMemberName(type.aliasSymbol.escapedName) && !(type.aliasSymbol.flags & 32 /* SymbolFlags.Class */)) return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""), typeArgumentNodes); - return symbolToTypeNode(type.aliasSymbol, context, 788968 /* Type */, typeArgumentNodes); + return symbolToTypeNode(type.aliasSymbol, context, 788968 /* SymbolFlags.Type */, typeArgumentNodes); } var objectFlags = ts.getObjectFlags(type); - if (objectFlags & 4 /* Reference */) { - ts.Debug.assert(!!(type.flags & 524288 /* Object */)); + if (objectFlags & 4 /* ObjectFlags.Reference */) { + ts.Debug.assert(!!(type.flags & 524288 /* TypeFlags.Object */)); return type.node ? visitAndTransformType(type, typeReferenceToTypeNode) : typeReferenceToTypeNode(type); } - if (type.flags & 262144 /* TypeParameter */ || objectFlags & 3 /* ClassOrInterface */) { - if (type.flags & 262144 /* TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { + if (type.flags & 262144 /* TypeFlags.TypeParameter */ || objectFlags & 3 /* ObjectFlags.ClassOrInterface */) { + if (type.flags & 262144 /* TypeFlags.TypeParameter */ && ts.contains(context.inferTypeParameters, type)) { context.approximateLength += (ts.symbolName(type.symbol).length + 6); var constraintNode = void 0; var constraint = getConstraintOfTypeParameter(type); @@ -52307,8 +52517,8 @@ var ts; } return ts.factory.createInferTypeNode(typeParameterToDeclarationWithConstraint(type, context, constraintNode)); } - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && - type.flags & 262144 /* TypeParameter */ && + if (context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */ && + type.flags & 262144 /* TypeFlags.TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration)) { var name_2 = typeParameterToName(type, context); context.approximateLength += ts.idText(name_2).length; @@ -52316,43 +52526,43 @@ var ts; } // Ignore constraint/default when creating a usage (as opposed to declaration) of a type parameter. if (type.symbol) { - return symbolToTypeNode(type.symbol, context, 788968 /* Type */); + return symbolToTypeNode(type.symbol, context, 788968 /* SymbolFlags.Type */); } var name = (type === markerSuperType || type === markerSubType) && varianceTypeParameter && varianceTypeParameter.symbol ? (type === markerSubType ? "sub-" : "super-") + ts.symbolName(varianceTypeParameter.symbol) : "?"; return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(name), /*typeArguments*/ undefined); } - if (type.flags & 1048576 /* Union */ && type.origin) { + if (type.flags & 1048576 /* TypeFlags.Union */ && type.origin) { type = type.origin; } - if (type.flags & (1048576 /* Union */ | 2097152 /* Intersection */)) { - var types = type.flags & 1048576 /* Union */ ? formatUnionTypes(type.types) : type.types; + if (type.flags & (1048576 /* TypeFlags.Union */ | 2097152 /* TypeFlags.Intersection */)) { + var types = type.flags & 1048576 /* TypeFlags.Union */ ? formatUnionTypes(type.types) : type.types; if (ts.length(types) === 1) { return typeToTypeNodeHelper(types[0], context); } var typeNodes = mapToTypeNodes(types, context, /*isBareList*/ true); if (typeNodes && typeNodes.length > 0) { - return type.flags & 1048576 /* Union */ ? ts.factory.createUnionTypeNode(typeNodes) : ts.factory.createIntersectionTypeNode(typeNodes); + return type.flags & 1048576 /* TypeFlags.Union */ ? ts.factory.createUnionTypeNode(typeNodes) : ts.factory.createIntersectionTypeNode(typeNodes); } else { - if (!context.encounteredError && !(context.flags & 262144 /* AllowEmptyUnionOrIntersection */)) { + if (!context.encounteredError && !(context.flags & 262144 /* NodeBuilderFlags.AllowEmptyUnionOrIntersection */)) { context.encounteredError = true; } return undefined; // TODO: GH#18217 } } - if (objectFlags & (16 /* Anonymous */ | 32 /* Mapped */)) { - ts.Debug.assert(!!(type.flags & 524288 /* Object */)); + if (objectFlags & (16 /* ObjectFlags.Anonymous */ | 32 /* ObjectFlags.Mapped */)) { + ts.Debug.assert(!!(type.flags & 524288 /* TypeFlags.Object */)); // The type is an object literal type. return createAnonymousTypeNode(type); } - if (type.flags & 4194304 /* Index */) { + if (type.flags & 4194304 /* TypeFlags.Index */) { var indexedType = type.type; context.approximateLength += 6; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); - return ts.factory.createTypeOperatorNode(140 /* KeyOfKeyword */, indexTypeNode); + return ts.factory.createTypeOperatorNode(140 /* SyntaxKind.KeyOfKeyword */, indexTypeNode); } - if (type.flags & 134217728 /* TemplateLiteral */) { + if (type.flags & 134217728 /* TypeFlags.TemplateLiteral */) { var texts_1 = type.texts; var types_1 = type.types; var templateHead = ts.factory.createTemplateHead(texts_1[0]); @@ -52360,39 +52570,63 @@ var ts; context.approximateLength += 2; return ts.factory.createTemplateLiteralType(templateHead, templateSpans); } - if (type.flags & 268435456 /* StringMapping */) { + if (type.flags & 268435456 /* TypeFlags.StringMapping */) { var typeNode = typeToTypeNodeHelper(type.type, context); - return symbolToTypeNode(type.symbol, context, 788968 /* Type */, [typeNode]); + return symbolToTypeNode(type.symbol, context, 788968 /* SymbolFlags.Type */, [typeNode]); } - if (type.flags & 8388608 /* IndexedAccess */) { + if (type.flags & 8388608 /* TypeFlags.IndexedAccess */) { var objectTypeNode = typeToTypeNodeHelper(type.objectType, context); var indexTypeNode = typeToTypeNodeHelper(type.indexType, context); context.approximateLength += 2; return ts.factory.createIndexedAccessTypeNode(objectTypeNode, indexTypeNode); } - if (type.flags & 16777216 /* Conditional */) { + if (type.flags & 16777216 /* TypeFlags.Conditional */) { return visitAndTransformType(type, function (type) { return conditionalTypeToTypeNode(type); }); } - if (type.flags & 33554432 /* Substitution */) { + if (type.flags & 33554432 /* TypeFlags.Substitution */) { return typeToTypeNodeHelper(type.baseType, context); } return ts.Debug.fail("Should be unreachable."); function conditionalTypeToTypeNode(type) { var checkTypeNode = typeToTypeNodeHelper(type.checkType, context); + context.approximateLength += 15; + if (context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */ && type.root.isDistributive && !(type.checkType.flags & 262144 /* TypeFlags.TypeParameter */)) { + var newParam = createTypeParameter(createSymbol(262144 /* SymbolFlags.TypeParameter */, "T")); + var name = typeParameterToName(newParam, context); + var newTypeVariable = ts.factory.createTypeReferenceNode(name); + context.approximateLength += 37; // 15 each for two added conditionals, 7 for an added infer type + var newMapper = prependTypeMapping(type.root.checkType, newParam, type.combinedMapper || type.mapper); + var saveInferTypeParameters_1 = context.inferTypeParameters; + context.inferTypeParameters = type.root.inferTypeParameters; + var extendsTypeNode_1 = typeToTypeNodeHelper(instantiateType(type.root.extendsType, newMapper), context); + context.inferTypeParameters = saveInferTypeParameters_1; + var trueTypeNode_1 = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(type.root.node.trueType), newMapper)); + var falseTypeNode_1 = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(type.root.node.falseType), newMapper)); + // outermost conditional makes `T` a type parameter, allowing the inner conditionals to be distributive + // second conditional makes `T` have `T & checkType` substitution, so it is correctly usable as the checkType + // inner conditional runs the check the user provided on the check type (distributively) and returns the result + // checkType extends infer T ? T extends checkType ? T extends extendsType ? trueType : falseType : never : never; + // this is potentially simplifiable to + // checkType extends infer T ? T extends checkType & extendsType ? trueType : falseType : never; + // but that may confuse users who read the output more. + // On the other hand, + // checkType extends infer T extends checkType ? T extends extendsType ? trueType : falseType : never; + // may also work with `infer ... extends ...` in, but would produce declarations only compatible with the latest TS. + return ts.factory.createConditionalTypeNode(checkTypeNode, ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), ts.factory.createConditionalTypeNode(ts.factory.createTypeReferenceNode(ts.factory.cloneNode(name)), typeToTypeNodeHelper(type.checkType, context), ts.factory.createConditionalTypeNode(newTypeVariable, extendsTypeNode_1, trueTypeNode_1, falseTypeNode_1), ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)), ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)); + } var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; var extendsTypeNode = typeToTypeNodeHelper(type.extendsType, context); context.inferTypeParameters = saveInferTypeParameters; var trueTypeNode = typeToTypeNodeOrCircularityElision(getTrueTypeFromConditionalType(type)); var falseTypeNode = typeToTypeNodeOrCircularityElision(getFalseTypeFromConditionalType(type)); - context.approximateLength += 15; return ts.factory.createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } function typeToTypeNodeOrCircularityElision(type) { var _a, _b, _c; - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { if ((_a = context.visitedTypes) === null || _a === void 0 ? void 0 : _a.has(getTypeId(type))) { - if (!(context.flags & 131072 /* AllowAnonymousIdentifier */)) { + if (!(context.flags & 131072 /* NodeBuilderFlags.AllowAnonymousIdentifier */)) { context.encounteredError = true; (_c = (_b = context.tracker) === null || _b === void 0 ? void 0 : _b.reportCyclicStructureError) === null || _c === void 0 ? void 0 : _c.call(_b); } @@ -52403,7 +52637,7 @@ var ts; return typeToTypeNodeHelper(type, context); } function createMappedTypeNodeFromType(type) { - ts.Debug.assert(!!(type.flags & 524288 /* Object */)); + ts.Debug.assert(!!(type.flags & 524288 /* TypeFlags.Object */)); var readonlyToken = type.declaration.readonlyToken ? ts.factory.createToken(type.declaration.readonlyToken.kind) : undefined; var questionToken = type.declaration.questionToken ? ts.factory.createToken(type.declaration.questionToken.kind) : undefined; var appropriateConstraintTypeNode; @@ -52411,27 +52645,27 @@ var ts; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } // We do this to ensure we retain the toplevel keyof-ness of the type which may be lost due to keyof distribution during `getConstraintTypeFromMappedType` - if (!(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeParameter */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { - var newParam = createTypeParameter(createSymbol(262144 /* TypeParameter */, "T")); + if (!(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeFlags.TypeParameter */) && context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { + var newParam = createTypeParameter(createSymbol(262144 /* SymbolFlags.TypeParameter */, "T")); var name = typeParameterToName(newParam, context); newTypeVariable = ts.factory.createTypeReferenceNode(name); } - appropriateConstraintTypeNode = ts.factory.createTypeOperatorNode(140 /* KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context)); + appropriateConstraintTypeNode = ts.factory.createTypeOperatorNode(140 /* SyntaxKind.KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context)); } else { appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type), context); } var typeParameterNode = typeParameterToDeclarationWithConstraint(getTypeParameterFromMappedType(type), context, appropriateConstraintTypeNode); var nameTypeNode = type.declaration.nameType ? typeToTypeNodeHelper(getNameTypeFromMappedType(type), context) : undefined; - var templateTypeNode = typeToTypeNodeHelper(removeMissingType(getTemplateTypeFromMappedType(type), !!(getMappedTypeModifiers(type) & 4 /* IncludeOptional */)), context); + var templateTypeNode = typeToTypeNodeHelper(removeMissingType(getTemplateTypeFromMappedType(type), !!(getMappedTypeModifiers(type) & 4 /* MappedTypeModifiers.IncludeOptional */)), context); var mappedTypeNode = ts.factory.createMappedTypeNode(readonlyToken, typeParameterNode, nameTypeNode, questionToken, templateTypeNode, /*members*/ undefined); context.approximateLength += 10; - var result = ts.setEmitFlags(mappedTypeNode, 1 /* SingleLine */); - if (isMappedTypeWithKeyofConstraintDeclaration(type) && !(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeParameter */) && context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + var result = ts.setEmitFlags(mappedTypeNode, 1 /* EmitFlags.SingleLine */); + if (isMappedTypeWithKeyofConstraintDeclaration(type) && !(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeFlags.TypeParameter */) && context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { // homomorphic mapped type with a non-homomorphic naive inlining // wrap it with a conditional like `SomeModifiersType extends infer U ? {..the mapped type...} : never` to ensure the resulting // type stays homomorphic - return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), result, ts.factory.createKeywordTypeNode(143 /* NeverKeyword */)); + return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), result, ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)); } return result; } @@ -52440,16 +52674,16 @@ var ts; var typeId = type.id; var symbol = type.symbol; if (symbol) { - var isInstanceType = isClassInstanceSide(type) ? 788968 /* Type */ : 111551 /* Value */; + var isInstanceType = isClassInstanceSide(type) ? 788968 /* SymbolFlags.Type */ : 111551 /* SymbolFlags.Value */; if (isJSConstructor(symbol.valueDeclaration)) { // Instance and static types share the same symbol; only add 'typeof' for the static side. return symbolToTypeNode(symbol, context, isInstanceType); } // Always use 'typeof T' for type of class, enum, and module objects - else if (symbol.flags & 32 /* Class */ + else if (symbol.flags & 32 /* SymbolFlags.Class */ && !getBaseTypeVariableOfClass(symbol) - && !(symbol.valueDeclaration && symbol.valueDeclaration.kind === 226 /* ClassExpression */ && context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) || - symbol.flags & (384 /* Enum */ | 512 /* ValueModule */) || + && !(symbol.valueDeclaration && symbol.valueDeclaration.kind === 226 /* SyntaxKind.ClassExpression */ && context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */) || + symbol.flags & (384 /* SymbolFlags.Enum */ | 512 /* SymbolFlags.ValueModule */) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, isInstanceType); } @@ -52458,7 +52692,7 @@ var ts; var typeAlias = getTypeAliasForTypeLiteral(type); if (typeAlias) { // The specified symbol flags need to be reinterpreted as type flags - return symbolToTypeNode(typeAlias, context, 788968 /* Type */); + return symbolToTypeNode(typeAlias, context, 788968 /* SymbolFlags.Type */); } else { return createElidedInformationPlaceholder(context); @@ -52474,26 +52708,26 @@ var ts; } function shouldWriteTypeOfFunctionSymbol() { var _a; - var isStaticMethodSymbol = !!(symbol.flags & 8192 /* Method */) && // typeof static method + var isStaticMethodSymbol = !!(symbol.flags & 8192 /* SymbolFlags.Method */) && // typeof static method ts.some(symbol.declarations, function (declaration) { return ts.isStatic(declaration); }); - var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* Function */) && + var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* SymbolFlags.Function */) && (symbol.parent || // is exported function symbol ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 305 /* SourceFile */ || declaration.parent.kind === 262 /* ModuleBlock */; + return declaration.parent.kind === 305 /* SyntaxKind.SourceFile */ || declaration.parent.kind === 262 /* SyntaxKind.ModuleBlock */; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { // typeof is allowed only for static/non local functions - return (!!(context.flags & 4096 /* UseTypeOfFunction */) || ((_a = context.visitedTypes) === null || _a === void 0 ? void 0 : _a.has(typeId))) && // it is type of the symbol uses itself recursively - (!(context.flags & 8 /* UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // And the build is going to succeed without visibility error or there is no structural fallback allowed + return (!!(context.flags & 4096 /* NodeBuilderFlags.UseTypeOfFunction */) || ((_a = context.visitedTypes) === null || _a === void 0 ? void 0 : _a.has(typeId))) && // it is type of the symbol uses itself recursively + (!(context.flags & 8 /* NodeBuilderFlags.UseStructuralFallback */) || isValueSymbolAccessible(symbol, context.enclosingDeclaration)); // And the build is going to succeed without visibility error or there is no structural fallback allowed } } } function visitAndTransformType(type, transform) { var _a, _b; var typeId = type.id; - var isConstructorObject = ts.getObjectFlags(type) & 16 /* Anonymous */ && type.symbol && type.symbol.flags & 32 /* Class */; - var id = ts.getObjectFlags(type) & 4 /* Reference */ && type.node ? "N" + getNodeId(type.node) : - type.flags & 16777216 /* Conditional */ ? "N" + getNodeId(type.root.node) : + var isConstructorObject = ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */ && type.symbol && type.symbol.flags & 32 /* SymbolFlags.Class */; + var id = ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ && type.node ? "N" + getNodeId(type.node) : + type.flags & 16777216 /* TypeFlags.Conditional */ ? "N" + getNodeId(type.root.node) : type.symbol ? (isConstructorObject ? "+" : "") + getSymbolId(type.symbol) : undefined; // Since instantiations of the same anonymous type have the same symbol, tracking symbols instead @@ -52505,7 +52739,7 @@ var ts; context.symbolDepth = new ts.Map(); } var links = context.enclosingDeclaration && getNodeLinks(context.enclosingDeclaration); - var key = getTypeId(type) + "|" + context.flags; + var key = "".concat(getTypeId(type), "|").concat(context.flags); if (links) { links.serializedTypes || (links.serializedTypes = new ts.Map()); } @@ -52564,20 +52798,20 @@ var ts; if (!resolved.properties.length && !resolved.indexInfos.length) { if (!resolved.callSignatures.length && !resolved.constructSignatures.length) { context.approximateLength += 2; - return ts.setEmitFlags(ts.factory.createTypeLiteralNode(/*members*/ undefined), 1 /* SingleLine */); + return ts.setEmitFlags(ts.factory.createTypeLiteralNode(/*members*/ undefined), 1 /* EmitFlags.SingleLine */); } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 179 /* FunctionType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 179 /* SyntaxKind.FunctionType */, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 180 /* ConstructorType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 180 /* SyntaxKind.ConstructorType */, context); return signatureNode; } } - var abstractSignatures = ts.filter(resolved.constructSignatures, function (signature) { return !!(signature.flags & 4 /* Abstract */); }); + var abstractSignatures = ts.filter(resolved.constructSignatures, function (signature) { return !!(signature.flags & 4 /* SignatureFlags.Abstract */); }); if (ts.some(abstractSignatures)) { var types = ts.map(abstractSignatures, getOrCreateTypeFromSignature); // count the number of type elements excluding abstract constructors @@ -52586,8 +52820,8 @@ var ts; resolved.indexInfos.length + // exclude `prototype` when writing a class expression as a type literal, as per // the logic in `createTypeNodesFromResolvedType`. - (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ ? - ts.countWhere(resolved.properties, function (p) { return !(p.flags & 4194304 /* Prototype */); }) : + (context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */ ? + ts.countWhere(resolved.properties, function (p) { return !(p.flags & 4194304 /* SymbolFlags.Prototype */); }) : ts.length(resolved.properties)); // don't include an empty object literal if there were no other static-side // properties to write, i.e. `abstract class C { }` becomes `abstract new () => {}` @@ -52599,27 +52833,27 @@ var ts; return typeToTypeNodeHelper(getIntersectionType(types), context); } var savedFlags = context.flags; - context.flags |= 4194304 /* InObjectTypeLiteral */; + context.flags |= 4194304 /* NodeBuilderFlags.InObjectTypeLiteral */; var members = createTypeNodesFromResolvedType(resolved); context.flags = savedFlags; var typeLiteralNode = ts.factory.createTypeLiteralNode(members); context.approximateLength += 2; - ts.setEmitFlags(typeLiteralNode, (context.flags & 1024 /* MultilineObjectLiterals */) ? 0 : 1 /* SingleLine */); + ts.setEmitFlags(typeLiteralNode, (context.flags & 1024 /* NodeBuilderFlags.MultilineObjectLiterals */) ? 0 : 1 /* EmitFlags.SingleLine */); return typeLiteralNode; } function typeReferenceToTypeNode(type) { var typeArguments = getTypeArguments(type); if (type.target === globalArrayType || type.target === globalReadonlyArrayType) { - if (context.flags & 2 /* WriteArrayAsGenericType */) { + if (context.flags & 2 /* NodeBuilderFlags.WriteArrayAsGenericType */) { var typeArgumentNode = typeToTypeNodeHelper(typeArguments[0], context); return ts.factory.createTypeReferenceNode(type.target === globalArrayType ? "Array" : "ReadonlyArray", [typeArgumentNode]); } var elementType = typeToTypeNodeHelper(typeArguments[0], context); var arrayType = ts.factory.createArrayTypeNode(elementType); - return type.target === globalArrayType ? arrayType : ts.factory.createTypeOperatorNode(145 /* ReadonlyKeyword */, arrayType); + return type.target === globalArrayType ? arrayType : ts.factory.createTypeOperatorNode(145 /* SyntaxKind.ReadonlyKeyword */, arrayType); } - else if (type.target.objectFlags & 8 /* Tuple */) { - typeArguments = ts.sameMap(typeArguments, function (t, i) { return removeMissingType(t, !!(type.target.elementFlags[i] & 2 /* Optional */)); }); + else if (type.target.objectFlags & 8 /* ObjectFlags.Tuple */) { + typeArguments = ts.sameMap(typeArguments, function (t, i) { return removeMissingType(t, !!(type.target.elementFlags[i] & 2 /* ElementFlags.Optional */)); }); if (typeArguments.length > 0) { var arity = getTypeReferenceArity(type); var tupleConstituentNodes = mapToTypeNodes(typeArguments.slice(0, arity), context); @@ -52627,7 +52861,7 @@ var ts; if (type.target.labeledElementDeclarations) { for (var i = 0; i < tupleConstituentNodes.length; i++) { var flags = type.target.elementFlags[i]; - tupleConstituentNodes[i] = ts.factory.createNamedTupleMember(flags & 12 /* Variable */ ? ts.factory.createToken(25 /* DotDotDotToken */) : undefined, ts.factory.createIdentifier(ts.unescapeLeadingUnderscores(getTupleElementLabel(type.target.labeledElementDeclarations[i]))), flags & 2 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, flags & 4 /* Rest */ ? ts.factory.createArrayTypeNode(tupleConstituentNodes[i]) : + tupleConstituentNodes[i] = ts.factory.createNamedTupleMember(flags & 12 /* ElementFlags.Variable */ ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined, ts.factory.createIdentifier(ts.unescapeLeadingUnderscores(getTupleElementLabel(type.target.labeledElementDeclarations[i]))), flags & 2 /* ElementFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, flags & 4 /* ElementFlags.Rest */ ? ts.factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]); } } @@ -52635,23 +52869,23 @@ var ts; for (var i = 0; i < Math.min(arity, tupleConstituentNodes.length); i++) { var flags = type.target.elementFlags[i]; tupleConstituentNodes[i] = - flags & 12 /* Variable */ ? ts.factory.createRestTypeNode(flags & 4 /* Rest */ ? ts.factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]) : - flags & 2 /* Optional */ ? ts.factory.createOptionalTypeNode(tupleConstituentNodes[i]) : + flags & 12 /* ElementFlags.Variable */ ? ts.factory.createRestTypeNode(flags & 4 /* ElementFlags.Rest */ ? ts.factory.createArrayTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]) : + flags & 2 /* ElementFlags.Optional */ ? ts.factory.createOptionalTypeNode(tupleConstituentNodes[i]) : tupleConstituentNodes[i]; } } - var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode(tupleConstituentNodes), 1 /* SingleLine */); - return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; + var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode(tupleConstituentNodes), 1 /* EmitFlags.SingleLine */); + return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* SyntaxKind.ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; } } - if (context.encounteredError || (context.flags & 524288 /* AllowEmptyTuple */)) { - var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode([]), 1 /* SingleLine */); - return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; + if (context.encounteredError || (context.flags & 524288 /* NodeBuilderFlags.AllowEmptyTuple */)) { + var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode([]), 1 /* EmitFlags.SingleLine */); + return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* SyntaxKind.ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; } context.encounteredError = true; return undefined; // TODO: GH#18217 } - else if (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */ && + else if (context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */ && type.symbol.valueDeclaration && ts.isClassLike(type.symbol.valueDeclaration) && !isValueSymbolAccessible(type.symbol, context.enclosingDeclaration)) { @@ -52675,8 +52909,8 @@ var ts; if (!ts.rangeEquals(outerTypeParameters, typeArguments, start, i)) { var typeArgumentSlice = mapToTypeNodes(typeArguments.slice(start, i), context); var flags_3 = context.flags; - context.flags |= 16 /* ForbidIndexedAccessSymbolReferences */; - var ref = symbolToTypeNode(parent, context, 788968 /* Type */, typeArgumentSlice); + context.flags |= 16 /* NodeBuilderFlags.ForbidIndexedAccessSymbolReferences */; + var ref = symbolToTypeNode(parent, context, 788968 /* SymbolFlags.Type */, typeArgumentSlice); context.flags = flags_3; resultType = !resultType ? ref : appendReferenceToType(resultType, ref); } @@ -52688,8 +52922,8 @@ var ts; typeArgumentNodes = mapToTypeNodes(typeArguments.slice(i, typeParameterCount), context); } var flags = context.flags; - context.flags |= 16 /* ForbidIndexedAccessSymbolReferences */; - var finalRef = symbolToTypeNode(type.symbol, context, 788968 /* Type */, typeArgumentNodes); + context.flags |= 16 /* NodeBuilderFlags.ForbidIndexedAccessSymbolReferences */; + var finalRef = symbolToTypeNode(type.symbol, context, 788968 /* SymbolFlags.Type */, typeArgumentNodes); context.flags = flags; return !resultType ? finalRef : appendReferenceToType(resultType, finalRef); } @@ -52753,17 +52987,17 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 174 /* CallSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 174 /* SyntaxKind.CallSignature */, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; - if (signature.flags & 4 /* Abstract */) + if (signature.flags & 4 /* SignatureFlags.Abstract */) continue; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 175 /* ConstructSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 175 /* SyntaxKind.ConstructSignature */, context)); } for (var _d = 0, _e = resolvedType.indexInfos; _d < _e.length; _d++) { var info = _e[_d]; - typeElements.push(indexInfoToIndexSignatureDeclarationHelper(info, context, resolvedType.objectFlags & 1024 /* ReverseMapped */ ? createElidedInformationPlaceholder(context) : undefined)); + typeElements.push(indexInfoToIndexSignatureDeclarationHelper(info, context, resolvedType.objectFlags & 1024 /* ObjectFlags.ReverseMapped */ ? createElidedInformationPlaceholder(context) : undefined)); } var properties = resolvedType.properties; if (!properties) { @@ -52773,16 +53007,16 @@ var ts; for (var _f = 0, properties_1 = properties; _f < properties_1.length; _f++) { var propertySymbol = properties_1[_f]; i++; - if (context.flags & 2048 /* WriteClassExpressionAsTypeLiteral */) { - if (propertySymbol.flags & 4194304 /* Prototype */) { + if (context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */) { + if (propertySymbol.flags & 4194304 /* SymbolFlags.Prototype */) { continue; } - if (ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & (8 /* Private */ | 16 /* Protected */) && context.tracker.reportPrivateInBaseOfClassExpression) { + if (ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */) && context.tracker.reportPrivateInBaseOfClassExpression) { context.tracker.reportPrivateInBaseOfClassExpression(ts.unescapeLeadingUnderscores(propertySymbol.escapedName)); } } if (checkTruncationLength(context) && (i + 2 < properties.length - 1)) { - typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... " + (properties.length - i) + " more ...", /*questionToken*/ undefined, /*type*/ undefined)); + typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... ".concat(properties.length - i, " more ..."), /*questionToken*/ undefined, /*type*/ undefined)); addPropertyToElementList(properties[properties.length - 1], context, typeElements); break; } @@ -52793,10 +53027,10 @@ var ts; } function createElidedInformationPlaceholder(context) { context.approximateLength += 3; - if (!(context.flags & 1 /* NoTruncation */)) { + if (!(context.flags & 1 /* NodeBuilderFlags.NoTruncation */)) { return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("..."), /*typeArguments*/ undefined); } - return ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); + return ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } function shouldUsePlaceholderForProperty(propertySymbol, context) { var _a; @@ -52806,19 +53040,19 @@ var ts; // Since anonymous types usually come from expressions, this allows us to preserve the output // for deep mappings which likely come from expressions, while truncating those parts which // come from mappings over library functions. - return !!(ts.getCheckFlags(propertySymbol) & 8192 /* ReverseMapped */) + return !!(ts.getCheckFlags(propertySymbol) & 8192 /* CheckFlags.ReverseMapped */) && (ts.contains(context.reverseMappedStack, propertySymbol) || (((_a = context.reverseMappedStack) === null || _a === void 0 ? void 0 : _a[0]) - && !(ts.getObjectFlags(ts.last(context.reverseMappedStack).propertyType) & 16 /* Anonymous */))); + && !(ts.getObjectFlags(ts.last(context.reverseMappedStack).propertyType) & 16 /* ObjectFlags.Anonymous */))); } function addPropertyToElementList(propertySymbol, context, typeElements) { var _a, _b; - var propertyIsReverseMapped = !!(ts.getCheckFlags(propertySymbol) & 8192 /* ReverseMapped */); + var propertyIsReverseMapped = !!(ts.getCheckFlags(propertySymbol) & 8192 /* CheckFlags.ReverseMapped */); var propertyType = shouldUsePlaceholderForProperty(propertySymbol, context) ? anyType : getNonMissingTypeOfSymbol(propertySymbol); var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; - if (context.tracker.trackSymbol && ts.getCheckFlags(propertySymbol) & 4096 /* Late */ && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.trackSymbol && ts.getCheckFlags(propertySymbol) & 4096 /* CheckFlags.Late */ && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { var decl = ts.first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -52841,12 +53075,12 @@ var ts; var propertyName = getPropertyNameNodeForSymbol(propertySymbol, context); context.enclosingDeclaration = saveEnclosingDeclaration; context.approximateLength += (ts.symbolName(propertySymbol).length + 1); - var optionalToken = propertySymbol.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined; - if (propertySymbol.flags & (16 /* Function */ | 8192 /* Method */) && !getPropertiesOfObjectType(propertyType).length && !isReadonlySymbol(propertySymbol)) { - var signatures = getSignaturesOfType(filterType(propertyType, function (t) { return !(t.flags & 32768 /* Undefined */); }), 0 /* Call */); + var optionalToken = propertySymbol.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; + if (propertySymbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */) && !getPropertiesOfObjectType(propertyType).length && !isReadonlySymbol(propertySymbol)) { + var signatures = getSignaturesOfType(filterType(propertyType, function (t) { return !(t.flags & 32768 /* TypeFlags.Undefined */); }), 0 /* SignatureKind.Call */); for (var _i = 0, signatures_1 = signatures; _i < signatures_1.length; _i++) { var signature = signatures_1[_i]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 168 /* MethodSignature */, context, { name: propertyName, questionToken: optionalToken }); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 168 /* SyntaxKind.MethodSignature */, context, { name: propertyName, questionToken: optionalToken }); typeElements.push(preserveCommentsOn(methodDeclaration)); } } @@ -52860,12 +53094,12 @@ var ts; context.reverseMappedStack || (context.reverseMappedStack = []); context.reverseMappedStack.push(propertySymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); if (propertyIsReverseMapped) { context.reverseMappedStack.pop(); } } - var modifiers = isReadonlySymbol(propertySymbol) ? [ts.factory.createToken(145 /* ReadonlyKeyword */)] : undefined; + var modifiers = isReadonlySymbol(propertySymbol) ? [ts.factory.createToken(145 /* SyntaxKind.ReadonlyKeyword */)] : undefined; if (modifiers) { context.approximateLength += 9; } @@ -52874,11 +53108,11 @@ var ts; } function preserveCommentsOn(node) { var _a; - if (ts.some(propertySymbol.declarations, function (d) { return d.kind === 347 /* JSDocPropertyTag */; })) { - var d = (_a = propertySymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 347 /* JSDocPropertyTag */; }); + if (ts.some(propertySymbol.declarations, function (d) { return d.kind === 347 /* SyntaxKind.JSDocPropertyTag */; })) { + var d = (_a = propertySymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 347 /* SyntaxKind.JSDocPropertyTag */; }); var commentText = ts.getTextOfJSDocComment(d.comment); if (commentText) { - ts.setSyntheticLeadingComments(node, [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]); + ts.setSyntheticLeadingComments(node, [{ kind: 3 /* SyntaxKind.MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]); } } else if (propertySymbol.valueDeclaration) { @@ -52897,12 +53131,12 @@ var ts; else if (types.length > 2) { return [ typeToTypeNodeHelper(types[0], context), - ts.factory.createTypeReferenceNode("... " + (types.length - 2) + " more ...", /*typeArguments*/ undefined), + ts.factory.createTypeReferenceNode("... ".concat(types.length - 2, " more ..."), /*typeArguments*/ undefined), typeToTypeNodeHelper(types[types.length - 1], context) ]; } } - var mayHaveNameCollisions = !(context.flags & 64 /* UseFullyQualifiedType */); + var mayHaveNameCollisions = !(context.flags & 64 /* NodeBuilderFlags.UseFullyQualifiedType */); /** Map from type reference identifier text to [type, index in `result` where the type node is] */ var seenNames = mayHaveNameCollisions ? ts.createUnderscoreEscapedMultiMap() : undefined; var result_5 = []; @@ -52911,7 +53145,7 @@ var ts; var type = types_2[_i]; i++; if (checkTruncationLength(context) && (i + 2 < types.length - 1)) { - result_5.push(ts.factory.createTypeReferenceNode("... " + (types.length - i) + " more ...", /*typeArguments*/ undefined)); + result_5.push(ts.factory.createTypeReferenceNode("... ".concat(types.length - i, " more ..."), /*typeArguments*/ undefined)); var typeNode_1 = typeToTypeNodeHelper(types[types.length - 1], context); if (typeNode_1) { result_5.push(typeNode_1); @@ -52936,7 +53170,7 @@ var ts; // type node for each entry by that name with the // `UseFullyQualifiedType` flag enabled. var saveContextFlags = context.flags; - context.flags |= 64 /* UseFullyQualifiedType */; + context.flags |= 64 /* NodeBuilderFlags.UseFullyQualifiedType */; seenNames.forEach(function (types) { if (!ts.arrayIsHomogeneous(types, function (_a, _b) { var a = _a[0]; @@ -52971,22 +53205,22 @@ var ts; if (!typeNode) { typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); } - if (!indexInfo.type && !(context.flags & 2097152 /* AllowEmptyIndexInfoType */)) { + if (!indexInfo.type && !(context.flags & 2097152 /* NodeBuilderFlags.AllowEmptyIndexInfoType */)) { context.encounteredError = true; } context.approximateLength += (name.length + 4); return ts.factory.createIndexSignature( - /*decorators*/ undefined, indexInfo.isReadonly ? [ts.factory.createToken(145 /* ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); + /*decorators*/ undefined, indexInfo.isReadonly ? [ts.factory.createToken(145 /* SyntaxKind.ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a, _b, _c, _d; - var suppressAny = context.flags & 256 /* SuppressAnyReturnType */; + var suppressAny = context.flags & 256 /* NodeBuilderFlags.SuppressAnyReturnType */; if (suppressAny) - context.flags &= ~256 /* SuppressAnyReturnType */; // suppress only toplevel `any`s + context.flags &= ~256 /* NodeBuilderFlags.SuppressAnyReturnType */; // suppress only toplevel `any`s context.approximateLength += 3; // Usually a signature contributes a few more characters than this, but 3 is the minimum var typeParameters; var typeArguments; - if (context.flags & 32 /* WriteTypeArgumentsOfSignature */ && signature.target && signature.mapper && signature.target.typeParameters) { + if (context.flags & 32 /* NodeBuilderFlags.WriteTypeArgumentsOfSignature */ && signature.target && signature.mapper && signature.target.typeParameters) { typeArguments = signature.target.typeParameters.map(function (parameter) { return typeToTypeNodeHelper(instantiateType(parameter, signature.mapper), context); }); } else { @@ -52994,7 +53228,7 @@ var ts; } var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; // If the expanded parameter list had a variadic in a non-trailing position, don't expand it - var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 171 /* Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); + var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* CheckFlags.RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 171 /* SyntaxKind.Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); var thisParameter = tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); @@ -53002,11 +53236,11 @@ var ts; var returnTypeNode; var typePredicate = getTypePredicateOfSignature(signature); if (typePredicate) { - var assertsModifier = typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? - ts.factory.createToken(128 /* AssertsKeyword */) : + var assertsModifier = typePredicate.kind === 2 /* TypePredicateKind.AssertsThis */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? + ts.factory.createToken(128 /* SyntaxKind.AssertsKeyword */) : undefined; - var parameterName = typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? - ts.setEmitFlags(ts.factory.createIdentifier(typePredicate.parameterName), 16777216 /* NoAsciiEscaping */) : + var parameterName = typePredicate.kind === 1 /* TypePredicateKind.Identifier */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? + ts.setEmitFlags(ts.factory.createIdentifier(typePredicate.parameterName), 16777216 /* EmitFlags.NoAsciiEscaping */) : ts.factory.createThisTypeNode(); var typeNode = typePredicate.type && typeToTypeNodeHelper(typePredicate.type, context); returnTypeNode = ts.factory.createTypePredicateNode(assertsModifier, parameterName, typeNode); @@ -53017,28 +53251,28 @@ var ts; returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); } else if (!suppressAny) { - returnTypeNode = ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); + returnTypeNode = ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } } var modifiers = options === null || options === void 0 ? void 0 : options.modifiers; - if ((kind === 180 /* ConstructorType */) && signature.flags & 4 /* Abstract */) { + if ((kind === 180 /* SyntaxKind.ConstructorType */) && signature.flags & 4 /* SignatureFlags.Abstract */) { var flags = ts.modifiersToFlags(modifiers); - modifiers = ts.factory.createModifiersFromModifierFlags(flags | 128 /* Abstract */); - } - var node = kind === 174 /* CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : - kind === 175 /* ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : - kind === 168 /* MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : - kind === 169 /* MethodDeclaration */ ? ts.factory.createMethodDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 171 /* Constructor */ ? ts.factory.createConstructorDeclaration(/*decorators*/ undefined, modifiers, parameters, /*body*/ undefined) : - kind === 172 /* GetAccessor */ ? ts.factory.createGetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : - kind === 173 /* SetAccessor */ ? ts.factory.createSetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : - kind === 176 /* IndexSignature */ ? ts.factory.createIndexSignature(/*decorators*/ undefined, modifiers, parameters, returnTypeNode) : - kind === 317 /* JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : - kind === 179 /* FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 180 /* ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 256 /* FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 213 /* FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : - kind === 214 /* ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : + modifiers = ts.factory.createModifiersFromModifierFlags(flags | 128 /* ModifierFlags.Abstract */); + } + var node = kind === 174 /* SyntaxKind.CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : + kind === 175 /* SyntaxKind.ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : + kind === 168 /* SyntaxKind.MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : + kind === 169 /* SyntaxKind.MethodDeclaration */ ? ts.factory.createMethodDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 171 /* SyntaxKind.Constructor */ ? ts.factory.createConstructorDeclaration(/*decorators*/ undefined, modifiers, parameters, /*body*/ undefined) : + kind === 172 /* SyntaxKind.GetAccessor */ ? ts.factory.createGetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : + kind === 173 /* SyntaxKind.SetAccessor */ ? ts.factory.createSetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : + kind === 176 /* SyntaxKind.IndexSignature */ ? ts.factory.createIndexSignature(/*decorators*/ undefined, modifiers, parameters, returnTypeNode) : + kind === 317 /* SyntaxKind.JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : + kind === 179 /* SyntaxKind.FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : + kind === 180 /* SyntaxKind.ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : + kind === 256 /* SyntaxKind.FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 213 /* SyntaxKind.FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : + kind === 214 /* SyntaxKind.ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : ts.Debug.assertNever(kind); if (typeArguments) { node.typeArguments = ts.factory.createNodeArray(typeArguments); @@ -53062,7 +53296,7 @@ var ts; } function typeParameterToDeclarationWithConstraint(type, context, constraintNode) { var savedContextFlags = context.flags; - context.flags &= ~512 /* WriteTypeParametersInQualifiedName */; // Avoids potential infinite loop when building for a claimspace with a generic + context.flags &= ~512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */; // Avoids potential infinite loop when building for a claimspace with a generic var modifiers = ts.factory.createModifiersFromModifierFlags(getVarianceModifiers(type)); var name = typeParameterToName(type, context); var defaultParameter = getDefaultFromTypeParameter(type); @@ -53076,29 +53310,26 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 164 /* Parameter */); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 164 /* SyntaxKind.Parameter */); if (!parameterDeclaration && !ts.isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 340 /* JSDocParameterTag */); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 340 /* SyntaxKind.JSDocParameterTag */); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { parameterType = getOptionalType(parameterType); } - if ((context.flags & 1073741824 /* NoUndefinedOptionalParameterType */) && parameterDeclaration && !ts.isJSDocParameterTag(parameterDeclaration) && isOptionalUninitializedParameter(parameterDeclaration)) { - parameterType = getTypeWithFacts(parameterType, 524288 /* NEUndefined */); - } var parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); - var modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.factory.cloneNode) : undefined; - var isRest = parameterDeclaration && ts.isRestParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 32768 /* RestParameter */; - var dotDotDotToken = isRest ? ts.factory.createToken(25 /* DotDotDotToken */) : undefined; + var modifiers = !(context.flags & 8192 /* NodeBuilderFlags.OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.factory.cloneNode) : undefined; + var isRest = parameterDeclaration && ts.isRestParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 32768 /* CheckFlags.RestParameter */; + var dotDotDotToken = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? - parameterDeclaration.name.kind === 79 /* Identifier */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : - parameterDeclaration.name.kind === 161 /* QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : + parameterDeclaration.name.kind === 79 /* SyntaxKind.Identifier */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name), 16777216 /* EmitFlags.NoAsciiEscaping */) : + parameterDeclaration.name.kind === 161 /* SyntaxKind.QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* EmitFlags.NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); - var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */; - var questionToken = isOptional ? ts.factory.createToken(57 /* QuestionToken */) : undefined; + var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* CheckFlags.OptionalParameter */; + var questionToken = isOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; var parameterNode = ts.factory.createParameterDeclaration( /*decorators*/ undefined, modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, /*initializer*/ undefined); @@ -53118,7 +53349,7 @@ var ts; if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); } - return ts.setEmitFlags(visited, 1 /* SingleLine */ | 16777216 /* NoAsciiEscaping */); + return ts.setEmitFlags(visited, 1 /* EmitFlags.SingleLine */ | 16777216 /* EmitFlags.NoAsciiEscaping */); } } } @@ -53127,9 +53358,9 @@ var ts; return; // get symbol of the first identifier of the entityName var firstIdentifier = ts.getFirstIdentifier(accessExpression); - var name = resolveName(firstIdentifier, firstIdentifier.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); + var name = resolveName(firstIdentifier, firstIdentifier.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); if (name) { - context.tracker.trackSymbol(name, enclosingDeclaration, 111551 /* Value */); + context.tracker.trackSymbol(name, enclosingDeclaration, 111551 /* SymbolFlags.Value */); } } function lookupSymbolChain(symbol, context, meaning, yieldModuleSymbol) { @@ -53139,8 +53370,8 @@ var ts; function lookupSymbolChainWorker(symbol, context, meaning, yieldModuleSymbol) { // Try to get qualified name if the symbol is not a type parameter and there is an enclosing declaration. var chain; - var isTypeParameter = symbol.flags & 262144 /* TypeParameter */; - if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64 /* UseFullyQualifiedType */) && !(context.flags & 134217728 /* DoNotIncludeSymbolChain */)) { + var isTypeParameter = symbol.flags & 262144 /* SymbolFlags.TypeParameter */; + if (!isTypeParameter && (context.enclosingDeclaration || context.flags & 64 /* NodeBuilderFlags.UseFullyQualifiedType */) && !(context.flags & 134217728 /* NodeBuilderFlags.DoNotIncludeSymbolChain */)) { chain = ts.Debug.checkDefined(getSymbolChain(symbol, meaning, /*endOfChain*/ true)); ts.Debug.assert(chain && chain.length > 0); } @@ -53150,7 +53381,7 @@ var ts; return chain; /** @param endOfChain Set to false for recursive calls; non-recursive calls should always output something. */ function getSymbolChain(symbol, meaning, endOfChain) { - var accessibleSymbolChain = getAccessibleSymbolChain(symbol, context.enclosingDeclaration, meaning, !!(context.flags & 128 /* UseOnlyExternalAliasing */)); + var accessibleSymbolChain = getAccessibleSymbolChain(symbol, context.enclosingDeclaration, meaning, !!(context.flags & 128 /* NodeBuilderFlags.UseOnlyExternalAliasing */)); var parentSpecifiers; if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { @@ -53169,8 +53400,8 @@ var ts; var parent = sortedParents_1[_i]; var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), /*endOfChain*/ false); if (parentChain) { - if (parent.exports && parent.exports.get("export=" /* ExportEquals */) && - getSymbolIfSameReference(parent.exports.get("export=" /* ExportEquals */), symbol)) { + if (parent.exports && parent.exports.get("export=" /* InternalSymbolName.ExportEquals */) && + getSymbolIfSameReference(parent.exports.get("export=" /* InternalSymbolName.ExportEquals */), symbol)) { // parentChain root _is_ symbol - symbol is a module export=, so it kinda looks like it's own parent // No need to lookup an alias for the symbol in itself accessibleSymbolChain = parentChain; @@ -53189,7 +53420,7 @@ var ts; // If this is the last part of outputting the symbol, always output. The cases apply only to parent symbols. endOfChain || // If a parent symbol is an anonymous type, don't write it. - !(symbol.flags & (2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */))) { + !(symbol.flags & (2048 /* SymbolFlags.TypeLiteral */ | 4096 /* SymbolFlags.ObjectLiteral */))) { // If a parent symbol is an external module, don't write it. (We prefer just `x` vs `"foo/bar".x`.) if (!endOfChain && !yieldModuleSymbol && !!ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { return; @@ -53219,7 +53450,7 @@ var ts; function typeParametersToTypeParameterDeclarations(symbol, context) { var typeParameterNodes; var targetSymbol = getTargetSymbol(symbol); - if (targetSymbol.flags & (32 /* Class */ | 64 /* Interface */ | 524288 /* TypeAlias */)) { + if (targetSymbol.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */ | 524288 /* SymbolFlags.TypeAlias */)) { typeParameterNodes = ts.factory.createNodeArray(ts.map(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol), function (tp) { return typeParameterToDeclaration(tp, context); })); } return typeParameterNodes; @@ -53234,11 +53465,11 @@ var ts; } (context.typeParameterSymbolList || (context.typeParameterSymbolList = new ts.Set())).add(symbolId); var typeParameterNodes; - if (context.flags & 512 /* WriteTypeParametersInQualifiedName */ && index < (chain.length - 1)) { + if (context.flags & 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */ && index < (chain.length - 1)) { var parentSymbol = symbol; var nextSymbol_1 = chain[index + 1]; - if (ts.getCheckFlags(nextSymbol_1) & 1 /* Instantiated */) { - var params = getTypeParametersOfClassOrInterface(parentSymbol.flags & 2097152 /* Alias */ ? resolveAlias(parentSymbol) : parentSymbol); + if (ts.getCheckFlags(nextSymbol_1) & 1 /* CheckFlags.Instantiated */) { + var params = getTypeParametersOfClassOrInterface(parentSymbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(parentSymbol) : parentSymbol); typeParameterNodes = mapToTypeNodes(ts.map(params, function (t) { return getMappedType(t, nextSymbol_1.mapper); }), context); } else { @@ -53258,11 +53489,11 @@ var ts; } function getSpecifierForModuleSymbol(symbol, context, overrideImportMode) { var _a; - var file = ts.getDeclarationOfKind(symbol, 305 /* SourceFile */); + var file = ts.getDeclarationOfKind(symbol, 305 /* SyntaxKind.SourceFile */); if (!file) { var equivalentFileSymbol = ts.firstDefined(symbol.declarations, function (d) { return getFileSymbolIfFileSymbolExportEqualsContainer(d, symbol); }); if (equivalentFileSymbol) { - file = ts.getDeclarationOfKind(equivalentFileSymbol, 305 /* SourceFile */); + file = ts.getDeclarationOfKind(equivalentFileSymbol, 305 /* SyntaxKind.SourceFile */); } } if (file && file.moduleName !== undefined) { @@ -53314,7 +53545,7 @@ var ts; } return specifier; function getSpecifierCacheKey(path, mode) { - return mode === undefined ? path : mode + "|" + path; + return mode === undefined ? path : "".concat(mode, "|").concat(path); } } function symbolToEntityNameNode(symbol) { @@ -53322,8 +53553,8 @@ var ts; return symbol.parent ? ts.factory.createQualifiedName(symbolToEntityNameNode(symbol.parent), identifier) : identifier; } function symbolToTypeNode(symbol, context, meaning, overrideTypeArguments) { - var chain = lookupSymbolChain(symbol, context, meaning, !(context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */)); // If we're using aliases outside the current scope, dont bother with the module - var isTypeOf = meaning === 111551 /* Value */; + var chain = lookupSymbolChain(symbol, context, meaning, !(context.flags & 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */)); // If we're using aliases outside the current scope, dont bother with the module + var isTypeOf = meaning === 111551 /* SymbolFlags.Value */; if (ts.some(chain[0].declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { // module is root, must use `ImportTypeNode` var nonRootParts = chain.length > 1 ? createAccessFromSymbolChain(chain, chain.length - 1, 1) : undefined; @@ -53332,7 +53563,7 @@ var ts; var targetFile = ts.getSourceFileOfModule(chain[0]); var specifier = void 0; var assertion = void 0; - if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { + if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { // An `import` type directed at an esm format file is only going to resolve in esm mode - set the esm mode assertion if ((targetFile === null || targetFile === void 0 ? void 0 : targetFile.impliedNodeFormat) === ts.ModuleKind.ESNext && targetFile.impliedNodeFormat !== (contextFile === null || contextFile === void 0 ? void 0 : contextFile.impliedNodeFormat)) { specifier = getSpecifierForModuleSymbol(chain[0], context, ts.ModuleKind.ESNext); @@ -53344,9 +53575,9 @@ var ts; if (!specifier) { specifier = getSpecifierForModuleSymbol(chain[0], context); } - if (!(context.flags & 67108864 /* AllowNodeModulesRelativePaths */) && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Classic && specifier.indexOf("/node_modules/") >= 0) { + if (!(context.flags & 67108864 /* NodeBuilderFlags.AllowNodeModulesRelativePaths */) && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Classic && specifier.indexOf("/node_modules/") >= 0) { var oldSpecifier = specifier; - if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { + if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) { // We might be able to write a portable import type using a mode override; try specifier generation again, but with a different mode set var swappedMode = (contextFile === null || contextFile === void 0 ? void 0 : contextFile.impliedNodeFormat) === ts.ModuleKind.ESNext ? ts.ModuleKind.CommonJS : ts.ModuleKind.ESNext; specifier = getSpecifierForModuleSymbol(chain[0], context, swappedMode); @@ -53405,16 +53636,16 @@ var ts; var parent = chain[index - 1]; var symbolName; if (index === 0) { - context.flags |= 16777216 /* InInitialEntityName */; + context.flags |= 16777216 /* NodeBuilderFlags.InInitialEntityName */; symbolName = getNameOfSymbolAsWritten(symbol, context); context.approximateLength += (symbolName ? symbolName.length : 0) + 1; - context.flags ^= 16777216 /* InInitialEntityName */; + context.flags ^= 16777216 /* NodeBuilderFlags.InInitialEntityName */; } else { if (parent && getExportsOfSymbol(parent)) { var exports_2 = getExportsOfSymbol(parent); ts.forEachEntry(exports_2, function (ex, name) { - if (getSymbolIfSameReference(ex, symbol) && !isLateBoundName(name) && name !== "export=" /* ExportEquals */) { + if (getSymbolIfSameReference(ex, symbol) && !isLateBoundName(name) && name !== "export=" /* InternalSymbolName.ExportEquals */) { symbolName = ts.unescapeLeadingUnderscores(name); return true; } @@ -53433,7 +53664,7 @@ var ts; symbolName = getNameOfSymbolAsWritten(symbol, context); } context.approximateLength += symbolName.length + 1; - if (!(context.flags & 16 /* ForbidIndexedAccessSymbolReferences */) && parent && + if (!(context.flags & 16 /* NodeBuilderFlags.ForbidIndexedAccessSymbolReferences */) && parent && getMembersOfSymbol(parent) && getMembersOfSymbol(parent).get(symbol.escapedName) && getSymbolIfSameReference(getMembersOfSymbol(parent).get(symbol.escapedName), symbol)) { // Should use an indexed access @@ -53445,7 +53676,7 @@ var ts; return ts.factory.createIndexedAccessTypeNode(ts.factory.createTypeReferenceNode(LHS, typeParameterNodes), ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(symbolName))); } } - var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* NoAsciiEscaping */); + var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* EmitFlags.NoAsciiEscaping */); identifier.symbol = symbol; if (index > stopper) { var LHS = createAccessFromSymbolChain(chain, index - 1, stopper); @@ -53458,9 +53689,9 @@ var ts; } } function typeParameterShadowsNameInScope(escapedName, context, type) { - var result = resolveName(context.enclosingDeclaration, escapedName, 788968 /* Type */, /*nameNotFoundArg*/ undefined, escapedName, /*isUse*/ false); + var result = resolveName(context.enclosingDeclaration, escapedName, 788968 /* SymbolFlags.Type */, /*nameNotFoundArg*/ undefined, escapedName, /*isUse*/ false); if (result) { - if (result.flags & 262144 /* TypeParameter */ && result === type.symbol) { + if (result.flags & 262144 /* SymbolFlags.TypeParameter */ && result === type.symbol) { return false; } return true; @@ -53469,23 +53700,23 @@ var ts; } function typeParameterToName(type, context) { var _a, _b; - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */ && context.typeParameterNames) { + if (context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */ && context.typeParameterNames) { var cached = context.typeParameterNames.get(getTypeId(type)); if (cached) { return cached; } } - var result = symbolToName(type.symbol, context, 788968 /* Type */, /*expectsIdentifier*/ true); - if (!(result.kind & 79 /* Identifier */)) { + var result = symbolToName(type.symbol, context, 788968 /* SymbolFlags.Type */, /*expectsIdentifier*/ true); + if (!(result.kind & 79 /* SyntaxKind.Identifier */)) { return ts.factory.createIdentifier("(Missing type parameter)"); } - if (context.flags & 4 /* GenerateNamesForShadowedTypeParams */) { + if (context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { var rawtext = result.escapedText; var i = ((_a = context.typeParameterNamesByTextNextNameCount) === null || _a === void 0 ? void 0 : _a.get(rawtext)) || 0; var text = rawtext; while (((_b = context.typeParameterNamesByText) === null || _b === void 0 ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) { i++; - text = rawtext + "_" + i; + text = "".concat(rawtext, "_").concat(i); } if (text !== rawtext) { result = ts.factory.createIdentifier(text, result.typeArguments); @@ -53502,7 +53733,7 @@ var ts; var chain = lookupSymbolChain(symbol, context, meaning); if (expectsIdentifier && chain.length !== 1 && !context.encounteredError - && !(context.flags & 65536 /* AllowQualifiedNameInPlaceOfIdentifier */)) { + && !(context.flags & 65536 /* NodeBuilderFlags.AllowQualifiedNameInPlaceOfIdentifier */)) { context.encounteredError = true; } return createEntityNameFromSymbolChain(chain, chain.length - 1); @@ -53510,13 +53741,13 @@ var ts; var typeParameterNodes = lookupTypeParameterNodes(chain, index, context); var symbol = chain[index]; if (index === 0) { - context.flags |= 16777216 /* InInitialEntityName */; + context.flags |= 16777216 /* NodeBuilderFlags.InInitialEntityName */; } var symbolName = getNameOfSymbolAsWritten(symbol, context); if (index === 0) { - context.flags ^= 16777216 /* InInitialEntityName */; + context.flags ^= 16777216 /* NodeBuilderFlags.InInitialEntityName */; } - var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* NoAsciiEscaping */); + var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* EmitFlags.NoAsciiEscaping */); identifier.symbol = symbol; return index > 0 ? ts.factory.createQualifiedName(createEntityNameFromSymbolChain(chain, index - 1), identifier) : identifier; } @@ -53528,38 +53759,38 @@ var ts; var typeParameterNodes = lookupTypeParameterNodes(chain, index, context); var symbol = chain[index]; if (index === 0) { - context.flags |= 16777216 /* InInitialEntityName */; + context.flags |= 16777216 /* NodeBuilderFlags.InInitialEntityName */; } var symbolName = getNameOfSymbolAsWritten(symbol, context); if (index === 0) { - context.flags ^= 16777216 /* InInitialEntityName */; + context.flags ^= 16777216 /* NodeBuilderFlags.InInitialEntityName */; } var firstChar = symbolName.charCodeAt(0); if (ts.isSingleOrDoubleQuote(firstChar) && ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { return ts.factory.createStringLiteral(getSpecifierForModuleSymbol(symbol, context)); } - var canUsePropertyAccess = firstChar === 35 /* hash */ ? + var canUsePropertyAccess = firstChar === 35 /* CharacterCodes.hash */ ? symbolName.length > 1 && ts.isIdentifierStart(symbolName.charCodeAt(1), languageVersion) : ts.isIdentifierStart(firstChar, languageVersion); if (index === 0 || canUsePropertyAccess) { - var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* NoAsciiEscaping */); + var identifier = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* EmitFlags.NoAsciiEscaping */); identifier.symbol = symbol; return index > 0 ? ts.factory.createPropertyAccessExpression(createExpressionFromSymbolChain(chain, index - 1), identifier) : identifier; } else { - if (firstChar === 91 /* openBracket */) { + if (firstChar === 91 /* CharacterCodes.openBracket */) { symbolName = symbolName.substring(1, symbolName.length - 1); firstChar = symbolName.charCodeAt(0); } var expression = void 0; - if (ts.isSingleOrDoubleQuote(firstChar) && !(symbol.flags & 8 /* EnumMember */)) { - expression = ts.factory.createStringLiteral(ts.stripQuotes(symbolName).replace(/\\./g, function (s) { return s.substring(1); }), firstChar === 39 /* singleQuote */); + if (ts.isSingleOrDoubleQuote(firstChar) && !(symbol.flags & 8 /* SymbolFlags.EnumMember */)) { + expression = ts.factory.createStringLiteral(ts.stripQuotes(symbolName).replace(/\\./g, function (s) { return s.substring(1); }), firstChar === 39 /* CharacterCodes.singleQuote */); } else if (("" + +symbolName) === symbolName) { expression = ts.factory.createNumericLiteral(+symbolName); } if (!expression) { - expression = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* NoAsciiEscaping */); + expression = ts.setEmitFlags(ts.factory.createIdentifier(symbolName, typeParameterNodes), 16777216 /* EmitFlags.NoAsciiEscaping */); expression.symbol = symbol; } return ts.factory.createElementAccessExpression(createExpressionFromSymbolChain(chain, index - 1), expression); @@ -53588,7 +53819,7 @@ var ts; function getPropertyNameNodeForSymbolFromNameType(symbol, context, singleQuote) { var nameType = getSymbolLinks(symbol).nameType; if (nameType) { - if (nameType.flags & 384 /* StringOrNumberLiteral */) { + if (nameType.flags & 384 /* TypeFlags.StringOrNumberLiteral */) { var name = "" + nameType.value; if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !ts.isNumericLiteralName(name)) { return ts.factory.createStringLiteral(name, !!singleQuote); @@ -53598,8 +53829,8 @@ var ts; } return ts.createPropertyNameNodeForIdentifierOrLiteral(name, ts.getEmitScriptTarget(compilerOptions)); } - if (nameType.flags & 8192 /* UniqueESSymbol */) { - return ts.factory.createComputedPropertyName(symbolToExpression(nameType.symbol, context, 111551 /* Value */)); + if (nameType.flags & 8192 /* TypeFlags.UniqueESSymbol */) { + return ts.factory.createComputedPropertyName(symbolToExpression(nameType.symbol, context, 111551 /* SymbolFlags.Value */)); } } } @@ -53633,7 +53864,7 @@ var ts; return symbol.declarations && ts.find(symbol.declarations, function (s) { return !!ts.getEffectiveTypeAnnotationNode(s) && (!enclosingDeclaration || !!ts.findAncestor(s, function (n) { return n === enclosingDeclaration; })); }); } function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) { - return !(ts.getObjectFlags(type) & 4 /* Reference */) || !ts.isTypeReferenceNode(existing) || ts.length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters); + return !(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) || !ts.isTypeReferenceNode(existing) || ts.length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters); } /** * Unlike `typeToTypeNodeHelper`, this handles setting up the `AllowUniqueESSymbolType` flag @@ -53645,7 +53876,7 @@ var ts; if (declWithExistingAnnotation && !ts.isFunctionLikeDeclaration(declWithExistingAnnotation) && !ts.isGetAccessorDeclaration(declWithExistingAnnotation)) { // try to reuse the existing annotation var existing = ts.getEffectiveTypeAnnotationNode(declWithExistingAnnotation); - if (getTypeFromTypeNode(existing) === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { var result_6 = serializeExistingTypeNode(context, existing, includePrivateSymbol, bundled); if (result_6) { return result_6; @@ -53654,20 +53885,30 @@ var ts; } } var oldFlags = context.flags; - if (type.flags & 8192 /* UniqueESSymbol */ && + if (type.flags & 8192 /* TypeFlags.UniqueESSymbol */ && type.symbol === symbol && (!context.enclosingDeclaration || ts.some(symbol.declarations, function (d) { return ts.getSourceFileOfNode(d) === ts.getSourceFileOfNode(context.enclosingDeclaration); }))) { - context.flags |= 1048576 /* AllowUniqueESSymbolType */; + context.flags |= 1048576 /* NodeBuilderFlags.AllowUniqueESSymbolType */; } var result = typeToTypeNodeHelper(type, context); context.flags = oldFlags; return result; } + function typeNodeIsEquivalentToType(typeNode, annotatedDeclaration, type) { + var typeFromTypeNode = getTypeFromTypeNode(typeNode); + if (typeFromTypeNode === type) { + return true; + } + if (ts.isParameter(annotatedDeclaration) && annotatedDeclaration.questionToken) { + return getTypeWithFacts(type, 524288 /* TypeFacts.NEUndefined */) === typeFromTypeNode; + } + return false; + } function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) { if (!isErrorType(type) && context.enclosingDeclaration) { var annotation = signature.declaration && ts.getEffectiveReturnTypeNode(signature.declaration); if (!!ts.findAncestor(annotation, function (n) { return n === context.enclosingDeclaration; }) && annotation) { var annotated = getTypeFromTypeNode(annotation); - var thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated; + var thisInstantiated = annotated.flags & 262144 /* TypeFlags.TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated; if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) { var result = serializeExistingTypeNode(context, annotation, includePrivateSymbol, bundled); if (result) { @@ -53686,20 +53927,20 @@ var ts; introducesError = true; return { introducesError: introducesError, node: node }; } - var sym = resolveEntityName(leftmost, 67108863 /* All */, /*ignoreErrors*/ true, /*dontResolveALias*/ true); + var sym = resolveEntityName(leftmost, 67108863 /* SymbolFlags.All */, /*ignoreErrors*/ true, /*dontResolveALias*/ true); if (sym) { - if (isSymbolAccessible(sym, context.enclosingDeclaration, 67108863 /* All */, /*shouldComputeAliasesToMakeVisible*/ false).accessibility !== 0 /* Accessible */) { + if (isSymbolAccessible(sym, context.enclosingDeclaration, 67108863 /* SymbolFlags.All */, /*shouldComputeAliasesToMakeVisible*/ false).accessibility !== 0 /* SymbolAccessibility.Accessible */) { introducesError = true; } else { - (_b = (_a = context.tracker) === null || _a === void 0 ? void 0 : _a.trackSymbol) === null || _b === void 0 ? void 0 : _b.call(_a, sym, context.enclosingDeclaration, 67108863 /* All */); + (_b = (_a = context.tracker) === null || _a === void 0 ? void 0 : _a.trackSymbol) === null || _b === void 0 ? void 0 : _b.call(_a, sym, context.enclosingDeclaration, 67108863 /* SymbolFlags.All */); includePrivateSymbol === null || includePrivateSymbol === void 0 ? void 0 : includePrivateSymbol(sym); } if (ts.isIdentifier(node)) { var type = getDeclaredTypeOfSymbol(sym); - var name = sym.flags & 262144 /* TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : ts.factory.cloneNode(node); + var name = sym.flags & 262144 /* SymbolFlags.TypeParameter */ && !isTypeSymbolAccessible(type.symbol, context.enclosingDeclaration) ? typeParameterToName(type, context) : ts.factory.cloneNode(node); name.symbol = sym; // for quickinfo, which uses identifier symbol information - return { introducesError: introducesError, node: ts.setEmitFlags(ts.setOriginalNode(name, node), 16777216 /* NoAsciiEscaping */) }; + return { introducesError: introducesError, node: ts.setEmitFlags(ts.setOriginalNode(name, node), 16777216 /* EmitFlags.NoAsciiEscaping */) }; } } return { introducesError: introducesError, node: node }; @@ -53717,17 +53958,17 @@ var ts; return transformed === existing ? ts.setTextRange(ts.factory.cloneNode(existing), existing) : transformed; function visitExistingNodeTreeSymbols(node) { // We don't _actually_ support jsdoc namepath types, emit `any` instead - if (ts.isJSDocAllType(node) || node.kind === 319 /* JSDocNamepathType */) { - return ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); + if (ts.isJSDocAllType(node) || node.kind === 319 /* SyntaxKind.JSDocNamepathType */) { + return ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } if (ts.isJSDocUnknownType(node)) { - return ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */); + return ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */); } if (ts.isJSDocNullableType(node)) { return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createLiteralTypeNode(ts.factory.createNull())]); } if (ts.isJSDocOptionalType(node)) { - return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */)]); + return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */)]); } if (ts.isJSDocNonNullableType(node)) { return ts.visitNode(node.type, visitExistingNodeTreeSymbols); @@ -53741,11 +53982,11 @@ var ts; var typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(node), name.escapedText); var overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined; return ts.factory.createPropertySignature( - /*modifiers*/ undefined, name, t.isBracketed || t.typeExpression && ts.isJSDocOptionalType(t.typeExpression.type) ? ts.factory.createToken(57 /* QuestionToken */) : undefined, overrideTypeNode || (t.typeExpression && ts.visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols)) || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)); + /*modifiers*/ undefined, name, t.isBracketed || t.typeExpression && ts.isJSDocOptionalType(t.typeExpression.type) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, overrideTypeNode || (t.typeExpression && ts.visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols)) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); })); } if (ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "") { - return ts.setOriginalNode(ts.factory.createKeywordTypeNode(130 /* AnyKeyword */), node); + return ts.setOriginalNode(ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */), node); } if ((ts.isExpressionWithTypeArguments(node) || ts.isTypeReferenceNode(node)) && ts.isJSDocIndexSignature(node)) { return ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature( @@ -53762,16 +54003,16 @@ var ts; return ts.factory.createConstructorTypeNode(node.modifiers, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), - /*initializer*/ undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)); + /*initializer*/ undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } else { return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), - /*initializer*/ undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)); + /*initializer*/ undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } } - if (ts.isTypeReferenceNode(node) && ts.isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(node, 788968 /* Type */, /*ignoreErrors*/ true))) { + if (ts.isTypeReferenceNode(node) && ts.isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(node, 788968 /* SymbolFlags.Type */, /*ignoreErrors*/ true))) { return ts.setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node); } if (ts.isLiteralImportTypeNode(node)) { @@ -53780,7 +54021,7 @@ var ts; nodeSymbol && ( // The import type resolved using jsdoc fallback logic - (!node.isTypeOf && !(nodeSymbol.flags & 788968 /* Type */)) || + (!node.isTypeOf && !(nodeSymbol.flags & 788968 /* SymbolFlags.Type */)) || // The import type had type arguments autofilled by js fallback logic !(ts.length(node.typeArguments) >= getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(nodeSymbol))))) { return ts.setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node); @@ -53795,17 +54036,17 @@ var ts; } } if (file && ts.isTupleTypeNode(node) && (ts.getLineAndCharacterOfPosition(file, node.pos).line === ts.getLineAndCharacterOfPosition(file, node.end).line)) { - ts.setEmitFlags(node, 1 /* SingleLine */); + ts.setEmitFlags(node, 1 /* EmitFlags.SingleLine */); } return ts.visitEachChild(node, visitExistingNodeTreeSymbols, ts.nullTransformationContext); function getEffectiveDotDotDotForParameter(p) { - return p.dotDotDotToken || (p.type && ts.isJSDocVariadicType(p.type) ? ts.factory.createToken(25 /* DotDotDotToken */) : undefined); + return p.dotDotDotToken || (p.type && ts.isJSDocVariadicType(p.type) ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined); } /** Note that `new:T` parameters are not handled, but should be before calling this function. */ function getNameForJSDocFunctionParameter(p, index) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "this" ? "this" : getEffectiveDotDotDotForParameter(p) ? "args" - : "arg" + index; + : "arg".concat(index); } function rewriteModuleSpecifier(parent, lit) { if (bundled) { @@ -53836,8 +54077,8 @@ var ts; } } function symbolTableToDeclarationStatements(symbolTable, context, bundled) { - var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 169 /* MethodDeclaration */, /*useAcessors*/ true); - var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (_decorators, mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 168 /* MethodSignature */, /*useAcessors*/ false); + var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 169 /* SyntaxKind.MethodDeclaration */, /*useAcessors*/ true); + var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (_decorators, mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 168 /* SyntaxKind.MethodSignature */, /*useAcessors*/ false); // TODO: Use `setOriginalNode` on original declaration names where possible so these declarations see some kind of // declaration mapping // We save the enclosing declaration off here so it's not adjusted by well-meaning declaration @@ -53850,10 +54091,10 @@ var ts; var oldcontext = context; context = __assign(__assign({}, oldcontext), { usedSymbolNames: new ts.Set(oldcontext.usedSymbolNames), remappedSymbolNames: new ts.Map(), tracker: __assign(__assign({}, oldcontext.tracker), { trackSymbol: function (sym, decl, meaning) { var accessibleResult = isSymbolAccessible(sym, decl, meaning, /*computeAliases*/ false); - if (accessibleResult.accessibility === 0 /* Accessible */) { + if (accessibleResult.accessibility === 0 /* SymbolAccessibility.Accessible */) { // Lookup the root symbol of the chain of refs we'll use to access it and serialize it var chain = lookupSymbolChainWorker(sym, context, meaning); - if (!(sym.flags & 4 /* Property */)) { + if (!(sym.flags & 4 /* SymbolFlags.Property */)) { includePrivateSymbol(chain[0]); } } @@ -53868,16 +54109,16 @@ var ts; void getInternalSymbolName(symbol, baseName); // Called to cache values into `usedSymbolNames` and `remappedSymbolNames` }); var addingDeclare = !bundled; - var exportEquals = symbolTable.get("export=" /* ExportEquals */); - if (exportEquals && symbolTable.size > 1 && exportEquals.flags & 2097152 /* Alias */) { + var exportEquals = symbolTable.get("export=" /* InternalSymbolName.ExportEquals */); + if (exportEquals && symbolTable.size > 1 && exportEquals.flags & 2097152 /* SymbolFlags.Alias */) { symbolTable = ts.createSymbolTable(); // Remove extraneous elements from root symbol table (they'll be mixed back in when the target of the `export=` is looked up) - symbolTable.set("export=" /* ExportEquals */, exportEquals); + symbolTable.set("export=" /* InternalSymbolName.ExportEquals */, exportEquals); } visitSymbolTable(symbolTable); return mergeRedundantStatements(results); function isIdentifierAndNotUndefined(node) { - return !!node && node.kind === 79 /* Identifier */; + return !!node && node.kind === 79 /* SyntaxKind.Identifier */; } function getNamesOfDeclaration(statement) { if (ts.isVariableStatement(statement)) { @@ -53894,7 +54135,7 @@ var ts; ns.body && ts.isModuleBlock(ns.body)) { // Pass 0: Correct situations where a module has both an `export = ns` and multiple top-level exports by stripping the export modifiers from // the top-level exports and exporting them in the targeted ns, as can occur when a js file has both typedefs and `module.export` assignments - var excessExports = ts.filter(statements, function (s) { return !!(ts.getEffectiveModifierFlags(s) & 1 /* Export */); }); + var excessExports = ts.filter(statements, function (s) { return !!(ts.getEffectiveModifierFlags(s) & 1 /* ModifierFlags.Export */); }); var name_3 = ns.name; var body = ns.body; if (ts.length(excessExports)) { @@ -53910,9 +54151,9 @@ var ts; results = []; // If the namespace contains no export assignments or declarations, and no declarations flagged with `export`, then _everything_ is exported - // to respect this as the top level, we need to add an `export` modifier to everything - var mixinExportFlag_1 = !ts.some(body.statements, function (s) { return ts.hasSyntacticModifier(s, 1 /* Export */) || ts.isExportAssignment(s) || ts.isExportDeclaration(s); }); + var mixinExportFlag_1 = !ts.some(body.statements, function (s) { return ts.hasSyntacticModifier(s, 1 /* ModifierFlags.Export */) || ts.isExportAssignment(s) || ts.isExportDeclaration(s); }); ts.forEach(body.statements, function (s) { - addResult(s, mixinExportFlag_1 ? 1 /* Export */ : 0 /* None */); // Recalculates the ambient (and export, if applicable from above) flag + addResult(s, mixinExportFlag_1 ? 1 /* ModifierFlags.Export */ : 0 /* ModifierFlags.None */); // Recalculates the ambient (and export, if applicable from above) flag }); statements = __spreadArray(__spreadArray([], ts.filter(statements, function (s) { return s !== ns && s !== exportAssignment; }), true), results, true); } @@ -54008,11 +54249,11 @@ var ts; isTypeDeclaration(node); } function addExportModifier(node) { - var flags = (ts.getEffectiveModifierFlags(node) | 1 /* Export */) & ~2 /* Ambient */; + var flags = (ts.getEffectiveModifierFlags(node) | 1 /* ModifierFlags.Export */) & ~2 /* ModifierFlags.Ambient */; return ts.factory.updateModifiers(node, flags); } function removeExportModifier(node) { - var flags = ts.getEffectiveModifierFlags(node) & ~1 /* Export */; + var flags = ts.getEffectiveModifierFlags(node) & ~1 /* ModifierFlags.Export */; return ts.factory.updateModifiers(node, flags); } function visitSymbolTable(symbolTable, suppressNewPrivateContext, propertyAsAlias) { @@ -54065,37 +54306,37 @@ var ts; function serializeSymbolWorker(symbol, isPrivate, propertyAsAlias) { var _a, _b, _c, _d; var symbolName = ts.unescapeLeadingUnderscores(symbol.escapedName); - var isDefault = symbol.escapedName === "default" /* Default */; - if (isPrivate && !(context.flags & 131072 /* AllowAnonymousIdentifier */) && ts.isStringANonContextualKeyword(symbolName) && !isDefault) { + var isDefault = symbol.escapedName === "default" /* InternalSymbolName.Default */; + if (isPrivate && !(context.flags & 131072 /* NodeBuilderFlags.AllowAnonymousIdentifier */) && ts.isStringANonContextualKeyword(symbolName) && !isDefault) { // Oh no. We cannot use this symbol's name as it's name... It's likely some jsdoc had an invalid name like `export` or `default` :( context.encounteredError = true; // TODO: Issue error via symbol tracker? return; // If we need to emit a private with a keyword name, we're done for, since something else will try to refer to it by that name } - var needsPostExportDefault = isDefault && !!(symbol.flags & -113 /* ExportDoesNotSupportDefaultModifier */ - || (symbol.flags & 16 /* Function */ && ts.length(getPropertiesOfType(getTypeOfSymbol(symbol))))) && !(symbol.flags & 2097152 /* Alias */); // An alias symbol should preclude needing to make an alias ourselves + var needsPostExportDefault = isDefault && !!(symbol.flags & -113 /* SymbolFlags.ExportDoesNotSupportDefaultModifier */ + || (symbol.flags & 16 /* SymbolFlags.Function */ && ts.length(getPropertiesOfType(getTypeOfSymbol(symbol))))) && !(symbol.flags & 2097152 /* SymbolFlags.Alias */); // An alias symbol should preclude needing to make an alias ourselves var needsExportDeclaration = !needsPostExportDefault && !isPrivate && ts.isStringANonContextualKeyword(symbolName) && !isDefault; // `serializeVariableOrProperty` will handle adding the export declaration if it is run (since `getInternalSymbolName` will create the name mapping), so we need to ensuer we unset `needsExportDeclaration` if it is if (needsPostExportDefault || needsExportDeclaration) { isPrivate = true; } - var modifierFlags = (!isPrivate ? 1 /* Export */ : 0) | (isDefault && !needsPostExportDefault ? 512 /* Default */ : 0); - var isConstMergedWithNS = symbol.flags & 1536 /* Module */ && - symbol.flags & (2 /* BlockScopedVariable */ | 1 /* FunctionScopedVariable */ | 4 /* Property */) && - symbol.escapedName !== "export=" /* ExportEquals */; + var modifierFlags = (!isPrivate ? 1 /* ModifierFlags.Export */ : 0) | (isDefault && !needsPostExportDefault ? 512 /* ModifierFlags.Default */ : 0); + var isConstMergedWithNS = symbol.flags & 1536 /* SymbolFlags.Module */ && + symbol.flags & (2 /* SymbolFlags.BlockScopedVariable */ | 1 /* SymbolFlags.FunctionScopedVariable */ | 4 /* SymbolFlags.Property */) && + symbol.escapedName !== "export=" /* InternalSymbolName.ExportEquals */; var isConstMergedWithNSPrintableAsSignatureMerge = isConstMergedWithNS && isTypeRepresentableAsFunctionNamespaceMerge(getTypeOfSymbol(symbol), symbol); - if (symbol.flags & (16 /* Function */ | 8192 /* Method */) || isConstMergedWithNSPrintableAsSignatureMerge) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */) || isConstMergedWithNSPrintableAsSignatureMerge) { serializeAsFunctionNamespaceMerge(getTypeOfSymbol(symbol), symbol, getInternalSymbolName(symbol, symbolName), modifierFlags); } - if (symbol.flags & 524288 /* TypeAlias */) { + if (symbol.flags & 524288 /* SymbolFlags.TypeAlias */) { serializeTypeAlias(symbol, symbolName, modifierFlags); } // Need to skip over export= symbols below - json source files get a single `Property` flagged // symbol of name `export=` which needs to be handled like an alias. It's not great, but it is what it is. - if (symbol.flags & (2 /* BlockScopedVariable */ | 1 /* FunctionScopedVariable */ | 4 /* Property */) - && symbol.escapedName !== "export=" /* ExportEquals */ - && !(symbol.flags & 4194304 /* Prototype */) - && !(symbol.flags & 32 /* Class */) + if (symbol.flags & (2 /* SymbolFlags.BlockScopedVariable */ | 1 /* SymbolFlags.FunctionScopedVariable */ | 4 /* SymbolFlags.Property */) + && symbol.escapedName !== "export=" /* InternalSymbolName.ExportEquals */ + && !(symbol.flags & 4194304 /* SymbolFlags.Prototype */) + && !(symbol.flags & 32 /* SymbolFlags.Class */) && !isConstMergedWithNSPrintableAsSignatureMerge) { if (propertyAsAlias) { var createdExport = serializeMaybeAliasAssignment(symbol); @@ -54107,21 +54348,21 @@ var ts; else { var type = getTypeOfSymbol(symbol); var localName = getInternalSymbolName(symbol, symbolName); - if (!(symbol.flags & 16 /* Function */) && isTypeRepresentableAsFunctionNamespaceMerge(type, symbol)) { + if (!(symbol.flags & 16 /* SymbolFlags.Function */) && isTypeRepresentableAsFunctionNamespaceMerge(type, symbol)) { // If the type looks like a function declaration + ns could represent it, and it's type is sourced locally, rewrite it into a function declaration + ns serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags); } else { // A Class + Property merge is made for a `module.exports.Member = class {}`, and it doesn't serialize well as either a class _or_ a property symbol - in fact, _it behaves like an alias!_ // `var` is `FunctionScopedVariable`, `const` and `let` are `BlockScopedVariable`, and `module.exports.thing =` is `Property` - var flags = !(symbol.flags & 2 /* BlockScopedVariable */) + var flags = !(symbol.flags & 2 /* SymbolFlags.BlockScopedVariable */) ? ((_a = symbol.parent) === null || _a === void 0 ? void 0 : _a.valueDeclaration) && ts.isSourceFile((_b = symbol.parent) === null || _b === void 0 ? void 0 : _b.valueDeclaration) - ? 2 /* Const */ + ? 2 /* NodeFlags.Const */ : undefined : isConstVariable(symbol) - ? 2 /* Const */ - : 1 /* Let */; - var name = (needsPostExportDefault || !(symbol.flags & 4 /* Property */)) ? localName : getUnusedName(localName, symbol); + ? 2 /* NodeFlags.Const */ + : 1 /* NodeFlags.Let */; + var name = (needsPostExportDefault || !(symbol.flags & 4 /* SymbolFlags.Property */)) ? localName : getUnusedName(localName, symbol); var textRange = symbol.declarations && ts.find(symbol.declarations, function (d) { return ts.isVariableDeclaration(d); }); if (textRange && ts.isVariableDeclarationList(textRange.parent) && textRange.parent.declarations.length === 1) { textRange = textRange.parent.parent; @@ -54133,14 +54374,14 @@ var ts; addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, alias, localName)])), 0 /* None */); - context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* Value */); + /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, alias, localName)])), 0 /* ModifierFlags.None */); + context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* SymbolFlags.Value */); } else { var statement = ts.setTextRange(ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ ts.factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) ], flags)), textRange); - addResult(statement, name !== localName ? modifierFlags & ~1 /* Export */ : modifierFlags); + addResult(statement, name !== localName ? modifierFlags & ~1 /* ModifierFlags.Export */ : modifierFlags); if (name !== localName && !isPrivate) { // We rename the variable declaration we generate for Property symbols since they may have a name which // conflicts with a local declaration. For example, given input: @@ -54166,7 +54407,7 @@ var ts; addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, name, localName)])), 0 /* None */); + /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, name, localName)])), 0 /* ModifierFlags.None */); needsExportDeclaration = false; needsPostExportDefault = false; } @@ -54174,11 +54415,11 @@ var ts; } } } - if (symbol.flags & 384 /* Enum */) { + if (symbol.flags & 384 /* SymbolFlags.Enum */) { serializeEnum(symbol, symbolName, modifierFlags); } - if (symbol.flags & 32 /* Class */) { - if (symbol.flags & 4 /* Property */ + if (symbol.flags & 32 /* SymbolFlags.Class */) { + if (symbol.flags & 4 /* SymbolFlags.Property */ && symbol.valueDeclaration && ts.isBinaryExpression(symbol.valueDeclaration.parent) && ts.isClassExpression(symbol.valueDeclaration.parent.right)) { @@ -54191,20 +54432,20 @@ var ts; serializeAsClass(symbol, getInternalSymbolName(symbol, symbolName), modifierFlags); } } - if ((symbol.flags & (512 /* ValueModule */ | 1024 /* NamespaceModule */) && (!isConstMergedWithNS || isTypeOnlyNamespace(symbol))) || isConstMergedWithNSPrintableAsSignatureMerge) { + if ((symbol.flags & (512 /* SymbolFlags.ValueModule */ | 1024 /* SymbolFlags.NamespaceModule */) && (!isConstMergedWithNS || isTypeOnlyNamespace(symbol))) || isConstMergedWithNSPrintableAsSignatureMerge) { serializeModule(symbol, symbolName, modifierFlags); } // The class meaning serialization should handle serializing all interface members - if (symbol.flags & 64 /* Interface */ && !(symbol.flags & 32 /* Class */)) { + if (symbol.flags & 64 /* SymbolFlags.Interface */ && !(symbol.flags & 32 /* SymbolFlags.Class */)) { serializeInterface(symbol, symbolName, modifierFlags); } - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { serializeAsAlias(symbol, getInternalSymbolName(symbol, symbolName), modifierFlags); } - if (symbol.flags & 4 /* Property */ && symbol.escapedName === "export=" /* ExportEquals */) { + if (symbol.flags & 4 /* SymbolFlags.Property */ && symbol.escapedName === "export=" /* InternalSymbolName.ExportEquals */) { serializeMaybeAliasAssignment(symbol); } - if (symbol.flags & 8388608 /* ExportStar */) { + if (symbol.flags & 8388608 /* SymbolFlags.ExportStar */) { // synthesize export * from "moduleReference" // Straightforward - only one thing to do - make an export declaration if (symbol.declarations) { @@ -54213,18 +54454,18 @@ var ts; var resolvedModule = resolveExternalModuleName(node, node.moduleSpecifier); if (!resolvedModule) continue; - addResult(ts.factory.createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, /*exportClause*/ undefined, ts.factory.createStringLiteral(getSpecifierForModuleSymbol(resolvedModule, context))), 0 /* None */); + addResult(ts.factory.createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, /*exportClause*/ undefined, ts.factory.createStringLiteral(getSpecifierForModuleSymbol(resolvedModule, context))), 0 /* ModifierFlags.None */); } } } if (needsPostExportDefault) { - addResult(ts.factory.createExportAssignment(/*decorators*/ undefined, /*modifiers*/ undefined, /*isExportAssignment*/ false, ts.factory.createIdentifier(getInternalSymbolName(symbol, symbolName))), 0 /* None */); + addResult(ts.factory.createExportAssignment(/*decorators*/ undefined, /*modifiers*/ undefined, /*isExportAssignment*/ false, ts.factory.createIdentifier(getInternalSymbolName(symbol, symbolName))), 0 /* ModifierFlags.None */); } else if (needsExportDeclaration) { addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, getInternalSymbolName(symbol, symbolName), symbolName)])), 0 /* None */); + /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, getInternalSymbolName(symbol, symbolName), symbolName)])), 0 /* ModifierFlags.None */); } } function includePrivateSymbol(symbol) { @@ -54237,7 +54478,7 @@ var ts; // will throw a wrench in this, since those may have been nested, but we'll need to synthesize them in the outer scope // anyway, as that's the only place the import they translate to is valid. In such a case, we might need to use a unique name // for the moved import; which hopefully the above `getUnusedName` call should produce. - var isExternalImportAlias = !!(symbol.flags & 2097152 /* Alias */) && !ts.some(symbol.declarations, function (d) { + var isExternalImportAlias = !!(symbol.flags & 2097152 /* SymbolFlags.Alias */) && !ts.some(symbol.declarations, function (d) { return !!ts.findAncestor(d, ts.isExportDeclaration) || ts.isNamespaceExport(d) || (ts.isImportEqualsDeclaration(d) && !ts.isExternalModuleReference(d.moduleReference)); @@ -54251,23 +54492,23 @@ var ts; // Prepends a `declare` and/or `export` modifier if the context requires it, and then adds `node` to `result` and returns `node` function addResult(node, additionalModifierFlags) { if (ts.canHaveModifiers(node)) { - var newModifierFlags = 0 /* None */; + var newModifierFlags = 0 /* ModifierFlags.None */; var enclosingDeclaration_1 = context.enclosingDeclaration && (ts.isJSDocTypeAlias(context.enclosingDeclaration) ? ts.getSourceFileOfNode(context.enclosingDeclaration) : context.enclosingDeclaration); - if (additionalModifierFlags & 1 /* Export */ && + if (additionalModifierFlags & 1 /* ModifierFlags.Export */ && enclosingDeclaration_1 && (isExportingScope(enclosingDeclaration_1) || ts.isModuleDeclaration(enclosingDeclaration_1)) && canHaveExportModifier(node)) { // Classes, namespaces, variables, functions, interfaces, and types should all be `export`ed in a module context if not private - newModifierFlags |= 1 /* Export */; + newModifierFlags |= 1 /* ModifierFlags.Export */; } - if (addingDeclare && !(newModifierFlags & 1 /* Export */) && - (!enclosingDeclaration_1 || !(enclosingDeclaration_1.flags & 16777216 /* Ambient */)) && + if (addingDeclare && !(newModifierFlags & 1 /* ModifierFlags.Export */) && + (!enclosingDeclaration_1 || !(enclosingDeclaration_1.flags & 16777216 /* NodeFlags.Ambient */)) && (ts.isEnumDeclaration(node) || ts.isVariableStatement(node) || ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node) || ts.isModuleDeclaration(node))) { // Classes, namespaces, variables, enums, and functions all need `declare` modifiers to be valid in a declaration file top-level scope - newModifierFlags |= 2 /* Ambient */; + newModifierFlags |= 2 /* ModifierFlags.Ambient */; } - if ((additionalModifierFlags & 512 /* Default */) && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isFunctionDeclaration(node))) { - newModifierFlags |= 512 /* Default */; + if ((additionalModifierFlags & 512 /* ModifierFlags.Default */) && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isFunctionDeclaration(node))) { + newModifierFlags |= 512 /* ModifierFlags.Default */; } if (newModifierFlags) { node = ts.factory.updateModifiers(node, newModifierFlags | ts.getEffectiveModifierFlags(node)); @@ -54283,14 +54524,14 @@ var ts; var jsdocAliasDecl = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isJSDocTypeAlias); var commentText = ts.getTextOfJSDocComment(jsdocAliasDecl ? jsdocAliasDecl.comment || jsdocAliasDecl.parent.comment : undefined); var oldFlags = context.flags; - context.flags |= 8388608 /* InTypeAlias */; + context.flags |= 8388608 /* NodeBuilderFlags.InTypeAlias */; var oldEnclosingDecl = context.enclosingDeclaration; context.enclosingDeclaration = jsdocAliasDecl; var typeNode = jsdocAliasDecl && jsdocAliasDecl.typeExpression && ts.isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) || typeToTypeNodeHelper(aliasType, context); - addResult(ts.setSyntheticLeadingComments(ts.factory.createTypeAliasDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]), modifierFlags); + addResult(ts.setSyntheticLeadingComments(ts.factory.createTypeAliasDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* SyntaxKind.MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]), modifierFlags); context.flags = oldFlags; context.enclosingDeclaration = oldEnclosingDecl; } @@ -54301,10 +54542,10 @@ var ts; var baseTypes = getBaseTypes(interfaceType); var baseType = ts.length(baseTypes) ? getIntersectionType(baseTypes) : undefined; var members = ts.flatMap(getPropertiesOfType(interfaceType), function (p) { return serializePropertySymbolForInterface(p, baseType); }); - var callSignatures = serializeSignatures(0 /* Call */, interfaceType, baseType, 174 /* CallSignature */); - var constructSignatures = serializeSignatures(1 /* Construct */, interfaceType, baseType, 175 /* ConstructSignature */); + var callSignatures = serializeSignatures(0 /* SignatureKind.Call */, interfaceType, baseType, 174 /* SyntaxKind.CallSignature */); + var constructSignatures = serializeSignatures(1 /* SignatureKind.Construct */, interfaceType, baseType, 175 /* SyntaxKind.ConstructSignature */); var indexSignatures = serializeIndexSignatures(interfaceType, baseType); - var heritageClauses = !ts.length(baseTypes) ? undefined : [ts.factory.createHeritageClause(94 /* ExtendsKeyword */, ts.mapDefined(baseTypes, function (b) { return trySerializeAsTypeReference(b, 111551 /* Value */); }))]; + var heritageClauses = !ts.length(baseTypes) ? undefined : [ts.factory.createHeritageClause(94 /* SyntaxKind.ExtendsKeyword */, ts.mapDefined(baseTypes, function (b) { return trySerializeAsTypeReference(b, 111551 /* SymbolFlags.Value */); }))]; addResult(ts.factory.createInterfaceDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, heritageClauses, __spreadArray(__spreadArray(__spreadArray(__spreadArray([], indexSignatures, true), constructSignatures, true), callSignatures, true), members, true)), modifierFlags); @@ -54313,7 +54554,7 @@ var ts; return !symbol.exports ? [] : ts.filter(ts.arrayFrom(symbol.exports.values()), isNamespaceMember); } function isTypeOnlyNamespace(symbol) { - return ts.every(getNamespaceMembersForSerialization(symbol), function (m) { return !(resolveSymbol(m).flags & 111551 /* Value */); }); + return ts.every(getNamespaceMembersForSerialization(symbol), function (m) { return !(resolveSymbol(m).flags & 111551 /* SymbolFlags.Value */); }); } function serializeModule(symbol, symbolName, modifierFlags) { var members = getNamespaceMembersForSerialization(symbol); @@ -54326,7 +54567,7 @@ var ts; // so we don't even have placeholders to fill in. if (ts.length(realMembers)) { var localName = getInternalSymbolName(symbol, symbolName); - serializeAsNamespaceDeclaration(realMembers, localName, modifierFlags, !!(symbol.flags & (16 /* Function */ | 67108864 /* Assignment */))); + serializeAsNamespaceDeclaration(realMembers, localName, modifierFlags, !!(symbol.flags & (16 /* SymbolFlags.Function */ | 67108864 /* SymbolFlags.Assignment */))); } if (ts.length(mergedMembers)) { var containingFile_1 = ts.getSourceFileOfNode(context.enclosingDeclaration); @@ -54334,7 +54575,7 @@ var ts; var nsBody = ts.factory.createModuleBlock([ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.mapDefined(ts.filter(mergedMembers, function (n) { return n.escapedName !== "export=" /* ExportEquals */; }), function (s) { + /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.mapDefined(ts.filter(mergedMembers, function (n) { return n.escapedName !== "export=" /* InternalSymbolName.ExportEquals */; }), function (s) { var _a, _b; var name = ts.unescapeLeadingUnderscores(s.escapedName); var localName = getInternalSymbolName(s, name); @@ -54350,12 +54591,12 @@ var ts; })))]); addResult(ts.factory.createModuleDeclaration( /*decorators*/ undefined, - /*modifiers*/ undefined, ts.factory.createIdentifier(localName), nsBody, 16 /* Namespace */), 0 /* None */); + /*modifiers*/ undefined, ts.factory.createIdentifier(localName), nsBody, 16 /* NodeFlags.Namespace */), 0 /* ModifierFlags.None */); } } function serializeEnum(symbol, symbolName, modifierFlags) { addResult(ts.factory.createEnumDeclaration( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(isConstEnumSymbol(symbol) ? 2048 /* Const */ : 0), getInternalSymbolName(symbol, symbolName), ts.map(ts.filter(getPropertiesOfType(getTypeOfSymbol(symbol)), function (p) { return !!(p.flags & 8 /* EnumMember */); }), function (p) { + /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(isConstEnumSymbol(symbol) ? 2048 /* ModifierFlags.Const */ : 0), getInternalSymbolName(symbol, symbolName), ts.map(ts.filter(getPropertiesOfType(getTypeOfSymbol(symbol)), function (p) { return !!(p.flags & 8 /* SymbolFlags.EnumMember */); }), function (p) { // TODO: Handle computed names // I hate that to get the initialized value we need to walk back to the declarations here; but there's no // other way to get the possible const value of an enum member that I'm aware of, as the value is cached @@ -54367,22 +54608,22 @@ var ts; })), modifierFlags); } function serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags) { - var signatures = getSignaturesOfType(type, 0 /* Call */); + var signatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); for (var _i = 0, signatures_2 = signatures; _i < signatures_2.length; _i++) { var sig = signatures_2[_i]; // Each overload becomes a separate function declaration, in order - var decl = signatureToSignatureDeclarationHelper(sig, 256 /* FunctionDeclaration */, context, { name: ts.factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); + var decl = signatureToSignatureDeclarationHelper(sig, 256 /* SyntaxKind.FunctionDeclaration */, context, { name: ts.factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); addResult(ts.setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); } // Module symbol emit will take care of module-y members, provided it has exports - if (!(symbol.flags & (512 /* ValueModule */ | 1024 /* NamespaceModule */) && !!symbol.exports && !!symbol.exports.size)) { + if (!(symbol.flags & (512 /* SymbolFlags.ValueModule */ | 1024 /* SymbolFlags.NamespaceModule */) && !!symbol.exports && !!symbol.exports.size)) { var props = ts.filter(getPropertiesOfType(type), isNamespaceMember); serializeAsNamespaceDeclaration(props, localName, modifierFlags, /*suppressNewPrivateContext*/ true); } } function getSignatureTextRangeLocation(signature) { if (signature.declaration && signature.declaration.parent) { - if (ts.isBinaryExpression(signature.declaration.parent) && ts.getAssignmentDeclarationKind(signature.declaration.parent) === 5 /* Property */) { + if (ts.isBinaryExpression(signature.declaration.parent) && ts.getAssignmentDeclarationKind(signature.declaration.parent) === 5 /* AssignmentDeclarationKind.Property */) { return signature.declaration.parent; } // for expressions assigned to `var`s, use the `var` as the text range @@ -54416,7 +54657,7 @@ var ts; // emit akin to the above would be needed. // Add a namespace // Create namespace as non-synthetic so it is usable as an enclosing declaration - var fakespace = ts.parseNodeFactory.createModuleDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createIdentifier(localName), ts.factory.createModuleBlock([]), 16 /* Namespace */); + var fakespace = ts.parseNodeFactory.createModuleDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createIdentifier(localName), ts.factory.createModuleBlock([]), 16 /* NodeFlags.Namespace */); ts.setParent(fakespace, enclosingDeclaration); fakespace.locals = ts.createSymbolTable(props); fakespace.symbol = props[0].parent; @@ -54437,15 +54678,15 @@ var ts; var defaultReplaced = ts.map(declarations, function (d) { return ts.isExportAssignment(d) && !d.isExportEquals && ts.isIdentifier(d.expression) ? ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, d.expression, ts.factory.createIdentifier("default" /* Default */))])) : d; }); - var exportModifierStripped = ts.every(defaultReplaced, function (d) { return ts.hasSyntacticModifier(d, 1 /* Export */); }) ? ts.map(defaultReplaced, removeExportModifier) : defaultReplaced; + /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, d.expression, ts.factory.createIdentifier("default" /* InternalSymbolName.Default */))])) : d; }); + var exportModifierStripped = ts.every(defaultReplaced, function (d) { return ts.hasSyntacticModifier(d, 1 /* ModifierFlags.Export */); }) ? ts.map(defaultReplaced, removeExportModifier) : defaultReplaced; fakespace = ts.factory.updateModuleDeclaration(fakespace, fakespace.decorators, fakespace.modifiers, fakespace.name, ts.factory.createModuleBlock(exportModifierStripped)); addResult(fakespace, modifierFlags); // namespaces can never be default exported } } function isNamespaceMember(p) { - return !!(p.flags & (788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */)) || - !(p.flags & 4194304 /* Prototype */ || p.escapedName === "prototype" || p.valueDeclaration && ts.isStatic(p.valueDeclaration) && ts.isClassLike(p.valueDeclaration.parent)); + return !!(p.flags & (788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */)) || + !(p.flags & 4194304 /* SymbolFlags.Prototype */ || p.escapedName === "prototype" || p.valueDeclaration && ts.isStatic(p.valueDeclaration) && ts.isClassLike(p.valueDeclaration.parent)); } function sanitizeJSDocImplements(clauses) { var result = ts.mapDefined(clauses, function (e) { @@ -54494,7 +54735,7 @@ var ts; var staticBaseType = isClass ? getBaseConstructorTypeOfClass(staticType) : anyType; - var heritageClauses = __spreadArray(__spreadArray([], !ts.length(baseTypes) ? [] : [ts.factory.createHeritageClause(94 /* ExtendsKeyword */, ts.map(baseTypes, function (b) { return serializeBaseType(b, staticBaseType, localName); }))], true), !ts.length(implementsExpressions) ? [] : [ts.factory.createHeritageClause(117 /* ImplementsKeyword */, implementsExpressions)], true); + var heritageClauses = __spreadArray(__spreadArray([], !ts.length(baseTypes) ? [] : [ts.factory.createHeritageClause(94 /* SyntaxKind.ExtendsKeyword */, ts.map(baseTypes, function (b) { return serializeBaseType(b, staticBaseType, localName); }))], true), !ts.length(implementsExpressions) ? [] : [ts.factory.createHeritageClause(117 /* SyntaxKind.ImplementsKeyword */, implementsExpressions)], true); var symbolProps = getNonInterhitedProperties(classType, baseTypes, getPropertiesOfType(classType)); var publicSymbolProps = ts.filter(symbolProps, function (s) { // `valueDeclaration` could be undefined if inherited from @@ -54521,17 +54762,17 @@ var ts; ts.emptyArray; var publicProperties = ts.flatMap(publicSymbolProps, function (p) { return serializePropertySymbolForClass(p, /*isStatic*/ false, baseTypes[0]); }); // Consider static members empty if symbol also has function or module meaning - function namespacey emit will handle statics - var staticMembers = ts.flatMap(ts.filter(getPropertiesOfType(staticType), function (p) { return !(p.flags & 4194304 /* Prototype */) && p.escapedName !== "prototype" && !isNamespaceMember(p); }), function (p) { return serializePropertySymbolForClass(p, /*isStatic*/ true, staticBaseType); }); + var staticMembers = ts.flatMap(ts.filter(getPropertiesOfType(staticType), function (p) { return !(p.flags & 4194304 /* SymbolFlags.Prototype */) && p.escapedName !== "prototype" && !isNamespaceMember(p); }), function (p) { return serializePropertySymbolForClass(p, /*isStatic*/ true, staticBaseType); }); // When we encounter an `X.prototype.y` assignment in a JS file, we bind `X` as a class regardless as to whether // the value is ever initialized with a class or function-like value. For cases where `X` could never be // created via `new`, we will inject a `private constructor()` declaration to indicate it is not createable. var isNonConstructableClassLikeInJsFile = !isClass && !!symbol.valueDeclaration && ts.isInJSFile(symbol.valueDeclaration) && - !ts.some(getSignaturesOfType(staticType, 1 /* Construct */)); + !ts.some(getSignaturesOfType(staticType, 1 /* SignatureKind.Construct */)); var constructors = isNonConstructableClassLikeInJsFile ? - [ts.factory.createConstructorDeclaration(/*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(8 /* Private */), [], /*body*/ undefined)] : - serializeSignatures(1 /* Construct */, staticType, staticBaseType, 171 /* Constructor */); + [ts.factory.createConstructorDeclaration(/*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(8 /* ModifierFlags.Private */), [], /*body*/ undefined)] : + serializeSignatures(1 /* SignatureKind.Construct */, staticType, staticBaseType, 171 /* SyntaxKind.Constructor */); var indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; addResult(ts.setTextRange(ts.factory.createClassDeclaration( @@ -54574,15 +54815,15 @@ var ts; // If `target` refers to a shorthand module symbol, the name we're trying to pull out isn;t recoverable from the target symbol // In such a scenario, we must fall back to looking for an alias declaration on `symbol` and pulling the target name from that var verbatimTargetName = ts.isShorthandAmbientModuleSymbol(target) && getSomeTargetNameFromDeclarations(symbol.declarations) || ts.unescapeLeadingUnderscores(target.escapedName); - if (verbatimTargetName === "export=" /* ExportEquals */ && (ts.getESModuleInterop(compilerOptions) || compilerOptions.allowSyntheticDefaultImports)) { + if (verbatimTargetName === "export=" /* InternalSymbolName.ExportEquals */ && (ts.getESModuleInterop(compilerOptions) || compilerOptions.allowSyntheticDefaultImports)) { // target refers to an `export=` symbol that was hoisted into a synthetic default - rename here to match - verbatimTargetName = "default" /* Default */; + verbatimTargetName = "default" /* InternalSymbolName.Default */; } var targetName = getInternalSymbolName(target, verbatimTargetName); includePrivateSymbol(target); // the target may be within the same scope - attempt to serialize it first switch (node.kind) { - case 203 /* BindingElement */: - if (((_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === 254 /* VariableDeclaration */) { + case 203 /* SyntaxKind.BindingElement */: + if (((_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === 254 /* SyntaxKind.VariableDeclaration */) { // const { SomeClass } = require('./lib'); var specifier_1 = getSpecifierForModuleSymbol(target.parent || target, context); // './lib' var propertyName = node.propertyName; @@ -54590,19 +54831,19 @@ var ts; /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamedImports([ts.factory.createImportSpecifier( /*isTypeOnly*/ false, propertyName && ts.isIdentifier(propertyName) ? ts.factory.createIdentifier(ts.idText(propertyName)) : undefined, ts.factory.createIdentifier(localName))])), ts.factory.createStringLiteral(specifier_1), - /*importClause*/ undefined), 0 /* None */); + /*importClause*/ undefined), 0 /* ModifierFlags.None */); break; } // We don't know how to serialize this (nested?) binding element ts.Debug.failBadSyntaxKind(((_c = node.parent) === null || _c === void 0 ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); break; - case 297 /* ShorthandPropertyAssignment */: - if (((_e = (_d = node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.kind) === 221 /* BinaryExpression */) { + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + if (((_e = (_d = node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.kind) === 221 /* SyntaxKind.BinaryExpression */) { // module.exports = { SomeClass } serializeExportSpecifier(ts.unescapeLeadingUnderscores(symbol.escapedName), targetName); } break; - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: // commonjs require: const x = require('y') if (ts.isPropertyAccessExpression(node.initializer)) { // const x = require('y').z @@ -54613,7 +54854,7 @@ var ts; addResult(ts.factory.createImportEqualsDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, uniqueName, ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(specifier_2))), 0 /* None */); + /*isTypeOnly*/ false, uniqueName, ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(specifier_2))), 0 /* ModifierFlags.None */); // import x = _x.z addResult(ts.factory.createImportEqualsDeclaration( /*decorators*/ undefined, @@ -54622,30 +54863,30 @@ var ts; break; } // else fall through and treat commonjs require just like import= - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: // This _specifically_ only exists to handle json declarations - where we make aliases, but since // we emit no declarations for the json document, must not refer to it in the declarations - if (target.escapedName === "export=" /* ExportEquals */ && ts.some(target.declarations, ts.isJsonSourceFile)) { + if (target.escapedName === "export=" /* InternalSymbolName.ExportEquals */ && ts.some(target.declarations, ts.isJsonSourceFile)) { serializeMaybeAliasAssignment(symbol); break; } // Could be a local `import localName = ns.member` or // an external `import localName = require("whatever")` - var isLocalImport = !(target.flags & 512 /* ValueModule */) && !ts.isVariableDeclaration(node); + var isLocalImport = !(target.flags & 512 /* SymbolFlags.ValueModule */) && !ts.isVariableDeclaration(node); addResult(ts.factory.createImportEqualsDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), isLocalImport - ? symbolToName(target, context, 67108863 /* All */, /*expectsIdentifier*/ false) - : ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)))), isLocalImport ? modifierFlags : 0 /* None */); + ? symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false) + : ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)))), isLocalImport ? modifierFlags : 0 /* ModifierFlags.None */); break; - case 264 /* NamespaceExportDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: // export as namespace foo // TODO: Not part of a file's local or export symbol tables // Is bound into file.symbol.globalExports instead, which we don't currently traverse - addResult(ts.factory.createNamespaceExportDeclaration(ts.idText(node.name)), 0 /* None */); + addResult(ts.factory.createNamespaceExportDeclaration(ts.idText(node.name)), 0 /* ModifierFlags.None */); break; - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: addResult(ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), @@ -54653,21 +54894,21 @@ var ts; // And then made into a default by the `esModuleInterop` or `allowSyntheticDefaultImports` flag // In such cases, the `target` refers to the module itself already ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), - /*assertClause*/ undefined), 0 /* None */); + /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: addResult(ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), - /*assertClause*/ undefined), 0 /* None */); + /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; - case 274 /* NamespaceExport */: + case 274 /* SyntaxKind.NamespaceExport */: addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(localName)), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context))), 0 /* None */); + /*isTypeOnly*/ false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(localName)), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context))), 0 /* ModifierFlags.None */); break; - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: addResult(ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause( @@ -54676,9 +54917,9 @@ var ts; ts.factory.createImportSpecifier( /*isTypeOnly*/ false, localName !== verbatimTargetName ? ts.factory.createIdentifier(verbatimTargetName) : undefined, ts.factory.createIdentifier(localName)) ])), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), - /*assertClause*/ undefined), 0 /* None */); + /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; - case 275 /* ExportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: // does not use localName because the symbol name in this case refers to the name in the exports table, // which we must exactly preserve var specifier = node.parent.parent.moduleSpecifier; @@ -54686,16 +54927,16 @@ var ts; // another file serializeExportSpecifier(ts.unescapeLeadingUnderscores(symbol.escapedName), specifier ? verbatimTargetName : targetName, specifier && ts.isStringLiteralLike(specifier) ? ts.factory.createStringLiteral(specifier.text) : undefined); break; - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: serializeMaybeAliasAssignment(symbol); break; - case 221 /* BinaryExpression */: - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 221 /* SyntaxKind.BinaryExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: // Could be best encoded as though an export specifier or as though an export assignment // If name is default or export=, do an export assignment // Otherwise do an export specifier - if (symbol.escapedName === "default" /* Default */ || symbol.escapedName === "export=" /* ExportEquals */) { + if (symbol.escapedName === "default" /* InternalSymbolName.Default */ || symbol.escapedName === "export=" /* InternalSymbolName.ExportEquals */) { serializeMaybeAliasAssignment(symbol); } else { @@ -54710,18 +54951,18 @@ var ts; addResult(ts.factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, localName !== targetName ? targetName : undefined, localName)]), specifier), 0 /* None */); + /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, localName !== targetName ? targetName : undefined, localName)]), specifier), 0 /* ModifierFlags.None */); } /** * Returns `true` if an export assignment or declaration was produced for the symbol */ function serializeMaybeAliasAssignment(symbol) { - if (symbol.flags & 4194304 /* Prototype */) { + if (symbol.flags & 4194304 /* SymbolFlags.Prototype */) { return false; } var name = ts.unescapeLeadingUnderscores(symbol.escapedName); - var isExportEquals = name === "export=" /* ExportEquals */; - var isDefault = name === "default" /* Default */; + var isExportEquals = name === "export=" /* InternalSymbolName.ExportEquals */; + var isDefault = name === "default" /* InternalSymbolName.Default */; var isExportAssignmentCompatibleSymbolName = isExportEquals || isDefault; // synthesize export = ref // ref should refer to either be a locally scoped symbol which we need to emit, or @@ -54736,7 +54977,7 @@ var ts; // Technically, this is all that's required in the case where the assignment is an entity name expression var expr = aliasDecl && ((ts.isExportAssignment(aliasDecl) || ts.isBinaryExpression(aliasDecl)) ? ts.getExportAssignmentExpression(aliasDecl) : ts.getPropertyAssignmentAliasLikeExpression(aliasDecl)); var first_1 = expr && ts.isEntityNameExpression(expr) ? getFirstNonModuleExportsIdentifier(expr) : undefined; - var referenced = first_1 && resolveEntityName(first_1, 67108863 /* All */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, enclosingDeclaration); + var referenced = first_1 && resolveEntityName(first_1, 67108863 /* SymbolFlags.All */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, enclosingDeclaration); if (referenced || target) { includePrivateSymbol(referenced || target); } @@ -54750,7 +54991,7 @@ var ts; if (isExportAssignmentCompatibleSymbolName) { results.push(ts.factory.createExportAssignment( /*decorators*/ undefined, - /*modifiers*/ undefined, isExportEquals, symbolToExpression(target, context, 67108863 /* All */))); + /*modifiers*/ undefined, isExportEquals, symbolToExpression(target, context, 67108863 /* SymbolFlags.All */))); } else { if (first_1 === expr && first_1) { @@ -54766,7 +55007,7 @@ var ts; addResult(ts.factory.createImportEqualsDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createIdentifier(varName), symbolToName(target, context, 67108863 /* All */, /*expectsIdentifier*/ false)), 0 /* None */); + /*isTypeOnly*/ false, ts.factory.createIdentifier(varName), symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false)), 0 /* ModifierFlags.None */); serializeExportSpecifier(name, varName); } } @@ -54781,17 +55022,17 @@ var ts; var typeToSerialize = getWidenedType(getTypeOfSymbol(getMergedSymbol(symbol))); if (isTypeRepresentableAsFunctionNamespaceMerge(typeToSerialize, symbol)) { // If there are no index signatures and `typeToSerialize` is an object type, emit as a namespace instead of a const - serializeAsFunctionNamespaceMerge(typeToSerialize, symbol, varName, isExportAssignmentCompatibleSymbolName ? 0 /* None */ : 1 /* Export */); + serializeAsFunctionNamespaceMerge(typeToSerialize, symbol, varName, isExportAssignmentCompatibleSymbolName ? 0 /* ModifierFlags.None */ : 1 /* ModifierFlags.Export */); } else { var statement = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ ts.factory.createVariableDeclaration(varName, /*exclamationToken*/ undefined, serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)) - ], 2 /* Const */)); + ], 2 /* NodeFlags.Const */)); // Inlined JSON types exported with [module.]exports= will already emit an export=, so should use `declare`. // Otherwise, the type itself should be exported. - addResult(statement, target && target.flags & 4 /* Property */ && target.escapedName === "export=" /* ExportEquals */ ? 2 /* Ambient */ - : name === varName ? 1 /* Export */ - : 0 /* None */); + addResult(statement, target && target.flags & 4 /* SymbolFlags.Property */ && target.escapedName === "export=" /* InternalSymbolName.ExportEquals */ ? 2 /* ModifierFlags.Ambient */ + : name === varName ? 1 /* ModifierFlags.Export */ + : 0 /* ModifierFlags.None */); } if (isExportAssignmentCompatibleSymbolName) { results.push(ts.factory.createExportAssignment( @@ -54811,11 +55052,11 @@ var ts; // context source file, and whose property names are all valid identifiers and not late-bound, _and_ // whose input is not type annotated (if the input symbol has an annotation we can reuse, we should prefer it) var ctxSrc = ts.getSourceFileOfNode(context.enclosingDeclaration); - return ts.getObjectFlags(typeToSerialize) & (16 /* Anonymous */ | 32 /* Mapped */) && + return ts.getObjectFlags(typeToSerialize) & (16 /* ObjectFlags.Anonymous */ | 32 /* ObjectFlags.Mapped */) && !ts.length(getIndexInfosOfType(typeToSerialize)) && !isClassInstanceSide(typeToSerialize) && // While a class instance is potentially representable as a NS, prefer printing a reference to the instance type and serializing the class - !!(ts.length(ts.filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || ts.length(getSignaturesOfType(typeToSerialize, 0 /* Call */))) && - !ts.length(getSignaturesOfType(typeToSerialize, 1 /* Construct */)) && // TODO: could probably serialize as function + ns + class, now that that's OK + !!(ts.length(ts.filter(getPropertiesOfType(typeToSerialize), isNamespaceMember)) || ts.length(getSignaturesOfType(typeToSerialize, 0 /* SignatureKind.Call */))) && + !ts.length(getSignaturesOfType(typeToSerialize, 1 /* SignatureKind.Construct */)) && // TODO: could probably serialize as function + ns + class, now that that's OK !getDeclarationWithTypeAnnotation(hostSymbol, enclosingDeclaration) && !(typeToSerialize.symbol && ts.some(typeToSerialize.symbol.declarations, function (d) { return ts.getSourceFileOfNode(d) !== ctxSrc; })) && !ts.some(getPropertiesOfType(typeToSerialize), function (p) { return isLateBoundName(p.escapedName); }) && @@ -54826,25 +55067,25 @@ var ts; return function serializePropertySymbol(p, isStatic, baseType) { var _a, _b, _c, _d, _e; var modifierFlags = ts.getDeclarationModifierFlagsFromSymbol(p); - var isPrivate = !!(modifierFlags & 8 /* Private */); - if (isStatic && (p.flags & (788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */))) { + var isPrivate = !!(modifierFlags & 8 /* ModifierFlags.Private */); + if (isStatic && (p.flags & (788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */))) { // Only value-only-meaning symbols can be correctly encoded as class statics, type/namespace/alias meaning symbols // need to be merged namespace members return []; } - if (p.flags & 4194304 /* Prototype */ || + if (p.flags & 4194304 /* SymbolFlags.Prototype */ || (baseType && getPropertyOfType(baseType, p.escapedName) && isReadonlySymbol(getPropertyOfType(baseType, p.escapedName)) === isReadonlySymbol(p) - && (p.flags & 16777216 /* Optional */) === (getPropertyOfType(baseType, p.escapedName).flags & 16777216 /* Optional */) + && (p.flags & 16777216 /* SymbolFlags.Optional */) === (getPropertyOfType(baseType, p.escapedName).flags & 16777216 /* SymbolFlags.Optional */) && isTypeIdenticalTo(getTypeOfSymbol(p), getTypeOfPropertyOfType(baseType, p.escapedName)))) { return []; } - var flag = (modifierFlags & ~256 /* Async */) | (isStatic ? 32 /* Static */ : 0); + var flag = (modifierFlags & ~256 /* ModifierFlags.Async */) | (isStatic ? 32 /* ModifierFlags.Static */ : 0); var name = getPropertyNameNodeForSymbol(p, context); var firstPropertyLikeDecl = (_a = p.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.or(ts.isPropertyDeclaration, ts.isAccessor, ts.isVariableDeclaration, ts.isPropertySignature, ts.isBinaryExpression, ts.isPropertyAccessExpression)); - if (p.flags & 98304 /* Accessor */ && useAccessors) { + if (p.flags & 98304 /* SymbolFlags.Accessor */ && useAccessors) { var result = []; - if (p.flags & 65536 /* SetAccessor */) { + if (p.flags & 65536 /* SymbolFlags.SetAccessor */) { result.push(ts.setTextRange(ts.factory.createSetAccessorDeclaration( /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(flag), name, [ts.factory.createParameterDeclaration( /*decorators*/ undefined, @@ -54853,8 +55094,8 @@ var ts; /*questionToken*/ undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled))], /*body*/ undefined), ((_b = p.declarations) === null || _b === void 0 ? void 0 : _b.find(ts.isSetAccessor)) || firstPropertyLikeDecl)); } - if (p.flags & 32768 /* GetAccessor */) { - var isPrivate_1 = modifierFlags & 8 /* Private */; + if (p.flags & 32768 /* SymbolFlags.GetAccessor */) { + var isPrivate_1 = modifierFlags & 8 /* ModifierFlags.Private */; result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration( /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), /*body*/ undefined), ((_c = p.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isGetAccessor)) || firstPropertyLikeDecl)); @@ -54863,19 +55104,19 @@ var ts; } // This is an else/if as accessors and properties can't merge in TS, but might in JS // If this happens, we assume the accessor takes priority, as it imposes more constraints - else if (p.flags & (4 /* Property */ | 3 /* Variable */ | 98304 /* Accessor */)) { + else if (p.flags & (4 /* SymbolFlags.Property */ | 3 /* SymbolFlags.Variable */ | 98304 /* SymbolFlags.Accessor */)) { return ts.setTextRange(createProperty( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), name, p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357 // interface members can't have initializers, however class members _can_ /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl); } - if (p.flags & (8192 /* Method */ | 16 /* Function */)) { + if (p.flags & (8192 /* SymbolFlags.Method */ | 16 /* SymbolFlags.Function */)) { var type = getTypeOfSymbol(p); - var signatures = getSignaturesOfType(type, 0 /* Call */); - if (flag & 8 /* Private */) { + var signatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); + if (flag & 8 /* ModifierFlags.Private */) { return ts.setTextRange(createProperty( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* Readonly */ : 0) | flag), name, p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, + /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, /*type*/ undefined, /*initializer*/ undefined), ((_e = p.declarations) === null || _e === void 0 ? void 0 : _e.find(ts.isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); } @@ -54885,7 +55126,7 @@ var ts; // Each overload becomes a separate method declaration, in order var decl = signatureToSignatureDeclarationHelper(sig, methodKind, context, { name: name, - questionToken: p.flags & 16777216 /* Optional */ ? ts.factory.createToken(57 /* QuestionToken */) : undefined, + questionToken: p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, modifiers: flag ? ts.factory.createModifiersFromModifierFlags(flag) : undefined }); var location = sig.declaration && ts.isPrototypePropertyAssignment(sig.declaration.parent) ? sig.declaration.parent : sig.declaration; @@ -54894,7 +55135,7 @@ var ts; return results_1; } // The `Constructor`'s symbol isn't in the class's properties lists, obviously, since it's a signature on the static - return ts.Debug.fail("Unhandled class member kind! " + (p.__debugFlags || p.flags)); + return ts.Debug.fail("Unhandled class member kind! ".concat(p.__debugFlags || p.flags)); }; } function serializePropertySymbolForInterface(p, baseType) { @@ -54902,13 +55143,13 @@ var ts; } function serializeSignatures(kind, input, baseType, outputKind) { var signatures = getSignaturesOfType(input, kind); - if (kind === 1 /* Construct */) { + if (kind === 1 /* SignatureKind.Construct */) { if (!baseType && ts.every(signatures, function (s) { return ts.length(s.parameters) === 0; })) { return []; // No base type, every constructor is empty - elide the extraneous `constructor()` } if (baseType) { // If there is a base type, if every signature in the class is identical to a signature in the baseType, elide all the declarations - var baseSigs = getSignaturesOfType(baseType, 1 /* Construct */); + var baseSigs = getSignaturesOfType(baseType, 1 /* SignatureKind.Construct */); if (!ts.length(baseSigs) && ts.every(signatures, function (s) { return ts.length(s.parameters) === 0; })) { return []; // Base had no explicit signatures, if all our signatures are also implicit, return an empty list } @@ -54929,7 +55170,7 @@ var ts; for (var _i = 0, signatures_4 = signatures; _i < signatures_4.length; _i++) { var s = signatures_4[_i]; if (s.declaration) { - privateProtected |= ts.getSelectedEffectiveModifierFlags(s.declaration, 8 /* Private */ | 16 /* Protected */); + privateProtected |= ts.getSelectedEffectiveModifierFlags(s.declaration, 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */); } } if (privateProtected) { @@ -54965,15 +55206,15 @@ var ts; return results; } function serializeBaseType(t, staticType, rootName) { - var ref = trySerializeAsTypeReference(t, 111551 /* Value */); + var ref = trySerializeAsTypeReference(t, 111551 /* SymbolFlags.Value */); if (ref) { return ref; } - var tempName = getUnusedName(rootName + "_base"); + var tempName = getUnusedName("".concat(rootName, "_base")); var statement = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ ts.factory.createVariableDeclaration(tempName, /*exclamationToken*/ undefined, typeToTypeNodeHelper(staticType, context)) - ], 2 /* Const */)); - addResult(statement, 0 /* None */); + ], 2 /* NodeFlags.Const */)); + addResult(statement, 0 /* ModifierFlags.None */); return ts.factory.createExpressionWithTypeArguments(ts.factory.createIdentifier(tempName), /*typeArgs*/ undefined); } function trySerializeAsTypeReference(t, flags) { @@ -54983,22 +55224,22 @@ var ts; // which we can't write out in a syntactically valid way as an expression if (t.target && isSymbolAccessibleByFlags(t.target.symbol, enclosingDeclaration, flags)) { typeArgs = ts.map(getTypeArguments(t), function (t) { return typeToTypeNodeHelper(t, context); }); - reference = symbolToExpression(t.target.symbol, context, 788968 /* Type */); + reference = symbolToExpression(t.target.symbol, context, 788968 /* SymbolFlags.Type */); } else if (t.symbol && isSymbolAccessibleByFlags(t.symbol, enclosingDeclaration, flags)) { - reference = symbolToExpression(t.symbol, context, 788968 /* Type */); + reference = symbolToExpression(t.symbol, context, 788968 /* SymbolFlags.Type */); } if (reference) { return ts.factory.createExpressionWithTypeArguments(reference, typeArgs); } } function serializeImplementedType(t) { - var ref = trySerializeAsTypeReference(t, 788968 /* Type */); + var ref = trySerializeAsTypeReference(t, 788968 /* SymbolFlags.Type */); if (ref) { return ref; } if (t.symbol) { - return ts.factory.createExpressionWithTypeArguments(symbolToExpression(t.symbol, context, 788968 /* Type */), /*typeArgs*/ undefined); + return ts.factory.createExpressionWithTypeArguments(symbolToExpression(t.symbol, context, 788968 /* SymbolFlags.Type */), /*typeArgs*/ undefined); } } function getUnusedName(input, symbol) { @@ -55016,7 +55257,7 @@ var ts; var original = input; while ((_a = context.usedSymbolNames) === null || _a === void 0 ? void 0 : _a.has(input)) { i++; - input = original + "_" + i; + input = "".concat(original, "_").concat(i); } (_b = context.usedSymbolNames) === null || _b === void 0 ? void 0 : _b.add(input); if (id) { @@ -55025,17 +55266,17 @@ var ts; return input; } function getNameCandidateWorker(symbol, localName) { - if (localName === "default" /* Default */ || localName === "__class" /* Class */ || localName === "__function" /* Function */) { + if (localName === "default" /* InternalSymbolName.Default */ || localName === "__class" /* InternalSymbolName.Class */ || localName === "__function" /* InternalSymbolName.Function */) { var flags = context.flags; - context.flags |= 16777216 /* InInitialEntityName */; + context.flags |= 16777216 /* NodeBuilderFlags.InInitialEntityName */; var nameCandidate = getNameOfSymbolAsWritten(symbol, context); context.flags = flags; localName = nameCandidate.length > 0 && ts.isSingleOrDoubleQuote(nameCandidate.charCodeAt(0)) ? ts.stripQuotes(nameCandidate) : nameCandidate; } - if (localName === "default" /* Default */) { + if (localName === "default" /* InternalSymbolName.Default */) { localName = "_default"; } - else if (localName === "export=" /* ExportEquals */) { + else if (localName === "export=" /* InternalSymbolName.ExportEquals */) { localName = "_exports"; } localName = ts.isIdentifierText(localName, languageVersion) && !ts.isStringANonContextualKeyword(localName) ? localName : "_" + localName.replace(/[^a-zA-Z0-9]/g, "_"); @@ -55054,14 +55295,14 @@ var ts; } } function typePredicateToString(typePredicate, enclosingDeclaration, flags, writer) { - if (flags === void 0) { flags = 16384 /* UseAliasDefinedOutsideCurrentScope */; } + if (flags === void 0) { flags = 16384 /* TypeFormatFlags.UseAliasDefinedOutsideCurrentScope */; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { - var predicate = ts.factory.createTypePredicateNode(typePredicate.kind === 2 /* AssertsThis */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? ts.factory.createToken(128 /* AssertsKeyword */) : undefined, typePredicate.kind === 1 /* Identifier */ || typePredicate.kind === 3 /* AssertsIdentifier */ ? ts.factory.createIdentifier(typePredicate.parameterName) : ts.factory.createThisTypeNode(), typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */) // TODO: GH#18217 + var predicate = ts.factory.createTypePredicateNode(typePredicate.kind === 2 /* TypePredicateKind.AssertsThis */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.factory.createToken(128 /* SyntaxKind.AssertsKeyword */) : undefined, typePredicate.kind === 1 /* TypePredicateKind.Identifier */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.factory.createIdentifier(typePredicate.parameterName) : ts.factory.createThisTypeNode(), typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */) // TODO: GH#18217 ); var printer = ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); - printer.writeNode(4 /* Unspecified */, predicate, /*sourceFile*/ sourceFile, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, predicate, /*sourceFile*/ sourceFile, writer); return writer; } } @@ -55071,10 +55312,10 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; flags |= t.flags; - if (!(t.flags & 98304 /* Nullable */)) { - if (t.flags & (512 /* BooleanLiteral */ | 1024 /* EnumLiteral */)) { - var baseType = t.flags & 512 /* BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); - if (baseType.flags & 1048576 /* Union */) { + if (!(t.flags & 98304 /* TypeFlags.Nullable */)) { + if (t.flags & (512 /* TypeFlags.BooleanLiteral */ | 1024 /* TypeFlags.EnumLiteral */)) { + var baseType = t.flags & 512 /* TypeFlags.BooleanLiteral */ ? booleanType : getBaseTypeOfEnumLiteralType(t); + if (baseType.flags & 1048576 /* TypeFlags.Union */) { var count = baseType.types.length; if (i + count <= types.length && getRegularTypeOfLiteralType(types[i + count - 1]) === getRegularTypeOfLiteralType(baseType.types[count - 1])) { result.push(baseType); @@ -55086,25 +55327,25 @@ var ts; result.push(t); } } - if (flags & 65536 /* Null */) + if (flags & 65536 /* TypeFlags.Null */) result.push(nullType); - if (flags & 32768 /* Undefined */) + if (flags & 32768 /* TypeFlags.Undefined */) result.push(undefinedType); return result || types; } function visibilityToString(flags) { - if (flags === 8 /* Private */) { + if (flags === 8 /* ModifierFlags.Private */) { return "private"; } - if (flags === 16 /* Protected */) { + if (flags === 16 /* ModifierFlags.Protected */) { return "protected"; } return "public"; } function getTypeAliasForTypeLiteral(type) { - if (type.symbol && type.symbol.flags & 2048 /* TypeLiteral */ && type.symbol.declarations) { + if (type.symbol && type.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */ && type.symbol.declarations) { var node = ts.walkUpParenthesizedTypes(type.symbol.declarations[0].parent); - if (node.kind === 259 /* TypeAliasDeclaration */) { + if (node.kind === 259 /* SyntaxKind.TypeAliasDeclaration */) { return getSymbolOfNode(node); } } @@ -55112,27 +55353,27 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 262 /* ModuleBlock */ && + node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 305 /* SourceFile */ || ts.isAmbientModule(location); + return location.kind === 305 /* SyntaxKind.SourceFile */ || ts.isAmbientModule(location); } function getNameOfSymbolFromNameType(symbol, context) { var nameType = getSymbolLinks(symbol).nameType; if (nameType) { - if (nameType.flags & 384 /* StringOrNumberLiteral */) { + if (nameType.flags & 384 /* TypeFlags.StringOrNumberLiteral */) { var name = "" + nameType.value; if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !ts.isNumericLiteralName(name)) { - return "\"" + ts.escapeString(name, 34 /* doubleQuote */) + "\""; + return "\"".concat(ts.escapeString(name, 34 /* CharacterCodes.doubleQuote */), "\""); } if (ts.isNumericLiteralName(name) && ts.startsWith(name, "-")) { - return "[" + name + "]"; + return "[".concat(name, "]"); } return name; } - if (nameType.flags & 8192 /* UniqueESSymbol */) { - return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]"; + if (nameType.flags & 8192 /* TypeFlags.UniqueESSymbol */) { + return "[".concat(getNameOfSymbolAsWritten(nameType.symbol, context), "]"); } } } @@ -55144,9 +55385,9 @@ var ts; * It will also use a representation of a number as written instead of a decimal form, e.g. `0o11` instead of `9`. */ function getNameOfSymbolAsWritten(symbol, context) { - if (context && symbol.escapedName === "default" /* Default */ && !(context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */) && + if (context && symbol.escapedName === "default" /* InternalSymbolName.Default */ && !(context.flags & 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */) && // If it's not the first part of an entity name, it must print as `default` - (!(context.flags & 16777216 /* InInitialEntityName */) || + (!(context.flags & 16777216 /* NodeBuilderFlags.InInitialEntityName */) || // if the symbol is synthesized, it will only be referenced externally it must print as `default` !symbol.declarations || // if not in the same binding context (source file, module declaration), it must print as `default` @@ -55160,9 +55401,9 @@ var ts; if (ts.isCallExpression(declaration) && ts.isBindableObjectDefinePropertyCall(declaration)) { return ts.symbolName(symbol); } - if (ts.isComputedPropertyName(name_4) && !(ts.getCheckFlags(symbol) & 4096 /* Late */)) { + if (ts.isComputedPropertyName(name_4) && !(ts.getCheckFlags(symbol) & 4096 /* CheckFlags.Late */)) { var nameType = getSymbolLinks(symbol).nameType; - if (nameType && nameType.flags & 384 /* StringOrNumberLiteral */) { + if (nameType && nameType.flags & 384 /* TypeFlags.StringOrNumberLiteral */) { // Computed property name isn't late bound, but has a well-known name type - use name type to generate a symbol name var result = getNameOfSymbolFromNameType(symbol, context); if (result !== undefined) { @@ -55175,17 +55416,17 @@ var ts; if (!declaration) { declaration = symbol.declarations[0]; // Declaration may be nameless, but we'll try anyway } - if (declaration.parent && declaration.parent.kind === 254 /* VariableDeclaration */) { + if (declaration.parent && declaration.parent.kind === 254 /* SyntaxKind.VariableDeclaration */) { return ts.declarationNameToString(declaration.parent.name); } switch (declaration.kind) { - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - if (context && !context.encounteredError && !(context.flags & 131072 /* AllowAnonymousIdentifier */)) { + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + if (context && !context.encounteredError && !(context.flags & 131072 /* NodeBuilderFlags.AllowAnonymousIdentifier */)) { context.encounteredError = true; } - return declaration.kind === 226 /* ClassExpression */ ? "(Anonymous class)" : "(Anonymous function)"; + return declaration.kind === 226 /* SyntaxKind.ClassExpression */ ? "(Anonymous class)" : "(Anonymous function)"; } } var name = getNameOfSymbolFromNameType(symbol, context); @@ -55202,84 +55443,84 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 338 /* JSDocCallbackTag */: - case 345 /* JSDocTypedefTag */: - case 339 /* JSDocEnumTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: // Top-level jsdoc type aliases are considered exported // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return isDeclarationVisible(node.parent.parent); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { // If the binding pattern is empty, this variable declaration is not visible return false; } // falls through - case 261 /* ModuleDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 256 /* FunctionDeclaration */: - case 260 /* EnumDeclaration */: - case 265 /* ImportEqualsDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: // external module augmentation is always visible if (ts.isExternalModuleAugmentation(node)) { return true; } var parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) - if (!(ts.getCombinedModifierFlags(node) & 1 /* Export */) && - !(node.kind !== 265 /* ImportEqualsDeclaration */ && parent.kind !== 305 /* SourceFile */ && parent.flags & 16777216 /* Ambient */)) { + if (!(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */) && + !(node.kind !== 265 /* SyntaxKind.ImportEqualsDeclaration */ && parent.kind !== 305 /* SyntaxKind.SourceFile */ && parent.flags & 16777216 /* NodeFlags.Ambient */)) { return isGlobalSourceFile(parent); } // Exported members/ambient module elements (exception import declaration) are visible if parent is visible return isDeclarationVisible(parent); - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - if (ts.hasEffectiveModifier(node, 8 /* Private */ | 16 /* Protected */)) { + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + if (ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) { // Private/protected properties/methods are not visible return false; } // Public properties/methods are visible if its parents are visible, so: // falls through - case 171 /* Constructor */: - case 175 /* ConstructSignature */: - case 174 /* CallSignature */: - case 176 /* IndexSignature */: - case 164 /* Parameter */: - case 262 /* ModuleBlock */: - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 182 /* TypeLiteral */: - case 178 /* TypeReference */: - case 183 /* ArrayType */: - case 184 /* TupleType */: - case 187 /* UnionType */: - case 188 /* IntersectionType */: - case 191 /* ParenthesizedType */: - case 197 /* NamedTupleMember */: + case 171 /* SyntaxKind.Constructor */: + case 175 /* SyntaxKind.ConstructSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 164 /* SyntaxKind.Parameter */: + case 262 /* SyntaxKind.ModuleBlock */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 178 /* SyntaxKind.TypeReference */: + case 183 /* SyntaxKind.ArrayType */: + case 184 /* SyntaxKind.TupleType */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 197 /* SyntaxKind.NamedTupleMember */: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible // only on demand so by default it is not visible - case 267 /* ImportClause */: - case 268 /* NamespaceImport */: - case 270 /* ImportSpecifier */: + case 267 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.NamespaceImport */: + case 270 /* SyntaxKind.ImportSpecifier */: return false; // Type parameters are always visible - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: // Source file and namespace export are always visible // falls through - case 305 /* SourceFile */: - case 264 /* NamespaceExportDeclaration */: + case 305 /* SyntaxKind.SourceFile */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: return true; // Export assignments do not create name bindings outside the module - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return false; default: return false; @@ -55288,11 +55529,11 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 271 /* ExportAssignment */) { - exportSymbol = resolveName(node, node.escapedText, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); + if (node.parent && node.parent.kind === 271 /* SyntaxKind.ExportAssignment */) { + exportSymbol = resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); } - else if (node.parent.kind === 275 /* ExportSpecifier */) { - exportSymbol = getTargetOfExportSpecifier(node.parent, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); + else if (node.parent.kind === 275 /* SyntaxKind.ExportSpecifier */) { + exportSymbol = getTargetOfExportSpecifier(node.parent, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); } var result; var visited; @@ -55316,7 +55557,7 @@ var ts; // Add the referenced top container visible var internalModuleReference = declaration.moduleReference; var firstIdentifier = ts.getFirstIdentifier(internalModuleReference); - var importSymbol = resolveName(declaration, firstIdentifier.escapedText, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */, undefined, undefined, /*isUse*/ false); + var importSymbol = resolveName(declaration, firstIdentifier.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, undefined, undefined, /*isUse*/ false); if (importSymbol && visited) { if (ts.tryAddToSet(visited, getSymbolId(importSymbol))) { buildVisibleNodeList(importSymbol.declarations); @@ -55365,23 +55606,23 @@ var ts; } function hasType(target, propertyName) { switch (propertyName) { - case 0 /* Type */: + case 0 /* TypeSystemPropertyName.Type */: return !!getSymbolLinks(target).type; - case 5 /* EnumTagType */: + case 5 /* TypeSystemPropertyName.EnumTagType */: return !!(getNodeLinks(target).resolvedEnumType); - case 2 /* DeclaredType */: + case 2 /* TypeSystemPropertyName.DeclaredType */: return !!getSymbolLinks(target).declaredType; - case 1 /* ResolvedBaseConstructorType */: + case 1 /* TypeSystemPropertyName.ResolvedBaseConstructorType */: return !!target.resolvedBaseConstructorType; - case 3 /* ResolvedReturnType */: + case 3 /* TypeSystemPropertyName.ResolvedReturnType */: return !!target.resolvedReturnType; - case 4 /* ImmediateBaseConstraint */: + case 4 /* TypeSystemPropertyName.ImmediateBaseConstraint */: return !!target.immediateBaseConstraint; - case 6 /* ResolvedTypeArguments */: + case 6 /* TypeSystemPropertyName.ResolvedTypeArguments */: return !!target.resolvedTypeArguments; - case 7 /* ResolvedBaseTypes */: + case 7 /* TypeSystemPropertyName.ResolvedBaseTypes */: return !!target.baseTypesResolved; - case 8 /* WriteType */: + case 8 /* TypeSystemPropertyName.WriteType */: return !!getSymbolLinks(target).writeType; } return ts.Debug.assertNever(propertyName); @@ -55398,12 +55639,12 @@ var ts; function getDeclarationContainer(node) { return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 254 /* VariableDeclaration */: - case 255 /* VariableDeclarationList */: - case 270 /* ImportSpecifier */: - case 269 /* NamedImports */: - case 268 /* NamespaceImport */: - case 267 /* ImportClause */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 255 /* SyntaxKind.VariableDeclarationList */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 269 /* SyntaxKind.NamedImports */: + case 268 /* SyntaxKind.NamespaceImport */: + case 267 /* SyntaxKind.ImportClause */: return false; default: return true; @@ -55428,28 +55669,28 @@ var ts; return getTypeOfPropertyOfType(type, name) || ((_a = getApplicableIndexInfoForName(type, name)) === null || _a === void 0 ? void 0 : _a.type) || unknownType; } function isTypeAny(type) { - return type && (type.flags & 1 /* Any */) !== 0; + return type && (type.flags & 1 /* TypeFlags.Any */) !== 0; } function isErrorType(type) { // The only 'any' types that have alias symbols are those manufactured by getTypeFromTypeAliasReference for // a reference to an unresolved symbol. We want those to behave like the errorType. - return type === errorType || !!(type.flags & 1 /* Any */ && type.aliasSymbol); + return type === errorType || !!(type.flags & 1 /* TypeFlags.Any */ && type.aliasSymbol); } // Return the type of a binding element parent. We check SymbolLinks first to see if a type has been // assigned by contextual typing. function getTypeForBindingElementParent(node, checkMode) { - if (checkMode !== 0 /* Normal */) { + if (checkMode !== 0 /* CheckMode.Normal */) { return getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false, checkMode); } var symbol = getSymbolOfNode(node); return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, /*includeOptionality*/ false, checkMode); } function getRestType(source, properties, symbol) { - source = filterType(source, function (t) { return !(t.flags & 98304 /* Nullable */); }); - if (source.flags & 131072 /* Never */) { + source = filterType(source, function (t) { return !(t.flags & 98304 /* TypeFlags.Nullable */); }); + if (source.flags & 131072 /* TypeFlags.Never */) { return emptyObjectType; } - if (source.flags & 1048576 /* Union */) { + if (source.flags & 1048576 /* TypeFlags.Union */) { return mapType(source, function (t) { return getRestType(t, properties, symbol); }); } var omitKeyType = getUnionType(ts.map(properties, getLiteralTypeFromPropertyName)); @@ -55457,9 +55698,9 @@ var ts; var unspreadableToRestKeys = []; for (var _i = 0, _a = getPropertiesOfType(source); _i < _a.length; _i++) { var prop = _a[_i]; - var literalTypeFromProperty = getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */); + var literalTypeFromProperty = getLiteralTypeFromProperty(prop, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */); if (!isTypeAssignableTo(literalTypeFromProperty, omitKeyType) - && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */)) + && !(ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) && isSpreadableProperty(prop)) { spreadableProperties.push(prop); } @@ -55474,7 +55715,7 @@ var ts; // they are explicitly omitted, as they would in the non-generic case. omitKeyType = getUnionType(__spreadArray([omitKeyType], unspreadableToRestKeys, true)); } - if (omitKeyType.flags & 131072 /* Never */) { + if (omitKeyType.flags & 131072 /* TypeFlags.Never */) { return source; } var omitTypeAlias = getGlobalOmitSymbol(); @@ -55489,15 +55730,15 @@ var ts; members.set(prop.escapedName, getSpreadSymbol(prop, /*readonly*/ false)); } var result = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(source)); - result.objectFlags |= 4194304 /* ObjectRestType */; + result.objectFlags |= 4194304 /* ObjectFlags.ObjectRestType */; return result; } function isGenericTypeWithUndefinedConstraint(type) { - return !!(type.flags & 465829888 /* Instantiable */) && maybeTypeOfKind(getBaseConstraintOfType(type) || unknownType, 32768 /* Undefined */); + return !!(type.flags & 465829888 /* TypeFlags.Instantiable */) && maybeTypeOfKind(getBaseConstraintOfType(type) || unknownType, 32768 /* TypeFlags.Undefined */); } function getNonUndefinedType(type) { - var typeOrConstraint = someType(type, isGenericTypeWithUndefinedConstraint) ? mapType(type, function (t) { return t.flags & 465829888 /* Instantiable */ ? getBaseConstraintOrType(t) : t; }) : type; - return getTypeWithFacts(typeOrConstraint, 524288 /* NEUndefined */); + var typeOrConstraint = someType(type, isGenericTypeWithUndefinedConstraint) ? mapType(type, function (t) { return t.flags & 465829888 /* TypeFlags.Instantiable */ ? getBaseConstraintOrType(t) : t; }) : type; + return getTypeWithFacts(typeOrConstraint, 524288 /* TypeFacts.NEUndefined */); } // Determine the control flow type associated with a destructuring declaration or assignment. The following // forms of destructuring are possible: @@ -55533,34 +55774,34 @@ var ts; function getParentElementAccess(node) { var ancestor = node.parent.parent; switch (ancestor.kind) { - case 203 /* BindingElement */: - case 296 /* PropertyAssignment */: + case 203 /* SyntaxKind.BindingElement */: + case 296 /* SyntaxKind.PropertyAssignment */: return getSyntheticElementAccess(ancestor); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return getSyntheticElementAccess(node.parent); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return ancestor.initializer; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return ancestor.right; } } function getDestructuringPropertyName(node) { var parent = node.parent; - if (node.kind === 203 /* BindingElement */ && parent.kind === 201 /* ObjectBindingPattern */) { + if (node.kind === 203 /* SyntaxKind.BindingElement */ && parent.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { return getLiteralPropertyNameText(node.propertyName || node.name); } - if (node.kind === 296 /* PropertyAssignment */ || node.kind === 297 /* ShorthandPropertyAssignment */) { + if (node.kind === 296 /* SyntaxKind.PropertyAssignment */ || node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { return getLiteralPropertyNameText(node.name); } return "" + parent.elements.indexOf(node); } function getLiteralPropertyNameText(name) { var type = getLiteralTypeFromPropertyName(name); - return type.flags & (128 /* StringLiteral */ | 256 /* NumberLiteral */) ? "" + type.value : undefined; + return type.flags & (128 /* TypeFlags.StringLiteral */ | 256 /* TypeFlags.NumberLiteral */) ? "" + type.value : undefined; } /** Return the inferred type for a binding element */ function getTypeForBindingElement(declaration) { - var checkMode = declaration.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */; + var checkMode = declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */; var parentType = getTypeForBindingElementParent(declaration.parent.parent, checkMode); return parentType && getBindingElementTypeFromParentType(declaration, parentType); } @@ -55571,18 +55812,18 @@ var ts; } var pattern = declaration.parent; // Relax null check on ambient destructuring parameters, since the parameters have no implementation and are just documentation - if (strictNullChecks && declaration.flags & 16777216 /* Ambient */ && ts.isParameterDeclaration(declaration)) { + if (strictNullChecks && declaration.flags & 16777216 /* NodeFlags.Ambient */ && ts.isParameterDeclaration(declaration)) { parentType = getNonNullableType(parentType); } // Filter `undefined` from the type we check against if the parent has an initializer and that initializer is not possibly `undefined` - else if (strictNullChecks && pattern.parent.initializer && !(getTypeFacts(getTypeOfInitializer(pattern.parent.initializer)) & 65536 /* EQUndefined */)) { - parentType = getTypeWithFacts(parentType, 524288 /* NEUndefined */); + else if (strictNullChecks && pattern.parent.initializer && !(getTypeFacts(getTypeOfInitializer(pattern.parent.initializer)) & 65536 /* TypeFacts.EQUndefined */)) { + parentType = getTypeWithFacts(parentType, 524288 /* TypeFacts.NEUndefined */); } var type; - if (pattern.kind === 201 /* ObjectBindingPattern */) { + if (pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { if (declaration.dotDotDotToken) { parentType = getReducedType(parentType); - if (parentType.flags & 2 /* Unknown */ || !isValidSpreadType(parentType)) { + if (parentType.flags & 2 /* TypeFlags.Unknown */ || !isValidSpreadType(parentType)) { error(declaration, ts.Diagnostics.Rest_types_may_only_be_created_from_object_types); return errorType; } @@ -55599,7 +55840,7 @@ var ts; // Use explicitly specified property name ({ p: xxx } form), or otherwise the implied name ({ p } form) var name = declaration.propertyName || declaration.name; var indexType = getLiteralTypeFromPropertyName(name); - var declaredType = getIndexedAccessType(parentType, indexType, 32 /* ExpressionPosition */, name); + var declaredType = getIndexedAccessType(parentType, indexType, 32 /* AccessFlags.ExpressionPosition */, name); type = getFlowTypeOfDestructuring(declaration, declaredType); } } @@ -55607,7 +55848,7 @@ var ts; // This elementType will be used if the specific property corresponding to this index is not // present (aka the tuple element property). This call also checks that the parentType is in // fact an iterable or array (depending on target language). - var elementType = checkIteratedTypeOrElementType(65 /* Destructuring */ | (declaration.dotDotDotToken ? 0 : 128 /* PossiblyOutOfBounds */), parentType, undefinedType, pattern); + var elementType = checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */ | (declaration.dotDotDotToken ? 0 : 128 /* IterationUse.PossiblyOutOfBounds */), parentType, undefinedType, pattern); var index_2 = pattern.elements.indexOf(declaration); if (declaration.dotDotDotToken) { // If the parent is a tuple type, the rest element has a tuple type of the @@ -55619,7 +55860,7 @@ var ts; } else if (isArrayLikeType(parentType)) { var indexType = getNumberLiteralType(index_2); - var accessFlags = 32 /* ExpressionPosition */ | (hasDefaultValue(declaration) ? 16 /* NoTupleBoundsCheck */ : 0); + var accessFlags = 32 /* AccessFlags.ExpressionPosition */ | (hasDefaultValue(declaration) ? 16 /* AccessFlags.NoTupleBoundsCheck */ : 0); var declaredType = getIndexedAccessTypeOrUndefined(parentType, indexType, accessFlags, declaration.name) || errorType; type = getFlowTypeOfDestructuring(declaration, declaredType); } @@ -55633,9 +55874,9 @@ var ts; if (ts.getEffectiveTypeAnnotationNode(ts.walkUpBindingElementsAndPatterns(declaration))) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. - return strictNullChecks && !(getFalsyFlags(checkDeclarationInitializer(declaration, 0 /* Normal */)) & 32768 /* Undefined */) ? getNonUndefinedType(type) : type; + return strictNullChecks && !(getFalsyFlags(checkDeclarationInitializer(declaration, 0 /* CheckMode.Normal */)) & 32768 /* TypeFlags.Undefined */) ? getNonUndefinedType(type) : type; } - return widenTypeInferredFromInitializer(declaration, getUnionType([getNonUndefinedType(type), checkDeclarationInitializer(declaration, 0 /* Normal */)], 2 /* Subtype */)); + return widenTypeInferredFromInitializer(declaration, getUnionType([getNonUndefinedType(type), checkDeclarationInitializer(declaration, 0 /* CheckMode.Normal */)], 2 /* UnionReduction.Subtype */)); } function getTypeForDeclarationFromJSDocComment(declaration) { var jsdocType = ts.getJSDocType(declaration); @@ -55646,11 +55887,11 @@ var ts; } function isNullOrUndefined(node) { var expr = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return expr.kind === 104 /* NullKeyword */ || expr.kind === 79 /* Identifier */ && getResolvedSymbol(expr) === undefinedSymbol; + return expr.kind === 104 /* SyntaxKind.NullKeyword */ || expr.kind === 79 /* SyntaxKind.Identifier */ && getResolvedSymbol(expr) === undefinedSymbol; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return expr.kind === 204 /* ArrayLiteralExpression */ && expr.elements.length === 0; + return expr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && expr.elements.length === 0; } function addOptionality(type, isProperty, isOptional) { if (isProperty === void 0) { isProperty = false; } @@ -55661,11 +55902,11 @@ var ts; function getTypeForVariableLikeDeclaration(declaration, includeOptionality, checkMode) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* ForInStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */) { var indexType = getIndexType(getNonNullableTypeIfNeeded(checkExpression(declaration.parent.parent.expression, /*checkMode*/ checkMode))); - return indexType.flags & (262144 /* TypeParameter */ | 4194304 /* Index */) ? getExtractStringType(indexType) : stringType; + return indexType.flags & (262144 /* TypeFlags.TypeParameter */ | 4194304 /* TypeFlags.Index */) ? getExtractStringType(indexType) : stringType; } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { // checkRightHandSideOfForOf will return undefined if the for-of expression type was // missing properties/signatures required to get its iteratedType (like // [Symbol.iterator] or next). This may be because we accessed properties from anyType, @@ -55687,11 +55928,11 @@ var ts; } if ((noImplicitAny || ts.isInJSFile(declaration)) && ts.isVariableDeclaration(declaration) && !ts.isBindingPattern(declaration.name) && - !(ts.getCombinedModifierFlags(declaration) & 1 /* Export */) && !(declaration.flags & 16777216 /* Ambient */)) { + !(ts.getCombinedModifierFlags(declaration) & 1 /* ModifierFlags.Export */) && !(declaration.flags & 16777216 /* NodeFlags.Ambient */)) { // If --noImplicitAny is on or the declaration is in a Javascript file, // use control flow tracked 'any' type for non-ambient, non-exported var or let variables with no // initializer or a 'null' or 'undefined' initializer. - if (!(ts.getCombinedNodeFlags(declaration) & 2 /* Const */) && (!declaration.initializer || isNullOrUndefined(declaration.initializer))) { + if (!(ts.getCombinedNodeFlags(declaration) & 2 /* NodeFlags.Const */) && (!declaration.initializer || isNullOrUndefined(declaration.initializer))) { return autoType; } // Use control flow tracked 'any[]' type for non-ambient, non-exported variables with an empty array @@ -55703,8 +55944,8 @@ var ts; if (ts.isParameter(declaration)) { var func = declaration.parent; // For a parameter of a set accessor, use the type of the get accessor if one is present - if (func.kind === 173 /* SetAccessor */ && hasBindableName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 172 /* GetAccessor */); + if (func.kind === 173 /* SyntaxKind.SetAccessor */ && hasBindableName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 172 /* SyntaxKind.GetAccessor */); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -55722,7 +55963,7 @@ var ts; return type_1; } // Use contextual parameter type if one is available - var type = declaration.symbol.escapedName === "this" /* This */ ? getContextualThisParameterType(func) : getContextuallyTypedParameterType(declaration); + var type = declaration.symbol.escapedName === "this" /* InternalSymbolName.This */ ? getContextualThisParameterType(func) : getContextuallyTypedParameterType(declaration); if (type) { return addOptionality(type, /*isProperty*/ false, isOptional); } @@ -55745,14 +55986,14 @@ var ts; if (!ts.hasStaticModifier(declaration)) { var constructor = findConstructorDeclaration(declaration.parent); var type = constructor ? getFlowTypeInConstructor(declaration.symbol, constructor) : - ts.getEffectiveModifierFlags(declaration) & 2 /* Ambient */ ? getTypeOfPropertyInBaseClass(declaration.symbol) : + ts.getEffectiveModifierFlags(declaration) & 2 /* ModifierFlags.Ambient */ ? getTypeOfPropertyInBaseClass(declaration.symbol) : undefined; return type && addOptionality(type, /*isProperty*/ true, isOptional); } else { var staticBlocks = ts.filter(declaration.parent.members, ts.isClassStaticBlockDeclaration); var type = staticBlocks.length ? getFlowTypeInStaticBlocks(declaration.symbol, staticBlocks) : - ts.getEffectiveModifierFlags(declaration) & 2 /* Ambient */ ? getTypeOfPropertyInBaseClass(declaration.symbol) : + ts.getEffectiveModifierFlags(declaration) & 2 /* ModifierFlags.Ambient */ ? getTypeOfPropertyInBaseClass(declaration.symbol) : undefined; return type && addOptionality(type, /*isProperty*/ true, isOptional); } @@ -55781,7 +56022,7 @@ var ts; links.isConstructorDeclaredProperty = !!getDeclaringConstructor(symbol) && ts.every(symbol.declarations, function (declaration) { return ts.isBinaryExpression(declaration) && isPossiblyAliasedThisProperty(declaration) && - (declaration.left.kind !== 207 /* ElementAccessExpression */ || ts.isStringOrNumericLiteralLike(declaration.left.argumentExpression)) && + (declaration.left.kind !== 207 /* SyntaxKind.ElementAccessExpression */ || ts.isStringOrNumericLiteralLike(declaration.left.argumentExpression)) && !getAnnotatedTypeForAssignmentDeclaration(/*declaredType*/ undefined, declaration, symbol, declaration); }); } @@ -55803,7 +56044,7 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; var container = ts.getThisContainer(declaration, /*includeArrowFunctions*/ false); - if (container && (container.kind === 171 /* Constructor */ || isJSConstructor(container))) { + if (container && (container.kind === 171 /* SyntaxKind.Constructor */ || isJSConstructor(container))) { return container; } } @@ -55863,7 +56104,7 @@ var ts; } function getFlowTypeOfProperty(reference, prop) { var initialType = (prop === null || prop === void 0 ? void 0 : prop.valueDeclaration) - && (!isAutoTypedProperty(prop) || ts.getEffectiveModifierFlags(prop.valueDeclaration) & 2 /* Ambient */) + && (!isAutoTypedProperty(prop) || ts.getEffectiveModifierFlags(prop.valueDeclaration) & 2 /* ModifierFlags.Ambient */) && getTypeOfPropertyInBaseClass(prop) || undefinedType; return getFlowTypeOfReference(reference, autoType, initialType); @@ -55902,7 +56143,7 @@ var ts; var kind = ts.isAccessExpression(expression) ? ts.getAssignmentDeclarationPropertyAccessKind(expression) : ts.getAssignmentDeclarationKind(expression); - if (kind === 4 /* ThisProperty */ || ts.isBinaryExpression(expression) && isPossiblyAliasedThisProperty(expression, kind)) { + if (kind === 4 /* AssignmentDeclarationKind.ThisProperty */ || ts.isBinaryExpression(expression) && isPossiblyAliasedThisProperty(expression, kind)) { if (isDeclarationInConstructor(expression)) { definedInConstructor = true; } @@ -55932,12 +56173,12 @@ var ts; definedInConstructor = true; } } - var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~98304 /* Nullable */); }) ? constructorTypes : types; // TODO: GH#18217 - type = getUnionType(sourceTypes, 2 /* Subtype */); + var sourceTypes = ts.some(constructorTypes, function (t) { return !!(t.flags & ~98304 /* TypeFlags.Nullable */); }) ? constructorTypes : types; // TODO: GH#18217 + type = getUnionType(sourceTypes); } } var widened = getWidenedType(addOptionality(type, /*isProperty*/ false, definedInMethod && !definedInConstructor)); - if (symbol.valueDeclaration && filterType(widened, function (t) { return !!(t.flags & ~98304 /* Nullable */); }) === neverType) { + if (symbol.valueDeclaration && filterType(widened, function (t) { return !!(t.flags & ~98304 /* TypeFlags.Nullable */); }) === neverType) { reportImplicitAny(symbol.valueDeclaration, anyType); return anyType; } @@ -55961,7 +56202,7 @@ var ts; mergeSymbolTable(exports, s.exports); } var type = createAnonymousType(symbol, exports, ts.emptyArray, ts.emptyArray, ts.emptyArray); - type.objectFlags |= 4096 /* JSLiteral */; + type.objectFlags |= 4096 /* ObjectFlags.JSLiteral */; return type; } function getAnnotatedTypeForAssignmentDeclaration(declaredType, expression, symbol, declaration) { @@ -56017,13 +56258,13 @@ var ts; if (containsSameNamedThisProperty(expression.left, expression.right)) { return anyType; } - var isDirectExport = kind === 1 /* ExportsProperty */ && (ts.isPropertyAccessExpression(expression.left) || ts.isElementAccessExpression(expression.left)) && (ts.isModuleExportsAccessExpression(expression.left.expression) || (ts.isIdentifier(expression.left.expression) && ts.isExportsIdentifier(expression.left.expression))); + var isDirectExport = kind === 1 /* AssignmentDeclarationKind.ExportsProperty */ && (ts.isPropertyAccessExpression(expression.left) || ts.isElementAccessExpression(expression.left)) && (ts.isModuleExportsAccessExpression(expression.left.expression) || (ts.isIdentifier(expression.left.expression) && ts.isExportsIdentifier(expression.left.expression))); var type = resolvedSymbol ? getTypeOfSymbol(resolvedSymbol) : isDirectExport ? getRegularTypeOfLiteralType(checkExpressionCached(expression.right)) : getWidenedLiteralType(checkExpressionCached(expression.right)); - if (type.flags & 524288 /* Object */ && - kind === 2 /* ModuleExports */ && - symbol.escapedName === "export=" /* ExportEquals */) { + if (type.flags & 524288 /* TypeFlags.Object */ && + kind === 2 /* AssignmentDeclarationKind.ModuleExports */ && + symbol.escapedName === "export=" /* InternalSymbolName.ExportEquals */) { var exportedType = resolveStructuredTypeMembers(type); var members_4 = ts.createSymbolTable(); ts.copyEntries(exportedType.members, members_4); @@ -56035,7 +56276,7 @@ var ts; var _a; var exportedMember = members_4.get(name); if (exportedMember && exportedMember !== s) { - if (s.flags & 111551 /* Value */ && exportedMember.flags & 111551 /* Value */) { + if (s.flags & 111551 /* SymbolFlags.Value */ && exportedMember.flags & 111551 /* SymbolFlags.Value */) { // If the member has an additional value-like declaration, union the types from the two declarations, // but issue an error if they occurred in two different files. The purpose is to support a JS file with // a pattern like: @@ -56068,9 +56309,9 @@ var ts; }); var result = createAnonymousType(initialSize !== members_4.size ? undefined : exportedType.symbol, // Only set the type's symbol if it looks to be the same as the original type members_4, exportedType.callSignatures, exportedType.constructSignatures, exportedType.indexInfos); - result.objectFlags |= (ts.getObjectFlags(type) & 4096 /* JSLiteral */); // Propagate JSLiteral flag - if (result.symbol && result.symbol.flags & 32 /* Class */ && type === getDeclaredTypeOfClassOrInterface(result.symbol)) { - result.objectFlags |= 16777216 /* IsClassInstanceClone */; // Propagate the knowledge that this type is equivalent to the symbol's class instance type + result.objectFlags |= (ts.getObjectFlags(type) & 4096 /* ObjectFlags.JSLiteral */); // Propagate JSLiteral flag + if (result.symbol && result.symbol.flags & 32 /* SymbolFlags.Class */ && type === getDeclaredTypeOfClassOrInterface(result.symbol)) { + result.objectFlags |= 16777216 /* ObjectFlags.IsClassInstanceClone */; // Propagate the knowledge that this type is equivalent to the symbol's class instance type } return result; } @@ -56082,16 +56323,16 @@ var ts; } function containsSameNamedThisProperty(thisProperty, expression) { return ts.isPropertyAccessExpression(thisProperty) - && thisProperty.expression.kind === 108 /* ThisKeyword */ + && thisProperty.expression.kind === 108 /* SyntaxKind.ThisKeyword */ && ts.forEachChildRecursively(expression, function (n) { return isMatchingReference(thisProperty, n); }); } function isDeclarationInConstructor(expression) { var thisContainer = ts.getThisContainer(expression, /*includeArrowFunctions*/ false); // Properties defined in a constructor (or base constructor, or javascript constructor function) don't get undefined added. // Function expressions that are assigned to the prototype count as methods. - return thisContainer.kind === 171 /* Constructor */ || - thisContainer.kind === 256 /* FunctionDeclaration */ || - (thisContainer.kind === 213 /* FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + return thisContainer.kind === 171 /* SyntaxKind.Constructor */ || + thisContainer.kind === 256 /* SyntaxKind.FunctionDeclaration */ || + (thisContainer.kind === 213 /* SyntaxKind.FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); } function getConstructorDefinedThisAssignmentTypes(types, declarations) { ts.Debug.assert(types.length === declarations.length); @@ -56111,7 +56352,7 @@ var ts; // contextual type or, if the element itself is a binding pattern, with the type implied by that binding // pattern. var contextualType = ts.isBindingPattern(element.name) ? getTypeFromBindingPattern(element.name, /*includePatternInType*/ true, /*reportErrors*/ false) : unknownType; - return addOptionality(widenTypeInferredFromInitializer(element, checkDeclarationInitializer(element, 0 /* Normal */, contextualType))); + return addOptionality(widenTypeInferredFromInitializer(element, checkDeclarationInitializer(element, 0 /* CheckMode.Normal */, contextualType))); } if (ts.isBindingPattern(element.name)) { return getTypeFromBindingPattern(element.name, includePatternInType, reportErrors); @@ -56129,7 +56370,7 @@ var ts; function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { var members = ts.createSymbolTable(); var stringIndexInfo; - var objectFlags = 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; + var objectFlags = 128 /* ObjectFlags.ObjectLiteral */ | 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; ts.forEach(pattern.elements, function (e) { var name = e.propertyName || e.name; if (e.dotDotDotToken) { @@ -56139,11 +56380,11 @@ var ts; var exprType = getLiteralTypeFromPropertyName(name); if (!isTypeUsableAsPropertyName(exprType)) { // do not include computed properties in the implied type - objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */; + objectFlags |= 512 /* ObjectFlags.ObjectLiteralPatternWithComputedProperties */; return; } var text = getPropertyNameFromType(exprType); - var flags = 4 /* Property */ | (e.initializer ? 16777216 /* Optional */ : 0); + var flags = 4 /* SymbolFlags.Property */ | (e.initializer ? 16777216 /* SymbolFlags.Optional */ : 0); var symbol = createSymbol(flags, text); symbol.type = getTypeFromBindingElement(e, includePatternInType, reportErrors); symbol.bindingElement = e; @@ -56153,7 +56394,7 @@ var ts; result.objectFlags |= objectFlags; if (includePatternInType) { result.pattern = pattern; - result.objectFlags |= 131072 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; } return result; } @@ -56161,18 +56402,18 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - var restElement = lastElement && lastElement.kind === 203 /* BindingElement */ && lastElement.dotDotDotToken ? lastElement : undefined; + var restElement = lastElement && lastElement.kind === 203 /* SyntaxKind.BindingElement */ && lastElement.dotDotDotToken ? lastElement : undefined; if (elements.length === 0 || elements.length === 1 && restElement) { - return languageVersion >= 2 /* ES2015 */ ? createIterableType(anyType) : anyArrayType; + return languageVersion >= 2 /* ScriptTarget.ES2015 */ ? createIterableType(anyType) : anyArrayType; } var elementTypes = ts.map(elements, function (e) { return ts.isOmittedExpression(e) ? anyType : getTypeFromBindingElement(e, includePatternInType, reportErrors); }); var minLength = ts.findLastIndex(elements, function (e) { return !(e === restElement || ts.isOmittedExpression(e) || hasDefaultValue(e)); }, elements.length - 1) + 1; - var elementFlags = ts.map(elements, function (e, i) { return e === restElement ? 4 /* Rest */ : i >= minLength ? 2 /* Optional */ : 1 /* Required */; }); + var elementFlags = ts.map(elements, function (e, i) { return e === restElement ? 4 /* ElementFlags.Rest */ : i >= minLength ? 2 /* ElementFlags.Optional */ : 1 /* ElementFlags.Required */; }); var result = createTupleType(elementTypes, elementFlags); if (includePatternInType) { result = cloneTypeReference(result); result.pattern = pattern; - result.objectFlags |= 131072 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; } return result; } @@ -56186,7 +56427,7 @@ var ts; function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { if (includePatternInType === void 0) { includePatternInType = false; } if (reportErrors === void 0) { reportErrors = false; } - return pattern.kind === 201 /* ObjectBindingPattern */ + return pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -56200,7 +56441,7 @@ var ts; // binding pattern [x, s = ""]. Because the contextual type is a tuple type, the resulting type of [1, "one"] is the // tuple type [number, string]. Thus, the type inferred for 'x' is number and the type inferred for 's' is string. function getWidenedTypeForVariableLikeDeclaration(declaration, reportErrors) { - return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true, 0 /* Normal */), declaration, reportErrors); + return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true, 0 /* CheckMode.Normal */), declaration, reportErrors); } function isGlobalSymbolConstructor(node) { var symbol = getSymbolOfNode(node); @@ -56210,14 +56451,14 @@ var ts; function widenTypeForVariableLikeDeclaration(type, declaration, reportErrors) { if (type) { // TODO: If back compat with pre-3.0/4.0 libs isn't required, remove the following SymbolConstructor special case transforming `symbol` into `unique symbol` - if (type.flags & 4096 /* ESSymbol */ && isGlobalSymbolConstructor(declaration.parent)) { + if (type.flags & 4096 /* TypeFlags.ESSymbol */ && isGlobalSymbolConstructor(declaration.parent)) { type = getESSymbolLikeTypeForNode(declaration); } if (reportErrors) { reportErrorsFromWidening(declaration, type); } // always widen a 'unique symbol' type if the type was created for a different declaration. - if (type.flags & 8192 /* UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { + if (type.flags & 8192 /* TypeFlags.UniqueESSymbol */ && (ts.isBindingElement(declaration) || !declaration.type) && type.symbol !== getSymbolOfNode(declaration)) { type = esSymbolType; } return getWidenedType(type); @@ -56234,7 +56475,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 164 /* Parameter */ ? root.parent : root; + var memberDeclaration = root.kind === 164 /* SyntaxKind.Parameter */ ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(node) { @@ -56258,14 +56499,14 @@ var ts; } function getTypeOfVariableOrParameterOrPropertyWorker(symbol) { // Handle prototype property - if (symbol.flags & 4194304 /* Prototype */) { + if (symbol.flags & 4194304 /* SymbolFlags.Prototype */) { return getTypeOfPrototypeProperty(symbol); } // CommonsJS require and module both have type any. if (symbol === requireSymbol) { return anyType; } - if (symbol.flags & 134217728 /* ModuleExports */ && symbol.valueDeclaration) { + if (symbol.flags & 134217728 /* SymbolFlags.ModuleExports */ && symbol.valueDeclaration) { var fileSymbol = getSymbolOfNode(ts.getSourceFileOfNode(symbol.valueDeclaration)); var result = createSymbol(fileSymbol.flags, "exports"); result.declarations = fileSymbol.declarations ? fileSymbol.declarations.slice() : []; @@ -56306,15 +56547,15 @@ var ts; return getTypeOfAccessors(symbol); } // Handle variable, parameter or property - if (!pushTypeResolution(symbol, 0 /* Type */)) { + if (!pushTypeResolution(symbol, 0 /* TypeSystemPropertyName.Type */)) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` - if (symbol.flags & 512 /* ValueModule */ && !(symbol.flags & 67108864 /* Assignment */)) { + if (symbol.flags & 512 /* SymbolFlags.ValueModule */ && !(symbol.flags & 67108864 /* SymbolFlags.Assignment */)) { return getTypeOfFuncClassEnumModule(symbol); } return reportCircularityError(symbol); } var type; - if (declaration.kind === 271 /* ExportAssignment */) { + if (declaration.kind === 271 /* SyntaxKind.ExportAssignment */) { type = widenTypeForVariableLikeDeclaration(tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionCached(declaration.expression), declaration); } else if (ts.isBinaryExpression(declaration) || @@ -56333,7 +56574,7 @@ var ts; || ts.isMethodSignature(declaration) || ts.isSourceFile(declaration)) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` - if (symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 384 /* Enum */ | 512 /* ValueModule */)) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */ | 32 /* SymbolFlags.Class */ | 384 /* SymbolFlags.Enum */ | 512 /* SymbolFlags.ValueModule */)) { return getTypeOfFuncClassEnumModule(symbol); } type = ts.isBinaryExpression(declaration.parent) ? @@ -56347,10 +56588,10 @@ var ts; type = tryGetTypeFromEffectiveTypeNode(declaration) || checkJsxAttribute(declaration); } else if (ts.isShorthandPropertyAssignment(declaration)) { - type = tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionForMutableLocation(declaration.name, 0 /* Normal */); + type = tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionForMutableLocation(declaration.name, 0 /* CheckMode.Normal */); } else if (ts.isObjectLiteralMethod(declaration)) { - type = tryGetTypeFromEffectiveTypeNode(declaration) || checkObjectLiteralMethod(declaration, 0 /* Normal */); + type = tryGetTypeFromEffectiveTypeNode(declaration) || checkObjectLiteralMethod(declaration, 0 /* CheckMode.Normal */); } else if (ts.isParameter(declaration) || ts.isPropertyDeclaration(declaration) @@ -56373,7 +56614,7 @@ var ts; } if (!popTypeResolution()) { // Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty` - if (symbol.flags & 512 /* ValueModule */ && !(symbol.flags & 67108864 /* Assignment */)) { + if (symbol.flags & 512 /* SymbolFlags.ValueModule */ && !(symbol.flags & 67108864 /* SymbolFlags.Assignment */)) { return getTypeOfFuncClassEnumModule(symbol); } return reportCircularityError(symbol); @@ -56382,7 +56623,7 @@ var ts; } function getAnnotatedAccessorTypeNode(accessor) { if (accessor) { - if (accessor.kind === 172 /* GetAccessor */) { + if (accessor.kind === 172 /* SyntaxKind.GetAccessor */) { var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); return getterTypeAnnotation; } @@ -56407,11 +56648,11 @@ var ts; function getTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - if (!pushTypeResolution(symbol, 0 /* Type */)) { + if (!pushTypeResolution(symbol, 0 /* TypeSystemPropertyName.Type */)) { return errorType; } - var getter = ts.getDeclarationOfKind(symbol, 172 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 172 /* SyntaxKind.GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 173 /* SyntaxKind.SetAccessor */); // We try to resolve a getter type annotation, a setter type annotation, or a getter function // body return type inference, in that order. var type = getter && ts.isInJSFile(getter) && getTypeForDeclarationFromJSDocComment(getter) || @@ -56446,10 +56687,10 @@ var ts; function getWriteTypeOfAccessors(symbol) { var links = getSymbolLinks(symbol); if (!links.writeType) { - if (!pushTypeResolution(symbol, 8 /* WriteType */)) { + if (!pushTypeResolution(symbol, 8 /* TypeSystemPropertyName.WriteType */)) { return errorType; } - var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 173 /* SyntaxKind.SetAccessor */); var writeType = getAnnotatedAccessorType(setter); if (!popTypeResolution()) { if (getAnnotatedAccessorTypeNode(setter)) { @@ -56464,8 +56705,8 @@ var ts; } function getBaseTypeVariableOfClass(symbol) { var baseConstructorType = getBaseConstructorTypeOfClass(getDeclaredTypeOfClassOrInterface(symbol)); - return baseConstructorType.flags & 8650752 /* TypeVariable */ ? baseConstructorType : - baseConstructorType.flags & 2097152 /* Intersection */ ? ts.find(baseConstructorType.types, function (t) { return !!(t.flags & 8650752 /* TypeVariable */); }) : + return baseConstructorType.flags & 8650752 /* TypeFlags.TypeVariable */ ? baseConstructorType : + baseConstructorType.flags & 2097152 /* TypeFlags.Intersection */ ? ts.find(baseConstructorType.types, function (t) { return !!(t.flags & 8650752 /* TypeFlags.TypeVariable */); }) : undefined; } function getTypeOfFuncClassEnumModule(symbol) { @@ -56486,21 +56727,21 @@ var ts; } function getTypeOfFuncClassEnumModuleWorker(symbol) { var declaration = symbol.valueDeclaration; - if (symbol.flags & 1536 /* Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { + if (symbol.flags & 1536 /* SymbolFlags.Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { return anyType; } - else if (declaration && (declaration.kind === 221 /* BinaryExpression */ || + else if (declaration && (declaration.kind === 221 /* SyntaxKind.BinaryExpression */ || ts.isAccessExpression(declaration) && - declaration.parent.kind === 221 /* BinaryExpression */)) { + declaration.parent.kind === 221 /* SyntaxKind.BinaryExpression */)) { return getWidenedTypeForAssignmentDeclaration(symbol); } - else if (symbol.flags & 512 /* ValueModule */ && declaration && ts.isSourceFile(declaration) && declaration.commonJsModuleIndicator) { + else if (symbol.flags & 512 /* SymbolFlags.ValueModule */ && declaration && ts.isSourceFile(declaration) && declaration.commonJsModuleIndicator) { var resolvedModule = resolveExternalModuleSymbol(symbol); if (resolvedModule !== symbol) { - if (!pushTypeResolution(symbol, 0 /* Type */)) { + if (!pushTypeResolution(symbol, 0 /* TypeSystemPropertyName.Type */)) { return errorType; } - var exportEquals = getMergedSymbol(symbol.exports.get("export=" /* ExportEquals */)); + var exportEquals = getMergedSymbol(symbol.exports.get("export=" /* InternalSymbolName.ExportEquals */)); var type_3 = getWidenedTypeForAssignmentDeclaration(exportEquals, exportEquals === resolvedModule ? undefined : resolvedModule); if (!popTypeResolution()) { return reportCircularityError(symbol); @@ -56508,13 +56749,13 @@ var ts; return type_3; } } - var type = createObjectType(16 /* Anonymous */, symbol); - if (symbol.flags & 32 /* Class */) { + var type = createObjectType(16 /* ObjectFlags.Anonymous */, symbol); + if (symbol.flags & 32 /* SymbolFlags.Class */) { var baseTypeVariable = getBaseTypeVariableOfClass(symbol); return baseTypeVariable ? getIntersectionType([type, baseTypeVariable]) : type; } else { - return strictNullChecks && symbol.flags & 16777216 /* Optional */ ? getOptionalType(type) : type; + return strictNullChecks && symbol.flags & 16777216 /* SymbolFlags.Optional */ ? getOptionalType(type) : type; } } function getTypeOfEnumMember(symbol) { @@ -56535,7 +56776,7 @@ var ts; links.type = (exportSymbol === null || exportSymbol === void 0 ? void 0 : exportSymbol.declarations) && isDuplicatedCommonJSExport(exportSymbol.declarations) && symbol.declarations.length ? getFlowTypeFromCommonJSExport(exportSymbol) : isDuplicatedCommonJSExport(symbol.declarations) ? autoType : declaredType ? declaredType - : targetSymbol.flags & 111551 /* Value */ ? getTypeOfSymbol(targetSymbol) + : targetSymbol.flags & 111551 /* SymbolFlags.Value */ ? getTypeOfSymbol(targetSymbol) : errorType; } return links.type; @@ -56556,7 +56797,7 @@ var ts; return errorType; } // Check if variable has initializer that circularly references the variable itself - if (noImplicitAny && (declaration.kind !== 164 /* Parameter */ || declaration.initializer)) { + if (noImplicitAny && (declaration.kind !== 164 /* SyntaxKind.Parameter */ || declaration.initializer)) { error(symbol.valueDeclaration, ts.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, symbolToString(symbol)); } // Circularities could also result from parameters in function expressions that end up @@ -56569,7 +56810,7 @@ var ts; if (!links.type) { ts.Debug.assertIsDefined(links.deferralParent); ts.Debug.assertIsDefined(links.deferralConstituents); - links.type = links.deferralParent.flags & 1048576 /* Union */ ? getUnionType(links.deferralConstituents) : getIntersectionType(links.deferralConstituents); + links.type = links.deferralParent.flags & 1048576 /* TypeFlags.Union */ ? getUnionType(links.deferralConstituents) : getIntersectionType(links.deferralConstituents); } return links.type; } @@ -56578,7 +56819,7 @@ var ts; if (!links.writeType && links.deferralWriteConstituents) { ts.Debug.assertIsDefined(links.deferralParent); ts.Debug.assertIsDefined(links.deferralConstituents); - links.writeType = links.deferralParent.flags & 1048576 /* Union */ ? getUnionType(links.deferralWriteConstituents) : getIntersectionType(links.deferralWriteConstituents); + links.writeType = links.deferralParent.flags & 1048576 /* TypeFlags.Union */ ? getUnionType(links.deferralWriteConstituents) : getIntersectionType(links.deferralWriteConstituents); } return links.writeType; } @@ -56589,15 +56830,15 @@ var ts; */ function getWriteTypeOfSymbol(symbol) { var checkFlags = ts.getCheckFlags(symbol); - if (symbol.flags & 4 /* Property */) { - return checkFlags & 2 /* SyntheticProperty */ ? - checkFlags & 65536 /* DeferredType */ ? + if (symbol.flags & 4 /* SymbolFlags.Property */) { + return checkFlags & 2 /* CheckFlags.SyntheticProperty */ ? + checkFlags & 65536 /* CheckFlags.DeferredType */ ? getWriteTypeOfSymbolWithDeferredType(symbol) || getTypeOfSymbolWithDeferredType(symbol) : symbol.writeType || symbol.type : getTypeOfSymbol(symbol); } - if (symbol.flags & 98304 /* Accessor */) { - return checkFlags & 1 /* Instantiated */ ? + if (symbol.flags & 98304 /* SymbolFlags.Accessor */) { + return checkFlags & 1 /* CheckFlags.Instantiated */ ? getWriteTypeOfInstantiatedSymbol(symbol) : getWriteTypeOfAccessors(symbol); } @@ -56605,56 +56846,56 @@ var ts; } function getTypeOfSymbol(symbol) { var checkFlags = ts.getCheckFlags(symbol); - if (checkFlags & 65536 /* DeferredType */) { + if (checkFlags & 65536 /* CheckFlags.DeferredType */) { return getTypeOfSymbolWithDeferredType(symbol); } - if (checkFlags & 1 /* Instantiated */) { + if (checkFlags & 1 /* CheckFlags.Instantiated */) { return getTypeOfInstantiatedSymbol(symbol); } - if (checkFlags & 262144 /* Mapped */) { + if (checkFlags & 262144 /* CheckFlags.Mapped */) { return getTypeOfMappedSymbol(symbol); } - if (checkFlags & 8192 /* ReverseMapped */) { + if (checkFlags & 8192 /* CheckFlags.ReverseMapped */) { return getTypeOfReverseMappedSymbol(symbol); } - if (symbol.flags & (3 /* Variable */ | 4 /* Property */)) { + if (symbol.flags & (3 /* SymbolFlags.Variable */ | 4 /* SymbolFlags.Property */)) { return getTypeOfVariableOrParameterOrProperty(symbol); } - if (symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 384 /* Enum */ | 512 /* ValueModule */)) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */ | 32 /* SymbolFlags.Class */ | 384 /* SymbolFlags.Enum */ | 512 /* SymbolFlags.ValueModule */)) { return getTypeOfFuncClassEnumModule(symbol); } - if (symbol.flags & 8 /* EnumMember */) { + if (symbol.flags & 8 /* SymbolFlags.EnumMember */) { return getTypeOfEnumMember(symbol); } - if (symbol.flags & 98304 /* Accessor */) { + if (symbol.flags & 98304 /* SymbolFlags.Accessor */) { return getTypeOfAccessors(symbol); } - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { return getTypeOfAlias(symbol); } return errorType; } function getNonMissingTypeOfSymbol(symbol) { - return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & 16777216 /* Optional */)); + return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & 16777216 /* SymbolFlags.Optional */)); } function isReferenceToType(type, target) { return type !== undefined && target !== undefined - && (ts.getObjectFlags(type) & 4 /* Reference */) !== 0 + && (ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) !== 0 && type.target === target; } function getTargetType(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ ? type.target : type; + return ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ ? type.target : type; } // TODO: GH#18217 If `checkBase` is undefined, we should not call this because this will always return false. function hasBaseType(type, checkBase) { return check(type); function check(type) { - if (ts.getObjectFlags(type) & (3 /* ClassOrInterface */ | 4 /* Reference */)) { + if (ts.getObjectFlags(type) & (3 /* ObjectFlags.ClassOrInterface */ | 4 /* ObjectFlags.Reference */)) { var target = getTargetType(type); return target === checkBase || ts.some(getBaseTypes(target), check); } - else if (type.flags & 2097152 /* Intersection */) { + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { return ts.some(type.types, check); } return false; @@ -56677,7 +56918,7 @@ var ts; if (node && ts.isBinaryExpression(node)) { // prototype assignments get the outer type parameters of their constructor function var assignmentKind = ts.getAssignmentDeclarationKind(node); - if (assignmentKind === 6 /* Prototype */ || assignmentKind === 3 /* PrototypeProperty */) { + if (assignmentKind === 6 /* AssignmentDeclarationKind.Prototype */ || assignmentKind === 3 /* AssignmentDeclarationKind.PrototypeProperty */) { var symbol = getSymbolOfNode(node.left); if (symbol && symbol.parent && !ts.findAncestor(symbol.parent.valueDeclaration, function (d) { return node === d; })) { node = symbol.parent.valueDeclaration; @@ -56688,46 +56929,46 @@ var ts; return undefined; } switch (node.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 168 /* MethodSignature */: - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 317 /* JSDocFunctionType */: - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 259 /* TypeAliasDeclaration */: - case 344 /* JSDocTemplateTag */: - case 345 /* JSDocTypedefTag */: - case 339 /* JSDocEnumTag */: - case 338 /* JSDocCallbackTag */: - case 195 /* MappedType */: - case 189 /* ConditionalType */: { + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 168 /* SyntaxKind.MethodSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 344 /* SyntaxKind.JSDocTemplateTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 195 /* SyntaxKind.MappedType */: + case 189 /* SyntaxKind.ConditionalType */: { var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 195 /* MappedType */) { + if (node.kind === 195 /* SyntaxKind.MappedType */) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 189 /* ConditionalType */) { + else if (node.kind === 189 /* SyntaxKind.ConditionalType */) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 257 /* ClassDeclaration */ || node.kind === 226 /* ClassExpression */ || node.kind === 258 /* InterfaceDeclaration */ || isJSConstructor(node)) && + (node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 226 /* SyntaxKind.ClassExpression */ || node.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || isJSConstructor(node)) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } - case 340 /* JSDocParameterTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: var paramSymbol = ts.getParameterSymbolFromJSDoc(node); if (paramSymbol) { node = paramSymbol.valueDeclaration; } break; - case 320 /* JSDoc */: { + case 320 /* SyntaxKind.JSDoc */: { var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); return node.tags ? appendTypeParameters(outerTypeParameters, ts.flatMap(node.tags, function (t) { return ts.isJSDocTemplateTag(t) ? t.typeParameters : undefined; })) @@ -56738,7 +56979,7 @@ var ts; } // The outer type parameters are those defined by enclosing generic classes, methods, or functions. function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 /* Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 258 /* InterfaceDeclaration */); + var declaration = symbol.flags & 32 /* SymbolFlags.Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 258 /* SyntaxKind.InterfaceDeclaration */); ts.Debug.assert(!!declaration, "Class was missing valueDeclaration -OR- non-class had no interface declarations"); return getOuterTypeParameters(declaration); } @@ -56751,9 +56992,9 @@ var ts; var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 258 /* InterfaceDeclaration */ || - node.kind === 257 /* ClassDeclaration */ || - node.kind === 226 /* ClassExpression */ || + if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || + node.kind === 257 /* SyntaxKind.ClassDeclaration */ || + node.kind === 226 /* SyntaxKind.ClassExpression */ || isJSConstructor(node) || ts.isTypeAlias(node)) { var declaration = node; @@ -56770,7 +57011,7 @@ var ts; // A type is a mixin constructor if it has a single construct signature taking no type parameters and a single // rest parameter of type any[]. function isMixinConstructorType(type) { - var signatures = getSignaturesOfType(type, 1 /* Construct */); + var signatures = getSignaturesOfType(type, 1 /* SignatureKind.Construct */); if (signatures.length === 1) { var s = signatures[0]; if (!s.typeParameters && s.parameters.length === 1 && signatureHasRestParameter(s)) { @@ -56781,10 +57022,10 @@ var ts; return false; } function isConstructorType(type) { - if (getSignaturesOfType(type, 1 /* Construct */).length > 0) { + if (getSignaturesOfType(type, 1 /* SignatureKind.Construct */).length > 0) { return true; } - if (type.flags & 8650752 /* TypeVariable */) { + if (type.flags & 8650752 /* TypeFlags.TypeVariable */) { var constraint = getBaseConstraintOfType(type); return !!constraint && isMixinConstructorType(constraint); } @@ -56797,7 +57038,7 @@ var ts; function getConstructorsForTypeArguments(type, typeArgumentNodes, location) { var typeArgCount = ts.length(typeArgumentNodes); var isJavascript = ts.isInJSFile(location); - return ts.filter(getSignaturesOfType(type, 1 /* Construct */), function (sig) { return (isJavascript || typeArgCount >= getMinTypeArgumentCount(sig.typeParameters)) && typeArgCount <= ts.length(sig.typeParameters); }); + return ts.filter(getSignaturesOfType(type, 1 /* SignatureKind.Construct */), function (sig) { return (isJavascript || typeArgCount >= getMinTypeArgumentCount(sig.typeParameters)) && typeArgCount <= ts.length(sig.typeParameters); }); } function getInstantiatedConstructorsForTypeArguments(type, typeArgumentNodes, location) { var signatures = getConstructorsForTypeArguments(type, typeArgumentNodes, location); @@ -56820,7 +57061,7 @@ var ts; if (!baseTypeNode) { return type.resolvedBaseConstructorType = undefinedType; } - if (!pushTypeResolution(type, 1 /* ResolvedBaseConstructorType */)) { + if (!pushTypeResolution(type, 1 /* TypeSystemPropertyName.ResolvedBaseConstructorType */)) { return errorType; } var baseConstructorType = checkExpression(baseTypeNode.expression); @@ -56828,7 +57069,7 @@ var ts; ts.Debug.assert(!extended.typeArguments); // Because this is in a JS file, and baseTypeNode is in an @extends tag checkExpression(extended.expression); } - if (baseConstructorType.flags & (524288 /* Object */ | 2097152 /* Intersection */)) { + if (baseConstructorType.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */)) { // Resolving the members of a class requires us to resolve the base class of that class. // We force resolution here such that we catch circularities now. resolveStructuredTypeMembers(baseConstructorType); @@ -56837,13 +57078,13 @@ var ts; error(type.symbol.valueDeclaration, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression, symbolToString(type.symbol)); return type.resolvedBaseConstructorType = errorType; } - if (!(baseConstructorType.flags & 1 /* Any */) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { + if (!(baseConstructorType.flags & 1 /* TypeFlags.Any */) && baseConstructorType !== nullWideningType && !isConstructorType(baseConstructorType)) { var err = error(baseTypeNode.expression, ts.Diagnostics.Type_0_is_not_a_constructor_function_type, typeToString(baseConstructorType)); - if (baseConstructorType.flags & 262144 /* TypeParameter */) { + if (baseConstructorType.flags & 262144 /* TypeFlags.TypeParameter */) { var constraint = getConstraintFromTypeParameter(baseConstructorType); var ctorReturn = unknownType; if (constraint) { - var ctorSig = getSignaturesOfType(constraint, 1 /* Construct */); + var ctorSig = getSignaturesOfType(constraint, 1 /* SignatureKind.Construct */); if (ctorSig[0]) { ctorReturn = getReturnTypeOfSignature(ctorSig[0]); } @@ -56883,19 +57124,19 @@ var ts; return resolvedImplementsTypes; } function reportCircularBaseType(node, type) { - error(node, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 2 /* WriteArrayAsGenericType */)); + error(node, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 2 /* TypeFormatFlags.WriteArrayAsGenericType */)); } function getBaseTypes(type) { if (!type.baseTypesResolved) { - if (pushTypeResolution(type, 7 /* ResolvedBaseTypes */)) { - if (type.objectFlags & 8 /* Tuple */) { + if (pushTypeResolution(type, 7 /* TypeSystemPropertyName.ResolvedBaseTypes */)) { + if (type.objectFlags & 8 /* ObjectFlags.Tuple */) { type.resolvedBaseTypes = [getTupleBaseType(type)]; } - else if (type.symbol.flags & (32 /* Class */ | 64 /* Interface */)) { - if (type.symbol.flags & 32 /* Class */) { + else if (type.symbol.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */)) { + if (type.symbol.flags & 32 /* SymbolFlags.Class */) { resolveBaseTypesOfClass(type); } - if (type.symbol.flags & 64 /* Interface */) { + if (type.symbol.flags & 64 /* SymbolFlags.Interface */) { resolveBaseTypesOfInterface(type); } } @@ -56905,7 +57146,7 @@ var ts; if (!popTypeResolution() && type.symbol.declarations) { for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 257 /* ClassDeclaration */ || declaration.kind === 258 /* InterfaceDeclaration */) { + if (declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ || declaration.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { reportCircularBaseType(declaration, type); } } @@ -56916,26 +57157,26 @@ var ts; return type.resolvedBaseTypes; } function getTupleBaseType(type) { - var elementTypes = ts.sameMap(type.typeParameters, function (t, i) { return type.elementFlags[i] & 8 /* Variadic */ ? getIndexedAccessType(t, numberType) : t; }); + var elementTypes = ts.sameMap(type.typeParameters, function (t, i) { return type.elementFlags[i] & 8 /* ElementFlags.Variadic */ ? getIndexedAccessType(t, numberType) : t; }); return createArrayType(getUnionType(elementTypes || ts.emptyArray), type.readonly); } function resolveBaseTypesOfClass(type) { type.resolvedBaseTypes = ts.resolvingEmptyArray; var baseConstructorType = getApparentType(getBaseConstructorTypeOfClass(type)); - if (!(baseConstructorType.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 1 /* Any */))) { + if (!(baseConstructorType.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 1 /* TypeFlags.Any */))) { return type.resolvedBaseTypes = ts.emptyArray; } var baseTypeNode = getBaseTypeNodeOfClass(type); var baseType; var originalBaseType = baseConstructorType.symbol ? getDeclaredTypeOfSymbol(baseConstructorType.symbol) : undefined; - if (baseConstructorType.symbol && baseConstructorType.symbol.flags & 32 /* Class */ && + if (baseConstructorType.symbol && baseConstructorType.symbol.flags & 32 /* SymbolFlags.Class */ && areAllOuterTypeParametersApplied(originalBaseType)) { // When base constructor type is a class with no captured type arguments we know that the constructors all have the same type parameters as the // class and all return the instance type of the class. There is no need for further checks and we can apply the // type arguments in the same manner as a type reference to get the same error reporting experience. baseType = getTypeFromClassOrInterfaceReference(baseTypeNode, baseConstructorType.symbol); } - else if (baseConstructorType.flags & 1 /* Any */) { + else if (baseConstructorType.flags & 1 /* TypeFlags.Any */) { baseType = baseConstructorType; } else { @@ -56960,7 +57201,7 @@ var ts; return type.resolvedBaseTypes = ts.emptyArray; } if (type === reducedBaseType || hasBaseType(reducedBaseType, type)) { - error(type.symbol.valueDeclaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 2 /* WriteArrayAsGenericType */)); + error(type.symbol.valueDeclaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 2 /* TypeFormatFlags.WriteArrayAsGenericType */)); return type.resolvedBaseTypes = ts.emptyArray; } if (type.resolvedBaseTypes === ts.resolvingEmptyArray) { @@ -56985,7 +57226,7 @@ var ts; } // A valid base type is `any`, an object type or intersection of object types. function isValidBaseType(type) { - if (type.flags & 262144 /* TypeParameter */) { + if (type.flags & 262144 /* TypeFlags.TypeParameter */) { var constraint = getBaseConstraintOfType(type); if (constraint) { return isValidBaseType(constraint); @@ -56993,15 +57234,15 @@ var ts; } // TODO: Given that we allow type parmeters here now, is this `!isGenericMappedType(type)` check really needed? // There's no reason a `T` should be allowed while a `Readonly` should not. - return !!(type.flags & (524288 /* Object */ | 67108864 /* NonPrimitive */ | 1 /* Any */) && !isGenericMappedType(type) || - type.flags & 2097152 /* Intersection */ && ts.every(type.types, isValidBaseType)); + return !!(type.flags & (524288 /* TypeFlags.Object */ | 67108864 /* TypeFlags.NonPrimitive */ | 1 /* TypeFlags.Any */) && !isGenericMappedType(type) || + type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, isValidBaseType)); } function resolveBaseTypesOfInterface(type) { type.resolvedBaseTypes = type.resolvedBaseTypes || ts.emptyArray; if (type.symbol.declarations) { for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 258 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 258 /* SyntaxKind.InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getReducedType(getTypeFromTypeNode(node)); @@ -57041,8 +57282,8 @@ var ts; } for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 258 /* InterfaceDeclaration */) { - if (declaration.flags & 128 /* ContainsThis */) { + if (declaration.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (declaration.flags & 128 /* NodeFlags.ContainsThis */) { return false; } var baseTypeNodes = ts.getInterfaceBaseTypeNodes(declaration); @@ -57050,8 +57291,8 @@ var ts; for (var _b = 0, baseTypeNodes_1 = baseTypeNodes; _b < baseTypeNodes_1.length; _b++) { var node = baseTypeNodes_1[_b]; if (ts.isEntityNameExpression(node.expression)) { - var baseSymbol = resolveEntityName(node.expression, 788968 /* Type */, /*ignoreErrors*/ true); - if (!baseSymbol || !(baseSymbol.flags & 64 /* Interface */) || getDeclaredTypeOfClassOrInterface(baseSymbol).thisType) { + var baseSymbol = resolveEntityName(node.expression, 788968 /* SymbolFlags.Type */, /*ignoreErrors*/ true); + if (!baseSymbol || !(baseSymbol.flags & 64 /* SymbolFlags.Interface */) || getDeclaredTypeOfClassOrInterface(baseSymbol).thisType) { return false; } } @@ -57065,7 +57306,7 @@ var ts; var links = getSymbolLinks(symbol); var originalLinks = links; if (!links.declaredType) { - var kind = symbol.flags & 32 /* Class */ ? 1 /* Class */ : 2 /* Interface */; + var kind = symbol.flags & 32 /* SymbolFlags.Class */ ? 1 /* ObjectFlags.Class */ : 2 /* ObjectFlags.Interface */; var merged = mergeJSSymbols(symbol, symbol.valueDeclaration && getAssignedClassSymbol(symbol.valueDeclaration)); if (merged) { // note:we overwrite links because we just cloned the symbol @@ -57079,8 +57320,8 @@ var ts; // property types inferred from initializers and method return types inferred from return statements are very hard // to exhaustively analyze). We give interfaces a "this" type if we can't definitely determine that they are free of // "this" references. - if (outerTypeParameters || localTypeParameters || kind === 1 /* Class */ || !isThislessInterface(symbol)) { - type.objectFlags |= 4 /* Reference */; + if (outerTypeParameters || localTypeParameters || kind === 1 /* ObjectFlags.Class */ || !isThislessInterface(symbol)) { + type.objectFlags |= 4 /* ObjectFlags.Reference */; type.typeParameters = ts.concatenate(outerTypeParameters, localTypeParameters); type.outerTypeParameters = outerTypeParameters; type.localTypeParameters = localTypeParameters; @@ -57101,7 +57342,7 @@ var ts; if (!links.declaredType) { // Note that we use the links object as the target here because the symbol object is used as the unique // identity for resolution of the 'type' property in SymbolLinks. - if (!pushTypeResolution(symbol, 2 /* DeclaredType */)) { + if (!pushTypeResolution(symbol, 2 /* TypeSystemPropertyName.DeclaredType */)) { return errorType; } var declaration = ts.Debug.checkDefined((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isTypeAlias), "Type alias symbol with no valid declaration found"); @@ -57120,7 +57361,7 @@ var ts; } else { type = errorType; - if (declaration.kind === 339 /* JSDocEnumTag */) { + if (declaration.kind === 339 /* SyntaxKind.JSDocEnumTag */) { error(declaration.typeExpression.type, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } else { @@ -57135,7 +57376,7 @@ var ts; if (ts.isStringLiteralLike(expr)) { return true; } - else if (expr.kind === 221 /* BinaryExpression */) { + else if (expr.kind === 221 /* SyntaxKind.BinaryExpression */) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -57143,19 +57384,19 @@ var ts; function isLiteralEnumMember(member) { var expr = member.initializer; if (!expr) { - return !(member.flags & 16777216 /* Ambient */); + return !(member.flags & 16777216 /* NodeFlags.Ambient */); } switch (expr.kind) { - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return true; - case 219 /* PrefixUnaryExpression */: - return expr.operator === 40 /* MinusToken */ && - expr.operand.kind === 8 /* NumericLiteral */; - case 79 /* Identifier */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + return expr.operator === 40 /* SyntaxKind.MinusToken */ && + expr.operand.kind === 8 /* SyntaxKind.NumericLiteral */; + case 79 /* SyntaxKind.Identifier */: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return isStringConcatExpression(expr); default: return false; @@ -57170,11 +57411,11 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 260 /* EnumDeclaration */) { + if (declaration.kind === 260 /* SyntaxKind.EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && ts.isStringLiteralLike(member.initializer)) { - return links.enumKind = 1 /* Literal */; + return links.enumKind = 1 /* EnumKind.Literal */; } if (!isLiteralEnumMember(member)) { hasNonLiteralMember = true; @@ -57183,23 +57424,23 @@ var ts; } } } - return links.enumKind = hasNonLiteralMember ? 0 /* Numeric */ : 1 /* Literal */; + return links.enumKind = hasNonLiteralMember ? 0 /* EnumKind.Numeric */ : 1 /* EnumKind.Literal */; } function getBaseTypeOfEnumLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && !(type.flags & 1048576 /* Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; + return type.flags & 1024 /* TypeFlags.EnumLiteral */ && !(type.flags & 1048576 /* TypeFlags.Union */) ? getDeclaredTypeOfSymbol(getParentOfSymbol(type.symbol)) : type; } function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); if (links.declaredType) { return links.declaredType; } - if (getEnumKind(symbol) === 1 /* Literal */) { + if (getEnumKind(symbol) === 1 /* EnumKind.Literal */) { enumCount++; var memberTypeList = []; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 260 /* EnumDeclaration */) { + if (declaration.kind === 260 /* SyntaxKind.EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; var value = getEnumMemberValue(member); @@ -57211,15 +57452,15 @@ var ts; } } if (memberTypeList.length) { - var enumType_1 = getUnionType(memberTypeList, 1 /* Literal */, symbol, /*aliasTypeArguments*/ undefined); - if (enumType_1.flags & 1048576 /* Union */) { - enumType_1.flags |= 1024 /* EnumLiteral */; + var enumType_1 = getUnionType(memberTypeList, 1 /* UnionReduction.Literal */, symbol, /*aliasTypeArguments*/ undefined); + if (enumType_1.flags & 1048576 /* TypeFlags.Union */) { + enumType_1.flags |= 1024 /* TypeFlags.EnumLiteral */; enumType_1.symbol = symbol; } return links.declaredType = enumType_1; } } - var enumType = createType(32 /* Enum */); + var enumType = createType(32 /* TypeFlags.Enum */); enumType.symbol = symbol; return links.declaredType = enumType; } @@ -57245,22 +57486,22 @@ var ts; return tryGetDeclaredTypeOfSymbol(symbol) || errorType; } function tryGetDeclaredTypeOfSymbol(symbol) { - if (symbol.flags & (32 /* Class */ | 64 /* Interface */)) { + if (symbol.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */)) { return getDeclaredTypeOfClassOrInterface(symbol); } - if (symbol.flags & 524288 /* TypeAlias */) { + if (symbol.flags & 524288 /* SymbolFlags.TypeAlias */) { return getDeclaredTypeOfTypeAlias(symbol); } - if (symbol.flags & 262144 /* TypeParameter */) { + if (symbol.flags & 262144 /* SymbolFlags.TypeParameter */) { return getDeclaredTypeOfTypeParameter(symbol); } - if (symbol.flags & 384 /* Enum */) { + if (symbol.flags & 384 /* SymbolFlags.Enum */) { return getDeclaredTypeOfEnum(symbol); } - if (symbol.flags & 8 /* EnumMember */) { + if (symbol.flags & 8 /* SymbolFlags.EnumMember */) { return getDeclaredTypeOfEnumMember(symbol); } - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { return getDeclaredTypeOfAlias(symbol); } return undefined; @@ -57272,22 +57513,22 @@ var ts; */ function isThislessType(node) { switch (node.kind) { - case 130 /* AnyKeyword */: - case 155 /* UnknownKeyword */: - case 150 /* StringKeyword */: - case 147 /* NumberKeyword */: - case 158 /* BigIntKeyword */: - case 133 /* BooleanKeyword */: - case 151 /* SymbolKeyword */: - case 148 /* ObjectKeyword */: - case 114 /* VoidKeyword */: - case 153 /* UndefinedKeyword */: - case 143 /* NeverKeyword */: - case 196 /* LiteralType */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 196 /* SyntaxKind.LiteralType */: return true; - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: return isThislessType(node.elementType); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -57313,7 +57554,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 171 /* Constructor */ || (!!returnType && isThislessType(returnType))) && + return (node.kind === 171 /* SyntaxKind.Constructor */ || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -57329,14 +57570,14 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: return isThislessVariableLikeDeclaration(declaration); - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return isThislessFunctionLikeDeclaration(declaration); } } @@ -57373,8 +57614,8 @@ var ts; type.declaredCallSignatures = ts.emptyArray; type.declaredConstructSignatures = ts.emptyArray; type.declaredIndexInfos = ts.emptyArray; - type.declaredCallSignatures = getSignaturesOfSymbol(members.get("__call" /* Call */)); - type.declaredConstructSignatures = getSignaturesOfSymbol(members.get("__new" /* New */)); + type.declaredCallSignatures = getSignaturesOfSymbol(members.get("__call" /* InternalSymbolName.Call */)); + type.declaredConstructSignatures = getSignaturesOfSymbol(members.get("__new" /* InternalSymbolName.New */)); type.declaredIndexInfos = getIndexInfosOfSymbol(symbol); } return type; @@ -57383,7 +57624,7 @@ var ts; * Indicates whether a type can be used as a property name. */ function isTypeUsableAsPropertyName(type) { - return !!(type.flags & 8576 /* StringOrNumberLiteralOrUnique */); + return !!(type.flags & 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */); } /** * Indicates whether a declaration name is definitely late-bindable. @@ -57402,9 +57643,9 @@ var ts; && isTypeUsableAsPropertyName(ts.isComputedPropertyName(node) ? checkComputedPropertyName(node) : checkExpressionCached(expr)); } function isLateBoundName(name) { - return name.charCodeAt(0) === 95 /* _ */ && - name.charCodeAt(1) === 95 /* _ */ && - name.charCodeAt(2) === 64 /* at */; + return name.charCodeAt(0) === 95 /* CharacterCodes._ */ && + name.charCodeAt(1) === 95 /* CharacterCodes._ */ && + name.charCodeAt(2) === 64 /* CharacterCodes.at */; } /** * Indicates whether a declaration has a late-bindable dynamic name. @@ -57429,10 +57670,10 @@ var ts; * Gets the symbolic name for a member from its type. */ function getPropertyNameFromType(type) { - if (type.flags & 8192 /* UniqueESSymbol */) { + if (type.flags & 8192 /* TypeFlags.UniqueESSymbol */) { return type.escapedName; } - if (type.flags & (128 /* StringLiteral */ | 256 /* NumberLiteral */)) { + if (type.flags & (128 /* TypeFlags.StringLiteral */ | 256 /* TypeFlags.NumberLiteral */)) { return ts.escapeLeadingUnderscores("" + type.value); } return ts.Debug.fail(); @@ -57443,7 +57684,7 @@ var ts; * members. */ function addDeclarationToLateBoundSymbol(symbol, member, symbolFlags) { - ts.Debug.assert(!!(ts.getCheckFlags(symbol) & 4096 /* Late */), "Expected a late-bound symbol."); + ts.Debug.assert(!!(ts.getCheckFlags(symbol) & 4096 /* CheckFlags.Late */), "Expected a late-bound symbol."); symbol.flags |= symbolFlags; getSymbolLinks(member.symbol).lateSymbol = symbol; if (!symbol.declarations) { @@ -57452,7 +57693,7 @@ var ts; else if (!member.symbol.isReplaceableByMethod) { symbol.declarations.push(member); } - if (symbolFlags & 111551 /* Value */) { + if (symbolFlags & 111551 /* SymbolFlags.Value */) { if (!symbol.valueDeclaration || symbol.valueDeclaration.kind !== member.kind) { symbol.valueDeclaration = member; } @@ -57501,7 +57742,7 @@ var ts; // Get or add a late-bound symbol for the member. This allows us to merge late-bound accessor declarations. var lateSymbol = lateSymbols.get(memberName); if (!lateSymbol) - lateSymbols.set(memberName, lateSymbol = createSymbol(0 /* None */, memberName, 4096 /* Late */)); + lateSymbols.set(memberName, lateSymbol = createSymbol(0 /* SymbolFlags.None */, memberName, 4096 /* CheckFlags.Late */)); // Report an error if a late-bound member has the same name as an early-bound member, // or if we have another early-bound symbol declaration with the same name and // conflicting flags. @@ -57510,10 +57751,10 @@ var ts; // If we have an existing early-bound member, combine its declarations so that we can // report an error at each declaration. var declarations = earlySymbol ? ts.concatenate(earlySymbol.declarations, lateSymbol.declarations) : lateSymbol.declarations; - var name_5 = !(type.flags & 8192 /* UniqueESSymbol */) && ts.unescapeLeadingUnderscores(memberName) || ts.declarationNameToString(declName); + var name_5 = !(type.flags & 8192 /* TypeFlags.UniqueESSymbol */) && ts.unescapeLeadingUnderscores(memberName) || ts.declarationNameToString(declName); ts.forEach(declarations, function (declaration) { return error(ts.getNameOfDeclaration(declaration) || declaration, ts.Diagnostics.Property_0_was_also_declared_here, name_5); }); error(declName || decl, ts.Diagnostics.Duplicate_property_0, name_5); - lateSymbol = createSymbol(0 /* None */, memberName, 4096 /* Late */); + lateSymbol = createSymbol(0 /* SymbolFlags.None */, memberName, 4096 /* CheckFlags.Late */); } lateSymbol.nameType = type; addDeclarationToLateBoundSymbol(lateSymbol, decl, symbolFlags); @@ -57531,9 +57772,9 @@ var ts; function getResolvedMembersOrExportsOfSymbol(symbol, resolutionKind) { var links = getSymbolLinks(symbol); if (!links[resolutionKind]) { - var isStatic_1 = resolutionKind === "resolvedExports" /* resolvedExports */; + var isStatic_1 = resolutionKind === "resolvedExports" /* MembersOrExportsResolutionKind.resolvedExports */; var earlySymbols = !isStatic_1 ? symbol.members : - symbol.flags & 1536 /* Module */ ? getExportsOfModuleWorker(symbol) : + symbol.flags & 1536 /* SymbolFlags.Module */ ? getExportsOfModuleWorker(symbol) : symbol.exports; // In the event we recursively resolve the members/exports of the symbol, we // set the initial value of resolvedMembers/resolvedExports to the early-bound @@ -57559,10 +57800,10 @@ var ts; for (var _c = 0, decls_1 = decls; _c < decls_1.length; _c++) { var member = decls_1[_c]; var assignmentKind = ts.getAssignmentDeclarationKind(member); - var isInstanceMember = assignmentKind === 3 /* PrototypeProperty */ + var isInstanceMember = assignmentKind === 3 /* AssignmentDeclarationKind.PrototypeProperty */ || ts.isBinaryExpression(member) && isPossiblyAliasedThisProperty(member, assignmentKind) - || assignmentKind === 9 /* ObjectDefinePrototypeProperty */ - || assignmentKind === 6 /* Prototype */; // A straight `Prototype` assignment probably can never have a computed name + || assignmentKind === 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */ + || assignmentKind === 6 /* AssignmentDeclarationKind.Prototype */; // A straight `Prototype` assignment probably can never have a computed name if (isStatic_1 === !isInstanceMember && hasLateBindableName(member)) { lateBindMember(symbol, earlySymbols, lateSymbols, member); } @@ -57578,8 +57819,8 @@ var ts; * For a description of late-binding, see `lateBindMember`. */ function getMembersOfSymbol(symbol) { - return symbol.flags & 6256 /* LateBindingContainer */ - ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedMembers" /* resolvedMembers */) + return symbol.flags & 6256 /* SymbolFlags.LateBindingContainer */ + ? getResolvedMembersOrExportsOfSymbol(symbol, "resolvedMembers" /* MembersOrExportsResolutionKind.resolvedMembers */) : symbol.members || emptySymbols; } /** @@ -57589,7 +57830,7 @@ var ts; * For a description of late-binding, see `lateBindMember`. */ function getLateBoundSymbol(symbol) { - if (symbol.flags & 106500 /* ClassMember */ && symbol.escapedName === "__computed" /* Computed */) { + if (symbol.flags & 106500 /* SymbolFlags.ClassMember */ && symbol.escapedName === "__computed" /* InternalSymbolName.Computed */) { var links = getSymbolLinks(symbol); if (!links.lateSymbol && ts.some(symbol.declarations, hasLateBindableName)) { // force late binding of members/exports. This will set the late-bound symbol @@ -57606,7 +57847,7 @@ var ts; return symbol; } function getTypeWithThisArgument(type, thisArgument, needApparentType) { - if (ts.getObjectFlags(type) & 4 /* Reference */) { + if (ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) { var target = type.target; var typeArguments = getTypeArguments(type); if (ts.length(target.typeParameters) === ts.length(typeArguments)) { @@ -57614,7 +57855,7 @@ var ts; return needApparentType ? getApparentType(ref) : ref; } } - else if (type.flags & 2097152 /* Intersection */) { + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { var types = ts.sameMap(type.types, function (t) { return getTypeWithThisArgument(t, thisArgument, needApparentType); }); return types !== type.types ? getIntersectionType(types) : type; } @@ -57650,8 +57891,8 @@ var ts; var baseType = baseTypes_1[_i]; var instantiatedBaseType = thisArgument ? getTypeWithThisArgument(instantiateType(baseType, mapper), thisArgument) : baseType; addInheritedMembers(members, getPropertiesOfType(instantiatedBaseType)); - callSignatures = ts.concatenate(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* Call */)); - constructSignatures = ts.concatenate(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* Construct */)); + callSignatures = ts.concatenate(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* SignatureKind.Call */)); + constructSignatures = ts.concatenate(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* SignatureKind.Construct */)); var inheritedIndexInfos = instantiatedBaseType !== anyType ? getIndexInfosOfType(instantiatedBaseType) : [createIndexInfo(stringType, anyType, /*isReadonly*/ false)]; indexInfos = ts.concatenate(indexInfos, ts.filter(inheritedIndexInfos, function (info) { return !findIndexInfo(indexInfos, info.keyType); })); } @@ -57686,7 +57927,7 @@ var ts; } function cloneSignature(sig) { var result = createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, /*resolvedReturnType*/ undefined, - /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* PropagatingFlags */); + /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* SignatureFlags.PropagatingFlags */); result.target = sig.target; result.mapper = sig.mapper; result.compositeSignatures = sig.compositeSignatures; @@ -57696,24 +57937,24 @@ var ts; function createUnionSignature(signature, unionSignatures) { var result = cloneSignature(signature); result.compositeSignatures = unionSignatures; - result.compositeKind = 1048576 /* Union */; + result.compositeKind = 1048576 /* TypeFlags.Union */; result.target = undefined; result.mapper = undefined; return result; } function getOptionalCallSignature(signature, callChainFlags) { - if ((signature.flags & 24 /* CallChainFlags */) === callChainFlags) { + if ((signature.flags & 24 /* SignatureFlags.CallChainFlags */) === callChainFlags) { return signature; } if (!signature.optionalCallSignatureCache) { signature.optionalCallSignatureCache = {}; } - var key = callChainFlags === 8 /* IsInnerCallChain */ ? "inner" : "outer"; + var key = callChainFlags === 8 /* SignatureFlags.IsInnerCallChain */ ? "inner" : "outer"; return signature.optionalCallSignatureCache[key] || (signature.optionalCallSignatureCache[key] = createOptionalCallSignature(signature, callChainFlags)); } function createOptionalCallSignature(signature, callChainFlags) { - ts.Debug.assert(callChainFlags === 8 /* IsInnerCallChain */ || callChainFlags === 16 /* IsOuterCallChain */, "An optional call signature can either be for an inner call chain or an outer call chain, but not both."); + ts.Debug.assert(callChainFlags === 8 /* SignatureFlags.IsInnerCallChain */ || callChainFlags === 16 /* SignatureFlags.IsOuterCallChain */, "An optional call signature can either be for an inner call chain or an outer call chain, but not both."); var result = cloneSignature(signature); result.flags |= callChainFlags; return result; @@ -57725,7 +57966,7 @@ var ts; if (isTupleType(restType)) { return [expandSignatureParametersWithTupleMembers(restType, restIndex_1)]; } - else if (!skipUnionExpanding && restType.flags & 1048576 /* Union */ && ts.every(restType.types, isTupleType)) { + else if (!skipUnionExpanding && restType.flags & 1048576 /* TypeFlags.Union */ && ts.every(restType.types, isTupleType)) { return ts.map(restType.types, function (t) { return expandSignatureParametersWithTupleMembers(t, restIndex_1); }); } } @@ -57738,10 +57979,10 @@ var ts; var tupleLabelName = !!associatedNames && getTupleElementLabel(associatedNames[i]); var name = tupleLabelName || getParameterNameAtPosition(sig, restIndex + i, restType); var flags = restType.target.elementFlags[i]; - var checkFlags = flags & 12 /* Variable */ ? 32768 /* RestParameter */ : - flags & 2 /* Optional */ ? 16384 /* OptionalParameter */ : 0; - var symbol = createSymbol(1 /* FunctionScopedVariable */, name, checkFlags); - symbol.type = flags & 4 /* Rest */ ? createArrayType(t) : t; + var checkFlags = flags & 12 /* ElementFlags.Variable */ ? 32768 /* CheckFlags.RestParameter */ : + flags & 2 /* ElementFlags.Optional */ ? 16384 /* CheckFlags.OptionalParameter */ : 0; + var symbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, name, checkFlags); + symbol.type = flags & 4 /* ElementFlags.Rest */ ? createArrayType(t) : t; return symbol; }); return ts.concatenate(sig.parameters.slice(0, restIndex), restParams); @@ -57749,11 +57990,11 @@ var ts; } function getDefaultConstructSignatures(classType) { var baseConstructorType = getBaseConstructorTypeOfClass(classType); - var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); + var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* SignatureKind.Construct */); var declaration = ts.getClassLikeDeclarationOfSymbol(classType.symbol); - var isAbstract = !!declaration && ts.hasSyntacticModifier(declaration, 128 /* Abstract */); + var isAbstract = !!declaration && ts.hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */); if (baseSignatures.length === 0) { - return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, isAbstract ? 4 /* Abstract */ : 0 /* None */)]; + return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, isAbstract ? 4 /* SignatureFlags.Abstract */ : 0 /* SignatureFlags.None */)]; } var baseTypeNode = getBaseTypeNodeOfClass(classType); var isJavaScript = ts.isInJSFile(baseTypeNode); @@ -57768,7 +58009,7 @@ var ts; var sig = typeParamCount ? createSignatureInstantiation(baseSig, fillMissingTypeArguments(typeArguments, baseSig.typeParameters, minTypeArgumentCount, isJavaScript)) : cloneSignature(baseSig); sig.typeParameters = classType.localTypeParameters; sig.resolvedReturnType = classType; - sig.flags = isAbstract ? sig.flags | 4 /* Abstract */ : sig.flags & ~4 /* Abstract */; + sig.flags = isAbstract ? sig.flags | 4 /* SignatureFlags.Abstract */ : sig.flags & ~4 /* SignatureFlags.Abstract */; result.push(sig); } } @@ -57931,12 +58172,12 @@ var ts; !leftName ? rightName : !rightName ? leftName : undefined; - var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i); + var paramSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* SymbolFlags.Optional */ : 0), paramName || "arg".concat(i)); paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType; params[i] = paramSymbol; } if (needsExtraRestElement) { - var restParamSymbol = createSymbol(1 /* FunctionScopedVariable */, "args"); + var restParamSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, "args"); restParamSymbol.type = createArrayType(getTypeAtPosition(shorter, longestCount)); if (shorter === right) { restParamSymbol.type = instantiateType(restParamSymbol.type, mapper); @@ -57958,11 +58199,11 @@ var ts; var minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount); var result = createSignature(declaration, typeParams, thisParam, params, /*resolvedReturnType*/ undefined, - /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* PropagatingFlags */); - result.compositeKind = 1048576 /* Union */; - result.compositeSignatures = ts.concatenate(left.compositeKind !== 2097152 /* Intersection */ && left.compositeSignatures || [left], [right]); + /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* SignatureFlags.PropagatingFlags */); + result.compositeKind = 1048576 /* TypeFlags.Union */; + result.compositeSignatures = ts.concatenate(left.compositeKind !== 2097152 /* TypeFlags.Intersection */ && left.compositeSignatures || [left], [right]); if (paramMapper) { - result.mapper = left.compositeKind !== 2097152 /* Intersection */ && left.mapper && left.compositeSignatures ? combineTypeMappers(left.mapper, paramMapper) : paramMapper; + result.mapper = left.compositeKind !== 2097152 /* TypeFlags.Intersection */ && left.mapper && left.compositeSignatures ? combineTypeMappers(left.mapper, paramMapper) : paramMapper; } return result; } @@ -57987,8 +58228,8 @@ var ts; function resolveUnionTypeMembers(type) { // The members and properties collections are empty for union types. To get all properties of a union // type use getPropertiesOfType (only the language service uses this). - var callSignatures = getUnionSignatures(ts.map(type.types, function (t) { return t === globalFunctionType ? [unknownSignature] : getSignaturesOfType(t, 0 /* Call */); })); - var constructSignatures = getUnionSignatures(ts.map(type.types, function (t) { return getSignaturesOfType(t, 1 /* Construct */); })); + var callSignatures = getUnionSignatures(ts.map(type.types, function (t) { return t === globalFunctionType ? [unknownSignature] : getSignaturesOfType(t, 0 /* SignatureKind.Call */); })); + var constructSignatures = getUnionSignatures(ts.map(type.types, function (t) { return getSignaturesOfType(t, 1 /* SignatureKind.Construct */); })); var indexInfos = getUnionIndexInfos(type.types); setStructuredTypeMembers(type, emptySymbols, callSignatures, constructSignatures, indexInfos); } @@ -57996,7 +58237,7 @@ var ts; return !type1 ? type2 : !type2 ? type1 : getIntersectionType([type1, type2]); } function findMixins(types) { - var constructorTypeCount = ts.countWhere(types, function (t) { return getSignaturesOfType(t, 1 /* Construct */).length > 0; }); + var constructorTypeCount = ts.countWhere(types, function (t) { return getSignaturesOfType(t, 1 /* SignatureKind.Construct */).length > 0; }); var mixinFlags = ts.map(types, isMixinConstructorType); if (constructorTypeCount > 0 && constructorTypeCount === ts.countWhere(mixinFlags, function (b) { return b; })) { var firstMixinIndex = mixinFlags.indexOf(/*searchElement*/ true); @@ -58011,7 +58252,7 @@ var ts; mixedTypes.push(type); } else if (mixinFlags[i]) { - mixedTypes.push(getReturnTypeOfSignature(getSignaturesOfType(types[i], 1 /* Construct */)[0])); + mixedTypes.push(getReturnTypeOfSignature(getSignaturesOfType(types[i], 1 /* SignatureKind.Construct */)[0])); } } return getIntersectionType(mixedTypes); @@ -58033,7 +58274,7 @@ var ts; // '{ new(...args: any[]) => A } & { new(s: string) => B }' has a single construct signature // 'new(s: string) => A & B'. if (!mixinFlags[i]) { - var signatures = getSignaturesOfType(t, 1 /* Construct */); + var signatures = getSignaturesOfType(t, 1 /* SignatureKind.Construct */); if (signatures.length && mixinCount > 0) { signatures = ts.map(signatures, function (s) { var clone = cloneSignature(s); @@ -58043,7 +58284,7 @@ var ts; } constructSignatures = appendSignatures(constructSignatures, signatures); } - callSignatures = appendSignatures(callSignatures, getSignaturesOfType(t, 0 /* Call */)); + callSignatures = appendSignatures(callSignatures, getSignaturesOfType(t, 0 /* SignatureKind.Call */)); indexInfos = ts.reduceLeft(getIndexInfosOfType(t), function (infos, newInfo) { return appendIndexInfo(infos, newInfo, /*union*/ false); }, indexInfos); }; for (var i = 0; i < types.length; i++) { @@ -58082,18 +58323,18 @@ var ts; if (type.target) { setStructuredTypeMembers(type, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var members_6 = createInstantiatedSymbolTable(getPropertiesOfObjectType(type.target), type.mapper, /*mappingThisOnly*/ false); - var callSignatures = instantiateSignatures(getSignaturesOfType(type.target, 0 /* Call */), type.mapper); - var constructSignatures = instantiateSignatures(getSignaturesOfType(type.target, 1 /* Construct */), type.mapper); + var callSignatures = instantiateSignatures(getSignaturesOfType(type.target, 0 /* SignatureKind.Call */), type.mapper); + var constructSignatures = instantiateSignatures(getSignaturesOfType(type.target, 1 /* SignatureKind.Construct */), type.mapper); var indexInfos_1 = instantiateIndexInfos(getIndexInfosOfType(type.target), type.mapper); setStructuredTypeMembers(type, members_6, callSignatures, constructSignatures, indexInfos_1); return; } var symbol = getMergedSymbol(type.symbol); - if (symbol.flags & 2048 /* TypeLiteral */) { + if (symbol.flags & 2048 /* SymbolFlags.TypeLiteral */) { setStructuredTypeMembers(type, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var members_7 = getMembersOfSymbol(symbol); - var callSignatures = getSignaturesOfSymbol(members_7.get("__call" /* Call */)); - var constructSignatures = getSignaturesOfSymbol(members_7.get("__new" /* New */)); + var callSignatures = getSignaturesOfSymbol(members_7.get("__call" /* InternalSymbolName.Call */)); + var constructSignatures = getSignaturesOfSymbol(members_7.get("__new" /* InternalSymbolName.New */)); var indexInfos_2 = getIndexInfosOfSymbol(symbol); setStructuredTypeMembers(type, members_7, callSignatures, constructSignatures, indexInfos_2); return; @@ -58106,7 +58347,8 @@ var ts; if (symbol === globalThisSymbol) { var varsOnly_1 = new ts.Map(); members.forEach(function (p) { - if (!(p.flags & 418 /* BlockScoped */)) { + var _a; + if (!(p.flags & 418 /* SymbolFlags.BlockScoped */) && !(p.flags & 512 /* SymbolFlags.ValueModule */ && ((_a = p.declarations) === null || _a === void 0 ? void 0 : _a.length) && ts.every(p.declarations, ts.isAmbientModule))) { varsOnly_1.set(p.escapedName, p); } }); @@ -58115,10 +58357,10 @@ var ts; } var baseConstructorIndexInfo; setStructuredTypeMembers(type, members, ts.emptyArray, ts.emptyArray, ts.emptyArray); - if (symbol.flags & 32 /* Class */) { + if (symbol.flags & 32 /* SymbolFlags.Class */) { var classType = getDeclaredTypeOfClassOrInterface(symbol); var baseConstructorType = getBaseConstructorTypeOfClass(classType); - if (baseConstructorType.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 8650752 /* TypeVariable */)) { + if (baseConstructorType.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 8650752 /* TypeFlags.TypeVariable */)) { members = ts.createSymbolTable(getNamedOrIndexSignatureMembers(members)); addInheritedMembers(members, getPropertiesOfType(baseConstructorType)); } @@ -58134,8 +58376,8 @@ var ts; if (baseConstructorIndexInfo) { indexInfos = ts.append(indexInfos, baseConstructorIndexInfo); } - if (symbol.flags & 384 /* Enum */ && (getDeclaredTypeOfSymbol(symbol).flags & 32 /* Enum */ || - ts.some(type.properties, function (prop) { return !!(getTypeOfSymbol(prop).flags & 296 /* NumberLike */); }))) { + if (symbol.flags & 384 /* SymbolFlags.Enum */ && (getDeclaredTypeOfSymbol(symbol).flags & 32 /* TypeFlags.Enum */ || + ts.some(type.properties, function (prop) { return !!(getTypeOfSymbol(prop).flags & 296 /* TypeFlags.NumberLike */); }))) { indexInfos = ts.append(indexInfos, enumNumberIndexInfo); } } @@ -58144,16 +58386,16 @@ var ts; // typeof with a qualified name expression that circularly references the type we are // in the process of resolving (see issue #6072). The temporarily empty signature list // will never be observed because a qualified name can't reference signatures. - if (symbol.flags & (16 /* Function */ | 8192 /* Method */)) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */)) { type.callSignatures = getSignaturesOfSymbol(symbol); } // And likewise for construct signatures for classes - if (symbol.flags & 32 /* Class */) { + if (symbol.flags & 32 /* SymbolFlags.Class */) { var classType_1 = getDeclaredTypeOfClassOrInterface(symbol); - var constructSignatures = symbol.members ? getSignaturesOfSymbol(symbol.members.get("__constructor" /* Constructor */)) : ts.emptyArray; - if (symbol.flags & 16 /* Function */) { + var constructSignatures = symbol.members ? getSignaturesOfSymbol(symbol.members.get("__constructor" /* InternalSymbolName.Constructor */)) : ts.emptyArray; + if (symbol.flags & 16 /* SymbolFlags.Function */) { constructSignatures = ts.addRange(constructSignatures.slice(), ts.mapDefined(type.callSignatures, function (sig) { return isJSConstructor(sig.declaration) ? - createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, classType_1, /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* PropagatingFlags */) : + createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, classType_1, /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* SignatureFlags.PropagatingFlags */) : undefined; })); } if (!constructSignatures.length) { @@ -58171,20 +58413,20 @@ var ts; function resolveReverseMappedTypeMembers(type) { var indexInfo = getIndexInfoOfType(type.source, stringType); var modifiers = getMappedTypeModifiers(type.mappedType); - var readonlyMask = modifiers & 1 /* IncludeReadonly */ ? false : true; - var optionalMask = modifiers & 4 /* IncludeOptional */ ? 0 : 16777216 /* Optional */; + var readonlyMask = modifiers & 1 /* MappedTypeModifiers.IncludeReadonly */ ? false : true; + var optionalMask = modifiers & 4 /* MappedTypeModifiers.IncludeOptional */ ? 0 : 16777216 /* SymbolFlags.Optional */; var indexInfos = indexInfo ? [createIndexInfo(stringType, inferReverseMappedType(indexInfo.type, type.mappedType, type.constraintType), readonlyMask && indexInfo.isReadonly)] : ts.emptyArray; var members = ts.createSymbolTable(); for (var _i = 0, _a = getPropertiesOfType(type.source); _i < _a.length; _i++) { var prop = _a[_i]; - var checkFlags = 8192 /* ReverseMapped */ | (readonlyMask && isReadonlySymbol(prop) ? 8 /* Readonly */ : 0); - var inferredProp = createSymbol(4 /* Property */ | prop.flags & optionalMask, prop.escapedName, checkFlags); + var checkFlags = 8192 /* CheckFlags.ReverseMapped */ | (readonlyMask && isReadonlySymbol(prop) ? 8 /* CheckFlags.Readonly */ : 0); + var inferredProp = createSymbol(4 /* SymbolFlags.Property */ | prop.flags & optionalMask, prop.escapedName, checkFlags); inferredProp.declarations = prop.declarations; inferredProp.nameType = getSymbolLinks(prop).nameType; inferredProp.propertyType = getTypeOfSymbol(prop); - if (type.constraintType.type.flags & 8388608 /* IndexedAccess */ - && type.constraintType.type.objectType.flags & 262144 /* TypeParameter */ - && type.constraintType.type.indexType.flags & 262144 /* TypeParameter */) { + if (type.constraintType.type.flags & 8388608 /* TypeFlags.IndexedAccess */ + && type.constraintType.type.objectType.flags & 262144 /* TypeFlags.TypeParameter */ + && type.constraintType.type.indexType.flags & 262144 /* TypeFlags.TypeParameter */) { // A reverse mapping of `{[K in keyof T[K_1]]: T[K_1]}` is the same as that of `{[K in keyof T]: T}`, since all we care about is // inferring to the "type parameter" (or indexed access) shared by the constraint and template. So, to reduce the number of // type identities produced, we simplify such indexed access occurences @@ -58205,11 +58447,11 @@ var ts; // bound includes those keys that are known to always be present, for example because // because of constraints on type parameters (e.g. 'keyof T' for a constrained T). function getLowerBoundOfKeyType(type) { - if (type.flags & 4194304 /* Index */) { + if (type.flags & 4194304 /* TypeFlags.Index */) { var t = getApparentType(type.type); return isGenericTupleType(t) ? getKnownKeysOfTupleType(t) : getIndexType(t); } - if (type.flags & 16777216 /* Conditional */) { + if (type.flags & 16777216 /* TypeFlags.Conditional */) { if (type.root.isDistributive) { var checkType = type.checkType; var constraint = getLowerBoundOfKeyType(checkType); @@ -58219,29 +58461,29 @@ var ts; } return type; } - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { return mapType(type, getLowerBoundOfKeyType); } - if (type.flags & 2097152 /* Intersection */) { + if (type.flags & 2097152 /* TypeFlags.Intersection */) { return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; } function getIsLateCheckFlag(s) { - return ts.getCheckFlags(s) & 4096 /* Late */; + return ts.getCheckFlags(s) & 4096 /* CheckFlags.Late */; } function forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(type, include, stringsOnly, cb) { for (var _i = 0, _a = getPropertiesOfType(type); _i < _a.length; _i++) { var prop = _a[_i]; cb(getLiteralTypeFromProperty(prop, include)); } - if (type.flags & 1 /* Any */) { + if (type.flags & 1 /* TypeFlags.Any */) { cb(stringType); } else { for (var _b = 0, _c = getIndexInfosOfType(type); _b < _c.length; _b++) { var info = _c[_b]; - if (!stringsOnly || info.keyType.flags & (4 /* String */ | 134217728 /* TemplateLiteral */)) { + if (!stringsOnly || info.keyType.flags & (4 /* TypeFlags.String */ | 134217728 /* TypeFlags.TemplateLiteral */)) { cb(info.keyType); } } @@ -58261,7 +58503,7 @@ var ts; var templateType = getTemplateTypeFromMappedType(type.target || type); var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T' var templateModifiers = getMappedTypeModifiers(type); - var include = keyofStringsOnly ? 128 /* StringLiteral */ : 8576 /* StringOrNumberLiteralOrUnique */; + var include = keyofStringsOnly ? 128 /* TypeFlags.StringLiteral */ : 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, include, keyofStringsOnly, addMemberForKeyType); @@ -58289,13 +58531,13 @@ var ts; } else { var modifiersProp = isTypeUsableAsPropertyName(keyType) ? getPropertyOfType(modifiersType, getPropertyNameFromType(keyType)) : undefined; - var isOptional = !!(templateModifiers & 4 /* IncludeOptional */ || - !(templateModifiers & 8 /* ExcludeOptional */) && modifiersProp && modifiersProp.flags & 16777216 /* Optional */); - var isReadonly = !!(templateModifiers & 1 /* IncludeReadonly */ || - !(templateModifiers & 2 /* ExcludeReadonly */) && modifiersProp && isReadonlySymbol(modifiersProp)); - var stripOptional = strictNullChecks && !isOptional && modifiersProp && modifiersProp.flags & 16777216 /* Optional */; + var isOptional = !!(templateModifiers & 4 /* MappedTypeModifiers.IncludeOptional */ || + !(templateModifiers & 8 /* MappedTypeModifiers.ExcludeOptional */) && modifiersProp && modifiersProp.flags & 16777216 /* SymbolFlags.Optional */); + var isReadonly = !!(templateModifiers & 1 /* MappedTypeModifiers.IncludeReadonly */ || + !(templateModifiers & 2 /* MappedTypeModifiers.ExcludeReadonly */) && modifiersProp && isReadonlySymbol(modifiersProp)); + var stripOptional = strictNullChecks && !isOptional && modifiersProp && modifiersProp.flags & 16777216 /* SymbolFlags.Optional */; var lateFlag = modifiersProp ? getIsLateCheckFlag(modifiersProp) : 0; - var prop = createSymbol(4 /* Property */ | (isOptional ? 16777216 /* Optional */ : 0), propName, lateFlag | 262144 /* Mapped */ | (isReadonly ? 8 /* Readonly */ : 0) | (stripOptional ? 524288 /* StripOptional */ : 0)); + var prop = createSymbol(4 /* SymbolFlags.Property */ | (isOptional ? 16777216 /* SymbolFlags.Optional */ : 0), propName, lateFlag | 262144 /* CheckFlags.Mapped */ | (isReadonly ? 8 /* CheckFlags.Readonly */ : 0) | (stripOptional ? 524288 /* CheckFlags.StripOptional */ : 0)); prop.mappedType = type; prop.nameType = propNameType; prop.keyType = keyType; @@ -58308,12 +58550,12 @@ var ts; members.set(propName, prop); } } - else if (isValidIndexKeyType(propNameType) || propNameType.flags & (1 /* Any */ | 32 /* Enum */)) { - var indexKeyType = propNameType.flags & (1 /* Any */ | 4 /* String */) ? stringType : - propNameType.flags & (8 /* Number */ | 32 /* Enum */) ? numberType : + else if (isValidIndexKeyType(propNameType) || propNameType.flags & (1 /* TypeFlags.Any */ | 32 /* TypeFlags.Enum */)) { + var indexKeyType = propNameType.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */) ? stringType : + propNameType.flags & (8 /* TypeFlags.Number */ | 32 /* TypeFlags.Enum */) ? numberType : propNameType; var propType = instantiateType(templateType, appendTypeMapping(type.mapper, typeParameter, keyType)); - var indexInfo = createIndexInfo(indexKeyType, propType, !!(templateModifiers & 1 /* IncludeReadonly */)); + var indexInfo = createIndexInfo(indexKeyType, propType, !!(templateModifiers & 1 /* MappedTypeModifiers.IncludeReadonly */)); indexInfos = appendIndexInfo(indexInfos, indexInfo, /*union*/ true); } } @@ -58321,7 +58563,7 @@ var ts; function getTypeOfMappedSymbol(symbol) { if (!symbol.type) { var mappedType = symbol.mappedType; - if (!pushTypeResolution(symbol, 0 /* Type */)) { + if (!pushTypeResolution(symbol, 0 /* TypeSystemPropertyName.Type */)) { mappedType.containsError = true; return errorType; } @@ -58331,8 +58573,8 @@ var ts; // When creating an optional property in strictNullChecks mode, if 'undefined' isn't assignable to the // type, we include 'undefined' in the type. Similarly, when creating a non-optional property in strictNullChecks // mode, if the underlying property is optional we remove 'undefined' from the type. - var type = strictNullChecks && symbol.flags & 16777216 /* Optional */ && !maybeTypeOfKind(propType, 32768 /* Undefined */ | 16384 /* Void */) ? getOptionalType(propType, /*isProperty*/ true) : - symbol.checkFlags & 524288 /* StripOptional */ ? removeMissingOrUndefinedType(propType) : + var type = strictNullChecks && symbol.flags & 16777216 /* SymbolFlags.Optional */ && !maybeTypeOfKind(propType, 32768 /* TypeFlags.Undefined */ | 16384 /* TypeFlags.Void */) ? getOptionalType(propType, /*isProperty*/ true) : + symbol.checkFlags & 524288 /* CheckFlags.StripOptional */ ? removeMissingOrUndefinedType(propType) : propType; if (!popTypeResolution()) { error(currentNode, ts.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1, symbolToString(symbol), typeToString(mappedType)); @@ -58358,7 +58600,7 @@ var ts; function getTemplateTypeFromMappedType(type) { return type.templateType || (type.templateType = type.declaration.type ? - instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), /*isProperty*/ true, !!(getMappedTypeModifiers(type) & 4 /* IncludeOptional */)), type.mapper) : + instantiateType(addOptionality(getTypeFromTypeNode(type.declaration.type), /*isProperty*/ true, !!(getMappedTypeModifiers(type) & 4 /* MappedTypeModifiers.IncludeOptional */)), type.mapper) : errorType); } function getConstraintDeclarationForMappedType(type) { @@ -58366,8 +58608,8 @@ var ts; } function isMappedTypeWithKeyofConstraintDeclaration(type) { var constraintDeclaration = getConstraintDeclarationForMappedType(type); // TODO: GH#18217 - return constraintDeclaration.kind === 193 /* TypeOperator */ && - constraintDeclaration.operator === 140 /* KeyOfKeyword */; + return constraintDeclaration.kind === 193 /* SyntaxKind.TypeOperator */ && + constraintDeclaration.operator === 140 /* SyntaxKind.KeyOfKeyword */; } function getModifiersTypeFromMappedType(type) { if (!type.modifiersType) { @@ -58383,20 +58625,20 @@ var ts; // the modifiers type is T. Otherwise, the modifiers type is unknown. var declaredType = getTypeFromMappedTypeNode(type.declaration); var constraint = getConstraintTypeFromMappedType(declaredType); - var extendedConstraint = constraint && constraint.flags & 262144 /* TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; - type.modifiersType = extendedConstraint && extendedConstraint.flags & 4194304 /* Index */ ? instantiateType(extendedConstraint.type, type.mapper) : unknownType; + var extendedConstraint = constraint && constraint.flags & 262144 /* TypeFlags.TypeParameter */ ? getConstraintOfTypeParameter(constraint) : constraint; + type.modifiersType = extendedConstraint && extendedConstraint.flags & 4194304 /* TypeFlags.Index */ ? instantiateType(extendedConstraint.type, type.mapper) : unknownType; } } return type.modifiersType; } function getMappedTypeModifiers(type) { var declaration = type.declaration; - return (declaration.readonlyToken ? declaration.readonlyToken.kind === 40 /* MinusToken */ ? 2 /* ExcludeReadonly */ : 1 /* IncludeReadonly */ : 0) | - (declaration.questionToken ? declaration.questionToken.kind === 40 /* MinusToken */ ? 8 /* ExcludeOptional */ : 4 /* IncludeOptional */ : 0); + return (declaration.readonlyToken ? declaration.readonlyToken.kind === 40 /* SyntaxKind.MinusToken */ ? 2 /* MappedTypeModifiers.ExcludeReadonly */ : 1 /* MappedTypeModifiers.IncludeReadonly */ : 0) | + (declaration.questionToken ? declaration.questionToken.kind === 40 /* SyntaxKind.MinusToken */ ? 8 /* MappedTypeModifiers.ExcludeOptional */ : 4 /* MappedTypeModifiers.IncludeOptional */ : 0); } function getMappedTypeOptionality(type) { var modifiers = getMappedTypeModifiers(type); - return modifiers & 8 /* ExcludeOptional */ ? -1 : modifiers & 4 /* IncludeOptional */ ? 1 : 0; + return modifiers & 8 /* MappedTypeModifiers.ExcludeOptional */ ? -1 : modifiers & 4 /* MappedTypeModifiers.IncludeOptional */ ? 1 : 0; } function getCombinedMappedTypeOptionality(type) { var optionality = getMappedTypeOptionality(type); @@ -58404,34 +58646,34 @@ var ts; return optionality || (isGenericMappedType(modifiersType) ? getMappedTypeOptionality(modifiersType) : 0); } function isPartialMappedType(type) { - return !!(ts.getObjectFlags(type) & 32 /* Mapped */ && getMappedTypeModifiers(type) & 4 /* IncludeOptional */); + return !!(ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */ && getMappedTypeModifiers(type) & 4 /* MappedTypeModifiers.IncludeOptional */); } function isGenericMappedType(type) { - return !!(ts.getObjectFlags(type) & 32 /* Mapped */) && isGenericIndexType(getConstraintTypeFromMappedType(type)); + return !!(ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */) && isGenericIndexType(getConstraintTypeFromMappedType(type)); } function resolveStructuredTypeMembers(type) { if (!type.members) { - if (type.flags & 524288 /* Object */) { - if (type.objectFlags & 4 /* Reference */) { + if (type.flags & 524288 /* TypeFlags.Object */) { + if (type.objectFlags & 4 /* ObjectFlags.Reference */) { resolveTypeReferenceMembers(type); } - else if (type.objectFlags & 3 /* ClassOrInterface */) { + else if (type.objectFlags & 3 /* ObjectFlags.ClassOrInterface */) { resolveClassOrInterfaceMembers(type); } - else if (type.objectFlags & 1024 /* ReverseMapped */) { + else if (type.objectFlags & 1024 /* ObjectFlags.ReverseMapped */) { resolveReverseMappedTypeMembers(type); } - else if (type.objectFlags & 16 /* Anonymous */) { + else if (type.objectFlags & 16 /* ObjectFlags.Anonymous */) { resolveAnonymousTypeMembers(type); } - else if (type.objectFlags & 32 /* Mapped */) { + else if (type.objectFlags & 32 /* ObjectFlags.Mapped */) { resolveMappedTypeMembers(type); } } - else if (type.flags & 1048576 /* Union */) { + else if (type.flags & 1048576 /* TypeFlags.Union */) { resolveUnionTypeMembers(type); } - else if (type.flags & 2097152 /* Intersection */) { + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { resolveIntersectionTypeMembers(type); } } @@ -58439,7 +58681,7 @@ var ts; } /** Return properties of an object type or an empty array for other types */ function getPropertiesOfObjectType(type) { - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { return resolveStructuredTypeMembers(type).properties; } return ts.emptyArray; @@ -58448,7 +58690,7 @@ var ts; * return the symbol for that property. Otherwise return undefined. */ function getPropertyOfObjectType(type, name) { - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -58472,7 +58714,7 @@ var ts; } // The properties of a union type are those that are present in all constituent types, so // we only need to check the properties of the first type without index signature - if (type.flags & 1048576 /* Union */ && getIndexInfosOfType(current).length === 0) { + if (type.flags & 1048576 /* TypeFlags.Union */ && getIndexInfosOfType(current).length === 0) { break; } } @@ -58482,13 +58724,13 @@ var ts; } function getPropertiesOfType(type) { type = getReducedApparentType(type); - return type.flags & 3145728 /* UnionOrIntersection */ ? + return type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? getPropertiesOfUnionOrIntersectionType(type) : getPropertiesOfObjectType(type); } function forEachPropertyOfType(type, action) { type = getReducedApparentType(type); - if (type.flags & 3670016 /* StructuredType */) { + if (type.flags & 3670016 /* TypeFlags.StructuredType */) { resolveStructuredTypeMembers(type).members.forEach(function (symbol, escapedName) { if (isNamedMember(symbol, escapedName)) { action(symbol, escapedName); @@ -58507,7 +58749,7 @@ var ts; } function getAllPossiblePropertiesOfTypes(types) { var unionType = getUnionType(types); - if (!(unionType.flags & 1048576 /* Union */)) { + if (!(unionType.flags & 1048576 /* TypeFlags.Union */)) { return getAugmentedPropertiesOfType(unionType); } var props = ts.createSymbolTable(); @@ -58526,9 +58768,9 @@ var ts; return ts.arrayFrom(props.values()); } function getConstraintOfType(type) { - return type.flags & 262144 /* TypeParameter */ ? getConstraintOfTypeParameter(type) : - type.flags & 8388608 /* IndexedAccess */ ? getConstraintOfIndexedAccess(type) : - type.flags & 16777216 /* Conditional */ ? getConstraintOfConditionalType(type) : + return type.flags & 262144 /* TypeFlags.TypeParameter */ ? getConstraintOfTypeParameter(type) : + type.flags & 8388608 /* TypeFlags.IndexedAccess */ ? getConstraintOfIndexedAccess(type) : + type.flags & 16777216 /* TypeFlags.Conditional */ ? getConstraintOfConditionalType(type) : getBaseConstraintOfType(type); } function getConstraintOfTypeParameter(typeParameter) { @@ -58589,7 +58831,7 @@ var ts; var constraint = simplified === type.checkType ? getConstraintOfType(simplified) : simplified; if (constraint && constraint !== type.checkType) { var instantiated = getConditionalTypeInstantiation(type, prependTypeMapping(type.root.checkType, constraint, type.mapper)); - if (!(instantiated.flags & 131072 /* Never */)) { + if (!(instantiated.flags & 131072 /* TypeFlags.Never */)) { return instantiated; } } @@ -58607,11 +58849,11 @@ var ts; var hasDisjointDomainType = false; for (var _i = 0, types_5 = types; _i < types_5.length; _i++) { var t = types_5[_i]; - if (t.flags & 465829888 /* Instantiable */) { + if (t.flags & 465829888 /* TypeFlags.Instantiable */) { // We keep following constraints as long as we have an instantiable type that is known // not to be circular or infinite (hence we stop on index access types). var constraint = getConstraintOfType(t); - while (constraint && constraint.flags & (262144 /* TypeParameter */ | 4194304 /* Index */ | 16777216 /* Conditional */)) { + while (constraint && constraint.flags & (262144 /* TypeFlags.TypeParameter */ | 4194304 /* TypeFlags.Index */ | 16777216 /* TypeFlags.Conditional */)) { constraint = getConstraintOfType(constraint); } if (constraint) { @@ -58621,7 +58863,7 @@ var ts; } } } - else if (t.flags & 469892092 /* DisjointDomains */) { + else if (t.flags & 469892092 /* TypeFlags.DisjointDomains */) { hasDisjointDomainType = true; } } @@ -58633,7 +58875,7 @@ var ts; // intersection operation to reduce the union constraints. for (var _a = 0, types_6 = types; _a < types_6.length; _a++) { var t = types_6[_a]; - if (t.flags & 469892092 /* DisjointDomains */) { + if (t.flags & 469892092 /* TypeFlags.DisjointDomains */) { constraints = ts.append(constraints, t); } } @@ -58643,11 +58885,11 @@ var ts; return undefined; } function getBaseConstraintOfType(type) { - if (type.flags & (58982400 /* InstantiableNonPrimitive */ | 3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */)) { + if (type.flags & (58982400 /* TypeFlags.InstantiableNonPrimitive */ | 3145728 /* TypeFlags.UnionOrIntersection */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */)) { var constraint = getResolvedBaseConstraint(type); return constraint !== noConstraintType && constraint !== circularConstraintType ? constraint : undefined; } - return type.flags & 4194304 /* Index */ ? keyofConstraintType : undefined; + return type.flags & 4194304 /* TypeFlags.Index */ ? keyofConstraintType : undefined; } /** * This is similar to `getBaseConstraintOfType` except it returns the input type if there's no base constraint, instead of `undefined` @@ -58672,7 +58914,7 @@ var ts; return type.resolvedBaseConstraint = getTypeWithThisArgument(getImmediateBaseConstraint(type), type); function getImmediateBaseConstraint(t) { if (!t.immediateBaseConstraint) { - if (!pushTypeResolution(t, 4 /* ImmediateBaseConstraint */)) { + if (!pushTypeResolution(t, 4 /* TypeSystemPropertyName.ImmediateBaseConstraint */)) { return circularConstraintType; } var result = void 0; @@ -58682,13 +58924,14 @@ var ts; // levels of nesting, we are presumably exploring a repeating pattern with a long cycle that hasn't // yet triggered the deeply nested limiter. We have no test cases that actually get to 50 levels of // nesting, so it is effectively just a safety stop. - if (stack.length < 10 || stack.length < 50 && !isDeeplyNestedType(t, stack, stack.length)) { - stack.push(t); + var identity_1 = getRecursionIdentity(t); + if (stack.length < 10 || stack.length < 50 && !ts.contains(stack, identity_1)) { + stack.push(identity_1); result = computeBaseConstraint(getSimplifiedType(t, /*writing*/ false)); stack.pop(); } if (!popTypeResolution()) { - if (t.flags & 262144 /* TypeParameter */) { + if (t.flags & 262144 /* TypeFlags.TypeParameter */) { var errorNode = getConstraintDeclaration(t); if (errorNode) { var diagnostic = error(errorNode, ts.Diagnostics.Type_parameter_0_has_a_circular_constraint, typeToString(t)); @@ -58708,13 +58951,13 @@ var ts; return c !== noConstraintType && c !== circularConstraintType ? c : undefined; } function computeBaseConstraint(t) { - if (t.flags & 262144 /* TypeParameter */) { + if (t.flags & 262144 /* TypeFlags.TypeParameter */) { var constraint = getConstraintFromTypeParameter(t); return t.isThisType || !constraint ? constraint : getBaseConstraint(constraint); } - if (t.flags & 3145728 /* UnionOrIntersection */) { + if (t.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { var types = t.types; var baseTypes = []; var different = false; @@ -58734,23 +58977,23 @@ var ts; if (!different) { return t; } - return t.flags & 1048576 /* Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : - t.flags & 2097152 /* Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : + return t.flags & 1048576 /* TypeFlags.Union */ && baseTypes.length === types.length ? getUnionType(baseTypes) : + t.flags & 2097152 /* TypeFlags.Intersection */ && baseTypes.length ? getIntersectionType(baseTypes) : undefined; } - if (t.flags & 4194304 /* Index */) { + if (t.flags & 4194304 /* TypeFlags.Index */) { return keyofConstraintType; } - if (t.flags & 134217728 /* TemplateLiteral */) { + if (t.flags & 134217728 /* TypeFlags.TemplateLiteral */) { var types = t.types; var constraints = ts.mapDefined(types, getBaseConstraint); return constraints.length === types.length ? getTemplateLiteralType(t.texts, constraints) : stringType; } - if (t.flags & 268435456 /* StringMapping */) { + if (t.flags & 268435456 /* TypeFlags.StringMapping */) { var constraint = getBaseConstraint(t.type); return constraint ? getStringMappingType(t.symbol, constraint) : stringType; } - if (t.flags & 8388608 /* IndexedAccess */) { + if (t.flags & 8388608 /* TypeFlags.IndexedAccess */) { if (isMappedTypeGenericIndexedAccess(t)) { // For indexed access types of the form { [P in K]: E }[X], where K is non-generic and X is generic, // we substitute an instantiation of E where P is replaced with X. @@ -58761,11 +59004,11 @@ var ts; var baseIndexedAccess = baseObjectType && baseIndexType && getIndexedAccessTypeOrUndefined(baseObjectType, baseIndexType, t.accessFlags); return baseIndexedAccess && getBaseConstraint(baseIndexedAccess); } - if (t.flags & 16777216 /* Conditional */) { + if (t.flags & 16777216 /* TypeFlags.Conditional */) { var constraint = getConstraintFromConditionalType(t); return constraint && getBaseConstraint(constraint); } - if (t.flags & 33554432 /* Substitution */) { + if (t.flags & 33554432 /* TypeFlags.Substitution */) { return getBaseConstraint(t.substitute); } return t; @@ -58824,7 +59067,7 @@ var ts; var typeVariable = getHomomorphicTypeVariable(type); if (typeVariable && !type.declaration.nameType) { var constraint = getConstraintOfTypeParameter(typeVariable); - if (constraint && (isArrayType(constraint) || isTupleType(constraint))) { + if (constraint && isArrayOrTupleType(constraint)) { return instantiateType(type, prependTypeMapping(typeVariable, constraint, type.mapper)); } } @@ -58832,7 +59075,7 @@ var ts; } function isMappedTypeGenericIndexedAccess(type) { var objectType; - return !!(type.flags & 8388608 /* IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* Mapped */ && + return !!(type.flags & 8388608 /* TypeFlags.IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* ObjectFlags.Mapped */ && !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) && !objectType.declaration.questionToken && !objectType.declaration.nameType); } @@ -58842,17 +59085,17 @@ var ts; * type itself. */ function getApparentType(type) { - var t = !(type.flags & 465829888 /* Instantiable */) ? type : getBaseConstraintOfType(type) || unknownType; - return ts.getObjectFlags(t) & 32 /* Mapped */ ? getApparentTypeOfMappedType(t) : - t.flags & 2097152 /* Intersection */ ? getApparentTypeOfIntersectionType(t) : - t.flags & 402653316 /* StringLike */ ? globalStringType : - t.flags & 296 /* NumberLike */ ? globalNumberType : - t.flags & 2112 /* BigIntLike */ ? getGlobalBigIntType(/*reportErrors*/ languageVersion >= 7 /* ES2020 */) : - t.flags & 528 /* BooleanLike */ ? globalBooleanType : - t.flags & 12288 /* ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ES2015 */) : - t.flags & 67108864 /* NonPrimitive */ ? emptyObjectType : - t.flags & 4194304 /* Index */ ? keyofConstraintType : - t.flags & 2 /* Unknown */ && !strictNullChecks ? emptyObjectType : + var t = !(type.flags & 465829888 /* TypeFlags.Instantiable */) ? type : getBaseConstraintOfType(type) || unknownType; + return ts.getObjectFlags(t) & 32 /* ObjectFlags.Mapped */ ? getApparentTypeOfMappedType(t) : + t.flags & 2097152 /* TypeFlags.Intersection */ ? getApparentTypeOfIntersectionType(t) : + t.flags & 402653316 /* TypeFlags.StringLike */ ? globalStringType : + t.flags & 296 /* TypeFlags.NumberLike */ ? globalNumberType : + t.flags & 2112 /* TypeFlags.BigIntLike */ ? getGlobalBigIntType(/*reportErrors*/ languageVersion >= 7 /* ScriptTarget.ES2020 */) : + t.flags & 528 /* TypeFlags.BooleanLike */ ? globalBooleanType : + t.flags & 12288 /* TypeFlags.ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ScriptTarget.ES2015 */) : + t.flags & 67108864 /* TypeFlags.NonPrimitive */ ? emptyObjectType : + t.flags & 4194304 /* TypeFlags.Index */ ? keyofConstraintType : + t.flags & 2 /* TypeFlags.Unknown */ && !strictNullChecks ? emptyObjectType : t; } function getReducedApparentType(type) { @@ -58867,21 +59110,21 @@ var ts; var singleProp; var propSet; var indexTypes; - var isUnion = containingType.flags & 1048576 /* Union */; + var isUnion = containingType.flags & 1048576 /* TypeFlags.Union */; // Flags we want to propagate to the result if they exist in all source symbols - var optionalFlag = isUnion ? 0 /* None */ : 16777216 /* Optional */; - var syntheticFlag = 4 /* SyntheticMethod */; - var checkFlags = isUnion ? 0 : 8 /* Readonly */; + var optionalFlag = isUnion ? 0 /* SymbolFlags.None */ : 16777216 /* SymbolFlags.Optional */; + var syntheticFlag = 4 /* CheckFlags.SyntheticMethod */; + var checkFlags = isUnion ? 0 : 8 /* CheckFlags.Readonly */; var mergedInstantiations = false; for (var _i = 0, _c = containingType.types; _i < _c.length; _i++) { var current = _c[_i]; var type = getApparentType(current); - if (!(isErrorType(type) || type.flags & 131072 /* Never */)) { + if (!(isErrorType(type) || type.flags & 131072 /* TypeFlags.Never */)) { var prop = getPropertyOfType(type, name, skipObjectFunctionPropertyAugment); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop) { if (isUnion) { - optionalFlag |= (prop.flags & 16777216 /* Optional */); + optionalFlag |= (prop.flags & 16777216 /* SymbolFlags.Optional */); } else { optionalFlag &= prop.flags; @@ -58894,7 +59137,7 @@ var ts; // If the symbols are instances of one another with identical types - consider the symbols // equivalent and just use the first one, which thus allows us to avoid eliding private // members when intersecting a (this-)instantiations of a class with it's raw base or another instance - if (isInstantiation && compareProperties(singleProp, prop, function (a, b) { return a === b ? -1 /* True */ : 0 /* False */; }) === -1 /* True */) { + if (isInstantiation && compareProperties(singleProp, prop, function (a, b) { return a === b ? -1 /* Ternary.True */ : 0 /* Ternary.False */; }) === -1 /* Ternary.True */) { // If we merged instantiations of a generic type, we replicate the symbol parent resetting behavior we used // to do when we recorded multiple distinct symbols so that we still get, eg, `Array.length` printed // back and not `Array.length` when we're looking at a `.length` access on a `string[] | number[]` @@ -58912,41 +59155,41 @@ var ts; } } if (isUnion && isReadonlySymbol(prop)) { - checkFlags |= 8 /* Readonly */; + checkFlags |= 8 /* CheckFlags.Readonly */; } else if (!isUnion && !isReadonlySymbol(prop)) { - checkFlags &= ~8 /* Readonly */; + checkFlags &= ~8 /* CheckFlags.Readonly */; } - checkFlags |= (!(modifiers & 24 /* NonPublicAccessibilityModifier */) ? 256 /* ContainsPublic */ : 0) | - (modifiers & 16 /* Protected */ ? 512 /* ContainsProtected */ : 0) | - (modifiers & 8 /* Private */ ? 1024 /* ContainsPrivate */ : 0) | - (modifiers & 32 /* Static */ ? 2048 /* ContainsStatic */ : 0); + checkFlags |= (!(modifiers & 24 /* ModifierFlags.NonPublicAccessibilityModifier */) ? 256 /* CheckFlags.ContainsPublic */ : 0) | + (modifiers & 16 /* ModifierFlags.Protected */ ? 512 /* CheckFlags.ContainsProtected */ : 0) | + (modifiers & 8 /* ModifierFlags.Private */ ? 1024 /* CheckFlags.ContainsPrivate */ : 0) | + (modifiers & 32 /* ModifierFlags.Static */ ? 2048 /* CheckFlags.ContainsStatic */ : 0); if (!isPrototypeProperty(prop)) { - syntheticFlag = 2 /* SyntheticProperty */; + syntheticFlag = 2 /* CheckFlags.SyntheticProperty */; } } else if (isUnion) { var indexInfo = !isLateBoundName(name) && getApplicableIndexInfoForName(type, name); if (indexInfo) { - checkFlags |= 32 /* WritePartial */ | (indexInfo.isReadonly ? 8 /* Readonly */ : 0); + checkFlags |= 32 /* CheckFlags.WritePartial */ | (indexInfo.isReadonly ? 8 /* CheckFlags.Readonly */ : 0); indexTypes = ts.append(indexTypes, isTupleType(type) ? getRestTypeOfTupleType(type) || undefinedType : indexInfo.type); } - else if (isObjectLiteralType(type) && !(ts.getObjectFlags(type) & 2097152 /* ContainsSpread */)) { - checkFlags |= 32 /* WritePartial */; + else if (isObjectLiteralType(type) && !(ts.getObjectFlags(type) & 2097152 /* ObjectFlags.ContainsSpread */)) { + checkFlags |= 32 /* CheckFlags.WritePartial */; indexTypes = ts.append(indexTypes, undefinedType); } else { - checkFlags |= 16 /* ReadPartial */; + checkFlags |= 16 /* CheckFlags.ReadPartial */; } } } } - if (!singleProp || isUnion && (propSet || checkFlags & 48 /* Partial */) && checkFlags & (1024 /* ContainsPrivate */ | 512 /* ContainsProtected */)) { + if (!singleProp || isUnion && (propSet || checkFlags & 48 /* CheckFlags.Partial */) && checkFlags & (1024 /* CheckFlags.ContainsPrivate */ | 512 /* CheckFlags.ContainsProtected */)) { // No property was found, or, in a union, a property has a private or protected declaration in one // constituent, but is missing or has a different declaration in another constituent. return undefined; } - if (!propSet && !(checkFlags & 16 /* ReadPartial */) && !indexTypes) { + if (!propSet && !(checkFlags & 16 /* CheckFlags.ReadPartial */) && !indexTypes) { if (mergedInstantiations) { // No symbol from a union/intersection should have a `.parent` set (since unions/intersections don't act as symbol parents) // Unless that parent is "reconstituted" from the "first value declaration" on the symbol (which is likely different than its instantiated parent!) @@ -58988,18 +59231,18 @@ var ts; writeTypes = ts.append(!writeTypes ? propTypes.slice() : writeTypes, writeType); } else if (type !== firstType) { - checkFlags |= 64 /* HasNonUniformType */; + checkFlags |= 64 /* CheckFlags.HasNonUniformType */; } if (isLiteralType(type) || isPatternLiteralType(type) || type === uniqueLiteralType) { - checkFlags |= 128 /* HasLiteralType */; + checkFlags |= 128 /* CheckFlags.HasLiteralType */; } - if (type.flags & 131072 /* Never */ && type !== uniqueLiteralType) { - checkFlags |= 131072 /* HasNeverType */; + if (type.flags & 131072 /* TypeFlags.Never */ && type !== uniqueLiteralType) { + checkFlags |= 131072 /* CheckFlags.HasNeverType */; } propTypes.push(type); } ts.addRange(propTypes, indexTypes); - var result = createSymbol(4 /* Property */ | optionalFlag, name, syntheticFlag | checkFlags); + var result = createSymbol(4 /* SymbolFlags.Property */ | optionalFlag, name, syntheticFlag | checkFlags); result.containingType = containingType; if (!hasNonUniformValueDeclaration && firstValueDeclaration) { result.valueDeclaration = firstValueDeclaration; @@ -59012,7 +59255,7 @@ var ts; result.nameType = nameType; if (propTypes.length > 2) { // When `propTypes` has the potential to explode in size when normalized, defer normalization until absolutely needed - result.checkFlags |= 65536 /* DeferredType */; + result.checkFlags |= 65536 /* CheckFlags.DeferredType */; result.deferralParent = containingType; result.deferralConstituents = propTypes; result.deferralWriteConstituents = writeTypes; @@ -59046,7 +59289,7 @@ var ts; function getPropertyOfUnionOrIntersectionType(type, name, skipObjectFunctionPropertyAugment) { var property = getUnionOrIntersectionProperty(type, name, skipObjectFunctionPropertyAugment); // We need to filter out partial properties in union types - return property && !(ts.getCheckFlags(property) & 16 /* ReadPartial */) ? property : undefined; + return property && !(ts.getCheckFlags(property) & 16 /* CheckFlags.ReadPartial */) ? property : undefined; } /** * Return the reduced form of the given type. For a union type, it is a union of the normalized constituent types. @@ -59055,15 +59298,15 @@ var ts; * no constituent property has type 'never', but the intersection of the constituent property types is 'never'. */ function getReducedType(type) { - if (type.flags & 1048576 /* Union */ && type.objectFlags & 16777216 /* ContainsIntersections */) { + if (type.flags & 1048576 /* TypeFlags.Union */ && type.objectFlags & 16777216 /* ObjectFlags.ContainsIntersections */) { return type.resolvedReducedType || (type.resolvedReducedType = getReducedUnionType(type)); } - else if (type.flags & 2097152 /* Intersection */) { - if (!(type.objectFlags & 16777216 /* IsNeverIntersectionComputed */)) { - type.objectFlags |= 16777216 /* IsNeverIntersectionComputed */ | - (ts.some(getPropertiesOfUnionOrIntersectionType(type), isNeverReducedProperty) ? 33554432 /* IsNeverIntersection */ : 0); + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { + if (!(type.objectFlags & 16777216 /* ObjectFlags.IsNeverIntersectionComputed */)) { + type.objectFlags |= 16777216 /* ObjectFlags.IsNeverIntersectionComputed */ | + (ts.some(getPropertiesOfUnionOrIntersectionType(type), isNeverReducedProperty) ? 33554432 /* ObjectFlags.IsNeverIntersection */ : 0); } - return type.objectFlags & 33554432 /* IsNeverIntersection */ ? neverType : type; + return type.objectFlags & 33554432 /* ObjectFlags.IsNeverIntersection */ ? neverType : type; } return type; } @@ -59073,7 +59316,7 @@ var ts; return unionType; } var reduced = getUnionType(reducedTypes); - if (reduced.flags & 1048576 /* Union */) { + if (reduced.flags & 1048576 /* TypeFlags.Union */) { reduced.resolvedReducedType = reduced; } return reduced; @@ -59084,23 +59327,23 @@ var ts; function isDiscriminantWithNeverType(prop) { // Return true for a synthetic non-optional property with non-uniform types, where at least one is // a literal type and none is never, that reduces to never. - return !(prop.flags & 16777216 /* Optional */) && - (ts.getCheckFlags(prop) & (192 /* Discriminant */ | 131072 /* HasNeverType */)) === 192 /* Discriminant */ && - !!(getTypeOfSymbol(prop).flags & 131072 /* Never */); + return !(prop.flags & 16777216 /* SymbolFlags.Optional */) && + (ts.getCheckFlags(prop) & (192 /* CheckFlags.Discriminant */ | 131072 /* CheckFlags.HasNeverType */)) === 192 /* CheckFlags.Discriminant */ && + !!(getTypeOfSymbol(prop).flags & 131072 /* TypeFlags.Never */); } function isConflictingPrivateProperty(prop) { // Return true for a synthetic property with multiple declarations, at least one of which is private. - return !prop.valueDeclaration && !!(ts.getCheckFlags(prop) & 1024 /* ContainsPrivate */); + return !prop.valueDeclaration && !!(ts.getCheckFlags(prop) & 1024 /* CheckFlags.ContainsPrivate */); } function elaborateNeverIntersection(errorInfo, type) { - if (type.flags & 2097152 /* Intersection */ && ts.getObjectFlags(type) & 33554432 /* IsNeverIntersection */) { + if (type.flags & 2097152 /* TypeFlags.Intersection */ && ts.getObjectFlags(type) & 33554432 /* ObjectFlags.IsNeverIntersection */) { var neverProp = ts.find(getPropertiesOfUnionOrIntersectionType(type), isDiscriminantWithNeverType); if (neverProp) { - return ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents, typeToString(type, /*enclosingDeclaration*/ undefined, 536870912 /* NoTypeReduction */), symbolToString(neverProp)); + return ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents, typeToString(type, /*enclosingDeclaration*/ undefined, 536870912 /* TypeFormatFlags.NoTypeReduction */), symbolToString(neverProp)); } var privateProp = ts.find(getPropertiesOfUnionOrIntersectionType(type), isConflictingPrivateProperty); if (privateProp) { - return ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some, typeToString(type, /*enclosingDeclaration*/ undefined, 536870912 /* NoTypeReduction */), symbolToString(privateProp)); + return ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some, typeToString(type, /*enclosingDeclaration*/ undefined, 536870912 /* TypeFormatFlags.NoTypeReduction */), symbolToString(privateProp)); } } return errorInfo; @@ -59115,7 +59358,7 @@ var ts; */ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) { type = getReducedApparentType(type); - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); if (symbol && symbolIsValue(symbol)) { @@ -59135,15 +59378,15 @@ var ts; } return getPropertyOfObjectType(globalObjectType, name); } - if (type.flags & 3145728 /* UnionOrIntersection */) { + if (type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { return getPropertyOfUnionOrIntersectionType(type, name, skipObjectFunctionPropertyAugment); } return undefined; } function getSignaturesOfStructuredType(type, kind) { - if (type.flags & 3670016 /* StructuredType */) { + if (type.flags & 3670016 /* TypeFlags.StructuredType */) { var resolved = resolveStructuredTypeMembers(type); - return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; + return kind === 0 /* SignatureKind.Call */ ? resolved.callSignatures : resolved.constructSignatures; } return ts.emptyArray; } @@ -59186,13 +59429,13 @@ var ts; } function isApplicableIndexType(source, target) { // A 'string' index signature applies to types assignable to 'string' or 'number', and a 'number' index - // signature applies to types assignable to 'number' and numeric string literal types. + // signature applies to types assignable to 'number', `${number}` and numeric string literal types. return isTypeAssignableTo(source, target) || target === stringType && isTypeAssignableTo(source, numberType) || - target === numberType && !!(source.flags & 128 /* StringLiteral */) && ts.isNumericLiteralName(source.value); + target === numberType && (source === numericStringType || !!(source.flags & 128 /* TypeFlags.StringLiteral */) && ts.isNumericLiteralName(source.value)); } function getIndexInfosOfStructuredType(type) { - if (type.flags & 3670016 /* StructuredType */) { + if (type.flags & 3670016 /* TypeFlags.StructuredType */) { var resolved = resolveStructuredTypeMembers(type); return resolved.indexInfos; } @@ -59243,17 +59486,17 @@ var ts; function isJSDocOptionalParameter(node) { return ts.isInJSFile(node) && ( // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType - node.type && node.type.kind === 316 /* JSDocOptionalType */ + node.type && node.type.kind === 316 /* SyntaxKind.JSDocOptionalType */ || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* SyntaxKind.JSDocOptionalType */; })); } function tryFindAmbientModule(moduleName, withAugmentations) { if (ts.isExternalModuleNameRelative(moduleName)) { return undefined; } - var symbol = getSymbol(globals, '"' + moduleName + '"', 512 /* ValueModule */); + var symbol = getSymbol(globals, '"' + moduleName + '"', 512 /* SymbolFlags.ValueModule */); // merged symbol is module declaration symbol combined with all augmentations return symbol && withAugmentations ? getMergedSymbol(symbol) : symbol; } @@ -59268,7 +59511,7 @@ var ts; // Only consider syntactic or instantiated parameters as optional, not `void` parameters as this function is used // in grammar checks and checking for `void` too early results in parameter types widening too early // and causes some noImplicitAny errors to be lost. - return parameterIndex >= getMinArgumentCount(signature, 1 /* StrongArityForUntypedJS */ | 2 /* VoidIsNonOptional */); + return parameterIndex >= getMinArgumentCount(signature, 1 /* MinArgumentCountFlags.StrongArityForUntypedJS */ | 2 /* MinArgumentCountFlags.VoidIsNonOptional */); } var iife = ts.getImmediatelyInvokedFunctionExpression(node.parent); if (iife) { @@ -59286,7 +59529,7 @@ var ts; return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* SyntaxKind.JSDocOptionalType */; } function createTypePredicate(kind, parameterName, parameterIndex, type) { return { kind: kind, parameterName: parameterName, parameterIndex: parameterIndex, type: type }; @@ -59335,7 +59578,7 @@ var ts; var links = getNodeLinks(declaration); if (!links.resolvedSignature) { var parameters = []; - var flags = 0 /* None */; + var flags = 0 /* SignatureFlags.None */; var minArgumentCount = 0; var thisParameter = void 0; var hasThisParameter = false; @@ -59347,7 +59590,7 @@ var ts; !ts.hasJSDocParameterTags(declaration) && !ts.getJSDocType(declaration); if (isUntypedSignatureInJSFile) { - flags |= 32 /* IsUntypedSignatureInJSFile */; + flags |= 32 /* SignatureFlags.IsUntypedSignatureInJSFile */; } // If this is a JSDoc construct signature, then skip the first parameter in the // parameter list. The first parameter represents the return type of the construct @@ -59357,19 +59600,19 @@ var ts; var paramSymbol = param.symbol; var type = ts.isJSDocParameterTag(param) ? (param.typeExpression && param.typeExpression.type) : param.type; // Include parameter symbol instead of property symbol in the signature - if (paramSymbol && !!(paramSymbol.flags & 4 /* Property */) && !ts.isBindingPattern(param.name)) { - var resolvedSymbol = resolveName(param, paramSymbol.escapedName, 111551 /* Value */, undefined, undefined, /*isUse*/ false); + if (paramSymbol && !!(paramSymbol.flags & 4 /* SymbolFlags.Property */) && !ts.isBindingPattern(param.name)) { + var resolvedSymbol = resolveName(param, paramSymbol.escapedName, 111551 /* SymbolFlags.Value */, undefined, undefined, /*isUse*/ false); paramSymbol = resolvedSymbol; } - if (i === 0 && paramSymbol.escapedName === "this" /* This */) { + if (i === 0 && paramSymbol.escapedName === "this" /* InternalSymbolName.This */) { hasThisParameter = true; thisParameter = param.symbol; } else { parameters.push(paramSymbol); } - if (type && type.kind === 196 /* LiteralType */) { - flags |= 2 /* HasLiteralTypes */; + if (type && type.kind === 196 /* SyntaxKind.LiteralType */) { + flags |= 2 /* SignatureFlags.HasLiteralTypes */; } // Record a new minimum argument count if this is not an optional parameter var isOptionalParameter_1 = isOptionalJSDocPropertyLikeTag(param) || @@ -59381,25 +59624,25 @@ var ts; } } // If only one accessor includes a this-type annotation, the other behaves as if it had the same type annotation - if ((declaration.kind === 172 /* GetAccessor */ || declaration.kind === 173 /* SetAccessor */) && + if ((declaration.kind === 172 /* SyntaxKind.GetAccessor */ || declaration.kind === 173 /* SyntaxKind.SetAccessor */) && hasBindableName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 172 /* GetAccessor */ ? 173 /* SetAccessor */ : 172 /* GetAccessor */; + var otherKind = declaration.kind === 172 /* SyntaxKind.GetAccessor */ ? 173 /* SyntaxKind.SetAccessor */ : 172 /* SyntaxKind.GetAccessor */; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 171 /* Constructor */ ? + var classType = declaration.kind === 171 /* SyntaxKind.Constructor */ ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); if (ts.hasRestParameter(declaration) || ts.isInJSFile(declaration) && maybeAddJsSyntheticRestParameter(declaration, parameters)) { - flags |= 1 /* HasRestParameter */; + flags |= 1 /* SignatureFlags.HasRestParameter */; } - if (ts.isConstructorTypeNode(declaration) && ts.hasSyntacticModifier(declaration, 128 /* Abstract */) || - ts.isConstructorDeclaration(declaration) && ts.hasSyntacticModifier(declaration.parent, 128 /* Abstract */)) { - flags |= 4 /* Abstract */; + if (ts.isConstructorTypeNode(declaration) && ts.hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */) || + ts.isConstructorDeclaration(declaration) && ts.hasSyntacticModifier(declaration.parent, 128 /* ModifierFlags.Abstract */)) { + flags |= 4 /* SignatureFlags.Abstract */; } links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgumentCount, flags); @@ -59421,7 +59664,7 @@ var ts; var lastParamVariadicType = ts.firstDefined(lastParamTags, function (p) { return p.typeExpression && ts.isJSDocVariadicType(p.typeExpression.type) ? p.typeExpression.type : undefined; }); - var syntheticArgsSymbol = createSymbol(3 /* Variable */, "args", 32768 /* RestParameter */); + var syntheticArgsSymbol = createSymbol(3 /* SymbolFlags.Variable */, "args", 32768 /* CheckFlags.RestParameter */); if (lastParamVariadicType) { // Parameter has effective annotation, lock in type syntheticArgsSymbol.type = createArrayType(getTypeFromTypeNode(lastParamVariadicType.type)); @@ -59430,7 +59673,7 @@ var ts; // Parameter has no annotation // By using a `DeferredType` symbol, we allow the type of this rest arg to be overriden by contextual type assignment so long as its type hasn't been // cached by `getTypeOfSymbol` yet. - syntheticArgsSymbol.checkFlags |= 65536 /* DeferredType */; + syntheticArgsSymbol.checkFlags |= 65536 /* CheckFlags.DeferredType */; syntheticArgsSymbol.deferralParent = neverType; syntheticArgsSymbol.deferralConstituents = [anyArrayType]; syntheticArgsSymbol.deferralWriteConstituents = [anyArrayType]; @@ -59463,7 +59706,7 @@ var ts; function containsArgumentsReference(declaration) { var links = getNodeLinks(declaration); if (links.containsArgumentsReference === undefined) { - if (links.flags & 8192 /* CaptureArguments */) { + if (links.flags & 8192 /* NodeCheckFlags.CaptureArguments */) { links.containsArgumentsReference = true; } else { @@ -59475,18 +59718,18 @@ var ts; if (!node) return false; switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return node.escapedText === argumentsSymbol.escapedName && getReferencedValueSymbol(node) === argumentsSymbol; - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - return node.name.kind === 162 /* ComputedPropertyName */ + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + return node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && traverse(node.name); - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return traverse(node.expression); - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return traverse(node.initializer); default: return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); @@ -59558,26 +59801,26 @@ var ts; function createTypePredicateFromTypePredicateNode(node, signature) { var parameterName = node.parameterName; var type = node.type && getTypeFromTypeNode(node.type); - return parameterName.kind === 192 /* ThisType */ ? - createTypePredicate(node.assertsModifier ? 2 /* AssertsThis */ : 0 /* This */, /*parameterName*/ undefined, /*parameterIndex*/ undefined, type) : - createTypePredicate(node.assertsModifier ? 3 /* AssertsIdentifier */ : 1 /* Identifier */, parameterName.escapedText, ts.findIndex(signature.parameters, function (p) { return p.escapedName === parameterName.escapedText; }), type); + return parameterName.kind === 192 /* SyntaxKind.ThisType */ ? + createTypePredicate(node.assertsModifier ? 2 /* TypePredicateKind.AssertsThis */ : 0 /* TypePredicateKind.This */, /*parameterName*/ undefined, /*parameterIndex*/ undefined, type) : + createTypePredicate(node.assertsModifier ? 3 /* TypePredicateKind.AssertsIdentifier */ : 1 /* TypePredicateKind.Identifier */, parameterName.escapedText, ts.findIndex(signature.parameters, function (p) { return p.escapedName === parameterName.escapedText; }), type); } function getUnionOrIntersectionType(types, kind, unionReduction) { - return kind !== 2097152 /* Intersection */ ? getUnionType(types, unionReduction) : getIntersectionType(types); + return kind !== 2097152 /* TypeFlags.Intersection */ ? getUnionType(types, unionReduction) : getIntersectionType(types); } function getReturnTypeOfSignature(signature) { if (!signature.resolvedReturnType) { - if (!pushTypeResolution(signature, 3 /* ResolvedReturnType */)) { + if (!pushTypeResolution(signature, 3 /* TypeSystemPropertyName.ResolvedReturnType */)) { return errorType; } var type = signature.target ? instantiateType(getReturnTypeOfSignature(signature.target), signature.mapper) : - signature.compositeSignatures ? instantiateType(getUnionOrIntersectionType(ts.map(signature.compositeSignatures, getReturnTypeOfSignature), signature.compositeKind, 2 /* Subtype */), signature.mapper) : + signature.compositeSignatures ? instantiateType(getUnionOrIntersectionType(ts.map(signature.compositeSignatures, getReturnTypeOfSignature), signature.compositeKind, 2 /* UnionReduction.Subtype */), signature.mapper) : getReturnTypeFromAnnotation(signature.declaration) || (ts.nodeIsMissing(signature.declaration.body) ? anyType : getReturnTypeFromBody(signature.declaration)); - if (signature.flags & 8 /* IsInnerCallChain */) { + if (signature.flags & 8 /* SignatureFlags.IsInnerCallChain */) { type = addOptionalTypeMarker(type); } - else if (signature.flags & 16 /* IsOuterCallChain */) { + else if (signature.flags & 16 /* SignatureFlags.IsOuterCallChain */) { type = getOptionalType(type); } if (!popTypeResolution()) { @@ -59604,7 +59847,7 @@ var ts; return signature.resolvedReturnType; } function getReturnTypeFromAnnotation(declaration) { - if (declaration.kind === 171 /* Constructor */) { + if (declaration.kind === 171 /* SyntaxKind.Constructor */) { return getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)); } if (ts.isJSDocConstructSignature(declaration)) { @@ -59614,12 +59857,12 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 172 /* GetAccessor */ && hasBindableName(declaration)) { + if (declaration.kind === 172 /* SyntaxKind.GetAccessor */ && hasBindableName(declaration)) { var jsDocType = ts.isInJSFile(declaration) && getTypeForDeclarationFromJSDocComment(declaration); if (jsDocType) { return jsDocType; } - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 173 /* SetAccessor */); + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 173 /* SyntaxKind.SetAccessor */); var setterType = getAnnotatedAccessorType(setter); if (setterType) { return setterType; @@ -59628,7 +59871,7 @@ var ts; return getReturnTypeOfTypeTag(declaration); } function isResolvingReturnTypeOfSignature(signature) { - return !signature.resolvedReturnType && findResolutionCycleStartIndex(signature, 3 /* ResolvedReturnType */) >= 0; + return !signature.resolvedReturnType && findResolutionCycleStartIndex(signature, 3 /* TypeSystemPropertyName.ResolvedReturnType */) >= 0; } function getRestTypeOfSignature(signature) { return tryGetRestTypeOfSignature(signature) || anyType; @@ -59722,8 +59965,8 @@ var ts; if (!signature.isolatedSignatureType) { var kind = (_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind; // If declaration is undefined, it is likely to be the signature of the default constructor. - var isConstructor = kind === undefined || kind === 171 /* Constructor */ || kind === 175 /* ConstructSignature */ || kind === 180 /* ConstructorType */; - var type = createObjectType(16 /* Anonymous */); + var isConstructor = kind === undefined || kind === 171 /* SyntaxKind.Constructor */ || kind === 175 /* SyntaxKind.ConstructSignature */ || kind === 180 /* SyntaxKind.ConstructorType */; + var type = createObjectType(16 /* ObjectFlags.Anonymous */); type.members = emptySymbols; type.properties = ts.emptyArray; type.callSignatures = !isConstructor ? [signature] : ts.emptyArray; @@ -59737,7 +59980,7 @@ var ts; return symbol.members ? getIndexSymbolFromSymbolTable(symbol.members) : undefined; } function getIndexSymbolFromSymbolTable(symbolTable) { - return symbolTable.get("__index" /* Index */); + return symbolTable.get("__index" /* InternalSymbolName.Index */); } function createIndexInfo(keyType, type, isReadonly, declaration) { return { keyType: keyType, type: type, isReadonly: isReadonly, declaration: declaration }; @@ -59755,7 +59998,7 @@ var ts; if (parameter.type) { forEachType(getTypeFromTypeNode(parameter.type), function (keyType) { if (isValidIndexKeyType(keyType) && !findIndexInfo(indexInfos_4, keyType)) { - indexInfos_4.push(createIndexInfo(keyType, declaration.type ? getTypeFromTypeNode(declaration.type) : anyType, ts.hasEffectiveModifier(declaration, 64 /* Readonly */), declaration)); + indexInfos_4.push(createIndexInfo(keyType, declaration.type ? getTypeFromTypeNode(declaration.type) : anyType, ts.hasEffectiveModifier(declaration, 64 /* ModifierFlags.Readonly */), declaration)); } }); } @@ -59770,8 +60013,8 @@ var ts; return ts.emptyArray; } function isValidIndexKeyType(type) { - return !!(type.flags & (4 /* String */ | 8 /* Number */ | 4096 /* ESSymbol */)) || isPatternLiteralType(type) || - !!(type.flags & 2097152 /* Intersection */) && !isGenericType(type) && ts.some(type.types, isValidIndexKeyType); + return !!(type.flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 4096 /* TypeFlags.ESSymbol */)) || isPatternLiteralType(type) || + !!(type.flags & 2097152 /* TypeFlags.Intersection */) && !isGenericType(type) && ts.some(type.types, isValidIndexKeyType); } function getConstraintDeclaration(type) { return ts.mapDefined(ts.filter(type.symbol && type.symbol.declarations, ts.isTypeParameterDeclaration), ts.getEffectiveConstraintOfTypeParameter)[0]; @@ -59782,13 +60025,13 @@ var ts; if ((_a = typeParameter.symbol) === null || _a === void 0 ? void 0 : _a.declarations) { for (var _i = 0, _b = typeParameter.symbol.declarations; _i < _b.length; _i++) { var declaration = _b[_i]; - if (declaration.parent.kind === 190 /* InferType */) { + if (declaration.parent.kind === 190 /* SyntaxKind.InferType */) { // When an 'infer T' declaration is immediately contained in a type reference node // (such as 'Foo'), T's constraint is inferred from the constraint of the // corresponding type parameter in 'Foo'. When multiple 'infer T' declarations are // present, we form an intersection of the inferred constraint types. var _c = ts.walkUpParenthesizedTypesAndGetParentAndChild(declaration.parent.parent), _d = _c[0], childTypeParameter = _d === void 0 ? declaration.parent : _d, grandParent = _c[1]; - if (grandParent.kind === 178 /* TypeReference */ && !omitTypeReferences) { + if (grandParent.kind === 178 /* SyntaxKind.TypeReference */ && !omitTypeReferences) { var typeReference = grandParent; var typeParameters = getTypeParametersForTypeReference(typeReference); if (typeParameters) { @@ -59813,27 +60056,27 @@ var ts; } // When an 'infer T' declaration is immediately contained in a rest parameter declaration, a rest type // or a named rest tuple element, we infer an 'unknown[]' constraint. - else if (grandParent.kind === 164 /* Parameter */ && grandParent.dotDotDotToken || - grandParent.kind === 186 /* RestType */ || - grandParent.kind === 197 /* NamedTupleMember */ && grandParent.dotDotDotToken) { + else if (grandParent.kind === 164 /* SyntaxKind.Parameter */ && grandParent.dotDotDotToken || + grandParent.kind === 186 /* SyntaxKind.RestType */ || + grandParent.kind === 197 /* SyntaxKind.NamedTupleMember */ && grandParent.dotDotDotToken) { inferences = ts.append(inferences, createArrayType(unknownType)); } // When an 'infer T' declaration is immediately contained in a string template type, we infer a 'string' // constraint. - else if (grandParent.kind === 199 /* TemplateLiteralTypeSpan */) { + else if (grandParent.kind === 199 /* SyntaxKind.TemplateLiteralTypeSpan */) { inferences = ts.append(inferences, stringType); } // When an 'infer T' declaration is in the constraint position of a mapped type, we infer a 'keyof any' // constraint. - else if (grandParent.kind === 163 /* TypeParameter */ && grandParent.parent.kind === 195 /* MappedType */) { + else if (grandParent.kind === 163 /* SyntaxKind.TypeParameter */ && grandParent.parent.kind === 195 /* SyntaxKind.MappedType */) { inferences = ts.append(inferences, keyofConstraintType); } // When an 'infer T' declaration is the template of a mapped type, and that mapped type is the extends // clause of a conditional whose check type is also a mapped type, give it a constraint equal to the template // of the check type's mapped type - else if (grandParent.kind === 195 /* MappedType */ && grandParent.type && - ts.skipParentheses(grandParent.type) === declaration.parent && grandParent.parent.kind === 189 /* ConditionalType */ && - grandParent.parent.extendsType === grandParent && grandParent.parent.checkType.kind === 195 /* MappedType */ && + else if (grandParent.kind === 195 /* SyntaxKind.MappedType */ && grandParent.type && + ts.skipParentheses(grandParent.type) === declaration.parent && grandParent.parent.kind === 189 /* SyntaxKind.ConditionalType */ && + grandParent.parent.extendsType === grandParent && grandParent.parent.checkType.kind === 195 /* SyntaxKind.MappedType */ && grandParent.parent.checkType.type) { var checkMappedType_1 = grandParent.parent.checkType; var nodeType = getTypeFromTypeNode(checkMappedType_1.type); @@ -59858,10 +60101,10 @@ var ts; } else { var type = getTypeFromTypeNode(constraintDeclaration); - if (type.flags & 1 /* Any */ && !isErrorType(type)) { // Allow errorType to propegate to keep downstream errors suppressed + if (type.flags & 1 /* TypeFlags.Any */ && !isErrorType(type)) { // Allow errorType to propegate to keep downstream errors suppressed // use keyofConstraintType as the base constraint for mapped type key constraints (unknown isn;t assignable to that, but `any` was), // use unknown otherwise - type = constraintDeclaration.parent.parent.kind === 195 /* MappedType */ ? keyofConstraintType : unknownType; + type = constraintDeclaration.parent.parent.kind === 195 /* SyntaxKind.MappedType */ ? keyofConstraintType : unknownType; } typeParameter.constraint = type; } @@ -59870,7 +60113,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - var tp = ts.getDeclarationOfKind(typeParameter.symbol, 163 /* TypeParameter */); + var tp = ts.getDeclarationOfKind(typeParameter.symbol, 163 /* SyntaxKind.TypeParameter */); var host = ts.isJSDocTemplateTag(tp.parent) ? ts.getEffectiveContainerForJSDocTemplateTag(tp.parent) : tp.parent; return host && getSymbolOfNode(host); } @@ -59898,7 +60141,7 @@ var ts; return result; } function getAliasId(aliasSymbol, aliasTypeArguments) { - return aliasSymbol ? "@" + getSymbolId(aliasSymbol) + (aliasTypeArguments ? ":" + getTypeListId(aliasTypeArguments) : "") : ""; + return aliasSymbol ? "@".concat(getSymbolId(aliasSymbol)) + (aliasTypeArguments ? ":".concat(getTypeListId(aliasTypeArguments)) : "") : ""; } // This function is used to propagate certain flags when creating new object type references and union types. // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type @@ -59912,13 +60155,13 @@ var ts; result |= ts.getObjectFlags(type); } } - return result & 458752 /* PropagatingFlags */; + return result & 458752 /* ObjectFlags.PropagatingFlags */; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); var type = target.instantiations.get(id); if (!type) { - type = createObjectType(4 /* Reference */, target.symbol); + type = createObjectType(4 /* ObjectFlags.Reference */, target.symbol); target.instantiations.set(id, type); type.objectFlags |= typeArguments ? getPropagatingFlagsOfTypes(typeArguments, /*excludeKinds*/ 0) : 0; type.target = target; @@ -59940,7 +60183,7 @@ var ts; var localAliasTypeArguments = getTypeArgumentsForAliasSymbol(aliasSymbol); aliasTypeArguments = mapper ? instantiateTypes(localAliasTypeArguments, mapper) : localAliasTypeArguments; } - var type = createObjectType(4 /* Reference */, target.symbol); + var type = createObjectType(4 /* ObjectFlags.Reference */, target.symbol); type.target = target; type.node = node; type.mapper = mapper; @@ -59951,13 +60194,13 @@ var ts; function getTypeArguments(type) { var _a, _b; if (!type.resolvedTypeArguments) { - if (!pushTypeResolution(type, 6 /* ResolvedTypeArguments */)) { + if (!pushTypeResolution(type, 6 /* TypeSystemPropertyName.ResolvedTypeArguments */)) { return ((_a = type.target.localTypeParameters) === null || _a === void 0 ? void 0 : _a.map(function () { return errorType; })) || ts.emptyArray; } var node = type.node; var typeArguments = !node ? ts.emptyArray : - node.kind === 178 /* TypeReference */ ? ts.concatenate(type.target.outerTypeParameters, getEffectiveTypeArguments(node, type.target.localTypeParameters)) : - node.kind === 183 /* ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : + node.kind === 178 /* SyntaxKind.TypeReference */ ? ts.concatenate(type.target.outerTypeParameters, getEffectiveTypeArguments(node, type.target.localTypeParameters)) : + node.kind === 183 /* SyntaxKind.ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); if (popTypeResolution()) { type.resolvedTypeArguments = type.mapper ? instantiateTypes(typeArguments, type.mapper) : typeArguments; @@ -59992,14 +60235,14 @@ var ts; missingAugmentsTag ? ts.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag : ts.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments; - var typeStr = typeToString(type, /*enclosingDeclaration*/ undefined, 2 /* WriteArrayAsGenericType */); + var typeStr = typeToString(type, /*enclosingDeclaration*/ undefined, 2 /* TypeFormatFlags.WriteArrayAsGenericType */); error(node, diag, typeStr, minTypeArgumentCount, typeParameters.length); if (!isJs) { // TODO: Adopt same permissive behavior in TS as in JS to reduce follow-on editing experience failures (requires editing fillMissingTypeArguments) return errorType; } } - if (node.kind === 178 /* TypeReference */ && isDeferredTypeReferenceNode(node, ts.length(node.typeArguments) !== typeParameters.length)) { + if (node.kind === 178 /* SyntaxKind.TypeReference */ && isDeferredTypeReferenceNode(node, ts.length(node.typeArguments) !== typeParameters.length)) { return createDeferredTypeReference(type, node, /*mapper*/ undefined); } // In a type reference, the outer type parameters of the referenced class or interface are automatically @@ -60030,12 +60273,12 @@ var ts; * declared type. Instantiations are cached using the type identities of the type arguments as the key. */ function getTypeFromTypeAliasReference(node, symbol) { - if (ts.getCheckFlags(symbol) & 1048576 /* Unresolved */) { + if (ts.getCheckFlags(symbol) & 1048576 /* CheckFlags.Unresolved */) { var typeArguments = typeArgumentsFromTypeReferenceNode(node); var id = getAliasId(symbol, typeArguments); var errorType_1 = errorTypes.get(id); if (!errorType_1) { - errorType_1 = createIntrinsicType(1 /* Any */, "error"); + errorType_1 = createIntrinsicType(1 /* TypeFlags.Any */, "error"); errorType_1.aliasSymbol = symbol; errorType_1.aliasTypeArguments = typeArguments; errorTypes.set(id, errorType_1); @@ -60070,9 +60313,9 @@ var ts; } function getTypeReferenceName(node) { switch (node.kind) { - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return node.typeName; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. var expr = node.expression; @@ -60084,21 +60327,21 @@ var ts; return undefined; } function getSymbolPath(symbol) { - return symbol.parent ? getSymbolPath(symbol.parent) + "." + symbol.escapedName : symbol.escapedName; + return symbol.parent ? "".concat(getSymbolPath(symbol.parent), ".").concat(symbol.escapedName) : symbol.escapedName; } function getUnresolvedSymbolForEntityName(name) { - var identifier = name.kind === 161 /* QualifiedName */ ? name.right : - name.kind === 206 /* PropertyAccessExpression */ ? name.name : + var identifier = name.kind === 161 /* SyntaxKind.QualifiedName */ ? name.right : + name.kind === 206 /* SyntaxKind.PropertyAccessExpression */ ? name.name : name; var text = identifier.escapedText; if (text) { - var parentSymbol = name.kind === 161 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : - name.kind === 206 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : + var parentSymbol = name.kind === 161 /* SyntaxKind.QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : + name.kind === 206 /* SyntaxKind.PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : undefined; - var path = parentSymbol ? getSymbolPath(parentSymbol) + "." + text : text; + var path = parentSymbol ? "".concat(getSymbolPath(parentSymbol), ".").concat(text) : text; var result = unresolvedSymbols.get(path); if (!result) { - unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */)); + unresolvedSymbols.set(path, result = createSymbol(524288 /* SymbolFlags.TypeAlias */, text, 1048576 /* CheckFlags.Unresolved */)); result.parent = parentSymbol; result.declaredType = unresolvedType; } @@ -60120,10 +60363,10 @@ var ts; return errorType; } symbol = getExpandoSymbol(symbol) || symbol; - if (symbol.flags & (32 /* Class */ | 64 /* Interface */)) { + if (symbol.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */)) { return getTypeFromClassOrInterfaceReference(node, symbol); } - if (symbol.flags & 524288 /* TypeAlias */) { + if (symbol.flags & 524288 /* SymbolFlags.TypeAlias */) { return getTypeFromTypeAliasReference(node, symbol); } // Get type from reference to named type that cannot be generic (enum or type parameter) @@ -60131,14 +60374,14 @@ var ts; if (res) { return checkNoTypeArguments(node, symbol) ? getRegularTypeOfLiteralType(res) : errorType; } - if (symbol.flags & 111551 /* Value */ && isJSDocTypeReference(node)) { + if (symbol.flags & 111551 /* SymbolFlags.Value */ && isJSDocTypeReference(node)) { var jsdocType = getTypeFromJSDocValueReference(node, symbol); if (jsdocType) { return jsdocType; } else { // Resolve the type reference as a Type for the purpose of reporting errors. - resolveTypeReferenceName(node, 788968 /* Type */); + resolveTypeReferenceName(node, 788968 /* SymbolFlags.Type */); return getTypeOfSymbol(symbol); } } @@ -60154,7 +60397,7 @@ var ts; var valueType = getTypeOfSymbol(symbol); var typeType = valueType; if (symbol.valueDeclaration) { - var isImportTypeWithQualifier = node.kind === 200 /* ImportType */ && node.qualifier; + var isImportTypeWithQualifier = node.kind === 200 /* SyntaxKind.ImportType */ && node.qualifier; // valueType might not have a symbol, eg, {import('./b').STRING_LITERAL} if (valueType.symbol && valueType.symbol !== symbol && isImportTypeWithQualifier) { typeType = getTypeReferenceType(node, valueType.symbol); @@ -60165,22 +60408,22 @@ var ts; return links.resolvedJSDocType; } function getSubstitutionType(baseType, substitute) { - if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) { + if (substitute.flags & 3 /* TypeFlags.AnyOrUnknown */ || substitute === baseType) { return baseType; } - var id = getTypeId(baseType) + ">" + getTypeId(substitute); + var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(substitute)); var cached = substitutionTypes.get(id); if (cached) { return cached; } - var result = createType(33554432 /* Substitution */); + var result = createType(33554432 /* TypeFlags.Substitution */); result.baseType = baseType; result.substitute = substitute; substitutionTypes.set(id, result); return result; } function isUnaryTupleTypeNode(node) { - return node.kind === 184 /* TupleType */ && node.elements.length === 1; + return node.kind === 184 /* SyntaxKind.TupleType */ && node.elements.length === 1; } function getImpliedConstraint(type, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(type, checkNode.elements[0], extendsNode.elements[0]) : @@ -60190,27 +60433,41 @@ var ts; function getConditionalFlowTypeOfType(type, node) { var constraints; var covariant = true; - while (node && !ts.isStatement(node) && node.kind !== 320 /* JSDoc */) { + while (node && !ts.isStatement(node) && node.kind !== 320 /* SyntaxKind.JSDoc */) { var parent = node.parent; // only consider variance flipped by parameter locations - `keyof` types would usually be considered variance inverting, but // often get used in indexed accesses where they behave sortof invariantly, but our checking is lax - if (parent.kind === 164 /* Parameter */) { + if (parent.kind === 164 /* SyntaxKind.Parameter */) { covariant = !covariant; } // Always substitute on type parameters, regardless of variance, since even // in contravariant positions, they may rely on substituted constraints to be valid - if ((covariant || type.flags & 8650752 /* TypeVariable */) && parent.kind === 189 /* ConditionalType */ && node === parent.trueType) { + if ((covariant || type.flags & 8650752 /* TypeFlags.TypeVariable */) && parent.kind === 189 /* SyntaxKind.ConditionalType */ && node === parent.trueType) { var constraint = getImpliedConstraint(type, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); } } + // Given a homomorphic mapped type { [K in keyof T]: XXX }, where T is constrained to an array or tuple type, in the + // template type XXX, K has an added constraint of number | `${number}`. + else if (type.flags & 262144 /* TypeFlags.TypeParameter */ && parent.kind === 195 /* SyntaxKind.MappedType */ && node === parent.type) { + var mappedType = getTypeFromTypeNode(parent); + if (getTypeParameterFromMappedType(mappedType) === getActualTypeVariable(type)) { + var typeParameter = getHomomorphicTypeVariable(mappedType); + if (typeParameter) { + var constraint = getConstraintOfTypeParameter(typeParameter); + if (constraint && everyType(constraint, isArrayOrTupleType)) { + constraints = ts.append(constraints, getUnionType([numberType, numericStringType])); + } + } + } + } node = parent; } return constraints ? getSubstitutionType(type, getIntersectionType(ts.append(constraints, type))) : type; } function isJSDocTypeReference(node) { - return !!(node.flags & 8388608 /* JSDoc */) && (node.kind === 178 /* TypeReference */ || node.kind === 200 /* ImportType */); + return !!(node.flags & 8388608 /* NodeFlags.JSDoc */) && (node.kind === 178 /* SyntaxKind.TypeReference */ || node.kind === 200 /* SyntaxKind.ImportType */); } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -60266,7 +60523,7 @@ var ts; } function getTypeFromJSDocNullableTypeNode(node) { var type = getTypeFromTypeNode(node.type); - return strictNullChecks ? getNullableType(type, 65536 /* Null */) : type; + return strictNullChecks ? getNullableType(type, 65536 /* TypeFlags.Null */) : type; } function getTypeFromTypeReference(node) { var links = getNodeLinks(node); @@ -60278,13 +60535,13 @@ var ts; } var symbol = void 0; var type = void 0; - var meaning = 788968 /* Type */; + var meaning = 788968 /* SymbolFlags.Type */; if (isJSDocTypeReference(node)) { type = getIntendedTypeFromJSDocTypeReference(node); if (!type) { symbol = resolveTypeReferenceName(node, meaning, /*ignoreErrors*/ true); if (symbol === unknownSymbol) { - symbol = resolveTypeReferenceName(node, meaning | 111551 /* Value */); + symbol = resolveTypeReferenceName(node, meaning | 111551 /* SymbolFlags.Value */); } else { resolveTypeReferenceName(node, meaning); // Resolve again to mark errors, if any @@ -60325,9 +60582,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return declaration; } } @@ -60337,7 +60594,7 @@ var ts; return arity ? emptyGenericType : emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 524288 /* Object */)) { + if (!(type.flags & 524288 /* TypeFlags.Object */)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, ts.symbolName(symbol)); return arity ? emptyGenericType : emptyObjectType; } @@ -60348,13 +60605,13 @@ var ts; return type; } function getGlobalValueSymbol(name, reportErrors) { - return getGlobalSymbol(name, 111551 /* Value */, reportErrors ? ts.Diagnostics.Cannot_find_global_value_0 : undefined); + return getGlobalSymbol(name, 111551 /* SymbolFlags.Value */, reportErrors ? ts.Diagnostics.Cannot_find_global_value_0 : undefined); } function getGlobalTypeSymbol(name, reportErrors) { - return getGlobalSymbol(name, 788968 /* Type */, reportErrors ? ts.Diagnostics.Cannot_find_global_type_0 : undefined); + return getGlobalSymbol(name, 788968 /* SymbolFlags.Type */, reportErrors ? ts.Diagnostics.Cannot_find_global_type_0 : undefined); } function getGlobalTypeAliasSymbol(name, arity, reportErrors) { - var symbol = getGlobalSymbol(name, 788968 /* Type */, reportErrors ? ts.Diagnostics.Cannot_find_global_type_0 : undefined); + var symbol = getGlobalSymbol(name, 788968 /* SymbolFlags.Type */, reportErrors ? ts.Diagnostics.Cannot_find_global_type_0 : undefined); if (symbol) { // Resolve the declared type of the symbol. This resolves type parameters for the type // alias so that we can check arity. @@ -60390,9 +60647,9 @@ var ts; function getGlobalImportMetaExpressionType() { if (!deferredGlobalImportMetaExpressionType) { // Create a synthetic type `ImportMetaExpression { meta: MetaProperty }` - var symbol = createSymbol(0 /* None */, "ImportMetaExpression"); + var symbol = createSymbol(0 /* SymbolFlags.None */, "ImportMetaExpression"); var importMetaType = getGlobalImportMetaType(); - var metaPropertySymbol = createSymbol(4 /* Property */, "meta", 8 /* Readonly */); + var metaPropertySymbol = createSymbol(4 /* SymbolFlags.Property */, "meta", 8 /* CheckFlags.Readonly */); metaPropertySymbol.parent = symbol; metaPropertySymbol.type = importMetaType; var members = ts.createSymbolTable([metaPropertySymbol]); @@ -60457,7 +60714,7 @@ var ts; } function getGlobalTypeOrUndefined(name, arity) { if (arity === void 0) { arity = 0; } - var symbol = getGlobalSymbol(name, 788968 /* Type */, /*diagnostic*/ undefined); + var symbol = getGlobalSymbol(name, 788968 /* SymbolFlags.Type */, /*diagnostic*/ undefined); return symbol && getTypeOfGlobalSymbol(symbol, arity); } function getGlobalExtractSymbol() { @@ -60495,20 +60752,20 @@ var ts; } function getTupleElementFlags(node) { switch (node.kind) { - case 185 /* OptionalType */: - return 2 /* Optional */; - case 186 /* RestType */: + case 185 /* SyntaxKind.OptionalType */: + return 2 /* ElementFlags.Optional */; + case 186 /* SyntaxKind.RestType */: return getRestTypeElementFlags(node); - case 197 /* NamedTupleMember */: - return node.questionToken ? 2 /* Optional */ : + case 197 /* SyntaxKind.NamedTupleMember */: + return node.questionToken ? 2 /* ElementFlags.Optional */ : node.dotDotDotToken ? getRestTypeElementFlags(node) : - 1 /* Required */; + 1 /* ElementFlags.Required */; default: - return 1 /* Required */; + return 1 /* ElementFlags.Required */; } } function getRestTypeElementFlags(node) { - return getArrayElementTypeNode(node.type) ? 4 /* Rest */ : 8 /* Variadic */; + return getArrayElementTypeNode(node.type) ? 4 /* ElementFlags.Rest */ : 8 /* ElementFlags.Variadic */; } function getArrayOrTupleTargetType(node) { var readonly = isReadonlyTypeOperator(node.parent); @@ -60517,14 +60774,14 @@ var ts; return readonly ? globalReadonlyArrayType : globalArrayType; } var elementFlags = ts.map(node.elements, getTupleElementFlags); - var missingName = ts.some(node.elements, function (e) { return e.kind !== 197 /* NamedTupleMember */; }); + var missingName = ts.some(node.elements, function (e) { return e.kind !== 197 /* SyntaxKind.NamedTupleMember */; }); return getTupleTargetType(elementFlags, readonly, /*associatedNames*/ missingName ? undefined : node.elements); } // Return true if the given type reference node is directly aliased or if it needs to be deferred // because it is possibly contained in a circular chain of eagerly resolved types. function isDeferredTypeReferenceNode(node, hasDefaultTypeArguments) { - return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 183 /* ArrayType */ ? mayResolveTypeAlias(node.elementType) : - node.kind === 184 /* TupleType */ ? ts.some(node.elements, mayResolveTypeAlias) : + return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 183 /* SyntaxKind.ArrayType */ ? mayResolveTypeAlias(node.elementType) : + node.kind === 184 /* SyntaxKind.TupleType */ ? ts.some(node.elements, mayResolveTypeAlias) : hasDefaultTypeArguments || ts.some(node.typeArguments, mayResolveTypeAlias)); } // Return true when the given node is transitively contained in type constructs that eagerly @@ -60533,18 +60790,18 @@ var ts; function isResolvedByTypeAlias(node) { var parent = node.parent; switch (parent.kind) { - case 191 /* ParenthesizedType */: - case 197 /* NamedTupleMember */: - case 178 /* TypeReference */: - case 187 /* UnionType */: - case 188 /* IntersectionType */: - case 194 /* IndexedAccessType */: - case 189 /* ConditionalType */: - case 193 /* TypeOperator */: - case 183 /* ArrayType */: - case 184 /* TupleType */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 197 /* SyntaxKind.NamedTupleMember */: + case 178 /* SyntaxKind.TypeReference */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: + case 194 /* SyntaxKind.IndexedAccessType */: + case 189 /* SyntaxKind.ConditionalType */: + case 193 /* SyntaxKind.TypeOperator */: + case 183 /* SyntaxKind.ArrayType */: + case 184 /* SyntaxKind.TupleType */: return isResolvedByTypeAlias(parent); - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return true; } return false; @@ -60553,28 +60810,28 @@ var ts; // of a type alias. function mayResolveTypeAlias(node) { switch (node.kind) { - case 178 /* TypeReference */: - return isJSDocTypeReference(node) || !!(resolveTypeReferenceName(node, 788968 /* Type */).flags & 524288 /* TypeAlias */); - case 181 /* TypeQuery */: + case 178 /* SyntaxKind.TypeReference */: + return isJSDocTypeReference(node) || !!(resolveTypeReferenceName(node, 788968 /* SymbolFlags.Type */).flags & 524288 /* SymbolFlags.TypeAlias */); + case 181 /* SyntaxKind.TypeQuery */: return true; - case 193 /* TypeOperator */: - return node.operator !== 154 /* UniqueKeyword */ && mayResolveTypeAlias(node.type); - case 191 /* ParenthesizedType */: - case 185 /* OptionalType */: - case 197 /* NamedTupleMember */: - case 316 /* JSDocOptionalType */: - case 314 /* JSDocNullableType */: - case 315 /* JSDocNonNullableType */: - case 309 /* JSDocTypeExpression */: + case 193 /* SyntaxKind.TypeOperator */: + return node.operator !== 154 /* SyntaxKind.UniqueKeyword */ && mayResolveTypeAlias(node.type); + case 191 /* SyntaxKind.ParenthesizedType */: + case 185 /* SyntaxKind.OptionalType */: + case 197 /* SyntaxKind.NamedTupleMember */: + case 316 /* SyntaxKind.JSDocOptionalType */: + case 314 /* SyntaxKind.JSDocNullableType */: + case 315 /* SyntaxKind.JSDocNonNullableType */: + case 309 /* SyntaxKind.JSDocTypeExpression */: return mayResolveTypeAlias(node.type); - case 186 /* RestType */: - return node.type.kind !== 183 /* ArrayType */ || mayResolveTypeAlias(node.type.elementType); - case 187 /* UnionType */: - case 188 /* IntersectionType */: + case 186 /* SyntaxKind.RestType */: + return node.type.kind !== 183 /* SyntaxKind.ArrayType */ || mayResolveTypeAlias(node.type.elementType); + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: return ts.some(node.types, mayResolveTypeAlias); - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: return mayResolveTypeAlias(node.objectType) || mayResolveTypeAlias(node.indexType); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return mayResolveTypeAlias(node.checkType) || mayResolveTypeAlias(node.extendsType) || mayResolveTypeAlias(node.trueType) || mayResolveTypeAlias(node.falseType); } @@ -60587,33 +60844,33 @@ var ts; if (target === emptyGenericType) { links.resolvedType = emptyObjectType; } - else if (!(node.kind === 184 /* TupleType */ && ts.some(node.elements, function (e) { return !!(getTupleElementFlags(e) & 8 /* Variadic */); })) && isDeferredTypeReferenceNode(node)) { - links.resolvedType = node.kind === 184 /* TupleType */ && node.elements.length === 0 ? target : + else if (!(node.kind === 184 /* SyntaxKind.TupleType */ && ts.some(node.elements, function (e) { return !!(getTupleElementFlags(e) & 8 /* ElementFlags.Variadic */); })) && isDeferredTypeReferenceNode(node)) { + links.resolvedType = node.kind === 184 /* SyntaxKind.TupleType */ && node.elements.length === 0 ? target : createDeferredTypeReference(target, node, /*mapper*/ undefined); } else { - var elementTypes = node.kind === 183 /* ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); + var elementTypes = node.kind === 183 /* SyntaxKind.ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); links.resolvedType = createNormalizedTypeReference(target, elementTypes); } } return links.resolvedType; } function isReadonlyTypeOperator(node) { - return ts.isTypeOperatorNode(node) && node.operator === 145 /* ReadonlyKeyword */; + return ts.isTypeOperatorNode(node) && node.operator === 145 /* SyntaxKind.ReadonlyKeyword */; } function createTupleType(elementTypes, elementFlags, readonly, namedMemberDeclarations) { if (readonly === void 0) { readonly = false; } - var tupleTarget = getTupleTargetType(elementFlags || ts.map(elementTypes, function (_) { return 1 /* Required */; }), readonly, namedMemberDeclarations); + var tupleTarget = getTupleTargetType(elementFlags || ts.map(elementTypes, function (_) { return 1 /* ElementFlags.Required */; }), readonly, namedMemberDeclarations); return tupleTarget === emptyGenericType ? emptyObjectType : elementTypes.length ? createNormalizedTypeReference(tupleTarget, elementTypes) : tupleTarget; } function getTupleTargetType(elementFlags, readonly, namedMemberDeclarations) { - if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) { + if (elementFlags.length === 1 && elementFlags[0] & 4 /* ElementFlags.Rest */) { // [...X[]] is equivalent to just X[] return readonly ? globalReadonlyArrayType : globalArrayType; } - var key = ts.map(elementFlags, function (f) { return f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*"; }).join() + + var key = ts.map(elementFlags, function (f) { return f & 1 /* ElementFlags.Required */ ? "#" : f & 2 /* ElementFlags.Optional */ ? "?" : f & 4 /* ElementFlags.Rest */ ? "." : "*"; }).join() + (readonly ? "R" : "") + (namedMemberDeclarations && namedMemberDeclarations.length ? "," + ts.map(namedMemberDeclarations, getNodeId).join(",") : ""); var type = tupleTypes.get(key); @@ -60631,7 +60888,7 @@ var ts; // is true for each of the synthesized type parameters. function createTupleTargetType(elementFlags, readonly, namedMemberDeclarations) { var arity = elementFlags.length; - var minLength = ts.countWhere(elementFlags, function (f) { return !!(f & (1 /* Required */ | 8 /* Variadic */)); }); + var minLength = ts.countWhere(elementFlags, function (f) { return !!(f & (1 /* ElementFlags.Required */ | 8 /* ElementFlags.Variadic */)); }); var typeParameters; var properties = []; var combinedFlags = 0; @@ -60641,8 +60898,8 @@ var ts; var typeParameter = typeParameters[i] = createTypeParameter(); var flags = elementFlags[i]; combinedFlags |= flags; - if (!(combinedFlags & 12 /* Variable */)) { - var property = createSymbol(4 /* Property */ | (flags & 2 /* Optional */ ? 16777216 /* Optional */ : 0), "" + i, readonly ? 8 /* Readonly */ : 0); + if (!(combinedFlags & 12 /* ElementFlags.Variable */)) { + var property = createSymbol(4 /* SymbolFlags.Property */ | (flags & 2 /* ElementFlags.Optional */ ? 16777216 /* SymbolFlags.Optional */ : 0), "" + i, readonly ? 8 /* CheckFlags.Readonly */ : 0); property.tupleLabelDeclaration = namedMemberDeclarations === null || namedMemberDeclarations === void 0 ? void 0 : namedMemberDeclarations[i]; property.type = typeParameter; properties.push(property); @@ -60650,8 +60907,8 @@ var ts; } } var fixedLength = properties.length; - var lengthSymbol = createSymbol(4 /* Property */, "length", readonly ? 8 /* Readonly */ : 0); - if (combinedFlags & 12 /* Variable */) { + var lengthSymbol = createSymbol(4 /* SymbolFlags.Property */, "length", readonly ? 8 /* CheckFlags.Readonly */ : 0); + if (combinedFlags & 12 /* ElementFlags.Variable */) { lengthSymbol.type = numberType; } else { @@ -60661,7 +60918,7 @@ var ts; lengthSymbol.type = getUnionType(literalTypes); } properties.push(lengthSymbol); - var type = createObjectType(8 /* Tuple */ | 4 /* Reference */); + var type = createObjectType(8 /* ObjectFlags.Tuple */ | 4 /* ObjectFlags.Reference */); type.typeParameters = typeParameters; type.outerTypeParameters = undefined; type.localTypeParameters = typeParameters; @@ -60679,26 +60936,26 @@ var ts; type.elementFlags = elementFlags; type.minLength = minLength; type.fixedLength = fixedLength; - type.hasRestElement = !!(combinedFlags & 12 /* Variable */); + type.hasRestElement = !!(combinedFlags & 12 /* ElementFlags.Variable */); type.combinedFlags = combinedFlags; type.readonly = readonly; type.labeledElementDeclarations = namedMemberDeclarations; return type; } function createNormalizedTypeReference(target, typeArguments) { - return target.objectFlags & 8 /* Tuple */ ? createNormalizedTupleType(target, typeArguments) : createTypeReference(target, typeArguments); + return target.objectFlags & 8 /* ObjectFlags.Tuple */ ? createNormalizedTupleType(target, typeArguments) : createTypeReference(target, typeArguments); } function createNormalizedTupleType(target, elementTypes) { var _a, _b, _c; - if (!(target.combinedFlags & 14 /* NonRequired */)) { + if (!(target.combinedFlags & 14 /* ElementFlags.NonRequired */)) { // No need to normalize when we only have regular required elements return createTypeReference(target, elementTypes); } - if (target.combinedFlags & 8 /* Variadic */) { + if (target.combinedFlags & 8 /* ElementFlags.Variadic */) { // Transform [A, ...(X | Y | Z)] into [A, ...X] | [A, ...Y] | [A, ...Z] - var unionIndex_1 = ts.findIndex(elementTypes, function (t, i) { return !!(target.elementFlags[i] & 8 /* Variadic */ && t.flags & (131072 /* Never */ | 1048576 /* Union */)); }); + var unionIndex_1 = ts.findIndex(elementTypes, function (t, i) { return !!(target.elementFlags[i] & 8 /* ElementFlags.Variadic */ && t.flags & (131072 /* TypeFlags.Never */ | 1048576 /* TypeFlags.Union */)); }); if (unionIndex_1 >= 0) { - return checkCrossProductUnion(ts.map(elementTypes, function (t, i) { return target.elementFlags[i] & 8 /* Variadic */ ? t : unknownType; })) ? + return checkCrossProductUnion(ts.map(elementTypes, function (t, i) { return target.elementFlags[i] & 8 /* ElementFlags.Variadic */ ? t : unknownType; })) ? mapType(elementTypes[unionIndex_1], function (t) { return createNormalizedTupleType(target, ts.replaceElement(elementTypes, unionIndex_1, t)); }) : errorType; } @@ -60717,10 +60974,10 @@ var ts; var _loop_15 = function (i) { var type = elementTypes[i]; var flags = target.elementFlags[i]; - if (flags & 8 /* Variadic */) { - if (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type)) { + if (flags & 8 /* ElementFlags.Variadic */) { + if (type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ || isGenericMappedType(type)) { // Generic variadic elements stay as they are. - addElement(type, 8 /* Variadic */, (_a = target.labeledElementDeclarations) === null || _a === void 0 ? void 0 : _a[i]); + addElement(type, 8 /* ElementFlags.Variadic */, (_a = target.labeledElementDeclarations) === null || _a === void 0 ? void 0 : _a[i]); } else if (isTupleType(type)) { var elements = getTypeArguments(type); @@ -60735,7 +60992,7 @@ var ts; } else { // Treat everything else as an array type and create a rest element. - addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (_b = target.labeledElementDeclarations) === null || _b === void 0 ? void 0 : _b[i]); + addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* ElementFlags.Rest */, (_b = target.labeledElementDeclarations) === null || _b === void 0 ? void 0 : _b[i]); } } else { @@ -60750,12 +61007,12 @@ var ts; } // Turn optional elements preceding the last required element into required elements for (var i = 0; i < lastRequiredIndex; i++) { - if (expandedFlags[i] & 2 /* Optional */) - expandedFlags[i] = 1 /* Required */; + if (expandedFlags[i] & 2 /* ElementFlags.Optional */) + expandedFlags[i] = 1 /* ElementFlags.Required */; } if (firstRestIndex >= 0 && firstRestIndex < lastOptionalOrRestIndex) { // Turn elements between first rest and last optional/rest into a single rest element - expandedTypes[firstRestIndex] = getUnionType(ts.sameMap(expandedTypes.slice(firstRestIndex, lastOptionalOrRestIndex + 1), function (t, i) { return expandedFlags[firstRestIndex + i] & 8 /* Variadic */ ? getIndexedAccessType(t, numberType) : t; })); + expandedTypes[firstRestIndex] = getUnionType(ts.sameMap(expandedTypes.slice(firstRestIndex, lastOptionalOrRestIndex + 1), function (t, i) { return expandedFlags[firstRestIndex + i] & 8 /* ElementFlags.Variadic */ ? getIndexedAccessType(t, numberType) : t; })); expandedTypes.splice(firstRestIndex + 1, lastOptionalOrRestIndex - firstRestIndex); expandedFlags.splice(firstRestIndex + 1, lastOptionalOrRestIndex - firstRestIndex); expandedDeclarations === null || expandedDeclarations === void 0 ? void 0 : expandedDeclarations.splice(firstRestIndex + 1, lastOptionalOrRestIndex - firstRestIndex); @@ -60765,13 +61022,13 @@ var ts; expandedFlags.length ? createTypeReference(tupleTarget, expandedTypes) : tupleTarget; function addElement(type, flags, declaration) { - if (flags & 1 /* Required */) { + if (flags & 1 /* ElementFlags.Required */) { lastRequiredIndex = expandedFlags.length; } - if (flags & 4 /* Rest */ && firstRestIndex < 0) { + if (flags & 4 /* ElementFlags.Rest */ && firstRestIndex < 0) { firstRestIndex = expandedFlags.length; } - if (flags & (2 /* Optional */ | 4 /* Rest */)) { + if (flags & (2 /* ElementFlags.Optional */ | 4 /* ElementFlags.Rest */)) { lastOptionalOrRestIndex = expandedFlags.length; } expandedTypes.push(type); @@ -60823,19 +61080,19 @@ var ts; } function addTypeToUnion(typeSet, includes, type) { var flags = type.flags; - if (flags & 1048576 /* Union */) { - return addTypesToUnion(typeSet, includes | (isNamedUnionType(type) ? 1048576 /* Union */ : 0), type.types); + if (flags & 1048576 /* TypeFlags.Union */) { + return addTypesToUnion(typeSet, includes | (isNamedUnionType(type) ? 1048576 /* TypeFlags.Union */ : 0), type.types); } // We ignore 'never' types in unions - if (!(flags & 131072 /* Never */)) { - includes |= flags & 205258751 /* IncludesMask */; - if (flags & 465829888 /* Instantiable */) - includes |= 33554432 /* IncludesInstantiable */; + if (!(flags & 131072 /* TypeFlags.Never */)) { + includes |= flags & 205258751 /* TypeFlags.IncludesMask */; + if (flags & 465829888 /* TypeFlags.Instantiable */) + includes |= 33554432 /* TypeFlags.IncludesInstantiable */; if (type === wildcardType) - includes |= 8388608 /* IncludesWildcard */; - if (!strictNullChecks && flags & 98304 /* Nullable */) { - if (!(ts.getObjectFlags(type) & 65536 /* ContainsWideningType */)) - includes |= 4194304 /* IncludesNonWideningType */; + includes |= 8388608 /* TypeFlags.IncludesWildcard */; + if (!strictNullChecks && flags & 98304 /* TypeFlags.Nullable */) { + if (!(ts.getObjectFlags(type) & 65536 /* ObjectFlags.ContainsWideningType */)) + includes |= 4194304 /* TypeFlags.IncludesNonWideningType */; } else { var len = typeSet.length; @@ -60869,18 +61126,18 @@ var ts; // We assume that redundant primitive types have already been removed from the types array and that there // are no any and unknown types in the array. Thus, the only possible supertypes for primitive types are empty // object types, and if none of those are present we can exclude primitive types from the subtype check. - var hasEmptyObject = hasObjectTypes && ts.some(types, function (t) { return !!(t.flags & 524288 /* Object */) && !isGenericMappedType(t) && isEmptyResolvedType(resolveStructuredTypeMembers(t)); }); + var hasEmptyObject = hasObjectTypes && ts.some(types, function (t) { return !!(t.flags & 524288 /* TypeFlags.Object */) && !isGenericMappedType(t) && isEmptyResolvedType(resolveStructuredTypeMembers(t)); }); var len = types.length; var i = len; var count = 0; while (i > 0) { i--; var source = types[i]; - if (hasEmptyObject || source.flags & 469499904 /* StructuredOrInstantiable */) { + if (hasEmptyObject || source.flags & 469499904 /* TypeFlags.StructuredOrInstantiable */) { // Find the first property with a unit type, if any. When constituents have a property by the same name // but of a different unit type, we can quickly disqualify them from subtype checks. This helps subtype // reduction of large discriminated union types. - var keyProperty = source.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */) ? + var keyProperty = source.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) ? ts.find(getPropertiesOfType(source), function (p) { return isUnitType(getTypeOfSymbol(p)); }) : undefined; var keyPropertyType = keyProperty && getRegularTypeOfLiteralType(getTypeOfSymbol(keyProperty)); @@ -60894,20 +61151,20 @@ var ts; // caps union types at 1000 unique object types. var estimatedCount = (count / (len - i)) * len; if (estimatedCount > 1000000) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "removeSubtypes_DepthLimit", { typeIds: types.map(function (t) { return t.id; }) }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "removeSubtypes_DepthLimit", { typeIds: types.map(function (t) { return t.id; }) }); error(currentNode, ts.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent); return undefined; } } count++; - if (keyProperty && target.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */)) { + if (keyProperty && target.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */)) { var t = getTypeOfPropertyOfType(target, keyProperty.escapedName); if (t && isUnitType(t) && getRegularTypeOfLiteralType(t) !== keyPropertyType) { continue; } } - if (isTypeRelatedTo(source, target, strictSubtypeRelation) && (!(ts.getObjectFlags(getTargetType(source)) & 1 /* Class */) || - !(ts.getObjectFlags(getTargetType(target)) & 1 /* Class */) || + if (isTypeRelatedTo(source, target, strictSubtypeRelation) && (!(ts.getObjectFlags(getTargetType(source)) & 1 /* ObjectFlags.Class */) || + !(ts.getObjectFlags(getTargetType(target)) & 1 /* ObjectFlags.Class */) || isTypeDerivedFrom(source, target))) { ts.orderedRemoveItemAt(types, i); break; @@ -60925,11 +61182,11 @@ var ts; i--; var t = types[i]; var flags = t.flags; - var remove = flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && includes & 4 /* String */ || - flags & 256 /* NumberLiteral */ && includes & 8 /* Number */ || - flags & 2048 /* BigIntLiteral */ && includes & 64 /* BigInt */ || - flags & 8192 /* UniqueESSymbol */ && includes & 4096 /* ESSymbol */ || - reduceVoidUndefined && flags & 32768 /* Undefined */ && includes & 16384 /* Void */ || + var remove = flags & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) && includes & 4 /* TypeFlags.String */ || + flags & 256 /* TypeFlags.NumberLiteral */ && includes & 8 /* TypeFlags.Number */ || + flags & 2048 /* TypeFlags.BigIntLiteral */ && includes & 64 /* TypeFlags.BigInt */ || + flags & 8192 /* TypeFlags.UniqueESSymbol */ && includes & 4096 /* TypeFlags.ESSymbol */ || + reduceVoidUndefined && flags & 32768 /* TypeFlags.Undefined */ && includes & 16384 /* TypeFlags.Void */ || isFreshLiteralType(t) && containsType(types, t.regularType); if (remove) { ts.orderedRemoveItemAt(types, i); @@ -60943,7 +61200,7 @@ var ts; var _loop_16 = function () { i--; var t = types[i]; - if (t.flags & 128 /* StringLiteral */ && ts.some(templates, function (template) { return isTypeMatchedByTemplateLiteralType(t, template); })) { + if (t.flags & 128 /* TypeFlags.StringLiteral */ && ts.some(templates, function (template) { return isTypeMatchedByTemplateLiteralType(t, template); })) { ts.orderedRemoveItemAt(types, i); } }; @@ -60953,17 +61210,17 @@ var ts; } } function isNamedUnionType(type) { - return !!(type.flags & 1048576 /* Union */ && (type.aliasSymbol || type.origin)); + return !!(type.flags & 1048576 /* TypeFlags.Union */ && (type.aliasSymbol || type.origin)); } function addNamedUnions(namedUnions, types) { for (var _i = 0, types_11 = types; _i < types_11.length; _i++) { var t = types_11[_i]; - if (t.flags & 1048576 /* Union */) { + if (t.flags & 1048576 /* TypeFlags.Union */) { var origin = t.origin; - if (t.aliasSymbol || origin && !(origin.flags & 1048576 /* Union */)) { + if (t.aliasSymbol || origin && !(origin.flags & 1048576 /* TypeFlags.Union */)) { ts.pushIfUnique(namedUnions, t); } - else if (origin && origin.flags & 1048576 /* Union */) { + else if (origin && origin.flags & 1048576 /* TypeFlags.Union */) { addNamedUnions(namedUnions, origin.types); } } @@ -60982,7 +61239,7 @@ var ts; // circularly reference themselves and therefore cannot be subtype reduced during their declaration. // For example, "type Item = string | (() => Item" is a named type that circularly references itself. function getUnionType(types, unionReduction, aliasSymbol, aliasTypeArguments, origin) { - if (unionReduction === void 0) { unionReduction = 1 /* Literal */; } + if (unionReduction === void 0) { unionReduction = 1 /* UnionReduction.Literal */; } if (types.length === 0) { return neverType; } @@ -60991,37 +61248,37 @@ var ts; } var typeSet = []; var includes = addTypesToUnion(typeSet, 0, types); - if (unionReduction !== 0 /* None */) { - if (includes & 3 /* AnyOrUnknown */) { - return includes & 1 /* Any */ ? - includes & 8388608 /* IncludesWildcard */ ? wildcardType : anyType : - includes & 65536 /* Null */ || containsType(typeSet, unknownType) ? unknownType : nonNullUnknownType; + if (unionReduction !== 0 /* UnionReduction.None */) { + if (includes & 3 /* TypeFlags.AnyOrUnknown */) { + return includes & 1 /* TypeFlags.Any */ ? + includes & 8388608 /* TypeFlags.IncludesWildcard */ ? wildcardType : anyType : + includes & 65536 /* TypeFlags.Null */ || containsType(typeSet, unknownType) ? unknownType : nonNullUnknownType; } - if (exactOptionalPropertyTypes && includes & 32768 /* Undefined */) { + if (exactOptionalPropertyTypes && includes & 32768 /* TypeFlags.Undefined */) { var missingIndex = ts.binarySearch(typeSet, missingType, getTypeId, ts.compareValues); if (missingIndex >= 0 && containsType(typeSet, undefinedType)) { ts.orderedRemoveItemAt(typeSet, missingIndex); } } - if (includes & (2944 /* Literal */ | 8192 /* UniqueESSymbol */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) || includes & 16384 /* Void */ && includes & 32768 /* Undefined */) { - removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & 2 /* Subtype */)); + if (includes & (2944 /* TypeFlags.Literal */ | 8192 /* TypeFlags.UniqueESSymbol */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) || includes & 16384 /* TypeFlags.Void */ && includes & 32768 /* TypeFlags.Undefined */) { + removeRedundantLiteralTypes(typeSet, includes, !!(unionReduction & 2 /* UnionReduction.Subtype */)); } - if (includes & 128 /* StringLiteral */ && includes & 134217728 /* TemplateLiteral */) { + if (includes & 128 /* TypeFlags.StringLiteral */ && includes & 134217728 /* TypeFlags.TemplateLiteral */) { removeStringLiteralsMatchedByTemplateLiterals(typeSet); } - if (unionReduction === 2 /* Subtype */) { - typeSet = removeSubtypes(typeSet, !!(includes & 524288 /* Object */)); + if (unionReduction === 2 /* UnionReduction.Subtype */) { + typeSet = removeSubtypes(typeSet, !!(includes & 524288 /* TypeFlags.Object */)); if (!typeSet) { return errorType; } } if (typeSet.length === 0) { - return includes & 65536 /* Null */ ? includes & 4194304 /* IncludesNonWideningType */ ? nullType : nullWideningType : - includes & 32768 /* Undefined */ ? includes & 4194304 /* IncludesNonWideningType */ ? undefinedType : undefinedWideningType : + return includes & 65536 /* TypeFlags.Null */ ? includes & 4194304 /* TypeFlags.IncludesNonWideningType */ ? nullType : nullWideningType : + includes & 32768 /* TypeFlags.Undefined */ ? includes & 4194304 /* TypeFlags.IncludesNonWideningType */ ? undefinedType : undefinedWideningType : neverType; } } - if (!origin && includes & 1048576 /* Union */) { + if (!origin && includes & 1048576 /* TypeFlags.Union */) { var namedUnions = []; addNamedUnions(namedUnions, types); var reducedTypes = []; @@ -61045,11 +61302,11 @@ var ts; var t = namedUnions_1[_a]; insertType(reducedTypes, t); } - origin = createOriginUnionOrIntersectionType(1048576 /* Union */, reducedTypes); + origin = createOriginUnionOrIntersectionType(1048576 /* TypeFlags.Union */, reducedTypes); } } - var objectFlags = (includes & 36323363 /* NotPrimitiveUnion */ ? 0 : 32768 /* PrimitiveUnion */) | - (includes & 2097152 /* Intersection */ ? 16777216 /* ContainsIntersections */ : 0); + var objectFlags = (includes & 36323363 /* TypeFlags.NotPrimitiveUnion */ ? 0 : 32768 /* ObjectFlags.PrimitiveUnion */) | + (includes & 2097152 /* TypeFlags.Intersection */ ? 16777216 /* ObjectFlags.ContainsIntersections */ : 0); return getUnionTypeFromSortedList(typeSet, objectFlags, aliasSymbol, aliasTypeArguments, origin); } function getUnionOrIntersectionTypePredicate(signatures, kind) { @@ -61058,8 +61315,8 @@ var ts; for (var _i = 0, signatures_6 = signatures; _i < signatures_6.length; _i++) { var sig = signatures_6[_i]; var pred = getTypePredicateOfSignature(sig); - if (!pred || pred.kind === 2 /* AssertsThis */ || pred.kind === 3 /* AssertsIdentifier */) { - if (kind !== 2097152 /* Intersection */) { + if (!pred || pred.kind === 2 /* TypePredicateKind.AssertsThis */ || pred.kind === 3 /* TypePredicateKind.AssertsIdentifier */) { + if (kind !== 2097152 /* TypeFlags.Intersection */) { continue; } else { @@ -61096,20 +61353,20 @@ var ts; return types[0]; } var typeKey = !origin ? getTypeListId(types) : - origin.flags & 1048576 /* Union */ ? "|" + getTypeListId(origin.types) : - origin.flags & 2097152 /* Intersection */ ? "&" + getTypeListId(origin.types) : - "#" + origin.type.id + "|" + getTypeListId(types); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving + origin.flags & 1048576 /* TypeFlags.Union */ ? "|".concat(getTypeListId(origin.types)) : + origin.flags & 2097152 /* TypeFlags.Intersection */ ? "&".concat(getTypeListId(origin.types)) : + "#".concat(origin.type.id, "|").concat(getTypeListId(types)); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving var id = typeKey + getAliasId(aliasSymbol, aliasTypeArguments); var type = unionTypes.get(id); if (!type) { - type = createType(1048576 /* Union */); - type.objectFlags = objectFlags | getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 98304 /* Nullable */); + type = createType(1048576 /* TypeFlags.Union */); + type.objectFlags = objectFlags | getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 98304 /* TypeFlags.Nullable */); type.types = types; type.origin = origin; type.aliasSymbol = aliasSymbol; type.aliasTypeArguments = aliasTypeArguments; - if (types.length === 2 && types[0].flags & 512 /* BooleanLiteral */ && types[1].flags & 512 /* BooleanLiteral */) { - type.flags |= 16 /* Boolean */; + if (types.length === 2 && types[0].flags & 512 /* TypeFlags.BooleanLiteral */ && types[1].flags & 512 /* TypeFlags.BooleanLiteral */) { + type.flags |= 16 /* TypeFlags.Boolean */; type.intrinsicName = "boolean"; } unionTypes.set(id, type); @@ -61120,41 +61377,41 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedType) { var aliasSymbol = getAliasSymbolForTypeNode(node); - links.resolvedType = getUnionType(ts.map(node.types, getTypeFromTypeNode), 1 /* Literal */, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol)); + links.resolvedType = getUnionType(ts.map(node.types, getTypeFromTypeNode), 1 /* UnionReduction.Literal */, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol)); } return links.resolvedType; } function addTypeToIntersection(typeSet, includes, type) { var flags = type.flags; - if (flags & 2097152 /* Intersection */) { + if (flags & 2097152 /* TypeFlags.Intersection */) { return addTypesToIntersection(typeSet, includes, type.types); } if (isEmptyAnonymousObjectType(type)) { - if (!(includes & 16777216 /* IncludesEmptyObject */)) { - includes |= 16777216 /* IncludesEmptyObject */; + if (!(includes & 16777216 /* TypeFlags.IncludesEmptyObject */)) { + includes |= 16777216 /* TypeFlags.IncludesEmptyObject */; typeSet.set(type.id.toString(), type); } } else { - if (flags & 3 /* AnyOrUnknown */) { + if (flags & 3 /* TypeFlags.AnyOrUnknown */) { if (type === wildcardType) - includes |= 8388608 /* IncludesWildcard */; + includes |= 8388608 /* TypeFlags.IncludesWildcard */; } - else if (strictNullChecks || !(flags & 98304 /* Nullable */)) { + else if (strictNullChecks || !(flags & 98304 /* TypeFlags.Nullable */)) { if (exactOptionalPropertyTypes && type === missingType) { - includes |= 262144 /* IncludesMissingType */; + includes |= 262144 /* TypeFlags.IncludesMissingType */; type = undefinedType; } if (!typeSet.has(type.id.toString())) { - if (type.flags & 109440 /* Unit */ && includes & 109440 /* Unit */) { + if (type.flags & 109440 /* TypeFlags.Unit */ && includes & 109440 /* TypeFlags.Unit */) { // We have seen two distinct unit types which means we should reduce to an // empty intersection. Adding TypeFlags.NonPrimitive causes that to happen. - includes |= 67108864 /* NonPrimitive */; + includes |= 67108864 /* TypeFlags.NonPrimitive */; } typeSet.set(type.id.toString(), type); } } - includes |= flags & 205258751 /* IncludesMask */; + includes |= flags & 205258751 /* TypeFlags.IncludesMask */; } return includes; } @@ -61172,10 +61429,10 @@ var ts; while (i > 0) { i--; var t = types[i]; - var remove = t.flags & 4 /* String */ && includes & 128 /* StringLiteral */ || - t.flags & 8 /* Number */ && includes & 256 /* NumberLiteral */ || - t.flags & 64 /* BigInt */ && includes & 2048 /* BigIntLiteral */ || - t.flags & 4096 /* ESSymbol */ && includes & 8192 /* UniqueESSymbol */; + var remove = t.flags & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) || + t.flags & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ || + t.flags & 64 /* TypeFlags.BigInt */ && includes & 2048 /* TypeFlags.BigIntLiteral */ || + t.flags & 4096 /* TypeFlags.ESSymbol */ && includes & 8192 /* TypeFlags.UniqueESSymbol */; if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -61188,10 +61445,10 @@ var ts; for (var _i = 0, unionTypes_1 = unionTypes; _i < unionTypes_1.length; _i++) { var u = unionTypes_1[_i]; if (!containsType(u.types, type)) { - var primitive = type.flags & 128 /* StringLiteral */ ? stringType : - type.flags & 256 /* NumberLiteral */ ? numberType : - type.flags & 2048 /* BigIntLiteral */ ? bigintType : - type.flags & 8192 /* UniqueESSymbol */ ? esSymbolType : + var primitive = type.flags & 128 /* TypeFlags.StringLiteral */ ? stringType : + type.flags & 256 /* TypeFlags.NumberLiteral */ ? numberType : + type.flags & 2048 /* TypeFlags.BigIntLiteral */ ? bigintType : + type.flags & 8192 /* TypeFlags.UniqueESSymbol */ ? esSymbolType : undefined; if (!primitive || !containsType(u.types, primitive)) { return false; @@ -61205,11 +61462,11 @@ var ts; */ function extractRedundantTemplateLiterals(types) { var i = types.length; - var literals = ts.filter(types, function (t) { return !!(t.flags & 128 /* StringLiteral */); }); + var literals = ts.filter(types, function (t) { return !!(t.flags & 128 /* TypeFlags.StringLiteral */); }); while (i > 0) { i--; var t = types[i]; - if (!(t.flags & 134217728 /* TemplateLiteral */)) + if (!(t.flags & 134217728 /* TypeFlags.TemplateLiteral */)) continue; for (var _i = 0, literals_1 = literals; _i < literals_1.length; _i++) { var t2 = literals_1[_i]; @@ -61226,7 +61483,7 @@ var ts; return false; } function eachIsUnionContaining(types, flag) { - return ts.every(types, function (t) { return !!(t.flags & 1048576 /* Union */) && ts.some(t.types, function (tt) { return !!(tt.flags & flag); }); }); + return ts.every(types, function (t) { return !!(t.flags & 1048576 /* TypeFlags.Union */) && ts.some(t.types, function (tt) { return !!(tt.flags & flag); }); }); } function removeFromEach(types, flag) { for (var i = 0; i < types.length; i++) { @@ -61238,7 +61495,7 @@ var ts; // other unions and return true. Otherwise, do nothing and return false. function intersectUnionsOfPrimitiveTypes(types) { var unionTypes; - var index = ts.findIndex(types, function (t) { return !!(ts.getObjectFlags(t) & 32768 /* PrimitiveUnion */); }); + var index = ts.findIndex(types, function (t) { return !!(ts.getObjectFlags(t) & 32768 /* ObjectFlags.PrimitiveUnion */); }); if (index < 0) { return false; } @@ -61247,7 +61504,7 @@ var ts; // the unionTypes array. while (i < types.length) { var t = types[i]; - if (ts.getObjectFlags(t) & 32768 /* PrimitiveUnion */) { + if (ts.getObjectFlags(t) & 32768 /* ObjectFlags.PrimitiveUnion */) { (unionTypes || (unionTypes = [types[index]])).push(t); ts.orderedRemoveItemAt(types, i); } @@ -61276,12 +61533,12 @@ var ts; } } // Finally replace the first union with the result - types[index] = getUnionTypeFromSortedList(result, 32768 /* PrimitiveUnion */); + types[index] = getUnionTypeFromSortedList(result, 32768 /* ObjectFlags.PrimitiveUnion */); return true; } function createIntersectionType(types, aliasSymbol, aliasTypeArguments) { - var result = createType(2097152 /* Intersection */); - result.objectFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 98304 /* Nullable */); + var result = createType(2097152 /* TypeFlags.Intersection */); + result.objectFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ 98304 /* TypeFlags.Nullable */); result.types = types; result.aliasSymbol = aliasSymbol; result.aliasTypeArguments = aliasTypeArguments; @@ -61310,37 +61567,37 @@ var ts; // a symbol-like type and a type known to be non-symbol-like, or // a void-like type and a type known to be non-void-like, or // a non-primitive type and a type known to be primitive. - if (includes & 131072 /* Never */) { + if (includes & 131072 /* TypeFlags.Never */) { return ts.contains(typeSet, silentNeverType) ? silentNeverType : neverType; } - if (strictNullChecks && includes & 98304 /* Nullable */ && includes & (524288 /* Object */ | 67108864 /* NonPrimitive */ | 16777216 /* IncludesEmptyObject */) || - includes & 67108864 /* NonPrimitive */ && includes & (469892092 /* DisjointDomains */ & ~67108864 /* NonPrimitive */) || - includes & 402653316 /* StringLike */ && includes & (469892092 /* DisjointDomains */ & ~402653316 /* StringLike */) || - includes & 296 /* NumberLike */ && includes & (469892092 /* DisjointDomains */ & ~296 /* NumberLike */) || - includes & 2112 /* BigIntLike */ && includes & (469892092 /* DisjointDomains */ & ~2112 /* BigIntLike */) || - includes & 12288 /* ESSymbolLike */ && includes & (469892092 /* DisjointDomains */ & ~12288 /* ESSymbolLike */) || - includes & 49152 /* VoidLike */ && includes & (469892092 /* DisjointDomains */ & ~49152 /* VoidLike */)) { + if (strictNullChecks && includes & 98304 /* TypeFlags.Nullable */ && includes & (524288 /* TypeFlags.Object */ | 67108864 /* TypeFlags.NonPrimitive */ | 16777216 /* TypeFlags.IncludesEmptyObject */) || + includes & 67108864 /* TypeFlags.NonPrimitive */ && includes & (469892092 /* TypeFlags.DisjointDomains */ & ~67108864 /* TypeFlags.NonPrimitive */) || + includes & 402653316 /* TypeFlags.StringLike */ && includes & (469892092 /* TypeFlags.DisjointDomains */ & ~402653316 /* TypeFlags.StringLike */) || + includes & 296 /* TypeFlags.NumberLike */ && includes & (469892092 /* TypeFlags.DisjointDomains */ & ~296 /* TypeFlags.NumberLike */) || + includes & 2112 /* TypeFlags.BigIntLike */ && includes & (469892092 /* TypeFlags.DisjointDomains */ & ~2112 /* TypeFlags.BigIntLike */) || + includes & 12288 /* TypeFlags.ESSymbolLike */ && includes & (469892092 /* TypeFlags.DisjointDomains */ & ~12288 /* TypeFlags.ESSymbolLike */) || + includes & 49152 /* TypeFlags.VoidLike */ && includes & (469892092 /* TypeFlags.DisjointDomains */ & ~49152 /* TypeFlags.VoidLike */)) { return neverType; } - if (includes & 134217728 /* TemplateLiteral */ && includes & 128 /* StringLiteral */ && extractRedundantTemplateLiterals(typeSet)) { + if (includes & 134217728 /* TypeFlags.TemplateLiteral */ && includes & 128 /* TypeFlags.StringLiteral */ && extractRedundantTemplateLiterals(typeSet)) { return neverType; } - if (includes & 1 /* Any */) { - return includes & 8388608 /* IncludesWildcard */ ? wildcardType : anyType; + if (includes & 1 /* TypeFlags.Any */) { + return includes & 8388608 /* TypeFlags.IncludesWildcard */ ? wildcardType : anyType; } - if (!strictNullChecks && includes & 98304 /* Nullable */) { - return includes & 32768 /* Undefined */ ? undefinedType : nullType; + if (!strictNullChecks && includes & 98304 /* TypeFlags.Nullable */) { + return includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType; } - if (includes & 4 /* String */ && includes & 128 /* StringLiteral */ || - includes & 8 /* Number */ && includes & 256 /* NumberLiteral */ || - includes & 64 /* BigInt */ && includes & 2048 /* BigIntLiteral */ || - includes & 4096 /* ESSymbol */ && includes & 8192 /* UniqueESSymbol */) { + if (includes & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) || + includes & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ || + includes & 64 /* TypeFlags.BigInt */ && includes & 2048 /* TypeFlags.BigIntLiteral */ || + includes & 4096 /* TypeFlags.ESSymbol */ && includes & 8192 /* TypeFlags.UniqueESSymbol */) { removeRedundantPrimitiveTypes(typeSet, includes); } - if (includes & 16777216 /* IncludesEmptyObject */ && includes & 524288 /* Object */) { + if (includes & 16777216 /* TypeFlags.IncludesEmptyObject */ && includes & 524288 /* TypeFlags.Object */) { ts.orderedRemoveItemAt(typeSet, ts.findIndex(typeSet, isEmptyAnonymousObjectType)); } - if (includes & 262144 /* IncludesMissingType */) { + if (includes & 262144 /* TypeFlags.IncludesMissingType */) { typeSet[typeSet.indexOf(undefinedType)] = missingType; } if (typeSet.length === 0) { @@ -61352,21 +61609,21 @@ var ts; var id = getTypeListId(typeSet) + getAliasId(aliasSymbol, aliasTypeArguments); var result = intersectionTypes.get(id); if (!result) { - if (includes & 1048576 /* Union */) { + if (includes & 1048576 /* TypeFlags.Union */) { if (intersectUnionsOfPrimitiveTypes(typeSet)) { // When the intersection creates a reduced set (which might mean that *all* union types have // disappeared), we restart the operation to get a new set of combined flags. Once we have // reduced we'll never reduce again, so this occurs at most once. result = getIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); } - else if (eachIsUnionContaining(typeSet, 32768 /* Undefined */)) { + else if (eachIsUnionContaining(typeSet, 32768 /* TypeFlags.Undefined */)) { var undefinedOrMissingType = exactOptionalPropertyTypes && ts.some(typeSet, function (t) { return containsType(t.types, missingType); }) ? missingType : undefinedType; - removeFromEach(typeSet, 32768 /* Undefined */); - result = getUnionType([getIntersectionType(typeSet), undefinedOrMissingType], 1 /* Literal */, aliasSymbol, aliasTypeArguments); + removeFromEach(typeSet, 32768 /* TypeFlags.Undefined */); + result = getUnionType([getIntersectionType(typeSet), undefinedOrMissingType], 1 /* UnionReduction.Literal */, aliasSymbol, aliasTypeArguments); } - else if (eachIsUnionContaining(typeSet, 65536 /* Null */)) { - removeFromEach(typeSet, 65536 /* Null */); - result = getUnionType([getIntersectionType(typeSet), nullType], 1 /* Literal */, aliasSymbol, aliasTypeArguments); + else if (eachIsUnionContaining(typeSet, 65536 /* TypeFlags.Null */)) { + removeFromEach(typeSet, 65536 /* TypeFlags.Null */); + result = getUnionType([getIntersectionType(typeSet), nullType], 1 /* UnionReduction.Literal */, aliasSymbol, aliasTypeArguments); } else { // We are attempting to construct a type of the form X & (A | B) & (C | D). Transform this into a type of @@ -61378,8 +61635,8 @@ var ts; var constituents = getCrossProductIntersections(typeSet); // We attach a denormalized origin type when at least one constituent of the cross-product union is an // intersection (i.e. when the intersection didn't just reduce one or more unions to smaller unions). - var origin = ts.some(constituents, function (t) { return !!(t.flags & 2097152 /* Intersection */); }) ? createOriginUnionOrIntersectionType(2097152 /* Intersection */, typeSet) : undefined; - result = getUnionType(constituents, 1 /* Literal */, aliasSymbol, aliasTypeArguments, origin); + var origin = ts.some(constituents, function (t) { return !!(t.flags & 2097152 /* TypeFlags.Intersection */); }) ? createOriginUnionOrIntersectionType(2097152 /* TypeFlags.Intersection */, typeSet) : undefined; + result = getUnionType(constituents, 1 /* UnionReduction.Literal */, aliasSymbol, aliasTypeArguments, origin); } } else { @@ -61390,12 +61647,12 @@ var ts; return result; } function getCrossProductUnionSize(types) { - return ts.reduceLeft(types, function (n, t) { return t.flags & 1048576 /* Union */ ? n * t.types.length : t.flags & 131072 /* Never */ ? 0 : n; }, 1); + return ts.reduceLeft(types, function (n, t) { return t.flags & 1048576 /* TypeFlags.Union */ ? n * t.types.length : t.flags & 131072 /* TypeFlags.Never */ ? 0 : n; }, 1); } function checkCrossProductUnion(types) { var size = getCrossProductUnionSize(types); if (size >= 100000) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "checkCrossProductUnion_DepthLimit", { typeIds: types.map(function (t) { return t.id; }), size: size }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "checkCrossProductUnion_DepthLimit", { typeIds: types.map(function (t) { return t.id; }), size: size }); error(currentNode, ts.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent); return false; } @@ -61408,7 +61665,7 @@ var ts; var constituents = types.slice(); var n = i; for (var j = types.length - 1; j >= 0; j--) { - if (types[j].flags & 1048576 /* Union */) { + if (types[j].flags & 1048576 /* TypeFlags.Union */) { var sourceTypes = types[j].types; var length_5 = sourceTypes.length; constituents[j] = sourceTypes[n % length_5]; @@ -61416,7 +61673,7 @@ var ts; } } var t = getIntersectionType(constituents); - if (!(t.flags & 131072 /* Never */)) + if (!(t.flags & 131072 /* TypeFlags.Never */)) intersections.push(t); } return intersections; @@ -61430,13 +61687,13 @@ var ts; return links.resolvedType; } function createIndexType(type, stringsOnly) { - var result = createType(4194304 /* Index */); + var result = createType(4194304 /* TypeFlags.Index */); result.type = type; result.stringsOnly = stringsOnly; return result; } function createOriginIndexType(type) { - var result = createOriginType(4194304 /* Index */); + var result = createOriginType(4194304 /* TypeFlags.Index */); result.type = type; return result; } @@ -61468,7 +61725,7 @@ var ts; // so we only eagerly manifest the keys if the constraint is nongeneric if (!isGenericIndexType(constraintType)) { var modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); // The 'T' in 'keyof T' - forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* StringOrNumberLiteralOrUnique */, stringsOnly, addMemberForKeyType); + forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, stringsOnly, addMemberForKeyType); } else { // we have a generic index and a homomorphic mapping (but a distributive key remapping) - we need to defer the whole `keyof whatever` for later @@ -61484,8 +61741,8 @@ var ts; } // we had to pick apart the constraintType to potentially map/filter it - compare the final resulting list with the original constraintType, // so we can return the union that preserves aliases/origin data if possible - var result = noIndexSignatures ? filterType(getUnionType(keyTypes), function (t) { return !(t.flags & (1 /* Any */ | 4 /* String */)); }) : getUnionType(keyTypes); - if (result.flags & 1048576 /* Union */ && constraintType.flags & 1048576 /* Union */ && getTypeListId(result.types) === getTypeListId(constraintType.types)) { + var result = noIndexSignatures ? filterType(getUnionType(keyTypes), function (t) { return !(t.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */)); }) : getUnionType(keyTypes); + if (result.flags & 1048576 /* TypeFlags.Union */ && constraintType.flags & 1048576 /* TypeFlags.Union */ && getTypeListId(result.types) === getTypeListId(constraintType.types)) { return constraintType; } return result; @@ -61505,12 +61762,12 @@ var ts; var typeVariable = getTypeParameterFromMappedType(mappedType); return isDistributive(getNameTypeFromMappedType(mappedType) || typeVariable); function isDistributive(type) { - return type.flags & (3 /* AnyOrUnknown */ | 131068 /* Primitive */ | 131072 /* Never */ | 262144 /* TypeParameter */ | 524288 /* Object */ | 67108864 /* NonPrimitive */) ? true : - type.flags & 16777216 /* Conditional */ ? type.root.isDistributive && type.checkType === typeVariable : - type.flags & (3145728 /* UnionOrIntersection */ | 134217728 /* TemplateLiteral */) ? ts.every(type.types, isDistributive) : - type.flags & 8388608 /* IndexedAccess */ ? isDistributive(type.objectType) && isDistributive(type.indexType) : - type.flags & 33554432 /* Substitution */ ? isDistributive(type.substitute) : - type.flags & 268435456 /* StringMapping */ ? isDistributive(type.type) : + return type.flags & (3 /* TypeFlags.AnyOrUnknown */ | 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */ | 262144 /* TypeFlags.TypeParameter */ | 524288 /* TypeFlags.Object */ | 67108864 /* TypeFlags.NonPrimitive */) ? true : + type.flags & 16777216 /* TypeFlags.Conditional */ ? type.root.isDistributive && type.checkType === typeVariable : + type.flags & (3145728 /* TypeFlags.UnionOrIntersection */ | 134217728 /* TypeFlags.TemplateLiteral */) ? ts.every(type.types, isDistributive) : + type.flags & 8388608 /* TypeFlags.IndexedAccess */ ? isDistributive(type.objectType) && isDistributive(type.indexType) : + type.flags & 33554432 /* TypeFlags.Substitution */ ? isDistributive(type.substitute) : + type.flags & 268435456 /* TypeFlags.StringMapping */ ? isDistributive(type.type) : false; } } @@ -61522,11 +61779,11 @@ var ts; getRegularTypeOfLiteralType(ts.isComputedPropertyName(name) ? checkComputedPropertyName(name) : checkExpression(name)); } function getLiteralTypeFromProperty(prop, include, includeNonPublic) { - if (includeNonPublic || !(ts.getDeclarationModifierFlagsFromSymbol(prop) & 24 /* NonPublicAccessibilityModifier */)) { + if (includeNonPublic || !(ts.getDeclarationModifierFlagsFromSymbol(prop) & 24 /* ModifierFlags.NonPublicAccessibilityModifier */)) { var type = getSymbolLinks(getLateBoundSymbol(prop)).nameType; if (!type) { var name = ts.getNameOfDeclaration(prop.valueDeclaration); - type = prop.escapedName === "default" /* Default */ ? getStringLiteralType("default") : + type = prop.escapedName === "default" /* InternalSymbolName.Default */ ? getStringLiteralType("default") : name && getLiteralTypeFromPropertyName(name) || (!ts.isKnownSymbol(prop) ? getStringLiteralType(ts.symbolName(prop)) : undefined); } if (type && type.flags & include) { @@ -61536,14 +61793,14 @@ var ts; return neverType; } function isKeyTypeIncluded(keyType, include) { - return !!(keyType.flags & include || keyType.flags & 2097152 /* Intersection */ && ts.some(keyType.types, function (t) { return isKeyTypeIncluded(t, include); })); + return !!(keyType.flags & include || keyType.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(keyType.types, function (t) { return isKeyTypeIncluded(t, include); })); } function getLiteralTypeFromProperties(type, include, includeOrigin) { - var origin = includeOrigin && (ts.getObjectFlags(type) & (3 /* ClassOrInterface */ | 4 /* Reference */) || type.aliasSymbol) ? createOriginIndexType(type) : undefined; + var origin = includeOrigin && (ts.getObjectFlags(type) & (3 /* ObjectFlags.ClassOrInterface */ | 4 /* ObjectFlags.Reference */) || type.aliasSymbol) ? createOriginIndexType(type) : undefined; var propertyTypes = ts.map(getPropertiesOfType(type), function (prop) { return getLiteralTypeFromProperty(prop, include); }); var indexKeyTypes = ts.map(getIndexInfosOfType(type), function (info) { return info !== enumNumberIndexInfo && isKeyTypeIncluded(info.keyType, include) ? - info.keyType === stringType && include & 8 /* Number */ ? stringOrNumberType : info.keyType : neverType; }); - return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* Literal */, + info.keyType === stringType && include & 8 /* TypeFlags.Number */ ? stringOrNumberType : info.keyType : neverType; }); + return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* UnionReduction.Literal */, /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined, origin); } /** @@ -61561,16 +61818,16 @@ var ts; function getIndexType(type, stringsOnly, noIndexSignatures) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } type = getReducedType(type); - return type.flags & 1048576 /* Union */ ? isPossiblyReducibleByInstantiation(type) + return type.flags & 1048576 /* TypeFlags.Union */ ? isPossiblyReducibleByInstantiation(type) ? getIndexTypeForGenericType(type, stringsOnly) : getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : - type.flags & 2097152 /* Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : - type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericTupleType(type) || isGenericMappedType(type) && !hasDistributiveNameType(type) ? getIndexTypeForGenericType(type, stringsOnly) : - ts.getObjectFlags(type) & 32 /* Mapped */ ? getIndexTypeForMappedType(type, stringsOnly, noIndexSignatures) : + type.flags & 2097152 /* TypeFlags.Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : + type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ || isGenericTupleType(type) || isGenericMappedType(type) && !hasDistributiveNameType(type) ? getIndexTypeForGenericType(type, stringsOnly) : + ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */ ? getIndexTypeForMappedType(type, stringsOnly, noIndexSignatures) : type === wildcardType ? wildcardType : - type.flags & 2 /* Unknown */ ? neverType : - type.flags & (1 /* Any */ | 131072 /* Never */) ? keyofConstraintType : - getLiteralTypeFromProperties(type, (noIndexSignatures ? 128 /* StringLiteral */ : 402653316 /* StringLike */) | (stringsOnly ? 0 : 296 /* NumberLike */ | 12288 /* ESSymbolLike */), stringsOnly === keyofStringsOnly && !noIndexSignatures); + type.flags & 2 /* TypeFlags.Unknown */ ? neverType : + type.flags & (1 /* TypeFlags.Any */ | 131072 /* TypeFlags.Never */) ? keyofConstraintType : + getLiteralTypeFromProperties(type, (noIndexSignatures ? 128 /* TypeFlags.StringLiteral */ : 402653316 /* TypeFlags.StringLike */) | (stringsOnly ? 0 : 296 /* TypeFlags.NumberLike */ | 12288 /* TypeFlags.ESSymbolLike */), stringsOnly === keyofStringsOnly && !noIndexSignatures); } function getExtractStringType(type) { if (keyofStringsOnly) { @@ -61581,21 +61838,21 @@ var ts; } function getIndexTypeOrString(type) { var indexType = getExtractStringType(getIndexType(type)); - return indexType.flags & 131072 /* Never */ ? stringType : indexType; + return indexType.flags & 131072 /* TypeFlags.Never */ ? stringType : indexType; } function getTypeFromTypeOperatorNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { switch (node.operator) { - case 140 /* KeyOfKeyword */: + case 140 /* SyntaxKind.KeyOfKeyword */: links.resolvedType = getIndexType(getTypeFromTypeNode(node.type)); break; - case 154 /* UniqueKeyword */: - links.resolvedType = node.type.kind === 151 /* SymbolKeyword */ + case 154 /* SyntaxKind.UniqueKeyword */: + links.resolvedType = node.type.kind === 151 /* SyntaxKind.SymbolKeyword */ ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) : errorType; break; - case 145 /* ReadonlyKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: links.resolvedType = getTypeFromTypeNode(node.type); break; default: @@ -61612,7 +61869,7 @@ var ts; return links.resolvedType; } function getTemplateLiteralType(texts, types) { - var unionIndex = ts.findIndex(types, function (t) { return !!(t.flags & (131072 /* Never */ | 1048576 /* Union */)); }); + var unionIndex = ts.findIndex(types, function (t) { return !!(t.flags & (131072 /* TypeFlags.Never */ | 1048576 /* TypeFlags.Union */)); }); if (unionIndex >= 0) { return checkCrossProductUnion(types) ? mapType(types[unionIndex], function (t) { return getTemplateLiteralType(texts, ts.replaceElement(types, unionIndex, t)); }) : @@ -61631,10 +61888,10 @@ var ts; return getStringLiteralType(text); } newTexts.push(text); - if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* String */); })) { + if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* TypeFlags.String */); })) { return stringType; } - var id = getTypeListId(newTypes) + "|" + ts.map(newTexts, function (t) { return t.length; }).join(",") + "|" + newTexts.join(""); + var id = "".concat(getTypeListId(newTypes), "|").concat(ts.map(newTexts, function (t) { return t.length; }).join(","), "|").concat(newTexts.join("")); var type = templateLiteralTypes.get(id); if (!type) { templateLiteralTypes.set(id, type = createTemplateLiteralType(newTexts, newTypes)); @@ -61645,13 +61902,13 @@ var ts; for (var i = 0; i < types.length; i++) { var t = types[i]; var addText = isTextsArray ? texts[i + 1] : texts; - if (t.flags & (2944 /* Literal */ | 65536 /* Null */ | 32768 /* Undefined */)) { + if (t.flags & (2944 /* TypeFlags.Literal */ | 65536 /* TypeFlags.Null */ | 32768 /* TypeFlags.Undefined */)) { text += getTemplateStringForType(t) || ""; text += addText; if (!isTextsArray) return true; } - else if (t.flags & 134217728 /* TemplateLiteral */) { + else if (t.flags & 134217728 /* TypeFlags.TemplateLiteral */) { text += t.texts[0]; if (!addSpans(t.texts, t.types)) return false; @@ -61664,7 +61921,7 @@ var ts; newTexts.push(text); text = addText; } - else if (t.flags & 2097152 /* Intersection */) { + else if (t.flags & 2097152 /* TypeFlags.Intersection */) { var added = addSpans(texts[i + 1], t.types); if (!added) return false; @@ -61677,35 +61934,35 @@ var ts; } } function getTemplateStringForType(type) { - return type.flags & 128 /* StringLiteral */ ? type.value : - type.flags & 256 /* NumberLiteral */ ? "" + type.value : - type.flags & 2048 /* BigIntLiteral */ ? ts.pseudoBigIntToString(type.value) : - type.flags & (512 /* BooleanLiteral */ | 98304 /* Nullable */) ? type.intrinsicName : + return type.flags & 128 /* TypeFlags.StringLiteral */ ? type.value : + type.flags & 256 /* TypeFlags.NumberLiteral */ ? "" + type.value : + type.flags & 2048 /* TypeFlags.BigIntLiteral */ ? ts.pseudoBigIntToString(type.value) : + type.flags & (512 /* TypeFlags.BooleanLiteral */ | 98304 /* TypeFlags.Nullable */) ? type.intrinsicName : undefined; } function createTemplateLiteralType(texts, types) { - var type = createType(134217728 /* TemplateLiteral */); + var type = createType(134217728 /* TypeFlags.TemplateLiteral */); type.texts = texts; type.types = types; return type; } function getStringMappingType(symbol, type) { - return type.flags & (1048576 /* Union */ | 131072 /* Never */) ? mapType(type, function (t) { return getStringMappingType(symbol, t); }) : + return type.flags & (1048576 /* TypeFlags.Union */ | 131072 /* TypeFlags.Never */) ? mapType(type, function (t) { return getStringMappingType(symbol, t); }) : isGenericIndexType(type) ? getStringMappingTypeForGenericType(symbol, type) : - type.flags & 128 /* StringLiteral */ ? getStringLiteralType(applyStringMapping(symbol, type.value)) : + type.flags & 128 /* TypeFlags.StringLiteral */ ? getStringLiteralType(applyStringMapping(symbol, type.value)) : type; } function applyStringMapping(symbol, str) { switch (intrinsicTypeKinds.get(symbol.escapedName)) { - case 0 /* Uppercase */: return str.toUpperCase(); - case 1 /* Lowercase */: return str.toLowerCase(); - case 2 /* Capitalize */: return str.charAt(0).toUpperCase() + str.slice(1); - case 3 /* Uncapitalize */: return str.charAt(0).toLowerCase() + str.slice(1); + case 0 /* IntrinsicTypeKind.Uppercase */: return str.toUpperCase(); + case 1 /* IntrinsicTypeKind.Lowercase */: return str.toLowerCase(); + case 2 /* IntrinsicTypeKind.Capitalize */: return str.charAt(0).toUpperCase() + str.slice(1); + case 3 /* IntrinsicTypeKind.Uncapitalize */: return str.charAt(0).toLowerCase() + str.slice(1); } return str; } function getStringMappingTypeForGenericType(symbol, type) { - var id = getSymbolId(symbol) + "," + getTypeId(type); + var id = "".concat(getSymbolId(symbol), ",").concat(getTypeId(type)); var result = stringMappingTypes.get(id); if (!result) { stringMappingTypes.set(id, result = createStringMappingType(symbol, type)); @@ -61713,13 +61970,13 @@ var ts; return result; } function createStringMappingType(symbol, type) { - var result = createType(268435456 /* StringMapping */); + var result = createType(268435456 /* TypeFlags.StringMapping */); result.symbol = symbol; result.type = type; return result; } function createIndexedAccessType(objectType, indexType, accessFlags, aliasSymbol, aliasTypeArguments) { - var type = createType(8388608 /* IndexedAccess */); + var type = createType(8388608 /* TypeFlags.IndexedAccess */); type.objectType = objectType; type.indexType = indexType; type.accessFlags = accessFlags; @@ -61740,16 +61997,16 @@ var ts; if (noImplicitAny) { return false; // Flag is meaningless under `noImplicitAny` mode } - if (ts.getObjectFlags(type) & 4096 /* JSLiteral */) { + if (ts.getObjectFlags(type) & 4096 /* ObjectFlags.JSLiteral */) { return true; } - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { return ts.every(type.types, isJSLiteralType); } - if (type.flags & 2097152 /* Intersection */) { + if (type.flags & 2097152 /* TypeFlags.Intersection */) { return ts.some(type.types, isJSLiteralType); } - if (type.flags & 465829888 /* Instantiable */) { + if (type.flags & 465829888 /* TypeFlags.Instantiable */) { var constraint = getResolvedBaseConstraint(type); return constraint !== type && isJSLiteralType(constraint); } @@ -61764,26 +62021,26 @@ var ts; undefined; } function isUncalledFunctionReference(node, symbol) { - if (symbol.flags & (16 /* Function */ | 8192 /* Method */)) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */)) { var parent = ts.findAncestor(node.parent, function (n) { return !ts.isAccessExpression(n); }) || node.parent; if (ts.isCallLikeExpression(parent)) { return ts.isCallOrNewExpression(parent) && ts.isIdentifier(node) && hasMatchingArgument(parent, node); } - return ts.every(symbol.declarations, function (d) { return !ts.isFunctionLike(d) || !!(ts.getCombinedNodeFlags(d) & 268435456 /* Deprecated */); }); + return ts.every(symbol.declarations, function (d) { return !ts.isFunctionLike(d) || !!(ts.getCombinedNodeFlags(d) & 268435456 /* NodeFlags.Deprecated */); }); } return true; } function getPropertyTypeForIndexType(originalObjectType, objectType, indexType, fullIndexType, accessNode, accessFlags) { var _a; - var accessExpression = accessNode && accessNode.kind === 207 /* ElementAccessExpression */ ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 207 /* SyntaxKind.ElementAccessExpression */ ? accessNode : undefined; var propName = accessNode && ts.isPrivateIdentifier(accessNode) ? undefined : getPropertyNameFromIndex(indexType, accessNode); if (propName !== undefined) { - if (accessFlags & 256 /* Contextual */) { + if (accessFlags & 256 /* AccessFlags.Contextual */) { return getTypeOfPropertyOfContextualType(objectType, propName) || anyType; } var prop = getPropertyOfType(objectType, propName); if (prop) { - if (accessFlags & 64 /* ReportDeprecated */ && accessNode && prop.declarations && isDeprecatedSymbol(prop) && isUncalledFunctionReference(accessNode, prop)) { + if (accessFlags & 64 /* AccessFlags.ReportDeprecated */ && accessNode && prop.declarations && isDeprecatedSymbol(prop) && isUncalledFunctionReference(accessNode, prop)) { var deprecatedNode = (_a = accessExpression === null || accessExpression === void 0 ? void 0 : accessExpression.argumentExpression) !== null && _a !== void 0 ? _a : (ts.isIndexedAccessTypeNode(accessNode) ? accessNode.indexType : accessNode); addDeprecatedSuggestion(deprecatedNode, prop.declarations, propName); } @@ -61793,7 +62050,7 @@ var ts; error(accessExpression.argumentExpression, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property, symbolToString(prop)); return undefined; } - if (accessFlags & 8 /* CacheSymbol */) { + if (accessFlags & 8 /* AccessFlags.CacheSymbol */) { getNodeLinks(accessNode).resolvedSymbol = prop; } if (isThisPropertyAccessInConstructor(accessExpression, prop)) { @@ -61801,12 +62058,12 @@ var ts; } } var propType = getTypeOfSymbol(prop); - return accessExpression && ts.getAssignmentTargetKind(accessExpression) !== 1 /* Definite */ ? + return accessExpression && ts.getAssignmentTargetKind(accessExpression) !== 1 /* AssignmentKind.Definite */ ? getFlowTypeOfReference(accessExpression, propType) : propType; } if (everyType(objectType, isTupleType) && ts.isNumericLiteralName(propName) && +propName >= 0) { - if (accessNode && everyType(objectType, function (t) { return !t.target.hasRestElement; }) && !(accessFlags & 16 /* NoTupleBoundsCheck */)) { + if (accessNode && everyType(objectType, function (t) { return !t.target.hasRestElement; }) && !(accessFlags & 16 /* AccessFlags.NoTupleBoundsCheck */)) { var indexNode = getIndexNodeForAccessExpression(accessNode); if (isTupleType(objectType)) { error(indexNode, ts.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2, typeToString(objectType), getTypeReferenceArity(objectType), ts.unescapeLeadingUnderscores(propName)); @@ -61818,33 +62075,33 @@ var ts; errorIfWritingToReadonlyIndex(getIndexInfoOfType(objectType, numberType)); return mapType(objectType, function (t) { var restType = getRestTypeOfTupleType(t) || undefinedType; - return accessFlags & 1 /* IncludeUndefined */ ? getUnionType([restType, undefinedType]) : restType; + return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([restType, undefinedType]) : restType; }); } } - if (!(indexType.flags & 98304 /* Nullable */) && isTypeAssignableToKind(indexType, 402653316 /* StringLike */ | 296 /* NumberLike */ | 12288 /* ESSymbolLike */)) { - if (objectType.flags & (1 /* Any */ | 131072 /* Never */)) { + if (!(indexType.flags & 98304 /* TypeFlags.Nullable */) && isTypeAssignableToKind(indexType, 402653316 /* TypeFlags.StringLike */ | 296 /* TypeFlags.NumberLike */ | 12288 /* TypeFlags.ESSymbolLike */)) { + if (objectType.flags & (1 /* TypeFlags.Any */ | 131072 /* TypeFlags.Never */)) { return objectType; } // If no index signature is applicable, we default to the string index signature. In effect, this means the string // index signature applies even when accessing with a symbol-like type. var indexInfo = getApplicableIndexInfo(objectType, indexType) || getIndexInfoOfType(objectType, stringType); if (indexInfo) { - if (accessFlags & 2 /* NoIndexSignatures */ && indexInfo.keyType !== numberType) { + if (accessFlags & 2 /* AccessFlags.NoIndexSignatures */ && indexInfo.keyType !== numberType) { if (accessExpression) { error(accessExpression, ts.Diagnostics.Type_0_cannot_be_used_to_index_type_1, typeToString(indexType), typeToString(originalObjectType)); } return undefined; } - if (accessNode && indexInfo.keyType === stringType && !isTypeAssignableToKind(indexType, 4 /* String */ | 8 /* Number */)) { + if (accessNode && indexInfo.keyType === stringType && !isTypeAssignableToKind(indexType, 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */)) { var indexNode = getIndexNodeForAccessExpression(accessNode); error(indexNode, ts.Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); - return accessFlags & 1 /* IncludeUndefined */ ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type; + return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type; } errorIfWritingToReadonlyIndex(indexInfo); - return accessFlags & 1 /* IncludeUndefined */ ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type; + return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type; } - if (indexType.flags & 131072 /* Never */) { + if (indexType.flags & 131072 /* TypeFlags.Never */) { return neverType; } if (isJSLiteralType(objectType)) { @@ -61852,21 +62109,21 @@ var ts; } if (accessExpression && !isConstEnumObjectType(objectType)) { if (isObjectLiteralType(objectType)) { - if (noImplicitAny && indexType.flags & (128 /* StringLiteral */ | 256 /* NumberLiteral */)) { + if (noImplicitAny && indexType.flags & (128 /* TypeFlags.StringLiteral */ | 256 /* TypeFlags.NumberLiteral */)) { diagnostics.add(ts.createDiagnosticForNode(accessExpression, ts.Diagnostics.Property_0_does_not_exist_on_type_1, indexType.value, typeToString(objectType))); return undefinedType; } - else if (indexType.flags & (8 /* Number */ | 4 /* String */)) { + else if (indexType.flags & (8 /* TypeFlags.Number */ | 4 /* TypeFlags.String */)) { var types = ts.map(objectType.properties, function (property) { return getTypeOfSymbol(property); }); return getUnionType(ts.append(types, undefinedType)); } } - if (objectType.symbol === globalThisSymbol && propName !== undefined && globalThisSymbol.exports.has(propName) && (globalThisSymbol.exports.get(propName).flags & 418 /* BlockScoped */)) { + if (objectType.symbol === globalThisSymbol && propName !== undefined && globalThisSymbol.exports.has(propName) && (globalThisSymbol.exports.get(propName).flags & 418 /* SymbolFlags.BlockScoped */)) { error(accessExpression, ts.Diagnostics.Property_0_does_not_exist_on_type_1, ts.unescapeLeadingUnderscores(propName), typeToString(objectType)); } - else if (noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors && !(accessFlags & 128 /* SuppressNoImplicitAnyError */)) { + else if (noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors && !(accessFlags & 128 /* AccessFlags.SuppressNoImplicitAnyError */)) { if (propName !== undefined && typeHasStaticProperty(propName, objectType)) { var typeName = typeToString(objectType); error(accessExpression, ts.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, propName, typeName, typeName + "[" + ts.getTextOfNode(accessExpression.argumentExpression) + "]"); @@ -61888,20 +62145,20 @@ var ts; } else { var errorInfo = void 0; - if (indexType.flags & 1024 /* EnumLiteral */) { + if (indexType.flags & 1024 /* TypeFlags.EnumLiteral */) { errorInfo = ts.chainDiagnosticMessages(/* details */ undefined, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "[" + typeToString(indexType) + "]", typeToString(objectType)); } - else if (indexType.flags & 8192 /* UniqueESSymbol */) { + else if (indexType.flags & 8192 /* TypeFlags.UniqueESSymbol */) { var symbolName_2 = getFullyQualifiedName(indexType.symbol, accessExpression); errorInfo = ts.chainDiagnosticMessages(/* details */ undefined, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "[" + symbolName_2 + "]", typeToString(objectType)); } - else if (indexType.flags & 128 /* StringLiteral */) { + else if (indexType.flags & 128 /* TypeFlags.StringLiteral */) { errorInfo = ts.chainDiagnosticMessages(/* details */ undefined, ts.Diagnostics.Property_0_does_not_exist_on_type_1, indexType.value, typeToString(objectType)); } - else if (indexType.flags & 256 /* NumberLiteral */) { + else if (indexType.flags & 256 /* TypeFlags.NumberLiteral */) { errorInfo = ts.chainDiagnosticMessages(/* details */ undefined, ts.Diagnostics.Property_0_does_not_exist_on_type_1, indexType.value, typeToString(objectType)); } - else if (indexType.flags & (8 /* Number */ | 4 /* String */)) { + else if (indexType.flags & (8 /* TypeFlags.Number */ | 4 /* TypeFlags.String */)) { errorInfo = ts.chainDiagnosticMessages(/* details */ undefined, ts.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1, typeToString(indexType), typeToString(objectType)); } errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1, typeToString(fullIndexType), typeToString(objectType)); @@ -61918,10 +62175,10 @@ var ts; } if (accessNode) { var indexNode = getIndexNodeForAccessExpression(accessNode); - if (indexType.flags & (128 /* StringLiteral */ | 256 /* NumberLiteral */)) { + if (indexType.flags & (128 /* TypeFlags.StringLiteral */ | 256 /* TypeFlags.NumberLiteral */)) { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, "" + indexType.value, typeToString(objectType)); } - else if (indexType.flags & (4 /* String */ | 8 /* Number */)) { + else if (indexType.flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */)) { error(indexNode, ts.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { @@ -61939,62 +62196,62 @@ var ts; } } function getIndexNodeForAccessExpression(accessNode) { - return accessNode.kind === 207 /* ElementAccessExpression */ ? accessNode.argumentExpression : - accessNode.kind === 194 /* IndexedAccessType */ ? accessNode.indexType : - accessNode.kind === 162 /* ComputedPropertyName */ ? accessNode.expression : + return accessNode.kind === 207 /* SyntaxKind.ElementAccessExpression */ ? accessNode.argumentExpression : + accessNode.kind === 194 /* SyntaxKind.IndexedAccessType */ ? accessNode.indexType : + accessNode.kind === 162 /* SyntaxKind.ComputedPropertyName */ ? accessNode.expression : accessNode; } function isPatternLiteralPlaceholderType(type) { - return !!(type.flags & (1 /* Any */ | 4 /* String */ | 8 /* Number */ | 64 /* BigInt */)); + return !!(type.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)); } function isPatternLiteralType(type) { - return !!(type.flags & 134217728 /* TemplateLiteral */) && ts.every(type.types, isPatternLiteralPlaceholderType); + return !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */) && ts.every(type.types, isPatternLiteralPlaceholderType); } function isGenericType(type) { return !!getGenericObjectFlags(type); } function isGenericObjectType(type) { - return !!(getGenericObjectFlags(type) & 4194304 /* IsGenericObjectType */); + return !!(getGenericObjectFlags(type) & 4194304 /* ObjectFlags.IsGenericObjectType */); } function isGenericIndexType(type) { - return !!(getGenericObjectFlags(type) & 8388608 /* IsGenericIndexType */); + return !!(getGenericObjectFlags(type) & 8388608 /* ObjectFlags.IsGenericIndexType */); } function getGenericObjectFlags(type) { - if (type.flags & 3145728 /* UnionOrIntersection */) { - if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) { - type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | + if (type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { + if (!(type.objectFlags & 2097152 /* ObjectFlags.IsGenericTypeComputed */)) { + type.objectFlags |= 2097152 /* ObjectFlags.IsGenericTypeComputed */ | ts.reduceLeft(type.types, function (flags, t) { return flags | getGenericObjectFlags(t); }, 0); } - return type.objectFlags & 12582912 /* IsGenericType */; + return type.objectFlags & 12582912 /* ObjectFlags.IsGenericType */; } - if (type.flags & 33554432 /* Substitution */) { - if (!(type.objectFlags & 2097152 /* IsGenericTypeComputed */)) { - type.objectFlags |= 2097152 /* IsGenericTypeComputed */ | + if (type.flags & 33554432 /* TypeFlags.Substitution */) { + if (!(type.objectFlags & 2097152 /* ObjectFlags.IsGenericTypeComputed */)) { + type.objectFlags |= 2097152 /* ObjectFlags.IsGenericTypeComputed */ | getGenericObjectFlags(type.substitute) | getGenericObjectFlags(type.baseType); } - return type.objectFlags & 12582912 /* IsGenericType */; + return type.objectFlags & 12582912 /* ObjectFlags.IsGenericType */; } - return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* IsGenericObjectType */ : 0) | - (type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* IsGenericIndexType */ : 0); + return (type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 4194304 /* ObjectFlags.IsGenericObjectType */ : 0) | + (type.flags & (58982400 /* TypeFlags.InstantiableNonPrimitive */ | 4194304 /* TypeFlags.Index */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) && !isPatternLiteralType(type) ? 8388608 /* ObjectFlags.IsGenericIndexType */ : 0); } function getSimplifiedType(type, writing) { - return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : - type.flags & 16777216 /* Conditional */ ? getSimplifiedConditionalType(type, writing) : + return type.flags & 8388608 /* TypeFlags.IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) : + type.flags & 16777216 /* TypeFlags.Conditional */ ? getSimplifiedConditionalType(type, writing) : type; } function distributeIndexOverObjectType(objectType, indexType, writing) { // (T | U)[K] -> T[K] | U[K] (reading) // (T | U)[K] -> T[K] & U[K] (writing) // (T & U)[K] -> T[K] & U[K] - if (objectType.flags & 3145728 /* UnionOrIntersection */) { + if (objectType.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { var types = ts.map(objectType.types, function (t) { return getSimplifiedType(getIndexedAccessType(t, indexType), writing); }); - return objectType.flags & 2097152 /* Intersection */ || writing ? getIntersectionType(types) : getUnionType(types); + return objectType.flags & 2097152 /* TypeFlags.Intersection */ || writing ? getIntersectionType(types) : getUnionType(types); } } function distributeObjectOverIndexType(objectType, indexType, writing) { // T[A | B] -> T[A] | T[B] (reading) // T[A | B] -> T[A] & T[B] (writing) - if (indexType.flags & 1048576 /* Union */) { + if (indexType.flags & 1048576 /* TypeFlags.Union */) { var types = ts.map(indexType.types, function (t) { return getSimplifiedType(getIndexedAccessType(objectType, t), writing); }); return writing ? getIntersectionType(types) : getUnionType(types); } @@ -62019,7 +62276,7 @@ var ts; return type[cache] = distributedOverIndex; } // Only do the inner distributions if the index can no longer be instantiated to cause index distribution again - if (!(indexType.flags & 465829888 /* Instantiable */)) { + if (!(indexType.flags & 465829888 /* TypeFlags.Instantiable */)) { // (T | U)[K] -> T[K] | U[K] (reading) // (T | U)[K] -> T[K] & U[K] (writing) // (T & U)[K] -> T[K] & U[K] @@ -62033,17 +62290,20 @@ var ts; // A generic tuple type indexed by a number exists only when the index type doesn't select a // fixed element. We simplify to either the combined type of all elements (when the index type // the actual number type) or to the combined type of all non-fixed elements. - if (isGenericTupleType(objectType) && indexType.flags & 296 /* NumberLike */) { - var elementType = getElementTypeOfSliceOfTupleType(objectType, indexType.flags & 8 /* Number */ ? 0 : objectType.target.fixedLength, /*endSkipCount*/ 0, writing); + if (isGenericTupleType(objectType) && indexType.flags & 296 /* TypeFlags.NumberLike */) { + var elementType = getElementTypeOfSliceOfTupleType(objectType, indexType.flags & 8 /* TypeFlags.Number */ ? 0 : objectType.target.fixedLength, /*endSkipCount*/ 0, writing); if (elementType) { return type[cache] = elementType; } } - // If the object type is a mapped type { [P in K]: E }, where K is generic, instantiate E using a mapper - // that substitutes the index type for P. For example, for an index access { [P in K]: Box }[X], we - // construct the type Box. - if (isGenericMappedType(objectType) && !objectType.declaration.nameType) { - return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); }); + // If the object type is a mapped type { [P in K]: E }, where K is generic, or { [P in K as N]: E }, where + // K is generic and N is assignable to P, instantiate E using a mapper that substitutes the index type for P. + // For example, for an index access { [P in K]: Box }[X], we construct the type Box. + if (isGenericMappedType(objectType)) { + var nameType = getNameTypeFromMappedType(objectType); + if (!nameType || isTypeAssignableTo(nameType, getTypeParameterFromMappedType(objectType))) { + return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), function (t) { return getSimplifiedType(t, writing); }); + } } return type[cache] = type; } @@ -62053,19 +62313,19 @@ var ts; var trueType = getTrueTypeFromConditionalType(type); var falseType = getFalseTypeFromConditionalType(type); // Simplifications for types of the form `T extends U ? T : never` and `T extends U ? never : T`. - if (falseType.flags & 131072 /* Never */ && getActualTypeVariable(trueType) === getActualTypeVariable(checkType)) { - if (checkType.flags & 1 /* Any */ || isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true + if (falseType.flags & 131072 /* TypeFlags.Never */ && getActualTypeVariable(trueType) === getActualTypeVariable(checkType)) { + if (checkType.flags & 1 /* TypeFlags.Any */ || isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true return getSimplifiedType(trueType, writing); } else if (isIntersectionEmpty(checkType, extendsType)) { // Always false return neverType; } } - else if (trueType.flags & 131072 /* Never */ && getActualTypeVariable(falseType) === getActualTypeVariable(checkType)) { - if (!(checkType.flags & 1 /* Any */) && isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true + else if (trueType.flags & 131072 /* TypeFlags.Never */ && getActualTypeVariable(falseType) === getActualTypeVariable(checkType)) { + if (!(checkType.flags & 1 /* TypeFlags.Any */) && isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true return neverType; } - else if (checkType.flags & 1 /* Any */ || isIntersectionEmpty(checkType, extendsType)) { // Always false + else if (checkType.flags & 1 /* TypeFlags.Any */ || isIntersectionEmpty(checkType, extendsType)) { // Always false return getSimplifiedType(falseType, writing); } } @@ -62075,7 +62335,7 @@ var ts; * Invokes union simplification logic to determine if an intersection is considered empty as a union constituent */ function isIntersectionEmpty(type1, type2) { - return !!(getUnionType([intersectTypes(type1, type2), neverType]).flags & 131072 /* Never */); + return !!(getUnionType([intersectTypes(type1, type2), neverType]).flags & 131072 /* TypeFlags.Never */); } function substituteIndexedMappedType(objectType, index) { var mapper = createTypeMapper([getTypeParameterFromMappedType(objectType)], [index]); @@ -62083,12 +62343,12 @@ var ts; return instantiateType(getTemplateTypeFromMappedType(objectType), templateMapper); } function getIndexedAccessType(objectType, indexType, accessFlags, accessNode, aliasSymbol, aliasTypeArguments) { - if (accessFlags === void 0) { accessFlags = 0 /* None */; } + if (accessFlags === void 0) { accessFlags = 0 /* AccessFlags.None */; } return getIndexedAccessTypeOrUndefined(objectType, indexType, accessFlags, accessNode, aliasSymbol, aliasTypeArguments) || (accessNode ? errorType : unknownType); } function indexTypeLessThan(indexType, limit) { return everyType(indexType, function (t) { - if (t.flags & 384 /* StringOrNumberLiteral */) { + if (t.flags & 384 /* TypeFlags.StringOrNumberLiteral */) { var propName = getPropertyNameFromType(t); if (ts.isNumericLiteralName(propName)) { var index = +propName; @@ -62099,33 +62359,33 @@ var ts; }); } function getIndexedAccessTypeOrUndefined(objectType, indexType, accessFlags, accessNode, aliasSymbol, aliasTypeArguments) { - if (accessFlags === void 0) { accessFlags = 0 /* None */; } + if (accessFlags === void 0) { accessFlags = 0 /* AccessFlags.None */; } if (objectType === wildcardType || indexType === wildcardType) { return wildcardType; } // If the object type has a string index signature and no other members we know that the result will // always be the type of that index signature and we can simplify accordingly. - if (isStringIndexSignatureOnlyType(objectType) && !(indexType.flags & 98304 /* Nullable */) && isTypeAssignableToKind(indexType, 4 /* String */ | 8 /* Number */)) { + if (isStringIndexSignatureOnlyType(objectType) && !(indexType.flags & 98304 /* TypeFlags.Nullable */) && isTypeAssignableToKind(indexType, 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */)) { indexType = stringType; } // In noUncheckedIndexedAccess mode, indexed access operations that occur in an expression in a read position and resolve to // an index signature have 'undefined' included in their type. - if (compilerOptions.noUncheckedIndexedAccess && accessFlags & 32 /* ExpressionPosition */) - accessFlags |= 1 /* IncludeUndefined */; + if (compilerOptions.noUncheckedIndexedAccess && accessFlags & 32 /* AccessFlags.ExpressionPosition */) + accessFlags |= 1 /* AccessFlags.IncludeUndefined */; // If the index type is generic, or if the object type is generic and doesn't originate in an expression and // the operation isn't exclusively indexing the fixed (non-variadic) portion of a tuple type, we are performing // a higher-order index access where we cannot meaningfully access the properties of the object type. Note that // for a generic T and a non-generic K, we eagerly resolve T[K] if it originates in an expression. This is to // preserve backwards compatibility. For example, an element access 'this["foo"]' has always been resolved // eagerly using the constraint type of 'this' at the given location. - if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 194 /* IndexedAccessType */ ? + if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 194 /* SyntaxKind.IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, objectType.target.fixedLength) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, objectType.target.fixedLength)))) { - if (objectType.flags & 3 /* AnyOrUnknown */) { + if (objectType.flags & 3 /* TypeFlags.AnyOrUnknown */) { return objectType; } // Defer the operation by creating an indexed access type. - var persistentAccessFlags = accessFlags & 1 /* Persistent */; + var persistentAccessFlags = accessFlags & 1 /* AccessFlags.Persistent */; var id = objectType.id + "," + indexType.id + "," + persistentAccessFlags + getAliasId(aliasSymbol, aliasTypeArguments); var type = indexedAccessTypes.get(id); if (!type) { @@ -62137,12 +62397,12 @@ var ts; // We treat boolean as different from other unions to improve errors; // skipping straight to getPropertyTypeForIndexType gives errors with 'boolean' instead of 'true'. var apparentObjectType = getReducedApparentType(objectType); - if (indexType.flags & 1048576 /* Union */ && !(indexType.flags & 16 /* Boolean */)) { + if (indexType.flags & 1048576 /* TypeFlags.Union */ && !(indexType.flags & 16 /* TypeFlags.Boolean */)) { var propTypes = []; var wasMissingProp = false; for (var _i = 0, _a = indexType.types; _i < _a.length; _i++) { var t = _a[_i]; - var propType = getPropertyTypeForIndexType(objectType, apparentObjectType, t, indexType, accessNode, accessFlags | (wasMissingProp ? 128 /* SuppressNoImplicitAnyError */ : 0)); + var propType = getPropertyTypeForIndexType(objectType, apparentObjectType, t, indexType, accessNode, accessFlags | (wasMissingProp ? 128 /* AccessFlags.SuppressNoImplicitAnyError */ : 0)); if (propType) { propTypes.push(propType); } @@ -62158,11 +62418,11 @@ var ts; if (wasMissingProp) { return undefined; } - return accessFlags & 4 /* Writing */ + return accessFlags & 4 /* AccessFlags.Writing */ ? getIntersectionType(propTypes, aliasSymbol, aliasTypeArguments) - : getUnionType(propTypes, 1 /* Literal */, aliasSymbol, aliasTypeArguments); + : getUnionType(propTypes, 1 /* UnionReduction.Literal */, aliasSymbol, aliasTypeArguments); } - return getPropertyTypeForIndexType(objectType, apparentObjectType, indexType, indexType, accessNode, accessFlags | 8 /* CacheSymbol */ | 64 /* ReportDeprecated */); + return getPropertyTypeForIndexType(objectType, apparentObjectType, indexType, indexType, accessNode, accessFlags | 8 /* AccessFlags.CacheSymbol */ | 64 /* AccessFlags.ReportDeprecated */); } function getTypeFromIndexedAccessTypeNode(node) { var links = getNodeLinks(node); @@ -62170,8 +62430,8 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var potentialAlias = getAliasSymbolForTypeNode(node); - var resolved = getIndexedAccessType(objectType, indexType, 0 /* None */, node, potentialAlias, getTypeArgumentsForAliasSymbol(potentialAlias)); - links.resolvedType = resolved.flags & 8388608 /* IndexedAccess */ && + var resolved = getIndexedAccessType(objectType, indexType, 0 /* AccessFlags.None */, node, potentialAlias, getTypeArgumentsForAliasSymbol(potentialAlias)); + links.resolvedType = resolved.flags & 8388608 /* TypeFlags.IndexedAccess */ && resolved.objectType === objectType && resolved.indexType === indexType ? getConditionalFlowTypeOfType(resolved, node) : resolved; @@ -62181,7 +62441,7 @@ var ts; function getTypeFromMappedTypeNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { - var type = createObjectType(32 /* Mapped */, node.symbol); + var type = createObjectType(32 /* ObjectFlags.Mapped */, node.symbol); type.declaration = node; type.aliasSymbol = getAliasSymbolForTypeNode(node); type.aliasTypeArguments = getTypeArgumentsForAliasSymbol(type.aliasSymbol); @@ -62193,11 +62453,11 @@ var ts; return links.resolvedType; } function getActualTypeVariable(type) { - if (type.flags & 33554432 /* Substitution */) { + if (type.flags & 33554432 /* TypeFlags.Substitution */) { return type.baseType; } - if (type.flags & 8388608 /* IndexedAccess */ && (type.objectType.flags & 33554432 /* Substitution */ || - type.indexType.flags & 33554432 /* Substitution */)) { + if (type.flags & 8388608 /* TypeFlags.IndexedAccess */ && (type.objectType.flags & 33554432 /* TypeFlags.Substitution */ || + type.indexType.flags & 33554432 /* TypeFlags.Substitution */)) { return getIndexedAccessType(getActualTypeVariable(type.objectType), getActualTypeVariable(type.indexType)); } return type; @@ -62262,7 +62522,7 @@ var ts; // * The mapper that maps the clone to its inference result (`context.mapper`) var freshParams = ts.sameMap(root.inferTypeParameters, maybeCloneTypeParameter); var freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : undefined; - var context = createInferenceContext(freshParams, /*signature*/ undefined, 0 /* None */); + var context = createInferenceContext(freshParams, /*signature*/ undefined, 0 /* InferenceFlags.None */); if (freshMapper) { var freshCombinedMapper = combineTypeMappers(mapper, freshMapper); for (var _i = 0, freshParams_1 = freshParams; _i < freshParams_1.length; _i++) { @@ -62280,7 +62540,7 @@ var ts; // We don't want inferences from constraints as they may cause us to eagerly resolve the // conditional type instead of deferring resolution. Also, we always want strict function // types rules (i.e. proper contravariance) for inferences. - inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */); + inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* InferencePriority.NoConstraints */ | 1024 /* InferencePriority.AlwaysStrict */); } var innerMapper = combineTypeMappers(freshMapper, context.mapper); // It's possible for 'infer T' type paramteters to be given uninstantiated constraints when the @@ -62296,15 +62556,15 @@ var ts; // types with type parameters mapped to the wildcard type, the most permissive instantiations // possible (the wildcard type is assignable to and from all types). If those are not related, // then no instantiations will be and we can just return the false branch type. - if (!(inferredExtendsType.flags & 3 /* AnyOrUnknown */) && ((checkType.flags & 1 /* Any */ && !isUnwrapped) || !isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType)))) { + if (!(inferredExtendsType.flags & 3 /* TypeFlags.AnyOrUnknown */) && ((checkType.flags & 1 /* TypeFlags.Any */ && !isUnwrapped) || !isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType)))) { // Return union of trueType and falseType for 'any' since it matches anything - if (checkType.flags & 1 /* Any */ && !isUnwrapped) { + if (checkType.flags & 1 /* TypeFlags.Any */ && !isUnwrapped) { (extraTypes || (extraTypes = [])).push(instantiateType(getTypeFromTypeNode(root.node.trueType), combinedMapper || mapper)); } // If falseType is an immediately nested conditional type that isn't distributive or has an // identical checkType, switch to that type and loop. var falseType_1 = getTypeFromTypeNode(root.node.falseType); - if (falseType_1.flags & 16777216 /* Conditional */) { + if (falseType_1.flags & 16777216 /* TypeFlags.Conditional */) { var newRoot = falseType_1.root; if (newRoot.node.parent === root.node && (!newRoot.isDistributive || newRoot.checkType === root.checkType)) { root = newRoot; @@ -62322,7 +62582,7 @@ var ts; // that has no constraint. This ensures that, for example, the type // type Foo = T extends { x: string } ? string : number // doesn't immediately resolve to 'string' instead of being deferred. - if (inferredExtendsType.flags & 3 /* AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(inferredExtendsType))) { + if (inferredExtendsType.flags & 3 /* TypeFlags.AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(inferredExtendsType))) { var trueType_1 = getTypeFromTypeNode(root.node.trueType); var trueMapper = combinedMapper || mapper; if (canTailRecurse(trueType_1, trueMapper)) { @@ -62333,7 +62593,7 @@ var ts; } } // Return a deferred type for a check that is neither definitely true nor definitely false - result = createType(16777216 /* Conditional */); + result = createType(16777216 /* TypeFlags.Conditional */); result.root = root; result.checkType = instantiateType(root.checkType, mapper); result.extendsType = instantiateType(root.extendsType, mapper); @@ -62361,14 +62621,14 @@ var ts; // type. Note that recursion is possible only through aliased conditional types, so we only increment the tail // recursion counter for those. function canTailRecurse(newType, newMapper) { - if (newType.flags & 16777216 /* Conditional */ && newMapper) { + if (newType.flags & 16777216 /* TypeFlags.Conditional */ && newMapper) { var newRoot = newType.root; if (newRoot.outerTypeParameters) { var typeParamMapper_1 = combineTypeMappers(newType.mapper, newMapper); var typeArguments = ts.map(newRoot.outerTypeParameters, function (t) { return getMappedType(t, typeParamMapper_1); }); var newRootMapper = createTypeMapper(newRoot.outerTypeParameters, typeArguments); var newCheckType = newRoot.isDistributive ? getMappedType(newRoot.checkType, newRootMapper) : undefined; - if (!newCheckType || newCheckType === newRoot.checkType || !(newCheckType.flags & (1048576 /* Union */ | 131072 /* Never */))) { + if (!newCheckType || newCheckType === newRoot.checkType || !(newCheckType.flags & (1048576 /* TypeFlags.Union */ | 131072 /* TypeFlags.Never */))) { root = newRoot; mapper = newRootMapper; aliasSymbol = undefined; @@ -62396,7 +62656,7 @@ var ts; var result; if (node.locals) { node.locals.forEach(function (symbol) { - if (symbol.flags & 262144 /* TypeParameter */) { + if (symbol.flags & 262144 /* SymbolFlags.TypeParameter */) { result = ts.append(result, getDeclaredTypeOfSymbol(symbol)); } }); @@ -62419,7 +62679,7 @@ var ts; node: node, checkType: checkType, extendsType: getTypeFromTypeNode(node.extendsType), - isDistributive: !!(checkType.flags & 262144 /* TypeParameter */), + isDistributive: !!(checkType.flags & 262144 /* TypeFlags.TypeParameter */), inferTypeParameters: getInferTypeParameters(node), outerTypeParameters: outerTypeParameters, instantiations: undefined, @@ -62462,7 +62722,7 @@ var ts; links.resolvedSymbol = unknownSymbol; return links.resolvedType = errorType; } - var targetMeaning = node.isTypeOf ? 111551 /* Value */ : node.flags & 8388608 /* JSDoc */ ? 111551 /* Value */ | 788968 /* Type */ : 788968 /* Type */; + var targetMeaning = node.isTypeOf ? 111551 /* SymbolFlags.Value */ : node.flags & 8388608 /* NodeFlags.JSDoc */ ? 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ : 788968 /* SymbolFlags.Type */; // TODO: Future work: support unions/generics/whatever via a deferred import-type var innerModuleSymbol = resolveExternalModuleName(node, node.argument.literal); if (!innerModuleSymbol) { @@ -62475,7 +62735,7 @@ var ts; var currentNamespace = moduleSymbol; var current = void 0; while (current = nameStack.shift()) { - var meaning = nameStack.length ? 1920 /* Namespace */ : targetMeaning; + var meaning = nameStack.length ? 1920 /* SymbolFlags.Namespace */ : targetMeaning; // typeof a.b.c is normally resolved using `checkExpression` which in turn defers to `checkQualifiedName` // That, in turn, ultimately uses `getPropertyOfType` on the type of the symbol, which differs slightly from // the `exports` lookup process that only looks up namespace members which is used for most type references @@ -62498,7 +62758,7 @@ var ts; links.resolvedType = resolveImportSymbolType(node, links, moduleSymbol, targetMeaning); } else { - var errorMessage = targetMeaning === 111551 /* Value */ + var errorMessage = targetMeaning === 111551 /* SymbolFlags.Value */ ? ts.Diagnostics.Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here : ts.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0; error(node, errorMessage, node.argument.literal.text); @@ -62512,7 +62772,7 @@ var ts; function resolveImportSymbolType(node, links, symbol, meaning) { var resolvedSymbol = resolveSymbol(symbol); links.resolvedSymbol = resolvedSymbol; - if (meaning === 111551 /* Value */) { + if (meaning === 111551 /* SymbolFlags.Value */) { return getTypeOfSymbol(symbol); // intentionally doesn't use resolved symbol so type is cached as expected on the alias } else { @@ -62528,7 +62788,7 @@ var ts; links.resolvedType = emptyTypeLiteralType; } else { - var type = createObjectType(16 /* Anonymous */, node.symbol); + var type = createObjectType(16 /* ObjectFlags.Anonymous */, node.symbol); type.aliasSymbol = aliasSymbol; type.aliasTypeArguments = getTypeArgumentsForAliasSymbol(aliasSymbol); if (ts.isJSDocTypeLiteral(node) && node.isArrayType) { @@ -62541,7 +62801,7 @@ var ts; } function getAliasSymbolForTypeNode(node) { var host = node.parent; - while (ts.isParenthesizedTypeNode(host) || ts.isJSDocTypeExpression(host) || ts.isTypeOperatorNode(host) && host.operator === 145 /* ReadonlyKeyword */) { + while (ts.isParenthesizedTypeNode(host) || ts.isJSDocTypeExpression(host) || ts.isTypeOperatorNode(host) && host.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { host = host.parent; } return ts.isTypeAlias(host) ? getSymbolOfNode(host) : undefined; @@ -62550,13 +62810,13 @@ var ts; return symbol ? getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol) : undefined; } function isNonGenericObjectType(type) { - return !!(type.flags & 524288 /* Object */) && !isGenericMappedType(type); + return !!(type.flags & 524288 /* TypeFlags.Object */) && !isGenericMappedType(type); } function isEmptyObjectTypeOrSpreadsIntoEmptyObject(type) { - return isEmptyObjectType(type) || !!(type.flags & (65536 /* Null */ | 32768 /* Undefined */ | 528 /* BooleanLike */ | 296 /* NumberLike */ | 2112 /* BigIntLike */ | 402653316 /* StringLike */ | 1056 /* EnumLike */ | 67108864 /* NonPrimitive */ | 4194304 /* Index */)); + return isEmptyObjectType(type) || !!(type.flags & (65536 /* TypeFlags.Null */ | 32768 /* TypeFlags.Undefined */ | 528 /* TypeFlags.BooleanLike */ | 296 /* TypeFlags.NumberLike */ | 2112 /* TypeFlags.BigIntLike */ | 402653316 /* TypeFlags.StringLike */ | 1056 /* TypeFlags.EnumLike */ | 67108864 /* TypeFlags.NonPrimitive */ | 4194304 /* TypeFlags.Index */)); } function tryMergeUnionOfObjectTypeAndEmptyObject(type, readonly) { - if (!(type.flags & 1048576 /* Union */)) { + if (!(type.flags & 1048576 /* TypeFlags.Union */)) { return type; } if (ts.every(type.types, isEmptyObjectTypeOrSpreadsIntoEmptyObject)) { @@ -62576,13 +62836,13 @@ var ts; var members = ts.createSymbolTable(); for (var _i = 0, _a = getPropertiesOfType(type); _i < _a.length; _i++) { var prop = _a[_i]; - if (ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* Private */ | 16 /* Protected */)) { + if (ts.getDeclarationModifierFlagsFromSymbol(prop) & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) { // do nothing, skip privates } else if (isSpreadableProperty(prop)) { - var isSetonlyAccessor = prop.flags & 65536 /* SetAccessor */ && !(prop.flags & 32768 /* GetAccessor */); - var flags = 4 /* Property */ | 16777216 /* Optional */; - var result = createSymbol(flags, prop.escapedName, getIsLateCheckFlag(prop) | (readonly ? 8 /* Readonly */ : 0)); + var isSetonlyAccessor = prop.flags & 65536 /* SymbolFlags.SetAccessor */ && !(prop.flags & 32768 /* SymbolFlags.GetAccessor */); + var flags = 4 /* SymbolFlags.Property */ | 16777216 /* SymbolFlags.Optional */; + var result = createSymbol(flags, prop.escapedName, getIsLateCheckFlag(prop) | (readonly ? 8 /* CheckFlags.Readonly */ : 0)); result.type = isSetonlyAccessor ? undefinedType : addOptionality(getTypeOfSymbol(prop), /*isProperty*/ true); result.declarations = prop.declarations; result.nameType = getSymbolLinks(prop).nameType; @@ -62591,7 +62851,7 @@ var ts; } } var spread = createAnonymousType(type.symbol, members, ts.emptyArray, ts.emptyArray, getIndexInfosOfType(type)); - spread.objectFlags |= 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; + spread.objectFlags |= 128 /* ObjectFlags.ObjectLiteral */ | 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; return spread; } } @@ -62601,31 +62861,31 @@ var ts; * and right = the new element to be spread. */ function getSpreadType(left, right, symbol, objectFlags, readonly) { - if (left.flags & 1 /* Any */ || right.flags & 1 /* Any */) { + if (left.flags & 1 /* TypeFlags.Any */ || right.flags & 1 /* TypeFlags.Any */) { return anyType; } - if (left.flags & 2 /* Unknown */ || right.flags & 2 /* Unknown */) { + if (left.flags & 2 /* TypeFlags.Unknown */ || right.flags & 2 /* TypeFlags.Unknown */) { return unknownType; } - if (left.flags & 131072 /* Never */) { + if (left.flags & 131072 /* TypeFlags.Never */) { return right; } - if (right.flags & 131072 /* Never */) { + if (right.flags & 131072 /* TypeFlags.Never */) { return left; } left = tryMergeUnionOfObjectTypeAndEmptyObject(left, readonly); - if (left.flags & 1048576 /* Union */) { + if (left.flags & 1048576 /* TypeFlags.Union */) { return checkCrossProductUnion([left, right]) ? mapType(left, function (t) { return getSpreadType(t, right, symbol, objectFlags, readonly); }) : errorType; } right = tryMergeUnionOfObjectTypeAndEmptyObject(right, readonly); - if (right.flags & 1048576 /* Union */) { + if (right.flags & 1048576 /* TypeFlags.Union */) { return checkCrossProductUnion([left, right]) ? mapType(right, function (t) { return getSpreadType(left, t, symbol, objectFlags, readonly); }) : errorType; } - if (right.flags & (528 /* BooleanLike */ | 296 /* NumberLike */ | 2112 /* BigIntLike */ | 402653316 /* StringLike */ | 1056 /* EnumLike */ | 67108864 /* NonPrimitive */ | 4194304 /* Index */)) { + if (right.flags & (528 /* TypeFlags.BooleanLike */ | 296 /* TypeFlags.NumberLike */ | 2112 /* TypeFlags.BigIntLike */ | 402653316 /* TypeFlags.StringLike */ | 1056 /* TypeFlags.EnumLike */ | 67108864 /* TypeFlags.NonPrimitive */ | 4194304 /* TypeFlags.Index */)) { return left; } if (isGenericObjectType(left) || isGenericObjectType(right)) { @@ -62635,7 +62895,7 @@ var ts; // When the left type is an intersection, we may need to merge the last constituent of the // intersection with the right type. For example when the left type is 'T & { a: string }' // and the right type is '{ b: string }' we produce 'T & { a: string, b: string }'. - if (left.flags & 2097152 /* Intersection */) { + if (left.flags & 2097152 /* TypeFlags.Intersection */) { var types = left.types; var lastLeft = types[types.length - 1]; if (isNonGenericObjectType(lastLeft) && isNonGenericObjectType(right)) { @@ -62649,7 +62909,7 @@ var ts; var indexInfos = left === emptyObjectType ? getIndexInfosOfType(right) : getUnionIndexInfos([left, right]); for (var _i = 0, _a = getPropertiesOfType(right); _i < _a.length; _i++) { var rightProp = _a[_i]; - if (ts.getDeclarationModifierFlagsFromSymbol(rightProp) & (8 /* Private */ | 16 /* Protected */)) { + if (ts.getDeclarationModifierFlagsFromSymbol(rightProp) & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) { skippedPrivateMembers.add(rightProp.escapedName); } else if (isSpreadableProperty(rightProp)) { @@ -62664,11 +62924,11 @@ var ts; if (members.has(leftProp.escapedName)) { var rightProp = members.get(leftProp.escapedName); var rightType = getTypeOfSymbol(rightProp); - if (rightProp.flags & 16777216 /* Optional */) { + if (rightProp.flags & 16777216 /* SymbolFlags.Optional */) { var declarations = ts.concatenate(leftProp.declarations, rightProp.declarations); - var flags = 4 /* Property */ | (leftProp.flags & 16777216 /* Optional */); + var flags = 4 /* SymbolFlags.Property */ | (leftProp.flags & 16777216 /* SymbolFlags.Optional */); var result = createSymbol(flags, leftProp.escapedName); - result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* Subtype */); + result.type = getUnionType([getTypeOfSymbol(leftProp), removeMissingOrUndefinedType(rightType)], 2 /* UnionReduction.Subtype */); result.leftSpread = leftProp; result.rightSpread = rightProp; result.declarations = declarations; @@ -62681,23 +62941,23 @@ var ts; } } var spread = createAnonymousType(symbol, members, ts.emptyArray, ts.emptyArray, ts.sameMap(indexInfos, function (info) { return getIndexInfoWithReadonly(info, readonly); })); - spread.objectFlags |= 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */ | 2097152 /* ContainsSpread */ | objectFlags; + spread.objectFlags |= 128 /* ObjectFlags.ObjectLiteral */ | 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */ | 2097152 /* ObjectFlags.ContainsSpread */ | objectFlags; return spread; } /** We approximate own properties as non-methods plus methods that are inside the object literal */ function isSpreadableProperty(prop) { var _a; return !ts.some(prop.declarations, ts.isPrivateIdentifierClassElementDeclaration) && - (!(prop.flags & (8192 /* Method */ | 32768 /* GetAccessor */ | 65536 /* SetAccessor */)) || + (!(prop.flags & (8192 /* SymbolFlags.Method */ | 32768 /* SymbolFlags.GetAccessor */ | 65536 /* SymbolFlags.SetAccessor */)) || !((_a = prop.declarations) === null || _a === void 0 ? void 0 : _a.some(function (decl) { return ts.isClassLike(decl.parent); }))); } function getSpreadSymbol(prop, readonly) { - var isSetonlyAccessor = prop.flags & 65536 /* SetAccessor */ && !(prop.flags & 32768 /* GetAccessor */); + var isSetonlyAccessor = prop.flags & 65536 /* SymbolFlags.SetAccessor */ && !(prop.flags & 32768 /* SymbolFlags.GetAccessor */); if (!isSetonlyAccessor && readonly === isReadonlySymbol(prop)) { return prop; } - var flags = 4 /* Property */ | (prop.flags & 16777216 /* Optional */); - var result = createSymbol(flags, prop.escapedName, getIsLateCheckFlag(prop) | (readonly ? 8 /* Readonly */ : 0)); + var flags = 4 /* SymbolFlags.Property */ | (prop.flags & 16777216 /* SymbolFlags.Optional */); + var result = createSymbol(flags, prop.escapedName, getIsLateCheckFlag(prop) | (readonly ? 8 /* CheckFlags.Readonly */ : 0)); result.type = isSetonlyAccessor ? undefinedType : getTypeOfSymbol(prop); result.declarations = prop.declarations; result.nameType = getSymbolLinks(prop).nameType; @@ -62715,7 +62975,7 @@ var ts; return type; } function getFreshTypeOfLiteralType(type) { - if (type.flags & 2944 /* Literal */) { + if (type.flags & 2944 /* TypeFlags.Literal */) { if (!type.freshType) { var freshType = createLiteralType(type.flags, type.value, type.symbol, type); freshType.freshType = freshType; @@ -62726,39 +62986,39 @@ var ts; return type; } function getRegularTypeOfLiteralType(type) { - return type.flags & 2944 /* Literal */ ? type.regularType : - type.flags & 1048576 /* Union */ ? (type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType))) : + return type.flags & 2944 /* TypeFlags.Literal */ ? type.regularType : + type.flags & 1048576 /* TypeFlags.Union */ ? (type.regularType || (type.regularType = mapType(type, getRegularTypeOfLiteralType))) : type; } function isFreshLiteralType(type) { - return !!(type.flags & 2944 /* Literal */) && type.freshType === type; + return !!(type.flags & 2944 /* TypeFlags.Literal */) && type.freshType === type; } function getStringLiteralType(value) { var type; return stringLiteralTypes.get(value) || - (stringLiteralTypes.set(value, type = createLiteralType(128 /* StringLiteral */, value)), type); + (stringLiteralTypes.set(value, type = createLiteralType(128 /* TypeFlags.StringLiteral */, value)), type); } function getNumberLiteralType(value) { var type; return numberLiteralTypes.get(value) || - (numberLiteralTypes.set(value, type = createLiteralType(256 /* NumberLiteral */, value)), type); + (numberLiteralTypes.set(value, type = createLiteralType(256 /* TypeFlags.NumberLiteral */, value)), type); } function getBigIntLiteralType(value) { var type; var key = ts.pseudoBigIntToString(value); return bigIntLiteralTypes.get(key) || - (bigIntLiteralTypes.set(key, type = createLiteralType(2048 /* BigIntLiteral */, value)), type); + (bigIntLiteralTypes.set(key, type = createLiteralType(2048 /* TypeFlags.BigIntLiteral */, value)), type); } function getEnumLiteralType(value, enumId, symbol) { var type; var qualifier = typeof value === "string" ? "@" : "#"; var key = enumId + qualifier + value; - var flags = 1024 /* EnumLiteral */ | (typeof value === "string" ? 128 /* StringLiteral */ : 256 /* NumberLiteral */); + var flags = 1024 /* TypeFlags.EnumLiteral */ | (typeof value === "string" ? 128 /* TypeFlags.StringLiteral */ : 256 /* TypeFlags.NumberLiteral */); return enumLiteralTypes.get(key) || (enumLiteralTypes.set(key, type = createLiteralType(flags, value, symbol)), type); } function getTypeFromLiteralTypeNode(node) { - if (node.literal.kind === 104 /* NullKeyword */) { + if (node.literal.kind === 104 /* SyntaxKind.NullKeyword */) { return nullType; } var links = getNodeLinks(node); @@ -62768,9 +63028,9 @@ var ts; return links.resolvedType; } function createUniqueESSymbolType(symbol) { - var type = createType(8192 /* UniqueESSymbol */); + var type = createType(8192 /* TypeFlags.UniqueESSymbol */); type.symbol = symbol; - type.escapedName = "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol); + type.escapedName = "__@".concat(type.symbol.escapedName, "@").concat(getSymbolId(type.symbol)); return type; } function getESSymbolLikeTypeForNode(node) { @@ -62786,20 +63046,20 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 258 /* InterfaceDeclaration */)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */)) { if (!ts.isStatic(container) && (!ts.isConstructorDeclaration(container) || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; } } // inside x.prototype = { ... } - if (parent && ts.isObjectLiteralExpression(parent) && ts.isBinaryExpression(parent.parent) && ts.getAssignmentDeclarationKind(parent.parent) === 6 /* Prototype */) { + if (parent && ts.isObjectLiteralExpression(parent) && ts.isBinaryExpression(parent.parent) && ts.getAssignmentDeclarationKind(parent.parent) === 6 /* AssignmentDeclarationKind.Prototype */) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent.parent.left).parent).thisType; } // /** @return {this} */ // x.prototype.m = function() { ... } - var host = node.flags & 8388608 /* JSDoc */ ? ts.getHostSignatureFromJSDoc(node) : undefined; - if (host && ts.isFunctionExpression(host) && ts.isBinaryExpression(host.parent) && ts.getAssignmentDeclarationKind(host.parent) === 3 /* PrototypeProperty */) { + var host = node.flags & 8388608 /* NodeFlags.JSDoc */ ? ts.getHostSignatureFromJSDoc(node) : undefined; + if (host && ts.isFunctionExpression(host) && ts.isBinaryExpression(host.parent) && ts.getAssignmentDeclarationKind(host.parent) === 3 /* AssignmentDeclarationKind.PrototypeProperty */) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(host.parent.left).parent).thisType; } // inside constructor function C() { ... } @@ -62821,17 +63081,17 @@ var ts; } function getArrayElementTypeNode(node) { switch (node.kind) { - case 191 /* ParenthesizedType */: + case 191 /* SyntaxKind.ParenthesizedType */: return getArrayElementTypeNode(node.type); - case 184 /* TupleType */: + case 184 /* SyntaxKind.TupleType */: if (node.elements.length === 1) { node = node.elements[0]; - if (node.kind === 186 /* RestType */ || node.kind === 197 /* NamedTupleMember */ && node.dotDotDotToken) { + if (node.kind === 186 /* SyntaxKind.RestType */ || node.kind === 197 /* SyntaxKind.NamedTupleMember */ && node.dotDotDotToken) { return getArrayElementTypeNode(node.type); } } break; - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: return node.elementType; } return undefined; @@ -62847,99 +63107,99 @@ var ts; } function getTypeFromTypeNodeWorker(node) { switch (node.kind) { - case 130 /* AnyKeyword */: - case 312 /* JSDocAllType */: - case 313 /* JSDocUnknownType */: + case 130 /* SyntaxKind.AnyKeyword */: + case 312 /* SyntaxKind.JSDocAllType */: + case 313 /* SyntaxKind.JSDocUnknownType */: return anyType; - case 155 /* UnknownKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: return unknownType; - case 150 /* StringKeyword */: + case 150 /* SyntaxKind.StringKeyword */: return stringType; - case 147 /* NumberKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: return numberType; - case 158 /* BigIntKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: return bigintType; - case 133 /* BooleanKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: return booleanType; - case 151 /* SymbolKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: return esSymbolType; - case 114 /* VoidKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: return voidType; - case 153 /* UndefinedKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: return undefinedType; - case 104 /* NullKeyword */: + case 104 /* SyntaxKind.NullKeyword */: // TODO(rbuckton): `NullKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service. return nullType; - case 143 /* NeverKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: return neverType; - case 148 /* ObjectKeyword */: - return node.flags & 262144 /* JavaScriptFile */ && !noImplicitAny ? anyType : nonPrimitiveType; - case 138 /* IntrinsicKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + return node.flags & 262144 /* NodeFlags.JavaScriptFile */ && !noImplicitAny ? anyType : nonPrimitiveType; + case 138 /* SyntaxKind.IntrinsicKeyword */: return intrinsicMarkerType; - case 192 /* ThisType */: - case 108 /* ThisKeyword */: + case 192 /* SyntaxKind.ThisType */: + case 108 /* SyntaxKind.ThisKeyword */: // TODO(rbuckton): `ThisKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service and because of `isPartOfTypeNode`. return getTypeFromThisTypeNode(node); - case 196 /* LiteralType */: + case 196 /* SyntaxKind.LiteralType */: return getTypeFromLiteralTypeNode(node); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return getTypeFromTypeReference(node); - case 177 /* TypePredicate */: + case 177 /* SyntaxKind.TypePredicate */: return node.assertsModifier ? voidType : booleanType; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return getTypeFromTypeReference(node); - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: return getTypeFromTypeQueryNode(node); - case 183 /* ArrayType */: - case 184 /* TupleType */: + case 183 /* SyntaxKind.ArrayType */: + case 184 /* SyntaxKind.TupleType */: return getTypeFromArrayOrTupleTypeNode(node); - case 185 /* OptionalType */: + case 185 /* SyntaxKind.OptionalType */: return getTypeFromOptionalTypeNode(node); - case 187 /* UnionType */: + case 187 /* SyntaxKind.UnionType */: return getTypeFromUnionTypeNode(node); - case 188 /* IntersectionType */: + case 188 /* SyntaxKind.IntersectionType */: return getTypeFromIntersectionTypeNode(node); - case 314 /* JSDocNullableType */: + case 314 /* SyntaxKind.JSDocNullableType */: return getTypeFromJSDocNullableTypeNode(node); - case 316 /* JSDocOptionalType */: + case 316 /* SyntaxKind.JSDocOptionalType */: return addOptionality(getTypeFromTypeNode(node.type)); - case 197 /* NamedTupleMember */: + case 197 /* SyntaxKind.NamedTupleMember */: return getTypeFromNamedTupleTypeNode(node); - case 191 /* ParenthesizedType */: - case 315 /* JSDocNonNullableType */: - case 309 /* JSDocTypeExpression */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 315 /* SyntaxKind.JSDocNonNullableType */: + case 309 /* SyntaxKind.JSDocTypeExpression */: return getTypeFromTypeNode(node.type); - case 186 /* RestType */: + case 186 /* SyntaxKind.RestType */: return getTypeFromRestTypeNode(node); - case 318 /* JSDocVariadicType */: + case 318 /* SyntaxKind.JSDocVariadicType */: return getTypeFromJSDocVariadicType(node); - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 182 /* TypeLiteral */: - case 322 /* JSDocTypeLiteral */: - case 317 /* JSDocFunctionType */: - case 323 /* JSDocSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 323 /* SyntaxKind.JSDocSignature */: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 193 /* TypeOperator */: + case 193 /* SyntaxKind.TypeOperator */: return getTypeFromTypeOperatorNode(node); - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: return getTypeFromIndexedAccessTypeNode(node); - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: return getTypeFromMappedTypeNode(node); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return getTypeFromConditionalTypeNode(node); - case 190 /* InferType */: + case 190 /* SyntaxKind.InferType */: return getTypeFromInferTypeNode(node); - case 198 /* TemplateLiteralType */: + case 198 /* SyntaxKind.TemplateLiteralType */: return getTypeFromTemplateTypeNode(node); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return getTypeFromImportTypeNode(node); // This function assumes that an identifier, qualified name, or property access expression is a type expression // Callers should first ensure this by calling `isPartOfTypeNode` // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s. - case 79 /* Identifier */: - case 161 /* QualifiedName */: - case 206 /* PropertyAccessExpression */: + case 79 /* SyntaxKind.Identifier */: + case 161 /* SyntaxKind.QualifiedName */: + case 206 /* SyntaxKind.PropertyAccessExpression */: var symbol = getSymbolAtLocation(node); return symbol ? getDeclaredTypeOfSymbol(symbol) : errorType; default: @@ -62977,9 +63237,9 @@ var ts; } function getMappedType(type, mapper) { switch (mapper.kind) { - case 0 /* Simple */: + case 0 /* TypeMapKind.Simple */: return type === mapper.source ? mapper.target : type; - case 1 /* Array */: + case 1 /* TypeMapKind.Array */: var sources = mapper.sources; var targets = mapper.targets; for (var i = 0; i < sources.length; i++) { @@ -62988,22 +63248,22 @@ var ts; } } return type; - case 2 /* Function */: + case 2 /* TypeMapKind.Function */: return mapper.func(type); - case 3 /* Composite */: - case 4 /* Merged */: + case 3 /* TypeMapKind.Composite */: + case 4 /* TypeMapKind.Merged */: var t1 = getMappedType(type, mapper.mapper1); - return t1 !== type && mapper.kind === 3 /* Composite */ ? instantiateType(t1, mapper.mapper2) : getMappedType(t1, mapper.mapper2); + return t1 !== type && mapper.kind === 3 /* TypeMapKind.Composite */ ? instantiateType(t1, mapper.mapper2) : getMappedType(t1, mapper.mapper2); } } function makeUnaryTypeMapper(source, target) { - return { kind: 0 /* Simple */, source: source, target: target }; + return { kind: 0 /* TypeMapKind.Simple */, source: source, target: target }; } function makeArrayTypeMapper(sources, targets) { - return { kind: 1 /* Array */, sources: sources, targets: targets }; + return { kind: 1 /* TypeMapKind.Array */, sources: sources, targets: targets }; } function makeFunctionTypeMapper(func) { - return { kind: 2 /* Function */, func: func }; + return { kind: 2 /* TypeMapKind.Function */, func: func }; } function makeCompositeTypeMapper(kind, mapper1, mapper2) { return { kind: kind, mapper1: mapper1, mapper2: mapper2 }; @@ -63019,16 +63279,16 @@ var ts; return makeFunctionTypeMapper(function (t) { return ts.findIndex(context.inferences, function (info) { return info.typeParameter === t; }) >= index ? unknownType : t; }); } function combineTypeMappers(mapper1, mapper2) { - return mapper1 ? makeCompositeTypeMapper(3 /* Composite */, mapper1, mapper2) : mapper2; + return mapper1 ? makeCompositeTypeMapper(3 /* TypeMapKind.Composite */, mapper1, mapper2) : mapper2; } function mergeTypeMappers(mapper1, mapper2) { - return mapper1 ? makeCompositeTypeMapper(4 /* Merged */, mapper1, mapper2) : mapper2; + return mapper1 ? makeCompositeTypeMapper(4 /* TypeMapKind.Merged */, mapper1, mapper2) : mapper2; } function prependTypeMapping(source, target, mapper) { - return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(4 /* Merged */, makeUnaryTypeMapper(source, target), mapper); + return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(4 /* TypeMapKind.Merged */, makeUnaryTypeMapper(source, target), mapper); } function appendTypeMapping(mapper, source, target) { - return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(4 /* Merged */, mapper, makeUnaryTypeMapper(source, target)); + return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(4 /* TypeMapKind.Merged */, mapper, makeUnaryTypeMapper(source, target)); } function getRestrictiveTypeParameter(tp) { return tp.constraint === unknownType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol), @@ -63061,7 +63321,7 @@ var ts; // See GH#17600. var result = createSignature(signature.declaration, freshTypeParameters, signature.thisParameter && instantiateSymbol(signature.thisParameter, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), /*resolvedReturnType*/ undefined, - /*resolvedTypePredicate*/ undefined, signature.minArgumentCount, signature.flags & 39 /* PropagatingFlags */); + /*resolvedTypePredicate*/ undefined, signature.minArgumentCount, signature.flags & 39 /* SignatureFlags.PropagatingFlags */); result.target = signature; result.mapper = mapper; return result; @@ -63073,7 +63333,7 @@ var ts; // be affected by instantiation, simply return the symbol itself. return symbol; } - if (ts.getCheckFlags(symbol) & 1 /* Instantiated */) { + if (ts.getCheckFlags(symbol) & 1 /* CheckFlags.Instantiated */) { // If symbol being instantiated is itself a instantiation, fetch the original target and combine the // type mappers. This ensures that original type identities are properly preserved and that aliases // always reference a non-aliases. @@ -63082,7 +63342,7 @@ var ts; } // Keep the flags from the symbol we're instantiating. Mark that is instantiated, and // also transient so that we can just store data on it directly. - var result = createSymbol(symbol.flags, symbol.escapedName, 1 /* Instantiated */ | ts.getCheckFlags(symbol) & (8 /* Readonly */ | 4096 /* Late */ | 16384 /* OptionalParameter */ | 32768 /* RestParameter */)); + var result = createSymbol(symbol.flags, symbol.escapedName, 1 /* CheckFlags.Instantiated */ | ts.getCheckFlags(symbol) & (8 /* CheckFlags.Readonly */ | 4096 /* CheckFlags.Late */ | 16384 /* CheckFlags.OptionalParameter */ | 32768 /* CheckFlags.RestParameter */)); result.declarations = symbol.declarations; result.parent = symbol.parent; result.target = symbol; @@ -63096,12 +63356,12 @@ var ts; return result; } function getObjectTypeInstantiation(type, mapper, aliasSymbol, aliasTypeArguments) { - var declaration = type.objectFlags & 4 /* Reference */ ? type.node : - type.objectFlags & 8388608 /* InstantiationExpressionType */ ? type.node : + var declaration = type.objectFlags & 4 /* ObjectFlags.Reference */ ? type.node : + type.objectFlags & 8388608 /* ObjectFlags.InstantiationExpressionType */ ? type.node : type.symbol.declarations[0]; var links = getNodeLinks(declaration); - var target = type.objectFlags & 4 /* Reference */ ? links.resolvedType : - type.objectFlags & 64 /* Instantiated */ ? type.target : type; + var target = type.objectFlags & 4 /* ObjectFlags.Reference */ ? links.resolvedType : + type.objectFlags & 64 /* ObjectFlags.Instantiated */ ? type.target : type; var typeParameters = links.outerTypeParameters; if (!typeParameters) { // The first time an anonymous type is instantiated we compute and store a list of the type @@ -63114,8 +63374,8 @@ var ts; outerTypeParameters = ts.addRange(outerTypeParameters, templateTagParameters); } typeParameters = outerTypeParameters || ts.emptyArray; - var allDeclarations_1 = type.objectFlags & (4 /* Reference */ | 8388608 /* InstantiationExpressionType */) ? [declaration] : type.symbol.declarations; - typeParameters = (target.objectFlags & (4 /* Reference */ | 8388608 /* InstantiationExpressionType */) || target.symbol.flags & 8192 /* Method */ || target.symbol.flags & 2048 /* TypeLiteral */) && !target.aliasTypeArguments ? + var allDeclarations_1 = type.objectFlags & (4 /* ObjectFlags.Reference */ | 8388608 /* ObjectFlags.InstantiationExpressionType */) ? [declaration] : type.symbol.declarations; + typeParameters = (target.objectFlags & (4 /* ObjectFlags.Reference */ | 8388608 /* ObjectFlags.InstantiationExpressionType */) || target.symbol.flags & 8192 /* SymbolFlags.Method */ || target.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */) && !target.aliasTypeArguments ? ts.filter(typeParameters, function (tp) { return ts.some(allDeclarations_1, function (d) { return isTypeParameterPossiblyReferenced(tp, d); }); }) : typeParameters; links.outerTypeParameters = typeParameters; @@ -63136,8 +63396,8 @@ var ts; var result = target.instantiations.get(id); if (!result) { var newMapper = createTypeMapper(typeParameters, typeArguments); - result = target.objectFlags & 4 /* Reference */ ? createDeferredTypeReference(type.target, type.node, newMapper, newAliasSymbol, newAliasTypeArguments) : - target.objectFlags & 32 /* Mapped */ ? instantiateMappedType(target, newMapper, newAliasSymbol, newAliasTypeArguments) : + result = target.objectFlags & 4 /* ObjectFlags.Reference */ ? createDeferredTypeReference(type.target, type.node, newMapper, newAliasSymbol, newAliasTypeArguments) : + target.objectFlags & 32 /* ObjectFlags.Mapped */ ? instantiateMappedType(target, newMapper, newAliasSymbol, newAliasTypeArguments) : instantiateAnonymousType(target, newMapper, newAliasSymbol, newAliasTypeArguments); target.instantiations.set(id, result); } @@ -63146,8 +63406,8 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.parent.kind === 178 /* TypeReference */ && node.parent.typeArguments && node === node.parent.typeName || - node.parent.kind === 200 /* ImportType */ && node.parent.typeArguments && node === node.parent.qualifier); + return !(node.parent.kind === 178 /* SyntaxKind.TypeReference */ && node.parent.typeArguments && node === node.parent.typeName || + node.parent.kind === 200 /* SyntaxKind.ImportType */ && node.parent.typeArguments && node === node.parent.qualifier); } function isTypeParameterPossiblyReferenced(tp, node) { // If the type parameter doesn't have exactly one declaration, if there are invening statement blocks @@ -63156,7 +63416,7 @@ var ts; if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container = tp.symbol.declarations[0].parent; for (var n = node; n !== container; n = n.parent) { - if (!n || n.kind === 235 /* Block */ || n.kind === 189 /* ConditionalType */ && ts.forEachChild(n.extendsType, containsReference)) { + if (!n || n.kind === 235 /* SyntaxKind.Block */ || n.kind === 189 /* SyntaxKind.ConditionalType */ && ts.forEachChild(n.extendsType, containsReference)) { return true; } } @@ -63165,15 +63425,15 @@ var ts; return true; function containsReference(node) { switch (node.kind) { - case 192 /* ThisType */: + case 192 /* SyntaxKind.ThisType */: return !!tp.isThisType; - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNodeWorker(node) === tp; // use worker because we're looking for === equality - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: return true; - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: return !node.type && !!node.body || ts.some(node.typeParameters, containsReference) || ts.some(node.parameters, containsReference) || @@ -63184,9 +63444,9 @@ var ts; } function getHomomorphicTypeVariable(type) { var constraintType = getConstraintTypeFromMappedType(type); - if (constraintType.flags & 4194304 /* Index */) { + if (constraintType.flags & 4194304 /* TypeFlags.Index */) { var typeVariable = getActualTypeVariable(constraintType.type); - if (typeVariable.flags & 262144 /* TypeParameter */) { + if (typeVariable.flags & 262144 /* TypeFlags.TypeParameter */) { return typeVariable; } } @@ -63208,11 +63468,11 @@ var ts; var mappedTypeVariable = instantiateType(typeVariable, mapper); if (typeVariable !== mappedTypeVariable) { return mapTypeWithAlias(getReducedType(mappedTypeVariable), function (t) { - if (t.flags & (3 /* AnyOrUnknown */ | 58982400 /* InstantiableNonPrimitive */ | 524288 /* Object */ | 2097152 /* Intersection */) && t !== wildcardType && !isErrorType(t)) { + if (t.flags & (3 /* TypeFlags.AnyOrUnknown */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */ | 524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && t !== wildcardType && !isErrorType(t)) { if (!type.declaration.nameType) { var constraint = void 0; - if (isArrayType(t) || t.flags & 1 /* Any */ && findResolutionCycleStartIndex(typeVariable, 4 /* ImmediateBaseConstraint */) < 0 && - (constraint = getConstraintOfTypeParameter(typeVariable)) && everyType(constraint, ts.or(isArrayType, isTupleType))) { + if (isArrayType(t) || t.flags & 1 /* TypeFlags.Any */ && findResolutionCycleStartIndex(typeVariable, 4 /* TypeSystemPropertyName.ImmediateBaseConstraint */) < 0 && + (constraint = getConstraintOfTypeParameter(typeVariable)) && everyType(constraint, isArrayOrTupleType)) { return instantiateMappedArrayType(t, type, prependTypeMapping(typeVariable, t, mapper)); } if (isGenericTupleType(t)) { @@ -63232,7 +63492,7 @@ var ts; return instantiateType(getConstraintTypeFromMappedType(type), mapper) === wildcardType ? wildcardType : instantiateAnonymousType(type, mapper, aliasSymbol, aliasTypeArguments); } function getModifiedReadonlyState(state, modifiers) { - return modifiers & 1 /* IncludeReadonly */ ? true : modifiers & 2 /* ExcludeReadonly */ ? false : state; + return modifiers & 1 /* MappedTypeModifiers.IncludeReadonly */ ? true : modifiers & 2 /* MappedTypeModifiers.ExcludeReadonly */ ? false : state; } function instantiateMappedGenericTupleType(tupleType, mappedType, typeVariable, mapper) { // When a tuple type is generic (i.e. when it contains variadic elements), we want to eagerly map the @@ -63241,14 +63501,14 @@ var ts; // normalization to resolve the non-generic parts of the resulting tuple. var elementFlags = tupleType.target.elementFlags; var elementTypes = ts.map(getTypeArguments(tupleType), function (t, i) { - var singleton = elementFlags[i] & 8 /* Variadic */ ? t : - elementFlags[i] & 4 /* Rest */ ? createArrayType(t) : + var singleton = elementFlags[i] & 8 /* ElementFlags.Variadic */ ? t : + elementFlags[i] & 4 /* ElementFlags.Rest */ ? createArrayType(t) : createTupleType([t], [elementFlags[i]]); // The singleton is never a generic tuple type, so it is safe to recurse here. return instantiateMappedType(mappedType, prependTypeMapping(typeVariable, singleton, mapper)); }); var newReadonly = getModifiedReadonlyState(tupleType.target.readonly, getMappedTypeModifiers(mappedType)); - return createTupleType(elementTypes, ts.map(elementTypes, function (_) { return 8 /* Variadic */; }), newReadonly); + return createTupleType(elementTypes, ts.map(elementTypes, function (_) { return 8 /* ElementFlags.Variadic */; }), newReadonly); } function instantiateMappedArrayType(arrayType, mappedType, mapper) { var elementType = instantiateMappedTypeTemplate(mappedType, numberType, /*isOptional*/ true, mapper); @@ -63258,11 +63518,11 @@ var ts; function instantiateMappedTupleType(tupleType, mappedType, mapper) { var elementFlags = tupleType.target.elementFlags; var elementTypes = ts.map(getTypeArguments(tupleType), function (_, i) { - return instantiateMappedTypeTemplate(mappedType, getStringLiteralType("" + i), !!(elementFlags[i] & 2 /* Optional */), mapper); + return instantiateMappedTypeTemplate(mappedType, getStringLiteralType("" + i), !!(elementFlags[i] & 2 /* ElementFlags.Optional */), mapper); }); var modifiers = getMappedTypeModifiers(mappedType); - var newTupleModifiers = modifiers & 4 /* IncludeOptional */ ? ts.map(elementFlags, function (f) { return f & 1 /* Required */ ? 2 /* Optional */ : f; }) : - modifiers & 8 /* ExcludeOptional */ ? ts.map(elementFlags, function (f) { return f & 2 /* Optional */ ? 1 /* Required */ : f; }) : + var newTupleModifiers = modifiers & 4 /* MappedTypeModifiers.IncludeOptional */ ? ts.map(elementFlags, function (f) { return f & 1 /* ElementFlags.Required */ ? 2 /* ElementFlags.Optional */ : f; }) : + modifiers & 8 /* MappedTypeModifiers.ExcludeOptional */ ? ts.map(elementFlags, function (f) { return f & 2 /* ElementFlags.Optional */ ? 1 /* ElementFlags.Required */ : f; }) : elementFlags; var newReadonly = getModifiedReadonlyState(tupleType.target.readonly, modifiers); return ts.contains(elementTypes, errorType) ? errorType : @@ -63272,13 +63532,13 @@ var ts; var templateMapper = appendTypeMapping(mapper, getTypeParameterFromMappedType(type), key); var propType = instantiateType(getTemplateTypeFromMappedType(type.target || type), templateMapper); var modifiers = getMappedTypeModifiers(type); - return strictNullChecks && modifiers & 4 /* IncludeOptional */ && !maybeTypeOfKind(propType, 32768 /* Undefined */ | 16384 /* Void */) ? getOptionalType(propType, /*isProperty*/ true) : - strictNullChecks && modifiers & 8 /* ExcludeOptional */ && isOptional ? getTypeWithFacts(propType, 524288 /* NEUndefined */) : + return strictNullChecks && modifiers & 4 /* MappedTypeModifiers.IncludeOptional */ && !maybeTypeOfKind(propType, 32768 /* TypeFlags.Undefined */ | 16384 /* TypeFlags.Void */) ? getOptionalType(propType, /*isProperty*/ true) : + strictNullChecks && modifiers & 8 /* MappedTypeModifiers.ExcludeOptional */ && isOptional ? getTypeWithFacts(propType, 524288 /* TypeFacts.NEUndefined */) : propType; } function instantiateAnonymousType(type, mapper, aliasSymbol, aliasTypeArguments) { - var result = createObjectType(type.objectFlags | 64 /* Instantiated */, type.symbol); - if (type.objectFlags & 32 /* Mapped */) { + var result = createObjectType(type.objectFlags | 64 /* ObjectFlags.Instantiated */, type.symbol); + if (type.objectFlags & 32 /* ObjectFlags.Mapped */) { result.declaration = type.declaration; // C.f. instantiateSignature var origTypeParameter = getTypeParameterFromMappedType(type); @@ -63287,7 +63547,7 @@ var ts; mapper = combineTypeMappers(makeUnaryTypeMapper(origTypeParameter, freshTypeParameter), mapper); freshTypeParameter.mapper = mapper; } - if (type.objectFlags & 8388608 /* InstantiationExpressionType */) { + if (type.objectFlags & 8388608 /* ObjectFlags.InstantiationExpressionType */) { result.node = type.node; } result.target = type; @@ -63312,7 +63572,7 @@ var ts; // Distributive conditional types are distributed over union types. For example, when the // distributive conditional type T extends U ? X : Y is instantiated with A | B for T, the // result is (A extends U ? X : Y) | (B extends U ? X : Y). - result = distributionType && checkType_1 !== distributionType && distributionType.flags & (1048576 /* Union */ | 131072 /* Never */) ? + result = distributionType && checkType_1 !== distributionType && distributionType.flags & (1048576 /* TypeFlags.Union */ | 131072 /* TypeFlags.Never */) ? mapTypeWithAlias(getReducedType(distributionType), function (t) { return getConditionalType(root, prependTypeMapping(checkType_1, t, newMapper_1)); }, aliasSymbol, aliasTypeArguments) : getConditionalType(root, newMapper_1, aliasSymbol, aliasTypeArguments); root.instantiations.set(id, result); @@ -63332,7 +63592,7 @@ var ts; // We have reached 100 recursive type instantiations, or 5M type instantiations caused by the same statement // or expression. There is a very high likelyhood we're dealing with a combination of infinite generic types // that perpetually generate new type identities, so we stop the recursion here by yielding the error type. - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "instantiateType_DepthLimit", { typeId: type.id, instantiationDepth: instantiationDepth, instantiationCount: instantiationCount }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "instantiateType_DepthLimit", { typeId: type.id, instantiationDepth: instantiationDepth, instantiationCount: instantiationCount }); error(currentNode, ts.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite); return errorType; } @@ -63345,62 +63605,62 @@ var ts; } function instantiateTypeWorker(type, mapper, aliasSymbol, aliasTypeArguments) { var flags = type.flags; - if (flags & 262144 /* TypeParameter */) { + if (flags & 262144 /* TypeFlags.TypeParameter */) { return getMappedType(type, mapper); } - if (flags & 524288 /* Object */) { + if (flags & 524288 /* TypeFlags.Object */) { var objectFlags = type.objectFlags; - if (objectFlags & (4 /* Reference */ | 16 /* Anonymous */ | 32 /* Mapped */)) { - if (objectFlags & 4 /* Reference */ && !type.node) { + if (objectFlags & (4 /* ObjectFlags.Reference */ | 16 /* ObjectFlags.Anonymous */ | 32 /* ObjectFlags.Mapped */)) { + if (objectFlags & 4 /* ObjectFlags.Reference */ && !type.node) { var resolvedTypeArguments = type.resolvedTypeArguments; var newTypeArguments = instantiateTypes(resolvedTypeArguments, mapper); return newTypeArguments !== resolvedTypeArguments ? createNormalizedTypeReference(type.target, newTypeArguments) : type; } - if (objectFlags & 1024 /* ReverseMapped */) { + if (objectFlags & 1024 /* ObjectFlags.ReverseMapped */) { return instantiateReverseMappedType(type, mapper); } return getObjectTypeInstantiation(type, mapper, aliasSymbol, aliasTypeArguments); } return type; } - if (flags & 3145728 /* UnionOrIntersection */) { - var origin = type.flags & 1048576 /* Union */ ? type.origin : undefined; - var types = origin && origin.flags & 3145728 /* UnionOrIntersection */ ? origin.types : type.types; + if (flags & 3145728 /* TypeFlags.UnionOrIntersection */) { + var origin = type.flags & 1048576 /* TypeFlags.Union */ ? type.origin : undefined; + var types = origin && origin.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? origin.types : type.types; var newTypes = instantiateTypes(types, mapper); if (newTypes === types && aliasSymbol === type.aliasSymbol) { return type; } var newAliasSymbol = aliasSymbol || type.aliasSymbol; var newAliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(type.aliasTypeArguments, mapper); - return flags & 2097152 /* Intersection */ || origin && origin.flags & 2097152 /* Intersection */ ? + return flags & 2097152 /* TypeFlags.Intersection */ || origin && origin.flags & 2097152 /* TypeFlags.Intersection */ ? getIntersectionType(newTypes, newAliasSymbol, newAliasTypeArguments) : - getUnionType(newTypes, 1 /* Literal */, newAliasSymbol, newAliasTypeArguments); + getUnionType(newTypes, 1 /* UnionReduction.Literal */, newAliasSymbol, newAliasTypeArguments); } - if (flags & 4194304 /* Index */) { + if (flags & 4194304 /* TypeFlags.Index */) { return getIndexType(instantiateType(type.type, mapper)); } - if (flags & 134217728 /* TemplateLiteral */) { + if (flags & 134217728 /* TypeFlags.TemplateLiteral */) { return getTemplateLiteralType(type.texts, instantiateTypes(type.types, mapper)); } - if (flags & 268435456 /* StringMapping */) { + if (flags & 268435456 /* TypeFlags.StringMapping */) { return getStringMappingType(type.symbol, instantiateType(type.type, mapper)); } - if (flags & 8388608 /* IndexedAccess */) { + if (flags & 8388608 /* TypeFlags.IndexedAccess */) { var newAliasSymbol = aliasSymbol || type.aliasSymbol; var newAliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(type.aliasTypeArguments, mapper); return getIndexedAccessType(instantiateType(type.objectType, mapper), instantiateType(type.indexType, mapper), type.accessFlags, /*accessNode*/ undefined, newAliasSymbol, newAliasTypeArguments); } - if (flags & 16777216 /* Conditional */) { + if (flags & 16777216 /* TypeFlags.Conditional */) { return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper), aliasSymbol, aliasTypeArguments); } - if (flags & 33554432 /* Substitution */) { + if (flags & 33554432 /* TypeFlags.Substitution */) { var maybeVariable = instantiateType(type.baseType, mapper); - if (maybeVariable.flags & 8650752 /* TypeVariable */) { + if (maybeVariable.flags & 8650752 /* TypeFlags.TypeVariable */) { return getSubstitutionType(maybeVariable, instantiateType(type.substitute, mapper)); } else { var sub = instantiateType(type.substitute, mapper); - if (sub.flags & 3 /* AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(maybeVariable), getRestrictiveInstantiation(sub))) { + if (sub.flags & 3 /* TypeFlags.AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(maybeVariable), getRestrictiveInstantiation(sub))) { return maybeVariable; } return sub; @@ -63410,11 +63670,11 @@ var ts; } function instantiateReverseMappedType(type, mapper) { var innerMappedType = instantiateType(type.mappedType, mapper); - if (!(ts.getObjectFlags(innerMappedType) & 32 /* Mapped */)) { + if (!(ts.getObjectFlags(innerMappedType) & 32 /* ObjectFlags.Mapped */)) { return type; } var innerIndexType = instantiateType(type.constraintType, mapper); - if (!(innerIndexType.flags & 4194304 /* Index */)) { + if (!(innerIndexType.flags & 4194304 /* TypeFlags.Index */)) { return type; } var instantiated = inferTypeForHomomorphicMappedType(instantiateType(type.source, mapper), innerMappedType, innerIndexType); @@ -63424,15 +63684,15 @@ var ts; return type; // Nested invocation of `inferTypeForHomomorphicMappedType` or the `source` instantiated into something unmappable } function getUniqueLiteralFilledInstantiation(type) { - return type.flags & (131068 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */) ? type : + return type.flags & (131068 /* TypeFlags.Primitive */ | 3 /* TypeFlags.AnyOrUnknown */ | 131072 /* TypeFlags.Never */) ? type : type.uniqueLiteralFilledInstantiation || (type.uniqueLiteralFilledInstantiation = instantiateType(type, uniqueLiteralMapper)); } function getPermissiveInstantiation(type) { - return type.flags & (131068 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */) ? type : + return type.flags & (131068 /* TypeFlags.Primitive */ | 3 /* TypeFlags.AnyOrUnknown */ | 131072 /* TypeFlags.Never */) ? type : type.permissiveInstantiation || (type.permissiveInstantiation = instantiateType(type, permissiveMapper)); } function getRestrictiveInstantiation(type) { - if (type.flags & (131068 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */)) { + if (type.flags & (131068 /* TypeFlags.Primitive */ | 3 /* TypeFlags.AnyOrUnknown */ | 131072 /* TypeFlags.Never */)) { return type; } if (type.restrictiveInstantiation) { @@ -63453,35 +63713,35 @@ var ts; // Returns true if the given expression contains (at any level of nesting) a function or arrow expression // that is subject to contextual typing. function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 256 /* FunctionDeclaration */: // Function declarations can have context when annotated with a jsdoc @type + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: // Function declarations can have context when annotated with a jsdoc @type return isContextSensitiveFunctionLikeDeclaration(node); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return ts.some(node.properties, isContextSensitive); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return ts.some(node.elements, isContextSensitive); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 221 /* BinaryExpression */: - return (node.operatorToken.kind === 56 /* BarBarToken */ || node.operatorToken.kind === 60 /* QuestionQuestionToken */) && + case 221 /* SyntaxKind.BinaryExpression */: + return (node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return isContextSensitive(node.initializer); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return isContextSensitive(node.expression); - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: return ts.some(node.properties, isContextSensitive) || ts.isJsxOpeningElement(node.parent) && ts.some(node.parent.parent.children, isContextSensitive); - case 285 /* JsxAttribute */: { + case 285 /* SyntaxKind.JsxAttribute */: { // If there is no initializer, JSX attribute has a boolean value of true which is not context sensitive. var initializer = node.initializer; return !!initializer && isContextSensitive(initializer); } - case 288 /* JsxExpression */: { + case 288 /* SyntaxKind.JsxExpression */: { // It is possible to that node.expression is undefined (e.g
) var expression = node.expression; return !!expression && isContextSensitive(expression); @@ -63495,17 +63755,17 @@ var ts; } function hasContextSensitiveReturnExpression(node) { // TODO(anhans): A block should be context-sensitive if it has a context-sensitive return value. - return !node.typeParameters && !ts.getEffectiveReturnTypeNode(node) && !!node.body && node.body.kind !== 235 /* Block */ && isContextSensitive(node.body); + return !node.typeParameters && !ts.getEffectiveReturnTypeNode(node) && !!node.body && node.body.kind !== 235 /* SyntaxKind.Block */ && isContextSensitive(node.body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { return (ts.isInJSFile(func) && ts.isFunctionDeclaration(func) || ts.isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); if (resolved.constructSignatures.length || resolved.callSignatures.length) { - var result = createObjectType(16 /* Anonymous */, type.symbol); + var result = createObjectType(16 /* ObjectFlags.Anonymous */, type.symbol); result.members = resolved.members; result.properties = resolved.properties; result.callSignatures = ts.emptyArray; @@ -63514,7 +63774,7 @@ var ts; return result; } } - else if (type.flags & 2097152 /* Intersection */) { + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { return getIntersectionType(ts.map(type.types, getTypeWithoutSignatures)); } return type; @@ -63524,13 +63784,13 @@ var ts; return isTypeRelatedTo(source, target, identityRelation); } function compareTypesIdentical(source, target) { - return isTypeRelatedTo(source, target, identityRelation) ? -1 /* True */ : 0 /* False */; + return isTypeRelatedTo(source, target, identityRelation) ? -1 /* Ternary.True */ : 0 /* Ternary.False */; } function compareTypesAssignable(source, target) { - return isTypeRelatedTo(source, target, assignableRelation) ? -1 /* True */ : 0 /* False */; + return isTypeRelatedTo(source, target, assignableRelation) ? -1 /* Ternary.True */ : 0 /* Ternary.False */; } function compareTypesSubtypeOf(source, target) { - return isTypeRelatedTo(source, target, subtypeRelation) ? -1 /* True */ : 0 /* False */; + return isTypeRelatedTo(source, target, subtypeRelation) ? -1 /* Ternary.True */ : 0 /* Ternary.False */; } function isTypeSubtypeOf(source, target) { return isTypeRelatedTo(source, target, subtypeRelation); @@ -63547,11 +63807,11 @@ var ts; // Note that this check ignores type parameters and only considers the // inheritance hierarchy. function isTypeDerivedFrom(source, target) { - return source.flags & 1048576 /* Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : - target.flags & 1048576 /* Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : - source.flags & 58982400 /* InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || unknownType, target) : - target === globalObjectType ? !!(source.flags & (524288 /* Object */ | 67108864 /* NonPrimitive */)) : - target === globalFunctionType ? !!(source.flags & 524288 /* Object */) && isFunctionObjectType(source) : + return source.flags & 1048576 /* TypeFlags.Union */ ? ts.every(source.types, function (t) { return isTypeDerivedFrom(t, target); }) : + target.flags & 1048576 /* TypeFlags.Union */ ? ts.some(target.types, function (t) { return isTypeDerivedFrom(source, t); }) : + source.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ ? isTypeDerivedFrom(getBaseConstraintOfType(source) || unknownType, target) : + target === globalObjectType ? !!(source.flags & (524288 /* TypeFlags.Object */ | 67108864 /* TypeFlags.NonPrimitive */)) : + target === globalFunctionType ? !!(source.flags & 524288 /* TypeFlags.Object */) && isFunctionObjectType(source) : hasBaseType(source, getTargetType(target)) || (isArrayType(target) && !isReadonlyArrayType(target) && isTypeDerivedFrom(source, globalReadonlyArrayType)); } /** @@ -63589,7 +63849,7 @@ var ts; return false; } function isOrHasGenericConditional(type) { - return !!(type.flags & 16777216 /* Conditional */ || (type.flags & 2097152 /* Intersection */ && ts.some(type.types, isOrHasGenericConditional))); + return !!(type.flags & 16777216 /* TypeFlags.Conditional */ || (type.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(type.types, isOrHasGenericConditional))); } function elaborateError(node, source, target, relation, headMessage, containingMessageChain, errorOutputContainer) { if (!node || isOrHasGenericConditional(target)) @@ -63599,35 +63859,35 @@ var ts; return true; } switch (node.kind) { - case 288 /* JsxExpression */: - case 212 /* ParenthesizedExpression */: + case 288 /* SyntaxKind.JsxExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: switch (node.operatorToken.kind) { - case 63 /* EqualsToken */: - case 27 /* CommaToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 27 /* SyntaxKind.CommaToken */: return elaborateError(node.right, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); } break; - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: return elaborateJsxComponents(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return elaborateArrowFunction(node, source, target, relation, containingMessageChain, errorOutputContainer); } return false; } function elaborateDidYouMeanToCallOrConstruct(node, source, target, relation, headMessage, containingMessageChain, errorOutputContainer) { - var callSignatures = getSignaturesOfType(source, 0 /* Call */); - var constructSignatures = getSignaturesOfType(source, 1 /* Construct */); + var callSignatures = getSignaturesOfType(source, 0 /* SignatureKind.Call */); + var constructSignatures = getSignaturesOfType(source, 1 /* SignatureKind.Construct */); for (var _i = 0, _a = [constructSignatures, callSignatures]; _i < _a.length; _i++) { var signatures = _a[_i]; if (ts.some(signatures, function (s) { var returnType = getReturnTypeOfSignature(s); - return !(returnType.flags & (1 /* Any */ | 131072 /* Never */)) && checkTypeRelatedTo(returnType, target, relation, /*errorNode*/ undefined); + return !(returnType.flags & (1 /* TypeFlags.Any */ | 131072 /* TypeFlags.Never */)) && checkTypeRelatedTo(returnType, target, relation, /*errorNode*/ undefined); })) { var resultObj = errorOutputContainer || {}; checkTypeAssignableTo(source, target, node, headMessage, containingMessageChain, resultObj); @@ -63651,7 +63911,7 @@ var ts; if (!sourceSig) { return false; } - var targetSignatures = getSignaturesOfType(target, 0 /* Call */); + var targetSignatures = getSignaturesOfType(target, 0 /* SignatureKind.Call */); if (!ts.length(targetSignatures)) { return false; } @@ -63669,7 +63929,7 @@ var ts; if (target.symbol && ts.length(target.symbol.declarations)) { ts.addRelatedInfo(resultObj.errors[resultObj.errors.length - 1], ts.createDiagnosticForNode(target.symbol.declarations[0], ts.Diagnostics.The_expected_type_comes_from_the_return_type_of_this_signature)); } - if ((ts.getFunctionFlags(node) & 2 /* Async */) === 0 + if ((ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */) === 0 // exclude cases where source itself is promisy - this way we don't make a suggestion when relating // an IPromise and a Promise that are slightly different && !getTypeOfPropertyOfType(sourceReturn, "then") @@ -63686,7 +63946,7 @@ var ts; if (idx) { return idx; } - if (target.flags & 1048576 /* Union */) { + if (target.flags & 1048576 /* TypeFlags.Union */) { var best = getBestMatchingType(source, target); if (best) { return getIndexedAccessTypeOrUndefined(best, nameType); @@ -63696,7 +63956,7 @@ var ts; function checkExpressionForMutableLocationWithContextualType(next, sourcePropType) { next.contextualType = sourcePropType; try { - return checkExpressionForMutableLocation(next, 1 /* Contextual */, sourcePropType); + return checkExpressionForMutableLocation(next, 1 /* CheckMode.Contextual */, sourcePropType); } finally { next.contextualType = undefined; @@ -63713,7 +63973,7 @@ var ts; for (var status = iterator.next(); !status.done; status = iterator.next()) { var _a = status.value, prop = _a.errorNode, next = _a.innerExpression, nameType = _a.nameType, errorMessage = _a.errorMessage; var targetPropType = getBestMatchIndexedAccessTypeOrUndefined(source, target, nameType); - if (!targetPropType || targetPropType.flags & 8388608 /* IndexedAccess */) + if (!targetPropType || targetPropType.flags & 8388608 /* TypeFlags.IndexedAccess */) continue; // Don't elaborate on indexes on generic variables var sourcePropType = getIndexedAccessTypeOrUndefined(source, nameType); if (!sourcePropType) @@ -63733,8 +63993,8 @@ var ts; resultObj.errors = [diag]; } else { - var targetIsOptional = !!(propName && (getPropertyOfType(target, propName) || unknownSymbol).flags & 16777216 /* Optional */); - var sourceIsOptional = !!(propName && (getPropertyOfType(source, propName) || unknownSymbol).flags & 16777216 /* Optional */); + var targetIsOptional = !!(propName && (getPropertyOfType(target, propName) || unknownSymbol).flags & 16777216 /* SymbolFlags.Optional */); + var sourceIsOptional = !!(propName && (getPropertyOfType(source, propName) || unknownSymbol).flags & 16777216 /* SymbolFlags.Optional */); targetPropType = removeMissingType(targetPropType, targetIsOptional); sourcePropType = removeMissingType(sourcePropType, targetIsOptional && sourceIsOptional); var result = checkTypeRelatedTo(specificSource, targetPropType, relation, prop, errorMessage, containingMessageChain, resultObj); @@ -63758,7 +64018,7 @@ var ts; if (!issuedElaboration && (targetProp && ts.length(targetProp.declarations) || target.symbol && ts.length(target.symbol.declarations))) { var targetNode = targetProp && ts.length(targetProp.declarations) ? targetProp.declarations[0] : target.symbol.declarations[0]; if (!ts.getSourceFileOfNode(targetNode).hasNoDefaultLib) { - ts.addRelatedInfo(reportedDiag, ts.createDiagnosticForNode(targetNode, ts.Diagnostics.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1, propertyName && !(nameType.flags & 8192 /* UniqueESSymbol */) ? ts.unescapeLeadingUnderscores(propertyName) : typeToString(nameType), typeToString(target))); + ts.addRelatedInfo(reportedDiag, ts.createDiagnosticForNode(targetNode, ts.Diagnostics.The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1, propertyName && !(nameType.flags & 8192 /* TypeFlags.UniqueESSymbol */) ? ts.unescapeLeadingUnderscores(propertyName) : typeToString(nameType), typeToString(target))); } } } @@ -63824,18 +64084,18 @@ var ts; } function getElaborationElementForJsxChild(child, nameType, getInvalidTextDiagnostic) { switch (child.kind) { - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: // child is of the type of the expression return { errorNode: child, innerExpression: child.expression, nameType: nameType }; - case 11 /* JsxText */: + case 11 /* SyntaxKind.JsxText */: if (child.containsOnlyTriviaWhiteSpaces) { break; // Whitespace only jsx text isn't real jsx text } // child is a string return { errorNode: child, innerExpression: undefined, nameType: nameType, errorMessage: getInvalidTextDiagnostic() }; - case 278 /* JsxElement */: - case 279 /* JsxSelfClosingElement */: - case 282 /* JsxFragment */: + case 278 /* SyntaxKind.JsxElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxFragment */: // child is of type JSX.Element return { errorNode: child, innerExpression: child, nameType: nameType }; default: @@ -63860,7 +64120,7 @@ var ts; var nonArrayLikeTargetParts = filterType(childrenTargetType, function (t) { return !isArrayOrTupleLikeType(t); }); if (moreThanOneRealChildren) { if (arrayLikeTargetParts !== neverType) { - var realSource = createTupleType(checkJsxChildren(containingElement, 0 /* Normal */)); + var realSource = createTupleType(checkJsxChildren(containingElement, 0 /* CheckMode.Normal */)); var children = generateJsxChildren(containingElement, getInvalidTextualChildDiagnostic); result = elaborateElementwise(children, realSource, arrayLikeTargetParts, relation, containingMessageChain, errorOutputContainer) || result; } @@ -63942,7 +64202,7 @@ var ts; }); } function elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer) { - if (target.flags & 131068 /* Primitive */) + if (target.flags & 131068 /* TypeFlags.Primitive */) return false; if (isTupleLikeType(source)) { return elaborateElementwise(generateLimitedTupleElements(node, target), source, target, relation, containingMessageChain, errorOutputContainer); @@ -63952,7 +64212,7 @@ var ts; var oldContext = node.contextualType; node.contextualType = target; try { - var tupleizedType = checkArrayLiteral(node, 1 /* Contextual */, /*forceTuple*/ true); + var tupleizedType = checkArrayLiteral(node, 1 /* CheckMode.Contextual */, /*forceTuple*/ true); node.contextualType = oldContext; if (isTupleLikeType(tupleizedType)) { return elaborateElementwise(generateLimitedTupleElements(node, target), tupleizedType, target, relation, containingMessageChain, errorOutputContainer); @@ -63977,17 +64237,17 @@ var ts; prop = _a[_i]; if (ts.isSpreadAssignment(prop)) return [3 /*break*/, 7]; - type = getLiteralTypeFromProperty(getSymbolOfNode(prop), 8576 /* StringOrNumberLiteralOrUnique */); - if (!type || (type.flags & 131072 /* Never */)) { + type = getLiteralTypeFromProperty(getSymbolOfNode(prop), 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */); + if (!type || (type.flags & 131072 /* TypeFlags.Never */)) { return [3 /*break*/, 7]; } _b = prop.kind; switch (_b) { - case 173 /* SetAccessor */: return [3 /*break*/, 2]; - case 172 /* GetAccessor */: return [3 /*break*/, 2]; - case 169 /* MethodDeclaration */: return [3 /*break*/, 2]; - case 297 /* ShorthandPropertyAssignment */: return [3 /*break*/, 2]; - case 296 /* PropertyAssignment */: return [3 /*break*/, 4]; + case 173 /* SyntaxKind.SetAccessor */: return [3 /*break*/, 2]; + case 172 /* SyntaxKind.GetAccessor */: return [3 /*break*/, 2]; + case 169 /* SyntaxKind.MethodDeclaration */: return [3 /*break*/, 2]; + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return [3 /*break*/, 2]; + case 296 /* SyntaxKind.PropertyAssignment */: return [3 /*break*/, 4]; } return [3 /*break*/, 6]; case 2: return [4 /*yield*/, { errorNode: prop.name, innerExpression: undefined, nameType: type }]; @@ -64009,7 +64269,7 @@ var ts; }); } function elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer) { - if (target.flags & 131068 /* Primitive */) + if (target.flags & 131068 /* TypeFlags.Primitive */) return false; return elaborateElementwise(generateObjectLiteralElements(node), source, target, relation, containingMessageChain, errorOutputContainer); } @@ -64021,8 +64281,8 @@ var ts; return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); } function isSignatureAssignableTo(source, target, ignoreReturnTypes) { - return compareSignaturesRelated(source, target, ignoreReturnTypes ? 4 /* IgnoreReturnTypes */ : 0, /*reportErrors*/ false, - /*errorReporter*/ undefined, /*errorReporter*/ undefined, compareTypesAssignable, /*reportUnreliableMarkers*/ undefined) !== 0 /* False */; + return compareSignaturesRelated(source, target, ignoreReturnTypes ? 4 /* SignatureCheckMode.IgnoreReturnTypes */ : 0, /*reportErrors*/ false, + /*errorReporter*/ undefined, /*errorReporter*/ undefined, compareTypesAssignable, /*reportUnreliableMarkers*/ undefined) !== 0 /* Ternary.False */; } /** * Returns true if `s` is `(...args: any[]) => any` or `(this: any, ...args: any[]) => any` @@ -64038,16 +64298,16 @@ var ts; function compareSignaturesRelated(source, target, checkMode, reportErrors, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) { // TODO (drosen): De-duplicate code between related functions. if (source === target) { - return -1 /* True */; + return -1 /* Ternary.True */; } if (isAnySignature(target)) { - return -1 /* True */; + return -1 /* Ternary.True */; } var targetCount = getParameterCount(target); var sourceHasMoreParameters = !hasEffectiveRestParameter(target) && - (checkMode & 8 /* StrictArity */ ? hasEffectiveRestParameter(source) || getParameterCount(source) > targetCount : getMinArgumentCount(source) > targetCount); + (checkMode & 8 /* SignatureCheckMode.StrictArity */ ? hasEffectiveRestParameter(source) || getParameterCount(source) > targetCount : getMinArgumentCount(source) > targetCount); if (sourceHasMoreParameters) { - return 0 /* False */; + return 0 /* Ternary.False */; } if (source.typeParameters && source.typeParameters !== target.typeParameters) { target = getCanonicalSignature(target); @@ -64059,10 +64319,10 @@ var ts; if (sourceRestType || targetRestType) { void instantiateType(sourceRestType || targetRestType, reportUnreliableMarkers); } - var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; - var strictVariance = !(checkMode & 3 /* Callback */) && strictFunctionTypes && kind !== 169 /* MethodDeclaration */ && - kind !== 168 /* MethodSignature */ && kind !== 171 /* Constructor */; - var result = -1 /* True */; + var kind = target.declaration ? target.declaration.kind : 0 /* SyntaxKind.Unknown */; + var strictVariance = !(checkMode & 3 /* SignatureCheckMode.Callback */) && strictFunctionTypes && kind !== 169 /* SyntaxKind.MethodDeclaration */ && + kind !== 168 /* SyntaxKind.MethodSignature */ && kind !== 171 /* SyntaxKind.Constructor */; + var result = -1 /* Ternary.True */; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { var targetThisType = getThisTypeOfSignature(target); @@ -64074,7 +64334,7 @@ var ts; if (reportErrors) { errorReporter(ts.Diagnostics.The_this_types_of_each_signature_are_incompatible); } - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -64093,27 +64353,27 @@ var ts; // similar to return values, callback parameters are output positions. This means that a Promise, // where T is used only in callback parameter positions, will be co-variant (as opposed to bi-variant) // with respect to T. - var sourceSig = checkMode & 3 /* Callback */ ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); - var targetSig = checkMode & 3 /* Callback */ ? undefined : getSingleCallSignature(getNonNullableType(targetType)); + var sourceSig = checkMode & 3 /* SignatureCheckMode.Callback */ ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); + var targetSig = checkMode & 3 /* SignatureCheckMode.Callback */ ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && - (getFalsyFlags(sourceType) & 98304 /* Nullable */) === (getFalsyFlags(targetType) & 98304 /* Nullable */); + (getFalsyFlags(sourceType) & 98304 /* TypeFlags.Nullable */) === (getFalsyFlags(targetType) & 98304 /* TypeFlags.Nullable */); var related = callbacks ? - compareSignaturesRelated(targetSig, sourceSig, (checkMode & 8 /* StrictArity */) | (strictVariance ? 2 /* StrictCallback */ : 1 /* BivariantCallback */), reportErrors, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : - !(checkMode & 3 /* Callback */) && !strictVariance && compareTypes(sourceType, targetType, /*reportErrors*/ false) || compareTypes(targetType, sourceType, reportErrors); + compareSignaturesRelated(targetSig, sourceSig, (checkMode & 8 /* SignatureCheckMode.StrictArity */) | (strictVariance ? 2 /* SignatureCheckMode.StrictCallback */ : 1 /* SignatureCheckMode.BivariantCallback */), reportErrors, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : + !(checkMode & 3 /* SignatureCheckMode.Callback */) && !strictVariance && compareTypes(sourceType, targetType, /*reportErrors*/ false) || compareTypes(targetType, sourceType, reportErrors); // With strict arity, (x: number | undefined) => void is a subtype of (x?: number | undefined) => void - if (related && checkMode & 8 /* StrictArity */ && i >= getMinArgumentCount(source) && i < getMinArgumentCount(target) && compareTypes(sourceType, targetType, /*reportErrors*/ false)) { - related = 0 /* False */; + if (related && checkMode & 8 /* SignatureCheckMode.StrictArity */ && i >= getMinArgumentCount(source) && i < getMinArgumentCount(target) && compareTypes(sourceType, targetType, /*reportErrors*/ false)) { + related = 0 /* Ternary.False */; } if (!related) { if (reportErrors) { errorReporter(ts.Diagnostics.Types_of_parameters_0_and_1_are_incompatible, ts.unescapeLeadingUnderscores(getParameterNameAtPosition(source, i)), ts.unescapeLeadingUnderscores(getParameterNameAtPosition(target, i))); } - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } } - if (!(checkMode & 4 /* IgnoreReturnTypes */)) { + if (!(checkMode & 4 /* SignatureCheckMode.IgnoreReturnTypes */)) { // If a signature resolution is already in-flight, skip issuing a circularity error // here and just use the `any` type directly var targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType @@ -64136,14 +64396,14 @@ var ts; if (reportErrors) { errorReporter(ts.Diagnostics.Signature_0_must_be_a_type_predicate, signatureToString(source)); } - return 0 /* False */; + return 0 /* Ternary.False */; } } else { // When relating callback signatures, we still need to relate return types bi-variantly as otherwise // the containing type wouldn't be co-variant. For example, interface Foo { add(cb: () => T): void } // wouldn't be co-variant for T without this rule. - result &= checkMode & 1 /* BivariantCallback */ && compareTypes(targetReturnType, sourceReturnType, /*reportErrors*/ false) || + result &= checkMode & 1 /* SignatureCheckMode.BivariantCallback */ && compareTypes(targetReturnType, sourceReturnType, /*reportErrors*/ false) || compareTypes(sourceReturnType, targetReturnType, reportErrors); if (!result && reportErrors && incompatibleErrorReporter) { incompatibleErrorReporter(sourceReturnType, targetReturnType); @@ -64158,21 +64418,21 @@ var ts; errorReporter(ts.Diagnostics.A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard); errorReporter(ts.Diagnostics.Type_predicate_0_is_not_assignable_to_1, typePredicateToString(source), typePredicateToString(target)); } - return 0 /* False */; + return 0 /* Ternary.False */; } - if (source.kind === 1 /* Identifier */ || source.kind === 3 /* AssertsIdentifier */) { + if (source.kind === 1 /* TypePredicateKind.Identifier */ || source.kind === 3 /* TypePredicateKind.AssertsIdentifier */) { if (source.parameterIndex !== target.parameterIndex) { if (reportErrors) { errorReporter(ts.Diagnostics.Parameter_0_is_not_in_the_same_position_as_parameter_1, source.parameterName, target.parameterName); errorReporter(ts.Diagnostics.Type_predicate_0_is_not_assignable_to_1, typePredicateToString(source), typePredicateToString(target)); } - return 0 /* False */; + return 0 /* Ternary.False */; } } - var related = source.type === target.type ? -1 /* True */ : + var related = source.type === target.type ? -1 /* Ternary.True */ : source.type && target.type ? compareTypes(source.type, target.type, reportErrors) : - 0 /* False */; - if (related === 0 /* False */ && reportErrors) { + 0 /* Ternary.False */; + if (related === 0 /* Ternary.False */ && reportErrors) { errorReporter(ts.Diagnostics.Type_predicate_0_is_not_assignable_to_1, typePredicateToString(source), typePredicateToString(target)); } return related; @@ -64198,19 +64458,19 @@ var ts; t.indexInfos.length === 0; } function isEmptyObjectType(type) { - return type.flags & 524288 /* Object */ ? !isGenericMappedType(type) && isEmptyResolvedType(resolveStructuredTypeMembers(type)) : - type.flags & 67108864 /* NonPrimitive */ ? true : - type.flags & 1048576 /* Union */ ? ts.some(type.types, isEmptyObjectType) : - type.flags & 2097152 /* Intersection */ ? ts.every(type.types, isEmptyObjectType) : + return type.flags & 524288 /* TypeFlags.Object */ ? !isGenericMappedType(type) && isEmptyResolvedType(resolveStructuredTypeMembers(type)) : + type.flags & 67108864 /* TypeFlags.NonPrimitive */ ? true : + type.flags & 1048576 /* TypeFlags.Union */ ? ts.some(type.types, isEmptyObjectType) : + type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.every(type.types, isEmptyObjectType) : false; } function isEmptyAnonymousObjectType(type) { - return !!(ts.getObjectFlags(type) & 16 /* Anonymous */ && (type.members && isEmptyResolvedType(type) || - type.symbol && type.symbol.flags & 2048 /* TypeLiteral */ && getMembersOfSymbol(type.symbol).size === 0)); + return !!(ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */ && (type.members && isEmptyResolvedType(type) || + type.symbol && type.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */ && getMembersOfSymbol(type.symbol).size === 0)); } function isStringIndexSignatureOnlyType(type) { - return type.flags & 524288 /* Object */ && !isGenericMappedType(type) && getPropertiesOfType(type).length === 0 && getIndexInfosOfType(type).length === 1 && !!getIndexInfoOfType(type, stringType) || - type.flags & 3145728 /* UnionOrIntersection */ && ts.every(type.types, isStringIndexSignatureOnlyType) || + return type.flags & 524288 /* TypeFlags.Object */ && !isGenericMappedType(type) && getPropertiesOfType(type).length === 0 && getIndexInfosOfType(type).length === 1 && !!getIndexInfoOfType(type, stringType) || + type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ && ts.every(type.types, isStringIndexSignatureOnlyType) || false; } function isEnumTypeRelatedTo(sourceSymbol, targetSymbol, errorReporter) { @@ -64219,83 +64479,83 @@ var ts; } var id = getSymbolId(sourceSymbol) + "," + getSymbolId(targetSymbol); var entry = enumRelation.get(id); - if (entry !== undefined && !(!(entry & 4 /* Reported */) && entry & 2 /* Failed */ && errorReporter)) { - return !!(entry & 1 /* Succeeded */); + if (entry !== undefined && !(!(entry & 4 /* RelationComparisonResult.Reported */) && entry & 2 /* RelationComparisonResult.Failed */ && errorReporter)) { + return !!(entry & 1 /* RelationComparisonResult.Succeeded */); } - if (sourceSymbol.escapedName !== targetSymbol.escapedName || !(sourceSymbol.flags & 256 /* RegularEnum */) || !(targetSymbol.flags & 256 /* RegularEnum */)) { - enumRelation.set(id, 2 /* Failed */ | 4 /* Reported */); + if (sourceSymbol.escapedName !== targetSymbol.escapedName || !(sourceSymbol.flags & 256 /* SymbolFlags.RegularEnum */) || !(targetSymbol.flags & 256 /* SymbolFlags.RegularEnum */)) { + enumRelation.set(id, 2 /* RelationComparisonResult.Failed */ | 4 /* RelationComparisonResult.Reported */); return false; } var targetEnumType = getTypeOfSymbol(targetSymbol); for (var _i = 0, _a = getPropertiesOfType(getTypeOfSymbol(sourceSymbol)); _i < _a.length; _i++) { var property = _a[_i]; - if (property.flags & 8 /* EnumMember */) { + if (property.flags & 8 /* SymbolFlags.EnumMember */) { var targetProperty = getPropertyOfType(targetEnumType, property.escapedName); - if (!targetProperty || !(targetProperty.flags & 8 /* EnumMember */)) { + if (!targetProperty || !(targetProperty.flags & 8 /* SymbolFlags.EnumMember */)) { if (errorReporter) { - errorReporter(ts.Diagnostics.Property_0_is_missing_in_type_1, ts.symbolName(property), typeToString(getDeclaredTypeOfSymbol(targetSymbol), /*enclosingDeclaration*/ undefined, 64 /* UseFullyQualifiedType */)); - enumRelation.set(id, 2 /* Failed */ | 4 /* Reported */); + errorReporter(ts.Diagnostics.Property_0_is_missing_in_type_1, ts.symbolName(property), typeToString(getDeclaredTypeOfSymbol(targetSymbol), /*enclosingDeclaration*/ undefined, 64 /* TypeFormatFlags.UseFullyQualifiedType */)); + enumRelation.set(id, 2 /* RelationComparisonResult.Failed */ | 4 /* RelationComparisonResult.Reported */); } else { - enumRelation.set(id, 2 /* Failed */); + enumRelation.set(id, 2 /* RelationComparisonResult.Failed */); } return false; } } } - enumRelation.set(id, 1 /* Succeeded */); + enumRelation.set(id, 1 /* RelationComparisonResult.Succeeded */); return true; } function isSimpleTypeRelatedTo(source, target, relation, errorReporter) { var s = source.flags; var t = target.flags; - if (t & 3 /* AnyOrUnknown */ || s & 131072 /* Never */ || source === wildcardType) + if (t & 3 /* TypeFlags.AnyOrUnknown */ || s & 131072 /* TypeFlags.Never */ || source === wildcardType) return true; - if (t & 131072 /* Never */) + if (t & 131072 /* TypeFlags.Never */) return false; - if (s & 402653316 /* StringLike */ && t & 4 /* String */) + if (s & 402653316 /* TypeFlags.StringLike */ && t & 4 /* TypeFlags.String */) return true; - if (s & 128 /* StringLiteral */ && s & 1024 /* EnumLiteral */ && - t & 128 /* StringLiteral */ && !(t & 1024 /* EnumLiteral */) && + if (s & 128 /* TypeFlags.StringLiteral */ && s & 1024 /* TypeFlags.EnumLiteral */ && + t & 128 /* TypeFlags.StringLiteral */ && !(t & 1024 /* TypeFlags.EnumLiteral */) && source.value === target.value) return true; - if (s & 296 /* NumberLike */ && t & 8 /* Number */) + if (s & 296 /* TypeFlags.NumberLike */ && t & 8 /* TypeFlags.Number */) return true; - if (s & 256 /* NumberLiteral */ && s & 1024 /* EnumLiteral */ && - t & 256 /* NumberLiteral */ && !(t & 1024 /* EnumLiteral */) && + if (s & 256 /* TypeFlags.NumberLiteral */ && s & 1024 /* TypeFlags.EnumLiteral */ && + t & 256 /* TypeFlags.NumberLiteral */ && !(t & 1024 /* TypeFlags.EnumLiteral */) && source.value === target.value) return true; - if (s & 2112 /* BigIntLike */ && t & 64 /* BigInt */) + if (s & 2112 /* TypeFlags.BigIntLike */ && t & 64 /* TypeFlags.BigInt */) return true; - if (s & 528 /* BooleanLike */ && t & 16 /* Boolean */) + if (s & 528 /* TypeFlags.BooleanLike */ && t & 16 /* TypeFlags.Boolean */) return true; - if (s & 12288 /* ESSymbolLike */ && t & 4096 /* ESSymbol */) + if (s & 12288 /* TypeFlags.ESSymbolLike */ && t & 4096 /* TypeFlags.ESSymbol */) return true; - if (s & 32 /* Enum */ && t & 32 /* Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 32 /* TypeFlags.Enum */ && t & 32 /* TypeFlags.Enum */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 1024 /* EnumLiteral */ && t & 1024 /* EnumLiteral */) { - if (s & 1048576 /* Union */ && t & 1048576 /* Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) + if (s & 1024 /* TypeFlags.EnumLiteral */ && t & 1024 /* TypeFlags.EnumLiteral */) { + if (s & 1048576 /* TypeFlags.Union */ && t & 1048576 /* TypeFlags.Union */ && isEnumTypeRelatedTo(source.symbol, target.symbol, errorReporter)) return true; - if (s & 2944 /* Literal */ && t & 2944 /* Literal */ && + if (s & 2944 /* TypeFlags.Literal */ && t & 2944 /* TypeFlags.Literal */ && source.value === target.value && isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter)) return true; } // In non-strictNullChecks mode, `undefined` and `null` are assignable to anything except `never`. // Since unions and intersections may reduce to `never`, we exclude them here. - if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */))) + if (s & 32768 /* TypeFlags.Undefined */ && (!strictNullChecks && !(t & 3145728 /* TypeFlags.UnionOrIntersection */) || t & (32768 /* TypeFlags.Undefined */ | 16384 /* TypeFlags.Void */))) return true; - if (s & 65536 /* Null */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & 65536 /* Null */)) + if (s & 65536 /* TypeFlags.Null */ && (!strictNullChecks && !(t & 3145728 /* TypeFlags.UnionOrIntersection */) || t & 65536 /* TypeFlags.Null */)) return true; - if (s & 524288 /* Object */ && t & 67108864 /* NonPrimitive */) + if (s & 524288 /* TypeFlags.Object */ && t & 67108864 /* TypeFlags.NonPrimitive */) return true; if (relation === assignableRelation || relation === comparableRelation) { - if (s & 1 /* Any */) + if (s & 1 /* TypeFlags.Any */) return true; // Type number or any numeric literal type is assignable to any numeric enum type or any // numeric enum literal type. This rule exists for backwards compatibility reasons because // bit-flag enum types sometimes look like literal enum types with numeric literal values. - if (s & (8 /* Number */ | 256 /* NumberLiteral */) && !(s & 1024 /* EnumLiteral */) && (t & 32 /* Enum */ || relation === assignableRelation && t & 256 /* NumberLiteral */ && t & 1024 /* EnumLiteral */)) + if (s & (8 /* TypeFlags.Number */ | 256 /* TypeFlags.NumberLiteral */) && !(s & 1024 /* TypeFlags.EnumLiteral */) && (t & 32 /* TypeFlags.Enum */ || relation === assignableRelation && t & 256 /* TypeFlags.NumberLiteral */ && t & 1024 /* TypeFlags.EnumLiteral */)) return true; } return false; @@ -64311,38 +64571,38 @@ var ts; return true; } if (relation !== identityRelation) { - if (relation === comparableRelation && !(target.flags & 131072 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation)) { + if (relation === comparableRelation && !(target.flags & 131072 /* TypeFlags.Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation)) { return true; } } - else if (!((source.flags | target.flags) & (3145728 /* UnionOrIntersection */ | 8388608 /* IndexedAccess */ | 16777216 /* Conditional */ | 33554432 /* Substitution */))) { + else if (!((source.flags | target.flags) & (3145728 /* TypeFlags.UnionOrIntersection */ | 8388608 /* TypeFlags.IndexedAccess */ | 16777216 /* TypeFlags.Conditional */ | 33554432 /* TypeFlags.Substitution */))) { // We have excluded types that may simplify to other forms, so types must have identical flags if (source.flags !== target.flags) return false; - if (source.flags & 67358815 /* Singleton */) + if (source.flags & 67358815 /* TypeFlags.Singleton */) return true; } - if (source.flags & 524288 /* Object */ && target.flags & 524288 /* Object */) { - var related = relation.get(getRelationKey(source, target, 0 /* None */, relation, /*ignoreConstraints*/ false)); + if (source.flags & 524288 /* TypeFlags.Object */ && target.flags & 524288 /* TypeFlags.Object */) { + var related = relation.get(getRelationKey(source, target, 0 /* IntersectionState.None */, relation, /*ignoreConstraints*/ false)); if (related !== undefined) { - return !!(related & 1 /* Succeeded */); + return !!(related & 1 /* RelationComparisonResult.Succeeded */); } } - if (source.flags & 469499904 /* StructuredOrInstantiable */ || target.flags & 469499904 /* StructuredOrInstantiable */) { + if (source.flags & 469499904 /* TypeFlags.StructuredOrInstantiable */ || target.flags & 469499904 /* TypeFlags.StructuredOrInstantiable */) { return checkTypeRelatedTo(source, target, relation, /*errorNode*/ undefined); } return false; } function isIgnoredJsxProperty(source, sourceProp) { - return ts.getObjectFlags(source) & 2048 /* JsxAttributes */ && isHyphenatedJsxName(sourceProp.escapedName); + return ts.getObjectFlags(source) & 2048 /* ObjectFlags.JsxAttributes */ && isHyphenatedJsxName(sourceProp.escapedName); } function getNormalizedType(type, writing) { while (true) { var t = isFreshLiteralType(type) ? type.regularType : - ts.getObjectFlags(type) & 4 /* Reference */ && type.node ? createTypeReference(type.target, getTypeArguments(type)) : - type.flags & 3145728 /* UnionOrIntersection */ ? getReducedType(type) : - type.flags & 33554432 /* Substitution */ ? writing ? type.baseType : type.substitute : - type.flags & 25165824 /* Simplifiable */ ? getSimplifiedType(type, writing) : + ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ && type.node ? createTypeReference(type.target, getTypeArguments(type)) : + type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? getReducedType(type) : + type.flags & 33554432 /* TypeFlags.Substitution */ ? writing ? type.baseType : type.substitute : + type.flags & 25165824 /* TypeFlags.Simplifiable */ ? getSimplifiedType(type, writing) : type; t = getSingleBaseForNonAugmentingSubtype(t) || t; if (t === type) @@ -64371,19 +64631,19 @@ var ts; var maybeCount = 0; var sourceDepth = 0; var targetDepth = 0; - var expandingFlags = 0 /* None */; + var expandingFlags = 0 /* ExpandingFlags.None */; var overflow = false; var overrideNextErrorInfo = 0; // How many `reportRelationError` calls should be skipped in the elaboration pyramid var lastSkippedInfo; var incompatibleStack; var inPropertyCheck = false; ts.Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); - var result = isRelatedTo(source, target, 3 /* Both */, /*reportErrors*/ !!errorNode, headMessage); + var result = isRelatedTo(source, target, 3 /* RecursionFlags.Both */, /*reportErrors*/ !!errorNode, headMessage); if (incompatibleStack) { reportIncompatibleStack(); } if (overflow) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "checkTypeRelatedTo_DepthLimit", { sourceId: source.id, targetId: target.id, depth: sourceDepth, targetDepth: targetDepth }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "checkTypeRelatedTo_DepthLimit", { sourceId: source.id, targetId: target.id, depth: sourceDepth, targetDepth: targetDepth }); var diag = error(errorNode || currentNode, ts.Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source), typeToString(target)); if (errorOutputContainer) { (errorOutputContainer.errors || (errorOutputContainer.errors = [])).push(diag); @@ -64421,10 +64681,10 @@ var ts; diagnostics.add(diag); } } - if (errorNode && errorOutputContainer && errorOutputContainer.skipLogging && result === 0 /* False */) { + if (errorNode && errorOutputContainer && errorOutputContainer.skipLogging && result === 0 /* Ternary.False */) { ts.Debug.assert(!!errorOutputContainer.errors, "missed opportunity to interact with error."); } - return result !== 0 /* False */; + return result !== 0 /* Ternary.False */; function resetErrorInfo(saved) { errorInfo = saved.errorInfo; lastSkippedInfo = saved.lastSkippedInfo; @@ -64469,24 +64729,24 @@ var ts; case ts.Diagnostics.Types_of_property_0_are_incompatible.code: { // Parenthesize a `new` if there is one if (path.indexOf("new ") === 0) { - path = "(" + path + ")"; + path = "(".concat(path, ")"); } var str = "" + args[0]; // If leading, just print back the arg (irrespective of if it's a valid identifier) if (path.length === 0) { - path = "" + str; + path = "".concat(str); } // Otherwise write a dotted name if possible else if (ts.isIdentifierText(str, ts.getEmitScriptTarget(compilerOptions))) { - path = path + "." + str; + path = "".concat(path, ".").concat(str); } // Failing that, check if the name is already a computed name else if (str[0] === "[" && str[str.length - 1] === "]") { - path = "" + path + str; + path = "".concat(path).concat(str); } // And finally write out a computed name as a last resort else { - path = path + "[" + str + "]"; + path = "".concat(path, "[").concat(str, "]"); } break; } @@ -64515,7 +64775,7 @@ var ts; msg.code === ts.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code) ? "" : "..."; - path = "" + prefix + path + "(" + params + ")"; + path = "".concat(prefix).concat(path, "(").concat(params, ")"); } break; } @@ -64528,7 +64788,7 @@ var ts; break; } default: - return ts.Debug.fail("Unhandled Diagnostic: " + msg.code); + return ts.Debug.fail("Unhandled Diagnostic: ".concat(msg.code)); } } if (path) { @@ -64580,7 +64840,7 @@ var ts; ts.Debug.assert(!isTypeAssignableTo(generalizedSource, target), "generalized source shouldn't be assignable"); generalizedSourceType = getTypeNameForErrorDisplay(generalizedSource); } - if (target.flags & 262144 /* TypeParameter */ && target !== markerSuperType && target !== markerSubType) { + if (target.flags & 262144 /* TypeFlags.TypeParameter */ && target !== markerSuperType && target !== markerSubType) { var constraint = getBaseConstraintOfType(target); var needsOriginalSource = void 0; if (constraint && (isTypeAssignableTo(generalizedSource, constraint) || (needsOriginalSource = isTypeAssignableTo(source, constraint)))) { @@ -64602,7 +64862,7 @@ var ts; message = ts.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties; } else { - if (source.flags & 128 /* StringLiteral */ && target.flags & 1048576 /* Union */) { + if (source.flags & 128 /* TypeFlags.StringLiteral */ && target.flags & 1048576 /* TypeFlags.Union */) { var suggestedType = getSuggestedTypeForNonexistentStringLiteralType(source, target); if (suggestedType) { reportError(ts.Diagnostics.Type_0_is_not_assignable_to_type_1_Did_you_mean_2, generalizedSourceType, targetType, typeToString(suggestedType)); @@ -64650,7 +64910,7 @@ var ts; } return false; } - return isTupleType(target) || isArrayType(target); + return isArrayOrTupleType(target); } if (isReadonlyArrayType(source) && isMutableArrayOrTuple(target)) { if (reportErrors) { @@ -64664,7 +64924,7 @@ var ts; return true; } function isRelatedToWorker(source, target, reportErrors) { - return isRelatedTo(source, target, 3 /* Both */, reportErrors); + return isRelatedTo(source, target, 3 /* RecursionFlags.Both */, reportErrors); } /** * Compare two types and return @@ -64673,19 +64933,19 @@ var ts; * * Ternary.False if they are not related. */ function isRelatedTo(originalSource, originalTarget, recursionFlags, reportErrors, headMessage, intersectionState) { - if (recursionFlags === void 0) { recursionFlags = 3 /* Both */; } + if (recursionFlags === void 0) { recursionFlags = 3 /* RecursionFlags.Both */; } if (reportErrors === void 0) { reportErrors = false; } - if (intersectionState === void 0) { intersectionState = 0 /* None */; } + if (intersectionState === void 0) { intersectionState = 0 /* IntersectionState.None */; } // Before normalization: if `source` is type an object type, and `target` is primitive, // skip all the checks we don't need and just return `isSimpleTypeRelatedTo` result - if (originalSource.flags & 524288 /* Object */ && originalTarget.flags & 131068 /* Primitive */) { + if (originalSource.flags & 524288 /* TypeFlags.Object */ && originalTarget.flags & 131068 /* TypeFlags.Primitive */) { if (isSimpleTypeRelatedTo(originalSource, originalTarget, relation, reportErrors ? reportError : undefined)) { - return -1 /* True */; + return -1 /* Ternary.True */; } if (reportErrors) { reportErrorResults(originalSource, originalTarget, originalSource, originalTarget, headMessage); } - return 0 /* False */; + return 0 /* Ternary.False */; } // Normalize the source and target types: Turn fresh literal types into regular literal types, // turn deferred type references into regular type references, simplify indexed access and @@ -64694,73 +64954,73 @@ var ts; var source = getNormalizedType(originalSource, /*writing*/ false); var target = getNormalizedType(originalTarget, /*writing*/ true); if (source === target) - return -1 /* True */; + return -1 /* Ternary.True */; if (relation === identityRelation) { if (source.flags !== target.flags) - return 0 /* False */; - if (source.flags & 67358815 /* Singleton */) - return -1 /* True */; + return 0 /* Ternary.False */; + if (source.flags & 67358815 /* TypeFlags.Singleton */) + return -1 /* Ternary.True */; traceUnionsOrIntersectionsTooLarge(source, target); - return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false, 0 /* None */, recursionFlags); + return recursiveTypeRelatedTo(source, target, /*reportErrors*/ false, 0 /* IntersectionState.None */, recursionFlags); } // We fastpath comparing a type parameter to exactly its constraint, as this is _super_ common, // and otherwise, for type parameters in large unions, causes us to need to compare the union to itself, // as we break down the _target_ union first, _then_ get the source constraint - so for every // member of the target, we attempt to find a match in the source. This avoids that in cases where // the target is exactly the constraint. - if (source.flags & 262144 /* TypeParameter */ && getConstraintOfType(source) === target) { - return -1 /* True */; + if (source.flags & 262144 /* TypeFlags.TypeParameter */ && getConstraintOfType(source) === target) { + return -1 /* Ternary.True */; } // See if we're relating a definitely non-nullable type to a union that includes null and/or undefined // plus a single non-nullable type. If so, remove null and/or undefined from the target type. - if (source.flags & 470302716 /* DefinitelyNonNullable */ && target.flags & 1048576 /* Union */) { + if (source.flags & 470302716 /* TypeFlags.DefinitelyNonNullable */ && target.flags & 1048576 /* TypeFlags.Union */) { var types = target.types; - var candidate = types.length === 2 && types[0].flags & 98304 /* Nullable */ ? types[1] : - types.length === 3 && types[0].flags & 98304 /* Nullable */ && types[1].flags & 98304 /* Nullable */ ? types[2] : + var candidate = types.length === 2 && types[0].flags & 98304 /* TypeFlags.Nullable */ ? types[1] : + types.length === 3 && types[0].flags & 98304 /* TypeFlags.Nullable */ && types[1].flags & 98304 /* TypeFlags.Nullable */ ? types[2] : undefined; - if (candidate && !(candidate.flags & 98304 /* Nullable */)) { + if (candidate && !(candidate.flags & 98304 /* TypeFlags.Nullable */)) { target = getNormalizedType(candidate, /*writing*/ true); if (source === target) - return -1 /* True */; + return -1 /* Ternary.True */; } } - if (relation === comparableRelation && !(target.flags & 131072 /* Never */) && isSimpleTypeRelatedTo(target, source, relation) || + if (relation === comparableRelation && !(target.flags & 131072 /* TypeFlags.Never */) && isSimpleTypeRelatedTo(target, source, relation) || isSimpleTypeRelatedTo(source, target, relation, reportErrors ? reportError : undefined)) - return -1 /* True */; - if (source.flags & 469499904 /* StructuredOrInstantiable */ || target.flags & 469499904 /* StructuredOrInstantiable */) { - var isPerformingExcessPropertyChecks = !(intersectionState & 2 /* Target */) && (isObjectLiteralType(source) && ts.getObjectFlags(source) & 8192 /* FreshLiteral */); + return -1 /* Ternary.True */; + if (source.flags & 469499904 /* TypeFlags.StructuredOrInstantiable */ || target.flags & 469499904 /* TypeFlags.StructuredOrInstantiable */) { + var isPerformingExcessPropertyChecks = !(intersectionState & 2 /* IntersectionState.Target */) && (isObjectLiteralType(source) && ts.getObjectFlags(source) & 8192 /* ObjectFlags.FreshLiteral */); if (isPerformingExcessPropertyChecks) { if (hasExcessProperties(source, target, reportErrors)) { if (reportErrors) { reportRelationError(headMessage, source, originalTarget.aliasSymbol ? originalTarget : target); } - return 0 /* False */; + return 0 /* Ternary.False */; } } - var isPerformingCommonPropertyChecks = relation !== comparableRelation && !(intersectionState & 2 /* Target */) && - source.flags & (131068 /* Primitive */ | 524288 /* Object */ | 2097152 /* Intersection */) && source !== globalObjectType && - target.flags & (524288 /* Object */ | 2097152 /* Intersection */) && isWeakType(target) && + var isPerformingCommonPropertyChecks = relation !== comparableRelation && !(intersectionState & 2 /* IntersectionState.Target */) && + source.flags & (131068 /* TypeFlags.Primitive */ | 524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && source !== globalObjectType && + target.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && isWeakType(target) && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)); - var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* JsxAttributes */); + var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* ObjectFlags.JsxAttributes */); if (isPerformingCommonPropertyChecks && !hasCommonProperties(source, target, isComparingJsxAttributes)) { if (reportErrors) { var sourceString = typeToString(originalSource.aliasSymbol ? originalSource : source); var targetString = typeToString(originalTarget.aliasSymbol ? originalTarget : target); - var calls = getSignaturesOfType(source, 0 /* Call */); - var constructs = getSignaturesOfType(source, 1 /* Construct */); - if (calls.length > 0 && isRelatedTo(getReturnTypeOfSignature(calls[0]), target, 1 /* Source */, /*reportErrors*/ false) || - constructs.length > 0 && isRelatedTo(getReturnTypeOfSignature(constructs[0]), target, 1 /* Source */, /*reportErrors*/ false)) { + var calls = getSignaturesOfType(source, 0 /* SignatureKind.Call */); + var constructs = getSignaturesOfType(source, 1 /* SignatureKind.Construct */); + if (calls.length > 0 && isRelatedTo(getReturnTypeOfSignature(calls[0]), target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false) || + constructs.length > 0 && isRelatedTo(getReturnTypeOfSignature(constructs[0]), target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false)) { reportError(ts.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, sourceString, targetString); } else { reportError(ts.Diagnostics.Type_0_has_no_properties_in_common_with_type_1, sourceString, targetString); } } - return 0 /* False */; + return 0 /* Ternary.False */; } traceUnionsOrIntersectionsTooLarge(source, target); - var skipCaching = source.flags & 1048576 /* Union */ && source.types.length < 4 && !(target.flags & 1048576 /* Union */) || - target.flags & 1048576 /* Union */ && target.types.length < 4 && !(source.flags & 469499904 /* StructuredOrInstantiable */); + var skipCaching = source.flags & 1048576 /* TypeFlags.Union */ && source.types.length < 4 && !(target.flags & 1048576 /* TypeFlags.Union */) || + target.flags & 1048576 /* TypeFlags.Union */ && target.types.length < 4 && !(source.flags & 469499904 /* TypeFlags.StructuredOrInstantiable */); var result_7 = skipCaching ? unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) : recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags); @@ -64779,10 +65039,10 @@ var ts; // // We suppress recursive intersection property checks because they can generate lots of work when relating // recursive intersections that are structurally similar but not exactly identical. See #37854. - if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || - isNonGenericObjectType(target) && !isArrayType(target) && !isTupleType(target) && source.flags & 2097152 /* Intersection */ && getApparentType(source).flags & 3670016 /* StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* NonInferrableType */); }))) { + if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* TypeFlags.Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || + isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & 2097152 /* TypeFlags.Intersection */ && getApparentType(source).flags & 3670016 /* TypeFlags.StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* ObjectFlags.NonInferrableType */); }))) { inPropertyCheck = true; - result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* PropertyCheck */, recursionFlags); + result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* IntersectionState.PropertyCheck */, recursionFlags); inPropertyCheck = false; } if (result_7) { @@ -64792,10 +65052,9 @@ var ts; if (reportErrors) { reportErrorResults(originalSource, originalTarget, source, target, headMessage); } - return 0 /* False */; + return 0 /* Ternary.False */; } function reportErrorResults(originalSource, originalTarget, source, target, headMessage) { - var _a, _b; var sourceHasBase = !!getSingleBaseForNonAugmentingSubtype(originalSource); var targetHasBase = !!getSingleBaseForNonAugmentingSubtype(originalTarget); source = (originalSource.aliasSymbol || sourceHasBase) ? originalSource : source; @@ -64804,20 +65063,20 @@ var ts; if (maybeSuppress) { overrideNextErrorInfo--; } - if (source.flags & 524288 /* Object */ && target.flags & 524288 /* Object */) { + if (source.flags & 524288 /* TypeFlags.Object */ && target.flags & 524288 /* TypeFlags.Object */) { var currentError = errorInfo; tryElaborateArrayLikeErrors(source, target, /*reportErrors*/ true); if (errorInfo !== currentError) { maybeSuppress = !!errorInfo; } } - if (source.flags & 524288 /* Object */ && target.flags & 131068 /* Primitive */) { + if (source.flags & 524288 /* TypeFlags.Object */ && target.flags & 131068 /* TypeFlags.Primitive */) { tryElaborateErrorsForPrimitivesAndObjects(source, target); } - else if (source.symbol && source.flags & 524288 /* Object */ && globalObjectType === source) { + else if (source.symbol && source.flags & 524288 /* TypeFlags.Object */ && globalObjectType === source) { reportError(ts.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead); } - else if (ts.getObjectFlags(source) & 2048 /* JsxAttributes */ && target.flags & 2097152 /* Intersection */) { + else if (ts.getObjectFlags(source) & 2048 /* ObjectFlags.JsxAttributes */ && target.flags & 2097152 /* TypeFlags.Intersection */) { var targetTypes = target.types; var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode); var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode); @@ -64836,25 +65095,22 @@ var ts; return; } reportRelationError(headMessage, source, target); - if (strictNullChecks && source.flags & 8650752 /* TypeVariable */ && ((_b = (_a = source.symbol) === null || _a === void 0 ? void 0 : _a.declarations) === null || _b === void 0 ? void 0 : _b[0]) && !getConstraintOfType(source) && isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* NonPrimitive */))) { - associateRelatedInfo(ts.createDiagnosticForNode(source.symbol.declarations[0], ts.Diagnostics.This_type_parameter_probably_needs_an_extends_object_constraint)); - } } function traceUnionsOrIntersectionsTooLarge(source, target) { if (!ts.tracing) { return; } - if ((source.flags & 3145728 /* UnionOrIntersection */) && (target.flags & 3145728 /* UnionOrIntersection */)) { + if ((source.flags & 3145728 /* TypeFlags.UnionOrIntersection */) && (target.flags & 3145728 /* TypeFlags.UnionOrIntersection */)) { var sourceUnionOrIntersection = source; var targetUnionOrIntersection = target; - if (sourceUnionOrIntersection.objectFlags & targetUnionOrIntersection.objectFlags & 32768 /* PrimitiveUnion */) { + if (sourceUnionOrIntersection.objectFlags & targetUnionOrIntersection.objectFlags & 32768 /* ObjectFlags.PrimitiveUnion */) { // There's a fast path for comparing primitive unions return; } var sourceSize = sourceUnionOrIntersection.types.length; var targetSize = targetUnionOrIntersection.types.length; if (sourceSize * targetSize > 1E6) { - ts.tracing.instant("checkTypes" /* CheckTypes */, "traceUnionsOrIntersectionsTooLarge_DepthLimit", { + ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "traceUnionsOrIntersectionsTooLarge_DepthLimit", { sourceId: source.id, sourceSize: sourceSize, targetId: target.id, @@ -64869,7 +65125,7 @@ var ts; var appendPropType = function (propTypes, type) { var _a; type = getApparentType(type); - var prop = type.flags & 3145728 /* UnionOrIntersection */ ? getPropertyOfUnionOrIntersectionType(type, name) : getPropertyOfObjectType(type, name); + var prop = type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? getPropertyOfUnionOrIntersectionType(type, name) : getPropertyOfObjectType(type, name); var propType = prop && getTypeOfSymbol(prop) || ((_a = getApplicableIndexInfoForName(type, name)) === null || _a === void 0 ? void 0 : _a.type) || undefinedType; return ts.append(propTypes, propType); }; @@ -64877,19 +65133,19 @@ var ts; } function hasExcessProperties(source, target, reportErrors) { var _a; - if (!isExcessPropertyCheckTarget(target) || !noImplicitAny && ts.getObjectFlags(target) & 4096 /* JSLiteral */) { + if (!isExcessPropertyCheckTarget(target) || !noImplicitAny && ts.getObjectFlags(target) & 4096 /* ObjectFlags.JSLiteral */) { return false; // Disable excess property checks on JS literals to simulate having an implicit "index signature" - but only outside of noImplicitAny } - var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* JsxAttributes */); + var isComparingJsxAttributes = !!(ts.getObjectFlags(source) & 2048 /* ObjectFlags.JsxAttributes */); if ((relation === assignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target) || (!isComparingJsxAttributes && isEmptyObjectType(target)))) { return false; } var reducedTarget = target; var checkTypes; - if (target.flags & 1048576 /* Union */) { + if (target.flags & 1048576 /* TypeFlags.Union */) { reducedTarget = findMatchingDiscriminantType(source, target, isRelatedTo) || filterPrimitivesIfContainsNonPrimitive(target); - checkTypes = reducedTarget.flags & 1048576 /* Union */ ? reducedTarget.types : [reducedTarget]; + checkTypes = reducedTarget.flags & 1048576 /* TypeFlags.Union */ ? reducedTarget.types : [reducedTarget]; } var _loop_19 = function (prop) { if (shouldCheckAsExcessProperty(prop, source.symbol) && !isIgnoredJsxProperty(source, prop)) { @@ -64944,7 +65200,7 @@ var ts; } return { value: true }; } - if (checkTypes && !isRelatedTo(getTypeOfSymbol(prop), getTypeOfPropertyInTypes(checkTypes, prop.escapedName), 3 /* Both */, reportErrors)) { + if (checkTypes && !isRelatedTo(getTypeOfSymbol(prop), getTypeOfPropertyInTypes(checkTypes, prop.escapedName), 3 /* RecursionFlags.Both */, reportErrors)) { if (reportErrors) { reportIncompatibleError(ts.Diagnostics.Types_of_property_0_are_incompatible, symbolToString(prop)); } @@ -64967,28 +65223,28 @@ var ts; // Note that these checks are specifically ordered to produce correct results. In particular, // we need to deconstruct unions before intersections (because unions are always at the top), // and we need to handle "each" relations before "some" relations for the same kind of type. - if (source.flags & 1048576 /* Union */) { + if (source.flags & 1048576 /* TypeFlags.Union */) { return relation === comparableRelation ? - someTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* Primitive */), intersectionState) : - eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* Primitive */), intersectionState); + someTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* TypeFlags.Primitive */), intersectionState) : + eachTypeRelatedToType(source, target, reportErrors && !(source.flags & 131068 /* TypeFlags.Primitive */), intersectionState); } - if (target.flags & 1048576 /* Union */) { - return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(source), target, reportErrors && !(source.flags & 131068 /* Primitive */) && !(target.flags & 131068 /* Primitive */)); + if (target.flags & 1048576 /* TypeFlags.Union */) { + return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(source), target, reportErrors && !(source.flags & 131068 /* TypeFlags.Primitive */) && !(target.flags & 131068 /* TypeFlags.Primitive */)); } - if (target.flags & 2097152 /* Intersection */) { - return typeRelatedToEachType(getRegularTypeOfObjectLiteral(source), target, reportErrors, 2 /* Target */); + if (target.flags & 2097152 /* TypeFlags.Intersection */) { + return typeRelatedToEachType(getRegularTypeOfObjectLiteral(source), target, reportErrors, 2 /* IntersectionState.Target */); } // Source is an intersection. For the comparable relation, if the target is a primitive type we hoist the // constraints of all non-primitive types in the source into a new intersection. We do this because the // intersection may further constrain the constraints of the non-primitive types. For example, given a type // parameter 'T extends 1 | 2', the intersection 'T & 1' should be reduced to '1' such that it doesn't // appear to be comparable to '2'. - if (relation === comparableRelation && target.flags & 131068 /* Primitive */) { + if (relation === comparableRelation && target.flags & 131068 /* TypeFlags.Primitive */) { var constraints = ts.sameMap(source.types, getBaseConstraintOrType); if (constraints !== source.types) { source = getIntersectionType(constraints); - if (!(source.flags & 2097152 /* Intersection */)) { - return isRelatedTo(source, target, 1 /* Source */, /*reportErrors*/ false); + if (!(source.flags & 2097152 /* TypeFlags.Intersection */)) { + return isRelatedTo(source, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false); } } } @@ -64996,16 +65252,16 @@ var ts; // Don't report errors though. Elaborating on whether a source constituent is related to the target is // not actually useful and leads to some confusing error messages. Instead, we rely on the caller // checking whether the full intersection viewed as an object is related to the target. - return someTypeRelatedToType(source, target, /*reportErrors*/ false, 1 /* Source */); + return someTypeRelatedToType(source, target, /*reportErrors*/ false, 1 /* IntersectionState.Source */); } function eachTypeRelatedToSomeType(source, target) { - var result = -1 /* True */; + var result = -1 /* Ternary.True */; var sourceTypes = source.types; for (var _i = 0, sourceTypes_1 = sourceTypes; _i < sourceTypes_1.length; _i++) { var sourceType = sourceTypes_1[_i]; var related = typeRelatedToSomeType(sourceType, target, /*reportErrors*/ false); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -65013,13 +65269,13 @@ var ts; } function typeRelatedToSomeType(source, target, reportErrors) { var targetTypes = target.types; - if (target.flags & 1048576 /* Union */) { + if (target.flags & 1048576 /* TypeFlags.Union */) { if (containsType(targetTypes, source)) { - return -1 /* True */; + return -1 /* Ternary.True */; } var match = getMatchingUnionConstituentForType(target, source); if (match) { - var related = isRelatedTo(source, match, 2 /* Target */, /*reportErrors*/ false); + var related = isRelatedTo(source, match, 2 /* RecursionFlags.Target */, /*reportErrors*/ false); if (related) { return related; } @@ -65027,7 +65283,7 @@ var ts; } for (var _i = 0, targetTypes_1 = targetTypes; _i < targetTypes_1.length; _i++) { var type = targetTypes_1[_i]; - var related = isRelatedTo(source, type, 2 /* Target */, /*reportErrors*/ false); + var related = isRelatedTo(source, type, 2 /* RecursionFlags.Target */, /*reportErrors*/ false); if (related) { return related; } @@ -65036,19 +65292,19 @@ var ts; // Elaborate only if we can find a best matching type in the target union var bestMatchingType = getBestMatchingType(source, target, isRelatedTo); if (bestMatchingType) { - isRelatedTo(source, bestMatchingType, 2 /* Target */, /*reportErrors*/ true); + isRelatedTo(source, bestMatchingType, 2 /* RecursionFlags.Target */, /*reportErrors*/ true); } } - return 0 /* False */; + return 0 /* Ternary.False */; } function typeRelatedToEachType(source, target, reportErrors, intersectionState) { - var result = -1 /* True */; + var result = -1 /* Ternary.True */; var targetTypes = target.types; for (var _i = 0, targetTypes_2 = targetTypes; _i < targetTypes_2.length; _i++) { var targetType = targetTypes_2[_i]; - var related = isRelatedTo(source, targetType, 2 /* Target */, reportErrors, /*headMessage*/ undefined, intersectionState); + var related = isRelatedTo(source, targetType, 2 /* RecursionFlags.Target */, reportErrors, /*headMessage*/ undefined, intersectionState); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -65056,50 +65312,50 @@ var ts; } function someTypeRelatedToType(source, target, reportErrors, intersectionState) { var sourceTypes = source.types; - if (source.flags & 1048576 /* Union */ && containsType(sourceTypes, target)) { - return -1 /* True */; + if (source.flags & 1048576 /* TypeFlags.Union */ && containsType(sourceTypes, target)) { + return -1 /* Ternary.True */; } var len = sourceTypes.length; for (var i = 0; i < len; i++) { - var related = isRelatedTo(sourceTypes[i], target, 1 /* Source */, reportErrors && i === len - 1, /*headMessage*/ undefined, intersectionState); + var related = isRelatedTo(sourceTypes[i], target, 1 /* RecursionFlags.Source */, reportErrors && i === len - 1, /*headMessage*/ undefined, intersectionState); if (related) { return related; } } - return 0 /* False */; + return 0 /* Ternary.False */; } function getUndefinedStrippedTargetIfNeeded(source, target) { // As a builtin type, `undefined` is a very low type ID - making it almsot always first, making this a very fast check to see // if we need to strip `undefined` from the target - if (source.flags & 1048576 /* Union */ && target.flags & 1048576 /* Union */ && - !(source.types[0].flags & 32768 /* Undefined */) && target.types[0].flags & 32768 /* Undefined */) { - return extractTypesOfKind(target, ~32768 /* Undefined */); + if (source.flags & 1048576 /* TypeFlags.Union */ && target.flags & 1048576 /* TypeFlags.Union */ && + !(source.types[0].flags & 32768 /* TypeFlags.Undefined */) && target.types[0].flags & 32768 /* TypeFlags.Undefined */) { + return extractTypesOfKind(target, ~32768 /* TypeFlags.Undefined */); } return target; } function eachTypeRelatedToType(source, target, reportErrors, intersectionState) { - var result = -1 /* True */; + var result = -1 /* Ternary.True */; var sourceTypes = source.types; // We strip `undefined` from the target if the `source` trivially doesn't contain it for our correspondence-checking fastpath // since `undefined` is frequently added by optionality and would otherwise spoil a potentially useful correspondence var undefinedStrippedTarget = getUndefinedStrippedTargetIfNeeded(source, target); for (var i = 0; i < sourceTypes.length; i++) { var sourceType = sourceTypes[i]; - if (undefinedStrippedTarget.flags & 1048576 /* Union */ && sourceTypes.length >= undefinedStrippedTarget.types.length && sourceTypes.length % undefinedStrippedTarget.types.length === 0) { + if (undefinedStrippedTarget.flags & 1048576 /* TypeFlags.Union */ && sourceTypes.length >= undefinedStrippedTarget.types.length && sourceTypes.length % undefinedStrippedTarget.types.length === 0) { // many unions are mappings of one another; in such cases, simply comparing members at the same index can shortcut the comparison // such unions will have identical lengths, and their corresponding elements will match up. Another common scenario is where a large // union has a union of objects intersected with it. In such cases, if the input was, eg `("a" | "b" | "c") & (string | boolean | {} | {whatever})`, // the result will have the structure `"a" | "b" | "c" | "a" & {} | "b" & {} | "c" & {} | "a" & {whatever} | "b" & {whatever} | "c" & {whatever}` // - the resulting union has a length which is a multiple of the original union, and the elements correspond modulo the length of the original union - var related_1 = isRelatedTo(sourceType, undefinedStrippedTarget.types[i % undefinedStrippedTarget.types.length], 3 /* Both */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); + var related_1 = isRelatedTo(sourceType, undefinedStrippedTarget.types[i % undefinedStrippedTarget.types.length], 3 /* RecursionFlags.Both */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); if (related_1) { result &= related_1; continue; } } - var related = isRelatedTo(sourceType, target, 1 /* Source */, reportErrors, /*headMessage*/ undefined, intersectionState); + var related = isRelatedTo(sourceType, target, 1 /* RecursionFlags.Source */, reportErrors, /*headMessage*/ undefined, intersectionState); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -65110,54 +65366,54 @@ var ts; if (targets === void 0) { targets = ts.emptyArray; } if (variances === void 0) { variances = ts.emptyArray; } if (sources.length !== targets.length && relation === identityRelation) { - return 0 /* False */; + return 0 /* Ternary.False */; } var length = sources.length <= targets.length ? sources.length : targets.length; - var result = -1 /* True */; + var result = -1 /* Ternary.True */; for (var i = 0; i < length; i++) { // When variance information isn't available we default to covariance. This happens // in the process of computing variance information for recursive types and when // comparing 'this' type arguments. - var varianceFlags = i < variances.length ? variances[i] : 1 /* Covariant */; - var variance = varianceFlags & 7 /* VarianceMask */; + var varianceFlags = i < variances.length ? variances[i] : 1 /* VarianceFlags.Covariant */; + var variance = varianceFlags & 7 /* VarianceFlags.VarianceMask */; // We ignore arguments for independent type parameters (because they're never witnessed). - if (variance !== 4 /* Independent */) { + if (variance !== 4 /* VarianceFlags.Independent */) { var s = sources[i]; var t = targets[i]; - var related = -1 /* True */; - if (varianceFlags & 8 /* Unmeasurable */) { + var related = -1 /* Ternary.True */; + if (varianceFlags & 8 /* VarianceFlags.Unmeasurable */) { // Even an `Unmeasurable` variance works out without a structural check if the source and target are _identical_. // We can't simply assume invariance, because `Unmeasurable` marks nonlinear relations, for example, a relation tained by // the `-?` modifier in a mapped type (where, no matter how the inputs are related, the outputs still might not be) - related = relation === identityRelation ? isRelatedTo(s, t, 3 /* Both */, /*reportErrors*/ false) : compareTypesIdentical(s, t); + related = relation === identityRelation ? isRelatedTo(s, t, 3 /* RecursionFlags.Both */, /*reportErrors*/ false) : compareTypesIdentical(s, t); } - else if (variance === 1 /* Covariant */) { - related = isRelatedTo(s, t, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + else if (variance === 1 /* VarianceFlags.Covariant */) { + related = isRelatedTo(s, t, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); } - else if (variance === 2 /* Contravariant */) { - related = isRelatedTo(t, s, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + else if (variance === 2 /* VarianceFlags.Contravariant */) { + related = isRelatedTo(t, s, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); } - else if (variance === 3 /* Bivariant */) { + else if (variance === 3 /* VarianceFlags.Bivariant */) { // In the bivariant case we first compare contravariantly without reporting // errors. Then, if that doesn't succeed, we compare covariantly with error // reporting. Thus, error elaboration will be based on the the covariant check, // which is generally easier to reason about. - related = isRelatedTo(t, s, 3 /* Both */, /*reportErrors*/ false); + related = isRelatedTo(t, s, 3 /* RecursionFlags.Both */, /*reportErrors*/ false); if (!related) { - related = isRelatedTo(s, t, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + related = isRelatedTo(s, t, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); } } else { // In the invariant case we first compare covariantly, and only when that // succeeds do we proceed to compare contravariantly. Thus, error elaboration // will typically be based on the covariant check. - related = isRelatedTo(s, t, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + related = isRelatedTo(s, t, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); if (related) { - related &= isRelatedTo(t, s, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + related &= isRelatedTo(t, s, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); } } if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -65171,28 +65427,28 @@ var ts; // and issue an error. Otherwise, actually compare the structure of the two types. function recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags) { if (overflow) { - return 0 /* False */; + return 0 /* Ternary.False */; } - var keyIntersectionState = intersectionState | (inPropertyCheck ? 8 /* InPropertyCheck */ : 0); + var keyIntersectionState = intersectionState | (inPropertyCheck ? 8 /* IntersectionState.InPropertyCheck */ : 0); var id = getRelationKey(source, target, keyIntersectionState, relation, /*ingnoreConstraints*/ false); var entry = relation.get(id); if (entry !== undefined) { - if (reportErrors && entry & 2 /* Failed */ && !(entry & 4 /* Reported */)) { + if (reportErrors && entry & 2 /* RelationComparisonResult.Failed */ && !(entry & 4 /* RelationComparisonResult.Reported */)) { // We are elaborating errors and the cached result is an unreported failure. The result will be reported // as a failure, and should be updated as a reported failure by the bottom of this function. } else { if (outofbandVarianceMarkerHandler) { // We're in the middle of variance checking - integrate any unmeasurable/unreliable flags from this cached component - var saved = entry & 24 /* ReportsMask */; - if (saved & 8 /* ReportsUnmeasurable */) { + var saved = entry & 24 /* RelationComparisonResult.ReportsMask */; + if (saved & 8 /* RelationComparisonResult.ReportsUnmeasurable */) { instantiateType(source, makeFunctionTypeMapper(reportUnmeasurableMarkers)); } - if (saved & 16 /* ReportsUnreliable */) { + if (saved & 16 /* RelationComparisonResult.ReportsUnreliable */) { instantiateType(source, makeFunctionTypeMapper(reportUnreliableMarkers)); } } - return entry & 1 /* Succeeded */ ? -1 /* True */ : 0 /* False */; + return entry & 1 /* RelationComparisonResult.Succeeded */ ? -1 /* Ternary.True */ : 0 /* Ternary.False */; } } if (!maybeKeys) { @@ -65208,42 +65464,42 @@ var ts; for (var i = 0; i < maybeCount; i++) { // If source and target are already being compared, consider them related with assumptions if (id === maybeKeys[i] || broadestEquivalentId && broadestEquivalentId === maybeKeys[i]) { - return 3 /* Maybe */; + return 3 /* Ternary.Maybe */; } } if (sourceDepth === 100 || targetDepth === 100) { overflow = true; - return 0 /* False */; + return 0 /* Ternary.False */; } } var maybeStart = maybeCount; maybeKeys[maybeCount] = id; maybeCount++; var saveExpandingFlags = expandingFlags; - if (recursionFlags & 1 /* Source */) { + if (recursionFlags & 1 /* RecursionFlags.Source */) { sourceStack[sourceDepth] = source; sourceDepth++; - if (!(expandingFlags & 1 /* Source */) && isDeeplyNestedType(source, sourceStack, sourceDepth)) - expandingFlags |= 1 /* Source */; + if (!(expandingFlags & 1 /* ExpandingFlags.Source */) && isDeeplyNestedType(source, sourceStack, sourceDepth)) + expandingFlags |= 1 /* ExpandingFlags.Source */; } - if (recursionFlags & 2 /* Target */) { + if (recursionFlags & 2 /* RecursionFlags.Target */) { targetStack[targetDepth] = target; targetDepth++; - if (!(expandingFlags & 2 /* Target */) && isDeeplyNestedType(target, targetStack, targetDepth)) - expandingFlags |= 2 /* Target */; + if (!(expandingFlags & 2 /* ExpandingFlags.Target */) && isDeeplyNestedType(target, targetStack, targetDepth)) + expandingFlags |= 2 /* ExpandingFlags.Target */; } var originalHandler; var propagatingVarianceFlags = 0; if (outofbandVarianceMarkerHandler) { originalHandler = outofbandVarianceMarkerHandler; outofbandVarianceMarkerHandler = function (onlyUnreliable) { - propagatingVarianceFlags |= onlyUnreliable ? 16 /* ReportsUnreliable */ : 8 /* ReportsUnmeasurable */; + propagatingVarianceFlags |= onlyUnreliable ? 16 /* RelationComparisonResult.ReportsUnreliable */ : 8 /* RelationComparisonResult.ReportsUnmeasurable */; return originalHandler(onlyUnreliable); }; } var result; - if (expandingFlags === 3 /* Both */) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "recursiveTypeRelatedTo_DepthLimit", { + if (expandingFlags === 3 /* ExpandingFlags.Both */) { + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "recursiveTypeRelatedTo_DepthLimit", { sourceId: source.id, sourceIdStack: sourceStack.map(function (t) { return t.id; }), targetId: target.id, @@ -65251,30 +65507,30 @@ var ts; depth: sourceDepth, targetDepth: targetDepth }); - result = 3 /* Maybe */; + result = 3 /* Ternary.Maybe */; } else { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* CheckTypes */, "structuredTypeRelatedTo", { sourceId: source.id, targetId: target.id }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* tracing.Phase.CheckTypes */, "structuredTypeRelatedTo", { sourceId: source.id, targetId: target.id }); result = structuredTypeRelatedTo(source, target, reportErrors, intersectionState); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } if (outofbandVarianceMarkerHandler) { outofbandVarianceMarkerHandler = originalHandler; } - if (recursionFlags & 1 /* Source */) { + if (recursionFlags & 1 /* RecursionFlags.Source */) { sourceDepth--; } - if (recursionFlags & 2 /* Target */) { + if (recursionFlags & 2 /* RecursionFlags.Target */) { targetDepth--; } expandingFlags = saveExpandingFlags; if (result) { - if (result === -1 /* True */ || (sourceDepth === 0 && targetDepth === 0)) { - if (result === -1 /* True */ || result === 3 /* Maybe */) { + if (result === -1 /* Ternary.True */ || (sourceDepth === 0 && targetDepth === 0)) { + if (result === -1 /* Ternary.True */ || result === 3 /* Ternary.Maybe */) { // If result is definitely true, record all maybe keys as having succeeded. Also, record Ternary.Maybe // results as having succeeded once we reach depth 0, but never record Ternary.Unknown results. for (var i = maybeStart; i < maybeCount; i++) { - relation.set(maybeKeys[i], 1 /* Succeeded */ | propagatingVarianceFlags); + relation.set(maybeKeys[i], 1 /* RelationComparisonResult.Succeeded */ | propagatingVarianceFlags); } } maybeCount = maybeStart; @@ -65283,14 +65539,14 @@ var ts; else { // A false result goes straight into global cache (when something is false under // assumptions it will also be false without assumptions) - relation.set(id, (reportErrors ? 4 /* Reported */ : 0) | 2 /* Failed */ | propagatingVarianceFlags); + relation.set(id, (reportErrors ? 4 /* RelationComparisonResult.Reported */ : 0) | 2 /* RelationComparisonResult.Failed */ | propagatingVarianceFlags); maybeCount = maybeStart; } return result; } function structuredTypeRelatedTo(source, target, reportErrors, intersectionState) { - if (intersectionState & 4 /* PropertyCheck */) { - return propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, 0 /* None */); + if (intersectionState & 4 /* IntersectionState.PropertyCheck */) { + return propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, 0 /* IntersectionState.None */); } var result; var originalErrorInfo; @@ -65300,29 +65556,29 @@ var ts; var targetFlags = target.flags; if (relation === identityRelation) { // We've already checked that source.flags and target.flags are identical - if (sourceFlags & 3145728 /* UnionOrIntersection */) { + if (sourceFlags & 3145728 /* TypeFlags.UnionOrIntersection */) { var result_8 = eachTypeRelatedToSomeType(source, target); if (result_8) { result_8 &= eachTypeRelatedToSomeType(target, source); } return result_8; } - if (sourceFlags & 4194304 /* Index */) { - return isRelatedTo(source.type, target.type, 3 /* Both */, /*reportErrors*/ false); + if (sourceFlags & 4194304 /* TypeFlags.Index */) { + return isRelatedTo(source.type, target.type, 3 /* RecursionFlags.Both */, /*reportErrors*/ false); } - if (sourceFlags & 8388608 /* IndexedAccess */) { - if (result = isRelatedTo(source.objectType, target.objectType, 3 /* Both */, /*reportErrors*/ false)) { - if (result &= isRelatedTo(source.indexType, target.indexType, 3 /* Both */, /*reportErrors*/ false)) { + if (sourceFlags & 8388608 /* TypeFlags.IndexedAccess */) { + if (result = isRelatedTo(source.objectType, target.objectType, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(source.indexType, target.indexType, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { return result; } } } - if (sourceFlags & 16777216 /* Conditional */) { + if (sourceFlags & 16777216 /* TypeFlags.Conditional */) { if (source.root.isDistributive === target.root.isDistributive) { - if (result = isRelatedTo(source.checkType, target.checkType, 3 /* Both */, /*reportErrors*/ false)) { - if (result &= isRelatedTo(source.extendsType, target.extendsType, 3 /* Both */, /*reportErrors*/ false)) { - if (result &= isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), 3 /* Both */, /*reportErrors*/ false)) { - if (result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* Both */, /*reportErrors*/ false)) { + if (result = isRelatedTo(source.checkType, target.checkType, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(source.extendsType, target.extendsType, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { return result; } } @@ -65330,18 +65586,18 @@ var ts; } } } - if (sourceFlags & 33554432 /* Substitution */) { - return isRelatedTo(source.substitute, target.substitute, 3 /* Both */, /*reportErrors*/ false); + if (sourceFlags & 33554432 /* TypeFlags.Substitution */) { + return isRelatedTo(source.substitute, target.substitute, 3 /* RecursionFlags.Both */, /*reportErrors*/ false); } - if (!(sourceFlags & 524288 /* Object */)) { - return 0 /* False */; + if (!(sourceFlags & 524288 /* TypeFlags.Object */)) { + return 0 /* Ternary.False */; } } - else if (sourceFlags & 3145728 /* UnionOrIntersection */ || targetFlags & 3145728 /* UnionOrIntersection */) { + else if (sourceFlags & 3145728 /* TypeFlags.UnionOrIntersection */ || targetFlags & 3145728 /* TypeFlags.UnionOrIntersection */) { if (result = unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState)) { return result; } - if (source.flags & 2097152 /* Intersection */ || source.flags & 262144 /* TypeParameter */ && target.flags & 1048576 /* Union */) { + if (source.flags & 2097152 /* TypeFlags.Intersection */ || source.flags & 262144 /* TypeFlags.TypeParameter */ && target.flags & 1048576 /* TypeFlags.Union */) { // The combined constraint of an intersection type is the intersection of the constraints of // the constituents. When an intersection type contains instantiable types with union type // constraints, there are situations where we need to examine the combined constraint. One is @@ -65355,10 +65611,10 @@ var ts; // needs to have its constraint hoisted into an intersection with said type parameter, this way // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` - var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* Union */)); + var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* TypeFlags.Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* TypeFlags.Union */)); if (constraint && everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this - if (result = isRelatedTo(constraint, target, 1 /* Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { + if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { resetErrorInfo(saveErrorInfo); return result; } @@ -65370,20 +65626,20 @@ var ts; // Source is an intersection, target is an object (e.g. { a } & { b } <=> { a, b }). // Source is an intersection, target is a union (e.g. { a } & { b: boolean } <=> { a, b: true } | { a, b: false }). // Source is an intersection, target instantiable (e.g. string & { tag } <=> T["a"] constrained to string & { tag }). - if (!(sourceFlags & 465829888 /* Instantiable */ || - sourceFlags & 524288 /* Object */ && targetFlags & 1048576 /* Union */ || - sourceFlags & 2097152 /* Intersection */ && targetFlags & (524288 /* Object */ | 1048576 /* Union */ | 465829888 /* Instantiable */))) { - return 0 /* False */; + if (!(sourceFlags & 465829888 /* TypeFlags.Instantiable */ || + sourceFlags & 524288 /* TypeFlags.Object */ && targetFlags & 1048576 /* TypeFlags.Union */ || + sourceFlags & 2097152 /* TypeFlags.Intersection */ && targetFlags & (524288 /* TypeFlags.Object */ | 1048576 /* TypeFlags.Union */ | 465829888 /* TypeFlags.Instantiable */))) { + return 0 /* Ternary.False */; } } // We limit alias variance probing to only object and conditional types since their alias behavior // is more predictable than other, interned types, which may or may not have an alias depending on // the order in which things were checked. - if (sourceFlags & (524288 /* Object */ | 16777216 /* Conditional */) && source.aliasSymbol && source.aliasTypeArguments && + if (sourceFlags & (524288 /* TypeFlags.Object */ | 16777216 /* TypeFlags.Conditional */) && source.aliasSymbol && source.aliasTypeArguments && source.aliasSymbol === target.aliasSymbol && !(isMarkerType(source) || isMarkerType(target))) { var variances = getAliasVariances(source.aliasSymbol); if (variances === ts.emptyArray) { - return 1 /* Unknown */; + return 1 /* Ternary.Unknown */; } var varianceResult = relateVariances(source.aliasTypeArguments, target.aliasTypeArguments, variances, intersectionState); if (varianceResult !== undefined) { @@ -65392,34 +65648,34 @@ var ts; } // For a generic type T and a type U that is assignable to T, [...U] is assignable to T, U is assignable to readonly [...T], // and U is assignable to [...T] when U is constrained to a mutable array or tuple type. - if (isSingleElementGenericTupleType(source) && !source.target.readonly && (result = isRelatedTo(getTypeArguments(source)[0], target, 1 /* Source */)) || - isSingleElementGenericTupleType(target) && (target.target.readonly || isMutableArrayOrTuple(getBaseConstraintOfType(source) || source)) && (result = isRelatedTo(source, getTypeArguments(target)[0], 2 /* Target */))) { + if (isSingleElementGenericTupleType(source) && !source.target.readonly && (result = isRelatedTo(getTypeArguments(source)[0], target, 1 /* RecursionFlags.Source */)) || + isSingleElementGenericTupleType(target) && (target.target.readonly || isMutableArrayOrTuple(getBaseConstraintOfType(source) || source)) && (result = isRelatedTo(source, getTypeArguments(target)[0], 2 /* RecursionFlags.Target */))) { return result; } - if (targetFlags & 262144 /* TypeParameter */) { + if (targetFlags & 262144 /* TypeFlags.TypeParameter */) { // A source type { [P in Q]: X } is related to a target type T if keyof T is related to Q and X is related to T[Q]. - if (ts.getObjectFlags(source) & 32 /* Mapped */ && !source.declaration.nameType && isRelatedTo(getIndexType(target), getConstraintTypeFromMappedType(source), 3 /* Both */)) { - if (!(getMappedTypeModifiers(source) & 4 /* IncludeOptional */)) { + if (ts.getObjectFlags(source) & 32 /* ObjectFlags.Mapped */ && !source.declaration.nameType && isRelatedTo(getIndexType(target), getConstraintTypeFromMappedType(source), 3 /* RecursionFlags.Both */)) { + if (!(getMappedTypeModifiers(source) & 4 /* MappedTypeModifiers.IncludeOptional */)) { var templateType = getTemplateTypeFromMappedType(source); var indexedAccessType = getIndexedAccessType(target, getTypeParameterFromMappedType(source)); - if (result = isRelatedTo(templateType, indexedAccessType, 3 /* Both */, reportErrors)) { + if (result = isRelatedTo(templateType, indexedAccessType, 3 /* RecursionFlags.Both */, reportErrors)) { return result; } } } } - else if (targetFlags & 4194304 /* Index */) { + else if (targetFlags & 4194304 /* TypeFlags.Index */) { var targetType_1 = target.type; // A keyof S is related to a keyof T if T is related to S. - if (sourceFlags & 4194304 /* Index */) { - if (result = isRelatedTo(targetType_1, source.type, 3 /* Both */, /*reportErrors*/ false)) { + if (sourceFlags & 4194304 /* TypeFlags.Index */) { + if (result = isRelatedTo(targetType_1, source.type, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { return result; } } if (isTupleType(targetType_1)) { // An index type can have a tuple type target when the tuple type contains variadic elements. // Check if the source is related to the known keys of the tuple type. - if (result = isRelatedTo(source, getKnownKeysOfTupleType(targetType_1), 2 /* Target */, reportErrors)) { + if (result = isRelatedTo(source, getKnownKeysOfTupleType(targetType_1), 2 /* RecursionFlags.Target */, reportErrors)) { return result; } } @@ -65432,8 +65688,8 @@ var ts; // false positives. For example, given 'T extends { [K in keyof T]: string }', // 'keyof T' has itself as its constraint and produces a Ternary.Maybe when // related to other types. - if (isRelatedTo(source, getIndexType(constraint, target.stringsOnly), 2 /* Target */, reportErrors) === -1 /* True */) { - return -1 /* True */; + if (isRelatedTo(source, getIndexType(constraint, target.stringsOnly), 2 /* RecursionFlags.Target */, reportErrors) === -1 /* Ternary.True */) { + return -1 /* Ternary.True */; } } else if (isGenericMappedType(targetType_1)) { @@ -65448,7 +65704,7 @@ var ts; // missing from the `constraintType` which will otherwise be mapped in the object var modifiersType = getApparentType(getModifiersTypeFromMappedType(targetType_1)); var mappedKeys_1 = []; - forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* StringOrNumberLiteralOrUnique */, + forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, /*stringsOnly*/ false, function (t) { return void mappedKeys_1.push(instantiateType(nameType_1, appendTypeMapping(targetType_1.mapper, getTypeParameterFromMappedType(targetType_1), t))); }); // We still need to include the non-apparent (and thus still generic) keys in the target side of the comparison (in case they're in the source side) targetKeys = getUnionType(__spreadArray(__spreadArray([], mappedKeys_1, true), [nameType_1], false)); @@ -65456,18 +65712,18 @@ var ts; else { targetKeys = nameType_1 || constraintType; } - if (isRelatedTo(source, targetKeys, 2 /* Target */, reportErrors) === -1 /* True */) { - return -1 /* True */; + if (isRelatedTo(source, targetKeys, 2 /* RecursionFlags.Target */, reportErrors) === -1 /* Ternary.True */) { + return -1 /* Ternary.True */; } } } } - else if (targetFlags & 8388608 /* IndexedAccess */) { - if (sourceFlags & 8388608 /* IndexedAccess */) { + else if (targetFlags & 8388608 /* TypeFlags.IndexedAccess */) { + if (sourceFlags & 8388608 /* TypeFlags.IndexedAccess */) { // Relate components directly before falling back to constraint relationships // A type S[K] is related to a type T[J] if S is related to T and K is related to J. - if (result = isRelatedTo(source.objectType, target.objectType, 3 /* Both */, reportErrors)) { - result &= isRelatedTo(source.indexType, target.indexType, 3 /* Both */, reportErrors); + if (result = isRelatedTo(source.objectType, target.objectType, 3 /* RecursionFlags.Both */, reportErrors)) { + result &= isRelatedTo(source.indexType, target.indexType, 3 /* RecursionFlags.Both */, reportErrors); } if (result) { resetErrorInfo(saveErrorInfo); @@ -65485,14 +65741,14 @@ var ts; var baseObjectType = getBaseConstraintOfType(objectType) || objectType; var baseIndexType = getBaseConstraintOfType(indexType) || indexType; if (!isGenericObjectType(baseObjectType) && !isGenericIndexType(baseIndexType)) { - var accessFlags = 4 /* Writing */ | (baseObjectType !== objectType ? 2 /* NoIndexSignatures */ : 0); + var accessFlags = 4 /* AccessFlags.Writing */ | (baseObjectType !== objectType ? 2 /* AccessFlags.NoIndexSignatures */ : 0); var constraint = getIndexedAccessTypeOrUndefined(baseObjectType, baseIndexType, accessFlags); if (constraint) { if (reportErrors && originalErrorInfo) { // create a new chain for the constraint error resetErrorInfo(saveErrorInfo); } - if (result = isRelatedTo(source, constraint, 2 /* Target */, reportErrors)) { + if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors)) { return result; } // prefer the shorter chain of the constraint comparison chain, and the direct comparison chain @@ -65511,12 +65767,12 @@ var ts; var keysRemapped = !!target.declaration.nameType; var templateType = getTemplateTypeFromMappedType(target); var modifiers = getMappedTypeModifiers(target); - if (!(modifiers & 8 /* ExcludeOptional */)) { + if (!(modifiers & 8 /* MappedTypeModifiers.ExcludeOptional */)) { // If the mapped type has shape `{ [P in Q]: T[P] }`, // source `S` is related to target if `T` = `S`, i.e. `S` is related to `{ [P in Q]: S[P] }`. - if (!keysRemapped && templateType.flags & 8388608 /* IndexedAccess */ && templateType.objectType === source && + if (!keysRemapped && templateType.flags & 8388608 /* TypeFlags.IndexedAccess */ && templateType.objectType === source && templateType.indexType === getTypeParameterFromMappedType(target)) { - return -1 /* True */; + return -1 /* Ternary.True */; } if (!isGenericMappedType(source)) { // If target has shape `{ [P in Q as R]: T}`, then its keys have type `R`. @@ -65524,22 +65780,22 @@ var ts; var targetKeys = keysRemapped ? getNameTypeFromMappedType(target) : getConstraintTypeFromMappedType(target); // Type of the keys of source type `S`, i.e. `keyof S`. var sourceKeys = getIndexType(source, /*stringsOnly*/ undefined, /*noIndexSignatures*/ true); - var includeOptional = modifiers & 4 /* IncludeOptional */; + var includeOptional = modifiers & 4 /* MappedTypeModifiers.IncludeOptional */; var filteredByApplicability = includeOptional ? intersectTypes(targetKeys, sourceKeys) : undefined; // A source type `S` is related to a target type `{ [P in Q]: T }` if `Q` is related to `keyof S` and `S[Q]` is related to `T`. // A source type `S` is related to a target type `{ [P in Q as R]: T }` if `R` is related to `keyof S` and `S[R]` is related to `T. // A source type `S` is related to a target type `{ [P in Q]?: T }` if some constituent `Q'` of `Q` is related to `keyof S` and `S[Q']` is related to `T`. // A source type `S` is related to a target type `{ [P in Q as R]?: T }` if some constituent `R'` of `R` is related to `keyof S` and `S[R']` is related to `T`. if (includeOptional - ? !(filteredByApplicability.flags & 131072 /* Never */) - : isRelatedTo(targetKeys, sourceKeys, 3 /* Both */)) { + ? !(filteredByApplicability.flags & 131072 /* TypeFlags.Never */) + : isRelatedTo(targetKeys, sourceKeys, 3 /* RecursionFlags.Both */)) { var templateType_1 = getTemplateTypeFromMappedType(target); var typeParameter = getTypeParameterFromMappedType(target); // Fastpath: When the template type has the form `Obj[P]` where `P` is the mapped type parameter, directly compare source `S` with `Obj` // to avoid creating the (potentially very large) number of new intermediate types made by manufacturing `S[P]`. - var nonNullComponent = extractTypesOfKind(templateType_1, ~98304 /* Nullable */); - if (!keysRemapped && nonNullComponent.flags & 8388608 /* IndexedAccess */ && nonNullComponent.indexType === typeParameter) { - if (result = isRelatedTo(source, nonNullComponent.objectType, 2 /* Target */, reportErrors)) { + var nonNullComponent = extractTypesOfKind(templateType_1, ~98304 /* TypeFlags.Nullable */); + if (!keysRemapped && nonNullComponent.flags & 8388608 /* TypeFlags.IndexedAccess */ && nonNullComponent.indexType === typeParameter) { + if (result = isRelatedTo(source, nonNullComponent.objectType, 2 /* RecursionFlags.Target */, reportErrors)) { return result; } } @@ -65559,7 +65815,7 @@ var ts; : typeParameter; var indexedAccessType = getIndexedAccessType(source, indexingType); // Compare `S[indexingType]` to `T`, where `T` is the type of a property of the target type. - if (result = isRelatedTo(indexedAccessType, templateType_1, 3 /* Both */, reportErrors)) { + if (result = isRelatedTo(indexedAccessType, templateType_1, 3 /* RecursionFlags.Both */, reportErrors)) { return result; } } @@ -65569,12 +65825,12 @@ var ts; } } } - else if (targetFlags & 16777216 /* Conditional */) { + else if (targetFlags & 16777216 /* TypeFlags.Conditional */) { // If we reach 10 levels of nesting for the same conditional type, assume it is an infinitely expanding recursive // conditional type and bail out with a Ternary.Maybe result. if (isDeeplyNestedType(target, targetStack, targetDepth, 10)) { resetErrorInfo(saveErrorInfo); - return 3 /* Maybe */; + return 3 /* Ternary.Maybe */; } var c = target; // We check for a relationship to a conditional type target only when the conditional type has no @@ -65585,8 +65841,8 @@ var ts; var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType)); var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType)); // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't) - if (result = skipTrue ? -1 /* True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* Target */, /*reportErrors*/ false)) { - result &= skipFalse ? -1 /* True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* Target */, /*reportErrors*/ false); + if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) { + result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false); if (result) { resetErrorInfo(saveErrorInfo); return result; @@ -65594,37 +65850,37 @@ var ts; } } } - else if (targetFlags & 134217728 /* TemplateLiteral */) { - if (sourceFlags & 134217728 /* TemplateLiteral */) { + else if (targetFlags & 134217728 /* TypeFlags.TemplateLiteral */) { + if (sourceFlags & 134217728 /* TypeFlags.TemplateLiteral */) { if (relation === comparableRelation) { - return templateLiteralTypesDefinitelyUnrelated(source, target) ? 0 /* False */ : -1 /* True */; + return templateLiteralTypesDefinitelyUnrelated(source, target) ? 0 /* Ternary.False */ : -1 /* Ternary.True */; } // Report unreliable variance for type variables referenced in template literal type placeholders. // For example, `foo-${number}` is related to `foo-${string}` even though number isn't related to string. instantiateType(source, makeFunctionTypeMapper(reportUnreliableMarkers)); } if (isTypeMatchedByTemplateLiteralType(source, target)) { - return -1 /* True */; + return -1 /* Ternary.True */; } } - if (sourceFlags & 8650752 /* TypeVariable */) { + if (sourceFlags & 8650752 /* TypeFlags.TypeVariable */) { // IndexedAccess comparisons are handled above in the `targetFlags & TypeFlage.IndexedAccess` branch - if (!(sourceFlags & 8388608 /* IndexedAccess */ && targetFlags & 8388608 /* IndexedAccess */)) { + if (!(sourceFlags & 8388608 /* TypeFlags.IndexedAccess */ && targetFlags & 8388608 /* TypeFlags.IndexedAccess */)) { var constraint = getConstraintOfType(source); - if (!strictNullChecks && (!constraint || (sourceFlags & 262144 /* TypeParameter */ && constraint.flags & 1 /* Any */))) { + if (!constraint || (sourceFlags & 262144 /* TypeFlags.TypeParameter */ && constraint.flags & 1 /* TypeFlags.Any */)) { // A type variable with no constraint is not related to the non-primitive object type. - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* NonPrimitive */), 3 /* Both */)) { + if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* TypeFlags.NonPrimitive */), 3 /* RecursionFlags.Both */)) { resetErrorInfo(saveErrorInfo); return result; } } // hi-speed no-this-instantiation check (less accurate, but avoids costly `this`-instantiation when the constraint will suffice), see #28231 for report on why this is needed - else if (constraint && (result = isRelatedTo(constraint, target, 1 /* Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState))) { + else if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { resetErrorInfo(saveErrorInfo); return result; } // slower, fuller, this-instantiated check (necessary when comparing raw `this` types from base classes), see `subclassWithPolymorphicThisIsAssignable.ts` test for example - else if (constraint && (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* Source */, reportErrors && !(targetFlags & sourceFlags & 262144 /* TypeParameter */), /*headMessage*/ undefined, intersectionState))) { + else if (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* RecursionFlags.Source */, reportErrors && !(targetFlags & sourceFlags & 262144 /* TypeFlags.TypeParameter */), /*headMessage*/ undefined, intersectionState)) { resetErrorInfo(saveErrorInfo); return result; } @@ -65633,7 +65889,7 @@ var ts; // substituted for P. We also want to explore type { [P in K]: E }[C], where C is the constraint of X. var indexConstraint = getConstraintOfType(source.indexType); if (indexConstraint) { - if (result = isRelatedTo(getIndexedAccessType(source.objectType, indexConstraint), target, 1 /* Source */, reportErrors)) { + if (result = isRelatedTo(getIndexedAccessType(source.objectType, indexConstraint), target, 1 /* RecursionFlags.Source */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; } @@ -65641,44 +65897,44 @@ var ts; } } } - else if (sourceFlags & 4194304 /* Index */) { - if (result = isRelatedTo(keyofConstraintType, target, 1 /* Source */, reportErrors)) { + else if (sourceFlags & 4194304 /* TypeFlags.Index */) { + if (result = isRelatedTo(keyofConstraintType, target, 1 /* RecursionFlags.Source */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; } } - else if (sourceFlags & 134217728 /* TemplateLiteral */ && !(targetFlags & 524288 /* Object */)) { - if (!(targetFlags & 134217728 /* TemplateLiteral */)) { + else if (sourceFlags & 134217728 /* TypeFlags.TemplateLiteral */ && !(targetFlags & 524288 /* TypeFlags.Object */)) { + if (!(targetFlags & 134217728 /* TypeFlags.TemplateLiteral */)) { var constraint = getBaseConstraintOfType(source); - if (constraint && constraint !== source && (result = isRelatedTo(constraint, target, 1 /* Source */, reportErrors))) { + if (constraint && constraint !== source && (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, reportErrors))) { resetErrorInfo(saveErrorInfo); return result; } } } - else if (sourceFlags & 268435456 /* StringMapping */) { - if (targetFlags & 268435456 /* StringMapping */ && source.symbol === target.symbol) { - if (result = isRelatedTo(source.type, target.type, 3 /* Both */, reportErrors)) { + else if (sourceFlags & 268435456 /* TypeFlags.StringMapping */) { + if (targetFlags & 268435456 /* TypeFlags.StringMapping */ && source.symbol === target.symbol) { + if (result = isRelatedTo(source.type, target.type, 3 /* RecursionFlags.Both */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; } } else { var constraint = getBaseConstraintOfType(source); - if (constraint && (result = isRelatedTo(constraint, target, 1 /* Source */, reportErrors))) { + if (constraint && (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, reportErrors))) { resetErrorInfo(saveErrorInfo); return result; } } } - else if (sourceFlags & 16777216 /* Conditional */) { + else if (sourceFlags & 16777216 /* TypeFlags.Conditional */) { // If we reach 10 levels of nesting for the same conditional type, assume it is an infinitely expanding recursive // conditional type and bail out with a Ternary.Maybe result. if (isDeeplyNestedType(source, sourceStack, sourceDepth, 10)) { resetErrorInfo(saveErrorInfo); - return 3 /* Maybe */; + return 3 /* Ternary.Maybe */; } - if (targetFlags & 16777216 /* Conditional */) { + if (targetFlags & 16777216 /* TypeFlags.Conditional */) { // Two conditional types 'T1 extends U1 ? X1 : Y1' and 'T2 extends U2 ? X2 : Y2' are related if // one of T1 and T2 is related to the other, U1 and U2 are identical types, X1 is related to X2, // and Y1 is related to Y2. @@ -65687,15 +65943,15 @@ var ts; var mapper = void 0; if (sourceParams) { // If the source has infer type parameters, we instantiate them in the context of the target - var ctx = createInferenceContext(sourceParams, /*signature*/ undefined, 0 /* None */, isRelatedToWorker); - inferTypes(ctx.inferences, target.extendsType, sourceExtends, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */); + var ctx = createInferenceContext(sourceParams, /*signature*/ undefined, 0 /* InferenceFlags.None */, isRelatedToWorker); + inferTypes(ctx.inferences, target.extendsType, sourceExtends, 512 /* InferencePriority.NoConstraints */ | 1024 /* InferencePriority.AlwaysStrict */); sourceExtends = instantiateType(sourceExtends, ctx.mapper); mapper = ctx.mapper; } if (isTypeIdenticalTo(sourceExtends, target.extendsType) && - (isRelatedTo(source.checkType, target.checkType, 3 /* Both */) || isRelatedTo(target.checkType, source.checkType, 3 /* Both */))) { - if (result = isRelatedTo(instantiateType(getTrueTypeFromConditionalType(source), mapper), getTrueTypeFromConditionalType(target), 3 /* Both */, reportErrors)) { - result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* Both */, reportErrors); + (isRelatedTo(source.checkType, target.checkType, 3 /* RecursionFlags.Both */) || isRelatedTo(target.checkType, source.checkType, 3 /* RecursionFlags.Both */))) { + if (result = isRelatedTo(instantiateType(getTrueTypeFromConditionalType(source), mapper), getTrueTypeFromConditionalType(target), 3 /* RecursionFlags.Both */, reportErrors)) { + result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* RecursionFlags.Both */, reportErrors); } if (result) { resetErrorInfo(saveErrorInfo); @@ -65708,7 +65964,7 @@ var ts; // more assignments than are desirable (since it maps the source check type to its constraint, it loses information) var distributiveConstraint = hasNonCircularBaseConstraint(source) ? getConstraintOfDistributiveConditionalType(source) : undefined; if (distributiveConstraint) { - if (result = isRelatedTo(distributiveConstraint, target, 1 /* Source */, reportErrors)) { + if (result = isRelatedTo(distributiveConstraint, target, 1 /* RecursionFlags.Source */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; } @@ -65718,7 +65974,7 @@ var ts; // when `O` is a conditional (`never` is trivially assignable to `O`, as is `O`!). var defaultConstraint = getDefaultConstraintOfConditionalType(source); if (defaultConstraint) { - if (result = isRelatedTo(defaultConstraint, target, 1 /* Source */, reportErrors)) { + if (result = isRelatedTo(defaultConstraint, target, 1 /* RecursionFlags.Source */, reportErrors)) { resetErrorInfo(saveErrorInfo); return result; } @@ -65727,7 +65983,7 @@ var ts; else { // An empty object type is related to any mapped type that includes a '?' modifier. if (relation !== subtypeRelation && relation !== strictSubtypeRelation && isPartialMappedType(target) && isEmptyObjectType(source)) { - return -1 /* True */; + return -1 /* Ternary.True */; } if (isGenericMappedType(target)) { if (isGenericMappedType(source)) { @@ -65736,22 +65992,22 @@ var ts; return result; } } - return 0 /* False */; + return 0 /* Ternary.False */; } - var sourceIsPrimitive = !!(sourceFlags & 131068 /* Primitive */); + var sourceIsPrimitive = !!(sourceFlags & 131068 /* TypeFlags.Primitive */); if (relation !== identityRelation) { source = getApparentType(source); sourceFlags = source.flags; } else if (isGenericMappedType(source)) { - return 0 /* False */; + return 0 /* Ternary.False */; } - if (ts.getObjectFlags(source) & 4 /* Reference */ && ts.getObjectFlags(target) & 4 /* Reference */ && source.target === target.target && + if (ts.getObjectFlags(source) & 4 /* ObjectFlags.Reference */ && ts.getObjectFlags(target) & 4 /* ObjectFlags.Reference */ && source.target === target.target && !isTupleType(source) && !(isMarkerType(source) || isMarkerType(target))) { // When strictNullChecks is disabled, the element type of the empty array literal is undefinedWideningType, // and an empty array literal wouldn't be assignable to a `never[]` without this check. if (isEmptyArrayLiteralType(source)) { - return -1 /* True */; + return -1 /* Ternary.True */; } // We have type references to the same generic type, and the type references are not marker // type references (which are intended by be compared structurally). Obtain the variance @@ -65761,41 +66017,41 @@ var ts; // effectively means we measure variance only from type parameter occurrences that aren't nested in // recursive instantiations of the generic type. if (variances === ts.emptyArray) { - return 1 /* Unknown */; + return 1 /* Ternary.Unknown */; } var varianceResult = relateVariances(getTypeArguments(source), getTypeArguments(target), variances, intersectionState); if (varianceResult !== undefined) { return varianceResult; } } - else if (isReadonlyArrayType(target) ? isArrayType(source) || isTupleType(source) : isArrayType(target) && isTupleType(source) && !source.target.readonly) { + else if (isReadonlyArrayType(target) ? isArrayOrTupleType(source) : isArrayType(target) && isTupleType(source) && !source.target.readonly) { if (relation !== identityRelation) { - return isRelatedTo(getIndexTypeOfType(source, numberType) || anyType, getIndexTypeOfType(target, numberType) || anyType, 3 /* Both */, reportErrors); + return isRelatedTo(getIndexTypeOfType(source, numberType) || anyType, getIndexTypeOfType(target, numberType) || anyType, 3 /* RecursionFlags.Both */, reportErrors); } else { // By flags alone, we know that the `target` is a readonly array while the source is a normal array or tuple // or `target` is an array and source is a tuple - in both cases the types cannot be identical, by construction - return 0 /* False */; + return 0 /* Ternary.False */; } } // Consider a fresh empty object literal type "closed" under the subtype relationship - this way `{} <- {[idx: string]: any} <- fresh({})` // and not `{} <- fresh({}) <- {[idx: string]: any}` - else if ((relation === subtypeRelation || relation === strictSubtypeRelation) && isEmptyObjectType(target) && ts.getObjectFlags(target) & 8192 /* FreshLiteral */ && !isEmptyObjectType(source)) { - return 0 /* False */; + else if ((relation === subtypeRelation || relation === strictSubtypeRelation) && isEmptyObjectType(target) && ts.getObjectFlags(target) & 8192 /* ObjectFlags.FreshLiteral */ && !isEmptyObjectType(source)) { + return 0 /* Ternary.False */; } // Even if relationship doesn't hold for unions, intersections, or generic type references, // it may hold in a structural comparison. // In a check of the form X = A & B, we will have previously checked if A relates to X or B relates // to X. Failing both of those we want to check if the aggregation of A and B's members structurally // relates to X. Thus, we include intersection types on the source side here. - if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 524288 /* Object */) { + if (sourceFlags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && targetFlags & 524288 /* TypeFlags.Object */) { // Report structural errors only if we haven't reported any errors yet var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo.errorInfo && !sourceIsPrimitive; result = propertiesRelatedTo(source, target, reportStructuralErrors, /*excludedProperties*/ undefined, intersectionState); if (result) { - result &= signaturesRelatedTo(source, target, 0 /* Call */, reportStructuralErrors); + result &= signaturesRelatedTo(source, target, 0 /* SignatureKind.Call */, reportStructuralErrors); if (result) { - result &= signaturesRelatedTo(source, target, 1 /* Construct */, reportStructuralErrors); + result &= signaturesRelatedTo(source, target, 1 /* SignatureKind.Construct */, reportStructuralErrors); if (result) { result &= indexSignaturesRelatedTo(source, target, sourceIsPrimitive, reportStructuralErrors, intersectionState); } @@ -65812,9 +66068,9 @@ var ts; // there exists a constituent of T for every combination of the discriminants of S // with respect to T. We do not report errors here, as we will use the existing // error result from checking each constituent of the union. - if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) { - var objectOnlyTarget = extractTypesOfKind(target, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */); - if (objectOnlyTarget.flags & 1048576 /* Union */) { + if (sourceFlags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && targetFlags & 1048576 /* TypeFlags.Union */) { + var objectOnlyTarget = extractTypesOfKind(target, 524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 33554432 /* TypeFlags.Substitution */); + if (objectOnlyTarget.flags & 1048576 /* TypeFlags.Union */) { var result_9 = typeRelatedToDiscriminatedType(source, objectOnlyTarget); if (result_9) { return result_9; @@ -65822,7 +66078,7 @@ var ts; } } } - return 0 /* False */; + return 0 /* Ternary.False */; function countMessageChainBreadth(info) { if (!info) return 0; @@ -65832,7 +66088,7 @@ var ts; if (result = typeArgumentsRelatedTo(sourceTypeArguments, targetTypeArguments, variances, reportErrors, intersectionState)) { return result; } - if (ts.some(variances, function (v) { return !!(v & 24 /* AllowsStructuralFallback */); })) { + if (ts.some(variances, function (v) { return !!(v & 24 /* VarianceFlags.AllowsStructuralFallback */); })) { // If some type parameter was `Unmeasurable` or `Unreliable`, and we couldn't pass by assuming it was identical, then we // have to allow a structural fallback check // We elide the variance-based error elaborations, since those might not be too helpful, since we'll potentially @@ -65859,8 +66115,8 @@ var ts; // reveal the reason). // We can switch on `reportErrors` here, since varianceCheckFailed guarantees we return `False`, // we can return `False` early here to skip calculating the structural error message we don't need. - if (varianceCheckFailed && !(reportErrors && ts.some(variances, function (v) { return (v & 7 /* VarianceMask */) === 0 /* Invariant */; }))) { - return 0 /* False */; + if (varianceCheckFailed && !(reportErrors && ts.some(variances, function (v) { return (v & 7 /* VarianceFlags.VarianceMask */) === 0 /* VarianceFlags.Invariant */; }))) { + return 0 /* Ternary.False */; } // We remember the original error information so we can restore it in case the structural // comparison unexpectedly succeeds. This can happen when the structural comparison result @@ -65892,14 +66148,14 @@ var ts; var result_10; var targetConstraint = getConstraintTypeFromMappedType(target); var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), makeFunctionTypeMapper(getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMarkers : reportUnreliableMarkers)); - if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors)) { + if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* RecursionFlags.Both */, reportErrors)) { var mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]); if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) { - return result_10 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* Both */, reportErrors); + return result_10 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), 3 /* RecursionFlags.Both */, reportErrors); } } } - return 0 /* False */; + return 0 /* Ternary.False */; } function typeRelatedToDiscriminatedType(source, target) { // 1. Generate the combinations of discriminant properties & types 'source' can satisfy. @@ -65914,7 +66170,7 @@ var ts; var sourceProperties = getPropertiesOfType(source); var sourcePropertiesFiltered = findDiscriminantProperties(sourceProperties, target); if (!sourcePropertiesFiltered) - return 0 /* False */; + return 0 /* Ternary.False */; // Though we could compute the number of combinations as we generate // the matrix, this would incur additional memory overhead due to // array allocations. To reduce this overhead, we first compute @@ -65926,8 +66182,8 @@ var ts; numCombinations *= countTypes(getNonMissingTypeOfSymbol(sourceProperty)); if (numCombinations > 25) { // We've reached the complexity limit. - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "typeRelatedToDiscriminatedType_DepthLimit", { sourceId: source.id, targetId: target.id, numCombinations: numCombinations }); - return 0 /* False */; + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "typeRelatedToDiscriminatedType_DepthLimit", { sourceId: source.id, targetId: target.id, numCombinations: numCombinations }); + return 0 /* Ternary.False */; } } // Compute the set of types for each discriminant property. @@ -65936,7 +66192,7 @@ var ts; for (var i = 0; i < sourcePropertiesFiltered.length; i++) { var sourceProperty = sourcePropertiesFiltered[i]; var sourcePropertyType = getNonMissingTypeOfSymbol(sourceProperty); - sourceDiscriminantTypes[i] = sourcePropertyType.flags & 1048576 /* Union */ + sourceDiscriminantTypes[i] = sourcePropertyType.flags & 1048576 /* TypeFlags.Union */ ? sourcePropertyType.types : [sourcePropertyType]; excludedProperties.add(sourceProperty.escapedName); @@ -65957,7 +66213,7 @@ var ts; if (sourceProperty === targetProperty) return "continue"; // We compare the source property to the target in the context of a single discriminant type. - var related = propertyRelatedTo(source, target, sourceProperty, targetProperty, function (_) { return combination[i]; }, /*reportErrors*/ false, 0 /* None */, /*skipOptional*/ strictNullChecks || relation === comparableRelation); + var related = propertyRelatedTo(source, target, sourceProperty, targetProperty, function (_) { return combination[i]; }, /*reportErrors*/ false, 0 /* IntersectionState.None */, /*skipOptional*/ strictNullChecks || relation === comparableRelation); // If the target property could not be found, or if the properties were not related, // then this constituent is not a match. if (!related) { @@ -65974,7 +66230,7 @@ var ts; hasMatch = true; } if (!hasMatch) { - return { value: 0 /* False */ }; + return { value: 0 /* Ternary.False */ }; } }; for (var _a = 0, discriminantCombinations_1 = discriminantCombinations; _a < discriminantCombinations_1.length; _a++) { @@ -65984,20 +66240,20 @@ var ts; return state_7.value; } // Compare the remaining non-discriminant properties of each match. - var result = -1 /* True */; + var result = -1 /* Ternary.True */; for (var _b = 0, matchingTypes_1 = matchingTypes; _b < matchingTypes_1.length; _b++) { var type = matchingTypes_1[_b]; - result &= propertiesRelatedTo(source, type, /*reportErrors*/ false, excludedProperties, 0 /* None */); + result &= propertiesRelatedTo(source, type, /*reportErrors*/ false, excludedProperties, 0 /* IntersectionState.None */); if (result) { - result &= signaturesRelatedTo(source, type, 0 /* Call */, /*reportStructuralErrors*/ false); + result &= signaturesRelatedTo(source, type, 0 /* SignatureKind.Call */, /*reportStructuralErrors*/ false); if (result) { - result &= signaturesRelatedTo(source, type, 1 /* Construct */, /*reportStructuralErrors*/ false); + result &= signaturesRelatedTo(source, type, 1 /* SignatureKind.Construct */, /*reportStructuralErrors*/ false); if (result && !(isTupleType(source) && isTupleType(type))) { // Comparing numeric index types when both `source` and `type` are tuples is unnecessary as the // element types should be sufficiently covered by `propertiesRelatedTo`. It also causes problems // with index type assignability as the types for the excluded discriminants are still included // in the index type. - result &= indexSignaturesRelatedTo(source, type, /*sourceIsPrimitive*/ false, /*reportStructuralErrors*/ false, 0 /* None */); + result &= indexSignaturesRelatedTo(source, type, /*sourceIsPrimitive*/ false, /*reportStructuralErrors*/ false, 0 /* IntersectionState.None */); } } } @@ -66024,40 +66280,40 @@ var ts; return result || properties; } function isPropertySymbolTypeRelated(sourceProp, targetProp, getTypeOfSourceProperty, reportErrors, intersectionState) { - var targetIsOptional = strictNullChecks && !!(ts.getCheckFlags(targetProp) & 48 /* Partial */); + var targetIsOptional = strictNullChecks && !!(ts.getCheckFlags(targetProp) & 48 /* CheckFlags.Partial */); var effectiveTarget = addOptionality(getNonMissingTypeOfSymbol(targetProp), /*isProperty*/ false, targetIsOptional); var effectiveSource = getTypeOfSourceProperty(sourceProp); - return isRelatedTo(effectiveSource, effectiveTarget, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + return isRelatedTo(effectiveSource, effectiveTarget, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); } function propertyRelatedTo(source, target, sourceProp, targetProp, getTypeOfSourceProperty, reportErrors, intersectionState, skipOptional) { var sourcePropFlags = ts.getDeclarationModifierFlagsFromSymbol(sourceProp); var targetPropFlags = ts.getDeclarationModifierFlagsFromSymbol(targetProp); - if (sourcePropFlags & 8 /* Private */ || targetPropFlags & 8 /* Private */) { + if (sourcePropFlags & 8 /* ModifierFlags.Private */ || targetPropFlags & 8 /* ModifierFlags.Private */) { if (sourceProp.valueDeclaration !== targetProp.valueDeclaration) { if (reportErrors) { - if (sourcePropFlags & 8 /* Private */ && targetPropFlags & 8 /* Private */) { + if (sourcePropFlags & 8 /* ModifierFlags.Private */ && targetPropFlags & 8 /* ModifierFlags.Private */) { reportError(ts.Diagnostics.Types_have_separate_declarations_of_a_private_property_0, symbolToString(targetProp)); } else { - reportError(ts.Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2, symbolToString(targetProp), typeToString(sourcePropFlags & 8 /* Private */ ? source : target), typeToString(sourcePropFlags & 8 /* Private */ ? target : source)); + reportError(ts.Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2, symbolToString(targetProp), typeToString(sourcePropFlags & 8 /* ModifierFlags.Private */ ? source : target), typeToString(sourcePropFlags & 8 /* ModifierFlags.Private */ ? target : source)); } } - return 0 /* False */; + return 0 /* Ternary.False */; } } - else if (targetPropFlags & 16 /* Protected */) { + else if (targetPropFlags & 16 /* ModifierFlags.Protected */) { if (!isValidOverrideOf(sourceProp, targetProp)) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2, symbolToString(targetProp), typeToString(getDeclaringClass(sourceProp) || source), typeToString(getDeclaringClass(targetProp) || target)); } - return 0 /* False */; + return 0 /* Ternary.False */; } } - else if (sourcePropFlags & 16 /* Protected */) { + else if (sourcePropFlags & 16 /* ModifierFlags.Protected */) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_protected_in_type_1_but_public_in_type_2, symbolToString(targetProp), typeToString(source), typeToString(target)); } - return 0 /* False */; + return 0 /* Ternary.False */; } // Ensure {readonly a: whatever} is not a subtype of {a: whatever}, // while {a: whatever} is a subtype of {readonly a: whatever}. @@ -66067,7 +66323,7 @@ var ts; // This is only applied during the strictSubtypeRelation -- currently used in subtype reduction if (relation === strictSubtypeRelation && isReadonlySymbol(sourceProp) && !isReadonlySymbol(targetProp)) { - return 0 /* False */; + return 0 /* Ternary.False */; } // If the target comes from a partial union prop, allow `undefined` in the target type var related = isPropertySymbolTypeRelated(sourceProp, targetProp, getTypeOfSourceProperty, reportErrors, intersectionState); @@ -66075,10 +66331,10 @@ var ts; if (reportErrors) { reportIncompatibleError(ts.Diagnostics.Types_of_property_0_are_incompatible, symbolToString(targetProp)); } - return 0 /* False */; + return 0 /* Ternary.False */; } // When checking for comparability, be more lenient with optional properties. - if (!skipOptional && sourceProp.flags & 16777216 /* Optional */ && !(targetProp.flags & 16777216 /* Optional */)) { + if (!skipOptional && sourceProp.flags & 16777216 /* SymbolFlags.Optional */ && !(targetProp.flags & 16777216 /* SymbolFlags.Optional */)) { // TypeScript 1.0 spec (April 2014): 3.8.3 // S is a subtype of a type T, and T is a supertype of S if ... // S' and T are object types and, for each member M in T.. @@ -66089,7 +66345,7 @@ var ts; if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_optional_in_type_1_but_required_in_type_2, symbolToString(targetProp), typeToString(source), typeToString(target)); } - return 0 /* False */; + return 0 /* Ternary.False */; } return related; } @@ -66100,7 +66356,7 @@ var ts; && ts.isNamedDeclaration(unmatchedProperty.valueDeclaration) && ts.isPrivateIdentifier(unmatchedProperty.valueDeclaration.name) && source.symbol - && source.symbol.flags & 32 /* Class */) { + && source.symbol.flags & 32 /* SymbolFlags.Class */) { var privateIdentifierDescription = unmatchedProperty.valueDeclaration.name.escapedText; var symbolTableKey = ts.getSymbolNameForPrivateIdentifier(source.symbol, privateIdentifierDescription); if (symbolTableKey && getPropertyOfType(source, symbolTableKey)) { @@ -66142,29 +66398,29 @@ var ts; if (relation === identityRelation) { return propertiesIdenticalTo(source, target, excludedProperties); } - var result = -1 /* True */; + var result = -1 /* Ternary.True */; if (isTupleType(target)) { - if (isArrayType(source) || isTupleType(source)) { + if (isArrayOrTupleType(source)) { if (!target.target.readonly && (isReadonlyArrayType(source) || isTupleType(source) && source.target.readonly)) { - return 0 /* False */; + return 0 /* Ternary.False */; } var sourceArity = getTypeReferenceArity(source); var targetArity = getTypeReferenceArity(target); - var sourceRestFlag = isTupleType(source) ? source.target.combinedFlags & 4 /* Rest */ : 4 /* Rest */; - var targetRestFlag = target.target.combinedFlags & 4 /* Rest */; + var sourceRestFlag = isTupleType(source) ? source.target.combinedFlags & 4 /* ElementFlags.Rest */ : 4 /* ElementFlags.Rest */; + var targetRestFlag = target.target.combinedFlags & 4 /* ElementFlags.Rest */; var sourceMinLength = isTupleType(source) ? source.target.minLength : 0; var targetMinLength = target.target.minLength; if (!sourceRestFlag && sourceArity < targetMinLength) { if (reportErrors) { reportError(ts.Diagnostics.Source_has_0_element_s_but_target_requires_1, sourceArity, targetMinLength); } - return 0 /* False */; + return 0 /* Ternary.False */; } if (!targetRestFlag && targetArity < sourceMinLength) { if (reportErrors) { reportError(ts.Diagnostics.Source_has_0_element_s_but_target_allows_only_1, sourceMinLength, targetArity); } - return 0 /* False */; + return 0 /* Ternary.False */; } if (!targetRestFlag && (sourceRestFlag || targetArity < sourceArity)) { if (reportErrors) { @@ -66175,38 +66431,38 @@ var ts; reportError(ts.Diagnostics.Target_allows_only_0_element_s_but_source_may_have_more, targetArity); } } - return 0 /* False */; + return 0 /* Ternary.False */; } var sourceTypeArguments = getTypeArguments(source); var targetTypeArguments = getTypeArguments(target); - var startCount = Math.min(isTupleType(source) ? getStartElementCount(source.target, 11 /* NonRest */) : 0, getStartElementCount(target.target, 11 /* NonRest */)); - var endCount = Math.min(isTupleType(source) ? getEndElementCount(source.target, 11 /* NonRest */) : 0, targetRestFlag ? getEndElementCount(target.target, 11 /* NonRest */) : 0); + var startCount = Math.min(isTupleType(source) ? getStartElementCount(source.target, 11 /* ElementFlags.NonRest */) : 0, getStartElementCount(target.target, 11 /* ElementFlags.NonRest */)); + var endCount = Math.min(isTupleType(source) ? getEndElementCount(source.target, 11 /* ElementFlags.NonRest */) : 0, targetRestFlag ? getEndElementCount(target.target, 11 /* ElementFlags.NonRest */) : 0); var canExcludeDiscriminants = !!excludedProperties; for (var i = 0; i < targetArity; i++) { var sourceIndex = i < targetArity - endCount ? i : i + sourceArity - targetArity; - var sourceFlags = isTupleType(source) && (i < startCount || i >= targetArity - endCount) ? source.target.elementFlags[sourceIndex] : 4 /* Rest */; + var sourceFlags = isTupleType(source) && (i < startCount || i >= targetArity - endCount) ? source.target.elementFlags[sourceIndex] : 4 /* ElementFlags.Rest */; var targetFlags = target.target.elementFlags[i]; - if (targetFlags & 8 /* Variadic */ && !(sourceFlags & 8 /* Variadic */)) { + if (targetFlags & 8 /* ElementFlags.Variadic */ && !(sourceFlags & 8 /* ElementFlags.Variadic */)) { if (reportErrors) { reportError(ts.Diagnostics.Source_provides_no_match_for_variadic_element_at_position_0_in_target, i); } - return 0 /* False */; + return 0 /* Ternary.False */; } - if (sourceFlags & 8 /* Variadic */ && !(targetFlags & 12 /* Variable */)) { + if (sourceFlags & 8 /* ElementFlags.Variadic */ && !(targetFlags & 12 /* ElementFlags.Variable */)) { if (reportErrors) { reportError(ts.Diagnostics.Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target, sourceIndex, i); } - return 0 /* False */; + return 0 /* Ternary.False */; } - if (targetFlags & 1 /* Required */ && !(sourceFlags & 1 /* Required */)) { + if (targetFlags & 1 /* ElementFlags.Required */ && !(sourceFlags & 1 /* ElementFlags.Required */)) { if (reportErrors) { reportError(ts.Diagnostics.Source_provides_no_match_for_required_element_at_position_0_in_target, i); } - return 0 /* False */; + return 0 /* Ternary.False */; } // We can only exclude discriminant properties if we have not yet encountered a variable-length element. if (canExcludeDiscriminants) { - if (sourceFlags & 12 /* Variable */ || targetFlags & 12 /* Variable */) { + if (sourceFlags & 12 /* ElementFlags.Variable */ || targetFlags & 12 /* ElementFlags.Variable */) { canExcludeDiscriminants = false; } if (canExcludeDiscriminants && (excludedProperties === null || excludedProperties === void 0 ? void 0 : excludedProperties.has(("" + i)))) { @@ -66214,12 +66470,12 @@ var ts; } } var sourceType = !isTupleType(source) ? sourceTypeArguments[0] : - i < startCount || i >= targetArity - endCount ? removeMissingType(sourceTypeArguments[sourceIndex], !!(sourceFlags & targetFlags & 2 /* Optional */)) : + i < startCount || i >= targetArity - endCount ? removeMissingType(sourceTypeArguments[sourceIndex], !!(sourceFlags & targetFlags & 2 /* ElementFlags.Optional */)) : getElementTypeOfSliceOfTupleType(source, startCount, endCount) || neverType; var targetType = targetTypeArguments[i]; - var targetCheckType = sourceFlags & 8 /* Variadic */ && targetFlags & 4 /* Rest */ ? createArrayType(targetType) : - removeMissingType(targetType, !!(targetFlags & 2 /* Optional */)); - var related = isRelatedTo(sourceType, targetCheckType, 3 /* Both */, reportErrors, /*headMessage*/ undefined, intersectionState); + var targetCheckType = sourceFlags & 8 /* ElementFlags.Variadic */ && targetFlags & 4 /* ElementFlags.Rest */ ? createArrayType(targetType) : + removeMissingType(targetType, !!(targetFlags & 2 /* ElementFlags.Optional */)); + var related = isRelatedTo(sourceType, targetCheckType, 3 /* RecursionFlags.Both */, reportErrors, /*headMessage*/ undefined, intersectionState); if (!related) { if (reportErrors && (targetArity > 1 || sourceArity > 1)) { if (i < startCount || i >= targetArity - endCount || sourceArity - startCount - endCount === 1) { @@ -66229,14 +66485,14 @@ var ts; reportIncompatibleError(ts.Diagnostics.Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target, startCount, sourceArity - endCount - 1, i); } } - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } return result; } - if (target.target.combinedFlags & 12 /* Variable */) { - return 0 /* False */; + if (target.target.combinedFlags & 12 /* ElementFlags.Variable */) { + return 0 /* Ternary.False */; } } var requireOptionalProperties = (relation === subtypeRelation || relation === strictSubtypeRelation) && !isObjectLiteralType(source) && !isEmptyArrayLiteralType(source) && !isTupleType(source); @@ -66245,18 +66501,18 @@ var ts; if (reportErrors && shouldReportUnmatchedPropertyError(source, target)) { reportUnmatchedProperty(source, target, unmatchedProperty, requireOptionalProperties); } - return 0 /* False */; + return 0 /* Ternary.False */; } if (isObjectLiteralType(target)) { for (var _i = 0, _a = excludeProperties(getPropertiesOfType(source), excludedProperties); _i < _a.length; _i++) { var sourceProp = _a[_i]; if (!getPropertyOfObjectType(target, sourceProp.escapedName)) { var sourceType = getTypeOfSymbol(sourceProp); - if (!(sourceType.flags & 32768 /* Undefined */)) { + if (!(sourceType.flags & 32768 /* TypeFlags.Undefined */)) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_does_not_exist_on_type_1, symbolToString(sourceProp), typeToString(target)); } - return 0 /* False */; + return 0 /* Ternary.False */; } } } @@ -66268,12 +66524,12 @@ var ts; for (var _b = 0, _c = excludeProperties(properties, excludedProperties); _b < _c.length; _b++) { var targetProp = _c[_b]; var name = targetProp.escapedName; - if (!(targetProp.flags & 4194304 /* Prototype */) && (!numericNamesOnly || ts.isNumericLiteralName(name) || name === "length")) { + if (!(targetProp.flags & 4194304 /* SymbolFlags.Prototype */) && (!numericNamesOnly || ts.isNumericLiteralName(name) || name === "length")) { var sourceProp = getPropertyOfType(source, name); if (sourceProp && sourceProp !== targetProp) { var related = propertyRelatedTo(source, target, sourceProp, targetProp, getNonMissingTypeOfSymbol, reportErrors, intersectionState, relation === comparableRelation); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -66282,24 +66538,24 @@ var ts; return result; } function propertiesIdenticalTo(source, target, excludedProperties) { - if (!(source.flags & 524288 /* Object */ && target.flags & 524288 /* Object */)) { - return 0 /* False */; + if (!(source.flags & 524288 /* TypeFlags.Object */ && target.flags & 524288 /* TypeFlags.Object */)) { + return 0 /* Ternary.False */; } var sourceProperties = excludeProperties(getPropertiesOfObjectType(source), excludedProperties); var targetProperties = excludeProperties(getPropertiesOfObjectType(target), excludedProperties); if (sourceProperties.length !== targetProperties.length) { - return 0 /* False */; + return 0 /* Ternary.False */; } - var result = -1 /* True */; + var result = -1 /* Ternary.True */; for (var _i = 0, sourceProperties_1 = sourceProperties; _i < sourceProperties_1.length; _i++) { var sourceProp = sourceProperties_1[_i]; var targetProp = getPropertyOfObjectType(target, sourceProp.escapedName); if (!targetProp) { - return 0 /* False */; + return 0 /* Ternary.False */; } var related = compareProperties(sourceProp, targetProp, isRelatedTo); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -66311,17 +66567,17 @@ var ts; return signaturesIdenticalTo(source, target, kind); } if (target === anyFunctionType || source === anyFunctionType) { - return -1 /* True */; + return -1 /* Ternary.True */; } var sourceIsJSConstructor = source.symbol && isJSConstructor(source.symbol.valueDeclaration); var targetIsJSConstructor = target.symbol && isJSConstructor(target.symbol.valueDeclaration); - var sourceSignatures = getSignaturesOfType(source, (sourceIsJSConstructor && kind === 1 /* Construct */) ? - 0 /* Call */ : kind); - var targetSignatures = getSignaturesOfType(target, (targetIsJSConstructor && kind === 1 /* Construct */) ? - 0 /* Call */ : kind); - if (kind === 1 /* Construct */ && sourceSignatures.length && targetSignatures.length) { - var sourceIsAbstract = !!(sourceSignatures[0].flags & 4 /* Abstract */); - var targetIsAbstract = !!(targetSignatures[0].flags & 4 /* Abstract */); + var sourceSignatures = getSignaturesOfType(source, (sourceIsJSConstructor && kind === 1 /* SignatureKind.Construct */) ? + 0 /* SignatureKind.Call */ : kind); + var targetSignatures = getSignaturesOfType(target, (targetIsJSConstructor && kind === 1 /* SignatureKind.Construct */) ? + 0 /* SignatureKind.Call */ : kind); + if (kind === 1 /* SignatureKind.Construct */ && sourceSignatures.length && targetSignatures.length) { + var sourceIsAbstract = !!(sourceSignatures[0].flags & 4 /* SignatureFlags.Abstract */); + var targetIsAbstract = !!(targetSignatures[0].flags & 4 /* SignatureFlags.Abstract */); if (sourceIsAbstract && !targetIsAbstract) { // An abstract constructor type is not assignable to a non-abstract constructor type // as it would otherwise be possible to new an abstract class. Note that the assignability @@ -66330,18 +66586,18 @@ var ts; if (reportErrors) { reportError(ts.Diagnostics.Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type); } - return 0 /* False */; + return 0 /* Ternary.False */; } if (!constructorVisibilitiesAreCompatible(sourceSignatures[0], targetSignatures[0], reportErrors)) { - return 0 /* False */; + return 0 /* Ternary.False */; } } - var result = -1 /* True */; - var incompatibleReporter = kind === 1 /* Construct */ ? reportIncompatibleConstructSignatureReturn : reportIncompatibleCallSignatureReturn; + var result = -1 /* Ternary.True */; + var incompatibleReporter = kind === 1 /* SignatureKind.Construct */ ? reportIncompatibleConstructSignatureReturn : reportIncompatibleCallSignatureReturn; var sourceObjectFlags = ts.getObjectFlags(source); var targetObjectFlags = ts.getObjectFlags(target); - if (sourceObjectFlags & 64 /* Instantiated */ && targetObjectFlags & 64 /* Instantiated */ && source.symbol === target.symbol || - sourceObjectFlags & 4 /* Reference */ && targetObjectFlags & 4 /* Reference */ && source.target === target.target) { + if (sourceObjectFlags & 64 /* ObjectFlags.Instantiated */ && targetObjectFlags & 64 /* ObjectFlags.Instantiated */ && source.symbol === target.symbol || + sourceObjectFlags & 4 /* ObjectFlags.Reference */ && targetObjectFlags & 4 /* ObjectFlags.Reference */ && source.target === target.target) { // We have instantiations of the same anonymous type (which typically will be the type of a // method). Simply do a pairwise comparison of the signatures in the two signature lists instead // of the much more expensive N * M comparison matrix we explore below. We erase type parameters @@ -66349,7 +66605,7 @@ var ts; for (var i = 0; i < targetSignatures.length; i++) { var related = signatureRelatedTo(sourceSignatures[i], targetSignatures[i], /*erase*/ true, reportErrors, incompatibleReporter(sourceSignatures[i], targetSignatures[i])); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -66364,10 +66620,10 @@ var ts; var sourceSignature = ts.first(sourceSignatures); var targetSignature = ts.first(targetSignatures); result = signatureRelatedTo(sourceSignature, targetSignature, eraseGenerics, reportErrors, incompatibleReporter(sourceSignature, targetSignature)); - if (!result && reportErrors && kind === 1 /* Construct */ && (sourceObjectFlags & targetObjectFlags) && - (((_a = targetSignature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* Constructor */ || ((_b = sourceSignature.declaration) === null || _b === void 0 ? void 0 : _b.kind) === 171 /* Constructor */)) { + if (!result && reportErrors && kind === 1 /* SignatureKind.Construct */ && (sourceObjectFlags & targetObjectFlags) && + (((_a = targetSignature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* SyntaxKind.Constructor */ || ((_b = sourceSignature.declaration) === null || _b === void 0 ? void 0 : _b.kind) === 171 /* SyntaxKind.Constructor */)) { var constructSignatureToString = function (signature) { - return signatureToString(signature, /*enclosingDeclaration*/ undefined, 262144 /* WriteArrowStyleSignature */, kind); + return signatureToString(signature, /*enclosingDeclaration*/ undefined, 262144 /* TypeFormatFlags.WriteArrowStyleSignature */, kind); }; reportError(ts.Diagnostics.Type_0_is_not_assignable_to_type_1, constructSignatureToString(sourceSignature), constructSignatureToString(targetSignature)); reportError(ts.Diagnostics.Types_of_construct_signatures_are_incompatible); @@ -66393,18 +66649,18 @@ var ts; if (shouldElaborateErrors) { reportError(ts.Diagnostics.Type_0_provides_no_match_for_the_signature_1, typeToString(source), signatureToString(t, /*enclosingDeclaration*/ undefined, /*flags*/ undefined, kind)); } - return 0 /* False */; + return 0 /* Ternary.False */; } } return result; } function shouldReportUnmatchedPropertyError(source, target) { - var typeCallSignatures = getSignaturesOfStructuredType(source, 0 /* Call */); - var typeConstructSignatures = getSignaturesOfStructuredType(source, 1 /* Construct */); + var typeCallSignatures = getSignaturesOfStructuredType(source, 0 /* SignatureKind.Call */); + var typeConstructSignatures = getSignaturesOfStructuredType(source, 1 /* SignatureKind.Construct */); var typeProperties = getPropertiesOfObjectType(source); if ((typeCallSignatures.length || typeConstructSignatures.length) && !typeProperties.length) { - if ((getSignaturesOfType(target, 0 /* Call */).length && typeCallSignatures.length) || - (getSignaturesOfType(target, 1 /* Construct */).length && typeConstructSignatures.length)) { + if ((getSignaturesOfType(target, 0 /* SignatureKind.Call */).length && typeCallSignatures.length) || + (getSignaturesOfType(target, 1 /* SignatureKind.Construct */).length && typeConstructSignatures.length)) { return true; // target has similar signature kinds to source, still focus on the unmatched property } return false; @@ -66427,45 +66683,45 @@ var ts; * See signatureAssignableTo, compareSignaturesIdentical */ function signatureRelatedTo(source, target, erase, reportErrors, incompatibleReporter) { - return compareSignaturesRelated(erase ? getErasedSignature(source) : source, erase ? getErasedSignature(target) : target, relation === strictSubtypeRelation ? 8 /* StrictArity */ : 0, reportErrors, reportError, incompatibleReporter, isRelatedToWorker, makeFunctionTypeMapper(reportUnreliableMarkers)); + return compareSignaturesRelated(erase ? getErasedSignature(source) : source, erase ? getErasedSignature(target) : target, relation === strictSubtypeRelation ? 8 /* SignatureCheckMode.StrictArity */ : 0, reportErrors, reportError, incompatibleReporter, isRelatedToWorker, makeFunctionTypeMapper(reportUnreliableMarkers)); } function signaturesIdenticalTo(source, target, kind) { var sourceSignatures = getSignaturesOfType(source, kind); var targetSignatures = getSignaturesOfType(target, kind); if (sourceSignatures.length !== targetSignatures.length) { - return 0 /* False */; + return 0 /* Ternary.False */; } - var result = -1 /* True */; + var result = -1 /* Ternary.True */; for (var i = 0; i < sourceSignatures.length; i++) { var related = compareSignaturesIdentical(sourceSignatures[i], targetSignatures[i], /*partialMatch*/ false, /*ignoreThisTypes*/ false, /*ignoreReturnTypes*/ false, isRelatedTo); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } return result; } function membersRelatedToIndexInfo(source, targetInfo, reportErrors) { - var result = -1 /* True */; + var result = -1 /* Ternary.True */; var keyType = targetInfo.keyType; - var props = source.flags & 2097152 /* Intersection */ ? getPropertiesOfUnionOrIntersectionType(source) : getPropertiesOfObjectType(source); + var props = source.flags & 2097152 /* TypeFlags.Intersection */ ? getPropertiesOfUnionOrIntersectionType(source) : getPropertiesOfObjectType(source); for (var _i = 0, props_2 = props; _i < props_2.length; _i++) { var prop = props_2[_i]; // Skip over ignored JSX and symbol-named members if (isIgnoredJsxProperty(source, prop)) { continue; } - if (isApplicableIndexType(getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */), keyType)) { + if (isApplicableIndexType(getLiteralTypeFromProperty(prop, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */), keyType)) { var propType = getNonMissingTypeOfSymbol(prop); - var type = exactOptionalPropertyTypes || propType.flags & 32768 /* Undefined */ || keyType === numberType || !(prop.flags & 16777216 /* Optional */) + var type = exactOptionalPropertyTypes || propType.flags & 32768 /* TypeFlags.Undefined */ || keyType === numberType || !(prop.flags & 16777216 /* SymbolFlags.Optional */) ? propType - : getTypeWithFacts(propType, 524288 /* NEUndefined */); - var related = isRelatedTo(type, targetInfo.type, 3 /* Both */, reportErrors); + : getTypeWithFacts(propType, 524288 /* TypeFacts.NEUndefined */); + var related = isRelatedTo(type, targetInfo.type, 3 /* RecursionFlags.Both */, reportErrors); if (!related) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_incompatible_with_index_signature, symbolToString(prop)); } - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -66475,7 +66731,7 @@ var ts; if (isApplicableIndexType(info.keyType, keyType)) { var related = indexInfoRelatedTo(info, targetInfo, reportErrors); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -66483,7 +66739,7 @@ var ts; return result; } function indexInfoRelatedTo(sourceInfo, targetInfo, reportErrors) { - var related = isRelatedTo(sourceInfo.type, targetInfo.type, 3 /* Both */, reportErrors); + var related = isRelatedTo(sourceInfo.type, targetInfo.type, 3 /* RecursionFlags.Both */, reportErrors); if (!related && reportErrors) { if (sourceInfo.keyType === targetInfo.keyType) { reportError(ts.Diagnostics._0_index_signatures_are_incompatible, typeToString(sourceInfo.keyType)); @@ -66500,14 +66756,14 @@ var ts; } var indexInfos = getIndexInfosOfType(target); var targetHasStringIndex = ts.some(indexInfos, function (info) { return info.keyType === stringType; }); - var result = -1 /* True */; + var result = -1 /* Ternary.True */; for (var _i = 0, indexInfos_5 = indexInfos; _i < indexInfos_5.length; _i++) { var targetInfo = indexInfos_5[_i]; - var related = !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : - isGenericMappedType(source) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, 3 /* Both */, reportErrors) : + var related = !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* TypeFlags.Any */ ? -1 /* Ternary.True */ : + isGenericMappedType(source) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source), targetInfo.type, 3 /* RecursionFlags.Both */, reportErrors) : typeRelatedToIndexInfo(source, targetInfo, reportErrors, intersectionState); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -66518,46 +66774,46 @@ var ts; if (sourceInfo) { return indexInfoRelatedTo(sourceInfo, targetInfo, reportErrors); } - if (!(intersectionState & 1 /* Source */) && isObjectTypeWithInferableIndex(source)) { + if (!(intersectionState & 1 /* IntersectionState.Source */) && isObjectTypeWithInferableIndex(source)) { // Intersection constituents are never considered to have an inferred index signature return membersRelatedToIndexInfo(source, targetInfo, reportErrors); } if (reportErrors) { reportError(ts.Diagnostics.Index_signature_for_type_0_is_missing_in_type_1, typeToString(targetInfo.keyType), typeToString(source)); } - return 0 /* False */; + return 0 /* Ternary.False */; } function indexSignaturesIdenticalTo(source, target) { var sourceInfos = getIndexInfosOfType(source); var targetInfos = getIndexInfosOfType(target); if (sourceInfos.length !== targetInfos.length) { - return 0 /* False */; + return 0 /* Ternary.False */; } for (var _i = 0, targetInfos_1 = targetInfos; _i < targetInfos_1.length; _i++) { var targetInfo = targetInfos_1[_i]; var sourceInfo = getIndexInfoOfType(source, targetInfo.keyType); - if (!(sourceInfo && isRelatedTo(sourceInfo.type, targetInfo.type, 3 /* Both */) && sourceInfo.isReadonly === targetInfo.isReadonly)) { - return 0 /* False */; + if (!(sourceInfo && isRelatedTo(sourceInfo.type, targetInfo.type, 3 /* RecursionFlags.Both */) && sourceInfo.isReadonly === targetInfo.isReadonly)) { + return 0 /* Ternary.False */; } } - return -1 /* True */; + return -1 /* Ternary.True */; } function constructorVisibilitiesAreCompatible(sourceSignature, targetSignature, reportErrors) { if (!sourceSignature.declaration || !targetSignature.declaration) { return true; } - var sourceAccessibility = ts.getSelectedEffectiveModifierFlags(sourceSignature.declaration, 24 /* NonPublicAccessibilityModifier */); - var targetAccessibility = ts.getSelectedEffectiveModifierFlags(targetSignature.declaration, 24 /* NonPublicAccessibilityModifier */); + var sourceAccessibility = ts.getSelectedEffectiveModifierFlags(sourceSignature.declaration, 24 /* ModifierFlags.NonPublicAccessibilityModifier */); + var targetAccessibility = ts.getSelectedEffectiveModifierFlags(targetSignature.declaration, 24 /* ModifierFlags.NonPublicAccessibilityModifier */); // A public, protected and private signature is assignable to a private signature. - if (targetAccessibility === 8 /* Private */) { + if (targetAccessibility === 8 /* ModifierFlags.Private */) { return true; } // A public and protected signature is assignable to a protected signature. - if (targetAccessibility === 16 /* Protected */ && sourceAccessibility !== 8 /* Private */) { + if (targetAccessibility === 16 /* ModifierFlags.Protected */ && sourceAccessibility !== 8 /* ModifierFlags.Private */) { return true; } // Only a public signature is assignable to public signature. - if (targetAccessibility !== 16 /* Protected */ && !sourceAccessibility) { + if (targetAccessibility !== 16 /* ModifierFlags.Protected */ && !sourceAccessibility) { return true; } if (reportErrors) { @@ -66570,19 +66826,19 @@ var ts; // Okay, yes, 'boolean' is a union of 'true | false', but that's not useful // in error reporting scenarios. If you need to use this function but that detail matters, // feel free to add a flag. - if (type.flags & 16 /* Boolean */) { + if (type.flags & 16 /* TypeFlags.Boolean */) { return false; } - if (type.flags & 3145728 /* UnionOrIntersection */) { + if (type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { return !!ts.forEach(type.types, typeCouldHaveTopLevelSingletonTypes); } - if (type.flags & 465829888 /* Instantiable */) { + if (type.flags & 465829888 /* TypeFlags.Instantiable */) { var constraint = getConstraintOfType(type); if (constraint && constraint !== type) { return typeCouldHaveTopLevelSingletonTypes(constraint); } } - return isUnitType(type) || !!(type.flags & 134217728 /* TemplateLiteral */); + return isUnitType(type) || !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */); } function getExactOptionalUnassignableProperties(source, target) { if (isTupleType(source) && isTupleType(target)) @@ -66591,7 +66847,7 @@ var ts; .filter(function (targetProp) { return isExactOptionalPropertyMismatch(getTypeOfPropertyOfType(source, targetProp.escapedName), getTypeOfSymbol(targetProp)); }); } function isExactOptionalPropertyMismatch(source, target) { - return !!source && !!target && maybeTypeOfKind(source, 32768 /* Undefined */) && !!containsMissingType(target); + return !!source && !!target && maybeTypeOfKind(source, 32768 /* TypeFlags.Undefined */) && !!containsMissingType(target); } function getExactOptionalProperties(type) { return getPropertiesOfType(type).filter(function (targetProp) { return containsMissingType(getTypeOfSymbol(targetProp)); }); @@ -66611,7 +66867,7 @@ var ts; for (var _i = 0, discriminators_1 = discriminators; _i < discriminators_1.length; _i++) { var _a = discriminators_1[_i], getDiscriminatingType = _a[0], propertyName = _a[1]; var targetProp = getUnionOrIntersectionProperty(target, propertyName); - if (skipPartial && targetProp && ts.getCheckFlags(targetProp) & 16 /* ReadPartial */) { + if (skipPartial && targetProp && ts.getCheckFlags(targetProp) & 16 /* CheckFlags.ReadPartial */) { continue; } var i = 0; @@ -66646,12 +66902,12 @@ var ts; * and no required properties, call/construct signatures or index signatures */ function isWeakType(type) { - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); return resolved.callSignatures.length === 0 && resolved.constructSignatures.length === 0 && resolved.indexInfos.length === 0 && - resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216 /* Optional */); }); + resolved.properties.length > 0 && ts.every(resolved.properties, function (p) { return !!(p.flags & 16777216 /* SymbolFlags.Optional */); }); } - if (type.flags & 2097152 /* Intersection */) { + if (type.flags & 2097152 /* TypeFlags.Intersection */) { return ts.every(type.types, isWeakType); } return false; @@ -66667,7 +66923,7 @@ var ts; } function getVariances(type) { // Arrays and tuples are known to be covariant, no need to spend time computing this. - return type === globalArrayType || type === globalReadonlyArrayType || type.objectFlags & 8 /* Tuple */ ? + return type === globalArrayType || type === globalReadonlyArrayType || type.objectFlags & 8 /* ObjectFlags.Tuple */ ? arrayVariances : getVariancesWorker(type.symbol, type.typeParameters); } @@ -66683,14 +66939,14 @@ var ts; if (typeParameters === void 0) { typeParameters = ts.emptyArray; } var links = getSymbolLinks(symbol); if (!links.variances) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* CheckTypes */, "getVariancesWorker", { arity: typeParameters.length, id: getTypeId(getDeclaredTypeOfSymbol(symbol)) }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* tracing.Phase.CheckTypes */, "getVariancesWorker", { arity: typeParameters.length, id: getTypeId(getDeclaredTypeOfSymbol(symbol)) }); links.variances = ts.emptyArray; var variances = []; var _loop_22 = function (tp) { var modifiers = getVarianceModifiers(tp); - var variance = modifiers & 65536 /* Out */ ? - modifiers & 32768 /* In */ ? 0 /* Invariant */ : 1 /* Covariant */ : - modifiers & 32768 /* In */ ? 2 /* Contravariant */ : undefined; + var variance = modifiers & 65536 /* ModifierFlags.Out */ ? + modifiers & 32768 /* ModifierFlags.In */ ? 0 /* VarianceFlags.Invariant */ : 1 /* VarianceFlags.Covariant */ : + modifiers & 32768 /* ModifierFlags.In */ ? 2 /* VarianceFlags.Contravariant */ : undefined; if (variance === undefined) { var unmeasurable_1 = false; var unreliable_1 = false; @@ -66701,22 +66957,22 @@ var ts; // invariance, covariance, contravariance or bivariance. var typeWithSuper = createMarkerType(symbol, tp, markerSuperType); var typeWithSub = createMarkerType(symbol, tp, markerSubType); - variance = (isTypeAssignableTo(typeWithSub, typeWithSuper) ? 1 /* Covariant */ : 0) | - (isTypeAssignableTo(typeWithSuper, typeWithSub) ? 2 /* Contravariant */ : 0); + variance = (isTypeAssignableTo(typeWithSub, typeWithSuper) ? 1 /* VarianceFlags.Covariant */ : 0) | + (isTypeAssignableTo(typeWithSuper, typeWithSub) ? 2 /* VarianceFlags.Contravariant */ : 0); // If the instantiations appear to be related bivariantly it may be because the // type parameter is independent (i.e. it isn't witnessed anywhere in the generic // type). To determine this we compare instantiations where the type parameter is // replaced with marker types that are known to be unrelated. - if (variance === 3 /* Bivariant */ && isTypeAssignableTo(createMarkerType(symbol, tp, markerOtherType), typeWithSuper)) { - variance = 4 /* Independent */; + if (variance === 3 /* VarianceFlags.Bivariant */ && isTypeAssignableTo(createMarkerType(symbol, tp, markerOtherType), typeWithSuper)) { + variance = 4 /* VarianceFlags.Independent */; } outofbandVarianceMarkerHandler = oldHandler; if (unmeasurable_1 || unreliable_1) { if (unmeasurable_1) { - variance |= 8 /* Unmeasurable */; + variance |= 8 /* VarianceFlags.Unmeasurable */; } if (unreliable_1) { - variance |= 16 /* Unreliable */; + variance |= 16 /* VarianceFlags.Unreliable */; } } } @@ -66737,7 +66993,7 @@ var ts; if (isErrorType(type)) { return type; } - var result = symbol.flags & 524288 /* TypeAlias */ ? + var result = symbol.flags & 524288 /* SymbolFlags.TypeAlias */ ? getTypeAliasInstantiation(symbol, instantiateTypes(getSymbolLinks(symbol).typeParameters, mapper)) : createTypeReference(type, instantiateTypes(type.typeParameters, mapper)); markerTypes.add(getTypeId(result)); @@ -66748,34 +67004,34 @@ var ts; } function getVarianceModifiers(tp) { var _a, _b; - return (ts.some((_a = tp.symbol) === null || _a === void 0 ? void 0 : _a.declarations, function (d) { return ts.hasSyntacticModifier(d, 32768 /* In */); }) ? 32768 /* In */ : 0) | - (ts.some((_b = tp.symbol) === null || _b === void 0 ? void 0 : _b.declarations, function (d) { return ts.hasSyntacticModifier(d, 65536 /* Out */); }) ? 65536 /* Out */ : 0); + return (ts.some((_a = tp.symbol) === null || _a === void 0 ? void 0 : _a.declarations, function (d) { return ts.hasSyntacticModifier(d, 32768 /* ModifierFlags.In */); }) ? 32768 /* ModifierFlags.In */ : 0) | + (ts.some((_b = tp.symbol) === null || _b === void 0 ? void 0 : _b.declarations, function (d) { return ts.hasSyntacticModifier(d, 65536 /* ModifierFlags.Out */); }) ? 65536 /* ModifierFlags.Out */ : 0); } // Return true if the given type reference has a 'void' type argument for a covariant type parameter. // See comment at call in recursiveTypeRelatedTo for when this case matters. function hasCovariantVoidArgument(typeArguments, variances) { for (var i = 0; i < variances.length; i++) { - if ((variances[i] & 7 /* VarianceMask */) === 1 /* Covariant */ && typeArguments[i].flags & 16384 /* Void */) { + if ((variances[i] & 7 /* VarianceFlags.VarianceMask */) === 1 /* VarianceFlags.Covariant */ && typeArguments[i].flags & 16384 /* TypeFlags.Void */) { return true; } } return false; } function isUnconstrainedTypeParameter(type) { - return type.flags & 262144 /* TypeParameter */ && !getConstraintOfTypeParameter(type); + return type.flags & 262144 /* TypeFlags.TypeParameter */ && !getConstraintOfTypeParameter(type); } function isNonDeferredTypeReference(type) { - return !!(ts.getObjectFlags(type) & 4 /* Reference */) && !type.node; + return !!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) && !type.node; } function isTypeReferenceWithGenericArguments(type) { - return isNonDeferredTypeReference(type) && ts.some(getTypeArguments(type), function (t) { return !!(t.flags & 262144 /* TypeParameter */) || isTypeReferenceWithGenericArguments(t); }); + return isNonDeferredTypeReference(type) && ts.some(getTypeArguments(type), function (t) { return !!(t.flags & 262144 /* TypeFlags.TypeParameter */) || isTypeReferenceWithGenericArguments(t); }); } function getGenericTypeReferenceRelationKey(source, target, postFix, ignoreConstraints) { var typeParameters = []; var constraintMarker = ""; var sourceId = getTypeReferenceId(source, 0); var targetId = getTypeReferenceId(target, 0); - return "" + constraintMarker + sourceId + "," + targetId + postFix; + return "".concat(constraintMarker).concat(sourceId, ",").concat(targetId).concat(postFix); // getTypeReferenceId(A) returns "111=0-12=1" // where A.id=111 and number.id=12 function getTypeReferenceId(type, depth) { @@ -66783,7 +67039,7 @@ var ts; var result = "" + type.target.id; for (var _i = 0, _a = getTypeArguments(type); _i < _a.length; _i++) { var t = _a[_i]; - if (t.flags & 262144 /* TypeParameter */) { + if (t.flags & 262144 /* TypeFlags.TypeParameter */) { if (ignoreConstraints || isUnconstrainedTypeParameter(t)) { var index = typeParameters.indexOf(t); if (index < 0) { @@ -66819,12 +67075,12 @@ var ts; var postFix = intersectionState ? ":" + intersectionState : ""; return isTypeReferenceWithGenericArguments(source) && isTypeReferenceWithGenericArguments(target) ? getGenericTypeReferenceRelationKey(source, target, postFix, ignoreConstraints) : - source.id + "," + target.id + postFix; + "".concat(source.id, ",").concat(target.id).concat(postFix); } // Invoke the callback for each underlying property symbol of the given symbol and return the first // value that isn't undefined. function forEachProperty(prop, callback) { - if (ts.getCheckFlags(prop) & 6 /* Synthetic */) { + if (ts.getCheckFlags(prop) & 6 /* CheckFlags.Synthetic */) { for (var _i = 0, _a = prop.containingType.types; _i < _a.length; _i++) { var t = _a[_i]; var p = getPropertyOfType(t, prop.escapedName); @@ -66839,7 +67095,7 @@ var ts; } // Return the declaring class type of a property or undefined if property not declared in class function getDeclaringClass(prop) { - return prop.parent && prop.parent.flags & 32 /* Class */ ? getDeclaredTypeOfSymbol(getParentOfSymbol(prop)) : undefined; + return prop.parent && prop.parent.flags & 32 /* SymbolFlags.Class */ ? getDeclaredTypeOfSymbol(getParentOfSymbol(prop)) : undefined; } // Return the inherited type of the given property or undefined if property doesn't exist in a base class. function getTypeOfPropertyInBaseClass(property) { @@ -66857,13 +67113,13 @@ var ts; } // Return true if source property is a valid override of protected parts of target property. function isValidOverrideOf(sourceProp, targetProp) { - return !forEachProperty(targetProp, function (tp) { return ts.getDeclarationModifierFlagsFromSymbol(tp) & 16 /* Protected */ ? + return !forEachProperty(targetProp, function (tp) { return ts.getDeclarationModifierFlagsFromSymbol(tp) & 16 /* ModifierFlags.Protected */ ? !isPropertyInClassDerivedFrom(sourceProp, getDeclaringClass(tp)) : false; }); } // Return true if the given class derives from each of the declaring classes of the protected // constituents of the given property. function isClassDerivedFromDeclaringClasses(checkClass, prop, writing) { - return forEachProperty(prop, function (p) { return ts.getDeclarationModifierFlagsFromSymbol(p, writing) & 16 /* Protected */ ? + return forEachProperty(prop, function (p) { return ts.getDeclarationModifierFlagsFromSymbol(p, writing) & 16 /* ModifierFlags.Protected */ ? !hasBaseType(checkClass, getDeclaringClass(p)) : false; }) ? undefined : checkClass; } // Return true if the given type is deeply nested. We consider this to be the case when structural type comparisons @@ -66881,12 +67137,12 @@ var ts; function isDeeplyNestedType(type, stack, depth, maxDepth) { if (maxDepth === void 0) { maxDepth = 3; } if (depth >= maxDepth) { - var identity_1 = getRecursionIdentity(type); + var identity_2 = getRecursionIdentity(type); var count = 0; var lastTypeId = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (getRecursionIdentity(t) === identity_1) { + if (getRecursionIdentity(t) === identity_2) { // We only count occurrences with a higher type id than the previous occurrence, since higher // type ids are an indicator of newer instantiations caused by recursion. if (t.id >= lastTypeId) { @@ -66909,14 +67165,14 @@ var ts; // reference the type have a recursion identity that differs from the object identity. function getRecursionIdentity(type) { // Object and array literals are known not to contain recursive references and don't need a recursion identity. - if (type.flags & 524288 /* Object */ && !isObjectOrArrayLiteralType(type)) { - if (ts.getObjectFlags(type) && 4 /* Reference */ && type.node) { + if (type.flags & 524288 /* TypeFlags.Object */ && !isObjectOrArrayLiteralType(type)) { + if (ts.getObjectFlags(type) && 4 /* ObjectFlags.Reference */ && type.node) { // Deferred type references are tracked through their associated AST node. This gives us finer // granularity than using their associated target because each manifest type reference has a // unique AST node. return type.node; } - if (type.symbol && !(ts.getObjectFlags(type) & 16 /* Anonymous */ && type.symbol.flags & 32 /* Class */)) { + if (type.symbol && !(ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */ && type.symbol.flags & 32 /* SymbolFlags.Class */)) { // We track all object types that have an associated symbol (representing the origin of the type), but // exclude the static side of classes from this check since it shares its symbol with the instance side. return type.symbol; @@ -66926,49 +67182,49 @@ var ts; return type.target; } } - if (type.flags & 262144 /* TypeParameter */) { + if (type.flags & 262144 /* TypeFlags.TypeParameter */) { return type.symbol; } - if (type.flags & 8388608 /* IndexedAccess */) { + if (type.flags & 8388608 /* TypeFlags.IndexedAccess */) { // Identity is the leftmost object type in a chain of indexed accesses, eg, in A[P][Q] it is A do { type = type.objectType; - } while (type.flags & 8388608 /* IndexedAccess */); + } while (type.flags & 8388608 /* TypeFlags.IndexedAccess */); return type; } - if (type.flags & 16777216 /* Conditional */) { + if (type.flags & 16777216 /* TypeFlags.Conditional */) { // The root object represents the origin of the conditional type return type.root; } return type; } function isPropertyIdenticalTo(sourceProp, targetProp) { - return compareProperties(sourceProp, targetProp, compareTypesIdentical) !== 0 /* False */; + return compareProperties(sourceProp, targetProp, compareTypesIdentical) !== 0 /* Ternary.False */; } function compareProperties(sourceProp, targetProp, compareTypes) { // Two members are considered identical when // - they are public properties with identical names, optionality, and types, // - they are private or protected properties originating in the same declaration and having identical types if (sourceProp === targetProp) { - return -1 /* True */; + return -1 /* Ternary.True */; } - var sourcePropAccessibility = ts.getDeclarationModifierFlagsFromSymbol(sourceProp) & 24 /* NonPublicAccessibilityModifier */; - var targetPropAccessibility = ts.getDeclarationModifierFlagsFromSymbol(targetProp) & 24 /* NonPublicAccessibilityModifier */; + var sourcePropAccessibility = ts.getDeclarationModifierFlagsFromSymbol(sourceProp) & 24 /* ModifierFlags.NonPublicAccessibilityModifier */; + var targetPropAccessibility = ts.getDeclarationModifierFlagsFromSymbol(targetProp) & 24 /* ModifierFlags.NonPublicAccessibilityModifier */; if (sourcePropAccessibility !== targetPropAccessibility) { - return 0 /* False */; + return 0 /* Ternary.False */; } if (sourcePropAccessibility) { if (getTargetSymbol(sourceProp) !== getTargetSymbol(targetProp)) { - return 0 /* False */; + return 0 /* Ternary.False */; } } else { - if ((sourceProp.flags & 16777216 /* Optional */) !== (targetProp.flags & 16777216 /* Optional */)) { - return 0 /* False */; + if ((sourceProp.flags & 16777216 /* SymbolFlags.Optional */) !== (targetProp.flags & 16777216 /* SymbolFlags.Optional */)) { + return 0 /* Ternary.False */; } } if (isReadonlySymbol(sourceProp) !== isReadonlySymbol(targetProp)) { - return 0 /* False */; + return 0 /* Ternary.False */; } return compareTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp)); } @@ -66999,14 +67255,14 @@ var ts; function compareSignaturesIdentical(source, target, partialMatch, ignoreThisTypes, ignoreReturnTypes, compareTypes) { // TODO (drosen): De-duplicate code between related functions. if (source === target) { - return -1 /* True */; + return -1 /* Ternary.True */; } if (!(isMatchingSignature(source, target, partialMatch))) { - return 0 /* False */; + return 0 /* Ternary.False */; } // Check that the two signatures have the same number of type parameters. if (ts.length(source.typeParameters) !== ts.length(target.typeParameters)) { - return 0 /* False */; + return 0 /* Ternary.False */; } // Check that type parameter constraints and defaults match. If they do, instantiate the source // signature with the type parameters of the target signature and continue the comparison. @@ -67017,12 +67273,12 @@ var ts; var t = target.typeParameters[i]; if (!(s === t || compareTypes(instantiateType(getConstraintFromTypeParameter(s), mapper) || unknownType, getConstraintFromTypeParameter(t) || unknownType) && compareTypes(instantiateType(getDefaultFromTypeParameter(s), mapper) || unknownType, getDefaultFromTypeParameter(t) || unknownType))) { - return 0 /* False */; + return 0 /* Ternary.False */; } } source = instantiateSignature(source, mapper, /*eraseTypeParameters*/ true); } - var result = -1 /* True */; + var result = -1 /* Ternary.True */; if (!ignoreThisTypes) { var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType) { @@ -67030,7 +67286,7 @@ var ts; if (targetThisType) { var related = compareTypes(sourceThisType, targetThisType); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -67042,7 +67298,7 @@ var ts; var t = getTypeAtPosition(target, i); var related = compareTypes(t, s); if (!related) { - return 0 /* False */; + return 0 /* Ternary.False */; } result &= related; } @@ -67056,10 +67312,10 @@ var ts; return result; } function compareTypePredicatesIdentical(source, target, compareTypes) { - return !(source && target && typePredicateKindsMatch(source, target)) ? 0 /* False */ : - source.type === target.type ? -1 /* True */ : + return !(source && target && typePredicateKindsMatch(source, target)) ? 0 /* Ternary.False */ : + source.type === target.type ? -1 /* Ternary.True */ : source.type && target.type ? compareTypes(source.type, target.type) : - 0 /* False */; + 0 /* Ternary.False */; } function literalTypesWithSameBaseType(types) { var commonBaseType; @@ -67090,20 +67346,23 @@ var ts; if (!strictNullChecks) { return getSupertypeOrUnion(types); } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 98304 /* Nullable */); }); + var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 98304 /* TypeFlags.Nullable */); }); return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 98304 /* Nullable */) : - getUnionType(types, 2 /* Subtype */); + getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 98304 /* TypeFlags.Nullable */) : + getUnionType(types, 2 /* UnionReduction.Subtype */); } // Return the leftmost type for which no type to the right is a subtype. function getCommonSubtype(types) { return ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(t, s) ? t : s; }); } function isArrayType(type) { - return !!(ts.getObjectFlags(type) & 4 /* Reference */) && (type.target === globalArrayType || type.target === globalReadonlyArrayType); + return !!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) && (type.target === globalArrayType || type.target === globalReadonlyArrayType); } function isReadonlyArrayType(type) { - return !!(ts.getObjectFlags(type) & 4 /* Reference */) && type.target === globalReadonlyArrayType; + return !!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) && type.target === globalReadonlyArrayType; + } + function isArrayOrTupleType(type) { + return isArrayType(type) || isTupleType(type); } function isMutableArrayOrTuple(type) { return isArrayType(type) && !isReadonlyArrayType(type) || isTupleType(type) && !type.target.readonly; @@ -67114,22 +67373,22 @@ var ts; function isArrayLikeType(type) { // A type is array-like if it is a reference to the global Array or global ReadonlyArray type, // or if it is not the undefined or null type and if it is assignable to ReadonlyArray - return isArrayType(type) || !(type.flags & 98304 /* Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); + return isArrayType(type) || !(type.flags & 98304 /* TypeFlags.Nullable */) && isTypeAssignableTo(type, anyReadonlyArrayType); } function getSingleBaseForNonAugmentingSubtype(type) { - if (!(ts.getObjectFlags(type) & 4 /* Reference */) || !(ts.getObjectFlags(type.target) & 3 /* ClassOrInterface */)) { + if (!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) || !(ts.getObjectFlags(type.target) & 3 /* ObjectFlags.ClassOrInterface */)) { return undefined; } - if (ts.getObjectFlags(type) & 33554432 /* IdenticalBaseTypeCalculated */) { - return ts.getObjectFlags(type) & 67108864 /* IdenticalBaseTypeExists */ ? type.cachedEquivalentBaseType : undefined; + if (ts.getObjectFlags(type) & 33554432 /* ObjectFlags.IdenticalBaseTypeCalculated */) { + return ts.getObjectFlags(type) & 67108864 /* ObjectFlags.IdenticalBaseTypeExists */ ? type.cachedEquivalentBaseType : undefined; } - type.objectFlags |= 33554432 /* IdenticalBaseTypeCalculated */; + type.objectFlags |= 33554432 /* ObjectFlags.IdenticalBaseTypeCalculated */; var target = type.target; - if (ts.getObjectFlags(target) & 1 /* Class */) { + if (ts.getObjectFlags(target) & 1 /* ObjectFlags.Class */) { var baseTypeNode = getBaseTypeNodeOfClass(target); // A base type expression may circularly reference the class itself (e.g. as an argument to function call), so we only // check for base types specified as simple qualified names. - if (baseTypeNode && baseTypeNode.expression.kind !== 79 /* Identifier */ && baseTypeNode.expression.kind !== 206 /* PropertyAccessExpression */) { + if (baseTypeNode && baseTypeNode.expression.kind !== 79 /* SyntaxKind.Identifier */ && baseTypeNode.expression.kind !== 206 /* SyntaxKind.PropertyAccessExpression */) { return undefined; } } @@ -67144,7 +67403,7 @@ var ts; if (ts.length(getTypeArguments(type)) > ts.length(target.typeParameters)) { instantiatedBase = getTypeWithThisArgument(instantiatedBase, ts.last(getTypeArguments(type))); } - type.objectFlags |= 67108864 /* IdenticalBaseTypeExists */; + type.objectFlags |= 67108864 /* ObjectFlags.IdenticalBaseTypeExists */; return type.cachedEquivalentBaseType = instantiatedBase; } function isEmptyLiteralType(type) { @@ -67171,44 +67430,44 @@ var ts; return undefined; } function isNeitherUnitTypeNorNever(type) { - return !(type.flags & (109440 /* Unit */ | 131072 /* Never */)); + return !(type.flags & (109440 /* TypeFlags.Unit */ | 131072 /* TypeFlags.Never */)); } function isUnitType(type) { - return !!(type.flags & 109440 /* Unit */); + return !!(type.flags & 109440 /* TypeFlags.Unit */); } function isUnitLikeType(type) { - return type.flags & 2097152 /* Intersection */ ? ts.some(type.types, isUnitType) : - !!(type.flags & 109440 /* Unit */); + return type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.some(type.types, isUnitType) : + !!(type.flags & 109440 /* TypeFlags.Unit */); } function extractUnitType(type) { - return type.flags & 2097152 /* Intersection */ ? ts.find(type.types, isUnitType) || type : type; + return type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.find(type.types, isUnitType) || type : type; } function isLiteralType(type) { - return type.flags & 16 /* Boolean */ ? true : - type.flags & 1048576 /* Union */ ? type.flags & 1024 /* EnumLiteral */ ? true : ts.every(type.types, isUnitType) : + return type.flags & 16 /* TypeFlags.Boolean */ ? true : + type.flags & 1048576 /* TypeFlags.Union */ ? type.flags & 1024 /* TypeFlags.EnumLiteral */ ? true : ts.every(type.types, isUnitType) : isUnitType(type); } function getBaseTypeOfLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : - type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : - type.flags & 256 /* NumberLiteral */ ? numberType : - type.flags & 2048 /* BigIntLiteral */ ? bigintType : - type.flags & 512 /* BooleanLiteral */ ? booleanType : - type.flags & 1048576 /* Union */ ? mapType(type, getBaseTypeOfLiteralType) : + return type.flags & 1024 /* TypeFlags.EnumLiteral */ ? getBaseTypeOfEnumLiteralType(type) : + type.flags & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) ? stringType : + type.flags & 256 /* TypeFlags.NumberLiteral */ ? numberType : + type.flags & 2048 /* TypeFlags.BigIntLiteral */ ? bigintType : + type.flags & 512 /* TypeFlags.BooleanLiteral */ ? booleanType : + type.flags & 1048576 /* TypeFlags.Union */ ? mapType(type, getBaseTypeOfLiteralType) : type; } function getWidenedLiteralType(type) { - return type.flags & 1024 /* EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : - type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : - type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : - type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : - type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : - type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : + return type.flags & 1024 /* TypeFlags.EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : + type.flags & 128 /* TypeFlags.StringLiteral */ && isFreshLiteralType(type) ? stringType : + type.flags & 256 /* TypeFlags.NumberLiteral */ && isFreshLiteralType(type) ? numberType : + type.flags & 2048 /* TypeFlags.BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : + type.flags & 512 /* TypeFlags.BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : + type.flags & 1048576 /* TypeFlags.Union */ ? mapType(type, getWidenedLiteralType) : type; } function getWidenedUniqueESSymbolType(type) { - return type.flags & 8192 /* UniqueESSymbol */ ? esSymbolType : - type.flags & 1048576 /* Union */ ? mapType(type, getWidenedUniqueESSymbolType) : + return type.flags & 8192 /* TypeFlags.UniqueESSymbol */ ? esSymbolType : + type.flags & 1048576 /* TypeFlags.Union */ ? mapType(type, getWidenedUniqueESSymbolType) : type; } function getWidenedLiteralLikeTypeForContextualType(type, contextualType) { @@ -67239,10 +67498,10 @@ var ts; * Prefer using isTupleLikeType() unless the use of `elementTypes`/`getTypeArguments` is required. */ function isTupleType(type) { - return !!(ts.getObjectFlags(type) & 4 /* Reference */ && type.target.objectFlags & 8 /* Tuple */); + return !!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ && type.target.objectFlags & 8 /* ObjectFlags.Tuple */); } function isGenericTupleType(type) { - return isTupleType(type) && !!(type.target.combinedFlags & 8 /* Variadic */); + return isTupleType(type) && !!(type.target.combinedFlags & 8 /* ElementFlags.Variadic */); } function isSingleElementGenericTupleType(type) { return isGenericTupleType(type) && type.target.elementFlags.length === 1; @@ -67263,7 +67522,7 @@ var ts; var elementTypes = []; for (var i = index; i < length; i++) { var t = typeArguments[i]; - elementTypes.push(type.target.elementFlags[i] & 8 /* Variadic */ ? getIndexedAccessType(t, numberType) : t); + elementTypes.push(type.target.elementFlags[i] & 8 /* ElementFlags.Variadic */ ? getIndexedAccessType(t, numberType) : t); } return writing ? getIntersectionType(elementTypes) : getUnionType(elementTypes); } @@ -67271,7 +67530,7 @@ var ts; } function isTupleTypeStructureMatching(t1, t2) { return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && - ts.every(t1.target.elementFlags, function (f, i) { return (f & 12 /* Variable */) === (t2.target.elementFlags[i] & 12 /* Variable */); }); + ts.every(t1.target.elementFlags, function (f, i) { return (f & 12 /* ElementFlags.Variable */) === (t2.target.elementFlags[i] & 12 /* ElementFlags.Variable */); }); } function isZeroBigInt(_a) { var value = _a.value; @@ -67289,31 +67548,31 @@ var ts; // flags for the string, number, boolean, "", 0, false, void, undefined, or null types respectively. Returns // no flags for all other types (including non-falsy literal types). function getFalsyFlags(type) { - return type.flags & 1048576 /* Union */ ? getFalsyFlagsOfTypes(type.types) : - type.flags & 128 /* StringLiteral */ ? type.value === "" ? 128 /* StringLiteral */ : 0 : - type.flags & 256 /* NumberLiteral */ ? type.value === 0 ? 256 /* NumberLiteral */ : 0 : - type.flags & 2048 /* BigIntLiteral */ ? isZeroBigInt(type) ? 2048 /* BigIntLiteral */ : 0 : - type.flags & 512 /* BooleanLiteral */ ? (type === falseType || type === regularFalseType) ? 512 /* BooleanLiteral */ : 0 : - type.flags & 117724 /* PossiblyFalsy */; + return type.flags & 1048576 /* TypeFlags.Union */ ? getFalsyFlagsOfTypes(type.types) : + type.flags & 128 /* TypeFlags.StringLiteral */ ? type.value === "" ? 128 /* TypeFlags.StringLiteral */ : 0 : + type.flags & 256 /* TypeFlags.NumberLiteral */ ? type.value === 0 ? 256 /* TypeFlags.NumberLiteral */ : 0 : + type.flags & 2048 /* TypeFlags.BigIntLiteral */ ? isZeroBigInt(type) ? 2048 /* TypeFlags.BigIntLiteral */ : 0 : + type.flags & 512 /* TypeFlags.BooleanLiteral */ ? (type === falseType || type === regularFalseType) ? 512 /* TypeFlags.BooleanLiteral */ : 0 : + type.flags & 117724 /* TypeFlags.PossiblyFalsy */; } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 117632 /* DefinitelyFalsy */ ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 117632 /* DefinitelyFalsy */); }) : + return getFalsyFlags(type) & 117632 /* TypeFlags.DefinitelyFalsy */ ? + filterType(type, function (t) { return !(getFalsyFlags(t) & 117632 /* TypeFlags.DefinitelyFalsy */); }) : type; } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); } function getDefinitelyFalsyPartOfType(type) { - return type.flags & 4 /* String */ ? emptyStringType : - type.flags & 8 /* Number */ ? zeroType : - type.flags & 64 /* BigInt */ ? zeroBigIntType : + return type.flags & 4 /* TypeFlags.String */ ? emptyStringType : + type.flags & 8 /* TypeFlags.Number */ ? zeroType : + type.flags & 64 /* TypeFlags.BigInt */ ? zeroBigIntType : type === regularFalseType || type === falseType || - type.flags & (16384 /* Void */ | 32768 /* Undefined */ | 65536 /* Null */ | 3 /* AnyOrUnknown */) || - type.flags & 128 /* StringLiteral */ && type.value === "" || - type.flags & 256 /* NumberLiteral */ && type.value === 0 || - type.flags & 2048 /* BigIntLiteral */ && isZeroBigInt(type) ? type : + type.flags & (16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */ | 65536 /* TypeFlags.Null */ | 3 /* TypeFlags.AnyOrUnknown */) || + type.flags & 128 /* TypeFlags.StringLiteral */ && type.value === "" || + type.flags & 256 /* TypeFlags.NumberLiteral */ && type.value === 0 || + type.flags & 2048 /* TypeFlags.BigIntLiteral */ && isZeroBigInt(type) ? type : neverType; } /** @@ -67322,24 +67581,24 @@ var ts; * @param flags - Either TypeFlags.Undefined or TypeFlags.Null, or both */ function getNullableType(type, flags) { - var missing = (flags & ~type.flags) & (32768 /* Undefined */ | 65536 /* Null */); + var missing = (flags & ~type.flags) & (32768 /* TypeFlags.Undefined */ | 65536 /* TypeFlags.Null */); return missing === 0 ? type : - missing === 32768 /* Undefined */ ? getUnionType([type, undefinedType]) : - missing === 65536 /* Null */ ? getUnionType([type, nullType]) : + missing === 32768 /* TypeFlags.Undefined */ ? getUnionType([type, undefinedType]) : + missing === 65536 /* TypeFlags.Null */ ? getUnionType([type, nullType]) : getUnionType([type, undefinedType, nullType]); } function getOptionalType(type, isProperty) { if (isProperty === void 0) { isProperty = false; } ts.Debug.assert(strictNullChecks); - return type.flags & 32768 /* Undefined */ ? type : getUnionType([type, isProperty ? missingType : undefinedType]); + return type.flags & 32768 /* TypeFlags.Undefined */ ? type : getUnionType([type, isProperty ? missingType : undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { // First reduce away any constituents that are assignable to 'undefined' or 'null'. This not only eliminates // 'undefined' and 'null', but also higher-order types such as a type parameter 'U extends undefined | null' // that isn't eliminated by a NonNullable instantiation. - var reducedType = getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */); + var reducedType = getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); if (!deferredGlobalNonNullableTypeAlias) { - deferredGlobalNonNullableTypeAlias = getGlobalSymbol("NonNullable", 524288 /* TypeAlias */, /*diagnostic*/ undefined) || unknownSymbol; + deferredGlobalNonNullableTypeAlias = getGlobalSymbol("NonNullable", 524288 /* SymbolFlags.TypeAlias */, /*diagnostic*/ undefined) || unknownSymbol; } // If the NonNullable type is available, return an instantiation. Otherwise just return the reduced type. return deferredGlobalNonNullableTypeAlias !== unknownSymbol ? @@ -67367,10 +67626,10 @@ var ts; return exactOptionalPropertyTypes && isOptional ? removeType(type, missingType) : type; } function containsMissingType(type) { - return exactOptionalPropertyTypes && (type === missingType || type.flags & 1048576 /* Union */ && containsType(type.types, missingType)); + return exactOptionalPropertyTypes && (type === missingType || type.flags & 1048576 /* TypeFlags.Union */ && containsType(type.types, missingType)); } function removeMissingOrUndefinedType(type) { - return exactOptionalPropertyTypes ? removeType(type, missingType) : getTypeWithFacts(type, 524288 /* NEUndefined */); + return exactOptionalPropertyTypes ? removeType(type, missingType) : getTypeWithFacts(type, 524288 /* TypeFacts.NEUndefined */); } /** * Is source potentially coercible to target type under `==`. @@ -67393,23 +67652,23 @@ var ts; * @param target */ function isCoercibleUnderDoubleEquals(source, target) { - return ((source.flags & (8 /* Number */ | 4 /* String */ | 512 /* BooleanLiteral */)) !== 0) - && ((target.flags & (8 /* Number */ | 4 /* String */ | 16 /* Boolean */)) !== 0); + return ((source.flags & (8 /* TypeFlags.Number */ | 4 /* TypeFlags.String */ | 512 /* TypeFlags.BooleanLiteral */)) !== 0) + && ((target.flags & (8 /* TypeFlags.Number */ | 4 /* TypeFlags.String */ | 16 /* TypeFlags.Boolean */)) !== 0); } /** * Return true if type was inferred from an object literal, written as an object type literal, or is the shape of a module * with no call or construct signatures. */ function isObjectTypeWithInferableIndex(type) { - return type.flags & 2097152 /* Intersection */ + return type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.every(type.types, isObjectTypeWithInferableIndex) : !!(type.symbol - && (type.symbol.flags & (4096 /* ObjectLiteral */ | 2048 /* TypeLiteral */ | 384 /* Enum */ | 512 /* ValueModule */)) !== 0 - && !(type.symbol.flags & 32 /* Class */) - && !typeHasCallOrConstructSignatures(type)) || !!(ts.getObjectFlags(type) & 1024 /* ReverseMapped */ && isObjectTypeWithInferableIndex(type.source)); + && (type.symbol.flags & (4096 /* SymbolFlags.ObjectLiteral */ | 2048 /* SymbolFlags.TypeLiteral */ | 384 /* SymbolFlags.Enum */ | 512 /* SymbolFlags.ValueModule */)) !== 0 + && !(type.symbol.flags & 32 /* SymbolFlags.Class */) + && !typeHasCallOrConstructSignatures(type)) || !!(ts.getObjectFlags(type) & 1024 /* ObjectFlags.ReverseMapped */ && isObjectTypeWithInferableIndex(type.source)); } function createSymbolWithType(source, type) { - var symbol = createSymbol(source.flags, source.escapedName, ts.getCheckFlags(source) & 8 /* Readonly */); + var symbol = createSymbol(source.flags, source.escapedName, ts.getCheckFlags(source) & 8 /* CheckFlags.Readonly */); symbol.declarations = source.declarations; symbol.parent = source.parent; symbol.type = type; @@ -67439,7 +67698,7 @@ var ts; * Leave signatures alone since they are not subject to the check. */ function getRegularTypeOfObjectLiteral(type) { - if (!(isObjectLiteralType(type) && ts.getObjectFlags(type) & 8192 /* FreshLiteral */)) { + if (!(isObjectLiteralType(type) && ts.getObjectFlags(type) & 8192 /* ObjectFlags.FreshLiteral */)) { return type; } var regularType = type.regularType; @@ -67450,7 +67709,7 @@ var ts; var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral); var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.indexInfos); regularNew.flags = resolved.flags; - regularNew.objectFlags |= resolved.objectFlags & ~8192 /* FreshLiteral */; + regularNew.objectFlags |= resolved.objectFlags & ~8192 /* ObjectFlags.FreshLiteral */; type.regularType = regularNew; return regularNew; } @@ -67480,7 +67739,7 @@ var ts; var names = new ts.Map(); for (var _i = 0, _a = getSiblingsOfContext(context); _i < _a.length; _i++) { var t = _a[_i]; - if (isObjectLiteralType(t) && !(ts.getObjectFlags(t) & 2097152 /* ContainsSpread */)) { + if (isObjectLiteralType(t) && !(ts.getObjectFlags(t) & 2097152 /* ObjectFlags.ContainsSpread */)) { for (var _b = 0, _c = getPropertiesOfType(t); _b < _c.length; _b++) { var prop = _c[_b]; names.set(prop.escapedName, prop); @@ -67492,7 +67751,7 @@ var ts; return context.resolvedProperties; } function getWidenedProperty(prop, context) { - if (!(prop.flags & 4 /* Property */)) { + if (!(prop.flags & 4 /* SymbolFlags.Property */)) { // Since get accessors already widen their return value there is no need to // widen accessor based properties here. return prop; @@ -67508,7 +67767,7 @@ var ts; return cached; } var result = createSymbolWithType(prop, missingType); - result.flags |= 16777216 /* Optional */; + result.flags |= 16777216 /* SymbolFlags.Optional */; undefinedProperties.set(prop.escapedName, result); return result; } @@ -67527,36 +67786,36 @@ var ts; } } var result = createAnonymousType(type.symbol, members, ts.emptyArray, ts.emptyArray, ts.sameMap(getIndexInfosOfType(type), function (info) { return createIndexInfo(info.keyType, getWidenedType(info.type), info.isReadonly); })); - result.objectFlags |= (ts.getObjectFlags(type) & (4096 /* JSLiteral */ | 262144 /* NonInferrableType */)); // Retain js literal flag through widening + result.objectFlags |= (ts.getObjectFlags(type) & (4096 /* ObjectFlags.JSLiteral */ | 262144 /* ObjectFlags.NonInferrableType */)); // Retain js literal flag through widening return result; } function getWidenedType(type) { return getWidenedTypeWithContext(type, /*context*/ undefined); } function getWidenedTypeWithContext(type, context) { - if (ts.getObjectFlags(type) & 196608 /* RequiresWidening */) { + if (ts.getObjectFlags(type) & 196608 /* ObjectFlags.RequiresWidening */) { if (context === undefined && type.widened) { return type.widened; } var result = void 0; - if (type.flags & (1 /* Any */ | 98304 /* Nullable */)) { + if (type.flags & (1 /* TypeFlags.Any */ | 98304 /* TypeFlags.Nullable */)) { result = anyType; } else if (isObjectLiteralType(type)) { result = getWidenedTypeOfObjectLiteral(type, context); } - else if (type.flags & 1048576 /* Union */) { + else if (type.flags & 1048576 /* TypeFlags.Union */) { var unionContext_1 = context || createWideningContext(/*parent*/ undefined, /*propertyName*/ undefined, type.types); - var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 98304 /* Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); + var widenedTypes = ts.sameMap(type.types, function (t) { return t.flags & 98304 /* TypeFlags.Nullable */ ? t : getWidenedTypeWithContext(t, unionContext_1); }); // Widening an empty object literal transitions from a highly restrictive type to // a highly inclusive one. For that reason we perform subtype reduction here if the // union includes empty object types (e.g. reducing {} | string to just {}). - result = getUnionType(widenedTypes, ts.some(widenedTypes, isEmptyObjectType) ? 2 /* Subtype */ : 1 /* Literal */); + result = getUnionType(widenedTypes, ts.some(widenedTypes, isEmptyObjectType) ? 2 /* UnionReduction.Subtype */ : 1 /* UnionReduction.Literal */); } - else if (type.flags & 2097152 /* Intersection */) { + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { result = getIntersectionType(ts.sameMap(type.types, getWidenedType)); } - else if (isArrayType(type) || isTupleType(type)) { + else if (isArrayOrTupleType(type)) { result = createTypeReference(type.target, ts.sameMap(getTypeArguments(type), getWidenedType)); } if (result && context === undefined) { @@ -67579,8 +67838,8 @@ var ts; */ function reportWideningErrorsInType(type) { var errorReported = false; - if (ts.getObjectFlags(type) & 65536 /* ContainsWideningType */) { - if (type.flags & 1048576 /* Union */) { + if (ts.getObjectFlags(type) & 65536 /* ObjectFlags.ContainsWideningType */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { if (ts.some(type.types, isEmptyObjectType)) { errorReported = true; } @@ -67593,7 +67852,7 @@ var ts; } } } - if (isArrayType(type) || isTupleType(type)) { + if (isArrayOrTupleType(type)) { for (var _b = 0, _c = getTypeArguments(type); _b < _c.length; _b++) { var t = _c[_b]; if (reportWideningErrorsInType(t)) { @@ -67605,7 +67864,7 @@ var ts; for (var _d = 0, _e = getPropertiesOfObjectType(type); _d < _e.length; _d++) { var p = _e[_d]; var t = getTypeOfSymbol(p); - if (ts.getObjectFlags(t) & 65536 /* ContainsWideningType */) { + if (ts.getObjectFlags(t) & 65536 /* ObjectFlags.ContainsWideningType */) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, symbolToString(p), typeToString(getWidenedType(t))); } @@ -67624,17 +67883,17 @@ var ts; } var diagnostic; switch (declaration.kind) { - case 221 /* BinaryExpression */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: + case 221 /* SyntaxKind.BinaryExpression */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: diagnostic = noImplicitAny ? ts.Diagnostics.Member_0_implicitly_has_an_1_type : ts.Diagnostics.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: var param = declaration; if (ts.isIdentifier(param.name) && (ts.isCallSignatureDeclaration(param.parent) || ts.isMethodSignature(param.parent) || ts.isFunctionTypeNode(param.parent)) && param.parent.parameters.indexOf(param) > -1 && - (resolveName(param, param.name.escapedText, 788968 /* Type */, undefined, param.name.escapedText, /*isUse*/ true) || + (resolveName(param, param.name.escapedText, 788968 /* SymbolFlags.Type */, undefined, param.name.escapedText, /*isUse*/ true) || param.name.originalKeywordKind && ts.isTypeNodeKind(param.name.originalKeywordKind))) { var newName = "arg" + param.parent.parameters.indexOf(param); var typeName = ts.declarationNameToString(param.name) + (param.dotDotDotToken ? "[]" : ""); @@ -67645,25 +67904,25 @@ var ts; noImplicitAny ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage : noImplicitAny ? ts.Diagnostics.Parameter_0_implicitly_has_an_1_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; if (!noImplicitAny) { // Don't issue a suggestion for binding elements since the codefix doesn't yet support them. return; } break; - case 317 /* JSDocFunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: error(declaration, ts.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: if (noImplicitAny && !declaration.name) { - if (wideningKind === 3 /* GeneratorYield */) { + if (wideningKind === 3 /* WideningKind.GeneratorYield */) { error(declaration, ts.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation, typeAsString); } else { @@ -67672,10 +67931,10 @@ var ts; return; } diagnostic = !noImplicitAny ? ts.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage : - wideningKind === 3 /* GeneratorYield */ ? ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type : + wideningKind === 3 /* WideningKind.GeneratorYield */ ? ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type : ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: if (noImplicitAny) { error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); } @@ -67687,7 +67946,7 @@ var ts; } function reportErrorsFromWidening(declaration, type, wideningKind) { addLazyDiagnostic(function () { - if (noImplicitAny && ts.getObjectFlags(type) & 65536 /* ContainsWideningType */ && (!wideningKind || !getContextualSignatureForFunctionLikeDeclaration(declaration))) { + if (noImplicitAny && ts.getObjectFlags(type) & 65536 /* ObjectFlags.ContainsWideningType */ && (!wideningKind || !getContextualSignatureForFunctionLikeDeclaration(declaration))) { // Report implicit any error within type if possible, otherwise report error on declaration if (!reportWideningErrorsInType(type)) { reportImplicitAny(declaration, type, wideningKind); @@ -67790,9 +68049,9 @@ var ts; if (context.intraExpressionInferenceSites) { for (var _i = 0, _a = context.intraExpressionInferenceSites; _i < _a.length; _i++) { var _b = _a[_i], node = _b.node, type = _b.type; - var contextualType = node.kind === 169 /* MethodDeclaration */ ? - getContextualTypeForObjectLiteralMethod(node, 2 /* NoConstraints */) : - getContextualType(node, 2 /* NoConstraints */); + var contextualType = node.kind === 169 /* SyntaxKind.MethodDeclaration */ ? + getContextualTypeForObjectLiteralMethod(node, 2 /* ContextFlags.NoConstraints */) : + getContextualType(node, 2 /* ContextFlags.NoConstraints */); if (contextualType) { inferTypes(context.inferences, type, contextualType); } @@ -67838,40 +68097,40 @@ var ts; // results for union and intersection types for performance reasons. function couldContainTypeVariables(type) { var objectFlags = ts.getObjectFlags(type); - if (objectFlags & 524288 /* CouldContainTypeVariablesComputed */) { - return !!(objectFlags & 1048576 /* CouldContainTypeVariables */); + if (objectFlags & 524288 /* ObjectFlags.CouldContainTypeVariablesComputed */) { + return !!(objectFlags & 1048576 /* ObjectFlags.CouldContainTypeVariables */); } - var result = !!(type.flags & 465829888 /* Instantiable */ || - type.flags & 524288 /* Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* Reference */ && (type.node || ts.forEach(getTypeArguments(type), couldContainTypeVariables)) || - objectFlags & 16 /* Anonymous */ && type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) && type.symbol.declarations || - objectFlags & (32 /* Mapped */ | 1024 /* ReverseMapped */ | 4194304 /* ObjectRestType */ | 8388608 /* InstantiationExpressionType */)) || - type.flags & 3145728 /* UnionOrIntersection */ && !(type.flags & 1024 /* EnumLiteral */) && !isNonGenericTopLevelType(type) && ts.some(type.types, couldContainTypeVariables)); - if (type.flags & 3899393 /* ObjectFlagsType */) { - type.objectFlags |= 524288 /* CouldContainTypeVariablesComputed */ | (result ? 1048576 /* CouldContainTypeVariables */ : 0); + var result = !!(type.flags & 465829888 /* TypeFlags.Instantiable */ || + type.flags & 524288 /* TypeFlags.Object */ && !isNonGenericTopLevelType(type) && (objectFlags & 4 /* ObjectFlags.Reference */ && (type.node || ts.forEach(getTypeArguments(type), couldContainTypeVariables)) || + objectFlags & 16 /* ObjectFlags.Anonymous */ && type.symbol && type.symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */ | 32 /* SymbolFlags.Class */ | 2048 /* SymbolFlags.TypeLiteral */ | 4096 /* SymbolFlags.ObjectLiteral */) && type.symbol.declarations || + objectFlags & (32 /* ObjectFlags.Mapped */ | 1024 /* ObjectFlags.ReverseMapped */ | 4194304 /* ObjectFlags.ObjectRestType */ | 8388608 /* ObjectFlags.InstantiationExpressionType */)) || + type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ && !(type.flags & 1024 /* TypeFlags.EnumLiteral */) && !isNonGenericTopLevelType(type) && ts.some(type.types, couldContainTypeVariables)); + if (type.flags & 3899393 /* TypeFlags.ObjectFlagsType */) { + type.objectFlags |= 524288 /* ObjectFlags.CouldContainTypeVariablesComputed */ | (result ? 1048576 /* ObjectFlags.CouldContainTypeVariables */ : 0); } return result; } function isNonGenericTopLevelType(type) { if (type.aliasSymbol && !type.aliasTypeArguments) { - var declaration = ts.getDeclarationOfKind(type.aliasSymbol, 259 /* TypeAliasDeclaration */); - return !!(declaration && ts.findAncestor(declaration.parent, function (n) { return n.kind === 305 /* SourceFile */ ? true : n.kind === 261 /* ModuleDeclaration */ ? false : "quit"; })); + var declaration = ts.getDeclarationOfKind(type.aliasSymbol, 259 /* SyntaxKind.TypeAliasDeclaration */); + return !!(declaration && ts.findAncestor(declaration.parent, function (n) { return n.kind === 305 /* SyntaxKind.SourceFile */ ? true : n.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? false : "quit"; })); } return false; } function isTypeParameterAtTopLevel(type, typeParameter) { return !!(type === typeParameter || - type.flags & 3145728 /* UnionOrIntersection */ && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }) || - type.flags & 16777216 /* Conditional */ && (getTrueTypeFromConditionalType(type) === typeParameter || getFalseTypeFromConditionalType(type) === typeParameter)); + type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ && ts.some(type.types, function (t) { return isTypeParameterAtTopLevel(t, typeParameter); }) || + type.flags & 16777216 /* TypeFlags.Conditional */ && (getTrueTypeFromConditionalType(type) === typeParameter || getFalseTypeFromConditionalType(type) === typeParameter)); } /** Create an object with properties named in the string literal type. Every property has type `any` */ function createEmptyObjectTypeFromStringLiteral(type) { var members = ts.createSymbolTable(); forEachType(type, function (t) { - if (!(t.flags & 128 /* StringLiteral */)) { + if (!(t.flags & 128 /* TypeFlags.StringLiteral */)) { return; } var name = ts.escapeLeadingUnderscores(t.value); - var literalProp = createSymbol(4 /* Property */, name); + var literalProp = createSymbol(4 /* SymbolFlags.Property */, name); literalProp.type = anyType; if (t.symbol) { literalProp.declarations = t.symbol.declarations; @@ -67879,7 +68138,7 @@ var ts; } members.set(name, literalProp); }); - var indexInfos = type.flags & 4 /* String */ ? [createIndexInfo(stringType, emptyObjectType, /*isReadonly*/ false)] : ts.emptyArray; + var indexInfos = type.flags & 4 /* TypeFlags.String */ ? [createIndexInfo(stringType, emptyObjectType, /*isReadonly*/ false)] : ts.emptyArray; return createAnonymousType(undefined, members, ts.emptyArray, ts.emptyArray, indexInfos); } /** @@ -67907,7 +68166,7 @@ var ts; // literal { a: 123, b: x => true } is marked non-inferable because it contains a context sensitive // arrow function, but is considered partially inferable because property 'a' has an inferable type. function isPartiallyInferableType(type) { - return !(ts.getObjectFlags(type) & 262144 /* NonInferrableType */) || + return !(ts.getObjectFlags(type) & 262144 /* ObjectFlags.NonInferrableType */) || isObjectLiteralType(type) && ts.some(getPropertiesOfType(type), function (prop) { return isPartiallyInferableType(getTypeOfSymbol(prop)); }) || isTupleType(type) && ts.some(getTypeArguments(type), isPartiallyInferableType); } @@ -67924,14 +68183,14 @@ var ts; } if (isTupleType(source)) { var elementTypes = ts.map(getTypeArguments(source), function (t) { return inferReverseMappedType(t, target, constraint); }); - var elementFlags = getMappedTypeModifiers(target) & 4 /* IncludeOptional */ ? - ts.sameMap(source.target.elementFlags, function (f) { return f & 2 /* Optional */ ? 1 /* Required */ : f; }) : + var elementFlags = getMappedTypeModifiers(target) & 4 /* MappedTypeModifiers.IncludeOptional */ ? + ts.sameMap(source.target.elementFlags, function (f) { return f & 2 /* ElementFlags.Optional */ ? 1 /* ElementFlags.Required */ : f; }) : source.target.elementFlags; return createTupleType(elementTypes, elementFlags, source.target.readonly, source.target.labeledElementDeclarations); } // For all other object types we infer a new object type where the reverse mapping has been // applied to the type of each property. - var reversed = createObjectType(1024 /* ReverseMapped */ | 16 /* Anonymous */, /*symbol*/ undefined); + var reversed = createObjectType(1024 /* ObjectFlags.ReverseMapped */ | 16 /* ObjectFlags.Anonymous */, /*symbol*/ undefined); reversed.source = source; reversed.mappedType = target; reversed.constraintType = constraint; @@ -67966,7 +68225,7 @@ var ts; if (isStaticPrivateIdentifierProperty(targetProp)) { return [3 /*break*/, 5]; } - if (!(requireOptionalProperties || !(targetProp.flags & 16777216 /* Optional */ || ts.getCheckFlags(targetProp) & 48 /* Partial */))) return [3 /*break*/, 5]; + if (!(requireOptionalProperties || !(targetProp.flags & 16777216 /* SymbolFlags.Optional */ || ts.getCheckFlags(targetProp) & 48 /* CheckFlags.Partial */))) return [3 /*break*/, 5]; sourceProp = getPropertyOfType(source, targetProp.escapedName); if (!!sourceProp) return [3 /*break*/, 3]; return [4 /*yield*/, targetProp]; @@ -67976,9 +68235,9 @@ var ts; case 3: if (!matchDiscriminantProperties) return [3 /*break*/, 5]; targetType = getTypeOfSymbol(targetProp); - if (!(targetType.flags & 109440 /* Unit */)) return [3 /*break*/, 5]; + if (!(targetType.flags & 109440 /* TypeFlags.Unit */)) return [3 /*break*/, 5]; sourceType = getTypeOfSymbol(sourceProp); - if (!!(sourceType.flags & 1 /* Any */ || getRegularTypeOfLiteralType(sourceType) === getRegularTypeOfLiteralType(targetType))) return [3 /*break*/, 5]; + if (!!(sourceType.flags & 1 /* TypeFlags.Any */ || getRegularTypeOfLiteralType(sourceType) === getRegularTypeOfLiteralType(targetType))) return [3 /*break*/, 5]; return [4 /*yield*/, targetProp]; case 4: _a.sent(); @@ -67996,7 +68255,7 @@ var ts; return result.value; } function tupleTypesDefinitelyUnrelated(source, target) { - return !(target.target.combinedFlags & 8 /* Variadic */) && target.target.minLength > source.target.minLength || + return !(target.target.combinedFlags & 8 /* ElementFlags.Variadic */) && target.target.minLength > source.target.minLength || !target.target.hasRestElement && (source.target.hasRestElement || target.target.fixedLength < source.target.fixedLength); } function typesDefinitelyUnrelated(source, target) { @@ -68007,7 +68266,7 @@ var ts; !!getUnmatchedProperty(target, source, /*requireOptionalProperties*/ false, /*matchDiscriminantProperties*/ false); } function getTypeFromInference(inference) { - return inference.candidates ? getUnionType(inference.candidates, 2 /* Subtype */) : + return inference.candidates ? getUnionType(inference.candidates, 2 /* UnionReduction.Subtype */) : inference.contraCandidates ? getIntersectionType(inference.contraCandidates) : undefined; } @@ -68029,12 +68288,12 @@ var ts; sourceEnd.slice(sourceEnd.length - endLen) !== targetEnd.slice(targetEnd.length - endLen); } function isValidBigIntString(s) { - var scanner = ts.createScanner(99 /* ESNext */, /*skipTrivia*/ false); + var scanner = ts.createScanner(99 /* ScriptTarget.ESNext */, /*skipTrivia*/ false); var success = true; scanner.setOnError(function () { return success = false; }); scanner.setText(s + "n"); var result = scanner.scan(); - if (result === 40 /* MinusToken */) { + if (result === 40 /* SyntaxKind.MinusToken */) { result = scanner.scan(); } var flags = scanner.getTokenFlags(); @@ -68043,27 +68302,27 @@ var ts; // * a bigint can be scanned, and that when it is scanned, it is // * the full length of the input string (so the scanner is one character beyond the augmented input length) // * it does not contain a numeric seperator (the `BigInt` constructor does not accept a numeric seperator in its input) - return success && result === 9 /* BigIntLiteral */ && scanner.getTextPos() === (s.length + 1) && !(flags & 512 /* ContainsSeparator */); + return success && result === 9 /* SyntaxKind.BigIntLiteral */ && scanner.getTextPos() === (s.length + 1) && !(flags & 512 /* TokenFlags.ContainsSeparator */); } function isValidTypeForTemplateLiteralPlaceholder(source, target) { - if (source === target || target.flags & (1 /* Any */ | 4 /* String */)) { + if (source === target || target.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */)) { return true; } - if (source.flags & 128 /* StringLiteral */) { + if (source.flags & 128 /* TypeFlags.StringLiteral */) { var value = source.value; - return !!(target.flags & 8 /* Number */ && value !== "" && isFinite(+value) || - target.flags & 64 /* BigInt */ && value !== "" && isValidBigIntString(value) || - target.flags & (512 /* BooleanLiteral */ | 98304 /* Nullable */) && value === target.intrinsicName); + return !!(target.flags & 8 /* TypeFlags.Number */ && value !== "" && isFinite(+value) || + target.flags & 64 /* TypeFlags.BigInt */ && value !== "" && isValidBigIntString(value) || + target.flags & (512 /* TypeFlags.BooleanLiteral */ | 98304 /* TypeFlags.Nullable */) && value === target.intrinsicName); } - if (source.flags & 134217728 /* TemplateLiteral */) { + if (source.flags & 134217728 /* TypeFlags.TemplateLiteral */) { var texts = source.texts; return texts.length === 2 && texts[0] === "" && texts[1] === "" && isTypeAssignableTo(source.types[0], target); } return isTypeAssignableTo(source, target); } function inferTypesFromTemplateLiteralType(source, target) { - return source.flags & 128 /* StringLiteral */ ? inferFromLiteralPartsToTemplateLiteral([source.value], ts.emptyArray, target) : - source.flags & 134217728 /* TemplateLiteral */ ? + return source.flags & 128 /* TypeFlags.StringLiteral */ ? inferFromLiteralPartsToTemplateLiteral([source.value], ts.emptyArray, target) : + source.flags & 134217728 /* TypeFlags.TemplateLiteral */ ? ts.arraysEqual(source.texts, target.texts) ? ts.map(source.types, getStringLikeTypeForType) : inferFromLiteralPartsToTemplateLiteral(source.texts, source.types, target) : undefined; @@ -68073,7 +68332,7 @@ var ts; return !!inferences && ts.every(inferences, function (r, i) { return isValidTypeForTemplateLiteralPlaceholder(r, target.types[i]); }); } function getStringLikeTypeForType(type) { - return type.flags & (1 /* Any */ | 402653316 /* StringLike */) ? type : getTemplateLiteralType(["", ""], [type]); + return type.flags & (1 /* TypeFlags.Any */ | 402653316 /* TypeFlags.StringLike */) ? type : getTemplateLiteralType(["", ""], [type]); } // This function infers from the text parts and type parts of a source literal to a target template literal. The number // of text parts is always one more than the number of type parts, and a source string literal is treated as a source @@ -68155,12 +68414,12 @@ var ts; if (contravariant === void 0) { contravariant = false; } var bivariant = false; var propagationType; - var inferencePriority = 2048 /* MaxValue */; + var inferencePriority = 2048 /* InferencePriority.MaxValue */; var allowComplexConstraintInference = true; var visited; var sourceStack; var targetStack; - var expandingFlags = 0 /* None */; + var expandingFlags = 0 /* ExpandingFlags.None */; inferFromTypes(originalSource, originalTarget); function inferFromTypes(source, target) { if (!couldContainTypeVariables(target)) { @@ -68182,7 +68441,7 @@ var ts; inferFromTypeArguments(source.aliasTypeArguments, target.aliasTypeArguments, getAliasVariances(source.aliasSymbol)); return; } - if (source === target && source.flags & 3145728 /* UnionOrIntersection */) { + if (source === target && source.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { // When source and target are the same union or intersection type, just relate each constituent // type to itself. for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -68191,10 +68450,10 @@ var ts; } return; } - if (target.flags & 1048576 /* Union */) { + if (target.flags & 1048576 /* TypeFlags.Union */) { // First, infer between identically matching source and target constituents and remove the // matching types. - var _b = inferFromMatchingTypes(source.flags & 1048576 /* Union */ ? source.types : [source], target.types, isTypeOrBaseIdenticalTo), tempSources = _b[0], tempTargets = _b[1]; + var _b = inferFromMatchingTypes(source.flags & 1048576 /* TypeFlags.Union */ ? source.types : [source], target.types, isTypeOrBaseIdenticalTo), tempSources = _b[0], tempTargets = _b[1]; // Next, infer between closely matching source and target constituents and remove // the matching types. Types closely match when they are instantiations of the same // object type or instantiations of the same type alias. @@ -68209,21 +68468,21 @@ var ts; // inferring a type parameter constraint. Instead, make a lower priority inference from // the full source to whatever remains in the target. For example, when inferring from // string to 'string | T', make a lower priority inference of string for T. - inferWithPriority(source, target, 1 /* NakedTypeVariable */); + inferWithPriority(source, target, 1 /* InferencePriority.NakedTypeVariable */); return; } source = getUnionType(sources); } - else if (target.flags & 2097152 /* Intersection */ && ts.some(target.types, function (t) { return !!getInferenceInfoForType(t) || (isGenericMappedType(t) && !!getInferenceInfoForType(getHomomorphicTypeVariable(t) || neverType)); })) { + else if (target.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(target.types, function (t) { return !!getInferenceInfoForType(t) || (isGenericMappedType(t) && !!getInferenceInfoForType(getHomomorphicTypeVariable(t) || neverType)); })) { // We reduce intersection types only when they contain naked type parameters. For example, when // inferring from 'string[] & { extra: any }' to 'string[] & T' we want to remove string[] and // infer { extra: any } for T. But when inferring to 'string[] & Iterable' we want to keep the // string[] on the source side and infer string for T. // Likewise, we consider a homomorphic mapped type constrainted to the target type parameter as similar to a "naked type variable" // in such scenarios. - if (!(source.flags & 1048576 /* Union */)) { + if (!(source.flags & 1048576 /* TypeFlags.Union */)) { // Infer between identically matching source and target constituents and remove the matching types. - var _d = inferFromMatchingTypes(source.flags & 2097152 /* Intersection */ ? source.types : [source], target.types, isTypeIdenticalTo), sources = _d[0], targets = _d[1]; + var _d = inferFromMatchingTypes(source.flags & 2097152 /* TypeFlags.Intersection */ ? source.types : [source], target.types, isTypeIdenticalTo), sources = _d[0], targets = _d[1]; if (sources.length === 0 || targets.length === 0) { return; } @@ -68231,10 +68490,10 @@ var ts; target = getIntersectionType(targets); } } - else if (target.flags & (8388608 /* IndexedAccess */ | 33554432 /* Substitution */)) { + else if (target.flags & (8388608 /* TypeFlags.IndexedAccess */ | 33554432 /* TypeFlags.Substitution */)) { target = getActualTypeVariable(target); } - if (target.flags & 8650752 /* TypeVariable */) { + if (target.flags & 8650752 /* TypeFlags.TypeVariable */) { // If target is a type parameter, make an inference, unless the source type contains // the anyFunctionType (the wildcard type that's used to avoid contextually typing functions). // Because the anyFunctionType is internal, it should not be exposed to the user by adding @@ -68242,12 +68501,12 @@ var ts; // not contain anyFunctionType when we come back to this argument for its second round // of inference. Also, we exclude inferences for silentNeverType (which is used as a wildcard // when constructing types from type parameters that had no inference candidates). - if (source === nonInferrableAnyType || source === silentNeverType || (priority & 128 /* ReturnType */ && (source === autoType || source === autoArrayType)) || isFromInferenceBlockedSource(source)) { + if (source === nonInferrableAnyType || source === silentNeverType || (priority & 128 /* InferencePriority.ReturnType */ && (source === autoType || source === autoArrayType)) || isFromInferenceBlockedSource(source)) { return; } var inference = getInferenceInfoForType(target); if (inference) { - if (ts.getObjectFlags(source) & 262144 /* NonInferrableType */) { + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { return; } if (!inference.isFixed) { @@ -68272,7 +68531,7 @@ var ts; clearCachedInferences(inferences); } } - if (!(priority & 128 /* ReturnType */) && target.flags & 262144 /* TypeParameter */ && inference.topLevel && !isTypeParameterAtTopLevel(originalTarget, target)) { + if (!(priority & 128 /* InferencePriority.ReturnType */) && target.flags & 262144 /* TypeFlags.TypeParameter */ && inference.topLevel && !isTypeParameterAtTopLevel(originalTarget, target)) { inference.topLevel = false; clearCachedInferences(inferences); } @@ -68285,11 +68544,11 @@ var ts; if (simplified !== target) { inferFromTypes(source, simplified); } - else if (target.flags & 8388608 /* IndexedAccess */) { + else if (target.flags & 8388608 /* TypeFlags.IndexedAccess */) { var indexType = getSimplifiedType(target.indexType, /*writing*/ false); // Generally simplifications of instantiable indexes are avoided to keep relationship checking correct, however if our target is an access, we can consider // that key of that access to be "instantiated", since we're looking to find the infernce goal in any way we can. - if (indexType.flags & 465829888 /* Instantiable */) { + if (indexType.flags & 465829888 /* TypeFlags.Instantiable */) { var simplified_1 = distributeIndexOverObjectType(getSimplifiedType(target.objectType, /*writing*/ false), indexType, /*writing*/ false); if (simplified_1 && simplified_1 !== target) { inferFromTypes(source, simplified_1); @@ -68297,45 +68556,45 @@ var ts; } } } - if (ts.getObjectFlags(source) & 4 /* Reference */ && ts.getObjectFlags(target) & 4 /* Reference */ && (source.target === target.target || isArrayType(source) && isArrayType(target)) && + if (ts.getObjectFlags(source) & 4 /* ObjectFlags.Reference */ && ts.getObjectFlags(target) & 4 /* ObjectFlags.Reference */ && (source.target === target.target || isArrayType(source) && isArrayType(target)) && !(source.node && target.node)) { // If source and target are references to the same generic type, infer from type arguments inferFromTypeArguments(getTypeArguments(source), getTypeArguments(target), getVariances(source.target)); } - else if (source.flags & 4194304 /* Index */ && target.flags & 4194304 /* Index */) { + else if (source.flags & 4194304 /* TypeFlags.Index */ && target.flags & 4194304 /* TypeFlags.Index */) { contravariant = !contravariant; inferFromTypes(source.type, target.type); contravariant = !contravariant; } - else if ((isLiteralType(source) || source.flags & 4 /* String */) && target.flags & 4194304 /* Index */) { + else if ((isLiteralType(source) || source.flags & 4 /* TypeFlags.String */) && target.flags & 4194304 /* TypeFlags.Index */) { var empty = createEmptyObjectTypeFromStringLiteral(source); contravariant = !contravariant; - inferWithPriority(empty, target.type, 256 /* LiteralKeyof */); + inferWithPriority(empty, target.type, 256 /* InferencePriority.LiteralKeyof */); contravariant = !contravariant; } - else if (source.flags & 8388608 /* IndexedAccess */ && target.flags & 8388608 /* IndexedAccess */) { + else if (source.flags & 8388608 /* TypeFlags.IndexedAccess */ && target.flags & 8388608 /* TypeFlags.IndexedAccess */) { inferFromTypes(source.objectType, target.objectType); inferFromTypes(source.indexType, target.indexType); } - else if (source.flags & 268435456 /* StringMapping */ && target.flags & 268435456 /* StringMapping */) { + else if (source.flags & 268435456 /* TypeFlags.StringMapping */ && target.flags & 268435456 /* TypeFlags.StringMapping */) { if (source.symbol === target.symbol) { inferFromTypes(source.type, target.type); } } - else if (source.flags & 33554432 /* Substitution */) { + else if (source.flags & 33554432 /* TypeFlags.Substitution */) { inferFromTypes(source.baseType, target); var oldPriority = priority; - priority |= 4 /* SubstituteSource */; + priority |= 4 /* InferencePriority.SubstituteSource */; inferFromTypes(source.substitute, target); // Make substitute inference at a lower priority priority = oldPriority; } - else if (target.flags & 16777216 /* Conditional */) { + else if (target.flags & 16777216 /* TypeFlags.Conditional */) { invokeOnce(source, target, inferToConditionalType); } - else if (target.flags & 3145728 /* UnionOrIntersection */) { + else if (target.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { inferToMultipleTypes(source, target.types, target.flags); } - else if (source.flags & 1048576 /* Union */) { + else if (source.flags & 1048576 /* TypeFlags.Union */) { // Source is a union or intersection type, infer from each constituent type var sourceTypes = source.types; for (var _e = 0, sourceTypes_2 = sourceTypes; _e < sourceTypes_2.length; _e++) { @@ -68343,17 +68602,17 @@ var ts; inferFromTypes(sourceType, target); } } - else if (target.flags & 134217728 /* TemplateLiteral */) { + else if (target.flags & 134217728 /* TypeFlags.TemplateLiteral */) { inferToTemplateLiteralType(source, target); } else { source = getReducedType(source); - if (!(priority & 512 /* NoConstraints */ && source.flags & (2097152 /* Intersection */ | 465829888 /* Instantiable */))) { + if (!(priority & 512 /* InferencePriority.NoConstraints */ && source.flags & (2097152 /* TypeFlags.Intersection */ | 465829888 /* TypeFlags.Instantiable */))) { var apparentSource = getApparentType(source); // getApparentType can return _any_ type, since an indexed access or conditional may simplify to any other type. // If that occurs and it doesn't simplify to an object or intersection, we'll need to restart `inferFromTypes` // with the simplified source. - if (apparentSource !== source && allowComplexConstraintInference && !(apparentSource.flags & (524288 /* Object */ | 2097152 /* Intersection */))) { + if (apparentSource !== source && allowComplexConstraintInference && !(apparentSource.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */))) { // TODO: The `allowComplexConstraintInference` flag is a hack! This forbids inference from complex constraints within constraints! // This isn't required algorithmically, but rather is used to lower the memory burden caused by performing inference // that is _too good_ in projects with complicated constraints (eg, fp-ts). In such cases, if we did not limit ourselves @@ -68366,7 +68625,7 @@ var ts; } source = apparentSource; } - if (source.flags & (524288 /* Object */ | 2097152 /* Intersection */)) { + if (source.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */)) { invokeOnce(source, target, inferFromObjectTypes); } } @@ -68384,19 +68643,19 @@ var ts; inferencePriority = Math.min(inferencePriority, status); return; } - (visited || (visited = new ts.Map())).set(key, -1 /* Circularity */); + (visited || (visited = new ts.Map())).set(key, -1 /* InferencePriority.Circularity */); var saveInferencePriority = inferencePriority; - inferencePriority = 2048 /* MaxValue */; + inferencePriority = 2048 /* InferencePriority.MaxValue */; // We stop inferring and report a circularity if we encounter duplicate recursion identities on both // the source side and the target side. var saveExpandingFlags = expandingFlags; var sourceIdentity = getRecursionIdentity(source); var targetIdentity = getRecursionIdentity(target); if (ts.contains(sourceStack, sourceIdentity)) - expandingFlags |= 1 /* Source */; + expandingFlags |= 1 /* ExpandingFlags.Source */; if (ts.contains(targetStack, targetIdentity)) - expandingFlags |= 2 /* Target */; - if (expandingFlags !== 3 /* Both */) { + expandingFlags |= 2 /* ExpandingFlags.Target */; + if (expandingFlags !== 3 /* ExpandingFlags.Both */) { (sourceStack || (sourceStack = [])).push(sourceIdentity); (targetStack || (targetStack = [])).push(targetIdentity); action(source, target); @@ -68404,7 +68663,7 @@ var ts; sourceStack.pop(); } else { - inferencePriority = -1 /* Circularity */; + inferencePriority = -1 /* InferencePriority.Circularity */; } expandingFlags = saveExpandingFlags; visited.set(key, inferencePriority); @@ -68432,7 +68691,7 @@ var ts; function inferFromTypeArguments(sourceTypes, targetTypes, variances) { var count = sourceTypes.length < targetTypes.length ? sourceTypes.length : targetTypes.length; for (var i = 0; i < count; i++) { - if (i < variances.length && (variances[i] & 7 /* VarianceMask */) === 2 /* Contravariant */) { + if (i < variances.length && (variances[i] & 7 /* VarianceFlags.VarianceMask */) === 2 /* VarianceFlags.Contravariant */) { inferFromContravariantTypes(sourceTypes[i], targetTypes[i]); } else { @@ -68441,7 +68700,7 @@ var ts; } } function inferFromContravariantTypes(source, target) { - if (strictFunctionTypes || priority & 1024 /* AlwaysStrict */) { + if (strictFunctionTypes || priority & 1024 /* InferencePriority.AlwaysStrict */) { contravariant = !contravariant; inferFromTypes(source, target); contravariant = !contravariant; @@ -68451,7 +68710,7 @@ var ts; } } function getInferenceInfoForType(type) { - if (type.flags & 8650752 /* TypeVariable */) { + if (type.flags & 8650752 /* TypeFlags.TypeVariable */) { for (var _i = 0, inferences_2 = inferences; _i < inferences_2.length; _i++) { var inference = inferences_2[_i]; if (type === inference.typeParameter) { @@ -68465,7 +68724,7 @@ var ts; var typeVariable; for (var _i = 0, types_15 = types; _i < types_15.length; _i++) { var type = types_15[_i]; - var t = type.flags & 2097152 /* Intersection */ && ts.find(type.types, function (t) { return !!getInferenceInfoForType(t); }); + var t = type.flags & 2097152 /* TypeFlags.Intersection */ && ts.find(type.types, function (t) { return !!getInferenceInfoForType(t); }); if (!t || typeVariable && t !== typeVariable) { return undefined; } @@ -68475,9 +68734,9 @@ var ts; } function inferToMultipleTypes(source, targets, targetFlags) { var typeVariableCount = 0; - if (targetFlags & 1048576 /* Union */) { + if (targetFlags & 1048576 /* TypeFlags.Union */) { var nakedTypeVariable = void 0; - var sources = source.flags & 1048576 /* Union */ ? source.types : [source]; + var sources = source.flags & 1048576 /* TypeFlags.Union */ ? source.types : [source]; var matched_1 = new Array(sources.length); var inferenceCircularity = false; // First infer to types that are not naked type variables. For each source type we @@ -68493,11 +68752,11 @@ var ts; else { for (var i = 0; i < sources.length; i++) { var saveInferencePriority = inferencePriority; - inferencePriority = 2048 /* MaxValue */; + inferencePriority = 2048 /* InferencePriority.MaxValue */; inferFromTypes(sources[i], t); if (inferencePriority === priority) matched_1[i] = true; - inferenceCircularity = inferenceCircularity || inferencePriority === -1 /* Circularity */; + inferenceCircularity = inferenceCircularity || inferencePriority === -1 /* InferencePriority.Circularity */; inferencePriority = Math.min(inferencePriority, saveInferencePriority); } } @@ -68508,7 +68767,7 @@ var ts; // 'A | B' to 'T & (X | Y)' where we want to infer 'A | B' for T. var intersectionTypeVariable = getSingleTypeVariableFromIntersectionTypes(targets); if (intersectionTypeVariable) { - inferWithPriority(source, intersectionTypeVariable, 1 /* NakedTypeVariable */); + inferWithPriority(source, intersectionTypeVariable, 1 /* InferencePriority.NakedTypeVariable */); } return; } @@ -68542,17 +68801,17 @@ var ts; // less specific. For example, when inferring from Promise to T | Promise, // we want to infer string for T, not Promise | string. For intersection types // we only infer to single naked type variables. - if (targetFlags & 2097152 /* Intersection */ ? typeVariableCount === 1 : typeVariableCount > 0) { + if (targetFlags & 2097152 /* TypeFlags.Intersection */ ? typeVariableCount === 1 : typeVariableCount > 0) { for (var _b = 0, targets_4 = targets; _b < targets_4.length; _b++) { var t = targets_4[_b]; if (getInferenceInfoForType(t)) { - inferWithPriority(source, t, 1 /* NakedTypeVariable */); + inferWithPriority(source, t, 1 /* InferencePriority.NakedTypeVariable */); } } } } function inferToMappedType(source, target, constraintType) { - if (constraintType.flags & 1048576 /* Union */) { + if (constraintType.flags & 1048576 /* TypeFlags.Union */) { var result = false; for (var _i = 0, _a = constraintType.types; _i < _a.length; _i++) { var type = _a[_i]; @@ -68560,7 +68819,7 @@ var ts; } return result; } - if (constraintType.flags & 4194304 /* Index */) { + if (constraintType.flags & 4194304 /* TypeFlags.Index */) { // We're inferring from some source type S to a homomorphic mapped type { [P in keyof T]: X }, // where T is a type variable. Use inferTypeForHomomorphicMappedType to infer a suitable source // type and then make a secondary inference from that type to T. We make a secondary inference @@ -68572,17 +68831,17 @@ var ts; // We assign a lower priority to inferences made from types containing non-inferrable // types because we may only have a partial result (i.e. we may have failed to make // reverse inferences for some properties). - inferWithPriority(inferredType, inference.typeParameter, ts.getObjectFlags(source) & 262144 /* NonInferrableType */ ? - 16 /* PartialHomomorphicMappedType */ : - 8 /* HomomorphicMappedType */); + inferWithPriority(inferredType, inference.typeParameter, ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ ? + 16 /* InferencePriority.PartialHomomorphicMappedType */ : + 8 /* InferencePriority.HomomorphicMappedType */); } } return true; } - if (constraintType.flags & 262144 /* TypeParameter */) { + if (constraintType.flags & 262144 /* TypeFlags.TypeParameter */) { // We're inferring from some source type S to a mapped type { [P in K]: X }, where K is a type // parameter. First infer from 'keyof S' to K. - inferWithPriority(getIndexType(source), constraintType, 32 /* MappedTypeConstraint */); + inferWithPriority(getIndexType(source), constraintType, 32 /* InferencePriority.MappedTypeConstraint */); // If K is constrained to a type C, also infer to C. Thus, for a mapped type { [P in K]: X }, // where K extends keyof T, we make the same inferences as for a homomorphic mapped type // { [P in keyof T]: X }. This enables us to make meaningful inferences when the target is a @@ -68601,7 +68860,7 @@ var ts; return false; } function inferToConditionalType(source, target) { - if (source.flags & 16777216 /* Conditional */) { + if (source.flags & 16777216 /* TypeFlags.Conditional */) { inferFromTypes(source.checkType, target.checkType); inferFromTypes(source.extendsType, target.extendsType); inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); @@ -68609,7 +68868,7 @@ var ts; } else { var savePriority = priority; - priority |= contravariant ? 64 /* ContravariantConditional */ : 0; + priority |= contravariant ? 64 /* InferencePriority.ContravariantConditional */ : 0; var targetTypes = [getTrueTypeFromConditionalType(target), getFalseTypeFromConditionalType(target)]; inferToMultipleTypes(source, targetTypes, target.flags); priority = savePriority; @@ -68631,7 +68890,7 @@ var ts; } } function inferFromObjectTypes(source, target) { - if (ts.getObjectFlags(source) & 4 /* Reference */ && ts.getObjectFlags(target) & 4 /* Reference */ && (source.target === target.target || isArrayType(source) && isArrayType(target))) { + if (ts.getObjectFlags(source) & 4 /* ObjectFlags.Reference */ && ts.getObjectFlags(target) & 4 /* ObjectFlags.Reference */ && (source.target === target.target || isArrayType(source) && isArrayType(target))) { // If source and target are references to the same generic type, infer from type arguments inferFromTypeArguments(getTypeArguments(source), getTypeArguments(target), getVariances(source.target)); return; @@ -68646,7 +68905,7 @@ var ts; if (sourceNameType && targetNameType) inferFromTypes(sourceNameType, targetNameType); } - if (ts.getObjectFlags(target) & 32 /* Mapped */ && !target.declaration.nameType) { + if (ts.getObjectFlags(target) & 32 /* ObjectFlags.Mapped */ && !target.declaration.nameType) { var constraintType = getConstraintTypeFromMappedType(target); if (inferToMappedType(source, target, constraintType)) { return; @@ -68654,7 +68913,7 @@ var ts; } // Infer from the members of source and target only if the two types are possibly related if (!typesDefinitelyUnrelated(source, target)) { - if (isArrayType(source) || isTupleType(source)) { + if (isArrayOrTupleType(source)) { if (isTupleType(target)) { var sourceArity = getTypeReferenceArity(source); var targetArity = getTypeReferenceArity(target); @@ -68669,21 +68928,21 @@ var ts; return; } var startLength = isTupleType(source) ? Math.min(source.target.fixedLength, target.target.fixedLength) : 0; - var endLength = Math.min(isTupleType(source) ? getEndElementCount(source.target, 3 /* Fixed */) : 0, target.target.hasRestElement ? getEndElementCount(target.target, 3 /* Fixed */) : 0); + var endLength = Math.min(isTupleType(source) ? getEndElementCount(source.target, 3 /* ElementFlags.Fixed */) : 0, target.target.hasRestElement ? getEndElementCount(target.target, 3 /* ElementFlags.Fixed */) : 0); // Infer between starting fixed elements. for (var i = 0; i < startLength; i++) { inferFromTypes(getTypeArguments(source)[i], elementTypes[i]); } - if (!isTupleType(source) || sourceArity - startLength - endLength === 1 && source.target.elementFlags[startLength] & 4 /* Rest */) { + if (!isTupleType(source) || sourceArity - startLength - endLength === 1 && source.target.elementFlags[startLength] & 4 /* ElementFlags.Rest */) { // Single rest element remains in source, infer from that to every element in target var restType = getTypeArguments(source)[startLength]; for (var i = startLength; i < targetArity - endLength; i++) { - inferFromTypes(elementFlags[i] & 8 /* Variadic */ ? createArrayType(restType) : restType, elementTypes[i]); + inferFromTypes(elementFlags[i] & 8 /* ElementFlags.Variadic */ ? createArrayType(restType) : restType, elementTypes[i]); } } else { var middleLength = targetArity - startLength - endLength; - if (middleLength === 2 && elementFlags[startLength] & elementFlags[startLength + 1] & 8 /* Variadic */ && isTupleType(source)) { + if (middleLength === 2 && elementFlags[startLength] & elementFlags[startLength + 1] & 8 /* ElementFlags.Variadic */ && isTupleType(source)) { // Middle of target is [...T, ...U] and source is tuple type var targetInfo = getInferenceInfoForType(elementTypes[startLength]); if (targetInfo && targetInfo.impliedArity !== undefined) { @@ -68692,14 +68951,14 @@ var ts; inferFromTypes(sliceTupleType(source, startLength + targetInfo.impliedArity, endLength), elementTypes[startLength + 1]); } } - else if (middleLength === 1 && elementFlags[startLength] & 8 /* Variadic */) { + else if (middleLength === 1 && elementFlags[startLength] & 8 /* ElementFlags.Variadic */) { // Middle of target is exactly one variadic element. Infer the slice between the fixed parts in the source. // If target ends in optional element(s), make a lower priority a speculative inference. - var endsInOptional = target.target.elementFlags[targetArity - 1] & 2 /* Optional */; + var endsInOptional = target.target.elementFlags[targetArity - 1] & 2 /* ElementFlags.Optional */; var sourceSlice = isTupleType(source) ? sliceTupleType(source, startLength, endLength) : createArrayType(getTypeArguments(source)[0]); - inferWithPriority(sourceSlice, elementTypes[startLength], endsInOptional ? 2 /* SpeculativeTuple */ : 0); + inferWithPriority(sourceSlice, elementTypes[startLength], endsInOptional ? 2 /* InferencePriority.SpeculativeTuple */ : 0); } - else if (middleLength === 1 && elementFlags[startLength] & 4 /* Rest */) { + else if (middleLength === 1 && elementFlags[startLength] & 4 /* ElementFlags.Rest */) { // Middle of target is exactly one rest element. If middle of source is not empty, infer union of middle element types. var restType = isTupleType(source) ? getElementTypeOfSliceOfTupleType(source, startLength, endLength) : getTypeArguments(source)[0]; if (restType) { @@ -68719,8 +68978,8 @@ var ts; } } inferFromProperties(source, target); - inferFromSignatures(source, target, 0 /* Call */); - inferFromSignatures(source, target, 1 /* Construct */); + inferFromSignatures(source, target, 0 /* SignatureKind.Call */); + inferFromSignatures(source, target, 1 /* SignatureKind.Construct */); inferFromIndexTypes(source, target); } } @@ -68740,7 +68999,7 @@ var ts; var sourceLen = sourceSignatures.length; var targetLen = targetSignatures.length; var len = sourceLen < targetLen ? sourceLen : targetLen; - var skipParameters = !!(ts.getObjectFlags(source) & 262144 /* NonInferrableType */); + var skipParameters = !!(ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */); for (var i = 0; i < len; i++) { inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]), skipParameters); } @@ -68748,9 +69007,9 @@ var ts; function inferFromSignature(source, target, skipParameters) { if (!skipParameters) { var saveBivariant = bivariant; - var kind = target.declaration ? target.declaration.kind : 0 /* Unknown */; + var kind = target.declaration ? target.declaration.kind : 0 /* SyntaxKind.Unknown */; // Once we descend into a bivariant signature we remain bivariant for all nested inferences - bivariant = bivariant || kind === 169 /* MethodDeclaration */ || kind === 168 /* MethodSignature */ || kind === 171 /* Constructor */; + bivariant = bivariant || kind === 169 /* SyntaxKind.MethodDeclaration */ || kind === 168 /* SyntaxKind.MethodSignature */ || kind === 171 /* SyntaxKind.Constructor */; applyToParameterTypes(source, target, inferFromContravariantTypes); bivariant = saveBivariant; } @@ -68758,7 +69017,7 @@ var ts; } function inferFromIndexTypes(source, target) { // Inferences across mapped type index signatures are pretty much the same a inferences to homomorphic variables - var priority = (ts.getObjectFlags(source) & ts.getObjectFlags(target) & 32 /* Mapped */) ? 8 /* HomomorphicMappedType */ : 0; + var priority = (ts.getObjectFlags(source) & ts.getObjectFlags(target) & 32 /* ObjectFlags.Mapped */) ? 8 /* InferencePriority.HomomorphicMappedType */ : 0; var indexInfos = getIndexInfosOfType(target); if (isObjectTypeWithInferableIndex(source)) { for (var _i = 0, indexInfos_6 = indexInfos; _i < indexInfos_6.length; _i++) { @@ -68766,9 +69025,9 @@ var ts; var propTypes = []; for (var _a = 0, _b = getPropertiesOfType(source); _a < _b.length; _a++) { var prop = _b[_a]; - if (isApplicableIndexType(getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */), targetInfo.keyType)) { + if (isApplicableIndexType(getLiteralTypeFromProperty(prop, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */), targetInfo.keyType)) { var propType = getTypeOfSymbol(prop); - propTypes.push(prop.flags & 16777216 /* Optional */ ? removeMissingOrUndefinedType(propType) : propType); + propTypes.push(prop.flags & 16777216 /* SymbolFlags.Optional */ ? removeMissingOrUndefinedType(propType) : propType); } } for (var _c = 0, _d = getIndexInfosOfType(source); _c < _d.length; _c++) { @@ -68793,34 +69052,34 @@ var ts; } function isTypeOrBaseIdenticalTo(s, t) { return exactOptionalPropertyTypes && t === missingType ? s === t : - (isTypeIdenticalTo(s, t) || !!(t.flags & 4 /* String */ && s.flags & 128 /* StringLiteral */ || t.flags & 8 /* Number */ && s.flags & 256 /* NumberLiteral */)); + (isTypeIdenticalTo(s, t) || !!(t.flags & 4 /* TypeFlags.String */ && s.flags & 128 /* TypeFlags.StringLiteral */ || t.flags & 8 /* TypeFlags.Number */ && s.flags & 256 /* TypeFlags.NumberLiteral */)); } function isTypeCloselyMatchedBy(s, t) { - return !!(s.flags & 524288 /* Object */ && t.flags & 524288 /* Object */ && s.symbol && s.symbol === t.symbol || + return !!(s.flags & 524288 /* TypeFlags.Object */ && t.flags & 524288 /* TypeFlags.Object */ && s.symbol && s.symbol === t.symbol || s.aliasSymbol && s.aliasTypeArguments && s.aliasSymbol === t.aliasSymbol); } function hasPrimitiveConstraint(type) { var constraint = getConstraintOfTypeParameter(type); - return !!constraint && maybeTypeOfKind(constraint.flags & 16777216 /* Conditional */ ? getDefaultConstraintOfConditionalType(constraint) : constraint, 131068 /* Primitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */); + return !!constraint && maybeTypeOfKind(constraint.flags & 16777216 /* TypeFlags.Conditional */ ? getDefaultConstraintOfConditionalType(constraint) : constraint, 131068 /* TypeFlags.Primitive */ | 4194304 /* TypeFlags.Index */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */); } function isObjectLiteralType(type) { - return !!(ts.getObjectFlags(type) & 128 /* ObjectLiteral */); + return !!(ts.getObjectFlags(type) & 128 /* ObjectFlags.ObjectLiteral */); } function isObjectOrArrayLiteralType(type) { - return !!(ts.getObjectFlags(type) & (128 /* ObjectLiteral */ | 16384 /* ArrayLiteral */)); + return !!(ts.getObjectFlags(type) & (128 /* ObjectFlags.ObjectLiteral */ | 16384 /* ObjectFlags.ArrayLiteral */)); } function unionObjectAndArrayLiteralCandidates(candidates) { if (candidates.length > 1) { var objectLiterals = ts.filter(candidates, isObjectOrArrayLiteralType); if (objectLiterals.length) { - var literalsType = getUnionType(objectLiterals, 2 /* Subtype */); + var literalsType = getUnionType(objectLiterals, 2 /* UnionReduction.Subtype */); return ts.concatenate(ts.filter(candidates, function (t) { return !isObjectOrArrayLiteralType(t); }), [literalsType]); } } return candidates; } function getContravariantInference(inference) { - return inference.priority & 416 /* PriorityImpliesCombination */ ? getIntersectionType(inference.contraCandidates) : getCommonSubtype(inference.contraCandidates); + return inference.priority & 416 /* InferencePriority.PriorityImpliesCombination */ ? getIntersectionType(inference.contraCandidates) : getCommonSubtype(inference.contraCandidates); } function getCovariantInference(inference, signature) { // Extract all object and array literal types and replace them with a single widened and normalized type. @@ -68837,8 +69096,8 @@ var ts; candidates; // If all inferences were made from a position that implies a combined result, infer a union type. // Otherwise, infer a common supertype. - var unwidenedType = inference.priority & 416 /* PriorityImpliesCombination */ ? - getUnionType(baseCandidates, 2 /* Subtype */) : + var unwidenedType = inference.priority & 416 /* InferencePriority.PriorityImpliesCombination */ ? + getUnionType(baseCandidates, 2 /* UnionReduction.Subtype */) : getCommonSupertype(baseCandidates); return getWidenedType(unwidenedType); } @@ -68852,14 +69111,14 @@ var ts; if (inference.contraCandidates) { // If we have both co- and contra-variant inferences, we prefer the contra-variant inference // unless the co-variant inference is a subtype of some contra-variant inference and not 'never'. - inferredType = inferredCovariantType_1 && !(inferredCovariantType_1.flags & 131072 /* Never */) && + inferredType = inferredCovariantType_1 && !(inferredCovariantType_1.flags & 131072 /* TypeFlags.Never */) && ts.some(inference.contraCandidates, function (t) { return isTypeSubtypeOf(inferredCovariantType_1, t); }) ? inferredCovariantType_1 : getContravariantInference(inference); } else if (inferredCovariantType_1) { inferredType = inferredCovariantType_1; } - else if (context.flags & 1 /* NoDefault */) { + else if (context.flags & 1 /* InferenceFlags.NoDefault */) { // We use silentNeverType as the wildcard that signals no inferences. inferredType = silentNeverType; } @@ -68880,7 +69139,7 @@ var ts; else { inferredType = getTypeFromInference(inference); } - inference.inferredType = inferredType || getDefaultTypeArgumentType(!!(context.flags & 2 /* AnyDefault */)); + inference.inferredType = inferredType || getDefaultTypeArgumentType(!!(context.flags & 2 /* InferenceFlags.AnyDefault */)); var constraint = getConstraintOfTypeParameter(inference.typeParameter); if (constraint) { var instantiatedConstraint = instantiateType(constraint, context.nonFixingMapper); @@ -68950,7 +69209,7 @@ var ts; } // falls through default: - if (node.parent.kind === 297 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { return ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer; } else { @@ -68962,7 +69221,7 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSymbol) { links.resolvedSymbol = !ts.nodeIsMissing(node) && - resolveName(node, node.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */, getCannotFindNameDiagnosticForName(node), node, !ts.isWriteOnlyAccess(node), + resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */, getCannotFindNameDiagnosticForName(node), node, !ts.isWriteOnlyAccess(node), /*excludeGlobals*/ false) || unknownSymbol; } return links.resolvedSymbol; @@ -68971,7 +69230,7 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.6.3 // A type query consists of the keyword typeof followed by an expression. // The expression is restricted to a single identifier or a sequence of identifiers separated by periods - return !!ts.findAncestor(node, function (n) { return n.kind === 181 /* TypeQuery */ ? true : n.kind === 79 /* Identifier */ || n.kind === 161 /* QualifiedName */ ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 181 /* SyntaxKind.TypeQuery */ ? true : n.kind === 79 /* SyntaxKind.Identifier */ || n.kind === 161 /* SyntaxKind.QualifiedName */ ? false : "quit"; }); } // Return the flow cache key for a "dotted name" (i.e. a sequence of identifiers // separated by dots). The key consists of the id of the symbol referenced by the @@ -68979,22 +69238,22 @@ var ts; // The result is undefined if the reference isn't a dotted name. function getFlowCacheKey(node, declaredType, initialType, flowContainer) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: if (!ts.isThisInTypeQuery(node)) { var symbol = getResolvedSymbol(node); - return symbol !== unknownSymbol ? (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType) + "|" + getSymbolId(symbol) : undefined; + return symbol !== unknownSymbol ? "".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType), "|").concat(getSymbolId(symbol)) : undefined; } // falls through - case 108 /* ThisKeyword */: - return "0|" + (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType); - case 230 /* NonNullExpression */: - case 212 /* ParenthesizedExpression */: + case 108 /* SyntaxKind.ThisKeyword */: + return "0|".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType)); + case 230 /* SyntaxKind.NonNullExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: var left = getFlowCacheKey(node.left, declaredType, initialType, flowContainer); return left && left + "." + node.right.escapedText; - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var propName = getAccessedPropertyName(node); if (propName !== undefined) { var key = getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); @@ -69005,44 +69264,44 @@ var ts; } function isMatchingReference(source, target) { switch (target.kind) { - case 212 /* ParenthesizedExpression */: - case 230 /* NonNullExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return isMatchingReference(source, target.expression); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return (ts.isAssignmentExpression(target) && isMatchingReference(source, target.left)) || - (ts.isBinaryExpression(target) && target.operatorToken.kind === 27 /* CommaToken */ && isMatchingReference(source, target.right)); + (ts.isBinaryExpression(target) && target.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && isMatchingReference(source, target.right)); } switch (source.kind) { - case 231 /* MetaProperty */: - return target.kind === 231 /* MetaProperty */ + case 231 /* SyntaxKind.MetaProperty */: + return target.kind === 231 /* SyntaxKind.MetaProperty */ && source.keywordToken === target.keywordToken && source.name.escapedText === target.name.escapedText; - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return ts.isThisInTypeQuery(source) ? - target.kind === 108 /* ThisKeyword */ : - target.kind === 79 /* Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 254 /* VariableDeclaration */ || target.kind === 203 /* BindingElement */) && + target.kind === 108 /* SyntaxKind.ThisKeyword */ : + target.kind === 79 /* SyntaxKind.Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || + (target.kind === 254 /* SyntaxKind.VariableDeclaration */ || target.kind === 203 /* SyntaxKind.BindingElement */) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); - case 108 /* ThisKeyword */: - return target.kind === 108 /* ThisKeyword */; - case 106 /* SuperKeyword */: - return target.kind === 106 /* SuperKeyword */; - case 230 /* NonNullExpression */: - case 212 /* ParenthesizedExpression */: + case 108 /* SyntaxKind.ThisKeyword */: + return target.kind === 108 /* SyntaxKind.ThisKeyword */; + case 106 /* SyntaxKind.SuperKeyword */: + return target.kind === 106 /* SyntaxKind.SuperKeyword */; + case 230 /* SyntaxKind.NonNullExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return isMatchingReference(source.expression, target); - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var sourcePropertyName = getAccessedPropertyName(source); var targetPropertyName = ts.isAccessExpression(target) ? getAccessedPropertyName(target) : undefined; return sourcePropertyName !== undefined && targetPropertyName !== undefined && targetPropertyName === sourcePropertyName && isMatchingReference(source.expression, target.expression); - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: return ts.isAccessExpression(target) && source.right.escapedText === getAccessedPropertyName(target) && isMatchingReference(source.left, target.expression); - case 221 /* BinaryExpression */: - return (ts.isBinaryExpression(source) && source.operatorToken.kind === 27 /* CommaToken */ && isMatchingReference(source.right, target)); + case 221 /* SyntaxKind.BinaryExpression */: + return (ts.isBinaryExpression(source) && source.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && isMatchingReference(source.right, target)); } return false; } @@ -69063,15 +69322,15 @@ var ts; return undefined; } function tryGetNameFromType(type) { - return type.flags & 8192 /* UniqueESSymbol */ ? type.escapedName : - type.flags & 384 /* StringOrNumberLiteral */ ? ts.escapeLeadingUnderscores("" + type.value) : undefined; + return type.flags & 8192 /* TypeFlags.UniqueESSymbol */ ? type.escapedName : + type.flags & 384 /* TypeFlags.StringOrNumberLiteral */ ? ts.escapeLeadingUnderscores("" + type.value) : undefined; } function tryGetElementAccessExpressionName(node) { if (ts.isStringOrNumericLiteralLike(node.argumentExpression)) { return ts.escapeLeadingUnderscores(node.argumentExpression.text); } if (ts.isEntityNameExpression(node.argumentExpression)) { - var symbol = resolveEntityName(node.argumentExpression, 111551 /* Value */, /*ignoreErrors*/ true); + var symbol = resolveEntityName(node.argumentExpression, 111551 /* SymbolFlags.Value */, /*ignoreErrors*/ true); if (!symbol || !isConstVariable(symbol)) return undefined; var declaration = symbol.valueDeclaration; @@ -69110,12 +69369,12 @@ var ts; return false; } function isDiscriminantProperty(type, name) { - if (type && type.flags & 1048576 /* Union */) { + if (type && type.flags & 1048576 /* TypeFlags.Union */) { var prop = getUnionOrIntersectionProperty(type, name); - if (prop && ts.getCheckFlags(prop) & 2 /* SyntheticProperty */) { + if (prop && ts.getCheckFlags(prop) & 2 /* CheckFlags.SyntheticProperty */) { if (prop.isDiscriminantProperty === undefined) { prop.isDiscriminantProperty = - (prop.checkFlags & 192 /* Discriminant */) === 192 /* Discriminant */ && + (prop.checkFlags & 192 /* CheckFlags.Discriminant */) === 192 /* CheckFlags.Discriminant */ && !isGenericType(getTypeOfSymbol(prop)); } return !!prop.isDiscriminantProperty; @@ -69145,7 +69404,7 @@ var ts; var map = new ts.Map(); var count = 0; var _loop_23 = function (type) { - if (type.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */)) { + if (type.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */)) { var discriminant = getTypeOfPropertyOfType(type, name); if (discriminant) { if (!isLiteralType(discriminant)) { @@ -69181,15 +69440,15 @@ var ts; function getKeyPropertyName(unionType) { var types = unionType.types; // We only construct maps for unions with many non-primitive constituents. - if (types.length < 10 || ts.getObjectFlags(unionType) & 32768 /* PrimitiveUnion */ || - ts.countWhere(types, function (t) { return !!(t.flags & (524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */)); }) < 10) { + if (types.length < 10 || ts.getObjectFlags(unionType) & 32768 /* ObjectFlags.PrimitiveUnion */ || + ts.countWhere(types, function (t) { return !!(t.flags & (524288 /* TypeFlags.Object */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */)); }) < 10) { return undefined; } if (unionType.keyPropertyName === undefined) { // The candidate key property name is the name of the first property with a unit type in one of the // constituent types. var keyPropertyName = ts.forEach(types, function (t) { - return t.flags & (524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) ? + return t.flags & (524288 /* TypeFlags.Object */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) ? ts.forEach(getPropertiesOfType(t), function (p) { return isUnitType(getTypeOfSymbol(p)) ? p.escapedName : undefined; }) : undefined; }); @@ -69213,7 +69472,7 @@ var ts; } function getMatchingUnionConstituentForObjectLiteral(unionType, node) { var keyPropertyName = getKeyPropertyName(unionType); - var propNode = keyPropertyName && ts.find(node.properties, function (p) { return p.symbol && p.kind === 296 /* PropertyAssignment */ && + var propNode = keyPropertyName && ts.find(node.properties, function (p) { return p.symbol && p.kind === 296 /* SyntaxKind.PropertyAssignment */ && p.symbol.escapedName === keyPropertyName && isPossiblyDiscriminantValue(p.initializer); }); var propType = propNode && getContextFreeTypeOfExpression(propNode.initializer); return propType && getConstituentTypeForKeyType(unionType, propType); @@ -69230,7 +69489,7 @@ var ts; } } } - if (expression.expression.kind === 206 /* PropertyAccessExpression */ && + if (expression.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && isOrContainsMatchingReference(reference, expression.expression.expression)) { return true; } @@ -69244,7 +69503,7 @@ var ts; return flow.id; } function typeMaybeAssignableTo(source, target) { - if (!(source.flags & 1048576 /* Union */)) { + if (!(source.flags & 1048576 /* TypeFlags.Union */)) { return isTypeAssignableTo(source, target); } for (var _i = 0, _a = source.types; _i < _a.length; _i++) { @@ -69260,11 +69519,11 @@ var ts; // we remove type string. function getAssignmentReducedType(declaredType, assignedType) { if (declaredType !== assignedType) { - if (assignedType.flags & 131072 /* Never */) { + if (assignedType.flags & 131072 /* TypeFlags.Never */) { return assignedType; } var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (assignedType.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(assignedType)) { + if (assignedType.flags & 512 /* TypeFlags.BooleanLiteral */ && isFreshLiteralType(assignedType)) { reducedType = mapType(reducedType, getFreshTypeOfLiteralType); // Ensure that if the assignment is a fresh type, that we narrow to fresh types } // Our crude heuristic produces an invalid result in some cases: see GH#26130. @@ -69287,93 +69546,93 @@ var ts; function getTypeFacts(type, ignoreObjects) { if (ignoreObjects === void 0) { ignoreObjects = false; } var flags = type.flags; - if (flags & 4 /* String */) { - return strictNullChecks ? 16317953 /* StringStrictFacts */ : 16776705 /* StringFacts */; + if (flags & 4 /* TypeFlags.String */) { + return strictNullChecks ? 16317953 /* TypeFacts.StringStrictFacts */ : 16776705 /* TypeFacts.StringFacts */; } - if (flags & 128 /* StringLiteral */) { + if (flags & 128 /* TypeFlags.StringLiteral */) { var isEmpty = type.value === ""; return strictNullChecks ? - isEmpty ? 12123649 /* EmptyStringStrictFacts */ : 7929345 /* NonEmptyStringStrictFacts */ : - isEmpty ? 12582401 /* EmptyStringFacts */ : 16776705 /* NonEmptyStringFacts */; + isEmpty ? 12123649 /* TypeFacts.EmptyStringStrictFacts */ : 7929345 /* TypeFacts.NonEmptyStringStrictFacts */ : + isEmpty ? 12582401 /* TypeFacts.EmptyStringFacts */ : 16776705 /* TypeFacts.NonEmptyStringFacts */; } - if (flags & (8 /* Number */ | 32 /* Enum */)) { - return strictNullChecks ? 16317698 /* NumberStrictFacts */ : 16776450 /* NumberFacts */; + if (flags & (8 /* TypeFlags.Number */ | 32 /* TypeFlags.Enum */)) { + return strictNullChecks ? 16317698 /* TypeFacts.NumberStrictFacts */ : 16776450 /* TypeFacts.NumberFacts */; } - if (flags & 256 /* NumberLiteral */) { + if (flags & 256 /* TypeFlags.NumberLiteral */) { var isZero = type.value === 0; return strictNullChecks ? - isZero ? 12123394 /* ZeroNumberStrictFacts */ : 7929090 /* NonZeroNumberStrictFacts */ : - isZero ? 12582146 /* ZeroNumberFacts */ : 16776450 /* NonZeroNumberFacts */; + isZero ? 12123394 /* TypeFacts.ZeroNumberStrictFacts */ : 7929090 /* TypeFacts.NonZeroNumberStrictFacts */ : + isZero ? 12582146 /* TypeFacts.ZeroNumberFacts */ : 16776450 /* TypeFacts.NonZeroNumberFacts */; } - if (flags & 64 /* BigInt */) { - return strictNullChecks ? 16317188 /* BigIntStrictFacts */ : 16775940 /* BigIntFacts */; + if (flags & 64 /* TypeFlags.BigInt */) { + return strictNullChecks ? 16317188 /* TypeFacts.BigIntStrictFacts */ : 16775940 /* TypeFacts.BigIntFacts */; } - if (flags & 2048 /* BigIntLiteral */) { + if (flags & 2048 /* TypeFlags.BigIntLiteral */) { var isZero = isZeroBigInt(type); return strictNullChecks ? - isZero ? 12122884 /* ZeroBigIntStrictFacts */ : 7928580 /* NonZeroBigIntStrictFacts */ : - isZero ? 12581636 /* ZeroBigIntFacts */ : 16775940 /* NonZeroBigIntFacts */; + isZero ? 12122884 /* TypeFacts.ZeroBigIntStrictFacts */ : 7928580 /* TypeFacts.NonZeroBigIntStrictFacts */ : + isZero ? 12581636 /* TypeFacts.ZeroBigIntFacts */ : 16775940 /* TypeFacts.NonZeroBigIntFacts */; } - if (flags & 16 /* Boolean */) { - return strictNullChecks ? 16316168 /* BooleanStrictFacts */ : 16774920 /* BooleanFacts */; + if (flags & 16 /* TypeFlags.Boolean */) { + return strictNullChecks ? 16316168 /* TypeFacts.BooleanStrictFacts */ : 16774920 /* TypeFacts.BooleanFacts */; } - if (flags & 528 /* BooleanLike */) { + if (flags & 528 /* TypeFlags.BooleanLike */) { return strictNullChecks ? - (type === falseType || type === regularFalseType) ? 12121864 /* FalseStrictFacts */ : 7927560 /* TrueStrictFacts */ : - (type === falseType || type === regularFalseType) ? 12580616 /* FalseFacts */ : 16774920 /* TrueFacts */; + (type === falseType || type === regularFalseType) ? 12121864 /* TypeFacts.FalseStrictFacts */ : 7927560 /* TypeFacts.TrueStrictFacts */ : + (type === falseType || type === regularFalseType) ? 12580616 /* TypeFacts.FalseFacts */ : 16774920 /* TypeFacts.TrueFacts */; } - if (flags & 524288 /* Object */) { + if (flags & 524288 /* TypeFlags.Object */) { if (ignoreObjects) { - return 16768959 /* AndFactsMask */; // This is the identity element for computing type facts of intersection. + return 16768959 /* TypeFacts.AndFactsMask */; // This is the identity element for computing type facts of intersection. } - return ts.getObjectFlags(type) & 16 /* Anonymous */ && isEmptyObjectType(type) ? - strictNullChecks ? 16318463 /* EmptyObjectStrictFacts */ : 16777215 /* EmptyObjectFacts */ : + return ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */ && isEmptyObjectType(type) ? + strictNullChecks ? 16318463 /* TypeFacts.EmptyObjectStrictFacts */ : 16777215 /* TypeFacts.EmptyObjectFacts */ : isFunctionObjectType(type) ? - strictNullChecks ? 7880640 /* FunctionStrictFacts */ : 16728000 /* FunctionFacts */ : - strictNullChecks ? 7888800 /* ObjectStrictFacts */ : 16736160 /* ObjectFacts */; + strictNullChecks ? 7880640 /* TypeFacts.FunctionStrictFacts */ : 16728000 /* TypeFacts.FunctionFacts */ : + strictNullChecks ? 7888800 /* TypeFacts.ObjectStrictFacts */ : 16736160 /* TypeFacts.ObjectFacts */; } - if (flags & (16384 /* Void */ | 32768 /* Undefined */)) { - return 9830144 /* UndefinedFacts */; + if (flags & (16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */)) { + return 9830144 /* TypeFacts.UndefinedFacts */; } - if (flags & 65536 /* Null */) { - return 9363232 /* NullFacts */; + if (flags & 65536 /* TypeFlags.Null */) { + return 9363232 /* TypeFacts.NullFacts */; } - if (flags & 12288 /* ESSymbolLike */) { - return strictNullChecks ? 7925520 /* SymbolStrictFacts */ : 16772880 /* SymbolFacts */; + if (flags & 12288 /* TypeFlags.ESSymbolLike */) { + return strictNullChecks ? 7925520 /* TypeFacts.SymbolStrictFacts */ : 16772880 /* TypeFacts.SymbolFacts */; } - if (flags & 67108864 /* NonPrimitive */) { - return strictNullChecks ? 7888800 /* ObjectStrictFacts */ : 16736160 /* ObjectFacts */; + if (flags & 67108864 /* TypeFlags.NonPrimitive */) { + return strictNullChecks ? 7888800 /* TypeFacts.ObjectStrictFacts */ : 16736160 /* TypeFacts.ObjectFacts */; } - if (flags & 131072 /* Never */) { - return 0 /* None */; + if (flags & 131072 /* TypeFlags.Never */) { + return 0 /* TypeFacts.None */; } - if (flags & 465829888 /* Instantiable */) { + if (flags & 465829888 /* TypeFlags.Instantiable */) { return !isPatternLiteralType(type) ? getTypeFacts(getBaseConstraintOfType(type) || unknownType, ignoreObjects) : - strictNullChecks ? 7929345 /* NonEmptyStringStrictFacts */ : 16776705 /* NonEmptyStringFacts */; + strictNullChecks ? 7929345 /* TypeFacts.NonEmptyStringStrictFacts */ : 16776705 /* TypeFacts.NonEmptyStringFacts */; } - if (flags & 1048576 /* Union */) { - return ts.reduceLeft(type.types, function (facts, t) { return facts | getTypeFacts(t, ignoreObjects); }, 0 /* None */); + if (flags & 1048576 /* TypeFlags.Union */) { + return ts.reduceLeft(type.types, function (facts, t) { return facts | getTypeFacts(t, ignoreObjects); }, 0 /* TypeFacts.None */); } - if (flags & 2097152 /* Intersection */) { + if (flags & 2097152 /* TypeFlags.Intersection */) { // When an intersection contains a primitive type we ignore object type constituents as they are // presumably type tags. For example, in string & { __kind__: "name" } we ignore the object type. - ignoreObjects || (ignoreObjects = maybeTypeOfKind(type, 131068 /* Primitive */)); + ignoreObjects || (ignoreObjects = maybeTypeOfKind(type, 131068 /* TypeFlags.Primitive */)); return getIntersectionTypeFacts(type, ignoreObjects); } - return 16777215 /* All */; + return 16777215 /* TypeFacts.All */; } function getIntersectionTypeFacts(type, ignoreObjects) { // When computing the type facts of an intersection type, certain type facts are computed as `and` // and others are computed as `or`. - var oredFacts = 0 /* None */; - var andedFacts = 16777215 /* All */; + var oredFacts = 0 /* TypeFacts.None */; + var andedFacts = 16777215 /* TypeFacts.All */; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; var f = getTypeFacts(t, ignoreObjects); oredFacts |= f; andedFacts &= f; } - return oredFacts & 8256 /* OrFactsMask */ | andedFacts & 16768959 /* AndFactsMask */; + return oredFacts & 8256 /* TypeFacts.OrFactsMask */ | andedFacts & 16768959 /* TypeFacts.AndFactsMask */; } function getTypeWithFacts(type, include) { return filterType(type, function (t) { return (getTypeFacts(t) & include) !== 0; }); @@ -69393,7 +69652,7 @@ var ts; } function getTypeOfDestructuredArrayElement(type, index) { return everyType(type, isTupleLikeType) && getTupleElementType(type, index) || - includeUndefinedInIndexSignature(checkIteratedTypeOrElementType(65 /* Destructuring */, type, undefinedType, /*errorNode*/ undefined)) || + includeUndefinedInIndexSignature(checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, type, undefinedType, /*errorNode*/ undefined)) || errorType; } function includeUndefinedInIndexSignature(type) { @@ -69404,18 +69663,18 @@ var ts; type; } function getTypeOfDestructuredSpreadExpression(type) { - return createArrayType(checkIteratedTypeOrElementType(65 /* Destructuring */, type, undefinedType, /*errorNode*/ undefined) || errorType); + return createArrayType(checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, type, undefinedType, /*errorNode*/ undefined) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 204 /* ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 296 /* PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 221 /* BinaryExpression */ && parent.parent.left === parent || - parent.parent.kind === 244 /* ForOfStatement */ && parent.parent.initializer === parent; + return parent.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.parent.left === parent || + parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */ && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -69432,21 +69691,21 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return stringType; - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return checkRightHandSideOfForOf(parent) || errorType; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return getAssignedTypeOfBinaryExpression(parent); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: return undefinedType; - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 225 /* SpreadElement */: + case 225 /* SyntaxKind.SpreadElement */: return getAssignedTypeOfSpreadExpression(parent); - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return getAssignedTypeOfPropertyAssignment(parent); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return getAssignedTypeOfShorthandPropertyAssignment(parent); } return errorType; @@ -69454,7 +69713,7 @@ var ts; function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 201 /* ObjectBindingPattern */ ? + var type = pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -69472,37 +69731,37 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 243 /* ForInStatement */) { + if (node.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */) { return stringType; } - if (node.parent.parent.kind === 244 /* ForOfStatement */) { + if (node.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { return checkRightHandSideOfForOf(node.parent.parent) || errorType; } return errorType; } function getInitialType(node) { - return node.kind === 254 /* VariableDeclaration */ ? + return node.kind === 254 /* SyntaxKind.VariableDeclaration */ ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function isEmptyArrayAssignment(node) { - return node.kind === 254 /* VariableDeclaration */ && node.initializer && + return node.kind === 254 /* SyntaxKind.VariableDeclaration */ && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 203 /* BindingElement */ && node.parent.kind === 221 /* BinaryExpression */ && + node.kind !== 203 /* SyntaxKind.BindingElement */ && node.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return getReferenceCandidate(node.expression); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: switch (node.operatorToken.kind) { - case 63 /* EqualsToken */: - case 75 /* BarBarEqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: return getReferenceCandidate(node.left); - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: return getReferenceCandidate(node.right); } } @@ -69510,13 +69769,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 212 /* ParenthesizedExpression */ || - parent.kind === 221 /* BinaryExpression */ && parent.operatorToken.kind === 63 /* EqualsToken */ && parent.left === node || - parent.kind === 221 /* BinaryExpression */ && parent.operatorToken.kind === 27 /* CommaToken */ && parent.right === node ? + return parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */ || + parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && parent.left === node || + parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 289 /* CaseClause */) { + if (clause.kind === 289 /* SyntaxKind.CaseClause */) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -69536,7 +69795,7 @@ var ts; var witnesses = []; for (var _i = 0, _a = switchStatement.caseBlock.clauses; _i < _a.length; _i++) { var clause = _a[_i]; - if (clause.kind === 289 /* CaseClause */) { + if (clause.kind === 289 /* SyntaxKind.CaseClause */) { if (ts.isStringLiteralLike(clause.expression)) { witnesses.push(clause.expression.text); continue; @@ -69549,13 +69808,13 @@ var ts; return witnesses; } function eachTypeContainedIn(source, types) { - return source.flags & 1048576 /* Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); + return source.flags & 1048576 /* TypeFlags.Union */ ? !ts.forEach(source.types, function (t) { return !ts.contains(types, t); }) : ts.contains(types, source); } function isTypeSubsetOf(source, target) { - return source === target || target.flags & 1048576 /* Union */ && isTypeSubsetOfUnion(source, target); + return source === target || target.flags & 1048576 /* TypeFlags.Union */ && isTypeSubsetOfUnion(source, target); } function isTypeSubsetOfUnion(source, target) { - if (source.flags & 1048576 /* Union */) { + if (source.flags & 1048576 /* TypeFlags.Union */) { for (var _i = 0, _a = source.types; _i < _a.length; _i++) { var t = _a[_i]; if (!containsType(target.types, t)) { @@ -69564,25 +69823,25 @@ var ts; } return true; } - if (source.flags & 1024 /* EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { + if (source.flags & 1024 /* TypeFlags.EnumLiteral */ && getBaseTypeOfEnumLiteralType(source) === target) { return true; } return containsType(target.types, source); } function forEachType(type, f) { - return type.flags & 1048576 /* Union */ ? ts.forEach(type.types, f) : f(type); + return type.flags & 1048576 /* TypeFlags.Union */ ? ts.forEach(type.types, f) : f(type); } function someType(type, f) { - return type.flags & 1048576 /* Union */ ? ts.some(type.types, f) : f(type); + return type.flags & 1048576 /* TypeFlags.Union */ ? ts.some(type.types, f) : f(type); } function everyType(type, f) { - return type.flags & 1048576 /* Union */ ? ts.every(type.types, f) : f(type); + return type.flags & 1048576 /* TypeFlags.Union */ ? ts.every(type.types, f) : f(type); } function everyContainedType(type, f) { - return type.flags & 3145728 /* UnionOrIntersection */ ? ts.every(type.types, f) : f(type); + return type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? ts.every(type.types, f) : f(type); } function filterType(type, f) { - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { var types = type.types; var filtered = ts.filter(types, f); if (filtered === types) { @@ -69590,45 +69849,45 @@ var ts; } var origin = type.origin; var newOrigin = void 0; - if (origin && origin.flags & 1048576 /* Union */) { + if (origin && origin.flags & 1048576 /* TypeFlags.Union */) { // If the origin type is a (denormalized) union type, filter its non-union constituents. If that ends // up removing a smaller number of types than in the normalized constituent set (meaning some of the // filtered types are within nested unions in the origin), then we can't construct a new origin type. // Otherwise, if we have exactly one type left in the origin set, return that as the filtered type. // Otherwise, construct a new filtered origin type. var originTypes = origin.types; - var originFiltered = ts.filter(originTypes, function (t) { return !!(t.flags & 1048576 /* Union */) || f(t); }); + var originFiltered = ts.filter(originTypes, function (t) { return !!(t.flags & 1048576 /* TypeFlags.Union */) || f(t); }); if (originTypes.length - originFiltered.length === types.length - filtered.length) { if (originFiltered.length === 1) { return originFiltered[0]; } - newOrigin = createOriginUnionOrIntersectionType(1048576 /* Union */, originFiltered); + newOrigin = createOriginUnionOrIntersectionType(1048576 /* TypeFlags.Union */, originFiltered); } } return getUnionTypeFromSortedList(filtered, type.objectFlags, /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined, newOrigin); } - return type.flags & 131072 /* Never */ || f(type) ? type : neverType; + return type.flags & 131072 /* TypeFlags.Never */ || f(type) ? type : neverType; } function removeType(type, targetType) { return filterType(type, function (t) { return t !== targetType; }); } function countTypes(type) { - return type.flags & 1048576 /* Union */ ? type.types.length : 1; + return type.flags & 1048576 /* TypeFlags.Union */ ? type.types.length : 1; } function mapType(type, mapper, noReductions) { - if (type.flags & 131072 /* Never */) { + if (type.flags & 131072 /* TypeFlags.Never */) { return type; } - if (!(type.flags & 1048576 /* Union */)) { + if (!(type.flags & 1048576 /* TypeFlags.Union */)) { return mapper(type); } var origin = type.origin; - var types = origin && origin.flags & 1048576 /* Union */ ? origin.types : type.types; + var types = origin && origin.flags & 1048576 /* TypeFlags.Union */ ? origin.types : type.types; var mappedTypes; var changed = false; for (var _i = 0, types_17 = types; _i < types_17.length; _i++) { var t = types_17[_i]; - var mapped = t.flags & 1048576 /* Union */ ? mapType(t, mapper, noReductions) : mapper(t); + var mapped = t.flags & 1048576 /* TypeFlags.Union */ ? mapType(t, mapper, noReductions) : mapper(t); changed || (changed = t !== mapped); if (mapped) { if (!mappedTypes) { @@ -69639,11 +69898,11 @@ var ts; } } } - return changed ? mappedTypes && getUnionType(mappedTypes, noReductions ? 0 /* None */ : 1 /* Literal */) : type; + return changed ? mappedTypes && getUnionType(mappedTypes, noReductions ? 0 /* UnionReduction.None */ : 1 /* UnionReduction.Literal */) : type; } function mapTypeWithAlias(type, mapper, aliasSymbol, aliasTypeArguments) { - return type.flags & 1048576 /* Union */ && aliasSymbol ? - getUnionType(ts.map(type.types, mapper), 1 /* Literal */, aliasSymbol, aliasTypeArguments) : + return type.flags & 1048576 /* TypeFlags.Union */ && aliasSymbol ? + getUnionType(ts.map(type.types, mapper), 1 /* UnionReduction.Literal */, aliasSymbol, aliasTypeArguments) : mapType(type, mapper); } function extractTypesOfKind(type, kind) { @@ -69655,13 +69914,13 @@ var ts; // true intersection because it is more costly and, when applied to union types, generates a large number of // types we don't actually care about. function replacePrimitivesWithLiterals(typeWithPrimitives, typeWithLiterals) { - if (maybeTypeOfKind(typeWithPrimitives, 4 /* String */ | 134217728 /* TemplateLiteral */ | 8 /* Number */ | 64 /* BigInt */) && - maybeTypeOfKind(typeWithLiterals, 128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */ | 256 /* NumberLiteral */ | 2048 /* BigIntLiteral */)) { + if (maybeTypeOfKind(typeWithPrimitives, 4 /* TypeFlags.String */ | 134217728 /* TypeFlags.TemplateLiteral */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */) && + maybeTypeOfKind(typeWithLiterals, 128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */ | 256 /* TypeFlags.NumberLiteral */ | 2048 /* TypeFlags.BigIntLiteral */)) { return mapType(typeWithPrimitives, function (t) { - return t.flags & 4 /* String */ ? extractTypesOfKind(typeWithLiterals, 4 /* String */ | 128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) : - isPatternLiteralType(t) && !maybeTypeOfKind(typeWithLiterals, 4 /* String */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? extractTypesOfKind(typeWithLiterals, 128 /* StringLiteral */) : - t.flags & 8 /* Number */ ? extractTypesOfKind(typeWithLiterals, 8 /* Number */ | 256 /* NumberLiteral */) : - t.flags & 64 /* BigInt */ ? extractTypesOfKind(typeWithLiterals, 64 /* BigInt */ | 2048 /* BigIntLiteral */) : t; + return t.flags & 4 /* TypeFlags.String */ ? extractTypesOfKind(typeWithLiterals, 4 /* TypeFlags.String */ | 128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) : + isPatternLiteralType(t) && !maybeTypeOfKind(typeWithLiterals, 4 /* TypeFlags.String */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) ? extractTypesOfKind(typeWithLiterals, 128 /* TypeFlags.StringLiteral */) : + t.flags & 8 /* TypeFlags.Number */ ? extractTypesOfKind(typeWithLiterals, 8 /* TypeFlags.Number */ | 256 /* TypeFlags.NumberLiteral */) : + t.flags & 64 /* TypeFlags.BigInt */ ? extractTypesOfKind(typeWithLiterals, 64 /* TypeFlags.BigInt */ | 2048 /* TypeFlags.BigIntLiteral */) : t; }); } return typeWithPrimitives; @@ -69673,14 +69932,14 @@ var ts; return flowType.flags === 0 ? flowType.type : flowType; } function createFlowType(type, incomplete) { - return incomplete ? { flags: 0, type: type.flags & 131072 /* Never */ ? silentNeverType : type } : type; + return incomplete ? { flags: 0, type: type.flags & 131072 /* TypeFlags.Never */ ? silentNeverType : type } : type; } // An evolving array type tracks the element types that have so far been seen in an // 'x.push(value)' or 'x[n] = value' operation along the control flow graph. Evolving // array types are ultimately converted into manifest array types (using getFinalArrayType) // and never escape the getFlowTypeOfReference function. function createEvolvingArrayType(elementType) { - var result = createObjectType(256 /* EvolvingArray */); + var result = createObjectType(256 /* ObjectFlags.EvolvingArray */); result.elementType = elementType; return result; } @@ -69695,10 +69954,10 @@ var ts; return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); } function createFinalArrayType(elementType) { - return elementType.flags & 131072 /* Never */ ? + return elementType.flags & 131072 /* TypeFlags.Never */ ? autoArrayType : - createArrayType(elementType.flags & 1048576 /* Union */ ? - getUnionType(elementType.types, 2 /* Subtype */) : + createArrayType(elementType.flags & 1048576 /* TypeFlags.Union */ ? + getUnionType(elementType.types, 2 /* UnionReduction.Subtype */) : elementType); } // We perform subtype reduction upon obtaining the final array type from an evolving array type. @@ -69706,17 +69965,17 @@ var ts; return evolvingArrayType.finalArrayType || (evolvingArrayType.finalArrayType = createFinalArrayType(evolvingArrayType.elementType)); } function finalizeEvolvingArrayType(type) { - return ts.getObjectFlags(type) & 256 /* EvolvingArray */ ? getFinalArrayType(type) : type; + return ts.getObjectFlags(type) & 256 /* ObjectFlags.EvolvingArray */ ? getFinalArrayType(type) : type; } function getElementTypeOfEvolvingArrayType(type) { - return ts.getObjectFlags(type) & 256 /* EvolvingArray */ ? type.elementType : neverType; + return ts.getObjectFlags(type) & 256 /* ObjectFlags.EvolvingArray */ ? type.elementType : neverType; } function isEvolvingArrayTypeList(types) { var hasEvolvingArrayType = false; for (var _i = 0, types_18 = types; _i < types_18.length; _i++) { var t = types_18[_i]; - if (!(t.flags & 131072 /* Never */)) { - if (!(ts.getObjectFlags(t) & 256 /* EvolvingArray */)) { + if (!(t.flags & 131072 /* TypeFlags.Never */)) { + if (!(ts.getObjectFlags(t) & 256 /* ObjectFlags.EvolvingArray */)) { return false; } hasEvolvingArrayType = true; @@ -69730,16 +69989,16 @@ var ts; var root = getReferenceRoot(node); var parent = root.parent; var isLengthPushOrUnshift = ts.isPropertyAccessExpression(parent) && (parent.name.escapedText === "length" || - parent.parent.kind === 208 /* CallExpression */ + parent.parent.kind === 208 /* SyntaxKind.CallExpression */ && ts.isIdentifier(parent.name) && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 207 /* ElementAccessExpression */ && + var isElementAssignment = parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && parent.expression === root && - parent.parent.kind === 221 /* BinaryExpression */ && - parent.parent.operatorToken.kind === 63 /* EqualsToken */ && + parent.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && + parent.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && - isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 296 /* NumberLike */); + isTypeAssignableToKind(getTypeOfExpression(parent.argumentExpression), 296 /* TypeFlags.NumberLike */); return isLengthPushOrUnshift || isElementAssignment; } function isDeclarationWithExplicitTypeAnnotation(node) { @@ -69748,11 +70007,11 @@ var ts; ts.isInJSFile(node) && ts.hasInitializer(node) && node.initializer && ts.isFunctionExpressionOrArrowFunction(node.initializer) && ts.getEffectiveReturnTypeNode(node.initializer)); } function getExplicitTypeOfSymbol(symbol, diagnostic) { - if (symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 512 /* ValueModule */)) { + if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */ | 32 /* SymbolFlags.Class */ | 512 /* SymbolFlags.ValueModule */)) { return getTypeOfSymbol(symbol); } - if (symbol.flags & (3 /* Variable */ | 4 /* Property */)) { - if (ts.getCheckFlags(symbol) & 262144 /* Mapped */) { + if (symbol.flags & (3 /* SymbolFlags.Variable */ | 4 /* SymbolFlags.Property */)) { + if (ts.getCheckFlags(symbol) & 262144 /* CheckFlags.Mapped */) { var origin = symbol.syntheticOrigin; if (origin && getExplicitTypeOfSymbol(origin)) { return getTypeOfSymbol(symbol); @@ -69763,11 +70022,11 @@ var ts; if (isDeclarationWithExplicitTypeAnnotation(declaration)) { return getTypeOfSymbol(symbol); } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { var statement = declaration.parent.parent; var expressionType = getTypeOfDottedName(statement.expression, /*diagnostic*/ undefined); if (expressionType) { - var use = statement.awaitModifier ? 15 /* ForAwaitOf */ : 13 /* ForOf */; + var use = statement.awaitModifier ? 15 /* IterationUse.ForAwaitOf */ : 13 /* IterationUse.ForOf */; return checkIteratedTypeOrElementType(use, expressionType, undefinedType, /*errorNode*/ undefined); } } @@ -69782,16 +70041,16 @@ var ts; // parameter symbols with declarations that have explicit type annotations. Such references are // resolvable with no possibility of triggering circularities in control flow analysis. function getTypeOfDottedName(node, diagnostic) { - if (!(node.flags & 33554432 /* InWithStatement */)) { + if (!(node.flags & 33554432 /* NodeFlags.InWithStatement */)) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: var symbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(node)); - return getExplicitTypeOfSymbol(symbol.flags & 2097152 /* Alias */ ? resolveAlias(symbol) : symbol, diagnostic); - case 108 /* ThisKeyword */: + return getExplicitTypeOfSymbol(symbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(symbol) : symbol, diagnostic); + case 108 /* SyntaxKind.ThisKeyword */: return getExplicitThisType(node); - case 106 /* SuperKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: return checkSuperExpression(node); - case 206 /* PropertyAccessExpression */: { + case 206 /* SyntaxKind.PropertyAccessExpression */: { var type = getTypeOfDottedName(node.expression, diagnostic); if (type) { var name = node.name; @@ -69809,7 +70068,7 @@ var ts; } return undefined; } - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return getTypeOfDottedName(node.expression, diagnostic); } } @@ -69823,10 +70082,10 @@ var ts; // circularities in control flow analysis, we use getTypeOfDottedName when resolving the call // target expression of an assertion. var funcType = void 0; - if (node.parent.kind === 238 /* ExpressionStatement */) { + if (node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */) { funcType = getTypeOfDottedName(node.expression, /*diagnostic*/ undefined); } - else if (node.expression.kind !== 106 /* SuperKeyword */) { + else if (node.expression.kind !== 106 /* SyntaxKind.SuperKeyword */) { if (ts.isOptionalChain(node)) { funcType = checkNonNullType(getOptionalExpressionType(checkExpression(node.expression), node.expression), node.expression); } @@ -69834,7 +70093,7 @@ var ts; funcType = checkNonNullExpression(node.expression); } } - var signatures = getSignaturesOfType(funcType && getApparentType(funcType) || unknownType, 0 /* Call */); + var signatures = getSignaturesOfType(funcType && getApparentType(funcType) || unknownType, 0 /* SignatureKind.Call */); var candidate = signatures.length === 1 && !signatures[0].typeParameters ? signatures[0] : ts.some(signatures, hasTypePredicateOrNeverReturnType) ? getResolvedSignature(node) : undefined; @@ -69844,10 +70103,10 @@ var ts; } function hasTypePredicateOrNeverReturnType(signature) { return !!(getTypePredicateOfSignature(signature) || - signature.declaration && (getReturnTypeFromAnnotation(signature.declaration) || unknownType).flags & 131072 /* Never */); + signature.declaration && (getReturnTypeFromAnnotation(signature.declaration) || unknownType).flags & 131072 /* TypeFlags.Never */); } function getTypePredicateArgument(predicate, callExpression) { - if (predicate.kind === 1 /* Identifier */ || predicate.kind === 3 /* AssertsIdentifier */) { + if (predicate.kind === 1 /* TypePredicateKind.Identifier */ || predicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */) { return callExpression.arguments[predicate.parameterIndex]; } var invokedExpression = ts.skipParentheses(callExpression.expression); @@ -69867,8 +70126,8 @@ var ts; } function isFalseExpression(expr) { var node = ts.skipParentheses(expr, /*excludeJSDocTypeAssertions*/ true); - return node.kind === 95 /* FalseKeyword */ || node.kind === 221 /* BinaryExpression */ && (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */ && (isFalseExpression(node.left) || isFalseExpression(node.right)) || - node.operatorToken.kind === 56 /* BarBarToken */ && isFalseExpression(node.left) && isFalseExpression(node.right)); + return node.kind === 95 /* SyntaxKind.FalseKeyword */ || node.kind === 221 /* SyntaxKind.BinaryExpression */ && (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ && (isFalseExpression(node.left) || isFalseExpression(node.right)) || + node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ && isFalseExpression(node.left) && isFalseExpression(node.right)); } function isReachableFlowNodeWorker(flow, noCacheCheck) { while (true) { @@ -69876,7 +70135,7 @@ var ts; return lastFlowNodeReachable; } var flags = flow.flags; - if (flags & 4096 /* Shared */) { + if (flags & 4096 /* FlowFlags.Shared */) { if (!noCacheCheck) { var id = getFlowNodeId(flow); var reachable = flowNodeReachable[id]; @@ -69884,30 +70143,30 @@ var ts; } noCacheCheck = false; } - if (flags & (16 /* Assignment */ | 96 /* Condition */ | 256 /* ArrayMutation */)) { + if (flags & (16 /* FlowFlags.Assignment */ | 96 /* FlowFlags.Condition */ | 256 /* FlowFlags.ArrayMutation */)) { flow = flow.antecedent; } - else if (flags & 512 /* Call */) { + else if (flags & 512 /* FlowFlags.Call */) { var signature = getEffectsSignature(flow.node); if (signature) { var predicate = getTypePredicateOfSignature(signature); - if (predicate && predicate.kind === 3 /* AssertsIdentifier */ && !predicate.type) { + if (predicate && predicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ && !predicate.type) { var predicateArgument = flow.node.arguments[predicate.parameterIndex]; if (predicateArgument && isFalseExpression(predicateArgument)) { return false; } } - if (getReturnTypeOfSignature(signature).flags & 131072 /* Never */) { + if (getReturnTypeOfSignature(signature).flags & 131072 /* TypeFlags.Never */) { return false; } } flow = flow.antecedent; } - else if (flags & 4 /* BranchLabel */) { + else if (flags & 4 /* FlowFlags.BranchLabel */) { // A branching point is reachable if any branch is reachable. return ts.some(flow.antecedents, function (f) { return isReachableFlowNodeWorker(f, /*noCacheCheck*/ false); }); } - else if (flags & 8 /* LoopLabel */) { + else if (flags & 8 /* FlowFlags.LoopLabel */) { var antecedents = flow.antecedents; if (antecedents === undefined || antecedents.length === 0) { return false; @@ -69915,7 +70174,7 @@ var ts; // A loop is reachable if the control flow path that leads to the top is reachable. flow = antecedents[0]; } - else if (flags & 128 /* SwitchClause */) { + else if (flags & 128 /* FlowFlags.SwitchClause */) { // The control flow path representing an unmatched value in a switch statement with // no default clause is unreachable if the switch statement is exhaustive. if (flow.clauseStart === flow.clauseEnd && isExhaustiveSwitchStatement(flow.switchStatement)) { @@ -69923,7 +70182,7 @@ var ts; } flow = flow.antecedent; } - else if (flags & 1024 /* ReduceLabel */) { + else if (flags & 1024 /* FlowFlags.ReduceLabel */) { // Cache is unreliable once we start adjusting labels lastFlowNode = undefined; var target = flow.target; @@ -69934,7 +70193,7 @@ var ts; return result; } else { - return !(flags & 1 /* Unreachable */); + return !(flags & 1 /* FlowFlags.Unreachable */); } } } @@ -69943,7 +70202,7 @@ var ts; function isPostSuperFlowNode(flow, noCacheCheck) { while (true) { var flags = flow.flags; - if (flags & 4096 /* Shared */) { + if (flags & 4096 /* FlowFlags.Shared */) { if (!noCacheCheck) { var id = getFlowNodeId(flow); var postSuper = flowNodePostSuper[id]; @@ -69951,24 +70210,24 @@ var ts; } noCacheCheck = false; } - if (flags & (16 /* Assignment */ | 96 /* Condition */ | 256 /* ArrayMutation */ | 128 /* SwitchClause */)) { + if (flags & (16 /* FlowFlags.Assignment */ | 96 /* FlowFlags.Condition */ | 256 /* FlowFlags.ArrayMutation */ | 128 /* FlowFlags.SwitchClause */)) { flow = flow.antecedent; } - else if (flags & 512 /* Call */) { - if (flow.node.expression.kind === 106 /* SuperKeyword */) { + else if (flags & 512 /* FlowFlags.Call */) { + if (flow.node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { return true; } flow = flow.antecedent; } - else if (flags & 4 /* BranchLabel */) { + else if (flags & 4 /* FlowFlags.BranchLabel */) { // A branching point is post-super if every branch is post-super. return ts.every(flow.antecedents, function (f) { return isPostSuperFlowNode(f, /*noCacheCheck*/ false); }); } - else if (flags & 8 /* LoopLabel */) { + else if (flags & 8 /* FlowFlags.LoopLabel */) { // A loop is post-super if the control flow path that leads to the top is post-super. flow = flow.antecedents[0]; } - else if (flags & 1024 /* ReduceLabel */) { + else if (flags & 1024 /* FlowFlags.ReduceLabel */) { var target = flow.target; var saveAntecedents = target.antecedents; target.antecedents = flow.antecedents; @@ -69978,18 +70237,18 @@ var ts; } else { // Unreachable nodes are considered post-super to silence errors - return !!(flags & 1 /* Unreachable */); + return !!(flags & 1 /* FlowFlags.Unreachable */); } } } function isConstantReference(node) { switch (node.kind) { - case 79 /* Identifier */: { + case 79 /* SyntaxKind.Identifier */: { var symbol = getResolvedSymbol(node); return isConstVariable(symbol) || ts.isParameterOrCatchClauseVariable(symbol) && !isSymbolAssigned(symbol); } - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: // The resolvedSymbol property is initialized by checkPropertyAccess or checkElementAccess before we get here. return isConstantReference(node.expression) && isReadonlySymbol(getNodeLinks(node).resolvedSymbol || unknownSymbol); } @@ -70015,8 +70274,8 @@ var ts; // we give type 'any[]' to 'x' instead of using the type determined by control flow analysis such that operations // on empty arrays are possible without implicit any errors and new element types can be inferred without // type mismatch errors. - var resultType = ts.getObjectFlags(evolvedType) & 256 /* EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? autoArrayType : finalizeEvolvingArrayType(evolvedType); - if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === 230 /* NonNullExpression */ && !(resultType.flags & 131072 /* Never */) && getTypeWithFacts(resultType, 2097152 /* NEUndefinedOrNull */).flags & 131072 /* Never */) { + var resultType = ts.getObjectFlags(evolvedType) & 256 /* ObjectFlags.EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? autoArrayType : finalizeEvolvingArrayType(evolvedType); + if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === 230 /* SyntaxKind.NonNullExpression */ && !(resultType.flags & 131072 /* TypeFlags.Never */) && getTypeWithFacts(resultType, 2097152 /* TypeFacts.NEUndefinedOrNull */).flags & 131072 /* TypeFlags.Never */) { return declaredType; } // The non-null unknown type should never escape control flow analysis. @@ -70032,7 +70291,7 @@ var ts; if (flowDepth === 2000) { // We have made 2000 recursive invocations. To avoid overflowing the call stack we report an error // and disable further control flow analysis in the containing function or module body. - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* CheckTypes */, "getTypeAtFlowNode_DepthLimit", { flowId: flow.id }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("checkTypes" /* tracing.Phase.CheckTypes */, "getTypeAtFlowNode_DepthLimit", { flowId: flow.id }); flowAnalysisDisabled = true; reportFlowControlError(reference); return errorType; @@ -70041,7 +70300,7 @@ var ts; var sharedFlow; while (true) { var flags = flow.flags; - if (flags & 4096 /* Shared */) { + if (flags & 4096 /* FlowFlags.Shared */) { // We cache results of flow type resolution for shared nodes that were previously visited in // the same getFlowTypeOfReference invocation. A node is considered shared when it is the // antecedent of more than one node. @@ -70054,56 +70313,56 @@ var ts; sharedFlow = flow; } var type = void 0; - if (flags & 16 /* Assignment */) { + if (flags & 16 /* FlowFlags.Assignment */) { type = getTypeAtFlowAssignment(flow); if (!type) { flow = flow.antecedent; continue; } } - else if (flags & 512 /* Call */) { + else if (flags & 512 /* FlowFlags.Call */) { type = getTypeAtFlowCall(flow); if (!type) { flow = flow.antecedent; continue; } } - else if (flags & 96 /* Condition */) { + else if (flags & 96 /* FlowFlags.Condition */) { type = getTypeAtFlowCondition(flow); } - else if (flags & 128 /* SwitchClause */) { + else if (flags & 128 /* FlowFlags.SwitchClause */) { type = getTypeAtSwitchClause(flow); } - else if (flags & 12 /* Label */) { + else if (flags & 12 /* FlowFlags.Label */) { if (flow.antecedents.length === 1) { flow = flow.antecedents[0]; continue; } - type = flags & 4 /* BranchLabel */ ? + type = flags & 4 /* FlowFlags.BranchLabel */ ? getTypeAtFlowBranchLabel(flow) : getTypeAtFlowLoopLabel(flow); } - else if (flags & 256 /* ArrayMutation */) { + else if (flags & 256 /* FlowFlags.ArrayMutation */) { type = getTypeAtFlowArrayMutation(flow); if (!type) { flow = flow.antecedent; continue; } } - else if (flags & 1024 /* ReduceLabel */) { + else if (flags & 1024 /* FlowFlags.ReduceLabel */) { var target = flow.target; var saveAntecedents = target.antecedents; target.antecedents = flow.antecedents; type = getTypeAtFlowNode(flow.antecedent); target.antecedents = saveAntecedents; } - else if (flags & 2 /* Start */) { + else if (flags & 2 /* FlowFlags.Start */) { // Check if we should continue with the control flow of the containing function. var container = flow.node; if (container && container !== flowContainer && - reference.kind !== 206 /* PropertyAccessExpression */ && - reference.kind !== 207 /* ElementAccessExpression */ && - reference.kind !== 108 /* ThisKeyword */) { + reference.kind !== 206 /* SyntaxKind.PropertyAccessExpression */ && + reference.kind !== 207 /* SyntaxKind.ElementAccessExpression */ && + reference.kind !== 108 /* SyntaxKind.ThisKeyword */) { flow = container.flowNode; continue; } @@ -70127,7 +70386,7 @@ var ts; } function getInitialOrAssignedType(flow) { var node = flow.node; - return getNarrowableTypeForReference(node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */ ? + return getNarrowableTypeForReference(node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */ ? getInitialType(node) : getAssignedType(node), reference); } @@ -70139,7 +70398,7 @@ var ts; if (!isReachableFlowNode(flow)) { return unreachableNeverType; } - if (ts.getAssignmentTargetKind(node) === 2 /* Compound */) { + if (ts.getAssignmentTargetKind(node) === 2 /* AssignmentKind.Compound */) { var flowType = getTypeAtFlowNode(flow.antecedent); return createFlowType(getBaseTypeOfLiteralType(getTypeFromFlowType(flowType)), isIncomplete(flowType)); } @@ -70150,7 +70409,7 @@ var ts; var assignedType = getWidenedLiteralType(getInitialOrAssignedType(flow)); return isTypeAssignableTo(assignedType, declaredType) ? assignedType : anyArrayType; } - if (declaredType.flags & 1048576 /* Union */) { + if (declaredType.flags & 1048576 /* TypeFlags.Union */) { return getAssignmentReducedType(declaredType, getInitialOrAssignedType(flow)); } return declaredType; @@ -70167,14 +70426,14 @@ var ts; // in which case we continue control flow analysis back to the function's declaration if (ts.isVariableDeclaration(node) && (ts.isInJSFile(node) || ts.isVarConst(node))) { var init = ts.getDeclaredExpandoInitializer(node); - if (init && (init.kind === 213 /* FunctionExpression */ || init.kind === 214 /* ArrowFunction */)) { + if (init && (init.kind === 213 /* SyntaxKind.FunctionExpression */ || init.kind === 214 /* SyntaxKind.ArrowFunction */)) { return getTypeAtFlowNode(flow.antecedent); } } return declaredType; } // for (const _ in ref) acts as a nonnull on ref - if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { + if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))); } // Assignment doesn't affect reference @@ -70182,14 +70441,14 @@ var ts; } function narrowTypeByAssertion(type, expr) { var node = ts.skipParentheses(expr, /*excludeJSDocTypeAssertions*/ true); - if (node.kind === 95 /* FalseKeyword */) { + if (node.kind === 95 /* SyntaxKind.FalseKeyword */) { return unreachableNeverType; } - if (node.kind === 221 /* BinaryExpression */) { - if (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */) { + if (node.kind === 221 /* SyntaxKind.BinaryExpression */) { + if (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */) { return narrowTypeByAssertion(narrowTypeByAssertion(type, node.left), node.right); } - if (node.operatorToken.kind === 56 /* BarBarToken */) { + if (node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */) { return getUnionType([narrowTypeByAssertion(type, node.left), narrowTypeByAssertion(type, node.right)]); } } @@ -70199,15 +70458,15 @@ var ts; var signature = getEffectsSignature(flow.node); if (signature) { var predicate = getTypePredicateOfSignature(signature); - if (predicate && (predicate.kind === 2 /* AssertsThis */ || predicate.kind === 3 /* AssertsIdentifier */)) { + if (predicate && (predicate.kind === 2 /* TypePredicateKind.AssertsThis */ || predicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */)) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = finalizeEvolvingArrayType(getTypeFromFlowType(flowType)); var narrowedType = predicate.type ? narrowTypeByTypePredicate(type, predicate, flow.node, /*assumeTrue*/ true) : - predicate.kind === 3 /* AssertsIdentifier */ && predicate.parameterIndex >= 0 && predicate.parameterIndex < flow.node.arguments.length ? narrowTypeByAssertion(type, flow.node.arguments[predicate.parameterIndex]) : + predicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ && predicate.parameterIndex >= 0 && predicate.parameterIndex < flow.node.arguments.length ? narrowTypeByAssertion(type, flow.node.arguments[predicate.parameterIndex]) : type; return narrowedType === type ? flowType : createFlowType(narrowedType, isIncomplete(flowType)); } - if (getReturnTypeOfSignature(signature).flags & 131072 /* Never */) { + if (getReturnTypeOfSignature(signature).flags & 131072 /* TypeFlags.Never */) { return unreachableNeverType; } } @@ -70216,15 +70475,15 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 208 /* CallExpression */ ? + var expr = node.kind === 208 /* SyntaxKind.CallExpression */ ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (ts.getObjectFlags(type) & 256 /* EvolvingArray */) { + if (ts.getObjectFlags(type) & 256 /* ObjectFlags.EvolvingArray */) { var evolvedType_1 = type; - if (node.kind === 208 /* CallExpression */) { + if (node.kind === 208 /* SyntaxKind.CallExpression */) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -70233,7 +70492,7 @@ var ts; else { // We must get the context free expression type so as to not recur in an uncached fashion on the LHS (which causes exponential blowup in compile time) var indexType = getContextFreeTypeOfExpression(node.left.argumentExpression); - if (isTypeAssignableToKind(indexType, 296 /* NumberLike */)) { + if (isTypeAssignableToKind(indexType, 296 /* TypeFlags.NumberLike */)) { evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, node.right); } } @@ -70247,7 +70506,7 @@ var ts; function getTypeAtFlowCondition(flow) { var flowType = getTypeAtFlowNode(flow.antecedent); var type = getTypeFromFlowType(flowType); - if (type.flags & 131072 /* Never */) { + if (type.flags & 131072 /* TypeFlags.Never */) { return flowType; } // If we have an antecedent type (meaning we're reachable in some way), we first @@ -70257,7 +70516,7 @@ var ts; // have the complete type. We proceed by switching to the silent never type which // doesn't report errors when operators are applied to it. Note that this is the // *only* place a silent never type is ever generated. - var assumeTrue = (flow.flags & 32 /* TrueCondition */) !== 0; + var assumeTrue = (flow.flags & 32 /* FlowFlags.TrueCondition */) !== 0; var nonEvolvingType = finalizeEvolvingArrayType(type); var narrowedType = narrowType(nonEvolvingType, flow.node, assumeTrue); if (narrowedType === nonEvolvingType) { @@ -70272,16 +70531,16 @@ var ts; if (isMatchingReference(reference, expr)) { type = narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } - else if (expr.kind === 216 /* TypeOfExpression */ && isMatchingReference(reference, expr.expression)) { + else if (expr.kind === 216 /* SyntaxKind.TypeOfExpression */ && isMatchingReference(reference, expr.expression)) { type = narrowBySwitchOnTypeOf(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } else { if (strictNullChecks) { if (optionalChainContainsReference(expr, reference)) { - type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & (32768 /* Undefined */ | 131072 /* Never */)); }); + type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & (32768 /* TypeFlags.Undefined */ | 131072 /* TypeFlags.Never */)); }); } - else if (expr.kind === 216 /* TypeOfExpression */ && optionalChainContainsReference(expr.expression, reference)) { - type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & 131072 /* Never */ || t.flags & 128 /* StringLiteral */ && t.value === "undefined"); }); + else if (expr.kind === 216 /* SyntaxKind.TypeOfExpression */ && optionalChainContainsReference(expr.expression, reference)) { + type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & 131072 /* TypeFlags.Never */ || t.flags & 128 /* TypeFlags.StringLiteral */ && t.value === "undefined"); }); } } var access = getDiscriminantPropertyAccess(expr, type); @@ -70298,7 +70557,7 @@ var ts; var bypassFlow; for (var _i = 0, _a = flow.antecedents; _i < _a.length; _i++) { var antecedent = _a[_i]; - if (!bypassFlow && antecedent.flags & 128 /* SwitchClause */ && antecedent.clauseStart === antecedent.clauseEnd) { + if (!bypassFlow && antecedent.flags & 128 /* FlowFlags.SwitchClause */ && antecedent.clauseStart === antecedent.clauseEnd) { // The antecedent is the bypass branch of a potentially exhaustive switch statement. bypassFlow = antecedent; continue; @@ -70342,7 +70601,7 @@ var ts; } } } - return createFlowType(getUnionOrEvolvingArrayType(antecedentTypes, subtypeReduction ? 2 /* Subtype */ : 1 /* Literal */), seenIncomplete); + return createFlowType(getUnionOrEvolvingArrayType(antecedentTypes, subtypeReduction ? 2 /* UnionReduction.Subtype */ : 1 /* UnionReduction.Literal */), seenIncomplete); } function getTypeAtFlowLoopLabel(flow) { // If we have previously computed the control flow type for the reference at @@ -70368,7 +70627,7 @@ var ts; // path that leads to the top. for (var i = flowLoopStart; i < flowLoopCount; i++) { if (flowLoopNodes[i] === flow && flowLoopKeys[i] === key && flowLoopTypes[i].length) { - return createFlowType(getUnionOrEvolvingArrayType(flowLoopTypes[i], 1 /* Literal */), /*incomplete*/ true); + return createFlowType(getUnionOrEvolvingArrayType(flowLoopTypes[i], 1 /* UnionReduction.Literal */), /*incomplete*/ true); } } // Add the flow loop junction and reference to the in-process stack and analyze @@ -70421,7 +70680,7 @@ var ts; } // The result is incomplete if the first antecedent (the non-looping control flow path) // is incomplete. - var result = getUnionOrEvolvingArrayType(antecedentTypes, subtypeReduction ? 2 /* Subtype */ : 1 /* Literal */); + var result = getUnionOrEvolvingArrayType(antecedentTypes, subtypeReduction ? 2 /* UnionReduction.Subtype */ : 1 /* UnionReduction.Literal */); if (isIncomplete(firstAntecedentType)) { return createFlowType(result, /*incomplete*/ true); } @@ -70436,7 +70695,7 @@ var ts; return getEvolvingArrayType(getUnionType(ts.map(types, getElementTypeOfEvolvingArrayType))); } var result = getUnionType(ts.sameMap(types, finalizeEvolvingArrayType), subtypeReduction); - if (result !== declaredType && result.flags & declaredType.flags & 1048576 /* Union */ && ts.arraysEqual(result.types, declaredType.types)) { + if (result !== declaredType && result.flags & declaredType.flags & 1048576 /* TypeFlags.Union */ && ts.arraysEqual(result.types, declaredType.types)) { return declaredType; } return result; @@ -70482,8 +70741,8 @@ var ts; return undefined; } function getDiscriminantPropertyAccess(expr, computedType) { - var type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType; - if (type.flags & 1048576 /* Union */) { + var type = declaredType.flags & 1048576 /* TypeFlags.Union */ ? declaredType : computedType; + if (type.flags & 1048576 /* TypeFlags.Union */) { var access = getCandidateDiscriminantPropertyAccess(expr); if (access) { var name = getAccessedPropertyName(access); @@ -70499,8 +70758,8 @@ var ts; if (propName === undefined) { return type; } - var removeNullable = strictNullChecks && ts.isOptionalChain(access) && maybeTypeOfKind(type, 98304 /* Nullable */); - var propType = getTypeOfPropertyOfType(removeNullable ? getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */) : type, propName); + var removeNullable = strictNullChecks && ts.isOptionalChain(access) && maybeTypeOfKind(type, 98304 /* TypeFlags.Nullable */); + var propType = getTypeOfPropertyOfType(removeNullable ? getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */) : type, propName); if (!propType) { return type; } @@ -70508,16 +70767,16 @@ var ts; var narrowedPropType = narrowType(propType); return filterType(type, function (t) { var discriminantType = getTypeOfPropertyOrIndexSignature(t, propName); - return !(narrowedPropType.flags & 131072 /* Never */) && isTypeComparableTo(narrowedPropType, discriminantType); + return !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && isTypeComparableTo(narrowedPropType, discriminantType); }); } function narrowTypeByDiscriminantProperty(type, access, operator, value, assumeTrue) { - if ((operator === 36 /* EqualsEqualsEqualsToken */ || operator === 37 /* ExclamationEqualsEqualsToken */) && type.flags & 1048576 /* Union */) { + if ((operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */) && type.flags & 1048576 /* TypeFlags.Union */) { var keyPropertyName = getKeyPropertyName(type); if (keyPropertyName && keyPropertyName === getAccessedPropertyName(access)) { var candidate = getConstituentTypeForKeyType(type, getTypeOfExpression(value)); if (candidate) { - return operator === (assumeTrue ? 36 /* EqualsEqualsEqualsToken */ : 37 /* ExclamationEqualsEqualsToken */) ? candidate : + return operator === (assumeTrue ? 36 /* SyntaxKind.EqualsEqualsEqualsToken */ : 37 /* SyntaxKind.ExclamationEqualsEqualsToken */) ? candidate : isUnitType(getTypeOfPropertyOfType(candidate, keyPropertyName) || unknownType) ? removeType(type, candidate) : type; } @@ -70526,7 +70785,7 @@ var ts; return narrowTypeByDiscriminant(type, access, function (t) { return narrowTypeByEquality(t, operator, value, assumeTrue); }); } function narrowTypeBySwitchOnDiscriminantProperty(type, access, switchStatement, clauseStart, clauseEnd) { - if (clauseStart < clauseEnd && type.flags & 1048576 /* Union */ && getKeyPropertyName(type) === getAccessedPropertyName(access)) { + if (clauseStart < clauseEnd && type.flags & 1048576 /* TypeFlags.Union */ && getKeyPropertyName(type) === getAccessedPropertyName(access)) { var clauseTypes = getSwitchClauseTypes(switchStatement).slice(clauseStart, clauseEnd); var candidate = getUnionType(ts.map(clauseTypes, function (t) { return getConstituentTypeForKeyType(type, t) || unknownType; })); if (candidate !== unknownType) { @@ -70537,52 +70796,52 @@ var ts; } function narrowTypeByTruthiness(type, expr, assumeTrue) { if (isMatchingReference(reference, expr)) { - return type.flags & 2 /* Unknown */ && assumeTrue ? nonNullUnknownType : - getTypeWithFacts(type, assumeTrue ? 4194304 /* Truthy */ : 8388608 /* Falsy */); + return type.flags & 2 /* TypeFlags.Unknown */ && assumeTrue ? nonNullUnknownType : + getTypeWithFacts(type, assumeTrue ? 4194304 /* TypeFacts.Truthy */ : 8388608 /* TypeFacts.Falsy */); } if (strictNullChecks && assumeTrue && optionalChainContainsReference(expr, reference)) { - type = getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */); + type = getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } var access = getDiscriminantPropertyAccess(expr, type); if (access) { - return narrowTypeByDiscriminant(type, access, function (t) { return getTypeWithFacts(t, assumeTrue ? 4194304 /* Truthy */ : 8388608 /* Falsy */); }); + return narrowTypeByDiscriminant(type, access, function (t) { return getTypeWithFacts(t, assumeTrue ? 4194304 /* TypeFacts.Truthy */ : 8388608 /* TypeFacts.Falsy */); }); } return type; } function isTypePresencePossible(type, propName, assumeTrue) { var prop = getPropertyOfType(type, propName); if (prop) { - return prop.flags & 16777216 /* Optional */ ? true : assumeTrue; + return prop.flags & 16777216 /* SymbolFlags.Optional */ ? true : assumeTrue; } return getApplicableIndexInfoForName(type, propName) ? true : !assumeTrue; } function narrowByInKeyword(type, name, assumeTrue) { - if (type.flags & 1048576 /* Union */ - || type.flags & 524288 /* Object */ && declaredType !== type + if (type.flags & 1048576 /* TypeFlags.Union */ + || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type || ts.isThisTypeParameter(type) - || type.flags & 2097152 /* Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) { + || type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) { return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); }); } return type; } function narrowTypeByBinaryExpression(type, expr, assumeTrue) { switch (expr.operatorToken.kind) { - case 63 /* EqualsToken */: - case 75 /* BarBarEqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: return narrowTypeByTruthiness(narrowType(type, expr.right, assumeTrue), expr.left, assumeTrue); - case 34 /* EqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: - case 36 /* EqualsEqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: var operator = expr.operatorToken.kind; var left = getReferenceCandidate(expr.left); var right = getReferenceCandidate(expr.right); - if (left.kind === 216 /* TypeOfExpression */ && ts.isStringLiteralLike(right)) { + if (left.kind === 216 /* SyntaxKind.TypeOfExpression */ && ts.isStringLiteralLike(right)) { return narrowTypeByTypeof(type, left, operator, right, assumeTrue); } - if (right.kind === 216 /* TypeOfExpression */ && ts.isStringLiteralLike(left)) { + if (right.kind === 216 /* SyntaxKind.TypeOfExpression */ && ts.isStringLiteralLike(left)) { return narrowTypeByTypeof(type, right, operator, left, assumeTrue); } if (isMatchingReference(reference, left)) { @@ -70614,35 +70873,35 @@ var ts; return narrowTypeByConstructor(type, operator, left, assumeTrue); } break; - case 102 /* InstanceOfKeyword */: + case 102 /* SyntaxKind.InstanceOfKeyword */: return narrowTypeByInstanceof(type, expr, assumeTrue); - case 101 /* InKeyword */: + case 101 /* SyntaxKind.InKeyword */: if (ts.isPrivateIdentifier(expr.left)) { return narrowTypeByPrivateIdentifierInInExpression(type, expr, assumeTrue); } var target = getReferenceCandidate(expr.right); var leftType = getTypeOfNode(expr.left); - if (leftType.flags & 128 /* StringLiteral */) { + if (leftType.flags & 128 /* TypeFlags.StringLiteral */) { var name = ts.escapeLeadingUnderscores(leftType.value); if (containsMissingType(type) && ts.isAccessExpression(reference) && isMatchingReference(reference.expression, target) && getAccessedPropertyName(reference) === name) { - return getTypeWithFacts(type, assumeTrue ? 524288 /* NEUndefined */ : 65536 /* EQUndefined */); + return getTypeWithFacts(type, assumeTrue ? 524288 /* TypeFacts.NEUndefined */ : 65536 /* TypeFacts.EQUndefined */); } if (isMatchingReference(reference, target)) { return narrowByInKeyword(type, name, assumeTrue); } } break; - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: return narrowType(type, expr.right, assumeTrue); // Ordinarily we won't see && and || expressions in control flow analysis because the Binder breaks those // expressions down to individual conditional control flows. However, we may encounter them when analyzing // aliased conditional expressions. - case 55 /* AmpersandAmpersandToken */: + case 55 /* SyntaxKind.AmpersandAmpersandToken */: return assumeTrue ? narrowType(narrowType(type, expr.left, /*assumeTrue*/ true), expr.right, /*assumeTrue*/ true) : getUnionType([narrowType(type, expr.left, /*assumeTrue*/ false), narrowType(type, expr.right, /*assumeTrue*/ false)]); - case 56 /* BarBarToken */: + case 56 /* SyntaxKind.BarBarToken */: return assumeTrue ? getUnionType([narrowType(type, expr.left, /*assumeTrue*/ true), narrowType(type, expr.right, /*assumeTrue*/ true)]) : narrowType(narrowType(type, expr.left, /*assumeTrue*/ false), expr.right, /*assumeTrue*/ false); @@ -70675,48 +70934,48 @@ var ts; // When operator is !== and type of value is undefined, null and undefined is removed from type of obj in true branch. // When operator is == and type of value is null or undefined, null and undefined is removed from type of obj in false branch. // When operator is != and type of value is null or undefined, null and undefined is removed from type of obj in true branch. - var equalsOperator = operator === 34 /* EqualsEqualsToken */ || operator === 36 /* EqualsEqualsEqualsToken */; - var nullableFlags = operator === 34 /* EqualsEqualsToken */ || operator === 35 /* ExclamationEqualsToken */ ? 98304 /* Nullable */ : 32768 /* Undefined */; + var equalsOperator = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */; + var nullableFlags = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */ ? 98304 /* TypeFlags.Nullable */ : 32768 /* TypeFlags.Undefined */; var valueType = getTypeOfExpression(value); // Note that we include any and unknown in the exclusion test because their domain includes null and undefined. var removeNullable = equalsOperator !== assumeTrue && everyType(valueType, function (t) { return !!(t.flags & nullableFlags); }) || - equalsOperator === assumeTrue && everyType(valueType, function (t) { return !(t.flags & (3 /* AnyOrUnknown */ | nullableFlags)); }); - return removeNullable ? getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */) : type; + equalsOperator === assumeTrue && everyType(valueType, function (t) { return !(t.flags & (3 /* TypeFlags.AnyOrUnknown */ | nullableFlags)); }); + return removeNullable ? getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */) : type; } function narrowTypeByEquality(type, operator, value, assumeTrue) { - if (type.flags & 1 /* Any */) { + if (type.flags & 1 /* TypeFlags.Any */) { return type; } - if (operator === 35 /* ExclamationEqualsToken */ || operator === 37 /* ExclamationEqualsEqualsToken */) { + if (operator === 35 /* SyntaxKind.ExclamationEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */) { assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (assumeTrue && (type.flags & 2 /* Unknown */) && (operator === 34 /* EqualsEqualsToken */ || operator === 35 /* ExclamationEqualsToken */) && (valueType.flags & 65536 /* Null */)) { + if (assumeTrue && (type.flags & 2 /* TypeFlags.Unknown */) && (operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */) && (valueType.flags & 65536 /* TypeFlags.Null */)) { return getUnionType([nullType, undefinedType]); } - if ((type.flags & 2 /* Unknown */) && assumeTrue && (operator === 36 /* EqualsEqualsEqualsToken */ || operator === 37 /* ExclamationEqualsEqualsToken */)) { - if (valueType.flags & (131068 /* Primitive */ | 67108864 /* NonPrimitive */)) { + if ((type.flags & 2 /* TypeFlags.Unknown */) && assumeTrue && (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) { + if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) { return valueType; } - if (valueType.flags & 524288 /* Object */) { + if (valueType.flags & 524288 /* TypeFlags.Object */) { return nonPrimitiveType; } return type; } - if (valueType.flags & 98304 /* Nullable */) { + if (valueType.flags & 98304 /* TypeFlags.Nullable */) { if (!strictNullChecks) { return type; } - var doubleEquals = operator === 34 /* EqualsEqualsToken */ || operator === 35 /* ExclamationEqualsToken */; + var doubleEquals = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */; var facts = doubleEquals ? - assumeTrue ? 262144 /* EQUndefinedOrNull */ : 2097152 /* NEUndefinedOrNull */ : - valueType.flags & 65536 /* Null */ ? - assumeTrue ? 131072 /* EQNull */ : 1048576 /* NENull */ : - assumeTrue ? 65536 /* EQUndefined */ : 524288 /* NEUndefined */; - return type.flags & 2 /* Unknown */ && facts & (1048576 /* NENull */ | 2097152 /* NEUndefinedOrNull */) ? nonNullUnknownType : getTypeWithFacts(type, facts); + assumeTrue ? 262144 /* TypeFacts.EQUndefinedOrNull */ : 2097152 /* TypeFacts.NEUndefinedOrNull */ : + valueType.flags & 65536 /* TypeFlags.Null */ ? + assumeTrue ? 131072 /* TypeFacts.EQNull */ : 1048576 /* TypeFacts.NENull */ : + assumeTrue ? 65536 /* TypeFacts.EQUndefined */ : 524288 /* TypeFacts.NEUndefined */; + return type.flags & 2 /* TypeFlags.Unknown */ && facts & (1048576 /* TypeFacts.NENull */ | 2097152 /* TypeFacts.NEUndefinedOrNull */) ? nonNullUnknownType : getTypeWithFacts(type, facts); } if (assumeTrue) { - var filterFn = operator === 34 /* EqualsEqualsToken */ ? + var filterFn = operator === 34 /* SyntaxKind.EqualsEqualsToken */ ? function (t) { return areTypesComparable(t, valueType) || isCoercibleUnderDoubleEquals(t, valueType); } : function (t) { return areTypesComparable(t, valueType); }; return replacePrimitivesWithLiterals(filterType(type, filterFn), valueType); @@ -70728,34 +70987,34 @@ var ts; } function narrowTypeByTypeof(type, typeOfExpr, operator, literal, assumeTrue) { // We have '==', '!=', '===', or !==' operator with 'typeof xxx' and string literal operands - if (operator === 35 /* ExclamationEqualsToken */ || operator === 37 /* ExclamationEqualsEqualsToken */) { + if (operator === 35 /* SyntaxKind.ExclamationEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */) { assumeTrue = !assumeTrue; } var target = getReferenceCandidate(typeOfExpr.expression); if (!isMatchingReference(reference, target)) { if (strictNullChecks && optionalChainContainsReference(target, reference) && assumeTrue === (literal.text !== "undefined")) { - return getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */); + return getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } return type; } - if (type.flags & 1 /* Any */ && literal.text === "function") { + if (type.flags & 1 /* TypeFlags.Any */ && literal.text === "function") { return type; } - if (assumeTrue && type.flags & 2 /* Unknown */ && literal.text === "object") { + if (assumeTrue && type.flags & 2 /* TypeFlags.Unknown */ && literal.text === "object") { // The non-null unknown type is used to track whether a previous narrowing operation has removed the null type // from the unknown type. For example, the expression `x && typeof x === 'object'` first narrows x to the non-null // unknown type, and then narrows that to the non-primitive type. return type === nonNullUnknownType ? nonPrimitiveType : getUnionType([nonPrimitiveType, nullType]); } var facts = assumeTrue ? - typeofEQFacts.get(literal.text) || 128 /* TypeofEQHostObject */ : - typeofNEFacts.get(literal.text) || 32768 /* TypeofNEHostObject */; + typeofEQFacts.get(literal.text) || 128 /* TypeFacts.TypeofEQHostObject */ : + typeofNEFacts.get(literal.text) || 32768 /* TypeFacts.TypeofNEHostObject */; var impliedType = getImpliedTypeFromTypeofGuard(type, literal.text); return getTypeWithFacts(assumeTrue && impliedType ? mapType(type, narrowUnionMemberByTypeof(impliedType)) : type, facts); } function narrowTypeBySwitchOptionalChainContainment(type, switchStatement, clauseStart, clauseEnd, clauseCheck) { var everyClauseChecks = clauseStart !== clauseEnd && ts.every(getSwitchClauseTypes(switchStatement).slice(clauseStart, clauseEnd), clauseCheck); - return everyClauseChecks ? getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */) : type; + return everyClauseChecks ? getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */) : type; } function narrowTypeBySwitchOnDiscriminant(type, switchStatement, clauseStart, clauseEnd) { // We only narrow if all case expressions specify @@ -70768,16 +71027,16 @@ var ts; } var clauseTypes = switchTypes.slice(clauseStart, clauseEnd); var hasDefaultClause = clauseStart === clauseEnd || ts.contains(clauseTypes, neverType); - if ((type.flags & 2 /* Unknown */) && !hasDefaultClause) { + if ((type.flags & 2 /* TypeFlags.Unknown */) && !hasDefaultClause) { var groundClauseTypes = void 0; for (var i = 0; i < clauseTypes.length; i += 1) { var t = clauseTypes[i]; - if (t.flags & (131068 /* Primitive */ | 67108864 /* NonPrimitive */)) { + if (t.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) { if (groundClauseTypes !== undefined) { groundClauseTypes.push(t); } } - else if (t.flags & 524288 /* Object */) { + else if (t.flags & 524288 /* TypeFlags.Object */) { if (groundClauseTypes === undefined) { groundClauseTypes = clauseTypes.slice(0, i); } @@ -70790,20 +71049,20 @@ var ts; return getUnionType(groundClauseTypes === undefined ? clauseTypes : groundClauseTypes); } var discriminantType = getUnionType(clauseTypes); - var caseType = discriminantType.flags & 131072 /* Never */ ? neverType : + var caseType = discriminantType.flags & 131072 /* TypeFlags.Never */ ? neverType : replacePrimitivesWithLiterals(filterType(type, function (t) { return areTypesComparable(discriminantType, t); }), discriminantType); if (!hasDefaultClause) { return caseType; } var defaultType = filterType(type, function (t) { return !(isUnitLikeType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(extractUnitType(t)))); }); - return caseType.flags & 131072 /* Never */ ? defaultType : getUnionType([caseType, defaultType]); + return caseType.flags & 131072 /* TypeFlags.Never */ ? defaultType : getUnionType([caseType, defaultType]); } function getImpliedTypeFromTypeofGuard(type, text) { switch (text) { case "function": - return type.flags & 1 /* Any */ ? type : globalFunctionType; + return type.flags & 1 /* TypeFlags.Any */ ? type : globalFunctionType; case "object": - return type.flags & 2 /* Unknown */ ? getUnionType([nonPrimitiveType, nullType]) : type; + return type.flags & 2 /* TypeFlags.Unknown */ ? getUnionType([nonPrimitiveType, nullType]) : type; default: return typeofTypesByName.get(text); } @@ -70822,7 +71081,7 @@ var ts; if (isTypeSubtypeOf(candidate, type)) { return candidate; } - if (type.flags & 465829888 /* Instantiable */) { + if (type.flags & 465829888 /* TypeFlags.Instantiable */) { var constraint = getBaseConstraintOfType(type) || anyType; if (isTypeSubtypeOf(candidate, constraint)) { return getIntersectionType([type, candidate]); @@ -70897,7 +71156,7 @@ var ts; } function narrowTypeByConstructor(type, operator, identifier, assumeTrue) { // Do not narrow when checking inequality. - if (assumeTrue ? (operator !== 34 /* EqualsEqualsToken */ && operator !== 36 /* EqualsEqualsEqualsToken */) : (operator !== 35 /* ExclamationEqualsToken */ && operator !== 37 /* ExclamationEqualsEqualsToken */)) { + if (assumeTrue ? (operator !== 34 /* SyntaxKind.EqualsEqualsToken */ && operator !== 36 /* SyntaxKind.EqualsEqualsEqualsToken */) : (operator !== 35 /* SyntaxKind.ExclamationEqualsToken */ && operator !== 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) { return type; } // Get the type of the constructor identifier expression, if it is not a function then do not narrow. @@ -70927,8 +71186,8 @@ var ts; // This is because you may have a class `A` that defines some set of properties, and another class `B` // that defines the same set of properties as class `A`, in that case they are structurally the same // type, but when you do something like `instanceOfA.constructor === B` it will return false. - if (source.flags & 524288 /* Object */ && ts.getObjectFlags(source) & 1 /* Class */ || - target.flags & 524288 /* Object */ && ts.getObjectFlags(target) & 1 /* Class */) { + if (source.flags & 524288 /* TypeFlags.Object */ && ts.getObjectFlags(source) & 1 /* ObjectFlags.Class */ || + target.flags & 524288 /* TypeFlags.Object */ && ts.getObjectFlags(target) & 1 /* ObjectFlags.Class */) { return source.symbol === target.symbol; } // For all other types just check that the `source` type is a subtype of the `target` type. @@ -70939,7 +71198,7 @@ var ts; var left = getReferenceCandidate(expr.left); if (!isMatchingReference(reference, left)) { if (assumeTrue && strictNullChecks && optionalChainContainsReference(left, reference)) { - return getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */); + return getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } return type; } @@ -70962,13 +71221,13 @@ var ts; return type; } if (!targetType) { - var constructSignatures = getSignaturesOfType(rightType, 1 /* Construct */); + var constructSignatures = getSignaturesOfType(rightType, 1 /* SignatureKind.Construct */); targetType = constructSignatures.length ? getUnionType(ts.map(constructSignatures, function (signature) { return getReturnTypeOfSignature(getErasedSignature(signature)); })) : emptyObjectType; } // We can't narrow a union based off instanceof without negated types see #31576 for more info - if (!assumeTrue && rightType.flags & 1048576 /* Union */) { + if (!assumeTrue && rightType.flags & 1048576 /* TypeFlags.Union */) { var nonConstructorTypeInUnion = ts.find(rightType.types, function (t) { return !isConstructorType(t); }); if (!nonConstructorTypeInUnion) return type; @@ -70981,9 +71240,9 @@ var ts; } // If the current type is a union type, remove all constituents that couldn't be instances of // the candidate type. If one or more constituents remain, return a union of those. - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 131072 /* Never */)) { + if (!(assignableType.flags & 131072 /* TypeFlags.Never */)) { return assignableType; } } @@ -71001,7 +71260,7 @@ var ts; if (hasMatchingArgument(callExpression, reference)) { var signature = assumeTrue || !ts.isCallChain(callExpression) ? getEffectsSignature(callExpression) : undefined; var predicate = signature && getTypePredicateOfSignature(signature); - if (predicate && (predicate.kind === 0 /* This */ || predicate.kind === 1 /* Identifier */)) { + if (predicate && (predicate.kind === 0 /* TypePredicateKind.This */ || predicate.kind === 1 /* TypePredicateKind.Identifier */)) { return narrowTypeByTypePredicate(type, predicate, callExpression, assumeTrue); } } @@ -71011,7 +71270,7 @@ var ts; ts.isIdentifier(callAccess.name) && callAccess.name.escapedText === "hasOwnProperty" && callExpression.arguments.length === 1) { var argument = callExpression.arguments[0]; if (ts.isStringLiteralLike(argument) && getAccessedPropertyName(reference) === ts.escapeLeadingUnderscores(argument.text)) { - return getTypeWithFacts(type, assumeTrue ? 524288 /* NEUndefined */ : 65536 /* EQUndefined */); + return getTypeWithFacts(type, assumeTrue ? 524288 /* TypeFacts.NEUndefined */ : 65536 /* TypeFacts.EQUndefined */); } } } @@ -71026,8 +71285,8 @@ var ts; return getNarrowedType(type, predicate.type, assumeTrue, isTypeSubtypeOf); } if (strictNullChecks && assumeTrue && optionalChainContainsReference(predicateArgument, reference) && - !(getTypeFacts(predicate.type) & 65536 /* EQUndefined */)) { - type = getTypeWithFacts(type, 2097152 /* NEUndefinedOrNull */); + !(getTypeFacts(predicate.type) & 65536 /* TypeFacts.EQUndefined */)) { + type = getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } var access = getDiscriminantPropertyAccess(predicateArgument, type); if (access) { @@ -71042,11 +71301,11 @@ var ts; function narrowType(type, expr, assumeTrue) { // for `a?.b`, we emulate a synthetic `a !== null && a !== undefined` condition for `a` if (ts.isExpressionOfOptionalChainRoot(expr) || - ts.isBinaryExpression(expr.parent) && expr.parent.operatorToken.kind === 60 /* QuestionQuestionToken */ && expr.parent.left === expr) { + ts.isBinaryExpression(expr.parent) && expr.parent.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */ && expr.parent.left === expr) { return narrowTypeByOptionality(type, expr, assumeTrue); } switch (expr.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // When narrowing a reference to a const variable, non-assigned parameter, or readonly property, we inline // up to five levels of aliased conditional expressions that are themselves declared as const variables. if (!isMatchingReference(reference, expr) && inlineLevel < 5) { @@ -71062,20 +71321,20 @@ var ts; } } // falls through - case 108 /* ThisKeyword */: - case 106 /* SuperKeyword */: - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 108 /* SyntaxKind.ThisKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return narrowTypeByCallExpression(type, expr, assumeTrue); - case 212 /* ParenthesizedExpression */: - case 230 /* NonNullExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return narrowType(type, expr.expression, assumeTrue); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 219 /* PrefixUnaryExpression */: - if (expr.operator === 53 /* ExclamationToken */) { + case 219 /* SyntaxKind.PrefixUnaryExpression */: + if (expr.operator === 53 /* SyntaxKind.ExclamationToken */) { return narrowType(type, expr.operand, !assumeTrue); } break; @@ -71084,11 +71343,11 @@ var ts; } function narrowTypeByOptionality(type, expr, assumePresent) { if (isMatchingReference(reference, expr)) { - return getTypeWithFacts(type, assumePresent ? 2097152 /* NEUndefinedOrNull */ : 262144 /* EQUndefinedOrNull */); + return getTypeWithFacts(type, assumePresent ? 2097152 /* TypeFacts.NEUndefinedOrNull */ : 262144 /* TypeFacts.EQUndefinedOrNull */); } var access = getDiscriminantPropertyAccess(expr, type); if (access) { - return narrowTypeByDiscriminant(type, access, function (t) { return getTypeWithFacts(t, assumePresent ? 2097152 /* NEUndefinedOrNull */ : 262144 /* EQUndefinedOrNull */); }); + return narrowTypeByDiscriminant(type, access, function (t) { return getTypeWithFacts(t, assumePresent ? 2097152 /* TypeFacts.NEUndefinedOrNull */ : 262144 /* TypeFacts.EQUndefinedOrNull */); }); } return type; } @@ -71099,7 +71358,7 @@ var ts; // an dotted name expression, and if the location is not an assignment target, obtain the type // of the expression (which will reflect control flow analysis). If the expression indeed // resolved to the given symbol, return the narrowed type. - if (location.kind === 79 /* Identifier */ || location.kind === 80 /* PrivateIdentifier */) { + if (location.kind === 79 /* SyntaxKind.Identifier */ || location.kind === 80 /* SyntaxKind.PrivateIdentifier */) { if (ts.isRightSideOfQualifiedNameOrPropertyAccess(location)) { location = location.parent; } @@ -71123,9 +71382,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 262 /* ModuleBlock */ || - node.kind === 305 /* SourceFile */ || - node.kind === 167 /* PropertyDeclaration */; + node.kind === 262 /* SyntaxKind.ModuleBlock */ || + node.kind === 305 /* SyntaxKind.SourceFile */ || + node.kind === 167 /* SyntaxKind.PropertyDeclaration */; }); } // Check if a parameter or catch variable is assigned anywhere @@ -71135,8 +71394,8 @@ var ts; } var parent = ts.getRootDeclaration(symbol.valueDeclaration).parent; var links = getNodeLinks(parent); - if (!(links.flags & 8388608 /* AssignmentsMarked */)) { - links.flags |= 8388608 /* AssignmentsMarked */; + if (!(links.flags & 8388608 /* NodeCheckFlags.AssignmentsMarked */)) { + links.flags |= 8388608 /* NodeCheckFlags.AssignmentsMarked */; if (!hasParentWithAssignmentsMarked(parent)) { markNodeAssignments(parent); } @@ -71145,11 +71404,11 @@ var ts; } function hasParentWithAssignmentsMarked(node) { return !!ts.findAncestor(node.parent, function (node) { - return (ts.isFunctionLike(node) || ts.isCatchClause(node)) && !!(getNodeLinks(node).flags & 8388608 /* AssignmentsMarked */); + return (ts.isFunctionLike(node) || ts.isCatchClause(node)) && !!(getNodeLinks(node).flags & 8388608 /* NodeCheckFlags.AssignmentsMarked */); }); } function markNodeAssignments(node) { - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { if (ts.isAssignmentTarget(node)) { var symbol = getResolvedSymbol(node); if (ts.isParameterOrCatchClauseVariable(symbol)) { @@ -71162,18 +71421,18 @@ var ts; } } function isConstVariable(symbol) { - return symbol.flags & 3 /* Variable */ && (getDeclarationNodeFlagsFromSymbol(symbol) & 2 /* Const */) !== 0; + return symbol.flags & 3 /* SymbolFlags.Variable */ && (getDeclarationNodeFlagsFromSymbol(symbol) & 2 /* NodeFlags.Const */) !== 0; } /** remove undefined from the annotated type of a parameter when there is an initializer (that doesn't include undefined) */ function removeOptionalityFromDeclaredType(declaredType, declaration) { - if (pushTypeResolution(declaration.symbol, 2 /* DeclaredType */)) { + if (pushTypeResolution(declaration.symbol, 2 /* TypeSystemPropertyName.DeclaredType */)) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 164 /* Parameter */ && + declaration.kind === 164 /* SyntaxKind.Parameter */ && declaration.initializer && - getFalsyFlags(declaredType) & 32768 /* Undefined */ && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 32768 /* Undefined */); + getFalsyFlags(declaredType) & 32768 /* TypeFlags.Undefined */ && + !(getFalsyFlags(checkExpression(declaration.initializer)) & 32768 /* TypeFlags.Undefined */); popTypeResolution(); - return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 524288 /* NEUndefined */) : declaredType; + return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 524288 /* TypeFacts.NEUndefined */) : declaredType; } else { reportCircularityError(declaration.symbol); @@ -71185,17 +71444,17 @@ var ts; // In an element access obj[x], we consider obj to be in a constraint position, except when obj is of // a generic type without a nullable constraint and x is a generic type. This is because when both obj // and x are of generic types T and K, we want the resulting type to be T[K]. - return parent.kind === 206 /* PropertyAccessExpression */ || - parent.kind === 161 /* QualifiedName */ || - parent.kind === 208 /* CallExpression */ && parent.expression === node || - parent.kind === 207 /* ElementAccessExpression */ && parent.expression === node && + return parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || + parent.kind === 161 /* SyntaxKind.QualifiedName */ || + parent.kind === 208 /* SyntaxKind.CallExpression */ && parent.expression === node || + parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && parent.expression === node && !(someType(type, isGenericTypeWithoutNullableConstraint) && isGenericIndexType(getTypeOfExpression(parent.argumentExpression))); } function isGenericTypeWithUnionConstraint(type) { - return !!(type.flags & 465829888 /* Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* Nullable */ | 1048576 /* Union */)); + return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* TypeFlags.Nullable */ | 1048576 /* TypeFlags.Union */)); } function isGenericTypeWithoutNullableConstraint(type) { - return !!(type.flags & 465829888 /* Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* Nullable */)); + return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */)); } function hasContextualTypeWithNoGenericTypes(node, checkMode) { // Computing the contextual type for a child of a JSX element involves resolving the type of the @@ -71204,8 +71463,8 @@ var ts; // as we want the type of a rest element to be generic when possible. var contextualType = (ts.isIdentifier(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) && !((ts.isJsxOpeningElement(node.parent) || ts.isJsxSelfClosingElement(node.parent)) && node.parent.tagName === node) && - (checkMode && checkMode & 64 /* RestBindingElement */ ? - getContextualType(node, 8 /* SkipBindingPatterns */) + (checkMode && checkMode & 64 /* CheckMode.RestBindingElement */ ? + getContextualType(node, 8 /* ContextFlags.SkipBindingPatterns */) : getContextualType(node)); return contextualType && !isGenericType(contextualType); } @@ -71217,10 +71476,10 @@ var ts; // control flow analysis an opportunity to narrow it further. For example, for a reference of a type // parameter type 'T extends string | undefined' with a contextual type 'string', we substitute // 'string | undefined' to give control flow analysis the opportunity to narrow to type 'string'. - var substituteConstraints = !(checkMode && checkMode & 2 /* Inferential */) && + var substituteConstraints = !(checkMode && checkMode & 2 /* CheckMode.Inferential */) && someType(type, isGenericTypeWithUnionConstraint) && (isConstraintPosition(type, reference) || hasContextualTypeWithNoGenericTypes(reference, checkMode)); - return substituteConstraints ? mapType(type, function (t) { return t.flags & 465829888 /* Instantiable */ ? getBaseConstraintOrType(t) : t; }) : type; + return substituteConstraints ? mapType(type, function (t) { return t.flags & 465829888 /* TypeFlags.Instantiable */ ? getBaseConstraintOrType(t) : t; }) : type; } function isExportOrExportExpression(location) { return !!ts.findAncestor(location, function (n) { @@ -71238,9 +71497,9 @@ var ts; }); } function markAliasReferenced(symbol, location) { - if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* Value */) && !isInTypeQuery(location) && !getTypeOnlyAliasDeclaration(symbol)) { + if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* SymbolFlags.Value */) && !isInTypeQuery(location) && !getTypeOnlyAliasDeclaration(symbol)) { var target = resolveAlias(symbol); - if (target.flags & 111551 /* Value */) { + if (target.flags & 111551 /* SymbolFlags.Value */) { // An alias resolving to a const enum cannot be elided if (1) 'isolatedModules' is enabled // (because the const enum value will not be inlined), or if (2) the alias is an export // of a const enum declaration that will be preserved. @@ -71283,16 +71542,16 @@ var ts; // destructuring from the narrowed parent type. if (ts.isBindingElement(declaration) && !declaration.initializer && !declaration.dotDotDotToken && declaration.parent.elements.length >= 2) { var parent = declaration.parent.parent; - if (parent.kind === 254 /* VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || parent.kind === 164 /* Parameter */) { - var links = getNodeLinks(location); - if (!(links.flags & 268435456 /* InCheckIdentifier */)) { - links.flags |= 268435456 /* InCheckIdentifier */; - var parentType = getTypeForBindingElementParent(parent, 0 /* Normal */); - links.flags &= ~268435456 /* InCheckIdentifier */; - if (parentType && parentType.flags & 1048576 /* Union */ && !(parent.kind === 164 /* Parameter */ && isSymbolAssigned(symbol))) { + if (parent.kind === 254 /* SyntaxKind.VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* NodeFlags.Const */ || parent.kind === 164 /* SyntaxKind.Parameter */) { + var links = getNodeLinks(parent); + if (!(links.flags & 268435456 /* NodeCheckFlags.InCheckIdentifier */)) { + links.flags |= 268435456 /* NodeCheckFlags.InCheckIdentifier */; + var parentType = getTypeForBindingElementParent(parent, 0 /* CheckMode.Normal */); + links.flags &= ~268435456 /* NodeCheckFlags.InCheckIdentifier */; + if (parentType && parentType.flags & 1048576 /* TypeFlags.Union */ && !(parent.kind === 164 /* SyntaxKind.Parameter */ && isSymbolAssigned(symbol))) { var pattern = declaration.parent; var narrowedType = getFlowTypeOfReference(pattern, parentType, parentType, /*flowContainer*/ undefined, location.flowNode); - if (narrowedType.flags & 131072 /* Never */) { + if (narrowedType.flags & 131072 /* TypeFlags.Never */) { return neverType; } return getBindingElementTypeFromParentType(declaration, narrowedType); @@ -71326,7 +71585,7 @@ var ts; var contextualSignature = getContextualSignature(func); if (contextualSignature && contextualSignature.parameters.length === 1 && signatureHasRestParameter(contextualSignature)) { var restType = getReducedApparentType(getTypeOfSymbol(contextualSignature.parameters[0])); - if (restType.flags & 1048576 /* Union */ && everyType(restType, isTupleType) && !isSymbolAssigned(symbol)) { + if (restType.flags & 1048576 /* TypeFlags.Union */ && everyType(restType, isTupleType) && !isSymbolAssigned(symbol)) { var narrowedType = getFlowTypeOfReference(func, restType, restType, /*flowContainer*/ undefined, location.flowNode); var index = func.parameters.indexOf(declaration) - (ts.getThisParameter(func) ? 1 : 0); return getIndexedAccessType(narrowedType, getNumberLiteralType(index)); @@ -71357,15 +71616,15 @@ var ts; return errorType; } var container = ts.getContainingFunction(node); - if (languageVersion < 2 /* ES2015 */) { - if (container.kind === 214 /* ArrowFunction */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { + if (container.kind === 214 /* SyntaxKind.ArrowFunction */) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } - else if (ts.hasSyntacticModifier(container, 256 /* Async */)) { + else if (ts.hasSyntacticModifier(container, 256 /* ModifierFlags.Async */)) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method); } } - getNodeLinks(container).flags |= 8192 /* CaptureArguments */; + getNodeLinks(container).flags |= 8192 /* NodeCheckFlags.CaptureArguments */; return getTypeOfSymbol(symbol); } // We should only mark aliases as referenced if there isn't a local value declaration @@ -71379,32 +71638,32 @@ var ts; addDeprecatedSuggestion(node, targetSymbol.declarations, node.escapedText); } var declaration = localOrExportSymbol.valueDeclaration; - if (declaration && localOrExportSymbol.flags & 32 /* Class */) { + if (declaration && localOrExportSymbol.flags & 32 /* SymbolFlags.Class */) { // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. - if (declaration.kind === 257 /* ClassDeclaration */ + if (declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { if (container === declaration && container.name !== node) { - getNodeLinks(declaration).flags |= 16777216 /* ClassWithConstructorReference */; - getNodeLinks(node).flags |= 33554432 /* ConstructorReferenceInClass */; + getNodeLinks(declaration).flags |= 16777216 /* NodeCheckFlags.ClassWithConstructorReference */; + getNodeLinks(node).flags |= 33554432 /* NodeCheckFlags.ConstructorReferenceInClass */; break; } container = ts.getContainingClass(container); } } - else if (declaration.kind === 226 /* ClassExpression */) { + else if (declaration.kind === 226 /* SyntaxKind.ClassExpression */) { // When we emit a class expression with static members that contain a reference // to the constructor in the initializer, we will need to substitute that // binding with an alias as the class name is not in scope. var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - while (container.kind !== 305 /* SourceFile */) { + while (container.kind !== 305 /* SyntaxKind.SourceFile */) { if (container.parent === declaration) { if (ts.isPropertyDeclaration(container) && ts.isStatic(container) || ts.isClassStaticBlockDeclaration(container)) { - getNodeLinks(declaration).flags |= 16777216 /* ClassWithConstructorReference */; - getNodeLinks(node).flags |= 33554432 /* ConstructorReferenceInClass */; + getNodeLinks(declaration).flags |= 16777216 /* NodeCheckFlags.ClassWithConstructorReference */; + getNodeLinks(node).flags |= 33554432 /* NodeCheckFlags.ConstructorReferenceInClass */; } break; } @@ -71416,19 +71675,19 @@ var ts; var type = getNarrowedTypeOfSymbol(localOrExportSymbol, node); var assignmentKind = ts.getAssignmentTargetKind(node); if (assignmentKind) { - if (!(localOrExportSymbol.flags & 3 /* Variable */) && - !(ts.isInJSFile(node) && localOrExportSymbol.flags & 512 /* ValueModule */)) { - var assignmentError = localOrExportSymbol.flags & 384 /* Enum */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_an_enum - : localOrExportSymbol.flags & 32 /* Class */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_class - : localOrExportSymbol.flags & 1536 /* Module */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_namespace - : localOrExportSymbol.flags & 16 /* Function */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_function - : localOrExportSymbol.flags & 2097152 /* Alias */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_an_import + if (!(localOrExportSymbol.flags & 3 /* SymbolFlags.Variable */) && + !(ts.isInJSFile(node) && localOrExportSymbol.flags & 512 /* SymbolFlags.ValueModule */)) { + var assignmentError = localOrExportSymbol.flags & 384 /* SymbolFlags.Enum */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_an_enum + : localOrExportSymbol.flags & 32 /* SymbolFlags.Class */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_class + : localOrExportSymbol.flags & 1536 /* SymbolFlags.Module */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_namespace + : localOrExportSymbol.flags & 16 /* SymbolFlags.Function */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_function + : localOrExportSymbol.flags & 2097152 /* SymbolFlags.Alias */ ? ts.Diagnostics.Cannot_assign_to_0_because_it_is_an_import : ts.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable; error(node, assignmentError, symbolToString(symbol)); return errorType; } if (isReadonlySymbol(localOrExportSymbol)) { - if (localOrExportSymbol.flags & 3 /* Variable */) { + if (localOrExportSymbol.flags & 3 /* SymbolFlags.Variable */) { error(node, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant, symbolToString(symbol)); } else { @@ -71437,11 +71696,11 @@ var ts; return errorType; } } - var isAlias = localOrExportSymbol.flags & 2097152 /* Alias */; + var isAlias = localOrExportSymbol.flags & 2097152 /* SymbolFlags.Alias */; // We only narrow variables and parameters occurring in a non-assignment position. For all other // entities we simply return the declared type. - if (localOrExportSymbol.flags & 3 /* Variable */) { - if (assignmentKind === 1 /* Definite */) { + if (localOrExportSymbol.flags & 3 /* SymbolFlags.Variable */) { + if (assignmentKind === 1 /* AssignmentKind.Definite */) { return type; } } @@ -71458,17 +71717,17 @@ var ts; // The declaration container is the innermost function that encloses the declaration of the variable // or parameter. The flow container is the innermost function starting with which we analyze the control // flow graph to determine the control flow based type. - var isParameter = ts.getRootDeclaration(declaration).kind === 164 /* Parameter */; + var isParameter = ts.getRootDeclaration(declaration).kind === 164 /* SyntaxKind.Parameter */; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; var isSpreadDestructuringAssignmentTarget = node.parent && node.parent.parent && ts.isSpreadAssignment(node.parent) && isDestructuringAssignmentTarget(node.parent.parent); - var isModuleExports = symbol.flags & 134217728 /* ModuleExports */; + var isModuleExports = symbol.flags & 134217728 /* SymbolFlags.ModuleExports */; // When the control flow originates in a function expression or arrow function and we are referencing // a const variable or parameter from an outer function, we extend the origin of the control flow // analysis to include the immediately enclosing function. - while (flowContainer !== declarationContainer && (flowContainer.kind === 213 /* FunctionExpression */ || - flowContainer.kind === 214 /* ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 213 /* SyntaxKind.FunctionExpression */ || + flowContainer.kind === 214 /* SyntaxKind.ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) && (isConstVariable(localOrExportSymbol) && type !== autoArrayType || isParameter && !isSymbolAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } @@ -71476,11 +71735,11 @@ var ts; // the entire control flow graph from the variable's declaration (i.e. when the flow container and // declaration container are the same). var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || ts.isBindingElement(declaration) || - type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & (3 /* AnyOrUnknown */ | 16384 /* Void */)) !== 0 || - isInTypeQuery(node) || node.parent.kind === 275 /* ExportSpecifier */) || - node.parent.kind === 230 /* NonNullExpression */ || - declaration.kind === 254 /* VariableDeclaration */ && declaration.exclamationToken || - declaration.flags & 16777216 /* Ambient */; + type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & (3 /* TypeFlags.AnyOrUnknown */ | 16384 /* TypeFlags.Void */)) !== 0 || + isInTypeQuery(node) || node.parent.kind === 275 /* SyntaxKind.ExportSpecifier */) || + node.parent.kind === 230 /* SyntaxKind.NonNullExpression */ || + declaration.kind === 254 /* SyntaxKind.VariableDeclaration */ && declaration.exclamationToken || + declaration.flags & 16777216 /* NodeFlags.Ambient */; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : getOptionalType(type); @@ -71497,7 +71756,7 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 32768 /* Undefined */) && getFalsyFlags(flowType) & 32768 /* Undefined */) { + else if (!assumeInitialized && !(getFalsyFlags(type) & 32768 /* TypeFlags.Undefined */) && getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); // Return the declared type to reduce follow-on errors return type; @@ -71514,11 +71773,11 @@ var ts; return ts.findAncestor(node, function (n) { return (!n || ts.nodeStartsNewLexicalEnvironment(n)) ? "quit" : ts.isIterationStatement(n, /*lookInLabeledStatements*/ false); }); } function checkNestedBlockScopedBinding(node, symbol) { - if (languageVersion >= 2 /* ES2015 */ || - (symbol.flags & (2 /* BlockScopedVariable */ | 32 /* Class */)) === 0 || + if (languageVersion >= 2 /* ScriptTarget.ES2015 */ || + (symbol.flags & (2 /* SymbolFlags.BlockScopedVariable */ | 32 /* SymbolFlags.Class */)) === 0 || !symbol.valueDeclaration || ts.isSourceFile(symbol.valueDeclaration) || - symbol.valueDeclaration.parent.kind === 292 /* CatchClause */) { + symbol.valueDeclaration.parent.kind === 292 /* SyntaxKind.CatchClause */) { return; } // 1. walk from the use site up to the declaration and check @@ -71533,12 +71792,12 @@ var ts; // mark iteration statement as containing block-scoped binding captured in some function var capturesBlockScopeBindingInLoopBody = true; if (ts.isForStatement(container)) { - var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* VariableDeclarationList */); + var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* SyntaxKind.VariableDeclarationList */); if (varDeclList && varDeclList.parent === container) { var part = getPartOfForStatementContainingNode(node.parent, container); if (part) { var links = getNodeLinks(part); - links.flags |= 131072 /* ContainsCapturedBlockScopeBinding */; + links.flags |= 131072 /* NodeCheckFlags.ContainsCapturedBlockScopeBinding */; var capturedBindings = links.capturedBlockScopeBindings || (links.capturedBlockScopeBindings = []); ts.pushIfUnique(capturedBindings, symbol); if (part === container.initializer) { @@ -71548,22 +71807,22 @@ var ts; } } if (capturesBlockScopeBindingInLoopBody) { - getNodeLinks(enclosingIterationStatement).flags |= 65536 /* LoopWithCapturedBlockScopedBinding */; + getNodeLinks(enclosingIterationStatement).flags |= 65536 /* NodeCheckFlags.LoopWithCapturedBlockScopedBinding */; } } // mark variables that are declared in loop initializer and reassigned inside the body of ForStatement. // if body of ForStatement will be converted to function then we'll need a extra machinery to propagate reassigned values back. if (ts.isForStatement(container)) { - var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* VariableDeclarationList */); + var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* SyntaxKind.VariableDeclarationList */); if (varDeclList && varDeclList.parent === container && isAssignedInBodyOfForStatement(node, container)) { - getNodeLinks(symbol.valueDeclaration).flags |= 4194304 /* NeedsLoopOutParameter */; + getNodeLinks(symbol.valueDeclaration).flags |= 4194304 /* NodeCheckFlags.NeedsLoopOutParameter */; } } // set 'declared inside loop' bit on the block-scoped binding - getNodeLinks(symbol.valueDeclaration).flags |= 524288 /* BlockScopedBindingInLoop */; + getNodeLinks(symbol.valueDeclaration).flags |= 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; } if (isCaptured) { - getNodeLinks(symbol.valueDeclaration).flags |= 262144 /* CapturedBlockScopedBinding */; + getNodeLinks(symbol.valueDeclaration).flags |= 262144 /* NodeCheckFlags.CapturedBlockScopedBinding */; } } function isBindingCapturedByNode(node, decl) { @@ -71573,7 +71832,7 @@ var ts; function isAssignedInBodyOfForStatement(node, container) { // skip parenthesized nodes var current = node; - while (current.parent.kind === 212 /* ParenthesizedExpression */) { + while (current.parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { current = current.parent; } // check if node is used as LHS in some assignment expression @@ -71581,9 +71840,9 @@ var ts; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 219 /* PrefixUnaryExpression */ || current.parent.kind === 220 /* PostfixUnaryExpression */)) { + else if ((current.parent.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ || current.parent.kind === 220 /* SyntaxKind.PostfixUnaryExpression */)) { var expr = current.parent; - isAssigned = expr.operator === 45 /* PlusPlusToken */ || expr.operator === 46 /* MinusMinusToken */; + isAssigned = expr.operator === 45 /* SyntaxKind.PlusPlusToken */ || expr.operator === 46 /* SyntaxKind.MinusMinusToken */; } if (!isAssigned) { return false; @@ -71593,13 +71852,13 @@ var ts; return !!ts.findAncestor(current, function (n) { return n === container ? "quit" : n === container.statement; }); } function captureLexicalThis(node, container) { - getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 167 /* PropertyDeclaration */ || container.kind === 171 /* Constructor */) { + getNodeLinks(node).flags |= 2 /* NodeCheckFlags.LexicalThis */; + if (container.kind === 167 /* SyntaxKind.PropertyDeclaration */ || container.kind === 171 /* SyntaxKind.Constructor */) { var classNode = container.parent; - getNodeLinks(classNode).flags |= 4 /* CaptureThis */; + getNodeLinks(classNode).flags |= 4 /* NodeCheckFlags.CaptureThis */; } else { - getNodeLinks(container).flags |= 4 /* CaptureThis */; + getNodeLinks(container).flags |= 4 /* NodeCheckFlags.CaptureThis */; } } function findFirstSuperCall(node) { @@ -71641,36 +71900,36 @@ var ts; // tell whether 'this' needs to be captured. var container = ts.getThisContainer(node, /* includeArrowFunctions */ true); var capturedByArrowFunction = false; - if (container.kind === 171 /* Constructor */) { + if (container.kind === 171 /* SyntaxKind.Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } // Now skip arrow functions to get the "real" owner of 'this'. - if (container.kind === 214 /* ArrowFunction */) { + if (container.kind === 214 /* SyntaxKind.ArrowFunction */) { container = ts.getThisContainer(container, /* includeArrowFunctions */ false); capturedByArrowFunction = true; } checkThisInStaticClassFieldInitializerInDecoratedClass(node, container); switch (container.kind) { - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } // When targeting es6, mark that we'll need to capture `this` in its lexically bound scope. - if (!isNodeInTypeQuery && capturedByArrowFunction && languageVersion < 2 /* ES2015 */) { + if (!isNodeInTypeQuery && capturedByArrowFunction && languageVersion < 2 /* ScriptTarget.ES2015 */) { captureLexicalThis(node, container); } var type = tryGetThisTypeAt(node, /*includeGlobalThis*/ true, container); @@ -71705,7 +71964,7 @@ var ts; var className = getClassNameFromPrototypeMethod(container); if (isInJS && className) { var classSymbol = checkExpression(className).symbol; - if (classSymbol && classSymbol.members && (classSymbol.flags & 16 /* Function */)) { + if (classSymbol && classSymbol.members && (classSymbol.flags & 16 /* SymbolFlags.Function */)) { thisType = getDeclaredTypeOfSymbol(classSymbol).thisType; } } @@ -71753,9 +72012,9 @@ var ts; } function getClassNameFromPrototypeMethod(container) { // Check if it's the RHS of a x.prototype.y = function [name]() { .... } - if (container.kind === 213 /* FunctionExpression */ && + if (container.kind === 213 /* SyntaxKind.FunctionExpression */ && ts.isBinaryExpression(container.parent) && - ts.getAssignmentDeclarationKind(container.parent) === 3 /* PrototypeProperty */) { + ts.getAssignmentDeclarationKind(container.parent) === 3 /* AssignmentDeclarationKind.PrototypeProperty */) { // Get the 'x' of 'x.prototype.y = container' return container.parent // x.prototype.y = container .left // x.prototype.y @@ -71763,31 +72022,31 @@ var ts; .expression; // x } // x.prototype = { method() { } } - else if (container.kind === 169 /* MethodDeclaration */ && - container.parent.kind === 205 /* ObjectLiteralExpression */ && + else if (container.kind === 169 /* SyntaxKind.MethodDeclaration */ && + container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && ts.isBinaryExpression(container.parent.parent) && - ts.getAssignmentDeclarationKind(container.parent.parent) === 6 /* Prototype */) { + ts.getAssignmentDeclarationKind(container.parent.parent) === 6 /* AssignmentDeclarationKind.Prototype */) { return container.parent.parent.left.expression; } // x.prototype = { method: function() { } } - else if (container.kind === 213 /* FunctionExpression */ && - container.parent.kind === 296 /* PropertyAssignment */ && - container.parent.parent.kind === 205 /* ObjectLiteralExpression */ && + else if (container.kind === 213 /* SyntaxKind.FunctionExpression */ && + container.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ && + container.parent.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && ts.isBinaryExpression(container.parent.parent.parent) && - ts.getAssignmentDeclarationKind(container.parent.parent.parent) === 6 /* Prototype */) { + ts.getAssignmentDeclarationKind(container.parent.parent.parent) === 6 /* AssignmentDeclarationKind.Prototype */) { return container.parent.parent.parent.left.expression; } // Object.defineProperty(x, "method", { value: function() { } }); // Object.defineProperty(x, "method", { set: (x: () => void) => void }); // Object.defineProperty(x, "method", { get: () => function() { }) }); - else if (container.kind === 213 /* FunctionExpression */ && + else if (container.kind === 213 /* SyntaxKind.FunctionExpression */ && ts.isPropertyAssignment(container.parent) && ts.isIdentifier(container.parent.name) && (container.parent.name.escapedText === "value" || container.parent.name.escapedText === "get" || container.parent.name.escapedText === "set") && ts.isObjectLiteralExpression(container.parent.parent) && ts.isCallExpression(container.parent.parent.parent) && container.parent.parent.parent.arguments[2] === container.parent.parent && - ts.getAssignmentDeclarationKind(container.parent.parent.parent) === 9 /* ObjectDefinePrototypeProperty */) { + ts.getAssignmentDeclarationKind(container.parent.parent.parent) === 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */) { return container.parent.parent.parent.arguments[0].expression; } // Object.defineProperty(x, "method", { value() { } }); @@ -71799,17 +72058,17 @@ var ts; ts.isObjectLiteralExpression(container.parent) && ts.isCallExpression(container.parent.parent) && container.parent.parent.arguments[2] === container.parent && - ts.getAssignmentDeclarationKind(container.parent.parent) === 9 /* ObjectDefinePrototypeProperty */) { + ts.getAssignmentDeclarationKind(container.parent.parent) === 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */) { return container.parent.parent.arguments[0].expression; } } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 317 /* JSDocFunctionType */) { + if (jsdocType && jsdocType.kind === 317 /* SyntaxKind.JSDocFunctionType */) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && - jsDocFunctionType.parameters[0].name.escapedText === "this" /* This */) { + jsDocFunctionType.parameters[0].name.escapedText === "this" /* InternalSymbolName.This */) { return getTypeFromTypeNode(jsDocFunctionType.parameters[0].type); } } @@ -71819,18 +72078,18 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return ts.isFunctionLikeDeclaration(n) ? "quit" : n.kind === 164 /* Parameter */ && n.parent === constructorDecl; }); + return !!ts.findAncestor(node, function (n) { return ts.isFunctionLikeDeclaration(n) ? "quit" : n.kind === 164 /* SyntaxKind.Parameter */ && n.parent === constructorDecl; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 208 /* CallExpression */ && node.parent.expression === node; + var isCallExpression = node.parent.kind === 208 /* SyntaxKind.CallExpression */ && node.parent.expression === node; var immediateContainer = ts.getSuperContainer(node, /*stopOnFunctions*/ true); var container = immediateContainer; var needToCaptureLexicalThis = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { - while (container && container.kind === 214 /* ArrowFunction */) { + while (container && container.kind === 214 /* SyntaxKind.ArrowFunction */) { container = ts.getSuperContainer(container, /*stopOnFunctions*/ true); - needToCaptureLexicalThis = languageVersion < 2 /* ES2015 */; + needToCaptureLexicalThis = languageVersion < 2 /* ScriptTarget.ES2015 */; } } var canUseSuperExpression = isLegalUsageOfSuperExpression(container); @@ -71841,14 +72100,14 @@ var ts; // class B { // [super.foo()]() {} // } - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 162 /* ComputedPropertyName */; }); - if (current && current.kind === 162 /* ComputedPropertyName */) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 162 /* SyntaxKind.ComputedPropertyName */; }); + if (current && current.kind === 162 /* SyntaxKind.ComputedPropertyName */) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 205 /* ObjectLiteralExpression */)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { @@ -71856,26 +72115,26 @@ var ts; } return errorType; } - if (!isCallExpression && immediateContainer.kind === 171 /* Constructor */) { + if (!isCallExpression && immediateContainer.kind === 171 /* SyntaxKind.Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.isStatic(container) || isCallExpression) { - nodeCheckFlag = 512 /* SuperStatic */; + nodeCheckFlag = 512 /* NodeCheckFlags.SuperStatic */; if (!isCallExpression && - languageVersion >= 2 /* ES2015 */ && languageVersion <= 8 /* ES2021 */ && + languageVersion >= 2 /* ScriptTarget.ES2015 */ && languageVersion <= 8 /* ScriptTarget.ES2021 */ && (ts.isPropertyDeclaration(container) || ts.isClassStaticBlockDeclaration(container))) { // for `super.x` or `super[x]` in a static initializer, mark all enclosing // block scope containers so that we can report potential collisions with // `Reflect`. ts.forEachEnclosingBlockScopeContainer(node.parent, function (current) { if (!ts.isSourceFile(current) || ts.isExternalOrCommonJsModule(current)) { - getNodeLinks(current).flags |= 134217728 /* ContainsSuperPropertyInStaticInitializer */; + getNodeLinks(current).flags |= 134217728 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */; } }); } } else { - nodeCheckFlag = 256 /* SuperInstance */; + nodeCheckFlag = 256 /* NodeCheckFlags.SuperInstance */; } getNodeLinks(node).flags |= nodeCheckFlag; // Due to how we emit async functions, we need to specialize the emit for an async method that contains a `super` reference. @@ -71937,12 +72196,12 @@ var ts; // as a call expression cannot be used as the target of a destructuring assignment while a property access can. // // For element access expressions (`super[x]`), we emit a generic helper that forwards the element access in both situations. - if (container.kind === 169 /* MethodDeclaration */ && ts.hasSyntacticModifier(container, 256 /* Async */)) { + if (container.kind === 169 /* SyntaxKind.MethodDeclaration */ && ts.hasSyntacticModifier(container, 256 /* ModifierFlags.Async */)) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { - getNodeLinks(container).flags |= 4096 /* AsyncMethodWithSuperBinding */; + getNodeLinks(container).flags |= 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */; } else { - getNodeLinks(container).flags |= 2048 /* AsyncMethodWithSuper */; + getNodeLinks(container).flags |= 2048 /* NodeCheckFlags.AsyncMethodWithSuper */; } } if (needToCaptureLexicalThis) { @@ -71951,8 +72210,8 @@ var ts; // in this case they should also use correct lexical this captureLexicalThis(node.parent, container); } - if (container.parent.kind === 205 /* ObjectLiteralExpression */) { - if (languageVersion < 2 /* ES2015 */) { + if (container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); return errorType; } @@ -71972,12 +72231,12 @@ var ts; if (!baseClassType) { return errorType; } - if (container.kind === 171 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 171 /* SyntaxKind.Constructor */ && isInConstructorArgumentInitializer(node, container)) { // issue custom error message for super property access in constructor arguments (to be aligned with old compiler) error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); return errorType; } - return nodeCheckFlag === 512 /* SuperStatic */ + return nodeCheckFlag === 512 /* NodeCheckFlags.SuperStatic */ ? getBaseConstructorTypeOfClass(classType) : getTypeWithThisArgument(baseClassType, classType.thisType); function isLegalUsageOfSuperExpression(container) { @@ -71987,7 +72246,7 @@ var ts; if (isCallExpression) { // TS 1.0 SPEC (April 2014): 4.8.1 // Super calls are only permitted in constructors of derived classes - return container.kind === 171 /* Constructor */; + return container.kind === 171 /* SyntaxKind.Constructor */; } else { // TS 1.0 SPEC (April 2014) @@ -71995,23 +72254,23 @@ var ts; // - In a constructor, instance member function, instance member accessor, or instance member variable initializer where this references a derived class instance // - In a static member function or static member accessor // topmost container must be something that is directly nested in the class declaration\object literal expression - if (ts.isClassLike(container.parent) || container.parent.kind === 205 /* ObjectLiteralExpression */) { + if (ts.isClassLike(container.parent) || container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { if (ts.isStatic(container)) { - return container.kind === 169 /* MethodDeclaration */ || - container.kind === 168 /* MethodSignature */ || - container.kind === 172 /* GetAccessor */ || - container.kind === 173 /* SetAccessor */ || - container.kind === 167 /* PropertyDeclaration */ || - container.kind === 170 /* ClassStaticBlockDeclaration */; + return container.kind === 169 /* SyntaxKind.MethodDeclaration */ || + container.kind === 168 /* SyntaxKind.MethodSignature */ || + container.kind === 172 /* SyntaxKind.GetAccessor */ || + container.kind === 173 /* SyntaxKind.SetAccessor */ || + container.kind === 167 /* SyntaxKind.PropertyDeclaration */ || + container.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */; } else { - return container.kind === 169 /* MethodDeclaration */ || - container.kind === 168 /* MethodSignature */ || - container.kind === 172 /* GetAccessor */ || - container.kind === 173 /* SetAccessor */ || - container.kind === 167 /* PropertyDeclaration */ || - container.kind === 166 /* PropertySignature */ || - container.kind === 171 /* Constructor */; + return container.kind === 169 /* SyntaxKind.MethodDeclaration */ || + container.kind === 168 /* SyntaxKind.MethodSignature */ || + container.kind === 172 /* SyntaxKind.GetAccessor */ || + container.kind === 173 /* SyntaxKind.SetAccessor */ || + container.kind === 167 /* SyntaxKind.PropertyDeclaration */ || + container.kind === 166 /* SyntaxKind.PropertySignature */ || + container.kind === 171 /* SyntaxKind.Constructor */; } } } @@ -72019,22 +72278,22 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 169 /* MethodDeclaration */ || - func.kind === 172 /* GetAccessor */ || - func.kind === 173 /* SetAccessor */) && func.parent.kind === 205 /* ObjectLiteralExpression */ ? func.parent : - func.kind === 213 /* FunctionExpression */ && func.parent.kind === 296 /* PropertyAssignment */ ? func.parent.parent : + return (func.kind === 169 /* SyntaxKind.MethodDeclaration */ || + func.kind === 172 /* SyntaxKind.GetAccessor */ || + func.kind === 173 /* SyntaxKind.SetAccessor */) && func.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ ? func.parent : + func.kind === 213 /* SyntaxKind.FunctionExpression */ && func.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ ? func.parent.parent : undefined; } function getThisTypeArgument(type) { - return ts.getObjectFlags(type) & 4 /* Reference */ && type.target === globalThisType ? getTypeArguments(type)[0] : undefined; + return ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ && type.target === globalThisType ? getTypeArguments(type)[0] : undefined; } function getThisTypeFromContextualType(type) { return mapType(type, function (t) { - return t.flags & 2097152 /* Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); + return t.flags & 2097152 /* TypeFlags.Intersection */ ? ts.forEach(t.types, getThisTypeArgument) : getThisTypeArgument(t); }); } function getContextualThisParameterType(func) { - if (func.kind === 214 /* ArrowFunction */) { + if (func.kind === 214 /* SyntaxKind.ArrowFunction */) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -72061,7 +72320,7 @@ var ts; if (thisType) { return instantiateType(thisType, getMapperFromContext(getInferenceContext(containingLiteral))); } - if (literal.parent.kind !== 296 /* PropertyAssignment */) { + if (literal.parent.kind !== 296 /* SyntaxKind.PropertyAssignment */) { break; } literal = literal.parent.parent; @@ -72075,7 +72334,7 @@ var ts; // In an assignment of the form 'obj.xxx = function(...)' or 'obj[xxx] = function(...)', the // contextual type for 'this' is 'obj'. var parent = ts.walkUpParenthesizedExpressions(func.parent); - if (parent.kind === 221 /* BinaryExpression */ && parent.operatorToken.kind === 63 /* EqualsToken */) { + if (parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { var target = parent.left; if (ts.isAccessExpression(target)) { var expression = target.expression; @@ -72103,7 +72362,7 @@ var ts; var args = getEffectiveCallArguments(iife); var indexOfParameter = func.parameters.indexOf(parameter); if (parameter.dotDotDotToken) { - return getSpreadArgumentType(args, indexOfParameter, args.length, anyType, /*context*/ undefined, 0 /* Normal */); + return getSpreadArgumentType(args, indexOfParameter, args.length, anyType, /*context*/ undefined, 0 /* CheckMode.Normal */); } var links = getNodeLinks(iife); var cached = links.resolvedSignature; @@ -72128,11 +72387,11 @@ var ts; return getTypeFromTypeNode(typeNode); } switch (declaration.kind) { - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return getContextuallyTypedParameterType(declaration); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return getContextualTypeForBindingElement(declaration); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: if (ts.isStatic(declaration)) { return getContextualTypeForStaticPropertyDeclaration(declaration); } @@ -72143,10 +72402,10 @@ var ts; var parent = declaration.parent.parent; var name = declaration.propertyName || declaration.name; var parentType = getContextualTypeForVariableLikeDeclaration(parent) || - parent.kind !== 203 /* BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */); + parent.kind !== 203 /* SyntaxKind.BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */); if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name)) return undefined; - if (parent.name.kind === 202 /* ArrayBindingPattern */) { + if (parent.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */) { var index = ts.indexOfNode(declaration.parent.elements, declaration); if (index < 0) return undefined; @@ -72179,7 +72438,7 @@ var ts; if (result) { return result; } - if (!(contextFlags & 8 /* SkipBindingPatterns */) && ts.isBindingPattern(declaration.name)) { // This is less a contextual type and more an implied shape - in some cases, this may be undesirable + if (!(contextFlags & 8 /* ContextFlags.SkipBindingPatterns */) && ts.isBindingPattern(declaration.name)) { // This is less a contextual type and more an implied shape - in some cases, this may be undesirable return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true, /*reportErrors*/ false); } } @@ -72191,8 +72450,8 @@ var ts; var contextualReturnType = getContextualReturnType(func); if (contextualReturnType) { var functionFlags = ts.getFunctionFlags(func); - if (functionFlags & 1 /* Generator */) { // Generator or AsyncGenerator function - var use = functionFlags & 2 /* Async */ ? 2 /* AsyncGeneratorReturnType */ : 1 /* GeneratorReturnType */; + if (functionFlags & 1 /* FunctionFlags.Generator */) { // Generator or AsyncGenerator function + var use = functionFlags & 2 /* FunctionFlags.Async */ ? 2 /* IterationUse.AsyncGeneratorReturnType */ : 1 /* IterationUse.GeneratorReturnType */; var iterationTypes = getIterationTypesOfIterable(contextualReturnType, use, /*errorNode*/ undefined); if (!iterationTypes) { return undefined; @@ -72200,7 +72459,7 @@ var ts; contextualReturnType = iterationTypes.returnType; // falls through to unwrap Promise for AsyncGenerators } - if (functionFlags & 2 /* Async */) { // Async function or AsyncGenerator function + if (functionFlags & 2 /* FunctionFlags.Async */) { // Async function or AsyncGenerator function // Get the awaited type without the `Awaited` alias var contextualAwaitedType = mapType(contextualReturnType, getAwaitedTypeNoAlias); return contextualAwaitedType && getUnionType([contextualAwaitedType, createPromiseLikeType(contextualAwaitedType)]); @@ -72226,7 +72485,7 @@ var ts; if (contextualReturnType) { return node.asteriskToken ? contextualReturnType - : getIterationTypeOfGeneratorFunctionReturnType(0 /* Yield */, contextualReturnType, (functionFlags & 2 /* Async */) !== 0); + : getIterationTypeOfGeneratorFunctionReturnType(0 /* IterationTypeKind.Yield */, contextualReturnType, (functionFlags & 2 /* FunctionFlags.Async */) !== 0); } } return undefined; @@ -72245,7 +72504,7 @@ var ts; return false; } function getContextualIterationType(kind, functionDecl) { - var isAsync = !!(ts.getFunctionFlags(functionDecl) & 2 /* Async */); + var isAsync = !!(ts.getFunctionFlags(functionDecl) & 2 /* FunctionFlags.Async */); var contextualReturnType = getContextualReturnType(functionDecl); if (contextualReturnType) { return getIterationTypeOfGeneratorFunctionReturnType(kind, contextualReturnType, isAsync) @@ -72292,11 +72551,11 @@ var ts; } var restIndex = signature.parameters.length - 1; return signatureHasRestParameter(signature) && argIndex >= restIndex ? - getIndexedAccessType(getTypeOfSymbol(signature.parameters[restIndex]), getNumberLiteralType(argIndex - restIndex), 256 /* Contextual */) : + getIndexedAccessType(getTypeOfSymbol(signature.parameters[restIndex]), getNumberLiteralType(argIndex - restIndex), 256 /* AccessFlags.Contextual */) : getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 210 /* TaggedTemplateExpression */) { + if (template.parent.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -72305,13 +72564,13 @@ var ts; var binaryExpression = node.parent; var left = binaryExpression.left, operatorToken = binaryExpression.operatorToken, right = binaryExpression.right; switch (operatorToken.kind) { - case 63 /* EqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 75 /* BarBarEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: return node === right ? getContextualTypeForAssignmentDeclaration(binaryExpression) : undefined; - case 56 /* BarBarToken */: - case 60 /* QuestionQuestionToken */: + case 56 /* SyntaxKind.BarBarToken */: + case 60 /* SyntaxKind.QuestionQuestionToken */: // When an || expression has a contextual type, the operands are contextually typed by that type, except // when that type originates in a binding pattern, the right operand is contextually typed by the type of // the left operand. When an || expression has no contextual type, the right operand is contextually typed @@ -72320,8 +72579,8 @@ var ts; var type = getContextualType(binaryExpression, contextFlags); return node === right && (type && type.pattern || !type && !ts.isDefaultedExpandoInitializer(binaryExpression)) ? getTypeOfExpression(left) : type; - case 55 /* AmpersandAmpersandToken */: - case 27 /* CommaToken */: + case 55 /* SyntaxKind.AmpersandAmpersandToken */: + case 27 /* SyntaxKind.CommaToken */: return node === right ? getContextualType(binaryExpression, contextFlags) : undefined; default: return undefined; @@ -72354,8 +72613,8 @@ var ts; var _a, _b; var kind = ts.getAssignmentDeclarationKind(binaryExpression); switch (kind) { - case 0 /* None */: - case 4 /* ThisProperty */: + case 0 /* AssignmentDeclarationKind.None */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: var lhsSymbol = getSymbolForExpression(binaryExpression.left); var decl = lhsSymbol && lhsSymbol.valueDeclaration; // Unannotated, uninitialized property declarations have a type implied by their usage in the constructor. @@ -72365,11 +72624,11 @@ var ts; return (overallAnnotation && instantiateType(getTypeFromTypeNode(overallAnnotation), getSymbolLinks(lhsSymbol).mapper)) || (decl.initializer && getTypeOfExpression(binaryExpression.left)); } - if (kind === 0 /* None */) { + if (kind === 0 /* AssignmentDeclarationKind.None */) { return getTypeOfExpression(binaryExpression.left); } return getContextualTypeForThisPropertyAssignment(binaryExpression); - case 5 /* Property */: + case 5 /* AssignmentDeclarationKind.Property */: if (isPossiblyAliasedThisProperty(binaryExpression, kind)) { return getContextualTypeForThisPropertyAssignment(binaryExpression); } @@ -72390,7 +72649,7 @@ var ts; } else if (ts.isIdentifier(lhs.expression)) { var id = lhs.expression; - var parentSymbol = resolveName(id, id.escapedText, 111551 /* Value */, undefined, id.escapedText, /*isUse*/ true); + var parentSymbol = resolveName(id, id.escapedText, 111551 /* SymbolFlags.Value */, undefined, id.escapedText, /*isUse*/ true); if (parentSymbol) { var annotated_1 = parentSymbol.valueDeclaration && ts.getEffectiveTypeAnnotationNode(parentSymbol.valueDeclaration); if (annotated_1) { @@ -72404,18 +72663,18 @@ var ts; } return ts.isInJSFile(decl_1) ? undefined : getTypeOfExpression(binaryExpression.left); } - case 1 /* ExportsProperty */: - case 6 /* Prototype */: - case 3 /* PrototypeProperty */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 6 /* AssignmentDeclarationKind.Prototype */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: var valueDeclaration = (_a = binaryExpression.left.symbol) === null || _a === void 0 ? void 0 : _a.valueDeclaration; // falls through - case 2 /* ModuleExports */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: valueDeclaration || (valueDeclaration = (_b = binaryExpression.symbol) === null || _b === void 0 ? void 0 : _b.valueDeclaration); var annotated = valueDeclaration && ts.getEffectiveTypeAnnotationNode(valueDeclaration); return annotated ? getTypeFromTypeNode(annotated) : undefined; - case 7 /* ObjectDefinePropertyValue */: - case 8 /* ObjectDefinePropertyExports */: - case 9 /* ObjectDefinePrototypeProperty */: + case 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */: + case 8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */: + case 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */: return ts.Debug.fail("Does not apply"); default: return ts.Debug.assertNever(kind); @@ -72423,14 +72682,14 @@ var ts; } function isPossiblyAliasedThisProperty(declaration, kind) { if (kind === void 0) { kind = ts.getAssignmentDeclarationKind(declaration); } - if (kind === 4 /* ThisProperty */) { + if (kind === 4 /* AssignmentDeclarationKind.ThisProperty */) { return true; } - if (!ts.isInJSFile(declaration) || kind !== 5 /* Property */ || !ts.isIdentifier(declaration.left.expression)) { + if (!ts.isInJSFile(declaration) || kind !== 5 /* AssignmentDeclarationKind.Property */ || !ts.isIdentifier(declaration.left.expression)) { return false; } var name = declaration.left.expression.escapedText; - var symbol = resolveName(declaration.left, name, 111551 /* Value */, undefined, undefined, /*isUse*/ true, /*excludeGlobals*/ true); + var symbol = resolveName(declaration.left, name, 111551 /* SymbolFlags.Value */, undefined, undefined, /*isUse*/ true, /*excludeGlobals*/ true); return ts.isThisInitializedDeclaration(symbol === null || symbol === void 0 ? void 0 : symbol.valueDeclaration); } function getContextualTypeForThisPropertyAssignment(binaryExpression) { @@ -72454,7 +72713,7 @@ var ts; return nameStr !== undefined && getTypeOfPropertyOfContextualType(thisType, nameStr) || undefined; } function isCircularMappedProperty(symbol) { - return !!(ts.getCheckFlags(symbol) & 262144 /* Mapped */ && !symbol.type && findResolutionCycleStartIndex(symbol, 0 /* Type */) >= 0); + return !!(ts.getCheckFlags(symbol) & 262144 /* CheckFlags.Mapped */ && !symbol.type && findResolutionCycleStartIndex(symbol, 0 /* TypeSystemPropertyName.Type */) >= 0); } function getTypeOfPropertyOfContextualType(type, name, nameType) { return mapType(type, function (t) { @@ -72467,7 +72726,7 @@ var ts; return substituteIndexedMappedType(t, propertyNameType); } } - else if (t.flags & 3670016 /* StructuredType */) { + else if (t.flags & 3670016 /* TypeFlags.StructuredType */) { var prop = getPropertyOfType(t, name); if (prop) { return isCircularMappedProperty(prop) ? undefined : getTypeOfSymbol(prop); @@ -72488,7 +72747,7 @@ var ts; // exists. Otherwise, it is the type of the string index signature in T, if one exists. function getContextualTypeForObjectLiteralMethod(node, contextFlags) { ts.Debug.assert(ts.isObjectLiteralMethod(node)); - if (node.flags & 33554432 /* InWithStatement */) { + if (node.flags & 33554432 /* NodeFlags.InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } @@ -72523,7 +72782,7 @@ var ts; // type of T. function getContextualTypeForElementExpression(arrayContextualType, index) { return arrayContextualType && (getTypeOfPropertyOfContextualType(arrayContextualType, "" + index) - || mapType(arrayContextualType, function (t) { return getIteratedTypeOrElementType(1 /* Element */, t, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false); }, + || mapType(arrayContextualType, function (t) { return getIteratedTypeOrElementType(1 /* IterationUse.Element */, t, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false); }, /*noReductions*/ true)); } // In a contextually typed conditional expression, the true/false expressions are contextually typed by the same type. @@ -72578,29 +72837,29 @@ var ts; // recursive (and possibly infinite) invocations of getContextualType. function isPossiblyDiscriminantValue(node) { switch (node.kind) { - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 104 /* NullKeyword */: - case 79 /* Identifier */: - case 153 /* UndefinedKeyword */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 79 /* SyntaxKind.Identifier */: + case 153 /* SyntaxKind.UndefinedKeyword */: return true; - case 206 /* PropertyAccessExpression */: - case 212 /* ParenthesizedExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return isPossiblyDiscriminantValue(node.expression); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return !node.expression || isPossiblyDiscriminantValue(node.expression); } return false; } function discriminateContextualTypeByObjectMembers(node, contextualType) { - return getMatchingUnionConstituentForObjectLiteral(contextualType, node) || discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 296 /* PropertyAssignment */ && isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName); }), function (prop) { return [function () { return getContextFreeTypeOfExpression(prop.initializer); }, prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); + return getMatchingUnionConstituentForObjectLiteral(contextualType, node) || discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 296 /* SyntaxKind.PropertyAssignment */ && isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName); }), function (prop) { return [function () { return getContextFreeTypeOfExpression(prop.initializer); }, prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* SymbolFlags.Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); } function discriminateContextualTypeByJSXAttributes(node, contextualType) { - return discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 285 /* JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer)); }), function (prop) { return [!prop.initializer ? (function () { return trueType; }) : (function () { return getContextFreeTypeOfExpression(prop.initializer); }), prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); + return discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 285 /* SyntaxKind.JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer)); }), function (prop) { return [!prop.initializer ? (function () { return trueType; }) : (function () { return getContextFreeTypeOfExpression(prop.initializer); }), prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* SymbolFlags.Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); } // Return the contextual type for a given expression node. During overload resolution, a contextual type may temporarily // be "pushed" onto a node using the contextualType property. @@ -72609,24 +72868,24 @@ var ts; getContextualTypeForObjectLiteralMethod(node, contextFlags) : getContextualType(node, contextFlags); var instantiatedType = instantiateContextualType(contextualType, node, contextFlags); - if (instantiatedType && !(contextFlags && contextFlags & 2 /* NoConstraints */ && instantiatedType.flags & 8650752 /* TypeVariable */)) { + if (instantiatedType && !(contextFlags && contextFlags & 2 /* ContextFlags.NoConstraints */ && instantiatedType.flags & 8650752 /* TypeFlags.TypeVariable */)) { var apparentType = mapType(instantiatedType, getApparentType, /*noReductions*/ true); - return apparentType.flags & 1048576 /* Union */ && ts.isObjectLiteralExpression(node) ? discriminateContextualTypeByObjectMembers(node, apparentType) : - apparentType.flags & 1048576 /* Union */ && ts.isJsxAttributes(node) ? discriminateContextualTypeByJSXAttributes(node, apparentType) : + return apparentType.flags & 1048576 /* TypeFlags.Union */ && ts.isObjectLiteralExpression(node) ? discriminateContextualTypeByObjectMembers(node, apparentType) : + apparentType.flags & 1048576 /* TypeFlags.Union */ && ts.isJsxAttributes(node) ? discriminateContextualTypeByJSXAttributes(node, apparentType) : apparentType; } } // If the given contextual type contains instantiable types and if a mapper representing // return type inferences is available, instantiate those types using that mapper. function instantiateContextualType(contextualType, node, contextFlags) { - if (contextualType && maybeTypeOfKind(contextualType, 465829888 /* Instantiable */)) { + if (contextualType && maybeTypeOfKind(contextualType, 465829888 /* TypeFlags.Instantiable */)) { var inferenceContext = getInferenceContext(node); // If no inferences have been made, nothing is gained from instantiating as type parameters // would just be replaced with their defaults similar to the apparent type. if (inferenceContext && ts.some(inferenceContext.inferences, hasInferenceCandidates)) { // For contextual signatures we incorporate all inferences made so far, e.g. from return // types as well as arguments to the left in a function call. - if (contextFlags && contextFlags & 1 /* Signature */) { + if (contextFlags && contextFlags & 1 /* ContextFlags.Signature */) { return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper); } // For other purposes (e.g. determining whether to produce literal types) we only @@ -72635,7 +72894,7 @@ var ts; // literals actually end up widening to 'boolean' (see #48363). if (inferenceContext.returnMapper) { var type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper); - return type.flags & 1048576 /* Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ? + return type.flags & 1048576 /* TypeFlags.Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ? filterType(type, function (t) { return t !== regularFalseType && t !== regularTrueType; }) : type; } @@ -72647,13 +72906,13 @@ var ts; // are classified as instantiable (i.e. it doesn't instantiate object types), and (b) it performs // no reductions on instantiated union types. function instantiateInstantiableTypes(type, mapper) { - if (type.flags & 465829888 /* Instantiable */) { + if (type.flags & 465829888 /* TypeFlags.Instantiable */) { return instantiateType(type, mapper); } - if (type.flags & 1048576 /* Union */) { - return getUnionType(ts.map(type.types, function (t) { return instantiateInstantiableTypes(t, mapper); }), 0 /* None */); + if (type.flags & 1048576 /* TypeFlags.Union */) { + return getUnionType(ts.map(type.types, function (t) { return instantiateInstantiableTypes(t, mapper); }), 0 /* UnionReduction.None */); } - if (type.flags & 2097152 /* Intersection */) { + if (type.flags & 2097152 /* TypeFlags.Intersection */) { return getIntersectionType(ts.map(type.types, function (t) { return instantiateInstantiableTypes(t, mapper); })); } return type; @@ -72676,7 +72935,7 @@ var ts; * @returns the contextual type of an expression. */ function getContextualType(node, contextFlags) { - if (node.flags & 33554432 /* InWithStatement */) { + if (node.flags & 33554432 /* NodeFlags.InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } @@ -72685,60 +72944,60 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 203 /* BindingElement */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 203 /* SyntaxKind.BindingElement */: return getContextualTypeForInitializerExpression(node, contextFlags); - case 214 /* ArrowFunction */: - case 247 /* ReturnStatement */: + case 214 /* SyntaxKind.ArrowFunction */: + case 247 /* SyntaxKind.ReturnStatement */: return getContextualTypeForReturnExpression(node); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return getContextualTypeForYieldOperand(parent); - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: return getContextualTypeForAwaitOperand(parent, contextFlags); - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: return getContextualTypeForArgument(parent, node); - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: return ts.isConstTypeReference(parent.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(parent.type); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return getContextualTypeForBinaryOperand(node, contextFlags); - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return getContextualTypeForObjectLiteralElement(parent, contextFlags); - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: return getContextualType(parent.parent, contextFlags); - case 204 /* ArrayLiteralExpression */: { + case 204 /* SyntaxKind.ArrayLiteralExpression */: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral, contextFlags); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return getContextualTypeForConditionalOperand(node, contextFlags); - case 233 /* TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 223 /* TemplateExpression */); + case 233 /* SyntaxKind.TemplateSpan */: + ts.Debug.assert(parent.parent.kind === 223 /* SyntaxKind.TemplateExpression */); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 212 /* ParenthesizedExpression */: { + case 212 /* SyntaxKind.ParenthesizedExpression */: { // Like in `checkParenthesizedExpression`, an `/** @type {xyz} */` comment before a parenthesized expression acts as a type cast. var tag = ts.isInJSFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return !tag ? getContextualType(parent, contextFlags) : ts.isJSDocTypeTag(tag) && ts.isConstTypeReference(tag.typeExpression.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(tag.typeExpression.type); } - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return getContextualType(parent, contextFlags); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return tryGetTypeFromEffectiveTypeNode(parent); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return getContextualTypeForJsxExpression(parent); - case 285 /* JsxAttribute */: - case 287 /* JsxSpreadAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: return getContextualTypeForJsxAttribute(parent); - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent, contextFlags); } return undefined; @@ -72751,7 +73010,7 @@ var ts; return ancestor && ancestor.inferenceContext; } function getContextualJsxElementAttributesType(node, contextFlags) { - if (ts.isJsxOpeningElement(node) && node.parent.contextualType && contextFlags !== 4 /* Completions */) { + if (ts.isJsxOpeningElement(node) && node.parent.contextualType && contextFlags !== 4 /* ContextFlags.Completions */) { // Contextually applied type is moved from attributes up to the outer jsx attributes so when walking up from the children they get hit // _However_ to hit them from the _attributes_ we must look for them here; otherwise we'll used the declared type // (as below) instead! @@ -72760,7 +73019,7 @@ var ts; return getContextualTypeForArgumentAtIndex(node, 0); } function getEffectiveFirstArgumentForJsxSignature(signature, node) { - return getJsxReferenceKind(node) !== 0 /* Component */ + return getJsxReferenceKind(node) !== 0 /* JsxReferenceKind.Component */ ? getJsxPropsTypeFromCallSignature(signature, node) : getJsxPropsTypeFromClassType(signature, node); } @@ -72805,7 +73064,7 @@ var ts; return getOrCreateTypeFromSignature(fakeSignature); } var tagType = checkExpressionCached(context.tagName); - if (tagType.flags & 128 /* StringLiteral */) { + if (tagType.flags & 128 /* TypeFlags.StringLiteral */) { var result = getIntrinsicAttributesTypeFromStringLiteralType(tagType, context); if (!result) { return errorType; @@ -72820,7 +73079,7 @@ var ts; if (managedSym) { var declaredManagedType = getDeclaredTypeOfSymbol(managedSym); // fetches interface type, or initializes symbol links type parmaeters var ctorType = getStaticTypeOfReferencedJsxConstructor(context); - if (managedSym.flags & 524288 /* TypeAlias */) { + if (managedSym.flags & 524288 /* SymbolFlags.TypeAlias */) { var params = getSymbolLinks(managedSym).typeParameters; if (ts.length(params) >= 2) { var args = fillMissingTypeArguments([ctorType, attributesType], params, 2, ts.isInJSFile(context)); @@ -72921,12 +73180,12 @@ var ts; !leftName ? rightName : !rightName ? leftName : undefined; - var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i); + var paramSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* SymbolFlags.Optional */ : 0), paramName || "arg".concat(i)); paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType; params[i] = paramSymbol; } if (needsExtraRestElement) { - var restParamSymbol = createSymbol(1 /* FunctionScopedVariable */, "args"); + var restParamSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, "args"); restParamSymbol.type = createArrayType(getTypeAtPosition(shorter, longestCount)); if (shorter === right) { restParamSymbol.type = instantiateType(restParamSymbol.type, mapper); @@ -72948,18 +73207,18 @@ var ts; var minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount); var result = createSignature(declaration, typeParams, thisParam, params, /*resolvedReturnType*/ undefined, - /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* PropagatingFlags */); - result.compositeKind = 2097152 /* Intersection */; - result.compositeSignatures = ts.concatenate(left.compositeKind === 2097152 /* Intersection */ && left.compositeSignatures || [left], [right]); + /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* SignatureFlags.PropagatingFlags */); + result.compositeKind = 2097152 /* TypeFlags.Intersection */; + result.compositeSignatures = ts.concatenate(left.compositeKind === 2097152 /* TypeFlags.Intersection */ && left.compositeSignatures || [left], [right]); if (paramMapper) { - result.mapper = left.compositeKind === 2097152 /* Intersection */ && left.mapper && left.compositeSignatures ? combineTypeMappers(left.mapper, paramMapper) : paramMapper; + result.mapper = left.compositeKind === 2097152 /* TypeFlags.Intersection */ && left.mapper && left.compositeSignatures ? combineTypeMappers(left.mapper, paramMapper) : paramMapper; } return result; } // If the given type is an object or union type with a single signature, and if that signature has at // least as many parameters as the given function, return the signature. Otherwise return undefined. function getContextualCallSignature(type, node) { - var signatures = getSignaturesOfType(type, 0 /* Call */); + var signatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); var applicableByArity = ts.filter(signatures, function (s) { return !isAritySmaller(s, node); }); return applicableByArity.length === 1 ? applicableByArity[0] : getIntersectedSignatures(applicableByArity); } @@ -72989,16 +73248,16 @@ var ts; // all identical ignoring their return type, the result is same signature but with return type as // union type of return types from these signatures function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var typeTagSignature = getSignatureOfTypeTag(node); if (typeTagSignature) { return typeTagSignature; } - var type = getApparentTypeOfContextualType(node, 1 /* Signature */); + var type = getApparentTypeOfContextualType(node, 1 /* ContextFlags.Signature */); if (!type) { return undefined; } - if (!(type.flags & 1048576 /* Union */)) { + if (!(type.flags & 1048576 /* TypeFlags.Union */)) { return getContextualCallSignature(type, node); } var signatureList; @@ -73027,18 +73286,18 @@ var ts; } } function checkSpreadExpression(node, checkMode) { - if (languageVersion < 2 /* ES2015 */) { - checkExternalEmitHelpers(node, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */); + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { + checkExternalEmitHelpers(node, compilerOptions.downlevelIteration ? 1536 /* ExternalEmitHelpers.SpreadIncludes */ : 1024 /* ExternalEmitHelpers.SpreadArray */); } var arrayOrIterableType = checkExpression(node.expression, checkMode); - return checkIteratedTypeOrElementType(33 /* Spread */, arrayOrIterableType, undefinedType, node.expression); + return checkIteratedTypeOrElementType(33 /* IterationUse.Spread */, arrayOrIterableType, undefinedType, node.expression); } function checkSyntheticExpression(node) { return node.isSpread ? getIndexedAccessType(node.type, numberType) : node.type; } function hasDefaultValue(node) { - return (node.kind === 203 /* BindingElement */ && !!node.initializer) || - (node.kind === 221 /* BinaryExpression */ && node.operatorToken.kind === 63 /* EqualsToken */); + return (node.kind === 203 /* SyntaxKind.BindingElement */ && !!node.initializer) || + (node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */); } function checkArrayLiteral(node, checkMode, forceTuple) { var elements = node.elements; @@ -73051,14 +73310,14 @@ var ts; var hasOmittedExpression = false; for (var i = 0; i < elementCount; i++) { var e = elements[i]; - if (e.kind === 225 /* SpreadElement */) { - if (languageVersion < 2 /* ES2015 */) { - checkExternalEmitHelpers(e, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */); + if (e.kind === 225 /* SyntaxKind.SpreadElement */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { + checkExternalEmitHelpers(e, compilerOptions.downlevelIteration ? 1536 /* ExternalEmitHelpers.SpreadIncludes */ : 1024 /* ExternalEmitHelpers.SpreadArray */); } var spreadType = checkExpression(e.expression, checkMode, forceTuple); if (isArrayLikeType(spreadType)) { elementTypes.push(spreadType); - elementFlags.push(8 /* Variadic */); + elementFlags.push(8 /* ElementFlags.Variadic */); } else if (inDestructuringPattern) { // Given the following situation: @@ -73074,27 +73333,27 @@ var ts; // getContextualTypeForElementExpression, which will crucially not error // if there is no index type / iterated type. var restElementType = getIndexTypeOfType(spreadType, numberType) || - getIteratedTypeOrElementType(65 /* Destructuring */, spreadType, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false) || + getIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, spreadType, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false) || unknownType; elementTypes.push(restElementType); - elementFlags.push(4 /* Rest */); + elementFlags.push(4 /* ElementFlags.Rest */); } else { - elementTypes.push(checkIteratedTypeOrElementType(33 /* Spread */, spreadType, undefinedType, e.expression)); - elementFlags.push(4 /* Rest */); + elementTypes.push(checkIteratedTypeOrElementType(33 /* IterationUse.Spread */, spreadType, undefinedType, e.expression)); + elementFlags.push(4 /* ElementFlags.Rest */); } } - else if (exactOptionalPropertyTypes && e.kind === 227 /* OmittedExpression */) { + else if (exactOptionalPropertyTypes && e.kind === 227 /* SyntaxKind.OmittedExpression */) { hasOmittedExpression = true; elementTypes.push(missingType); - elementFlags.push(2 /* Optional */); + elementFlags.push(2 /* ElementFlags.Optional */); } else { var elementContextualType = getContextualTypeForElementExpression(contextualType, elementTypes.length); var type = checkExpressionForMutableLocation(e, checkMode, elementContextualType, forceTuple); elementTypes.push(addOptionality(type, /*isProperty*/ true, hasOmittedExpression)); - elementFlags.push(hasOmittedExpression ? 2 /* Optional */ : 1 /* Required */); - if (contextualType && someType(contextualType, isTupleLikeType) && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && isContextSensitive(e)) { + elementFlags.push(hasOmittedExpression ? 2 /* ElementFlags.Optional */ : 1 /* ElementFlags.Required */); + if (contextualType && someType(contextualType, isTupleLikeType) && checkMode && checkMode & 2 /* CheckMode.Inferential */ && !(checkMode & 4 /* CheckMode.SkipContextSensitive */) && isContextSensitive(e)) { var inferenceContext = getInferenceContext(node); ts.Debug.assert(inferenceContext); // In CheckMode.Inferential we should always have an inference context addIntraExpressionInferenceSite(inferenceContext, e, type); @@ -73108,28 +73367,28 @@ var ts; return createArrayLiteralType(createTupleType(elementTypes, elementFlags, /*readonly*/ inConstContext)); } return createArrayLiteralType(createArrayType(elementTypes.length ? - getUnionType(ts.sameMap(elementTypes, function (t, i) { return elementFlags[i] & 8 /* Variadic */ ? getIndexedAccessTypeOrUndefined(t, numberType) || anyType : t; }), 2 /* Subtype */) : + getUnionType(ts.sameMap(elementTypes, function (t, i) { return elementFlags[i] & 8 /* ElementFlags.Variadic */ ? getIndexedAccessTypeOrUndefined(t, numberType) || anyType : t; }), 2 /* UnionReduction.Subtype */) : strictNullChecks ? implicitNeverType : undefinedWideningType, inConstContext)); } function createArrayLiteralType(type) { - if (!(ts.getObjectFlags(type) & 4 /* Reference */)) { + if (!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */)) { return type; } var literalType = type.literalType; if (!literalType) { literalType = type.literalType = cloneTypeReference(type); - literalType.objectFlags |= 16384 /* ArrayLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; + literalType.objectFlags |= 16384 /* ObjectFlags.ArrayLiteral */ | 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; } return literalType; } function isNumericName(name) { switch (name.kind) { - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return isNumericComputedName(name); - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return ts.isNumericLiteralName(name.escapedText); - case 8 /* NumericLiteral */: - case 10 /* StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 10 /* SyntaxKind.StringLiteral */: return ts.isNumericLiteralName(name.text); default: return false; @@ -73138,14 +73397,14 @@ var ts; function isNumericComputedName(name) { // It seems odd to consider an expression of type Any to result in a numeric name, // but this behavior is consistent with checkIndexedAccess - return isTypeAssignableToKind(checkComputedPropertyName(name), 296 /* NumberLike */); + return isTypeAssignableToKind(checkComputedPropertyName(name), 296 /* TypeFlags.NumberLike */); } function checkComputedPropertyName(node) { var links = getNodeLinks(node.expression); if (!links.resolvedType) { if ((ts.isTypeLiteralNode(node.parent.parent) || ts.isClassLike(node.parent.parent) || ts.isInterfaceDeclaration(node.parent.parent)) - && ts.isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 101 /* InKeyword */ - && node.parent.kind !== 172 /* GetAccessor */ && node.parent.kind !== 173 /* SetAccessor */) { + && ts.isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 101 /* SyntaxKind.InKeyword */ + && node.parent.kind !== 172 /* SyntaxKind.GetAccessor */ && node.parent.kind !== 173 /* SyntaxKind.SetAccessor */) { return links.resolvedType = errorType; } links.resolvedType = checkExpression(node.expression); @@ -73156,17 +73415,17 @@ var ts; var enclosingIterationStatement = getEnclosingIterationStatement(container); if (enclosingIterationStatement) { // The computed field name will use a block scoped binding which can be unique for each iteration of the loop. - getNodeLinks(enclosingIterationStatement).flags |= 65536 /* LoopWithCapturedBlockScopedBinding */; + getNodeLinks(enclosingIterationStatement).flags |= 65536 /* NodeCheckFlags.LoopWithCapturedBlockScopedBinding */; // The generated variable which stores the computed field name must be block-scoped. - getNodeLinks(node).flags |= 524288 /* BlockScopedBindingInLoop */; + getNodeLinks(node).flags |= 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; // The generated variable which stores the class must be block-scoped. - getNodeLinks(node.parent.parent).flags |= 524288 /* BlockScopedBindingInLoop */; + getNodeLinks(node.parent.parent).flags |= 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; } } // This will allow types number, string, symbol or any. It will also allow enums, the unknown // type, and any union of these types (like string | number). - if (links.resolvedType.flags & 98304 /* Nullable */ || - !isTypeAssignableToKind(links.resolvedType, 402653316 /* StringLike */ | 296 /* NumberLike */ | 12288 /* ESSymbolLike */) && + if (links.resolvedType.flags & 98304 /* TypeFlags.Nullable */ || + !isTypeAssignableToKind(links.resolvedType, 402653316 /* TypeFlags.StringLike */ | 296 /* TypeFlags.NumberLike */ | 12288 /* TypeFlags.ESSymbolLike */) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any); } @@ -73182,7 +73441,7 @@ var ts; var _a; var firstDecl = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a[0]; return ts.isKnownSymbol(symbol) || (firstDecl && ts.isNamedDeclaration(firstDecl) && ts.isComputedPropertyName(firstDecl.name) && - isTypeAssignableToKind(checkComputedPropertyName(firstDecl.name), 4096 /* ESSymbol */)); + isTypeAssignableToKind(checkComputedPropertyName(firstDecl.name), 4096 /* TypeFlags.ESSymbol */)); } function getObjectLiteralIndexInfo(node, offset, properties, keyType) { var propTypes = []; @@ -73194,11 +73453,11 @@ var ts; propTypes.push(getTypeOfSymbol(properties[i])); } } - var unionType = propTypes.length ? getUnionType(propTypes, 2 /* Subtype */) : undefinedType; + var unionType = propTypes.length ? getUnionType(propTypes, 2 /* UnionReduction.Subtype */) : undefinedType; return createIndexInfo(keyType, unionType, isConstContext(node)); } function getImmediateAliasedSymbol(symbol) { - ts.Debug.assert((symbol.flags & 2097152 /* Alias */) !== 0, "Should only get Alias here."); + ts.Debug.assert((symbol.flags & 2097152 /* SymbolFlags.Alias */) !== 0, "Should only get Alias here."); var links = getSymbolLinks(symbol); if (!links.immediateTarget) { var node = getDeclarationOfAliasSymbol(symbol); @@ -73218,9 +73477,9 @@ var ts; var spread = emptyObjectType; var contextualType = getApparentTypeOfContextualType(node); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 201 /* ObjectBindingPattern */ || contextualType.pattern.kind === 205 /* ObjectLiteralExpression */); + (contextualType.pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ || contextualType.pattern.kind === 205 /* SyntaxKind.ObjectLiteralExpression */); var inConstContext = isConstContext(node); - var checkFlags = inConstContext ? 8 /* Readonly */ : 0; + var checkFlags = inConstContext ? 8 /* CheckFlags.Readonly */ : 0; var isInJavascript = ts.isInJSFile(node) && !ts.isInJsonFile(node); var enumTag = ts.getJSDocEnumTag(node); var isJSObjectLiteral = !contextualType && isInJavascript && !enumTag; @@ -73242,16 +73501,16 @@ var ts; for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var memberDecl = _c[_b]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 162 /* ComputedPropertyName */ ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 162 /* SyntaxKind.ComputedPropertyName */ ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 296 /* PropertyAssignment */ || - memberDecl.kind === 297 /* ShorthandPropertyAssignment */ || + if (memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ || + memberDecl.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 296 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : + var type = memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : // avoid resolving the left side of the ShorthandPropertyAssignment outside of the destructuring // for error recovery purposes. For example, if a user wrote `{ a = 100 }` instead of `{ a: 100 }`. // we don't want to say "could not find 'a'". - memberDecl.kind === 297 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : + memberDecl.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJavascript) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -73263,29 +73522,29 @@ var ts; checkTypeAssignableTo(type, getTypeFromTypeNode(enumTag.typeExpression), memberDecl); } } - objectFlags |= ts.getObjectFlags(type) & 458752 /* PropagatingFlags */; + objectFlags |= ts.getObjectFlags(type) & 458752 /* ObjectFlags.PropagatingFlags */; var nameType = computedNameType && isTypeUsableAsPropertyName(computedNameType) ? computedNameType : undefined; var prop = nameType ? - createSymbol(4 /* Property */ | member.flags, getPropertyNameFromType(nameType), checkFlags | 4096 /* Late */) : - createSymbol(4 /* Property */ | member.flags, member.escapedName, checkFlags); + createSymbol(4 /* SymbolFlags.Property */ | member.flags, getPropertyNameFromType(nameType), checkFlags | 4096 /* CheckFlags.Late */) : + createSymbol(4 /* SymbolFlags.Property */ | member.flags, member.escapedName, checkFlags); if (nameType) { prop.nameType = nameType; } if (inDestructuringPattern) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - var isOptional = (memberDecl.kind === 296 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 297 /* ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); if (isOptional) { - prop.flags |= 16777216 /* Optional */; + prop.flags |= 16777216 /* SymbolFlags.Optional */; } } - else if (contextualTypeHasPattern && !(ts.getObjectFlags(contextualType) & 512 /* ObjectLiteralPatternWithComputedProperties */)) { + else if (contextualTypeHasPattern && !(ts.getObjectFlags(contextualType) & 512 /* ObjectFlags.ObjectLiteralPatternWithComputedProperties */)) { // If object literal is contextually typed by the implied type of a binding pattern, and if the // binding pattern specifies a default value for the property, make the property optional. var impliedProp = getPropertyOfType(contextualType, member.escapedName); if (impliedProp) { - prop.flags |= impliedProp.flags & 16777216 /* Optional */; + prop.flags |= impliedProp.flags & 16777216 /* SymbolFlags.Optional */; } else if (!compilerOptions.suppressExcessPropertyErrors && !getIndexInfoOfType(contextualType, stringType)) { error(memberDecl.name, ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(member), typeToString(contextualType)); @@ -73300,17 +73559,17 @@ var ts; prop.target = member; member = prop; allPropertiesTable === null || allPropertiesTable === void 0 ? void 0 : allPropertiesTable.set(prop.escapedName, prop); - if (contextualType && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && - (memberDecl.kind === 296 /* PropertyAssignment */ || memberDecl.kind === 169 /* MethodDeclaration */) && isContextSensitive(memberDecl)) { + if (contextualType && checkMode && checkMode & 2 /* CheckMode.Inferential */ && !(checkMode & 4 /* CheckMode.SkipContextSensitive */) && + (memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ || memberDecl.kind === 169 /* SyntaxKind.MethodDeclaration */) && isContextSensitive(memberDecl)) { var inferenceContext = getInferenceContext(node); ts.Debug.assert(inferenceContext); // In CheckMode.Inferential we should always have an inference context - var inferenceNode = memberDecl.kind === 296 /* PropertyAssignment */ ? memberDecl.initializer : memberDecl; + var inferenceNode = memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ ? memberDecl.initializer : memberDecl; addIntraExpressionInferenceSite(inferenceContext, inferenceNode, type); } } - else if (memberDecl.kind === 298 /* SpreadAssignment */) { - if (languageVersion < 2 /* ES2015 */) { - checkExternalEmitHelpers(memberDecl, 2 /* Assign */); + else if (memberDecl.kind === 298 /* SyntaxKind.SpreadAssignment */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { + checkExternalEmitHelpers(memberDecl, 2 /* ExternalEmitHelpers.Assign */); } if (propertiesArray.length > 0) { spread = getSpreadType(spread, createObjectLiteralType(), node.symbol, objectFlags, inConstContext); @@ -73344,10 +73603,10 @@ var ts; // an ordinary function declaration(section 6.1) with no parameters. // A set accessor declaration is processed in the same manner // as an ordinary function declaration with a single parameter and a Void return type. - ts.Debug.assert(memberDecl.kind === 172 /* GetAccessor */ || memberDecl.kind === 173 /* SetAccessor */); + ts.Debug.assert(memberDecl.kind === 172 /* SyntaxKind.GetAccessor */ || memberDecl.kind === 173 /* SyntaxKind.SetAccessor */); checkNodeDeferred(memberDecl); } - if (computedNameType && !(computedNameType.flags & 8576 /* StringOrNumberLiteralOrUnique */)) { + if (computedNameType && !(computedNameType.flags & 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */)) { if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) { if (isTypeAssignableTo(computedNameType, numberType)) { hasComputedNumberProperty = true; @@ -73372,11 +73631,11 @@ var ts; // type with those properties for which the binding pattern specifies a default value. // If the object literal is spread into another object literal, skip this step and let the top-level object // literal handle it instead. - if (contextualTypeHasPattern && node.parent.kind !== 298 /* SpreadAssignment */) { + if (contextualTypeHasPattern && node.parent.kind !== 298 /* SyntaxKind.SpreadAssignment */) { for (var _d = 0, _e = getPropertiesOfType(contextualType); _d < _e.length; _d++) { var prop = _e[_d]; if (!propertiesTable.get(prop.escapedName) && !getPropertyOfType(spread, prop.escapedName)) { - if (!(prop.flags & 16777216 /* Optional */)) { + if (!(prop.flags & 16777216 /* SymbolFlags.Optional */)) { error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); } propertiesTable.set(prop.escapedName, prop); @@ -73408,12 +73667,12 @@ var ts; if (hasComputedSymbolProperty) indexInfos.push(getObjectLiteralIndexInfo(node, offset, propertiesArray, esSymbolType)); var result = createAnonymousType(node.symbol, propertiesTable, ts.emptyArray, ts.emptyArray, indexInfos); - result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= objectFlags | 128 /* ObjectFlags.ObjectLiteral */ | 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; if (isJSObjectLiteral) { - result.objectFlags |= 4096 /* JSLiteral */; + result.objectFlags |= 4096 /* ObjectFlags.JSLiteral */; } if (patternWithComputedProperties) { - result.objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */; + result.objectFlags |= 512 /* ObjectFlags.ObjectLiteralPatternWithComputedProperties */; } if (inDestructuringPattern) { result.pattern = node; @@ -73423,8 +73682,8 @@ var ts; } function isValidSpreadType(type) { var t = removeDefinitelyFalsyTypes(mapType(type, getBaseConstraintOrType)); - return !!(t.flags & (1 /* Any */ | 67108864 /* NonPrimitive */ | 524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) || - t.flags & 3145728 /* UnionOrIntersection */ && ts.every(t.types, isValidSpreadType)); + return !!(t.flags & (1 /* TypeFlags.Any */ | 67108864 /* TypeFlags.NonPrimitive */ | 524288 /* TypeFlags.Object */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) || + t.flags & 3145728 /* TypeFlags.UnionOrIntersection */ && ts.every(t.types, isValidSpreadType)); } function checkJsxSelfClosingElementDeferred(node) { checkJsxOpeningLikeElementOrOpeningFragment(node); @@ -73470,7 +73729,7 @@ var ts; * Returns true iff React would emit this tag name as a string rather than an identifier or qualified name */ function isJsxIntrinsicIdentifier(tagName) { - return tagName.kind === 79 /* Identifier */ && ts.isIntrinsicJsxName(tagName.escapedText); + return tagName.kind === 79 /* SyntaxKind.Identifier */ && ts.isIntrinsicJsxName(tagName.escapedText); } function checkJsxAttribute(node, checkMode) { return node.initializer @@ -73494,15 +73753,15 @@ var ts; var hasSpreadAnyType = false; var typeToIntersect; var explicitlySpecifyChildrenAttribute = false; - var objectFlags = 2048 /* JsxAttributes */; + var objectFlags = 2048 /* ObjectFlags.JsxAttributes */; var jsxChildrenPropertyName = getJsxElementChildrenPropertyName(getJsxNamespaceAt(openingLikeElement)); for (var _i = 0, _a = attributes.properties; _i < _a.length; _i++) { var attributeDecl = _a[_i]; var member = attributeDecl.symbol; if (ts.isJsxAttribute(attributeDecl)) { var exprType = checkJsxAttribute(attributeDecl, checkMode); - objectFlags |= ts.getObjectFlags(exprType) & 458752 /* PropagatingFlags */; - var attributeSymbol = createSymbol(4 /* Property */ | member.flags, member.escapedName); + objectFlags |= ts.getObjectFlags(exprType) & 458752 /* ObjectFlags.PropagatingFlags */; + var attributeSymbol = createSymbol(4 /* SymbolFlags.Property */ | member.flags, member.escapedName); attributeSymbol.declarations = member.declarations; attributeSymbol.parent = member.parent; if (member.valueDeclaration) { @@ -73517,7 +73776,7 @@ var ts; } } else { - ts.Debug.assert(attributeDecl.kind === 287 /* JsxSpreadAttribute */); + ts.Debug.assert(attributeDecl.kind === 287 /* SyntaxKind.JsxSpreadAttribute */); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, objectFlags, /*readonly*/ false); attributesTable = ts.createSymbolTable(); @@ -73533,6 +73792,7 @@ var ts; } } else { + error(attributeDecl.expression, ts.Diagnostics.Spread_types_may_only_be_created_from_object_types); typeToIntersect = typeToIntersect ? getIntersectionType([typeToIntersect, exprType]) : exprType; } } @@ -73543,7 +73803,7 @@ var ts; } } // Handle children attribute - var parent = openingLikeElement.parent.kind === 278 /* JsxElement */ ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 278 /* SyntaxKind.JsxElement */ ? openingLikeElement.parent : undefined; // We have to check that openingElement of the parent is the one we are visiting as this may not be true for selfClosingElement if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); @@ -73557,7 +73817,7 @@ var ts; var contextualType = getApparentTypeOfContextualType(openingLikeElement.attributes); var childrenContextualType = contextualType && getTypeOfPropertyOfContextualType(contextualType, jsxChildrenPropertyName); // If there are children in the body of JSX element, create dummy attribute "children" with the union of children types so that it will pass the attribute checking process - var childrenPropSymbol = createSymbol(4 /* Property */, jsxChildrenPropertyName); + var childrenPropSymbol = createSymbol(4 /* SymbolFlags.Property */, jsxChildrenPropertyName); childrenPropSymbol.type = childrenTypes.length === 1 ? childrenTypes[0] : childrenContextualType && someType(childrenContextualType, isTupleLikeType) ? createTupleType(childrenTypes) : createArrayType(getUnionType(childrenTypes)); @@ -73585,7 +73845,7 @@ var ts; function createJsxAttributesType() { objectFlags |= freshObjectLiteralFlag; var result = createAnonymousType(attributes.symbol, attributesTable, ts.emptyArray, ts.emptyArray, ts.emptyArray); - result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */; + result.objectFlags |= objectFlags | 128 /* ObjectFlags.ObjectLiteral */ | 131072 /* ObjectFlags.ContainsObjectOrArrayLiteral */; return result; } } @@ -73595,12 +73855,12 @@ var ts; var child = _a[_i]; // In React, JSX text that contains only whitespaces will be ignored so we don't want to type-check that // because then type of children property will have constituent of string type. - if (child.kind === 11 /* JsxText */) { + if (child.kind === 11 /* SyntaxKind.JsxText */) { if (!child.containsOnlyTriviaWhiteSpaces) { childrenTypes.push(stringType); } } - else if (child.kind === 288 /* JsxExpression */ && !child.expression) { + else if (child.kind === 288 /* SyntaxKind.JsxExpression */ && !child.expression) { continue; // empty jsx expressions don't *really* count as present children } else { @@ -73612,7 +73872,7 @@ var ts; function checkSpreadPropOverrides(type, props, spread) { for (var _i = 0, _a = getPropertiesOfType(type); _i < _a.length; _i++) { var right = _a[_i]; - if (!(right.flags & 16777216 /* Optional */)) { + if (!(right.flags & 16777216 /* SymbolFlags.Optional */)) { var left = props.get(right.escapedName); if (left) { var diagnostic = error(left.valueDeclaration, ts.Diagnostics._0_is_specified_more_than_once_so_this_usage_will_be_overwritten, ts.unescapeLeadingUnderscores(left.escapedName)); @@ -73632,7 +73892,7 @@ var ts; function getJsxType(name, location) { var namespace = getJsxNamespaceAt(location); var exports = namespace && getExportsOfSymbol(namespace); - var typeSymbol = exports && getSymbol(exports, name, 788968 /* Type */); + var typeSymbol = exports && getSymbol(exports, name, 788968 /* SymbolFlags.Type */); return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType; } /** @@ -73651,13 +73911,13 @@ var ts; return ts.Debug.fail(); var intrinsicProp = getPropertyOfType(intrinsicElementsType, node.tagName.escapedText); if (intrinsicProp) { - links.jsxFlags |= 1 /* IntrinsicNamedElement */; + links.jsxFlags |= 1 /* JsxFlags.IntrinsicNamedElement */; return links.resolvedSymbol = intrinsicProp; } // Intrinsic string indexer case var indexSignatureType = getIndexTypeOfType(intrinsicElementsType, stringType); if (indexSignatureType) { - links.jsxFlags |= 2 /* IntrinsicIndexedElement */; + links.jsxFlags |= 2 /* JsxFlags.IntrinsicIndexedElement */; return links.resolvedSymbol = intrinsicElementsType.symbol; } // Wasn't found @@ -73706,10 +73966,10 @@ var ts; var resolvedNamespace = getJsxNamespaceContainerForImplicitImport(location); if (!resolvedNamespace || resolvedNamespace === unknownSymbol) { var namespaceName = getJsxNamespace(location); - resolvedNamespace = resolveName(location, namespaceName, 1920 /* Namespace */, /*diagnosticMessage*/ undefined, namespaceName, /*isUse*/ false); + resolvedNamespace = resolveName(location, namespaceName, 1920 /* SymbolFlags.Namespace */, /*diagnosticMessage*/ undefined, namespaceName, /*isUse*/ false); } if (resolvedNamespace) { - var candidate = resolveSymbol(getSymbol(getExportsOfSymbol(resolveSymbol(resolvedNamespace)), JsxNames.JSX, 1920 /* Namespace */)); + var candidate = resolveSymbol(getSymbol(getExportsOfSymbol(resolveSymbol(resolvedNamespace)), JsxNames.JSX, 1920 /* SymbolFlags.Namespace */)); if (candidate && candidate !== unknownSymbol) { if (links) { links.jsxNamespace = candidate; @@ -73722,7 +73982,7 @@ var ts; } } // JSX global fallback - var s = resolveSymbol(getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined)); + var s = resolveSymbol(getGlobalSymbol(JsxNames.JSX, 1920 /* SymbolFlags.Namespace */, /*diagnosticMessage*/ undefined)); if (s === unknownSymbol) { return undefined; // TODO: GH#18217 } @@ -73737,7 +73997,7 @@ var ts; */ function getNameFromJsxElementAttributesContainer(nameOfAttribPropContainer, jsxNamespace) { // JSX.ElementAttributesProperty | JSX.ElementChildrenAttribute [symbol] - var jsxElementAttribPropInterfaceSym = jsxNamespace && getSymbol(jsxNamespace.exports, nameOfAttribPropContainer, 788968 /* Type */); + var jsxElementAttribPropInterfaceSym = jsxNamespace && getSymbol(jsxNamespace.exports, nameOfAttribPropContainer, 788968 /* SymbolFlags.Type */); // JSX.ElementAttributesProperty | JSX.ElementChildrenAttribute [type] var jsxElementAttribPropInterfaceType = jsxElementAttribPropInterfaceSym && getDeclaredTypeOfSymbol(jsxElementAttribPropInterfaceSym); // The properties of JSX.ElementAttributesProperty | JSX.ElementChildrenAttribute @@ -73761,7 +74021,7 @@ var ts; } function getJsxLibraryManagedAttributes(jsxNamespace) { // JSX.LibraryManagedAttributes [symbol] - return jsxNamespace && getSymbol(jsxNamespace.exports, JsxNames.LibraryManagedAttributes, 788968 /* Type */); + return jsxNamespace && getSymbol(jsxNamespace.exports, JsxNames.LibraryManagedAttributes, 788968 /* SymbolFlags.Type */); } /// e.g. "props" for React.d.ts, /// or 'undefined' if ElementAttributesProperty doesn't exist (which means all @@ -73775,10 +74035,10 @@ var ts; return getNameFromJsxElementAttributesContainer(JsxNames.ElementChildrenAttributeNameContainer, jsxNamespace); } function getUninstantiatedJsxSignaturesOfType(elementType, caller) { - if (elementType.flags & 4 /* String */) { + if (elementType.flags & 4 /* TypeFlags.String */) { return [anySignature]; } - else if (elementType.flags & 128 /* StringLiteral */) { + else if (elementType.flags & 128 /* TypeFlags.StringLiteral */) { var intrinsicType = getIntrinsicAttributesTypeFromStringLiteralType(elementType, caller); if (!intrinsicType) { error(caller, ts.Diagnostics.Property_0_does_not_exist_on_type_1, elementType.value, "JSX." + JsxNames.IntrinsicElements); @@ -73791,12 +74051,12 @@ var ts; } var apparentElemType = getApparentType(elementType); // Resolve the signatures, preferring constructor - var signatures = getSignaturesOfType(apparentElemType, 1 /* Construct */); + var signatures = getSignaturesOfType(apparentElemType, 1 /* SignatureKind.Construct */); if (signatures.length === 0) { // No construct signatures, try call signatures - signatures = getSignaturesOfType(apparentElemType, 0 /* Call */); + signatures = getSignaturesOfType(apparentElemType, 0 /* SignatureKind.Call */); } - if (signatures.length === 0 && apparentElemType.flags & 1048576 /* Union */) { + if (signatures.length === 0 && apparentElemType.flags & 1048576 /* TypeFlags.Union */) { // If each member has some combination of new/call signatures; make a union signature list for those signatures = getUnionSignatures(ts.map(apparentElemType.types, function (t) { return getUninstantiatedJsxSignaturesOfType(t, caller); })); } @@ -73824,13 +74084,13 @@ var ts; return anyType; } function checkJsxReturnAssignableToAppropriateBound(refKind, elemInstanceType, openingLikeElement) { - if (refKind === 1 /* Function */) { + if (refKind === 1 /* JsxReferenceKind.Function */) { var sfcReturnConstraint = getJsxStatelessElementTypeAt(openingLikeElement); if (sfcReturnConstraint) { checkTypeRelatedTo(elemInstanceType, sfcReturnConstraint, assignableRelation, openingLikeElement.tagName, ts.Diagnostics.Its_return_type_0_is_not_a_valid_JSX_element, generateInitialErrorChain); } } - else if (refKind === 0 /* Component */) { + else if (refKind === 0 /* JsxReferenceKind.Component */) { var classConstraint = getJsxElementClassTypeAt(openingLikeElement); if (classConstraint) { // Issue an error if this return type isn't assignable to JSX.ElementClass, failing that @@ -73861,10 +74121,10 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedJsxElementAttributesType) { var symbol = getIntrinsicTagSymbol(node); - if (links.jsxFlags & 1 /* IntrinsicNamedElement */) { + if (links.jsxFlags & 1 /* JsxFlags.IntrinsicNamedElement */) { return links.resolvedJsxElementAttributesType = getTypeOfSymbol(symbol) || errorType; } - else if (links.jsxFlags & 2 /* IntrinsicIndexedElement */) { + else if (links.jsxFlags & 2 /* JsxFlags.IntrinsicIndexedElement */) { return links.resolvedJsxElementAttributesType = getIndexTypeOfType(getJsxType(JsxNames.IntrinsicElements, node), stringType) || errorType; } @@ -73898,7 +74158,7 @@ var ts; } function checkJsxPreconditions(errorNode) { // Preconditions for using JSX - if ((compilerOptions.jsx || 0 /* None */) === 0 /* None */) { + if ((compilerOptions.jsx || 0 /* JsxEmit.None */) === 0 /* JsxEmit.None */) { error(errorNode, ts.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided); } if (getJsxElementTypeAt(errorNode) === undefined) { @@ -73916,20 +74176,20 @@ var ts; if (!getJsxNamespaceContainerForImplicitImport(node)) { // The reactNamespace/jsxFactory's root symbol should be marked as 'used' so we don't incorrectly elide its import. // And if there is no reactNamespace/jsxFactory's symbol in scope when targeting React emit, we should issue an error. - var jsxFactoryRefErr = diagnostics && compilerOptions.jsx === 2 /* React */ ? ts.Diagnostics.Cannot_find_name_0 : undefined; + var jsxFactoryRefErr = diagnostics && compilerOptions.jsx === 2 /* JsxEmit.React */ ? ts.Diagnostics.Cannot_find_name_0 : undefined; var jsxFactoryNamespace = getJsxNamespace(node); var jsxFactoryLocation = isNodeOpeningLikeElement ? node.tagName : node; // allow null as jsxFragmentFactory var jsxFactorySym = void 0; if (!(ts.isJsxOpeningFragment(node) && jsxFactoryNamespace === "null")) { - jsxFactorySym = resolveName(jsxFactoryLocation, jsxFactoryNamespace, 111551 /* Value */, jsxFactoryRefErr, jsxFactoryNamespace, /*isUse*/ true); + jsxFactorySym = resolveName(jsxFactoryLocation, jsxFactoryNamespace, 111551 /* SymbolFlags.Value */, jsxFactoryRefErr, jsxFactoryNamespace, /*isUse*/ true); } if (jsxFactorySym) { // Mark local symbol as referenced here because it might not have been marked // if jsx emit was not jsxFactory as there wont be error being emitted - jsxFactorySym.isReferenced = 67108863 /* All */; + jsxFactorySym.isReferenced = 67108863 /* SymbolFlags.All */; // If react/jsxFactory symbol is alias, mark it as refereced - if (jsxFactorySym.flags & 2097152 /* Alias */ && !getTypeOnlyAliasDeclaration(jsxFactorySym)) { + if (jsxFactorySym.flags & 2097152 /* SymbolFlags.Alias */ && !getTypeOnlyAliasDeclaration(jsxFactorySym)) { markAliasSymbolAsReferenced(jsxFactorySym); } } @@ -73938,7 +74198,7 @@ var ts; var file = ts.getSourceFileOfNode(node); var localJsxNamespace = getLocalJsxNamespace(file); if (localJsxNamespace) { - resolveName(jsxFactoryLocation, localJsxNamespace, 111551 /* Value */, jsxFactoryRefErr, localJsxNamespace, /*isUse*/ true); + resolveName(jsxFactoryLocation, localJsxNamespace, 111551 /* SymbolFlags.Value */, jsxFactoryRefErr, localJsxNamespace, /*isUse*/ true); } } } @@ -73963,7 +74223,7 @@ var ts; * @param isComparingJsxAttributes a boolean flag indicating whether we are searching in JsxAttributesType */ function isKnownProperty(targetType, name, isComparingJsxAttributes) { - if (targetType.flags & 524288 /* Object */) { + if (targetType.flags & 524288 /* TypeFlags.Object */) { // For backwards compatibility a symbol-named property is satisfied by a string index signature. This // is incorrect and inconsistent with element access expressions, where it is an error, so eventually // we should remove this exception. @@ -73975,7 +74235,7 @@ var ts; return true; } } - else if (targetType.flags & 3145728 /* UnionOrIntersection */ && isExcessPropertyCheckTarget(targetType)) { + else if (targetType.flags & 3145728 /* TypeFlags.UnionOrIntersection */ && isExcessPropertyCheckTarget(targetType)) { for (var _i = 0, _a = targetType.types; _i < _a.length; _i++) { var t = _a[_i]; if (isKnownProperty(t, name, isComparingJsxAttributes)) { @@ -73986,10 +74246,10 @@ var ts; return false; } function isExcessPropertyCheckTarget(type) { - return !!(type.flags & 524288 /* Object */ && !(ts.getObjectFlags(type) & 512 /* ObjectLiteralPatternWithComputedProperties */) || - type.flags & 67108864 /* NonPrimitive */ || - type.flags & 1048576 /* Union */ && ts.some(type.types, isExcessPropertyCheckTarget) || - type.flags & 2097152 /* Intersection */ && ts.every(type.types, isExcessPropertyCheckTarget)); + return !!(type.flags & 524288 /* TypeFlags.Object */ && !(ts.getObjectFlags(type) & 512 /* ObjectFlags.ObjectLiteralPatternWithComputedProperties */) || + type.flags & 67108864 /* TypeFlags.NonPrimitive */ || + type.flags & 1048576 /* TypeFlags.Union */ && ts.some(type.types, isExcessPropertyCheckTarget) || + type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, isExcessPropertyCheckTarget)); } function checkJsxExpression(node, checkMode) { checkGrammarJsxExpression(node); @@ -74012,13 +74272,13 @@ var ts; * Note that this is not tracked well within the compiler, so the answer may be incorrect. */ function isPrototypeProperty(symbol) { - if (symbol.flags & 8192 /* Method */ || ts.getCheckFlags(symbol) & 4 /* SyntheticMethod */) { + if (symbol.flags & 8192 /* SymbolFlags.Method */ || ts.getCheckFlags(symbol) & 4 /* CheckFlags.SyntheticMethod */) { return true; } if (ts.isInJSFile(symbol.valueDeclaration)) { var parent = symbol.valueDeclaration.parent; return parent && ts.isBinaryExpression(parent) && - ts.getAssignmentDeclarationKind(parent) === 3 /* PrototypeProperty */; + ts.getAssignmentDeclarationKind(parent) === 3 /* AssignmentDeclarationKind.PrototypeProperty */; } } /** @@ -74032,9 +74292,9 @@ var ts; function checkPropertyAccessibility(node, isSuper, writing, type, prop, reportError) { if (reportError === void 0) { reportError = true; } var errorNode = !reportError ? undefined : - node.kind === 161 /* QualifiedName */ ? node.right : - node.kind === 200 /* ImportType */ ? node : - node.kind === 203 /* BindingElement */ && node.propertyName ? node.propertyName : node.name; + node.kind === 161 /* SyntaxKind.QualifiedName */ ? node.right : + node.kind === 200 /* SyntaxKind.ImportType */ ? node : + node.kind === 203 /* SyntaxKind.BindingElement */ && node.propertyName ? node.propertyName : node.name; return checkPropertyAccessibilityAtLocation(node, isSuper, writing, type, prop, errorNode); } /** @@ -74057,7 +74317,7 @@ var ts; // - In a static member function or static member accessor // where this references the constructor function object of a derived class, // a super property access is permitted and must specify a public static member function of the base class. - if (languageVersion < 2 /* ES2015 */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { if (symbolHasNonMethodDeclaration(prop)) { if (errorNode) { error(errorNode, ts.Diagnostics.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword); @@ -74065,7 +74325,7 @@ var ts; return false; } } - if (flags & 128 /* Abstract */) { + if (flags & 128 /* ModifierFlags.Abstract */) { // A method cannot be accessed in a super property access if the method is abstract. // This error could mask a private property access error. But, a member // cannot simultaneously be private and abstract, so this will trigger an @@ -74077,7 +74337,7 @@ var ts; } } // Referencing abstract properties within their own constructors is not allowed - if ((flags & 128 /* Abstract */) && symbolHasNonMethodDeclaration(prop) && + if ((flags & 128 /* ModifierFlags.Abstract */) && symbolHasNonMethodDeclaration(prop) && (ts.isThisProperty(location) || ts.isThisInitializedObjectBindingExpression(location) || ts.isObjectBindingPattern(location.parent) && ts.isThisInitializedDeclaration(location.parent.parent))) { var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (declaringClassDeclaration && isNodeUsedDuringClassInitialization(location)) { @@ -74088,12 +74348,12 @@ var ts; } } // Public properties are otherwise accessible. - if (!(flags & 24 /* NonPublicAccessibilityModifier */)) { + if (!(flags & 24 /* ModifierFlags.NonPublicAccessibilityModifier */)) { return true; } // Property is known to be private or protected at this point // Private property is accessible if the property is within the declaring class - if (flags & 8 /* Private */) { + if (flags & 8 /* ModifierFlags.Private */) { var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (!isNodeWithinClass(location, declaringClassDeclaration)) { if (errorNode) { @@ -74120,7 +74380,7 @@ var ts; // static member access is disallowed enclosingClass = getEnclosingClassFromThisParameter(location); enclosingClass = enclosingClass && isClassDerivedFromDeclaringClasses(enclosingClass, prop, writing); - if (flags & 32 /* Static */ || !enclosingClass) { + if (flags & 32 /* ModifierFlags.Static */ || !enclosingClass) { if (errorNode) { error(errorNode, ts.Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(getDeclaringClass(prop) || containingType)); } @@ -74128,10 +74388,10 @@ var ts; } } // No further restrictions for static properties - if (flags & 32 /* Static */) { + if (flags & 32 /* ModifierFlags.Static */) { return true; } - if (containingType.flags & 262144 /* TypeParameter */) { + if (containingType.flags & 262144 /* TypeFlags.TypeParameter */) { // get the original type -- represented as the type constraint of the 'this' type containingType = containingType.isThisType ? getConstraintOfTypeParameter(containingType) : getBaseConstraintOfType(containingType); // TODO: GH#18217 Use a different variable that's allowed to be undefined } @@ -74146,10 +74406,10 @@ var ts; function getEnclosingClassFromThisParameter(node) { var thisParameter = getThisParameterFromNodeContext(node); var thisType = (thisParameter === null || thisParameter === void 0 ? void 0 : thisParameter.type) && getTypeFromTypeNode(thisParameter.type); - if (thisType && thisType.flags & 262144 /* TypeParameter */) { + if (thisType && thisType.flags & 262144 /* TypeFlags.TypeParameter */) { thisType = getConstraintOfTypeParameter(thisType); } - if (thisType && ts.getObjectFlags(thisType) & (3 /* ClassOrInterface */ | 4 /* Reference */)) { + if (thisType && ts.getObjectFlags(thisType) & (3 /* ObjectFlags.ClassOrInterface */ | 4 /* ObjectFlags.Reference */)) { return getTargetType(thisType); } return undefined; @@ -74159,39 +74419,39 @@ var ts; return thisContainer && ts.isFunctionLike(thisContainer) ? ts.getThisParameter(thisContainer) : undefined; } function symbolHasNonMethodDeclaration(symbol) { - return !!forEachProperty(symbol, function (prop) { return !(prop.flags & 8192 /* Method */); }); + return !!forEachProperty(symbol, function (prop) { return !(prop.flags & 8192 /* SymbolFlags.Method */); }); } function checkNonNullExpression(node) { return checkNonNullType(checkExpression(node), node); } function isNullableType(type) { - return !!((strictNullChecks ? getFalsyFlags(type) : type.flags) & 98304 /* Nullable */); + return !!((strictNullChecks ? getFalsyFlags(type) : type.flags) & 98304 /* TypeFlags.Nullable */); } function getNonNullableTypeIfNeeded(type) { return isNullableType(type) ? getNonNullableType(type) : type; } function reportObjectPossiblyNullOrUndefinedError(node, flags) { - error(node, flags & 32768 /* Undefined */ ? flags & 65536 /* Null */ ? + error(node, flags & 32768 /* TypeFlags.Undefined */ ? flags & 65536 /* TypeFlags.Null */ ? ts.Diagnostics.Object_is_possibly_null_or_undefined : ts.Diagnostics.Object_is_possibly_undefined : ts.Diagnostics.Object_is_possibly_null); } function reportCannotInvokePossiblyNullOrUndefinedError(node, flags) { - error(node, flags & 32768 /* Undefined */ ? flags & 65536 /* Null */ ? + error(node, flags & 32768 /* TypeFlags.Undefined */ ? flags & 65536 /* TypeFlags.Null */ ? ts.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null_or_undefined : ts.Diagnostics.Cannot_invoke_an_object_which_is_possibly_undefined : ts.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null); } function checkNonNullTypeWithReporter(type, node, reportError) { - if (strictNullChecks && type.flags & 2 /* Unknown */) { + if (strictNullChecks && type.flags & 2 /* TypeFlags.Unknown */) { error(node, ts.Diagnostics.Object_is_of_type_unknown); return errorType; } - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 98304 /* Nullable */; + var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 98304 /* TypeFlags.Nullable */; if (kind) { reportError(node, kind); var t = getNonNullableType(type); - return t.flags & (98304 /* Nullable */ | 131072 /* Never */) ? errorType : t; + return t.flags & (98304 /* TypeFlags.Nullable */ | 131072 /* TypeFlags.Never */) ? errorType : t; } return type; } @@ -74200,13 +74460,13 @@ var ts; } function checkNonNullNonVoidType(type, node) { var nonNullType = checkNonNullType(type, node); - if (nonNullType.flags & 16384 /* Void */) { + if (nonNullType.flags & 16384 /* TypeFlags.Void */) { error(node, ts.Diagnostics.Object_is_possibly_undefined); } return nonNullType; } function checkPropertyAccessExpression(node, checkMode) { - return node.flags & 32 /* OptionalChain */ ? checkPropertyAccessChain(node, checkMode) : + return node.flags & 32 /* NodeFlags.OptionalChain */ ? checkPropertyAccessChain(node, checkMode) : checkPropertyAccessExpressionOrQualifiedName(node, node.expression, checkNonNullExpression(node.expression), node.name, checkMode); } function checkPropertyAccessChain(node, checkMode) { @@ -74219,7 +74479,7 @@ var ts; return checkPropertyAccessExpressionOrQualifiedName(node, node.left, leftType, node.right, checkMode); } function isMethodAccessForCall(node) { - while (node.parent.kind === 212 /* ParenthesizedExpression */) { + while (node.parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { node = node.parent; } return ts.isCallOrNewExpression(node.parent) && node.parent.expression === node; @@ -74243,7 +74503,7 @@ var ts; if (!ts.isExpressionNode(privId)) { return grammarErrorOnNode(privId, ts.Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression); } - var isInOperation = ts.isBinaryExpression(privId.parent) && privId.parent.operatorToken.kind === 101 /* InKeyword */; + var isInOperation = ts.isBinaryExpression(privId.parent) && privId.parent.operatorToken.kind === 101 /* SyntaxKind.InKeyword */; if (!getSymbolForPrivateIdentifierExpression(privId) && !isInOperation) { return grammarErrorOnNode(privId, ts.Diagnostics.Cannot_find_name_0, ts.idText(privId)); } @@ -74315,16 +74575,16 @@ var ts; function checkPropertyAccessExpressionOrQualifiedName(node, left, leftType, right, checkMode) { var parentSymbol = getNodeLinks(left).resolvedSymbol; var assignmentKind = ts.getAssignmentTargetKind(node); - var apparentType = getApparentType(assignmentKind !== 0 /* None */ || isMethodAccessForCall(node) ? getWidenedType(leftType) : leftType); + var apparentType = getApparentType(assignmentKind !== 0 /* AssignmentKind.None */ || isMethodAccessForCall(node) ? getWidenedType(leftType) : leftType); var isAnyLike = isTypeAny(apparentType) || apparentType === silentNeverType; var prop; if (ts.isPrivateIdentifier(right)) { - if (languageVersion < 99 /* ESNext */) { - if (assignmentKind !== 0 /* None */) { - checkExternalEmitHelpers(node, 1048576 /* ClassPrivateFieldSet */); + if (languageVersion < 99 /* ScriptTarget.ESNext */) { + if (assignmentKind !== 0 /* AssignmentKind.None */) { + checkExternalEmitHelpers(node, 1048576 /* ExternalEmitHelpers.ClassPrivateFieldSet */); } - if (assignmentKind !== 1 /* Definite */) { - checkExternalEmitHelpers(node, 524288 /* ClassPrivateFieldGet */); + if (assignmentKind !== 1 /* AssignmentKind.Definite */) { + checkExternalEmitHelpers(node, 524288 /* ExternalEmitHelpers.ClassPrivateFieldGet */); } } var lexicallyScopedSymbol = lookupSymbolForPrivateIdentifierDeclaration(right.escapedText, right); @@ -74346,8 +74606,8 @@ var ts; return errorType; } else { - var isSetonlyAccessor = prop && prop.flags & 65536 /* SetAccessor */ && !(prop.flags & 32768 /* GetAccessor */); - if (isSetonlyAccessor && assignmentKind !== 1 /* Definite */) { + var isSetonlyAccessor = prop && prop.flags & 65536 /* SymbolFlags.SetAccessor */ && !(prop.flags & 32768 /* SymbolFlags.GetAccessor */); + if (isSetonlyAccessor && assignmentKind !== 1 /* AssignmentKind.Definite */) { error(node, ts.Diagnostics.Private_accessor_was_defined_without_a_getter); } } @@ -74363,15 +74623,20 @@ var ts; prop = getPropertyOfType(apparentType, right.escapedText); } // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums. + // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined + // here even if `Foo` is not a const enum. + // // The exceptions are: // 1. if 'isolatedModules' is enabled, because the const enum value will not be inlined, and // 2. if 'preserveConstEnums' is enabled and the expression is itself an export, e.g. `export = Foo.Bar.Baz`. - if (ts.isIdentifier(left) && parentSymbol && (compilerOptions.isolatedModules || !(prop && isConstEnumOrConstEnumOnlyModule(prop)) || ts.shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(node))) { + if (ts.isIdentifier(left) && parentSymbol && (compilerOptions.isolatedModules || + !(prop && (isConstEnumOrConstEnumOnlyModule(prop) || prop.flags & 8 /* SymbolFlags.EnumMember */ && node.parent.kind === 299 /* SyntaxKind.EnumMember */)) || + ts.shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(node))) { markAliasReferenced(parentSymbol, node); } var propType; if (!prop) { - var indexInfo = !ts.isPrivateIdentifier(right) && (assignmentKind === 0 /* None */ || !isGenericObjectType(leftType) || ts.isThisTypeParameter(leftType)) ? + var indexInfo = !ts.isPrivateIdentifier(right) && (assignmentKind === 0 /* AssignmentKind.None */ || !isGenericObjectType(leftType) || ts.isThisTypeParameter(leftType)) ? getApplicableIndexInfoForName(apparentType, right.escapedText) : undefined; if (!(indexInfo && indexInfo.type)) { var isUncheckedJS = isUncheckedJSSuggestion(node, leftType.symbol, /*excludeClasses*/ true); @@ -74379,7 +74644,7 @@ var ts; return anyType; } if (leftType.symbol === globalThisSymbol) { - if (globalThisSymbol.exports.has(right.escapedText) && (globalThisSymbol.exports.get(right.escapedText).flags & 418 /* BlockScoped */)) { + if (globalThisSymbol.exports.has(right.escapedText) && (globalThisSymbol.exports.get(right.escapedText).flags & 418 /* SymbolFlags.BlockScoped */)) { error(right, ts.Diagnostics.Property_0_does_not_exist_on_type_1, ts.unescapeLeadingUnderscores(right.escapedText), typeToString(leftType)); } else if (noImplicitAny) { @@ -74399,7 +74664,7 @@ var ts; if (compilerOptions.noPropertyAccessFromIndexSignature && ts.isPropertyAccessExpression(node)) { error(right, ts.Diagnostics.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0, ts.unescapeLeadingUnderscores(right.escapedText)); } - if (indexInfo.declaration && ts.getCombinedNodeFlags(indexInfo.declaration) & 268435456 /* Deprecated */) { + if (indexInfo.declaration && ts.getCombinedNodeFlags(indexInfo.declaration) & 268435456 /* NodeFlags.Deprecated */) { addDeprecatedSuggestion(right, [indexInfo.declaration], right.escapedText); } } @@ -74411,7 +74676,7 @@ var ts; markPropertyAsReferenced(prop, node, isSelfTypeAccess(left, parentSymbol)); getNodeLinks(node).resolvedSymbol = prop; var writing = ts.isWriteAccess(node); - checkPropertyAccessibility(node, left.kind === 106 /* SuperKeyword */, writing, apparentType, prop); + checkPropertyAccessibility(node, left.kind === 106 /* SyntaxKind.SuperKeyword */, writing, apparentType, prop); if (isAssignmentToReadonlyEntity(node, prop, assignmentKind)) { error(right, ts.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property, ts.idText(right)); return errorType; @@ -74430,11 +74695,11 @@ var ts; function isUncheckedJSSuggestion(node, suggestion, excludeClasses) { var file = ts.getSourceFileOfNode(node); if (file) { - if (compilerOptions.checkJs === undefined && file.checkJsDirective === undefined && (file.scriptKind === 1 /* JS */ || file.scriptKind === 2 /* JSX */)) { + if (compilerOptions.checkJs === undefined && file.checkJsDirective === undefined && (file.scriptKind === 1 /* ScriptKind.JS */ || file.scriptKind === 2 /* ScriptKind.JSX */)) { var declarationFile = ts.forEach(suggestion === null || suggestion === void 0 ? void 0 : suggestion.declarations, ts.getSourceFileOfNode); return !(file !== declarationFile && !!declarationFile && isGlobalSourceFile(declarationFile)) - && !(excludeClasses && suggestion && suggestion.flags & 32 /* Class */) - && !(!!node && excludeClasses && ts.isPropertyAccessExpression(node) && node.expression.kind === 108 /* ThisKeyword */); + && !(excludeClasses && suggestion && suggestion.flags & 32 /* SymbolFlags.Class */) + && !(!!node && excludeClasses && ts.isPropertyAccessExpression(node) && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */); } } return false; @@ -74444,12 +74709,12 @@ var ts; // assignment target, and the referenced property was declared as a variable, property, // accessor, or optional method. var assignmentKind = ts.getAssignmentTargetKind(node); - if (assignmentKind === 1 /* Definite */) { - return removeMissingType(propType, !!(prop && prop.flags & 16777216 /* Optional */)); + if (assignmentKind === 1 /* AssignmentKind.Definite */) { + return removeMissingType(propType, !!(prop && prop.flags & 16777216 /* SymbolFlags.Optional */)); } if (prop && - !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) - && !(prop.flags & 8192 /* Method */ && propType.flags & 1048576 /* Union */) + !(prop.flags & (3 /* SymbolFlags.Variable */ | 4 /* SymbolFlags.Property */ | 98304 /* SymbolFlags.Accessor */)) + && !(prop.flags & 8192 /* SymbolFlags.Method */ && propType.flags & 1048576 /* TypeFlags.Union */) && !isDuplicatedCommonJSExport(prop.declarations)) { return propType; } @@ -74462,12 +74727,12 @@ var ts; // and if we are in a constructor of the same class as the property declaration, assume that // the property is uninitialized at the top of the control flow. var assumeUninitialized = false; - if (strictNullChecks && strictPropertyInitialization && ts.isAccessExpression(node) && node.expression.kind === 108 /* ThisKeyword */) { + if (strictNullChecks && strictPropertyInitialization && ts.isAccessExpression(node) && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */) { var declaration = prop && prop.valueDeclaration; if (declaration && isPropertyWithoutInitializer(declaration)) { if (!ts.isStatic(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 171 /* Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 16777216 /* Ambient */)) { + if (flowContainer.kind === 171 /* SyntaxKind.Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 16777216 /* NodeFlags.Ambient */)) { assumeUninitialized = true; } } @@ -74480,7 +74745,7 @@ var ts; assumeUninitialized = true; } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 32768 /* Undefined */) && getFalsyFlags(flowType) & 32768 /* Undefined */) { + if (assumeUninitialized && !(getFalsyFlags(propType) & 32768 /* TypeFlags.Undefined */) && getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */) { error(errorNode, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); // TODO: GH#18217 // Return the declared type to reduce follow-on errors return propType; @@ -74498,13 +74763,13 @@ var ts; && !isOptionalPropertyDeclaration(valueDeclaration) && !(ts.isAccessExpression(node) && ts.isAccessExpression(node.expression)) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right) - && !(ts.isMethodDeclaration(valueDeclaration) && ts.getCombinedModifierFlags(valueDeclaration) & 32 /* Static */) + && !(ts.isMethodDeclaration(valueDeclaration) && ts.getCombinedModifierFlags(valueDeclaration) & 32 /* ModifierFlags.Static */) && (compilerOptions.useDefineForClassFields || !isPropertyDeclaredInAncestorClass(prop))) { diagnosticMessage = error(right, ts.Diagnostics.Property_0_is_used_before_its_initialization, declarationName); } - else if (valueDeclaration.kind === 257 /* ClassDeclaration */ && - node.parent.kind !== 178 /* TypeReference */ && - !(valueDeclaration.flags & 16777216 /* Ambient */) && + else if (valueDeclaration.kind === 257 /* SyntaxKind.ClassDeclaration */ && + node.parent.kind !== 178 /* SyntaxKind.TypeReference */ && + !(valueDeclaration.flags & 16777216 /* NodeFlags.Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { diagnosticMessage = error(right, ts.Diagnostics.Class_0_used_before_its_declaration, declarationName); } @@ -74515,25 +74780,25 @@ var ts; function isInPropertyInitializerOrClassStaticBlock(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return true; - case 296 /* PropertyAssignment */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 298 /* SpreadAssignment */: - case 162 /* ComputedPropertyName */: - case 233 /* TemplateSpan */: - case 288 /* JsxExpression */: - case 285 /* JsxAttribute */: - case 286 /* JsxAttributes */: - case 287 /* JsxSpreadAttribute */: - case 280 /* JsxOpeningElement */: - case 228 /* ExpressionWithTypeArguments */: - case 291 /* HeritageClause */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 298 /* SyntaxKind.SpreadAssignment */: + case 162 /* SyntaxKind.ComputedPropertyName */: + case 233 /* SyntaxKind.TemplateSpan */: + case 288 /* SyntaxKind.JsxExpression */: + case 285 /* SyntaxKind.JsxAttribute */: + case 286 /* SyntaxKind.JsxAttributes */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 291 /* SyntaxKind.HeritageClause */: return false; - case 214 /* ArrowFunction */: - case 238 /* ExpressionStatement */: + case 214 /* SyntaxKind.ArrowFunction */: + case 238 /* SyntaxKind.ExpressionStatement */: return ts.isBlock(node.parent) && ts.isClassStaticBlockDeclaration(node.parent.parent) ? true : "quit"; default: return ts.isExpressionNode(node) ? false : "quit"; @@ -74545,7 +74810,7 @@ var ts; * In that case we won't consider it used before its declaration, because it gets its value from the superclass' declaration. */ function isPropertyDeclaredInAncestorClass(prop) { - if (!(prop.parent.flags & 32 /* Class */)) { + if (!(prop.parent.flags & 32 /* SymbolFlags.Class */)) { return false; } var classType = getTypeOfSymbol(prop.parent); @@ -74570,7 +74835,7 @@ var ts; function reportNonexistentProperty(propNode, containingType, isUncheckedJS) { var errorInfo; var relatedInfo; - if (!ts.isPrivateIdentifier(propNode) && containingType.flags & 1048576 /* Union */ && !(containingType.flags & 131068 /* Primitive */)) { + if (!ts.isPrivateIdentifier(propNode) && containingType.flags & 1048576 /* TypeFlags.Union */ && !(containingType.flags & 131068 /* TypeFlags.Primitive */)) { for (var _i = 0, _a = containingType.types; _i < _a.length; _i++) { var subtype = _a[_i]; if (!getPropertyOfType(subtype, propNode.escapedText) && !getApplicableIndexInfoForName(subtype, propNode.escapedText)) { @@ -74658,7 +74923,7 @@ var ts; } } function getSuggestedSymbolForNonexistentClassMember(name, baseType) { - return getSpellingSuggestionForName(name, getPropertiesOfType(baseType), 106500 /* ClassMember */); + return getSpellingSuggestionForName(name, getPropertiesOfType(baseType), 106500 /* SymbolFlags.ClassMember */); } function getSuggestedSymbolForNonexistentProperty(name, containingType) { var props = getPropertiesOfType(containingType); @@ -74669,7 +74934,7 @@ var ts; } name = ts.idText(name); } - return getSpellingSuggestionForName(name, props, 111551 /* Value */); + return getSpellingSuggestionForName(name, props, 111551 /* SymbolFlags.Value */); } function getSuggestedSymbolForNonexistentJSXAttribute(name, containingType) { var strName = ts.isString(name) ? name : ts.idText(name); @@ -74677,7 +74942,7 @@ var ts; var jsxSpecific = strName === "for" ? ts.find(properties, function (x) { return ts.symbolName(x) === "htmlFor"; }) : strName === "class" ? ts.find(properties, function (x) { return ts.symbolName(x) === "className"; }) : undefined; - return jsxSpecific !== null && jsxSpecific !== void 0 ? jsxSpecific : getSpellingSuggestionForName(strName, properties, 111551 /* Value */); + return jsxSpecific !== null && jsxSpecific !== void 0 ? jsxSpecific : getSpellingSuggestionForName(strName, properties, 111551 /* SymbolFlags.Value */); } function getSuggestionForNonexistentProperty(name, containingType) { var suggestion = getSuggestedSymbolForNonexistentProperty(name, containingType); @@ -74696,7 +74961,7 @@ var ts; var candidates; if (symbols === globals) { var primitives = ts.mapDefined(["string", "number", "boolean", "object", "bigint", "symbol"], function (s) { return symbols.has((s.charAt(0).toUpperCase() + s.slice(1))) - ? createSymbol(524288 /* TypeAlias */, s) + ? createSymbol(524288 /* SymbolFlags.TypeAlias */, s) : undefined; }); candidates = primitives.concat(ts.arrayFrom(symbols.values())); } @@ -74712,7 +74977,7 @@ var ts; return symbolResult && ts.symbolName(symbolResult); } function getSuggestedSymbolForNonexistentModule(name, targetModule) { - return targetModule.exports && getSpellingSuggestionForName(ts.idText(name), getExportsOfModuleAsArray(targetModule), 2623475 /* ModuleMember */); + return targetModule.exports && getSpellingSuggestionForName(ts.idText(name), getExportsOfModuleAsArray(targetModule), 2623475 /* SymbolFlags.ModuleMember */); } function getSuggestionForNonexistentExport(name, targetModule) { var suggestion = getSuggestedSymbolForNonexistentModule(name, targetModule); @@ -74743,7 +75008,7 @@ var ts; return suggestion; } function getSuggestedTypeForNonexistentStringLiteralType(source, target) { - var candidates = target.types.filter(function (type) { return !!(type.flags & 128 /* StringLiteral */); }); + var candidates = target.types.filter(function (type) { return !!(type.flags & 128 /* TypeFlags.StringLiteral */); }); return ts.getSpellingSuggestion(source.value, candidates, function (type) { return type.value; }); } /** @@ -74771,7 +75036,7 @@ var ts; if (candidate.flags & meaning) { return candidateName; } - if (candidate.flags & 2097152 /* Alias */) { + if (candidate.flags & 2097152 /* SymbolFlags.Alias */) { var alias = tryResolveAlias(candidate); if (alias && alias.flags & meaning) { return candidateName; @@ -74781,16 +75046,16 @@ var ts; } } function markPropertyAsReferenced(prop, nodeForCheckWriteOnly, isSelfTypeAccess) { - var valueDeclaration = prop && (prop.flags & 106500 /* ClassMember */) && prop.valueDeclaration; + var valueDeclaration = prop && (prop.flags & 106500 /* SymbolFlags.ClassMember */) && prop.valueDeclaration; if (!valueDeclaration) { return; } - var hasPrivateModifier = ts.hasEffectiveModifier(valueDeclaration, 8 /* Private */); + var hasPrivateModifier = ts.hasEffectiveModifier(valueDeclaration, 8 /* ModifierFlags.Private */); var hasPrivateIdentifier = prop.valueDeclaration && ts.isNamedDeclaration(prop.valueDeclaration) && ts.isPrivateIdentifier(prop.valueDeclaration.name); if (!hasPrivateModifier && !hasPrivateIdentifier) { return; } - if (nodeForCheckWriteOnly && ts.isWriteOnlyAccess(nodeForCheckWriteOnly) && !(prop.flags & 65536 /* SetAccessor */)) { + if (nodeForCheckWriteOnly && ts.isWriteOnlyAccess(nodeForCheckWriteOnly) && !(prop.flags & 65536 /* SymbolFlags.SetAccessor */)) { return; } if (isSelfTypeAccess) { @@ -74800,19 +75065,19 @@ var ts; return; } } - (ts.getCheckFlags(prop) & 1 /* Instantiated */ ? getSymbolLinks(prop).target : prop).isReferenced = 67108863 /* All */; + (ts.getCheckFlags(prop) & 1 /* CheckFlags.Instantiated */ ? getSymbolLinks(prop).target : prop).isReferenced = 67108863 /* SymbolFlags.All */; } function isSelfTypeAccess(name, parent) { - return name.kind === 108 /* ThisKeyword */ + return name.kind === 108 /* SyntaxKind.ThisKeyword */ || !!parent && ts.isEntityNameExpression(name) && parent === getResolvedSymbol(ts.getFirstIdentifier(name)); } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 206 /* PropertyAccessExpression */: - return isValidPropertyAccessWithType(node, node.expression.kind === 106 /* SuperKeyword */, propertyName, getWidenedType(checkExpression(node.expression))); - case 161 /* QualifiedName */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + return isValidPropertyAccessWithType(node, node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, propertyName, getWidenedType(checkExpression(node.expression))); + case 161 /* SyntaxKind.QualifiedName */: return isValidPropertyAccessWithType(node, /*isSuper*/ false, propertyName, getWidenedType(checkExpression(node.left))); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return isValidPropertyAccessWithType(node, /*isSuper*/ false, propertyName, getTypeFromTypeNode(node)); } } @@ -74827,7 +75092,7 @@ var ts; * @param property the accessed property's symbol. */ function isValidPropertyAccessForCompletions(node, type, property) { - return isPropertyAccessible(node, node.kind === 206 /* PropertyAccessExpression */ && node.expression.kind === 106 /* SuperKeyword */, + return isPropertyAccessible(node, node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, /* isWrite */ false, type, property); // Previously we validated the 'this' type of methods but this adversely affected performance. See #31377 for more context. } @@ -74867,13 +75132,13 @@ var ts; */ function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 255 /* VariableDeclarationList */) { + if (initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); } } - else if (initializer.kind === 79 /* Identifier */) { + else if (initializer.kind === 79 /* SyntaxKind.Identifier */) { return getResolvedSymbol(initializer); } return undefined; @@ -74890,13 +75155,13 @@ var ts; */ function isForInVariableForNumericPropertyNames(expr) { var e = ts.skipParentheses(expr); - if (e.kind === 79 /* Identifier */) { + if (e.kind === 79 /* SyntaxKind.Identifier */) { var symbol = getResolvedSymbol(e); - if (symbol.flags & 3 /* Variable */) { + if (symbol.flags & 3 /* SymbolFlags.Variable */) { var child = expr; var node = expr.parent; while (node) { - if (node.kind === 243 /* ForInStatement */ && + if (node.kind === 243 /* SyntaxKind.ForInStatement */ && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -74910,7 +75175,7 @@ var ts; return false; } function checkIndexedAccess(node, checkMode) { - return node.flags & 32 /* OptionalChain */ ? checkElementAccessChain(node, checkMode) : + return node.flags & 32 /* NodeFlags.OptionalChain */ ? checkElementAccessChain(node, checkMode) : checkElementAccessExpression(node, checkNonNullExpression(node.expression), checkMode); } function checkElementAccessChain(node, checkMode) { @@ -74919,7 +75184,7 @@ var ts; return propagateOptionalTypeMarker(checkElementAccessExpression(node, checkNonNullType(nonOptionalType, node.expression), checkMode), node, nonOptionalType !== exprType); } function checkElementAccessExpression(node, exprType, checkMode) { - var objectType = ts.getAssignmentTargetKind(node) !== 0 /* None */ || isMethodAccessForCall(node) ? getWidenedType(exprType) : exprType; + var objectType = ts.getAssignmentTargetKind(node) !== 0 /* AssignmentKind.None */ || isMethodAccessForCall(node) ? getWidenedType(exprType) : exprType; var indexExpression = node.argumentExpression; var indexType = checkExpression(indexExpression); if (isErrorType(objectType) || objectType === silentNeverType) { @@ -74931,8 +75196,8 @@ var ts; } var effectiveIndexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : indexType; var accessFlags = ts.isAssignmentTarget(node) ? - 4 /* Writing */ | (isGenericObjectType(objectType) && !ts.isThisTypeParameter(objectType) ? 2 /* NoIndexSignatures */ : 0) : - 32 /* ExpressionPosition */; + 4 /* AccessFlags.Writing */ | (isGenericObjectType(objectType) && !ts.isThisTypeParameter(objectType) ? 2 /* AccessFlags.NoIndexSignatures */ : 0) : + 32 /* AccessFlags.ExpressionPosition */; var indexedAccessType = getIndexedAccessTypeOrUndefined(objectType, effectiveIndexType, accessFlags, node) || errorType; return checkIndexedAccessIndexType(getFlowTypeOfAccessExpression(node, getNodeLinks(node).resolvedSymbol, indexedAccessType, indexExpression, checkMode), node); } @@ -74945,13 +75210,13 @@ var ts; // This gets us diagnostics for the type arguments and marks them as referenced. ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 210 /* TaggedTemplateExpression */) { + if (node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { checkExpression(node.template); } else if (ts.isJsxOpeningLikeElement(node)) { checkExpression(node.attributes); } - else if (node.kind !== 165 /* Decorator */) { + else if (node.kind !== 165 /* SyntaxKind.Decorator */) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -75015,16 +75280,16 @@ var ts; } } function isSpreadArgument(arg) { - return !!arg && (arg.kind === 225 /* SpreadElement */ || arg.kind === 232 /* SyntheticExpression */ && arg.isSpread); + return !!arg && (arg.kind === 225 /* SyntaxKind.SpreadElement */ || arg.kind === 232 /* SyntaxKind.SyntheticExpression */ && arg.isSpread); } function getSpreadArgumentIndex(args) { return ts.findIndex(args, isSpreadArgument); } function acceptsVoid(t) { - return !!(t.flags & 16384 /* Void */); + return !!(t.flags & 16384 /* TypeFlags.Void */); } function acceptsVoidUndefinedUnknownOrAny(t) { - return !!(t.flags & (16384 /* Void */ | 32768 /* Undefined */ | 2 /* Unknown */ | 1 /* Any */)); + return !!(t.flags & (16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */ | 2 /* TypeFlags.Unknown */ | 1 /* TypeFlags.Any */)); } function hasCorrectArity(node, args, signature, signatureHelpTrailingComma) { if (signatureHelpTrailingComma === void 0) { signatureHelpTrailingComma = false; } @@ -75032,9 +75297,9 @@ var ts; var callIsIncomplete = false; // In incomplete call we want to be lenient when we have too few arguments var effectiveParameterCount = getParameterCount(signature); var effectiveMinimumArguments = getMinArgumentCount(signature); - if (node.kind === 210 /* TaggedTemplateExpression */) { + if (node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { argCount = args.length; - if (node.template.kind === 223 /* TemplateExpression */) { + if (node.template.kind === 223 /* SyntaxKind.TemplateExpression */) { // If a tagged template expression lacks a tail literal, the call is incomplete. // Specifically, a template only can end in a TemplateTail or a Missing literal. var lastSpan = ts.last(node.template.templateSpans); // we should always have at least one span. @@ -75045,11 +75310,11 @@ var ts; // then this might actually turn out to be a TemplateHead in the future; // so we consider the call to be incomplete. var templateLiteral = node.template; - ts.Debug.assert(templateLiteral.kind === 14 /* NoSubstitutionTemplateLiteral */); + ts.Debug.assert(templateLiteral.kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */); callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 165 /* Decorator */) { + else if (node.kind === 165 /* SyntaxKind.Decorator */) { argCount = getDecoratorArgumentCount(node, signature); } else if (ts.isJsxOpeningLikeElement(node)) { @@ -75063,7 +75328,7 @@ var ts; } else if (!node.arguments) { // This only happens when we have something of the form: 'new C' - ts.Debug.assert(node.kind === 209 /* NewExpression */); + ts.Debug.assert(node.kind === 209 /* SyntaxKind.NewExpression */); return getMinArgumentCount(signature) === 0; } else { @@ -75087,7 +75352,7 @@ var ts; } for (var i = argCount; i < effectiveMinimumArguments; i++) { var type = getTypeAtPosition(signature, i); - if (filterType(type, ts.isInJSFile(node) && !strictNullChecks ? acceptsVoidUndefinedUnknownOrAny : acceptsVoid).flags & 131072 /* Never */) { + if (filterType(type, ts.isInJSFile(node) && !strictNullChecks ? acceptsVoidUndefinedUnknownOrAny : acceptsVoid).flags & 131072 /* TypeFlags.Never */) { return false; } } @@ -75103,20 +75368,20 @@ var ts; } // If type has a single call signature and no other members, return that signature. Otherwise, return undefined. function getSingleCallSignature(type) { - return getSingleSignature(type, 0 /* Call */, /*allowMembers*/ false); + return getSingleSignature(type, 0 /* SignatureKind.Call */, /*allowMembers*/ false); } function getSingleCallOrConstructSignature(type) { - return getSingleSignature(type, 0 /* Call */, /*allowMembers*/ false) || - getSingleSignature(type, 1 /* Construct */, /*allowMembers*/ false); + return getSingleSignature(type, 0 /* SignatureKind.Call */, /*allowMembers*/ false) || + getSingleSignature(type, 1 /* SignatureKind.Construct */, /*allowMembers*/ false); } function getSingleSignature(type, kind, allowMembers) { - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); if (allowMembers || resolved.properties.length === 0 && resolved.indexInfos.length === 0) { - if (kind === 0 /* Call */ && resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0) { + if (kind === 0 /* SignatureKind.Call */ && resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0) { return resolved.callSignatures[0]; } - if (kind === 1 /* Construct */ && resolved.constructSignatures.length === 1 && resolved.callSignatures.length === 0) { + if (kind === 1 /* SignatureKind.Construct */ && resolved.constructSignatures.length === 1 && resolved.callSignatures.length === 0) { return resolved.constructSignatures[0]; } } @@ -75125,12 +75390,12 @@ var ts; } // Instantiate a generic signature in the context of a non-generic signature (section 3.8.5 in TypeScript spec) function instantiateSignatureInContextOf(signature, contextualSignature, inferenceContext, compareTypes) { - var context = createInferenceContext(signature.typeParameters, signature, 0 /* None */, compareTypes); + var context = createInferenceContext(signature.typeParameters, signature, 0 /* InferenceFlags.None */, compareTypes); // We clone the inferenceContext to avoid fixing. For example, when the source signature is (x: T) => T[] and // the contextual signature is (...args: A) => B, we want to infer the element type of A's constraint (say 'any') // for T but leave it possible to later infer '[any]' back to A. var restType = getEffectiveRestType(contextualSignature); - var mapper = inferenceContext && (restType && restType.flags & 262144 /* TypeParameter */ ? inferenceContext.nonFixingMapper : inferenceContext.mapper); + var mapper = inferenceContext && (restType && restType.flags & 262144 /* TypeFlags.TypeParameter */ ? inferenceContext.nonFixingMapper : inferenceContext.mapper); var sourceSignature = mapper ? instantiateSignature(contextualSignature, mapper) : contextualSignature; applyToParameterTypes(sourceSignature, signature, function (source, target) { // Type parameters from outer context referenced by source type are fixed by instantiation of the source type @@ -75138,7 +75403,7 @@ var ts; }); if (!inferenceContext) { applyToReturnTypes(contextualSignature, signature, function (source, target) { - inferTypes(context.inferences, source, target, 128 /* ReturnType */); + inferTypes(context.inferences, source, target, 128 /* InferencePriority.ReturnType */); }); } return getSignatureInstantiation(signature, getInferredTypes(context), ts.isInJSFile(contextualSignature.declaration)); @@ -75166,8 +75431,8 @@ var ts; // example, given a 'function wrap(cb: (x: T) => U): (x: T) => U' and a call expression // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. - if (node.kind !== 165 /* Decorator */) { - var contextualType = getContextualType(node, ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }) ? 8 /* SkipBindingPatterns */ : 0 /* None */); + if (node.kind !== 165 /* SyntaxKind.Decorator */) { + var contextualType = getContextualType(node, ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }) ? 8 /* ContextFlags.SkipBindingPatterns */ : 0 /* ContextFlags.None */); if (contextualType) { var inferenceTargetType = getReturnTypeOfSignature(signature); if (couldContainTypeVariables(inferenceTargetType)) { @@ -75175,7 +75440,7 @@ var ts; // outer call expression. Effectively we just want a snapshot of whatever has been // inferred for any outer call expression so far. var outerContext = getInferenceContext(node); - var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1 /* NoDefault */)); + var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1 /* InferenceFlags.NoDefault */)); var instantiatedType = instantiateType(contextualType, outerMapper); // If the contextual type is a generic function type with a single call signature, we // instantiate the type with its own type parameters and type arguments. This ensures that @@ -75189,7 +75454,7 @@ var ts; getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(contextualSignature, contextualSignature.typeParameters)) : instantiatedType; // Inferences made from return types have lower priority than all other inferences. - inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* ReturnType */); + inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* InferencePriority.ReturnType */); // Create a type mapper for instantiating generic contextual types using the inferences made // from the return type. We need a separate inference pass here because (a) instantiation of // the source type uses the outer context's return mapper (which excludes inferences made from @@ -75203,7 +75468,7 @@ var ts; } var restType = getNonArrayRestType(signature); var argCount = restType ? Math.min(getParameterCount(signature) - 1, args.length) : args.length; - if (restType && restType.flags & 262144 /* TypeParameter */) { + if (restType && restType.flags & 262144 /* TypeFlags.TypeParameter */) { var info = ts.find(context.inferences, function (info) { return info.typeParameter === restType; }); if (info) { info.impliedArity = ts.findIndex(args, isSpreadArgument, argCount) < 0 ? args.length - argCount : undefined; @@ -75216,7 +75481,7 @@ var ts; } for (var i = 0; i < argCount; i++) { var arg = args[i]; - if (arg.kind !== 227 /* OmittedExpression */ && !(checkMode & 32 /* IsForStringLiteralArgumentCompletions */ && hasSkipDirectInferenceFlag(arg))) { + if (arg.kind !== 227 /* SyntaxKind.OmittedExpression */ && !(checkMode & 32 /* CheckMode.IsForStringLiteralArgumentCompletions */ && hasSkipDirectInferenceFlag(arg))) { var paramType = getTypeAtPosition(signature, i); if (couldContainTypeVariables(paramType)) { var argType = checkExpressionWithContextualType(arg, paramType, context, checkMode); @@ -75231,10 +75496,10 @@ var ts; return getInferredTypes(context); } function getMutableArrayOrTupleType(type) { - return type.flags & 1048576 /* Union */ ? mapType(type, getMutableArrayOrTupleType) : - type.flags & 1 /* Any */ || isMutableArrayOrTuple(getBaseConstraintOfType(type) || type) ? type : + return type.flags & 1048576 /* TypeFlags.Union */ ? mapType(type, getMutableArrayOrTupleType) : + type.flags & 1 /* TypeFlags.Any */ || isMutableArrayOrTuple(getBaseConstraintOfType(type) || type) ? type : isTupleType(type) ? createTupleType(getTypeArguments(type), type.target.elementFlags, /*readonly*/ false, type.target.labeledElementDeclarations) : - createTupleType([type], [8 /* Variadic */]); + createTupleType([type], [8 /* ElementFlags.Variadic */]); } function getSpreadArgumentType(args, index, argCount, restType, context, checkMode) { if (index >= argCount - 1) { @@ -75242,7 +75507,7 @@ var ts; if (isSpreadArgument(arg)) { // We are inferring from a spread expression in the last argument position, i.e. both the parameter // and the argument are ...x forms. - return getMutableArrayOrTupleType(arg.kind === 232 /* SyntheticExpression */ ? arg.type : + return getMutableArrayOrTupleType(arg.kind === 232 /* SyntaxKind.SyntheticExpression */ ? arg.type : checkExpressionWithContextualType(arg.expression, restType, context, checkMode)); } } @@ -75252,24 +75517,24 @@ var ts; for (var i = index; i < argCount; i++) { var arg = args[i]; if (isSpreadArgument(arg)) { - var spreadType = arg.kind === 232 /* SyntheticExpression */ ? arg.type : checkExpression(arg.expression); + var spreadType = arg.kind === 232 /* SyntaxKind.SyntheticExpression */ ? arg.type : checkExpression(arg.expression); if (isArrayLikeType(spreadType)) { types.push(spreadType); - flags.push(8 /* Variadic */); + flags.push(8 /* ElementFlags.Variadic */); } else { - types.push(checkIteratedTypeOrElementType(33 /* Spread */, spreadType, undefinedType, arg.kind === 225 /* SpreadElement */ ? arg.expression : arg)); - flags.push(4 /* Rest */); + types.push(checkIteratedTypeOrElementType(33 /* IterationUse.Spread */, spreadType, undefinedType, arg.kind === 225 /* SyntaxKind.SpreadElement */ ? arg.expression : arg)); + flags.push(4 /* ElementFlags.Rest */); } } else { - var contextualType = getIndexedAccessType(restType, getNumberLiteralType(i - index), 256 /* Contextual */); + var contextualType = getIndexedAccessType(restType, getNumberLiteralType(i - index), 256 /* AccessFlags.Contextual */); var argType = checkExpressionWithContextualType(arg, contextualType, context, checkMode); - var hasPrimitiveContextualType = maybeTypeOfKind(contextualType, 131068 /* Primitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */); + var hasPrimitiveContextualType = maybeTypeOfKind(contextualType, 131068 /* TypeFlags.Primitive */ | 4194304 /* TypeFlags.Index */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */); types.push(hasPrimitiveContextualType ? getRegularTypeOfLiteralType(argType) : getWidenedLiteralType(argType)); - flags.push(1 /* Required */); + flags.push(1 /* ElementFlags.Required */); } - if (arg.kind === 232 /* SyntheticExpression */ && arg.tupleNameSource) { + if (arg.kind === 232 /* SyntaxKind.SyntheticExpression */ && arg.tupleNameSource) { names.push(arg.tupleNameSource); } } @@ -75299,16 +75564,16 @@ var ts; } function getJsxReferenceKind(node) { if (isJsxIntrinsicIdentifier(node.tagName)) { - return 2 /* Mixed */; + return 2 /* JsxReferenceKind.Mixed */; } var tagType = getApparentType(checkExpression(node.tagName)); - if (ts.length(getSignaturesOfType(tagType, 1 /* Construct */))) { - return 0 /* Component */; + if (ts.length(getSignaturesOfType(tagType, 1 /* SignatureKind.Construct */))) { + return 0 /* JsxReferenceKind.Component */; } - if (ts.length(getSignaturesOfType(tagType, 0 /* Call */))) { - return 1 /* Function */; + if (ts.length(getSignaturesOfType(tagType, 0 /* SignatureKind.Call */))) { + return 1 /* JsxReferenceKind.Function */; } - return 2 /* Mixed */; + return 2 /* JsxReferenceKind.Mixed */; } /** * Check if the given signature can possibly be a signature called by the JSX opening-like element. @@ -75333,7 +75598,7 @@ var ts; if (!tagType) { return true; } - var tagCallSignatures = getSignaturesOfType(tagType, 0 /* Call */); + var tagCallSignatures = getSignaturesOfType(tagType, 0 /* SignatureKind.Call */); if (!ts.length(tagCallSignatures)) { return true; } @@ -75341,12 +75606,12 @@ var ts; if (!factory) { return true; } - var factorySymbol = resolveEntityName(factory, 111551 /* Value */, /*ignoreErrors*/ true, /*dontResolveAlias*/ false, node); + var factorySymbol = resolveEntityName(factory, 111551 /* SymbolFlags.Value */, /*ignoreErrors*/ true, /*dontResolveAlias*/ false, node); if (!factorySymbol) { return true; } var factoryType = getTypeOfSymbol(factorySymbol); - var callSignatures = getSignaturesOfType(factoryType, 0 /* Call */); + var callSignatures = getSignaturesOfType(factoryType, 0 /* SignatureKind.Call */); if (!ts.length(callSignatures)) { return true; } @@ -75356,7 +75621,7 @@ var ts; for (var _i = 0, callSignatures_1 = callSignatures; _i < callSignatures_1.length; _i++) { var sig = callSignatures_1[_i]; var firstparam = getTypeAtPosition(sig, 0); - var signaturesOfParam = getSignaturesOfType(firstparam, 0 /* Call */); + var signaturesOfParam = getSignaturesOfType(firstparam, 0 /* SignatureKind.Call */); if (!ts.length(signaturesOfParam)) continue; for (var _b = 0, signaturesOfParam_1 = signaturesOfParam; _b < signaturesOfParam_1.length; _b++) { @@ -75413,7 +75678,7 @@ var ts; return undefined; } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 209 /* NewExpression */) { + if (thisType && thisType !== voidType && node.kind !== 209 /* SyntaxKind.NewExpression */) { // If the called expression is not of the form `x.f` or `x["f"]`, then sourceType = voidType // If the signature's 'this' type is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. @@ -75431,13 +75696,13 @@ var ts; var argCount = restType ? Math.min(getParameterCount(signature) - 1, args.length) : args.length; for (var i = 0; i < argCount; i++) { var arg = args[i]; - if (arg.kind !== 227 /* OmittedExpression */) { + if (arg.kind !== 227 /* SyntaxKind.OmittedExpression */) { var paramType = getTypeAtPosition(signature, i); var argType = checkExpressionWithContextualType(arg, paramType, /*inferenceContext*/ undefined, checkMode); // If one or more arguments are still excluded (as indicated by CheckMode.SkipContextSensitive), // we obtain the regular type of any object literal arguments because we may not have inferred complete // parameter types yet and therefore excess property checks may yield false positives (see #17041). - var checkArgType = checkMode & 4 /* SkipContextSensitive */ ? getRegularTypeOfObjectLiteral(argType) : argType; + var checkArgType = checkMode & 4 /* CheckMode.SkipContextSensitive */ ? getRegularTypeOfObjectLiteral(argType) : argType; if (!checkTypeRelatedToAndOptionallyElaborate(checkArgType, paramType, relation, reportErrors ? arg : undefined, arg, headMessage, containingMessageChain, errorOutputContainer)) { ts.Debug.assert(!reportErrors || !!errorOutputContainer.errors, "parameter should have errors when reporting errors"); maybeAddMissingAwaitInfo(arg, checkArgType, paramType); @@ -75476,8 +75741,8 @@ var ts; * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. */ function getThisArgumentOfCall(node) { - var expression = node.kind === 208 /* CallExpression */ ? node.expression : - node.kind === 210 /* TaggedTemplateExpression */ ? node.tag : undefined; + var expression = node.kind === 208 /* SyntaxKind.CallExpression */ ? node.expression : + node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */ ? node.tag : undefined; if (expression) { var callee = ts.skipOuterExpressions(expression); if (ts.isAccessExpression(callee)) { @@ -75495,17 +75760,17 @@ var ts; * Returns the effective arguments for an expression that works like a function invocation. */ function getEffectiveCallArguments(node) { - if (node.kind === 210 /* TaggedTemplateExpression */) { + if (node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { var template = node.template; var args_3 = [createSyntheticExpression(template, getGlobalTemplateStringsArrayType())]; - if (template.kind === 223 /* TemplateExpression */) { + if (template.kind === 223 /* SyntaxKind.TemplateExpression */) { ts.forEach(template.templateSpans, function (span) { args_3.push(span.expression); }); } return args_3; } - if (node.kind === 165 /* Decorator */) { + if (node.kind === 165 /* SyntaxKind.Decorator */) { return getEffectiveDecoratorArguments(node); } if (ts.isJsxOpeningLikeElement(node)) { @@ -75519,12 +75784,12 @@ var ts; var _loop_24 = function (i) { var arg = args[i]; // We can call checkExpressionCached because spread expressions never have a contextual type. - var spreadType = arg.kind === 225 /* SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); + var spreadType = arg.kind === 225 /* SyntaxKind.SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); if (spreadType && isTupleType(spreadType)) { ts.forEach(getTypeArguments(spreadType), function (t, i) { var _a; var flags = spreadType.target.elementFlags[i]; - var syntheticArg = createSyntheticExpression(arg, flags & 4 /* Rest */ ? createArrayType(t) : t, !!(flags & 12 /* Variable */), (_a = spreadType.target.labeledElementDeclarations) === null || _a === void 0 ? void 0 : _a[i]); + var syntheticArg = createSyntheticExpression(arg, flags & 4 /* ElementFlags.Rest */ ? createArrayType(t) : t, !!(flags & 12 /* ElementFlags.Variable */), (_a = spreadType.target.labeledElementDeclarations) === null || _a === void 0 ? void 0 : _a[i]); effectiveArgs_1.push(syntheticArg); }); } @@ -75546,30 +75811,30 @@ var ts; var parent = node.parent; var expr = node.expression; switch (parent.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: // For a class decorator, the `target` is the type of the class (e.g. the // "static" or "constructor" side of the class). return [ createSyntheticExpression(expr, getTypeOfSymbol(getSymbolOfNode(parent))) ]; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: // A parameter declaration decorator will have three arguments (see // `ParameterDecorator` in core.d.ts). var func = parent.parent; return [ - createSyntheticExpression(expr, parent.parent.kind === 171 /* Constructor */ ? getTypeOfSymbol(getSymbolOfNode(func)) : errorType), + createSyntheticExpression(expr, parent.parent.kind === 171 /* SyntaxKind.Constructor */ ? getTypeOfSymbol(getSymbolOfNode(func)) : errorType), createSyntheticExpression(expr, anyType), createSyntheticExpression(expr, numberType) ]; - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // A method or accessor declaration decorator will have two or three arguments (see // `PropertyDecorator` and `MethodDecorator` in core.d.ts). If we are emitting decorators // for ES3, we will only pass two arguments. - var hasPropDesc = parent.kind !== 167 /* PropertyDeclaration */ && languageVersion !== 0 /* ES3 */; + var hasPropDesc = parent.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && languageVersion !== 0 /* ScriptTarget.ES3 */; return [ createSyntheticExpression(expr, getParentTypeOfClassElement(parent)), createSyntheticExpression(expr, getClassElementPropertyKeyType(parent)), @@ -75583,17 +75848,17 @@ var ts; */ function getDecoratorArgumentCount(node, signature) { switch (node.parent.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: return 1; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return 2; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // For ES3 or decorators with only two parameters we supply only two arguments - return languageVersion === 0 /* ES3 */ || signature.parameters.length <= 2 ? 2 : 3; - case 164 /* Parameter */: + return languageVersion === 0 /* ScriptTarget.ES3 */ || signature.parameters.length <= 2 ? 2 : 3; + case 164 /* SyntaxKind.Parameter */: return 3; default: return ts.Debug.fail(); @@ -75627,7 +75892,7 @@ var ts; function isPromiseResolveArityError(node) { if (!ts.isCallExpression(node) || !ts.isIdentifier(node.expression)) return false; - var symbol = resolveName(node.expression, node.expression.escapedText, 111551 /* Value */, undefined, undefined, false); + var symbol = resolveName(node.expression, node.expression.escapedText, 111551 /* SymbolFlags.Value */, undefined, undefined, false); var decl = symbol === null || symbol === void 0 ? void 0 : symbol.valueDeclaration; if (!decl || !ts.isParameter(decl) || !ts.isFunctionExpressionOrArrowFunction(decl.parent) || !ts.isNewExpression(decl.parent.parent) || !ts.isIdentifier(decl.parent.parent.expression)) { return false; @@ -75669,8 +75934,14 @@ var ts; var parameterRange = hasRestParameter ? min : min < max ? min + "-" + max : min; - var error = hasRestParameter ? ts.Diagnostics.Expected_at_least_0_arguments_but_got_1 - : parameterRange === 1 && args.length === 0 && isPromiseResolveArityError(node) ? ts.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise + var isVoidPromiseError = !hasRestParameter && parameterRange === 1 && args.length === 0 && isPromiseResolveArityError(node); + if (isVoidPromiseError && ts.isInJSFile(node)) { + return getDiagnosticForCallNode(node, ts.Diagnostics.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments); + } + var error = hasRestParameter + ? ts.Diagnostics.Expected_at_least_0_arguments_but_got_1 + : isVoidPromiseError + ? ts.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise : ts.Diagnostics.Expected_0_arguments_but_got_1; if (min < args.length && args.length < max) { // between min and max, but with no matching overload @@ -75729,15 +76000,15 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, belowArgCount === -Infinity ? aboveArgCount : belowArgCount, argCount); } function resolveCall(node, signatures, candidatesOutArray, checkMode, callChainFlags, fallbackError) { - var isTaggedTemplate = node.kind === 210 /* TaggedTemplateExpression */; - var isDecorator = node.kind === 165 /* Decorator */; + var isTaggedTemplate = node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */; + var isDecorator = node.kind === 165 /* SyntaxKind.Decorator */; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var reportErrors = !candidatesOutArray; var typeArguments; if (!isDecorator) { typeArguments = node.typeArguments; // We already perform checking on the type arguments on the class declaration itself. - if (isTaggedTemplate || isJsxOpeningOrSelfClosingElement || node.expression.kind !== 106 /* SuperKeyword */) { + if (isTaggedTemplate || isJsxOpeningOrSelfClosingElement || node.expression.kind !== 106 /* SyntaxKind.SuperKeyword */) { ts.forEach(typeArguments, checkSourceElement); } } @@ -75764,7 +76035,8 @@ var ts; // For a decorator, no arguments are susceptible to contextual typing due to the fact // decorators are applied to a declaration by the emitter, and not to an expression. var isSingleNonGenericCandidate = candidates.length === 1 && !candidates[0].typeParameters; - var argCheckMode = !isDecorator && !isSingleNonGenericCandidate && ts.some(args, isContextSensitive) ? 4 /* SkipContextSensitive */ : 0 /* Normal */; + var argCheckMode = !isDecorator && !isSingleNonGenericCandidate && ts.some(args, isContextSensitive) ? 4 /* CheckMode.SkipContextSensitive */ : 0 /* CheckMode.Normal */; + argCheckMode |= checkMode & 32 /* CheckMode.IsForStringLiteralArgumentCompletions */; // The following variables are captured and modified by calls to chooseOverload. // If overload resolution or type argument inference fails, we want to report the // best error possible. The best error is one which says that an argument was not @@ -75792,7 +76064,7 @@ var ts; var result; // If we are in signature help, a trailing comma indicates that we intend to provide another argument, // so we will only accept overloads with arity at least 1 higher than the current number of provided arguments. - var signatureHelpTrailingComma = !!(checkMode & 16 /* IsForSignatureHelp */) && node.kind === 208 /* CallExpression */ && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = !!(checkMode & 16 /* CheckMode.IsForSignatureHelp */) && node.kind === 208 /* SyntaxKind.CallExpression */ && node.arguments.hasTrailingComma; // Section 4.12.1: // if the candidate list contains one or more signatures for which the type of each argument // expression is a subtype of each corresponding parameter type, the return type of the first @@ -75825,7 +76097,7 @@ var ts; chain_1 = ts.chainDiagnosticMessages(chain_1, ts.Diagnostics.The_last_overload_gave_the_following_error); chain_1 = ts.chainDiagnosticMessages(chain_1, ts.Diagnostics.No_overload_matches_this_call); } - var diags = getSignatureApplicabilityError(node, args, last_2, assignableRelation, 0 /* Normal */, /*reportErrors*/ true, function () { return chain_1; }); + var diags = getSignatureApplicabilityError(node, args, last_2, assignableRelation, 0 /* CheckMode.Normal */, /*reportErrors*/ true, function () { return chain_1; }); if (diags) { for (var _i = 0, diags_1 = diags; _i < diags_1.length; _i++) { var d = diags_1[_i]; @@ -75848,7 +76120,7 @@ var ts; var i_1 = 0; var _loop_25 = function (c) { var chain_2 = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Overload_0_of_1_2_gave_the_following_error, i_1 + 1, candidates.length, signatureToString(c)); }; - var diags_2 = getSignatureApplicabilityError(node, args, c, assignableRelation, 0 /* Normal */, /*reportErrors*/ true, chain_2); + var diags_2 = getSignatureApplicabilityError(node, args, c, assignableRelation, 0 /* CheckMode.Normal */, /*reportErrors*/ true, chain_2); if (diags_2) { if (diags_2.length <= min_3) { min_3 = diags_2.length; @@ -75933,7 +76205,7 @@ var ts; if (ts.some(typeArguments) || !hasCorrectArity(node, args, candidate, signatureHelpTrailingComma)) { return undefined; } - if (getSignatureApplicabilityError(node, args, candidate, relation, 0 /* Normal */, /*reportErrors*/ false, /*containingMessageChain*/ undefined)) { + if (getSignatureApplicabilityError(node, args, candidate, relation, 0 /* CheckMode.Normal */, /*reportErrors*/ false, /*containingMessageChain*/ undefined)) { candidatesForArgumentError = [candidate]; return undefined; } @@ -75956,9 +76228,9 @@ var ts; } } else { - inferenceContext = createInferenceContext(candidate.typeParameters, candidate, /*flags*/ ts.isInJSFile(node) ? 2 /* AnyDefault */ : 0 /* None */); - typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode | 8 /* SkipGenericFunctions */, inferenceContext); - argCheckMode |= inferenceContext.flags & 4 /* SkippedGenericFunction */ ? 8 /* SkipGenericFunctions */ : 0 /* Normal */; + inferenceContext = createInferenceContext(candidate.typeParameters, candidate, /*flags*/ ts.isInJSFile(node) ? 2 /* InferenceFlags.AnyDefault */ : 0 /* InferenceFlags.None */); + typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode | 8 /* CheckMode.SkipGenericFunctions */, inferenceContext); + argCheckMode |= inferenceContext.flags & 4 /* InferenceFlags.SkippedGenericFunction */ ? 8 /* CheckMode.SkipGenericFunctions */ : 0 /* CheckMode.Normal */; } checkCandidate = getSignatureInstantiation(candidate, typeArgumentTypes, ts.isInJSFile(candidate.declaration), inferenceContext && inferenceContext.inferredTypeParameters); // If the original signature has a generic rest type, instantiation may produce a @@ -75980,7 +76252,7 @@ var ts; // If one or more context sensitive arguments were excluded, we start including // them now (and keeping do so for any subsequent candidates) and perform a second // round of type inference and applicability checking for this particular candidate. - argCheckMode = 0 /* Normal */; + argCheckMode = checkMode & 32 /* CheckMode.IsForStringLiteralArgumentCompletions */; if (inferenceContext) { var typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode, inferenceContext); checkCandidate = getSignatureInstantiation(candidate, typeArgumentTypes, ts.isInJSFile(candidate.declaration), inferenceContext && inferenceContext.inferredTypeParameters); @@ -76033,14 +76305,14 @@ var ts; _loop_26(i); } var restParameterSymbols = ts.mapDefined(candidates, function (c) { return signatureHasRestParameter(c) ? ts.last(c.parameters) : undefined; }); - var flags = 0 /* None */; + var flags = 0 /* SignatureFlags.None */; if (restParameterSymbols.length !== 0) { - var type = createArrayType(getUnionType(ts.mapDefined(candidates, tryGetRestTypeOfSignature), 2 /* Subtype */)); + var type = createArrayType(getUnionType(ts.mapDefined(candidates, tryGetRestTypeOfSignature), 2 /* UnionReduction.Subtype */)); parameters.push(createCombinedSymbolForOverloadFailure(restParameterSymbols, type)); - flags |= 1 /* HasRestParameter */; + flags |= 1 /* SignatureFlags.HasRestParameter */; } if (candidates.some(signatureHasLiteralTypes)) { - flags |= 2 /* HasLiteralTypes */; + flags |= 2 /* SignatureFlags.HasLiteralTypes */; } return createSignature(candidates[0].declaration, /*typeParameters*/ undefined, // Before calling this we tested for `!candidates.some(c => !!c.typeParameters)`. @@ -76053,7 +76325,7 @@ var ts; return signatureHasRestParameter(signature) ? numParams - 1 : numParams; } function createCombinedSymbolFromTypes(sources, types) { - return createCombinedSymbolForOverloadFailure(sources, getUnionType(types, 2 /* Subtype */)); + return createCombinedSymbolForOverloadFailure(sources, getUnionType(types, 2 /* UnionReduction.Subtype */)); } function createCombinedSymbolForOverloadFailure(sources, type) { // This function is currently only used for erroneous overloads, so it's good enough to just use the first source. @@ -76090,8 +76362,8 @@ var ts; return typeArguments; } function inferSignatureInstantiationForOverloadFailure(node, typeParameters, candidate, args, checkMode) { - var inferenceContext = createInferenceContext(typeParameters, candidate, /*flags*/ ts.isInJSFile(node) ? 2 /* AnyDefault */ : 0 /* None */); - var typeArgumentTypes = inferTypeArguments(node, candidate, args, checkMode | 4 /* SkipContextSensitive */ | 8 /* SkipGenericFunctions */, inferenceContext); + var inferenceContext = createInferenceContext(typeParameters, candidate, /*flags*/ ts.isInJSFile(node) ? 2 /* InferenceFlags.AnyDefault */ : 0 /* InferenceFlags.None */); + var typeArgumentTypes = inferTypeArguments(node, candidate, args, checkMode | 4 /* CheckMode.SkipContextSensitive */ | 8 /* CheckMode.SkipGenericFunctions */, inferenceContext); return createSignatureInstantiation(candidate, typeArgumentTypes); } function getLongestCandidateIndex(candidates, argsCount) { @@ -76111,7 +76383,7 @@ var ts; return maxParamsIndex; } function resolveCallExpression(node, candidatesOutArray, checkMode) { - if (node.expression.kind === 106 /* SuperKeyword */) { + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { var superType = checkSuperExpression(node.expression); if (isTypeAny(superType)) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { @@ -76126,7 +76398,7 @@ var ts; var baseTypeNode = ts.getEffectiveBaseTypeNode(ts.getContainingClass(node)); if (baseTypeNode) { var baseConstructors = getInstantiatedConstructorsForTypeArguments(superType, baseTypeNode.typeArguments, baseTypeNode); - return resolveCall(node, baseConstructors, candidatesOutArray, checkMode, 0 /* None */); + return resolveCall(node, baseConstructors, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */); } } return resolveUntypedCall(node); @@ -76135,13 +76407,13 @@ var ts; var funcType = checkExpression(node.expression); if (ts.isCallChain(node)) { var nonOptionalType = getOptionalExpressionType(funcType, node.expression); - callChainFlags = nonOptionalType === funcType ? 0 /* None */ : - ts.isOutermostOptionalChain(node) ? 16 /* IsOuterCallChain */ : - 8 /* IsInnerCallChain */; + callChainFlags = nonOptionalType === funcType ? 0 /* SignatureFlags.None */ : + ts.isOutermostOptionalChain(node) ? 16 /* SignatureFlags.IsOuterCallChain */ : + 8 /* SignatureFlags.IsInnerCallChain */; funcType = nonOptionalType; } else { - callChainFlags = 0 /* None */; + callChainFlags = 0 /* SignatureFlags.None */; } funcType = checkNonNullTypeWithReporter(funcType, node.expression, reportCannotInvokePossiblyNullOrUndefinedError); if (funcType === silentNeverType) { @@ -76156,8 +76428,8 @@ var ts; // but we are not including call signatures that may have been added to the Object or // Function interface, since they have none by default. This is a bit of a leap of faith // that the user will not add any. - var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); - var numConstructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */).length; + var callSignatures = getSignaturesOfType(apparentType, 0 /* SignatureKind.Call */); + var numConstructSignatures = getSignaturesOfType(apparentType, 1 /* SignatureKind.Construct */).length; // TS 1.0 Spec: 4.12 // In an untyped function call no TypeArgs are permitted, Args can be any argument list, no contextual // types are provided for the argument expressions, and the result is always of type Any. @@ -76184,7 +76456,7 @@ var ts; relatedInformation = ts.createDiagnosticForNode(node.expression, ts.Diagnostics.Are_you_missing_a_semicolon); } } - invocationError(node.expression, apparentType, 0 /* Call */, relatedInformation); + invocationError(node.expression, apparentType, 0 /* SignatureKind.Call */, relatedInformation); } return resolveErrorCall(node); } @@ -76200,7 +76472,7 @@ var ts; // use the resolvingSignature singleton to indicate that we deferred processing. This result will be // propagated out and eventually turned into nonInferrableType (a type that is assignable to anything and // from which we never make inferences). - if (checkMode & 8 /* SkipGenericFunctions */ && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunction)) { + if (checkMode & 8 /* CheckMode.SkipGenericFunctions */ && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunction)) { skippedGenericFunction(node, checkMode); return resolvingSignature; } @@ -76221,11 +76493,11 @@ var ts; */ function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) { // We exclude union types because we may have a union of function types that happen to have no common signatures. - return isTypeAny(funcType) || isTypeAny(apparentFuncType) && !!(funcType.flags & 262144 /* TypeParameter */) || - !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & 1048576 /* Union */) && !(getReducedType(apparentFuncType).flags & 131072 /* Never */) && isTypeAssignableTo(funcType, globalFunctionType); + return isTypeAny(funcType) || isTypeAny(apparentFuncType) && !!(funcType.flags & 262144 /* TypeFlags.TypeParameter */) || + !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & 1048576 /* TypeFlags.Union */) && !(getReducedType(apparentFuncType).flags & 131072 /* TypeFlags.Never */) && isTypeAssignableTo(funcType, globalFunctionType); } function resolveNewExpression(node, candidatesOutArray, checkMode) { - if (node.arguments && languageVersion < 1 /* ES5 */) { + if (node.arguments && languageVersion < 1 /* ScriptTarget.ES5 */) { var spreadIndex = getSpreadArgumentIndex(node.arguments); if (spreadIndex >= 0) { error(node.arguments[spreadIndex], ts.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher); @@ -76258,7 +76530,7 @@ var ts; // but we are not including construct signatures that may have been added to the Object or // Function interface, since they have none by default. This is a bit of a leap of faith // that the user will not add any. - var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); + var constructSignatures = getSignaturesOfType(expressionType, 1 /* SignatureKind.Construct */); if (constructSignatures.length) { if (!isConstructorAccessible(node, constructSignatures[0])) { return resolveErrorCall(node); @@ -76267,24 +76539,24 @@ var ts; // then it cannot be instantiated. // In the case of a merged class-module or class-interface declaration, // only the class declaration node will have the Abstract flag set. - if (someSignature(constructSignatures, function (signature) { return !!(signature.flags & 4 /* Abstract */); })) { + if (someSignature(constructSignatures, function (signature) { return !!(signature.flags & 4 /* SignatureFlags.Abstract */); })) { error(node, ts.Diagnostics.Cannot_create_an_instance_of_an_abstract_class); return resolveErrorCall(node); } var valueDecl = expressionType.symbol && ts.getClassLikeDeclarationOfSymbol(expressionType.symbol); - if (valueDecl && ts.hasSyntacticModifier(valueDecl, 128 /* Abstract */)) { + if (valueDecl && ts.hasSyntacticModifier(valueDecl, 128 /* ModifierFlags.Abstract */)) { error(node, ts.Diagnostics.Cannot_create_an_instance_of_an_abstract_class); return resolveErrorCall(node); } - return resolveCall(node, constructSignatures, candidatesOutArray, checkMode, 0 /* None */); + return resolveCall(node, constructSignatures, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */); } // If expressionType's apparent type is an object type with no construct signatures but // one or more call signatures, the expression is processed as a function call. A compile-time // error occurs if the result of the function call is not Void. The type of the result of the // operation is Any. It is an error to have a Void this type. - var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); + var callSignatures = getSignaturesOfType(expressionType, 0 /* SignatureKind.Call */); if (callSignatures.length) { - var signature = resolveCall(node, callSignatures, candidatesOutArray, checkMode, 0 /* None */); + var signature = resolveCall(node, callSignatures, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */); if (!noImplicitAny) { if (signature.declaration && !isJSConstructor(signature.declaration) && getReturnTypeOfSignature(signature) !== voidType) { error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); @@ -76295,14 +76567,14 @@ var ts; } return signature; } - invocationError(node.expression, expressionType, 1 /* Construct */); + invocationError(node.expression, expressionType, 1 /* SignatureKind.Construct */); return resolveErrorCall(node); } function someSignature(signatures, f) { if (ts.isArray(signatures)) { return ts.some(signatures, function (signature) { return someSignature(signature, f); }); } - return signatures.compositeKind === 1048576 /* Union */ ? ts.some(signatures.compositeSignatures, f) : f(signatures); + return signatures.compositeKind === 1048576 /* TypeFlags.Union */ ? ts.some(signatures.compositeSignatures, f) : f(signatures); } function typeHasProtectedAccessibleBase(target, type) { var baseTypes = getBaseTypes(type); @@ -76310,7 +76582,7 @@ var ts; return false; } var firstBase = baseTypes[0]; - if (firstBase.flags & 2097152 /* Intersection */) { + if (firstBase.flags & 2097152 /* TypeFlags.Intersection */) { var types = firstBase.types; var mixinFlags = findMixins(types); var i = 0; @@ -76318,7 +76590,7 @@ var ts; var intersectionMember = _a[_i]; // We want to ignore mixin ctors if (!mixinFlags[i]) { - if (ts.getObjectFlags(intersectionMember) & (1 /* Class */ | 2 /* Interface */)) { + if (ts.getObjectFlags(intersectionMember) & (1 /* ObjectFlags.Class */ | 2 /* ObjectFlags.Interface */)) { if (intersectionMember.symbol === target) { return true; } @@ -76341,9 +76613,9 @@ var ts; return true; } var declaration = signature.declaration; - var modifiers = ts.getSelectedEffectiveModifierFlags(declaration, 24 /* NonPublicAccessibilityModifier */); + var modifiers = ts.getSelectedEffectiveModifierFlags(declaration, 24 /* ModifierFlags.NonPublicAccessibilityModifier */); // (1) Public constructors and (2) constructor functions are always accessible. - if (!modifiers || declaration.kind !== 171 /* Constructor */) { + if (!modifiers || declaration.kind !== 171 /* SyntaxKind.Constructor */) { return true; } var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(declaration.parent.symbol); @@ -76351,16 +76623,16 @@ var ts; // A private or protected constructor can only be instantiated within its own class (or a subclass, for protected) if (!isNodeWithinClass(node, declaringClassDeclaration)) { var containingClass = ts.getContainingClass(node); - if (containingClass && modifiers & 16 /* Protected */) { + if (containingClass && modifiers & 16 /* ModifierFlags.Protected */) { var containingType = getTypeOfNode(containingClass); if (typeHasProtectedAccessibleBase(declaration.parent.symbol, containingType)) { return true; } } - if (modifiers & 8 /* Private */) { + if (modifiers & 8 /* ModifierFlags.Private */) { error(node, ts.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration, typeToString(declaringClass)); } - if (modifiers & 16 /* Protected */) { + if (modifiers & 16 /* ModifierFlags.Protected */) { error(node, ts.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration, typeToString(declaringClass)); } return false; @@ -76369,10 +76641,10 @@ var ts; } function invocationErrorDetails(errorTarget, apparentType, kind) { var errorInfo; - var isCall = kind === 0 /* Call */; + var isCall = kind === 0 /* SignatureKind.Call */; var awaitedType = getAwaitedType(apparentType); var maybeMissingAwait = awaitedType && getSignaturesOfType(awaitedType, kind).length > 0; - if (apparentType.flags & 1048576 /* Union */) { + if (apparentType.flags & 1048576 /* TypeFlags.Union */) { var types = apparentType.types; var hasSignatures = false; for (var _i = 0, types_20 = types; _i < types_20.length; _i++) { @@ -76422,7 +76694,7 @@ var ts; // Diagnose get accessors incorrectly called as functions if (ts.isCallExpression(errorTarget.parent) && errorTarget.parent.arguments.length === 0) { var resolvedSymbol = getNodeLinks(errorTarget).resolvedSymbol; - if (resolvedSymbol && resolvedSymbol.flags & 32768 /* GetAccessor */) { + if (resolvedSymbol && resolvedSymbol.flags & 32768 /* SymbolFlags.GetAccessor */) { headMessage = ts.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without; } } @@ -76466,8 +76738,8 @@ var ts; // Another error has already been reported return resolveErrorCall(node); } - var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); - var numConstructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */).length; + var callSignatures = getSignaturesOfType(apparentType, 0 /* SignatureKind.Call */); + var numConstructSignatures = getSignaturesOfType(apparentType, 1 /* SignatureKind.Construct */).length; if (isUntypedFunctionCall(tagType, apparentType, callSignatures.length, numConstructSignatures)) { return resolveUntypedCall(node); } @@ -76477,26 +76749,26 @@ var ts; diagnostics.add(diagnostic); return resolveErrorCall(node); } - invocationError(node.tag, apparentType, 0 /* Call */); + invocationError(node.tag, apparentType, 0 /* SignatureKind.Call */); return resolveErrorCall(node); } - return resolveCall(node, callSignatures, candidatesOutArray, checkMode, 0 /* None */); + return resolveCall(node, callSignatures, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */); } /** * Gets the localized diagnostic head message to use for errors when resolving a decorator as a call expression. */ function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; default: return ts.Debug.fail(); @@ -76511,8 +76783,8 @@ var ts; if (isErrorType(apparentType)) { return resolveErrorCall(node); } - var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); - var numConstructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */).length; + var callSignatures = getSignaturesOfType(apparentType, 0 /* SignatureKind.Call */); + var numConstructSignatures = getSignaturesOfType(apparentType, 1 /* SignatureKind.Construct */).length; if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, numConstructSignatures)) { return resolveUntypedCall(node); } @@ -76523,38 +76795,38 @@ var ts; } var headMessage = getDiagnosticHeadMessageForDecoratorResolution(node); if (!callSignatures.length) { - var errorDetails = invocationErrorDetails(node.expression, apparentType, 0 /* Call */); + var errorDetails = invocationErrorDetails(node.expression, apparentType, 0 /* SignatureKind.Call */); var messageChain = ts.chainDiagnosticMessages(errorDetails.messageChain, headMessage); var diag = ts.createDiagnosticForNodeFromMessageChain(node.expression, messageChain); if (errorDetails.relatedMessage) { ts.addRelatedInfo(diag, ts.createDiagnosticForNode(node.expression, errorDetails.relatedMessage)); } diagnostics.add(diag); - invocationErrorRecovery(apparentType, 0 /* Call */, diag); + invocationErrorRecovery(apparentType, 0 /* SignatureKind.Call */, diag); return resolveErrorCall(node); } - return resolveCall(node, callSignatures, candidatesOutArray, checkMode, 0 /* None */, headMessage); + return resolveCall(node, callSignatures, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */, headMessage); } function createSignatureForJSXIntrinsic(node, result) { var namespace = getJsxNamespaceAt(node); var exports = namespace && getExportsOfSymbol(namespace); // We fake up a SFC signature for each intrinsic, however a more specific per-element signature drawn from the JSX declaration // file would probably be preferable. - var typeSymbol = exports && getSymbol(exports, JsxNames.Element, 788968 /* Type */); - var returnNode = typeSymbol && nodeBuilder.symbolToEntityName(typeSymbol, 788968 /* Type */, node); - var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)); - var parameterSymbol = createSymbol(1 /* FunctionScopedVariable */, "props"); + var typeSymbol = exports && getSymbol(exports, JsxNames.Element, 788968 /* SymbolFlags.Type */); + var returnNode = typeSymbol && nodeBuilder.symbolToEntityName(typeSymbol, 788968 /* SymbolFlags.Type */, node); + var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + var parameterSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, "props"); parameterSymbol.type = result; return createSignature(declaration, /*typeParameters*/ undefined, /*thisParameter*/ undefined, [parameterSymbol], typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType, - /*returnTypePredicate*/ undefined, 1, 0 /* None */); + /*returnTypePredicate*/ undefined, 1, 0 /* SignatureFlags.None */); } function resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode) { if (isJsxIntrinsicIdentifier(node.tagName)) { var result = getIntrinsicAttributesTypeFromJsxOpeningLikeElement(node); var fakeSignature = createSignatureForJSXIntrinsic(node, result); - checkTypeAssignableToAndOptionallyElaborate(checkExpressionWithContextualType(node.attributes, getEffectiveFirstArgumentForJsxSignature(fakeSignature, node), /*mapper*/ undefined, 0 /* Normal */), result, node.tagName, node.attributes); + checkTypeAssignableToAndOptionallyElaborate(checkExpressionWithContextualType(node.attributes, getEffectiveFirstArgumentForJsxSignature(fakeSignature, node), /*mapper*/ undefined, 0 /* CheckMode.Normal */), result, node.tagName, node.attributes); if (ts.length(node.typeArguments)) { ts.forEach(node.typeArguments, checkSourceElement); diagnostics.add(ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), node.typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, 0, ts.length(node.typeArguments))); @@ -76575,7 +76847,7 @@ var ts; error(node.tagName, ts.Diagnostics.JSX_element_type_0_does_not_have_any_construct_or_call_signatures, ts.getTextOfNode(node.tagName)); return resolveErrorCall(node); } - return resolveCall(node, signatures, candidatesOutArray, checkMode, 0 /* None */); + return resolveCall(node, signatures, candidatesOutArray, checkMode, 0 /* SignatureFlags.None */); } /** * Sometimes, we have a decorator that could accept zero arguments, @@ -76591,16 +76863,16 @@ var ts; } function resolveSignature(node, candidatesOutArray, checkMode) { switch (node.kind) { - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return resolveCallExpression(node, candidatesOutArray, checkMode); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return resolveNewExpression(node, candidatesOutArray, checkMode); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return resolveTaggedTemplateExpression(node, candidatesOutArray, checkMode); - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: return resolveDecorator(node, candidatesOutArray, checkMode); - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode); } throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); @@ -76623,7 +76895,7 @@ var ts; return cached; } links.resolvedSignature = resolvingSignature; - var result = resolveSignature(node, candidatesOutArray, checkMode || 0 /* Normal */); + var result = resolveSignature(node, candidatesOutArray, checkMode || 0 /* CheckMode.Normal */); // When CheckMode.SkipGenericFunctions is set we use resolvingSignature to indicate that call // resolution should be deferred. if (result !== resolvingSignature) { @@ -76664,7 +76936,7 @@ var ts; var inferred = ts.isTransientSymbol(target) ? target : cloneSymbol(target); inferred.exports = inferred.exports || ts.createSymbolTable(); inferred.members = inferred.members || ts.createSymbolTable(); - inferred.flags |= source.flags & 32 /* Class */; + inferred.flags |= source.flags & 32 /* SymbolFlags.Class */; if ((_a = source.exports) === null || _a === void 0 ? void 0 : _a.size) { mergeSymbolTable(inferred.exports, source.exports); } @@ -76700,16 +76972,16 @@ var ts; else if (ts.isBinaryExpression(node.parent)) { var parentNode = node.parent; var parentNodeOperator = node.parent.operatorToken.kind; - if (parentNodeOperator === 63 /* EqualsToken */ && (allowDeclaration || parentNode.right === node)) { + if (parentNodeOperator === 63 /* SyntaxKind.EqualsToken */ && (allowDeclaration || parentNode.right === node)) { name = parentNode.left; decl = name; } - else if (parentNodeOperator === 56 /* BarBarToken */ || parentNodeOperator === 60 /* QuestionQuestionToken */) { + else if (parentNodeOperator === 56 /* SyntaxKind.BarBarToken */ || parentNodeOperator === 60 /* SyntaxKind.QuestionQuestionToken */) { if (ts.isVariableDeclaration(parentNode.parent) && parentNode.parent.initializer === parentNode) { name = parentNode.parent.name; decl = parentNode.parent; } - else if (ts.isBinaryExpression(parentNode.parent) && parentNode.parent.operatorToken.kind === 63 /* EqualsToken */ && (allowDeclaration || parentNode.parent.right === parentNode)) { + else if (ts.isBinaryExpression(parentNode.parent) && parentNode.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && (allowDeclaration || parentNode.parent.right === parentNode)) { name = parentNode.parent.left; decl = name; } @@ -76732,10 +77004,10 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 206 /* PropertyAccessExpression */) { + while (parent && parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { parent = parent.parent; } - if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 63 /* EqualsToken */) { + if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { var right = ts.getInitializerOfBinaryExpression(parent); return ts.isObjectLiteralExpression(right) && right; } @@ -76755,15 +77027,15 @@ var ts; return nonInferrableType; } checkDeprecatedSignature(signature, node); - if (node.expression.kind === 106 /* SuperKeyword */) { + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { return voidType; } - if (node.kind === 209 /* NewExpression */) { + if (node.kind === 209 /* SyntaxKind.NewExpression */) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 171 /* Constructor */ && - declaration.kind !== 175 /* ConstructSignature */ && - declaration.kind !== 180 /* ConstructorType */ && + declaration.kind !== 171 /* SyntaxKind.Constructor */ && + declaration.kind !== 175 /* SyntaxKind.ConstructSignature */ && + declaration.kind !== 180 /* SyntaxKind.ConstructorType */ && !ts.isJSDocConstructSignature(declaration) && !isJSConstructor(declaration)) { // When resolved signature is a call signature (and not a construct signature) the result type is any @@ -76780,11 +77052,11 @@ var ts; var returnType = getReturnTypeOfSignature(signature); // Treat any call to the global 'Symbol' function that is part of a const variable or readonly property // as a fresh unique symbol literal type. - if (returnType.flags & 12288 /* ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { + if (returnType.flags & 12288 /* TypeFlags.ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - if (node.kind === 208 /* CallExpression */ && !node.questionDotToken && node.parent.kind === 238 /* ExpressionStatement */ && - returnType.flags & 16384 /* Void */ && getTypePredicateOfSignature(signature)) { + if (node.kind === 208 /* SyntaxKind.CallExpression */ && !node.questionDotToken && node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && + returnType.flags & 16384 /* TypeFlags.Void */ && getTypePredicateOfSignature(signature)) { if (!ts.isDottedName(node.expression)) { error(node.expression, ts.Diagnostics.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name); } @@ -76797,14 +77069,14 @@ var ts; var jsSymbol = getSymbolOfExpando(node, /*allowDeclaration*/ false); if ((_a = jsSymbol === null || jsSymbol === void 0 ? void 0 : jsSymbol.exports) === null || _a === void 0 ? void 0 : _a.size) { var jsAssignmentType = createAnonymousType(jsSymbol, jsSymbol.exports, ts.emptyArray, ts.emptyArray, ts.emptyArray); - jsAssignmentType.objectFlags |= 4096 /* JSLiteral */; + jsAssignmentType.objectFlags |= 4096 /* ObjectFlags.JSLiteral */; return getIntersectionType([returnType, jsAssignmentType]); } } return returnType; } function checkDeprecatedSignature(signature, node) { - if (signature.declaration && signature.declaration.flags & 268435456 /* Deprecated */) { + if (signature.declaration && signature.declaration.flags & 268435456 /* NodeFlags.Deprecated */) { var suggestionNode = getDeprecatedSuggestionNode(node); var name = ts.tryGetPropertyAccessOrIdentifierToString(ts.getInvokedExpression(node)); addDeprecatedSuggestionWithSignature(suggestionNode, signature.declaration, name, signatureToString(signature)); @@ -76813,20 +77085,20 @@ var ts; function getDeprecatedSuggestionNode(node) { node = ts.skipParentheses(node); switch (node.kind) { - case 208 /* CallExpression */: - case 165 /* Decorator */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 165 /* SyntaxKind.Decorator */: + case 209 /* SyntaxKind.NewExpression */: return getDeprecatedSuggestionNode(node.expression); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return getDeprecatedSuggestionNode(node.tag); - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return getDeprecatedSuggestionNode(node.tagName); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return node.argumentExpression; - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return node.name; - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: var typeReference = node; return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; default: @@ -76848,7 +77120,7 @@ var ts; if (!globalESSymbol) { return false; } - return globalESSymbol === resolveName(left, "Symbol", 111551 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false); + return globalESSymbol === resolveName(left, "Symbol", 111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false); } function checkImportCallExpression(node) { // Check grammar of dynamic import @@ -76863,13 +77135,13 @@ var ts; for (var i = 2; i < node.arguments.length; ++i) { checkExpressionCached(node.arguments[i]); } - if (specifierType.flags & 32768 /* Undefined */ || specifierType.flags & 65536 /* Null */ || !isTypeAssignableTo(specifierType, stringType)) { + if (specifierType.flags & 32768 /* TypeFlags.Undefined */ || specifierType.flags & 65536 /* TypeFlags.Null */ || !isTypeAssignableTo(specifierType, stringType)) { error(specifier, ts.Diagnostics.Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0, typeToString(specifierType)); } if (optionsType) { var importCallOptionsType = getGlobalImportCallOptionsType(/*reportErrors*/ true); if (importCallOptionsType !== emptyObjectType) { - checkTypeAssignableTo(optionsType, getNullableType(importCallOptionsType, 32768 /* Undefined */), node.arguments[1]); + checkTypeAssignableTo(optionsType, getNullableType(importCallOptionsType, 32768 /* TypeFlags.Undefined */), node.arguments[1]); } } // resolveExternalModuleName will return undefined if the moduleReferenceExpression is not a string literal @@ -76885,11 +77157,11 @@ var ts; } function createDefaultPropertyWrapperForModule(symbol, originalSymbol, anonymousSymbol) { var memberTable = ts.createSymbolTable(); - var newSymbol = createSymbol(2097152 /* Alias */, "default" /* Default */); + var newSymbol = createSymbol(2097152 /* SymbolFlags.Alias */, "default" /* InternalSymbolName.Default */); newSymbol.parent = originalSymbol; newSymbol.nameType = getStringLiteralType("default"); - newSymbol.target = resolveSymbol(symbol); - memberTable.set("default" /* Default */, newSymbol); + newSymbol.aliasTarget = resolveSymbol(symbol); + memberTable.set("default" /* InternalSymbolName.Default */, newSymbol); return createAnonymousType(anonymousSymbol, memberTable, ts.emptyArray, ts.emptyArray, ts.emptyArray); } function getTypeWithSyntheticDefaultOnly(type, symbol, originalSymbol, moduleSpecifier) { @@ -76912,7 +77184,7 @@ var ts; var file = (_a = originalSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); var hasSyntheticDefault = canHaveSyntheticDefault(file, originalSymbol, /*dontResolveAlias*/ false, moduleSpecifier); if (hasSyntheticDefault) { - var anonymousSymbol = createSymbol(2048 /* TypeLiteral */, "__type" /* Type */); + var anonymousSymbol = createSymbol(2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); var defaultContainingObject = createDefaultPropertyWrapperForModule(symbol, originalSymbol, anonymousSymbol); anonymousSymbol.type = defaultContainingObject; synthType.syntheticType = isValidSpreadType(type) ? getSpreadType(type, defaultContainingObject, anonymousSymbol, /*objectFlags*/ 0, /*readonly*/ false) : defaultContainingObject; @@ -76932,40 +77204,40 @@ var ts; // Make sure require is not a local function if (!ts.isIdentifier(node.expression)) return ts.Debug.fail(); - var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 111551 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); // TODO: GH#18217 + var resolvedRequire = resolveName(node.expression, node.expression.escapedText, 111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); // TODO: GH#18217 if (resolvedRequire === requireSymbol) { return true; } // project includes symbol named 'require' - make sure that it is ambient and local non-alias - if (resolvedRequire.flags & 2097152 /* Alias */) { + if (resolvedRequire.flags & 2097152 /* SymbolFlags.Alias */) { return false; } - var targetDeclarationKind = resolvedRequire.flags & 16 /* Function */ - ? 256 /* FunctionDeclaration */ - : resolvedRequire.flags & 3 /* Variable */ - ? 254 /* VariableDeclaration */ - : 0 /* Unknown */; - if (targetDeclarationKind !== 0 /* Unknown */) { + var targetDeclarationKind = resolvedRequire.flags & 16 /* SymbolFlags.Function */ + ? 256 /* SyntaxKind.FunctionDeclaration */ + : resolvedRequire.flags & 3 /* SymbolFlags.Variable */ + ? 254 /* SyntaxKind.VariableDeclaration */ + : 0 /* SyntaxKind.Unknown */; + if (targetDeclarationKind !== 0 /* SyntaxKind.Unknown */) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); // function/variable declaration should be ambient - return !!decl && !!(decl.flags & 16777216 /* Ambient */); + return !!decl && !!(decl.flags & 16777216 /* NodeFlags.Ambient */); } return false; } function checkTaggedTemplateExpression(node) { if (!checkGrammarTaggedTemplateChain(node)) checkGrammarTypeArguments(node, node.typeArguments); - if (languageVersion < 2 /* ES2015 */) { - checkExternalEmitHelpers(node, 262144 /* MakeTemplateObject */); + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { + checkExternalEmitHelpers(node, 262144 /* ExternalEmitHelpers.MakeTemplateObject */); } var signature = getResolvedSignature(node); checkDeprecatedSignature(signature, node); return getReturnTypeOfSignature(signature); } function checkAssertion(node) { - if (node.kind === 211 /* TypeAssertionExpression */) { + if (node.kind === 211 /* SyntaxKind.TypeAssertionExpression */) { var file = ts.getSourceFileOfNode(node); - if (file && ts.fileExtensionIsOneOf(file.fileName, [".cts" /* Cts */, ".mts" /* Mts */])) { + if (file && ts.fileExtensionIsOneOf(file.fileName, [".cts" /* Extension.Cts */, ".mts" /* Extension.Mts */])) { grammarErrorOnNode(node, ts.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead); } } @@ -76973,31 +77245,31 @@ var ts; } function isValidConstAssertionArgument(node) { switch (node.kind) { - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 204 /* ArrayLiteralExpression */: - case 205 /* ObjectLiteralExpression */: - case 223 /* TemplateExpression */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 223 /* SyntaxKind.TemplateExpression */: return true; - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return isValidConstAssertionArgument(node.expression); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: var op = node.operator; var arg = node.operand; - return op === 40 /* MinusToken */ && (arg.kind === 8 /* NumericLiteral */ || arg.kind === 9 /* BigIntLiteral */) || - op === 39 /* PlusToken */ && arg.kind === 8 /* NumericLiteral */; - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + return op === 40 /* SyntaxKind.MinusToken */ && (arg.kind === 8 /* SyntaxKind.NumericLiteral */ || arg.kind === 9 /* SyntaxKind.BigIntLiteral */) || + op === 39 /* SyntaxKind.PlusToken */ && arg.kind === 8 /* SyntaxKind.NumericLiteral */; + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var expr = node.expression; var symbol = getTypeOfNode(expr).symbol; - if (symbol && symbol.flags & 2097152 /* Alias */) { + if (symbol && symbol.flags & 2097152 /* SymbolFlags.Alias */) { symbol = resolveAlias(symbol); } - return !!(symbol && (symbol.flags & 384 /* Enum */) && getEnumKind(symbol) === 1 /* Literal */); + return !!(symbol && (symbol.flags & 384 /* SymbolFlags.Enum */) && getEnumKind(symbol) === 1 /* EnumKind.Literal */); } return false; } @@ -77028,12 +77300,12 @@ var ts; return propagateOptionalTypeMarker(getNonNullableType(nonOptionalType), node, nonOptionalType !== leftType); } function checkNonNullAssertion(node) { - return node.flags & 32 /* OptionalChain */ ? checkNonNullChain(node) : + return node.flags & 32 /* NodeFlags.OptionalChain */ ? checkNonNullChain(node) : getNonNullableType(checkExpression(node.expression)); } function checkExpressionWithTypeArguments(node) { checkGrammarExpressionWithTypeArguments(node); - var exprType = node.kind === 228 /* ExpressionWithTypeArguments */ ? checkExpression(node.expression) : + var exprType = node.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ ? checkExpression(node.expression) : ts.isThisIdentifier(node.exprName) ? checkThisExpression(node.exprName) : checkExpression(node.exprName); var typeArguments = node.typeArguments; @@ -77058,7 +77330,7 @@ var ts; } return result; function getInstantiatedTypePart(type) { - if (type.flags & 524288 /* Object */) { + if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); var callSignatures = getInstantiatedSignatures(resolved.callSignatures); var constructSignatures = getInstantiatedSignatures(resolved.constructSignatures); @@ -77066,12 +77338,12 @@ var ts; hasApplicableSignature || (hasApplicableSignature = callSignatures.length !== 0 || constructSignatures.length !== 0); if (callSignatures !== resolved.callSignatures || constructSignatures !== resolved.constructSignatures) { var result_11 = createAnonymousType(undefined, resolved.members, callSignatures, constructSignatures, resolved.indexInfos); - result_11.objectFlags |= 8388608 /* InstantiationExpressionType */; + result_11.objectFlags |= 8388608 /* ObjectFlags.InstantiationExpressionType */; result_11.node = node; return result_11; } } - else if (type.flags & 58982400 /* InstantiableNonPrimitive */) { + else if (type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */) { var constraint = getBaseConstraintOfType(type); if (constraint) { var instantiated = getInstantiatedTypePart(constraint); @@ -77080,10 +77352,10 @@ var ts; } } } - else if (type.flags & 1048576 /* Union */) { + else if (type.flags & 1048576 /* TypeFlags.Union */) { return mapType(type, getInstantiatedType); } - else if (type.flags & 2097152 /* Intersection */) { + else if (type.flags & 2097152 /* TypeFlags.Intersection */) { return getIntersectionType(ts.sameMap(type.types, getInstantiatedTypePart)); } return type; @@ -77099,19 +77371,19 @@ var ts; } function checkMetaProperty(node) { checkGrammarMetaProperty(node); - if (node.keywordToken === 103 /* NewKeyword */) { + if (node.keywordToken === 103 /* SyntaxKind.NewKeyword */) { return checkNewTargetMetaProperty(node); } - if (node.keywordToken === 100 /* ImportKeyword */) { + if (node.keywordToken === 100 /* SyntaxKind.ImportKeyword */) { return checkImportMetaProperty(node); } return ts.Debug.assertNever(node.keywordToken); } function checkMetaPropertyKeyword(node) { switch (node.keywordToken) { - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: return getGlobalImportMetaExpressionType(); - case 103 /* NewKeyword */: + case 103 /* SyntaxKind.NewKeyword */: var type = checkNewTargetMetaProperty(node); return isErrorType(type) ? errorType : createNewTargetExpressionType(type); default: @@ -77124,7 +77396,7 @@ var ts; error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); return errorType; } - else if (container.kind === 171 /* Constructor */) { + else if (container.kind === 171 /* SyntaxKind.Constructor */) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -77134,16 +77406,16 @@ var ts; } } function checkImportMetaProperty(node) { - if (moduleKind === ts.ModuleKind.Node12 || moduleKind === ts.ModuleKind.NodeNext) { + if (moduleKind === ts.ModuleKind.Node16 || moduleKind === ts.ModuleKind.NodeNext) { if (ts.getSourceFileOfNode(node).impliedNodeFormat !== ts.ModuleKind.ESNext) { error(node, ts.Diagnostics.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output); } } else if (moduleKind < ts.ModuleKind.ES2020 && moduleKind !== ts.ModuleKind.System) { - error(node, ts.Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node12_or_nodenext); + error(node, ts.Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext); } var file = ts.getSourceFileOfNode(node); - ts.Debug.assert(!!(file.flags & 4194304 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); + ts.Debug.assert(!!(file.flags & 4194304 /* NodeFlags.PossiblyContainsImportMeta */), "Containing file is missing import meta node flag."); return node.name.escapedText === "meta" ? getGlobalImportMetaType() : errorType; } function getTypeOfParameter(symbol) { @@ -77176,7 +77448,7 @@ var ts; } function getParameterIdentifierNameAtPosition(signature, pos) { var _a; - if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 317 /* JSDocFunctionType */) { + if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 317 /* SyntaxKind.JSDocFunctionType */) { return undefined; } var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); @@ -77208,7 +77480,7 @@ var ts; return symbol.valueDeclaration && ts.isParameter(symbol.valueDeclaration) && ts.isIdentifier(symbol.valueDeclaration.name); } function isValidDeclarationForTupleLabel(d) { - return d.kind === 197 /* NamedTupleMember */ || (ts.isParameter(d) && d.name && ts.isIdentifier(d.name)); + return d.kind === 197 /* SyntaxKind.NamedTupleMember */ || (ts.isParameter(d) && d.name && ts.isIdentifier(d.name)); } function getNameableDeclarationAtPosition(signature, pos) { var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); @@ -77258,11 +77530,11 @@ var ts; for (var i = pos; i < parameterCount; i++) { if (!restType || i < parameterCount - 1) { types.push(getTypeAtPosition(source, i)); - flags.push(i < minArgumentCount ? 1 /* Required */ : 2 /* Optional */); + flags.push(i < minArgumentCount ? 1 /* ElementFlags.Required */ : 2 /* ElementFlags.Optional */); } else { types.push(restType); - flags.push(8 /* Variadic */); + flags.push(8 /* ElementFlags.Variadic */); } var name = getNameableDeclarationAtPosition(source, i); if (name) { @@ -77286,14 +77558,14 @@ var ts; return length; } function getMinArgumentCount(signature, flags) { - var strongArityForUntypedJS = flags & 1 /* StrongArityForUntypedJS */; - var voidIsNonOptional = flags & 2 /* VoidIsNonOptional */; + var strongArityForUntypedJS = flags & 1 /* MinArgumentCountFlags.StrongArityForUntypedJS */; + var voidIsNonOptional = flags & 2 /* MinArgumentCountFlags.VoidIsNonOptional */; if (voidIsNonOptional || signature.resolvedMinArgumentCount === undefined) { var minArgumentCount = void 0; if (signatureHasRestParameter(signature)) { var restType = getTypeOfSymbol(signature.parameters[signature.parameters.length - 1]); if (isTupleType(restType)) { - var firstOptionalIndex = ts.findIndex(restType.target.elementFlags, function (f) { return !(f & 1 /* Required */); }); + var firstOptionalIndex = ts.findIndex(restType.target.elementFlags, function (f) { return !(f & 1 /* ElementFlags.Required */); }); var requiredCount = firstOptionalIndex < 0 ? restType.target.fixedLength : firstOptionalIndex; if (requiredCount > 0) { minArgumentCount = signature.parameters.length - 1 + requiredCount; @@ -77301,7 +77573,7 @@ var ts; } } if (minArgumentCount === undefined) { - if (!strongArityForUntypedJS && signature.flags & 32 /* IsUntypedSignatureInJSFile */) { + if (!strongArityForUntypedJS && signature.flags & 32 /* SignatureFlags.IsUntypedSignatureInJSFile */) { return 0; } minArgumentCount = signature.minArgumentCount; @@ -77311,7 +77583,7 @@ var ts; } for (var i = minArgumentCount - 1; i >= 0; i--) { var type = getTypeAtPosition(signature, i); - if (filterType(type, acceptsVoid).flags & 131072 /* Never */) { + if (filterType(type, acceptsVoid).flags & 131072 /* TypeFlags.Never */) { break; } minArgumentCount = i; @@ -77341,7 +77613,7 @@ var ts; } function getNonArrayRestType(signature) { var restType = getEffectiveRestType(signature); - return restType && !isArrayType(restType) && !isTypeAny(restType) && (getReducedType(restType).flags & 131072 /* Never */) === 0 ? restType : undefined; + return restType && !isArrayType(restType) && !isTypeAny(restType) && (getReducedType(restType).flags & 131072 /* TypeFlags.Never */) === 0 ? restType : undefined; } function getTypeOfFirstParameterOfSignature(signature) { return getTypeOfFirstParameterOfSignatureWithFallback(signature, neverType); @@ -77361,7 +77633,7 @@ var ts; } } var restType = getEffectiveRestType(context); - if (restType && restType.flags & 262144 /* TypeParameter */) { + if (restType && restType.flags & 262144 /* TypeFlags.TypeParameter */) { // The contextual signature has a generic rest parameter. We first instantiate the contextual // signature (without fixing type parameters) and assign types to contextually typed parameters. var instantiatedContext = instantiateSignature(context, inferenceContext.nonFixingMapper); @@ -77405,7 +77677,7 @@ var ts; ? !ts.getEffectiveTypeAnnotationNode(parameter.valueDeclaration) // a declarationless parameter may still have a `.type` already set by its construction logic // (which may pull a type from a jsdoc) - only allow fixing on `DeferredType` parameters with a fallback type - : !!(ts.getCheckFlags(parameter) & 65536 /* DeferredType */)) { + : !!(ts.getCheckFlags(parameter) & 65536 /* CheckFlags.DeferredType */)) { var contextualParameterType = getRestTypeAtPosition(context, len); assignParameterType(parameter, contextualParameterType); } @@ -77425,7 +77697,7 @@ var ts; if (!links.type) { var declaration = parameter.valueDeclaration; links.type = type || (declaration ? getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true) : getTypeOfSymbol(parameter)); - if (declaration && declaration.name.kind !== 79 /* Identifier */) { + if (declaration && declaration.name.kind !== 79 /* SyntaxKind.Identifier */) { // if inference didn't come up with anything but unknown, fall back to the binding pattern if present. if (links.type === unknownType) { links.type = getTypeFromBindingPattern(declaration.name); @@ -77444,7 +77716,7 @@ var ts; var element = _a[_i]; if (!ts.isOmittedExpression(element)) { var type = getBindingElementTypeFromParentType(element, parentType); - if (element.name.kind === 79 /* Identifier */) { + if (element.name.kind === 79 /* SyntaxKind.Identifier */) { getSymbolLinks(getSymbolOfNode(element)).type = type; } else { @@ -77492,8 +77764,8 @@ var ts; } function createNewTargetExpressionType(targetType) { // Create a synthetic type `NewTargetExpression { target: TargetType; }` - var symbol = createSymbol(0 /* None */, "NewTargetExpression"); - var targetPropertySymbol = createSymbol(4 /* Property */, "target", 8 /* Readonly */); + var symbol = createSymbol(0 /* SymbolFlags.None */, "NewTargetExpression"); + var targetPropertySymbol = createSymbol(4 /* SymbolFlags.Property */, "target", 8 /* CheckFlags.Readonly */); targetPropertySymbol.parent = symbol; targetPropertySymbol.type = targetType; var members = ts.createSymbolTable([targetPropertySymbol]); @@ -77505,14 +77777,14 @@ var ts; return errorType; } var functionFlags = ts.getFunctionFlags(func); - var isAsync = (functionFlags & 2 /* Async */) !== 0; - var isGenerator = (functionFlags & 1 /* Generator */) !== 0; + var isAsync = (functionFlags & 2 /* FunctionFlags.Async */) !== 0; + var isGenerator = (functionFlags & 1 /* FunctionFlags.Generator */) !== 0; var returnType; var yieldType; var nextType; var fallbackReturnType = voidType; - if (func.body.kind !== 235 /* Block */) { // Async or normal arrow function - returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* SkipGenericFunctions */); + if (func.body.kind !== 235 /* SyntaxKind.Block */) { // Async or normal arrow function + returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* CheckMode.SkipGenericFunctions */); if (isAsync) { // From within an async function you can return either a non-promise value or a promise. Any // Promise/A+ compatible implementation will always assimilate any foreign promise, so the @@ -77527,36 +77799,36 @@ var ts; fallbackReturnType = neverType; } else if (returnTypes.length > 0) { - returnType = getUnionType(returnTypes, 2 /* Subtype */); + returnType = getUnionType(returnTypes, 2 /* UnionReduction.Subtype */); } var _a = checkAndAggregateYieldOperandTypes(func, checkMode), yieldTypes = _a.yieldTypes, nextTypes = _a.nextTypes; - yieldType = ts.some(yieldTypes) ? getUnionType(yieldTypes, 2 /* Subtype */) : undefined; + yieldType = ts.some(yieldTypes) ? getUnionType(yieldTypes, 2 /* UnionReduction.Subtype */) : undefined; nextType = ts.some(nextTypes) ? getIntersectionType(nextTypes) : undefined; } else { // Async or normal function var types = checkAndAggregateReturnExpressionTypes(func, checkMode); if (!types) { // For an async function, the return type will not be never, but rather a Promise for never. - return functionFlags & 2 /* Async */ + return functionFlags & 2 /* FunctionFlags.Async */ ? createPromiseReturnType(func, neverType) // Async function : neverType; // Normal function } if (types.length === 0) { // For an async function, the return type will not be void, but rather a Promise for void. - return functionFlags & 2 /* Async */ + return functionFlags & 2 /* FunctionFlags.Async */ ? createPromiseReturnType(func, voidType) // Async function : voidType; // Normal function } // Return a union of the return expression types. - returnType = getUnionType(types, 2 /* Subtype */); + returnType = getUnionType(types, 2 /* UnionReduction.Subtype */); } if (returnType || yieldType || nextType) { if (yieldType) - reportErrorsFromWidening(func, yieldType, 3 /* GeneratorYield */); + reportErrorsFromWidening(func, yieldType, 3 /* WideningKind.GeneratorYield */); if (returnType) - reportErrorsFromWidening(func, returnType, 1 /* FunctionReturn */); + reportErrorsFromWidening(func, returnType, 1 /* WideningKind.FunctionReturn */); if (nextType) - reportErrorsFromWidening(func, nextType, 2 /* GeneratorNext */); + reportErrorsFromWidening(func, nextType, 2 /* WideningKind.GeneratorNext */); if (returnType && isUnitType(returnType) || yieldType && isUnitType(yieldType) || nextType && isUnitType(nextType)) { @@ -77565,9 +77837,9 @@ var ts; contextualSignature === getSignatureFromDeclaration(func) ? isGenerator ? undefined : returnType : instantiateContextualType(getReturnTypeOfSignature(contextualSignature), func); if (isGenerator) { - yieldType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(yieldType, contextualType, 0 /* Yield */, isAsync); - returnType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(returnType, contextualType, 1 /* Return */, isAsync); - nextType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(nextType, contextualType, 2 /* Next */, isAsync); + yieldType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(yieldType, contextualType, 0 /* IterationTypeKind.Yield */, isAsync); + returnType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(returnType, contextualType, 1 /* IterationTypeKind.Return */, isAsync); + nextType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(nextType, contextualType, 2 /* IterationTypeKind.Next */, isAsync); } else { returnType = getWidenedLiteralLikeTypeForContextualReturnTypeIfNeeded(returnType, contextualType, isAsync); @@ -77581,7 +77853,7 @@ var ts; nextType = getWidenedType(nextType); } if (isGenerator) { - return createGeneratorReturnType(yieldType || neverType, returnType || fallbackReturnType, nextType || getContextualIterationType(2 /* Next */, func) || unknownType, isAsync); + return createGeneratorReturnType(yieldType || neverType, returnType || fallbackReturnType, nextType || getContextualIterationType(2 /* IterationTypeKind.Next */, func) || unknownType, isAsync); } else { // From within an async function you can return either a non-promise value or a promise. Any @@ -77624,13 +77896,13 @@ var ts; function checkAndAggregateYieldOperandTypes(func, checkMode) { var yieldTypes = []; var nextTypes = []; - var isAsync = (ts.getFunctionFlags(func) & 2 /* Async */) !== 0; + var isAsync = (ts.getFunctionFlags(func) & 2 /* FunctionFlags.Async */) !== 0; ts.forEachYieldExpression(func.body, function (yieldExpression) { var yieldExpressionType = yieldExpression.expression ? checkExpression(yieldExpression.expression, checkMode) : undefinedWideningType; ts.pushIfUnique(yieldTypes, getYieldedTypeOfYieldExpression(yieldExpression, yieldExpressionType, anyType, isAsync)); var nextType; if (yieldExpression.asteriskToken) { - var iterationTypes = getIterationTypesOfIterable(yieldExpressionType, isAsync ? 19 /* AsyncYieldStar */ : 17 /* YieldStar */, yieldExpression.expression); + var iterationTypes = getIterationTypesOfIterable(yieldExpressionType, isAsync ? 19 /* IterationUse.AsyncYieldStar */ : 17 /* IterationUse.YieldStar */, yieldExpression.expression); nextType = iterationTypes && iterationTypes.nextType; } else { @@ -77644,7 +77916,7 @@ var ts; function getYieldedTypeOfYieldExpression(node, expressionType, sentType, isAsync) { var errorNode = node.expression || node; // A `yield*` expression effectively yields everything that its operand yields - var yieldedType = node.asteriskToken ? checkIteratedTypeOrElementType(isAsync ? 19 /* AsyncYieldStar */ : 17 /* YieldStar */, expressionType, sentType, errorNode) : expressionType; + var yieldedType = node.asteriskToken ? checkIteratedTypeOrElementType(isAsync ? 19 /* IterationUse.AsyncYieldStar */ : 17 /* IterationUse.YieldStar */, expressionType, sentType, errorNode) : expressionType; return !isAsync ? yieldedType : getAwaitedType(yieldedType, errorNode, node.asteriskToken ? ts.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member : ts.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); @@ -77656,14 +77928,14 @@ var ts; * whether the active clause contains a default clause. */ function getFactsFromTypeofSwitch(start, end, witnesses, hasDefault) { - var facts = 0 /* None */; + var facts = 0 /* TypeFacts.None */; // When in the default we only collect inequality facts // because default is 'in theory' a set of infinite // equalities. if (hasDefault) { // Value is not equal to any types after the active clause. for (var i = end; i < witnesses.length; i++) { - facts |= typeofNEFacts.get(witnesses[i]) || 32768 /* TypeofNEHostObject */; + facts |= typeofNEFacts.get(witnesses[i]) || 32768 /* TypeFacts.TypeofNEHostObject */; } // Remove inequalities for types that appear in the // active clause because they appear before other @@ -77673,7 +77945,7 @@ var ts; } // Add inequalities for types before the active clause unconditionally. for (var i = 0; i < start; i++) { - facts |= typeofNEFacts.get(witnesses[i]) || 32768 /* TypeofNEHostObject */; + facts |= typeofNEFacts.get(witnesses[i]) || 32768 /* TypeFacts.TypeofNEHostObject */; } } // When in an active clause without default the set of @@ -77681,7 +77953,7 @@ var ts; else { // Add equalities for all types in the active clause. for (var i = start; i < end; i++) { - facts |= typeofEQFacts.get(witnesses[i]) || 128 /* TypeofEQHostObject */; + facts |= typeofEQFacts.get(witnesses[i]) || 128 /* TypeFacts.TypeofEQHostObject */; } // Remove equalities for types that appear before the // active clause. @@ -77696,17 +77968,17 @@ var ts; return links.isExhaustive !== undefined ? links.isExhaustive : (links.isExhaustive = computeExhaustiveSwitchStatement(node)); } function computeExhaustiveSwitchStatement(node) { - if (node.expression.kind === 216 /* TypeOfExpression */) { + if (node.expression.kind === 216 /* SyntaxKind.TypeOfExpression */) { var operandType = getTypeOfExpression(node.expression.expression); var witnesses = getSwitchClauseTypeOfWitnesses(node, /*retainDefault*/ false); // notEqualFacts states that the type of the switched value is not equal to every type in the switch. var notEqualFacts_1 = getFactsFromTypeofSwitch(0, 0, witnesses, /*hasDefault*/ true); var type_6 = getBaseConstraintOfType(operandType) || operandType; // Take any/unknown as a special condition. Or maybe we could change `type` to a union containing all primitive types. - if (type_6.flags & 3 /* AnyOrUnknown */) { - return (556800 /* AllTypeofNE */ & notEqualFacts_1) === 556800 /* AllTypeofNE */; + if (type_6.flags & 3 /* TypeFlags.AnyOrUnknown */) { + return (556800 /* TypeFacts.AllTypeofNE */ & notEqualFacts_1) === 556800 /* TypeFacts.AllTypeofNE */; } - return !!(filterType(type_6, function (t) { return (getTypeFacts(t) & notEqualFacts_1) === notEqualFacts_1; }).flags & 131072 /* Never */); + return !!(filterType(type_6, function (t) { return (getTypeFacts(t) & notEqualFacts_1) === notEqualFacts_1; }).flags & 131072 /* TypeFlags.Never */); } var type = getTypeOfExpression(node.expression); if (!isLiteralType(type)) { @@ -77730,15 +78002,15 @@ var ts; ts.forEachReturnStatement(func.body, function (returnStatement) { var expr = returnStatement.expression; if (expr) { - var type = checkExpressionCached(expr, checkMode && checkMode & ~8 /* SkipGenericFunctions */); - if (functionFlags & 2 /* Async */) { + var type = checkExpressionCached(expr, checkMode && checkMode & ~8 /* CheckMode.SkipGenericFunctions */); + if (functionFlags & 2 /* FunctionFlags.Async */) { // From within an async function you can return either a non-promise value or a promise. Any // Promise/A+ compatible implementation will always assimilate any foreign promise, so the // return type of the body should be unwrapped to its awaited type, which should be wrapped in // the native Promise type by the caller. type = unwrapAwaitedType(checkAwaitedType(type, /*withAlias*/ false, func, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)); } - if (type.flags & 131072 /* Never */) { + if (type.flags & 131072 /* TypeFlags.Never */) { hasReturnOfTypeNever = true; } ts.pushIfUnique(aggregatedTypes, type); @@ -77759,11 +78031,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return true; - case 169 /* MethodDeclaration */: - return func.parent.kind === 205 /* ObjectLiteralExpression */; + case 169 /* SyntaxKind.MethodDeclaration */: + return func.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; default: return false; } @@ -77784,17 +78056,17 @@ var ts; var functionFlags = ts.getFunctionFlags(func); var type = returnType && unwrapReturnType(returnType, functionFlags); // Functions with with an explicitly specified 'void' or 'any' return type don't need any return expressions. - if (type && maybeTypeOfKind(type, 1 /* Any */ | 16384 /* Void */)) { + if (type && maybeTypeOfKind(type, 1 /* TypeFlags.Any */ | 16384 /* TypeFlags.Void */)) { return; } // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw - if (func.kind === 168 /* MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 235 /* Block */ || !functionHasImplicitReturn(func)) { + if (func.kind === 168 /* SyntaxKind.MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 235 /* SyntaxKind.Block */ || !functionHasImplicitReturn(func)) { return; } - var hasExplicitReturn = func.flags & 512 /* HasExplicitReturn */; + var hasExplicitReturn = func.flags & 512 /* NodeFlags.HasExplicitReturn */; var errorNode = ts.getEffectiveReturnTypeNode(func) || func; - if (type && type.flags & 131072 /* Never */) { + if (type && type.flags & 131072 /* TypeFlags.Never */) { error(errorNode, ts.Diagnostics.A_function_returning_never_cannot_have_a_reachable_end_point); } else if (type && !hasExplicitReturn) { @@ -77823,13 +78095,13 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); checkNodeDeferred(node); if (ts.isFunctionExpression(node)) { checkCollisionsForDeclarationName(node, node.name); } // The identityMapper object is used to indicate that function expressions are wildcards - if (checkMode && checkMode & 4 /* SkipContextSensitive */ && isContextSensitive(node)) { + if (checkMode && checkMode & 4 /* CheckMode.SkipContextSensitive */ && isContextSensitive(node)) { // Skip parameters, return signature with return type that retains noncontextual parts so inferences can still be drawn in an early stage if (!ts.getEffectiveReturnTypeNode(node) && !ts.hasContextSensitiveParameters(node)) { // Return plain anyFunctionType if there is no possibility we'll make inferences from the return type @@ -77840,9 +78112,9 @@ var ts; return links.contextFreeType; } var returnType = getReturnTypeFromBody(node, checkMode); - var returnOnlySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, returnType, /*resolvedTypePredicate*/ undefined, 0, 0 /* None */); + var returnOnlySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, returnType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); var returnOnlyType = createAnonymousType(node.symbol, emptySymbols, [returnOnlySignature], ts.emptyArray, ts.emptyArray); - returnOnlyType.objectFlags |= 262144 /* NonInferrableType */; + returnOnlyType.objectFlags |= 262144 /* ObjectFlags.NonInferrableType */; return links.contextFreeType = returnOnlyType; } } @@ -77850,7 +78122,7 @@ var ts; } // Grammar checking var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 213 /* FunctionExpression */) { + if (!hasGrammarError && node.kind === 213 /* SyntaxKind.FunctionExpression */) { checkGrammarForGenerator(node); } contextuallyCheckFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -77859,21 +78131,21 @@ var ts; function contextuallyCheckFunctionExpressionOrObjectLiteralMethod(node, checkMode) { var links = getNodeLinks(node); // Check if function expression is contextually typed and assign parameter types if so. - if (!(links.flags & 1024 /* ContextChecked */)) { + if (!(links.flags & 1024 /* NodeCheckFlags.ContextChecked */)) { var contextualSignature = getContextualSignature(node); // If a type check is started at a function expression that is an argument of a function call, obtaining the // contextual type may recursively get back to here during overload resolution of the call. If so, we will have // already assigned contextual types. - if (!(links.flags & 1024 /* ContextChecked */)) { - links.flags |= 1024 /* ContextChecked */; - var signature = ts.firstOrUndefined(getSignaturesOfType(getTypeOfSymbol(getSymbolOfNode(node)), 0 /* Call */)); + if (!(links.flags & 1024 /* NodeCheckFlags.ContextChecked */)) { + links.flags |= 1024 /* NodeCheckFlags.ContextChecked */; + var signature = ts.firstOrUndefined(getSignaturesOfType(getTypeOfSymbol(getSymbolOfNode(node)), 0 /* SignatureKind.Call */)); if (!signature) { return; } if (isContextSensitive(node)) { if (contextualSignature) { var inferenceContext = getInferenceContext(node); - if (checkMode && checkMode & 2 /* Inferential */) { + if (checkMode && checkMode & 2 /* CheckMode.Inferential */) { inferFromAnnotatedParameters(signature, contextualSignature, inferenceContext); } var instantiatedContextualSignature = inferenceContext ? @@ -77896,7 +78168,7 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 169 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnType = getReturnTypeFromAnnotation(node); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); @@ -77909,7 +78181,7 @@ var ts; // checkFunctionExpressionBodies). So it must be done now. getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 235 /* Block */) { + if (node.body.kind === 235 /* SyntaxKind.Block */) { checkSourceElement(node.body); } else { @@ -77921,7 +78193,7 @@ var ts; var exprType = checkExpression(node.body); var returnOrPromisedType = returnType && unwrapReturnType(returnType, functionFlags); if (returnOrPromisedType) { - if ((functionFlags & 3 /* AsyncGenerator */) === 2 /* Async */) { // Async function + if ((functionFlags & 3 /* FunctionFlags.AsyncGenerator */) === 2 /* FunctionFlags.Async */) { // Async function var awaitedType = checkAwaitedType(exprType, /*withAlias*/ false, node.body, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); checkTypeAssignableToAndOptionallyElaborate(awaitedType, returnOrPromisedType, node.body, node.body); } @@ -77979,27 +78251,27 @@ var ts; // Enum members // Object.defineProperty assignments with writable false or no setter // Unions and intersections of the above (unions and intersections eagerly set isReadonly on creation) - return !!(ts.getCheckFlags(symbol) & 8 /* Readonly */ || - symbol.flags & 4 /* Property */ && ts.getDeclarationModifierFlagsFromSymbol(symbol) & 64 /* Readonly */ || - symbol.flags & 3 /* Variable */ && getDeclarationNodeFlagsFromSymbol(symbol) & 2 /* Const */ || - symbol.flags & 98304 /* Accessor */ && !(symbol.flags & 65536 /* SetAccessor */) || - symbol.flags & 8 /* EnumMember */ || + return !!(ts.getCheckFlags(symbol) & 8 /* CheckFlags.Readonly */ || + symbol.flags & 4 /* SymbolFlags.Property */ && ts.getDeclarationModifierFlagsFromSymbol(symbol) & 64 /* ModifierFlags.Readonly */ || + symbol.flags & 3 /* SymbolFlags.Variable */ && getDeclarationNodeFlagsFromSymbol(symbol) & 2 /* NodeFlags.Const */ || + symbol.flags & 98304 /* SymbolFlags.Accessor */ && !(symbol.flags & 65536 /* SymbolFlags.SetAccessor */) || + symbol.flags & 8 /* SymbolFlags.EnumMember */ || ts.some(symbol.declarations, isReadonlyAssignmentDeclaration)); } function isAssignmentToReadonlyEntity(expr, symbol, assignmentKind) { var _a, _b; - if (assignmentKind === 0 /* None */) { + if (assignmentKind === 0 /* AssignmentKind.None */) { // no assigment means it doesn't matter whether the entity is readonly return false; } if (isReadonlySymbol(symbol)) { // Allow assignments to readonly properties within constructors of the same class declaration. - if (symbol.flags & 4 /* Property */ && + if (symbol.flags & 4 /* SymbolFlags.Property */ && ts.isAccessExpression(expr) && - expr.expression.kind === 108 /* ThisKeyword */) { + expr.expression.kind === 108 /* SyntaxKind.ThisKeyword */) { // Look for if this is the constructor for the class that `symbol` is a property of. var ctor = ts.getContainingFunction(expr); - if (!(ctor && (ctor.kind === 171 /* Constructor */ || isJSConstructor(ctor)))) { + if (!(ctor && (ctor.kind === 171 /* SyntaxKind.Constructor */ || isJSConstructor(ctor)))) { return true; } if (symbol.valueDeclaration) { @@ -78020,11 +78292,11 @@ var ts; if (ts.isAccessExpression(expr)) { // references through namespace import should be readonly var node = ts.skipParentheses(expr.expression); - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { var symbol_2 = getNodeLinks(node).resolvedSymbol; - if (symbol_2.flags & 2097152 /* Alias */) { + if (symbol_2.flags & 2097152 /* SymbolFlags.Alias */) { var declaration = getDeclarationOfAliasSymbol(symbol_2); - return !!declaration && declaration.kind === 268 /* NamespaceImport */; + return !!declaration && declaration.kind === 268 /* SyntaxKind.NamespaceImport */; } } } @@ -78032,12 +78304,12 @@ var ts; } function checkReferenceExpression(expr, invalidReferenceMessage, invalidOptionalChainMessage) { // References are combinations of identifiers, parentheses, and property accesses. - var node = ts.skipOuterExpressions(expr, 6 /* Assertions */ | 1 /* Parentheses */); - if (node.kind !== 79 /* Identifier */ && !ts.isAccessExpression(node)) { + var node = ts.skipOuterExpressions(expr, 6 /* OuterExpressionKinds.Assertions */ | 1 /* OuterExpressionKinds.Parentheses */); + if (node.kind !== 79 /* SyntaxKind.Identifier */ && !ts.isAccessExpression(node)) { error(expr, invalidReferenceMessage); return false; } - if (node.flags & 32 /* OptionalChain */) { + if (node.flags & 32 /* NodeFlags.OptionalChain */) { error(expr, invalidOptionalChainMessage); return false; } @@ -78066,8 +78338,8 @@ var ts; function checkDeleteExpressionMustBeOptional(expr, symbol) { var type = getTypeOfSymbol(symbol); if (strictNullChecks && - !(type.flags & (3 /* AnyOrUnknown */ | 131072 /* Never */)) && - !(exactOptionalPropertyTypes ? symbol.flags & 16777216 /* Optional */ : getFalsyFlags(type) & 32768 /* Undefined */)) { + !(type.flags & (3 /* TypeFlags.AnyOrUnknown */ | 131072 /* TypeFlags.Never */)) && + !(exactOptionalPropertyTypes ? symbol.flags & 16777216 /* SymbolFlags.Optional */ : getFalsyFlags(type) & 32768 /* TypeFlags.Undefined */)) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_optional); } } @@ -78085,21 +78357,36 @@ var ts; if (container && ts.isClassStaticBlockDeclaration(container)) { error(node, ts.Diagnostics.Await_expression_cannot_be_used_inside_a_class_static_block); } - else if (!(node.flags & 32768 /* AwaitContext */)) { + else if (!(node.flags & 32768 /* NodeFlags.AwaitContext */)) { if (ts.isInTopLevelContext(node)) { var sourceFile = ts.getSourceFileOfNode(node); if (!hasParseDiagnostics(sourceFile)) { var span = void 0; if (!ts.isEffectiveExternalModule(sourceFile, compilerOptions)) { - if (!span) - span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); + span !== null && span !== void 0 ? span : (span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos)); var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module); diagnostics.add(diagnostic); } - if ((moduleKind !== ts.ModuleKind.ES2022 && moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System && !(moduleKind === ts.ModuleKind.NodeNext && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.ESNext)) || languageVersion < 4 /* ES2017 */) { - span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); - var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher); - diagnostics.add(diagnostic); + switch (moduleKind) { + case ts.ModuleKind.Node16: + case ts.ModuleKind.NodeNext: + if (sourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS) { + span !== null && span !== void 0 ? span : (span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)); + break; + } + // fallthrough + case ts.ModuleKind.ES2022: + case ts.ModuleKind.ESNext: + case ts.ModuleKind.System: + if (languageVersion >= 4 /* ScriptTarget.ES2017 */) { + break; + } + // fallthrough + default: + span !== null && span !== void 0 ? span : (span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher)); + break; } } } @@ -78109,7 +78396,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); - if (container && container.kind !== 171 /* Constructor */ && (ts.getFunctionFlags(container) & 2 /* Async */) === 0) { + if (container && container.kind !== 171 /* SyntaxKind.Constructor */ && (ts.getFunctionFlags(container) & 2 /* FunctionFlags.Async */) === 0) { var relatedInfo = ts.createDiagnosticForNode(container, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); ts.addRelatedInfo(diagnostic, relatedInfo); } @@ -78125,7 +78412,7 @@ var ts; addLazyDiagnostic(function () { return checkAwaitExpressionGrammar(node); }); var operandType = checkExpression(node.expression); var awaitedType = checkAwaitedType(operandType, /*withAlias*/ true, node, ts.Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); - if (awaitedType === operandType && !isErrorType(awaitedType) && !(operandType.flags & 3 /* AnyOrUnknown */)) { + if (awaitedType === operandType && !isErrorType(awaitedType) && !(operandType.flags & 3 /* TypeFlags.AnyOrUnknown */)) { addErrorOrSuggestion(/*isError*/ false, ts.createDiagnosticForNode(node, ts.Diagnostics.await_has_no_effect_on_the_type_of_this_expression)); } return awaitedType; @@ -78136,16 +78423,16 @@ var ts; return silentNeverType; } switch (node.operand.kind) { - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: switch (node.operator) { - case 40 /* MinusToken */: + case 40 /* SyntaxKind.MinusToken */: return getFreshTypeOfLiteralType(getNumberLiteralType(-node.operand.text)); - case 39 /* PlusToken */: + case 39 /* SyntaxKind.PlusToken */: return getFreshTypeOfLiteralType(getNumberLiteralType(+node.operand.text)); } break; - case 9 /* BigIntLiteral */: - if (node.operator === 40 /* MinusToken */) { + case 9 /* SyntaxKind.BigIntLiteral */: + if (node.operator === 40 /* SyntaxKind.MinusToken */) { return getFreshTypeOfLiteralType(getBigIntLiteralType({ negative: true, base10Value: ts.parsePseudoBigInt(node.operand.text) @@ -78153,28 +78440,28 @@ var ts; } } switch (node.operator) { - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: checkNonNullType(operandType, node.operand); - if (maybeTypeOfKindConsideringBaseConstraint(operandType, 12288 /* ESSymbolLike */)) { + if (maybeTypeOfKindConsideringBaseConstraint(operandType, 12288 /* TypeFlags.ESSymbolLike */)) { error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } - if (node.operator === 39 /* PlusToken */) { - if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) { + if (node.operator === 39 /* SyntaxKind.PlusToken */) { + if (maybeTypeOfKind(operandType, 2112 /* TypeFlags.BigIntLike */)) { error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType))); } return numberType; } return getUnaryResultType(operandType); - case 53 /* ExclamationToken */: + case 53 /* SyntaxKind.ExclamationToken */: checkTruthinessExpression(node.operand); - var facts = getTypeFacts(operandType) & (4194304 /* Truthy */ | 8388608 /* Falsy */); - return facts === 4194304 /* Truthy */ ? falseType : - facts === 8388608 /* Falsy */ ? trueType : + var facts = getTypeFacts(operandType) & (4194304 /* TypeFacts.Truthy */ | 8388608 /* TypeFacts.Falsy */); + return facts === 4194304 /* TypeFacts.Truthy */ ? falseType : + facts === 8388608 /* TypeFacts.Falsy */ ? trueType : booleanType; - case 45 /* PlusPlusToken */: - case 46 /* MinusMinusToken */: + case 45 /* SyntaxKind.PlusPlusToken */: + case 46 /* SyntaxKind.MinusMinusToken */: var ok = checkArithmeticOperandType(node.operand, checkNonNullType(operandType, node.operand), ts.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type); if (ok) { // run check only if former checks succeeded to avoid reporting cascading errors @@ -78197,8 +78484,8 @@ var ts; return getUnaryResultType(operandType); } function getUnaryResultType(operandType) { - if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) { - return isTypeAssignableToKind(operandType, 3 /* AnyOrUnknown */) || maybeTypeOfKind(operandType, 296 /* NumberLike */) + if (maybeTypeOfKind(operandType, 2112 /* TypeFlags.BigIntLike */)) { + return isTypeAssignableToKind(operandType, 3 /* TypeFlags.AnyOrUnknown */) || maybeTypeOfKind(operandType, 296 /* TypeFlags.NumberLike */) ? numberOrBigIntType : bigintType; } @@ -78218,7 +78505,7 @@ var ts; if (type.flags & kind) { return true; } - if (type.flags & 3145728 /* UnionOrIntersection */) { + if (type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { var types = type.types; for (var _i = 0, types_21 = types; _i < types_21.length; _i++) { var t = types_21[_i]; @@ -78233,30 +78520,30 @@ var ts; if (source.flags & kind) { return true; } - if (strict && source.flags & (3 /* AnyOrUnknown */ | 16384 /* Void */ | 32768 /* Undefined */ | 65536 /* Null */)) { + if (strict && source.flags & (3 /* TypeFlags.AnyOrUnknown */ | 16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */ | 65536 /* TypeFlags.Null */)) { return false; } - return !!(kind & 296 /* NumberLike */) && isTypeAssignableTo(source, numberType) || - !!(kind & 2112 /* BigIntLike */) && isTypeAssignableTo(source, bigintType) || - !!(kind & 402653316 /* StringLike */) && isTypeAssignableTo(source, stringType) || - !!(kind & 528 /* BooleanLike */) && isTypeAssignableTo(source, booleanType) || - !!(kind & 16384 /* Void */) && isTypeAssignableTo(source, voidType) || - !!(kind & 131072 /* Never */) && isTypeAssignableTo(source, neverType) || - !!(kind & 65536 /* Null */) && isTypeAssignableTo(source, nullType) || - !!(kind & 32768 /* Undefined */) && isTypeAssignableTo(source, undefinedType) || - !!(kind & 4096 /* ESSymbol */) && isTypeAssignableTo(source, esSymbolType) || - !!(kind & 67108864 /* NonPrimitive */) && isTypeAssignableTo(source, nonPrimitiveType); + return !!(kind & 296 /* TypeFlags.NumberLike */) && isTypeAssignableTo(source, numberType) || + !!(kind & 2112 /* TypeFlags.BigIntLike */) && isTypeAssignableTo(source, bigintType) || + !!(kind & 402653316 /* TypeFlags.StringLike */) && isTypeAssignableTo(source, stringType) || + !!(kind & 528 /* TypeFlags.BooleanLike */) && isTypeAssignableTo(source, booleanType) || + !!(kind & 16384 /* TypeFlags.Void */) && isTypeAssignableTo(source, voidType) || + !!(kind & 131072 /* TypeFlags.Never */) && isTypeAssignableTo(source, neverType) || + !!(kind & 65536 /* TypeFlags.Null */) && isTypeAssignableTo(source, nullType) || + !!(kind & 32768 /* TypeFlags.Undefined */) && isTypeAssignableTo(source, undefinedType) || + !!(kind & 4096 /* TypeFlags.ESSymbol */) && isTypeAssignableTo(source, esSymbolType) || + !!(kind & 67108864 /* TypeFlags.NonPrimitive */) && isTypeAssignableTo(source, nonPrimitiveType); } function allTypesAssignableToKind(source, kind, strict) { - return source.flags & 1048576 /* Union */ ? + return source.flags & 1048576 /* TypeFlags.Union */ ? ts.every(source.types, function (subType) { return allTypesAssignableToKind(subType, kind, strict); }) : isTypeAssignableToKind(source, kind, strict); } function isConstEnumObjectType(type) { - return !!(ts.getObjectFlags(type) & 16 /* Anonymous */) && !!type.symbol && isConstEnumSymbol(type.symbol); + return !!(ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */) && !!type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { - return (symbol.flags & 128 /* ConstEnum */) !== 0; + return (symbol.flags & 128 /* SymbolFlags.ConstEnum */) !== 0; } function checkInstanceOfExpression(left, right, leftType, rightType) { if (leftType === silentNeverType || rightType === silentNeverType) { @@ -78268,7 +78555,7 @@ var ts; // The result is always of the Boolean primitive type. // NOTE: do not raise error if leftType is unknown as related error was already reported if (!isTypeAny(leftType) && - allTypesAssignableToKind(leftType, 131068 /* Primitive */)) { + allTypesAssignableToKind(leftType, 131068 /* TypeFlags.Primitive */)) { error(left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } // NOTE: do not raise error if right is unknown as related error was already reported @@ -78282,8 +78569,8 @@ var ts; return silentNeverType; } if (ts.isPrivateIdentifier(left)) { - if (languageVersion < 99 /* ESNext */) { - checkExternalEmitHelpers(left, 2097152 /* ClassPrivateFieldIn */); + if (languageVersion < 99 /* ScriptTarget.ESNext */) { + checkExternalEmitHelpers(left, 2097152 /* ExternalEmitHelpers.ClassPrivateFieldIn */); } // Unlike in 'checkPrivateIdentifierExpression' we now have access to the RHS type // which provides us with the opportunity to emit more detailed errors @@ -78296,8 +78583,8 @@ var ts; leftType = checkNonNullType(leftType, left); // TypeScript 1.0 spec (April 2014): 4.15.5 // Require the left operand to be of type Any, the String primitive type, or the Number primitive type. - if (!(allTypesAssignableToKind(leftType, 402653316 /* StringLike */ | 296 /* NumberLike */ | 12288 /* ESSymbolLike */) || - isTypeAssignableToKind(leftType, 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */ | 262144 /* TypeParameter */))) { + if (!(allTypesAssignableToKind(leftType, 402653316 /* TypeFlags.StringLike */ | 296 /* TypeFlags.NumberLike */ | 12288 /* TypeFlags.ESSymbolLike */) || + isTypeAssignableToKind(leftType, 4194304 /* TypeFlags.Index */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */ | 262144 /* TypeFlags.TypeParameter */))) { error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_a_private_identifier_or_of_type_any_string_number_or_symbol); } } @@ -78322,9 +78609,9 @@ var ts; // // The result is always of the Boolean primitive type. var rightTypeConstraint = getConstraintOfType(rightType); - if (!allTypesAssignableToKind(rightType, 67108864 /* NonPrimitive */ | 58982400 /* InstantiableNonPrimitive */) || - rightTypeConstraint && (isTypeAssignableToKind(rightType, 3145728 /* UnionOrIntersection */) && !allTypesAssignableToKind(rightTypeConstraint, 67108864 /* NonPrimitive */ | 58982400 /* InstantiableNonPrimitive */) || - !maybeTypeOfKind(rightTypeConstraint, 67108864 /* NonPrimitive */ | 58982400 /* InstantiableNonPrimitive */ | 524288 /* Object */))) { + if (!allTypesAssignableToKind(rightType, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) || + rightTypeConstraint && (isTypeAssignableToKind(rightType, 3145728 /* TypeFlags.UnionOrIntersection */) && !allTypesAssignableToKind(rightTypeConstraint, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) || + !maybeTypeOfKind(rightTypeConstraint, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */ | 524288 /* TypeFlags.Object */))) { error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_not_be_a_primitive); } return booleanType; @@ -78344,7 +78631,7 @@ var ts; if (rightIsThis === void 0) { rightIsThis = false; } var properties = node.properties; var property = properties[propertyIndex]; - if (property.kind === 296 /* PropertyAssignment */ || property.kind === 297 /* ShorthandPropertyAssignment */) { + if (property.kind === 296 /* SyntaxKind.PropertyAssignment */ || property.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { var name = property.name; var exprType = getLiteralTypeFromPropertyName(name); if (isTypeUsableAsPropertyName(exprType)) { @@ -78355,17 +78642,17 @@ var ts; checkPropertyAccessibility(property, /*isSuper*/ false, /*writing*/ true, objectLiteralType, prop); } } - var elementType = getIndexedAccessType(objectLiteralType, exprType, 32 /* ExpressionPosition */, name); + var elementType = getIndexedAccessType(objectLiteralType, exprType, 32 /* AccessFlags.ExpressionPosition */, name); var type = getFlowTypeOfDestructuring(property, elementType); - return checkDestructuringAssignment(property.kind === 297 /* ShorthandPropertyAssignment */ ? property : property.initializer, type); + return checkDestructuringAssignment(property.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ ? property : property.initializer, type); } - else if (property.kind === 298 /* SpreadAssignment */) { + else if (property.kind === 298 /* SyntaxKind.SpreadAssignment */) { if (propertyIndex < properties.length - 1) { error(property, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } else { - if (languageVersion < 99 /* ESNext */) { - checkExternalEmitHelpers(property, 4 /* Rest */); + if (languageVersion < 99 /* ScriptTarget.ESNext */) { + checkExternalEmitHelpers(property, 4 /* ExternalEmitHelpers.Rest */); } var nonRestNames = []; if (allProperties) { @@ -78387,18 +78674,18 @@ var ts; } function checkArrayLiteralAssignment(node, sourceType, checkMode) { var elements = node.elements; - if (languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { - checkExternalEmitHelpers(node, 512 /* Read */); + if (languageVersion < 2 /* ScriptTarget.ES2015 */ && compilerOptions.downlevelIteration) { + checkExternalEmitHelpers(node, 512 /* ExternalEmitHelpers.Read */); } // This elementType will be used if the specific property corresponding to this index is not // present (aka the tuple element property). This call also checks that the parentType is in // fact an iterable or array (depending on target language). - var possiblyOutOfBoundsType = checkIteratedTypeOrElementType(65 /* Destructuring */ | 128 /* PossiblyOutOfBounds */, sourceType, undefinedType, node) || errorType; + var possiblyOutOfBoundsType = checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */ | 128 /* IterationUse.PossiblyOutOfBounds */, sourceType, undefinedType, node) || errorType; var inBoundsType = compilerOptions.noUncheckedIndexedAccess ? undefined : possiblyOutOfBoundsType; for (var i = 0; i < elements.length; i++) { var type = possiblyOutOfBoundsType; - if (node.elements[i].kind === 225 /* SpreadElement */) { - type = inBoundsType = inBoundsType !== null && inBoundsType !== void 0 ? inBoundsType : (checkIteratedTypeOrElementType(65 /* Destructuring */, sourceType, undefinedType, node) || errorType); + if (node.elements[i].kind === 225 /* SyntaxKind.SpreadElement */) { + type = inBoundsType = inBoundsType !== null && inBoundsType !== void 0 ? inBoundsType : (checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, sourceType, undefinedType, node) || errorType); } checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, type, checkMode); } @@ -78407,15 +78694,15 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 227 /* OmittedExpression */) { - if (element.kind !== 225 /* SpreadElement */) { + if (element.kind !== 227 /* SyntaxKind.OmittedExpression */) { + if (element.kind !== 225 /* SyntaxKind.SpreadElement */) { var indexType = getNumberLiteralType(elementIndex); if (isArrayLikeType(sourceType)) { // We create a synthetic expression so that getIndexedAccessType doesn't get confused // when the element is a SyntaxKind.ElementAccessExpression. - var accessFlags = 32 /* ExpressionPosition */ | (hasDefaultValue(element) ? 16 /* NoTupleBoundsCheck */ : 0); + var accessFlags = 32 /* AccessFlags.ExpressionPosition */ | (hasDefaultValue(element) ? 16 /* AccessFlags.NoTupleBoundsCheck */ : 0); var elementType_2 = getIndexedAccessTypeOrUndefined(sourceType, indexType, accessFlags, createSyntheticExpression(element, indexType)) || errorType; - var assignedType = hasDefaultValue(element) ? getTypeWithFacts(elementType_2, 524288 /* NEUndefined */) : elementType_2; + var assignedType = hasDefaultValue(element) ? getTypeWithFacts(elementType_2, 524288 /* TypeFacts.NEUndefined */) : elementType_2; var type = getFlowTypeOfDestructuring(element, assignedType); return checkDestructuringAssignment(element, type, checkMode); } @@ -78426,7 +78713,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 221 /* BinaryExpression */ && restExpression.operatorToken.kind === 63 /* EqualsToken */) { + if (restExpression.kind === 221 /* SyntaxKind.BinaryExpression */ && restExpression.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -78442,14 +78729,14 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode, rightIsThis) { var target; - if (exprOrAssignment.kind === 297 /* ShorthandPropertyAssignment */) { + if (exprOrAssignment.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 32768 /* Undefined */)) { - sourceType = getTypeWithFacts(sourceType, 524288 /* NEUndefined */); + !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 32768 /* TypeFlags.Undefined */)) { + sourceType = getTypeWithFacts(sourceType, 524288 /* TypeFacts.NEUndefined */); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); } @@ -78458,31 +78745,31 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 221 /* BinaryExpression */ && target.operatorToken.kind === 63 /* EqualsToken */) { + if (target.kind === 221 /* SyntaxKind.BinaryExpression */ && target.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; } - if (target.kind === 205 /* ObjectLiteralExpression */) { + if (target.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType, rightIsThis); } - if (target.kind === 204 /* ArrayLiteralExpression */) { + if (target.kind === 204 /* SyntaxKind.ArrayLiteralExpression */) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 298 /* SpreadAssignment */ ? + var error = target.parent.kind === 298 /* SyntaxKind.SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; - var optionalError = target.parent.kind === 298 /* SpreadAssignment */ ? + var optionalError = target.parent.kind === 298 /* SyntaxKind.SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access; if (checkReferenceExpression(target, error, optionalError)) { checkTypeAssignableToAndOptionallyElaborate(sourceType, targetType, target, target); } if (ts.isPrivateIdentifierPropertyAccessExpression(target)) { - checkExternalEmitHelpers(target.parent, 1048576 /* ClassPrivateFieldSet */); + checkExternalEmitHelpers(target.parent, 1048576 /* ExternalEmitHelpers.ClassPrivateFieldSet */); } return sourceType; } @@ -78497,59 +78784,59 @@ var ts; function isSideEffectFree(node) { node = ts.skipParentheses(node); switch (node.kind) { - case 79 /* Identifier */: - case 10 /* StringLiteral */: - case 13 /* RegularExpressionLiteral */: - case 210 /* TaggedTemplateExpression */: - case 223 /* TemplateExpression */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 104 /* NullKeyword */: - case 153 /* UndefinedKeyword */: - case 213 /* FunctionExpression */: - case 226 /* ClassExpression */: - case 214 /* ArrowFunction */: - case 204 /* ArrayLiteralExpression */: - case 205 /* ObjectLiteralExpression */: - case 216 /* TypeOfExpression */: - case 230 /* NonNullExpression */: - case 279 /* JsxSelfClosingElement */: - case 278 /* JsxElement */: + case 79 /* SyntaxKind.Identifier */: + case 10 /* SyntaxKind.StringLiteral */: + case 13 /* SyntaxKind.RegularExpressionLiteral */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 213 /* SyntaxKind.FunctionExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: + case 230 /* SyntaxKind.NonNullExpression */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 278 /* SyntaxKind.JsxElement */: return true; - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: // Unary operators ~, !, +, and - have no side effects. // The rest do. switch (node.operator) { - case 53 /* ExclamationToken */: - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: + case 53 /* SyntaxKind.ExclamationToken */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: return true; } return false; // Some forms listed here for clarity - case 217 /* VoidExpression */: // Explicit opt-out - case 211 /* TypeAssertionExpression */: // Not SEF, but can produce useful type warnings - case 229 /* AsExpression */: // Not SEF, but can produce useful type warnings + case 217 /* SyntaxKind.VoidExpression */: // Explicit opt-out + case 211 /* SyntaxKind.TypeAssertionExpression */: // Not SEF, but can produce useful type warnings + case 229 /* SyntaxKind.AsExpression */: // Not SEF, but can produce useful type warnings default: return false; } } function isTypeEqualityComparableTo(source, target) { - return (target.flags & 98304 /* Nullable */) !== 0 || isTypeComparableTo(source, target); + return (target.flags & 98304 /* TypeFlags.Nullable */) !== 0 || isTypeComparableTo(source, target); } function createCheckBinaryExpression() { var trampoline = ts.createBinaryExpressionTrampoline(onEnter, onLeft, onOperator, onRight, onExit, foldState); @@ -78580,9 +78867,9 @@ var ts; } checkGrammarNullishCoalesceWithLogicalExpression(node); var operator = node.operatorToken.kind; - if (operator === 63 /* EqualsToken */ && (node.left.kind === 205 /* ObjectLiteralExpression */ || node.left.kind === 204 /* ArrayLiteralExpression */)) { + if (operator === 63 /* SyntaxKind.EqualsToken */ && (node.left.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || node.left.kind === 204 /* SyntaxKind.ArrayLiteralExpression */)) { state.skip = true; - setLastResult(state, checkDestructuringAssignment(node.left, checkExpression(node.right, checkMode), checkMode, node.right.kind === 108 /* ThisKeyword */)); + setLastResult(state, checkDestructuringAssignment(node.left, checkExpression(node.right, checkMode), checkMode, node.right.kind === 108 /* SyntaxKind.ThisKeyword */)); return state; } return state; @@ -78599,8 +78886,8 @@ var ts; setLeftType(state, leftType); setLastResult(state, /*type*/ undefined); var operator = operatorToken.kind; - if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */) { - if (operator === 55 /* AmpersandAmpersandToken */) { + if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */ || operator === 56 /* SyntaxKind.BarBarToken */ || operator === 60 /* SyntaxKind.QuestionQuestionToken */) { + if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */) { var parent = ts.walkUpParenthesizedExpressions(node.parent); checkTestingKnownTruthyCallableOrAwaitableType(node.left, ts.isIfStatement(parent) ? parent.thenStatement : undefined); } @@ -78660,11 +78947,11 @@ var ts; } function checkGrammarNullishCoalesceWithLogicalExpression(node) { var left = node.left, operatorToken = node.operatorToken, right = node.right; - if (operatorToken.kind === 60 /* QuestionQuestionToken */) { - if (ts.isBinaryExpression(left) && (left.operatorToken.kind === 56 /* BarBarToken */ || left.operatorToken.kind === 55 /* AmpersandAmpersandToken */)) { + if (operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) { + if (ts.isBinaryExpression(left) && (left.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || left.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */)) { grammarErrorOnNode(left, ts.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses, ts.tokenToString(left.operatorToken.kind), ts.tokenToString(operatorToken.kind)); } - if (ts.isBinaryExpression(right) && (right.operatorToken.kind === 56 /* BarBarToken */ || right.operatorToken.kind === 55 /* AmpersandAmpersandToken */)) { + if (ts.isBinaryExpression(right) && (right.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || right.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */)) { grammarErrorOnNode(right, ts.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses, ts.tokenToString(right.operatorToken.kind), ts.tokenToString(operatorToken.kind)); } } @@ -78673,11 +78960,11 @@ var ts; // expression-wide checks and does not use a work stack to fold nested binary expressions into the same callstack frame function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 63 /* EqualsToken */ && (left.kind === 205 /* ObjectLiteralExpression */ || left.kind === 204 /* ArrayLiteralExpression */)) { - return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode, right.kind === 108 /* ThisKeyword */); + if (operator === 63 /* SyntaxKind.EqualsToken */ && (left.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || left.kind === 204 /* SyntaxKind.ArrayLiteralExpression */)) { + return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode, right.kind === 108 /* SyntaxKind.ThisKeyword */); } var leftType; - if (operator === 55 /* AmpersandAmpersandToken */ || operator === 56 /* BarBarToken */ || operator === 60 /* QuestionQuestionToken */) { + if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */ || operator === 56 /* SyntaxKind.BarBarToken */ || operator === 60 /* SyntaxKind.QuestionQuestionToken */) { leftType = checkTruthinessExpression(left, checkMode); } else { @@ -78689,28 +78976,28 @@ var ts; function checkBinaryLikeExpressionWorker(left, operatorToken, right, leftType, rightType, errorNode) { var operator = operatorToken.kind; switch (operator) { - case 41 /* AsteriskToken */: - case 42 /* AsteriskAsteriskToken */: - case 66 /* AsteriskEqualsToken */: - case 67 /* AsteriskAsteriskEqualsToken */: - case 43 /* SlashToken */: - case 68 /* SlashEqualsToken */: - case 44 /* PercentToken */: - case 69 /* PercentEqualsToken */: - case 40 /* MinusToken */: - case 65 /* MinusEqualsToken */: - case 47 /* LessThanLessThanToken */: - case 70 /* LessThanLessThanEqualsToken */: - case 48 /* GreaterThanGreaterThanToken */: - case 71 /* GreaterThanGreaterThanEqualsToken */: - case 49 /* GreaterThanGreaterThanGreaterThanToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 51 /* BarToken */: - case 74 /* BarEqualsToken */: - case 52 /* CaretToken */: - case 78 /* CaretEqualsToken */: - case 50 /* AmpersandToken */: - case 73 /* AmpersandEqualsToken */: + case 41 /* SyntaxKind.AsteriskToken */: + case 42 /* SyntaxKind.AsteriskAsteriskToken */: + case 66 /* SyntaxKind.AsteriskEqualsToken */: + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: + case 43 /* SyntaxKind.SlashToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + case 44 /* SyntaxKind.PercentToken */: + case 69 /* SyntaxKind.PercentEqualsToken */: + case 40 /* SyntaxKind.MinusToken */: + case 65 /* SyntaxKind.MinusEqualsToken */: + case 47 /* SyntaxKind.LessThanLessThanToken */: + case 70 /* SyntaxKind.LessThanLessThanEqualsToken */: + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: + case 51 /* SyntaxKind.BarToken */: + case 74 /* SyntaxKind.BarEqualsToken */: + case 52 /* SyntaxKind.CaretToken */: + case 78 /* SyntaxKind.CaretEqualsToken */: + case 50 /* SyntaxKind.AmpersandToken */: + case 73 /* SyntaxKind.AmpersandEqualsToken */: if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } @@ -78719,8 +79006,8 @@ var ts; var suggestedOperator = void 0; // if a user tries to apply a bitwise operator to 2 boolean operands // try and return them a helpful suggestion - if ((leftType.flags & 528 /* BooleanLike */) && - (rightType.flags & 528 /* BooleanLike */) && + if ((leftType.flags & 528 /* TypeFlags.BooleanLike */) && + (rightType.flags & 528 /* TypeFlags.BooleanLike */) && (suggestedOperator = getSuggestedBooleanOperator(operatorToken.kind)) !== undefined) { error(errorNode || operatorToken, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(operatorToken.kind), ts.tokenToString(suggestedOperator)); return numberType; @@ -78731,21 +79018,21 @@ var ts; var rightOk = checkArithmeticOperandType(right, rightType, ts.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type, /*isAwaitValid*/ true); var resultType_1; // If both are any or unknown, allow operation; assume it will resolve to number - if ((isTypeAssignableToKind(leftType, 3 /* AnyOrUnknown */) && isTypeAssignableToKind(rightType, 3 /* AnyOrUnknown */)) || + if ((isTypeAssignableToKind(leftType, 3 /* TypeFlags.AnyOrUnknown */) && isTypeAssignableToKind(rightType, 3 /* TypeFlags.AnyOrUnknown */)) || // Or, if neither could be bigint, implicit coercion results in a number result - !(maybeTypeOfKind(leftType, 2112 /* BigIntLike */) || maybeTypeOfKind(rightType, 2112 /* BigIntLike */))) { + !(maybeTypeOfKind(leftType, 2112 /* TypeFlags.BigIntLike */) || maybeTypeOfKind(rightType, 2112 /* TypeFlags.BigIntLike */))) { resultType_1 = numberType; } // At least one is assignable to bigint, so check that both are else if (bothAreBigIntLike(leftType, rightType)) { switch (operator) { - case 49 /* GreaterThanGreaterThanGreaterThanToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: reportOperatorError(); break; - case 42 /* AsteriskAsteriskToken */: - case 67 /* AsteriskAsteriskEqualsToken */: - if (languageVersion < 3 /* ES2016 */) { + case 42 /* SyntaxKind.AsteriskAsteriskToken */: + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: + if (languageVersion < 3 /* ScriptTarget.ES2016 */) { error(errorNode, ts.Diagnostics.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later); } } @@ -78761,26 +79048,26 @@ var ts; } return resultType_1; } - case 39 /* PlusToken */: - case 64 /* PlusEqualsToken */: + case 39 /* SyntaxKind.PlusToken */: + case 64 /* SyntaxKind.PlusEqualsToken */: if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; } - if (!isTypeAssignableToKind(leftType, 402653316 /* StringLike */) && !isTypeAssignableToKind(rightType, 402653316 /* StringLike */)) { + if (!isTypeAssignableToKind(leftType, 402653316 /* TypeFlags.StringLike */) && !isTypeAssignableToKind(rightType, 402653316 /* TypeFlags.StringLike */)) { leftType = checkNonNullType(leftType, left); rightType = checkNonNullType(rightType, right); } var resultType = void 0; - if (isTypeAssignableToKind(leftType, 296 /* NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 296 /* NumberLike */, /*strict*/ true)) { + if (isTypeAssignableToKind(leftType, 296 /* TypeFlags.NumberLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 296 /* TypeFlags.NumberLike */, /*strict*/ true)) { // Operands of an enum type are treated as having the primitive type Number. // If both operands are of the Number primitive type, the result is of the Number primitive type. resultType = numberType; } - else if (isTypeAssignableToKind(leftType, 2112 /* BigIntLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 2112 /* BigIntLike */, /*strict*/ true)) { + else if (isTypeAssignableToKind(leftType, 2112 /* TypeFlags.BigIntLike */, /*strict*/ true) && isTypeAssignableToKind(rightType, 2112 /* TypeFlags.BigIntLike */, /*strict*/ true)) { // If both operands are of the BigInt primitive type, the result is of the BigInt primitive type. resultType = bigintType; } - else if (isTypeAssignableToKind(leftType, 402653316 /* StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 402653316 /* StringLike */, /*strict*/ true)) { + else if (isTypeAssignableToKind(leftType, 402653316 /* TypeFlags.StringLike */, /*strict*/ true) || isTypeAssignableToKind(rightType, 402653316 /* TypeFlags.StringLike */, /*strict*/ true)) { // If one or both operands are of the String primitive type, the result is of the String primitive type. resultType = stringType; } @@ -78798,21 +79085,21 @@ var ts; // If both types have an awaited type of one of these, we'll assume the user // might be missing an await without doing an exhaustive check that inserting // await(s) will actually be a completely valid binary expression. - var closeEnoughKind_1 = 296 /* NumberLike */ | 2112 /* BigIntLike */ | 402653316 /* StringLike */ | 3 /* AnyOrUnknown */; + var closeEnoughKind_1 = 296 /* TypeFlags.NumberLike */ | 2112 /* TypeFlags.BigIntLike */ | 402653316 /* TypeFlags.StringLike */ | 3 /* TypeFlags.AnyOrUnknown */; reportOperatorError(function (left, right) { return isTypeAssignableToKind(left, closeEnoughKind_1) && isTypeAssignableToKind(right, closeEnoughKind_1); }); return anyType; } - if (operator === 64 /* PlusEqualsToken */) { + if (operator === 64 /* SyntaxKind.PlusEqualsToken */) { checkAssignmentOperator(resultType); } return resultType; - case 29 /* LessThanToken */: - case 31 /* GreaterThanToken */: - case 32 /* LessThanEqualsToken */: - case 33 /* GreaterThanEqualsToken */: + case 29 /* SyntaxKind.LessThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 32 /* SyntaxKind.LessThanEqualsToken */: + case 33 /* SyntaxKind.GreaterThanEqualsToken */: if (checkForDisallowedESSymbolOperand(operator)) { leftType = getBaseTypeOfLiteralType(checkNonNullType(leftType, left)); rightType = getBaseTypeOfLiteralType(checkNonNullType(rightType, right)); @@ -78821,56 +79108,56 @@ var ts; }); } return booleanType; - case 34 /* EqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: - case 36 /* EqualsEqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); }); return booleanType; - case 102 /* InstanceOfKeyword */: + case 102 /* SyntaxKind.InstanceOfKeyword */: return checkInstanceOfExpression(left, right, leftType, rightType); - case 101 /* InKeyword */: + case 101 /* SyntaxKind.InKeyword */: return checkInExpression(left, right, leftType, rightType); - case 55 /* AmpersandAmpersandToken */: - case 76 /* AmpersandAmpersandEqualsToken */: { - var resultType_2 = getTypeFacts(leftType) & 4194304 /* Truthy */ ? + case 55 /* SyntaxKind.AmpersandAmpersandToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: { + var resultType_2 = getTypeFacts(leftType) & 4194304 /* TypeFacts.Truthy */ ? getUnionType([extractDefinitelyFalsyTypes(strictNullChecks ? leftType : getBaseTypeOfLiteralType(rightType)), rightType]) : leftType; - if (operator === 76 /* AmpersandAmpersandEqualsToken */) { + if (operator === 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */) { checkAssignmentOperator(rightType); } return resultType_2; } - case 56 /* BarBarToken */: - case 75 /* BarBarEqualsToken */: { - var resultType_3 = getTypeFacts(leftType) & 8388608 /* Falsy */ ? - getUnionType([removeDefinitelyFalsyTypes(leftType), rightType], 2 /* Subtype */) : + case 56 /* SyntaxKind.BarBarToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: { + var resultType_3 = getTypeFacts(leftType) & 8388608 /* TypeFacts.Falsy */ ? + getUnionType([removeDefinitelyFalsyTypes(leftType), rightType], 2 /* UnionReduction.Subtype */) : leftType; - if (operator === 75 /* BarBarEqualsToken */) { + if (operator === 75 /* SyntaxKind.BarBarEqualsToken */) { checkAssignmentOperator(rightType); } return resultType_3; } - case 60 /* QuestionQuestionToken */: - case 77 /* QuestionQuestionEqualsToken */: { - var resultType_4 = getTypeFacts(leftType) & 262144 /* EQUndefinedOrNull */ ? - getUnionType([getNonNullableType(leftType), rightType], 2 /* Subtype */) : + case 60 /* SyntaxKind.QuestionQuestionToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: { + var resultType_4 = getTypeFacts(leftType) & 262144 /* TypeFacts.EQUndefinedOrNull */ ? + getUnionType([getNonNullableType(leftType), rightType], 2 /* UnionReduction.Subtype */) : leftType; - if (operator === 77 /* QuestionQuestionEqualsToken */) { + if (operator === 77 /* SyntaxKind.QuestionQuestionEqualsToken */) { checkAssignmentOperator(rightType); } return resultType_4; } - case 63 /* EqualsToken */: - var declKind = ts.isBinaryExpression(left.parent) ? ts.getAssignmentDeclarationKind(left.parent) : 0 /* None */; + case 63 /* SyntaxKind.EqualsToken */: + var declKind = ts.isBinaryExpression(left.parent) ? ts.getAssignmentDeclarationKind(left.parent) : 0 /* AssignmentDeclarationKind.None */; checkAssignmentDeclaration(declKind, rightType); if (isAssignmentDeclaration(declKind)) { - if (!(rightType.flags & 524288 /* Object */) || - declKind !== 2 /* ModuleExports */ && - declKind !== 6 /* Prototype */ && + if (!(rightType.flags & 524288 /* TypeFlags.Object */) || + declKind !== 2 /* AssignmentDeclarationKind.ModuleExports */ && + declKind !== 6 /* AssignmentDeclarationKind.Prototype */ && !isEmptyObjectType(rightType) && !isFunctionObjectType(rightType) && - !(ts.getObjectFlags(rightType) & 1 /* Class */)) { + !(ts.getObjectFlags(rightType) & 1 /* ObjectFlags.Class */)) { // don't check assignability of module.exports=, C.prototype=, or expando types because they will necessarily be incomplete checkAssignmentOperator(rightType); } @@ -78880,7 +79167,7 @@ var ts; checkAssignmentOperator(rightType); return getRegularTypeOfObjectLiteral(rightType); } - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left) && !isEvalNode(right)) { var sf = ts.getSourceFileOfNode(left); var sourceText = sf.text; @@ -78898,16 +79185,16 @@ var ts; return ts.Debug.fail(); } function bothAreBigIntLike(left, right) { - return isTypeAssignableToKind(left, 2112 /* BigIntLike */) && isTypeAssignableToKind(right, 2112 /* BigIntLike */); + return isTypeAssignableToKind(left, 2112 /* TypeFlags.BigIntLike */) && isTypeAssignableToKind(right, 2112 /* TypeFlags.BigIntLike */); } function checkAssignmentDeclaration(kind, rightType) { - if (kind === 2 /* ModuleExports */) { + if (kind === 2 /* AssignmentDeclarationKind.ModuleExports */) { for (var _i = 0, _a = getPropertiesOfObjectType(rightType); _i < _a.length; _i++) { var prop = _a[_i]; var propType = getTypeOfSymbol(prop); - if (propType.symbol && propType.symbol.flags & 32 /* Class */) { + if (propType.symbol && propType.symbol.flags & 32 /* SymbolFlags.Class */) { var name = prop.escapedName; - var symbol = resolveName(prop.valueDeclaration, name, 788968 /* Type */, undefined, name, /*isUse*/ false); + var symbol = resolveName(prop.valueDeclaration, name, 788968 /* SymbolFlags.Type */, undefined, name, /*isUse*/ false); if ((symbol === null || symbol === void 0 ? void 0 : symbol.declarations) && symbol.declarations.some(ts.isJSDocTypedefTag)) { addDuplicateDeclarationErrorsForSymbols(symbol, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name), prop); addDuplicateDeclarationErrorsForSymbols(prop, ts.Diagnostics.Duplicate_identifier_0, ts.unescapeLeadingUnderscores(name), symbol); @@ -78917,12 +79204,12 @@ var ts; } } function isEvalNode(node) { - return node.kind === 79 /* Identifier */ && node.escapedText === "eval"; + return node.kind === 79 /* SyntaxKind.Identifier */ && node.escapedText === "eval"; } // Return true if there was no error, false if there was an error. function checkForDisallowedESSymbolOperand(operator) { - var offendingSymbolOperand = maybeTypeOfKindConsideringBaseConstraint(leftType, 12288 /* ESSymbolLike */) ? left : - maybeTypeOfKindConsideringBaseConstraint(rightType, 12288 /* ESSymbolLike */) ? right : + var offendingSymbolOperand = maybeTypeOfKindConsideringBaseConstraint(leftType, 12288 /* TypeFlags.ESSymbolLike */) ? left : + maybeTypeOfKindConsideringBaseConstraint(rightType, 12288 /* TypeFlags.ESSymbolLike */) ? right : undefined; if (offendingSymbolOperand) { error(offendingSymbolOperand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(operator)); @@ -78932,15 +79219,15 @@ var ts; } function getSuggestedBooleanOperator(operator) { switch (operator) { - case 51 /* BarToken */: - case 74 /* BarEqualsToken */: - return 56 /* BarBarToken */; - case 52 /* CaretToken */: - case 78 /* CaretEqualsToken */: - return 37 /* ExclamationEqualsEqualsToken */; - case 50 /* AmpersandToken */: - case 73 /* AmpersandEqualsToken */: - return 55 /* AmpersandAmpersandToken */; + case 51 /* SyntaxKind.BarToken */: + case 74 /* SyntaxKind.BarEqualsToken */: + return 56 /* SyntaxKind.BarBarToken */; + case 52 /* SyntaxKind.CaretToken */: + case 78 /* SyntaxKind.CaretEqualsToken */: + return 37 /* SyntaxKind.ExclamationEqualsEqualsToken */; + case 50 /* SyntaxKind.AmpersandToken */: + case 73 /* SyntaxKind.AmpersandEqualsToken */: + return 55 /* SyntaxKind.AmpersandAmpersandToken */; default: return undefined; } @@ -78959,7 +79246,7 @@ var ts; if (checkReferenceExpression(left, ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access, ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access) && (!ts.isIdentifier(left) || ts.unescapeLeadingUnderscores(left.escapedText) !== "exports")) { var headMessage = void 0; - if (exactOptionalPropertyTypes && ts.isPropertyAccessExpression(left) && maybeTypeOfKind(valueType, 32768 /* Undefined */)) { + if (exactOptionalPropertyTypes && ts.isPropertyAccessExpression(left) && maybeTypeOfKind(valueType, 32768 /* TypeFlags.Undefined */)) { var target = getTypeOfPropertyOfType(getTypeOfExpression(left.expression), left.name.escapedText); if (isExactOptionalPropertyMismatch(valueType, target)) { headMessage = ts.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target; @@ -78973,13 +79260,13 @@ var ts; function isAssignmentDeclaration(kind) { var _a; switch (kind) { - case 2 /* ModuleExports */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: return true; - case 1 /* ExportsProperty */: - case 5 /* Property */: - case 6 /* Prototype */: - case 3 /* PrototypeProperty */: - case 4 /* ThisProperty */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 5 /* AssignmentDeclarationKind.Property */: + case 6 /* AssignmentDeclarationKind.Prototype */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: var symbol = getSymbolOfNode(left); var init = ts.getAssignedExpandoInitializer(right); return !!init && ts.isObjectLiteralExpression(init) && @@ -79022,12 +79309,12 @@ var ts; function tryGiveBetterPrimaryError(errNode, maybeMissingAwait, leftStr, rightStr) { var typeName; switch (operatorToken.kind) { - case 36 /* EqualsEqualsEqualsToken */: - case 34 /* EqualsEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 34 /* SyntaxKind.EqualsEqualsToken */: typeName = "false"; break; - case 37 /* ExclamationEqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: typeName = "true"; } if (typeName) { @@ -79053,20 +79340,20 @@ var ts; if (!func) return anyType; var functionFlags = ts.getFunctionFlags(func); - if (!(functionFlags & 1 /* Generator */)) { + if (!(functionFlags & 1 /* FunctionFlags.Generator */)) { // If the user's code is syntactically correct, the func should always have a star. After all, we are in a yield context. return anyType; } - var isAsync = (functionFlags & 2 /* Async */) !== 0; + var isAsync = (functionFlags & 2 /* FunctionFlags.Async */) !== 0; if (node.asteriskToken) { // Async generator functions prior to ESNext require the __await, __asyncDelegator, // and __asyncValues helpers - if (isAsync && languageVersion < 99 /* ESNext */) { - checkExternalEmitHelpers(node, 26624 /* AsyncDelegatorIncludes */); + if (isAsync && languageVersion < 99 /* ScriptTarget.ESNext */) { + checkExternalEmitHelpers(node, 26624 /* ExternalEmitHelpers.AsyncDelegatorIncludes */); } // Generator functions prior to ES2015 require the __values helper - if (!isAsync && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { - checkExternalEmitHelpers(node, 256 /* Values */); + if (!isAsync && languageVersion < 2 /* ScriptTarget.ES2015 */ && compilerOptions.downlevelIteration) { + checkExternalEmitHelpers(node, 256 /* ExternalEmitHelpers.Values */); } } // There is no point in doing an assignability check if the function @@ -79083,15 +79370,15 @@ var ts; checkTypeAssignableToAndOptionallyElaborate(yieldedType, signatureYieldType, node.expression || node, node.expression); } if (node.asteriskToken) { - var use = isAsync ? 19 /* AsyncYieldStar */ : 17 /* YieldStar */; - return getIterationTypeOfIterable(use, 1 /* Return */, yieldExpressionType, node.expression) + var use = isAsync ? 19 /* IterationUse.AsyncYieldStar */ : 17 /* IterationUse.YieldStar */; + return getIterationTypeOfIterable(use, 1 /* IterationTypeKind.Return */, yieldExpressionType, node.expression) || anyType; } else if (returnType) { - return getIterationTypeOfGeneratorFunctionReturnType(2 /* Next */, returnType, isAsync) + return getIterationTypeOfGeneratorFunctionReturnType(2 /* IterationTypeKind.Next */, returnType, isAsync) || anyType; } - var type = getContextualIterationType(2 /* Next */, func); + var type = getContextualIterationType(2 /* IterationTypeKind.Next */, func); if (!type) { type = anyType; addLazyDiagnostic(function () { @@ -79105,7 +79392,7 @@ var ts; } return type; function checkYieldExpressionGrammar() { - if (!(node.flags & 8192 /* YieldContext */)) { + if (!(node.flags & 8192 /* NodeFlags.YieldContext */)) { grammarErrorOnFirstToken(node, ts.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body); } if (isInParameterInitializerBeforeContainingFunction(node)) { @@ -79118,7 +79405,7 @@ var ts; checkTestingKnownTruthyCallableOrAwaitableType(node.condition, node.whenTrue); var type1 = checkExpression(node.whenTrue, checkMode); var type2 = checkExpression(node.whenFalse, checkMode); - return getUnionType([type1, type2], 2 /* Subtype */); + return getUnionType([type1, type2], 2 /* UnionReduction.Subtype */); } function isTemplateLiteralContext(node) { var parent = node.parent; @@ -79131,7 +79418,7 @@ var ts; for (var _i = 0, _a = node.templateSpans; _i < _a.length; _i++) { var span = _a[_i]; var type = checkExpression(span.expression); - if (maybeTypeOfKindConsideringBaseConstraint(type, 12288 /* ESSymbolLike */)) { + if (maybeTypeOfKindConsideringBaseConstraint(type, 12288 /* TypeFlags.ESSymbolLike */)) { error(span.expression, ts.Diagnostics.Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String); } texts.push(span.literal.text); @@ -79140,11 +79427,11 @@ var ts; return isConstContext(node) || isTemplateLiteralContext(node) || someType(getContextualType(node) || unknownType, isTemplateLiteralContextualType) ? getTemplateLiteralType(texts, types) : stringType; } function isTemplateLiteralContextualType(type) { - return !!(type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */) || - type.flags & 58982400 /* InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || unknownType, 402653316 /* StringLike */)); + return !!(type.flags & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */) || + type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || unknownType, 402653316 /* TypeFlags.StringLike */)); } function getContextNode(node) { - if (node.kind === 286 /* JsxAttributes */ && !ts.isJsxSelfClosingElement(node.parent)) { + if (node.kind === 286 /* SyntaxKind.JsxAttributes */ && !ts.isJsxSelfClosingElement(node.parent)) { return node.parent.parent; // Needs to be the root JsxElement, so it encompasses the attributes _and_ the children (which are essentially part of the attributes) } return node; @@ -79156,7 +79443,7 @@ var ts; try { context.contextualType = contextualType; context.inferenceContext = inferenceContext; - var type = checkExpression(node, checkMode | 1 /* Contextual */ | (inferenceContext ? 2 /* Inferential */ : 0)); + var type = checkExpression(node, checkMode | 1 /* CheckMode.Contextual */ | (inferenceContext ? 2 /* CheckMode.Inferential */ : 0)); // In CheckMode.Inferential we collect intra-expression inference sites to process before fixing any type // parameters. This information is no longer needed after the call to checkExpression. if (inferenceContext && inferenceContext.intraExpressionInferenceSites) { @@ -79165,7 +79452,7 @@ var ts; // We strip literal freshness when an appropriate contextual type is present such that contextually typed // literals always preserve their literal types (otherwise they might widen during type inference). An alternative // here would be to not mark contextually typed literals as fresh in the first place. - var result = maybeTypeOfKind(type, 2944 /* Literal */) && isLiteralOfContextualType(type, instantiateContextualType(contextualType, node)) ? + var result = maybeTypeOfKind(type, 2944 /* TypeFlags.Literal */) && isLiteralOfContextualType(type, instantiateContextualType(contextualType, node)) ? getRegularTypeOfLiteralType(type) : type; return result; } @@ -79178,7 +79465,7 @@ var ts; } } function checkExpressionCached(node, checkMode) { - if (checkMode && checkMode !== 0 /* Normal */) { + if (checkMode && checkMode !== 0 /* CheckMode.Normal */) { return checkExpression(node, checkMode); } var links = getNodeLinks(node); @@ -79198,17 +79485,17 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return node.kind === 211 /* TypeAssertionExpression */ || - node.kind === 229 /* AsExpression */ || + return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */ || + node.kind === 229 /* SyntaxKind.AsExpression */ || ts.isJSDocTypeAssertion(node); } function checkDeclarationInitializer(declaration, checkMode, contextualType) { var initializer = ts.getEffectiveInitializer(declaration); var type = getQuickTypeOfExpression(initializer) || (contextualType ? - checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || 0 /* Normal */) + checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || 0 /* CheckMode.Normal */) : checkExpressionCached(initializer, checkMode)); - return ts.isParameter(declaration) && declaration.name.kind === 202 /* ArrayBindingPattern */ && + return ts.isParameter(declaration) && declaration.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */ && isTupleType(type) && !type.target.hasRestElement && getTypeReferenceArity(type) < declaration.name.elements.length ? padTupleType(type, declaration.name) : type; } @@ -79218,9 +79505,9 @@ var ts; var elementFlags = type.target.elementFlags.slice(); for (var i = getTypeReferenceArity(type); i < patternElements.length; i++) { var e = patternElements[i]; - if (i < patternElements.length - 1 || !(e.kind === 203 /* BindingElement */ && e.dotDotDotToken)) { + if (i < patternElements.length - 1 || !(e.kind === 203 /* SyntaxKind.BindingElement */ && e.dotDotDotToken)) { elementTypes.push(!ts.isOmittedExpression(e) && hasDefaultValue(e) ? getTypeFromBindingElement(e, /*includePatternInType*/ false, /*reportErrors*/ false) : anyType); - elementFlags.push(2 /* Optional */); + elementFlags.push(2 /* ElementFlags.Optional */); if (!ts.isOmittedExpression(e) && !hasDefaultValue(e)) { reportImplicitAny(e, anyType); } @@ -79229,7 +79516,7 @@ var ts; return createTupleType(elementTypes, elementFlags, type.target.readonly); } function widenTypeInferredFromInitializer(declaration, type) { - var widened = ts.getCombinedNodeFlags(declaration) & 2 /* Const */ || ts.isDeclarationReadonly(declaration) ? type : getWidenedLiteralType(type); + var widened = ts.getCombinedNodeFlags(declaration) & 2 /* NodeFlags.Const */ || ts.isDeclarationReadonly(declaration) ? type : getWidenedLiteralType(type); if (ts.isInJSFile(declaration)) { if (isEmptyLiteralType(widened)) { reportImplicitAny(declaration, anyType); @@ -79244,28 +79531,28 @@ var ts; } function isLiteralOfContextualType(candidateType, contextualType) { if (contextualType) { - if (contextualType.flags & 3145728 /* UnionOrIntersection */) { + if (contextualType.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { var types = contextualType.types; return ts.some(types, function (t) { return isLiteralOfContextualType(candidateType, t); }); } - if (contextualType.flags & 58982400 /* InstantiableNonPrimitive */) { + if (contextualType.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */) { // If the contextual type is a type variable constrained to a primitive type, consider // this a literal context for literals of that primitive type. For example, given a // type parameter 'T extends string', infer string literal types for T. var constraint = getBaseConstraintOfType(contextualType) || unknownType; - return maybeTypeOfKind(constraint, 4 /* String */) && maybeTypeOfKind(candidateType, 128 /* StringLiteral */) || - maybeTypeOfKind(constraint, 8 /* Number */) && maybeTypeOfKind(candidateType, 256 /* NumberLiteral */) || - maybeTypeOfKind(constraint, 64 /* BigInt */) && maybeTypeOfKind(candidateType, 2048 /* BigIntLiteral */) || - maybeTypeOfKind(constraint, 4096 /* ESSymbol */) && maybeTypeOfKind(candidateType, 8192 /* UniqueESSymbol */) || + return maybeTypeOfKind(constraint, 4 /* TypeFlags.String */) && maybeTypeOfKind(candidateType, 128 /* TypeFlags.StringLiteral */) || + maybeTypeOfKind(constraint, 8 /* TypeFlags.Number */) && maybeTypeOfKind(candidateType, 256 /* TypeFlags.NumberLiteral */) || + maybeTypeOfKind(constraint, 64 /* TypeFlags.BigInt */) && maybeTypeOfKind(candidateType, 2048 /* TypeFlags.BigIntLiteral */) || + maybeTypeOfKind(constraint, 4096 /* TypeFlags.ESSymbol */) && maybeTypeOfKind(candidateType, 8192 /* TypeFlags.UniqueESSymbol */) || isLiteralOfContextualType(candidateType, constraint); } // If the contextual type is a literal of a particular primitive type, we consider this a // literal context for all literals of that primitive type. - return !!(contextualType.flags & (128 /* StringLiteral */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && maybeTypeOfKind(candidateType, 128 /* StringLiteral */) || - contextualType.flags & 256 /* NumberLiteral */ && maybeTypeOfKind(candidateType, 256 /* NumberLiteral */) || - contextualType.flags & 2048 /* BigIntLiteral */ && maybeTypeOfKind(candidateType, 2048 /* BigIntLiteral */) || - contextualType.flags & 512 /* BooleanLiteral */ && maybeTypeOfKind(candidateType, 512 /* BooleanLiteral */) || - contextualType.flags & 8192 /* UniqueESSymbol */ && maybeTypeOfKind(candidateType, 8192 /* UniqueESSymbol */)); + return !!(contextualType.flags & (128 /* TypeFlags.StringLiteral */ | 4194304 /* TypeFlags.Index */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) && maybeTypeOfKind(candidateType, 128 /* TypeFlags.StringLiteral */) || + contextualType.flags & 256 /* TypeFlags.NumberLiteral */ && maybeTypeOfKind(candidateType, 256 /* TypeFlags.NumberLiteral */) || + contextualType.flags & 2048 /* TypeFlags.BigIntLiteral */ && maybeTypeOfKind(candidateType, 2048 /* TypeFlags.BigIntLiteral */) || + contextualType.flags & 512 /* TypeFlags.BooleanLiteral */ && maybeTypeOfKind(candidateType, 512 /* TypeFlags.BooleanLiteral */) || + contextualType.flags & 8192 /* TypeFlags.UniqueESSymbol */ && maybeTypeOfKind(candidateType, 8192 /* TypeFlags.UniqueESSymbol */)); } return false; } @@ -79286,7 +79573,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); @@ -79297,23 +79584,23 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); return instantiateTypeWithSingleGenericCallSignature(node, uninstantiatedType, checkMode); } function instantiateTypeWithSingleGenericCallSignature(node, type, checkMode) { - if (checkMode && checkMode & (2 /* Inferential */ | 8 /* SkipGenericFunctions */)) { - var callSignature = getSingleSignature(type, 0 /* Call */, /*allowMembers*/ true); - var constructSignature = getSingleSignature(type, 1 /* Construct */, /*allowMembers*/ true); + if (checkMode && checkMode & (2 /* CheckMode.Inferential */ | 8 /* CheckMode.SkipGenericFunctions */)) { + var callSignature = getSingleSignature(type, 0 /* SignatureKind.Call */, /*allowMembers*/ true); + var constructSignature = getSingleSignature(type, 1 /* SignatureKind.Construct */, /*allowMembers*/ true); var signature = callSignature || constructSignature; if (signature && signature.typeParameters) { - var contextualType = getApparentTypeOfContextualType(node, 2 /* NoConstraints */); + var contextualType = getApparentTypeOfContextualType(node, 2 /* ContextFlags.NoConstraints */); if (contextualType) { - var contextualSignature = getSingleSignature(getNonNullableType(contextualType), callSignature ? 0 /* Call */ : 1 /* Construct */, /*allowMembers*/ false); + var contextualSignature = getSingleSignature(getNonNullableType(contextualType), callSignature ? 0 /* SignatureKind.Call */ : 1 /* SignatureKind.Construct */, /*allowMembers*/ false); if (contextualSignature && !contextualSignature.typeParameters) { - if (checkMode & 8 /* SkipGenericFunctions */) { + if (checkMode & 8 /* CheckMode.SkipGenericFunctions */) { skippedGenericFunction(node, checkMode); return anyFunctionType; } @@ -79361,11 +79648,11 @@ var ts; return type; } function skippedGenericFunction(node, checkMode) { - if (checkMode & 2 /* Inferential */) { + if (checkMode & 2 /* CheckMode.Inferential */) { // We have skipped a generic function during inferential typing. Obtain the inference context and // indicate this has occurred such that we know a second pass of inference is be needed. var context = getInferenceContext(node); - context.flags |= 4 /* SkippedGenericFunction */; + context.flags |= 4 /* InferenceFlags.SkippedGenericFunction */; } } function hasInferenceCandidates(info) { @@ -79395,7 +79682,7 @@ var ts; var name = tp.symbol.escapedName; if (hasTypeParameterByName(context.inferredTypeParameters, name) || hasTypeParameterByName(result, name)) { var newName = getUniqueTypeParameterName(ts.concatenate(context.inferredTypeParameters, result), name); - var symbol = createSymbol(262144 /* TypeParameter */, newName); + var symbol = createSymbol(262144 /* SymbolFlags.TypeParameter */, newName); var newTypeParameter = createTypeParameter(symbol); newTypeParameter.target = tp; oldTypeParameters = ts.append(oldTypeParameters, tp); @@ -79420,7 +79707,7 @@ var ts; } function getUniqueTypeParameterName(typeParameters, baseName) { var len = baseName.length; - while (len > 1 && baseName.charCodeAt(len - 1) >= 48 /* _0 */ && baseName.charCodeAt(len - 1) <= 57 /* _9 */) + while (len > 1 && baseName.charCodeAt(len - 1) >= 48 /* CharacterCodes._0 */ && baseName.charCodeAt(len - 1) <= 57 /* CharacterCodes._9 */) len--; var s = baseName.slice(0, len); for (var index = 1; true; index++) { @@ -79453,7 +79740,7 @@ var ts; return quickType; } // If a type has been cached for the node, return it. - if (node.flags & 134217728 /* TypeCached */ && flowTypeCache) { + if (node.flags & 134217728 /* NodeFlags.TypeCached */ && flowTypeCache) { var cachedType = flowTypeCache[getNodeId(node)]; if (cachedType) { return cachedType; @@ -79465,7 +79752,7 @@ var ts; if (flowInvocationCount !== startInvocationCount) { var cache = flowTypeCache || (flowTypeCache = []); cache[getNodeId(node)] = type; - ts.setNodeFlags(node, node.flags | 134217728 /* TypeCached */); + ts.setNodeFlags(node, node.flags | 134217728 /* NodeFlags.TypeCached */); } return type; } @@ -79480,7 +79767,7 @@ var ts; expr = ts.skipParentheses(node); // Optimize for the common case of a call to a function with a single non-generic call // signature where we can just fetch the return type without checking the arguments. - if (ts.isCallExpression(expr) && expr.expression.kind !== 106 /* SuperKeyword */ && !ts.isRequireCall(expr, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(expr)) { + if (ts.isCallExpression(expr) && expr.expression.kind !== 106 /* SyntaxKind.SuperKeyword */ && !ts.isRequireCall(expr, /*checkArgumentIsStringLiteralLike*/ true) && !isSymbolOrSymbolForCall(expr)) { var type = ts.isCallChain(expr) ? getReturnTypeOfSingleNonGenericSignatureOfCallChain(expr) : getReturnTypeOfSingleNonGenericCallSignature(checkNonNullExpression(expr.expression)); if (type) { @@ -79490,8 +79777,8 @@ var ts; else if (ts.isAssertionExpression(expr) && !ts.isConstTypeReference(expr.type)) { return getTypeFromTypeNode(expr.type); } - else if (node.kind === 8 /* NumericLiteral */ || node.kind === 10 /* StringLiteral */ || - node.kind === 110 /* TrueKeyword */ || node.kind === 95 /* FalseKeyword */) { + else if (node.kind === 8 /* SyntaxKind.NumericLiteral */ || node.kind === 10 /* SyntaxKind.StringLiteral */ || + node.kind === 110 /* SyntaxKind.TrueKeyword */ || node.kind === 95 /* SyntaxKind.FalseKeyword */) { return checkExpression(node); } return undefined; @@ -79511,7 +79798,7 @@ var ts; var saveContextualType = node.contextualType; node.contextualType = anyType; try { - var type = links.contextFreeType = checkExpression(node, 4 /* SkipContextSensitive */); + var type = links.contextFreeType = checkExpression(node, 4 /* CheckMode.SkipContextSensitive */); return type; } finally { @@ -79522,7 +79809,7 @@ var ts; } } function checkExpression(node, checkMode, forceTuple) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkExpression", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* tracing.Phase.Check */, "checkExpression", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); var saveCurrentNode = currentNode; currentNode = node; instantiationCount = 0; @@ -79540,18 +79827,18 @@ var ts; // - 'left' in property access // - 'object' in indexed access // - target in rhs of import statement - var ok = (node.parent.kind === 206 /* PropertyAccessExpression */ && node.parent.expression === node) || - (node.parent.kind === 207 /* ElementAccessExpression */ && node.parent.expression === node) || - ((node.kind === 79 /* Identifier */ || node.kind === 161 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 181 /* TypeQuery */ && node.parent.exprName === node)) || - (node.parent.kind === 275 /* ExportSpecifier */); // We allow reexporting const enums + var ok = (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.parent.expression === node) || + (node.parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && node.parent.expression === node) || + ((node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 161 /* SyntaxKind.QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 181 /* SyntaxKind.TypeQuery */ && node.parent.exprName === node)) || + (node.parent.kind === 275 /* SyntaxKind.ExportSpecifier */); // We allow reexporting const enums if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } if (compilerOptions.isolatedModules) { - ts.Debug.assert(!!(type.symbol.flags & 128 /* ConstEnum */)); + ts.Debug.assert(!!(type.symbol.flags & 128 /* SymbolFlags.ConstEnum */)); var constEnumDeclaration = type.symbol.valueDeclaration; - if (constEnumDeclaration.flags & 16777216 /* Ambient */) { + if (constEnumDeclaration.flags & 16777216 /* NodeFlags.Ambient */) { error(node, ts.Diagnostics.Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided); } } @@ -79569,113 +79856,113 @@ var ts; // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } } switch (kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return checkIdentifier(node, checkMode); - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return checkPrivateIdentifierExpression(node); - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: return checkThisExpression(node); - case 106 /* SuperKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: return checkSuperExpression(node); - case 104 /* NullKeyword */: + case 104 /* SyntaxKind.NullKeyword */: return nullWideningType; - case 14 /* NoSubstitutionTemplateLiteral */: - case 10 /* StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: return getFreshTypeOfLiteralType(getStringLiteralType(node.text)); - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: checkGrammarNumericLiteral(node); return getFreshTypeOfLiteralType(getNumberLiteralType(+node.text)); - case 9 /* BigIntLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: checkGrammarBigIntLiteral(node); return getFreshTypeOfLiteralType(getBigIntLiteralType({ negative: false, base10Value: ts.parsePseudoBigInt(node.text) })); - case 110 /* TrueKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: return trueType; - case 95 /* FalseKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: return falseType; - case 223 /* TemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: return checkTemplateExpression(node); - case 13 /* RegularExpressionLiteral */: + case 13 /* SyntaxKind.RegularExpressionLiteral */: return globalRegExpType; - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return checkArrayLiteral(node, checkMode, forceTuple); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return checkObjectLiteral(node, checkMode); - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return checkPropertyAccessExpression(node, checkMode); - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: return checkQualifiedName(node, checkMode); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return checkIndexedAccess(node, checkMode); - case 208 /* CallExpression */: - if (node.expression.kind === 100 /* ImportKeyword */) { + case 208 /* SyntaxKind.CallExpression */: + if (node.expression.kind === 100 /* SyntaxKind.ImportKeyword */) { return checkImportCallExpression(node); } // falls through - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return checkCallExpression(node, checkMode); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return checkTaggedTemplateExpression(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return checkParenthesizedExpression(node, checkMode); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: return checkClassExpression(node); - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 216 /* TypeOfExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: return checkTypeOfExpression(node); - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: return checkAssertion(node); - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return checkNonNullAssertion(node); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return checkExpressionWithTypeArguments(node); - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return checkMetaProperty(node); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: return checkDeleteExpression(node); - case 217 /* VoidExpression */: + case 217 /* SyntaxKind.VoidExpression */: return checkVoidExpression(node); - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: return checkAwaitExpression(node); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: return checkPrefixUnaryExpression(node); - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return checkPostfixUnaryExpression(node); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return checkBinaryExpression(node, checkMode); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return checkConditionalExpression(node, checkMode); - case 225 /* SpreadElement */: + case 225 /* SyntaxKind.SpreadElement */: return checkSpreadExpression(node, checkMode); - case 227 /* OmittedExpression */: + case 227 /* SyntaxKind.OmittedExpression */: return undefinedWideningType; - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return checkYieldExpression(node); - case 232 /* SyntheticExpression */: + case 232 /* SyntaxKind.SyntheticExpression */: return checkSyntheticExpression(node); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return checkJsxExpression(node, checkMode); - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: return checkJsxElement(node, checkMode); - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return checkJsxSelfClosingElement(node, checkMode); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: return checkJsxFragment(node); - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: return checkJsxAttributes(node, checkMode); - case 280 /* JsxOpeningElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } return errorType; @@ -79700,19 +79987,28 @@ var ts; if (constraintType && defaultType) { checkTypeAssignableTo(defaultType, getTypeWithThisArgument(instantiateType(constraintType, makeUnaryTypeMapper(typeParameter, defaultType)), defaultType), node.default, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); } - if (node.parent.kind === 258 /* InterfaceDeclaration */ || node.parent.kind === 257 /* ClassDeclaration */ || node.parent.kind === 259 /* TypeAliasDeclaration */) { + checkNodeDeferred(node); + addLazyDiagnostic(function () { return checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); }); + } + function checkTypeParameterDeferred(node) { + if (ts.isInterfaceDeclaration(node.parent) || ts.isClassLike(node.parent) || ts.isTypeAliasDeclaration(node.parent)) { + var typeParameter = getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)); var modifiers = getVarianceModifiers(typeParameter); - if (modifiers === 32768 /* In */ || modifiers === 65536 /* Out */) { + if (modifiers) { var symbol = getSymbolOfNode(node.parent); - var source = createMarkerType(symbol, typeParameter, modifiers === 65536 /* Out */ ? markerSubType : markerSuperType); - var target = createMarkerType(symbol, typeParameter, modifiers === 65536 /* Out */ ? markerSuperType : markerSubType); - var saveVarianceTypeParameter = typeParameter; - varianceTypeParameter = typeParameter; - checkTypeAssignableTo(source, target, node, ts.Diagnostics.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation); - varianceTypeParameter = saveVarianceTypeParameter; + if (ts.isTypeAliasDeclaration(node.parent) && !(ts.getObjectFlags(getDeclaredTypeOfSymbol(symbol)) & (16 /* ObjectFlags.Anonymous */ | 32 /* ObjectFlags.Mapped */))) { + error(node, ts.Diagnostics.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types); + } + else if (modifiers === 32768 /* ModifierFlags.In */ || modifiers === 65536 /* ModifierFlags.Out */) { + var source = createMarkerType(symbol, typeParameter, modifiers === 65536 /* ModifierFlags.Out */ ? markerSubType : markerSuperType); + var target = createMarkerType(symbol, typeParameter, modifiers === 65536 /* ModifierFlags.Out */ ? markerSuperType : markerSubType); + var saveVarianceTypeParameter = typeParameter; + varianceTypeParameter = typeParameter; + checkTypeAssignableTo(source, target, node, ts.Diagnostics.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation); + varianceTypeParameter = saveVarianceTypeParameter; + } } } - addLazyDiagnostic(function () { return checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); }); } function checkParameter(node) { // Grammar checking @@ -79722,11 +80018,11 @@ var ts; checkGrammarDecoratorsAndModifiers(node); checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); - if (ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */)) { - if (!(func.kind === 171 /* Constructor */ && ts.nodeIsPresent(func.body))) { + if (ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */)) { + if (!(func.kind === 171 /* SyntaxKind.Constructor */ && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } - if (func.kind === 171 /* Constructor */ && ts.isIdentifier(node.name) && node.name.escapedText === "constructor") { + if (func.kind === 171 /* SyntaxKind.Constructor */ && ts.isIdentifier(node.name) && node.name.escapedText === "constructor") { error(node.name, ts.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name); } } @@ -79737,13 +80033,13 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 171 /* Constructor */ || func.kind === 175 /* ConstructSignature */ || func.kind === 180 /* ConstructorType */) { + if (func.kind === 171 /* SyntaxKind.Constructor */ || func.kind === 175 /* SyntaxKind.ConstructSignature */ || func.kind === 180 /* SyntaxKind.ConstructorType */) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } - if (func.kind === 214 /* ArrowFunction */) { + if (func.kind === 214 /* SyntaxKind.ArrowFunction */) { error(node, ts.Diagnostics.An_arrow_function_cannot_have_a_this_parameter); } - if (func.kind === 172 /* GetAccessor */ || func.kind === 173 /* SetAccessor */) { + if (func.kind === 172 /* SyntaxKind.GetAccessor */ || func.kind === 173 /* SyntaxKind.SetAccessor */) { error(node, ts.Diagnostics.get_and_set_accessors_cannot_declare_this_parameters); } } @@ -79767,7 +80063,7 @@ var ts; } checkSourceElement(node.type); var parameterName = node.parameterName; - if (typePredicate.kind === 0 /* This */ || typePredicate.kind === 2 /* AssertsThis */) { + if (typePredicate.kind === 0 /* TypePredicateKind.This */ || typePredicate.kind === 2 /* TypePredicateKind.AssertsThis */) { getTypeFromThisTypeNode(parameterName); } else { @@ -79801,13 +80097,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { - case 214 /* ArrowFunction */: - case 174 /* CallSignature */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 179 /* FunctionType */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 214 /* SyntaxKind.ArrowFunction */: + case 174 /* SyntaxKind.CallSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 179 /* SyntaxKind.FunctionType */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: var parent = node.parent; if (node === parent.type) { return parent; @@ -79821,11 +80117,11 @@ var ts; continue; } var name = element.name; - if (name.kind === 79 /* Identifier */ && name.escapedText === predicateVariableName) { + if (name.kind === 79 /* SyntaxKind.Identifier */ && name.escapedText === predicateVariableName) { error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 202 /* ArrayBindingPattern */ || name.kind === 201 /* ObjectBindingPattern */) { + else if (name.kind === 202 /* SyntaxKind.ArrayBindingPattern */ || name.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -79834,29 +80130,29 @@ var ts; } function checkSignatureDeclaration(node) { // Grammar checking - if (node.kind === 176 /* IndexSignature */) { + if (node.kind === 176 /* SyntaxKind.IndexSignature */) { checkGrammarIndexSignature(node); } // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - else if (node.kind === 179 /* FunctionType */ || node.kind === 256 /* FunctionDeclaration */ || node.kind === 180 /* ConstructorType */ || - node.kind === 174 /* CallSignature */ || node.kind === 171 /* Constructor */ || - node.kind === 175 /* ConstructSignature */) { + else if (node.kind === 179 /* SyntaxKind.FunctionType */ || node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 180 /* SyntaxKind.ConstructorType */ || + node.kind === 174 /* SyntaxKind.CallSignature */ || node.kind === 171 /* SyntaxKind.Constructor */ || + node.kind === 175 /* SyntaxKind.ConstructSignature */) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); - if (!(functionFlags & 4 /* Invalid */)) { + if (!(functionFlags & 4 /* FunctionFlags.Invalid */)) { // Async generators prior to ESNext require the __await and __asyncGenerator helpers - if ((functionFlags & 3 /* AsyncGenerator */) === 3 /* AsyncGenerator */ && languageVersion < 99 /* ESNext */) { - checkExternalEmitHelpers(node, 6144 /* AsyncGeneratorIncludes */); + if ((functionFlags & 3 /* FunctionFlags.AsyncGenerator */) === 3 /* FunctionFlags.AsyncGenerator */ && languageVersion < 99 /* ScriptTarget.ESNext */) { + checkExternalEmitHelpers(node, 6144 /* ExternalEmitHelpers.AsyncGeneratorIncludes */); } // Async functions prior to ES2017 require the __awaiter helper - if ((functionFlags & 3 /* AsyncGenerator */) === 2 /* Async */ && languageVersion < 4 /* ES2017 */) { - checkExternalEmitHelpers(node, 64 /* Awaiter */); + if ((functionFlags & 3 /* FunctionFlags.AsyncGenerator */) === 2 /* FunctionFlags.Async */ && languageVersion < 4 /* ScriptTarget.ES2017 */) { + checkExternalEmitHelpers(node, 64 /* ExternalEmitHelpers.Awaiter */); } // Generator functions, Async functions, and Async Generator functions prior to // ES2015 require the __generator helper - if ((functionFlags & 3 /* AsyncGenerator */) !== 0 /* Normal */ && languageVersion < 2 /* ES2015 */) { - checkExternalEmitHelpers(node, 128 /* Generator */); + if ((functionFlags & 3 /* FunctionFlags.AsyncGenerator */) !== 0 /* FunctionFlags.Normal */ && languageVersion < 2 /* ScriptTarget.ES2015 */) { + checkExternalEmitHelpers(node, 128 /* ExternalEmitHelpers.Generator */); } } checkTypeParameters(ts.getEffectiveTypeParameterDeclarations(node)); @@ -79872,17 +80168,17 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 175 /* ConstructSignature */: + case 175 /* SyntaxKind.ConstructSignature */: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } } if (returnTypeNode) { var functionFlags_1 = ts.getFunctionFlags(node); - if ((functionFlags_1 & (4 /* Invalid */ | 1 /* Generator */)) === 1 /* Generator */) { + if ((functionFlags_1 & (4 /* FunctionFlags.Invalid */ | 1 /* FunctionFlags.Generator */)) === 1 /* FunctionFlags.Generator */) { var returnType = getTypeFromTypeNode(returnTypeNode); if (returnType === voidType) { error(returnTypeNode, ts.Diagnostics.A_generator_cannot_have_a_void_type_annotation); @@ -79894,18 +80190,18 @@ var ts; // interface BadGenerator extends Iterable, Iterator { } // function* g(): BadGenerator { } // Iterable and Iterator have different types! // - var generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(0 /* Yield */, returnType, (functionFlags_1 & 2 /* Async */) !== 0) || anyType; - var generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* Return */, returnType, (functionFlags_1 & 2 /* Async */) !== 0) || generatorYieldType; - var generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(2 /* Next */, returnType, (functionFlags_1 & 2 /* Async */) !== 0) || unknownType; - var generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags_1 & 2 /* Async */)); + var generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(0 /* IterationTypeKind.Yield */, returnType, (functionFlags_1 & 2 /* FunctionFlags.Async */) !== 0) || anyType; + var generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, returnType, (functionFlags_1 & 2 /* FunctionFlags.Async */) !== 0) || generatorYieldType; + var generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(2 /* IterationTypeKind.Next */, returnType, (functionFlags_1 & 2 /* FunctionFlags.Async */) !== 0) || unknownType; + var generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags_1 & 2 /* FunctionFlags.Async */)); checkTypeAssignableTo(generatorInstantiation, returnType, returnTypeNode); } } - else if ((functionFlags_1 & 3 /* AsyncGenerator */) === 2 /* Async */) { + else if ((functionFlags_1 & 3 /* FunctionFlags.AsyncGenerator */) === 2 /* FunctionFlags.Async */) { checkAsyncFunctionReturnType(node, returnTypeNode); } } - if (node.kind !== 176 /* IndexSignature */ && node.kind !== 317 /* JSDocFunctionType */) { + if (node.kind !== 176 /* SyntaxKind.IndexSignature */ && node.kind !== 317 /* SyntaxKind.JSDocFunctionType */) { registerForUnusedIdentifiersCheck(node); } } @@ -79917,11 +80213,11 @@ var ts; var privateIdentifiers = new ts.Map(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 171 /* Constructor */) { + if (member.kind === 171 /* SyntaxKind.Constructor */) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param, member) && !ts.isBindingPattern(param.name)) { - addName(instanceNames, param.name, param.name.escapedText, 3 /* GetOrSetAccessor */); + addName(instanceNames, param.name, param.name.escapedText, 3 /* DeclarationMeaning.GetOrSetAccessor */); } } } @@ -79932,24 +80228,24 @@ var ts; continue; } var isPrivate = ts.isPrivateIdentifier(name); - var privateStaticFlags = isPrivate && isStaticMember ? 16 /* PrivateStatic */ : 0; + var privateStaticFlags = isPrivate && isStaticMember ? 16 /* DeclarationMeaning.PrivateStatic */ : 0; var names = isPrivate ? privateIdentifiers : isStaticMember ? staticNames : instanceNames; var memberName = name && ts.getPropertyNameForPropertyNameNode(name); if (memberName) { switch (member.kind) { - case 172 /* GetAccessor */: - addName(names, name, memberName, 1 /* GetAccessor */ | privateStaticFlags); + case 172 /* SyntaxKind.GetAccessor */: + addName(names, name, memberName, 1 /* DeclarationMeaning.GetAccessor */ | privateStaticFlags); break; - case 173 /* SetAccessor */: - addName(names, name, memberName, 2 /* SetAccessor */ | privateStaticFlags); + case 173 /* SyntaxKind.SetAccessor */: + addName(names, name, memberName, 2 /* DeclarationMeaning.SetAccessor */ | privateStaticFlags); break; - case 167 /* PropertyDeclaration */: - addName(names, name, memberName, 3 /* GetOrSetAccessor */ | privateStaticFlags); + case 167 /* SyntaxKind.PropertyDeclaration */: + addName(names, name, memberName, 3 /* DeclarationMeaning.GetOrSetAccessor */ | privateStaticFlags); break; - case 169 /* MethodDeclaration */: - addName(names, name, memberName, 8 /* Method */ | privateStaticFlags); + case 169 /* SyntaxKind.MethodDeclaration */: + addName(names, name, memberName, 8 /* DeclarationMeaning.Method */ | privateStaticFlags); break; } } @@ -79959,19 +80255,19 @@ var ts; var prev = names.get(name); if (prev) { // For private identifiers, do not allow mixing of static and instance members with the same name - if ((prev & 16 /* PrivateStatic */) !== (meaning & 16 /* PrivateStatic */)) { + if ((prev & 16 /* DeclarationMeaning.PrivateStatic */) !== (meaning & 16 /* DeclarationMeaning.PrivateStatic */)) { error(location, ts.Diagnostics.Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name, ts.getTextOfNode(location)); } else { - var prevIsMethod = !!(prev & 8 /* Method */); - var isMethod = !!(meaning & 8 /* Method */); + var prevIsMethod = !!(prev & 8 /* DeclarationMeaning.Method */); + var isMethod = !!(meaning & 8 /* DeclarationMeaning.Method */); if (prevIsMethod || isMethod) { if (prevIsMethod !== isMethod) { error(location, ts.Diagnostics.Duplicate_identifier_0, ts.getTextOfNode(location)); } // If this is a method/method duplication is might be an overload, so this will be handled when overloads are considered } - else if (prev & meaning & ~16 /* PrivateStatic */) { + else if (prev & meaning & ~16 /* DeclarationMeaning.PrivateStatic */) { error(location, ts.Diagnostics.Duplicate_identifier_0, ts.getTextOfNode(location)); } else { @@ -80020,15 +80316,15 @@ var ts; var names = new ts.Map(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 166 /* PropertySignature */) { + if (member.kind === 166 /* SyntaxKind.PropertySignature */) { var memberName = void 0; var name = member.name; switch (name.kind) { - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: memberName = name.text; break; - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: memberName = ts.idText(name); break; default: @@ -80045,7 +80341,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 258 /* InterfaceDeclaration */) { + if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { var nodeSymbol = getSymbolOfNode(node); // in case of merging interface declaration it is possible that we'll enter this check procedure several times for every declaration // to prevent this run check only for the first declaration of a given kind @@ -80093,7 +80389,7 @@ var ts; checkVariableLikeDeclaration(node); setNodeLinksForPrivateIdentifierScope(node); // property signatures already report "initializer not allowed in ambient context" elsewhere - if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 167 /* PropertyDeclaration */ && node.initializer) { + if (ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */) && node.kind === 167 /* SyntaxKind.PropertyDeclaration */ && node.initializer) { error(node, ts.Diagnostics.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -80110,7 +80406,7 @@ var ts; // Grammar checking for modifiers is done inside the function checkGrammarFunctionLikeDeclaration checkFunctionOrMethodDeclaration(node); // method signatures already report "implementation not allowed in ambient context" elsewhere - if (ts.hasSyntacticModifier(node, 128 /* Abstract */) && node.kind === 169 /* MethodDeclaration */ && node.body) { + if (ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */) && node.kind === 169 /* SyntaxKind.MethodDeclaration */ && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } // Private named methods are only allowed in class declarations @@ -80120,9 +80416,9 @@ var ts; setNodeLinksForPrivateIdentifierScope(node); } function setNodeLinksForPrivateIdentifierScope(node) { - if (ts.isPrivateIdentifier(node.name) && languageVersion < 99 /* ESNext */) { + if (ts.isPrivateIdentifier(node.name) && languageVersion < 99 /* ScriptTarget.ESNext */) { for (var lexicalScope = ts.getEnclosingBlockScopeContainer(node); !!lexicalScope; lexicalScope = ts.getEnclosingBlockScopeContainer(lexicalScope)) { - getNodeLinks(lexicalScope).flags |= 67108864 /* ContainsClassWithPrivateIdentifiers */; + getNodeLinks(lexicalScope).flags |= 67108864 /* NodeCheckFlags.ContainsClassWithPrivateIdentifiers */; } // If this is a private element in a class expression inside the body of a loop, // then we must use a block-scoped binding to store the additional variables required @@ -80130,8 +80426,8 @@ var ts; if (ts.isClassExpression(node.parent)) { var enclosingIterationStatement = getEnclosingIterationStatement(node.parent); if (enclosingIterationStatement) { - getNodeLinks(node.name).flags |= 524288 /* BlockScopedBindingInLoop */; - getNodeLinks(enclosingIterationStatement).flags |= 65536 /* LoopWithCapturedBlockScopedBinding */; + getNodeLinks(node.name).flags |= 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; + getNodeLinks(enclosingIterationStatement).flags |= 65536 /* NodeCheckFlags.LoopWithCapturedBlockScopedBinding */; } } } @@ -80163,7 +80459,7 @@ var ts; if (ts.isPrivateIdentifierClassElementDeclaration(n)) { return true; } - return n.kind === 167 /* PropertyDeclaration */ && + return n.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(n) && !!n.initializer; } @@ -80184,9 +80480,9 @@ var ts; // - The containing class is a derived class. // - The constructor declares parameter properties // or the containing class declares instance member variables with initializers. - var superCallShouldBeRootLevel = (ts.getEmitScriptTarget(compilerOptions) !== 99 /* ESNext */ || !useDefineForClassFields) && + var superCallShouldBeRootLevel = (ts.getEmitScriptTarget(compilerOptions) !== 99 /* ScriptTarget.ESNext */ || !useDefineForClassFields) && (ts.some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) || - ts.some(node.parameters, function (p) { return ts.hasSyntacticModifier(p, 16476 /* ParameterPropertyModifier */); })); + ts.some(node.parameters, function (p) { return ts.hasSyntacticModifier(p, 16476 /* ModifierFlags.ParameterPropertyModifier */); })); if (superCallShouldBeRootLevel) { // Until we have better flow analysis, it is an error to place the super call within any kind of block or conditional // See GH #8277 @@ -80202,7 +80498,7 @@ var ts; superCallStatement = statement; break; } - if (!ts.isPrologueDirective(statement) && nodeImmediatelyReferencesSuperOrThis(statement)) { + if (nodeImmediatelyReferencesSuperOrThis(statement)) { break; } } @@ -80225,7 +80521,7 @@ var ts; return ts.isExpressionStatement(superCallParent) && superCallParent.parent === body; } function nodeImmediatelyReferencesSuperOrThis(node) { - if (node.kind === 106 /* SuperKeyword */ || node.kind === 108 /* ThisKeyword */) { + if (node.kind === 106 /* SyntaxKind.SuperKeyword */ || node.kind === 108 /* SyntaxKind.ThisKeyword */) { return true; } if (ts.isThisContainerOrFunctionBlock(node)) { @@ -80243,9 +80539,9 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 172 /* GetAccessor */) { - if (!(node.flags & 16777216 /* Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 256 /* HasImplicitReturn */)) { - if (!(node.flags & 512 /* HasExplicitReturn */)) { + if (node.kind === 172 /* SyntaxKind.GetAccessor */) { + if (!(node.flags & 16777216 /* NodeFlags.Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 256 /* NodeFlags.HasImplicitReturn */)) { + if (!(node.flags & 512 /* NodeFlags.HasExplicitReturn */)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); } } @@ -80253,25 +80549,25 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); } if (hasBindableName(node)) { // TypeScript 1.0 spec (April 2014): 8.4.3 // Accessors for the same member name must specify the same accessibility. var symbol = getSymbolOfNode(node); - var getter = ts.getDeclarationOfKind(symbol, 172 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 173 /* SetAccessor */); - if (getter && setter && !(getNodeCheckFlags(getter) & 1 /* TypeChecked */)) { - getNodeLinks(getter).flags |= 1 /* TypeChecked */; + var getter = ts.getDeclarationOfKind(symbol, 172 /* SyntaxKind.GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 173 /* SyntaxKind.SetAccessor */); + if (getter && setter && !(getNodeCheckFlags(getter) & 1 /* NodeCheckFlags.TypeChecked */)) { + getNodeLinks(getter).flags |= 1 /* NodeCheckFlags.TypeChecked */; var getterFlags = ts.getEffectiveModifierFlags(getter); var setterFlags = ts.getEffectiveModifierFlags(setter); - if ((getterFlags & 128 /* Abstract */) !== (setterFlags & 128 /* Abstract */)) { + if ((getterFlags & 128 /* ModifierFlags.Abstract */) !== (setterFlags & 128 /* ModifierFlags.Abstract */)) { error(getter.name, ts.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract); error(setter.name, ts.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract); } - if (((getterFlags & 16 /* Protected */) && !(setterFlags & (16 /* Protected */ | 8 /* Private */))) || - ((getterFlags & 8 /* Private */) && !(setterFlags & 8 /* Private */))) { + if (((getterFlags & 16 /* ModifierFlags.Protected */) && !(setterFlags & (16 /* ModifierFlags.Protected */ | 8 /* ModifierFlags.Private */))) || + ((getterFlags & 8 /* ModifierFlags.Private */) && !(setterFlags & 8 /* ModifierFlags.Private */))) { error(getter.name, ts.Diagnostics.A_get_accessor_must_be_at_least_as_accessible_as_the_setter); error(setter.name, ts.Diagnostics.A_get_accessor_must_be_at_least_as_accessible_as_the_setter); } @@ -80283,7 +80579,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 172 /* GetAccessor */) { + if (node.kind === 172 /* SyntaxKind.GetAccessor */) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -80315,15 +80611,15 @@ var ts; if (!isErrorType(type)) { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { - return symbol.flags & 524288 /* TypeAlias */ && getSymbolLinks(symbol).typeParameters || - (ts.getObjectFlags(type) & 4 /* Reference */ ? type.target.localTypeParameters : undefined); + return symbol.flags & 524288 /* SymbolFlags.TypeAlias */ && getSymbolLinks(symbol).typeParameters || + (ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ ? type.target.localTypeParameters : undefined); } } return undefined; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 178 /* TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJSFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 178 /* SyntaxKind.TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJSFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } ts.forEach(node.typeArguments, checkSourceElement); @@ -80339,10 +80635,10 @@ var ts; } var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { - if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 268435456 /* Deprecated */); })) { + if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 268435456 /* NodeFlags.Deprecated */); })) { addDeprecatedSuggestion(getDeprecatedSuggestionNode(node), symbol.declarations, symbol.escapedName); } - if (type.flags & 32 /* Enum */ && symbol.flags & 8 /* EnumMember */) { + if (type.flags & 32 /* TypeFlags.Enum */ && symbol.flags & 8 /* SymbolFlags.EnumMember */) { error(node, ts.Diagnostics.Enum_type_0_has_members_with_initializers_that_are_not_literals, typeToString(type)); } } @@ -80381,29 +80677,29 @@ var ts; var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember); for (var _i = 0, elementTypes_1 = elementTypes; _i < elementTypes_1.length; _i++) { var e = elementTypes_1[_i]; - if (e.kind !== 197 /* NamedTupleMember */ && hasNamedElement) { + if (e.kind !== 197 /* SyntaxKind.NamedTupleMember */ && hasNamedElement) { grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names); break; } var flags = getTupleElementFlags(e); - if (flags & 8 /* Variadic */) { + if (flags & 8 /* ElementFlags.Variadic */) { var type = getTypeFromTypeNode(e.type); if (!isArrayLikeType(type)) { error(e, ts.Diagnostics.A_rest_element_type_must_be_an_array_type); break; } - if (isArrayType(type) || isTupleType(type) && type.target.combinedFlags & 4 /* Rest */) { + if (isArrayType(type) || isTupleType(type) && type.target.combinedFlags & 4 /* ElementFlags.Rest */) { seenRestElement = true; } } - else if (flags & 4 /* Rest */) { + else if (flags & 4 /* ElementFlags.Rest */) { if (seenRestElement) { grammarErrorOnNode(e, ts.Diagnostics.A_rest_element_cannot_follow_another_rest_element); break; } seenRestElement = true; } - else if (flags & 2 /* Optional */) { + else if (flags & 2 /* ElementFlags.Optional */) { if (seenRestElement) { grammarErrorOnNode(e, ts.Diagnostics.An_optional_element_cannot_follow_a_rest_element); break; @@ -80423,15 +80719,15 @@ var ts; getTypeFromTypeNode(node); } function checkIndexedAccessIndexType(type, accessNode) { - if (!(type.flags & 8388608 /* IndexedAccess */)) { + if (!(type.flags & 8388608 /* TypeFlags.IndexedAccess */)) { return type; } // Check if the index type is assignable to 'keyof T' for the object type. var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, /*stringsOnly*/ false))) { - if (accessNode.kind === 207 /* ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && - ts.getObjectFlags(objectType) & 32 /* Mapped */ && getMappedTypeModifiers(objectType) & 1 /* IncludeReadonly */) { + if (accessNode.kind === 207 /* SyntaxKind.ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && + ts.getObjectFlags(objectType) & 32 /* ObjectFlags.Mapped */ && getMappedTypeModifiers(objectType) & 1 /* MappedTypeModifiers.IncludeReadonly */) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } return type; @@ -80439,14 +80735,14 @@ var ts; // Check if we're indexing with a numeric type and if either object or index types // is a generic type with a constraint that has a numeric index signature. var apparentObjectType = getApparentType(objectType); - if (getIndexInfoOfType(apparentObjectType, numberType) && isTypeAssignableToKind(indexType, 296 /* NumberLike */)) { + if (getIndexInfoOfType(apparentObjectType, numberType) && isTypeAssignableToKind(indexType, 296 /* TypeFlags.NumberLike */)) { return type; } if (isGenericObjectType(objectType)) { var propertyName_1 = getPropertyNameFromIndex(indexType, accessNode); if (propertyName_1) { var propertySymbol = forEachType(apparentObjectType, function (t) { return getPropertyOfType(t, propertyName_1); }); - if (propertySymbol && ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & 24 /* NonPublicAccessibilityModifier */) { + if (propertySymbol && ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & 24 /* ModifierFlags.NonPublicAccessibilityModifier */) { error(accessNode, ts.Diagnostics.Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter, ts.unescapeLeadingUnderscores(propertyName_1)); return errorType; } @@ -80495,7 +80791,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 189 /* ConditionalType */ && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 189 /* SyntaxKind.ConditionalType */ && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -80505,7 +80801,7 @@ var ts; if (!links.typeParametersChecked) { links.typeParametersChecked = true; var typeParameter = getDeclaredTypeOfTypeParameter(symbol); - var declarations = ts.getDeclarationsOfKind(symbol, 163 /* TypeParameter */); + var declarations = ts.getDeclarationsOfKind(symbol, 163 /* SyntaxKind.TypeParameter */); if (!areTypeParametersIdentical(declarations, [typeParameter], function (decl) { return [decl]; })) { // Report an error on every conflicting declaration. var name = symbolToString(symbol); @@ -80532,8 +80828,8 @@ var ts; if (node.assertions) { var override = ts.getResolutionModeOverrideForClause(node.assertions.assertClause, grammarErrorOnNode); if (override) { - if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { - grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext); + if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { + grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext); } } } @@ -80543,31 +80839,31 @@ var ts; if (node.dotDotDotToken && node.questionToken) { grammarErrorOnNode(node, ts.Diagnostics.A_tuple_member_cannot_be_both_optional_and_rest); } - if (node.type.kind === 185 /* OptionalType */) { + if (node.type.kind === 185 /* SyntaxKind.OptionalType */) { grammarErrorOnNode(node.type, ts.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type); } - if (node.type.kind === 186 /* RestType */) { + if (node.type.kind === 186 /* SyntaxKind.RestType */) { grammarErrorOnNode(node.type, ts.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type); } checkSourceElement(node.type); getTypeFromTypeNode(node); } function isPrivateWithinAmbient(node) { - return (ts.hasEffectiveModifier(node, 8 /* Private */) || ts.isPrivateIdentifierClassElementDeclaration(node)) && !!(node.flags & 16777216 /* Ambient */); + return (ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */) || ts.isPrivateIdentifierClassElementDeclaration(node)) && !!(node.flags & 16777216 /* NodeFlags.Ambient */); } function getEffectiveDeclarationFlags(n, flagsToCheck) { var flags = ts.getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. - if (n.parent.kind !== 258 /* InterfaceDeclaration */ && - n.parent.kind !== 257 /* ClassDeclaration */ && - n.parent.kind !== 226 /* ClassExpression */ && - n.flags & 16777216 /* Ambient */) { - if (!(flags & 2 /* Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { + if (n.parent.kind !== 258 /* SyntaxKind.InterfaceDeclaration */ && + n.parent.kind !== 257 /* SyntaxKind.ClassDeclaration */ && + n.parent.kind !== 226 /* SyntaxKind.ClassExpression */ && + n.flags & 16777216 /* NodeFlags.Ambient */) { + if (!(flags & 2 /* ModifierFlags.Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { // It is nested in an ambient context, which means it is automatically exported - flags |= 1 /* Export */; + flags |= 1 /* ModifierFlags.Export */; } - flags |= 2 /* Ambient */; + flags |= 2 /* ModifierFlags.Ambient */; } return flags & flagsToCheck; } @@ -80592,16 +80888,16 @@ var ts; var canonicalFlags_1 = getEffectiveDeclarationFlags(getCanonicalOverload(overloads, implementation), flagsToCheck); ts.forEach(overloads, function (o) { var deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags_1; - if (deviation & 1 /* Export */) { + if (deviation & 1 /* ModifierFlags.Export */) { error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_exported_or_non_exported); } - else if (deviation & 2 /* Ambient */) { + else if (deviation & 2 /* ModifierFlags.Ambient */) { error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); } - else if (deviation & (8 /* Private */ | 16 /* Protected */)) { + else if (deviation & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) { error(ts.getNameOfDeclaration(o) || o, ts.Diagnostics.Overload_signatures_must_all_be_public_private_or_protected); } - else if (deviation & 128 /* Abstract */) { + else if (deviation & 128 /* ModifierFlags.Abstract */) { error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract); } }); @@ -80618,8 +80914,8 @@ var ts; }); } } - var flagsToCheck = 1 /* Export */ | 2 /* Ambient */ | 8 /* Private */ | 16 /* Protected */ | 128 /* Abstract */; - var someNodeFlags = 0 /* None */; + var flagsToCheck = 1 /* ModifierFlags.Export */ | 2 /* ModifierFlags.Ambient */ | 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */ | 128 /* ModifierFlags.Abstract */; + var someNodeFlags = 0 /* ModifierFlags.None */; var allNodeFlags = flagsToCheck; var someHaveQuestionToken = false; var allHaveQuestionToken = true; @@ -80628,7 +80924,7 @@ var ts; var lastSeenNonAmbientDeclaration; var previousDeclaration; var declarations = symbol.declarations; - var isConstructor = (symbol.flags & 16384 /* Constructor */) !== 0; + var isConstructor = (symbol.flags & 16384 /* SymbolFlags.Constructor */) !== 0; function reportImplementationExpectedError(node) { if (node.name && ts.nodeIsMissing(node.name)) { return; @@ -80657,7 +80953,7 @@ var ts; // Both are literal property names that are the same. ts.isPropertyNameLiteral(node.name) && ts.isPropertyNameLiteral(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 169 /* MethodDeclaration */ || node.kind === 168 /* MethodSignature */) && + var reportError = (node.kind === 169 /* SyntaxKind.MethodDeclaration */ || node.kind === 168 /* SyntaxKind.MethodSignature */) && ts.isStatic(node) !== ts.isStatic(subsequentNode); // we can get here in two cases // 1. mixed static and instance class members @@ -80682,7 +80978,7 @@ var ts; else { // Report different errors regarding non-consecutive blocks of declarations depending on whether // the node in question is abstract. - if (ts.hasSyntacticModifier(node, 128 /* Abstract */)) { + if (ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)) { error(errorNode, ts.Diagnostics.All_declarations_of_an_abstract_method_must_be_consecutive); } else { @@ -80698,8 +80994,8 @@ var ts; for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { var current = declarations_5[_i]; var node = current; - var inAmbientContext = node.flags & 16777216 /* Ambient */; - var inAmbientContextOrInterface = node.parent && (node.parent.kind === 258 /* InterfaceDeclaration */ || node.parent.kind === 182 /* TypeLiteral */) || inAmbientContext; + var inAmbientContext = node.flags & 16777216 /* NodeFlags.Ambient */; + var inAmbientContextOrInterface = node.parent && (node.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || node.parent.kind === 182 /* SyntaxKind.TypeLiteral */) || inAmbientContext; if (inAmbientContextOrInterface) { // check if declarations are consecutive only if they are non-ambient // 1. ambient declarations can be interleaved @@ -80710,10 +81006,10 @@ var ts; // 2. mixing ambient and non-ambient declarations is a separate error that will be reported - do not want to report an extra one previousDeclaration = undefined; } - if ((node.kind === 257 /* ClassDeclaration */ || node.kind === 226 /* ClassExpression */) && !inAmbientContext) { + if ((node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 226 /* SyntaxKind.ClassExpression */) && !inAmbientContext) { hasNonAmbientClass = true; } - if (node.kind === 256 /* FunctionDeclaration */ || node.kind === 169 /* MethodDeclaration */ || node.kind === 168 /* MethodSignature */ || node.kind === 171 /* Constructor */) { + if (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 169 /* SyntaxKind.MethodDeclaration */ || node.kind === 168 /* SyntaxKind.MethodSignature */ || node.kind === 171 /* SyntaxKind.Constructor */) { functionDeclarations.push(node); var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; @@ -80757,13 +81053,13 @@ var ts; error(ts.getNameOfDeclaration(declaration) || declaration, ts.Diagnostics.Duplicate_function_implementation); }); } - if (hasNonAmbientClass && !isConstructor && symbol.flags & 16 /* Function */ && declarations) { - var relatedDiagnostics_1 = ts.filter(declarations, function (d) { return d.kind === 257 /* ClassDeclaration */; }) + if (hasNonAmbientClass && !isConstructor && symbol.flags & 16 /* SymbolFlags.Function */ && declarations) { + var relatedDiagnostics_1 = ts.filter(declarations, function (d) { return d.kind === 257 /* SyntaxKind.ClassDeclaration */; }) .map(function (d) { return ts.createDiagnosticForNode(d, ts.Diagnostics.Consider_adding_a_declare_modifier_to_this_class); }); ts.forEach(declarations, function (declaration) { - var diagnostic = declaration.kind === 257 /* ClassDeclaration */ + var diagnostic = declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ ? ts.Diagnostics.Class_declaration_cannot_implement_overload_list_for_0 - : declaration.kind === 256 /* FunctionDeclaration */ + : declaration.kind === 256 /* SyntaxKind.FunctionDeclaration */ ? ts.Diagnostics.Function_with_bodies_can_only_merge_with_classes_that_are_ambient : undefined; if (diagnostic) { @@ -80773,7 +81069,7 @@ var ts; } // Abstract methods can't have an implementation -- in particular, they don't need one. if (lastSeenNonAmbientDeclaration && !lastSeenNonAmbientDeclaration.body && - !ts.hasSyntacticModifier(lastSeenNonAmbientDeclaration, 128 /* Abstract */) && !lastSeenNonAmbientDeclaration.questionToken) { + !ts.hasSyntacticModifier(lastSeenNonAmbientDeclaration, 128 /* ModifierFlags.Abstract */) && !lastSeenNonAmbientDeclaration.questionToken) { reportImplementationExpectedError(lastSeenNonAmbientDeclaration); } if (hasOverloads) { @@ -80813,15 +81109,15 @@ var ts; if (ts.getDeclarationOfKind(symbol, node.kind) !== node) { return; } - var exportedDeclarationSpaces = 0 /* None */; - var nonExportedDeclarationSpaces = 0 /* None */; - var defaultExportedDeclarationSpaces = 0 /* None */; + var exportedDeclarationSpaces = 0 /* DeclarationSpaces.None */; + var nonExportedDeclarationSpaces = 0 /* DeclarationSpaces.None */; + var defaultExportedDeclarationSpaces = 0 /* DeclarationSpaces.None */; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var d = _a[_i]; var declarationSpaces = getDeclarationSpaces(d); - var effectiveDeclarationFlags = getEffectiveDeclarationFlags(d, 1 /* Export */ | 512 /* Default */); - if (effectiveDeclarationFlags & 1 /* Export */) { - if (effectiveDeclarationFlags & 512 /* Default */) { + var effectiveDeclarationFlags = getEffectiveDeclarationFlags(d, 1 /* ModifierFlags.Export */ | 512 /* ModifierFlags.Default */); + if (effectiveDeclarationFlags & 1 /* ModifierFlags.Export */) { + if (effectiveDeclarationFlags & 512 /* ModifierFlags.Default */) { defaultExportedDeclarationSpaces |= declarationSpaces; } else { @@ -80854,56 +81150,56 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: // A jsdoc typedef and callback are, by definition, type aliases. // falls through - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 339 /* JSDocEnumTag */: - return 2 /* ExportType */; - case 261 /* ModuleDeclaration */: - return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* NonInstantiated */ - ? 4 /* ExportNamespace */ | 1 /* ExportValue */ - : 4 /* ExportNamespace */; - case 257 /* ClassDeclaration */: - case 260 /* EnumDeclaration */: - case 299 /* EnumMember */: - return 2 /* ExportType */ | 1 /* ExportValue */; - case 305 /* SourceFile */: - return 2 /* ExportType */ | 1 /* ExportValue */ | 4 /* ExportNamespace */; - case 271 /* ExportAssignment */: - case 221 /* BinaryExpression */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: + return 2 /* DeclarationSpaces.ExportType */; + case 261 /* SyntaxKind.ModuleDeclaration */: + return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* ModuleInstanceState.NonInstantiated */ + ? 4 /* DeclarationSpaces.ExportNamespace */ | 1 /* DeclarationSpaces.ExportValue */ + : 4 /* DeclarationSpaces.ExportNamespace */; + case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 299 /* SyntaxKind.EnumMember */: + return 2 /* DeclarationSpaces.ExportType */ | 1 /* DeclarationSpaces.ExportValue */; + case 305 /* SyntaxKind.SourceFile */: + return 2 /* DeclarationSpaces.ExportType */ | 1 /* DeclarationSpaces.ExportValue */ | 4 /* DeclarationSpaces.ExportNamespace */; + case 271 /* SyntaxKind.ExportAssignment */: + case 221 /* SyntaxKind.BinaryExpression */: var node_2 = d; var expression = ts.isExportAssignment(node_2) ? node_2.expression : node_2.right; // Export assigned entity name expressions act as aliases and should fall through, otherwise they export values if (!ts.isEntityNameExpression(expression)) { - return 1 /* ExportValue */; + return 1 /* DeclarationSpaces.ExportValue */; } d = expression; // The below options all declare an Alias, which is allowed to merge with other values within the importing module. // falls through - case 265 /* ImportEqualsDeclaration */: - case 268 /* NamespaceImport */: - case 267 /* ImportClause */: - var result_12 = 0 /* None */; + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.NamespaceImport */: + case 267 /* SyntaxKind.ImportClause */: + var result_12 = 0 /* DeclarationSpaces.None */; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_12 |= getDeclarationSpaces(d); }); return result_12; - case 254 /* VariableDeclaration */: - case 203 /* BindingElement */: - case 256 /* FunctionDeclaration */: - case 270 /* ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 - case 79 /* Identifier */: // https://github.com/microsoft/TypeScript/issues/36098 + case 254 /* SyntaxKind.VariableDeclaration */: + case 203 /* SyntaxKind.BindingElement */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 270 /* SyntaxKind.ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 + case 79 /* SyntaxKind.Identifier */: // https://github.com/microsoft/TypeScript/issues/36098 // Identifiers are used as declarations of assignment declarations whose parents may be // SyntaxKind.CallExpression - `Object.defineProperty(thing, "aField", {value: 42});` // SyntaxKind.ElementAccessExpression - `thing["aField"] = 42;` or `thing["aField"];` (with a doc comment on it) // or SyntaxKind.PropertyAccessExpression - `thing.aField = 42;` // all of which are pretty much always values, or at least imply a value meaning. // It may be apprpriate to treat these as aliases in the future. - return 1 /* ExportValue */; + return 1 /* DeclarationSpaces.ExportValue */; default: return ts.Debug.failBadSyntaxKind(d); } @@ -80939,32 +81235,32 @@ var ts; return typeAsPromise.promisedTypeOfPromise = getTypeArguments(type)[0]; } // primitives with a `{ then() }` won't be unwrapped/adopted. - if (allTypesAssignableToKind(type, 131068 /* Primitive */ | 131072 /* Never */)) { + if (allTypesAssignableToKind(type, 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) { return undefined; } var thenFunction = getTypeOfPropertyOfType(type, "then"); // TODO: GH#18217 if (isTypeAny(thenFunction)) { return undefined; } - var thenSignatures = thenFunction ? getSignaturesOfType(thenFunction, 0 /* Call */) : ts.emptyArray; + var thenSignatures = thenFunction ? getSignaturesOfType(thenFunction, 0 /* SignatureKind.Call */) : ts.emptyArray; if (thenSignatures.length === 0) { if (errorNode) { error(errorNode, ts.Diagnostics.A_promise_must_have_a_then_method); } return undefined; } - var onfulfilledParameterType = getTypeWithFacts(getUnionType(ts.map(thenSignatures, getTypeOfFirstParameterOfSignature)), 2097152 /* NEUndefinedOrNull */); + var onfulfilledParameterType = getTypeWithFacts(getUnionType(ts.map(thenSignatures, getTypeOfFirstParameterOfSignature)), 2097152 /* TypeFacts.NEUndefinedOrNull */); if (isTypeAny(onfulfilledParameterType)) { return undefined; } - var onfulfilledParameterSignatures = getSignaturesOfType(onfulfilledParameterType, 0 /* Call */); + var onfulfilledParameterSignatures = getSignaturesOfType(onfulfilledParameterType, 0 /* SignatureKind.Call */); if (onfulfilledParameterSignatures.length === 0) { if (errorNode) { error(errorNode, ts.Diagnostics.The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback); } return undefined; } - return typeAsPromise.promisedTypeOfPromise = getUnionType(ts.map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature), 2 /* Subtype */); + return typeAsPromise.promisedTypeOfPromise = getUnionType(ts.map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature), 2 /* UnionReduction.Subtype */); } /** * Gets the "awaited type" of a type. @@ -80984,16 +81280,16 @@ var ts; * Determines whether a type is an object with a callable `then` member. */ function isThenableType(type) { - if (allTypesAssignableToKind(type, 131068 /* Primitive */ | 131072 /* Never */)) { + if (allTypesAssignableToKind(type, 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) { // primitive types cannot be considered "thenable" since they are not objects. return false; } var thenFunction = getTypeOfPropertyOfType(type, "then"); - return !!thenFunction && getSignaturesOfType(getTypeWithFacts(thenFunction, 2097152 /* NEUndefinedOrNull */), 0 /* Call */).length > 0; + return !!thenFunction && getSignaturesOfType(getTypeWithFacts(thenFunction, 2097152 /* TypeFacts.NEUndefinedOrNull */), 0 /* SignatureKind.Call */).length > 0; } function isAwaitedTypeInstantiation(type) { var _a; - if (type.flags & 16777216 /* Conditional */) { + if (type.flags & 16777216 /* TypeFlags.Conditional */) { var awaitedSymbol = getGlobalAwaitedSymbol(/*reportErrors*/ false); return !!awaitedSymbol && type.aliasSymbol === awaitedSymbol && ((_a = type.aliasTypeArguments) === null || _a === void 0 ? void 0 : _a.length) === 1; } @@ -81003,7 +81299,7 @@ var ts; * For a generic `Awaited`, gets `T`. */ function unwrapAwaitedType(type) { - return type.flags & 1048576 /* Union */ ? mapType(type, unwrapAwaitedType) : + return type.flags & 1048576 /* TypeFlags.Union */ ? mapType(type, unwrapAwaitedType) : isAwaitedTypeInstantiation(type) ? type.aliasTypeArguments[0] : type; } @@ -81027,7 +81323,7 @@ var ts; var baseConstraint = getBaseConstraintOfType(type); // Only instantiate `Awaited` if `T` has no base constraint, or the base constraint of `T` is `any`, `unknown`, `{}`, `object`, // or is promise-like. - if (!baseConstraint || (baseConstraint.flags & 3 /* AnyOrUnknown */) || isEmptyObjectType(baseConstraint) || isThenableType(baseConstraint)) { + if (!baseConstraint || (baseConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */) || isEmptyObjectType(baseConstraint) || isThenableType(baseConstraint)) { // Nothing to do if `Awaited` doesn't exist var awaitedSymbol = getGlobalAwaitedSymbol(/*reportErrors*/ true); if (awaitedSymbol) { @@ -81073,7 +81369,7 @@ var ts; return typeAsAwaitable.awaitedTypeOfType; } // For a union, get a union of the awaited types of each constituent. - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { var mapper = errorNode ? function (constituentType) { return getAwaitedTypeNoAlias(constituentType, errorNode, diagnosticMessage, arg0); } : getAwaitedTypeNoAlias; return typeAsAwaitable.awaitedTypeOfType = mapType(type, mapper); } @@ -81190,7 +81486,7 @@ var ts; // } // var returnType = getTypeFromTypeNode(returnTypeNode); - if (languageVersion >= 2 /* ES2015 */) { + if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { if (isErrorType(returnType)) { return; } @@ -81213,10 +81509,10 @@ var ts; error(returnTypeNode, ts.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value, typeToString(returnType)); return; } - var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 111551 /* Value */, /*ignoreErrors*/ true); + var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 111551 /* SymbolFlags.Value */, /*ignoreErrors*/ true); var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType; if (isErrorType(promiseConstructorType)) { - if (promiseConstructorName.kind === 79 /* Identifier */ && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(/*reportErrors*/ false)) { + if (promiseConstructorName.kind === 79 /* SyntaxKind.Identifier */ && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(/*reportErrors*/ false)) { error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option); } else { @@ -81236,7 +81532,7 @@ var ts; } // Verify there is no local declaration that could collide with the promise constructor. var rootName = promiseConstructorName && ts.getFirstIdentifier(promiseConstructorName); - var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 111551 /* Value */); + var collidingSymbol = getSymbol(node.locals, rootName.escapedText, 111551 /* SymbolFlags.Value */); if (collidingSymbol) { error(collidingSymbol.valueDeclaration, ts.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions, ts.idText(rootName), ts.entityNameToString(promiseConstructorName)); return; @@ -81249,26 +81545,26 @@ var ts; var signature = getResolvedSignature(node); checkDeprecatedSignature(signature, node); var returnType = getReturnTypeOfSignature(signature); - if (returnType.flags & 1 /* Any */) { + if (returnType.flags & 1 /* TypeFlags.Any */) { return; } var headMessage; var expectedReturnType; switch (node.parent.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 167 /* PropertyDeclaration */: - case 164 /* Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 164 /* SyntaxKind.Parameter */: headMessage = ts.Diagnostics.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any; expectedReturnType = voidType; break; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var methodType = getTypeOfNode(node.parent); var descriptorType = createTypedPropertyDescriptorType(methodType); @@ -81290,9 +81586,9 @@ var ts; if (!typeName) return; var rootName = ts.getFirstIdentifier(typeName); - var meaning = (typeName.kind === 79 /* Identifier */ ? 788968 /* Type */ : 1920 /* Namespace */) | 2097152 /* Alias */; + var meaning = (typeName.kind === 79 /* SyntaxKind.Identifier */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */) | 2097152 /* SymbolFlags.Alias */; var rootSymbol = resolveName(rootName, rootName.escapedText, meaning, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isReference*/ true); - if (rootSymbol && rootSymbol.flags & 2097152 /* Alias */) { + if (rootSymbol && rootSymbol.flags & 2097152 /* SymbolFlags.Alias */) { if (symbolIsValue(rootSymbol) && !isConstEnumOrConstEnumOnlyModule(resolveAlias(rootSymbol)) && !getTypeOnlyAliasDeclaration(rootSymbol)) { @@ -81327,15 +81623,15 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { - case 188 /* IntersectionType */: - case 187 /* UnionType */: + case 188 /* SyntaxKind.IntersectionType */: + case 187 /* SyntaxKind.UnionType */: return getEntityNameForDecoratorMetadataFromTypeList(node.types); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return getEntityNameForDecoratorMetadataFromTypeList([node.trueType, node.falseType]); - case 191 /* ParenthesizedType */: - case 197 /* NamedTupleMember */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 197 /* SyntaxKind.NamedTupleMember */: return getEntityNameForDecoratorMetadata(node.type); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return node.typeName; } } @@ -81344,13 +81640,13 @@ var ts; var commonEntityName; for (var _i = 0, types_22 = types; _i < types_22.length; _i++) { var typeNode = types_22[_i]; - while (typeNode.kind === 191 /* ParenthesizedType */ || typeNode.kind === 197 /* NamedTupleMember */) { + while (typeNode.kind === 191 /* SyntaxKind.ParenthesizedType */ || typeNode.kind === 197 /* SyntaxKind.NamedTupleMember */) { typeNode = typeNode.type; // Skip parens if need be } - if (typeNode.kind === 143 /* NeverKeyword */) { + if (typeNode.kind === 143 /* SyntaxKind.NeverKeyword */) { continue; // Always elide `never` from the union/intersection if possible } - if (!strictNullChecks && (typeNode.kind === 196 /* LiteralType */ && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 153 /* UndefinedKeyword */)) { + if (!strictNullChecks && (typeNode.kind === 196 /* SyntaxKind.LiteralType */ && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */ || typeNode.kind === 153 /* SyntaxKind.UndefinedKeyword */)) { continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks } var individualEntityName = getEntityNameForDecoratorMetadata(typeNode); @@ -81395,15 +81691,15 @@ var ts; error(node, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning); } var firstDecorator = node.decorators[0]; - checkExternalEmitHelpers(firstDecorator, 8 /* Decorate */); - if (node.kind === 164 /* Parameter */) { - checkExternalEmitHelpers(firstDecorator, 32 /* Param */); + checkExternalEmitHelpers(firstDecorator, 8 /* ExternalEmitHelpers.Decorate */); + if (node.kind === 164 /* SyntaxKind.Parameter */) { + checkExternalEmitHelpers(firstDecorator, 32 /* ExternalEmitHelpers.Param */); } if (compilerOptions.emitDecoratorMetadata) { - checkExternalEmitHelpers(firstDecorator, 16 /* Metadata */); + checkExternalEmitHelpers(firstDecorator, 16 /* ExternalEmitHelpers.Metadata */); // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. switch (node.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -81412,23 +81708,23 @@ var ts; } } break; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - var otherKind = node.kind === 172 /* GetAccessor */ ? 173 /* SetAccessor */ : 172 /* GetAccessor */; + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + var otherKind = node.kind === 172 /* SyntaxKind.GetAccessor */ ? 173 /* SyntaxKind.SetAccessor */ : 172 /* SyntaxKind.GetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); markDecoratorMedataDataTypeNodeAsReferenced(getAnnotatedAccessorTypeNode(node) || otherAccessor && getAnnotatedAccessorTypeNode(otherAccessor)); break; - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -81518,9 +81814,9 @@ var ts; } function getIdentifierFromEntityNameExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return node; - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return node.name; default: return undefined; @@ -81534,7 +81830,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name && node.name.kind === 162 /* ComputedPropertyName */) { + if (node.name && node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { // This check will account for methods in class/interface declarations, // as well as accessors in classes/object literals checkComputedPropertyName(node.name); @@ -81550,7 +81846,7 @@ var ts; // checkFunctionOrConstructorSymbol wouldn't be called if we didnt ignore javascript function. var firstDeclaration = (_a = localSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find( // Get first non javascript function declaration - function (declaration) { return declaration.kind === node.kind && !(declaration.flags & 262144 /* JavaScriptFile */); }); + function (declaration) { return declaration.kind === node.kind && !(declaration.flags & 262144 /* NodeFlags.JavaScriptFile */); }); // Only type check the symbol once if (node === firstDeclaration) { checkFunctionOrConstructorSymbol(localSymbol); @@ -81560,7 +81856,7 @@ var ts; checkFunctionOrConstructorSymbol(symbol); } } - var body = node.kind === 168 /* MethodSignature */ ? undefined : node.body; + var body = node.kind === 168 /* SyntaxKind.MethodSignature */ ? undefined : node.body; checkSourceElement(body); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, getReturnTypeFromAnnotation(node)); addLazyDiagnostic(checkFunctionOrMethodDeclarationDiagnostics); @@ -81578,7 +81874,7 @@ var ts; if (ts.nodeIsMissing(body) && !isPrivateWithinAmbient(node)) { reportImplicitAny(node, anyType); } - if (functionFlags & 1 /* Generator */ && ts.nodeIsPresent(body)) { + if (functionFlags & 1 /* FunctionFlags.Generator */ && ts.nodeIsPresent(body)) { // A generator with a body and no type annotation can still cause errors. It can error if the // yielded values have no common supertype, or it can give an implicit any error if it has no // yielded values. The only way to trigger these errors is to try checking its return type. @@ -81606,42 +81902,42 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 305 /* SourceFile */: - case 261 /* ModuleDeclaration */: - case 235 /* Block */: - case 263 /* CaseBlock */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: + case 305 /* SyntaxKind.SourceFile */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 235 /* SyntaxKind.Block */: + case 263 /* SyntaxKind.CaseBlock */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 171 /* Constructor */: - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: if (node.body) { // Don't report unused parameters in overloads checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 259 /* TypeAliasDeclaration */: - case 258 /* InterfaceDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; - case 190 /* InferType */: + case 190 /* SyntaxKind.InferType */: checkUnusedInferTypeParameter(node, addDiagnostic); break; default: @@ -81652,41 +81948,41 @@ var ts; function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; - addDiagnostic(declaration, 0 /* Local */, ts.createDiagnosticForNode(node, message, name)); + addDiagnostic(declaration, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(node, message, name)); } function isIdentifierThatStartsWithUnderscore(node) { - return ts.isIdentifier(node) && ts.idText(node).charCodeAt(0) === 95 /* _ */; + return ts.isIdentifier(node) && ts.idText(node).charCodeAt(0) === 95 /* CharacterCodes._ */; } function checkUnusedClassMembers(node, addDiagnostic) { for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 169 /* MethodDeclaration */: - case 167 /* PropertyDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - if (member.kind === 173 /* SetAccessor */ && member.symbol.flags & 32768 /* GetAccessor */) { + case 169 /* SyntaxKind.MethodDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + if (member.kind === 173 /* SyntaxKind.SetAccessor */ && member.symbol.flags & 32768 /* SymbolFlags.GetAccessor */) { // Already would have reported an error on the getter. break; } var symbol = getSymbolOfNode(member); if (!symbol.isReferenced - && (ts.hasEffectiveModifier(member, 8 /* Private */) || ts.isNamedDeclaration(member) && ts.isPrivateIdentifier(member.name)) - && !(member.flags & 16777216 /* Ambient */)) { - addDiagnostic(member, 0 /* Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); + && (ts.hasEffectiveModifier(member, 8 /* ModifierFlags.Private */) || ts.isNamedDeclaration(member) && ts.isPrivateIdentifier(member.name)) + && !(member.flags & 16777216 /* NodeFlags.Ambient */)) { + addDiagnostic(member, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; - if (!parameter.symbol.isReferenced && ts.hasSyntacticModifier(parameter, 8 /* Private */)) { - addDiagnostic(parameter, 0 /* Local */, ts.createDiagnosticForNode(parameter.name, ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read, ts.symbolName(parameter.symbol))); + if (!parameter.symbol.isReferenced && ts.hasSyntacticModifier(parameter, 8 /* ModifierFlags.Private */)) { + addDiagnostic(parameter, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(parameter.name, ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read, ts.symbolName(parameter.symbol))); } } break; - case 176 /* IndexSignature */: - case 234 /* SemicolonClassElement */: - case 170 /* ClassStaticBlockDeclaration */: + case 176 /* SyntaxKind.IndexSignature */: + case 234 /* SyntaxKind.SemicolonClassElement */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: // Can't be private break; default: @@ -81697,7 +81993,7 @@ var ts; function checkUnusedInferTypeParameter(node, addDiagnostic) { var typeParameter = node.typeParameter; if (isTypeParameterUnused(typeParameter)) { - addDiagnostic(node, 1 /* Parameter */, ts.createDiagnosticForNode(node, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(typeParameter.name))); + addDiagnostic(node, 1 /* UnusedKind.Parameter */, ts.createDiagnosticForNode(node, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(typeParameter.name))); } } function checkUnusedTypeParameters(node, addDiagnostic) { @@ -81714,7 +82010,7 @@ var ts; continue; var name = ts.idText(typeParameter.name); var parent = typeParameter.parent; - if (parent.kind !== 190 /* InferType */ && parent.typeParameters.every(isTypeParameterUnused)) { + if (parent.kind !== 190 /* SyntaxKind.InferType */ && parent.typeParameters.every(isTypeParameterUnused)) { if (ts.tryAddToSet(seenParentsWithEveryUnused, parent)) { var sourceFile = ts.getSourceFileOfNode(parent); var range = ts.isJSDocTemplateTag(parent) @@ -81726,17 +82022,17 @@ var ts; //TODO: following line is possible reason for bug #41974, unusedTypeParameters_TemplateTag var message = only ? ts.Diagnostics._0_is_declared_but_its_value_is_never_read : ts.Diagnostics.All_type_parameters_are_unused; var arg0 = only ? name : undefined; - addDiagnostic(typeParameter, 1 /* Parameter */, ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, message, arg0)); + addDiagnostic(typeParameter, 1 /* UnusedKind.Parameter */, ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, message, arg0)); } } else { //TODO: following line is possible reason for bug #41974, unusedTypeParameters_TemplateTag - addDiagnostic(typeParameter, 1 /* Parameter */, ts.createDiagnosticForNode(typeParameter, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, name)); + addDiagnostic(typeParameter, 1 /* UnusedKind.Parameter */, ts.createDiagnosticForNode(typeParameter, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, name)); } } } function isTypeParameterUnused(typeParameter) { - return !(getMergedSymbol(typeParameter.symbol).isReferenced & 262144 /* TypeParameter */) && !isIdentifierThatStartsWithUnderscore(typeParameter.name); + return !(getMergedSymbol(typeParameter.symbol).isReferenced & 262144 /* SymbolFlags.TypeParameter */) && !isIdentifierThatStartsWithUnderscore(typeParameter.name); } function addToGroup(map, key, value, getKey) { var keyString = String(getKey(key)); @@ -81773,7 +82069,7 @@ var ts; nodeWithLocals.locals.forEach(function (local) { // If it's purely a type parameter, ignore, will be checked in `checkUnusedTypeParameters`. // If it's a type parameter merged with a parameter, check if the parameter-side is used. - if (local.flags & 262144 /* TypeParameter */ ? !(local.flags & 3 /* Variable */ && !(local.isReferenced & 3 /* Variable */)) : local.isReferenced || local.exportSymbol) { + if (local.flags & 262144 /* SymbolFlags.TypeParameter */ ? !(local.flags & 3 /* SymbolFlags.Variable */ && !(local.isReferenced & 3 /* SymbolFlags.Variable */)) : local.isReferenced || local.exportSymbol) { return; } if (local.declarations) { @@ -81804,7 +82100,7 @@ var ts; addToGroup(unusedDestructures, declaration.parent, declaration, getNodeId); } else { - addDiagnostic(parameter, 1 /* Parameter */, ts.createDiagnosticForNode(name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.symbolName(local))); + addDiagnostic(parameter, 1 /* UnusedKind.Parameter */, ts.createDiagnosticForNode(name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.symbolName(local))); } } } @@ -81820,10 +82116,10 @@ var ts; var importDecl = importClause.parent; var nDeclarations = (importClause.name ? 1 : 0) + (importClause.namedBindings ? - (importClause.namedBindings.kind === 268 /* NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) + (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) : 0); if (nDeclarations === unuseds.length) { - addDiagnostic(importDecl, 0 /* Local */, unuseds.length === 1 + addDiagnostic(importDecl, 0 /* UnusedKind.Local */, unuseds.length === 1 ? ts.createDiagnosticForNode(importDecl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, ts.idText(ts.first(unuseds).name)) : ts.createDiagnosticForNode(importDecl, ts.Diagnostics.All_imports_in_import_declaration_are_unused)); } @@ -81836,9 +82132,9 @@ var ts; }); unusedDestructures.forEach(function (_a) { var bindingPattern = _a[0], bindingElements = _a[1]; - var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* Parameter */ : 0 /* Local */; + var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* UnusedKind.Parameter */ : 0 /* UnusedKind.Local */; if (bindingPattern.elements.length === bindingElements.length) { - if (bindingElements.length === 1 && bindingPattern.parent.kind === 254 /* VariableDeclaration */ && bindingPattern.parent.parent.kind === 255 /* VariableDeclarationList */) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 254 /* SyntaxKind.VariableDeclaration */ && bindingPattern.parent.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */) { addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); } else { @@ -81857,38 +82153,38 @@ var ts; unusedVariables.forEach(function (_a) { var declarationList = _a[0], declarations = _a[1]; if (declarationList.declarations.length === declarations.length) { - addDiagnostic(declarationList, 0 /* Local */, declarations.length === 1 + addDiagnostic(declarationList, 0 /* UnusedKind.Local */, declarations.length === 1 ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) - : ts.createDiagnosticForNode(declarationList.parent.kind === 237 /* VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); + : ts.createDiagnosticForNode(declarationList.parent.kind === 237 /* SyntaxKind.VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { var decl = declarations_6[_i]; - addDiagnostic(decl, 0 /* Local */, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(decl.name))); + addDiagnostic(decl, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(decl, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(decl.name))); } } }); } function bindingNameText(name) { switch (name.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return ts.idText(name); - case 202 /* ArrayBindingPattern */: - case 201 /* ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); default: return ts.Debug.assertNever(name); } } function isImportedDeclaration(node) { - return node.kind === 267 /* ImportClause */ || node.kind === 270 /* ImportSpecifier */ || node.kind === 268 /* NamespaceImport */; + return node.kind === 267 /* SyntaxKind.ImportClause */ || node.kind === 270 /* SyntaxKind.ImportSpecifier */ || node.kind === 268 /* SyntaxKind.NamespaceImport */; } function importClauseFromImported(decl) { - return decl.kind === 267 /* ImportClause */ ? decl : decl.kind === 268 /* NamespaceImport */ ? decl.parent : decl.parent.parent; + return decl.kind === 267 /* SyntaxKind.ImportClause */ ? decl : decl.kind === 268 /* SyntaxKind.NamespaceImport */ ? decl.parent : decl.parent.parent; } function checkBlock(node) { // Grammar checking for SyntaxKind.Block - if (node.kind === 235 /* Block */) { + if (node.kind === 235 /* SyntaxKind.Block */) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -81905,7 +82201,7 @@ var ts; } function checkCollisionWithArgumentsInGeneratedCode(node) { // no rest parameters \ declaration context \ overload - no codegen impact - if (languageVersion >= 2 /* ES2015 */ || !ts.hasRestParameter(node) || node.flags & 16777216 /* Ambient */ || ts.nodeIsMissing(node.body)) { + if (languageVersion >= 2 /* ScriptTarget.ES2015 */ || !ts.hasRestParameter(node) || node.flags & 16777216 /* NodeFlags.Ambient */ || ts.nodeIsMissing(node.body)) { return; } ts.forEach(node.parameters, function (p) { @@ -81923,17 +82219,17 @@ var ts; if ((identifier === null || identifier === void 0 ? void 0 : identifier.escapedText) !== name) { return false; } - if (node.kind === 167 /* PropertyDeclaration */ || - node.kind === 166 /* PropertySignature */ || - node.kind === 169 /* MethodDeclaration */ || - node.kind === 168 /* MethodSignature */ || - node.kind === 172 /* GetAccessor */ || - node.kind === 173 /* SetAccessor */ || - node.kind === 296 /* PropertyAssignment */) { + if (node.kind === 167 /* SyntaxKind.PropertyDeclaration */ || + node.kind === 166 /* SyntaxKind.PropertySignature */ || + node.kind === 169 /* SyntaxKind.MethodDeclaration */ || + node.kind === 168 /* SyntaxKind.MethodSignature */ || + node.kind === 172 /* SyntaxKind.GetAccessor */ || + node.kind === 173 /* SyntaxKind.SetAccessor */ || + node.kind === 296 /* SyntaxKind.PropertyAssignment */) { // it is ok to have member named '_super', '_this', `Promise`, etc. - member access is always qualified return false; } - if (node.flags & 16777216 /* Ambient */) { + if (node.flags & 16777216 /* NodeFlags.Ambient */) { // ambient context - no codegen impact return false; } @@ -81953,8 +82249,8 @@ var ts; // this function will run after checking the source file so 'CaptureThis' is correct for all nodes function checkIfThisIsCapturedInEnclosingScope(node) { ts.findAncestor(node, function (current) { - if (getNodeCheckFlags(current) & 4 /* CaptureThis */) { - var isDeclaration_1 = node.kind !== 79 /* Identifier */; + if (getNodeCheckFlags(current) & 4 /* NodeCheckFlags.CaptureThis */) { + var isDeclaration_1 = node.kind !== 79 /* SyntaxKind.Identifier */; if (isDeclaration_1) { error(ts.getNameOfDeclaration(node), ts.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference); } @@ -81968,8 +82264,8 @@ var ts; } function checkIfNewTargetIsCapturedInEnclosingScope(node) { ts.findAncestor(node, function (current) { - if (getNodeCheckFlags(current) & 8 /* CaptureNewTarget */) { - var isDeclaration_2 = node.kind !== 79 /* Identifier */; + if (getNodeCheckFlags(current) & 8 /* NodeCheckFlags.CaptureNewTarget */) { + var isDeclaration_2 = node.kind !== 79 /* SyntaxKind.Identifier */; if (isDeclaration_2) { error(ts.getNameOfDeclaration(node), ts.Diagnostics.Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference); } @@ -81983,53 +82279,53 @@ var ts; } function checkCollisionWithRequireExportsInGeneratedCode(node, name) { // No need to check for require or exports for ES6 modules and later - if (moduleKind >= ts.ModuleKind.ES2015 && !(moduleKind >= ts.ModuleKind.Node12 && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) { + if (moduleKind >= ts.ModuleKind.ES2015 && !(moduleKind >= ts.ModuleKind.Node16 && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) { return; } if (!name || !needCollisionCheckForIdentifier(node, name, "require") && !needCollisionCheckForIdentifier(node, name, "exports")) { return; } // Uninstantiated modules shouldnt do this check - if (ts.isModuleDeclaration(node) && ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { + if (ts.isModuleDeclaration(node) && ts.getModuleInstanceState(node) !== 1 /* ModuleInstanceState.Instantiated */) { return; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { // If the declaration happens to be in external module, report error that require and exports are reserved keywords errorSkippedOn("noEmit", name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } function checkCollisionWithGlobalPromiseInGeneratedCode(node, name) { - if (!name || languageVersion >= 4 /* ES2017 */ || !needCollisionCheckForIdentifier(node, name, "Promise")) { + if (!name || languageVersion >= 4 /* ScriptTarget.ES2017 */ || !needCollisionCheckForIdentifier(node, name, "Promise")) { return; } // Uninstantiated modules shouldnt do this check - if (ts.isModuleDeclaration(node) && ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { + if (ts.isModuleDeclaration(node) && ts.getModuleInstanceState(node) !== 1 /* ModuleInstanceState.Instantiated */) { return; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 305 /* SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 2048 /* HasAsyncFunctions */) { + if (parent.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 2048 /* NodeFlags.HasAsyncFunctions */) { // If the declaration happens to be in external module, report error that Promise is a reserved identifier. errorSkippedOn("noEmit", name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } function recordPotentialCollisionWithWeakMapSetInGeneratedCode(node, name) { - if (languageVersion <= 8 /* ES2021 */ + if (languageVersion <= 8 /* ScriptTarget.ES2021 */ && (needCollisionCheckForIdentifier(node, name, "WeakMap") || needCollisionCheckForIdentifier(node, name, "WeakSet"))) { potentialWeakMapSetCollisions.push(node); } } function checkWeakMapSetCollision(node) { var enclosingBlockScope = ts.getEnclosingBlockScopeContainer(node); - if (getNodeCheckFlags(enclosingBlockScope) & 67108864 /* ContainsClassWithPrivateIdentifiers */) { + if (getNodeCheckFlags(enclosingBlockScope) & 67108864 /* NodeCheckFlags.ContainsClassWithPrivateIdentifiers */) { ts.Debug.assert(ts.isNamedDeclaration(node) && ts.isIdentifier(node.name) && typeof node.name.escapedText === "string", "The target of a WeakMap/WeakSet collision check should be an identifier"); errorSkippedOn("noEmit", node, ts.Diagnostics.Compiler_reserves_name_0_when_emitting_private_identifier_downlevel, node.name.escapedText); } } function recordPotentialCollisionWithReflectInGeneratedCode(node, name) { - if (name && languageVersion >= 2 /* ES2015 */ && languageVersion <= 8 /* ES2021 */ + if (name && languageVersion >= 2 /* ScriptTarget.ES2015 */ && languageVersion <= 8 /* ScriptTarget.ES2021 */ && needCollisionCheckForIdentifier(node, name, "Reflect")) { potentialReflectCollisions.push(node); } @@ -82040,7 +82336,7 @@ var ts; // ClassExpression names don't contribute to their containers, but do matter for any of their block-scoped members. for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (getNodeCheckFlags(member) & 134217728 /* ContainsSuperPropertyInStaticInitializer */) { + if (getNodeCheckFlags(member) & 134217728 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) { hasCollision = true; break; } @@ -82048,13 +82344,13 @@ var ts; } else if (ts.isFunctionExpression(node)) { // FunctionExpression names don't contribute to their containers, but do matter for their contents - if (getNodeCheckFlags(node) & 134217728 /* ContainsSuperPropertyInStaticInitializer */) { + if (getNodeCheckFlags(node) & 134217728 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) { hasCollision = true; } } else { var container = ts.getEnclosingBlockScopeContainer(node); - if (container && getNodeCheckFlags(container) & 134217728 /* ContainsSuperPropertyInStaticInitializer */) { + if (container && getNodeCheckFlags(container) & 134217728 /* NodeCheckFlags.ContainsSuperPropertyInStaticInitializer */) { hasCollision = true; } } @@ -82072,7 +82368,7 @@ var ts; recordPotentialCollisionWithReflectInGeneratedCode(node, name); if (ts.isClassLike(node)) { checkTypeNameIsReserved(name, ts.Diagnostics.Class_name_cannot_be_0); - if (!(node.flags & 16777216 /* Ambient */)) { + if (!(node.flags & 16777216 /* NodeFlags.Ambient */)) { checkClassNameCollisionWithObject(name); } } @@ -82104,35 +82400,35 @@ var ts; // const x = 0; // symbol for this declaration will be 'symbol' // } // skip block-scoped variables and parameters - if ((ts.getCombinedNodeFlags(node) & 3 /* BlockScoped */) !== 0 || ts.isParameterDeclaration(node)) { + if ((ts.getCombinedNodeFlags(node) & 3 /* NodeFlags.BlockScoped */) !== 0 || ts.isParameterDeclaration(node)) { return; } // skip variable declarations that don't have initializers // NOTE: in ES6 spec initializer is required in variable declarations where name is binding pattern // so we'll always treat binding elements as initialized - if (node.kind === 254 /* VariableDeclaration */ && !node.initializer) { + if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ && !node.initializer) { return; } var symbol = getSymbolOfNode(node); - if (symbol.flags & 1 /* FunctionScopedVariable */) { + if (symbol.flags & 1 /* SymbolFlags.FunctionScopedVariable */) { if (!ts.isIdentifier(node.name)) return ts.Debug.fail(); - var localDeclarationSymbol = resolveName(node, node.name.escapedText, 3 /* Variable */, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false); + var localDeclarationSymbol = resolveName(node, node.name.escapedText, 3 /* SymbolFlags.Variable */, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false); if (localDeclarationSymbol && localDeclarationSymbol !== symbol && - localDeclarationSymbol.flags & 2 /* BlockScopedVariable */) { - if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* BlockScoped */) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 255 /* VariableDeclarationList */); - var container = varDeclList.parent.kind === 237 /* VariableStatement */ && varDeclList.parent.parent + localDeclarationSymbol.flags & 2 /* SymbolFlags.BlockScopedVariable */) { + if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* NodeFlags.BlockScoped */) { + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 255 /* SyntaxKind.VariableDeclarationList */); + var container = varDeclList.parent.kind === 237 /* SyntaxKind.VariableStatement */ && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; // names of block-scoped and function scoped variables can collide only // if block scoped variable is defined in the function\module\source file scope (because of variable hoisting) var namesShareScope = container && - (container.kind === 235 /* Block */ && ts.isFunctionLike(container.parent) || - container.kind === 262 /* ModuleBlock */ || - container.kind === 261 /* ModuleDeclaration */ || - container.kind === 305 /* SourceFile */); + (container.kind === 235 /* SyntaxKind.Block */ && ts.isFunctionLike(container.parent) || + container.kind === 262 /* SyntaxKind.ModuleBlock */ || + container.kind === 261 /* SyntaxKind.ModuleDeclaration */ || + container.kind === 305 /* SyntaxKind.SourceFile */); // here we know that function scoped variable is shadowed by block scoped one // if they are defined in the same scope - binder has already reported redeclaration error // otherwise if variable has an initializer - show error that initialization will fail @@ -82163,23 +82459,23 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* ComputedPropertyName */) { + if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); if (node.initializer) { checkExpressionCached(node.initializer); } } if (ts.isBindingElement(node)) { - if (ts.isObjectBindingPattern(node.parent) && node.dotDotDotToken && languageVersion < 5 /* ES2018 */) { - checkExternalEmitHelpers(node, 4 /* Rest */); + if (ts.isObjectBindingPattern(node.parent) && node.dotDotDotToken && languageVersion < 5 /* ScriptTarget.ES2018 */) { + checkExternalEmitHelpers(node, 4 /* ExternalEmitHelpers.Rest */); } // check computed properties inside property names of binding elements - if (node.propertyName && node.propertyName.kind === 162 /* ComputedPropertyName */) { + if (node.propertyName && node.propertyName.kind === 162 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.propertyName); } // check private/protected variable access var parent = node.parent.parent; - var parentCheckMode = node.dotDotDotToken ? 64 /* RestBindingElement */ : 0 /* Normal */; + var parentCheckMode = node.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */; var parentType = getTypeForBindingElementParent(parent, parentCheckMode); var name = node.propertyName || node.name; if (parentType && !ts.isBindingPattern(name)) { @@ -82189,15 +82485,15 @@ var ts; var property = getPropertyOfType(parentType, nameText); if (property) { markPropertyAsReferenced(property, /*nodeForCheckWriteOnly*/ undefined, /*isSelfTypeAccess*/ false); // A destructuring is never a write-only reference. - checkPropertyAccessibility(node, !!parent.initializer && parent.initializer.kind === 106 /* SuperKeyword */, /*writing*/ false, parentType, property); + checkPropertyAccessibility(node, !!parent.initializer && parent.initializer.kind === 106 /* SyntaxKind.SuperKeyword */, /*writing*/ false, parentType, property); } } } } // For a binding pattern, check contained binding elements if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 202 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) { - checkExternalEmitHelpers(node, 512 /* Read */); + if (node.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */ && languageVersion < 2 /* ScriptTarget.ES2015 */ && compilerOptions.downlevelIteration) { + checkExternalEmitHelpers(node, 512 /* ExternalEmitHelpers.Read */); } ts.forEach(node.name.elements, checkSourceElement); } @@ -82208,7 +82504,7 @@ var ts; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { - var needCheckInitializer = node.initializer && node.parent.parent.kind !== 243 /* ForInStatement */; + var needCheckInitializer = node.initializer && node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */; var needCheckWidenedType = node.name.elements.length === 0; if (needCheckInitializer || needCheckWidenedType) { // Don't validate for-in initializer as it is already an error @@ -82225,7 +82521,7 @@ var ts; // check the binding pattern with empty elements if (needCheckWidenedType) { if (ts.isArrayBindingPattern(node.name)) { - checkIteratedTypeOrElementType(65 /* Destructuring */, widenedType, undefinedType, node); + checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, widenedType, undefinedType, node); } else if (strictNullChecks) { checkNonNullNonVoidType(widenedType, node); @@ -82236,7 +82532,7 @@ var ts; } // For a commonjs `const x = require`, validate the alias and exit var symbol = getSymbolOfNode(node); - if (symbol.flags & 2097152 /* Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node)) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node)) { checkAliasSymbol(node); return; } @@ -82250,7 +82546,7 @@ var ts; ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || ts.isPrototypeAccess(node.name)) && !!((_a = symbol.exports) === null || _a === void 0 ? void 0 : _a.size); - if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== 243 /* ForInStatement */) { + if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */) { checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(initializer), type, node, initializer, /*headMessage*/ undefined); } } @@ -82266,7 +82562,7 @@ var ts; var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node)); if (!isErrorType(type) && !isErrorType(declarationType) && !isTypeIdenticalTo(type, declarationType) && - !(symbol.flags & 67108864 /* Assignment */)) { + !(symbol.flags & 67108864 /* SymbolFlags.Assignment */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(symbol.valueDeclaration, type, node, declarationType); } if (node.initializer) { @@ -82276,10 +82572,10 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 167 /* PropertyDeclaration */ && node.kind !== 166 /* PropertySignature */) { + if (node.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && node.kind !== 166 /* SyntaxKind.PropertySignature */) { // We know we don't have a binding pattern or computed name here checkExportsOnMergedDeclarations(node); - if (node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */) { + if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionsForDeclarationName(node, node.name); @@ -82287,7 +82583,7 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstDeclaration, firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 167 /* PropertyDeclaration */ || nextDeclaration.kind === 166 /* PropertySignature */ + var message = nextDeclaration.kind === 167 /* SyntaxKind.PropertyDeclaration */ || nextDeclaration.kind === 166 /* SyntaxKind.PropertySignature */ ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; var declName = ts.declarationNameToString(nextDeclarationName); @@ -82297,24 +82593,24 @@ var ts; } } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 164 /* Parameter */ && right.kind === 254 /* VariableDeclaration */) || - (left.kind === 254 /* VariableDeclaration */ && right.kind === 164 /* Parameter */)) { + if ((left.kind === 164 /* SyntaxKind.Parameter */ && right.kind === 254 /* SyntaxKind.VariableDeclaration */) || + (left.kind === 254 /* SyntaxKind.VariableDeclaration */ && right.kind === 164 /* SyntaxKind.Parameter */)) { // Differences in optionality between parameters and variables are allowed. return true; } if (ts.hasQuestionToken(left) !== ts.hasQuestionToken(right)) { return false; } - var interestingFlags = 8 /* Private */ | - 16 /* Protected */ | - 256 /* Async */ | - 128 /* Abstract */ | - 64 /* Readonly */ | - 32 /* Static */; + var interestingFlags = 8 /* ModifierFlags.Private */ | + 16 /* ModifierFlags.Protected */ | + 256 /* ModifierFlags.Async */ | + 128 /* ModifierFlags.Abstract */ | + 64 /* ModifierFlags.Readonly */ | + 32 /* ModifierFlags.Static */; return ts.getSelectedEffectiveModifierFlags(left, interestingFlags) === ts.getSelectedEffectiveModifierFlags(right, interestingFlags); } function checkVariableDeclaration(node) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkVariableDeclaration", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* tracing.Phase.Check */, "checkVariableDeclaration", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); checkGrammarVariableDeclaration(node); checkVariableLikeDeclaration(node); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); @@ -82340,7 +82636,7 @@ var ts; checkTruthinessExpression(node.expression); checkTestingKnownTruthyCallableOrAwaitableType(node.expression, node.thenStatement); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 236 /* EmptyStatement */) { + if (node.thenStatement.kind === 236 /* SyntaxKind.EmptyStatement */) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); @@ -82349,13 +82645,13 @@ var ts; if (!strictNullChecks) return; helper(condExpr, body); - while (ts.isBinaryExpression(condExpr) && condExpr.operatorToken.kind === 56 /* BarBarToken */) { + while (ts.isBinaryExpression(condExpr) && condExpr.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */) { condExpr = condExpr.left; helper(condExpr, body); } function helper(condExpr, body) { var location = ts.isBinaryExpression(condExpr) && - (condExpr.operatorToken.kind === 56 /* BarBarToken */ || condExpr.operatorToken.kind === 55 /* AmpersandAmpersandToken */) + (condExpr.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || condExpr.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */) ? condExpr.right : condExpr; if (ts.isModuleExportsAccessExpression(location)) @@ -82369,7 +82665,7 @@ var ts; // the block as a heuristic to identify the most common bugs. There // are too many false positives for values sourced from type // definitions without strictNullChecks otherwise. - var callSignatures = getSignaturesOfType(type, 0 /* Call */); + var callSignatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); var isPromise = !!getAwaitedTypeOfPromise(type); if (callSignatures.length === 0 && !isPromise) { return; @@ -82409,7 +82705,7 @@ var ts; var childExpression = childNode.parent; while (testedExpression && childExpression) { if (ts.isIdentifier(testedExpression) && ts.isIdentifier(childExpression) || - testedExpression.kind === 108 /* ThisKeyword */ && childExpression.kind === 108 /* ThisKeyword */) { + testedExpression.kind === 108 /* SyntaxKind.ThisKeyword */ && childExpression.kind === 108 /* SyntaxKind.ThisKeyword */) { return getSymbolAtLocation(testedExpression) === getSymbolAtLocation(childExpression); } else if (ts.isPropertyAccessExpression(testedExpression) && ts.isPropertyAccessExpression(childExpression)) { @@ -82433,7 +82729,7 @@ var ts; }); } function isSymbolUsedInBinaryExpressionChain(node, testedSymbol) { - while (ts.isBinaryExpression(node) && node.operatorToken.kind === 55 /* AmpersandAmpersandToken */) { + while (ts.isBinaryExpression(node) && node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */) { var isUsed = ts.forEachChild(node.right, function visit(child) { if (ts.isIdentifier(child)) { var symbol = getSymbolAtLocation(child); @@ -82463,7 +82759,7 @@ var ts; checkSourceElement(node.statement); } function checkTruthinessOfType(type, node) { - if (type.flags & 16384 /* Void */) { + if (type.flags & 16384 /* TypeFlags.Void */) { error(node, ts.Diagnostics.An_expression_of_type_void_cannot_be_tested_for_truthiness); } return type; @@ -82474,12 +82770,12 @@ var ts; function checkForStatement(node) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 255 /* VariableDeclarationList */) { + if (node.initializer && node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 255 /* VariableDeclarationList */) { + if (node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -82504,29 +82800,29 @@ var ts; } else { var functionFlags = ts.getFunctionFlags(container); - if ((functionFlags & (4 /* Invalid */ | 2 /* Async */)) === 2 /* Async */ && languageVersion < 99 /* ESNext */) { + if ((functionFlags & (4 /* FunctionFlags.Invalid */ | 2 /* FunctionFlags.Async */)) === 2 /* FunctionFlags.Async */ && languageVersion < 99 /* ScriptTarget.ESNext */) { // for..await..of in an async function or async generator function prior to ESNext requires the __asyncValues helper - checkExternalEmitHelpers(node, 16384 /* ForAwaitOfIncludes */); + checkExternalEmitHelpers(node, 16384 /* ExternalEmitHelpers.ForAwaitOfIncludes */); } } } - else if (compilerOptions.downlevelIteration && languageVersion < 2 /* ES2015 */) { + else if (compilerOptions.downlevelIteration && languageVersion < 2 /* ScriptTarget.ES2015 */) { // for..of prior to ES2015 requires the __values helper when downlevelIteration is enabled - checkExternalEmitHelpers(node, 256 /* ForOfIncludes */); + checkExternalEmitHelpers(node, 256 /* ExternalEmitHelpers.ForOfIncludes */); } // Check the LHS and RHS // If the LHS is a declaration, just check it as a variable declaration, which will in turn check the RHS // via checkRightHandSideOfForOf. // If the LHS is an expression, check the LHS, as a destructuring assignment or as a reference. // Then check that the RHS is assignable to it. - if (node.initializer.kind === 255 /* VariableDeclarationList */) { + if (node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node); // There may be a destructuring assignment on the left side - if (varExpr.kind === 204 /* ArrayLiteralExpression */ || varExpr.kind === 205 /* ObjectLiteralExpression */) { + if (varExpr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ || varExpr.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { // iteratedType may be undefined. In this case, we still want to check the structure of // varExpr, in particular making sure it's a valid LeftHandSideExpression. But we'd like // to short circuit the type relation checking as much as possible, so we pass the unknownType. @@ -82558,7 +82854,7 @@ var ts; // for (let VarDecl in Expr) Statement // VarDecl must be a variable declaration without a type annotation that declares a variable of type Any, // and Expr must be an expression of type Any, an object type, or a type parameter type. - if (node.initializer.kind === 255 /* VariableDeclarationList */) { + if (node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -82572,7 +82868,7 @@ var ts; // and Expr must be an expression of type Any, an object type, or a type parameter type. var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 204 /* ArrayLiteralExpression */ || varExpr.kind === 205 /* ObjectLiteralExpression */) { + if (varExpr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ || varExpr.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -82585,7 +82881,7 @@ var ts; } // unknownType is returned i.e. if node.expression is identifier whose name cannot be resolved // in this case error about missing name is already reported - do not report extra one - if (rightType === neverType || !isTypeAssignableToKind(rightType, 67108864 /* NonPrimitive */ | 58982400 /* InstantiableNonPrimitive */)) { + if (rightType === neverType || !isTypeAssignableToKind(rightType, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0, typeToString(rightType)); } checkSourceElement(node.statement); @@ -82602,7 +82898,7 @@ var ts; } } function checkRightHandSideOfForOf(statement) { - var use = statement.awaitModifier ? 15 /* ForAwaitOf */ : 13 /* ForOf */; + var use = statement.awaitModifier ? 15 /* IterationUse.ForAwaitOf */ : 13 /* IterationUse.ForOf */; return checkIteratedTypeOrElementType(use, checkNonNullExpression(statement.expression), undefinedType, statement.expression); } function checkIteratedTypeOrElementType(use, inputType, sentType, errorNode) { @@ -82617,14 +82913,14 @@ var ts; * of a iterable (if defined globally) or element type of an array like for ES2015 or earlier. */ function getIteratedTypeOrElementType(use, inputType, sentType, errorNode, checkAssignability) { - var allowAsyncIterables = (use & 2 /* AllowsAsyncIterablesFlag */) !== 0; + var allowAsyncIterables = (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) !== 0; if (inputType === neverType) { reportTypeNotIterableError(errorNode, inputType, allowAsyncIterables); // TODO: GH#18217 return undefined; } - var uplevelIteration = languageVersion >= 2 /* ES2015 */; + var uplevelIteration = languageVersion >= 2 /* ScriptTarget.ES2015 */; var downlevelIteration = !uplevelIteration && compilerOptions.downlevelIteration; - var possibleOutOfBounds = compilerOptions.noUncheckedIndexedAccess && !!(use & 128 /* PossiblyOutOfBounds */); + var possibleOutOfBounds = compilerOptions.noUncheckedIndexedAccess && !!(use & 128 /* IterationUse.PossiblyOutOfBounds */); // Get the iterated type of an `Iterable` or `IterableIterator` only in ES2015 // or higher, when inside of an async generator or for-await-if, or when // downlevelIteration is requested. @@ -82633,10 +82929,10 @@ var ts; var iterationTypes = getIterationTypesOfIterable(inputType, use, uplevelIteration ? errorNode : undefined); if (checkAssignability) { if (iterationTypes) { - var diagnostic = use & 8 /* ForOfFlag */ ? ts.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0 : - use & 32 /* SpreadFlag */ ? ts.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0 : - use & 64 /* DestructuringFlag */ ? ts.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0 : - use & 16 /* YieldStarFlag */ ? ts.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0 : + var diagnostic = use & 8 /* IterationUse.ForOfFlag */ ? ts.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0 : + use & 32 /* IterationUse.SpreadFlag */ ? ts.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0 : + use & 64 /* IterationUse.DestructuringFlag */ ? ts.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0 : + use & 16 /* IterationUse.YieldStarFlag */ ? ts.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0 : undefined; if (diagnostic) { checkTypeAssignableTo(sentType, iterationTypes.nextType, errorNode, diagnostic); @@ -82653,22 +82949,22 @@ var ts; // If strings are permitted, remove any string-like constituents from the array type. // This allows us to find other non-string element types from an array unioned with // a string. - if (use & 4 /* AllowsStringInputFlag */) { - if (arrayType.flags & 1048576 /* Union */) { + if (use & 4 /* IterationUse.AllowsStringInputFlag */) { + if (arrayType.flags & 1048576 /* TypeFlags.Union */) { // After we remove all types that are StringLike, we will know if there was a string constituent // based on whether the result of filter is a new array. var arrayTypes = inputType.types; - var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 402653316 /* StringLike */); }); + var filteredTypes = ts.filter(arrayTypes, function (t) { return !(t.flags & 402653316 /* TypeFlags.StringLike */); }); if (filteredTypes !== arrayTypes) { - arrayType = getUnionType(filteredTypes, 2 /* Subtype */); + arrayType = getUnionType(filteredTypes, 2 /* UnionReduction.Subtype */); } } - else if (arrayType.flags & 402653316 /* StringLike */) { + else if (arrayType.flags & 402653316 /* TypeFlags.StringLike */) { arrayType = neverType; } hasStringConstituent = arrayType !== inputType; if (hasStringConstituent) { - if (languageVersion < 1 /* ES5 */) { + if (languageVersion < 1 /* ScriptTarget.ES5 */) { if (errorNode) { error(errorNode, ts.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher); reportedError = true; @@ -82676,7 +82972,7 @@ var ts; } // Now that we've removed all the StringLike types, if no constituents remain, then the entire // arrayOrStringType was a string. - if (arrayType.flags & 131072 /* Never */) { + if (arrayType.flags & 131072 /* TypeFlags.Never */) { return possibleOutOfBounds ? includeUndefinedInIndexSignature(stringType) : stringType; } } @@ -82688,7 +82984,7 @@ var ts; // want to say that number is not an array type. But if the input was just // number and string input is allowed, we want to say that number is not an // array type or a string type. - var allowsStrings = !!(use & 4 /* AllowsStringInputFlag */) && !hasStringConstituent; + var allowsStrings = !!(use & 4 /* IterationUse.AllowsStringInputFlag */) && !hasStringConstituent; var _a = getIterationDiagnosticDetails(allowsStrings, downlevelIteration), defaultDiagnostic = _a[0], maybeMissingAwait = _a[1]; errorAndMaybeSuggestAwait(errorNode, maybeMissingAwait && !!getAwaitedTypeOfPromise(arrayType), defaultDiagnostic, typeToString(arrayType)); } @@ -82697,12 +82993,12 @@ var ts; var arrayElementType = getIndexTypeOfType(arrayType, numberType); if (hasStringConstituent && arrayElementType) { // This is just an optimization for the case where arrayOrStringType is string | string[] - if (arrayElementType.flags & 402653316 /* StringLike */ && !compilerOptions.noUncheckedIndexedAccess) { + if (arrayElementType.flags & 402653316 /* TypeFlags.StringLike */ && !compilerOptions.noUncheckedIndexedAccess) { return stringType; } - return getUnionType(possibleOutOfBounds ? [arrayElementType, stringType, undefinedType] : [arrayElementType, stringType], 2 /* Subtype */); + return getUnionType(possibleOutOfBounds ? [arrayElementType, stringType, undefinedType] : [arrayElementType, stringType], 2 /* UnionReduction.Subtype */); } - return (use & 128 /* PossiblyOutOfBounds */) ? includeUndefinedInIndexSignature(arrayElementType) : arrayElementType; + return (use & 128 /* IterationUse.PossiblyOutOfBounds */) ? includeUndefinedInIndexSignature(arrayElementType) : arrayElementType; function getIterationDiagnosticDetails(allowsStrings, downlevelIteration) { var _a; if (downlevelIteration) { @@ -82710,9 +83006,9 @@ var ts; ? [ts.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, true] : [ts.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator, true]; } - var yieldType = getIterationTypeOfIterable(use, 0 /* Yield */, inputType, /*errorNode*/ undefined); + var yieldType = getIterationTypeOfIterable(use, 0 /* IterationTypeKind.Yield */, inputType, /*errorNode*/ undefined); if (yieldType) { - return [ts.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators, false]; + return [ts.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, false]; } if (isES2015OrLaterIterable((_a = inputType.symbol) === null || _a === void 0 ? void 0 : _a.escapedName)) { return [ts.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher, true]; @@ -82759,9 +83055,9 @@ var ts; // more frequently created (i.e. `Iterator`). Iteration types // are also cached on the type they are requested for, so we shouldn't need to maintain // the cache for less-frequently used types. - if (yieldType.flags & 67359327 /* Intrinsic */ && - returnType.flags & (1 /* Any */ | 131072 /* Never */ | 2 /* Unknown */ | 16384 /* Void */ | 32768 /* Undefined */) && - nextType.flags & (1 /* Any */ | 131072 /* Never */ | 2 /* Unknown */ | 16384 /* Void */ | 32768 /* Undefined */)) { + if (yieldType.flags & 67359327 /* TypeFlags.Intrinsic */ && + returnType.flags & (1 /* TypeFlags.Any */ | 131072 /* TypeFlags.Never */ | 2 /* TypeFlags.Unknown */ | 16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */) && + nextType.flags & (1 /* TypeFlags.Any */ | 131072 /* TypeFlags.Never */ | 2 /* TypeFlags.Unknown */ | 16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */)) { var id = getTypeListId([yieldType, returnType, nextType]); var iterationTypes = iterationTypesCache.get(id); if (!iterationTypes) { @@ -82831,17 +83127,17 @@ var ts; if (isTypeAny(type)) { return anyIterationTypes; } - if (!(type.flags & 1048576 /* Union */)) { + if (!(type.flags & 1048576 /* TypeFlags.Union */)) { var iterationTypes_1 = getIterationTypesOfIterableWorker(type, use, errorNode); if (iterationTypes_1 === noIterationTypes) { if (errorNode) { - reportTypeNotIterableError(errorNode, type, !!(use & 2 /* AllowsAsyncIterablesFlag */)); + reportTypeNotIterableError(errorNode, type, !!(use & 2 /* IterationUse.AllowsAsyncIterablesFlag */)); } return undefined; } return iterationTypes_1; } - var cacheKey = use & 2 /* AllowsAsyncIterablesFlag */ ? "iterationTypesOfAsyncIterable" : "iterationTypesOfIterable"; + var cacheKey = use & 2 /* IterationUse.AllowsAsyncIterablesFlag */ ? "iterationTypesOfAsyncIterable" : "iterationTypesOfIterable"; var cachedTypes = getCachedIterationTypes(type, cacheKey); if (cachedTypes) return cachedTypes === noIterationTypes ? undefined : cachedTypes; @@ -82851,7 +83147,7 @@ var ts; var iterationTypes_2 = getIterationTypesOfIterableWorker(constituent, use, errorNode); if (iterationTypes_2 === noIterationTypes) { if (errorNode) { - reportTypeNotIterableError(errorNode, type, !!(use & 2 /* AllowsAsyncIterablesFlag */)); + reportTypeNotIterableError(errorNode, type, !!(use & 2 /* IterationUse.AllowsAsyncIterablesFlag */)); } setCachedIterationTypes(type, cacheKey, noIterationTypes); return undefined; @@ -82890,20 +83186,20 @@ var ts; if (isTypeAny(type)) { return anyIterationTypes; } - if (use & 2 /* AllowsAsyncIterablesFlag */) { + if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { var iterationTypes = getIterationTypesOfIterableCached(type, asyncIterationTypesResolver) || getIterationTypesOfIterableFast(type, asyncIterationTypesResolver); if (iterationTypes) { - return use & 8 /* ForOfFlag */ ? + return use & 8 /* IterationUse.ForOfFlag */ ? getAsyncFromSyncIterationTypes(iterationTypes, errorNode) : iterationTypes; } } - if (use & 1 /* AllowsSyncIterablesFlag */) { + if (use & 1 /* IterationUse.AllowsSyncIterablesFlag */) { var iterationTypes = getIterationTypesOfIterableCached(type, syncIterationTypesResolver) || getIterationTypesOfIterableFast(type, syncIterationTypesResolver); if (iterationTypes) { - if (use & 2 /* AllowsAsyncIterablesFlag */) { + if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { // for a sync iterable in an async context, only use the cached types if they are valid. if (iterationTypes !== noIterationTypes) { return setCachedIterationTypes(type, "iterationTypesOfAsyncIterable", getAsyncFromSyncIterationTypes(iterationTypes, errorNode)); @@ -82914,16 +83210,16 @@ var ts; } } } - if (use & 2 /* AllowsAsyncIterablesFlag */) { + if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { var iterationTypes = getIterationTypesOfIterableSlow(type, asyncIterationTypesResolver, errorNode); if (iterationTypes !== noIterationTypes) { return iterationTypes; } } - if (use & 1 /* AllowsSyncIterablesFlag */) { + if (use & 1 /* IterationUse.AllowsSyncIterablesFlag */) { var iterationTypes = getIterationTypesOfIterableSlow(type, syncIterationTypesResolver, errorNode); if (iterationTypes !== noIterationTypes) { - if (use & 2 /* AllowsAsyncIterablesFlag */) { + if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { return setCachedIterationTypes(type, "iterationTypesOfAsyncIterable", iterationTypes ? getAsyncFromSyncIterationTypes(iterationTypes, errorNode) : noIterationTypes); @@ -82989,7 +83285,7 @@ var ts; function getPropertyNameForKnownSymbolName(symbolName) { var ctorType = getGlobalESSymbolConstructorSymbol(/*reportErrors*/ false); var uniqueType = ctorType && getTypeOfPropertyOfType(getTypeOfSymbol(ctorType), ts.escapeLeadingUnderscores(symbolName)); - return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@" + symbolName; + return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@".concat(symbolName); } /** * Gets the *yield*, *return*, and *next* types of an `Iterable`-like or `AsyncIterable`-like @@ -83004,11 +83300,11 @@ var ts; function getIterationTypesOfIterableSlow(type, resolver, errorNode) { var _a; var method = getPropertyOfType(type, getPropertyNameForKnownSymbolName(resolver.iteratorSymbolName)); - var methodType = method && !(method.flags & 16777216 /* Optional */) ? getTypeOfSymbol(method) : undefined; + var methodType = method && !(method.flags & 16777216 /* SymbolFlags.Optional */) ? getTypeOfSymbol(method) : undefined; if (isTypeAny(methodType)) { return setCachedIterationTypes(type, resolver.iterableCacheKey, anyIterationTypes); } - var signatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : undefined; + var signatures = methodType ? getSignaturesOfType(methodType, 0 /* SignatureKind.Call */) : undefined; if (!ts.some(signatures)) { return setCachedIterationTypes(type, resolver.iterableCacheKey, noIterationTypes); } @@ -83088,13 +83384,13 @@ var ts; // > If the end was not reached `done` is `false` and a value is available. // > If a `done` property (either own or inherited) does not exist, it is consider to have the value `false`. var doneType = getTypeOfPropertyOfType(type, "done") || falseType; - return isTypeAssignableTo(kind === 0 /* Yield */ ? falseType : trueType, doneType); + return isTypeAssignableTo(kind === 0 /* IterationTypeKind.Yield */ ? falseType : trueType, doneType); } function isYieldIteratorResult(type) { - return isIteratorResult(type, 0 /* Yield */); + return isIteratorResult(type, 0 /* IterationTypeKind.Yield */); } function isReturnIteratorResult(type) { - return isIteratorResult(type, 1 /* Return */); + return isIteratorResult(type, 1 /* IterationTypeKind.Return */); } /** * Gets the *yield* and *return* types of an `IteratorResult`-like type. @@ -83149,15 +83445,15 @@ var ts; if (!method && methodName !== "next") { return undefined; } - var methodType = method && !(methodName === "next" && (method.flags & 16777216 /* Optional */)) - ? methodName === "next" ? getTypeOfSymbol(method) : getTypeWithFacts(getTypeOfSymbol(method), 2097152 /* NEUndefinedOrNull */) + var methodType = method && !(methodName === "next" && (method.flags & 16777216 /* SymbolFlags.Optional */)) + ? methodName === "next" ? getTypeOfSymbol(method) : getTypeWithFacts(getTypeOfSymbol(method), 2097152 /* TypeFacts.NEUndefinedOrNull */) : undefined; if (isTypeAny(methodType)) { // `return()` and `throw()` don't provide a *next* type. return methodName === "next" ? anyIterationTypes : anyIterationTypesExceptNext; } // Both async and non-async iterators *must* have a `next` method. - var methodSignatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : ts.emptyArray; + var methodSignatures = methodType ? getSignaturesOfType(methodType, 0 /* SignatureKind.Call */) : ts.emptyArray; if (methodSignatures.length === 0) { if (errorNode) { var diagnostic = methodName === "next" @@ -83263,7 +83559,7 @@ var ts; if (isTypeAny(type)) { return anyIterationTypes; } - var use = isAsyncGenerator ? 2 /* AsyncGeneratorReturnType */ : 1 /* GeneratorReturnType */; + var use = isAsyncGenerator ? 2 /* IterationUse.AsyncGeneratorReturnType */ : 1 /* IterationUse.GeneratorReturnType */; var resolver = isAsyncGenerator ? asyncIterationTypesResolver : syncIterationTypesResolver; return getIterationTypesOfIterable(type, use, /*errorNode*/ undefined) || getIterationTypesOfIterator(type, resolver, /*errorNode*/ undefined); @@ -83275,15 +83571,15 @@ var ts; // TODO: Check that target label is valid } function unwrapReturnType(returnType, functionFlags) { - var isGenerator = !!(functionFlags & 1 /* Generator */); - var isAsync = !!(functionFlags & 2 /* Async */); - return isGenerator ? getIterationTypeOfGeneratorFunctionReturnType(1 /* Return */, returnType, isAsync) || errorType : + var isGenerator = !!(functionFlags & 1 /* FunctionFlags.Generator */); + var isAsync = !!(functionFlags & 2 /* FunctionFlags.Async */); + return isGenerator ? getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, returnType, isAsync) || errorType : isAsync ? getAwaitedTypeNoAlias(returnType) || errorType : returnType; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = unwrapReturnType(returnType, ts.getFunctionFlags(func)); - return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 16384 /* Void */ | 3 /* AnyOrUnknown */); + return !!unwrappedReturnType && maybeTypeOfKind(unwrappedReturnType, 16384 /* TypeFlags.Void */ | 3 /* TypeFlags.AnyOrUnknown */); } function checkReturnStatement(node) { var _a; @@ -83303,21 +83599,21 @@ var ts; var signature = getSignatureFromDeclaration(container); var returnType = getReturnTypeOfSignature(signature); var functionFlags = ts.getFunctionFlags(container); - if (strictNullChecks || node.expression || returnType.flags & 131072 /* Never */) { + if (strictNullChecks || node.expression || returnType.flags & 131072 /* TypeFlags.Never */) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; - if (container.kind === 173 /* SetAccessor */) { + if (container.kind === 173 /* SyntaxKind.SetAccessor */) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (container.kind === 171 /* Constructor */) { + else if (container.kind === 171 /* SyntaxKind.Constructor */) { if (node.expression && !checkTypeAssignableToAndOptionallyElaborate(exprType, returnType, node, node.expression)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } } else if (getReturnTypeFromAnnotation(container)) { var unwrappedReturnType = (_a = unwrapReturnType(returnType, functionFlags)) !== null && _a !== void 0 ? _a : returnType; - var unwrappedExprType = functionFlags & 2 /* Async */ + var unwrappedExprType = functionFlags & 2 /* FunctionFlags.Async */ ? checkAwaitedType(exprType, /*withAlias*/ false, node, ts.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member) : exprType; if (unwrappedReturnType) { @@ -83328,7 +83624,7 @@ var ts; } } } - else if (container.kind !== 171 /* Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(container, returnType)) { + else if (container.kind !== 171 /* SyntaxKind.Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(container, returnType)) { // The function has a return type, but the return statement doesn't have an expression. error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } @@ -83336,7 +83632,7 @@ var ts; function checkWithStatement(node) { // Grammar checking for withStatement if (!checkGrammarStatementInAmbientContext(node)) { - if (node.flags & 32768 /* AwaitContext */) { + if (node.flags & 32768 /* NodeFlags.AwaitContext */) { grammarErrorOnFirstToken(node, ts.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block); } } @@ -83357,7 +83653,7 @@ var ts; var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause - if (clause.kind === 290 /* DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 290 /* SyntaxKind.DefaultClause */ && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -83366,7 +83662,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (clause.kind === 289 /* CaseClause */) { + if (clause.kind === 289 /* SyntaxKind.CaseClause */) { addLazyDiagnostic(createLazyCaseClauseDiagnostics(clause)); } ts.forEach(clause.statements, checkSourceElement); @@ -83403,7 +83699,7 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 250 /* LabeledStatement */ && current.label.escapedText === node.label.escapedText) { + if (current.kind === 250 /* SyntaxKind.LabeledStatement */ && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } @@ -83435,8 +83731,8 @@ var ts; var declaration = catchClause.variableDeclaration; var typeNode = ts.getEffectiveTypeAnnotationNode(ts.getRootDeclaration(declaration)); if (typeNode) { - var type = getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ false, 0 /* Normal */); - if (type && !(type.flags & 3 /* AnyOrUnknown */)) { + var type = getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ false, 0 /* CheckMode.Normal */); + if (type && !(type.flags & 3 /* TypeFlags.AnyOrUnknown */)) { grammarErrorOnFirstToken(typeNode, ts.Diagnostics.Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified); } } @@ -83448,7 +83744,7 @@ var ts; if (blockLocals_1) { ts.forEachKey(catchClause.locals, function (caughtName) { var blockLocal = blockLocals_1.get(caughtName); - if ((blockLocal === null || blockLocal === void 0 ? void 0 : blockLocal.valueDeclaration) && (blockLocal.flags & 2 /* BlockScopedVariable */) !== 0) { + if ((blockLocal === null || blockLocal === void 0 ? void 0 : blockLocal.valueDeclaration) && (blockLocal.flags & 2 /* SymbolFlags.BlockScopedVariable */) !== 0) { grammarErrorOnNode(blockLocal.valueDeclaration, ts.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause, caughtName); } }); @@ -83468,8 +83764,8 @@ var ts; } for (var _i = 0, _a = getPropertiesOfObjectType(type); _i < _a.length; _i++) { var prop = _a[_i]; - if (!(isStaticIndex && prop.flags & 4194304 /* Prototype */)) { - checkIndexConstraintForProperty(type, prop, getLiteralTypeFromProperty(prop, 8576 /* StringOrNumberLiteralOrUnique */, /*includeNonPublic*/ true), getNonMissingTypeOfSymbol(prop)); + if (!(isStaticIndex && prop.flags & 4194304 /* SymbolFlags.Prototype */)) { + checkIndexConstraintForProperty(type, prop, getLiteralTypeFromProperty(prop, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, /*includeNonPublic*/ true), getNonMissingTypeOfSymbol(prop)); } } var typeDeclaration = symbol.valueDeclaration; @@ -83498,9 +83794,9 @@ var ts; return; } var indexInfos = getApplicableIndexInfos(type, propNameType); - var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* InterfaceDeclaration */) : undefined; - var localPropDeclaration = declaration && declaration.kind === 221 /* BinaryExpression */ || - name && name.kind === 162 /* ComputedPropertyName */ || getParentOfSymbol(prop) === type.symbol ? declaration : undefined; + var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* SyntaxKind.InterfaceDeclaration */) : undefined; + var localPropDeclaration = declaration && declaration.kind === 221 /* SyntaxKind.BinaryExpression */ || + name && name.kind === 162 /* SyntaxKind.ComputedPropertyName */ || getParentOfSymbol(prop) === type.symbol ? declaration : undefined; var _loop_28 = function (info) { var localIndexDeclaration = info.declaration && getParentOfSymbol(getSymbolOfNode(info.declaration)) === type.symbol ? info.declaration : undefined; // We check only when (a) the property is declared in the containing type, or (b) the applicable index signature is declared @@ -83520,7 +83816,7 @@ var ts; function checkIndexConstraintForIndexSignature(type, checkInfo) { var declaration = checkInfo.declaration; var indexInfos = getApplicableIndexInfos(type, checkInfo.keyType); - var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* InterfaceDeclaration */) : undefined; + var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* SyntaxKind.InterfaceDeclaration */) : undefined; var localCheckDeclaration = declaration && getParentOfSymbol(getSymbolOfNode(declaration)) === type.symbol ? declaration : undefined; var _loop_29 = function (info) { if (info === checkInfo) @@ -83561,7 +83857,7 @@ var ts; * The name cannot be used as 'Object' of user defined types with special target. */ function checkClassNameCollisionWithObject(name) { - if (languageVersion >= 1 /* ES5 */ && name.escapedText === "Object" + if (languageVersion >= 1 /* ScriptTarget.ES5 */ && name.escapedText === "Object" && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(name).impliedNodeFormat === ts.ModuleKind.CommonJS)) { error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 } @@ -83640,9 +83936,9 @@ var ts; function checkTypeParametersNotReferenced(root, typeParameters, index) { visit(root); function visit(node) { - if (node.kind === 178 /* TypeReference */) { + if (node.kind === 178 /* SyntaxKind.TypeReference */) { var type = getTypeFromTypeReference(node); - if (type.flags & 262144 /* TypeParameter */) { + if (type.flags & 262144 /* TypeFlags.TypeParameter */) { for (var i = index; i < typeParameters.length; i++) { if (type.symbol === getSymbolOfNode(typeParameters[i])) { error(node, ts.Diagnostics.Type_parameter_defaults_can_only_reference_previously_declared_type_parameters); @@ -83729,7 +84025,7 @@ var ts; if (ts.some(node.decorators) && ts.some(node.members, function (p) { return ts.hasStaticModifier(p) && ts.isPrivateIdentifierClassElementDeclaration(p); })) { grammarErrorOnNode(node.decorators[0], ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator); } - if (!node.name && !ts.hasSyntacticModifier(node, 512 /* Default */)) { + if (!node.name && !ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { grammarErrorOnFirstToken(node, ts.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name); } checkClassLikeDeclaration(node); @@ -83750,15 +84046,15 @@ var ts; checkFunctionOrConstructorSymbol(symbol); checkClassForDuplicateDeclarations(node); // Only check for reserved static identifiers on non-ambient context. - var nodeInAmbientContext = !!(node.flags & 16777216 /* Ambient */); + var nodeInAmbientContext = !!(node.flags & 16777216 /* NodeFlags.Ambient */); if (!nodeInAmbientContext) { checkClassForStaticPropertyNameConflicts(node); } var baseTypeNode = ts.getEffectiveBaseTypeNode(node); if (baseTypeNode) { ts.forEach(baseTypeNode.typeArguments, checkSourceElement); - if (languageVersion < 2 /* ES2015 */) { - checkExternalEmitHelpers(baseTypeNode.parent, 1 /* Extends */); + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { + checkExternalEmitHelpers(baseTypeNode.parent, 1 /* ExternalEmitHelpers.Extends */); } // check both @extends and extends if both are specified. var extendsNode = ts.getClassExtendsHeritageElement(node); @@ -83790,18 +84086,18 @@ var ts; // Report static side error only when instance type is assignable checkTypeAssignableTo(staticType, getTypeWithoutSignatures(staticBaseType), node.name || node, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); } - if (baseConstructorType.flags & 8650752 /* TypeVariable */) { + if (baseConstructorType.flags & 8650752 /* TypeFlags.TypeVariable */) { if (!isMixinConstructorType(staticType)) { error(node.name || node, ts.Diagnostics.A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any); } else { - var constructSignatures = getSignaturesOfType(baseConstructorType, 1 /* Construct */); - if (constructSignatures.some(function (signature) { return signature.flags & 4 /* Abstract */; }) && !ts.hasSyntacticModifier(node, 128 /* Abstract */)) { + var constructSignatures = getSignaturesOfType(baseConstructorType, 1 /* SignatureKind.Construct */); + if (constructSignatures.some(function (signature) { return signature.flags & 4 /* SignatureFlags.Abstract */; }) && !ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)) { error(node.name || node, ts.Diagnostics.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract); } } } - if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* Class */) && !(baseConstructorType.flags & 8650752 /* TypeVariable */)) { + if (!(staticBaseType.symbol && staticBaseType.symbol.flags & 32 /* SymbolFlags.Class */) && !(baseConstructorType.flags & 8650752 /* TypeFlags.TypeVariable */)) { // When the static base type is a "class-like" constructor function (but not actually a class), we verify // that all instantiated base constructor signatures return the same type. var constructors = getInstantiatedConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments, baseTypeNode); @@ -83836,7 +84132,7 @@ var ts; var t = getReducedType(getTypeFromTypeNode(typeRefNode)); if (!isErrorType(t)) { if (isValidBaseType(t)) { - var genericDiag = t.symbol && t.symbol.flags & 32 /* Class */ ? + var genericDiag = t.symbol && t.symbol.flags & 32 /* SymbolFlags.Class */ ? ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass : ts.Diagnostics.Class_0_incorrectly_implements_interface_1; var baseWithThis = getTypeWithThisArgument(t, type.thisType); @@ -83886,7 +84182,7 @@ var ts; && getSymbolAtLocation(member.name) || getSymbolAtLocation(member); if (!declaredProp) { - return 0 /* Ok */; + return 0 /* MemberOverrideStatus.Ok */; } return checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, ts.hasOverrideModifier(member), ts.hasAbstractModifier(member), ts.isStatic(member), memberIsParameterProperty, ts.symbolName(declaredProp), reportErrors ? member : undefined); } @@ -83900,7 +84196,7 @@ var ts; */ function checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, memberHasAbstractModifier, memberIsStatic, memberIsParameterProperty, memberName, errorNode) { var isJs = ts.isInJSFile(node); - var nodeInAmbientContext = !!(node.flags & 16777216 /* Ambient */); + var nodeInAmbientContext = !!(node.flags & 16777216 /* NodeFlags.Ambient */); if (baseWithThis && (memberHasOverrideModifier || compilerOptions.noImplicitOverride)) { var memberEscapedName = ts.escapeLeadingUnderscores(memberName); var thisType = memberIsStatic ? staticType : typeWithThis; @@ -83919,12 +84215,12 @@ var ts; ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0 : ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0, baseClassName); } - return 2 /* HasInvalidOverride */; + return 2 /* MemberOverrideStatus.HasInvalidOverride */; } else if (prop && (baseProp === null || baseProp === void 0 ? void 0 : baseProp.declarations) && compilerOptions.noImplicitOverride && !nodeInAmbientContext) { var baseHasAbstract = ts.some(baseProp.declarations, ts.hasAbstractModifier); if (memberHasOverrideModifier) { - return 0 /* Ok */; + return 0 /* MemberOverrideStatus.Ok */; } if (!baseHasAbstract) { if (errorNode) { @@ -83937,13 +84233,13 @@ var ts; ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0; error(errorNode, diag, baseClassName); } - return 1 /* NeedsOverride */; + return 1 /* MemberOverrideStatus.NeedsOverride */; } else if (memberHasAbstractModifier && baseHasAbstract) { if (errorNode) { error(errorNode, ts.Diagnostics.This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0, baseClassName); } - return 1 /* NeedsOverride */; + return 1 /* MemberOverrideStatus.NeedsOverride */; } } } @@ -83954,9 +84250,9 @@ var ts; ts.Diagnostics.This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class : ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class, className); } - return 2 /* HasInvalidOverride */; + return 2 /* MemberOverrideStatus.HasInvalidOverride */; } - return 0 /* Ok */; + return 0 /* MemberOverrideStatus.Ok */; } function issueMemberSpecificError(node, typeWithThis, baseWithThis, broadDiag) { // iterate over all implemented properties and issue errors on each one which isn't compatible, rather than the class as a whole, if possible @@ -83988,10 +84284,10 @@ var ts; } } function checkBaseTypeAccessibility(type, node) { - var signatures = getSignaturesOfType(type, 1 /* Construct */); + var signatures = getSignaturesOfType(type, 1 /* SignatureKind.Construct */); if (signatures.length) { var declaration = signatures[0].declaration; - if (declaration && ts.hasEffectiveModifier(declaration, 8 /* Private */)) { + if (declaration && ts.hasEffectiveModifier(declaration, 8 /* ModifierFlags.Private */)) { var typeClassDeclaration = ts.getClassLikeDeclarationOfSymbol(type.symbol); if (!isNodeWithinClass(node, typeClassDeclaration)) { error(node, ts.Diagnostics.Cannot_extend_a_class_0_Class_constructor_is_marked_as_private, getFullyQualifiedName(type.symbol)); @@ -84007,7 +84303,7 @@ var ts; */ function getMemberOverrideModifierStatus(node, member) { if (!member.name) { - return 0 /* Ok */; + return 0 /* MemberOverrideStatus.Ok */; } var symbol = getSymbolOfNode(node); var type = getDeclaredTypeOfSymbol(symbol); @@ -84019,7 +84315,7 @@ var ts; var baseStaticType = getBaseConstructorTypeOfClass(type); var memberHasOverrideModifier = member.parent ? ts.hasOverrideModifier(member) - : ts.hasSyntacticModifier(member, 16384 /* Override */); + : ts.hasSyntacticModifier(member, 16384 /* ModifierFlags.Override */); var memberName = ts.unescapeLeadingUnderscores(ts.getTextOfPropertyName(member.name)); return checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, ts.hasAbstractModifier(member), ts.isStatic(member), /* memberIsParameterProperty */ false, memberName); @@ -84027,11 +84323,11 @@ var ts; function getTargetSymbol(s) { // if symbol is instantiated its flags are not copied from the 'target' // so we'll need to get back original 'target' symbol to work with correct set of flags - return ts.getCheckFlags(s) & 1 /* Instantiated */ ? s.target : s; + return ts.getCheckFlags(s) & 1 /* CheckFlags.Instantiated */ ? s.target : s; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 257 /* ClassDeclaration */ || d.kind === 258 /* InterfaceDeclaration */; + return d.kind === 257 /* SyntaxKind.ClassDeclaration */ || d.kind === 258 /* SyntaxKind.InterfaceDeclaration */; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -84054,7 +84350,7 @@ var ts; basePropertyCheck: for (var _i = 0, baseProperties_1 = baseProperties; _i < baseProperties_1.length; _i++) { var baseProperty = baseProperties_1[_i]; var base = getTargetSymbol(baseProperty); - if (base.flags & 4194304 /* Prototype */) { + if (base.flags & 4194304 /* SymbolFlags.Prototype */) { continue; } var baseSymbol = getPropertyOfObjectType(type, base.escapedName); @@ -84073,7 +84369,7 @@ var ts; // It is an error to inherit an abstract member without implementing it or being declared abstract. // If there is no declaration for the derived class (as in the case of class expressions), // then the class cannot be declared abstract. - if (baseDeclarationFlags & 128 /* Abstract */ && (!derivedClassDecl || !ts.hasSyntacticModifier(derivedClassDecl, 128 /* Abstract */))) { + if (baseDeclarationFlags & 128 /* ModifierFlags.Abstract */ && (!derivedClassDecl || !ts.hasSyntacticModifier(derivedClassDecl, 128 /* ModifierFlags.Abstract */))) { // Searches other base types for a declaration that would satisfy the inherited abstract member. // (The class may have more than one base type via declaration merging with an interface with the // same name.) @@ -84087,7 +84383,7 @@ var ts; continue basePropertyCheck; } } - if (derivedClassDecl.kind === 226 /* ClassExpression */) { + if (derivedClassDecl.kind === 226 /* SyntaxKind.ClassExpression */) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -84098,24 +84394,24 @@ var ts; else { // derived overrides base. var derivedDeclarationFlags = ts.getDeclarationModifierFlagsFromSymbol(derived); - if (baseDeclarationFlags & 8 /* Private */ || derivedDeclarationFlags & 8 /* Private */) { + if (baseDeclarationFlags & 8 /* ModifierFlags.Private */ || derivedDeclarationFlags & 8 /* ModifierFlags.Private */) { // either base or derived property is private - not override, skip it continue; } var errorMessage = void 0; - var basePropertyFlags = base.flags & 98308 /* PropertyOrAccessor */; - var derivedPropertyFlags = derived.flags & 98308 /* PropertyOrAccessor */; + var basePropertyFlags = base.flags & 98308 /* SymbolFlags.PropertyOrAccessor */; + var derivedPropertyFlags = derived.flags & 98308 /* SymbolFlags.PropertyOrAccessor */; if (basePropertyFlags && derivedPropertyFlags) { // property/accessor is overridden with property/accessor - if (baseDeclarationFlags & 128 /* Abstract */ && !(base.valueDeclaration && ts.isPropertyDeclaration(base.valueDeclaration) && base.valueDeclaration.initializer) - || base.valueDeclaration && base.valueDeclaration.parent.kind === 258 /* InterfaceDeclaration */ + if (baseDeclarationFlags & 128 /* ModifierFlags.Abstract */ && !(base.valueDeclaration && ts.isPropertyDeclaration(base.valueDeclaration) && base.valueDeclaration.initializer) + || base.valueDeclaration && base.valueDeclaration.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || derived.valueDeclaration && ts.isBinaryExpression(derived.valueDeclaration)) { // when the base property is abstract or from an interface, base/derived flags don't need to match // same when the derived property is from an assignment continue; } - var overriddenInstanceProperty = basePropertyFlags !== 4 /* Property */ && derivedPropertyFlags === 4 /* Property */; - var overriddenInstanceAccessor = basePropertyFlags === 4 /* Property */ && derivedPropertyFlags !== 4 /* Property */; + var overriddenInstanceProperty = basePropertyFlags !== 4 /* SymbolFlags.Property */ && derivedPropertyFlags === 4 /* SymbolFlags.Property */; + var overriddenInstanceAccessor = basePropertyFlags === 4 /* SymbolFlags.Property */ && derivedPropertyFlags !== 4 /* SymbolFlags.Property */; if (overriddenInstanceProperty || overriddenInstanceAccessor) { var errorMessage_1 = overriddenInstanceProperty ? ts.Diagnostics._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property : @@ -84123,12 +84419,12 @@ var ts; error(ts.getNameOfDeclaration(derived.valueDeclaration) || derived.valueDeclaration, errorMessage_1, symbolToString(base), typeToString(baseType), typeToString(type)); } else if (useDefineForClassFields) { - var uninitialized = (_a = derived.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 167 /* PropertyDeclaration */ && !d.initializer; }); + var uninitialized = (_a = derived.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !d.initializer; }); if (uninitialized - && !(derived.flags & 33554432 /* Transient */) - && !(baseDeclarationFlags & 128 /* Abstract */) - && !(derivedDeclarationFlags & 128 /* Abstract */) - && !((_b = derived.declarations) === null || _b === void 0 ? void 0 : _b.some(function (d) { return !!(d.flags & 16777216 /* Ambient */); }))) { + && !(derived.flags & 33554432 /* SymbolFlags.Transient */) + && !(baseDeclarationFlags & 128 /* ModifierFlags.Abstract */) + && !(derivedDeclarationFlags & 128 /* ModifierFlags.Abstract */) + && !((_b = derived.declarations) === null || _b === void 0 ? void 0 : _b.some(function (d) { return !!(d.flags & 16777216 /* NodeFlags.Ambient */); }))) { var constructor = findConstructorDeclaration(ts.getClassLikeDeclarationOfSymbol(type.symbol)); var propName = uninitialized.name; if (uninitialized.exclamationToken @@ -84145,16 +84441,16 @@ var ts; continue; } else if (isPrototypeProperty(base)) { - if (isPrototypeProperty(derived) || derived.flags & 4 /* Property */) { + if (isPrototypeProperty(derived) || derived.flags & 4 /* SymbolFlags.Property */) { // method is overridden with method or property -- correct case continue; } else { - ts.Debug.assert(!!(derived.flags & 98304 /* Accessor */)); + ts.Debug.assert(!!(derived.flags & 98304 /* SymbolFlags.Accessor */)); errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor; } } - else if (base.flags & 98304 /* Accessor */) { + else if (base.flags & 98304 /* SymbolFlags.Accessor */) { errorMessage = ts.Diagnostics.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function; } else { @@ -84220,20 +84516,20 @@ var ts; return ok; } function checkPropertyInitialization(node) { - if (!strictNullChecks || !strictPropertyInitialization || node.flags & 16777216 /* Ambient */) { + if (!strictNullChecks || !strictPropertyInitialization || node.flags & 16777216 /* NodeFlags.Ambient */) { return; } var constructor = findConstructorDeclaration(node); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (ts.getEffectiveModifierFlags(member) & 2 /* Ambient */) { + if (ts.getEffectiveModifierFlags(member) & 2 /* ModifierFlags.Ambient */) { continue; } if (!ts.isStatic(member) && isPropertyWithoutInitializer(member)) { var propName = member.name; if (ts.isIdentifier(propName) || ts.isPrivateIdentifier(propName) || ts.isComputedPropertyName(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 3 /* AnyOrUnknown */ || getFalsyFlags(type) & 32768 /* Undefined */)) { + if (!(type.flags & 3 /* TypeFlags.AnyOrUnknown */ || getFalsyFlags(type) & 32768 /* TypeFlags.Undefined */)) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -84243,7 +84539,7 @@ var ts; } } function isPropertyWithoutInitializer(node) { - return node.kind === 167 /* PropertyDeclaration */ && + return node.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.hasAbstractModifier(node) && !node.exclamationToken && !node.initializer; @@ -84258,7 +84554,7 @@ var ts; ts.setParent(reference, staticBlock); reference.flowNode = staticBlock.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - if (!(getFalsyFlags(flowType) & 32768 /* Undefined */)) { + if (!(getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */)) { return true; } } @@ -84273,7 +84569,7 @@ var ts; ts.setParent(reference, constructor); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 32768 /* Undefined */); + return !(getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */); } function checkInterfaceDeclaration(node) { // Grammar checking @@ -84286,7 +84582,7 @@ var ts; var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); // Only check this symbol once - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 258 /* InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 258 /* SyntaxKind.InterfaceDeclaration */); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -84319,7 +84615,7 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_alias_name_cannot_be_0); checkExportsOnMergedDeclarations(node); checkTypeParameters(node.typeParameters); - if (node.type.kind === 138 /* IntrinsicKeyword */) { + if (node.type.kind === 138 /* SyntaxKind.IntrinsicKeyword */) { if (!intrinsicTypeKinds.has(node.name.escapedText) || ts.length(node.typeParameters) !== 1) { error(node.type, ts.Diagnostics.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types); } @@ -84331,8 +84627,8 @@ var ts; } function computeEnumMemberValues(node) { var nodeLinks = getNodeLinks(node); - if (!(nodeLinks.flags & 16384 /* EnumValuesComputed */)) { - nodeLinks.flags |= 16384 /* EnumValuesComputed */; + if (!(nodeLinks.flags & 16384 /* NodeCheckFlags.EnumValuesComputed */)) { + nodeLinks.flags |= 16384 /* NodeCheckFlags.EnumValuesComputed */; var autoValue = 0; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; @@ -84357,7 +84653,7 @@ var ts; } // In ambient non-const numeric enum declarations, enum members without initializers are // considered computed members (as opposed to having auto-incremented values). - if (member.parent.flags & 16777216 /* Ambient */ && !ts.isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* Numeric */) { + if (member.parent.flags & 16777216 /* NodeFlags.Ambient */ && !ts.isEnumConst(member.parent) && getEnumKind(getSymbolOfNode(member.parent)) === 0 /* EnumKind.Numeric */) { return undefined; } // If the member declaration specifies no value, the member is considered a constant enum member. @@ -84374,7 +84670,7 @@ var ts; var enumKind = getEnumKind(getSymbolOfNode(member.parent)); var isConstEnum = ts.isEnumConst(member.parent); var initializer = member.initializer; - var value = enumKind === 1 /* Literal */ && !isLiteralEnumMember(member) ? undefined : evaluate(initializer); + var value = enumKind === 1 /* EnumKind.Literal */ && !isLiteralEnumMember(member) ? undefined : evaluate(initializer); if (value !== undefined) { if (isConstEnum && typeof value === "number" && !isFinite(value)) { error(initializer, isNaN(value) ? @@ -84382,20 +84678,20 @@ var ts; ts.Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value); } } - else if (enumKind === 1 /* Literal */) { + else if (enumKind === 1 /* EnumKind.Literal */) { error(initializer, ts.Diagnostics.Computed_values_are_not_permitted_in_an_enum_with_string_valued_members); return 0; } else if (isConstEnum) { error(initializer, ts.Diagnostics.const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values); } - else if (member.parent.flags & 16777216 /* Ambient */) { + else if (member.parent.flags & 16777216 /* NodeFlags.Ambient */) { error(initializer, ts.Diagnostics.In_ambient_enum_declarations_member_initializer_must_be_constant_expression); } else { // Only here do we need to check that the initializer is assignable to the enum type. var source = checkExpression(initializer); - if (!isTypeAssignableToKind(source, 296 /* NumberLike */)) { + if (!isTypeAssignableToKind(source, 296 /* TypeFlags.NumberLike */)) { error(initializer, ts.Diagnostics.Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead, typeToString(source)); } else { @@ -84405,60 +84701,60 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { - case 39 /* PlusToken */: return value_2; - case 40 /* MinusToken */: return -value_2; - case 54 /* TildeToken */: return ~value_2; + case 39 /* SyntaxKind.PlusToken */: return value_2; + case 40 /* SyntaxKind.MinusToken */: return -value_2; + case 54 /* SyntaxKind.TildeToken */: return ~value_2; } } break; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { switch (expr.operatorToken.kind) { - case 51 /* BarToken */: return left | right; - case 50 /* AmpersandToken */: return left & right; - case 48 /* GreaterThanGreaterThanToken */: return left >> right; - case 49 /* GreaterThanGreaterThanGreaterThanToken */: return left >>> right; - case 47 /* LessThanLessThanToken */: return left << right; - case 52 /* CaretToken */: return left ^ right; - case 41 /* AsteriskToken */: return left * right; - case 43 /* SlashToken */: return left / right; - case 39 /* PlusToken */: return left + right; - case 40 /* MinusToken */: return left - right; - case 44 /* PercentToken */: return left % right; - case 42 /* AsteriskAsteriskToken */: return Math.pow(left, right); - } - } - else if (typeof left === "string" && typeof right === "string" && expr.operatorToken.kind === 39 /* PlusToken */) { + case 51 /* SyntaxKind.BarToken */: return left | right; + case 50 /* SyntaxKind.AmpersandToken */: return left & right; + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: return left >> right; + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: return left >>> right; + case 47 /* SyntaxKind.LessThanLessThanToken */: return left << right; + case 52 /* SyntaxKind.CaretToken */: return left ^ right; + case 41 /* SyntaxKind.AsteriskToken */: return left * right; + case 43 /* SyntaxKind.SlashToken */: return left / right; + case 39 /* SyntaxKind.PlusToken */: return left + right; + case 40 /* SyntaxKind.MinusToken */: return left - right; + case 44 /* SyntaxKind.PercentToken */: return left % right; + case 42 /* SyntaxKind.AsteriskAsteriskToken */: return Math.pow(left, right); + } + } + else if (typeof left === "string" && typeof right === "string" && expr.operatorToken.kind === 39 /* SyntaxKind.PlusToken */) { return left + right; } break; - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return expr.text; - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: checkGrammarNumericLiteral(expr); return +expr.text; - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return evaluate(expr.expression); - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: var identifier = expr; if (ts.isInfinityOrNaNString(identifier.escapedText)) { return +(identifier.escapedText); } return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 207 /* ElementAccessExpression */: - case 206 /* PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: if (isConstantMemberAccess(expr)) { var type = getTypeOfExpression(expr.expression); - if (type.symbol && type.symbol.flags & 384 /* Enum */) { + if (type.symbol && type.symbol.flags & 384 /* SymbolFlags.Enum */) { var name = void 0; - if (expr.kind === 206 /* PropertyAccessExpression */) { + if (expr.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { name = expr.name.escapedText; } else { @@ -84494,9 +84790,9 @@ var ts; if (type === errorType) { return false; } - return node.kind === 79 /* Identifier */ || - node.kind === 206 /* PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || - node.kind === 207 /* ElementAccessExpression */ && isConstantMemberAccess(node.expression) && + return node.kind === 79 /* SyntaxKind.Identifier */ || + node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || + node.kind === 207 /* SyntaxKind.ElementAccessExpression */ && isConstantMemberAccess(node.expression) && ts.isStringLiteralLike(node.argumentExpression); } function checkEnumDeclaration(node) { @@ -84530,7 +84826,7 @@ var ts; var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { // return true if we hit a violation of the rule, false otherwise - if (declaration.kind !== 260 /* EnumDeclaration */) { + if (declaration.kind !== 260 /* SyntaxKind.EnumDeclaration */) { return false; } var enumDeclaration = declaration; @@ -84559,9 +84855,9 @@ var ts; if (declarations) { for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { var declaration = declarations_9[_i]; - if ((declaration.kind === 257 /* ClassDeclaration */ || - (declaration.kind === 256 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && - !(declaration.flags & 16777216 /* Ambient */)) { + if ((declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ || + (declaration.kind === 256 /* SyntaxKind.FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && + !(declaration.flags & 16777216 /* NodeFlags.Ambient */)) { return declaration; } } @@ -84592,7 +84888,7 @@ var ts; function checkModuleDeclarationDiagnostics() { // Grammar checking var isGlobalAugmentation = ts.isGlobalScopeAugmentation(node); - var inAmbientContext = node.flags & 16777216 /* Ambient */; + var inAmbientContext = node.flags & 16777216 /* NodeFlags.Ambient */; if (isGlobalAugmentation && !inAmbientContext) { error(node.name, ts.Diagnostics.Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context); } @@ -84605,7 +84901,7 @@ var ts; return; } if (!checkGrammarDecoratorsAndModifiers(node)) { - if (!inAmbientContext && node.name.kind === 10 /* StringLiteral */) { + if (!inAmbientContext && node.name.kind === 10 /* SyntaxKind.StringLiteral */) { grammarErrorOnNode(node.name, ts.Diagnostics.Only_ambient_modules_can_use_quoted_names); } } @@ -84615,7 +84911,7 @@ var ts; checkExportsOnMergedDeclarations(node); var symbol = getSymbolOfNode(node); // The following checks only apply on a non-ambient instantiated module declaration. - if (symbol.flags & 512 /* ValueModule */ + if (symbol.flags & 512 /* SymbolFlags.ValueModule */ && !inAmbientContext && symbol.declarations && symbol.declarations.length > 1 @@ -84631,10 +84927,10 @@ var ts; } // if the module merges with a class declaration in the same lexical scope, // we need to track this to ensure the correct emit. - var mergedClass = ts.getDeclarationOfKind(symbol, 257 /* ClassDeclaration */); + var mergedClass = ts.getDeclarationOfKind(symbol, 257 /* SyntaxKind.ClassDeclaration */); if (mergedClass && inSameLexicalScope(node, mergedClass)) { - getNodeLinks(node).flags |= 32768 /* LexicalModuleMergesWithClass */; + getNodeLinks(node).flags |= 32768 /* NodeCheckFlags.LexicalModuleMergesWithClass */; } } if (isAmbientExternalModule) { @@ -84644,7 +84940,7 @@ var ts; // We can detect if augmentation was applied using following rules: // - augmentation for a global scope is always applied // - augmentation for some external module is applied if symbol for augmentation is merged (it was combined with target module). - var checkBody = isGlobalAugmentation || (getSymbolOfNode(node).flags & 33554432 /* Transient */); + var checkBody = isGlobalAugmentation || (getSymbolOfNode(node).flags & 33554432 /* SymbolFlags.Transient */); if (checkBody && node.body) { for (var _i = 0, _a = node.body.statements; _i < _a.length; _i++) { var statement = _a[_i]; @@ -84676,23 +84972,23 @@ var ts; function checkModuleAugmentationElement(node, isGlobalAugmentation) { var _a; switch (node.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: // error each individual name in variable statement instead of marking the entire variable statement for (var _i = 0, _b = node.declarationList.declarations; _i < _b.length; _i++) { var decl = _b[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 271 /* ExportAssignment */: - case 272 /* ExportDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: + case 272 /* SyntaxKind.ExportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 265 /* ImportEqualsDeclaration */: - case 266 /* ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 203 /* BindingElement */: - case 254 /* VariableDeclaration */: + case 203 /* SyntaxKind.BindingElement */: + case 254 /* SyntaxKind.VariableDeclaration */: var name = node.name; if (ts.isBindingPattern(name)) { for (var _c = 0, _d = name.elements; _c < _d.length; _c++) { @@ -84703,12 +84999,12 @@ var ts; break; } // falls through - case 257 /* ClassDeclaration */: - case 260 /* EnumDeclaration */: - case 256 /* FunctionDeclaration */: - case 258 /* InterfaceDeclaration */: - case 261 /* ModuleDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: if (isGlobalAugmentation) { return; } @@ -84718,7 +85014,7 @@ var ts; // this is done it two steps // 1. quick check - if symbol for node is not merged - this is local symbol to this augmentation - report error // 2. main check - report error if value declaration of the parent symbol is module augmentation) - var reportError = !(symbol.flags & 33554432 /* Transient */); + var reportError = !(symbol.flags & 33554432 /* SymbolFlags.Transient */); if (!reportError) { // symbol should not originate in augmentation reportError = !!((_a = symbol.parent) === null || _a === void 0 ? void 0 : _a.declarations) && ts.isExternalModuleAugmentation(symbol.parent.declarations[0]); @@ -84729,20 +85025,20 @@ var ts; } function getFirstNonModuleExportsIdentifier(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return node; - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: do { node = node.left; - } while (node.kind !== 79 /* Identifier */); + } while (node.kind !== 79 /* SyntaxKind.Identifier */); return node; - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: do { if (ts.isModuleExportsAccessExpression(node.expression) && !ts.isPrivateIdentifier(node.name)) { return node.name; } node = node.expression; - } while (node.kind !== 79 /* Identifier */); + } while (node.kind !== 79 /* SyntaxKind.Identifier */); return node; } } @@ -84756,9 +85052,9 @@ var ts; error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 262 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 305 /* SourceFile */ && !inAmbientExternalModule) { - error(moduleName, node.kind === 272 /* ExportDeclaration */ ? + var inAmbientExternalModule = node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 305 /* SyntaxKind.SourceFile */ && !inAmbientExternalModule) { + error(moduleName, node.kind === 272 /* SyntaxKind.ExportDeclaration */ ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -84799,39 +85095,39 @@ var ts; // otherwise it will conflict with some local declaration). Note that in addition to normal flags we include matching SymbolFlags.Export* // in order to prevent collisions with declarations that were exported from the current module (they still contribute to local names). symbol = getMergedSymbol(symbol.exportSymbol || symbol); - var excludedMeanings = (symbol.flags & (111551 /* Value */ | 1048576 /* ExportValue */) ? 111551 /* Value */ : 0) | - (symbol.flags & 788968 /* Type */ ? 788968 /* Type */ : 0) | - (symbol.flags & 1920 /* Namespace */ ? 1920 /* Namespace */ : 0); + var excludedMeanings = (symbol.flags & (111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */) ? 111551 /* SymbolFlags.Value */ : 0) | + (symbol.flags & 788968 /* SymbolFlags.Type */ ? 788968 /* SymbolFlags.Type */ : 0) | + (symbol.flags & 1920 /* SymbolFlags.Namespace */ ? 1920 /* SymbolFlags.Namespace */ : 0); if (target.flags & excludedMeanings) { - var message = node.kind === 275 /* ExportSpecifier */ ? + var message = node.kind === 275 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); } if (compilerOptions.isolatedModules && !ts.isTypeOnlyImportOrExportDeclaration(node) - && !(node.flags & 16777216 /* Ambient */)) { + && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { var typeOnlyAlias = getTypeOnlyAliasDeclaration(symbol); - var isType = !(target.flags & 111551 /* Value */); + var isType = !(target.flags & 111551 /* SymbolFlags.Value */); if (isType || typeOnlyAlias) { switch (node.kind) { - case 267 /* ImportClause */: - case 270 /* ImportSpecifier */: - case 265 /* ImportEqualsDeclaration */: { + case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: { if (compilerOptions.preserveValueImports) { ts.Debug.assertIsDefined(node.name, "An ImportClause with a symbol should have a name"); var message = isType ? ts.Diagnostics._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled : ts.Diagnostics._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled; - var name = ts.idText(node.kind === 270 /* ImportSpecifier */ ? node.propertyName || node.name : node.name); + var name = ts.idText(node.kind === 270 /* SyntaxKind.ImportSpecifier */ ? node.propertyName || node.name : node.name); addTypeOnlyDeclarationRelatedInfo(error(node, message, name), isType ? undefined : typeOnlyAlias, name); } - if (isType && node.kind === 265 /* ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* Export */)) { + if (isType && node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* ModifierFlags.Export */)) { error(node, ts.Diagnostics.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided); } break; } - case 275 /* ExportSpecifier */: { + case 275 /* SyntaxKind.ExportSpecifier */: { // Don't allow re-exporting an export that will be elided when `--isolatedModules` is set. // The exception is that `import type { A } from './a'; export { A }` is allowed // because single-file analysis can determine that the export should be dropped. @@ -84856,15 +85152,15 @@ var ts; } } function isDeprecatedAliasedSymbol(symbol) { - return !!symbol.declarations && ts.every(symbol.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 268435456 /* Deprecated */); }); + return !!symbol.declarations && ts.every(symbol.declarations, function (d) { return !!(ts.getCombinedNodeFlags(d) & 268435456 /* NodeFlags.Deprecated */); }); } function checkDeprecatedAliasedSymbol(symbol, location) { - if (!(symbol.flags & 2097152 /* Alias */)) + if (!(symbol.flags & 2097152 /* SymbolFlags.Alias */)) return symbol; var targetSymbol = resolveAlias(symbol); if (targetSymbol === unknownSymbol) return targetSymbol; - while (symbol.flags & 2097152 /* Alias */) { + while (symbol.flags & 2097152 /* SymbolFlags.Alias */) { var target = getImmediateAliasedSymbol(symbol); if (target) { if (target === targetSymbol) @@ -84890,11 +85186,11 @@ var ts; function checkImportBinding(node) { checkCollisionsForDeclarationName(node, node.name); checkAliasSymbol(node); - if (node.kind === 270 /* ImportSpecifier */ && + if (node.kind === 270 /* SyntaxKind.ImportSpecifier */ && ts.idText(node.propertyName || node.name) === "default" && ts.getESModuleInterop(compilerOptions) && moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) { - checkExternalEmitHelpers(node, 131072 /* ImportDefault */); + checkExternalEmitHelpers(node, 131072 /* ExternalEmitHelpers.ImportDefault */); } } function checkAssertClause(declaration) { @@ -84903,8 +85199,11 @@ var ts; var validForTypeAssertions = ts.isExclusivelyTypeOnlyImportOrExport(declaration); var override = ts.getResolutionModeOverrideForClause(declaration.assertClause, validForTypeAssertions ? grammarErrorOnNode : undefined); if (validForTypeAssertions && override) { - if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { - return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext); + if (!ts.isNightly()) { + grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next); + } + if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { + return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext); } return; // Other grammar checks do not apply to type-only imports with resolution mode assertions } @@ -84937,11 +85236,11 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 268 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { checkImportBinding(importClause.namedBindings); if (moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && ts.getESModuleInterop(compilerOptions)) { // import * as ns from "foo"; - checkExternalEmitHelpers(node, 65536 /* ImportStar */); + checkExternalEmitHelpers(node, 65536 /* ExternalEmitHelpers.ImportStar */); } } else { @@ -84963,20 +85262,20 @@ var ts; checkGrammarDecoratorsAndModifiers(node); if (ts.isInternalModuleImportEqualsDeclaration(node) || checkExternalImportOrExportDeclaration(node)) { checkImportBinding(node); - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 277 /* ExternalModuleReference */) { + if (node.moduleReference.kind !== 277 /* SyntaxKind.ExternalModuleReference */) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { - if (target.flags & 111551 /* Value */) { + if (target.flags & 111551 /* SymbolFlags.Value */) { // Target is a value symbol, check that it is not hidden by a local declaration with the same name var moduleName = ts.getFirstIdentifier(node.moduleReference); - if (!(resolveEntityName(moduleName, 111551 /* Value */ | 1920 /* Namespace */).flags & 1920 /* Namespace */)) { + if (!(resolveEntityName(moduleName, 111551 /* SymbolFlags.Value */ | 1920 /* SymbolFlags.Namespace */).flags & 1920 /* SymbolFlags.Namespace */)) { error(moduleName, ts.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, ts.declarationNameToString(moduleName)); } } - if (target.flags & 788968 /* Type */) { + if (target.flags & 788968 /* SymbolFlags.Type */) { checkTypeNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0); } } @@ -84985,7 +85284,7 @@ var ts; } } else { - if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat === undefined && !node.isTypeOnly && !(node.flags & 16777216 /* Ambient */)) { + if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat === undefined && !node.isTypeOnly && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { // Import equals declaration is deprecated in es6 or above grammarErrorOnNode(node, ts.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead); } @@ -85000,8 +85299,8 @@ var ts; if (!checkGrammarDecoratorsAndModifiers(node) && ts.hasSyntacticModifiers(node)) { grammarErrorOnFirstToken(node, ts.Diagnostics.An_export_declaration_cannot_have_modifiers); } - if (node.moduleSpecifier && node.exportClause && ts.isNamedExports(node.exportClause) && ts.length(node.exportClause.elements) && languageVersion === 0 /* ES3 */) { - checkExternalEmitHelpers(node, 4194304 /* CreateBinding */); + if (node.moduleSpecifier && node.exportClause && ts.isNamedExports(node.exportClause) && ts.length(node.exportClause.elements) && languageVersion === 0 /* ScriptTarget.ES3 */) { + checkExternalEmitHelpers(node, 4194304 /* ExternalEmitHelpers.CreateBinding */); } checkGrammarExportDeclaration(node); if (!node.moduleSpecifier || checkExternalImportOrExportDeclaration(node)) { @@ -85009,10 +85308,10 @@ var ts; // export { x, y } // export { x, y } from "foo" ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 262 /* ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 262 /* ModuleBlock */ && - !node.moduleSpecifier && node.flags & 16777216 /* Ambient */; - if (node.parent.kind !== 305 /* SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + var inAmbientExternalModule = node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && + !node.moduleSpecifier && node.flags & 16777216 /* NodeFlags.Ambient */; + if (node.parent.kind !== 305 /* SyntaxKind.SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -85032,12 +85331,12 @@ var ts; // For ES2015 modules, we emit it as a pair of `import * as a_1 ...; export { a_1 as ns }` and don't need the helper. // We only use the helper here when in esModuleInterop if (ts.getESModuleInterop(compilerOptions)) { - checkExternalEmitHelpers(node, 65536 /* ImportStar */); + checkExternalEmitHelpers(node, 65536 /* ExternalEmitHelpers.ImportStar */); } } else { // export * from "foo" - checkExternalEmitHelpers(node, 32768 /* ExportStar */); + checkExternalEmitHelpers(node, 32768 /* ExternalEmitHelpers.ExportStar */); } } } @@ -85047,7 +85346,7 @@ var ts; function checkGrammarExportDeclaration(node) { var _a; if (node.isTypeOnly) { - if (((_a = node.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === 273 /* NamedExports */) { + if (((_a = node.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === 273 /* SyntaxKind.NamedExports */) { return checkGrammarNamedImportsOrExports(node.exportClause); } else { @@ -85057,7 +85356,7 @@ var ts; return false; } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 305 /* SourceFile */ || node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 261 /* ModuleDeclaration */; + var isInAppropriateContext = node.parent.kind === 305 /* SyntaxKind.SourceFile */ || node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 261 /* SyntaxKind.ModuleDeclaration */; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -85105,15 +85404,15 @@ var ts; if (!node.parent.parent.moduleSpecifier) { var exportedName = node.propertyName || node.name; // find immediate value referenced by exported name (SymbolFlags.Alias is set so we don't chase down aliases) - var symbol = resolveName(exportedName, exportedName.escapedText, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, + var symbol = resolveName(exportedName, exportedName.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); if (symbol && (symbol === undefinedSymbol || symbol === globalThisSymbol || symbol.declarations && isGlobalSourceFile(getDeclarationContainer(symbol.declarations[0])))) { error(exportedName, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, ts.idText(exportedName)); } else { markExportAsReferenced(node); - var target = symbol && (symbol.flags & 2097152 /* Alias */ ? resolveAlias(symbol) : symbol); - if (!target || target === unknownSymbol || target.flags & 111551 /* Value */) { + var target = symbol && (symbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(symbol) : symbol); + if (!target || target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { checkExpressionCached(node.propertyName || node.name); } } @@ -85123,7 +85422,7 @@ var ts; moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && ts.idText(node.propertyName || node.name) === "default") { - checkExternalEmitHelpers(node, 131072 /* ImportDefault */); + checkExternalEmitHelpers(node, 131072 /* ExternalEmitHelpers.ImportDefault */); } } } @@ -85135,8 +85434,8 @@ var ts; // If we hit an export assignment in an illegal context, just bail out to avoid cascading errors. return; } - var container = node.parent.kind === 305 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 261 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 305 /* SyntaxKind.SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 261 /* SyntaxKind.ModuleDeclaration */ && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -85153,14 +85452,14 @@ var ts; if (typeAnnotationNode) { checkTypeAssignableTo(checkExpressionCached(node.expression), getTypeFromTypeNode(typeAnnotationNode), node.expression); } - if (node.expression.kind === 79 /* Identifier */) { + if (node.expression.kind === 79 /* SyntaxKind.Identifier */) { var id = node.expression; - var sym = resolveEntityName(id, 67108863 /* All */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, node); + var sym = resolveEntityName(id, 67108863 /* SymbolFlags.All */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, node); if (sym) { markAliasReferenced(sym, id); // If not a value, we're interpreting the identifier as a type export, along the lines of (`export { Id as default }`) - var target = sym.flags & 2097152 /* Alias */ ? resolveAlias(sym) : sym; - if (target === unknownSymbol || target.flags & 111551 /* Value */) { + var target = sym.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(sym) : sym; + if (target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { // However if it is a value, we need to check it's being used correctly checkExpressionCached(node.expression); } @@ -85176,10 +85475,10 @@ var ts; checkExpressionCached(node.expression); } checkExternalModuleExports(container); - if ((node.flags & 16777216 /* Ambient */) && !ts.isEntityNameExpression(node.expression)) { + if ((node.flags & 16777216 /* NodeFlags.Ambient */) && !ts.isEntityNameExpression(node.expression)) { grammarErrorOnNode(node.expression, ts.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context); } - if (node.isExportEquals && !(node.flags & 16777216 /* Ambient */)) { + if (node.isExportEquals && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat !== ts.ModuleKind.CommonJS) { // export assignment is not supported in es6 modules grammarErrorOnNode(node, ts.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead); @@ -85214,11 +85513,11 @@ var ts; } // ECMA262: 15.2.1.1 It is a Syntax Error if the ExportedNames of ModuleItemList contains any duplicate entries. // (TS Exceptions: namespaces, function overloads, enums, and interfaces) - if (flags & (1920 /* Namespace */ | 384 /* Enum */)) { + if (flags & (1920 /* SymbolFlags.Namespace */ | 384 /* SymbolFlags.Enum */)) { return; } var exportedDeclarationsCount = ts.countWhere(declarations, ts.and(isNotOverloadAndNotAccessor, ts.not(ts.isInterfaceDeclaration))); - if (flags & 524288 /* TypeAlias */ && exportedDeclarationsCount <= 2) { + if (flags & 524288 /* SymbolFlags.TypeAlias */ && exportedDeclarationsCount <= 2) { // it is legal to merge type alias with other values // so count should be either 1 (just type alias) or 2 (type alias + merged value) return; @@ -85264,177 +85563,177 @@ var ts; // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 261 /* ModuleDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 256 /* FunctionDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } - if (kind >= 237 /* FirstStatement */ && kind <= 253 /* LastStatement */ && node.flowNode && !isReachableFlowNode(node.flowNode)) { + if (kind >= 237 /* SyntaxKind.FirstStatement */ && kind <= 253 /* SyntaxKind.LastStatement */ && node.flowNode && !isReachableFlowNode(node.flowNode)) { errorOrSuggestion(compilerOptions.allowUnreachableCode === false, node, ts.Diagnostics.Unreachable_code_detected); } switch (kind) { - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: return checkTypeParameter(node); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return checkParameter(node); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return checkPropertyDeclaration(node); - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: return checkPropertySignature(node); - case 180 /* ConstructorType */: - case 179 /* FunctionType */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 176 /* IndexSignature */: + case 180 /* SyntaxKind.ConstructorType */: + case 179 /* SyntaxKind.FunctionType */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.IndexSignature */: return checkSignatureDeclaration(node); - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: return checkMethodDeclaration(node); - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return checkClassStaticBlockDeclaration(node); - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return checkConstructorDeclaration(node); - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return checkAccessorDeclaration(node); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return checkTypeReferenceNode(node); - case 177 /* TypePredicate */: + case 177 /* SyntaxKind.TypePredicate */: return checkTypePredicate(node); - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: return checkTypeQuery(node); - case 182 /* TypeLiteral */: + case 182 /* SyntaxKind.TypeLiteral */: return checkTypeLiteral(node); - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: return checkArrayType(node); - case 184 /* TupleType */: + case 184 /* SyntaxKind.TupleType */: return checkTupleType(node); - case 187 /* UnionType */: - case 188 /* IntersectionType */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: return checkUnionOrIntersectionType(node); - case 191 /* ParenthesizedType */: - case 185 /* OptionalType */: - case 186 /* RestType */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 185 /* SyntaxKind.OptionalType */: + case 186 /* SyntaxKind.RestType */: return checkSourceElement(node.type); - case 192 /* ThisType */: + case 192 /* SyntaxKind.ThisType */: return checkThisType(node); - case 193 /* TypeOperator */: + case 193 /* SyntaxKind.TypeOperator */: return checkTypeOperator(node); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return checkConditionalType(node); - case 190 /* InferType */: + case 190 /* SyntaxKind.InferType */: return checkInferType(node); - case 198 /* TemplateLiteralType */: + case 198 /* SyntaxKind.TemplateLiteralType */: return checkTemplateLiteralType(node); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return checkImportType(node); - case 197 /* NamedTupleMember */: + case 197 /* SyntaxKind.NamedTupleMember */: return checkNamedTupleMember(node); - case 328 /* JSDocAugmentsTag */: + case 328 /* SyntaxKind.JSDocAugmentsTag */: return checkJSDocAugmentsTag(node); - case 329 /* JSDocImplementsTag */: + case 329 /* SyntaxKind.JSDocImplementsTag */: return checkJSDocImplementsTag(node); - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 339 /* JSDocEnumTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: return checkJSDocTypeAliasTag(node); - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return checkJSDocTemplateTag(node); - case 343 /* JSDocTypeTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: return checkJSDocTypeTag(node); - case 340 /* JSDocParameterTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: return checkJSDocParameterTag(node); - case 347 /* JSDocPropertyTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: return checkJSDocPropertyTag(node); - case 317 /* JSDocFunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: checkJSDocFunctionType(node); // falls through - case 315 /* JSDocNonNullableType */: - case 314 /* JSDocNullableType */: - case 312 /* JSDocAllType */: - case 313 /* JSDocUnknownType */: - case 322 /* JSDocTypeLiteral */: + case 315 /* SyntaxKind.JSDocNonNullableType */: + case 314 /* SyntaxKind.JSDocNullableType */: + case 312 /* SyntaxKind.JSDocAllType */: + case 313 /* SyntaxKind.JSDocUnknownType */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 318 /* JSDocVariadicType */: + case 318 /* SyntaxKind.JSDocVariadicType */: checkJSDocVariadicType(node); return; - case 309 /* JSDocTypeExpression */: + case 309 /* SyntaxKind.JSDocTypeExpression */: return checkSourceElement(node.type); - case 333 /* JSDocPublicTag */: - case 335 /* JSDocProtectedTag */: - case 334 /* JSDocPrivateTag */: + case 333 /* SyntaxKind.JSDocPublicTag */: + case 335 /* SyntaxKind.JSDocProtectedTag */: + case 334 /* SyntaxKind.JSDocPrivateTag */: return checkJSDocAccessibilityModifiers(node); - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: return checkIndexedAccessType(node); - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: return checkMappedType(node); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return checkFunctionDeclaration(node); - case 235 /* Block */: - case 262 /* ModuleBlock */: + case 235 /* SyntaxKind.Block */: + case 262 /* SyntaxKind.ModuleBlock */: return checkBlock(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return checkVariableStatement(node); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return checkExpressionStatement(node); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: return checkIfStatement(node); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: return checkDoStatement(node); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: return checkWhileStatement(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return checkForStatement(node); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return checkForInStatement(node); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return checkForOfStatement(node); - case 245 /* ContinueStatement */: - case 246 /* BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: + case 246 /* SyntaxKind.BreakStatement */: return checkBreakOrContinueStatement(node); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return checkReturnStatement(node); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: return checkWithStatement(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return checkSwitchStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return checkLabeledStatement(node); - case 251 /* ThrowStatement */: + case 251 /* SyntaxKind.ThrowStatement */: return checkThrowStatement(node); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: return checkTryStatement(node); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return checkVariableDeclaration(node); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return checkBindingElement(node); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return checkClassDeclaration(node); - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: return checkInterfaceDeclaration(node); - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return checkTypeAliasDeclaration(node); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return checkEnumDeclaration(node); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return checkModuleDeclaration(node); - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return checkImportDeclaration(node); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return checkImportEqualsDeclaration(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return checkExportDeclaration(node); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return checkExportAssignment(node); - case 236 /* EmptyStatement */: - case 253 /* DebuggerStatement */: + case 236 /* SyntaxKind.EmptyStatement */: + case 253 /* SyntaxKind.DebuggerStatement */: checkGrammarStatementInAmbientContext(node); return; - case 276 /* MissingDeclaration */: + case 276 /* SyntaxKind.MissingDeclaration */: return checkMissingDeclaration(node); } } @@ -85515,7 +85814,7 @@ var ts; function checkNodeDeferred(node) { var enclosingFile = ts.getSourceFileOfNode(node); var links = getNodeLinks(enclosingFile); - if (!(links.flags & 1 /* TypeChecked */)) { + if (!(links.flags & 1 /* NodeCheckFlags.TypeChecked */)) { links.deferredNodes || (links.deferredNodes = new ts.Set()); links.deferredNodes.add(node); } @@ -85527,38 +85826,41 @@ var ts; } } function checkDeferredNode(node) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkDeferredNode", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* tracing.Phase.Check */, "checkDeferredNode", { kind: node.kind, pos: node.pos, end: node.end, path: node.tracingPath }); var saveCurrentNode = currentNode; currentNode = node; instantiationCount = 0; switch (node.kind) { - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 210 /* TaggedTemplateExpression */: - case 165 /* Decorator */: - case 280 /* JsxOpeningElement */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 165 /* SyntaxKind.Decorator */: + case 280 /* SyntaxKind.JsxOpeningElement */: // These node kinds are deferred checked when overload resolution fails // To save on work, we ensure the arguments are checked just once, in // a deferred way resolveUntypedCall(node); break; - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: checkAccessorDeclaration(node); break; - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: checkClassExpressionDeferred(node); break; - case 279 /* JsxSelfClosingElement */: + case 163 /* SyntaxKind.TypeParameter */: + checkTypeParameterDeferred(node); + break; + case 279 /* SyntaxKind.JsxSelfClosingElement */: checkJsxSelfClosingElementDeferred(node); break; - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: checkJsxElementDeferred(node); break; } @@ -85566,7 +85868,7 @@ var ts; ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } function checkSourceFile(node) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* Check */, "checkSourceFile", { path: node.path }, /*separateBeginAndEnd*/ true); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("check" /* tracing.Phase.Check */, "checkSourceFile", { path: node.path }, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeCheck"); checkSourceFileWorker(node); ts.performance.mark("afterCheck"); @@ -85578,9 +85880,9 @@ var ts; return false; } switch (kind) { - case 0 /* Local */: + case 0 /* UnusedKind.Local */: return !!compilerOptions.noUnusedLocals; - case 1 /* Parameter */: + case 1 /* UnusedKind.Parameter */: return !!compilerOptions.noUnusedParameters; default: return ts.Debug.assertNever(kind); @@ -85592,7 +85894,7 @@ var ts; // Fully type check a source file and collect the relevant diagnostics. function checkSourceFileWorker(node) { var links = getNodeLinks(node); - if (!(links.flags & 1 /* TypeChecked */)) { + if (!(links.flags & 1 /* NodeCheckFlags.TypeChecked */)) { if (ts.skipTypeChecking(node, compilerOptions, host)) { return; } @@ -85612,13 +85914,13 @@ var ts; // This relies on the results of other lazy diagnostics, so must be computed after them if (!node.isDeclarationFile && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters)) { checkUnusedIdentifiers(getPotentiallyUnusedIdentifiers(node), function (containingNode, kind, diag) { - if (!ts.containsParseError(containingNode) && unusedIsError(kind, !!(containingNode.flags & 16777216 /* Ambient */))) { + if (!ts.containsParseError(containingNode) && unusedIsError(kind, !!(containingNode.flags & 16777216 /* NodeFlags.Ambient */))) { diagnostics.add(diag); } }); } }); - if (compilerOptions.importsNotUsedAsValues === 2 /* Error */ && + if (compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */ && !node.isDeclarationFile && ts.isExternalModule(node)) { checkImportsForTypeOnlyConversion(node); @@ -85642,7 +85944,7 @@ var ts; ts.forEach(potentialReflectCollisions, checkReflectCollision); ts.clear(potentialReflectCollisions); } - links.flags |= 1 /* TypeChecked */; + links.flags |= 1 /* NodeCheckFlags.TypeChecked */; } } function getDiagnostics(sourceFile, ct) { @@ -85712,14 +86014,14 @@ var ts; } // Language service support function getSymbolsInScope(location, meaning) { - if (location.flags & 33554432 /* InWithStatement */) { + if (location.flags & 33554432 /* NodeFlags.InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return []; } var symbols = ts.createSymbolTable(); var isStaticSymbol = false; populateSymbols(); - symbols.delete("this" /* This */); // Not a symbol, a keyword + symbols.delete("this" /* InternalSymbolName.This */); // Not a symbol, a keyword return symbolsToArray(symbols); function populateSymbols() { while (location) { @@ -85727,17 +86029,17 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: if (!ts.isExternalModule(location)) break; // falls through - case 261 /* ModuleDeclaration */: - copyLocallyVisibleExportSymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* ModuleMember */); + case 261 /* SyntaxKind.ModuleDeclaration */: + copyLocallyVisibleExportSymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* SymbolFlags.ModuleMember */); break; - case 260 /* EnumDeclaration */: - copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* EnumMember */); + case 260 /* SyntaxKind.EnumDeclaration */: + copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* SymbolFlags.EnumMember */); break; - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: var className = location.name; if (className) { copySymbol(location.symbol, meaning); @@ -85745,17 +86047,17 @@ var ts; // this fall-through is necessary because we would like to handle // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration. // falls through - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: // If we didn't come from static member of class or interface, // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. // Note: that the memberFlags come from previous iteration. if (!isStaticSymbol) { - copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 788968 /* Type */); + copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 788968 /* SymbolFlags.Type */); } break; - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -85799,7 +86101,7 @@ var ts; if (meaning) { source.forEach(function (symbol) { // Similar condition as in `resolveNameHelper` - if (!ts.getDeclarationOfKind(symbol, 275 /* ExportSpecifier */) && !ts.getDeclarationOfKind(symbol, 274 /* NamespaceExport */)) { + if (!ts.getDeclarationOfKind(symbol, 275 /* SyntaxKind.ExportSpecifier */) && !ts.getDeclarationOfKind(symbol, 274 /* SyntaxKind.NamespaceExport */)) { copySymbol(symbol, meaning); } }); @@ -85807,25 +86109,25 @@ var ts; } } function isTypeDeclarationName(name) { - return name.kind === 79 /* Identifier */ && + return name.kind === 79 /* SyntaxKind.Identifier */ && isTypeDeclaration(name.parent) && ts.getNameOfDeclaration(name.parent) === name; } function isTypeDeclaration(node) { switch (node.kind) { - case 163 /* TypeParameter */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 260 /* EnumDeclaration */: - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 339 /* JSDocEnumTag */: + case 163 /* SyntaxKind.TypeParameter */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: return true; - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: return node.isTypeOnly; - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: return node.parent.parent.isTypeOnly; default: return false; @@ -85833,16 +86135,16 @@ var ts; } // True if the given identifier is part of a type reference function isTypeReferenceIdentifier(node) { - while (node.parent.kind === 161 /* QualifiedName */) { + while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { node = node.parent; } - return node.parent.kind === 178 /* TypeReference */; + return node.parent.kind === 178 /* SyntaxKind.TypeReference */; } function isHeritageClauseElementIdentifier(node) { - while (node.parent.kind === 206 /* PropertyAccessExpression */) { + while (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { node = node.parent; } - return node.parent.kind === 228 /* ExpressionWithTypeArguments */; + return node.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */; } function forEachEnclosingClass(node, callback) { var result; @@ -85870,13 +86172,13 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 161 /* QualifiedName */) { + while (nodeOnRightSide.parent.kind === 161 /* SyntaxKind.QualifiedName */) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 265 /* ImportEqualsDeclaration */) { + if (nodeOnRightSide.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 271 /* ExportAssignment */) { + if (nodeOnRightSide.parent.kind === 271 /* SyntaxKind.ExportAssignment */) { return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; @@ -85887,12 +86189,12 @@ var ts; function getSpecialPropertyAssignmentSymbolFromEntityName(entityName) { var specialPropertyAssignmentKind = ts.getAssignmentDeclarationKind(entityName.parent.parent); switch (specialPropertyAssignmentKind) { - case 1 /* ExportsProperty */: - case 3 /* PrototypeProperty */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: return getSymbolOfNode(entityName.parent); - case 4 /* ThisProperty */: - case 2 /* ModuleExports */: - case 5 /* Property */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: + case 5 /* AssignmentDeclarationKind.Property */: return getSymbolOfNode(entityName.parent.parent); } } @@ -85902,7 +86204,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 200 /* ImportType */ && parent.qualifier === node) { + if (parent && parent.kind === 200 /* SyntaxKind.ImportType */ && parent.qualifier === node) { return parent; } return undefined; @@ -85912,7 +86214,7 @@ var ts; return getSymbolOfNode(name.parent); } if (ts.isInJSFile(name) && - name.parent.kind === 206 /* PropertyAccessExpression */ && + name.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && name.parent === name.parent.parent.left) { // Check if this is a special property assignment if (!ts.isPrivateIdentifier(name) && !ts.isJSDocMemberName(name)) { @@ -85922,17 +86224,17 @@ var ts; } } } - if (name.parent.kind === 271 /* ExportAssignment */ && ts.isEntityNameExpression(name)) { + if (name.parent.kind === 271 /* SyntaxKind.ExportAssignment */ && ts.isEntityNameExpression(name)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression var success = resolveEntityName(name, - /*all meanings*/ 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */, /*ignoreErrors*/ true); + /*all meanings*/ 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); if (success && success !== unknownSymbol) { return success; } } else if (ts.isEntityName(name) && isInRightSideOfImportOrExportAssignment(name)) { // Since we already checked for ExportAssignment, this really could only be an Import - var importEqualsDeclaration = ts.getAncestor(name, 265 /* ImportEqualsDeclaration */); + var importEqualsDeclaration = ts.getAncestor(name, 265 /* SyntaxKind.ImportEqualsDeclaration */); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(name, /*dontResolveAlias*/ true); } @@ -85948,28 +86250,28 @@ var ts; name = name.parent; } if (isHeritageClauseElementIdentifier(name)) { - var meaning = 0 /* None */; + var meaning = 0 /* SymbolFlags.None */; // In an interface or class, we're definitely interested in a type. - if (name.parent.kind === 228 /* ExpressionWithTypeArguments */) { - meaning = 788968 /* Type */; + if (name.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { + meaning = 788968 /* SymbolFlags.Type */; // In a class 'extends' clause we are also looking for a value. if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(name.parent)) { - meaning |= 111551 /* Value */; + meaning |= 111551 /* SymbolFlags.Value */; } } else { - meaning = 1920 /* Namespace */; + meaning = 1920 /* SymbolFlags.Namespace */; } - meaning |= 2097152 /* Alias */; + meaning |= 2097152 /* SymbolFlags.Alias */; var entityNameSymbol = ts.isEntityNameExpression(name) ? resolveEntityName(name, meaning) : undefined; if (entityNameSymbol) { return entityNameSymbol; } } - if (name.parent.kind === 340 /* JSDocParameterTag */) { + if (name.parent.kind === 340 /* SyntaxKind.JSDocParameterTag */) { return ts.getParameterSymbolFromJSDoc(name.parent); } - if (name.parent.kind === 163 /* TypeParameter */ && name.parent.parent.kind === 344 /* JSDocTemplateTag */) { + if (name.parent.kind === 163 /* SyntaxKind.TypeParameter */ && name.parent.parent.kind === 344 /* SyntaxKind.JSDocTemplateTag */) { ts.Debug.assert(!ts.isInJSFile(name)); // Otherwise `isDeclarationName` would have been true. var typeParameter = ts.getTypeParameterFromJsDoc(name.parent); return typeParameter && typeParameter.symbol; @@ -85980,13 +86282,13 @@ var ts; return undefined; } var isJSDoc_1 = ts.findAncestor(name, ts.or(ts.isJSDocLinkLike, ts.isJSDocNameReference, ts.isJSDocMemberName)); - var meaning = isJSDoc_1 ? 788968 /* Type */ | 1920 /* Namespace */ | 111551 /* Value */ : 111551 /* Value */; - if (name.kind === 79 /* Identifier */) { + var meaning = isJSDoc_1 ? 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 111551 /* SymbolFlags.Value */ : 111551 /* SymbolFlags.Value */; + if (name.kind === 79 /* SyntaxKind.Identifier */) { if (ts.isJSXTagName(name) && isJsxIntrinsicIdentifier(name)) { var symbol = getIntrinsicTagSymbol(name.parent); return symbol === unknownSymbol ? undefined : symbol; } - var result = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ !isJSDoc_1, ts.getHostSignatureFromJSDoc(name)); + var result = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /* dontResolveAlias */ true, ts.getHostSignatureFromJSDoc(name)); if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { @@ -85998,16 +86300,16 @@ var ts; else if (ts.isPrivateIdentifier(name)) { return getSymbolForPrivateIdentifierExpression(name); } - else if (name.kind === 206 /* PropertyAccessExpression */ || name.kind === 161 /* QualifiedName */) { + else if (name.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || name.kind === 161 /* SyntaxKind.QualifiedName */) { var links = getNodeLinks(name); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (name.kind === 206 /* PropertyAccessExpression */) { - checkPropertyAccessExpression(name, 0 /* Normal */); + if (name.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + checkPropertyAccessExpression(name, 0 /* CheckMode.Normal */); } else { - checkQualifiedName(name, 0 /* Normal */); + checkQualifiedName(name, 0 /* CheckMode.Normal */); } if (!links.resolvedSymbol && isJSDoc_1 && ts.isQualifiedName(name)) { return resolveJSDocMemberName(name); @@ -86019,12 +86321,12 @@ var ts; } } else if (isTypeReferenceIdentifier(name)) { - var meaning = name.parent.kind === 178 /* TypeReference */ ? 788968 /* Type */ : 1920 /* Namespace */; + var meaning = name.parent.kind === 178 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } - if (name.parent.kind === 177 /* TypePredicate */) { - return resolveEntityName(name, /*meaning*/ 1 /* FunctionScopedVariable */); + if (name.parent.kind === 177 /* SyntaxKind.TypePredicate */) { + return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); } return undefined; } @@ -86039,7 +86341,7 @@ var ts; function resolveJSDocMemberName(name, container) { if (ts.isEntityName(name)) { // resolve static values first - var meaning = 788968 /* Type */ | 1920 /* Namespace */ | 111551 /* Value */; + var meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 111551 /* SymbolFlags.Value */; var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true, ts.getHostSignatureFromJSDoc(name)); if (!symbol && ts.isIdentifier(name) && container) { symbol = getMergedSymbol(getSymbol(getExportsOfSymbol(container), name.escapedText, meaning)); @@ -86051,18 +86353,18 @@ var ts; var left = ts.isIdentifier(name) ? container : resolveJSDocMemberName(name.left); var right = ts.isIdentifier(name) ? name.escapedText : name.right.escapedText; if (left) { - var proto = left.flags & 111551 /* Value */ && getPropertyOfType(getTypeOfSymbol(left), "prototype"); + var proto = left.flags & 111551 /* SymbolFlags.Value */ && getPropertyOfType(getTypeOfSymbol(left), "prototype"); var t = proto ? getTypeOfSymbol(proto) : getDeclaredTypeOfSymbol(left); return getPropertyOfType(t, right); } } function getSymbolAtLocation(node, ignoreErrors) { - if (node.kind === 305 /* SourceFile */) { + if (node.kind === 305 /* SyntaxKind.SourceFile */) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } var parent = node.parent; var grandParent = parent.parent; - if (node.flags & 33554432 /* InWithStatement */) { + if (node.flags & 33554432 /* NodeFlags.InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return undefined; } @@ -86076,12 +86378,12 @@ var ts; else if (ts.isLiteralComputedPropertyDeclarationName(node)) { return getSymbolOfNode(parent.parent); } - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfNameOrPropertyAccessExpression(node); } - else if (parent.kind === 203 /* BindingElement */ && - grandParent.kind === 201 /* ObjectBindingPattern */ && + else if (parent.kind === 203 /* SyntaxKind.BindingElement */ && + grandParent.kind === 201 /* SyntaxKind.ObjectBindingPattern */ && node === parent.propertyName) { var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = getPropertyOfType(typeOfPattern, node.escapedText); @@ -86089,27 +86391,32 @@ var ts; return propertyDeclaration; } } - else if (ts.isMetaProperty(parent)) { - var parentType = getTypeOfNode(parent); - var propertyDeclaration = getPropertyOfType(parentType, node.escapedText); - if (propertyDeclaration) { - return propertyDeclaration; - } - if (parent.keywordToken === 103 /* NewKeyword */) { + else if (ts.isMetaProperty(parent) && parent.name === node) { + if (parent.keywordToken === 103 /* SyntaxKind.NewKeyword */ && ts.idText(node) === "target") { + // `target` in `new.target` return checkNewTargetMetaProperty(parent).symbol; } + // The `meta` in `import.meta` could be given `getTypeOfNode(parent).symbol` (the `ImportMeta` interface symbol), but + // we have a fake expression type made for other reasons already, whose transient `meta` + // member should more exactly be the kind of (declarationless) symbol we want. + // (See #44364 and #45031 for relevant implementation PRs) + if (parent.keywordToken === 100 /* SyntaxKind.ImportKeyword */ && ts.idText(node) === "meta") { + return getGlobalImportMetaExpressionType().members.get("meta"); + } + // no other meta properties are valid syntax, thus no others should have symbols + return undefined; } } switch (node.kind) { - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: - case 206 /* PropertyAccessExpression */: - case 161 /* QualifiedName */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 161 /* SyntaxKind.QualifiedName */: if (!ts.isThisInTypeQuery(node)) { return getSymbolOfNameOrPropertyAccessExpression(node); } // falls through - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); if (ts.isFunctionLike(container)) { var sig = getSignatureFromDeclaration(container); @@ -86121,25 +86428,25 @@ var ts; return checkExpression(node).symbol; } // falls through - case 192 /* ThisType */: + case 192 /* SyntaxKind.ThisType */: return getTypeFromThisTypeNode(node).symbol; - case 106 /* SuperKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: return checkExpression(node).symbol; - case 134 /* ConstructorKeyword */: + case 134 /* SyntaxKind.ConstructorKeyword */: // constructor keyword for an overload, should take us to the definition if it exist var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 171 /* Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 171 /* SyntaxKind.Constructor */) { return constructorDeclaration.parent.symbol; } return undefined; - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: // 1). import x = require("./mo/*gotToDefinitionHere*/d") // 2). External module name in an import declaration // 3). Dynamic import call or require in javascript // 4). type A = import("./f/*gotToDefinitionHere*/oo") if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 266 /* ImportDeclaration */ || node.parent.kind === 272 /* ExportDeclaration */) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 266 /* SyntaxKind.ImportDeclaration */ || node.parent.kind === 272 /* SyntaxKind.ExportDeclaration */) && node.parent.moduleSpecifier === node) || ((ts.isInJSFile(node) && ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node, ignoreErrors); @@ -86148,7 +86455,7 @@ var ts; return getSymbolOfNode(parent); } // falls through - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: // index access var objectType = ts.isElementAccessExpression(parent) ? parent.argumentExpression === node ? getTypeOfExpression(parent.expression) : undefined @@ -86156,19 +86463,19 @@ var ts; ? getTypeFromTypeNode(grandParent.objectType) : undefined; return objectType && getPropertyOfType(objectType, ts.escapeLeadingUnderscores(node.text)); - case 88 /* DefaultKeyword */: - case 98 /* FunctionKeyword */: - case 38 /* EqualsGreaterThanToken */: - case 84 /* ClassKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: + case 38 /* SyntaxKind.EqualsGreaterThanToken */: + case 84 /* SyntaxKind.ClassKeyword */: return getSymbolOfNode(node.parent); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal, ignoreErrors) : undefined; - case 93 /* ExportKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: return ts.isExportAssignment(node.parent) ? ts.Debug.checkDefined(node.parent.symbol) : undefined; - case 100 /* ImportKeyword */: - case 103 /* NewKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: + case 103 /* SyntaxKind.NewKeyword */: return ts.isMetaProperty(node.parent) ? checkMetaPropertyKeyword(node.parent).symbol : undefined; - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return checkExpression(node).symbol; default: return undefined; @@ -86178,14 +86485,14 @@ var ts; if (ts.isIdentifier(node) && ts.isPropertyAccessExpression(node.parent) && node.parent.name === node) { var keyType_1 = getLiteralTypeFromPropertyName(node); var objectType = getTypeOfExpression(node.parent.expression); - var objectTypes = objectType.flags & 1048576 /* Union */ ? objectType.types : [objectType]; + var objectTypes = objectType.flags & 1048576 /* TypeFlags.Union */ ? objectType.types : [objectType]; return ts.flatMap(objectTypes, function (t) { return ts.filter(getIndexInfosOfType(t), function (info) { return isApplicableIndexType(keyType_1, info.keyType); }); }); } return undefined; } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 297 /* ShorthandPropertyAssignment */) { - return resolveEntityName(location.name, 111551 /* Value */ | 2097152 /* Alias */); + if (location && location.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); } return undefined; } @@ -86194,17 +86501,17 @@ var ts; if (ts.isExportSpecifier(node)) { return node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node) : - resolveEntityName(node.propertyName || node.name, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); + resolveEntityName(node.propertyName || node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); } else { - return resolveEntityName(node, 111551 /* Value */ | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */); + return resolveEntityName(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); } } function getTypeOfNode(node) { if (ts.isSourceFile(node) && !ts.isExternalModule(node)) { return errorType; } - if (node.flags & 33554432 /* InWithStatement */) { + if (node.flags & 33554432 /* NodeFlags.InWithStatement */) { // We cannot answer semantic questions within a with block, do not proceed any further return errorType; } @@ -86235,7 +86542,7 @@ var ts; if (ts.isDeclaration(node)) { // In this case, we call getSymbolOfNode instead of getSymbolAtLocation because it is a declaration var symbol = getSymbolOfNode(node); - return getTypeOfSymbol(symbol); + return symbol ? getTypeOfSymbol(symbol) : errorType; } if (isDeclarationNameOrImportPropertyName(node)) { var symbol = getSymbolAtLocation(node); @@ -86245,7 +86552,7 @@ var ts; return errorType; } if (ts.isBindingPattern(node)) { - return getTypeForVariableLikeDeclaration(node.parent, /*includeOptionality*/ true, 0 /* Normal */) || errorType; + return getTypeForVariableLikeDeclaration(node.parent, /*includeOptionality*/ true, 0 /* CheckMode.Normal */) || errorType; } if (isInRightSideOfImportOrExportAssignment(node)) { var symbol = getSymbolAtLocation(node); @@ -86266,23 +86573,23 @@ var ts; // [ a ] from // [a] = [ some array ...] function getTypeOfAssignmentPattern(expr) { - ts.Debug.assert(expr.kind === 205 /* ObjectLiteralExpression */ || expr.kind === 204 /* ArrayLiteralExpression */); + ts.Debug.assert(expr.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || expr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */); // If this is from "for of" // for ( { a } of elems) { // } - if (expr.parent.kind === 244 /* ForOfStatement */) { + if (expr.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { var iteratedType = checkRightHandSideOfForOf(expr.parent); return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from "for" initializer // for ({a } = elems[0];.....) { } - if (expr.parent.kind === 221 /* BinaryExpression */) { + if (expr.parent.kind === 221 /* SyntaxKind.BinaryExpression */) { var iteratedType = getTypeOfExpression(expr.parent.right); return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { - if (expr.parent.kind === 296 /* PropertyAssignment */) { + if (expr.parent.kind === 296 /* SyntaxKind.PropertyAssignment */) { var node_3 = ts.cast(expr.parent.parent, ts.isObjectLiteralExpression); var typeOfParentObjectLiteral = getTypeOfAssignmentPattern(node_3) || errorType; var propertyIndex = ts.indexOfNode(node_3.properties, expr.parent); @@ -86292,7 +86599,7 @@ var ts; var node = ts.cast(expr.parent, ts.isArrayLiteralExpression); // [{ property1: p1, property2 }] = elems; var typeOfArrayLiteral = getTypeOfAssignmentPattern(node) || errorType; - var elementType = checkIteratedTypeOrElementType(65 /* Destructuring */, typeOfArrayLiteral, undefinedType, expr.parent) || errorType; + var elementType = checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, typeOfArrayLiteral, undefinedType, expr.parent) || errorType; return checkArrayLiteralDestructuringElementAssignment(node, typeOfArrayLiteral, node.elements.indexOf(expr), elementType); } // Gets the property symbol corresponding to the property in destructuring assignment @@ -86325,14 +86632,14 @@ var ts; function getClassElementPropertyKeyType(element) { var name = element.name; switch (name.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return getStringLiteralType(ts.idText(name)); - case 8 /* NumericLiteral */: - case 10 /* StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 10 /* SyntaxKind.StringLiteral */: return getStringLiteralType(name.text); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: var nameType = checkComputedPropertyName(name); - return isTypeAssignableToKind(nameType, 12288 /* ESSymbolLike */) ? nameType : stringType; + return isTypeAssignableToKind(nameType, 12288 /* TypeFlags.ESSymbolLike */) ? nameType : stringType; default: return ts.Debug.fail("Unsupported property name."); } @@ -86342,8 +86649,8 @@ var ts; function getAugmentedPropertiesOfType(type) { type = getApparentType(type); var propsByName = ts.createSymbolTable(getPropertiesOfType(type)); - var functionType = getSignaturesOfType(type, 0 /* Call */).length ? globalCallableFunctionType : - getSignaturesOfType(type, 1 /* Construct */).length ? globalNewableFunctionType : + var functionType = getSignaturesOfType(type, 0 /* SignatureKind.Call */).length ? globalCallableFunctionType : + getSignaturesOfType(type, 1 /* SignatureKind.Construct */).length ? globalNewableFunctionType : undefined; if (functionType) { ts.forEach(getPropertiesOfType(functionType), function (p) { @@ -86362,18 +86669,18 @@ var ts; return roots ? ts.flatMap(roots, getRootSymbols) : [symbol]; } function getImmediateRootSymbols(symbol) { - if (ts.getCheckFlags(symbol) & 6 /* Synthetic */) { + if (ts.getCheckFlags(symbol) & 6 /* CheckFlags.Synthetic */) { return ts.mapDefined(getSymbolLinks(symbol).containingType.types, function (type) { return getPropertyOfType(type, symbol.escapedName); }); } - else if (symbol.flags & 33554432 /* Transient */) { + else if (symbol.flags & 33554432 /* SymbolFlags.Transient */) { var _a = symbol, leftSpread = _a.leftSpread, rightSpread = _a.rightSpread, syntheticOrigin = _a.syntheticOrigin; return leftSpread ? [leftSpread, rightSpread] : syntheticOrigin ? [syntheticOrigin] - : ts.singleElementArray(tryGetAliasTarget(symbol)); + : ts.singleElementArray(tryGetTarget(symbol)); } return undefined; } - function tryGetAliasTarget(symbol) { + function tryGetTarget(symbol) { var target; var next = symbol; while (next = getSymbolLinks(next).target) { @@ -86412,13 +86719,13 @@ var ts; // for export assignments - check if resolved symbol for RHS is itself a value // otherwise - check if at least one export is value symbolLinks.exportsSomeValue = hasExportAssignment - ? !!(moduleSymbol.flags & 111551 /* Value */) + ? !!(moduleSymbol.flags & 111551 /* SymbolFlags.Value */) : ts.forEachEntry(getExportsOfModule(moduleSymbol), isValue); } return symbolLinks.exportsSomeValue; function isValue(s) { s = resolveSymbol(s); - return s && !!(s.flags & 111551 /* Value */); + return s && !!(s.flags & 111551 /* SymbolFlags.Value */); } } function isNameOfModuleOrEnumDeclaration(node) { @@ -86436,19 +86743,19 @@ var ts; // declaration if it contains an exported member with the same name. var symbol = getReferencedValueSymbol(node, /*startInDeclarationContainer*/ isNameOfModuleOrEnumDeclaration(node)); if (symbol) { - if (symbol.flags & 1048576 /* ExportValue */) { + if (symbol.flags & 1048576 /* SymbolFlags.ExportValue */) { // If we reference an exported entity within the same module declaration, then whether // we prefix depends on the kind of entity. SymbolFlags.ExportHasLocal encompasses all the // kinds that we do NOT prefix. var exportSymbol = getMergedSymbol(symbol.exportSymbol); - if (!prefixLocals && exportSymbol.flags & 944 /* ExportHasLocal */ && !(exportSymbol.flags & 3 /* Variable */)) { + if (!prefixLocals && exportSymbol.flags & 944 /* SymbolFlags.ExportHasLocal */ && !(exportSymbol.flags & 3 /* SymbolFlags.Variable */)) { return undefined; } symbol = exportSymbol; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 /* ValueModule */ && ((_a = parentSymbol_1.valueDeclaration) === null || _a === void 0 ? void 0 : _a.kind) === 305 /* SourceFile */) { + if (parentSymbol_1.flags & 512 /* SymbolFlags.ValueModule */ && ((_a = parentSymbol_1.valueDeclaration) === null || _a === void 0 ? void 0 : _a.kind) === 305 /* SyntaxKind.SourceFile */) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); // If `node` accesses an export and that export isn't in the same file, then symbol is a namespace export, so return undefined. @@ -86471,7 +86778,7 @@ var ts; var symbol = getReferencedValueSymbol(node); // We should only get the declaration of an alias if there isn't a local value // declaration for the symbol - if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* Value */) && !getTypeOnlyAliasDeclaration(symbol)) { + if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* SymbolFlags.Value */) && !getTypeOnlyAliasDeclaration(symbol)) { return getDeclarationOfAliasSymbol(symbol); } } @@ -86480,20 +86787,20 @@ var ts; function isSymbolOfDestructuredElementOfCatchBinding(symbol) { return symbol.valueDeclaration && ts.isBindingElement(symbol.valueDeclaration) - && ts.walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === 292 /* CatchClause */; + && ts.walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === 292 /* SyntaxKind.CatchClause */; } function isSymbolOfDeclarationWithCollidingName(symbol) { - if (symbol.flags & 418 /* BlockScoped */ && symbol.valueDeclaration && !ts.isSourceFile(symbol.valueDeclaration)) { + if (symbol.flags & 418 /* SymbolFlags.BlockScoped */ && symbol.valueDeclaration && !ts.isSourceFile(symbol.valueDeclaration)) { var links = getSymbolLinks(symbol); if (links.isDeclarationWithCollidingName === undefined) { var container = ts.getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (ts.isStatementWithLocals(container) || isSymbolOfDestructuredElementOfCatchBinding(symbol)) { var nodeLinks_1 = getNodeLinks(symbol.valueDeclaration); - if (resolveName(container.parent, symbol.escapedName, 111551 /* Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)) { + if (resolveName(container.parent, symbol.escapedName, 111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)) { // redeclaration - always should be renamed links.isDeclarationWithCollidingName = true; } - else if (nodeLinks_1.flags & 262144 /* CapturedBlockScopedBinding */) { + else if (nodeLinks_1.flags & 262144 /* NodeCheckFlags.CapturedBlockScopedBinding */) { // binding is captured in the function // should be renamed if: // - binding is not top level - top level bindings never collide with anything @@ -86509,9 +86816,9 @@ var ts; // * variables from initializer are passed to rewritten loop body as parameters so they are not captured directly // * variables that are declared immediately in loop body will become top level variable after loop is rewritten and thus // they will not collide with anything - var isDeclaredInLoop = nodeLinks_1.flags & 524288 /* BlockScopedBindingInLoop */; + var isDeclaredInLoop = nodeLinks_1.flags & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; var inLoopInitializer = ts.isIterationStatement(container, /*lookInLabeledStatements*/ false); - var inLoopBodyBlock = container.kind === 235 /* Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); + var inLoopBodyBlock = container.kind === 235 /* SyntaxKind.Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -86552,20 +86859,20 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return isAliasResolvedToValue(getSymbolOfNode(node)); - case 267 /* ImportClause */: - case 268 /* NamespaceImport */: - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: + case 267 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.NamespaceImport */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: var symbol = getSymbolOfNode(node); return !!symbol && isAliasResolvedToValue(symbol) && !getTypeOnlyAliasDeclaration(symbol); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: var exportClause = node.exportClause; return !!exportClause && (ts.isNamespaceExport(exportClause) || ts.some(exportClause.elements, isValueAliasDeclaration)); - case 271 /* ExportAssignment */: - return node.expression && node.expression.kind === 79 /* Identifier */ ? + case 271 /* SyntaxKind.ExportAssignment */: + return node.expression && node.expression.kind === 79 /* SyntaxKind.Identifier */ ? isAliasResolvedToValue(getSymbolOfNode(node)) : true; } @@ -86573,7 +86880,7 @@ var ts; } function isTopLevelValueImportEqualsWithEntityName(nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 305 /* SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { + if (node === undefined || node.parent.kind !== 305 /* SyntaxKind.SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -86590,7 +86897,7 @@ var ts; } // const enums and modules that contain only const enums are not considered values from the emit perspective // unless 'preserveConstEnums' option is set to true - return !!(target.flags & 111551 /* Value */) && + return !!(target.flags & 111551 /* SymbolFlags.Value */) && (ts.shouldPreserveConstEnums(compilerOptions) || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { @@ -86603,9 +86910,9 @@ var ts; if (links === null || links === void 0 ? void 0 : links.referenced) { return true; } - var target = getSymbolLinks(symbol).target; // TODO: GH#18217 - if (target && ts.getEffectiveModifierFlags(node) & 1 /* Export */ && - target.flags & 111551 /* Value */ && + var target = getSymbolLinks(symbol).aliasTarget; // TODO: GH#18217 + if (target && ts.getEffectiveModifierFlags(node) & 1 /* ModifierFlags.Export */ && + target.flags & 111551 /* SymbolFlags.Value */ && (ts.shouldPreserveConstEnums(compilerOptions) || !isConstEnumOrConstEnumOnlyModule(target))) { // An `export import ... =` of a value symbol is always considered referenced return true; @@ -86643,18 +86950,13 @@ var ts; !isOptionalParameter(parameter) && !ts.isJSDocParameterTag(parameter) && !!parameter.initializer && - !ts.hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); + !ts.hasSyntacticModifier(parameter, 16476 /* ModifierFlags.ParameterPropertyModifier */); } function isOptionalUninitializedParameterProperty(parameter) { return strictNullChecks && isOptionalParameter(parameter) && !parameter.initializer && - ts.hasSyntacticModifier(parameter, 16476 /* ParameterPropertyModifier */); - } - function isOptionalUninitializedParameter(parameter) { - return !!strictNullChecks && - isOptionalParameter(parameter) && - !parameter.initializer; + ts.hasSyntacticModifier(parameter, 16476 /* ModifierFlags.ParameterPropertyModifier */); } function isExpandoFunctionDeclaration(node) { var declaration = ts.getParseTreeNode(node, ts.isFunctionDeclaration); @@ -86662,10 +86964,10 @@ var ts; return false; } var symbol = getSymbolOfNode(declaration); - if (!symbol || !(symbol.flags & 16 /* Function */)) { + if (!symbol || !(symbol.flags & 16 /* SymbolFlags.Function */)) { return false; } - return !!ts.forEachEntry(getExportsOfSymbol(symbol), function (p) { return p.flags & 111551 /* Value */ && p.valueDeclaration && ts.isPropertyAccessExpression(p.valueDeclaration); }); + return !!ts.forEachEntry(getExportsOfSymbol(symbol), function (p) { return p.flags & 111551 /* SymbolFlags.Value */ && p.valueDeclaration && ts.isPropertyAccessExpression(p.valueDeclaration); }); } function getPropertiesOfContainerFunction(node) { var declaration = ts.getParseTreeNode(node, ts.isFunctionDeclaration); @@ -86688,19 +86990,19 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 299 /* EnumMember */: - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 299 /* SyntaxKind.EnumMember */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return true; } return false; } function getConstantValue(node) { - if (node.kind === 299 /* EnumMember */) { + if (node.kind === 299 /* SyntaxKind.EnumMember */) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; - if (symbol && (symbol.flags & 8 /* EnumMember */)) { + if (symbol && (symbol.flags & 8 /* SymbolFlags.EnumMember */)) { // inline property\index accesses only for const enums var member = symbol.valueDeclaration; if (ts.isEnumConst(member.parent)) { @@ -86710,7 +87012,7 @@ var ts; return undefined; } function isFunctionType(type) { - return !!(type.flags & 524288 /* Object */) && getSignaturesOfType(type, 0 /* Call */).length > 0; + return !!(type.flags & 524288 /* TypeFlags.Object */) && getSignaturesOfType(type, 0 /* SignatureKind.Call */).length > 0; } function getTypeReferenceSerializationKind(typeNameIn, location) { var _a, _b; @@ -86726,14 +87028,14 @@ var ts; // Resolve the symbol as a value to ensure the type can be reached at runtime during emit. var isTypeOnly = false; if (ts.isQualifiedName(typeName)) { - var rootValueSymbol = resolveEntityName(ts.getFirstIdentifier(typeName), 111551 /* Value */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, location); + var rootValueSymbol = resolveEntityName(ts.getFirstIdentifier(typeName), 111551 /* SymbolFlags.Value */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, location); isTypeOnly = !!((_a = rootValueSymbol === null || rootValueSymbol === void 0 ? void 0 : rootValueSymbol.declarations) === null || _a === void 0 ? void 0 : _a.every(ts.isTypeOnlyImportOrExportDeclaration)); } - var valueSymbol = resolveEntityName(typeName, 111551 /* Value */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, location); - var resolvedSymbol = valueSymbol && valueSymbol.flags & 2097152 /* Alias */ ? resolveAlias(valueSymbol) : valueSymbol; + var valueSymbol = resolveEntityName(typeName, 111551 /* SymbolFlags.Value */, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, location); + var resolvedSymbol = valueSymbol && valueSymbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(valueSymbol) : valueSymbol; isTypeOnly || (isTypeOnly = !!((_b = valueSymbol === null || valueSymbol === void 0 ? void 0 : valueSymbol.declarations) === null || _b === void 0 ? void 0 : _b.every(ts.isTypeOnlyImportOrExportDeclaration))); // Resolve the symbol as a type so that we can provide a more useful hint for the type serializer. - var typeSymbol = resolveEntityName(typeName, 788968 /* Type */, /*ignoreErrors*/ true, /*dontResolveAlias*/ false, location); + var typeSymbol = resolveEntityName(typeName, 788968 /* SymbolFlags.Type */, /*ignoreErrors*/ true, /*dontResolveAlias*/ false, location); if (resolvedSymbol && resolvedSymbol === typeSymbol) { var globalPromiseSymbol = getGlobalPromiseConstructorSymbol(/*reportErrors*/ false); if (globalPromiseSymbol && resolvedSymbol === globalPromiseSymbol) { @@ -86752,28 +87054,28 @@ var ts; if (isErrorType(type)) { return isTypeOnly ? ts.TypeReferenceSerializationKind.ObjectType : ts.TypeReferenceSerializationKind.Unknown; } - else if (type.flags & 3 /* AnyOrUnknown */) { + else if (type.flags & 3 /* TypeFlags.AnyOrUnknown */) { return ts.TypeReferenceSerializationKind.ObjectType; } - else if (isTypeAssignableToKind(type, 16384 /* Void */ | 98304 /* Nullable */ | 131072 /* Never */)) { + else if (isTypeAssignableToKind(type, 16384 /* TypeFlags.Void */ | 98304 /* TypeFlags.Nullable */ | 131072 /* TypeFlags.Never */)) { return ts.TypeReferenceSerializationKind.VoidNullableOrNeverType; } - else if (isTypeAssignableToKind(type, 528 /* BooleanLike */)) { + else if (isTypeAssignableToKind(type, 528 /* TypeFlags.BooleanLike */)) { return ts.TypeReferenceSerializationKind.BooleanType; } - else if (isTypeAssignableToKind(type, 296 /* NumberLike */)) { + else if (isTypeAssignableToKind(type, 296 /* TypeFlags.NumberLike */)) { return ts.TypeReferenceSerializationKind.NumberLikeType; } - else if (isTypeAssignableToKind(type, 2112 /* BigIntLike */)) { + else if (isTypeAssignableToKind(type, 2112 /* TypeFlags.BigIntLike */)) { return ts.TypeReferenceSerializationKind.BigIntLikeType; } - else if (isTypeAssignableToKind(type, 402653316 /* StringLike */)) { + else if (isTypeAssignableToKind(type, 402653316 /* TypeFlags.StringLike */)) { return ts.TypeReferenceSerializationKind.StringLikeType; } else if (isTupleType(type)) { return ts.TypeReferenceSerializationKind.ArrayLikeType; } - else if (isTypeAssignableToKind(type, 12288 /* ESSymbolLike */)) { + else if (isTypeAssignableToKind(type, 12288 /* TypeFlags.ESSymbolLike */)) { return ts.TypeReferenceSerializationKind.ESSymbolType; } else if (isFunctionType(type)) { @@ -86789,37 +87091,37 @@ var ts; function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { - return ts.factory.createToken(130 /* AnyKeyword */); + return ts.factory.createToken(130 /* SyntaxKind.AnyKeyword */); } // Get type of the symbol if this is the valid symbol otherwise get type at location var symbol = getSymbolOfNode(declaration); - var type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) + var type = symbol && !(symbol.flags & (2048 /* SymbolFlags.TypeLiteral */ | 131072 /* SymbolFlags.Signature */)) ? getWidenedLiteralType(getTypeOfSymbol(symbol)) : errorType; - if (type.flags & 8192 /* UniqueESSymbol */ && + if (type.flags & 8192 /* TypeFlags.UniqueESSymbol */ && type.symbol === symbol) { - flags |= 1048576 /* AllowUniqueESSymbolType */; + flags |= 1048576 /* NodeBuilderFlags.AllowUniqueESSymbolType */; } if (addUndefined) { type = getOptionalType(type); } - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* NodeBuilderFlags.MultilineObjectLiterals */, tracker); } function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { - return ts.factory.createToken(130 /* AnyKeyword */); + return ts.factory.createToken(130 /* SyntaxKind.AnyKeyword */); } var signature = getSignatureFromDeclaration(signatureDeclaration); - return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* NodeBuilderFlags.MultilineObjectLiterals */, tracker); } function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { - return ts.factory.createToken(130 /* AnyKeyword */); + return ts.factory.createToken(130 /* SyntaxKind.AnyKeyword */); } var type = getWidenedType(getRegularTypeOfExpression(expr)); - return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */, tracker); + return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* NodeBuilderFlags.MultilineObjectLiterals */, tracker); } function hasGlobalName(name) { return globals.has(ts.escapeLeadingUnderscores(name)); @@ -86838,7 +87140,7 @@ var ts; location = getDeclarationContainer(parent); } } - return resolveName(location, reference.escapedText, 111551 /* Value */ | 1048576 /* ExportValue */ | 2097152 /* Alias */, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); + return resolveName(location, reference.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */ | 2097152 /* SymbolFlags.Alias */, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); } function getReferencedValueDeclaration(referenceIn) { if (!ts.isGeneratedIdentifier(referenceIn)) { @@ -86859,7 +87161,7 @@ var ts; return false; } function literalTypeToNode(type, enclosing, tracker) { - var enumResult = type.flags & 1024 /* EnumLiteral */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* Value */, enclosing, /*flags*/ undefined, tracker) + var enumResult = type.flags & 1024 /* TypeFlags.EnumLiteral */ ? nodeBuilder.symbolToExpression(type.symbol, 111551 /* SymbolFlags.Value */, enclosing, /*flags*/ undefined, tracker) : type === trueType ? ts.factory.createTrue() : type === falseType && ts.factory.createFalse(); if (enumResult) return enumResult; @@ -86967,18 +87269,18 @@ var ts; isLateBound: function (nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isDeclaration); var symbol = node && getSymbolOfNode(node); - return !!(symbol && ts.getCheckFlags(symbol) & 4096 /* Late */); + return !!(symbol && ts.getCheckFlags(symbol) & 4096 /* CheckFlags.Late */); }, getJsxFactoryEntity: getJsxFactoryEntity, getJsxFragmentFactoryEntity: getJsxFragmentFactoryEntity, getAllAccessorDeclarations: function (accessor) { accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); // TODO: GH#18217 - var otherKind = accessor.kind === 173 /* SetAccessor */ ? 172 /* GetAccessor */ : 173 /* SetAccessor */; + var otherKind = accessor.kind === 173 /* SyntaxKind.SetAccessor */ ? 172 /* SyntaxKind.GetAccessor */ : 173 /* SyntaxKind.SetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 173 /* SetAccessor */ ? accessor : otherAccessor; - var getAccessor = accessor.kind === 172 /* GetAccessor */ ? accessor : otherAccessor; + var setAccessor = accessor.kind === 173 /* SyntaxKind.SetAccessor */ ? accessor : otherAccessor; + var getAccessor = accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -86994,7 +87296,7 @@ var ts; }, getDeclarationStatementsForSourceFile: function (node, flags, tracker, bundled) { var n = ts.getParseTreeNode(node); - ts.Debug.assert(n && n.kind === 305 /* SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); + ts.Debug.assert(n && n.kind === 305 /* SyntaxKind.SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); var sym = getSymbolOfNode(node); if (!sym) { return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); @@ -87031,7 +87333,7 @@ var ts; return false; } function isInHeritageClause(node) { - return node.parent && node.parent.kind === 228 /* ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 291 /* HeritageClause */; + return node.parent && node.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 291 /* SyntaxKind.HeritageClause */; } // defined here to avoid outer scope pollution function getTypeReferenceDirectivesForEntityName(node) { @@ -87042,9 +87344,9 @@ var ts; // property access can only be used as values, or types when within an expression with type arguments inside a heritage clause // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries - var meaning = 788968 /* Type */ | 1920 /* Namespace */; - if ((node.kind === 79 /* Identifier */ && isInTypeQuery(node)) || (node.kind === 206 /* PropertyAccessExpression */ && !isInHeritageClause(node))) { - meaning = 111551 /* Value */ | 1048576 /* ExportValue */; + var meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */; + if ((node.kind === 79 /* SyntaxKind.Identifier */ && isInTypeQuery(node)) || (node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && !isInHeritageClause(node))) { + meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; } var symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); return symbol && symbol !== unknownSymbol ? getTypeReferenceDirectivesForSymbol(symbol, meaning) : undefined; @@ -87091,7 +87393,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 305 /* SourceFile */ && current.flags & 512 /* ValueModule */) { + if (current.valueDeclaration && current.valueDeclaration.kind === 305 /* SyntaxKind.SourceFile */ && current.flags & 512 /* SymbolFlags.ValueModule */) { return false; } // check that at least one declaration of top level symbol originates from type declaration file @@ -87119,12 +87421,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 261 /* ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var specifier = declaration.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); // TODO: GH#18217 if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 305 /* SourceFile */); + return ts.getDeclarationOfKind(moduleSymbol, 305 /* SyntaxKind.SourceFile */); } function initializeTypeChecker() { // Bind all source files and propagate errors @@ -87195,7 +87497,7 @@ var ts; getSymbolLinks(undefinedSymbol).type = undefinedWideningType; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments", /*arity*/ 0, /*reportErrors*/ true); getSymbolLinks(unknownSymbol).type = errorType; - getSymbolLinks(globalThisSymbol).type = createObjectType(16 /* Anonymous */, globalThisSymbol); + getSymbolLinks(globalThisSymbol).type = createObjectType(16 /* ObjectFlags.Anonymous */, globalThisSymbol); // Initialize special types globalArrayType = getGlobalType("Array", /*arity*/ 1, /*reportErrors*/ true); globalObjectType = getGlobalType("Object", /*arity*/ 0, /*reportErrors*/ true); @@ -87257,28 +87559,28 @@ var ts; function checkExternalEmitHelpers(location, helpers) { if ((requestedExternalEmitHelpers & helpers) !== helpers && compilerOptions.importHelpers) { var sourceFile = ts.getSourceFileOfNode(location); - if (ts.isEffectiveExternalModule(sourceFile, compilerOptions) && !(location.flags & 16777216 /* Ambient */)) { + if (ts.isEffectiveExternalModule(sourceFile, compilerOptions) && !(location.flags & 16777216 /* NodeFlags.Ambient */)) { var helpersModule = resolveHelpersModule(sourceFile, location); if (helpersModule !== unknownSymbol) { var uncheckedHelpers = helpers & ~requestedExternalEmitHelpers; - for (var helper = 1 /* FirstEmitHelper */; helper <= 4194304 /* LastEmitHelper */; helper <<= 1) { + for (var helper = 1 /* ExternalEmitHelpers.FirstEmitHelper */; helper <= 4194304 /* ExternalEmitHelpers.LastEmitHelper */; helper <<= 1) { if (uncheckedHelpers & helper) { var name = getHelperName(helper); - var symbol = getSymbol(helpersModule.exports, ts.escapeLeadingUnderscores(name), 111551 /* Value */); + var symbol = getSymbol(helpersModule.exports, ts.escapeLeadingUnderscores(name), 111551 /* SymbolFlags.Value */); if (!symbol) { error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name); } - else if (helper & 524288 /* ClassPrivateFieldGet */) { + else if (helper & 524288 /* ExternalEmitHelpers.ClassPrivateFieldGet */) { if (!ts.some(getSignaturesOfSymbol(symbol), function (signature) { return getParameterCount(signature) > 3; })) { error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name, 4); } } - else if (helper & 1048576 /* ClassPrivateFieldSet */) { + else if (helper & 1048576 /* ExternalEmitHelpers.ClassPrivateFieldSet */) { if (!ts.some(getSignaturesOfSymbol(symbol), function (signature) { return getParameterCount(signature) > 4; })) { error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name, 5); } } - else if (helper & 1024 /* SpreadArray */) { + else if (helper & 1024 /* ExternalEmitHelpers.SpreadArray */) { if (!ts.some(getSignaturesOfSymbol(symbol), function (signature) { return getParameterCount(signature) > 2; })) { error(location, ts.Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, ts.externalHelpersModuleNameText, name, 3); } @@ -87292,29 +87594,29 @@ var ts; } function getHelperName(helper) { switch (helper) { - case 1 /* Extends */: return "__extends"; - case 2 /* Assign */: return "__assign"; - case 4 /* Rest */: return "__rest"; - case 8 /* Decorate */: return "__decorate"; - case 16 /* Metadata */: return "__metadata"; - case 32 /* Param */: return "__param"; - case 64 /* Awaiter */: return "__awaiter"; - case 128 /* Generator */: return "__generator"; - case 256 /* Values */: return "__values"; - case 512 /* Read */: return "__read"; - case 1024 /* SpreadArray */: return "__spreadArray"; - case 2048 /* Await */: return "__await"; - case 4096 /* AsyncGenerator */: return "__asyncGenerator"; - case 8192 /* AsyncDelegator */: return "__asyncDelegator"; - case 16384 /* AsyncValues */: return "__asyncValues"; - case 32768 /* ExportStar */: return "__exportStar"; - case 65536 /* ImportStar */: return "__importStar"; - case 131072 /* ImportDefault */: return "__importDefault"; - case 262144 /* MakeTemplateObject */: return "__makeTemplateObject"; - case 524288 /* ClassPrivateFieldGet */: return "__classPrivateFieldGet"; - case 1048576 /* ClassPrivateFieldSet */: return "__classPrivateFieldSet"; - case 2097152 /* ClassPrivateFieldIn */: return "__classPrivateFieldIn"; - case 4194304 /* CreateBinding */: return "__createBinding"; + case 1 /* ExternalEmitHelpers.Extends */: return "__extends"; + case 2 /* ExternalEmitHelpers.Assign */: return "__assign"; + case 4 /* ExternalEmitHelpers.Rest */: return "__rest"; + case 8 /* ExternalEmitHelpers.Decorate */: return "__decorate"; + case 16 /* ExternalEmitHelpers.Metadata */: return "__metadata"; + case 32 /* ExternalEmitHelpers.Param */: return "__param"; + case 64 /* ExternalEmitHelpers.Awaiter */: return "__awaiter"; + case 128 /* ExternalEmitHelpers.Generator */: return "__generator"; + case 256 /* ExternalEmitHelpers.Values */: return "__values"; + case 512 /* ExternalEmitHelpers.Read */: return "__read"; + case 1024 /* ExternalEmitHelpers.SpreadArray */: return "__spreadArray"; + case 2048 /* ExternalEmitHelpers.Await */: return "__await"; + case 4096 /* ExternalEmitHelpers.AsyncGenerator */: return "__asyncGenerator"; + case 8192 /* ExternalEmitHelpers.AsyncDelegator */: return "__asyncDelegator"; + case 16384 /* ExternalEmitHelpers.AsyncValues */: return "__asyncValues"; + case 32768 /* ExternalEmitHelpers.ExportStar */: return "__exportStar"; + case 65536 /* ExternalEmitHelpers.ImportStar */: return "__importStar"; + case 131072 /* ExternalEmitHelpers.ImportDefault */: return "__importDefault"; + case 262144 /* ExternalEmitHelpers.MakeTemplateObject */: return "__makeTemplateObject"; + case 524288 /* ExternalEmitHelpers.ClassPrivateFieldGet */: return "__classPrivateFieldGet"; + case 1048576 /* ExternalEmitHelpers.ClassPrivateFieldSet */: return "__classPrivateFieldSet"; + case 2097152 /* ExternalEmitHelpers.ClassPrivateFieldIn */: return "__classPrivateFieldIn"; + case 4194304 /* ExternalEmitHelpers.CreateBinding */: return "__createBinding"; default: return ts.Debug.fail("Unrecognized helper"); } } @@ -87333,14 +87635,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 169 /* MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { + if (node.kind === 169 /* SyntaxKind.MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 172 /* GetAccessor */ || node.kind === 173 /* SetAccessor */) { + else if (node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -87354,69 +87656,69 @@ var ts; return quickResult; } var lastStatic, lastDeclare, lastAsync, lastOverride; - var flags = 0 /* None */; + var flags = 0 /* ModifierFlags.None */; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; - if (modifier.kind !== 145 /* ReadonlyKeyword */) { - if (node.kind === 166 /* PropertySignature */ || node.kind === 168 /* MethodSignature */) { + if (modifier.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { + if (node.kind === 166 /* SyntaxKind.PropertySignature */ || node.kind === 168 /* SyntaxKind.MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 176 /* IndexSignature */ && (modifier.kind !== 124 /* StaticKeyword */ || !ts.isClassLike(node.parent))) { + if (node.kind === 176 /* SyntaxKind.IndexSignature */ && (modifier.kind !== 124 /* SyntaxKind.StaticKeyword */ || !ts.isClassLike(node.parent))) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } - if (modifier.kind !== 101 /* InKeyword */ && modifier.kind !== 144 /* OutKeyword */) { - if (node.kind === 163 /* TypeParameter */) { + if (modifier.kind !== 101 /* SyntaxKind.InKeyword */ && modifier.kind !== 144 /* SyntaxKind.OutKeyword */) { + if (node.kind === 163 /* SyntaxKind.TypeParameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_parameter, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { - case 85 /* ConstKeyword */: - if (node.kind !== 260 /* EnumDeclaration */) { - return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(85 /* ConstKeyword */)); + case 85 /* SyntaxKind.ConstKeyword */: + if (node.kind !== 260 /* SyntaxKind.EnumDeclaration */) { + return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(85 /* SyntaxKind.ConstKeyword */)); } break; - case 159 /* OverrideKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: // If node.kind === SyntaxKind.Parameter, checkParameter reports an error if it's not a parameter property. - if (flags & 16384 /* Override */) { + if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "override"); } - else if (flags & 2 /* Ambient */) { + else if (flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "override", "declare"); } - else if (flags & 64 /* Readonly */) { + else if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "override", "readonly"); } - else if (flags & 256 /* Async */) { + else if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "override", "async"); } - flags |= 16384 /* Override */; + flags |= 16384 /* ModifierFlags.Override */; lastOverride = modifier; break; - case 123 /* PublicKeyword */: - case 122 /* ProtectedKeyword */: - case 121 /* PrivateKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: var text = visibilityToString(ts.modifierToFlag(modifier.kind)); - if (flags & 28 /* AccessibilityModifier */) { + if (flags & 28 /* ModifierFlags.AccessibilityModifier */) { return grammarErrorOnNode(modifier, ts.Diagnostics.Accessibility_modifier_already_seen); } - else if (flags & 16384 /* Override */) { + else if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "override"); } - else if (flags & 32 /* Static */) { + else if (flags & 32 /* ModifierFlags.Static */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "static"); } - else if (flags & 64 /* Readonly */) { + else if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "readonly"); } - else if (flags & 256 /* Async */) { + else if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { + else if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } - else if (flags & 128 /* Abstract */) { - if (modifier.kind === 121 /* PrivateKeyword */) { + else if (flags & 128 /* ModifierFlags.Abstract */) { + if (modifier.kind === 121 /* SyntaxKind.PrivateKeyword */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, text, "abstract"); } else { @@ -87428,186 +87730,185 @@ var ts; } flags |= ts.modifierToFlag(modifier.kind); break; - case 124 /* StaticKeyword */: - if (flags & 32 /* Static */) { + case 124 /* SyntaxKind.StaticKeyword */: + if (flags & 32 /* ModifierFlags.Static */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "static"); } - else if (flags & 64 /* Readonly */) { + else if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "readonly"); } - else if (flags & 256 /* Async */) { + else if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { + else if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 164 /* Parameter */) { + else if (node.kind === 164 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } - else if (flags & 128 /* Abstract */) { + else if (flags & 128 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); } - else if (flags & 16384 /* Override */) { + else if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "override"); } - flags |= 32 /* Static */; + flags |= 32 /* ModifierFlags.Static */; lastStatic = modifier; break; - case 145 /* ReadonlyKeyword */: - if (flags & 64 /* Readonly */) { + case 145 /* SyntaxKind.ReadonlyKeyword */: + if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 167 /* PropertyDeclaration */ && node.kind !== 166 /* PropertySignature */ && node.kind !== 176 /* IndexSignature */ && node.kind !== 164 /* Parameter */) { + else if (node.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && node.kind !== 166 /* SyntaxKind.PropertySignature */ && node.kind !== 176 /* SyntaxKind.IndexSignature */ && node.kind !== 164 /* SyntaxKind.Parameter */) { // If node.kind === SyntaxKind.Parameter, checkParameter reports an error if it's not a parameter property. return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } - flags |= 64 /* Readonly */; + flags |= 64 /* ModifierFlags.Readonly */; break; - case 93 /* ExportKeyword */: - if (flags & 1 /* Export */) { + case 93 /* SyntaxKind.ExportKeyword */: + if (flags & 1 /* ModifierFlags.Export */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "export"); } - else if (flags & 2 /* Ambient */) { + else if (flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); } - else if (flags & 128 /* Abstract */) { + else if (flags & 128 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "abstract"); } - else if (flags & 256 /* Async */) { + else if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } else if (ts.isClassLike(node.parent)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind, "export"); } - else if (node.kind === 164 /* Parameter */) { + else if (node.kind === 164 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } - flags |= 1 /* Export */; + flags |= 1 /* ModifierFlags.Export */; break; - case 88 /* DefaultKeyword */: - var container = node.parent.kind === 305 /* SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 261 /* ModuleDeclaration */ && !ts.isAmbientModule(container)) { + case 88 /* SyntaxKind.DefaultKeyword */: + var container = node.parent.kind === 305 /* SyntaxKind.SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 261 /* SyntaxKind.ModuleDeclaration */ && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } - else if (!(flags & 1 /* Export */)) { + else if (!(flags & 1 /* ModifierFlags.Export */)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "default"); } - flags |= 512 /* Default */; + flags |= 512 /* ModifierFlags.Default */; break; - case 135 /* DeclareKeyword */: - if (flags & 2 /* Ambient */) { + case 135 /* SyntaxKind.DeclareKeyword */: + if (flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "declare"); } - else if (flags & 256 /* Async */) { + else if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (flags & 16384 /* Override */) { + else if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "override"); } else if (ts.isClassLike(node.parent) && !ts.isPropertyDeclaration(node)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind, "declare"); } - else if (node.kind === 164 /* Parameter */) { + else if (node.kind === 164 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 16777216 /* Ambient */) && node.parent.kind === 262 /* ModuleBlock */) { + else if ((node.parent.flags & 16777216 /* NodeFlags.Ambient */) && node.parent.kind === 262 /* SyntaxKind.ModuleBlock */) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } else if (ts.isPrivateIdentifierClassElementDeclaration(node)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier, "declare"); } - flags |= 2 /* Ambient */; + flags |= 2 /* ModifierFlags.Ambient */; lastDeclare = modifier; break; - case 126 /* AbstractKeyword */: - if (flags & 128 /* Abstract */) { + case 126 /* SyntaxKind.AbstractKeyword */: + if (flags & 128 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 257 /* ClassDeclaration */ && - node.kind !== 180 /* ConstructorType */) { - if (node.kind !== 169 /* MethodDeclaration */ && - node.kind !== 167 /* PropertyDeclaration */ && - node.kind !== 172 /* GetAccessor */ && - node.kind !== 173 /* SetAccessor */) { + if (node.kind !== 257 /* SyntaxKind.ClassDeclaration */ && + node.kind !== 180 /* SyntaxKind.ConstructorType */) { + if (node.kind !== 169 /* SyntaxKind.MethodDeclaration */ && + node.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && + node.kind !== 172 /* SyntaxKind.GetAccessor */ && + node.kind !== 173 /* SyntaxKind.SetAccessor */) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 257 /* ClassDeclaration */ && ts.hasSyntacticModifier(node.parent, 128 /* Abstract */))) { + if (!(node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */ && ts.hasSyntacticModifier(node.parent, 128 /* ModifierFlags.Abstract */))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } - if (flags & 32 /* Static */) { + if (flags & 32 /* ModifierFlags.Static */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); } - if (flags & 8 /* Private */) { + if (flags & 8 /* ModifierFlags.Private */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "private", "abstract"); } - if (flags & 256 /* Async */ && lastAsync) { + if (flags & 256 /* ModifierFlags.Async */ && lastAsync) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract"); } - if (flags & 16384 /* Override */) { + if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "abstract", "override"); } } - if (ts.isNamedDeclaration(node) && node.name.kind === 80 /* PrivateIdentifier */) { + if (ts.isNamedDeclaration(node) && node.name.kind === 80 /* SyntaxKind.PrivateIdentifier */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier, "abstract"); } - flags |= 128 /* Abstract */; + flags |= 128 /* ModifierFlags.Abstract */; break; - case 131 /* AsyncKeyword */: - if (flags & 256 /* Async */) { + case 131 /* SyntaxKind.AsyncKeyword */: + if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "async"); } - else if (flags & 2 /* Ambient */ || node.parent.flags & 16777216 /* Ambient */) { + else if (flags & 2 /* ModifierFlags.Ambient */ || node.parent.flags & 16777216 /* NodeFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 164 /* Parameter */) { + else if (node.kind === 164 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } - if (flags & 128 /* Abstract */) { + if (flags & 128 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract"); } - flags |= 256 /* Async */; + flags |= 256 /* ModifierFlags.Async */; lastAsync = modifier; break; - case 101 /* InKeyword */: - case 144 /* OutKeyword */: - var inOutFlag = modifier.kind === 101 /* InKeyword */ ? 32768 /* In */ : 65536 /* Out */; - var inOutText = modifier.kind === 101 /* InKeyword */ ? "in" : "out"; - if (node.kind !== 163 /* TypeParameter */ || (node.parent.kind !== 258 /* InterfaceDeclaration */ && - node.parent.kind !== 257 /* ClassDeclaration */ && node.parent.kind !== 259 /* TypeAliasDeclaration */)) { + case 101 /* SyntaxKind.InKeyword */: + case 144 /* SyntaxKind.OutKeyword */: + var inOutFlag = modifier.kind === 101 /* SyntaxKind.InKeyword */ ? 32768 /* ModifierFlags.In */ : 65536 /* ModifierFlags.Out */; + var inOutText = modifier.kind === 101 /* SyntaxKind.InKeyword */ ? "in" : "out"; + if (node.kind !== 163 /* SyntaxKind.TypeParameter */ || !(ts.isInterfaceDeclaration(node.parent) || ts.isClassLike(node.parent) || ts.isTypeAliasDeclaration(node.parent))) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias, inOutText); } if (flags & inOutFlag) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, inOutText); } - if (inOutFlag & 32768 /* In */ && flags & 65536 /* Out */) { + if (inOutFlag & 32768 /* ModifierFlags.In */ && flags & 65536 /* ModifierFlags.Out */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "in", "out"); } flags |= inOutFlag; break; } } - if (node.kind === 171 /* Constructor */) { - if (flags & 32 /* Static */) { + if (node.kind === 171 /* SyntaxKind.Constructor */) { + if (flags & 32 /* ModifierFlags.Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } - if (flags & 16384 /* Override */) { + if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(lastOverride, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "override"); // TODO: GH#18217 } - if (flags & 256 /* Async */) { + if (flags & 256 /* ModifierFlags.Async */) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); } return false; } - else if ((node.kind === 266 /* ImportDeclaration */ || node.kind === 265 /* ImportEqualsDeclaration */) && flags & 2 /* Ambient */) { + else if ((node.kind === 266 /* SyntaxKind.ImportDeclaration */ || node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) && flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 164 /* Parameter */ && (flags & 16476 /* ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 164 /* SyntaxKind.Parameter */ && (flags & 16476 /* ModifierFlags.ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 164 /* Parameter */ && (flags & 16476 /* ParameterPropertyModifier */) && node.dotDotDotToken) { + else if (node.kind === 164 /* SyntaxKind.Parameter */ && (flags & 16476 /* ModifierFlags.ParameterPropertyModifier */) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } - if (flags & 256 /* Async */) { + if (flags & 256 /* ModifierFlags.Async */) { return checkGrammarAsyncModifier(node, lastAsync); } return false; @@ -87625,41 +87926,41 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 171 /* Constructor */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 176 /* IndexSignature */: - case 261 /* ModuleDeclaration */: - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: - case 272 /* ExportDeclaration */: - case 271 /* ExportAssignment */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 164 /* Parameter */: - case 163 /* TypeParameter */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 164 /* SyntaxKind.Parameter */: + case 163 /* SyntaxKind.TypeParameter */: return false; default: - if (node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { + if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { return false; } switch (node.kind) { - case 256 /* FunctionDeclaration */: - return nodeHasAnyModifiersExcept(node, 131 /* AsyncKeyword */); - case 257 /* ClassDeclaration */: - case 180 /* ConstructorType */: - return nodeHasAnyModifiersExcept(node, 126 /* AbstractKeyword */); - case 258 /* InterfaceDeclaration */: - case 237 /* VariableStatement */: - case 259 /* TypeAliasDeclaration */: - case 170 /* ClassStaticBlockDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + return nodeHasAnyModifiersExcept(node, 131 /* SyntaxKind.AsyncKeyword */); + case 257 /* SyntaxKind.ClassDeclaration */: + case 180 /* SyntaxKind.ConstructorType */: + return nodeHasAnyModifiersExcept(node, 126 /* SyntaxKind.AbstractKeyword */); + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 237 /* SyntaxKind.VariableStatement */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return true; - case 260 /* EnumDeclaration */: - return nodeHasAnyModifiersExcept(node, 85 /* ConstKeyword */); + case 260 /* SyntaxKind.EnumDeclaration */: + return nodeHasAnyModifiersExcept(node, 85 /* SyntaxKind.ConstKeyword */); default: ts.Debug.fail(); } @@ -87670,10 +87971,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 169 /* MethodDeclaration */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -87702,7 +88003,7 @@ var ts; if (i !== (parameterCount - 1)) { return grammarErrorOnNode(parameter.dotDotDotToken, ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list); } - if (!(parameter.flags & 16777216 /* Ambient */)) { // Allow `...foo,` in ambient declarations; see GH#23070 + if (!(parameter.flags & 16777216 /* NodeFlags.Ambient */)) { // Allow `...foo,` in ambient declarations; see GH#23070 checkGrammarForDisallowedTrailingComma(parameters, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); } if (parameter.questionToken) { @@ -87727,7 +88028,7 @@ var ts; return ts.filter(parameters, function (parameter) { return !!parameter.initializer || ts.isBindingPattern(parameter.name) || ts.isRestParameter(parameter); }); } function checkGrammarForUseStrictSimpleParameterList(node) { - if (languageVersion >= 3 /* ES2016 */) { + if (languageVersion >= 3 /* ScriptTarget.ES2016 */) { var useStrictDirective_1 = node.body && ts.isBlock(node.body) && ts.findUseStrictPrologue(node.body.statements); if (useStrictDirective_1) { var nonSimpleParameters = getNonSimpleParameters(node.parameters); @@ -87762,7 +88063,7 @@ var ts; return false; } if (node.typeParameters && !(ts.length(node.typeParameters) > 1 || node.typeParameters.hasTrailingComma || node.typeParameters[0].constraint)) { - if (file && ts.fileExtensionIsOneOf(file.fileName, [".mts" /* Mts */, ".cts" /* Cts */])) { + if (file && ts.fileExtensionIsOneOf(file.fileName, [".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */])) { grammarErrorOnNode(node.typeParameters[0], ts.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint); } } @@ -87798,7 +88099,7 @@ var ts; return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation); } var type = getTypeFromTypeNode(parameter.type); - if (someType(type, function (t) { return !!(t.flags & 8576 /* StringOrNumberLiteralOrUnique */); }) || isGenericType(type)) { + if (someType(type, function (t) { return !!(t.flags & 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */); }) || isGenericType(type)) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead); } if (!everyType(type, isValidIndexKeyType)) { @@ -87827,7 +88128,7 @@ var ts; checkGrammarForAtLeastOneTypeArgument(node, typeArguments); } function checkGrammarTaggedTemplateChain(node) { - if (node.questionDotToken || node.flags & 32 /* OptionalChain */) { + if (node.questionDotToken || node.flags & 32 /* NodeFlags.OptionalChain */) { return grammarErrorOnNode(node.template, ts.Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain); } return false; @@ -87844,6 +88145,9 @@ var ts; return ts.some(types, checkGrammarExpressionWithTypeArguments); } function checkGrammarExpressionWithTypeArguments(node) { + if (ts.isExpressionWithTypeArguments(node) && ts.isImportKeyword(node.expression) && node.typeArguments) { + return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); + } return checkGrammarTypeArguments(node, node.typeArguments); } function checkGrammarClassDeclarationHeritageClauses(node) { @@ -87852,7 +88156,7 @@ var ts; if (!checkGrammarDecoratorsAndModifiers(node) && node.heritageClauses) { for (var _i = 0, _a = node.heritageClauses; _i < _a.length; _i++) { var heritageClause = _a[_i]; - if (heritageClause.token === 94 /* ExtendsKeyword */) { + if (heritageClause.token === 94 /* SyntaxKind.ExtendsKeyword */) { if (seenExtendsClause) { return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.extends_clause_already_seen); } @@ -87865,7 +88169,7 @@ var ts; seenExtendsClause = true; } else { - ts.Debug.assert(heritageClause.token === 117 /* ImplementsKeyword */); + ts.Debug.assert(heritageClause.token === 117 /* SyntaxKind.ImplementsKeyword */); if (seenImplementsClause) { return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.implements_clause_already_seen); } @@ -87881,14 +88185,14 @@ var ts; if (node.heritageClauses) { for (var _i = 0, _a = node.heritageClauses; _i < _a.length; _i++) { var heritageClause = _a[_i]; - if (heritageClause.token === 94 /* ExtendsKeyword */) { + if (heritageClause.token === 94 /* SyntaxKind.ExtendsKeyword */) { if (seenExtendsClause) { return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.extends_clause_already_seen); } seenExtendsClause = true; } else { - ts.Debug.assert(heritageClause.token === 117 /* ImplementsKeyword */); + ts.Debug.assert(heritageClause.token === 117 /* SyntaxKind.ImplementsKeyword */); return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.Interface_declaration_cannot_have_implements_clause); } // Grammar checking heritageClause inside class declaration @@ -87899,21 +88203,21 @@ var ts; } function checkGrammarComputedPropertyName(node) { // If node is not a computedPropertyName, just skip the grammar checking - if (node.kind !== 162 /* ComputedPropertyName */) { + if (node.kind !== 162 /* SyntaxKind.ComputedPropertyName */) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 221 /* BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 27 /* CommaToken */) { + if (computedPropertyName.expression.kind === 221 /* SyntaxKind.BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 256 /* FunctionDeclaration */ || - node.kind === 213 /* FunctionExpression */ || - node.kind === 169 /* MethodDeclaration */); - if (node.flags & 16777216 /* Ambient */) { + ts.Debug.assert(node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || + node.kind === 213 /* SyntaxKind.FunctionExpression */ || + node.kind === 169 /* SyntaxKind.MethodDeclaration */); + if (node.flags & 16777216 /* NodeFlags.Ambient */) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } if (!node.body) { @@ -87931,7 +88235,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 298 /* SpreadAssignment */) { + if (prop.kind === 298 /* SyntaxKind.SpreadAssignment */) { if (inDestructuring) { // a rest property cannot be destructured any further var expression = ts.skipParentheses(prop.expression); @@ -87942,23 +88246,23 @@ var ts; continue; } var name = prop.name; - if (name.kind === 162 /* ComputedPropertyName */) { + if (name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { // If the name is not a ComputedPropertyName, the grammar checking will skip it checkGrammarComputedPropertyName(name); } - if (prop.kind === 297 /* ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern); } - if (name.kind === 80 /* PrivateIdentifier */) { + if (name.kind === 80 /* SyntaxKind.PrivateIdentifier */) { grammarErrorOnNode(name, ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies); } // Modifiers are never allowed on properties except for 'async' on a method declaration if (prop.modifiers) { for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; - if (mod.kind !== 131 /* AsyncKeyword */ || prop.kind !== 169 /* MethodDeclaration */) { + if (mod.kind !== 131 /* SyntaxKind.AsyncKeyword */ || prop.kind !== 169 /* SyntaxKind.MethodDeclaration */) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } @@ -87973,25 +88277,25 @@ var ts; // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields var currentKind = void 0; switch (prop.kind) { - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: checkGrammarForInvalidExclamationToken(prop.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); // falls through - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); - if (name.kind === 8 /* NumericLiteral */) { + if (name.kind === 8 /* SyntaxKind.NumericLiteral */) { checkGrammarNumericLiteral(name); } - currentKind = 4 /* PropertyAssignment */; + currentKind = 4 /* DeclarationMeaning.PropertyAssignment */; break; - case 169 /* MethodDeclaration */: - currentKind = 8 /* Method */; + case 169 /* SyntaxKind.MethodDeclaration */: + currentKind = 8 /* DeclarationMeaning.Method */; break; - case 172 /* GetAccessor */: - currentKind = 1 /* GetAccessor */; + case 172 /* SyntaxKind.GetAccessor */: + currentKind = 1 /* DeclarationMeaning.GetAccessor */; break; - case 173 /* SetAccessor */: - currentKind = 2 /* SetAccessor */; + case 173 /* SyntaxKind.SetAccessor */: + currentKind = 2 /* DeclarationMeaning.SetAccessor */; break; default: throw ts.Debug.assertNever(prop, "Unexpected syntax kind:" + prop.kind); @@ -88006,14 +88310,14 @@ var ts; seen.set(effectiveName, currentKind); } else { - if ((currentKind & 8 /* Method */) && (existingKind & 8 /* Method */)) { + if ((currentKind & 8 /* DeclarationMeaning.Method */) && (existingKind & 8 /* DeclarationMeaning.Method */)) { grammarErrorOnNode(name, ts.Diagnostics.Duplicate_identifier_0, ts.getTextOfNode(name)); } - else if ((currentKind & 4 /* PropertyAssignment */) && (existingKind & 4 /* PropertyAssignment */)) { + else if ((currentKind & 4 /* DeclarationMeaning.PropertyAssignment */) && (existingKind & 4 /* DeclarationMeaning.PropertyAssignment */)) { grammarErrorOnNode(name, ts.Diagnostics.An_object_literal_cannot_have_multiple_properties_with_the_same_name, ts.getTextOfNode(name)); } - else if ((currentKind & 3 /* GetOrSetAccessor */) && (existingKind & 3 /* GetOrSetAccessor */)) { - if (existingKind !== 3 /* GetOrSetAccessor */ && currentKind !== existingKind) { + else if ((currentKind & 3 /* DeclarationMeaning.GetOrSetAccessor */) && (existingKind & 3 /* DeclarationMeaning.GetOrSetAccessor */)) { + if (existingKind !== 3 /* DeclarationMeaning.GetOrSetAccessor */ && currentKind !== existingKind) { seen.set(effectiveName, currentKind | existingKind); } else { @@ -88033,7 +88337,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 287 /* JsxSpreadAttribute */) { + if (attr.kind === 287 /* SyntaxKind.JsxSpreadAttribute */) { continue; } var name = attr.name, initializer = attr.initializer; @@ -88043,7 +88347,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 288 /* JsxExpression */ && !initializer.expression) { + if (initializer && initializer.kind === 288 /* SyntaxKind.JsxExpression */ && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -88078,16 +88382,32 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 244 /* ForOfStatement */ && forInOrOfStatement.awaitModifier) { - if (!(forInOrOfStatement.flags & 32768 /* AwaitContext */)) { + if (forInOrOfStatement.kind === 244 /* SyntaxKind.ForOfStatement */ && forInOrOfStatement.awaitModifier) { + if (!(forInOrOfStatement.flags & 32768 /* NodeFlags.AwaitContext */)) { var sourceFile = ts.getSourceFileOfNode(forInOrOfStatement); if (ts.isInTopLevelContext(forInOrOfStatement)) { if (!hasParseDiagnostics(sourceFile)) { if (!ts.isEffectiveExternalModule(sourceFile, compilerOptions)) { diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module)); } - if ((moduleKind !== ts.ModuleKind.ES2022 && moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System && !(moduleKind === ts.ModuleKind.NodeNext && ts.getSourceFileOfNode(forInOrOfStatement).impliedNodeFormat === ts.ModuleKind.ESNext)) || languageVersion < 4 /* ES2017 */) { - diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher)); + switch (moduleKind) { + case ts.ModuleKind.Node16: + case ts.ModuleKind.NodeNext: + if (sourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS) { + diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level)); + break; + } + // fallthrough + case ts.ModuleKind.ES2022: + case ts.ModuleKind.ESNext: + case ts.ModuleKind.System: + if (languageVersion >= 4 /* ScriptTarget.ES2017 */) { + break; + } + // fallthrough + default: + diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher)); + break; } } } @@ -88096,8 +88416,8 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var diagnostic = ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); var func = ts.getContainingFunction(forInOrOfStatement); - if (func && func.kind !== 171 /* Constructor */) { - ts.Debug.assert((ts.getFunctionFlags(func) & 2 /* Async */) === 0, "Enclosing function should never be an async function."); + if (func && func.kind !== 171 /* SyntaxKind.Constructor */) { + ts.Debug.assert((ts.getFunctionFlags(func) & 2 /* FunctionFlags.Async */) === 0, "Enclosing function should never be an async function."); var relatedInfo = ts.createDiagnosticForNode(func, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); ts.addRelatedInfo(diagnostic, relatedInfo); } @@ -88108,12 +88428,12 @@ var ts; return false; } } - if (ts.isForOfStatement(forInOrOfStatement) && !(forInOrOfStatement.flags & 32768 /* AwaitContext */) && + if (ts.isForOfStatement(forInOrOfStatement) && !(forInOrOfStatement.flags & 32768 /* NodeFlags.AwaitContext */) && ts.isIdentifier(forInOrOfStatement.initializer) && forInOrOfStatement.initializer.escapedText === "async") { grammarErrorOnNode(forInOrOfStatement.initializer, ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async); return false; } - if (forInOrOfStatement.initializer.kind === 255 /* VariableDeclarationList */) { + if (forInOrOfStatement.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -88128,20 +88448,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 243 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 243 /* SyntaxKind.ForInStatement */ ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 243 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 243 /* SyntaxKind.ForInStatement */ ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 243 /* ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 243 /* SyntaxKind.ForInStatement */ ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -88151,22 +88471,22 @@ var ts; return false; } function checkGrammarAccessor(accessor) { - if (!(accessor.flags & 16777216 /* Ambient */) && (accessor.parent.kind !== 182 /* TypeLiteral */) && (accessor.parent.kind !== 258 /* InterfaceDeclaration */)) { - if (languageVersion < 1 /* ES5 */) { + if (!(accessor.flags & 16777216 /* NodeFlags.Ambient */) && (accessor.parent.kind !== 182 /* SyntaxKind.TypeLiteral */) && (accessor.parent.kind !== 258 /* SyntaxKind.InterfaceDeclaration */)) { + if (languageVersion < 1 /* ScriptTarget.ES5 */) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); } - if (languageVersion < 2 /* ES2015 */ && ts.isPrivateIdentifier(accessor.name)) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */ && ts.isPrivateIdentifier(accessor.name)) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); } - if (accessor.body === undefined && !ts.hasSyntacticModifier(accessor, 128 /* Abstract */)) { + if (accessor.body === undefined && !ts.hasSyntacticModifier(accessor, 128 /* ModifierFlags.Abstract */)) { return grammarErrorAtPos(accessor, accessor.end - 1, ";".length, ts.Diagnostics._0_expected, "{"); } } if (accessor.body) { - if (ts.hasSyntacticModifier(accessor, 128 /* Abstract */)) { + if (ts.hasSyntacticModifier(accessor, 128 /* ModifierFlags.Abstract */)) { return grammarErrorOnNode(accessor, ts.Diagnostics.An_abstract_accessor_cannot_have_an_implementation); } - if (accessor.parent.kind === 182 /* TypeLiteral */ || accessor.parent.kind === 258 /* InterfaceDeclaration */) { + if (accessor.parent.kind === 182 /* SyntaxKind.TypeLiteral */ || accessor.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { return grammarErrorOnNode(accessor.body, ts.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts); } } @@ -88174,11 +88494,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, accessor.kind === 172 /* GetAccessor */ ? + return grammarErrorOnNode(accessor.name, accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - if (accessor.kind === 173 /* SetAccessor */) { + if (accessor.kind === 173 /* SyntaxKind.SetAccessor */) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -88200,17 +88520,17 @@ var ts; * A set accessor has one parameter or a `this` parameter and one more parameter. */ function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 172 /* GetAccessor */ ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 172 /* GetAccessor */ ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? 1 : 2)) { return ts.getThisParameter(accessor); } } function checkGrammarTypeOperatorNode(node) { - if (node.operator === 154 /* UniqueKeyword */) { - if (node.type.kind !== 151 /* SymbolKeyword */) { - return grammarErrorOnNode(node.type, ts.Diagnostics._0_expected, ts.tokenToString(151 /* SymbolKeyword */)); + if (node.operator === 154 /* SyntaxKind.UniqueKeyword */) { + if (node.type.kind !== 151 /* SyntaxKind.SymbolKeyword */) { + return grammarErrorOnNode(node.type, ts.Diagnostics._0_expected, ts.tokenToString(151 /* SyntaxKind.SymbolKeyword */)); } var parent = ts.walkUpParenthesizedTypes(node.parent); if (ts.isInJSFile(parent) && ts.isJSDocTypeExpression(parent)) { @@ -88220,26 +88540,26 @@ var ts; } } switch (parent.kind) { - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: var decl = parent; - if (decl.name.kind !== 79 /* Identifier */) { + if (decl.name.kind !== 79 /* SyntaxKind.Identifier */) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); } if (!ts.isVariableDeclarationInVariableStatement(decl)) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement); } - if (!(decl.parent.flags & 2 /* Const */)) { + if (!(decl.parent.flags & 2 /* NodeFlags.Const */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: if (!ts.isStatic(parent) || !ts.hasEffectiveReadonlyModifier(parent)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 166 /* PropertySignature */: - if (!ts.hasSyntacticModifier(parent, 64 /* Readonly */)) { + case 166 /* SyntaxKind.PropertySignature */: + if (!ts.hasSyntacticModifier(parent, 64 /* ModifierFlags.Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } break; @@ -88247,9 +88567,9 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_are_not_allowed_here); } } - else if (node.operator === 145 /* ReadonlyKeyword */) { - if (node.type.kind !== 183 /* ArrayType */ && node.type.kind !== 184 /* TupleType */) { - return grammarErrorOnFirstToken(node, ts.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, ts.tokenToString(151 /* SymbolKeyword */)); + else if (node.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { + if (node.type.kind !== 183 /* SyntaxKind.ArrayType */ && node.type.kind !== 184 /* SyntaxKind.TupleType */) { + return grammarErrorOnFirstToken(node, ts.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, ts.tokenToString(151 /* SyntaxKind.SymbolKeyword */)); } } } @@ -88262,10 +88582,10 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 169 /* MethodDeclaration */) { - if (node.parent.kind === 205 /* ObjectLiteralExpression */) { + if (node.kind === 169 /* SyntaxKind.MethodDeclaration */) { + if (node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { // We only disallow modifier on a method declaration if it is a property of object-literal-expression - if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 131 /* AsyncKeyword */)) { + if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 131 /* SyntaxKind.AsyncKeyword */)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); } else if (checkGrammarForInvalidQuestionMark(node.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional)) { @@ -88283,7 +88603,7 @@ var ts; } } if (ts.isClassLike(node.parent)) { - if (languageVersion < 2 /* ES2015 */ && ts.isPrivateIdentifier(node.name)) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */ && ts.isPrivateIdentifier(node.name)) { return grammarErrorOnNode(node.name, ts.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); } // Technically, computed properties in ambient contexts is disallowed @@ -88291,17 +88611,17 @@ var ts; // However, property declarations disallow computed names in general, // and accessors are not allowed in ambient contexts in general, // so this error only really matters for methods. - if (node.flags & 16777216 /* Ambient */) { + if (node.flags & 16777216 /* NodeFlags.Ambient */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 169 /* MethodDeclaration */ && !node.body) { + else if (node.kind === 169 /* SyntaxKind.MethodDeclaration */ && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 258 /* InterfaceDeclaration */) { + else if (node.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 182 /* TypeLiteral */) { + else if (node.parent.kind === 182 /* SyntaxKind.TypeLiteral */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -88312,11 +88632,11 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: if (node.label && current.label.escapedText === node.label.escapedText) { // found matching label - verify that label usage is correct // continue can only target labels that are on iteration statements - var isMisplacedContinueLabel = node.kind === 245 /* ContinueStatement */ + var isMisplacedContinueLabel = node.kind === 245 /* SyntaxKind.ContinueStatement */ && !ts.isIterationStatement(current.statement, /*lookInLabeledStatement*/ true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -88324,8 +88644,8 @@ var ts; return false; } break; - case 249 /* SwitchStatement */: - if (node.kind === 246 /* BreakStatement */ && !node.label) { + case 249 /* SyntaxKind.SwitchStatement */: + if (node.kind === 246 /* SyntaxKind.BreakStatement */ && !node.label) { // unlabeled break within switch statement - ok return false; } @@ -88340,13 +88660,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 246 /* BreakStatement */ + var message = node.kind === 246 /* SyntaxKind.BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 246 /* BreakStatement */ + var message = node.kind === 246 /* SyntaxKind.BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -88370,18 +88690,18 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return ts.isStringOrNumericLiteralLike(expr) || - expr.kind === 219 /* PrefixUnaryExpression */ && expr.operator === 40 /* MinusToken */ && - expr.operand.kind === 8 /* NumericLiteral */; + expr.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ && expr.operator === 40 /* SyntaxKind.MinusToken */ && + expr.operand.kind === 8 /* SyntaxKind.NumericLiteral */; } function isBigIntLiteralExpression(expr) { - return expr.kind === 9 /* BigIntLiteral */ || - expr.kind === 219 /* PrefixUnaryExpression */ && expr.operator === 40 /* MinusToken */ && - expr.operand.kind === 9 /* BigIntLiteral */; + return expr.kind === 9 /* SyntaxKind.BigIntLiteral */ || + expr.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ && expr.operator === 40 /* SyntaxKind.MinusToken */ && + expr.operand.kind === 9 /* SyntaxKind.BigIntLiteral */; } function isSimpleLiteralEnumReference(expr) { if ((ts.isPropertyAccessExpression(expr) || (ts.isElementAccessExpression(expr) && isStringOrNumberLiteralExpression(expr.argumentExpression))) && ts.isEntityNameExpression(expr.expression)) { - return !!(checkExpressionCached(expr).flags & 1024 /* EnumLiteral */); + return !!(checkExpressionCached(expr).flags & 1024 /* TypeFlags.EnumLiteral */); } } function checkAmbientInitializer(node) { @@ -88389,7 +88709,7 @@ var ts; if (initializer) { var isInvalidInitializer = !(isStringOrNumberLiteralExpression(initializer) || isSimpleLiteralEnumReference(initializer) || - initializer.kind === 110 /* TrueKeyword */ || initializer.kind === 95 /* FalseKeyword */ || + initializer.kind === 110 /* SyntaxKind.TrueKeyword */ || initializer.kind === 95 /* SyntaxKind.FalseKeyword */ || isBigIntLiteralExpression(initializer)); var isConstOrReadonly = ts.isDeclarationReadonly(node) || ts.isVariableDeclaration(node) && ts.isVarConst(node); if (isConstOrReadonly && !node.type) { @@ -88406,8 +88726,8 @@ var ts; } } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 243 /* ForInStatement */ && node.parent.parent.kind !== 244 /* ForOfStatement */) { - if (node.flags & 16777216 /* Ambient */) { + if (node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */ && node.parent.parent.kind !== 244 /* SyntaxKind.ForOfStatement */) { + if (node.flags & 16777216 /* NodeFlags.Ambient */) { checkAmbientInitializer(node); } else if (!node.initializer) { @@ -88419,7 +88739,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 237 /* VariableStatement */ || !node.type || node.initializer || node.flags & 16777216 /* Ambient */)) { + if (node.exclamationToken && (node.parent.parent.kind !== 237 /* SyntaxKind.VariableStatement */ || !node.type || node.initializer || node.flags & 16777216 /* NodeFlags.Ambient */)) { var message = node.initializer ? ts.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : !node.type @@ -88428,7 +88748,7 @@ var ts; return grammarErrorOnNode(node.exclamationToken, message); } if ((moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && moduleKind !== ts.ModuleKind.System && - !(node.parent.parent.flags & 16777216 /* Ambient */) && ts.hasSyntacticModifier(node.parent.parent, 1 /* Export */)) { + !(node.parent.parent.flags & 16777216 /* NodeFlags.Ambient */) && ts.hasSyntacticModifier(node.parent.parent, 1 /* ModifierFlags.Export */)) { checkESModuleMarker(node.name); } var checkLetConstNames = (ts.isLet(node) || ts.isVarConst(node)); @@ -88441,7 +88761,7 @@ var ts; return checkLetConstNames && checkGrammarNameInLetOrConstDeclarations(node.name); } function checkESModuleMarker(name) { - if (name.kind === 79 /* Identifier */) { + if (name.kind === 79 /* SyntaxKind.Identifier */) { if (ts.idText(name) === "__esModule") { return grammarErrorOnNodeSkippedOn("noEmit", name, ts.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules); } @@ -88458,8 +88778,8 @@ var ts; return false; } function checkGrammarNameInLetOrConstDeclarations(name) { - if (name.kind === 79 /* Identifier */) { - if (name.originalKeywordKind === 119 /* LetKeyword */) { + if (name.kind === 79 /* SyntaxKind.Identifier */) { + if (name.originalKeywordKind === 119 /* SyntaxKind.LetKeyword */) { return grammarErrorOnNode(name, ts.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations); } } @@ -88486,15 +88806,15 @@ var ts; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 239 /* IfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 248 /* WithStatement */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return false; - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -88512,12 +88832,12 @@ var ts; function checkGrammarMetaProperty(node) { var escapedText = node.name.escapedText; switch (node.keywordToken) { - case 103 /* NewKeyword */: + case 103 /* SyntaxKind.NewKeyword */: if (escapedText !== "target") { return grammarErrorOnNode(node.name, ts.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, node.name.escapedText, ts.tokenToString(node.keywordToken), "target"); } break; - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: if (escapedText !== "meta") { return grammarErrorOnNode(node.name, ts.Diagnostics._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2, node.name.escapedText, ts.tokenToString(node.keywordToken), "meta"); } @@ -88575,7 +88895,7 @@ var ts; } } function checkGrammarProperty(node) { - if (ts.isComputedPropertyName(node.name) && ts.isBinaryExpression(node.name.expression) && node.name.expression.operatorToken.kind === 101 /* InKeyword */) { + if (ts.isComputedPropertyName(node.name) && ts.isBinaryExpression(node.name.expression) && node.name.expression.operatorToken.kind === 101 /* SyntaxKind.InKeyword */) { return grammarErrorOnNode(node.parent.members[0], ts.Diagnostics.A_mapped_type_may_not_declare_properties_or_methods); } if (ts.isClassLike(node.parent)) { @@ -88585,11 +88905,11 @@ var ts; if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type)) { return true; } - if (languageVersion < 2 /* ES2015 */ && ts.isPrivateIdentifier(node.name)) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */ && ts.isPrivateIdentifier(node.name)) { return grammarErrorOnNode(node.name, ts.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); } } - else if (node.parent.kind === 258 /* InterfaceDeclaration */) { + else if (node.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -88605,11 +88925,11 @@ var ts; return grammarErrorOnNode(node.initializer, ts.Diagnostics.A_type_literal_property_cannot_have_an_initializer); } } - if (node.flags & 16777216 /* Ambient */) { + if (node.flags & 16777216 /* NodeFlags.Ambient */) { checkAmbientInitializer(node); } if (ts.isPropertyDeclaration(node) && node.exclamationToken && (!ts.isClassLike(node.parent) || !node.type || node.initializer || - node.flags & 16777216 /* Ambient */ || ts.isStatic(node) || ts.hasAbstractModifier(node))) { + node.flags & 16777216 /* NodeFlags.Ambient */ || ts.isStatic(node) || ts.hasAbstractModifier(node))) { var message = node.initializer ? ts.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : !node.type @@ -88631,14 +88951,14 @@ var ts; // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if (node.kind === 258 /* InterfaceDeclaration */ || - node.kind === 259 /* TypeAliasDeclaration */ || - node.kind === 266 /* ImportDeclaration */ || - node.kind === 265 /* ImportEqualsDeclaration */ || - node.kind === 272 /* ExportDeclaration */ || - node.kind === 271 /* ExportAssignment */ || - node.kind === 264 /* NamespaceExportDeclaration */ || - ts.hasSyntacticModifier(node, 2 /* Ambient */ | 1 /* Export */ | 512 /* Default */)) { + if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || + node.kind === 259 /* SyntaxKind.TypeAliasDeclaration */ || + node.kind === 266 /* SyntaxKind.ImportDeclaration */ || + node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ || + node.kind === 272 /* SyntaxKind.ExportDeclaration */ || + node.kind === 271 /* SyntaxKind.ExportAssignment */ || + node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ || + ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */ | 1 /* ModifierFlags.Export */ | 512 /* ModifierFlags.Default */)) { return false; } return grammarErrorOnFirstToken(node, ts.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier); @@ -88646,7 +88966,7 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 237 /* VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 237 /* SyntaxKind.VariableStatement */) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } @@ -88655,10 +88975,10 @@ var ts; return false; } function checkGrammarSourceFile(node) { - return !!(node.flags & 16777216 /* Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); + return !!(node.flags & 16777216 /* NodeFlags.Ambient */) && checkGrammarTopLevelElementsForRequiredDeclareModifier(node); } function checkGrammarStatementInAmbientContext(node) { - if (node.flags & 16777216 /* Ambient */) { + if (node.flags & 16777216 /* NodeFlags.Ambient */) { // Find containing block which is either Block, ModuleBlock, SourceFile var links = getNodeLinks(node); if (!links.hasReportedStatementInAmbientContext && (ts.isFunctionLike(node.parent) || ts.isAccessor(node.parent))) { @@ -88669,7 +88989,7 @@ var ts; // to prevent noisiness. So use a bit on the block to indicate if // this has already been reported, and don't report if it has. // - if (node.parent.kind === 235 /* Block */ || node.parent.kind === 262 /* ModuleBlock */ || node.parent.kind === 305 /* SourceFile */) { + if (node.parent.kind === 235 /* SyntaxKind.Block */ || node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { var links_2 = getNodeLinks(node.parent); // Check if the containing block ever report this error if (!links_2.hasReportedStatementInAmbientContext) { @@ -88686,19 +89006,19 @@ var ts; } function checkGrammarNumericLiteral(node) { // Grammar checking - if (node.numericLiteralFlags & 32 /* Octal */) { + if (node.numericLiteralFlags & 32 /* TokenFlags.Octal */) { var diagnosticMessage = void 0; - if (languageVersion >= 1 /* ES5 */) { + if (languageVersion >= 1 /* ScriptTarget.ES5 */) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 196 /* LiteralType */)) { + else if (ts.isChildOfNodeWithKind(node, 196 /* SyntaxKind.LiteralType */)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 299 /* EnumMember */)) { + else if (ts.isChildOfNodeWithKind(node, 299 /* SyntaxKind.EnumMember */)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { - var withMinus = ts.isPrefixUnaryExpression(node.parent) && node.parent.operator === 40 /* MinusToken */; + var withMinus = ts.isPrefixUnaryExpression(node.parent) && node.parent.operator === 40 /* SyntaxKind.MinusToken */; var literal = (withMinus ? "-" : "") + "0o" + node.text; return grammarErrorOnNode(withMinus ? node.parent : node, diagnosticMessage, literal); } @@ -88711,7 +89031,7 @@ var ts; // We should test against `getTextOfNode(node)` rather than `node.text`, because `node.text` for large numeric literals can contain "." // e.g. `node.text` for numeric literal `1100000000000000000000` is `1.1e21`. var isFractional = ts.getTextOfNode(node).indexOf(".") !== -1; - var isScientific = node.numericLiteralFlags & 16 /* Scientific */; + var isScientific = node.numericLiteralFlags & 16 /* TokenFlags.Scientific */; // Scientific notation (e.g. 2e54 and 1e00000000010) can't be converted to bigint // Fractional numbers (e.g. 9000000000000000.001) are inherently imprecise anyway if (isFractional || isScientific) { @@ -88732,7 +89052,7 @@ var ts; var literalType = ts.isLiteralTypeNode(node.parent) || ts.isPrefixUnaryExpression(node.parent) && ts.isLiteralTypeNode(node.parent.parent); if (!literalType) { - if (languageVersion < 7 /* ES2020 */) { + if (languageVersion < 7 /* ScriptTarget.ES2020 */) { if (grammarErrorOnNode(node, ts.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020)) { return true; } @@ -88766,7 +89086,7 @@ var ts; if (node.isTypeOnly && node.name && node.namedBindings) { return grammarErrorOnNode(node, ts.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both); } - if (node.isTypeOnly && ((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 269 /* NamedImports */) { + if (node.isTypeOnly && ((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 269 /* SyntaxKind.NamedImports */) { return checkGrammarNamedImportsOrExports(node.namedBindings); } return false; @@ -88774,7 +89094,7 @@ var ts; function checkGrammarNamedImportsOrExports(namedBindings) { return !!ts.forEach(namedBindings.elements, function (specifier) { if (specifier.isTypeOnly) { - return grammarErrorOnFirstToken(specifier, specifier.kind === 270 /* ImportSpecifier */ + return grammarErrorOnFirstToken(specifier, specifier.kind === 270 /* SyntaxKind.ImportSpecifier */ ? ts.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement : ts.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement); } @@ -88782,10 +89102,10 @@ var ts; } function checkGrammarImportCallExpression(node) { if (moduleKind === ts.ModuleKind.ES2015) { - return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node12_or_nodenext); + return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext); } if (node.typeArguments) { - return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_import_cannot_have_type_arguments); + return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { @@ -88793,7 +89113,7 @@ var ts; checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { var assertionArgument = nodeArguments[1]; - return grammarErrorOnNode(assertionArgument, ts.Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_or_nodenext); + return grammarErrorOnNode(assertionArgument, ts.Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext); } } if (nodeArguments.length === 0 || nodeArguments.length > 2) { @@ -88809,14 +89129,14 @@ var ts; } function findMatchingTypeReferenceOrTypeAliasReference(source, unionTarget) { var sourceObjectFlags = ts.getObjectFlags(source); - if (sourceObjectFlags & (4 /* Reference */ | 16 /* Anonymous */) && unionTarget.flags & 1048576 /* Union */) { + if (sourceObjectFlags & (4 /* ObjectFlags.Reference */ | 16 /* ObjectFlags.Anonymous */) && unionTarget.flags & 1048576 /* TypeFlags.Union */) { return ts.find(unionTarget.types, function (target) { - if (target.flags & 524288 /* Object */) { + if (target.flags & 524288 /* TypeFlags.Object */) { var overlapObjFlags = sourceObjectFlags & ts.getObjectFlags(target); - if (overlapObjFlags & 4 /* Reference */) { + if (overlapObjFlags & 4 /* ObjectFlags.Reference */) { return source.target === target.target; } - if (overlapObjFlags & 16 /* Anonymous */) { + if (overlapObjFlags & 16 /* ObjectFlags.Anonymous */) { return !!source.aliasSymbol && source.aliasSymbol === target.aliasSymbol; } } @@ -88825,35 +89145,35 @@ var ts; } } function findBestTypeForObjectLiteral(source, unionTarget) { - if (ts.getObjectFlags(source) & 128 /* ObjectLiteral */ && someType(unionTarget, isArrayLikeType)) { + if (ts.getObjectFlags(source) & 128 /* ObjectFlags.ObjectLiteral */ && someType(unionTarget, isArrayLikeType)) { return ts.find(unionTarget.types, function (t) { return !isArrayLikeType(t); }); } } function findBestTypeForInvokable(source, unionTarget) { - var signatureKind = 0 /* Call */; + var signatureKind = 0 /* SignatureKind.Call */; var hasSignatures = getSignaturesOfType(source, signatureKind).length > 0 || - (signatureKind = 1 /* Construct */, getSignaturesOfType(source, signatureKind).length > 0); + (signatureKind = 1 /* SignatureKind.Construct */, getSignaturesOfType(source, signatureKind).length > 0); if (hasSignatures) { return ts.find(unionTarget.types, function (t) { return getSignaturesOfType(t, signatureKind).length > 0; }); } } function findMostOverlappyType(source, unionTarget) { var bestMatch; - if (!(source.flags & (131068 /* Primitive */ | 406847488 /* InstantiablePrimitive */))) { + if (!(source.flags & (131068 /* TypeFlags.Primitive */ | 406847488 /* TypeFlags.InstantiablePrimitive */))) { var matchingCount = 0; for (var _i = 0, _a = unionTarget.types; _i < _a.length; _i++) { var target = _a[_i]; - if (!(target.flags & (131068 /* Primitive */ | 406847488 /* InstantiablePrimitive */))) { + if (!(target.flags & (131068 /* TypeFlags.Primitive */ | 406847488 /* TypeFlags.InstantiablePrimitive */))) { var overlap = getIntersectionType([getIndexType(source), getIndexType(target)]); - if (overlap.flags & 4194304 /* Index */) { + if (overlap.flags & 4194304 /* TypeFlags.Index */) { // perfect overlap of keys return target; } - else if (isUnitType(overlap) || overlap.flags & 1048576 /* Union */) { + else if (isUnitType(overlap) || overlap.flags & 1048576 /* TypeFlags.Union */) { // We only want to account for literal types otherwise. // If we have a union of index types, it seems likely that we // needed to elaborate between two generic mapped types anyway. - var len = overlap.flags & 1048576 /* Union */ ? ts.countWhere(overlap.types, isUnitType) : 1; + var len = overlap.flags & 1048576 /* TypeFlags.Union */ ? ts.countWhere(overlap.types, isUnitType) : 1; if (len >= matchingCount) { bestMatch = target; matchingCount = len; @@ -88865,9 +89185,9 @@ var ts; return bestMatch; } function filterPrimitivesIfContainsNonPrimitive(type) { - if (maybeTypeOfKind(type, 67108864 /* NonPrimitive */)) { - var result = filterType(type, function (t) { return !(t.flags & 131068 /* Primitive */); }); - if (!(result.flags & 131072 /* Never */)) { + if (maybeTypeOfKind(type, 67108864 /* TypeFlags.NonPrimitive */)) { + var result = filterType(type, function (t) { return !(t.flags & 131068 /* TypeFlags.Primitive */); }); + if (!(result.flags & 131072 /* TypeFlags.Never */)) { return result; } } @@ -88875,7 +89195,7 @@ var ts; } // Keep this up-to-date with the same logic within `getApparentTypeOfContextualType`, since they should behave similarly function findMatchingDiscriminantType(source, target, isRelatedTo, skipPartial) { - if (target.flags & 1048576 /* Union */ && source.flags & (2097152 /* Intersection */ | 524288 /* Object */)) { + if (target.flags & 1048576 /* TypeFlags.Union */ && source.flags & (2097152 /* TypeFlags.Intersection */ | 524288 /* TypeFlags.Object */)) { var match = getMatchingUnionConstituentForType(target, source); if (match) { return match; @@ -88897,14 +89217,14 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 256 /* FunctionDeclaration */ && declaration.kind !== 169 /* MethodDeclaration */) || + return (declaration.kind !== 256 /* SyntaxKind.FunctionDeclaration */ && declaration.kind !== 169 /* SyntaxKind.MethodDeclaration */) || !!declaration.body; } /** Like 'isDeclarationName', but returns true for LHS of `import { x as y }` or `export { x as y }`. */ function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -88924,17 +89244,17 @@ var ts; })(JsxNames || (JsxNames = {})); function getIterationTypesKeyFromIterationTypeKind(typeKind) { switch (typeKind) { - case 0 /* Yield */: return "yieldType"; - case 1 /* Return */: return "returnType"; - case 2 /* Next */: return "nextType"; + case 0 /* IterationTypeKind.Yield */: return "yieldType"; + case 1 /* IterationTypeKind.Return */: return "returnType"; + case 2 /* IterationTypeKind.Next */: return "nextType"; } } function signatureHasRestParameter(s) { - return !!(s.flags & 1 /* HasRestParameter */); + return !!(s.flags & 1 /* SignatureFlags.HasRestParameter */); } ts.signatureHasRestParameter = signatureHasRestParameter; function signatureHasLiteralTypes(s) { - return !!(s.flags & 2 /* HasLiteralTypes */); + return !!(s.flags & 2 /* SignatureFlags.HasLiteralTypes */); } ts.signatureHasLiteralTypes = signatureHasLiteralTypes; })(ts || (ts = {})); @@ -89048,7 +89368,7 @@ var ts; var updated; context.startLexicalEnvironment(); if (nodes) { - context.setLexicalEnvironmentFlags(1 /* InParameters */, true); + context.setLexicalEnvironmentFlags(1 /* LexicalEnvironmentFlags.InParameters */, true); updated = nodesVisitor(nodes, visitor, ts.isParameterDeclaration); // As of ES2015, any runtime execution of that occurs in for a parameter (such as evaluating an // initializer or a binding pattern), occurs in its own lexical scope. As a result, any expression @@ -89056,11 +89376,11 @@ var ts; // exists in a different lexical scope. To address this, we move any binding patterns and initializers // in a parameter list to the body if we detect a variable being hoisted while visiting a parameter list // when the emit target is greater than ES2015. - if (context.getLexicalEnvironmentFlags() & 2 /* VariablesHoistedInParameters */ && - ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ES2015 */) { + if (context.getLexicalEnvironmentFlags() & 2 /* LexicalEnvironmentFlags.VariablesHoistedInParameters */ && + ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ScriptTarget.ES2015 */) { updated = addDefaultValueAssignmentsIfNeeded(updated, context); } - context.setLexicalEnvironmentFlags(1 /* InParameters */, false); + context.setLexicalEnvironmentFlags(1 /* LexicalEnvironmentFlags.InParameters */, false); } context.suspendLexicalEnvironment(); return updated; @@ -89107,8 +89427,8 @@ var ts; function addDefaultValueAssignmentForInitializer(parameter, name, initializer, context) { var factory = context.factory; context.addInitializationStatement(factory.createIfStatement(factory.createTypeCheck(factory.cloneNode(name), "undefined"), ts.setEmitFlags(ts.setTextRange(factory.createBlock([ - factory.createExpressionStatement(ts.setEmitFlags(ts.setTextRange(factory.createAssignment(ts.setEmitFlags(factory.cloneNode(name), 48 /* NoSourceMap */), ts.setEmitFlags(initializer, 48 /* NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* NoComments */)), parameter), 1536 /* NoComments */)) - ]), parameter), 1 /* SingleLine */ | 32 /* NoTrailingSourceMap */ | 384 /* NoTokenSourceMaps */ | 1536 /* NoComments */))); + factory.createExpressionStatement(ts.setEmitFlags(ts.setTextRange(factory.createAssignment(ts.setEmitFlags(factory.cloneNode(name), 48 /* EmitFlags.NoSourceMap */), ts.setEmitFlags(initializer, 48 /* EmitFlags.NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* EmitFlags.NoComments */)), parameter), 1536 /* EmitFlags.NoComments */)) + ]), parameter), 1 /* EmitFlags.SingleLine */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */))); return factory.updateParameterDeclaration(parameter, parameter.decorators, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, /*initializer*/ undefined); } @@ -89154,446 +89474,446 @@ var ts; } var kind = node.kind; // No need to visit nodes with no children. - if ((kind > 0 /* FirstToken */ && kind <= 160 /* LastToken */) || kind === 192 /* ThisType */) { + if ((kind > 0 /* SyntaxKind.FirstToken */ && kind <= 160 /* SyntaxKind.LastToken */) || kind === 192 /* SyntaxKind.ThisType */) { return node; } var factory = context.factory; switch (kind) { // Names - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: ts.Debug.type(node); return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration)); - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: ts.Debug.type(node); return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier)); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: ts.Debug.type(node); return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Signature elements - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: ts.Debug.type(node); return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode)); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: ts.Debug.type(node); return factory.updateParameterDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: ts.Debug.type(node); return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Type elements - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: ts.Debug.type(node); return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: ts.Debug.type(node); return factory.updatePropertyDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 168 /* MethodSignature */: + case 168 /* SyntaxKind.MethodSignature */: ts.Debug.type(node); return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: ts.Debug.type(node); return factory.updateMethodDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: ts.Debug.type(node); return factory.updateConstructorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 172 /* GetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: ts.Debug.type(node); return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 173 /* SetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: ts.Debug.type(node); return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: ts.Debug.type(node); context.startLexicalEnvironment(); context.suspendLexicalEnvironment(); return factory.updateClassStaticBlockDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: ts.Debug.type(node); return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 175 /* ConstructSignature */: + case 175 /* SyntaxKind.ConstructSignature */: ts.Debug.type(node); return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 176 /* IndexSignature */: + case 176 /* SyntaxKind.IndexSignature */: ts.Debug.type(node); return factory.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); // Types - case 177 /* TypePredicate */: + case 177 /* SyntaxKind.TypePredicate */: ts.Debug.type(node); return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: ts.Debug.type(node); return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 179 /* FunctionType */: + case 179 /* SyntaxKind.FunctionType */: ts.Debug.type(node); return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 180 /* ConstructorType */: + case 180 /* SyntaxKind.ConstructorType */: ts.Debug.type(node); return factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: ts.Debug.type(node); return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 182 /* TypeLiteral */: + case 182 /* SyntaxKind.TypeLiteral */: ts.Debug.type(node); return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: ts.Debug.type(node); return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode)); - case 184 /* TupleType */: + case 184 /* SyntaxKind.TupleType */: ts.Debug.type(node); return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode)); - case 185 /* OptionalType */: + case 185 /* SyntaxKind.OptionalType */: ts.Debug.type(node); return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 186 /* RestType */: + case 186 /* SyntaxKind.RestType */: ts.Debug.type(node); return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 187 /* UnionType */: + case 187 /* SyntaxKind.UnionType */: ts.Debug.type(node); return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 188 /* IntersectionType */: + case 188 /* SyntaxKind.IntersectionType */: ts.Debug.type(node); return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: ts.Debug.type(node); return factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode)); - case 190 /* InferType */: + case 190 /* SyntaxKind.InferType */: ts.Debug.type(node); return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: ts.Debug.type(node); return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); - case 295 /* ImportTypeAssertionContainer */: + case 295 /* SyntaxKind.ImportTypeAssertionContainer */: ts.Debug.type(node); return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine); - case 197 /* NamedTupleMember */: + case 197 /* SyntaxKind.NamedTupleMember */: ts.Debug.type(node); return factory.updateNamedTupleMember(node, visitNode(node.dotDotDotToken, visitor, ts.isDotDotDotToken), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.questionToken, visitor, ts.isQuestionToken), visitNode(node.type, visitor, ts.isTypeNode)); - case 191 /* ParenthesizedType */: + case 191 /* SyntaxKind.ParenthesizedType */: ts.Debug.type(node); return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 193 /* TypeOperator */: + case 193 /* SyntaxKind.TypeOperator */: ts.Debug.type(node); return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: ts.Debug.type(node); return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode)); - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: ts.Debug.type(node); return factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 196 /* LiteralType */: + case 196 /* SyntaxKind.LiteralType */: ts.Debug.type(node); return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression)); - case 198 /* TemplateLiteralType */: + case 198 /* SyntaxKind.TemplateLiteralType */: ts.Debug.type(node); return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan)); - case 199 /* TemplateLiteralTypeSpan */: + case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: ts.Debug.type(node); return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Binding patterns - case 201 /* ObjectBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: ts.Debug.type(node); return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); - case 202 /* ArrayBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: ts.Debug.type(node); return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: ts.Debug.type(node); return factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression)); // Expression - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: ts.Debug.type(node); return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: ts.Debug.type(node); return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); - case 206 /* PropertyAccessExpression */: - if (node.flags & 32 /* OptionalChain */) { + case 206 /* SyntaxKind.PropertyAccessExpression */: + if (node.flags & 32 /* NodeFlags.OptionalChain */) { ts.Debug.type(node); return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)); } ts.Debug.type(node); return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName)); - case 207 /* ElementAccessExpression */: - if (node.flags & 32 /* OptionalChain */) { + case 207 /* SyntaxKind.ElementAccessExpression */: + if (node.flags & 32 /* NodeFlags.OptionalChain */) { ts.Debug.type(node); return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); } ts.Debug.type(node); return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); - case 208 /* CallExpression */: - if (node.flags & 32 /* OptionalChain */) { + case 208 /* SyntaxKind.CallExpression */: + if (node.flags & 32 /* NodeFlags.OptionalChain */) { ts.Debug.type(node); return factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); } ts.Debug.type(node); return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: ts.Debug.type(node); return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: ts.Debug.type(node); return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral)); - case 211 /* TypeAssertionExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: ts.Debug.type(node); return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: ts.Debug.type(node); return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: ts.Debug.type(node); return factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: ts.Debug.type(node); return factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: ts.Debug.type(node); return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 216 /* TypeOfExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: ts.Debug.type(node); return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 217 /* VoidExpression */: + case 217 /* SyntaxKind.VoidExpression */: ts.Debug.type(node); return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: ts.Debug.type(node); return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: ts.Debug.type(node); return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: ts.Debug.type(node); return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: ts.Debug.type(node); return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression)); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: ts.Debug.type(node); return factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression)); - case 223 /* TemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: ts.Debug.type(node); return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: ts.Debug.type(node); return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 225 /* SpreadElement */: + case 225 /* SyntaxKind.SpreadElement */: ts.Debug.type(node); return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: ts.Debug.type(node); return factory.updateClassExpression(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: ts.Debug.type(node); return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 229 /* AsExpression */: + case 229 /* SyntaxKind.AsExpression */: ts.Debug.type(node); return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 230 /* NonNullExpression */: - if (node.flags & 32 /* OptionalChain */) { + case 230 /* SyntaxKind.NonNullExpression */: + if (node.flags & 32 /* NodeFlags.OptionalChain */) { ts.Debug.type(node); return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)); } ts.Debug.type(node); return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: ts.Debug.type(node); return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); // Misc - case 233 /* TemplateSpan */: + case 233 /* SyntaxKind.TemplateSpan */: ts.Debug.type(node); return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); // Element - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: ts.Debug.type(node); return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: ts.Debug.type(node); return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: ts.Debug.type(node); return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: ts.Debug.type(node); return factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, factory.liftToBlock)); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: ts.Debug.type(node); return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: ts.Debug.type(node); return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: ts.Debug.type(node); return factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: ts.Debug.type(node); return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: ts.Debug.type(node); return factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 245 /* ContinueStatement */: + case 245 /* SyntaxKind.ContinueStatement */: ts.Debug.type(node); return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); - case 246 /* BreakStatement */: + case 246 /* SyntaxKind.BreakStatement */: ts.Debug.type(node); return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: ts.Debug.type(node); return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: ts.Debug.type(node); return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock)); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: ts.Debug.type(node); return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock)); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: ts.Debug.type(node); return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock)); - case 251 /* ThrowStatement */: + case 251 /* SyntaxKind.ThrowStatement */: ts.Debug.type(node); return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: ts.Debug.type(node); return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock)); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: ts.Debug.type(node); return factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 255 /* VariableDeclarationList */: + case 255 /* SyntaxKind.VariableDeclarationList */: ts.Debug.type(node); return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: ts.Debug.type(node); return factory.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: ts.Debug.type(node); return factory.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: ts.Debug.type(node); return factory.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: ts.Debug.type(node); return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: ts.Debug.type(node); return factory.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: ts.Debug.type(node); return factory.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody)); - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: ts.Debug.type(node); return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: ts.Debug.type(node); return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); - case 264 /* NamespaceExportDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: ts.Debug.type(node); return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: ts.Debug.type(node); return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference)); - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: ts.Debug.type(node); return factory.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); - case 293 /* AssertClause */: + case 293 /* SyntaxKind.AssertClause */: ts.Debug.type(node); return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine); - case 294 /* AssertEntry */: + case 294 /* SyntaxKind.AssertEntry */: ts.Debug.type(node); return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode)); - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: ts.Debug.type(node); return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings)); - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: ts.Debug.type(node); return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 274 /* NamespaceExport */: + case 274 /* SyntaxKind.NamespaceExport */: ts.Debug.type(node); return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 269 /* NamedImports */: + case 269 /* SyntaxKind.NamedImports */: ts.Debug.type(node); return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: ts.Debug.type(node); return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: ts.Debug.type(node); return factory.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: ts.Debug.type(node); return factory.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); - case 273 /* NamedExports */: + case 273 /* SyntaxKind.NamedExports */: ts.Debug.type(node); return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); - case 275 /* ExportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: ts.Debug.type(node); return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); // Module references - case 277 /* ExternalModuleReference */: + case 277 /* SyntaxKind.ExternalModuleReference */: ts.Debug.type(node); return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // JSX - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: ts.Debug.type(node); return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement)); - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: ts.Debug.type(node); return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); - case 280 /* JsxOpeningElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: ts.Debug.type(node); return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); - case 281 /* JsxClosingElement */: + case 281 /* SyntaxKind.JsxClosingElement */: ts.Debug.type(node); return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression)); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: ts.Debug.type(node); return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: ts.Debug.type(node); return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: ts.Debug.type(node); return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); - case 287 /* JsxSpreadAttribute */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: ts.Debug.type(node); return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: ts.Debug.type(node); return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Clauses - case 289 /* CaseClause */: + case 289 /* SyntaxKind.CaseClause */: ts.Debug.type(node); return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); - case 290 /* DefaultClause */: + case 290 /* SyntaxKind.DefaultClause */: ts.Debug.type(node); return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: ts.Debug.type(node); return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: ts.Debug.type(node); return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock)); // Property assignments - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: ts.Debug.type(node); return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: ts.Debug.type(node); return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression)); - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: ts.Debug.type(node); return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression)); // Enum - case 299 /* EnumMember */: + case 299 /* SyntaxKind.EnumMember */: ts.Debug.type(node); return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); // Top-level nodes - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: ts.Debug.type(node); return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context)); // Transformation nodes - case 350 /* PartiallyEmittedExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: ts.Debug.type(node); return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 351 /* CommaListExpression */: + case 351 /* SyntaxKind.CommaListExpression */: ts.Debug.type(node); return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); default: @@ -89818,7 +90138,7 @@ var ts; if (lastGeneratedLine < pendingGeneratedLine) { // Emit line delimiters do { - appendMappingCharCode(59 /* semicolon */); + appendMappingCharCode(59 /* CharacterCodes.semicolon */); lastGeneratedLine++; } while (lastGeneratedLine < pendingGeneratedLine); // Only need to set this once @@ -89828,7 +90148,7 @@ var ts; ts.Debug.assertEqual(lastGeneratedLine, pendingGeneratedLine, "generatedLine cannot backtrack"); // Emit comma to separate the entry if (hasLast) { - appendMappingCharCode(44 /* comma */); + appendMappingCharCode(44 /* CharacterCodes.comma */); } } // 1. Relative generated character @@ -89971,14 +90291,14 @@ var ts; next: function () { while (!done && pos < mappings.length) { var ch = mappings.charCodeAt(pos); - if (ch === 59 /* semicolon */) { + if (ch === 59 /* CharacterCodes.semicolon */) { // new line generatedLine++; generatedCharacter = 0; pos++; continue; } - if (ch === 44 /* comma */) { + if (ch === 44 /* CharacterCodes.comma */) { // Next entry is on same line - no action needed pos++; continue; @@ -90055,8 +90375,8 @@ var ts; } function isSourceMappingSegmentEnd() { return (pos === mappings.length || - mappings.charCodeAt(pos) === 44 /* comma */ || - mappings.charCodeAt(pos) === 59 /* semicolon */); + mappings.charCodeAt(pos) === 44 /* CharacterCodes.comma */ || + mappings.charCodeAt(pos) === 59 /* CharacterCodes.semicolon */); } function base64VLQFormatDecode() { var moreDigits = true; @@ -90106,19 +90426,19 @@ var ts; } ts.isSourceMapping = isSourceMapping; function base64FormatEncode(value) { - return value >= 0 && value < 26 ? 65 /* A */ + value : - value >= 26 && value < 52 ? 97 /* a */ + value - 26 : - value >= 52 && value < 62 ? 48 /* _0 */ + value - 52 : - value === 62 ? 43 /* plus */ : - value === 63 ? 47 /* slash */ : - ts.Debug.fail(value + ": not a base64 value"); + return value >= 0 && value < 26 ? 65 /* CharacterCodes.A */ + value : + value >= 26 && value < 52 ? 97 /* CharacterCodes.a */ + value - 26 : + value >= 52 && value < 62 ? 48 /* CharacterCodes._0 */ + value - 52 : + value === 62 ? 43 /* CharacterCodes.plus */ : + value === 63 ? 47 /* CharacterCodes.slash */ : + ts.Debug.fail("".concat(value, ": not a base64 value")); } function base64FormatDecode(ch) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ ? ch - 65 /* A */ : - ch >= 97 /* a */ && ch <= 122 /* z */ ? ch - 97 /* a */ + 26 : - ch >= 48 /* _0 */ && ch <= 57 /* _9 */ ? ch - 48 /* _0 */ + 52 : - ch === 43 /* plus */ ? 62 : - ch === 47 /* slash */ ? 63 : + return ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */ ? ch - 65 /* CharacterCodes.A */ : + ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */ ? ch - 97 /* CharacterCodes.a */ + 26 : + ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */ ? ch - 48 /* CharacterCodes._0 */ + 52 : + ch === 43 /* CharacterCodes.plus */ ? 62 : + ch === 47 /* CharacterCodes.slash */ ? 63 : -1; } function isSourceMappedPosition(value) { @@ -90186,7 +90506,7 @@ var ts; var mappings = ts.arrayFrom(decoder, processMapping); if (decoder.error !== undefined) { if (host.log) { - host.log("Encountered error while decoding sourcemap: " + decoder.error); + host.log("Encountered error while decoding sourcemap: ".concat(decoder.error)); } decodedMappings = ts.emptyArray; } @@ -90279,12 +90599,12 @@ var ts; return ts.some(node.elements, isNamedDefaultReference); } function isNamedDefaultReference(e) { - return e.propertyName !== undefined && e.propertyName.escapedText === "default" /* Default */; + return e.propertyName !== undefined && e.propertyName.escapedText === "default" /* InternalSymbolName.Default */; } function chainBundle(context, transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 305 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 305 /* SyntaxKind.SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -90335,7 +90655,7 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: // import "mod" // import x from "mod" // import * as x from "mod" @@ -90348,13 +90668,13 @@ var ts; hasImportDefault = true; } break; - case 265 /* ImportEqualsDeclaration */: - if (node.moduleReference.kind === 277 /* ExternalModuleReference */) { + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + if (node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { // import x = require("mod") externalImports.push(node); } break; - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: if (node.moduleSpecifier) { if (!node.exportClause) { // export * from "mod" @@ -90385,23 +90705,23 @@ var ts; addExportedNamesForExportDeclaration(node); } break; - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: if (node.isExportEquals && !exportEquals) { // export = x exportEquals = node; } break; - case 237 /* VariableStatement */: - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + case 237 /* SyntaxKind.VariableStatement */: + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { for (var _b = 0, _c = node.declarationList.declarations; _b < _c.length; _b++) { var decl = _c[_b]; exportedNames = collectExportedVariableInfo(decl, uniqueExports, exportedNames); } } break; - case 256 /* FunctionDeclaration */: - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { - if (ts.hasSyntacticModifier(node, 512 /* Default */)) { + case 256 /* SyntaxKind.FunctionDeclaration */: + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { + if (ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { // export default function() { } if (!hasExportDefault) { multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), context.factory.getDeclarationName(node)); @@ -90419,9 +90739,9 @@ var ts; } } break; - case 257 /* ClassDeclaration */: - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { - if (ts.hasSyntacticModifier(node, 512 /* Default */)) { + case 257 /* SyntaxKind.ClassDeclaration */: + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { + if (ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { // export default class { } if (!hasExportDefault) { multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), context.factory.getDeclarationName(node)); @@ -90502,7 +90822,7 @@ var ts; */ function isSimpleCopiableExpression(expression) { return ts.isStringLiteralLike(expression) || - expression.kind === 8 /* NumericLiteral */ || + expression.kind === 8 /* SyntaxKind.NumericLiteral */ || ts.isKeyword(expression.kind) || ts.isIdentifier(expression); } @@ -90517,27 +90837,27 @@ var ts; } ts.isSimpleInlineableExpression = isSimpleInlineableExpression; function isCompoundAssignment(kind) { - return kind >= 64 /* FirstCompoundAssignment */ - && kind <= 78 /* LastCompoundAssignment */; + return kind >= 64 /* SyntaxKind.FirstCompoundAssignment */ + && kind <= 78 /* SyntaxKind.LastCompoundAssignment */; } ts.isCompoundAssignment = isCompoundAssignment; function getNonAssignmentOperatorForCompoundAssignment(kind) { switch (kind) { - case 64 /* PlusEqualsToken */: return 39 /* PlusToken */; - case 65 /* MinusEqualsToken */: return 40 /* MinusToken */; - case 66 /* AsteriskEqualsToken */: return 41 /* AsteriskToken */; - case 67 /* AsteriskAsteriskEqualsToken */: return 42 /* AsteriskAsteriskToken */; - case 68 /* SlashEqualsToken */: return 43 /* SlashToken */; - case 69 /* PercentEqualsToken */: return 44 /* PercentToken */; - case 70 /* LessThanLessThanEqualsToken */: return 47 /* LessThanLessThanToken */; - case 71 /* GreaterThanGreaterThanEqualsToken */: return 48 /* GreaterThanGreaterThanToken */; - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: return 49 /* GreaterThanGreaterThanGreaterThanToken */; - case 73 /* AmpersandEqualsToken */: return 50 /* AmpersandToken */; - case 74 /* BarEqualsToken */: return 51 /* BarToken */; - case 78 /* CaretEqualsToken */: return 52 /* CaretToken */; - case 75 /* BarBarEqualsToken */: return 56 /* BarBarToken */; - case 76 /* AmpersandAmpersandEqualsToken */: return 55 /* AmpersandAmpersandToken */; - case 77 /* QuestionQuestionEqualsToken */: return 60 /* QuestionQuestionToken */; + case 64 /* SyntaxKind.PlusEqualsToken */: return 39 /* SyntaxKind.PlusToken */; + case 65 /* SyntaxKind.MinusEqualsToken */: return 40 /* SyntaxKind.MinusToken */; + case 66 /* SyntaxKind.AsteriskEqualsToken */: return 41 /* SyntaxKind.AsteriskToken */; + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: return 42 /* SyntaxKind.AsteriskAsteriskToken */; + case 68 /* SyntaxKind.SlashEqualsToken */: return 43 /* SyntaxKind.SlashToken */; + case 69 /* SyntaxKind.PercentEqualsToken */: return 44 /* SyntaxKind.PercentToken */; + case 70 /* SyntaxKind.LessThanLessThanEqualsToken */: return 47 /* SyntaxKind.LessThanLessThanToken */; + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: return 48 /* SyntaxKind.GreaterThanGreaterThanToken */; + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: return 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */; + case 73 /* SyntaxKind.AmpersandEqualsToken */: return 50 /* SyntaxKind.AmpersandToken */; + case 74 /* SyntaxKind.BarEqualsToken */: return 51 /* SyntaxKind.BarToken */; + case 78 /* SyntaxKind.CaretEqualsToken */: return 52 /* SyntaxKind.CaretToken */; + case 75 /* SyntaxKind.BarBarEqualsToken */: return 56 /* SyntaxKind.BarBarToken */; + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: return 55 /* SyntaxKind.AmpersandAmpersandToken */; + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: return 60 /* SyntaxKind.QuestionQuestionToken */; } } ts.getNonAssignmentOperatorForCompoundAssignment = getNonAssignmentOperatorForCompoundAssignment; @@ -90599,7 +90919,7 @@ var ts; * @param isStatic A value indicating whether the member should be a static or instance member. */ function isInitializedProperty(member) { - return member.kind === 167 /* PropertyDeclaration */ + return member.kind === 167 /* SyntaxKind.PropertyDeclaration */ && member.initializer !== undefined; } ts.isInitializedProperty = isInitializedProperty; @@ -90884,9 +91204,9 @@ var ts; var element = elements[i]; if (!ts.getRestIndicatorOfBindingOrAssignmentElement(element)) { var propertyName = ts.getPropertyNameOfBindingOrAssignmentElement(element); - if (flattenContext.level >= 1 /* ObjectRest */ - && !(element.transformFlags & (16384 /* ContainsRestOrSpread */ | 32768 /* ContainsObjectRestOrSpread */)) - && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 /* ContainsRestOrSpread */ | 32768 /* ContainsObjectRestOrSpread */)) + if (flattenContext.level >= 1 /* FlattenLevel.ObjectRest */ + && !(element.transformFlags & (16384 /* TransformFlags.ContainsRestOrSpread */ | 32768 /* TransformFlags.ContainsObjectRestOrSpread */)) + && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 /* TransformFlags.ContainsRestOrSpread */ | 32768 /* TransformFlags.ContainsObjectRestOrSpread */)) && !ts.isComputedPropertyName(propertyName)) { bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor)); } @@ -90927,14 +91247,14 @@ var ts; function flattenArrayBindingOrAssignmentPattern(flattenContext, parent, pattern, value, location) { var elements = ts.getElementsOfBindingOrAssignmentPattern(pattern); var numElements = elements.length; - if (flattenContext.level < 1 /* ObjectRest */ && flattenContext.downlevelIteration) { + if (flattenContext.level < 1 /* FlattenLevel.ObjectRest */ && flattenContext.downlevelIteration) { // Read the elements of the iterable into an array value = ensureIdentifier(flattenContext, ts.setTextRange(flattenContext.context.getEmitHelperFactory().createReadHelper(value, numElements > 0 && ts.getRestIndicatorOfBindingOrAssignmentElement(elements[numElements - 1]) ? undefined : numElements), location), /*reuseIdentifierExpressions*/ false, location); } - else if (numElements !== 1 && (flattenContext.level < 1 /* ObjectRest */ || numElements === 0) + else if (numElements !== 1 && (flattenContext.level < 1 /* FlattenLevel.ObjectRest */ || numElements === 0) || ts.every(elements, ts.isOmittedExpression)) { // For anything other than a single-element destructuring we need to generate a temporary // to ensure value is evaluated exactly once. Additionally, if we have zero elements @@ -90949,10 +91269,10 @@ var ts; var restContainingElements; for (var i = 0; i < numElements; i++) { var element = elements[i]; - if (flattenContext.level >= 1 /* ObjectRest */) { + if (flattenContext.level >= 1 /* FlattenLevel.ObjectRest */) { // If an array pattern contains an ObjectRest, we must cache the result so that we // can perform the ObjectRest destructuring in a different declaration - if (element.transformFlags & 32768 /* ContainsObjectRestOrSpread */ || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) { + if (element.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */ || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) { flattenContext.hasTransformedPriorElement = true; var temp = flattenContext.context.factory.createTempVariable(/*recordTempVariable*/ undefined); if (flattenContext.hoistTempVariables) { @@ -91155,7 +91475,7 @@ var ts; // thus we need to remove those characters. // First template piece starts with "`", others with "}" // Last template piece ends with "`", others with "${" - var isLast = node.kind === 14 /* NoSubstitutionTemplateLiteral */ || node.kind === 17 /* TemplateTail */; + var isLast = node.kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ || node.kind === 17 /* SyntaxKind.TemplateTail */; text = text.substring(1, text.length - (isLast ? 1 : 2)); } // Newline normalization: @@ -91211,8 +91531,8 @@ var ts; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; // Enable substitution for property/element access to emit const enum values. - context.enableSubstitution(206 /* PropertyAccessExpression */); - context.enableSubstitution(207 /* ElementAccessExpression */); + context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(207 /* SyntaxKind.ElementAccessExpression */); // These variables contain state that changes as we descend into the tree. var currentSourceFile; var currentNamespace; @@ -91238,14 +91558,14 @@ var ts; var applicableSubstitutions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 306 /* Bundle */) { + if (node.kind === 306 /* SyntaxKind.Bundle */) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return factory.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 308 /* InputFiles */) { + if (prepend.kind === 308 /* SyntaxKind.InputFiles */) { return ts.createUnparsedSourceFile(prepend, "js"); } return prepend; @@ -91296,17 +91616,17 @@ var ts; */ function onBeforeVisitNode(node) { switch (node.kind) { - case 305 /* SourceFile */: - case 263 /* CaseBlock */: - case 262 /* ModuleBlock */: - case 235 /* Block */: + case 305 /* SyntaxKind.SourceFile */: + case 263 /* SyntaxKind.CaseBlock */: + case 262 /* SyntaxKind.ModuleBlock */: + case 235 /* SyntaxKind.Block */: currentLexicalScope = node; currentNameScope = undefined; currentScopeFirstDeclarationsOfName = undefined; break; - case 257 /* ClassDeclaration */: - case 256 /* FunctionDeclaration */: - if (ts.hasSyntacticModifier(node, 2 /* Ambient */)) { + case 257 /* SyntaxKind.ClassDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + if (ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */)) { break; } // Record these declarations provided that they have a name. @@ -91317,7 +91637,7 @@ var ts; // These nodes should always have names unless they are default-exports; // however, class declaration parsing allows for undefined names, so syntactically invalid // programs may also have an undefined name. - ts.Debug.assert(node.kind === 257 /* ClassDeclaration */ || ts.hasSyntacticModifier(node, 512 /* Default */)); + ts.Debug.assert(node.kind === 257 /* SyntaxKind.ClassDeclaration */ || ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)); } if (ts.isClassDeclaration(node)) { // XXX: should probably also cover interfaces and type aliases that can have type variables? @@ -91340,7 +91660,7 @@ var ts; * @param node The node to visit. */ function visitorWorker(node) { - if (node.transformFlags & 1 /* ContainsTypeScript */) { + if (node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */) { return visitTypeScript(node); } return node; @@ -91360,10 +91680,10 @@ var ts; */ function sourceElementVisitorWorker(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: - case 271 /* ExportAssignment */: - case 272 /* ExportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: + case 272 /* SyntaxKind.ExportDeclaration */: return visitElidableStatement(node); default: return visitorWorker(node); @@ -91376,7 +91696,7 @@ var ts; // As the type information we would attempt to lookup to perform ellision is potentially unavailable for the synthesized nodes // We do not reuse `visitorWorker`, as the ellidable statement syntax kinds are technically unrecognized by the switch-case in `visitTypeScript`, // and will trigger debug failures when debug verbosity is turned up - if (node.transformFlags & 1 /* ContainsTypeScript */) { + if (node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */) { // This node contains TypeScript, so we should visit its children. return ts.visitEachChild(node, visitor, context); } @@ -91384,13 +91704,13 @@ var ts; return node; } switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return visitImportDeclaration(node); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -91410,15 +91730,15 @@ var ts; * @param node The node to visit. */ function namespaceElementVisitorWorker(node) { - if (node.kind === 272 /* ExportDeclaration */ || - node.kind === 266 /* ImportDeclaration */ || - node.kind === 267 /* ImportClause */ || - (node.kind === 265 /* ImportEqualsDeclaration */ && - node.moduleReference.kind === 277 /* ExternalModuleReference */)) { + if (node.kind === 272 /* SyntaxKind.ExportDeclaration */ || + node.kind === 266 /* SyntaxKind.ImportDeclaration */ || + node.kind === 267 /* SyntaxKind.ImportClause */ || + (node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && + node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */)) { // do not emit ES6 imports and exports since they are illegal inside a namespace return undefined; } - else if (node.transformFlags & 1 /* ContainsTypeScript */ || ts.hasSyntacticModifier(node, 1 /* Export */)) { + else if (node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */ || ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { return visitTypeScript(node); } return node; @@ -91438,30 +91758,30 @@ var ts; */ function classElementVisitorWorker(node) { switch (node.kind) { - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return visitConstructor(node); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // Property declarations are not TypeScript syntax, but they must be visited // for the decorator transformation. return visitPropertyDeclaration(node); - case 176 /* IndexSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: - case 170 /* ClassStaticBlockDeclaration */: + case 176 /* SyntaxKind.IndexSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: // Fallback to the default visit behavior. return visitorWorker(node); - case 234 /* SemicolonClassElement */: + case 234 /* SyntaxKind.SemicolonClassElement */: return node; default: return ts.Debug.failBadSyntaxKind(node); } } function modifierVisitor(node) { - if (ts.modifierToFlag(node.kind) & 116958 /* TypeScriptModifier */) { + if (ts.modifierToFlag(node.kind) & 116958 /* ModifierFlags.TypeScriptModifier */) { return undefined; } - else if (currentNamespace && node.kind === 93 /* ExportKeyword */) { + else if (currentNamespace && node.kind === 93 /* SyntaxKind.ExportKeyword */) { return undefined; } return node; @@ -91472,80 +91792,80 @@ var ts; * @param node The node to visit. */ function visitTypeScript(node) { - if (ts.isStatement(node) && ts.hasSyntacticModifier(node, 2 /* Ambient */)) { + if (ts.isStatement(node) && ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */)) { // TypeScript ambient declarations are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return factory.createNotEmittedStatement(node); } switch (node.kind) { - case 93 /* ExportKeyword */: - case 88 /* DefaultKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: // ES6 export and default modifiers are elided when inside a namespace. return currentNamespace ? undefined : node; - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 126 /* AbstractKeyword */: - case 159 /* OverrideKeyword */: - case 85 /* ConstKeyword */: - case 135 /* DeclareKeyword */: - case 145 /* ReadonlyKeyword */: - case 101 /* InKeyword */: - case 144 /* OutKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 101 /* SyntaxKind.InKeyword */: + case 144 /* SyntaxKind.OutKeyword */: // TypeScript accessibility and readonly modifiers are elided // falls through - case 183 /* ArrayType */: - case 184 /* TupleType */: - case 185 /* OptionalType */: - case 186 /* RestType */: - case 182 /* TypeLiteral */: - case 177 /* TypePredicate */: - case 163 /* TypeParameter */: - case 130 /* AnyKeyword */: - case 155 /* UnknownKeyword */: - case 133 /* BooleanKeyword */: - case 150 /* StringKeyword */: - case 147 /* NumberKeyword */: - case 143 /* NeverKeyword */: - case 114 /* VoidKeyword */: - case 151 /* SymbolKeyword */: - case 180 /* ConstructorType */: - case 179 /* FunctionType */: - case 181 /* TypeQuery */: - case 178 /* TypeReference */: - case 187 /* UnionType */: - case 188 /* IntersectionType */: - case 189 /* ConditionalType */: - case 191 /* ParenthesizedType */: - case 192 /* ThisType */: - case 193 /* TypeOperator */: - case 194 /* IndexedAccessType */: - case 195 /* MappedType */: - case 196 /* LiteralType */: + case 183 /* SyntaxKind.ArrayType */: + case 184 /* SyntaxKind.TupleType */: + case 185 /* SyntaxKind.OptionalType */: + case 186 /* SyntaxKind.RestType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 177 /* SyntaxKind.TypePredicate */: + case 163 /* SyntaxKind.TypeParameter */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 180 /* SyntaxKind.ConstructorType */: + case 179 /* SyntaxKind.FunctionType */: + case 181 /* SyntaxKind.TypeQuery */: + case 178 /* SyntaxKind.TypeReference */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: + case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 192 /* SyntaxKind.ThisType */: + case 193 /* SyntaxKind.TypeOperator */: + case 194 /* SyntaxKind.IndexedAccessType */: + case 195 /* SyntaxKind.MappedType */: + case 196 /* SyntaxKind.LiteralType */: // TypeScript type nodes are elided. // falls through - case 176 /* IndexSignature */: + case 176 /* SyntaxKind.IndexSignature */: // TypeScript index signatures are elided. // falls through - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: // TypeScript decorators are elided. They will be emitted as part of visitClassDeclaration. return undefined; - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return factory.createNotEmittedStatement(node); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // TypeScript property declarations are elided. However their names are still visited, and can potentially be retained if they could have sideeffects return visitPropertyDeclaration(node); - case 264 /* NamespaceExportDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return visitConstructor(node); - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return factory.createNotEmittedStatement(node); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: // This may be a class declaration with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -91555,7 +91875,7 @@ var ts; // - index signatures // - method overload signatures return visitClassDeclaration(node); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: // This may be a class expression with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -91565,35 +91885,35 @@ var ts; // - index signatures // - method overload signatures return visitClassExpression(node); - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: // This may be a heritage clause with TypeScript syntax extensions. // // TypeScript heritage clause extensions include: // - `implements` clause return visitHeritageClause(node); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node); - case 172 /* GetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node); - case 173 /* SetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: // TypeScript function expressions can have modifiers and type annotations. return visitFunctionExpression(node); - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: // TypeScript arrow functions can have modifiers and type annotations. return visitArrowFunction(node); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: // This may be a parameter declaration with TypeScript syntax extensions. // // TypeScript parameter declaration syntax extensions include: @@ -91603,40 +91923,40 @@ var ts; // - type annotations // - this parameters return visitParameter(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: // ParenthesizedExpressions are TypeScript if their expression is a // TypeAssertion or AsExpression return visitParenthesizedExpression(node); - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: // TypeScript type assertions are removed, but their subtrees are preserved. return visitAssertionExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return visitNewExpression(node); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: // TypeScript non-null expressions are removed, but their subtrees are preserved. return visitNonNullExpression(node); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: // TypeScript enum declarations do not exist in ES6 and must be rewritten. return visitEnumDeclaration(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: // TypeScript namespace exports for variable statements must be transformed. return visitVariableStatement(node); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return visitVariableDeclaration(node); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: // TypeScript namespace declarations must be transformed. return visitModuleDeclaration(node); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: // TypeScript namespace or external module import. return visitImportEqualsDeclaration(node); - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return visitJsxSelfClosingElement(node); - case 280 /* JsxOpeningElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: return visitJsxJsxOpeningElement(node); default: // node contains some other TypeScript syntax @@ -91650,28 +91970,28 @@ var ts; return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); } function getClassFacts(node, staticProperties) { - var facts = 0 /* None */; + var facts = 0 /* ClassFacts.None */; if (ts.some(staticProperties)) - facts |= 1 /* HasStaticInitializedProperties */; + facts |= 1 /* ClassFacts.HasStaticInitializedProperties */; var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); - if (extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* NullKeyword */) - facts |= 64 /* IsDerivedClass */; + if (extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */) + facts |= 64 /* ClassFacts.IsDerivedClass */; if (ts.classOrConstructorParameterIsDecorated(node)) - facts |= 2 /* HasConstructorDecorators */; + facts |= 2 /* ClassFacts.HasConstructorDecorators */; if (ts.childIsDecorated(node)) - facts |= 4 /* HasMemberDecorators */; + facts |= 4 /* ClassFacts.HasMemberDecorators */; if (isExportOfNamespace(node)) - facts |= 8 /* IsExportOfNamespace */; + facts |= 8 /* ClassFacts.IsExportOfNamespace */; else if (isDefaultExternalModuleExport(node)) - facts |= 32 /* IsDefaultExternalExport */; + facts |= 32 /* ClassFacts.IsDefaultExternalExport */; else if (isNamedExternalModuleExport(node)) - facts |= 16 /* IsNamedExternalExport */; - if (languageVersion <= 1 /* ES5 */ && (facts & 7 /* MayNeedImmediatelyInvokedFunctionExpression */)) - facts |= 128 /* UseImmediatelyInvokedFunctionExpression */; + facts |= 16 /* ClassFacts.IsNamedExternalExport */; + if (languageVersion <= 1 /* ScriptTarget.ES5 */ && (facts & 7 /* ClassFacts.MayNeedImmediatelyInvokedFunctionExpression */)) + facts |= 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */; return facts; } function hasTypeScriptClassSyntax(node) { - return !!(node.transformFlags & 4096 /* ContainsTypeScriptClassSyntax */); + return !!(node.transformFlags & 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */); } function isClassLikeDeclarationWithTypeScriptSyntax(node) { return ts.some(node.decorators) @@ -91680,16 +92000,16 @@ var ts; || ts.some(node.members, hasTypeScriptClassSyntax); } function visitClassDeclaration(node) { - if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1 /* Export */))) { + if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */))) { return ts.visitEachChild(node, visitor, context); } var staticProperties = ts.getProperties(node, /*requireInitializer*/ true, /*isStatic*/ true); var facts = getClassFacts(node, staticProperties); - if (facts & 128 /* UseImmediatelyInvokedFunctionExpression */) { + if (facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */) { context.startLexicalEnvironment(); } - var name = node.name || (facts & 5 /* NeedsName */ ? factory.getGeneratedNameForNode(node) : undefined); - var classStatement = facts & 2 /* HasConstructorDecorators */ + var name = node.name || (facts & 5 /* ClassFacts.NeedsName */ ? factory.getGeneratedNameForNode(node) : undefined); + var classStatement = facts & 2 /* ClassFacts.HasConstructorDecorators */ ? createClassDeclarationHeadWithDecorators(node, name) : createClassDeclarationHeadWithoutDecorators(node, name, facts); var statements = [classStatement]; @@ -91697,7 +92017,7 @@ var ts; addClassElementDecorationStatements(statements, node, /*isStatic*/ false); addClassElementDecorationStatements(statements, node, /*isStatic*/ true); addConstructorDecorationStatement(statements, node); - if (facts & 128 /* UseImmediatelyInvokedFunctionExpression */) { + if (facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */) { // When we emit a TypeScript class down to ES5, we must wrap it in an IIFE so that the // 'es2015' transformer can properly nest static initializers and decorators. The result // looks something like: @@ -91709,20 +92029,20 @@ var ts; // return C; // }(); // - var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentSourceFile.text, node.members.end), 19 /* CloseBraceToken */); + var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentSourceFile.text, node.members.end), 19 /* SyntaxKind.CloseBraceToken */); var localName = factory.getInternalName(node); // The following partially-emitted expression exists purely to align our sourcemap // emit with the original emitter. var outer = factory.createPartiallyEmittedExpression(localName); ts.setTextRangeEnd(outer, closingBraceLocation.end); - ts.setEmitFlags(outer, 1536 /* NoComments */); + ts.setEmitFlags(outer, 1536 /* EmitFlags.NoComments */); var statement = factory.createReturnStatement(outer); ts.setTextRangePos(statement, closingBraceLocation.pos); - ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); + ts.setEmitFlags(statement, 1536 /* EmitFlags.NoComments */ | 384 /* EmitFlags.NoTokenSourceMaps */); statements.push(statement); ts.insertStatementsAfterStandardPrologue(statements, context.endLexicalEnvironment()); var iife = factory.createImmediatelyInvokedArrowFunction(statements); - ts.setEmitFlags(iife, 33554432 /* TypeScriptClassWrapper */); + ts.setEmitFlags(iife, 33554432 /* EmitFlags.TypeScriptClassWrapper */); var varStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ false), @@ -91738,21 +92058,21 @@ var ts; // If the class is exported as part of a TypeScript namespace, emit the namespace export. // Otherwise, if the class was exported at the top level and was decorated, emit an export // declaration or export default for the class. - if (facts & 8 /* IsExportOfNamespace */) { + if (facts & 8 /* ClassFacts.IsExportOfNamespace */) { addExportMemberAssignment(statements, node); } - else if (facts & 128 /* UseImmediatelyInvokedFunctionExpression */ || facts & 2 /* HasConstructorDecorators */) { - if (facts & 32 /* IsDefaultExternalExport */) { + else if (facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */ || facts & 2 /* ClassFacts.HasConstructorDecorators */) { + if (facts & 32 /* ClassFacts.IsDefaultExternalExport */) { statements.push(factory.createExportDefault(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true))); } - else if (facts & 16 /* IsNamedExternalExport */) { + else if (facts & 16 /* ClassFacts.IsNamedExternalExport */) { statements.push(factory.createExternalModuleExport(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true))); } } if (statements.length > 1) { // Add a DeclarationMarker as a marker for the end of the declaration statements.push(factory.createEndOfDeclarationMarker(node)); - ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304 /* HasEndOfDeclarationMarker */); + ts.setEmitFlags(classStatement, ts.getEmitFlags(classStatement) | 4194304 /* EmitFlags.HasEndOfDeclarationMarker */); } return ts.singleOrMany(statements); } @@ -91768,7 +92088,7 @@ var ts; // ${members} // } // we do not emit modifiers on the declaration if we are emitting an IIFE - var modifiers = !(facts & 128 /* UseImmediatelyInvokedFunctionExpression */) + var modifiers = !(facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */) ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier) : undefined; var classDeclaration = factory.createClassDeclaration( @@ -91777,8 +92097,8 @@ var ts; // To better align with the old emitter, we should not emit a trailing source map // entry if the class has static properties. var emitFlags = ts.getEmitFlags(node); - if (facts & 1 /* HasStaticInitializedProperties */) { - emitFlags |= 32 /* NoTrailingSourceMap */; + if (facts & 1 /* ClassFacts.HasStaticInitializedProperties */) { + emitFlags |= 32 /* EmitFlags.NoTrailingSourceMap */; } ts.setTextRange(classDeclaration, node); ts.setOriginalNode(classDeclaration, node); @@ -91879,7 +92199,7 @@ var ts; var classAlias = getClassAliasIfNeeded(node); // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name // without any block-scoped variable collision handling - var declName = languageVersion <= 2 /* ES2015 */ ? + var declName = languageVersion <= 2 /* ScriptTarget.ES2015 */ ? factory.getInternalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true) : factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); // ... = class ${name} ${heritageClauses} { @@ -91897,7 +92217,7 @@ var ts; factory.createVariableDeclaration(declName, /*exclamationToken*/ undefined, /*type*/ undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression) - ], 1 /* Let */)); + ], 1 /* NodeFlags.Let */)); ts.setOriginalNode(statement, node); ts.setTextRange(statement, location); ts.setCommentRange(statement, node); @@ -92030,12 +92350,12 @@ var ts; */ function getAllDecoratorsOfClassElement(node, member) { switch (member.kind) { - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return getAllDecoratorsOfAccessors(node, member); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: return getAllDecoratorsOfMethod(member); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -92186,9 +92506,9 @@ var ts; // ], C.prototype, "prop"); // var prefix = getClassMemberPrefix(node, member); - var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* Ambient */)); - var descriptor = languageVersion > 0 /* ES3 */ - ? member.kind === 167 /* PropertyDeclaration */ + var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* ModifierFlags.Ambient */)); + var descriptor = languageVersion > 0 /* ScriptTarget.ES3 */ + ? member.kind === 167 /* SyntaxKind.PropertyDeclaration */ // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it // should not invoke `Object.getOwnPropertyDescriptor`. ? factory.createVoidZero() @@ -92198,7 +92518,7 @@ var ts; : undefined; var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor); ts.setTextRange(helper, ts.moveRangePastDecorators(member)); - ts.setEmitFlags(helper, 1536 /* NoComments */); + ts.setEmitFlags(helper, 1536 /* EmitFlags.NoComments */); return helper; } /** @@ -92226,12 +92546,12 @@ var ts; var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)]; // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name // without any block-scoped variable collision handling - var localName = languageVersion <= 2 /* ES2015 */ ? + var localName = languageVersion <= 2 /* ScriptTarget.ES2015 */ ? factory.getInternalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true) : factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName); var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate); - ts.setEmitFlags(expression, 1536 /* NoComments */); + ts.setEmitFlags(expression, 1536 /* EmitFlags.NoComments */); ts.setSourceMapRange(expression, ts.moveRangePastDecorators(node)); return expression; } @@ -92257,7 +92577,7 @@ var ts; var decorator = decorators_1[_i]; var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset); ts.setTextRange(helper, decorator.expression); - ts.setEmitFlags(helper, 1536 /* NoComments */); + ts.setEmitFlags(helper, 1536 /* EmitFlags.NoComments */); expressions.push(helper); } } @@ -92294,13 +92614,13 @@ var ts; if (compilerOptions.emitDecoratorMetadata) { var properties = void 0; if (shouldAddTypeMetadata(node)) { - (properties || (properties = [])).push(factory.createPropertyAssignment("type", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* EqualsGreaterThanToken */), serializeTypeOfNode(node)))); + (properties || (properties = [])).push(factory.createPropertyAssignment("type", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), serializeTypeOfNode(node)))); } if (shouldAddParamTypesMetadata(node)) { - (properties || (properties = [])).push(factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* EqualsGreaterThanToken */), serializeParameterTypesOfNode(node, container)))); + (properties || (properties = [])).push(factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), serializeParameterTypesOfNode(node, container)))); } if (shouldAddReturnTypeMetadata(node)) { - (properties || (properties = [])).push(factory.createPropertyAssignment("returnType", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* EqualsGreaterThanToken */), serializeReturnTypeOfNode(node)))); + (properties || (properties = [])).push(factory.createPropertyAssignment("returnType", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), serializeReturnTypeOfNode(node)))); } if (properties) { decoratorExpressions.push(emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, /*multiLine*/ true))); @@ -92316,10 +92636,10 @@ var ts; */ function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */ - || kind === 167 /* PropertyDeclaration */; + return kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */; } /** * Determines whether to emit the "design:returntype" metadata based on the node's kind. @@ -92329,7 +92649,7 @@ var ts; * @param node The node to test. */ function shouldAddReturnTypeMetadata(node) { - return node.kind === 169 /* MethodDeclaration */; + return node.kind === 169 /* SyntaxKind.MethodDeclaration */; } /** * Determines whether to emit the "design:paramtypes" metadata based on the node's kind. @@ -92340,12 +92660,12 @@ var ts; */ function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: return ts.getFirstConstructorWithBody(node) !== undefined; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return true; } return false; @@ -92362,15 +92682,15 @@ var ts; */ function serializeTypeOfNode(node) { switch (node.kind) { - case 167 /* PropertyDeclaration */: - case 164 /* Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 164 /* SyntaxKind.Parameter */: return serializeTypeNode(node.type); - case 173 /* SetAccessor */: - case 172 /* GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: return serializeTypeNode(getAccessorTypeNode(node)); - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 169 /* MethodDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: return factory.createIdentifier("Function"); default: return factory.createVoidZero(); @@ -92407,7 +92727,7 @@ var ts; return factory.createArrayLiteralExpression(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 172 /* GetAccessor */) { + if (container && node.kind === 172 /* SyntaxKind.GetAccessor */) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -92452,83 +92772,83 @@ var ts; return factory.createIdentifier("Object"); } switch (node.kind) { - case 114 /* VoidKeyword */: - case 153 /* UndefinedKeyword */: - case 143 /* NeverKeyword */: + case 114 /* SyntaxKind.VoidKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: return factory.createVoidZero(); - case 191 /* ParenthesizedType */: + case 191 /* SyntaxKind.ParenthesizedType */: return serializeTypeNode(node.type); - case 179 /* FunctionType */: - case 180 /* ConstructorType */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: return factory.createIdentifier("Function"); - case 183 /* ArrayType */: - case 184 /* TupleType */: + case 183 /* SyntaxKind.ArrayType */: + case 184 /* SyntaxKind.TupleType */: return factory.createIdentifier("Array"); - case 177 /* TypePredicate */: - case 133 /* BooleanKeyword */: + case 177 /* SyntaxKind.TypePredicate */: + case 133 /* SyntaxKind.BooleanKeyword */: return factory.createIdentifier("Boolean"); - case 198 /* TemplateLiteralType */: - case 150 /* StringKeyword */: + case 198 /* SyntaxKind.TemplateLiteralType */: + case 150 /* SyntaxKind.StringKeyword */: return factory.createIdentifier("String"); - case 148 /* ObjectKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: return factory.createIdentifier("Object"); - case 196 /* LiteralType */: + case 196 /* SyntaxKind.LiteralType */: switch (node.literal.kind) { - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return factory.createIdentifier("String"); - case 219 /* PrefixUnaryExpression */: - case 8 /* NumericLiteral */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 8 /* SyntaxKind.NumericLiteral */: return factory.createIdentifier("Number"); - case 9 /* BigIntLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: return getGlobalBigIntNameWithFallback(); - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: return factory.createIdentifier("Boolean"); - case 104 /* NullKeyword */: + case 104 /* SyntaxKind.NullKeyword */: return factory.createVoidZero(); default: return ts.Debug.failBadSyntaxKind(node.literal); } - case 147 /* NumberKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: return factory.createIdentifier("Number"); - case 158 /* BigIntKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: return getGlobalBigIntNameWithFallback(); - case 151 /* SymbolKeyword */: - return languageVersion < 2 /* ES2015 */ + case 151 /* SyntaxKind.SymbolKeyword */: + return languageVersion < 2 /* ScriptTarget.ES2015 */ ? getGlobalSymbolNameWithFallback() : factory.createIdentifier("Symbol"); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return serializeTypeReferenceNode(node); - case 188 /* IntersectionType */: - case 187 /* UnionType */: + case 188 /* SyntaxKind.IntersectionType */: + case 187 /* SyntaxKind.UnionType */: return serializeTypeList(node.types); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return serializeTypeList([node.trueType, node.falseType]); - case 193 /* TypeOperator */: - if (node.operator === 145 /* ReadonlyKeyword */) { + case 193 /* SyntaxKind.TypeOperator */: + if (node.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { return serializeTypeNode(node.type); } break; - case 181 /* TypeQuery */: - case 194 /* IndexedAccessType */: - case 195 /* MappedType */: - case 182 /* TypeLiteral */: - case 130 /* AnyKeyword */: - case 155 /* UnknownKeyword */: - case 192 /* ThisType */: - case 200 /* ImportType */: + case 181 /* SyntaxKind.TypeQuery */: + case 194 /* SyntaxKind.IndexedAccessType */: + case 195 /* SyntaxKind.MappedType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 192 /* SyntaxKind.ThisType */: + case 200 /* SyntaxKind.ImportType */: break; // handle JSDoc types from an invalid parse - case 312 /* JSDocAllType */: - case 313 /* JSDocUnknownType */: - case 317 /* JSDocFunctionType */: - case 318 /* JSDocVariadicType */: - case 319 /* JSDocNamepathType */: + case 312 /* SyntaxKind.JSDocAllType */: + case 313 /* SyntaxKind.JSDocUnknownType */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 318 /* SyntaxKind.JSDocVariadicType */: + case 319 /* SyntaxKind.JSDocNamepathType */: break; - case 314 /* JSDocNullableType */: - case 315 /* JSDocNonNullableType */: - case 316 /* JSDocOptionalType */: + case 314 /* SyntaxKind.JSDocNullableType */: + case 315 /* SyntaxKind.JSDocNonNullableType */: + case 316 /* SyntaxKind.JSDocOptionalType */: return serializeTypeNode(node.type); default: return ts.Debug.failBadSyntaxKind(node); @@ -92541,13 +92861,13 @@ var ts; var serializedUnion; for (var _i = 0, types_23 = types; _i < types_23.length; _i++) { var typeNode = types_23[_i]; - while (typeNode.kind === 191 /* ParenthesizedType */) { + while (typeNode.kind === 191 /* SyntaxKind.ParenthesizedType */) { typeNode = typeNode.type; // Skip parens if need be } - if (typeNode.kind === 143 /* NeverKeyword */) { + if (typeNode.kind === 143 /* SyntaxKind.NeverKeyword */) { continue; // Always elide `never` from the union/intersection if possible } - if (!strictNullChecks && (typeNode.kind === 196 /* LiteralType */ && typeNode.literal.kind === 104 /* NullKeyword */ || typeNode.kind === 153 /* UndefinedKeyword */)) { + if (!strictNullChecks && (typeNode.kind === 196 /* SyntaxKind.LiteralType */ && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */ || typeNode.kind === 153 /* SyntaxKind.UndefinedKeyword */)) { continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks } var serializedIndividual = serializeTypeNode(typeNode); @@ -92607,7 +92927,7 @@ var ts; case ts.TypeReferenceSerializationKind.ArrayLikeType: return factory.createIdentifier("Array"); case ts.TypeReferenceSerializationKind.ESSymbolType: - return languageVersion < 2 /* ES2015 */ + return languageVersion < 2 /* ScriptTarget.ES2015 */ ? getGlobalSymbolNameWithFallback() : factory.createIdentifier("Symbol"); case ts.TypeReferenceSerializationKind.TypeWithCallSignature: @@ -92629,12 +92949,12 @@ var ts; * @param node The entity name to serialize. */ function serializeEntityNameAsExpressionFallback(node) { - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { // A -> typeof A !== undefined && A var copied = serializeEntityNameAsExpression(node); return createCheckedValue(copied, copied); } - if (node.left.kind === 79 /* Identifier */) { + if (node.left.kind === 79 /* SyntaxKind.Identifier */) { // A.B -> typeof A !== undefined && A.B return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node)); } @@ -92650,14 +92970,14 @@ var ts; */ function serializeEntityNameAsExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // Create a clone of the name with a new parent, and treat it as if it were // a source tree node for the purposes of the checker. var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent); name.original = undefined; ts.setParent(name, ts.getParseTreeNode(currentLexicalScope)); // ensure the parent is set to a parse tree node. return name; - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: return serializeQualifiedNameAsExpression(node); } } @@ -92685,7 +93005,7 @@ var ts; * available. */ function getGlobalBigIntNameWithFallback() { - return languageVersion < 99 /* ESNext */ + return languageVersion < 99 /* ScriptTarget.ESNext */ ? factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("BigInt"), "function"), /*questionToken*/ undefined, factory.createIdentifier("BigInt"), /*colonToken*/ undefined, factory.createIdentifier("Object")) @@ -92748,7 +93068,7 @@ var ts; * @param node The HeritageClause to transform. */ function visitHeritageClause(node) { - if (node.token === 117 /* ImplementsKeyword */) { + if (node.token === 117 /* SyntaxKind.ImplementsKeyword */) { // implements clauses are elided return undefined; } @@ -92776,7 +93096,7 @@ var ts; return !ts.nodeIsMissing(node.body); } function visitPropertyDeclaration(node) { - if (node.flags & 16777216 /* Ambient */ || ts.hasSyntacticModifier(node, 128 /* Abstract */)) { + if (node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)) { return undefined; } var updated = factory.updatePropertyDeclaration(node, @@ -92807,11 +93127,11 @@ var ts; } var statements = []; resumeLexicalEnvironment(); - var indexAfterLastPrologueStatement = factory.copyPrologue(body.statements, statements, /*ensureUseStrict*/ false, visitor); - var superStatementIndex = ts.findSuperStatementIndex(body.statements, indexAfterLastPrologueStatement); + var prologueStatementCount = factory.copyPrologue(body.statements, statements, /*ensureUseStrict*/ false, visitor); + var superStatementIndex = ts.findSuperStatementIndex(body.statements, prologueStatementCount); // If there was a super call, visit existing statements up to and including it if (superStatementIndex >= 0) { - ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, indexAfterLastPrologueStatement, superStatementIndex + 1 - indexAfterLastPrologueStatement)); + ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, prologueStatementCount, superStatementIndex + 1 - prologueStatementCount)); } // Transform parameters into property assignments. Transforms this: // @@ -92830,12 +93150,12 @@ var ts; if (superStatementIndex >= 0) { ts.addRange(statements, parameterPropertyAssignments); } - // Since there was no super() call, parameter properties are the first statements in the constructor + // Since there was no super() call, parameter properties are the first statements in the constructor after any prologue statements else { - statements = ts.addRange(parameterPropertyAssignments, statements); + statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, prologueStatementCount), true), parameterPropertyAssignments, true), statements.slice(prologueStatementCount), true); } - // Add remaining statements from the body, skipping the super() call if it was found - ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, superStatementIndex + 1)); + // Add remaining statements from the body, skipping the super() call if it was found and any (already added) prologue statements + ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, superStatementIndex + 1 + prologueStatementCount)); // End the lexical environment. statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), body.statements), /*multiLine*/ true); @@ -92855,10 +93175,10 @@ var ts; } // TODO(rbuckton): Does this need to be parented? var propertyName = ts.setParent(ts.setTextRange(factory.cloneNode(name), name), name.parent); - ts.setEmitFlags(propertyName, 1536 /* NoComments */ | 48 /* NoSourceMap */); + ts.setEmitFlags(propertyName, 1536 /* EmitFlags.NoComments */ | 48 /* EmitFlags.NoSourceMap */); // TODO(rbuckton): Does this need to be parented? var localName = ts.setParent(ts.setTextRange(factory.cloneNode(name), name), name.parent); - ts.setEmitFlags(localName, 1536 /* NoComments */); + ts.setEmitFlags(localName, 1536 /* EmitFlags.NoComments */); return ts.startOnNewLine(ts.removeAllComments(ts.setTextRange(ts.setOriginalNode(factory.createExpressionStatement(factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createThis(), propertyName), node.name), localName)), node), ts.moveRangePos(node, -1)))); } function visitMethodDeclaration(node) { @@ -92885,7 +93205,7 @@ var ts; * @param node The declaration node. */ function shouldEmitAccessorDeclaration(node) { - return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128 /* Abstract */)); + return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)); } function visitGetAccessor(node) { if (!shouldEmitAccessorDeclaration(node)) { @@ -92961,7 +93281,7 @@ var ts; ts.setCommentRange(updated, node); ts.setTextRange(updated, ts.moveRangePastModifiers(node)); ts.setSourceMapRange(updated, ts.moveRangePastModifiers(node)); - ts.setEmitFlags(updated.name, 32 /* NoTrailingSourceMap */); + ts.setEmitFlags(updated.name, 32 /* EmitFlags.NoTrailingSourceMap */); } return updated; } @@ -92981,7 +93301,7 @@ var ts; function transformInitializedVariable(node) { var name = node.name; if (ts.isBindingPattern(name)) { - return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* All */, + return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createNamespaceExportExpression); } else { @@ -92999,7 +93319,7 @@ var ts; return updated; } function visitParenthesizedExpression(node) { - var innerExpression = ts.skipOuterExpressions(node.expression, ~6 /* Assertions */); + var innerExpression = ts.skipOuterExpressions(node.expression, ~6 /* OuterExpressionKinds.Assertions */); if (ts.isAssertionExpression(innerExpression)) { // Make sure we consider all nested cast expressions, e.g.: // (-A).x; @@ -93076,7 +93396,7 @@ var ts; var statements = []; // We request to be advised when the printer is about to print this node. This allows // us to set up the correct state for later substitutions. - var emitFlags = 2 /* AdviseOnEmitNode */; + var emitFlags = 2 /* EmitFlags.AdviseOnEmitNode */; // If needed, we should emit a variable declaration for the enum. If we emit // a leading variable declaration, we should not emit leading comments for the // enum body. @@ -93084,7 +93404,7 @@ var ts; if (varAdded) { // We should still emit the comments if we are emitting a system module. if (moduleKind !== ts.ModuleKind.System || currentLexicalScope !== currentSourceFile) { - emitFlags |= 512 /* NoLeadingComments */; + emitFlags |= 512 /* EmitFlags.NoLeadingComments */; } } // `parameterName` is the declaration name used inside of the enum. @@ -93092,7 +93412,7 @@ var ts; // `containerName` is the expression used inside of the enum for assignments. var containerName = getNamespaceContainerName(node); // `exportName` is the expression used within this node's container for any exported references. - var exportName = ts.hasSyntacticModifier(node, 1 /* Export */) + var exportName = ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */) ? factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, /*allowComments*/ false, /*allowSourceMaps*/ true) : factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); // x || (x = {}) @@ -93158,7 +93478,7 @@ var ts; var name = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ false); var valueExpression = transformEnumMemberDeclarationValue(member); var innerAssignment = factory.createAssignment(factory.createElementAccessExpression(currentNamespaceContainerName, name), valueExpression); - var outerAssignment = valueExpression.kind === 10 /* StringLiteral */ ? + var outerAssignment = valueExpression.kind === 10 /* SyntaxKind.StringLiteral */ ? innerAssignment : factory.createAssignment(factory.createElementAccessExpression(currentNamespaceContainerName, innerAssignment), name); return ts.setTextRange(factory.createExpressionStatement(ts.setTextRange(outerAssignment, member)), member); @@ -93246,12 +93566,12 @@ var ts; // enums in any other scope are emitted as a `let` declaration. var statement = factory.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.createVariableDeclarationList([ factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true)) - ], currentLexicalScope.kind === 305 /* SourceFile */ ? 0 /* None */ : 1 /* Let */)); + ], currentLexicalScope.kind === 305 /* SyntaxKind.SourceFile */ ? 0 /* NodeFlags.None */ : 1 /* NodeFlags.Let */)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { // Adjust the source map emit to match the old emitter. - if (node.kind === 260 /* EnumDeclaration */) { + if (node.kind === 260 /* SyntaxKind.EnumDeclaration */) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -93276,7 +93596,7 @@ var ts; // })(m1 || (m1 = {})); // trailing comment module // ts.setCommentRange(statement, node); - ts.addEmitFlags(statement, 1024 /* NoTrailingComments */ | 4194304 /* HasEndOfDeclarationMarker */); + ts.addEmitFlags(statement, 1024 /* EmitFlags.NoTrailingComments */ | 4194304 /* EmitFlags.HasEndOfDeclarationMarker */); statements.push(statement); return true; } @@ -93286,7 +93606,7 @@ var ts; // begin/end semantics of the declararation and to properly handle exports // we wrap the leading variable declaration in a `MergeDeclarationMarker`. var mergeMarker = factory.createMergeDeclarationMarker(statement); - ts.setEmitFlags(mergeMarker, 1536 /* NoComments */ | 4194304 /* HasEndOfDeclarationMarker */); + ts.setEmitFlags(mergeMarker, 1536 /* EmitFlags.NoComments */ | 4194304 /* EmitFlags.HasEndOfDeclarationMarker */); statements.push(mergeMarker); return false; } @@ -93307,7 +93627,7 @@ var ts; var statements = []; // We request to be advised when the printer is about to print this node. This allows // us to set up the correct state for later substitutions. - var emitFlags = 2 /* AdviseOnEmitNode */; + var emitFlags = 2 /* EmitFlags.AdviseOnEmitNode */; // If needed, we should emit a variable declaration for the module. If we emit // a leading variable declaration, we should not emit leading comments for the // module body. @@ -93315,7 +93635,7 @@ var ts; if (varAdded) { // We should still emit the comments if we are emitting a system module. if (moduleKind !== ts.ModuleKind.System || currentLexicalScope !== currentSourceFile) { - emitFlags |= 512 /* NoLeadingComments */; + emitFlags |= 512 /* EmitFlags.NoLeadingComments */; } } // `parameterName` is the declaration name used inside of the namespace. @@ -93323,7 +93643,7 @@ var ts; // `containerName` is the expression used inside of the namespace for exports. var containerName = getNamespaceContainerName(node); // `exportName` is the expression used within this node's container for any exported references. - var exportName = ts.hasSyntacticModifier(node, 1 /* Export */) + var exportName = ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */) ? factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, /*allowComments*/ false, /*allowSourceMaps*/ true) : factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); // x || (x = {}) @@ -93376,7 +93696,7 @@ var ts; var statementsLocation; var blockLocation; if (node.body) { - if (node.body.kind === 262 /* ModuleBlock */) { + if (node.body.kind === 262 /* SyntaxKind.ModuleBlock */) { saveStateAndInvoke(node.body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = node.body.statements; blockLocation = node.body; @@ -93423,13 +93743,13 @@ var ts; // })(hi = hello.hi || (hello.hi = {})); // })(hello || (hello = {})); // We only want to emit comment on the namespace which contains block body itself, not the containing namespaces. - if (!node.body || node.body.kind !== 262 /* ModuleBlock */) { - ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* NoComments */); + if (!node.body || node.body.kind !== 262 /* SyntaxKind.ModuleBlock */) { + ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* EmitFlags.NoComments */); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 261 /* ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 261 /* SyntaxKind.ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -93452,8 +93772,8 @@ var ts; // Elide the declaration if the import clause was elided. var importClause = ts.visitNode(node.importClause, visitImportClause, ts.isImportClause); return importClause || - compilerOptions.importsNotUsedAsValues === 1 /* Preserve */ || - compilerOptions.importsNotUsedAsValues === 2 /* Error */ + compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */ || + compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */ ? factory.updateImportDeclaration(node, /*decorators*/ undefined, /*modifiers*/ undefined, importClause, node.moduleSpecifier, node.assertClause) @@ -93477,14 +93797,14 @@ var ts; * @param node The named import bindings node. */ function visitNamedImportBindings(node) { - if (node.kind === 268 /* NamespaceImport */) { + if (node.kind === 268 /* SyntaxKind.NamespaceImport */) { // Elide a namespace import if it is not referenced. return shouldEmitAliasDeclaration(node) ? node : undefined; } else { // Elide named imports if all of its import specifiers are elided and settings allow. - var allowEmpty = compilerOptions.preserveValueImports && (compilerOptions.importsNotUsedAsValues === 1 /* Preserve */ || - compilerOptions.importsNotUsedAsValues === 2 /* Error */); + var allowEmpty = compilerOptions.preserveValueImports && (compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */ || + compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */); var elements = ts.visitNodes(node.elements, visitImportSpecifier, ts.isImportSpecifier); return allowEmpty || ts.some(elements) ? factory.updateNamedImports(node, elements) : undefined; } @@ -93525,8 +93845,8 @@ var ts; return node; } // Elide the export declaration if all of its named exports are elided. - var allowEmpty = !!node.moduleSpecifier && (compilerOptions.importsNotUsedAsValues === 1 /* Preserve */ || - compilerOptions.importsNotUsedAsValues === 2 /* Error */); + var allowEmpty = !!node.moduleSpecifier && (compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */ || + compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */); var exportClause = ts.visitNode(node.exportClause, function (bindings) { return visitNamedExportBindings(bindings, allowEmpty); }, ts.isNamedExportBindings); return exportClause ? factory.updateExportDeclaration(node, @@ -93586,7 +93906,7 @@ var ts; if (ts.isExternalModuleImportEqualsDeclaration(node)) { var isReferenced = shouldEmitAliasDeclaration(node); // If the alias is unreferenced but we want to keep the import, replace with 'import "mod"'. - if (!isReferenced && compilerOptions.importsNotUsedAsValues === 1 /* Preserve */) { + if (!isReferenced && compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */) { return ts.setOriginalNode(ts.setTextRange(factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, @@ -93599,7 +93919,7 @@ var ts; return undefined; } var moduleReference = ts.createExpressionFromEntityName(factory, node.moduleReference); - ts.setEmitFlags(moduleReference, 1536 /* NoComments */ | 2048 /* NoNestedComments */); + ts.setEmitFlags(moduleReference, 1536 /* EmitFlags.NoComments */ | 2048 /* EmitFlags.NoNestedComments */); if (isNamedExternalModuleExport(node) || !isExportOfNamespace(node)) { // export var ${name} = ${moduleReference}; // var ${name} = ${moduleReference}; @@ -93620,7 +93940,7 @@ var ts; * @param node The node to test. */ function isExportOfNamespace(node) { - return currentNamespace !== undefined && ts.hasSyntacticModifier(node, 1 /* Export */); + return currentNamespace !== undefined && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */); } /** * Gets a value indicating whether the node is exported from an external module. @@ -93628,7 +93948,7 @@ var ts; * @param node The node to test. */ function isExternalModuleExport(node) { - return currentNamespace === undefined && ts.hasSyntacticModifier(node, 1 /* Export */); + return currentNamespace === undefined && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */); } /** * Gets a value indicating whether the node is a named export from an external module. @@ -93637,7 +93957,7 @@ var ts; */ function isNamedExternalModuleExport(node) { return isExternalModuleExport(node) - && !ts.hasSyntacticModifier(node, 512 /* Default */); + && !ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */); } /** * Gets a value indicating whether the node is the default export of an external module. @@ -93646,7 +93966,7 @@ var ts; */ function isDefaultExternalModuleExport(node) { return isExternalModuleExport(node) - && ts.hasSyntacticModifier(node, 512 /* Default */); + && ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */); } /** * Creates a statement for the provided expression. This is used in calls to `map`. @@ -93691,7 +94011,7 @@ var ts; * double-binding semantics for the class name. */ function getClassAliasIfNeeded(node) { - if (resolver.getNodeCheckFlags(node) & 16777216 /* ClassWithConstructorReference */) { + if (resolver.getNodeCheckFlags(node) & 16777216 /* NodeCheckFlags.ClassWithConstructorReference */) { enableSubstitutionForClassAliases(); var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default"); classAliases[ts.getOriginalNodeId(node)] = classAlias; @@ -93708,37 +94028,37 @@ var ts; : getClassPrototype(node); } function enableSubstitutionForNonQualifiedEnumMembers() { - if ((enabledSubstitutions & 8 /* NonQualifiedEnumMembers */) === 0) { - enabledSubstitutions |= 8 /* NonQualifiedEnumMembers */; - context.enableSubstitution(79 /* Identifier */); + if ((enabledSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */) === 0) { + enabledSubstitutions |= 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */; + context.enableSubstitution(79 /* SyntaxKind.Identifier */); } } function enableSubstitutionForClassAliases() { - if ((enabledSubstitutions & 1 /* ClassAliases */) === 0) { - enabledSubstitutions |= 1 /* ClassAliases */; + if ((enabledSubstitutions & 1 /* TypeScriptSubstitutionFlags.ClassAliases */) === 0) { + enabledSubstitutions |= 1 /* TypeScriptSubstitutionFlags.ClassAliases */; // We need to enable substitutions for identifiers. This allows us to // substitute class names inside of a class declaration. - context.enableSubstitution(79 /* Identifier */); + context.enableSubstitution(79 /* SyntaxKind.Identifier */); // Keep track of class aliases. classAliases = []; } } function enableSubstitutionForNamespaceExports() { - if ((enabledSubstitutions & 2 /* NamespaceExports */) === 0) { - enabledSubstitutions |= 2 /* NamespaceExports */; + if ((enabledSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */) === 0) { + enabledSubstitutions |= 2 /* TypeScriptSubstitutionFlags.NamespaceExports */; // We need to enable substitutions for identifiers and shorthand property assignments. This allows us to // substitute the names of exported members of a namespace. - context.enableSubstitution(79 /* Identifier */); - context.enableSubstitution(297 /* ShorthandPropertyAssignment */); + context.enableSubstitution(79 /* SyntaxKind.Identifier */); + context.enableSubstitution(297 /* SyntaxKind.ShorthandPropertyAssignment */); // We need to be notified when entering and exiting namespaces. - context.enableEmitNotification(261 /* ModuleDeclaration */); + context.enableEmitNotification(261 /* SyntaxKind.ModuleDeclaration */); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 261 /* ModuleDeclaration */; + return ts.getOriginalNode(node).kind === 261 /* SyntaxKind.ModuleDeclaration */; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 260 /* EnumDeclaration */; + return ts.getOriginalNode(node).kind === 260 /* SyntaxKind.EnumDeclaration */; } /** * Hook for node emit. @@ -93753,11 +94073,11 @@ var ts; if (ts.isSourceFile(node)) { currentSourceFile = node; } - if (enabledSubstitutions & 2 /* NamespaceExports */ && isTransformedModuleDeclaration(node)) { - applicableSubstitutions |= 2 /* NamespaceExports */; + if (enabledSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */ && isTransformedModuleDeclaration(node)) { + applicableSubstitutions |= 2 /* TypeScriptSubstitutionFlags.NamespaceExports */; } - if (enabledSubstitutions & 8 /* NonQualifiedEnumMembers */ && isTransformedEnumDeclaration(node)) { - applicableSubstitutions |= 8 /* NonQualifiedEnumMembers */; + if (enabledSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */ && isTransformedEnumDeclaration(node)) { + applicableSubstitutions |= 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */; } previousOnEmitNode(hint, node, emitCallback); applicableSubstitutions = savedApplicableSubstitutions; @@ -93771,7 +94091,7 @@ var ts; */ function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { return substituteExpression(node); } else if (ts.isShorthandPropertyAssignment(node)) { @@ -93780,7 +94100,7 @@ var ts; return node; } function substituteShorthandPropertyAssignment(node) { - if (enabledSubstitutions & 2 /* NamespaceExports */) { + if (enabledSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */) { var name = node.name; var exportedName = trySubstituteNamespaceExportedName(name); if (exportedName) { @@ -93797,11 +94117,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return substituteElementAccessExpression(node); } return node; @@ -93812,8 +94132,8 @@ var ts; || node; } function trySubstituteClassAlias(node) { - if (enabledSubstitutions & 1 /* ClassAliases */) { - if (resolver.getNodeCheckFlags(node) & 33554432 /* ConstructorReferenceInClass */) { + if (enabledSubstitutions & 1 /* TypeScriptSubstitutionFlags.ClassAliases */) { + if (resolver.getNodeCheckFlags(node) & 33554432 /* NodeCheckFlags.ConstructorReferenceInClass */) { // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. @@ -93839,9 +94159,9 @@ var ts; // If we are nested within a namespace declaration, we may need to qualifiy // an identifier that is exported from a merged namespace. var container = resolver.getReferencedExportContainer(node, /*prefixLocals*/ false); - if (container && container.kind !== 305 /* SourceFile */) { - var substitute = (applicableSubstitutions & 2 /* NamespaceExports */ && container.kind === 261 /* ModuleDeclaration */) || - (applicableSubstitutions & 8 /* NonQualifiedEnumMembers */ && container.kind === 260 /* EnumDeclaration */); + if (container && container.kind !== 305 /* SyntaxKind.SourceFile */) { + var substitute = (applicableSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */ && container.kind === 261 /* SyntaxKind.ModuleDeclaration */) || + (applicableSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */ && container.kind === 260 /* SyntaxKind.EnumDeclaration */); if (substitute) { return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(container), node), /*location*/ node); @@ -93867,7 +94187,7 @@ var ts; var substitute = typeof constantValue === "string" ? factory.createStringLiteral(constantValue) : factory.createNumericLiteral(constantValue); if (!compilerOptions.removeComments) { var originalNode = ts.getOriginalNode(node, ts.isAccessExpression); - ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " " + safeMultiLineComment(ts.getTextOfNode(originalNode)) + " "); + ts.addSyntheticTrailingComment(substitute, 3 /* SyntaxKind.MultiLineCommentTrivia */, " ".concat(safeMultiLineComment(ts.getTextOfNode(originalNode)), " ")); } return substitute; } @@ -93930,13 +94250,13 @@ var ts; var compilerOptions = context.getCompilerOptions(); var languageVersion = ts.getEmitScriptTarget(compilerOptions); var useDefineForClassFields = ts.getUseDefineForClassFields(compilerOptions); - var shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ES2022 */; + var shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ScriptTarget.ES2022 */; // We need to transform `this` in a static initializer into a reference to the class // when targeting < ES2022 since the assignment will be moved outside of the class body. - var shouldTransformThisInStaticInitializers = languageVersion < 9 /* ES2022 */; + var shouldTransformThisInStaticInitializers = languageVersion < 9 /* ScriptTarget.ES2022 */; // We don't need to transform `super` property access when targeting ES5, ES3 because // the es2015 transformation handles those. - var shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ES2015 */; + var shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ScriptTarget.ES2015 */; var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; var previousOnEmitNode = context.onEmitNode; @@ -93962,7 +94282,7 @@ var ts; function transformSourceFile(node) { var options = context.getCompilerOptions(); if (node.isDeclarationFile - || useDefineForClassFields && ts.getEmitScriptTarget(options) >= 9 /* ES2022 */) { + || useDefineForClassFields && ts.getEmitScriptTarget(options) >= 9 /* ScriptTarget.ES2022 */) { return node; } var visited = ts.visitEachChild(node, visitor, context); @@ -93970,50 +94290,50 @@ var ts; return visited; } function visitorWorker(node, valueIsDiscarded) { - if (node.transformFlags & 8388608 /* ContainsClassFields */) { + if (node.transformFlags & 8388608 /* TransformFlags.ContainsClassFields */) { switch (node.kind) { - case 226 /* ClassExpression */: - case 257 /* ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: return visitClassLike(node); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return visitPropertyDeclaration(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return visitPrivateIdentifier(node); - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return visitClassStaticBlockDeclaration(node); } } - if (node.transformFlags & 8388608 /* ContainsClassFields */ || - node.transformFlags & 33554432 /* ContainsLexicalSuper */ && + if (node.transformFlags & 8388608 /* TransformFlags.ContainsClassFields */ || + node.transformFlags & 33554432 /* TransformFlags.ContainsLexicalSuper */ && shouldTransformSuperInStaticInitializers && currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { switch (node.kind) { - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return visitPreOrPostfixUnaryExpression(node, valueIsDiscarded); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node, valueIsDiscarded); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return visitPropertyAccessExpression(node); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return visitElementAccessExpression(node); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node); - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: { + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: { var savedCurrentStaticPropertyDeclarationOrStaticBlock = currentStaticPropertyDeclarationOrStaticBlock; currentStaticPropertyDeclarationOrStaticBlock = undefined; var result = ts.visitEachChild(node, visitor, context); @@ -94032,17 +94352,17 @@ var ts; } function heritageClauseVisitor(node) { switch (node.kind) { - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: return ts.visitEachChild(node, heritageClauseVisitor, context); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return visitExpressionWithTypeArguments(node); } return visitor(node); } function visitorDestructuringTarget(node) { switch (node.kind) { - case 205 /* ObjectLiteralExpression */: - case 204 /* ArrayLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return visitAssignmentPattern(node); default: return visitor(node); @@ -94072,7 +94392,7 @@ var ts; } var privId = node.left; ts.Debug.assertNode(privId, ts.isPrivateIdentifier); - ts.Debug.assert(node.operatorToken.kind === 101 /* InKeyword */); + ts.Debug.assert(node.operatorToken.kind === 101 /* SyntaxKind.InKeyword */); var info = accessPrivateIdentifier(privId); if (info) { var receiver = ts.visitNode(node.right, visitor, ts.isExpression); @@ -94088,19 +94408,19 @@ var ts; */ function classElementVisitor(node) { switch (node.kind) { - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: // Constructors for classes using class fields are transformed in // `visitClassDeclaration` or `visitClassExpression`. return undefined; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: return visitMethodOrAccessorDeclaration(node); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return visitPropertyDeclaration(node); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return visitComputedPropertyName(node); - case 234 /* SemicolonClassElement */: + case 234 /* SyntaxKind.SemicolonClassElement */: return node; default: return visitor(node); @@ -94149,10 +94469,10 @@ var ts; ts.Debug.assert(ts.isPrivateIdentifier(node.name)); var info = accessPrivateIdentifier(node.name); ts.Debug.assert(info, "Undeclared private name for property declaration."); - if (info.kind === "m" /* Method */) { + if (info.kind === "m" /* PrivateIdentifierKind.Method */) { return info.methodName; } - if (info.kind === "a" /* Accessor */) { + if (info.kind === "a" /* PrivateIdentifierKind.Accessor */) { if (ts.isGetAccessor(node)) { return info.getterName; } @@ -94214,11 +94534,11 @@ var ts; function createPrivateIdentifierAccessHelper(info, receiver) { ts.setCommentRange(receiver, ts.moveRangePos(receiver, -1)); switch (info.kind) { - case "a" /* Accessor */: + case "a" /* PrivateIdentifierKind.Accessor */: return context.getEmitHelperFactory().createClassPrivateFieldGetHelper(receiver, info.brandCheckIdentifier, info.kind, info.getterName); - case "m" /* Method */: + case "m" /* PrivateIdentifierKind.Method */: return context.getEmitHelperFactory().createClassPrivateFieldGetHelper(receiver, info.brandCheckIdentifier, info.kind, info.methodName); - case "f" /* Field */: + case "f" /* PrivateIdentifierKind.Field */: return context.getEmitHelperFactory().createClassPrivateFieldGetHelper(receiver, info.brandCheckIdentifier, info.kind, info.variableName); default: ts.Debug.assertNever(info, "Unknown private element type"); @@ -94237,7 +94557,7 @@ var ts; currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { return visitInvalidSuperProperty(node); } if (classConstructor && superClassReference) { @@ -94256,7 +94576,7 @@ var ts; currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { return visitInvalidSuperProperty(node); } if (classConstructor && superClassReference) { @@ -94270,7 +94590,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitPreOrPostfixUnaryExpression(node, valueIsDiscarded) { - if (node.operator === 45 /* PlusPlusToken */ || node.operator === 46 /* MinusMinusToken */) { + if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) { if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(node.operand)) { var info = void 0; if (info = accessPrivateIdentifier(node.operand.name)) { @@ -94279,7 +94599,7 @@ var ts; var expression = createPrivateIdentifierAccess(info, readExpression); var temp = ts.isPrefixUnaryExpression(node) || valueIsDiscarded ? undefined : factory.createTempVariable(hoistVariableDeclaration); expression = ts.expandPreOrPostfixIncrementOrDecrementExpression(factory, node, expression, hoistVariableDeclaration, temp); - expression = createPrivateIdentifierAssignment(info, initializeExpression || readExpression, expression, 63 /* EqualsToken */); + expression = createPrivateIdentifierAssignment(info, initializeExpression || readExpression, expression, 63 /* SyntaxKind.EqualsToken */); ts.setOriginalNode(expression, node); ts.setTextRange(expression, node); if (temp) { @@ -94302,7 +94622,7 @@ var ts; // converts `super.a--` into `(Reflect.set(_baseTemp, "a", (_a = Reflect.get(_baseTemp, "a", _classTemp), _b = _a--), _classTemp), _b)` // converts `super[f()]--` into `(Reflect.set(_baseTemp, _a = f(), (_b = Reflect.get(_baseTemp, _a, _classTemp), _c = _b--), _classTemp), _c)` var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { var operand = visitInvalidSuperProperty(node.operand); return ts.isPrefixUnaryExpression(node) ? factory.updatePrefixUnaryExpression(node, operand) : @@ -94418,7 +94738,7 @@ var ts; var iife = factory.createImmediatelyInvokedArrowFunction(statements); ts.setOriginalNode(iife, node); ts.setTextRange(iife, node); - ts.addEmitFlags(iife, 2 /* AdviseOnEmitNode */); + ts.addEmitFlags(iife, 2 /* EmitFlags.AdviseOnEmitNode */); return iife; } } @@ -94445,7 +94765,7 @@ var ts; currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { return factory.updateBinaryExpression(node, visitInvalidSuperProperty(node.left), node.operatorToken, ts.visitNode(node.right, visitor, ts.isExpression)); } if (classConstructor && superClassReference) { @@ -94487,7 +94807,7 @@ var ts; } } } - if (node.operatorToken.kind === 101 /* InKeyword */ && ts.isPrivateIdentifier(node.left)) { + if (node.operatorToken.kind === 101 /* SyntaxKind.InKeyword */ && ts.isPrivateIdentifier(node.left)) { return visitPrivateIdentifierInInExpression(node); } return ts.visitEachChild(node, visitor, context); @@ -94502,12 +94822,12 @@ var ts; } ts.setCommentRange(receiver, ts.moveRangePos(receiver, -1)); switch (info.kind) { - case "a" /* Accessor */: + case "a" /* PrivateIdentifierKind.Accessor */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, info.setterName); - case "m" /* Method */: + case "m" /* PrivateIdentifierKind.Method */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, /* f */ undefined); - case "f" /* Field */: + case "f" /* PrivateIdentifierKind.Field */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, info.variableName); default: ts.Debug.assertNever(info, "Unknown private element type"); @@ -94547,28 +94867,28 @@ var ts; return ts.filter(node.members, ts.isNonStaticMethodOrAccessorWithPrivateName); } function getClassFacts(node) { - var facts = 0 /* None */; + var facts = 0 /* ClassFacts.None */; var original = ts.getOriginalNode(node); if (ts.isClassDeclaration(original) && ts.classOrConstructorParameterIsDecorated(original)) { - facts |= 1 /* ClassWasDecorated */; + facts |= 1 /* ClassFacts.ClassWasDecorated */; } for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; if (!ts.isStatic(member)) continue; if (member.name && ts.isPrivateIdentifier(member.name) && shouldTransformPrivateElementsOrClassStaticBlocks) { - facts |= 2 /* NeedsClassConstructorReference */; + facts |= 2 /* ClassFacts.NeedsClassConstructorReference */; } if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) { - if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192 /* ContainsLexicalThis */) { - facts |= 8 /* NeedsSubstitutionForThisInClassStaticField */; - if (!(facts & 1 /* ClassWasDecorated */)) { - facts |= 2 /* NeedsClassConstructorReference */; + if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */) { + facts |= 8 /* ClassFacts.NeedsSubstitutionForThisInClassStaticField */; + if (!(facts & 1 /* ClassFacts.ClassWasDecorated */)) { + facts |= 2 /* ClassFacts.NeedsClassConstructorReference */; } } - if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432 /* ContainsLexicalSuper */) { - if (!(facts & 1 /* ClassWasDecorated */)) { - facts |= 2 /* NeedsClassConstructorReference */ | 4 /* NeedsClassSuperReference */; + if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432 /* TransformFlags.ContainsLexicalSuper */) { + if (!(facts & 1 /* ClassFacts.ClassWasDecorated */)) { + facts |= 2 /* ClassFacts.NeedsClassConstructorReference */ | 4 /* ClassFacts.NeedsClassSuperReference */; } } } @@ -94576,8 +94896,8 @@ var ts; return facts; } function visitExpressionWithTypeArguments(node) { - var facts = (currentClassLexicalEnvironment === null || currentClassLexicalEnvironment === void 0 ? void 0 : currentClassLexicalEnvironment.facts) || 0 /* None */; - if (facts & 4 /* NeedsClassSuperReference */) { + var facts = (currentClassLexicalEnvironment === null || currentClassLexicalEnvironment === void 0 ? void 0 : currentClassLexicalEnvironment.facts) || 0 /* ClassFacts.None */; + if (facts & 4 /* ClassFacts.NeedsClassSuperReference */) { var temp = factory.createTempVariable(hoistVariableDeclaration, /*reserveInNestedScopes*/ true); getClassLexicalEnvironment().superClassReference = temp; return factory.updateExpressionWithTypeArguments(node, factory.createAssignment(temp, ts.visitNode(node.expression, visitor, ts.isExpression)), @@ -94590,19 +94910,19 @@ var ts; if (facts) { getClassLexicalEnvironment().facts = facts; } - if (facts & 8 /* NeedsSubstitutionForThisInClassStaticField */) { + if (facts & 8 /* ClassFacts.NeedsSubstitutionForThisInClassStaticField */) { enableSubstitutionForClassStaticThisOrSuperReference(); } // If a class has private static fields, or a static field has a `this` or `super` reference, // then we need to allocate a temp variable to hold on to that reference. var pendingClassReferenceAssignment; - if (facts & 2 /* NeedsClassConstructorReference */) { + if (facts & 2 /* ClassFacts.NeedsClassConstructorReference */) { var temp = factory.createTempVariable(hoistVariableDeclaration, /*reservedInNestedScopes*/ true); getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); pendingClassReferenceAssignment = factory.createAssignment(temp, factory.getInternalName(node)); } var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); - var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* NullKeyword */); + var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); var statements = [ factory.updateClassDeclaration(node, /*decorators*/ undefined, node.modifiers, node.name, @@ -94631,7 +94951,7 @@ var ts; if (facts) { getClassLexicalEnvironment().facts = facts; } - if (facts & 8 /* NeedsSubstitutionForThisInClassStaticField */) { + if (facts & 8 /* ClassFacts.NeedsSubstitutionForThisInClassStaticField */) { enableSubstitutionForClassStaticThisOrSuperReference(); } // If this class expression is a transformation of a decorated class declaration, @@ -94641,19 +94961,19 @@ var ts; // In this case, we use pendingStatements to produce the same output as the // class declaration transformation. The VariableStatement visitor will insert // these statements after the class expression variable statement. - var isDecoratedClassDeclaration = !!(facts & 1 /* ClassWasDecorated */); + var isDecoratedClassDeclaration = !!(facts & 1 /* ClassFacts.ClassWasDecorated */); var staticPropertiesOrClassStaticBlocks = ts.getStaticPropertiesAndClassStaticBlock(node); var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); - var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* NullKeyword */); - var isClassWithConstructorReference = resolver.getNodeCheckFlags(node) & 16777216 /* ClassWithConstructorReference */; + var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); + var isClassWithConstructorReference = resolver.getNodeCheckFlags(node) & 16777216 /* NodeCheckFlags.ClassWithConstructorReference */; var temp; function createClassTempVar() { var classCheckFlags = resolver.getNodeCheckFlags(node); - var isClassWithConstructorReference = classCheckFlags & 16777216 /* ClassWithConstructorReference */; - var requiresBlockScopedVar = classCheckFlags & 524288 /* BlockScopedBindingInLoop */; + var isClassWithConstructorReference = classCheckFlags & 16777216 /* NodeCheckFlags.ClassWithConstructorReference */; + var requiresBlockScopedVar = classCheckFlags & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; return factory.createTempVariable(requiresBlockScopedVar ? addBlockScopedVariable : hoistVariableDeclaration, !!isClassWithConstructorReference); } - if (facts & 2 /* NeedsClassConstructorReference */) { + if (facts & 2 /* ClassFacts.NeedsClassConstructorReference */) { temp = createClassTempVar(); getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); } @@ -94682,12 +95002,12 @@ var ts; // record an alias as the class name is not in scope for statics. enableSubstitutionForClassAliases(); var alias = factory.cloneNode(temp); - alias.autoGenerateFlags &= ~8 /* ReservedInNestedScopes */; + alias.autoGenerateFlags &= ~8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */; classAliases[ts.getOriginalNodeId(node)] = alias; } // To preserve the behavior of the old emitter, we explicitly indent // the body of a class with static initializers. - ts.setEmitFlags(classExpression, 65536 /* Indented */ | ts.getEmitFlags(classExpression)); + ts.setEmitFlags(classExpression, 65536 /* EmitFlags.Indented */ | ts.getEmitFlags(classExpression)); expressions.push(ts.startOnNewLine(factory.createAssignment(temp, classExpression))); // Add any pending expressions leftover from elided or relocated computed property names ts.addRange(expressions, ts.map(pendingExpressions, ts.startOnNewLine)); @@ -94742,13 +95062,13 @@ var ts; /*typeArguments*/ undefined, []))); } function isClassElementThatRequiresConstructorStatement(member) { - if (ts.isStatic(member) || ts.hasSyntacticModifier(ts.getOriginalNode(member), 128 /* Abstract */)) { + if (ts.isStatic(member) || ts.hasSyntacticModifier(ts.getOriginalNode(member), 128 /* ModifierFlags.Abstract */)) { return false; } if (useDefineForClassFields) { // If we are using define semantics and targeting ESNext or higher, // then we don't need to transform any class properties. - return languageVersion < 9 /* ES2022 */; + return languageVersion < 9 /* ScriptTarget.ES2022 */; } return ts.isInitializedProperty(member) || shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierClassElementDeclaration(member); } @@ -94781,7 +95101,7 @@ var ts; } resumeLexicalEnvironment(); var needsSyntheticConstructor = !constructor && isDerivedClass; - var indexOfFirstStatementAfterSuper = 0; + var indexOfFirstStatementAfterSuperAndPrologue = 0; var prologueStatementCount = 0; var superStatementIndex = -1; var statements = []; @@ -94790,8 +95110,11 @@ var ts; superStatementIndex = ts.findSuperStatementIndex(constructor.body.statements, prologueStatementCount); // If there was a super call, visit existing statements up to and including it if (superStatementIndex >= 0) { - indexOfFirstStatementAfterSuper = superStatementIndex + 1; - statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, prologueStatementCount), true), ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, prologueStatementCount, indexOfFirstStatementAfterSuper - prologueStatementCount), true), statements.slice(prologueStatementCount), true); + indexOfFirstStatementAfterSuperAndPrologue = superStatementIndex + 1; + statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, prologueStatementCount), true), ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, prologueStatementCount, indexOfFirstStatementAfterSuperAndPrologue - prologueStatementCount), true), statements.slice(prologueStatementCount), true); + } + else if (prologueStatementCount >= 0) { + indexOfFirstStatementAfterSuperAndPrologue = prologueStatementCount; } } if (needsSyntheticConstructor) { @@ -94827,22 +95150,20 @@ var ts; } } if (parameterPropertyDeclarationCount > 0) { - var parameterProperties = ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, indexOfFirstStatementAfterSuper, parameterPropertyDeclarationCount); + var parameterProperties = ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, indexOfFirstStatementAfterSuperAndPrologue, parameterPropertyDeclarationCount); // If there was a super() call found, add parameter properties immediately after it if (superStatementIndex >= 0) { ts.addRange(statements, parameterProperties); } - // If a synthetic super() call was added, add them just after it - else if (needsSyntheticConstructor) { - statements = __spreadArray(__spreadArray([ - statements[0] - ], parameterProperties, true), statements.slice(1), true); - } - // Since there wasn't a super() call, add them to the top of the constructor else { - statements = __spreadArray(__spreadArray([], parameterProperties, true), statements, true); + // Add add parameter properties to the top of the constructor after the prologue + var superAndPrologueStatementCount = prologueStatementCount; + // If a synthetic super() call was added, need to account for that + if (needsSyntheticConstructor) + superAndPrologueStatementCount++; + statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, superAndPrologueStatementCount), true), parameterProperties, true), statements.slice(superAndPrologueStatementCount), true); } - indexOfFirstStatementAfterSuper += parameterPropertyDeclarationCount; + indexOfFirstStatementAfterSuperAndPrologue += parameterPropertyDeclarationCount; } } } @@ -94852,7 +95173,7 @@ var ts; addPropertyOrClassStaticBlockStatements(statements, properties, receiver); // Add existing statements after the initial prologues and super call if (constructor) { - ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitBodyStatement, ts.isStatement, indexOfFirstStatementAfterSuper + prologueStatementCount)); + ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitBodyStatement, ts.isStatement, indexOfFirstStatementAfterSuperAndPrologue)); } statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); return ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), @@ -94937,7 +95258,7 @@ var ts; if (transformed && ts.hasStaticModifier(property) && (currentClassLexicalEnvironment === null || currentClassLexicalEnvironment === void 0 ? void 0 : currentClassLexicalEnvironment.facts)) { // capture the lexical environment for the member ts.setOriginalNode(transformed, property); - ts.addEmitFlags(transformed, 2 /* AdviseOnEmitNode */); + ts.addEmitFlags(transformed, 2 /* EmitFlags.AdviseOnEmitNode */); classLexicalEnvironmentMap.set(ts.getOriginalNodeId(transformed), currentClassLexicalEnvironment); } currentStaticPropertyDeclarationOrStaticBlock = savedCurrentStaticPropertyDeclarationOrStaticBlock; @@ -94956,7 +95277,7 @@ var ts; if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifier(propertyName)) { var privateIdentifierInfo = accessPrivateIdentifier(propertyName); if (privateIdentifierInfo) { - if (privateIdentifierInfo.kind === "f" /* Field */) { + if (privateIdentifierInfo.kind === "f" /* PrivateIdentifierKind.Field */) { if (!privateIdentifierInfo.isStatic) { return createPrivateInstanceFieldInitializer(receiver, ts.visitNode(property.initializer, visitor, ts.isExpression), privateIdentifierInfo.brandCheckIdentifier); } @@ -94976,7 +95297,7 @@ var ts; return undefined; } var propertyOriginalNode = ts.getOriginalNode(property); - if (ts.hasSyntacticModifier(propertyOriginalNode, 128 /* Abstract */)) { + if (ts.hasSyntacticModifier(propertyOriginalNode, 128 /* ModifierFlags.Abstract */)) { return undefined; } var initializer = property.initializer || emitAssignment ? (_a = ts.visitNode(property.initializer, visitor, ts.isExpression)) !== null && _a !== void 0 ? _a : factory.createVoidZero() @@ -94995,32 +95316,32 @@ var ts; } } function enableSubstitutionForClassAliases() { - if ((enabledSubstitutions & 1 /* ClassAliases */) === 0) { - enabledSubstitutions |= 1 /* ClassAliases */; + if ((enabledSubstitutions & 1 /* ClassPropertySubstitutionFlags.ClassAliases */) === 0) { + enabledSubstitutions |= 1 /* ClassPropertySubstitutionFlags.ClassAliases */; // We need to enable substitutions for identifiers. This allows us to // substitute class names inside of a class declaration. - context.enableSubstitution(79 /* Identifier */); + context.enableSubstitution(79 /* SyntaxKind.Identifier */); // Keep track of class aliases. classAliases = []; } } function enableSubstitutionForClassStaticThisOrSuperReference() { - if ((enabledSubstitutions & 2 /* ClassStaticThisOrSuperReference */) === 0) { - enabledSubstitutions |= 2 /* ClassStaticThisOrSuperReference */; + if ((enabledSubstitutions & 2 /* ClassPropertySubstitutionFlags.ClassStaticThisOrSuperReference */) === 0) { + enabledSubstitutions |= 2 /* ClassPropertySubstitutionFlags.ClassStaticThisOrSuperReference */; // substitute `this` in a static field initializer - context.enableSubstitution(108 /* ThisKeyword */); + context.enableSubstitution(108 /* SyntaxKind.ThisKeyword */); // these push a new lexical environment that is not the class lexical environment - context.enableEmitNotification(256 /* FunctionDeclaration */); - context.enableEmitNotification(213 /* FunctionExpression */); - context.enableEmitNotification(171 /* Constructor */); + context.enableEmitNotification(256 /* SyntaxKind.FunctionDeclaration */); + context.enableEmitNotification(213 /* SyntaxKind.FunctionExpression */); + context.enableEmitNotification(171 /* SyntaxKind.Constructor */); // these push a new lexical environment that is not the class lexical environment, except // when they have a computed property name - context.enableEmitNotification(172 /* GetAccessor */); - context.enableEmitNotification(173 /* SetAccessor */); - context.enableEmitNotification(169 /* MethodDeclaration */); - context.enableEmitNotification(167 /* PropertyDeclaration */); + context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(167 /* SyntaxKind.PropertyDeclaration */); // class lexical environments are restored when entering a computed property name - context.enableEmitNotification(162 /* ComputedPropertyName */); + context.enableEmitNotification(162 /* SyntaxKind.ComputedPropertyName */); } } /** @@ -95059,13 +95380,13 @@ var ts; } } switch (node.kind) { - case 213 /* FunctionExpression */: - if (ts.isArrowFunction(original) || ts.getEmitFlags(node) & 262144 /* AsyncFunctionBody */) { + case 213 /* SyntaxKind.FunctionExpression */: + if (ts.isArrowFunction(original) || ts.getEmitFlags(node) & 262144 /* EmitFlags.AsyncFunctionBody */) { break; } // falls through - case 256 /* FunctionDeclaration */: - case 171 /* Constructor */: { + case 256 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.Constructor */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentClassLexicalEnvironment = undefined; @@ -95075,10 +95396,10 @@ var ts; currentComputedPropertyNameClassLexicalEnvironment = savedCurrentComputedPropertyNameClassLexicalEnvironment; return; } - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: - case 167 /* PropertyDeclaration */: { + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentComputedPropertyNameClassLexicalEnvironment = currentClassLexicalEnvironment; @@ -95088,7 +95409,7 @@ var ts; currentComputedPropertyNameClassLexicalEnvironment = savedCurrentComputedPropertyNameClassLexicalEnvironment; return; } - case 162 /* ComputedPropertyName */: { + case 162 /* SyntaxKind.ComputedPropertyName */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; @@ -95109,24 +95430,24 @@ var ts; */ function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { return substituteExpression(node); } return node; } function substituteExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: return substituteThisExpression(node); } return node; } function substituteThisExpression(node) { - if (enabledSubstitutions & 2 /* ClassStaticThisOrSuperReference */ && currentClassLexicalEnvironment) { + if (enabledSubstitutions & 2 /* ClassPropertySubstitutionFlags.ClassStaticThisOrSuperReference */ && currentClassLexicalEnvironment) { var facts = currentClassLexicalEnvironment.facts, classConstructor = currentClassLexicalEnvironment.classConstructor; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { return factory.createParenthesizedExpression(factory.createVoidZero()); } if (classConstructor) { @@ -95139,8 +95460,8 @@ var ts; return trySubstituteClassAlias(node) || node; } function trySubstituteClassAlias(node) { - if (enabledSubstitutions & 1 /* ClassAliases */) { - if (resolver.getNodeCheckFlags(node) & 33554432 /* ConstructorReferenceInClass */) { + if (enabledSubstitutions & 1 /* ClassPropertySubstitutionFlags.ClassAliases */) { + if (resolver.getNodeCheckFlags(node) & 33554432 /* NodeCheckFlags.ConstructorReferenceInClass */) { // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. @@ -95173,7 +95494,7 @@ var ts; var alreadyTransformed = ts.isAssignmentExpression(innerExpression) && ts.isGeneratedIdentifier(innerExpression.left); if (!alreadyTransformed && !inlinable && shouldHoist) { var generatedName = factory.getGeneratedNameForNode(name); - if (resolver.getNodeCheckFlags(name) & 524288 /* BlockScopedBindingInLoop */) { + if (resolver.getNodeCheckFlags(name) & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */) { addBlockScopedVariable(generatedName); } else { @@ -95193,7 +95514,7 @@ var ts; } function getClassLexicalEnvironment() { return currentClassLexicalEnvironment || (currentClassLexicalEnvironment = { - facts: 0 /* None */, + facts: 0 /* ClassFacts.None */, classConstructor: undefined, superClassReference: undefined, privateIdentifierEnvironment: undefined, @@ -95226,7 +95547,7 @@ var ts; if (ts.isPropertyDeclaration(node)) { var variableName = createHoistedVariableForPrivateName(text, node); privateEnv.identifiers.set(privateName, { - kind: "f" /* Field */, + kind: "f" /* PrivateIdentifierKind.Field */, variableName: variableName, brandCheckIdentifier: classConstructor, isStatic: true, @@ -95236,7 +95557,7 @@ var ts; else if (ts.isMethodDeclaration(node)) { var functionName = createHoistedVariableForPrivateName(text, node); privateEnv.identifiers.set(privateName, { - kind: "m" /* Method */, + kind: "m" /* PrivateIdentifierKind.Method */, methodName: functionName, brandCheckIdentifier: classConstructor, isStatic: true, @@ -95245,12 +95566,12 @@ var ts; } else if (ts.isGetAccessorDeclaration(node)) { var getterName = createHoistedVariableForPrivateName(text + "_get", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* Accessor */ && previousInfo.isStatic && !previousInfo.getterName) { + if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic && !previousInfo.getterName) { previousInfo.getterName = getterName; } else { privateEnv.identifiers.set(privateName, { - kind: "a" /* Accessor */, + kind: "a" /* PrivateIdentifierKind.Accessor */, getterName: getterName, setterName: undefined, brandCheckIdentifier: classConstructor, @@ -95261,12 +95582,12 @@ var ts; } else if (ts.isSetAccessorDeclaration(node)) { var setterName = createHoistedVariableForPrivateName(text + "_set", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* Accessor */ && previousInfo.isStatic && !previousInfo.setterName) { + if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic && !previousInfo.setterName) { previousInfo.setterName = setterName; } else { privateEnv.identifiers.set(privateName, { - kind: "a" /* Accessor */, + kind: "a" /* PrivateIdentifierKind.Accessor */, getterName: undefined, setterName: setterName, brandCheckIdentifier: classConstructor, @@ -95282,7 +95603,7 @@ var ts; else if (ts.isPropertyDeclaration(node)) { var weakMapName = createHoistedVariableForPrivateName(text, node); privateEnv.identifiers.set(privateName, { - kind: "f" /* Field */, + kind: "f" /* PrivateIdentifierKind.Field */, brandCheckIdentifier: weakMapName, isStatic: false, variableName: undefined, @@ -95294,7 +95615,7 @@ var ts; else if (ts.isMethodDeclaration(node)) { ts.Debug.assert(weakSetName, "weakSetName should be set in private identifier environment"); privateEnv.identifiers.set(privateName, { - kind: "m" /* Method */, + kind: "m" /* PrivateIdentifierKind.Method */, methodName: createHoistedVariableForPrivateName(text, node), brandCheckIdentifier: weakSetName, isStatic: false, @@ -95305,12 +95626,12 @@ var ts; ts.Debug.assert(weakSetName, "weakSetName should be set in private identifier environment"); if (ts.isGetAccessor(node)) { var getterName = createHoistedVariableForPrivateName(text + "_get", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* Accessor */ && !previousInfo.isStatic && !previousInfo.getterName) { + if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && !previousInfo.isStatic && !previousInfo.getterName) { previousInfo.getterName = getterName; } else { privateEnv.identifiers.set(privateName, { - kind: "a" /* Accessor */, + kind: "a" /* PrivateIdentifierKind.Accessor */, getterName: getterName, setterName: undefined, brandCheckIdentifier: weakSetName, @@ -95321,12 +95642,12 @@ var ts; } else { var setterName = createHoistedVariableForPrivateName(text + "_set", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* Accessor */ && !previousInfo.isStatic && !previousInfo.setterName) { + if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && !previousInfo.isStatic && !previousInfo.setterName) { previousInfo.setterName = setterName; } else { privateEnv.identifiers.set(privateName, { - kind: "a" /* Accessor */, + kind: "a" /* PrivateIdentifierKind.Accessor */, getterName: undefined, setterName: setterName, brandCheckIdentifier: weakSetName, @@ -95343,9 +95664,9 @@ var ts; } function createHoistedVariableForClass(name, node) { var className = getPrivateIdentifierEnvironment().className; - var prefix = className ? "_" + className : ""; - var identifier = factory.createUniqueName(prefix + "_" + name, 16 /* Optimistic */); - if (resolver.getNodeCheckFlags(node) & 524288 /* BlockScopedBindingInLoop */) { + var prefix = className ? "_".concat(className) : ""; + var identifier = factory.createUniqueName("".concat(prefix, "_").concat(name), 16 /* GeneratedIdentifierFlags.Optimistic */); + if (resolver.getNodeCheckFlags(node) & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */) { addBlockScopedVariable(identifier); } else { @@ -95387,9 +95708,9 @@ var ts; // differently inside the function. if (ts.isThisProperty(node) || ts.isSuperProperty(node) || !ts.isSimpleCopiableExpression(node.expression)) { receiver = factory.createTempVariable(hoistVariableDeclaration, /*reservedInNestedScopes*/ true); - getPendingExpressions().push(factory.createBinaryExpression(receiver, 63 /* EqualsToken */, ts.visitNode(node.expression, visitor, ts.isExpression))); + getPendingExpressions().push(factory.createBinaryExpression(receiver, 63 /* SyntaxKind.EqualsToken */, ts.visitNode(node.expression, visitor, ts.isExpression))); } - return factory.createAssignmentTargetWrapper(parameter, createPrivateIdentifierAssignment(info, receiver, parameter, 63 /* EqualsToken */)); + return factory.createAssignmentTargetWrapper(parameter, createPrivateIdentifierAssignment(info, receiver, parameter, 63 /* SyntaxKind.EqualsToken */)); } function visitArrayAssignmentTarget(node) { var target = ts.getTargetOfBindingOrAssignmentElement(node); @@ -95403,7 +95724,7 @@ var ts; currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { wrapped = visitInvalidSuperProperty(target); } else if (classConstructor && superClassReference) { @@ -95443,7 +95764,7 @@ var ts; currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; - if (facts & 1 /* ClassWasDecorated */) { + if (facts & 1 /* ClassFacts.ClassWasDecorated */) { wrapped = visitInvalidSuperProperty(target); } else if (classConstructor && superClassReference) { @@ -95562,8 +95883,8 @@ var ts; if (node.isDeclarationFile) { return node; } - setContextFlag(1 /* NonTopLevel */, false); - setContextFlag(2 /* HasLexicalThis */, !ts.isEffectiveStrictModeSourceFile(node, compilerOptions)); + setContextFlag(1 /* ContextFlags.NonTopLevel */, false); + setContextFlag(2 /* ContextFlags.HasLexicalThis */, !ts.isEffectiveStrictModeSourceFile(node, compilerOptions)); var visited = ts.visitEachChild(node, visitor, context); ts.addEmitHelpers(visited, context.readEmitHelpers()); return visited; @@ -95575,10 +95896,10 @@ var ts; return (contextFlags & flags) !== 0; } function inTopLevelContext() { - return !inContext(1 /* NonTopLevel */); + return !inContext(1 /* ContextFlags.NonTopLevel */); } function inHasLexicalThisContext() { - return inContext(2 /* HasLexicalThis */); + return inContext(2 /* ContextFlags.HasLexicalThis */); } function doWithContext(flags, cb, value) { var contextFlagsToSet = flags & ~contextFlags; @@ -95594,39 +95915,39 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 256 /* ContainsES2017 */) === 0) { + if ((node.transformFlags & 256 /* TransformFlags.ContainsES2017 */) === 0) { return node; } switch (node.kind) { - case 131 /* AsyncKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: // ES2017 async modifier should be elided for targets < ES2017 return undefined; - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: return visitAwaitExpression(node); - case 169 /* MethodDeclaration */: - return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitMethodDeclaration, node); - case 256 /* FunctionDeclaration */: - return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitFunctionDeclaration, node); - case 213 /* FunctionExpression */: - return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitFunctionExpression, node); - case 214 /* ArrowFunction */: - return doWithContext(1 /* NonTopLevel */, visitArrowFunction, node); - case 206 /* PropertyAccessExpression */: - if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SuperKeyword */) { + case 169 /* SyntaxKind.MethodDeclaration */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitMethodDeclaration, node); + case 256 /* SyntaxKind.FunctionDeclaration */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitFunctionDeclaration, node); + case 213 /* SyntaxKind.FunctionExpression */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitFunctionExpression, node); + case 214 /* SyntaxKind.ArrowFunction */: + return doWithContext(1 /* ContextFlags.NonTopLevel */, visitArrowFunction, node); + case 206 /* SyntaxKind.PropertyAccessExpression */: + if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { capturedSuperProperties.add(node.name.escapedText); } return ts.visitEachChild(node, visitor, context); - case 207 /* ElementAccessExpression */: - if (capturedSuperProperties && node.expression.kind === 106 /* SuperKeyword */) { + case 207 /* SyntaxKind.ElementAccessExpression */: + if (capturedSuperProperties && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { hasSuperElementAccess = true; } return ts.visitEachChild(node, visitor, context); - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 171 /* Constructor */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - return doWithContext(1 /* NonTopLevel */ | 2 /* HasLexicalThis */, visitDefault, node); + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitDefault, node); default: return ts.visitEachChild(node, visitor, context); } @@ -95634,27 +95955,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatementInAsyncBody(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatementInAsyncBody(node); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return visitForInStatementInAsyncBody(node); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return visitForOfStatementInAsyncBody(node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return visitCatchClauseInAsyncBody(node); - case 235 /* Block */: - case 249 /* SwitchStatement */: - case 263 /* CaseBlock */: - case 289 /* CaseClause */: - case 290 /* DefaultClause */: - case 252 /* TryStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 239 /* IfStatement */: - case 248 /* WithStatement */: - case 250 /* LabeledStatement */: + case 235 /* SyntaxKind.Block */: + case 249 /* SyntaxKind.SwitchStatement */: + case 263 /* SyntaxKind.CaseBlock */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: + case 252 /* SyntaxKind.TryStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -95737,7 +96058,7 @@ var ts; /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, /*questionToken*/ undefined, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* Async */ + /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); } @@ -95753,7 +96074,7 @@ var ts; return factory.updateFunctionDeclaration(node, /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* Async */ + /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); } @@ -95768,7 +96089,7 @@ var ts; function visitFunctionExpression(node) { return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* Async */ + /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); } @@ -95783,7 +96104,7 @@ var ts; function visitArrowFunction(node) { return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2 /* Async */ + /*type*/ undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); } @@ -95804,7 +96125,7 @@ var ts; function isVariableDeclarationListWithCollidingName(node) { return !!node && ts.isVariableDeclarationList(node) - && !(node.flags & 3 /* BlockScoped */) + && !(node.flags & 3 /* NodeFlags.BlockScoped */) && node.declarations.some(collidesWithParameterName); } function visitVariableDeclarationListWithCollidingNames(node, hasReceiver) { @@ -95858,9 +96179,9 @@ var ts; resumeLexicalEnvironment(); var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; - var promiseConstructor = languageVersion < 2 /* ES2015 */ ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 214 /* ArrowFunction */; - var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* CaptureArguments */) !== 0; + var promiseConstructor = languageVersion < 2 /* ScriptTarget.ES2015 */ ? getPromiseConstructor(nodeType) : undefined; + var isArrowFunction = node.kind === 214 /* SyntaxKind.ArrowFunction */; + var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* NodeCheckFlags.CaptureArguments */) !== 0; // An async function is emit as an outer function that calls an inner // generator function. To preserve lexical bindings, we pass the current // `this` and `arguments` objects to `__awaiter`. The generator function @@ -95886,7 +96207,7 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. - var emitSuperHelpers = languageVersion >= 2 /* ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* AsyncMethodWithSuperBinding */ | 2048 /* AsyncMethodWithSuper */); + var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */ | 2048 /* NodeCheckFlags.AsyncMethodWithSuper */); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); if (capturedSuperProperties.size) { @@ -95899,10 +96220,10 @@ var ts; ts.setTextRange(block, node.body); if (emitSuperHelpers && hasSuperElementAccess) { // Emit helpers for super element access expressions (`super[x]`). - if (resolver.getNodeCheckFlags(node) & 4096 /* AsyncMethodWithSuperBinding */) { + if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { ts.addEmitHelper(block, ts.advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & 2048 /* AsyncMethodWithSuper */) { + else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.AsyncMethodWithSuper */) { ts.addEmitHelper(block, ts.asyncSuperHelper); } } @@ -95946,21 +96267,21 @@ var ts; return undefined; } function enableSubstitutionForAsyncMethodsWithSuper() { - if ((enabledSubstitutions & 1 /* AsyncMethodsWithSuper */) === 0) { - enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; + if ((enabledSubstitutions & 1 /* ES2017SubstitutionFlags.AsyncMethodsWithSuper */) === 0) { + enabledSubstitutions |= 1 /* ES2017SubstitutionFlags.AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(208 /* CallExpression */); - context.enableSubstitution(206 /* PropertyAccessExpression */); - context.enableSubstitution(207 /* ElementAccessExpression */); + context.enableSubstitution(208 /* SyntaxKind.CallExpression */); + context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(207 /* SyntaxKind.ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(257 /* ClassDeclaration */); - context.enableEmitNotification(169 /* MethodDeclaration */); - context.enableEmitNotification(172 /* GetAccessor */); - context.enableEmitNotification(173 /* SetAccessor */); - context.enableEmitNotification(171 /* Constructor */); + context.enableEmitNotification(257 /* SyntaxKind.ClassDeclaration */); + context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(171 /* SyntaxKind.Constructor */); // We need to be notified when entering the generated accessor arrow functions. - context.enableEmitNotification(237 /* VariableStatement */); + context.enableEmitNotification(237 /* SyntaxKind.VariableStatement */); } } /** @@ -95973,8 +96294,8 @@ var ts; function onEmitNode(hint, node, emitCallback) { // If we need to support substitutions for `super` in an async method, // we should track it here. - if (enabledSubstitutions & 1 /* AsyncMethodsWithSuper */ && isSuperContainer(node)) { - var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* AsyncMethodWithSuper */ | 4096 /* AsyncMethodWithSuperBinding */); + if (enabledSubstitutions & 1 /* ES2017SubstitutionFlags.AsyncMethodsWithSuper */ && isSuperContainer(node)) { + var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* NodeCheckFlags.AsyncMethodWithSuper */ | 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */); if (superContainerFlags !== enclosingSuperContainerFlags) { var savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -96001,30 +96322,30 @@ var ts; */ function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (hint === 1 /* Expression */ && enclosingSuperContainerFlags) { + if (hint === 1 /* EmitHint.Expression */ && enclosingSuperContainerFlags) { return substituteExpression(node); } return node; } function substituteExpression(node) { switch (node.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return substituteElementAccessExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return substituteCallExpression(node); } return node; } function substitutePropertyAccessExpression(node) { - if (node.expression.kind === 106 /* SuperKeyword */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */), node.name), node); + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), node.name), node); } return node; } function substituteElementAccessExpression(node) { - if (node.expression.kind === 106 /* SuperKeyword */) { + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { return createSuperElementAccessInAsyncMethod(node.argumentExpression, node); } return node; @@ -96044,19 +96365,19 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 257 /* ClassDeclaration */ - || kind === 171 /* Constructor */ - || kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */; + return kind === 257 /* SyntaxKind.ClassDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { - if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* Optimistic */ | 32 /* FileLevel */), + if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*typeArguments*/ undefined, [argumentExpression]), "value"), location); } else { - return ts.setTextRange(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* Optimistic */ | 32 /* FileLevel */), + return ts.setTextRange(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*typeArguments*/ undefined, [argumentExpression]), location); } } @@ -96066,7 +96387,7 @@ var ts; function createSuperAccessVariableStatement(factory, resolver, node, names) { // Create a variable declaration with a getter/setter (if binding) definition for each name: // const _super = Object.create(null, { x: { get: () => super.x, set: (v) => super.x = v }, ... }); - var hasBinding = (resolver.getNodeCheckFlags(node) & 4096 /* AsyncMethodWithSuperBinding */) !== 0; + var hasBinding = (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) !== 0; var accessors = []; names.forEach(function (_, key) { var name = ts.unescapeLeadingUnderscores(key); @@ -96076,7 +96397,7 @@ var ts; /* typeParameters */ undefined, /* parameters */ [], /* type */ undefined, - /* equalsGreaterThanToken */ undefined, ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* NoSubstitution */), name), 4 /* NoSubstitution */)))); + /* equalsGreaterThanToken */ undefined, ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* EmitFlags.NoSubstitution */), name), 4 /* EmitFlags.NoSubstitution */)))); if (hasBinding) { getterAndSetter.push(factory.createPropertyAssignment("set", factory.createArrowFunction( /* modifiers */ undefined, @@ -96091,20 +96412,20 @@ var ts; /* initializer */ undefined) ], /* type */ undefined, - /* equalsGreaterThanToken */ undefined, factory.createAssignment(ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* NoSubstitution */), name), 4 /* NoSubstitution */), factory.createIdentifier("v"))))); + /* equalsGreaterThanToken */ undefined, factory.createAssignment(ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* EmitFlags.NoSubstitution */), name), 4 /* EmitFlags.NoSubstitution */), factory.createIdentifier("v"))))); } accessors.push(factory.createPropertyAssignment(name, factory.createObjectLiteralExpression(getterAndSetter))); }); return factory.createVariableStatement( /* modifiers */ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */), + factory.createVariableDeclaration(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*exclamationToken*/ undefined, /* type */ undefined, factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "create"), /* typeArguments */ undefined, [ factory.createNull(), factory.createObjectLiteralExpression(accessors, /* multiline */ true) ])) - ], 2 /* Const */)); + ], 2 /* NodeFlags.Const */)); } ts.createSuperAccessVariableStatement = createSuperAccessVariableStatement; })(ts || (ts = {})); @@ -96174,7 +96495,7 @@ var ts; */ function enterSubtree(excludeFacts, includeFacts) { var ancestorFacts = hierarchyFacts; - hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & 3 /* AncestorFactsMask */; + hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & 3 /* HierarchyFacts.AncestorFactsMask */; return ancestorFacts; } /** @@ -96206,7 +96527,7 @@ var ts; return visitorWorker(node, /*expressionResultIsUnused*/ true); } function visitorNoAsyncModifier(node) { - if (node.kind === 131 /* AsyncKeyword */) { + if (node.kind === 131 /* SyntaxKind.AsyncKeyword */) { return undefined; } return node; @@ -96228,88 +96549,88 @@ var ts; * expression of an `ExpressionStatement`). */ function visitorWorker(node, expressionResultIsUnused) { - if ((node.transformFlags & 128 /* ContainsES2018 */) === 0) { + if ((node.transformFlags & 128 /* TransformFlags.ContainsES2018 */) === 0) { return node; } switch (node.kind) { - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: return visitAwaitExpression(node); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return visitYieldExpression(node); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node, expressionResultIsUnused); - case 351 /* CommaListExpression */: + case 351 /* SyntaxKind.CommaListExpression */: return visitCommaListExpression(node, expressionResultIsUnused); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return visitCatchClause(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return visitVariableDeclaration(node); - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 243 /* ForInStatement */: - return doWithHierarchyFacts(visitDefault, node, 0 /* IterationStatementExcludes */, 2 /* IterationStatementIncludes */); - case 244 /* ForOfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.ForInStatement */: + return doWithHierarchyFacts(visitDefault, node, 0 /* HierarchyFacts.IterationStatementExcludes */, 2 /* HierarchyFacts.IterationStatementIncludes */); + case 244 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 242 /* ForStatement */: - return doWithHierarchyFacts(visitForStatement, node, 0 /* IterationStatementExcludes */, 2 /* IterationStatementIncludes */); - case 217 /* VoidExpression */: + case 242 /* SyntaxKind.ForStatement */: + return doWithHierarchyFacts(visitForStatement, node, 0 /* HierarchyFacts.IterationStatementExcludes */, 2 /* HierarchyFacts.IterationStatementIncludes */); + case 217 /* SyntaxKind.VoidExpression */: return visitVoidExpression(node); - case 171 /* Constructor */: - return doWithHierarchyFacts(visitConstructorDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 169 /* MethodDeclaration */: - return doWithHierarchyFacts(visitMethodDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 172 /* GetAccessor */: - return doWithHierarchyFacts(visitGetAccessorDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 173 /* SetAccessor */: - return doWithHierarchyFacts(visitSetAccessorDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 256 /* FunctionDeclaration */: - return doWithHierarchyFacts(visitFunctionDeclaration, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 213 /* FunctionExpression */: - return doWithHierarchyFacts(visitFunctionExpression, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); - case 214 /* ArrowFunction */: - return doWithHierarchyFacts(visitArrowFunction, node, 2 /* ArrowFunctionExcludes */, 0 /* ArrowFunctionIncludes */); - case 164 /* Parameter */: + case 171 /* SyntaxKind.Constructor */: + return doWithHierarchyFacts(visitConstructorDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); + case 169 /* SyntaxKind.MethodDeclaration */: + return doWithHierarchyFacts(visitMethodDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); + case 172 /* SyntaxKind.GetAccessor */: + return doWithHierarchyFacts(visitGetAccessorDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); + case 173 /* SyntaxKind.SetAccessor */: + return doWithHierarchyFacts(visitSetAccessorDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); + case 256 /* SyntaxKind.FunctionDeclaration */: + return doWithHierarchyFacts(visitFunctionDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); + case 213 /* SyntaxKind.FunctionExpression */: + return doWithHierarchyFacts(visitFunctionExpression, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); + case 214 /* SyntaxKind.ArrowFunction */: + return doWithHierarchyFacts(visitArrowFunction, node, 2 /* HierarchyFacts.ArrowFunctionExcludes */, 0 /* HierarchyFacts.ArrowFunctionIncludes */); + case 164 /* SyntaxKind.Parameter */: return visitParameter(node); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, expressionResultIsUnused); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 206 /* PropertyAccessExpression */: - if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SuperKeyword */) { + case 206 /* SyntaxKind.PropertyAccessExpression */: + if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { capturedSuperProperties.add(node.name.escapedText); } return ts.visitEachChild(node, visitor, context); - case 207 /* ElementAccessExpression */: - if (capturedSuperProperties && node.expression.kind === 106 /* SuperKeyword */) { + case 207 /* SyntaxKind.ElementAccessExpression */: + if (capturedSuperProperties && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { hasSuperElementAccess = true; } return ts.visitEachChild(node, visitor, context); - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - return doWithHierarchyFacts(visitDefault, node, 2 /* ClassOrFunctionExcludes */, 1 /* ClassOrFunctionIncludes */); + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + return doWithHierarchyFacts(visitDefault, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); default: return ts.visitEachChild(node, visitor, context); } } function visitAwaitExpression(node) { - if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { + if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */) { return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression(/*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(ts.visitNode(node.expression, visitor, ts.isExpression))), /*location*/ node), node); } return ts.visitEachChild(node, visitor, context); } function visitYieldExpression(node) { - if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { + if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */) { if (node.asteriskToken) { var expression = ts.visitNode(ts.Debug.checkDefined(node.expression), visitor, ts.isExpression); return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression( @@ -96323,15 +96644,15 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitReturnStatement(node) { - if (enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */) { + if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */) { return factory.updateReturnStatement(node, createDownlevelAwait(node.expression ? ts.visitNode(node.expression, visitor, ts.isExpression) : factory.createVoidZero())); } return ts.visitEachChild(node, visitor, context); } function visitLabeledStatement(node) { - if (enclosingFunctionFlags & 2 /* Async */) { + if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 244 /* ForOfStatement */ && statement.awaitModifier) { + if (statement.kind === 244 /* SyntaxKind.ForOfStatement */ && statement.awaitModifier) { return visitForOfStatement(statement, node); } return factory.restoreEnclosingLabel(ts.visitNode(statement, visitor, ts.isStatement, factory.liftToBlock), node); @@ -96343,7 +96664,7 @@ var ts; var objects = []; for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { var e = elements_5[_i]; - if (e.kind === 298 /* SpreadAssignment */) { + if (e.kind === 298 /* SyntaxKind.SpreadAssignment */) { if (chunkObject) { objects.push(factory.createObjectLiteralExpression(chunkObject)); chunkObject = undefined; @@ -96352,7 +96673,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 296 /* PropertyAssignment */ + chunkObject = ts.append(chunkObject, e.kind === 296 /* SyntaxKind.PropertyAssignment */ ? factory.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -96363,7 +96684,7 @@ var ts; return objects; } function visitObjectLiteralExpression(node) { - if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { // spread elements emit like so: // non-spread elements are chunked together into object literals, and then all are passed to __assign: // { a, ...o, b } => __assign(__assign({a}, o), {b}); @@ -96386,7 +96707,7 @@ var ts; // If we translate the above to `__assign({}, k, l)`, the `l` will evaluate before `k` is spread and we // end up with `{ a: 1, b: 2, c: 3 }` var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 205 /* ObjectLiteralExpression */) { + if (objects.length && objects[0].kind !== 205 /* SyntaxKind.ObjectLiteralExpression */) { objects.unshift(factory.createObjectLiteralExpression()); } var expression = objects[0]; @@ -96413,9 +96734,9 @@ var ts; return ts.visitEachChild(node, expressionResultIsUnused ? visitorWithUnusedExpressionResult : visitor, context); } function visitSourceFile(node) { - var ancestorFacts = enterSubtree(2 /* SourceFileExcludes */, ts.isEffectiveStrictModeSourceFile(node, compilerOptions) ? - 0 /* StrictModeSourceFileIncludes */ : - 1 /* SourceFileIncludes */); + var ancestorFacts = enterSubtree(2 /* HierarchyFacts.SourceFileExcludes */, ts.isEffectiveStrictModeSourceFile(node, compilerOptions) ? + 0 /* HierarchyFacts.StrictModeSourceFileIncludes */ : + 1 /* HierarchyFacts.SourceFileIncludes */); exportedVariableStatement = false; var visited = ts.visitEachChild(node, visitor, context); var statement = ts.concatenate(visited.statements, taggedTemplateStringDeclarations && [ @@ -96436,10 +96757,10 @@ var ts; * expression of an `ExpressionStatement`). */ function visitBinaryExpression(node, expressionResultIsUnused) { - if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { - return ts.flattenDestructuringAssignment(node, visitor, context, 1 /* ObjectRest */, !expressionResultIsUnused); + if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + return ts.flattenDestructuringAssignment(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, !expressionResultIsUnused); } - if (node.operatorToken.kind === 27 /* CommaToken */) { + if (node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return factory.updateBinaryExpression(node, ts.visitNode(node.left, visitorWithUnusedExpressionResult, ts.isExpression), node.operatorToken, ts.visitNode(node.right, expressionResultIsUnused ? visitorWithUnusedExpressionResult : visitor, ts.isExpression)); } return ts.visitEachChild(node, visitor, context); @@ -96467,10 +96788,10 @@ var ts; function visitCatchClause(node) { if (node.variableDeclaration && ts.isBindingPattern(node.variableDeclaration.name) && - node.variableDeclaration.name.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + node.variableDeclaration.name.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { var name = factory.getGeneratedNameForNode(node.variableDeclaration.name); var updatedDecl = factory.updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, /*exclamationToken*/ undefined, /*type*/ undefined, name); - var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1 /* ObjectRest */); + var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1 /* FlattenLevel.ObjectRest */); var block = ts.visitNode(node.block, visitor, ts.isBlock); if (ts.some(visitedBindings)) { block = factory.updateBlock(block, __spreadArray([ @@ -96482,7 +96803,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitVariableStatement(node) { - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { var savedExportedVariableStatement = exportedVariableStatement; exportedVariableStatement = true; var visited = ts.visitEachChild(node, visitor, context); @@ -96508,8 +96829,8 @@ var ts; } function visitVariableDeclarationWorker(node, exportedVariableStatement) { // If we are here it is because the name contains a binding pattern with a rest somewhere in it. - if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { - return ts.flattenDestructuringBinding(node, visitor, context, 1 /* ObjectRest */, + if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + return ts.flattenDestructuringBinding(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, /*rval*/ undefined, exportedVariableStatement); } return ts.visitEachChild(node, visitor, context); @@ -96526,8 +96847,8 @@ var ts; * @param node A ForOfStatement. */ function visitForOfStatement(node, outermostLabeledStatement) { - var ancestorFacts = enterSubtree(0 /* IterationStatementExcludes */, 2 /* IterationStatementIncludes */); - if (node.initializer.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + var ancestorFacts = enterSubtree(0 /* HierarchyFacts.IterationStatementExcludes */, 2 /* HierarchyFacts.IterationStatementIncludes */); + if (node.initializer.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { node = transformForOfStatementWithObjectRest(node); } var result = node.awaitModifier ? @@ -96555,7 +96876,7 @@ var ts; } return factory.updateForOfStatement(node, node.awaitModifier, ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(temp), node.initializer) - ], 1 /* Let */), node.initializer), node.expression, ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), + ], 1 /* NodeFlags.Let */), node.initializer), node.expression, ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), /*multiLine*/ true), bodyLocation)); } return node; @@ -96575,10 +96896,10 @@ var ts; statements.push(statement); } return ts.setEmitFlags(ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), - /*multiLine*/ true), bodyLocation), 48 /* NoSourceMap */ | 384 /* NoTokenSourceMaps */); + /*multiLine*/ true), bodyLocation), 48 /* EmitFlags.NoSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */); } function createDownlevelAwait(expression) { - return enclosingFunctionFlags & 1 /* Generator */ + return enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? factory.createYieldExpression(/*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(expression)) : factory.createAwaitExpression(expression); } @@ -96597,18 +96918,18 @@ var ts; hoistVariableDeclaration(errorRecord); hoistVariableDeclaration(returnMethod); // if we are enclosed in an outer loop ensure we reset 'errorRecord' per each iteration - var initializer = ancestorFacts & 2 /* IterationContainer */ ? + var initializer = ancestorFacts & 2 /* HierarchyFacts.IterationContainer */ ? factory.inlineExpressions([factory.createAssignment(errorRecord, factory.createVoidZero()), callValues]) : callValues; var forStatement = ts.setEmitFlags(ts.setTextRange(factory.createForStatement( /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result) - ]), node.expression), 2097152 /* NoHoisting */), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), /*condition*/ factory.createComma(factory.createAssignment(result, createDownlevelAwait(callNext)), factory.createLogicalNot(getDone)), /*incrementor*/ undefined, /*statement*/ convertForOfStatementHead(node, getValue)), - /*location*/ node), 256 /* NoTokenTrailingSourceMaps */); + /*location*/ node), 256 /* EmitFlags.NoTokenTrailingSourceMaps */); ts.setOriginalNode(forStatement, node); return factory.createTryStatement(factory.createBlock([ factory.restoreEnclosingLabel(forStatement, outermostLabeledStatement) @@ -96616,15 +96937,15 @@ var ts; factory.createExpressionStatement(factory.createAssignment(errorRecord, factory.createObjectLiteralExpression([ factory.createPropertyAssignment("error", catchVariable) ]))) - ]), 1 /* SingleLine */)), factory.createBlock([ + ]), 1 /* EmitFlags.SingleLine */)), factory.createBlock([ factory.createTryStatement( /*tryBlock*/ factory.createBlock([ - ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(getDone)), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(createDownlevelAwait(callReturn))), 1 /* SingleLine */) + ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(getDone)), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(createDownlevelAwait(callReturn))), 1 /* EmitFlags.SingleLine */) ]), /*catchClause*/ undefined, /*finallyBlock*/ ts.setEmitFlags(factory.createBlock([ - ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* SingleLine */) - ]), 1 /* SingleLine */)) + ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* EmitFlags.SingleLine */) + ]), 1 /* EmitFlags.SingleLine */)) ])); } function parameterVisitor(node) { @@ -96640,7 +96961,7 @@ var ts; /*type*/ undefined, /*initializer*/ undefined); } - if (node.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { // Binding patterns are converted into a generated name and are // evaluated inside the function body. return factory.updateParameterDeclaration(node, @@ -96658,7 +96979,7 @@ var ts; if (parameters) { parameters.add(parameter); } - else if (parameter.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + else if (parameter.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { parameters = new ts.Set(); } } @@ -96704,13 +97025,13 @@ var ts; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateMethodDeclaration(node, - /*decorators*/ undefined, enclosingFunctionFlags & 1 /* Generator */ + /*decorators*/ undefined, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) - : node.modifiers, enclosingFunctionFlags & 2 /* Async */ + : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), - /*type*/ undefined, enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */ + /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; @@ -96723,13 +97044,13 @@ var ts; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); var updated = factory.updateFunctionDeclaration(node, - /*decorators*/ undefined, enclosingFunctionFlags & 1 /* Generator */ + /*decorators*/ undefined, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) - : node.modifiers, enclosingFunctionFlags & 2 /* Async */ + : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined : node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), - /*type*/ undefined, enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */ + /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; @@ -96753,13 +97074,13 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateFunctionExpression(node, enclosingFunctionFlags & 1 /* Generator */ + var updated = factory.updateFunctionExpression(node, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) - : node.modifiers, enclosingFunctionFlags & 2 /* Async */ + : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined : node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), - /*type*/ undefined, enclosingFunctionFlags & 2 /* Async */ && enclosingFunctionFlags & 1 /* Generator */ + /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; @@ -96776,13 +97097,13 @@ var ts; capturedSuperProperties = new ts.Set(); hasSuperElementAccess = false; var returnStatement = factory.createReturnStatement(emitHelpers().createAsyncGeneratorHelper(factory.createFunctionExpression( - /*modifiers*/ undefined, factory.createToken(41 /* AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), + /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), /*typeParameters*/ undefined, /*parameters*/ [], - /*type*/ undefined, factory.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset))), !!(hierarchyFacts & 1 /* HasLexicalThis */))); + /*type*/ undefined, factory.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset))), !!(hierarchyFacts & 1 /* HierarchyFacts.HasLexicalThis */))); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. - var emitSuperHelpers = languageVersion >= 2 /* ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* AsyncMethodWithSuperBinding */ | 2048 /* AsyncMethodWithSuper */); + var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */ | 2048 /* NodeCheckFlags.AsyncMethodWithSuper */); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); var variableStatement = ts.createSuperAccessVariableStatement(factory, resolver, node, capturedSuperProperties); @@ -96793,10 +97114,10 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); var block = factory.updateBlock(node.body, statements); if (emitSuperHelpers && hasSuperElementAccess) { - if (resolver.getNodeCheckFlags(node) & 4096 /* AsyncMethodWithSuperBinding */) { + if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { ts.addEmitHelper(block, ts.advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & 2048 /* AsyncMethodWithSuper */) { + else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.AsyncMethodWithSuper */) { ts.addEmitHelper(block, ts.asyncSuperHelper); } } @@ -96835,11 +97156,11 @@ var ts; // // NOTE: see `insertDefaultValueAssignmentForBindingPattern` in es2015.ts if (parameter.name.elements.length > 0) { - var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* All */, factory.getGeneratedNameForNode(parameter)); + var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* FlattenLevel.All */, factory.getGeneratedNameForNode(parameter)); if (ts.some(declarations)) { var declarationList = factory.createVariableDeclarationList(declarations); var statement = factory.createVariableStatement(/*modifiers*/ undefined, declarationList); - ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + ts.setEmitFlags(statement, 1048576 /* EmitFlags.CustomPrologue */); statements = ts.append(statements, statement); } } @@ -96848,7 +97169,7 @@ var ts; var initializer = ts.visitNode(parameter.initializer, visitor, ts.isExpression); var assignment = factory.createAssignment(name, initializer); var statement = factory.createExpressionStatement(assignment); - ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + ts.setEmitFlags(statement, 1048576 /* EmitFlags.CustomPrologue */); statements = ts.append(statements, statement); } } @@ -96864,32 +97185,32 @@ var ts; // } var name = factory.cloneNode(parameter.name); ts.setTextRange(name, parameter.name); - ts.setEmitFlags(name, 48 /* NoSourceMap */); + ts.setEmitFlags(name, 48 /* EmitFlags.NoSourceMap */); var initializer = ts.visitNode(parameter.initializer, visitor, ts.isExpression); - ts.addEmitFlags(initializer, 48 /* NoSourceMap */ | 1536 /* NoComments */); + ts.addEmitFlags(initializer, 48 /* EmitFlags.NoSourceMap */ | 1536 /* EmitFlags.NoComments */); var assignment = factory.createAssignment(name, initializer); ts.setTextRange(assignment, parameter); - ts.setEmitFlags(assignment, 1536 /* NoComments */); + ts.setEmitFlags(assignment, 1536 /* EmitFlags.NoComments */); var block = factory.createBlock([factory.createExpressionStatement(assignment)]); ts.setTextRange(block, parameter); - ts.setEmitFlags(block, 1 /* SingleLine */ | 32 /* NoTrailingSourceMap */ | 384 /* NoTokenSourceMaps */ | 1536 /* NoComments */); + ts.setEmitFlags(block, 1 /* EmitFlags.SingleLine */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */); var typeCheck = factory.createTypeCheck(factory.cloneNode(parameter.name), "undefined"); var statement = factory.createIfStatement(typeCheck, block); ts.startOnNewLine(statement); ts.setTextRange(statement, parameter); - ts.setEmitFlags(statement, 384 /* NoTokenSourceMaps */ | 32 /* NoTrailingSourceMap */ | 1048576 /* CustomPrologue */ | 1536 /* NoComments */); + ts.setEmitFlags(statement, 384 /* EmitFlags.NoTokenSourceMaps */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 1048576 /* EmitFlags.CustomPrologue */ | 1536 /* EmitFlags.NoComments */); statements = ts.append(statements, statement); } } - else if (parameter.transformFlags & 32768 /* ContainsObjectRestOrSpread */) { + else if (parameter.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { containsPrecedingObjectRestOrSpread = true; - var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* ObjectRest */, factory.getGeneratedNameForNode(parameter), + var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* FlattenLevel.ObjectRest */, factory.getGeneratedNameForNode(parameter), /*doNotRecordTempVariablesInLine*/ false, /*skipInitializer*/ true); if (ts.some(declarations)) { var declarationList = factory.createVariableDeclarationList(declarations); var statement = factory.createVariableStatement(/*modifiers*/ undefined, declarationList); - ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + ts.setEmitFlags(statement, 1048576 /* EmitFlags.CustomPrologue */); statements = ts.append(statements, statement); } } @@ -96897,21 +97218,21 @@ var ts; return statements; } function enableSubstitutionForAsyncMethodsWithSuper() { - if ((enabledSubstitutions & 1 /* AsyncMethodsWithSuper */) === 0) { - enabledSubstitutions |= 1 /* AsyncMethodsWithSuper */; + if ((enabledSubstitutions & 1 /* ESNextSubstitutionFlags.AsyncMethodsWithSuper */) === 0) { + enabledSubstitutions |= 1 /* ESNextSubstitutionFlags.AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(208 /* CallExpression */); - context.enableSubstitution(206 /* PropertyAccessExpression */); - context.enableSubstitution(207 /* ElementAccessExpression */); + context.enableSubstitution(208 /* SyntaxKind.CallExpression */); + context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(207 /* SyntaxKind.ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(257 /* ClassDeclaration */); - context.enableEmitNotification(169 /* MethodDeclaration */); - context.enableEmitNotification(172 /* GetAccessor */); - context.enableEmitNotification(173 /* SetAccessor */); - context.enableEmitNotification(171 /* Constructor */); + context.enableEmitNotification(257 /* SyntaxKind.ClassDeclaration */); + context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(171 /* SyntaxKind.Constructor */); // We need to be notified when entering the generated accessor arrow functions. - context.enableEmitNotification(237 /* VariableStatement */); + context.enableEmitNotification(237 /* SyntaxKind.VariableStatement */); } } /** @@ -96924,8 +97245,8 @@ var ts; function onEmitNode(hint, node, emitCallback) { // If we need to support substitutions for `super` in an async method, // we should track it here. - if (enabledSubstitutions & 1 /* AsyncMethodsWithSuper */ && isSuperContainer(node)) { - var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* AsyncMethodWithSuper */ | 4096 /* AsyncMethodWithSuperBinding */); + if (enabledSubstitutions & 1 /* ESNextSubstitutionFlags.AsyncMethodsWithSuper */ && isSuperContainer(node)) { + var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* NodeCheckFlags.AsyncMethodWithSuper */ | 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */); if (superContainerFlags !== enclosingSuperContainerFlags) { var savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -96952,30 +97273,30 @@ var ts; */ function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (hint === 1 /* Expression */ && enclosingSuperContainerFlags) { + if (hint === 1 /* EmitHint.Expression */ && enclosingSuperContainerFlags) { return substituteExpression(node); } return node; } function substituteExpression(node) { switch (node.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return substituteElementAccessExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return substituteCallExpression(node); } return node; } function substitutePropertyAccessExpression(node) { - if (node.expression.kind === 106 /* SuperKeyword */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */), node.name), node); + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), node.name), node); } return node; } function substituteElementAccessExpression(node) { - if (node.expression.kind === 106 /* SuperKeyword */) { + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { return createSuperElementAccessInAsyncMethod(node.argumentExpression, node); } return node; @@ -96995,14 +97316,14 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 257 /* ClassDeclaration */ - || kind === 171 /* Constructor */ - || kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */; + return kind === 257 /* SyntaxKind.ClassDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { - if (enclosingSuperContainerFlags & 4096 /* AsyncMethodWithSuperBinding */) { + if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createIdentifier("_superIndex"), /*typeArguments*/ undefined, [argumentExpression]), "value"), location); } @@ -97027,11 +97348,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 64 /* ContainsES2019 */) === 0) { + if ((node.transformFlags & 64 /* TransformFlags.ContainsES2019 */) === 0) { return node; } switch (node.kind) { - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -97059,29 +97380,29 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 32 /* ContainsES2020 */) === 0) { + if ((node.transformFlags & 32 /* TransformFlags.ContainsES2020 */) === 0) { return node; } switch (node.kind) { - case 208 /* CallExpression */: { + case 208 /* SyntaxKind.CallExpression */: { var updated = visitNonOptionalCallExpression(node, /*captureThisArg*/ false); ts.Debug.assertNotNode(updated, ts.isSyntheticReference); return updated; } - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: if (ts.isOptionalChain(node)) { var updated = visitOptionalExpression(node, /*captureThisArg*/ false, /*isDelete*/ false); ts.Debug.assertNotNode(updated, ts.isSyntheticReference); return updated; } return ts.visitEachChild(node, visitor, context); - case 221 /* BinaryExpression */: - if (node.operatorToken.kind === 60 /* QuestionQuestionToken */) { + case 221 /* SyntaxKind.BinaryExpression */: + if (node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) { return transformNullishCoalescingExpression(node); } return ts.visitEachChild(node, visitor, context); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: return visitDeleteExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -97123,7 +97444,7 @@ var ts; thisArg = expression; } } - expression = node.kind === 206 /* PropertyAccessExpression */ + expression = node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ ? factory.updatePropertyAccessExpression(node, expression, ts.visitNode(node.name, visitor, ts.isIdentifier)) : factory.updateElementAccessExpression(node, expression, ts.visitNode(node.argumentExpression, visitor, ts.isExpression)); return thisArg ? factory.createSyntheticReferenceExpression(expression, thisArg) : expression; @@ -97146,10 +97467,10 @@ var ts; } function visitNonOptionalExpression(node, captureThisArg, isDelete) { switch (node.kind) { - case 212 /* ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); - case 208 /* CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); + case 212 /* SyntaxKind.ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); + case 208 /* SyntaxKind.CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); default: return ts.visitNode(node, visitor, ts.isExpression); } } @@ -97158,7 +97479,7 @@ var ts; var left = visitNonOptionalExpression(ts.skipPartiallyEmittedExpressions(expression), ts.isCallChain(chain[0]), /*isDelete*/ false); var leftThisArg = ts.isSyntheticReference(left) ? left.thisArg : undefined; var capturedLeft = ts.isSyntheticReference(left) ? left.expression : left; - var leftExpression = factory.restoreOuterExpressions(expression, capturedLeft, 8 /* PartiallyEmittedExpressions */); + var leftExpression = factory.restoreOuterExpressions(expression, capturedLeft, 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */); if (!ts.isSimpleCopiableExpression(capturedLeft)) { capturedLeft = factory.createTempVariable(hoistVariableDeclaration); leftExpression = factory.createAssignment(capturedLeft, leftExpression); @@ -97168,8 +97489,8 @@ var ts; for (var i = 0; i < chain.length; i++) { var segment = chain[i]; switch (segment.kind) { - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: if (i === chain.length - 1 && captureThisArg) { if (!ts.isSimpleCopiableExpression(rightExpression)) { thisArg = factory.createTempVariable(hoistVariableDeclaration); @@ -97179,17 +97500,17 @@ var ts; thisArg = rightExpression; } } - rightExpression = segment.kind === 206 /* PropertyAccessExpression */ + rightExpression = segment.kind === 206 /* SyntaxKind.PropertyAccessExpression */ ? factory.createPropertyAccessExpression(rightExpression, ts.visitNode(segment.name, visitor, ts.isIdentifier)) : factory.createElementAccessExpression(rightExpression, ts.visitNode(segment.argumentExpression, visitor, ts.isExpression)); break; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: if (i === 0 && leftThisArg) { if (!ts.isGeneratedIdentifier(leftThisArg)) { leftThisArg = factory.cloneNode(leftThisArg); - ts.addEmitFlags(leftThisArg, 1536 /* NoComments */); + ts.addEmitFlags(leftThisArg, 1536 /* EmitFlags.NoComments */); } - rightExpression = factory.createFunctionCallCall(rightExpression, leftThisArg.kind === 106 /* SuperKeyword */ ? factory.createThis() : leftThisArg, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); + rightExpression = factory.createFunctionCallCall(rightExpression, leftThisArg.kind === 106 /* SyntaxKind.SuperKeyword */ ? factory.createThis() : leftThisArg, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); } else { rightExpression = factory.createCallExpression(rightExpression, @@ -97206,7 +97527,7 @@ var ts; return thisArg ? factory.createSyntheticReferenceExpression(target, thisArg) : target; } function createNotNullCondition(left, right, invert) { - return factory.createBinaryExpression(factory.createBinaryExpression(left, factory.createToken(invert ? 36 /* EqualsEqualsEqualsToken */ : 37 /* ExclamationEqualsEqualsToken */), factory.createNull()), factory.createToken(invert ? 56 /* BarBarToken */ : 55 /* AmpersandAmpersandToken */), factory.createBinaryExpression(right, factory.createToken(invert ? 36 /* EqualsEqualsEqualsToken */ : 37 /* ExclamationEqualsEqualsToken */), factory.createVoidZero())); + return factory.createBinaryExpression(factory.createBinaryExpression(left, factory.createToken(invert ? 36 /* SyntaxKind.EqualsEqualsEqualsToken */ : 37 /* SyntaxKind.ExclamationEqualsEqualsToken */), factory.createNull()), factory.createToken(invert ? 56 /* SyntaxKind.BarBarToken */ : 55 /* SyntaxKind.AmpersandAmpersandToken */), factory.createBinaryExpression(right, factory.createToken(invert ? 36 /* SyntaxKind.EqualsEqualsEqualsToken */ : 37 /* SyntaxKind.ExclamationEqualsEqualsToken */), factory.createVoidZero())); } function transformNullishCoalescingExpression(node) { var left = ts.visitNode(node.left, visitor, ts.isExpression); @@ -97240,11 +97561,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 16 /* ContainsES2021 */) === 0) { + if ((node.transformFlags & 16 /* TransformFlags.ContainsES2021 */) === 0) { return node; } switch (node.kind) { - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: var binaryExpression = node; if (ts.isLogicalOrCoalescingAssignmentExpression(binaryExpression)) { return transformLogicalAssignment(binaryExpression); @@ -97294,7 +97615,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 4 /* ContainsESNext */) === 0) { + if ((node.transformFlags & 4 /* TransformFlags.ContainsESNext */) === 0) { return node; } switch (node.kind) { @@ -97318,12 +97639,12 @@ var ts; if (currentFileState.filenameDeclaration) { return currentFileState.filenameDeclaration.name; } - var declaration = factory.createVariableDeclaration(factory.createUniqueName("_jsxFileName", 16 /* Optimistic */ | 32 /* FileLevel */), /*exclaimationToken*/ undefined, /*type*/ undefined, factory.createStringLiteral(currentSourceFile.fileName)); + var declaration = factory.createVariableDeclaration(factory.createUniqueName("_jsxFileName", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*exclaimationToken*/ undefined, /*type*/ undefined, factory.createStringLiteral(currentSourceFile.fileName)); currentFileState.filenameDeclaration = declaration; return currentFileState.filenameDeclaration.name; } function getJsxFactoryCalleePrimitive(isStaticChildren) { - return compilerOptions.jsx === 5 /* ReactJSXDev */ ? "jsxDEV" : isStaticChildren ? "jsxs" : "jsx"; + return compilerOptions.jsx === 5 /* JsxEmit.ReactJSXDev */ ? "jsxDEV" : isStaticChildren ? "jsxs" : "jsx"; } function getJsxFactoryCallee(isStaticChildren) { var type = getJsxFactoryCalleePrimitive(isStaticChildren); @@ -97349,7 +97670,7 @@ var ts; specifierSourceImports = new ts.Map(); currentFileState.utilizedImplicitRuntimeImports.set(importSource, specifierSourceImports); } - var generatedName = factory.createUniqueName("_" + name, 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */); + var generatedName = factory.createUniqueName("_".concat(name), 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */ | 64 /* GeneratedIdentifierFlags.AllowNameSubstitution */); var specifier = factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier(name), generatedName); generatedName.generatedImportReference = specifier; specifierSourceImports.set(name, specifier); @@ -97371,7 +97692,7 @@ var ts; ts.addEmitHelpers(visited, context.readEmitHelpers()); var statements = visited.statements; if (currentFileState.filenameDeclaration) { - statements = ts.insertStatementAfterCustomPrologue(statements.slice(), factory.createVariableStatement(/*modifiers*/ undefined, factory.createVariableDeclarationList([currentFileState.filenameDeclaration], 2 /* Const */))); + statements = ts.insertStatementAfterCustomPrologue(statements.slice(), factory.createVariableStatement(/*modifiers*/ undefined, factory.createVariableDeclarationList([currentFileState.filenameDeclaration], 2 /* NodeFlags.Const */))); } if (currentFileState.utilizedImplicitRuntimeImports) { for (var _i = 0, _a = ts.arrayFrom(currentFileState.utilizedImplicitRuntimeImports.entries()); _i < _a.length; _i++) { @@ -97388,7 +97709,7 @@ var ts; factory.createVariableDeclaration(factory.createObjectBindingPattern(ts.map(ts.arrayFrom(importSpecifiersMap.values()), function (s) { return factory.createBindingElement(/*dotdotdot*/ undefined, s.propertyName, s.name); })), /*exclaimationToken*/ undefined, /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, [factory.createStringLiteral(importSource)])) - ], 2 /* Const */)); + ], 2 /* NodeFlags.Const */)); ts.setParentRecursive(requireStatement, /*incremental*/ false); statements = ts.insertStatementAfterCustomPrologue(statements.slice(), requireStatement); } @@ -97404,7 +97725,7 @@ var ts; return visited; } function visitor(node) { - if (node.transformFlags & 2 /* ContainsJsx */) { + if (node.transformFlags & 2 /* TransformFlags.ContainsJsx */) { return visitorWorker(node); } else { @@ -97413,13 +97734,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: return visitJsxElement(node, /*isChild*/ false); - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ false); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: return visitJsxFragment(node, /*isChild*/ false); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -97427,15 +97748,15 @@ var ts; } function transformJsxChildToExpression(node) { switch (node.kind) { - case 11 /* JsxText */: + case 11 /* SyntaxKind.JsxText */: return visitJsxText(node); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return visitJsxExpression(node); - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: return visitJsxElement(node, /*isChild*/ true); - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ true); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: return visitJsxFragment(node, /*isChild*/ true); default: return ts.Debug.failBadSyntaxKind(node); @@ -97504,7 +97825,7 @@ var ts; if (keyAttr) { args.push(transformJsxAttributeInitializer(keyAttr.initializer)); } - if (compilerOptions.jsx === 5 /* ReactJSXDev */) { + if (compilerOptions.jsx === 5 /* JsxEmit.ReactJSXDev */) { var originalFile = ts.getOriginalNode(currentSourceFile); if (originalFile && ts.isSourceFile(originalFile)) { // "maybeKey" has to be replaced with "void 0" to not break the jsxDEV signature @@ -97569,7 +97890,7 @@ var ts; } function transformJsxAttributesToObjectProps(attrs, children) { var target = ts.getEmitScriptTarget(compilerOptions); - return target && target >= 5 /* ES2018 */ ? factory.createObjectLiteralExpression(transformJsxAttributesToProps(attrs, children)) : + return target && target >= 5 /* ScriptTarget.ES2018 */ ? factory.createObjectLiteralExpression(transformJsxAttributesToProps(attrs, children)) : transformJsxAttributesToExpression(attrs, children); } function transformJsxAttributesToProps(attrs, children) { @@ -97609,14 +97930,14 @@ var ts; if (node === undefined) { return factory.createTrue(); } - else if (node.kind === 10 /* StringLiteral */) { + else if (node.kind === 10 /* SyntaxKind.StringLiteral */) { // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which // Need to be escaped to be handled correctly in a normal string var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote); return ts.setTextRange(literal, node); } - else if (node.kind === 288 /* JsxExpression */) { + else if (node.kind === 288 /* SyntaxKind.JsxExpression */) { if (node.expression === undefined) { return factory.createTrue(); } @@ -97710,7 +98031,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 278 /* JsxElement */) { + if (node.kind === 278 /* SyntaxKind.JsxElement */) { return getTagName(node.openingElement); } else { @@ -98013,11 +98334,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitor(node) { - if ((node.transformFlags & 512 /* ContainsES2016 */) === 0) { + if ((node.transformFlags & 512 /* TransformFlags.ContainsES2016 */) === 0) { return node; } switch (node.kind) { - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -98025,9 +98346,9 @@ var ts; } function visitBinaryExpression(node) { switch (node.operatorToken.kind) { - case 67 /* AsteriskAsteriskEqualsToken */: + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: return visitExponentiationAssignmentExpression(node); - case 42 /* AsteriskAsteriskToken */: + case 42 /* SyntaxKind.AsteriskAsteriskToken */: return visitExponentiationExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -98217,7 +98538,7 @@ var ts; currentSourceFile = undefined; currentText = undefined; taggedTemplateStringDeclarations = undefined; - hierarchyFacts = 0 /* None */; + hierarchyFacts = 0 /* HierarchyFacts.None */; return visited; } /** @@ -98227,7 +98548,7 @@ var ts; */ function enterSubtree(excludeFacts, includeFacts) { var ancestorFacts = hierarchyFacts; - hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & 32767 /* AncestorFactsMask */; + hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & 32767 /* HierarchyFacts.AncestorFactsMask */; return ancestorFacts; } /** @@ -98238,15 +98559,15 @@ var ts; * @param includeFacts The new `HierarchyFacts` of the subtree that should be propagated. */ function exitSubtree(ancestorFacts, excludeFacts, includeFacts) { - hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -32768 /* SubtreeFactsMask */ | ancestorFacts; + hierarchyFacts = (hierarchyFacts & ~excludeFacts | includeFacts) & -32768 /* HierarchyFacts.SubtreeFactsMask */ | ancestorFacts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { - return (hierarchyFacts & 8192 /* ConstructorWithCapturedSuper */) !== 0 - && node.kind === 247 /* ReturnStatement */ + return (hierarchyFacts & 8192 /* HierarchyFacts.ConstructorWithCapturedSuper */) !== 0 + && node.kind === 247 /* SyntaxKind.ReturnStatement */ && !node.expression; } function isOrMayContainReturnCompletion(node) { - return node.transformFlags & 2097152 /* ContainsHoistedDeclarationOrCompletion */ + return node.transformFlags & 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */ && (ts.isReturnStatement(node) || ts.isIfStatement(node) || ts.isWithStatement(node) @@ -98261,11 +98582,11 @@ var ts; || ts.isBlock(node)); } function shouldVisitNode(node) { - return (node.transformFlags & 1024 /* ContainsES2015 */) !== 0 + return (node.transformFlags & 1024 /* TransformFlags.ContainsES2015 */) !== 0 || convertedLoopState !== undefined - || (hierarchyFacts & 8192 /* ConstructorWithCapturedSuper */ && isOrMayContainReturnCompletion(node)) + || (hierarchyFacts & 8192 /* HierarchyFacts.ConstructorWithCapturedSuper */ && isOrMayContainReturnCompletion(node)) || (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false) && shouldConvertIterationStatement(node)) - || (ts.getEmitFlags(node) & 33554432 /* TypeScriptClassWrapper */) !== 0; + || (ts.getEmitFlags(node) & 33554432 /* EmitFlags.TypeScriptClassWrapper */) !== 0; } function visitor(node) { return shouldVisitNode(node) ? visitorWorker(node, /*expressionResultIsUnused*/ false) : node; @@ -98277,9 +98598,9 @@ var ts; if (shouldVisitNode(node)) { var original = ts.getOriginalNode(node); if (ts.isPropertyDeclaration(original) && ts.hasStaticModifier(original)) { - var ancestorFacts = enterSubtree(32670 /* StaticInitializerExcludes */, 16449 /* StaticInitializerIncludes */); + var ancestorFacts = enterSubtree(32670 /* HierarchyFacts.StaticInitializerExcludes */, 16449 /* HierarchyFacts.StaticInitializerIncludes */); var result = visitorWorker(node, /*expressionResultIsUnused*/ false); - exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); return result; } return visitorWorker(node, /*expressionResultIsUnused*/ false); @@ -98287,115 +98608,115 @@ var ts; return node; } function callExpressionVisitor(node) { - if (node.kind === 106 /* SuperKeyword */) { + if (node.kind === 106 /* SyntaxKind.SuperKeyword */) { return visitSuperKeyword(/*isExpressionOfCall*/ true); } return visitor(node); } function visitorWorker(node, expressionResultIsUnused) { switch (node.kind) { - case 124 /* StaticKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: return undefined; // elide static keyword - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: return visitClassExpression(node); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return visitParameter(node); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return visitArrowFunction(node); - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: return visitFunctionExpression(node); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return visitVariableDeclaration(node); - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return visitIdentifier(node); - case 255 /* VariableDeclarationList */: + case 255 /* SyntaxKind.VariableDeclarationList */: return visitVariableDeclarationList(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return visitSwitchStatement(node); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: return visitCaseBlock(node); - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: return visitBlock(node, /*isFunctionBody*/ false); - case 246 /* BreakStatement */: - case 245 /* ContinueStatement */: + case 246 /* SyntaxKind.BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: return visitBreakOrContinueStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); - case 240 /* DoStatement */: - case 241 /* WhileStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: return visitDoOrWhileStatement(node, /*outermostLabeledStatement*/ undefined); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node, /*outermostLabeledStatement*/ undefined); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return visitForInStatement(node, /*outermostLabeledStatement*/ undefined); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return visitCatchClause(node); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return visitShorthandPropertyAssignment(node); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return visitComputedPropertyName(node); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return visitNewExpression(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, expressionResultIsUnused); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node, expressionResultIsUnused); - case 351 /* CommaListExpression */: + case 351 /* SyntaxKind.CommaListExpression */: return visitCommaListExpression(node, expressionResultIsUnused); - case 14 /* NoSubstitutionTemplateLiteral */: - case 15 /* TemplateHead */: - case 16 /* TemplateMiddle */: - case 17 /* TemplateTail */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 15 /* SyntaxKind.TemplateHead */: + case 16 /* SyntaxKind.TemplateMiddle */: + case 17 /* SyntaxKind.TemplateTail */: return visitTemplateLiteral(node); - case 10 /* StringLiteral */: + case 10 /* SyntaxKind.StringLiteral */: return visitStringLiteral(node); - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: return visitNumericLiteral(node); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 223 /* TemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: return visitTemplateExpression(node); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return visitYieldExpression(node); - case 225 /* SpreadElement */: + case 225 /* SyntaxKind.SpreadElement */: return visitSpreadElement(node); - case 106 /* SuperKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: return visitSuperKeyword(/*isExpressionOfCall*/ false); - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: return visitThisKeyword(node); - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return visitMetaProperty(node); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: return visitMethodDeclaration(node); - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return visitAccessorDeclaration(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); - case 217 /* VoidExpression */: + case 217 /* SyntaxKind.VoidExpression */: return visitVoidExpression(node); default: return ts.visitEachChild(node, visitor, context); } } function visitSourceFile(node) { - var ancestorFacts = enterSubtree(8064 /* SourceFileExcludes */, 64 /* SourceFileIncludes */); + var ancestorFacts = enterSubtree(8064 /* HierarchyFacts.SourceFileExcludes */, 64 /* HierarchyFacts.SourceFileIncludes */); var prologue = []; var statements = []; startLexicalEnvironment(); @@ -98406,14 +98727,14 @@ var ts; } factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment()); insertCaptureThisForNodeIfNeeded(prologue, node); - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray(ts.concatenate(prologue, statements)), node.statements)); } function visitSwitchStatement(node) { if (convertedLoopState !== undefined) { var savedAllowedNonLabeledJumps = convertedLoopState.allowedNonLabeledJumps; // for switch statement allow only non-labeled break - convertedLoopState.allowedNonLabeledJumps |= 2 /* Break */; + convertedLoopState.allowedNonLabeledJumps |= 2 /* Jump.Break */; var result = ts.visitEachChild(node, visitor, context); convertedLoopState.allowedNonLabeledJumps = savedAllowedNonLabeledJumps; return result; @@ -98421,17 +98742,17 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitCaseBlock(node) { - var ancestorFacts = enterSubtree(7104 /* BlockScopeExcludes */, 0 /* BlockScopeIncludes */); + var ancestorFacts = enterSubtree(7104 /* HierarchyFacts.BlockScopeExcludes */, 0 /* HierarchyFacts.BlockScopeIncludes */); var updated = ts.visitEachChild(node, visitor, context); - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return updated; } function returnCapturedThis(node) { - return ts.setOriginalNode(factory.createReturnStatement(factory.createUniqueName("_this", 16 /* Optimistic */ | 32 /* FileLevel */)), node); + return ts.setOriginalNode(factory.createReturnStatement(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)), node); } function visitReturnStatement(node) { if (convertedLoopState) { - convertedLoopState.nonLocalJumps |= 8 /* Return */; + convertedLoopState.nonLocalJumps |= 8 /* Jump.Return */; if (isReturnVoidStatementInConstructorWithCapturedSuper(node)) { node = returnCapturedThis(node); } @@ -98447,11 +98768,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitThisKeyword(node) { - if (hierarchyFacts & 2 /* ArrowFunction */ && !(hierarchyFacts & 16384 /* StaticInitializer */)) { - hierarchyFacts |= 65536 /* CapturedLexicalThis */; + if (hierarchyFacts & 2 /* HierarchyFacts.ArrowFunction */ && !(hierarchyFacts & 16384 /* HierarchyFacts.StaticInitializer */)) { + hierarchyFacts |= 65536 /* HierarchyFacts.CapturedLexicalThis */; } if (convertedLoopState) { - if (hierarchyFacts & 2 /* ArrowFunction */) { + if (hierarchyFacts & 2 /* HierarchyFacts.ArrowFunction */) { // if the enclosing function is an ArrowFunction then we use the captured 'this' keyword. convertedLoopState.containsLexicalThis = true; return node; @@ -98478,30 +98799,30 @@ var ts; // it is possible if either // - break/continue is labeled and label is located inside the converted loop // - break/continue is non-labeled and located in non-converted loop/switch statement - var jump = node.kind === 246 /* BreakStatement */ ? 2 /* Break */ : 4 /* Continue */; + var jump = node.kind === 246 /* SyntaxKind.BreakStatement */ ? 2 /* Jump.Break */ : 4 /* Jump.Continue */; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; var label = node.label; if (!label) { - if (node.kind === 246 /* BreakStatement */) { - convertedLoopState.nonLocalJumps |= 2 /* Break */; + if (node.kind === 246 /* SyntaxKind.BreakStatement */) { + convertedLoopState.nonLocalJumps |= 2 /* Jump.Break */; labelMarker = "break"; } else { - convertedLoopState.nonLocalJumps |= 4 /* Continue */; + convertedLoopState.nonLocalJumps |= 4 /* Jump.Continue */; // note: return value is emitted only to simplify debugging, call to converted loop body does not do any dispatching on it. labelMarker = "continue"; } } else { - if (node.kind === 246 /* BreakStatement */) { - labelMarker = "break-" + label.escapedText; + if (node.kind === 246 /* SyntaxKind.BreakStatement */) { + labelMarker = "break-".concat(label.escapedText); setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } else { - labelMarker = "continue-" + label.escapedText; + labelMarker = "continue-".concat(label.escapedText); setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker); } } @@ -98510,15 +98831,15 @@ var ts; var outParams = convertedLoopState.loopOutParameters; var expr = void 0; for (var i = 0; i < outParams.length; i++) { - var copyExpr = copyOutParameter(outParams[i], 1 /* ToOutParameter */); + var copyExpr = copyOutParameter(outParams[i], 1 /* CopyDirection.ToOutParameter */); if (i === 0) { expr = copyExpr; } else { - expr = factory.createBinaryExpression(expr, 27 /* CommaToken */, copyExpr); + expr = factory.createBinaryExpression(expr, 27 /* SyntaxKind.CommaToken */, copyExpr); } } - returnExpression = factory.createBinaryExpression(expr, 27 /* CommaToken */, returnExpression); + returnExpression = factory.createBinaryExpression(expr, 27 /* SyntaxKind.CommaToken */, returnExpression); } return factory.createReturnStatement(returnExpression); } @@ -98551,18 +98872,18 @@ var ts; ts.startOnNewLine(statement); statements.push(statement); // Add an `export default` statement for default exports (for `--target es5 --module es6`) - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { - var exportStatement = ts.hasSyntacticModifier(node, 512 /* Default */) + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { + var exportStatement = ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) ? factory.createExportDefault(factory.getLocalName(node)) : factory.createExternalModuleExport(factory.getLocalName(node)); ts.setOriginalNode(exportStatement, statement); statements.push(exportStatement); } var emitFlags = ts.getEmitFlags(node); - if ((emitFlags & 4194304 /* HasEndOfDeclarationMarker */) === 0) { + if ((emitFlags & 4194304 /* EmitFlags.HasEndOfDeclarationMarker */) === 0) { // Add a DeclarationMarker as a marker for the end of the declaration statements.push(factory.createEndOfDeclarationMarker(node)); - ts.setEmitFlags(statement, emitFlags | 4194304 /* HasEndOfDeclarationMarker */); + ts.setEmitFlags(statement, emitFlags | 4194304 /* EmitFlags.HasEndOfDeclarationMarker */); } return ts.singleOrMany(statements); } @@ -98619,25 +98940,25 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */))] : [], + /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], /*type*/ undefined, transformClassBody(node, extendsClauseElement)); // To preserve the behavior of the old emitter, we explicitly indent // the body of the function here if it was requested in an earlier // transformation. - ts.setEmitFlags(classFunction, (ts.getEmitFlags(node) & 65536 /* Indented */) | 524288 /* ReuseTempVariableScope */); + ts.setEmitFlags(classFunction, (ts.getEmitFlags(node) & 65536 /* EmitFlags.Indented */) | 524288 /* EmitFlags.ReuseTempVariableScope */); // "inner" and "outer" below are added purely to preserve source map locations from // the old emitter var inner = factory.createPartiallyEmittedExpression(classFunction); ts.setTextRangeEnd(inner, node.end); - ts.setEmitFlags(inner, 1536 /* NoComments */); + ts.setEmitFlags(inner, 1536 /* EmitFlags.NoComments */); var outer = factory.createPartiallyEmittedExpression(inner); ts.setTextRangeEnd(outer, ts.skipTrivia(currentText, node.pos)); - ts.setEmitFlags(outer, 1536 /* NoComments */); + ts.setEmitFlags(outer, 1536 /* EmitFlags.NoComments */); var result = factory.createParenthesizedExpression(factory.createCallExpression(outer, /*typeArguments*/ undefined, extendsClauseElement ? [ts.visitNode(extendsClauseElement.expression, visitor, ts.isExpression)] : [])); - ts.addSyntheticLeadingComment(result, 3 /* MultiLineCommentTrivia */, "* @class "); + ts.addSyntheticLeadingComment(result, 3 /* SyntaxKind.MultiLineCommentTrivia */, "* @class "); return result; } /** @@ -98655,19 +98976,19 @@ var ts; addConstructor(statements, node, constructorLikeName, extendsClauseElement); addClassMembers(statements, node); // Create a synthetic text range for the return statement. - var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentText, node.members.end), 19 /* CloseBraceToken */); + var closingBraceLocation = ts.createTokenRange(ts.skipTrivia(currentText, node.members.end), 19 /* SyntaxKind.CloseBraceToken */); // The following partially-emitted expression exists purely to align our sourcemap // emit with the original emitter. var outer = factory.createPartiallyEmittedExpression(constructorLikeName); ts.setTextRangeEnd(outer, closingBraceLocation.end); - ts.setEmitFlags(outer, 1536 /* NoComments */); + ts.setEmitFlags(outer, 1536 /* EmitFlags.NoComments */); var statement = factory.createReturnStatement(outer); ts.setTextRangePos(statement, closingBraceLocation.pos); - ts.setEmitFlags(statement, 1536 /* NoComments */ | 384 /* NoTokenSourceMaps */); + ts.setEmitFlags(statement, 1536 /* EmitFlags.NoComments */ | 384 /* EmitFlags.NoTokenSourceMaps */); statements.push(statement); ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); - ts.setEmitFlags(block, 1536 /* NoComments */); + ts.setEmitFlags(block, 1536 /* EmitFlags.NoComments */); return block; } /** @@ -98693,7 +99014,7 @@ var ts; function addConstructor(statements, node, name, extendsClauseElement) { var savedConvertedLoopState = convertedLoopState; convertedLoopState = undefined; - var ancestorFacts = enterSubtree(32662 /* ConstructorExcludes */, 73 /* ConstructorIncludes */); + var ancestorFacts = enterSubtree(32662 /* HierarchyFacts.ConstructorExcludes */, 73 /* HierarchyFacts.ConstructorIncludes */); var constructor = ts.getFirstConstructorWithBody(node); var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined); var constructorFunction = factory.createFunctionDeclaration( @@ -98704,10 +99025,10 @@ var ts; /*type*/ undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper)); ts.setTextRange(constructorFunction, constructor || node); if (extendsClauseElement) { - ts.setEmitFlags(constructorFunction, 8 /* CapturesThis */); + ts.setEmitFlags(constructorFunction, 8 /* EmitFlags.CapturesThis */); } statements.push(constructorFunction); - exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; } /** @@ -98741,7 +99062,7 @@ var ts; ts.setTextRange(statementsArray, node.members); var block = factory.createBlock(statementsArray, /*multiLine*/ true); ts.setTextRange(block, node); - ts.setEmitFlags(block, 1536 /* NoComments */); + ts.setEmitFlags(block, 1536 /* EmitFlags.NoComments */); return block; } /** @@ -98756,7 +99077,7 @@ var ts; function transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper) { // determine whether the class is known syntactically to be a derived class (e.g. a // class that extends a value that is not syntactically known to be `null`). - var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* NullKeyword */; + var isDerivedClass = !!extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */; // When the subclass does not have a constructor, we synthesize a *default* constructor using the following // representation: // @@ -98800,7 +99121,7 @@ var ts; superCallExpression = visitSuperCallInBody(superCall); } if (superCallExpression) { - hierarchyFacts |= 8192 /* ConstructorWithCapturedSuper */; + hierarchyFacts |= 8192 /* HierarchyFacts.ConstructorWithCapturedSuper */; } // Add parameter defaults at the beginning of the output, with prologue statements addDefaultValueAssignmentsIfNeeded(prologue, constructor); @@ -98810,7 +99131,7 @@ var ts; factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment()); insertCaptureNewTargetIfNeeded(prologue, constructor, /*copyOnWrite*/ false); if (isDerivedClass || superCallExpression) { - if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192 /* ContainsLexicalThis */)) { + if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */)) { // If the subclass constructor does *not* contain `this` and *ends* with a `super()` call, we will use the // following representation: // @@ -98833,7 +99154,7 @@ var ts; var superCall_1 = ts.cast(ts.cast(superCallExpression, ts.isBinaryExpression).left, ts.isCallExpression); var returnStatement = factory.createReturnStatement(superCallExpression); ts.setCommentRange(returnStatement, ts.getCommentRange(superCall_1)); - ts.setEmitFlags(superCall_1, 1536 /* NoComments */); + ts.setEmitFlags(superCall_1, 1536 /* EmitFlags.NoComments */); statements.push(returnStatement); } else { @@ -98872,7 +99193,7 @@ var ts; } } if (!isSufficientlyCoveredByReturnStatements(constructor.body)) { - statements.push(factory.createReturnStatement(factory.createUniqueName("_this", 16 /* Optimistic */ | 32 /* FileLevel */))); + statements.push(factory.createReturnStatement(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))); } } } @@ -98893,7 +99214,7 @@ var ts; // ``` insertCaptureThisForNodeIfNeeded(prologue, constructor); } - var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex)), true), statements, true)), + var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex - existingPrologue.length)), true), statements, true)), /*location*/ constructor.body.statements), /*multiLine*/ true); ts.setTextRange(body, constructor.body); @@ -98922,11 +99243,11 @@ var ts; */ function isSufficientlyCoveredByReturnStatements(statement) { // A return statement is considered covered. - if (statement.kind === 247 /* ReturnStatement */) { + if (statement.kind === 247 /* SyntaxKind.ReturnStatement */) { return true; } // An if-statement with two covered branches is covered. - else if (statement.kind === 239 /* IfStatement */) { + else if (statement.kind === 239 /* SyntaxKind.IfStatement */) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && @@ -98934,7 +99255,7 @@ var ts; } } // A block is covered if it has a last statement which is covered. - else if (statement.kind === 235 /* Block */) { + else if (statement.kind === 235 /* SyntaxKind.Block */) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -98943,10 +99264,10 @@ var ts; return false; } function createActualThis() { - return ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */); + return ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */); } function createDefaultSuperCallOrThis() { - return factory.createLogicalOr(factory.createLogicalAnd(factory.createStrictInequality(factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */), factory.createNull()), factory.createFunctionApplyCall(factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */), createActualThis(), factory.createIdentifier("arguments"))), createActualThis()); + return factory.createLogicalOr(factory.createLogicalAnd(factory.createStrictInequality(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), factory.createNull()), factory.createFunctionApplyCall(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), createActualThis(), factory.createIdentifier("arguments"))), createActualThis()); } /** * Visits a parameter declaration. @@ -99035,11 +99356,11 @@ var ts; // of an initializer, we must emit that expression to preserve side effects. if (name.elements.length > 0) { ts.insertStatementAfterCustomPrologue(statements, ts.setEmitFlags(factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* All */, factory.getGeneratedNameForNode(parameter)))), 1048576 /* CustomPrologue */)); + /*modifiers*/ undefined, factory.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* FlattenLevel.All */, factory.getGeneratedNameForNode(parameter)))), 1048576 /* EmitFlags.CustomPrologue */)); return true; } else if (initializer) { - ts.insertStatementAfterCustomPrologue(statements, ts.setEmitFlags(factory.createExpressionStatement(factory.createAssignment(factory.getGeneratedNameForNode(parameter), ts.visitNode(initializer, visitor, ts.isExpression))), 1048576 /* CustomPrologue */)); + ts.insertStatementAfterCustomPrologue(statements, ts.setEmitFlags(factory.createExpressionStatement(factory.createAssignment(factory.getGeneratedNameForNode(parameter), ts.visitNode(initializer, visitor, ts.isExpression))), 1048576 /* EmitFlags.CustomPrologue */)); return true; } return false; @@ -99057,11 +99378,11 @@ var ts; var statement = factory.createIfStatement(factory.createTypeCheck(factory.cloneNode(name), "undefined"), ts.setEmitFlags(ts.setTextRange(factory.createBlock([ factory.createExpressionStatement(ts.setEmitFlags(ts.setTextRange(factory.createAssignment( // TODO(rbuckton): Does this need to be parented? - ts.setEmitFlags(ts.setParent(ts.setTextRange(factory.cloneNode(name), name), name.parent), 48 /* NoSourceMap */), ts.setEmitFlags(initializer, 48 /* NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* NoComments */)), parameter), 1536 /* NoComments */)) - ]), parameter), 1 /* SingleLine */ | 32 /* NoTrailingSourceMap */ | 384 /* NoTokenSourceMaps */ | 1536 /* NoComments */)); + ts.setEmitFlags(ts.setParent(ts.setTextRange(factory.cloneNode(name), name), name.parent), 48 /* EmitFlags.NoSourceMap */), ts.setEmitFlags(initializer, 48 /* EmitFlags.NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* EmitFlags.NoComments */)), parameter), 1536 /* EmitFlags.NoComments */)) + ]), parameter), 1 /* EmitFlags.SingleLine */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */)); ts.startOnNewLine(statement); ts.setTextRange(statement, parameter); - ts.setEmitFlags(statement, 384 /* NoTokenSourceMaps */ | 32 /* NoTrailingSourceMap */ | 1048576 /* CustomPrologue */ | 1536 /* NoComments */); + ts.setEmitFlags(statement, 384 /* EmitFlags.NoTokenSourceMaps */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 1048576 /* EmitFlags.CustomPrologue */ | 1536 /* EmitFlags.NoComments */); ts.insertStatementAfterCustomPrologue(statements, statement); } /** @@ -99092,10 +99413,10 @@ var ts; } // `declarationName` is the name of the local declaration for the parameter. // TODO(rbuckton): Does this need to be parented? - var declarationName = parameter.name.kind === 79 /* Identifier */ ? ts.setParent(ts.setTextRange(factory.cloneNode(parameter.name), parameter.name), parameter.name.parent) : factory.createTempVariable(/*recordTempVariable*/ undefined); - ts.setEmitFlags(declarationName, 48 /* NoSourceMap */); + var declarationName = parameter.name.kind === 79 /* SyntaxKind.Identifier */ ? ts.setParent(ts.setTextRange(factory.cloneNode(parameter.name), parameter.name), parameter.name.parent) : factory.createTempVariable(/*recordTempVariable*/ undefined); + ts.setEmitFlags(declarationName, 48 /* EmitFlags.NoSourceMap */); // `expressionName` is the name of the parameter used in expressions. - var expressionName = parameter.name.kind === 79 /* Identifier */ ? factory.cloneNode(parameter.name) : declarationName; + var expressionName = parameter.name.kind === 79 /* SyntaxKind.Identifier */ ? factory.cloneNode(parameter.name) : declarationName; var restIndex = node.parameters.length - 1; var temp = factory.createLoopVariable(); // var param = []; @@ -99105,7 +99426,7 @@ var ts; /*exclamationToken*/ undefined, /*type*/ undefined, factory.createArrayLiteralExpression([])) ])), - /*location*/ parameter), 1048576 /* CustomPrologue */)); + /*location*/ parameter), 1048576 /* EmitFlags.CustomPrologue */)); // for (var _i = restIndex; _i < arguments.length; _i++) { // param[_i - restIndex] = arguments[_i]; // } @@ -99117,13 +99438,13 @@ var ts; : factory.createSubtract(temp, factory.createNumericLiteral(restIndex))), factory.createElementAccessExpression(factory.createIdentifier("arguments"), temp))), /*location*/ parameter)) ])); - ts.setEmitFlags(forStatement, 1048576 /* CustomPrologue */); + ts.setEmitFlags(forStatement, 1048576 /* EmitFlags.CustomPrologue */); ts.startOnNewLine(forStatement); prologueStatements.push(forStatement); - if (parameter.name.kind !== 79 /* Identifier */) { + if (parameter.name.kind !== 79 /* SyntaxKind.Identifier */) { // do the actual destructuring of the rest parameter if necessary prologueStatements.push(ts.setEmitFlags(ts.setTextRange(factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* All */, expressionName))), parameter), 1048576 /* CustomPrologue */)); + /*modifiers*/ undefined, factory.createVariableDeclarationList(ts.flattenDestructuringBinding(parameter, visitor, context, 0 /* FlattenLevel.All */, expressionName))), parameter), 1048576 /* EmitFlags.CustomPrologue */)); } ts.insertStatementsAfterCustomPrologue(statements, prologueStatements); return true; @@ -99136,7 +99457,7 @@ var ts; * @param node A node. */ function insertCaptureThisForNodeIfNeeded(statements, node) { - if (hierarchyFacts & 65536 /* CapturedLexicalThis */ && node.kind !== 214 /* ArrowFunction */) { + if (hierarchyFacts & 65536 /* HierarchyFacts.CapturedLexicalThis */ && node.kind !== 214 /* SyntaxKind.ArrowFunction */) { insertCaptureThisForNode(statements, node, factory.createThis()); return true; } @@ -99150,7 +99471,7 @@ var ts; */ function insertSuperThisCaptureThisForNode(statements, superExpression) { enableSubstitutionsForCapturedThis(); - var assignSuperExpression = factory.createExpressionStatement(factory.createBinaryExpression(factory.createThis(), 63 /* EqualsToken */, superExpression)); + var assignSuperExpression = factory.createExpressionStatement(factory.createBinaryExpression(factory.createThis(), 63 /* SyntaxKind.EqualsToken */, superExpression)); ts.insertStatementAfterCustomPrologue(statements, assignSuperExpression); ts.setCommentRange(assignSuperExpression, ts.getOriginalNode(superExpression).parent); } @@ -99158,38 +99479,38 @@ var ts; enableSubstitutionsForCapturedThis(); var captureThisStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_this", 16 /* Optimistic */ | 32 /* FileLevel */), + factory.createVariableDeclaration(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*exclamationToken*/ undefined, /*type*/ undefined, initializer) ])); - ts.setEmitFlags(captureThisStatement, 1536 /* NoComments */ | 1048576 /* CustomPrologue */); + ts.setEmitFlags(captureThisStatement, 1536 /* EmitFlags.NoComments */ | 1048576 /* EmitFlags.CustomPrologue */); ts.setSourceMapRange(captureThisStatement, node); ts.insertStatementAfterCustomPrologue(statements, captureThisStatement); } function insertCaptureNewTargetIfNeeded(statements, node, copyOnWrite) { - if (hierarchyFacts & 32768 /* NewTarget */) { + if (hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */) { var newTarget = void 0; switch (node.kind) { - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return statements; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // Methods and accessors cannot be constructors, so 'new.target' will // always return 'undefined'. newTarget = factory.createVoidZero(); break; - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: // Class constructors can only be called with `new`, so `this.constructor` // should be relatively safe to use. - newTarget = factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), "constructor"); + newTarget = factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"); break; - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. - newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), 102 /* InstanceOfKeyword */, factory.getLocalName(node))), - /*questionToken*/ undefined, factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* NoSubstitution */), "constructor"), + newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), 102 /* SyntaxKind.InstanceOfKeyword */, factory.getLocalName(node))), + /*questionToken*/ undefined, factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"), /*colonToken*/ undefined, factory.createVoidZero()); break; default: @@ -99197,11 +99518,11 @@ var ts; } var captureNewTargetStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_newTarget", 16 /* Optimistic */ | 32 /* FileLevel */), + factory.createVariableDeclaration(factory.createUniqueName("_newTarget", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*exclamationToken*/ undefined, /*type*/ undefined, newTarget) ])); - ts.setEmitFlags(captureNewTargetStatement, 1536 /* NoComments */ | 1048576 /* CustomPrologue */); + ts.setEmitFlags(captureNewTargetStatement, 1536 /* EmitFlags.NoComments */ | 1048576 /* EmitFlags.CustomPrologue */); if (copyOnWrite) { statements = statements.slice(); } @@ -99220,21 +99541,21 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 234 /* SemicolonClassElement */: + case 234 /* SyntaxKind.SemicolonClassElement */: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 171 /* Constructor */: - case 170 /* ClassStaticBlockDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: // Constructors are handled in visitClassExpression/visitClassDeclaration break; default: @@ -99273,7 +99594,7 @@ var ts; var memberName = ts.createMemberAccessForPropertyName(factory, receiver, propertyName, /*location*/ member.name); e = factory.createAssignment(memberName, memberFunction); } - ts.setEmitFlags(memberFunction, 1536 /* NoComments */); + ts.setEmitFlags(memberFunction, 1536 /* EmitFlags.NoComments */); ts.setSourceMapRange(memberFunction, sourceMapRange); var statement = ts.setTextRange(factory.createExpressionStatement(e), /*location*/ member); ts.setOriginalNode(statement, member); @@ -99281,7 +99602,7 @@ var ts; // The location for the statement is used to emit comments only. // No source map should be emitted for this statement to align with the // old emitter. - ts.setEmitFlags(statement, 48 /* NoSourceMap */); + ts.setEmitFlags(statement, 48 /* EmitFlags.NoSourceMap */); return statement; } /** @@ -99295,7 +99616,7 @@ var ts; // The location for the statement is used to emit source maps only. // No comments should be emitted for this statement to align with the // old emitter. - ts.setEmitFlags(statement, 1536 /* NoComments */); + ts.setEmitFlags(statement, 1536 /* EmitFlags.NoComments */); ts.setSourceMapRange(statement, ts.getSourceMapRange(accessors.firstAccessor)); return statement; } @@ -99311,20 +99632,20 @@ var ts; // arguments are both mapped contiguously to the accessor name. // TODO(rbuckton): Does this need to be parented? var target = ts.setParent(ts.setTextRange(factory.cloneNode(receiver), receiver), receiver.parent); - ts.setEmitFlags(target, 1536 /* NoComments */ | 32 /* NoTrailingSourceMap */); + ts.setEmitFlags(target, 1536 /* EmitFlags.NoComments */ | 32 /* EmitFlags.NoTrailingSourceMap */); ts.setSourceMapRange(target, firstAccessor.name); var visitedAccessorName = ts.visitNode(firstAccessor.name, visitor, ts.isPropertyName); if (ts.isPrivateIdentifier(visitedAccessorName)) { return ts.Debug.failBadSyntaxKind(visitedAccessorName, "Encountered unhandled private identifier while transforming ES2015."); } var propertyName = ts.createExpressionForPropertyName(factory, visitedAccessorName); - ts.setEmitFlags(propertyName, 1536 /* NoComments */ | 16 /* NoLeadingSourceMap */); + ts.setEmitFlags(propertyName, 1536 /* EmitFlags.NoComments */ | 16 /* EmitFlags.NoLeadingSourceMap */); ts.setSourceMapRange(propertyName, firstAccessor.name); var properties = []; if (getAccessor) { var getterFunction = transformFunctionLikeToExpression(getAccessor, /*location*/ undefined, /*name*/ undefined, container); ts.setSourceMapRange(getterFunction, ts.getSourceMapRange(getAccessor)); - ts.setEmitFlags(getterFunction, 512 /* NoLeadingComments */); + ts.setEmitFlags(getterFunction, 512 /* EmitFlags.NoLeadingComments */); var getter = factory.createPropertyAssignment("get", getterFunction); ts.setCommentRange(getter, ts.getCommentRange(getAccessor)); properties.push(getter); @@ -99332,7 +99653,7 @@ var ts; if (setAccessor) { var setterFunction = transformFunctionLikeToExpression(setAccessor, /*location*/ undefined, /*name*/ undefined, container); ts.setSourceMapRange(setterFunction, ts.getSourceMapRange(setAccessor)); - ts.setEmitFlags(setterFunction, 512 /* NoLeadingComments */); + ts.setEmitFlags(setterFunction, 512 /* EmitFlags.NoLeadingComments */); var setter = factory.createPropertyAssignment("set", setterFunction); ts.setCommentRange(setter, ts.getCommentRange(setAccessor)); properties.push(setter); @@ -99355,12 +99676,12 @@ var ts; * @param node An ArrowFunction node. */ function visitArrowFunction(node) { - if (node.transformFlags & 8192 /* ContainsLexicalThis */ && !(hierarchyFacts & 16384 /* StaticInitializer */)) { - hierarchyFacts |= 65536 /* CapturedLexicalThis */; + if (node.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */ && !(hierarchyFacts & 16384 /* HierarchyFacts.StaticInitializer */)) { + hierarchyFacts |= 65536 /* HierarchyFacts.CapturedLexicalThis */; } var savedConvertedLoopState = convertedLoopState; convertedLoopState = undefined; - var ancestorFacts = enterSubtree(15232 /* ArrowFunctionExcludes */, 66 /* ArrowFunctionIncludes */); + var ancestorFacts = enterSubtree(15232 /* HierarchyFacts.ArrowFunctionExcludes */, 66 /* HierarchyFacts.ArrowFunctionIncludes */); var func = factory.createFunctionExpression( /*modifiers*/ undefined, /*asteriskToken*/ undefined, @@ -99369,9 +99690,9 @@ var ts; /*type*/ undefined, transformFunctionBody(node)); ts.setTextRange(func, node); ts.setOriginalNode(func, node); - ts.setEmitFlags(func, 8 /* CapturesThis */); + ts.setEmitFlags(func, 8 /* EmitFlags.CapturesThis */); // If an arrow function contains - exitSubtree(ancestorFacts, 0 /* ArrowFunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.ArrowFunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return func; } @@ -99381,17 +99702,17 @@ var ts; * @param node a FunctionExpression node. */ function visitFunctionExpression(node) { - var ancestorFacts = ts.getEmitFlags(node) & 262144 /* AsyncFunctionBody */ - ? enterSubtree(32662 /* AsyncFunctionBodyExcludes */, 69 /* AsyncFunctionBodyIncludes */) - : enterSubtree(32670 /* FunctionExcludes */, 65 /* FunctionIncludes */); + var ancestorFacts = ts.getEmitFlags(node) & 262144 /* EmitFlags.AsyncFunctionBody */ + ? enterSubtree(32662 /* HierarchyFacts.AsyncFunctionBodyExcludes */, 69 /* HierarchyFacts.AsyncFunctionBodyIncludes */) + : enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, 65 /* HierarchyFacts.FunctionIncludes */); var savedConvertedLoopState = convertedLoopState; convertedLoopState = undefined; var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - var name = hierarchyFacts & 32768 /* NewTarget */ + var name = hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */ ? factory.getLocalName(node) : node.name; - exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return factory.updateFunctionExpression(node, /*modifiers*/ undefined, node.asteriskToken, name, @@ -99406,13 +99727,13 @@ var ts; function visitFunctionDeclaration(node) { var savedConvertedLoopState = convertedLoopState; convertedLoopState = undefined; - var ancestorFacts = enterSubtree(32670 /* FunctionExcludes */, 65 /* FunctionIncludes */); + var ancestorFacts = enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, 65 /* HierarchyFacts.FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - var name = hierarchyFacts & 32768 /* NewTarget */ + var name = hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */ ? factory.getLocalName(node) : node.name; - exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return factory.updateFunctionDeclaration(node, /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, @@ -99430,14 +99751,14 @@ var ts; var savedConvertedLoopState = convertedLoopState; convertedLoopState = undefined; var ancestorFacts = container && ts.isClassLike(container) && !ts.isStatic(node) - ? enterSubtree(32670 /* FunctionExcludes */, 65 /* FunctionIncludes */ | 8 /* NonStaticClassElement */) - : enterSubtree(32670 /* FunctionExcludes */, 65 /* FunctionIncludes */); + ? enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, 65 /* HierarchyFacts.FunctionIncludes */ | 8 /* HierarchyFacts.NonStaticClassElement */) + : enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, 65 /* HierarchyFacts.FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 32768 /* NewTarget */ && !name && (node.kind === 256 /* FunctionDeclaration */ || node.kind === 213 /* FunctionExpression */)) { + if (hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */ && !name && (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 213 /* SyntaxKind.FunctionExpression */)) { name = factory.getGeneratedNameForNode(node); } - exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression( /*modifiers*/ undefined, node.asteriskToken, name, @@ -99480,7 +99801,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 214 /* ArrowFunction */); + ts.Debug.assert(node.kind === 214 /* SyntaxKind.ArrowFunction */); // To align with the old emitter, we use a synthetic end position on the location // for the statement list we synthesize when we down-level an arrow function with // an expression function body. This prevents both comments and source maps from @@ -99499,7 +99820,7 @@ var ts; var returnStatement = factory.createReturnStatement(expression); ts.setTextRange(returnStatement, body); ts.moveSyntheticComments(returnStatement, body); - ts.setEmitFlags(returnStatement, 384 /* NoTokenSourceMaps */ | 32 /* NoTrailingSourceMap */ | 1024 /* NoTrailingComments */); + ts.setEmitFlags(returnStatement, 384 /* EmitFlags.NoTokenSourceMaps */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 1024 /* EmitFlags.NoTrailingComments */); statements.push(returnStatement); // To align with the source map emit for the old emitter, we set a custom // source map location for the close brace. @@ -99520,10 +99841,10 @@ var ts; var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), multiLine); ts.setTextRange(block, node.body); if (!multiLine && singleLine) { - ts.setEmitFlags(block, 1 /* SingleLine */); + ts.setEmitFlags(block, 1 /* EmitFlags.SingleLine */); } if (closeBraceLocation) { - ts.setTokenSourceMapRange(block, 19 /* CloseBraceToken */, closeBraceLocation); + ts.setTokenSourceMapRange(block, 19 /* SyntaxKind.CloseBraceToken */, closeBraceLocation); } ts.setOriginalNode(block, node.body); return block; @@ -99533,11 +99854,11 @@ var ts; // A function body is not a block scope. return ts.visitEachChild(node, visitor, context); } - var ancestorFacts = hierarchyFacts & 256 /* IterationStatement */ - ? enterSubtree(7104 /* IterationStatementBlockExcludes */, 512 /* IterationStatementBlockIncludes */) - : enterSubtree(6976 /* BlockExcludes */, 128 /* BlockIncludes */); + var ancestorFacts = hierarchyFacts & 256 /* HierarchyFacts.IterationStatement */ + ? enterSubtree(7104 /* HierarchyFacts.IterationStatementBlockExcludes */, 512 /* HierarchyFacts.IterationStatementBlockIncludes */) + : enterSubtree(6976 /* HierarchyFacts.BlockExcludes */, 128 /* HierarchyFacts.BlockIncludes */); var updated = ts.visitEachChild(node, visitor, context); - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return updated; } /** @@ -99568,9 +99889,9 @@ var ts; function visitBinaryExpression(node, expressionResultIsUnused) { // If we are here it is because this is a destructuring assignment. if (ts.isDestructuringAssignment(node)) { - return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* All */, !expressionResultIsUnused); + return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, !expressionResultIsUnused); } - if (node.operatorToken.kind === 27 /* CommaToken */) { + if (node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return factory.updateBinaryExpression(node, ts.visitNode(node.left, visitorWithUnusedExpressionResult, ts.isExpression), node.operatorToken, ts.visitNode(node.right, expressionResultIsUnused ? visitorWithUnusedExpressionResult : visitor, ts.isExpression)); } return ts.visitEachChild(node, visitor, context); @@ -99598,12 +99919,12 @@ var ts; function isVariableStatementOfTypeScriptClassWrapper(node) { return node.declarationList.declarations.length === 1 && !!node.declarationList.declarations[0].initializer - && !!(ts.getEmitFlags(node.declarationList.declarations[0].initializer) & 33554432 /* TypeScriptClassWrapper */); + && !!(ts.getEmitFlags(node.declarationList.declarations[0].initializer) & 33554432 /* EmitFlags.TypeScriptClassWrapper */); } function visitVariableStatement(node) { - var ancestorFacts = enterSubtree(0 /* None */, ts.hasSyntacticModifier(node, 1 /* Export */) ? 32 /* ExportedVariableStatement */ : 0 /* None */); + var ancestorFacts = enterSubtree(0 /* HierarchyFacts.None */, ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */) ? 32 /* HierarchyFacts.ExportedVariableStatement */ : 0 /* HierarchyFacts.None */); var updated; - if (convertedLoopState && (node.declarationList.flags & 3 /* BlockScoped */) === 0 && !isVariableStatementOfTypeScriptClassWrapper(node)) { + if (convertedLoopState && (node.declarationList.flags & 3 /* NodeFlags.BlockScoped */) === 0 && !isVariableStatementOfTypeScriptClassWrapper(node)) { // we are inside a converted loop - hoist variable declarations var assignments = void 0; for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { @@ -99612,10 +99933,10 @@ var ts; if (decl.initializer) { var assignment = void 0; if (ts.isBindingPattern(decl.name)) { - assignment = ts.flattenDestructuringAssignment(decl, visitor, context, 0 /* All */); + assignment = ts.flattenDestructuringAssignment(decl, visitor, context, 0 /* FlattenLevel.All */); } else { - assignment = factory.createBinaryExpression(decl.name, 63 /* EqualsToken */, ts.visitNode(decl.initializer, visitor, ts.isExpression)); + assignment = factory.createBinaryExpression(decl.name, 63 /* SyntaxKind.EqualsToken */, ts.visitNode(decl.initializer, visitor, ts.isExpression)); ts.setTextRange(assignment, decl); } assignments = ts.append(assignments, assignment); @@ -99632,7 +99953,7 @@ var ts; else { updated = ts.visitEachChild(node, visitor, context); } - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return updated; } /** @@ -99641,11 +99962,11 @@ var ts; * @param node A VariableDeclarationList node. */ function visitVariableDeclarationList(node) { - if (node.flags & 3 /* BlockScoped */ || node.transformFlags & 262144 /* ContainsBindingPattern */) { - if (node.flags & 3 /* BlockScoped */) { + if (node.flags & 3 /* NodeFlags.BlockScoped */ || node.transformFlags & 262144 /* TransformFlags.ContainsBindingPattern */) { + if (node.flags & 3 /* NodeFlags.BlockScoped */) { enableSubstitutionsForBlockScopedBindings(); } - var declarations = ts.flatMap(node.declarations, node.flags & 1 /* Let */ + var declarations = ts.flatMap(node.declarations, node.flags & 1 /* NodeFlags.Let */ ? visitVariableDeclarationInLetDeclarationList : visitVariableDeclaration); var declarationList = factory.createVariableDeclarationList(declarations); @@ -99654,7 +99975,7 @@ var ts; ts.setCommentRange(declarationList, node); // If the first or last declaration is a binding pattern, we need to modify // the source map range for the declaration list. - if (node.transformFlags & 262144 /* ContainsBindingPattern */ + if (node.transformFlags & 262144 /* TransformFlags.ContainsBindingPattern */ && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { ts.setSourceMapRange(declarationList, getRangeUnion(declarations)); } @@ -99720,18 +100041,18 @@ var ts; // * Why loop initializer is excluded? // - Since we've introduced a fresh name it already will be undefined. var flags = resolver.getNodeCheckFlags(node); - var isCapturedInFunction = flags & 262144 /* CapturedBlockScopedBinding */; - var isDeclaredInLoop = flags & 524288 /* BlockScopedBindingInLoop */; - var emittedAsTopLevel = (hierarchyFacts & 64 /* TopLevel */) !== 0 + var isCapturedInFunction = flags & 262144 /* NodeCheckFlags.CapturedBlockScopedBinding */; + var isDeclaredInLoop = flags & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; + var emittedAsTopLevel = (hierarchyFacts & 64 /* HierarchyFacts.TopLevel */) !== 0 || (isCapturedInFunction && isDeclaredInLoop - && (hierarchyFacts & 512 /* IterationStatementBlock */) !== 0); + && (hierarchyFacts & 512 /* HierarchyFacts.IterationStatementBlock */) !== 0); var emitExplicitInitializer = !emittedAsTopLevel - && (hierarchyFacts & 4096 /* ForInOrForOfStatement */) === 0 + && (hierarchyFacts & 4096 /* HierarchyFacts.ForInOrForOfStatement */) === 0 && (!resolver.isDeclarationWithCollidingName(node) || (isDeclaredInLoop && !isCapturedInFunction - && (hierarchyFacts & (2048 /* ForStatement */ | 4096 /* ForInOrForOfStatement */)) === 0)); + && (hierarchyFacts & (2048 /* HierarchyFacts.ForStatement */ | 4096 /* HierarchyFacts.ForInOrForOfStatement */)) === 0)); return emitExplicitInitializer; } /** @@ -99758,16 +100079,16 @@ var ts; * @param node A VariableDeclaration node. */ function visitVariableDeclaration(node) { - var ancestorFacts = enterSubtree(32 /* ExportedVariableStatement */, 0 /* None */); + var ancestorFacts = enterSubtree(32 /* HierarchyFacts.ExportedVariableStatement */, 0 /* HierarchyFacts.None */); var updated; if (ts.isBindingPattern(node.name)) { - updated = ts.flattenDestructuringBinding(node, visitor, context, 0 /* All */, - /*value*/ undefined, (ancestorFacts & 32 /* ExportedVariableStatement */) !== 0); + updated = ts.flattenDestructuringBinding(node, visitor, context, 0 /* FlattenLevel.All */, + /*value*/ undefined, (ancestorFacts & 32 /* HierarchyFacts.ExportedVariableStatement */) !== 0); } else { updated = ts.visitEachChild(node, visitor, context); } - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return updated; } function recordLabel(node) { @@ -99787,50 +100108,50 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 240 /* DoStatement */: - case 241 /* WhileStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: return visitDoOrWhileStatement(node, outermostLabeledStatement); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node, outermostLabeledStatement); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return visitForInStatement(node, outermostLabeledStatement); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node, outermostLabeledStatement); } } function visitIterationStatementWithFacts(excludeFacts, includeFacts, node, outermostLabeledStatement, convert) { var ancestorFacts = enterSubtree(excludeFacts, includeFacts); var updated = convertIterationStatementBodyIfNecessary(node, outermostLabeledStatement, ancestorFacts, convert); - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return updated; } function visitDoOrWhileStatement(node, outermostLabeledStatement) { - return visitIterationStatementWithFacts(0 /* DoOrWhileStatementExcludes */, 1280 /* DoOrWhileStatementIncludes */, node, outermostLabeledStatement); + return visitIterationStatementWithFacts(0 /* HierarchyFacts.DoOrWhileStatementExcludes */, 1280 /* HierarchyFacts.DoOrWhileStatementIncludes */, node, outermostLabeledStatement); } function visitForStatement(node, outermostLabeledStatement) { - return visitIterationStatementWithFacts(5056 /* ForStatementExcludes */, 3328 /* ForStatementIncludes */, node, outermostLabeledStatement); + return visitIterationStatementWithFacts(5056 /* HierarchyFacts.ForStatementExcludes */, 3328 /* HierarchyFacts.ForStatementIncludes */, node, outermostLabeledStatement); } function visitEachChildOfForStatement(node) { return factory.updateForStatement(node, ts.visitNode(node.initializer, visitorWithUnusedExpressionResult, ts.isForInitializer), ts.visitNode(node.condition, visitor, ts.isExpression), ts.visitNode(node.incrementor, visitorWithUnusedExpressionResult, ts.isExpression), ts.visitNode(node.statement, visitor, ts.isStatement, factory.liftToBlock)); } function visitForInStatement(node, outermostLabeledStatement) { - return visitIterationStatementWithFacts(3008 /* ForInOrForOfStatementExcludes */, 5376 /* ForInOrForOfStatementIncludes */, node, outermostLabeledStatement); + return visitIterationStatementWithFacts(3008 /* HierarchyFacts.ForInOrForOfStatementExcludes */, 5376 /* HierarchyFacts.ForInOrForOfStatementIncludes */, node, outermostLabeledStatement); } function visitForOfStatement(node, outermostLabeledStatement) { - return visitIterationStatementWithFacts(3008 /* ForInOrForOfStatementExcludes */, 5376 /* ForInOrForOfStatementIncludes */, node, outermostLabeledStatement, compilerOptions.downlevelIteration ? convertForOfStatementForIterable : convertForOfStatementForArray); + return visitIterationStatementWithFacts(3008 /* HierarchyFacts.ForInOrForOfStatementExcludes */, 5376 /* HierarchyFacts.ForInOrForOfStatementIncludes */, node, outermostLabeledStatement, compilerOptions.downlevelIteration ? convertForOfStatementForIterable : convertForOfStatementForArray); } function convertForOfStatementHead(node, boundValue, convertedLoopBodyStatements) { var statements = []; var initializer = node.initializer; if (ts.isVariableDeclarationList(initializer)) { - if (node.initializer.flags & 3 /* BlockScoped */) { + if (node.initializer.flags & 3 /* NodeFlags.BlockScoped */) { enableSubstitutionsForBlockScopedBindings(); } var firstOriginalDeclaration = ts.firstOrUndefined(initializer.declarations); if (firstOriginalDeclaration && ts.isBindingPattern(firstOriginalDeclaration.name)) { // This works whether the declaration is a var, let, or const. // It will use rhsIterationValue _a[_i] as the initializer. - var declarations = ts.flattenDestructuringBinding(firstOriginalDeclaration, visitor, context, 0 /* All */, boundValue); + var declarations = ts.flattenDestructuringBinding(firstOriginalDeclaration, visitor, context, 0 /* FlattenLevel.All */, boundValue); var declarationList = ts.setTextRange(factory.createVariableDeclarationList(declarations), node.initializer); ts.setOriginalNode(declarationList, node.initializer); // Adjust the source map range for the first declaration to align with the old @@ -99878,7 +100199,7 @@ var ts; } function createSyntheticBlockForConvertedStatements(statements) { return ts.setEmitFlags(factory.createBlock(factory.createNodeArray(statements), - /*multiLine*/ true), 48 /* NoSourceMap */ | 384 /* NoTokenSourceMaps */); + /*multiLine*/ true), 48 /* EmitFlags.NoSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */); } function convertForOfStatementForArray(node, outermostLabeledStatement, convertedLoopBodyStatements) { // The following ES6 code: @@ -99910,18 +100231,18 @@ var ts; var counter = factory.createLoopVariable(); var rhsReference = ts.isIdentifier(expression) ? factory.getGeneratedNameForNode(expression) : factory.createTempVariable(/*recordTempVariable*/ undefined); // The old emitter does not emit source maps for the expression - ts.setEmitFlags(expression, 48 /* NoSourceMap */ | ts.getEmitFlags(expression)); + ts.setEmitFlags(expression, 48 /* EmitFlags.NoSourceMap */ | ts.getEmitFlags(expression)); var forStatement = ts.setTextRange(factory.createForStatement( /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(counter, /*exclamationToken*/ undefined, /*type*/ undefined, factory.createNumericLiteral(0)), ts.moveRangePos(node.expression, -1)), ts.setTextRange(factory.createVariableDeclaration(rhsReference, /*exclamationToken*/ undefined, /*type*/ undefined, expression), node.expression) - ]), node.expression), 2097152 /* NoHoisting */), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), /*condition*/ ts.setTextRange(factory.createLessThan(counter, factory.createPropertyAccessExpression(rhsReference, "length")), node.expression), /*incrementor*/ ts.setTextRange(factory.createPostfixIncrement(counter), node.expression), /*statement*/ convertForOfStatementHead(node, factory.createElementAccessExpression(rhsReference, counter), convertedLoopBodyStatements)), /*location*/ node); // Disable trailing source maps for the OpenParenToken to align source map emit with the old emitter. - ts.setEmitFlags(forStatement, 256 /* NoTokenTrailingSourceMaps */); + ts.setEmitFlags(forStatement, 256 /* EmitFlags.NoTokenTrailingSourceMaps */); ts.setTextRange(forStatement, node); return factory.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel); } @@ -99937,33 +100258,33 @@ var ts; hoistVariableDeclaration(errorRecord); hoistVariableDeclaration(returnMethod); // if we are enclosed in an outer loop ensure we reset 'errorRecord' per each iteration - var initializer = ancestorFacts & 1024 /* IterationContainer */ + var initializer = ancestorFacts & 1024 /* HierarchyFacts.IterationContainer */ ? factory.inlineExpressions([factory.createAssignment(errorRecord, factory.createVoidZero()), values]) : values; var forStatement = ts.setEmitFlags(ts.setTextRange(factory.createForStatement( /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result, /*exclamationToken*/ undefined, /*type*/ undefined, next) - ]), node.expression), 2097152 /* NoHoisting */), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), /*condition*/ factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done")), /*incrementor*/ factory.createAssignment(result, next), /*statement*/ convertForOfStatementHead(node, factory.createPropertyAccessExpression(result, "value"), convertedLoopBodyStatements)), - /*location*/ node), 256 /* NoTokenTrailingSourceMaps */); + /*location*/ node), 256 /* EmitFlags.NoTokenTrailingSourceMaps */); return factory.createTryStatement(factory.createBlock([ factory.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel) ]), factory.createCatchClause(factory.createVariableDeclaration(catchVariable), ts.setEmitFlags(factory.createBlock([ factory.createExpressionStatement(factory.createAssignment(errorRecord, factory.createObjectLiteralExpression([ factory.createPropertyAssignment("error", catchVariable) ]))) - ]), 1 /* SingleLine */)), factory.createBlock([ + ]), 1 /* EmitFlags.SingleLine */)), factory.createBlock([ factory.createTryStatement( /*tryBlock*/ factory.createBlock([ - ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done"))), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(factory.createFunctionCallCall(returnMethod, iterator, []))), 1 /* SingleLine */), + ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done"))), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(factory.createFunctionCallCall(returnMethod, iterator, []))), 1 /* EmitFlags.SingleLine */), ]), /*catchClause*/ undefined, /*finallyBlock*/ ts.setEmitFlags(factory.createBlock([ - ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* SingleLine */) - ]), 1 /* SingleLine */)) + ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* EmitFlags.SingleLine */) + ]), 1 /* EmitFlags.SingleLine */)) ])); } /** @@ -99978,9 +100299,9 @@ var ts; var numInitialProperties = -1, hasComputed = false; for (var i = 0; i < properties.length; i++) { var property = properties[i]; - if ((property.transformFlags & 524288 /* ContainsYield */ && - hierarchyFacts & 4 /* AsyncFunctionBody */) - || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162 /* ComputedPropertyName */)) { + if ((property.transformFlags & 524288 /* TransformFlags.ContainsYield */ && + hierarchyFacts & 4 /* HierarchyFacts.AsyncFunctionBody */) + || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162 /* SyntaxKind.ComputedPropertyName */)) { numInitialProperties = i; break; } @@ -99993,7 +100314,7 @@ var ts; var temp = factory.createTempVariable(hoistVariableDeclaration); // Write out the first non-computed properties, then emit the rest through indexing on the temp variable. var expressions = []; - var assignment = factory.createAssignment(temp, ts.setEmitFlags(factory.createObjectLiteralExpression(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), hasComputed ? 65536 /* Indented */ : 0)); + var assignment = factory.createAssignment(temp, ts.setEmitFlags(factory.createObjectLiteralExpression(ts.visitNodes(properties, visitor, ts.isObjectLiteralElementLike, 0, numInitialProperties), node.multiLine), hasComputed ? 65536 /* EmitFlags.Indented */ : 0)); if (node.multiLine) { ts.startOnNewLine(assignment); } @@ -100005,7 +100326,7 @@ var ts; return factory.inlineExpressions(expressions); } function shouldConvertPartOfIterationStatement(node) { - return (resolver.getNodeCheckFlags(node) & 131072 /* ContainsCapturedBlockScopeBinding */) !== 0; + return (resolver.getNodeCheckFlags(node) & 131072 /* NodeCheckFlags.ContainsCapturedBlockScopeBinding */) !== 0; } function shouldConvertInitializerOfForStatement(node) { return ts.isForStatement(node) && !!node.initializer && shouldConvertPartOfIterationStatement(node.initializer); @@ -100021,7 +100342,7 @@ var ts; || shouldConvertInitializerOfForStatement(node); } function shouldConvertBodyOfIterationStatement(node) { - return (resolver.getNodeCheckFlags(node) & 65536 /* LoopWithCapturedBlockScopedBinding */) !== 0; + return (resolver.getNodeCheckFlags(node) & 65536 /* NodeCheckFlags.LoopWithCapturedBlockScopedBinding */) !== 0; } /** * Records constituents of name for the given variable to be hoisted in the outer scope. @@ -100032,7 +100353,7 @@ var ts; } visit(node.name); function visit(node) { - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { state.hoistedLocalVariables.push(node); } else { @@ -100052,7 +100373,7 @@ var ts; // we get here if we are trying to emit normal loop loop inside converted loop // set allowedNonLabeledJumps to Break | Continue to mark that break\continue inside the loop should be emitted as is saveAllowedNonLabeledJumps = convertedLoopState.allowedNonLabeledJumps; - convertedLoopState.allowedNonLabeledJumps = 2 /* Break */ | 4 /* Continue */; + convertedLoopState.allowedNonLabeledJumps = 2 /* Jump.Break */ | 4 /* Jump.Continue */; } var result = convert ? convert(node, outermostLabeledStatement, /*convertedLoopBodyStatements*/ undefined, ancestorFacts) @@ -100096,11 +100417,11 @@ var ts; } function convertIterationStatementCore(node, initializerFunction, convertedLoopBody) { switch (node.kind) { - case 242 /* ForStatement */: return convertForStatement(node, initializerFunction, convertedLoopBody); - case 243 /* ForInStatement */: return convertForInStatement(node, convertedLoopBody); - case 244 /* ForOfStatement */: return convertForOfStatement(node, convertedLoopBody); - case 240 /* DoStatement */: return convertDoStatement(node, convertedLoopBody); - case 241 /* WhileStatement */: return convertWhileStatement(node, convertedLoopBody); + case 242 /* SyntaxKind.ForStatement */: return convertForStatement(node, initializerFunction, convertedLoopBody); + case 243 /* SyntaxKind.ForInStatement */: return convertForInStatement(node, convertedLoopBody); + case 244 /* SyntaxKind.ForOfStatement */: return convertForOfStatement(node, convertedLoopBody); + case 240 /* SyntaxKind.DoStatement */: return convertDoStatement(node, convertedLoopBody); + case 241 /* SyntaxKind.WhileStatement */: return convertWhileStatement(node, convertedLoopBody); default: return ts.Debug.failBadSyntaxKind(node, "IterationStatement expected"); } } @@ -100125,11 +100446,11 @@ var ts; function createConvertedLoopState(node) { var loopInitializer; switch (node.kind) { - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: var initializer = node.initializer; - if (initializer && initializer.kind === 255 /* VariableDeclarationList */) { + if (initializer && initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { loopInitializer = initializer; } break; @@ -100138,7 +100459,7 @@ var ts; var loopParameters = []; // variables declared in the loop initializer that will be changed inside the loop var loopOutParameters = []; - if (loopInitializer && (ts.getCombinedNodeFlags(loopInitializer) & 3 /* BlockScoped */)) { + if (loopInitializer && (ts.getCombinedNodeFlags(loopInitializer) & 3 /* NodeFlags.BlockScoped */)) { var hasCapturedBindingsInForHead = shouldConvertInitializerOfForStatement(node) || shouldConvertConditionOfForStatement(node) || shouldConvertIncrementorOfForStatement(node); @@ -100251,15 +100572,15 @@ var ts; */ function createFunctionForInitializerOfForStatement(node, currentState) { var functionName = factory.createUniqueName("_loop_init"); - var containsYield = (node.initializer.transformFlags & 524288 /* ContainsYield */) !== 0; - var emitFlags = 0 /* None */; + var containsYield = (node.initializer.transformFlags & 524288 /* TransformFlags.ContainsYield */) !== 0; + var emitFlags = 0 /* EmitFlags.None */; if (currentState.containsLexicalThis) - emitFlags |= 8 /* CapturesThis */; - if (containsYield && hierarchyFacts & 4 /* AsyncFunctionBody */) - emitFlags |= 262144 /* AsyncFunctionBody */; + emitFlags |= 8 /* EmitFlags.CapturesThis */; + if (containsYield && hierarchyFacts & 4 /* HierarchyFacts.AsyncFunctionBody */) + emitFlags |= 262144 /* EmitFlags.AsyncFunctionBody */; var statements = []; statements.push(factory.createVariableStatement(/*modifiers*/ undefined, node.initializer)); - copyOutParameters(currentState.loopOutParameters, 2 /* Initializer */, 1 /* ToOutParameter */, statements); + copyOutParameters(currentState.loopOutParameters, 2 /* LoopOutParameterFlags.Initializer */, 1 /* CopyDirection.ToOutParameter */, statements); // This transforms the following ES2015 syntax: // // for (let i = (setImmediate(() => console.log(i)), 0); i < 2; i++) { @@ -100285,12 +100606,12 @@ var ts; factory.createVariableDeclaration(functionName, /*exclamationToken*/ undefined, /*type*/ undefined, ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* AsteriskToken */) : undefined, + /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, /*name*/ undefined, /*typeParameters*/ undefined, /*parameters*/ undefined, /*type*/ undefined, ts.visitNode(factory.createBlock(statements, /*multiLine*/ true), visitor, ts.isBlock)), emitFlags)) - ]), 2097152 /* NoHoisting */)); + ]), 2097152 /* EmitFlags.NoHoisting */)); var part = factory.createVariableDeclarationList(ts.map(currentState.loopOutParameters, createOutVariable)); return { functionName: functionName, containsYield: containsYield, functionDeclaration: functionDeclaration, part: part }; } @@ -100352,7 +100673,7 @@ var ts; statements.push(factory.createIfStatement(factory.createLogicalNot(currentState.conditionVariable), factory.createExpressionStatement(factory.createAssignment(currentState.conditionVariable, factory.createTrue())))); } if (shouldConvertConditionOfForStatement(node)) { - statements.push(factory.createIfStatement(factory.createPrefixUnaryExpression(53 /* ExclamationToken */, ts.visitNode(node.condition, visitor, ts.isExpression)), ts.visitNode(factory.createBreakStatement(), visitor, ts.isStatement))); + statements.push(factory.createIfStatement(factory.createPrefixUnaryExpression(53 /* SyntaxKind.ExclamationToken */, ts.visitNode(node.condition, visitor, ts.isExpression)), ts.visitNode(factory.createBreakStatement(), visitor, ts.isStatement))); } } if (ts.isBlock(statement)) { @@ -100361,17 +100682,17 @@ var ts; else { statements.push(statement); } - copyOutParameters(currentState.loopOutParameters, 1 /* Body */, 1 /* ToOutParameter */, statements); + copyOutParameters(currentState.loopOutParameters, 1 /* LoopOutParameterFlags.Body */, 1 /* CopyDirection.ToOutParameter */, statements); ts.insertStatementsAfterStandardPrologue(statements, lexicalEnvironment); var loopBody = factory.createBlock(statements, /*multiLine*/ true); if (ts.isBlock(statement)) ts.setOriginalNode(loopBody, statement); - var containsYield = (node.statement.transformFlags & 524288 /* ContainsYield */) !== 0; - var emitFlags = 524288 /* ReuseTempVariableScope */; + var containsYield = (node.statement.transformFlags & 524288 /* TransformFlags.ContainsYield */) !== 0; + var emitFlags = 524288 /* EmitFlags.ReuseTempVariableScope */; if (currentState.containsLexicalThis) - emitFlags |= 8 /* CapturesThis */; - if (containsYield && (hierarchyFacts & 4 /* AsyncFunctionBody */) !== 0) - emitFlags |= 262144 /* AsyncFunctionBody */; + emitFlags |= 8 /* EmitFlags.CapturesThis */; + if (containsYield && (hierarchyFacts & 4 /* HierarchyFacts.AsyncFunctionBody */) !== 0) + emitFlags |= 262144 /* EmitFlags.AsyncFunctionBody */; // This transforms the following ES2015 syntax (in addition to other variations): // // for (let i = 0; i < 2; i++) { @@ -100391,18 +100712,18 @@ var ts; factory.createVariableDeclaration(functionName, /*exclamationToken*/ undefined, /*type*/ undefined, ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* AsteriskToken */) : undefined, + /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, /*name*/ undefined, /*typeParameters*/ undefined, currentState.loopParameters, /*type*/ undefined, loopBody), emitFlags)) - ]), 2097152 /* NoHoisting */)); + ]), 2097152 /* EmitFlags.NoHoisting */)); var part = generateCallToConvertedLoop(functionName, currentState, outerState, containsYield); return { functionName: functionName, containsYield: containsYield, functionDeclaration: functionDeclaration, part: part }; } function copyOutParameter(outParam, copyDirection) { - var source = copyDirection === 0 /* ToOriginal */ ? outParam.outParamName : outParam.originalName; - var target = copyDirection === 0 /* ToOriginal */ ? outParam.originalName : outParam.outParamName; - return factory.createBinaryExpression(target, 63 /* EqualsToken */, source); + var source = copyDirection === 0 /* CopyDirection.ToOriginal */ ? outParam.outParamName : outParam.originalName; + var target = copyDirection === 0 /* CopyDirection.ToOriginal */ ? outParam.originalName : outParam.outParamName; + return factory.createBinaryExpression(target, 63 /* SyntaxKind.EqualsToken */, source); } function copyOutParameters(outParams, partFlags, copyDirection, statements) { for (var _i = 0, outParams_1 = outParams; _i < outParams_1.length; _i++) { @@ -100415,7 +100736,7 @@ var ts; function generateCallToConvertedLoopInitializer(initFunctionExpressionName, containsYield) { var call = factory.createCallExpression(initFunctionExpressionName, /*typeArguments*/ undefined, []); var callResult = containsYield - ? factory.createYieldExpression(factory.createToken(41 /* AsteriskToken */), ts.setEmitFlags(call, 8388608 /* Iterator */)) + ? factory.createYieldExpression(factory.createToken(41 /* SyntaxKind.AsteriskToken */), ts.setEmitFlags(call, 8388608 /* EmitFlags.Iterator */)) : call; return factory.createExpressionStatement(callResult); } @@ -100424,27 +100745,27 @@ var ts; // loop is considered simple if it does not have any return statements or break\continue that transfer control outside of the loop // simple loops are emitted as just 'loop()'; // NOTE: if loop uses only 'continue' it still will be emitted as simple loop - var isSimpleLoop = !(state.nonLocalJumps & ~4 /* Continue */) && + var isSimpleLoop = !(state.nonLocalJumps & ~4 /* Jump.Continue */) && !state.labeledNonLocalBreaks && !state.labeledNonLocalContinues; var call = factory.createCallExpression(loopFunctionExpressionName, /*typeArguments*/ undefined, ts.map(state.loopParameters, function (p) { return p.name; })); var callResult = containsYield - ? factory.createYieldExpression(factory.createToken(41 /* AsteriskToken */), ts.setEmitFlags(call, 8388608 /* Iterator */)) + ? factory.createYieldExpression(factory.createToken(41 /* SyntaxKind.AsteriskToken */), ts.setEmitFlags(call, 8388608 /* EmitFlags.Iterator */)) : call; if (isSimpleLoop) { statements.push(factory.createExpressionStatement(callResult)); - copyOutParameters(state.loopOutParameters, 1 /* Body */, 0 /* ToOriginal */, statements); + copyOutParameters(state.loopOutParameters, 1 /* LoopOutParameterFlags.Body */, 0 /* CopyDirection.ToOriginal */, statements); } else { var loopResultName = factory.createUniqueName("state"); var stateVariable = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([factory.createVariableDeclaration(loopResultName, /*exclamationToken*/ undefined, /*type*/ undefined, callResult)])); statements.push(stateVariable); - copyOutParameters(state.loopOutParameters, 1 /* Body */, 0 /* ToOriginal */, statements); - if (state.nonLocalJumps & 8 /* Return */) { + copyOutParameters(state.loopOutParameters, 1 /* LoopOutParameterFlags.Body */, 0 /* CopyDirection.ToOriginal */, statements); + if (state.nonLocalJumps & 8 /* Jump.Return */) { var returnStatement = void 0; if (outerState) { - outerState.nonLocalJumps |= 8 /* Return */; + outerState.nonLocalJumps |= 8 /* Jump.Return */; returnStatement = factory.createReturnStatement(loopResultName); } else { @@ -100452,7 +100773,7 @@ var ts; } statements.push(factory.createIfStatement(factory.createTypeCheck(loopResultName, "object"), returnStatement)); } - if (state.nonLocalJumps & 2 /* Break */) { + if (state.nonLocalJumps & 2 /* Jump.Break */) { statements.push(factory.createIfStatement(factory.createStrictEquality(loopResultName, factory.createStringLiteral("break")), factory.createBreakStatement())); } if (state.labeledNonLocalBreaks || state.labeledNonLocalContinues) { @@ -100511,19 +100832,19 @@ var ts; else { loopParameters.push(factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, name)); var checkFlags = resolver.getNodeCheckFlags(decl); - if (checkFlags & 4194304 /* NeedsLoopOutParameter */ || hasCapturedBindingsInForHead) { + if (checkFlags & 4194304 /* NodeCheckFlags.NeedsLoopOutParameter */ || hasCapturedBindingsInForHead) { var outParamName = factory.createUniqueName("out_" + ts.idText(name)); var flags = 0; - if (checkFlags & 4194304 /* NeedsLoopOutParameter */) { - flags |= 1 /* Body */; + if (checkFlags & 4194304 /* NodeCheckFlags.NeedsLoopOutParameter */) { + flags |= 1 /* LoopOutParameterFlags.Body */; } if (ts.isForStatement(container)) { if (container.initializer && resolver.isBindingCapturedByNode(container.initializer, decl)) { - flags |= 2 /* Initializer */; + flags |= 2 /* LoopOutParameterFlags.Initializer */; } if (container.condition && resolver.isBindingCapturedByNode(container.condition, decl) || container.incrementor && resolver.isBindingCapturedByNode(container.incrementor, decl)) { - flags |= 1 /* Body */; + flags |= 1 /* LoopOutParameterFlags.Body */; } } loopOutParameters.push({ flags: flags, originalName: name, outParamName: outParamName }); @@ -100545,20 +100866,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -100613,14 +100934,14 @@ var ts; return expression; } function visitCatchClause(node) { - var ancestorFacts = enterSubtree(7104 /* BlockScopeExcludes */, 0 /* BlockScopeIncludes */); + var ancestorFacts = enterSubtree(7104 /* HierarchyFacts.BlockScopeExcludes */, 0 /* HierarchyFacts.BlockScopeIncludes */); var updated; ts.Debug.assert(!!node.variableDeclaration, "Catch clause variable should always be present when downleveling ES2015."); if (ts.isBindingPattern(node.variableDeclaration.name)) { var temp = factory.createTempVariable(/*recordTempVariable*/ undefined); var newVariableDeclaration = factory.createVariableDeclaration(temp); ts.setTextRange(newVariableDeclaration, node.variableDeclaration); - var vars = ts.flattenDestructuringBinding(node.variableDeclaration, visitor, context, 0 /* All */, temp); + var vars = ts.flattenDestructuringBinding(node.variableDeclaration, visitor, context, 0 /* FlattenLevel.All */, temp); var list = factory.createVariableDeclarationList(vars); ts.setTextRange(list, node.variableDeclaration); var destructure = factory.createVariableStatement(/*modifiers*/ undefined, list); @@ -100629,7 +100950,7 @@ var ts; else { updated = ts.visitEachChild(node, visitor, context); } - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return updated; } function addStatementToStartOfBlock(block, statement) { @@ -100648,7 +100969,7 @@ var ts; // Methods with computed property names are handled in visitObjectLiteralExpression. ts.Debug.assert(!ts.isComputedPropertyName(node.name)); var functionExpression = transformFunctionLikeToExpression(node, /*location*/ ts.moveRangePos(node, -1), /*name*/ undefined, /*container*/ undefined); - ts.setEmitFlags(functionExpression, 512 /* NoLeadingComments */ | ts.getEmitFlags(functionExpression)); + ts.setEmitFlags(functionExpression, 512 /* EmitFlags.NoLeadingComments */ | ts.getEmitFlags(functionExpression)); return ts.setTextRange(factory.createPropertyAssignment(node.name, functionExpression), /*location*/ node); } @@ -100661,17 +100982,17 @@ var ts; ts.Debug.assert(!ts.isComputedPropertyName(node.name)); var savedConvertedLoopState = convertedLoopState; convertedLoopState = undefined; - var ancestorFacts = enterSubtree(32670 /* FunctionExcludes */, 65 /* FunctionIncludes */); + var ancestorFacts = enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, 65 /* HierarchyFacts.FunctionIncludes */); var updated; var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (node.kind === 172 /* GetAccessor */) { + if (node.kind === 172 /* SyntaxKind.GetAccessor */) { updated = factory.updateGetAccessorDeclaration(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); } else { updated = factory.updateSetAccessorDeclaration(node, node.decorators, node.modifiers, node.name, parameters, body); } - exitSubtree(ancestorFacts, 98304 /* FunctionSubtreeExcludes */, 0 /* None */); + exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return updated; } @@ -100714,11 +101035,11 @@ var ts; * @param node a CallExpression. */ function visitCallExpression(node) { - if (ts.getEmitFlags(node) & 33554432 /* TypeScriptClassWrapper */) { + if (ts.getEmitFlags(node) & 33554432 /* EmitFlags.TypeScriptClassWrapper */) { return visitTypeScriptClassWrapper(node); } var expression = ts.skipOuterExpressions(node.expression); - if (expression.kind === 106 /* SuperKeyword */ || + if (expression.kind === 106 /* SyntaxKind.SuperKeyword */ || ts.isSuperProperty(expression) || ts.some(node.arguments, ts.isSpreadElement)) { return visitCallExpressionWithPotentialCapturedThisAssignment(node, /*assignToCapturedThis*/ true); @@ -100791,7 +101112,7 @@ var ts; // }()) // var aliasAssignment = ts.tryCast(initializer, ts.isAssignmentExpression); - if (!aliasAssignment && ts.isBinaryExpression(initializer) && initializer.operatorToken.kind === 27 /* CommaToken */) { + if (!aliasAssignment && ts.isBinaryExpression(initializer) && initializer.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { aliasAssignment = ts.tryCast(initializer.left, ts.isAssignmentExpression); } // The underlying call (3) is another IIFE that may contain a '_super' argument. @@ -100848,15 +101169,15 @@ var ts; function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) { // We are here either because SuperKeyword was used somewhere in the expression, or // because we contain a SpreadElementExpression. - if (node.transformFlags & 16384 /* ContainsRestOrSpread */ || - node.expression.kind === 106 /* SuperKeyword */ || + if (node.transformFlags & 16384 /* TransformFlags.ContainsRestOrSpread */ || + node.expression.kind === 106 /* SyntaxKind.SuperKeyword */ || ts.isSuperProperty(ts.skipOuterExpressions(node.expression))) { var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg; - if (node.expression.kind === 106 /* SuperKeyword */) { - ts.setEmitFlags(thisArg, 4 /* NoSubstitution */); + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { + ts.setEmitFlags(thisArg, 4 /* EmitFlags.NoSubstitution */); } var resultingCall = void 0; - if (node.transformFlags & 16384 /* ContainsRestOrSpread */) { + if (node.transformFlags & 16384 /* TransformFlags.ContainsRestOrSpread */) { // [source] // f(...a, b) // x.m(...a, b) @@ -100870,7 +101191,7 @@ var ts; // _super.apply(this, a.concat([b])) // _super.m.apply(this, a.concat([b])) // _super.prototype.m.apply(this, a.concat([b])) - resultingCall = factory.createFunctionApplyCall(ts.visitNode(target, callExpressionVisitor, ts.isExpression), node.expression.kind === 106 /* SuperKeyword */ ? thisArg : ts.visitNode(thisArg, visitor, ts.isExpression), transformAndSpreadElements(node.arguments, /*isArgumentList*/ true, /*multiLine*/ false, /*hasTrailingComma*/ false)); + resultingCall = factory.createFunctionApplyCall(ts.visitNode(target, callExpressionVisitor, ts.isExpression), node.expression.kind === 106 /* SyntaxKind.SuperKeyword */ ? thisArg : ts.visitNode(thisArg, visitor, ts.isExpression), transformAndSpreadElements(node.arguments, /*isArgumentList*/ true, /*multiLine*/ false, /*hasTrailingComma*/ false)); } else { // [source] @@ -100882,12 +101203,12 @@ var ts; // _super.call(this, a) // _super.m.call(this, a) // _super.prototype.m.call(this, a) - resultingCall = ts.setTextRange(factory.createFunctionCallCall(ts.visitNode(target, callExpressionVisitor, ts.isExpression), node.expression.kind === 106 /* SuperKeyword */ ? thisArg : ts.visitNode(thisArg, visitor, ts.isExpression), ts.visitNodes(node.arguments, visitor, ts.isExpression)), node); + resultingCall = ts.setTextRange(factory.createFunctionCallCall(ts.visitNode(target, callExpressionVisitor, ts.isExpression), node.expression.kind === 106 /* SyntaxKind.SuperKeyword */ ? thisArg : ts.visitNode(thisArg, visitor, ts.isExpression), ts.visitNodes(node.arguments, visitor, ts.isExpression)), node); } - if (node.expression.kind === 106 /* SuperKeyword */) { + if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { var initializer = factory.createLogicalOr(resultingCall, createActualThis()); resultingCall = assignToCapturedThis - ? factory.createAssignment(factory.createUniqueName("_this", 16 /* Optimistic */ | 32 /* FileLevel */), initializer) + ? factory.createAssignment(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), initializer) : initializer; } return ts.setOriginalNode(resultingCall, node); @@ -100976,13 +101297,13 @@ var ts; } } var helpers = emitHelpers(); - var startsWithSpread = segments[0].kind !== 0 /* None */; + var startsWithSpread = segments[0].kind !== 0 /* SpreadSegmentKind.None */; var expression = startsWithSpread ? factory.createArrayLiteralExpression() : segments[0].expression; for (var i = startsWithSpread ? 0 : 1; i < segments.length; i++) { var segment = segments[i]; // If this is for an argument list, it doesn't matter if the array is packed or sparse - expression = helpers.createSpreadArrayHelper(expression, segment.expression, segment.kind === 1 /* UnpackedSpread */ && !isArgumentList); + expression = helpers.createSpreadArrayHelper(expression, segment.expression, segment.kind === 1 /* SpreadSegmentKind.UnpackedSpread */ && !isArgumentList); } return expression; } @@ -100998,12 +101319,12 @@ var ts; var expression = ts.visitNode(node.expression, visitor, ts.isExpression); // We don't need to pack already packed array literals, or existing calls to the `__read` helper. var isCallToReadHelper = ts.isCallToHelper(expression, "___read"); - var kind = isCallToReadHelper || ts.isPackedArrayLiteral(expression) ? 2 /* PackedSpread */ : 1 /* UnpackedSpread */; + var kind = isCallToReadHelper || ts.isPackedArrayLiteral(expression) ? 2 /* SpreadSegmentKind.PackedSpread */ : 1 /* SpreadSegmentKind.UnpackedSpread */; // We don't need the `__read` helper for array literals. Array packing will be performed by `__spreadArray`. - if (compilerOptions.downlevelIteration && kind === 1 /* UnpackedSpread */ && !ts.isArrayLiteralExpression(expression) && !isCallToReadHelper) { + if (compilerOptions.downlevelIteration && kind === 1 /* SpreadSegmentKind.UnpackedSpread */ && !ts.isArrayLiteralExpression(expression) && !isCallToReadHelper) { expression = emitHelpers().createReadHelper(expression, /*count*/ undefined); // the `__read` helper returns a packed array, so we don't need to ensure a packed array - kind = 2 /* PackedSpread */; + kind = 2 /* SpreadSegmentKind.PackedSpread */; } return createSpreadSegment(kind, expression); } @@ -101011,7 +101332,7 @@ var ts; var expression = factory.createArrayLiteralExpression(ts.visitNodes(factory.createNodeArray(chunk, hasTrailingComma), visitor, ts.isExpression), multiLine); // We do not pack non-spread segments, this is so that `[1, , ...[2, , 3], , 4]` is properly downleveled to // `[1, , 2, undefined, 3, , 4]`. See the NOTE in `transformAndSpreadElements` - return createSpreadSegment(0 /* None */, expression); + return createSpreadSegment(0 /* SpreadSegmentKind.None */, expression); } function visitSpreadElement(node) { return ts.visitNode(node.expression, visitor, ts.isExpression); @@ -101041,7 +101362,7 @@ var ts; * @param node A string literal. */ function visitNumericLiteral(node) { - if (node.numericLiteralFlags & 384 /* BinaryOrOctalSpecifier */) { + if (node.numericLiteralFlags & 384 /* TokenFlags.BinaryOrOctalSpecifier */) { return ts.setTextRange(factory.createNumericLiteral(node.text), node); } return node; @@ -101076,15 +101397,15 @@ var ts; * Visits the `super` keyword */ function visitSuperKeyword(isExpressionOfCall) { - return hierarchyFacts & 8 /* NonStaticClassElement */ + return hierarchyFacts & 8 /* HierarchyFacts.NonStaticClassElement */ && !isExpressionOfCall - ? factory.createPropertyAccessExpression(factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */), "prototype") - : factory.createUniqueName("_super", 16 /* Optimistic */ | 32 /* FileLevel */); + ? factory.createPropertyAccessExpression(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), "prototype") + : factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); } function visitMetaProperty(node) { - if (node.keywordToken === 103 /* NewKeyword */ && node.name.escapedText === "target") { - hierarchyFacts |= 32768 /* NewTarget */; - return factory.createUniqueName("_newTarget", 16 /* Optimistic */ | 32 /* FileLevel */); + if (node.keywordToken === 103 /* SyntaxKind.NewKeyword */ && node.name.escapedText === "target") { + hierarchyFacts |= 32768 /* HierarchyFacts.NewTarget */; + return factory.createUniqueName("_newTarget", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); } return node; } @@ -101096,13 +101417,13 @@ var ts; * @param emitCallback The callback used to emit the node. */ function onEmitNode(hint, node, emitCallback) { - if (enabledSubstitutions & 1 /* CapturedThis */ && ts.isFunctionLike(node)) { + if (enabledSubstitutions & 1 /* ES2015SubstitutionFlags.CapturedThis */ && ts.isFunctionLike(node)) { // If we are tracking a captured `this`, keep track of the enclosing function. - var ancestorFacts = enterSubtree(32670 /* FunctionExcludes */, ts.getEmitFlags(node) & 8 /* CapturesThis */ - ? 65 /* FunctionIncludes */ | 16 /* CapturesThis */ - : 65 /* FunctionIncludes */); + var ancestorFacts = enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, ts.getEmitFlags(node) & 8 /* EmitFlags.CapturesThis */ + ? 65 /* HierarchyFacts.FunctionIncludes */ | 16 /* HierarchyFacts.CapturesThis */ + : 65 /* HierarchyFacts.FunctionIncludes */); previousOnEmitNode(hint, node, emitCallback); - exitSubtree(ancestorFacts, 0 /* None */, 0 /* None */); + exitSubtree(ancestorFacts, 0 /* HierarchyFacts.None */, 0 /* HierarchyFacts.None */); return; } previousOnEmitNode(hint, node, emitCallback); @@ -101112,9 +101433,9 @@ var ts; * contains block-scoped bindings (e.g. `let` or `const`). */ function enableSubstitutionsForBlockScopedBindings() { - if ((enabledSubstitutions & 2 /* BlockScopedBindings */) === 0) { - enabledSubstitutions |= 2 /* BlockScopedBindings */; - context.enableSubstitution(79 /* Identifier */); + if ((enabledSubstitutions & 2 /* ES2015SubstitutionFlags.BlockScopedBindings */) === 0) { + enabledSubstitutions |= 2 /* ES2015SubstitutionFlags.BlockScopedBindings */; + context.enableSubstitution(79 /* SyntaxKind.Identifier */); } } /** @@ -101122,16 +101443,16 @@ var ts; * contains a captured `this`. */ function enableSubstitutionsForCapturedThis() { - if ((enabledSubstitutions & 1 /* CapturedThis */) === 0) { - enabledSubstitutions |= 1 /* CapturedThis */; - context.enableSubstitution(108 /* ThisKeyword */); - context.enableEmitNotification(171 /* Constructor */); - context.enableEmitNotification(169 /* MethodDeclaration */); - context.enableEmitNotification(172 /* GetAccessor */); - context.enableEmitNotification(173 /* SetAccessor */); - context.enableEmitNotification(214 /* ArrowFunction */); - context.enableEmitNotification(213 /* FunctionExpression */); - context.enableEmitNotification(256 /* FunctionDeclaration */); + if ((enabledSubstitutions & 1 /* ES2015SubstitutionFlags.CapturedThis */) === 0) { + enabledSubstitutions |= 1 /* ES2015SubstitutionFlags.CapturedThis */; + context.enableSubstitution(108 /* SyntaxKind.ThisKeyword */); + context.enableEmitNotification(171 /* SyntaxKind.Constructor */); + context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(214 /* SyntaxKind.ArrowFunction */); + context.enableEmitNotification(213 /* SyntaxKind.FunctionExpression */); + context.enableEmitNotification(256 /* SyntaxKind.FunctionDeclaration */); } } /** @@ -101142,7 +101463,7 @@ var ts; */ function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { return substituteExpression(node); } if (ts.isIdentifier(node)) { @@ -101156,7 +101477,7 @@ var ts; function substituteIdentifier(node) { // Only substitute the identifier if we have enabled substitutions for block-scoped // bindings. - if (enabledSubstitutions & 2 /* BlockScopedBindings */ && !ts.isInternalName(node)) { + if (enabledSubstitutions & 2 /* ES2015SubstitutionFlags.BlockScopedBindings */ && !ts.isInternalName(node)) { var original = ts.getParseTreeNode(node, ts.isIdentifier); if (original && isNameOfDeclarationWithCollidingName(original)) { return ts.setTextRange(factory.getGeneratedNameForNode(original), node); @@ -101172,10 +101493,10 @@ var ts; */ function isNameOfDeclarationWithCollidingName(node) { switch (node.parent.kind) { - case 203 /* BindingElement */: - case 257 /* ClassDeclaration */: - case 260 /* EnumDeclaration */: - case 254 /* VariableDeclaration */: + case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return node.parent.name === node && resolver.isDeclarationWithCollidingName(node.parent); } @@ -101188,9 +101509,9 @@ var ts; */ function substituteExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: return substituteThisKeyword(node); } return node; @@ -101201,7 +101522,7 @@ var ts; * @param node An Identifier node. */ function substituteExpressionIdentifier(node) { - if (enabledSubstitutions & 2 /* BlockScopedBindings */ && !ts.isInternalName(node)) { + if (enabledSubstitutions & 2 /* ES2015SubstitutionFlags.BlockScopedBindings */ && !ts.isInternalName(node)) { var declaration = resolver.getReferencedDeclarationWithCollidingName(node); if (declaration && !(ts.isClassLike(declaration) && isPartOfClassBody(declaration, node))) { return ts.setTextRange(factory.getGeneratedNameForNode(ts.getNameOfDeclaration(declaration)), node); @@ -101238,9 +101559,9 @@ var ts; * @param node The ThisKeyword node. */ function substituteThisKeyword(node) { - if (enabledSubstitutions & 1 /* CapturedThis */ - && hierarchyFacts & 16 /* CapturesThis */) { - return ts.setTextRange(factory.createUniqueName("_this", 16 /* Optimistic */ | 32 /* FileLevel */), node); + if (enabledSubstitutions & 1 /* ES2015SubstitutionFlags.CapturedThis */ + && hierarchyFacts & 16 /* HierarchyFacts.CapturesThis */) { + return ts.setTextRange(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), node); } return node; } @@ -101257,19 +101578,19 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 238 /* ExpressionStatement */) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 238 /* SyntaxKind.ExpressionStatement */) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 208 /* CallExpression */) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 208 /* SyntaxKind.CallExpression */) { return false; } var callTarget = statementExpression.expression; - if (!ts.nodeIsSynthesized(callTarget) || callTarget.kind !== 106 /* SuperKeyword */) { + if (!ts.nodeIsSynthesized(callTarget) || callTarget.kind !== 106 /* SyntaxKind.SuperKeyword */) { return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 225 /* SpreadElement */) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 225 /* SyntaxKind.SpreadElement */) { return false; } var expression = callArgument.expression; @@ -101292,18 +101613,18 @@ var ts; // enable emit notification only if using --jsx preserve or react-native var previousOnEmitNode; var noSubstitution; - if (compilerOptions.jsx === 1 /* Preserve */ || compilerOptions.jsx === 3 /* ReactNative */) { + if (compilerOptions.jsx === 1 /* JsxEmit.Preserve */ || compilerOptions.jsx === 3 /* JsxEmit.ReactNative */) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(280 /* JsxOpeningElement */); - context.enableEmitNotification(281 /* JsxClosingElement */); - context.enableEmitNotification(279 /* JsxSelfClosingElement */); + context.enableEmitNotification(280 /* SyntaxKind.JsxOpeningElement */); + context.enableEmitNotification(281 /* SyntaxKind.JsxClosingElement */); + context.enableEmitNotification(279 /* SyntaxKind.JsxSelfClosingElement */); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(206 /* PropertyAccessExpression */); - context.enableSubstitution(296 /* PropertyAssignment */); + context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(296 /* SyntaxKind.PropertyAssignment */); return ts.chainBundle(context, transformSourceFile); /** * Transforms an ES5 source file to ES3. @@ -101322,9 +101643,9 @@ var ts; */ function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 280 /* JsxOpeningElement */: - case 281 /* JsxClosingElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 281 /* SyntaxKind.JsxClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -101384,7 +101705,7 @@ var ts; */ function trySubstituteReservedName(name) { var token = name.originalKeywordKind || (ts.nodeIsSynthesized(name) ? ts.stringToToken(ts.idText(name)) : undefined); - if (token !== undefined && token >= 81 /* FirstReservedWord */ && token <= 116 /* LastReservedWord */) { + if (token !== undefined && token >= 81 /* SyntaxKind.FirstReservedWord */ && token <= 116 /* SyntaxKind.LastReservedWord */) { return ts.setTextRange(factory.createStringLiteralFromNode(name), name); } return undefined; @@ -101564,11 +101885,11 @@ var ts; })(Instruction || (Instruction = {})); function getInstructionName(instruction) { switch (instruction) { - case 2 /* Return */: return "return"; - case 3 /* Break */: return "break"; - case 4 /* Yield */: return "yield"; - case 5 /* YieldStar */: return "yield*"; - case 7 /* Endfinally */: return "endfinally"; + case 2 /* Instruction.Return */: return "return"; + case 3 /* Instruction.Break */: return "break"; + case 4 /* Instruction.Yield */: return "yield"; + case 5 /* Instruction.YieldStar */: return "yield*"; + case 7 /* Instruction.Endfinally */: return "endfinally"; default: return undefined; // TODO: GH#18217 } } @@ -101622,7 +101943,7 @@ var ts; var withBlockStack; // A stack containing `with` blocks. return ts.chainBundle(context, transformSourceFile); function transformSourceFile(node) { - if (node.isDeclarationFile || (node.transformFlags & 2048 /* ContainsGenerator */) === 0) { + if (node.isDeclarationFile || (node.transformFlags & 2048 /* TransformFlags.ContainsGenerator */) === 0) { return node; } var visited = ts.visitEachChild(node, visitor, context); @@ -101645,7 +101966,7 @@ var ts; else if (ts.isFunctionLikeDeclaration(node) && node.asteriskToken) { return visitGenerator(node); } - else if (transformFlags & 2048 /* ContainsGenerator */) { + else if (transformFlags & 2048 /* TransformFlags.ContainsGenerator */) { return ts.visitEachChild(node, visitor, context); } else { @@ -101659,13 +101980,13 @@ var ts; */ function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: return visitDoStatement(node); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: return visitWhileStatement(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return visitSwitchStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -101678,30 +101999,30 @@ var ts; */ function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: return visitFunctionExpression(node); - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return visitAccessorDeclaration(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return visitForInStatement(node); - case 246 /* BreakStatement */: + case 246 /* SyntaxKind.BreakStatement */: return visitBreakStatement(node); - case 245 /* ContinueStatement */: + case 245 /* SyntaxKind.ContinueStatement */: return visitContinueStatement(node); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); default: - if (node.transformFlags & 524288 /* ContainsYield */) { + if (node.transformFlags & 524288 /* TransformFlags.ContainsYield */) { return visitJavaScriptContainingYield(node); } - else if (node.transformFlags & (2048 /* ContainsGenerator */ | 2097152 /* ContainsHoistedDeclarationOrCompletion */)) { + else if (node.transformFlags & (2048 /* TransformFlags.ContainsGenerator */ | 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */)) { return ts.visitEachChild(node, visitor, context); } else { @@ -101716,23 +102037,23 @@ var ts; */ function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node); - case 351 /* CommaListExpression */: + case 351 /* SyntaxKind.CommaListExpression */: return visitCommaListExpression(node); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return visitConditionalExpression(node); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return visitYieldExpression(node); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return visitElementAccessExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -101745,9 +102066,9 @@ var ts; */ function visitGenerator(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -101906,13 +102227,13 @@ var ts; * @param node The node to visit. */ function visitVariableStatement(node) { - if (node.transformFlags & 524288 /* ContainsYield */) { + if (node.transformFlags & 524288 /* TransformFlags.ContainsYield */) { transformAndEmitVariableDeclarationList(node.declarationList); return undefined; } else { // Do not hoist custom prologues. - if (ts.getEmitFlags(node) & 1048576 /* CustomPrologue */) { + if (ts.getEmitFlags(node) & 1048576 /* EmitFlags.CustomPrologue */) { return node; } for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { @@ -101937,9 +102258,9 @@ var ts; function visitBinaryExpression(node) { var assoc = ts.getExpressionAssociativity(node); switch (assoc) { - case 0 /* Left */: + case 0 /* Associativity.Left */: return visitLeftAssociativeBinaryExpression(node); - case 1 /* Right */: + case 1 /* Associativity.Right */: return visitRightAssociativeBinaryExpression(node); default: return ts.Debug.assertNever(assoc); @@ -101955,7 +102276,7 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: // [source] // a.b = yield; // @@ -101967,7 +102288,7 @@ var ts; // _a.b = %sent%; target = factory.updatePropertyAccessExpression(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: // [source] // a[b] = yield; // @@ -101999,7 +102320,7 @@ var ts; if (ts.isLogicalOperator(node.operatorToken.kind)) { return visitLogicalBinaryExpression(node); } - else if (node.operatorToken.kind === 27 /* CommaToken */) { + else if (node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return visitCommaExpression(node); } // [source] @@ -102033,13 +102354,13 @@ var ts; visit(node.right); return factory.inlineExpressions(pendingExpressions); function visit(node) { - if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* CommaToken */) { + if (ts.isBinaryExpression(node) && node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { visit(node.left); visit(node.right); } else { if (containsYield(node) && pendingExpressions.length > 0) { - emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]); + emitWorker(1 /* OpCode.Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]); pendingExpressions = []; } pendingExpressions.push(ts.visitNode(node, visitor, ts.isExpression)); @@ -102056,12 +102377,12 @@ var ts; var pendingExpressions = []; for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var elem = _a[_i]; - if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* CommaToken */) { + if (ts.isBinaryExpression(elem) && elem.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { pendingExpressions.push(visitCommaExpression(elem)); } else { if (containsYield(elem) && pendingExpressions.length > 0) { - emitWorker(1 /* Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]); + emitWorker(1 /* OpCode.Statement */, [factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))]); pendingExpressions = []; } pendingExpressions.push(ts.visitNode(elem, visitor, ts.isExpression)); @@ -102106,7 +102427,7 @@ var ts; var resultLabel = defineLabel(); var resultLocal = declareLocal(); emitAssignment(resultLocal, ts.visitNode(node.left, visitor, ts.isExpression), /*location*/ node.left); - if (node.operatorToken.kind === 55 /* AmpersandAmpersandToken */) { + if (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */) { // Logical `&&` shortcuts when the left-hand operand is falsey. emitBreakWhenFalse(resultLabel, resultLocal, /*location*/ node.left); } @@ -102172,7 +102493,7 @@ var ts; var expression = ts.visitNode(node.expression, visitor, ts.isExpression); if (node.asteriskToken) { // NOTE: `expression` must be defined for `yield*`. - var iterator = (ts.getEmitFlags(node.expression) & 8388608 /* Iterator */) === 0 + var iterator = (ts.getEmitFlags(node.expression) & 8388608 /* EmitFlags.Iterator */) === 0 ? ts.setTextRange(emitHelpers().createValuesHelper(expression), node) : expression; emitYieldStar(iterator, /*location*/ node); @@ -102361,35 +102682,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: return transformAndEmitBlock(node); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return transformAndEmitExpressionStatement(node); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: return transformAndEmitIfStatement(node); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: return transformAndEmitDoStatement(node); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: return transformAndEmitWhileStatement(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return transformAndEmitForStatement(node); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return transformAndEmitForInStatement(node); - case 245 /* ContinueStatement */: + case 245 /* SyntaxKind.ContinueStatement */: return transformAndEmitContinueStatement(node); - case 246 /* BreakStatement */: + case 246 /* SyntaxKind.BreakStatement */: return transformAndEmitBreakStatement(node); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return transformAndEmitReturnStatement(node); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: return transformAndEmitWithStatement(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return transformAndEmitSwitchStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return transformAndEmitLabeledStatement(node); - case 251 /* ThrowStatement */: + case 251 /* SyntaxKind.ThrowStatement */: return transformAndEmitThrowStatement(node); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -102819,7 +103140,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 290 /* DefaultClause */ && defaultClauseIndex === -1) { + if (clause.kind === 290 /* SyntaxKind.DefaultClause */ && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -102832,7 +103153,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 289 /* CaseClause */) { + if (clause.kind === 289 /* SyntaxKind.CaseClause */) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -102964,7 +103285,7 @@ var ts; } } function containsYield(node) { - return !!node && (node.transformFlags & 524288 /* ContainsYield */) !== 0; + return !!node && (node.transformFlags & 524288 /* TransformFlags.ContainsYield */) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -102977,7 +103298,7 @@ var ts; } function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { return substituteExpression(node); } return node; @@ -103008,7 +103329,7 @@ var ts; return node; } function cacheExpression(node) { - if (ts.isGeneratedIdentifier(node) || ts.getEmitFlags(node) & 4096 /* HelperName */) { + if (ts.isGeneratedIdentifier(node) || ts.getEmitFlags(node) & 4096 /* EmitFlags.HelperName */) { return node; } var temp = factory.createTempVariable(hoistVariableDeclaration); @@ -103054,7 +103375,7 @@ var ts; blockStack = []; } var index = blockActions.length; - blockActions[index] = 0 /* Open */; + blockActions[index] = 0 /* BlockAction.Open */; blockOffsets[index] = operations ? operations.length : 0; blocks[index] = block; blockStack.push(block); @@ -103068,7 +103389,7 @@ var ts; if (block === undefined) return ts.Debug.fail("beginBlock was never called."); var index = blockActions.length; - blockActions[index] = 1 /* Close */; + blockActions[index] = 1 /* BlockAction.Close */; blockOffsets[index] = operations ? operations.length : 0; blocks[index] = block; blockStack.pop(); @@ -103097,7 +103418,7 @@ var ts; var endLabel = defineLabel(); markLabel(startLabel); beginBlock({ - kind: 1 /* With */, + kind: 1 /* CodeBlockKind.With */, expression: expression, startLabel: startLabel, endLabel: endLabel @@ -103107,7 +103428,7 @@ var ts; * Ends a code block for a generated `with` statement. */ function endWithBlock() { - ts.Debug.assert(peekBlockKind() === 1 /* With */); + ts.Debug.assert(peekBlockKind() === 1 /* CodeBlockKind.With */); var block = endBlock(); markLabel(block.endLabel); } @@ -103119,8 +103440,8 @@ var ts; var endLabel = defineLabel(); markLabel(startLabel); beginBlock({ - kind: 0 /* Exception */, - state: 0 /* Try */, + kind: 0 /* CodeBlockKind.Exception */, + state: 0 /* ExceptionBlockState.Try */, startLabel: startLabel, endLabel: endLabel }); @@ -103133,7 +103454,7 @@ var ts; * @param variable The catch variable. */ function beginCatchBlock(variable) { - ts.Debug.assert(peekBlockKind() === 0 /* Exception */); + ts.Debug.assert(peekBlockKind() === 0 /* CodeBlockKind.Exception */); // generated identifiers should already be unique within a file var name; if (ts.isGeneratedIdentifier(variable.name)) { @@ -103146,18 +103467,18 @@ var ts; if (!renamedCatchVariables) { renamedCatchVariables = new ts.Map(); renamedCatchVariableDeclarations = []; - context.enableSubstitution(79 /* Identifier */); + context.enableSubstitution(79 /* SyntaxKind.Identifier */); } renamedCatchVariables.set(text, true); renamedCatchVariableDeclarations[ts.getOriginalNodeId(variable)] = name; } var exception = peekBlock(); - ts.Debug.assert(exception.state < 1 /* Catch */); + ts.Debug.assert(exception.state < 1 /* ExceptionBlockState.Catch */); var endLabel = exception.endLabel; emitBreak(endLabel); var catchLabel = defineLabel(); markLabel(catchLabel); - exception.state = 1 /* Catch */; + exception.state = 1 /* ExceptionBlockState.Catch */; exception.catchVariable = name; exception.catchLabel = catchLabel; emitAssignment(name, factory.createCallExpression(factory.createPropertyAccessExpression(state, "sent"), /*typeArguments*/ undefined, [])); @@ -103167,24 +103488,24 @@ var ts; * Enters the `finally` block of a generated `try` statement. */ function beginFinallyBlock() { - ts.Debug.assert(peekBlockKind() === 0 /* Exception */); + ts.Debug.assert(peekBlockKind() === 0 /* CodeBlockKind.Exception */); var exception = peekBlock(); - ts.Debug.assert(exception.state < 2 /* Finally */); + ts.Debug.assert(exception.state < 2 /* ExceptionBlockState.Finally */); var endLabel = exception.endLabel; emitBreak(endLabel); var finallyLabel = defineLabel(); markLabel(finallyLabel); - exception.state = 2 /* Finally */; + exception.state = 2 /* ExceptionBlockState.Finally */; exception.finallyLabel = finallyLabel; } /** * Ends the code block for a generated `try` statement. */ function endExceptionBlock() { - ts.Debug.assert(peekBlockKind() === 0 /* Exception */); + ts.Debug.assert(peekBlockKind() === 0 /* CodeBlockKind.Exception */); var exception = endBlock(); var state = exception.state; - if (state < 2 /* Finally */) { + if (state < 2 /* ExceptionBlockState.Finally */) { emitBreak(exception.endLabel); } else { @@ -103192,7 +103513,7 @@ var ts; } markLabel(exception.endLabel); emitNop(); - exception.state = 3 /* Done */; + exception.state = 3 /* ExceptionBlockState.Done */; } /** * Begins a code block that supports `break` or `continue` statements that are defined in @@ -103202,7 +103523,7 @@ var ts; */ function beginScriptLoopBlock() { beginBlock({ - kind: 3 /* Loop */, + kind: 3 /* CodeBlockKind.Loop */, isScript: true, breakLabel: -1, continueLabel: -1 @@ -103219,7 +103540,7 @@ var ts; function beginLoopBlock(continueLabel) { var breakLabel = defineLabel(); beginBlock({ - kind: 3 /* Loop */, + kind: 3 /* CodeBlockKind.Loop */, isScript: false, breakLabel: breakLabel, continueLabel: continueLabel, @@ -103231,7 +103552,7 @@ var ts; * generated code or in the source tree. */ function endLoopBlock() { - ts.Debug.assert(peekBlockKind() === 3 /* Loop */); + ts.Debug.assert(peekBlockKind() === 3 /* CodeBlockKind.Loop */); var block = endBlock(); var breakLabel = block.breakLabel; if (!block.isScript) { @@ -103245,7 +103566,7 @@ var ts; */ function beginScriptSwitchBlock() { beginBlock({ - kind: 2 /* Switch */, + kind: 2 /* CodeBlockKind.Switch */, isScript: true, breakLabel: -1 }); @@ -103258,7 +103579,7 @@ var ts; function beginSwitchBlock() { var breakLabel = defineLabel(); beginBlock({ - kind: 2 /* Switch */, + kind: 2 /* CodeBlockKind.Switch */, isScript: false, breakLabel: breakLabel, }); @@ -103268,7 +103589,7 @@ var ts; * Ends a code block that supports `break` statements that are defined in generated code. */ function endSwitchBlock() { - ts.Debug.assert(peekBlockKind() === 2 /* Switch */); + ts.Debug.assert(peekBlockKind() === 2 /* CodeBlockKind.Switch */); var block = endBlock(); var breakLabel = block.breakLabel; if (!block.isScript) { @@ -103277,7 +103598,7 @@ var ts; } function beginScriptLabeledBlock(labelText) { beginBlock({ - kind: 4 /* Labeled */, + kind: 4 /* CodeBlockKind.Labeled */, isScript: true, labelText: labelText, breakLabel: -1 @@ -103286,14 +103607,14 @@ var ts; function beginLabeledBlock(labelText) { var breakLabel = defineLabel(); beginBlock({ - kind: 4 /* Labeled */, + kind: 4 /* CodeBlockKind.Labeled */, isScript: false, labelText: labelText, breakLabel: breakLabel }); } function endLabeledBlock() { - ts.Debug.assert(peekBlockKind() === 4 /* Labeled */); + ts.Debug.assert(peekBlockKind() === 4 /* CodeBlockKind.Labeled */); var block = endBlock(); if (!block.isScript) { markLabel(block.breakLabel); @@ -103305,8 +103626,8 @@ var ts; * @param block A code block. */ function supportsUnlabeledBreak(block) { - return block.kind === 2 /* Switch */ - || block.kind === 3 /* Loop */; + return block.kind === 2 /* CodeBlockKind.Switch */ + || block.kind === 3 /* CodeBlockKind.Loop */; } /** * Indicates whether the provided block supports `break` statements with labels. @@ -103314,7 +103635,7 @@ var ts; * @param block A code block. */ function supportsLabeledBreakOrContinue(block) { - return block.kind === 4 /* Labeled */; + return block.kind === 4 /* CodeBlockKind.Labeled */; } /** * Indicates whether the provided block supports `continue` statements. @@ -103322,7 +103643,7 @@ var ts; * @param block A code block. */ function supportsUnlabeledContinue(block) { - return block.kind === 3 /* Loop */; + return block.kind === 3 /* CodeBlockKind.Loop */; } function hasImmediateContainingLabeledBlock(labelText, start) { for (var j = start; j >= 0; j--) { @@ -103419,7 +103740,7 @@ var ts; */ function createInstruction(instruction) { var literal = factory.createNumericLiteral(instruction); - ts.addSyntheticTrailingComment(literal, 3 /* MultiLineCommentTrivia */, getInstructionName(instruction)); + ts.addSyntheticTrailingComment(literal, 3 /* SyntaxKind.MultiLineCommentTrivia */, getInstructionName(instruction)); return literal; } /** @@ -103431,7 +103752,7 @@ var ts; function createInlineBreak(label, location) { ts.Debug.assertLessThan(0, label, "Invalid label"); return ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression([ - createInstruction(3 /* Break */), + createInstruction(3 /* Instruction.Break */), createLabel(label) ])), location); } @@ -103443,8 +103764,8 @@ var ts; */ function createInlineReturn(expression, location) { return ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression(expression - ? [createInstruction(2 /* Return */), expression] - : [createInstruction(2 /* Return */)])), location); + ? [createInstruction(2 /* Instruction.Return */), expression] + : [createInstruction(2 /* Instruction.Return */)])), location); } /** * Creates an expression that can be used to resume from a Yield operation. @@ -103457,7 +103778,7 @@ var ts; * Emits an empty instruction. */ function emitNop() { - emitWorker(0 /* Nop */); + emitWorker(0 /* OpCode.Nop */); } /** * Emits a Statement. @@ -103466,7 +103787,7 @@ var ts; */ function emitStatement(node) { if (node) { - emitWorker(1 /* Statement */, [node]); + emitWorker(1 /* OpCode.Statement */, [node]); } else { emitNop(); @@ -103480,7 +103801,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitAssignment(left, right, location) { - emitWorker(2 /* Assign */, [left, right], location); + emitWorker(2 /* OpCode.Assign */, [left, right], location); } /** * Emits a Break operation to the specified label. @@ -103489,7 +103810,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitBreak(label, location) { - emitWorker(3 /* Break */, [label], location); + emitWorker(3 /* OpCode.Break */, [label], location); } /** * Emits a Break operation to the specified label when a condition evaluates to a truthy @@ -103500,7 +103821,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitBreakWhenTrue(label, condition, location) { - emitWorker(4 /* BreakWhenTrue */, [label, condition], location); + emitWorker(4 /* OpCode.BreakWhenTrue */, [label, condition], location); } /** * Emits a Break to the specified label when a condition evaluates to a falsey value at @@ -103511,7 +103832,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitBreakWhenFalse(label, condition, location) { - emitWorker(5 /* BreakWhenFalse */, [label, condition], location); + emitWorker(5 /* OpCode.BreakWhenFalse */, [label, condition], location); } /** * Emits a YieldStar operation for the provided expression. @@ -103520,7 +103841,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitYieldStar(expression, location) { - emitWorker(7 /* YieldStar */, [expression], location); + emitWorker(7 /* OpCode.YieldStar */, [expression], location); } /** * Emits a Yield operation for the provided expression. @@ -103529,7 +103850,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitYield(expression, location) { - emitWorker(6 /* Yield */, [expression], location); + emitWorker(6 /* OpCode.Yield */, [expression], location); } /** * Emits a Return operation for the provided expression. @@ -103538,7 +103859,7 @@ var ts; * @param location An optional source map location for the assignment. */ function emitReturn(expression, location) { - emitWorker(8 /* Return */, [expression], location); + emitWorker(8 /* OpCode.Return */, [expression], location); } /** * Emits a Throw operation for the provided expression. @@ -103547,13 +103868,13 @@ var ts; * @param location An optional source map location for the assignment. */ function emitThrow(expression, location) { - emitWorker(9 /* Throw */, [expression], location); + emitWorker(9 /* OpCode.Throw */, [expression], location); } /** * Emits an Endfinally operation. This is used to handle `finally` block semantics. */ function emitEndfinally() { - emitWorker(10 /* Endfinally */); + emitWorker(10 /* OpCode.Endfinally */); } /** * Emits an operation. @@ -103597,7 +103918,7 @@ var ts; /*name*/ undefined, /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], /*type*/ undefined, factory.createBlock(buildResult, - /*multiLine*/ buildResult.length > 0)), 524288 /* ReuseTempVariableScope */)); + /*multiLine*/ buildResult.length > 0)), 524288 /* EmitFlags.ReuseTempVariableScope */)); } /** * Builds the statements for the generator function body. @@ -103770,8 +104091,8 @@ var ts; var block = blocks[blockIndex]; var blockAction = blockActions[blockIndex]; switch (block.kind) { - case 0 /* Exception */: - if (blockAction === 0 /* Open */) { + case 0 /* CodeBlockKind.Exception */: + if (blockAction === 0 /* BlockAction.Open */) { if (!exceptionBlockStack) { exceptionBlockStack = []; } @@ -103781,18 +104102,18 @@ var ts; exceptionBlockStack.push(currentExceptionBlock); currentExceptionBlock = block; } - else if (blockAction === 1 /* Close */) { + else if (blockAction === 1 /* BlockAction.Close */) { currentExceptionBlock = exceptionBlockStack.pop(); } break; - case 1 /* With */: - if (blockAction === 0 /* Open */) { + case 1 /* CodeBlockKind.With */: + if (blockAction === 0 /* BlockAction.Open */) { if (!withBlockStack) { withBlockStack = []; } withBlockStack.push(block); } - else if (blockAction === 1 /* Close */) { + else if (blockAction === 1 /* BlockAction.Close */) { withBlockStack.pop(); } break; @@ -103816,33 +104137,33 @@ var ts; lastOperationWasAbrupt = false; lastOperationWasCompletion = false; var opcode = operations[operationIndex]; - if (opcode === 0 /* Nop */) { + if (opcode === 0 /* OpCode.Nop */) { return; } - else if (opcode === 10 /* Endfinally */) { + else if (opcode === 10 /* OpCode.Endfinally */) { return writeEndfinally(); } var args = operationArguments[operationIndex]; - if (opcode === 1 /* Statement */) { + if (opcode === 1 /* OpCode.Statement */) { return writeStatement(args[0]); } var location = operationLocations[operationIndex]; switch (opcode) { - case 2 /* Assign */: + case 2 /* OpCode.Assign */: return writeAssign(args[0], args[1], location); - case 3 /* Break */: + case 3 /* OpCode.Break */: return writeBreak(args[0], location); - case 4 /* BreakWhenTrue */: + case 4 /* OpCode.BreakWhenTrue */: return writeBreakWhenTrue(args[0], args[1], location); - case 5 /* BreakWhenFalse */: + case 5 /* OpCode.BreakWhenFalse */: return writeBreakWhenFalse(args[0], args[1], location); - case 6 /* Yield */: + case 6 /* OpCode.Yield */: return writeYield(args[0], location); - case 7 /* YieldStar */: + case 7 /* OpCode.YieldStar */: return writeYieldStar(args[0], location); - case 8 /* Return */: + case 8 /* OpCode.Return */: return writeReturn(args[0], location); - case 9 /* Throw */: + case 9 /* OpCode.Throw */: return writeThrow(args[0], location); } } @@ -103892,8 +104213,8 @@ var ts; lastOperationWasAbrupt = true; lastOperationWasCompletion = true; writeStatement(ts.setEmitFlags(ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression(expression - ? [createInstruction(2 /* Return */), expression] - : [createInstruction(2 /* Return */)])), operationLocation), 384 /* NoTokenSourceMaps */)); + ? [createInstruction(2 /* Instruction.Return */), expression] + : [createInstruction(2 /* Instruction.Return */)])), operationLocation), 384 /* EmitFlags.NoTokenSourceMaps */)); } /** * Writes a Break operation to the current label's statement list. @@ -103904,9 +104225,9 @@ var ts; function writeBreak(label, operationLocation) { lastOperationWasAbrupt = true; writeStatement(ts.setEmitFlags(ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression([ - createInstruction(3 /* Break */), + createInstruction(3 /* Instruction.Break */), createLabel(label) - ])), operationLocation), 384 /* NoTokenSourceMaps */)); + ])), operationLocation), 384 /* EmitFlags.NoTokenSourceMaps */)); } /** * Writes a BreakWhenTrue operation to the current label's statement list. @@ -103917,9 +104238,9 @@ var ts; */ function writeBreakWhenTrue(label, condition, operationLocation) { writeStatement(ts.setEmitFlags(factory.createIfStatement(condition, ts.setEmitFlags(ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression([ - createInstruction(3 /* Break */), + createInstruction(3 /* Instruction.Break */), createLabel(label) - ])), operationLocation), 384 /* NoTokenSourceMaps */)), 1 /* SingleLine */)); + ])), operationLocation), 384 /* EmitFlags.NoTokenSourceMaps */)), 1 /* EmitFlags.SingleLine */)); } /** * Writes a BreakWhenFalse operation to the current label's statement list. @@ -103930,9 +104251,9 @@ var ts; */ function writeBreakWhenFalse(label, condition, operationLocation) { writeStatement(ts.setEmitFlags(factory.createIfStatement(factory.createLogicalNot(condition), ts.setEmitFlags(ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression([ - createInstruction(3 /* Break */), + createInstruction(3 /* Instruction.Break */), createLabel(label) - ])), operationLocation), 384 /* NoTokenSourceMaps */)), 1 /* SingleLine */)); + ])), operationLocation), 384 /* EmitFlags.NoTokenSourceMaps */)), 1 /* EmitFlags.SingleLine */)); } /** * Writes a Yield operation to the current label's statement list. @@ -103943,8 +104264,8 @@ var ts; function writeYield(expression, operationLocation) { lastOperationWasAbrupt = true; writeStatement(ts.setEmitFlags(ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression(expression - ? [createInstruction(4 /* Yield */), expression] - : [createInstruction(4 /* Yield */)])), operationLocation), 384 /* NoTokenSourceMaps */)); + ? [createInstruction(4 /* Instruction.Yield */), expression] + : [createInstruction(4 /* Instruction.Yield */)])), operationLocation), 384 /* EmitFlags.NoTokenSourceMaps */)); } /** * Writes a YieldStar instruction to the current label's statement list. @@ -103955,9 +104276,9 @@ var ts; function writeYieldStar(expression, operationLocation) { lastOperationWasAbrupt = true; writeStatement(ts.setEmitFlags(ts.setTextRange(factory.createReturnStatement(factory.createArrayLiteralExpression([ - createInstruction(5 /* YieldStar */), + createInstruction(5 /* Instruction.YieldStar */), expression - ])), operationLocation), 384 /* NoTokenSourceMaps */)); + ])), operationLocation), 384 /* EmitFlags.NoTokenSourceMaps */)); } /** * Writes an Endfinally instruction to the current label's statement list. @@ -103965,7 +104286,7 @@ var ts; function writeEndfinally() { lastOperationWasAbrupt = true; writeStatement(factory.createReturnStatement(factory.createArrayLiteralExpression([ - createInstruction(7 /* Endfinally */) + createInstruction(7 /* Instruction.Endfinally */) ]))); } } @@ -103992,12 +104313,12 @@ var ts; var previousOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(208 /* CallExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. - context.enableSubstitution(210 /* TaggedTemplateExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. - context.enableSubstitution(79 /* Identifier */); // Substitutes expression identifiers with imported/exported symbols. - context.enableSubstitution(221 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(297 /* ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. - context.enableEmitNotification(305 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(208 /* SyntaxKind.CallExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. + context.enableSubstitution(210 /* SyntaxKind.TaggedTemplateExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. + context.enableSubstitution(79 /* SyntaxKind.Identifier */); // Substitutes expression identifiers with imported/exported symbols. + context.enableSubstitution(221 /* SyntaxKind.BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(297 /* SyntaxKind.ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. + context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var currentSourceFile; // The current file. @@ -104013,7 +104334,7 @@ var ts; function transformSourceFile(node) { if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || - node.transformFlags & 4194304 /* ContainsDynamicImport */ || + node.transformFlags & 4194304 /* TransformFlags.ContainsDynamicImport */ || (ts.isJsonSourceFile(node) && ts.hasJsonModuleEmitEnabled(compilerOptions) && ts.outFile(compilerOptions)))) { return node; } @@ -104149,7 +104470,7 @@ var ts; factory.createIdentifier("exports") ])) ]), - ts.setEmitFlags(factory.createIfStatement(factory.createStrictInequality(factory.createIdentifier("v"), factory.createIdentifier("undefined")), factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), factory.createIdentifier("v")))), 1 /* SingleLine */) + ts.setEmitFlags(factory.createIfStatement(factory.createStrictInequality(factory.createIdentifier("v"), factory.createIdentifier("undefined")), factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), factory.createIdentifier("v")))), 1 /* EmitFlags.SingleLine */) ]), factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("define"), "function"), factory.createPropertyAccessExpression(factory.createIdentifier("define"), "amd")), factory.createBlock([ factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("define"), /*typeArguments*/ undefined, __spreadArray(__spreadArray([], (moduleName ? [moduleName] : []), true), [ @@ -104234,7 +104555,7 @@ var ts; if (includeNonAmdDependencies && importAliasName) { // Set emitFlags on the name of the classDeclaration // This is so that when printer will not substitute the identifier - ts.setEmitFlags(importAliasName, 4 /* NoSubstitution */); + ts.setEmitFlags(importAliasName, 4 /* EmitFlags.NoSubstitution */); aliasedModuleNames.push(externalModuleName); importAliasNames.push(factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, importAliasName)); } @@ -104303,13 +104624,13 @@ var ts; if (emitAsReturn) { var statement = factory.createReturnStatement(expressionResult); ts.setTextRange(statement, currentModuleInfo.exportEquals); - ts.setEmitFlags(statement, 384 /* NoTokenSourceMaps */ | 1536 /* NoComments */); + ts.setEmitFlags(statement, 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */); statements.push(statement); } else { var statement = factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), expressionResult)); ts.setTextRange(statement, currentModuleInfo.exportEquals); - ts.setEmitFlags(statement, 1536 /* NoComments */); + ts.setEmitFlags(statement, 1536 /* EmitFlags.NoComments */); statements.push(statement); } } @@ -104325,23 +104646,23 @@ var ts; */ function topLevelVisitor(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return visitImportDeclaration(node); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return visitExportDeclaration(node); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 352 /* MergeDeclarationMarker */: + case 352 /* SyntaxKind.MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 353 /* EndOfDeclarationMarker */: + case 353 /* SyntaxKind.EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return visitor(node); @@ -104350,30 +104671,30 @@ var ts; function visitorWorker(node, valueIsDiscarded) { // This visitor does not need to descend into the tree if there is no dynamic import, destructuring assignment, or update expression // as export/import statements are only transformed at the top level of a file. - if (!(node.transformFlags & (4194304 /* ContainsDynamicImport */ | 4096 /* ContainsDestructuringAssignment */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) { + if (!(node.transformFlags & (4194304 /* TransformFlags.ContainsDynamicImport */ | 4096 /* TransformFlags.ContainsDestructuringAssignment */ | 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */))) { return node; } switch (node.kind) { - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, valueIsDiscarded); - case 350 /* PartiallyEmittedExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: return visitPartiallyEmittedExpression(node, valueIsDiscarded); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: if (ts.isImportCall(node) && currentSourceFile.impliedNodeFormat === undefined) { return visitImportCallExpression(node); } break; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: if (ts.isDestructuringAssignment(node)) { return visitDestructuringAssignment(node, valueIsDiscarded); } break; - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return visitPreOrPostfixUnaryExpression(node, valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); @@ -104389,24 +104710,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -104432,7 +104753,7 @@ var ts; } function visitDestructuringAssignment(node, valueIsDiscarded) { if (destructuringNeedsFlattening(node.left)) { - return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* All */, !valueIsDiscarded, createAllExportExpressions); + return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, !valueIsDiscarded, createAllExportExpressions); } return ts.visitEachChild(node, visitor, context); } @@ -104458,7 +104779,7 @@ var ts; // - We do not transform identifiers that were originally the name of an enum or // namespace due to how they are transformed in TypeScript. // - We only transform identifiers that are exported at the top level. - if ((node.operator === 45 /* PlusPlusToken */ || node.operator === 46 /* MinusMinusToken */) + if ((node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) && ts.isIdentifier(node.operand) && !ts.isGeneratedIdentifier(node.operand) && !ts.isLocalName(node.operand) @@ -104501,7 +104822,7 @@ var ts; var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor); // Only use the external module name if it differs from the first argument. This allows us to preserve the quote style of the argument on output. var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument; - var containsLexicalThis = !!(node.transformFlags & 8192 /* ContainsLexicalThis */); + var containsLexicalThis = !!(node.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */); switch (compilerOptions.module) { case ts.ModuleKind.AMD: return createImportCallExpressionAMD(argument, containsLexicalThis); @@ -104528,7 +104849,7 @@ var ts; // }); needUMDDynamicImportHelper = true; if (ts.isSimpleCopiableExpression(arg)) { - var argClone = ts.isGeneratedIdentifier(arg) ? arg : ts.isStringLiteral(arg) ? factory.createStringLiteralFromNode(arg) : ts.setEmitFlags(ts.setTextRange(factory.cloneNode(arg), arg), 1536 /* NoComments */); + var argClone = ts.isGeneratedIdentifier(arg) ? arg : ts.isStringLiteral(arg) ? factory.createStringLiteralFromNode(arg) : ts.setEmitFlags(ts.setTextRange(factory.cloneNode(arg), arg), 1536 /* EmitFlags.NoComments */); return factory.createConditionalExpression( /*condition*/ factory.createIdentifier("__syncRequire"), /*questionToken*/ undefined, @@ -104564,7 +104885,7 @@ var ts; /*typeArguments*/ undefined, [factory.createArrayLiteralExpression([arg || factory.createOmittedExpression()]), resolve, reject])) ]); var func; - if (languageVersion >= 2 /* ES2015 */) { + if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { func = factory.createArrowFunction( /*modifiers*/ undefined, /*typeParameters*/ undefined, parameters, @@ -104582,7 +104903,7 @@ var ts; // that this new function expression indicates it captures 'this' so that the // es2015 transformer will properly substitute 'this' with '_this'. if (containsLexicalThis) { - ts.setEmitFlags(func, 8 /* CapturesThis */); + ts.setEmitFlags(func, 8 /* EmitFlags.CapturesThis */); } } var promise = factory.createNewExpression(factory.createIdentifier("Promise"), /*typeArguments*/ undefined, [func]); @@ -104603,7 +104924,7 @@ var ts; requireCall = emitHelpers().createImportStarHelper(requireCall); } var func; - if (languageVersion >= 2 /* ES2015 */) { + if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { func = factory.createArrowFunction( /*modifiers*/ undefined, /*typeParameters*/ undefined, @@ -104623,13 +104944,13 @@ var ts; // that this new function expression indicates it captures 'this' so that the // es2015 transformer will properly substitute 'this' with '_this'. if (containsLexicalThis) { - ts.setEmitFlags(func, 8 /* CapturesThis */); + ts.setEmitFlags(func, 8 /* EmitFlags.CapturesThis */); } } return factory.createCallExpression(factory.createPropertyAccessExpression(promiseResolveCall, "then"), /*typeArguments*/ undefined, [func]); } function getHelperExpressionForExport(node, innerExpr) { - if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864 /* NeverApplyImportHelper */) { + if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864 /* EmitFlags.NeverApplyImportHelper */) { return innerExpr; } if (ts.getExportNeedsImportStarHelper(node)) { @@ -104638,7 +104959,7 @@ var ts; return innerExpr; } function getHelperExpressionForImport(node, innerExpr) { - if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864 /* NeverApplyImportHelper */) { + if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864 /* EmitFlags.NeverApplyImportHelper */) { return innerExpr; } if (ts.getImportNeedsImportStarHelper(node)) { @@ -104685,7 +105006,7 @@ var ts; } } statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(variables, languageVersion >= 2 /* ES2015 */ ? 2 /* Const */ : 0 /* None */)), + /*modifiers*/ undefined, factory.createVariableDeclarationList(variables, languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), /*location*/ node), /*original*/ node)); } @@ -104699,7 +105020,7 @@ var ts; /*type*/ undefined, factory.getGeneratedNameForNode(node)), /*location*/ node), /*original*/ node) - ], languageVersion >= 2 /* ES2015 */ ? 2 /* Const */ : 0 /* None */))); + ], languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */))); } if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -104733,7 +105054,7 @@ var ts; ts.Debug.assert(ts.isExternalModuleImportEqualsDeclaration(node), "import= for internal module references should be handled in an earlier transformer."); var statements; if (moduleKind !== ts.ModuleKind.AMD) { - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createExpressionStatement(createExportExpression(node.name, createRequireCall(node))), node), node)); } else { @@ -104743,11 +105064,11 @@ var ts; /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) ], - /*flags*/ languageVersion >= 2 /* ES2015 */ ? 2 /* Const */ : 0 /* None */)), node), node)); + /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), node), node)); } } else { - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createExpressionStatement(createExportExpression(factory.getExportName(node), factory.getLocalName(node))), node), node)); } } @@ -104788,12 +105109,12 @@ var ts; } for (var _i = 0, _a = node.exportClause.elements; _i < _a.length; _i++) { var specifier = _a[_i]; - if (languageVersion === 0 /* ES3 */) { + if (languageVersion === 0 /* ScriptTarget.ES3 */) { statements.push(ts.setOriginalNode(ts.setTextRange(factory.createExpressionStatement(emitHelpers().createCreateBindingHelper(generatedName, factory.createStringLiteralFromNode(specifier.propertyName || specifier.name), specifier.propertyName ? factory.createStringLiteralFromNode(specifier.name) : undefined)), specifier), specifier)); } else { var exportNeedsImportDefault = !!ts.getESModuleInterop(compilerOptions) && - !(ts.getEmitFlags(node) & 67108864 /* NeverApplyImportHelper */) && + !(ts.getEmitFlags(node) & 67108864 /* EmitFlags.NeverApplyImportHelper */) && ts.idText(specifier.propertyName || specifier.name) === "default"; var exportedValue = factory.createPropertyAccessExpression(exportNeedsImportDefault ? emitHelpers().createImportDefaultHelper(generatedName) : generatedName, specifier.propertyName || specifier.name); statements.push(ts.setOriginalNode(ts.setTextRange(factory.createExpressionStatement(createExportExpression(factory.getExportName(specifier), exportedValue, /* location */ undefined, /* liveBinding */ true)), specifier), specifier)); @@ -104844,7 +105165,7 @@ var ts; */ function visitFunctionDeclaration(node) { var statements; - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration( /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor), @@ -104872,7 +105193,7 @@ var ts; */ function visitClassDeclaration(node) { var statements; - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration( /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor), ts.visitNodes(node.members, visitor)), node), node)); @@ -104899,7 +105220,7 @@ var ts; var statements; var variables; var expressions; - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { var modifiers = void 0; var removeCommentsOnExpressions = false; // If we're exporting these variables, then these just become assignments to 'exports.x'. @@ -104957,7 +105278,7 @@ var ts; for (var _i = 0, exportedNames_2 = exportedNames; _i < exportedNames_2.length; _i++) { var exportName = exportedNames_2[_i]; // Mark the node to prevent triggering substitution. - ts.setEmitFlags(expression, 4 /* NoSubstitution */); + ts.setEmitFlags(expression, 4 /* EmitFlags.NoSubstitution */); expression = createExportExpression(exportName, expression, /*location*/ location); } return expression; @@ -104972,7 +105293,7 @@ var ts; function transformInitializedVariable(node) { if (ts.isBindingPattern(node.name)) { return ts.flattenDestructuringAssignment(ts.visitNode(node, visitor), - /*visitor*/ undefined, context, 0 /* All */, + /*visitor*/ undefined, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createAllExportExpressions); } else { @@ -104994,7 +105315,7 @@ var ts; // // To balance the declaration, add the exports of the elided variable // statement. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* SyntaxKind.VariableStatement */) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -105006,7 +105327,7 @@ var ts; * @param node The node to test. */ function hasAssociatedEndOfDeclarationMarker(node) { - return (ts.getEmitFlags(node) & 4194304 /* HasEndOfDeclarationMarker */) !== 0; + return (ts.getEmitFlags(node) & 4194304 /* EmitFlags.HasEndOfDeclarationMarker */) !== 0; } /** * Visits a DeclarationMarker used as a placeholder for the end of a transformed @@ -105049,10 +105370,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 269 /* NamedImports */: + case 269 /* SyntaxKind.NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding, /* liveBinding */ true); @@ -105135,8 +105456,8 @@ var ts; if (currentModuleInfo.exportEquals) { return statements; } - if (ts.hasSyntacticModifier(decl, 1 /* Export */)) { - var exportName = ts.hasSyntacticModifier(decl, 512 /* Default */) ? factory.createIdentifier("default") : factory.getDeclarationName(decl); + if (ts.hasSyntacticModifier(decl, 1 /* ModifierFlags.Export */)) { + var exportName = ts.hasSyntacticModifier(decl, 512 /* ModifierFlags.Default */) ? factory.createIdentifier("default") : factory.getDeclarationName(decl); statements = appendExportStatement(statements, exportName, factory.getLocalName(decl), /*location*/ decl); } if (decl.name) { @@ -105181,7 +105502,7 @@ var ts; } function createUnderscoreUnderscoreESModule() { var statement; - if (languageVersion === 0 /* ES3 */) { + if (languageVersion === 0 /* ScriptTarget.ES3 */) { statement = factory.createExpressionStatement(createExportExpression(factory.createIdentifier("__esModule"), factory.createTrue())); } else { @@ -105194,7 +105515,7 @@ var ts; ]) ])); } - ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + ts.setEmitFlags(statement, 1048576 /* EmitFlags.CustomPrologue */); return statement; } /** @@ -105209,7 +105530,7 @@ var ts; var statement = ts.setTextRange(factory.createExpressionStatement(createExportExpression(name, value, /* location */ undefined, liveBinding)), location); ts.startOnNewLine(statement); if (!allowComments) { - ts.setEmitFlags(statement, 1536 /* NoComments */); + ts.setEmitFlags(statement, 1536 /* EmitFlags.NoComments */); } return statement; } @@ -105221,7 +105542,7 @@ var ts; * @param location The location to use for source maps and comments for the export. */ function createExportExpression(name, value, location, liveBinding) { - return ts.setTextRange(liveBinding && languageVersion !== 0 /* ES3 */ ? factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + return ts.setTextRange(liveBinding && languageVersion !== 0 /* ScriptTarget.ES3 */ ? factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ factory.createIdentifier("exports"), factory.createStringLiteralFromNode(name), @@ -105248,8 +105569,8 @@ var ts; function modifierVisitor(node) { // Elide module-specific modifiers. switch (node.kind) { - case 93 /* ExportKeyword */: - case 88 /* DefaultKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: return undefined; } return node; @@ -105265,7 +105586,7 @@ var ts; * @param emit A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 305 /* SourceFile */) { + if (node.kind === 305 /* SyntaxKind.SourceFile */) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; previousOnEmitNode(hint, node, emitCallback); @@ -105290,7 +105611,7 @@ var ts; if (node.id && noSubstitution[node.id]) { return node; } - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { return substituteExpression(node); } else if (ts.isShorthandPropertyAssignment(node)) { @@ -105325,13 +105646,13 @@ var ts; */ function substituteExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return substituteCallExpression(node); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return substituteTaggedTemplateExpression(node); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return substituteBinaryExpression(node); } return node; @@ -105340,9 +105661,9 @@ var ts; if (ts.isIdentifier(node.expression)) { var expression = substituteExpressionIdentifier(node.expression); noSubstitution[ts.getNodeId(expression)] = true; - if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* HelperName */)) { + if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* EmitFlags.HelperName */)) { return ts.addEmitFlags(factory.updateCallExpression(node, expression, - /*typeArguments*/ undefined, node.arguments), 536870912 /* IndirectCall */); + /*typeArguments*/ undefined, node.arguments), 536870912 /* EmitFlags.IndirectCall */); } } return node; @@ -105351,9 +105672,9 @@ var ts; if (ts.isIdentifier(node.tag)) { var tag = substituteExpressionIdentifier(node.tag); noSubstitution[ts.getNodeId(tag)] = true; - if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* HelperName */)) { + if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* EmitFlags.HelperName */)) { return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag, - /*typeArguments*/ undefined, node.template), 536870912 /* IndirectCall */); + /*typeArguments*/ undefined, node.template), 536870912 /* EmitFlags.IndirectCall */); } } return node; @@ -105366,16 +105687,16 @@ var ts; */ function substituteExpressionIdentifier(node) { var _a, _b; - if (ts.getEmitFlags(node) & 4096 /* HelperName */) { + if (ts.getEmitFlags(node) & 4096 /* EmitFlags.HelperName */) { var externalHelpersModuleName = ts.getExternalHelpersModuleName(currentSourceFile); if (externalHelpersModuleName) { return factory.createPropertyAccessExpression(externalHelpersModuleName, node); } return node; } - else if (!(ts.isGeneratedIdentifier(node) && !(node.autoGenerateFlags & 64 /* AllowNameSubstitution */)) && !ts.isLocalName(node)) { + else if (!(ts.isGeneratedIdentifier(node) && !(node.autoGenerateFlags & 64 /* GeneratedIdentifierFlags.AllowNameSubstitution */)) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 305 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 305 /* SyntaxKind.SourceFile */) { return ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(node)), /*location*/ node); } @@ -105464,11 +105785,11 @@ var ts; var previousOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(79 /* Identifier */); // Substitutes expression identifiers for imported symbols. - context.enableSubstitution(297 /* ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols - context.enableSubstitution(221 /* BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(231 /* MetaProperty */); // Substitutes 'import.meta' - context.enableEmitNotification(305 /* SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(79 /* SyntaxKind.Identifier */); // Substitutes expression identifiers for imported symbols. + context.enableSubstitution(297 /* SyntaxKind.ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols + context.enableSubstitution(221 /* SyntaxKind.BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(231 /* SyntaxKind.MetaProperty */); // Substitutes 'import.meta' + context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var exportFunctionsMap = []; // The export function associated with a source file. @@ -105488,7 +105809,7 @@ var ts; * @param node The SourceFile node. */ function transformSourceFile(node) { - if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304 /* ContainsDynamicImport */)) { + if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304 /* TransformFlags.ContainsDynamicImport */)) { return node; } var id = ts.getOriginalNodeId(node); @@ -105535,7 +105856,7 @@ var ts; /*typeArguments*/ undefined, moduleName ? [moduleName, dependencies, moduleBodyFunction] : [dependencies, moduleBodyFunction])) - ]), node.statements)), 1024 /* NoTrailingComments */); + ]), node.statements)), 1024 /* EmitFlags.NoTrailingComments */); if (!ts.outFile(compilerOptions)) { ts.moveEmitHelpers(updated, moduleBodyBlock, function (helper) { return !helper.scoped; }); } @@ -105657,8 +105978,8 @@ var ts; // - Temporary variables will appear at the top rather than at the bottom of the file ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); var exportStarFunction = addExportStarIfNeeded(statements); // TODO: GH#18217 - var modifiers = node.transformFlags & 1048576 /* ContainsAwait */ ? - factory.createModifiersFromModifierFlags(256 /* Async */) : + var modifiers = node.transformFlags & 1048576 /* TransformFlags.ContainsAwait */ ? + factory.createModifiersFromModifierFlags(256 /* ModifierFlags.Async */) : undefined; var moduleObject = factory.createObjectLiteralExpression([ factory.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), @@ -105692,7 +106013,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 272 /* ExportDeclaration */ && externalImport.exportClause) { + if (externalImport.kind === 272 /* SyntaxKind.ExportDeclaration */ && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -105758,7 +106079,7 @@ var ts; factory.createForInStatement(factory.createVariableDeclarationList([ factory.createVariableDeclaration(n) ]), m, factory.createBlock([ - ts.setEmitFlags(factory.createIfStatement(condition, factory.createExpressionStatement(factory.createAssignment(factory.createElementAccessExpression(exports, n), factory.createElementAccessExpression(m, n)))), 1 /* SingleLine */) + ts.setEmitFlags(factory.createIfStatement(condition, factory.createExpressionStatement(factory.createAssignment(factory.createElementAccessExpression(exports, n), factory.createElementAccessExpression(m, n)))), 1 /* EmitFlags.SingleLine */) ])), factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [exports])) @@ -105782,19 +106103,19 @@ var ts; var entry = _b[_a]; var importVariableName = ts.getLocalNameForExternalImport(factory, entry, currentSourceFile); // TODO: GH#18217 switch (entry.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: if (!entry.importClause) { // 'import "..."' case // module is imported only for side-effects, no emit required break; } // falls through - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: ts.Debug.assert(importVariableName !== undefined); // save import into the local statements.push(factory.createExpressionStatement(factory.createAssignment(importVariableName, parameterName))); break; - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { if (ts.isNamedExports(entry.exportClause)) { @@ -105853,13 +106174,13 @@ var ts; */ function topLevelVisitor(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return visitImportDeclaration(node); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return visitExportDeclaration(node); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); default: return topLevelNestedVisitor(node); @@ -105935,7 +106256,7 @@ var ts; * @param node The node to visit. */ function visitFunctionDeclaration(node) { - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, node.decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock))); @@ -105988,7 +106309,7 @@ var ts; return ts.visitNode(node, visitor, ts.isStatement); } var expressions; - var isExportedDeclaration = ts.hasSyntacticModifier(node, 1 /* Export */); + var isExportedDeclaration = ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */); var isMarkedDeclaration = hasAssociatedEndOfDeclarationMarker(node); for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { var variable = _a[_i]; @@ -106038,9 +106359,9 @@ var ts; */ function shouldHoistVariableDeclarationList(node) { // hoist only non-block scoped declarations or block scoped declarations parented by source file - return (ts.getEmitFlags(node) & 2097152 /* NoHoisting */) === 0 - && (enclosingBlockScopedContainer.kind === 305 /* SourceFile */ - || (ts.getOriginalNode(node).flags & 3 /* BlockScoped */) === 0); + return (ts.getEmitFlags(node) & 2097152 /* EmitFlags.NoHoisting */) === 0 + && (enclosingBlockScopedContainer.kind === 305 /* SyntaxKind.SourceFile */ + || (ts.getOriginalNode(node).flags & 3 /* NodeFlags.BlockScoped */) === 0); } /** * Transform an initialized variable declaration into an expression. @@ -106051,7 +106372,7 @@ var ts; function transformInitializedVariable(node, isExportedDeclaration) { var createAssignment = isExportedDeclaration ? createExportedVariableAssignment : createNonExportedVariableAssignment; return ts.isBindingPattern(node.name) - ? ts.flattenDestructuringAssignment(node, visitor, context, 0 /* All */, + ? ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createAssignment) : node.initializer ? createAssignment(node.name, ts.visitNode(node.initializer, visitor, ts.isExpression)) : node.name; } @@ -106103,9 +106424,9 @@ var ts; // // To balance the declaration, we defer the exports of the elided variable // statement until we visit this declaration's `EndOfDeclarationMarker`. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* SyntaxKind.VariableStatement */) { var id = ts.getOriginalNodeId(node); - var isExportedDeclaration = ts.hasSyntacticModifier(node.original, 1 /* Export */); + var isExportedDeclaration = ts.hasSyntacticModifier(node.original, 1 /* ModifierFlags.Export */); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); } return node; @@ -106116,7 +106437,7 @@ var ts; * @param node The node to test. */ function hasAssociatedEndOfDeclarationMarker(node) { - return (ts.getEmitFlags(node) & 4194304 /* HasEndOfDeclarationMarker */) !== 0; + return (ts.getEmitFlags(node) & 4194304 /* EmitFlags.HasEndOfDeclarationMarker */) !== 0; } /** * Visits a DeclarationMarker used as a placeholder for the end of a transformed @@ -106165,10 +106486,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 269 /* NamedImports */: + case 269 /* SyntaxKind.NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -106262,8 +106583,8 @@ var ts; return statements; } var excludeName; - if (ts.hasSyntacticModifier(decl, 1 /* Export */)) { - var exportName = ts.hasSyntacticModifier(decl, 512 /* Default */) ? factory.createStringLiteral("default") : decl.name; + if (ts.hasSyntacticModifier(decl, 1 /* ModifierFlags.Export */)) { + var exportName = ts.hasSyntacticModifier(decl, 512 /* ModifierFlags.Default */) ? factory.createStringLiteral("default") : decl.name; statements = appendExportStatement(statements, exportName, factory.getLocalName(decl)); excludeName = ts.getTextOfIdentifierOrLiteral(exportName); } @@ -106323,7 +106644,7 @@ var ts; var statement = factory.createExpressionStatement(createExportExpression(name, value)); ts.startOnNewLine(statement); if (!allowComments) { - ts.setEmitFlags(statement, 1536 /* NoComments */); + ts.setEmitFlags(statement, 1536 /* EmitFlags.NoComments */); } return statement; } @@ -106335,7 +106656,7 @@ var ts; */ function createExportExpression(name, value) { var exportName = ts.isIdentifier(name) ? factory.createStringLiteralFromNode(name) : name; - ts.setEmitFlags(value, ts.getEmitFlags(value) | 1536 /* NoComments */); + ts.setEmitFlags(value, ts.getEmitFlags(value) | 1536 /* EmitFlags.NoComments */); return ts.setCommentRange(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [exportName, value]), value); } // @@ -106348,43 +106669,43 @@ var ts; */ function topLevelNestedVisitor(node) { switch (node.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node, /*isTopLevel*/ true); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return visitForInStatement(node); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: return visitDoStatement(node); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: return visitWhileStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: return visitWithStatement(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return visitSwitchStatement(node); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: return visitCaseBlock(node); - case 289 /* CaseClause */: + case 289 /* SyntaxKind.CaseClause */: return visitCaseClause(node); - case 290 /* DefaultClause */: + case 290 /* SyntaxKind.DefaultClause */: return visitDefaultClause(node); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: return visitTryStatement(node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return visitCatchClause(node); - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: return visitBlock(node); - case 352 /* MergeDeclarationMarker */: + case 352 /* SyntaxKind.MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 353 /* EndOfDeclarationMarker */: + case 353 /* SyntaxKind.EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return visitor(node); @@ -106566,30 +106887,30 @@ var ts; * @param node The node to visit. */ function visitorWorker(node, valueIsDiscarded) { - if (!(node.transformFlags & (4096 /* ContainsDestructuringAssignment */ | 4194304 /* ContainsDynamicImport */ | 67108864 /* ContainsUpdateExpressionForIdentifier */))) { + if (!(node.transformFlags & (4096 /* TransformFlags.ContainsDestructuringAssignment */ | 4194304 /* TransformFlags.ContainsDynamicImport */ | 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */))) { return node; } switch (node.kind) { - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return visitForStatement(node, /*isTopLevel*/ false); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, valueIsDiscarded); - case 350 /* PartiallyEmittedExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: return visitPartiallyEmittedExpression(node, valueIsDiscarded); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: if (ts.isDestructuringAssignment(node)) { return visitDestructuringAssignment(node, valueIsDiscarded); } break; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: if (ts.isImportCall(node)) { return visitImportCallExpression(node); } break; - case 219 /* PrefixUnaryExpression */: - case 220 /* PostfixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return visitPrefixOrPostfixUnaryExpression(node, valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); @@ -106639,7 +106960,7 @@ var ts; */ function visitDestructuringAssignment(node, valueIsDiscarded) { if (hasExportedReferenceInDestructuringTarget(node.left)) { - return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* All */, !valueIsDiscarded); + return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, !valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); } @@ -106669,7 +106990,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 305 /* SourceFile */; + return container !== undefined && container.kind === 305 /* SyntaxKind.SourceFile */; } else { return false; @@ -106685,7 +107006,7 @@ var ts; // - We do not transform identifiers that were originally the name of an enum or // namespace due to how they are transformed in TypeScript. // - We only transform identifiers that are exported at the top level. - if ((node.operator === 45 /* PlusPlusToken */ || node.operator === 46 /* MinusMinusToken */) + if ((node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) && ts.isIdentifier(node.operand) && !ts.isGeneratedIdentifier(node.operand) && !ts.isLocalName(node.operand) @@ -106730,8 +107051,8 @@ var ts; */ function modifierVisitor(node) { switch (node.kind) { - case 93 /* ExportKeyword */: - case 88 /* DefaultKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: return undefined; } return node; @@ -106747,7 +107068,7 @@ var ts; * @param emitCallback A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 305 /* SourceFile */) { + if (node.kind === 305 /* SyntaxKind.SourceFile */) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -106782,10 +107103,10 @@ var ts; if (isSubstitutionPrevented(node)) { return node; } - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { return substituteExpression(node); } - else if (hint === 4 /* Unspecified */) { + else if (hint === 4 /* EmitHint.Unspecified */) { return substituteUnspecified(node); } return node; @@ -106797,7 +107118,7 @@ var ts; */ function substituteUnspecified(node) { switch (node.kind) { - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return substituteShorthandPropertyAssignment(node); } return node; @@ -106832,11 +107153,11 @@ var ts; */ function substituteExpression(node) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return substituteBinaryExpression(node); - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return substituteMetaProperty(node); } return node; @@ -106848,7 +107169,7 @@ var ts; */ function substituteExpressionIdentifier(node) { var _a, _b; - if (ts.getEmitFlags(node) & 4096 /* HelperName */) { + if (ts.getEmitFlags(node) & 4096 /* EmitFlags.HelperName */) { var externalHelpersModuleName = ts.getExternalHelpersModuleName(currentSourceFile); if (externalHelpersModuleName) { return factory.createPropertyAccessExpression(externalHelpersModuleName, node); @@ -106926,7 +107247,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, /*prefixLocals*/ false); - if (exportContainer && exportContainer.kind === 305 /* SourceFile */) { + if (exportContainer && exportContainer.kind === 305 /* SyntaxKind.SourceFile */) { exportedNames = ts.append(exportedNames, factory.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -106969,8 +107290,8 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(305 /* SourceFile */); - context.enableSubstitution(79 /* Identifier */); + context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); + context.enableSubstitution(79 /* SyntaxKind.Identifier */); var helperNameSubstitutions; var currentSourceFile; var importRequireStatements; @@ -107009,14 +107330,14 @@ var ts; } function visitor(node) { switch (node.kind) { - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: // Though an error in es2020 modules, in node-flavor es2020 modules, we can helpfully transform this to a synthetic `require` call // To give easy access to a synchronous `require` in node-flavor esm. We do the transform even in scenarios where we error, but `import.meta.url` // is available, just because the output is reasonable for a node-like runtime. return ts.getEmitScriptTarget(compilerOptions) >= ts.ModuleKind.ES2020 ? visitImportEqualsDeclaration(node) : undefined; - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: var exportDecl = node; return visitExportDeclaration(exportDecl); } @@ -107034,7 +107355,7 @@ var ts; args.push(moduleName); } if (!importRequireStatements) { - var createRequireName = factory.createUniqueName("_createRequire", 16 /* Optimistic */ | 32 /* FileLevel */); + var createRequireName = factory.createUniqueName("_createRequire", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var importStatement = factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, factory.createImportClause( @@ -107042,16 +107363,16 @@ var ts; /*name*/ undefined, factory.createNamedImports([ factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier("createRequire"), createRequireName) ])), factory.createStringLiteral("module")); - var requireHelperName = factory.createUniqueName("__require", 16 /* Optimistic */ | 32 /* FileLevel */); + var requireHelperName = factory.createUniqueName("__require", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var requireStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ factory.createVariableDeclaration(requireHelperName, /*exclamationToken*/ undefined, /*type*/ undefined, factory.createCallExpression(factory.cloneNode(createRequireName), /*typeArguments*/ undefined, [ - factory.createPropertyAccessExpression(factory.createMetaProperty(100 /* ImportKeyword */, factory.createIdentifier("meta")), factory.createIdentifier("url")) + factory.createPropertyAccessExpression(factory.createMetaProperty(100 /* SyntaxKind.ImportKeyword */, factory.createIdentifier("meta")), factory.createIdentifier("url")) ])) ], - /*flags*/ languageVersion >= 2 /* ES2015 */ ? 2 /* Const */ : 0 /* None */)); + /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)); importRequireStatements = [importStatement, requireStatement]; } var name = importRequireStatements[1].declarationList.declarations[0].name; @@ -107072,12 +107393,12 @@ var ts; /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) ], - /*flags*/ languageVersion >= 2 /* ES2015 */ ? 2 /* Const */ : 0 /* None */)), node), node)); + /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), node), node)); statements = appendExportsOfImportEqualsDeclaration(statements, node); return ts.singleOrMany(statements); } function appendExportsOfImportEqualsDeclaration(statements, node) { - if (ts.hasSyntacticModifier(node, 1 /* Export */)) { + if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { statements = ts.append(statements, factory.createExportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, node.isTypeOnly, factory.createNamedExports([factory.createExportSpecifier(/*isTypeOnly*/ false, /*propertyName*/ undefined, ts.idText(node.name))]))); @@ -107145,7 +107466,7 @@ var ts; */ function onSubstituteNode(hint, node) { node = previousOnSubstituteNode(hint, node); - if (helperNameSubstitutions && ts.isIdentifier(node) && ts.getEmitFlags(node) & 4096 /* HelperName */) { + if (helperNameSubstitutions && ts.isIdentifier(node) && ts.getEmitFlags(node) & 4096 /* EmitFlags.HelperName */) { return substituteHelperName(node); } return node; @@ -107154,7 +107475,7 @@ var ts; var name = ts.idText(node); var substitution = helperNameSubstitutions.get(name); if (!substitution) { - helperNameSubstitutions.set(name, substitution = factory.createUniqueName(name, 16 /* Optimistic */ | 32 /* FileLevel */)); + helperNameSubstitutions.set(name, substitution = factory.createUniqueName(name, 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)); } return substitution; } @@ -107177,8 +107498,8 @@ var ts; var cjsOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(305 /* SourceFile */); - context.enableEmitNotification(305 /* SourceFile */); + context.enableSubstitution(305 /* SyntaxKind.SourceFile */); + context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); var currentSourceFile; return transformSourceFileOrBundle; function onSubstituteNode(hint, node) { @@ -107225,7 +107546,7 @@ var ts; return result; } function transformSourceFileOrBundle(node) { - return node.kind === 305 /* SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 305 /* SyntaxKind.SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -107280,14 +107601,14 @@ var ts; function getAccessorNameVisibilityDiagnosticMessage(symbolAccessibilityResult) { if (ts.isStatic(node)) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 257 /* ClassDeclaration */) { + else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1; @@ -107309,14 +107630,14 @@ var ts; function getMethodNameVisibilityDiagnosticMessage(symbolAccessibilityResult) { if (ts.isStatic(node)) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 257 /* ClassDeclaration */) { + else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1; @@ -107340,7 +107661,7 @@ var ts; return getReturnTypeVisibilityError; } else if (ts.isParameter(node)) { - if (ts.isParameterPropertyDeclaration(node, node.parent) && ts.hasSyntacticModifier(node.parent, 8 /* Private */)) { + if (ts.isParameterPropertyDeclaration(node, node.parent) && ts.hasSyntacticModifier(node.parent, 8 /* ModifierFlags.Private */)) { return getVariableDeclarationTypeVisibilityError; } return getParameterDeclarationTypeVisibilityError; @@ -107358,31 +107679,31 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.SyntaxKind[node.kind])); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */) { + if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1; } // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit // The only exception here is if the constructor was marked as private. we are not emitting the constructor parameters at all. - else if (node.kind === 167 /* PropertyDeclaration */ || node.kind === 206 /* PropertyAccessExpression */ || node.kind === 166 /* PropertySignature */ || - (node.kind === 164 /* Parameter */ && ts.hasSyntacticModifier(node.parent, 8 /* Private */))) { + else if (node.kind === 167 /* SyntaxKind.PropertyDeclaration */ || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || node.kind === 166 /* SyntaxKind.PropertySignature */ || + (node.kind === 164 /* SyntaxKind.Parameter */ && ts.hasSyntacticModifier(node.parent, 8 /* ModifierFlags.Private */))) { // TODO(jfreeman): Deal with computed properties in error reporting. if (ts.isStatic(node)) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 257 /* ClassDeclaration */ || node.kind === 164 /* Parameter */) { + else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 164 /* SyntaxKind.Parameter */) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1; @@ -107405,7 +107726,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 173 /* SetAccessor */) { + if (node.kind === 173 /* SyntaxKind.SetAccessor */) { // Getters can infer the return type from the returned expression, but setters cannot, so the // "_from_external_module_1_but_cannot_be_named" case cannot occur. if (ts.isStatic(node)) { @@ -107422,14 +107743,14 @@ var ts; else { if (ts.isStatic(node)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1; @@ -107444,36 +107765,36 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 175 /* ConstructSignature */: + case 175 /* SyntaxKind.ConstructSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 176 /* IndexSignature */: + case 176 /* SyntaxKind.IndexSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: if (ts.isStatic(node)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 257 /* ClassDeclaration */) { + else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0; @@ -107485,9 +107806,9 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; @@ -107510,40 +107831,40 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 175 /* ConstructSignature */: - case 180 /* ConstructorType */: + case 175 /* SyntaxKind.ConstructSignature */: + case 180 /* SyntaxKind.ConstructorType */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 176 /* IndexSignature */: + case 176 /* SyntaxKind.IndexSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: if (ts.isStatic(node.parent)) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 257 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; @@ -107554,61 +107875,61 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 256 /* FunctionDeclaration */: - case 179 /* FunctionType */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 179 /* SyntaxKind.FunctionType */: return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; - case 173 /* SetAccessor */: - case 172 /* GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: return symbolAccessibilityResult.errorModuleName ? - symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? + symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1; default: - return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]); + return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.SyntaxKind[node.parent.kind])); } } function getTypeParameterConstraintVisibilityError() { // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage; switch (node.parent.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1; break; - case 180 /* ConstructorType */: - case 175 /* ConstructSignature */: + case 180 /* SyntaxKind.ConstructorType */: + case 175 /* SyntaxKind.ConstructSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: if (ts.isStatic(node.parent)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 257 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 179 /* FunctionType */: - case 256 /* FunctionDeclaration */: + case 179 /* SyntaxKind.FunctionType */: + case 256 /* SyntaxKind.FunctionDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: @@ -107625,7 +107946,7 @@ var ts; // Heritage clause is written by user so it can always be named if (ts.isClassDeclaration(node.parent.parent)) { // Class or Interface implemented/extended is inaccessible - diagnosticMessage = ts.isHeritageClause(node.parent) && node.parent.token === 117 /* ImplementsKeyword */ ? + diagnosticMessage = ts.isHeritageClause(node.parent) && node.parent.token === 117 /* SyntaxKind.ImplementsKeyword */ ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : node.parent.parent.name ? ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1 : ts.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0; @@ -107674,7 +107995,7 @@ var ts; } function isInternalDeclaration(node, currentSourceFile) { var parseTreeNode = ts.getParseTreeNode(node); - if (parseTreeNode && parseTreeNode.kind === 164 /* Parameter */) { + if (parseTreeNode && parseTreeNode.kind === 164 /* SyntaxKind.Parameter */) { var paramIdx = parseTreeNode.parent.parameters.indexOf(parseTreeNode); var previousSibling = paramIdx > 0 ? parseTreeNode.parent.parameters[paramIdx - 1] : undefined; var text = currentSourceFile.text; @@ -107693,13 +108014,13 @@ var ts; }); } ts.isInternalDeclaration = isInternalDeclaration; - var declarationEmitNodeBuilderFlags = 1024 /* MultilineObjectLiterals */ | - 2048 /* WriteClassExpressionAsTypeLiteral */ | - 4096 /* UseTypeOfFunction */ | - 8 /* UseStructuralFallback */ | - 524288 /* AllowEmptyTuple */ | - 4 /* GenerateNamesForShadowedTypeParams */ | - 1 /* NoTruncation */; + var declarationEmitNodeBuilderFlags = 1024 /* NodeBuilderFlags.MultilineObjectLiterals */ | + 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */ | + 4096 /* NodeBuilderFlags.UseTypeOfFunction */ | + 8 /* NodeBuilderFlags.UseStructuralFallback */ | + 524288 /* NodeBuilderFlags.AllowEmptyTuple */ | + 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */ | + 1 /* NodeBuilderFlags.NoTruncation */; /** * Transforms a ts file into a .d.ts file * This process requires type information, which is retrieved through the emit resolver. Because of this, @@ -107758,7 +108079,7 @@ var ts; } function trackReferencedAmbientModule(node, symbol) { // If it is visible via `// `, then we should just use that - var directives = resolver.getTypeReferenceDirectivesForSymbol(symbol, 67108863 /* All */); + var directives = resolver.getTypeReferenceDirectivesForSymbol(symbol, 67108863 /* SymbolFlags.All */); if (ts.length(directives)) { return recordTypeReferenceDirectivesIfNecessary(directives); } @@ -107767,7 +108088,7 @@ var ts; refs.set(ts.getOriginalNodeId(container), container); } function handleSymbolAccessibilityError(symbolAccessibilityResult) { - if (symbolAccessibilityResult.accessibility === 0 /* Accessible */) { + if (symbolAccessibilityResult.accessibility === 0 /* SymbolAccessibility.Accessible */) { // Add aliases back onto the possible imports list if they're not there so we can try them again with updated visibility info if (symbolAccessibilityResult && symbolAccessibilityResult.aliasesToMakeVisible) { if (!lateMarkedStatements) { @@ -107803,7 +108124,7 @@ var ts; } } function trackSymbol(symbol, enclosingDeclaration, meaning) { - if (symbol.flags & 262144 /* TypeParameter */) + if (symbol.flags & 262144 /* SymbolFlags.TypeParameter */) return false; var issuedDiagnostic = handleSymbolAccessibilityError(resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning, /*shouldComputeAliasesToMakeVisible*/ true)); recordTypeReferenceDirectivesIfNecessary(resolver.getTypeReferenceDirectivesForSymbol(symbol, meaning)); @@ -107874,10 +108195,10 @@ var ts; return result; } function transformRoot(node) { - if (node.kind === 305 /* SourceFile */ && node.isDeclarationFile) { + if (node.kind === 305 /* SyntaxKind.SourceFile */ && node.isDeclarationFile) { return node; } - if (node.kind === 306 /* Bundle */) { + if (node.kind === 306 /* SyntaxKind.Bundle */) { isBundledEmit = true; refs = new ts.Map(); libs = new ts.Map(); @@ -107900,14 +108221,14 @@ var ts; resultHasExternalModuleIndicator = false; // unused in external module bundle emit (all external modules are within module blocks, therefore are known to be modules) needsDeclare = false; var statements = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile, /*bundled*/ true)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements); - var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([], [factory.createModifier(135 /* DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); + var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([], [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); return newFile; } needsDeclare = true; var updated = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return factory.updateSourceFile(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 308 /* InputFiles */) { + if (prepend.kind === 308 /* SyntaxKind.InputFiles */) { var sourceFile = ts.createUnparsedSourceFile(prepend, "dts", stripInternal); hasNoDefaultLib_1 = hasNoDefaultLib_1 || !!sourceFile.hasNoDefaultLib; collectReferences(sourceFile, refs); @@ -108044,11 +108365,11 @@ var ts; return ret; } function filterBindingPatternInitializers(name) { - if (name.kind === 79 /* Identifier */) { + if (name.kind === 79 /* SyntaxKind.Identifier */) { return name; } else { - if (name.kind === 202 /* ArrayBindingPattern */) { + if (name.kind === 202 /* SyntaxKind.ArrayBindingPattern */) { return factory.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -108056,7 +108377,7 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 227 /* OmittedExpression */) { + if (elem.kind === 227 /* SyntaxKind.OmittedExpression */) { return elem; } return factory.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -108069,7 +108390,7 @@ var ts; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(p); } var newParam = factory.updateParameterDeclaration(p, - /*decorators*/ undefined, maskModifiers(p, modifierMask), p.dotDotDotToken, filterBindingPatternInitializers(p.name), resolver.isOptionalParameter(p) ? (p.questionToken || factory.createToken(57 /* QuestionToken */)) : undefined, ensureType(p, type || p.type, /*ignorePrivate*/ true), // Ignore private param props, since this type is going straight back into a param + /*decorators*/ undefined, maskModifiers(p, modifierMask), p.dotDotDotToken, filterBindingPatternInitializers(p.name), resolver.isOptionalParameter(p) ? (p.questionToken || factory.createToken(57 /* SyntaxKind.QuestionToken */)) : undefined, ensureType(p, type || p.type, /*ignorePrivate*/ true), // Ignore private param props, since this type is going straight back into a param ensureNoInitializer(p)); if (!suppressNewDiagnosticContexts) { getSymbolAccessibilityDiagnostic = oldDiag; @@ -108086,7 +108407,7 @@ var ts; return undefined; } function ensureType(node, type, ignorePrivate) { - if (!ignorePrivate && ts.hasEffectiveModifier(node, 8 /* Private */)) { + if (!ignorePrivate && ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */)) { // Private nodes emit no types (except private parameter properties, whose parameter types are actually visible) return; } @@ -108094,19 +108415,19 @@ var ts; // Literal const declarations will have an initializer ensured rather than a type return; } - var shouldUseResolverType = node.kind === 164 /* Parameter */ && + var shouldUseResolverType = node.kind === 164 /* SyntaxKind.Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { return ts.visitNode(type, visitDeclarationSubtree); } if (!ts.getParseTreeNode(node)) { - return type ? ts.visitNode(type, visitDeclarationSubtree) : factory.createKeywordTypeNode(130 /* AnyKeyword */); + return type ? ts.visitNode(type, visitDeclarationSubtree) : factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } - if (node.kind === 173 /* SetAccessor */) { + if (node.kind === 173 /* SyntaxKind.SetAccessor */) { // Set accessors with no associated type node (from it's param or get accessor return) are `any` since they are never contextually typed right now // (The inferred type here will be void, but the old declaration emitter printed `any`, so this replicates that) - return factory.createKeywordTypeNode(130 /* AnyKeyword */); + return factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } errorNameNode = node.name; var oldDiag; @@ -108114,12 +108435,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 254 /* VariableDeclaration */ || node.kind === 203 /* BindingElement */) { + if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 164 /* Parameter */ - || node.kind === 167 /* PropertyDeclaration */ - || node.kind === 166 /* PropertySignature */) { + if (node.kind === 164 /* SyntaxKind.Parameter */ + || node.kind === 167 /* SyntaxKind.PropertyDeclaration */ + || node.kind === 166 /* SyntaxKind.PropertySignature */) { if (!node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -108130,28 +108451,28 @@ var ts; if (!suppressNewDiagnosticContexts) { getSymbolAccessibilityDiagnostic = oldDiag; } - return returnValue || factory.createKeywordTypeNode(130 /* AnyKeyword */); + return returnValue || factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } } function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 261 /* ModuleDeclaration */: - case 258 /* InterfaceDeclaration */: - case 257 /* ClassDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 260 /* EnumDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return !resolver.isDeclarationVisible(node); // The following should be doing their own visibility checks based on filtering their members - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return !getBindingNameVisible(node); - case 265 /* ImportEqualsDeclaration */: - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: - case 271 /* ExportAssignment */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: return false; - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return true; } return false; @@ -108178,7 +108499,7 @@ var ts; } } function updateParamsList(node, params, modifierMask) { - if (ts.hasEffectiveModifier(node, 8 /* Private */)) { + if (ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */)) { return undefined; // TODO: GH#18217 } var newParams = ts.map(params, function (p) { return ensureParameter(p, modifierMask); }); @@ -108215,7 +108536,7 @@ var ts; return factory.createNodeArray(newParams || ts.emptyArray); } function ensureTypeParams(node, params) { - return ts.hasEffectiveModifier(node, 8 /* Private */) ? undefined : ts.visitNodes(params, visitDeclarationSubtree); + return ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */) ? undefined : ts.visitNodes(params, visitDeclarationSubtree); } function isEnclosingDeclaration(node) { return ts.isSourceFile(node) @@ -108241,7 +108562,7 @@ var ts; function rewriteModuleSpecifier(parent, input) { if (!input) return undefined; // TODO: GH#18217 - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 261 /* ModuleDeclaration */ && parent.kind !== 200 /* ImportType */); + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 261 /* SyntaxKind.ModuleDeclaration */ && parent.kind !== 200 /* SyntaxKind.ImportType */); if (ts.isStringLiteralLike(input)) { if (isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); @@ -108261,7 +108582,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 277 /* ExternalModuleReference */) { + if (decl.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return factory.updateImportEqualsDeclaration(decl, @@ -108279,34 +108600,44 @@ var ts; if (!decl.importClause) { // import "mod" - possibly needed for side effects? (global interface patches, module augmentations, etc) return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, decl.importClause, rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); + /*decorators*/ undefined, decl.modifiers, decl.importClause, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // The `importClause` visibility corresponds to the default's visibility. var visibleDefaultBinding = decl.importClause && decl.importClause.name && resolver.isDeclarationVisible(decl.importClause) ? decl.importClause.name : undefined; if (!decl.importClause.namedBindings) { // No named bindings (either namespace or list), meaning the import is just default or should be elided return visibleDefaultBinding && factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, - /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); + /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } - if (decl.importClause.namedBindings.kind === 268 /* NamespaceImport */) { + if (decl.importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; - return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined) : undefined; + return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)) : undefined; } // Named imports (optionally with visible default) var bindingList = ts.mapDefined(decl.importClause.namedBindings.elements, function (b) { return resolver.isDeclarationVisible(b) ? b : undefined; }); if ((bindingList && bindingList.length) || visibleDefaultBinding) { return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, bindingList && bindingList.length ? factory.updateNamedImports(decl.importClause.namedBindings, bindingList) : undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); + /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, bindingList && bindingList.length ? factory.updateNamedImports(decl.importClause.namedBindings, bindingList) : undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // Augmentation of export depends on import if (resolver.isImportRequiredByAugmentation(decl)) { return factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, - /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), ts.getResolutionModeOverrideForClause(decl.assertClause) ? decl.assertClause : undefined); + /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // Nothing visible } + function getResolutionModeOverrideForClauseInNightly(assertClause) { + var mode = ts.getResolutionModeOverrideForClause(assertClause); + if (mode !== undefined) { + if (!ts.isNightly()) { + context.addDiagnostic(ts.createDiagnosticForNode(assertClause, ts.Diagnostics.Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)); + } + return assertClause; + } + return undefined; + } function transformAndReplaceLatePaintedStatements(statements) { // This is a `while` loop because `handleSymbolAccessibilityError` can see additional import aliases marked as visible during // error handling which must now be included in the output and themselves checked for errors. @@ -108325,7 +108656,7 @@ var ts; while (ts.length(lateMarkedStatements)) { var i = lateMarkedStatements.shift(); if (!ts.isLateVisibilityPaintedStatement(i)) { - return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: " + (ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); + return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); } var priorNeedsDeclare = needsDeclare; needsDeclare = i.parent && ts.isSourceFile(i.parent) && !(ts.isExternalModule(i.parent) && isBundledEmit); @@ -108383,10 +108714,10 @@ var ts; // We'd see a TDZ violation at runtime var canProduceDiagnostic = ts.canProduceDiagnostics(input); var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 182 /* TypeLiteral */ || input.kind === 195 /* MappedType */) && input.parent.kind !== 259 /* TypeAliasDeclaration */); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 182 /* SyntaxKind.TypeLiteral */ || input.kind === 195 /* SyntaxKind.MappedType */) && input.parent.kind !== 259 /* SyntaxKind.TypeAliasDeclaration */); // Emit methods which are private as properties with no type information if (ts.isMethodDeclaration(input) || ts.isMethodSignature(input)) { - if (ts.hasEffectiveModifier(input, 8 /* Private */)) { + if (ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)) { if (input.symbol && input.symbol.declarations && input.symbol.declarations[0] !== input) return; // Elide all but the first overload return cleanup(factory.createPropertyDeclaration(/*decorators*/ undefined, ensureModifiers(input), input.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); @@ -108404,29 +108735,29 @@ var ts; } if (isProcessedComponent(input)) { switch (input.kind) { - case 228 /* ExpressionWithTypeArguments */: { + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(factory.updateExpressionWithTypeArguments(node, node.expression, node.typeArguments)); } - case 178 /* TypeReference */: { + case 178 /* SyntaxKind.TypeReference */: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(factory.updateTypeReferenceNode(node, node.typeName, node.typeArguments)); } - case 175 /* ConstructSignature */: + case 175 /* SyntaxKind.ConstructSignature */: return cleanup(factory.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 171 /* Constructor */: { + case 171 /* SyntaxKind.Constructor */: { // A constructor declaration may not have a type annotation var ctor = factory.createConstructorDeclaration( /*decorators*/ undefined, - /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* None */), + /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* ModifierFlags.None */), /*body*/ undefined); return cleanup(ctor); } - case 169 /* MethodDeclaration */: { + case 169 /* SyntaxKind.MethodDeclaration */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } @@ -108436,48 +108767,48 @@ var ts; /*body*/ undefined); return cleanup(sig); } - case 172 /* GetAccessor */: { + case 172 /* SyntaxKind.GetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } var accessorType = getTypeAnnotationFromAllAccessorDeclarations(input, resolver.getAllAccessorDeclarations(input)); return cleanup(factory.updateGetAccessorDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* Private */)), ensureType(input, accessorType), + /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), /*body*/ undefined)); } - case 173 /* SetAccessor */: { + case 173 /* SyntaxKind.SetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updateSetAccessorDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* Private */)), + /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), /*body*/ undefined)); } - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updatePropertyDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type), ensureNoInitializer(input))); - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type))); - case 168 /* MethodSignature */: { + case 168 /* SyntaxKind.MethodSignature */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updateMethodSignature(input, ensureModifiers(input), input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 174 /* CallSignature */: { + case 174 /* SyntaxKind.CallSignature */: { return cleanup(factory.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 176 /* IndexSignature */: { + case 176 /* SyntaxKind.IndexSignature */: { return cleanup(factory.updateIndexSignature(input, - /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(130 /* AnyKeyword */))); + /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */))); } - case 254 /* VariableDeclaration */: { + case 254 /* SyntaxKind.VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -108485,13 +108816,13 @@ var ts; suppressNewDiagnosticContexts = true; // Variable declaration types also suppress new diagnostic contexts, provided the contexts wouldn't be made for binding pattern types return cleanup(factory.updateVariableDeclaration(input, input.name, /*exclamationToken*/ undefined, ensureType(input, input.type), ensureNoInitializer(input))); } - case 163 /* TypeParameter */: { + case 163 /* SyntaxKind.TypeParameter */: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(factory.updateTypeParameterDeclaration(input, input.modifiers, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 189 /* ConditionalType */: { + case 189 /* SyntaxKind.ConditionalType */: { // We have to process conditional types in a special way because for visibility purposes we need to push a new enclosingDeclaration // just for the `infer` types in the true branch. It's an implicit declaration scope that only applies to _part_ of the type. var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); @@ -108503,22 +108834,22 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(factory.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 179 /* FunctionType */: { + case 179 /* SyntaxKind.FunctionType */: { return cleanup(factory.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 180 /* ConstructorType */: { + case 180 /* SyntaxKind.ConstructorType */: { return cleanup(factory.updateConstructorTypeNode(input, ensureModifiers(input), ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 200 /* ImportType */: { + case 200 /* SyntaxKind.ImportType */: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.assertions, input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); } - default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: " + ts.SyntaxKind[input.kind]); + default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.SyntaxKind[input.kind])); } } if (ts.isTupleTypeNode(input) && (ts.getLineAndCharacterOfPosition(currentSourceFile, input.pos).line === ts.getLineAndCharacterOfPosition(currentSourceFile, input.end).line)) { - ts.setEmitFlags(input, 1 /* SingleLine */); + ts.setEmitFlags(input, 1 /* EmitFlags.SingleLine */); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); function cleanup(returnValue) { @@ -108541,7 +108872,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 169 /* MethodDeclaration */ && ts.hasEffectiveModifier(node.parent, 8 /* Private */); + return node.parent.kind === 169 /* SyntaxKind.MethodDeclaration */ && ts.hasEffectiveModifier(node.parent, 8 /* ModifierFlags.Private */); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -108551,7 +108882,7 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 272 /* ExportDeclaration */: { + case 272 /* SyntaxKind.ExportDeclaration */: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; } @@ -108561,17 +108892,17 @@ var ts; return factory.updateExportDeclaration(input, /*decorators*/ undefined, input.modifiers, input.isTypeOnly, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier), ts.getResolutionModeOverrideForClause(input.assertClause) ? input.assertClause : undefined); } - case 271 /* ExportAssignment */: { + case 271 /* SyntaxKind.ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; } resultHasScopeMarker = true; - if (input.expression.kind === 79 /* Identifier */) { + if (input.expression.kind === 79 /* SyntaxKind.Identifier */) { return input; } else { - var newId = factory.createUniqueName("_default", 16 /* Optimistic */); + var newId = factory.createUniqueName("_default", 16 /* GeneratedIdentifierFlags.Optimistic */); getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0, errorNode: input @@ -108579,7 +108910,9 @@ var ts; errorFallbackNode = input; var varDecl = factory.createVariableDeclaration(newId, /*exclamationToken*/ undefined, resolver.createTypeOfExpression(input.expression, input, declarationEmitNodeBuilderFlags, symbolTracker), /*initializer*/ undefined); errorFallbackNode = undefined; - var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* Const */)); + var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); + preserveJsDoc(statement, input); + ts.removeAllComments(input); return [statement, factory.updateExportAssignment(input, input.decorators, input.modifiers, newId)]; } } @@ -108590,22 +108923,26 @@ var ts; return input; } function stripExportModifiers(statement) { - if (ts.isImportEqualsDeclaration(statement) || ts.hasEffectiveModifier(statement, 512 /* Default */) || !ts.canHaveModifiers(statement)) { + if (ts.isImportEqualsDeclaration(statement) || ts.hasEffectiveModifier(statement, 512 /* ModifierFlags.Default */) || !ts.canHaveModifiers(statement)) { // `export import` statements should remain as-is, as imports are _not_ implicitly exported in an ambient namespace // Likewise, `export default` classes and the like and just be `default`, so we preserve their `export` modifiers, too return statement; } - var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (125951 /* All */ ^ 1 /* Export */)); + var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (125951 /* ModifierFlags.All */ ^ 1 /* ModifierFlags.Export */)); return factory.updateModifiers(statement, modifiers); } function transformTopLevelDeclaration(input) { + if (lateMarkedStatements) { + while (ts.orderedRemoveItem(lateMarkedStatements, input)) + ; + } if (shouldStripInternal(input)) return; switch (input.kind) { - case 265 /* ImportEqualsDeclaration */: { + case 265 /* SyntaxKind.ImportEqualsDeclaration */: { return transformImportEqualsDeclaration(input); } - case 266 /* ImportDeclaration */: { + case 266 /* SyntaxKind.ImportDeclaration */: { return transformImportDeclaration(input); } } @@ -108626,14 +108963,14 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 259 /* TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all + case 259 /* SyntaxKind.TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all return cleanup(factory.updateTypeAliasDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 258 /* InterfaceDeclaration */: { + case 258 /* SyntaxKind.InterfaceDeclaration */: { return cleanup(factory.updateInterfaceDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 256 /* FunctionDeclaration */: { + case 256 /* SyntaxKind.FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type var clean = cleanup(factory.updateFunctionDeclaration(input, /*decorators*/ undefined, ensureModifiers(input), @@ -108642,7 +108979,7 @@ var ts; if (clean && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { var props = resolver.getPropertiesOfContainerFunction(input); // Use parseNodeFactory so it is usable as an enclosing declaration - var fakespace_1 = ts.parseNodeFactory.createModuleDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, clean.name || factory.createIdentifier("_default"), factory.createModuleBlock([]), 16 /* Namespace */); + var fakespace_1 = ts.parseNodeFactory.createModuleDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, clean.name || factory.createIdentifier("_default"), factory.createModuleBlock([]), 16 /* NodeFlags.Namespace */); ts.setParent(fakespace_1, enclosingDeclaration); fakespace_1.locals = ts.createSymbolTable(props); fakespace_1.symbol = props[0].parent; @@ -108661,10 +108998,10 @@ var ts; exportMappings_1.push([name, nameStr]); } var varDecl = factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, type, /*initializer*/ undefined); - return factory.createVariableStatement(isNonContextualKeywordName ? undefined : [factory.createToken(93 /* ExportKeyword */)], factory.createVariableDeclarationList([varDecl])); + return factory.createVariableStatement(isNonContextualKeywordName ? undefined : [factory.createToken(93 /* SyntaxKind.ExportKeyword */)], factory.createVariableDeclarationList([varDecl])); }); if (!exportMappings_1.length) { - declarations = ts.mapDefined(declarations, function (declaration) { return factory.updateModifiers(declaration, 0 /* None */); }); + declarations = ts.mapDefined(declarations, function (declaration) { return factory.updateModifiers(declaration, 0 /* ModifierFlags.None */); }); } else { declarations.push(factory.createExportDeclaration( @@ -108675,11 +109012,11 @@ var ts; return factory.createExportSpecifier(/*isTypeOnly*/ false, gen, exp); })))); } - var namespaceDecl = factory.createModuleDeclaration(/*decorators*/ undefined, ensureModifiers(input), input.name, factory.createModuleBlock(declarations), 16 /* Namespace */); - if (!ts.hasEffectiveModifier(clean, 512 /* Default */)) { + var namespaceDecl = factory.createModuleDeclaration(/*decorators*/ undefined, ensureModifiers(input), input.name, factory.createModuleBlock(declarations), 16 /* NodeFlags.Namespace */); + if (!ts.hasEffectiveModifier(clean, 512 /* ModifierFlags.Default */)) { return [clean, namespaceDecl]; } - var modifiers = factory.createModifiersFromModifierFlags((ts.getEffectiveModifierFlags(clean) & ~513 /* ExportDefault */) | 2 /* Ambient */); + var modifiers = factory.createModifiersFromModifierFlags((ts.getEffectiveModifierFlags(clean) & ~513 /* ModifierFlags.ExportDefault */) | 2 /* ModifierFlags.Ambient */); var cleanDeclaration = factory.updateFunctionDeclaration(clean, /*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, clean.name, clean.typeParameters, clean.parameters, clean.type, @@ -108700,17 +109037,17 @@ var ts; return clean; } } - case 261 /* ModuleDeclaration */: { + case 261 /* SyntaxKind.ModuleDeclaration */: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 262 /* ModuleBlock */) { + if (inner && inner.kind === 262 /* SyntaxKind.ModuleBlock */) { var oldNeedsScopeFix = needsScopeFixMarker; var oldHasScopeFix = resultHasScopeMarker; resultHasScopeMarker = false; needsScopeFixMarker = false; var statements = ts.visitNodes(inner.statements, visitDeclarationStatements); var lateStatements = transformAndReplaceLatePaintedStatements(statements); - if (input.flags & 16777216 /* Ambient */) { + if (input.flags & 16777216 /* NodeFlags.Ambient */) { needsScopeFixMarker = false; // If it was `declare`'d everything is implicitly exported already, ignore late printed "privates" } // With the final list of statements, there are 3 possibilities: @@ -108746,7 +109083,7 @@ var ts; /*decorators*/ undefined, mods, input.name, body)); } } - case 257 /* ClassDeclaration */: { + case 257 /* SyntaxKind.ClassDeclaration */: { errorNameNode = input.name; errorFallbackNode = input; var modifiers = factory.createNodeArray(ensureModifiers(input)); @@ -108756,10 +109093,10 @@ var ts; if (ctor) { var oldDiag_1 = getSymbolAccessibilityDiagnostic; parameterProperties = ts.compact(ts.flatMap(ctor.parameters, function (param) { - if (!ts.hasSyntacticModifier(param, 16476 /* ParameterPropertyModifier */) || shouldStripInternal(param)) + if (!ts.hasSyntacticModifier(param, 16476 /* ModifierFlags.ParameterPropertyModifier */) || shouldStripInternal(param)) return; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(param); - if (param.name.kind === 79 /* Identifier */) { + if (param.name.kind === 79 /* SyntaxKind.Identifier */) { return preserveJsDoc(factory.createPropertyDeclaration( /*decorators*/ undefined, ensureModifiers(param), param.name, param.questionToken, ensureType(param, param.type), ensureNoInitializer(param)), param); } @@ -108801,26 +109138,26 @@ var ts; var memberNodes = ts.concatenate(ts.concatenate(privateIdentifier, parameterProperties), ts.visitNodes(input.members, visitDeclarationSubtree)); var members = factory.createNodeArray(memberNodes); var extendsClause_1 = ts.getEffectiveBaseTypeNode(input); - if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104 /* NullKeyword */) { + if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104 /* SyntaxKind.NullKeyword */) { // We must add a temporary declaration for the extends clause expression var oldId = input.name ? ts.unescapeLeadingUnderscores(input.name.escapedText) : "default"; - var newId_1 = factory.createUniqueName(oldId + "_base", 16 /* Optimistic */); + var newId_1 = factory.createUniqueName("".concat(oldId, "_base"), 16 /* GeneratedIdentifierFlags.Optimistic */); getSymbolAccessibilityDiagnostic = function () { return ({ diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1, errorNode: extendsClause_1, typeName: input.name }); }; var varDecl = factory.createVariableDeclaration(newId_1, /*exclamationToken*/ undefined, resolver.createTypeOfExpression(extendsClause_1.expression, input, declarationEmitNodeBuilderFlags, symbolTracker), /*initializer*/ undefined); - var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* Const */)); + var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); var heritageClauses = factory.createNodeArray(ts.map(input.heritageClauses, function (clause) { - if (clause.token === 94 /* ExtendsKeyword */) { + if (clause.token === 94 /* SyntaxKind.ExtendsKeyword */) { var oldDiag_2 = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(clause.types[0]); var newClause = factory.updateHeritageClause(clause, ts.map(clause.types, function (t) { return factory.updateExpressionWithTypeArguments(t, newId_1, ts.visitNodes(t.typeArguments, visitDeclarationSubtree)); })); getSymbolAccessibilityDiagnostic = oldDiag_2; return newClause; } - return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 104 /* NullKeyword */; })), visitDeclarationSubtree)); + return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 104 /* SyntaxKind.NullKeyword */; })), visitDeclarationSubtree)); })); return [statement, cleanup(factory.updateClassDeclaration(input, /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; // TODO: GH#18217 @@ -108831,10 +109168,10 @@ var ts; /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 237 /* VariableStatement */: { + case 237 /* SyntaxKind.VariableStatement */: { return cleanup(transformVariableStatement(input)); } - case 260 /* EnumDeclaration */: { + case 260 /* SyntaxKind.EnumDeclaration */: { return cleanup(factory.updateEnumDeclaration(input, /*decorators*/ undefined, factory.createNodeArray(ensureModifiers(input)), input.name, factory.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -108845,7 +109182,7 @@ var ts; } } // Anything left unhandled is an error, so this should be unreachable - return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: " + ts.SyntaxKind[input.kind]); + return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.SyntaxKind[input.kind])); function cleanup(node) { if (isEnclosingDeclaration(input)) { enclosingDeclaration = previousEnclosingDeclaration; @@ -108853,7 +109190,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 261 /* ModuleDeclaration */) { + if (input.kind === 261 /* SyntaxKind.ModuleDeclaration */) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -108876,7 +109213,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 227 /* OmittedExpression */) { + if (e.kind === 227 /* SyntaxKind.OmittedExpression */) { return; } if (e.name) { @@ -108924,12 +109261,12 @@ var ts; return factory.createModifiersFromModifierFlags(newFlags); } function ensureModifierFlags(node) { - var mask = 125951 /* All */ ^ (4 /* Public */ | 256 /* Async */ | 16384 /* Override */); // No async and override modifiers in declaration files - var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* Ambient */ : 0 /* None */; - var parentIsFile = node.parent.kind === 305 /* SourceFile */; + var mask = 125951 /* ModifierFlags.All */ ^ (4 /* ModifierFlags.Public */ | 256 /* ModifierFlags.Async */ | 16384 /* ModifierFlags.Override */); // No async and override modifiers in declaration files + var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* ModifierFlags.Ambient */ : 0 /* ModifierFlags.None */; + var parentIsFile = node.parent.kind === 305 /* SyntaxKind.SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { - mask ^= 2 /* Ambient */; - additions = 0 /* None */; + mask ^= 2 /* ModifierFlags.Ambient */; + additions = 0 /* ModifierFlags.None */; } return maskModifierFlags(node, mask, additions); } @@ -108949,13 +109286,13 @@ var ts; } function transformHeritageClauses(nodes) { return factory.createNodeArray(ts.filter(ts.map(nodes, function (clause) { return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) { - return ts.isEntityNameExpression(t.expression) || (clause.token === 94 /* ExtendsKeyword */ && t.expression.kind === 104 /* NullKeyword */); + return ts.isEntityNameExpression(t.expression) || (clause.token === 94 /* SyntaxKind.ExtendsKeyword */ && t.expression.kind === 104 /* SyntaxKind.NullKeyword */); })), visitDeclarationSubtree)); }), function (clause) { return clause.types && !!clause.types.length; })); } } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 258 /* InterfaceDeclaration */) { + if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { return true; } return false; @@ -108965,22 +109302,22 @@ var ts; return ts.factory.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions)); } function maskModifierFlags(node, modifierMask, modifierAdditions) { - if (modifierMask === void 0) { modifierMask = 125951 /* All */ ^ 4 /* Public */; } - if (modifierAdditions === void 0) { modifierAdditions = 0 /* None */; } + if (modifierMask === void 0) { modifierMask = 125951 /* ModifierFlags.All */ ^ 4 /* ModifierFlags.Public */; } + if (modifierAdditions === void 0) { modifierAdditions = 0 /* ModifierFlags.None */; } var flags = (ts.getEffectiveModifierFlags(node) & modifierMask) | modifierAdditions; - if (flags & 512 /* Default */ && !(flags & 1 /* Export */)) { + if (flags & 512 /* ModifierFlags.Default */ && !(flags & 1 /* ModifierFlags.Export */)) { // A non-exported default is a nonsequitor - we usually try to remove all export modifiers // from statements in ambient declarations; but a default export must retain its export modifier to be syntactically valid - flags ^= 1 /* Export */; + flags ^= 1 /* ModifierFlags.Export */; } - if (flags & 512 /* Default */ && flags & 2 /* Ambient */) { - flags ^= 2 /* Ambient */; // `declare` is never required alongside `default` (and would be an error if printed) + if (flags & 512 /* ModifierFlags.Default */ && flags & 2 /* ModifierFlags.Ambient */) { + flags ^= 2 /* ModifierFlags.Ambient */; // `declare` is never required alongside `default` (and would be an error if printed) } return flags; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 172 /* GetAccessor */ + return accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? accessor.type // Getter - return type : accessor.parameters.length > 0 ? accessor.parameters[0].type // Setter parameter type @@ -108989,52 +109326,52 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - return !ts.hasEffectiveModifier(node, 8 /* Private */); - case 164 /* Parameter */: - case 254 /* VariableDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + return !ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */); + case 164 /* SyntaxKind.Parameter */: + case 254 /* SyntaxKind.VariableDeclaration */: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 261 /* ModuleDeclaration */: - case 265 /* ImportEqualsDeclaration */: - case 258 /* InterfaceDeclaration */: - case 257 /* ClassDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 260 /* EnumDeclaration */: - case 237 /* VariableStatement */: - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: - case 271 /* ExportAssignment */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 237 /* SyntaxKind.VariableStatement */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 175 /* ConstructSignature */: - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 176 /* IndexSignature */: - case 254 /* VariableDeclaration */: - case 163 /* TypeParameter */: - case 228 /* ExpressionWithTypeArguments */: - case 178 /* TypeReference */: - case 189 /* ConditionalType */: - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 200 /* ImportType */: + case 175 /* SyntaxKind.ConstructSignature */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.IndexSignature */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 163 /* SyntaxKind.TypeParameter */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 178 /* SyntaxKind.TypeReference */: + case 189 /* SyntaxKind.ConditionalType */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 200 /* SyntaxKind.ImportType */: return true; } return false; @@ -109052,7 +109389,7 @@ var ts; return ts.transformECMAScriptModule; case ts.ModuleKind.System: return ts.transformSystemModule; - case ts.ModuleKind.Node12: + case ts.ModuleKind.Node16: case ts.ModuleKind.NodeNext: return ts.transformNodeModule; default: @@ -109091,35 +109428,35 @@ var ts; if (ts.getJSXTransformEnabled(compilerOptions)) { transformers.push(ts.transformJsx); } - if (languageVersion < 99 /* ESNext */) { + if (languageVersion < 99 /* ScriptTarget.ESNext */) { transformers.push(ts.transformESNext); } - if (languageVersion < 8 /* ES2021 */) { + if (languageVersion < 8 /* ScriptTarget.ES2021 */) { transformers.push(ts.transformES2021); } - if (languageVersion < 7 /* ES2020 */) { + if (languageVersion < 7 /* ScriptTarget.ES2020 */) { transformers.push(ts.transformES2020); } - if (languageVersion < 6 /* ES2019 */) { + if (languageVersion < 6 /* ScriptTarget.ES2019 */) { transformers.push(ts.transformES2019); } - if (languageVersion < 5 /* ES2018 */) { + if (languageVersion < 5 /* ScriptTarget.ES2018 */) { transformers.push(ts.transformES2018); } - if (languageVersion < 4 /* ES2017 */) { + if (languageVersion < 4 /* ScriptTarget.ES2017 */) { transformers.push(ts.transformES2017); } - if (languageVersion < 3 /* ES2016 */) { + if (languageVersion < 3 /* ScriptTarget.ES2016 */) { transformers.push(ts.transformES2016); } - if (languageVersion < 2 /* ES2015 */) { + if (languageVersion < 2 /* ScriptTarget.ES2015 */) { transformers.push(ts.transformES2015); transformers.push(ts.transformGenerators); } transformers.push(getModuleTransformer(moduleKind)); // The ES5 transformer is last so that it can substitute expressions like `exports.default` // for ES3. - if (languageVersion < 1 /* ES5 */) { + if (languageVersion < 1 /* ScriptTarget.ES5 */) { transformers.push(ts.transformES5); } ts.addRange(transformers, customTransformers && ts.map(customTransformers.after, wrapScriptTransformerFactory)); @@ -109173,11 +109510,11 @@ var ts; * @param allowDtsFiles A value indicating whether to allow the transformation of .d.ts files. */ function transformNodes(resolver, host, factory, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(355 /* Count */); + var enabledSyntaxKindFeatures = new Array(355 /* SyntaxKind.Count */); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentStatements; - var lexicalEnvironmentFlags = 0 /* None */; + var lexicalEnvironmentFlags = 0 /* LexicalEnvironmentFlags.None */; var lexicalEnvironmentVariableDeclarationsStack = []; var lexicalEnvironmentFunctionDeclarationsStack = []; var lexicalEnvironmentStatementsStack = []; @@ -109190,7 +109527,7 @@ var ts; var emitHelpers; var onSubstituteNode = noEmitSubstitution; var onEmitNode = noEmitNotification; - var state = 0 /* Uninitialized */; + var state = 0 /* TransformationState.Uninitialized */; var diagnostics = []; // The transformation context is provided to each transformer as part of transformer // initialization. @@ -109220,13 +109557,13 @@ var ts; isEmitNotificationEnabled: isEmitNotificationEnabled, get onSubstituteNode() { return onSubstituteNode; }, set onSubstituteNode(value) { - ts.Debug.assert(state < 1 /* Initialized */, "Cannot modify transformation hooks after initialization has completed."); + ts.Debug.assert(state < 1 /* TransformationState.Initialized */, "Cannot modify transformation hooks after initialization has completed."); ts.Debug.assert(value !== undefined, "Value must not be 'undefined'"); onSubstituteNode = value; }, get onEmitNode() { return onEmitNode; }, set onEmitNode(value) { - ts.Debug.assert(state < 1 /* Initialized */, "Cannot modify transformation hooks after initialization has completed."); + ts.Debug.assert(state < 1 /* TransformationState.Initialized */, "Cannot modify transformation hooks after initialization has completed."); ts.Debug.assert(value !== undefined, "Value must not be 'undefined'"); onEmitNode = value; }, @@ -109250,17 +109587,17 @@ var ts; return node; }; // prevent modification of transformation hooks. - state = 1 /* Initialized */; + state = 1 /* TransformationState.Initialized */; // Transform each node. var transformed = []; for (var _a = 0, nodes_3 = nodes; _a < nodes_3.length; _a++) { var node = nodes_3[_a]; - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "transformNodes", node.kind === 305 /* SourceFile */ ? { path: node.path } : { kind: node.kind, pos: node.pos, end: node.end }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "transformNodes", node.kind === 305 /* SyntaxKind.SourceFile */ ? { path: node.path } : { kind: node.kind, pos: node.pos, end: node.end }); transformed.push((allowDtsFiles ? transformation : transformRoot)(node)); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } // prevent modification of the lexical environment. - state = 2 /* Completed */; + state = 2 /* TransformationState.Completed */; ts.performance.mark("afterTransform"); ts.performance.measure("transformTime", "beforeTransform", "afterTransform"); return { @@ -109278,15 +109615,15 @@ var ts; * Enables expression substitutions in the pretty printer for the provided SyntaxKind. */ function enableSubstitution(kind) { - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the transformation context after transformation has completed."); - enabledSyntaxKindFeatures[kind] |= 1 /* Substitution */; + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the transformation context after transformation has completed."); + enabledSyntaxKindFeatures[kind] |= 1 /* SyntaxKindFeatureFlags.Substitution */; } /** * Determines whether expression substitutions are enabled for the provided node. */ function isSubstitutionEnabled(node) { - return (enabledSyntaxKindFeatures[node.kind] & 1 /* Substitution */) !== 0 - && (ts.getEmitFlags(node) & 4 /* NoSubstitution */) === 0; + return (enabledSyntaxKindFeatures[node.kind] & 1 /* SyntaxKindFeatureFlags.Substitution */) !== 0 + && (ts.getEmitFlags(node) & 4 /* EmitFlags.NoSubstitution */) === 0; } /** * Emits a node with possible substitution. @@ -109296,23 +109633,23 @@ var ts; * @param emitCallback The callback used to emit the node or its substitute. */ function substituteNode(hint, node) { - ts.Debug.assert(state < 3 /* Disposed */, "Cannot substitute a node after the result is disposed."); + ts.Debug.assert(state < 3 /* TransformationState.Disposed */, "Cannot substitute a node after the result is disposed."); return node && isSubstitutionEnabled(node) && onSubstituteNode(hint, node) || node; } /** * Enables before/after emit notifications in the pretty printer for the provided SyntaxKind. */ function enableEmitNotification(kind) { - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the transformation context after transformation has completed."); - enabledSyntaxKindFeatures[kind] |= 2 /* EmitNotifications */; + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the transformation context after transformation has completed."); + enabledSyntaxKindFeatures[kind] |= 2 /* SyntaxKindFeatureFlags.EmitNotifications */; } /** * Determines whether before/after emit notifications should be raised in the pretty * printer when it emits a node. */ function isEmitNotificationEnabled(node) { - return (enabledSyntaxKindFeatures[node.kind] & 2 /* EmitNotifications */) !== 0 - || (ts.getEmitFlags(node) & 2 /* AdviseOnEmitNode */) !== 0; + return (enabledSyntaxKindFeatures[node.kind] & 2 /* SyntaxKindFeatureFlags.EmitNotifications */) !== 0 + || (ts.getEmitFlags(node) & 2 /* EmitFlags.AdviseOnEmitNode */) !== 0; } /** * Emits a node with possible emit notification. @@ -109322,7 +109659,7 @@ var ts; * @param emitCallback The callback used to emit the node. */ function emitNodeWithNotification(hint, node, emitCallback) { - ts.Debug.assert(state < 3 /* Disposed */, "Cannot invoke TransformationResult callbacks after the result is disposed."); + ts.Debug.assert(state < 3 /* TransformationState.Disposed */, "Cannot invoke TransformationResult callbacks after the result is disposed."); if (node) { // TODO: Remove check and unconditionally use onEmitNode when API is breakingly changed // (see https://github.com/microsoft/TypeScript/pull/36248/files/5062623f39120171b98870c71344b3242eb03d23#r369766739) @@ -109338,26 +109675,26 @@ var ts; * Records a hoisted variable declaration for the provided name within a lexical environment. */ function hoistVariableDeclaration(name) { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); - var decl = ts.setEmitFlags(factory.createVariableDeclaration(name), 64 /* NoNestedSourceMaps */); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); + var decl = ts.setEmitFlags(factory.createVariableDeclaration(name), 64 /* EmitFlags.NoNestedSourceMaps */); if (!lexicalEnvironmentVariableDeclarations) { lexicalEnvironmentVariableDeclarations = [decl]; } else { lexicalEnvironmentVariableDeclarations.push(decl); } - if (lexicalEnvironmentFlags & 1 /* InParameters */) { - lexicalEnvironmentFlags |= 2 /* VariablesHoistedInParameters */; + if (lexicalEnvironmentFlags & 1 /* LexicalEnvironmentFlags.InParameters */) { + lexicalEnvironmentFlags |= 2 /* LexicalEnvironmentFlags.VariablesHoistedInParameters */; } } /** * Records a hoisted function declaration within a lexical environment. */ function hoistFunctionDeclaration(func) { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); - ts.setEmitFlags(func, 1048576 /* CustomPrologue */); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); + ts.setEmitFlags(func, 1048576 /* EmitFlags.CustomPrologue */); if (!lexicalEnvironmentFunctionDeclarations) { lexicalEnvironmentFunctionDeclarations = [func]; } @@ -109369,9 +109706,9 @@ var ts; * Adds an initialization statement to the top of the lexical environment. */ function addInitializationStatement(node) { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); - ts.setEmitFlags(node, 1048576 /* CustomPrologue */); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); + ts.setEmitFlags(node, 1048576 /* EmitFlags.CustomPrologue */); if (!lexicalEnvironmentStatements) { lexicalEnvironmentStatements = [node]; } @@ -109384,8 +109721,8 @@ var ts; * are pushed onto a stack, and the related storage variables are reset. */ function startLexicalEnvironment() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); ts.Debug.assert(!lexicalEnvironmentSuspended, "Lexical environment is suspended."); // Save the current lexical environment. Rather than resizing the array we adjust the // stack size variable. This allows us to reuse existing array slots we've @@ -109399,19 +109736,19 @@ var ts; lexicalEnvironmentVariableDeclarations = undefined; lexicalEnvironmentFunctionDeclarations = undefined; lexicalEnvironmentStatements = undefined; - lexicalEnvironmentFlags = 0 /* None */; + lexicalEnvironmentFlags = 0 /* LexicalEnvironmentFlags.None */; } /** Suspends the current lexical environment, usually after visiting a parameter list. */ function suspendLexicalEnvironment() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); ts.Debug.assert(!lexicalEnvironmentSuspended, "Lexical environment is already suspended."); lexicalEnvironmentSuspended = true; } /** Resumes a suspended lexical environment, usually before visiting a function body. */ function resumeLexicalEnvironment() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); ts.Debug.assert(lexicalEnvironmentSuspended, "Lexical environment is not suspended."); lexicalEnvironmentSuspended = false; } @@ -109420,8 +109757,8 @@ var ts; * any hoisted declarations added in this environment are returned. */ function endLexicalEnvironment() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the lexical environment during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the lexical environment after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the lexical environment during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the lexical environment after transformation has completed."); ts.Debug.assert(!lexicalEnvironmentSuspended, "Lexical environment is suspended."); var statements; if (lexicalEnvironmentVariableDeclarations || @@ -109433,7 +109770,7 @@ var ts; if (lexicalEnvironmentVariableDeclarations) { var statement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList(lexicalEnvironmentVariableDeclarations)); - ts.setEmitFlags(statement, 1048576 /* CustomPrologue */); + ts.setEmitFlags(statement, 1048576 /* EmitFlags.CustomPrologue */); if (!statements) { statements = [statement]; } @@ -109476,8 +109813,8 @@ var ts; * Starts a block scope. Any existing block hoisted variables are pushed onto the stack and the related storage variables are reset. */ function startBlockScope() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot start a block scope during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot start a block scope after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot start a block scope during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot start a block scope after transformation has completed."); blockScopedVariableDeclarationsStack[blockScopeStackOffset] = blockScopedVariableDeclarations; blockScopeStackOffset++; blockScopedVariableDeclarations = undefined; @@ -109486,12 +109823,12 @@ var ts; * Ends a block scope. The previous set of block hoisted variables are restored. Any hoisted declarations are returned. */ function endBlockScope() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot end a block scope during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot end a block scope after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot end a block scope during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot end a block scope after transformation has completed."); var statements = ts.some(blockScopedVariableDeclarations) ? [ factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(blockScopedVariableDeclarations.map(function (identifier) { return factory.createVariableDeclaration(identifier); }), 1 /* Let */)) + /*modifiers*/ undefined, factory.createVariableDeclarationList(blockScopedVariableDeclarations.map(function (identifier) { return factory.createVariableDeclaration(identifier); }), 1 /* NodeFlags.Let */)) ] : undefined; blockScopeStackOffset--; blockScopedVariableDeclarations = blockScopedVariableDeclarationsStack[blockScopeStackOffset]; @@ -109505,8 +109842,8 @@ var ts; (blockScopedVariableDeclarations || (blockScopedVariableDeclarations = [])).push(name); } function requestEmitHelper(helper) { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the transformation context during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the transformation context after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the transformation context during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the transformation context after transformation has completed."); ts.Debug.assert(!helper.scoped, "Cannot request a scoped emit helper."); if (helper.dependencies) { for (var _i = 0, _a = helper.dependencies; _i < _a.length; _i++) { @@ -109517,14 +109854,14 @@ var ts; emitHelpers = ts.append(emitHelpers, helper); } function readEmitHelpers() { - ts.Debug.assert(state > 0 /* Uninitialized */, "Cannot modify the transformation context during initialization."); - ts.Debug.assert(state < 2 /* Completed */, "Cannot modify the transformation context after transformation has completed."); + ts.Debug.assert(state > 0 /* TransformationState.Uninitialized */, "Cannot modify the transformation context during initialization."); + ts.Debug.assert(state < 2 /* TransformationState.Completed */, "Cannot modify the transformation context after transformation has completed."); var helpers = emitHelpers; emitHelpers = undefined; return helpers; } function dispose() { - if (state < 3 /* Disposed */) { + if (state < 3 /* TransformationState.Disposed */) { // Clean up emit nodes on parse tree for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { var node = nodes_4[_i]; @@ -109539,7 +109876,7 @@ var ts; onEmitNode = undefined; emitHelpers = undefined; // Prevent further use of the transformation result. - state = 3 /* Disposed */; + state = 3 /* TransformationState.Disposed */; } } } @@ -109578,7 +109915,7 @@ var ts; var brackets = createBracketsMap(); /*@internal*/ function isBuildInfoFile(file) { - return ts.fileExtensionIs(file, ".tsbuildinfo" /* TsBuildInfo */); + return ts.fileExtensionIs(file, ".tsbuildinfo" /* Extension.TsBuildInfo */); } ts.isBuildInfoFile = isBuildInfoFile; /*@internal*/ @@ -109644,7 +109981,7 @@ var ts; ts.combinePaths(options.outDir, ts.getBaseFileName(configFileExtensionLess)) : configFileExtensionLess; } - return buildInfoExtensionLess + ".tsbuildinfo" /* TsBuildInfo */; + return buildInfoExtensionLess + ".tsbuildinfo" /* Extension.TsBuildInfo */; } ts.getTsBuildInfoEmitOutputFilePath = getTsBuildInfoEmitOutputFilePath; /*@internal*/ @@ -109652,7 +109989,7 @@ var ts; var outPath = ts.outFile(options); var jsFilePath = options.emitDeclarationOnly ? undefined : outPath; var sourceMapFilePath = jsFilePath && getSourceMapFilePath(jsFilePath, options); - var declarationFilePath = (forceDtsPaths || ts.getEmitDeclarations(options)) ? ts.removeFileExtension(outPath) + ".d.ts" /* Dts */ : undefined; + var declarationFilePath = (forceDtsPaths || ts.getEmitDeclarations(options)) ? ts.removeFileExtension(outPath) + ".d.ts" /* Extension.Dts */ : undefined; var declarationMapPath = declarationFilePath && ts.getAreDeclarationMapsEnabled(options) ? declarationFilePath + ".map" : undefined; var buildInfoPath = getTsBuildInfoEmitOutputFilePath(options); return { jsFilePath: jsFilePath, sourceMapFilePath: sourceMapFilePath, declarationFilePath: declarationFilePath, declarationMapPath: declarationMapPath, buildInfoPath: buildInfoPath }; @@ -109661,7 +109998,7 @@ var ts; /*@internal*/ function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 306 /* Bundle */) { + if (sourceFile.kind === 306 /* SyntaxKind.Bundle */) { return getOutputPathsForBundle(options, forceDtsPaths); } else { @@ -109669,7 +110006,7 @@ var ts; var isJsonFile = ts.isJsonSourceFile(sourceFile); // If json file emits to the same location skip writing it, if emitDeclarationOnly skip writing it var isJsonEmittedToSameLocation = isJsonFile && - ts.comparePaths(sourceFile.fileName, ownOutputFilePath, host.getCurrentDirectory(), !host.useCaseSensitiveFileNames()) === 0 /* EqualTo */; + ts.comparePaths(sourceFile.fileName, ownOutputFilePath, host.getCurrentDirectory(), !host.useCaseSensitiveFileNames()) === 0 /* Comparison.EqualTo */; var jsFilePath = options.emitDeclarationOnly || isJsonEmittedToSameLocation ? undefined : ownOutputFilePath; var sourceMapFilePath = !jsFilePath || ts.isJsonSourceFile(sourceFile) ? undefined : getSourceMapFilePath(jsFilePath, options); var declarationFilePath = (forceDtsPaths || (ts.getEmitDeclarations(options) && !isJsonFile)) ? ts.getDeclarationEmitOutputFilePath(sourceFile.fileName, host) : undefined; @@ -109683,11 +110020,11 @@ var ts; } /* @internal */ function getOutputExtension(fileName, options) { - return ts.fileExtensionIs(fileName, ".json" /* Json */) ? ".json" /* Json */ : - options.jsx === 1 /* Preserve */ && ts.fileExtensionIsOneOf(fileName, [".jsx" /* Jsx */, ".tsx" /* Tsx */]) ? ".jsx" /* Jsx */ : - ts.fileExtensionIsOneOf(fileName, [".mts" /* Mts */, ".mjs" /* Mjs */]) ? ".mjs" /* Mjs */ : - ts.fileExtensionIsOneOf(fileName, [".cts" /* Cts */, ".cjs" /* Cjs */]) ? ".cjs" /* Cjs */ : - ".js" /* Js */; + return ts.fileExtensionIs(fileName, ".json" /* Extension.Json */) ? ".json" /* Extension.Json */ : + options.jsx === 1 /* JsxEmit.Preserve */ && ts.fileExtensionIsOneOf(fileName, [".jsx" /* Extension.Jsx */, ".tsx" /* Extension.Tsx */]) ? ".jsx" /* Extension.Jsx */ : + ts.fileExtensionIsOneOf(fileName, [".mts" /* Extension.Mts */, ".mjs" /* Extension.Mjs */]) ? ".mjs" /* Extension.Mjs */ : + ts.fileExtensionIsOneOf(fileName, [".cts" /* Extension.Cts */, ".cjs" /* Extension.Cjs */]) ? ".cjs" /* Extension.Cjs */ : + ".js" /* Extension.Js */; } ts.getOutputExtension = getOutputExtension; function getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, outputDir, getCommonSourceDirectory) { @@ -109703,9 +110040,9 @@ var ts; function getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory) { if (configFile.options.emitDeclarationOnly) return undefined; - var isJsonFile = ts.fileExtensionIs(inputFileName, ".json" /* Json */); + var isJsonFile = ts.fileExtensionIs(inputFileName, ".json" /* Extension.Json */); var outputFileName = ts.changeExtension(getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, configFile.options.outDir, getCommonSourceDirectory), getOutputExtension(inputFileName, configFile.options)); - return !isJsonFile || ts.comparePaths(inputFileName, outputFileName, ts.Debug.checkDefined(configFile.options.configFilePath), ignoreCase) !== 0 /* EqualTo */ ? + return !isJsonFile || ts.comparePaths(inputFileName, outputFileName, ts.Debug.checkDefined(configFile.options.configFilePath), ignoreCase) !== 0 /* Comparison.EqualTo */ ? outputFileName : undefined; } @@ -109730,20 +110067,20 @@ var ts; addOutput(buildInfoPath); } function getOwnOutputFileNames(configFile, inputFileName, ignoreCase, addOutput, getCommonSourceDirectory) { - if (ts.fileExtensionIs(inputFileName, ".d.ts" /* Dts */)) + if (ts.isDeclarationFileName(inputFileName)) return; var js = getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory); addOutput(js); - if (ts.fileExtensionIs(inputFileName, ".json" /* Json */)) + if (ts.fileExtensionIs(inputFileName, ".json" /* Extension.Json */)) return; if (js && configFile.options.sourceMap) { - addOutput(js + ".map"); + addOutput("".concat(js, ".map")); } if (ts.getEmitDeclarations(configFile.options)) { var dts = getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory); addOutput(dts); if (configFile.options.declarationMap) { - addOutput(dts + ".map"); + addOutput("".concat(dts, ".map")); } } } @@ -109775,7 +110112,7 @@ var ts; /*@internal*/ function getCommonSourceDirectoryOfConfig(_a, ignoreCase) { var options = _a.options, fileNames = _a.fileNames; - return getCommonSourceDirectory(options, function () { return ts.filter(fileNames, function (file) { return !(options.noEmitForJsFiles && ts.fileExtensionIsOneOf(file, ts.supportedJSExtensionsFlat)) && !ts.fileExtensionIs(file, ".d.ts" /* Dts */); }); }, ts.getDirectoryPath(ts.normalizeSlashes(ts.Debug.checkDefined(options.configFilePath))), ts.createGetCanonicalFileName(!ignoreCase)); + return getCommonSourceDirectory(options, function () { return ts.filter(fileNames, function (file) { return !(options.noEmitForJsFiles && ts.fileExtensionIsOneOf(file, ts.supportedJSExtensionsFlat)) && !ts.isDeclarationFileName(file); }); }, ts.getDirectoryPath(ts.normalizeSlashes(ts.Debug.checkDefined(options.configFilePath))), ts.createGetCanonicalFileName(!ignoreCase)); } ts.getCommonSourceDirectoryOfConfig = getCommonSourceDirectoryOfConfig; /*@internal*/ @@ -109812,17 +110149,17 @@ var ts; function getFirstProjectOutput(configFile, ignoreCase) { if (ts.outFile(configFile.options)) { var jsFilePath = getOutputPathsForBundle(configFile.options, /*forceDtsPaths*/ false).jsFilePath; - return ts.Debug.checkDefined(jsFilePath, "project " + configFile.options.configFilePath + " expected to have at least one output"); + return ts.Debug.checkDefined(jsFilePath, "project ".concat(configFile.options.configFilePath, " expected to have at least one output")); } var getCommonSourceDirectory = ts.memoize(function () { return getCommonSourceDirectoryOfConfig(configFile, ignoreCase); }); for (var _a = 0, _b = configFile.fileNames; _a < _b.length; _a++) { var inputFileName = _b[_a]; - if (ts.fileExtensionIs(inputFileName, ".d.ts" /* Dts */)) + if (ts.isDeclarationFileName(inputFileName)) continue; var jsFilePath = getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory); if (jsFilePath) return jsFilePath; - if (ts.fileExtensionIs(inputFileName, ".json" /* Json */)) + if (ts.fileExtensionIs(inputFileName, ".json" /* Extension.Json */)) continue; if (ts.getEmitDeclarations(configFile.options)) { return getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory); @@ -109831,7 +110168,7 @@ var ts; var buildInfoPath = getTsBuildInfoEmitOutputFilePath(configFile.options); if (buildInfoPath) return buildInfoPath; - return ts.Debug.fail("project " + configFile.options.configFilePath + " expected to have at least one output"); + return ts.Debug.fail("project ".concat(configFile.options.configFilePath, " expected to have at least one output")); } ts.getFirstProjectOutput = getFirstProjectOutput; /*@internal*/ @@ -109869,13 +110206,13 @@ var ts; sourceFiles: sourceFileOrBundle.sourceFiles.map(function (file) { return relativeToBuildInfo(ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory())); }) }; } - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "emitJsFileOrBundle", { jsFilePath: jsFilePath }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emitJsFileOrBundle", { jsFilePath: jsFilePath }); emitJsFileOrBundle(sourceFileOrBundle, jsFilePath, sourceMapFilePath, relativeToBuildInfo); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "emitDeclarationFileOrBundle", { declarationFilePath: declarationFilePath }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emitDeclarationFileOrBundle", { declarationFilePath: declarationFilePath }); emitDeclarationFileOrBundle(sourceFileOrBundle, declarationFilePath, declarationMapPath, relativeToBuildInfo); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "emitBuildInfo", { buildInfoPath: buildInfoPath }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emitBuildInfo", { buildInfoPath: buildInfoPath }); emitBuildInfo(bundleBuildInfo, buildInfoPath); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); if (!emitSkipped && emittedFilesList) { @@ -110010,7 +110347,7 @@ var ts; extendedDiagnostics: compilerOptions.extendedDiagnostics, // Explicitly do not passthru either `inline` option }); - if (forceDtsEmit && declarationTransform.transformed[0].kind === 305 /* SourceFile */) { + if (forceDtsEmit && declarationTransform.transformed[0].kind === 305 /* SyntaxKind.SourceFile */) { var sourceFile = declarationTransform.transformed[0]; exportedModulesFromDeclarationEmit = sourceFile.exportedModulesFromDeclarationEmit; } @@ -110021,7 +110358,7 @@ var ts; } function collectLinkedAliases(node) { if (ts.isExportAssignment(node)) { - if (node.expression.kind === 79 /* Identifier */) { + if (node.expression.kind === 79 /* SyntaxKind.Identifier */) { resolver.collectLinkedAliases(node.expression, /*setVisibility*/ true); } return; @@ -110033,8 +110370,8 @@ var ts; ts.forEachChild(node, collectLinkedAliases); } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, printer, mapOptions) { - var bundle = sourceFileOrBundle.kind === 306 /* Bundle */ ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 305 /* SourceFile */ ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 306 /* SyntaxKind.Bundle */ ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; var sourceMapGenerator; if (shouldEmitSourceMaps(mapOptions, sourceFileOrBundle)) { @@ -110046,6 +110383,7 @@ var ts; else { printer.writeFile(sourceFile, writer, sourceMapGenerator); } + var sourceMapUrlPos; if (sourceMapGenerator) { if (sourceMapDataList) { sourceMapDataList.push({ @@ -110057,7 +110395,8 @@ var ts; if (sourceMappingURL) { if (!writer.isAtStartOfLine()) writer.rawWrite(newLine); - writer.writeComment("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Tools can sometimes see this line as a source mapping url comment + sourceMapUrlPos = writer.getTextPos(); + writer.writeComment("//# ".concat("sourceMappingURL", "=").concat(sourceMappingURL)); // Tools can sometimes see this line as a source mapping url comment } // Write the source map if (sourceMapFilePath) { @@ -110069,13 +110408,13 @@ var ts; writer.writeLine(); } // Write the output file - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles); + ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles, { sourceMapUrlPos: sourceMapUrlPos }); // Reset state writer.clear(); } function shouldEmitSourceMaps(mapOptions, sourceFileOrBundle) { return (mapOptions.sourceMap || mapOptions.inlineSourceMap) - && (sourceFileOrBundle.kind !== 305 /* SourceFile */ || !ts.fileExtensionIs(sourceFileOrBundle.fileName, ".json" /* Json */)); + && (sourceFileOrBundle.kind !== 305 /* SyntaxKind.SourceFile */ || !ts.fileExtensionIs(sourceFileOrBundle.fileName, ".json" /* Extension.Json */)); } function getSourceRoot(mapOptions) { // Normalize source root and make sure it has trailing "/" so that it can be used to combine paths with the @@ -110106,7 +110445,7 @@ var ts; // Encode the sourceMap into the sourceMap url var sourceMapText = sourceMapGenerator.toString(); var base64SourceMapText = ts.base64encode(ts.sys, sourceMapText); - return "data:application/json;base64," + base64SourceMapText; + return "data:application/json;base64,".concat(base64SourceMapText); } var sourceMapFile = ts.getBaseFileName(ts.normalizeSlashes(ts.Debug.checkDefined(sourceMapFilePath))); if (mapOptions.mapRoot) { @@ -110199,8 +110538,8 @@ var ts; ts.setParent(literal, statement); return statement; }); - var eofToken = ts.factory.createToken(1 /* EndOfFileToken */); - var sourceFile = ts.factory.createSourceFile(statements !== null && statements !== void 0 ? statements : [], eofToken, 0 /* None */); + var eofToken = ts.factory.createToken(1 /* SyntaxKind.EndOfFileToken */); + var sourceFile = ts.factory.createSourceFile(statements !== null && statements !== void 0 ? statements : [], eofToken, 0 /* NodeFlags.None */); sourceFile.fileName = ts.getRelativePathFromDirectory(host.getCurrentDirectory(), ts.getNormalizedAbsolutePath(fileName, buildInfoDirectory), !host.useCaseSensitiveFileNames()); sourceFile.text = (_a = prologueInfo === null || prologueInfo === void 0 ? void 0 : prologueInfo.text) !== null && _a !== void 0 ? _a : ""; ts.setTextRangePosWidth(sourceFile, 0, (_b = prologueInfo === null || prologueInfo === void 0 ? void 0 : prologueInfo.text.length) !== null && _b !== void 0 ? _b : 0); @@ -110286,7 +110625,7 @@ var ts; return; break; default: - ts.Debug.fail("Unexpected path: " + name); + ts.Debug.fail("Unexpected path: ".concat(name)); } outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark }); }, @@ -110338,7 +110677,7 @@ var ts; var relativeToBuildInfo = bundleFileInfo ? ts.Debug.checkDefined(printerOptions.relativeToBuildInfo) : undefined; var recordInternalSection = printerOptions.recordInternalSection; var sourceFileTextPos = 0; - var sourceFileTextKind = "text" /* Text */; + var sourceFileTextKind = "text" /* BundleFileSectionKind.Text */; // Source Maps var sourceMapsDisabled = true; var sourceMapGenerator; @@ -110378,20 +110717,20 @@ var ts; }; function printNode(hint, node, sourceFile) { switch (hint) { - case 0 /* SourceFile */: + case 0 /* EmitHint.SourceFile */: ts.Debug.assert(ts.isSourceFile(node), "Expected a SourceFile node."); break; - case 2 /* IdentifierName */: + case 2 /* EmitHint.IdentifierName */: ts.Debug.assert(ts.isIdentifier(node), "Expected an Identifier node."); break; - case 1 /* Expression */: + case 1 /* EmitHint.Expression */: ts.Debug.assert(ts.isExpression(node), "Expected an Expression node."); break; } switch (node.kind) { - case 305 /* SourceFile */: return printFile(node); - case 306 /* Bundle */: return printBundle(node); - case 307 /* UnparsedSource */: return printUnparsedSource(node); + case 305 /* SyntaxKind.SourceFile */: return printFile(node); + case 306 /* SyntaxKind.Bundle */: return printBundle(node); + case 307 /* SyntaxKind.UnparsedSource */: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -110447,11 +110786,11 @@ var ts; currentSourceFile && (ts.isDeclaration(node) || ts.isVariableStatement(node)) && ts.isInternalDeclaration(node, currentSourceFile) && - sourceFileTextKind !== "internal" /* Internal */) { + sourceFileTextKind !== "internal" /* BundleFileSectionKind.Internal */) { var prevSourceFileTextKind = sourceFileTextKind; recordBundleFileTextLikeSection(writer.getTextPos()); sourceFileTextPos = getTextPosWithWriteLine(); - sourceFileTextKind = "internal" /* Internal */; + sourceFileTextKind = "internal" /* BundleFileSectionKind.Internal */; return prevSourceFileTextKind; } return undefined; @@ -110486,7 +110825,7 @@ var ts; var savedSections = bundleFileInfo && bundleFileInfo.sections; if (savedSections) bundleFileInfo.sections = []; - print(4 /* Unspecified */, prepend, /*sourceFile*/ undefined); + print(4 /* EmitHint.Unspecified */, prepend, /*sourceFile*/ undefined); if (bundleFileInfo) { var newSections = bundleFileInfo.sections; bundleFileInfo.sections = savedSections; @@ -110497,7 +110836,7 @@ var ts; bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), - kind: "prepend" /* Prepend */, + kind: "prepend" /* BundleFileSectionKind.Prepend */, data: relativeToBuildInfo(prepend.fileName), texts: newSections }); @@ -110507,7 +110846,7 @@ var ts; sourceFileTextPos = getTextPosWithWriteLine(); for (var _d = 0, _e = bundle.sourceFiles; _d < _e.length; _d++) { var sourceFile = _e[_d]; - print(0 /* SourceFile */, sourceFile, sourceFile); + print(0 /* EmitHint.SourceFile */, sourceFile, sourceFile); } if (bundleFileInfo && bundle.sourceFiles.length) { var end = writer.getTextPos(); @@ -110534,7 +110873,7 @@ var ts; function writeUnparsedSource(unparsed, output) { var previousWriter = writer; setWriter(output, /*_sourceMapGenerator*/ undefined); - print(4 /* Unspecified */, unparsed, /*sourceFile*/ undefined); + print(4 /* EmitHint.Unspecified */, unparsed, /*sourceFile*/ undefined); reset(); writer = previousWriter; } @@ -110544,7 +110883,7 @@ var ts; setWriter(output, sourceMapGenerator); emitShebangIfNeeded(sourceFile); emitPrologueDirectivesIfNeeded(sourceFile); - print(0 /* SourceFile */, sourceFile, sourceFile); + print(0 /* EmitHint.SourceFile */, sourceFile, sourceFile); reset(); writer = previousWriter; } @@ -110583,7 +110922,7 @@ var ts; autoGeneratedIdToGeneratedName = []; generatedNames = new ts.Set(); tempFlagsStack = []; - tempFlags = 0 /* Auto */; + tempFlags = 0 /* TempFlags.Auto */; reservedNamesStack = []; currentSourceFile = undefined; currentLineMap = undefined; @@ -110591,30 +110930,30 @@ var ts; setWriter(/*output*/ undefined, /*_sourceMapGenerator*/ undefined); } function getCurrentLineMap() { - return currentLineMap || (currentLineMap = ts.getLineStarts(currentSourceFile)); + return currentLineMap || (currentLineMap = ts.getLineStarts(ts.Debug.checkDefined(currentSourceFile))); } function emit(node, parenthesizerRule) { if (node === undefined) return; var prevSourceFileTextKind = recordBundleFileInternalSectionStart(node); - pipelineEmit(4 /* Unspecified */, node, parenthesizerRule); + pipelineEmit(4 /* EmitHint.Unspecified */, node, parenthesizerRule); recordBundleFileInternalSectionEnd(prevSourceFileTextKind); } function emitIdentifierName(node) { if (node === undefined) return; - pipelineEmit(2 /* IdentifierName */, node, /*parenthesizerRule*/ undefined); + pipelineEmit(2 /* EmitHint.IdentifierName */, node, /*parenthesizerRule*/ undefined); } function emitExpression(node, parenthesizerRule) { if (node === undefined) return; - pipelineEmit(1 /* Expression */, node, parenthesizerRule); + pipelineEmit(1 /* EmitHint.Expression */, node, parenthesizerRule); } function emitJsxAttributeValue(node) { - pipelineEmit(ts.isStringLiteral(node) ? 6 /* JsxAttributeValue */ : 4 /* Unspecified */, node); + pipelineEmit(ts.isStringLiteral(node) ? 6 /* EmitHint.JsxAttributeValue */ : 4 /* EmitHint.Unspecified */, node); } function beforeEmitNode(node) { - if (preserveSourceNewlines && (ts.getEmitFlags(node) & 134217728 /* IgnoreSourceNewlines */)) { + if (preserveSourceNewlines && (ts.getEmitFlags(node) & 134217728 /* EmitFlags.IgnoreSourceNewlines */)) { preserveSourceNewlines = false; } } @@ -110623,7 +110962,7 @@ var ts; } function pipelineEmit(emitHint, node, parenthesizerRule) { currentParenthesizerRule = parenthesizerRule; - var pipelinePhase = getPipelinePhase(0 /* Notification */, emitHint, node); + var pipelinePhase = getPipelinePhase(0 /* PipelinePhase.Notification */, emitHint, node); pipelinePhase(emitHint, node); currentParenthesizerRule = undefined; } @@ -110639,12 +110978,12 @@ var ts; } function getPipelinePhase(phase, emitHint, node) { switch (phase) { - case 0 /* Notification */: + case 0 /* PipelinePhase.Notification */: if (onEmitNode !== ts.noEmitNotification && (!isEmitNotificationEnabled || isEmitNotificationEnabled(node))) { return pipelineEmitWithNotification; } // falls through - case 1 /* Substitution */: + case 1 /* PipelinePhase.Substitution */: if (substituteNode !== ts.noEmitSubstitution && (lastSubstitution = substituteNode(emitHint, node) || node) !== node) { if (currentParenthesizerRule) { lastSubstitution = currentParenthesizerRule(lastSubstitution); @@ -110652,17 +110991,17 @@ var ts; return pipelineEmitWithSubstitution; } // falls through - case 2 /* Comments */: + case 2 /* PipelinePhase.Comments */: if (shouldEmitComments(node)) { return pipelineEmitWithComments; } // falls through - case 3 /* SourceMaps */: + case 3 /* PipelinePhase.SourceMaps */: if (shouldEmitSourceMaps(node)) { return pipelineEmitWithSourceMaps; } // falls through - case 4 /* Emit */: + case 4 /* PipelinePhase.Emit */: return pipelineEmitWithHint; default: return ts.Debug.assertNever(phase); @@ -110672,7 +111011,7 @@ var ts; return getPipelinePhase(currentPhase + 1, emitHint, node); } function pipelineEmitWithNotification(hint, node) { - var pipelinePhase = getNextPipelinePhase(0 /* Notification */, hint, node); + var pipelinePhase = getNextPipelinePhase(0 /* PipelinePhase.Notification */, hint, node); onEmitNode(hint, node, pipelinePhase); } function pipelineEmitWithHint(hint, node) { @@ -110698,346 +111037,346 @@ var ts; return emitSnippetNode(hint, node, snippet); } } - if (hint === 0 /* SourceFile */) + if (hint === 0 /* EmitHint.SourceFile */) return emitSourceFile(ts.cast(node, ts.isSourceFile)); - if (hint === 2 /* IdentifierName */) + if (hint === 2 /* EmitHint.IdentifierName */) return emitIdentifier(ts.cast(node, ts.isIdentifier)); - if (hint === 6 /* JsxAttributeValue */) + if (hint === 6 /* EmitHint.JsxAttributeValue */) return emitLiteral(ts.cast(node, ts.isStringLiteral), /*jsxAttributeEscape*/ true); - if (hint === 3 /* MappedTypeParameter */) + if (hint === 3 /* EmitHint.MappedTypeParameter */) return emitMappedTypeParameter(ts.cast(node, ts.isTypeParameterDeclaration)); - if (hint === 5 /* EmbeddedStatement */) { + if (hint === 5 /* EmitHint.EmbeddedStatement */) { ts.Debug.assertNode(node, ts.isEmptyStatement); return emitEmptyStatement(/*isEmbeddedStatement*/ true); } - if (hint === 4 /* Unspecified */) { + if (hint === 4 /* EmitHint.Unspecified */) { switch (node.kind) { // Pseudo-literals - case 15 /* TemplateHead */: - case 16 /* TemplateMiddle */: - case 17 /* TemplateTail */: + case 15 /* SyntaxKind.TemplateHead */: + case 16 /* SyntaxKind.TemplateMiddle */: + case 17 /* SyntaxKind.TemplateTail */: return emitLiteral(node, /*jsxAttributeEscape*/ false); // Identifiers - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return emitIdentifier(node); // PrivateIdentifiers - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return emitPrivateIdentifier(node); // Parse tree nodes // Names - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: return emitQualifiedName(node); - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return emitComputedPropertyName(node); // Signature elements - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: return emitTypeParameter(node); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return emitParameter(node); - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: return emitDecorator(node); // Type members - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: return emitPropertySignature(node); - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return emitPropertyDeclaration(node); - case 168 /* MethodSignature */: + case 168 /* SyntaxKind.MethodSignature */: return emitMethodSignature(node); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: return emitMethodDeclaration(node); - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return emitClassStaticBlockDeclaration(node); - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return emitConstructor(node); - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return emitAccessorDeclaration(node); - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: return emitCallSignature(node); - case 175 /* ConstructSignature */: + case 175 /* SyntaxKind.ConstructSignature */: return emitConstructSignature(node); - case 176 /* IndexSignature */: + case 176 /* SyntaxKind.IndexSignature */: return emitIndexSignature(node); // Types - case 177 /* TypePredicate */: + case 177 /* SyntaxKind.TypePredicate */: return emitTypePredicate(node); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return emitTypeReference(node); - case 179 /* FunctionType */: + case 179 /* SyntaxKind.FunctionType */: return emitFunctionType(node); - case 180 /* ConstructorType */: + case 180 /* SyntaxKind.ConstructorType */: return emitConstructorType(node); - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: return emitTypeQuery(node); - case 182 /* TypeLiteral */: + case 182 /* SyntaxKind.TypeLiteral */: return emitTypeLiteral(node); - case 183 /* ArrayType */: + case 183 /* SyntaxKind.ArrayType */: return emitArrayType(node); - case 184 /* TupleType */: + case 184 /* SyntaxKind.TupleType */: return emitTupleType(node); - case 185 /* OptionalType */: + case 185 /* SyntaxKind.OptionalType */: return emitOptionalType(node); // SyntaxKind.RestType is handled below - case 187 /* UnionType */: + case 187 /* SyntaxKind.UnionType */: return emitUnionType(node); - case 188 /* IntersectionType */: + case 188 /* SyntaxKind.IntersectionType */: return emitIntersectionType(node); - case 189 /* ConditionalType */: + case 189 /* SyntaxKind.ConditionalType */: return emitConditionalType(node); - case 190 /* InferType */: + case 190 /* SyntaxKind.InferType */: return emitInferType(node); - case 191 /* ParenthesizedType */: + case 191 /* SyntaxKind.ParenthesizedType */: return emitParenthesizedType(node); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 192 /* ThisType */: + case 192 /* SyntaxKind.ThisType */: return emitThisType(); - case 193 /* TypeOperator */: + case 193 /* SyntaxKind.TypeOperator */: return emitTypeOperator(node); - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: return emitIndexedAccessType(node); - case 195 /* MappedType */: + case 195 /* SyntaxKind.MappedType */: return emitMappedType(node); - case 196 /* LiteralType */: + case 196 /* SyntaxKind.LiteralType */: return emitLiteralType(node); - case 197 /* NamedTupleMember */: + case 197 /* SyntaxKind.NamedTupleMember */: return emitNamedTupleMember(node); - case 198 /* TemplateLiteralType */: + case 198 /* SyntaxKind.TemplateLiteralType */: return emitTemplateType(node); - case 199 /* TemplateLiteralTypeSpan */: + case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: return emitTemplateTypeSpan(node); - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return emitImportTypeNode(node); // Binding patterns - case 201 /* ObjectBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: return emitObjectBindingPattern(node); - case 202 /* ArrayBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: return emitArrayBindingPattern(node); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return emitBindingElement(node); // Misc - case 233 /* TemplateSpan */: + case 233 /* SyntaxKind.TemplateSpan */: return emitTemplateSpan(node); - case 234 /* SemicolonClassElement */: + case 234 /* SyntaxKind.SemicolonClassElement */: return emitSemicolonClassElement(); // Statements - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: return emitBlock(node); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return emitVariableStatement(node); - case 236 /* EmptyStatement */: + case 236 /* SyntaxKind.EmptyStatement */: return emitEmptyStatement(/*isEmbeddedStatement*/ false); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return emitExpressionStatement(node); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: return emitIfStatement(node); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: return emitDoStatement(node); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: return emitWhileStatement(node); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return emitForStatement(node); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: return emitForInStatement(node); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return emitForOfStatement(node); - case 245 /* ContinueStatement */: + case 245 /* SyntaxKind.ContinueStatement */: return emitContinueStatement(node); - case 246 /* BreakStatement */: + case 246 /* SyntaxKind.BreakStatement */: return emitBreakStatement(node); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: return emitReturnStatement(node); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: return emitWithStatement(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return emitSwitchStatement(node); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: return emitLabeledStatement(node); - case 251 /* ThrowStatement */: + case 251 /* SyntaxKind.ThrowStatement */: return emitThrowStatement(node); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: return emitTryStatement(node); - case 253 /* DebuggerStatement */: + case 253 /* SyntaxKind.DebuggerStatement */: return emitDebuggerStatement(node); // Declarations - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return emitVariableDeclaration(node); - case 255 /* VariableDeclarationList */: + case 255 /* SyntaxKind.VariableDeclarationList */: return emitVariableDeclarationList(node); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return emitFunctionDeclaration(node); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return emitClassDeclaration(node); - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: return emitInterfaceDeclaration(node); - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return emitTypeAliasDeclaration(node); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return emitEnumDeclaration(node); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return emitModuleDeclaration(node); - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: return emitModuleBlock(node); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: return emitCaseBlock(node); - case 264 /* NamespaceExportDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: return emitNamespaceExportDeclaration(node); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return emitImportEqualsDeclaration(node); - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return emitImportDeclaration(node); - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: return emitImportClause(node); - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: return emitNamespaceImport(node); - case 274 /* NamespaceExport */: + case 274 /* SyntaxKind.NamespaceExport */: return emitNamespaceExport(node); - case 269 /* NamedImports */: + case 269 /* SyntaxKind.NamedImports */: return emitNamedImports(node); - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: return emitImportSpecifier(node); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: return emitExportAssignment(node); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return emitExportDeclaration(node); - case 273 /* NamedExports */: + case 273 /* SyntaxKind.NamedExports */: return emitNamedExports(node); - case 275 /* ExportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: return emitExportSpecifier(node); - case 293 /* AssertClause */: + case 293 /* SyntaxKind.AssertClause */: return emitAssertClause(node); - case 294 /* AssertEntry */: + case 294 /* SyntaxKind.AssertEntry */: return emitAssertEntry(node); - case 276 /* MissingDeclaration */: + case 276 /* SyntaxKind.MissingDeclaration */: return; // Module references - case 277 /* ExternalModuleReference */: + case 277 /* SyntaxKind.ExternalModuleReference */: return emitExternalModuleReference(node); // JSX (non-expression) - case 11 /* JsxText */: + case 11 /* SyntaxKind.JsxText */: return emitJsxText(node); - case 280 /* JsxOpeningElement */: - case 283 /* JsxOpeningFragment */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 283 /* SyntaxKind.JsxOpeningFragment */: return emitJsxOpeningElementOrFragment(node); - case 281 /* JsxClosingElement */: - case 284 /* JsxClosingFragment */: + case 281 /* SyntaxKind.JsxClosingElement */: + case 284 /* SyntaxKind.JsxClosingFragment */: return emitJsxClosingElementOrFragment(node); - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: return emitJsxAttribute(node); - case 286 /* JsxAttributes */: + case 286 /* SyntaxKind.JsxAttributes */: return emitJsxAttributes(node); - case 287 /* JsxSpreadAttribute */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: return emitJsxSpreadAttribute(node); - case 288 /* JsxExpression */: + case 288 /* SyntaxKind.JsxExpression */: return emitJsxExpression(node); // Clauses - case 289 /* CaseClause */: + case 289 /* SyntaxKind.CaseClause */: return emitCaseClause(node); - case 290 /* DefaultClause */: + case 290 /* SyntaxKind.DefaultClause */: return emitDefaultClause(node); - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: return emitHeritageClause(node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return emitCatchClause(node); // Property assignments - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return emitPropertyAssignment(node); - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return emitShorthandPropertyAssignment(node); - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: return emitSpreadAssignment(node); // Enum - case 299 /* EnumMember */: + case 299 /* SyntaxKind.EnumMember */: return emitEnumMember(node); // Unparsed - case 300 /* UnparsedPrologue */: + case 300 /* SyntaxKind.UnparsedPrologue */: return writeUnparsedNode(node); - case 307 /* UnparsedSource */: - case 301 /* UnparsedPrepend */: + case 307 /* SyntaxKind.UnparsedSource */: + case 301 /* SyntaxKind.UnparsedPrepend */: return emitUnparsedSourceOrPrepend(node); - case 302 /* UnparsedText */: - case 303 /* UnparsedInternalText */: + case 302 /* SyntaxKind.UnparsedText */: + case 303 /* SyntaxKind.UnparsedInternalText */: return emitUnparsedTextLike(node); - case 304 /* UnparsedSyntheticReference */: + case 304 /* SyntaxKind.UnparsedSyntheticReference */: return emitUnparsedSyntheticReference(node); // Top-level nodes - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: return emitSourceFile(node); - case 306 /* Bundle */: + case 306 /* SyntaxKind.Bundle */: return ts.Debug.fail("Bundles should be printed using printBundle"); // SyntaxKind.UnparsedSource (handled above) - case 308 /* InputFiles */: + case 308 /* SyntaxKind.InputFiles */: return ts.Debug.fail("InputFiles should not be printed"); // JSDoc nodes (only used in codefixes currently) - case 309 /* JSDocTypeExpression */: + case 309 /* SyntaxKind.JSDocTypeExpression */: return emitJSDocTypeExpression(node); - case 310 /* JSDocNameReference */: + case 310 /* SyntaxKind.JSDocNameReference */: return emitJSDocNameReference(node); - case 312 /* JSDocAllType */: + case 312 /* SyntaxKind.JSDocAllType */: return writePunctuation("*"); - case 313 /* JSDocUnknownType */: + case 313 /* SyntaxKind.JSDocUnknownType */: return writePunctuation("?"); - case 314 /* JSDocNullableType */: + case 314 /* SyntaxKind.JSDocNullableType */: return emitJSDocNullableType(node); - case 315 /* JSDocNonNullableType */: + case 315 /* SyntaxKind.JSDocNonNullableType */: return emitJSDocNonNullableType(node); - case 316 /* JSDocOptionalType */: + case 316 /* SyntaxKind.JSDocOptionalType */: return emitJSDocOptionalType(node); - case 317 /* JSDocFunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: return emitJSDocFunctionType(node); - case 186 /* RestType */: - case 318 /* JSDocVariadicType */: + case 186 /* SyntaxKind.RestType */: + case 318 /* SyntaxKind.JSDocVariadicType */: return emitRestOrJSDocVariadicType(node); - case 319 /* JSDocNamepathType */: + case 319 /* SyntaxKind.JSDocNamepathType */: return; - case 320 /* JSDoc */: + case 320 /* SyntaxKind.JSDoc */: return emitJSDoc(node); - case 322 /* JSDocTypeLiteral */: + case 322 /* SyntaxKind.JSDocTypeLiteral */: return emitJSDocTypeLiteral(node); - case 323 /* JSDocSignature */: + case 323 /* SyntaxKind.JSDocSignature */: return emitJSDocSignature(node); - case 327 /* JSDocTag */: - case 332 /* JSDocClassTag */: - case 337 /* JSDocOverrideTag */: + case 327 /* SyntaxKind.JSDocTag */: + case 332 /* SyntaxKind.JSDocClassTag */: + case 337 /* SyntaxKind.JSDocOverrideTag */: return emitJSDocSimpleTag(node); - case 328 /* JSDocAugmentsTag */: - case 329 /* JSDocImplementsTag */: + case 328 /* SyntaxKind.JSDocAugmentsTag */: + case 329 /* SyntaxKind.JSDocImplementsTag */: return emitJSDocHeritageTag(node); - case 330 /* JSDocAuthorTag */: - case 331 /* JSDocDeprecatedTag */: + case 330 /* SyntaxKind.JSDocAuthorTag */: + case 331 /* SyntaxKind.JSDocDeprecatedTag */: return; // SyntaxKind.JSDocClassTag (see JSDocTag, above) - case 333 /* JSDocPublicTag */: - case 334 /* JSDocPrivateTag */: - case 335 /* JSDocProtectedTag */: - case 336 /* JSDocReadonlyTag */: + case 333 /* SyntaxKind.JSDocPublicTag */: + case 334 /* SyntaxKind.JSDocPrivateTag */: + case 335 /* SyntaxKind.JSDocProtectedTag */: + case 336 /* SyntaxKind.JSDocReadonlyTag */: return; - case 338 /* JSDocCallbackTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: return emitJSDocCallbackTag(node); // SyntaxKind.JSDocEnumTag (see below) - case 340 /* JSDocParameterTag */: - case 347 /* JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: return emitJSDocPropertyLikeTag(node); - case 339 /* JSDocEnumTag */: - case 341 /* JSDocReturnTag */: - case 342 /* JSDocThisTag */: - case 343 /* JSDocTypeTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: + case 341 /* SyntaxKind.JSDocReturnTag */: + case 342 /* SyntaxKind.JSDocThisTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: return emitJSDocSimpleTypedTag(node); - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return emitJSDocTemplateTag(node); - case 345 /* JSDocTypedefTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: return emitJSDocTypedefTag(node); - case 346 /* JSDocSeeTag */: + case 346 /* SyntaxKind.JSDocSeeTag */: return emitJSDocSeeTag(node); // SyntaxKind.JSDocPropertyTag (see JSDocParameterTag, above) // Transformation nodes - case 349 /* NotEmittedStatement */: - case 353 /* EndOfDeclarationMarker */: - case 352 /* MergeDeclarationMarker */: + case 349 /* SyntaxKind.NotEmittedStatement */: + case 353 /* SyntaxKind.EndOfDeclarationMarker */: + case 352 /* SyntaxKind.MergeDeclarationMarker */: return; } if (ts.isExpression(node)) { - hint = 1 /* Expression */; + hint = 1 /* EmitHint.Expression */; if (substituteNode !== ts.noEmitSubstitution) { var substitute = substituteNode(hint, node) || node; if (substitute !== node) { @@ -111049,101 +111388,101 @@ var ts; } } } - if (hint === 1 /* Expression */) { + if (hint === 1 /* EmitHint.Expression */) { switch (node.kind) { // Literals - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: return emitNumericOrBigIntLiteral(node); - case 10 /* StringLiteral */: - case 13 /* RegularExpressionLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 13 /* SyntaxKind.RegularExpressionLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return emitLiteral(node, /*jsxAttributeEscape*/ false); // Identifiers - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return emitIdentifier(node); - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: return emitPrivateIdentifier(node); // Expressions - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return emitArrayLiteralExpression(node); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return emitObjectLiteralExpression(node); - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return emitPropertyAccessExpression(node); - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return emitElementAccessExpression(node); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return emitCallExpression(node); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return emitNewExpression(node); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return emitTaggedTemplateExpression(node); - case 211 /* TypeAssertionExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: return emitTypeAssertionExpression(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return emitParenthesizedExpression(node); - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: return emitFunctionExpression(node); - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return emitArrowFunction(node); - case 215 /* DeleteExpression */: + case 215 /* SyntaxKind.DeleteExpression */: return emitDeleteExpression(node); - case 216 /* TypeOfExpression */: + case 216 /* SyntaxKind.TypeOfExpression */: return emitTypeOfExpression(node); - case 217 /* VoidExpression */: + case 217 /* SyntaxKind.VoidExpression */: return emitVoidExpression(node); - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: return emitAwaitExpression(node); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: return emitPrefixUnaryExpression(node); - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: return emitPostfixUnaryExpression(node); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return emitBinaryExpression(node); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return emitConditionalExpression(node); - case 223 /* TemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: return emitTemplateExpression(node); - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: return emitYieldExpression(node); - case 225 /* SpreadElement */: + case 225 /* SyntaxKind.SpreadElement */: return emitSpreadElement(node); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: return emitClassExpression(node); - case 227 /* OmittedExpression */: + case 227 /* SyntaxKind.OmittedExpression */: return; - case 229 /* AsExpression */: + case 229 /* SyntaxKind.AsExpression */: return emitAsExpression(node); - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: return emitNonNullExpression(node); - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return emitMetaProperty(node); - case 232 /* SyntheticExpression */: + case 232 /* SyntaxKind.SyntheticExpression */: return ts.Debug.fail("SyntheticExpression should never be printed."); // JSX - case 278 /* JsxElement */: + case 278 /* SyntaxKind.JsxElement */: return emitJsxElement(node); - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: return emitJsxSelfClosingElement(node); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: return emitJsxFragment(node); // Synthesized list - case 348 /* SyntaxList */: + case 348 /* SyntaxKind.SyntaxList */: return ts.Debug.fail("SyntaxList should not be printed"); // Transformation nodes - case 349 /* NotEmittedStatement */: + case 349 /* SyntaxKind.NotEmittedStatement */: return; - case 350 /* PartiallyEmittedExpression */: + case 350 /* SyntaxKind.PartiallyEmittedExpression */: return emitPartiallyEmittedExpression(node); - case 351 /* CommaListExpression */: + case 351 /* SyntaxKind.CommaListExpression */: return emitCommaList(node); - case 352 /* MergeDeclarationMarker */: - case 353 /* EndOfDeclarationMarker */: + case 352 /* SyntaxKind.MergeDeclarationMarker */: + case 353 /* SyntaxKind.EndOfDeclarationMarker */: return; - case 354 /* SyntheticReferenceExpression */: + case 354 /* SyntaxKind.SyntheticReferenceExpression */: return ts.Debug.fail("SyntheticReferenceExpression should not be printed"); } } @@ -111151,7 +111490,7 @@ var ts; return writeTokenNode(node, writeKeyword); if (ts.isTokenKind(node.kind)) return writeTokenNode(node, writePunctuation); - ts.Debug.fail("Unhandled SyntaxKind: " + ts.Debug.formatSyntaxKind(node.kind) + "."); + ts.Debug.fail("Unhandled SyntaxKind: ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); } function emitMappedTypeParameter(node) { emit(node.name); @@ -111161,7 +111500,7 @@ var ts; emit(node.constraint); } function pipelineEmitWithSubstitution(hint, node) { - var pipelinePhase = getNextPipelinePhase(1 /* Substitution */, hint, node); + var pipelinePhase = getNextPipelinePhase(1 /* PipelinePhase.Substitution */, hint, node); ts.Debug.assertIsDefined(lastSubstitution); node = lastSubstitution; lastSubstitution = undefined; @@ -111191,7 +111530,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 306 /* Bundle */ ? node : undefined; + var bundle = node.kind === 306 /* SyntaxKind.Bundle */ ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -111233,7 +111572,7 @@ var ts; writeLines(helper.text(makeFileLevelOptimisticUniqueName)); } if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "emitHelpers" /* EmitHelpers */, data: helper.name }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "emitHelpers" /* BundleFileSectionKind.EmitHelpers */, data: helper.name }); helpersEmitted = true; } } @@ -111261,7 +111600,7 @@ var ts; function emitLiteral(node, jsxAttributeEscape) { var text = getLiteralTextOfNode(node, printerOptions.neverAsciiEscape, jsxAttributeEscape); if ((printerOptions.sourceMap || printerOptions.inlineSourceMap) - && (node.kind === 10 /* StringLiteral */ || ts.isTemplateLiteralKind(node.kind))) { + && (node.kind === 10 /* SyntaxKind.StringLiteral */ || ts.isTemplateLiteralKind(node.kind))) { writeLiteral(text); } else { @@ -111291,9 +111630,9 @@ var ts; var pos = getTextPosWithWriteLine(); writeUnparsedNode(unparsed); if (bundleFileInfo) { - updateOrPushBundleFileTextLike(pos, writer.getTextPos(), unparsed.kind === 302 /* UnparsedText */ ? - "text" /* Text */ : - "internal" /* Internal */); + updateOrPushBundleFileTextLike(pos, writer.getTextPos(), unparsed.kind === 302 /* SyntaxKind.UnparsedText */ ? + "text" /* BundleFileSectionKind.Text */ : + "internal" /* BundleFileSectionKind.Internal */); } } // SyntaxKind.UnparsedSyntheticReference @@ -111312,25 +111651,25 @@ var ts; // function emitSnippetNode(hint, node, snippet) { switch (snippet.kind) { - case 1 /* Placeholder */: + case 1 /* SnippetKind.Placeholder */: emitPlaceholder(hint, node, snippet); break; - case 0 /* TabStop */: + case 0 /* SnippetKind.TabStop */: emitTabStop(hint, node, snippet); break; } } function emitPlaceholder(hint, node, snippet) { - nonEscapingWrite("${" + snippet.order + ":"); // `${2:` + nonEscapingWrite("${".concat(snippet.order, ":")); // `${2:` pipelineEmitWithHintWorker(hint, node, /*allowSnippets*/ false); // `...` nonEscapingWrite("}"); // `}` // `${2:...}` } function emitTabStop(hint, node, snippet) { // A tab stop should only be attached to an empty node, i.e. a node that doesn't emit any text. - ts.Debug.assert(node.kind === 236 /* EmptyStatement */, "A tab stop cannot be attached to a node of kind " + ts.Debug.formatSyntaxKind(node.kind) + "."); - ts.Debug.assert(hint !== 5 /* EmbeddedStatement */, "A tab stop cannot be attached to an embedded statement."); - nonEscapingWrite("$" + snippet.order); + ts.Debug.assert(node.kind === 236 /* SyntaxKind.EmptyStatement */, "A tab stop cannot be attached to a node of kind ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); + ts.Debug.assert(hint !== 5 /* EmitHint.EmbeddedStatement */, "A tab stop cannot be attached to an embedded statement."); + nonEscapingWrite("$".concat(snippet.order)); } // // Identifiers @@ -111338,7 +111677,7 @@ var ts; function emitIdentifier(node) { var writeText = node.symbol ? writeSymbol : write; writeText(getTextOfNode(node, /*includeTrivia*/ false), node.symbol); - emitList(node, node.typeArguments, 53776 /* TypeParameters */); // Call emitList directly since it could be an array of TypeParameterDeclarations _or_ type arguments + emitList(node, node.typeArguments, 53776 /* ListFormat.TypeParameters */); // Call emitList directly since it could be an array of TypeParameterDeclarations _or_ type arguments } // // Names @@ -111353,7 +111692,7 @@ var ts; emit(node.right); } function emitEntityName(node) { - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { emitExpression(node); } else { @@ -111390,7 +111729,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 317 /* JSDocFunctionType */ && !node.name) { + if (node.parent && node.parent.kind === 317 /* SyntaxKind.JSDocFunctionType */ && !node.name) { emit(node.type); } else { @@ -111458,7 +111797,7 @@ var ts; function emitAccessorDeclaration(node) { emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); - writeKeyword(node.kind === 172 /* GetAccessor */ ? "get" : "set"); + writeKeyword(node.kind === 172 /* SyntaxKind.GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -111568,8 +111907,8 @@ var ts; } function emitTypeLiteral(node) { writePunctuation("{"); - var flags = ts.getEmitFlags(node) & 1 /* SingleLine */ ? 768 /* SingleLineTypeLiteralMembers */ : 32897 /* MultiLineTypeLiteralMembers */; - emitList(node, node.members, flags | 524288 /* NoSpaceIfEmpty */); + var flags = ts.getEmitFlags(node) & 1 /* EmitFlags.SingleLine */ ? 768 /* ListFormat.SingleLineTypeLiteralMembers */ : 32897 /* ListFormat.MultiLineTypeLiteralMembers */; + emitList(node, node.members, flags | 524288 /* ListFormat.NoSpaceIfEmpty */); writePunctuation("}"); } function emitArrayType(node) { @@ -111582,16 +111921,16 @@ var ts; emit(node.type); } function emitTupleType(node) { - emitTokenWithComment(22 /* OpenBracketToken */, node.pos, writePunctuation, node); - var flags = ts.getEmitFlags(node) & 1 /* SingleLine */ ? 528 /* SingleLineTupleTypeElements */ : 657 /* MultiLineTupleTypeElements */; - emitList(node, node.elements, flags | 524288 /* NoSpaceIfEmpty */, parenthesizer.parenthesizeElementTypeOfTupleType); - emitTokenWithComment(23 /* CloseBracketToken */, node.elements.end, writePunctuation, node); + emitTokenWithComment(22 /* SyntaxKind.OpenBracketToken */, node.pos, writePunctuation, node); + var flags = ts.getEmitFlags(node) & 1 /* EmitFlags.SingleLine */ ? 528 /* ListFormat.SingleLineTupleTypeElements */ : 657 /* ListFormat.MultiLineTupleTypeElements */; + emitList(node, node.elements, flags | 524288 /* ListFormat.NoSpaceIfEmpty */, parenthesizer.parenthesizeElementTypeOfTupleType); + emitTokenWithComment(23 /* SyntaxKind.CloseBracketToken */, node.elements.end, writePunctuation, node); } function emitNamedTupleMember(node) { emit(node.dotDotDotToken); emit(node.name); emit(node.questionToken); - emitTokenWithComment(58 /* ColonToken */, node.name.end, writePunctuation, node); + emitTokenWithComment(58 /* SyntaxKind.ColonToken */, node.name.end, writePunctuation, node); writeSpace(); emit(node.type); } @@ -111600,10 +111939,10 @@ var ts; writePunctuation("?"); } function emitUnionType(node) { - emitList(node, node.types, 516 /* UnionTypeConstituents */, parenthesizer.parenthesizeConstituentTypeOfUnionType); + emitList(node, node.types, 516 /* ListFormat.UnionTypeConstituents */, parenthesizer.parenthesizeConstituentTypeOfUnionType); } function emitIntersectionType(node) { - emitList(node, node.types, 520 /* IntersectionTypeConstituents */, parenthesizer.parenthesizeConstituentTypeOfIntersectionType); + emitList(node, node.types, 520 /* ListFormat.IntersectionTypeConstituents */, parenthesizer.parenthesizeConstituentTypeOfIntersectionType); } function emitConditionalType(node) { emit(node.checkType, parenthesizer.parenthesizeCheckTypeOfConditionalType); @@ -111636,7 +111975,7 @@ var ts; function emitTypeOperator(node) { writeTokenText(node.operator, writeKeyword); writeSpace(); - var parenthesizerRule = node.operator === 145 /* ReadonlyKeyword */ ? + var parenthesizerRule = node.operator === 145 /* SyntaxKind.ReadonlyKeyword */ ? parenthesizer.parenthesizeOperandOfReadonlyTypeOperator : parenthesizer.parenthesizeOperandOfTypeOperator; emit(node.type, parenthesizerRule); @@ -111650,7 +111989,7 @@ var ts; function emitMappedType(node) { var emitFlags = ts.getEmitFlags(node); writePunctuation("{"); - if (emitFlags & 1 /* SingleLine */) { + if (emitFlags & 1 /* EmitFlags.SingleLine */) { writeSpace(); } else { @@ -111659,13 +111998,13 @@ var ts; } if (node.readonlyToken) { emit(node.readonlyToken); - if (node.readonlyToken.kind !== 145 /* ReadonlyKeyword */) { + if (node.readonlyToken.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { writeKeyword("readonly"); } writeSpace(); } writePunctuation("["); - pipelineEmit(3 /* MappedTypeParameter */, node.typeParameter); + pipelineEmit(3 /* EmitHint.MappedTypeParameter */, node.typeParameter); if (node.nameType) { writeSpace(); writeKeyword("as"); @@ -111675,7 +112014,7 @@ var ts; writePunctuation("]"); if (node.questionToken) { emit(node.questionToken); - if (node.questionToken.kind !== 57 /* QuestionToken */) { + if (node.questionToken.kind !== 57 /* SyntaxKind.QuestionToken */) { writePunctuation("?"); } } @@ -111683,14 +112022,14 @@ var ts; writeSpace(); emit(node.type); writeTrailingSemicolon(); - if (emitFlags & 1 /* SingleLine */) { + if (emitFlags & 1 /* EmitFlags.SingleLine */) { writeSpace(); } else { writeLine(); decreaseIndent(); } - emitList(node, node.members, 2 /* PreserveLines */); + emitList(node, node.members, 2 /* ListFormat.PreserveLines */); writePunctuation("}"); } function emitLiteralType(node) { @@ -111698,7 +112037,7 @@ var ts; } function emitTemplateType(node) { emit(node.head); - emitList(node, node.templateSpans, 262144 /* TemplateExpressionSpans */); + emitList(node, node.templateSpans, 262144 /* ListFormat.TemplateExpressionSpans */); } function emitImportTypeNode(node) { if (node.isTypeOf) { @@ -111717,7 +112056,7 @@ var ts; writePunctuation(":"); writeSpace(); var elements = node.assertions.assertClause.elements; - emitList(node.assertions.assertClause, elements, 526226 /* ImportClauseEntries */); + emitList(node.assertions.assertClause, elements, 526226 /* ListFormat.ImportClauseEntries */); writeSpace(); writePunctuation("}"); } @@ -111733,12 +112072,12 @@ var ts; // function emitObjectBindingPattern(node) { writePunctuation("{"); - emitList(node, node.elements, 525136 /* ObjectBindingPatternElements */); + emitList(node, node.elements, 525136 /* ListFormat.ObjectBindingPatternElements */); writePunctuation("}"); } function emitArrayBindingPattern(node) { writePunctuation("["); - emitList(node, node.elements, 524880 /* ArrayBindingPatternElements */); + emitList(node, node.elements, 524880 /* ListFormat.ArrayBindingPatternElements */); writePunctuation("]"); } function emitBindingElement(node) { @@ -111756,29 +112095,29 @@ var ts; // function emitArrayLiteralExpression(node) { var elements = node.elements; - var preferNewLine = node.multiLine ? 65536 /* PreferNewLine */ : 0 /* None */; - emitExpressionList(node, elements, 8914 /* ArrayLiteralExpressionElements */ | preferNewLine, parenthesizer.parenthesizeExpressionForDisallowedComma); + var preferNewLine = node.multiLine ? 65536 /* ListFormat.PreferNewLine */ : 0 /* ListFormat.None */; + emitExpressionList(node, elements, 8914 /* ListFormat.ArrayLiteralExpressionElements */ | preferNewLine, parenthesizer.parenthesizeExpressionForDisallowedComma); } function emitObjectLiteralExpression(node) { ts.forEach(node.properties, generateMemberNames); - var indentedFlag = ts.getEmitFlags(node) & 65536 /* Indented */; + var indentedFlag = ts.getEmitFlags(node) & 65536 /* EmitFlags.Indented */; if (indentedFlag) { increaseIndent(); } - var preferNewLine = node.multiLine ? 65536 /* PreferNewLine */ : 0 /* None */; - var allowTrailingComma = currentSourceFile.languageVersion >= 1 /* ES5 */ && !ts.isJsonSourceFile(currentSourceFile) ? 64 /* AllowTrailingComma */ : 0 /* None */; - emitList(node, node.properties, 526226 /* ObjectLiteralExpressionProperties */ | allowTrailingComma | preferNewLine); + var preferNewLine = node.multiLine ? 65536 /* ListFormat.PreferNewLine */ : 0 /* ListFormat.None */; + var allowTrailingComma = currentSourceFile && currentSourceFile.languageVersion >= 1 /* ScriptTarget.ES5 */ && !ts.isJsonSourceFile(currentSourceFile) ? 64 /* ListFormat.AllowTrailingComma */ : 0 /* ListFormat.None */; + emitList(node, node.properties, 526226 /* ListFormat.ObjectLiteralExpressionProperties */ | allowTrailingComma | preferNewLine); if (indentedFlag) { decreaseIndent(); } } function emitPropertyAccessExpression(node) { emitExpression(node.expression, parenthesizer.parenthesizeLeftSideOfAccess); - var token = node.questionDotToken || ts.setTextRangePosEnd(ts.factory.createToken(24 /* DotToken */), node.expression.end, node.name.pos); + var token = node.questionDotToken || ts.setTextRangePosEnd(ts.factory.createToken(24 /* SyntaxKind.DotToken */), node.expression.end, node.name.pos); var linesBeforeDot = getLinesBetweenNodes(node, node.expression, token); var linesAfterDot = getLinesBetweenNodes(node, token, node.name); writeLinesAndIndent(linesBeforeDot, /*writeSpaceIfNotIndenting*/ false); - var shouldEmitDotDot = token.kind !== 28 /* QuestionDotToken */ && + var shouldEmitDotDot = token.kind !== 28 /* SyntaxKind.QuestionDotToken */ && mayNeedDotDotForPropertyAccess(node.expression) && !writer.hasTrailingComment() && !writer.hasTrailingWhitespace(); @@ -111804,7 +112143,7 @@ var ts; var text = getLiteralTextOfNode(expression, /*neverAsciiEscape*/ true, /*jsxAttributeEscape*/ false); // If he number will be printed verbatim and it doesn't already contain a dot, add one // if the expression doesn't have any comments that will be emitted. - return !expression.numericLiteralFlags && !ts.stringContains(text, ts.tokenToString(24 /* DotToken */)); + return !expression.numericLiteralFlags && !ts.stringContains(text, ts.tokenToString(24 /* SyntaxKind.DotToken */)); } else if (ts.isAccessExpression(expression)) { // check if constant enum value is integer @@ -111817,12 +112156,12 @@ var ts; function emitElementAccessExpression(node) { emitExpression(node.expression, parenthesizer.parenthesizeLeftSideOfAccess); emit(node.questionDotToken); - emitTokenWithComment(22 /* OpenBracketToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(22 /* SyntaxKind.OpenBracketToken */, node.expression.end, writePunctuation, node); emitExpression(node.argumentExpression); - emitTokenWithComment(23 /* CloseBracketToken */, node.argumentExpression.end, writePunctuation, node); + emitTokenWithComment(23 /* SyntaxKind.CloseBracketToken */, node.argumentExpression.end, writePunctuation, node); } function emitCallExpression(node) { - var indirectCall = ts.getEmitFlags(node) & 536870912 /* IndirectCall */; + var indirectCall = ts.getEmitFlags(node) & 536870912 /* EmitFlags.IndirectCall */; if (indirectCall) { writePunctuation("("); writeLiteral("0"); @@ -111835,17 +112174,17 @@ var ts; } emit(node.questionDotToken); emitTypeArguments(node, node.typeArguments); - emitExpressionList(node, node.arguments, 2576 /* CallExpressionArguments */, parenthesizer.parenthesizeExpressionForDisallowedComma); + emitExpressionList(node, node.arguments, 2576 /* ListFormat.CallExpressionArguments */, parenthesizer.parenthesizeExpressionForDisallowedComma); } function emitNewExpression(node) { - emitTokenWithComment(103 /* NewKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(103 /* SyntaxKind.NewKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeExpressionOfNew); emitTypeArguments(node, node.typeArguments); - emitExpressionList(node, node.arguments, 18960 /* NewExpressionArguments */, parenthesizer.parenthesizeExpressionForDisallowedComma); + emitExpressionList(node, node.arguments, 18960 /* ListFormat.NewExpressionArguments */, parenthesizer.parenthesizeExpressionForDisallowedComma); } function emitTaggedTemplateExpression(node) { - var indirectCall = ts.getEmitFlags(node) & 536870912 /* IndirectCall */; + var indirectCall = ts.getEmitFlags(node) & 536870912 /* EmitFlags.IndirectCall */; if (indirectCall) { writePunctuation("("); writeLiteral("0"); @@ -111867,12 +112206,12 @@ var ts; emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } function emitParenthesizedExpression(node) { - var openParenPos = emitTokenWithComment(20 /* OpenParenToken */, node.pos, writePunctuation, node); + var openParenPos = emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, node.pos, writePunctuation, node); var indented = writeLineSeparatorsAndIndentBefore(node.expression, node); emitExpression(node.expression, /*parenthesizerRules*/ undefined); writeLineSeparatorsAfter(node.expression, node); decreaseIndentIf(indented); - emitTokenWithComment(21 /* CloseParenToken */, node.expression ? node.expression.end : openParenPos, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression ? node.expression.end : openParenPos, writePunctuation, node); } function emitFunctionExpression(node) { generateNameIfNeeded(node.name); @@ -111891,22 +112230,22 @@ var ts; emit(node.equalsGreaterThanToken); } function emitDeleteExpression(node) { - emitTokenWithComment(89 /* DeleteKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(89 /* SyntaxKind.DeleteKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } function emitTypeOfExpression(node) { - emitTokenWithComment(112 /* TypeOfKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(112 /* SyntaxKind.TypeOfKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } function emitVoidExpression(node) { - emitTokenWithComment(114 /* VoidKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(114 /* SyntaxKind.VoidKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } function emitAwaitExpression(node) { - emitTokenWithComment(132 /* AwaitKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(132 /* SyntaxKind.AwaitKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } @@ -111931,9 +112270,9 @@ var ts; // expression a prefix increment whose operand is a plus expression - (++(+x)) // The same is true of minus of course. var operand = node.operand; - return operand.kind === 219 /* PrefixUnaryExpression */ - && ((node.operator === 39 /* PlusToken */ && (operand.operator === 39 /* PlusToken */ || operand.operator === 45 /* PlusPlusToken */)) - || (node.operator === 40 /* MinusToken */ && (operand.operator === 40 /* MinusToken */ || operand.operator === 46 /* MinusMinusToken */))); + return operand.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ + && ((node.operator === 39 /* SyntaxKind.PlusToken */ && (operand.operator === 39 /* SyntaxKind.PlusToken */ || operand.operator === 45 /* SyntaxKind.PlusPlusToken */)) + || (node.operator === 40 /* SyntaxKind.MinusToken */ && (operand.operator === 40 /* SyntaxKind.MinusToken */ || operand.operator === 46 /* SyntaxKind.MinusMinusToken */))); } function emitPostfixUnaryExpression(node) { emitExpression(node.operand, parenthesizer.parenthesizeOperandOfPostfixUnary); @@ -111974,12 +112313,12 @@ var ts; return maybeEmitExpression(next, parent, "left"); } function onOperator(operatorToken, _state, node) { - var isCommaOperator = operatorToken.kind !== 27 /* CommaToken */; + var isCommaOperator = operatorToken.kind !== 27 /* SyntaxKind.CommaToken */; var linesBeforeOperator = getLinesBetweenNodes(node, node.left, operatorToken); var linesAfterOperator = getLinesBetweenNodes(node, operatorToken, node.right); writeLinesAndIndent(linesBeforeOperator, isCommaOperator); emitLeadingCommentsOfPosition(operatorToken.pos); - writeTokenNode(operatorToken, operatorToken.kind === 101 /* InKeyword */ ? writeKeyword : writeOperator); + writeTokenNode(operatorToken, operatorToken.kind === 101 /* SyntaxKind.InKeyword */ ? writeKeyword : writeOperator); emitTrailingCommentsOfPosition(operatorToken.end, /*prefixSpace*/ true); // Binary operators should have a space before the comment starts writeLinesAndIndent(linesAfterOperator, /*writeSpaceIfNotIndenting*/ true); } @@ -112010,11 +112349,11 @@ var ts; var parenthesizerRule = side === "left" ? parenthesizer.getParenthesizeLeftSideOfBinaryForOperator(parent.operatorToken.kind) : parenthesizer.getParenthesizeRightSideOfBinaryForOperator(parent.operatorToken.kind); - var pipelinePhase = getPipelinePhase(0 /* Notification */, 1 /* Expression */, next); + var pipelinePhase = getPipelinePhase(0 /* PipelinePhase.Notification */, 1 /* EmitHint.Expression */, next); if (pipelinePhase === pipelineEmitWithSubstitution) { ts.Debug.assertIsDefined(lastSubstitution); next = parenthesizerRule(ts.cast(lastSubstitution, ts.isExpression)); - pipelinePhase = getNextPipelinePhase(1 /* Substitution */, 1 /* Expression */, next); + pipelinePhase = getNextPipelinePhase(1 /* PipelinePhase.Substitution */, 1 /* EmitHint.Expression */, next); lastSubstitution = undefined; } if (pipelinePhase === pipelineEmitWithComments || @@ -112025,7 +112364,7 @@ var ts; } } currentParenthesizerRule = parenthesizerRule; - pipelinePhase(1 /* Expression */, next); + pipelinePhase(1 /* EmitHint.Expression */, next); } } function emitConditionalExpression(node) { @@ -112047,15 +112386,15 @@ var ts; } function emitTemplateExpression(node) { emit(node.head); - emitList(node, node.templateSpans, 262144 /* TemplateExpressionSpans */); + emitList(node, node.templateSpans, 262144 /* ListFormat.TemplateExpressionSpans */); } function emitYieldExpression(node) { - emitTokenWithComment(125 /* YieldKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(125 /* SyntaxKind.YieldKeyword */, node.pos, writeKeyword, node); emit(node.asteriskToken); emitExpressionWithLeadingSpace(node.expression && parenthesizeExpressionForNoAsi(node.expression), parenthesizeExpressionForNoAsiAndDisallowedComma); } function emitSpreadElement(node) { - emitTokenWithComment(25 /* DotDotDotToken */, node.pos, writePunctuation, node); + emitTokenWithComment(25 /* SyntaxKind.DotDotDotToken */, node.pos, writePunctuation, node); emitExpression(node.expression, parenthesizer.parenthesizeExpressionForDisallowedComma); } function emitClassExpression(node) { @@ -112098,10 +112437,10 @@ var ts; emitBlockStatements(node, /*forceSingleLine*/ !node.multiLine && isEmptyBlock(node)); } function emitBlockStatements(node, forceSingleLine) { - emitTokenWithComment(18 /* OpenBraceToken */, node.pos, writePunctuation, /*contextNode*/ node); - var format = forceSingleLine || ts.getEmitFlags(node) & 1 /* SingleLine */ ? 768 /* SingleLineBlockStatements */ : 129 /* MultiLineBlockStatements */; + emitTokenWithComment(18 /* SyntaxKind.OpenBraceToken */, node.pos, writePunctuation, /*contextNode*/ node); + var format = forceSingleLine || ts.getEmitFlags(node) & 1 /* EmitFlags.SingleLine */ ? 768 /* ListFormat.SingleLineBlockStatements */ : 129 /* ListFormat.MultiLineBlockStatements */; emitList(node, node.statements, format); - emitTokenWithComment(19 /* CloseBraceToken */, node.statements.end, writePunctuation, /*contextNode*/ node, /*indentLeading*/ !!(format & 1 /* MultiLine */)); + emitTokenWithComment(19 /* SyntaxKind.CloseBraceToken */, node.statements.end, writePunctuation, /*contextNode*/ node, /*indentLeading*/ !!(format & 1 /* ListFormat.MultiLine */)); } function emitVariableStatement(node) { emitModifiers(node, node.modifiers); @@ -112122,21 +112461,21 @@ var ts; emitExpression(node.expression, parenthesizer.parenthesizeExpressionOfExpressionStatement); // Emit semicolon in non json files // or if json file that created synthesized expression(eg.define expression statement when --out and amd code generation) - if (!ts.isJsonSourceFile(currentSourceFile) || ts.nodeIsSynthesized(node.expression)) { + if (!currentSourceFile || !ts.isJsonSourceFile(currentSourceFile) || ts.nodeIsSynthesized(node.expression)) { writeTrailingSemicolon(); } } function emitIfStatement(node) { - var openParenPos = emitTokenWithComment(99 /* IfKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(99 /* SyntaxKind.IfKeyword */, node.pos, writeKeyword, node); writeSpace(); - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitExpression(node.expression); - emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); emitEmbeddedStatement(node, node.thenStatement); if (node.elseStatement) { writeLineOrSpace(node, node.thenStatement, node.elseStatement); - emitTokenWithComment(91 /* ElseKeyword */, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 239 /* IfStatement */) { + emitTokenWithComment(91 /* SyntaxKind.ElseKeyword */, node.thenStatement.end, writeKeyword, node); + if (node.elseStatement.kind === 239 /* SyntaxKind.IfStatement */) { writeSpace(); emit(node.elseStatement); } @@ -112146,14 +112485,14 @@ var ts; } } function emitWhileClause(node, startPos) { - var openParenPos = emitTokenWithComment(115 /* WhileKeyword */, startPos, writeKeyword, node); + var openParenPos = emitTokenWithComment(115 /* SyntaxKind.WhileKeyword */, startPos, writeKeyword, node); writeSpace(); - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitExpression(node.expression); - emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); } function emitDoStatement(node) { - emitTokenWithComment(90 /* DoKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(90 /* SyntaxKind.DoKeyword */, node.pos, writeKeyword, node); emitEmbeddedStatement(node, node.statement); if (ts.isBlock(node.statement) && !preserveSourceNewlines) { writeSpace(); @@ -112169,45 +112508,45 @@ var ts; emitEmbeddedStatement(node, node.statement); } function emitForStatement(node) { - var openParenPos = emitTokenWithComment(97 /* ForKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(97 /* SyntaxKind.ForKeyword */, node.pos, writeKeyword, node); writeSpace(); - var pos = emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, /*contextNode*/ node); + var pos = emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, /*contextNode*/ node); emitForBinding(node.initializer); - pos = emitTokenWithComment(26 /* SemicolonToken */, node.initializer ? node.initializer.end : pos, writePunctuation, node); + pos = emitTokenWithComment(26 /* SyntaxKind.SemicolonToken */, node.initializer ? node.initializer.end : pos, writePunctuation, node); emitExpressionWithLeadingSpace(node.condition); - pos = emitTokenWithComment(26 /* SemicolonToken */, node.condition ? node.condition.end : pos, writePunctuation, node); + pos = emitTokenWithComment(26 /* SyntaxKind.SemicolonToken */, node.condition ? node.condition.end : pos, writePunctuation, node); emitExpressionWithLeadingSpace(node.incrementor); - emitTokenWithComment(21 /* CloseParenToken */, node.incrementor ? node.incrementor.end : pos, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.incrementor ? node.incrementor.end : pos, writePunctuation, node); emitEmbeddedStatement(node, node.statement); } function emitForInStatement(node) { - var openParenPos = emitTokenWithComment(97 /* ForKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(97 /* SyntaxKind.ForKeyword */, node.pos, writeKeyword, node); writeSpace(); - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(101 /* InKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(101 /* SyntaxKind.InKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); - emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); emitEmbeddedStatement(node, node.statement); } function emitForOfStatement(node) { - var openParenPos = emitTokenWithComment(97 /* ForKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(97 /* SyntaxKind.ForKeyword */, node.pos, writeKeyword, node); writeSpace(); emitWithTrailingSpace(node.awaitModifier); - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(160 /* OfKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(160 /* SyntaxKind.OfKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); - emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); emitEmbeddedStatement(node, node.statement); } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 255 /* VariableDeclarationList */) { + if (node.kind === 255 /* SyntaxKind.VariableDeclarationList */) { emit(node); } else { @@ -112216,12 +112555,12 @@ var ts; } } function emitContinueStatement(node) { - emitTokenWithComment(86 /* ContinueKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(86 /* SyntaxKind.ContinueKeyword */, node.pos, writeKeyword, node); emitWithLeadingSpace(node.label); writeTrailingSemicolon(); } function emitBreakStatement(node) { - emitTokenWithComment(81 /* BreakKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(81 /* SyntaxKind.BreakKeyword */, node.pos, writeKeyword, node); emitWithLeadingSpace(node.label); writeTrailingSemicolon(); } @@ -112244,13 +112583,13 @@ var ts; } pos = writeTokenText(token, writer, pos); if (isSimilarNode && contextNode.end !== pos) { - var isJsxExprContext = contextNode.kind === 288 /* JsxExpression */; + var isJsxExprContext = contextNode.kind === 288 /* SyntaxKind.JsxExpression */; emitTrailingCommentsOfPosition(pos, /*prefixSpace*/ !isJsxExprContext, /*forceNoNewline*/ isJsxExprContext); } return pos; } function commentWillEmitNewLine(node) { - return node.kind === 2 /* SingleLineCommentTrivia */ || !!node.hasTrailingNewLine; + return node.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */ || !!node.hasTrailingNewLine; } function willEmitLeadingNewLine(node) { if (!currentSourceFile) @@ -112290,40 +112629,40 @@ var ts; return parenthesizeExpressionForNoAsi(parenthesizer.parenthesizeExpressionForDisallowedComma(node)); } function emitReturnStatement(node) { - emitTokenWithComment(105 /* ReturnKeyword */, node.pos, writeKeyword, /*contextNode*/ node); + emitTokenWithComment(105 /* SyntaxKind.ReturnKeyword */, node.pos, writeKeyword, /*contextNode*/ node); emitExpressionWithLeadingSpace(node.expression && parenthesizeExpressionForNoAsi(node.expression), parenthesizeExpressionForNoAsi); writeTrailingSemicolon(); } function emitWithStatement(node) { - var openParenPos = emitTokenWithComment(116 /* WithKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(116 /* SyntaxKind.WithKeyword */, node.pos, writeKeyword, node); writeSpace(); - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitExpression(node.expression); - emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); emitEmbeddedStatement(node, node.statement); } function emitSwitchStatement(node) { - var openParenPos = emitTokenWithComment(107 /* SwitchKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(107 /* SyntaxKind.SwitchKeyword */, node.pos, writeKeyword, node); writeSpace(); - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitExpression(node.expression); - emitTokenWithComment(21 /* CloseParenToken */, node.expression.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); writeSpace(); emit(node.caseBlock); } function emitLabeledStatement(node) { emit(node.label); - emitTokenWithComment(58 /* ColonToken */, node.label.end, writePunctuation, node); + emitTokenWithComment(58 /* SyntaxKind.ColonToken */, node.label.end, writePunctuation, node); writeSpace(); emit(node.statement); } function emitThrowStatement(node) { - emitTokenWithComment(109 /* ThrowKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(109 /* SyntaxKind.ThrowKeyword */, node.pos, writeKeyword, node); emitExpressionWithLeadingSpace(parenthesizeExpressionForNoAsi(node.expression), parenthesizeExpressionForNoAsi); writeTrailingSemicolon(); } function emitTryStatement(node) { - emitTokenWithComment(111 /* TryKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(111 /* SyntaxKind.TryKeyword */, node.pos, writeKeyword, node); writeSpace(); emit(node.tryBlock); if (node.catchClause) { @@ -112332,13 +112671,13 @@ var ts; } if (node.finallyBlock) { writeLineOrSpace(node, node.catchClause || node.tryBlock, node.finallyBlock); - emitTokenWithComment(96 /* FinallyKeyword */, (node.catchClause || node.tryBlock).end, writeKeyword, node); + emitTokenWithComment(96 /* SyntaxKind.FinallyKeyword */, (node.catchClause || node.tryBlock).end, writeKeyword, node); writeSpace(); emit(node.finallyBlock); } } function emitDebuggerStatement(node) { - writeToken(87 /* DebuggerKeyword */, node.pos, writeKeyword); + writeToken(87 /* SyntaxKind.DebuggerKeyword */, node.pos, writeKeyword); writeTrailingSemicolon(); } // @@ -112354,7 +112693,7 @@ var ts; function emitVariableDeclarationList(node) { writeKeyword(ts.isLet(node) ? "let" : ts.isVarConst(node) ? "const" : "var"); writeSpace(); - emitList(node, node.declarations, 528 /* VariableDeclarationList */); + emitList(node, node.declarations, 528 /* ListFormat.VariableDeclarationList */); } function emitFunctionDeclaration(node) { emitFunctionDeclarationOrExpression(node); @@ -112372,7 +112711,7 @@ var ts; var body = node.body; if (body) { if (ts.isBlock(body)) { - var indentedFlag = ts.getEmitFlags(node) & 65536 /* Indented */; + var indentedFlag = ts.getEmitFlags(node) & 65536 /* EmitFlags.Indented */; if (indentedFlag) { increaseIndent(); } @@ -112409,23 +112748,23 @@ var ts; // * The body is explicitly marked as multi-line. // * A non-synthesized body's start and end position are on different lines. // * Any statement in the body starts on a new line. - if (ts.getEmitFlags(body) & 1 /* SingleLine */) { + if (ts.getEmitFlags(body) & 1 /* EmitFlags.SingleLine */) { return true; } if (body.multiLine) { return false; } - if (!ts.nodeIsSynthesized(body) && !ts.rangeIsOnSingleLine(body, currentSourceFile)) { + if (!ts.nodeIsSynthesized(body) && currentSourceFile && !ts.rangeIsOnSingleLine(body, currentSourceFile)) { return false; } - if (getLeadingLineTerminatorCount(body, body.statements, 2 /* PreserveLines */) - || getClosingLineTerminatorCount(body, body.statements, 2 /* PreserveLines */)) { + if (getLeadingLineTerminatorCount(body, body.statements, 2 /* ListFormat.PreserveLines */) + || getClosingLineTerminatorCount(body, body.statements, 2 /* ListFormat.PreserveLines */)) { return false; } var previousStatement; for (var _a = 0, _b = body.statements; _a < _b.length; _a++) { var statement = _b[_a]; - if (getSeparatingLineTerminatorCount(previousStatement, statement, 2 /* PreserveLines */) > 0) { + if (getSeparatingLineTerminatorCount(previousStatement, statement, 2 /* ListFormat.PreserveLines */) > 0) { return false; } previousStatement = statement; @@ -112440,14 +112779,9 @@ var ts; var emitBlockFunctionBody = shouldEmitBlockFunctionBodyOnSingleLine(body) ? emitBlockFunctionBodyOnSingleLine : emitBlockFunctionBodyWorker; - if (emitBodyWithDetachedComments) { - emitBodyWithDetachedComments(body, body.statements, emitBlockFunctionBody); - } - else { - emitBlockFunctionBody(body); - } + emitBodyWithDetachedComments(body, body.statements, emitBlockFunctionBody); decreaseIndent(); - writeToken(19 /* CloseBraceToken */, body.statements.end, writePunctuation, body); + writeToken(19 /* SyntaxKind.CloseBraceToken */, body.statements.end, writePunctuation, body); onAfterEmitNode === null || onAfterEmitNode === void 0 ? void 0 : onAfterEmitNode(body); } function emitBlockFunctionBodyOnSingleLine(body) { @@ -112460,11 +112794,11 @@ var ts; emitHelpers(body); if (statementOffset === 0 && pos === writer.getTextPos() && emitBlockFunctionBodyOnSingleLine) { decreaseIndent(); - emitList(body, body.statements, 768 /* SingleLineFunctionBodyStatements */); + emitList(body, body.statements, 768 /* ListFormat.SingleLineFunctionBodyStatements */); increaseIndent(); } else { - emitList(body, body.statements, 1 /* MultiLineFunctionBodyStatements */, /*parenthesizerRule*/ undefined, statementOffset); + emitList(body, body.statements, 1 /* ListFormat.MultiLineFunctionBodyStatements */, /*parenthesizerRule*/ undefined, statementOffset); } } function emitClassDeclaration(node) { @@ -112479,15 +112813,15 @@ var ts; writeSpace(); emitIdentifierName(node.name); } - var indentedFlag = ts.getEmitFlags(node) & 65536 /* Indented */; + var indentedFlag = ts.getEmitFlags(node) & 65536 /* EmitFlags.Indented */; if (indentedFlag) { increaseIndent(); } emitTypeParameters(node, node.typeParameters); - emitList(node, node.heritageClauses, 0 /* ClassHeritageClauses */); + emitList(node, node.heritageClauses, 0 /* ListFormat.ClassHeritageClauses */); writeSpace(); writePunctuation("{"); - emitList(node, node.members, 129 /* ClassMembers */); + emitList(node, node.members, 129 /* ListFormat.ClassMembers */); writePunctuation("}"); if (indentedFlag) { decreaseIndent(); @@ -112500,10 +112834,10 @@ var ts; writeSpace(); emit(node.name); emitTypeParameters(node, node.typeParameters); - emitList(node, node.heritageClauses, 512 /* HeritageClauses */); + emitList(node, node.heritageClauses, 512 /* ListFormat.HeritageClauses */); writeSpace(); writePunctuation("{"); - emitList(node, node.members, 129 /* InterfaceMembers */); + emitList(node, node.members, 129 /* ListFormat.InterfaceMembers */); writePunctuation("}"); } function emitTypeAliasDeclaration(node) { @@ -112526,13 +112860,13 @@ var ts; emit(node.name); writeSpace(); writePunctuation("{"); - emitList(node, node.members, 145 /* EnumMembers */); + emitList(node, node.members, 145 /* ListFormat.EnumMembers */); writePunctuation("}"); } function emitModuleDeclaration(node) { emitModifiers(node, node.modifiers); - if (~node.flags & 1024 /* GlobalAugmentation */) { - writeKeyword(node.flags & 16 /* Namespace */ ? "namespace" : "module"); + if (~node.flags & 1024 /* NodeFlags.GlobalAugmentation */) { + writeKeyword(node.flags & 16 /* NodeFlags.Namespace */ ? "namespace" : "module"); writeSpace(); } emit(node.name); @@ -112554,27 +112888,27 @@ var ts; popNameGenerationScope(node); } function emitCaseBlock(node) { - emitTokenWithComment(18 /* OpenBraceToken */, node.pos, writePunctuation, node); - emitList(node, node.clauses, 129 /* CaseBlockClauses */); - emitTokenWithComment(19 /* CloseBraceToken */, node.clauses.end, writePunctuation, node, /*indentLeading*/ true); + emitTokenWithComment(18 /* SyntaxKind.OpenBraceToken */, node.pos, writePunctuation, node); + emitList(node, node.clauses, 129 /* ListFormat.CaseBlockClauses */); + emitTokenWithComment(19 /* SyntaxKind.CloseBraceToken */, node.clauses.end, writePunctuation, node, /*indentLeading*/ true); } function emitImportEqualsDeclaration(node) { emitModifiers(node, node.modifiers); - emitTokenWithComment(100 /* ImportKeyword */, node.modifiers ? node.modifiers.end : node.pos, writeKeyword, node); + emitTokenWithComment(100 /* SyntaxKind.ImportKeyword */, node.modifiers ? node.modifiers.end : node.pos, writeKeyword, node); writeSpace(); if (node.isTypeOnly) { - emitTokenWithComment(152 /* TypeKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(152 /* SyntaxKind.TypeKeyword */, node.pos, writeKeyword, node); writeSpace(); } emit(node.name); writeSpace(); - emitTokenWithComment(63 /* EqualsToken */, node.name.end, writePunctuation, node); + emitTokenWithComment(63 /* SyntaxKind.EqualsToken */, node.name.end, writePunctuation, node); writeSpace(); emitModuleReference(node.moduleReference); writeTrailingSemicolon(); } function emitModuleReference(node) { - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { emitExpression(node); } else { @@ -112583,12 +112917,12 @@ var ts; } function emitImportDeclaration(node) { emitModifiers(node, node.modifiers); - emitTokenWithComment(100 /* ImportKeyword */, node.modifiers ? node.modifiers.end : node.pos, writeKeyword, node); + emitTokenWithComment(100 /* SyntaxKind.ImportKeyword */, node.modifiers ? node.modifiers.end : node.pos, writeKeyword, node); writeSpace(); if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(156 /* FromKeyword */, node.importClause.end, writeKeyword, node); + emitTokenWithComment(156 /* SyntaxKind.FromKeyword */, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -112599,20 +112933,20 @@ var ts; } function emitImportClause(node) { if (node.isTypeOnly) { - emitTokenWithComment(152 /* TypeKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(152 /* SyntaxKind.TypeKeyword */, node.pos, writeKeyword, node); writeSpace(); } emit(node.name); if (node.name && node.namedBindings) { - emitTokenWithComment(27 /* CommaToken */, node.name.end, writePunctuation, node); + emitTokenWithComment(27 /* SyntaxKind.CommaToken */, node.name.end, writePunctuation, node); writeSpace(); } emit(node.namedBindings); } function emitNamespaceImport(node) { - var asPos = emitTokenWithComment(41 /* AsteriskToken */, node.pos, writePunctuation, node); + var asPos = emitTokenWithComment(41 /* SyntaxKind.AsteriskToken */, node.pos, writePunctuation, node); writeSpace(); - emitTokenWithComment(127 /* AsKeyword */, asPos, writeKeyword, node); + emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, asPos, writeKeyword, node); writeSpace(); emit(node.name); } @@ -112623,37 +112957,37 @@ var ts; emitImportOrExportSpecifier(node); } function emitExportAssignment(node) { - var nextPos = emitTokenWithComment(93 /* ExportKeyword */, node.pos, writeKeyword, node); + var nextPos = emitTokenWithComment(93 /* SyntaxKind.ExportKeyword */, node.pos, writeKeyword, node); writeSpace(); if (node.isExportEquals) { - emitTokenWithComment(63 /* EqualsToken */, nextPos, writeOperator, node); + emitTokenWithComment(63 /* SyntaxKind.EqualsToken */, nextPos, writeOperator, node); } else { - emitTokenWithComment(88 /* DefaultKeyword */, nextPos, writeKeyword, node); + emitTokenWithComment(88 /* SyntaxKind.DefaultKeyword */, nextPos, writeKeyword, node); } writeSpace(); emitExpression(node.expression, node.isExportEquals ? - parenthesizer.getParenthesizeRightSideOfBinaryForOperator(63 /* EqualsToken */) : + parenthesizer.getParenthesizeRightSideOfBinaryForOperator(63 /* SyntaxKind.EqualsToken */) : parenthesizer.parenthesizeExpressionOfExportDefault); writeTrailingSemicolon(); } function emitExportDeclaration(node) { - var nextPos = emitTokenWithComment(93 /* ExportKeyword */, node.pos, writeKeyword, node); + var nextPos = emitTokenWithComment(93 /* SyntaxKind.ExportKeyword */, node.pos, writeKeyword, node); writeSpace(); if (node.isTypeOnly) { - nextPos = emitTokenWithComment(152 /* TypeKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(152 /* SyntaxKind.TypeKeyword */, nextPos, writeKeyword, node); writeSpace(); } if (node.exportClause) { emit(node.exportClause); } else { - nextPos = emitTokenWithComment(41 /* AsteriskToken */, nextPos, writePunctuation, node); + nextPos = emitTokenWithComment(41 /* SyntaxKind.AsteriskToken */, nextPos, writePunctuation, node); } if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(156 /* FromKeyword */, fromPos, writeKeyword, node); + emitTokenWithComment(156 /* SyntaxKind.FromKeyword */, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -112663,10 +112997,10 @@ var ts; writeTrailingSemicolon(); } function emitAssertClause(node) { - emitTokenWithComment(129 /* AssertKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(129 /* SyntaxKind.AssertKeyword */, node.pos, writeKeyword, node); writeSpace(); var elements = node.elements; - emitList(node, elements, 526226 /* ImportClauseEntries */); + emitList(node, elements, 526226 /* ListFormat.ImportClauseEntries */); } function emitAssertEntry(node) { emit(node.name); @@ -112674,26 +113008,26 @@ var ts; writeSpace(); var value = node.value; /** @see {emitPropertyAssignment} */ - if ((ts.getEmitFlags(value) & 512 /* NoLeadingComments */) === 0) { + if ((ts.getEmitFlags(value) & 512 /* EmitFlags.NoLeadingComments */) === 0) { var commentRange = ts.getCommentRange(value); emitTrailingCommentsOfPosition(commentRange.pos); } emit(value); } function emitNamespaceExportDeclaration(node) { - var nextPos = emitTokenWithComment(93 /* ExportKeyword */, node.pos, writeKeyword, node); + var nextPos = emitTokenWithComment(93 /* SyntaxKind.ExportKeyword */, node.pos, writeKeyword, node); writeSpace(); - nextPos = emitTokenWithComment(127 /* AsKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, nextPos, writeKeyword, node); writeSpace(); - nextPos = emitTokenWithComment(142 /* NamespaceKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(142 /* SyntaxKind.NamespaceKeyword */, nextPos, writeKeyword, node); writeSpace(); emit(node.name); writeTrailingSemicolon(); } function emitNamespaceExport(node) { - var asPos = emitTokenWithComment(41 /* AsteriskToken */, node.pos, writePunctuation, node); + var asPos = emitTokenWithComment(41 /* SyntaxKind.AsteriskToken */, node.pos, writePunctuation, node); writeSpace(); - emitTokenWithComment(127 /* AsKeyword */, asPos, writeKeyword, node); + emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, asPos, writeKeyword, node); writeSpace(); emit(node.name); } @@ -112705,7 +113039,7 @@ var ts; } function emitNamedImportsOrExports(node) { writePunctuation("{"); - emitList(node, node.elements, 525136 /* NamedImportsOrExportsElements */); + emitList(node, node.elements, 525136 /* ListFormat.NamedImportsOrExportsElements */); writePunctuation("}"); } function emitImportOrExportSpecifier(node) { @@ -112716,7 +113050,7 @@ var ts; if (node.propertyName) { emit(node.propertyName); writeSpace(); - emitTokenWithComment(127 /* AsKeyword */, node.propertyName.end, writeKeyword, node); + emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, node.propertyName.end, writeKeyword, node); writeSpace(); } emit(node.name); @@ -112735,7 +113069,7 @@ var ts; // function emitJsxElement(node) { emit(node.openingElement); - emitList(node, node.children, 262144 /* JsxElementOrFragmentChildren */); + emitList(node, node.children, 262144 /* ListFormat.JsxElementOrFragmentChildren */); emit(node.closingElement); } function emitJsxSelfClosingElement(node) { @@ -112748,7 +113082,7 @@ var ts; } function emitJsxFragment(node) { emit(node.openingFragment); - emitList(node, node.children, 262144 /* JsxElementOrFragmentChildren */); + emitList(node, node.children, 262144 /* ListFormat.JsxElementOrFragmentChildren */); emit(node.closingFragment); } function emitJsxOpeningElementOrFragment(node) { @@ -112777,7 +113111,7 @@ var ts; writePunctuation(">"); } function emitJsxAttributes(node) { - emitList(node, node.properties, 262656 /* JsxElementAttributes */); + emitList(node, node.properties, 262656 /* ListFormat.JsxElementAttributes */); } function emitJsxAttribute(node) { emit(node.name); @@ -112808,17 +113142,17 @@ var ts; if (isMultiline) { writer.increaseIndent(); } - var end = emitTokenWithComment(18 /* OpenBraceToken */, node.pos, writePunctuation, node); + var end = emitTokenWithComment(18 /* SyntaxKind.OpenBraceToken */, node.pos, writePunctuation, node); emit(node.dotDotDotToken); emitExpression(node.expression); - emitTokenWithComment(19 /* CloseBraceToken */, ((_a = node.expression) === null || _a === void 0 ? void 0 : _a.end) || end, writePunctuation, node); + emitTokenWithComment(19 /* SyntaxKind.CloseBraceToken */, ((_a = node.expression) === null || _a === void 0 ? void 0 : _a.end) || end, writePunctuation, node); if (isMultiline) { writer.decreaseIndent(); } } } function emitJsxTagName(node) { - if (node.kind === 79 /* Identifier */) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { emitExpression(node); } else { @@ -112829,30 +113163,31 @@ var ts; // Clauses // function emitCaseClause(node) { - emitTokenWithComment(82 /* CaseKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(82 /* SyntaxKind.CaseKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeExpressionForDisallowedComma); emitCaseOrDefaultClauseRest(node, node.statements, node.expression.end); } function emitDefaultClause(node) { - var pos = emitTokenWithComment(88 /* DefaultKeyword */, node.pos, writeKeyword, node); + var pos = emitTokenWithComment(88 /* SyntaxKind.DefaultKeyword */, node.pos, writeKeyword, node); emitCaseOrDefaultClauseRest(node, node.statements, pos); } function emitCaseOrDefaultClauseRest(parentNode, statements, colonPos) { var emitAsSingleStatement = statements.length === 1 && ( // treat synthesized nodes as located on the same line for emit purposes - ts.nodeIsSynthesized(parentNode) || + !currentSourceFile || + ts.nodeIsSynthesized(parentNode) || ts.nodeIsSynthesized(statements[0]) || ts.rangeStartPositionsAreOnSameLine(parentNode, statements[0], currentSourceFile)); - var format = 163969 /* CaseOrDefaultClauseStatements */; + var format = 163969 /* ListFormat.CaseOrDefaultClauseStatements */; if (emitAsSingleStatement) { - writeToken(58 /* ColonToken */, colonPos, writePunctuation, parentNode); + writeToken(58 /* SyntaxKind.ColonToken */, colonPos, writePunctuation, parentNode); writeSpace(); - format &= ~(1 /* MultiLine */ | 128 /* Indented */); + format &= ~(1 /* ListFormat.MultiLine */ | 128 /* ListFormat.Indented */); } else { - emitTokenWithComment(58 /* ColonToken */, colonPos, writePunctuation, parentNode); + emitTokenWithComment(58 /* SyntaxKind.ColonToken */, colonPos, writePunctuation, parentNode); } emitList(parentNode, statements, format); } @@ -112860,15 +113195,15 @@ var ts; writeSpace(); writeTokenText(node.token, writeKeyword); writeSpace(); - emitList(node, node.types, 528 /* HeritageClauseTypes */); + emitList(node, node.types, 528 /* ListFormat.HeritageClauseTypes */); } function emitCatchClause(node) { - var openParenPos = emitTokenWithComment(83 /* CatchKeyword */, node.pos, writeKeyword, node); + var openParenPos = emitTokenWithComment(83 /* SyntaxKind.CatchKeyword */, node.pos, writeKeyword, node); writeSpace(); if (node.variableDeclaration) { - emitTokenWithComment(20 /* OpenParenToken */, openParenPos, writePunctuation, node); + emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emit(node.variableDeclaration); - emitTokenWithComment(21 /* CloseParenToken */, node.variableDeclaration.end, writePunctuation, node); + emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.variableDeclaration.end, writePunctuation, node); writeSpace(); } emit(node.block); @@ -112888,7 +113223,7 @@ var ts; // "comment1" is not considered to be leading comment for node.initializer // but rather a trailing comment on the previous node. var initializer = node.initializer; - if ((ts.getEmitFlags(initializer) & 512 /* NoLeadingComments */) === 0) { + if ((ts.getEmitFlags(initializer) & 512 /* EmitFlags.NoLeadingComments */) === 0) { var commentRange = ts.getCommentRange(initializer); emitTrailingCommentsOfPosition(commentRange.pos); } @@ -112905,7 +113240,7 @@ var ts; } function emitSpreadAssignment(node) { if (node.expression) { - emitTokenWithComment(25 /* DotDotDotToken */, node.pos, writePunctuation, node); + emitTokenWithComment(25 /* SyntaxKind.DotDotDotToken */, node.pos, writePunctuation, node); emitExpression(node.expression, parenthesizer.parenthesizeExpressionForDisallowedComma); } } @@ -112936,12 +113271,12 @@ var ts; } } if (node.tags) { - if (node.tags.length === 1 && node.tags[0].kind === 343 /* JSDocTypeTag */ && !node.comment) { + if (node.tags.length === 1 && node.tags[0].kind === 343 /* SyntaxKind.JSDocTypeTag */ && !node.comment) { writeSpace(); emit(node.tags[0]); } else { - emitList(node, node.tags, 33 /* JSDocComment */); + emitList(node, node.tags, 33 /* ListFormat.JSDocComment */); } } writeSpace(); @@ -112975,13 +113310,13 @@ var ts; emitJSDocTagName(tag.tagName); emitJSDocTypeExpression(tag.constraint); writeSpace(); - emitList(tag, tag.typeParameters, 528 /* CommaListElements */); + emitList(tag, tag.typeParameters, 528 /* ListFormat.CommaListElements */); emitJSDocComment(tag.comment); } function emitJSDocTypedefTag(tag) { emitJSDocTagName(tag.tagName); if (tag.typeExpression) { - if (tag.typeExpression.kind === 309 /* JSDocTypeExpression */) { + if (tag.typeExpression.kind === 309 /* SyntaxKind.JSDocTypeExpression */) { emitJSDocTypeExpression(tag.typeExpression); } else { @@ -113000,7 +113335,7 @@ var ts; emit(tag.fullName); } emitJSDocComment(tag.comment); - if (tag.typeExpression && tag.typeExpression.kind === 322 /* JSDocTypeLiteral */) { + if (tag.typeExpression && tag.typeExpression.kind === 322 /* SyntaxKind.JSDocTypeLiteral */) { emitJSDocTypeLiteral(tag.typeExpression); } } @@ -113018,14 +113353,14 @@ var ts; emitJSDocComment(tag.comment); } function emitJSDocTypeLiteral(lit) { - emitList(lit, ts.factory.createNodeArray(lit.jsDocPropertyTags), 33 /* JSDocComment */); + emitList(lit, ts.factory.createNodeArray(lit.jsDocPropertyTags), 33 /* ListFormat.JSDocComment */); } function emitJSDocSignature(sig) { if (sig.typeParameters) { - emitList(sig, ts.factory.createNodeArray(sig.typeParameters), 33 /* JSDocComment */); + emitList(sig, ts.factory.createNodeArray(sig.typeParameters), 33 /* ListFormat.JSDocComment */); } if (sig.parameters) { - emitList(sig, ts.factory.createNodeArray(sig.parameters), 33 /* JSDocComment */); + emitList(sig, ts.factory.createNodeArray(sig.parameters), 33 /* ListFormat.JSDocComment */); } if (sig.type) { writeLine(); @@ -113073,16 +113408,14 @@ var ts; function emitSourceFile(node) { writeLine(); var statements = node.statements; - if (emitBodyWithDetachedComments) { - // Emit detached comment if there are no prologue directives or if the first node is synthesized. - // The synthesized node will have no leading comment so some comments may be missed. - var shouldEmitDetachedComment = statements.length === 0 || - !ts.isPrologueDirective(statements[0]) || - ts.nodeIsSynthesized(statements[0]); - if (shouldEmitDetachedComment) { - emitBodyWithDetachedComments(node, statements, emitSourceFileWorker); - return; - } + // Emit detached comment if there are no prologue directives or if the first node is synthesized. + // The synthesized node will have no leading comment so some comments may be missed. + var shouldEmitDetachedComment = statements.length === 0 || + !ts.isPrologueDirective(statements[0]) || + ts.nodeIsSynthesized(statements[0]); + if (shouldEmitDetachedComment) { + emitBodyWithDetachedComments(node, statements, emitSourceFileWorker); + return; } emitSourceFileWorker(node); } @@ -113108,21 +113441,21 @@ var ts; var pos = writer.getTextPos(); writeComment("/// "); if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "no-default-lib" /* NoDefaultLib */ }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "no-default-lib" /* BundleFileSectionKind.NoDefaultLib */ }); writeLine(); } if (currentSourceFile && currentSourceFile.moduleName) { - writeComment("/// "); + writeComment("/// ")); writeLine(); } if (currentSourceFile && currentSourceFile.amdDependencies) { for (var _a = 0, _b = currentSourceFile.amdDependencies; _a < _b.length; _a++) { var dep = _b[_a]; if (dep.name) { - writeComment("/// "); + writeComment("/// ")); } else { - writeComment("/// "); + writeComment("/// ")); } writeLine(); } @@ -113130,28 +113463,28 @@ var ts; for (var _c = 0, files_2 = files; _c < files_2.length; _c++) { var directive = files_2[_c]; var pos = writer.getTextPos(); - writeComment("/// "); + writeComment("/// ")); if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* Reference */, data: directive.fileName }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* BundleFileSectionKind.Reference */, data: directive.fileName }); writeLine(); } for (var _d = 0, types_24 = types; _d < types_24.length; _d++) { var directive = types_24[_d]; var pos = writer.getTextPos(); var resolutionMode = directive.resolutionMode && directive.resolutionMode !== (currentSourceFile === null || currentSourceFile === void 0 ? void 0 : currentSourceFile.impliedNodeFormat) - ? "resolution-mode=\"" + (directive.resolutionMode === ts.ModuleKind.ESNext ? "import" : "require") + "\"" + ? "resolution-mode=\"".concat(directive.resolutionMode === ts.ModuleKind.ESNext ? "import" : "require", "\"") : ""; - writeComment("/// "); + writeComment("/// ")); if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: !directive.resolutionMode ? "type" /* Type */ : directive.resolutionMode === ts.ModuleKind.ESNext ? "type-import" /* TypeResolutionModeImport */ : "type-require" /* TypeResolutionModeRequire */, data: directive.fileName }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: !directive.resolutionMode ? "type" /* BundleFileSectionKind.Type */ : directive.resolutionMode === ts.ModuleKind.ESNext ? "type-import" /* BundleFileSectionKind.TypeResolutionModeImport */ : "type-require" /* BundleFileSectionKind.TypeResolutionModeRequire */, data: directive.fileName }); writeLine(); } for (var _e = 0, libs_1 = libs; _e < libs_1.length; _e++) { var directive = libs_1[_e]; var pos = writer.getTextPos(); - writeComment("/// "); + writeComment("/// ")); if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "lib" /* Lib */, data: directive.fileName }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "lib" /* BundleFileSectionKind.Lib */, data: directive.fileName }); writeLine(); } } @@ -113162,22 +113495,22 @@ var ts; emitHelpers(node); var index = ts.findIndex(statements, function (statement) { return !ts.isPrologueDirective(statement); }); emitTripleSlashDirectivesIfNeeded(node); - emitList(node, statements, 1 /* MultiLine */, /*parenthesizerRule*/ undefined, index === -1 ? statements.length : index); + emitList(node, statements, 1 /* ListFormat.MultiLine */, /*parenthesizerRule*/ undefined, index === -1 ? statements.length : index); popNameGenerationScope(node); } // Transformation nodes function emitPartiallyEmittedExpression(node) { var emitFlags = ts.getEmitFlags(node); - if (!(emitFlags & 512 /* NoLeadingComments */) && node.pos !== node.expression.pos) { + if (!(emitFlags & 512 /* EmitFlags.NoLeadingComments */) && node.pos !== node.expression.pos) { emitTrailingCommentsOfPosition(node.expression.pos); } emitExpression(node.expression); - if (!(emitFlags & 1024 /* NoTrailingComments */) && node.end !== node.expression.end) { + if (!(emitFlags & 1024 /* EmitFlags.NoTrailingComments */) && node.end !== node.expression.end) { emitLeadingCommentsOfPosition(node.expression.end); } } function emitCommaList(node) { - emitExpressionList(node, node.elements, 528 /* CommaListElements */, /*parenthesizerRule*/ undefined); + emitExpressionList(node, node.elements, 528 /* ListFormat.CommaListElements */, /*parenthesizerRule*/ undefined); } /** * Emits any prologue directives at the start of a Statement list, returning the @@ -113198,7 +113531,7 @@ var ts; var pos = writer.getTextPos(); emit(statement); if (recordBundleFileSection && bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "prologue" /* Prologue */, data: statement.expression.text }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "prologue" /* BundleFileSectionKind.Prologue */, data: statement.expression.text }); if (seenPrologueDirectives) { seenPrologueDirectives.add(statement.expression.text); } @@ -113219,7 +113552,7 @@ var ts; var pos = writer.getTextPos(); emit(prologue); if (bundleFileInfo) - bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "prologue" /* Prologue */, data: prologue.data }); + bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "prologue" /* BundleFileSectionKind.Prologue */, data: prologue.data }); if (seenPrologueDirectives) { seenPrologueDirectives.add(prologue.data); } @@ -113312,7 +113645,7 @@ var ts; } function emitModifiers(node, modifiers) { if (modifiers && modifiers.length) { - emitList(node, modifiers, 262656 /* Modifiers */); + emitList(node, modifiers, 262656 /* ListFormat.Modifiers */); writeSpace(); } } @@ -113326,7 +113659,7 @@ var ts; function emitInitializer(node, equalCommentStartPos, container, parenthesizerRule) { if (node) { writeSpace(); - emitTokenWithComment(63 /* EqualsToken */, equalCommentStartPos, writeOperator, container); + emitTokenWithComment(63 /* SyntaxKind.EqualsToken */, equalCommentStartPos, writeOperator, container); writeSpace(); emitExpression(node, parenthesizerRule); } @@ -113356,7 +113689,7 @@ var ts; } } function emitEmbeddedStatement(parent, node) { - if (ts.isBlock(node) || ts.getEmitFlags(parent) & 1 /* SingleLine */) { + if (ts.isBlock(node) || ts.getEmitFlags(parent) & 1 /* EmitFlags.SingleLine */) { writeSpace(); emit(node); } @@ -113364,7 +113697,7 @@ var ts; writeLine(); increaseIndent(); if (ts.isEmptyStatement(node)) { - pipelineEmit(5 /* EmbeddedStatement */, node); + pipelineEmit(5 /* EmitHint.EmbeddedStatement */, node); } else { emit(node); @@ -113373,19 +113706,19 @@ var ts; } } function emitDecorators(parentNode, decorators) { - emitList(parentNode, decorators, 2146305 /* Decorators */); + emitList(parentNode, decorators, 2146305 /* ListFormat.Decorators */); } function emitTypeArguments(parentNode, typeArguments) { - emitList(parentNode, typeArguments, 53776 /* TypeArguments */, typeArgumentParenthesizerRuleSelector); + emitList(parentNode, typeArguments, 53776 /* ListFormat.TypeArguments */, typeArgumentParenthesizerRuleSelector); } function emitTypeParameters(parentNode, typeParameters) { if (ts.isFunctionLike(parentNode) && parentNode.typeArguments) { // Quick info uses type arguments in place of type parameters on instantiated signatures return emitTypeArguments(parentNode, parentNode.typeArguments); } - emitList(parentNode, typeParameters, 53776 /* TypeParameters */); + emitList(parentNode, typeParameters, 53776 /* ListFormat.TypeParameters */); } function emitParameters(parentNode, parameters) { - emitList(parentNode, parameters, 2576 /* Parameters */); + emitList(parentNode, parameters, 2576 /* ListFormat.Parameters */); } function canEmitSimpleArrowHead(parentNode, parameters) { var parameter = ts.singleOrUndefined(parameters); @@ -113406,32 +113739,32 @@ var ts; } function emitParametersForArrow(parentNode, parameters) { if (canEmitSimpleArrowHead(parentNode, parameters)) { - emitList(parentNode, parameters, 2576 /* Parameters */ & ~2048 /* Parenthesis */); + emitList(parentNode, parameters, 2576 /* ListFormat.Parameters */ & ~2048 /* ListFormat.Parenthesis */); } else { emitParameters(parentNode, parameters); } } function emitParametersForIndexSignature(parentNode, parameters) { - emitList(parentNode, parameters, 8848 /* IndexSignatureParameters */); + emitList(parentNode, parameters, 8848 /* ListFormat.IndexSignatureParameters */); } function writeDelimiter(format) { - switch (format & 60 /* DelimitersMask */) { - case 0 /* None */: + switch (format & 60 /* ListFormat.DelimitersMask */) { + case 0 /* ListFormat.None */: break; - case 16 /* CommaDelimited */: + case 16 /* ListFormat.CommaDelimited */: writePunctuation(","); break; - case 4 /* BarDelimited */: + case 4 /* ListFormat.BarDelimited */: writeSpace(); writePunctuation("|"); break; - case 32 /* AsteriskDelimited */: + case 32 /* ListFormat.AsteriskDelimited */: writeSpace(); writePunctuation("*"); writeSpace(); break; - case 8 /* AmpersandDelimited */: + case 8 /* ListFormat.AmpersandDelimited */: writeSpace(); writePunctuation("&"); break; @@ -113447,11 +113780,11 @@ var ts; if (start === void 0) { start = 0; } if (count === void 0) { count = children ? children.length - start : 0; } var isUndefined = children === undefined; - if (isUndefined && format & 16384 /* OptionalIfUndefined */) { + if (isUndefined && format & 16384 /* ListFormat.OptionalIfUndefined */) { return; } var isEmpty = children === undefined || start >= children.length || count === 0; - if (isEmpty && format & 32768 /* OptionalIfEmpty */) { + if (isEmpty && format & 32768 /* ListFormat.OptionalIfEmpty */) { if (onBeforeEmitNodeArray) { onBeforeEmitNodeArray(children); } @@ -113460,7 +113793,7 @@ var ts; } return; } - if (format & 15360 /* BracketsMask */) { + if (format & 15360 /* ListFormat.BracketsMask */) { writePunctuation(getOpeningBracket(format)); if (isEmpty && children) { emitTrailingCommentsOfPosition(children.pos, /*prefixSpace*/ true); // Emit comments within empty bracketed lists @@ -113471,28 +113804,28 @@ var ts; } if (isEmpty) { // Write a line terminator if the parent node was multi-line - if (format & 1 /* MultiLine */ && !(preserveSourceNewlines && (!parentNode || ts.rangeIsOnSingleLine(parentNode, currentSourceFile)))) { + if (format & 1 /* ListFormat.MultiLine */ && !(preserveSourceNewlines && (!parentNode || currentSourceFile && ts.rangeIsOnSingleLine(parentNode, currentSourceFile)))) { writeLine(); } - else if (format & 256 /* SpaceBetweenBraces */ && !(format & 524288 /* NoSpaceIfEmpty */)) { + else if (format & 256 /* ListFormat.SpaceBetweenBraces */ && !(format & 524288 /* ListFormat.NoSpaceIfEmpty */)) { writeSpace(); } } else { ts.Debug.type(children); // Write the opening line terminator or leading whitespace. - var mayEmitInterveningComments = (format & 262144 /* NoInterveningComments */) === 0; + var mayEmitInterveningComments = (format & 262144 /* ListFormat.NoInterveningComments */) === 0; var shouldEmitInterveningComments = mayEmitInterveningComments; var leadingLineTerminatorCount = getLeadingLineTerminatorCount(parentNode, children, format); // TODO: GH#18217 if (leadingLineTerminatorCount) { writeLine(leadingLineTerminatorCount); shouldEmitInterveningComments = false; } - else if (format & 256 /* SpaceBetweenBraces */) { + else if (format & 256 /* ListFormat.SpaceBetweenBraces */) { writeSpace(); } // Increase the indent, if requested. - if (format & 128 /* Indented */) { + if (format & 128 /* ListFormat.Indented */) { increaseIndent(); } var emitListItem = getEmitListItem(emit, parenthesizerRule); @@ -113503,7 +113836,7 @@ var ts; for (var i = 0; i < count; i++) { var child = children[start + i]; // Write the delimiter if this is not the first node. - if (format & 32 /* AsteriskDelimited */) { + if (format & 32 /* ListFormat.AsteriskDelimited */) { // always write JSDoc in the format "\n *" writeLine(); writeDelimiter(format); @@ -113515,7 +113848,7 @@ var ts; // a // /* End of parameter a */ -> this comment isn't considered to be trailing comment of parameter "a" due to newline // , - if (format & 60 /* DelimitersMask */ && previousSibling.end !== (parentNode ? parentNode.end : -1)) { + if (format & 60 /* ListFormat.DelimitersMask */ && previousSibling.end !== (parentNode ? parentNode.end : -1)) { emitLeadingCommentsOfPosition(previousSibling.end); } writeDelimiter(format); @@ -113525,14 +113858,14 @@ var ts; if (separatingLineTerminatorCount > 0) { // If a synthesized node in a single-line list starts on a new // line, we should increase the indent. - if ((format & (3 /* LinesMask */ | 128 /* Indented */)) === 0 /* SingleLine */) { + if ((format & (3 /* ListFormat.LinesMask */ | 128 /* ListFormat.Indented */)) === 0 /* ListFormat.SingleLine */) { increaseIndent(); shouldDecreaseIndentAfterEmit = true; } writeLine(separatingLineTerminatorCount); shouldEmitInterveningComments = false; } - else if (previousSibling && format & 512 /* SpaceBetweenSiblings */) { + else if (previousSibling && format & 512 /* ListFormat.SpaceBetweenSiblings */) { writeSpace(); } } @@ -113555,11 +113888,11 @@ var ts; } // Write a trailing comma, if requested. var emitFlags = previousSibling ? ts.getEmitFlags(previousSibling) : 0; - var skipTrailingComments = commentsDisabled || !!(emitFlags & 1024 /* NoTrailingComments */); - var hasTrailingComma = (children === null || children === void 0 ? void 0 : children.hasTrailingComma) && (format & 64 /* AllowTrailingComma */) && (format & 16 /* CommaDelimited */); + var skipTrailingComments = commentsDisabled || !!(emitFlags & 1024 /* EmitFlags.NoTrailingComments */); + var hasTrailingComma = (children === null || children === void 0 ? void 0 : children.hasTrailingComma) && (format & 64 /* ListFormat.AllowTrailingComma */) && (format & 16 /* ListFormat.CommaDelimited */); if (hasTrailingComma) { if (previousSibling && !skipTrailingComments) { - emitTokenWithComment(27 /* CommaToken */, previousSibling.end, writePunctuation, previousSibling); + emitTokenWithComment(27 /* SyntaxKind.CommaToken */, previousSibling.end, writePunctuation, previousSibling); } else { writePunctuation(","); @@ -113571,11 +113904,11 @@ var ts; // 2 // /* end of element 2 */ // ]; - if (previousSibling && (parentNode ? parentNode.end : -1) !== previousSibling.end && (format & 60 /* DelimitersMask */) && !skipTrailingComments) { + if (previousSibling && (parentNode ? parentNode.end : -1) !== previousSibling.end && (format & 60 /* ListFormat.DelimitersMask */) && !skipTrailingComments) { emitLeadingCommentsOfPosition(hasTrailingComma && (children === null || children === void 0 ? void 0 : children.end) ? children.end : previousSibling.end); } // Decrease the indent, if requested. - if (format & 128 /* Indented */) { + if (format & 128 /* ListFormat.Indented */) { decreaseIndent(); } recordBundleFileInternalSectionEnd(previousSourceFileTextKind); @@ -113584,14 +113917,14 @@ var ts; if (closingLineTerminatorCount) { writeLine(closingLineTerminatorCount); } - else if (format & (2097152 /* SpaceAfterList */ | 256 /* SpaceBetweenBraces */)) { + else if (format & (2097152 /* ListFormat.SpaceAfterList */ | 256 /* ListFormat.SpaceBetweenBraces */)) { writeSpace(); } } if (onAfterEmitNodeArray) { onAfterEmitNodeArray(children); } - if (format & 15360 /* BracketsMask */) { + if (format & 15360 /* ListFormat.BracketsMask */) { if (isEmpty && children) { emitLeadingCommentsOfPosition(children.end); // Emit leading comments within empty lists } @@ -113676,7 +114009,7 @@ var ts; return pos < 0 ? pos : pos + tokenString.length; } function writeLineOrSpace(parentNode, prevChildNode, nextChildNode) { - if (ts.getEmitFlags(parentNode) & 1 /* SingleLine */) { + if (ts.getEmitFlags(parentNode) & 1 /* EmitFlags.SingleLine */) { writeSpace(); } else if (preserveSourceNewlines) { @@ -113726,13 +114059,13 @@ var ts; } } function getLeadingLineTerminatorCount(parentNode, children, format) { - if (format & 2 /* PreserveLines */ || preserveSourceNewlines) { - if (format & 65536 /* PreferNewLine */) { + if (format & 2 /* ListFormat.PreserveLines */ || preserveSourceNewlines) { + if (format & 65536 /* ListFormat.PreferNewLine */) { return 1; } var firstChild_1 = children[0]; if (firstChild_1 === undefined) { - return !parentNode || ts.rangeIsOnSingleLine(parentNode, currentSourceFile) ? 0 : 1; + return !parentNode || currentSourceFile && ts.rangeIsOnSingleLine(parentNode, currentSourceFile) ? 0 : 1; } if (firstChild_1.pos === nextListElementPos) { // If this child starts at the beginning of a list item in a parent list, its leading @@ -113752,11 +114085,11 @@ var ts; // leading newline to start the modifiers. return 0; } - if (firstChild_1.kind === 11 /* JsxText */) { + if (firstChild_1.kind === 11 /* SyntaxKind.JsxText */) { // JsxText will be written with its leading whitespace, so don't add more manually. return 0; } - if (parentNode && + if (currentSourceFile && parentNode && !ts.positionIsSynthesized(parentNode.pos) && !ts.nodeIsSynthesized(firstChild_1) && (!firstChild_1.parent || ts.getOriginalNode(firstChild_1.parent) === ts.getOriginalNode(parentNode))) { @@ -113769,18 +114102,18 @@ var ts; return 1; } } - return format & 1 /* MultiLine */ ? 1 : 0; + return format & 1 /* ListFormat.MultiLine */ ? 1 : 0; } function getSeparatingLineTerminatorCount(previousNode, nextNode, format) { - if (format & 2 /* PreserveLines */ || preserveSourceNewlines) { + if (format & 2 /* ListFormat.PreserveLines */ || preserveSourceNewlines) { if (previousNode === undefined || nextNode === undefined) { return 0; } - if (nextNode.kind === 11 /* JsxText */) { + if (nextNode.kind === 11 /* SyntaxKind.JsxText */) { // JsxText will be written with its leading whitespace, so don't add more manually. return 0; } - else if (!ts.nodeIsSynthesized(previousNode) && !ts.nodeIsSynthesized(nextNode)) { + else if (currentSourceFile && !ts.nodeIsSynthesized(previousNode) && !ts.nodeIsSynthesized(nextNode)) { if (preserveSourceNewlines && siblingNodePositionsAreComparable(previousNode, nextNode)) { return getEffectiveLines(function (includeComments) { return ts.getLinesBetweenRangeEndAndRangeStart(previousNode, nextNode, currentSourceFile, includeComments); }); } @@ -113794,7 +114127,7 @@ var ts; } // If the two nodes are not comparable, add a line terminator based on the format that can indicate // whether new lines are preferred or not. - return format & 65536 /* PreferNewLine */ ? 1 : 0; + return format & 65536 /* ListFormat.PreferNewLine */ ? 1 : 0; } else if (synthesizedNodeStartsOnNewLine(previousNode, format) || synthesizedNodeStartsOnNewLine(nextNode, format)) { return 1; @@ -113803,18 +114136,18 @@ var ts; else if (ts.getStartsOnNewLine(nextNode)) { return 1; } - return format & 1 /* MultiLine */ ? 1 : 0; + return format & 1 /* ListFormat.MultiLine */ ? 1 : 0; } function getClosingLineTerminatorCount(parentNode, children, format) { - if (format & 2 /* PreserveLines */ || preserveSourceNewlines) { - if (format & 65536 /* PreferNewLine */) { + if (format & 2 /* ListFormat.PreserveLines */ || preserveSourceNewlines) { + if (format & 65536 /* ListFormat.PreferNewLine */) { return 1; } var lastChild = ts.lastOrUndefined(children); if (lastChild === undefined) { - return !parentNode || ts.rangeIsOnSingleLine(parentNode, currentSourceFile) ? 0 : 1; + return !parentNode || currentSourceFile && ts.rangeIsOnSingleLine(parentNode, currentSourceFile) ? 0 : 1; } - if (parentNode && !ts.positionIsSynthesized(parentNode.pos) && !ts.nodeIsSynthesized(lastChild) && (!lastChild.parent || lastChild.parent === parentNode)) { + if (currentSourceFile && parentNode && !ts.positionIsSynthesized(parentNode.pos) && !ts.nodeIsSynthesized(lastChild) && (!lastChild.parent || lastChild.parent === parentNode)) { if (preserveSourceNewlines) { var end_1 = ts.isNodeArray(children) && !ts.positionIsSynthesized(children.end) ? children.end : lastChild.end; return getEffectiveLines(function (includeComments) { return ts.getLinesBetweenPositionAndNextNonWhitespaceCharacter(end_1, parentNode.end, currentSourceFile, includeComments); }); @@ -113825,7 +114158,7 @@ var ts; return 1; } } - if (format & 1 /* MultiLine */ && !(format & 131072 /* NoTrailingNewLine */)) { + if (format & 1 /* ListFormat.MultiLine */ && !(format & 131072 /* ListFormat.NoTrailingNewLine */)) { return 1; } return 0; @@ -113854,14 +114187,14 @@ var ts; return lines; } function writeLineSeparatorsAndIndentBefore(node, parent) { - var leadingNewlines = preserveSourceNewlines && getLeadingLineTerminatorCount(parent, [node], 0 /* None */); + var leadingNewlines = preserveSourceNewlines && getLeadingLineTerminatorCount(parent, [node], 0 /* ListFormat.None */); if (leadingNewlines) { writeLinesAndIndent(leadingNewlines, /*writeSpaceIfNotIndenting*/ false); } return !!leadingNewlines; } function writeLineSeparatorsAfter(node, parent) { - var trailingNewlines = preserveSourceNewlines && getClosingLineTerminatorCount(parent, [node], 0 /* None */); + var trailingNewlines = preserveSourceNewlines && getClosingLineTerminatorCount(parent, [node], 0 /* ListFormat.None */); if (trailingNewlines) { writeLine(trailingNewlines); } @@ -113870,14 +114203,14 @@ var ts; if (ts.nodeIsSynthesized(node)) { var startsOnNewLine = ts.getStartsOnNewLine(node); if (startsOnNewLine === undefined) { - return (format & 65536 /* PreferNewLine */) !== 0; + return (format & 65536 /* ListFormat.PreferNewLine */) !== 0; } return startsOnNewLine; } - return (format & 65536 /* PreferNewLine */) !== 0; + return (format & 65536 /* ListFormat.PreferNewLine */) !== 0; } function getLinesBetweenNodes(parent, node1, node2) { - if (ts.getEmitFlags(parent) & 131072 /* NoIndentation */) { + if (ts.getEmitFlags(parent) & 131072 /* EmitFlags.NoIndentation */) { return 0; } parent = skipSynthesizedParentheses(parent); @@ -113887,7 +114220,7 @@ var ts; if (ts.getStartsOnNewLine(node2)) { return 1; } - if (!ts.nodeIsSynthesized(parent) && !ts.nodeIsSynthesized(node1) && !ts.nodeIsSynthesized(node2)) { + if (currentSourceFile && !ts.nodeIsSynthesized(parent) && !ts.nodeIsSynthesized(node1) && !ts.nodeIsSynthesized(node2)) { if (preserveSourceNewlines) { return getEffectiveLines(function (includeComments) { return ts.getLinesBetweenRangeEndAndRangeStart(node1, node2, currentSourceFile, includeComments); }); } @@ -113897,10 +114230,10 @@ var ts; } function isEmptyBlock(block) { return block.statements.length === 0 - && ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile); + && (!currentSourceFile || ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile)); } function skipSynthesizedParentheses(node) { - while (node.kind === 212 /* ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { + while (node.kind === 212 /* SyntaxKind.ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; @@ -113909,41 +114242,48 @@ var ts; if (ts.isGeneratedIdentifier(node)) { return generateName(node); } - else if ((ts.isIdentifier(node) || ts.isPrivateIdentifier(node)) && (ts.nodeIsSynthesized(node) || !node.parent || !currentSourceFile || (node.parent && currentSourceFile && ts.getSourceFileOfNode(node) !== ts.getOriginalNode(currentSourceFile)))) { - return ts.idText(node); - } - else if (node.kind === 10 /* StringLiteral */ && node.textSourceNode) { + if (ts.isStringLiteral(node) && node.textSourceNode) { return getTextOfNode(node.textSourceNode, includeTrivia); } - else if (ts.isLiteralExpression(node) && (ts.nodeIsSynthesized(node) || !node.parent)) { - return node.text; + var sourceFile = currentSourceFile; // const needed for control flow + var canUseSourceFile = !!sourceFile && !!node.parent && !ts.nodeIsSynthesized(node); + if (ts.isMemberName(node)) { + if (!canUseSourceFile || ts.getSourceFileOfNode(node) !== ts.getOriginalNode(sourceFile)) { + return ts.idText(node); + } } - return ts.getSourceTextOfNodeFromSourceFile(currentSourceFile, node, includeTrivia); + else { + ts.Debug.assertNode(node, ts.isLiteralExpression); // not strictly necessary + if (!canUseSourceFile) { + return node.text; + } + } + return ts.getSourceTextOfNodeFromSourceFile(sourceFile, node, includeTrivia); } function getLiteralTextOfNode(node, neverAsciiEscape, jsxAttributeEscape) { - if (node.kind === 10 /* StringLiteral */ && node.textSourceNode) { + if (node.kind === 10 /* SyntaxKind.StringLiteral */ && node.textSourceNode) { var textSourceNode = node.textSourceNode; if (ts.isIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) { var text = ts.isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode(textSourceNode); - return jsxAttributeEscape ? "\"" + ts.escapeJsxAttributeString(text) + "\"" : - neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"" + ts.escapeString(text) + "\"" : - "\"" + ts.escapeNonAsciiString(text) + "\""; + return jsxAttributeEscape ? "\"".concat(ts.escapeJsxAttributeString(text), "\"") : + neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* EmitFlags.NoAsciiEscaping */) ? "\"".concat(ts.escapeString(text), "\"") : + "\"".concat(ts.escapeNonAsciiString(text), "\""); } else { return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape); } } - var flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) - | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) - | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) - | (printerOptions.target && printerOptions.target === 99 /* ESNext */ ? 8 /* AllowNumericSeparator */ : 0); + var flags = (neverAsciiEscape ? 1 /* GetLiteralTextFlags.NeverAsciiEscape */ : 0) + | (jsxAttributeEscape ? 2 /* GetLiteralTextFlags.JsxAttributeEscape */ : 0) + | (printerOptions.terminateUnterminatedLiterals ? 4 /* GetLiteralTextFlags.TerminateUnterminatedLiterals */ : 0) + | (printerOptions.target && printerOptions.target === 99 /* ScriptTarget.ESNext */ ? 8 /* GetLiteralTextFlags.AllowNumericSeparator */ : 0); return ts.getLiteralText(node, currentSourceFile, flags); } /** * Push a new name generation scope. */ function pushNameGenerationScope(node) { - if (node && ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { + if (node && ts.getEmitFlags(node) & 524288 /* EmitFlags.ReuseTempVariableScope */) { return; } tempFlagsStack.push(tempFlags); @@ -113954,7 +114294,7 @@ var ts; * Pop the current name generation scope. */ function popNameGenerationScope(node) { - if (node && ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { + if (node && ts.getEmitFlags(node) & 524288 /* EmitFlags.ReuseTempVariableScope */) { return; } tempFlags = tempFlagsStack.pop(); @@ -113970,84 +114310,84 @@ var ts; if (!node) return; switch (node.kind) { - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: ts.forEach(node.statements, generateNames); break; - case 250 /* LabeledStatement */: - case 248 /* WithStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: + case 250 /* SyntaxKind.LabeledStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: generateNames(node.statement); break; - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 242 /* ForStatement */: - case 244 /* ForOfStatement */: - case 243 /* ForInStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.ForInStatement */: generateNames(node.initializer); generateNames(node.statement); break; - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: generateNames(node.caseBlock); break; - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: ts.forEach(node.clauses, generateNames); break; - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: ts.forEach(node.statements, generateNames); break; - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: generateNames(node.declarationList); break; - case 255 /* VariableDeclarationList */: + case 255 /* SyntaxKind.VariableDeclarationList */: ts.forEach(node.declarations, generateNames); break; - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: - case 203 /* BindingElement */: - case 257 /* ClassDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.ClassDeclaration */: generateNameIfNeeded(node.name); break; - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: generateNameIfNeeded(node.name); - if (ts.getEmitFlags(node) & 524288 /* ReuseTempVariableScope */) { + if (ts.getEmitFlags(node) & 524288 /* EmitFlags.ReuseTempVariableScope */) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: ts.forEach(node.elements, generateNames); break; - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: generateNames(node.importClause); break; - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: generateNameIfNeeded(node.name); generateNames(node.namedBindings); break; - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: generateNameIfNeeded(node.name); break; - case 274 /* NamespaceExport */: + case 274 /* SyntaxKind.NamespaceExport */: generateNameIfNeeded(node.name); break; - case 269 /* NamedImports */: + case 269 /* SyntaxKind.NamedImports */: ts.forEach(node.elements, generateNames); break; - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -114056,12 +114396,12 @@ var ts; if (!node) return; switch (node.kind) { - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: generateNameIfNeeded(node.name); break; } @@ -114080,7 +114420,7 @@ var ts; * Generate the text for a generated identifier. */ function generateName(name) { - if ((name.autoGenerateFlags & 7 /* KindMask */) === 4 /* Node */) { + if ((name.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) === 4 /* GeneratedIdentifierFlags.Node */) { // Node names generate unique names based on their original node // and are cached based on that node's id. return generateNameCached(getNodeForGeneratedName(name), name.autoGenerateFlags); @@ -114119,7 +114459,7 @@ var ts; if (node.locals) { var local = node.locals.get(ts.escapeLeadingUnderscores(name)); // We conservatively include alias symbols to cover cases where they're emitted as locals - if (local && local.flags & (111551 /* Value */ | 1048576 /* ExportValue */ | 2097152 /* Alias */)) { + if (local && local.flags & (111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */ | 2097152 /* SymbolFlags.Alias */)) { return false; } } @@ -114133,7 +114473,7 @@ var ts; */ function makeTempVariableName(flags, reservedInNestedScopes) { if (flags && !(tempFlags & flags)) { - var name = flags === 268435456 /* _i */ ? "_i" : "_n"; + var name = flags === 268435456 /* TempFlags._i */ ? "_i" : "_n"; if (isUniqueName(name)) { tempFlags |= flags; if (reservedInNestedScopes) { @@ -114143,12 +114483,12 @@ var ts; } } while (true) { - var count = tempFlags & 268435455 /* CountMask */; + var count = tempFlags & 268435455 /* TempFlags.CountMask */; tempFlags++; // Skip over 'i' and 'n' if (count !== 8 && count !== 13) { var name = count < 26 - ? "_" + String.fromCharCode(97 /* a */ + count) + ? "_" + String.fromCharCode(97 /* CharacterCodes.a */ + count) : "_" + (count - 26); if (isUniqueName(name)) { if (reservedInNestedScopes) { @@ -114180,7 +114520,7 @@ var ts; } } // Find the first unique 'name_n', where n is a positive number - if (baseName.charCodeAt(baseName.length - 1) !== 95 /* _ */) { + if (baseName.charCodeAt(baseName.length - 1) !== 95 /* CharacterCodes._ */) { baseName += "_"; } var i = 1; @@ -114234,48 +114574,48 @@ var ts; if (ts.isIdentifier(node.name)) { return generateNameCached(node.name); } - return makeTempVariableName(0 /* Auto */); + return makeTempVariableName(0 /* TempFlags.Auto */); } /** * Generates a unique name from a node. */ function generateNameForNode(node, flags) { switch (node.kind) { - case 79 /* Identifier */: - return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* Optimistic */), !!(flags & 8 /* ReservedInNestedScopes */)); - case 261 /* ModuleDeclaration */: - case 260 /* EnumDeclaration */: + case 79 /* SyntaxKind.Identifier */: + return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* GeneratedIdentifierFlags.Optimistic */), !!(flags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); + case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return generateNameForModuleOrEnum(node); - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: return generateNameForImportOrExportDeclaration(node); - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 271 /* ExportAssignment */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: return generateNameForExportDefault(); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: return generateNameForClassExpression(); - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return generateNameForMethodOrAccessor(node); - case 162 /* ComputedPropertyName */: - return makeTempVariableName(0 /* Auto */, /*reserveInNestedScopes*/ true); + case 162 /* SyntaxKind.ComputedPropertyName */: + return makeTempVariableName(0 /* TempFlags.Auto */, /*reserveInNestedScopes*/ true); default: - return makeTempVariableName(0 /* Auto */); + return makeTempVariableName(0 /* TempFlags.Auto */); } } /** * Generates a unique identifier for a node. */ function makeName(name) { - switch (name.autoGenerateFlags & 7 /* KindMask */) { - case 1 /* Auto */: - return makeTempVariableName(0 /* Auto */, !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */)); - case 2 /* Loop */: - return makeTempVariableName(268435456 /* _i */, !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */)); - case 3 /* Unique */: - return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* Optimistic */), !!(name.autoGenerateFlags & 8 /* ReservedInNestedScopes */)); + switch (name.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) { + case 1 /* GeneratedIdentifierFlags.Auto */: + return makeTempVariableName(0 /* TempFlags.Auto */, !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); + case 2 /* GeneratedIdentifierFlags.Loop */: + return makeTempVariableName(268435456 /* TempFlags._i */, !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); + case 3 /* GeneratedIdentifierFlags.Unique */: + return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* GeneratedIdentifierFlags.FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* GeneratedIdentifierFlags.Optimistic */), !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); } return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); } @@ -114291,7 +114631,7 @@ var ts; // if "node" is a different generated name (having a different // "autoGenerateId"), use it and stop traversing. if (ts.isIdentifier(node) - && !!(node.autoGenerateFlags & 4 /* Node */) + && !!(node.autoGenerateFlags & 4 /* GeneratedIdentifierFlags.Node */) && node.autoGenerateId !== autoGenerateId) { break; } @@ -114302,7 +114642,7 @@ var ts; } // Comments function pipelineEmitWithComments(hint, node) { - var pipelinePhase = getNextPipelinePhase(2 /* Comments */, hint, node); + var pipelinePhase = getNextPipelinePhase(2 /* PipelinePhase.Comments */, hint, node); var savedContainerPos = containerPos; var savedContainerEnd = containerEnd; var savedDeclarationListContainerEnd = declarationListContainerEnd; @@ -114315,7 +114655,7 @@ var ts; var commentRange = ts.getCommentRange(node); // Emit leading comments emitLeadingCommentsOfNode(node, emitFlags, commentRange.pos, commentRange.end); - if (emitFlags & 2048 /* NoNestedComments */) { + if (emitFlags & 2048 /* EmitFlags.NoNestedComments */) { commentsDisabled = true; } } @@ -114323,7 +114663,7 @@ var ts; var emitFlags = ts.getEmitFlags(node); var commentRange = ts.getCommentRange(node); // Emit trailing comments - if (emitFlags & 2048 /* NoNestedComments */) { + if (emitFlags & 2048 /* EmitFlags.NoNestedComments */) { commentsDisabled = false; } emitTrailingCommentsOfNode(node, emitFlags, commentRange.pos, commentRange.end, savedContainerPos, savedContainerEnd, savedDeclarationListContainerEnd); @@ -114337,25 +114677,25 @@ var ts; hasWrittenComment = false; // We have to explicitly check that the node is JsxText because if the compilerOptions.jsx is "preserve" we will not do any transformation. // It is expensive to walk entire tree just to set one kind of node to have no comments. - var skipLeadingComments = pos < 0 || (emitFlags & 512 /* NoLeadingComments */) !== 0 || node.kind === 11 /* JsxText */; - var skipTrailingComments = end < 0 || (emitFlags & 1024 /* NoTrailingComments */) !== 0 || node.kind === 11 /* JsxText */; + var skipLeadingComments = pos < 0 || (emitFlags & 512 /* EmitFlags.NoLeadingComments */) !== 0 || node.kind === 11 /* SyntaxKind.JsxText */; + var skipTrailingComments = end < 0 || (emitFlags & 1024 /* EmitFlags.NoTrailingComments */) !== 0 || node.kind === 11 /* SyntaxKind.JsxText */; // Save current container state on the stack. if ((pos > 0 || end > 0) && pos !== end) { // Emit leading comments if the position is not synthesized and the node // has not opted out from emitting leading comments. if (!skipLeadingComments) { - emitLeadingComments(pos, /*isEmittedNode*/ node.kind !== 349 /* NotEmittedStatement */); + emitLeadingComments(pos, /*isEmittedNode*/ node.kind !== 349 /* SyntaxKind.NotEmittedStatement */); } - if (!skipLeadingComments || (pos >= 0 && (emitFlags & 512 /* NoLeadingComments */) !== 0)) { + if (!skipLeadingComments || (pos >= 0 && (emitFlags & 512 /* EmitFlags.NoLeadingComments */) !== 0)) { // Advance the container position if comments get emitted or if they've been disabled explicitly using NoLeadingComments. containerPos = pos; } - if (!skipTrailingComments || (end >= 0 && (emitFlags & 1024 /* NoTrailingComments */) !== 0)) { + if (!skipTrailingComments || (end >= 0 && (emitFlags & 1024 /* EmitFlags.NoTrailingComments */) !== 0)) { // As above. containerEnd = end; // To avoid invalid comment emit in a down-level binding pattern, we // keep track of the last declaration list container's end - if (node.kind === 255 /* VariableDeclarationList */) { + if (node.kind === 255 /* SyntaxKind.VariableDeclarationList */) { declarationListContainerEnd = end; } } @@ -114365,7 +114705,7 @@ var ts; } function emitTrailingCommentsOfNode(node, emitFlags, pos, end, savedContainerPos, savedContainerEnd, savedDeclarationListContainerEnd) { enterComment(); - var skipTrailingComments = end < 0 || (emitFlags & 1024 /* NoTrailingComments */) !== 0 || node.kind === 11 /* JsxText */; + var skipTrailingComments = end < 0 || (emitFlags & 1024 /* EmitFlags.NoTrailingComments */) !== 0 || node.kind === 11 /* SyntaxKind.JsxText */; ts.forEach(ts.getSyntheticTrailingComments(node), emitTrailingSynthesizedComment); if ((pos > 0 || end > 0) && pos !== end) { // Restore previous container state. @@ -114374,18 +114714,18 @@ var ts; declarationListContainerEnd = savedDeclarationListContainerEnd; // Emit trailing comments if the position is not synthesized and the node // has not opted out from emitting leading comments and is an emitted node. - if (!skipTrailingComments && node.kind !== 349 /* NotEmittedStatement */) { + if (!skipTrailingComments && node.kind !== 349 /* SyntaxKind.NotEmittedStatement */) { emitTrailingComments(end); } } exitComment(); } function emitLeadingSynthesizedComment(comment) { - if (comment.hasLeadingNewline || comment.kind === 2 /* SingleLineCommentTrivia */) { + if (comment.hasLeadingNewline || comment.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */) { writer.writeLine(); } writeSynthesizedComment(comment); - if (comment.hasTrailingNewLine || comment.kind === 2 /* SingleLineCommentTrivia */) { + if (comment.hasTrailingNewLine || comment.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */) { writer.writeLine(); } else { @@ -114403,25 +114743,25 @@ var ts; } function writeSynthesizedComment(comment) { var text = formatSynthesizedComment(comment); - var lineMap = comment.kind === 3 /* MultiLineCommentTrivia */ ? ts.computeLineStarts(text) : undefined; + var lineMap = comment.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */ ? ts.computeLineStarts(text) : undefined; ts.writeCommentRange(text, lineMap, writer, 0, text.length, newLine); } function formatSynthesizedComment(comment) { - return comment.kind === 3 /* MultiLineCommentTrivia */ - ? "/*" + comment.text + "*/" - : "//" + comment.text; + return comment.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */ + ? "/*".concat(comment.text, "*/") + : "//".concat(comment.text); } function emitBodyWithDetachedComments(node, detachedRange, emitCallback) { enterComment(); var pos = detachedRange.pos, end = detachedRange.end; var emitFlags = ts.getEmitFlags(node); - var skipLeadingComments = pos < 0 || (emitFlags & 512 /* NoLeadingComments */) !== 0; - var skipTrailingComments = commentsDisabled || end < 0 || (emitFlags & 1024 /* NoTrailingComments */) !== 0; + var skipLeadingComments = pos < 0 || (emitFlags & 512 /* EmitFlags.NoLeadingComments */) !== 0; + var skipTrailingComments = commentsDisabled || end < 0 || (emitFlags & 1024 /* EmitFlags.NoTrailingComments */) !== 0; if (!skipLeadingComments) { emitDetachedCommentsAndUpdateCommentsInfo(detachedRange); } exitComment(); - if (emitFlags & 2048 /* NoNestedComments */ && !commentsDisabled) { + if (emitFlags & 2048 /* EmitFlags.NoNestedComments */ && !commentsDisabled) { commentsDisabled = true; emitCallback(node); commentsDisabled = false; @@ -114497,7 +114837,7 @@ var ts; return true; } function emitLeadingComment(commentPos, commentEnd, kind, hasTrailingNewLine, rangePos) { - if (!shouldWriteComment(currentSourceFile.text, commentPos)) + if (!currentSourceFile || !shouldWriteComment(currentSourceFile.text, commentPos)) return; if (!hasWrittenComment) { ts.emitNewLineBeforeLeadingCommentOfPosition(getCurrentLineMap(), writer, rangePos, commentPos); @@ -114510,7 +114850,7 @@ var ts; if (hasTrailingNewLine) { writer.writeLine(); } - else if (kind === 3 /* MultiLineCommentTrivia */) { + else if (kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { writer.writeSpace(" "); } } @@ -114524,7 +114864,7 @@ var ts; forEachTrailingCommentToEmit(pos, emitTrailingComment); } function emitTrailingComment(commentPos, commentEnd, _kind, hasTrailingNewLine) { - if (!shouldWriteComment(currentSourceFile.text, commentPos)) + if (!currentSourceFile || !shouldWriteComment(currentSourceFile.text, commentPos)) return; // trailing comments are emitted at space/*trailing comment1 */space/*trailing comment2*/ if (!writer.isAtStartOfLine()) { @@ -114546,15 +114886,19 @@ var ts; exitComment(); } function emitTrailingCommentOfPositionNoNewline(commentPos, commentEnd, kind) { + if (!currentSourceFile) + return; // trailing comments of a position are emitted at /*trailing comment1 */space/*trailing comment*/space emitPos(commentPos); ts.writeCommentRange(currentSourceFile.text, getCurrentLineMap(), writer, commentPos, commentEnd, newLine); emitPos(commentEnd); - if (kind === 2 /* SingleLineCommentTrivia */) { + if (kind === 2 /* SyntaxKind.SingleLineCommentTrivia */) { writer.writeLine(); // still write a newline for single-line comments, so closing tokens aren't written on the same line } } function emitTrailingCommentOfPosition(commentPos, commentEnd, _kind, hasTrailingNewLine) { + if (!currentSourceFile) + return; // trailing comments of a position are emitted at /*trailing comment1 */space/*trailing comment*/space emitPos(commentPos); ts.writeCommentRange(currentSourceFile.text, getCurrentLineMap(), writer, commentPos, commentEnd, newLine); @@ -114587,6 +114931,8 @@ var ts; return detachedCommentsInfo !== undefined && ts.last(detachedCommentsInfo).nodePos === pos; } function forEachLeadingCommentWithoutDetachedComments(cb) { + if (!currentSourceFile) + return; // get the leading comments from detachedPos var pos = ts.last(detachedCommentsInfo).detachedCommentEndPos; if (detachedCommentsInfo.length - 1) { @@ -114598,7 +114944,7 @@ var ts; ts.forEachLeadingCommentRange(currentSourceFile.text, pos, cb, /*state*/ pos); } function emitDetachedCommentsAndUpdateCommentsInfo(range) { - var currentDetachedCommentInfo = ts.emitDetachedComments(currentSourceFile.text, getCurrentLineMap(), writer, emitComment, range, newLine, commentsDisabled); + var currentDetachedCommentInfo = currentSourceFile && ts.emitDetachedComments(currentSourceFile.text, getCurrentLineMap(), writer, emitComment, range, newLine, commentsDisabled); if (currentDetachedCommentInfo) { if (detachedCommentsInfo) { detachedCommentsInfo.push(currentDetachedCommentInfo); @@ -114609,7 +114955,7 @@ var ts; } } function emitComment(text, lineMap, writer, commentPos, commentEnd, newLine) { - if (!shouldWriteComment(currentSourceFile.text, commentPos)) + if (!currentSourceFile || !shouldWriteComment(currentSourceFile.text, commentPos)) return; emitPos(commentPos); ts.writeCommentRange(text, lineMap, writer, commentPos, commentEnd, newLine); @@ -114621,7 +114967,7 @@ var ts; * @return true if the comment is a triple-slash comment else false */ function isTripleSlashComment(commentPos, commentEnd) { - return ts.isRecognizedTripleSlashComment(currentSourceFile.text, commentPos, commentEnd); + return !!currentSourceFile && ts.isRecognizedTripleSlashComment(currentSourceFile.text, commentPos, commentEnd); } // Source Maps function getParsedSourceMap(node) { @@ -114631,7 +114977,7 @@ var ts; return node.parsedSourceMap || undefined; } function pipelineEmitWithSourceMaps(hint, node) { - var pipelinePhase = getNextPipelinePhase(3 /* SourceMaps */, hint, node); + var pipelinePhase = getNextPipelinePhase(3 /* PipelinePhase.SourceMaps */, hint, node); emitSourceMapsBeforeNode(node); pipelinePhase(hint, node); emitSourceMapsAfterNode(node); @@ -114649,12 +114995,12 @@ var ts; } else { var source = sourceMapRange.source || sourceMapSource; - if (node.kind !== 349 /* NotEmittedStatement */ - && (emitFlags & 16 /* NoLeadingSourceMap */) === 0 + if (node.kind !== 349 /* SyntaxKind.NotEmittedStatement */ + && (emitFlags & 16 /* EmitFlags.NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) { emitSourcePos(sourceMapRange.source || sourceMapSource, skipSourceTrivia(source, sourceMapRange.pos)); } - if (emitFlags & 64 /* NoNestedSourceMaps */) { + if (emitFlags & 64 /* EmitFlags.NoNestedSourceMaps */) { sourceMapsDisabled = true; } } @@ -114664,11 +115010,11 @@ var ts; var sourceMapRange = ts.getSourceMapRange(node); // Emit trailing sourcemap if (!ts.isUnparsedNode(node)) { - if (emitFlags & 64 /* NoNestedSourceMaps */) { + if (emitFlags & 64 /* EmitFlags.NoNestedSourceMaps */) { sourceMapsDisabled = false; } - if (node.kind !== 349 /* NotEmittedStatement */ - && (emitFlags & 32 /* NoTrailingSourceMap */) === 0 + if (node.kind !== 349 /* SyntaxKind.NotEmittedStatement */ + && (emitFlags & 32 /* EmitFlags.NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) { emitSourcePos(sourceMapRange.source || sourceMapSource, sourceMapRange.end); } @@ -114721,17 +115067,17 @@ var ts; return emitCallback(token, writer, tokenPos); } var emitNode = node && node.emitNode; - var emitFlags = emitNode && emitNode.flags || 0 /* None */; + var emitFlags = emitNode && emitNode.flags || 0 /* EmitFlags.None */; var range = emitNode && emitNode.tokenSourceMapRanges && emitNode.tokenSourceMapRanges[token]; var source = range && range.source || sourceMapSource; tokenPos = skipSourceTrivia(source, range ? range.pos : tokenPos); - if ((emitFlags & 128 /* NoTokenLeadingSourceMaps */) === 0 && tokenPos >= 0) { + if ((emitFlags & 128 /* EmitFlags.NoTokenLeadingSourceMaps */) === 0 && tokenPos >= 0) { emitSourcePos(source, tokenPos); } tokenPos = emitCallback(token, writer, tokenPos); if (range) tokenPos = range.end; - if ((emitFlags & 256 /* NoTokenTrailingSourceMaps */) === 0 && tokenPos >= 0) { + if ((emitFlags & 256 /* EmitFlags.NoTokenTrailingSourceMaps */) === 0 && tokenPos >= 0) { emitSourcePos(source, tokenPos); } return tokenPos; @@ -114762,23 +115108,23 @@ var ts; sourceMapSourceIndex = sourceIndex; } function isJsonSourceMapSource(sourceFile) { - return ts.fileExtensionIs(sourceFile.fileName, ".json" /* Json */); + return ts.fileExtensionIs(sourceFile.fileName, ".json" /* Extension.Json */); } } ts.createPrinter = createPrinter; function createBracketsMap() { var brackets = []; - brackets[1024 /* Braces */] = ["{", "}"]; - brackets[2048 /* Parenthesis */] = ["(", ")"]; - brackets[4096 /* AngleBrackets */] = ["<", ">"]; - brackets[8192 /* SquareBrackets */] = ["[", "]"]; + brackets[1024 /* ListFormat.Braces */] = ["{", "}"]; + brackets[2048 /* ListFormat.Parenthesis */] = ["(", ")"]; + brackets[4096 /* ListFormat.AngleBrackets */] = ["<", ">"]; + brackets[8192 /* ListFormat.SquareBrackets */] = ["[", "]"]; return brackets; } function getOpeningBracket(format) { - return brackets[format & 15360 /* BracketsMask */][0]; + return brackets[format & 15360 /* ListFormat.BracketsMask */][0]; } function getClosingBracket(format) { - return brackets[format & 15360 /* BracketsMask */][1]; + return brackets[format & 15360 /* ListFormat.BracketsMask */][1]; } // Flags enum to track count of temp variables and a few dedicated names var TempFlags; @@ -115144,7 +115490,7 @@ var ts; var watchedDirPath = _a.watchedDirPath, fileOrDirectory = _a.fileOrDirectory, fileOrDirectoryPath = _a.fileOrDirectoryPath, configFileName = _a.configFileName, options = _a.options, program = _a.program, extraFileExtensions = _a.extraFileExtensions, currentDirectory = _a.currentDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, writeLog = _a.writeLog, toPath = _a.toPath; var newPath = ts.removeIgnoredPath(fileOrDirectoryPath); if (!newPath) { - writeLog("Project: " + configFileName + " Detected ignored path: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected ignored path: ").concat(fileOrDirectory)); return true; } fileOrDirectoryPath = newPath; @@ -115153,11 +115499,11 @@ var ts; // If the the added or created file or directory is not supported file name, ignore the file // But when watched directory is added/removed, we need to reload the file list if (ts.hasExtension(fileOrDirectoryPath) && !ts.isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) { - writeLog("Project: " + configFileName + " Detected file add/remove of non supported extension: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected file add/remove of non supported extension: ").concat(fileOrDirectory)); return true; } if (ts.isExcludedFile(fileOrDirectory, options.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), useCaseSensitiveFileNames, currentDirectory)) { - writeLog("Project: " + configFileName + " Detected excluded file: " + fileOrDirectory); + writeLog("Project: ".concat(configFileName, " Detected excluded file: ").concat(fileOrDirectory)); return true; } if (!program) @@ -115167,7 +115513,7 @@ var ts; if (ts.outFile(options) || options.outDir) return false; // File if emitted next to input needs to be ignored - if (ts.fileExtensionIs(fileOrDirectoryPath, ".d.ts" /* Dts */)) { + if (ts.isDeclarationFileName(fileOrDirectoryPath)) { // If its declaration directory: its not ignored if not excluded by config if (options.declarationDir) return false; @@ -115179,9 +115525,9 @@ var ts; var filePathWithoutExtension = ts.removeFileExtension(fileOrDirectoryPath); var realProgram = ts.isArray(program) ? undefined : isBuilderProgram(program) ? program.getProgramOrUndefined() : program; var builderProgram = !realProgram && !ts.isArray(program) ? program : undefined; - if (hasSourceFile((filePathWithoutExtension + ".ts" /* Ts */)) || - hasSourceFile((filePathWithoutExtension + ".tsx" /* Tsx */))) { - writeLog("Project: " + configFileName + " Detected output file: " + fileOrDirectory); + if (hasSourceFile((filePathWithoutExtension + ".ts" /* Extension.Ts */)) || + hasSourceFile((filePathWithoutExtension + ".tsx" /* Extension.Tsx */))) { + writeLog("Project: ".concat(configFileName, " Detected output file: ").concat(fileOrDirectory)); return true; } return false; @@ -115214,7 +115560,7 @@ var ts; ts.setSysLog(watchLogLevel === WatchLogLevel.Verbose ? log : ts.noop); var plainInvokeFactory = { watchFile: function (file, callback, pollingInterval, options) { return host.watchFile(file, callback, pollingInterval, options); }, - watchDirectory: function (directory, callback, flags, options) { return host.watchDirectory(directory, callback, (flags & 1 /* Recursive */) !== 0, options); }, + watchDirectory: function (directory, callback, flags, options) { return host.watchDirectory(directory, callback, (flags & 1 /* WatchDirectoryFlags.Recursive */) !== 0, options); }, }; var triggerInvokingFactory = watchLogLevel !== WatchLogLevel.None ? { @@ -115249,36 +115595,36 @@ var ts; host.useCaseSensitiveFileNames(); } function createExcludeWatcherWithLogging(file, flags, options, detailInfo1, detailInfo2) { - log("ExcludeWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + log("ExcludeWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); return { - close: function () { return log("ExcludeWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); } + close: function () { return log("ExcludeWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); } }; } function createFileWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) { - log("FileWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + log("FileWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); var watcher = triggerInvokingFactory.watchFile(file, cb, flags, options, detailInfo1, detailInfo2); return { close: function () { - log("FileWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); + log("FileWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); watcher.close(); } }; } function createDirectoryWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) { - var watchInfo = "DirectoryWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); + var watchInfo = "DirectoryWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); log(watchInfo); var start = ts.timestamp(); var watcher = triggerInvokingFactory.watchDirectory(file, cb, flags, options, detailInfo1, detailInfo2); var elapsed = ts.timestamp() - start; - log("Elapsed:: " + elapsed + "ms " + watchInfo); + log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo)); return { close: function () { - var watchInfo = "DirectoryWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); + var watchInfo = "DirectoryWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); log(watchInfo); var start = ts.timestamp(); watcher.close(); var elapsed = ts.timestamp() - start; - log("Elapsed:: " + elapsed + "ms " + watchInfo); + log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo)); } }; } @@ -115288,16 +115634,16 @@ var ts; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } - var triggerredInfo = (key === "watchFile" ? "FileWatcher" : "DirectoryWatcher") + ":: Triggered with " + args[0] + " " + (args[1] !== undefined ? args[1] : "") + ":: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo); + var triggerredInfo = "".concat(key === "watchFile" ? "FileWatcher" : "DirectoryWatcher", ":: Triggered with ").concat(args[0], " ").concat(args[1] !== undefined ? args[1] : "", ":: ").concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); log(triggerredInfo); var start = ts.timestamp(); cb.call.apply(cb, __spreadArray([/*thisArg*/ undefined], args, false)); var elapsed = ts.timestamp() - start; - log("Elapsed:: " + elapsed + "ms " + triggerredInfo); + log("Elapsed:: ".concat(elapsed, "ms ").concat(triggerredInfo)); }, flags, options, detailInfo1, detailInfo2); }; } function getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo) { - return "WatchInfo: " + file + " " + flags + " " + JSON.stringify(options) + " " + (getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : detailInfo1 + " " + detailInfo2); + return "WatchInfo: ".concat(file, " ").concat(flags, " ").concat(JSON.stringify(options), " ").concat(getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : "".concat(detailInfo1, " ").concat(detailInfo2)); } } ts.getWatchFactory = getWatchFactory; @@ -115509,7 +115855,7 @@ var ts; if (value !== undefined) return value !== false ? value : undefined; // could be .d.ts from output // Cache json or buildInfo - if (!ts.fileExtensionIs(fileName, ".json" /* Json */) && !ts.isBuildInfoFile(fileName)) { + if (!ts.fileExtensionIs(fileName, ".json" /* Extension.Json */) && !ts.isBuildInfoFile(fileName)) { return originalReadFile.call(host, fileName); } return setReadFileCache(key, fileName); @@ -115520,7 +115866,7 @@ var ts; if (value) return value; var sourceFile = getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile); - if (sourceFile && (ts.isDeclarationFileName(fileName) || ts.fileExtensionIs(fileName, ".json" /* Json */))) { + if (sourceFile && (ts.isDeclarationFileName(fileName) || ts.fileExtensionIs(fileName, ".json" /* Extension.Json */))) { sourceFileCache.set(key, sourceFile); } return sourceFile; @@ -115536,7 +115882,11 @@ var ts; return newValue; }; if (originalWriteFile) { - host.writeFile = function (fileName, data, writeByteOrderMark, onError, sourceFiles) { + host.writeFile = function (fileName, data) { + var rest = []; + for (var _i = 2; _i < arguments.length; _i++) { + rest[_i - 2] = arguments[_i]; + } var key = toPath(fileName); fileExistsCache.delete(key); var value = readFileCache.get(key); @@ -115550,7 +115900,7 @@ var ts; sourceFileCache.delete(key); } } - originalWriteFile.call(host, fileName, data, writeByteOrderMark, onError, sourceFiles); + originalWriteFile.call.apply(originalWriteFile, __spreadArray([host, fileName, data], rest, false)); }; } // directoryExists @@ -115604,12 +115954,12 @@ var ts; } ts.formatDiagnostics = formatDiagnostics; function formatDiagnostic(diagnostic, host) { - var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine(); + var errorMessage = "".concat(ts.diagnosticCategoryName(diagnostic), " TS").concat(diagnostic.code, ": ").concat(flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine())).concat(host.getNewLine()); if (diagnostic.file) { var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217 var fileName = diagnostic.file.fileName; var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }); - return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage; + return "".concat(relativeFileName, "(").concat(line + 1, ",").concat(character + 1, "): ") + errorMessage; } return errorMessage; } @@ -115697,9 +116047,9 @@ var ts; var output = ""; output += color(relativeFileName, ForegroundColorEscapeSequences.Cyan); output += ":"; - output += color("" + (firstLine + 1), ForegroundColorEscapeSequences.Yellow); + output += color("".concat(firstLine + 1), ForegroundColorEscapeSequences.Yellow); output += ":"; - output += color("" + (firstLineChar + 1), ForegroundColorEscapeSequences.Yellow); + output += color("".concat(firstLineChar + 1), ForegroundColorEscapeSequences.Yellow); return output; } ts.formatLocation = formatLocation; @@ -115713,7 +116063,7 @@ var ts; output += " - "; } output += formatColorAndReset(ts.diagnosticCategoryName(diagnostic), getCategoryFormat(diagnostic.category)); - output += formatColorAndReset(" TS" + diagnostic.code + ": ", ForegroundColorEscapeSequences.Grey); + output += formatColorAndReset(" TS".concat(diagnostic.code, ": "), ForegroundColorEscapeSequences.Grey); output += flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()); if (diagnostic.file) { output += host.getNewLine(); @@ -115776,7 +116126,7 @@ var ts; var mode = getModeForFileReference(name, containingFileMode); // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. var strName = ts.isString(name) ? name : name.fileName.toLowerCase(); - var cacheKey = mode !== undefined ? mode + "|" + strName : strName; + var cacheKey = mode !== undefined ? "".concat(mode, "|").concat(strName) : strName; if (cache.has(cacheKey)) { result = cache.get(cacheKey); } @@ -115882,7 +116232,7 @@ var ts; var result = void 0; var mode = getModeForResolutionAtIndex(containingFile, i); i++; - var cacheKey = mode !== undefined ? mode + "|" + name : name; + var cacheKey = mode !== undefined ? "".concat(mode, "|").concat(name) : name; if (cache.has(cacheKey)) { result = cache.get(cacheKey); } @@ -116062,11 +116412,11 @@ var ts; */ function getImpliedNodeFormatForFile(fileName, packageJsonInfoCache, host, options) { switch (ts.getEmitModuleResolutionKind(options)) { - case ts.ModuleResolutionKind.Node12: + case ts.ModuleResolutionKind.Node16: case ts.ModuleResolutionKind.NodeNext: - return ts.fileExtensionIsOneOf(fileName, [".d.mts" /* Dmts */, ".mts" /* Mts */, ".mjs" /* Mjs */]) ? ts.ModuleKind.ESNext : - ts.fileExtensionIsOneOf(fileName, [".d.cts" /* Dcts */, ".cts" /* Cts */, ".cjs" /* Cjs */]) ? ts.ModuleKind.CommonJS : - ts.fileExtensionIsOneOf(fileName, [".d.ts" /* Dts */, ".ts" /* Ts */, ".tsx" /* Tsx */, ".js" /* Js */, ".jsx" /* Jsx */]) ? lookupFromPackageJson() : + return ts.fileExtensionIsOneOf(fileName, [".d.mts" /* Extension.Dmts */, ".mts" /* Extension.Mts */, ".mjs" /* Extension.Mjs */]) ? ts.ModuleKind.ESNext : + ts.fileExtensionIsOneOf(fileName, [".d.cts" /* Extension.Dcts */, ".cts" /* Extension.Cts */, ".cjs" /* Extension.Cjs */]) ? ts.ModuleKind.CommonJS : + ts.fileExtensionIsOneOf(fileName, [".d.ts" /* Extension.Dts */, ".ts" /* Extension.Ts */, ".tsx" /* Extension.Tsx */, ".js" /* Extension.Js */, ".jsx" /* Extension.Jsx */]) ? lookupFromPackageJson() : undefined; // other extensions, like `json` or `tsbuildinfo`, are set as `undefined` here but they should never be fed through the transformer pipeline default: return undefined; @@ -116116,7 +116466,6 @@ var ts; ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer.code, ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list.code, ts.Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma.code, - ts.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body.code, ts.Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block.code, ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter.code, ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter.code, @@ -116222,7 +116571,7 @@ var ts; var modulesWithElidedImports = new ts.Map(); // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = new ts.Map(); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "createProgram", { configFilePath: options.configFilePath, rootDir: options.rootDir }, /*separateBeginAndEnd*/ true); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "createProgram", { configFilePath: options.configFilePath, rootDir: options.rootDir }, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeProgram"); var host = createProgramOptions.host || createCompilerHost(options); var configParsingHost = parseConfigHostFromCompilerHostLike(host); @@ -116303,16 +116652,16 @@ var ts; forEachResolvedProjectReference: forEachResolvedProjectReference }), onProgramCreateComplete = _e.onProgramCreateComplete, fileExists = _e.fileExists, directoryExists = _e.directoryExists; var readFile = host.readFile.bind(host); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!oldProgram }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!oldProgram }); var shouldCreateNewSourceFile = shouldProgramCreateNewSourceFiles(oldProgram, options); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); // We set `structuralIsReused` to `undefined` because `tryReuseStructureFromOldProgram` calls `tryReuseStructureFromOldProgram` which checks // `structuralIsReused`, which would be a TDZ violation if it was not set in advance to `undefined`. var structureIsReused; - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "tryReuseStructureFromOldProgram", {}); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "tryReuseStructureFromOldProgram", {}); structureIsReused = tryReuseStructureFromOldProgram(); // eslint-disable-line prefer-const ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); - if (structureIsReused !== 2 /* Completely */) { + if (structureIsReused !== 2 /* StructureIsReused.Completely */) { processingDefaultLibFiles = []; processingOtherFiles = []; if (projectReferences) { @@ -116340,7 +116689,7 @@ var ts; var getCommonSourceDirectory_2 = ts.memoize(function () { return ts.getCommonSourceDirectoryOfConfig(parsedRef.commandLine, !host.useCaseSensitiveFileNames()); }); for (var _b = 0, _c = parsedRef.commandLine.fileNames; _b < _c.length; _b++) { var fileName = _c[_b]; - if (!ts.fileExtensionIs(fileName, ".d.ts" /* Dts */) && !ts.fileExtensionIs(fileName, ".json" /* Json */)) { + if (!ts.isDeclarationFileName(fileName) && !ts.fileExtensionIs(fileName, ".json" /* Extension.Json */)) { processProjectReferenceFile(ts.getOutputDeclarationFileName(fileName, parsedRef.commandLine, !host.useCaseSensitiveFileNames(), getCommonSourceDirectory_2), { kind: ts.FileIncludeKind.OutputFromProjectReference, index: index }); } } @@ -116349,19 +116698,19 @@ var ts; }); } } - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "processRootFiles", { count: rootNames.length }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "processRootFiles", { count: rootNames.length }); ts.forEach(rootNames, function (name, index) { return processRootFile(name, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, { kind: ts.FileIncludeKind.RootFile, index: index }); }); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); // load type declarations specified via 'types' argument or implicitly from types/ and node_modules/@types folders var typeReferences = rootNames.length ? ts.getAutomaticTypeDirectiveNames(options, host) : ts.emptyArray; if (typeReferences.length) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "processTypeReferences", { count: typeReferences.length }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "processTypeReferences", { count: typeReferences.length }); // This containingFilename needs to match with the one used in managed-side var containingDirectory = options.configFilePath ? ts.getDirectoryPath(options.configFilePath) : host.getCurrentDirectory(); var containingFilename = ts.combinePaths(containingDirectory, ts.inferredTypesContainingFile); var resolutions = resolveTypeReferenceDirectiveNamesWorker(typeReferences, containingFilename); for (var i = 0; i < typeReferences.length; i++) { - // under node12/nodenext module resolution, load `types`/ata include names as cjs resolution results by passing an `undefined` mode + // under node16/nodenext module resolution, load `types`/ata include names as cjs resolution results by passing an `undefined` mode processTypeReferenceDirective(typeReferences[i], /*mode*/ undefined, resolutions[i], { kind: ts.FileIncludeKind.AutomaticTypeDirectiveFile, typeReference: typeReferences[i], packageId: (_c = resolutions[i]) === null || _c === void 0 ? void 0 : _c.packageId }); } ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); @@ -116483,14 +116832,15 @@ var ts; useCaseSensitiveFileNames: function () { return host.useCaseSensitiveFileNames(); }, getFileIncludeReasons: function () { return fileReasons; }, structureIsReused: structureIsReused, + writeFile: writeFile, }; onProgramCreateComplete(); // Add file processingDiagnostics fileProcessingDiagnostics === null || fileProcessingDiagnostics === void 0 ? void 0 : fileProcessingDiagnostics.forEach(function (diagnostic) { switch (diagnostic.kind) { - case 1 /* FilePreprocessingFileExplainingDiagnostic */: + case 1 /* FilePreprocessingDiagnosticsKind.FilePreprocessingFileExplainingDiagnostic */: return programDiagnostics.add(createDiagnosticExplainingFile(diagnostic.file && getSourceFileByPath(diagnostic.file), diagnostic.fileProcessingReason, diagnostic.diagnostic, diagnostic.args || ts.emptyArray)); - case 0 /* FilePreprocessingReferencedDiagnostic */: + case 0 /* FilePreprocessingDiagnosticsKind.FilePreprocessingReferencedDiagnostic */: var _a = getReferencedFileLocation(getSourceFileByPath, diagnostic.reason), file = _a.file, pos = _a.pos, end = _a.end; return programDiagnostics.add(ts.createFileDiagnostic.apply(void 0, __spreadArray([file, ts.Debug.checkDefined(pos), ts.Debug.checkDefined(end) - pos, diagnostic.diagnostic], diagnostic.args || ts.emptyArray, false))); default: @@ -116502,17 +116852,52 @@ var ts; ts.performance.measure("Program", "beforeProgram", "afterProgram"); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); return program; + function addResolutionDiagnostics(list) { + if (!list) + return; + for (var _i = 0, list_3 = list; _i < list_3.length; _i++) { + var elem = list_3[_i]; + programDiagnostics.add(elem); + } + } + function pullDiagnosticsFromCache(names, containingFile) { + var _a; + if (!moduleResolutionCache) + return; + var containingFileName = ts.getNormalizedAbsolutePath(containingFile.originalFileName, currentDirectory); + var containingFileMode = !ts.isString(containingFile) ? containingFile.impliedNodeFormat : undefined; + var containingDir = ts.getDirectoryPath(containingFileName); + var redirectedReference = getRedirectReferenceForResolution(containingFile); + var i = 0; + for (var _i = 0, names_4 = names; _i < names_4.length; _i++) { + var n = names_4[_i]; + // mimics logic done in the resolution cache, should be resilient to upgrading it to use `FileReference`s for non-type-reference modal lookups to make it rely on the index in the list less + var mode = typeof n === "string" ? getModeForResolutionAtIndex(containingFile, i) : getModeForFileReference(n, containingFileMode); + var name = typeof n === "string" ? n : n.fileName; + i++; + // only nonrelative names hit the cache, and, at least as of right now, only nonrelative names can issue diagnostics + // (Since diagnostics are only issued via import or export map lookup) + // This may totally change if/when the issue of output paths not mapping to input files is fixed in a broader context + // When it is, how we extract diagnostics from the module name resolver will have the be refined - the current cache + // APIs wrapping the underlying resolver make it almost impossible to smuggle the diagnostics out in a generalized way + if (ts.isExternalModuleNameRelative(name)) + continue; + var diags = (_a = moduleResolutionCache.getOrCreateCacheForModuleName(name, mode, redirectedReference).get(containingDir)) === null || _a === void 0 ? void 0 : _a.resolutionDiagnostics; + addResolutionDiagnostics(diags); + } + } function resolveModuleNamesWorker(moduleNames, containingFile, reusedNames) { if (!moduleNames.length) return ts.emptyArray; var containingFileName = ts.getNormalizedAbsolutePath(containingFile.originalFileName, currentDirectory); var redirectedReference = getRedirectReferenceForResolution(containingFile); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "resolveModuleNamesWorker", { containingFileName: containingFileName }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "resolveModuleNamesWorker", { containingFileName: containingFileName }); ts.performance.mark("beforeResolveModule"); var result = actualResolveModuleNamesWorker(moduleNames, containingFile, containingFileName, reusedNames, redirectedReference); ts.performance.mark("afterResolveModule"); ts.performance.measure("ResolveModule", "beforeResolveModule", "afterResolveModule"); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); + pullDiagnosticsFromCache(moduleNames, containingFile); return result; } function resolveTypeReferenceDirectiveNamesWorker(typeDirectiveNames, containingFile) { @@ -116521,7 +116906,7 @@ var ts; var containingFileName = !ts.isString(containingFile) ? ts.getNormalizedAbsolutePath(containingFile.originalFileName, currentDirectory) : containingFile; var redirectedReference = !ts.isString(containingFile) ? getRedirectReferenceForResolution(containingFile) : undefined; var containingFileMode = !ts.isString(containingFile) ? containingFile.impliedNodeFormat : undefined; - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "resolveTypeReferenceDirectiveNamesWorker", { containingFileName: containingFileName }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "resolveTypeReferenceDirectiveNamesWorker", { containingFileName: containingFileName }); ts.performance.mark("beforeResolveTypeReference"); var result = actualResolveTypeReferenceDirectiveNamesWorker(typeDirectiveNames, containingFileName, redirectedReference, containingFileMode); ts.performance.mark("afterResolveTypeReference"); @@ -116531,7 +116916,7 @@ var ts; } function getRedirectReferenceForResolution(file) { var redirect = getResolvedProjectReferenceToRedirect(file.originalFileName); - if (redirect || !ts.fileExtensionIsOneOf(file.originalFileName, [".d.ts" /* Dts */, ".d.cts" /* Dcts */, ".d.mts" /* Dmts */])) + if (redirect || !ts.isDeclarationFileName(file.originalFileName)) return redirect; // The originalFileName could not be actual source file name if file found was d.ts from referecned project // So in this case try to look up if this is output from referenced project, if it is use the redirected project in that case @@ -116603,7 +116988,7 @@ var ts; return classifiableNames; } function resolveModuleNamesReusingOldState(moduleNames, file) { - if (structureIsReused === 0 /* Not */ && !file.ambientModuleNames.length) { + if (structureIsReused === 0 /* StructureIsReused.Not */ && !file.ambientModuleNames.length) { // If the old program state does not permit reusing resolutions and `file` does not contain locally defined ambient modules, // the best we can do is fallback to the default logic. return resolveModuleNamesWorker(moduleNames, file, /*reusedNames*/ undefined); @@ -116758,22 +117143,22 @@ var ts; function tryReuseStructureFromOldProgram() { var _a; if (!oldProgram) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } // check properties that can affect structure of the program or module resolution strategy // if any of these properties has changed - structure cannot be reused var oldOptions = oldProgram.getCompilerOptions(); if (ts.changesAffectModuleResolution(oldOptions, options)) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } // there is an old program, check if we can reuse its structure var oldRootNames = oldProgram.getRootFileNames(); if (!ts.arrayIsEqualTo(oldRootNames, rootNames)) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } // Check if any referenced project tsconfig files are different if (!canReuseProjectReferences()) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } if (projectReferences) { resolvedProjectReferences = projectReferences.map(parseProjectReferenceConfigFile); @@ -116781,12 +117166,12 @@ var ts; // check if program source files has changed in the way that can affect structure of the program var newSourceFiles = []; var modifiedSourceFiles = []; - structureIsReused = 2 /* Completely */; + structureIsReused = 2 /* StructureIsReused.Completely */; // If the missing file paths are now present, it can change the progam structure, // and hence cant reuse the structure. // This is same as how we dont reuse the structure if one of the file from old program is now missing if (oldProgram.getMissingFilePaths().some(function (missingFilePath) { return host.fileExists(missingFilePath); })) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } var oldSourceFiles = oldProgram.getSourceFiles(); var SeenPackageName; @@ -116801,7 +117186,7 @@ var ts; ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options), /*onError*/ undefined, shouldCreateNewSourceFile) : host.getSourceFile(oldSourceFile.fileName, getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options), /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 if (!newSourceFile) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } ts.Debug.assert(!newSourceFile.redirectInfo, "Host should not return a redirect source file from `getSourceFile`"); var fileChanged = void 0; @@ -116810,7 +117195,7 @@ var ts; // This lets us know if the unredirected file has changed. If it has we should break the redirect. if (newSourceFile !== oldSourceFile.redirectInfo.unredirected) { // Underlying file has changed. Might not redirect anymore. Must rebuild program. - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } fileChanged = false; newSourceFile = oldSourceFile; // Use the redirect. @@ -116818,7 +117203,7 @@ var ts; else if (oldProgram.redirectTargetsMap.has(oldSourceFile.path)) { // If a redirected-to source file changes, the redirect may be broken. if (newSourceFile !== oldSourceFile) { - return 0 /* Not */; + return 0 /* StructureIsReused.Not */; } fileChanged = false; } @@ -116835,9 +117220,9 @@ var ts; // If there are 2 different source files for the same package name and at least one of them changes, // they might become redirects. So we must rebuild the program. var prevKind = seenPackageNames.get(packageName); - var newKind = fileChanged ? 1 /* Modified */ : 0 /* Exists */; - if ((prevKind !== undefined && newKind === 1 /* Modified */) || prevKind === 1 /* Modified */) { - return 0 /* Not */; + var newKind = fileChanged ? 1 /* SeenPackageName.Modified */ : 0 /* SeenPackageName.Exists */; + if ((prevKind !== undefined && newKind === 1 /* SeenPackageName.Modified */) || prevKind === 1 /* SeenPackageName.Modified */) { + return 0 /* StructureIsReused.Not */; } seenPackageNames.set(packageName, newKind); } @@ -116845,49 +117230,49 @@ var ts; // The `newSourceFile` object was created for the new program. if (!ts.arrayIsEqualTo(oldSourceFile.libReferenceDirectives, newSourceFile.libReferenceDirectives, fileReferenceIsEqualTo)) { // 'lib' references has changed. Matches behavior in changesAffectModuleResolution - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } if (oldSourceFile.hasNoDefaultLib !== newSourceFile.hasNoDefaultLib) { // value of no-default-lib has changed // this will affect if default library is injected into the list of files - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } // check tripleslash references if (!ts.arrayIsEqualTo(oldSourceFile.referencedFiles, newSourceFile.referencedFiles, fileReferenceIsEqualTo)) { // tripleslash references has changed - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } // check imports and module augmentations collectExternalModuleReferences(newSourceFile); if (!ts.arrayIsEqualTo(oldSourceFile.imports, newSourceFile.imports, moduleNameIsEqualTo)) { // imports has changed - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } if (!ts.arrayIsEqualTo(oldSourceFile.moduleAugmentations, newSourceFile.moduleAugmentations, moduleNameIsEqualTo)) { // moduleAugmentations has changed - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } - if ((oldSourceFile.flags & 6291456 /* PermanentlySetIncrementalFlags */) !== (newSourceFile.flags & 6291456 /* PermanentlySetIncrementalFlags */)) { + if ((oldSourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */) !== (newSourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */)) { // dynamicImport has changed - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) { // 'types' references has changed - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; } // tentatively approve the file modifiedSourceFiles.push({ oldFile: oldSourceFile, newFile: newSourceFile }); } else if (hasInvalidatedResolution(oldSourceFile.path)) { // 'module/types' references could have changed - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; // add file to the modified list so that we will resolve it later modifiedSourceFiles.push({ oldFile: oldSourceFile, newFile: newSourceFile }); } // if file has passed all checks it should be safe to reuse it newSourceFiles.push(newSourceFile); } - if (structureIsReused !== 2 /* Completely */) { + if (structureIsReused !== 2 /* StructureIsReused.Completely */) { return structureIsReused; } var modifiedFiles = modifiedSourceFiles.map(function (f) { return f.oldFile; }); @@ -116908,7 +117293,7 @@ var ts; // ensure that module resolution results are still correct var resolutionsChanged = ts.hasChangesInResolutions(moduleNames, resolutions, oldSourceFile.resolvedModules, oldSourceFile, ts.moduleResolutionIsEqualTo); if (resolutionsChanged) { - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; newSourceFile.resolvedModules = ts.zipToModeAwareCache(newSourceFile, moduleNames, resolutions); } else { @@ -116919,18 +117304,18 @@ var ts; // ensure that types resolutions are still correct var typeReferenceResolutionsChanged = ts.hasChangesInResolutions(typesReferenceDirectives, typeReferenceResolutions, oldSourceFile.resolvedTypeReferenceDirectiveNames, oldSourceFile, ts.typeDirectiveIsEqualTo); if (typeReferenceResolutionsChanged) { - structureIsReused = 1 /* SafeModules */; + structureIsReused = 1 /* StructureIsReused.SafeModules */; newSourceFile.resolvedTypeReferenceDirectiveNames = ts.zipToModeAwareCache(newSourceFile, typesReferenceDirectives, typeReferenceResolutions); } else { newSourceFile.resolvedTypeReferenceDirectiveNames = oldSourceFile.resolvedTypeReferenceDirectiveNames; } } - if (structureIsReused !== 2 /* Completely */) { + if (structureIsReused !== 2 /* StructureIsReused.Completely */) { return structureIsReused; } if (ts.changesAffectingProgramStructure(oldOptions, options) || ((_a = host.hasChangedAutomaticTypeDirectiveNames) === null || _a === void 0 ? void 0 : _a.call(host))) { - return 1 /* SafeModules */; + return 1 /* StructureIsReused.SafeModules */; } missingFilePaths = oldProgram.getMissingFilePaths(); // update fileName -> file mapping @@ -116961,7 +117346,7 @@ var ts; sourceFileToPackageName = oldProgram.sourceFileToPackageName; redirectTargetsMap = oldProgram.redirectTargetsMap; usesUriStyleNodeCoreModules = oldProgram.usesUriStyleNodeCoreModules; - return 2 /* Completely */; + return 2 /* StructureIsReused.Completely */; } function getEmitHost(writeFileCallback) { return { @@ -116980,7 +117365,7 @@ var ts; getProjectReferenceRedirect: getProjectReferenceRedirect, isSourceOfProjectReferenceRedirect: isSourceOfProjectReferenceRedirect, getSymlinkCache: getSymlinkCache, - writeFile: writeFileCallback || (function (fileName, data, writeByteOrderMark, onError, sourceFiles) { return host.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles); }), + writeFile: writeFileCallback || writeFile, isEmitBlocked: isEmitBlocked, readFile: function (f) { return host.readFile(f); }, fileExists: function (f) { @@ -117000,9 +117385,12 @@ var ts; getFileIncludeReasons: program.getFileIncludeReasons, }; } + function writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data) { + host.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data); + } function emitBuildInfo(writeFileCallback) { ts.Debug.assert(!ts.outFile(options)); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "emitBuildInfo", {}, /*separateBeginAndEnd*/ true); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emitBuildInfo", {}, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeEmit"); var emitResult = ts.emitFiles(ts.notImplementedResolver, getEmitHost(writeFileCallback), /*targetSourceFile*/ undefined, @@ -117054,7 +117442,7 @@ var ts; return typeChecker || (typeChecker = ts.createTypeChecker(program)); } function emit(sourceFile, writeFileCallback, cancellationToken, emitOnlyDtsFiles, transformers, forceDtsEmit) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* Emit */, "emit", { path: sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.path }, /*separateBeginAndEnd*/ true); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emit", { path: sourceFile === null || sourceFile === void 0 ? void 0 : sourceFile.path }, /*separateBeginAndEnd*/ true); var result = runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken, emitOnlyDtsFiles, transformers, forceDtsEmit); }); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); return result; @@ -117174,7 +117562,7 @@ var ts; } var typeChecker = getTypeChecker(); ts.Debug.assert(!!sourceFile.bindDiagnostics); - var isJs = sourceFile.scriptKind === 1 /* JS */ || sourceFile.scriptKind === 2 /* JSX */; + var isJs = sourceFile.scriptKind === 1 /* ScriptKind.JS */ || sourceFile.scriptKind === 2 /* ScriptKind.JSX */; var isCheckJs = isJs && ts.isCheckJsEnabledForFile(sourceFile, options); var isPlainJs = ts.isPlainJsFile(sourceFile, options.checkJs); var isTsNoCheck = !!sourceFile.checkJsDirective && sourceFile.checkJsDirective.enabled === false; @@ -117182,8 +117570,8 @@ var ts; // - plain JS: .js files with no // ts-check and checkJs: undefined // - check JS: .js files with either // ts-check or checkJs: true // - external: files that are added by plugins - var includeBindAndCheckDiagnostics = !isTsNoCheck && (sourceFile.scriptKind === 3 /* TS */ || sourceFile.scriptKind === 4 /* TSX */ - || sourceFile.scriptKind === 5 /* External */ || isPlainJs || isCheckJs || sourceFile.scriptKind === 7 /* Deferred */); + var includeBindAndCheckDiagnostics = !isTsNoCheck && (sourceFile.scriptKind === 3 /* ScriptKind.TS */ || sourceFile.scriptKind === 4 /* ScriptKind.TSX */ + || sourceFile.scriptKind === 5 /* ScriptKind.External */ || isPlainJs || isCheckJs || sourceFile.scriptKind === 7 /* ScriptKind.Deferred */); var bindDiagnostics = includeBindAndCheckDiagnostics ? sourceFile.bindDiagnostics : ts.emptyArray; var checkDiagnostics = includeBindAndCheckDiagnostics ? typeChecker.getDiagnostics(sourceFile, cancellationToken) : ts.emptyArray; if (isPlainJs) { @@ -117262,22 +117650,22 @@ var ts; // Return directly from the case if the given node doesnt want to visit each child // Otherwise break to visit each child switch (parent.kind) { - case 164 /* Parameter */: - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")); return "skip"; } // falls through - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - case 214 /* ArrowFunction */: - case 254 /* VariableDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: + case 254 /* SyntaxKind.VariableDeclaration */: // type annotation if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Type_annotations_can_only_be_used_in_TypeScript_files)); @@ -117285,65 +117673,65 @@ var ts; } } switch (node.kind) { - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, "import type")); return "skip"; } break; - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, "export type")); return "skip"; } break; - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, ts.isImportSpecifier(node) ? "import...type" : "export...type")); return "skip"; } break; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_TypeScript_files)); return "skip"; - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 291 /* HeritageClause */: + case 291 /* SyntaxKind.HeritageClause */: var heritageClause = node; - if (heritageClause.token === 117 /* ImplementsKeyword */) { + if (heritageClause.token === 117 /* SyntaxKind.ImplementsKeyword */) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 258 /* InterfaceDeclaration */: - var interfaceKeyword = ts.tokenToString(118 /* InterfaceKeyword */); + case 258 /* SyntaxKind.InterfaceDeclaration */: + var interfaceKeyword = ts.tokenToString(118 /* SyntaxKind.InterfaceKeyword */); ts.Debug.assertIsDefined(interfaceKeyword); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, interfaceKeyword)); return "skip"; - case 261 /* ModuleDeclaration */: - var moduleKeyword = node.flags & 16 /* Namespace */ ? ts.tokenToString(142 /* NamespaceKeyword */) : ts.tokenToString(141 /* ModuleKeyword */); + case 261 /* SyntaxKind.ModuleDeclaration */: + var moduleKeyword = node.flags & 16 /* NodeFlags.Namespace */ ? ts.tokenToString(142 /* SyntaxKind.NamespaceKeyword */) : ts.tokenToString(141 /* SyntaxKind.ModuleKeyword */); ts.Debug.assertIsDefined(moduleKeyword); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, moduleKeyword)); return "skip"; - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Type_aliases_can_only_be_used_in_TypeScript_files)); return "skip"; - case 260 /* EnumDeclaration */: - var enumKeyword = ts.Debug.checkDefined(ts.tokenToString(92 /* EnumKeyword */)); + case 260 /* SyntaxKind.EnumDeclaration */: + var enumKeyword = ts.Debug.checkDefined(ts.tokenToString(92 /* SyntaxKind.EnumKeyword */)); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, enumKeyword)); return "skip"; - case 230 /* NonNullExpression */: + case 230 /* SyntaxKind.NonNullExpression */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Non_null_assertions_can_only_be_used_in_TypeScript_files)); return "skip"; - case 229 /* AsExpression */: + case 229 /* SyntaxKind.AsExpression */: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)); return "skip"; - case 211 /* TypeAssertionExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: ts.Debug.fail(); // Won't parse these in a JS file anyway, as they are interpreted as JSX. } } @@ -117352,53 +117740,53 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)); } switch (parent.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - case 214 /* ArrowFunction */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: // Check type parameters if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)); return "skip"; } // falls through - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: // Check modifiers if (nodes === parent.modifiers) { - checkModifiers(parent.modifiers, parent.kind === 237 /* VariableStatement */); + checkModifiers(parent.modifiers, parent.kind === 237 /* SyntaxKind.VariableStatement */); return "skip"; } break; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: // Check modifiers of property declaration if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { var modifier = _a[_i]; - if (modifier.kind !== 124 /* StaticKeyword */) { + if (modifier.kind !== 124 /* SyntaxKind.StaticKeyword */) { diagnostics.push(createDiagnosticForNode(modifier, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, ts.tokenToString(modifier.kind))); } } return "skip"; } break; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: // Check modifiers of parameter declaration if (nodes === parent.modifiers) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Parameter_modifiers_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 228 /* ExpressionWithTypeArguments */: - case 279 /* JsxSelfClosingElement */: - case 280 /* JsxOpeningElement */: - case 210 /* TaggedTemplateExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: // Check type arguments if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Type_arguments_can_only_be_used_in_TypeScript_files)); @@ -117411,27 +117799,27 @@ var ts; for (var _i = 0, modifiers_2 = modifiers; _i < modifiers_2.length; _i++) { var modifier = modifiers_2[_i]; switch (modifier.kind) { - case 85 /* ConstKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: if (isConstValid) { continue; } // to report error, // falls through - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 145 /* ReadonlyKeyword */: - case 135 /* DeclareKeyword */: - case 126 /* AbstractKeyword */: - case 159 /* OverrideKeyword */: - case 101 /* InKeyword */: - case 144 /* OutKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: + case 101 /* SyntaxKind.InKeyword */: + case 144 /* SyntaxKind.OutKeyword */: diagnostics.push(createDiagnosticForNode(modifier, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, ts.tokenToString(modifier.kind))); break; // These are all legal modifiers. - case 124 /* StaticKeyword */: - case 93 /* ExportKeyword */: - case 88 /* DefaultKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: } } } @@ -117501,20 +117889,20 @@ var ts; return a.fileName === b.fileName; } function moduleNameIsEqualTo(a, b) { - return a.kind === 79 /* Identifier */ - ? b.kind === 79 /* Identifier */ && a.escapedText === b.escapedText - : b.kind === 10 /* StringLiteral */ && a.text === b.text; + return a.kind === 79 /* SyntaxKind.Identifier */ + ? b.kind === 79 /* SyntaxKind.Identifier */ && a.escapedText === b.escapedText + : b.kind === 10 /* SyntaxKind.StringLiteral */ && a.text === b.text; } function createSyntheticImport(text, file) { var externalHelpersModuleReference = ts.factory.createStringLiteral(text); var importDecl = ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*importClause*/ undefined, externalHelpersModuleReference, /*assertClause*/ undefined); - ts.addEmitFlags(importDecl, 67108864 /* NeverApplyImportHelper */); + ts.addEmitFlags(importDecl, 67108864 /* EmitFlags.NeverApplyImportHelper */); ts.setParent(externalHelpersModuleReference, importDecl); ts.setParent(importDecl, file); // explicitly unset the synthesized flag on these declarations so the checker API will answer questions about them // (which is required to build the dependency graph for incremental emit) - externalHelpersModuleReference.flags &= ~8 /* Synthesized */; - importDecl.flags &= ~8 /* Synthesized */; + externalHelpersModuleReference.flags &= ~8 /* NodeFlags.Synthesized */; + importDecl.flags &= ~8 /* NodeFlags.Synthesized */; return externalHelpersModuleReference; } function collectExternalModuleReferences(file) { @@ -117545,7 +117933,7 @@ var ts; var node = _a[_i]; collectModuleReferences(node, /*inAmbientModule*/ false); } - if ((file.flags & 2097152 /* PossiblyContainsDynamicImport */) || isJavaScriptFile) { + if ((file.flags & 2097152 /* NodeFlags.PossiblyContainsDynamicImport */) || isJavaScriptFile) { collectDynamicImportOrRequireCalls(file); } file.imports = imports || ts.emptyArray; @@ -117567,7 +117955,7 @@ var ts; } } else if (ts.isModuleDeclaration(node)) { - if (ts.isAmbientModule(node) && (inAmbientModule || ts.hasSyntacticModifier(node, 2 /* Ambient */) || file.isDeclarationFile)) { + if (ts.isAmbientModule(node) && (inAmbientModule || ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */) || file.isDeclarationFile)) { node.name.parent = node; var nameText = ts.getTextOfIdentifierOrLiteral(node.name); // Ambient module declarations can be interpreted as augmentations for some existing external modules. @@ -117622,7 +118010,7 @@ var ts; function getNodeAtPosition(sourceFile, position) { var current = sourceFile; var getContainingChild = function (child) { - if (child.pos <= position && (position < child.end || (position === child.end && (child.kind === 1 /* EndOfFileToken */)))) { + if (child.pos <= position && (position < child.end || (position === child.end && (child.kind === 1 /* SyntaxKind.EndOfFileToken */)))) { return child; } }; @@ -117737,7 +118125,7 @@ var ts; } // Get source file from normalized fileName function findSourceFile(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "findSourceFile", { + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "findSourceFile", { fileName: fileName, isDefaultLib: isDefaultLib || undefined, fileIncludeKind: ts.FileIncludeKind[reason.kind], @@ -117922,7 +118310,7 @@ var ts; } function getProjectReferenceRedirectProject(fileName) { // Ignore dts or any json files - if (!resolvedProjectReferences || !resolvedProjectReferences.length || ts.fileExtensionIs(fileName, ".d.ts" /* Dts */) || ts.fileExtensionIs(fileName, ".json" /* Json */)) { + if (!resolvedProjectReferences || !resolvedProjectReferences.length || ts.isDeclarationFileName(fileName) || ts.fileExtensionIs(fileName, ".json" /* Extension.Json */)) { return undefined; } // If this file is produced by a referenced project, we need to rewrite it to @@ -117932,7 +118320,7 @@ var ts; function getProjectReferenceOutputName(referencedProject, fileName) { var out = ts.outFile(referencedProject.commandLine.options); return out ? - ts.changeExtension(out, ".d.ts" /* Dts */) : + ts.changeExtension(out, ".d.ts" /* Extension.Dts */) : ts.getOutputDeclarationFileName(fileName, referencedProject.commandLine, !host.useCaseSensitiveFileNames()); } /** @@ -117965,13 +118353,13 @@ var ts; var out = ts.outFile(resolvedRef.commandLine.options); if (out) { // Dont know which source file it means so return true? - var outputDts = ts.changeExtension(out, ".d.ts" /* Dts */); + var outputDts = ts.changeExtension(out, ".d.ts" /* Extension.Dts */); mapFromToProjectReferenceRedirectSource.set(toPath(outputDts), true); } else { var getCommonSourceDirectory_3 = ts.memoize(function () { return ts.getCommonSourceDirectoryOfConfig(resolvedRef.commandLine, !host.useCaseSensitiveFileNames()); }); ts.forEach(resolvedRef.commandLine.fileNames, function (fileName) { - if (!ts.fileExtensionIs(fileName, ".d.ts" /* Dts */) && !ts.fileExtensionIs(fileName, ".json" /* Json */)) { + if (!ts.isDeclarationFileName(fileName) && !ts.fileExtensionIs(fileName, ".json" /* Extension.Json */)) { var outputDts = ts.getOutputDeclarationFileName(fileName, resolvedRef.commandLine, !host.useCaseSensitiveFileNames(), getCommonSourceDirectory_3); mapFromToProjectReferenceRedirectSource.set(toPath(outputDts), fileName); } @@ -118010,14 +118398,14 @@ var ts; var fileName = ts.toFileNameLowerCase(ref.fileName); ts.setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective); var mode = ref.resolutionMode || file.impliedNodeFormat; - if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node12 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) { - programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node12_or_nodenext)); + if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) { + programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext)); } processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, }); } } function processTypeReferenceDirective(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* Program */, "processTypeReferenceDirective", { directive: typeReferenceDirective, hasResolved: !!resolveModuleNamesReusingOldState, refKind: reason.kind, refPath: isReferencedFile(reason) ? reason.file : undefined }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "processTypeReferenceDirective", { directive: typeReferenceDirective, hasResolved: !!resolveModuleNamesReusingOldState, refKind: reason.kind, refPath: isReferencedFile(reason) ? reason.file : undefined }); processTypeReferenceDirectiveWorker(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } @@ -118076,7 +118464,7 @@ var ts; path += (i === 2 ? "/" : "-") + components[i]; i++; } - var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_" + libFileName + "__.ts"); + var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_".concat(libFileName, "__.ts")); var localOverrideModuleResult = ts.resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: ts.ModuleResolutionKind.NodeJs }, host, moduleResolutionCache); if (localOverrideModuleResult === null || localOverrideModuleResult === void 0 ? void 0 : localOverrideModuleResult.resolvedModule) { return localOverrideModuleResult.resolvedModule.resolvedFileName; @@ -118096,7 +118484,7 @@ var ts; var suggestion = ts.getSpellingSuggestion(unqualifiedLibName, ts.libs, ts.identity); var diagnostic = suggestion ? ts.Diagnostics.Cannot_find_lib_definition_for_0_Did_you_mean_1 : ts.Diagnostics.Cannot_find_lib_definition_for_0; (fileProcessingDiagnostics || (fileProcessingDiagnostics = [])).push({ - kind: 0 /* FilePreprocessingReferencedDiagnostic */, + kind: 0 /* FilePreprocessingDiagnosticsKind.FilePreprocessingReferencedDiagnostic */, reason: { kind: ts.FileIncludeKind.LibReferenceDirective, file: file.path, index: index, }, diagnostic: diagnostic, args: [libName, suggestion] @@ -118143,7 +118531,7 @@ var ts; && index < file.imports.length && !elideImport && !(isJsFile && !ts.getAllowJSCompilerOption(optionsForFile)) - && (ts.isInJSFile(file.imports[index]) || !(file.imports[index].flags & 8388608 /* JSDoc */)); + && (ts.isInJSFile(file.imports[index]) || !(file.imports[index].flags & 8388608 /* NodeFlags.JSDoc */)); if (elideImport) { modulesWithElidedImports.set(file.path, true); } @@ -118204,7 +118592,7 @@ var ts; else { // An absolute path pointing to the containing directory of the config file var basePath = ts.getNormalizedAbsolutePath(ts.getDirectoryPath(refPath), host.getCurrentDirectory()); - sourceFile = host.getSourceFile(refPath, 100 /* JSON */); + sourceFile = host.getSourceFile(refPath, 100 /* ScriptTarget.JSON */); addFileToFilesByName(sourceFile, sourceFilePath, /*redirectedPath*/ undefined); if (sourceFile === undefined) { projectReferenceRedirects.set(sourceFilePath, false); @@ -118344,19 +118732,19 @@ var ts; var languageVersion = ts.getEmitScriptTarget(options); var firstNonAmbientExternalModuleSourceFile = ts.find(files, function (f) { return ts.isExternalModule(f) && !f.isDeclarationFile; }); if (options.isolatedModules) { - if (options.module === ts.ModuleKind.None && languageVersion < 2 /* ES2015 */) { + if (options.module === ts.ModuleKind.None && languageVersion < 2 /* ScriptTarget.ES2015 */) { createDiagnosticForOptionName(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher, "isolatedModules", "target"); } if (options.preserveConstEnums === false) { createDiagnosticForOptionName(ts.Diagnostics.Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled, "preserveConstEnums", "isolatedModules"); } - var firstNonExternalModuleSourceFile = ts.find(files, function (f) { return !ts.isExternalModule(f) && !ts.isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== 6 /* JSON */; }); + var firstNonExternalModuleSourceFile = ts.find(files, function (f) { return !ts.isExternalModule(f) && !ts.isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== 6 /* ScriptKind.JSON */; }); if (firstNonExternalModuleSourceFile) { var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile); programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(firstNonExternalModuleSourceFile.fileName))); } } - else if (firstNonAmbientExternalModuleSourceFile && languageVersion < 2 /* ES2015 */ && options.module === ts.ModuleKind.None) { + else if (firstNonAmbientExternalModuleSourceFile && languageVersion < 2 /* ScriptTarget.ES2015 */ && options.module === ts.ModuleKind.None) { // We cannot use createDiagnosticFromNode because nodes do not have parents yet var span = ts.getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, typeof firstNonAmbientExternalModuleSourceFile.externalModuleIndicator === "boolean" ? firstNonAmbientExternalModuleSourceFile : firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); programDiagnostics.add(ts.createFileDiagnostic(firstNonAmbientExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none)); @@ -118373,7 +118761,7 @@ var ts; } if (options.resolveJsonModule) { if (ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeJs && - ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node12 && + ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) { createDiagnosticForOptionName(ts.Diagnostics.Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy, "resolveJsonModule"); } @@ -118395,7 +118783,7 @@ var ts; createDiagnosticForOptionName(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files, "outDir"); } } - if (options.useDefineForClassFields && languageVersion === 0 /* ES3 */) { + if (options.useDefineForClassFields && languageVersion === 0 /* ScriptTarget.ES3 */) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3, "useDefineForClassFields"); } if (options.checkJs && !ts.getAllowJSCompilerOption(options)) { @@ -118417,7 +118805,7 @@ var ts; if (options.reactNamespace) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "reactNamespace", "jsxFactory"); } - if (options.jsx === 4 /* ReactJSX */ || options.jsx === 5 /* ReactJSXDev */) { + if (options.jsx === 4 /* JsxEmit.ReactJSX */ || options.jsx === 5 /* JsxEmit.ReactJSXDev */) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFactory", ts.inverseJsxOptionMap.get("" + options.jsx)); } if (!ts.parseIsolatedEntityName(options.jsxFactory, languageVersion)) { @@ -118431,7 +118819,7 @@ var ts; if (!options.jsxFactory) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "jsxFragmentFactory", "jsxFactory"); } - if (options.jsx === 4 /* ReactJSX */ || options.jsx === 5 /* ReactJSXDev */) { + if (options.jsx === 4 /* JsxEmit.ReactJSX */ || options.jsx === 5 /* JsxEmit.ReactJSXDev */) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxFragmentFactory", ts.inverseJsxOptionMap.get("" + options.jsx)); } if (!ts.parseIsolatedEntityName(options.jsxFragmentFactory, languageVersion)) { @@ -118439,12 +118827,12 @@ var ts; } } if (options.reactNamespace) { - if (options.jsx === 4 /* ReactJSX */ || options.jsx === 5 /* ReactJSXDev */) { + if (options.jsx === 4 /* JsxEmit.ReactJSX */ || options.jsx === 5 /* JsxEmit.ReactJSXDev */) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1, "reactNamespace", ts.inverseJsxOptionMap.get("" + options.jsx)); } } if (options.jsxImportSource) { - if (options.jsx === 2 /* React */) { + if (options.jsx === 2 /* JsxEmit.React */) { createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1, "jsxImportSource", ts.inverseJsxOptionMap.get("" + options.jsx)); } } @@ -118523,7 +118911,7 @@ var ts; } function addFilePreprocessingFileExplainingDiagnostic(file, fileProcessingReason, diagnostic, args) { (fileProcessingDiagnostics || (fileProcessingDiagnostics = [])).push({ - kind: 1 /* FilePreprocessingFileExplainingDiagnostic */, + kind: 1 /* FilePreprocessingDiagnosticsKind.FilePreprocessingFileExplainingDiagnostic */, file: file && file.path, fileProcessingReason: fileProcessingReason, diagnostic: diagnostic, @@ -118762,7 +119150,7 @@ var ts; // If options have --outFile or --out just check that var out = ts.outFile(options); if (out) { - return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts" /* Dts */); + return isSameFile(filePath, out) || isSameFile(filePath, ts.removeFileExtension(out) + ".d.ts" /* Extension.Dts */); } // If declarationDir is specified, return if its a file in that directory if (options.declarationDir && ts.containsPath(options.declarationDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames())) { @@ -118772,16 +119160,16 @@ var ts; if (options.outDir) { return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames()); } - if (ts.fileExtensionIsOneOf(filePath, ts.supportedJSExtensionsFlat) || ts.fileExtensionIs(filePath, ".d.ts" /* Dts */)) { + if (ts.fileExtensionIsOneOf(filePath, ts.supportedJSExtensionsFlat) || ts.isDeclarationFileName(filePath)) { // Otherwise just check if sourceFile with the name exists var filePathWithoutExtension = ts.removeFileExtension(filePath); - return !!getSourceFileByPath((filePathWithoutExtension + ".ts" /* Ts */)) || - !!getSourceFileByPath((filePathWithoutExtension + ".tsx" /* Tsx */)); + return !!getSourceFileByPath((filePathWithoutExtension + ".ts" /* Extension.Ts */)) || + !!getSourceFileByPath((filePathWithoutExtension + ".tsx" /* Extension.Tsx */)); } return false; } function isSameFile(file1, file2) { - return ts.comparePaths(file1, file2, currentDirectory, !host.useCaseSensitiveFileNames()) === 0 /* EqualTo */; + return ts.comparePaths(file1, file2, currentDirectory, !host.useCaseSensitiveFileNames()) === 0 /* Comparison.EqualTo */; } function getSymlinkCache() { if (host.getSymlinkCache) { @@ -118882,12 +119270,12 @@ var ts; } function directoryExistsIfProjectReferenceDeclDir(dir) { var dirPath = host.toPath(dir); - var dirPathWithTrailingDirectorySeparator = "" + dirPath + ts.directorySeparator; + var dirPathWithTrailingDirectorySeparator = "".concat(dirPath).concat(ts.directorySeparator); return ts.forEachKey(setOfDeclarationDirectories, function (declDirPath) { return dirPath === declDirPath || // Any parent directory of declaration dir ts.startsWith(declDirPath, dirPathWithTrailingDirectorySeparator) || // Any directory inside declaration dir - ts.startsWith(dirPath, declDirPath + "/"); }); + ts.startsWith(dirPath, "".concat(declDirPath, "/")); }); } function handleDirectoryCouldBeSymlink(directory) { var _a; @@ -118940,7 +119328,7 @@ var ts; if (isFile && result) { // Store the real path for the file' var absolutePath = ts.getNormalizedAbsolutePath(fileOrDirectory, host.compilerHost.getCurrentDirectory()); - symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "" + symlinkedDirectory.real + absolutePath.replace(new RegExp(directoryPath, "i"), "")); + symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "".concat(symlinkedDirectory.real).concat(absolutePath.replace(new RegExp(directoryPath, "i"), ""))); } return result; }) || false; @@ -119036,17 +119424,17 @@ var ts; function getResolutionDiagnostic(options, _a) { var extension = _a.extension; switch (extension) { - case ".ts" /* Ts */: - case ".d.ts" /* Dts */: + case ".ts" /* Extension.Ts */: + case ".d.ts" /* Extension.Dts */: // These are always allowed. return undefined; - case ".tsx" /* Tsx */: + case ".tsx" /* Extension.Tsx */: return needJsx(); - case ".jsx" /* Jsx */: + case ".jsx" /* Extension.Jsx */: return needJsx() || needAllowJs(); - case ".js" /* Js */: + case ".js" /* Extension.Js */: return needAllowJs(); - case ".json" /* Json */: + case ".json" /* Extension.Json */: return needResolveJsonModule(); } function needJsx() { @@ -119065,7 +119453,7 @@ var ts; var res = imports.map(function (i) { return i.text; }); for (var _i = 0, moduleAugmentations_1 = moduleAugmentations; _i < moduleAugmentations_1.length; _i++) { var aug = moduleAugmentations_1[_i]; - if (aug.kind === 10 /* StringLiteral */) { + if (aug.kind === 10 /* SyntaxKind.StringLiteral */) { res.push(aug.text); } // Do nothing if it's an Identifier; we don't need to do module resolution for `declare global`. @@ -119080,7 +119468,7 @@ var ts; var augIndex = imports.length; for (var _i = 0, moduleAugmentations_2 = moduleAugmentations; _i < moduleAugmentations_2.length; _i++) { var aug = moduleAugmentations_2[_i]; - if (aug.kind === 10 /* StringLiteral */) { + if (aug.kind === 10 /* SyntaxKind.StringLiteral */) { if (index === augIndex) return aug; augIndex++; @@ -119105,13 +119493,9 @@ var ts; ts.getFileEmitOutput = getFileEmitOutput; var BuilderState; (function (BuilderState) { - var manyToManyPathMapCount = 0; function createManyToManyPathMap() { function create(forward, reverse, deleted) { - var version = 0; var map = { - id: manyToManyPathMapCount++, - version: function () { return version; }, clone: function () { return create(new ts.Map(forward), new ts.Map(reverse), deleted && new ts.Set(deleted)); }, forEach: function (fn) { return forward.forEach(fn); }, getKeys: function (v) { return reverse.get(v); }, @@ -119127,30 +119511,29 @@ var ts; } set.forEach(function (v) { return deleteFromMultimap(reverse, v, k); }); forward.delete(k); - version++; return true; }, set: function (k, vSet) { - var changed = !!(deleted === null || deleted === void 0 ? void 0 : deleted.delete(k)); + deleted === null || deleted === void 0 ? void 0 : deleted.delete(k); var existingVSet = forward.get(k); forward.set(k, vSet); existingVSet === null || existingVSet === void 0 ? void 0 : existingVSet.forEach(function (v) { if (!vSet.has(v)) { - changed = true; deleteFromMultimap(reverse, v, k); } }); vSet.forEach(function (v) { if (!(existingVSet === null || existingVSet === void 0 ? void 0 : existingVSet.has(v))) { - changed = true; addToMultimap(reverse, v, k); } }); - if (changed) { - version++; - } return map; }, + clear: function () { + forward.clear(); + reverse.clear(); + deleted === null || deleted === void 0 ? void 0 : deleted.clear(); + } }; return map; } @@ -119165,11 +119548,10 @@ var ts; } set.add(v); } - function deleteFromMultimap(map, k, v, removeEmpty) { - if (removeEmpty === void 0) { removeEmpty = true; } + function deleteFromMultimap(map, k, v) { var set = map.get(k); if (set === null || set === void 0 ? void 0 : set.delete(v)) { - if (removeEmpty && !set.size) { + if (!set.size) { map.delete(k); } return true; @@ -119398,7 +119780,7 @@ var ts; /*forceDtsEmit*/ true); var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles); if (firstDts_1) { - ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); }); + ts.Debug.assert(ts.isDeclarationFileName(firstDts_1.name), "File extension for signature expected to be dts", function () { return "Found: ".concat(ts.getAnyExtensionFromPath(firstDts_1.name), " for ").concat(firstDts_1.name, ":: All output files: ").concat(JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; }))); }); latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text); if (exportedModulesMapCache && latestSignature !== prevSignature) { updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache); @@ -119448,6 +119830,7 @@ var ts; } } } + BuilderState.updateExportedModules = updateExportedModules; /** * Updates the exported modules from cache into state's exported modules map * This should be called whenever it is safe to commit the state of the builder @@ -119456,20 +119839,6 @@ var ts; var _a; if (exportedModulesMapCache) { ts.Debug.assert(!!state.exportedModulesMap); - var cacheId = exportedModulesMapCache.id; - var cacheVersion = exportedModulesMapCache.version(); - if (state.previousCache) { - if (state.previousCache.id === cacheId && state.previousCache.version === cacheVersion) { - // If this is the same cache at the same version as last time this BuilderState - // was updated, there's no need to update again - return; - } - state.previousCache.id = cacheId; - state.previousCache.version = cacheVersion; - } - else { - state.previousCache = { id: cacheId, version: cacheVersion }; - } (_a = exportedModulesMapCache.deletedKeys()) === null || _a === void 0 ? void 0 : _a.forEach(function (path) { return state.exportedModulesMap.deleteKey(path); }); exportedModulesMapCache.forEach(function (exportedModules, path) { return state.exportedModulesMap.set(path, exportedModules); }); } @@ -119718,7 +120087,7 @@ var ts; } else if (oldCompilerOptions && !ts.outFile(compilerOptions) && ts.compilerOptionsAffectEmit(compilerOptions, oldCompilerOptions)) { // Add all files to affectedFilesPendingEmit since emit changed - newProgram.getSourceFiles().forEach(function (f) { return addToAffectedFilesPendingEmit(state, f.resolvedPath, 1 /* Full */); }); + newProgram.getSourceFiles().forEach(function (f) { return addToAffectedFilesPendingEmit(state, f.resolvedPath, 1 /* BuilderFileEmit.Full */); }); ts.Debug.assert(!state.seenAffectedFiles || !state.seenAffectedFiles.size); state.seenAffectedFiles = state.seenAffectedFiles || new ts.Set(); } @@ -119803,7 +120172,8 @@ var ts; * This is to allow the callers to be able to actually remove affected file only when the operation is complete * eg. if during diagnostics check cancellation token ends up cancelling the request, the affected file should be retained */ - function getNextAffectedFile(state, cancellationToken, computeHash) { + function getNextAffectedFile(state, cancellationToken, computeHash, host) { + var _a; while (true) { var affectedFiles = state.affectedFiles; if (affectedFiles) { @@ -119814,7 +120184,7 @@ var ts; if (!seenAffectedFiles.has(affectedFile.resolvedPath)) { // Set the next affected file as seen and remove the cached semantic diagnostics state.affectedFilesIndex = affectedFilesIndex; - handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash); + handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host); return affectedFile; } affectedFilesIndex++; @@ -119826,6 +120196,7 @@ var ts; ts.BuilderState.updateSignaturesFromCache(state, state.currentAffectedFilesSignatures); state.currentAffectedFilesSignatures.clear(); ts.BuilderState.updateExportedFilesMapFromCache(state, state.currentAffectedFilesExportedModulesMap); + (_a = state.currentAffectedFilesExportedModulesMap) === null || _a === void 0 ? void 0 : _a.clear(); state.affectedFiles = undefined; } // Get next changed file @@ -119855,6 +120226,11 @@ var ts; state.seenAffectedFiles = new ts.Set(); } } + function clearAffectedFilesPendingEmit(state) { + state.affectedFilesPendingEmit = undefined; + state.affectedFilesPendingEmitKind = undefined; + state.affectedFilesPendingEmitIndex = undefined; + } /** * Returns next file to be emitted from files that retrieved semantic diagnostics but did not emit yet */ @@ -119874,49 +120250,48 @@ var ts; } } } - state.affectedFilesPendingEmit = undefined; - state.affectedFilesPendingEmitKind = undefined; - state.affectedFilesPendingEmitIndex = undefined; + clearAffectedFilesPendingEmit(state); } return undefined; } + function removeDiagnosticsOfLibraryFiles(state) { + if (!state.cleanedDiagnosticsOfLibFiles) { + state.cleanedDiagnosticsOfLibFiles = true; + var program_1 = ts.Debug.checkDefined(state.program); + var options_2 = program_1.getCompilerOptions(); + ts.forEach(program_1.getSourceFiles(), function (f) { + return program_1.isSourceFileDefaultLibrary(f) && + !ts.skipTypeChecking(f, options_2, program_1) && + removeSemanticDiagnosticsOf(state, f.resolvedPath); + }); + } + } /** * Handles semantic diagnostics and dts emit for affectedFile and files, that are referencing modules that export entities from affected file * This is because even though js emit doesnt change, dts emit / type used can change resulting in need for dts emit and js change */ - function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash) { + function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host) { var _a; removeSemanticDiagnosticsOf(state, affectedFile.resolvedPath); // If affected files is everything except default library, then nothing more to do if (state.allFilesExcludingDefaultLibraryFile === state.affectedFiles) { - if (!state.cleanedDiagnosticsOfLibFiles) { - state.cleanedDiagnosticsOfLibFiles = true; - var program_1 = ts.Debug.checkDefined(state.program); - var options_2 = program_1.getCompilerOptions(); - ts.forEach(program_1.getSourceFiles(), function (f) { - return program_1.isSourceFileDefaultLibrary(f) && - !ts.skipTypeChecking(f, options_2, program_1) && - removeSemanticDiagnosticsOf(state, f.resolvedPath); - }); - } + removeDiagnosticsOfLibraryFiles(state); // When a change affects the global scope, all files are considered to be affected without updating their signature // That means when affected file is handled, its signature can be out of date // To avoid this, ensure that we update the signature for any affected file in this scenario. ts.BuilderState.updateShapeSignature(state, ts.Debug.checkDefined(state.program), affectedFile, ts.Debug.checkDefined(state.currentAffectedFilesSignatures), cancellationToken, computeHash, state.currentAffectedFilesExportedModulesMap); return; } - else { - ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: " + affectedFile.fileName); - } - if (!state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) { - forEachReferencingModulesOfExportOfAffectedFile(state, affectedFile, function (state, path) { return handleDtsMayChangeOf(state, path, cancellationToken, computeHash); }); - } + ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: ".concat(affectedFile.fileName)); + if (state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) + return; + handleDtsMayChangeOfReferencingExportOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host); } /** * Handle the dts may change, so they need to be added to pending emit if dts emit is enabled, * Also we need to make sure signature is updated for these files */ - function handleDtsMayChangeOf(state, path, cancellationToken, computeHash) { + function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, host) { removeSemanticDiagnosticsOf(state, path); if (!state.changedFilesSet.has(path)) { var program = ts.Debug.checkDefined(state.program); @@ -119927,11 +120302,10 @@ var ts; // This ensures that we dont later during incremental builds considering wrong signature. // Eg where this also is needed to ensure that .tsbuildinfo generated by incremental build should be same as if it was first fresh build // But we avoid expensive full shape computation, as using file version as shape is enough for correctness. - ts.BuilderState.updateShapeSignature(state, program, sourceFile, ts.Debug.checkDefined(state.currentAffectedFilesSignatures), cancellationToken, computeHash, state.currentAffectedFilesExportedModulesMap, - /* useFileVersionAsSignature */ true); + ts.BuilderState.updateShapeSignature(state, program, sourceFile, ts.Debug.checkDefined(state.currentAffectedFilesSignatures), cancellationToken, computeHash, state.currentAffectedFilesExportedModulesMap, !host.disableUseFileVersionAsSignature); // If not dts emit, nothing more to do if (ts.getEmitDeclarations(state.compilerOptions)) { - addToAffectedFilesPendingEmit(state, path, 0 /* DtsOnly */); + addToAffectedFilesPendingEmit(state, path, 0 /* BuilderFileEmit.DtsOnly */); } } } @@ -119953,16 +120327,41 @@ var ts; var oldSignature = ts.Debug.checkDefined(state.fileInfos.get(path)).signature; return newSignature !== oldSignature; } + function forEachKeyOfExportedModulesMap(state, filePath, fn) { + // Go through exported modules from cache first + var keys = state.currentAffectedFilesExportedModulesMap.getKeys(filePath); + var result = keys && ts.forEachKey(keys, fn); + if (result) + return result; + // If exported from path is not from cache and exported modules has path, all files referencing file exported from are affected + keys = state.exportedModulesMap.getKeys(filePath); + return keys && ts.forEachKey(keys, function (exportedFromPath) { + var _a; + // If the cache had an updated value, skip + return !state.currentAffectedFilesExportedModulesMap.hasKey(exportedFromPath) && + !((_a = state.currentAffectedFilesExportedModulesMap.deletedKeys()) === null || _a === void 0 ? void 0 : _a.has(exportedFromPath)) ? + fn(exportedFromPath) : + undefined; + }); + } + function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, host) { + var _a; + if (!((_a = state.fileInfos.get(filePath)) === null || _a === void 0 ? void 0 : _a.affectsGlobalScope)) + return false; + // Every file needs to be handled + ts.BuilderState.getAllFilesExcludingDefaultLibraryFile(state, state.program, /*firstSourceFile*/ undefined) + .forEach(function (file) { return handleDtsMayChangeOf(state, file.resolvedPath, cancellationToken, computeHash, host); }); + removeDiagnosticsOfLibraryFiles(state); + return true; + } /** - * Iterate on referencing modules that export entities from affected file + * Iterate on referencing modules that export entities from affected file and delete diagnostics and add pending emit */ - function forEachReferencingModulesOfExportOfAffectedFile(state, affectedFile, fn) { - var _a, _b; + function handleDtsMayChangeOfReferencingExportOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host) { // If there was change in signature (dts output) for the changed file, // then only we need to handle pending file emit - if (!state.exportedModulesMap || !state.changedFilesSet.has(affectedFile.resolvedPath)) { + if (!state.exportedModulesMap || !state.changedFilesSet.has(affectedFile.resolvedPath)) return; - } if (!isChangedSignature(state, affectedFile.resolvedPath)) return; // Since isolated modules dont change js files, files affected by change in signature is itself @@ -119975,7 +120374,9 @@ var ts; var currentPath = queue.pop(); if (!seenFileNamesMap.has(currentPath)) { seenFileNamesMap.set(currentPath, true); - fn(state, currentPath); + if (handleDtsMayChangeOfGlobalScope(state, currentPath, cancellationToken, computeHash, host)) + return; + handleDtsMayChangeOf(state, currentPath, cancellationToken, computeHash, host); if (isChangedSignature(state, currentPath)) { var currentSourceFile = ts.Debug.checkDefined(state.program).getSourceFileByPath(currentPath); queue.push.apply(queue, ts.BuilderState.getReferencedByPaths(state, currentSourceFile.resolvedPath)); @@ -119987,56 +120388,38 @@ var ts; var seenFileAndExportsOfFile = new ts.Set(); // Go through exported modules from cache first // If exported modules has path, all files referencing file exported from are affected - (_a = state.currentAffectedFilesExportedModulesMap.getKeys(affectedFile.resolvedPath)) === null || _a === void 0 ? void 0 : _a.forEach(function (exportedFromPath) { - return forEachFilesReferencingPath(state, exportedFromPath, seenFileAndExportsOfFile, fn); - }); - // If exported from path is not from cache and exported modules has path, all files referencing file exported from are affected - (_b = state.exportedModulesMap.getKeys(affectedFile.resolvedPath)) === null || _b === void 0 ? void 0 : _b.forEach(function (exportedFromPath) { - var _a; - // If the cache had an updated value, skip - return !state.currentAffectedFilesExportedModulesMap.hasKey(exportedFromPath) && - !((_a = state.currentAffectedFilesExportedModulesMap.deletedKeys()) === null || _a === void 0 ? void 0 : _a.has(exportedFromPath)) && - forEachFilesReferencingPath(state, exportedFromPath, seenFileAndExportsOfFile, fn); + forEachKeyOfExportedModulesMap(state, affectedFile.resolvedPath, function (exportedFromPath) { + if (handleDtsMayChangeOfGlobalScope(state, exportedFromPath, cancellationToken, computeHash, host)) + return true; + var references = state.referencedMap.getKeys(exportedFromPath); + return references && ts.forEachKey(references, function (filePath) { + return handleDtsMayChangeOfFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, cancellationToken, computeHash, host); + }); }); } /** - * Iterate on files referencing referencedPath + * handle dts and semantic diagnostics on file and iterate on anything that exports this file + * return true when all work is done and we can exit handling dts emit and semantic diagnostics */ - function forEachFilesReferencingPath(state, referencedPath, seenFileAndExportsOfFile, fn) { + function handleDtsMayChangeOfFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, cancellationToken, computeHash, host) { var _a; - (_a = state.referencedMap.getKeys(referencedPath)) === null || _a === void 0 ? void 0 : _a.forEach(function (filePath) { - return forEachFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, fn); - }); - } - /** - * fn on file and iterate on anything that exports this file - */ - function forEachFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, fn) { - var _a, _b, _c; - if (!ts.tryAddToSet(seenFileAndExportsOfFile, filePath)) { - return; - } - fn(state, filePath); + if (!ts.tryAddToSet(seenFileAndExportsOfFile, filePath)) + return undefined; + if (handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, host)) + return true; + handleDtsMayChangeOf(state, filePath, cancellationToken, computeHash, host); ts.Debug.assert(!!state.currentAffectedFilesExportedModulesMap); - // Go through exported modules from cache first // If exported modules has path, all files referencing file exported from are affected - (_a = state.currentAffectedFilesExportedModulesMap.getKeys(filePath)) === null || _a === void 0 ? void 0 : _a.forEach(function (exportedFromPath) { - return forEachFileAndExportsOfFile(state, exportedFromPath, seenFileAndExportsOfFile, fn); - }); - // If exported from path is not from cache and exported modules has path, all files referencing file exported from are affected - (_b = state.exportedModulesMap.getKeys(filePath)) === null || _b === void 0 ? void 0 : _b.forEach(function (exportedFromPath) { - var _a; - // If the cache had an updated value, skip - return !state.currentAffectedFilesExportedModulesMap.hasKey(exportedFromPath) && - !((_a = state.currentAffectedFilesExportedModulesMap.deletedKeys()) === null || _a === void 0 ? void 0 : _a.has(exportedFromPath)) && - forEachFileAndExportsOfFile(state, exportedFromPath, seenFileAndExportsOfFile, fn); + forEachKeyOfExportedModulesMap(state, filePath, function (exportedFromPath) { + return handleDtsMayChangeOfFileAndExportsOfFile(state, exportedFromPath, seenFileAndExportsOfFile, cancellationToken, computeHash, host); }); // Remove diagnostics of files that import this file (without going to exports of referencing files) - (_c = state.referencedMap.getKeys(filePath)) === null || _c === void 0 ? void 0 : _c.forEach(function (referencingFilePath) { + (_a = state.referencedMap.getKeys(filePath)) === null || _a === void 0 ? void 0 : _a.forEach(function (referencingFilePath) { return !seenFileAndExportsOfFile.has(referencingFilePath) && // Not already removed diagnostic file - fn(state, referencingFilePath); - } // Dont add to seen since this is not yet done with the export removal - ); + handleDtsMayChangeOf(// Dont add to seen since this is not yet done with the export removal + state, referencingFilePath, cancellationToken, computeHash, host); + }); + return undefined; } /** * This is called after completing operation on the next affected file. @@ -120125,13 +120508,18 @@ var ts; var signature = state.currentAffectedFilesSignatures && state.currentAffectedFilesSignatures.get(key); var actualSignature = signature !== null && signature !== void 0 ? signature : value.signature; return value.version === actualSignature ? - value.affectsGlobalScope ? - { version: value.version, signature: undefined, affectsGlobalScope: true, impliedFormat: value.impliedFormat } : + value.affectsGlobalScope || value.impliedFormat ? + // If file version is same as signature, dont serialize signature + { version: value.version, signature: undefined, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat } : + // If file info only contains version and signature and both are same we can just write string value.version : - actualSignature !== undefined ? + actualSignature !== undefined ? // If signature is not same as version, encode signature in the fileInfo signature === undefined ? + // If we havent computed signature, use fileInfo as is value : + // Serialize fileInfo with new updated signature { version: value.version, signature: signature, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat } : + // Signature of the FileInfo is undefined, serialize it as false { version: value.version, signature: false, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat }; }); var referencedMap; @@ -120376,8 +120764,8 @@ var ts; * in that order would be used to write the files */ function emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) { - var affected = getNextAffectedFile(state, cancellationToken, computeHash); - var emitKind = 1 /* Full */; + var affected = getNextAffectedFile(state, cancellationToken, computeHash, host); + var emitKind = 1 /* BuilderFileEmit.Full */; var isPendingEmitFile = false; if (!affected) { if (!ts.outFile(state.compilerOptions)) { @@ -120390,7 +120778,7 @@ var ts; return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file - affected_1.emitBuildInfo(writeFile || ts.maybeBind(host, host.writeFile), cancellationToken), affected_1, 1 /* Full */, + affected_1.emitBuildInfo(writeFile || ts.maybeBind(host, host.writeFile), cancellationToken), affected_1, 1 /* BuilderFileEmit.Full */, /*isPendingEmitFile*/ false, /*isBuildInfoEmit*/ true); } @@ -120407,7 +120795,43 @@ var ts; return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file - ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles || emitKind === 0 /* DtsOnly */, customTransformers), affected, emitKind, isPendingEmitFile); + ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, affected !== state.program && ts.getEmitDeclarations(state.compilerOptions) && !customTransformers ? + getWriteFileUpdatingSignatureCallback(writeFile) : + writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles || emitKind === 0 /* BuilderFileEmit.DtsOnly */, customTransformers), affected, emitKind, isPendingEmitFile); + } + function getWriteFileUpdatingSignatureCallback(writeFile) { + return function (fileName, text, writeByteOrderMark, onError, sourceFiles, data) { + var _a; + if (ts.isDeclarationFileName(fileName)) { + ts.Debug.assert((sourceFiles === null || sourceFiles === void 0 ? void 0 : sourceFiles.length) === 1); + var file = sourceFiles[0]; + var info = state.fileInfos.get(file.resolvedPath); + var signature = ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.get(file.resolvedPath)) || info.signature; + if (signature === file.version) { + var newSignature = (computeHash || ts.generateDjb2Hash)((data === null || data === void 0 ? void 0 : data.sourceMapUrlPos) !== undefined ? text.substring(0, data.sourceMapUrlPos) : text); + if (newSignature !== file.version) { // Update it + if (host.storeFilesChangingSignatureDuringEmit) + (state.filesChangingSignature || (state.filesChangingSignature = new ts.Set())).add(file.resolvedPath); + if (state.exportedModulesMap) + ts.BuilderState.updateExportedModules(file, file.exportedModulesFromDeclarationEmit, state.currentAffectedFilesExportedModulesMap || (state.currentAffectedFilesExportedModulesMap = ts.BuilderState.createManyToManyPathMap())); + if (state.affectedFiles && state.affectedFilesIndex < state.affectedFiles.length) { + state.currentAffectedFilesSignatures.set(file.resolvedPath, newSignature); + } + else { + info.signature = newSignature; + if (state.exportedModulesMap) + ts.BuilderState.updateExportedFilesMapFromCache(state, state.currentAffectedFilesExportedModulesMap); + } + } + } + } + if (writeFile) + writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data); + else if (host.writeFile) + host.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data); + else + state.program.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data); + }; } /** * Emits the JavaScript and declaration files. @@ -120421,56 +120845,52 @@ var ts; * in that order would be used to write the files */ function emit(targetSourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) { - var restorePendingEmitOnHandlingNoEmitSuccess = false; - var savedAffectedFilesPendingEmit; - var savedAffectedFilesPendingEmitKind; - var savedAffectedFilesPendingEmitIndex; - // Backup and restore affected pendings emit state for non emit Builder if noEmitOnError is enabled and emitBuildInfo could be written in case there are errors - // This ensures pending files to emit is updated in tsbuildinfo - // Note that when there are no errors, emit proceeds as if everything is emitted as it is callers reponsibility to write the files to disk if at all (because its builder that doesnt track files to emit) - if (kind !== BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram && - !targetSourceFile && - !ts.outFile(state.compilerOptions) && - !state.compilerOptions.noEmit && - state.compilerOptions.noEmitOnError) { - restorePendingEmitOnHandlingNoEmitSuccess = true; - savedAffectedFilesPendingEmit = state.affectedFilesPendingEmit && state.affectedFilesPendingEmit.slice(); - savedAffectedFilesPendingEmitKind = state.affectedFilesPendingEmitKind && new ts.Map(state.affectedFilesPendingEmitKind); - savedAffectedFilesPendingEmitIndex = state.affectedFilesPendingEmitIndex; - } + var _a; if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) { assertSourceFileOkWithoutNextAffectedCall(state, targetSourceFile); } var result = ts.handleNoEmitOptions(builderProgram, targetSourceFile, writeFile, cancellationToken); if (result) return result; - if (restorePendingEmitOnHandlingNoEmitSuccess) { - state.affectedFilesPendingEmit = savedAffectedFilesPendingEmit; - state.affectedFilesPendingEmitKind = savedAffectedFilesPendingEmitKind; - state.affectedFilesPendingEmitIndex = savedAffectedFilesPendingEmitIndex; - } // Emit only affected files if using builder for emit - if (!targetSourceFile && kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) { - // Emit and report any errors we ran into. - var sourceMaps = []; - var emitSkipped = false; - var diagnostics = void 0; - var emittedFiles = []; - var affectedEmitResult = void 0; - while (affectedEmitResult = emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)) { - emitSkipped = emitSkipped || affectedEmitResult.result.emitSkipped; - diagnostics = ts.addRange(diagnostics, affectedEmitResult.result.diagnostics); - emittedFiles = ts.addRange(emittedFiles, affectedEmitResult.result.emittedFiles); - sourceMaps = ts.addRange(sourceMaps, affectedEmitResult.result.sourceMaps); + if (!targetSourceFile) { + if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) { + // Emit and report any errors we ran into. + var sourceMaps = []; + var emitSkipped = false; + var diagnostics = void 0; + var emittedFiles = []; + var affectedEmitResult = void 0; + while (affectedEmitResult = emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)) { + emitSkipped = emitSkipped || affectedEmitResult.result.emitSkipped; + diagnostics = ts.addRange(diagnostics, affectedEmitResult.result.diagnostics); + emittedFiles = ts.addRange(emittedFiles, affectedEmitResult.result.emittedFiles); + sourceMaps = ts.addRange(sourceMaps, affectedEmitResult.result.sourceMaps); + } + return { + emitSkipped: emitSkipped, + diagnostics: diagnostics || ts.emptyArray, + emittedFiles: emittedFiles, + sourceMaps: sourceMaps + }; + } + // In non Emit builder, clear affected files pending emit + else if ((_a = state.affectedFilesPendingEmitKind) === null || _a === void 0 ? void 0 : _a.size) { + ts.Debug.assert(kind === BuilderProgramKind.SemanticDiagnosticsBuilderProgram); + // State can clear affected files pending emit if + if (!emitOnlyDtsFiles // If we are doing complete emit, affected files pending emit can be cleared + // If every file pending emit is pending on only dts emit + || ts.every(state.affectedFilesPendingEmit, function (path, index) { + return index < state.affectedFilesPendingEmitIndex || + state.affectedFilesPendingEmitKind.get(path) === 0 /* BuilderFileEmit.DtsOnly */; + })) { + clearAffectedFilesPendingEmit(state); + } } - return { - emitSkipped: emitSkipped, - diagnostics: diagnostics || ts.emptyArray, - emittedFiles: emittedFiles, - sourceMaps: sourceMaps - }; } - return ts.Debug.checkDefined(state.program).emit(targetSourceFile, writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles, customTransformers); + return ts.Debug.checkDefined(state.program).emit(targetSourceFile, !ts.outFile(state.compilerOptions) && ts.getEmitDeclarations(state.compilerOptions) && !customTransformers ? + getWriteFileUpdatingSignatureCallback(writeFile) : + writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles, customTransformers); } /** * Return the semantic diagnostics for the next affected file or undefined if iteration is complete @@ -120478,7 +120898,7 @@ var ts; */ function getSemanticDiagnosticsOfNextAffectedFile(cancellationToken, ignoreSourceFile) { while (true) { - var affected = getNextAffectedFile(state, cancellationToken, computeHash); + var affected = getNextAffectedFile(state, cancellationToken, computeHash, host); if (!affected) { // Done return undefined; @@ -120490,7 +120910,7 @@ var ts; // Add file to affected file pending emit to handle for later emit time // Apart for emit builder do this for tsbuildinfo, do this for non emit builder when noEmit is set as tsbuildinfo is written and reused between emitters if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram || state.compilerOptions.noEmit || state.compilerOptions.noEmitOnError) { - addToAffectedFilesPendingEmit(state, affected.resolvedPath, 1 /* Full */); + addToAffectedFilesPendingEmit(state, affected.resolvedPath, 1 /* BuilderFileEmit.Full */); } // Get diagnostics for the affected file if its not ignored if (ignoreSourceFile && ignoreSourceFile(affected)) { @@ -120702,7 +121122,7 @@ var ts; return false; } var pathPartForUserCheck = dirPath.substring(rootLength, nextDirectorySeparator + 1); - var isNonDirectorySeparatorRoot = rootLength > 1 || dirPath.charCodeAt(0) !== 47 /* slash */; + var isNonDirectorySeparatorRoot = rootLength > 1 || dirPath.charCodeAt(0) !== 47 /* CharacterCodes.slash */; if (isNonDirectorySeparatorRoot && dirPath.search(/[a-zA-Z]:/) !== 0 && // Non dos style paths pathPartForUserCheck.search(/[a-zA-z]\$\//) === 0) { // Dos style nextPart @@ -120759,7 +121179,7 @@ var ts; * This helps in not having to comb through all resolutions when files are added/removed * Note that .d.ts file also has .d.ts extension hence will be part of default extensions */ - var failedLookupDefaultExtensions = [".ts" /* Ts */, ".tsx" /* Tsx */, ".js" /* Js */, ".jsx" /* Jsx */, ".json" /* Json */]; + var failedLookupDefaultExtensions = [".ts" /* Extension.Ts */, ".tsx" /* Extension.Tsx */, ".js" /* Extension.Js */, ".jsx" /* Extension.Jsx */, ".json" /* Extension.Json */]; var customFailedLookupPaths = new ts.Map(); var directoryWatchesOfFailedLookups = new ts.Map(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); @@ -120914,8 +121334,8 @@ var ts; !!redirectedReference; var seenNamesInFile = ts.createModeAwareCache(); var i = 0; - for (var _i = 0, names_4 = names; _i < names_4.length; _i++) { - var entry = names_4[_i]; + for (var _i = 0, names_5 = names; _i < names_5.length; _i++) { + var entry = names_5[_i]; var name = ts.isString(entry) ? entry : entry.fileName.toLowerCase(); // Imports supply a `containingSourceFile` but no `containingSourceFileMode` - it would be redundant // they require calculating the mode for a given import from it's position in the resolution table, since a given @@ -121059,7 +121479,7 @@ var ts; failedLookupLocation = ts.isRootedDiskPath(failedLookupLocation) ? ts.normalizePath(failedLookupLocation) : ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory()); var failedLookupPathSplit = failedLookupLocationPath.split(ts.directorySeparator); var failedLookupSplit = failedLookupLocation.split(ts.directorySeparator); - ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: " + failedLookupLocation + " failedLookupLocationPath: " + failedLookupLocationPath); + ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: ".concat(failedLookupLocation, " failedLookupLocationPath: ").concat(failedLookupLocationPath)); if (failedLookupPathSplit.length > rootSplitLength + 1) { // Instead of watching root, watch directory in root to avoid watching excluded directories not needed for module resolution return { @@ -121236,7 +121656,7 @@ var ts; cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); } scheduleInvalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath); - }, nonRecursive ? 0 /* None */ : 1 /* Recursive */); + }, nonRecursive ? 0 /* WatchDirectoryFlags.None */ : 1 /* WatchDirectoryFlags.Recursive */); } function removeResolutionsOfFileFromCache(cache, filePath, getResolutionWithResolvedFileName) { // Deleted file, stop watching failed lookups for all the resolutions in the file @@ -121247,7 +121667,7 @@ var ts; } } function removeResolutionsFromProjectReferenceRedirects(filePath) { - if (!ts.fileExtensionIs(filePath, ".json" /* Json */)) + if (!ts.fileExtensionIs(filePath, ".json" /* Extension.Json */)) return; var program = resolutionHost.getCurrentProgram(); if (!program) @@ -121387,7 +121807,7 @@ var ts; if (dirPath) { scheduleInvalidateResolutionOfFailedLookupLocation(fileOrDirectoryPath, dirPath === fileOrDirectoryPath); } - }, 1 /* Recursive */); + }, 1 /* WatchDirectoryFlags.Recursive */); } /** * Watches the types that would get added as part of getAutomaticTypeDirectiveNames @@ -121455,33 +121875,33 @@ var ts; function getPreferences(host, _a, compilerOptions, importingSourceFile) { var importModuleSpecifierPreference = _a.importModuleSpecifierPreference, importModuleSpecifierEnding = _a.importModuleSpecifierEnding; return { - relativePreference: importModuleSpecifierPreference === "relative" ? 0 /* Relative */ : - importModuleSpecifierPreference === "non-relative" ? 1 /* NonRelative */ : - importModuleSpecifierPreference === "project-relative" ? 3 /* ExternalNonRelative */ : - 2 /* Shortest */, + relativePreference: importModuleSpecifierPreference === "relative" ? 0 /* RelativePreference.Relative */ : + importModuleSpecifierPreference === "non-relative" ? 1 /* RelativePreference.NonRelative */ : + importModuleSpecifierPreference === "project-relative" ? 3 /* RelativePreference.ExternalNonRelative */ : + 2 /* RelativePreference.Shortest */, ending: getEnding(), }; function getEnding() { switch (importModuleSpecifierEnding) { - case "minimal": return 0 /* Minimal */; - case "index": return 1 /* Index */; - case "js": return 2 /* JsExtension */; - default: return usesJsExtensionOnImports(importingSourceFile) || isFormatRequiringExtensions(compilerOptions, importingSourceFile.path, host) ? 2 /* JsExtension */ - : ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeJs ? 1 /* Index */ : 0 /* Minimal */; + case "minimal": return 0 /* Ending.Minimal */; + case "index": return 1 /* Ending.Index */; + case "js": return 2 /* Ending.JsExtension */; + default: return usesJsExtensionOnImports(importingSourceFile) || isFormatRequiringExtensions(compilerOptions, importingSourceFile.path, host) ? 2 /* Ending.JsExtension */ + : ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeJs ? 1 /* Ending.Index */ : 0 /* Ending.Minimal */; } } } function getPreferencesForUpdate(compilerOptions, oldImportSpecifier, importingSourceFileName, host) { return { - relativePreference: ts.isExternalModuleNameRelative(oldImportSpecifier) ? 0 /* Relative */ : 1 /* NonRelative */, + relativePreference: ts.isExternalModuleNameRelative(oldImportSpecifier) ? 0 /* RelativePreference.Relative */ : 1 /* RelativePreference.NonRelative */, ending: ts.hasJSFileExtension(oldImportSpecifier) || isFormatRequiringExtensions(compilerOptions, importingSourceFileName, host) ? - 2 /* JsExtension */ : - ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeJs || ts.endsWith(oldImportSpecifier, "index") ? 1 /* Index */ : 0 /* Minimal */, + 2 /* Ending.JsExtension */ : + ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeJs || ts.endsWith(oldImportSpecifier, "index") ? 1 /* Ending.Index */ : 0 /* Ending.Minimal */, }; } function isFormatRequiringExtensions(compilerOptions, importingSourceFileName, host) { var _a; - if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node12 + if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { return false; } @@ -121525,14 +121945,14 @@ var ts; if (options === void 0) { options = {}; } var info = getInfo(importingSourceFile.path, host); var modulePaths = getAllModulePaths(importingSourceFile.path, nodeModulesFileName, host, preferences, options); - return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ true, options.overrideImportMode); }); + return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, preferences, /*packageNameOnly*/ true, options.overrideImportMode); }); } moduleSpecifiers_1.getNodeModulesPackageName = getNodeModulesPackageName; function getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, preferences, userPreferences, options) { if (options === void 0) { options = {}; } var info = getInfo(importingSourceFileName, host); var modulePaths = getAllModulePaths(importingSourceFileName, toFileName, host, userPreferences, options); - return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ undefined, options.overrideImportMode); }) || + return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, userPreferences, /*packageNameOnly*/ undefined, options.overrideImportMode); }) || getLocalModuleSpecifier(toFileName, info, compilerOptions, host, preferences); } function tryGetModuleSpecifiersFromCache(moduleSymbol, importingSourceFile, host, userPreferences, options) { @@ -121589,7 +122009,7 @@ var ts; return undefined; var specifier = ts.getModuleNameStringLiteralAt(importingSourceFile, reason.index).text; // If the preference is for non relative and the module specifier is relative, ignore it - return preferences.relativePreference !== 1 /* NonRelative */ || !ts.pathIsRelative(specifier) ? + return preferences.relativePreference !== 1 /* RelativePreference.NonRelative */ || !ts.pathIsRelative(specifier) ? specifier : undefined; }); }); @@ -121608,7 +122028,7 @@ var ts; var relativeSpecifiers; for (var _i = 0, modulePaths_1 = modulePaths; _i < modulePaths_1.length; _i++) { var modulePath = modulePaths_1[_i]; - var specifier = tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, /*packageNameOnly*/ undefined, options.overrideImportMode); + var specifier = tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, userPreferences, /*packageNameOnly*/ undefined, options.overrideImportMode); nodeModulesSpecifiers = ts.append(nodeModulesSpecifiers, specifier); if (specifier && modulePath.isRedirect) { // If we got a specifier for a redirect, it was a bare package specifier (e.g. "@foo/bar", @@ -121650,7 +122070,7 @@ var ts; var sourceDirectory = info.sourceDirectory, getCanonicalFileName = info.getCanonicalFileName; var relativePath = rootDirs && tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName, ending, compilerOptions) || removeExtensionAndIndexPostFix(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceDirectory, moduleFileName, getCanonicalFileName)), ending, compilerOptions); - if (!baseUrl && !paths || relativePreference === 0 /* Relative */) { + if (!baseUrl && !paths || relativePreference === 0 /* RelativePreference.Relative */) { return relativePath; } var baseDirectory = ts.getNormalizedAbsolutePath(ts.getPathsBasePath(compilerOptions, host) || baseUrl, host.getCurrentDirectory()); @@ -121664,10 +122084,10 @@ var ts; if (!nonRelative) { return relativePath; } - if (relativePreference === 1 /* NonRelative */) { + if (relativePreference === 1 /* RelativePreference.NonRelative */) { return nonRelative; } - if (relativePreference === 3 /* ExternalNonRelative */) { + if (relativePreference === 3 /* RelativePreference.ExternalNonRelative */) { var projectDirectory = compilerOptions.configFilePath ? ts.toPath(ts.getDirectoryPath(compilerOptions.configFilePath), host.getCurrentDirectory(), info.getCanonicalFileName) : info.getCanonicalFileName(host.getCurrentDirectory()); @@ -121701,7 +122121,7 @@ var ts; } return relativePath; } - if (relativePreference !== 2 /* Shortest */) + if (relativePreference !== 2 /* RelativePreference.Shortest */) ts.Debug.assertNever(relativePreference); // Prefer a relative import over a baseUrl import if it has fewer components. return isPathRelativeToParent(nonRelative) || countPathComponents(relativePath) < countPathComponents(nonRelative) ? relativePath : nonRelative; @@ -121709,7 +122129,7 @@ var ts; function countPathComponents(path) { var count = 0; for (var i = ts.startsWith(path, "./") ? 2 : 0; i < path.length; i++) { - if (path.charCodeAt(i) === 47 /* slash */) + if (path.charCodeAt(i) === 47 /* CharacterCodes.slash */) count++; } return count; @@ -121880,11 +122300,11 @@ var ts; var exportSymbol = checker.getSymbolAtLocation(exportAssignment); if (!exportSymbol) return; - var originalExportSymbol = (exportSymbol === null || exportSymbol === void 0 ? void 0 : exportSymbol.flags) & 2097152 /* Alias */ ? checker.getAliasedSymbol(exportSymbol) : exportSymbol; + var originalExportSymbol = (exportSymbol === null || exportSymbol === void 0 ? void 0 : exportSymbol.flags) & 2097152 /* SymbolFlags.Alias */ ? checker.getAliasedSymbol(exportSymbol) : exportSymbol; if (originalExportSymbol === d.symbol) return topNamespace.parent.parent; function getTopNamespace(namespaceDeclaration) { - while (namespaceDeclaration.flags & 4 /* NestedNamespace */) { + while (namespaceDeclaration.flags & 4 /* NodeFlags.NestedNamespace */) { namespaceDeclaration = namespaceDeclaration.parent; } return namespaceDeclaration; @@ -121925,23 +122345,23 @@ var ts; MatchingMode[MatchingMode["Pattern"] = 2] = "Pattern"; })(MatchingMode || (MatchingMode = {})); function tryGetModuleNameFromExports(options, targetFilePath, packageDirectory, packageName, exports, conditions, mode) { - if (mode === void 0) { mode = 0 /* Exact */; } + if (mode === void 0) { mode = 0 /* MatchingMode.Exact */; } if (typeof exports === "string") { var pathOrPattern = ts.getNormalizedAbsolutePath(ts.combinePaths(packageDirectory, exports), /*currentDirectory*/ undefined); var extensionSwappedTarget = ts.hasTSFileExtension(targetFilePath) ? ts.removeFileExtension(targetFilePath) + tryGetJSExtensionForFile(targetFilePath, options) : undefined; switch (mode) { - case 0 /* Exact */: - if (ts.comparePaths(targetFilePath, pathOrPattern) === 0 /* EqualTo */ || (extensionSwappedTarget && ts.comparePaths(extensionSwappedTarget, pathOrPattern) === 0 /* EqualTo */)) { + case 0 /* MatchingMode.Exact */: + if (ts.comparePaths(targetFilePath, pathOrPattern) === 0 /* Comparison.EqualTo */ || (extensionSwappedTarget && ts.comparePaths(extensionSwappedTarget, pathOrPattern) === 0 /* Comparison.EqualTo */)) { return { moduleFileToTry: packageName }; } break; - case 1 /* Directory */: + case 1 /* MatchingMode.Directory */: if (ts.containsPath(pathOrPattern, targetFilePath)) { var fragment = ts.getRelativePathFromDirectory(pathOrPattern, targetFilePath, /*ignoreCase*/ false); return { moduleFileToTry: ts.getNormalizedAbsolutePath(ts.combinePaths(ts.combinePaths(packageName, exports), fragment), /*currentDirectory*/ undefined) }; } break; - case 2 /* Pattern */: + case 2 /* MatchingMode.Pattern */: var starPos = pathOrPattern.indexOf("*"); var leadingSlice = pathOrPattern.slice(0, starPos); var trailingSlice = pathOrPattern.slice(starPos + 1); @@ -121968,9 +122388,9 @@ var ts; // * exact mappings (no *, does not end with /) return ts.forEach(ts.getOwnKeys(exports), function (k) { var subPackageName = ts.getNormalizedAbsolutePath(ts.combinePaths(packageName, k), /*currentDirectory*/ undefined); - var mode = ts.endsWith(k, "/") ? 1 /* Directory */ - : ts.stringContains(k, "*") ? 2 /* Pattern */ - : 0 /* Exact */; + var mode = ts.endsWith(k, "/") ? 1 /* MatchingMode.Directory */ + : ts.stringContains(k, "*") ? 2 /* MatchingMode.Pattern */ + : 0 /* MatchingMode.Exact */; return tryGetModuleNameFromExports(options, targetFilePath, packageDirectory, subPackageName, exports[k], conditions, mode); }); } @@ -122001,7 +122421,7 @@ var ts; ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions) : ts.removeFileExtension(relativePath); } - function tryGetModuleNameAsNodeModule(_a, _b, importingSourceFile, host, options, packageNameOnly, overrideMode) { + function tryGetModuleNameAsNodeModule(_a, _b, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { var path = _a.path, isRedirect = _a.isRedirect; var getCanonicalFileName = _b.getCanonicalFileName, sourceDirectory = _b.sourceDirectory; if (!host.fileExists || !host.readFile) { @@ -122015,8 +122435,9 @@ var ts; var moduleSpecifier = path; var isPackageRootPath = false; if (!packageNameOnly) { + var preferences = getPreferences(host, userPreferences, options, importingSourceFile); var packageRootIndex = parts.packageRootIndex; - var moduleFileNameForExtensionless = void 0; + var moduleFileName = void 0; while (true) { // If the module could be imported by a directory name, use that directory's name var _c = tryDirectoryWithPackageJson(packageRootIndex), moduleFileToTry = _c.moduleFileToTry, packageRootPath = _c.packageRootPath, blockedByExports = _c.blockedByExports, verbatimFromExports = _c.verbatimFromExports; @@ -122033,12 +122454,12 @@ var ts; isPackageRootPath = true; break; } - if (!moduleFileNameForExtensionless) - moduleFileNameForExtensionless = moduleFileToTry; + if (!moduleFileName) + moduleFileName = moduleFileToTry; // try with next level of directory packageRootIndex = path.indexOf(ts.directorySeparator, packageRootIndex + 1); if (packageRootIndex === -1) { - moduleSpecifier = getExtensionlessFileName(moduleFileNameForExtensionless); + moduleSpecifier = removeExtensionAndIndexPostFix(moduleFileName, preferences.ending, options, host); break; } } @@ -122066,7 +122487,7 @@ var ts; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); - if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { + if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { // `conditions` *could* be made to go against `importingSourceFile.impliedNodeFormat` if something wanted to generate // an ImportEqualsDeclaration in an ESM-implied file or an ImportCall in a CJS-implied file. But since this function is // usually called to conjure an import out of thin air, we don't have an existing usage to call `getModeForUsageAtIndex` @@ -122090,13 +122511,13 @@ var ts; : undefined; if (versionPaths) { var subModuleName = path.slice(packageRootPath.length + 1); - var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(subModuleName), removeExtensionAndIndexPostFix(subModuleName, 0 /* Minimal */, options), versionPaths.paths); + var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(subModuleName), removeExtensionAndIndexPostFix(subModuleName, 0 /* Ending.Minimal */, options), versionPaths.paths); if (fromPaths !== undefined) { moduleFileToTry = ts.combinePaths(packageRootPath, fromPaths); } } // If the file is the main module, it can be imported by the package name - var mainFileRelative = packageJsonContent.typings || packageJsonContent.types || packageJsonContent.main; + var mainFileRelative = packageJsonContent.typings || packageJsonContent.types || packageJsonContent.main || "index.js"; if (ts.isString(mainFileRelative)) { var mainExportFile = ts.toPath(mainFileRelative, packageRootPath, getCanonicalFileName); if (ts.removeFileExtension(mainExportFile) === ts.removeFileExtension(getCanonicalFileName(moduleFileToTry))) { @@ -122104,24 +122525,21 @@ var ts; } } } - return { moduleFileToTry: moduleFileToTry }; - } - function getExtensionlessFileName(path) { - // We still have a file name - remove the extension - var fullModulePathWithoutExtension = ts.removeFileExtension(path); - // If the file is /index, it can be imported by its directory name - // IFF there is not _also_ a file by the same name - if (getCanonicalFileName(fullModulePathWithoutExtension.substring(parts.fileNameIndex)) === "/index" && !tryGetAnyFileFromPath(host, fullModulePathWithoutExtension.substring(0, parts.fileNameIndex))) { - return fullModulePathWithoutExtension.substring(0, parts.fileNameIndex); + else { + // No package.json exists; an index.js will still resolve as the package name + var fileName = getCanonicalFileName(moduleFileToTry.substring(parts.packageRootIndex + 1)); + if (fileName === "index.d.ts" || fileName === "index.js" || fileName === "index.ts" || fileName === "index.tsx") { + return { moduleFileToTry: moduleFileToTry, packageRootPath: packageRootPath }; + } } - return fullModulePathWithoutExtension; + return { moduleFileToTry: moduleFileToTry }; } } function tryGetAnyFileFromPath(host, path) { if (!host.fileExists) return; // We check all js, `node` and `json` extensions in addition to TS, since node module resolution would also choose those over the directory - var extensions = ts.flatten(ts.getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 /* JSON */ }])); + var extensions = ts.flatten(ts.getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 /* ScriptKind.JSON */ }])); for (var _i = 0, extensions_3 = extensions; _i < extensions_3.length; _i++) { var e = extensions_3[_i]; var fullPath = path + e; @@ -122136,18 +122554,26 @@ var ts; return relativePath !== undefined && isPathRelativeToParent(relativePath) ? undefined : relativePath; }); } - function removeExtensionAndIndexPostFix(fileName, ending, options) { - if (ts.fileExtensionIsOneOf(fileName, [".json" /* Json */, ".mjs" /* Mjs */, ".cjs" /* Cjs */])) + function removeExtensionAndIndexPostFix(fileName, ending, options, host) { + if (ts.fileExtensionIsOneOf(fileName, [".json" /* Extension.Json */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */])) return fileName; var noExtension = ts.removeFileExtension(fileName); - if (ts.fileExtensionIsOneOf(fileName, [".d.mts" /* Dmts */, ".mts" /* Mts */, ".d.cts" /* Dcts */, ".cts" /* Cts */])) + if (fileName === noExtension) + return fileName; + if (ts.fileExtensionIsOneOf(fileName, [".d.mts" /* Extension.Dmts */, ".mts" /* Extension.Mts */, ".d.cts" /* Extension.Dcts */, ".cts" /* Extension.Cts */])) return noExtension + getJSExtensionForFile(fileName, options); switch (ending) { - case 0 /* Minimal */: - return ts.removeSuffix(noExtension, "/index"); - case 1 /* Index */: + case 0 /* Ending.Minimal */: + var withoutIndex = ts.removeSuffix(noExtension, "/index"); + if (host && withoutIndex !== noExtension && tryGetAnyFileFromPath(host, withoutIndex)) { + // Can't remove index if there's a file by the same name as the directory. + // Probably more callers should pass `host` so we can determine this? + return noExtension; + } + return withoutIndex; + case 1 /* Ending.Index */: return noExtension; - case 2 /* JsExtension */: + case 2 /* Ending.JsExtension */: return noExtension + getJSExtensionForFile(fileName, options); default: return ts.Debug.assertNever(ending); @@ -122155,28 +122581,28 @@ var ts; } function getJSExtensionForFile(fileName, options) { var _a; - return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension " + ts.extensionFromPath(fileName) + " is unsupported:: FileName:: " + fileName); + return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension ".concat(ts.extensionFromPath(fileName), " is unsupported:: FileName:: ").concat(fileName)); } function tryGetJSExtensionForFile(fileName, options) { var ext = ts.tryGetExtensionFromPath(fileName); switch (ext) { - case ".ts" /* Ts */: - case ".d.ts" /* Dts */: - return ".js" /* Js */; - case ".tsx" /* Tsx */: - return options.jsx === 1 /* Preserve */ ? ".jsx" /* Jsx */ : ".js" /* Js */; - case ".js" /* Js */: - case ".jsx" /* Jsx */: - case ".json" /* Json */: + case ".ts" /* Extension.Ts */: + case ".d.ts" /* Extension.Dts */: + return ".js" /* Extension.Js */; + case ".tsx" /* Extension.Tsx */: + return options.jsx === 1 /* JsxEmit.Preserve */ ? ".jsx" /* Extension.Jsx */ : ".js" /* Extension.Js */; + case ".js" /* Extension.Js */: + case ".jsx" /* Extension.Jsx */: + case ".json" /* Extension.Json */: return ext; - case ".d.mts" /* Dmts */: - case ".mts" /* Mts */: - case ".mjs" /* Mjs */: - return ".mjs" /* Mjs */; - case ".d.cts" /* Dcts */: - case ".cts" /* Cts */: - case ".cjs" /* Cjs */: - return ".cjs" /* Cjs */; + case ".d.mts" /* Extension.Dmts */: + case ".mts" /* Extension.Mts */: + case ".mjs" /* Extension.Mjs */: + return ".mjs" /* Extension.Mjs */; + case ".d.cts" /* Extension.Dcts */: + case ".cts" /* Extension.Cts */: + case ".cjs" /* Extension.Cjs */: + return ".cjs" /* Extension.Cjs */; default: return undefined; } @@ -122258,8 +122684,8 @@ var ts; return pretty ? function (diagnostic, newLine, options) { clearScreenIfNotWatchingForFileChanges(system, diagnostic, options); - var output = "[" + ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] "; - output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (newLine + newLine); + var output = "[".concat(ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] "); + output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(newLine + newLine); system.write(output); } : function (diagnostic, newLine, options) { @@ -122267,8 +122693,8 @@ var ts; if (!clearScreenIfNotWatchingForFileChanges(system, diagnostic, options)) { output += newLine; } - output += getLocaleTimeString(system) + " - "; - output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + getPlainDiagnosticFollowingNewLines(diagnostic, newLine); + output += "".concat(getLocaleTimeString(system), " - "); + output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(getPlainDiagnosticFollowingNewLines(diagnostic, newLine)); system.write(output); }; } @@ -122291,7 +122717,7 @@ var ts; .map(function (errorDiagnostic) { if (errorDiagnostic.file === undefined) return; - return "" + errorDiagnostic.file.fileName; + return "".concat(errorDiagnostic.file.fileName); }); return filesInError.map(function (fileName) { var diagnosticForFileName = ts.find(diagnostics, function (diagnostic) { @@ -122324,7 +122750,7 @@ var ts; if (errorCount === 0) return ""; var nonNilFiles = filesInError.filter(function (fileInError) { return fileInError !== undefined; }); - var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return fileInError.fileName + ":" + fileInError.line; }) + var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return "".concat(fileInError.fileName, ":").concat(fileInError.line); }) .filter(function (value, index, self) { return self.indexOf(value) === index; }); var firstFileReference = nonNilFiles[0] && prettyPathForFileError(nonNilFiles[0], host.getCurrentDirectory()); var d = errorCount === 1 ? @@ -122337,7 +122763,7 @@ var ts; ts.Diagnostics.Found_0_errors_in_the_same_file_starting_at_Colon_1 : ts.Diagnostics.Found_0_errors_in_1_files, errorCount, distinctFileNamesWithLines.length === 1 ? firstFileReference : distinctFileNamesWithLines.length); var suffix = distinctFileNamesWithLines.length > 1 ? createTabularErrorsDisplay(nonNilFiles, host) : ""; - return "" + newLine + ts.flattenDiagnosticMessageText(d.messageText, newLine) + newLine + newLine + suffix; + return "".concat(newLine).concat(ts.flattenDiagnosticMessageText(d.messageText, newLine)).concat(newLine).concat(newLine).concat(suffix); } ts.getErrorSummaryText = getErrorSummaryText; function createTabularErrorsDisplay(filesInError, host) { @@ -122360,7 +122786,7 @@ var ts; " ".repeat(leftPaddingGoal - errorCountDigitsLength) : ""; var fileRef = prettyPathForFileError(file, host.getCurrentDirectory()); - tabularData += "" + leftPadding + errorCount + " " + fileRef + "\n"; + tabularData += "".concat(leftPadding).concat(errorCount, " ").concat(fileRef, "\n"); }); return tabularData; } @@ -122387,9 +122813,9 @@ var ts; var relativeFileName = function (fileName) { return ts.convertToRelativePath(fileName, program.getCurrentDirectory(), getCanonicalFileName); }; for (var _i = 0, _c = program.getSourceFiles(); _i < _c.length; _i++) { var file = _c[_i]; - write("" + toFileName(file, relativeFileName)); - (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" " + fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText); }); - (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" " + d.messageText); }); + write("".concat(toFileName(file, relativeFileName))); + (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" ".concat(fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText)); }); + (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); }); } } ts.explainFiles = explainFiles; @@ -122422,14 +122848,14 @@ var ts; var configFile = program.getCompilerOptions().configFile; if (!((_a = configFile === null || configFile === void 0 ? void 0 : configFile.configFileSpecs) === null || _a === void 0 ? void 0 : _a.validatedIncludeSpecs)) return undefined; - var isJsonFile = ts.fileExtensionIs(fileName, ".json" /* Json */); + var isJsonFile = ts.fileExtensionIs(fileName, ".json" /* Extension.Json */); var basePath = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(configFile.fileName, program.getCurrentDirectory())); var useCaseSensitiveFileNames = program.useCaseSensitiveFileNames(); return ts.find((_b = configFile === null || configFile === void 0 ? void 0 : configFile.configFileSpecs) === null || _b === void 0 ? void 0 : _b.validatedIncludeSpecs, function (includeSpec) { - if (isJsonFile && !ts.endsWith(includeSpec, ".json" /* Json */)) + if (isJsonFile && !ts.endsWith(includeSpec, ".json" /* Extension.Json */)) return false; var pattern = ts.getPatternFromSpec(includeSpec, basePath, "files"); - return !!pattern && ts.getRegexFromPattern("(" + pattern + ")$", useCaseSensitiveFileNames).test(fileName); + return !!pattern && ts.getRegexFromPattern("(".concat(pattern, ")$"), useCaseSensitiveFileNames).test(fileName); }); } ts.getMatchedIncludeSpec = getMatchedIncludeSpec; @@ -122438,7 +122864,7 @@ var ts; var options = program.getCompilerOptions(); if (ts.isReferencedFile(reason)) { var referenceLocation = ts.getReferencedFileLocation(function (path) { return program.getSourceFileByPath(path); }, reason); - var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"" + referenceLocation.text + "\""; + var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"".concat(referenceLocation.text, "\""); var message = void 0; ts.Debug.assert(ts.isReferenceFileLocation(referenceLocation) || reason.kind === ts.FileIncludeKind.Import, "Only synthetic references are imports"); switch (reason.kind) { @@ -122562,7 +122988,7 @@ var ts; var currentDir_1 = program.getCurrentDirectory(); ts.forEach(emittedFiles, function (file) { var filepath = ts.getNormalizedAbsolutePath(file, currentDir_1); - write("TSFILE: " + filepath); + write("TSFILE: ".concat(filepath)); }); listFiles(program, write); } @@ -122662,6 +123088,7 @@ var ts; createHash: ts.maybeBind(host, host.createHash), readDirectory: ts.maybeBind(host, host.readDirectory), disableUseFileVersionAsSignature: host.disableUseFileVersionAsSignature, + storeFilesChangingSignatureDuringEmit: host.storeFilesChangingSignatureDuringEmit, }; function writeFile(fileName, text, writeByteOrderMark, onError) { try { @@ -122721,6 +123148,7 @@ var ts; createHash: ts.maybeBind(system, system.createHash), createProgram: createProgram || ts.createEmitAndSemanticDiagnosticsBuilderProgram, disableUseFileVersionAsSignature: system.disableUseFileVersionAsSignature, + storeFilesChangingSignatureDuringEmit: system.storeFilesChangingSignatureDuringEmit, }; } ts.createProgramHost = createProgramHost; @@ -122809,6 +123237,7 @@ var ts; var host = ts.createCompilerHostWorker(options, /*setParentNodes*/ undefined, system); host.createHash = ts.maybeBind(system, system.createHash); host.disableUseFileVersionAsSignature = system.disableUseFileVersionAsSignature; + host.storeFilesChangingSignatureDuringEmit = system.storeFilesChangingSignatureDuringEmit; ts.setGetSourceFileAsHashVersioned(host, system); ts.changeCompilerHostLikeToUseCache(host, function (fileName) { return ts.toPath(fileName, host.getCurrentDirectory(), host.getCanonicalFileName); }); return host; @@ -122891,7 +123320,7 @@ var ts; } var _b = ts.createWatchFactory(host, compilerOptions), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory, writeLog = _b.writeLog; var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); - writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames); + writeLog("Current directory: ".concat(currentDirectory, " CaseSensitiveFileNames: ").concat(useCaseSensitiveFileNames)); var configFileWatcher; if (configFileName) { configFileWatcher = watchFile(configFileName, scheduleProgramReload, ts.PollingInterval.High, watchOptions, ts.WatchType.ConfigFile); @@ -123047,10 +123476,10 @@ var ts; function createNewProgram(hasInvalidatedResolution) { // Compile the program writeLog("CreatingProgramWith::"); - writeLog(" roots: " + JSON.stringify(rootFileNames)); - writeLog(" options: " + JSON.stringify(compilerOptions)); + writeLog(" roots: ".concat(JSON.stringify(rootFileNames))); + writeLog(" options: ".concat(JSON.stringify(compilerOptions))); if (projectReferences) - writeLog(" projectReferences: " + JSON.stringify(projectReferences)); + writeLog(" projectReferences: ".concat(JSON.stringify(projectReferences))); var needsUpdateInTypeRootWatch = hasChangedCompilerOptions || !getCurrentProgram(); hasChangedCompilerOptions = false; hasChangedConfigFileParsingErrors = false; @@ -123211,7 +123640,7 @@ var ts; return resolutionCache.invalidateResolutionsOfFailedLookupLocations(); } var pending = clearInvalidateResolutionsOfFailedLookupLocations(); - writeLog("Scheduling invalidateFailedLookup" + (pending ? ", Cancelled earlier one" : "")); + writeLog("Scheduling invalidateFailedLookup".concat(pending ? ", Cancelled earlier one" : "")); timerToInvalidateFailedLookupResolutions = host.setTimeout(invalidateResolutionsOfFailedLookup, 250); } function invalidateResolutionsOfFailedLookup() { @@ -123271,7 +123700,7 @@ var ts; synchronizeProgram(); } function reloadConfigFile() { - writeLog("Reloading config file: " + configFileName); + writeLog("Reloading config file: ".concat(configFileName)); reloadLevel = ts.ConfigFileProgramReloadLevel.None; if (cachedDirectoryStructureHost) { cachedDirectoryStructureHost.clearCache(); @@ -123312,7 +123741,7 @@ var ts; return config.parsedCommandLine; } } - writeLog("Loading config file: " + configFileName); + writeLog("Loading config file: ".concat(configFileName)); var parsedCommandLine = host.getParsedCommandLine ? host.getParsedCommandLine(configFileName) : getParsedCommandLineFromConfigFileHost(configFileName); @@ -123553,7 +123982,7 @@ var ts; UpToDateStatusType[UpToDateStatusType["ContainerOnly"] = 11] = "ContainerOnly"; })(UpToDateStatusType = ts.UpToDateStatusType || (ts.UpToDateStatusType = {})); function resolveConfigFileProjectName(project) { - if (ts.fileExtensionIs(project, ".json" /* Json */)) { + if (ts.fileExtensionIs(project, ".json" /* Extension.Json */)) { return project; } return ts.combinePaths(project, "tsconfig.json"); @@ -123598,9 +124027,6 @@ var ts; function newer(date1, date2) { return date2 > date1 ? date2 : date1; } - function isDeclarationFile(fileName) { - return ts.fileExtensionIs(fileName, ".d.ts" /* Dts */); - } /*@internal*/ function isCircularBuildOrder(buildOrder) { return !!buildOrder && !!buildOrder.buildOrder; @@ -123616,8 +124042,8 @@ var ts; */ function createBuilderStatusReporter(system, pretty) { return function (diagnostic) { - var output = pretty ? "[" + ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] " : ts.getLocaleTimeString(system) + " - "; - output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (system.newLine + system.newLine); + var output = pretty ? "[".concat(ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ") : "".concat(ts.getLocaleTimeString(system), " - "); + output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(system.newLine + system.newLine); system.write(output); }; } @@ -124163,7 +124589,7 @@ var ts; outputFiles.forEach(function (_a) { var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark; var priorChangeTime; - if (!anyDtsChanged && isDeclarationFile(name)) { + if (!anyDtsChanged && ts.isDeclarationFileName(name)) { // Check for unchanged .d.ts files if (host.fileExists(name) && state.readFileWithCache(name) === text) { priorChangeTime = host.getModifiedTime(name); @@ -124392,7 +124818,7 @@ var ts; function listEmittedFile(_a, proj, file) { var write = _a.write; if (write && proj.options.listEmittedFiles) { - write("TSFILE: " + file); + write("TSFILE: ".concat(file)); } } function getOldProgram(_a, proj, parsed) { @@ -124421,7 +124847,7 @@ var ts; function buildErrors(state, resolvedPath, program, config, diagnostics, buildResult, errorType) { var canEmitBuildInfo = !(buildResult & BuildResultFlags.SyntaxErrors) && program && !ts.outFile(program.getCompilerOptions()); reportAndStoreErrors(state, resolvedPath, diagnostics); - state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: errorType + " errors" }); + state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: "".concat(errorType, " errors") }); if (canEmitBuildInfo) return { buildResult: buildResult, step: BuildStep.EmitBuildInfo }; afterProgramDone(state, program, config); @@ -124449,7 +124875,7 @@ var ts; if (!host.fileExists(inputFile)) { return { type: ts.UpToDateStatusType.Unbuildable, - reason: inputFile + " does not exist" + reason: "".concat(inputFile, " does not exist") }; } if (!force) { @@ -124504,7 +124930,7 @@ var ts; // In addition to file timestamps, we also keep track of when a .d.ts file // had its file touched but not had its contents changed - this allows us // to skip a downstream typecheck - if (isDeclarationFile(output)) { + if (ts.isDeclarationFileName(output)) { var outputModifiedTime = ts.getModifiedTime(host, output); newestDeclarationFileContentChangedTime = newer(newestDeclarationFileContentChangedTime, outputModifiedTime); } @@ -124658,7 +125084,7 @@ var ts; reportVerbose = false; reportStatus(state, verboseMessage, proj.options.configFilePath); } - if (isDeclarationFile(file)) { + if (ts.isDeclarationFileName(file)) { priorNewestUpdateTime = newer(priorNewestUpdateTime, ts.getModifiedTime(host, file)); } host.setModifiedTime(file, now); @@ -124808,7 +125234,7 @@ var ts; } } if (filesToDelete) { - reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * " + f; }).join("")); + reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * ".concat(f); }).join("")); } return ts.ExitStatus.Success; } @@ -124911,7 +125337,7 @@ var ts; if (!state.watch || !state.lastCachedPackageJsonLookups) return; ts.mutateMap(getOrCreateValueMapFromConfigFileMap(state.allWatchedPackageJsonFiles, resolvedPath), new ts.Map(state.lastCachedPackageJsonLookups.get(resolvedPath)), { - createNewValue: function (path, _input) { return state.watchFile(path, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.Full); }, ts.PollingInterval.High, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.PackageJson, resolved); }, + createNewValue: function (path, _input) { return state.watchFile(path, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.None); }, ts.PollingInterval.High, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.PackageJson, resolved); }, onDeleteValue: ts.closeFileWatcher, }); } @@ -125146,7 +125572,7 @@ var ts; function nowString() { // E.g. "12:34:56.789" var d = new Date(); - return ts.padLeft(d.getHours().toString(), 2, "0") + ":" + ts.padLeft(d.getMinutes().toString(), 2, "0") + ":" + ts.padLeft(d.getSeconds().toString(), 2, "0") + "." + ts.padLeft(d.getMilliseconds().toString(), 3, "0"); + return "".concat(ts.padLeft(d.getHours().toString(), 2, "0"), ":").concat(ts.padLeft(d.getMinutes().toString(), 2, "0"), ":").concat(ts.padLeft(d.getSeconds().toString(), 2, "0"), ".").concat(ts.padLeft(d.getMilliseconds().toString(), 3, "0")); } server.nowString = nowString; })(server = ts.server || (ts.server = {})); @@ -125157,7 +125583,7 @@ var ts; var JsTyping; (function (JsTyping) { function isTypingUpToDate(cachedTyping, availableTypingVersions) { - var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts" + ts.versionMajorMinor) || ts.getProperty(availableTypingVersions, "latest")); + var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts".concat(ts.versionMajorMinor)) || ts.getProperty(availableTypingVersions, "latest")); return availableVersion.compareTo(cachedTyping.version) <= 0; } JsTyping.isTypingUpToDate = isTypingUpToDate; @@ -125210,7 +125636,7 @@ var ts; "worker_threads", "zlib" ]; - JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:" + name; }); + JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:".concat(name); }); JsTyping.nodeCoreModuleList = __spreadArray(__spreadArray([], unprefixedNodeCoreModuleList, true), JsTyping.prefixedNodeCoreModuleList, true); JsTyping.nodeCoreModules = new ts.Set(JsTyping.nodeCoreModuleList); function nonRelativeModuleNameForTypingCache(moduleName) { @@ -125283,7 +125709,7 @@ var ts; var excludeTypingName = exclude_1[_i]; var didDelete = inferredTypings.delete(excludeTypingName); if (didDelete && log) - log("Typing for " + excludeTypingName + " is in exclude list, will be ignored."); + log("Typing for ".concat(excludeTypingName, " is in exclude list, will be ignored.")); } var newTypingNames = []; var cachedTypingPaths = []; @@ -125297,7 +125723,7 @@ var ts; }); var result = { cachedTypingPaths: cachedTypingPaths, newTypingNames: newTypingNames, filesToWatch: filesToWatch }; if (log) - log("Result: " + JSON.stringify(result)); + log("Result: ".concat(JSON.stringify(result))); return result; function addInferredTyping(typingName) { if (!inferredTypings.has(typingName)) { @@ -125306,7 +125732,7 @@ var ts; } function addInferredTypings(typingNames, message) { if (log) - log(message + ": " + JSON.stringify(typingNames)); + log("".concat(message, ": ").concat(JSON.stringify(typingNames))); ts.forEach(typingNames, addInferredTyping); } /** @@ -125328,7 +125754,7 @@ var ts; filesToWatch.push(manifestPath); manifest = ts.readConfigFile(manifestPath, function (path) { return host.readFile(path); }).config; manifestTypingNames = ts.flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], ts.getOwnKeys); - addInferredTypings(manifestTypingNames, "Typing names in '" + manifestPath + "' dependencies"); + addInferredTypings(manifestTypingNames, "Typing names in '".concat(manifestPath, "' dependencies")); } // Now we scan the directories for typing information in // already-installed dependencies (if present). Note that this @@ -125356,7 +125782,7 @@ var ts; // This is #1 described above. ? manifestTypingNames.map(function (typingName) { return ts.combinePaths(packagesFolderPath, typingName, manifestName); }) // And #2. Depth = 3 because scoped packages look like `node_modules/@foo/bar/package.json` - : host.readDirectory(packagesFolderPath, [".json" /* Json */], /*excludes*/ undefined, /*includes*/ undefined, /*depth*/ 3) + : host.readDirectory(packagesFolderPath, [".json" /* Extension.Json */], /*excludes*/ undefined, /*includes*/ undefined, /*depth*/ 3) .filter(function (manifestPath) { if (ts.getBaseFileName(manifestPath) !== manifestName) { return false; @@ -125372,7 +125798,7 @@ var ts; !isScoped && pathComponents[pathComponents.length - 3].toLowerCase() === modulesDirName; // `node_modules/foo` }); if (log) - log("Searching for typing names in " + packagesFolderPath + "; all files: " + JSON.stringify(dependencyManifestNames)); + log("Searching for typing names in ".concat(packagesFolderPath, "; all files: ").concat(JSON.stringify(dependencyManifestNames))); // Once we have the names of things to look up, we iterate over // and either collect their included typings, or add them to the // list of typings we need to look up separately. @@ -125391,12 +125817,12 @@ var ts; var absolutePath = ts.getNormalizedAbsolutePath(ownTypes, ts.getDirectoryPath(normalizedFileName)); if (host.fileExists(absolutePath)) { if (log) - log(" Package '" + manifest_1.name + "' provides its own types."); + log(" Package '".concat(manifest_1.name, "' provides its own types.")); inferredTypings.set(manifest_1.name, absolutePath); } else { if (log) - log(" Package '" + manifest_1.name + "' provides its own types but they are missing."); + log(" Package '".concat(manifest_1.name, "' provides its own types but they are missing.")); } } else { @@ -125422,7 +125848,7 @@ var ts; if (fromFileNames.length) { addInferredTypings(fromFileNames, "Inferred typings from file names"); } - var hasJsxFile = ts.some(fileNames, function (f) { return ts.fileExtensionIs(f, ".jsx" /* Jsx */); }); + var hasJsxFile = ts.some(fileNames, function (f) { return ts.fileExtensionIs(f, ".jsx" /* Extension.Jsx */); }); if (hasJsxFile) { if (log) log("Inferred 'react' typings due to presence of '.jsx' extension"); @@ -125450,16 +125876,16 @@ var ts; JsTyping.validatePackageName = validatePackageName; function validatePackageNameWorker(packageName, supportScopedPackage) { if (!packageName) { - return 1 /* EmptyName */; + return 1 /* NameValidationResult.EmptyName */; } if (packageName.length > maxPackageNameLength) { - return 2 /* NameTooLong */; + return 2 /* NameValidationResult.NameTooLong */; } - if (packageName.charCodeAt(0) === 46 /* dot */) { - return 3 /* NameStartsWithDot */; + if (packageName.charCodeAt(0) === 46 /* CharacterCodes.dot */) { + return 3 /* NameValidationResult.NameStartsWithDot */; } - if (packageName.charCodeAt(0) === 95 /* _ */) { - return 4 /* NameStartsWithUnderscore */; + if (packageName.charCodeAt(0) === 95 /* CharacterCodes._ */) { + return 4 /* NameValidationResult.NameStartsWithUnderscore */; } // check if name is scope package like: starts with @ and has one '/' in the middle // scoped packages are not currently supported @@ -125467,20 +125893,20 @@ var ts; var matches = /^@([^/]+)\/([^/]+)$/.exec(packageName); if (matches) { var scopeResult = validatePackageNameWorker(matches[1], /*supportScopedPackage*/ false); - if (scopeResult !== 0 /* Ok */) { + if (scopeResult !== 0 /* NameValidationResult.Ok */) { return { name: matches[1], isScopeName: true, result: scopeResult }; } var packageResult = validatePackageNameWorker(matches[2], /*supportScopedPackage*/ false); - if (packageResult !== 0 /* Ok */) { + if (packageResult !== 0 /* NameValidationResult.Ok */) { return { name: matches[2], isScopeName: false, result: packageResult }; } - return 0 /* Ok */; + return 0 /* NameValidationResult.Ok */; } } if (encodeURIComponent(packageName) !== packageName) { - return 5 /* NameContainsNonURISafeCharacters */; + return 5 /* NameValidationResult.NameContainsNonURISafeCharacters */; } - return 0 /* Ok */; + return 0 /* NameValidationResult.Ok */; } function renderPackageNameValidationFailure(result, typing) { return typeof result === "object" ? @@ -125491,17 +125917,17 @@ var ts; function renderPackageNameValidationFailureWorker(typing, result, name, isScopeName) { var kind = isScopeName ? "Scope" : "Package"; switch (result) { - case 1 /* EmptyName */: - return "'" + typing + "':: " + kind + " name '" + name + "' cannot be empty"; - case 2 /* NameTooLong */: - return "'" + typing + "':: " + kind + " name '" + name + "' should be less than " + maxPackageNameLength + " characters"; - case 3 /* NameStartsWithDot */: - return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '.'"; - case 4 /* NameStartsWithUnderscore */: - return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '_'"; - case 5 /* NameContainsNonURISafeCharacters */: - return "'" + typing + "':: " + kind + " name '" + name + "' contains non URI safe characters"; - case 0 /* Ok */: + case 1 /* NameValidationResult.EmptyName */: + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot be empty"); + case 2 /* NameValidationResult.NameTooLong */: + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' should be less than ").concat(maxPackageNameLength, " characters"); + case 3 /* NameValidationResult.NameStartsWithDot */: + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '.'"); + case 4 /* NameValidationResult.NameStartsWithUnderscore */: + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '_'"); + case 5 /* NameValidationResult.NameContainsNonURISafeCharacters */: + return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' contains non URI safe characters"); + case 0 /* NameValidationResult.Ok */: return ts.Debug.fail(); // Shouldn't have called this. default: throw ts.Debug.assertNever(result); @@ -125656,6 +126082,17 @@ var ts; SymbolDisplayPartKind[SymbolDisplayPartKind["linkName"] = 23] = "linkName"; SymbolDisplayPartKind[SymbolDisplayPartKind["linkText"] = 24] = "linkText"; })(SymbolDisplayPartKind = ts.SymbolDisplayPartKind || (ts.SymbolDisplayPartKind = {})); + // Do not change existing values, as they exist in telemetry. + var CompletionInfoFlags; + (function (CompletionInfoFlags) { + CompletionInfoFlags[CompletionInfoFlags["None"] = 0] = "None"; + CompletionInfoFlags[CompletionInfoFlags["MayIncludeAutoImports"] = 1] = "MayIncludeAutoImports"; + CompletionInfoFlags[CompletionInfoFlags["IsImportStatementCompletion"] = 2] = "IsImportStatementCompletion"; + CompletionInfoFlags[CompletionInfoFlags["IsContinuation"] = 4] = "IsContinuation"; + CompletionInfoFlags[CompletionInfoFlags["ResolvedModuleSpecifiers"] = 8] = "ResolvedModuleSpecifiers"; + CompletionInfoFlags[CompletionInfoFlags["ResolvedModuleSpecifiersBeyondLimit"] = 16] = "ResolvedModuleSpecifiersBeyondLimit"; + CompletionInfoFlags[CompletionInfoFlags["MayIncludeMethodSnippets"] = 32] = "MayIncludeMethodSnippets"; + })(CompletionInfoFlags = ts.CompletionInfoFlags || (ts.CompletionInfoFlags = {})); var OutliningSpanKind; (function (OutliningSpanKind) { /** Single or multi-line comments */ @@ -125862,7 +126299,7 @@ var ts; (function (ts) { // These utilities are common to multiple language service features. //#region - ts.scanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ true); + ts.scanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ true); var SemanticMeaning; (function (SemanticMeaning) { SemanticMeaning[SemanticMeaning["None"] = 0] = "None"; @@ -125873,66 +126310,66 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 254 /* VariableDeclaration */: - return ts.isInJSFile(node) && ts.getJSDocEnumTag(node) ? 7 /* All */ : 1 /* Value */; - case 164 /* Parameter */: - case 203 /* BindingElement */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 292 /* CatchClause */: - case 285 /* JsxAttribute */: - return 1 /* Value */; - case 163 /* TypeParameter */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 182 /* TypeLiteral */: - return 2 /* Type */; - case 345 /* JSDocTypedefTag */: + case 254 /* SyntaxKind.VariableDeclaration */: + return ts.isInJSFile(node) && ts.getJSDocEnumTag(node) ? 7 /* SemanticMeaning.All */ : 1 /* SemanticMeaning.Value */; + case 164 /* SyntaxKind.Parameter */: + case 203 /* SyntaxKind.BindingElement */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 292 /* SyntaxKind.CatchClause */: + case 285 /* SyntaxKind.JsxAttribute */: + return 1 /* SemanticMeaning.Value */; + case 163 /* SyntaxKind.TypeParameter */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 182 /* SyntaxKind.TypeLiteral */: + return 2 /* SemanticMeaning.Type */; + case 345 /* SyntaxKind.JSDocTypedefTag */: // If it has no name node, it shares the name with the value declaration below it. - return node.name === undefined ? 1 /* Value */ | 2 /* Type */ : 2 /* Type */; - case 299 /* EnumMember */: - case 257 /* ClassDeclaration */: - return 1 /* Value */ | 2 /* Type */; - case 261 /* ModuleDeclaration */: + return node.name === undefined ? 1 /* SemanticMeaning.Value */ | 2 /* SemanticMeaning.Type */ : 2 /* SemanticMeaning.Type */; + case 299 /* SyntaxKind.EnumMember */: + case 257 /* SyntaxKind.ClassDeclaration */: + return 1 /* SemanticMeaning.Value */ | 2 /* SemanticMeaning.Type */; + case 261 /* SyntaxKind.ModuleDeclaration */: if (ts.isAmbientModule(node)) { - return 4 /* Namespace */ | 1 /* Value */; + return 4 /* SemanticMeaning.Namespace */ | 1 /* SemanticMeaning.Value */; } - else if (ts.getModuleInstanceState(node) === 1 /* Instantiated */) { - return 4 /* Namespace */ | 1 /* Value */; + else if (ts.getModuleInstanceState(node) === 1 /* ModuleInstanceState.Instantiated */) { + return 4 /* SemanticMeaning.Namespace */ | 1 /* SemanticMeaning.Value */; } else { - return 4 /* Namespace */; - } - case 260 /* EnumDeclaration */: - case 269 /* NamedImports */: - case 270 /* ImportSpecifier */: - case 265 /* ImportEqualsDeclaration */: - case 266 /* ImportDeclaration */: - case 271 /* ExportAssignment */: - case 272 /* ExportDeclaration */: - return 7 /* All */; + return 4 /* SemanticMeaning.Namespace */; + } + case 260 /* SyntaxKind.EnumDeclaration */: + case 269 /* SyntaxKind.NamedImports */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 271 /* SyntaxKind.ExportAssignment */: + case 272 /* SyntaxKind.ExportDeclaration */: + return 7 /* SemanticMeaning.All */; // An external module can be a Value - case 305 /* SourceFile */: - return 4 /* Namespace */ | 1 /* Value */; + case 305 /* SyntaxKind.SourceFile */: + return 4 /* SemanticMeaning.Namespace */ | 1 /* SemanticMeaning.Value */; } - return 7 /* All */; + return 7 /* SemanticMeaning.All */; } ts.getMeaningFromDeclaration = getMeaningFromDeclaration; function getMeaningFromLocation(node) { node = getAdjustedReferenceLocation(node); var parent = node.parent; - if (node.kind === 305 /* SourceFile */) { - return 1 /* Value */; + if (node.kind === 305 /* SyntaxKind.SourceFile */) { + return 1 /* SemanticMeaning.Value */; } else if (ts.isExportAssignment(parent) || ts.isExportSpecifier(parent) @@ -125940,7 +126377,7 @@ var ts; || ts.isImportSpecifier(parent) || ts.isImportClause(parent) || ts.isImportEqualsDeclaration(parent) && node === parent.name) { - return 7 /* All */; + return 7 /* SemanticMeaning.All */; } else if (isInRightSideOfInternalImportEqualsDeclaration(node)) { return getMeaningFromRightHandSideOfImportEquals(node); @@ -125949,24 +126386,24 @@ var ts; return getMeaningFromDeclaration(parent); } else if (ts.isEntityName(node) && ts.findAncestor(node, ts.or(ts.isJSDocNameReference, ts.isJSDocLinkLike, ts.isJSDocMemberName))) { - return 7 /* All */; + return 7 /* SemanticMeaning.All */; } else if (isTypeReference(node)) { - return 2 /* Type */; + return 2 /* SemanticMeaning.Type */; } else if (isNamespaceReference(node)) { - return 4 /* Namespace */; + return 4 /* SemanticMeaning.Namespace */; } else if (ts.isTypeParameterDeclaration(parent)) { ts.Debug.assert(ts.isJSDocTemplateTag(parent.parent)); // Else would be handled by isDeclarationName - return 2 /* Type */; + return 2 /* SemanticMeaning.Type */; } else if (ts.isLiteralTypeNode(parent)) { // This might be T["name"], which is actually referencing a property and not a type. So allow both meanings. - return 2 /* Type */ | 1 /* Value */; + return 2 /* SemanticMeaning.Type */ | 1 /* SemanticMeaning.Value */; } else { - return 1 /* Value */; + return 1 /* SemanticMeaning.Value */; } } ts.getMeaningFromLocation = getMeaningFromLocation; @@ -125974,11 +126411,11 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - var name = node.kind === 161 /* QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 265 /* ImportEqualsDeclaration */ ? 7 /* All */ : 4 /* Namespace */; + var name = node.kind === 161 /* SyntaxKind.QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ ? 7 /* SemanticMeaning.All */ : 4 /* SemanticMeaning.Namespace */; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 161 /* QualifiedName */) { + while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -125990,27 +126427,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 161 /* QualifiedName */) { - while (root.parent && root.parent.kind === 161 /* QualifiedName */) { + if (root.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + while (root.parent && root.parent.kind === 161 /* SyntaxKind.QualifiedName */) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 178 /* TypeReference */ && !isLastClause; + return root.parent.kind === 178 /* SyntaxKind.TypeReference */ && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 206 /* PropertyAccessExpression */) { - while (root.parent && root.parent.kind === 206 /* PropertyAccessExpression */) { + if (root.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + while (root.parent && root.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 228 /* ExpressionWithTypeArguments */ && root.parent.parent.kind === 291 /* HeritageClause */) { + if (!isLastClause && root.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ && root.parent.parent.kind === 291 /* SyntaxKind.HeritageClause */) { var decl = root.parent.parent.parent; - return (decl.kind === 257 /* ClassDeclaration */ && root.parent.parent.token === 117 /* ImplementsKeyword */) || - (decl.kind === 258 /* InterfaceDeclaration */ && root.parent.parent.token === 94 /* ExtendsKeyword */); + return (decl.kind === 257 /* SyntaxKind.ClassDeclaration */ && root.parent.parent.token === 117 /* SyntaxKind.ImplementsKeyword */) || + (decl.kind === 258 /* SyntaxKind.InterfaceDeclaration */ && root.parent.parent.token === 94 /* SyntaxKind.ExtendsKeyword */); } return false; } @@ -126019,17 +126456,17 @@ var ts; node = node.parent; } switch (node.kind) { - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: return !ts.isExpressionNode(node); - case 192 /* ThisType */: + case 192 /* SyntaxKind.ThisType */: return true; } switch (node.parent.kind) { - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return true; - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: return !node.parent.isTypeOf; - case 228 /* ExpressionWithTypeArguments */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return ts.isPartOfTypeNode(node.parent); } return false; @@ -126096,7 +126533,7 @@ var ts; ts.climbPastPropertyOrElementAccess = climbPastPropertyOrElementAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 250 /* LabeledStatement */ && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 250 /* SyntaxKind.LabeledStatement */ && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -126157,22 +126594,22 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 296 /* PropertyAssignment */: - case 299 /* EnumMember */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 261 /* ModuleDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.EnumMember */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 261 /* SyntaxKind.ModuleDeclaration */: return ts.getNameOfDeclaration(node.parent) === node; - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return node.parent.argumentExpression === node; - case 162 /* ComputedPropertyName */: + case 162 /* SyntaxKind.ComputedPropertyName */: return true; - case 196 /* LiteralType */: - return node.parent.parent.kind === 194 /* IndexedAccessType */; + case 196 /* SyntaxKind.LiteralType */: + return node.parent.parent.kind === 194 /* SyntaxKind.IndexedAccessType */; default: return false; } @@ -126196,17 +126633,17 @@ var ts; return undefined; } switch (node.kind) { - case 305 /* SourceFile */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 261 /* ModuleDeclaration */: + case 305 /* SyntaxKind.SourceFile */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return node; } } @@ -126214,108 +126651,108 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 305 /* SourceFile */: - return ts.isExternalModule(node) ? "module" /* moduleElement */ : "script" /* scriptElement */; - case 261 /* ModuleDeclaration */: - return "module" /* moduleElement */; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - return "class" /* classElement */; - case 258 /* InterfaceDeclaration */: return "interface" /* interfaceElement */; - case 259 /* TypeAliasDeclaration */: - case 338 /* JSDocCallbackTag */: - case 345 /* JSDocTypedefTag */: - return "type" /* typeElement */; - case 260 /* EnumDeclaration */: return "enum" /* enumElement */; - case 254 /* VariableDeclaration */: + case 305 /* SyntaxKind.SourceFile */: + return ts.isExternalModule(node) ? "module" /* ScriptElementKind.moduleElement */ : "script" /* ScriptElementKind.scriptElement */; + case 261 /* SyntaxKind.ModuleDeclaration */: + return "module" /* ScriptElementKind.moduleElement */; + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + return "class" /* ScriptElementKind.classElement */; + case 258 /* SyntaxKind.InterfaceDeclaration */: return "interface" /* ScriptElementKind.interfaceElement */; + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + return "type" /* ScriptElementKind.typeElement */; + case 260 /* SyntaxKind.EnumDeclaration */: return "enum" /* ScriptElementKind.enumElement */; + case 254 /* SyntaxKind.VariableDeclaration */: return getKindOfVariableDeclaration(node); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); - case 214 /* ArrowFunction */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - return "function" /* functionElement */; - case 172 /* GetAccessor */: return "getter" /* memberGetAccessorElement */; - case 173 /* SetAccessor */: return "setter" /* memberSetAccessorElement */; - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - return "method" /* memberFunctionElement */; - case 296 /* PropertyAssignment */: + case 214 /* SyntaxKind.ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + return "function" /* ScriptElementKind.functionElement */; + case 172 /* SyntaxKind.GetAccessor */: return "getter" /* ScriptElementKind.memberGetAccessorElement */; + case 173 /* SyntaxKind.SetAccessor */: return "setter" /* ScriptElementKind.memberSetAccessorElement */; + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + return "method" /* ScriptElementKind.memberFunctionElement */; + case 296 /* SyntaxKind.PropertyAssignment */: var initializer = node.initializer; - return ts.isFunctionLike(initializer) ? "method" /* memberFunctionElement */ : "property" /* memberVariableElement */; - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 297 /* ShorthandPropertyAssignment */: - case 298 /* SpreadAssignment */: - return "property" /* memberVariableElement */; - case 176 /* IndexSignature */: return "index" /* indexSignatureElement */; - case 175 /* ConstructSignature */: return "construct" /* constructSignatureElement */; - case 174 /* CallSignature */: return "call" /* callSignatureElement */; - case 171 /* Constructor */: - case 170 /* ClassStaticBlockDeclaration */: - return "constructor" /* constructorImplementationElement */; - case 163 /* TypeParameter */: return "type parameter" /* typeParameterElement */; - case 299 /* EnumMember */: return "enum member" /* enumMemberElement */; - case 164 /* Parameter */: return ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */) ? "property" /* memberVariableElement */ : "parameter" /* parameterElement */; - case 265 /* ImportEqualsDeclaration */: - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: - case 268 /* NamespaceImport */: - case 274 /* NamespaceExport */: - return "alias" /* alias */; - case 221 /* BinaryExpression */: + return ts.isFunctionLike(initializer) ? "method" /* ScriptElementKind.memberFunctionElement */ : "property" /* ScriptElementKind.memberVariableElement */; + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: + return "property" /* ScriptElementKind.memberVariableElement */; + case 176 /* SyntaxKind.IndexSignature */: return "index" /* ScriptElementKind.indexSignatureElement */; + case 175 /* SyntaxKind.ConstructSignature */: return "construct" /* ScriptElementKind.constructSignatureElement */; + case 174 /* SyntaxKind.CallSignature */: return "call" /* ScriptElementKind.callSignatureElement */; + case 171 /* SyntaxKind.Constructor */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + return "constructor" /* ScriptElementKind.constructorImplementationElement */; + case 163 /* SyntaxKind.TypeParameter */: return "type parameter" /* ScriptElementKind.typeParameterElement */; + case 299 /* SyntaxKind.EnumMember */: return "enum member" /* ScriptElementKind.enumMemberElement */; + case 164 /* SyntaxKind.Parameter */: return ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */) ? "property" /* ScriptElementKind.memberVariableElement */ : "parameter" /* ScriptElementKind.parameterElement */; + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 268 /* SyntaxKind.NamespaceImport */: + case 274 /* SyntaxKind.NamespaceExport */: + return "alias" /* ScriptElementKind.alias */; + case 221 /* SyntaxKind.BinaryExpression */: var kind = ts.getAssignmentDeclarationKind(node); var right = node.right; switch (kind) { - case 7 /* ObjectDefinePropertyValue */: - case 8 /* ObjectDefinePropertyExports */: - case 9 /* ObjectDefinePrototypeProperty */: - case 0 /* None */: - return "" /* unknown */; - case 1 /* ExportsProperty */: - case 2 /* ModuleExports */: + case 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */: + case 8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */: + case 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */: + case 0 /* AssignmentDeclarationKind.None */: + return "" /* ScriptElementKind.unknown */; + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: var rightKind = getNodeKind(right); - return rightKind === "" /* unknown */ ? "const" /* constElement */ : rightKind; - case 3 /* PrototypeProperty */: - return ts.isFunctionExpression(right) ? "method" /* memberFunctionElement */ : "property" /* memberVariableElement */; - case 4 /* ThisProperty */: - return "property" /* memberVariableElement */; // property - case 5 /* Property */: + return rightKind === "" /* ScriptElementKind.unknown */ ? "const" /* ScriptElementKind.constElement */ : rightKind; + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: + return ts.isFunctionExpression(right) ? "method" /* ScriptElementKind.memberFunctionElement */ : "property" /* ScriptElementKind.memberVariableElement */; + case 4 /* AssignmentDeclarationKind.ThisProperty */: + return "property" /* ScriptElementKind.memberVariableElement */; // property + case 5 /* AssignmentDeclarationKind.Property */: // static method / property - return ts.isFunctionExpression(right) ? "method" /* memberFunctionElement */ : "property" /* memberVariableElement */; - case 6 /* Prototype */: - return "local class" /* localClassElement */; + return ts.isFunctionExpression(right) ? "method" /* ScriptElementKind.memberFunctionElement */ : "property" /* ScriptElementKind.memberVariableElement */; + case 6 /* AssignmentDeclarationKind.Prototype */: + return "local class" /* ScriptElementKind.localClassElement */; default: { ts.assertType(kind); - return "" /* unknown */; + return "" /* ScriptElementKind.unknown */; } } - case 79 /* Identifier */: - return ts.isImportClause(node.parent) ? "alias" /* alias */ : "" /* unknown */; - case 271 /* ExportAssignment */: + case 79 /* SyntaxKind.Identifier */: + return ts.isImportClause(node.parent) ? "alias" /* ScriptElementKind.alias */ : "" /* ScriptElementKind.unknown */; + case 271 /* SyntaxKind.ExportAssignment */: var scriptKind = getNodeKind(node.expression); // If the expression didn't come back with something (like it does for an identifiers) - return scriptKind === "" /* unknown */ ? "const" /* constElement */ : scriptKind; + return scriptKind === "" /* ScriptElementKind.unknown */ ? "const" /* ScriptElementKind.constElement */ : scriptKind; default: - return "" /* unknown */; + return "" /* ScriptElementKind.unknown */; } function getKindOfVariableDeclaration(v) { return ts.isVarConst(v) - ? "const" /* constElement */ + ? "const" /* ScriptElementKind.constElement */ : ts.isLet(v) - ? "let" /* letElement */ - : "var" /* variableElement */; + ? "let" /* ScriptElementKind.letElement */ + : "var" /* ScriptElementKind.variableElement */; } } ts.getNodeKind = getNodeKind; function isThis(node) { switch (node.kind) { - case 108 /* ThisKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: // case SyntaxKind.ThisType: TODO: GH#9267 return true; - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // 'this' as a parameter - return ts.identifierIsThisKeyword(node) && node.parent.kind === 164 /* Parameter */; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 164 /* SyntaxKind.Parameter */; default: return false; } @@ -126380,42 +126817,42 @@ var ts; return false; } switch (n.kind) { - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 205 /* ObjectLiteralExpression */: - case 201 /* ObjectBindingPattern */: - case 182 /* TypeLiteral */: - case 235 /* Block */: - case 262 /* ModuleBlock */: - case 263 /* CaseBlock */: - case 269 /* NamedImports */: - case 273 /* NamedExports */: - return nodeEndsWith(n, 19 /* CloseBraceToken */, sourceFile); - case 292 /* CatchClause */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 182 /* SyntaxKind.TypeLiteral */: + case 235 /* SyntaxKind.Block */: + case 262 /* SyntaxKind.ModuleBlock */: + case 263 /* SyntaxKind.CaseBlock */: + case 269 /* SyntaxKind.NamedImports */: + case 273 /* SyntaxKind.NamedExports */: + return nodeEndsWith(n, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); + case 292 /* SyntaxKind.CatchClause */: return isCompletedNode(n.block, sourceFile); - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: if (!n.arguments) { return true; } // falls through - case 208 /* CallExpression */: - case 212 /* ParenthesizedExpression */: - case 191 /* ParenthesizedType */: - return nodeEndsWith(n, 21 /* CloseParenToken */, sourceFile); - case 179 /* FunctionType */: - case 180 /* ConstructorType */: + case 208 /* SyntaxKind.CallExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 191 /* SyntaxKind.ParenthesizedType */: + return nodeEndsWith(n, 21 /* SyntaxKind.CloseParenToken */, sourceFile); + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: return isCompletedNode(n.type, sourceFile); - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 175 /* ConstructSignature */: - case 174 /* CallSignature */: - case 214 /* ArrowFunction */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 214 /* SyntaxKind.ArrowFunction */: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -126424,66 +126861,66 @@ var ts; } // Even though type parameters can be unclosed, we can get away with // having at least a closing paren. - return hasChildOfKind(n, 21 /* CloseParenToken */, sourceFile); - case 261 /* ModuleDeclaration */: + return hasChildOfKind(n, 21 /* SyntaxKind.CloseParenToken */, sourceFile); + case 261 /* SyntaxKind.ModuleDeclaration */: return !!n.body && isCompletedNode(n.body, sourceFile); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return isCompletedNode(n.expression, sourceFile) || - hasChildOfKind(n, 26 /* SemicolonToken */, sourceFile); - case 204 /* ArrayLiteralExpression */: - case 202 /* ArrayBindingPattern */: - case 207 /* ElementAccessExpression */: - case 162 /* ComputedPropertyName */: - case 184 /* TupleType */: - return nodeEndsWith(n, 23 /* CloseBracketToken */, sourceFile); - case 176 /* IndexSignature */: + hasChildOfKind(n, 26 /* SyntaxKind.SemicolonToken */, sourceFile); + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 207 /* SyntaxKind.ElementAccessExpression */: + case 162 /* SyntaxKind.ComputedPropertyName */: + case 184 /* SyntaxKind.TupleType */: + return nodeEndsWith(n, 23 /* SyntaxKind.CloseBracketToken */, sourceFile); + case 176 /* SyntaxKind.IndexSignature */: if (n.type) { return isCompletedNode(n.type, sourceFile); } - return hasChildOfKind(n, 23 /* CloseBracketToken */, sourceFile); - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + return hasChildOfKind(n, 23 /* SyntaxKind.CloseBracketToken */, sourceFile); + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: // there is no such thing as terminator token for CaseClause/DefaultClause so for simplicity always consider them non-completed return false; - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 241 /* WhileStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 241 /* SyntaxKind.WhileStatement */: return isCompletedNode(n.statement, sourceFile); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: // rough approximation: if DoStatement has While keyword - then if node is completed is checking the presence of ')'; - return hasChildOfKind(n, 115 /* WhileKeyword */, sourceFile) - ? nodeEndsWith(n, 21 /* CloseParenToken */, sourceFile) + return hasChildOfKind(n, 115 /* SyntaxKind.WhileKeyword */, sourceFile) + ? nodeEndsWith(n, 21 /* SyntaxKind.CloseParenToken */, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 181 /* TypeQuery */: + case 181 /* SyntaxKind.TypeQuery */: return isCompletedNode(n.exprName, sourceFile); - case 216 /* TypeOfExpression */: - case 215 /* DeleteExpression */: - case 217 /* VoidExpression */: - case 224 /* YieldExpression */: - case 225 /* SpreadElement */: + case 216 /* SyntaxKind.TypeOfExpression */: + case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.VoidExpression */: + case 224 /* SyntaxKind.YieldExpression */: + case 225 /* SyntaxKind.SpreadElement */: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return isCompletedNode(n.template, sourceFile); - case 223 /* TemplateExpression */: + case 223 /* SyntaxKind.TemplateExpression */: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 233 /* TemplateSpan */: + case 233 /* SyntaxKind.TemplateSpan */: return ts.nodeIsPresent(n.literal); - case 272 /* ExportDeclaration */: - case 266 /* ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return ts.nodeIsPresent(n.moduleSpecifier); - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: return isCompletedNode(n.operand, sourceFile); - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return isCompletedNode(n.right, sourceFile); - case 222 /* ConditionalExpression */: + case 222 /* SyntaxKind.ConditionalExpression */: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -126500,7 +126937,7 @@ var ts; if (lastChild.kind === expectedLastToken) { return true; } - else if (lastChild.kind === 26 /* SemicolonToken */ && children.length !== 1) { + else if (lastChild.kind === 26 /* SyntaxKind.SemicolonToken */ && children.length !== 1) { return children[children.length - 2].kind === expectedLastToken; } } @@ -126543,13 +126980,13 @@ var ts; } ts.findContainingList = findContainingList; function isDefaultModifier(node) { - return node.kind === 88 /* DefaultKeyword */; + return node.kind === 88 /* SyntaxKind.DefaultKeyword */; } function isClassKeyword(node) { - return node.kind === 84 /* ClassKeyword */; + return node.kind === 84 /* SyntaxKind.ClassKeyword */; } function isFunctionKeyword(node) { - return node.kind === 98 /* FunctionKeyword */; + return node.kind === 98 /* SyntaxKind.FunctionKeyword */; } function getAdjustedLocationForClass(node) { if (ts.isNamedDeclaration(node)) { @@ -126608,11 +127045,11 @@ var ts; function getAdjustedLocationForDeclaration(node, forRename) { if (!forRename) { switch (node.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: return getAdjustedLocationForClass(node); - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: return getAdjustedLocationForFunction(node); } } @@ -126702,30 +127139,30 @@ var ts; // // NOTE: If the node is a modifier, we don't adjust its location if it is the `default` modifier as that is handled // specially by `getSymbolAtLocation`. - if (ts.isModifier(node) && (forRename || node.kind !== 88 /* DefaultKeyword */) ? ts.contains(parent.modifiers, node) : - node.kind === 84 /* ClassKeyword */ ? ts.isClassDeclaration(parent) || ts.isClassExpression(node) : - node.kind === 98 /* FunctionKeyword */ ? ts.isFunctionDeclaration(parent) || ts.isFunctionExpression(node) : - node.kind === 118 /* InterfaceKeyword */ ? ts.isInterfaceDeclaration(parent) : - node.kind === 92 /* EnumKeyword */ ? ts.isEnumDeclaration(parent) : - node.kind === 152 /* TypeKeyword */ ? ts.isTypeAliasDeclaration(parent) : - node.kind === 142 /* NamespaceKeyword */ || node.kind === 141 /* ModuleKeyword */ ? ts.isModuleDeclaration(parent) : - node.kind === 100 /* ImportKeyword */ ? ts.isImportEqualsDeclaration(parent) : - node.kind === 136 /* GetKeyword */ ? ts.isGetAccessorDeclaration(parent) : - node.kind === 149 /* SetKeyword */ && ts.isSetAccessorDeclaration(parent)) { + if (ts.isModifier(node) && (forRename || node.kind !== 88 /* SyntaxKind.DefaultKeyword */) ? ts.contains(parent.modifiers, node) : + node.kind === 84 /* SyntaxKind.ClassKeyword */ ? ts.isClassDeclaration(parent) || ts.isClassExpression(node) : + node.kind === 98 /* SyntaxKind.FunctionKeyword */ ? ts.isFunctionDeclaration(parent) || ts.isFunctionExpression(node) : + node.kind === 118 /* SyntaxKind.InterfaceKeyword */ ? ts.isInterfaceDeclaration(parent) : + node.kind === 92 /* SyntaxKind.EnumKeyword */ ? ts.isEnumDeclaration(parent) : + node.kind === 152 /* SyntaxKind.TypeKeyword */ ? ts.isTypeAliasDeclaration(parent) : + node.kind === 142 /* SyntaxKind.NamespaceKeyword */ || node.kind === 141 /* SyntaxKind.ModuleKeyword */ ? ts.isModuleDeclaration(parent) : + node.kind === 100 /* SyntaxKind.ImportKeyword */ ? ts.isImportEqualsDeclaration(parent) : + node.kind === 136 /* SyntaxKind.GetKeyword */ ? ts.isGetAccessorDeclaration(parent) : + node.kind === 149 /* SyntaxKind.SetKeyword */ && ts.isSetAccessorDeclaration(parent)) { var location = getAdjustedLocationForDeclaration(parent, forRename); if (location) { return location; } } // /**/ [|name|] ... - if ((node.kind === 113 /* VarKeyword */ || node.kind === 85 /* ConstKeyword */ || node.kind === 119 /* LetKeyword */) && + if ((node.kind === 113 /* SyntaxKind.VarKeyword */ || node.kind === 85 /* SyntaxKind.ConstKeyword */ || node.kind === 119 /* SyntaxKind.LetKeyword */) && ts.isVariableDeclarationList(parent) && parent.declarations.length === 1) { var decl = parent.declarations[0]; if (ts.isIdentifier(decl.name)) { return decl.name; } } - if (node.kind === 152 /* TypeKeyword */) { + if (node.kind === 152 /* SyntaxKind.TypeKeyword */) { // import /**/type [|name|] from ...; // import /**/type { [|name|] } from ...; // import /**/type { propertyName as [|name|] } from ...; @@ -126751,7 +127188,7 @@ var ts; // import * /**/as [|name|] ... // export { propertyName /**/as [|name|] } ... // export * /**/as [|name|] ... - if (node.kind === 127 /* AsKeyword */) { + if (node.kind === 127 /* SyntaxKind.AsKeyword */) { if (ts.isImportSpecifier(parent) && parent.propertyName || ts.isExportSpecifier(parent) && parent.propertyName || ts.isNamespaceImport(parent) || @@ -126767,13 +127204,13 @@ var ts; // /**/import { propertyName as [|name|] } from ...; // /**/import ... from "[|module|]"; // /**/import "[|module|]"; - if (node.kind === 100 /* ImportKeyword */ && ts.isImportDeclaration(parent)) { + if (node.kind === 100 /* SyntaxKind.ImportKeyword */ && ts.isImportDeclaration(parent)) { var location = getAdjustedLocationForImportDeclaration(parent, forRename); if (location) { return location; } } - if (node.kind === 93 /* ExportKeyword */) { + if (node.kind === 93 /* SyntaxKind.ExportKeyword */) { // /**/export { [|name|] } ...; // /**/export { propertyName as [|name|] } ...; // /**/export * from "[|module|]"; @@ -126792,12 +127229,12 @@ var ts; } } // import name = /**/require("[|module|]"); - if (node.kind === 146 /* RequireKeyword */ && ts.isExternalModuleReference(parent)) { + if (node.kind === 146 /* SyntaxKind.RequireKeyword */ && ts.isExternalModuleReference(parent)) { return parent.expression; } // import ... /**/from "[|module|]"; // export ... /**/from "[|module|]"; - if (node.kind === 156 /* FromKeyword */ && (ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent)) && parent.moduleSpecifier) { + if (node.kind === 156 /* SyntaxKind.FromKeyword */ && (ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent)) && parent.moduleSpecifier) { return parent.moduleSpecifier; } // class ... /**/extends [|name|] ... @@ -126805,13 +127242,13 @@ var ts; // class ... /**/implements name1, name2 ... // interface ... /**/extends [|name|] ... // interface ... /**/extends name1, name2 ... - if ((node.kind === 94 /* ExtendsKeyword */ || node.kind === 117 /* ImplementsKeyword */) && ts.isHeritageClause(parent) && parent.token === node.kind) { + if ((node.kind === 94 /* SyntaxKind.ExtendsKeyword */ || node.kind === 117 /* SyntaxKind.ImplementsKeyword */) && ts.isHeritageClause(parent) && parent.token === node.kind) { var location = getAdjustedLocationForHeritageClause(parent); if (location) { return location; } } - if (node.kind === 94 /* ExtendsKeyword */) { + if (node.kind === 94 /* SyntaxKind.ExtendsKeyword */) { // ... ... if (ts.isTypeParameterDeclaration(parent) && parent.constraint && ts.isTypeReferenceNode(parent.constraint)) { return parent.constraint.typeName; @@ -126822,20 +127259,20 @@ var ts; } } // ... T extends /**/infer [|U|] ? ... - if (node.kind === 137 /* InferKeyword */ && ts.isInferTypeNode(parent)) { + if (node.kind === 137 /* SyntaxKind.InferKeyword */ && ts.isInferTypeNode(parent)) { return parent.typeParameter.name; } // { [ [|K|] /**/in keyof T]: ... } - if (node.kind === 101 /* InKeyword */ && ts.isTypeParameterDeclaration(parent) && ts.isMappedTypeNode(parent.parent)) { + if (node.kind === 101 /* SyntaxKind.InKeyword */ && ts.isTypeParameterDeclaration(parent) && ts.isMappedTypeNode(parent.parent)) { return parent.name; } // /**/keyof [|T|] - if (node.kind === 140 /* KeyOfKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 140 /* KeyOfKeyword */ && + if (node.kind === 140 /* SyntaxKind.KeyOfKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 140 /* SyntaxKind.KeyOfKeyword */ && ts.isTypeReferenceNode(parent.type)) { return parent.type.typeName; } // /**/readonly [|name|][] - if (node.kind === 145 /* ReadonlyKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 145 /* ReadonlyKeyword */ && + if (node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 145 /* SyntaxKind.ReadonlyKeyword */ && ts.isArrayTypeNode(parent.type) && ts.isTypeReferenceNode(parent.type.elementType)) { return parent.type.elementType.typeName; } @@ -126850,29 +127287,29 @@ var ts; // /**/yield [|name|] // /**/yield obj.[|name|] // /**/delete obj.[|name|] - if (node.kind === 103 /* NewKeyword */ && ts.isNewExpression(parent) || - node.kind === 114 /* VoidKeyword */ && ts.isVoidExpression(parent) || - node.kind === 112 /* TypeOfKeyword */ && ts.isTypeOfExpression(parent) || - node.kind === 132 /* AwaitKeyword */ && ts.isAwaitExpression(parent) || - node.kind === 125 /* YieldKeyword */ && ts.isYieldExpression(parent) || - node.kind === 89 /* DeleteKeyword */ && ts.isDeleteExpression(parent)) { + if (node.kind === 103 /* SyntaxKind.NewKeyword */ && ts.isNewExpression(parent) || + node.kind === 114 /* SyntaxKind.VoidKeyword */ && ts.isVoidExpression(parent) || + node.kind === 112 /* SyntaxKind.TypeOfKeyword */ && ts.isTypeOfExpression(parent) || + node.kind === 132 /* SyntaxKind.AwaitKeyword */ && ts.isAwaitExpression(parent) || + node.kind === 125 /* SyntaxKind.YieldKeyword */ && ts.isYieldExpression(parent) || + node.kind === 89 /* SyntaxKind.DeleteKeyword */ && ts.isDeleteExpression(parent)) { if (parent.expression) { return ts.skipOuterExpressions(parent.expression); } } // left /**/in [|name|] // left /**/instanceof [|name|] - if ((node.kind === 101 /* InKeyword */ || node.kind === 102 /* InstanceOfKeyword */) && ts.isBinaryExpression(parent) && parent.operatorToken === node) { + if ((node.kind === 101 /* SyntaxKind.InKeyword */ || node.kind === 102 /* SyntaxKind.InstanceOfKeyword */) && ts.isBinaryExpression(parent) && parent.operatorToken === node) { return ts.skipOuterExpressions(parent.right); } // left /**/as [|name|] - if (node.kind === 127 /* AsKeyword */ && ts.isAsExpression(parent) && ts.isTypeReferenceNode(parent.type)) { + if (node.kind === 127 /* SyntaxKind.AsKeyword */ && ts.isAsExpression(parent) && ts.isTypeReferenceNode(parent.type)) { return parent.type.typeName; } // for (... /**/in [|name|]) // for (... /**/of [|name|]) - if (node.kind === 101 /* InKeyword */ && ts.isForInStatement(parent) || - node.kind === 160 /* OfKeyword */ && ts.isForOfStatement(parent)) { + if (node.kind === 101 /* SyntaxKind.InKeyword */ && ts.isForInStatement(parent) || + node.kind === 160 /* SyntaxKind.OfKeyword */ && ts.isForOfStatement(parent)) { return ts.skipOuterExpressions(parent.expression); } } @@ -126943,23 +127380,23 @@ var ts; // position and whose end is greater than the position. var start = allowPositionInLeadingTrivia ? children[middle].getFullStart() : children[middle].getStart(sourceFile, /*includeJsDoc*/ true); if (start > position) { - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } // first element whose start position is before the input and whose end position is after or equal to the input if (nodeContainsPosition(children[middle])) { if (children[middle - 1]) { // we want the _first_ element that contains the position, so left-recur if the prior node also contains the position if (nodeContainsPosition(children[middle - 1])) { - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } } - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; } // this complex condition makes us left-recur around a zero-length node when includePrecedingTokenAtEndPosition is set, rather than right-recur on it if (includePrecedingTokenAtEndPosition && start === position && children[middle - 1] && children[middle - 1].getEnd() === position && nodeContainsPosition(children[middle - 1])) { - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; }); if (foundToken) { return { value: foundToken }; @@ -126985,7 +127422,7 @@ var ts; return false; } var end = node.getEnd(); - if (position < end || (position === end && (node.kind === 1 /* EndOfFileToken */ || includeEndPosition))) { + if (position < end || (position === end && (node.kind === 1 /* SyntaxKind.EndOfFileToken */ || includeEndPosition))) { return true; } else if (includePrecedingTokenAtEndPosition && end === position) { @@ -127054,7 +127491,7 @@ var ts; ts.Debug.assert(!(result && isWhiteSpaceOnlyJsxText(result))); return result; function find(n) { - if (isNonWhitespaceToken(n) && n.kind !== 1 /* EndOfFileToken */) { + if (isNonWhitespaceToken(n) && n.kind !== 1 /* SyntaxKind.EndOfFileToken */) { return n; } var children = n.getChildren(sourceFile); @@ -127066,11 +127503,11 @@ var ts; if (position < children[middle].end) { // first element whose end position is greater than the input position if (!children[middle - 1] || position >= children[middle - 1].end) { - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; } - return 1 /* GreaterThan */; + return 1 /* Comparison.GreaterThan */; } - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; }); if (i >= 0 && children[i]) { var child = children[i]; @@ -127095,7 +127532,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 305 /* SourceFile */ || n.kind === 1 /* EndOfFileToken */ || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 305 /* SyntaxKind.SourceFile */ || n.kind === 1 /* SyntaxKind.EndOfFileToken */ || ts.isJSDocCommentContainingNode(n)); // Here we know that none of child token nodes embrace the position, // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. @@ -127126,7 +127563,7 @@ var ts; for (var i = exclusiveStartPosition - 1; i >= 0; i--) { var child = children[i]; if (isWhiteSpaceOnlyJsxText(child)) { - if (i === 0 && (parentKind === 11 /* JsxText */ || parentKind === 279 /* JsxSelfClosingElement */)) { + if (i === 0 && (parentKind === 11 /* SyntaxKind.JsxText */ || parentKind === 279 /* SyntaxKind.JsxSelfClosingElement */)) { ts.Debug.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`"); } } @@ -127162,25 +127599,25 @@ var ts; if (!token) { return false; } - if (token.kind === 11 /* JsxText */) { + if (token.kind === 11 /* SyntaxKind.JsxText */) { return true; } //
Hello |
- if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 11 /* JsxText */) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 11 /* SyntaxKind.JsxText */) { return true; } //
{ |
or
- if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 288 /* JsxExpression */) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 288 /* SyntaxKind.JsxExpression */) { return true; } //
{ // | // } < /div> - if (token && token.kind === 19 /* CloseBraceToken */ && token.parent.kind === 288 /* JsxExpression */) { + if (token && token.kind === 19 /* SyntaxKind.CloseBraceToken */ && token.parent.kind === 288 /* SyntaxKind.JsxExpression */) { return true; } //
|
- if (token.kind === 29 /* LessThanToken */ && token.parent.kind === 281 /* JsxClosingElement */) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 281 /* SyntaxKind.JsxClosingElement */) { return true; } return false; @@ -127199,10 +127636,10 @@ var ts; if (ts.isJsxText(token)) { return true; } - if (token.kind === 18 /* OpenBraceToken */ && ts.isJsxExpression(token.parent) && ts.isJsxElement(token.parent.parent)) { + if (token.kind === 18 /* SyntaxKind.OpenBraceToken */ && ts.isJsxExpression(token.parent) && ts.isJsxElement(token.parent.parent)) { return true; } - if (token.kind === 29 /* LessThanToken */ && ts.isJsxOpeningLikeElement(token.parent) && ts.isJsxElement(token.parent.parent)) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */ && ts.isJsxOpeningLikeElement(token.parent) && ts.isJsxElement(token.parent.parent)) { return true; } return false; @@ -127211,17 +127648,17 @@ var ts; function isInsideJsxElement(sourceFile, position) { function isInsideJsxElementTraversal(node) { while (node) { - if (node.kind >= 279 /* JsxSelfClosingElement */ && node.kind <= 288 /* JsxExpression */ - || node.kind === 11 /* JsxText */ - || node.kind === 29 /* LessThanToken */ - || node.kind === 31 /* GreaterThanToken */ - || node.kind === 79 /* Identifier */ - || node.kind === 19 /* CloseBraceToken */ - || node.kind === 18 /* OpenBraceToken */ - || node.kind === 43 /* SlashToken */) { + if (node.kind >= 279 /* SyntaxKind.JsxSelfClosingElement */ && node.kind <= 288 /* SyntaxKind.JsxExpression */ + || node.kind === 11 /* SyntaxKind.JsxText */ + || node.kind === 29 /* SyntaxKind.LessThanToken */ + || node.kind === 31 /* SyntaxKind.GreaterThanToken */ + || node.kind === 79 /* SyntaxKind.Identifier */ + || node.kind === 19 /* SyntaxKind.CloseBraceToken */ + || node.kind === 18 /* SyntaxKind.OpenBraceToken */ + || node.kind === 43 /* SyntaxKind.SlashToken */) { node = node.parent; } - else if (node.kind === 278 /* JsxElement */) { + else if (node.kind === 278 /* SyntaxKind.JsxElement */) { if (position > node.getStart(sourceFile)) return true; node = node.parent; @@ -127311,10 +127748,10 @@ var ts; var nTypeArguments = 0; while (token) { switch (token.kind) { - case 29 /* LessThanToken */: + case 29 /* SyntaxKind.LessThanToken */: // Found the beginning of the generic argument expression token = findPrecedingToken(token.getFullStart(), sourceFile); - if (token && token.kind === 28 /* QuestionDotToken */) { + if (token && token.kind === 28 /* SyntaxKind.QuestionDotToken */) { token = findPrecedingToken(token.getFullStart(), sourceFile); } if (!token || !ts.isIdentifier(token)) @@ -127324,56 +127761,56 @@ var ts; } remainingLessThanTokens--; break; - case 49 /* GreaterThanGreaterThanGreaterThanToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: remainingLessThanTokens = +3; break; - case 48 /* GreaterThanGreaterThanToken */: + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: remainingLessThanTokens = +2; break; - case 31 /* GreaterThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: remainingLessThanTokens++; break; - case 19 /* CloseBraceToken */: + case 19 /* SyntaxKind.CloseBraceToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token - token = findPrecedingMatchingToken(token, 18 /* OpenBraceToken */, sourceFile); + token = findPrecedingMatchingToken(token, 18 /* SyntaxKind.OpenBraceToken */, sourceFile); if (!token) return undefined; break; - case 21 /* CloseParenToken */: + case 21 /* SyntaxKind.CloseParenToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token - token = findPrecedingMatchingToken(token, 20 /* OpenParenToken */, sourceFile); + token = findPrecedingMatchingToken(token, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (!token) return undefined; break; - case 23 /* CloseBracketToken */: + case 23 /* SyntaxKind.CloseBracketToken */: // This can be object type, skip until we find the matching open brace token // Skip until the matching open brace token - token = findPrecedingMatchingToken(token, 22 /* OpenBracketToken */, sourceFile); + token = findPrecedingMatchingToken(token, 22 /* SyntaxKind.OpenBracketToken */, sourceFile); if (!token) return undefined; break; // Valid tokens in a type name. Skip. - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: nTypeArguments++; break; - case 38 /* EqualsGreaterThanToken */: + case 38 /* SyntaxKind.EqualsGreaterThanToken */: // falls through - case 79 /* Identifier */: - case 10 /* StringLiteral */: - case 8 /* NumericLiteral */: - case 9 /* BigIntLiteral */: - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: + case 79 /* SyntaxKind.Identifier */: + case 10 /* SyntaxKind.StringLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: // falls through - case 112 /* TypeOfKeyword */: - case 94 /* ExtendsKeyword */: - case 140 /* KeyOfKeyword */: - case 24 /* DotToken */: - case 51 /* BarToken */: - case 57 /* QuestionToken */: - case 58 /* ColonToken */: + case 112 /* SyntaxKind.TypeOfKeyword */: + case 94 /* SyntaxKind.ExtendsKeyword */: + case 140 /* SyntaxKind.KeyOfKeyword */: + case 24 /* SyntaxKind.DotToken */: + case 51 /* SyntaxKind.BarToken */: + case 57 /* SyntaxKind.QuestionToken */: + case 58 /* SyntaxKind.ColonToken */: break; default: if (ts.isTypeNode(token)) { @@ -127405,52 +127842,52 @@ var ts; function nodeHasTokens(n, sourceFile) { // If we have a token or node that has a non-zero width, it must have tokens. // Note: getWidth() does not take trivia into account. - return n.kind === 1 /* EndOfFileToken */ ? !!n.jsDoc : n.getWidth(sourceFile) !== 0; + return n.kind === 1 /* SyntaxKind.EndOfFileToken */ ? !!n.jsDoc : n.getWidth(sourceFile) !== 0; } function getNodeModifiers(node, excludeFlags) { - if (excludeFlags === void 0) { excludeFlags = 0 /* None */; } + if (excludeFlags === void 0) { excludeFlags = 0 /* ModifierFlags.None */; } var result = []; var flags = ts.isDeclaration(node) ? ts.getCombinedNodeFlagsAlwaysIncludeJSDoc(node) & ~excludeFlags - : 0 /* None */; - if (flags & 8 /* Private */) - result.push("private" /* privateMemberModifier */); - if (flags & 16 /* Protected */) - result.push("protected" /* protectedMemberModifier */); - if (flags & 4 /* Public */) - result.push("public" /* publicMemberModifier */); - if (flags & 32 /* Static */ || ts.isClassStaticBlockDeclaration(node)) - result.push("static" /* staticModifier */); - if (flags & 128 /* Abstract */) - result.push("abstract" /* abstractModifier */); - if (flags & 1 /* Export */) - result.push("export" /* exportedModifier */); - if (flags & 8192 /* Deprecated */) - result.push("deprecated" /* deprecatedModifier */); - if (node.flags & 16777216 /* Ambient */) - result.push("declare" /* ambientModifier */); - if (node.kind === 271 /* ExportAssignment */) - result.push("export" /* exportedModifier */); - return result.length > 0 ? result.join(",") : "" /* none */; + : 0 /* ModifierFlags.None */; + if (flags & 8 /* ModifierFlags.Private */) + result.push("private" /* ScriptElementKindModifier.privateMemberModifier */); + if (flags & 16 /* ModifierFlags.Protected */) + result.push("protected" /* ScriptElementKindModifier.protectedMemberModifier */); + if (flags & 4 /* ModifierFlags.Public */) + result.push("public" /* ScriptElementKindModifier.publicMemberModifier */); + if (flags & 32 /* ModifierFlags.Static */ || ts.isClassStaticBlockDeclaration(node)) + result.push("static" /* ScriptElementKindModifier.staticModifier */); + if (flags & 128 /* ModifierFlags.Abstract */) + result.push("abstract" /* ScriptElementKindModifier.abstractModifier */); + if (flags & 1 /* ModifierFlags.Export */) + result.push("export" /* ScriptElementKindModifier.exportedModifier */); + if (flags & 8192 /* ModifierFlags.Deprecated */) + result.push("deprecated" /* ScriptElementKindModifier.deprecatedModifier */); + if (node.flags & 16777216 /* NodeFlags.Ambient */) + result.push("declare" /* ScriptElementKindModifier.ambientModifier */); + if (node.kind === 271 /* SyntaxKind.ExportAssignment */) + result.push("export" /* ScriptElementKindModifier.exportedModifier */); + return result.length > 0 ? result.join(",") : "" /* ScriptElementKindModifier.none */; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 178 /* TypeReference */ || node.kind === 208 /* CallExpression */) { + if (node.kind === 178 /* SyntaxKind.TypeReference */ || node.kind === 208 /* SyntaxKind.CallExpression */) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 257 /* ClassDeclaration */ || node.kind === 258 /* InterfaceDeclaration */) { + if (ts.isFunctionLike(node) || node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { return node.typeParameters; } return undefined; } ts.getTypeArgumentOrTypeParameterList = getTypeArgumentOrTypeParameterList; function isComment(kind) { - return kind === 2 /* SingleLineCommentTrivia */ || kind === 3 /* MultiLineCommentTrivia */; + return kind === 2 /* SyntaxKind.SingleLineCommentTrivia */ || kind === 3 /* SyntaxKind.MultiLineCommentTrivia */; } ts.isComment = isComment; function isStringOrRegularExpressionOrTemplateLiteral(kind) { - if (kind === 10 /* StringLiteral */ - || kind === 13 /* RegularExpressionLiteral */ + if (kind === 10 /* SyntaxKind.StringLiteral */ + || kind === 13 /* SyntaxKind.RegularExpressionLiteral */ || ts.isTemplateLiteralKind(kind)) { return true; } @@ -127458,7 +127895,7 @@ var ts; } ts.isStringOrRegularExpressionOrTemplateLiteral = isStringOrRegularExpressionOrTemplateLiteral; function isPunctuation(kind) { - return 18 /* FirstPunctuation */ <= kind && kind <= 78 /* LastPunctuation */; + return 18 /* SyntaxKind.FirstPunctuation */ <= kind && kind <= 78 /* SyntaxKind.LastPunctuation */; } ts.isPunctuation = isPunctuation; function isInsideTemplateLiteral(node, position, sourceFile) { @@ -127468,9 +127905,9 @@ var ts; ts.isInsideTemplateLiteral = isInsideTemplateLiteral; function isAccessibilityModifier(kind) { switch (kind) { - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: return true; } return false; @@ -127483,18 +127920,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 204 /* ArrayLiteralExpression */ || - node.kind === 205 /* ObjectLiteralExpression */) { + if (node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ || + node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { // [a,b,c] from: // [a, b, c] = someExpression; - if (node.parent.kind === 221 /* BinaryExpression */ && + if (node.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && node.parent.left === node && - node.parent.operatorToken.kind === 63 /* EqualsToken */) { + node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { return true; } // [a, b, c] from: // for([a, b, c] of expression) - if (node.parent.kind === 244 /* ForOfStatement */ && + if (node.parent.kind === 244 /* SyntaxKind.ForOfStatement */ && node.parent.initializer === node) { return true; } @@ -127502,7 +127939,7 @@ var ts; // [x, [a, b, c] ] = someExpression // or // {x, a: {a, b, c} } = someExpression - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 296 /* PropertyAssignment */ ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ ? node.parent.parent : node.parent)) { return true; } } @@ -127525,8 +127962,8 @@ var ts; if (!contextToken) return undefined; switch (contextToken.kind) { - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return createTextSpanFromStringLiteralLikeContent(contextToken); default: return createTextSpanFromNode(contextToken); @@ -127564,32 +128001,32 @@ var ts; } ts.createTextChange = createTextChange; ts.typeKeywords = [ - 130 /* AnyKeyword */, - 128 /* AssertsKeyword */, - 158 /* BigIntKeyword */, - 133 /* BooleanKeyword */, - 95 /* FalseKeyword */, - 137 /* InferKeyword */, - 140 /* KeyOfKeyword */, - 143 /* NeverKeyword */, - 104 /* NullKeyword */, - 147 /* NumberKeyword */, - 148 /* ObjectKeyword */, - 145 /* ReadonlyKeyword */, - 150 /* StringKeyword */, - 151 /* SymbolKeyword */, - 110 /* TrueKeyword */, - 114 /* VoidKeyword */, - 153 /* UndefinedKeyword */, - 154 /* UniqueKeyword */, - 155 /* UnknownKeyword */, + 130 /* SyntaxKind.AnyKeyword */, + 128 /* SyntaxKind.AssertsKeyword */, + 158 /* SyntaxKind.BigIntKeyword */, + 133 /* SyntaxKind.BooleanKeyword */, + 95 /* SyntaxKind.FalseKeyword */, + 137 /* SyntaxKind.InferKeyword */, + 140 /* SyntaxKind.KeyOfKeyword */, + 143 /* SyntaxKind.NeverKeyword */, + 104 /* SyntaxKind.NullKeyword */, + 147 /* SyntaxKind.NumberKeyword */, + 148 /* SyntaxKind.ObjectKeyword */, + 145 /* SyntaxKind.ReadonlyKeyword */, + 150 /* SyntaxKind.StringKeyword */, + 151 /* SyntaxKind.SymbolKeyword */, + 110 /* SyntaxKind.TrueKeyword */, + 114 /* SyntaxKind.VoidKeyword */, + 153 /* SyntaxKind.UndefinedKeyword */, + 154 /* SyntaxKind.UniqueKeyword */, + 155 /* SyntaxKind.UnknownKeyword */, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); } ts.isTypeKeyword = isTypeKeyword; function isTypeKeywordToken(node) { - return node.kind === 152 /* TypeKeyword */; + return node.kind === 152 /* SyntaxKind.TypeKeyword */; } ts.isTypeKeywordToken = isTypeKeywordToken; function isTypeKeywordTokenOrIdentifier(node) { @@ -127598,7 +128035,7 @@ var ts; ts.isTypeKeywordTokenOrIdentifier = isTypeKeywordTokenOrIdentifier; /** True if the symbol is for an external module, as opposed to a namespace. */ function isExternalModuleSymbol(moduleSymbol) { - return !!(moduleSymbol.flags & 1536 /* Module */) && moduleSymbol.name.charCodeAt(0) === 34 /* doubleQuote */; + return !!(moduleSymbol.flags & 1536 /* SymbolFlags.Module */) && moduleSymbol.name.charCodeAt(0) === 34 /* CharacterCodes.doubleQuote */; } ts.isExternalModuleSymbol = isExternalModuleSymbol; function nodeSeenTracker() { @@ -127626,7 +128063,7 @@ var ts; } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 162 /* ComputedPropertyName */ + return name.kind === 162 /* SyntaxKind.ComputedPropertyName */ // treat computed property names where expression is string/numeric literal as just string/numeric literal ? ts.isStringOrNumericLiteralLike(name.expression) ? name.expression.text : undefined : ts.isPrivateIdentifier(name) ? ts.idText(name) : ts.getTextOfIdentifierOrLiteral(name); @@ -127641,7 +128078,7 @@ var ts; } ts.programContainsEsModules = programContainsEsModules; function compilerOptionsIndicateEsModules(compilerOptions) { - return !!compilerOptions.module || ts.getEmitScriptTarget(compilerOptions) >= 2 /* ES2015 */ || !!compilerOptions.noEmit; + return !!compilerOptions.module || ts.getEmitScriptTarget(compilerOptions) >= 2 /* ScriptTarget.ES2015 */ || !!compilerOptions.noEmit; } ts.compilerOptionsIndicateEsModules = compilerOptionsIndicateEsModules; function createModuleSpecifierResolutionHost(program, host) { @@ -127668,6 +128105,14 @@ var ts; return __assign(__assign({}, createModuleSpecifierResolutionHost(program, host)), { getCommonSourceDirectory: function () { return program.getCommonSourceDirectory(); } }); } ts.getModuleSpecifierResolverHost = getModuleSpecifierResolverHost; + function moduleResolutionRespectsExports(moduleResolution) { + return moduleResolution >= ts.ModuleResolutionKind.Node16 && moduleResolution <= ts.ModuleResolutionKind.NodeNext; + } + ts.moduleResolutionRespectsExports = moduleResolutionRespectsExports; + function moduleResolutionUsesNodeModules(moduleResolution) { + return moduleResolution === ts.ModuleResolutionKind.NodeJs || moduleResolution >= ts.ModuleResolutionKind.Node16 && moduleResolution <= ts.ModuleResolutionKind.NodeNext; + } + ts.moduleResolutionUsesNodeModules = moduleResolutionUsesNodeModules; function makeImportIfNecessary(defaultImport, namedImports, moduleSpecifier, quotePreference) { return defaultImport || namedImports && namedImports.length ? makeImport(defaultImport, namedImports, moduleSpecifier, quotePreference) : undefined; } @@ -127682,7 +128127,7 @@ var ts; } ts.makeImport = makeImport; function makeStringLiteral(text, quotePreference) { - return ts.factory.createStringLiteral(text, quotePreference === 0 /* Single */); + return ts.factory.createStringLiteral(text, quotePreference === 0 /* QuotePreference.Single */); } ts.makeStringLiteral = makeStringLiteral; var QuotePreference; @@ -127691,25 +128136,25 @@ var ts; QuotePreference[QuotePreference["Double"] = 1] = "Double"; })(QuotePreference = ts.QuotePreference || (ts.QuotePreference = {})); function quotePreferenceFromString(str, sourceFile) { - return ts.isStringDoubleQuoted(str, sourceFile) ? 1 /* Double */ : 0 /* Single */; + return ts.isStringDoubleQuoted(str, sourceFile) ? 1 /* QuotePreference.Double */ : 0 /* QuotePreference.Single */; } ts.quotePreferenceFromString = quotePreferenceFromString; function getQuotePreference(sourceFile, preferences) { if (preferences.quotePreference && preferences.quotePreference !== "auto") { - return preferences.quotePreference === "single" ? 0 /* Single */ : 1 /* Double */; + return preferences.quotePreference === "single" ? 0 /* QuotePreference.Single */ : 1 /* QuotePreference.Double */; } else { // ignore synthetic import added when importHelpers: true var firstModuleSpecifier = sourceFile.imports && ts.find(sourceFile.imports, function (n) { return ts.isStringLiteral(n) && !ts.nodeIsSynthesized(n.parent); }); - return firstModuleSpecifier ? quotePreferenceFromString(firstModuleSpecifier, sourceFile) : 1 /* Double */; + return firstModuleSpecifier ? quotePreferenceFromString(firstModuleSpecifier, sourceFile) : 1 /* QuotePreference.Double */; } } ts.getQuotePreference = getQuotePreference; function getQuoteFromPreference(qp) { switch (qp) { - case 0 /* Single */: return "'"; - case 1 /* Double */: return '"'; + case 0 /* QuotePreference.Single */: return "'"; + case 1 /* QuotePreference.Double */: return '"'; default: return ts.Debug.assertNever(qp); } } @@ -127720,12 +128165,12 @@ var ts; } ts.symbolNameNoDefault = symbolNameNoDefault; function symbolEscapedNameNoDefault(symbol) { - if (symbol.escapedName !== "default" /* Default */) { + if (symbol.escapedName !== "default" /* InternalSymbolName.Default */) { return symbol.escapedName; } return ts.firstDefined(symbol.declarations, function (decl) { var name = ts.getNameOfDeclaration(decl); - return name && name.kind === 79 /* Identifier */ ? name.escapedText : undefined; + return name && name.kind === 79 /* SyntaxKind.Identifier */ ? name.escapedText : undefined; }); } ts.symbolEscapedNameNoDefault = symbolEscapedNameNoDefault; @@ -127769,7 +128214,7 @@ var ts; ts.findModifier = findModifier; function insertImports(changes, sourceFile, imports, blankLineBetween) { var decl = ts.isArray(imports) ? imports[0] : imports; - var importKindPredicate = decl.kind === 237 /* VariableStatement */ ? ts.isRequireVariableStatement : ts.isAnyImportSyntax; + var importKindPredicate = decl.kind === 237 /* SyntaxKind.VariableStatement */ ? ts.isRequireVariableStatement : ts.isAnyImportSyntax; var existingImportStatements = ts.filter(sourceFile.statements, importKindPredicate); var sortedNewImports = ts.isArray(imports) ? ts.stableSort(imports, ts.OrganizeImports.compareImportsOrRequireStatements) : [imports]; if (!existingImportStatements.length) { @@ -127947,34 +128392,34 @@ var ts; return displayPart(text, displayPartKind(symbol)); function displayPartKind(symbol) { var flags = symbol.flags; - if (flags & 3 /* Variable */) { + if (flags & 3 /* SymbolFlags.Variable */) { return isFirstDeclarationOfSymbolParameter(symbol) ? ts.SymbolDisplayPartKind.parameterName : ts.SymbolDisplayPartKind.localName; } - if (flags & 4 /* Property */) + if (flags & 4 /* SymbolFlags.Property */) return ts.SymbolDisplayPartKind.propertyName; - if (flags & 32768 /* GetAccessor */) + if (flags & 32768 /* SymbolFlags.GetAccessor */) return ts.SymbolDisplayPartKind.propertyName; - if (flags & 65536 /* SetAccessor */) + if (flags & 65536 /* SymbolFlags.SetAccessor */) return ts.SymbolDisplayPartKind.propertyName; - if (flags & 8 /* EnumMember */) + if (flags & 8 /* SymbolFlags.EnumMember */) return ts.SymbolDisplayPartKind.enumMemberName; - if (flags & 16 /* Function */) + if (flags & 16 /* SymbolFlags.Function */) return ts.SymbolDisplayPartKind.functionName; - if (flags & 32 /* Class */) + if (flags & 32 /* SymbolFlags.Class */) return ts.SymbolDisplayPartKind.className; - if (flags & 64 /* Interface */) + if (flags & 64 /* SymbolFlags.Interface */) return ts.SymbolDisplayPartKind.interfaceName; - if (flags & 384 /* Enum */) + if (flags & 384 /* SymbolFlags.Enum */) return ts.SymbolDisplayPartKind.enumName; - if (flags & 1536 /* Module */) + if (flags & 1536 /* SymbolFlags.Module */) return ts.SymbolDisplayPartKind.moduleName; - if (flags & 8192 /* Method */) + if (flags & 8192 /* SymbolFlags.Method */) return ts.SymbolDisplayPartKind.methodName; - if (flags & 262144 /* TypeParameter */) + if (flags & 262144 /* SymbolFlags.TypeParameter */) return ts.SymbolDisplayPartKind.typeParameterName; - if (flags & 524288 /* TypeAlias */) + if (flags & 524288 /* SymbolFlags.TypeAlias */) return ts.SymbolDisplayPartKind.aliasName; - if (flags & 2097152 /* Alias */) + if (flags & 2097152 /* SymbolFlags.Alias */) return ts.SymbolDisplayPartKind.aliasName; return ts.SymbolDisplayPartKind.text; } @@ -128051,7 +128496,7 @@ var ts; var prefix = ts.isJSDocLink(link) ? "link" : ts.isJSDocLinkCode(link) ? "linkcode" : "linkplain"; - var parts = [linkPart("{@" + prefix + " ")]; + var parts = [linkPart("{@".concat(prefix, " "))]; if (!link.name) { if (link.text) { parts.push(linkTextPart(link.text)); @@ -128078,8 +128523,8 @@ var ts; ts.buildLinkParts = buildLinkParts; function skipSeparatorFromLinkText(text) { var pos = 0; - if (text.charCodeAt(pos++) === 124 /* bar */) { - while (pos < text.length && text.charCodeAt(pos) === 32 /* space */) + if (text.charCodeAt(pos++) === 124 /* CharacterCodes.bar */) { + while (pos < text.length && text.charCodeAt(pos) === 32 /* CharacterCodes.space */) pos++; return text.slice(pos); } @@ -128129,22 +128574,22 @@ var ts; } ts.mapToDisplayParts = mapToDisplayParts; function typeToDisplayParts(typechecker, type, enclosingDeclaration, flags) { - if (flags === void 0) { flags = 0 /* None */; } + if (flags === void 0) { flags = 0 /* TypeFormatFlags.None */; } return mapToDisplayParts(function (writer) { - typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* MultilineObjectLiterals */ | 16384 /* UseAliasDefinedOutsideCurrentScope */, writer); + typechecker.writeType(type, enclosingDeclaration, flags | 1024 /* TypeFormatFlags.MultilineObjectLiterals */ | 16384 /* TypeFormatFlags.UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.typeToDisplayParts = typeToDisplayParts; function symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration, meaning, flags) { - if (flags === void 0) { flags = 0 /* None */; } + if (flags === void 0) { flags = 0 /* SymbolFormatFlags.None */; } return mapToDisplayParts(function (writer) { - typeChecker.writeSymbol(symbol, enclosingDeclaration, meaning, flags | 8 /* UseAliasDefinedOutsideCurrentScope */, writer); + typeChecker.writeSymbol(symbol, enclosingDeclaration, meaning, flags | 8 /* SymbolFormatFlags.UseAliasDefinedOutsideCurrentScope */, writer); }); } ts.symbolToDisplayParts = symbolToDisplayParts; function signatureToDisplayParts(typechecker, signature, enclosingDeclaration, flags) { - if (flags === void 0) { flags = 0 /* None */; } - flags |= 16384 /* UseAliasDefinedOutsideCurrentScope */ | 1024 /* MultilineObjectLiterals */ | 32 /* WriteTypeArgumentsOfSignature */ | 8192 /* OmitParameterModifiers */; + if (flags === void 0) { flags = 0 /* TypeFormatFlags.None */; } + flags |= 16384 /* TypeFormatFlags.UseAliasDefinedOutsideCurrentScope */ | 1024 /* TypeFormatFlags.MultilineObjectLiterals */ | 32 /* TypeFormatFlags.WriteTypeArgumentsOfSignature */ | 8192 /* TypeFormatFlags.OmitParameterModifiers */; return mapToDisplayParts(function (writer) { typechecker.writeSignature(signature, enclosingDeclaration, flags, /*signatureKind*/ undefined, writer); }); @@ -128154,7 +128599,7 @@ var ts; var file = enclosingDeclaration.getSourceFile(); return mapToDisplayParts(function (writer) { var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); - printer.writeNode(4 /* Unspecified */, node, file, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, node, file, writer); }); } ts.nodeToDisplayParts = nodeToDisplayParts; @@ -128182,10 +128627,10 @@ var ts; } ts.getSymbolTarget = getSymbolTarget; function isTransientSymbol(symbol) { - return (symbol.flags & 33554432 /* Transient */) !== 0; + return (symbol.flags & 33554432 /* SymbolFlags.Transient */) !== 0; } function isAliasSymbol(symbol) { - return (symbol.flags & 2097152 /* Alias */) !== 0; + return (symbol.flags & 2097152 /* SymbolFlags.Alias */) !== 0; } function getUniqueSymbolId(symbol, checker) { return ts.getSymbolId(ts.skipAlias(symbol, checker)); @@ -128274,14 +128719,14 @@ var ts; * Sets EmitFlags to suppress leading trivia on the node. */ function suppressLeadingTrivia(node) { - addEmitFlagsRecursively(node, 512 /* NoLeadingComments */, getFirstChild); + addEmitFlagsRecursively(node, 512 /* EmitFlags.NoLeadingComments */, getFirstChild); } ts.suppressLeadingTrivia = suppressLeadingTrivia; /** * Sets EmitFlags to suppress trailing trivia on the node. */ function suppressTrailingTrivia(node) { - addEmitFlagsRecursively(node, 1024 /* NoTrailingComments */, ts.getLastChild); + addEmitFlagsRecursively(node, 1024 /* EmitFlags.NoTrailingComments */, ts.getLastChild); } ts.suppressTrailingTrivia = suppressTrailingTrivia; function copyComments(sourceNode, targetNode) { @@ -128300,7 +128745,7 @@ var ts; var start = node.getFullStart(); var end = node.getStart(); for (var i = start; i < end; i++) { - if (text.charCodeAt(i) === 10 /* lineFeed */) + if (text.charCodeAt(i) === 10 /* CharacterCodes.lineFeed */) return true; } return false; @@ -128317,7 +128762,7 @@ var ts; function getUniqueName(baseName, sourceFile) { var nameText = baseName; for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) { - nameText = baseName + "_" + i; + nameText = "".concat(baseName, "_").concat(i); } return nameText; } @@ -128374,7 +128819,7 @@ var ts; ts.copyTrailingAsLeadingComments = copyTrailingAsLeadingComments; function getAddCommentsFunction(targetNode, sourceFile, commentKind, hasTrailingNewLine, cb) { return function (pos, end, kind, htnl) { - if (kind === 3 /* MultiLineCommentTrivia */) { + if (kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { // Remove leading /* pos += 2; // Remove trailing */ @@ -128400,7 +128845,7 @@ var ts; } /* @internal */ function needsParentheses(expression) { - return ts.isBinaryExpression(expression) && expression.operatorToken.kind === 27 /* CommaToken */ + return ts.isBinaryExpression(expression) && expression.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ || ts.isObjectLiteralExpression(expression) || ts.isAsExpression(expression) && ts.isObjectLiteralExpression(expression.expression); } @@ -128408,15 +128853,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: return checker.getContextualType(parent); - case 221 /* BinaryExpression */: { + case 221 /* SyntaxKind.BinaryExpression */: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 289 /* CaseClause */: + case 289 /* SyntaxKind.CaseClause */: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -128427,15 +128872,15 @@ var ts; // Editors can pass in undefined or empty string - we want to infer the preference in those cases. var quotePreference = getQuotePreference(sourceFile, preferences); var quoted = JSON.stringify(text); - return quotePreference === 0 /* Single */ ? "'" + ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"') + "'" : quoted; + return quotePreference === 0 /* QuotePreference.Single */ ? "'".concat(ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"'), "'") : quoted; } ts.quote = quote; function isEqualityOperatorKind(kind) { switch (kind) { - case 36 /* EqualsEqualsEqualsToken */: - case 34 /* EqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: return true; default: return false; @@ -128444,10 +128889,10 @@ var ts; ts.isEqualityOperatorKind = isEqualityOperatorKind; function isStringLiteralOrTemplate(node) { switch (node.kind) { - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 223 /* TemplateExpression */: - case 210 /* TaggedTemplateExpression */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 223 /* SyntaxKind.TemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: return true; default: return false; @@ -128467,9 +128912,9 @@ var ts; var checker = program.getTypeChecker(); var typeIsAccessible = true; var notAccessible = function () { return typeIsAccessible = false; }; - var res = checker.typeToTypeNode(type, enclosingScope, 1 /* NoTruncation */, { + var res = checker.typeToTypeNode(type, enclosingScope, 1 /* NodeBuilderFlags.NoTruncation */, { trackSymbol: function (symbol, declaration, meaning) { - typeIsAccessible = typeIsAccessible && checker.isSymbolAccessible(symbol, declaration, meaning, /*shouldComputeAliasToMarkVisible*/ false).accessibility === 0 /* Accessible */; + typeIsAccessible = typeIsAccessible && checker.isSymbolAccessible(symbol, declaration, meaning, /*shouldComputeAliasToMarkVisible*/ false).accessibility === 0 /* SymbolAccessibility.Accessible */; return !typeIsAccessible; }, reportInaccessibleThisError: notAccessible, @@ -128481,48 +128926,48 @@ var ts; } ts.getTypeNodeIfAccessible = getTypeNodeIfAccessible; function syntaxRequiresTrailingCommaOrSemicolonOrASI(kind) { - return kind === 174 /* CallSignature */ - || kind === 175 /* ConstructSignature */ - || kind === 176 /* IndexSignature */ - || kind === 166 /* PropertySignature */ - || kind === 168 /* MethodSignature */; + return kind === 174 /* SyntaxKind.CallSignature */ + || kind === 175 /* SyntaxKind.ConstructSignature */ + || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 166 /* SyntaxKind.PropertySignature */ + || kind === 168 /* SyntaxKind.MethodSignature */; } function syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI(kind) { - return kind === 256 /* FunctionDeclaration */ - || kind === 171 /* Constructor */ - || kind === 169 /* MethodDeclaration */ - || kind === 172 /* GetAccessor */ - || kind === 173 /* SetAccessor */; + return kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */; } function syntaxRequiresTrailingModuleBlockOrSemicolonOrASI(kind) { - return kind === 261 /* ModuleDeclaration */; + return kind === 261 /* SyntaxKind.ModuleDeclaration */; } function syntaxRequiresTrailingSemicolonOrASI(kind) { - return kind === 237 /* VariableStatement */ - || kind === 238 /* ExpressionStatement */ - || kind === 240 /* DoStatement */ - || kind === 245 /* ContinueStatement */ - || kind === 246 /* BreakStatement */ - || kind === 247 /* ReturnStatement */ - || kind === 251 /* ThrowStatement */ - || kind === 253 /* DebuggerStatement */ - || kind === 167 /* PropertyDeclaration */ - || kind === 259 /* TypeAliasDeclaration */ - || kind === 266 /* ImportDeclaration */ - || kind === 265 /* ImportEqualsDeclaration */ - || kind === 272 /* ExportDeclaration */ - || kind === 264 /* NamespaceExportDeclaration */ - || kind === 271 /* ExportAssignment */; + return kind === 237 /* SyntaxKind.VariableStatement */ + || kind === 238 /* SyntaxKind.ExpressionStatement */ + || kind === 240 /* SyntaxKind.DoStatement */ + || kind === 245 /* SyntaxKind.ContinueStatement */ + || kind === 246 /* SyntaxKind.BreakStatement */ + || kind === 247 /* SyntaxKind.ReturnStatement */ + || kind === 251 /* SyntaxKind.ThrowStatement */ + || kind === 253 /* SyntaxKind.DebuggerStatement */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 266 /* SyntaxKind.ImportDeclaration */ + || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 272 /* SyntaxKind.ExportDeclaration */ + || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ + || kind === 271 /* SyntaxKind.ExportAssignment */; } ts.syntaxRequiresTrailingSemicolonOrASI = syntaxRequiresTrailingSemicolonOrASI; ts.syntaxMayBeASICandidate = ts.or(syntaxRequiresTrailingCommaOrSemicolonOrASI, syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI, syntaxRequiresTrailingModuleBlockOrSemicolonOrASI, syntaxRequiresTrailingSemicolonOrASI); function nodeIsASICandidate(node, sourceFile) { var lastToken = node.getLastToken(sourceFile); - if (lastToken && lastToken.kind === 26 /* SemicolonToken */) { + if (lastToken && lastToken.kind === 26 /* SyntaxKind.SemicolonToken */) { return false; } if (syntaxRequiresTrailingCommaOrSemicolonOrASI(node.kind)) { - if (lastToken && lastToken.kind === 27 /* CommaToken */) { + if (lastToken && lastToken.kind === 27 /* SyntaxKind.CommaToken */) { return false; } } @@ -128542,12 +128987,12 @@ var ts; return false; } // See comment in parser’s `parseDoStatement` - if (node.kind === 240 /* DoStatement */) { + if (node.kind === 240 /* SyntaxKind.DoStatement */) { return true; } var topNode = ts.findAncestor(node, function (ancestor) { return !ancestor.parent; }); var nextToken = findNextToken(node, topNode, sourceFile); - if (!nextToken || nextToken.kind === 19 /* CloseBraceToken */) { + if (!nextToken || nextToken.kind === 19 /* SyntaxKind.CloseBraceToken */) { return true; } var startLine = sourceFile.getLineAndCharacterOfPosition(node.getEnd()).line; @@ -128571,7 +129016,7 @@ var ts; ts.forEachChild(sourceFile, function visit(node) { if (syntaxRequiresTrailingSemicolonOrASI(node.kind)) { var lastToken = node.getLastToken(sourceFile); - if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === 26 /* SemicolonToken */) { + if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === 26 /* SyntaxKind.SemicolonToken */) { withSemicolon++; } else { @@ -128580,10 +129025,10 @@ var ts; } else if (syntaxRequiresTrailingCommaOrSemicolonOrASI(node.kind)) { var lastToken = node.getLastToken(sourceFile); - if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === 26 /* SemicolonToken */) { + if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === 26 /* SyntaxKind.SemicolonToken */) { withSemicolon++; } - else if (lastToken && lastToken.kind !== 27 /* CommaToken */) { + else if (lastToken && lastToken.kind !== 27 /* SyntaxKind.CommaToken */) { var lastTokenLine = ts.getLineAndCharacterOfPosition(sourceFile, lastToken.getStart(sourceFile)).line; var nextTokenLine = ts.getLineAndCharacterOfPosition(sourceFile, ts.getSpanOfTokenAtPosition(sourceFile, lastToken.end).start).line; // Avoid counting missing semicolon in single-line objects: @@ -128707,16 +129152,16 @@ var ts; } } var dependencyGroups = [ - [1 /* Dependencies */, info.dependencies], - [2 /* DevDependencies */, info.devDependencies], - [8 /* OptionalDependencies */, info.optionalDependencies], - [4 /* PeerDependencies */, info.peerDependencies], + [1 /* PackageJsonDependencyGroup.Dependencies */, info.dependencies], + [2 /* PackageJsonDependencyGroup.DevDependencies */, info.devDependencies], + [8 /* PackageJsonDependencyGroup.OptionalDependencies */, info.optionalDependencies], + [4 /* PackageJsonDependencyGroup.PeerDependencies */, info.peerDependencies], ]; return __assign(__assign({}, info), { parseable: !!content, fileName: fileName, get: get, has: function (dependencyName, inGroups) { return !!get(dependencyName, inGroups); } }); function get(dependencyName, inGroups) { - if (inGroups === void 0) { inGroups = 15 /* All */; } + if (inGroups === void 0) { inGroups = 15 /* PackageJsonDependencyGroup.All */; } for (var _i = 0, dependencyGroups_1 = dependencyGroups; _i < dependencyGroups_1.length; _i++) { var _a = dependencyGroups_1[_i], group_1 = _a[0], deps = _a[1]; if (deps && (inGroups & group_1)) { @@ -128811,7 +129256,7 @@ var ts; var components = ts.getPathComponents(ts.getPackageNameFromTypesPackageName(fullSpecifier)).slice(1); // Scoped packages if (ts.startsWith(components[0], "@")) { - return components[0] + "/" + components[1]; + return "".concat(components[0], "/").concat(components[1]); } return components[0]; } @@ -128931,20 +129376,20 @@ var ts; } ts.getNameForExportedSymbol = getNameForExportedSymbol; function needsNameFromDeclaration(symbol) { - return !(symbol.flags & 33554432 /* Transient */) && (symbol.escapedName === "export=" /* ExportEquals */ || symbol.escapedName === "default" /* Default */); + return !(symbol.flags & 33554432 /* SymbolFlags.Transient */) && (symbol.escapedName === "export=" /* InternalSymbolName.ExportEquals */ || symbol.escapedName === "default" /* InternalSymbolName.Default */); } function getDefaultLikeExportNameFromDeclaration(symbol) { return ts.firstDefined(symbol.declarations, function (d) { var _a; return ts.isExportAssignment(d) ? (_a = ts.tryCast(ts.skipOuterExpressions(d.expression), ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text : undefined; }); } function getSymbolParentOrFail(symbol) { var _a; - return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: " + ts.Debug.formatSymbolFlags(symbol.flags) + ". " + - ("Declarations: " + ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) { + return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: ".concat(ts.Debug.formatSymbolFlags(symbol.flags), ". ") + + "Declarations: ".concat((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) { var kind = ts.Debug.formatSyntaxKind(d.kind); var inJS = ts.isInJSFile(d); var expression = d.expression; - return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: " + ts.Debug.formatSyntaxKind(expression.kind) + ")" : ""); - }).join(", ")) + ".")); + return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: ".concat(ts.Debug.formatSyntaxKind(expression.kind), ")") : ""); + }).join(", "), ".")); } /** * Useful to check whether a string contains another string at a specific index @@ -128977,7 +129422,7 @@ var ts; } ts.stringContainsAt = stringContainsAt; function startsWithUnderscore(name) { - return name.charCodeAt(0) === 95 /* _ */; + return name.charCodeAt(0) === 95 /* CharacterCodes._ */; } ts.startsWithUnderscore = startsWithUnderscore; function isGlobalDeclaration(declaration) { @@ -128995,7 +129440,7 @@ var ts; } ts.isNonGlobalDeclaration = isNonGlobalDeclaration; function isDeprecatedDeclaration(decl) { - return !!(ts.getCombinedNodeFlagsAlwaysIncludeJSDoc(decl) & 8192 /* Deprecated */); + return !!(ts.getCombinedNodeFlagsAlwaysIncludeJSDoc(decl) & 8192 /* ModifierFlags.Deprecated */); } ts.isDeprecatedDeclaration = isDeprecatedDeclaration; function shouldUseUriStyleNodeCoreModules(file, program) { @@ -129008,7 +129453,7 @@ var ts; } ts.shouldUseUriStyleNodeCoreModules = shouldUseUriStyleNodeCoreModules; function getNewLineKind(newLineCharacter) { - return newLineCharacter === "\n" ? 1 /* LineFeed */ : 0 /* CarriageReturnLineFeed */; + return newLineCharacter === "\n" ? 1 /* NewLineKind.LineFeed */ : 0 /* NewLineKind.CarriageReturnLineFeed */; } ts.getNewLineKind = getNewLineKind; function diagnosticToString(diag) { @@ -129028,7 +129473,7 @@ var ts; } ts.getFormatCodeSettingsForWriting = getFormatCodeSettingsForWriting; function jsxModeNeedsExplicitImport(jsx) { - return jsx === 2 /* React */ || jsx === 3 /* ReactNative */; + return jsx === 2 /* JsxEmit.React */ || jsx === 3 /* JsxEmit.ReactNative */; } ts.jsxModeNeedsExplicitImport = jsxModeNeedsExplicitImport; // #endregion @@ -129100,7 +129545,7 @@ var ts; } } } - var isDefault = exportKind === 1 /* Default */; + var isDefault = exportKind === 1 /* ExportKind.Default */; var namedSymbol = isDefault && ts.getLocalSymbolForExportDefault(symbol) || symbol; // 1. A named export must be imported by its key in `moduleSymbol.exports` or `moduleSymbol.members`. // 2. A re-export merged with an export from a module augmentation can result in `symbol` @@ -129109,7 +129554,7 @@ var ts; // 3. Otherwise, we have a default/namespace import that can be imported by any name, and // `symbolTableKey` will be something undesirable like `export=` or `default`, so we try to // get a better name. - var names = exportKind === 0 /* Named */ || ts.isExternalModuleSymbol(namedSymbol) + var names = exportKind === 0 /* ExportKind.Named */ || ts.isExternalModuleSymbol(namedSymbol) ? ts.unescapeLeadingUnderscores(symbolTableKey) : ts.getNamesForExportedSymbol(namedSymbol, /*scriptTarget*/ undefined); var symbolName = typeof names === "string" ? names : names[0]; @@ -129117,8 +129562,8 @@ var ts; var moduleName = ts.stripQuotes(moduleSymbol.name); var id = exportInfoId++; var target = ts.skipAlias(symbol, checker); - var storedSymbol = symbol.flags & 33554432 /* Transient */ ? undefined : symbol; - var storedModuleSymbol = moduleSymbol.flags & 33554432 /* Transient */ ? undefined : moduleSymbol; + var storedSymbol = symbol.flags & 33554432 /* SymbolFlags.Transient */ ? undefined : symbol; + var storedModuleSymbol = moduleSymbol.flags & 33554432 /* SymbolFlags.Transient */ ? undefined : moduleSymbol; if (!storedSymbol || !storedModuleSymbol) symbols.set(id, [symbol, moduleSymbol]); exportInfo.add(key(symbolName, symbol, ts.isExternalModuleNameRelative(moduleName) ? undefined : moduleName, checker), { @@ -129207,9 +129652,9 @@ var ts; var moduleSymbol = info.moduleSymbol || cachedModuleSymbol || ts.Debug.checkDefined(info.moduleFile ? checker.getMergedSymbol(info.moduleFile.symbol) : checker.tryFindAmbientModule(info.moduleName)); - var symbol = info.symbol || cachedSymbol || ts.Debug.checkDefined(exportKind === 2 /* ExportEquals */ + var symbol = info.symbol || cachedSymbol || ts.Debug.checkDefined(exportKind === 2 /* ExportKind.ExportEquals */ ? checker.resolveExternalModuleSymbol(moduleSymbol) - : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '" + info.symbolName + "' by key '" + info.symbolTableKey + "' in module " + moduleSymbol.name); + : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '".concat(info.symbolName, "' by key '").concat(info.symbolTableKey, "' in module ").concat(moduleSymbol.name)); symbols.set(id, [symbol, moduleSymbol]); return { symbol: symbol, @@ -129222,7 +129667,7 @@ var ts; } function key(importedName, symbol, ambientModuleName, checker) { var moduleKey = ambientModuleName || ""; - return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey; + return "".concat(importedName, "|").concat(ts.getSymbolId(ts.skipAlias(symbol, checker)), "|").concat(moduleKey); } function parseKey(key) { var symbolName = key.substring(0, key.indexOf("|")); @@ -129271,8 +129716,8 @@ var ts; if (from === to) return false; var cachedResult = moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.get(from.path, to.path, preferences, {}); - if ((cachedResult === null || cachedResult === void 0 ? void 0 : cachedResult.isAutoImportable) !== undefined) { - return cachedResult.isAutoImportable; + if ((cachedResult === null || cachedResult === void 0 ? void 0 : cachedResult.isBlockedByPackageJsonDependencies) !== undefined) { + return !cachedResult.isBlockedByPackageJsonDependencies; } var getCanonicalFileName = ts.hostGetCanonicalFileName(moduleSpecifierResolutionHost); var globalTypingsCache = (_a = moduleSpecifierResolutionHost.getGlobalTypingsCacheLocation) === null || _a === void 0 ? void 0 : _a.call(moduleSpecifierResolutionHost); @@ -129286,7 +129731,7 @@ var ts; }); if (packageJsonFilter) { var isAutoImportable = hasImportablePath && packageJsonFilter.allowsImportingSourceFile(to, moduleSpecifierResolutionHost); - moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.setIsAutoImportable(from.path, to.path, preferences, {}, isAutoImportable); + moduleSpecifierCache === null || moduleSpecifierCache === void 0 ? void 0 : moduleSpecifierCache.setBlockedByPackageJsonDependencies(from.path, to.path, preferences, {}, !isAutoImportable); return isAutoImportable; } return hasImportablePath; @@ -129311,7 +129756,7 @@ var ts; if (autoImportProvider) { var start = ts.timestamp(); forEachExternalModule(autoImportProvider.getTypeChecker(), autoImportProvider.getSourceFiles(), function (module, file) { return cb(module, file, autoImportProvider, /*isFromPackageJson*/ true); }); - (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: " + (ts.timestamp() - start)); + (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: ".concat(ts.timestamp() - start)); } } ts.forEachExternalModuleToImportFrom = forEachExternalModuleToImportFrom; @@ -129348,24 +129793,31 @@ var ts; (_d = host.log) === null || _d === void 0 ? void 0 : _d.call(host, "getExportInfoMap: cache miss or empty; calculating new results"); var compilerOptions = program.getCompilerOptions(); var moduleCount = 0; - forEachExternalModuleToImportFrom(program, host, /*useAutoImportProvider*/ true, function (moduleSymbol, moduleFile, program, isFromPackageJson) { - if (++moduleCount % 100 === 0) - cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.throwIfCancellationRequested(); - var seenExports = new ts.Map(); - var checker = program.getTypeChecker(); - var defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); - // Note: I think we shouldn't actually see resolved module symbols here, but weird merges - // can cause it to happen: see 'completionsImport_mergedReExport.ts' - if (defaultInfo && isImportableSymbol(defaultInfo.symbol, checker)) { - cache.add(importingFile.path, defaultInfo.symbol, defaultInfo.exportKind === 1 /* Default */ ? "default" /* Default */ : "export=" /* ExportEquals */, moduleSymbol, moduleFile, defaultInfo.exportKind, isFromPackageJson, checker); - } - checker.forEachExportAndPropertyOfModule(moduleSymbol, function (exported, key) { - if (exported !== (defaultInfo === null || defaultInfo === void 0 ? void 0 : defaultInfo.symbol) && isImportableSymbol(exported, checker) && ts.addToSeen(seenExports, key)) { - cache.add(importingFile.path, exported, key, moduleSymbol, moduleFile, 0 /* Named */, isFromPackageJson, checker); + try { + forEachExternalModuleToImportFrom(program, host, /*useAutoImportProvider*/ true, function (moduleSymbol, moduleFile, program, isFromPackageJson) { + if (++moduleCount % 100 === 0) + cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.throwIfCancellationRequested(); + var seenExports = new ts.Map(); + var checker = program.getTypeChecker(); + var defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); + // Note: I think we shouldn't actually see resolved module symbols here, but weird merges + // can cause it to happen: see 'completionsImport_mergedReExport.ts' + if (defaultInfo && isImportableSymbol(defaultInfo.symbol, checker)) { + cache.add(importingFile.path, defaultInfo.symbol, defaultInfo.exportKind === 1 /* ExportKind.Default */ ? "default" /* InternalSymbolName.Default */ : "export=" /* InternalSymbolName.ExportEquals */, moduleSymbol, moduleFile, defaultInfo.exportKind, isFromPackageJson, checker); } + checker.forEachExportAndPropertyOfModule(moduleSymbol, function (exported, key) { + if (exported !== (defaultInfo === null || defaultInfo === void 0 ? void 0 : defaultInfo.symbol) && isImportableSymbol(exported, checker) && ts.addToSeen(seenExports, key)) { + cache.add(importingFile.path, exported, key, moduleSymbol, moduleFile, 0 /* ExportKind.Named */, isFromPackageJson, checker); + } + }); }); - }); - (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in " + (ts.timestamp() - start) + " ms"); + } + catch (err) { + // Ensure cache is reset if operation is cancelled + cache.clear(); + throw err; + } + (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in ".concat(ts.timestamp() - start, " ms")); return cache; } ts.getExportInfoMap = getExportInfoMap; @@ -129384,10 +129836,10 @@ var ts; function getDefaultLikeExportWorker(moduleSymbol, checker) { var exportEquals = checker.resolveExternalModuleSymbol(moduleSymbol); if (exportEquals !== moduleSymbol) - return { symbol: exportEquals, exportKind: 2 /* ExportEquals */ }; - var defaultExport = checker.tryGetMemberInModuleExports("default" /* Default */, moduleSymbol); + return { symbol: exportEquals, exportKind: 2 /* ExportKind.ExportEquals */ }; + var defaultExport = checker.tryGetMemberInModuleExports("default" /* InternalSymbolName.Default */, moduleSymbol); if (defaultExport) - return { symbol: defaultExport, exportKind: 1 /* Default */ }; + return { symbol: defaultExport, exportKind: 1 /* ExportKind.Default */ }; } function getDefaultExportInfoWorker(defaultExport, checker, compilerOptions) { var localSymbol = ts.getLocalSymbolForExportDefault(defaultExport); @@ -129396,7 +129848,7 @@ var ts; var name = getNameForExportDefault(defaultExport); if (name !== undefined) return { symbolForMeaning: defaultExport, name: name }; - if (defaultExport.flags & 2097152 /* Alias */) { + if (defaultExport.flags & 2097152 /* SymbolFlags.Alias */) { var aliased = checker.getImmediateAliasedSymbol(defaultExport); if (aliased && aliased.parent) { // - `aliased` will be undefined if the module is exporting an unresolvable name, @@ -129406,8 +129858,8 @@ var ts; return getDefaultExportInfoWorker(aliased, checker, compilerOptions); } } - if (defaultExport.escapedName !== "default" /* Default */ && - defaultExport.escapedName !== "export=" /* ExportEquals */) { + if (defaultExport.escapedName !== "default" /* InternalSymbolName.Default */ && + defaultExport.escapedName !== "export=" /* InternalSymbolName.ExportEquals */) { return { symbolForMeaning: defaultExport, name: defaultExport.getName() }; } return { symbolForMeaning: defaultExport, name: ts.getNameForExportedSymbol(defaultExport, compilerOptions.target) }; @@ -129419,7 +129871,7 @@ var ts; return (_a = ts.tryCast(ts.skipOuterExpressions(declaration.expression), ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text; } else if (ts.isExportSpecifier(declaration)) { - ts.Debug.assert(declaration.name.text === "default" /* Default */, "Expected the specifier to be a default export"); + ts.Debug.assert(declaration.name.text === "default" /* InternalSymbolName.Default */, "Expected the specifier to be a default export"); return declaration.propertyName && declaration.propertyName.text; } }); @@ -129429,15 +129881,15 @@ var ts; (function (ts) { /** The classifier is used for syntactic highlighting in editors via the TSServer */ function createClassifier() { - var scanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ false); + var scanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ false); function getClassificationsForLine(text, lexState, syntacticClassifierAbsent) { return convertClassificationsToResult(getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent), text); } // If there is a syntactic classifier ('syntacticClassifierAbsent' is false), // we will be more conservative in order to avoid conflicting with the syntactic classifier. function getEncodedLexicalClassifications(text, lexState, syntacticClassifierAbsent) { - var token = 0 /* Unknown */; - var lastNonTriviaToken = 0 /* Unknown */; + var token = 0 /* SyntaxKind.Unknown */; + var lastNonTriviaToken = 0 /* SyntaxKind.Unknown */; // Just a stack of TemplateHeads and OpenCurlyBraces, used to perform rudimentary (inexact) // classification on template strings. Because of the context free nature of templates, // the only precise way to classify a template portion would be by propagating the stack across @@ -129463,10 +129915,10 @@ var ts; text = prefix + text; var offset = prefix.length; if (pushTemplate) { - templateStack.push(15 /* TemplateHead */); + templateStack.push(15 /* SyntaxKind.TemplateHead */); } scanner.setText(text); - var endOfLineState = 0 /* None */; + var endOfLineState = 0 /* EndOfLineState.None */; var spans = []; // We can run into an unfortunate interaction between the lexical and syntactic classifier // when the user is typing something generic. Consider the case where the user types: @@ -129502,68 +129954,68 @@ var ts; endOfLineState = end_1; } } - } while (token !== 1 /* EndOfFileToken */); + } while (token !== 1 /* SyntaxKind.EndOfFileToken */); function handleToken() { switch (token) { - case 43 /* SlashToken */: - case 68 /* SlashEqualsToken */: - if (!noRegexTable[lastNonTriviaToken] && scanner.reScanSlashToken() === 13 /* RegularExpressionLiteral */) { - token = 13 /* RegularExpressionLiteral */; + case 43 /* SyntaxKind.SlashToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + if (!noRegexTable[lastNonTriviaToken] && scanner.reScanSlashToken() === 13 /* SyntaxKind.RegularExpressionLiteral */) { + token = 13 /* SyntaxKind.RegularExpressionLiteral */; } break; - case 29 /* LessThanToken */: - if (lastNonTriviaToken === 79 /* Identifier */) { + case 29 /* SyntaxKind.LessThanToken */: + if (lastNonTriviaToken === 79 /* SyntaxKind.Identifier */) { // Could be the start of something generic. Keep track of that by bumping // up the current count of generic contexts we may be in. angleBracketStack++; } break; - case 31 /* GreaterThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: if (angleBracketStack > 0) { // If we think we're currently in something generic, then mark that that // generic entity is complete. angleBracketStack--; } break; - case 130 /* AnyKeyword */: - case 150 /* StringKeyword */: - case 147 /* NumberKeyword */: - case 133 /* BooleanKeyword */: - case 151 /* SymbolKeyword */: + case 130 /* SyntaxKind.AnyKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: if (angleBracketStack > 0 && !syntacticClassifierAbsent) { // If it looks like we're could be in something generic, don't classify this // as a keyword. We may just get overwritten by the syntactic classifier, // causing a noisy experience for the user. - token = 79 /* Identifier */; + token = 79 /* SyntaxKind.Identifier */; } break; - case 15 /* TemplateHead */: + case 15 /* SyntaxKind.TemplateHead */: templateStack.push(token); break; - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: // If we don't have anything on the template stack, // then we aren't trying to keep track of a previously scanned template head. if (templateStack.length > 0) { templateStack.push(token); } break; - case 19 /* CloseBraceToken */: + case 19 /* SyntaxKind.CloseBraceToken */: // If we don't have anything on the template stack, // then we aren't trying to keep track of a previously scanned template head. if (templateStack.length > 0) { var lastTemplateStackToken = ts.lastOrUndefined(templateStack); - if (lastTemplateStackToken === 15 /* TemplateHead */) { + if (lastTemplateStackToken === 15 /* SyntaxKind.TemplateHead */) { token = scanner.reScanTemplateToken(/* isTaggedTemplate */ false); // Only pop on a TemplateTail; a TemplateMiddle indicates there is more for us. - if (token === 17 /* TemplateTail */) { + if (token === 17 /* SyntaxKind.TemplateTail */) { templateStack.pop(); } else { - ts.Debug.assertEqual(token, 16 /* TemplateMiddle */, "Should have been a template middle."); + ts.Debug.assertEqual(token, 16 /* SyntaxKind.TemplateMiddle */, "Should have been a template middle."); } } else { - ts.Debug.assertEqual(lastTemplateStackToken, 18 /* OpenBraceToken */, "Should have been an open brace"); + ts.Debug.assertEqual(lastTemplateStackToken, 18 /* SyntaxKind.OpenBraceToken */, "Should have been an open brace"); templateStack.pop(); } } @@ -129572,15 +130024,15 @@ var ts; if (!ts.isKeyword(token)) { break; } - if (lastNonTriviaToken === 24 /* DotToken */) { - token = 79 /* Identifier */; + if (lastNonTriviaToken === 24 /* SyntaxKind.DotToken */) { + token = 79 /* SyntaxKind.Identifier */; } else if (ts.isKeyword(lastNonTriviaToken) && ts.isKeyword(token) && !canFollow(lastNonTriviaToken, token)) { // We have two keywords in a row. Only treat the second as a keyword if // it's a sequence that could legally occur in the language. Otherwise // treat it as an identifier. This way, if someone writes "private var" // we recognize that 'var' is actually an identifier here. - token = 79 /* Identifier */; + token = 79 /* SyntaxKind.Identifier */; } } } @@ -129594,59 +130046,59 @@ var ts; /// we have a series of divide operator. this list allows us to be more accurate by ruling out /// locations where a regexp cannot exist. var noRegexTable = ts.arrayToNumericMap([ - 79 /* Identifier */, - 10 /* StringLiteral */, - 8 /* NumericLiteral */, - 9 /* BigIntLiteral */, - 13 /* RegularExpressionLiteral */, - 108 /* ThisKeyword */, - 45 /* PlusPlusToken */, - 46 /* MinusMinusToken */, - 21 /* CloseParenToken */, - 23 /* CloseBracketToken */, - 19 /* CloseBraceToken */, - 110 /* TrueKeyword */, - 95 /* FalseKeyword */, + 79 /* SyntaxKind.Identifier */, + 10 /* SyntaxKind.StringLiteral */, + 8 /* SyntaxKind.NumericLiteral */, + 9 /* SyntaxKind.BigIntLiteral */, + 13 /* SyntaxKind.RegularExpressionLiteral */, + 108 /* SyntaxKind.ThisKeyword */, + 45 /* SyntaxKind.PlusPlusToken */, + 46 /* SyntaxKind.MinusMinusToken */, + 21 /* SyntaxKind.CloseParenToken */, + 23 /* SyntaxKind.CloseBracketToken */, + 19 /* SyntaxKind.CloseBraceToken */, + 110 /* SyntaxKind.TrueKeyword */, + 95 /* SyntaxKind.FalseKeyword */, ], function (token) { return token; }, function () { return true; }); function getNewEndOfLineState(scanner, token, lastOnTemplateStack) { switch (token) { - case 10 /* StringLiteral */: { + case 10 /* SyntaxKind.StringLiteral */: { // Check to see if we finished up on a multiline string literal. if (!scanner.isUnterminated()) return undefined; var tokenText = scanner.getTokenText(); var lastCharIndex = tokenText.length - 1; var numBackslashes = 0; - while (tokenText.charCodeAt(lastCharIndex - numBackslashes) === 92 /* backslash */) { + while (tokenText.charCodeAt(lastCharIndex - numBackslashes) === 92 /* CharacterCodes.backslash */) { numBackslashes++; } // If we have an odd number of backslashes, then the multiline string is unclosed if ((numBackslashes & 1) === 0) return undefined; - return tokenText.charCodeAt(0) === 34 /* doubleQuote */ ? 3 /* InDoubleQuoteStringLiteral */ : 2 /* InSingleQuoteStringLiteral */; + return tokenText.charCodeAt(0) === 34 /* CharacterCodes.doubleQuote */ ? 3 /* EndOfLineState.InDoubleQuoteStringLiteral */ : 2 /* EndOfLineState.InSingleQuoteStringLiteral */; } - case 3 /* MultiLineCommentTrivia */: + case 3 /* SyntaxKind.MultiLineCommentTrivia */: // Check to see if the multiline comment was unclosed. - return scanner.isUnterminated() ? 1 /* InMultiLineCommentTrivia */ : undefined; + return scanner.isUnterminated() ? 1 /* EndOfLineState.InMultiLineCommentTrivia */ : undefined; default: if (ts.isTemplateLiteralKind(token)) { if (!scanner.isUnterminated()) { return undefined; } switch (token) { - case 17 /* TemplateTail */: - return 5 /* InTemplateMiddleOrTail */; - case 14 /* NoSubstitutionTemplateLiteral */: - return 4 /* InTemplateHeadOrNoSubstitutionTemplate */; + case 17 /* SyntaxKind.TemplateTail */: + return 5 /* EndOfLineState.InTemplateMiddleOrTail */; + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + return 4 /* EndOfLineState.InTemplateHeadOrNoSubstitutionTemplate */; default: return ts.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #" + token); } } - return lastOnTemplateStack === 15 /* TemplateHead */ ? 6 /* InTemplateSubstitutionPosition */ : undefined; + return lastOnTemplateStack === 15 /* SyntaxKind.TemplateHead */ ? 6 /* EndOfLineState.InTemplateSubstitutionPosition */ : undefined; } } function pushEncodedClassification(start, end, offset, classification, result) { - if (classification === 8 /* whiteSpace */) { + if (classification === 8 /* ClassificationType.whiteSpace */) { // Don't bother with whitespace classifications. They're not needed. return; } @@ -129688,23 +130140,23 @@ var ts; } function convertClassification(type) { switch (type) { - case 1 /* comment */: return ts.TokenClass.Comment; - case 3 /* keyword */: return ts.TokenClass.Keyword; - case 4 /* numericLiteral */: return ts.TokenClass.NumberLiteral; - case 25 /* bigintLiteral */: return ts.TokenClass.BigIntLiteral; - case 5 /* operator */: return ts.TokenClass.Operator; - case 6 /* stringLiteral */: return ts.TokenClass.StringLiteral; - case 8 /* whiteSpace */: return ts.TokenClass.Whitespace; - case 10 /* punctuation */: return ts.TokenClass.Punctuation; - case 2 /* identifier */: - case 11 /* className */: - case 12 /* enumName */: - case 13 /* interfaceName */: - case 14 /* moduleName */: - case 15 /* typeParameterName */: - case 16 /* typeAliasName */: - case 9 /* text */: - case 17 /* parameterName */: + case 1 /* ClassificationType.comment */: return ts.TokenClass.Comment; + case 3 /* ClassificationType.keyword */: return ts.TokenClass.Keyword; + case 4 /* ClassificationType.numericLiteral */: return ts.TokenClass.NumberLiteral; + case 25 /* ClassificationType.bigintLiteral */: return ts.TokenClass.BigIntLiteral; + case 5 /* ClassificationType.operator */: return ts.TokenClass.Operator; + case 6 /* ClassificationType.stringLiteral */: return ts.TokenClass.StringLiteral; + case 8 /* ClassificationType.whiteSpace */: return ts.TokenClass.Whitespace; + case 10 /* ClassificationType.punctuation */: return ts.TokenClass.Punctuation; + case 2 /* ClassificationType.identifier */: + case 11 /* ClassificationType.className */: + case 12 /* ClassificationType.enumName */: + case 13 /* ClassificationType.interfaceName */: + case 14 /* ClassificationType.moduleName */: + case 15 /* ClassificationType.typeParameterName */: + case 16 /* ClassificationType.typeAliasName */: + case 9 /* ClassificationType.text */: + case 17 /* ClassificationType.parameterName */: return ts.TokenClass.Identifier; default: return undefined; // TODO: GH#18217 Debug.assertNever(type); @@ -129718,10 +130170,10 @@ var ts; return true; } switch (keyword2) { - case 136 /* GetKeyword */: - case 149 /* SetKeyword */: - case 134 /* ConstructorKeyword */: - case 124 /* StaticKeyword */: + case 136 /* SyntaxKind.GetKeyword */: + case 149 /* SyntaxKind.SetKeyword */: + case 134 /* SyntaxKind.ConstructorKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: return true; // Allow things like "public get", "public constructor" and "public static". default: return false; // Any other keyword following "public" is actually an identifier, not a real keyword. @@ -129734,19 +130186,19 @@ var ts; // If we're in a multiline comment, then prepend: /* // (and a newline). That way when we lex we'll think we're still in a multiline comment. switch (lexState) { - case 3 /* InDoubleQuoteStringLiteral */: + case 3 /* EndOfLineState.InDoubleQuoteStringLiteral */: return { prefix: "\"\\\n" }; - case 2 /* InSingleQuoteStringLiteral */: + case 2 /* EndOfLineState.InSingleQuoteStringLiteral */: return { prefix: "'\\\n" }; - case 1 /* InMultiLineCommentTrivia */: + case 1 /* EndOfLineState.InMultiLineCommentTrivia */: return { prefix: "/*\n" }; - case 4 /* InTemplateHeadOrNoSubstitutionTemplate */: + case 4 /* EndOfLineState.InTemplateHeadOrNoSubstitutionTemplate */: return { prefix: "`\n" }; - case 5 /* InTemplateMiddleOrTail */: + case 5 /* EndOfLineState.InTemplateMiddleOrTail */: return { prefix: "}\n", pushTemplate: true }; - case 6 /* InTemplateSubstitutionPosition */: + case 6 /* EndOfLineState.InTemplateSubstitutionPosition */: return { prefix: "", pushTemplate: true }; - case 0 /* None */: + case 0 /* EndOfLineState.None */: return { prefix: "" }; default: return ts.Debug.assertNever(lexState); @@ -129754,47 +130206,47 @@ var ts; } function isBinaryExpressionOperatorToken(token) { switch (token) { - case 41 /* AsteriskToken */: - case 43 /* SlashToken */: - case 44 /* PercentToken */: - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 47 /* LessThanLessThanToken */: - case 48 /* GreaterThanGreaterThanToken */: - case 49 /* GreaterThanGreaterThanGreaterThanToken */: - case 29 /* LessThanToken */: - case 31 /* GreaterThanToken */: - case 32 /* LessThanEqualsToken */: - case 33 /* GreaterThanEqualsToken */: - case 102 /* InstanceOfKeyword */: - case 101 /* InKeyword */: - case 127 /* AsKeyword */: - case 34 /* EqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: - case 36 /* EqualsEqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: - case 50 /* AmpersandToken */: - case 52 /* CaretToken */: - case 51 /* BarToken */: - case 55 /* AmpersandAmpersandToken */: - case 56 /* BarBarToken */: - case 74 /* BarEqualsToken */: - case 73 /* AmpersandEqualsToken */: - case 78 /* CaretEqualsToken */: - case 70 /* LessThanLessThanEqualsToken */: - case 71 /* GreaterThanGreaterThanEqualsToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 64 /* PlusEqualsToken */: - case 65 /* MinusEqualsToken */: - case 66 /* AsteriskEqualsToken */: - case 68 /* SlashEqualsToken */: - case 69 /* PercentEqualsToken */: - case 63 /* EqualsToken */: - case 27 /* CommaToken */: - case 60 /* QuestionQuestionToken */: - case 75 /* BarBarEqualsToken */: - case 76 /* AmpersandAmpersandEqualsToken */: - case 77 /* QuestionQuestionEqualsToken */: + case 41 /* SyntaxKind.AsteriskToken */: + case 43 /* SyntaxKind.SlashToken */: + case 44 /* SyntaxKind.PercentToken */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 47 /* SyntaxKind.LessThanLessThanToken */: + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: + case 29 /* SyntaxKind.LessThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 32 /* SyntaxKind.LessThanEqualsToken */: + case 33 /* SyntaxKind.GreaterThanEqualsToken */: + case 102 /* SyntaxKind.InstanceOfKeyword */: + case 101 /* SyntaxKind.InKeyword */: + case 127 /* SyntaxKind.AsKeyword */: + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: + case 50 /* SyntaxKind.AmpersandToken */: + case 52 /* SyntaxKind.CaretToken */: + case 51 /* SyntaxKind.BarToken */: + case 55 /* SyntaxKind.AmpersandAmpersandToken */: + case 56 /* SyntaxKind.BarBarToken */: + case 74 /* SyntaxKind.BarEqualsToken */: + case 73 /* SyntaxKind.AmpersandEqualsToken */: + case 78 /* SyntaxKind.CaretEqualsToken */: + case 70 /* SyntaxKind.LessThanLessThanEqualsToken */: + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: + case 64 /* SyntaxKind.PlusEqualsToken */: + case 65 /* SyntaxKind.MinusEqualsToken */: + case 66 /* SyntaxKind.AsteriskEqualsToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + case 69 /* SyntaxKind.PercentEqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 27 /* SyntaxKind.CommaToken */: + case 60 /* SyntaxKind.QuestionQuestionToken */: + case 75 /* SyntaxKind.BarBarEqualsToken */: + case 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */: + case 77 /* SyntaxKind.QuestionQuestionEqualsToken */: return true; default: return false; @@ -129802,12 +130254,12 @@ var ts; } function isPrefixUnaryExpressionOperatorToken(token) { switch (token) { - case 39 /* PlusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: - case 53 /* ExclamationToken */: - case 45 /* PlusPlusToken */: - case 46 /* MinusMinusToken */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: + case 53 /* SyntaxKind.ExclamationToken */: + case 45 /* SyntaxKind.PlusPlusToken */: + case 46 /* SyntaxKind.MinusMinusToken */: return true; default: return false; @@ -129815,36 +130267,36 @@ var ts; } function classFromKind(token) { if (ts.isKeyword(token)) { - return 3 /* keyword */; + return 3 /* ClassificationType.keyword */; } else if (isBinaryExpressionOperatorToken(token) || isPrefixUnaryExpressionOperatorToken(token)) { - return 5 /* operator */; + return 5 /* ClassificationType.operator */; } - else if (token >= 18 /* FirstPunctuation */ && token <= 78 /* LastPunctuation */) { - return 10 /* punctuation */; + else if (token >= 18 /* SyntaxKind.FirstPunctuation */ && token <= 78 /* SyntaxKind.LastPunctuation */) { + return 10 /* ClassificationType.punctuation */; } switch (token) { - case 8 /* NumericLiteral */: - return 4 /* numericLiteral */; - case 9 /* BigIntLiteral */: - return 25 /* bigintLiteral */; - case 10 /* StringLiteral */: - return 6 /* stringLiteral */; - case 13 /* RegularExpressionLiteral */: - return 7 /* regularExpressionLiteral */; - case 7 /* ConflictMarkerTrivia */: - case 3 /* MultiLineCommentTrivia */: - case 2 /* SingleLineCommentTrivia */: - return 1 /* comment */; - case 5 /* WhitespaceTrivia */: - case 4 /* NewLineTrivia */: - return 8 /* whiteSpace */; - case 79 /* Identifier */: + case 8 /* SyntaxKind.NumericLiteral */: + return 4 /* ClassificationType.numericLiteral */; + case 9 /* SyntaxKind.BigIntLiteral */: + return 25 /* ClassificationType.bigintLiteral */; + case 10 /* SyntaxKind.StringLiteral */: + return 6 /* ClassificationType.stringLiteral */; + case 13 /* SyntaxKind.RegularExpressionLiteral */: + return 7 /* ClassificationType.regularExpressionLiteral */; + case 7 /* SyntaxKind.ConflictMarkerTrivia */: + case 3 /* SyntaxKind.MultiLineCommentTrivia */: + case 2 /* SyntaxKind.SingleLineCommentTrivia */: + return 1 /* ClassificationType.comment */; + case 5 /* SyntaxKind.WhitespaceTrivia */: + case 4 /* SyntaxKind.NewLineTrivia */: + return 8 /* ClassificationType.whiteSpace */; + case 79 /* SyntaxKind.Identifier */: default: if (ts.isTemplateLiteralKind(token)) { - return 6 /* stringLiteral */; + return 6 /* ClassificationType.stringLiteral */; } - return 2 /* identifier */; + return 2 /* ClassificationType.identifier */; } } /* @internal */ @@ -129864,13 +130316,13 @@ var ts; // That means we're calling back into the host around every 1.2k of the file we process. // Lib.d.ts has similar numbers. switch (kind) { - case 261 /* ModuleDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 256 /* FunctionDeclaration */: - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } } @@ -129895,10 +130347,10 @@ var ts; } node.forEachChild(cb); }); - return { spans: spans, endOfLineState: 0 /* None */ }; + return { spans: spans, endOfLineState: 0 /* EndOfLineState.None */ }; function pushClassification(start, end, type) { var length = end - start; - ts.Debug.assert(length > 0, "Classification had non-positive length of " + length); + ts.Debug.assert(length > 0, "Classification had non-positive length of ".concat(length)); spans.push(start); spans.push(length); spans.push(type); @@ -129907,29 +130359,29 @@ var ts; ts.getEncodedSemanticClassifications = getEncodedSemanticClassifications; function classifySymbol(symbol, meaningAtPosition, checker) { var flags = symbol.getFlags(); - if ((flags & 2885600 /* Classifiable */) === 0 /* None */) { + if ((flags & 2885600 /* SymbolFlags.Classifiable */) === 0 /* SymbolFlags.None */) { return undefined; } - else if (flags & 32 /* Class */) { - return 11 /* className */; + else if (flags & 32 /* SymbolFlags.Class */) { + return 11 /* ClassificationType.className */; } - else if (flags & 384 /* Enum */) { - return 12 /* enumName */; + else if (flags & 384 /* SymbolFlags.Enum */) { + return 12 /* ClassificationType.enumName */; } - else if (flags & 524288 /* TypeAlias */) { - return 16 /* typeAliasName */; + else if (flags & 524288 /* SymbolFlags.TypeAlias */) { + return 16 /* ClassificationType.typeAliasName */; } - else if (flags & 1536 /* Module */) { + else if (flags & 1536 /* SymbolFlags.Module */) { // Only classify a module as such if // - It appears in a namespace context. // - There exists a module declaration which actually impacts the value side. - return meaningAtPosition & 4 /* Namespace */ || meaningAtPosition & 1 /* Value */ && hasValueSideModule(symbol) ? 14 /* moduleName */ : undefined; + return meaningAtPosition & 4 /* SemanticMeaning.Namespace */ || meaningAtPosition & 1 /* SemanticMeaning.Value */ && hasValueSideModule(symbol) ? 14 /* ClassificationType.moduleName */ : undefined; } - else if (flags & 2097152 /* Alias */) { + else if (flags & 2097152 /* SymbolFlags.Alias */) { return classifySymbol(checker.getAliasedSymbol(symbol), meaningAtPosition, checker); } - else if (meaningAtPosition & 2 /* Type */) { - return flags & 64 /* Interface */ ? 13 /* interfaceName */ : flags & 262144 /* TypeParameter */ ? 15 /* typeParameterName */ : undefined; + else if (meaningAtPosition & 2 /* SemanticMeaning.Type */) { + return flags & 64 /* SymbolFlags.Interface */ ? 13 /* ClassificationType.interfaceName */ : flags & 262144 /* SymbolFlags.TypeParameter */ ? 15 /* ClassificationType.typeParameterName */ : undefined; } else { return undefined; @@ -129938,35 +130390,35 @@ var ts; /** Returns true if there exists a module that introduces entities on the value side. */ function hasValueSideModule(symbol) { return ts.some(symbol.declarations, function (declaration) { - return ts.isModuleDeclaration(declaration) && ts.getModuleInstanceState(declaration) === 1 /* Instantiated */; + return ts.isModuleDeclaration(declaration) && ts.getModuleInstanceState(declaration) === 1 /* ModuleInstanceState.Instantiated */; }); } function getClassificationTypeName(type) { switch (type) { - case 1 /* comment */: return "comment" /* comment */; - case 2 /* identifier */: return "identifier" /* identifier */; - case 3 /* keyword */: return "keyword" /* keyword */; - case 4 /* numericLiteral */: return "number" /* numericLiteral */; - case 25 /* bigintLiteral */: return "bigint" /* bigintLiteral */; - case 5 /* operator */: return "operator" /* operator */; - case 6 /* stringLiteral */: return "string" /* stringLiteral */; - case 8 /* whiteSpace */: return "whitespace" /* whiteSpace */; - case 9 /* text */: return "text" /* text */; - case 10 /* punctuation */: return "punctuation" /* punctuation */; - case 11 /* className */: return "class name" /* className */; - case 12 /* enumName */: return "enum name" /* enumName */; - case 13 /* interfaceName */: return "interface name" /* interfaceName */; - case 14 /* moduleName */: return "module name" /* moduleName */; - case 15 /* typeParameterName */: return "type parameter name" /* typeParameterName */; - case 16 /* typeAliasName */: return "type alias name" /* typeAliasName */; - case 17 /* parameterName */: return "parameter name" /* parameterName */; - case 18 /* docCommentTagName */: return "doc comment tag name" /* docCommentTagName */; - case 19 /* jsxOpenTagName */: return "jsx open tag name" /* jsxOpenTagName */; - case 20 /* jsxCloseTagName */: return "jsx close tag name" /* jsxCloseTagName */; - case 21 /* jsxSelfClosingTagName */: return "jsx self closing tag name" /* jsxSelfClosingTagName */; - case 22 /* jsxAttribute */: return "jsx attribute" /* jsxAttribute */; - case 23 /* jsxText */: return "jsx text" /* jsxText */; - case 24 /* jsxAttributeStringLiteralValue */: return "jsx attribute string literal value" /* jsxAttributeStringLiteralValue */; + case 1 /* ClassificationType.comment */: return "comment" /* ClassificationTypeNames.comment */; + case 2 /* ClassificationType.identifier */: return "identifier" /* ClassificationTypeNames.identifier */; + case 3 /* ClassificationType.keyword */: return "keyword" /* ClassificationTypeNames.keyword */; + case 4 /* ClassificationType.numericLiteral */: return "number" /* ClassificationTypeNames.numericLiteral */; + case 25 /* ClassificationType.bigintLiteral */: return "bigint" /* ClassificationTypeNames.bigintLiteral */; + case 5 /* ClassificationType.operator */: return "operator" /* ClassificationTypeNames.operator */; + case 6 /* ClassificationType.stringLiteral */: return "string" /* ClassificationTypeNames.stringLiteral */; + case 8 /* ClassificationType.whiteSpace */: return "whitespace" /* ClassificationTypeNames.whiteSpace */; + case 9 /* ClassificationType.text */: return "text" /* ClassificationTypeNames.text */; + case 10 /* ClassificationType.punctuation */: return "punctuation" /* ClassificationTypeNames.punctuation */; + case 11 /* ClassificationType.className */: return "class name" /* ClassificationTypeNames.className */; + case 12 /* ClassificationType.enumName */: return "enum name" /* ClassificationTypeNames.enumName */; + case 13 /* ClassificationType.interfaceName */: return "interface name" /* ClassificationTypeNames.interfaceName */; + case 14 /* ClassificationType.moduleName */: return "module name" /* ClassificationTypeNames.moduleName */; + case 15 /* ClassificationType.typeParameterName */: return "type parameter name" /* ClassificationTypeNames.typeParameterName */; + case 16 /* ClassificationType.typeAliasName */: return "type alias name" /* ClassificationTypeNames.typeAliasName */; + case 17 /* ClassificationType.parameterName */: return "parameter name" /* ClassificationTypeNames.parameterName */; + case 18 /* ClassificationType.docCommentTagName */: return "doc comment tag name" /* ClassificationTypeNames.docCommentTagName */; + case 19 /* ClassificationType.jsxOpenTagName */: return "jsx open tag name" /* ClassificationTypeNames.jsxOpenTagName */; + case 20 /* ClassificationType.jsxCloseTagName */: return "jsx close tag name" /* ClassificationTypeNames.jsxCloseTagName */; + case 21 /* ClassificationType.jsxSelfClosingTagName */: return "jsx self closing tag name" /* ClassificationTypeNames.jsxSelfClosingTagName */; + case 22 /* ClassificationType.jsxAttribute */: return "jsx attribute" /* ClassificationTypeNames.jsxAttribute */; + case 23 /* ClassificationType.jsxText */: return "jsx text" /* ClassificationTypeNames.jsxText */; + case 24 /* ClassificationType.jsxAttributeStringLiteralValue */: return "jsx attribute string literal value" /* ClassificationTypeNames.jsxAttributeStringLiteralValue */; default: return undefined; // TODO: GH#18217 throw Debug.assertNever(type); } } @@ -129992,11 +130444,11 @@ var ts; var spanStart = span.start; var spanLength = span.length; // Make a scanner we can get trivia from. - var triviaScanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ false, sourceFile.languageVariant, sourceFile.text); - var mergeConflictScanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ false, sourceFile.languageVariant, sourceFile.text); + var triviaScanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ false, sourceFile.languageVariant, sourceFile.text); + var mergeConflictScanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ false, sourceFile.languageVariant, sourceFile.text); var result = []; processElement(sourceFile); - return { spans: result, endOfLineState: 0 /* None */ }; + return { spans: result, endOfLineState: 0 /* EndOfLineState.None */ }; function pushClassification(start, length, type) { result.push(start); result.push(length); @@ -130018,12 +130470,12 @@ var ts; return start; } switch (kind) { - case 4 /* NewLineTrivia */: - case 5 /* WhitespaceTrivia */: + case 4 /* SyntaxKind.NewLineTrivia */: + case 5 /* SyntaxKind.WhitespaceTrivia */: // Don't bother with newlines/whitespace. continue; - case 2 /* SingleLineCommentTrivia */: - case 3 /* MultiLineCommentTrivia */: + case 2 /* SyntaxKind.SingleLineCommentTrivia */: + case 3 /* SyntaxKind.MultiLineCommentTrivia */: // Only bother with the trivia if it at least intersects the span of interest. classifyComment(token, kind, start, width); // Classifying a comment might cause us to reuse the trivia scanner @@ -130031,21 +130483,21 @@ var ts; // sure we set the scanner position back to where it needs to be. triviaScanner.setTextPos(end); continue; - case 7 /* ConflictMarkerTrivia */: + case 7 /* SyntaxKind.ConflictMarkerTrivia */: var text = sourceFile.text; var ch = text.charCodeAt(start); // for the <<<<<<< and >>>>>>> markers, we just add them in as comments // in the classification stream. - if (ch === 60 /* lessThan */ || ch === 62 /* greaterThan */) { - pushClassification(start, width, 1 /* comment */); + if (ch === 60 /* CharacterCodes.lessThan */ || ch === 62 /* CharacterCodes.greaterThan */) { + pushClassification(start, width, 1 /* ClassificationType.comment */); continue; } // for the ||||||| and ======== markers, add a comment for the first line, // and then lex all subsequent lines up until the end of the conflict marker. - ts.Debug.assert(ch === 124 /* bar */ || ch === 61 /* equals */); + ts.Debug.assert(ch === 124 /* CharacterCodes.bar */ || ch === 61 /* CharacterCodes.equals */); classifyDisabledMergeCode(text, start, end); break; - case 6 /* ShebangTrivia */: + case 6 /* SyntaxKind.ShebangTrivia */: // TODO: Maybe we should classify these. break; default: @@ -130054,7 +130506,7 @@ var ts; } } function classifyComment(token, kind, start, width) { - if (kind === 3 /* MultiLineCommentTrivia */) { + if (kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { // See if this is a doc comment. If so, we'll classify certain portions of it // specially. var docCommentAndDiagnostics = ts.parseIsolatedJSDocComment(sourceFile.text, start, width); @@ -130065,7 +130517,7 @@ var ts; return; } } - else if (kind === 2 /* SingleLineCommentTrivia */) { + else if (kind === 2 /* SyntaxKind.SingleLineCommentTrivia */) { if (tryClassifyTripleSlashComment(start, width)) { return; } @@ -130074,7 +130526,7 @@ var ts; pushCommentRange(start, width); } function pushCommentRange(start, width) { - pushClassification(start, width, 1 /* comment */); + pushClassification(start, width, 1 /* ClassificationType.comment */); } function classifyJSDocComment(docComment) { var _a, _b, _c, _d, _e, _f, _g; @@ -130087,51 +130539,51 @@ var ts; if (tag.pos !== pos) { pushCommentRange(pos, tag.pos - pos); } - pushClassification(tag.pos, 1, 10 /* punctuation */); // "@" - pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, 18 /* docCommentTagName */); // e.g. "param" + pushClassification(tag.pos, 1, 10 /* ClassificationType.punctuation */); // "@" + pushClassification(tag.tagName.pos, tag.tagName.end - tag.tagName.pos, 18 /* ClassificationType.docCommentTagName */); // e.g. "param" pos = tag.tagName.end; var commentStart = tag.tagName.end; switch (tag.kind) { - case 340 /* JSDocParameterTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: var param = tag; processJSDocParameterTag(param); commentStart = param.isNameFirst && ((_a = param.typeExpression) === null || _a === void 0 ? void 0 : _a.end) || param.name.end; break; - case 347 /* JSDocPropertyTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: var prop = tag; commentStart = prop.isNameFirst && ((_b = prop.typeExpression) === null || _b === void 0 ? void 0 : _b.end) || prop.name.end; break; - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: processJSDocTemplateTag(tag); pos = tag.end; commentStart = tag.typeParameters.end; break; - case 345 /* JSDocTypedefTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: var type = tag; - commentStart = ((_c = type.typeExpression) === null || _c === void 0 ? void 0 : _c.kind) === 309 /* JSDocTypeExpression */ && ((_d = type.fullName) === null || _d === void 0 ? void 0 : _d.end) || ((_e = type.typeExpression) === null || _e === void 0 ? void 0 : _e.end) || commentStart; + commentStart = ((_c = type.typeExpression) === null || _c === void 0 ? void 0 : _c.kind) === 309 /* SyntaxKind.JSDocTypeExpression */ && ((_d = type.fullName) === null || _d === void 0 ? void 0 : _d.end) || ((_e = type.typeExpression) === null || _e === void 0 ? void 0 : _e.end) || commentStart; break; - case 338 /* JSDocCallbackTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: commentStart = tag.typeExpression.end; break; - case 343 /* JSDocTypeTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: processElement(tag.typeExpression); pos = tag.end; commentStart = tag.typeExpression.end; break; - case 342 /* JSDocThisTag */: - case 339 /* JSDocEnumTag */: + case 342 /* SyntaxKind.JSDocThisTag */: + case 339 /* SyntaxKind.JSDocEnumTag */: commentStart = tag.typeExpression.end; break; - case 341 /* JSDocReturnTag */: + case 341 /* SyntaxKind.JSDocReturnTag */: processElement(tag.typeExpression); pos = tag.end; commentStart = ((_f = tag.typeExpression) === null || _f === void 0 ? void 0 : _f.end) || commentStart; break; - case 346 /* JSDocSeeTag */: + case 346 /* SyntaxKind.JSDocSeeTag */: commentStart = ((_g = tag.name) === null || _g === void 0 ? void 0 : _g.end) || commentStart; break; - case 328 /* JSDocAugmentsTag */: - case 329 /* JSDocImplementsTag */: + case 328 /* SyntaxKind.JSDocAugmentsTag */: + case 329 /* SyntaxKind.JSDocImplementsTag */: commentStart = tag.class.end; break; } @@ -130150,7 +130602,7 @@ var ts; function processJSDocParameterTag(tag) { if (tag.isNameFirst) { pushCommentRange(pos, tag.name.pos - pos); - pushClassification(tag.name.pos, tag.name.end - tag.name.pos, 17 /* parameterName */); + pushClassification(tag.name.pos, tag.name.end - tag.name.pos, 17 /* ClassificationType.parameterName */); pos = tag.name.end; } if (tag.typeExpression) { @@ -130160,7 +130612,7 @@ var ts; } if (!tag.isNameFirst) { pushCommentRange(pos, tag.name.pos - pos); - pushClassification(tag.name.pos, tag.name.end - tag.name.pos, 17 /* parameterName */); + pushClassification(tag.name.pos, tag.name.end - tag.name.pos, 17 /* ClassificationType.parameterName */); pos = tag.name.end; } } @@ -130185,9 +130637,9 @@ var ts; var pos = start; pushCommentRange(pos, match[1].length); // /// pos += match[1].length; - pushClassification(pos, match[2].length, 10 /* punctuation */); // < + pushClassification(pos, match[2].length, 10 /* ClassificationType.punctuation */); // < pos += match[2].length; - pushClassification(pos, match[3].length, 21 /* jsxSelfClosingTagName */); // element name + pushClassification(pos, match[3].length, 21 /* ClassificationType.jsxSelfClosingTagName */); // element name pos += match[3].length; var attrText = match[4]; var attrPos = pos; @@ -130201,19 +130653,19 @@ var ts; pushCommentRange(attrPos, newAttrPos - attrPos); attrPos = newAttrPos; } - pushClassification(attrPos, attrMatch[2].length, 22 /* jsxAttribute */); // attribute name + pushClassification(attrPos, attrMatch[2].length, 22 /* ClassificationType.jsxAttribute */); // attribute name attrPos += attrMatch[2].length; if (attrMatch[3].length) { pushCommentRange(attrPos, attrMatch[3].length); // whitespace attrPos += attrMatch[3].length; } - pushClassification(attrPos, attrMatch[4].length, 5 /* operator */); // = + pushClassification(attrPos, attrMatch[4].length, 5 /* ClassificationType.operator */); // = attrPos += attrMatch[4].length; if (attrMatch[5].length) { pushCommentRange(attrPos, attrMatch[5].length); // whitespace attrPos += attrMatch[5].length; } - pushClassification(attrPos, attrMatch[6].length, 24 /* jsxAttributeStringLiteralValue */); // attribute value + pushClassification(attrPos, attrMatch[6].length, 24 /* ClassificationType.jsxAttributeStringLiteralValue */); // attribute value attrPos += attrMatch[6].length; } pos += match[4].length; @@ -130221,7 +130673,7 @@ var ts; pushCommentRange(attrPos, pos - attrPos); } if (match[5]) { - pushClassification(pos, match[5].length, 10 /* punctuation */); // /> + pushClassification(pos, match[5].length, 10 /* ClassificationType.punctuation */); // /> pos += match[5].length; } var end = start + width; @@ -130245,7 +130697,7 @@ var ts; break; } } - pushClassification(start, i - start, 1 /* comment */); + pushClassification(start, i - start, 1 /* ClassificationType.comment */); mergeConflictScanner.setTextPos(i); while (mergeConflictScanner.getTextPos() < end) { classifyDisabledCodeToken(); @@ -130272,10 +130724,10 @@ var ts; return true; } var classifiedElementName = tryClassifyJsxElementName(node); - if (!ts.isToken(node) && node.kind !== 11 /* JsxText */ && classifiedElementName === undefined) { + if (!ts.isToken(node) && node.kind !== 11 /* SyntaxKind.JsxText */ && classifiedElementName === undefined) { return false; } - var tokenStart = node.kind === 11 /* JsxText */ ? node.pos : classifyLeadingTriviaAndGetTokenStart(node); + var tokenStart = node.kind === 11 /* SyntaxKind.JsxText */ ? node.pos : classifyLeadingTriviaAndGetTokenStart(node); var tokenWidth = node.end - tokenStart; ts.Debug.assert(tokenWidth >= 0); if (tokenWidth > 0) { @@ -130288,24 +130740,24 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 280 /* JsxOpeningElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: if (token.parent.tagName === token) { - return 19 /* jsxOpenTagName */; + return 19 /* ClassificationType.jsxOpenTagName */; } break; - case 281 /* JsxClosingElement */: + case 281 /* SyntaxKind.JsxClosingElement */: if (token.parent.tagName === token) { - return 20 /* jsxCloseTagName */; + return 20 /* ClassificationType.jsxCloseTagName */; } break; - case 279 /* JsxSelfClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: if (token.parent.tagName === token) { - return 21 /* jsxSelfClosingTagName */; + return 21 /* ClassificationType.jsxSelfClosingTagName */; } break; - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: if (token.parent.name === token) { - return 22 /* jsxAttribute */; + return 22 /* ClassificationType.jsxAttribute */; } break; } @@ -130316,97 +130768,97 @@ var ts; // classify based on that instead. function classifyTokenType(tokenKind, token) { if (ts.isKeyword(tokenKind)) { - return 3 /* keyword */; + return 3 /* ClassificationType.keyword */; } // Special case `<` and `>`: If they appear in a generic context they are punctuation, // not operators. - if (tokenKind === 29 /* LessThanToken */ || tokenKind === 31 /* GreaterThanToken */) { + if (tokenKind === 29 /* SyntaxKind.LessThanToken */ || tokenKind === 31 /* SyntaxKind.GreaterThanToken */) { // If the node owning the token has a type argument list or type parameter list, then // we can effectively assume that a '<' and '>' belong to those lists. if (token && ts.getTypeArgumentOrTypeParameterList(token.parent)) { - return 10 /* punctuation */; + return 10 /* ClassificationType.punctuation */; } } if (ts.isPunctuation(tokenKind)) { if (token) { var parent = token.parent; - if (tokenKind === 63 /* EqualsToken */) { + if (tokenKind === 63 /* SyntaxKind.EqualsToken */) { // the '=' in a variable declaration is special cased here. - if (parent.kind === 254 /* VariableDeclaration */ || - parent.kind === 167 /* PropertyDeclaration */ || - parent.kind === 164 /* Parameter */ || - parent.kind === 285 /* JsxAttribute */) { - return 5 /* operator */; + if (parent.kind === 254 /* SyntaxKind.VariableDeclaration */ || + parent.kind === 167 /* SyntaxKind.PropertyDeclaration */ || + parent.kind === 164 /* SyntaxKind.Parameter */ || + parent.kind === 285 /* SyntaxKind.JsxAttribute */) { + return 5 /* ClassificationType.operator */; } } - if (parent.kind === 221 /* BinaryExpression */ || - parent.kind === 219 /* PrefixUnaryExpression */ || - parent.kind === 220 /* PostfixUnaryExpression */ || - parent.kind === 222 /* ConditionalExpression */) { - return 5 /* operator */; + if (parent.kind === 221 /* SyntaxKind.BinaryExpression */ || + parent.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ || + parent.kind === 220 /* SyntaxKind.PostfixUnaryExpression */ || + parent.kind === 222 /* SyntaxKind.ConditionalExpression */) { + return 5 /* ClassificationType.operator */; } } - return 10 /* punctuation */; + return 10 /* ClassificationType.punctuation */; } - else if (tokenKind === 8 /* NumericLiteral */) { - return 4 /* numericLiteral */; + else if (tokenKind === 8 /* SyntaxKind.NumericLiteral */) { + return 4 /* ClassificationType.numericLiteral */; } - else if (tokenKind === 9 /* BigIntLiteral */) { - return 25 /* bigintLiteral */; + else if (tokenKind === 9 /* SyntaxKind.BigIntLiteral */) { + return 25 /* ClassificationType.bigintLiteral */; } - else if (tokenKind === 10 /* StringLiteral */) { - return token && token.parent.kind === 285 /* JsxAttribute */ ? 24 /* jsxAttributeStringLiteralValue */ : 6 /* stringLiteral */; + else if (tokenKind === 10 /* SyntaxKind.StringLiteral */) { + return token && token.parent.kind === 285 /* SyntaxKind.JsxAttribute */ ? 24 /* ClassificationType.jsxAttributeStringLiteralValue */ : 6 /* ClassificationType.stringLiteral */; } - else if (tokenKind === 13 /* RegularExpressionLiteral */) { + else if (tokenKind === 13 /* SyntaxKind.RegularExpressionLiteral */) { // TODO: we should get another classification type for these literals. - return 6 /* stringLiteral */; + return 6 /* ClassificationType.stringLiteral */; } else if (ts.isTemplateLiteralKind(tokenKind)) { // TODO (drosen): we should *also* get another classification type for these literals. - return 6 /* stringLiteral */; + return 6 /* ClassificationType.stringLiteral */; } - else if (tokenKind === 11 /* JsxText */) { - return 23 /* jsxText */; + else if (tokenKind === 11 /* SyntaxKind.JsxText */) { + return 23 /* ClassificationType.jsxText */; } - else if (tokenKind === 79 /* Identifier */) { + else if (tokenKind === 79 /* SyntaxKind.Identifier */) { if (token) { switch (token.parent.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: if (token.parent.name === token) { - return 11 /* className */; + return 11 /* ClassificationType.className */; } return; - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: if (token.parent.name === token) { - return 15 /* typeParameterName */; + return 15 /* ClassificationType.typeParameterName */; } return; - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: if (token.parent.name === token) { - return 13 /* interfaceName */; + return 13 /* ClassificationType.interfaceName */; } return; - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: if (token.parent.name === token) { - return 12 /* enumName */; + return 12 /* ClassificationType.enumName */; } return; - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: if (token.parent.name === token) { - return 14 /* moduleName */; + return 14 /* ClassificationType.moduleName */; } return; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: if (token.parent.name === token) { - return ts.isThisIdentifier(token) ? 3 /* keyword */ : 17 /* parameterName */; + return ts.isThisIdentifier(token) ? 3 /* ClassificationType.keyword */ : 17 /* ClassificationType.parameterName */; } return; } if (ts.isConstTypeReference(token.parent)) { - return 3 /* keyword */; + return 3 /* ClassificationType.keyword */; } } - return 2 /* identifier */; + return 2 /* ClassificationType.identifier */; } } function processElement(element) { @@ -130482,14 +130934,14 @@ var ts; function getEncodedSemanticClassifications(program, cancellationToken, sourceFile, span) { return { spans: getSemanticTokens(program, sourceFile, span, cancellationToken), - endOfLineState: 0 /* None */ + endOfLineState: 0 /* EndOfLineState.None */ }; } v2020.getEncodedSemanticClassifications = getEncodedSemanticClassifications; function getSemanticTokens(program, sourceFile, span, cancellationToken) { var resultTokens = []; var collector = function (node, typeIdx, modifierSet) { - resultTokens.push(node.getStart(sourceFile), node.getWidth(sourceFile), ((typeIdx + 1) << 8 /* typeOffset */) + modifierSet); + resultTokens.push(node.getStart(sourceFile), node.getWidth(sourceFile), ((typeIdx + 1) << 8 /* TokenEncodingConsts.typeOffset */) + modifierSet); }; if (program && sourceFile) { collectTokens(program, sourceFile, span, collector, cancellationToken); @@ -130501,13 +130953,13 @@ var ts; var inJSXElement = false; function visit(node) { switch (node.kind) { - case 261 /* ModuleDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 256 /* FunctionDeclaration */: - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } if (!node || !ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth()) || node.getFullWidth() === 0) { @@ -130523,7 +130975,7 @@ var ts; if (ts.isIdentifier(node) && !inJSXElement && !inImportClause(node) && !ts.isInfinityOrNaNString(node.escapedText)) { var symbol = typeChecker.getSymbolAtLocation(node); if (symbol) { - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { symbol = typeChecker.getAliasedSymbol(symbol); } var typeIdx = classifySymbol(symbol, ts.getMeaningFromLocation(node)); @@ -130532,38 +130984,38 @@ var ts; if (node.parent) { var parentIsDeclaration = (ts.isBindingElement(node.parent) || tokenFromDeclarationMapping.get(node.parent.kind) === typeIdx); if (parentIsDeclaration && node.parent.name === node) { - modifierSet = 1 << 0 /* declaration */; + modifierSet = 1 << 0 /* TokenModifier.declaration */; } } // property declaration in constructor - if (typeIdx === 6 /* parameter */ && isRightSideOfQualifiedNameOrPropertyAccess(node)) { - typeIdx = 9 /* property */; + if (typeIdx === 6 /* TokenType.parameter */ && isRightSideOfQualifiedNameOrPropertyAccess(node)) { + typeIdx = 9 /* TokenType.property */; } typeIdx = reclassifyByType(typeChecker, node, typeIdx); var decl = symbol.valueDeclaration; if (decl) { var modifiers = ts.getCombinedModifierFlags(decl); var nodeFlags = ts.getCombinedNodeFlags(decl); - if (modifiers & 32 /* Static */) { - modifierSet |= 1 << 1 /* static */; + if (modifiers & 32 /* ModifierFlags.Static */) { + modifierSet |= 1 << 1 /* TokenModifier.static */; } - if (modifiers & 256 /* Async */) { - modifierSet |= 1 << 2 /* async */; + if (modifiers & 256 /* ModifierFlags.Async */) { + modifierSet |= 1 << 2 /* TokenModifier.async */; } - if (typeIdx !== 0 /* class */ && typeIdx !== 2 /* interface */) { - if ((modifiers & 64 /* Readonly */) || (nodeFlags & 2 /* Const */) || (symbol.getFlags() & 8 /* EnumMember */)) { - modifierSet |= 1 << 3 /* readonly */; + if (typeIdx !== 0 /* TokenType.class */ && typeIdx !== 2 /* TokenType.interface */) { + if ((modifiers & 64 /* ModifierFlags.Readonly */) || (nodeFlags & 2 /* NodeFlags.Const */) || (symbol.getFlags() & 8 /* SymbolFlags.EnumMember */)) { + modifierSet |= 1 << 3 /* TokenModifier.readonly */; } } - if ((typeIdx === 7 /* variable */ || typeIdx === 10 /* function */) && isLocalDeclaration(decl, sourceFile)) { - modifierSet |= 1 << 5 /* local */; + if ((typeIdx === 7 /* TokenType.variable */ || typeIdx === 10 /* TokenType.function */) && isLocalDeclaration(decl, sourceFile)) { + modifierSet |= 1 << 5 /* TokenModifier.local */; } if (program.isSourceFileDefaultLibrary(decl.getSourceFile())) { - modifierSet |= 1 << 4 /* defaultLibrary */; + modifierSet |= 1 << 4 /* TokenModifier.defaultLibrary */; } } else if (symbol.declarations && symbol.declarations.some(function (d) { return program.isSourceFileDefaultLibrary(d.getSourceFile()); })) { - modifierSet |= 1 << 4 /* defaultLibrary */; + modifierSet |= 1 << 4 /* TokenModifier.defaultLibrary */; } collector(node, typeIdx, modifierSet); } @@ -130576,22 +131028,22 @@ var ts; } function classifySymbol(symbol, meaning) { var flags = symbol.getFlags(); - if (flags & 32 /* Class */) { - return 0 /* class */; + if (flags & 32 /* SymbolFlags.Class */) { + return 0 /* TokenType.class */; } - else if (flags & 384 /* Enum */) { - return 1 /* enum */; + else if (flags & 384 /* SymbolFlags.Enum */) { + return 1 /* TokenType.enum */; } - else if (flags & 524288 /* TypeAlias */) { - return 5 /* type */; + else if (flags & 524288 /* SymbolFlags.TypeAlias */) { + return 5 /* TokenType.type */; } - else if (flags & 64 /* Interface */) { - if (meaning & 2 /* Type */) { - return 2 /* interface */; + else if (flags & 64 /* SymbolFlags.Interface */) { + if (meaning & 2 /* SemanticMeaning.Type */) { + return 2 /* TokenType.interface */; } } - else if (flags & 262144 /* TypeParameter */) { - return 4 /* typeParameter */; + else if (flags & 262144 /* SymbolFlags.TypeParameter */) { + return 4 /* TokenType.typeParameter */; } var decl = symbol.valueDeclaration || symbol.declarations && symbol.declarations[0]; if (decl && ts.isBindingElement(decl)) { @@ -130601,17 +131053,17 @@ var ts; } function reclassifyByType(typeChecker, node, typeIdx) { // type based classifications - if (typeIdx === 7 /* variable */ || typeIdx === 9 /* property */ || typeIdx === 6 /* parameter */) { + if (typeIdx === 7 /* TokenType.variable */ || typeIdx === 9 /* TokenType.property */ || typeIdx === 6 /* TokenType.parameter */) { var type_1 = typeChecker.getTypeAtLocation(node); if (type_1) { var test = function (condition) { return condition(type_1) || type_1.isUnion() && type_1.types.some(condition); }; - if (typeIdx !== 6 /* parameter */ && test(function (t) { return t.getConstructSignatures().length > 0; })) { - return 0 /* class */; + if (typeIdx !== 6 /* TokenType.parameter */ && test(function (t) { return t.getConstructSignatures().length > 0; })) { + return 0 /* TokenType.class */; } if (test(function (t) { return t.getCallSignatures().length > 0; }) && !test(function (t) { return t.getProperties().length > 0; }) || isExpressionInCallExpression(node)) { - return typeIdx === 9 /* property */ ? 11 /* member */ : 10 /* function */; + return typeIdx === 9 /* TokenType.property */ ? 11 /* TokenType.member */ : 10 /* TokenType.function */; } } } @@ -130653,25 +131105,25 @@ var ts; return (ts.isQualifiedName(node.parent) && node.parent.right === node) || (ts.isPropertyAccessExpression(node.parent) && node.parent.name === node); } var tokenFromDeclarationMapping = new ts.Map([ - [254 /* VariableDeclaration */, 7 /* variable */], - [164 /* Parameter */, 6 /* parameter */], - [167 /* PropertyDeclaration */, 9 /* property */], - [261 /* ModuleDeclaration */, 3 /* namespace */], - [260 /* EnumDeclaration */, 1 /* enum */], - [299 /* EnumMember */, 8 /* enumMember */], - [257 /* ClassDeclaration */, 0 /* class */], - [169 /* MethodDeclaration */, 11 /* member */], - [256 /* FunctionDeclaration */, 10 /* function */], - [213 /* FunctionExpression */, 10 /* function */], - [168 /* MethodSignature */, 11 /* member */], - [172 /* GetAccessor */, 9 /* property */], - [173 /* SetAccessor */, 9 /* property */], - [166 /* PropertySignature */, 9 /* property */], - [258 /* InterfaceDeclaration */, 2 /* interface */], - [259 /* TypeAliasDeclaration */, 5 /* type */], - [163 /* TypeParameter */, 4 /* typeParameter */], - [296 /* PropertyAssignment */, 9 /* property */], - [297 /* ShorthandPropertyAssignment */, 9 /* property */] + [254 /* SyntaxKind.VariableDeclaration */, 7 /* TokenType.variable */], + [164 /* SyntaxKind.Parameter */, 6 /* TokenType.parameter */], + [167 /* SyntaxKind.PropertyDeclaration */, 9 /* TokenType.property */], + [261 /* SyntaxKind.ModuleDeclaration */, 3 /* TokenType.namespace */], + [260 /* SyntaxKind.EnumDeclaration */, 1 /* TokenType.enum */], + [299 /* SyntaxKind.EnumMember */, 8 /* TokenType.enumMember */], + [257 /* SyntaxKind.ClassDeclaration */, 0 /* TokenType.class */], + [169 /* SyntaxKind.MethodDeclaration */, 11 /* TokenType.member */], + [256 /* SyntaxKind.FunctionDeclaration */, 10 /* TokenType.function */], + [213 /* SyntaxKind.FunctionExpression */, 10 /* TokenType.function */], + [168 /* SyntaxKind.MethodSignature */, 11 /* TokenType.member */], + [172 /* SyntaxKind.GetAccessor */, 9 /* TokenType.property */], + [173 /* SyntaxKind.SetAccessor */, 9 /* TokenType.property */], + [166 /* SyntaxKind.PropertySignature */, 9 /* TokenType.property */], + [258 /* SyntaxKind.InterfaceDeclaration */, 2 /* TokenType.interface */], + [259 /* SyntaxKind.TypeAliasDeclaration */, 5 /* TokenType.type */], + [163 /* SyntaxKind.TypeParameter */, 4 /* TokenType.typeParameter */], + [296 /* SyntaxKind.PropertyAssignment */, 9 /* TokenType.property */], + [297 /* SyntaxKind.ShorthandPropertyAssignment */, 9 /* TokenType.property */] ]); })(v2020 = classifier.v2020 || (classifier.v2020 = {})); })(classifier = ts.classifier || (ts.classifier = {})); @@ -130702,19 +131154,19 @@ var ts; } var optionalReplacementSpan = ts.createTextSpanFromStringLiteralLikeContent(contextToken); switch (completion.kind) { - case 0 /* Paths */: + case 0 /* StringLiteralCompletionKind.Paths */: return convertPathCompletions(completion.paths); - case 1 /* Properties */: { + case 1 /* StringLiteralCompletionKind.Properties */: { var entries = ts.createSortedArray(); - Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ESNext */, log, 4 /* String */, preferences, options, + Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ScriptTarget.ESNext */, log, 4 /* CompletionKind.String */, preferences, options, /*formatContext*/ undefined); // Target will not be used, so arbitrary return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan: optionalReplacementSpan, entries: entries }; } - case 2 /* Types */: { + case 2 /* StringLiteralCompletionKind.Types */: { var entries = completion.types.map(function (type) { return ({ name: type.value, - kindModifiers: "" /* none */, - kind: "string" /* string */, + kindModifiers: "" /* ScriptElementKindModifier.none */, + kind: "string" /* ScriptElementKind.string */, sortText: Completions.SortText.LocationPriority, replacementSpan: ts.getReplacementSpanForContextToken(contextToken) }); }); @@ -130733,16 +131185,16 @@ var ts; StringCompletions.getStringLiteralCompletionDetails = getStringLiteralCompletionDetails; function stringLiteralCompletionDetails(name, location, completion, sourceFile, checker, cancellationToken) { switch (completion.kind) { - case 0 /* Paths */: { + case 0 /* StringLiteralCompletionKind.Paths */: { var match = ts.find(completion.paths, function (p) { return p.name === name; }); return match && Completions.createCompletionDetails(name, kindModifiersFromExtension(match.extension), match.kind, [ts.textPart(name)]); } - case 1 /* Properties */: { + case 1 /* StringLiteralCompletionKind.Properties */: { var match = ts.find(completion.symbols, function (s) { return s.name === name; }); return match && Completions.createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken); } - case 2 /* Types */: - return ts.find(completion.types, function (t) { return t.value === name; }) ? Completions.createCompletionDetails(name, "" /* none */, "type" /* typeElement */, [ts.textPart(name)]) : undefined; + case 2 /* StringLiteralCompletionKind.Types */: + return ts.find(completion.types, function (t) { return t.value === name; }) ? Completions.createCompletionDetails(name, "" /* ScriptElementKindModifier.none */, "type" /* ScriptElementKind.typeElement */, [ts.textPart(name)]) : undefined; default: return ts.Debug.assertNever(completion); } @@ -130758,20 +131210,20 @@ var ts; } function kindModifiersFromExtension(extension) { switch (extension) { - case ".d.ts" /* Dts */: return ".d.ts" /* dtsModifier */; - case ".js" /* Js */: return ".js" /* jsModifier */; - case ".json" /* Json */: return ".json" /* jsonModifier */; - case ".jsx" /* Jsx */: return ".jsx" /* jsxModifier */; - case ".ts" /* Ts */: return ".ts" /* tsModifier */; - case ".tsx" /* Tsx */: return ".tsx" /* tsxModifier */; - case ".d.mts" /* Dmts */: return ".d.mts" /* dmtsModifier */; - case ".mjs" /* Mjs */: return ".mjs" /* mjsModifier */; - case ".mts" /* Mts */: return ".mts" /* mtsModifier */; - case ".d.cts" /* Dcts */: return ".d.cts" /* dctsModifier */; - case ".cjs" /* Cjs */: return ".cjs" /* cjsModifier */; - case ".cts" /* Cts */: return ".cts" /* ctsModifier */; - case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension " + ".tsbuildinfo" /* TsBuildInfo */ + " is unsupported."); - case undefined: return "" /* none */; + case ".d.ts" /* Extension.Dts */: return ".d.ts" /* ScriptElementKindModifier.dtsModifier */; + case ".js" /* Extension.Js */: return ".js" /* ScriptElementKindModifier.jsModifier */; + case ".json" /* Extension.Json */: return ".json" /* ScriptElementKindModifier.jsonModifier */; + case ".jsx" /* Extension.Jsx */: return ".jsx" /* ScriptElementKindModifier.jsxModifier */; + case ".ts" /* Extension.Ts */: return ".ts" /* ScriptElementKindModifier.tsModifier */; + case ".tsx" /* Extension.Tsx */: return ".tsx" /* ScriptElementKindModifier.tsxModifier */; + case ".d.mts" /* Extension.Dmts */: return ".d.mts" /* ScriptElementKindModifier.dmtsModifier */; + case ".mjs" /* Extension.Mjs */: return ".mjs" /* ScriptElementKindModifier.mjsModifier */; + case ".mts" /* Extension.Mts */: return ".mts" /* ScriptElementKindModifier.mtsModifier */; + case ".d.cts" /* Extension.Dcts */: return ".d.cts" /* ScriptElementKindModifier.dctsModifier */; + case ".cjs" /* Extension.Cjs */: return ".cjs" /* ScriptElementKindModifier.cjsModifier */; + case ".cts" /* Extension.Cts */: return ".cts" /* ScriptElementKindModifier.ctsModifier */; + case ".tsbuildinfo" /* Extension.TsBuildInfo */: return ts.Debug.fail("Extension ".concat(".tsbuildinfo" /* Extension.TsBuildInfo */, " is unsupported.")); + case undefined: return "" /* ScriptElementKindModifier.none */; default: return ts.Debug.assertNever(extension); } @@ -130785,18 +131237,18 @@ var ts; function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host, preferences) { var parent = walkUpParentheses(node.parent); switch (parent.kind) { - case 196 /* LiteralType */: { + case 196 /* SyntaxKind.LiteralType */: { var grandParent = walkUpParentheses(parent.parent); switch (grandParent.kind) { - case 178 /* TypeReference */: { + case 178 /* SyntaxKind.TypeReference */: { var typeReference_1 = grandParent; var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; }); if (typeArgument) { - return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false }; + return { kind: 2 /* StringLiteralCompletionKind.Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false }; } return undefined; } - case 194 /* IndexedAccessType */: + case 194 /* SyntaxKind.IndexedAccessType */: // Get all apparent property names // i.e. interface Foo { // foo: string; @@ -130808,21 +131260,21 @@ var ts; return undefined; } return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(objectType)); - case 200 /* ImportType */: - return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; - case 187 /* UnionType */: { + case 200 /* SyntaxKind.ImportType */: + return { kind: 0 /* StringLiteralCompletionKind.Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; + case 187 /* SyntaxKind.UnionType */: { if (!ts.isTypeReferenceNode(grandParent.parent)) { return undefined; } var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent, parent); var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); }); - return { kind: 2 /* Types */, types: types, isNewIdentifier: false }; + return { kind: 2 /* StringLiteralCompletionKind.Types */, types: types, isNewIdentifier: false }; } default: return undefined; } } - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: if (ts.isObjectLiteralExpression(parent.parent) && parent.name === node) { // Get quoted name of properties of the object literal expression // i.e. interface ConfigFiles { @@ -130839,7 +131291,7 @@ var ts; return stringLiteralCompletionsForObjectLiteral(typeChecker, parent.parent); } return fromContextualType(); - case 207 /* ElementAccessExpression */: { + case 207 /* SyntaxKind.ElementAccessExpression */: { var _b = parent, expression = _b.expression, argumentExpression = _b.argumentExpression; if (node === ts.skipParentheses(argumentExpression)) { // Get all names of properties on the expression @@ -130852,41 +131304,41 @@ var ts; } return undefined; } - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 285 /* JsxAttribute */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 285 /* SyntaxKind.JsxAttribute */: if (!isRequireCallArgument(node) && !ts.isImportCall(parent)) { - var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(parent.kind === 285 /* JsxAttribute */ ? parent.parent : node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(parent.kind === 285 /* SyntaxKind.JsxAttribute */ ? parent.parent : node, position, sourceFile); // Get string literal completions from specialized signatures of the target // i.e. declare function f(a: 'A'); // f("/*completion position*/") return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) : fromContextualType(); } // falls through (is `require("")` or `require(""` or `import("")`) - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: - case 277 /* ExternalModuleReference */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 277 /* SyntaxKind.ExternalModuleReference */: // Get all known external module names or complete a path to a module // i.e. import * as ns from "/*completion position*/"; // var y = import("/*completion position*/"); // import x = require("/*completion position*/"); // var y = require("/*completion position*/"); // export * from "/*completion position*/"; - return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; + return { kind: 0 /* StringLiteralCompletionKind.Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; default: return fromContextualType(); } function fromContextualType() { // Get completion for string literal from string literal type // i.e. var x: "hi" | "hello" = "/*completion position*/" - return { kind: 2 /* Types */, types: getStringLiteralTypes(ts.getContextualTypeFromParent(node, typeChecker)), isNewIdentifier: false }; + return { kind: 2 /* StringLiteralCompletionKind.Types */, types: getStringLiteralTypes(ts.getContextualTypeFromParent(node, typeChecker)), isNewIdentifier: false }; } } function walkUpParentheses(node) { switch (node.kind) { - case 191 /* ParenthesizedType */: + case 191 /* SyntaxKind.ParenthesizedType */: return ts.walkUpParenthesizedTypes(node); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return ts.walkUpParenthesizedExpressions(node); default: return node; @@ -130913,14 +131365,14 @@ var ts; type = propType; } } - isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* String */); + isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* TypeFlags.String */); return getStringLiteralTypes(type, uniques); }); - return { kind: 2 /* Types */, types: types, isNewIdentifier: isNewIdentifier }; + return { kind: 2 /* StringLiteralCompletionKind.Types */, types: types, isNewIdentifier: isNewIdentifier }; } function stringLiteralCompletionsFromProperties(type) { return type && { - kind: 1 /* Properties */, + kind: 1 /* StringLiteralCompletionKind.Properties */, symbols: ts.filter(type.getApparentProperties(), function (prop) { return !(prop.valueDeclaration && ts.isPrivateIdentifierClassElementDeclaration(prop.valueDeclaration)); }), hasIndexSignature: ts.hasIndexSignature(type) }; @@ -130929,10 +131381,10 @@ var ts; var contextualType = checker.getContextualType(objectLiteralExpression); if (!contextualType) return undefined; - var completionsType = checker.getContextualType(objectLiteralExpression, 4 /* Completions */); + var completionsType = checker.getContextualType(objectLiteralExpression, 4 /* ContextFlags.Completions */); var symbols = Completions.getPropertiesForObjectExpression(contextualType, completionsType, objectLiteralExpression, checker); return { - kind: 1 /* Properties */, + kind: 1 /* StringLiteralCompletionKind.Properties */, symbols: symbols, hasIndexSignature: ts.hasIndexSignature(contextualType) }; @@ -130943,13 +131395,13 @@ var ts; return ts.emptyArray; type = ts.skipConstraint(type); return type.isUnion() ? ts.flatMap(type.types, function (t) { return getStringLiteralTypes(t, uniques); }) : - type.isStringLiteral() && !(type.flags & 1024 /* EnumLiteral */) && ts.addToSeen(uniques, type.value) ? [type] : ts.emptyArray; + type.isStringLiteral() && !(type.flags & 1024 /* TypeFlags.EnumLiteral */) && ts.addToSeen(uniques, type.value) ? [type] : ts.emptyArray; } function nameAndKind(name, kind, extension) { return { name: name, kind: kind, extension: extension }; } function directoryResult(name) { - return nameAndKind(name, "directory" /* directory */, /*extension*/ undefined); + return nameAndKind(name, "directory" /* ScriptElementKind.directory */, /*extension*/ undefined); } function addReplacementSpans(text, textStart, names) { var span = getDirectoryFragmentTextSpan(text, textStart); @@ -130971,11 +131423,11 @@ var ts; : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, compilerOptions, host, typeChecker); function getIncludeExtensionOption() { var mode = ts.isStringLiteralLike(node) ? ts.getModeForUsageLocation(sourceFile, node) : undefined; - return preferences.importModuleSpecifierEnding === "js" || mode === ts.ModuleKind.ESNext ? 2 /* ModuleSpecifierCompletion */ : 0 /* Exclude */; + return preferences.importModuleSpecifierEnding === "js" || mode === ts.ModuleKind.ESNext ? 2 /* IncludeExtensionsOption.ModuleSpecifierCompletion */ : 0 /* IncludeExtensionsOption.Exclude */; } } function getExtensionOptions(compilerOptions, includeExtensionsOption) { - if (includeExtensionsOption === void 0) { includeExtensionsOption = 0 /* Exclude */; } + if (includeExtensionsOption === void 0) { includeExtensionsOption = 0 /* IncludeExtensionsOption.Exclude */; } return { extensions: ts.flatten(getSupportedExtensionsForModuleResolution(compilerOptions)), includeExtensionsOption: includeExtensionsOption }; } function getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, includeExtensions) { @@ -130989,11 +131441,11 @@ var ts; } function isEmitResolutionKindUsingNodeModules(compilerOptions) { return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs || - ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || + ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext; } function isEmitModuleResolutionRespectingExportMaps(compilerOptions) { - return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || + return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext; } function getSupportedExtensionsForModuleResolution(compilerOptions) { @@ -131068,16 +131520,16 @@ var ts; for (var _i = 0, files_1 = files; _i < files_1.length; _i++) { var filePath = files_1[_i]; filePath = ts.normalizePath(filePath); - if (exclude && ts.comparePaths(filePath, exclude, scriptPath, ignoreCase) === 0 /* EqualTo */) { + if (exclude && ts.comparePaths(filePath, exclude, scriptPath, ignoreCase) === 0 /* Comparison.EqualTo */) { continue; } var foundFileName = void 0; var outputExtension = ts.moduleSpecifiers.tryGetJSExtensionForFile(filePath, host.getCompilationSettings()); - if (includeExtensionsOption === 0 /* Exclude */ && !ts.fileExtensionIsOneOf(filePath, [".json" /* Json */, ".mts" /* Mts */, ".cts" /* Cts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".cjs" /* Cjs */])) { + if (includeExtensionsOption === 0 /* IncludeExtensionsOption.Exclude */ && !ts.fileExtensionIsOneOf(filePath, [".json" /* Extension.Json */, ".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */])) { foundFileName = ts.removeFileExtension(ts.getBaseFileName(filePath)); foundFiles.set(foundFileName, ts.tryGetExtensionFromPath(filePath)); } - else if ((ts.fileExtensionIsOneOf(filePath, [".mts" /* Mts */, ".cts" /* Cts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */, ".mjs" /* Mjs */, ".cjs" /* Cjs */]) || includeExtensionsOption === 2 /* ModuleSpecifierCompletion */) && outputExtension) { + else if ((ts.fileExtensionIsOneOf(filePath, [".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */]) || includeExtensionsOption === 2 /* IncludeExtensionsOption.ModuleSpecifierCompletion */) && outputExtension) { foundFileName = ts.changeExtension(ts.getBaseFileName(filePath), outputExtension); foundFiles.set(foundFileName, outputExtension); } @@ -131087,7 +131539,7 @@ var ts; } } foundFiles.forEach(function (ext, foundFile) { - result.push(nameAndKind(foundFile, "script" /* scriptElement */, ext)); + result.push(nameAndKind(foundFile, "script" /* ScriptElementKind.scriptElement */, ext)); }); } // If possible, get folder completion as well @@ -131158,7 +131610,7 @@ var ts; var fragmentDirectory = getFragmentDirectory(fragment); for (var _i = 0, _a = getAmbientModuleCompletions(fragment, fragmentDirectory, typeChecker); _i < _a.length; _i++) { var ambientName = _a[_i]; - result.push(nameAndKind(ambientName, "external module name" /* externalModuleName */, /*extension*/ undefined)); + result.push(nameAndKind(ambientName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); } getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, fragmentDirectory, extensionOptions, result); if (isEmitResolutionKindUsingNodeModules(compilerOptions)) { @@ -131169,7 +131621,7 @@ var ts; var _loop_4 = function (moduleName) { if (!result.some(function (entry) { return entry.name === moduleName; })) { foundGlobal = true; - result.push(nameAndKind(moduleName, "external module name" /* externalModuleName */, /*extension*/ undefined)); + result.push(nameAndKind(moduleName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); } }; for (var _b = 0, _c = enumerateNodeModulesVisibleToScript(host, scriptPath); _b < _c.length; _b++) { @@ -131230,7 +131682,7 @@ var ts; }); ts.forEach(processedKeys, function (k) { if (k) { - result.push(nameAndKind(k, "external module name" /* externalModuleName */, /*extension*/ undefined)); + result.push(nameAndKind(k, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); } }); return; @@ -131289,7 +131741,7 @@ var ts; var matches = ts.mapDefined(ts.tryReadDirectory(host, baseDirectory, fileExtensions, /*exclude*/ undefined, [includeGlob]), function (match) { var extension = ts.tryGetExtensionFromPath(match); var name = trimPrefixAndSuffix(match); - return name === undefined ? undefined : nameAndKind(ts.removeFileExtension(name), "script" /* scriptElement */, extension); + return name === undefined ? undefined : nameAndKind(ts.removeFileExtension(name), "script" /* ScriptElementKind.scriptElement */, extension); }); var directories = ts.mapDefined(ts.tryGetDirectories(host, baseDirectory).map(function (d) { return ts.combinePaths(baseDirectory, d); }), function (dir) { var name = trimPrefixAndSuffix(dir); @@ -131334,7 +131786,7 @@ var ts; } var prefix = match[1], kind = match[2], toComplete = match[3]; var scriptPath = ts.getDirectoryPath(sourceFile.path); - var names = kind === "path" ? getCompletionEntriesForDirectoryFragment(toComplete, scriptPath, getExtensionOptions(compilerOptions, 1 /* Include */), host, sourceFile.path) + var names = kind === "path" ? getCompletionEntriesForDirectoryFragment(toComplete, scriptPath, getExtensionOptions(compilerOptions, 1 /* IncludeExtensionsOption.Include */), host, sourceFile.path) : kind === "types" ? getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, getFragmentDirectory(toComplete), getExtensionOptions(compilerOptions)) : ts.Debug.fail(); return addReplacementSpans(toComplete, range.pos + prefix.length, names); @@ -131365,7 +131817,7 @@ var ts; continue; if (fragmentDirectory === undefined) { if (!seen.has(packageName)) { - result.push(nameAndKind(packageName, "external module name" /* externalModuleName */, /*extension*/ undefined)); + result.push(nameAndKind(packageName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); seen.set(packageName, true); } } @@ -131407,14 +131859,14 @@ var ts; var offset = index !== -1 ? index + 1 : 0; // If the range is an identifier, span is unnecessary. var length = text.length - offset; - return length === 0 || ts.isIdentifierText(text.substr(offset, length), 99 /* ESNext */) ? undefined : ts.createTextSpan(textStart + offset, length); + return length === 0 || ts.isIdentifierText(text.substr(offset, length), 99 /* ScriptTarget.ESNext */) ? undefined : ts.createTextSpan(textStart + offset, length); } // Returns true if the path is explicitly relative to the script (i.e. relative to . or ..) function isPathRelativeToScript(path) { - if (path && path.length >= 2 && path.charCodeAt(0) === 46 /* dot */) { - var slashIndex = path.length >= 3 && path.charCodeAt(1) === 46 /* dot */ ? 2 : 1; + if (path && path.length >= 2 && path.charCodeAt(0) === 46 /* CharacterCodes.dot */) { + var slashIndex = path.length >= 3 && path.charCodeAt(1) === 46 /* CharacterCodes.dot */ ? 2 : 1; var slashCharCode = path.charCodeAt(slashIndex); - return slashCharCode === 47 /* slash */ || slashCharCode === 92 /* backslash */; + return slashCharCode === 47 /* CharacterCodes.slash */ || slashCharCode === 92 /* CharacterCodes.backslash */; } return false; } @@ -131471,7 +131923,7 @@ var ts; return "z" + sortText; }, ObjectLiteralProperty: function (presetSortText, symbolDisplayName) { - return presetSortText + "\0" + symbolDisplayName + "\0"; + return "".concat(presetSortText, "\0").concat(symbolDisplayName, "\0"); }, SortBelow: function (sortText) { return sortText + "1"; @@ -131513,16 +131965,16 @@ var ts; SymbolOriginInfoKind[SymbolOriginInfoKind["SymbolMemberExport"] = 6] = "SymbolMemberExport"; })(SymbolOriginInfoKind || (SymbolOriginInfoKind = {})); function originIsThisType(origin) { - return !!(origin.kind & 1 /* ThisType */); + return !!(origin.kind & 1 /* SymbolOriginInfoKind.ThisType */); } function originIsSymbolMember(origin) { - return !!(origin.kind & 2 /* SymbolMember */); + return !!(origin.kind & 2 /* SymbolOriginInfoKind.SymbolMember */); } function originIsExport(origin) { - return !!(origin && origin.kind & 4 /* Export */); + return !!(origin && origin.kind & 4 /* SymbolOriginInfoKind.Export */); } function originIsResolvedExport(origin) { - return !!(origin && origin.kind === 32 /* ResolvedExport */); + return !!(origin && origin.kind === 32 /* SymbolOriginInfoKind.ResolvedExport */); } function originIncludesSymbolName(origin) { return originIsExport(origin) || originIsResolvedExport(origin); @@ -131531,16 +131983,16 @@ var ts; return (originIsExport(origin) || originIsResolvedExport(origin)) && !!origin.isFromPackageJson; } function originIsPromise(origin) { - return !!(origin.kind & 8 /* Promise */); + return !!(origin.kind & 8 /* SymbolOriginInfoKind.Promise */); } function originIsNullableMember(origin) { - return !!(origin.kind & 16 /* Nullable */); + return !!(origin.kind & 16 /* SymbolOriginInfoKind.Nullable */); } function originIsTypeOnlyAlias(origin) { - return !!(origin && origin.kind & 64 /* TypeOnlyAlias */); + return !!(origin && origin.kind & 64 /* SymbolOriginInfoKind.TypeOnlyAlias */); } function originIsObjectLiteralMethod(origin) { - return !!(origin && origin.kind & 128 /* ObjectLiteralMethod */); + return !!(origin && origin.kind & 128 /* SymbolOriginInfoKind.ObjectLiteralMethod */); } var KeywordCompletionFilters; (function (KeywordCompletionFilters) { @@ -131553,7 +132005,7 @@ var ts; KeywordCompletionFilters[KeywordCompletionFilters["TypeAssertionKeywords"] = 6] = "TypeAssertionKeywords"; KeywordCompletionFilters[KeywordCompletionFilters["TypeKeywords"] = 7] = "TypeKeywords"; KeywordCompletionFilters[KeywordCompletionFilters["TypeKeyword"] = 8] = "TypeKeyword"; - KeywordCompletionFilters[KeywordCompletionFilters["Last"] = 7] = "Last"; + KeywordCompletionFilters[KeywordCompletionFilters["Last"] = 8] = "Last"; })(KeywordCompletionFilters || (KeywordCompletionFilters = {})); var GlobalsSearch; (function (GlobalsSearch) { @@ -131561,43 +132013,54 @@ var ts; GlobalsSearch[GlobalsSearch["Success"] = 1] = "Success"; GlobalsSearch[GlobalsSearch["Fail"] = 2] = "Fail"; })(GlobalsSearch || (GlobalsSearch = {})); - function resolvingModuleSpecifiers(logPrefix, host, program, sourceFile, preferences, isForImportStatementCompletion, cb) { + function resolvingModuleSpecifiers(logPrefix, host, program, sourceFile, position, preferences, isForImportStatementCompletion, isValidTypeOnlyUseSite, cb) { var _a, _b, _c; var start = ts.timestamp(); var packageJsonImportFilter = ts.createPackageJsonImportFilter(sourceFile, preferences, host); - var resolutionLimitExceeded = false; + // Under `--moduleResolution nodenext`, we have to resolve module specifiers up front, because + // package.json exports can mean we *can't* resolve a module specifier (that doesn't include a + // relative path into node_modules), and we want to filter those completions out entirely. + // Import statement completions always need specifier resolution because the module specifier is + // part of their `insertText`, not the `codeActions` creating edits away from the cursor. + var needsFullResolution = isForImportStatementCompletion || ts.moduleResolutionRespectsExports(ts.getEmitModuleResolutionKind(program.getCompilerOptions())); + var skippedAny = false; var ambientCount = 0; var resolvedCount = 0; var resolvedFromCacheCount = 0; var cacheAttemptCount = 0; - var result = cb({ tryResolve: tryResolve, resolutionLimitExceeded: function () { return resolutionLimitExceeded; } }); - var hitRateMessage = cacheAttemptCount ? " (" + (resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1) + "% hit rate)" : ""; - (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, logPrefix + ": resolved " + resolvedCount + " module specifiers, plus " + ambientCount + " ambient and " + resolvedFromCacheCount + " from cache" + hitRateMessage); - (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, logPrefix + ": response is " + (resolutionLimitExceeded ? "incomplete" : "complete")); - (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, logPrefix + ": " + (ts.timestamp() - start)); + var result = cb({ + tryResolve: tryResolve, + skippedAny: function () { return skippedAny; }, + resolvedAny: function () { return resolvedCount > 0; }, + resolvedBeyondLimit: function () { return resolvedCount > Completions.moduleSpecifierResolutionLimit; }, + }); + var hitRateMessage = cacheAttemptCount ? " (".concat((resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1), "% hit rate)") : ""; + (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, "".concat(logPrefix, ": resolved ").concat(resolvedCount, " module specifiers, plus ").concat(ambientCount, " ambient and ").concat(resolvedFromCacheCount, " from cache").concat(hitRateMessage)); + (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "".concat(logPrefix, ": response is ").concat(skippedAny ? "incomplete" : "complete")); + (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, "".concat(logPrefix, ": ").concat(ts.timestamp() - start)); return result; - function tryResolve(exportInfo, isFromAmbientModule) { + function tryResolve(exportInfo, symbolName, isFromAmbientModule) { if (isFromAmbientModule) { - var result_1 = ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, sourceFile, program, host, preferences); + var result_1 = ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, sourceFile, program, host, preferences); if (result_1) { ambientCount++; } - return result_1; + return result_1 || "failed"; } - var shouldResolveModuleSpecifier = isForImportStatementCompletion || preferences.allowIncompleteCompletions && resolvedCount < Completions.moduleSpecifierResolutionLimit; + var shouldResolveModuleSpecifier = needsFullResolution || preferences.allowIncompleteCompletions && resolvedCount < Completions.moduleSpecifierResolutionLimit; var shouldGetModuleSpecifierFromCache = !shouldResolveModuleSpecifier && preferences.allowIncompleteCompletions && cacheAttemptCount < Completions.moduleSpecifierResolutionCacheAttemptLimit; var result = (shouldResolveModuleSpecifier || shouldGetModuleSpecifierFromCache) - ? ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, sourceFile, program, host, preferences, packageJsonImportFilter, shouldGetModuleSpecifierFromCache) + ? ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, sourceFile, program, host, preferences, packageJsonImportFilter, shouldGetModuleSpecifierFromCache) : undefined; if (!shouldResolveModuleSpecifier && !shouldGetModuleSpecifierFromCache || shouldGetModuleSpecifierFromCache && !result) { - resolutionLimitExceeded = true; + skippedAny = true; } resolvedCount += (result === null || result === void 0 ? void 0 : result.computedWithoutCacheCount) || 0; - resolvedFromCacheCount += exportInfo.length - resolvedCount; + resolvedFromCacheCount += exportInfo.length - ((result === null || result === void 0 ? void 0 : result.computedWithoutCacheCount) || 0); if (shouldGetModuleSpecifierFromCache) { cacheAttemptCount++; } - return result; + return result || (needsFullResolution ? "failed" : "skipped"); } } function getCompletionsAtPosition(host, program, log, sourceFile, position, preferences, triggerCharacter, completionKind, cancellationToken, formatContext) { @@ -131617,7 +132080,7 @@ var ts; // we can continue it from the cached previous response. var compilerOptions = program.getCompilerOptions(); var incompleteCompletionsCache = preferences.allowIncompleteCompletions ? (_a = host.getIncompleteCompletionsCache) === null || _a === void 0 ? void 0 : _a.call(host) : undefined; - if (incompleteCompletionsCache && completionKind === 3 /* TriggerForIncompleteCompletions */ && previousToken && ts.isIdentifier(previousToken)) { + if (incompleteCompletionsCache && completionKind === 3 /* CompletionTriggerKind.TriggerForIncompleteCompletions */ && previousToken && ts.isIdentifier(previousToken)) { var incompleteContinuation = continuePreviousIncompleteResponse(incompleteCompletionsCache, sourceFile, previousToken, program, host, preferences, cancellationToken); if (incompleteContinuation) { return incompleteContinuation; @@ -131631,7 +132094,7 @@ var ts; return stringCompletions; } if (previousToken && ts.isBreakOrContinueStatement(previousToken.parent) - && (previousToken.kind === 81 /* BreakKeyword */ || previousToken.kind === 86 /* ContinueKeyword */ || previousToken.kind === 79 /* Identifier */)) { + && (previousToken.kind === 81 /* SyntaxKind.BreakKeyword */ || previousToken.kind === 86 /* SyntaxKind.ContinueKeyword */ || previousToken.kind === 79 /* SyntaxKind.Identifier */)) { return getLabelCompletionAtPosition(previousToken.parent); } var completionData = getCompletionData(program, log, sourceFile, compilerOptions, position, preferences, /*detailsEntryId*/ undefined, host, formatContext, cancellationToken); @@ -131639,21 +132102,21 @@ var ts; return undefined; } switch (completionData.kind) { - case 0 /* Data */: + case 0 /* CompletionDataKind.Data */: var response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position); if (response === null || response === void 0 ? void 0 : response.isIncomplete) { incompleteCompletionsCache === null || incompleteCompletionsCache === void 0 ? void 0 : incompleteCompletionsCache.set(response); } return response; - case 1 /* JsDocTagName */: + case 1 /* CompletionDataKind.JsDocTagName */: // If the current position is a jsDoc tag name, only tag names should be provided for completion return jsdocCompletionInfo(ts.JsDoc.getJSDocTagNameCompletions()); - case 2 /* JsDocTag */: + case 2 /* CompletionDataKind.JsDocTag */: // If the current position is a jsDoc tag, only tags should be provided for completion return jsdocCompletionInfo(ts.JsDoc.getJSDocTagCompletions()); - case 3 /* JsDocParameterName */: + case 3 /* CompletionDataKind.JsDocParameterName */: return jsdocCompletionInfo(ts.JsDoc.getJSDocParameterNameCompletions(completionData.tag)); - case 4 /* Keywords */: + case 4 /* CompletionDataKind.Keywords */: return specificKeywordCompletionInfo(completionData.keywordCompletions, completionData.isNewIdentifierLocation); default: return ts.Debug.assertNever(completionData); @@ -131670,16 +132133,16 @@ var ts; function compareCompletionEntries(entryInArray, entryToInsert) { var _a, _b; var result = ts.compareStringsCaseSensitiveUI(entryInArray.sortText, entryToInsert.sortText); - if (result === 0 /* EqualTo */) { + if (result === 0 /* Comparison.EqualTo */) { result = ts.compareStringsCaseSensitiveUI(entryInArray.name, entryToInsert.name); } - if (result === 0 /* EqualTo */ && ((_a = entryInArray.data) === null || _a === void 0 ? void 0 : _a.moduleSpecifier) && ((_b = entryToInsert.data) === null || _b === void 0 ? void 0 : _b.moduleSpecifier)) { + if (result === 0 /* Comparison.EqualTo */ && ((_a = entryInArray.data) === null || _a === void 0 ? void 0 : _a.moduleSpecifier) && ((_b = entryToInsert.data) === null || _b === void 0 ? void 0 : _b.moduleSpecifier)) { // Sort same-named auto-imports by module specifier result = ts.compareNumberOfDirectorySeparators(entryInArray.data.moduleSpecifier, entryToInsert.data.moduleSpecifier); } - if (result === 0 /* EqualTo */) { + if (result === 0 /* Comparison.EqualTo */) { // Fall back to symbol order - if we return `EqualTo`, `insertSorted` will put later symbols first. - return -1 /* LessThan */; + return -1 /* Comparison.LessThan */; } return result; } @@ -131692,9 +132155,10 @@ var ts; return undefined; var lowerCaseTokenText = location.text.toLowerCase(); var exportMap = ts.getExportInfoMap(file, host, program, cancellationToken); - var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, preferences, - /*isForImportStatementCompletion*/ false, function (context) { + var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, location.getStart(), preferences, + /*isForImportStatementCompletion*/ false, ts.isValidTypeOnlyAliasUseSite(location), function (context) { var entries = ts.mapDefined(previousResponse.entries, function (entry) { + var _a; if (!entry.hasAction || !entry.source || !entry.data || completionEntryDataIsResolved(entry.data)) { // Not an auto import or already resolved; keep as is return entry; @@ -131705,10 +132169,14 @@ var ts; } var origin = ts.Debug.checkDefined(getAutoImportSymbolFromCompletionEntryData(entry.name, entry.data, program, host)).origin; var info = exportMap.get(file.path, entry.data.exportMapKey); - var result = info && context.tryResolve(info, !ts.isExternalModuleNameRelative(ts.stripQuotes(origin.moduleSymbol.name))); - if (!result) + var result = info && context.tryResolve(info, entry.name, !ts.isExternalModuleNameRelative(ts.stripQuotes(origin.moduleSymbol.name))); + if (result === "skipped") return entry; - var newOrigin = __assign(__assign({}, origin), { kind: 32 /* ResolvedExport */, moduleSpecifier: result.moduleSpecifier }); + if (!result || result === "failed") { + (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, "Unexpected failure resolving auto import for '".concat(entry.name, "' from '").concat(entry.source, "'")); + return undefined; + } + var newOrigin = __assign(__assign({}, origin), { kind: 32 /* SymbolOriginInfoKind.ResolvedExport */, moduleSpecifier: result.moduleSpecifier }); // Mutating for performance... feels sketchy but nobody else uses the cache, // so why bother allocating a bunch of new objects? entry.data = originToCompletionEntryData(newOrigin); @@ -131716,12 +132184,13 @@ var ts; entry.sourceDisplay = [ts.textPart(newOrigin.moduleSpecifier)]; return entry; }); - if (!context.resolutionLimitExceeded()) { + if (!context.skippedAny()) { previousResponse.isIncomplete = undefined; } return entries; }); previousResponse.entries = newEntries; + previousResponse.flags = (previousResponse.flags || 0) | 4 /* CompletionInfoFlags.IsContinuation */; return previousResponse; } function jsdocCompletionInfo(entries) { @@ -131730,8 +132199,8 @@ var ts; function keywordToCompletionEntry(keyword) { return { name: ts.tokenToString(keyword), - kind: "keyword" /* keyword */, - kindModifiers: "" /* none */, + kind: "keyword" /* ScriptElementKind.keyword */, + kindModifiers: "" /* ScriptElementKindModifier.none */, sortText: Completions.SortText.GlobalsOrKeywords, }; } @@ -131745,25 +132214,25 @@ var ts; } function keywordCompletionData(keywordFilters, filterOutTsOnlyKeywords, isNewIdentifierLocation) { return { - kind: 4 /* Keywords */, + kind: 4 /* CompletionDataKind.Keywords */, keywordCompletions: getKeywordCompletions(keywordFilters, filterOutTsOnlyKeywords), isNewIdentifierLocation: isNewIdentifierLocation, }; } function keywordFiltersFromSyntaxKind(keywordCompletion) { switch (keywordCompletion) { - case 152 /* TypeKeyword */: return 8 /* TypeKeyword */; + case 152 /* SyntaxKind.TypeKeyword */: return 8 /* KeywordCompletionFilters.TypeKeyword */; default: ts.Debug.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters"); } } function getOptionalReplacementSpan(location) { // StringLiteralLike locations are handled separately in stringCompletions.ts - return (location === null || location === void 0 ? void 0 : location.kind) === 79 /* Identifier */ ? ts.createTextSpanFromNode(location) : undefined; + return (location === null || location === void 0 ? void 0 : location.kind) === 79 /* SyntaxKind.Identifier */ ? ts.createTextSpanFromNode(location) : undefined; } function completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position) { var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, isRightOfOpenTag = completionData.isRightOfOpenTag, importCompletionNode = completionData.importCompletionNode, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextMap = completionData.symbolToSortTextMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; // Verify if the file is JSX language variant - if (ts.getLanguageVariant(sourceFile.scriptKind) === 1 /* JSX */) { + if (ts.getLanguageVariant(sourceFile.scriptKind) === 1 /* LanguageVariant.JSX */) { var completionInfo = getJsxClosingTagCompletion(location, sourceFile); if (completionInfo) { return completionInfo; @@ -131776,17 +132245,17 @@ var ts; getJSCompletionEntries(sourceFile, location.pos, uniqueNames, ts.getEmitScriptTarget(compilerOptions), entries); } else { - if (!isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* None */) { + if (!isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* KeywordCompletionFilters.None */) { return undefined; } getCompletionEntriesFromSymbols(symbols, entries, /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); } - if (keywordFilters !== 0 /* None */) { + if (keywordFilters !== 0 /* KeywordCompletionFilters.None */) { var entryNames_1 = new ts.Set(entries.map(function (e) { return e.name; })); for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) { var keywordEntry = _a[_i]; - if (!entryNames_1.has(keywordEntry.name)) { + if (isTypeOnlyLocation && ts.isTypeKeyword(ts.stringToToken(keywordEntry.name)) || !entryNames_1.has(keywordEntry.name)) { ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true); } } @@ -131803,12 +132272,13 @@ var ts; ts.insertSorted(entries, createCompletionEntryForLiteral(sourceFile, preferences, literal), compareCompletionEntries, /*allowDuplicates*/ true); } return { + flags: completionData.flags, isGlobalCompletion: isInSnippetScope, isIncomplete: preferences.allowIncompleteCompletions && hasUnresolvedAutoImports ? true : undefined, isMemberCompletion: isMemberCompletionKind(completionKind), isNewIdentifierLocation: isNewIdentifierLocation, optionalReplacementSpan: getOptionalReplacementSpan(location), - entries: entries + entries: entries, }; } function isUncheckedFile(sourceFile, compilerOptions) { @@ -131816,9 +132286,9 @@ var ts; } function isMemberCompletionKind(kind) { switch (kind) { - case 0 /* ObjectPropertyDeclaration */: - case 3 /* MemberLike */: - case 2 /* PropertyAccess */: + case 0 /* CompletionKind.ObjectPropertyDeclaration */: + case 3 /* CompletionKind.MemberLike */: + case 2 /* CompletionKind.PropertyAccess */: return true; default: return false; @@ -131828,12 +132298,12 @@ var ts; // We wanna walk up the tree till we find a JSX closing element var jsxClosingElement = ts.findAncestor(location, function (node) { switch (node.kind) { - case 281 /* JsxClosingElement */: + case 281 /* SyntaxKind.JsxClosingElement */: return true; - case 43 /* SlashToken */: - case 31 /* GreaterThanToken */: - case 79 /* Identifier */: - case 206 /* PropertyAccessExpression */: + case 43 /* SyntaxKind.SlashToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 79 /* SyntaxKind.Identifier */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return false; default: return "quit"; @@ -131852,14 +132322,14 @@ var ts; // var x = // var y = // the completion list at "1" and "2" will contain "MainComponent.Child" with a replacement span of closing tag name - var hasClosingAngleBracket = !!ts.findChildOfKind(jsxClosingElement, 31 /* GreaterThanToken */, sourceFile); + var hasClosingAngleBracket = !!ts.findChildOfKind(jsxClosingElement, 31 /* SyntaxKind.GreaterThanToken */, sourceFile); var tagName = jsxClosingElement.parent.openingElement.tagName; var closingTag = tagName.getText(sourceFile); var fullClosingTag = closingTag + (hasClosingAngleBracket ? "" : ">"); var replacementSpan = ts.createTextSpanFromNode(jsxClosingElement.tagName); var entry = { name: fullClosingTag, - kind: "class" /* classElement */, + kind: "class" /* ScriptElementKind.classElement */, kindModifiers: undefined, sortText: Completions.SortText.LocationPriority, }; @@ -131878,7 +132348,7 @@ var ts; uniqueNames.add(realName); ts.insertSorted(entries, { name: realName, - kind: "warning" /* warning */, + kind: "warning" /* ScriptElementKind.warning */, kindModifiers: "", sortText: Completions.SortText.JavascriptIdentifiers, isFromUncheckedFile: true @@ -131891,7 +132361,7 @@ var ts; ts.isString(literal) ? ts.quote(sourceFile, preferences, literal) : JSON.stringify(literal); } function createCompletionEntryForLiteral(sourceFile, preferences, literal) { - return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* string */, kindModifiers: "" /* none */, sortText: Completions.SortText.LocationPriority }; + return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* ScriptElementKind.string */, kindModifiers: "" /* ScriptElementKindModifier.none */, sortText: Completions.SortText.LocationPriority }; } function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag) { var _a, _b; @@ -131908,18 +132378,18 @@ var ts; var useBraces = origin && originIsSymbolMember(origin) || needsConvertPropertyAccess; if (origin && originIsThisType(origin)) { insertText = needsConvertPropertyAccess - ? "this" + (insertQuestionDot ? "?." : "") + "[" + quotePropertyName(sourceFile, preferences, name) + "]" - : "this" + (insertQuestionDot ? "?." : ".") + name; + ? "this".concat(insertQuestionDot ? "?." : "", "[").concat(quotePropertyName(sourceFile, preferences, name), "]") + : "this".concat(insertQuestionDot ? "?." : ".").concat(name); } // We should only have needsConvertPropertyAccess if there's a property access to convert. But see #21790. // Somehow there was a global with a non-identifier name. Hopefully someone will complain about getting a "foo bar" global completion and provide a repro. else if ((useBraces || insertQuestionDot) && propertyAccessToConvert) { - insertText = useBraces ? needsConvertPropertyAccess ? "[" + quotePropertyName(sourceFile, preferences, name) + "]" : "[" + name + "]" : name; + insertText = useBraces ? needsConvertPropertyAccess ? "[".concat(quotePropertyName(sourceFile, preferences, name), "]") : "[".concat(name, "]") : name; if (insertQuestionDot || propertyAccessToConvert.questionDotToken) { - insertText = "?." + insertText; + insertText = "?.".concat(insertText); } - var dot = ts.findChildOfKind(propertyAccessToConvert, 24 /* DotToken */, sourceFile) || - ts.findChildOfKind(propertyAccessToConvert, 28 /* QuestionDotToken */, sourceFile); + var dot = ts.findChildOfKind(propertyAccessToConvert, 24 /* SyntaxKind.DotToken */, sourceFile) || + ts.findChildOfKind(propertyAccessToConvert, 28 /* SyntaxKind.QuestionDotToken */, sourceFile); if (!dot) { return undefined; } @@ -131930,7 +132400,7 @@ var ts; if (isJsxInitializer) { if (insertText === undefined) insertText = name; - insertText = "{" + insertText + "}"; + insertText = "{".concat(insertText, "}"); if (typeof isJsxInitializer !== "boolean") { replacementSpan = ts.createTextSpanFromNode(isJsxInitializer, sourceFile); } @@ -131943,8 +132413,8 @@ var ts; if (precedingToken && ts.positionIsASICandidate(precedingToken.end, precedingToken.parent, sourceFile)) { awaitText = ";"; } - awaitText += "(await " + propertyAccessToConvert.expression.getText() + ")"; - insertText = needsConvertPropertyAccess ? "" + awaitText + insertText : "" + awaitText + (insertQuestionDot ? "?." : ".") + insertText; + awaitText += "(await ".concat(propertyAccessToConvert.expression.getText(), ")"); + insertText = needsConvertPropertyAccess ? "".concat(awaitText).concat(insertText) : "".concat(awaitText).concat(insertQuestionDot ? "?." : ".").concat(insertText); replacementSpan = ts.createTextSpanFromBounds(propertyAccessToConvert.getStart(sourceFile), propertyAccessToConvert.end); } if (originIsResolvedExport(origin)) { @@ -131954,12 +132424,12 @@ var ts; isSnippet = preferences.includeCompletionsWithSnippetText ? true : undefined; } } - if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) { + if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 64 /* SymbolOriginInfoKind.TypeOnlyAlias */) { hasAction = true; } if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && - completionKind === 3 /* MemberLike */ && + completionKind === 3 /* CompletionKind.MemberLike */ && isClassLikeMemberCompletion(symbol, location)) { var importAdder = void 0; (_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan); @@ -131970,28 +132440,24 @@ var ts; } } if (origin && originIsObjectLiteralMethod(origin)) { - var importAdder = void 0; - (insertText = origin.insertText, isSnippet = origin.isSnippet, importAdder = origin.importAdder, labelDetails = origin.labelDetails); + (insertText = origin.insertText, isSnippet = origin.isSnippet, labelDetails = origin.labelDetails); if (!preferences.useLabelDetailsInCompletionEntries) { name = name + labelDetails.detail; labelDetails = undefined; } source = CompletionSource.ObjectLiteralMethodSnippet; sortText = Completions.SortText.SortBelow(sortText); - if (importAdder.hasFixes()) { - hasAction = true; - } } if (isJsxIdentifierExpected && !isRightOfOpenTag && preferences.includeCompletionsWithSnippetText && preferences.jsxAttributeCompletionStyle && preferences.jsxAttributeCompletionStyle !== "none") { var useBraces_1 = preferences.jsxAttributeCompletionStyle === "braces"; var type = typeChecker.getTypeOfSymbolAtLocation(symbol, location); // If is boolean like or undefined, don't return a snippet we want just to return the completion. if (preferences.jsxAttributeCompletionStyle === "auto" - && !(type.flags & 528 /* BooleanLike */) - && !(type.flags & 1048576 /* Union */ && ts.find(type.types, function (type) { return !!(type.flags & 528 /* BooleanLike */); }))) { - if (type.flags & 402653316 /* StringLike */ || (type.flags & 1048576 /* Union */ && ts.every(type.types, function (type) { return !!(type.flags & (402653316 /* StringLike */ | 32768 /* Undefined */)); }))) { + && !(type.flags & 528 /* TypeFlags.BooleanLike */) + && !(type.flags & 1048576 /* TypeFlags.Union */ && ts.find(type.types, function (type) { return !!(type.flags & 528 /* TypeFlags.BooleanLike */); }))) { + if (type.flags & 402653316 /* TypeFlags.StringLike */ || (type.flags & 1048576 /* TypeFlags.Union */ && ts.every(type.types, function (type) { return !!(type.flags & (402653316 /* TypeFlags.StringLike */ | 32768 /* TypeFlags.Undefined */)); }))) { // If is string like or undefined use quotes - insertText = ts.escapeSnippetText(name) + "=" + ts.quote(sourceFile, preferences, "$1"); + insertText = "".concat(ts.escapeSnippetText(name), "=").concat(ts.quote(sourceFile, preferences, "$1")); isSnippet = true; } else { @@ -132000,7 +132466,7 @@ var ts; } } if (useBraces_1) { - insertText = ts.escapeSnippetText(name) + "={$1}"; + insertText = "".concat(ts.escapeSnippetText(name), "={$1}"); isSnippet = true; } } @@ -132042,8 +132508,8 @@ var ts; return false; } // Completion symbol must be for a class member. - var memberFlags = 106500 /* ClassMember */ - & 900095 /* EnumMemberExcludes */; + var memberFlags = 106500 /* SymbolFlags.ClassMember */ + & 900095 /* SymbolFlags.EnumMemberExcludes */; /* In `class C { | @@ -132102,16 +132568,16 @@ var ts; // Note: this assumes we won't have more than one body in the completion nodes, which should be the case. var emptyStmt = ts.factory.createEmptyStatement(); body = ts.factory.createBlock([emptyStmt], /* multiline */ true); - ts.setSnippetElement(emptyStmt, { kind: 0 /* TabStop */, order: 0 }); + ts.setSnippetElement(emptyStmt, { kind: 0 /* SnippetKind.TabStop */, order: 0 }); } else { body = ts.factory.createBlock([], /* multiline */ true); } - var modifiers = 0 /* None */; + var modifiers = 0 /* ModifierFlags.None */; // Whether the suggested member should be abstract. // e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`. var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span; - var isAbstract = !!(presentModifiers & 128 /* Abstract */); + var isAbstract = !!(presentModifiers & 128 /* ModifierFlags.Abstract */); var completionNodes = []; ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder, // `addNewNodeForMemberSymbol` calls this callback function for each new member node @@ -132122,13 +132588,13 @@ var ts; // - One node; // - More than one node if the member is overloaded (e.g. a method with overload signatures). function (node) { - var requiredModifiers = 0 /* None */; + var requiredModifiers = 0 /* ModifierFlags.None */; if (isAbstract) { - requiredModifiers |= 128 /* Abstract */; + requiredModifiers |= 128 /* ModifierFlags.Abstract */; } if (ts.isClassElement(node) - && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* NeedsOverride */) { - requiredModifiers |= 16384 /* Override */; + && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* MemberOverrideStatus.NeedsOverride */) { + requiredModifiers |= 16384 /* ModifierFlags.Override */; } if (!completionNodes.length) { // Keep track of added missing required modifiers and modifiers already present. @@ -132139,9 +132605,9 @@ var ts; } node = ts.factory.updateModifiers(node, modifiers); completionNodes.push(node); - }, body, 2 /* Property */, isAbstract); + }, body, 2 /* codefix.PreserveOptionalFlags.Property */, isAbstract); if (completionNodes.length) { - var format = 1 /* MultiLine */ | 131072 /* NoTrailingNewLine */; + var format = 1 /* ListFormat.MultiLine */ | 131072 /* ListFormat.NoTrailingNewLine */; replacementSpan = modifiersSpan; // If we have access to formatting settings, we print the nodes using the emitter, // and then format the printed text. @@ -132156,9 +132622,9 @@ var ts; } function getPresentModifiers(contextToken) { if (!contextToken) { - return { modifiers: 0 /* None */ }; + return { modifiers: 0 /* ModifierFlags.None */ }; } - var modifiers = 0 /* None */; + var modifiers = 0 /* ModifierFlags.None */; var span; var contextMod; /* @@ -132203,8 +132669,7 @@ var ts; var isSnippet = preferences.includeCompletionsWithSnippetText || undefined; var insertText = name; var sourceFile = enclosingDeclaration.getSourceFile(); - var importAdder = ts.codefix.createImportAdder(sourceFile, program, preferences, host); - var method = createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences, importAdder); + var method = createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences); if (!method) { return undefined; } @@ -132216,10 +132681,10 @@ var ts; newLine: ts.getNewLineKind(ts.getNewLineCharacter(options, ts.maybeBind(host, host.getNewLine))), }); if (formatContext) { - insertText = printer.printAndFormatSnippetList(16 /* CommaDelimited */ | 64 /* AllowTrailingComma */, ts.factory.createNodeArray([method], /*hasTrailingComma*/ true), sourceFile, formatContext); + insertText = printer.printAndFormatSnippetList(16 /* ListFormat.CommaDelimited */ | 64 /* ListFormat.AllowTrailingComma */, ts.factory.createNodeArray([method], /*hasTrailingComma*/ true), sourceFile, formatContext); } else { - insertText = printer.printSnippetList(16 /* CommaDelimited */ | 64 /* AllowTrailingComma */, ts.factory.createNodeArray([method], /*hasTrailingComma*/ true), sourceFile); + insertText = printer.printSnippetList(16 /* ListFormat.CommaDelimited */ | 64 /* ListFormat.AllowTrailingComma */, ts.factory.createNodeArray([method], /*hasTrailingComma*/ true), sourceFile); } var signaturePrinter = ts.createPrinter({ removeComments: true, @@ -132232,33 +132697,32 @@ var ts; var methodSignature = ts.factory.createMethodSignature( /*modifiers*/ undefined, /*name*/ "", method.questionToken, method.typeParameters, method.parameters, method.type); - var labelDetails = { detail: signaturePrinter.printNode(4 /* Unspecified */, methodSignature, sourceFile) }; - return { isSnippet: isSnippet, insertText: insertText, importAdder: importAdder, labelDetails: labelDetails }; + var labelDetails = { detail: signaturePrinter.printNode(4 /* EmitHint.Unspecified */, methodSignature, sourceFile) }; + return { isSnippet: isSnippet, insertText: insertText, labelDetails: labelDetails }; } ; - function createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences, importAdder) { + function createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences) { var declarations = symbol.getDeclarations(); if (!(declarations && declarations.length)) { return undefined; } var checker = program.getTypeChecker(); - var scriptTarget = ts.getEmitScriptTarget(program.getCompilerOptions()); var declaration = declarations[0]; var name = ts.getSynthesizedDeepClone(ts.getNameOfDeclaration(declaration), /*includeTrivia*/ false); var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var quotePreference = ts.getQuotePreference(sourceFile, preferences); - var builderFlags = quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : undefined; + var builderFlags = quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : undefined; switch (declaration.kind) { - case 166 /* PropertySignature */: - case 167 /* PropertyDeclaration */: - case 168 /* MethodSignature */: - case 169 /* MethodDeclaration */: { - var effectiveType = type.flags & 1048576 /* Union */ && type.types.length < 10 - ? checker.getUnionType(type.types, 2 /* Subtype */) + case 166 /* SyntaxKind.PropertySignature */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: { + var effectiveType = type.flags & 1048576 /* TypeFlags.Union */ && type.types.length < 10 + ? checker.getUnionType(type.types, 2 /* UnionReduction.Subtype */) : type; - if (effectiveType.flags & 1048576 /* Union */) { + if (effectiveType.flags & 1048576 /* TypeFlags.Union */) { // Only offer the completion if there's a single function type component. - var functionTypes = ts.filter(effectiveType.types, function (type) { return checker.getSignaturesOfType(type, 0 /* Call */).length > 0; }); + var functionTypes = ts.filter(effectiveType.types, function (type) { return checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */).length > 0; }); if (functionTypes.length === 1) { effectiveType = functionTypes[0]; } @@ -132266,7 +132730,7 @@ var ts; return undefined; } } - var signatures = checker.getSignaturesOfType(effectiveType, 0 /* Call */); + var signatures = checker.getSignaturesOfType(effectiveType, 0 /* SignatureKind.Call */); if (signatures.length !== 1) { // We don't support overloads in object literals. return undefined; @@ -132275,47 +132739,72 @@ var ts; if (!typeNode || !ts.isFunctionTypeNode(typeNode)) { return undefined; } - var importableReference = ts.codefix.tryGetAutoImportableReferenceFromTypeNode(typeNode, scriptTarget); - if (importableReference) { - typeNode = importableReference.typeNode; - ts.codefix.importSymbols(importAdder, importableReference.symbols); - } var body = void 0; if (preferences.includeCompletionsWithSnippetText) { var emptyStmt = ts.factory.createEmptyStatement(); body = ts.factory.createBlock([emptyStmt], /* multiline */ true); - ts.setSnippetElement(emptyStmt, { kind: 0 /* TabStop */, order: 0 }); + ts.setSnippetElement(emptyStmt, { kind: 0 /* SnippetKind.TabStop */, order: 0 }); } else { body = ts.factory.createBlock([], /* multiline */ true); } + var parameters = typeNode.parameters.map(function (typedParam) { + return ts.factory.createParameterDeclaration( + /*decorators*/ undefined, + /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, typedParam.questionToken, + /*type*/ undefined, typedParam.initializer); + }); return ts.factory.createMethodDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, /*asteriskToken*/ undefined, name, - /*questionToken*/ undefined, typeNode.typeParameters, typeNode.parameters, typeNode.type, body); + /*questionToken*/ undefined, + /*typeParameters*/ undefined, parameters, + /*type*/ undefined, body); } default: return undefined; } } function createSnippetPrinter(printerOptions) { + var escapes; var baseWriter = ts.textChanges.createWriter(ts.getNewLineCharacter(printerOptions)); var printer = ts.createPrinter(printerOptions, baseWriter); - var writer = __assign(__assign({}, baseWriter), { write: function (s) { return baseWriter.write(ts.escapeSnippetText(s)); }, nonEscapingWrite: baseWriter.write, writeLiteral: function (s) { return baseWriter.writeLiteral(ts.escapeSnippetText(s)); }, writeStringLiteral: function (s) { return baseWriter.writeStringLiteral(ts.escapeSnippetText(s)); }, writeSymbol: function (s, symbol) { return baseWriter.writeSymbol(ts.escapeSnippetText(s), symbol); }, writeParameter: function (s) { return baseWriter.writeParameter(ts.escapeSnippetText(s)); }, writeComment: function (s) { return baseWriter.writeComment(ts.escapeSnippetText(s)); }, writeProperty: function (s) { return baseWriter.writeProperty(ts.escapeSnippetText(s)); } }); + var writer = __assign(__assign({}, baseWriter), { write: function (s) { return escapingWrite(s, function () { return baseWriter.write(s); }); }, nonEscapingWrite: baseWriter.write, writeLiteral: function (s) { return escapingWrite(s, function () { return baseWriter.writeLiteral(s); }); }, writeStringLiteral: function (s) { return escapingWrite(s, function () { return baseWriter.writeStringLiteral(s); }); }, writeSymbol: function (s, symbol) { return escapingWrite(s, function () { return baseWriter.writeSymbol(s, symbol); }); }, writeParameter: function (s) { return escapingWrite(s, function () { return baseWriter.writeParameter(s); }); }, writeComment: function (s) { return escapingWrite(s, function () { return baseWriter.writeComment(s); }); }, writeProperty: function (s) { return escapingWrite(s, function () { return baseWriter.writeProperty(s); }); } }); return { printSnippetList: printSnippetList, printAndFormatSnippetList: printAndFormatSnippetList, }; + // The formatter/scanner will have issues with snippet-escaped text, + // so instead of writing the escaped text directly to the writer, + // generate a set of changes that can be applied to the unescaped text + // to escape it post-formatting. + function escapingWrite(s, write) { + var escaped = ts.escapeSnippetText(s); + if (escaped !== s) { + var start = baseWriter.getTextPos(); + write(); + var end = baseWriter.getTextPos(); + escapes = ts.append(escapes || (escapes = []), { newText: escaped, span: { start: start, length: end - start } }); + } + else { + write(); + } + } /* Snippet-escaping version of `printer.printList`. */ function printSnippetList(format, list, sourceFile) { + var unescaped = printUnescapedSnippetList(format, list, sourceFile); + return escapes ? ts.textChanges.applyChanges(unescaped, escapes) : unescaped; + } + function printUnescapedSnippetList(format, list, sourceFile) { + escapes = undefined; writer.clear(); printer.writeList(format, list, sourceFile, writer); return writer.getText(); } function printAndFormatSnippetList(format, list, sourceFile, formatContext) { var syntheticFile = { - text: printSnippetList(format, list, sourceFile), + text: printUnescapedSnippetList(format, list, sourceFile), getLineAndCharacterOfPosition: function (pos) { return ts.getLineAndCharacterOfPosition(this, pos); }, @@ -132327,7 +132816,10 @@ var ts; /* indentation */ 0, /* delta */ 0, __assign(__assign({}, formatContext), { options: formatOptions })); }); - return ts.textChanges.applyChanges(syntheticFile.text, changes); + var allChanges = escapes + ? ts.stableSort(ts.concatenate(changes, escapes), function (a, b) { return ts.compareTextSpans(a.span, b.span); }) + : changes; + return ts.textChanges.applyChanges(syntheticFile.text, allChanges); } } function originToCompletionEntryData(origin) { @@ -132353,11 +132845,11 @@ var ts; return unresolvedData; } function completionEntryDataToSymbolOriginInfo(data, completionName, moduleSymbol) { - var isDefaultExport = data.exportName === "default" /* Default */; + var isDefaultExport = data.exportName === "default" /* InternalSymbolName.Default */; var isFromPackageJson = !!data.isPackageJsonImport; if (completionEntryDataIsResolved(data)) { var resolvedOrigin = { - kind: 32 /* ResolvedExport */, + kind: 32 /* SymbolOriginInfoKind.ResolvedExport */, exportName: data.exportName, moduleSpecifier: data.moduleSpecifier, symbolName: completionName, @@ -132369,7 +132861,7 @@ var ts; return resolvedOrigin; } var unresolvedOrigin = { - kind: 4 /* Export */, + kind: 4 /* SymbolOriginInfoKind.Export */, exportName: data.exportName, exportMapKey: data.exportMapKey, symbolName: completionName, @@ -132385,21 +132877,21 @@ var ts; var sourceFile = importCompletionNode.getSourceFile(); var replacementSpan = ts.createTextSpanFromNode(ts.findAncestor(importCompletionNode, ts.or(ts.isImportDeclaration, ts.isImportEqualsDeclaration)) || importCompletionNode, sourceFile); var quotedModuleSpecifier = ts.quote(sourceFile, preferences, origin.moduleSpecifier); - var exportKind = origin.isDefaultExport ? 1 /* Default */ : - origin.exportName === "export=" /* ExportEquals */ ? 2 /* ExportEquals */ : - 0 /* Named */; + var exportKind = origin.isDefaultExport ? 1 /* ExportKind.Default */ : + origin.exportName === "export=" /* InternalSymbolName.ExportEquals */ ? 2 /* ExportKind.ExportEquals */ : + 0 /* ExportKind.Named */; var tabStop = preferences.includeCompletionsWithSnippetText ? "$1" : ""; var importKind = ts.codefix.getImportKind(sourceFile, exportKind, options, /*forceImportKeyword*/ true); var isTopLevelTypeOnly = ((_b = (_a = ts.tryCast(importCompletionNode, ts.isImportDeclaration)) === null || _a === void 0 ? void 0 : _a.importClause) === null || _b === void 0 ? void 0 : _b.isTypeOnly) || ((_c = ts.tryCast(importCompletionNode, ts.isImportEqualsDeclaration)) === null || _c === void 0 ? void 0 : _c.isTypeOnly); var isImportSpecifierTypeOnly = couldBeTypeOnlyImportSpecifier(importCompletionNode, contextToken); - var topLevelTypeOnlyText = isTopLevelTypeOnly ? " " + ts.tokenToString(152 /* TypeKeyword */) + " " : " "; - var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? ts.tokenToString(152 /* TypeKeyword */) + " " : ""; + var topLevelTypeOnlyText = isTopLevelTypeOnly ? " ".concat(ts.tokenToString(152 /* SyntaxKind.TypeKeyword */), " ") : " "; + var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? "".concat(ts.tokenToString(152 /* SyntaxKind.TypeKeyword */), " ") : ""; var suffix = useSemicolons ? ";" : ""; switch (importKind) { - case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " = require(" + quotedModuleSpecifier + ")" + suffix }; - case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " from " + quotedModuleSpecifier + suffix }; - case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "* as " + ts.escapeSnippetText(name) + " from " + quotedModuleSpecifier + suffix }; - case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "{ " + importSpecifierTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " } from " + quotedModuleSpecifier + suffix }; + case 3 /* ImportKind.CommonJS */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " = require(").concat(quotedModuleSpecifier, ")").concat(suffix) }; + case 1 /* ImportKind.Default */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " from ").concat(quotedModuleSpecifier).concat(suffix) }; + case 2 /* ImportKind.Namespace */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "* as ").concat(ts.escapeSnippetText(name), " from ").concat(quotedModuleSpecifier).concat(suffix) }; + case 0 /* ImportKind.Named */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "{ ").concat(importSpecifierTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " } from ").concat(quotedModuleSpecifier).concat(suffix) }; } } function quotePropertyName(sourceFile, preferences, name) { @@ -132410,7 +132902,7 @@ var ts; } function isRecommendedCompletionMatch(localSymbol, recommendedCompletion, checker) { return localSymbol === recommendedCompletion || - !!(localSymbol.flags & 1048576 /* ExportValue */) && checker.getExportSymbolOfSymbol(localSymbol) === recommendedCompletion; + !!(localSymbol.flags & 1048576 /* SymbolFlags.ExportValue */) && checker.getExportSymbolOfSymbol(localSymbol) === recommendedCompletion; } function getSourceFromOrigin(origin) { if (originIsExport(origin)) { @@ -132419,10 +132911,10 @@ var ts; if (originIsResolvedExport(origin)) { return origin.moduleSpecifier; } - if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 1 /* ThisType */) { + if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 1 /* SymbolOriginInfoKind.ThisType */) { return CompletionSource.ThisProperty; } - if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) { + if ((origin === null || origin === void 0 ? void 0 : origin.kind) === 64 /* SymbolOriginInfoKind.TypeOnlyAlias */) { return CompletionSource.TypeOnlyAlias; } } @@ -132441,7 +132933,7 @@ var ts; var symbol = symbols[i]; var origin = symbolToOriginInfoMap === null || symbolToOriginInfoMap === void 0 ? void 0 : symbolToOriginInfoMap[i]; var info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, !!jsxIdentifierExpected); - if (!info || (uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin))) || kind === 1 /* Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) { + if (!info || (uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin))) || kind === 1 /* CompletionKind.Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) { continue; } var name = info.name, needsConvertPropertyAccess = info.needsConvertPropertyAccess; @@ -132494,7 +132986,7 @@ var ts; allFlags |= ts.getCombinedLocalAndExportSymbolFlags(symbolOrigin); // import m = /**/ <-- It can only access namespace (if typing import = x. this would get member symbols and not namespace) if (ts.isInRightSideOfInternalImportEqualsDeclaration(location)) { - return !!(allFlags & 1920 /* Namespace */); + return !!(allFlags & 1920 /* SymbolFlags.Namespace */); } if (isTypeOnlyLocation) { // It's a type, but you can reach it by namespace.type as well @@ -132502,7 +132994,7 @@ var ts; } } // expressions are value space (which includes the value namespaces) - return !!(allFlags & 111551 /* Value */); + return !!(allFlags & 111551 /* SymbolFlags.Value */); } } Completions.getCompletionEntriesFromSymbols = getCompletionEntriesFromSymbols; @@ -132526,8 +133018,8 @@ var ts; uniques.set(name, true); entries.push({ name: name, - kindModifiers: "" /* none */, - kind: "label" /* label */, + kindModifiers: "" /* ScriptElementKindModifier.none */, + kind: "label" /* ScriptElementKind.label */, sortText: Completions.SortText.LocationPriority }); } @@ -132558,7 +133050,7 @@ var ts; if (!completionData) { return { type: "none" }; } - if (completionData.kind !== 0 /* Data */) { + if (completionData.kind !== 0 /* CompletionDataKind.Data */) { return { type: "request", request: completionData }; } var symbols = completionData.symbols, literals = completionData.literals, location = completionData.location, completionKind = completionData.completionKind, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, contextToken = completionData.contextToken, previousToken = completionData.previousToken, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation; @@ -132572,8 +133064,8 @@ var ts; return ts.firstDefined(symbols, function (symbol, index) { var origin = symbolToOriginInfoMap[index]; var info = getCompletionEntryDisplayNameForSymbol(symbol, ts.getEmitScriptTarget(compilerOptions), origin, completionKind, completionData.isJsxIdentifierExpected); - return info && info.name === entryId.name && (entryId.source === CompletionSource.ClassMemberSnippet && symbol.flags & 106500 /* ClassMember */ - || entryId.source === CompletionSource.ObjectLiteralMethodSnippet && symbol.flags & (4 /* Property */ | 8192 /* Method */) + return info && info.name === entryId.name && (entryId.source === CompletionSource.ClassMemberSnippet && symbol.flags & 106500 /* SymbolFlags.ClassMember */ + || entryId.source === CompletionSource.ObjectLiteralMethodSnippet && symbol.flags & (4 /* SymbolFlags.Property */ | 8192 /* SymbolFlags.Method */) || getSourceFromOrigin(origin) === entryId.source) ? { type: "symbol", symbol: symbol, location: location, origin: origin, contextToken: contextToken, previousToken: previousToken, isJsxInitializer: isJsxInitializer, isTypeOnlyLocation: isTypeOnlyLocation } : undefined; @@ -132593,14 +133085,14 @@ var ts; case "request": { var request = symbolCompletion.request; switch (request.kind) { - case 1 /* JsDocTagName */: + case 1 /* CompletionDataKind.JsDocTagName */: return ts.JsDoc.getJSDocTagNameCompletionDetails(name); - case 2 /* JsDocTag */: + case 2 /* CompletionDataKind.JsDocTag */: return ts.JsDoc.getJSDocTagCompletionDetails(name); - case 3 /* JsDocParameterName */: + case 3 /* CompletionDataKind.JsDocParameterName */: return ts.JsDoc.getJSDocParameterNameCompletionDetails(name); - case 4 /* Keywords */: - return ts.some(request.keywordCompletions, function (c) { return c.name === name; }) ? createSimpleDetails(name, "keyword" /* keyword */, ts.SymbolDisplayPartKind.keyword) : undefined; + case 4 /* CompletionDataKind.Keywords */: + return ts.some(request.keywordCompletions, function (c) { return c.name === name; }) ? createSimpleDetails(name, "keyword" /* ScriptElementKind.keyword */, ts.SymbolDisplayPartKind.keyword) : undefined; default: return ts.Debug.assertNever(request); } @@ -132612,22 +133104,22 @@ var ts; } case "literal": { var literal = symbolCompletion.literal; - return createSimpleDetails(completionNameForLiteral(sourceFile, preferences, literal), "string" /* string */, typeof literal === "string" ? ts.SymbolDisplayPartKind.stringLiteral : ts.SymbolDisplayPartKind.numericLiteral); + return createSimpleDetails(completionNameForLiteral(sourceFile, preferences, literal), "string" /* ScriptElementKind.string */, typeof literal === "string" ? ts.SymbolDisplayPartKind.stringLiteral : ts.SymbolDisplayPartKind.numericLiteral); } case "none": // Didn't find a symbol with this name. See if we can find a keyword instead. - return allKeywordsCompletions().some(function (c) { return c.name === name; }) ? createSimpleDetails(name, "keyword" /* keyword */, ts.SymbolDisplayPartKind.keyword) : undefined; + return allKeywordsCompletions().some(function (c) { return c.name === name; }) ? createSimpleDetails(name, "keyword" /* ScriptElementKind.keyword */, ts.SymbolDisplayPartKind.keyword) : undefined; default: ts.Debug.assertNever(symbolCompletion); } } Completions.getCompletionEntryDetails = getCompletionEntryDetails; function createSimpleDetails(name, kind, kind2) { - return createCompletionDetails(name, "" /* none */, kind, [ts.displayPart(name, kind2)]); + return createCompletionDetails(name, "" /* ScriptElementKindModifier.none */, kind, [ts.displayPart(name, kind2)]); } function createCompletionDetailsForSymbol(symbol, checker, sourceFile, location, cancellationToken, codeActions, sourceDisplay) { var _a = checker.runWithCancellationToken(cancellationToken, function (checker) { - return ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(checker, symbol, sourceFile, location, location, 7 /* All */); + return ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(checker, symbol, sourceFile, location, location, 7 /* SemanticMeaning.All */); }), displayParts = _a.displayParts, documentation = _a.documentation, symbolKind = _a.symbolKind, tags = _a.tags; return createCompletionDetails(symbol.name, ts.SymbolDisplay.getSymbolModifiers(checker, symbol), symbolKind, displayParts, documentation, tags, codeActions, sourceDisplay); } @@ -132656,20 +133148,6 @@ var ts; }; } } - if (source === CompletionSource.ObjectLiteralMethodSnippet) { - var enclosingDeclaration = tryGetObjectLikeCompletionContainer(contextToken); - var importAdder = getEntryForObjectLiteralMethodCompletion(symbol, name, enclosingDeclaration, program, host, compilerOptions, preferences, formatContext).importAdder; - if (importAdder.hasFixes()) { - var changes = ts.textChanges.ChangeTracker.with({ host: host, formatContext: formatContext, preferences: preferences }, importAdder.writeFixes); - return { - sourceDisplay: undefined, - codeActions: [{ - changes: changes, - description: ts.diagnosticToString([ts.Diagnostics.Includes_imports_of_types_referenced_by_0, name]), - }], - }; - } - } if (originIsTypeOnlyAlias(origin)) { var codeAction_1 = ts.codefix.getPromoteTypeOnlyCompletionAction(sourceFile, origin.declaration.name, program, host, formatContext, preferences); ts.Debug.assertIsDefined(codeAction_1, "Expected to have a code action for promoting type-only alias"); @@ -132681,7 +133159,7 @@ var ts; var checker = origin.isFromPackageJson ? host.getPackageJsonAutoImportProvider().getTypeChecker() : program.getTypeChecker(); var moduleSymbol = origin.moduleSymbol; var targetSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); - var isJsxOpeningTagName = (contextToken === null || contextToken === void 0 ? void 0 : contextToken.kind) === 29 /* LessThanToken */ && ts.isJsxOpeningLikeElement(contextToken.parent); + var isJsxOpeningTagName = (contextToken === null || contextToken === void 0 ? void 0 : contextToken.kind) === 29 /* SyntaxKind.LessThanToken */ && ts.isJsxOpeningLikeElement(contextToken.parent); var _a = ts.codefix.getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, ts.getNameForExportedSymbol(symbol, ts.getEmitScriptTarget(compilerOptions), isJsxOpeningTagName), isJsxOpeningTagName, host, program, formatContext, previousToken && ts.isIdentifier(previousToken) ? previousToken.getStart(sourceFile) : position, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; ts.Debug.assert(!(data === null || data === void 0 ? void 0 : data.moduleSpecifier) || moduleSpecifier === data.moduleSpecifier); return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; @@ -132713,7 +133191,7 @@ var ts; return ts.firstDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (type) { var symbol = type && type.symbol; // Don't include make a recommended completion for an abstract class - return symbol && (symbol.flags & (8 /* EnumMember */ | 384 /* Enum */ | 32 /* Class */) && !ts.isAbstractConstructorSymbol(symbol)) + return symbol && (symbol.flags & (8 /* SymbolFlags.EnumMember */ | 384 /* SymbolFlags.Enum */ | 32 /* SymbolFlags.Class */) && !ts.isAbstractConstructorSymbol(symbol)) ? getFirstSymbolInChain(symbol, previousToken, checker) : undefined; }); @@ -132721,31 +133199,31 @@ var ts; function getContextualType(previousToken, position, sourceFile, checker) { var parent = previousToken.parent; switch (previousToken.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return ts.getContextualTypeFromParent(previousToken, checker); - case 63 /* EqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: switch (parent.kind) { - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return checker.getContextualType(parent.initializer); // TODO: GH#18217 - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return checker.getTypeAtLocation(parent.left); - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; } - case 103 /* NewKeyword */: + case 103 /* SyntaxKind.NewKeyword */: return checker.getContextualType(parent); - case 82 /* CaseKeyword */: + case 82 /* SyntaxKind.CaseKeyword */: var caseClause = ts.tryCast(parent, ts.isCaseClause); return caseClause ? ts.getSwitchedType(caseClause, checker) : undefined; - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: return ts.isJsxExpression(parent) && !ts.isJsxElement(parent.parent) && !ts.isJsxFragment(parent.parent) ? checker.getContextualTypeForJsxAttribute(parent.parent) : undefined; default: var argInfo = ts.SignatureHelp.getArgumentInfoForCompletions(previousToken, position, sourceFile); return argInfo ? // At `,`, treat this as the next argument after the comma. - checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (previousToken.kind === 27 /* CommaToken */ ? 1 : 0)) : + checker.getContextualTypeForArgumentAtIndex(argInfo.invocation, argInfo.argumentIndex + (previousToken.kind === 27 /* SyntaxKind.CommaToken */ ? 1 : 0)) : ts.isEqualityOperatorKind(previousToken.kind) && ts.isBinaryExpression(parent) && ts.isEqualityOperatorKind(parent.operatorToken.kind) ? // completion at `x ===/**/` should be for the right side checker.getTypeAtLocation(parent.left) : @@ -132753,14 +133231,14 @@ var ts; } } function getFirstSymbolInChain(symbol, enclosingDeclaration, checker) { - var chain = checker.getAccessibleSymbolChain(symbol, enclosingDeclaration, /*meaning*/ 67108863 /* All */, /*useOnlyExternalAliasing*/ false); + var chain = checker.getAccessibleSymbolChain(symbol, enclosingDeclaration, /*meaning*/ 67108863 /* SymbolFlags.All */, /*useOnlyExternalAliasing*/ false); if (chain) return ts.first(chain); return symbol.parent && (isModuleSymbol(symbol.parent) ? symbol : getFirstSymbolInChain(symbol.parent, enclosingDeclaration, checker)); } function isModuleSymbol(symbol) { var _a; - return !!((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.kind === 305 /* SourceFile */; })); + return !!((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.kind === 305 /* SyntaxKind.SourceFile */; })); } function getCompletionData(program, log, sourceFile, compilerOptions, position, preferences, detailsEntryId, host, formatContext, cancellationToken) { var typeChecker = program.getTypeChecker(); @@ -132776,10 +133254,10 @@ var ts; var isInSnippetScope = false; if (insideComment) { if (ts.hasDocComment(sourceFile, position)) { - if (sourceFile.text.charCodeAt(position - 1) === 64 /* at */) { + if (sourceFile.text.charCodeAt(position - 1) === 64 /* CharacterCodes.at */) { // The current position is next to the '@' sign, when no tag name being provided yet. // Provide a full list of tag names - return { kind: 1 /* JsDocTagName */ }; + return { kind: 1 /* CompletionDataKind.JsDocTagName */ }; } else { // When completion is requested without "@", we will have check to make sure that @@ -132800,7 +133278,7 @@ var ts; // */ var lineStart = ts.getLineStartPositionForPosition(position, sourceFile); if (!/[^\*|\s(/)]/.test(sourceFile.text.substring(lineStart, position))) { - return { kind: 2 /* JsDocTag */ }; + return { kind: 2 /* CompletionDataKind.JsDocTag */ }; } } } @@ -132810,21 +133288,21 @@ var ts; var tag = getJsDocTagAtPosition(currentToken, position); if (tag) { if (tag.tagName.pos <= position && position <= tag.tagName.end) { - return { kind: 1 /* JsDocTagName */ }; + return { kind: 1 /* CompletionDataKind.JsDocTagName */ }; } var typeExpression = tryGetTypeExpressionFromTag(tag); if (typeExpression) { currentToken = ts.getTokenAtPosition(sourceFile, position); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 347 /* JSDocPropertyTag */ || + (currentToken.parent.kind !== 347 /* SyntaxKind.JSDocPropertyTag */ || currentToken.parent.name !== currentToken))) { // Use as type location if inside tag's type expression insideJsDocTagTypeExpression = isCurrentlyEditingNode(typeExpression); } } if (!insideJsDocTagTypeExpression && ts.isJSDocParameterTag(tag) && (ts.nodeIsMissing(tag.name) || tag.name.pos <= position && position <= tag.name.end)) { - return { kind: 3 /* JsDocParameterName */, tag: tag }; + return { kind: 3 /* CompletionDataKind.JsDocParameterName */, tag: tag }; } } if (!insideJsDocTagTypeExpression) { @@ -132855,15 +133333,16 @@ var ts; var isJsxIdentifierExpected = false; var importCompletionNode; var location = ts.getTouchingPropertyName(sourceFile, position); - var keywordFilters = 0 /* None */; + var keywordFilters = 0 /* KeywordCompletionFilters.None */; var isNewIdentifierLocation = false; + var flags = 0 /* CompletionInfoFlags.None */; if (contextToken) { var importStatementCompletion = getImportStatementCompletionInfo(contextToken); isNewIdentifierLocation = importStatementCompletion.isNewIdentifierLocation; if (importStatementCompletion.keywordCompletion) { if (importStatementCompletion.isKeywordOnlyCompletion) { return { - kind: 4 /* Keywords */, + kind: 4 /* CompletionDataKind.Keywords */, keywordCompletions: [keywordToCompletionEntry(importStatementCompletion.keywordCompletion)], isNewIdentifierLocation: isNewIdentifierLocation, }; @@ -132876,6 +133355,7 @@ var ts; // is not backward compatible with older clients, the language service defaults to disabling it, allowing newer clients // to opt in with the `includeCompletionsForImportStatements` user preference. importCompletionNode = importStatementCompletion.replacementNode; + flags |= 2 /* CompletionInfoFlags.IsImportStatementCompletion */; } // Bail out if this is a known invalid completion location if (!importCompletionNode && isCompletionListBlocker(contextToken)) { @@ -132885,11 +133365,11 @@ var ts; : undefined; } var parent = contextToken.parent; - if (contextToken.kind === 24 /* DotToken */ || contextToken.kind === 28 /* QuestionDotToken */) { - isRightOfDot = contextToken.kind === 24 /* DotToken */; - isRightOfQuestionDot = contextToken.kind === 28 /* QuestionDotToken */; + if (contextToken.kind === 24 /* SyntaxKind.DotToken */ || contextToken.kind === 28 /* SyntaxKind.QuestionDotToken */) { + isRightOfDot = contextToken.kind === 24 /* SyntaxKind.DotToken */; + isRightOfQuestionDot = contextToken.kind === 28 /* SyntaxKind.QuestionDotToken */; switch (parent.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; var leftmostAccessExpression = ts.getLeftmostAccessExpression(propertyAccessToConvert); @@ -132897,7 +133377,7 @@ var ts; ((ts.isCallExpression(node) || ts.isFunctionLike(node)) && node.end === contextToken.pos && node.getChildCount(sourceFile) && - ts.last(node.getChildren(sourceFile)).kind !== 21 /* CloseParenToken */)) { + ts.last(node.getChildren(sourceFile)).kind !== 21 /* SyntaxKind.CloseParenToken */)) { // This is likely dot from incorrectly parsed expression and user is starting to write spread // eg: Math.min(./**/) // const x = function (./**/) {} @@ -132905,18 +133385,18 @@ var ts; return undefined; } break; - case 161 /* QualifiedName */: + case 161 /* SyntaxKind.QualifiedName */: node = parent.left; break; - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: node = parent.name; break; - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: node = parent; break; - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: node = parent.getFirstToken(sourceFile); - ts.Debug.assert(node.kind === 100 /* ImportKeyword */ || node.kind === 103 /* NewKeyword */); + ts.Debug.assert(node.kind === 100 /* SyntaxKind.ImportKeyword */ || node.kind === 103 /* SyntaxKind.NewKeyword */); break; default: // There is nothing that precedes the dot, so this likely just a stray character @@ -132924,58 +133404,58 @@ var ts; return undefined; } } - else if (!importCompletionNode && sourceFile.languageVariant === 1 /* JSX */) { + else if (!importCompletionNode && sourceFile.languageVariant === 1 /* LanguageVariant.JSX */) { // // If the tagname is a property access expression, we will then walk up to the top most of property access expression. // Then, try to get a JSX container and its associated attributes type. - if (parent && parent.kind === 206 /* PropertyAccessExpression */) { + if (parent && parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { contextToken = parent; parent = parent.parent; } // Fix location if (currentToken.parent === location) { switch (currentToken.kind) { - case 31 /* GreaterThanToken */: - if (currentToken.parent.kind === 278 /* JsxElement */ || currentToken.parent.kind === 280 /* JsxOpeningElement */) { + case 31 /* SyntaxKind.GreaterThanToken */: + if (currentToken.parent.kind === 278 /* SyntaxKind.JsxElement */ || currentToken.parent.kind === 280 /* SyntaxKind.JsxOpeningElement */) { location = currentToken; } break; - case 43 /* SlashToken */: - if (currentToken.parent.kind === 279 /* JsxSelfClosingElement */) { + case 43 /* SyntaxKind.SlashToken */: + if (currentToken.parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */) { location = currentToken; } break; } } switch (parent.kind) { - case 281 /* JsxClosingElement */: - if (contextToken.kind === 43 /* SlashToken */) { + case 281 /* SyntaxKind.JsxClosingElement */: + if (contextToken.kind === 43 /* SyntaxKind.SlashToken */) { isStartingCloseTag = true; location = contextToken; } break; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: if (!binaryExpressionMayBeOpenTag(parent)) { break; } // falls through - case 279 /* JsxSelfClosingElement */: - case 278 /* JsxElement */: - case 280 /* JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 278 /* SyntaxKind.JsxElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: isJsxIdentifierExpected = true; - if (contextToken.kind === 29 /* LessThanToken */) { + if (contextToken.kind === 29 /* SyntaxKind.LessThanToken */) { isRightOfOpenTag = true; location = contextToken; } break; - case 288 /* JsxExpression */: - case 287 /* JsxSpreadAttribute */: + case 288 /* SyntaxKind.JsxExpression */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: // For `
`, `parent` will be `{true}` and `previousToken` will be `}` - if (previousToken.kind === 19 /* CloseBraceToken */ && currentToken.kind === 31 /* GreaterThanToken */) { + if (previousToken.kind === 19 /* SyntaxKind.CloseBraceToken */ && currentToken.kind === 31 /* SyntaxKind.GreaterThanToken */) { isJsxIdentifierExpected = true; } break; - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: // For `
`, `parent` will be JsxAttribute and `previousToken` will be its initializer if (parent.initializer === previousToken && previousToken.end < position) { @@ -132983,16 +133463,16 @@ var ts; break; } switch (previousToken.kind) { - case 63 /* EqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: isJsxInitializer = true; break; - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: isJsxIdentifierExpected = true; // For `
` we don't want to treat this as a jsx inializer, instead it's the attribute name. if (parent !== previousToken.parent && !parent.initializer && - ts.findChildOfKind(parent, 63 /* EqualsToken */, sourceFile)) { + ts.findChildOfKind(parent, 63 /* SyntaxKind.EqualsToken */, sourceFile)) { isJsxInitializer = previousToken; } } @@ -133001,7 +133481,7 @@ var ts; } } var semanticStart = ts.timestamp(); - var completionKind = 5 /* None */; + var completionKind = 5 /* CompletionKind.None */; var isNonContextualObjectLiteral = false; var hasUnresolvedAutoImports = false; // This also gets mutated in nested-functions after the return @@ -133020,8 +133500,8 @@ var ts; symbols = typeChecker.getJsxIntrinsicTagNamesAt(location); ts.Debug.assertEachIsDefined(symbols, "getJsxIntrinsicTagNames() should all be defined"); tryGetGlobalSymbols(); - completionKind = 1 /* Global */; - keywordFilters = 0 /* None */; + completionKind = 1 /* CompletionKind.Global */; + keywordFilters = 0 /* KeywordCompletionFilters.None */; } else if (isStartingCloseTag) { var tagName = contextToken.parent.parent.openingElement.tagName; @@ -133029,8 +133509,8 @@ var ts; if (tagSymbol) { symbols = [tagSymbol]; } - completionKind = 1 /* Global */; - keywordFilters = 0 /* None */; + completionKind = 1 /* CompletionKind.Global */; + keywordFilters = 0 /* KeywordCompletionFilters.None */; } else { // For JavaScript or TypeScript, if we're not after a dot, then just try to get the @@ -133044,10 +133524,10 @@ var ts; } log("getCompletionData: Semantic work: " + (ts.timestamp() - semanticStart)); var contextualType = previousToken && getContextualType(previousToken, position, sourceFile, typeChecker); - var literals = ts.mapDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (t) { return t.isLiteral() && !(t.flags & 1024 /* EnumLiteral */) ? t.value : undefined; }); + var literals = ts.mapDefined(contextualType && (contextualType.isUnion() ? contextualType.types : [contextualType]), function (t) { return t.isLiteral() && !(t.flags & 1024 /* TypeFlags.EnumLiteral */) ? t.value : undefined; }); var recommendedCompletion = previousToken && contextualType && getRecommendedCompletion(previousToken, contextualType, typeChecker); return { - kind: 0 /* Data */, + kind: 0 /* CompletionDataKind.Data */, symbols: symbols, completionKind: completionKind, isInSnippetScope: isInSnippetScope, @@ -133068,16 +133548,17 @@ var ts; isRightOfOpenTag: isRightOfOpenTag, importCompletionNode: importCompletionNode, hasUnresolvedAutoImports: hasUnresolvedAutoImports, + flags: flags, }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 340 /* JSDocParameterTag */: - case 347 /* JSDocPropertyTag */: - case 341 /* JSDocReturnTag */: - case 343 /* JSDocTypeTag */: - case 345 /* JSDocTypedefTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: + case 341 /* SyntaxKind.JSDocReturnTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: return true; - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return !!tag.constraint; default: return false; @@ -133086,13 +133567,13 @@ var ts; function tryGetTypeExpressionFromTag(tag) { if (isTagWithTypeExpression(tag)) { var typeExpression = ts.isJSDocTemplateTag(tag) ? tag.constraint : tag.typeExpression; - return typeExpression && typeExpression.kind === 309 /* JSDocTypeExpression */ ? typeExpression : undefined; + return typeExpression && typeExpression.kind === 309 /* SyntaxKind.JSDocTypeExpression */ ? typeExpression : undefined; } return undefined; } function getTypeScriptMemberSymbols() { // Right of dot member completion list - completionKind = 2 /* PropertyAccess */; + completionKind = 2 /* CompletionKind.PropertyAccess */; // Since this is qualified name check it's a type node location var isImportType = ts.isLiteralImportTypeNode(node); var isTypeLocation = insideJsDocTagTypeExpression @@ -133107,7 +133588,7 @@ var ts; var symbol = typeChecker.getSymbolAtLocation(node); if (symbol) { symbol = ts.skipAlias(symbol, typeChecker); - if (symbol.flags & (1536 /* Module */ | 384 /* Enum */)) { + if (symbol.flags & (1536 /* SymbolFlags.Module */ | 384 /* SymbolFlags.Enum */)) { // Extract module or enum members var exportedSymbols = typeChecker.getExportsOfModule(symbol); ts.Debug.assertEachIsDefined(exportedSymbols, "getExportsOfModule() should all be defined"); @@ -133115,7 +133596,7 @@ var ts; var isValidTypeAccess_1 = function (symbol) { return symbolCanBeReferencedAtTypeLocation(symbol, typeChecker); }; var isValidAccess = isNamespaceName // At `namespace N.M/**/`, if this is the only declaration of `M`, don't include `M` as a completion. - ? function (symbol) { var _a; return !!(symbol.flags & 1920 /* Namespace */) && !((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.every(function (d) { return d.parent === node.parent; })); } + ? function (symbol) { var _a; return !!(symbol.flags & 1920 /* SymbolFlags.Namespace */) && !((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.every(function (d) { return d.parent === node.parent; })); } : isRhsOfImportDeclaration ? // Any kind is allowed when dotting off namespace in internal import equals declaration function (symbol) { return isValidTypeAccess_1(symbol) || isValidValueAccess_1(symbol); } : @@ -133129,7 +133610,7 @@ var ts; // If the module is merged with a value, we must get the type of the class and add its propertes (for inherited static methods). if (!isTypeLocation && symbol.declarations && - symbol.declarations.some(function (d) { return d.kind !== 305 /* SourceFile */ && d.kind !== 261 /* ModuleDeclaration */ && d.kind !== 260 /* EnumDeclaration */; })) { + symbol.declarations.some(function (d) { return d.kind !== 305 /* SyntaxKind.SourceFile */ && d.kind !== 261 /* SyntaxKind.ModuleDeclaration */ && d.kind !== 260 /* SyntaxKind.EnumDeclaration */; })) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, node).getNonOptionalType(); var insertQuestionDot = false; if (type.isNullableType()) { @@ -133143,7 +133624,7 @@ var ts; } } } - addTypeProperties(type, !!(node.flags & 32768 /* AwaitContext */), insertQuestionDot); + addTypeProperties(type, !!(node.flags & 32768 /* NodeFlags.AwaitContext */), insertQuestionDot); } return; } @@ -133167,7 +133648,7 @@ var ts; } } } - addTypeProperties(type, !!(node.flags & 32768 /* AwaitContext */), insertQuestionDot); + addTypeProperties(type, !!(node.flags & 32768 /* NodeFlags.AwaitContext */), insertQuestionDot); } } function addTypeProperties(type, insertAwait, insertQuestionDot) { @@ -133175,7 +133656,7 @@ var ts; if (isRightOfQuestionDot && ts.some(type.getCallSignatures())) { isNewIdentifierLocation = true; } - var propertyAccess = node.kind === 200 /* ImportType */ ? node : node.parent; + var propertyAccess = node.kind === 200 /* SyntaxKind.ImportType */ ? node : node.parent; if (inUncheckedFile) { // In javascript files, for union types, we don't just get the members that // the individual types have in common, we also include all the members that @@ -133222,21 +133703,21 @@ var ts; if (!moduleSymbol || !ts.isExternalModuleSymbol(moduleSymbol) || typeChecker.tryGetMemberInModuleExportsAndProperties(firstAccessibleSymbol.name, moduleSymbol) !== firstAccessibleSymbol) { - symbolToOriginInfoMap[index] = { kind: getNullableSymbolOriginInfoKind(2 /* SymbolMemberNoExport */) }; + symbolToOriginInfoMap[index] = { kind: getNullableSymbolOriginInfoKind(2 /* SymbolOriginInfoKind.SymbolMemberNoExport */) }; } else { var fileName = ts.isExternalModuleNameRelative(ts.stripQuotes(moduleSymbol.name)) ? (_a = ts.getSourceFileOfModule(moduleSymbol)) === null || _a === void 0 ? void 0 : _a.fileName : undefined; var moduleSpecifier = (ts.codefix.getModuleSpecifierForBestExportInfo([{ - exportKind: 0 /* Named */, + exportKind: 0 /* ExportKind.Named */, moduleFileName: fileName, isFromPackageJson: false, moduleSymbol: moduleSymbol, symbol: firstAccessibleSymbol, targetFlags: ts.skipAlias(firstAccessibleSymbol, typeChecker).flags, - }], sourceFile, program, host, preferences) || {}).moduleSpecifier; + }], firstAccessibleSymbol.name, position, ts.isValidTypeOnlyAliasUseSite(location), sourceFile, program, host, preferences) || {}).moduleSpecifier; if (moduleSpecifier) { var origin = { - kind: getNullableSymbolOriginInfoKind(6 /* SymbolMemberExport */), + kind: getNullableSymbolOriginInfoKind(6 /* SymbolOriginInfoKind.SymbolMemberExport */), moduleSymbol: moduleSymbol, isDefaultExport: false, symbolName: firstAccessibleSymbol.name, @@ -133267,15 +133748,15 @@ var ts; function addSymbolOriginInfo(symbol) { if (preferences.includeCompletionsWithInsertText) { if (insertAwait && ts.addToSeen(seenPropertySymbols, ts.getSymbolId(symbol))) { - symbolToOriginInfoMap[symbols.length] = { kind: getNullableSymbolOriginInfoKind(8 /* Promise */) }; + symbolToOriginInfoMap[symbols.length] = { kind: getNullableSymbolOriginInfoKind(8 /* SymbolOriginInfoKind.Promise */) }; } else if (insertQuestionDot) { - symbolToOriginInfoMap[symbols.length] = { kind: 16 /* Nullable */ }; + symbolToOriginInfoMap[symbols.length] = { kind: 16 /* SymbolOriginInfoKind.Nullable */ }; } } } function getNullableSymbolOriginInfoKind(kind) { - return insertQuestionDot ? kind | 16 /* Nullable */ : kind; + return insertQuestionDot ? kind | 16 /* SymbolOriginInfoKind.Nullable */ : kind; } } /** Given 'a.b.c', returns 'a'. */ @@ -133291,44 +133772,44 @@ var ts; || tryGetConstructorCompletion() || tryGetClassLikeCompletionSymbols() || tryGetJsxCompletionSymbols() - || (getGlobalCompletions(), 1 /* Success */); - return result === 1 /* Success */; + || (getGlobalCompletions(), 1 /* GlobalsSearch.Success */); + return result === 1 /* GlobalsSearch.Success */; } function tryGetConstructorCompletion() { if (!tryGetConstructorLikeCompletionContainer(contextToken)) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; // no members, only keywords - completionKind = 5 /* None */; + completionKind = 5 /* CompletionKind.None */; // Declaring new property/method/accessor isNewIdentifierLocation = true; // Has keywords for constructor parameter - keywordFilters = 4 /* ConstructorParameterKeywords */; - return 1 /* Success */; + keywordFilters = 4 /* KeywordCompletionFilters.ConstructorParameterKeywords */; + return 1 /* GlobalsSearch.Success */; } function tryGetJsxCompletionSymbols() { var jsxContainer = tryGetContainingJsxElement(contextToken); // Cursor is inside a JSX self-closing element or opening element var attrsType = jsxContainer && typeChecker.getContextualType(jsxContainer.attributes); if (!attrsType) - return 0 /* Continue */; - var completionsType = jsxContainer && typeChecker.getContextualType(jsxContainer.attributes, 4 /* Completions */); + return 0 /* GlobalsSearch.Continue */; + var completionsType = jsxContainer && typeChecker.getContextualType(jsxContainer.attributes, 4 /* ContextFlags.Completions */); symbols = ts.concatenate(symbols, filterJsxAttributes(getPropertiesForObjectExpression(attrsType, completionsType, jsxContainer.attributes, typeChecker), jsxContainer.attributes.properties)); setSortTextToOptionalMember(); - completionKind = 3 /* MemberLike */; + completionKind = 3 /* CompletionKind.MemberLike */; isNewIdentifierLocation = false; - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } function tryGetImportCompletionSymbols() { if (!importCompletionNode) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; isNewIdentifierLocation = true; collectAutoImports(); - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } function getGlobalCompletions() { - keywordFilters = tryGetFunctionLikeBodyCompletionContainer(contextToken) ? 5 /* FunctionLikeBodyKeywords */ : 1 /* All */; + keywordFilters = tryGetFunctionLikeBodyCompletionContainer(contextToken) ? 5 /* KeywordCompletionFilters.FunctionLikeBodyKeywords */ : 1 /* KeywordCompletionFilters.All */; // Get all entities in the current scope. - completionKind = 1 /* Global */; + completionKind = 1 /* CompletionKind.Global */; isNewIdentifierLocation = isNewIdentifierDefinitionLocation(); if (previousToken !== contextToken) { ts.Debug.assert(!!previousToken, "Expected 'contextToken' to be defined when different from 'previousToken'."); @@ -133363,7 +133844,7 @@ var ts; position; var scopeNode = getScopeNode(contextToken, adjustedPosition, sourceFile) || sourceFile; isInSnippetScope = isSnippetScope(scopeNode); - var symbolMeanings = (isTypeOnlyLocation ? 0 /* None */ : 111551 /* Value */) | 788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */; + var symbolMeanings = (isTypeOnlyLocation ? 0 /* SymbolFlags.None */ : 111551 /* SymbolFlags.Value */) | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */; var typeOnlyAliasNeedsPromotion = previousToken && !ts.isValidTypeOnlyAliasUseSite(previousToken); symbols = ts.concatenate(symbols, typeChecker.getSymbolsInScope(scopeNode, symbolMeanings)); ts.Debug.assertEachIsDefined(symbols, "getSymbolsInScope() should all be defined"); @@ -133373,21 +133854,21 @@ var ts; !ts.some(symbol.declarations, function (d) { return d.getSourceFile() === sourceFile; })) { symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.GlobalsOrKeywords; } - if (typeOnlyAliasNeedsPromotion && !(symbol.flags & 111551 /* Value */)) { + if (typeOnlyAliasNeedsPromotion && !(symbol.flags & 111551 /* SymbolFlags.Value */)) { var typeOnlyAliasDeclaration = symbol.declarations && ts.find(symbol.declarations, ts.isTypeOnlyImportOrExportDeclaration); if (typeOnlyAliasDeclaration) { - var origin = { kind: 64 /* TypeOnlyAlias */, declaration: typeOnlyAliasDeclaration }; + var origin = { kind: 64 /* SymbolOriginInfoKind.TypeOnlyAlias */, declaration: typeOnlyAliasDeclaration }; symbolToOriginInfoMap[i] = origin; } } } // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 305 /* SourceFile */) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 305 /* SyntaxKind.SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode, /*includeGlobalThis*/ false); if (thisType && !isProbablyGlobalType(thisType, sourceFile, typeChecker)) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker); _i < _a.length; _i++) { var symbol = _a[_i]; - symbolToOriginInfoMap[symbols.length] = { kind: 1 /* ThisType */ }; + symbolToOriginInfoMap[symbols.length] = { kind: 1 /* SymbolOriginInfoKind.ThisType */ }; symbols.push(symbol); symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.SuggestedClassMembers; } @@ -133396,8 +133877,8 @@ var ts; collectAutoImports(); if (isTypeOnlyLocation) { keywordFilters = contextToken && ts.isAssertionExpression(contextToken.parent) - ? 6 /* TypeAssertionKeywords */ - : 7 /* TypeKeywords */; + ? 6 /* KeywordCompletionFilters.TypeAssertionKeywords */ + : 7 /* KeywordCompletionFilters.TypeKeywords */; } } function shouldOfferImportCompletions() { @@ -133421,10 +133902,10 @@ var ts; } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 305 /* SourceFile */: - case 223 /* TemplateExpression */: - case 288 /* JsxExpression */: - case 235 /* Block */: + case 305 /* SyntaxKind.SourceFile */: + case 223 /* SyntaxKind.TemplateExpression */: + case 288 /* SyntaxKind.JsxExpression */: + case 235 /* SyntaxKind.Block */: return true; default: return ts.isStatement(scopeNode); @@ -133440,29 +133921,29 @@ var ts; } function isContextTokenValueLocation(contextToken) { return contextToken && - ((contextToken.kind === 112 /* TypeOfKeyword */ && - (contextToken.parent.kind === 181 /* TypeQuery */ || ts.isTypeOfExpression(contextToken.parent))) || - (contextToken.kind === 128 /* AssertsKeyword */ && contextToken.parent.kind === 177 /* TypePredicate */)); + ((contextToken.kind === 112 /* SyntaxKind.TypeOfKeyword */ && + (contextToken.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isTypeOfExpression(contextToken.parent))) || + (contextToken.kind === 128 /* SyntaxKind.AssertsKeyword */ && contextToken.parent.kind === 177 /* SyntaxKind.TypePredicate */)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { - case 58 /* ColonToken */: - return parentKind === 167 /* PropertyDeclaration */ || - parentKind === 166 /* PropertySignature */ || - parentKind === 164 /* Parameter */ || - parentKind === 254 /* VariableDeclaration */ || + case 58 /* SyntaxKind.ColonToken */: + return parentKind === 167 /* SyntaxKind.PropertyDeclaration */ || + parentKind === 166 /* SyntaxKind.PropertySignature */ || + parentKind === 164 /* SyntaxKind.Parameter */ || + parentKind === 254 /* SyntaxKind.VariableDeclaration */ || ts.isFunctionLikeKind(parentKind); - case 63 /* EqualsToken */: - return parentKind === 259 /* TypeAliasDeclaration */; - case 127 /* AsKeyword */: - return parentKind === 229 /* AsExpression */; - case 29 /* LessThanToken */: - return parentKind === 178 /* TypeReference */ || - parentKind === 211 /* TypeAssertionExpression */; - case 94 /* ExtendsKeyword */: - return parentKind === 163 /* TypeParameter */; + case 63 /* SyntaxKind.EqualsToken */: + return parentKind === 259 /* SyntaxKind.TypeAliasDeclaration */; + case 127 /* SyntaxKind.AsKeyword */: + return parentKind === 229 /* SyntaxKind.AsExpression */; + case 29 /* SyntaxKind.LessThanToken */: + return parentKind === 178 /* SyntaxKind.TypeReference */ || + parentKind === 211 /* SyntaxKind.TypeAssertionExpression */; + case 94 /* SyntaxKind.ExtendsKeyword */: + return parentKind === 163 /* SyntaxKind.TypeParameter */; } } return false; @@ -133477,6 +133958,7 @@ var ts; // Asking for completion details for an item that is not an auto-import return; } + flags |= 1 /* CompletionInfoFlags.MayIncludeAutoImports */; // import { type | -> token text should be blank var isAfterTypeOnlyImportSpecifierModifier = previousToken === contextToken && importCompletionNode @@ -133488,50 +133970,72 @@ var ts; var exportInfo = ts.getExportInfoMap(sourceFile, host, program, cancellationToken); var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host); var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host); - resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, preferences, !!importCompletionNode, function (context) { + resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, position, preferences, !!importCompletionNode, ts.isValidTypeOnlyAliasUseSite(location), function (context) { exportInfo.search(sourceFile.path, /*preferCapitalized*/ isRightOfOpenTag, function (symbolName, targetFlags) { if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings()))) return false; if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName)) return false; - if (!isTypeOnlyLocation && !importCompletionNode && !(targetFlags & 111551 /* Value */)) + if (!isTypeOnlyLocation && !importCompletionNode && !(targetFlags & 111551 /* SymbolFlags.Value */)) return false; - if (isTypeOnlyLocation && !(targetFlags & (1536 /* Module */ | 788968 /* Type */))) + if (isTypeOnlyLocation && !(targetFlags & (1536 /* SymbolFlags.Module */ | 788968 /* SymbolFlags.Type */))) return false; // Do not try to auto-import something with a lowercase first letter for a JSX tag var firstChar = symbolName.charCodeAt(0); - if (isRightOfOpenTag && (firstChar < 65 /* A */ || firstChar > 90 /* Z */)) + if (isRightOfOpenTag && (firstChar < 65 /* CharacterCodes.A */ || firstChar > 90 /* CharacterCodes.Z */)) return false; if (detailsEntryId) return true; return charactersFuzzyMatchInString(symbolName, lowerCaseTokenText); }, function (info, symbolName, isFromAmbientModule, exportMapKey) { + var _a; if (detailsEntryId && !ts.some(info, function (i) { return detailsEntryId.source === ts.stripQuotes(i.moduleSymbol.name); })) { return; } - var defaultExportInfo = ts.find(info, isImportableExportInfo); - if (!defaultExportInfo) { + // Do a relatively cheap check to bail early if all re-exports are non-importable + // due to file location or package.json dependency filtering. For non-node16+ + // module resolution modes, getting past this point guarantees that we'll be + // able to generate a suitable module specifier, so we can safely show a completion, + // even if we defer computing the module specifier. + var firstImportableExportInfo = ts.find(info, isImportableExportInfo); + if (!firstImportableExportInfo) { return; } - // If we don't need to resolve module specifiers, we can use any re-export that is importable at all - // (We need to ensure that at least one is importable to show a completion.) - var _a = context.tryResolve(info, isFromAmbientModule) || {}, _b = _a.exportInfo, exportInfo = _b === void 0 ? defaultExportInfo : _b, moduleSpecifier = _a.moduleSpecifier; - var isDefaultExport = exportInfo.exportKind === 1 /* Default */; + // In node16+, module specifier resolution can fail due to modules being blocked + // by package.json `exports`. If that happens, don't show a completion item. + // N.B. in this resolution mode we always try to resolve module specifiers here, + // because we have to know now if it's going to fail so we can omit the completion + // from the list. + var result = context.tryResolve(info, symbolName, isFromAmbientModule) || {}; + if (result === "failed") + return; + // If we skipped resolving module specifiers, our selection of which ExportInfo + // to use here is arbitrary, since the info shown in the completion list derived from + // it should be identical regardless of which one is used. During the subsequent + // `CompletionEntryDetails` request, we'll get all the ExportInfos again and pick + // the best one based on the module specifier it produces. + var exportInfo = firstImportableExportInfo, moduleSpecifier; + if (result !== "skipped") { + (_a = result.exportInfo, exportInfo = _a === void 0 ? firstImportableExportInfo : _a, moduleSpecifier = result.moduleSpecifier); + } + var isDefaultExport = exportInfo.exportKind === 1 /* ExportKind.Default */; var symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(exportInfo.symbol) || exportInfo.symbol; pushAutoImportSymbol(symbol, { - kind: moduleSpecifier ? 32 /* ResolvedExport */ : 4 /* Export */, + kind: moduleSpecifier ? 32 /* SymbolOriginInfoKind.ResolvedExport */ : 4 /* SymbolOriginInfoKind.Export */, moduleSpecifier: moduleSpecifier, symbolName: symbolName, exportMapKey: exportMapKey, - exportName: exportInfo.exportKind === 2 /* ExportEquals */ ? "export=" /* ExportEquals */ : exportInfo.symbol.name, + exportName: exportInfo.exportKind === 2 /* ExportKind.ExportEquals */ ? "export=" /* InternalSymbolName.ExportEquals */ : exportInfo.symbol.name, fileName: exportInfo.moduleFileName, isDefaultExport: isDefaultExport, moduleSymbol: exportInfo.moduleSymbol, isFromPackageJson: exportInfo.isFromPackageJson, }); }); - hasUnresolvedAutoImports = context.resolutionLimitExceeded(); + hasUnresolvedAutoImports = context.skippedAny(); + flags |= context.resolvedAny() ? 8 /* CompletionInfoFlags.ResolvedModuleSpecifiers */ : 0; + flags |= context.resolvedBeyondLimit() ? 16 /* CompletionInfoFlags.ResolvedModuleSpecifiersBeyondLimit */ : 0; }); function isImportableExportInfo(info) { var moduleFile = ts.tryCast(info.moduleSymbol.valueDeclaration, ts.isSourceFile); @@ -133568,7 +134072,7 @@ var ts; return; } var displayName = getCompletionEntryDisplayNameForSymbol(member, ts.getEmitScriptTarget(compilerOptions), - /*origin*/ undefined, 0 /* ObjectPropertyDeclaration */, + /*origin*/ undefined, 0 /* CompletionKind.ObjectPropertyDeclaration */, /*jsxIdentifierExpected*/ false); if (!displayName) { return; @@ -133578,7 +134082,8 @@ var ts; if (!entryProps) { return; } - var origin = __assign({ kind: 128 /* ObjectLiteralMethod */ }, entryProps); + var origin = __assign({ kind: 128 /* SymbolOriginInfoKind.ObjectLiteralMethod */ }, entryProps); + flags |= 32 /* CompletionInfoFlags.MayIncludeMethodSnippets */; symbolToOriginInfoMap[symbols.length] = origin; symbols.push(member); }); @@ -133593,7 +134098,7 @@ var ts; `bar` will have symbol flag `Method`, `foo` will have symbol flag `Property`. */ - if (!(symbol.flags & (4 /* Property */ | 8192 /* Method */))) { + if (!(symbol.flags & (4 /* SymbolFlags.Property */ | 8192 /* SymbolFlags.Method */))) { return false; } return true; @@ -133620,27 +134125,27 @@ var ts; return result; } function isInJsxText(contextToken) { - if (contextToken.kind === 11 /* JsxText */) { + if (contextToken.kind === 11 /* SyntaxKind.JsxText */) { return true; } - if (contextToken.kind === 31 /* GreaterThanToken */ && contextToken.parent) { + if (contextToken.kind === 31 /* SyntaxKind.GreaterThanToken */ && contextToken.parent) { // /**/ /> // /**/ > // - contextToken: GreaterThanToken (before cursor) // - location: JsxSelfClosingElement or JsxOpeningElement // - contextToken.parent === location - if (location === contextToken.parent && (location.kind === 280 /* JsxOpeningElement */ || location.kind === 279 /* JsxSelfClosingElement */)) { + if (location === contextToken.parent && (location.kind === 280 /* SyntaxKind.JsxOpeningElement */ || location.kind === 279 /* SyntaxKind.JsxSelfClosingElement */)) { return false; } - if (contextToken.parent.kind === 280 /* JsxOpeningElement */) { + if (contextToken.parent.kind === 280 /* SyntaxKind.JsxOpeningElement */) { //
/**/ // - contextToken: GreaterThanToken (before cursor) // - location: JSXElement // - different parents (JSXOpeningElement, JSXElement) - return location.parent.kind !== 280 /* JsxOpeningElement */; + return location.parent.kind !== 280 /* SyntaxKind.JsxOpeningElement */; } - if (contextToken.parent.kind === 281 /* JsxClosingElement */ || contextToken.parent.kind === 279 /* JsxSelfClosingElement */) { - return !!contextToken.parent.parent && contextToken.parent.parent.kind === 278 /* JsxElement */; + if (contextToken.parent.kind === 281 /* SyntaxKind.JsxClosingElement */ || contextToken.parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 278 /* SyntaxKind.JsxElement */; } } return false; @@ -133651,45 +134156,45 @@ var ts; var tokenKind = keywordForNode(contextToken); // Previous token may have been a keyword that was converted to an identifier. switch (tokenKind) { - case 27 /* CommaToken */: - return containingNodeKind === 208 /* CallExpression */ // func( a, | - || containingNodeKind === 171 /* Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === 209 /* NewExpression */ // new C(a, | - || containingNodeKind === 204 /* ArrayLiteralExpression */ // [a, | - || containingNodeKind === 221 /* BinaryExpression */ // const x = (a, | - || containingNodeKind === 179 /* FunctionType */ // var x: (s: string, list| - || containingNodeKind === 205 /* ObjectLiteralExpression */; // const obj = { x, | - case 20 /* OpenParenToken */: - return containingNodeKind === 208 /* CallExpression */ // func( | - || containingNodeKind === 171 /* Constructor */ // constructor( | - || containingNodeKind === 209 /* NewExpression */ // new C(a| - || containingNodeKind === 212 /* ParenthesizedExpression */ // const x = (a| - || containingNodeKind === 191 /* ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ - case 22 /* OpenBracketToken */: - return containingNodeKind === 204 /* ArrayLiteralExpression */ // [ | - || containingNodeKind === 176 /* IndexSignature */ // [ | : string ] - || containingNodeKind === 162 /* ComputedPropertyName */; // [ | /* this can become an index signature */ - case 141 /* ModuleKeyword */: // module | - case 142 /* NamespaceKeyword */: // namespace | - case 100 /* ImportKeyword */: // import | + case 27 /* SyntaxKind.CommaToken */: + return containingNodeKind === 208 /* SyntaxKind.CallExpression */ // func( a, | + || containingNodeKind === 171 /* SyntaxKind.Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === 209 /* SyntaxKind.NewExpression */ // new C(a, | + || containingNodeKind === 204 /* SyntaxKind.ArrayLiteralExpression */ // [a, | + || containingNodeKind === 221 /* SyntaxKind.BinaryExpression */ // const x = (a, | + || containingNodeKind === 179 /* SyntaxKind.FunctionType */ // var x: (s: string, list| + || containingNodeKind === 205 /* SyntaxKind.ObjectLiteralExpression */; // const obj = { x, | + case 20 /* SyntaxKind.OpenParenToken */: + return containingNodeKind === 208 /* SyntaxKind.CallExpression */ // func( | + || containingNodeKind === 171 /* SyntaxKind.Constructor */ // constructor( | + || containingNodeKind === 209 /* SyntaxKind.NewExpression */ // new C(a| + || containingNodeKind === 212 /* SyntaxKind.ParenthesizedExpression */ // const x = (a| + || containingNodeKind === 191 /* SyntaxKind.ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + case 22 /* SyntaxKind.OpenBracketToken */: + return containingNodeKind === 204 /* SyntaxKind.ArrayLiteralExpression */ // [ | + || containingNodeKind === 176 /* SyntaxKind.IndexSignature */ // [ | : string ] + || containingNodeKind === 162 /* SyntaxKind.ComputedPropertyName */; // [ | /* this can become an index signature */ + case 141 /* SyntaxKind.ModuleKeyword */: // module | + case 142 /* SyntaxKind.NamespaceKeyword */: // namespace | + case 100 /* SyntaxKind.ImportKeyword */: // import | return true; - case 24 /* DotToken */: - return containingNodeKind === 261 /* ModuleDeclaration */; // module A.| - case 18 /* OpenBraceToken */: - return containingNodeKind === 257 /* ClassDeclaration */ // class A { | - || containingNodeKind === 205 /* ObjectLiteralExpression */; // const obj = { | - case 63 /* EqualsToken */: - return containingNodeKind === 254 /* VariableDeclaration */ // const x = a| - || containingNodeKind === 221 /* BinaryExpression */; // x = a| - case 15 /* TemplateHead */: - return containingNodeKind === 223 /* TemplateExpression */; // `aa ${| - case 16 /* TemplateMiddle */: - return containingNodeKind === 233 /* TemplateSpan */; // `aa ${10} dd ${| - case 131 /* AsyncKeyword */: - return containingNodeKind === 169 /* MethodDeclaration */ // const obj = { async c|() - || containingNodeKind === 297 /* ShorthandPropertyAssignment */; // const obj = { async c| - case 41 /* AsteriskToken */: - return containingNodeKind === 169 /* MethodDeclaration */; // const obj = { * c| + case 24 /* SyntaxKind.DotToken */: + return containingNodeKind === 261 /* SyntaxKind.ModuleDeclaration */; // module A.| + case 18 /* SyntaxKind.OpenBraceToken */: + return containingNodeKind === 257 /* SyntaxKind.ClassDeclaration */ // class A { | + || containingNodeKind === 205 /* SyntaxKind.ObjectLiteralExpression */; // const obj = { | + case 63 /* SyntaxKind.EqualsToken */: + return containingNodeKind === 254 /* SyntaxKind.VariableDeclaration */ // const x = a| + || containingNodeKind === 221 /* SyntaxKind.BinaryExpression */; // x = a| + case 15 /* SyntaxKind.TemplateHead */: + return containingNodeKind === 223 /* SyntaxKind.TemplateExpression */; // `aa ${| + case 16 /* SyntaxKind.TemplateMiddle */: + return containingNodeKind === 233 /* SyntaxKind.TemplateSpan */; // `aa ${10} dd ${| + case 131 /* SyntaxKind.AsyncKeyword */: + return containingNodeKind === 169 /* SyntaxKind.MethodDeclaration */ // const obj = { async c|() + || containingNodeKind === 297 /* SyntaxKind.ShorthandPropertyAssignment */; // const obj = { async c| + case 41 /* SyntaxKind.AsteriskToken */: + return containingNodeKind === 169 /* SyntaxKind.MethodDeclaration */; // const obj = { * c| } if (isClassMemberCompletionKeyword(tokenKind)) { return true; @@ -133708,21 +134213,21 @@ var ts; function tryGetObjectTypeLiteralInTypeArgumentCompletionSymbols() { var typeLiteralNode = tryGetTypeLiteralNode(contextToken); if (!typeLiteralNode) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; var intersectionTypeNode = ts.isIntersectionTypeNode(typeLiteralNode.parent) ? typeLiteralNode.parent : undefined; var containerTypeNode = intersectionTypeNode || typeLiteralNode; var containerExpectedType = getConstraintOfTypeArgumentProperty(containerTypeNode, typeChecker); if (!containerExpectedType) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; var containerActualType = typeChecker.getTypeFromTypeNode(containerTypeNode); var members = getPropertiesForCompletion(containerExpectedType, typeChecker); var existingMembers = getPropertiesForCompletion(containerActualType, typeChecker); var existingMemberEscapedNames = new ts.Set(); existingMembers.forEach(function (s) { return existingMemberEscapedNames.add(s.escapedName); }); symbols = ts.concatenate(symbols, ts.filter(members, function (s) { return !existingMemberEscapedNames.has(s.escapedName); })); - completionKind = 0 /* ObjectPropertyDeclaration */; + completionKind = 0 /* CompletionKind.ObjectPropertyDeclaration */; isNewIdentifierLocation = true; - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } /** * Aggregates relevant symbols for completion in object literals and object binding patterns. @@ -133734,22 +134239,22 @@ var ts; var symbolsStartIndex = symbols.length; var objectLikeContainer = tryGetObjectLikeCompletionContainer(contextToken); if (!objectLikeContainer) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; // We're looking up possible property names from contextual/inferred/declared type. - completionKind = 0 /* ObjectPropertyDeclaration */; + completionKind = 0 /* CompletionKind.ObjectPropertyDeclaration */; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 205 /* ObjectLiteralExpression */) { + if (objectLikeContainer.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { var instantiatedType = tryGetObjectLiteralContextualType(objectLikeContainer, typeChecker); // Check completions for Object property value shorthand if (instantiatedType === undefined) { - if (objectLikeContainer.flags & 33554432 /* InWithStatement */) { - return 2 /* Fail */; + if (objectLikeContainer.flags & 33554432 /* NodeFlags.InWithStatement */) { + return 2 /* GlobalsSearch.Fail */; } isNonContextualObjectLiteral = true; - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; } - var completionsType = typeChecker.getContextualType(objectLikeContainer, 4 /* Completions */); + var completionsType = typeChecker.getContextualType(objectLikeContainer, 4 /* ContextFlags.Completions */); var hasStringIndexType = (completionsType || instantiatedType).getStringIndexType(); var hasNumberIndextype = (completionsType || instantiatedType).getNumberIndexType(); isNewIdentifierLocation = !!hasStringIndexType || !!hasNumberIndextype; @@ -133759,12 +134264,12 @@ var ts; // Edge case: If NumberIndexType exists if (!hasNumberIndextype) { isNonContextualObjectLiteral = true; - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; } } } else { - ts.Debug.assert(objectLikeContainer.kind === 201 /* ObjectBindingPattern */); + ts.Debug.assert(objectLikeContainer.kind === 201 /* SyntaxKind.ObjectBindingPattern */); // We are *only* completing on properties from the type being destructured. isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); @@ -133775,19 +134280,19 @@ var ts; // through type declaration or inference. // Also proceed if rootDeclaration is a parameter and if its containing function expression/arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - var canGetType = ts.hasInitializer(rootDeclaration) || ts.hasType(rootDeclaration) || rootDeclaration.parent.parent.kind === 244 /* ForOfStatement */; - if (!canGetType && rootDeclaration.kind === 164 /* Parameter */) { + var canGetType = ts.hasInitializer(rootDeclaration) || !!ts.getEffectiveTypeAnnotationNode(rootDeclaration) || rootDeclaration.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */; + if (!canGetType && rootDeclaration.kind === 164 /* SyntaxKind.Parameter */) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 169 /* MethodDeclaration */ || rootDeclaration.parent.kind === 173 /* SetAccessor */) { + else if (rootDeclaration.parent.kind === 169 /* SyntaxKind.MethodDeclaration */ || rootDeclaration.parent.kind === 173 /* SyntaxKind.SetAccessor */) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } if (canGetType) { var typeForObject_1 = typeChecker.getTypeAtLocation(objectLikeContainer); if (!typeForObject_1) - return 2 /* Fail */; + return 2 /* GlobalsSearch.Fail */; typeMembers = typeChecker.getPropertiesOfType(typeForObject_1).filter(function (propertySymbol) { return typeChecker.isPropertyAccessible(objectLikeContainer, /*isSuper*/ false, /*writing*/ false, typeForObject_1, propertySymbol); }); @@ -133799,14 +134304,14 @@ var ts; var filteredMembers = filterObjectMembersList(typeMembers, ts.Debug.checkDefined(existingMembers)); symbols = ts.concatenate(symbols, filteredMembers); setSortTextToOptionalMember(); - if (objectLikeContainer.kind === 205 /* ObjectLiteralExpression */ + if (objectLikeContainer.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && preferences.includeCompletionsWithObjectLiteralMethodSnippets && preferences.includeCompletionsWithInsertText) { transformObjectLiteralMembersSortText(symbolsStartIndex); collectObjectLiteralMethodSymbols(filteredMembers, objectLikeContainer); } } - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } /** * Aggregates relevant symbols for completion in import clauses and export clauses @@ -133823,38 +134328,38 @@ var ts; */ function tryGetImportOrExportClauseCompletionSymbols() { if (!contextToken) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; // `import { |` or `import { a as 0, | }` or `import { type | }` - var namedImportsOrExports = contextToken.kind === 18 /* OpenBraceToken */ || contextToken.kind === 27 /* CommaToken */ ? ts.tryCast(contextToken.parent, ts.isNamedImportsOrExports) : + var namedImportsOrExports = contextToken.kind === 18 /* SyntaxKind.OpenBraceToken */ || contextToken.kind === 27 /* SyntaxKind.CommaToken */ ? ts.tryCast(contextToken.parent, ts.isNamedImportsOrExports) : ts.isTypeKeywordTokenOrIdentifier(contextToken) ? ts.tryCast(contextToken.parent.parent, ts.isNamedImportsOrExports) : undefined; if (!namedImportsOrExports) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; // We can at least offer `type` at `import { |` if (!ts.isTypeKeywordTokenOrIdentifier(contextToken)) { - keywordFilters = 8 /* TypeKeyword */; + keywordFilters = 8 /* KeywordCompletionFilters.TypeKeyword */; } // try to show exported member for imported/re-exported module - var moduleSpecifier = (namedImportsOrExports.kind === 269 /* NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifier = (namedImportsOrExports.kind === 269 /* SyntaxKind.NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; if (!moduleSpecifier) { isNewIdentifierLocation = true; - return namedImportsOrExports.kind === 269 /* NamedImports */ ? 2 /* Fail */ : 0 /* Continue */; + return namedImportsOrExports.kind === 269 /* SyntaxKind.NamedImports */ ? 2 /* GlobalsSearch.Fail */ : 0 /* GlobalsSearch.Continue */; } var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); // TODO: GH#18217 if (!moduleSpecifierSymbol) { isNewIdentifierLocation = true; - return 2 /* Fail */; + return 2 /* GlobalsSearch.Fail */; } - completionKind = 3 /* MemberLike */; + completionKind = 3 /* CompletionKind.MemberLike */; isNewIdentifierLocation = false; var exports = typeChecker.getExportsAndPropertiesOfModule(moduleSpecifierSymbol); var existing = new ts.Set(namedImportsOrExports.elements.filter(function (n) { return !isCurrentlyEditingNode(n); }).map(function (n) { return (n.propertyName || n.name).escapedText; })); - var uniques = exports.filter(function (e) { return e.escapedName !== "default" /* Default */ && !existing.has(e.escapedName); }); + var uniques = exports.filter(function (e) { return e.escapedName !== "default" /* InternalSymbolName.Default */ && !existing.has(e.escapedName); }); symbols = ts.concatenate(symbols, uniques); if (!uniques.length) { // If there's nothing else to import, don't offer `type` either - keywordFilters = 0 /* None */; + keywordFilters = 0 /* KeywordCompletionFilters.None */; } - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } /** * Adds local declarations for completions in named exports: @@ -133867,14 +134372,14 @@ var ts; */ function tryGetLocalNamedExportCompletionSymbols() { var _a; - var namedExports = contextToken && (contextToken.kind === 18 /* OpenBraceToken */ || contextToken.kind === 27 /* CommaToken */) + var namedExports = contextToken && (contextToken.kind === 18 /* SyntaxKind.OpenBraceToken */ || contextToken.kind === 27 /* SyntaxKind.CommaToken */) ? ts.tryCast(contextToken.parent, ts.isNamedExports) : undefined; if (!namedExports) { - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; } var localsContainer = ts.findAncestor(namedExports, ts.or(ts.isSourceFile, ts.isModuleDeclaration)); - completionKind = 5 /* None */; + completionKind = 5 /* CompletionKind.None */; isNewIdentifierLocation = false; (_a = localsContainer.locals) === null || _a === void 0 ? void 0 : _a.forEach(function (symbol, name) { var _a, _b; @@ -133883,7 +134388,7 @@ var ts; symbolToSortTextMap[ts.getSymbolId(symbol)] = Completions.SortText.OptionalMember; } }); - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } /** * Aggregates relevant symbols for completion in class declaration @@ -133892,48 +134397,48 @@ var ts; function tryGetClassLikeCompletionSymbols() { var decl = tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position); if (!decl) - return 0 /* Continue */; + return 0 /* GlobalsSearch.Continue */; // We're looking up possible property names from parent type. - completionKind = 3 /* MemberLike */; + completionKind = 3 /* CompletionKind.MemberLike */; // Declaring new property/method/accessor isNewIdentifierLocation = true; - keywordFilters = contextToken.kind === 41 /* AsteriskToken */ ? 0 /* None */ : - ts.isClassLike(decl) ? 2 /* ClassElementKeywords */ : 3 /* InterfaceElementKeywords */; + keywordFilters = contextToken.kind === 41 /* SyntaxKind.AsteriskToken */ ? 0 /* KeywordCompletionFilters.None */ : + ts.isClassLike(decl) ? 2 /* KeywordCompletionFilters.ClassElementKeywords */ : 3 /* KeywordCompletionFilters.InterfaceElementKeywords */; // If you're in an interface you don't want to repeat things from super-interface. So just stop here. if (!ts.isClassLike(decl)) - return 1 /* Success */; - var classElement = contextToken.kind === 26 /* SemicolonToken */ ? contextToken.parent.parent : contextToken.parent; - var classElementModifierFlags = ts.isClassElement(classElement) ? ts.getEffectiveModifierFlags(classElement) : 0 /* None */; + return 1 /* GlobalsSearch.Success */; + var classElement = contextToken.kind === 26 /* SyntaxKind.SemicolonToken */ ? contextToken.parent.parent : contextToken.parent; + var classElementModifierFlags = ts.isClassElement(classElement) ? ts.getEffectiveModifierFlags(classElement) : 0 /* ModifierFlags.None */; // If this is context token is not something we are editing now, consider if this would lead to be modifier - if (contextToken.kind === 79 /* Identifier */ && !isCurrentlyEditingNode(contextToken)) { + if (contextToken.kind === 79 /* SyntaxKind.Identifier */ && !isCurrentlyEditingNode(contextToken)) { switch (contextToken.getText()) { case "private": - classElementModifierFlags = classElementModifierFlags | 8 /* Private */; + classElementModifierFlags = classElementModifierFlags | 8 /* ModifierFlags.Private */; break; case "static": - classElementModifierFlags = classElementModifierFlags | 32 /* Static */; + classElementModifierFlags = classElementModifierFlags | 32 /* ModifierFlags.Static */; break; case "override": - classElementModifierFlags = classElementModifierFlags | 16384 /* Override */; + classElementModifierFlags = classElementModifierFlags | 16384 /* ModifierFlags.Override */; break; } } if (ts.isClassStaticBlockDeclaration(classElement)) { - classElementModifierFlags |= 32 /* Static */; + classElementModifierFlags |= 32 /* ModifierFlags.Static */; } // No member list for private methods - if (!(classElementModifierFlags & 8 /* Private */)) { + if (!(classElementModifierFlags & 8 /* ModifierFlags.Private */)) { // List of property symbols of base type that are not private and already implemented - var baseTypeNodes = ts.isClassLike(decl) && classElementModifierFlags & 16384 /* Override */ ? ts.singleElementArray(ts.getEffectiveBaseTypeNode(decl)) : ts.getAllSuperTypeNodes(decl); + var baseTypeNodes = ts.isClassLike(decl) && classElementModifierFlags & 16384 /* ModifierFlags.Override */ ? ts.singleElementArray(ts.getEffectiveBaseTypeNode(decl)) : ts.getAllSuperTypeNodes(decl); var baseSymbols = ts.flatMap(baseTypeNodes, function (baseTypeNode) { var type = typeChecker.getTypeAtLocation(baseTypeNode); - return classElementModifierFlags & 32 /* Static */ ? + return classElementModifierFlags & 32 /* ModifierFlags.Static */ ? (type === null || type === void 0 ? void 0 : type.symbol) && typeChecker.getPropertiesOfType(typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl)) : type && typeChecker.getPropertiesOfType(type); }); symbols = ts.concatenate(symbols, filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags)); } - return 1 /* Success */; + return 1 /* GlobalsSearch.Success */; } function isConstructorParameterCompletion(node) { return !!node.parent && ts.isParameter(node.parent) && ts.isConstructorDeclaration(node.parent.parent) @@ -133947,8 +134452,8 @@ var ts; if (contextToken) { var parent = contextToken.parent; switch (contextToken.kind) { - case 20 /* OpenParenToken */: - case 27 /* CommaToken */: + case 20 /* SyntaxKind.OpenParenToken */: + case 27 /* SyntaxKind.CommaToken */: return ts.isConstructorDeclaration(contextToken.parent) ? contextToken.parent : undefined; default: if (isConstructorParameterCompletion(contextToken)) { @@ -133978,23 +134483,23 @@ var ts; if (contextToken) { var parent = contextToken.parent; switch (contextToken.kind) { - case 31 /* GreaterThanToken */: // End of a type argument list - case 30 /* LessThanSlashToken */: - case 43 /* SlashToken */: - case 79 /* Identifier */: - case 206 /* PropertyAccessExpression */: - case 286 /* JsxAttributes */: - case 285 /* JsxAttribute */: - case 287 /* JsxSpreadAttribute */: - if (parent && (parent.kind === 279 /* JsxSelfClosingElement */ || parent.kind === 280 /* JsxOpeningElement */)) { - if (contextToken.kind === 31 /* GreaterThanToken */) { + case 31 /* SyntaxKind.GreaterThanToken */: // End of a type argument list + case 30 /* SyntaxKind.LessThanSlashToken */: + case 43 /* SyntaxKind.SlashToken */: + case 79 /* SyntaxKind.Identifier */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 286 /* SyntaxKind.JsxAttributes */: + case 285 /* SyntaxKind.JsxAttribute */: + case 287 /* SyntaxKind.JsxSpreadAttribute */: + if (parent && (parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */ || parent.kind === 280 /* SyntaxKind.JsxOpeningElement */)) { + if (contextToken.kind === 31 /* SyntaxKind.GreaterThanToken */) { var precedingToken = ts.findPrecedingToken(contextToken.pos, sourceFile, /*startNode*/ undefined); - if (!parent.typeArguments || (precedingToken && precedingToken.kind === 43 /* SlashToken */)) + if (!parent.typeArguments || (precedingToken && precedingToken.kind === 43 /* SyntaxKind.SlashToken */)) break; } return parent; } - else if (parent.kind === 285 /* JsxAttribute */) { + else if (parent.kind === 285 /* SyntaxKind.JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -134005,8 +134510,8 @@ var ts; // The context token is the closing } or " of an attribute, which means // its parent is a JsxExpression, whose parent is a JsxAttribute, // whose parent is a JsxOpeningLikeElement - case 10 /* StringLiteral */: - if (parent && ((parent.kind === 285 /* JsxAttribute */) || (parent.kind === 287 /* JsxSpreadAttribute */))) { + case 10 /* SyntaxKind.StringLiteral */: + if (parent && ((parent.kind === 285 /* SyntaxKind.JsxAttribute */) || (parent.kind === 287 /* SyntaxKind.JsxSpreadAttribute */))) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -134014,10 +134519,10 @@ var ts; return parent.parent.parent; } break; - case 19 /* CloseBraceToken */: + case 19 /* SyntaxKind.CloseBraceToken */: if (parent && - parent.kind === 288 /* JsxExpression */ && - parent.parent && parent.parent.kind === 285 /* JsxAttribute */) { + parent.kind === 288 /* SyntaxKind.JsxExpression */ && + parent.parent && parent.parent.kind === 285 /* SyntaxKind.JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -134025,7 +134530,7 @@ var ts; // each JsxAttribute can have initializer as JsxExpression return parent.parent.parent.parent; } - if (parent && parent.kind === 287 /* JsxSpreadAttribute */) { + if (parent && parent.kind === 287 /* SyntaxKind.JsxSpreadAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -134044,75 +134549,75 @@ var ts; var parent = contextToken.parent; var containingNodeKind = parent.kind; switch (contextToken.kind) { - case 27 /* CommaToken */: - return containingNodeKind === 254 /* VariableDeclaration */ || + case 27 /* SyntaxKind.CommaToken */: + return containingNodeKind === 254 /* SyntaxKind.VariableDeclaration */ || isVariableDeclarationListButNotTypeArgument(contextToken) || - containingNodeKind === 237 /* VariableStatement */ || - containingNodeKind === 260 /* EnumDeclaration */ || // enum a { foo, | + containingNodeKind === 237 /* SyntaxKind.VariableStatement */ || + containingNodeKind === 260 /* SyntaxKind.EnumDeclaration */ || // enum a { foo, | isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 258 /* InterfaceDeclaration */ || // interface A= contextToken.pos); - case 24 /* DotToken */: - return containingNodeKind === 202 /* ArrayBindingPattern */; // var [.| - case 58 /* ColonToken */: - return containingNodeKind === 203 /* BindingElement */; // var {x :html| - case 22 /* OpenBracketToken */: - return containingNodeKind === 202 /* ArrayBindingPattern */; // var [x| - case 20 /* OpenParenToken */: - return containingNodeKind === 292 /* CatchClause */ || + case 24 /* SyntaxKind.DotToken */: + return containingNodeKind === 202 /* SyntaxKind.ArrayBindingPattern */; // var [.| + case 58 /* SyntaxKind.ColonToken */: + return containingNodeKind === 203 /* SyntaxKind.BindingElement */; // var {x :html| + case 22 /* SyntaxKind.OpenBracketToken */: + return containingNodeKind === 202 /* SyntaxKind.ArrayBindingPattern */; // var [x| + case 20 /* SyntaxKind.OpenParenToken */: + return containingNodeKind === 292 /* SyntaxKind.CatchClause */ || isFunctionLikeButNotConstructor(containingNodeKind); - case 18 /* OpenBraceToken */: - return containingNodeKind === 260 /* EnumDeclaration */; // enum a { | - case 29 /* LessThanToken */: - return containingNodeKind === 257 /* ClassDeclaration */ || // class A< | - containingNodeKind === 226 /* ClassExpression */ || // var C = class D< | - containingNodeKind === 258 /* InterfaceDeclaration */ || // interface A< | - containingNodeKind === 259 /* TypeAliasDeclaration */ || // type List< | + case 18 /* SyntaxKind.OpenBraceToken */: + return containingNodeKind === 260 /* SyntaxKind.EnumDeclaration */; // enum a { | + case 29 /* SyntaxKind.LessThanToken */: + return containingNodeKind === 257 /* SyntaxKind.ClassDeclaration */ || // class A< | + containingNodeKind === 226 /* SyntaxKind.ClassExpression */ || // var C = class D< | + containingNodeKind === 258 /* SyntaxKind.InterfaceDeclaration */ || // interface A< | + containingNodeKind === 259 /* SyntaxKind.TypeAliasDeclaration */ || // type List< | ts.isFunctionLikeKind(containingNodeKind); - case 124 /* StaticKeyword */: - return containingNodeKind === 167 /* PropertyDeclaration */ && !ts.isClassLike(parent.parent); - case 25 /* DotDotDotToken */: - return containingNodeKind === 164 /* Parameter */ || - (!!parent.parent && parent.parent.kind === 202 /* ArrayBindingPattern */); // var [...z| - case 123 /* PublicKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - return containingNodeKind === 164 /* Parameter */ && !ts.isConstructorDeclaration(parent.parent); - case 127 /* AsKeyword */: - return containingNodeKind === 270 /* ImportSpecifier */ || - containingNodeKind === 275 /* ExportSpecifier */ || - containingNodeKind === 268 /* NamespaceImport */; - case 136 /* GetKeyword */: - case 149 /* SetKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + return containingNodeKind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isClassLike(parent.parent); + case 25 /* SyntaxKind.DotDotDotToken */: + return containingNodeKind === 164 /* SyntaxKind.Parameter */ || + (!!parent.parent && parent.parent.kind === 202 /* SyntaxKind.ArrayBindingPattern */); // var [...z| + case 123 /* SyntaxKind.PublicKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + return containingNodeKind === 164 /* SyntaxKind.Parameter */ && !ts.isConstructorDeclaration(parent.parent); + case 127 /* SyntaxKind.AsKeyword */: + return containingNodeKind === 270 /* SyntaxKind.ImportSpecifier */ || + containingNodeKind === 275 /* SyntaxKind.ExportSpecifier */ || + containingNodeKind === 268 /* SyntaxKind.NamespaceImport */; + case 136 /* SyntaxKind.GetKeyword */: + case 149 /* SyntaxKind.SetKeyword */: return !isFromObjectTypeDeclaration(contextToken); - case 79 /* Identifier */: - if (containingNodeKind === 270 /* ImportSpecifier */ && + case 79 /* SyntaxKind.Identifier */: + if (containingNodeKind === 270 /* SyntaxKind.ImportSpecifier */ && contextToken === parent.name && contextToken.text === "type") { // import { type | } return false; } break; - case 84 /* ClassKeyword */: - case 92 /* EnumKeyword */: - case 118 /* InterfaceKeyword */: - case 98 /* FunctionKeyword */: - case 113 /* VarKeyword */: - case 100 /* ImportKeyword */: - case 119 /* LetKeyword */: - case 85 /* ConstKeyword */: - case 137 /* InferKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: + case 113 /* SyntaxKind.VarKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: + case 119 /* SyntaxKind.LetKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 137 /* SyntaxKind.InferKeyword */: return true; - case 152 /* TypeKeyword */: + case 152 /* SyntaxKind.TypeKeyword */: // import { type foo| } - return containingNodeKind !== 270 /* ImportSpecifier */; - case 41 /* AsteriskToken */: + return containingNodeKind !== 270 /* SyntaxKind.ImportSpecifier */; + case 41 /* SyntaxKind.AsteriskToken */: return ts.isFunctionLike(contextToken.parent) && !ts.isMethodDeclaration(contextToken.parent); } // If the previous token is keyword corresponding to class member completion keyword @@ -134133,21 +134638,21 @@ var ts; } // Previous token may have been a keyword that was converted to an identifier. switch (keywordForNode(contextToken)) { - case 126 /* AbstractKeyword */: - case 84 /* ClassKeyword */: - case 85 /* ConstKeyword */: - case 135 /* DeclareKeyword */: - case 92 /* EnumKeyword */: - case 98 /* FunctionKeyword */: - case 118 /* InterfaceKeyword */: - case 119 /* LetKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 123 /* PublicKeyword */: - case 124 /* StaticKeyword */: - case 113 /* VarKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 84 /* SyntaxKind.ClassKeyword */: + case 85 /* SyntaxKind.ConstKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: + case 119 /* SyntaxKind.LetKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 124 /* SyntaxKind.StaticKeyword */: + case 113 /* SyntaxKind.VarKeyword */: return true; - case 131 /* AsyncKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: return ts.isPropertyDeclaration(contextToken.parent); } // If we are inside a class declaration, and `constructor` is totally not present, @@ -134156,7 +134661,7 @@ var ts; if (ancestorClassLike && contextToken === previousToken && isPreviousPropertyDeclarationTerminated(contextToken, position)) { return false; // Don't block completions. } - var ancestorPropertyDeclaraion = ts.getAncestor(contextToken.parent, 167 /* PropertyDeclaration */); + var ancestorPropertyDeclaraion = ts.getAncestor(contextToken.parent, 167 /* SyntaxKind.PropertyDeclaration */); // If we are inside a class declaration and typing `constructor` after property declaration... if (ancestorPropertyDeclaraion && contextToken !== previousToken @@ -134167,7 +134672,7 @@ var ts; if (isPreviousPropertyDeclarationTerminated(contextToken, previousToken.end)) { return false; // Don't block completions. } - else if (contextToken.kind !== 63 /* EqualsToken */ + else if (contextToken.kind !== 63 /* SyntaxKind.EqualsToken */ // Should not block: `class C { blah = c/**/ }` // But should block: `class C { blah = somewhat c/**/ }` and `class C { blah: SomeType c/**/ }` && (ts.isInitializedProperty(ancestorPropertyDeclaraion) @@ -134183,22 +134688,22 @@ var ts; && !(ts.isClassLike(contextToken.parent) && (contextToken !== previousToken || position > previousToken.end)); } function isPreviousPropertyDeclarationTerminated(contextToken, position) { - return contextToken.kind !== 63 /* EqualsToken */ && - (contextToken.kind === 26 /* SemicolonToken */ + return contextToken.kind !== 63 /* SyntaxKind.EqualsToken */ && + (contextToken.kind === 26 /* SyntaxKind.SemicolonToken */ || !ts.positionsAreOnSameLine(contextToken.end, position, sourceFile)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 171 /* Constructor */; + return ts.isFunctionLikeKind(kind) && kind !== 171 /* SyntaxKind.Constructor */; } function isDotOfNumericLiteral(contextToken) { - if (contextToken.kind === 8 /* NumericLiteral */) { + if (contextToken.kind === 8 /* SyntaxKind.NumericLiteral */) { var text = contextToken.getFullText(); return text.charAt(text.length - 1) === "."; } return false; } function isVariableDeclarationListButNotTypeArgument(node) { - return node.parent.kind === 255 /* VariableDeclarationList */ + return node.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */ && !ts.isPossiblyTypeArgumentPosition(node, sourceFile, typeChecker); } /** @@ -134216,13 +134721,13 @@ var ts; for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 296 /* PropertyAssignment */ && - m.kind !== 297 /* ShorthandPropertyAssignment */ && - m.kind !== 203 /* BindingElement */ && - m.kind !== 169 /* MethodDeclaration */ && - m.kind !== 172 /* GetAccessor */ && - m.kind !== 173 /* SetAccessor */ && - m.kind !== 298 /* SpreadAssignment */) { + if (m.kind !== 296 /* SyntaxKind.PropertyAssignment */ && + m.kind !== 297 /* SyntaxKind.ShorthandPropertyAssignment */ && + m.kind !== 203 /* SyntaxKind.BindingElement */ && + m.kind !== 169 /* SyntaxKind.MethodDeclaration */ && + m.kind !== 172 /* SyntaxKind.GetAccessor */ && + m.kind !== 173 /* SyntaxKind.SetAccessor */ && + m.kind !== 298 /* SyntaxKind.SpreadAssignment */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -134235,7 +134740,7 @@ var ts; } else if (ts.isBindingElement(m) && m.propertyName) { // include only identifiers in completion list - if (m.propertyName.kind === 79 /* Identifier */) { + if (m.propertyName.kind === 79 /* SyntaxKind.Identifier */) { existingName = m.propertyName.escapedText; } } @@ -134269,7 +134774,7 @@ var ts; function setSortTextToOptionalMember() { symbols.forEach(function (m) { var _a; - if (m.flags & 16777216 /* Optional */) { + if (m.flags & 16777216 /* SymbolFlags.Optional */) { var symbolId = ts.getSymbolId(m); symbolToSortTextMap[symbolId] = (_a = symbolToSortTextMap[symbolId]) !== null && _a !== void 0 ? _a : Completions.SortText.OptionalMember; } @@ -134294,7 +134799,7 @@ var ts; var symbolId = ts.getSymbolId(symbol); var origin = symbolToOriginInfoMap === null || symbolToOriginInfoMap === void 0 ? void 0 : symbolToOriginInfoMap[i]; var target = ts.getEmitScriptTarget(compilerOptions); - var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* ObjectPropertyDeclaration */, + var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* CompletionKind.ObjectPropertyDeclaration */, /*jsxIdentifierExpected*/ false); if (displayName) { var originalSortText = (_a = symbolToSortTextMap[symbolId]) !== null && _a !== void 0 ? _a : Completions.SortText.LocationPriority; @@ -134313,10 +134818,10 @@ var ts; for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 167 /* PropertyDeclaration */ && - m.kind !== 169 /* MethodDeclaration */ && - m.kind !== 172 /* GetAccessor */ && - m.kind !== 173 /* SetAccessor */) { + if (m.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && + m.kind !== 169 /* SyntaxKind.MethodDeclaration */ && + m.kind !== 172 /* SyntaxKind.GetAccessor */ && + m.kind !== 173 /* SyntaxKind.SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -134324,11 +134829,11 @@ var ts; continue; } // Dont filter member even if the name matches if it is declared private in the list - if (ts.hasEffectiveModifier(m, 8 /* Private */)) { + if (ts.hasEffectiveModifier(m, 8 /* ModifierFlags.Private */)) { continue; } // do not filter it out if the static presence doesnt match - if (ts.isStatic(m) !== !!(currentClassElementModifierFlags & 32 /* Static */)) { + if (ts.isStatic(m) !== !!(currentClassElementModifierFlags & 32 /* ModifierFlags.Static */)) { continue; } var existingName = ts.getPropertyNameForPropertyNameNode(m.name); @@ -134339,7 +134844,7 @@ var ts; return baseSymbols.filter(function (propertySymbol) { return !existingMemberNames.has(propertySymbol.escapedName) && !!propertySymbol.declarations && - !(ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & 8 /* Private */) && + !(ts.getDeclarationModifierFlagsFromSymbol(propertySymbol) & 8 /* ModifierFlags.Private */) && !(propertySymbol.valueDeclaration && ts.isPrivateIdentifierClassElementDeclaration(propertySymbol.valueDeclaration)); }); } @@ -134358,7 +134863,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 285 /* JsxAttribute */) { + if (attr.kind === 285 /* SyntaxKind.JsxAttribute */) { seenNames.add(attr.name.escapedText); } else if (ts.isJsxSpreadAttribute(attr)) { @@ -134381,15 +134886,15 @@ var ts; if (contextToken) { var parent = contextToken.parent; switch (contextToken.kind) { - case 18 /* OpenBraceToken */: // const x = { | - case 27 /* CommaToken */: // const x = { a: 0, | + case 18 /* SyntaxKind.OpenBraceToken */: // const x = { | + case 27 /* SyntaxKind.CommaToken */: // const x = { a: 0, | if (ts.isObjectLiteralExpression(parent) || ts.isObjectBindingPattern(parent)) { return parent; } break; - case 41 /* AsteriskToken */: + case 41 /* SyntaxKind.AsteriskToken */: return ts.isMethodDeclaration(parent) ? ts.tryCast(parent.parent, ts.isObjectLiteralExpression) : undefined; - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return contextToken.text === "async" && ts.isShorthandPropertyAssignment(contextToken.parent) ? contextToken.parent.parent : undefined; } @@ -134412,12 +134917,12 @@ var ts; undefined; if (!moduleSymbol) return undefined; - var symbol = data.exportName === "export=" /* ExportEquals */ + var symbol = data.exportName === "export=" /* InternalSymbolName.ExportEquals */ ? checker.resolveExternalModuleSymbol(moduleSymbol) : checker.tryGetMemberInModuleExportsAndProperties(data.exportName, moduleSymbol); if (!symbol) return undefined; - var isDefaultExport = data.exportName === "default" /* Default */; + var isDefaultExport = data.exportName === "default" /* InternalSymbolName.Default */; symbol = isDefaultExport && ts.getLocalSymbolForExportDefault(symbol) || symbol; return { symbol: symbol, origin: completionEntryDataToSymbolOriginInfo(data, name, moduleSymbol) }; } @@ -134426,27 +134931,27 @@ var ts; if (name === undefined // If the symbol is external module, don't show it in the completion list // (i.e declare module "http" { const x; } | // <= request completion here, "http" should not be there) - || symbol.flags & 1536 /* Module */ && ts.isSingleOrDoubleQuote(name.charCodeAt(0)) + || symbol.flags & 1536 /* SymbolFlags.Module */ && ts.isSingleOrDoubleQuote(name.charCodeAt(0)) // If the symbol is the internal name of an ES symbol, it is not a valid entry. Internal names for ES symbols start with "__@" || ts.isKnownSymbol(symbol)) { return undefined; } var validNameResult = { name: name, needsConvertPropertyAccess: false }; - if (ts.isIdentifierText(name, target, jsxIdentifierExpected ? 1 /* JSX */ : 0 /* Standard */) || symbol.valueDeclaration && ts.isPrivateIdentifierClassElementDeclaration(symbol.valueDeclaration)) { + if (ts.isIdentifierText(name, target, jsxIdentifierExpected ? 1 /* LanguageVariant.JSX */ : 0 /* LanguageVariant.Standard */) || symbol.valueDeclaration && ts.isPrivateIdentifierClassElementDeclaration(symbol.valueDeclaration)) { return validNameResult; } switch (kind) { - case 3 /* MemberLike */: + case 3 /* CompletionKind.MemberLike */: return undefined; - case 0 /* ObjectPropertyDeclaration */: + case 0 /* CompletionKind.ObjectPropertyDeclaration */: // TODO: GH#18169 return { name: JSON.stringify(name), needsConvertPropertyAccess: false }; - case 2 /* PropertyAccess */: - case 1 /* Global */: // For a 'this.' completion it will be in a global context, but may have a non-identifier name. + case 2 /* CompletionKind.PropertyAccess */: + case 1 /* CompletionKind.Global */: // For a 'this.' completion it will be in a global context, but may have a non-identifier name. // Don't add a completion for a name starting with a space. See https://github.com/Microsoft/TypeScript/pull/20547 - return name.charCodeAt(0) === 32 /* space */ ? undefined : { name: name, needsConvertPropertyAccess: true }; - case 5 /* None */: - case 4 /* String */: + return name.charCodeAt(0) === 32 /* CharacterCodes.space */ ? undefined : { name: name, needsConvertPropertyAccess: true }; + case 5 /* CompletionKind.None */: + case 4 /* CompletionKind.String */: return validNameResult; default: ts.Debug.assertNever(kind); @@ -134456,11 +134961,11 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 81 /* FirstKeyword */; i <= 160 /* LastKeyword */; i++) { + for (var i = 81 /* SyntaxKind.FirstKeyword */; i <= 160 /* SyntaxKind.LastKeyword */; i++) { res.push({ name: ts.tokenToString(i), - kind: "keyword" /* keyword */, - kindModifiers: "" /* none */, + kind: "keyword" /* ScriptElementKind.keyword */, + kindModifiers: "" /* ScriptElementKindModifier.none */, sortText: Completions.SortText.GlobalsOrKeywords }); } @@ -134469,7 +134974,7 @@ var ts; function getKeywordCompletions(keywordFilter, filterOutTsOnlyKeywords) { if (!filterOutTsOnlyKeywords) return getTypescriptKeywordCompletions(keywordFilter); - var index = keywordFilter + 7 /* Last */ + 1; + var index = keywordFilter + 8 /* KeywordCompletionFilters.Last */ + 1; return _keywordCompletions[index] || (_keywordCompletions[index] = getTypescriptKeywordCompletions(keywordFilter) .filter(function (entry) { return !isTypeScriptOnlyKeyword(ts.stringToToken(entry.name)); })); @@ -134478,30 +134983,30 @@ var ts; return _keywordCompletions[keywordFilter] || (_keywordCompletions[keywordFilter] = allKeywordsCompletions().filter(function (entry) { var kind = ts.stringToToken(entry.name); switch (keywordFilter) { - case 0 /* None */: + case 0 /* KeywordCompletionFilters.None */: return false; - case 1 /* All */: + case 1 /* KeywordCompletionFilters.All */: return isFunctionLikeBodyKeyword(kind) - || kind === 135 /* DeclareKeyword */ - || kind === 141 /* ModuleKeyword */ - || kind === 152 /* TypeKeyword */ - || kind === 142 /* NamespaceKeyword */ - || kind === 126 /* AbstractKeyword */ - || ts.isTypeKeyword(kind) && kind !== 153 /* UndefinedKeyword */; - case 5 /* FunctionLikeBodyKeywords */: + || kind === 135 /* SyntaxKind.DeclareKeyword */ + || kind === 141 /* SyntaxKind.ModuleKeyword */ + || kind === 152 /* SyntaxKind.TypeKeyword */ + || kind === 142 /* SyntaxKind.NamespaceKeyword */ + || kind === 126 /* SyntaxKind.AbstractKeyword */ + || ts.isTypeKeyword(kind) && kind !== 153 /* SyntaxKind.UndefinedKeyword */; + case 5 /* KeywordCompletionFilters.FunctionLikeBodyKeywords */: return isFunctionLikeBodyKeyword(kind); - case 2 /* ClassElementKeywords */: + case 2 /* KeywordCompletionFilters.ClassElementKeywords */: return isClassMemberCompletionKeyword(kind); - case 3 /* InterfaceElementKeywords */: + case 3 /* KeywordCompletionFilters.InterfaceElementKeywords */: return isInterfaceOrTypeLiteralCompletionKeyword(kind); - case 4 /* ConstructorParameterKeywords */: + case 4 /* KeywordCompletionFilters.ConstructorParameterKeywords */: return ts.isParameterPropertyModifier(kind); - case 6 /* TypeAssertionKeywords */: - return ts.isTypeKeyword(kind) || kind === 85 /* ConstKeyword */; - case 7 /* TypeKeywords */: + case 6 /* KeywordCompletionFilters.TypeAssertionKeywords */: + return ts.isTypeKeyword(kind) || kind === 85 /* SyntaxKind.ConstKeyword */; + case 7 /* KeywordCompletionFilters.TypeKeywords */: return ts.isTypeKeyword(kind); - case 8 /* TypeKeyword */: - return kind === 152 /* TypeKeyword */; + case 8 /* KeywordCompletionFilters.TypeKeyword */: + return kind === 152 /* SyntaxKind.TypeKeyword */; default: return ts.Debug.assertNever(keywordFilter); } @@ -134509,63 +135014,63 @@ var ts; } function isTypeScriptOnlyKeyword(kind) { switch (kind) { - case 126 /* AbstractKeyword */: - case 130 /* AnyKeyword */: - case 158 /* BigIntKeyword */: - case 133 /* BooleanKeyword */: - case 135 /* DeclareKeyword */: - case 92 /* EnumKeyword */: - case 157 /* GlobalKeyword */: - case 117 /* ImplementsKeyword */: - case 137 /* InferKeyword */: - case 118 /* InterfaceKeyword */: - case 139 /* IsKeyword */: - case 140 /* KeyOfKeyword */: - case 141 /* ModuleKeyword */: - case 142 /* NamespaceKeyword */: - case 143 /* NeverKeyword */: - case 147 /* NumberKeyword */: - case 148 /* ObjectKeyword */: - case 159 /* OverrideKeyword */: - case 121 /* PrivateKeyword */: - case 122 /* ProtectedKeyword */: - case 123 /* PublicKeyword */: - case 145 /* ReadonlyKeyword */: - case 150 /* StringKeyword */: - case 151 /* SymbolKeyword */: - case 152 /* TypeKeyword */: - case 154 /* UniqueKeyword */: - case 155 /* UnknownKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 130 /* SyntaxKind.AnyKeyword */: + case 158 /* SyntaxKind.BigIntKeyword */: + case 133 /* SyntaxKind.BooleanKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 92 /* SyntaxKind.EnumKeyword */: + case 157 /* SyntaxKind.GlobalKeyword */: + case 117 /* SyntaxKind.ImplementsKeyword */: + case 137 /* SyntaxKind.InferKeyword */: + case 118 /* SyntaxKind.InterfaceKeyword */: + case 139 /* SyntaxKind.IsKeyword */: + case 140 /* SyntaxKind.KeyOfKeyword */: + case 141 /* SyntaxKind.ModuleKeyword */: + case 142 /* SyntaxKind.NamespaceKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + case 147 /* SyntaxKind.NumberKeyword */: + case 148 /* SyntaxKind.ObjectKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: + case 121 /* SyntaxKind.PrivateKeyword */: + case 122 /* SyntaxKind.ProtectedKeyword */: + case 123 /* SyntaxKind.PublicKeyword */: + case 145 /* SyntaxKind.ReadonlyKeyword */: + case 150 /* SyntaxKind.StringKeyword */: + case 151 /* SyntaxKind.SymbolKeyword */: + case 152 /* SyntaxKind.TypeKeyword */: + case 154 /* SyntaxKind.UniqueKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: return true; default: return false; } } function isInterfaceOrTypeLiteralCompletionKeyword(kind) { - return kind === 145 /* ReadonlyKeyword */; + return kind === 145 /* SyntaxKind.ReadonlyKeyword */; } function isClassMemberCompletionKeyword(kind) { switch (kind) { - case 126 /* AbstractKeyword */: - case 134 /* ConstructorKeyword */: - case 136 /* GetKeyword */: - case 149 /* SetKeyword */: - case 131 /* AsyncKeyword */: - case 135 /* DeclareKeyword */: - case 159 /* OverrideKeyword */: + case 126 /* SyntaxKind.AbstractKeyword */: + case 134 /* SyntaxKind.ConstructorKeyword */: + case 136 /* SyntaxKind.GetKeyword */: + case 149 /* SyntaxKind.SetKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: + case 135 /* SyntaxKind.DeclareKeyword */: + case 159 /* SyntaxKind.OverrideKeyword */: return true; default: return ts.isClassMemberModifier(kind); } } function isFunctionLikeBodyKeyword(kind) { - return kind === 131 /* AsyncKeyword */ - || kind === 132 /* AwaitKeyword */ - || kind === 127 /* AsKeyword */ + return kind === 131 /* SyntaxKind.AsyncKeyword */ + || kind === 132 /* SyntaxKind.AwaitKeyword */ + || kind === 127 /* SyntaxKind.AsKeyword */ || !ts.isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind); } function keywordForNode(node) { - return ts.isIdentifier(node) ? node.originalKeywordKind || 0 /* Unknown */ : node.kind; + return ts.isIdentifier(node) ? node.originalKeywordKind || 0 /* SyntaxKind.Unknown */ : node.kind; } function getContextualKeywords(contextToken, position) { var entries = []; @@ -134586,9 +135091,9 @@ var ts; && contextToken === parent.moduleSpecifier && tokenLine === currentLine) { entries.push({ - name: ts.tokenToString(129 /* AssertKeyword */), - kind: "keyword" /* keyword */, - kindModifiers: "" /* none */, + name: ts.tokenToString(129 /* SyntaxKind.AssertKeyword */), + kind: "keyword" /* ScriptElementKind.keyword */, + kindModifiers: "" /* ScriptElementKindModifier.none */, sortText: Completions.SortText.GlobalsOrKeywords, }); } @@ -134604,7 +135109,7 @@ var ts; } function getPropertiesForObjectExpression(contextualType, completionsType, obj, checker) { var hasCompletionsType = completionsType && completionsType !== contextualType; - var type = hasCompletionsType && !(completionsType.flags & 3 /* AnyOrUnknown */) + var type = hasCompletionsType && !(completionsType.flags & 3 /* TypeFlags.AnyOrUnknown */) ? checker.getUnionType([contextualType, completionsType]) : contextualType; var properties = getApparentProperties(type, obj, checker); @@ -134626,7 +135131,7 @@ var ts; if (!type.isUnion()) return type.getApparentProperties(); return checker.getAllPossiblePropertiesOfTypes(ts.filter(type.types, function (memberType) { - return !(memberType.flags & 131068 /* Primitive */ + return !(memberType.flags & 131068 /* TypeFlags.Primitive */ || checker.isArrayLikeType(memberType) || checker.isTypeInvalidDueToUnionDiscriminant(memberType, node) || ts.typeHasCallOrConstructSignatures(memberType, checker) @@ -134634,7 +135139,7 @@ var ts; })); } function containsNonPublicProperties(props) { - return ts.some(props, function (p) { return !!(ts.getDeclarationModifierFlagsFromSymbol(p) & 24 /* NonPublicAccessibilityModifier */); }); + return ts.some(props, function (p) { return !!(ts.getDeclarationModifierFlagsFromSymbol(p) & 24 /* ModifierFlags.NonPublicAccessibilityModifier */); }); } /** * Gets all properties on a type, but if that type is a union of several types, @@ -134652,15 +135157,15 @@ var ts; function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position) { // class c { method() { } | method2() { } } switch (location.kind) { - case 348 /* SyntaxList */: + case 348 /* SyntaxKind.SyntaxList */: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); - case 1 /* EndOfFileToken */: + case 1 /* SyntaxKind.EndOfFileToken */: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); - if (cls && !ts.findChildOfKind(cls, 19 /* CloseBraceToken */, sourceFile)) { + if (cls && !ts.findChildOfKind(cls, 19 /* SyntaxKind.CloseBraceToken */, sourceFile)) { return cls; } break; - case 79 /* Identifier */: { + case 79 /* SyntaxKind.Identifier */: { // class c { public prop = c| } if (ts.isPropertyDeclaration(location.parent) && location.parent.initializer === location) { return undefined; @@ -134674,22 +135179,22 @@ var ts; if (!contextToken) return undefined; // class C { blah; constructor/**/ } and so on - if (location.kind === 134 /* ConstructorKeyword */ + if (location.kind === 134 /* SyntaxKind.ConstructorKeyword */ // class C { blah \n constructor/**/ } || (ts.isIdentifier(contextToken) && ts.isPropertyDeclaration(contextToken.parent) && ts.isClassLike(location))) { return ts.findAncestor(contextToken, ts.isClassLike); } switch (contextToken.kind) { - case 63 /* EqualsToken */: // class c { public prop = | /* global completions */ } + case 63 /* SyntaxKind.EqualsToken */: // class c { public prop = | /* global completions */ } return undefined; - case 26 /* SemicolonToken */: // class c {getValue(): number; | } - case 19 /* CloseBraceToken */: // class c { method() { } | } + case 26 /* SyntaxKind.SemicolonToken */: // class c {getValue(): number; | } + case 19 /* SyntaxKind.CloseBraceToken */: // class c { method() { } | } // class c { method() { } b| } return isFromObjectTypeDeclaration(location) && location.parent.name === location ? location.parent.parent : ts.tryCast(location, ts.isObjectTypeDeclaration); - case 18 /* OpenBraceToken */: // class c { | - case 27 /* CommaToken */: // class c {getValue(): number, | } + case 18 /* SyntaxKind.OpenBraceToken */: // class c { | + case 27 /* SyntaxKind.CommaToken */: // class c {getValue(): number, | } return ts.tryCast(contextToken.parent, ts.isObjectTypeDeclaration); default: if (!isFromObjectTypeDeclaration(contextToken)) { @@ -134700,7 +135205,7 @@ var ts; return undefined; } var isValidKeyword = ts.isClassLike(contextToken.parent.parent) ? isClassMemberCompletionKeyword : isInterfaceOrTypeLiteralCompletionKeyword; - return (isValidKeyword(contextToken.kind) || contextToken.kind === 41 /* AsteriskToken */ || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) // TODO: GH#18217 + return (isValidKeyword(contextToken.kind) || contextToken.kind === 41 /* SyntaxKind.AsteriskToken */ || ts.isIdentifier(contextToken) && isValidKeyword(ts.stringToToken(contextToken.text))) // TODO: GH#18217 ? contextToken.parent.parent : undefined; } } @@ -134709,15 +135214,15 @@ var ts; return undefined; var parent = node.parent; switch (node.kind) { - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: if (ts.isTypeLiteralNode(parent)) { return parent; } break; - case 26 /* SemicolonToken */: - case 27 /* CommaToken */: - case 79 /* Identifier */: - if (parent.kind === 166 /* PropertySignature */ && ts.isTypeLiteralNode(parent.parent)) { + case 26 /* SyntaxKind.SemicolonToken */: + case 27 /* SyntaxKind.CommaToken */: + case 79 /* SyntaxKind.Identifier */: + if (parent.kind === 166 /* SyntaxKind.PropertySignature */ && ts.isTypeLiteralNode(parent.parent)) { return parent.parent; } break; @@ -134734,11 +135239,11 @@ var ts; if (!t) return undefined; switch (node.kind) { - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: return checker.getTypeOfPropertyOfContextualType(t, node.symbol.escapedName); - case 188 /* IntersectionType */: - case 182 /* TypeLiteral */: - case 187 /* UnionType */: + case 188 /* SyntaxKind.IntersectionType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 187 /* SyntaxKind.UnionType */: return t; } } @@ -134760,13 +135265,13 @@ var ts; return !!contextToken && ts.isPrivateIdentifier(contextToken) && !!ts.getContainingClass(contextToken); case "<": // Opening JSX tag - return !!contextToken && contextToken.kind === 29 /* LessThanToken */ && (!ts.isBinaryExpression(contextToken.parent) || binaryExpressionMayBeOpenTag(contextToken.parent)); + return !!contextToken && contextToken.kind === 29 /* SyntaxKind.LessThanToken */ && (!ts.isBinaryExpression(contextToken.parent) || binaryExpressionMayBeOpenTag(contextToken.parent)); case "/": return !!contextToken && (ts.isStringLiteralLike(contextToken) ? !!ts.tryGetImportFromModuleSpecifier(contextToken) - : contextToken.kind === 43 /* SlashToken */ && ts.isJsxClosingElement(contextToken.parent)); + : contextToken.kind === 43 /* SyntaxKind.SlashToken */ && ts.isJsxClosingElement(contextToken.parent)); case " ": - return !!contextToken && ts.isImportKeyword(contextToken) && contextToken.parent.kind === 305 /* SourceFile */; + return !!contextToken && ts.isImportKeyword(contextToken) && contextToken.parent.kind === 305 /* SyntaxKind.SourceFile */; default: return ts.Debug.assertNever(triggerCharacter); } @@ -134779,22 +135284,22 @@ var ts; function isProbablyGlobalType(type, sourceFile, checker) { // The type of `self` and `window` is the same in lib.dom.d.ts, but `window` does not exist in // lib.webworker.d.ts, so checking against `self` is also a check against `window` when it exists. - var selfSymbol = checker.resolveName("self", /*location*/ undefined, 111551 /* Value */, /*excludeGlobals*/ false); + var selfSymbol = checker.resolveName("self", /*location*/ undefined, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ false); if (selfSymbol && checker.getTypeOfSymbolAtLocation(selfSymbol, sourceFile) === type) { return true; } - var globalSymbol = checker.resolveName("global", /*location*/ undefined, 111551 /* Value */, /*excludeGlobals*/ false); + var globalSymbol = checker.resolveName("global", /*location*/ undefined, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ false); if (globalSymbol && checker.getTypeOfSymbolAtLocation(globalSymbol, sourceFile) === type) { return true; } - var globalThisSymbol = checker.resolveName("globalThis", /*location*/ undefined, 111551 /* Value */, /*excludeGlobals*/ false); + var globalThisSymbol = checker.resolveName("globalThis", /*location*/ undefined, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ false); if (globalThisSymbol && checker.getTypeOfSymbolAtLocation(globalThisSymbol, sourceFile) === type) { return true; } return false; } function isStaticProperty(symbol) { - return !!(symbol.valueDeclaration && ts.getEffectiveModifierFlags(symbol.valueDeclaration) & 32 /* Static */ && ts.isClassLike(symbol.valueDeclaration.parent)); + return !!(symbol.valueDeclaration && ts.getEffectiveModifierFlags(symbol.valueDeclaration) & 32 /* ModifierFlags.Static */ && ts.isClassLike(symbol.valueDeclaration.parent)); } function tryGetObjectLiteralContextualType(node, typeChecker) { var type = typeChecker.getContextualType(node); @@ -134802,7 +135307,7 @@ var ts; return type; } var parent = ts.walkUpParenthesizedExpressions(node.parent); - if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* EqualsToken */ && node === parent.left) { + if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && node === parent.left) { // Object literal is assignment pattern: ({ | } = x) return typeChecker.getTypeAtLocation(parent); } @@ -134819,7 +135324,7 @@ var ts; return { isKeywordOnlyCompletion: isKeywordOnlyCompletion, keywordCompletion: keywordCompletion, - isNewIdentifierLocation: !!(candidate || keywordCompletion === 152 /* TypeKeyword */), + isNewIdentifierLocation: !!(candidate || keywordCompletion === 152 /* SyntaxKind.TypeKeyword */), replacementNode: candidate && ts.rangeIsOnSingleLine(candidate, candidate.getSourceFile()) ? candidate : undefined @@ -134827,23 +135332,23 @@ var ts; function getCandidate() { var parent = contextToken.parent; if (ts.isImportEqualsDeclaration(parent)) { - keywordCompletion = contextToken.kind === 152 /* TypeKeyword */ ? undefined : 152 /* TypeKeyword */; + keywordCompletion = contextToken.kind === 152 /* SyntaxKind.TypeKeyword */ ? undefined : 152 /* SyntaxKind.TypeKeyword */; return isModuleSpecifierMissingOrEmpty(parent.moduleReference) ? parent : undefined; } if (couldBeTypeOnlyImportSpecifier(parent, contextToken) && canCompleteFromNamedBindings(parent.parent)) { return parent; } if (ts.isNamedImports(parent) || ts.isNamespaceImport(parent)) { - if (!parent.parent.isTypeOnly && (contextToken.kind === 18 /* OpenBraceToken */ || - contextToken.kind === 100 /* ImportKeyword */ || - contextToken.kind === 27 /* CommaToken */)) { - keywordCompletion = 152 /* TypeKeyword */; + if (!parent.parent.isTypeOnly && (contextToken.kind === 18 /* SyntaxKind.OpenBraceToken */ || + contextToken.kind === 100 /* SyntaxKind.ImportKeyword */ || + contextToken.kind === 27 /* SyntaxKind.CommaToken */)) { + keywordCompletion = 152 /* SyntaxKind.TypeKeyword */; } if (canCompleteFromNamedBindings(parent)) { // At `import { ... } |` or `import * as Foo |`, the only possible completion is `from` - if (contextToken.kind === 19 /* CloseBraceToken */ || contextToken.kind === 79 /* Identifier */) { + if (contextToken.kind === 19 /* SyntaxKind.CloseBraceToken */ || contextToken.kind === 79 /* SyntaxKind.Identifier */) { isKeywordOnlyCompletion = true; - keywordCompletion = 156 /* FromKeyword */; + keywordCompletion = 156 /* SyntaxKind.FromKeyword */; } else { return parent.parent.parent; @@ -134853,12 +135358,12 @@ var ts; } if (ts.isImportKeyword(contextToken) && ts.isSourceFile(parent)) { // A lone import keyword with nothing following it does not parse as a statement at all - keywordCompletion = 152 /* TypeKeyword */; + keywordCompletion = 152 /* SyntaxKind.TypeKeyword */; return contextToken; } if (ts.isImportKeyword(contextToken) && ts.isImportDeclaration(parent)) { // `import s| from` - keywordCompletion = 152 /* TypeKeyword */; + keywordCompletion = 152 /* SyntaxKind.TypeKeyword */; return isModuleSpecifierMissingOrEmpty(parent.moduleSpecifier) ? parent : undefined; } return undefined; @@ -134898,8 +135403,8 @@ var ts; // This code used to just test the result of `skipAlias`, but that would ignore any locally introduced meanings. return nonAliasCanBeReferencedAtTypeLocation(symbol) || nonAliasCanBeReferencedAtTypeLocation(ts.skipAlias(symbol.exportSymbol || symbol, checker)); function nonAliasCanBeReferencedAtTypeLocation(symbol) { - return !!(symbol.flags & 788968 /* Type */) || checker.isUnknownSymbol(symbol) || - !!(symbol.flags & 1536 /* Module */) && ts.addToSeen(seenModules, ts.getSymbolId(symbol)) && + return !!(symbol.flags & 788968 /* SymbolFlags.Type */) || checker.isUnknownSymbol(symbol) || + !!(symbol.flags & 1536 /* SymbolFlags.Module */) && ts.addToSeen(seenModules, ts.getSymbolId(symbol)) && checker.getExportsOfModule(symbol).some(function (e) { return symbolCanBeReferencedAtTypeLocation(e, checker, seenModules); }); } } @@ -134936,8 +135441,8 @@ var ts; var testChar = lowercaseCharacters.charCodeAt(characterIndex); if (strChar === testChar || strChar === toUpperCharCode(testChar)) { matchedFirstCharacter || (matchedFirstCharacter = prevChar === undefined || // Beginning of word - 97 /* a */ <= prevChar && prevChar <= 122 /* z */ && 65 /* A */ <= strChar && strChar <= 90 /* Z */ || // camelCase transition - prevChar === 95 /* _ */ && strChar !== 95 /* _ */); // snake_case transition + 97 /* CharacterCodes.a */ <= prevChar && prevChar <= 122 /* CharacterCodes.z */ && 65 /* CharacterCodes.A */ <= strChar && strChar <= 90 /* CharacterCodes.Z */ || // camelCase transition + prevChar === 95 /* CharacterCodes._ */ && strChar !== 95 /* CharacterCodes._ */); // snake_case transition if (matchedFirstCharacter) { characterIndex++; } @@ -134951,7 +135456,7 @@ var ts; return false; } function toUpperCharCode(charCode) { - if (97 /* a */ <= charCode && charCode <= 122 /* z */) { + if (97 /* CharacterCodes.a */ <= charCode && charCode <= 122 /* CharacterCodes.z */) { return charCode - 32; } return charCode; @@ -134981,7 +135486,7 @@ var ts; return { fileName: sourceFile.fileName, textSpan: ts.createTextSpanFromNode(node, sourceFile), - kind: "none" /* none */ + kind: "none" /* HighlightSpanKind.none */ }; } function getSemanticDocumentHighlights(position, node, program, cancellationToken, sourceFilesToSearch) { @@ -135011,45 +135516,47 @@ var ts; } function getHighlightSpans(node, sourceFile) { switch (node.kind) { - case 99 /* IfKeyword */: - case 91 /* ElseKeyword */: + case 99 /* SyntaxKind.IfKeyword */: + case 91 /* SyntaxKind.ElseKeyword */: return ts.isIfStatement(node.parent) ? getIfElseOccurrences(node.parent, sourceFile) : undefined; - case 105 /* ReturnKeyword */: + case 105 /* SyntaxKind.ReturnKeyword */: return useParent(node.parent, ts.isReturnStatement, getReturnOccurrences); - case 109 /* ThrowKeyword */: + case 109 /* SyntaxKind.ThrowKeyword */: return useParent(node.parent, ts.isThrowStatement, getThrowOccurrences); - case 111 /* TryKeyword */: - case 83 /* CatchKeyword */: - case 96 /* FinallyKeyword */: - var tryStatement = node.kind === 83 /* CatchKeyword */ ? node.parent.parent : node.parent; + case 111 /* SyntaxKind.TryKeyword */: + case 83 /* SyntaxKind.CatchKeyword */: + case 96 /* SyntaxKind.FinallyKeyword */: + var tryStatement = node.kind === 83 /* SyntaxKind.CatchKeyword */ ? node.parent.parent : node.parent; return useParent(tryStatement, ts.isTryStatement, getTryCatchFinallyOccurrences); - case 107 /* SwitchKeyword */: + case 107 /* SyntaxKind.SwitchKeyword */: return useParent(node.parent, ts.isSwitchStatement, getSwitchCaseDefaultOccurrences); - case 82 /* CaseKeyword */: - case 88 /* DefaultKeyword */: { + case 82 /* SyntaxKind.CaseKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: { if (ts.isDefaultClause(node.parent) || ts.isCaseClause(node.parent)) { return useParent(node.parent.parent.parent, ts.isSwitchStatement, getSwitchCaseDefaultOccurrences); } return undefined; } - case 81 /* BreakKeyword */: - case 86 /* ContinueKeyword */: + case 81 /* SyntaxKind.BreakKeyword */: + case 86 /* SyntaxKind.ContinueKeyword */: return useParent(node.parent, ts.isBreakOrContinueStatement, getBreakOrContinueStatementOccurrences); - case 97 /* ForKeyword */: - case 115 /* WhileKeyword */: - case 90 /* DoKeyword */: + case 97 /* SyntaxKind.ForKeyword */: + case 115 /* SyntaxKind.WhileKeyword */: + case 90 /* SyntaxKind.DoKeyword */: return useParent(node.parent, function (n) { return ts.isIterationStatement(n, /*lookInLabeledStatements*/ true); }, getLoopBreakContinueOccurrences); - case 134 /* ConstructorKeyword */: - return getFromAllDeclarations(ts.isConstructorDeclaration, [134 /* ConstructorKeyword */]); - case 136 /* GetKeyword */: - case 149 /* SetKeyword */: - return getFromAllDeclarations(ts.isAccessor, [136 /* GetKeyword */, 149 /* SetKeyword */]); - case 132 /* AwaitKeyword */: + case 134 /* SyntaxKind.ConstructorKeyword */: + return getFromAllDeclarations(ts.isConstructorDeclaration, [134 /* SyntaxKind.ConstructorKeyword */]); + case 136 /* SyntaxKind.GetKeyword */: + case 149 /* SyntaxKind.SetKeyword */: + return getFromAllDeclarations(ts.isAccessor, [136 /* SyntaxKind.GetKeyword */, 149 /* SyntaxKind.SetKeyword */]); + case 132 /* SyntaxKind.AwaitKeyword */: return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); - case 131 /* AsyncKeyword */: + case 131 /* SyntaxKind.AsyncKeyword */: return highlightSpans(getAsyncAndAwaitOccurrences(node)); - case 125 /* YieldKeyword */: + case 125 /* SyntaxKind.YieldKeyword */: return highlightSpans(getYieldOccurrences(node)); + case 101 /* SyntaxKind.InKeyword */: + return undefined; default: return ts.isModifierKind(node.kind) && (ts.isDeclaration(node.parent) || ts.isVariableStatement(node.parent)) ? highlightSpans(getModifierOccurrences(node.kind, node.parent)) @@ -135091,7 +135598,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 305 /* SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 305 /* SyntaxKind.SourceFile */) { return parent; } // A throw-statement is only owned by a try-statement if the try-statement has @@ -135123,16 +135630,16 @@ var ts; function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 249 /* SwitchStatement */: - if (statement.kind === 245 /* ContinueStatement */) { + case 249 /* SyntaxKind.SwitchStatement */: + if (statement.kind === 245 /* SyntaxKind.ContinueStatement */) { return false; } // falls through - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 241 /* WhileStatement */: - case 240 /* DoStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 240 /* SyntaxKind.DoStatement */: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: // Don't cross function boundaries. @@ -135148,41 +135655,41 @@ var ts; // Types of node whose children might have modifiers. var container = declaration.parent; switch (container.kind) { - case 262 /* ModuleBlock */: - case 305 /* SourceFile */: - case 235 /* Block */: - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 262 /* SyntaxKind.ModuleBlock */: + case 305 /* SyntaxKind.SourceFile */: + case 235 /* SyntaxKind.Block */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: // Container is either a class declaration or the declaration is a classDeclaration - if (modifierFlag & 128 /* Abstract */ && ts.isClassDeclaration(declaration)) { + if (modifierFlag & 128 /* ModifierFlags.Abstract */ && ts.isClassDeclaration(declaration)) { return __spreadArray(__spreadArray([], declaration.members, true), [declaration], false); } else { return container.statements; } - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 256 /* FunctionDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return __spreadArray(__spreadArray([], container.parameters, true), (ts.isClassLike(container.parent) ? container.parent.members : []), true); - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 182 /* TypeLiteral */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 182 /* SyntaxKind.TypeLiteral */: var nodes = container.members; // If we're an accessibility modifier, we're in an instance member and should search // the constructor's parameter list for instance members as well. - if (modifierFlag & (28 /* AccessibilityModifier */ | 64 /* Readonly */)) { + if (modifierFlag & (28 /* ModifierFlags.AccessibilityModifier */ | 64 /* ModifierFlags.Readonly */)) { var constructor = ts.find(container.members, ts.isConstructorDeclaration); if (constructor) { return __spreadArray(__spreadArray([], nodes, true), constructor.parameters, true); } } - else if (modifierFlag & 128 /* Abstract */) { + else if (modifierFlag & 128 /* ModifierFlags.Abstract */) { return __spreadArray(__spreadArray([], nodes, true), [container], false); } return nodes; // Syntactically invalid positions that the parser might produce anyway - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return undefined; default: ts.Debug.assertNever(container, "Invalid container kind."); @@ -135201,12 +135708,12 @@ var ts; } function getLoopBreakContinueOccurrences(loopNode) { var keywords = []; - if (pushKeywordIf(keywords, loopNode.getFirstToken(), 97 /* ForKeyword */, 115 /* WhileKeyword */, 90 /* DoKeyword */)) { + if (pushKeywordIf(keywords, loopNode.getFirstToken(), 97 /* SyntaxKind.ForKeyword */, 115 /* SyntaxKind.WhileKeyword */, 90 /* SyntaxKind.DoKeyword */)) { // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === 240 /* DoStatement */) { + if (loopNode.kind === 240 /* SyntaxKind.DoStatement */) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { - if (pushKeywordIf(keywords, loopTokens[i], 115 /* WhileKeyword */)) { + if (pushKeywordIf(keywords, loopTokens[i], 115 /* SyntaxKind.WhileKeyword */)) { break; } } @@ -135214,7 +135721,7 @@ var ts; } ts.forEach(aggregateAllBreakAndContinueStatements(loopNode.statement), function (statement) { if (ownsBreakOrContinueStatement(loopNode, statement)) { - pushKeywordIf(keywords, statement.getFirstToken(), 81 /* BreakKeyword */, 86 /* ContinueKeyword */); + pushKeywordIf(keywords, statement.getFirstToken(), 81 /* SyntaxKind.BreakKeyword */, 86 /* SyntaxKind.ContinueKeyword */); } }); return keywords; @@ -135223,13 +135730,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: return getLoopBreakContinueOccurrences(owner); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: return getSwitchCaseDefaultOccurrences(owner); } } @@ -135237,13 +135744,13 @@ var ts; } function getSwitchCaseDefaultOccurrences(switchStatement) { var keywords = []; - pushKeywordIf(keywords, switchStatement.getFirstToken(), 107 /* SwitchKeyword */); + pushKeywordIf(keywords, switchStatement.getFirstToken(), 107 /* SyntaxKind.SwitchKeyword */); // Go through each clause in the switch statement, collecting the 'case'/'default' keywords. ts.forEach(switchStatement.caseBlock.clauses, function (clause) { - pushKeywordIf(keywords, clause.getFirstToken(), 82 /* CaseKeyword */, 88 /* DefaultKeyword */); + pushKeywordIf(keywords, clause.getFirstToken(), 82 /* SyntaxKind.CaseKeyword */, 88 /* SyntaxKind.DefaultKeyword */); ts.forEach(aggregateAllBreakAndContinueStatements(clause), function (statement) { if (ownsBreakOrContinueStatement(switchStatement, statement)) { - pushKeywordIf(keywords, statement.getFirstToken(), 81 /* BreakKeyword */); + pushKeywordIf(keywords, statement.getFirstToken(), 81 /* SyntaxKind.BreakKeyword */); } }); }); @@ -135251,13 +135758,13 @@ var ts; } function getTryCatchFinallyOccurrences(tryStatement, sourceFile) { var keywords = []; - pushKeywordIf(keywords, tryStatement.getFirstToken(), 111 /* TryKeyword */); + pushKeywordIf(keywords, tryStatement.getFirstToken(), 111 /* SyntaxKind.TryKeyword */); if (tryStatement.catchClause) { - pushKeywordIf(keywords, tryStatement.catchClause.getFirstToken(), 83 /* CatchKeyword */); + pushKeywordIf(keywords, tryStatement.catchClause.getFirstToken(), 83 /* SyntaxKind.CatchKeyword */); } if (tryStatement.finallyBlock) { - var finallyKeyword = ts.findChildOfKind(tryStatement, 96 /* FinallyKeyword */, sourceFile); - pushKeywordIf(keywords, finallyKeyword, 96 /* FinallyKeyword */); + var finallyKeyword = ts.findChildOfKind(tryStatement, 96 /* SyntaxKind.FinallyKeyword */, sourceFile); + pushKeywordIf(keywords, finallyKeyword, 96 /* SyntaxKind.FinallyKeyword */); } return keywords; } @@ -135268,13 +135775,13 @@ var ts; } var keywords = []; ts.forEach(aggregateOwnedThrowStatements(owner), function (throwStatement) { - keywords.push(ts.findChildOfKind(throwStatement, 109 /* ThrowKeyword */, sourceFile)); + keywords.push(ts.findChildOfKind(throwStatement, 109 /* SyntaxKind.ThrowKeyword */, sourceFile)); }); // If the "owner" is a function, then we equate 'return' and 'throw' statements in their // ability to "jump out" of the function, and include occurrences for both. if (ts.isFunctionBlock(owner)) { ts.forEachReturnStatement(owner, function (returnStatement) { - keywords.push(ts.findChildOfKind(returnStatement, 105 /* ReturnKeyword */, sourceFile)); + keywords.push(ts.findChildOfKind(returnStatement, 105 /* SyntaxKind.ReturnKeyword */, sourceFile)); }); } return keywords; @@ -135286,11 +135793,11 @@ var ts; } var keywords = []; ts.forEachReturnStatement(ts.cast(func.body, ts.isBlock), function (returnStatement) { - keywords.push(ts.findChildOfKind(returnStatement, 105 /* ReturnKeyword */, sourceFile)); + keywords.push(ts.findChildOfKind(returnStatement, 105 /* SyntaxKind.ReturnKeyword */, sourceFile)); }); // Include 'throw' statements that do not occur within a try block. ts.forEach(aggregateOwnedThrowStatements(func.body), function (throwStatement) { - keywords.push(ts.findChildOfKind(throwStatement, 109 /* ThrowKeyword */, sourceFile)); + keywords.push(ts.findChildOfKind(throwStatement, 109 /* SyntaxKind.ThrowKeyword */, sourceFile)); }); return keywords; } @@ -135302,13 +135809,13 @@ var ts; var keywords = []; if (func.modifiers) { func.modifiers.forEach(function (modifier) { - pushKeywordIf(keywords, modifier, 131 /* AsyncKeyword */); + pushKeywordIf(keywords, modifier, 131 /* SyntaxKind.AsyncKeyword */); }); } ts.forEachChild(func, function (child) { traverseWithoutCrossingFunction(child, function (node) { if (ts.isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 132 /* AwaitKeyword */); + pushKeywordIf(keywords, node.getFirstToken(), 132 /* SyntaxKind.AwaitKeyword */); } }); }); @@ -135323,7 +135830,7 @@ var ts; ts.forEachChild(func, function (child) { traverseWithoutCrossingFunction(child, function (node) { if (ts.isYieldExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 125 /* YieldKeyword */); + pushKeywordIf(keywords, node.getFirstToken(), 125 /* SyntaxKind.YieldKeyword */); } }); }); @@ -135342,7 +135849,7 @@ var ts; // We'd like to highlight else/ifs together if they are only separated by whitespace // (i.e. the keywords are separated by no comments, no newlines). for (var i = 0; i < keywords.length; i++) { - if (keywords[i].kind === 91 /* ElseKeyword */ && i < keywords.length - 1) { + if (keywords[i].kind === 91 /* SyntaxKind.ElseKeyword */ && i < keywords.length - 1) { var elseKeyword = keywords[i]; var ifKeyword = keywords[i + 1]; // this *should* always be an 'if' keyword. var shouldCombineElseAndIf = true; @@ -135357,7 +135864,7 @@ var ts; result.push({ fileName: sourceFile.fileName, textSpan: ts.createTextSpanFromBounds(elseKeyword.getStart(), ifKeyword.end), - kind: "reference" /* reference */ + kind: "reference" /* HighlightSpanKind.reference */ }); i++; // skip the next keyword continue; @@ -135377,10 +135884,10 @@ var ts; // Now traverse back down through the else branches, aggregating if/else keywords of if-statements. while (true) { var children = ifStatement.getChildren(sourceFile); - pushKeywordIf(keywords, children[0], 99 /* IfKeyword */); + pushKeywordIf(keywords, children[0], 99 /* SyntaxKind.IfKeyword */); // Generally the 'else' keyword is second-to-last, so we traverse backwards. for (var i = children.length - 1; i >= 0; i--) { - if (pushKeywordIf(keywords, children[i], 91 /* ElseKeyword */)) { + if (pushKeywordIf(keywords, children[i], 91 /* SyntaxKind.ElseKeyword */)) { break; } } @@ -135464,7 +135971,7 @@ var ts; } function getDocumentRegistryEntry(bucketEntry, scriptKind) { var entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(ts.Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); - ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:" + scriptKind + " and sourceFile.scriptKind: " + (entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind) + ", !entry: " + !entry); + ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:".concat(scriptKind, " and sourceFile.scriptKind: ").concat(entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind, ", !entry: ").concat(!entry)); return entry; } function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version, acquiring, scriptKind) { @@ -135472,7 +135979,7 @@ var ts; scriptKind = ts.ensureScriptKind(fileName, scriptKind); var compilationSettings = getCompilationSettings(compilationSettingsOrHost); var host = compilationSettingsOrHost === compilationSettings ? undefined : compilationSettingsOrHost; - var scriptTarget = scriptKind === 6 /* JSON */ ? 100 /* JSON */ : ts.getEmitScriptTarget(compilationSettings); + var scriptTarget = scriptKind === 6 /* ScriptKind.JSON */ ? 100 /* ScriptTarget.JSON */ : ts.getEmitScriptTarget(compilationSettings); var sourceFileOptions = { languageVersion: scriptTarget, impliedNodeFormat: host && ts.getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a = host.getCompilerHost) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getModuleResolutionCache) === null || _c === void 0 ? void 0 : _c.call(_b)) === null || _d === void 0 ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), @@ -135485,15 +135992,15 @@ var ts; // It is interesting, but not definitively problematic if a build requires multiple document registry buckets - // perhaps they are for two projects that don't have any overlap. // Bonus: these events can help us interpret the more interesting event below. - ts.tracing.instant("session" /* Session */, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: key }); + ts.tracing.instant("session" /* tracing.Phase.Session */, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: key }); } // It is fairly suspicious to have one path in two buckets - you'd expect dependencies to have similar configurations. // If this occurs unexpectedly, the fix is likely to synchronize the project settings. // Skip .d.ts files to reduce noise (should also cover most of node_modules). - var otherBucketKey = !ts.fileExtensionIs(path, ".d.ts" /* Dts */) && + var otherBucketKey = !ts.isDeclarationFileName(path) && ts.forEachEntry(buckets, function (bucket, bucketKey) { return bucketKey !== key && bucket.has(path) && bucketKey; }); if (otherBucketKey) { - ts.tracing.instant("session" /* Session */, "documentRegistryBucketOverlap", { path: path, key1: otherBucketKey, key2: key }); + ts.tracing.instant("session" /* tracing.Phase.Session */, "documentRegistryBucketOverlap", { path: path, key1: otherBucketKey, key2: key }); } } var bucketEntry = bucket.get(path); @@ -135607,18 +136114,18 @@ var ts; return "" + value; } if (ts.isArray(value)) { - return "[" + ((_a = ts.map(value, function (e) { return compilerOptionValueToString(e); })) === null || _a === void 0 ? void 0 : _a.join(",")) + "]"; + return "[".concat((_a = ts.map(value, function (e) { return compilerOptionValueToString(e); })) === null || _a === void 0 ? void 0 : _a.join(","), "]"); } var str = "{"; for (var key in value) { if (ts.hasOwnProperty.call(value, key)) { // eslint-disable-line @typescript-eslint/no-unnecessary-qualifier - str += key + ": " + compilerOptionValueToString(value[key]); + str += "".concat(key, ": ").concat(compilerOptionValueToString(value[key])); } } return str + "}"; } function getKeyForCompilationSettings(settings) { - return ts.sourceFileAffectingCompilerOptions.map(function (option) { return compilerOptionValueToString(ts.getCompilerOptionValue(settings, option)); }).join("|") + (settings.pathsBasePath ? "|" + settings.pathsBasePath : undefined); + return ts.sourceFileAffectingCompilerOptions.map(function (option) { return compilerOptionValueToString(ts.getCompilerOptionValue(settings, option)); }).join("|") + (settings.pathsBasePath ? "|".concat(settings.pathsBasePath) : undefined); } })(ts || (ts = {})); /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ @@ -135685,43 +136192,43 @@ var ts; if (cancellationToken) cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: if (ts.isImportCall(direct)) { handleImportCall(direct); break; } if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 /* ExportEquals */ && parent.kind === 254 /* VariableDeclaration */) { + if (exportKind === 2 /* ExportKind.ExportEquals */ && parent.kind === 254 /* SyntaxKind.VariableDeclaration */) { var name = parent.name; - if (name.kind === 79 /* Identifier */) { + if (name.kind === 79 /* SyntaxKind.Identifier */) { directImports.push(name); break; } } } break; - case 79 /* Identifier */: // for 'const x = require("y"); + case 79 /* SyntaxKind.Identifier */: // for 'const x = require("y"); break; // TODO: GH#23879 - case 265 /* ImportEqualsDeclaration */: - handleNamespaceImport(direct, direct.name, ts.hasSyntacticModifier(direct, 1 /* Export */), /*alreadyAddedDirect*/ false); + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + handleNamespaceImport(direct, direct.name, ts.hasSyntacticModifier(direct, 1 /* ModifierFlags.Export */), /*alreadyAddedDirect*/ false); break; - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: directImports.push(direct); var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 268 /* NamespaceImport */) { + if (namedBindings && namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { handleNamespaceImport(direct, namedBindings.name, /*isReExport*/ false, /*alreadyAddedDirect*/ true); } else if (!isAvailableThroughGlobal && ts.isDefaultImport(direct)) { addIndirectUser(getSourceFileLikeForImportDeclaration(direct)); // Add a check for indirect uses to handle synthetic default imports } break; - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: if (!direct.exportClause) { // This is `export * from "foo"`, so imports of this module may import the export too. handleDirectImports(getContainingModuleSymbol(direct, checker)); } - else if (direct.exportClause.kind === 274 /* NamespaceExport */) { + else if (direct.exportClause.kind === 274 /* SyntaxKind.NamespaceExport */) { // `export * as foo from "foo"` add to indirect uses addIndirectUser(getSourceFileLikeForImportDeclaration(direct), /** addTransitiveDependencies */ true); } @@ -135730,7 +136237,7 @@ var ts; directImports.push(direct); } break; - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: // Only check for typeof import('xyz') if (direct.isTypeOf && !direct.qualifier && isExported(direct)) { addIndirectUser(direct.getSourceFile(), /** addTransitiveDependencies */ true); @@ -135752,18 +136259,18 @@ var ts; return ts.findAncestor(node, function (node) { if (stopAtAmbientModule && isAmbientModuleDeclaration(node)) return "quit"; - return ts.some(node.modifiers, function (mod) { return mod.kind === 93 /* ExportKeyword */; }); + return ts.some(node.modifiers, function (mod) { return mod.kind === 93 /* SyntaxKind.ExportKeyword */; }); }); } function handleNamespaceImport(importDeclaration, name, isReExport, alreadyAddedDirect) { - if (exportKind === 2 /* ExportEquals */) { + if (exportKind === 2 /* ExportKind.ExportEquals */) { // This is a direct import, not import-as-namespace. if (!alreadyAddedDirect) directImports.push(importDeclaration); } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 305 /* SourceFile */ || sourceFileLike.kind === 261 /* ModuleDeclaration */); + ts.Debug.assert(sourceFileLike.kind === 305 /* SyntaxKind.SourceFile */ || sourceFileLike.kind === 261 /* SyntaxKind.ModuleDeclaration */); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUser(sourceFileLike, /** addTransitiveDependencies */ true); } @@ -135785,7 +136292,7 @@ var ts; var moduleSymbol = checker.getMergedSymbol(sourceFileLike.symbol); if (!moduleSymbol) return; - ts.Debug.assert(!!(moduleSymbol.flags & 1536 /* Module */)); + ts.Debug.assert(!!(moduleSymbol.flags & 1536 /* SymbolFlags.Module */)); var directImports = getDirectImports(moduleSymbol); if (directImports) { for (var _i = 0, directImports_1 = directImports; _i < directImports_1.length; _i++) { @@ -135819,33 +136326,33 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 265 /* ImportEqualsDeclaration */) { + if (decl.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } return; } - if (decl.kind === 79 /* Identifier */) { + if (decl.kind === 79 /* SyntaxKind.Identifier */) { handleNamespaceImportLike(decl); return; } - if (decl.kind === 200 /* ImportType */) { + if (decl.kind === 200 /* SyntaxKind.ImportType */) { if (decl.qualifier) { var firstIdentifier = ts.getFirstIdentifier(decl.qualifier); if (firstIdentifier.escapedText === ts.symbolName(exportSymbol)) { singleReferences.push(firstIdentifier); } } - else if (exportKind === 2 /* ExportEquals */) { + else if (exportKind === 2 /* ExportKind.ExportEquals */) { singleReferences.push(decl.argument.literal); } return; } // Ignore if there's a grammar error - if (decl.moduleSpecifier.kind !== 10 /* StringLiteral */) { + if (decl.moduleSpecifier.kind !== 10 /* SyntaxKind.StringLiteral */) { return; } - if (decl.kind === 272 /* ExportDeclaration */) { + if (decl.kind === 272 /* SyntaxKind.ExportDeclaration */) { if (decl.exportClause && ts.isNamedExports(decl.exportClause)) { searchForNamedImport(decl.exportClause); } @@ -135854,12 +136361,12 @@ var ts; var _a = decl.importClause || { name: undefined, namedBindings: undefined }, name = _a.name, namedBindings = _a.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: handleNamespaceImportLike(namedBindings.name); break; - case 269 /* NamedImports */: + case 269 /* SyntaxKind.NamedImports */: // 'default' might be accessed as a named import `{ default as foo }`. - if (exportKind === 0 /* Named */ || exportKind === 1 /* Default */) { + if (exportKind === 0 /* ExportKind.Named */ || exportKind === 1 /* ExportKind.Default */) { searchForNamedImport(namedBindings); } break; @@ -135870,7 +136377,7 @@ var ts; // `export =` might be imported by a default import if `--allowSyntheticDefaultImports` is on, so this handles both ExportKind.Default and ExportKind.ExportEquals. // If a default import has the same name as the default export, allow to rename it. // Given `import f` and `export default function f`, we will rename both, but for `import g` we will rename just that. - if (name && (exportKind === 1 /* Default */ || exportKind === 2 /* ExportEquals */) && (!isForRename || name.escapedText === ts.symbolEscapedNameNoDefault(exportSymbol))) { + if (name && (exportKind === 1 /* ExportKind.Default */ || exportKind === 2 /* ExportKind.ExportEquals */) && (!isForRename || name.escapedText === ts.symbolEscapedNameNoDefault(exportSymbol))) { var defaultImportAlias = checker.getSymbolAtLocation(name); addSearch(name, defaultImportAlias); } @@ -135882,7 +136389,7 @@ var ts; */ function handleNamespaceImportLike(importName) { // Don't rename an import that already has a different name than the export. - if (exportKind === 2 /* ExportEquals */ && (!isForRename || isNameMatch(importName.escapedText))) { + if (exportKind === 2 /* ExportKind.ExportEquals */ && (!isForRename || isNameMatch(importName.escapedText))) { addSearch(importName, checker.getSymbolAtLocation(importName)); } } @@ -135907,7 +136414,7 @@ var ts; } } else { - var localSymbol = element.kind === 275 /* ExportSpecifier */ && element.propertyName + var localSymbol = element.kind === 275 /* SyntaxKind.ExportSpecifier */ && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) // For re-exporting under a different name, we want to get the re-exported symbol. : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -135916,7 +136423,7 @@ var ts; } function isNameMatch(name) { // Use name of "default" even in `export =` case because we may have allowSyntheticDefaultImports - return name === exportSymbol.escapedName || exportKind !== 0 /* Named */ && name === "default" /* Default */; + return name === exportSymbol.escapedName || exportKind !== 0 /* ExportKind.Named */ && name === "default" /* InternalSymbolName.Default */; } } /** Returns 'true' is the namespace 'name' is re-exported from this module, and 'false' if it is only used locally. */ @@ -135936,7 +136443,7 @@ var ts; for (var _i = 0, sourceFiles_1 = sourceFiles; _i < sourceFiles_1.length; _i++) { var referencingFile = sourceFiles_1[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if ((searchSourceFile === null || searchSourceFile === void 0 ? void 0 : searchSourceFile.kind) === 305 /* SourceFile */) { + if ((searchSourceFile === null || searchSourceFile === void 0 ? void 0 : searchSourceFile.kind) === 305 /* SyntaxKind.SourceFile */) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -135984,7 +136491,7 @@ var ts; } /** Iterates over all statements at the top level or in module declarations. Returns the first truthy result. */ function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 305 /* SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -135999,15 +136506,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 272 /* ExportDeclaration */: - case 266 /* ImportDeclaration */: { + case 272 /* SyntaxKind.ExportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 265 /* ImportEqualsDeclaration */: { + case 265 /* SyntaxKind.ImportEqualsDeclaration */: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -136032,7 +136539,7 @@ var ts; var parent = node.parent; var grandparent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 206 /* PropertyAccessExpression */) { + if (parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { // When accessing an export of a JS module, there's no alias. The symbol will still be flagged as an export even though we're at the use. // So check that we are at the declaration. return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d === parent; })) && ts.isBinaryExpression(grandparent) @@ -136045,21 +136552,21 @@ var ts; } else { var exportNode = getExportNode(parent, node); - if (exportNode && ts.hasSyntacticModifier(exportNode, 1 /* Export */)) { + if (exportNode && ts.hasSyntacticModifier(exportNode, 1 /* ModifierFlags.Export */)) { if (ts.isImportEqualsDeclaration(exportNode) && exportNode.moduleReference === node) { // We're at `Y` in `export import X = Y`. This is not the exported symbol, the left-hand-side is. So treat this as an import statement. if (comingFromExport) { return undefined; } var lhsSymbol = checker.getSymbolAtLocation(exportNode.name); - return { kind: 0 /* Import */, symbol: lhsSymbol }; + return { kind: 0 /* ImportExport.Import */, symbol: lhsSymbol }; } else { return exportInfo(symbol, getExportKindForDeclaration(exportNode)); } } else if (ts.isNamespaceExport(parent)) { - return exportInfo(symbol, 0 /* Named */); + return exportInfo(symbol, 0 /* ExportKind.Named */); } // If we are in `export = a;` or `export default a;`, `parent` is the export assignment. else if (ts.isExportAssignment(parent)) { @@ -136077,24 +136584,24 @@ var ts; return getSpecialPropertyExport(grandparent, /*useLhsSymbol*/ true); } else if (ts.isJSDocTypedefTag(parent)) { - return exportInfo(symbol, 0 /* Named */); + return exportInfo(symbol, 0 /* ExportKind.Named */); } } function getExportAssignmentExport(ex) { // Get the symbol for the `export =` node; its parent is the module it's the export of. if (!ex.symbol.parent) return undefined; - var exportKind = ex.isExportEquals ? 2 /* ExportEquals */ : 1 /* Default */; - return { kind: 1 /* Export */, symbol: symbol, exportInfo: { exportingModuleSymbol: ex.symbol.parent, exportKind: exportKind } }; + var exportKind = ex.isExportEquals ? 2 /* ExportKind.ExportEquals */ : 1 /* ExportKind.Default */; + return { kind: 1 /* ImportExport.Export */, symbol: symbol, exportInfo: { exportingModuleSymbol: ex.symbol.parent, exportKind: exportKind } }; } function getSpecialPropertyExport(node, useLhsSymbol) { var kind; switch (ts.getAssignmentDeclarationKind(node)) { - case 1 /* ExportsProperty */: - kind = 0 /* Named */; + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + kind = 0 /* ExportKind.Named */; break; - case 2 /* ModuleExports */: - kind = 2 /* ExportEquals */; + case 2 /* AssignmentDeclarationKind.ModuleExports */: + kind = 2 /* ExportKind.ExportEquals */; break; default: return undefined; @@ -136121,22 +136628,22 @@ var ts; // If `importedName` is undefined, do continue searching as the export is anonymous. // (All imports returned from this function will be ignored anyway if we are in rename and this is a not a named export.) var importedName = ts.symbolEscapedNameNoDefault(importedSymbol); - if (importedName === undefined || importedName === "default" /* Default */ || importedName === symbol.escapedName) { - return { kind: 0 /* Import */, symbol: importedSymbol }; + if (importedName === undefined || importedName === "default" /* InternalSymbolName.Default */ || importedName === symbol.escapedName) { + return { kind: 0 /* ImportExport.Import */, symbol: importedSymbol }; } } function exportInfo(symbol, kind) { var exportInfo = getExportInfo(symbol, kind, checker); - return exportInfo && { kind: 1 /* Export */, symbol: symbol, exportInfo: exportInfo }; + return exportInfo && { kind: 1 /* ImportExport.Export */, symbol: symbol, exportInfo: exportInfo }; } // Not meant for use with export specifiers or export assignment. function getExportKindForDeclaration(node) { - return ts.hasSyntacticModifier(node, 512 /* Default */) ? 1 /* Default */ : 0 /* Named */; + return ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) ? 1 /* ExportKind.Default */ : 0 /* ExportKind.Named */; } } FindAllReferences.getImportOrExportSymbol = getImportOrExportSymbol; function getExportEqualsLocalSymbol(importedSymbol, checker) { - if (importedSymbol.flags & 2097152 /* Alias */) { + if (importedSymbol.flags & 2097152 /* SymbolFlags.Alias */) { return ts.Debug.checkDefined(checker.getImmediateAliasedSymbol(importedSymbol)); } var decl = ts.Debug.checkDefined(importedSymbol.valueDeclaration); @@ -136166,16 +136673,16 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return parent.name === node && isExternalModuleImportEquals(parent); - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: // For a rename import `{ foo as bar }`, don't search for the imported symbol. Just find local uses of `bar`. return !parent.propertyName; - case 267 /* ImportClause */: - case 268 /* NamespaceImport */: + case 267 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.NamespaceImport */: ts.Debug.assert(parent.name === node); return true; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(parent); default: return false; @@ -136205,7 +136712,7 @@ var ts; } else if (ts.isShorthandPropertyAssignment(declaration) && ts.isBinaryExpression(declaration.parent.parent) - && ts.getAssignmentDeclarationKind(declaration.parent.parent) === 2 /* ModuleExports */) { + && ts.getAssignmentDeclarationKind(declaration.parent.parent) === 2 /* AssignmentDeclarationKind.ModuleExports */) { return checker.getExportSpecifierLocalTargetSymbol(declaration.name); } } @@ -136216,21 +136723,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 208 /* CallExpression */) { + if (node.kind === 208 /* SyntaxKind.CallExpression */) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 305 /* SourceFile */) { + if (parent.kind === 305 /* SyntaxKind.SourceFile */) { return parent; } - ts.Debug.assert(parent.kind === 262 /* ModuleBlock */); + ts.Debug.assert(parent.kind === 262 /* SyntaxKind.ModuleBlock */); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 261 /* ModuleDeclaration */ && node.name.kind === 10 /* StringLiteral */; + return node.kind === 261 /* SyntaxKind.ModuleDeclaration */ && node.name.kind === 10 /* SyntaxKind.StringLiteral */; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 277 /* ExternalModuleReference */ && eq.moduleReference.expression.kind === 10 /* StringLiteral */; + return eq.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */ && eq.moduleReference.expression.kind === 10 /* SyntaxKind.StringLiteral */; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -136257,7 +136764,7 @@ var ts; EntryKind[EntryKind["SearchedPropertyFoundLocal"] = 4] = "SearchedPropertyFoundLocal"; })(EntryKind = FindAllReferences.EntryKind || (FindAllReferences.EntryKind = {})); function nodeEntry(node, kind) { - if (kind === void 0) { kind = 1 /* Node */; } + if (kind === void 0) { kind = 1 /* EntryKind.Node */; } return { kind: kind, node: node.name || node, @@ -136285,7 +136792,7 @@ var ts; node.parent.parent.left === node.parent ? node.parent.parent : undefined; - if (binaryExpression && ts.getAssignmentDeclarationKind(binaryExpression) !== 0 /* None */) { + if (binaryExpression && ts.getAssignmentDeclarationKind(binaryExpression) !== 0 /* AssignmentDeclarationKind.None */) { return getContextNode(binaryExpression); } } @@ -136324,7 +136831,7 @@ var ts; ((ts.isImportOrExportSpecifier(node.parent) || ts.isBindingElement(node.parent)) && node.parent.propertyName === node) || // Is default export - (node.kind === 88 /* DefaultKeyword */ && ts.hasSyntacticModifier(node.parent, 513 /* ExportDefault */))) { + (node.kind === 88 /* SyntaxKind.DefaultKeyword */ && ts.hasSyntacticModifier(node.parent, 513 /* ModifierFlags.ExportDefault */))) { return getContextNode(node.parent); } return undefined; @@ -136333,7 +136840,7 @@ var ts; if (!node) return undefined; switch (node.kind) { - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return !ts.isVariableDeclarationList(node.parent) || node.parent.declarations.length !== 1 ? node : ts.isVariableStatement(node.parent.parent) ? @@ -136341,28 +136848,28 @@ var ts; ts.isForInOrOfStatement(node.parent.parent) ? getContextNode(node.parent.parent) : node.parent; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return getContextNode(node.parent.parent); - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent; - case 275 /* ExportSpecifier */: - case 268 /* NamespaceImport */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 268 /* SyntaxKind.NamespaceImport */: return node.parent.parent; - case 267 /* ImportClause */: - case 274 /* NamespaceExport */: + case 267 /* SyntaxKind.ImportClause */: + case 274 /* SyntaxKind.NamespaceExport */: return node.parent; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return ts.isExpressionStatement(node.parent) ? node.parent : node; - case 244 /* ForOfStatement */: - case 243 /* ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.ForInStatement */: return { start: node.initializer, end: node.expression }; - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent) ? getContextNode(ts.findAncestor(node.parent, function (node) { return ts.isBinaryExpression(node) || ts.isForInOrOfStatement(node); @@ -136403,7 +136910,7 @@ var ts; })(FindReferencesUse = FindAllReferences.FindReferencesUse || (FindAllReferences.FindReferencesUse = {})); function findReferencedSymbols(program, cancellationToken, sourceFiles, sourceFile, position) { var node = ts.getTouchingPropertyName(sourceFile, position); - var options = { use: 1 /* References */ }; + var options = { use: 1 /* FindReferencesUse.References */ }; var referencedSymbols = Core.getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken, options); var checker = program.getTypeChecker(); // Unless the starting node is a declaration (vs e.g. JSDoc), don't attempt to compute isDefinition @@ -136420,19 +136927,19 @@ var ts; } FindAllReferences.findReferencedSymbols = findReferencedSymbols; function isDefinitionForReference(node) { - return node.kind === 88 /* DefaultKeyword */ + return node.kind === 88 /* SyntaxKind.DefaultKeyword */ || !!ts.getDeclarationFromName(node) || ts.isLiteralComputedPropertyDeclarationName(node) - || (node.kind === 134 /* ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent)); + || (node.kind === 134 /* SyntaxKind.ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent)); } function getImplementationsAtPosition(program, cancellationToken, sourceFiles, sourceFile, position) { var node = ts.getTouchingPropertyName(sourceFile, position); var referenceEntries; var entries = getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position); - if (node.parent.kind === 206 /* PropertyAccessExpression */ - || node.parent.kind === 203 /* BindingElement */ - || node.parent.kind === 207 /* ElementAccessExpression */ - || node.kind === 106 /* SuperKeyword */) { + if (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ + || node.parent.kind === 203 /* SyntaxKind.BindingElement */ + || node.parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ + || node.kind === 106 /* SyntaxKind.SuperKeyword */) { referenceEntries = entries && __spreadArray([], entries, true); } else { @@ -136455,18 +136962,18 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 305 /* SourceFile */) { + if (node.kind === 305 /* SyntaxKind.SourceFile */) { return undefined; } var checker = program.getTypeChecker(); // If invoked directly on a shorthand property assignment, then return // the declaration of the symbol being assigned (not the symbol being assigned to). - if (node.parent.kind === 297 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { var result_2 = []; Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_2.push(nodeEntry(node)); }); return result_2; } - else if (node.kind === 106 /* SuperKeyword */ || ts.isSuperProperty(node.parent)) { + else if (node.kind === 106 /* SyntaxKind.SuperKeyword */ || ts.isSuperProperty(node.parent)) { // References to and accesses on the super keyword only have one possible implementation, so no // need to "Find all References" var symbol = checker.getSymbolAtLocation(node); @@ -136474,7 +136981,7 @@ var ts; } else { // Perform "Find all References" and retrieve only those that are implementations - return getReferenceEntriesForNode(position, node, program, sourceFiles, cancellationToken, { implementations: true, use: 1 /* References */ }); + return getReferenceEntriesForNode(position, node, program, sourceFiles, cancellationToken, { implementations: true, use: 1 /* FindReferencesUse.References */ }); } } function findReferenceOrRenameEntries(program, cancellationToken, sourceFiles, node, position, options, convertEntry) { @@ -136493,7 +137000,7 @@ var ts; function definitionToReferencedSymbolDefinitionInfo(def, checker, originalNode) { var info = (function () { switch (def.type) { - case 0 /* Symbol */: { + case 0 /* DefinitionKind.Symbol */: { var symbol = def.symbol; var _a = getDefinitionKindAndDisplayParts(symbol, checker, originalNode), displayParts_1 = _a.displayParts, kind_1 = _a.kind; var name_1 = displayParts_1.map(function (p) { return p.text; }).join(""); @@ -136501,32 +137008,32 @@ var ts; var node = declaration ? (ts.getNameOfDeclaration(declaration) || declaration) : originalNode; return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: name_1, kind: kind_1, displayParts: displayParts_1, context: getContextNode(declaration) }); } - case 1 /* Label */: { + case 1 /* DefinitionKind.Label */: { var node = def.node; - return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: node.text, kind: "label" /* label */, displayParts: [ts.displayPart(node.text, ts.SymbolDisplayPartKind.text)] }); + return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: node.text, kind: "label" /* ScriptElementKind.label */, displayParts: [ts.displayPart(node.text, ts.SymbolDisplayPartKind.text)] }); } - case 2 /* Keyword */: { + case 2 /* DefinitionKind.Keyword */: { var node = def.node; var name_2 = ts.tokenToString(node.kind); - return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: name_2, kind: "keyword" /* keyword */, displayParts: [{ text: name_2, kind: "keyword" /* keyword */ }] }); + return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: name_2, kind: "keyword" /* ScriptElementKind.keyword */, displayParts: [{ text: name_2, kind: "keyword" /* ScriptElementKind.keyword */ }] }); } - case 3 /* This */: { + case 3 /* DefinitionKind.This */: { var node = def.node; var symbol = checker.getSymbolAtLocation(node); var displayParts_2 = symbol && ts.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(checker, symbol, node.getSourceFile(), ts.getContainerNode(node), node).displayParts || [ts.textPart("this")]; - return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: "this", kind: "var" /* variableElement */, displayParts: displayParts_2 }); + return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: "this", kind: "var" /* ScriptElementKind.variableElement */, displayParts: displayParts_2 }); } - case 4 /* String */: { + case 4 /* DefinitionKind.String */: { var node = def.node; - return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: node.text, kind: "var" /* variableElement */, displayParts: [ts.displayPart(ts.getTextOfNode(node), ts.SymbolDisplayPartKind.stringLiteral)] }); + return __assign(__assign({}, getFileAndTextSpanFromNode(node)), { name: node.text, kind: "var" /* ScriptElementKind.variableElement */, displayParts: [ts.displayPart(ts.getTextOfNode(node), ts.SymbolDisplayPartKind.stringLiteral)] }); } - case 5 /* TripleSlashReference */: { + case 5 /* DefinitionKind.TripleSlashReference */: { return { textSpan: ts.createTextSpanFromRange(def.reference), sourceFile: def.file, name: def.reference.fileName, - kind: "string" /* string */, - displayParts: [ts.displayPart("\"" + def.reference.fileName + "\"", ts.SymbolDisplayPartKind.stringLiteral)] + kind: "string" /* ScriptElementKind.string */, + displayParts: [ts.displayPart("\"".concat(def.reference.fileName, "\""), ts.SymbolDisplayPartKind.stringLiteral)] }; } default: @@ -136534,7 +137041,7 @@ var ts; } })(); var sourceFile = info.sourceFile, textSpan = info.textSpan, name = info.name, kind = info.kind, displayParts = info.displayParts, context = info.context; - return __assign({ containerKind: "" /* unknown */, containerName: "", fileName: sourceFile.fileName, kind: kind, name: name, textSpan: textSpan, displayParts: displayParts }, toContextSpan(textSpan, sourceFile, context)); + return __assign({ containerKind: "" /* ScriptElementKind.unknown */, containerName: "", fileName: sourceFile.fileName, kind: kind, name: name, textSpan: textSpan, displayParts: displayParts }, toContextSpan(textSpan, sourceFile, context)); } function getFileAndTextSpanFromNode(node) { var sourceFile = node.getSourceFile(); @@ -136557,19 +137064,19 @@ var ts; var referenceEntry = toReferenceEntry(entry); if (!symbol) return referenceEntry; - return __assign(__assign({}, referenceEntry), { isDefinition: entry.kind !== 0 /* Span */ && isDeclarationOfSymbol(entry.node, symbol) }); + return __assign(__assign({}, referenceEntry), { isDefinition: entry.kind !== 0 /* EntryKind.Span */ && isDeclarationOfSymbol(entry.node, symbol) }); } function toReferenceEntry(entry) { var documentSpan = entryToDocumentSpan(entry); - if (entry.kind === 0 /* Span */) { + if (entry.kind === 0 /* EntryKind.Span */) { return __assign(__assign({}, documentSpan), { isWriteAccess: false }); } var kind = entry.kind, node = entry.node; - return __assign(__assign({}, documentSpan), { isWriteAccess: isWriteAccessForReference(node), isInString: kind === 2 /* StringLiteral */ ? true : undefined }); + return __assign(__assign({}, documentSpan), { isWriteAccess: isWriteAccessForReference(node), isInString: kind === 2 /* EntryKind.StringLiteral */ ? true : undefined }); } FindAllReferences.toReferenceEntry = toReferenceEntry; function entryToDocumentSpan(entry) { - if (entry.kind === 0 /* Span */) { + if (entry.kind === 0 /* EntryKind.Span */) { return { textSpan: entry.textSpan, fileName: entry.fileName }; } else { @@ -136579,7 +137086,7 @@ var ts; } } function getPrefixAndSuffixText(entry, originalNode, checker) { - if (entry.kind !== 0 /* Span */ && ts.isIdentifier(originalNode)) { + if (entry.kind !== 0 /* EntryKind.Span */ && ts.isIdentifier(originalNode)) { var node = entry.node, kind = entry.kind; var parent = node.parent; var name = originalNode.text; @@ -136587,10 +137094,10 @@ var ts; if (isShorthandAssignment || (ts.isObjectBindingElementWithoutPropertyName(parent) && parent.name === node && parent.dotDotDotToken === undefined)) { var prefixColon = { prefixText: name + ": " }; var suffixColon = { suffixText: ": " + name }; - if (kind === 3 /* SearchedLocalFoundProperty */) { + if (kind === 3 /* EntryKind.SearchedLocalFoundProperty */) { return prefixColon; } - if (kind === 4 /* SearchedPropertyFoundLocal */) { + if (kind === 4 /* EntryKind.SearchedPropertyFoundLocal */) { return suffixColon; } // In `const o = { x }; o.x`, symbolAtLocation at `x` in `{ x }` is the property symbol. @@ -136624,12 +137131,12 @@ var ts; } function toImplementationLocation(entry, checker) { var documentSpan = entryToDocumentSpan(entry); - if (entry.kind !== 0 /* Span */) { + if (entry.kind !== 0 /* EntryKind.Span */) { var node = entry.node; return __assign(__assign({}, documentSpan), implementationKindDisplayParts(node, checker)); } else { - return __assign(__assign({}, documentSpan), { kind: "" /* unknown */, displayParts: [] }); + return __assign(__assign({}, documentSpan), { kind: "" /* ScriptElementKind.unknown */, displayParts: [] }); } } function implementationKindDisplayParts(node, checker) { @@ -136637,16 +137144,16 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 205 /* ObjectLiteralExpression */) { + else if (node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { return { - kind: "interface" /* interfaceElement */, - displayParts: [ts.punctuationPart(20 /* OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(21 /* CloseParenToken */)] + kind: "interface" /* ScriptElementKind.interfaceElement */, + displayParts: [ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)] }; } - else if (node.kind === 226 /* ClassExpression */) { + else if (node.kind === 226 /* SyntaxKind.ClassExpression */) { return { - kind: "local class" /* localClassElement */, - displayParts: [ts.punctuationPart(20 /* OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(21 /* CloseParenToken */)] + kind: "local class" /* ScriptElementKind.localClassElement */, + displayParts: [ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)] }; } else { @@ -136655,17 +137162,17 @@ var ts; } function toHighlightSpan(entry) { var documentSpan = entryToDocumentSpan(entry); - if (entry.kind === 0 /* Span */) { + if (entry.kind === 0 /* EntryKind.Span */) { return { fileName: documentSpan.fileName, span: { textSpan: documentSpan.textSpan, - kind: "reference" /* reference */ + kind: "reference" /* HighlightSpanKind.reference */ } }; } var writeAccess = isWriteAccessForReference(entry.node); - var span = __assign({ textSpan: documentSpan.textSpan, kind: writeAccess ? "writtenReference" /* writtenReference */ : "reference" /* reference */, isInString: entry.kind === 2 /* StringLiteral */ ? true : undefined }, documentSpan.contextSpan && { contextSpan: documentSpan.contextSpan }); + var span = __assign({ textSpan: documentSpan.textSpan, kind: writeAccess ? "writtenReference" /* HighlightSpanKind.writtenReference */ : "reference" /* HighlightSpanKind.reference */, isInString: entry.kind === 2 /* EntryKind.StringLiteral */ ? true : undefined }, documentSpan.contextSpan && { contextSpan: documentSpan.contextSpan }); return { fileName: documentSpan.fileName, span: span }; } FindAllReferences.toHighlightSpan = toHighlightSpan; @@ -136680,14 +137187,14 @@ var ts; return ts.createTextSpanFromBounds(start, end); } function getTextSpanOfEntry(entry) { - return entry.kind === 0 /* Span */ ? entry.textSpan : + return entry.kind === 0 /* EntryKind.Span */ ? entry.textSpan : getTextSpan(entry.node, entry.node.getSourceFile()); } FindAllReferences.getTextSpanOfEntry = getTextSpanOfEntry; /** A node is considered a writeAccess iff it is a name of a declaration or a target of an assignment */ function isWriteAccessForReference(node) { var decl = ts.getDeclarationFromName(node); - return !!decl && declarationIsWriteAccess(decl) || node.kind === 88 /* DefaultKeyword */ || ts.isWriteAccess(node); + return !!decl && declarationIsWriteAccess(decl) || node.kind === 88 /* SyntaxKind.DefaultKeyword */ || ts.isWriteAccess(node); } /** Whether a reference, `node`, is a definition of the `target` symbol */ function isDeclarationOfSymbol(node, target) { @@ -136695,9 +137202,9 @@ var ts; if (!target) return false; var source = ts.getDeclarationFromName(node) || - (node.kind === 88 /* DefaultKeyword */ ? node.parent + (node.kind === 88 /* SyntaxKind.DefaultKeyword */ ? node.parent : ts.isLiteralComputedPropertyDeclarationName(node) ? node.parent.parent - : node.kind === 134 /* ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent) ? node.parent.parent + : node.kind === 134 /* SyntaxKind.ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent) ? node.parent.parent : undefined); var commonjsSource = source && ts.isBinaryExpression(source) ? source.left : undefined; return !!(source && ((_a = target.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d === source || d === commonjsSource; }))); @@ -136708,50 +137215,50 @@ var ts; */ function declarationIsWriteAccess(decl) { // Consider anything in an ambient declaration to be a write access since it may be coming from JS. - if (!!(decl.flags & 16777216 /* Ambient */)) + if (!!(decl.flags & 16777216 /* NodeFlags.Ambient */)) return true; switch (decl.kind) { - case 221 /* BinaryExpression */: - case 203 /* BindingElement */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 88 /* DefaultKeyword */: - case 260 /* EnumDeclaration */: - case 299 /* EnumMember */: - case 275 /* ExportSpecifier */: - case 267 /* ImportClause */: // default import - case 265 /* ImportEqualsDeclaration */: - case 270 /* ImportSpecifier */: - case 258 /* InterfaceDeclaration */: - case 338 /* JSDocCallbackTag */: - case 345 /* JSDocTypedefTag */: - case 285 /* JsxAttribute */: - case 261 /* ModuleDeclaration */: - case 264 /* NamespaceExportDeclaration */: - case 268 /* NamespaceImport */: - case 274 /* NamespaceExport */: - case 164 /* Parameter */: - case 297 /* ShorthandPropertyAssignment */: - case 259 /* TypeAliasDeclaration */: - case 163 /* TypeParameter */: + case 221 /* SyntaxKind.BinaryExpression */: + case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 88 /* SyntaxKind.DefaultKeyword */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 299 /* SyntaxKind.EnumMember */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 267 /* SyntaxKind.ImportClause */: // default import + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 285 /* SyntaxKind.JsxAttribute */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 268 /* SyntaxKind.NamespaceImport */: + case 274 /* SyntaxKind.NamespaceExport */: + case 164 /* SyntaxKind.Parameter */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 163 /* SyntaxKind.TypeParameter */: return true; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: // In `({ x: y } = 0);`, `x` is not a write access. (Won't call this function for `y`.) return !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(decl.parent); - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 171 /* Constructor */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return !!decl.body; - case 254 /* VariableDeclaration */: - case 167 /* PropertyDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: return !!decl.initializer || ts.isCatchClause(decl.parent); - case 168 /* MethodSignature */: - case 166 /* PropertySignature */: - case 347 /* JSDocPropertyTag */: - case 340 /* JSDocParameterTag */: + case 168 /* SyntaxKind.MethodSignature */: + case 166 /* SyntaxKind.PropertySignature */: + case 347 /* SyntaxKind.JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: return false; default: return ts.Debug.failBadSyntaxKind(decl); @@ -136780,7 +137287,7 @@ var ts; return undefined; } return [{ - definition: { type: 5 /* TripleSlashReference */, reference: resolvedRef.reference, file: node }, + definition: { type: 5 /* DefinitionKind.TripleSlashReference */, reference: resolvedRef.reference, file: node }, references: getReferencesForNonModule(resolvedRef.file, fileIncludeReasons, program) || ts.emptyArray }]; } @@ -136802,7 +137309,7 @@ var ts; var referencedFileName = (_b = (_a = node.getSourceFile().resolvedModules) === null || _a === void 0 ? void 0 : _a.get(node.text, ts.getModeForUsageLocation(node.getSourceFile(), node))) === null || _b === void 0 ? void 0 : _b.resolvedFileName; var referencedFile = referencedFileName ? program.getSourceFile(referencedFileName) : undefined; if (referencedFile) { - return [{ definition: { type: 4 /* String */, node: node }, references: getReferencesForNonModule(referencedFile, fileIncludeReasons, program) || ts.emptyArray }]; + return [{ definition: { type: 4 /* DefinitionKind.String */, node: node }, references: getReferencesForNonModule(referencedFile, fileIncludeReasons, program) || ts.emptyArray }]; } // Fall through to string literal references. This is not very likely to return // anything useful, but I guess it's better than nothing, and there's an existing @@ -136812,11 +137319,11 @@ var ts; } return undefined; } - if (symbol.escapedName === "export=" /* ExportEquals */) { + if (symbol.escapedName === "export=" /* InternalSymbolName.ExportEquals */) { return getReferencedSymbolsForModule(program, symbol.parent, /*excludeImportTypeOfExportEquals*/ false, sourceFiles, sourceFilesSet); } var moduleReferences = getReferencedSymbolsForModuleIfDeclaredBySourceFile(symbol, program, sourceFiles, cancellationToken, options, sourceFilesSet); - if (moduleReferences && !(symbol.flags & 33554432 /* Transient */)) { + if (moduleReferences && !(symbol.flags & 33554432 /* SymbolFlags.Transient */)) { return moduleReferences; } var aliasedSymbol = getMergedAliasedSymbolOfNamespaceExportDeclaration(node, symbol, checker); @@ -136827,10 +137334,10 @@ var ts; } Core.getReferencedSymbolsForNode = getReferencedSymbolsForNode; function getAdjustedNode(node, options) { - if (options.use === 1 /* References */) { + if (options.use === 1 /* FindReferencesUse.References */) { node = ts.getAdjustedReferenceLocation(node); } - else if (options.use === 2 /* Rename */) { + else if (options.use === 2 /* FindReferencesUse.Rename */) { node = ts.getAdjustedRenameLocation(node); } return node; @@ -136858,7 +137365,7 @@ var ts; var location = ts.getReferencedFileLocation(program.getSourceFileByPath, ref); if (ts.isReferenceFileLocation(location)) { entries = ts.append(entries, { - kind: 0 /* Span */, + kind: 0 /* EntryKind.Span */, fileName: referencingFile.fileName, textSpan: ts.createTextSpanFromRange(location) }); @@ -136878,10 +137385,10 @@ var ts; return undefined; } function getReferencedSymbolsForModuleIfDeclaredBySourceFile(symbol, program, sourceFiles, cancellationToken, options, sourceFilesSet) { - var moduleSourceFile = (symbol.flags & 1536 /* Module */) && symbol.declarations && ts.find(symbol.declarations, ts.isSourceFile); + var moduleSourceFile = (symbol.flags & 1536 /* SymbolFlags.Module */) && symbol.declarations && ts.find(symbol.declarations, ts.isSourceFile); if (!moduleSourceFile) return undefined; - var exportEquals = symbol.exports.get("export=" /* ExportEquals */); + var exportEquals = symbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); // If !!exportEquals, we're about to add references to `import("mod")` anyway, so don't double-count them. var moduleReferences = getReferencedSymbolsForModule(program, symbol, !!exportEquals, sourceFiles, sourceFilesSet); if (!exportEquals || !sourceFilesSet.has(moduleSourceFile.fileName)) @@ -136909,13 +137416,13 @@ var ts; continue; } var _loop_5 = function (entry) { - if (!entry.definition || entry.definition.type !== 0 /* Symbol */) { + if (!entry.definition || entry.definition.type !== 0 /* DefinitionKind.Symbol */) { result.push(entry); return "continue"; } var symbol = entry.definition.symbol; var refIndex = ts.findIndex(result, function (ref) { return !!ref.definition && - ref.definition.type === 0 /* Symbol */ && + ref.definition.type === 0 /* DefinitionKind.Symbol */ && ref.definition.symbol === symbol; }); if (refIndex === -1) { result.push(entry); @@ -136946,7 +137453,7 @@ var ts; return result; } function getSourceFileIndexOfEntry(program, entry) { - var sourceFile = entry.kind === 0 /* Span */ ? + var sourceFile = entry.kind === 0 /* EntryKind.Span */ ? program.getSourceFile(entry.fileName) : entry.node.getSourceFile(); return program.getSourceFiles().indexOf(sourceFile); @@ -136967,7 +137474,7 @@ var ts; } else { return { - kind: 0 /* Span */, + kind: 0 /* EntryKind.Span */, fileName: reference.referencingFile.fileName, textSpan: ts.createTextSpanFromRange(reference.ref), }; @@ -136977,21 +137484,21 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: // Don't include the source file itself. (This may not be ideal behavior, but awkward to include an entire file as a reference.) break; - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push(nodeEntry(decl.name)); } break; default: // This may be merged with something. - ts.Debug.assert(!!(symbol.flags & 33554432 /* Transient */), "Expected a module symbol to be declared by a SourceFile or ModuleDeclaration."); + ts.Debug.assert(!!(symbol.flags & 33554432 /* SymbolFlags.Transient */), "Expected a module symbol to be declared by a SourceFile or ModuleDeclaration."); } } } - var exported = symbol.exports.get("export=" /* ExportEquals */); + var exported = symbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); if (exported === null || exported === void 0 ? void 0 : exported.declarations) { for (var _b = 0, _c = exported.declarations; _b < _c.length; _b++) { var decl = _c[_b]; @@ -136999,41 +137506,41 @@ var ts; if (sourceFilesSet.has(sourceFile.fileName)) { // At `module.exports = ...`, reference node is `module` var node = ts.isBinaryExpression(decl) && ts.isPropertyAccessExpression(decl.left) ? decl.left.expression : - ts.isExportAssignment(decl) ? ts.Debug.checkDefined(ts.findChildOfKind(decl, 93 /* ExportKeyword */, sourceFile)) : + ts.isExportAssignment(decl) ? ts.Debug.checkDefined(ts.findChildOfKind(decl, 93 /* SyntaxKind.ExportKeyword */, sourceFile)) : ts.getNameOfDeclaration(decl) || decl; references.push(nodeEntry(node)); } } } - return references.length ? [{ definition: { type: 0 /* Symbol */, symbol: symbol }, references: references }] : ts.emptyArray; + return references.length ? [{ definition: { type: 0 /* DefinitionKind.Symbol */, symbol: symbol }, references: references }] : ts.emptyArray; } /** As in a `readonly prop: any` or `constructor(readonly prop: any)`, not a `readonly any[]`. */ function isReadonlyTypeOperator(node) { - return node.kind === 145 /* ReadonlyKeyword */ + return node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ && ts.isTypeOperatorNode(node.parent) - && node.parent.operator === 145 /* ReadonlyKeyword */; + && node.parent.operator === 145 /* SyntaxKind.ReadonlyKeyword */; } /** getReferencedSymbols for special node kinds. */ function getReferencedSymbolsSpecial(node, sourceFiles, cancellationToken) { if (ts.isTypeKeyword(node.kind)) { // A void expression (i.e., `void foo()`) is not special, but the `void` type is. - if (node.kind === 114 /* VoidKeyword */ && ts.isVoidExpression(node.parent)) { + if (node.kind === 114 /* SyntaxKind.VoidKeyword */ && ts.isVoidExpression(node.parent)) { return undefined; } // A modifier readonly (like on a property declaration) is not special; // a readonly type keyword (like `readonly string[]`) is. - if (node.kind === 145 /* ReadonlyKeyword */ && !isReadonlyTypeOperator(node)) { + if (node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ && !isReadonlyTypeOperator(node)) { return undefined; } // Likewise, when we *are* looking for a special keyword, make sure we // *don’t* include readonly member modifiers. - return getAllReferencesForKeyword(sourceFiles, node.kind, cancellationToken, node.kind === 145 /* ReadonlyKeyword */ ? isReadonlyTypeOperator : undefined); + return getAllReferencesForKeyword(sourceFiles, node.kind, cancellationToken, node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ ? isReadonlyTypeOperator : undefined); } if (ts.isImportMeta(node.parent) && node.parent.name === node) { return getAllReferencesForImportMeta(sourceFiles, cancellationToken); } if (ts.isStaticModifier(node) && ts.isClassStaticBlockDeclaration(node.parent)) { - return [{ definition: { type: 2 /* Keyword */, node: node }, references: [nodeEntry(node)] }]; + return [{ definition: { type: 2 /* DefinitionKind.Keyword */, node: node }, references: [nodeEntry(node)] }]; } // Labels if (ts.isJumpStatementTarget(node)) { @@ -137049,7 +137556,7 @@ var ts; if (ts.isThis(node)) { return getReferencesForThisKeyword(node, sourceFiles, cancellationToken); } - if (node.kind === 106 /* SuperKeyword */) { + if (node.kind === 106 /* SyntaxKind.SuperKeyword */) { return getReferencesForSuperKeyword(node); } return undefined; @@ -137058,20 +137565,20 @@ var ts; function getReferencedSymbolsForSymbol(originalSymbol, node, sourceFiles, sourceFilesSet, checker, cancellationToken, options) { var symbol = node && skipPastExportOrImportSpecifierOrUnion(originalSymbol, node, checker, /*useLocalSymbolForExportSpecifier*/ !isForRenameWithPrefixAndSuffixText(options)) || originalSymbol; // Compute the meaning from the location and the symbol it references - var searchMeaning = node ? getIntersectingMeaningFromDeclarations(node, symbol) : 7 /* All */; + var searchMeaning = node ? getIntersectingMeaningFromDeclarations(node, symbol) : 7 /* SemanticMeaning.All */; var result = []; - var state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : 0 /* None */, checker, cancellationToken, searchMeaning, options, result); + var state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : 0 /* SpecialSearchKind.None */, checker, cancellationToken, searchMeaning, options, result); var exportSpecifier = !isForRenameWithPrefixAndSuffixText(options) || !symbol.declarations ? undefined : ts.find(symbol.declarations, ts.isExportSpecifier); if (exportSpecifier) { // When renaming at an export specifier, rename the export and not the thing being exported. getReferencesAtExportSpecifier(exportSpecifier.name, symbol, exportSpecifier, state.createSearch(node, originalSymbol, /*comingFrom*/ undefined), state, /*addReferencesHere*/ true, /*alwaysGetReferences*/ true); } - else if (node && node.kind === 88 /* DefaultKeyword */ && symbol.escapedName === "default" /* Default */ && symbol.parent) { + else if (node && node.kind === 88 /* SyntaxKind.DefaultKeyword */ && symbol.escapedName === "default" /* InternalSymbolName.Default */ && symbol.parent) { addReference(node, symbol, state); - searchForImportsOfExport(node, symbol, { exportingModuleSymbol: symbol.parent, exportKind: 1 /* Default */ }, state); + searchForImportsOfExport(node, symbol, { exportingModuleSymbol: symbol.parent, exportKind: 1 /* ExportKind.Default */ }, state); } else { - var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, options.use === 2 /* Rename */, !!options.providePrefixAndSuffixTextForRename, !!options.implementations) : [symbol] }); + var search = state.createSearch(node, symbol, /*comingFrom*/ undefined, { allSearchSymbols: node ? populateSearchSymbolSet(symbol, node, checker, options.use === 2 /* FindReferencesUse.Rename */, !!options.providePrefixAndSuffixTextForRename, !!options.implementations) : [symbol] }); getReferencesInContainerOrFiles(symbol, state, search); } return result; @@ -137094,17 +137601,17 @@ var ts; } function getSpecialSearchKind(node) { switch (node.kind) { - case 171 /* Constructor */: - case 134 /* ConstructorKeyword */: - return 1 /* Constructor */; - case 79 /* Identifier */: + case 171 /* SyntaxKind.Constructor */: + case 134 /* SyntaxKind.ConstructorKeyword */: + return 1 /* SpecialSearchKind.Constructor */; + case 79 /* SyntaxKind.Identifier */: if (ts.isClassLike(node.parent)) { ts.Debug.assert(node.parent.name === node); - return 2 /* Class */; + return 2 /* SpecialSearchKind.Class */; } // falls through default: - return 0 /* None */; + return 0 /* SpecialSearchKind.None */; } } /** Handle a few special cases relating to export/import specifiers. */ @@ -137117,10 +137624,10 @@ var ts; return ts.firstDefined(symbol.declarations, function (decl) { if (!decl.parent) { // Ignore UMD module and global merge - if (symbol.flags & 33554432 /* Transient */) + if (symbol.flags & 33554432 /* SymbolFlags.Transient */) return undefined; // Assertions for GH#21814. We should be handling SourceFile symbols in `getReferencedSymbolsForModule` instead of getting here. - ts.Debug.fail("Unexpected symbol at " + ts.Debug.formatSyntaxKind(node.kind) + ": " + ts.Debug.formatSymbol(symbol)); + ts.Debug.fail("Unexpected symbol at ".concat(ts.Debug.formatSyntaxKind(node.kind), ": ").concat(ts.Debug.formatSymbol(symbol))); } return ts.isTypeLiteralNode(decl.parent) && ts.isUnionTypeNode(decl.parent.parent) ? checker.getPropertyOfType(checker.getTypeFromTypeNode(decl.parent.parent), symbol.name) @@ -137134,7 +137641,7 @@ var ts; SpecialSearchKind[SpecialSearchKind["Class"] = 2] = "Class"; })(SpecialSearchKind || (SpecialSearchKind = {})); function getNonModuleSymbolOfMergedModuleSymbol(symbol) { - if (!(symbol.flags & (1536 /* Module */ | 33554432 /* Transient */))) + if (!(symbol.flags & (1536 /* SymbolFlags.Module */ | 33554432 /* SymbolFlags.Transient */))) return undefined; var decl = symbol.declarations && ts.find(symbol.declarations, function (d) { return !ts.isSourceFile(d) && !ts.isModuleDeclaration(d); }); return decl && decl.symbol; @@ -137186,7 +137693,7 @@ var ts; State.prototype.getImportSearches = function (exportSymbol, exportInfo) { if (!this.importTracker) this.importTracker = FindAllReferences.createImportTracker(this.sourceFiles, this.sourceFilesSet, this.checker, this.cancellationToken); - return this.importTracker(exportSymbol, exportInfo, this.options.use === 2 /* Rename */); + return this.importTracker(exportSymbol, exportInfo, this.options.use === 2 /* FindReferencesUse.Rename */); }; /** @param allSearchSymbols set of additional symbols for use by `includes`. */ State.prototype.createSearch = function (location, symbol, comingFrom, searchOptions) { @@ -137209,7 +137716,7 @@ var ts; var references = this.symbolIdToReferences[symbolId]; if (!references) { references = this.symbolIdToReferences[symbolId] = []; - this.result.push({ definition: { type: 0 /* Symbol */, symbol: searchSymbol }, references: references }); + this.result.push({ definition: { type: 0 /* DefinitionKind.Symbol */, symbol: searchSymbol }, references: references }); } return function (node, kind) { return references.push(nodeEntry(node, kind)); }; }; @@ -137217,7 +137724,7 @@ var ts; State.prototype.addStringOrCommentReference = function (fileName, textSpan) { this.result.push({ definition: undefined, - references: [{ kind: 0 /* Span */, fileName: fileName, textSpan: textSpan }] + references: [{ kind: 0 /* EntryKind.Span */, fileName: fileName, textSpan: textSpan }] }); }; /** Returns `true` the first time we search for a symbol in a file and `false` afterwards. */ @@ -137248,19 +137755,19 @@ var ts; // For each import, find all references to that import in its source file. for (var _b = 0, importSearches_1 = importSearches; _b < importSearches_1.length; _b++) { var _c = importSearches_1[_b], importLocation = _c[0], importSymbol = _c[1]; - getReferencesInSourceFile(importLocation.getSourceFile(), state.createSearch(importLocation, importSymbol, 1 /* Export */), state); + getReferencesInSourceFile(importLocation.getSourceFile(), state.createSearch(importLocation, importSymbol, 1 /* ImportExport.Export */), state); } if (indirectUsers.length) { var indirectSearch = void 0; switch (exportInfo.exportKind) { - case 0 /* Named */: - indirectSearch = state.createSearch(exportLocation, exportSymbol, 1 /* Export */); + case 0 /* ExportKind.Named */: + indirectSearch = state.createSearch(exportLocation, exportSymbol, 1 /* ImportExport.Export */); break; - case 1 /* Default */: + case 1 /* ExportKind.Default */: // Search for a property access to '.default'. This can't be renamed. - indirectSearch = state.options.use === 2 /* Rename */ ? undefined : state.createSearch(exportLocation, exportSymbol, 1 /* Export */, { text: "default" }); + indirectSearch = state.options.use === 2 /* FindReferencesUse.Rename */ ? undefined : state.createSearch(exportLocation, exportSymbol, 1 /* ImportExport.Export */, { text: "default" }); break; - case 2 /* ExportEquals */: + case 2 /* ExportKind.ExportEquals */: break; } if (indirectSearch) { @@ -137273,7 +137780,7 @@ var ts; } function eachExportReference(sourceFiles, checker, cancellationToken, exportSymbol, exportingModuleSymbol, exportName, isDefaultExport, cb) { var importTracker = FindAllReferences.createImportTracker(sourceFiles, new ts.Set(sourceFiles.map(function (f) { return f.fileName; })), checker, cancellationToken); - var _a = importTracker(exportSymbol, { exportKind: isDefaultExport ? 1 /* Default */ : 0 /* Named */, exportingModuleSymbol: exportingModuleSymbol }, /*isForRename*/ false), importSearches = _a.importSearches, indirectUsers = _a.indirectUsers, singleReferences = _a.singleReferences; + var _a = importTracker(exportSymbol, { exportKind: isDefaultExport ? 1 /* ExportKind.Default */ : 0 /* ExportKind.Named */, exportingModuleSymbol: exportingModuleSymbol }, /*isForRename*/ false), importSearches = _a.importSearches, indirectUsers = _a.indirectUsers, singleReferences = _a.singleReferences; for (var _i = 0, importSearches_2 = importSearches; _i < importSearches_2.length; _i++) { var importLocation = importSearches_2[_i][0]; cb(importLocation); @@ -137301,13 +137808,13 @@ var ts; function shouldAddSingleReference(singleRef, state) { if (!hasMatchingMeaning(singleRef, state)) return false; - if (state.options.use !== 2 /* Rename */) + if (state.options.use !== 2 /* FindReferencesUse.Rename */) return true; // Don't rename an import type `import("./module-name")` when renaming `name` in `export = name;` if (!ts.isIdentifier(singleRef)) return false; // At `default` in `import { default as x }` or `export { default as x }`, do add a reference, but do not rename. - return !(ts.isImportOrExportSpecifier(singleRef.parent) && singleRef.escapedText === "default" /* Default */); + return !(ts.isImportOrExportSpecifier(singleRef.parent) && singleRef.escapedText === "default" /* InternalSymbolName.Default */); } // Go to the symbol we imported from and find references for it. function searchForImportedSymbol(symbol, state) { @@ -137317,7 +137824,7 @@ var ts; var declaration = _a[_i]; var exportingFile = declaration.getSourceFile(); // Need to search in the file even if it's not in the search-file set, because it might export the symbol. - getReferencesInSourceFile(exportingFile, state.createSearch(declaration, symbol, 0 /* Import */), state, state.includesSourceFile(exportingFile)); + getReferencesInSourceFile(exportingFile, state.createSearch(declaration, symbol, 0 /* ImportExport.Import */), state, state.includesSourceFile(exportingFile)); } } /** Search for all occurrences of an identifier in a source file (and filter out the ones that match). */ @@ -137343,17 +137850,17 @@ var ts; // If this is the symbol of a named function expression or named class expression, // then named references are limited to its own scope. var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 213 /* FunctionExpression */ || valueDeclaration.kind === 226 /* ClassExpression */)) { + if (valueDeclaration && (valueDeclaration.kind === 213 /* SyntaxKind.FunctionExpression */ || valueDeclaration.kind === 226 /* SyntaxKind.ClassExpression */)) { return valueDeclaration; } if (!declarations) { return undefined; } // If this is private property or method, the scope is the containing class - if (flags & (4 /* Property */ | 8192 /* Method */)) { - var privateDeclaration = ts.find(declarations, function (d) { return ts.hasEffectiveModifier(d, 8 /* Private */) || ts.isPrivateIdentifierClassElementDeclaration(d); }); + if (flags & (4 /* SymbolFlags.Property */ | 8192 /* SymbolFlags.Method */)) { + var privateDeclaration = ts.find(declarations, function (d) { return ts.hasEffectiveModifier(d, 8 /* ModifierFlags.Private */) || ts.isPrivateIdentifierClassElementDeclaration(d); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 257 /* ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 257 /* SyntaxKind.ClassDeclaration */); } // Else this is a public property and could be accessed from anywhere. return undefined; @@ -137370,7 +137877,7 @@ var ts; - The parent is an external module: then we should only search in the module (and recurse on the export later). - But if the parent has `export as namespace`, the symbol is globally visible through that namespace. */ - var exposedByParent = parent && !(symbol.flags & 262144 /* TypeParameter */); + var exposedByParent = parent && !(symbol.flags & 262144 /* SymbolFlags.TypeParameter */); if (exposedByParent && !(ts.isExternalModuleSymbol(parent) && !parent.globalExports)) { return undefined; } @@ -137382,7 +137889,7 @@ var ts; // Different declarations have different containers, bail out return undefined; } - if (!container || container.kind === 305 /* SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 305 /* SyntaxKind.SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { // This is a global variable and not an external module, any declaration defined // within this scope is visible outside the file return undefined; @@ -137430,6 +137937,30 @@ var ts; } } Core.eachSymbolReferenceInFile = eachSymbolReferenceInFile; + function getTopMostDeclarationNamesInFile(declarationName, sourceFile) { + var candidates = ts.filter(getPossibleSymbolReferenceNodes(sourceFile, declarationName), function (name) { return !!ts.getDeclarationFromName(name); }); + return candidates.reduce(function (topMost, decl) { + var depth = getDepth(decl); + if (!ts.some(topMost.declarationNames) || depth === topMost.depth) { + topMost.declarationNames.push(decl); + topMost.depth = depth; + } + else if (depth < topMost.depth) { + topMost.declarationNames = [decl]; + topMost.depth = depth; + } + return topMost; + }, { depth: Infinity, declarationNames: [] }).declarationNames; + function getDepth(declaration) { + var depth = 0; + while (declaration) { + declaration = ts.getContainerNode(declaration); + depth++; + } + return depth; + } + } + Core.getTopMostDeclarationNamesInFile = getTopMostDeclarationNamesInFile; function someSignatureUsage(signature, sourceFiles, checker, cb) { if (!signature.name || !ts.isIdentifier(signature.name)) return false; @@ -137477,8 +138008,8 @@ var ts; // We found a match. Make sure it's not part of a larger word (i.e. the char // before and after it have to be a non-identifier char). var endPosition = position + symbolNameLength; - if ((position === 0 || !ts.isIdentifierPart(text.charCodeAt(position - 1), 99 /* Latest */)) && - (endPosition === sourceLength || !ts.isIdentifierPart(text.charCodeAt(endPosition), 99 /* Latest */))) { + if ((position === 0 || !ts.isIdentifierPart(text.charCodeAt(position - 1), 99 /* ScriptTarget.Latest */)) && + (endPosition === sourceLength || !ts.isIdentifierPart(text.charCodeAt(endPosition), 99 /* ScriptTarget.Latest */))) { // Found a real match. Keep searching. positions.push(position); } @@ -137493,27 +138024,27 @@ var ts; // Only pick labels that are either the target label, or have a target that is the target label return node === targetLabel || (ts.isJumpStatementTarget(node) && ts.getTargetLabel(node, labelName) === targetLabel) ? nodeEntry(node) : undefined; }); - return [{ definition: { type: 1 /* Label */, node: targetLabel }, references: references }]; + return [{ definition: { type: 1 /* DefinitionKind.Label */, node: targetLabel }, references: references }]; } function isValidReferencePosition(node, searchSymbolName) { // Compare the length so we filter out strict superstrings of the symbol we are looking for switch (node.kind) { - case 80 /* PrivateIdentifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: if (ts.isJSDocMemberName(node.parent)) { return true; } // falls through I guess - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return node.text.length === searchSymbolName.length; - case 14 /* NoSubstitutionTemplateLiteral */: - case 10 /* StringLiteral */: { + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 10 /* SyntaxKind.StringLiteral */: { var str = node; return (ts.isLiteralNameOfPropertyDeclarationOrIndexAccess(str) || ts.isNameOfModuleDeclaration(node) || ts.isExpressionOfExternalModuleImportEqualsDeclaration(node) || (ts.isCallExpression(node.parent) && ts.isBindableObjectDefinePropertyCall(node.parent) && node.parent.arguments[1] === node)) && str.text.length === searchSymbolName.length; } - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: return ts.isLiteralNameOfPropertyDeclarationOrIndexAccess(node) && node.text.length === searchSymbolName.length; - case 88 /* DefaultKeyword */: + case 88 /* SyntaxKind.DefaultKeyword */: return "default".length === searchSymbolName.length; default: return false; @@ -137529,7 +138060,7 @@ var ts; } }); }); - return references.length ? [{ definition: { type: 2 /* Keyword */, node: references[0].node }, references: references }] : undefined; + return references.length ? [{ definition: { type: 2 /* DefinitionKind.Keyword */, node: references[0].node }, references: references }] : undefined; } function getAllReferencesForKeyword(sourceFiles, keywordKind, cancellationToken, filter) { var references = ts.flatMap(sourceFiles, function (sourceFile) { @@ -137540,7 +138071,7 @@ var ts; } }); }); - return references.length ? [{ definition: { type: 2 /* Keyword */, node: references[0].node }, references: references }] : undefined; + return references.length ? [{ definition: { type: 2 /* DefinitionKind.Keyword */, node: references[0].node }, references: references }] : undefined; } function getReferencesInSourceFile(sourceFile, search, state, addReferencesHere) { if (addReferencesHere === void 0) { addReferencesHere = true; } @@ -137591,7 +138122,7 @@ var ts; return; } if (ts.isExportSpecifier(parent)) { - ts.Debug.assert(referenceLocation.kind === 79 /* Identifier */); + ts.Debug.assert(referenceLocation.kind === 79 /* SyntaxKind.Identifier */); getReferencesAtExportSpecifier(referenceLocation, referenceSymbol, parent, search, state, addReferencesHere); return; } @@ -137601,14 +138132,14 @@ var ts; return; } switch (state.specialSearchKind) { - case 0 /* None */: + case 0 /* SpecialSearchKind.None */: if (addReferencesHere) addReference(referenceLocation, relatedSymbol, state); break; - case 1 /* Constructor */: + case 1 /* SpecialSearchKind.Constructor */: addConstructorReferences(referenceLocation, sourceFile, search, state); break; - case 2 /* Class */: + case 2 /* SpecialSearchKind.Class */: addClassStaticThisReferences(referenceLocation, search, state); break; default: @@ -137616,7 +138147,7 @@ var ts; } // Use the parent symbol if the location is commonjs require syntax on javascript files only. if (ts.isInJSFile(referenceLocation) - && referenceLocation.parent.kind === 203 /* BindingElement */ + && referenceLocation.parent.kind === 203 /* SyntaxKind.BindingElement */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(referenceLocation.parent)) { referenceSymbol = referenceLocation.parent.symbol; // The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In @@ -137636,7 +138167,7 @@ var ts; } if (!propertyName) { // Don't rename at `export { default } from "m";`. (but do continue to search for imports of the re-export) - if (!(state.options.use === 2 /* Rename */ && (name.escapedText === "default" /* Default */))) { + if (!(state.options.use === 2 /* FindReferencesUse.Rename */ && (name.escapedText === "default" /* InternalSymbolName.Default */))) { addRef(); } } @@ -137646,7 +138177,7 @@ var ts; if (!exportDeclaration.moduleSpecifier) { addRef(); } - if (addReferencesHere && state.options.use !== 2 /* Rename */ && state.markSeenReExportRHS(name)) { + if (addReferencesHere && state.options.use !== 2 /* FindReferencesUse.Rename */ && state.markSeenReExportRHS(name)) { addReference(name, ts.Debug.checkDefined(exportSpecifier.symbol), state); } } @@ -137657,9 +138188,9 @@ var ts; } // For `export { foo as bar }`, rename `foo`, but not `bar`. if (!isForRenameWithPrefixAndSuffixText(state.options) || alwaysGetReferences) { - var isDefaultExport = referenceLocation.originalKeywordKind === 88 /* DefaultKeyword */ - || exportSpecifier.name.originalKeywordKind === 88 /* DefaultKeyword */; - var exportKind = isDefaultExport ? 1 /* Default */ : 0 /* Named */; + var isDefaultExport = referenceLocation.originalKeywordKind === 88 /* SyntaxKind.DefaultKeyword */ + || exportSpecifier.name.originalKeywordKind === 88 /* SyntaxKind.DefaultKeyword */; + var exportKind = isDefaultExport ? 1 /* ExportKind.Default */ : 0 /* ExportKind.Named */; var exportSymbol = ts.Debug.checkDefined(exportSpecifier.symbol); var exportInfo = FindAllReferences.getExportInfo(exportSymbol, exportKind, state.checker); if (exportInfo) { @@ -137667,7 +138198,7 @@ var ts; } } // At `export { x } from "foo"`, also search for the imported symbol `"foo".x`. - if (search.comingFrom !== 1 /* Export */ && exportDeclaration.moduleSpecifier && !propertyName && !isForRenameWithPrefixAndSuffixText(state.options)) { + if (search.comingFrom !== 1 /* ImportExport.Export */ && exportDeclaration.moduleSpecifier && !propertyName && !isForRenameWithPrefixAndSuffixText(state.options)) { var imported = state.checker.getExportSpecifierLocalTargetSymbol(exportSpecifier); if (imported) searchForImportedSymbol(imported, state); @@ -137694,11 +138225,11 @@ var ts; } } function getImportOrExportReferences(referenceLocation, referenceSymbol, search, state) { - var importOrExport = FindAllReferences.getImportOrExportSymbol(referenceLocation, referenceSymbol, state.checker, search.comingFrom === 1 /* Export */); + var importOrExport = FindAllReferences.getImportOrExportSymbol(referenceLocation, referenceSymbol, state.checker, search.comingFrom === 1 /* ImportExport.Export */); if (!importOrExport) return; var symbol = importOrExport.symbol; - if (importOrExport.kind === 0 /* Import */) { + if (importOrExport.kind === 0 /* ImportExport.Import */) { if (!(isForRenameWithPrefixAndSuffixText(state.options))) { searchForImportedSymbol(symbol, state); } @@ -137718,14 +138249,14 @@ var ts; * the position in short-hand property assignment excluding property accessing. However, if we do findAllReference at the * position of property accessing, the referenceEntry of such position will be handled in the first case. */ - if (!(flags & 33554432 /* Transient */) && name && search.includes(shorthandValueSymbol)) { + if (!(flags & 33554432 /* SymbolFlags.Transient */) && name && search.includes(shorthandValueSymbol)) { addReference(name, shorthandValueSymbol, state); } } function addReference(referenceLocation, relatedSymbol, state) { var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line no-in-operator // if rename symbol from default export anonymous function, for example `export default function() {}`, we do not need to add reference - if (state.options.use === 2 /* Rename */ && referenceLocation.kind === 88 /* DefaultKeyword */) { + if (state.options.use === 2 /* FindReferencesUse.Rename */ && referenceLocation.kind === 88 /* SyntaxKind.DefaultKeyword */) { return; } var addRef = state.referenceAdder(symbol); @@ -137743,7 +138274,7 @@ var ts; } var pusher = function () { return state.referenceAdder(search.symbol); }; if (ts.isClassLike(referenceLocation.parent)) { - ts.Debug.assert(referenceLocation.kind === 88 /* DefaultKeyword */ || referenceLocation.parent.name === referenceLocation); + ts.Debug.assert(referenceLocation.kind === 88 /* SyntaxKind.DefaultKeyword */ || referenceLocation.parent.name === referenceLocation); // This is the class declaration containing the constructor. findOwnConstructorReferences(search.symbol, sourceFile, pusher()); } @@ -137759,7 +138290,7 @@ var ts; function addClassStaticThisReferences(referenceLocation, search, state) { addReference(referenceLocation, search.symbol, state); var classLike = referenceLocation.parent; - if (state.options.use === 2 /* Rename */ || !ts.isClassLike(classLike)) + if (state.options.use === 2 /* FindReferencesUse.Rename */ || !ts.isClassLike(classLike)) return; ts.Debug.assert(classLike.name === referenceLocation); var addRef = state.referenceAdder(search.symbol); @@ -137770,7 +138301,7 @@ var ts; } if (member.body) { member.body.forEachChild(function cb(node) { - if (node.kind === 108 /* ThisKeyword */) { + if (node.kind === 108 /* SyntaxKind.ThisKeyword */) { addRef(node); } else if (!ts.isFunctionLike(node) && !ts.isClassLike(node)) { @@ -137789,18 +138320,18 @@ var ts; if (constructorSymbol && constructorSymbol.declarations) { for (var _i = 0, _a = constructorSymbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - var ctrKeyword = ts.findChildOfKind(decl, 134 /* ConstructorKeyword */, sourceFile); - ts.Debug.assert(decl.kind === 171 /* Constructor */ && !!ctrKeyword); + var ctrKeyword = ts.findChildOfKind(decl, 134 /* SyntaxKind.ConstructorKeyword */, sourceFile); + ts.Debug.assert(decl.kind === 171 /* SyntaxKind.Constructor */ && !!ctrKeyword); addNode(ctrKeyword); } } if (classSymbol.exports) { classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 169 /* MethodDeclaration */) { + if (decl && decl.kind === 169 /* SyntaxKind.MethodDeclaration */) { var body = decl.body; if (body) { - forEachDescendantOfKind(body, 108 /* ThisKeyword */, function (thisKeyword) { + forEachDescendantOfKind(body, 108 /* SyntaxKind.ThisKeyword */, function (thisKeyword) { if (ts.isNewExpressionTarget(thisKeyword)) { addNode(thisKeyword); } @@ -137811,7 +138342,7 @@ var ts; } } function getClassConstructorSymbol(classSymbol) { - return classSymbol.members && classSymbol.members.get("__constructor" /* Constructor */); + return classSymbol.members && classSymbol.members.get("__constructor" /* InternalSymbolName.Constructor */); } /** Find references to `super` in the constructor of an extending class. */ function findSuperConstructorAccesses(classDeclaration, addNode) { @@ -137821,10 +138352,10 @@ var ts; } for (var _i = 0, _a = constructor.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 171 /* Constructor */); + ts.Debug.assert(decl.kind === 171 /* SyntaxKind.Constructor */); var body = decl.body; if (body) { - forEachDescendantOfKind(body, 106 /* SuperKeyword */, function (node) { + forEachDescendantOfKind(body, 106 /* SyntaxKind.SuperKeyword */, function (node) { if (ts.isCallExpressionTarget(node)) { addNode(node); } @@ -137848,10 +138379,10 @@ var ts; addReference(refNode); return; } - if (refNode.kind !== 79 /* Identifier */) { + if (refNode.kind !== 79 /* SyntaxKind.Identifier */) { return; } - if (refNode.parent.kind === 297 /* ShorthandPropertyAssignment */) { + if (refNode.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { // Go ahead and dereference the shorthand assignment by going to its definition getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } @@ -137871,7 +138402,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 235 /* Block */) { + if (body.kind === 235 /* SyntaxKind.Block */) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -137899,13 +138430,13 @@ var ts; */ function isImplementationExpression(node) { switch (node.kind) { - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return isImplementationExpression(node.expression); - case 214 /* ArrowFunction */: - case 213 /* FunctionExpression */: - case 205 /* ObjectLiteralExpression */: - case 226 /* ClassExpression */: - case 204 /* ArrayLiteralExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return true; default: return false; @@ -137956,15 +138487,15 @@ var ts; return undefined; } // Whether 'super' occurs in a static context within a class. - var staticFlag = 32 /* Static */; + var staticFlag = 32 /* ModifierFlags.Static */; switch (searchSpaceNode.kind) { - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; @@ -137973,7 +138504,7 @@ var ts; } var sourceFile = searchSpaceNode.getSourceFile(); var references = ts.mapDefined(getPossibleSymbolReferenceNodes(sourceFile, "super", searchSpaceNode), function (node) { - if (node.kind !== 106 /* SuperKeyword */) { + if (node.kind !== 106 /* SyntaxKind.SuperKeyword */) { return; } var container = ts.getSuperContainer(node, /*stopOnFunctions*/ false); @@ -137982,46 +138513,46 @@ var ts; // and has the same static qualifier as the original 'super's owner. return container && ts.isStatic(container) === !!staticFlag && container.parent.symbol === searchSpaceNode.symbol ? nodeEntry(node) : undefined; }); - return [{ definition: { type: 0 /* Symbol */, symbol: searchSpaceNode.symbol }, references: references }]; + return [{ definition: { type: 0 /* DefinitionKind.Symbol */, symbol: searchSpaceNode.symbol }, references: references }]; } function isParameterName(node) { - return node.kind === 79 /* Identifier */ && node.parent.kind === 164 /* Parameter */ && node.parent.name === node; + return node.kind === 79 /* SyntaxKind.Identifier */ && node.parent.kind === 164 /* SyntaxKind.Parameter */ && node.parent.name === node; } function getReferencesForThisKeyword(thisOrSuperKeyword, sourceFiles, cancellationToken) { var searchSpaceNode = ts.getThisContainer(thisOrSuperKeyword, /* includeArrowFunctions */ false); // Whether 'this' occurs in a static context within a class. - var staticFlag = 32 /* Static */; + var staticFlag = 32 /* ModifierFlags.Static */; switch (searchSpaceNode.kind) { - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: if (ts.isObjectLiteralMethod(searchSpaceNode)) { staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning object literals break; } // falls through - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: if (ts.isExternalModule(searchSpaceNode) || isParameterName(thisOrSuperKeyword)) { return undefined; } // falls through - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: break; // Computed properties in classes are not handled here because references to this are illegal, // so there is no point finding references to them. default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 305 /* SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -138029,26 +138560,26 @@ var ts; } var container = ts.getThisContainer(node, /* includeArrowFunctions */ false); switch (searchSpaceNode.kind) { - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: return searchSpaceNode.symbol === container.symbol; - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 226 /* ClassExpression */: - case 257 /* ClassDeclaration */: - case 205 /* ObjectLiteralExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: // Make sure the container belongs to the same class/object literals // and has the appropriate static modifier from the original container. return container.parent && searchSpaceNode.symbol === container.parent.symbol && ts.isStatic(container) === !!staticFlag; - case 305 /* SourceFile */: - return container.kind === 305 /* SourceFile */ && !ts.isExternalModule(container) && !isParameterName(node); + case 305 /* SyntaxKind.SourceFile */: + return container.kind === 305 /* SyntaxKind.SourceFile */ && !ts.isExternalModule(container) && !isParameterName(node); } }); }).map(function (n) { return nodeEntry(n); }); var thisParameter = ts.firstDefined(references, function (r) { return ts.isParameter(r.node.parent) ? r.node : undefined; }); return [{ - definition: { type: 3 /* This */, node: thisParameter || thisOrSuperKeyword }, + definition: { type: 3 /* DefinitionKind.This */, node: thisParameter || thisOrSuperKeyword }, references: references }]; } @@ -138061,18 +138592,18 @@ var ts; if (type) { var refType = ts.getContextualTypeFromParentOrAncestorTypeNode(ref, checker); if (type !== checker.getStringType() && type === refType) { - return nodeEntry(ref, 2 /* StringLiteral */); + return nodeEntry(ref, 2 /* EntryKind.StringLiteral */); } } else { return ts.isNoSubstitutionTemplateLiteral(ref) && !ts.rangeIsOnSingleLine(ref, sourceFile) ? undefined : - nodeEntry(ref, 2 /* StringLiteral */); + nodeEntry(ref, 2 /* EntryKind.StringLiteral */); } } }); }); return [{ - definition: { type: 4 /* String */, node: node }, + definition: { type: 4 /* DefinitionKind.String */, node: node }, references: references }]; } @@ -138117,30 +138648,30 @@ var ts; var shorthandValueSymbol = checker.getShorthandAssignmentValueSymbol(location.parent); // gets the local symbol if (shorthandValueSymbol && isForRenamePopulateSearchSymbolSet) { // When renaming 'x' in `const o = { x }`, just rename the local variable, not the property. - return cbSymbol(shorthandValueSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 3 /* SearchedLocalFoundProperty */); + return cbSymbol(shorthandValueSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 3 /* EntryKind.SearchedLocalFoundProperty */); } // If the location is in a context sensitive location (i.e. in an object literal) try // to get a contextual type for it, and add the property symbol from the contextual // type to the search set var contextualType = checker.getContextualType(containingObjectLiteralElement.parent); - var res_1 = contextualType && ts.firstDefined(ts.getPropertySymbolsFromContextualType(containingObjectLiteralElement, checker, contextualType, /*unionSymbolOk*/ true), function (sym) { return fromRoot(sym, 4 /* SearchedPropertyFoundLocal */); }); + var res_1 = contextualType && ts.firstDefined(ts.getPropertySymbolsFromContextualType(containingObjectLiteralElement, checker, contextualType, /*unionSymbolOk*/ true), function (sym) { return fromRoot(sym, 4 /* EntryKind.SearchedPropertyFoundLocal */); }); if (res_1) return res_1; // If the location is name of property symbol from object literal destructuring pattern // Search the property symbol // for ( { property: p2 } of elems) { } var propertySymbol = getPropertySymbolOfDestructuringAssignment(location, checker); - var res1 = propertySymbol && cbSymbol(propertySymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 4 /* SearchedPropertyFoundLocal */); + var res1 = propertySymbol && cbSymbol(propertySymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 4 /* EntryKind.SearchedPropertyFoundLocal */); if (res1) return res1; - var res2 = shorthandValueSymbol && cbSymbol(shorthandValueSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 3 /* SearchedLocalFoundProperty */); + var res2 = shorthandValueSymbol && cbSymbol(shorthandValueSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 3 /* EntryKind.SearchedLocalFoundProperty */); if (res2) return res2; } var aliasedSymbol = getMergedAliasedSymbolOfNamespaceExportDeclaration(location, symbol, checker); if (aliasedSymbol) { // In case of UMD module and global merging, search for global as well - var res_2 = cbSymbol(aliasedSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 1 /* Node */); + var res_2 = cbSymbol(aliasedSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 1 /* EntryKind.Node */); if (res_2) return res_2; } @@ -138150,14 +138681,14 @@ var ts; if (symbol.valueDeclaration && ts.isParameterPropertyDeclaration(symbol.valueDeclaration, symbol.valueDeclaration.parent)) { // For a parameter property, now try on the other symbol (property if this was a parameter, parameter if this was a property). var paramProps = checker.getSymbolsOfParameterPropertyDeclaration(ts.cast(symbol.valueDeclaration, ts.isParameter), symbol.name); - ts.Debug.assert(paramProps.length === 2 && !!(paramProps[0].flags & 1 /* FunctionScopedVariable */) && !!(paramProps[1].flags & 4 /* Property */)); // is [parameter, property] - return fromRoot(symbol.flags & 1 /* FunctionScopedVariable */ ? paramProps[1] : paramProps[0]); + ts.Debug.assert(paramProps.length === 2 && !!(paramProps[0].flags & 1 /* SymbolFlags.FunctionScopedVariable */) && !!(paramProps[1].flags & 4 /* SymbolFlags.Property */)); // is [parameter, property] + return fromRoot(symbol.flags & 1 /* SymbolFlags.FunctionScopedVariable */ ? paramProps[1] : paramProps[0]); } - var exportSpecifier = ts.getDeclarationOfKind(symbol, 275 /* ExportSpecifier */); + var exportSpecifier = ts.getDeclarationOfKind(symbol, 275 /* SyntaxKind.ExportSpecifier */); if (!isForRenamePopulateSearchSymbolSet || exportSpecifier && !exportSpecifier.propertyName) { var localSymbol = exportSpecifier && checker.getExportSpecifierLocalTargetSymbol(exportSpecifier); if (localSymbol) { - var res_3 = cbSymbol(localSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 1 /* Node */); + var res_3 = cbSymbol(localSymbol, /*rootSymbol*/ undefined, /*baseSymbol*/ undefined, 1 /* EntryKind.Node */); if (res_3) return res_3; } @@ -138172,7 +138703,7 @@ var ts; else { bindingElementPropertySymbol = getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol, checker); } - return bindingElementPropertySymbol && fromRoot(bindingElementPropertySymbol, 4 /* SearchedPropertyFoundLocal */); + return bindingElementPropertySymbol && fromRoot(bindingElementPropertySymbol, 4 /* EntryKind.SearchedPropertyFoundLocal */); } ts.Debug.assert(isForRenamePopulateSearchSymbolSet); // due to the above assert and the arguments at the uses of this function, @@ -138180,7 +138711,7 @@ var ts; var includeOriginalSymbolOfBindingElement = onlyIncludeBindingElementAtReferenceLocation; if (includeOriginalSymbolOfBindingElement) { var bindingElementPropertySymbol = getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol, checker); - return bindingElementPropertySymbol && fromRoot(bindingElementPropertySymbol, 4 /* SearchedPropertyFoundLocal */); + return bindingElementPropertySymbol && fromRoot(bindingElementPropertySymbol, 4 /* EntryKind.SearchedPropertyFoundLocal */); } function fromRoot(sym, kind) { // If this is a union property: @@ -138192,13 +138723,13 @@ var ts; return ts.firstDefined(checker.getRootSymbols(sym), function (rootSymbol) { return cbSymbol(sym, rootSymbol, /*baseSymbol*/ undefined, kind) // Add symbol of properties/methods of the same name in base classes and implemented interfaces definitions - || (rootSymbol.parent && rootSymbol.parent.flags & (32 /* Class */ | 64 /* Interface */) && allowBaseTypes(rootSymbol) + || (rootSymbol.parent && rootSymbol.parent.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */) && allowBaseTypes(rootSymbol) ? getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.name, checker, function (base) { return cbSymbol(sym, rootSymbol, base, kind); }) : undefined); }); } function getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol, checker) { - var bindingElement = ts.getDeclarationOfKind(symbol, 203 /* BindingElement */); + var bindingElement = ts.getDeclarationOfKind(symbol, 203 /* SyntaxKind.BindingElement */); if (bindingElement && ts.isObjectBindingElementWithoutPropertyName(bindingElement)) { return ts.getPropertySymbolFromBindingElement(checker, bindingElement); } @@ -138220,7 +138751,7 @@ var ts; // interface C extends C { // /*findRef*/propName: string; // } - if (!(symbol.flags & (32 /* Class */ | 64 /* Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) + if (!(symbol.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */)) || !ts.addToSeen(seen, ts.getSymbolId(symbol))) return; return ts.firstDefined(symbol.declarations, function (declaration) { return ts.firstDefined(ts.getAllSuperTypeNodes(declaration), function (typeReference) { var type = checker.getTypeAtLocation(typeReference); @@ -138234,12 +138765,12 @@ var ts; if (!symbol.valueDeclaration) return false; var modifierFlags = ts.getEffectiveModifierFlags(symbol.valueDeclaration); - return !!(modifierFlags & 32 /* Static */); + return !!(modifierFlags & 32 /* ModifierFlags.Static */); } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, /*isForRenamePopulateSearchSymbolSet*/ false, - /*onlyIncludeBindingElementAtReferenceLocation*/ state.options.use !== 2 /* Rename */ || !!state.options.providePrefixAndSuffixTextForRename, function (sym, rootSymbol, baseSymbol, kind) { + /*onlyIncludeBindingElementAtReferenceLocation*/ state.options.use !== 2 /* FindReferencesUse.Rename */ || !!state.options.providePrefixAndSuffixTextForRename, function (sym, rootSymbol, baseSymbol, kind) { // check whether the symbol used to search itself is just the searched one. if (baseSymbol) { // static method/property and instance method/property might have the same name. Only check static or only check instance. @@ -138249,7 +138780,7 @@ var ts; } return search.includes(baseSymbol || rootSymbol || sym) // For a base type, use the symbol for the derived type. For a synthetic (e.g. union) property, use the union symbol. - ? { symbol: rootSymbol && !(ts.getCheckFlags(sym) & 6 /* Synthetic */) ? rootSymbol : sym, kind: kind } + ? { symbol: rootSymbol && !(ts.getCheckFlags(sym) & 6 /* CheckFlags.Synthetic */) ? rootSymbol : sym, kind: kind } : undefined; }, /*allowBaseTypes*/ function (rootSymbol) { @@ -138289,7 +138820,7 @@ var ts; } Core.getIntersectingMeaningFromDeclarations = getIntersectingMeaningFromDeclarations; function isImplementation(node) { - return !!(node.flags & 16777216 /* Ambient */) ? !(ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node)) : + return !!(node.flags & 16777216 /* NodeFlags.Ambient */) ? !(ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node)) : (ts.isVariableLike(node) ? ts.hasInitializer(node) : ts.isFunctionLikeDeclaration(node) ? !!node.body : ts.isClassLike(node) || ts.isModuleOrEnumDeclaration(node)); @@ -138300,7 +138831,7 @@ var ts; if (shorthandSymbol) { for (var _i = 0, _a = shorthandSymbol.getDeclarations(); _i < _a.length; _i++) { var declaration = _a[_i]; - if (ts.getMeaningFromDeclaration(declaration) & 1 /* Value */) { + if (ts.getMeaningFromDeclaration(declaration) & 1 /* SemanticMeaning.Value */) { addReference(declaration); } } @@ -138329,12 +138860,12 @@ var ts; var propertyAccessExpression = ts.isRightSideOfPropertyAccess(location) ? location.parent : undefined; var lhsType = propertyAccessExpression && checker.getTypeAtLocation(propertyAccessExpression.expression); var res = ts.mapDefined(lhsType && (lhsType.isUnionOrIntersection() ? lhsType.types : lhsType.symbol === symbol.parent ? undefined : [lhsType]), function (t) { - return t.symbol && t.symbol.flags & (32 /* Class */ | 64 /* Interface */) ? t.symbol : undefined; + return t.symbol && t.symbol.flags & (32 /* SymbolFlags.Class */ | 64 /* SymbolFlags.Interface */) ? t.symbol : undefined; }); return res.length === 0 ? undefined : res; } function isForRenameWithPrefixAndSuffixText(options) { - return options.use === 2 /* Rename */ && options.providePrefixAndSuffixTextForRename; + return options.use === 2 /* FindReferencesUse.Rename */ && options.providePrefixAndSuffixTextForRename; } })(Core = FindAllReferences.Core || (FindAllReferences.Core = {})); })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); @@ -138354,7 +138885,7 @@ var ts; && ts.isVariableDeclaration(node.parent) && node === node.parent.initializer && ts.isIdentifier(node.parent.name) - && !!(ts.getCombinedNodeFlags(node.parent) & 2 /* Const */); + && !!(ts.getCombinedNodeFlags(node.parent) & 2 /* NodeFlags.Const */); } /** * Indicates whether a node could possibly be a call hierarchy declaration. @@ -138403,7 +138934,7 @@ var ts; return ts.Debug.checkDefined(node.modifiers && ts.find(node.modifiers, isDefaultModifier)); } function isDefaultModifier(node) { - return node.kind === 88 /* DefaultKeyword */; + return node.kind === 88 /* SyntaxKind.DefaultKeyword */; } /** Gets the symbol for a call hierarchy declaration. */ function getSymbolOfCallHierarchyDeclaration(typeChecker, node) { @@ -138427,8 +138958,8 @@ var ts; var end = pos + 6; /* "static".length */ var typeChecker = program.getTypeChecker(); var symbol = typeChecker.getSymbolAtLocation(node.parent); - var prefix = symbol ? typeChecker.symbolToString(symbol, node.parent) + " " : ""; - return { text: prefix + "static {}", pos: pos, end: end }; + var prefix = symbol ? "".concat(typeChecker.symbolToString(symbol, node.parent), " ") : ""; + return { text: "".concat(prefix, "static {}"), pos: pos, end: end }; } var declName = isConstNamedExpression(node) ? node.parent.name : ts.Debug.checkDefined(ts.getNameOfDeclaration(node), "Expected call hierarchy item to have a name"); @@ -138448,7 +138979,7 @@ var ts; if (text === undefined) { // get the text from printing the node on a single line without comments... var printer_1 = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); - text = ts.usingSingleLineStringWriter(function (writer) { return printer_1.writeNode(4 /* Unspecified */, node, node.getSourceFile(), writer); }); + text = ts.usingSingleLineStringWriter(function (writer) { return printer_1.writeNode(4 /* EmitHint.Unspecified */, node, node.getSourceFile(), writer); }); } return { text: text, pos: declName.getStart(), end: declName.getEnd() }; } @@ -138461,16 +138992,16 @@ var ts; return; } switch (node.kind) { - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: - if (node.parent.kind === 205 /* ObjectLiteralExpression */) { + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: + if (node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { return (_a = ts.getAssignedName(node.parent)) === null || _a === void 0 ? void 0 : _a.getText(); } return (_b = ts.getNameOfDeclaration(node.parent)) === null || _b === void 0 ? void 0 : _b.getText(); - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 261 /* ModuleDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: if (ts.isModuleBlock(node.parent) && ts.isIdentifier(node.parent.parent.name)) { return node.parent.parent.name.getText(); } @@ -138568,7 +139099,7 @@ var ts; } return undefined; } - if (location.kind === 124 /* StaticKeyword */ && ts.isClassStaticBlockDeclaration(location.parent)) { + if (location.kind === 124 /* SyntaxKind.StaticKeyword */ && ts.isClassStaticBlockDeclaration(location.parent)) { location = location.parent; continue; } @@ -138579,7 +139110,7 @@ var ts; if (!followingSymbol) { var symbol = typeChecker.getSymbolAtLocation(location); if (symbol) { - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { symbol = typeChecker.getAliasedSymbol(symbol); } if (symbol.valueDeclaration) { @@ -138609,7 +139140,7 @@ var ts; return x !== undefined; } function convertEntryToCallSite(entry) { - if (entry.kind === 1 /* Node */) { + if (entry.kind === 1 /* FindAllReferences.EntryKind.Node */) { var node = entry.node; if (ts.isCallOrNewExpressionTarget(node, /*includeElementAccess*/ true, /*skipPastOuterExpressions*/ true) || ts.isTaggedTemplateTag(node, /*includeElementAccess*/ true, /*skipPastOuterExpressions*/ true) @@ -138639,7 +139170,7 @@ var ts; return []; } var location = getCallHierarchyDeclarationReferenceNode(declaration); - var calls = ts.filter(ts.FindAllReferences.findReferenceOrRenameEntries(program, cancellationToken, program.getSourceFiles(), location, /*position*/ 0, { use: 1 /* References */ }, convertEntryToCallSite), isDefined); + var calls = ts.filter(ts.FindAllReferences.findReferenceOrRenameEntries(program, cancellationToken, program.getSourceFiles(), location, /*position*/ 0, { use: 1 /* FindAllReferences.FindReferencesUse.References */ }, convertEntryToCallSite), isDefined); return calls ? ts.group(calls, getCallSiteGroupKey, function (entries) { return convertCallSiteGroupToIncomingCall(program, entries); }) : []; } CallHierarchy.getIncomingCalls = getIncomingCalls; @@ -138667,7 +139198,7 @@ var ts; function collect(node) { if (!node) return; - if (node.flags & 16777216 /* Ambient */) { + if (node.flags & 16777216 /* NodeFlags.Ambient */) { // do not descend into ambient nodes. return; } @@ -138684,59 +139215,59 @@ var ts; return; } switch (node.kind) { - case 79 /* Identifier */: - case 265 /* ImportEqualsDeclaration */: - case 266 /* ImportDeclaration */: - case 272 /* ExportDeclaration */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 79 /* SyntaxKind.Identifier */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: // do not descend into nodes that cannot contain callable nodes return; - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: recordCallSite(node); return; - case 211 /* TypeAssertionExpression */: - case 229 /* AsExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 229 /* SyntaxKind.AsExpression */: // do not descend into the type side of an assertion collect(node.expression); return; - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: // do not descend into the type of a variable or parameter declaration collect(node.name); collect(node.initializer); return; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: // do not descend into the type arguments of a call expression recordCallSite(node); collect(node.expression); ts.forEach(node.arguments, collect); return; - case 209 /* NewExpression */: + case 209 /* SyntaxKind.NewExpression */: // do not descend into the type arguments of a new expression recordCallSite(node); collect(node.expression); ts.forEach(node.arguments, collect); return; - case 210 /* TaggedTemplateExpression */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: // do not descend into the type arguments of a tagged template expression recordCallSite(node); collect(node.tag); collect(node.template); return; - case 280 /* JsxOpeningElement */: - case 279 /* JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: // do not descend into the type arguments of a JsxOpeningLikeElement recordCallSite(node); collect(node.tagName); collect(node.attributes); return; - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: recordCallSite(node); collect(node.expression); return; - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: recordCallSite(node); ts.forEachChild(node, collect); break; @@ -138753,7 +139284,7 @@ var ts; ts.forEach(node.statements, collect); } function collectCallSitesOfModuleDeclaration(node, collect) { - if (!ts.hasSyntacticModifier(node, 2 /* Ambient */) && node.body && ts.isModuleBlock(node.body)) { + if (!ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */) && node.body && ts.isModuleBlock(node.body)) { ts.forEach(node.body.statements, collect); } } @@ -138792,25 +139323,25 @@ var ts; var callSites = []; var collect = createCallSiteCollector(program, callSites); switch (node.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: collectCallSitesOfSourceFile(node, collect); break; - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: collectCallSitesOfModuleDeclaration(node, collect); break; - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: collectCallSitesOfFunctionLikeDeclaration(program.getTypeChecker(), node, collect); break; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: collectCallSitesOfClassLikeDeclaration(node, collect); break; - case 170 /* ClassStaticBlockDeclaration */: + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: collectCallSitesOfClassStaticBlockDeclaration(node, collect); break; default: @@ -138826,7 +139357,7 @@ var ts; } /** Gets the call sites that call out of the provided call hierarchy declaration. */ function getOutgoingCalls(program, declaration) { - if (declaration.flags & 16777216 /* Ambient */ || ts.isMethodSignature(declaration)) { + if (declaration.flags & 16777216 /* NodeFlags.Ambient */ || ts.isMethodSignature(declaration)) { return []; } return ts.group(collectCallSites(program, declaration), getCallSiteGroupKey, function (entries) { return convertCallSiteGroupToOutgoingCall(program, entries); }); @@ -139066,7 +139597,9 @@ var ts; (function (ts) { var GoToDefinition; (function (GoToDefinition) { - function getDefinitionAtPosition(program, sourceFile, position) { + function getDefinitionAtPosition(program, sourceFile, position, searchOtherFilesOnly, stopAtAlias) { + var _a; + var _b; var resolvedRef = getReferenceAtPosition(sourceFile, position, program); var fileReferenceDefinition = resolvedRef && [getDefinitionInfoForFileReference(resolvedRef.reference.fileName, resolvedRef.fileName, resolvedRef.unverified)] || ts.emptyArray; if (resolvedRef === null || resolvedRef === void 0 ? void 0 : resolvedRef.file) { @@ -139079,45 +139612,75 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 159 /* OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels if (ts.isJumpStatementTarget(node)) { var label = ts.getTargetLabel(node.parent, node.text); - return label ? [createDefinitionInfoFromName(typeChecker, label, "label" /* label */, node.text, /*containerName*/ undefined)] : undefined; // TODO: GH#18217 + return label ? [createDefinitionInfoFromName(typeChecker, label, "label" /* ScriptElementKind.label */, node.text, /*containerName*/ undefined)] : undefined; // TODO: GH#18217 } if (ts.isStaticModifier(node) && ts.isClassStaticBlockDeclaration(node.parent)) { var classDecl = node.parent.parent; - var symbol_1 = getSymbol(classDecl, typeChecker); + var _c = getSymbol(classDecl, typeChecker, stopAtAlias), symbol_1 = _c.symbol, failedAliasResolution_1 = _c.failedAliasResolution; var staticBlocks = ts.filter(classDecl.members, ts.isClassStaticBlockDeclaration); var containerName_1 = symbol_1 ? typeChecker.symbolToString(symbol_1, classDecl) : ""; var sourceFile_1 = node.getSourceFile(); return ts.map(staticBlocks, function (staticBlock) { var pos = ts.moveRangePastModifiers(staticBlock).pos; pos = ts.skipTrivia(sourceFile_1.text, pos); - return createDefinitionInfoFromName(typeChecker, staticBlock, "constructor" /* constructorImplementationElement */, "static {}", containerName_1, { start: pos, length: "static".length }); + return createDefinitionInfoFromName(typeChecker, staticBlock, "constructor" /* ScriptElementKind.constructorImplementationElement */, "static {}", containerName_1, /*unverified*/ false, failedAliasResolution_1, { start: pos, length: "static".length }); }); } - var symbol = getSymbol(node, typeChecker); + var _d = getSymbol(node, typeChecker, stopAtAlias), symbol = _d.symbol, failedAliasResolution = _d.failedAliasResolution; + var fallbackNode = node; + if (searchOtherFilesOnly && failedAliasResolution) { + // We couldn't resolve the specific import, try on the module specifier. + var importDeclaration = ts.forEach(__spreadArray([node], (symbol === null || symbol === void 0 ? void 0 : symbol.declarations) || ts.emptyArray, true), function (n) { return ts.findAncestor(n, ts.isAnyImportOrBareOrAccessedRequire); }); + var moduleSpecifier = importDeclaration && ts.tryGetModuleSpecifierFromDeclaration(importDeclaration); + if (moduleSpecifier) { + (_a = getSymbol(moduleSpecifier, typeChecker, stopAtAlias), symbol = _a.symbol, failedAliasResolution = _a.failedAliasResolution); + fallbackNode = moduleSpecifier; + } + } + if (!symbol && ts.isModuleSpecifierLike(fallbackNode)) { + // We couldn't resolve the module specifier as an external module, but it could + // be that module resolution succeeded but the target was not a module. + var ref = (_b = sourceFile.resolvedModules) === null || _b === void 0 ? void 0 : _b.get(fallbackNode.text, ts.getModeForUsageLocation(sourceFile, fallbackNode)); + if (ref) { + return [{ + name: fallbackNode.text, + fileName: ref.resolvedFileName, + containerName: undefined, + containerKind: undefined, + kind: "script" /* ScriptElementKind.scriptElement */, + textSpan: ts.createTextSpan(0, 0), + failedAliasResolution: failedAliasResolution, + isAmbient: ts.isDeclarationFileName(ref.resolvedFileName), + unverified: fallbackNode !== node, + }]; + } + } // Could not find a symbol e.g. node is string or number keyword, // or the symbol was an internal symbol and does not have a declaration e.g. undefined symbol if (!symbol) { return ts.concatenate(fileReferenceDefinition, getDefinitionInfoForIndexSignatures(node, typeChecker)); } + if (searchOtherFilesOnly && ts.every(symbol.declarations, function (d) { return d.getSourceFile().fileName === sourceFile.fileName; })) + return undefined; var calledDeclaration = tryGetSignatureDeclaration(typeChecker, node); // Don't go to the component constructor definition for a JSX element, just go to the component definition. if (calledDeclaration && !(ts.isJsxOpeningLikeElement(node.parent) && isConstructorLike(calledDeclaration))) { - var sigInfo = createDefinitionFromSignatureDeclaration(typeChecker, calledDeclaration); + var sigInfo = createDefinitionFromSignatureDeclaration(typeChecker, calledDeclaration, failedAliasResolution); // For a function, if this is the original function definition, return just sigInfo. // If this is the original constructor definition, parent is the class. if (typeChecker.getRootSymbols(symbol).some(function (s) { return symbolMatchesSignature(s, calledDeclaration); })) { return [sigInfo]; } else { - var defs = getDefinitionFromSymbol(typeChecker, symbol, node, calledDeclaration) || ts.emptyArray; + var defs = getDefinitionFromSymbol(typeChecker, symbol, node, failedAliasResolution, calledDeclaration) || ts.emptyArray; // For a 'super()' call, put the signature first, else put the variable first. - return node.kind === 106 /* SuperKeyword */ ? __spreadArray([sigInfo], defs, true) : __spreadArray(__spreadArray([], defs, true), [sigInfo], false); + return node.kind === 106 /* SyntaxKind.SuperKeyword */ ? __spreadArray([sigInfo], defs, true) : __spreadArray(__spreadArray([], defs, true), [sigInfo], false); } } // Because name in short-hand property assignment has two different meanings: property name and property value, @@ -139125,9 +139688,9 @@ var ts; // go to the declaration of the property name (in this case stay at the same position). However, if go-to-definition // is performed at the location of property access, we would like to go to definition of the property in the short-hand // assignment. This case and others are handled by the following code. - if (node.parent.kind === 297 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); - var definitions = (shorthandSymbol_1 === null || shorthandSymbol_1 === void 0 ? void 0 : shorthandSymbol_1.declarations) ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node); }) : ts.emptyArray; + var definitions = (shorthandSymbol_1 === null || shorthandSymbol_1 === void 0 ? void 0 : shorthandSymbol_1.declarations) ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node, /*unverified*/ false, failedAliasResolution); }) : ts.emptyArray; return ts.concatenate(definitions, getDefinitionFromObjectLiteralElement(typeChecker, node) || ts.emptyArray); } // If the node is the name of a BindingElement within an ObjectBindingPattern instead of just returning the @@ -139150,7 +139713,7 @@ var ts; return prop && getDefinitionFromSymbol(typeChecker, prop, node); }); } - return ts.concatenate(fileReferenceDefinition, getDefinitionFromObjectLiteralElement(typeChecker, node) || getDefinitionFromSymbol(typeChecker, symbol, node)); + return ts.concatenate(fileReferenceDefinition, getDefinitionFromObjectLiteralElement(typeChecker, node) || getDefinitionFromSymbol(typeChecker, symbol, node, failedAliasResolution)); } GoToDefinition.getDefinitionAtPosition = getDefinitionAtPosition; /** @@ -139248,24 +139811,24 @@ var ts; return undefined; } if (ts.isImportMeta(node.parent) && node.parent.name === node) { - return definitionFromType(typeChecker.getTypeAtLocation(node.parent), typeChecker, node.parent); + return definitionFromType(typeChecker.getTypeAtLocation(node.parent), typeChecker, node.parent, /*failedAliasResolution*/ false); } - var symbol = getSymbol(node, typeChecker); + var _a = getSymbol(node, typeChecker, /*stopAtAlias*/ false), symbol = _a.symbol, failedAliasResolution = _a.failedAliasResolution; if (!symbol) return undefined; var typeAtLocation = typeChecker.getTypeOfSymbolAtLocation(symbol, node); var returnType = tryGetReturnTypeOfFunction(symbol, typeAtLocation, typeChecker); - var fromReturnType = returnType && definitionFromType(returnType, typeChecker, node); + var fromReturnType = returnType && definitionFromType(returnType, typeChecker, node, failedAliasResolution); // If a function returns 'void' or some other type with no definition, just return the function definition. - var typeDefinitions = fromReturnType && fromReturnType.length !== 0 ? fromReturnType : definitionFromType(typeAtLocation, typeChecker, node); + var typeDefinitions = fromReturnType && fromReturnType.length !== 0 ? fromReturnType : definitionFromType(typeAtLocation, typeChecker, node, failedAliasResolution); return typeDefinitions.length ? typeDefinitions - : !(symbol.flags & 111551 /* Value */) && symbol.flags & 788968 /* Type */ ? getDefinitionFromSymbol(typeChecker, ts.skipAlias(symbol, typeChecker), node) + : !(symbol.flags & 111551 /* SymbolFlags.Value */) && symbol.flags & 788968 /* SymbolFlags.Type */ ? getDefinitionFromSymbol(typeChecker, ts.skipAlias(symbol, typeChecker), node, failedAliasResolution) : undefined; } GoToDefinition.getTypeDefinitionAtPosition = getTypeDefinitionAtPosition; - function definitionFromType(type, checker, node) { - return ts.flatMap(type.isUnion() && !(type.flags & 32 /* Enum */) ? type.types : [type], function (t) { - return t.symbol && getDefinitionFromSymbol(checker, t.symbol, node); + function definitionFromType(type, checker, node, failedAliasResolution) { + return ts.flatMap(type.isUnion() && !(type.flags & 32 /* TypeFlags.Enum */) ? type.types : [type], function (t) { + return t.symbol && getDefinitionFromSymbol(checker, t.symbol, node, failedAliasResolution); }); } function tryGetReturnTypeOfFunction(symbol, type, checker) { @@ -139301,19 +139864,23 @@ var ts; function getDefinitionInfoForIndexSignatures(node, checker) { return ts.mapDefined(checker.getIndexInfosAtLocation(node), function (info) { return info.declaration && createDefinitionFromSignatureDeclaration(checker, info.declaration); }); } - function getSymbol(node, checker) { + function getSymbol(node, checker, stopAtAlias) { var symbol = checker.getSymbolAtLocation(node); // If this is an alias, and the request came at the declaration location // get the aliased symbol instead. This allows for goto def on an import e.g. // import {A, B} from "mod"; // to jump to the implementation directly. - if ((symbol === null || symbol === void 0 ? void 0 : symbol.declarations) && symbol.flags & 2097152 /* Alias */ && shouldSkipAlias(node, symbol.declarations[0])) { + var failedAliasResolution = false; + if ((symbol === null || symbol === void 0 ? void 0 : symbol.declarations) && symbol.flags & 2097152 /* SymbolFlags.Alias */ && !stopAtAlias && shouldSkipAlias(node, symbol.declarations[0])) { var aliased = checker.getAliasedSymbol(symbol); if (aliased.declarations) { - return aliased; + return { symbol: aliased }; + } + else { + failedAliasResolution = true; } } - return symbol; + return { symbol: symbol, failedAliasResolution: failedAliasResolution }; } // Go to the original declaration for cases: // @@ -139321,36 +139888,55 @@ var ts; // (2) when the aliased symbol is originating from an import. // function shouldSkipAlias(node, declaration) { - if (node.kind !== 79 /* Identifier */) { + if (node.kind !== 79 /* SyntaxKind.Identifier */) { return false; } if (node.parent === declaration) { return true; } - switch (declaration.kind) { - case 267 /* ImportClause */: - case 265 /* ImportEqualsDeclaration */: - return true; - case 270 /* ImportSpecifier */: - return declaration.parent.kind === 269 /* NamedImports */; - case 203 /* BindingElement */: - case 254 /* VariableDeclaration */: - return ts.isInJSFile(declaration) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(declaration); - default: - return false; + if (declaration.kind === 268 /* SyntaxKind.NamespaceImport */) { + return false; } + return true; + } + /** + * ```ts + * function f() {} + * f.foo = 0; + * ``` + * + * Here, `f` has two declarations: the function declaration, and the identifier in the next line. + * The latter is a declaration for `f` because it gives `f` the `SymbolFlags.Namespace` meaning so + * it can contain `foo`. However, that declaration is pretty uninteresting and not intuitively a + * "definition" for `f`. Ideally, the question we'd like to answer is "what SymbolFlags does this + * declaration contribute to the symbol for `f`?" If the answer is just `Namespace` and the + * declaration looks like an assignment, that declaration is in no sense a definition for `f`. + * But that information is totally lost during binding and/or symbol merging, so we need to do + * our best to reconstruct it or use other heuristics. This function (and the logic around its + * calling) covers our tests but feels like a hack, and it would be great if someone could come + * up with a more precise definition of what counts as a definition. + */ + function isExpandoDeclaration(node) { + if (!ts.isAssignmentDeclaration(node)) + return false; + var containingAssignment = ts.findAncestor(node, function (p) { + if (ts.isAssignmentExpression(p)) + return true; + if (!ts.isAssignmentDeclaration(p)) + return "quit"; + return false; + }); + return !!containingAssignment && ts.getAssignmentDeclarationKind(containingAssignment) === 5 /* AssignmentDeclarationKind.Property */; } - function getDefinitionFromSymbol(typeChecker, symbol, node, declarationNode) { - // There are cases when you extend a function by adding properties to it afterwards, - // we want to strip those extra properties. - // For deduping purposes, we also want to exclude any declarationNodes if provided. - var filteredDeclarations = ts.filter(symbol.declarations, function (d) { return d !== declarationNode && (!ts.isAssignmentDeclaration(d) || d === symbol.valueDeclaration); }) - || undefined; - return getConstructSignatureDefinition() || getCallSignatureDefinition() || ts.map(filteredDeclarations, function (declaration) { return createDefinitionInfo(declaration, typeChecker, symbol, node); }); + function getDefinitionFromSymbol(typeChecker, symbol, node, failedAliasResolution, excludeDeclaration) { + var filteredDeclarations = ts.filter(symbol.declarations, function (d) { return d !== excludeDeclaration; }); + var withoutExpandos = ts.filter(filteredDeclarations, function (d) { return !isExpandoDeclaration(d); }); + var results = ts.some(withoutExpandos) ? withoutExpandos : filteredDeclarations; + return getConstructSignatureDefinition() || getCallSignatureDefinition() || ts.map(results, function (declaration) { return createDefinitionInfo(declaration, typeChecker, symbol, node, /*unverified*/ false, failedAliasResolution); }); function getConstructSignatureDefinition() { // Applicable only if we are in a new expression, or we are on a constructor declaration // and in either case the symbol has a construct signature definition, i.e. class - if (symbol.flags & 32 /* Class */ && !(symbol.flags & (16 /* Function */ | 3 /* Variable */)) && (ts.isNewExpressionTarget(node) || node.kind === 134 /* ConstructorKeyword */)) { + if (symbol.flags & 32 /* SymbolFlags.Class */ && !(symbol.flags & (16 /* SymbolFlags.Function */ | 3 /* SymbolFlags.Variable */)) && (ts.isNewExpressionTarget(node) || node.kind === 134 /* SyntaxKind.ConstructorKeyword */)) { var cls = ts.find(filteredDeclarations, ts.isClassLike) || ts.Debug.fail("Expected declaration to have at least one class-like declaration"); return getSignatureDefinition(cls.members, /*selectConstructors*/ true); } @@ -139370,26 +139956,27 @@ var ts; return declarations.length ? declarationsWithBody.length !== 0 ? declarationsWithBody.map(function (x) { return createDefinitionInfo(x, typeChecker, symbol, node); }) - : [createDefinitionInfo(ts.last(declarations), typeChecker, symbol, node)] + : [createDefinitionInfo(ts.last(declarations), typeChecker, symbol, node, /*unverified*/ false, failedAliasResolution)] : undefined; } } /** Creates a DefinitionInfo from a Declaration, using the declaration's name if possible. */ - function createDefinitionInfo(declaration, checker, symbol, node) { + function createDefinitionInfo(declaration, checker, symbol, node, unverified, failedAliasResolution) { var symbolName = checker.symbolToString(symbol); // Do not get scoped name, just the name of the symbol var symbolKind = ts.SymbolDisplay.getSymbolKind(checker, symbol, node); var containerName = symbol.parent ? checker.symbolToString(symbol.parent, node) : ""; - return createDefinitionInfoFromName(checker, declaration, symbolKind, symbolName, containerName); + return createDefinitionInfoFromName(checker, declaration, symbolKind, symbolName, containerName, unverified, failedAliasResolution); } + GoToDefinition.createDefinitionInfo = createDefinitionInfo; /** Creates a DefinitionInfo directly from the name of a declaration. */ - function createDefinitionInfoFromName(checker, declaration, symbolKind, symbolName, containerName, textSpan) { + function createDefinitionInfoFromName(checker, declaration, symbolKind, symbolName, containerName, unverified, failedAliasResolution, textSpan) { var sourceFile = declaration.getSourceFile(); if (!textSpan) { var name = ts.getNameOfDeclaration(declaration) || declaration; textSpan = ts.createTextSpanFromNode(name, sourceFile); } return __assign(__assign({ fileName: sourceFile.fileName, textSpan: textSpan, kind: symbolKind, name: symbolName, containerKind: undefined, // TODO: GH#18217 - containerName: containerName }, ts.FindAllReferences.toContextSpan(textSpan, sourceFile, ts.FindAllReferences.getContextNode(declaration))), { isLocal: !isDefinitionVisible(checker, declaration) }); + containerName: containerName }, ts.FindAllReferences.toContextSpan(textSpan, sourceFile, ts.FindAllReferences.getContextNode(declaration))), { isLocal: !isDefinitionVisible(checker, declaration), isAmbient: !!(declaration.flags & 16777216 /* NodeFlags.Ambient */), unverified: unverified, failedAliasResolution: failedAliasResolution }); } function isDefinitionVisible(checker, declaration) { if (checker.isDeclarationVisible(declaration)) @@ -139401,29 +139988,29 @@ var ts; return isDefinitionVisible(checker, declaration.parent); // Handle some exceptions here like arrow function, members of class and object literal expression which are technically not visible but we want the definition to be determined by its parent switch (declaration.kind) { - case 167 /* PropertyDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 169 /* MethodDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.MethodDeclaration */: // Private/protected properties/methods are not visible - if (ts.hasEffectiveModifier(declaration, 8 /* Private */)) + if (ts.hasEffectiveModifier(declaration, 8 /* ModifierFlags.Private */)) return false; // Public properties/methods are visible if its parents are visible, so: // falls through - case 171 /* Constructor */: - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: - case 205 /* ObjectLiteralExpression */: - case 226 /* ClassExpression */: - case 214 /* ArrowFunction */: - case 213 /* FunctionExpression */: + case 171 /* SyntaxKind.Constructor */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 226 /* SyntaxKind.ClassExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: return isDefinitionVisible(checker, declaration.parent); default: return false; } } - function createDefinitionFromSignatureDeclaration(typeChecker, decl) { - return createDefinitionInfo(decl, typeChecker, decl.symbol, decl); + function createDefinitionFromSignatureDeclaration(typeChecker, decl, failedAliasResolution) { + return createDefinitionInfo(decl, typeChecker, decl.symbol, decl, /*unverified*/ false, failedAliasResolution); } function findReferenceInPosition(refs, pos) { return ts.find(refs, function (ref) { return ts.textRangeContainsPositionInclusive(ref, pos); }); @@ -139433,7 +140020,7 @@ var ts; return { fileName: targetFileName, textSpan: ts.createTextSpanFromBounds(0, 0), - kind: "script" /* scriptElement */, + kind: "script" /* ScriptElementKind.scriptElement */, name: name, containerName: undefined, containerKind: undefined, @@ -139454,9 +140041,9 @@ var ts; } function isConstructorLike(node) { switch (node.kind) { - case 171 /* Constructor */: - case 180 /* ConstructorType */: - case 175 /* ConstructSignature */: + case 171 /* SyntaxKind.Constructor */: + case 180 /* SyntaxKind.ConstructorType */: + case 175 /* SyntaxKind.ConstructSignature */: return true; default: return false; @@ -139568,10 +140155,10 @@ var ts; // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation if (jsdoc.comment === undefined || ts.isJSDoc(jsdoc) - && declaration.kind !== 345 /* JSDocTypedefTag */ && declaration.kind !== 338 /* JSDocCallbackTag */ + && declaration.kind !== 345 /* SyntaxKind.JSDocTypedefTag */ && declaration.kind !== 338 /* SyntaxKind.JSDocCallbackTag */ && jsdoc.tags - && jsdoc.tags.some(function (t) { return t.kind === 345 /* JSDocTypedefTag */ || t.kind === 338 /* JSDocCallbackTag */; }) - && !jsdoc.tags.some(function (t) { return t.kind === 340 /* JSDocParameterTag */ || t.kind === 341 /* JSDocReturnTag */; })) { + && jsdoc.tags.some(function (t) { return t.kind === 345 /* SyntaxKind.JSDocTypedefTag */ || t.kind === 338 /* SyntaxKind.JSDocCallbackTag */; }) + && !jsdoc.tags.some(function (t) { return t.kind === 340 /* SyntaxKind.JSDocParameterTag */ || t.kind === 341 /* SyntaxKind.JSDocReturnTag */; })) { continue; } var newparts = getDisplayPartsFromComment(jsdoc.comment, checker); @@ -139588,11 +140175,11 @@ var ts; } function getCommentHavingNodes(declaration) { switch (declaration.kind) { - case 340 /* JSDocParameterTag */: - case 347 /* JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: return [declaration]; - case 338 /* JSDocCallbackTag */: - case 345 /* JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -139606,8 +140193,8 @@ var ts; // skip comments containing @typedefs since they're not associated with particular declarations // Exceptions: // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation - if (tags.some(function (t) { return t.kind === 345 /* JSDocTypedefTag */ || t.kind === 338 /* JSDocCallbackTag */; }) - && !tags.some(function (t) { return t.kind === 340 /* JSDocParameterTag */ || t.kind === 341 /* JSDocReturnTag */; })) { + if (tags.some(function (t) { return t.kind === 345 /* SyntaxKind.JSDocTypedefTag */ || t.kind === 338 /* SyntaxKind.JSDocCallbackTag */; }) + && !tags.some(function (t) { return t.kind === 340 /* SyntaxKind.JSDocParameterTag */ || t.kind === 341 /* SyntaxKind.JSDocReturnTag */; })) { return; } for (var _i = 0, tags_1 = tags; _i < tags_1.length; _i++) { @@ -139622,17 +140209,17 @@ var ts; if (typeof comment === "string") { return [ts.textPart(comment)]; } - return ts.flatMap(comment, function (node) { return node.kind === 321 /* JSDocText */ ? [ts.textPart(node.text)] : ts.buildLinkParts(node, checker); }); + return ts.flatMap(comment, function (node) { return node.kind === 321 /* SyntaxKind.JSDocText */ ? [ts.textPart(node.text)] : ts.buildLinkParts(node, checker); }); } function getCommentDisplayParts(tag, checker) { var comment = tag.comment, kind = tag.kind; var namePart = getTagNameDisplayPart(kind); switch (kind) { - case 329 /* JSDocImplementsTag */: + case 329 /* SyntaxKind.JSDocImplementsTag */: return withNode(tag.class); - case 328 /* JSDocAugmentsTag */: + case 328 /* SyntaxKind.JSDocAugmentsTag */: return withNode(tag.class); - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: var templateTag = tag; var displayParts_3 = []; if (templateTag.constraint) { @@ -139646,7 +140233,7 @@ var ts; ts.forEach(templateTag.typeParameters, function (tp) { displayParts_3.push(namePart(tp.getText())); if (lastTypeParameter_1 !== tp) { - displayParts_3.push.apply(displayParts_3, [ts.punctuationPart(27 /* CommaToken */), ts.spacePart()]); + displayParts_3.push.apply(displayParts_3, [ts.punctuationPart(27 /* SyntaxKind.CommaToken */), ts.spacePart()]); } }); } @@ -139654,13 +140241,13 @@ var ts; displayParts_3.push.apply(displayParts_3, __spreadArray([ts.spacePart()], getDisplayPartsFromComment(comment, checker), true)); } return displayParts_3; - case 343 /* JSDocTypeTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: return withNode(tag.typeExpression); - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: - case 347 /* JSDocPropertyTag */: - case 340 /* JSDocParameterTag */: - case 346 /* JSDocSeeTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: + case 346 /* SyntaxKind.JSDocSeeTag */: var name = tag.name; return name ? withNode(name) : comment === undefined ? undefined @@ -139687,14 +140274,14 @@ var ts; } function getTagNameDisplayPart(kind) { switch (kind) { - case 340 /* JSDocParameterTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: return ts.parameterNamePart; - case 347 /* JSDocPropertyTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: return ts.propertyNamePart; - case 344 /* JSDocTemplateTag */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return ts.typeParameterNamePart; - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: return ts.typeAliasNamePart; default: return ts.textPart; @@ -139704,7 +140291,7 @@ var ts; return jsDocTagNameCompletionEntries || (jsDocTagNameCompletionEntries = ts.map(jsDocTagNames, function (tagName) { return { name: tagName, - kind: "keyword" /* keyword */, + kind: "keyword" /* ScriptElementKind.keyword */, kindModifiers: "", sortText: ts.Completions.SortText.LocationPriority, }; @@ -139715,8 +140302,8 @@ var ts; function getJSDocTagCompletions() { return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) { return { - name: "@" + tagName, - kind: "keyword" /* keyword */, + name: "@".concat(tagName), + kind: "keyword" /* ScriptElementKind.keyword */, kindModifiers: "", sortText: ts.Completions.SortText.LocationPriority }; @@ -139726,7 +140313,7 @@ var ts; function getJSDocTagCompletionDetails(name) { return { name: name, - kind: "" /* unknown */, + kind: "" /* ScriptElementKind.unknown */, kindModifiers: "", displayParts: [ts.textPart(name)], documentation: ts.emptyArray, @@ -139752,14 +140339,14 @@ var ts; || nameThusFar !== undefined && !ts.startsWith(name, nameThusFar)) { return undefined; } - return { name: name, kind: "parameter" /* parameterElement */, kindModifiers: "", sortText: ts.Completions.SortText.LocationPriority }; + return { name: name, kind: "parameter" /* ScriptElementKind.parameterElement */, kindModifiers: "", sortText: ts.Completions.SortText.LocationPriority }; }); } JsDoc.getJSDocParameterNameCompletions = getJSDocParameterNameCompletions; function getJSDocParameterNameCompletionDetails(name) { return { name: name, - kind: "parameter" /* parameterElement */, + kind: "parameter" /* ScriptElementKind.parameterElement */, kindModifiers: "", displayParts: [ts.textPart(name)], documentation: ts.emptyArray, @@ -139846,37 +140433,37 @@ var ts; function parameterDocComments(parameters, isJavaScriptFile, indentationStr, newLine) { return parameters.map(function (_a, i) { var name = _a.name, dotDotDotToken = _a.dotDotDotToken; - var paramName = name.kind === 79 /* Identifier */ ? name.text : "param" + i; + var paramName = name.kind === 79 /* SyntaxKind.Identifier */ ? name.text : "param" + i; var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : ""; - return indentationStr + " * @param " + type + paramName + newLine; + return "".concat(indentationStr, " * @param ").concat(type).concat(paramName).concat(newLine); }).join(""); } function returnsDocComment(indentationStr, newLine) { - return indentationStr + " * @returns" + newLine; + return "".concat(indentationStr, " * @returns").concat(newLine); } function getCommentOwnerInfo(tokenAtPos, options) { return ts.forEachAncestor(tokenAtPos, function (n) { return getCommentOwnerInfoWorker(n, options); }); } function getCommentOwnerInfoWorker(commentOwner, options) { switch (commentOwner.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 168 /* MethodSignature */: - case 214 /* ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 168 /* SyntaxKind.MethodSignature */: + case 214 /* SyntaxKind.ArrowFunction */: var host = commentOwner; return { commentOwner: commentOwner, parameters: host.parameters, hasReturn: hasReturn(host, options) }; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return getCommentOwnerInfoWorker(commentOwner.initializer, options); - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 166 /* PropertySignature */: - case 260 /* EnumDeclaration */: - case 299 /* EnumMember */: - case 259 /* TypeAliasDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 299 /* SyntaxKind.EnumMember */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return { commentOwner: commentOwner }; - case 237 /* VariableStatement */: { + case 237 /* SyntaxKind.VariableStatement */: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; var host_1 = varDeclarations.length === 1 && varDeclarations[0].initializer @@ -139886,25 +140473,25 @@ var ts; ? { commentOwner: commentOwner, parameters: host_1.parameters, hasReturn: hasReturn(host_1, options) } : { commentOwner: commentOwner }; } - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: return "quit"; - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: // If in walking up the tree, we hit a a nested namespace declaration, // then we must be somewhere within a dotted namespace name; however we don't // want to give back a JSDoc template for the 'b' or 'c' in 'namespace a.b.c { }'. - return commentOwner.parent.kind === 261 /* ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; - case 238 /* ExpressionStatement */: + return commentOwner.parent.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; + case 238 /* SyntaxKind.ExpressionStatement */: return getCommentOwnerInfoWorker(commentOwner.expression, options); - case 221 /* BinaryExpression */: { + case 221 /* SyntaxKind.BinaryExpression */: { var be = commentOwner; - if (ts.getAssignmentDeclarationKind(be) === 0 /* None */) { + if (ts.getAssignmentDeclarationKind(be) === 0 /* AssignmentDeclarationKind.None */) { return "quit"; } return ts.isFunctionLike(be.right) ? { commentOwner: commentOwner, parameters: be.right.parameters, hasReturn: hasReturn(be.right, options) } : { commentOwner: commentOwner }; } - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: var init = commentOwner.initializer; if (init && (ts.isFunctionExpression(init) || ts.isArrowFunction(init))) { return { commentOwner: commentOwner, parameters: init.parameters, hasReturn: hasReturn(init, options) }; @@ -139917,14 +140504,14 @@ var ts; || ts.isFunctionLikeDeclaration(node) && node.body && ts.isBlock(node.body) && !!ts.forEachReturnStatement(node.body, function (n) { return n; })); } function getRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 212 /* ParenthesizedExpression */) { + while (rightHandSide.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return rightHandSide; - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: return ts.find(rightHandSide.members, ts.isConstructorDeclaration); } } @@ -139983,9 +140570,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 267 /* ImportClause */: - case 270 /* ImportSpecifier */: - case 265 /* ImportEqualsDeclaration */: + case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: var importer = checker.getSymbolAtLocation(declaration.name); // TODO: GH#18217 var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -139995,7 +140582,7 @@ var ts; } function tryAddSingleDeclarationName(declaration, containers) { var name = ts.getNameOfDeclaration(declaration); - return !!name && (pushLiteral(name, containers) || name.kind === 162 /* ComputedPropertyName */ && tryAddComputedPropertyName(name.expression, containers)); + return !!name && (pushLiteral(name, containers) || name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && tryAddComputedPropertyName(name.expression, containers)); } // Only added the names of computed properties if they're simple dotted expressions, like: // @@ -140012,7 +140599,7 @@ var ts; // First, if we started with a computed property name, then add all but the last // portion into the container array. var name = ts.getNameOfDeclaration(declaration); - if (name && name.kind === 162 /* ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers)) { + if (name && name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers)) { return ts.emptyArray; } // Don't include the last portion. @@ -140046,7 +140633,7 @@ var ts; textSpan: ts.createTextSpanFromNode(declaration), // TODO(jfreeman): What should be the containerName when the container has a computed name? containerName: containerName ? containerName.text : "", - containerKind: containerName ? ts.getNodeKind(container) : "" /* unknown */, + containerKind: containerName ? ts.getNodeKind(container) : "" /* ScriptElementKind.unknown */, }; } })(NavigateTo = ts.NavigateTo || (ts.NavigateTo = {})); @@ -140229,7 +140816,7 @@ var ts; */ function hasNavigationBarName(node) { return !ts.hasDynamicName(node) || - (node.kind !== 221 /* BinaryExpression */ && + (node.kind !== 221 /* SyntaxKind.BinaryExpression */ && ts.isPropertyAccessExpression(node.name.expression) && ts.isIdentifier(node.name.expression.expression) && ts.idText(node.name.expression.expression) === "Symbol"); @@ -140242,7 +140829,7 @@ var ts; return; } switch (node.kind) { - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: // Get parameter properties, and treat them as being on the *same* level as the constructor, not under it. var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); @@ -140254,25 +140841,25 @@ var ts; } } break; - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 168 /* MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 168 /* SyntaxKind.MethodSignature */: if (hasNavigationBarName(node)) { addNodeWithRecursiveChild(node, node.body); } break; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: if (hasNavigationBarName(node)) { addNodeWithRecursiveInitializer(node); } break; - case 166 /* PropertySignature */: + case 166 /* SyntaxKind.PropertySignature */: if (hasNavigationBarName(node)) { addLeafNode(node); } break; - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: var importClause = node; // Handle default import case e.g.: // import d from "mod"; @@ -140284,7 +140871,7 @@ var ts; // import {a, b as B} from "mod"; var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 268 /* NamespaceImport */) { + if (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { addLeafNode(namedBindings); } else { @@ -140295,17 +140882,17 @@ var ts; } } break; - case 297 /* ShorthandPropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: addNodeWithRecursiveChild(node, node.name); break; - case 298 /* SpreadAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: var expression = node.expression; // Use the expression as the name of the SpreadAssignment, otherwise show as . ts.isIdentifier(expression) ? addLeafNode(node, expression) : addLeafNode(node); break; - case 203 /* BindingElement */: - case 296 /* PropertyAssignment */: - case 254 /* VariableDeclaration */: { + case 203 /* SyntaxKind.BindingElement */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 254 /* SyntaxKind.VariableDeclaration */: { var child = node; if (ts.isBindingPattern(child.name)) { addChildrenRecursively(child.name); @@ -140315,7 +140902,7 @@ var ts; } break; } - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: var nameNode = node.name; // If we see a function declaration track as a possible ES5 class if (nameNode && ts.isIdentifier(nameNode)) { @@ -140323,11 +140910,11 @@ var ts; } addNodeWithRecursiveChild(node, node.body); break; - case 214 /* ArrowFunction */: - case 213 /* FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: addNodeWithRecursiveChild(node, node.body); break; - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -140337,9 +140924,9 @@ var ts; } endNode(); break; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -140347,10 +140934,10 @@ var ts; } endNode(); break; - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 271 /* ExportAssignment */: { + case 271 /* SyntaxKind.ExportAssignment */: { var expression_1 = node.expression; var child = ts.isObjectLiteralExpression(expression_1) || ts.isCallExpression(expression_1) ? expression_1 : ts.isArrowFunction(expression_1) || ts.isFunctionExpression(expression_1) ? expression_1.body : undefined; @@ -140364,27 +140951,27 @@ var ts; } break; } - case 275 /* ExportSpecifier */: - case 265 /* ImportEqualsDeclaration */: - case 176 /* IndexSignature */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 259 /* TypeAliasDeclaration */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 176 /* SyntaxKind.IndexSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: addLeafNode(node); break; - case 208 /* CallExpression */: - case 221 /* BinaryExpression */: { + case 208 /* SyntaxKind.CallExpression */: + case 221 /* SyntaxKind.BinaryExpression */: { var special = ts.getAssignmentDeclarationKind(node); switch (special) { - case 1 /* ExportsProperty */: - case 2 /* ModuleExports */: + case 1 /* AssignmentDeclarationKind.ExportsProperty */: + case 2 /* AssignmentDeclarationKind.ModuleExports */: addNodeWithRecursiveChild(node, node.right); return; - case 6 /* Prototype */: - case 3 /* PrototypeProperty */: { + case 6 /* AssignmentDeclarationKind.Prototype */: + case 3 /* AssignmentDeclarationKind.PrototypeProperty */: { var binaryExpression = node; var assignmentTarget = binaryExpression.left; - var prototypeAccess = special === 3 /* PrototypeProperty */ ? + var prototypeAccess = special === 3 /* AssignmentDeclarationKind.PrototypeProperty */ ? assignmentTarget.expression : assignmentTarget; var depth = 0; @@ -140398,7 +140985,7 @@ var ts; else { _a = startNestedNodes(binaryExpression, prototypeAccess.expression), depth = _a[0], className = _a[1]; } - if (special === 6 /* Prototype */) { + if (special === 6 /* AssignmentDeclarationKind.Prototype */) { if (ts.isObjectLiteralExpression(binaryExpression.right)) { if (binaryExpression.right.properties.length > 0) { startNode(binaryExpression, className); @@ -140418,10 +141005,10 @@ var ts; endNestedNodes(depth); return; } - case 7 /* ObjectDefinePropertyValue */: - case 9 /* ObjectDefinePrototypeProperty */: { + case 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */: + case 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */: { var defineCall = node; - var className = special === 7 /* ObjectDefinePropertyValue */ ? + var className = special === 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */ ? defineCall.arguments[0] : defineCall.arguments[0].expression; var memberName = defineCall.arguments[1]; @@ -140434,7 +141021,7 @@ var ts; endNestedNodes(depth); return; } - case 5 /* Property */: { + case 5 /* AssignmentDeclarationKind.Property */: { var binaryExpression = node; var assignmentTarget = binaryExpression.left; var targetFunction = assignmentTarget.expression; @@ -140452,9 +141039,9 @@ var ts; } break; } - case 4 /* ThisProperty */: - case 0 /* None */: - case 8 /* ObjectDefinePropertyExports */: + case 4 /* AssignmentDeclarationKind.ThisProperty */: + case 0 /* AssignmentDeclarationKind.None */: + case 8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */: break; default: ts.Debug.assertNever(special); @@ -140510,16 +141097,16 @@ var ts; }); } var isEs5ClassMember = (_a = {}, - _a[5 /* Property */] = true, - _a[3 /* PrototypeProperty */] = true, - _a[7 /* ObjectDefinePropertyValue */] = true, - _a[9 /* ObjectDefinePrototypeProperty */] = true, - _a[0 /* None */] = false, - _a[1 /* ExportsProperty */] = false, - _a[2 /* ModuleExports */] = false, - _a[8 /* ObjectDefinePropertyExports */] = false, - _a[6 /* Prototype */] = true, - _a[4 /* ThisProperty */] = false, + _a[5 /* AssignmentDeclarationKind.Property */] = true, + _a[3 /* AssignmentDeclarationKind.PrototypeProperty */] = true, + _a[7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */] = true, + _a[9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */] = true, + _a[0 /* AssignmentDeclarationKind.None */] = false, + _a[1 /* AssignmentDeclarationKind.ExportsProperty */] = false, + _a[2 /* AssignmentDeclarationKind.ModuleExports */] = false, + _a[8 /* AssignmentDeclarationKind.ObjectDefinePropertyExports */] = false, + _a[6 /* AssignmentDeclarationKind.Prototype */] = true, + _a[4 /* AssignmentDeclarationKind.ThisProperty */] = false, _a); function tryMergeEs5Class(a, b, bIndex, parent) { function isPossibleConstructor(node) { @@ -140527,10 +141114,10 @@ var ts; } var bAssignmentDeclarationKind = ts.isBinaryExpression(b.node) || ts.isCallExpression(b.node) ? ts.getAssignmentDeclarationKind(b.node) : - 0 /* None */; + 0 /* AssignmentDeclarationKind.None */; var aAssignmentDeclarationKind = ts.isBinaryExpression(a.node) || ts.isCallExpression(a.node) ? ts.getAssignmentDeclarationKind(a.node) : - 0 /* None */; + 0 /* AssignmentDeclarationKind.None */; // We treat this as an es5 class and merge the nodes in in one of several cases if ((isEs5ClassMember[bAssignmentDeclarationKind] && isEs5ClassMember[aAssignmentDeclarationKind]) // merge two class elements || (isPossibleConstructor(a.node) && isEs5ClassMember[bAssignmentDeclarationKind]) // ctor function & member @@ -140596,7 +141183,7 @@ var ts; } return true; } - return bAssignmentDeclarationKind === 0 /* None */ ? false : true; + return bAssignmentDeclarationKind === 0 /* AssignmentDeclarationKind.None */ ? false : true; } function tryMerge(a, b, bIndex, parent) { // const v = false as boolean; @@ -140615,12 +141202,12 @@ var ts; return false; } switch (a.kind) { - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return ts.isStatic(a) === ts.isStatic(b); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return areSameModule(a, b) && getFullyQualifiedModuleName(a) === getFullyQualifiedModuleName(b); default: @@ -140628,7 +141215,7 @@ var ts; } } function isSynthesized(node) { - return !!(node.flags & 8 /* Synthesized */); + return !!(node.flags & 8 /* NodeFlags.Synthesized */); } // We want to merge own children like `I` in in `module A { interface I {} } module A { interface I {} }` // We don't want to merge unrelated children like `m` in `const o = { a: { m() {} }, b: { m() {} } };` @@ -140642,7 +141229,7 @@ var ts; if (!a.body || !b.body) { return a.body === b.body; } - return a.body.kind === b.body.kind && (a.body.kind !== 261 /* ModuleDeclaration */ || areSameModule(a.body, b.body)); + return a.body.kind === b.body.kind && (a.body.kind !== 261 /* SyntaxKind.ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ function merge(target, source) { @@ -140672,7 +141259,7 @@ var ts; * So `new()` can still come before an `aardvark` method. */ function tryGetName(node) { - if (node.kind === 261 /* ModuleDeclaration */) { + if (node.kind === 261 /* SyntaxKind.ModuleDeclaration */) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); @@ -140681,53 +141268,53 @@ var ts; return propertyName && ts.unescapeLeadingUnderscores(propertyName); } switch (node.kind) { - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 226 /* ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 226 /* SyntaxKind.ClassExpression */: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node, name) { - if (node.kind === 261 /* ModuleDeclaration */) { + if (node.kind === 261 /* SyntaxKind.ModuleDeclaration */) { return cleanText(getModuleName(node)); } if (name) { var text = ts.isIdentifier(name) ? name.text - : ts.isElementAccessExpression(name) ? "[" + nodeText(name.argumentExpression) + "]" + : ts.isElementAccessExpression(name) ? "[".concat(nodeText(name.argumentExpression), "]") : nodeText(name); if (text.length > 0) { return cleanText(text); } } switch (node.kind) { - case 305 /* SourceFile */: + case 305 /* SyntaxKind.SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) - ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\"" + ? "\"".concat(ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))), "\"") : ""; - case 271 /* ExportAssignment */: - return ts.isExportAssignment(node) && node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */; - case 214 /* ArrowFunction */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - if (ts.getSyntacticModifierFlags(node) & 512 /* Default */) { + case 271 /* SyntaxKind.ExportAssignment */: + return ts.isExportAssignment(node) && node.isExportEquals ? "export=" /* InternalSymbolName.ExportEquals */ : "default" /* InternalSymbolName.Default */; + case 214 /* SyntaxKind.ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + if (ts.getSyntacticModifierFlags(node) & 512 /* ModifierFlags.Default */) { return "default"; } // We may get a string with newlines or other whitespace in the case of an object dereference // (eg: "app\n.onactivated"), so we should remove the whitespace for readability in the // navigation bar. return getFunctionOrClassName(node); - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return "constructor"; - case 175 /* ConstructSignature */: + case 175 /* SyntaxKind.ConstructSignature */: return "new()"; - case 174 /* CallSignature */: + case 174 /* SyntaxKind.CallSignature */: return "()"; - case 176 /* IndexSignature */: + case 176 /* SyntaxKind.IndexSignature */: return "[]"; default: return ""; @@ -140760,19 +141347,19 @@ var ts; } // Some nodes are otherwise important enough to always include in the primary navigation menu. switch (navigationBarNodeKind(item)) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 260 /* EnumDeclaration */: - case 258 /* InterfaceDeclaration */: - case 261 /* ModuleDeclaration */: - case 305 /* SourceFile */: - case 259 /* TypeAliasDeclaration */: - case 345 /* JSDocTypedefTag */: - case 338 /* JSDocCallbackTag */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 305 /* SyntaxKind.SourceFile */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: return true; - case 214 /* ArrowFunction */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: return isTopLevelFunctionDeclaration(item); default: return false; @@ -140782,10 +141369,10 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 262 /* ModuleBlock */: - case 305 /* SourceFile */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: + case 262 /* SyntaxKind.ModuleBlock */: + case 305 /* SyntaxKind.SourceFile */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: return true; default: return false; @@ -140847,7 +141434,7 @@ var ts; function getFullyQualifiedModuleName(moduleDeclaration) { // Otherwise, we need to aggregate each identifier to build up the qualified name. var result = [ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)]; - while (moduleDeclaration.body && moduleDeclaration.body.kind === 261 /* ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 261 /* SyntaxKind.ModuleDeclaration */) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } @@ -140861,13 +141448,13 @@ var ts; return decl.body && ts.isModuleDeclaration(decl.body) ? getInteriorModule(decl.body) : decl; } function isComputedProperty(member) { - return !member.name || member.name.kind === 162 /* ComputedPropertyName */; + return !member.name || member.name.kind === 162 /* SyntaxKind.ComputedPropertyName */; } function getNodeSpan(node) { - return node.kind === 305 /* SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 305 /* SyntaxKind.SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 254 /* VariableDeclaration */) { + if (node.parent && node.parent.kind === 254 /* SyntaxKind.VariableDeclaration */) { node = node.parent; } return ts.getNodeModifiers(node); @@ -140882,7 +141469,7 @@ var ts; return cleanText(ts.declarationNameToString(parent.name)); } // See if it is of the form " = function(){...}". If so, use the text from the left-hand side. - else if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* EqualsToken */) { + else if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { return nodeText(parent.left).replace(whiteSpaceRegex, ""); } // See if it is a property assignment, and if so use the property name @@ -140890,7 +141477,7 @@ var ts; return nodeText(parent.name); } // Default exports are named "default" - else if (ts.getSyntacticModifierFlags(node) & 512 /* Default */) { + else if (ts.getSyntacticModifierFlags(node) & 512 /* ModifierFlags.Default */) { return "default"; } else if (ts.isClassLike(node)) { @@ -140901,10 +141488,10 @@ var ts; if (name !== undefined) { name = cleanText(name); if (name.length > maxLength) { - return name + " callback"; + return "".concat(name, " callback"); } var args = cleanText(ts.mapDefined(parent.arguments, function (a) { return ts.isStringLiteralLike(a) ? a.getText(curSourceFile) : undefined; }).join(", ")); - return name + "(" + args + ") callback"; + return "".concat(name, "(").concat(args, ") callback"); } } return ""; @@ -140917,7 +141504,7 @@ var ts; else if (ts.isPropertyAccessExpression(expr)) { var left = getCalledExpressionName(expr.expression); var right = expr.name.text; - return left === undefined ? right : left + "." + right; + return left === undefined ? right : "".concat(left, ".").concat(right); } else { return undefined; @@ -140925,9 +141512,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { - case 214 /* ArrowFunction */: - case 213 /* FunctionExpression */: - case 226 /* ClassExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 226 /* SyntaxKind.ClassExpression */: return true; default: return false; @@ -141041,7 +141628,7 @@ var ts; var numberOfNewLines = 0; while (scanner.getTokenPos() < endPos) { var tokenKind = scanner.scan(); - if (tokenKind === 4 /* NewLineTrivia */) { + if (tokenKind === 4 /* SyntaxKind.NewLineTrivia */) { numberOfNewLines++; if (numberOfNewLines >= 2) { return true; @@ -141059,7 +141646,7 @@ var ts; var compilerOptions = program.getCompilerOptions(); var jsxNamespace = typeChecker.getJsxNamespace(sourceFile); var jsxFragmentFactory = typeChecker.getJsxFragmentFactory(sourceFile); - var jsxElementsPresent = !!(sourceFile.transformFlags & 2 /* ContainsJsx */); + var jsxElementsPresent = !!(sourceFile.transformFlags & 2 /* TransformFlags.ContainsJsx */); var usedImports = []; for (var _i = 0, oldImports_1 = oldImports; _i < oldImports_1.length; _i++) { var importDecl = oldImports_1[_i]; @@ -141328,11 +141915,11 @@ var ts; function getModuleSpecifierExpression(declaration) { var _a; switch (declaration.kind) { - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return (_a = ts.tryCast(declaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression; - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return declaration.moduleSpecifier; - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return declaration.declarationList.declarations[0].initializer.arguments[0]; } } @@ -141371,19 +141958,19 @@ var ts; function getImportKindOrder(s1) { var _a; switch (s1.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: if (!s1.importClause) return 0; if (s1.importClause.isTypeOnly) return 1; - if (((_a = s1.importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 268 /* NamespaceImport */) + if (((_a = s1.importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 268 /* SyntaxKind.NamespaceImport */) return 2; if (s1.importClause.name) return 3; return 4; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return 5; - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return 6; } } @@ -141436,7 +142023,7 @@ var ts; } var lastImport = current - 1; if (lastImport !== firstImport) { - out.push(createOutliningSpanFromBounds(ts.findChildOfKind(statements[firstImport], 100 /* ImportKeyword */, sourceFile).getStart(sourceFile), statements[lastImport].getEnd(), "imports" /* Imports */)); + out.push(createOutliningSpanFromBounds(ts.findChildOfKind(statements[firstImport], 100 /* SyntaxKind.ImportKeyword */, sourceFile).getStart(sourceFile), statements[lastImport].getEnd(), "imports" /* OutliningSpanKind.Imports */)); } } function visitNonImportNode(n) { @@ -141444,7 +142031,7 @@ var ts; if (depthRemaining === 0) return; cancellationToken.throwIfCancellationRequested(); - if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || ts.isCallOrNewExpression(n) || n.kind === 1 /* EndOfFileToken */) { + if (ts.isDeclaration(n) || ts.isVariableStatement(n) || ts.isReturnStatement(n) || ts.isCallOrNewExpression(n) || n.kind === 1 /* SyntaxKind.EndOfFileToken */) { addOutliningForLeadingCommentsForNode(n, sourceFile, cancellationToken, out); } if (ts.isFunctionLike(n) && ts.isBinaryExpression(n.parent) && ts.isPropertyAccessExpression(n.parent.left)) { @@ -141494,7 +142081,7 @@ var ts; } if (!result[1]) { var span = ts.createTextSpanFromBounds(sourceFile.text.indexOf("//", currentLineStart), lineEnd); - regions.push(createOutliningSpan(span, "region" /* Region */, span, /*autoCollapse*/ false, result[2] || "#region")); + regions.push(createOutliningSpan(span, "region" /* OutliningSpanKind.Region */, span, /*autoCollapse*/ false, result[2] || "#region")); } else { var region = regions.pop(); @@ -141529,7 +142116,7 @@ var ts; var _a = comments_1[_i], kind = _a.kind, pos_1 = _a.pos, end = _a.end; cancellationToken.throwIfCancellationRequested(); switch (kind) { - case 2 /* SingleLineCommentTrivia */: + case 2 /* SyntaxKind.SingleLineCommentTrivia */: // never fold region delimiters into single-line comment regions var commentText = sourceText.slice(pos_1, end); if (isRegionDelimiter(commentText)) { @@ -141545,9 +142132,9 @@ var ts; lastSingleLineCommentEnd = end; singleLineCommentCount++; break; - case 3 /* MultiLineCommentTrivia */: + case 3 /* SyntaxKind.MultiLineCommentTrivia */: combineAndAddMultipleSingleLineComments(); - out.push(createOutliningSpanFromBounds(pos_1, end, "comment" /* Comment */)); + out.push(createOutliningSpanFromBounds(pos_1, end, "comment" /* OutliningSpanKind.Comment */)); singleLineCommentCount = 0; break; default: @@ -141558,7 +142145,7 @@ var ts; function combineAndAddMultipleSingleLineComments() { // Only outline spans of two or more consecutive single line comments if (singleLineCommentCount > 1) { - out.push(createOutliningSpanFromBounds(firstSingleLineCommentStart, lastSingleLineCommentEnd, "comment" /* Comment */)); + out.push(createOutliningSpanFromBounds(firstSingleLineCommentStart, lastSingleLineCommentEnd, "comment" /* OutliningSpanKind.Comment */)); } } } @@ -141572,7 +142159,7 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: if (ts.isFunctionLike(n.parent)) { return functionSpan(n.parent, n, sourceFile); } @@ -141580,23 +142167,23 @@ var ts; // If the latter, we want to collapse the block, but consider its hint span // to be the entire span of the parent. switch (n.parent.kind) { - case 240 /* DoStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 242 /* ForStatement */: - case 239 /* IfStatement */: - case 241 /* WhileStatement */: - case 248 /* WithStatement */: - case 292 /* CatchClause */: + case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 248 /* SyntaxKind.WithStatement */: + case 292 /* SyntaxKind.CatchClause */: return spanForNode(n.parent); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: // Could be the try-block, or the finally-block. var tryStatement = n.parent; if (tryStatement.tryBlock === n) { return spanForNode(n.parent); } else if (tryStatement.finallyBlock === n) { - var node = ts.findChildOfKind(tryStatement, 96 /* FinallyKeyword */, sourceFile); + var node = ts.findChildOfKind(tryStatement, 96 /* SyntaxKind.FinallyKeyword */, sourceFile); if (node) return spanForNode(node); } @@ -141604,52 +142191,52 @@ var ts; default: // Block was a standalone block. In this case we want to only collapse // the span of the block, independent of any parent span. - return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* Code */); + return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* OutliningSpanKind.Code */); } - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: return spanForNode(n.parent); - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 263 /* CaseBlock */: - case 182 /* TypeLiteral */: - case 201 /* ObjectBindingPattern */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.CaseBlock */: + case 182 /* SyntaxKind.TypeLiteral */: + case 201 /* SyntaxKind.ObjectBindingPattern */: return spanForNode(n); - case 184 /* TupleType */: - return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isTupleTypeNode(n.parent), 22 /* OpenBracketToken */); - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 184 /* SyntaxKind.TupleType */: + return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isTupleTypeNode(n.parent), 22 /* SyntaxKind.OpenBracketToken */); + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: return spanForNodeArray(n.statements); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return spanForObjectOrArrayLiteral(n); - case 204 /* ArrayLiteralExpression */: - return spanForObjectOrArrayLiteral(n, 22 /* OpenBracketToken */); - case 278 /* JsxElement */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + return spanForObjectOrArrayLiteral(n, 22 /* SyntaxKind.OpenBracketToken */); + case 278 /* SyntaxKind.JsxElement */: return spanForJSXElement(n); - case 282 /* JsxFragment */: + case 282 /* SyntaxKind.JsxFragment */: return spanForJSXFragment(n); - case 279 /* JsxSelfClosingElement */: - case 280 /* JsxOpeningElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 280 /* SyntaxKind.JsxOpeningElement */: return spanForJSXAttributes(n.attributes); - case 223 /* TemplateExpression */: - case 14 /* NoSubstitutionTemplateLiteral */: + case 223 /* SyntaxKind.TemplateExpression */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return spanForTemplateLiteral(n); - case 202 /* ArrayBindingPattern */: - return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isBindingElement(n.parent), 22 /* OpenBracketToken */); - case 214 /* ArrowFunction */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isBindingElement(n.parent), 22 /* SyntaxKind.OpenBracketToken */); + case 214 /* SyntaxKind.ArrowFunction */: return spanForArrowFunction(n); - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: return spanForCallExpression(n); - case 212 /* ParenthesizedExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return spanForParenthesizedExpression(n); } function spanForCallExpression(node) { if (!node.arguments.length) { return undefined; } - var openToken = ts.findChildOfKind(node, 20 /* OpenParenToken */, sourceFile); - var closeToken = ts.findChildOfKind(node, 21 /* CloseParenToken */, sourceFile); + var openToken = ts.findChildOfKind(node, 20 /* SyntaxKind.OpenParenToken */, sourceFile); + var closeToken = ts.findChildOfKind(node, 21 /* SyntaxKind.CloseParenToken */, sourceFile); if (!openToken || !closeToken || ts.positionsAreOnSameLine(openToken.pos, closeToken.pos, sourceFile)) { return undefined; } @@ -141660,33 +142247,33 @@ var ts; return undefined; } var textSpan = ts.createTextSpanFromBounds(node.body.getFullStart(), node.body.getEnd()); - return createOutliningSpan(textSpan, "code" /* Code */, ts.createTextSpanFromNode(node)); + return createOutliningSpan(textSpan, "code" /* OutliningSpanKind.Code */, ts.createTextSpanFromNode(node)); } function spanForJSXElement(node) { var textSpan = ts.createTextSpanFromBounds(node.openingElement.getStart(sourceFile), node.closingElement.getEnd()); var tagName = node.openingElement.tagName.getText(sourceFile); var bannerText = "<" + tagName + ">..."; - return createOutliningSpan(textSpan, "code" /* Code */, textSpan, /*autoCollapse*/ false, bannerText); + return createOutliningSpan(textSpan, "code" /* OutliningSpanKind.Code */, textSpan, /*autoCollapse*/ false, bannerText); } function spanForJSXFragment(node) { var textSpan = ts.createTextSpanFromBounds(node.openingFragment.getStart(sourceFile), node.closingFragment.getEnd()); var bannerText = "<>..."; - return createOutliningSpan(textSpan, "code" /* Code */, textSpan, /*autoCollapse*/ false, bannerText); + return createOutliningSpan(textSpan, "code" /* OutliningSpanKind.Code */, textSpan, /*autoCollapse*/ false, bannerText); } function spanForJSXAttributes(node) { if (node.properties.length === 0) { return undefined; } - return createOutliningSpanFromBounds(node.getStart(sourceFile), node.getEnd(), "code" /* Code */); + return createOutliningSpanFromBounds(node.getStart(sourceFile), node.getEnd(), "code" /* OutliningSpanKind.Code */); } function spanForTemplateLiteral(node) { - if (node.kind === 14 /* NoSubstitutionTemplateLiteral */ && node.text.length === 0) { + if (node.kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ && node.text.length === 0) { return undefined; } - return createOutliningSpanFromBounds(node.getStart(sourceFile), node.getEnd(), "code" /* Code */); + return createOutliningSpanFromBounds(node.getStart(sourceFile), node.getEnd(), "code" /* OutliningSpanKind.Code */); } function spanForObjectOrArrayLiteral(node, open) { - if (open === void 0) { open = 18 /* OpenBraceToken */; } + if (open === void 0) { open = 18 /* SyntaxKind.OpenBraceToken */; } // If the block has no leading keywords and is inside an array literal or call expression, // we only want to collapse the span of the block. // Otherwise, the collapsed section will include the end of the previous line. @@ -141695,32 +142282,32 @@ var ts; function spanForNode(hintSpanNode, autoCollapse, useFullStart, open, close) { if (autoCollapse === void 0) { autoCollapse = false; } if (useFullStart === void 0) { useFullStart = true; } - if (open === void 0) { open = 18 /* OpenBraceToken */; } - if (close === void 0) { close = open === 18 /* OpenBraceToken */ ? 19 /* CloseBraceToken */ : 23 /* CloseBracketToken */; } + if (open === void 0) { open = 18 /* SyntaxKind.OpenBraceToken */; } + if (close === void 0) { close = open === 18 /* SyntaxKind.OpenBraceToken */ ? 19 /* SyntaxKind.CloseBraceToken */ : 23 /* SyntaxKind.CloseBracketToken */; } var openToken = ts.findChildOfKind(n, open, sourceFile); var closeToken = ts.findChildOfKind(n, close, sourceFile); return openToken && closeToken && spanBetweenTokens(openToken, closeToken, hintSpanNode, sourceFile, autoCollapse, useFullStart); } function spanForNodeArray(nodeArray) { - return nodeArray.length ? createOutliningSpan(ts.createTextSpanFromRange(nodeArray), "code" /* Code */) : undefined; + return nodeArray.length ? createOutliningSpan(ts.createTextSpanFromRange(nodeArray), "code" /* OutliningSpanKind.Code */) : undefined; } function spanForParenthesizedExpression(node) { if (ts.positionsAreOnSameLine(node.getStart(), node.getEnd(), sourceFile)) return undefined; var textSpan = ts.createTextSpanFromBounds(node.getStart(), node.getEnd()); - return createOutliningSpan(textSpan, "code" /* Code */, ts.createTextSpanFromNode(node)); + return createOutliningSpan(textSpan, "code" /* OutliningSpanKind.Code */, ts.createTextSpanFromNode(node)); } } function functionSpan(node, body, sourceFile) { var openToken = tryGetFunctionOpenToken(node, body, sourceFile); - var closeToken = ts.findChildOfKind(body, 19 /* CloseBraceToken */, sourceFile); - return openToken && closeToken && spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ node.kind !== 214 /* ArrowFunction */); + var closeToken = ts.findChildOfKind(body, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); + return openToken && closeToken && spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ node.kind !== 214 /* SyntaxKind.ArrowFunction */); } function spanBetweenTokens(openToken, closeToken, hintSpanNode, sourceFile, autoCollapse, useFullStart) { if (autoCollapse === void 0) { autoCollapse = false; } if (useFullStart === void 0) { useFullStart = true; } var textSpan = ts.createTextSpanFromBounds(useFullStart ? openToken.getFullStart() : openToken.getStart(sourceFile), closeToken.getEnd()); - return createOutliningSpan(textSpan, "code" /* Code */, ts.createTextSpanFromNode(hintSpanNode, sourceFile), autoCollapse); + return createOutliningSpan(textSpan, "code" /* OutliningSpanKind.Code */, ts.createTextSpanFromNode(hintSpanNode, sourceFile), autoCollapse); } function createOutliningSpan(textSpan, kind, hintSpan, autoCollapse, bannerText) { if (hintSpan === void 0) { hintSpan = textSpan; } @@ -141730,12 +142317,12 @@ var ts; } function tryGetFunctionOpenToken(node, body, sourceFile) { if (ts.isNodeArrayMultiLine(node.parameters, sourceFile)) { - var openParenToken = ts.findChildOfKind(node, 20 /* OpenParenToken */, sourceFile); + var openParenToken = ts.findChildOfKind(node, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (openParenToken) { return openParenToken; } } - return ts.findChildOfKind(body, 18 /* OpenBraceToken */, sourceFile); + return ts.findChildOfKind(body, 18 /* SyntaxKind.OpenBraceToken */, sourceFile); } })(OutliningElementsCollector = ts.OutliningElementsCollector || (ts.OutliningElementsCollector = {})); })(ts || (ts = {})); @@ -141861,7 +142448,7 @@ var ts; // // Note: if the segment contains a space or an asterisk then we must assume that it's a // multi-word segment. - if (every(segment.totalTextChunk.text, function (ch) { return ch !== 32 /* space */ && ch !== 42 /* asterisk */; })) { + if (every(segment.totalTextChunk.text, function (ch) { return ch !== 32 /* CharacterCodes.space */ && ch !== 42 /* CharacterCodes.asterisk */; })) { var match = matchTextChunk(candidate, segment.totalTextChunk, stringToWordSpans); if (match) return match; @@ -141913,7 +142500,7 @@ var ts; return ts.min(a, b, compareMatches); } function compareMatches(a, b) { - return a === undefined ? 1 /* GreaterThan */ : b === undefined ? -1 /* LessThan */ + return a === undefined ? 1 /* Comparison.GreaterThan */ : b === undefined ? -1 /* Comparison.LessThan */ : ts.compareValues(a.kind, b.kind) || ts.compareBooleans(!a.isCaseSensitive, !b.isCaseSensitive); } function partStartsWith(candidate, candidateSpan, pattern, ignoreCase, patternSpan) { @@ -141990,10 +142577,10 @@ var ts; } function isUpperCaseLetter(ch) { // Fast check for the ascii range. - if (ch >= 65 /* A */ && ch <= 90 /* Z */) { + if (ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */) { return true; } - if (ch < 127 /* maxAsciiCharacter */ || !ts.isUnicodeIdentifierStart(ch, 99 /* Latest */)) { + if (ch < 127 /* CharacterCodes.maxAsciiCharacter */ || !ts.isUnicodeIdentifierStart(ch, 99 /* ScriptTarget.Latest */)) { return false; } // TODO: find a way to determine this for any unicode characters in a @@ -142003,10 +142590,10 @@ var ts; } function isLowerCaseLetter(ch) { // Fast check for the ascii range. - if (ch >= 97 /* a */ && ch <= 122 /* z */) { + if (ch >= 97 /* CharacterCodes.a */ && ch <= 122 /* CharacterCodes.z */) { return true; } - if (ch < 127 /* maxAsciiCharacter */ || !ts.isUnicodeIdentifierStart(ch, 99 /* Latest */)) { + if (ch < 127 /* CharacterCodes.maxAsciiCharacter */ || !ts.isUnicodeIdentifierStart(ch, 99 /* ScriptTarget.Latest */)) { return false; } // TODO: find a way to determine this for any unicode characters in a @@ -142031,10 +142618,10 @@ var ts; } function toLowerCase(ch) { // Fast convert for the ascii range. - if (ch >= 65 /* A */ && ch <= 90 /* Z */) { - return 97 /* a */ + (ch - 65 /* A */); + if (ch >= 65 /* CharacterCodes.A */ && ch <= 90 /* CharacterCodes.Z */) { + return 97 /* CharacterCodes.a */ + (ch - 65 /* CharacterCodes.A */); } - if (ch < 127 /* maxAsciiCharacter */) { + if (ch < 127 /* CharacterCodes.maxAsciiCharacter */) { return ch; } // TODO: find a way to compute this for any unicode characters in a @@ -142043,10 +142630,10 @@ var ts; } function isDigit(ch) { // TODO(cyrusn): Find a way to support this for unicode digits. - return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; + return ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */; } function isWordChar(ch) { - return isUpperCaseLetter(ch) || isLowerCaseLetter(ch) || isDigit(ch) || ch === 95 /* _ */ || ch === 36 /* $ */; + return isUpperCaseLetter(ch) || isLowerCaseLetter(ch) || isDigit(ch) || ch === 95 /* CharacterCodes._ */ || ch === 36 /* CharacterCodes.$ */; } function breakPatternIntoTextChunks(pattern) { var result = []; @@ -142115,35 +142702,35 @@ var ts; } function charIsPunctuation(ch) { switch (ch) { - case 33 /* exclamation */: - case 34 /* doubleQuote */: - case 35 /* hash */: - case 37 /* percent */: - case 38 /* ampersand */: - case 39 /* singleQuote */: - case 40 /* openParen */: - case 41 /* closeParen */: - case 42 /* asterisk */: - case 44 /* comma */: - case 45 /* minus */: - case 46 /* dot */: - case 47 /* slash */: - case 58 /* colon */: - case 59 /* semicolon */: - case 63 /* question */: - case 64 /* at */: - case 91 /* openBracket */: - case 92 /* backslash */: - case 93 /* closeBracket */: - case 95 /* _ */: - case 123 /* openBrace */: - case 125 /* closeBrace */: + case 33 /* CharacterCodes.exclamation */: + case 34 /* CharacterCodes.doubleQuote */: + case 35 /* CharacterCodes.hash */: + case 37 /* CharacterCodes.percent */: + case 38 /* CharacterCodes.ampersand */: + case 39 /* CharacterCodes.singleQuote */: + case 40 /* CharacterCodes.openParen */: + case 41 /* CharacterCodes.closeParen */: + case 42 /* CharacterCodes.asterisk */: + case 44 /* CharacterCodes.comma */: + case 45 /* CharacterCodes.minus */: + case 46 /* CharacterCodes.dot */: + case 47 /* CharacterCodes.slash */: + case 58 /* CharacterCodes.colon */: + case 59 /* CharacterCodes.semicolon */: + case 63 /* CharacterCodes.question */: + case 64 /* CharacterCodes.at */: + case 91 /* CharacterCodes.openBracket */: + case 92 /* CharacterCodes.backslash */: + case 93 /* CharacterCodes.closeBracket */: + case 95 /* CharacterCodes._ */: + case 123 /* CharacterCodes.openBrace */: + case 125 /* CharacterCodes.closeBrace */: return true; } return false; } function isAllPunctuation(identifier, start, end) { - return every(identifier, function (ch) { return charIsPunctuation(ch) && ch !== 95 /* _ */; }, start, end); + return every(identifier, function (ch) { return charIsPunctuation(ch) && ch !== 95 /* CharacterCodes._ */; }, start, end); } function transitionFromUpperToLower(identifier, index, wordStart) { // Cases this supports: @@ -142204,7 +142791,7 @@ var ts; if (readImportFiles === void 0) { readImportFiles = true; } if (detectJavaScriptImports === void 0) { detectJavaScriptImports = false; } var pragmaContext = { - languageVersion: 1 /* ES5 */, + languageVersion: 1 /* ScriptTarget.ES5 */, pragmas: undefined, checkJsDirective: undefined, referencedFiles: [], @@ -142225,10 +142812,10 @@ var ts; function nextToken() { lastToken = currentToken; currentToken = ts.scanner.scan(); - if (currentToken === 18 /* OpenBraceToken */) { + if (currentToken === 18 /* SyntaxKind.OpenBraceToken */) { braceNesting++; } - else if (currentToken === 19 /* CloseBraceToken */) { + else if (currentToken === 19 /* SyntaxKind.CloseBraceToken */) { braceNesting--; } return currentToken; @@ -142258,12 +142845,12 @@ var ts; */ function tryConsumeDeclare() { var token = ts.scanner.getToken(); - if (token === 135 /* DeclareKeyword */) { + if (token === 135 /* SyntaxKind.DeclareKeyword */) { // declare module "mod" token = nextToken(); - if (token === 141 /* ModuleKeyword */) { + if (token === 141 /* SyntaxKind.ModuleKeyword */) { token = nextToken(); - if (token === 10 /* StringLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */) { recordAmbientExternalModule(); } } @@ -142275,54 +142862,54 @@ var ts; * Returns true if at least one token was consumed from the stream */ function tryConsumeImport() { - if (lastToken === 24 /* DotToken */) { + if (lastToken === 24 /* SyntaxKind.DotToken */) { return false; } var token = ts.scanner.getToken(); - if (token === 100 /* ImportKeyword */) { + if (token === 100 /* SyntaxKind.ImportKeyword */) { token = nextToken(); - if (token === 20 /* OpenParenToken */) { + if (token === 20 /* SyntaxKind.OpenParenToken */) { token = nextToken(); - if (token === 10 /* StringLiteral */ || token === 14 /* NoSubstitutionTemplateLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */ || token === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */) { // import("mod"); recordModuleName(); return true; } } - else if (token === 10 /* StringLiteral */) { + else if (token === 10 /* SyntaxKind.StringLiteral */) { // import "mod"; recordModuleName(); return true; } else { - if (token === 152 /* TypeKeyword */) { + if (token === 152 /* SyntaxKind.TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); - return token !== 156 /* FromKeyword */ && (token === 41 /* AsteriskToken */ || - token === 18 /* OpenBraceToken */ || - token === 79 /* Identifier */ || + return token !== 156 /* SyntaxKind.FromKeyword */ && (token === 41 /* SyntaxKind.AsteriskToken */ || + token === 18 /* SyntaxKind.OpenBraceToken */ || + token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)); }); if (skipTypeKeyword) { token = nextToken(); } } - if (token === 79 /* Identifier */ || ts.isKeyword(token)) { + if (token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 156 /* FromKeyword */) { + if (token === 156 /* SyntaxKind.FromKeyword */) { token = nextToken(); - if (token === 10 /* StringLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */) { // import d from "mod"; recordModuleName(); return true; } } - else if (token === 63 /* EqualsToken */) { + else if (token === 63 /* SyntaxKind.EqualsToken */) { if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { return true; } } - else if (token === 27 /* CommaToken */) { + else if (token === 27 /* SyntaxKind.CommaToken */) { // consume comma and keep going token = nextToken(); } @@ -142331,18 +142918,18 @@ var ts; return true; } } - if (token === 18 /* OpenBraceToken */) { + if (token === 18 /* SyntaxKind.OpenBraceToken */) { token = nextToken(); // consume "{ a as B, c, d as D}" clauses // make sure that it stops on EOF - while (token !== 19 /* CloseBraceToken */ && token !== 1 /* EndOfFileToken */) { + while (token !== 19 /* SyntaxKind.CloseBraceToken */ && token !== 1 /* SyntaxKind.EndOfFileToken */) { token = nextToken(); } - if (token === 19 /* CloseBraceToken */) { + if (token === 19 /* SyntaxKind.CloseBraceToken */) { token = nextToken(); - if (token === 156 /* FromKeyword */) { + if (token === 156 /* SyntaxKind.FromKeyword */) { token = nextToken(); - if (token === 10 /* StringLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */) { // import {a as A} from "mod"; // import d, {a, b as B} from "mod" recordModuleName(); @@ -142350,15 +142937,15 @@ var ts; } } } - else if (token === 41 /* AsteriskToken */) { + else if (token === 41 /* SyntaxKind.AsteriskToken */) { token = nextToken(); - if (token === 127 /* AsKeyword */) { + if (token === 127 /* SyntaxKind.AsKeyword */) { token = nextToken(); - if (token === 79 /* Identifier */ || ts.isKeyword(token)) { + if (token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 156 /* FromKeyword */) { + if (token === 156 /* SyntaxKind.FromKeyword */) { token = nextToken(); - if (token === 10 /* StringLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */) { // import * as NS from "mod" // import d, * as NS from "mod" recordModuleName(); @@ -142374,31 +142961,31 @@ var ts; } function tryConsumeExport() { var token = ts.scanner.getToken(); - if (token === 93 /* ExportKeyword */) { + if (token === 93 /* SyntaxKind.ExportKeyword */) { markAsExternalModuleIfTopLevel(); token = nextToken(); - if (token === 152 /* TypeKeyword */) { + if (token === 152 /* SyntaxKind.TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); - return token === 41 /* AsteriskToken */ || - token === 18 /* OpenBraceToken */; + return token === 41 /* SyntaxKind.AsteriskToken */ || + token === 18 /* SyntaxKind.OpenBraceToken */; }); if (skipTypeKeyword) { token = nextToken(); } } - if (token === 18 /* OpenBraceToken */) { + if (token === 18 /* SyntaxKind.OpenBraceToken */) { token = nextToken(); // consume "{ a as B, c, d as D}" clauses // make sure it stops on EOF - while (token !== 19 /* CloseBraceToken */ && token !== 1 /* EndOfFileToken */) { + while (token !== 19 /* SyntaxKind.CloseBraceToken */ && token !== 1 /* SyntaxKind.EndOfFileToken */) { token = nextToken(); } - if (token === 19 /* CloseBraceToken */) { + if (token === 19 /* SyntaxKind.CloseBraceToken */) { token = nextToken(); - if (token === 156 /* FromKeyword */) { + if (token === 156 /* SyntaxKind.FromKeyword */) { token = nextToken(); - if (token === 10 /* StringLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */) { // export {a as A} from "mod"; // export {a, b as B} from "mod" recordModuleName(); @@ -142406,31 +142993,31 @@ var ts; } } } - else if (token === 41 /* AsteriskToken */) { + else if (token === 41 /* SyntaxKind.AsteriskToken */) { token = nextToken(); - if (token === 156 /* FromKeyword */) { + if (token === 156 /* SyntaxKind.FromKeyword */) { token = nextToken(); - if (token === 10 /* StringLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */) { // export * from "mod" recordModuleName(); } } } - else if (token === 100 /* ImportKeyword */) { + else if (token === 100 /* SyntaxKind.ImportKeyword */) { token = nextToken(); - if (token === 152 /* TypeKeyword */) { + if (token === 152 /* SyntaxKind.TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); - return token === 79 /* Identifier */ || + return token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token); }); if (skipTypeKeyword) { token = nextToken(); } } - if (token === 79 /* Identifier */ || ts.isKeyword(token)) { + if (token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 63 /* EqualsToken */) { + if (token === 63 /* SyntaxKind.EqualsToken */) { if (tryConsumeRequireCall(/*skipCurrentToken*/ true)) { return true; } @@ -142444,12 +143031,12 @@ var ts; function tryConsumeRequireCall(skipCurrentToken, allowTemplateLiterals) { if (allowTemplateLiterals === void 0) { allowTemplateLiterals = false; } var token = skipCurrentToken ? nextToken() : ts.scanner.getToken(); - if (token === 146 /* RequireKeyword */) { + if (token === 146 /* SyntaxKind.RequireKeyword */) { token = nextToken(); - if (token === 20 /* OpenParenToken */) { + if (token === 20 /* SyntaxKind.OpenParenToken */) { token = nextToken(); - if (token === 10 /* StringLiteral */ || - allowTemplateLiterals && token === 14 /* NoSubstitutionTemplateLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */ || + allowTemplateLiterals && token === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */) { // require("mod"); recordModuleName(); } @@ -142460,16 +143047,16 @@ var ts; } function tryConsumeDefine() { var token = ts.scanner.getToken(); - if (token === 79 /* Identifier */ && ts.scanner.getTokenValue() === "define") { + if (token === 79 /* SyntaxKind.Identifier */ && ts.scanner.getTokenValue() === "define") { token = nextToken(); - if (token !== 20 /* OpenParenToken */) { + if (token !== 20 /* SyntaxKind.OpenParenToken */) { return true; } token = nextToken(); - if (token === 10 /* StringLiteral */ || token === 14 /* NoSubstitutionTemplateLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */ || token === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */) { // looks like define ("modname", ... - skip string literal and comma token = nextToken(); - if (token === 27 /* CommaToken */) { + if (token === 27 /* SyntaxKind.CommaToken */) { token = nextToken(); } else { @@ -142478,15 +143065,15 @@ var ts; } } // should be start of dependency list - if (token !== 22 /* OpenBracketToken */) { + if (token !== 22 /* SyntaxKind.OpenBracketToken */) { return true; } // skip open bracket token = nextToken(); // scan until ']' or EOF - while (token !== 23 /* CloseBracketToken */ && token !== 1 /* EndOfFileToken */) { + while (token !== 23 /* SyntaxKind.CloseBracketToken */ && token !== 1 /* SyntaxKind.EndOfFileToken */) { // record string literals as module names - if (token === 10 /* StringLiteral */ || token === 14 /* NoSubstitutionTemplateLiteral */) { + if (token === 10 /* SyntaxKind.StringLiteral */ || token === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */) { recordModuleName(); } token = nextToken(); @@ -142514,31 +143101,31 @@ var ts; // AnySymbol.import("mod") // AnySymbol.nested.import("mod") while (true) { - if (ts.scanner.getToken() === 1 /* EndOfFileToken */) { + if (ts.scanner.getToken() === 1 /* SyntaxKind.EndOfFileToken */) { break; } - if (ts.scanner.getToken() === 15 /* TemplateHead */) { + if (ts.scanner.getToken() === 15 /* SyntaxKind.TemplateHead */) { var stack = [ts.scanner.getToken()]; var token = ts.scanner.scan(); loop: while (ts.length(stack)) { switch (token) { - case 1 /* EndOfFileToken */: + case 1 /* SyntaxKind.EndOfFileToken */: break loop; - case 100 /* ImportKeyword */: + case 100 /* SyntaxKind.ImportKeyword */: tryConsumeImport(); break; - case 15 /* TemplateHead */: + case 15 /* SyntaxKind.TemplateHead */: stack.push(token); break; - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: if (ts.length(stack)) { stack.push(token); } break; - case 19 /* CloseBraceToken */: + case 19 /* SyntaxKind.CloseBraceToken */: if (ts.length(stack)) { - if (ts.lastOrUndefined(stack) === 15 /* TemplateHead */) { - if (ts.scanner.reScanTemplateToken(/* isTaggedTemplate */ false) === 17 /* TemplateTail */) { + if (ts.lastOrUndefined(stack) === 15 /* SyntaxKind.TemplateHead */) { + if (ts.scanner.reScanTemplateToken(/* isTaggedTemplate */ false) === 17 /* SyntaxKind.TemplateTail */) { stack.pop(); } } @@ -142625,13 +143212,13 @@ var ts; if (!symbol) { if (ts.isStringLiteralLike(node)) { var type = ts.getContextualTypeFromParentOrAncestorTypeNode(node, typeChecker); - if (type && ((type.flags & 128 /* StringLiteral */) || ((type.flags & 1048576 /* Union */) && ts.every(type.types, function (type) { return !!(type.flags & 128 /* StringLiteral */); })))) { - return getRenameInfoSuccess(node.text, node.text, "string" /* string */, "", node, sourceFile); + if (type && ((type.flags & 128 /* TypeFlags.StringLiteral */) || ((type.flags & 1048576 /* TypeFlags.Union */) && ts.every(type.types, function (type) { return !!(type.flags & 128 /* TypeFlags.StringLiteral */); })))) { + return getRenameInfoSuccess(node.text, node.text, "string" /* ScriptElementKind.string */, "", node, sourceFile); } } else if (ts.isLabelName(node)) { var name = ts.getTextOfNode(node); - return getRenameInfoSuccess(name, name, "label" /* label */, "" /* none */, node, sourceFile); + return getRenameInfoSuccess(name, name, "label" /* ScriptElementKind.label */, "" /* ScriptElementKindModifier.none */, node, sourceFile); } return undefined; } @@ -142644,14 +143231,14 @@ var ts; return getRenameInfoError(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library); } // Cannot rename `default` as in `import { default as foo } from "./someModule"; - if (ts.isIdentifier(node) && node.originalKeywordKind === 88 /* DefaultKeyword */ && symbol.parent && symbol.parent.flags & 1536 /* Module */) { + if (ts.isIdentifier(node) && node.originalKeywordKind === 88 /* SyntaxKind.DefaultKeyword */ && symbol.parent && symbol.parent.flags & 1536 /* SymbolFlags.Module */) { return undefined; } if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) { return options && options.allowRenameOfImportPath ? getRenameInfoForModule(node, sourceFile, symbol) : undefined; } var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 162 /* ComputedPropertyName */) + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) : undefined; var displayName = specifierName || typeChecker.symbolToString(symbol); @@ -142660,7 +143247,7 @@ var ts; } function isDefinedInLibraryFile(program, declaration) { var sourceFile = declaration.getSourceFile(); - return program.isSourceFileDefaultLibrary(sourceFile) && ts.fileExtensionIs(sourceFile.fileName, ".d.ts" /* Dts */); + return program.isSourceFileDefaultLibrary(sourceFile) && ts.fileExtensionIs(sourceFile.fileName, ".d.ts" /* Extension.Dts */); } function getRenameInfoForModule(node, sourceFile, moduleSymbol) { if (!ts.isExternalModuleNameRelative(node.text)) { @@ -142671,7 +143258,7 @@ var ts; return undefined; var withoutIndex = ts.endsWith(node.text, "/index") || ts.endsWith(node.text, "/index.js") ? undefined : ts.tryRemoveSuffix(ts.removeFileExtension(moduleSourceFile.fileName), "/index"); var name = withoutIndex === undefined ? moduleSourceFile.fileName : withoutIndex; - var kind = withoutIndex === undefined ? "module" /* moduleElement */ : "directory" /* directory */; + var kind = withoutIndex === undefined ? "module" /* ScriptElementKind.moduleElement */ : "directory" /* ScriptElementKind.directory */; var indexAfterLastSlash = node.text.lastIndexOf("/") + 1; // Span should only be the last component of the path. + 1 to account for the quote character. var triggerSpan = ts.createTextSpan(node.getStart(sourceFile) + 1 + indexAfterLastSlash, node.text.length - indexAfterLastSlash); @@ -142681,7 +143268,7 @@ var ts; kind: kind, displayName: name, fullDisplayName: name, - kindModifiers: "" /* none */, + kindModifiers: "" /* ScriptElementKindModifier.none */, triggerSpan: triggerSpan, }; } @@ -142711,13 +143298,13 @@ var ts; } function nodeIsEligibleForRename(node) { switch (node.kind) { - case 79 /* Identifier */: - case 80 /* PrivateIdentifier */: - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 108 /* ThisKeyword */: + case 79 /* SyntaxKind.Identifier */: + case 80 /* SyntaxKind.PrivateIdentifier */: + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 108 /* SyntaxKind.ThisKeyword */: return true; - case 8 /* NumericLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: return ts.isLiteralNameOfPropertyDeclarationOrIndexAccess(node); default: return false; @@ -142749,7 +143336,7 @@ var ts; break outer; } var comment = ts.singleOrUndefined(ts.getTrailingCommentRanges(sourceFile.text, node.end)); - if (comment && comment.kind === 2 /* SingleLineCommentTrivia */) { + if (comment && comment.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */) { pushSelectionCommentRange(comment.pos, comment.end); } if (positionShouldSnapToNode(sourceFile, pos, node)) { @@ -142817,7 +143404,7 @@ var ts; function pushSelectionCommentRange(start, end) { pushSelectionRange(start, end); var pos = start; - while (sourceFile.text.charCodeAt(pos) === 47 /* slash */) { + while (sourceFile.text.charCodeAt(pos) === 47 /* CharacterCodes.slash */) { pos++; } pushSelectionRange(pos, end); @@ -142874,26 +143461,26 @@ var ts; if (ts.isMappedTypeNode(node)) { var _a = node.getChildren(), openBraceToken = _a[0], children = _a.slice(1); var closeBraceToken = ts.Debug.checkDefined(children.pop()); - ts.Debug.assertEqual(openBraceToken.kind, 18 /* OpenBraceToken */); - ts.Debug.assertEqual(closeBraceToken.kind, 19 /* CloseBraceToken */); + ts.Debug.assertEqual(openBraceToken.kind, 18 /* SyntaxKind.OpenBraceToken */); + ts.Debug.assertEqual(closeBraceToken.kind, 19 /* SyntaxKind.CloseBraceToken */); // Group `-/+readonly` and `-/+?` var groupedWithPlusMinusTokens = groupChildren(children, function (child) { - return child === node.readonlyToken || child.kind === 145 /* ReadonlyKeyword */ || - child === node.questionToken || child.kind === 57 /* QuestionToken */; + return child === node.readonlyToken || child.kind === 145 /* SyntaxKind.ReadonlyKeyword */ || + child === node.questionToken || child.kind === 57 /* SyntaxKind.QuestionToken */; }); // Group type parameter with surrounding brackets var groupedWithBrackets = groupChildren(groupedWithPlusMinusTokens, function (_a) { var kind = _a.kind; - return kind === 22 /* OpenBracketToken */ || - kind === 163 /* TypeParameter */ || - kind === 23 /* CloseBracketToken */; + return kind === 22 /* SyntaxKind.OpenBracketToken */ || + kind === 163 /* SyntaxKind.TypeParameter */ || + kind === 23 /* SyntaxKind.CloseBracketToken */; }); return [ openBraceToken, // Pivot on `:` createSyntaxList(splitChildren(groupedWithBrackets, function (_a) { var kind = _a.kind; - return kind === 58 /* ColonToken */; + return kind === 58 /* SyntaxKind.ColonToken */; })), closeBraceToken, ]; @@ -142905,7 +143492,7 @@ var ts; }); return splitChildren(children, function (_a) { var kind = _a.kind; - return kind === 58 /* ColonToken */; + return kind === 58 /* SyntaxKind.ColonToken */; }); } // Group the parameter name with its `...`, then that group with its `?`, then pivot on `=`. @@ -142918,14 +143505,14 @@ var ts; }); return splitChildren(groupedWithQuestionToken, function (_a) { var kind = _a.kind; - return kind === 63 /* EqualsToken */; + return kind === 63 /* SyntaxKind.EqualsToken */; }); } // Pivot on '=' if (ts.isBindingElement(node)) { return splitChildren(node.getChildren(), function (_a) { var kind = _a.kind; - return kind === 63 /* EqualsToken */; + return kind === 63 /* SyntaxKind.EqualsToken */; }); } return node.getChildren(); @@ -142981,7 +143568,7 @@ var ts; var leftChildren = children.slice(0, splitTokenIndex); var splitToken = children[splitTokenIndex]; var lastToken = ts.last(children); - var separateLastToken = separateTrailingSemicolon && lastToken.kind === 26 /* SemicolonToken */; + var separateLastToken = separateTrailingSemicolon && lastToken.kind === 26 /* SyntaxKind.SemicolonToken */; var rightChildren = children.slice(splitTokenIndex + 1, separateLastToken ? children.length - 1 : undefined); var result = ts.compact([ leftChildren.length ? createSyntaxList(leftChildren) : undefined, @@ -142996,25 +143583,25 @@ var ts; } function isListOpener(token) { var kind = token && token.kind; - return kind === 18 /* OpenBraceToken */ - || kind === 22 /* OpenBracketToken */ - || kind === 20 /* OpenParenToken */ - || kind === 280 /* JsxOpeningElement */; + return kind === 18 /* SyntaxKind.OpenBraceToken */ + || kind === 22 /* SyntaxKind.OpenBracketToken */ + || kind === 20 /* SyntaxKind.OpenParenToken */ + || kind === 280 /* SyntaxKind.JsxOpeningElement */; } function isListCloser(token) { var kind = token && token.kind; - return kind === 19 /* CloseBraceToken */ - || kind === 23 /* CloseBracketToken */ - || kind === 21 /* CloseParenToken */ - || kind === 281 /* JsxClosingElement */; + return kind === 19 /* SyntaxKind.CloseBraceToken */ + || kind === 23 /* SyntaxKind.CloseBracketToken */ + || kind === 21 /* SyntaxKind.CloseParenToken */ + || kind === 281 /* SyntaxKind.JsxClosingElement */; } function getEndPos(sourceFile, node) { switch (node.kind) { - case 340 /* JSDocParameterTag */: - case 338 /* JSDocCallbackTag */: - case 347 /* JSDocPropertyTag */: - case 345 /* JSDocTypedefTag */: - case 342 /* JSDocThisTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: + case 338 /* SyntaxKind.JSDocCallbackTag */: + case 347 /* SyntaxKind.JSDocPropertyTag */: + case 345 /* SyntaxKind.JSDocTypedefTag */: + case 342 /* SyntaxKind.JSDocThisTag */: return sourceFile.getLineEndOfPosition(node.getStart()); default: return node.getEnd(); @@ -143061,7 +143648,7 @@ var ts; return ts.isSourceFileJS(sourceFile) ? createJSSignatureHelpItems(argumentInfo, program, cancellationToken) : undefined; } return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { - return candidateInfo.kind === 0 /* Candidate */ + return candidateInfo.kind === 0 /* CandidateOrTypeKind.Candidate */ ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker); }); @@ -143075,27 +143662,27 @@ var ts; function getCandidateOrTypeInfo(_a, checker, sourceFile, startingToken, onlyUseSyntacticOwners) { var invocation = _a.invocation, argumentCount = _a.argumentCount; switch (invocation.kind) { - case 0 /* Call */: { + case 0 /* InvocationKind.Call */: { if (onlyUseSyntacticOwners && !isSyntacticOwner(startingToken, invocation.node, sourceFile)) { return undefined; } var candidates = []; var resolvedSignature = checker.getResolvedSignatureForSignatureHelp(invocation.node, candidates, argumentCount); // TODO: GH#18217 - return candidates.length === 0 ? undefined : { kind: 0 /* Candidate */, candidates: candidates, resolvedSignature: resolvedSignature }; + return candidates.length === 0 ? undefined : { kind: 0 /* CandidateOrTypeKind.Candidate */, candidates: candidates, resolvedSignature: resolvedSignature }; } - case 1 /* TypeArgs */: { + case 1 /* InvocationKind.TypeArgs */: { var called = invocation.called; if (onlyUseSyntacticOwners && !containsPrecedingToken(startingToken, sourceFile, ts.isIdentifier(called) ? called.parent : called)) { return undefined; } var candidates = ts.getPossibleGenericSignatures(called, argumentCount, checker); if (candidates.length !== 0) - return { kind: 0 /* Candidate */, candidates: candidates, resolvedSignature: ts.first(candidates) }; + return { kind: 0 /* CandidateOrTypeKind.Candidate */, candidates: candidates, resolvedSignature: ts.first(candidates) }; var symbol = checker.getSymbolAtLocation(called); - return symbol && { kind: 1 /* Type */, symbol: symbol }; + return symbol && { kind: 1 /* CandidateOrTypeKind.Type */, symbol: symbol }; } - case 2 /* Contextual */: - return { kind: 0 /* Candidate */, candidates: [invocation.signature], resolvedSignature: invocation.signature }; + case 2 /* InvocationKind.Contextual */: + return { kind: 0 /* CandidateOrTypeKind.Candidate */, candidates: [invocation.signature], resolvedSignature: invocation.signature }; default: return ts.Debug.assertNever(invocation); } @@ -143105,20 +143692,20 @@ var ts; return false; var invocationChildren = node.getChildren(sourceFile); switch (startingToken.kind) { - case 20 /* OpenParenToken */: + case 20 /* SyntaxKind.OpenParenToken */: return ts.contains(invocationChildren, startingToken); - case 27 /* CommaToken */: { + case 27 /* SyntaxKind.CommaToken */: { var containingList = ts.findContainingList(startingToken); return !!containingList && ts.contains(invocationChildren, containingList); } - case 29 /* LessThanToken */: + case 29 /* SyntaxKind.LessThanToken */: return containsPrecedingToken(startingToken, sourceFile, node.expression); default: return false; } } function createJSSignatureHelpItems(argumentInfo, program, cancellationToken) { - if (argumentInfo.invocation.kind === 2 /* Contextual */) + if (argumentInfo.invocation.kind === 2 /* InvocationKind.Contextual */) return undefined; // See if we can find some symbol with the call expression name that has call signatures. var expression = getExpressionFromInvocation(argumentInfo.invocation); @@ -143154,7 +143741,7 @@ var ts; } function getArgumentInfoForCompletions(node, position, sourceFile) { var info = getImmediatelyContainingArgumentInfo(node, position, sourceFile); - return !info || info.isTypeParameterList || info.invocation.kind !== 0 /* Call */ ? undefined + return !info || info.isTypeParameterList || info.invocation.kind !== 0 /* InvocationKind.Call */ ? undefined : { invocation: info.invocation.node, argumentCount: info.argumentCount, argumentIndex: info.argumentIndex }; } SignatureHelp.getArgumentInfoForCompletions = getArgumentInfoForCompletions; @@ -143171,7 +143758,7 @@ var ts; return { list: list, argumentIndex: argumentIndex, argumentCount: argumentCount, argumentsSpan: argumentsSpan }; } function getArgumentOrParameterListAndIndex(node, sourceFile) { - if (node.kind === 29 /* LessThanToken */ || node.kind === 20 /* OpenParenToken */) { + if (node.kind === 29 /* SyntaxKind.LessThanToken */ || node.kind === 20 /* SyntaxKind.OpenParenToken */) { // Find the list that starts right *after* the < or ( token. // If the user has just opened a list, consider this item 0. return { list: getChildListThatStartsWithOpenerToken(node.parent, node, sourceFile), argumentIndex: 0 }; @@ -143214,7 +143801,7 @@ var ts; return undefined; var list = info.list, argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; var isTypeParameterList = !!parent.typeArguments && parent.typeArguments.pos === list.pos; - return { isTypeParameterList: isTypeParameterList, invocation: { kind: 0 /* Call */, node: invocation }, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; + return { isTypeParameterList: isTypeParameterList, invocation: { kind: 0 /* InvocationKind.Call */, node: invocation }, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } else if (ts.isNoSubstitutionTemplateLiteral(node) && ts.isTaggedTemplateExpression(parent)) { // Check if we're actually inside the template; @@ -143224,10 +143811,10 @@ var ts; } return undefined; } - else if (ts.isTemplateHead(node) && parent.parent.kind === 210 /* TaggedTemplateExpression */) { + else if (ts.isTemplateHead(node) && parent.parent.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 223 /* TemplateExpression */); + ts.Debug.assert(templateExpression.kind === 223 /* SyntaxKind.TemplateExpression */); var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } @@ -143252,7 +143839,7 @@ var ts; var attributeSpanEnd = ts.skipTrivia(sourceFile.text, parent.attributes.end, /*stopAfterLineBreak*/ false); return { isTypeParameterList: false, - invocation: { kind: 0 /* Call */, node: parent }, + invocation: { kind: 0 /* InvocationKind.Call */, node: parent }, argumentsSpan: ts.createTextSpan(attributeSpanStart, attributeSpanEnd - attributeSpanStart), argumentIndex: 0, argumentCount: 1 @@ -143262,7 +143849,7 @@ var ts; var typeArgInfo = ts.getPossibleTypeArgumentsInfo(node, sourceFile); if (typeArgInfo) { var called = typeArgInfo.called, nTypeArguments = typeArgInfo.nTypeArguments; - var invocation = { kind: 1 /* TypeArgs */, called: called }; + var invocation = { kind: 1 /* InvocationKind.TypeArgs */, called: called }; var argumentsSpan = ts.createTextSpanFromBounds(called.getStart(sourceFile), node.end); return { isTypeParameterList: true, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: nTypeArguments, argumentCount: nTypeArguments + 1 }; } @@ -143291,28 +143878,28 @@ var ts; var signature = ts.lastOrUndefined(nonNullableContextualType.getCallSignatures()); if (signature === undefined) return undefined; - var invocation = { kind: 2 /* Contextual */, signature: signature, node: startingToken, symbol: chooseBetterSymbol(symbol) }; + var invocation = { kind: 2 /* InvocationKind.Contextual */, signature: signature, node: startingToken, symbol: chooseBetterSymbol(symbol) }; return { isTypeParameterList: false, invocation: invocation, argumentsSpan: argumentsSpan, argumentIndex: argumentIndex, argumentCount: argumentCount }; } function getContextualSignatureLocationInfo(startingToken, sourceFile, position, checker) { - if (startingToken.kind !== 20 /* OpenParenToken */ && startingToken.kind !== 27 /* CommaToken */) + if (startingToken.kind !== 20 /* SyntaxKind.OpenParenToken */ && startingToken.kind !== 27 /* SyntaxKind.CommaToken */) return undefined; var parent = startingToken.parent; switch (parent.kind) { - case 212 /* ParenthesizedExpression */: - case 169 /* MethodDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: var info = getArgumentOrParameterListInfo(startingToken, position, sourceFile); if (!info) return undefined; var argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; var contextualType = ts.isMethodDeclaration(parent) ? checker.getContextualTypeForObjectLiteralElement(parent) : checker.getContextualType(parent); return contextualType && { contextualType: contextualType, argumentIndex: argumentIndex, argumentCount: argumentCount, argumentsSpan: argumentsSpan }; - case 221 /* BinaryExpression */: { + case 221 /* SyntaxKind.BinaryExpression */: { var highestBinary = getHighestBinary(parent); var contextualType_1 = checker.getContextualType(highestBinary); - var argumentIndex_1 = startingToken.kind === 20 /* OpenParenToken */ ? 0 : countBinaryExpressionParameters(parent) - 1; + var argumentIndex_1 = startingToken.kind === 20 /* SyntaxKind.OpenParenToken */ ? 0 : countBinaryExpressionParameters(parent) - 1; var argumentCount_1 = countBinaryExpressionParameters(highestBinary); return contextualType_1 && { contextualType: contextualType_1, argumentIndex: argumentIndex_1, argumentCount: argumentCount_1, argumentsSpan: ts.createTextSpanFromNode(parent) }; } @@ -143322,7 +143909,7 @@ var ts; } // The type of a function type node has a symbol at that node, but it's better to use the symbol for a parameter or type alias. function chooseBetterSymbol(s) { - return s.name === "__type" /* Type */ + return s.name === "__type" /* InternalSymbolName.Type */ ? ts.firstDefined(s.declarations, function (d) { return ts.isFunctionTypeNode(d) ? d.parent.symbol : undefined; }) || s : s; } @@ -143344,7 +143931,7 @@ var ts; if (child === node) { break; } - if (child.kind !== 27 /* CommaToken */) { + if (child.kind !== 27 /* SyntaxKind.CommaToken */) { argumentIndex++; } } @@ -143363,8 +143950,8 @@ var ts; // That will give us 2 non-commas. We then add one for the last comma, giving us an // arg count of 3. var listChildren = argumentsList.getChildren(); - var argumentCount = ts.countWhere(listChildren, function (arg) { return arg.kind !== 27 /* CommaToken */; }); - if (!ignoreTrailingComma && listChildren.length > 0 && ts.last(listChildren).kind === 27 /* CommaToken */) { + var argumentCount = ts.countWhere(listChildren, function (arg) { return arg.kind !== 27 /* SyntaxKind.CommaToken */; }); + if (!ignoreTrailingComma && listChildren.length > 0 && ts.last(listChildren).kind === 27 /* SyntaxKind.CommaToken */) { argumentCount++; } return argumentCount; @@ -143402,7 +143989,7 @@ var ts; } return { isTypeParameterList: false, - invocation: { kind: 0 /* Call */, node: tagExpression }, + invocation: { kind: 0 /* InvocationKind.Call */, node: tagExpression }, argumentsSpan: getApplicableSpanForTaggedTemplate(tagExpression, sourceFile), argumentIndex: argumentIndex, argumentCount: argumentCount @@ -143433,7 +144020,7 @@ var ts; // | | // This is because a Missing node has no width. However, what we actually want is to include trivia // leading up to the next token in case the user is about to type in a TemplateMiddle or TemplateTail. - if (template.kind === 223 /* TemplateExpression */) { + if (template.kind === 223 /* SyntaxKind.TemplateExpression */) { var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, /*stopAfterLineBreak*/ false); @@ -143445,7 +144032,7 @@ var ts; var _loop_9 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.formatSyntaxKind(n.kind) + ", parent: " + ts.Debug.formatSyntaxKind(n.parent.kind); }); + ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: ".concat(ts.Debug.formatSyntaxKind(n.kind), ", parent: ").concat(ts.Debug.formatSyntaxKind(n.parent.kind)); }); var argumentInfo = getImmediatelyContainingArgumentOrContextualParameterInfo(n, position, sourceFile, checker); if (argumentInfo) { return { value: argumentInfo }; @@ -143465,17 +144052,17 @@ var ts; return children[indexOfOpenerToken + 1]; } function getExpressionFromInvocation(invocation) { - return invocation.kind === 0 /* Call */ ? ts.getInvokedExpression(invocation.node) : invocation.called; + return invocation.kind === 0 /* InvocationKind.Call */ ? ts.getInvokedExpression(invocation.node) : invocation.called; } function getEnclosingDeclarationFromInvocation(invocation) { - return invocation.kind === 0 /* Call */ ? invocation.node : invocation.kind === 1 /* TypeArgs */ ? invocation.called : invocation.node; + return invocation.kind === 0 /* InvocationKind.Call */ ? invocation.node : invocation.kind === 1 /* InvocationKind.TypeArgs */ ? invocation.called : invocation.node; } - var signatureHelpNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 70221824 /* IgnoreErrors */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; + var signatureHelpNodeBuilderFlags = 8192 /* NodeBuilderFlags.OmitParameterModifiers */ | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */; function createSignatureHelpItems(candidates, resolvedSignature, _a, sourceFile, typeChecker, useFullPrefix) { var _b; var isTypeParameterList = _a.isTypeParameterList, argumentCount = _a.argumentCount, applicableSpan = _a.argumentsSpan, invocation = _a.invocation, argumentIndex = _a.argumentIndex; var enclosingDeclaration = getEnclosingDeclarationFromInvocation(invocation); - var callTargetSymbol = invocation.kind === 2 /* Contextual */ ? invocation.symbol : (typeChecker.getSymbolAtLocation(getExpressionFromInvocation(invocation)) || useFullPrefix && ((_b = resolvedSignature.declaration) === null || _b === void 0 ? void 0 : _b.symbol)); + var callTargetSymbol = invocation.kind === 2 /* InvocationKind.Contextual */ ? invocation.symbol : (typeChecker.getSymbolAtLocation(getExpressionFromInvocation(invocation)) || useFullPrefix && ((_b = resolvedSignature.declaration) === null || _b === void 0 ? void 0 : _b.symbol)); var callTargetDisplayParts = callTargetSymbol ? ts.symbolToDisplayParts(typeChecker, callTargetSymbol, useFullPrefix ? sourceFile : undefined, /*meaning*/ undefined) : ts.emptyArray; var items = ts.map(candidates, function (candidateSignature) { return getSignatureHelpItem(candidateSignature, callTargetDisplayParts, isTypeParameterList, typeChecker, enclosingDeclaration, sourceFile); }); if (argumentIndex !== 0) { @@ -143532,10 +144119,10 @@ var ts; var parameters = typeParameters.map(function (t) { return createSignatureHelpParameterForTypeParameter(t, checker, enclosingDeclaration, sourceFile, printer); }); var documentation = symbol.getDocumentationComment(checker); var tags = symbol.getJsDocTags(checker); - var prefixDisplayParts = __spreadArray(__spreadArray([], typeSymbolDisplay, true), [ts.punctuationPart(29 /* LessThanToken */)], false); - return { isVariadic: false, prefixDisplayParts: prefixDisplayParts, suffixDisplayParts: [ts.punctuationPart(31 /* GreaterThanToken */)], separatorDisplayParts: separatorDisplayParts, parameters: parameters, documentation: documentation, tags: tags }; + var prefixDisplayParts = __spreadArray(__spreadArray([], typeSymbolDisplay, true), [ts.punctuationPart(29 /* SyntaxKind.LessThanToken */)], false); + return { isVariadic: false, prefixDisplayParts: prefixDisplayParts, suffixDisplayParts: [ts.punctuationPart(31 /* SyntaxKind.GreaterThanToken */)], separatorDisplayParts: separatorDisplayParts, parameters: parameters, documentation: documentation, tags: tags }; } - var separatorDisplayParts = [ts.punctuationPart(27 /* CommaToken */), ts.spacePart()]; + var separatorDisplayParts = [ts.punctuationPart(27 /* SyntaxKind.CommaToken */), ts.spacePart()]; function getSignatureHelpItem(candidateSignature, callTargetDisplayParts, isTypeParameterList, checker, enclosingDeclaration, sourceFile) { var infos = (isTypeParameterList ? itemInfoForTypeParameters : itemInfoForParameters)(candidateSignature, checker, enclosingDeclaration, sourceFile); return ts.map(infos, function (_a) { @@ -143568,9 +144155,9 @@ var ts; return checker.getExpandedParameters(candidateSignature).map(function (paramList) { var params = ts.factory.createNodeArray(__spreadArray(__spreadArray([], thisParameter, true), ts.map(paramList, function (param) { return checker.symbolToParameterDeclaration(param, enclosingDeclaration, signatureHelpNodeBuilderFlags); }), true)); var parameterParts = ts.mapToDisplayParts(function (writer) { - printer.writeList(2576 /* CallExpressionArguments */, params, sourceFile, writer); + printer.writeList(2576 /* ListFormat.CallExpressionArguments */, params, sourceFile, writer); }); - return { isVariadic: false, parameters: parameters, prefix: [ts.punctuationPart(29 /* LessThanToken */)], suffix: __spreadArray([ts.punctuationPart(31 /* GreaterThanToken */)], parameterParts, true) }; + return { isVariadic: false, parameters: parameters, prefix: [ts.punctuationPart(29 /* SyntaxKind.LessThanToken */)], suffix: __spreadArray([ts.punctuationPart(31 /* SyntaxKind.GreaterThanToken */)], parameterParts, true) }; }); } function itemInfoForParameters(candidateSignature, checker, enclosingDeclaration, sourceFile) { @@ -143578,33 +144165,33 @@ var ts; var typeParameterParts = ts.mapToDisplayParts(function (writer) { if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) { var args = ts.factory.createNodeArray(candidateSignature.typeParameters.map(function (p) { return checker.typeParameterToDeclaration(p, enclosingDeclaration, signatureHelpNodeBuilderFlags); })); - printer.writeList(53776 /* TypeParameters */, args, sourceFile, writer); + printer.writeList(53776 /* ListFormat.TypeParameters */, args, sourceFile, writer); } }); var lists = checker.getExpandedParameters(candidateSignature); var isVariadic = !checker.hasEffectiveRestParameter(candidateSignature) ? function (_) { return false; } : lists.length === 1 ? function (_) { return true; } - : function (pList) { return !!(pList.length && pList[pList.length - 1].checkFlags & 32768 /* RestParameter */); }; + : function (pList) { return !!(pList.length && pList[pList.length - 1].checkFlags & 32768 /* CheckFlags.RestParameter */); }; return lists.map(function (parameterList) { return ({ isVariadic: isVariadic(parameterList), parameters: parameterList.map(function (p) { return createSignatureHelpParameterForParameter(p, checker, enclosingDeclaration, sourceFile, printer); }), - prefix: __spreadArray(__spreadArray([], typeParameterParts, true), [ts.punctuationPart(20 /* OpenParenToken */)], false), - suffix: [ts.punctuationPart(21 /* CloseParenToken */)] + prefix: __spreadArray(__spreadArray([], typeParameterParts, true), [ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)], false), + suffix: [ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)] }); }); } function createSignatureHelpParameterForParameter(parameter, checker, enclosingDeclaration, sourceFile, printer) { var displayParts = ts.mapToDisplayParts(function (writer) { var param = checker.symbolToParameterDeclaration(parameter, enclosingDeclaration, signatureHelpNodeBuilderFlags); - printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, param, sourceFile, writer); }); var isOptional = checker.isOptionalParameter(parameter.valueDeclaration); - var isRest = !!(parameter.checkFlags & 32768 /* RestParameter */); + var isRest = !!(parameter.checkFlags & 32768 /* CheckFlags.RestParameter */); return { name: parameter.name, documentation: parameter.getDocumentationComment(checker), displayParts: displayParts, isOptional: isOptional, isRest: isRest }; } function createSignatureHelpParameterForTypeParameter(typeParameter, checker, enclosingDeclaration, sourceFile, printer) { var displayParts = ts.mapToDisplayParts(function (writer) { var param = checker.typeParameterToDeclaration(typeParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags); - printer.writeNode(4 /* Unspecified */, param, sourceFile, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, param, sourceFile, writer); }); return { name: typeParameter.symbol.name, documentation: typeParameter.symbol.getDocumentationComment(checker), displayParts: displayParts, isOptional: false, isRest: false }; } @@ -143617,7 +144204,7 @@ var ts; (function (InlayHints) { var maxHintsLength = 30; var leadingParameterNameCommentRegexFactory = function (name) { - return new RegExp("^\\s?/\\*\\*?\\s?" + name + "\\s?\\*\\/\\s?$"); + return new RegExp("^\\s?/\\*\\*?\\s?".concat(name, "\\s?\\*\\/\\s?$")); }; function shouldShowParameterNameHints(preferences) { return preferences.includeInlayParameterNameHints === "literals" || preferences.includeInlayParameterNameHints === "all"; @@ -143638,14 +144225,14 @@ var ts; return; } switch (node.kind) { - case 261 /* ModuleDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 256 /* FunctionDeclaration */: - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 214 /* ArrowFunction */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } if (!ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth())) { @@ -143681,25 +144268,25 @@ var ts; } function addParameterHints(text, position, isFirstVariadicArgument) { result.push({ - text: "" + (isFirstVariadicArgument ? "..." : "") + truncation(text, maxHintsLength) + ":", + text: "".concat(isFirstVariadicArgument ? "..." : "").concat(truncation(text, maxHintsLength), ":"), position: position, - kind: "Parameter" /* Parameter */, + kind: "Parameter" /* InlayHintKind.Parameter */, whitespaceAfter: true, }); } function addTypeHints(text, position) { result.push({ - text: ": " + truncation(text, maxHintsLength), + text: ": ".concat(truncation(text, maxHintsLength)), position: position, - kind: "Type" /* Type */, + kind: "Type" /* InlayHintKind.Type */, whitespaceBefore: true, }); } function addEnumMemberValueHints(text, position) { result.push({ - text: "= " + truncation(text, maxHintsLength), + text: "= ".concat(truncation(text, maxHintsLength)), position: position, - kind: "Enum" /* Enum */, + kind: "Enum" /* InlayHintKind.Enum */, whitespaceBefore: true, }); } @@ -143713,7 +144300,7 @@ var ts; } } function isModuleReferenceType(type) { - return type.symbol && (type.symbol.flags & 1536 /* Module */); + return type.symbol && (type.symbol.flags & 1536 /* SymbolFlags.Module */); } function visitVariableLikeDeclaration(decl) { if (!decl.initializer || ts.isBindingPattern(decl.name)) { @@ -143785,17 +144372,17 @@ var ts; } function isHintableLiteral(node) { switch (node.kind) { - case 219 /* PrefixUnaryExpression */: { + case 219 /* SyntaxKind.PrefixUnaryExpression */: { var operand = node.operand; return ts.isLiteralExpression(operand) || ts.isIdentifier(operand) && ts.isInfinityOrNaNString(operand.escapedText); } - case 110 /* TrueKeyword */: - case 95 /* FalseKeyword */: - case 104 /* NullKeyword */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 223 /* TemplateExpression */: + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 223 /* SyntaxKind.TemplateExpression */: return true; - case 79 /* Identifier */: { + case 79 /* SyntaxKind.Identifier */: { var name = node.escapedText; return isUndefined(name) || ts.isInfinityOrNaNString(name); } @@ -143804,7 +144391,7 @@ var ts; } function visitFunctionDeclarationLikeForReturnType(decl) { if (ts.isArrowFunction(decl)) { - if (!ts.findChildOfKind(decl, 20 /* OpenParenToken */, file)) { + if (!ts.findChildOfKind(decl, 20 /* SyntaxKind.OpenParenToken */, file)) { return; } } @@ -143827,7 +144414,7 @@ var ts; addTypeHints(typeDisplayString, getTypeAnnotationPosition(decl)); } function getTypeAnnotationPosition(decl) { - var closeParenToken = ts.findChildOfKind(decl, 21 /* CloseParenToken */, file); + var closeParenToken = ts.findChildOfKind(decl, 21 /* SyntaxKind.CloseParenToken */, file); if (closeParenToken) { return closeParenToken.end; } @@ -143869,13 +144456,13 @@ var ts; return text; } function printTypeInSingleLine(type) { - var flags = 70221824 /* IgnoreErrors */ | 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; + var flags = 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 1048576 /* TypeFormatFlags.AllowUniqueESSymbolType */ | 16384 /* TypeFormatFlags.UseAliasDefinedOutsideCurrentScope */; var options = { removeComments: true }; var printer = ts.createPrinter(options); return ts.usingSingleLineStringWriter(function (writer) { var typeNode = checker.typeToTypeNode(type, /*enclosingDeclaration*/ undefined, flags, writer); ts.Debug.assertIsDefined(typeNode, "should always get typenode"); - printer.writeNode(4 /* Unspecified */, typeNode, /*sourceFile*/ file, writer); + printer.writeNode(4 /* EmitHint.Unspecified */, typeNode, /*sourceFile*/ file, writer); }); } function isUndefined(name) { @@ -143937,7 +144524,7 @@ var ts; var options = program.getCompilerOptions(); var outPath = ts.outFile(options); var declarationPath = outPath ? - ts.removeFileExtension(outPath) + ".d.ts" /* Dts */ : + ts.removeFileExtension(outPath) + ".d.ts" /* Extension.Dts */ : ts.getDeclarationEmitOutputFilePathWorker(info.fileName, program.getCompilerOptions(), currentDirectory, program.getCommonSourceDirectory(), getCanonicalFileName); if (declarationPath === undefined) return undefined; @@ -144046,7 +144633,7 @@ var ts; program.getSemanticDiagnostics(sourceFile, cancellationToken); var diags = []; var checker = program.getTypeChecker(); - var isCommonJSFile = sourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS || ts.fileExtensionIsOneOf(sourceFile.fileName, [".cts" /* Cts */, ".cjs" /* Cjs */]); + var isCommonJSFile = sourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS || ts.fileExtensionIsOneOf(sourceFile.fileName, [".cts" /* Extension.Cts */, ".cjs" /* Extension.Cjs */]); if (!isCommonJSFile && sourceFile.commonJsModuleIndicator && (ts.programContainsEsModules(program) || ts.compilerOptionsIndicateEsModules(program.getCompilerOptions())) && @@ -144082,7 +144669,7 @@ var ts; else { if (ts.isVariableStatement(node) && node.parent === sourceFile && - node.declarationList.flags & 2 /* Const */ && + node.declarationList.flags & 2 /* NodeFlags.Const */ && node.declarationList.declarations.length === 1) { var init = node.declarationList.declarations[0].initializer; if (init && ts.isRequireCall(init, /*checkArgumentIsStringLiteralLike*/ true)) { @@ -144104,16 +144691,16 @@ var ts; function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return statement.declarationList.declarations.some(function (decl) { return !!decl.initializer && ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true); }); - case 238 /* ExpressionStatement */: { + case 238 /* SyntaxKind.ExpressionStatement */: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); var kind = ts.getAssignmentDeclarationKind(expression); - return kind === 1 /* ExportsProperty */ || kind === 2 /* ModuleExports */; + return kind === 1 /* AssignmentDeclarationKind.ExportsProperty */ || kind === 2 /* AssignmentDeclarationKind.ModuleExports */; } default: return false; @@ -144125,12 +144712,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 268 /* NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return node.name; default: return undefined; @@ -144200,26 +144787,26 @@ var ts; if (node.arguments.length < maxArguments) return true; return maxArguments === 1 || ts.some(node.arguments, function (arg) { - return arg.kind === 104 /* NullKeyword */ || ts.isIdentifier(arg) && arg.text === "undefined"; + return arg.kind === 104 /* SyntaxKind.NullKeyword */ || ts.isIdentifier(arg) && arg.text === "undefined"; }); } // should be kept up to date with getTransformationBody in convertToAsyncFunction.ts function isFixablePromiseArgument(arg, checker) { switch (arg.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: var functionFlags = ts.getFunctionFlags(arg); - if (functionFlags & 1 /* Generator */) { + if (functionFlags & 1 /* FunctionFlags.Generator */) { return false; } // falls through - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: visitedNestedConvertibleFunctions.set(getKeyFromNode(arg), true); // falls through - case 104 /* NullKeyword */: + case 104 /* SyntaxKind.NullKeyword */: return true; - case 79 /* Identifier */: - case 206 /* PropertyAccessExpression */: { + case 79 /* SyntaxKind.Identifier */: + case 206 /* SyntaxKind.PropertyAccessExpression */: { var symbol = checker.getSymbolAtLocation(arg); if (!symbol) { return false; @@ -144232,28 +144819,28 @@ var ts; } } function getKeyFromNode(exp) { - return exp.pos.toString() + ":" + exp.end.toString(); + return "".concat(exp.pos.toString(), ":").concat(exp.end.toString()); } function canBeConvertedToClass(node, checker) { var _a, _b, _c, _d; - if (node.kind === 213 /* FunctionExpression */) { + if (node.kind === 213 /* SyntaxKind.FunctionExpression */) { if (ts.isVariableDeclaration(node.parent) && ((_a = node.symbol.members) === null || _a === void 0 ? void 0 : _a.size)) { return true; } var symbol = checker.getSymbolOfExpando(node, /*allowDeclaration*/ false); return !!(symbol && (((_b = symbol.exports) === null || _b === void 0 ? void 0 : _b.size) || ((_c = symbol.members) === null || _c === void 0 ? void 0 : _c.size))); } - if (node.kind === 256 /* FunctionDeclaration */) { + if (node.kind === 256 /* SyntaxKind.FunctionDeclaration */) { return !!((_d = node.symbol.members) === null || _d === void 0 ? void 0 : _d.size); } return false; } function canBeConvertedToAsync(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return true; default: return false; @@ -144266,32 +144853,32 @@ var ts; (function (ts) { var SymbolDisplay; (function (SymbolDisplay) { - var symbolDisplayNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 70221824 /* IgnoreErrors */ | 16384 /* UseAliasDefinedOutsideCurrentScope */; + var symbolDisplayNodeBuilderFlags = 8192 /* NodeBuilderFlags.OmitParameterModifiers */ | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */; // TODO(drosen): use contextual SemanticMeaning. function getSymbolKind(typeChecker, symbol, location) { var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location); - if (result !== "" /* unknown */) { + if (result !== "" /* ScriptElementKind.unknown */) { return result; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); - if (flags & 32 /* Class */) { - return ts.getDeclarationOfKind(symbol, 226 /* ClassExpression */) ? - "local class" /* localClassElement */ : "class" /* classElement */; - } - if (flags & 384 /* Enum */) - return "enum" /* enumElement */; - if (flags & 524288 /* TypeAlias */) - return "type" /* typeElement */; - if (flags & 64 /* Interface */) - return "interface" /* interfaceElement */; - if (flags & 262144 /* TypeParameter */) - return "type parameter" /* typeParameterElement */; - if (flags & 8 /* EnumMember */) - return "enum member" /* enumMemberElement */; - if (flags & 2097152 /* Alias */) - return "alias" /* alias */; - if (flags & 1536 /* Module */) - return "module" /* moduleElement */; + if (flags & 32 /* SymbolFlags.Class */) { + return ts.getDeclarationOfKind(symbol, 226 /* SyntaxKind.ClassExpression */) ? + "local class" /* ScriptElementKind.localClassElement */ : "class" /* ScriptElementKind.classElement */; + } + if (flags & 384 /* SymbolFlags.Enum */) + return "enum" /* ScriptElementKind.enumElement */; + if (flags & 524288 /* SymbolFlags.TypeAlias */) + return "type" /* ScriptElementKind.typeElement */; + if (flags & 64 /* SymbolFlags.Interface */) + return "interface" /* ScriptElementKind.interfaceElement */; + if (flags & 262144 /* SymbolFlags.TypeParameter */) + return "type parameter" /* ScriptElementKind.typeParameterElement */; + if (flags & 8 /* SymbolFlags.EnumMember */) + return "enum member" /* ScriptElementKind.enumMemberElement */; + if (flags & 2097152 /* SymbolFlags.Alias */) + return "alias" /* ScriptElementKind.alias */; + if (flags & 1536 /* SymbolFlags.Module */) + return "module" /* ScriptElementKind.moduleElement */; return result; } SymbolDisplay.getSymbolKind = getSymbolKind; @@ -144299,52 +144886,52 @@ var ts; var roots = typeChecker.getRootSymbols(symbol); // If this is a method from a mapped type, leave as a method so long as it still has a call signature. if (roots.length === 1 - && ts.first(roots).flags & 8192 /* Method */ + && ts.first(roots).flags & 8192 /* SymbolFlags.Method */ // Ensure the mapped version is still a method, as opposed to `{ [K in keyof I]: number }`. && typeChecker.getTypeOfSymbolAtLocation(symbol, location).getNonNullableType().getCallSignatures().length !== 0) { - return "method" /* memberFunctionElement */; + return "method" /* ScriptElementKind.memberFunctionElement */; } if (typeChecker.isUndefinedSymbol(symbol)) { - return "var" /* variableElement */; + return "var" /* ScriptElementKind.variableElement */; } if (typeChecker.isArgumentsSymbol(symbol)) { - return "local var" /* localVariableElement */; + return "local var" /* ScriptElementKind.localVariableElement */; } - if (location.kind === 108 /* ThisKeyword */ && ts.isExpression(location) || ts.isThisInTypeQuery(location)) { - return "parameter" /* parameterElement */; + if (location.kind === 108 /* SyntaxKind.ThisKeyword */ && ts.isExpression(location) || ts.isThisInTypeQuery(location)) { + return "parameter" /* ScriptElementKind.parameterElement */; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); - if (flags & 3 /* Variable */) { + if (flags & 3 /* SymbolFlags.Variable */) { if (ts.isFirstDeclarationOfSymbolParameter(symbol)) { - return "parameter" /* parameterElement */; + return "parameter" /* ScriptElementKind.parameterElement */; } else if (symbol.valueDeclaration && ts.isVarConst(symbol.valueDeclaration)) { - return "const" /* constElement */; + return "const" /* ScriptElementKind.constElement */; } else if (ts.forEach(symbol.declarations, ts.isLet)) { - return "let" /* letElement */; + return "let" /* ScriptElementKind.letElement */; } - return isLocalVariableOrFunction(symbol) ? "local var" /* localVariableElement */ : "var" /* variableElement */; + return isLocalVariableOrFunction(symbol) ? "local var" /* ScriptElementKind.localVariableElement */ : "var" /* ScriptElementKind.variableElement */; } - if (flags & 16 /* Function */) - return isLocalVariableOrFunction(symbol) ? "local function" /* localFunctionElement */ : "function" /* functionElement */; + if (flags & 16 /* SymbolFlags.Function */) + return isLocalVariableOrFunction(symbol) ? "local function" /* ScriptElementKind.localFunctionElement */ : "function" /* ScriptElementKind.functionElement */; // FIXME: getter and setter use the same symbol. And it is rare to use only setter without getter, so in most cases the symbol always has getter flag. // So, even when the location is just on the declaration of setter, this function returns getter. - if (flags & 32768 /* GetAccessor */) - return "getter" /* memberGetAccessorElement */; - if (flags & 65536 /* SetAccessor */) - return "setter" /* memberSetAccessorElement */; - if (flags & 8192 /* Method */) - return "method" /* memberFunctionElement */; - if (flags & 16384 /* Constructor */) - return "constructor" /* constructorImplementationElement */; - if (flags & 4 /* Property */) { - if (flags & 33554432 /* Transient */ && symbol.checkFlags & 6 /* Synthetic */) { + if (flags & 32768 /* SymbolFlags.GetAccessor */) + return "getter" /* ScriptElementKind.memberGetAccessorElement */; + if (flags & 65536 /* SymbolFlags.SetAccessor */) + return "setter" /* ScriptElementKind.memberSetAccessorElement */; + if (flags & 8192 /* SymbolFlags.Method */) + return "method" /* ScriptElementKind.memberFunctionElement */; + if (flags & 16384 /* SymbolFlags.Constructor */) + return "constructor" /* ScriptElementKind.constructorImplementationElement */; + if (flags & 4 /* SymbolFlags.Property */) { + if (flags & 33554432 /* SymbolFlags.Transient */ && symbol.checkFlags & 6 /* CheckFlags.Synthetic */) { // If union property is result of union of non method (property/accessors/variables), it is labeled as property var unionPropertyKind = ts.forEach(typeChecker.getRootSymbols(symbol), function (rootSymbol) { var rootSymbolFlags = rootSymbol.getFlags(); - if (rootSymbolFlags & (98308 /* PropertyOrAccessor */ | 3 /* Variable */)) { - return "property" /* memberVariableElement */; + if (rootSymbolFlags & (98308 /* SymbolFlags.PropertyOrAccessor */ | 3 /* SymbolFlags.Variable */)) { + return "property" /* ScriptElementKind.memberVariableElement */; } }); if (!unionPropertyKind) { @@ -144352,23 +144939,23 @@ var ts; // make sure it has call signatures before we can label it as method var typeOfUnionProperty = typeChecker.getTypeOfSymbolAtLocation(symbol, location); if (typeOfUnionProperty.getCallSignatures().length) { - return "method" /* memberFunctionElement */; + return "method" /* ScriptElementKind.memberFunctionElement */; } - return "property" /* memberVariableElement */; + return "property" /* ScriptElementKind.memberVariableElement */; } return unionPropertyKind; } - return "property" /* memberVariableElement */; + return "property" /* ScriptElementKind.memberVariableElement */; } - return "" /* unknown */; + return "" /* ScriptElementKind.unknown */; } function getNormalizedSymbolModifiers(symbol) { if (symbol.declarations && symbol.declarations.length) { var _a = symbol.declarations, declaration = _a[0], declarations = _a.slice(1); // omit deprecated flag if some declarations are not deprecated var excludeFlags = ts.length(declarations) && ts.isDeprecatedDeclaration(declaration) && ts.some(declarations, function (d) { return !ts.isDeprecatedDeclaration(d); }) - ? 8192 /* Deprecated */ - : 0 /* None */; + ? 8192 /* ModifierFlags.Deprecated */ + : 0 /* ModifierFlags.None */; var modifiers = ts.getNodeModifiers(declaration, excludeFlags); if (modifiers) { return modifiers.split(","); @@ -144378,10 +144965,10 @@ var ts; } function getSymbolModifiers(typeChecker, symbol) { if (!symbol) { - return "" /* none */; + return "" /* ScriptElementKindModifier.none */; } var modifiers = new ts.Set(getNormalizedSymbolModifiers(symbol)); - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { var resolvedSymbol = typeChecker.getAliasedSymbol(symbol); if (resolvedSymbol !== symbol) { ts.forEach(getNormalizedSymbolModifiers(resolvedSymbol), function (modifier) { @@ -144389,10 +144976,10 @@ var ts; }); } } - if (symbol.flags & 16777216 /* Optional */) { - modifiers.add("optional" /* optionalModifier */); + if (symbol.flags & 16777216 /* SymbolFlags.Optional */) { + modifiers.add("optional" /* ScriptElementKindModifier.optionalModifier */); } - return modifiers.size > 0 ? ts.arrayFrom(modifiers.values()).join(",") : "" /* none */; + return modifiers.size > 0 ? ts.arrayFrom(modifiers.values()).join(",") : "" /* ScriptElementKindModifier.none */; } SymbolDisplay.getSymbolModifiers = getSymbolModifiers; // TODO(drosen): Currently completion entry details passes the SemanticMeaning.All instead of using semanticMeaning of location @@ -144403,41 +144990,41 @@ var ts; var documentation = []; var tags = []; var symbolFlags = ts.getCombinedLocalAndExportSymbolFlags(symbol); - var symbolKind = semanticMeaning & 1 /* Value */ ? getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location) : "" /* unknown */; + var symbolKind = semanticMeaning & 1 /* SemanticMeaning.Value */ ? getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location) : "" /* ScriptElementKind.unknown */; var hasAddedSymbolInfo = false; - var isThisExpression = location.kind === 108 /* ThisKeyword */ && ts.isInExpressionContext(location) || ts.isThisInTypeQuery(location); + var isThisExpression = location.kind === 108 /* SyntaxKind.ThisKeyword */ && ts.isInExpressionContext(location) || ts.isThisInTypeQuery(location); var type; var printer; var documentationFromAlias; var tagsFromAlias; var hasMultipleSignatures = false; - if (location.kind === 108 /* ThisKeyword */ && !isThisExpression) { - return { displayParts: [ts.keywordPart(108 /* ThisKeyword */)], documentation: [], symbolKind: "primitive type" /* primitiveType */, tags: undefined }; + if (location.kind === 108 /* SyntaxKind.ThisKeyword */ && !isThisExpression) { + return { displayParts: [ts.keywordPart(108 /* SyntaxKind.ThisKeyword */)], documentation: [], symbolKind: "primitive type" /* ScriptElementKind.primitiveType */, tags: undefined }; } // Class at constructor site need to be shown as constructor apart from property,method, vars - if (symbolKind !== "" /* unknown */ || symbolFlags & 32 /* Class */ || symbolFlags & 2097152 /* Alias */) { + if (symbolKind !== "" /* ScriptElementKind.unknown */ || symbolFlags & 32 /* SymbolFlags.Class */ || symbolFlags & 2097152 /* SymbolFlags.Alias */) { // If symbol is accessor, they are allowed only if location is at declaration identifier of the accessor - if (symbolKind === "getter" /* memberGetAccessorElement */ || symbolKind === "setter" /* memberSetAccessorElement */) { + if (symbolKind === "getter" /* ScriptElementKind.memberGetAccessorElement */ || symbolKind === "setter" /* ScriptElementKind.memberSetAccessorElement */) { var declaration = ts.find(symbol.declarations, function (declaration) { return declaration.name === location; }); if (declaration) { switch (declaration.kind) { - case 172 /* GetAccessor */: - symbolKind = "getter" /* memberGetAccessorElement */; + case 172 /* SyntaxKind.GetAccessor */: + symbolKind = "getter" /* ScriptElementKind.memberGetAccessorElement */; break; - case 173 /* SetAccessor */: - symbolKind = "setter" /* memberSetAccessorElement */; + case 173 /* SyntaxKind.SetAccessor */: + symbolKind = "setter" /* ScriptElementKind.memberSetAccessorElement */; break; default: ts.Debug.assertNever(declaration); } } else { - symbolKind = "property" /* memberVariableElement */; + symbolKind = "property" /* ScriptElementKind.memberVariableElement */; } } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); - if (location.parent && location.parent.kind === 206 /* PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { var right = location.parent.name; // Either the location is on the right of a property access, or on the left and the right is missing if (right === location || (right && right.getFullWidth() === 0)) { @@ -144457,7 +145044,7 @@ var ts; } if (callExpressionLike) { signature = typeChecker.getResolvedSignature(callExpressionLike); // TODO: GH#18217 - var useConstructSignatures = callExpressionLike.kind === 209 /* NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 106 /* SuperKeyword */); + var useConstructSignatures = callExpressionLike.kind === 209 /* SyntaxKind.NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 106 /* SyntaxKind.SuperKeyword */); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (signature && !ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { // Get the first signature if there is one -- allSignatures may contain @@ -144465,21 +145052,21 @@ var ts; signature = allSignatures.length ? allSignatures[0] : undefined; } if (signature) { - if (useConstructSignatures && (symbolFlags & 32 /* Class */)) { + if (useConstructSignatures && (symbolFlags & 32 /* SymbolFlags.Class */)) { // Constructor - symbolKind = "constructor" /* constructorImplementationElement */; + symbolKind = "constructor" /* ScriptElementKind.constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } - else if (symbolFlags & 2097152 /* Alias */) { - symbolKind = "alias" /* alias */; + else if (symbolFlags & 2097152 /* SymbolFlags.Alias */) { + symbolKind = "alias" /* ScriptElementKind.alias */; pushSymbolKind(symbolKind); displayParts.push(ts.spacePart()); if (useConstructSignatures) { - if (signature.flags & 4 /* Abstract */) { - displayParts.push(ts.keywordPart(126 /* AbstractKeyword */)); + if (signature.flags & 4 /* SignatureFlags.Abstract */) { + displayParts.push(ts.keywordPart(126 /* SyntaxKind.AbstractKeyword */)); displayParts.push(ts.spacePart()); } - displayParts.push(ts.keywordPart(103 /* NewKeyword */)); + displayParts.push(ts.keywordPart(103 /* SyntaxKind.NewKeyword */)); displayParts.push(ts.spacePart()); } addFullSymbolName(symbol); @@ -144488,29 +145075,29 @@ var ts; addPrefixForAnyFunctionOrVar(symbol, symbolKind); } switch (symbolKind) { - case "JSX attribute" /* jsxAttribute */: - case "property" /* memberVariableElement */: - case "var" /* variableElement */: - case "const" /* constElement */: - case "let" /* letElement */: - case "parameter" /* parameterElement */: - case "local var" /* localVariableElement */: + case "JSX attribute" /* ScriptElementKind.jsxAttribute */: + case "property" /* ScriptElementKind.memberVariableElement */: + case "var" /* ScriptElementKind.variableElement */: + case "const" /* ScriptElementKind.constElement */: + case "let" /* ScriptElementKind.letElement */: + case "parameter" /* ScriptElementKind.parameterElement */: + case "local var" /* ScriptElementKind.localVariableElement */: // If it is call or construct signature of lambda's write type name - displayParts.push(ts.punctuationPart(58 /* ColonToken */)); + displayParts.push(ts.punctuationPart(58 /* SyntaxKind.ColonToken */)); displayParts.push(ts.spacePart()); - if (!(ts.getObjectFlags(type) & 16 /* Anonymous */) && type.symbol) { - ts.addRange(displayParts, ts.symbolToDisplayParts(typeChecker, type.symbol, enclosingDeclaration, /*meaning*/ undefined, 4 /* AllowAnyNodeKind */ | 1 /* WriteTypeParametersOrArguments */)); + if (!(ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */) && type.symbol) { + ts.addRange(displayParts, ts.symbolToDisplayParts(typeChecker, type.symbol, enclosingDeclaration, /*meaning*/ undefined, 4 /* SymbolFormatFlags.AllowAnyNodeKind */ | 1 /* SymbolFormatFlags.WriteTypeParametersOrArguments */)); displayParts.push(ts.lineBreakPart()); } if (useConstructSignatures) { - if (signature.flags & 4 /* Abstract */) { - displayParts.push(ts.keywordPart(126 /* AbstractKeyword */)); + if (signature.flags & 4 /* SignatureFlags.Abstract */) { + displayParts.push(ts.keywordPart(126 /* SyntaxKind.AbstractKeyword */)); displayParts.push(ts.spacePart()); } - displayParts.push(ts.keywordPart(103 /* NewKeyword */)); + displayParts.push(ts.keywordPart(103 /* SyntaxKind.NewKeyword */)); displayParts.push(ts.spacePart()); } - addSignatureDisplayParts(signature, allSignatures, 262144 /* WriteArrowStyleSignature */); + addSignatureDisplayParts(signature, allSignatures, 262144 /* TypeFormatFlags.WriteArrowStyleSignature */); break; default: // Just signature @@ -144520,31 +145107,31 @@ var ts; hasMultipleSignatures = allSignatures.length > 1; } } - else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* Accessor */)) || // name of function declaration - (location.kind === 134 /* ConstructorKeyword */ && location.parent.kind === 171 /* Constructor */)) { // At constructor keyword of constructor declaration + else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* SymbolFlags.Accessor */)) || // name of function declaration + (location.kind === 134 /* SyntaxKind.ConstructorKeyword */ && location.parent.kind === 171 /* SyntaxKind.Constructor */)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var functionDeclaration_1 = location.parent; // Use function declaration to write the signatures only if the symbol corresponding to this declaration var locationIsSymbolDeclaration = symbol.declarations && ts.find(symbol.declarations, function (declaration) { - return declaration === (location.kind === 134 /* ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); + return declaration === (location.kind === 134 /* SyntaxKind.ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 171 /* Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 171 /* SyntaxKind.Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); // TODO: GH#18217 } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 171 /* Constructor */) { + if (functionDeclaration_1.kind === 171 /* SyntaxKind.Constructor */) { // show (constructor) Type(...) signature - symbolKind = "constructor" /* constructorImplementationElement */; + symbolKind = "constructor" /* ScriptElementKind.constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 174 /* CallSignature */ && - !(type.symbol.flags & 2048 /* TypeLiteral */ || type.symbol.flags & 4096 /* ObjectLiteral */) ? type.symbol : symbol, symbolKind); + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 174 /* SyntaxKind.CallSignature */ && + !(type.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */ || type.symbol.flags & 4096 /* SymbolFlags.ObjectLiteral */) ? type.symbol : symbol, symbolKind); } if (signature) { addSignatureDisplayParts(signature, allSignatures); @@ -144554,63 +145141,63 @@ var ts; } } } - if (symbolFlags & 32 /* Class */ && !hasAddedSymbolInfo && !isThisExpression) { + if (symbolFlags & 32 /* SymbolFlags.Class */ && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 226 /* ClassExpression */)) { + if (ts.getDeclarationOfKind(symbol, 226 /* SyntaxKind.ClassExpression */)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) // (local class) class - pushSymbolKind("local class" /* localClassElement */); + pushSymbolKind("local class" /* ScriptElementKind.localClassElement */); } else { // Class declaration has name which is not local. - displayParts.push(ts.keywordPart(84 /* ClassKeyword */)); + displayParts.push(ts.keywordPart(84 /* SyntaxKind.ClassKeyword */)); } displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); } - if ((symbolFlags & 64 /* Interface */) && (semanticMeaning & 2 /* Type */)) { + if ((symbolFlags & 64 /* SymbolFlags.Interface */) && (semanticMeaning & 2 /* SemanticMeaning.Type */)) { prefixNextMeaning(); - displayParts.push(ts.keywordPart(118 /* InterfaceKeyword */)); + displayParts.push(ts.keywordPart(118 /* SyntaxKind.InterfaceKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); } - if ((symbolFlags & 524288 /* TypeAlias */) && (semanticMeaning & 2 /* Type */)) { + if ((symbolFlags & 524288 /* SymbolFlags.TypeAlias */) && (semanticMeaning & 2 /* SemanticMeaning.Type */)) { prefixNextMeaning(); - displayParts.push(ts.keywordPart(152 /* TypeKeyword */)); + displayParts.push(ts.keywordPart(152 /* SyntaxKind.TypeKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(63 /* EqualsToken */)); + displayParts.push(ts.operatorPart(63 /* SyntaxKind.EqualsToken */)); displayParts.push(ts.spacePart()); - ts.addRange(displayParts, ts.typeToDisplayParts(typeChecker, ts.isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, 8388608 /* InTypeAlias */)); + ts.addRange(displayParts, ts.typeToDisplayParts(typeChecker, ts.isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, 8388608 /* TypeFormatFlags.InTypeAlias */)); } - if (symbolFlags & 384 /* Enum */) { + if (symbolFlags & 384 /* SymbolFlags.Enum */) { prefixNextMeaning(); if (ts.some(symbol.declarations, function (d) { return ts.isEnumDeclaration(d) && ts.isEnumConst(d); })) { - displayParts.push(ts.keywordPart(85 /* ConstKeyword */)); + displayParts.push(ts.keywordPart(85 /* SyntaxKind.ConstKeyword */)); displayParts.push(ts.spacePart()); } - displayParts.push(ts.keywordPart(92 /* EnumKeyword */)); + displayParts.push(ts.keywordPart(92 /* SyntaxKind.EnumKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); } - if (symbolFlags & 1536 /* Module */ && !isThisExpression) { + if (symbolFlags & 1536 /* SymbolFlags.Module */ && !isThisExpression) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 261 /* ModuleDeclaration */); - var isNamespace = declaration && declaration.name && declaration.name.kind === 79 /* Identifier */; - displayParts.push(ts.keywordPart(isNamespace ? 142 /* NamespaceKeyword */ : 141 /* ModuleKeyword */)); + var declaration = ts.getDeclarationOfKind(symbol, 261 /* SyntaxKind.ModuleDeclaration */); + var isNamespace = declaration && declaration.name && declaration.name.kind === 79 /* SyntaxKind.Identifier */; + displayParts.push(ts.keywordPart(isNamespace ? 142 /* SyntaxKind.NamespaceKeyword */ : 141 /* SyntaxKind.ModuleKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); } - if ((symbolFlags & 262144 /* TypeParameter */) && (semanticMeaning & 2 /* Type */)) { + if ((symbolFlags & 262144 /* SymbolFlags.TypeParameter */) && (semanticMeaning & 2 /* SemanticMeaning.Type */)) { prefixNextMeaning(); - displayParts.push(ts.punctuationPart(20 /* OpenParenToken */)); + displayParts.push(ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)); displayParts.push(ts.textPart("type parameter")); - displayParts.push(ts.punctuationPart(21 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); if (symbol.parent) { @@ -144621,7 +145208,7 @@ var ts; } else { // Method/function type parameter - var decl = ts.getDeclarationOfKind(symbol, 163 /* TypeParameter */); + var decl = ts.getDeclarationOfKind(symbol, 163 /* SyntaxKind.TypeParameter */); if (decl === undefined) return ts.Debug.fail(); var declaration = decl.parent; @@ -144629,21 +145216,21 @@ var ts; if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); var signature = typeChecker.getSignatureFromDeclaration(declaration); // TODO: GH#18217 - if (declaration.kind === 175 /* ConstructSignature */) { - displayParts.push(ts.keywordPart(103 /* NewKeyword */)); + if (declaration.kind === 175 /* SyntaxKind.ConstructSignature */) { + displayParts.push(ts.keywordPart(103 /* SyntaxKind.NewKeyword */)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 174 /* CallSignature */ && declaration.name) { + else if (declaration.kind !== 174 /* SyntaxKind.CallSignature */ && declaration.name) { addFullSymbolName(declaration.symbol); } - ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* WriteTypeArgumentsOfSignature */)); + ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* TypeFormatFlags.WriteTypeArgumentsOfSignature */)); } - else if (declaration.kind === 259 /* TypeAliasDeclaration */) { + else if (declaration.kind === 259 /* SyntaxKind.TypeAliasDeclaration */) { // Type alias type parameter // For example // type list = T[]; // Both T will go through same code path addInPrefix(); - displayParts.push(ts.keywordPart(152 /* TypeKeyword */)); + displayParts.push(ts.keywordPart(152 /* SyntaxKind.TypeKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(declaration.symbol); writeTypeParametersOfSymbol(declaration.symbol, sourceFile); @@ -144651,22 +145238,22 @@ var ts; } } } - if (symbolFlags & 8 /* EnumMember */) { - symbolKind = "enum member" /* enumMemberElement */; + if (symbolFlags & 8 /* SymbolFlags.EnumMember */) { + symbolKind = "enum member" /* ScriptElementKind.enumMemberElement */; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a[0]; - if ((declaration === null || declaration === void 0 ? void 0 : declaration.kind) === 299 /* EnumMember */) { + if ((declaration === null || declaration === void 0 ? void 0 : declaration.kind) === 299 /* SyntaxKind.EnumMember */) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(63 /* EqualsToken */)); + displayParts.push(ts.operatorPart(63 /* SyntaxKind.EqualsToken */)); displayParts.push(ts.spacePart()); displayParts.push(ts.displayPart(ts.getTextOfConstantValue(constantValue), typeof constantValue === "number" ? ts.SymbolDisplayPartKind.numericLiteral : ts.SymbolDisplayPartKind.stringLiteral)); } } } // don't use symbolFlags since getAliasedSymbol requires the flag on the symbol itself - if (symbol.flags & 2097152 /* Alias */) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { prefixNextMeaning(); if (!hasAddedSymbolInfo) { var resolvedSymbol = typeChecker.getAliasedSymbol(symbol); @@ -144675,7 +145262,7 @@ var ts; var declarationName = ts.getNameOfDeclaration(resolvedNode); if (declarationName) { var isExternalModuleDeclaration = ts.isModuleWithStringLiteralName(resolvedNode) && - ts.hasSyntacticModifier(resolvedNode, 2 /* Ambient */); + ts.hasSyntacticModifier(resolvedNode, 2 /* ModifierFlags.Ambient */); var shouldUseAliasName = symbol.name !== "default" && !isExternalModuleDeclaration; var resolvedInfo = getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, resolvedSymbol, ts.getSourceFileOfNode(resolvedNode), resolvedNode, declarationName, semanticMeaning, shouldUseAliasName ? symbol : resolvedSymbol); displayParts.push.apply(displayParts, resolvedInfo.displayParts); @@ -144691,42 +145278,42 @@ var ts; } if (symbol.declarations) { switch (symbol.declarations[0].kind) { - case 264 /* NamespaceExportDeclaration */: - displayParts.push(ts.keywordPart(93 /* ExportKeyword */)); + case 264 /* SyntaxKind.NamespaceExportDeclaration */: + displayParts.push(ts.keywordPart(93 /* SyntaxKind.ExportKeyword */)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(142 /* NamespaceKeyword */)); + displayParts.push(ts.keywordPart(142 /* SyntaxKind.NamespaceKeyword */)); break; - case 271 /* ExportAssignment */: - displayParts.push(ts.keywordPart(93 /* ExportKeyword */)); + case 271 /* SyntaxKind.ExportAssignment */: + displayParts.push(ts.keywordPart(93 /* SyntaxKind.ExportKeyword */)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 63 /* EqualsToken */ : 88 /* DefaultKeyword */)); + displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 63 /* SyntaxKind.EqualsToken */ : 88 /* SyntaxKind.DefaultKeyword */)); break; - case 275 /* ExportSpecifier */: - displayParts.push(ts.keywordPart(93 /* ExportKeyword */)); + case 275 /* SyntaxKind.ExportSpecifier */: + displayParts.push(ts.keywordPart(93 /* SyntaxKind.ExportKeyword */)); break; default: - displayParts.push(ts.keywordPart(100 /* ImportKeyword */)); + displayParts.push(ts.keywordPart(100 /* SyntaxKind.ImportKeyword */)); } } displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 265 /* ImportEqualsDeclaration */) { + if (declaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(63 /* EqualsToken */)); + displayParts.push(ts.operatorPart(63 /* SyntaxKind.EqualsToken */)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(146 /* RequireKeyword */)); - displayParts.push(ts.punctuationPart(20 /* OpenParenToken */)); + displayParts.push(ts.keywordPart(146 /* SyntaxKind.RequireKeyword */)); + displayParts.push(ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)); displayParts.push(ts.displayPart(ts.getTextOfNode(ts.getExternalModuleImportEqualsDeclarationExpression(importEqualsDeclaration)), ts.SymbolDisplayPartKind.stringLiteral)); - displayParts.push(ts.punctuationPart(21 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)); } else { var internalAliasSymbol = typeChecker.getSymbolAtLocation(importEqualsDeclaration.moduleReference); if (internalAliasSymbol) { displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(63 /* EqualsToken */)); + displayParts.push(ts.operatorPart(63 /* SyntaxKind.EqualsToken */)); displayParts.push(ts.spacePart()); addFullSymbolName(internalAliasSymbol, enclosingDeclaration); } @@ -144736,30 +145323,30 @@ var ts; }); } if (!hasAddedSymbolInfo) { - if (symbolKind !== "" /* unknown */) { + if (symbolKind !== "" /* ScriptElementKind.unknown */) { if (type) { if (isThisExpression) { prefixNextMeaning(); - displayParts.push(ts.keywordPart(108 /* ThisKeyword */)); + displayParts.push(ts.keywordPart(108 /* SyntaxKind.ThisKeyword */)); } else { addPrefixForAnyFunctionOrVar(symbol, symbolKind); } // For properties, variables and local vars: show the type - if (symbolKind === "property" /* memberVariableElement */ || - symbolKind === "getter" /* memberGetAccessorElement */ || - symbolKind === "setter" /* memberSetAccessorElement */ || - symbolKind === "JSX attribute" /* jsxAttribute */ || - symbolFlags & 3 /* Variable */ || - symbolKind === "local var" /* localVariableElement */ || + if (symbolKind === "property" /* ScriptElementKind.memberVariableElement */ || + symbolKind === "getter" /* ScriptElementKind.memberGetAccessorElement */ || + symbolKind === "setter" /* ScriptElementKind.memberSetAccessorElement */ || + symbolKind === "JSX attribute" /* ScriptElementKind.jsxAttribute */ || + symbolFlags & 3 /* SymbolFlags.Variable */ || + symbolKind === "local var" /* ScriptElementKind.localVariableElement */ || isThisExpression) { - displayParts.push(ts.punctuationPart(58 /* ColonToken */)); + displayParts.push(ts.punctuationPart(58 /* SyntaxKind.ColonToken */)); displayParts.push(ts.spacePart()); // If the type is type parameter, format it specially - if (type.symbol && type.symbol.flags & 262144 /* TypeParameter */) { + if (type.symbol && type.symbol.flags & 262144 /* SymbolFlags.TypeParameter */) { var typeParameterParts = ts.mapToDisplayParts(function (writer) { var param = typeChecker.typeParameterToDeclaration(type, enclosingDeclaration, symbolDisplayNodeBuilderFlags); - getPrinter().writeNode(4 /* Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosingDeclaration)), writer); + getPrinter().writeNode(4 /* EmitHint.Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosingDeclaration)), writer); }); ts.addRange(displayParts, typeParameterParts); } @@ -144770,17 +145357,17 @@ var ts; var labelDecl = symbol.target.tupleLabelDeclaration; ts.Debug.assertNode(labelDecl.name, ts.isIdentifier); displayParts.push(ts.spacePart()); - displayParts.push(ts.punctuationPart(20 /* OpenParenToken */)); + displayParts.push(ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)); displayParts.push(ts.textPart(ts.idText(labelDecl.name))); - displayParts.push(ts.punctuationPart(21 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)); } } - else if (symbolFlags & 16 /* Function */ || - symbolFlags & 8192 /* Method */ || - symbolFlags & 16384 /* Constructor */ || - symbolFlags & 131072 /* Signature */ || - symbolFlags & 98304 /* Accessor */ || - symbolKind === "method" /* memberFunctionElement */) { + else if (symbolFlags & 16 /* SymbolFlags.Function */ || + symbolFlags & 8192 /* SymbolFlags.Method */ || + symbolFlags & 16384 /* SymbolFlags.Constructor */ || + symbolFlags & 131072 /* SymbolFlags.Signature */ || + symbolFlags & 98304 /* SymbolFlags.Accessor */ || + symbolKind === "method" /* ScriptElementKind.memberFunctionElement */) { var allSignatures = type.getNonNullableType().getCallSignatures(); if (allSignatures.length) { addSignatureDisplayParts(allSignatures[0], allSignatures); @@ -144796,14 +145383,14 @@ var ts; if (documentation.length === 0 && !hasMultipleSignatures) { documentation = symbol.getContextualDocumentationComment(enclosingDeclaration, typeChecker); } - if (documentation.length === 0 && symbolFlags & 4 /* Property */) { + if (documentation.length === 0 && symbolFlags & 4 /* SymbolFlags.Property */) { // For some special property access expressions like `exports.foo = foo` or `module.exports.foo = foo` // there documentation comments might be attached to the right hand side symbol of their declarations. // The pattern of such special property access is that the parent symbol is the symbol of the file. - if (symbol.parent && symbol.declarations && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 305 /* SourceFile */; })) { + if (symbol.parent && symbol.declarations && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 305 /* SyntaxKind.SourceFile */; })) { for (var _i = 0, _b = symbol.declarations; _i < _b.length; _i++) { var declaration = _b[_i]; - if (!declaration.parent || declaration.parent.kind !== 221 /* BinaryExpression */) { + if (!declaration.parent || declaration.parent.kind !== 221 /* SyntaxKind.BinaryExpression */) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -144854,23 +145441,23 @@ var ts; } function addAliasPrefixIfNecessary() { if (alias) { - pushSymbolKind("alias" /* alias */); + pushSymbolKind("alias" /* ScriptElementKind.alias */); displayParts.push(ts.spacePart()); } } function addInPrefix() { displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(101 /* InKeyword */)); + displayParts.push(ts.keywordPart(101 /* SyntaxKind.InKeyword */)); displayParts.push(ts.spacePart()); } function addFullSymbolName(symbolToDisplay, enclosingDeclaration) { if (alias && symbolToDisplay === symbol) { symbolToDisplay = alias; } - var fullSymbolDisplayParts = ts.symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, 1 /* WriteTypeParametersOrArguments */ | 2 /* UseOnlyExternalAliasing */ | 4 /* AllowAnyNodeKind */); + var fullSymbolDisplayParts = ts.symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, 1 /* SymbolFormatFlags.WriteTypeParametersOrArguments */ | 2 /* SymbolFormatFlags.UseOnlyExternalAliasing */ | 4 /* SymbolFormatFlags.AllowAnyNodeKind */); ts.addRange(displayParts, fullSymbolDisplayParts); - if (symbol.flags & 16777216 /* Optional */) { - displayParts.push(ts.punctuationPart(57 /* QuestionToken */)); + if (symbol.flags & 16777216 /* SymbolFlags.Optional */) { + displayParts.push(ts.punctuationPart(57 /* SyntaxKind.QuestionToken */)); } } function addPrefixForAnyFunctionOrVar(symbol, symbolKind) { @@ -144885,31 +145472,31 @@ var ts; } function pushSymbolKind(symbolKind) { switch (symbolKind) { - case "var" /* variableElement */: - case "function" /* functionElement */: - case "let" /* letElement */: - case "const" /* constElement */: - case "constructor" /* constructorImplementationElement */: + case "var" /* ScriptElementKind.variableElement */: + case "function" /* ScriptElementKind.functionElement */: + case "let" /* ScriptElementKind.letElement */: + case "const" /* ScriptElementKind.constElement */: + case "constructor" /* ScriptElementKind.constructorImplementationElement */: displayParts.push(ts.textOrKeywordPart(symbolKind)); return; default: - displayParts.push(ts.punctuationPart(20 /* OpenParenToken */)); + displayParts.push(ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)); displayParts.push(ts.textOrKeywordPart(symbolKind)); - displayParts.push(ts.punctuationPart(21 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)); return; } } function addSignatureDisplayParts(signature, allSignatures, flags) { - if (flags === void 0) { flags = 0 /* None */; } - ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | 32 /* WriteTypeArgumentsOfSignature */)); + if (flags === void 0) { flags = 0 /* TypeFormatFlags.None */; } + ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | 32 /* TypeFormatFlags.WriteTypeArgumentsOfSignature */)); if (allSignatures.length > 1) { displayParts.push(ts.spacePart()); - displayParts.push(ts.punctuationPart(20 /* OpenParenToken */)); - displayParts.push(ts.operatorPart(39 /* PlusToken */)); + displayParts.push(ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)); + displayParts.push(ts.operatorPart(39 /* SyntaxKind.PlusToken */)); displayParts.push(ts.displayPart((allSignatures.length - 1).toString(), ts.SymbolDisplayPartKind.numericLiteral)); displayParts.push(ts.spacePart()); displayParts.push(ts.textPart(allSignatures.length === 2 ? "overload" : "overloads")); - displayParts.push(ts.punctuationPart(21 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)); } documentation = signature.getDocumentationComment(typeChecker); tags = signature.getJsDocTags(); @@ -144921,7 +145508,7 @@ var ts; function writeTypeParametersOfSymbol(symbol, enclosingDeclaration) { var typeParameterParts = ts.mapToDisplayParts(function (writer) { var params = typeChecker.symbolToTypeParameterDeclarations(symbol, enclosingDeclaration, symbolDisplayNodeBuilderFlags); - getPrinter().writeList(53776 /* TypeParameters */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosingDeclaration)), writer); + getPrinter().writeList(53776 /* ListFormat.TypeParameters */, params, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosingDeclaration)), writer); }); ts.addRange(displayParts, typeParameterParts); } @@ -144933,16 +145520,16 @@ var ts; } return ts.forEach(symbol.declarations, function (declaration) { // Function expressions are local - if (declaration.kind === 213 /* FunctionExpression */) { + if (declaration.kind === 213 /* SyntaxKind.FunctionExpression */) { return true; } - if (declaration.kind !== 254 /* VariableDeclaration */ && declaration.kind !== 256 /* FunctionDeclaration */) { + if (declaration.kind !== 254 /* SyntaxKind.VariableDeclaration */ && declaration.kind !== 256 /* SyntaxKind.FunctionDeclaration */) { return false; } // If the parent is not sourceFile or module block it is local variable for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { // Reached source file or module block - if (parent.kind === 305 /* SourceFile */ || parent.kind === 262 /* ModuleBlock */) { + if (parent.kind === 305 /* SyntaxKind.SourceFile */ || parent.kind === 262 /* SyntaxKind.ModuleBlock */) { return false; } } @@ -145147,8 +145734,8 @@ var ts; return startLine === endLine; }; FormattingContext.prototype.BlockIsOnOneLine = function (node) { - var openBrace = ts.findChildOfKind(node, 18 /* OpenBraceToken */, this.sourceFile); - var closeBrace = ts.findChildOfKind(node, 19 /* CloseBraceToken */, this.sourceFile); + var openBrace = ts.findChildOfKind(node, 18 /* SyntaxKind.OpenBraceToken */, this.sourceFile); + var closeBrace = ts.findChildOfKind(node, 19 /* SyntaxKind.CloseBraceToken */, this.sourceFile); if (openBrace && closeBrace) { var startLine = this.sourceFile.getLineAndCharacterOfPosition(openBrace.getEnd()).line; var endLine = this.sourceFile.getLineAndCharacterOfPosition(closeBrace.getStart(this.sourceFile)).line; @@ -145166,8 +145753,8 @@ var ts; (function (ts) { var formatting; (function (formatting) { - var standardScanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ false, 0 /* Standard */); - var jsxScanner = ts.createScanner(99 /* Latest */, /*skipTrivia*/ false, 1 /* JSX */); + var standardScanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ false, 0 /* LanguageVariant.Standard */); + var jsxScanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ false, 1 /* LanguageVariant.JSX */); var ScanAction; (function (ScanAction) { ScanAction[ScanAction["Scan"] = 0] = "Scan"; @@ -145179,7 +145766,7 @@ var ts; ScanAction[ScanAction["RescanJsxAttributeValue"] = 6] = "RescanJsxAttributeValue"; })(ScanAction || (ScanAction = {})); function getFormattingScanner(text, languageVariant, startPos, endPos, cb) { - var scanner = languageVariant === 1 /* JSX */ ? jsxScanner : standardScanner; + var scanner = languageVariant === 1 /* LanguageVariant.JSX */ ? jsxScanner : standardScanner; scanner.setText(text); scanner.setTextPos(startPos); var wasNewLine = true; @@ -145207,7 +145794,7 @@ var ts; lastTokenInfo = undefined; var isStarted = scanner.getStartPos() !== startPos; if (isStarted) { - wasNewLine = !!trailingTrivia && ts.last(trailingTrivia).kind === 4 /* NewLineTrivia */; + wasNewLine = !!trailingTrivia && ts.last(trailingTrivia).kind === 4 /* SyntaxKind.NewLineTrivia */; } else { scanner.scan(); @@ -145235,11 +145822,11 @@ var ts; } function shouldRescanGreaterThanToken(node) { switch (node.kind) { - case 33 /* GreaterThanEqualsToken */: - case 71 /* GreaterThanGreaterThanEqualsToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 49 /* GreaterThanGreaterThanGreaterThanToken */: - case 48 /* GreaterThanGreaterThanToken */: + case 33 /* SyntaxKind.GreaterThanEqualsToken */: + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: return true; } return false; @@ -145247,12 +145834,12 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 285 /* JsxAttribute */: - case 280 /* JsxOpeningElement */: - case 281 /* JsxClosingElement */: - case 279 /* JsxSelfClosingElement */: + case 285 /* SyntaxKind.JsxAttribute */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 281 /* SyntaxKind.JsxClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: // May parse an identifier like `module-layout`; that will be scanned as a keyword at first, but we should parse the whole thing to get an identifier. - return ts.isKeyword(node.kind) || node.kind === 79 /* Identifier */; + return ts.isKeyword(node.kind) || node.kind === 79 /* SyntaxKind.Identifier */; } } return false; @@ -145261,29 +145848,29 @@ var ts; return ts.isJsxText(node); } function shouldRescanSlashToken(container) { - return container.kind === 13 /* RegularExpressionLiteral */; + return container.kind === 13 /* SyntaxKind.RegularExpressionLiteral */; } function shouldRescanTemplateToken(container) { - return container.kind === 16 /* TemplateMiddle */ || - container.kind === 17 /* TemplateTail */; + return container.kind === 16 /* SyntaxKind.TemplateMiddle */ || + container.kind === 17 /* SyntaxKind.TemplateTail */; } function shouldRescanJsxAttributeValue(node) { return node.parent && ts.isJsxAttribute(node.parent) && node.parent.initializer === node; } function startsWithSlashToken(t) { - return t === 43 /* SlashToken */ || t === 68 /* SlashEqualsToken */; + return t === 43 /* SyntaxKind.SlashToken */ || t === 68 /* SyntaxKind.SlashEqualsToken */; } function readTokenInfo(n) { ts.Debug.assert(isOnToken()); // normally scanner returns the smallest available token // check the kind of context node to determine if scanner should have more greedy behavior and consume more text. - var expectedScanAction = shouldRescanGreaterThanToken(n) ? 1 /* RescanGreaterThanToken */ : - shouldRescanSlashToken(n) ? 2 /* RescanSlashToken */ : - shouldRescanTemplateToken(n) ? 3 /* RescanTemplateToken */ : - shouldRescanJsxIdentifier(n) ? 4 /* RescanJsxIdentifier */ : - shouldRescanJsxText(n) ? 5 /* RescanJsxText */ : - shouldRescanJsxAttributeValue(n) ? 6 /* RescanJsxAttributeValue */ : - 0 /* Scan */; + var expectedScanAction = shouldRescanGreaterThanToken(n) ? 1 /* ScanAction.RescanGreaterThanToken */ : + shouldRescanSlashToken(n) ? 2 /* ScanAction.RescanSlashToken */ : + shouldRescanTemplateToken(n) ? 3 /* ScanAction.RescanTemplateToken */ : + shouldRescanJsxIdentifier(n) ? 4 /* ScanAction.RescanJsxIdentifier */ : + shouldRescanJsxText(n) ? 5 /* ScanAction.RescanJsxText */ : + shouldRescanJsxAttributeValue(n) ? 6 /* ScanAction.RescanJsxAttributeValue */ : + 0 /* ScanAction.Scan */; if (lastTokenInfo && expectedScanAction === lastScanAction) { // readTokenInfo was called before with the same expected scan action. // No need to re-scan text, return existing 'lastTokenInfo' @@ -145315,7 +145902,7 @@ var ts; trailingTrivia = []; } trailingTrivia.push(trivia); - if (currentToken === 4 /* NewLineTrivia */) { + if (currentToken === 4 /* SyntaxKind.NewLineTrivia */) { // move past new line scanner.scan(); break; @@ -145326,40 +145913,40 @@ var ts; } function getNextToken(n, expectedScanAction) { var token = scanner.getToken(); - lastScanAction = 0 /* Scan */; + lastScanAction = 0 /* ScanAction.Scan */; switch (expectedScanAction) { - case 1 /* RescanGreaterThanToken */: - if (token === 31 /* GreaterThanToken */) { - lastScanAction = 1 /* RescanGreaterThanToken */; + case 1 /* ScanAction.RescanGreaterThanToken */: + if (token === 31 /* SyntaxKind.GreaterThanToken */) { + lastScanAction = 1 /* ScanAction.RescanGreaterThanToken */; var newToken = scanner.reScanGreaterToken(); ts.Debug.assert(n.kind === newToken); return newToken; } break; - case 2 /* RescanSlashToken */: + case 2 /* ScanAction.RescanSlashToken */: if (startsWithSlashToken(token)) { - lastScanAction = 2 /* RescanSlashToken */; + lastScanAction = 2 /* ScanAction.RescanSlashToken */; var newToken = scanner.reScanSlashToken(); ts.Debug.assert(n.kind === newToken); return newToken; } break; - case 3 /* RescanTemplateToken */: - if (token === 19 /* CloseBraceToken */) { - lastScanAction = 3 /* RescanTemplateToken */; + case 3 /* ScanAction.RescanTemplateToken */: + if (token === 19 /* SyntaxKind.CloseBraceToken */) { + lastScanAction = 3 /* ScanAction.RescanTemplateToken */; return scanner.reScanTemplateToken(/* isTaggedTemplate */ false); } break; - case 4 /* RescanJsxIdentifier */: - lastScanAction = 4 /* RescanJsxIdentifier */; + case 4 /* ScanAction.RescanJsxIdentifier */: + lastScanAction = 4 /* ScanAction.RescanJsxIdentifier */; return scanner.scanJsxIdentifier(); - case 5 /* RescanJsxText */: - lastScanAction = 5 /* RescanJsxText */; + case 5 /* ScanAction.RescanJsxText */: + lastScanAction = 5 /* ScanAction.RescanJsxText */; return scanner.reScanJsxToken(/* allowMultilineJsxText */ false); - case 6 /* RescanJsxAttributeValue */: - lastScanAction = 6 /* RescanJsxAttributeValue */; + case 6 /* ScanAction.RescanJsxAttributeValue */: + lastScanAction = 6 /* ScanAction.RescanJsxAttributeValue */; return scanner.reScanJsxAttributeValue(); - case 0 /* Scan */: + case 0 /* ScanAction.Scan */: break; default: ts.Debug.assertNever(expectedScanAction); @@ -145368,15 +145955,15 @@ var ts; } function readEOFTokenRange() { ts.Debug.assert(isOnEOF()); - return formatting.createTextRangeWithKind(scanner.getStartPos(), scanner.getTextPos(), 1 /* EndOfFileToken */); + return formatting.createTextRangeWithKind(scanner.getStartPos(), scanner.getTextPos(), 1 /* SyntaxKind.EndOfFileToken */); } function isOnToken() { var current = lastTokenInfo ? lastTokenInfo.token.kind : scanner.getToken(); - return current !== 1 /* EndOfFileToken */ && !ts.isTrivia(current); + return current !== 1 /* SyntaxKind.EndOfFileToken */ && !ts.isTrivia(current); } function isOnEOF() { var current = lastTokenInfo ? lastTokenInfo.token.kind : scanner.getToken(); - return current === 1 /* EndOfFileToken */; + return current === 1 /* SyntaxKind.EndOfFileToken */; } // when containing node in the tree is token // but its kind differs from the kind that was returned by the scanner, @@ -145443,8 +146030,8 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0 /* FirstToken */; token <= 160 /* LastToken */; token++) { - if (token !== 1 /* EndOfFileToken */) { + for (var token = 0 /* SyntaxKind.FirstToken */; token <= 160 /* SyntaxKind.LastToken */; token++) { + if (token !== 1 /* SyntaxKind.EndOfFileToken */) { allTokens.push(token); } } @@ -145456,263 +146043,263 @@ var ts; return { tokens: allTokens.filter(function (t) { return !tokens.some(function (t2) { return t2 === t; }); }), isSpecific: false }; } var anyToken = { tokens: allTokens, isSpecific: false }; - var anyTokenIncludingMultilineComments = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [3 /* MultiLineCommentTrivia */], false)); - var anyTokenIncludingEOF = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [1 /* EndOfFileToken */], false)); - var keywords = tokenRangeFromRange(81 /* FirstKeyword */, 160 /* LastKeyword */); - var binaryOperators = tokenRangeFromRange(29 /* FirstBinaryOperator */, 78 /* LastBinaryOperator */); - var binaryKeywordOperators = [101 /* InKeyword */, 102 /* InstanceOfKeyword */, 160 /* OfKeyword */, 127 /* AsKeyword */, 139 /* IsKeyword */]; - var unaryPrefixOperators = [45 /* PlusPlusToken */, 46 /* MinusMinusToken */, 54 /* TildeToken */, 53 /* ExclamationToken */]; + var anyTokenIncludingMultilineComments = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [3 /* SyntaxKind.MultiLineCommentTrivia */], false)); + var anyTokenIncludingEOF = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [1 /* SyntaxKind.EndOfFileToken */], false)); + var keywords = tokenRangeFromRange(81 /* SyntaxKind.FirstKeyword */, 160 /* SyntaxKind.LastKeyword */); + var binaryOperators = tokenRangeFromRange(29 /* SyntaxKind.FirstBinaryOperator */, 78 /* SyntaxKind.LastBinaryOperator */); + var binaryKeywordOperators = [101 /* SyntaxKind.InKeyword */, 102 /* SyntaxKind.InstanceOfKeyword */, 160 /* SyntaxKind.OfKeyword */, 127 /* SyntaxKind.AsKeyword */, 139 /* SyntaxKind.IsKeyword */]; + var unaryPrefixOperators = [45 /* SyntaxKind.PlusPlusToken */, 46 /* SyntaxKind.MinusMinusToken */, 54 /* SyntaxKind.TildeToken */, 53 /* SyntaxKind.ExclamationToken */]; var unaryPrefixExpressions = [ - 8 /* NumericLiteral */, 9 /* BigIntLiteral */, 79 /* Identifier */, 20 /* OpenParenToken */, - 22 /* OpenBracketToken */, 18 /* OpenBraceToken */, 108 /* ThisKeyword */, 103 /* NewKeyword */ + 8 /* SyntaxKind.NumericLiteral */, 9 /* SyntaxKind.BigIntLiteral */, 79 /* SyntaxKind.Identifier */, 20 /* SyntaxKind.OpenParenToken */, + 22 /* SyntaxKind.OpenBracketToken */, 18 /* SyntaxKind.OpenBraceToken */, 108 /* SyntaxKind.ThisKeyword */, 103 /* SyntaxKind.NewKeyword */ ]; - var unaryPreincrementExpressions = [79 /* Identifier */, 20 /* OpenParenToken */, 108 /* ThisKeyword */, 103 /* NewKeyword */]; - var unaryPostincrementExpressions = [79 /* Identifier */, 21 /* CloseParenToken */, 23 /* CloseBracketToken */, 103 /* NewKeyword */]; - var unaryPredecrementExpressions = [79 /* Identifier */, 20 /* OpenParenToken */, 108 /* ThisKeyword */, 103 /* NewKeyword */]; - var unaryPostdecrementExpressions = [79 /* Identifier */, 21 /* CloseParenToken */, 23 /* CloseBracketToken */, 103 /* NewKeyword */]; - var comments = [2 /* SingleLineCommentTrivia */, 3 /* MultiLineCommentTrivia */]; - var typeNames = __spreadArray([79 /* Identifier */], ts.typeKeywords, true); + var unaryPreincrementExpressions = [79 /* SyntaxKind.Identifier */, 20 /* SyntaxKind.OpenParenToken */, 108 /* SyntaxKind.ThisKeyword */, 103 /* SyntaxKind.NewKeyword */]; + var unaryPostincrementExpressions = [79 /* SyntaxKind.Identifier */, 21 /* SyntaxKind.CloseParenToken */, 23 /* SyntaxKind.CloseBracketToken */, 103 /* SyntaxKind.NewKeyword */]; + var unaryPredecrementExpressions = [79 /* SyntaxKind.Identifier */, 20 /* SyntaxKind.OpenParenToken */, 108 /* SyntaxKind.ThisKeyword */, 103 /* SyntaxKind.NewKeyword */]; + var unaryPostdecrementExpressions = [79 /* SyntaxKind.Identifier */, 21 /* SyntaxKind.CloseParenToken */, 23 /* SyntaxKind.CloseBracketToken */, 103 /* SyntaxKind.NewKeyword */]; + var comments = [2 /* SyntaxKind.SingleLineCommentTrivia */, 3 /* SyntaxKind.MultiLineCommentTrivia */]; + var typeNames = __spreadArray([79 /* SyntaxKind.Identifier */], ts.typeKeywords, true); // Place a space before open brace in a function declaration // TypeScript: Function can have return types, which can be made of tons of different token kinds var functionOpenBraceLeftTokenRange = anyTokenIncludingMultilineComments; // Place a space before open brace in a TypeScript declaration that has braces as children (class, module, enum, etc) - var typeScriptOpenBraceLeftTokenRange = tokenRangeFrom([79 /* Identifier */, 3 /* MultiLineCommentTrivia */, 84 /* ClassKeyword */, 93 /* ExportKeyword */, 100 /* ImportKeyword */]); + var typeScriptOpenBraceLeftTokenRange = tokenRangeFrom([79 /* SyntaxKind.Identifier */, 3 /* SyntaxKind.MultiLineCommentTrivia */, 84 /* SyntaxKind.ClassKeyword */, 93 /* SyntaxKind.ExportKeyword */, 100 /* SyntaxKind.ImportKeyword */]); // Place a space before open brace in a control flow construct - var controlOpenBraceLeftTokenRange = tokenRangeFrom([21 /* CloseParenToken */, 3 /* MultiLineCommentTrivia */, 90 /* DoKeyword */, 111 /* TryKeyword */, 96 /* FinallyKeyword */, 91 /* ElseKeyword */]); + var controlOpenBraceLeftTokenRange = tokenRangeFrom([21 /* SyntaxKind.CloseParenToken */, 3 /* SyntaxKind.MultiLineCommentTrivia */, 90 /* SyntaxKind.DoKeyword */, 111 /* SyntaxKind.TryKeyword */, 96 /* SyntaxKind.FinallyKeyword */, 91 /* SyntaxKind.ElseKeyword */]); // These rules are higher in priority than user-configurable var highPriorityCommonRules = [ // Leave comments alone - rule("IgnoreBeforeComment", anyToken, comments, formatting.anyContext, 1 /* StopProcessingSpaceActions */), - rule("IgnoreAfterLineComment", 2 /* SingleLineCommentTrivia */, anyToken, formatting.anyContext, 1 /* StopProcessingSpaceActions */), - rule("NotSpaceBeforeColon", anyToken, 58 /* ColonToken */, [isNonJsxSameLineTokenContext, isNotBinaryOpContext, isNotTypeAnnotationContext], 16 /* DeleteSpace */), - rule("SpaceAfterColon", 58 /* ColonToken */, anyToken, [isNonJsxSameLineTokenContext, isNotBinaryOpContext], 4 /* InsertSpace */), - rule("NoSpaceBeforeQuestionMark", anyToken, 57 /* QuestionToken */, [isNonJsxSameLineTokenContext, isNotBinaryOpContext, isNotTypeAnnotationContext], 16 /* DeleteSpace */), + rule("IgnoreBeforeComment", anyToken, comments, formatting.anyContext, 1 /* RuleAction.StopProcessingSpaceActions */), + rule("IgnoreAfterLineComment", 2 /* SyntaxKind.SingleLineCommentTrivia */, anyToken, formatting.anyContext, 1 /* RuleAction.StopProcessingSpaceActions */), + rule("NotSpaceBeforeColon", anyToken, 58 /* SyntaxKind.ColonToken */, [isNonJsxSameLineTokenContext, isNotBinaryOpContext, isNotTypeAnnotationContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceAfterColon", 58 /* SyntaxKind.ColonToken */, anyToken, [isNonJsxSameLineTokenContext, isNotBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeQuestionMark", anyToken, 57 /* SyntaxKind.QuestionToken */, [isNonJsxSameLineTokenContext, isNotBinaryOpContext, isNotTypeAnnotationContext], 16 /* RuleAction.DeleteSpace */), // insert space after '?' only when it is used in conditional operator - rule("SpaceAfterQuestionMarkInConditionalOperator", 57 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isConditionalOperatorContext], 4 /* InsertSpace */), + rule("SpaceAfterQuestionMarkInConditionalOperator", 57 /* SyntaxKind.QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isConditionalOperatorContext], 4 /* RuleAction.InsertSpace */), // in other cases there should be no space between '?' and next token - rule("NoSpaceAfterQuestionMark", 57 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeDot", anyToken, [24 /* DotToken */, 28 /* QuestionDotToken */], [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterDot", [24 /* DotToken */, 28 /* QuestionDotToken */], anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBetweenImportParenInImportType", 100 /* ImportKeyword */, 20 /* OpenParenToken */, [isNonJsxSameLineTokenContext, isImportTypeContext], 16 /* DeleteSpace */), + rule("NoSpaceAfterQuestionMark", 57 /* SyntaxKind.QuestionToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeDot", anyToken, [24 /* SyntaxKind.DotToken */, 28 /* SyntaxKind.QuestionDotToken */], [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterDot", [24 /* SyntaxKind.DotToken */, 28 /* SyntaxKind.QuestionDotToken */], anyToken, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBetweenImportParenInImportType", 100 /* SyntaxKind.ImportKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext, isImportTypeContext], 16 /* RuleAction.DeleteSpace */), // Special handling of unary operators. // Prefix operators generally shouldn't have a space between // them and their target unary expression. - rule("NoSpaceAfterUnaryPrefixOperator", unaryPrefixOperators, unaryPrefixExpressions, [isNonJsxSameLineTokenContext, isNotBinaryOpContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterUnaryPreincrementOperator", 45 /* PlusPlusToken */, unaryPreincrementExpressions, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterUnaryPredecrementOperator", 46 /* MinusMinusToken */, unaryPredecrementExpressions, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeUnaryPostincrementOperator", unaryPostincrementExpressions, 45 /* PlusPlusToken */, [isNonJsxSameLineTokenContext, isNotStatementConditionContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeUnaryPostdecrementOperator", unaryPostdecrementExpressions, 46 /* MinusMinusToken */, [isNonJsxSameLineTokenContext, isNotStatementConditionContext], 16 /* DeleteSpace */), + rule("NoSpaceAfterUnaryPrefixOperator", unaryPrefixOperators, unaryPrefixExpressions, [isNonJsxSameLineTokenContext, isNotBinaryOpContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterUnaryPreincrementOperator", 45 /* SyntaxKind.PlusPlusToken */, unaryPreincrementExpressions, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterUnaryPredecrementOperator", 46 /* SyntaxKind.MinusMinusToken */, unaryPredecrementExpressions, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeUnaryPostincrementOperator", unaryPostincrementExpressions, 45 /* SyntaxKind.PlusPlusToken */, [isNonJsxSameLineTokenContext, isNotStatementConditionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeUnaryPostdecrementOperator", unaryPostdecrementExpressions, 46 /* SyntaxKind.MinusMinusToken */, [isNonJsxSameLineTokenContext, isNotStatementConditionContext], 16 /* RuleAction.DeleteSpace */), // More unary operator special-casing. // DevDiv 181814: Be careful when removing leading whitespace // around unary operators. Examples: // 1 - -2 --X--> 1--2 // a + ++b --X--> a+++b - rule("SpaceAfterPostincrementWhenFollowedByAdd", 45 /* PlusPlusToken */, 39 /* PlusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterAddWhenFollowedByUnaryPlus", 39 /* PlusToken */, 39 /* PlusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterAddWhenFollowedByPreincrement", 39 /* PlusToken */, 45 /* PlusPlusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterPostdecrementWhenFollowedBySubtract", 46 /* MinusMinusToken */, 40 /* MinusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterSubtractWhenFollowedByUnaryMinus", 40 /* MinusToken */, 40 /* MinusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterSubtractWhenFollowedByPredecrement", 40 /* MinusToken */, 46 /* MinusMinusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("NoSpaceAfterCloseBrace", 19 /* CloseBraceToken */, [27 /* CommaToken */, 26 /* SemicolonToken */], [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceAfterPostincrementWhenFollowedByAdd", 45 /* SyntaxKind.PlusPlusToken */, 39 /* SyntaxKind.PlusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterAddWhenFollowedByUnaryPlus", 39 /* SyntaxKind.PlusToken */, 39 /* SyntaxKind.PlusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterAddWhenFollowedByPreincrement", 39 /* SyntaxKind.PlusToken */, 45 /* SyntaxKind.PlusPlusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterPostdecrementWhenFollowedBySubtract", 46 /* SyntaxKind.MinusMinusToken */, 40 /* SyntaxKind.MinusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterSubtractWhenFollowedByUnaryMinus", 40 /* SyntaxKind.MinusToken */, 40 /* SyntaxKind.MinusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterSubtractWhenFollowedByPredecrement", 40 /* SyntaxKind.MinusToken */, 46 /* SyntaxKind.MinusMinusToken */, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterCloseBrace", 19 /* SyntaxKind.CloseBraceToken */, [27 /* SyntaxKind.CommaToken */, 26 /* SyntaxKind.SemicolonToken */], [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // For functions and control block place } on a new line [multi-line rule] - rule("NewLineBeforeCloseBraceInBlockContext", anyTokenIncludingMultilineComments, 19 /* CloseBraceToken */, [isMultilineBlockContext], 8 /* InsertNewLine */), + rule("NewLineBeforeCloseBraceInBlockContext", anyTokenIncludingMultilineComments, 19 /* SyntaxKind.CloseBraceToken */, [isMultilineBlockContext], 8 /* RuleAction.InsertNewLine */), // Space/new line after }. - rule("SpaceAfterCloseBrace", 19 /* CloseBraceToken */, anyTokenExcept(21 /* CloseParenToken */), [isNonJsxSameLineTokenContext, isAfterCodeBlockContext], 4 /* InsertSpace */), + rule("SpaceAfterCloseBrace", 19 /* SyntaxKind.CloseBraceToken */, anyTokenExcept(21 /* SyntaxKind.CloseParenToken */), [isNonJsxSameLineTokenContext, isAfterCodeBlockContext], 4 /* RuleAction.InsertSpace */), // Special case for (}, else) and (}, while) since else & while tokens are not part of the tree which makes SpaceAfterCloseBrace rule not applied // Also should not apply to }) - rule("SpaceBetweenCloseBraceAndElse", 19 /* CloseBraceToken */, 91 /* ElseKeyword */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBetweenCloseBraceAndWhile", 19 /* CloseBraceToken */, 115 /* WhileKeyword */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceBetweenEmptyBraceBrackets", 18 /* OpenBraceToken */, 19 /* CloseBraceToken */, [isNonJsxSameLineTokenContext, isObjectContext], 16 /* DeleteSpace */), + rule("SpaceBetweenCloseBraceAndElse", 19 /* SyntaxKind.CloseBraceToken */, 91 /* SyntaxKind.ElseKeyword */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBetweenCloseBraceAndWhile", 19 /* SyntaxKind.CloseBraceToken */, 115 /* SyntaxKind.WhileKeyword */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenEmptyBraceBrackets", 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, [isNonJsxSameLineTokenContext, isObjectContext], 16 /* RuleAction.DeleteSpace */), // Add a space after control dec context if the next character is an open bracket ex: 'if (false)[a, b] = [1, 2];' -> 'if (false) [a, b] = [1, 2];' - rule("SpaceAfterConditionalClosingParen", 21 /* CloseParenToken */, 22 /* OpenBracketToken */, [isControlDeclContext], 4 /* InsertSpace */), - rule("NoSpaceBetweenFunctionKeywordAndStar", 98 /* FunctionKeyword */, 41 /* AsteriskToken */, [isFunctionDeclarationOrFunctionExpressionContext], 16 /* DeleteSpace */), - rule("SpaceAfterStarInGeneratorDeclaration", 41 /* AsteriskToken */, 79 /* Identifier */, [isFunctionDeclarationOrFunctionExpressionContext], 4 /* InsertSpace */), - rule("SpaceAfterFunctionInFuncDecl", 98 /* FunctionKeyword */, anyToken, [isFunctionDeclContext], 4 /* InsertSpace */), + rule("SpaceAfterConditionalClosingParen", 21 /* SyntaxKind.CloseParenToken */, 22 /* SyntaxKind.OpenBracketToken */, [isControlDeclContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenFunctionKeywordAndStar", 98 /* SyntaxKind.FunctionKeyword */, 41 /* SyntaxKind.AsteriskToken */, [isFunctionDeclarationOrFunctionExpressionContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceAfterStarInGeneratorDeclaration", 41 /* SyntaxKind.AsteriskToken */, 79 /* SyntaxKind.Identifier */, [isFunctionDeclarationOrFunctionExpressionContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterFunctionInFuncDecl", 98 /* SyntaxKind.FunctionKeyword */, anyToken, [isFunctionDeclContext], 4 /* RuleAction.InsertSpace */), // Insert new line after { and before } in multi-line contexts. - rule("NewLineAfterOpenBraceInBlockContext", 18 /* OpenBraceToken */, anyToken, [isMultilineBlockContext], 8 /* InsertNewLine */), + rule("NewLineAfterOpenBraceInBlockContext", 18 /* SyntaxKind.OpenBraceToken */, anyToken, [isMultilineBlockContext], 8 /* RuleAction.InsertNewLine */), // For get/set members, we check for (identifier,identifier) since get/set don't have tokens and they are represented as just an identifier token. // Though, we do extra check on the context to make sure we are dealing with get/set node. Example: // get x() {} // set x(val) {} - rule("SpaceAfterGetSetInMember", [136 /* GetKeyword */, 149 /* SetKeyword */], 79 /* Identifier */, [isFunctionDeclContext], 4 /* InsertSpace */), - rule("NoSpaceBetweenYieldKeywordAndStar", 125 /* YieldKeyword */, 41 /* AsteriskToken */, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 16 /* DeleteSpace */), - rule("SpaceBetweenYieldOrYieldStarAndOperand", [125 /* YieldKeyword */, 41 /* AsteriskToken */], anyToken, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 4 /* InsertSpace */), - rule("NoSpaceBetweenReturnAndSemicolon", 105 /* ReturnKeyword */, 26 /* SemicolonToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("SpaceAfterCertainKeywords", [113 /* VarKeyword */, 109 /* ThrowKeyword */, 103 /* NewKeyword */, 89 /* DeleteKeyword */, 105 /* ReturnKeyword */, 112 /* TypeOfKeyword */, 132 /* AwaitKeyword */], anyToken, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceAfterLetConstInVariableDeclaration", [119 /* LetKeyword */, 85 /* ConstKeyword */], anyToken, [isNonJsxSameLineTokenContext, isStartOfVariableDeclarationList], 4 /* InsertSpace */), - rule("NoSpaceBeforeOpenParenInFuncCall", anyToken, 20 /* OpenParenToken */, [isNonJsxSameLineTokenContext, isFunctionCallOrNewContext, isPreviousTokenNotComma], 16 /* DeleteSpace */), + rule("SpaceAfterGetSetInMember", [136 /* SyntaxKind.GetKeyword */, 149 /* SyntaxKind.SetKeyword */], 79 /* SyntaxKind.Identifier */, [isFunctionDeclContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenYieldKeywordAndStar", 125 /* SyntaxKind.YieldKeyword */, 41 /* SyntaxKind.AsteriskToken */, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 16 /* RuleAction.DeleteSpace */), + rule("SpaceBetweenYieldOrYieldStarAndOperand", [125 /* SyntaxKind.YieldKeyword */, 41 /* SyntaxKind.AsteriskToken */], anyToken, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenReturnAndSemicolon", 105 /* SyntaxKind.ReturnKeyword */, 26 /* SyntaxKind.SemicolonToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceAfterCertainKeywords", [113 /* SyntaxKind.VarKeyword */, 109 /* SyntaxKind.ThrowKeyword */, 103 /* SyntaxKind.NewKeyword */, 89 /* SyntaxKind.DeleteKeyword */, 105 /* SyntaxKind.ReturnKeyword */, 112 /* SyntaxKind.TypeOfKeyword */, 132 /* SyntaxKind.AwaitKeyword */], anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterLetConstInVariableDeclaration", [119 /* SyntaxKind.LetKeyword */, 85 /* SyntaxKind.ConstKeyword */], anyToken, [isNonJsxSameLineTokenContext, isStartOfVariableDeclarationList], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeOpenParenInFuncCall", anyToken, 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext, isFunctionCallOrNewContext, isPreviousTokenNotComma], 16 /* RuleAction.DeleteSpace */), // Special case for binary operators (that are keywords). For these we have to add a space and shouldn't follow any user options. - rule("SpaceBeforeBinaryKeywordOperator", anyToken, binaryKeywordOperators, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterBinaryKeywordOperator", binaryKeywordOperators, anyToken, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterVoidOperator", 114 /* VoidKeyword */, anyToken, [isNonJsxSameLineTokenContext, isVoidOpContext], 4 /* InsertSpace */), + rule("SpaceBeforeBinaryKeywordOperator", anyToken, binaryKeywordOperators, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterBinaryKeywordOperator", binaryKeywordOperators, anyToken, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterVoidOperator", 114 /* SyntaxKind.VoidKeyword */, anyToken, [isNonJsxSameLineTokenContext, isVoidOpContext], 4 /* RuleAction.InsertSpace */), // Async-await - rule("SpaceBetweenAsyncAndOpenParen", 131 /* AsyncKeyword */, 20 /* OpenParenToken */, [isArrowFunctionContext, isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBetweenAsyncAndFunctionKeyword", 131 /* AsyncKeyword */, [98 /* FunctionKeyword */, 79 /* Identifier */], [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + rule("SpaceBetweenAsyncAndOpenParen", 131 /* SyntaxKind.AsyncKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isArrowFunctionContext, isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBetweenAsyncAndFunctionKeyword", 131 /* SyntaxKind.AsyncKeyword */, [98 /* SyntaxKind.FunctionKeyword */, 79 /* SyntaxKind.Identifier */], [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Template string - rule("NoSpaceBetweenTagAndTemplateString", [79 /* Identifier */, 21 /* CloseParenToken */], [14 /* NoSubstitutionTemplateLiteral */, 15 /* TemplateHead */], [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("NoSpaceBetweenTagAndTemplateString", [79 /* SyntaxKind.Identifier */, 21 /* SyntaxKind.CloseParenToken */], [14 /* SyntaxKind.NoSubstitutionTemplateLiteral */, 15 /* SyntaxKind.TemplateHead */], [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // JSX opening elements - rule("SpaceBeforeJsxAttribute", anyToken, 79 /* Identifier */, [isNextTokenParentJsxAttribute, isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBeforeSlashInJsxOpeningElement", anyToken, 43 /* SlashToken */, [isJsxSelfClosingElementContext, isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceBeforeGreaterThanTokenInJsxOpeningElement", 43 /* SlashToken */, 31 /* GreaterThanToken */, [isJsxSelfClosingElementContext, isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeEqualInJsxAttribute", anyToken, 63 /* EqualsToken */, [isJsxAttributeContext, isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterEqualInJsxAttribute", 63 /* EqualsToken */, anyToken, [isJsxAttributeContext, isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceBeforeJsxAttribute", anyToken, 79 /* SyntaxKind.Identifier */, [isNextTokenParentJsxAttribute, isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeSlashInJsxOpeningElement", anyToken, 43 /* SyntaxKind.SlashToken */, [isJsxSelfClosingElementContext, isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeGreaterThanTokenInJsxOpeningElement", 43 /* SyntaxKind.SlashToken */, 31 /* SyntaxKind.GreaterThanToken */, [isJsxSelfClosingElementContext, isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeEqualInJsxAttribute", anyToken, 63 /* SyntaxKind.EqualsToken */, [isJsxAttributeContext, isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterEqualInJsxAttribute", 63 /* SyntaxKind.EqualsToken */, anyToken, [isJsxAttributeContext, isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // TypeScript-specific rules // Use of module as a function call. e.g.: import m2 = module("m2"); - rule("NoSpaceAfterModuleImport", [141 /* ModuleKeyword */, 146 /* RequireKeyword */], 20 /* OpenParenToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("NoSpaceAfterModuleImport", [141 /* SyntaxKind.ModuleKeyword */, 146 /* SyntaxKind.RequireKeyword */], 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Add a space around certain TypeScript keywords rule("SpaceAfterCertainTypeScriptKeywords", [ - 126 /* AbstractKeyword */, - 84 /* ClassKeyword */, - 135 /* DeclareKeyword */, - 88 /* DefaultKeyword */, - 92 /* EnumKeyword */, - 93 /* ExportKeyword */, - 94 /* ExtendsKeyword */, - 136 /* GetKeyword */, - 117 /* ImplementsKeyword */, - 100 /* ImportKeyword */, - 118 /* InterfaceKeyword */, - 141 /* ModuleKeyword */, - 142 /* NamespaceKeyword */, - 121 /* PrivateKeyword */, - 123 /* PublicKeyword */, - 122 /* ProtectedKeyword */, - 145 /* ReadonlyKeyword */, - 149 /* SetKeyword */, - 124 /* StaticKeyword */, - 152 /* TypeKeyword */, - 156 /* FromKeyword */, - 140 /* KeyOfKeyword */, - 137 /* InferKeyword */, - ], anyToken, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [94 /* ExtendsKeyword */, 117 /* ImplementsKeyword */, 156 /* FromKeyword */], [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + 126 /* SyntaxKind.AbstractKeyword */, + 84 /* SyntaxKind.ClassKeyword */, + 135 /* SyntaxKind.DeclareKeyword */, + 88 /* SyntaxKind.DefaultKeyword */, + 92 /* SyntaxKind.EnumKeyword */, + 93 /* SyntaxKind.ExportKeyword */, + 94 /* SyntaxKind.ExtendsKeyword */, + 136 /* SyntaxKind.GetKeyword */, + 117 /* SyntaxKind.ImplementsKeyword */, + 100 /* SyntaxKind.ImportKeyword */, + 118 /* SyntaxKind.InterfaceKeyword */, + 141 /* SyntaxKind.ModuleKeyword */, + 142 /* SyntaxKind.NamespaceKeyword */, + 121 /* SyntaxKind.PrivateKeyword */, + 123 /* SyntaxKind.PublicKeyword */, + 122 /* SyntaxKind.ProtectedKeyword */, + 145 /* SyntaxKind.ReadonlyKeyword */, + 149 /* SyntaxKind.SetKeyword */, + 124 /* SyntaxKind.StaticKeyword */, + 152 /* SyntaxKind.TypeKeyword */, + 156 /* SyntaxKind.FromKeyword */, + 140 /* SyntaxKind.KeyOfKeyword */, + 137 /* SyntaxKind.InferKeyword */, + ], anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [94 /* SyntaxKind.ExtendsKeyword */, 117 /* SyntaxKind.ImplementsKeyword */, 156 /* SyntaxKind.FromKeyword */], [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" { - rule("SpaceAfterModuleName", 10 /* StringLiteral */, 18 /* OpenBraceToken */, [isModuleDeclContext], 4 /* InsertSpace */), + rule("SpaceAfterModuleName", 10 /* SyntaxKind.StringLiteral */, 18 /* SyntaxKind.OpenBraceToken */, [isModuleDeclContext], 4 /* RuleAction.InsertSpace */), // Lambda expressions - rule("SpaceBeforeArrow", anyToken, 38 /* EqualsGreaterThanToken */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceAfterArrow", 38 /* EqualsGreaterThanToken */, anyToken, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + rule("SpaceBeforeArrow", anyToken, 38 /* SyntaxKind.EqualsGreaterThanToken */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterArrow", 38 /* SyntaxKind.EqualsGreaterThanToken */, anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Optional parameters and let args - rule("NoSpaceAfterEllipsis", 25 /* DotDotDotToken */, 79 /* Identifier */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterOptionalParameters", 57 /* QuestionToken */, [21 /* CloseParenToken */, 27 /* CommaToken */], [isNonJsxSameLineTokenContext, isNotBinaryOpContext], 16 /* DeleteSpace */), + rule("NoSpaceAfterEllipsis", 25 /* SyntaxKind.DotDotDotToken */, 79 /* SyntaxKind.Identifier */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterOptionalParameters", 57 /* SyntaxKind.QuestionToken */, [21 /* SyntaxKind.CloseParenToken */, 27 /* SyntaxKind.CommaToken */], [isNonJsxSameLineTokenContext, isNotBinaryOpContext], 16 /* RuleAction.DeleteSpace */), // Remove spaces in empty interface literals. e.g.: x: {} - rule("NoSpaceBetweenEmptyInterfaceBraceBrackets", 18 /* OpenBraceToken */, 19 /* CloseBraceToken */, [isNonJsxSameLineTokenContext, isObjectTypeContext], 16 /* DeleteSpace */), + rule("NoSpaceBetweenEmptyInterfaceBraceBrackets", 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, [isNonJsxSameLineTokenContext, isObjectTypeContext], 16 /* RuleAction.DeleteSpace */), // generics and type assertions - rule("NoSpaceBeforeOpenAngularBracket", typeNames, 29 /* LessThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */), - rule("NoSpaceBetweenCloseParenAndAngularBracket", 21 /* CloseParenToken */, 29 /* LessThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterOpenAngularBracket", 29 /* LessThanToken */, anyToken, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeCloseAngularBracket", anyToken, 31 /* GreaterThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterCloseAngularBracket", 31 /* GreaterThanToken */, [20 /* OpenParenToken */, 22 /* OpenBracketToken */, 31 /* GreaterThanToken */, 27 /* CommaToken */], [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext, isNotFunctionDeclContext /*To prevent an interference with the SpaceBeforeOpenParenInFuncDecl rule*/], 16 /* DeleteSpace */), + rule("NoSpaceBeforeOpenAngularBracket", typeNames, 29 /* SyntaxKind.LessThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBetweenCloseParenAndAngularBracket", 21 /* SyntaxKind.CloseParenToken */, 29 /* SyntaxKind.LessThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterOpenAngularBracket", 29 /* SyntaxKind.LessThanToken */, anyToken, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeCloseAngularBracket", anyToken, 31 /* SyntaxKind.GreaterThanToken */, [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterCloseAngularBracket", 31 /* SyntaxKind.GreaterThanToken */, [20 /* SyntaxKind.OpenParenToken */, 22 /* SyntaxKind.OpenBracketToken */, 31 /* SyntaxKind.GreaterThanToken */, 27 /* SyntaxKind.CommaToken */], [isNonJsxSameLineTokenContext, isTypeArgumentOrParameterOrAssertionContext, isNotFunctionDeclContext /*To prevent an interference with the SpaceBeforeOpenParenInFuncDecl rule*/], 16 /* RuleAction.DeleteSpace */), // decorators - rule("SpaceBeforeAt", [21 /* CloseParenToken */, 79 /* Identifier */], 59 /* AtToken */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceAfterAt", 59 /* AtToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceBeforeAt", [21 /* SyntaxKind.CloseParenToken */, 79 /* SyntaxKind.Identifier */], 59 /* SyntaxKind.AtToken */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterAt", 59 /* SyntaxKind.AtToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Insert space after @ in decorator rule("SpaceAfterDecorator", anyToken, [ - 126 /* AbstractKeyword */, - 79 /* Identifier */, - 93 /* ExportKeyword */, - 88 /* DefaultKeyword */, - 84 /* ClassKeyword */, - 124 /* StaticKeyword */, - 123 /* PublicKeyword */, - 121 /* PrivateKeyword */, - 122 /* ProtectedKeyword */, - 136 /* GetKeyword */, - 149 /* SetKeyword */, - 22 /* OpenBracketToken */, - 41 /* AsteriskToken */, - ], [isEndOfDecoratorContextOnSameLine], 4 /* InsertSpace */), - rule("NoSpaceBeforeNonNullAssertionOperator", anyToken, 53 /* ExclamationToken */, [isNonJsxSameLineTokenContext, isNonNullAssertionContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterNewKeywordOnConstructorSignature", 103 /* NewKeyword */, 20 /* OpenParenToken */, [isNonJsxSameLineTokenContext, isConstructorSignatureContext], 16 /* DeleteSpace */), - rule("SpaceLessThanAndNonJSXTypeAnnotation", 29 /* LessThanToken */, 29 /* LessThanToken */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + 126 /* SyntaxKind.AbstractKeyword */, + 79 /* SyntaxKind.Identifier */, + 93 /* SyntaxKind.ExportKeyword */, + 88 /* SyntaxKind.DefaultKeyword */, + 84 /* SyntaxKind.ClassKeyword */, + 124 /* SyntaxKind.StaticKeyword */, + 123 /* SyntaxKind.PublicKeyword */, + 121 /* SyntaxKind.PrivateKeyword */, + 122 /* SyntaxKind.ProtectedKeyword */, + 136 /* SyntaxKind.GetKeyword */, + 149 /* SyntaxKind.SetKeyword */, + 22 /* SyntaxKind.OpenBracketToken */, + 41 /* SyntaxKind.AsteriskToken */, + ], [isEndOfDecoratorContextOnSameLine], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeNonNullAssertionOperator", anyToken, 53 /* SyntaxKind.ExclamationToken */, [isNonJsxSameLineTokenContext, isNonNullAssertionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterNewKeywordOnConstructorSignature", 103 /* SyntaxKind.NewKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext, isConstructorSignatureContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceLessThanAndNonJSXTypeAnnotation", 29 /* SyntaxKind.LessThanToken */, 29 /* SyntaxKind.LessThanToken */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), ]; // These rules are applied after high priority var userConfigurableRules = [ // Treat constructor as an identifier in a function declaration, and remove spaces between constructor and following left parentheses - rule("SpaceAfterConstructor", 134 /* ConstructorKeyword */, 20 /* OpenParenToken */, [isOptionEnabled("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceAfterConstructor", 134 /* ConstructorKeyword */, 20 /* OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("SpaceAfterComma", 27 /* CommaToken */, anyToken, [isOptionEnabled("insertSpaceAfterCommaDelimiter"), isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext, isNextTokenNotCloseBracket, isNextTokenNotCloseParen], 4 /* InsertSpace */), - rule("NoSpaceAfterComma", 27 /* CommaToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterCommaDelimiter"), isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext], 16 /* DeleteSpace */), + rule("SpaceAfterConstructor", 134 /* SyntaxKind.ConstructorKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterConstructor", 134 /* SyntaxKind.ConstructorKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceAfterComma", 27 /* SyntaxKind.CommaToken */, anyToken, [isOptionEnabled("insertSpaceAfterCommaDelimiter"), isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext, isNextTokenNotCloseBracket, isNextTokenNotCloseParen], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterComma", 27 /* SyntaxKind.CommaToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterCommaDelimiter"), isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext], 16 /* RuleAction.DeleteSpace */), // Insert space after function keyword for anonymous functions - rule("SpaceAfterAnonymousFunctionKeyword", [98 /* FunctionKeyword */, 41 /* AsteriskToken */], 20 /* OpenParenToken */, [isOptionEnabled("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), isFunctionDeclContext], 4 /* InsertSpace */), - rule("NoSpaceAfterAnonymousFunctionKeyword", [98 /* FunctionKeyword */, 41 /* AsteriskToken */], 20 /* OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), isFunctionDeclContext], 16 /* DeleteSpace */), + rule("SpaceAfterAnonymousFunctionKeyword", [98 /* SyntaxKind.FunctionKeyword */, 41 /* SyntaxKind.AsteriskToken */], 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), isFunctionDeclContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterAnonymousFunctionKeyword", [98 /* SyntaxKind.FunctionKeyword */, 41 /* SyntaxKind.AsteriskToken */], 20 /* SyntaxKind.OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterFunctionKeywordForAnonymousFunctions"), isFunctionDeclContext], 16 /* RuleAction.DeleteSpace */), // Insert space after keywords in control flow statements - rule("SpaceAfterKeywordInControl", keywords, 20 /* OpenParenToken */, [isOptionEnabled("insertSpaceAfterKeywordsInControlFlowStatements"), isControlDeclContext], 4 /* InsertSpace */), - rule("NoSpaceAfterKeywordInControl", keywords, 20 /* OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterKeywordsInControlFlowStatements"), isControlDeclContext], 16 /* DeleteSpace */), + rule("SpaceAfterKeywordInControl", keywords, 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceAfterKeywordsInControlFlowStatements"), isControlDeclContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterKeywordInControl", keywords, 20 /* SyntaxKind.OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterKeywordsInControlFlowStatements"), isControlDeclContext], 16 /* RuleAction.DeleteSpace */), // Insert space after opening and before closing nonempty parenthesis - rule("SpaceAfterOpenParen", 20 /* OpenParenToken */, anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBeforeCloseParen", anyToken, 21 /* CloseParenToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBetweenOpenParens", 20 /* OpenParenToken */, 20 /* OpenParenToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceBetweenParens", 20 /* OpenParenToken */, 21 /* CloseParenToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterOpenParen", 20 /* OpenParenToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeCloseParen", anyToken, 21 /* CloseParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceAfterOpenParen", 20 /* SyntaxKind.OpenParenToken */, anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeCloseParen", anyToken, 21 /* SyntaxKind.CloseParenToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBetweenOpenParens", 20 /* SyntaxKind.OpenParenToken */, 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenParens", 20 /* SyntaxKind.OpenParenToken */, 21 /* SyntaxKind.CloseParenToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterOpenParen", 20 /* SyntaxKind.OpenParenToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeCloseParen", anyToken, 21 /* SyntaxKind.CloseParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Insert space after opening and before closing nonempty brackets - rule("SpaceAfterOpenBracket", 22 /* OpenBracketToken */, anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("SpaceBeforeCloseBracket", anyToken, 23 /* CloseBracketToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceBetweenBrackets", 22 /* OpenBracketToken */, 23 /* CloseBracketToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterOpenBracket", 22 /* OpenBracketToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeCloseBracket", anyToken, 23 /* CloseBracketToken */, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceAfterOpenBracket", 22 /* SyntaxKind.OpenBracketToken */, anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeCloseBracket", anyToken, 23 /* SyntaxKind.CloseBracketToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenBrackets", 22 /* SyntaxKind.OpenBracketToken */, 23 /* SyntaxKind.CloseBracketToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterOpenBracket", 22 /* SyntaxKind.OpenBracketToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeCloseBracket", anyToken, 23 /* SyntaxKind.CloseBracketToken */, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Insert a space after { and before } in single-line contexts, but remove space from empty object literals {}. - rule("SpaceAfterOpenBrace", 18 /* OpenBraceToken */, anyToken, [isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isBraceWrappedContext], 4 /* InsertSpace */), - rule("SpaceBeforeCloseBrace", anyToken, 19 /* CloseBraceToken */, [isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isBraceWrappedContext], 4 /* InsertSpace */), - rule("NoSpaceBetweenEmptyBraceBrackets", 18 /* OpenBraceToken */, 19 /* CloseBraceToken */, [isNonJsxSameLineTokenContext, isObjectContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterOpenBrace", 18 /* OpenBraceToken */, anyToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeCloseBrace", anyToken, 19 /* CloseBraceToken */, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceAfterOpenBrace", 18 /* SyntaxKind.OpenBraceToken */, anyToken, [isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isBraceWrappedContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeCloseBrace", anyToken, 19 /* SyntaxKind.CloseBraceToken */, [isOptionEnabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isBraceWrappedContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenEmptyBraceBrackets", 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, [isNonJsxSameLineTokenContext, isObjectContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterOpenBrace", 18 /* SyntaxKind.OpenBraceToken */, anyToken, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeCloseBrace", anyToken, 19 /* SyntaxKind.CloseBraceToken */, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Insert a space after opening and before closing empty brace brackets - rule("SpaceBetweenEmptyBraceBrackets", 18 /* OpenBraceToken */, 19 /* CloseBraceToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")], 4 /* InsertSpace */), - rule("NoSpaceBetweenEmptyBraceBrackets", 18 /* OpenBraceToken */, 19 /* CloseBraceToken */, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceBetweenEmptyBraceBrackets", 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces")], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBetweenEmptyBraceBrackets", 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */, [isOptionDisabled("insertSpaceAfterOpeningAndBeforeClosingEmptyBraces"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Insert space after opening and before closing template string braces - rule("SpaceAfterTemplateHeadAndMiddle", [15 /* TemplateHead */, 16 /* TemplateMiddle */], anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxTextContext], 4 /* InsertSpace */, 1 /* CanDeleteNewLines */), - rule("SpaceBeforeTemplateMiddleAndTail", anyToken, [16 /* TemplateMiddle */, 17 /* TemplateTail */], [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxSameLineTokenContext], 4 /* InsertSpace */), - rule("NoSpaceAfterTemplateHeadAndMiddle", [15 /* TemplateHead */, 16 /* TemplateMiddle */], anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxTextContext], 16 /* DeleteSpace */, 1 /* CanDeleteNewLines */), - rule("NoSpaceBeforeTemplateMiddleAndTail", anyToken, [16 /* TemplateMiddle */, 17 /* TemplateTail */], [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("SpaceAfterTemplateHeadAndMiddle", [15 /* SyntaxKind.TemplateHead */, 16 /* SyntaxKind.TemplateMiddle */], anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxTextContext], 4 /* RuleAction.InsertSpace */, 1 /* RuleFlags.CanDeleteNewLines */), + rule("SpaceBeforeTemplateMiddleAndTail", anyToken, [16 /* SyntaxKind.TemplateMiddle */, 17 /* SyntaxKind.TemplateTail */], [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterTemplateHeadAndMiddle", [15 /* SyntaxKind.TemplateHead */, 16 /* SyntaxKind.TemplateMiddle */], anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxTextContext], 16 /* RuleAction.DeleteSpace */, 1 /* RuleFlags.CanDeleteNewLines */), + rule("NoSpaceBeforeTemplateMiddleAndTail", anyToken, [16 /* SyntaxKind.TemplateMiddle */, 17 /* SyntaxKind.TemplateTail */], [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // No space after { and before } in JSX expression - rule("SpaceAfterOpenBraceInJsxExpression", 18 /* OpenBraceToken */, anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 4 /* InsertSpace */), - rule("SpaceBeforeCloseBraceInJsxExpression", anyToken, 19 /* CloseBraceToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 4 /* InsertSpace */), - rule("NoSpaceAfterOpenBraceInJsxExpression", 18 /* OpenBraceToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 16 /* DeleteSpace */), - rule("NoSpaceBeforeCloseBraceInJsxExpression", anyToken, 19 /* CloseBraceToken */, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 16 /* DeleteSpace */), + rule("SpaceAfterOpenBraceInJsxExpression", 18 /* SyntaxKind.OpenBraceToken */, anyToken, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeCloseBraceInJsxExpression", anyToken, 19 /* SyntaxKind.CloseBraceToken */, [isOptionEnabled("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterOpenBraceInJsxExpression", 18 /* SyntaxKind.OpenBraceToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeCloseBraceInJsxExpression", anyToken, 19 /* SyntaxKind.CloseBraceToken */, [isOptionDisabledOrUndefined("insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"), isNonJsxSameLineTokenContext, isJsxExpressionContext], 16 /* RuleAction.DeleteSpace */), // Insert space after semicolon in for statement - rule("SpaceAfterSemicolonInFor", 26 /* SemicolonToken */, anyToken, [isOptionEnabled("insertSpaceAfterSemicolonInForStatements"), isNonJsxSameLineTokenContext, isForContext], 4 /* InsertSpace */), - rule("NoSpaceAfterSemicolonInFor", 26 /* SemicolonToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterSemicolonInForStatements"), isNonJsxSameLineTokenContext, isForContext], 16 /* DeleteSpace */), + rule("SpaceAfterSemicolonInFor", 26 /* SyntaxKind.SemicolonToken */, anyToken, [isOptionEnabled("insertSpaceAfterSemicolonInForStatements"), isNonJsxSameLineTokenContext, isForContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterSemicolonInFor", 26 /* SyntaxKind.SemicolonToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterSemicolonInForStatements"), isNonJsxSameLineTokenContext, isForContext], 16 /* RuleAction.DeleteSpace */), // Insert space before and after binary operators - rule("SpaceBeforeBinaryOperator", anyToken, binaryOperators, [isOptionEnabled("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("SpaceAfterBinaryOperator", binaryOperators, anyToken, [isOptionEnabled("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* InsertSpace */), - rule("NoSpaceBeforeBinaryOperator", anyToken, binaryOperators, [isOptionDisabledOrUndefined("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterBinaryOperator", binaryOperators, anyToken, [isOptionDisabledOrUndefined("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 16 /* DeleteSpace */), - rule("SpaceBeforeOpenParenInFuncDecl", anyToken, 20 /* OpenParenToken */, [isOptionEnabled("insertSpaceBeforeFunctionParenthesis"), isNonJsxSameLineTokenContext, isFunctionDeclContext], 4 /* InsertSpace */), - rule("NoSpaceBeforeOpenParenInFuncDecl", anyToken, 20 /* OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceBeforeFunctionParenthesis"), isNonJsxSameLineTokenContext, isFunctionDeclContext], 16 /* DeleteSpace */), + rule("SpaceBeforeBinaryOperator", anyToken, binaryOperators, [isOptionEnabled("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterBinaryOperator", binaryOperators, anyToken, [isOptionEnabled("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeBinaryOperator", anyToken, binaryOperators, [isOptionDisabledOrUndefined("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterBinaryOperator", binaryOperators, anyToken, [isOptionDisabledOrUndefined("insertSpaceBeforeAndAfterBinaryOperators"), isNonJsxSameLineTokenContext, isBinaryOpContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceBeforeOpenParenInFuncDecl", anyToken, 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceBeforeFunctionParenthesis"), isNonJsxSameLineTokenContext, isFunctionDeclContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeOpenParenInFuncDecl", anyToken, 20 /* SyntaxKind.OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceBeforeFunctionParenthesis"), isNonJsxSameLineTokenContext, isFunctionDeclContext], 16 /* RuleAction.DeleteSpace */), // Open Brace braces after control block - rule("NewLineBeforeOpenBraceInControl", controlOpenBraceLeftTokenRange, 18 /* OpenBraceToken */, [isOptionEnabled("placeOpenBraceOnNewLineForControlBlocks"), isControlDeclContext, isBeforeMultilineBlockContext], 8 /* InsertNewLine */, 1 /* CanDeleteNewLines */), + rule("NewLineBeforeOpenBraceInControl", controlOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionEnabled("placeOpenBraceOnNewLineForControlBlocks"), isControlDeclContext, isBeforeMultilineBlockContext], 8 /* RuleAction.InsertNewLine */, 1 /* RuleFlags.CanDeleteNewLines */), // Open Brace braces after function // TypeScript: Function can have return types, which can be made of tons of different token kinds - rule("NewLineBeforeOpenBraceInFunction", functionOpenBraceLeftTokenRange, 18 /* OpenBraceToken */, [isOptionEnabled("placeOpenBraceOnNewLineForFunctions"), isFunctionDeclContext, isBeforeMultilineBlockContext], 8 /* InsertNewLine */, 1 /* CanDeleteNewLines */), + rule("NewLineBeforeOpenBraceInFunction", functionOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionEnabled("placeOpenBraceOnNewLineForFunctions"), isFunctionDeclContext, isBeforeMultilineBlockContext], 8 /* RuleAction.InsertNewLine */, 1 /* RuleFlags.CanDeleteNewLines */), // Open Brace braces after TypeScript module/class/interface - rule("NewLineBeforeOpenBraceInTypeScriptDeclWithBlock", typeScriptOpenBraceLeftTokenRange, 18 /* OpenBraceToken */, [isOptionEnabled("placeOpenBraceOnNewLineForFunctions"), isTypeScriptDeclWithBlockContext, isBeforeMultilineBlockContext], 8 /* InsertNewLine */, 1 /* CanDeleteNewLines */), - rule("SpaceAfterTypeAssertion", 31 /* GreaterThanToken */, anyToken, [isOptionEnabled("insertSpaceAfterTypeAssertion"), isNonJsxSameLineTokenContext, isTypeAssertionContext], 4 /* InsertSpace */), - rule("NoSpaceAfterTypeAssertion", 31 /* GreaterThanToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterTypeAssertion"), isNonJsxSameLineTokenContext, isTypeAssertionContext], 16 /* DeleteSpace */), - rule("SpaceBeforeTypeAnnotation", anyToken, [57 /* QuestionToken */, 58 /* ColonToken */], [isOptionEnabled("insertSpaceBeforeTypeAnnotation"), isNonJsxSameLineTokenContext, isTypeAnnotationContext], 4 /* InsertSpace */), - rule("NoSpaceBeforeTypeAnnotation", anyToken, [57 /* QuestionToken */, 58 /* ColonToken */], [isOptionDisabledOrUndefined("insertSpaceBeforeTypeAnnotation"), isNonJsxSameLineTokenContext, isTypeAnnotationContext], 16 /* DeleteSpace */), - rule("NoOptionalSemicolon", 26 /* SemicolonToken */, anyTokenIncludingEOF, [optionEquals("semicolons", ts.SemicolonPreference.Remove), isSemicolonDeletionContext], 32 /* DeleteToken */), - rule("OptionalSemicolon", anyToken, anyTokenIncludingEOF, [optionEquals("semicolons", ts.SemicolonPreference.Insert), isSemicolonInsertionContext], 64 /* InsertTrailingSemicolon */), + rule("NewLineBeforeOpenBraceInTypeScriptDeclWithBlock", typeScriptOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionEnabled("placeOpenBraceOnNewLineForFunctions"), isTypeScriptDeclWithBlockContext, isBeforeMultilineBlockContext], 8 /* RuleAction.InsertNewLine */, 1 /* RuleFlags.CanDeleteNewLines */), + rule("SpaceAfterTypeAssertion", 31 /* SyntaxKind.GreaterThanToken */, anyToken, [isOptionEnabled("insertSpaceAfterTypeAssertion"), isNonJsxSameLineTokenContext, isTypeAssertionContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterTypeAssertion", 31 /* SyntaxKind.GreaterThanToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterTypeAssertion"), isNonJsxSameLineTokenContext, isTypeAssertionContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceBeforeTypeAnnotation", anyToken, [57 /* SyntaxKind.QuestionToken */, 58 /* SyntaxKind.ColonToken */], [isOptionEnabled("insertSpaceBeforeTypeAnnotation"), isNonJsxSameLineTokenContext, isTypeAnnotationContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceBeforeTypeAnnotation", anyToken, [57 /* SyntaxKind.QuestionToken */, 58 /* SyntaxKind.ColonToken */], [isOptionDisabledOrUndefined("insertSpaceBeforeTypeAnnotation"), isNonJsxSameLineTokenContext, isTypeAnnotationContext], 16 /* RuleAction.DeleteSpace */), + rule("NoOptionalSemicolon", 26 /* SyntaxKind.SemicolonToken */, anyTokenIncludingEOF, [optionEquals("semicolons", ts.SemicolonPreference.Remove), isSemicolonDeletionContext], 32 /* RuleAction.DeleteToken */), + rule("OptionalSemicolon", anyToken, anyTokenIncludingEOF, [optionEquals("semicolons", ts.SemicolonPreference.Insert), isSemicolonInsertionContext], 64 /* RuleAction.InsertTrailingSemicolon */), ]; // These rules are lower in priority than user-configurable. Rules earlier in this list have priority over rules later in the list. var lowPriorityCommonRules = [ // Space after keyword but not before ; or : or ? - rule("NoSpaceBeforeSemicolon", anyToken, 26 /* SemicolonToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("SpaceBeforeOpenBraceInControl", controlOpenBraceLeftTokenRange, 18 /* OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForControlBlocks"), isControlDeclContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* InsertSpace */, 1 /* CanDeleteNewLines */), - rule("SpaceBeforeOpenBraceInFunction", functionOpenBraceLeftTokenRange, 18 /* OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"), isFunctionDeclContext, isBeforeBlockContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* InsertSpace */, 1 /* CanDeleteNewLines */), - rule("SpaceBeforeOpenBraceInTypeScriptDeclWithBlock", typeScriptOpenBraceLeftTokenRange, 18 /* OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"), isTypeScriptDeclWithBlockContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* InsertSpace */, 1 /* CanDeleteNewLines */), - rule("NoSpaceBeforeComma", anyToken, 27 /* CommaToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), + rule("NoSpaceBeforeSemicolon", anyToken, 26 /* SyntaxKind.SemicolonToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceBeforeOpenBraceInControl", controlOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForControlBlocks"), isControlDeclContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* RuleAction.InsertSpace */, 1 /* RuleFlags.CanDeleteNewLines */), + rule("SpaceBeforeOpenBraceInFunction", functionOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"), isFunctionDeclContext, isBeforeBlockContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* RuleAction.InsertSpace */, 1 /* RuleFlags.CanDeleteNewLines */), + rule("SpaceBeforeOpenBraceInTypeScriptDeclWithBlock", typeScriptOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"), isTypeScriptDeclWithBlockContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* RuleAction.InsertSpace */, 1 /* RuleFlags.CanDeleteNewLines */), + rule("NoSpaceBeforeComma", anyToken, 27 /* SyntaxKind.CommaToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // No space before and after indexer `x[]` - rule("NoSpaceBeforeOpenBracket", anyTokenExcept(131 /* AsyncKeyword */, 82 /* CaseKeyword */), 22 /* OpenBracketToken */, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */), - rule("NoSpaceAfterCloseBracket", 23 /* CloseBracketToken */, anyToken, [isNonJsxSameLineTokenContext, isNotBeforeBlockInFunctionDeclarationContext], 16 /* DeleteSpace */), - rule("SpaceAfterSemicolon", 26 /* SemicolonToken */, anyToken, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + rule("NoSpaceBeforeOpenBracket", anyTokenExcept(131 /* SyntaxKind.AsyncKeyword */, 82 /* SyntaxKind.CaseKeyword */), 22 /* SyntaxKind.OpenBracketToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterCloseBracket", 23 /* SyntaxKind.CloseBracketToken */, anyToken, [isNonJsxSameLineTokenContext, isNotBeforeBlockInFunctionDeclarationContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceAfterSemicolon", 26 /* SyntaxKind.SemicolonToken */, anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Remove extra space between for and await - rule("SpaceBetweenForAndAwaitKeyword", 97 /* ForKeyword */, 132 /* AwaitKeyword */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + rule("SpaceBetweenForAndAwaitKeyword", 97 /* SyntaxKind.ForKeyword */, 132 /* SyntaxKind.AwaitKeyword */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Add a space between statements. All keywords except (do,else,case) has open/close parens after them. // So, we have a rule to add a space for [),Any], [do,Any], [else,Any], and [case,Any] - rule("SpaceBetweenStatements", [21 /* CloseParenToken */, 90 /* DoKeyword */, 91 /* ElseKeyword */, 82 /* CaseKeyword */], anyToken, [isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext, isNotForContext], 4 /* InsertSpace */), + rule("SpaceBetweenStatements", [21 /* SyntaxKind.CloseParenToken */, 90 /* SyntaxKind.DoKeyword */, 91 /* SyntaxKind.ElseKeyword */, 82 /* SyntaxKind.CaseKeyword */], anyToken, [isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext, isNotForContext], 4 /* RuleAction.InsertSpace */), // This low-pri rule takes care of "try {", "catch {" and "finally {" in case the rule SpaceBeforeOpenBraceInControl didn't execute on FormatOnEnter. - rule("SpaceAfterTryCatchFinally", [111 /* TryKeyword */, 83 /* CatchKeyword */, 96 /* FinallyKeyword */], 18 /* OpenBraceToken */, [isNonJsxSameLineTokenContext], 4 /* InsertSpace */), + rule("SpaceAfterTryCatchFinally", [111 /* SyntaxKind.TryKeyword */, 83 /* SyntaxKind.CatchKeyword */, 96 /* SyntaxKind.FinallyKeyword */], 18 /* SyntaxKind.OpenBraceToken */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), ]; return __spreadArray(__spreadArray(__spreadArray([], highPriorityCommonRules, true), userConfigurableRules, true), lowPriorityCommonRules, true); } @@ -145730,7 +146317,7 @@ var ts; * @param flags whether the rule deletes a line or not, defaults to no-op */ function rule(debugName, left, right, context, action, flags) { - if (flags === void 0) { flags = 0 /* None */; } + if (flags === void 0) { flags = 0 /* RuleFlags.None */; } return { leftTokenRange: toTokenRange(left), rightTokenRange: toTokenRange(right), rule: { debugName: debugName, context: context, action: action, flags: flags } }; } function tokenRangeFrom(tokens) { @@ -145771,54 +146358,54 @@ var ts; return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 242 /* ForStatement */; + return context.contextNode.kind === 242 /* SyntaxKind.ForStatement */; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 221 /* BinaryExpression */: - return context.contextNode.operatorToken.kind !== 27 /* CommaToken */; - case 222 /* ConditionalExpression */: - case 189 /* ConditionalType */: - case 229 /* AsExpression */: - case 275 /* ExportSpecifier */: - case 270 /* ImportSpecifier */: - case 177 /* TypePredicate */: - case 187 /* UnionType */: - case 188 /* IntersectionType */: + case 221 /* SyntaxKind.BinaryExpression */: + return context.contextNode.operatorToken.kind !== 27 /* SyntaxKind.CommaToken */; + case 222 /* SyntaxKind.ConditionalExpression */: + case 189 /* SyntaxKind.ConditionalType */: + case 229 /* SyntaxKind.AsExpression */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 177 /* SyntaxKind.TypePredicate */: + case 187 /* SyntaxKind.UnionType */: + case 188 /* SyntaxKind.IntersectionType */: return true; // equals in binding elements: function foo([[x, y] = [1, 2]]) - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: // equals in type X = ... // falls through - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: // equal in import a = module('a'); // falls through - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: // equal in export = 1 // falls through - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: // equal in let a = 0 // falls through - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: // equal in p = 0 // falls through - case 164 /* Parameter */: - case 299 /* EnumMember */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - return context.currentTokenSpan.kind === 63 /* EqualsToken */ || context.nextTokenSpan.kind === 63 /* EqualsToken */; + case 164 /* SyntaxKind.Parameter */: + case 299 /* SyntaxKind.EnumMember */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + return context.currentTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */ || context.nextTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */; // "in" keyword in for (let x in []) { } - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: // "in" keyword in [P in keyof T]: T[P] // falls through - case 163 /* TypeParameter */: - return context.currentTokenSpan.kind === 101 /* InKeyword */ || context.nextTokenSpan.kind === 101 /* InKeyword */ || context.currentTokenSpan.kind === 63 /* EqualsToken */ || context.nextTokenSpan.kind === 63 /* EqualsToken */; + case 163 /* SyntaxKind.TypeParameter */: + return context.currentTokenSpan.kind === 101 /* SyntaxKind.InKeyword */ || context.nextTokenSpan.kind === 101 /* SyntaxKind.InKeyword */ || context.currentTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */ || context.nextTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */; // Technically, "of" is not a binary operator, but format it the same way as "in" - case 244 /* ForOfStatement */: - return context.currentTokenSpan.kind === 160 /* OfKeyword */ || context.nextTokenSpan.kind === 160 /* OfKeyword */; + case 244 /* SyntaxKind.ForOfStatement */: + return context.currentTokenSpan.kind === 160 /* SyntaxKind.OfKeyword */ || context.nextTokenSpan.kind === 160 /* SyntaxKind.OfKeyword */; } return false; } @@ -145830,22 +146417,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 167 /* PropertyDeclaration */ || - contextKind === 166 /* PropertySignature */ || - contextKind === 164 /* Parameter */ || - contextKind === 254 /* VariableDeclaration */ || + return contextKind === 167 /* SyntaxKind.PropertyDeclaration */ || + contextKind === 166 /* SyntaxKind.PropertySignature */ || + contextKind === 164 /* SyntaxKind.Parameter */ || + contextKind === 254 /* SyntaxKind.VariableDeclaration */ || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 222 /* ConditionalExpression */ || - context.contextNode.kind === 189 /* ConditionalType */; + return context.contextNode.kind === 222 /* SyntaxKind.ConditionalExpression */ || + context.contextNode.kind === 189 /* SyntaxKind.ConditionalType */; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 201 /* ObjectBindingPattern */ || - context.contextNode.kind === 195 /* MappedType */ || + return context.contextNode.kind === 201 /* SyntaxKind.ObjectBindingPattern */ || + context.contextNode.kind === 195 /* SyntaxKind.MappedType */ || isSingleLineBlockContext(context); } // This check is done before an open brace in a control construct, a function, or a typescript block declaration @@ -145871,34 +146458,34 @@ var ts; return true; } switch (node.kind) { - case 235 /* Block */: - case 263 /* CaseBlock */: - case 205 /* ObjectLiteralExpression */: - case 262 /* ModuleBlock */: + case 235 /* SyntaxKind.Block */: + case 263 /* SyntaxKind.CaseBlock */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 262 /* SyntaxKind.ModuleBlock */: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: // case SyntaxKind.MemberFunctionDeclaration: // falls through - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // case SyntaxKind.MethodSignature: // falls through - case 174 /* CallSignature */: - case 213 /* FunctionExpression */: - case 171 /* Constructor */: - case 214 /* ArrowFunction */: + case 174 /* SyntaxKind.CallSignature */: + case 213 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.Constructor */: + case 214 /* SyntaxKind.ArrowFunction */: // case SyntaxKind.ConstructorDeclaration: // case SyntaxKind.SimpleArrowFunctionExpression: // case SyntaxKind.ParenthesizedArrowFunctionExpression: // falls through - case 258 /* InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one + case 258 /* SyntaxKind.InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one return true; } return false; @@ -145907,40 +146494,40 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 256 /* FunctionDeclaration */ || context.contextNode.kind === 213 /* FunctionExpression */; + return context.contextNode.kind === 256 /* SyntaxKind.FunctionDeclaration */ || context.contextNode.kind === 213 /* SyntaxKind.FunctionExpression */; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 182 /* TypeLiteral */: - case 261 /* ModuleDeclaration */: - case 272 /* ExportDeclaration */: - case 273 /* NamedExports */: - case 266 /* ImportDeclaration */: - case 269 /* NamedImports */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 182 /* SyntaxKind.TypeLiteral */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: + case 273 /* SyntaxKind.NamedExports */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.NamedImports */: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 257 /* ClassDeclaration */: - case 261 /* ModuleDeclaration */: - case 260 /* EnumDeclaration */: - case 292 /* CatchClause */: - case 262 /* ModuleBlock */: - case 249 /* SwitchStatement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 292 /* SyntaxKind.CatchClause */: + case 262 /* SyntaxKind.ModuleBlock */: + case 249 /* SyntaxKind.SwitchStatement */: return true; - case 235 /* Block */: { + case 235 /* SyntaxKind.Block */: { var blockParent = context.currentTokenParent.parent; // In a codefix scenario, we can't rely on parents being set. So just always return true. - if (!blockParent || blockParent.kind !== 214 /* ArrowFunction */ && blockParent.kind !== 213 /* FunctionExpression */) { + if (!blockParent || blockParent.kind !== 214 /* SyntaxKind.ArrowFunction */ && blockParent.kind !== 213 /* SyntaxKind.FunctionExpression */) { return true; } } @@ -145949,71 +146536,71 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 239 /* IfStatement */: - case 249 /* SwitchStatement */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 241 /* WhileStatement */: - case 252 /* TryStatement */: - case 240 /* DoStatement */: - case 248 /* WithStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 249 /* SyntaxKind.SwitchStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 252 /* SyntaxKind.TryStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 248 /* SyntaxKind.WithStatement */: // TODO // case SyntaxKind.ElseClause: // falls through - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 205 /* ObjectLiteralExpression */; + return context.contextNode.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; } function isFunctionCallContext(context) { - return context.contextNode.kind === 208 /* CallExpression */; + return context.contextNode.kind === 208 /* SyntaxKind.CallExpression */; } function isNewContext(context) { - return context.contextNode.kind === 209 /* NewExpression */; + return context.contextNode.kind === 209 /* SyntaxKind.NewExpression */; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); } function isPreviousTokenNotComma(context) { - return context.currentTokenSpan.kind !== 27 /* CommaToken */; + return context.currentTokenSpan.kind !== 27 /* SyntaxKind.CommaToken */; } function isNextTokenNotCloseBracket(context) { - return context.nextTokenSpan.kind !== 23 /* CloseBracketToken */; + return context.nextTokenSpan.kind !== 23 /* SyntaxKind.CloseBracketToken */; } function isNextTokenNotCloseParen(context) { - return context.nextTokenSpan.kind !== 21 /* CloseParenToken */; + return context.nextTokenSpan.kind !== 21 /* SyntaxKind.CloseParenToken */; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 214 /* ArrowFunction */; + return context.contextNode.kind === 214 /* SyntaxKind.ArrowFunction */; } function isImportTypeContext(context) { - return context.contextNode.kind === 200 /* ImportType */; + return context.contextNode.kind === 200 /* SyntaxKind.ImportType */; } function isNonJsxSameLineTokenContext(context) { - return context.TokensAreOnSameLine() && context.contextNode.kind !== 11 /* JsxText */; + return context.TokensAreOnSameLine() && context.contextNode.kind !== 11 /* SyntaxKind.JsxText */; } function isNonJsxTextContext(context) { - return context.contextNode.kind !== 11 /* JsxText */; + return context.contextNode.kind !== 11 /* SyntaxKind.JsxText */; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 278 /* JsxElement */ && context.contextNode.kind !== 282 /* JsxFragment */; + return context.contextNode.kind !== 278 /* SyntaxKind.JsxElement */ && context.contextNode.kind !== 282 /* SyntaxKind.JsxFragment */; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 288 /* JsxExpression */ || context.contextNode.kind === 287 /* JsxSpreadAttribute */; + return context.contextNode.kind === 288 /* SyntaxKind.JsxExpression */ || context.contextNode.kind === 287 /* SyntaxKind.JsxSpreadAttribute */; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 285 /* JsxAttribute */; + return context.nextTokenParent.kind === 285 /* SyntaxKind.JsxAttribute */; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 285 /* JsxAttribute */; + return context.contextNode.kind === 285 /* SyntaxKind.JsxAttribute */; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 279 /* JsxSelfClosingElement */; + return context.contextNode.kind === 279 /* SyntaxKind.JsxSelfClosingElement */; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); @@ -146028,45 +146615,45 @@ var ts; while (ts.isExpressionNode(node)) { node = node.parent; } - return node.kind === 165 /* Decorator */; + return node.kind === 165 /* SyntaxKind.Decorator */; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 255 /* VariableDeclarationList */ && + return context.currentTokenParent.kind === 255 /* SyntaxKind.VariableDeclarationList */ && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { - return context.formattingRequestKind !== 2 /* FormatOnEnter */; + return context.formattingRequestKind !== 2 /* FormattingRequestKind.FormatOnEnter */; } function isModuleDeclContext(context) { - return context.contextNode.kind === 261 /* ModuleDeclaration */; + return context.contextNode.kind === 261 /* SyntaxKind.ModuleDeclaration */; } function isObjectTypeContext(context) { - return context.contextNode.kind === 182 /* TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; + return context.contextNode.kind === 182 /* SyntaxKind.TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 175 /* ConstructSignature */; + return context.contextNode.kind === 175 /* SyntaxKind.ConstructSignature */; } function isTypeArgumentOrParameterOrAssertion(token, parent) { - if (token.kind !== 29 /* LessThanToken */ && token.kind !== 31 /* GreaterThanToken */) { + if (token.kind !== 29 /* SyntaxKind.LessThanToken */ && token.kind !== 31 /* SyntaxKind.GreaterThanToken */) { return false; } switch (parent.kind) { - case 178 /* TypeReference */: - case 211 /* TypeAssertionExpression */: - case 259 /* TypeAliasDeclaration */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 228 /* ExpressionWithTypeArguments */: + case 178 /* SyntaxKind.TypeReference */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return true; default: return false; @@ -146077,28 +146664,28 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 211 /* TypeAssertionExpression */; + return context.contextNode.kind === 211 /* SyntaxKind.TypeAssertionExpression */; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 114 /* VoidKeyword */ && context.currentTokenParent.kind === 217 /* VoidExpression */; + return context.currentTokenSpan.kind === 114 /* SyntaxKind.VoidKeyword */ && context.currentTokenParent.kind === 217 /* SyntaxKind.VoidExpression */; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 224 /* YieldExpression */ && context.contextNode.expression !== undefined; + return context.contextNode.kind === 224 /* SyntaxKind.YieldExpression */ && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 230 /* NonNullExpression */; + return context.contextNode.kind === 230 /* SyntaxKind.NonNullExpression */; } function isNotStatementConditionContext(context) { return !isStatementConditionContext(context); } function isStatementConditionContext(context) { switch (context.contextNode.kind) { - case 239 /* IfStatement */: - case 242 /* ForStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 240 /* DoStatement */: - case 241 /* WhileStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: return true; default: return false; @@ -146120,15 +146707,15 @@ var ts; var startLine = context.sourceFile.getLineAndCharacterOfPosition(context.currentTokenSpan.pos).line; var endLine = context.sourceFile.getLineAndCharacterOfPosition(nextTokenStart).line; if (startLine === endLine) { - return nextTokenKind === 19 /* CloseBraceToken */ - || nextTokenKind === 1 /* EndOfFileToken */; + return nextTokenKind === 19 /* SyntaxKind.CloseBraceToken */ + || nextTokenKind === 1 /* SyntaxKind.EndOfFileToken */; } - if (nextTokenKind === 234 /* SemicolonClassElement */ || - nextTokenKind === 26 /* SemicolonToken */) { + if (nextTokenKind === 234 /* SyntaxKind.SemicolonClassElement */ || + nextTokenKind === 26 /* SyntaxKind.SemicolonToken */) { return false; } - if (context.contextNode.kind === 258 /* InterfaceDeclaration */ || - context.contextNode.kind === 259 /* TypeAliasDeclaration */) { + if (context.contextNode.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || + context.contextNode.kind === 259 /* SyntaxKind.TypeAliasDeclaration */) { // Can’t remove semicolon after `foo`; it would parse as a method declaration: // // interface I { @@ -146137,25 +146724,25 @@ var ts; // } return !ts.isPropertySignature(context.currentTokenParent) || !!context.currentTokenParent.type - || nextTokenKind !== 20 /* OpenParenToken */; + || nextTokenKind !== 20 /* SyntaxKind.OpenParenToken */; } if (ts.isPropertyDeclaration(context.currentTokenParent)) { return !context.currentTokenParent.initializer; } - return context.currentTokenParent.kind !== 242 /* ForStatement */ - && context.currentTokenParent.kind !== 236 /* EmptyStatement */ - && context.currentTokenParent.kind !== 234 /* SemicolonClassElement */ - && nextTokenKind !== 22 /* OpenBracketToken */ - && nextTokenKind !== 20 /* OpenParenToken */ - && nextTokenKind !== 39 /* PlusToken */ - && nextTokenKind !== 40 /* MinusToken */ - && nextTokenKind !== 43 /* SlashToken */ - && nextTokenKind !== 13 /* RegularExpressionLiteral */ - && nextTokenKind !== 27 /* CommaToken */ - && nextTokenKind !== 223 /* TemplateExpression */ - && nextTokenKind !== 15 /* TemplateHead */ - && nextTokenKind !== 14 /* NoSubstitutionTemplateLiteral */ - && nextTokenKind !== 24 /* DotToken */; + return context.currentTokenParent.kind !== 242 /* SyntaxKind.ForStatement */ + && context.currentTokenParent.kind !== 236 /* SyntaxKind.EmptyStatement */ + && context.currentTokenParent.kind !== 234 /* SyntaxKind.SemicolonClassElement */ + && nextTokenKind !== 22 /* SyntaxKind.OpenBracketToken */ + && nextTokenKind !== 20 /* SyntaxKind.OpenParenToken */ + && nextTokenKind !== 39 /* SyntaxKind.PlusToken */ + && nextTokenKind !== 40 /* SyntaxKind.MinusToken */ + && nextTokenKind !== 43 /* SyntaxKind.SlashToken */ + && nextTokenKind !== 13 /* SyntaxKind.RegularExpressionLiteral */ + && nextTokenKind !== 27 /* SyntaxKind.CommaToken */ + && nextTokenKind !== 223 /* SyntaxKind.TemplateExpression */ + && nextTokenKind !== 15 /* SyntaxKind.TemplateHead */ + && nextTokenKind !== 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ + && nextTokenKind !== 24 /* SyntaxKind.DotToken */; } function isSemicolonInsertionContext(context) { return ts.positionIsASICandidate(context.currentTokenSpan.end, context.currentTokenParent, context.sourceFile); @@ -146184,17 +146771,17 @@ var ts; */ function getRuleActionExclusion(ruleAction) { var mask = 0; - if (ruleAction & 1 /* StopProcessingSpaceActions */) { - mask |= 28 /* ModifySpaceAction */; + if (ruleAction & 1 /* RuleAction.StopProcessingSpaceActions */) { + mask |= 28 /* RuleAction.ModifySpaceAction */; } - if (ruleAction & 2 /* StopProcessingTokenActions */) { - mask |= 96 /* ModifyTokenAction */; + if (ruleAction & 2 /* RuleAction.StopProcessingTokenActions */) { + mask |= 96 /* RuleAction.ModifyTokenAction */; } - if (ruleAction & 28 /* ModifySpaceAction */) { - mask |= 28 /* ModifySpaceAction */; + if (ruleAction & 28 /* RuleAction.ModifySpaceAction */) { + mask |= 28 /* RuleAction.ModifySpaceAction */; } - if (ruleAction & 96 /* ModifyTokenAction */) { - mask |= 96 /* ModifyTokenAction */; + if (ruleAction & 96 /* RuleAction.ModifyTokenAction */) { + mask |= 96 /* RuleAction.ModifyTokenAction */; } return mask; } @@ -146243,12 +146830,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 160 /* LastKeyword */ && column <= 160 /* LastKeyword */, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 160 /* SyntaxKind.LastKeyword */ && column <= 160 /* SyntaxKind.LastKeyword */, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; // MaskBitSize bits - var mapRowLength = 160 /* LastToken */ + 1; + var mapRowLength = 160 /* SyntaxKind.LastToken */ + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["StopRulesSpecific"] = 0] = "StopRulesSpecific"; @@ -146274,7 +146861,7 @@ var ts; // In order to insert a rule to the end of sub-bucket (3), we get the index by adding // the values in the bitmap segments 3rd, 2nd, and 1st. function addRule(rules, rule, specificTokens, constructionState, rulesBucketIndex) { - var position = rule.action & 3 /* StopAction */ ? + var position = rule.action & 3 /* RuleAction.StopAction */ ? specificTokens ? RulesPosition.StopRulesSpecific : RulesPosition.StopRulesAny : rule.context !== formatting.anyContext ? specificTokens ? RulesPosition.ContextRulesSpecific : RulesPosition.ContextRulesAny : @@ -146343,16 +146930,16 @@ var ts; // end value is exclusive so add 1 to the result end: endOfFormatSpan + 1 }; - return formatSpan(span, sourceFile, formatContext, 2 /* FormatOnEnter */); + return formatSpan(span, sourceFile, formatContext, 2 /* FormattingRequestKind.FormatOnEnter */); } formatting.formatOnEnter = formatOnEnter; function formatOnSemicolon(position, sourceFile, formatContext) { - var semicolon = findImmediatelyPrecedingTokenOfKind(position, 26 /* SemicolonToken */, sourceFile); - return formatNodeLines(findOutermostNodeWithinListLevel(semicolon), sourceFile, formatContext, 3 /* FormatOnSemicolon */); + var semicolon = findImmediatelyPrecedingTokenOfKind(position, 26 /* SyntaxKind.SemicolonToken */, sourceFile); + return formatNodeLines(findOutermostNodeWithinListLevel(semicolon), sourceFile, formatContext, 3 /* FormattingRequestKind.FormatOnSemicolon */); } formatting.formatOnSemicolon = formatOnSemicolon; function formatOnOpeningCurly(position, sourceFile, formatContext) { - var openingCurly = findImmediatelyPrecedingTokenOfKind(position, 18 /* OpenBraceToken */, sourceFile); + var openingCurly = findImmediatelyPrecedingTokenOfKind(position, 18 /* SyntaxKind.OpenBraceToken */, sourceFile); if (!openingCurly) { return []; } @@ -146374,12 +146961,12 @@ var ts; pos: ts.getLineStartPositionForPosition(outermostNode.getStart(sourceFile), sourceFile), end: position }; - return formatSpan(textRange, sourceFile, formatContext, 4 /* FormatOnOpeningCurlyBrace */); + return formatSpan(textRange, sourceFile, formatContext, 4 /* FormattingRequestKind.FormatOnOpeningCurlyBrace */); } formatting.formatOnOpeningCurly = formatOnOpeningCurly; function formatOnClosingCurly(position, sourceFile, formatContext) { - var precedingToken = findImmediatelyPrecedingTokenOfKind(position, 19 /* CloseBraceToken */, sourceFile); - return formatNodeLines(findOutermostNodeWithinListLevel(precedingToken), sourceFile, formatContext, 5 /* FormatOnClosingCurlyBrace */); + var precedingToken = findImmediatelyPrecedingTokenOfKind(position, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); + return formatNodeLines(findOutermostNodeWithinListLevel(precedingToken), sourceFile, formatContext, 5 /* FormattingRequestKind.FormatOnClosingCurlyBrace */); } formatting.formatOnClosingCurly = formatOnClosingCurly; function formatDocument(sourceFile, formatContext) { @@ -146387,7 +146974,7 @@ var ts; pos: 0, end: sourceFile.text.length }; - return formatSpan(span, sourceFile, formatContext, 0 /* FormatDocument */); + return formatSpan(span, sourceFile, formatContext, 0 /* FormattingRequestKind.FormatDocument */); } formatting.formatDocument = formatDocument; function formatSelection(start, end, sourceFile, formatContext) { @@ -146396,7 +146983,7 @@ var ts; pos: ts.getLineStartPositionForPosition(start, sourceFile), end: end, }; - return formatSpan(span, sourceFile, formatContext, 1 /* FormatSelection */); + return formatSpan(span, sourceFile, formatContext, 1 /* FormattingRequestKind.FormatSelection */); } formatting.formatSelection = formatSelection; /** @@ -146436,17 +147023,17 @@ var ts; // i.e. parent is class declaration with the list of members and node is one of members. function isListElement(parent, node) { switch (parent.kind) { - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: return ts.rangeContainsRange(parent.members, node); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: var body = parent.body; - return !!body && body.kind === 262 /* ModuleBlock */ && ts.rangeContainsRange(body.statements, node); - case 305 /* SourceFile */: - case 235 /* Block */: - case 262 /* ModuleBlock */: + return !!body && body.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.rangeContainsRange(body.statements, node); + case 305 /* SyntaxKind.SourceFile */: + case 235 /* SyntaxKind.Block */: + case 262 /* SyntaxKind.ModuleBlock */: return ts.rangeContainsRange(parent.statements, node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -146543,11 +147130,11 @@ var ts; * to the initial indentation. */ function getOwnOrInheritedDelta(n, options, sourceFile) { - var previousLine = -1 /* Unknown */; + var previousLine = -1 /* Constants.Unknown */; var child; while (n) { var line = sourceFile.getLineAndCharacterOfPosition(n.getStart(sourceFile)).line; - if (previousLine !== -1 /* Unknown */ && line !== previousLine) { + if (previousLine !== -1 /* Constants.Unknown */ && line !== previousLine) { break; } if (formatting.SmartIndenter.shouldIndentChildNode(options, n, child, sourceFile)) { @@ -146561,7 +147148,7 @@ var ts; } function formatNodeGivenIndentation(node, sourceFileLike, languageVariant, initialIndentation, delta, formatContext) { var range = { pos: node.pos, end: node.end }; - return formatting.getFormattingScanner(sourceFileLike.text, languageVariant, range.pos, range.end, function (scanner) { return formatSpanWorker(range, node, initialIndentation, delta, scanner, formatContext, 1 /* FormatSelection */, function (_) { return false; }, // assume that node does not have any errors + return formatting.getFormattingScanner(sourceFileLike.text, languageVariant, range.pos, range.end, function (scanner) { return formatSpanWorker(range, node, initialIndentation, delta, scanner, formatContext, 1 /* FormattingRequestKind.FormatSelection */, function (_) { return false; }, // assume that node does not have any errors sourceFileLike); }); } formatting.formatNodeGivenIndentation = formatNodeGivenIndentation; @@ -146589,7 +147176,7 @@ var ts; var previousParent; var previousRangeStartLine; var lastIndentedLine; - var indentationOnLastIndentedLine = -1 /* Unknown */; + var indentationOnLastIndentedLine = -1 /* Constants.Unknown */; var edits = []; formattingScanner.advance(); if (formattingScanner.isOnToken()) { @@ -146634,7 +147221,7 @@ var ts; function tryComputeIndentationForListItem(startPos, endPos, parentStartLine, range, inheritedIndentation) { if (ts.rangeOverlapsWithStartEnd(range, startPos, endPos) || ts.rangeContainsStartEnd(range, startPos, endPos) /* Not to miss zero-range nodes e.g. JsxText */) { - if (inheritedIndentation !== -1 /* Unknown */) { + if (inheritedIndentation !== -1 /* Constants.Unknown */) { return inheritedIndentation; } } @@ -146649,7 +147236,7 @@ var ts; return baseIndentSize > column ? baseIndentSize : column; } } - return -1 /* Unknown */; + return -1 /* Constants.Unknown */; } function computeIndentation(node, startLine, inheritedIndentation, parent, parentDynamicIndentation, effectiveParentStartLine) { var delta = formatting.SmartIndenter.shouldIndentChildNode(options, node) ? options.indentSize : 0; @@ -146662,8 +147249,8 @@ var ts; delta: Math.min(options.indentSize, parentDynamicIndentation.getDelta(node) + delta) }; } - else if (inheritedIndentation === -1 /* Unknown */) { - if (node.kind === 20 /* OpenParenToken */ && startLine === lastIndentedLine) { + else if (inheritedIndentation === -1 /* Constants.Unknown */) { + if (node.kind === 20 /* SyntaxKind.OpenParenToken */ && startLine === lastIndentedLine) { // the is used for chaining methods formatting // - we need to get the indentation on last line and the delta of parent return { indentation: indentationOnLastIndentedLine, delta: parentDynamicIndentation.getDelta(node) }; @@ -146686,19 +147273,19 @@ var ts; return node.modifiers[0].kind; } switch (node.kind) { - case 257 /* ClassDeclaration */: return 84 /* ClassKeyword */; - case 258 /* InterfaceDeclaration */: return 118 /* InterfaceKeyword */; - case 256 /* FunctionDeclaration */: return 98 /* FunctionKeyword */; - case 260 /* EnumDeclaration */: return 260 /* EnumDeclaration */; - case 172 /* GetAccessor */: return 136 /* GetKeyword */; - case 173 /* SetAccessor */: return 149 /* SetKeyword */; - case 169 /* MethodDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return 84 /* SyntaxKind.ClassKeyword */; + case 258 /* SyntaxKind.InterfaceDeclaration */: return 118 /* SyntaxKind.InterfaceKeyword */; + case 256 /* SyntaxKind.FunctionDeclaration */: return 98 /* SyntaxKind.FunctionKeyword */; + case 260 /* SyntaxKind.EnumDeclaration */: return 260 /* SyntaxKind.EnumDeclaration */; + case 172 /* SyntaxKind.GetAccessor */: return 136 /* SyntaxKind.GetKeyword */; + case 173 /* SyntaxKind.SetAccessor */: return 149 /* SyntaxKind.SetKeyword */; + case 169 /* SyntaxKind.MethodDeclaration */: if (node.asteriskToken) { - return 41 /* AsteriskToken */; + return 41 /* SyntaxKind.AsteriskToken */; } // falls through - case 167 /* PropertyDeclaration */: - case 164 /* Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 164 /* SyntaxKind.Parameter */: var name = ts.getNameOfDeclaration(node); if (name) { return name.kind; @@ -146713,12 +147300,12 @@ var ts; // .. { // // comment // } - case 19 /* CloseBraceToken */: - case 23 /* CloseBracketToken */: - case 21 /* CloseParenToken */: + case 19 /* SyntaxKind.CloseBraceToken */: + case 23 /* SyntaxKind.CloseBracketToken */: + case 21 /* SyntaxKind.CloseParenToken */: return indentation + getDelta(container); } - return tokenIndentation !== -1 /* Unknown */ ? tokenIndentation : indentation; + return tokenIndentation !== -1 /* Constants.Unknown */ ? tokenIndentation : indentation; }, // if list end token is LessThanToken '>' then its delta should be explicitly suppressed // so that LessThanToken as a binary operator can still be indented. @@ -146745,26 +147332,26 @@ var ts; function shouldAddDelta(line, kind, container) { switch (kind) { // open and close brace, 'else' and 'while' (in do statement) tokens has indentation of the parent - case 18 /* OpenBraceToken */: - case 19 /* CloseBraceToken */: - case 21 /* CloseParenToken */: - case 91 /* ElseKeyword */: - case 115 /* WhileKeyword */: - case 59 /* AtToken */: + case 18 /* SyntaxKind.OpenBraceToken */: + case 19 /* SyntaxKind.CloseBraceToken */: + case 21 /* SyntaxKind.CloseParenToken */: + case 91 /* SyntaxKind.ElseKeyword */: + case 115 /* SyntaxKind.WhileKeyword */: + case 59 /* SyntaxKind.AtToken */: return false; - case 43 /* SlashToken */: - case 31 /* GreaterThanToken */: + case 43 /* SyntaxKind.SlashToken */: + case 31 /* SyntaxKind.GreaterThanToken */: switch (container.kind) { - case 280 /* JsxOpeningElement */: - case 281 /* JsxClosingElement */: - case 279 /* JsxSelfClosingElement */: - case 228 /* ExpressionWithTypeArguments */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 281 /* SyntaxKind.JsxClosingElement */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return false; } break; - case 22 /* OpenBracketToken */: - case 23 /* CloseBracketToken */: - if (container.kind !== 195 /* MappedType */) { + case 22 /* SyntaxKind.OpenBracketToken */: + case 23 /* SyntaxKind.CloseBracketToken */: + if (container.kind !== 195 /* SyntaxKind.MappedType */) { return false; } break; @@ -146799,7 +147386,7 @@ var ts; // if there are any tokens that logically belong to node and interleave child nodes // such tokens will be consumed in processChildNode for the child that follows them ts.forEachChild(node, function (child) { - processChildNode(child, /*inheritedIndentation*/ -1 /* Unknown */, node, nodeDynamicIndentation, nodeStartLine, undecoratedNodeStartLine, /*isListItem*/ false); + processChildNode(child, /*inheritedIndentation*/ -1 /* Constants.Unknown */, node, nodeDynamicIndentation, nodeStartLine, undecoratedNodeStartLine, /*isListItem*/ false); }, function (nodes) { processChildNodes(nodes, node, nodeStartLine, nodeDynamicIndentation); }); @@ -146812,6 +147399,9 @@ var ts; consumeTokenAndAdvanceScanner(tokenInfo, node, nodeDynamicIndentation, node); } function processChildNode(child, inheritedIndentation, parent, parentDynamicIndentation, parentStartLine, undecoratedParentStartLine, isListItem, isFirstListItem) { + if (ts.nodeIsMissing(child)) { + return inheritedIndentation; + } var childStartPos = child.getStart(sourceFile); var childStartLine = sourceFile.getLineAndCharacterOfPosition(childStartPos).line; var undecoratedChildStartLine = childStartLine; @@ -146819,10 +147409,10 @@ var ts; undecoratedChildStartLine = sourceFile.getLineAndCharacterOfPosition(ts.getNonDecoratorTokenPosOfNode(child, sourceFile)).line; } // if child is a list item - try to get its indentation, only if parent is within the original range. - var childIndentationAmount = -1 /* Unknown */; + var childIndentationAmount = -1 /* Constants.Unknown */; if (isListItem && ts.rangeContainsRange(originalRange, parent)) { childIndentationAmount = tryComputeIndentationForListItem(childStartPos, child.end, parentStartLine, originalRange, inheritedIndentation); - if (childIndentationAmount !== -1 /* Unknown */) { + if (childIndentationAmount !== -1 /* Constants.Unknown */) { inheritedIndentation = childIndentationAmount; } } @@ -146858,17 +147448,17 @@ var ts; // if child node is a token, it does not impact indentation, proceed it using parent indentation scope rules var tokenInfo = formattingScanner.readTokenInfo(child); // JSX text shouldn't affect indenting - if (child.kind !== 11 /* JsxText */) { + if (child.kind !== 11 /* SyntaxKind.JsxText */) { ts.Debug.assert(tokenInfo.token.end === child.end, "Token end is child end"); consumeTokenAndAdvanceScanner(tokenInfo, node, parentDynamicIndentation, child); return inheritedIndentation; } } - var effectiveParentStartLine = child.kind === 165 /* Decorator */ ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 165 /* SyntaxKind.Decorator */ ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); childContextNode = node; - if (isFirstListItem && parent.kind === 204 /* ArrayLiteralExpression */ && inheritedIndentation === -1 /* Unknown */) { + if (isFirstListItem && parent.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && inheritedIndentation === -1 /* Constants.Unknown */) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -146878,7 +147468,14 @@ var ts; var listStartToken = getOpenTokenForList(parent, nodes); var listDynamicIndentation = parentDynamicIndentation; var startLine = parentStartLine; - if (listStartToken !== 0 /* Unknown */) { + // node range is outside the target range - do not dive inside + if (!ts.rangeOverlapsWithStartEnd(originalRange, nodes.pos, nodes.end)) { + if (nodes.end < originalRange.pos) { + formattingScanner.skipToEndOf(nodes); + } + return; + } + if (listStartToken !== 0 /* SyntaxKind.Unknown */) { // introduce a new indentation scope for lists (including list start and end tokens) while (formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { var tokenInfo = formattingScanner.readTokenInfo(parent); @@ -146891,7 +147488,7 @@ var ts; startLine = sourceFile.getLineAndCharacterOfPosition(tokenInfo.token.pos).line; consumeTokenAndAdvanceScanner(tokenInfo, parent, parentDynamicIndentation, parent); var indentationOnListStartToken = void 0; - if (indentationOnLastIndentedLine !== -1 /* Unknown */) { + if (indentationOnLastIndentedLine !== -1 /* Constants.Unknown */) { // scanner just processed list start token so consider last indentation as list indentation // function foo(): { // last indentation was 0, list item will be indented based on this value // foo: number; @@ -146910,15 +147507,15 @@ var ts; } } } - var inheritedIndentation = -1 /* Unknown */; + var inheritedIndentation = -1 /* Constants.Unknown */; for (var i = 0; i < nodes.length; i++) { var child = nodes[i]; inheritedIndentation = processChildNode(child, inheritedIndentation, node, listDynamicIndentation, startLine, startLine, /*isListItem*/ true, /*isFirstListItem*/ i === 0); } var listEndToken = getCloseTokenForOpenToken(listStartToken); - if (listEndToken !== 0 /* Unknown */ && formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { + if (listEndToken !== 0 /* SyntaxKind.Unknown */ && formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { var tokenInfo = formattingScanner.readTokenInfo(parent); - if (tokenInfo.token.kind === 27 /* CommaToken */ && ts.isCallLikeExpression(parent)) { + if (tokenInfo.token.kind === 27 /* SyntaxKind.CommaToken */ && ts.isCallLikeExpression(parent)) { var commaTokenLine = sourceFile.getLineAndCharacterOfPosition(tokenInfo.token.pos).line; if (startLine !== commaTokenLine) { formattingScanner.advance(); @@ -146942,7 +147539,7 @@ var ts; if (currentTokenInfo.leadingTrivia) { processTrivia(currentTokenInfo.leadingTrivia, parent, childContextNode, dynamicIndentation); } - var lineAction = 0 /* None */; + var lineAction = 0 /* LineAction.None */; var isTokenInRange = ts.rangeContainsRange(originalRange, currentTokenInfo.token); var tokenStart = sourceFile.getLineAndCharacterOfPosition(currentTokenInfo.token.pos); if (isTokenInRange) { @@ -146952,13 +147549,13 @@ var ts; lineAction = processRange(currentTokenInfo.token, tokenStart, parent, childContextNode, dynamicIndentation); // do not indent comments\token if token range overlaps with some error if (!rangeHasError) { - if (lineAction === 0 /* None */) { + if (lineAction === 0 /* LineAction.None */) { // indent token only if end line of previous range does not match start line of the token var prevEndLine = savePreviousRange && sourceFile.getLineAndCharacterOfPosition(savePreviousRange.end).line; indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine; } else { - indentToken = lineAction === 1 /* LineAdded */; + indentToken = lineAction === 1 /* LineAction.LineAdded */; } } } @@ -146968,15 +147565,15 @@ var ts; if (indentToken) { var tokenIndentation = (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) ? dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind, container, !!isListEndToken) : - -1 /* Unknown */; + -1 /* Constants.Unknown */; var indentNextTokenOrTrivia = true; if (currentTokenInfo.leadingTrivia) { var commentIndentation_1 = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind, tokenIndentation, container); indentNextTokenOrTrivia = indentTriviaItems(currentTokenInfo.leadingTrivia, commentIndentation_1, indentNextTokenOrTrivia, function (item) { return insertIndentation(item.pos, commentIndentation_1, /*lineAdded*/ false); }); } // indent token only if is it is in target range and does not overlap with any error ranges - if (tokenIndentation !== -1 /* Unknown */ && indentNextTokenOrTrivia) { - insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === 1 /* LineAdded */); + if (tokenIndentation !== -1 /* Constants.Unknown */ && indentNextTokenOrTrivia) { + insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === 1 /* LineAction.LineAdded */); lastIndentedLine = tokenStart.line; indentationOnLastIndentedLine = tokenIndentation; } @@ -146990,19 +147587,19 @@ var ts; var triviaItem = trivia_1[_i]; var triviaInRange = ts.rangeContainsRange(originalRange, triviaItem); switch (triviaItem.kind) { - case 3 /* MultiLineCommentTrivia */: + case 3 /* SyntaxKind.MultiLineCommentTrivia */: if (triviaInRange) { indentMultilineComment(triviaItem, commentIndentation, /*firstLineIsIndented*/ !indentNextTokenOrTrivia); } indentNextTokenOrTrivia = false; break; - case 2 /* SingleLineCommentTrivia */: + case 2 /* SyntaxKind.SingleLineCommentTrivia */: if (indentNextTokenOrTrivia && triviaInRange) { indentSingleLine(triviaItem); } indentNextTokenOrTrivia = false; break; - case 4 /* NewLineTrivia */: + case 4 /* SyntaxKind.NewLineTrivia */: indentNextTokenOrTrivia = true; break; } @@ -147020,7 +147617,7 @@ var ts; } function processRange(range, rangeStart, parent, contextNode, dynamicIndentation) { var rangeHasError = rangeContainsError(range); - var lineAction = 0 /* None */; + var lineAction = 0 /* LineAction.None */; if (!rangeHasError) { if (!previousRange) { // trim whitespaces starting from the beginning of the span up to the current line @@ -147041,7 +147638,7 @@ var ts; formattingContext.updateContext(previousItem, previousParent, currentItem, currentParent, contextNode); var rules = getRules(formattingContext); var trimTrailingWhitespaces = formattingContext.options.trimTrailingWhitespace !== false; - var lineAction = 0 /* None */; + var lineAction = 0 /* LineAction.None */; if (rules) { // Apply rules in reverse order so that higher priority rules (which are first in the array) // win in a conflict with lower priority rules. @@ -147049,14 +147646,14 @@ var ts; lineAction = applyRuleEdits(rule, previousItem, previousStartLine, currentItem, currentStartLine); if (dynamicIndentation) { switch (lineAction) { - case 2 /* LineRemoved */: + case 2 /* LineAction.LineRemoved */: // Handle the case where the next line is moved to be the end of this line. // In this case we don't indent the next line in the next pass. if (currentParent.getStart(sourceFile) === currentItem.pos) { dynamicIndentation.recomputeIndentation(/*lineAddedByFormatting*/ false, contextNode); } break; - case 1 /* LineAdded */: + case 1 /* LineAction.LineAdded */: // Handle the case where token2 is moved to the new line. // In this case we indent token2 in the next pass but we set // sameLineIndent flag to notify the indenter that the indentation is within the line. @@ -147065,15 +147662,15 @@ var ts; } break; default: - ts.Debug.assert(lineAction === 0 /* None */); + ts.Debug.assert(lineAction === 0 /* LineAction.None */); } } // We need to trim trailing whitespace between the tokens if they were on different lines, and no rule was applied to put them on the same line - trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule.action & 16 /* DeleteSpace */) && rule.flags !== 1 /* CanDeleteNewLines */; + trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule.action & 16 /* RuleAction.DeleteSpace */) && rule.flags !== 1 /* RuleFlags.CanDeleteNewLines */; }); } else { - trimTrailingWhitespaces = trimTrailingWhitespaces && currentItem.kind !== 1 /* EndOfFileToken */; + trimTrailingWhitespaces = trimTrailingWhitespaces && currentItem.kind !== 1 /* SyntaxKind.EndOfFileToken */; } if (currentStartLine !== previousStartLine && trimTrailingWhitespaces) { // We need to trim trailing whitespace between the tokens if they were on different lines, and no rule was applied to put them on the same line @@ -147099,7 +147696,7 @@ var ts; function characterToColumn(startLinePosition, characterInLine) { var column = 0; for (var i = 0; i < characterInLine; i++) { - if (sourceFile.text.charCodeAt(startLinePosition + i) === 9 /* tab */) { + if (sourceFile.text.charCodeAt(startLinePosition + i) === 9 /* CharacterCodes.tab */) { column += options.tabSize - column % options.tabSize; } else { @@ -147230,48 +147827,48 @@ var ts; function applyRuleEdits(rule, previousRange, previousStartLine, currentRange, currentStartLine) { var onLaterLine = currentStartLine !== previousStartLine; switch (rule.action) { - case 1 /* StopProcessingSpaceActions */: + case 1 /* RuleAction.StopProcessingSpaceActions */: // no action required - return 0 /* None */; - case 16 /* DeleteSpace */: + return 0 /* LineAction.None */; + case 16 /* RuleAction.DeleteSpace */: if (previousRange.end !== currentRange.pos) { // delete characters starting from t1.end up to t2.pos exclusive recordDelete(previousRange.end, currentRange.pos - previousRange.end); - return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */; + return onLaterLine ? 2 /* LineAction.LineRemoved */ : 0 /* LineAction.None */; } break; - case 32 /* DeleteToken */: + case 32 /* RuleAction.DeleteToken */: recordDelete(previousRange.pos, previousRange.end - previousRange.pos); break; - case 8 /* InsertNewLine */: + case 8 /* RuleAction.InsertNewLine */: // exit early if we on different lines and rule cannot change number of newlines // if line1 and line2 are on subsequent lines then no edits are required - ok to exit // if line1 and line2 are separated with more than one newline - ok to exit since we cannot delete extra new lines - if (rule.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) { - return 0 /* None */; + if (rule.flags !== 1 /* RuleFlags.CanDeleteNewLines */ && previousStartLine !== currentStartLine) { + return 0 /* LineAction.None */; } // edit should not be applied if we have one line feed between elements var lineDelta = currentStartLine - previousStartLine; if (lineDelta !== 1) { recordReplace(previousRange.end, currentRange.pos - previousRange.end, ts.getNewLineOrDefaultFromHost(host, options)); - return onLaterLine ? 0 /* None */ : 1 /* LineAdded */; + return onLaterLine ? 0 /* LineAction.None */ : 1 /* LineAction.LineAdded */; } break; - case 4 /* InsertSpace */: + case 4 /* RuleAction.InsertSpace */: // exit early if we on different lines and rule cannot change number of newlines - if (rule.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) { - return 0 /* None */; + if (rule.flags !== 1 /* RuleFlags.CanDeleteNewLines */ && previousStartLine !== currentStartLine) { + return 0 /* LineAction.None */; } var posDelta = currentRange.pos - previousRange.end; - if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange.end) !== 32 /* space */) { + if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange.end) !== 32 /* CharacterCodes.space */) { recordReplace(previousRange.end, currentRange.pos - previousRange.end, " "); - return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */; + return onLaterLine ? 2 /* LineAction.LineRemoved */ : 0 /* LineAction.None */; } break; - case 64 /* InsertTrailingSemicolon */: + case 64 /* RuleAction.InsertTrailingSemicolon */: recordInsert(previousRange.end, ";"); } - return 0 /* None */; + return 0 /* LineAction.None */; } } var LineAction; @@ -147313,53 +147910,53 @@ var ts; // // Internally, we represent the end of the comment at the newline and closing '/', respectively. // - position === range.end && (range.kind === 2 /* SingleLineCommentTrivia */ || position === sourceFile.getFullWidth()); }); + position === range.end && (range.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */ || position === sourceFile.getFullWidth()); }); } formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 171 /* Constructor */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 214 /* ArrowFunction */: + case 171 /* SyntaxKind.Constructor */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 214 /* SyntaxKind.ArrowFunction */: if (node.typeParameters === list) { - return 29 /* LessThanToken */; + return 29 /* SyntaxKind.LessThanToken */; } else if (node.parameters === list) { - return 20 /* OpenParenToken */; + return 20 /* SyntaxKind.OpenParenToken */; } break; - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: if (node.typeArguments === list) { - return 29 /* LessThanToken */; + return 29 /* SyntaxKind.LessThanToken */; } else if (node.arguments === list) { - return 20 /* OpenParenToken */; + return 20 /* SyntaxKind.OpenParenToken */; } break; - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: if (node.typeArguments === list) { - return 29 /* LessThanToken */; + return 29 /* SyntaxKind.LessThanToken */; } break; - case 182 /* TypeLiteral */: - return 18 /* OpenBraceToken */; + case 182 /* SyntaxKind.TypeLiteral */: + return 18 /* SyntaxKind.OpenBraceToken */; } - return 0 /* Unknown */; + return 0 /* SyntaxKind.Unknown */; } function getCloseTokenForOpenToken(kind) { switch (kind) { - case 20 /* OpenParenToken */: - return 21 /* CloseParenToken */; - case 29 /* LessThanToken */: - return 31 /* GreaterThanToken */; - case 18 /* OpenBraceToken */: - return 19 /* CloseBraceToken */; + case 20 /* SyntaxKind.OpenParenToken */: + return 21 /* SyntaxKind.CloseParenToken */; + case 29 /* SyntaxKind.LessThanToken */: + return 31 /* SyntaxKind.GreaterThanToken */; + case 18 /* SyntaxKind.OpenBraceToken */: + return 19 /* SyntaxKind.CloseBraceToken */; } - return 0 /* Unknown */; + return 0 /* SyntaxKind.Unknown */; } var internedSizes; var internedTabsIndentation; @@ -147445,7 +148042,7 @@ var ts; var precedingToken = ts.findPrecedingToken(position, sourceFile, /*startNode*/ undefined, /*excludeJsdoc*/ true); // eslint-disable-next-line no-null/no-null var enclosingCommentRange = formatting.getRangeOfEnclosingComment(sourceFile, position, precedingToken || null); - if (enclosingCommentRange && enclosingCommentRange.kind === 3 /* MultiLineCommentTrivia */) { + if (enclosingCommentRange && enclosingCommentRange.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { return getCommentIndent(sourceFile, position, options, enclosingCommentRange); } if (!precedingToken) { @@ -147481,21 +148078,21 @@ var ts; // y: undefined, // } // ``` - var isObjectLiteral = currentToken.kind === 18 /* OpenBraceToken */ && currentToken.parent.kind === 205 /* ObjectLiteralExpression */; + var isObjectLiteral = currentToken.kind === 18 /* SyntaxKind.OpenBraceToken */ && currentToken.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; if (options.indentStyle === ts.IndentStyle.Block || isObjectLiteral) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 27 /* CommaToken */ && precedingToken.parent.kind !== 221 /* BinaryExpression */) { + if (precedingToken.kind === 27 /* SyntaxKind.CommaToken */ && precedingToken.parent.kind !== 221 /* SyntaxKind.BinaryExpression */) { // previous token is comma that separates items in list - find the previous item and try to derive indentation from it var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); - if (actualIndentation !== -1 /* Unknown */) { + if (actualIndentation !== -1 /* Value.Unknown */) { return actualIndentation; } } var containerList = getListByPosition(position, precedingToken.parent, sourceFile); // use list position if the preceding token is before any list items if (containerList && !ts.rangeContainsRange(containerList, precedingToken)) { - var useTheSameBaseIndentation = [213 /* FunctionExpression */, 214 /* ArrowFunction */].indexOf(currentToken.parent.kind) !== -1; + var useTheSameBaseIndentation = [213 /* SyntaxKind.FunctionExpression */, 214 /* SyntaxKind.ArrowFunction */].indexOf(currentToken.parent.kind) !== -1; var indentSize = useTheSameBaseIndentation ? 0 : options.indentSize; return getActualIndentationForListStartLine(containerList, sourceFile, options) + indentSize; // TODO: GH#18217 } @@ -147515,7 +148112,7 @@ var ts; return column; } var firstNonWhitespaceCharacterCode = sourceFile.text.charCodeAt(startPositionOfLine + character); - return firstNonWhitespaceCharacterCode === 42 /* asterisk */ ? column - 1 : column; + return firstNonWhitespaceCharacterCode === 42 /* CharacterCodes.asterisk */ ? column - 1 : column; } function getBlockIndent(sourceFile, position, options) { // move backwards until we find a line with a non-whitespace character, @@ -147540,9 +148137,9 @@ var ts; if (ts.positionBelongsToNode(current, position, sourceFile) && shouldIndentChildNode(options, current, previous, sourceFile, /*isNextChild*/ true)) { var currentStart = getStartLineAndCharacterForNode(current, sourceFile); var nextTokenKind = nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile); - var indentationDelta = nextTokenKind !== 0 /* Unknown */ + var indentationDelta = nextTokenKind !== 0 /* NextTokenKind.Unknown */ // handle cases when codefix is about to be inserted before the close brace - ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 + ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* NextTokenKind.CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0; return getIndentationForNodeWorker(current, currentStart, /*ignoreActualIndentationRange*/ undefined, indentationDelta, sourceFile, /*isNextChild*/ true, options); // TODO: GH#18217 } @@ -147551,7 +148148,7 @@ var ts; // function foo(a // | preceding node 'a' does share line with its parent but indentation is expected var actualIndentation = getActualIndentationForListItem(current, sourceFile, options, /*listIndentsChild*/ true); - if (actualIndentation !== -1 /* Unknown */) { + if (actualIndentation !== -1 /* Value.Unknown */) { return actualIndentation; } previous = current; @@ -147605,12 +148202,12 @@ var ts; // }) looking at the relationship between the list and *first* list item. var listIndentsChild = !!firstListChild && getStartLineAndCharacterForNode(firstListChild, sourceFile).line > containingListOrParentStart.line; var actualIndentation = getActualIndentationForListItem(current, sourceFile, options, listIndentsChild); - if (actualIndentation !== -1 /* Unknown */) { + if (actualIndentation !== -1 /* Value.Unknown */) { return actualIndentation + indentationDelta; } // try to fetch actual indentation for current node from source text actualIndentation = getActualIndentationForNode(current, parent, currentStart, parentAndChildShareLine, sourceFile, options); - if (actualIndentation !== -1 /* Unknown */) { + if (actualIndentation !== -1 /* Value.Unknown */) { return actualIndentation + indentationDelta; } } @@ -147649,7 +148246,7 @@ var ts; } else { // handle broken code gracefully - return -1 /* Unknown */; + return -1 /* Value.Unknown */; } } /* @@ -147660,9 +148257,9 @@ var ts; // - parent is SourceFile - by default immediate children of SourceFile are not indented except when user indents them manually // - parent and child are not on the same line var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 305 /* SourceFile */ || !parentAndChildShareLine); + (parent.kind === 305 /* SyntaxKind.SourceFile */ || !parentAndChildShareLine); if (!useActualIndentation) { - return -1 /* Unknown */; + return -1 /* Value.Unknown */; } return findColumnForFirstNonWhitespaceCharacterInLine(currentLineAndChar, sourceFile, options); } @@ -147675,13 +148272,13 @@ var ts; function nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile) { var nextToken = ts.findNextToken(precedingToken, current, sourceFile); if (!nextToken) { - return 0 /* Unknown */; + return 0 /* NextTokenKind.Unknown */; } - if (nextToken.kind === 18 /* OpenBraceToken */) { + if (nextToken.kind === 18 /* SyntaxKind.OpenBraceToken */) { // open braces are always indented at the parent level - return 1 /* OpenBrace */; + return 1 /* NextTokenKind.OpenBrace */; } - else if (nextToken.kind === 19 /* CloseBraceToken */) { + else if (nextToken.kind === 19 /* SyntaxKind.CloseBraceToken */) { // close braces are indented at the parent level if they are located on the same line with cursor // this means that if new line will be added at $ position, this case will be indented // class A { @@ -147691,9 +148288,9 @@ var ts; // class A { // $} var nextTokenStartLine = getStartLineAndCharacterForNode(nextToken, sourceFile).line; - return lineAtPosition === nextTokenStartLine ? 2 /* CloseBrace */ : 0 /* Unknown */; + return lineAtPosition === nextTokenStartLine ? 2 /* NextTokenKind.CloseBrace */ : 0 /* NextTokenKind.Unknown */; } - return 0 /* Unknown */; + return 0 /* NextTokenKind.Unknown */; } function getStartLineAndCharacterForNode(n, sourceFile) { return sourceFile.getLineAndCharacterOfPosition(n.getStart(sourceFile)); @@ -147708,8 +148305,8 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 239 /* IfStatement */ && parent.elseStatement === child) { - var elseKeyword = ts.findChildOfKind(parent, 91 /* ElseKeyword */, sourceFile); + if (parent.kind === 239 /* SyntaxKind.IfStatement */ && parent.elseStatement === child) { + var elseKeyword = ts.findChildOfKind(parent, 91 /* SyntaxKind.ElseKeyword */, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; return elseKeywordStartLine === childStartLine; @@ -147789,42 +148386,42 @@ var ts; } function getListByRange(start, end, node, sourceFile) { switch (node.kind) { - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return getList(node.typeArguments); - case 205 /* ObjectLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: return getList(node.properties); - case 204 /* ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: return getList(node.elements); - case 182 /* TypeLiteral */: + case 182 /* SyntaxKind.TypeLiteral */: return getList(node.members); - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 171 /* Constructor */: - case 180 /* ConstructorType */: - case 175 /* ConstructSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 171 /* SyntaxKind.Constructor */: + case 180 /* SyntaxKind.ConstructorType */: + case 175 /* SyntaxKind.ConstructSignature */: return getList(node.typeParameters) || getList(node.parameters); - case 172 /* GetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: return getList(node.parameters); - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 344 /* JSDocTemplateTag */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 344 /* SyntaxKind.JSDocTemplateTag */: return getList(node.typeParameters); - case 209 /* NewExpression */: - case 208 /* CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 208 /* SyntaxKind.CallExpression */: return getList(node.typeArguments) || getList(node.arguments); - case 255 /* VariableDeclarationList */: + case 255 /* SyntaxKind.VariableDeclarationList */: return getList(node.declarations); - case 269 /* NamedImports */: - case 273 /* NamedExports */: + case 269 /* SyntaxKind.NamedImports */: + case 273 /* SyntaxKind.NamedExports */: return getList(node.elements); - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: return getList(node.elements); } function getList(list) { @@ -147842,27 +148439,27 @@ var ts; } function getActualIndentationForListStartLine(list, sourceFile, options) { if (!list) { - return -1 /* Unknown */; + return -1 /* Value.Unknown */; } return findColumnForFirstNonWhitespaceCharacterInLine(sourceFile.getLineAndCharacterOfPosition(list.pos), sourceFile, options); } function getActualIndentationForListItem(node, sourceFile, options, listIndentsChild) { - if (node.parent && node.parent.kind === 255 /* VariableDeclarationList */) { + if (node.parent && node.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */) { // VariableDeclarationList has no wrapping tokens - return -1 /* Unknown */; + return -1 /* Value.Unknown */; } var containingList = getContainingList(node, sourceFile); if (containingList) { var index = containingList.indexOf(node); if (index !== -1) { var result = deriveActualIndentationFromList(containingList, index, sourceFile, options); - if (result !== -1 /* Unknown */) { + if (result !== -1 /* Value.Unknown */) { return result; } } return getActualIndentationForListStartLine(containingList, sourceFile, options) + (listIndentsChild ? options.indentSize : 0); // TODO: GH#18217 } - return -1 /* Unknown */; + return -1 /* Value.Unknown */; } function deriveActualIndentationFromList(list, index, sourceFile, options) { ts.Debug.assert(index >= 0 && index < list.length); @@ -147871,7 +148468,7 @@ var ts; // if end line for item [i - 1] differs from the start line for item [i] - find column of the first non-whitespace character on the line of item [i] var lineAndCharacter = getStartLineAndCharacterForNode(node, sourceFile); for (var i = index - 1; i >= 0; i--) { - if (list[i].kind === 27 /* CommaToken */) { + if (list[i].kind === 27 /* SyntaxKind.CommaToken */) { continue; } // skip list items that ends on the same line with the current list element @@ -147881,7 +148478,7 @@ var ts; } lineAndCharacter = getStartLineAndCharacterForNode(list[i], sourceFile); } - return -1 /* Unknown */; + return -1 /* Value.Unknown */; } function findColumnForFirstNonWhitespaceCharacterInLine(lineAndCharacter, sourceFile, options) { var lineStart = sourceFile.getPositionOfLineAndCharacter(lineAndCharacter.line, 0); @@ -147902,7 +148499,7 @@ var ts; if (!ts.isWhiteSpaceSingleLine(ch)) { break; } - if (ch === 9 /* tab */) { + if (ch === 9 /* CharacterCodes.tab */) { column += options.tabSize + (column % options.tabSize); } else { @@ -147918,98 +148515,98 @@ var ts; } SmartIndenter.findFirstNonWhitespaceColumn = findFirstNonWhitespaceColumn; function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { - var childKind = child ? child.kind : 0 /* Unknown */; + var childKind = child ? child.kind : 0 /* SyntaxKind.Unknown */; switch (parent.kind) { - case 238 /* ExpressionStatement */: - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 204 /* ArrayLiteralExpression */: - case 235 /* Block */: - case 262 /* ModuleBlock */: - case 205 /* ObjectLiteralExpression */: - case 182 /* TypeLiteral */: - case 195 /* MappedType */: - case 184 /* TupleType */: - case 263 /* CaseBlock */: - case 290 /* DefaultClause */: - case 289 /* CaseClause */: - case 212 /* ParenthesizedExpression */: - case 206 /* PropertyAccessExpression */: - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 237 /* VariableStatement */: - case 271 /* ExportAssignment */: - case 247 /* ReturnStatement */: - case 222 /* ConditionalExpression */: - case 202 /* ArrayBindingPattern */: - case 201 /* ObjectBindingPattern */: - case 280 /* JsxOpeningElement */: - case 283 /* JsxOpeningFragment */: - case 279 /* JsxSelfClosingElement */: - case 288 /* JsxExpression */: - case 168 /* MethodSignature */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 164 /* Parameter */: - case 179 /* FunctionType */: - case 180 /* ConstructorType */: - case 191 /* ParenthesizedType */: - case 210 /* TaggedTemplateExpression */: - case 218 /* AwaitExpression */: - case 273 /* NamedExports */: - case 269 /* NamedImports */: - case 275 /* ExportSpecifier */: - case 270 /* ImportSpecifier */: - case 167 /* PropertyDeclaration */: + case 238 /* SyntaxKind.ExpressionStatement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 235 /* SyntaxKind.Block */: + case 262 /* SyntaxKind.ModuleBlock */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 182 /* SyntaxKind.TypeLiteral */: + case 195 /* SyntaxKind.MappedType */: + case 184 /* SyntaxKind.TupleType */: + case 263 /* SyntaxKind.CaseBlock */: + case 290 /* SyntaxKind.DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: + case 212 /* SyntaxKind.ParenthesizedExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 237 /* SyntaxKind.VariableStatement */: + case 271 /* SyntaxKind.ExportAssignment */: + case 247 /* SyntaxKind.ReturnStatement */: + case 222 /* SyntaxKind.ConditionalExpression */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 280 /* SyntaxKind.JsxOpeningElement */: + case 283 /* SyntaxKind.JsxOpeningFragment */: + case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 288 /* SyntaxKind.JsxExpression */: + case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 164 /* SyntaxKind.Parameter */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 191 /* SyntaxKind.ParenthesizedType */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 218 /* SyntaxKind.AwaitExpression */: + case 273 /* SyntaxKind.NamedExports */: + case 269 /* SyntaxKind.NamedImports */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 167 /* SyntaxKind.PropertyDeclaration */: return true; - case 254 /* VariableDeclaration */: - case 296 /* PropertyAssignment */: - case 221 /* BinaryExpression */: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 205 /* ObjectLiteralExpression */) { // TODO: GH#18217 + case 254 /* SyntaxKind.VariableDeclaration */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 221 /* SyntaxKind.BinaryExpression */: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 205 /* SyntaxKind.ObjectLiteralExpression */) { // TODO: GH#18217 return rangeIsOnOneLine(sourceFile, child); } - if (parent.kind === 221 /* BinaryExpression */ && sourceFile && child && childKind === 278 /* JsxElement */) { + if (parent.kind === 221 /* SyntaxKind.BinaryExpression */ && sourceFile && child && childKind === 278 /* SyntaxKind.JsxElement */) { var parentStartLine = sourceFile.getLineAndCharacterOfPosition(ts.skipTrivia(sourceFile.text, parent.pos)).line; var childStartLine = sourceFile.getLineAndCharacterOfPosition(ts.skipTrivia(sourceFile.text, child.pos)).line; return parentStartLine !== childStartLine; } - if (parent.kind !== 221 /* BinaryExpression */) { + if (parent.kind !== 221 /* SyntaxKind.BinaryExpression */) { return true; } break; - case 240 /* DoStatement */: - case 241 /* WhileStatement */: - case 243 /* ForInStatement */: - case 244 /* ForOfStatement */: - case 242 /* ForStatement */: - case 239 /* IfStatement */: - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - return childKind !== 235 /* Block */; - case 214 /* ArrowFunction */: - if (sourceFile && childKind === 212 /* ParenthesizedExpression */) { + case 240 /* SyntaxKind.DoStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + return childKind !== 235 /* SyntaxKind.Block */; + case 214 /* SyntaxKind.ArrowFunction */: + if (sourceFile && childKind === 212 /* SyntaxKind.ParenthesizedExpression */) { return rangeIsOnOneLine(sourceFile, child); } - return childKind !== 235 /* Block */; - case 272 /* ExportDeclaration */: - return childKind !== 273 /* NamedExports */; - case 266 /* ImportDeclaration */: - return childKind !== 267 /* ImportClause */ || - (!!child.namedBindings && child.namedBindings.kind !== 269 /* NamedImports */); - case 278 /* JsxElement */: - return childKind !== 281 /* JsxClosingElement */; - case 282 /* JsxFragment */: - return childKind !== 284 /* JsxClosingFragment */; - case 188 /* IntersectionType */: - case 187 /* UnionType */: - if (childKind === 182 /* TypeLiteral */ || childKind === 184 /* TupleType */) { + return childKind !== 235 /* SyntaxKind.Block */; + case 272 /* SyntaxKind.ExportDeclaration */: + return childKind !== 273 /* SyntaxKind.NamedExports */; + case 266 /* SyntaxKind.ImportDeclaration */: + return childKind !== 267 /* SyntaxKind.ImportClause */ || + (!!child.namedBindings && child.namedBindings.kind !== 269 /* SyntaxKind.NamedImports */); + case 278 /* SyntaxKind.JsxElement */: + return childKind !== 281 /* SyntaxKind.JsxClosingElement */; + case 282 /* SyntaxKind.JsxFragment */: + return childKind !== 284 /* SyntaxKind.JsxClosingFragment */; + case 188 /* SyntaxKind.IntersectionType */: + case 187 /* SyntaxKind.UnionType */: + if (childKind === 182 /* SyntaxKind.TypeLiteral */ || childKind === 184 /* SyntaxKind.TupleType */) { return false; } break; @@ -148020,11 +148617,11 @@ var ts; SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 247 /* ReturnStatement */: - case 251 /* ThrowStatement */: - case 245 /* ContinueStatement */: - case 246 /* BreakStatement */: - return parent.kind !== 235 /* Block */; + case 247 /* SyntaxKind.ReturnStatement */: + case 251 /* SyntaxKind.ThrowStatement */: + case 245 /* SyntaxKind.ContinueStatement */: + case 246 /* SyntaxKind.BreakStatement */: + return parent.kind !== 235 /* SyntaxKind.Block */; default: return false; } @@ -148114,7 +148711,7 @@ var ts; i++; continue; } - return ch === 47 /* slash */; + return ch === 47 /* CharacterCodes.slash */; } return false; } @@ -148198,7 +148795,7 @@ var ts; var comment = comments_2[_i]; // Single line can break the loop as trivia will only be this line. // Comments on subsequest lines are also ignored. - if (comment.kind === 2 /* SingleLineCommentTrivia */ || ts.getLineOfLocalPosition(sourceFile, comment.pos) > nodeEndLine) { + if (comment.kind === 2 /* SyntaxKind.SingleLineCommentTrivia */ || ts.getLineOfLocalPosition(sourceFile, comment.pos) > nodeEndLine) { break; } // Get the end line of the comment and compare against the end line of the node. @@ -148241,7 +148838,7 @@ var ts; * Checks if 'candidate' argument is a legal separator in the list that contains 'node' as an element */ function isSeparator(node, candidate) { - return !!candidate && !!node.parent && (candidate.kind === 27 /* CommaToken */ || (candidate.kind === 26 /* SemicolonToken */ && node.parent.kind === 205 /* ObjectLiteralExpression */)); + return !!candidate && !!node.parent && (candidate.kind === 27 /* SyntaxKind.CommaToken */ || (candidate.kind === 26 /* SyntaxKind.SemicolonToken */ && node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */)); } function isThisTypeAnnotatable(containingFunction) { return ts.isFunctionExpression(containingFunction) || ts.isFunctionDeclaration(containingFunction); @@ -148347,7 +148944,7 @@ var ts; }; ChangeTracker.prototype.nextCommaToken = function (sourceFile, node) { var next = ts.findNextToken(node, node.parent, sourceFile); - return next && next.kind === 27 /* CommaToken */ ? next : undefined; + return next && next.kind === 27 /* SyntaxKind.CommaToken */ ? next : undefined; }; ChangeTracker.prototype.replacePropertyAssignment = function (sourceFile, oldNode, newNode) { var suffix = this.nextCommaToken(sourceFile, oldNode) ? "" : ("," + this.newLineCharacter); @@ -148411,7 +149008,7 @@ var ts; var insertAtLineStart = isValidLocationToAddComment(sourceFile, startPosition); var token = ts.getTouchingToken(sourceFile, insertAtLineStart ? startPosition : position); var indent = sourceFile.text.slice(lineStartPosition, startPosition); - var text = (insertAtLineStart ? "" : this.newLineCharacter) + "//" + commentText + this.newLineCharacter + indent; + var text = "".concat(insertAtLineStart ? "" : this.newLineCharacter, "//").concat(commentText).concat(this.newLineCharacter).concat(indent); this.insertText(sourceFile, token.getStart(sourceFile), text); }; ChangeTracker.prototype.insertJsdocCommentBefore = function (sourceFile, node, tag) { @@ -148464,7 +149061,7 @@ var ts; var _a; var endNode; if (ts.isFunctionLike(node)) { - endNode = ts.findChildOfKind(node, 21 /* CloseParenToken */, sourceFile); + endNode = ts.findChildOfKind(node, 21 /* SyntaxKind.CloseParenToken */, sourceFile); if (!endNode) { if (!ts.isArrowFunction(node)) return false; // Function missing parentheses, give up @@ -148473,19 +149070,19 @@ var ts; } } else { - endNode = (_a = (node.kind === 254 /* VariableDeclaration */ ? node.exclamationToken : node.questionToken)) !== null && _a !== void 0 ? _a : node.name; + endNode = (_a = (node.kind === 254 /* SyntaxKind.VariableDeclaration */ ? node.exclamationToken : node.questionToken)) !== null && _a !== void 0 ? _a : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); return true; }; ChangeTracker.prototype.tryInsertThisTypeAnnotation = function (sourceFile, node, type) { - var start = ts.findChildOfKind(node, 20 /* OpenParenToken */, sourceFile).getStart(sourceFile) + 1; + var start = ts.findChildOfKind(node, 20 /* SyntaxKind.OpenParenToken */, sourceFile).getStart(sourceFile) + 1; var suffix = node.parameters.length ? ", " : ""; this.insertNodeAt(sourceFile, start, type, { prefix: "this: ", suffix: suffix }); }; ChangeTracker.prototype.insertTypeParameters = function (sourceFile, node, typeParameters) { // If no `(`, is an arrow function `x => x`, so use the pos of the first parameter - var start = (ts.findChildOfKind(node, 20 /* OpenParenToken */, sourceFile) || ts.first(node.parameters)).getStart(sourceFile); + var start = (ts.findChildOfKind(node, 20 /* SyntaxKind.OpenParenToken */, sourceFile) || ts.first(node.parameters)).getStart(sourceFile); this.insertNodesAt(sourceFile, start, typeParameters, { prefix: "<", suffix: ">", joiner: ", " }); }; ChangeTracker.prototype.getOptionsForInsertNodeBefore = function (before, inserted, blankLineBetween) { @@ -148626,8 +149223,8 @@ var ts; if (needSemicolonBetween(after, newNode)) { // check if previous statement ends with semicolon // if not - insert semicolon to preserve the code from changing the meaning due to ASI - if (sourceFile.text.charCodeAt(after.end - 1) !== 59 /* semicolon */) { - this.replaceRange(sourceFile, ts.createRange(after.end), ts.factory.createToken(26 /* SemicolonToken */)); + if (sourceFile.text.charCodeAt(after.end - 1) !== 59 /* CharacterCodes.semicolon */) { + this.replaceRange(sourceFile, ts.createRange(after.end), ts.factory.createToken(26 /* SyntaxKind.SemicolonToken */)); } } var endPosition = getAdjustedEndPosition(sourceFile, after, {}); @@ -148635,22 +149232,22 @@ var ts; }; ChangeTracker.prototype.getInsertNodeAfterOptions = function (sourceFile, after) { var options = this.getInsertNodeAfterOptionsWorker(after); - return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n" + options.prefix : "\n") : options.prefix }); + return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n".concat(options.prefix) : "\n") : options.prefix }); }; ChangeTracker.prototype.getInsertNodeAfterOptionsWorker = function (node) { switch (node.kind) { - case 257 /* ClassDeclaration */: - case 261 /* ModuleDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return { prefix: this.newLineCharacter, suffix: this.newLineCharacter }; - case 254 /* VariableDeclaration */: - case 10 /* StringLiteral */: - case 79 /* Identifier */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 10 /* SyntaxKind.StringLiteral */: + case 79 /* SyntaxKind.Identifier */: return { prefix: ", " }; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return { suffix: "," + this.newLineCharacter }; - case 93 /* ExportKeyword */: + case 93 /* SyntaxKind.ExportKeyword */: return { prefix: " " }; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return {}; default: ts.Debug.assert(ts.isStatement(node) || ts.isClassOrTypeElement(node)); // Else we haven't handled this kind of node yet -- add it @@ -148659,28 +149256,28 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 214 /* ArrowFunction */) { - var arrow = ts.findChildOfKind(node, 38 /* EqualsGreaterThanToken */, sourceFile); - var lparen = ts.findChildOfKind(node, 20 /* OpenParenToken */, sourceFile); + if (node.kind === 214 /* SyntaxKind.ArrowFunction */) { + var arrow = ts.findChildOfKind(node, 38 /* SyntaxKind.EqualsGreaterThanToken */, sourceFile); + var lparen = ts.findChildOfKind(node, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (lparen) { // `() => {}` --> `function f() {}` - this.insertNodesAt(sourceFile, lparen.getStart(sourceFile), [ts.factory.createToken(98 /* FunctionKeyword */), ts.factory.createIdentifier(name)], { joiner: " " }); + this.insertNodesAt(sourceFile, lparen.getStart(sourceFile), [ts.factory.createToken(98 /* SyntaxKind.FunctionKeyword */), ts.factory.createIdentifier(name)], { joiner: " " }); deleteNode(this, sourceFile, arrow); } else { // `x => {}` -> `function f(x) {}` - this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function " + name + "("); + this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function ".concat(name, "(")); // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` - this.replaceRange(sourceFile, arrow, ts.factory.createToken(21 /* CloseParenToken */)); + this.replaceRange(sourceFile, arrow, ts.factory.createToken(21 /* SyntaxKind.CloseParenToken */)); } - if (node.body.kind !== 235 /* Block */) { + if (node.body.kind !== 235 /* SyntaxKind.Block */) { // `() => 0` => `function f() { return 0; }` - this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.factory.createToken(18 /* OpenBraceToken */), ts.factory.createToken(105 /* ReturnKeyword */)], { joiner: " ", suffix: " " }); - this.insertNodesAt(sourceFile, node.body.end, [ts.factory.createToken(26 /* SemicolonToken */), ts.factory.createToken(19 /* CloseBraceToken */)], { joiner: " " }); + this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.factory.createToken(18 /* SyntaxKind.OpenBraceToken */), ts.factory.createToken(105 /* SyntaxKind.ReturnKeyword */)], { joiner: " ", suffix: " " }); + this.insertNodesAt(sourceFile, node.body.end, [ts.factory.createToken(26 /* SyntaxKind.SemicolonToken */), ts.factory.createToken(19 /* SyntaxKind.CloseBraceToken */)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 213 /* FunctionExpression */ ? 98 /* FunctionKeyword */ : 84 /* ClassKeyword */, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 213 /* SyntaxKind.FunctionExpression */ ? 98 /* SyntaxKind.FunctionKeyword */ : 84 /* SyntaxKind.ClassKeyword */, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.factory.createIdentifier(name), { prefix: " " }); } }; @@ -148735,7 +149332,7 @@ var ts; var nextNode = containingList[index + 1]; var startPos = skipWhitespacesAndLineBreaks(sourceFile.text, nextNode.getFullStart()); // write separator and leading trivia of the next element as suffix - var suffix = "" + ts.tokenToString(nextToken.kind) + sourceFile.text.substring(nextToken.end, startPos); + var suffix = "".concat(ts.tokenToString(nextToken.kind)).concat(sourceFile.text.substring(nextToken.end, startPos)); this.insertNodesAt(sourceFile, startPos, [newNode], { suffix: suffix }); } } @@ -148752,12 +149349,12 @@ var ts; // if list has only one element then we'll format is as multiline if node has comment in trailing trivia, or as singleline otherwise // i.e. var x = 1 // this is x // | new element will be inserted at this position - separator = 27 /* CommaToken */; + separator = 27 /* SyntaxKind.CommaToken */; } else { // element has more than one element, pick separator from the list var tokenBeforeInsertPosition = ts.findPrecedingToken(after.pos, sourceFile); - separator = isSeparator(after, tokenBeforeInsertPosition) ? tokenBeforeInsertPosition.kind : 27 /* CommaToken */; + separator = isSeparator(after, tokenBeforeInsertPosition) ? tokenBeforeInsertPosition.kind : 27 /* SyntaxKind.CommaToken */; // determine if list is multiline by checking lines of after element and element that precedes it. var afterMinusOneStartLinePosition = ts.getLineStartPositionForPosition(containingList[index - 1].getStart(sourceFile), sourceFile); multilineList = afterMinusOneStartLinePosition !== afterStartLinePosition; @@ -148780,7 +149377,7 @@ var ts; this.replaceRange(sourceFile, ts.createRange(insertPos), newNode, { indentation: indentation, prefix: this.newLineCharacter }); } else { - this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: ts.tokenToString(separator) + " " }); + this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: "".concat(ts.tokenToString(separator), " ") }); } } }; @@ -148857,10 +149454,10 @@ var ts; }()); textChanges_3.ChangeTracker = ChangeTracker; function updateJSDocHost(parent) { - if (parent.kind !== 214 /* ArrowFunction */) { + if (parent.kind !== 214 /* SyntaxKind.ArrowFunction */) { return parent; } - var jsDocNode = parent.parent.kind === 167 /* PropertyDeclaration */ ? + var jsDocNode = parent.parent.kind === 167 /* SyntaxKind.PropertyDeclaration */ ? parent.parent : parent.parent.parent; jsDocNode.jsDoc = parent.jsDoc; @@ -148872,16 +149469,16 @@ var ts; return undefined; } switch (oldTag.kind) { - case 340 /* JSDocParameterTag */: { + case 340 /* SyntaxKind.JSDocParameterTag */: { var oldParam = oldTag; var newParam = newTag; return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment) : undefined; } - case 341 /* JSDocReturnTag */: + case 341 /* SyntaxKind.JSDocReturnTag */: return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); - case 343 /* JSDocTypeTag */: + case 343 /* SyntaxKind.JSDocTypeTag */: return ts.factory.createJSDocTypeTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); } } @@ -148890,8 +149487,8 @@ var ts; return ts.skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true); } function getClassOrObjectBraceEnds(cls, sourceFile) { - var open = ts.findChildOfKind(cls, 18 /* OpenBraceToken */, sourceFile); - var close = ts.findChildOfKind(cls, 19 /* CloseBraceToken */, sourceFile); + var open = ts.findChildOfKind(cls, 18 /* SyntaxKind.OpenBraceToken */, sourceFile); + var close = ts.findChildOfKind(cls, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); return [open === null || open === void 0 ? void 0 : open.end, close === null || close === void 0 ? void 0 : close.end]; } function getMembersOrProperties(node) { @@ -148911,7 +149508,7 @@ var ts; var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); var _loop_12 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { - return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range); + return "".concat(JSON.stringify(normalized[i].range), " and ").concat(JSON.stringify(normalized[i + 1].range)); }); }; // verify that change intervals do not overlap, except possibly at end points. @@ -148938,8 +149535,8 @@ var ts; changesToText.newFileChanges = newFileChanges; function newFileChangesWorker(oldFile, scriptKind, statements, newLineCharacter, formatContext) { // TODO: this emits the file, parses it back, then formats it that -- may be a less roundabout way to do this - var nonFormattedText = statements.map(function (s) { return s === 4 /* NewLineTrivia */ ? "" : getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); - var sourceFile = ts.createSourceFile("any file name", nonFormattedText, 99 /* ESNext */, /*setParentNodes*/ true, scriptKind); + var nonFormattedText = statements.map(function (s) { return s === 4 /* SyntaxKind.NewLineTrivia */ ? "" : getNonformattedText(s, oldFile, newLineCharacter).text; }).join(newLineCharacter); + var sourceFile = ts.createSourceFile("any file name", nonFormattedText, 99 /* ScriptTarget.ESNext */, /*setParentNodes*/ true, scriptKind); var changes = ts.formatting.formatDocument(sourceFile, formatContext); return applyChanges(nonFormattedText, changes) + newLineCharacter; } @@ -148994,7 +149591,7 @@ var ts; neverAsciiEscape: true, preserveSourceNewlines: true, terminateUnterminatedLiterals: true - }, writer).writeNode(4 /* Unspecified */, node, sourceFile, writer); + }, writer).writeNode(4 /* EmitHint.Unspecified */, node, sourceFile, writer); return { text: writer.getText(), node: assignPositionsToNode(node) }; } changesToText.getNonformattedText = getNonformattedText; @@ -149002,7 +149599,7 @@ var ts; function applyChanges(text, changes) { for (var i = changes.length - 1; i >= 0; i--) { var _a = changes[i], span = _a.span, newText = _a.newText; - text = "" + text.substring(0, span.start) + newText + text.substring(ts.textSpanEnd(span)); + text = "".concat(text.substring(0, span.start)).concat(newText).concat(text.substring(ts.textSpanEnd(span))); } return text; } @@ -149012,7 +149609,7 @@ var ts; } // A transformation context that won't perform parenthesization, as some parenthesization rules // are more aggressive than is strictly necessary. - var textChangesTransformationContext = __assign(__assign({}, ts.nullTransformationContext), { factory: ts.createNodeFactory(ts.nullTransformationContext.factory.flags | 1 /* NoParenthesizerRules */, ts.nullTransformationContext.factory.baseFactory) }); + var textChangesTransformationContext = __assign(__assign({}, ts.nullTransformationContext), { factory: ts.createNodeFactory(ts.nullTransformationContext.factory.flags | 1 /* NodeFactoryFlags.NoParenthesizerRules */, ts.nullTransformationContext.factory.baseFactory) }); function assignPositionsToNode(node) { var visited = ts.visitEachChild(node, assignPositionsToNode, textChangesTransformationContext, assignPositionsToNodeArray, assignPositionsToNode); // create proxy node for non synthesized nodes @@ -149223,7 +149820,7 @@ var ts; var firstNodeLine; for (var _b = 0, ranges_1 = ranges; _b < ranges_1.length; _b++) { var range = ranges_1[_b]; - if (range.kind === 3 /* MultiLineCommentTrivia */) { + if (range.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { if (ts.isPinnedComment(text, range.pos)) { lastComment = { range: range, pinnedOrTripleSlash: true }; continue; @@ -149263,7 +149860,7 @@ var ts; var charCode = text.charCodeAt(position); if (ts.isLineBreak(charCode)) { position++; - if (position < text.length && charCode === 13 /* carriageReturn */ && text.charCodeAt(position) === 10 /* lineFeed */) { + if (position < text.length && charCode === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(position) === 10 /* CharacterCodes.lineFeed */) { position++; } } @@ -149275,18 +149872,18 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 162 /* ComputedPropertyName */ + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 162 /* SyntaxKind.ComputedPropertyName */ || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); // TODO: only if b would start with a `(` or `[` } var deleteDeclaration; (function (deleteDeclaration_1) { function deleteDeclaration(changes, deletedNodesInLists, sourceFile, node) { switch (node.kind) { - case 164 /* Parameter */: { + case 164 /* SyntaxKind.Parameter */: { var oldFunction = node.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1 && - !ts.findChildOfKind(oldFunction, 20 /* OpenParenToken */, sourceFile)) { + !ts.findChildOfKind(oldFunction, 20 /* SyntaxKind.OpenParenToken */, sourceFile)) { // Lambdas with exactly one parameter are special because, after removal, there // must be an empty parameter list (i.e. `()`) and this won't necessarily be the // case if the parameter is simply removed (e.g. in `x => 1`). @@ -149297,17 +149894,17 @@ var ts; } break; } - case 266 /* ImportDeclaration */: - case 265 /* ImportEqualsDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: var isFirstImport = sourceFile.imports.length && node === ts.first(sourceFile.imports).parent || node === ts.find(sourceFile.statements, ts.isAnyImportSyntax); // For first import, leave header comment in place, otherwise only delete JSDoc comments deleteNode(changes, sourceFile, node, { leadingTriviaOption: isFirstImport ? LeadingTriviaOption.Exclude : ts.hasJSDocNodes(node) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine, }); break; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: var pattern = node.parent; - var preserveComma = pattern.kind === 202 /* ArrayBindingPattern */ && node !== ts.last(pattern.elements); + var preserveComma = pattern.kind === 202 /* SyntaxKind.ArrayBindingPattern */ && node !== ts.last(pattern.elements); if (preserveComma) { deleteNode(changes, sourceFile, node); } @@ -149315,13 +149912,13 @@ var ts; deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); } break; - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: deleteVariableDeclaration(changes, deletedNodesInLists, sourceFile, node); break; - case 163 /* TypeParameter */: + case 163 /* SyntaxKind.TypeParameter */: deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); break; - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: var namedImports = node.parent; if (namedImports.elements.length === 1) { deleteImportBinding(changes, sourceFile, namedImports); @@ -149330,17 +149927,17 @@ var ts; deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); } break; - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: deleteImportBinding(changes, sourceFile, node); break; - case 26 /* SemicolonToken */: + case 26 /* SyntaxKind.SemicolonToken */: deleteNode(changes, sourceFile, node, { trailingTriviaOption: TrailingTriviaOption.Exclude }); break; - case 98 /* FunctionKeyword */: + case 98 /* SyntaxKind.FunctionKeyword */: deleteNode(changes, sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.Exclude }); break; - case 257 /* ClassDeclaration */: - case 256 /* FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: deleteNode(changes, sourceFile, node, { leadingTriviaOption: ts.hasJSDocNodes(node) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine }); break; default: @@ -149369,7 +149966,7 @@ var ts; // import |d,| * as ns from './file' var start = importClause.name.getStart(sourceFile); var nextToken = ts.getTokenAtPosition(sourceFile, importClause.name.end); - if (nextToken && nextToken.kind === 27 /* CommaToken */) { + if (nextToken && nextToken.kind === 27 /* SyntaxKind.CommaToken */) { // shift first non-whitespace position after comma to the start position of the node var end = ts.skipTrivia(sourceFile.text, nextToken.end, /*stopAfterLineBreaks*/ false, /*stopAtComments*/ true); changes.deleteRange(sourceFile, { pos: start, end: end }); @@ -149391,15 +149988,15 @@ var ts; // Delete the entire import declaration // |import * as ns from './file'| // |import { a } from './file'| - var importDecl = ts.getAncestor(node, 266 /* ImportDeclaration */); + var importDecl = ts.getAncestor(node, 266 /* SyntaxKind.ImportDeclaration */); deleteNode(changes, sourceFile, importDecl); } } function deleteVariableDeclaration(changes, deletedNodesInLists, sourceFile, node) { var parent = node.parent; - if (parent.kind === 292 /* CatchClause */) { + if (parent.kind === 292 /* SyntaxKind.CatchClause */) { // TODO: There's currently no unused diagnostic for this, could be a suggestion - changes.deleteNodeRange(sourceFile, ts.findChildOfKind(parent, 20 /* OpenParenToken */, sourceFile), ts.findChildOfKind(parent, 21 /* CloseParenToken */, sourceFile)); + changes.deleteNodeRange(sourceFile, ts.findChildOfKind(parent, 20 /* SyntaxKind.OpenParenToken */, sourceFile), ts.findChildOfKind(parent, 21 /* SyntaxKind.CloseParenToken */, sourceFile)); return; } if (parent.declarations.length !== 1) { @@ -149408,14 +150005,14 @@ var ts; } var gp = parent.parent; switch (gp.kind) { - case 244 /* ForOfStatement */: - case 243 /* ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.ForInStatement */: changes.replaceNode(sourceFile, node, ts.factory.createObjectLiteralExpression()); break; - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: deleteNode(changes, sourceFile, parent); break; - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: deleteNode(changes, sourceFile, gp, { leadingTriviaOption: ts.hasJSDocNodes(gp) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine }); break; default: @@ -149602,8 +150199,8 @@ var ts; }); function makeChange(changeTracker, sourceFile, assertion) { var replacement = ts.isAsExpression(assertion) - ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */)) - : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */), assertion.expression); + ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)) + : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), assertion.expression); changeTracker.replaceNode(sourceFile, assertion.expression, replacement); } function getAssertion(sourceFile, pos) { @@ -149688,7 +150285,7 @@ var ts; } } fixedDeclarations === null || fixedDeclarations === void 0 ? void 0 : fixedDeclarations.add(ts.getNodeId(insertionSite)); - var cloneWithModifier = ts.factory.updateModifiers(ts.getSynthesizedDeepClone(insertionSite, /*includeTrivia*/ true), ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(ts.getSyntacticModifierFlags(insertionSite) | 256 /* Async */))); + var cloneWithModifier = ts.factory.updateModifiers(ts.getSynthesizedDeepClone(insertionSite, /*includeTrivia*/ true), ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(ts.getSyntacticModifierFlags(insertionSite) | 256 /* ModifierFlags.Async */))); changeTracker.replaceNode(sourceFile, insertionSite, cloneWithModifier); } function getFixableErrorSpanDeclaration(sourceFile, span) { @@ -149738,7 +150335,7 @@ var ts; ts.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined.code, ts.Diagnostics.Type_0_is_not_an_array_type.code, ts.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code, - ts.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code, + ts.Diagnostics.Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher.code, ts.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code, ts.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code, ts.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code, @@ -149832,12 +150429,12 @@ var ts; } var declaration = ts.tryCast(symbol.valueDeclaration, ts.isVariableDeclaration); var variableName = declaration && ts.tryCast(declaration.name, ts.isIdentifier); - var variableStatement = ts.getAncestor(declaration, 237 /* VariableStatement */); + var variableStatement = ts.getAncestor(declaration, 237 /* SyntaxKind.VariableStatement */); if (!declaration || !variableStatement || declaration.type || !declaration.initializer || variableStatement.getSourceFile() !== sourceFile || - ts.hasSyntacticModifier(variableStatement, 1 /* Export */) || + ts.hasSyntacticModifier(variableStatement, 1 /* ModifierFlags.Export */) || !variableName || !isInsideAwaitableBody(declaration.initializer)) { isCompleteFix = false; @@ -149905,15 +150502,15 @@ var ts; // Promise as an invalid operand. So if the whole binary expression is // typed `any` as a result, there is a strong likelihood that this Promise // is accidentally missing `await`. - checker.getTypeAtLocation(errorNode).flags & 1 /* Any */; + checker.getTypeAtLocation(errorNode).flags & 1 /* TypeFlags.Any */; } function isInsideAwaitableBody(node) { - return node.kind & 32768 /* AwaitContext */ || !!ts.findAncestor(node, function (ancestor) { + return node.kind & 32768 /* NodeFlags.AwaitContext */ || !!ts.findAncestor(node, function (ancestor) { return ancestor.parent && ts.isArrowFunction(ancestor.parent) && ancestor.parent.body === ancestor || - ts.isBlock(ancestor) && (ancestor.parent.kind === 256 /* FunctionDeclaration */ || - ancestor.parent.kind === 213 /* FunctionExpression */ || - ancestor.parent.kind === 214 /* ArrowFunction */ || - ancestor.parent.kind === 169 /* MethodDeclaration */); + ts.isBlock(ancestor) && (ancestor.parent.kind === 256 /* SyntaxKind.FunctionDeclaration */ || + ancestor.parent.kind === 213 /* SyntaxKind.FunctionExpression */ || + ancestor.parent.kind === 214 /* SyntaxKind.ArrowFunction */ || + ancestor.parent.kind === 169 /* SyntaxKind.MethodDeclaration */); }); } function makeChange(changeTracker, errorCode, sourceFile, checker, insertionSite, fixedDeclarations) { @@ -150002,7 +150599,7 @@ var ts; if (forInitializer) return applyChange(changeTracker, forInitializer, sourceFile, fixedNodes); var parent = token.parent; - if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* EqualsToken */ && ts.isExpressionStatement(parent.parent)) { + if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && ts.isExpressionStatement(parent.parent)) { return applyChange(changeTracker, token, sourceFile, fixedNodes); } if (ts.isArrayLiteralExpression(parent)) { @@ -150026,16 +150623,16 @@ var ts; } function applyChange(changeTracker, initializer, sourceFile, fixedNodes) { if (!fixedNodes || ts.tryAddToSet(fixedNodes, initializer)) { - changeTracker.insertModifierBefore(sourceFile, 85 /* ConstKeyword */, initializer); + changeTracker.insertModifierBefore(sourceFile, 85 /* SyntaxKind.ConstKeyword */, initializer); } } function isPossiblyPartOfDestructuring(node) { switch (node.kind) { - case 79 /* Identifier */: - case 204 /* ArrayLiteralExpression */: - case 205 /* ObjectLiteralExpression */: - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: + case 79 /* SyntaxKind.Identifier */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return true; default: return false; @@ -150049,9 +150646,9 @@ var ts; } function isPossiblyPartOfCommaSeperatedInitializer(node) { switch (node.kind) { - case 79 /* Identifier */: - case 221 /* BinaryExpression */: - case 27 /* CommaToken */: + case 79 /* SyntaxKind.Identifier */: + case 221 /* SyntaxKind.BinaryExpression */: + case 27 /* SyntaxKind.CommaToken */: return true; default: return false; @@ -150061,10 +150658,10 @@ var ts; if (!ts.isBinaryExpression(expression)) { return false; } - if (expression.operatorToken.kind === 27 /* CommaToken */) { + if (expression.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return ts.every([expression.left, expression.right], function (expression) { return expressionCouldBeVariableDeclaration(expression, checker); }); } - return expression.operatorToken.kind === 63 /* EqualsToken */ + return expression.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && ts.isIdentifier(expression.left) && !checker.getSymbolAtLocation(expression.left); } @@ -150099,9 +150696,9 @@ var ts; return; } var declaration = token.parent; - if (declaration.kind === 167 /* PropertyDeclaration */ && + if (declaration.kind === 167 /* SyntaxKind.PropertyDeclaration */ && (!fixedNodes || ts.tryAddToSet(fixedNodes, declaration))) { - changeTracker.insertModifierBefore(sourceFile, 135 /* DeclareKeyword */, declaration); + changeTracker.insertModifierBefore(sourceFile, 135 /* SyntaxKind.DeclareKeyword */, declaration); } } })(codefix = ts.codefix || (ts.codefix = {})); @@ -150216,7 +150813,7 @@ var ts; if (!errorNode) { return undefined; } - else if (ts.isBinaryExpression(errorNode.parent) && errorNode.parent.operatorToken.kind === 63 /* EqualsToken */) { + else if (ts.isBinaryExpression(errorNode.parent) && errorNode.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { return { source: errorNode.parent.right, target: errorNode.parent.left }; } else if (ts.isVariableDeclaration(errorNode.parent) && errorNode.parent.initializer) { @@ -150256,7 +150853,7 @@ var ts; var add = toAdd_1[_i]; var d = add.valueDeclaration; if (d && (ts.isPropertySignature(d) || ts.isPropertyDeclaration(d)) && d.type) { - var t = ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], d.type.kind === 187 /* UnionType */ ? d.type.types : [d.type], true), [ + var t = ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], d.type.kind === 187 /* SyntaxKind.UnionType */ ? d.type.types : [d.type], true), [ ts.factory.createTypeReferenceNode("undefined") ], false)); changes.replaceNode(d.getSourceFile(), d.type, t); @@ -150309,9 +150906,9 @@ var ts; if (typeParameters.length) changes.insertTypeParameters(sourceFile, decl, typeParameters); } - var needParens = ts.isArrowFunction(decl) && !ts.findChildOfKind(decl, 20 /* OpenParenToken */, sourceFile); + var needParens = ts.isArrowFunction(decl) && !ts.findChildOfKind(decl, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (needParens) - changes.insertNodeBefore(sourceFile, ts.first(decl.parameters), ts.factory.createToken(20 /* OpenParenToken */)); + changes.insertNodeBefore(sourceFile, ts.first(decl.parameters), ts.factory.createToken(20 /* SyntaxKind.OpenParenToken */)); for (var _i = 0, _a = decl.parameters; _i < _a.length; _i++) { var param = _a[_i]; if (!param.type) { @@ -150321,7 +150918,7 @@ var ts; } } if (needParens) - changes.insertNodeAfter(sourceFile, ts.last(decl.parameters), ts.factory.createToken(21 /* CloseParenToken */)); + changes.insertNodeAfter(sourceFile, ts.last(decl.parameters), ts.factory.createToken(21 /* SyntaxKind.CloseParenToken */)); if (!decl.type) { var returnType = ts.getJSDocReturnType(decl); if (returnType) @@ -150336,30 +150933,30 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 254 /* VariableDeclaration */ || - node.kind === 166 /* PropertySignature */ || - node.kind === 167 /* PropertyDeclaration */; + node.kind === 254 /* SyntaxKind.VariableDeclaration */ || + node.kind === 166 /* SyntaxKind.PropertySignature */ || + node.kind === 167 /* SyntaxKind.PropertyDeclaration */; } function transformJSDocType(node) { switch (node.kind) { - case 312 /* JSDocAllType */: - case 313 /* JSDocUnknownType */: + case 312 /* SyntaxKind.JSDocAllType */: + case 313 /* SyntaxKind.JSDocUnknownType */: return ts.factory.createTypeReferenceNode("any", ts.emptyArray); - case 316 /* JSDocOptionalType */: + case 316 /* SyntaxKind.JSDocOptionalType */: return transformJSDocOptionalType(node); - case 315 /* JSDocNonNullableType */: + case 315 /* SyntaxKind.JSDocNonNullableType */: return transformJSDocType(node.type); - case 314 /* JSDocNullableType */: + case 314 /* SyntaxKind.JSDocNullableType */: return transformJSDocNullableType(node); - case 318 /* JSDocVariadicType */: + case 318 /* SyntaxKind.JSDocVariadicType */: return transformJSDocVariadicType(node); - case 317 /* JSDocFunctionType */: + case 317 /* SyntaxKind.JSDocFunctionType */: return transformJSDocFunctionType(node); - case 178 /* TypeReference */: + case 178 /* SyntaxKind.TypeReference */: return transformJSDocTypeReference(node); default: var visited = ts.visitEachChild(node, transformJSDocType, ts.nullTransformationContext); - ts.setEmitFlags(visited, 1 /* SingleLine */); + ts.setEmitFlags(visited, 1 /* EmitFlags.SingleLine */); return visited; } } @@ -150376,13 +150973,13 @@ var ts; var _a; // TODO: This does not properly handle `function(new:C, string)` per https://github.com/google/closure-compiler/wiki/Types-in-the-Closure-Type-System#the-javascript-type-language // however we do handle it correctly in `serializeTypeForDeclaration` in checker.ts - return ts.factory.createFunctionTypeNode(ts.emptyArray, node.parameters.map(transformJSDocParameter), (_a = node.type) !== null && _a !== void 0 ? _a : ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)); + return ts.factory.createFunctionTypeNode(ts.emptyArray, node.parameters.map(transformJSDocParameter), (_a = node.type) !== null && _a !== void 0 ? _a : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 318 /* JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 + var isRest = node.type.kind === 318 /* SyntaxKind.JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); - var dotdotdot = isRest ? ts.factory.createToken(25 /* DotDotDotToken */) : node.dotDotDotToken; + var dotdotdot = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : node.dotDotDotToken; return ts.factory.createParameterDeclaration(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); } function transformJSDocTypeReference(node) { @@ -150420,11 +151017,11 @@ var ts; var index = ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* NumberKeyword */ ? "n" : "s", - /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* NumberKeyword */ ? "number" : "string", []), + /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "n" : "s", + /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "number" : "string", []), /*initializer*/ undefined); var indexSignature = ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(/*decorators*/ undefined, /*modifiers*/ undefined, [index], node.typeArguments[1])]); - ts.setEmitFlags(indexSignature, 1 /* SingleLine */); + ts.setEmitFlags(indexSignature, 1 /* EmitFlags.SingleLine */); return indexSignature; } })(codefix = ts.codefix || (ts.codefix = {})); @@ -150451,7 +151048,7 @@ var ts; }); function doChange(changes, sourceFile, position, checker, preferences, compilerOptions) { var ctorSymbol = checker.getSymbolAtLocation(ts.getTokenAtPosition(sourceFile, position)); - if (!ctorSymbol || !ctorSymbol.valueDeclaration || !(ctorSymbol.flags & (16 /* Function */ | 3 /* Variable */))) { + if (!ctorSymbol || !ctorSymbol.valueDeclaration || !(ctorSymbol.flags & (16 /* SymbolFlags.Function */ | 3 /* SymbolFlags.Variable */))) { // Bad input return undefined; } @@ -150484,14 +151081,14 @@ var ts; if (member.declarations.length === 1 && ts.isPropertyAccessExpression(firstDeclaration) && ts.isBinaryExpression(firstDeclaration.parent) && - firstDeclaration.parent.operatorToken.kind === 63 /* EqualsToken */ && + firstDeclaration.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && ts.isObjectLiteralExpression(firstDeclaration.parent.right)) { var prototypes = firstDeclaration.parent.right; createClassElement(prototypes.symbol, /** modifiers */ undefined, memberElements); } } else { - createClassElement(member, [ts.factory.createToken(124 /* StaticKeyword */)], memberElements); + createClassElement(member, [ts.factory.createToken(124 /* SyntaxKind.StaticKeyword */)], memberElements); } }); } @@ -150542,7 +151139,7 @@ var ts; function createClassElement(symbol, modifiers, members) { // Right now the only thing we can convert are function expressions, which are marked as methods // or { x: y } type prototype assignments, which are marked as ObjectLiteral - if (!(symbol.flags & 8192 /* Method */) && !(symbol.flags & 4096 /* ObjectLiteral */)) { + if (!(symbol.flags & 8192 /* SymbolFlags.Method */) && !(symbol.flags & 4096 /* SymbolFlags.ObjectLiteral */)) { return; } var memberDeclaration = symbol.valueDeclaration; @@ -150561,7 +151158,7 @@ var ts; return; } // delete the entire statement if this expression is the sole expression to take care of the semicolon at the end - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 238 /* ExpressionStatement */ + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ ? assignmentBinaryExpression.parent : assignmentBinaryExpression; changes.delete(sourceFile, nodeToDelete); if (!assignmentExpr) { @@ -150613,7 +151210,7 @@ var ts; return createArrowFunctionExpressionMember(members, expression, name); } function createFunctionExpressionMember(members, functionExpression, name) { - var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 131 /* AsyncKeyword */)); + var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 131 /* SyntaxKind.AsyncKeyword */)); var method = ts.factory.createMethodDeclaration(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, functionExpression.parameters, /*type*/ undefined, functionExpression.body); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); @@ -150624,14 +151221,14 @@ var ts; var arrowFunctionBody = arrowFunction.body; var bodyBlock; // case 1: () => { return [1,2,3] } - if (arrowFunctionBody.kind === 235 /* Block */) { + if (arrowFunctionBody.kind === 235 /* SyntaxKind.Block */) { bodyBlock = arrowFunctionBody; } // case 2: () => [1,2,3] else { bodyBlock = ts.factory.createBlock([ts.factory.createReturnStatement(arrowFunctionBody)]); } - var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(arrowFunction, 131 /* AsyncKeyword */)); + var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(arrowFunction, 131 /* SyntaxKind.AsyncKeyword */)); var method = ts.factory.createMethodDeclaration(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, arrowFunction.parameters, /*type*/ undefined, bodyBlock); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); @@ -150648,7 +151245,7 @@ var ts; if (initializer.body) { memberElements.unshift(ts.factory.createConstructorDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, initializer.parameters, initializer.body)); } - var modifiers = getModifierKindFromSource(node.parent.parent, 93 /* ExportKeyword */); + var modifiers = getModifierKindFromSource(node.parent.parent, 93 /* SyntaxKind.ExportKeyword */); var cls = ts.factory.createClassDeclaration(/*decorators*/ undefined, modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place @@ -150659,7 +151256,7 @@ var ts; if (node.body) { memberElements.unshift(ts.factory.createConstructorDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, node.parameters, node.body)); } - var modifiers = getModifierKindFromSource(node, 93 /* ExportKeyword */); + var modifiers = getModifierKindFromSource(node, 93 /* SyntaxKind.ExportKeyword */); var cls = ts.factory.createClassDeclaration(/*decorators*/ undefined, modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place @@ -150686,7 +151283,7 @@ var ts; } if (ts.isStringLiteralLike(propName)) { return ts.isIdentifierText(propName.text, ts.getEmitScriptTarget(compilerOptions)) ? ts.factory.createIdentifier(propName.text) - : ts.isNoSubstitutionTemplateLiteral(propName) ? ts.factory.createStringLiteral(propName.text, quotePreference === 0 /* Single */) + : ts.isNoSubstitutionTemplateLiteral(propName) ? ts.factory.createStringLiteral(propName.text, quotePreference === 0 /* QuotePreference.Single */) : propName; } return undefined; @@ -150747,7 +151344,7 @@ var ts; functionToConvert.decorators ? ts.skipTrivia(sourceFile.text, functionToConvert.decorators.end) : functionToConvert.getStart(sourceFile); var options = functionToConvert.modifiers ? { prefix: " " } : { suffix: " " }; - changes.insertModifierAt(sourceFile, pos, 131 /* AsyncKeyword */, options); + changes.insertModifierAt(sourceFile, pos, 131 /* SyntaxKind.AsyncKeyword */, options); var _loop_14 = function (returnStatement) { ts.forEachChild(returnStatement, function visit(node) { if (ts.isCallExpression(node)) { @@ -150822,7 +151419,7 @@ var ts; // NOTE: this is a mostly copy of `isReferenceToType` from checker.ts. While this violates DRY, it keeps // `isReferenceToType` in checker local to the checker to avoid the cost of a property lookup on `ts`. function isReferenceToType(type, target) { - return (ts.getObjectFlags(type) & 4 /* Reference */) !== 0 + return (ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) !== 0 && type.target === target; } function getExplicitPromisedTypeOfPromiseReturningCallExpression(node, callback, checker) { @@ -150885,7 +151482,7 @@ var ts; var ident = (firstParameter === null || firstParameter === void 0 ? void 0 : firstParameter.valueDeclaration) && ts.isParameter(firstParameter.valueDeclaration) && ts.tryCast(firstParameter.valueDeclaration.name, ts.isIdentifier) - || ts.factory.createUniqueName("result", 16 /* Optimistic */); + || ts.factory.createUniqueName("result", 16 /* GeneratedIdentifierFlags.Optimistic */); var synthName = getNewNameIfConflict(ident, collidingSymbolMap); synthNamesMap.set(symbolIdString, synthName); collidingSymbolMap.add(ident.text, symbol); @@ -150966,7 +151563,7 @@ var ts; } function isNullOrUndefined(_a, node) { var checker = _a.checker; - if (node.kind === 104 /* NullKeyword */) + if (node.kind === 104 /* SyntaxKind.NullKeyword */) return true; if (ts.isIdentifier(node) && !ts.isGeneratedIdentifier(node) && ts.idText(node) === "undefined") { var symbol = checker.getSymbolAtLocation(node); @@ -150975,7 +151572,7 @@ var ts; return false; } function createUniqueSynthName(prevArgName) { - var renamedPrevArg = ts.factory.createUniqueName(prevArgName.identifier.text, 16 /* Optimistic */); + var renamedPrevArg = ts.factory.createUniqueName(prevArgName.identifier.text, 16 /* GeneratedIdentifierFlags.Optimistic */); return createSynthIdentifier(renamedPrevArg); } function getPossibleNameForVarDecl(node, transformer, continuationArgName) { @@ -150995,7 +151592,7 @@ var ts; }); } else { - possibleNameForVarDecl = createSynthIdentifier(ts.factory.createUniqueName("result", 16 /* Optimistic */), continuationArgName.types); + possibleNameForVarDecl = createSynthIdentifier(ts.factory.createUniqueName("result", 16 /* GeneratedIdentifierFlags.Optimistic */), continuationArgName.types); } // We are about to write a 'let' variable declaration, but `transformExpression` for both // the try block and catch/finally block will assign to this name. Setting this flag indicates @@ -151011,10 +151608,10 @@ var ts; if (possibleNameForVarDecl && !shouldReturn(node, transformer)) { varDeclIdentifier = ts.getSynthesizedDeepClone(declareSynthIdentifier(possibleNameForVarDecl)); var typeArray = possibleNameForVarDecl.types; - var unionType = transformer.checker.getUnionType(typeArray, 2 /* Subtype */); + var unionType = transformer.checker.getUnionType(typeArray, 2 /* UnionReduction.Subtype */); var unionTypeNode = transformer.isInJSFile ? undefined : transformer.checker.typeToTypeNode(unionType, /*enclosingDeclaration*/ undefined, /*flags*/ undefined); var varDecl = [ts.factory.createVariableDeclaration(varDeclIdentifier, /*exclamationToken*/ undefined, unionTypeNode)]; - var varDeclList = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList(varDecl, 1 /* Let */)); + var varDeclList = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList(varDecl, 1 /* NodeFlags.Let */)); statements.push(varDeclList); } statements.push(tryStatement); @@ -151024,7 +151621,7 @@ var ts; ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingPattern(continuationArgName)), /*exclamationToken*/ undefined, /*type*/ undefined, varDeclIdentifier) - ], 2 /* Const */))); + ], 2 /* NodeFlags.Const */))); } return statements; } @@ -151129,12 +151726,12 @@ var ts; /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingName(variableName)), /*exclamationToken*/ undefined, typeAnnotation, rightHandSide) - ], 2 /* Const */)) + ], 2 /* NodeFlags.Const */)) ]; } function maybeAnnotateAndReturn(expressionToReturn, typeAnnotation) { if (typeAnnotation && expressionToReturn) { - var name = ts.factory.createUniqueName("result", 16 /* Optimistic */); + var name = ts.factory.createUniqueName("result", 16 /* GeneratedIdentifierFlags.Optimistic */); return __spreadArray(__spreadArray([], createVariableOrAssignmentOrExpressionStatement(createSynthIdentifier(name), expressionToReturn, typeAnnotation), true), [ ts.factory.createReturnStatement(name) ], false); @@ -151150,11 +151747,11 @@ var ts; function transformCallbackArgument(func, hasContinuation, continuationArgName, inputArgName, parent, transformer) { var _a; switch (func.kind) { - case 104 /* NullKeyword */: + case 104 /* SyntaxKind.NullKeyword */: // do not produce a transformed statement for a null argument break; - case 206 /* PropertyAccessExpression */: - case 79 /* Identifier */: // identifier includes undefined + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 79 /* SyntaxKind.Identifier */: // identifier includes undefined if (!inputArgName) { // undefined was argument passed to promise handler break; @@ -151164,7 +151761,7 @@ var ts; return maybeAnnotateAndReturn(synthCall, getExplicitPromisedTypeOfPromiseReturningCallExpression(parent, func, transformer.checker)); } var type = transformer.checker.getTypeAtLocation(func); - var callSignatures = transformer.checker.getSignaturesOfType(type, 0 /* Call */); + var callSignatures = transformer.checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (!callSignatures.length) { // if identifier in handler has no call signatures, it's invalid return silentFail(); @@ -151175,8 +151772,8 @@ var ts; continuationArgName.types.push(transformer.checker.getAwaitedType(returnType) || returnType); } return varDeclOrAssignment; - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: { + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: { var funcBody = func.body; var returnType_1 = (_a = getLastCallSignature(transformer.checker.getTypeAtLocation(func), transformer.checker)) === null || _a === void 0 ? void 0 : _a.getReturnType(); // Arrow functions with block bodies { } will enter this control flow @@ -151278,7 +151875,7 @@ var ts; return !!checker.getPromisedTypeOfPromise(type) ? ts.factory.createAwaitExpression(rightHandSide) : rightHandSide; } function getLastCallSignature(type, checker) { - var callSignatures = checker.getSignaturesOfType(type, 0 /* Call */); + var callSignatures = checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); return ts.lastOrUndefined(callSignatures); } function removeReturns(stmts, prevArgName, transformer, seenReturnStatement) { @@ -151295,7 +151892,7 @@ var ts; ret.push(ts.factory.createExpressionStatement(ts.factory.createAssignment(referenceSynthIdentifier(prevArgName), possiblyAwaitedExpression))); } else { - ret.push(ts.factory.createVariableStatement(/*modifiers*/ undefined, (ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(declareSynthBindingName(prevArgName), /*exclamationToken*/ undefined, /*type*/ undefined, possiblyAwaitedExpression)], 2 /* Const */)))); + ret.push(ts.factory.createVariableStatement(/*modifiers*/ undefined, (ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(declareSynthBindingName(prevArgName), /*exclamationToken*/ undefined, /*type*/ undefined, possiblyAwaitedExpression)], 2 /* NodeFlags.Const */)))); } } } @@ -151305,7 +151902,7 @@ var ts; } // if block has no return statement, need to define prevArgName as undefined to prevent undeclared variables if (!seenReturnStatement && prevArgName !== undefined) { - ret.push(ts.factory.createVariableStatement(/*modifiers*/ undefined, (ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(declareSynthBindingName(prevArgName), /*exclamationToken*/ undefined, /*type*/ undefined, ts.factory.createIdentifier("undefined"))], 2 /* Const */)))); + ret.push(ts.factory.createVariableStatement(/*modifiers*/ undefined, (ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(declareSynthBindingName(prevArgName), /*exclamationToken*/ undefined, /*type*/ undefined, ts.factory.createIdentifier("undefined"))], 2 /* NodeFlags.Const */)))); } return ret; } @@ -151387,12 +151984,12 @@ var ts; } function createSynthIdentifier(identifier, types) { if (types === void 0) { types = []; } - return { kind: 0 /* Identifier */, identifier: identifier, types: types, hasBeenDeclared: false, hasBeenReferenced: false }; + return { kind: 0 /* SynthBindingNameKind.Identifier */, identifier: identifier, types: types, hasBeenDeclared: false, hasBeenReferenced: false }; } function createSynthBindingPattern(bindingPattern, elements, types) { if (elements === void 0) { elements = ts.emptyArray; } if (types === void 0) { types = []; } - return { kind: 1 /* BindingPattern */, bindingPattern: bindingPattern, elements: elements, types: types }; + return { kind: 1 /* SynthBindingNameKind.BindingPattern */, bindingPattern: bindingPattern, elements: elements, types: types }; } function referenceSynthIdentifier(synthId) { synthId.hasBeenReferenced = true; @@ -151413,10 +152010,10 @@ var ts; return synthId.identifier; } function isSynthIdentifier(bindingName) { - return bindingName.kind === 0 /* Identifier */; + return bindingName.kind === 0 /* SynthBindingNameKind.Identifier */; } function isSynthBindingPattern(bindingName) { - return bindingName.kind === 1 /* BindingPattern */; + return bindingName.kind === 1 /* SynthBindingNameKind.BindingPattern */; } function shouldReturn(expression, transformer) { return !!expression.original && transformer.setOfExpressionsToReturn.has(ts.getNodeId(expression.original)); @@ -151454,10 +152051,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier, quotePreference)); break; - case 208 /* CallExpression */: + case 208 /* SyntaxKind.CallExpression */: if (ts.isRequireCall(importNode, /*checkArgumentIsStringLiteralLike*/ false)) { changes.replaceNode(importingFile, importNode, ts.factory.createPropertyAccessExpression(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -151497,9 +152094,9 @@ var ts; forEachExportReference(sourceFile, function (node) { var _a = node.name, text = _a.text, originalKeywordKind = _a.originalKeywordKind; if (!res.has(text) && (originalKeywordKind !== undefined && ts.isNonContextualKeyword(originalKeywordKind) - || checker.resolveName(text, node, 111551 /* Value */, /*excludeGlobals*/ true))) { + || checker.resolveName(text, node, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ true))) { // Unconditionally add an underscore in case `text` is a keyword. - res.set(text, makeUniqueName("_" + text, identifiers)); + res.set(text, makeUniqueName("_".concat(text), identifiers)); } }); return res; @@ -151517,29 +152114,29 @@ var ts; sourceFile.forEachChild(function recur(node) { if (ts.isPropertyAccessExpression(node) && ts.isExportsOrModuleExportsOrAlias(sourceFile, node.expression) && ts.isIdentifier(node.name)) { var parent = node.parent; - cb(node, ts.isBinaryExpression(parent) && parent.left === node && parent.operatorToken.kind === 63 /* EqualsToken */); + cb(node, ts.isBinaryExpression(parent) && parent.left === node && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */); } node.forEachChild(recur); }); } function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, useSitesToUnqualify, quotePreference) { switch (statement.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, quotePreference); return false; - case 238 /* ExpressionStatement */: { + case 238 /* SyntaxKind.ExpressionStatement */: { var expression = statement.expression; switch (expression.kind) { - case 208 /* CallExpression */: { + case 208 /* SyntaxKind.CallExpression */: { if (ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true)) { // For side-effecting require() call, just make a side-effecting import. changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0], quotePreference)); } return false; } - case 221 /* BinaryExpression */: { + case 221 /* SyntaxKind.BinaryExpression */: { var operatorToken = expression.operatorToken; - return operatorToken.kind === 63 /* EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports, useSitesToUnqualify); + return operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports, useSitesToUnqualify); } } } @@ -151586,8 +152183,8 @@ var ts; /** Converts `const name = require("moduleSpecifier").propertyName` */ function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, quotePreference) { switch (name.kind) { - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: { + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: { // `const [a, b] = require("c").d` --> `import { d } from "c"; const [a, b] = d;` var tmp = makeUniqueName(propertyName, identifiers); return convertedImports([ @@ -151595,11 +152192,11 @@ var ts; makeConst(/*modifiers*/ undefined, name, ts.factory.createIdentifier(tmp)), ]); } - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: // `const a = require("b").c` --> `import { c as a } from "./b"; return convertedImports([makeSingleImport(name.text, propertyName, moduleSpecifier, quotePreference)]); default: - return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form " + name.kind); + return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form ".concat(name.kind)); } } function convertAssignment(sourceFile, checker, assignment, changes, exports, useSitesToUnqualify) { @@ -151638,19 +152235,19 @@ var ts; function tryChangeModuleExportsObject(object, useSitesToUnqualify) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`. // falls through - case 297 /* ShorthandPropertyAssignment */: - case 298 /* SpreadAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: return undefined; - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer, useSitesToUnqualify); - case 169 /* MethodDeclaration */: - return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.factory.createToken(93 /* ExportKeyword */)], prop, useSitesToUnqualify); + case 169 /* SyntaxKind.MethodDeclaration */: + return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */)], prop, useSitesToUnqualify); default: - ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind " + prop.kind); + ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind ".concat(prop.kind)); } }); return statements && [statements, false]; @@ -151679,8 +152276,8 @@ var ts; var moduleSpecifier = reExported.text; var moduleSymbol = checker.getSymbolAtLocation(reExported); var exports = moduleSymbol ? moduleSymbol.exports : ts.emptyMap; - return exports.has("export=" /* ExportEquals */) ? [[reExportDefault(moduleSpecifier)], true] : - !exports.has("default" /* Default */) ? [[reExportStar(moduleSpecifier)], false] : + return exports.has("export=" /* InternalSymbolName.ExportEquals */) ? [[reExportDefault(moduleSpecifier)], true] : + !exports.has("default" /* InternalSymbolName.Default */) ? [[reExportStar(moduleSpecifier)], false] : // If there's some non-default export, must include both `export *` and `export default`. exports.size > 1 ? [[reExportStar(moduleSpecifier), reExportDefault(moduleSpecifier)], true] : [[reExportDefault(moduleSpecifier)], true]; } @@ -151695,23 +152292,23 @@ var ts; var name = left.name.text; if ((ts.isFunctionExpression(right) || ts.isArrowFunction(right) || ts.isClassExpression(right)) && (!right.name || right.name.text === name)) { // `exports.f = function() {}` -> `export function f() {}` -- Replace `exports.f = ` with `export `, and insert the name after `function`. - changes.replaceRange(sourceFile, { pos: left.getStart(sourceFile), end: right.getStart(sourceFile) }, ts.factory.createToken(93 /* ExportKeyword */), { suffix: " " }); + changes.replaceRange(sourceFile, { pos: left.getStart(sourceFile), end: right.getStart(sourceFile) }, ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */), { suffix: " " }); if (!right.name) changes.insertName(sourceFile, right, name); - var semi = ts.findChildOfKind(parent, 26 /* SemicolonToken */, sourceFile); + var semi = ts.findChildOfKind(parent, 26 /* SyntaxKind.SemicolonToken */, sourceFile); if (semi) changes.delete(sourceFile, semi); } else { // `exports.f = function g() {}` -> `export const f = function g() {}` -- just replace `exports.` with `export const ` - changes.replaceNodeRangeWithNodes(sourceFile, left.expression, ts.findChildOfKind(left, 24 /* DotToken */, sourceFile), [ts.factory.createToken(93 /* ExportKeyword */), ts.factory.createToken(85 /* ConstKeyword */)], { joiner: " ", suffix: " " }); + changes.replaceNodeRangeWithNodes(sourceFile, left.expression, ts.findChildOfKind(left, 24 /* SyntaxKind.DotToken */, sourceFile), [ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */), ts.factory.createToken(85 /* SyntaxKind.ConstKeyword */)], { joiner: " ", suffix: " " }); } } // TODO: GH#22492 this will cause an error if a change has been made inside the body of the node. function convertExportsDotXEquals_replaceNode(name, exported, useSitesToUnqualify) { - var modifiers = [ts.factory.createToken(93 /* ExportKeyword */)]; + var modifiers = [ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */)]; switch (exported.kind) { - case 213 /* FunctionExpression */: { + case 213 /* SyntaxKind.FunctionExpression */: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { // `exports.f = function g() {}` -> `export const f = function g() {}` @@ -151719,10 +152316,10 @@ var ts; } } // falls through - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: // `exports.f = function() {}` --> `export function f() {}` return functionExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: // `exports.C = class {}` --> `export class C {}` return classExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); default: @@ -151742,7 +152339,7 @@ var ts; : ts.getSynthesizedDeepCloneWithReplacements(nodeOrNodes, /*includeTrivia*/ true, replaceNode); function replaceNode(original) { // We are replacing `mod.SomeExport` wih `SomeExport`, so we only need to look at PropertyAccessExpressions - if (original.kind === 206 /* PropertyAccessExpression */) { + if (original.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { var replacement = useSitesToUnqualify.get(original); // Remove entry from `useSitesToUnqualify` so the refactor knows it's taken care of by the parent statement we're replacing useSitesToUnqualify.delete(original); @@ -151757,7 +152354,7 @@ var ts; */ function convertSingleImport(name, moduleSpecifier, checker, identifiers, target, quotePreference) { switch (name.kind) { - case 201 /* ObjectBindingPattern */: { + case 201 /* SyntaxKind.ObjectBindingPattern */: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined @@ -151768,7 +152365,7 @@ var ts; } } // falls through -- object destructuring has an interesting pattern and must be a variable declaration - case 202 /* ArrayBindingPattern */: { + case 202 /* SyntaxKind.ArrayBindingPattern */: { /* import x from "x"; const [a, b, c] = x; @@ -151779,10 +152376,10 @@ var ts; makeConst(/*modifiers*/ undefined, ts.getSynthesizedDeepClone(name), ts.factory.createIdentifier(tmp)), ]); } - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return convertSingleIdentifierImport(name, moduleSpecifier, checker, identifiers, quotePreference); default: - return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind " + name.kind); + return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind ".concat(name.kind)); } } /** @@ -151839,7 +152436,7 @@ var ts; // Identifiers helpers function makeUniqueName(name, identifiers) { while (identifiers.original.has(name) || identifiers.additional.has(name)) { - name = "_" + name; + name = "_".concat(name); } identifiers.additional.add(name); return name; @@ -151861,11 +152458,11 @@ var ts; function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: return parent.name !== node; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return parent.propertyName !== node; - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: return parent.propertyName !== node; default: return true; @@ -151889,7 +152486,7 @@ var ts; return ts.factory.createImportSpecifier(/*isTypeOnly*/ false, propertyName !== undefined && propertyName !== name ? ts.factory.createIdentifier(propertyName) : undefined, ts.factory.createIdentifier(name)); } function makeConst(modifiers, name, init) { - return ts.factory.createVariableStatement(modifiers, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, /*type*/ undefined, init)], 2 /* Const */)); + return ts.factory.createVariableStatement(modifiers, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, /*type*/ undefined, init)], 2 /* NodeFlags.Const */)); } function makeExportDeclaration(exportSpecifiers, moduleSpecifier) { return ts.factory.createExportDeclaration( @@ -151919,7 +152516,7 @@ var ts; if (!qualifiedName) return undefined; var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, context.sourceFile, qualifiedName); }); - var newText = qualifiedName.left.text + "[\"" + qualifiedName.right.text + "\"]"; + var newText = "".concat(qualifiedName.left.text, "[\"").concat(qualifiedName.right.text, "\"]"); return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Rewrite_as_the_indexed_access_type_0, newText], fixId, ts.Diagnostics.Rewrite_all_as_indexed_access_types)]; }, fixIds: [fixId], @@ -151979,7 +152576,7 @@ var ts; var exportDeclaration = exportClause.parent; var typeExportSpecifiers = getTypeExportSpecifiers(exportSpecifier, context); if (typeExportSpecifiers.length === exportClause.elements.length) { - changes.insertModifierBefore(context.sourceFile, 152 /* TypeKeyword */, exportClause); + changes.insertModifierBefore(context.sourceFile, 152 /* SyntaxKind.TypeKeyword */, exportClause); } else { var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.decorators, exportDeclaration.modifiers, @@ -152148,7 +152745,7 @@ var ts; return ts.Debug.checkDefined(ts.getContainingClass(ts.getTokenAtPosition(sourceFile, pos)), "There should be a containing class"); } function symbolPointsToNonPrivateMember(symbol) { - return !symbol.valueDeclaration || !(ts.getEffectiveModifierFlags(symbol.valueDeclaration) & 8 /* Private */); + return !symbol.valueDeclaration || !(ts.getEffectiveModifierFlags(symbol.valueDeclaration) & 8 /* ModifierFlags.Private */); } function addMissingDeclarations(context, implementedTypeNode, sourceFile, classDeclaration, changeTracker, preferences) { var checker = context.program.getTypeChecker(); @@ -152161,10 +152758,10 @@ var ts; var classType = checker.getTypeAtLocation(classDeclaration); var constructor = ts.find(classDeclaration.members, function (m) { return ts.isConstructorDeclaration(m); }); if (!classType.getNumberIndexType()) { - createMissingIndexSignatureDeclaration(implementedType, 1 /* Number */); + createMissingIndexSignatureDeclaration(implementedType, 1 /* IndexKind.Number */); } if (!classType.getStringIndexType()) { - createMissingIndexSignatureDeclaration(implementedType, 0 /* String */); + createMissingIndexSignatureDeclaration(implementedType, 0 /* IndexKind.String */); } var importAdder = codefix.createImportAdder(sourceFile, context.program, preferences, context.host); codefix.createMissingMemberNodes(classDeclaration, nonPrivateAndNotExistedInHeritageClauseMembers, sourceFile, context, preferences, importAdder, function (member) { return insertInterfaceMemberNode(sourceFile, classDeclaration, member); }); @@ -152260,7 +152857,7 @@ var ts; var symbol = checker.getMergedSymbol(ts.skipAlias(exportedSymbol, checker)); var exportInfo = getAllReExportingModules(sourceFile, symbol, moduleSymbol, symbolName, /*isJsxTagName*/ false, host, program, preferences, useAutoImportProvider); var useRequire = shouldUseRequire(sourceFile, program); - var fix = getImportFixForSymbol(sourceFile, exportInfo, moduleSymbol, symbolName, program, /*position*/ undefined, !!isValidTypeOnlyUseSite, useRequire, host, preferences); + var fix = getImportFixForSymbol(sourceFile, exportInfo, moduleSymbol, program, /*useNamespaceInfo*/ undefined, !!isValidTypeOnlyUseSite, useRequire, host, preferences); if (fix) { addImport({ fixes: [fix], symbolName: symbolName, errorIdentifierText: undefined }); } @@ -152270,20 +152867,20 @@ var ts; var fixes = info.fixes, symbolName = info.symbolName; var fix = ts.first(fixes); switch (fix.kind) { - case 0 /* UseNamespace */: + case 0 /* ImportFixKind.UseNamespace */: addToNamespace.push(fix); break; - case 1 /* JsdocTypeImport */: + case 1 /* ImportFixKind.JsdocTypeImport */: importType.push(fix); break; - case 2 /* AddToExisting */: { + case 2 /* ImportFixKind.AddToExisting */: { var importClauseOrBindingPattern = fix.importClauseOrBindingPattern, importKind = fix.importKind, addAsTypeOnly = fix.addAsTypeOnly; var key = String(ts.getNodeId(importClauseOrBindingPattern)); var entry = addToExisting.get(key); if (!entry) { addToExisting.set(key, entry = { importClauseOrBindingPattern: importClauseOrBindingPattern, defaultImport: undefined, namedImports: new ts.Map() }); } - if (importKind === 0 /* Named */) { + if (importKind === 0 /* ImportKind.Named */) { var prevValue = entry === null || entry === void 0 ? void 0 : entry.namedImports.get(symbolName); entry.namedImports.set(symbolName, reduceAddAsTypeOnlyValues(prevValue, addAsTypeOnly)); } @@ -152296,32 +152893,32 @@ var ts; } break; } - case 3 /* AddNew */: { + case 3 /* ImportFixKind.AddNew */: { var moduleSpecifier = fix.moduleSpecifier, importKind = fix.importKind, useRequire = fix.useRequire, addAsTypeOnly = fix.addAsTypeOnly; var entry = getNewImportEntry(moduleSpecifier, importKind, useRequire, addAsTypeOnly); ts.Debug.assert(entry.useRequire === useRequire, "(Add new) Tried to add an `import` and a `require` for the same module"); switch (importKind) { - case 1 /* Default */: + case 1 /* ImportKind.Default */: ts.Debug.assert(entry.defaultImport === undefined || entry.defaultImport.name === symbolName, "(Add new) Default import should be missing or match symbolName"); entry.defaultImport = { name: symbolName, addAsTypeOnly: reduceAddAsTypeOnlyValues((_b = entry.defaultImport) === null || _b === void 0 ? void 0 : _b.addAsTypeOnly, addAsTypeOnly) }; break; - case 0 /* Named */: + case 0 /* ImportKind.Named */: var prevValue = (entry.namedImports || (entry.namedImports = new ts.Map())).get(symbolName); entry.namedImports.set(symbolName, reduceAddAsTypeOnlyValues(prevValue, addAsTypeOnly)); break; - case 3 /* CommonJS */: - case 2 /* Namespace */: + case 3 /* ImportKind.CommonJS */: + case 2 /* ImportKind.Namespace */: ts.Debug.assert(entry.namespaceLikeImport === undefined || entry.namespaceLikeImport.name === symbolName, "Namespacelike import shoudl be missing or match symbolName"); entry.namespaceLikeImport = { importKind: importKind, name: symbolName, addAsTypeOnly: addAsTypeOnly }; break; } break; } - case 4 /* PromoteTypeOnly */: + case 4 /* ImportFixKind.PromoteTypeOnly */: // Excluding from fix-all break; default: - ts.Debug.assertNever(fix, "fix wasn't never - got kind " + fix.kind); + ts.Debug.assertNever(fix, "fix wasn't never - got kind ".concat(fix.kind)); } function reduceAddAsTypeOnlyValues(prevValue, newValue) { // `NotAllowed` overrides `Required` because one addition of a new import might be required to be type-only @@ -152349,13 +152946,13 @@ var ts; namespaceLikeImport: undefined, useRequire: useRequire }; - if (importKind === 1 /* Default */ && addAsTypeOnly === 2 /* Required */) { + if (importKind === 1 /* ImportKind.Default */ && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */) { if (typeOnlyEntry) return typeOnlyEntry; newImports.set(typeOnlyKey, newEntry); return newEntry; } - if (addAsTypeOnly === 1 /* Allowed */ && (typeOnlyEntry || nonTypeOnlyEntry)) { + if (addAsTypeOnly === 1 /* AddAsTypeOnly.Allowed */ && (typeOnlyEntry || nonTypeOnlyEntry)) { return (typeOnlyEntry || nonTypeOnlyEntry); } if (nonTypeOnlyEntry) { @@ -152365,7 +152962,7 @@ var ts; return newEntry; } function newImportsKey(moduleSpecifier, topLevelTypeOnly) { - return (topLevelTypeOnly ? 1 : 0) + "|" + moduleSpecifier; + return "".concat(topLevelTypeOnly ? 1 : 0, "|").concat(moduleSpecifier); } } function writeFixes(changeTracker) { @@ -152430,7 +153027,7 @@ var ts; : getAllReExportingModules(sourceFile, targetSymbol, moduleSymbol, symbolName, isJsxTagName, host, program, preferences, /*useAutoImportProvider*/ true); var useRequire = shouldUseRequire(sourceFile, program); var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(ts.getTokenAtPosition(sourceFile, position)); - var fix = ts.Debug.checkDefined(getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, position, isValidTypeOnlyUseSite, useRequire, host, preferences)); + var fix = ts.Debug.checkDefined(getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, program, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, useRequire, host, preferences)); return { moduleSpecifier: fix.moduleSpecifier, codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, @@ -152443,13 +153040,13 @@ var ts; var symbolName = getSymbolName(sourceFile, program.getTypeChecker(), symbolToken, compilerOptions); var fix = getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName, program); var includeSymbolNameInDescription = symbolName !== symbolToken.text; - return fix && codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, includeSymbolNameInDescription, 1 /* Double */, compilerOptions)); + return fix && codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, includeSymbolNameInDescription, 1 /* QuotePreference.Double */, compilerOptions)); } codefix.getPromoteTypeOnlyCompletionAction = getPromoteTypeOnlyCompletionAction; - function getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, symbolName, program, position, isValidTypeOnlyUseSite, useRequire, host, preferences) { + function getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, program, useNamespaceInfo, isValidTypeOnlyUseSite, useRequire, host, preferences) { ts.Debug.assert(exportInfos.some(function (info) { return info.moduleSymbol === moduleSymbol || info.symbol.parent === moduleSymbol; }), "Some exportInfo should match the specified moduleSymbol"); var packageJsonImportFilter = ts.createPackageJsonImportFilter(sourceFile, preferences, host); - return getBestFix(getImportFixes(exportInfos, symbolName, position, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences), sourceFile, program, packageJsonImportFilter, host); + return getBestFix(getImportFixes(exportInfos, useNamespaceInfo, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes, sourceFile, program, packageJsonImportFilter, host); } function codeFixActionToCodeAction(_a) { var description = _a.description, changes = _a.changes, commands = _a.commands; @@ -152471,7 +153068,7 @@ var ts; } var named = checker.tryGetMemberInModuleExportsAndProperties(symbol.name, moduleSymbol); if (named && ts.skipAlias(named, checker) === symbol) { - return { symbol: named, moduleSymbol: moduleSymbol, moduleFileName: undefined, exportKind: 0 /* Named */, targetFlags: ts.skipAlias(symbol, checker).flags, isFromPackageJson: isFromPackageJson }; + return { symbol: named, moduleSymbol: moduleSymbol, moduleFileName: undefined, exportKind: 0 /* ExportKind.Named */, targetFlags: ts.skipAlias(symbol, checker).flags, isFromPackageJson: isFromPackageJson }; } } } @@ -152494,7 +153091,7 @@ var ts; for (var _i = 0, _a = checker.getExportsAndPropertiesOfModule(moduleSymbol); _i < _a.length; _i++) { var exported = _a[_i]; if (exported.name === symbolName && checker.getMergedSymbol(ts.skipAlias(exported, checker)) === targetSymbol && isImportable(program, moduleFile, isFromPackageJson)) { - result.push({ symbol: exported, moduleSymbol: moduleSymbol, moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName, exportKind: 0 /* Named */, targetFlags: ts.skipAlias(exported, checker).flags, isFromPackageJson: isFromPackageJson }); + result.push({ symbol: exported, moduleSymbol: moduleSymbol, moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName, exportKind: 0 /* ExportKind.Named */, targetFlags: ts.skipAlias(exported, checker).flags, isFromPackageJson: isFromPackageJson }); } } }); @@ -152504,25 +153101,32 @@ var ts; return !moduleFile || ts.isImportableFile(program, importingFile, moduleFile, preferences, /*packageJsonFilter*/ undefined, getModuleSpecifierResolutionHost(isFromPackageJson), (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host)); } } - function getModuleSpecifierForBestExportInfo(exportInfo, importingFile, program, host, preferences, packageJsonImportFilter, fromCacheOnly) { - var _a = getNewImportFixes(program, importingFile, - /*position*/ undefined, - /*isValidTypeOnlyUseSite*/ false, - /*useRequire*/ false, exportInfo, host, preferences, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; + function getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, importingFile, program, host, preferences, packageJsonImportFilter, fromCacheOnly) { + var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, + /*useRequire*/ false, program, importingFile, host, preferences, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; var result = getBestFix(fixes, importingFile, program, packageJsonImportFilter || ts.createPackageJsonImportFilter(importingFile, preferences, host), host); return result && __assign(__assign({}, result), { computedWithoutCacheCount: computedWithoutCacheCount }); } codefix.getModuleSpecifierForBestExportInfo = getModuleSpecifierForBestExportInfo; - function getImportFixes(exportInfos, symbolName, + function getImportFixes(exportInfos, useNamespaceInfo, /** undefined only for missing JSX namespace */ - position, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences) { + isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences, fromCacheOnly) { var checker = program.getTypeChecker(); var existingImports = ts.flatMap(exportInfos, function (info) { return getExistingImportDeclarations(info, checker, sourceFile, program.getCompilerOptions()); }); - var useNamespace = position === undefined ? undefined : tryUseExistingNamespaceImport(existingImports, symbolName, position, checker); + var useNamespace = useNamespaceInfo && tryUseExistingNamespaceImport(existingImports, useNamespaceInfo.symbolName, useNamespaceInfo.position, checker); var addToExisting = tryAddToExistingImport(existingImports, isValidTypeOnlyUseSite, checker, program.getCompilerOptions()); - // Don't bother providing an action to add a new import if we can add to an existing one. - var addImport = addToExisting ? [addToExisting] : getFixesForAddImport(exportInfos, existingImports, program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, host, preferences); - return __spreadArray(__spreadArray([], (useNamespace ? [useNamespace] : ts.emptyArray), true), addImport, true); + if (addToExisting) { + // Don't bother providing an action to add a new import if we can add to an existing one. + return { + computedWithoutCacheCount: 0, + fixes: __spreadArray(__spreadArray([], (useNamespace ? [useNamespace] : ts.emptyArray), true), [addToExisting], false), + }; + } + var _a = getFixesForAddImport(exportInfos, existingImports, program, sourceFile, useNamespaceInfo === null || useNamespaceInfo === void 0 ? void 0 : useNamespaceInfo.position, isValidTypeOnlyUseSite, useRequire, host, preferences, fromCacheOnly), fixes = _a.fixes, _b = _a.computedWithoutCacheCount, computedWithoutCacheCount = _b === void 0 ? 0 : _b; + return { + computedWithoutCacheCount: computedWithoutCacheCount, + fixes: __spreadArray(__spreadArray([], (useNamespace ? [useNamespace] : ts.emptyArray), true), fixes, true), + }; } function tryUseExistingNamespaceImport(existingImports, symbolName, position, checker) { // It is possible that multiple import statements with the same specifier exist in the file. @@ -152538,13 +153142,14 @@ var ts; // 2. add "member3" to the second import statement's import list // and it is up to the user to decide which one fits best. return ts.firstDefined(existingImports, function (_a) { + var _b; var declaration = _a.declaration; var namespacePrefix = getNamespaceLikeImportText(declaration); - var moduleSpecifier = ts.tryGetModuleSpecifierFromDeclaration(declaration); + var moduleSpecifier = (_b = ts.tryGetModuleSpecifierFromDeclaration(declaration)) === null || _b === void 0 ? void 0 : _b.text; if (namespacePrefix && moduleSpecifier) { var moduleSymbol = getTargetModuleFromNamespaceLikeImport(declaration, checker); if (moduleSymbol && moduleSymbol.exports.has(ts.escapeLeadingUnderscores(symbolName))) { - return { kind: 0 /* UseNamespace */, namespacePrefix: namespacePrefix, position: position, moduleSpecifier: moduleSpecifier }; + return { kind: 0 /* ImportFixKind.UseNamespace */, namespacePrefix: namespacePrefix, position: position, moduleSpecifier: moduleSpecifier }; } } }); @@ -152552,11 +153157,11 @@ var ts; function getTargetModuleFromNamespaceLikeImport(declaration, checker) { var _a; switch (declaration.kind) { - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return checker.resolveExternalModuleName(declaration.initializer.arguments[0]); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return checker.getAliasedSymbol(declaration.symbol); - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: var namespaceImport = ts.tryCast((_a = declaration.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings, ts.isNamespaceImport); return namespaceImport && checker.getAliasedSymbol(namespaceImport.symbol); default: @@ -152566,11 +153171,11 @@ var ts; function getNamespaceLikeImportText(declaration) { var _a, _b, _c; switch (declaration.kind) { - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return (_a = ts.tryCast(declaration.name, ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return declaration.name.text; - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return (_c = ts.tryCast((_b = declaration.importClause) === null || _b === void 0 ? void 0 : _b.namedBindings, ts.isNamespaceImport)) === null || _c === void 0 ? void 0 : _c.name.text; default: return ts.Debug.assertNever(declaration); @@ -152579,31 +153184,31 @@ var ts; function getAddAsTypeOnly(isValidTypeOnlyUseSite, isForNewImportDeclaration, symbol, targetFlags, checker, compilerOptions) { if (!isValidTypeOnlyUseSite) { // Can't use a type-only import if the usage is an emitting position - return 4 /* NotAllowed */; + return 4 /* AddAsTypeOnly.NotAllowed */; } - if (isForNewImportDeclaration && compilerOptions.importsNotUsedAsValues === 2 /* Error */) { + if (isForNewImportDeclaration && compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */) { // Not writing a (top-level) type-only import here would create an error because the runtime dependency is unnecessary - return 2 /* Required */; + return 2 /* AddAsTypeOnly.Required */; } if (compilerOptions.isolatedModules && compilerOptions.preserveValueImports && - (!(targetFlags & 111551 /* Value */) || !!checker.getTypeOnlyAliasDeclaration(symbol))) { + (!(targetFlags & 111551 /* SymbolFlags.Value */) || !!checker.getTypeOnlyAliasDeclaration(symbol))) { // A type-only import is required for this symbol if under these settings if the symbol will // be erased, which will happen if the target symbol is purely a type or if it was exported/imported // as type-only already somewhere between this import and the target. - return 2 /* Required */; + return 2 /* AddAsTypeOnly.Required */; } - return 1 /* Allowed */; + return 1 /* AddAsTypeOnly.Allowed */; } function tryAddToExistingImport(existingImports, isValidTypeOnlyUseSite, checker, compilerOptions) { return ts.firstDefined(existingImports, function (_a) { var declaration = _a.declaration, importKind = _a.importKind, symbol = _a.symbol, targetFlags = _a.targetFlags; - if (importKind === 3 /* CommonJS */ || importKind === 2 /* Namespace */ || declaration.kind === 265 /* ImportEqualsDeclaration */) { + if (importKind === 3 /* ImportKind.CommonJS */ || importKind === 2 /* ImportKind.Namespace */ || declaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { // These kinds of imports are not combinable with anything return undefined; } - if (declaration.kind === 254 /* VariableDeclaration */) { - return (importKind === 0 /* Named */ || importKind === 1 /* Default */) && declaration.name.kind === 201 /* ObjectBindingPattern */ - ? { kind: 2 /* AddToExisting */, importClauseOrBindingPattern: declaration.name, importKind: importKind, moduleSpecifier: declaration.initializer.arguments[0].text, addAsTypeOnly: 4 /* NotAllowed */ } + if (declaration.kind === 254 /* SyntaxKind.VariableDeclaration */) { + return (importKind === 0 /* ImportKind.Named */ || importKind === 1 /* ImportKind.Default */) && declaration.name.kind === 201 /* SyntaxKind.ObjectBindingPattern */ + ? { kind: 2 /* ImportFixKind.AddToExisting */, importClauseOrBindingPattern: declaration.name, importKind: importKind, moduleSpecifier: declaration.initializer.arguments[0].text, addAsTypeOnly: 4 /* AddAsTypeOnly.NotAllowed */ } : undefined; } var importClause = declaration.importClause; @@ -152612,22 +153217,22 @@ var ts; var name = importClause.name, namedBindings = importClause.namedBindings; // A type-only import may not have both a default and named imports, so the only way a name can // be added to an existing type-only import is adding a named import to existing named bindings. - if (importClause.isTypeOnly && !(importKind === 0 /* Named */ && namedBindings)) + if (importClause.isTypeOnly && !(importKind === 0 /* ImportKind.Named */ && namedBindings)) return undefined; // N.B. we don't have to figure out whether to use the main program checker // or the AutoImportProvider checker because we're adding to an existing import; the existence of // the import guarantees the symbol came from the main program. var addAsTypeOnly = getAddAsTypeOnly(isValidTypeOnlyUseSite, /*isForNewImportDeclaration*/ false, symbol, targetFlags, checker, compilerOptions); - if (importKind === 1 /* Default */ && (name || // Cannot add a default import to a declaration that already has one - addAsTypeOnly === 2 /* Required */ && namedBindings // Cannot add a default import as type-only if the import already has named bindings + if (importKind === 1 /* ImportKind.Default */ && (name || // Cannot add a default import to a declaration that already has one + addAsTypeOnly === 2 /* AddAsTypeOnly.Required */ && namedBindings // Cannot add a default import as type-only if the import already has named bindings )) return undefined; - if (importKind === 0 /* Named */ && - (namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === 268 /* NamespaceImport */ // Cannot add a named import to a declaration that has a namespace import + if (importKind === 0 /* ImportKind.Named */ && + (namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === 268 /* SyntaxKind.NamespaceImport */ // Cannot add a named import to a declaration that has a namespace import ) return undefined; return { - kind: 2 /* AddToExisting */, + kind: 2 /* ImportFixKind.AddToExisting */, importClauseOrBindingPattern: importClause, importKind: importKind, moduleSpecifier: declaration.moduleSpecifier.text, @@ -152638,7 +153243,7 @@ var ts; function getExistingImportDeclarations(_a, checker, importingFile, compilerOptions) { var moduleSymbol = _a.moduleSymbol, exportKind = _a.exportKind, targetFlags = _a.targetFlags, symbol = _a.symbol; // Can't use an es6 import for a type in JS. - if (!(targetFlags & 111551 /* Value */) && ts.isSourceFileJS(importingFile)) + if (!(targetFlags & 111551 /* SymbolFlags.Value */) && ts.isSourceFileJS(importingFile)) return ts.emptyArray; var importKind = getImportKind(importingFile, exportKind, compilerOptions); return ts.mapDefined(importingFile.imports, function (moduleSpecifier) { @@ -152646,7 +153251,7 @@ var ts; if (ts.isVariableDeclarationInitializedToRequire(i.parent)) { return checker.resolveExternalModuleName(moduleSpecifier) === moduleSymbol ? { declaration: i.parent, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; } - if (i.kind === 266 /* ImportDeclaration */ || i.kind === 265 /* ImportEqualsDeclaration */) { + if (i.kind === 266 /* SyntaxKind.ImportDeclaration */ || i.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { return checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; } }); @@ -152684,6 +153289,7 @@ var ts; var compilerOptions = program.getCompilerOptions(); var moduleSpecifierResolutionHost = ts.createModuleSpecifierResolutionHost(program, host); var getChecker = ts.memoizeOne(function (isFromPackageJson) { return isFromPackageJson ? host.getPackageJsonAutoImportProvider().getTypeChecker() : program.getTypeChecker(); }); + var rejectNodeModulesRelativePaths = ts.moduleResolutionUsesNodeModules(ts.getEmitModuleResolutionKind(compilerOptions)); var getModuleSpecifiers = fromCacheOnly ? function (moduleSymbol) { return ({ moduleSpecifiers: ts.moduleSpecifiers.tryGetModuleSpecifiersFromCache(moduleSymbol, sourceFile, moduleSpecifierResolutionHost, preferences), computedWithoutCache: false }); } : function (moduleSymbol, checker) { return ts.moduleSpecifiers.getModuleSpecifiersWithCacheInfo(moduleSymbol, checker, compilerOptions, sourceFile, moduleSpecifierResolutionHost, preferences); }; @@ -152691,38 +153297,39 @@ var ts; var fixes = ts.flatMap(exportInfo, function (exportInfo, i) { var checker = getChecker(exportInfo.isFromPackageJson); var _a = getModuleSpecifiers(exportInfo.moduleSymbol, checker), computedWithoutCache = _a.computedWithoutCache, moduleSpecifiers = _a.moduleSpecifiers; - var importedSymbolHasValueMeaning = !!(exportInfo.targetFlags & 111551 /* Value */); + var importedSymbolHasValueMeaning = !!(exportInfo.targetFlags & 111551 /* SymbolFlags.Value */); var addAsTypeOnly = getAddAsTypeOnly(isValidTypeOnlyUseSite, /*isForNewImportDeclaration*/ true, exportInfo.symbol, exportInfo.targetFlags, checker, compilerOptions); computedWithoutCacheCount += computedWithoutCache ? 1 : 0; - return moduleSpecifiers === null || moduleSpecifiers === void 0 ? void 0 : moduleSpecifiers.map(function (moduleSpecifier) { - // `position` should only be undefined at a missing jsx namespace, in which case we shouldn't be looking for pure types. - return !importedSymbolHasValueMeaning && isJs && position !== undefined - ? { kind: 1 /* JsdocTypeImport */, moduleSpecifier: moduleSpecifier, position: position, exportInfo: exportInfo, isReExport: i > 0 } - : { - kind: 3 /* AddNew */, - moduleSpecifier: moduleSpecifier, - importKind: getImportKind(sourceFile, exportInfo.exportKind, compilerOptions), - useRequire: useRequire, - addAsTypeOnly: addAsTypeOnly, - exportInfo: exportInfo, - isReExport: i > 0, - }; + return ts.mapDefined(moduleSpecifiers, function (moduleSpecifier) { + return rejectNodeModulesRelativePaths && ts.pathContainsNodeModules(moduleSpecifier) ? undefined : + // `position` should only be undefined at a missing jsx namespace, in which case we shouldn't be looking for pure types. + !importedSymbolHasValueMeaning && isJs && position !== undefined ? { kind: 1 /* ImportFixKind.JsdocTypeImport */, moduleSpecifier: moduleSpecifier, position: position, exportInfo: exportInfo, isReExport: i > 0 } : + { + kind: 3 /* ImportFixKind.AddNew */, + moduleSpecifier: moduleSpecifier, + importKind: getImportKind(sourceFile, exportInfo.exportKind, compilerOptions), + useRequire: useRequire, + addAsTypeOnly: addAsTypeOnly, + exportInfo: exportInfo, + isReExport: i > 0, + }; }); }); return { computedWithoutCacheCount: computedWithoutCacheCount, fixes: fixes }; } - function getFixesForAddImport(exportInfos, existingImports, program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, host, preferences) { + function getFixesForAddImport(exportInfos, existingImports, program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, host, preferences, fromCacheOnly) { var existingDeclaration = ts.firstDefined(existingImports, function (info) { return newImportInfoFromExistingSpecifier(info, isValidTypeOnlyUseSite, useRequire, program.getTypeChecker(), program.getCompilerOptions()); }); - return existingDeclaration ? [existingDeclaration] : getNewImportFixes(program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, exportInfos, host, preferences).fixes; + return existingDeclaration ? { fixes: [existingDeclaration] } : getNewImportFixes(program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, exportInfos, host, preferences, fromCacheOnly); } function newImportInfoFromExistingSpecifier(_a, isValidTypeOnlyUseSite, useRequire, checker, compilerOptions) { + var _b; var declaration = _a.declaration, importKind = _a.importKind, symbol = _a.symbol, targetFlags = _a.targetFlags; - var moduleSpecifier = ts.tryGetModuleSpecifierFromDeclaration(declaration); + var moduleSpecifier = (_b = ts.tryGetModuleSpecifierFromDeclaration(declaration)) === null || _b === void 0 ? void 0 : _b.text; if (moduleSpecifier) { var addAsTypeOnly = useRequire - ? 4 /* NotAllowed */ + ? 4 /* AddAsTypeOnly.NotAllowed */ : getAddAsTypeOnly(isValidTypeOnlyUseSite, /*isForNewImportDeclaration*/ true, symbol, targetFlags, checker, compilerOptions); - return { kind: 3 /* AddNew */, moduleSpecifier: moduleSpecifier, importKind: importKind, addAsTypeOnly: addAsTypeOnly, useRequire: useRequire }; + return { kind: 3 /* ImportFixKind.AddNew */, moduleSpecifier: moduleSpecifier, importKind: importKind, addAsTypeOnly: addAsTypeOnly, useRequire: useRequire }; } } function getFixesInfo(context, errorCode, pos, useAutoImportProvider) { @@ -152753,23 +153360,23 @@ var ts; if (!ts.some(fixes)) return; // These will always be placed first if available, and are better than other kinds - if (fixes[0].kind === 0 /* UseNamespace */ || fixes[0].kind === 2 /* AddToExisting */) { + if (fixes[0].kind === 0 /* ImportFixKind.UseNamespace */ || fixes[0].kind === 2 /* ImportFixKind.AddToExisting */) { return fixes[0]; } return fixes.reduce(function (best, fix) { // Takes true branch of conditional if `fix` is better than `best` - return compareModuleSpecifiers(fix, best, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, function (fileName) { return ts.toPath(fileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); }) === -1 /* LessThan */ ? fix : best; + return compareModuleSpecifiers(fix, best, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, function (fileName) { return ts.toPath(fileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); }) === -1 /* Comparison.LessThan */ ? fix : best; }); } /** @returns `Comparison.LessThan` if `a` is better than `b`. */ function compareModuleSpecifiers(a, b, importingFile, program, allowsImportingSpecifier, toPath) { - if (a.kind !== 0 /* UseNamespace */ && b.kind !== 0 /* UseNamespace */) { + if (a.kind !== 0 /* ImportFixKind.UseNamespace */ && b.kind !== 0 /* ImportFixKind.UseNamespace */) { return ts.compareBooleans(allowsImportingSpecifier(b.moduleSpecifier), allowsImportingSpecifier(a.moduleSpecifier)) || compareNodeCoreModuleSpecifiers(a.moduleSpecifier, b.moduleSpecifier, importingFile, program) || ts.compareBooleans(isFixPossiblyReExportingImportingFile(a, importingFile, program.getCompilerOptions(), toPath), isFixPossiblyReExportingImportingFile(b, importingFile, program.getCompilerOptions(), toPath)) || ts.compareNumberOfDirectorySeparators(a.moduleSpecifier, b.moduleSpecifier); } - return 0 /* EqualTo */; + return 0 /* Comparison.EqualTo */; } // This is a simple heuristic to try to avoid creating an import cycle with a barrel re-export. // E.g., do not `import { Foo } from ".."` when you could `import { Foo } from "../Foo"`. @@ -152792,10 +153399,10 @@ var ts; } function compareNodeCoreModuleSpecifiers(a, b, importingFile, program) { if (ts.startsWith(a, "node:") && !ts.startsWith(b, "node:")) - return ts.shouldUseUriStyleNodeCoreModules(importingFile, program) ? -1 /* LessThan */ : 1 /* GreaterThan */; + return ts.shouldUseUriStyleNodeCoreModules(importingFile, program) ? -1 /* Comparison.LessThan */ : 1 /* Comparison.GreaterThan */; if (ts.startsWith(b, "node:") && !ts.startsWith(a, "node:")) - return ts.shouldUseUriStyleNodeCoreModules(importingFile, program) ? 1 /* GreaterThan */ : -1 /* LessThan */; - return 0 /* EqualTo */; + return ts.shouldUseUriStyleNodeCoreModules(importingFile, program) ? 1 /* Comparison.GreaterThan */ : -1 /* Comparison.LessThan */; + return 0 /* Comparison.EqualTo */; } function getFixesInfoForUMDImport(_a, token) { var _b; @@ -152806,9 +153413,10 @@ var ts; return undefined; var symbol = checker.getAliasedSymbol(umdSymbol); var symbolName = umdSymbol.name; - var exportInfo = [{ symbol: umdSymbol, moduleSymbol: symbol, moduleFileName: undefined, exportKind: 3 /* UMD */, targetFlags: symbol.flags, isFromPackageJson: false }]; + var exportInfo = [{ symbol: umdSymbol, moduleSymbol: symbol, moduleFileName: undefined, exportKind: 3 /* ExportKind.UMD */, targetFlags: symbol.flags, isFromPackageJson: false }]; var useRequire = shouldUseRequire(sourceFile, program); - var fixes = getImportFixes(exportInfo, symbolName, ts.isIdentifier(token) ? token.getStart(sourceFile) : undefined, /*isValidTypeOnlyUseSite*/ false, useRequire, program, sourceFile, host, preferences); + var position = ts.isIdentifier(token) ? token.getStart(sourceFile) : undefined; + var fixes = getImportFixes(exportInfo, position ? { position: position, symbolName: symbolName } : undefined, /*isValidTypeOnlyUseSite*/ false, useRequire, program, sourceFile, host, preferences).fixes; return { fixes: fixes, symbolName: symbolName, errorIdentifierText: (_b = ts.tryCast(token, ts.isIdentifier)) === null || _b === void 0 ? void 0 : _b.text }; } function getUmdSymbol(token, checker) { @@ -152819,7 +153427,7 @@ var ts; // The error wasn't for the symbolAtLocation, it was for the JSX tag itself, which needs access to e.g. `React`. var parent = token.parent; return (ts.isJsxOpeningLikeElement(parent) && parent.tagName === token) || ts.isJsxOpeningFragment(parent) - ? ts.tryCast(checker.resolveName(checker.getJsxNamespace(parent), ts.isJsxOpeningLikeElement(parent) ? token : parent, 111551 /* Value */, /*excludeGlobals*/ false), ts.isUMDExportSymbol) + ? ts.tryCast(checker.resolveName(checker.getJsxNamespace(parent), ts.isJsxOpeningLikeElement(parent) ? token : parent, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ false), ts.isUMDExportSymbol) : undefined; } /** @@ -152828,10 +153436,10 @@ var ts; */ function getImportKind(importingFile, exportKind, compilerOptions, forceImportKeyword) { switch (exportKind) { - case 0 /* Named */: return 0 /* Named */; - case 1 /* Default */: return 1 /* Default */; - case 2 /* ExportEquals */: return getExportEqualsImportKind(importingFile, compilerOptions, !!forceImportKeyword); - case 3 /* UMD */: return getUmdImportKind(importingFile, compilerOptions, !!forceImportKeyword); + case 0 /* ExportKind.Named */: return 0 /* ImportKind.Named */; + case 1 /* ExportKind.Default */: return 1 /* ImportKind.Default */; + case 2 /* ExportKind.ExportEquals */: return getExportEqualsImportKind(importingFile, compilerOptions, !!forceImportKeyword); + case 3 /* ExportKind.UMD */: return getUmdImportKind(importingFile, compilerOptions, !!forceImportKeyword); default: return ts.Debug.assertNever(exportKind); } } @@ -152839,7 +153447,7 @@ var ts; function getUmdImportKind(importingFile, compilerOptions, forceImportKeyword) { // Import a synthetic `default` if enabled. if (ts.getAllowSyntheticDefaultImports(compilerOptions)) { - return 1 /* Default */; + return 1 /* ImportKind.Default */; } // When a synthetic `default` is unavailable, use `import..require` if the module kind supports it. var moduleKind = ts.getEmitModuleKind(compilerOptions); @@ -152848,9 +153456,9 @@ var ts; case ts.ModuleKind.CommonJS: case ts.ModuleKind.UMD: if (ts.isInJSFile(importingFile)) { - return ts.isExternalModule(importingFile) || forceImportKeyword ? 2 /* Namespace */ : 3 /* CommonJS */; + return ts.isExternalModule(importingFile) || forceImportKeyword ? 2 /* ImportKind.Namespace */ : 3 /* ImportKind.CommonJS */; } - return 3 /* CommonJS */; + return 3 /* ImportKind.CommonJS */; case ts.ModuleKind.System: case ts.ModuleKind.ES2015: case ts.ModuleKind.ES2020: @@ -152858,12 +153466,12 @@ var ts; case ts.ModuleKind.ESNext: case ts.ModuleKind.None: // Fall back to the `import * as ns` style import. - return 2 /* Namespace */; - case ts.ModuleKind.Node12: + return 2 /* ImportKind.Namespace */; + case ts.ModuleKind.Node16: case ts.ModuleKind.NodeNext: - return importingFile.impliedNodeFormat === ts.ModuleKind.ESNext ? 2 /* Namespace */ : 3 /* CommonJS */; + return importingFile.impliedNodeFormat === ts.ModuleKind.ESNext ? 2 /* ImportKind.Namespace */ : 3 /* ImportKind.CommonJS */; default: - return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind " + moduleKind); + return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind ".concat(moduleKind)); } } function getFixesInfoForNonUMDImport(_a, symbolToken, useAutoImportProvider) { @@ -152872,7 +153480,7 @@ var ts; var compilerOptions = program.getCompilerOptions(); var symbolName = getSymbolName(sourceFile, checker, symbolToken, compilerOptions); // "default" is a keyword and not a legal identifier for the import, but appears as an identifier. - if (symbolName === "default" /* Default */) { + if (symbolName === "default" /* InternalSymbolName.Default */) { return undefined; } var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(symbolToken); @@ -152880,19 +153488,19 @@ var ts; var exportInfo = getExportInfos(symbolName, ts.isJSXTagName(symbolToken), ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences); var fixes = ts.arrayFrom(ts.flatMapIterator(exportInfo.entries(), function (_a) { var _ = _a[0], exportInfos = _a[1]; - return getImportFixes(exportInfos, symbolName, symbolToken.getStart(sourceFile), isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences); + return getImportFixes(exportInfos, { symbolName: symbolName, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes; })); return { fixes: fixes, symbolName: symbolName, errorIdentifierText: symbolToken.text }; } function getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName, program) { var checker = program.getTypeChecker(); - var symbol = checker.resolveName(symbolName, symbolToken, 111551 /* Value */, /*excludeGlobals*/ true); + var symbol = checker.resolveName(symbolName, symbolToken, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ true); if (!symbol) return undefined; var typeOnlyAliasDeclaration = checker.getTypeOnlyAliasDeclaration(symbol); if (!typeOnlyAliasDeclaration || ts.getSourceFileOfNode(typeOnlyAliasDeclaration) !== sourceFile) return undefined; - return { kind: 4 /* PromoteTypeOnly */, typeOnlyAliasDeclaration: typeOnlyAliasDeclaration }; + return { kind: 4 /* ImportFixKind.PromoteTypeOnly */, typeOnlyAliasDeclaration: typeOnlyAliasDeclaration }; } function getSymbolName(sourceFile, checker, symbolToken, compilerOptions) { var parent = symbolToken.parent; @@ -152907,8 +153515,8 @@ var ts; function needsJsxNamespaceFix(jsxNamespace, symbolToken, checker) { if (ts.isIntrinsicJsxName(symbolToken.text)) return true; // If we were triggered by a matching error code on an intrinsic, the error must have been about missing the JSX factory - var namespaceSymbol = checker.resolveName(jsxNamespace, symbolToken, 111551 /* Value */, /*excludeGlobals*/ true); - return !namespaceSymbol || ts.some(namespaceSymbol.declarations, ts.isTypeOnlyImportOrExportDeclaration) && !(namespaceSymbol.flags & 111551 /* Value */); + var namespaceSymbol = checker.resolveName(jsxNamespace, symbolToken, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ true); + return !namespaceSymbol || ts.some(namespaceSymbol.declarations, ts.isTypeOnlyImportOrExportDeclaration) && !(namespaceSymbol.flags & 111551 /* SymbolFlags.Value */); } // Returns a map from an exported symbol's ID to a list of every way it's (re-)exported. function getExportInfos(symbolName, isJsxTagName, currentTokenMeaning, cancellationToken, fromFile, program, useAutoImportProvider, host, preferences) { @@ -152940,7 +153548,7 @@ var ts; // check exports with the same name var exportSymbolWithIdenticalName = checker.tryGetMemberInModuleExportsAndProperties(symbolName, moduleSymbol); if (exportSymbolWithIdenticalName && symbolHasMeaning(exportSymbolWithIdenticalName, currentTokenMeaning)) { - addSymbol(moduleSymbol, sourceFile, exportSymbolWithIdenticalName, 0 /* Named */, program, isFromPackageJson); + addSymbol(moduleSymbol, sourceFile, exportSymbolWithIdenticalName, 0 /* ExportKind.Named */, program, isFromPackageJson); } }); return originalSymbolToExportInfos; @@ -152951,14 +153559,14 @@ var ts; // 1. 'import =' will not work in es2015+ TS files, so the decision is between a default // and a namespace import, based on allowSyntheticDefaultImports/esModuleInterop. if (!isJS && ts.getEmitModuleKind(compilerOptions) >= ts.ModuleKind.ES2015) { - return allowSyntheticDefaults ? 1 /* Default */ : 2 /* Namespace */; + return allowSyntheticDefaults ? 1 /* ImportKind.Default */ : 2 /* ImportKind.Namespace */; } // 2. 'import =' will not work in JavaScript, so the decision is between a default import, // a namespace import, and const/require. if (isJS) { return ts.isExternalModule(importingFile) || forceImportKeyword - ? allowSyntheticDefaults ? 1 /* Default */ : 2 /* Namespace */ - : 3 /* CommonJS */; + ? allowSyntheticDefaults ? 1 /* ImportKind.Default */ : 2 /* ImportKind.Namespace */ + : 3 /* ImportKind.CommonJS */; } // 3. At this point the most correct choice is probably 'import =', but people // really hate that, so look to see if the importing file has any precedent @@ -152967,12 +153575,12 @@ var ts; var statement = _a[_i]; // `import foo` parses as an ImportEqualsDeclaration even though it could be an ImportDeclaration if (ts.isImportEqualsDeclaration(statement) && !ts.nodeIsMissing(statement.moduleReference)) { - return 3 /* CommonJS */; + return 3 /* ImportKind.CommonJS */; } } // 4. We have no precedent to go on, so just use a default import if // allowSyntheticDefaultImports/esModuleInterop is enabled. - return allowSyntheticDefaults ? 1 /* Default */ : 3 /* CommonJS */; + return allowSyntheticDefaults ? 1 /* ImportKind.Default */ : 3 /* ImportKind.CommonJS */; } function codeActionForFix(context, sourceFile, symbolName, fix, includeSymbolNameInDescription, quotePreference, compilerOptions) { var diag; @@ -152983,45 +153591,45 @@ var ts; } function codeActionForFixWorker(changes, sourceFile, symbolName, fix, includeSymbolNameInDescription, quotePreference, compilerOptions) { switch (fix.kind) { - case 0 /* UseNamespace */: + case 0 /* ImportFixKind.UseNamespace */: addNamespaceQualifier(changes, sourceFile, fix); - return [ts.Diagnostics.Change_0_to_1, symbolName, fix.namespacePrefix + "." + symbolName]; - case 1 /* JsdocTypeImport */: + return [ts.Diagnostics.Change_0_to_1, symbolName, "".concat(fix.namespacePrefix, ".").concat(symbolName)]; + case 1 /* ImportFixKind.JsdocTypeImport */: addImportType(changes, sourceFile, fix, quotePreference); return [ts.Diagnostics.Change_0_to_1, symbolName, getImportTypePrefix(fix.moduleSpecifier, quotePreference) + symbolName]; - case 2 /* AddToExisting */: { + case 2 /* ImportFixKind.AddToExisting */: { var importClauseOrBindingPattern = fix.importClauseOrBindingPattern, importKind = fix.importKind, addAsTypeOnly = fix.addAsTypeOnly, moduleSpecifier = fix.moduleSpecifier; - doAddExistingFix(changes, sourceFile, importClauseOrBindingPattern, importKind === 1 /* Default */ ? { name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined, importKind === 0 /* Named */ ? [{ name: symbolName, addAsTypeOnly: addAsTypeOnly }] : ts.emptyArray, compilerOptions); + doAddExistingFix(changes, sourceFile, importClauseOrBindingPattern, importKind === 1 /* ImportKind.Default */ ? { name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined, importKind === 0 /* ImportKind.Named */ ? [{ name: symbolName, addAsTypeOnly: addAsTypeOnly }] : ts.emptyArray, compilerOptions); var moduleSpecifierWithoutQuotes = ts.stripQuotes(moduleSpecifier); return includeSymbolNameInDescription ? [ts.Diagnostics.Import_0_from_1, symbolName, moduleSpecifierWithoutQuotes] : [ts.Diagnostics.Update_import_from_0, moduleSpecifierWithoutQuotes]; } - case 3 /* AddNew */: { + case 3 /* ImportFixKind.AddNew */: { var importKind = fix.importKind, moduleSpecifier = fix.moduleSpecifier, addAsTypeOnly = fix.addAsTypeOnly, useRequire = fix.useRequire; var getDeclarations = useRequire ? getNewRequires : getNewImports; - var defaultImport = importKind === 1 /* Default */ ? { name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined; - var namedImports = importKind === 0 /* Named */ ? [{ name: symbolName, addAsTypeOnly: addAsTypeOnly }] : undefined; - var namespaceLikeImport = importKind === 2 /* Namespace */ || importKind === 3 /* CommonJS */ ? { importKind: importKind, name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined; + var defaultImport = importKind === 1 /* ImportKind.Default */ ? { name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined; + var namedImports = importKind === 0 /* ImportKind.Named */ ? [{ name: symbolName, addAsTypeOnly: addAsTypeOnly }] : undefined; + var namespaceLikeImport = importKind === 2 /* ImportKind.Namespace */ || importKind === 3 /* ImportKind.CommonJS */ ? { importKind: importKind, name: symbolName, addAsTypeOnly: addAsTypeOnly } : undefined; ts.insertImports(changes, sourceFile, getDeclarations(moduleSpecifier, quotePreference, defaultImport, namedImports, namespaceLikeImport), /*blankLineBetween*/ true); return includeSymbolNameInDescription ? [ts.Diagnostics.Import_0_from_1, symbolName, moduleSpecifier] : [ts.Diagnostics.Add_import_from_0, moduleSpecifier]; } - case 4 /* PromoteTypeOnly */: { + case 4 /* ImportFixKind.PromoteTypeOnly */: { var typeOnlyAliasDeclaration = fix.typeOnlyAliasDeclaration; var promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, compilerOptions, sourceFile); - return promotedDeclaration.kind === 270 /* ImportSpecifier */ + return promotedDeclaration.kind === 270 /* SyntaxKind.ImportSpecifier */ ? [ts.Diagnostics.Remove_type_from_import_of_0_from_1, symbolName, getModuleSpecifierText(promotedDeclaration.parent.parent)] : [ts.Diagnostics.Remove_type_from_import_declaration_from_0, getModuleSpecifierText(promotedDeclaration)]; } default: - return ts.Debug.assertNever(fix, "Unexpected fix kind " + fix.kind); + return ts.Debug.assertNever(fix, "Unexpected fix kind ".concat(fix.kind)); } } function getModuleSpecifierText(promotedDeclaration) { var _a, _b; - return promotedDeclaration.kind === 265 /* ImportEqualsDeclaration */ + return promotedDeclaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ ? ((_b = ts.tryCast((_a = ts.tryCast(promotedDeclaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression, ts.isStringLiteralLike)) === null || _b === void 0 ? void 0 : _b.text) || promotedDeclaration.moduleReference.getText() : ts.cast(promotedDeclaration.parent.moduleSpecifier, ts.isStringLiteral).text; } @@ -153029,7 +153637,7 @@ var ts; // See comment in `doAddExistingFix` on constant with the same name. var convertExistingToTypeOnly = compilerOptions.preserveValueImports && compilerOptions.isolatedModules; switch (aliasDeclaration.kind) { - case 270 /* ImportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: if (aliasDeclaration.isTypeOnly) { if (aliasDeclaration.parent.elements.length > 1 && ts.OrganizeImports.importSpecifiersAreSorted(aliasDeclaration.parent.elements)) { changes.delete(sourceFile, aliasDeclaration); @@ -153047,13 +153655,13 @@ var ts; promoteImportClause(aliasDeclaration.parent.parent); return aliasDeclaration.parent.parent; } - case 267 /* ImportClause */: + case 267 /* SyntaxKind.ImportClause */: promoteImportClause(aliasDeclaration); return aliasDeclaration; - case 268 /* NamespaceImport */: + case 268 /* SyntaxKind.NamespaceImport */: promoteImportClause(aliasDeclaration.parent); return aliasDeclaration.parent; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: changes.deleteRange(sourceFile, aliasDeclaration.getChildAt(1)); return aliasDeclaration; default: @@ -153065,7 +153673,7 @@ var ts; var namedImports = ts.tryCast(importClause.namedBindings, ts.isNamedImports); if (namedImports && namedImports.elements.length > 1) { if (ts.OrganizeImports.importSpecifiersAreSorted(namedImports.elements) && - aliasDeclaration.kind === 270 /* ImportSpecifier */ && + aliasDeclaration.kind === 270 /* SyntaxKind.ImportSpecifier */ && namedImports.elements.indexOf(aliasDeclaration) !== 0) { // The import specifier being promoted will be the only non-type-only, // import in the NamedImports, so it should be moved to the front. @@ -153075,7 +153683,7 @@ var ts; for (var _i = 0, _a = namedImports.elements; _i < _a.length; _i++) { var element = _a[_i]; if (element !== aliasDeclaration && !element.isTypeOnly) { - changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, element); + changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, element); } } } @@ -153084,7 +153692,7 @@ var ts; } function doAddExistingFix(changes, sourceFile, clause, defaultImport, namedImports, compilerOptions) { var _a; - if (clause.kind === 201 /* ObjectBindingPattern */) { + if (clause.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { if (defaultImport) { addElementToBindingPattern(clause, defaultImport.name, "default"); } @@ -153094,7 +153702,7 @@ var ts; } return; } - var promoteFromTypeOnly = clause.isTypeOnly && ts.some(__spreadArray([defaultImport], namedImports, true), function (i) { return (i === null || i === void 0 ? void 0 : i.addAsTypeOnly) === 4 /* NotAllowed */; }); + var promoteFromTypeOnly = clause.isTypeOnly && ts.some(__spreadArray([defaultImport], namedImports, true), function (i) { return (i === null || i === void 0 ? void 0 : i.addAsTypeOnly) === 4 /* AddAsTypeOnly.NotAllowed */; }); var existingSpecifiers = clause.namedBindings && ((_a = ts.tryCast(clause.namedBindings, ts.isNamedImports)) === null || _a === void 0 ? void 0 : _a.elements); // If we are promoting from a type-only import and `--isolatedModules` and `--preserveValueImports` // are enabled, we need to make every existing import specifier type-only. It may be possible that @@ -153145,7 +153753,7 @@ var ts; if (convertExistingToTypeOnly && existingSpecifiers) { for (var _d = 0, existingSpecifiers_1 = existingSpecifiers; _d < existingSpecifiers_1.length; _d++) { var specifier = existingSpecifiers_1[_d]; - changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, specifier); + changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, specifier); } } } @@ -153169,11 +153777,11 @@ var ts; } function getImportTypePrefix(moduleSpecifier, quotePreference) { var quote = ts.getQuoteFromPreference(quotePreference); - return "import(" + quote + moduleSpecifier + quote + ")."; + return "import(".concat(quote).concat(moduleSpecifier).concat(quote, ")."); } function needsTypeOnly(_a) { var addAsTypeOnly = _a.addAsTypeOnly; - return addAsTypeOnly === 2 /* Required */; + return addAsTypeOnly === 2 /* AddAsTypeOnly.Required */; } function getNewImports(moduleSpecifier, quotePreference, defaultImport, namedImports, namespaceLikeImport) { var quotedModuleSpecifier = ts.makeStringLiteral(moduleSpecifier, quotePreference); @@ -153182,12 +153790,12 @@ var ts; var topLevelTypeOnly_1 = (!defaultImport || needsTypeOnly(defaultImport)) && ts.every(namedImports, needsTypeOnly); statements = ts.combine(statements, ts.makeImport(defaultImport && ts.factory.createIdentifier(defaultImport.name), namedImports === null || namedImports === void 0 ? void 0 : namedImports.map(function (_a) { var addAsTypeOnly = _a.addAsTypeOnly, name = _a.name; - return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* Required */, + return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */, /*propertyName*/ undefined, ts.factory.createIdentifier(name)); }), moduleSpecifier, quotePreference, topLevelTypeOnly_1)); } if (namespaceLikeImport) { - var declaration = namespaceLikeImport.importKind === 3 /* CommonJS */ + var declaration = namespaceLikeImport.importKind === 3 /* ImportKind.CommonJS */ ? ts.factory.createImportEqualsDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, needsTypeOnly(namespaceLikeImport), ts.factory.createIdentifier(namespaceLikeImport.name), ts.factory.createExternalModuleReference(quotedModuleSpecifier)) @@ -153228,7 +153836,7 @@ var ts; ts.factory.createVariableDeclaration(typeof name === "string" ? ts.factory.createIdentifier(name) : name, /*exclamationToken*/ undefined, /*type*/ undefined, ts.factory.createCallExpression(ts.factory.createIdentifier("require"), /*typeArguments*/ undefined, [quotedModuleSpecifier])) - ], 2 /* Const */)); + ], 2 /* NodeFlags.Const */)); } function symbolHasMeaning(_a, meaning) { var declarations = _a.declarations; @@ -153265,7 +153873,7 @@ var ts; lastCharWasValid = isValid; } // Need `|| "_"` to ensure result isn't empty. - return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_" + res; + return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_".concat(res); } codefix.moduleSpecifierToValidIdentifier = moduleSpecifierToValidIdentifier; })(codefix = ts.codefix || (ts.codefix = {})); @@ -153399,7 +154007,7 @@ var ts; accessibilityModifier ? accessibilityModifier.end : classElement.decorators ? ts.skipTrivia(sourceFile.text, classElement.decorators.end) : classElement.getStart(sourceFile); var options = accessibilityModifier || staticModifier || abstractModifier ? { prefix: " " } : { suffix: " " }; - changeTracker.insertModifierAt(sourceFile, modifierPos, 159 /* OverrideKeyword */, options); + changeTracker.insertModifierAt(sourceFile, modifierPos, 159 /* SyntaxKind.OverrideKeyword */, options); } function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) { var classElement = findContainerClassElementLike(sourceFile, pos); @@ -153407,19 +154015,19 @@ var ts; changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag)); return; } - var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 159 /* OverrideKeyword */; }); + var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 159 /* SyntaxKind.OverrideKeyword */; }); ts.Debug.assertIsDefined(overrideModifier); changeTracker.deleteModifier(sourceFile, overrideModifier); } function isClassElementLikeHasJSDoc(node) { switch (node.kind) { - case 171 /* Constructor */: - case 167 /* PropertyDeclaration */: - case 169 /* MethodDeclaration */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: return true; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return ts.isParameterPropertyDeclaration(node, node.parent); default: return false; @@ -153461,7 +154069,7 @@ var ts; }); function doChange(changes, sourceFile, node, preferences) { var quotePreference = ts.getQuotePreference(sourceFile, preferences); - var argumentsExpression = ts.factory.createStringLiteral(node.name.text, quotePreference === 0 /* Single */); + var argumentsExpression = ts.factory.createStringLiteral(node.name.text, quotePreference === 0 /* QuotePreference.Single */); changes.replaceNode(sourceFile, node, ts.isPropertyAccessChain(node) ? ts.factory.createElementAccessChain(node.expression, node.questionDotToken, argumentsExpression) : ts.factory.createElementAccessExpression(node.expression, argumentsExpression)); @@ -153501,7 +154109,7 @@ var ts; if (!ts.isFunctionDeclaration(fn) && !ts.isFunctionExpression(fn)) return undefined; if (!ts.isSourceFile(ts.getThisContainer(fn, /*includeArrowFunctions*/ false))) { // 'this' is defined outside, convert to arrow function - var fnKeyword = ts.Debug.checkDefined(ts.findChildOfKind(fn, 98 /* FunctionKeyword */, sourceFile)); + var fnKeyword = ts.Debug.checkDefined(ts.findChildOfKind(fn, 98 /* SyntaxKind.FunctionKeyword */, sourceFile)); var name = fn.name; var body = ts.Debug.checkDefined(fn.body); // Should be defined because the function contained a 'this' expression if (ts.isFunctionExpression(fn)) { @@ -153520,7 +154128,7 @@ var ts; else { // `function f() {}` => `const f = () => {}` // `name` should be defined because we only do this in inner contexts, and name is only undefined for `export default function() {}`. - changes.replaceNode(sourceFile, fnKeyword, ts.factory.createToken(85 /* ConstKeyword */)); + changes.replaceNode(sourceFile, fnKeyword, ts.factory.createToken(85 /* SyntaxKind.ConstKeyword */)); changes.insertText(sourceFile, name.end, " = "); changes.insertText(sourceFile, body.pos, " =>"); return [ts.Diagnostics.Convert_function_declaration_0_to_arrow_function, name.text]; @@ -153551,7 +154159,7 @@ var ts; }); function getNamedTupleMember(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - return ts.findAncestor(token, function (t) { return t.kind === 197 /* NamedTupleMember */; }); + return ts.findAncestor(token, function (t) { return t.kind === 197 /* SyntaxKind.NamedTupleMember */; }); } function doChange(changes, sourceFile, namedTupleMember) { if (!namedTupleMember) { @@ -153560,16 +154168,16 @@ var ts; var unwrappedType = namedTupleMember.type; var sawOptional = false; var sawRest = false; - while (unwrappedType.kind === 185 /* OptionalType */ || unwrappedType.kind === 186 /* RestType */ || unwrappedType.kind === 191 /* ParenthesizedType */) { - if (unwrappedType.kind === 185 /* OptionalType */) { + while (unwrappedType.kind === 185 /* SyntaxKind.OptionalType */ || unwrappedType.kind === 186 /* SyntaxKind.RestType */ || unwrappedType.kind === 191 /* SyntaxKind.ParenthesizedType */) { + if (unwrappedType.kind === 185 /* SyntaxKind.OptionalType */) { sawOptional = true; } - else if (unwrappedType.kind === 186 /* RestType */) { + else if (unwrappedType.kind === 186 /* SyntaxKind.RestType */) { sawRest = true; } unwrappedType = unwrappedType.type; } - var updated = ts.factory.updateNamedTupleMember(namedTupleMember, namedTupleMember.dotDotDotToken || (sawRest ? ts.factory.createToken(25 /* DotDotDotToken */) : undefined), namedTupleMember.name, namedTupleMember.questionToken || (sawOptional ? ts.factory.createToken(57 /* QuestionToken */) : undefined), unwrappedType); + var updated = ts.factory.updateNamedTupleMember(namedTupleMember, namedTupleMember.dotDotDotToken || (sawRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined), namedTupleMember.name, namedTupleMember.questionToken || (sawOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined), unwrappedType); if (updated === namedTupleMember) { return; } @@ -153635,18 +154243,18 @@ var ts; if (ts.isPropertyAccessExpression(parent) && parent.name === node) { ts.Debug.assert(ts.isMemberName(node), "Expected an identifier for spelling (property access)"); var containingType = checker.getTypeAtLocation(parent.expression); - if (parent.flags & 32 /* OptionalChain */) { + if (parent.flags & 32 /* NodeFlags.OptionalChain */) { containingType = checker.getNonNullableType(containingType); } suggestedSymbol = checker.getSuggestedSymbolForNonexistentProperty(node, containingType); } - else if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 101 /* InKeyword */ && parent.left === node && ts.isPrivateIdentifier(node)) { + else if (ts.isBinaryExpression(parent) && parent.operatorToken.kind === 101 /* SyntaxKind.InKeyword */ && parent.left === node && ts.isPrivateIdentifier(node)) { var receiverType = checker.getTypeAtLocation(parent.right); suggestedSymbol = checker.getSuggestedSymbolForNonexistentProperty(node, receiverType); } else if (ts.isQualifiedName(parent) && parent.right === node) { var symbol = checker.getSymbolAtLocation(parent.left); - if (symbol && symbol.flags & 1536 /* Module */) { + if (symbol && symbol.flags & 1536 /* SymbolFlags.Module */) { suggestedSymbol = checker.getSuggestedSymbolForNonexistentModule(parent.right, symbol); } } @@ -153664,7 +154272,7 @@ var ts; var props = checker.getContextualTypeForArgumentAtIndex(tag, 0); suggestedSymbol = checker.getSuggestedSymbolForNonexistentJSXAttribute(node, props); } - else if (ts.hasSyntacticModifier(parent, 16384 /* Override */) && ts.isClassElement(parent) && parent.name === node) { + else if (ts.hasSyntacticModifier(parent, 16384 /* ModifierFlags.Override */) && ts.isClassElement(parent) && parent.name === node) { var baseDeclaration = ts.findAncestor(node, ts.isClassLike); var baseTypeNode = baseDeclaration ? ts.getEffectiveBaseTypeNode(baseDeclaration) : undefined; var baseType = baseTypeNode ? checker.getTypeAtLocation(baseTypeNode) : undefined; @@ -153697,14 +154305,14 @@ var ts; } function convertSemanticMeaningToSymbolFlags(meaning) { var flags = 0; - if (meaning & 4 /* Namespace */) { - flags |= 1920 /* Namespace */; + if (meaning & 4 /* SemanticMeaning.Namespace */) { + flags |= 1920 /* SymbolFlags.Namespace */; } - if (meaning & 2 /* Type */) { - flags |= 788968 /* Type */; + if (meaning & 2 /* SemanticMeaning.Type */) { + flags |= 788968 /* SymbolFlags.Type */; } - if (meaning & 1 /* Value */) { - flags |= 111551 /* Value */; + if (meaning & 1 /* SemanticMeaning.Value */) { + flags |= 111551 /* SymbolFlags.Value */; } return flags; } @@ -153776,7 +154384,7 @@ var ts; }); }, }); function createObjectTypeFromLabeledExpression(checker, label, expression) { - var member = checker.createSymbol(4 /* Property */, label.escapedText); + var member = checker.createSymbol(4 /* SymbolFlags.Property */, label.escapedText); member.type = checker.getTypeAtLocation(expression); var members = ts.createSymbolTable([member]); return checker.createAnonymousType(/*symbol*/ undefined, members, [], [], []); @@ -153835,7 +154443,7 @@ var ts; if (isFunctionType) { var sig = checker.getSignatureFromDeclaration(declaration); if (sig) { - if (ts.hasSyntacticModifier(declaration, 256 /* Async */)) { + if (ts.hasSyntacticModifier(declaration, 256 /* ModifierFlags.Async */)) { exprType = checker.createPromiseType(exprType); } var newSig = checker.createSignature(declaration, sig.typeParameters, sig.thisParameter, sig.parameters, exprType, @@ -153879,19 +154487,19 @@ var ts; } function getVariableLikeInitializer(declaration) { switch (declaration.kind) { - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: - case 203 /* BindingElement */: - case 167 /* PropertyDeclaration */: - case 296 /* PropertyAssignment */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: + case 203 /* SyntaxKind.BindingElement */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 296 /* SyntaxKind.PropertyAssignment */: return declaration.initializer; - case 285 /* JsxAttribute */: + case 285 /* SyntaxKind.JsxAttribute */: return declaration.initializer && (ts.isJsxExpression(declaration.initializer) ? declaration.initializer.expression : undefined); - case 297 /* ShorthandPropertyAssignment */: - case 166 /* PropertySignature */: - case 299 /* EnumMember */: - case 347 /* JSDocPropertyTag */: - case 340 /* JSDocParameterTag */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 166 /* SyntaxKind.PropertySignature */: + case 299 /* SyntaxKind.EnumMember */: + case 347 /* SyntaxKind.JSDocPropertyTag */: + case 340 /* SyntaxKind.JSDocParameterTag */: return undefined; } } @@ -153953,19 +154561,19 @@ var ts; if (!info) { return undefined; } - if (info.kind === 3 /* ObjectLiteral */) { + if (info.kind === 3 /* InfoKind.ObjectLiteral */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addObjectLiteralProperties(t, context, info); }); return [codefix.createCodeFixAction(fixMissingProperties, changes, ts.Diagnostics.Add_missing_properties, fixMissingProperties, ts.Diagnostics.Add_all_missing_properties)]; } - if (info.kind === 4 /* JsxAttributes */) { + if (info.kind === 4 /* InfoKind.JsxAttributes */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addJsxAttributes(t, context, info); }); return [codefix.createCodeFixAction(fixMissingAttributes, changes, ts.Diagnostics.Add_missing_attributes, fixMissingAttributes, ts.Diagnostics.Add_all_missing_attributes)]; } - if (info.kind === 2 /* Function */) { + if (info.kind === 2 /* InfoKind.Function */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addFunctionDeclaration(t, context, info); }); return [codefix.createCodeFixAction(fixMissingFunctionDeclaration, changes, [ts.Diagnostics.Add_missing_function_declaration_0, info.token.text], fixMissingFunctionDeclaration, ts.Diagnostics.Add_all_missing_function_declarations)]; } - if (info.kind === 1 /* Enum */) { + if (info.kind === 1 /* InfoKind.Enum */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addEnumMemberDeclaration(t, context.program.getTypeChecker(), info); }); return [codefix.createCodeFixAction(fixMissingMember, changes, [ts.Diagnostics.Add_missing_enum_member_0, info.token.text], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; } @@ -153983,20 +154591,20 @@ var ts; if (!info || !ts.addToSeen(seen, ts.getNodeId(info.parentDeclaration) + "#" + info.token.text)) { return; } - if (fixId === fixMissingFunctionDeclaration && info.kind === 2 /* Function */) { + if (fixId === fixMissingFunctionDeclaration && info.kind === 2 /* InfoKind.Function */) { addFunctionDeclaration(changes, context, info); } - else if (fixId === fixMissingProperties && info.kind === 3 /* ObjectLiteral */) { + else if (fixId === fixMissingProperties && info.kind === 3 /* InfoKind.ObjectLiteral */) { addObjectLiteralProperties(changes, context, info); } - else if (fixId === fixMissingAttributes && info.kind === 4 /* JsxAttributes */) { + else if (fixId === fixMissingAttributes && info.kind === 4 /* InfoKind.JsxAttributes */) { addJsxAttributes(changes, context, info); } else { - if (info.kind === 1 /* Enum */) { + if (info.kind === 1 /* InfoKind.Enum */) { addEnumMemberDeclaration(changes, checker, info); } - if (info.kind === 0 /* TypeLikeDeclaration */) { + if (info.kind === 0 /* InfoKind.TypeLikeDeclaration */) { var parentDeclaration = info.parentDeclaration, token_1 = info.token; var infos = ts.getOrUpdate(typeDeclToMembers, parentDeclaration, function () { return []; }); if (!infos.some(function (i) { return i.token.text === token_1.text; })) { @@ -154020,15 +154628,15 @@ var ts; var parentDeclaration = info.parentDeclaration, declSourceFile = info.declSourceFile, modifierFlags = info.modifierFlags, token = info.token, call = info.call, isJSFile = info.isJSFile; // Always prefer to add a method declaration if possible. if (call && !ts.isPrivateIdentifier(token)) { - addMethodDeclaration(context, changes, call, token, modifierFlags & 32 /* Static */, parentDeclaration, declSourceFile); + addMethodDeclaration(context, changes, call, token, modifierFlags & 32 /* ModifierFlags.Static */, parentDeclaration, declSourceFile); } else { if (isJSFile && !ts.isInterfaceDeclaration(parentDeclaration) && !ts.isTypeLiteralNode(parentDeclaration)) { - addMissingMemberInJs(changes, declSourceFile, parentDeclaration, token, !!(modifierFlags & 32 /* Static */)); + addMissingMemberInJs(changes, declSourceFile, parentDeclaration, token, !!(modifierFlags & 32 /* ModifierFlags.Static */)); } else { var typeNode = getTypeNode(checker, parentDeclaration, token); - addPropertyDeclaration(changes, declSourceFile, parentDeclaration, token.text, typeNode, modifierFlags & 32 /* Static */); + addPropertyDeclaration(changes, declSourceFile, parentDeclaration, token.text, typeNode, modifierFlags & 32 /* ModifierFlags.Static */); } } }; @@ -154055,12 +154663,12 @@ var ts; var token = ts.getTokenAtPosition(sourceFile, tokenPos); var parent = token.parent; if (errorCode === ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code) { - if (!(token.kind === 18 /* OpenBraceToken */ && ts.isObjectLiteralExpression(parent) && ts.isCallExpression(parent.parent))) + if (!(token.kind === 18 /* SyntaxKind.OpenBraceToken */ && ts.isObjectLiteralExpression(parent) && ts.isCallExpression(parent.parent))) return undefined; var argIndex = ts.findIndex(parent.parent.arguments, function (arg) { return arg === parent; }); if (argIndex < 0) return undefined; - var signature = ts.singleOrUndefined(checker.getSignaturesOfType(checker.getTypeAtLocation(parent.parent.expression), 0 /* Call */)); + var signature = ts.singleOrUndefined(checker.getSignaturesOfType(checker.getTypeAtLocation(parent.parent.expression), 0 /* SignatureKind.Call */)); if (!(signature && signature.declaration && signature.parameters[argIndex])) return undefined; var param = signature.parameters[argIndex].valueDeclaration; @@ -154069,7 +154677,7 @@ var ts; var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent), checker.getParameterType(signature, argIndex), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); if (!ts.length(properties)) return undefined; - return { kind: 3 /* ObjectLiteral */, token: param.name, properties: properties, parentDeclaration: parent }; + return { kind: 3 /* InfoKind.ObjectLiteral */, token: param.name, properties: properties, parentDeclaration: parent }; } if (!ts.isMemberName(token)) return undefined; @@ -154077,17 +154685,17 @@ var ts; var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent.initializer), checker.getTypeAtLocation(token), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); if (!ts.length(properties)) return undefined; - return { kind: 3 /* ObjectLiteral */, token: token, properties: properties, parentDeclaration: parent.initializer }; + return { kind: 3 /* InfoKind.ObjectLiteral */, token: token, properties: properties, parentDeclaration: parent.initializer }; } if (ts.isIdentifier(token) && ts.isJsxOpeningLikeElement(token.parent)) { var target = ts.getEmitScriptTarget(program.getCompilerOptions()); var attributes = getUnmatchedAttributes(checker, target, token.parent); if (!ts.length(attributes)) return undefined; - return { kind: 4 /* JsxAttributes */, token: token, attributes: attributes, parentDeclaration: token.parent }; + return { kind: 4 /* InfoKind.JsxAttributes */, token: token, attributes: attributes, parentDeclaration: token.parent }; } if (ts.isIdentifier(token) && ts.isCallExpression(parent)) { - return { kind: 2 /* Function */, token: token, call: parent, sourceFile: sourceFile, modifierFlags: 0 /* None */, parentDeclaration: sourceFile }; + return { kind: 2 /* InfoKind.Function */, token: token, call: parent, sourceFile: sourceFile, modifierFlags: 0 /* ModifierFlags.None */, parentDeclaration: sourceFile }; } if (!ts.isPropertyAccessExpression(parent)) return undefined; @@ -154099,13 +154707,13 @@ var ts; var moduleDeclaration = ts.find(symbol.declarations, ts.isModuleDeclaration); var moduleDeclarationSourceFile = moduleDeclaration === null || moduleDeclaration === void 0 ? void 0 : moduleDeclaration.getSourceFile(); if (moduleDeclaration && moduleDeclarationSourceFile && !isSourceFileFromLibrary(program, moduleDeclarationSourceFile)) { - return { kind: 2 /* Function */, token: token, call: parent.parent, sourceFile: sourceFile, modifierFlags: 1 /* Export */, parentDeclaration: moduleDeclaration }; + return { kind: 2 /* InfoKind.Function */, token: token, call: parent.parent, sourceFile: sourceFile, modifierFlags: 1 /* ModifierFlags.Export */, parentDeclaration: moduleDeclaration }; } var moduleSourceFile = ts.find(symbol.declarations, ts.isSourceFile); if (sourceFile.commonJsModuleIndicator) return undefined; if (moduleSourceFile && !isSourceFileFromLibrary(program, moduleSourceFile)) { - return { kind: 2 /* Function */, token: token, call: parent.parent, sourceFile: moduleSourceFile, modifierFlags: 1 /* Export */, parentDeclaration: moduleSourceFile }; + return { kind: 2 /* InfoKind.Function */, token: token, call: parent.parent, sourceFile: moduleSourceFile, modifierFlags: 1 /* ModifierFlags.Export */, parentDeclaration: moduleSourceFile }; } } var classDeclaration = ts.find(symbol.declarations, ts.isClassLike); @@ -154119,15 +154727,15 @@ var ts; if (makeStatic && (ts.isPrivateIdentifier(token) || ts.isInterfaceDeclaration(declaration))) return undefined; var declSourceFile = declaration.getSourceFile(); - var modifierFlags = ts.isTypeLiteralNode(declaration) ? 0 /* None */ : - (makeStatic ? 32 /* Static */ : 0 /* None */) | (ts.startsWithUnderscore(token.text) ? 8 /* Private */ : 0 /* None */); + var modifierFlags = ts.isTypeLiteralNode(declaration) ? 0 /* ModifierFlags.None */ : + (makeStatic ? 32 /* ModifierFlags.Static */ : 0 /* ModifierFlags.None */) | (ts.startsWithUnderscore(token.text) ? 8 /* ModifierFlags.Private */ : 0 /* ModifierFlags.None */); var isJSFile = ts.isSourceFileJS(declSourceFile); var call = ts.tryCast(parent.parent, ts.isCallExpression); - return { kind: 0 /* TypeLikeDeclaration */, token: token, call: call, modifierFlags: modifierFlags, parentDeclaration: declaration, declSourceFile: declSourceFile, isJSFile: isJSFile }; + return { kind: 0 /* InfoKind.TypeLikeDeclaration */, token: token, call: call, modifierFlags: modifierFlags, parentDeclaration: declaration, declSourceFile: declSourceFile, isJSFile: isJSFile }; } var enumDeclaration = ts.find(symbol.declarations, ts.isEnumDeclaration); if (enumDeclaration && !ts.isPrivateIdentifier(token) && !isSourceFileFromLibrary(program, enumDeclaration.getSourceFile())) { - return { kind: 1 /* Enum */, token: token, parentDeclaration: enumDeclaration }; + return { kind: 1 /* InfoKind.Enum */, token: token, parentDeclaration: enumDeclaration }; } return undefined; } @@ -154143,18 +154751,18 @@ var ts; if (ts.isInterfaceDeclaration(parentDeclaration) || ts.isTypeLiteralNode(parentDeclaration)) { return undefined; } - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addMissingMemberInJs(t, declSourceFile, parentDeclaration, token, !!(modifierFlags & 32 /* Static */)); }); + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addMissingMemberInJs(t, declSourceFile, parentDeclaration, token, !!(modifierFlags & 32 /* ModifierFlags.Static */)); }); if (changes.length === 0) { return undefined; } - var diagnostic = modifierFlags & 32 /* Static */ ? ts.Diagnostics.Initialize_static_property_0 : + var diagnostic = modifierFlags & 32 /* ModifierFlags.Static */ ? ts.Diagnostics.Initialize_static_property_0 : ts.isPrivateIdentifier(token) ? ts.Diagnostics.Declare_a_private_field_named_0 : ts.Diagnostics.Initialize_property_0_in_the_constructor; return codefix.createCodeFixAction(fixMissingMember, changes, [diagnostic, token.text], fixMissingMember, ts.Diagnostics.Add_all_missing_members); } function addMissingMemberInJs(changeTracker, sourceFile, classDeclaration, token, makeStatic) { var tokenName = token.text; if (makeStatic) { - if (classDeclaration.kind === 226 /* ClassExpression */) { + if (classDeclaration.kind === 226 /* SyntaxKind.ClassExpression */) { return; } var className = classDeclaration.name.getText(); @@ -154191,32 +154799,32 @@ var ts; function createActionsForAddMissingMemberInTypeScriptFile(context, _a) { var parentDeclaration = _a.parentDeclaration, declSourceFile = _a.declSourceFile, modifierFlags = _a.modifierFlags, token = _a.token; var memberName = token.text; - var isStatic = modifierFlags & 32 /* Static */; + var isStatic = modifierFlags & 32 /* ModifierFlags.Static */; var typeNode = getTypeNode(context.program.getTypeChecker(), parentDeclaration, token); var addPropertyDeclarationChanges = function (modifierFlags) { return ts.textChanges.ChangeTracker.with(context, function (t) { return addPropertyDeclaration(t, declSourceFile, parentDeclaration, memberName, typeNode, modifierFlags); }); }; - var actions = [codefix.createCodeFixAction(fixMissingMember, addPropertyDeclarationChanges(modifierFlags & 32 /* Static */), [isStatic ? ts.Diagnostics.Declare_static_property_0 : ts.Diagnostics.Declare_property_0, memberName], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; + var actions = [codefix.createCodeFixAction(fixMissingMember, addPropertyDeclarationChanges(modifierFlags & 32 /* ModifierFlags.Static */), [isStatic ? ts.Diagnostics.Declare_static_property_0 : ts.Diagnostics.Declare_property_0, memberName], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; if (isStatic || ts.isPrivateIdentifier(token)) { return actions; } - if (modifierFlags & 8 /* Private */) { - actions.unshift(codefix.createCodeFixActionWithoutFixAll(fixMissingMember, addPropertyDeclarationChanges(8 /* Private */), [ts.Diagnostics.Declare_private_property_0, memberName])); + if (modifierFlags & 8 /* ModifierFlags.Private */) { + actions.unshift(codefix.createCodeFixActionWithoutFixAll(fixMissingMember, addPropertyDeclarationChanges(8 /* ModifierFlags.Private */), [ts.Diagnostics.Declare_private_property_0, memberName])); } actions.push(createAddIndexSignatureAction(context, declSourceFile, parentDeclaration, token.text, typeNode)); return actions; } function getTypeNode(checker, node, token) { var typeNode; - if (token.parent.parent.kind === 221 /* BinaryExpression */) { + if (token.parent.parent.kind === 221 /* SyntaxKind.BinaryExpression */) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); - typeNode = checker.typeToTypeNode(widenedType, node, 1 /* NoTruncation */); + typeNode = checker.typeToTypeNode(widenedType, node, 1 /* NodeBuilderFlags.NoTruncation */); } else { var contextualType = checker.getContextualType(token.parent); - typeNode = contextualType ? checker.typeToTypeNode(contextualType, /*enclosingDeclaration*/ undefined, 1 /* NoTruncation */) : undefined; + typeNode = contextualType ? checker.typeToTypeNode(contextualType, /*enclosingDeclaration*/ undefined, 1 /* NodeBuilderFlags.NoTruncation */) : undefined; } - return typeNode || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */); + return typeNode || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); } function addPropertyDeclaration(changeTracker, sourceFile, node, tokenName, typeNode, modifierFlags) { var modifiers = modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; @@ -154244,7 +154852,7 @@ var ts; } function createAddIndexSignatureAction(context, sourceFile, node, tokenName, typeNode) { // Index signatures cannot have the static modifier. - var stringTypeNode = ts.factory.createKeywordTypeNode(150 /* StringKeyword */); + var stringTypeNode = ts.factory.createKeywordTypeNode(150 /* SyntaxKind.StringKeyword */); var indexingParameter = ts.factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, @@ -154269,15 +154877,15 @@ var ts; } var methodName = token.text; var addMethodDeclarationChanges = function (modifierFlags) { return ts.textChanges.ChangeTracker.with(context, function (t) { return addMethodDeclaration(context, t, call, token, modifierFlags, parentDeclaration, declSourceFile); }); }; - var actions = [codefix.createCodeFixAction(fixMissingMember, addMethodDeclarationChanges(modifierFlags & 32 /* Static */), [modifierFlags & 32 /* Static */ ? ts.Diagnostics.Declare_static_method_0 : ts.Diagnostics.Declare_method_0, methodName], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; - if (modifierFlags & 8 /* Private */) { - actions.unshift(codefix.createCodeFixActionWithoutFixAll(fixMissingMember, addMethodDeclarationChanges(8 /* Private */), [ts.Diagnostics.Declare_private_method_0, methodName])); + var actions = [codefix.createCodeFixAction(fixMissingMember, addMethodDeclarationChanges(modifierFlags & 32 /* ModifierFlags.Static */), [modifierFlags & 32 /* ModifierFlags.Static */ ? ts.Diagnostics.Declare_static_method_0 : ts.Diagnostics.Declare_method_0, methodName], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; + if (modifierFlags & 8 /* ModifierFlags.Private */) { + actions.unshift(codefix.createCodeFixActionWithoutFixAll(fixMissingMember, addMethodDeclarationChanges(8 /* ModifierFlags.Private */), [ts.Diagnostics.Declare_private_method_0, methodName])); } return actions; } function addMethodDeclaration(context, changes, callExpression, name, modifierFlags, parentDeclaration, sourceFile) { var importAdder = codefix.createImportAdder(sourceFile, context.program, context.preferences, context.host); - var kind = ts.isClassLike(parentDeclaration) ? 169 /* MethodDeclaration */ : 168 /* MethodSignature */; + var kind = ts.isClassLike(parentDeclaration) ? 169 /* SyntaxKind.MethodDeclaration */ : 168 /* SyntaxKind.MethodSignature */; var signatureDeclaration = codefix.createSignatureDeclarationFromCallExpression(kind, context, importAdder, callExpression, name, modifierFlags, parentDeclaration); var containingMethodDeclaration = tryGetContainingMethodDeclaration(parentDeclaration, callExpression); if (containingMethodDeclaration) { @@ -154297,7 +154905,7 @@ var ts; */ var hasStringInitializer = ts.some(parentDeclaration.members, function (member) { var type = checker.getTypeAtLocation(member); - return !!(type && type.flags & 402653316 /* StringLike */); + return !!(type && type.flags & 402653316 /* TypeFlags.StringLike */); }); var enumMember = ts.factory.createEnumMember(token, hasStringInitializer ? ts.factory.createStringLiteral(token.text) : undefined); changes.replaceNode(parentDeclaration.getSourceFile(), parentDeclaration, ts.factory.updateEnumDeclaration(parentDeclaration, parentDeclaration.decorators, parentDeclaration.modifiers, parentDeclaration.name, ts.concatenate(parentDeclaration.members, ts.singleElementArray(enumMember))), { @@ -154307,7 +154915,7 @@ var ts; } function addFunctionDeclaration(changes, context, info) { var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); - var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(256 /* FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration); + var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(256 /* SyntaxKind.FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration); changes.insertNodeAtEndOfScope(info.sourceFile, info.parentDeclaration, functionDeclaration); } function addJsxAttributes(changes, context, info) { @@ -154335,7 +154943,7 @@ var ts; var checker = context.program.getTypeChecker(); var props = ts.map(info.properties, function (prop) { var initializer = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(prop)); - return ts.factory.createPropertyAssignment(ts.createPropertyNameNodeForIdentifierOrLiteral(prop.name, target, quotePreference === 0 /* Single */), initializer); + return ts.factory.createPropertyAssignment(ts.createPropertyNameNodeForIdentifierOrLiteral(prop.name, target, quotePreference === 0 /* QuotePreference.Single */), initializer); }); var options = { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude, @@ -154345,42 +154953,42 @@ var ts; changes.replaceNode(context.sourceFile, info.parentDeclaration, ts.factory.createObjectLiteralExpression(__spreadArray(__spreadArray([], info.parentDeclaration.properties, true), props, true), /*multiLine*/ true), options); } function tryGetValueFromType(context, checker, importAdder, quotePreference, type) { - if (type.flags & 3 /* AnyOrUnknown */) { + if (type.flags & 3 /* TypeFlags.AnyOrUnknown */) { return createUndefined(); } - if (type.flags & (4 /* String */ | 134217728 /* TemplateLiteral */)) { - return ts.factory.createStringLiteral("", /* isSingleQuote */ quotePreference === 0 /* Single */); + if (type.flags & (4 /* TypeFlags.String */ | 134217728 /* TypeFlags.TemplateLiteral */)) { + return ts.factory.createStringLiteral("", /* isSingleQuote */ quotePreference === 0 /* QuotePreference.Single */); } - if (type.flags & 8 /* Number */) { + if (type.flags & 8 /* TypeFlags.Number */) { return ts.factory.createNumericLiteral(0); } - if (type.flags & 64 /* BigInt */) { + if (type.flags & 64 /* TypeFlags.BigInt */) { return ts.factory.createBigIntLiteral("0n"); } - if (type.flags & 16 /* Boolean */) { + if (type.flags & 16 /* TypeFlags.Boolean */) { return ts.factory.createFalse(); } - if (type.flags & 1056 /* EnumLike */) { + if (type.flags & 1056 /* TypeFlags.EnumLike */) { var enumMember = type.symbol.exports ? ts.firstOrUndefined(ts.arrayFrom(type.symbol.exports.values())) : type.symbol; - var name = checker.symbolToExpression(type.symbol.parent ? type.symbol.parent : type.symbol, 111551 /* Value */, /*enclosingDeclaration*/ undefined, /*flags*/ undefined); + var name = checker.symbolToExpression(type.symbol.parent ? type.symbol.parent : type.symbol, 111551 /* SymbolFlags.Value */, /*enclosingDeclaration*/ undefined, /*flags*/ undefined); return enumMember === undefined || name === undefined ? ts.factory.createNumericLiteral(0) : ts.factory.createPropertyAccessExpression(name, checker.symbolToString(enumMember)); } - if (type.flags & 256 /* NumberLiteral */) { + if (type.flags & 256 /* TypeFlags.NumberLiteral */) { return ts.factory.createNumericLiteral(type.value); } - if (type.flags & 2048 /* BigIntLiteral */) { + if (type.flags & 2048 /* TypeFlags.BigIntLiteral */) { return ts.factory.createBigIntLiteral(type.value); } - if (type.flags & 128 /* StringLiteral */) { - return ts.factory.createStringLiteral(type.value, /* isSingleQuote */ quotePreference === 0 /* Single */); + if (type.flags & 128 /* TypeFlags.StringLiteral */) { + return ts.factory.createStringLiteral(type.value, /* isSingleQuote */ quotePreference === 0 /* QuotePreference.Single */); } - if (type.flags & 512 /* BooleanLiteral */) { + if (type.flags & 512 /* TypeFlags.BooleanLiteral */) { return (type === checker.getFalseType() || type === checker.getFalseType(/*fresh*/ true)) ? ts.factory.createFalse() : ts.factory.createTrue(); } - if (type.flags & 65536 /* Null */) { + if (type.flags & 65536 /* TypeFlags.Null */) { return ts.factory.createNull(); } - if (type.flags & 1048576 /* Union */) { + if (type.flags & 1048576 /* TypeFlags.Union */) { var expression = ts.firstDefined(type.types, function (t) { return tryGetValueFromType(context, checker, importAdder, quotePreference, t); }); return expression !== null && expression !== void 0 ? expression : createUndefined(); } @@ -154394,17 +155002,17 @@ var ts; }); return ts.factory.createObjectLiteralExpression(props, /*multiLine*/ true); } - if (ts.getObjectFlags(type) & 16 /* Anonymous */) { + if (ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */) { var decl = ts.find(type.symbol.declarations || ts.emptyArray, ts.or(ts.isFunctionTypeNode, ts.isMethodSignature, ts.isMethodDeclaration)); if (decl === undefined) return createUndefined(); - var signature = checker.getSignaturesOfType(type, 0 /* Call */); + var signature = checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (signature === undefined) return createUndefined(); - var func = codefix.createSignatureDeclarationFromSignature(213 /* FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ undefined, importAdder); + var func = codefix.createSignatureDeclarationFromSignature(213 /* SyntaxKind.FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ undefined, importAdder); return func !== null && func !== void 0 ? func : createUndefined(); } - if (ts.getObjectFlags(type) & 1 /* Class */) { + if (ts.getObjectFlags(type) & 1 /* ObjectFlags.Class */) { var classDeclaration = ts.getClassLikeDeclarationOfSymbol(type.symbol); if (classDeclaration === undefined || ts.hasAbstractModifier(classDeclaration)) return createUndefined(); @@ -154419,8 +155027,8 @@ var ts; return ts.factory.createIdentifier("undefined"); } function isObjectLiteralType(type) { - return (type.flags & 524288 /* Object */) && - ((ts.getObjectFlags(type) & 128 /* ObjectLiteral */) || (type.symbol && ts.tryCast(ts.singleOrUndefined(type.symbol.declarations), ts.isTypeLiteralNode))); + return (type.flags & 524288 /* TypeFlags.Object */) && + ((ts.getObjectFlags(type) & 128 /* ObjectFlags.ObjectLiteral */) || (type.symbol && ts.tryCast(ts.singleOrUndefined(type.symbol.declarations), ts.isTypeLiteralNode))); } function getUnmatchedAttributes(checker, target, source) { var attrsType = checker.getContextualType(source.attributes); @@ -154444,7 +155052,7 @@ var ts; } } return ts.filter(targetProps, function (targetProp) { - return ts.isIdentifierText(targetProp.name, target, 1 /* JSX */) && !((targetProp.flags & 16777216 /* Optional */ || ts.getCheckFlags(targetProp) & 48 /* Partial */) || seenNames.has(targetProp.escapedName)); + return ts.isIdentifierText(targetProp.name, target, 1 /* LanguageVariant.JSX */) && !((targetProp.flags & 16777216 /* SymbolFlags.Optional */ || ts.getCheckFlags(targetProp) & 48 /* CheckFlags.Partial */) || seenNames.has(targetProp.escapedName)); }); } function tryGetContainingMethodDeclaration(node, callExpression) { @@ -154529,7 +155137,7 @@ var ts; break; } default: - ts.Debug.fail("Bad fixId: " + context.fixId); + ts.Debug.fail("Bad fixId: ".concat(context.fixId)); } }); }, @@ -154604,7 +155212,7 @@ var ts; // See `codeFixClassExtendAbstractProtectedProperty.ts` in https://github.com/Microsoft/TypeScript/pull/11547/files // (now named `codeFixClassExtendAbstractPrivateProperty.ts`) var flags = ts.getSyntacticModifierFlags(ts.first(symbol.getDeclarations())); - return !(flags & 8 /* Private */) && !!(flags & 128 /* Abstract */); + return !(flags & 8 /* ModifierFlags.Private */) && !!(flags & 128 /* ModifierFlags.Abstract */); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -154647,7 +155255,7 @@ var ts; } function getNodes(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - if (token.kind !== 108 /* ThisKeyword */) + if (token.kind !== 108 /* SyntaxKind.ThisKeyword */) return undefined; var constructor = ts.getContainingFunction(token); var superCall = findSuperCall(constructor.body); @@ -154772,8 +155380,8 @@ var ts; (function (codefix) { codefix.registerCodeFix({ errorCodes: [ - ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, - ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, + ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, + ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher.code, ], getCodeActions: function getCodeActionsToFixModuleAndTarget(context) { var compilerOptions = context.program.getCompilerOptions(); @@ -154791,7 +155399,7 @@ var ts; codeFixes.push(codefix.createCodeFixActionWithoutFixAll("fixModuleOption", changes, [ts.Diagnostics.Set_the_module_option_in_your_configuration_file_to_0, "esnext"])); } var target = ts.getEmitScriptTarget(compilerOptions); - var targetOutOfRange = target < 4 /* ES2017 */ || target > 99 /* ESNext */; + var targetOutOfRange = target < 4 /* ScriptTarget.ES2017 */ || target > 99 /* ScriptTarget.ESNext */; if (targetOutOfRange) { var changes = ts.textChanges.ChangeTracker.with(context, function (tracker) { var configObject = ts.getTsConfigObjectLiteralExpression(configFile); @@ -154870,17 +155478,17 @@ var ts; var token = ts.getTokenAtPosition(sourceFile, pos); var heritageClauses = ts.getContainingClass(token).heritageClauses; var extendsToken = heritageClauses[0].getFirstToken(); - return extendsToken.kind === 94 /* ExtendsKeyword */ ? { extendsToken: extendsToken, heritageClauses: heritageClauses } : undefined; + return extendsToken.kind === 94 /* SyntaxKind.ExtendsKeyword */ ? { extendsToken: extendsToken, heritageClauses: heritageClauses } : undefined; } function doChanges(changes, sourceFile, extendsToken, heritageClauses) { - changes.replaceNode(sourceFile, extendsToken, ts.factory.createToken(117 /* ImplementsKeyword */)); + changes.replaceNode(sourceFile, extendsToken, ts.factory.createToken(117 /* SyntaxKind.ImplementsKeyword */)); // If there is already an implements clause, replace the implements keyword with a comma. if (heritageClauses.length === 2 && - heritageClauses[0].token === 94 /* ExtendsKeyword */ && - heritageClauses[1].token === 117 /* ImplementsKeyword */) { + heritageClauses[0].token === 94 /* SyntaxKind.ExtendsKeyword */ && + heritageClauses[1].token === 117 /* SyntaxKind.ImplementsKeyword */) { var implementsToken = heritageClauses[1].getFirstToken(); var implementsFullStart = implementsToken.getFullStart(); - changes.replaceRange(sourceFile, { pos: implementsFullStart, end: implementsFullStart }, ts.factory.createToken(27 /* CommaToken */)); + changes.replaceRange(sourceFile, { pos: implementsFullStart, end: implementsFullStart }, ts.factory.createToken(27 /* SyntaxKind.CommaToken */)); // Rough heuristic: delete trailing whitespace after keyword so that it's not excessive. // (Trailing because leading might be indentation, which is more sensitive.) var text = sourceFile.text; @@ -154977,7 +155585,7 @@ var ts; if (!isValidCharacter(character)) { return; } - var replacement = useHtmlEntity ? htmlEntity[character] : "{" + ts.quote(sourceFile, preferences, character) + "}"; + var replacement = useHtmlEntity ? htmlEntity[character] : "{".concat(ts.quote(sourceFile, preferences, character), "}"); changes.replaceRangeWithText(sourceFile, { pos: start, end: start + 1 }, replacement); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -155084,7 +155692,7 @@ var ts; var importDeclaration = getImportDeclaration(context.sourceFile, context.program, context.span.start); if (!importDeclaration) return; - var namespaceChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return importDeclaration.kind === 270 /* ImportSpecifier */ && doNamespaceImportChange(t, context.sourceFile, importDeclaration, context.program); }); + var namespaceChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return importDeclaration.kind === 270 /* SyntaxKind.ImportSpecifier */ && doNamespaceImportChange(t, context.sourceFile, importDeclaration, context.program); }); var typeOnlyChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return doTypeOnlyImportChange(t, context.sourceFile, importDeclaration, context.program); }); var actions; if (namespaceChanges.length) { @@ -155099,7 +155707,7 @@ var ts; }); function getImportDeclaration(sourceFile, program, start) { var identifier = ts.tryCast(ts.getTokenAtPosition(sourceFile, start), ts.isIdentifier); - if (!identifier || identifier.parent.kind !== 178 /* TypeReference */) + if (!identifier || identifier.parent.kind !== 178 /* SyntaxKind.TypeReference */) return; var checker = program.getTypeChecker(); var symbol = checker.getSymbolAtLocation(identifier); @@ -155111,11 +155719,11 @@ var ts; // new type-only import declaration, but honestly I doubt anyone will ever use this // codefix at all, so it's probably not worth the lines of code. function doTypeOnlyImportChange(changes, sourceFile, importDeclaration, program) { - if (importDeclaration.kind === 265 /* ImportEqualsDeclaration */) { - changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, importDeclaration.name); + if (importDeclaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, importDeclaration.name); return; } - var importClause = importDeclaration.kind === 267 /* ImportClause */ ? importDeclaration : importDeclaration.parent.parent; + var importClause = importDeclaration.kind === 267 /* SyntaxKind.ImportClause */ ? importDeclaration : importDeclaration.parent.parent; if (importClause.name && importClause.namedBindings) { // Cannot convert an import with a default import and named bindings to type-only // (it's a grammar error). @@ -155123,7 +155731,7 @@ var ts; } var checker = program.getTypeChecker(); var importsValue = !!ts.forEachImportClauseDeclaration(importClause, function (decl) { - if (ts.skipAlias(decl.symbol, checker).flags & 111551 /* Value */) + if (ts.skipAlias(decl.symbol, checker).flags & 111551 /* SymbolFlags.Value */) return true; }); if (importsValue) { @@ -155132,7 +155740,7 @@ var ts; // Don't convert it to type-only. return; } - changes.insertModifierBefore(sourceFile, 152 /* TypeKeyword */, importClause); + changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, importClause); } function doNamespaceImportChange(changes, sourceFile, importDeclaration, program) { ts.refactor.doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, importDeclaration.parent); @@ -155168,7 +155776,7 @@ var ts; if (ts.isJSDocTemplateTag(token)) { return [createDeleteFix(ts.textChanges.ChangeTracker.with(context, function (t) { return t.delete(sourceFile, token); }), ts.Diagnostics.Remove_template_tag)]; } - if (token.kind === 29 /* LessThanToken */) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return deleteTypeParameters(t, sourceFile, token); }); return [createDeleteFix(changes, ts.Diagnostics.Remove_type_parameters)]; } @@ -155210,7 +155818,7 @@ var ts; ]; } var result = []; - if (token.kind === 137 /* InferKeyword */) { + if (token.kind === 137 /* SyntaxKind.InferKeyword */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return changeInferToUnknown(t, sourceFile, token); }); var name = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name.text; result.push(codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Replace_infer_0_with_unknown, name], fixIdInfer, ts.Diagnostics.Replace_all_unused_infer_with_unknown)); @@ -155252,13 +155860,13 @@ var ts; break; } case fixIdDelete: { - if (token.kind === 137 /* InferKeyword */ || isImport(token)) { + if (token.kind === 137 /* SyntaxKind.InferKeyword */ || isImport(token)) { break; // Can't delete } else if (ts.isJSDocTemplateTag(token)) { changes.delete(sourceFile, token); } - else if (token.kind === 29 /* LessThanToken */) { + else if (token.kind === 29 /* SyntaxKind.LessThanToken */) { deleteTypeParameters(changes, sourceFile, token); } else if (ts.isObjectBindingPattern(token.parent)) { @@ -155281,7 +155889,7 @@ var ts; break; } case fixIdInfer: - if (token.kind === 137 /* InferKeyword */) { + if (token.kind === 137 /* SyntaxKind.InferKeyword */) { changeInferToUnknown(changes, sourceFile, token); } break; @@ -155292,7 +155900,7 @@ var ts; }, }); function changeInferToUnknown(changes, sourceFile, token) { - changes.replaceNode(sourceFile, token.parent, ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */)); + changes.replaceNode(sourceFile, token.parent, ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)); } function createDeleteFix(changes, diag) { return codefix.createCodeFixAction(fixName, changes, diag, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations); @@ -155301,18 +155909,18 @@ var ts; changes.delete(sourceFile, ts.Debug.checkDefined(ts.cast(token.parent, ts.isDeclarationWithTypeParameterChildren).typeParameters, "The type parameter to delete should exist")); } function isImport(token) { - return token.kind === 100 /* ImportKeyword */ - || token.kind === 79 /* Identifier */ && (token.parent.kind === 270 /* ImportSpecifier */ || token.parent.kind === 267 /* ImportClause */); + return token.kind === 100 /* SyntaxKind.ImportKeyword */ + || token.kind === 79 /* SyntaxKind.Identifier */ && (token.parent.kind === 270 /* SyntaxKind.ImportSpecifier */ || token.parent.kind === 267 /* SyntaxKind.ImportClause */); } /** Sometimes the diagnostic span is an entire ImportDeclaration, so we should remove the whole thing. */ function tryGetFullImport(token) { - return token.kind === 100 /* ImportKeyword */ ? ts.tryCast(token.parent, ts.isImportDeclaration) : undefined; + return token.kind === 100 /* SyntaxKind.ImportKeyword */ ? ts.tryCast(token.parent, ts.isImportDeclaration) : undefined; } function canDeleteEntireVariableStatement(sourceFile, token) { return ts.isVariableDeclarationList(token.parent) && ts.first(token.parent.getChildren(sourceFile)) === token; } function deleteEntireVariableStatement(changes, sourceFile, node) { - changes.delete(sourceFile, node.parent.kind === 237 /* VariableStatement */ ? node.parent : node); + changes.delete(sourceFile, node.parent.kind === 237 /* SyntaxKind.VariableStatement */ ? node.parent : node); } function deleteDestructuringElements(changes, sourceFile, node) { ts.forEach(node.elements, function (n) { return changes.delete(sourceFile, n); }); @@ -155321,15 +155929,15 @@ var ts; // Don't offer to prefix a property. if (errorCode === ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code) return; - if (token.kind === 137 /* InferKeyword */) { + if (token.kind === 137 /* SyntaxKind.InferKeyword */) { token = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name; } if (ts.isIdentifier(token) && canPrefix(token)) { - changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_" + token.text)); + changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_".concat(token.text))); if (ts.isParameter(token.parent)) { ts.getJSDocParameterTags(token.parent).forEach(function (tag) { if (ts.isIdentifier(tag.name)) { - changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_" + tag.name.text)); + changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_".concat(tag.name.text))); } }); } @@ -155337,14 +155945,14 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 164 /* Parameter */: - case 163 /* TypeParameter */: + case 164 /* SyntaxKind.Parameter */: + case 163 /* SyntaxKind.TypeParameter */: return true; - case 254 /* VariableDeclaration */: { + case 254 /* SyntaxKind.VariableDeclaration */: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { - case 244 /* ForOfStatement */: - case 243 /* ForInStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.ForInStatement */: return true; } } @@ -155394,8 +156002,8 @@ var ts; function mayDeleteParameter(checker, sourceFile, parameter, sourceFiles, program, cancellationToken, isFixAll) { var parent = parameter.parent; switch (parent.kind) { - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: var index = parent.parameters.indexOf(parameter); var referent = ts.isMethodDeclaration(parent) ? parent.name : parent; var entries = ts.FindAllReferences.Core.getReferencedSymbolsForNode(parent.pos, referent, program, sourceFiles, cancellationToken); @@ -155404,7 +156012,7 @@ var ts; var entry = entries_2[_i]; for (var _a = 0, _b = entry.references; _a < _b.length; _a++) { var reference = _b[_a]; - if (reference.kind === 1 /* Node */) { + if (reference.kind === 1 /* FindAllReferences.EntryKind.Node */) { // argument in super(...) var isSuperCall_1 = ts.isSuperKeyword(reference.node) && ts.isCallExpression(reference.node.parent) @@ -155425,20 +156033,20 @@ var ts; } } return true; - case 256 /* FunctionDeclaration */: { + case 256 /* SyntaxKind.FunctionDeclaration */: { if (parent.name && isCallbackLike(checker, sourceFile, parent.name)) { return isLastParameter(parent, parameter, isFixAll); } return true; } - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: // Can't remove a non-last parameter in a callback. Can remove a parameter in code-fix-all if future parameters are also unused. return isLastParameter(parent, parameter, isFixAll); - case 173 /* SetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // Setter must have a parameter return false; - case 172 /* GetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: // Getter cannot have parameters return true; default: @@ -155499,7 +156107,7 @@ var ts; var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; if (!ts.isBlock(statement.parent) || statement === ts.first(statement.parent.statements)) { switch (container.kind) { - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { break; @@ -155510,8 +156118,8 @@ var ts; return; } // falls through - case 241 /* WhileStatement */: - case 242 /* ForStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 242 /* SyntaxKind.ForStatement */: changes.delete(sourceFile, container); return; } @@ -155560,7 +156168,7 @@ var ts; var statementPos = labeledStatement.statement.getStart(sourceFile); // If label is on a separate line, just delete the rest of that line, but not the indentation of the labeled statement. var end = ts.positionsAreOnSameLine(pos, statementPos, sourceFile) ? statementPos - : ts.skipTrivia(sourceFile.text, ts.findChildOfKind(labeledStatement, 58 /* ColonToken */, sourceFile).end, /*stopAfterLineBreak*/ true); + : ts.skipTrivia(sourceFile.text, ts.findChildOfKind(labeledStatement, 58 /* SyntaxKind.ColonToken */, sourceFile).end, /*stopAfterLineBreak*/ true); changes.deleteRange(sourceFile, { pos: pos, end: end }); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -155584,10 +156192,10 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 314 /* JSDocNullableType */) { + if (typeNode.kind === 314 /* SyntaxKind.JSDocNullableType */) { // for nullable types, suggest the flow-compatible `T | null | undefined` // in addition to the jsdoc/closure-compatible `T | null` - actions.push(fix(checker.getNullableType(type, 32768 /* Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); + actions.push(fix(checker.getNullableType(type, 32768 /* TypeFlags.Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); } return actions; function fix(type, fixId, fixAllDescription) { @@ -155604,7 +156212,7 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 314 /* JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 32768 /* Undefined */) : type; + var fixedType = typeNode.kind === 314 /* SyntaxKind.JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 32768 /* TypeFlags.Undefined */) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } @@ -155621,22 +156229,22 @@ var ts; // NOTE: Some locations are not handled yet: // MappedTypeNode.typeParameters and SignatureDeclaration.typeParameters, as well as CallExpression.typeArguments switch (node.kind) { - case 229 /* AsExpression */: - case 174 /* CallSignature */: - case 175 /* ConstructSignature */: - case 256 /* FunctionDeclaration */: - case 172 /* GetAccessor */: - case 176 /* IndexSignature */: - case 195 /* MappedType */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 164 /* Parameter */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: - case 173 /* SetAccessor */: - case 259 /* TypeAliasDeclaration */: - case 211 /* TypeAssertionExpression */: - case 254 /* VariableDeclaration */: + case 229 /* SyntaxKind.AsExpression */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 172 /* SyntaxKind.GetAccessor */: + case 176 /* SyntaxKind.IndexSignature */: + case 195 /* SyntaxKind.MappedType */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 164 /* SyntaxKind.Parameter */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: + case 173 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 211 /* SyntaxKind.TypeAssertionExpression */: + case 254 /* SyntaxKind.VariableDeclaration */: return true; default: return false; @@ -155671,7 +156279,7 @@ var ts; }); } }); function doChange(changes, sourceFile, name) { - changes.replaceNodeWithText(sourceFile, name, name.text + "()"); + changes.replaceNodeWithText(sourceFile, name, "".concat(name.text, "()")); } function getCallName(sourceFile, start) { var token = ts.getTokenAtPosition(sourceFile, start); @@ -155739,15 +156347,15 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: insertBefore = containingFunction.name; break; - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - insertBefore = ts.findChildOfKind(containingFunction, 98 /* FunctionKeyword */, sourceFile); + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + insertBefore = ts.findChildOfKind(containingFunction, 98 /* SyntaxKind.FunctionKeyword */, sourceFile); break; - case 214 /* ArrowFunction */: - var kind = containingFunction.typeParameters ? 29 /* LessThanToken */ : 20 /* OpenParenToken */; + case 214 /* SyntaxKind.ArrowFunction */: + var kind = containingFunction.typeParameters ? 29 /* SyntaxKind.LessThanToken */ : 20 /* SyntaxKind.OpenParenToken */; insertBefore = ts.findChildOfKind(containingFunction, kind, sourceFile) || ts.first(containingFunction.parameters); break; default: @@ -155762,11 +156370,11 @@ var ts; var insertBefore = _a.insertBefore, returnType = _a.returnType; if (returnType) { var entityName = ts.getEntityNameFromTypeNode(returnType); - if (!entityName || entityName.kind !== 79 /* Identifier */ || entityName.text !== "Promise") { + if (!entityName || entityName.kind !== 79 /* SyntaxKind.Identifier */ || entityName.text !== "Promise") { changes.replaceNode(sourceFile, returnType, ts.factory.createTypeReferenceNode("Promise", ts.factory.createNodeArray([returnType]))); } } - changes.insertModifierBefore(sourceFile, 131 /* AsyncKeyword */, insertBefore); + changes.insertModifierBefore(sourceFile, 131 /* SyntaxKind.AsyncKeyword */, insertBefore); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -155928,7 +156536,7 @@ var ts; return errorCode; } function doChange(changes, sourceFile, token, errorCode, program, cancellationToken, markSeen, host, preferences) { - if (!ts.isParameterPropertyModifier(token.kind) && token.kind !== 79 /* Identifier */ && token.kind !== 25 /* DotDotDotToken */ && token.kind !== 108 /* ThisKeyword */) { + if (!ts.isParameterPropertyModifier(token.kind) && token.kind !== 79 /* SyntaxKind.Identifier */ && token.kind !== 25 /* SyntaxKind.DotDotDotToken */ && token.kind !== 108 /* SyntaxKind.ThisKeyword */) { return undefined; } var parent = token.parent; @@ -156029,9 +156637,9 @@ var ts; annotateJSDocParameters(changes, sourceFile, parameterInferences, program, host); } else { - var needParens = ts.isArrowFunction(containingFunction) && !ts.findChildOfKind(containingFunction, 20 /* OpenParenToken */, sourceFile); + var needParens = ts.isArrowFunction(containingFunction) && !ts.findChildOfKind(containingFunction, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (needParens) - changes.insertNodeBefore(sourceFile, ts.first(containingFunction.parameters), ts.factory.createToken(20 /* OpenParenToken */)); + changes.insertNodeBefore(sourceFile, ts.first(containingFunction.parameters), ts.factory.createToken(20 /* SyntaxKind.OpenParenToken */)); for (var _i = 0, parameterInferences_1 = parameterInferences; _i < parameterInferences_1.length; _i++) { var _a = parameterInferences_1[_i], declaration = _a.declaration, type = _a.type; if (declaration && !declaration.type && !declaration.initializer) { @@ -156039,7 +156647,7 @@ var ts; } } if (needParens) - changes.insertNodeAfter(sourceFile, ts.last(containingFunction.parameters), ts.factory.createToken(21 /* CloseParenToken */)); + changes.insertNodeAfter(sourceFile, ts.last(containingFunction.parameters), ts.factory.createToken(21 /* SyntaxKind.CloseParenToken */)); } } function annotateThis(changes, sourceFile, containingFunction, program, host, cancellationToken) { @@ -156082,7 +156690,7 @@ var ts; function annotate(changes, importAdder, sourceFile, declaration, type, program, host) { var typeNode = ts.getTypeNodeIfAccessible(type, declaration, program, host); if (typeNode) { - if (ts.isInJSFile(sourceFile) && declaration.kind !== 166 /* PropertySignature */) { + if (ts.isInJSFile(sourceFile) && declaration.kind !== 166 /* SyntaxKind.PropertySignature */) { var parent = ts.isVariableDeclaration(declaration) ? ts.tryCast(declaration.parent.parent, ts.isVariableStatement) : declaration; if (!parent) { return; @@ -156118,7 +156726,7 @@ var ts; var typeNode = inference.type && ts.getTypeNodeIfAccessible(inference.type, param, program, host); if (typeNode) { var name = ts.factory.cloneNode(param.name); - ts.setEmitFlags(name, 1536 /* NoComments */ | 2048 /* NoNestedComments */); + ts.setEmitFlags(name, 1536 /* EmitFlags.NoComments */ | 2048 /* EmitFlags.NoNestedComments */); return { name: ts.factory.cloneNode(param.name), param: param, isOptional: !!inference.isOptional, typeNode: typeNode }; } }); @@ -156126,9 +156734,9 @@ var ts; return; } if (ts.isArrowFunction(signature) || ts.isFunctionExpression(signature)) { - var needParens = ts.isArrowFunction(signature) && !ts.findChildOfKind(signature, 20 /* OpenParenToken */, sourceFile); + var needParens = ts.isArrowFunction(signature) && !ts.findChildOfKind(signature, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (needParens) { - changes.insertNodeBefore(sourceFile, ts.first(signature.parameters), ts.factory.createToken(20 /* OpenParenToken */)); + changes.insertNodeBefore(sourceFile, ts.first(signature.parameters), ts.factory.createToken(20 /* SyntaxKind.OpenParenToken */)); } ts.forEach(inferences, function (_a) { var typeNode = _a.typeNode, param = _a.param; @@ -156137,7 +156745,7 @@ var ts; changes.insertNodeAt(sourceFile, param.getStart(sourceFile), jsDoc, { suffix: " " }); }); if (needParens) { - changes.insertNodeAfter(sourceFile, ts.last(signature.parameters), ts.factory.createToken(21 /* CloseParenToken */)); + changes.insertNodeAfter(sourceFile, ts.last(signature.parameters), ts.factory.createToken(21 /* SyntaxKind.CloseParenToken */)); } } else { @@ -156151,7 +156759,7 @@ var ts; function getReferences(token, program, cancellationToken) { // Position shouldn't matter since token is not a SourceFile. return ts.mapDefined(ts.FindAllReferences.getReferenceEntriesForNode(-1, token, program, program.getSourceFiles(), cancellationToken), function (entry) { - return entry.kind !== 0 /* Span */ ? ts.tryCast(entry.node, ts.isIdentifier) : undefined; + return entry.kind !== 0 /* FindAllReferences.EntryKind.Span */ ? ts.tryCast(entry.node, ts.isIdentifier) : undefined; }); } function inferTypeForVariableFromUsage(token, program, cancellationToken) { @@ -156169,19 +156777,19 @@ var ts; function getFunctionReferences(containingFunction, sourceFile, program, cancellationToken) { var searchToken; switch (containingFunction.kind) { - case 171 /* Constructor */: - searchToken = ts.findChildOfKind(containingFunction, 134 /* ConstructorKeyword */, sourceFile); + case 171 /* SyntaxKind.Constructor */: + searchToken = ts.findChildOfKind(containingFunction, 134 /* SyntaxKind.ConstructorKeyword */, sourceFile); break; - case 214 /* ArrowFunction */: - case 213 /* FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: var parent = containingFunction.parent; searchToken = (ts.isVariableDeclaration(parent) || ts.isPropertyDeclaration(parent)) && ts.isIdentifier(parent.name) ? parent.name : containingFunction.name; break; - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: searchToken = containingFunction.name; break; } @@ -156323,24 +156931,24 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: inferTypeFromExpressionStatement(node, usage); break; - case 220 /* PostfixUnaryExpression */: + case 220 /* SyntaxKind.PostfixUnaryExpression */: usage.isNumber = true; break; - case 219 /* PrefixUnaryExpression */: + case 219 /* SyntaxKind.PrefixUnaryExpression */: inferTypeFromPrefixUnaryExpression(node.parent, usage); break; - case 221 /* BinaryExpression */: + case 221 /* SyntaxKind.BinaryExpression */: inferTypeFromBinaryExpression(node, node.parent, usage); break; - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: inferTypeFromSwitchStatementLabel(node.parent, usage); break; - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: if (node.parent.expression === node) { inferTypeFromCallExpression(node.parent, usage); } @@ -156348,20 +156956,20 @@ var ts; inferTypeFromContextualType(node, usage); } break; - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: inferTypeFromPropertyAccessExpression(node.parent, usage); break; - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: inferTypeFromPropertyElementExpression(node.parent, node, usage); break; - case 296 /* PropertyAssignment */: - case 297 /* ShorthandPropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: inferTypeFromPropertyAssignment(node.parent, usage); break; - case 167 /* PropertyDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: inferTypeFromPropertyDeclaration(node.parent, usage); break; - case 254 /* VariableDeclaration */: { + case 254 /* SyntaxKind.VariableDeclaration */: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. @@ -156385,13 +156993,13 @@ var ts; } function inferTypeFromPrefixUnaryExpression(node, usage) { switch (node.operator) { - case 45 /* PlusPlusToken */: - case 46 /* MinusMinusToken */: - case 40 /* MinusToken */: - case 54 /* TildeToken */: + case 45 /* SyntaxKind.PlusPlusToken */: + case 46 /* SyntaxKind.MinusMinusToken */: + case 40 /* SyntaxKind.MinusToken */: + case 54 /* SyntaxKind.TildeToken */: usage.isNumber = true; break; - case 39 /* PlusToken */: + case 39 /* SyntaxKind.PlusToken */: usage.isNumberOrString = true; break; // case SyntaxKind.ExclamationToken: @@ -156401,65 +157009,65 @@ var ts; function inferTypeFromBinaryExpression(node, parent, usage) { switch (parent.operatorToken.kind) { // ExponentiationOperator - case 42 /* AsteriskAsteriskToken */: + case 42 /* SyntaxKind.AsteriskAsteriskToken */: // MultiplicativeOperator // falls through - case 41 /* AsteriskToken */: - case 43 /* SlashToken */: - case 44 /* PercentToken */: + case 41 /* SyntaxKind.AsteriskToken */: + case 43 /* SyntaxKind.SlashToken */: + case 44 /* SyntaxKind.PercentToken */: // ShiftOperator // falls through - case 47 /* LessThanLessThanToken */: - case 48 /* GreaterThanGreaterThanToken */: - case 49 /* GreaterThanGreaterThanGreaterThanToken */: + case 47 /* SyntaxKind.LessThanLessThanToken */: + case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: + case 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */: // BitwiseOperator // falls through - case 50 /* AmpersandToken */: - case 51 /* BarToken */: - case 52 /* CaretToken */: + case 50 /* SyntaxKind.AmpersandToken */: + case 51 /* SyntaxKind.BarToken */: + case 52 /* SyntaxKind.CaretToken */: // CompoundAssignmentOperator // falls through - case 65 /* MinusEqualsToken */: - case 67 /* AsteriskAsteriskEqualsToken */: - case 66 /* AsteriskEqualsToken */: - case 68 /* SlashEqualsToken */: - case 69 /* PercentEqualsToken */: - case 73 /* AmpersandEqualsToken */: - case 74 /* BarEqualsToken */: - case 78 /* CaretEqualsToken */: - case 70 /* LessThanLessThanEqualsToken */: - case 72 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 71 /* GreaterThanGreaterThanEqualsToken */: + case 65 /* SyntaxKind.MinusEqualsToken */: + case 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */: + case 66 /* SyntaxKind.AsteriskEqualsToken */: + case 68 /* SyntaxKind.SlashEqualsToken */: + case 69 /* SyntaxKind.PercentEqualsToken */: + case 73 /* SyntaxKind.AmpersandEqualsToken */: + case 74 /* SyntaxKind.BarEqualsToken */: + case 78 /* SyntaxKind.CaretEqualsToken */: + case 70 /* SyntaxKind.LessThanLessThanEqualsToken */: + case 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */: + case 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */: // AdditiveOperator // falls through - case 40 /* MinusToken */: + case 40 /* SyntaxKind.MinusToken */: // RelationalOperator // falls through - case 29 /* LessThanToken */: - case 32 /* LessThanEqualsToken */: - case 31 /* GreaterThanToken */: - case 33 /* GreaterThanEqualsToken */: + case 29 /* SyntaxKind.LessThanToken */: + case 32 /* SyntaxKind.LessThanEqualsToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 33 /* SyntaxKind.GreaterThanEqualsToken */: var operandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (operandType.flags & 1056 /* EnumLike */) { + if (operandType.flags & 1056 /* TypeFlags.EnumLike */) { addCandidateType(usage, operandType); } else { usage.isNumber = true; } break; - case 64 /* PlusEqualsToken */: - case 39 /* PlusToken */: + case 64 /* SyntaxKind.PlusEqualsToken */: + case 39 /* SyntaxKind.PlusToken */: var otherOperandType = checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left); - if (otherOperandType.flags & 1056 /* EnumLike */) { + if (otherOperandType.flags & 1056 /* TypeFlags.EnumLike */) { addCandidateType(usage, otherOperandType); } - else if (otherOperandType.flags & 296 /* NumberLike */) { + else if (otherOperandType.flags & 296 /* TypeFlags.NumberLike */) { usage.isNumber = true; } - else if (otherOperandType.flags & 402653316 /* StringLike */) { + else if (otherOperandType.flags & 402653316 /* TypeFlags.StringLike */) { usage.isString = true; } - else if (otherOperandType.flags & 1 /* Any */) { + else if (otherOperandType.flags & 1 /* TypeFlags.Any */) { // do nothing, maybe we'll learn something elsewhere } else { @@ -156467,31 +157075,31 @@ var ts; } break; // AssignmentOperators - case 63 /* EqualsToken */: - case 34 /* EqualsEqualsToken */: - case 36 /* EqualsEqualsEqualsToken */: - case 37 /* ExclamationEqualsEqualsToken */: - case 35 /* ExclamationEqualsToken */: + case 63 /* SyntaxKind.EqualsToken */: + case 34 /* SyntaxKind.EqualsEqualsToken */: + case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: + case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: + case 35 /* SyntaxKind.ExclamationEqualsToken */: addCandidateType(usage, checker.getTypeAtLocation(parent.left === node ? parent.right : parent.left)); break; - case 101 /* InKeyword */: + case 101 /* SyntaxKind.InKeyword */: if (node === parent.left) { usage.isString = true; } break; // LogicalOperator Or NullishCoalescing - case 56 /* BarBarToken */: - case 60 /* QuestionQuestionToken */: + case 56 /* SyntaxKind.BarBarToken */: + case 60 /* SyntaxKind.QuestionQuestionToken */: if (node === parent.left && - (node.parent.parent.kind === 254 /* VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { + (node.parent.parent.kind === 254 /* SyntaxKind.VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { // var x = x || {}; // TODO: use getFalsyflagsOfType addCandidateType(usage, checker.getTypeAtLocation(parent.right)); } break; - case 55 /* AmpersandAmpersandToken */: - case 27 /* CommaToken */: - case 102 /* InstanceOfKeyword */: + case 55 /* SyntaxKind.AmpersandAmpersandToken */: + case 27 /* SyntaxKind.CommaToken */: + case 102 /* SyntaxKind.InstanceOfKeyword */: // nothing to infer here break; } @@ -156511,7 +157119,7 @@ var ts; } } calculateUsageOfNode(parent, call.return_); - if (parent.kind === 208 /* CallExpression */) { + if (parent.kind === 208 /* SyntaxKind.CallExpression */) { (usage.calls || (usage.calls = [])).push(call); } else { @@ -156536,7 +157144,7 @@ var ts; var indexType = checker.getTypeAtLocation(parent.argumentExpression); var indexUsage = createEmptyUsage(); calculateUsageOfNode(parent, indexUsage); - if (indexType.flags & 296 /* NumberLike */) { + if (indexType.flags & 296 /* TypeFlags.NumberLike */) { usage.numberIndex = indexUsage; } else { @@ -156583,21 +157191,21 @@ var ts; low: function (t) { return t === stringNumber; } }, { - high: function (t) { return !(t.flags & (1 /* Any */ | 16384 /* Void */)); }, - low: function (t) { return !!(t.flags & (1 /* Any */ | 16384 /* Void */)); } + high: function (t) { return !(t.flags & (1 /* TypeFlags.Any */ | 16384 /* TypeFlags.Void */)); }, + low: function (t) { return !!(t.flags & (1 /* TypeFlags.Any */ | 16384 /* TypeFlags.Void */)); } }, { - high: function (t) { return !(t.flags & (98304 /* Nullable */ | 1 /* Any */ | 16384 /* Void */)) && !(ts.getObjectFlags(t) & 16 /* Anonymous */); }, - low: function (t) { return !!(ts.getObjectFlags(t) & 16 /* Anonymous */); } + high: function (t) { return !(t.flags & (98304 /* TypeFlags.Nullable */ | 1 /* TypeFlags.Any */ | 16384 /* TypeFlags.Void */)) && !(ts.getObjectFlags(t) & 16 /* ObjectFlags.Anonymous */); }, + low: function (t) { return !!(ts.getObjectFlags(t) & 16 /* ObjectFlags.Anonymous */); } } ]; var good = removeLowPriorityInferences(inferences, priorities); - var anons = good.filter(function (i) { return ts.getObjectFlags(i) & 16 /* Anonymous */; }); + var anons = good.filter(function (i) { return ts.getObjectFlags(i) & 16 /* ObjectFlags.Anonymous */; }); if (anons.length) { - good = good.filter(function (i) { return !(ts.getObjectFlags(i) & 16 /* Anonymous */); }); + good = good.filter(function (i) { return !(ts.getObjectFlags(i) & 16 /* ObjectFlags.Anonymous */); }); good.push(combineAnonymousTypes(anons)); } - return checker.getWidenedType(checker.getUnionType(good.map(checker.getBaseTypeOfLiteralType), 2 /* Subtype */)); + return checker.getWidenedType(checker.getUnionType(good.map(checker.getBaseTypeOfLiteralType), 2 /* UnionReduction.Subtype */)); } function combineAnonymousTypes(anons) { if (anons.length === 1) { @@ -156616,22 +157224,22 @@ var ts; var p = _b[_a]; props.add(p.name, p.valueDeclaration ? checker.getTypeOfSymbolAtLocation(p, p.valueDeclaration) : checker.getAnyType()); } - calls.push.apply(calls, checker.getSignaturesOfType(anon, 0 /* Call */)); - constructs.push.apply(constructs, checker.getSignaturesOfType(anon, 1 /* Construct */)); - var stringIndexInfo = checker.getIndexInfoOfType(anon, 0 /* String */); + calls.push.apply(calls, checker.getSignaturesOfType(anon, 0 /* SignatureKind.Call */)); + constructs.push.apply(constructs, checker.getSignaturesOfType(anon, 1 /* SignatureKind.Construct */)); + var stringIndexInfo = checker.getIndexInfoOfType(anon, 0 /* IndexKind.String */); if (stringIndexInfo) { stringIndices.push(stringIndexInfo.type); stringIndexReadonly = stringIndexReadonly || stringIndexInfo.isReadonly; } - var numberIndexInfo = checker.getIndexInfoOfType(anon, 1 /* Number */); + var numberIndexInfo = checker.getIndexInfoOfType(anon, 1 /* IndexKind.Number */); if (numberIndexInfo) { numberIndices.push(numberIndexInfo.type); numberIndexReadonly = numberIndexReadonly || numberIndexInfo.isReadonly; } } var members = ts.mapEntries(props, function (name, types) { - var isOptional = types.length < anons.length ? 16777216 /* Optional */ : 0; - var s = checker.createSymbol(4 /* Property */ | isOptional, name); + var isOptional = types.length < anons.length ? 16777216 /* SymbolFlags.Optional */ : 0; + var s = checker.createSymbol(4 /* SymbolFlags.Property */ | isOptional, name); s.type = checker.getUnionType(types); return [name, s]; }); @@ -156663,7 +157271,7 @@ var ts; var candidateTypes = (usage.candidateTypes || []).map(function (t) { return checker.getBaseTypeOfLiteralType(t); }); var callsType = ((_c = usage.calls) === null || _c === void 0 ? void 0 : _c.length) ? inferStructuralType(usage) : undefined; if (callsType && candidateTypes) { - types.push(checker.getUnionType(__spreadArray([callsType], candidateTypes, true), 2 /* Subtype */)); + types.push(checker.getUnionType(__spreadArray([callsType], candidateTypes, true), 2 /* UnionReduction.Subtype */)); } else { if (callsType) { @@ -156680,7 +157288,7 @@ var ts; var members = new ts.Map(); if (usage.properties) { usage.properties.forEach(function (u, name) { - var symbol = checker.createSymbol(4 /* Property */, name); + var symbol = checker.createSymbol(4 /* SymbolFlags.Property */, name); symbol.type = combineFromUsage(u); members.set(name, symbol); }); @@ -156708,7 +157316,7 @@ var ts; return true; } if (propUsage.calls) { - var sigs = checker.getSignaturesOfType(source, 0 /* Call */); + var sigs = checker.getSignaturesOfType(source, 0 /* SignatureKind.Call */); return !sigs.length || !checker.isTypeAssignableTo(source, getFunctionFromCalls(propUsage.calls)); } else { @@ -156722,7 +157330,7 @@ var ts; * 2. inference to/from calls with a single signature */ function inferInstantiationFromUsage(type, usage) { - if (!(ts.getObjectFlags(type) & 4 /* Reference */) || !usage.properties) { + if (!(ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) || !usage.properties) { return type; } var generic = type.target; @@ -156741,10 +157349,10 @@ var ts; if (genericType === typeParameter) { return [usageType]; } - else if (genericType.flags & 3145728 /* UnionOrIntersection */) { + else if (genericType.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { return ts.flatMap(genericType.types, function (t) { return inferTypeParameters(t, usageType, typeParameter); }); } - else if (ts.getObjectFlags(genericType) & 4 /* Reference */ && ts.getObjectFlags(usageType) & 4 /* Reference */) { + else if (ts.getObjectFlags(genericType) & 4 /* ObjectFlags.Reference */ && ts.getObjectFlags(usageType) & 4 /* ObjectFlags.Reference */) { // this is wrong because we need a reference to the targetType to, so we can check that it's also a reference var genericArgs = checker.getTypeArguments(genericType); var usageArgs = checker.getTypeArguments(usageType); @@ -156758,8 +157366,8 @@ var ts; } return types; } - var genericSigs = checker.getSignaturesOfType(genericType, 0 /* Call */); - var usageSigs = checker.getSignaturesOfType(usageType, 0 /* Call */); + var genericSigs = checker.getSignaturesOfType(genericType, 0 /* SignatureKind.Call */); + var usageSigs = checker.getSignaturesOfType(usageType, 0 /* SignatureKind.Call */); if (genericSigs.length === 1 && usageSigs.length === 1) { return inferFromSignatures(genericSigs[0], usageSigs[0], typeParameter); } @@ -156795,10 +157403,10 @@ var ts; var parameters = []; var length = Math.max.apply(Math, calls.map(function (c) { return c.argumentTypes.length; })); var _loop_16 = function (i) { - var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg" + i)); + var symbol = checker.createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg".concat(i))); symbol.type = combineTypes(calls.map(function (call) { return call.argumentTypes[i] || checker.getUndefinedType(); })); if (calls.some(function (call) { return call.argumentTypes[i] === undefined; })) { - symbol.flags |= 16777216 /* Optional */; + symbol.flags |= 16777216 /* SymbolFlags.Optional */; } parameters.push(symbol); }; @@ -156806,15 +157414,15 @@ var ts; _loop_16(i); } var returnType = combineFromUsage(combineUsages(calls.map(function (call) { return call.return_; }))); - return checker.createSignature(/*declaration*/ undefined, /*typeParameters*/ undefined, /*thisParameter*/ undefined, parameters, returnType, /*typePredicate*/ undefined, length, 0 /* None */); + return checker.createSignature(/*declaration*/ undefined, /*typeParameters*/ undefined, /*thisParameter*/ undefined, parameters, returnType, /*typePredicate*/ undefined, length, 0 /* SignatureFlags.None */); } function addCandidateType(usage, type) { - if (type && !(type.flags & 1 /* Any */) && !(type.flags & 131072 /* Never */)) { + if (type && !(type.flags & 1 /* TypeFlags.Any */) && !(type.flags & 131072 /* TypeFlags.Never */)) { (usage.candidateTypes || (usage.candidateTypes = [])).push(type); } } function addCandidateThisType(usage, type) { - if (type && !(type.flags & 1 /* Any */) && !(type.flags & 131072 /* Never */)) { + if (type && !(type.flags & 1 /* TypeFlags.Any */) && !(type.flags & 131072 /* TypeFlags.Never */)) { (usage.candidateThisTypes || (usage.candidateThisTypes = [])).push(type); } } @@ -156898,7 +157506,7 @@ var ts; codefix.createCodeFixActionWithoutFixAll(fixName, [codefix.createFileTextChanges(sourceFile.fileName, [ ts.createTextChange(sourceFile.checkJsDirective ? ts.createTextSpanFromBounds(sourceFile.checkJsDirective.pos, sourceFile.checkJsDirective.end) - : ts.createTextSpan(0, 0), "// @ts-nocheck" + newLineCharacter), + : ts.createTextSpan(0, 0), "// @ts-nocheck".concat(newLineCharacter)), ])], ts.Diagnostics.Disable_checking_for_this_file), ]; if (ts.textChanges.isValidLocationToAddComment(sourceFile, span.start)) { @@ -156965,7 +157573,7 @@ var ts; * @param body If defined, this will be the body of the member node passed to `addClassElement`. Otherwise, the body will default to a stub. */ function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, preserveOptional, isAmbient) { - if (preserveOptional === void 0) { preserveOptional = 3 /* All */; } + if (preserveOptional === void 0) { preserveOptional = 3 /* PreserveOptionalFlags.All */; } if (isAmbient === void 0) { isAmbient = false; } var declarations = symbol.getDeclarations(); if (!(declarations && declarations.length)) { @@ -156978,13 +157586,13 @@ var ts; var visibilityModifier = createVisibilityModifier(ts.getEffectiveModifierFlags(declaration)); var modifiers = visibilityModifier ? ts.factory.createNodeArray([visibilityModifier]) : undefined; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); - var optional = !!(symbol.flags & 16777216 /* Optional */); - var ambient = !!(enclosingDeclaration.flags & 16777216 /* Ambient */) || isAmbient; + var optional = !!(symbol.flags & 16777216 /* SymbolFlags.Optional */); + var ambient = !!(enclosingDeclaration.flags & 16777216 /* NodeFlags.Ambient */) || isAmbient; var quotePreference = ts.getQuotePreference(sourceFile, preferences); switch (declaration.kind) { - case 166 /* PropertySignature */: - case 167 /* PropertyDeclaration */: - var flags = quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : undefined; + case 166 /* SyntaxKind.PropertySignature */: + case 167 /* SyntaxKind.PropertyDeclaration */: + var flags = quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : undefined; var typeNode = checker.typeToTypeNode(type, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); if (importAdder) { var importableReference = tryGetAutoImportableReferenceFromTypeNode(typeNode, scriptTarget); @@ -156994,11 +157602,11 @@ var ts; } } addClassElement(ts.factory.createPropertyDeclaration( - /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* Property */) ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode, + /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: { + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: { var typeNode_1 = checker.typeToTypeNode(type, enclosingDeclaration, /*flags*/ undefined, getNoopSymbolTrackerWithResolver(context)); var allAccessors = ts.getAllAccessorDeclarations(declarations, declaration); var orderedAccessors = allAccessors.secondAccessor @@ -157027,8 +157635,8 @@ var ts; } break; } - case 168 /* MethodSignature */: - case 169 /* MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: // The signature for the implementation appears as an entry in `signatures` iff // there is only one signature. // If there are overloads and an implementation signature, it appears as an @@ -157036,7 +157644,7 @@ var ts; // If there is more than one overload but no implementation signature // (eg: an abstract method or interface declaration), there is a 1-1 // correspondence of declarations and signatures. - var signatures = checker.getSignaturesOfType(type, 0 /* Call */); + var signatures = checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (!ts.some(signatures)) { break; } @@ -157058,13 +157666,13 @@ var ts; } else { ts.Debug.assert(declarations.length === signatures.length, "Declarations and signatures should match count"); - addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional && !!(preserveOptional & 1 /* Method */), modifiers, quotePreference, body)); + addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional && !!(preserveOptional & 1 /* PreserveOptionalFlags.Method */), modifiers, quotePreference, body)); } } break; } function outputMethod(quotePreference, signature, modifiers, name, body) { - var method = createSignatureDeclarationFromSignature(169 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* Method */), enclosingDeclaration, importAdder); + var method = createSignatureDeclarationFromSignature(169 /* SyntaxKind.MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* PreserveOptionalFlags.Method */), enclosingDeclaration, importAdder); if (method) addClassElement(method); } @@ -157074,11 +157682,10 @@ var ts; var program = context.program; var checker = program.getTypeChecker(); var scriptTarget = ts.getEmitScriptTarget(program.getCompilerOptions()); - var flags = 1 /* NoTruncation */ - | 1073741824 /* NoUndefinedOptionalParameterType */ - | 256 /* SuppressAnyReturnType */ - | 524288 /* AllowEmptyTuple */ - | (quotePreference === 0 /* Single */ ? 268435456 /* UseSingleQuotesForStringLiteralType */ : 0 /* None */); + var flags = 1 /* NodeBuilderFlags.NoTruncation */ + | 256 /* NodeBuilderFlags.SuppressAnyReturnType */ + | 524288 /* NodeBuilderFlags.AllowEmptyTuple */ + | (quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : 0 /* NodeBuilderFlags.None */); var signatureDeclaration = checker.signatureToSignatureDeclaration(signature, kind, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); if (!signatureDeclaration) { return undefined; @@ -157131,7 +157738,7 @@ var ts; } } } - var questionToken = optional ? ts.factory.createToken(57 /* QuestionToken */) : undefined; + var questionToken = optional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; var asteriskToken = signatureDeclaration.asteriskToken; if (ts.isFunctionExpression(signatureDeclaration)) { return ts.factory.updateFunctionExpression(signatureDeclaration, modifiers, signatureDeclaration.asteriskToken, ts.tryCast(name, ts.isIdentifier), typeParameters, parameters, type, body !== null && body !== void 0 ? body : signatureDeclaration.body); @@ -157163,26 +157770,26 @@ var ts; ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; var asteriskToken = ts.isYieldExpression(parent) - ? ts.factory.createToken(41 /* AsteriskToken */) + ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined; var typeParameters = isJs || typeArguments === undefined ? undefined : ts.map(typeArguments, function (_, i) { - return ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, 84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T" + i); + return ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, 84 /* CharacterCodes.T */ + typeArguments.length - 1 <= 90 /* CharacterCodes.Z */ ? String.fromCharCode(84 /* CharacterCodes.T */ + i) : "T".concat(i)); }); var parameters = createDummyParameters(args.length, names, types, /*minArgumentCount*/ undefined, isJs); var type = isJs || contextualType === undefined ? undefined : checker.typeToTypeNode(contextualType, contextNode, /*flags*/ undefined, tracker); switch (kind) { - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: return ts.factory.createMethodDeclaration( /*decorators*/ undefined, modifiers, asteriskToken, name, /*questionToken*/ undefined, typeParameters, parameters, type, createStubbedMethodBody(quotePreference)); - case 168 /* MethodSignature */: + case 168 /* SyntaxKind.MethodSignature */: return ts.factory.createMethodSignature(modifiers, name, /*questionToken*/ undefined, typeParameters, parameters, type); - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return ts.factory.createFunctionDeclaration( /*decorators*/ undefined, modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); default: @@ -157210,9 +157817,9 @@ var ts; /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, - /*name*/ names && names[i] || "arg" + i, - /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined, - /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */), + /*name*/ names && names[i] || "arg".concat(i), + /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, + /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), /*initializer*/ undefined); parameters.push(newParameter); } @@ -157242,8 +157849,8 @@ var ts; if (someSigHasRestParameter) { var restParameter = ts.factory.createParameterDeclaration( /*decorators*/ undefined, - /*modifiers*/ undefined, ts.factory.createToken(25 /* DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", - /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* UnknownKeyword */)), + /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", + /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)), /*initializer*/ undefined); parameters.push(restParameter); } @@ -157259,7 +157866,7 @@ var ts; function createStubbedMethod(modifiers, name, optional, typeParameters, parameters, returnType, quotePreference, body) { return ts.factory.createMethodDeclaration( /*decorators*/ undefined, modifiers, - /*asteriskToken*/ undefined, name, optional ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeParameters, parameters, returnType, body || createStubbedMethodBody(quotePreference)); + /*asteriskToken*/ undefined, name, optional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeParameters, parameters, returnType, body || createStubbedMethodBody(quotePreference)); } function createStubbedMethodBody(quotePreference) { return createStubbedBody(ts.Diagnostics.Method_not_implemented.message, quotePreference); @@ -157268,16 +157875,16 @@ var ts; return ts.factory.createBlock([ts.factory.createThrowStatement(ts.factory.createNewExpression(ts.factory.createIdentifier("Error"), /*typeArguments*/ undefined, // TODO Handle auto quote preference. - [ts.factory.createStringLiteral(text, /*isSingleQuote*/ quotePreference === 0 /* Single */)]))], + [ts.factory.createStringLiteral(text, /*isSingleQuote*/ quotePreference === 0 /* QuotePreference.Single */)]))], /*multiline*/ true); } codefix.createStubbedBody = createStubbedBody; function createVisibilityModifier(flags) { - if (flags & 4 /* Public */) { - return ts.factory.createToken(123 /* PublicKeyword */); + if (flags & 4 /* ModifierFlags.Public */) { + return ts.factory.createToken(123 /* SyntaxKind.PublicKeyword */); } - else if (flags & 16 /* Protected */) { - return ts.factory.createToken(122 /* ProtectedKeyword */); + else if (flags & 16 /* ModifierFlags.Protected */) { + return ts.factory.createToken(122 /* SyntaxKind.ProtectedKeyword */); } return undefined; } @@ -157350,7 +157957,7 @@ var ts; } codefix.tryGetAutoImportableReferenceFromTypeNode = tryGetAutoImportableReferenceFromTypeNode; function replaceFirstIdentifierOfEntityName(name, newIdentifier) { - if (name.kind === 79 /* Identifier */) { + if (name.kind === 79 /* SyntaxKind.Identifier */) { return newIdentifier; } return ts.factory.createQualifiedName(replaceFirstIdentifierOfEntityName(name.left, newIdentifier), name.right); @@ -157423,17 +158030,17 @@ var ts; return ts.isIdentifier(fieldName) ? ts.factory.createPropertyAccessExpression(leftHead, fieldName) : ts.factory.createElementAccessExpression(leftHead, ts.factory.createStringLiteralFromNode(fieldName)); } function prepareModifierFlagsForAccessor(modifierFlags) { - modifierFlags &= ~64 /* Readonly */; // avoid Readonly modifier because it will convert to get accessor - modifierFlags &= ~8 /* Private */; - if (!(modifierFlags & 16 /* Protected */)) { - modifierFlags |= 4 /* Public */; + modifierFlags &= ~64 /* ModifierFlags.Readonly */; // avoid Readonly modifier because it will convert to get accessor + modifierFlags &= ~8 /* ModifierFlags.Private */; + if (!(modifierFlags & 16 /* ModifierFlags.Protected */)) { + modifierFlags |= 4 /* ModifierFlags.Public */; } return modifierFlags; } function prepareModifierFlagsForField(modifierFlags) { - modifierFlags &= ~4 /* Public */; - modifierFlags &= ~16 /* Protected */; - modifierFlags |= 8 /* Private */; + modifierFlags &= ~4 /* ModifierFlags.Public */; + modifierFlags &= ~16 /* ModifierFlags.Protected */; + modifierFlags |= 8 /* ModifierFlags.Private */; return modifierFlags; } function getAccessorConvertiblePropertyAtPosition(file, program, start, end, considerEmptySpans) { @@ -157442,7 +158049,7 @@ var ts; var cursorRequest = start === end && considerEmptySpans; var declaration = ts.findAncestor(node.parent, isAcceptedDeclaration); // make sure declaration have AccessibilityModifier or Static Modifier or Readonly Modifier - var meaning = 28 /* AccessibilityModifier */ | 32 /* Static */ | 64 /* Readonly */; + var meaning = 28 /* ModifierFlags.AccessibilityModifier */ | 32 /* ModifierFlags.Static */ | 64 /* ModifierFlags.Readonly */; if (!declaration || (!(ts.nodeOverlapsWithStartEnd(declaration.name, file, start, end) || cursorRequest))) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_property_for_which_to_generate_accessor) @@ -157460,13 +158067,13 @@ var ts; } var name = declaration.name.text; var startWithUnderscore = ts.startsWithUnderscore(name); - var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name); + var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_".concat(name), file), declaration.name); var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name); return { isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasEffectiveReadonlyModifier(declaration), type: getDeclarationType(declaration, program), - container: declaration.kind === 164 /* Parameter */ ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 164 /* SyntaxKind.Parameter */ ? declaration.parent.parent : declaration.parent, originalName: declaration.name.text, declaration: declaration, fieldName: fieldName, @@ -157522,13 +158129,13 @@ var ts; return; constructor.body.forEachChild(function recur(node) { if (ts.isElementAccessExpression(node) && - node.expression.kind === 108 /* ThisKeyword */ && + node.expression.kind === 108 /* SyntaxKind.ThisKeyword */ && ts.isStringLiteral(node.argumentExpression) && node.argumentExpression.text === originalName && ts.isWriteAccess(node)) { changeTracker.replaceNode(file, node.argumentExpression, ts.factory.createStringLiteral(fieldName)); } - if (ts.isPropertyAccessExpression(node) && node.expression.kind === 108 /* ThisKeyword */ && node.name.text === originalName && ts.isWriteAccess(node)) { + if (ts.isPropertyAccessExpression(node) && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */ && node.name.text === originalName && ts.isWriteAccess(node)) { changeTracker.replaceNode(file, node.name, ts.factory.createIdentifier(fieldName)); } if (!ts.isFunctionLike(node) && !ts.isClassLike(node)) { @@ -157543,7 +158150,7 @@ var ts; var type = typeChecker.getTypeFromTypeNode(typeNode); if (!typeChecker.isTypeAssignableTo(typeChecker.getUndefinedType(), type)) { var types = ts.isUnionTypeNode(typeNode) ? typeNode.types : [typeNode]; - return ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], types, true), [ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */)], false)); + return ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], types, true), [ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */)], false)); } } return typeNode; @@ -157555,7 +158162,7 @@ var ts; var superSymbol = superElement && checker.getSymbolAtLocation(superElement.expression); if (!superSymbol) break; - var symbol = superSymbol.flags & 2097152 /* Alias */ ? checker.getAliasedSymbol(superSymbol) : superSymbol; + var symbol = superSymbol.flags & 2097152 /* SymbolFlags.Alias */ ? checker.getAliasedSymbol(superSymbol) : superSymbol; var superDecl = symbol.declarations && ts.find(symbol.declarations, ts.isClassLike); if (!superDecl) break; @@ -157602,7 +158209,7 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.This_expression_is_not_callable.code === context.errorCode ? 208 /* CallExpression */ : 209 /* NewExpression */; + var targetKind = ts.Diagnostics.This_expression_is_not_callable.code === context.errorCode ? 208 /* SyntaxKind.CallExpression */ : 209 /* SyntaxKind.NewExpression */; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start), function (a) { return a.kind === targetKind; }); if (!node) { return []; @@ -157720,7 +158327,7 @@ var ts; } function addDefiniteAssignmentAssertion(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { ts.suppressLeadingAndTrailingTrivia(propertyDeclaration); - var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, ts.factory.createToken(53 /* ExclamationToken */), propertyDeclaration.type, propertyDeclaration.initializer); + var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, ts.factory.createToken(53 /* SyntaxKind.ExclamationToken */), propertyDeclaration.type, propertyDeclaration.initializer); changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } function getActionForAddMissingUndefinedType(context, info) { @@ -157728,7 +158335,7 @@ var ts; return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_undefined_type_to_property_0, info.prop.name.getText()], fixIdAddUndefinedType, ts.Diagnostics.Add_undefined_type_to_all_uninitialized_properties); } function addUndefinedType(changeTracker, sourceFile, info) { - var undefinedTypeNode = ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */); + var undefinedTypeNode = ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */); var types = ts.isUnionTypeNode(info.type) ? info.type.types.concat(undefinedTypeNode) : [info.type, undefinedTypeNode]; var unionTypeNode = ts.factory.createUnionTypeNode(types); if (info.isJs) { @@ -157757,7 +158364,7 @@ var ts; return getDefaultValueFromType(checker, checker.getTypeFromTypeNode(propertyDeclaration.type)); // TODO: GH#18217 } function getDefaultValueFromType(checker, type) { - if (type.flags & 512 /* BooleanLiteral */) { + if (type.flags & 512 /* TypeFlags.BooleanLiteral */) { return (type === checker.getFalseType() || type === checker.getFalseType(/*fresh*/ true)) ? ts.factory.createFalse() : ts.factory.createTrue(); } else if (type.isStringLiteral()) { @@ -157766,7 +158373,7 @@ var ts; else if (type.isNumberLiteral()) { return ts.factory.createNumericLiteral(type.value); } - else if (type.flags & 2048 /* BigIntLiteral */) { + else if (type.flags & 2048 /* TypeFlags.BigIntLiteral */) { return ts.factory.createBigIntLiteral(type.value); } else if (type.isUnion()) { @@ -157774,7 +158381,7 @@ var ts; } else if (type.isClass()) { var classDeclaration = ts.getClassLikeDeclarationOfSymbol(type.symbol); - if (!classDeclaration || ts.hasSyntacticModifier(classDeclaration, 128 /* Abstract */)) + if (!classDeclaration || ts.hasSyntacticModifier(classDeclaration, 128 /* ModifierFlags.Abstract */)) return undefined; var constructorDeclaration = ts.getFirstConstructorWithBody(classDeclaration); if (constructorDeclaration && constructorDeclaration.parameters.length) @@ -157950,8 +158557,8 @@ var ts; }); function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - ts.Debug.assert(token.kind === 100 /* ImportKeyword */, "This token should be an ImportKeyword"); - ts.Debug.assert(token.parent.kind === 200 /* ImportType */, "Token parent should be an ImportType"); + ts.Debug.assert(token.kind === 100 /* SyntaxKind.ImportKeyword */, "This token should be an ImportKeyword"); + ts.Debug.assert(token.parent.kind === 200 /* SyntaxKind.ImportType */, "Token parent should be an ImportType"); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -158014,7 +158621,7 @@ var ts; var children = []; var current = node; while (true) { - if (ts.isBinaryExpression(current) && ts.nodeIsMissing(current.operatorToken) && current.operatorToken.kind === 27 /* CommaToken */) { + if (ts.isBinaryExpression(current) && ts.nodeIsMissing(current.operatorToken) && current.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { children.push(current.left); if (ts.isJsxChild(current.right)) { children.push(current.right); @@ -158080,7 +158687,7 @@ var ts; var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); var parameter = ts.first(indexSignature.parameters); var mappedTypeParameter = ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.cast(parameter.name, ts.isIdentifier), parameter.type); - var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(145 /* ReadonlyKeyword */) : undefined, mappedTypeParameter, + var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */) : undefined, mappedTypeParameter, /*nameType*/ undefined, indexSignature.questionToken, indexSignature.type, /*members*/ undefined); var intersectionType = ts.factory.createIntersectionTypeNode(__spreadArray(__spreadArray(__spreadArray([], ts.getAllSuperTypeNodes(container), true), [ @@ -158138,7 +158745,7 @@ var ts; }, }); function makeChange(changeTracker, sourceFile, span) { - var awaitKeyword = ts.tryCast(ts.getTokenAtPosition(sourceFile, span.start), function (node) { return node.kind === 132 /* AwaitKeyword */; }); + var awaitKeyword = ts.tryCast(ts.getTokenAtPosition(sourceFile, span.start), function (node) { return node.kind === 132 /* SyntaxKind.AwaitKeyword */; }); var awaitExpression = awaitKeyword && ts.tryCast(awaitKeyword.parent, ts.isAwaitExpression); if (!awaitExpression) { return; @@ -158149,7 +158756,7 @@ var ts; var leftMostExpression = ts.getLeftmostExpression(awaitExpression.expression, /*stopAtCallExpressions*/ false); if (ts.isIdentifier(leftMostExpression)) { var precedingToken = ts.findPrecedingToken(awaitExpression.parent.pos, sourceFile); - if (precedingToken && precedingToken.kind !== 103 /* NewKeyword */) { + if (precedingToken && precedingToken.kind !== 103 /* SyntaxKind.NewKeyword */) { expressionToReplace = awaitExpression.parent; } } @@ -158221,7 +158828,7 @@ var ts; var declaration = ts.tryCast((_a = symbol === null || symbol === void 0 ? void 0 : symbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.parent, ts.isVariableDeclarationList); if (declaration === undefined) return; - var constToken = ts.findChildOfKind(declaration, 85 /* ConstKeyword */, sourceFile); + var constToken = ts.findChildOfKind(declaration, 85 /* SyntaxKind.ConstKeyword */, sourceFile); if (constToken === undefined) return; return ts.createRange(constToken.pos, constToken.end); @@ -158258,14 +158865,14 @@ var ts; }); function getInfo(sourceFile, pos, _) { var node = ts.getTokenAtPosition(sourceFile, pos); - return (node.kind === 26 /* SemicolonToken */ && + return (node.kind === 26 /* SyntaxKind.SemicolonToken */ && node.parent && (ts.isObjectLiteralExpression(node.parent) || ts.isArrayLiteralExpression(node.parent))) ? { node: node } : undefined; } function doChange(changes, sourceFile, _a) { var node = _a.node; - var newNode = ts.factory.createToken(27 /* CommaToken */); + var newNode = ts.factory.createToken(27 /* SyntaxKind.CommaToken */); changes.replaceNode(sourceFile, node, newNode); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -158278,6 +158885,7 @@ var ts; var fixName = "addVoidToPromise"; var fixId = "addVoidToPromise"; var errorCodes = [ + ts.Diagnostics.Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments.code, ts.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code ]; codefix.registerCodeFix({ @@ -158312,7 +158920,7 @@ var ts; // append ` | void` to type argument var typeArgument = typeArguments[0]; var needsParens = !ts.isUnionTypeNode(typeArgument) && !ts.isParenthesizedTypeNode(typeArgument) && - ts.isParenthesizedTypeNode(ts.factory.createUnionTypeNode([typeArgument, ts.factory.createKeywordTypeNode(114 /* VoidKeyword */)]).types[0]); + ts.isParenthesizedTypeNode(ts.factory.createUnionTypeNode([typeArgument, ts.factory.createKeywordTypeNode(114 /* SyntaxKind.VoidKeyword */)]).types[0]); if (needsParens) { changes.insertText(sourceFile, typeArgument.pos, "("); } @@ -158324,14 +158932,14 @@ var ts; var parameter = signature === null || signature === void 0 ? void 0 : signature.parameters[0]; var parameterType = parameter && checker.getTypeOfSymbolAtLocation(parameter, decl.parent.parent); if (ts.isInJSFile(decl)) { - if (!parameterType || parameterType.flags & 3 /* AnyOrUnknown */) { + if (!parameterType || parameterType.flags & 3 /* TypeFlags.AnyOrUnknown */) { // give the expression a type changes.insertText(sourceFile, decl.parent.parent.end, ")"); changes.insertText(sourceFile, ts.skipTrivia(sourceFile.text, decl.parent.parent.pos), "/** @type {Promise} */("); } } else { - if (!parameterType || parameterType.flags & 2 /* Unknown */) { + if (!parameterType || parameterType.flags & 2 /* TypeFlags.Unknown */) { // add `void` type argument changes.insertText(sourceFile, decl.parent.parent.expression.end, ""); } @@ -158407,15 +159015,15 @@ var ts; var file = context.file, program = context.program; var span = ts.getRefactorContextSpan(context); var token = ts.getTokenAtPosition(file, span.start); - var exportNode = !!(token.parent && ts.getSyntacticModifierFlags(token.parent) & 1 /* Export */) && considerPartialSpans ? token.parent : ts.getParentNodeInSpan(token, file, span); + var exportNode = !!(token.parent && ts.getSyntacticModifierFlags(token.parent) & 1 /* ModifierFlags.Export */) && considerPartialSpans ? token.parent : ts.getParentNodeInSpan(token, file, span); if (!exportNode || (!ts.isSourceFile(exportNode.parent) && !(ts.isModuleBlock(exportNode.parent) && ts.isAmbientModule(exportNode.parent.parent)))) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_export_statement) }; } var exportingModuleSymbol = ts.isSourceFile(exportNode.parent) ? exportNode.parent.symbol : exportNode.parent.parent.symbol; - var flags = ts.getSyntacticModifierFlags(exportNode) || ((ts.isExportAssignment(exportNode) && !exportNode.isExportEquals) ? 513 /* ExportDefault */ : 0 /* None */); - var wasDefault = !!(flags & 512 /* Default */); + var flags = ts.getSyntacticModifierFlags(exportNode) || ((ts.isExportAssignment(exportNode) && !exportNode.isExportEquals) ? 513 /* ModifierFlags.ExportDefault */ : 0 /* ModifierFlags.None */); + var wasDefault = !!(flags & 512 /* ModifierFlags.Default */); // If source file already has a default export, don't offer refactor. - if (!(flags & 1 /* Export */) || !wasDefault && exportingModuleSymbol.exports.has("default" /* Default */)) { + if (!(flags & 1 /* ModifierFlags.Export */) || !wasDefault && exportingModuleSymbol.exports.has("default" /* InternalSymbolName.Default */)) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.This_file_already_has_a_default_export) }; } var checker = program.getTypeChecker(); @@ -158424,22 +159032,22 @@ var ts; : { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_named_export) }; }; switch (exportNode.kind) { - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 261 /* ModuleDeclaration */: { + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: { var node = exportNode; if (!node.name) return undefined; return noSymbolError(node.name) || { exportNode: node, exportName: node.name, wasDefault: wasDefault, exportingModuleSymbol: exportingModuleSymbol }; } - case 237 /* VariableStatement */: { + case 237 /* SyntaxKind.VariableStatement */: { var vs = exportNode; // Must be `export const x = something;`. - if (!(vs.declarationList.flags & 2 /* Const */) || vs.declarationList.declarations.length !== 1) { + if (!(vs.declarationList.flags & 2 /* NodeFlags.Const */) || vs.declarationList.declarations.length !== 1) { return undefined; } var decl = ts.first(vs.declarationList.declarations); @@ -158449,7 +159057,7 @@ var ts; return noSymbolError(decl.name) || { exportNode: vs, exportName: decl.name, wasDefault: wasDefault, exportingModuleSymbol: exportingModuleSymbol }; } - case 271 /* ExportAssignment */: { + case 271 /* SyntaxKind.ExportAssignment */: { var node = exportNode; if (node.isExportEquals) return undefined; @@ -158473,18 +159081,18 @@ var ts; changes.replaceNode(exportingSourceFile, exportNode, ts.factory.createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([spec]))); } else { - changes.delete(exportingSourceFile, ts.Debug.checkDefined(ts.findModifier(exportNode, 88 /* DefaultKeyword */), "Should find a default keyword in modifier list")); + changes.delete(exportingSourceFile, ts.Debug.checkDefined(ts.findModifier(exportNode, 88 /* SyntaxKind.DefaultKeyword */), "Should find a default keyword in modifier list")); } } else { - var exportKeyword = ts.Debug.checkDefined(ts.findModifier(exportNode, 93 /* ExportKeyword */), "Should find an export keyword in modifier list"); + var exportKeyword = ts.Debug.checkDefined(ts.findModifier(exportNode, 93 /* SyntaxKind.ExportKeyword */), "Should find an export keyword in modifier list"); switch (exportNode.kind) { - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 258 /* InterfaceDeclaration */: - changes.insertNodeAfter(exportingSourceFile, exportKeyword, ts.factory.createToken(88 /* DefaultKeyword */)); + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + changes.insertNodeAfter(exportingSourceFile, exportKeyword, ts.factory.createToken(88 /* SyntaxKind.DefaultKeyword */)); break; - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: // If 'x' isn't used in this file and doesn't have type definition, `export const x = 0;` --> `export default 0;` var decl = ts.first(exportNode.declarationList.declarations); if (!ts.FindAllReferences.Core.isSymbolReferencedInFile(exportName, checker, exportingSourceFile) && !decl.type) { @@ -158493,15 +159101,15 @@ var ts; break; } // falls through - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 261 /* ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: // `export type T = number;` -> `type T = number; export default T;` changes.deleteModifier(exportingSourceFile, exportKeyword); changes.insertNodeAfter(exportingSourceFile, exportNode, ts.factory.createExportDefault(ts.factory.createIdentifier(exportName.text))); break; default: - ts.Debug.fail("Unexpected exportNode kind " + exportNode.kind); + ts.Debug.fail("Unexpected exportNode kind ".concat(exportNode.kind)); } } } @@ -158522,18 +159130,18 @@ var ts; function changeDefaultToNamedImport(importingSourceFile, ref, changes, exportName) { var parent = ref.parent; switch (parent.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: // `a.default` --> `a.foo` changes.replaceNode(importingSourceFile, ref, ts.factory.createIdentifier(exportName)); break; - case 270 /* ImportSpecifier */: - case 275 /* ExportSpecifier */: { + case 270 /* SyntaxKind.ImportSpecifier */: + case 275 /* SyntaxKind.ExportSpecifier */: { var spec = parent; // `default as foo` --> `foo`, `default as bar` --> `foo as bar` changes.replaceNode(importingSourceFile, spec, makeImportSpecifier(exportName, spec.name.text)); break; } - case 267 /* ImportClause */: { + case 267 /* SyntaxKind.ImportClause */: { var clause = parent; ts.Debug.assert(clause.name === ref, "Import clause name should match provided ref"); var spec = makeImportSpecifier(exportName, ref.text); @@ -158542,10 +159150,10 @@ var ts; // `import foo from "./a";` --> `import { foo } from "./a";` changes.replaceNode(importingSourceFile, ref, ts.factory.createNamedImports([spec])); } - else if (namedBindings.kind === 268 /* NamespaceImport */) { + else if (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { // `import foo, * as a from "./a";` --> `import * as a from ".a/"; import { foo } from "./a";` changes.deleteRange(importingSourceFile, { pos: ref.getStart(importingSourceFile), end: namedBindings.getStart(importingSourceFile) }); - var quotePreference = ts.isStringLiteral(clause.parent.moduleSpecifier) ? ts.quotePreferenceFromString(clause.parent.moduleSpecifier, importingSourceFile) : 1 /* Double */; + var quotePreference = ts.isStringLiteral(clause.parent.moduleSpecifier) ? ts.quotePreferenceFromString(clause.parent.moduleSpecifier, importingSourceFile) : 1 /* QuotePreference.Double */; var newImport = ts.makeImport(/*default*/ undefined, [makeImportSpecifier(exportName, ref.text)], clause.parent.moduleSpecifier, quotePreference); changes.insertNodeAfter(importingSourceFile, clause.parent, newImport); } @@ -158556,7 +159164,7 @@ var ts; } break; } - case 200 /* ImportType */: + case 200 /* SyntaxKind.ImportType */: var importTypeNode = parent; changes.replaceNode(importingSourceFile, parent, ts.factory.createImportTypeNode(importTypeNode.argument, ts.factory.createIdentifier(exportName), importTypeNode.typeArguments, importTypeNode.isTypeOf)); break; @@ -158567,11 +159175,11 @@ var ts; function changeNamedToDefaultImport(importingSourceFile, ref, changes) { var parent = ref.parent; switch (parent.kind) { - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: // `a.foo` --> `a.default` changes.replaceNode(importingSourceFile, ref, ts.factory.createIdentifier("default")); break; - case 270 /* ImportSpecifier */: { + case 270 /* SyntaxKind.ImportSpecifier */: { // `import { foo } from "./a";` --> `import foo from "./a";` // `import { foo as bar } from "./a";` --> `import bar from "./a";` var defaultImport = ts.factory.createIdentifier(parent.name.text); @@ -158584,7 +159192,7 @@ var ts; } break; } - case 275 /* ExportSpecifier */: { + case 275 /* SyntaxKind.ExportSpecifier */: { // `export { foo } from "./a";` --> `export { default as foo } from "./a";` // `export { foo as bar } from "./a";` --> `export { default as bar } from "./a";` // `export { foo as default } from "./a";` --> `export { default } from "./a";` @@ -158593,7 +159201,7 @@ var ts; break; } default: - ts.Debug.assertNever(parent, "Unexpected parent kind " + parent.kind); + ts.Debug.assertNever(parent, "Unexpected parent kind ".concat(parent.kind)); } } function makeImportSpecifier(propertyName, name) { @@ -158612,17 +159220,17 @@ var ts; var _a; var refactorName = "Convert import"; var actions = (_a = {}, - _a[0 /* Named */] = { + _a[0 /* ImportKind.Named */] = { name: "Convert namespace import to named imports", description: ts.Diagnostics.Convert_namespace_import_to_named_imports.message, kind: "refactor.rewrite.import.named", }, - _a[2 /* Namespace */] = { + _a[2 /* ImportKind.Namespace */] = { name: "Convert named imports to namespace import", description: ts.Diagnostics.Convert_named_imports_to_namespace_import.message, kind: "refactor.rewrite.import.namespace", }, - _a[1 /* Default */] = { + _a[1 /* ImportKind.Default */] = { name: "Convert named imports to default import", description: ts.Diagnostics.Convert_named_imports_to_default_import.message, kind: "refactor.rewrite.import.default", @@ -158674,13 +159282,13 @@ var ts; if (!importClause.namedBindings) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_namespace_import_or_named_imports) }; } - if (importClause.namedBindings.kind === 268 /* NamespaceImport */) { - return { convertTo: 0 /* Named */, import: importClause.namedBindings }; + if (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + return { convertTo: 0 /* ImportKind.Named */, import: importClause.namedBindings }; } var shouldUseDefault = getShouldUseDefault(context.program, importClause); return shouldUseDefault - ? { convertTo: 1 /* Default */, import: importClause.namedBindings } - : { convertTo: 2 /* Namespace */, import: importClause.namedBindings }; + ? { convertTo: 1 /* ImportKind.Default */, import: importClause.namedBindings } + : { convertTo: 2 /* ImportKind.Namespace */, import: importClause.namedBindings }; } function getShouldUseDefault(program, importClause) { return ts.getAllowSyntheticDefaultImports(program.getCompilerOptions()) @@ -158688,11 +159296,11 @@ var ts; } function doChange(sourceFile, program, changes, info) { var checker = program.getTypeChecker(); - if (info.convertTo === 0 /* Named */) { + if (info.convertTo === 0 /* ImportKind.Named */) { doChangeNamespaceToNamed(sourceFile, checker, changes, info.import, ts.getAllowSyntheticDefaultImports(program.getCompilerOptions())); } else { - doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, info.import, info.convertTo === 1 /* Default */); + doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, info.import, info.convertTo === 1 /* ImportKind.Default */); } } function doChangeNamespaceToNamed(sourceFile, checker, changes, toConvert, allowSyntheticDefaultImports) { @@ -158705,7 +159313,7 @@ var ts; } else { var exportName = getRightOfPropertyAccessOrQualifiedName(id.parent).text; - if (checker.resolveName(exportName, id, 67108863 /* All */, /*excludeGlobals*/ true)) { + if (checker.resolveName(exportName, id, 67108863 /* SymbolFlags.All */, /*excludeGlobals*/ true)) { conflictingNames.set(exportName, true); } ts.Debug.assert(getLeftOfPropertyAccessOrQualifiedName(id.parent) === id, "Parent expression should match id"); @@ -158754,14 +159362,14 @@ var ts; toConvertSymbols.add(symbol); } }); - var preferredName = moduleSpecifier && ts.isStringLiteral(moduleSpecifier) ? ts.codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, 99 /* ESNext */) : "module"; + var preferredName = moduleSpecifier && ts.isStringLiteral(moduleSpecifier) ? ts.codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, 99 /* ScriptTarget.ESNext */) : "module"; function hasNamespaceNameConflict(namedImport) { // We need to check if the preferred namespace name (`preferredName`) we'd like to use in the refactored code will present a name conflict. // A name conflict means that, in a scope where we would like to use the preferred namespace name, there already exists a symbol with that name in that scope. // We are going to use the namespace name in the scopes the named imports being refactored are referenced, // so we look for conflicts by looking at every reference to those named imports. return !!ts.FindAllReferences.Core.eachSymbolReferenceInFile(namedImport.name, checker, sourceFile, function (id) { - var symbol = checker.resolveName(preferredName, id, 67108863 /* All */, /*excludeGlobals*/ true); + var symbol = checker.resolveName(preferredName, id, 67108863 /* SymbolFlags.All */, /*excludeGlobals*/ true); if (symbol) { // There already is a symbol with the same name as the preferred namespace name. if (toConvertSymbols.has(symbol)) { // `preferredName` resolves to a symbol for one of the named import references we are going to transform into namespace import references... return ts.isExportSpecifier(id.parent); // ...but if this reference is an export specifier, it will not be transformed, so it is a conflict; otherwise, it will be renamed and is not a conflict. @@ -158910,7 +159518,7 @@ var ts; } } function getBinaryInfo(expression) { - if (expression.operatorToken.kind !== 55 /* AmpersandAmpersandToken */) { + if (expression.operatorToken.kind !== 55 /* SyntaxKind.AmpersandAmpersandToken */) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_logical_AND_access_chains) }; } ; @@ -158926,7 +159534,7 @@ var ts; */ function getOccurrencesInExpression(matchTo, expression) { var occurrences = []; - while (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 55 /* AmpersandAmpersandToken */) { + while (ts.isBinaryExpression(expression) && expression.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */) { var match = getMatchingStart(ts.skipParentheses(matchTo), ts.skipParentheses(expression.right)); if (!match) { break; @@ -159052,17 +159660,17 @@ var ts; occurrences.pop(); if (ts.isCallExpression(toConvert)) { return isOccurrence ? - ts.factory.createCallChain(chain, ts.factory.createToken(28 /* QuestionDotToken */), toConvert.typeArguments, toConvert.arguments) : + ts.factory.createCallChain(chain, ts.factory.createToken(28 /* SyntaxKind.QuestionDotToken */), toConvert.typeArguments, toConvert.arguments) : ts.factory.createCallChain(chain, toConvert.questionDotToken, toConvert.typeArguments, toConvert.arguments); } else if (ts.isPropertyAccessExpression(toConvert)) { return isOccurrence ? - ts.factory.createPropertyAccessChain(chain, ts.factory.createToken(28 /* QuestionDotToken */), toConvert.name) : + ts.factory.createPropertyAccessChain(chain, ts.factory.createToken(28 /* SyntaxKind.QuestionDotToken */), toConvert.name) : ts.factory.createPropertyAccessChain(chain, toConvert.questionDotToken, toConvert.name); } else if (ts.isElementAccessExpression(toConvert)) { return isOccurrence ? - ts.factory.createElementAccessChain(chain, ts.factory.createToken(28 /* QuestionDotToken */), toConvert.argumentExpression) : + ts.factory.createElementAccessChain(chain, ts.factory.createToken(28 /* SyntaxKind.QuestionDotToken */), toConvert.argumentExpression) : ts.factory.createElementAccessChain(chain, toConvert.questionDotToken, toConvert.argumentExpression); } } @@ -159077,7 +159685,7 @@ var ts; changes.replaceNodeRange(sourceFile, firstOccurrence, finalExpression, convertedChain); } else if (ts.isConditionalExpression(expression)) { - changes.replaceNode(sourceFile, expression, ts.factory.createBinaryExpression(convertedChain, ts.factory.createToken(60 /* QuestionQuestionToken */), expression.whenFalse)); + changes.replaceNode(sourceFile, expression, ts.factory.createBinaryExpression(convertedChain, ts.factory.createToken(60 /* SyntaxKind.QuestionQuestionToken */), expression.whenFalse)); } } } @@ -159123,27 +159731,27 @@ var ts; var lastDeclaration = signatureDecls[signatureDecls.length - 1]; var updated = lastDeclaration; switch (lastDeclaration.kind) { - case 168 /* MethodSignature */: { + case 168 /* SyntaxKind.MethodSignature */: { updated = ts.factory.updateMethodSignature(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 169 /* MethodDeclaration */: { + case 169 /* SyntaxKind.MethodDeclaration */: { updated = ts.factory.updateMethodDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } - case 174 /* CallSignature */: { + case 174 /* SyntaxKind.CallSignature */: { updated = ts.factory.updateCallSignature(lastDeclaration, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 171 /* Constructor */: { + case 171 /* SyntaxKind.Constructor */: { updated = ts.factory.updateConstructorDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.body); break; } - case 175 /* ConstructSignature */: { + case 175 /* SyntaxKind.ConstructSignature */: { updated = ts.factory.updateConstructSignature(lastDeclaration, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 256 /* FunctionDeclaration */: { + case 256 /* SyntaxKind.FunctionDeclaration */: { updated = ts.factory.updateFunctionDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } @@ -159165,24 +159773,24 @@ var ts; return ts.factory.createNodeArray([ ts.factory.createParameterDeclaration( /*decorators*/ undefined, - /*modifiers*/ undefined, ts.factory.createToken(25 /* DotDotDotToken */), "args", + /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), "args", /*questionToken*/ undefined, ts.factory.createUnionTypeNode(ts.map(signatureDeclarations, convertSignatureParametersToTuple))) ]); } function convertSignatureParametersToTuple(decl) { var members = ts.map(decl.parameters, convertParameterToNamedTupleMember); - return ts.setEmitFlags(ts.factory.createTupleTypeNode(members), ts.some(members, function (m) { return !!ts.length(ts.getSyntheticLeadingComments(m)); }) ? 0 /* None */ : 1 /* SingleLine */); + return ts.setEmitFlags(ts.factory.createTupleTypeNode(members), ts.some(members, function (m) { return !!ts.length(ts.getSyntheticLeadingComments(m)); }) ? 0 /* EmitFlags.None */ : 1 /* EmitFlags.SingleLine */); } function convertParameterToNamedTupleMember(p) { ts.Debug.assert(ts.isIdentifier(p.name)); // This is checked during refactoring applicability checking - var result = ts.setTextRange(ts.factory.createNamedTupleMember(p.dotDotDotToken, p.name, p.questionToken, p.type || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */)), p); + var result = ts.setTextRange(ts.factory.createNamedTupleMember(p.dotDotDotToken, p.name, p.questionToken, p.type || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)), p); var parameterDocComment = p.symbol && p.symbol.getDocumentationComment(checker); if (parameterDocComment) { var newComment = ts.displayPartsToString(parameterDocComment); if (newComment.length) { ts.setSyntheticLeadingComments(result, [{ - text: "*\n" + newComment.split("\n").map(function (c) { return " * " + c; }).join("\n") + "\n ", - kind: 3 /* MultiLineCommentTrivia */, + text: "*\n".concat(newComment.split("\n").map(function (c) { return " * ".concat(c); }).join("\n"), "\n "), + kind: 3 /* SyntaxKind.MultiLineCommentTrivia */, pos: -1, end: -1, hasTrailingNewLine: true, @@ -159195,12 +159803,12 @@ var ts; } function isConvertableSignatureDeclaration(d) { switch (d.kind) { - case 168 /* MethodSignature */: - case 169 /* MethodDeclaration */: - case 174 /* CallSignature */: - case 171 /* Constructor */: - case 175 /* ConstructSignature */: - case 256 /* FunctionDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.CallSignature */: + case 171 /* SyntaxKind.Constructor */: + case 175 /* SyntaxKind.ConstructSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: return true; } return false; @@ -159326,7 +159934,7 @@ var ts; usedFunctionNames.set(description, true); functionActions.push({ description: description, - name: "function_scope_" + i, + name: "function_scope_".concat(i), kind: extractFunctionAction.kind }); } @@ -159334,7 +159942,7 @@ var ts; else if (!innermostErrorFunctionAction) { innermostErrorFunctionAction = { description: description, - name: "function_scope_" + i, + name: "function_scope_".concat(i), notApplicableReason: getStringError(functionExtraction.errors), kind: extractFunctionAction.kind }; @@ -159350,7 +159958,7 @@ var ts; usedConstantNames.set(description_1, true); constantActions.push({ description: description_1, - name: "constant_scope_" + i, + name: "constant_scope_".concat(i), kind: extractConstantAction.kind }); } @@ -159358,7 +159966,7 @@ var ts; else if (!innermostErrorConstantAction) { innermostErrorConstantAction = { description: description, - name: "constant_scope_" + i, + name: "constant_scope_".concat(i), notApplicableReason: getStringError(constantExtraction.errors), kind: extractConstantAction.kind }; @@ -159454,6 +160062,7 @@ var ts; Messages.cannotAccessVariablesFromNestedScopes = createMessage("Cannot access variables from nested scopes"); Messages.cannotExtractToJSClass = createMessage("Cannot extract constant to a class scope in JS"); Messages.cannotExtractToExpressionArrowFunction = createMessage("Cannot extract constant to an arrow function without a block"); + Messages.cannotExtractFunctionsContainingThisToMethod = createMessage("Cannot extract functions containing this to method"); })(Messages = extractSymbol.Messages || (extractSymbol.Messages = {})); var RangeFacts; (function (RangeFacts) { @@ -159462,10 +160071,11 @@ var ts; RangeFacts[RangeFacts["IsGenerator"] = 2] = "IsGenerator"; RangeFacts[RangeFacts["IsAsyncFunction"] = 4] = "IsAsyncFunction"; RangeFacts[RangeFacts["UsesThis"] = 8] = "UsesThis"; + RangeFacts[RangeFacts["UsesThisInFunction"] = 16] = "UsesThisInFunction"; /** * The range is in a function which needs the 'static' modifier in a class */ - RangeFacts[RangeFacts["InStaticRegion"] = 16] = "InStaticRegion"; + RangeFacts[RangeFacts["InStaticRegion"] = 32] = "InStaticRegion"; })(RangeFacts || (RangeFacts = {})); /** * getRangeToExtract takes a span inside a text file and returns either an expression or an array @@ -159496,11 +160106,12 @@ var ts; // We'll modify these flags as we walk the tree to collect data // about what things need to be done as part of the extraction. var rangeFacts = RangeFacts.None; + var thisNode; if (!start || !end) { // cannot find either start or end node return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } - if (start.flags & 8388608 /* JSDoc */) { + if (start.flags & 8388608 /* NodeFlags.JSDoc */) { return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractJSDoc)] }; } if (start.parent !== end.parent) { @@ -159534,7 +160145,7 @@ var ts; // the expression. return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } - return { targetRange: { range: statements, facts: rangeFacts, declarations: declarations } }; + return { targetRange: { range: statements, facts: rangeFacts, declarations: declarations, thisNode: thisNode } }; } if (ts.isReturnStatement(start) && !start.expression) { // Makes no sense to extract an expression-less return statement. @@ -159546,7 +160157,7 @@ var ts; if (errors) { return { errors: errors }; } - return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations } }; // TODO: GH#18217 + return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations, thisNode: thisNode } }; // TODO: GH#18217 /** * Attempt to refine the extraction node (generally, by shrinking it) to produce better results. * @param node The unrefined extraction node. @@ -159589,20 +160200,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 167 /* PropertyDeclaration */) { + if (current.kind === 167 /* SyntaxKind.PropertyDeclaration */) { if (ts.isStatic(current)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 164 /* Parameter */) { + else if (current.kind === 164 /* SyntaxKind.Parameter */) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 171 /* Constructor */) { + if (ctorOrMethod.kind === 171 /* SyntaxKind.Constructor */) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 169 /* MethodDeclaration */) { + else if (current.kind === 169 /* SyntaxKind.MethodDeclaration */) { if (ts.isStatic(current)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -159626,7 +160237,7 @@ var ts; if (!ts.isStatement(nodeToCheck) && !(ts.isExpressionNode(nodeToCheck) && isExtractableExpression(nodeToCheck)) && !isStringLiteralJsxAttribute(nodeToCheck)) { return [ts.createDiagnosticForNode(nodeToCheck, Messages.statementOrExpressionExpected)]; } - if (nodeToCheck.flags & 16777216 /* Ambient */) { + if (nodeToCheck.flags & 16777216 /* NodeFlags.Ambient */) { return [ts.createDiagnosticForNode(nodeToCheck, Messages.cannotExtractAmbientBlock)]; } // If we're in a class, see whether we're in a static region (static property initializer, static method, class constructor parameter default) @@ -159635,9 +160246,17 @@ var ts; checkForStaticContext(nodeToCheck, containingClass); } var errors; - var permittedJumps = 4 /* Return */; + var permittedJumps = 4 /* PermittedJumps.Return */; var seenLabels; visit(nodeToCheck); + if (rangeFacts & RangeFacts.UsesThis) { + var container = ts.getThisContainer(nodeToCheck, /** includeArrowFunctions */ false); + if (container.kind === 256 /* SyntaxKind.FunctionDeclaration */ || + (container.kind === 169 /* SyntaxKind.MethodDeclaration */ && container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) || + container.kind === 213 /* SyntaxKind.FunctionExpression */) { + rangeFacts |= RangeFacts.UsesThisInFunction; + } + } return errors; function visit(node) { if (errors) { @@ -159645,8 +160264,8 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 254 /* VariableDeclaration */) ? node.parent.parent : node; - if (ts.hasSyntacticModifier(declaringNode, 1 /* Export */)) { + var declaringNode = (node.kind === 254 /* SyntaxKind.VariableDeclaration */) ? node.parent.parent : node; + if (ts.hasSyntacticModifier(declaringNode, 1 /* ModifierFlags.Export */)) { // TODO: GH#18217 Silly to use `errors ||` since it's definitely not defined (see top of `visit`) // Also, if we're only pushing one error, just use `let error: Diagnostic | undefined`! // Also TODO: GH#19956 @@ -159657,16 +160276,16 @@ var ts; } // Some things can't be extracted in certain situations switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; - case 106 /* SuperKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: // For a super *constructor call*, we have to be extracting the entire class, // but a super *method call* simply implies a 'this' reference - if (node.parent.kind === 208 /* CallExpression */) { + if (node.parent.kind === 208 /* SyntaxKind.CallExpression */) { // Super constructor call var containingClass_1 = ts.getContainingClass(node); if (containingClass_1 === undefined || containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { @@ -159676,13 +160295,15 @@ var ts; } else { rangeFacts |= RangeFacts.UsesThis; + thisNode = node; } break; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: // check if arrow function uses this ts.forEachChild(node, function check(n) { if (ts.isThis(n)) { rangeFacts |= RangeFacts.UsesThis; + thisNode = node; } else if (ts.isClassLike(n) || (ts.isFunctionLike(n) && !ts.isArrowFunction(n))) { return false; @@ -159692,63 +160313,64 @@ var ts; } }); // falls through - case 257 /* ClassDeclaration */: - case 256 /* FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { // You cannot extract global declarations (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); } // falls through - case 226 /* ClassExpression */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 171 /* Constructor */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: + case 226 /* SyntaxKind.ClassExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: // do not dive into functions or classes return false; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 239 /* IfStatement */: - permittedJumps = 0 /* None */; + case 239 /* SyntaxKind.IfStatement */: + permittedJumps = 0 /* PermittedJumps.None */; break; - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: // forbid all jumps inside try blocks - permittedJumps = 0 /* None */; + permittedJumps = 0 /* PermittedJumps.None */; break; - case 235 /* Block */: - if (node.parent && node.parent.kind === 252 /* TryStatement */ && node.parent.finallyBlock === node) { + case 235 /* SyntaxKind.Block */: + if (node.parent && node.parent.kind === 252 /* SyntaxKind.TryStatement */ && node.parent.finallyBlock === node) { // allow unconditional returns from finally blocks - permittedJumps = 4 /* Return */; + permittedJumps = 4 /* PermittedJumps.Return */; } break; - case 290 /* DefaultClause */: - case 289 /* CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: // allow unlabeled break inside case clauses - permittedJumps |= 1 /* Break */; + permittedJumps |= 1 /* PermittedJumps.Break */; break; default: if (ts.isIterationStatement(node, /*lookInLabeledStatements*/ false)) { // allow unlabeled break/continue inside loops - permittedJumps |= 1 /* Break */ | 2 /* Continue */; + permittedJumps |= 1 /* PermittedJumps.Break */ | 2 /* PermittedJumps.Continue */; } break; } switch (node.kind) { - case 192 /* ThisType */: - case 108 /* ThisKeyword */: + case 192 /* SyntaxKind.ThisType */: + case 108 /* SyntaxKind.ThisKeyword */: rangeFacts |= RangeFacts.UsesThis; + thisNode = node; break; - case 250 /* LabeledStatement */: { + case 250 /* SyntaxKind.LabeledStatement */: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); ts.forEachChild(node, visit); seenLabels.pop(); break; } - case 246 /* BreakStatement */: - case 245 /* ContinueStatement */: { + case 246 /* SyntaxKind.BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: { var label = node.label; if (label) { if (!ts.contains(seenLabels, label.escapedText)) { @@ -159757,21 +160379,21 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 246 /* BreakStatement */ ? 1 /* Break */ : 2 /* Continue */))) { + if (!(permittedJumps & (node.kind === 246 /* SyntaxKind.BreakStatement */ ? 1 /* PermittedJumps.Break */ : 2 /* PermittedJumps.Continue */))) { // attempt to break or continue in a forbidden context (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 218 /* AwaitExpression */: + case 218 /* SyntaxKind.AwaitExpression */: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 224 /* YieldExpression */: + case 224 /* SyntaxKind.YieldExpression */: rangeFacts |= RangeFacts.IsGenerator; break; - case 247 /* ReturnStatement */: - if (permittedJumps & 4 /* Return */) { + case 247 /* SyntaxKind.ReturnStatement */: + if (permittedJumps & 4 /* PermittedJumps.Return */) { rangeFacts |= RangeFacts.HasReturn; } else { @@ -159794,7 +160416,7 @@ var ts; function getAdjustedSpanFromNodes(startNode, endNode, sourceFile) { var start = startNode.getStart(sourceFile); var end = endNode.getEnd(); - if (sourceFile.text.charCodeAt(end) === 59 /* semicolon */) { + if (sourceFile.text.charCodeAt(end) === 59 /* CharacterCodes.semicolon */) { end++; } return { start: start, length: end - start }; @@ -159826,7 +160448,7 @@ var ts; */ function collectEnclosingScopes(range) { var current = isReadonlyArray(range.range) ? ts.first(range.range) : range.range; - if (range.facts & RangeFacts.UsesThis) { + if (range.facts & RangeFacts.UsesThis && !(range.facts & RangeFacts.UsesThisInFunction)) { // if range uses this as keyword or as type inside the class then it can only be extracted to a method of the containing class var containingClass = ts.getContainingClass(current); if (containingClass) { @@ -159840,7 +160462,7 @@ var ts; while (true) { current = current.parent; // A function parameter's initializer is actually in the outer scope, not the function declaration - if (current.kind === 164 /* Parameter */) { + if (current.kind === 164 /* SyntaxKind.Parameter */) { // Skip all the way to the outer scope of the function that declared this parameter current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } @@ -159851,7 +160473,7 @@ var ts; // * Module/namespace or source file if (isScope(current)) { scopes.push(current); - if (current.kind === 305 /* SourceFile */) { + if (current.kind === 305 /* SyntaxKind.SourceFile */) { return scopes; } } @@ -159891,11 +160513,11 @@ var ts; : getDescriptionForModuleLikeDeclaration(scope); var functionDescription; var constantDescription; - if (scopeDescription === 1 /* Global */) { + if (scopeDescription === 1 /* SpecialScope.Global */) { functionDescription = ts.formatStringFromArgs(ts.getLocaleSpecificMessage(ts.Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "global"]); constantDescription = ts.formatStringFromArgs(ts.getLocaleSpecificMessage(ts.Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "global"]); } - else if (scopeDescription === 0 /* Module */) { + else if (scopeDescription === 0 /* SpecialScope.Module */) { functionDescription = ts.formatStringFromArgs(ts.getLocaleSpecificMessage(ts.Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "module"]); constantDescription = ts.formatStringFromArgs(ts.getLocaleSpecificMessage(ts.Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "module"]); } @@ -159941,34 +160563,34 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: return "constructor"; - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: return scope.name - ? "function '" + scope.name.text + "'" + ? "function '".concat(scope.name.text, "'") : ts.ANONYMOUS; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return "arrow function"; - case 169 /* MethodDeclaration */: - return "method '" + scope.name.getText() + "'"; - case 172 /* GetAccessor */: - return "'get " + scope.name.getText() + "'"; - case 173 /* SetAccessor */: - return "'set " + scope.name.getText() + "'"; + case 169 /* SyntaxKind.MethodDeclaration */: + return "method '".concat(scope.name.getText(), "'"); + case 172 /* SyntaxKind.GetAccessor */: + return "'get ".concat(scope.name.getText(), "'"); + case 173 /* SyntaxKind.SetAccessor */: + return "'set ".concat(scope.name.getText(), "'"); default: - throw ts.Debug.assertNever(scope, "Unexpected scope kind " + scope.kind); + throw ts.Debug.assertNever(scope, "Unexpected scope kind ".concat(scope.kind)); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 257 /* ClassDeclaration */ - ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration" - : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression"; + return scope.kind === 257 /* SyntaxKind.ClassDeclaration */ + ? scope.name ? "class '".concat(scope.name.text, "'") : "anonymous class declaration" + : scope.name ? "class expression '".concat(scope.name.text, "'") : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 262 /* ModuleBlock */ - ? "namespace '" + scope.parent.name.getText() + "'" - : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */; + return scope.kind === 262 /* SyntaxKind.ModuleBlock */ + ? "namespace '".concat(scope.parent.name.getText(), "'") + : scope.externalModuleIndicator ? 0 /* SpecialScope.Module */ : 1 /* SpecialScope.Global */; } var SpecialScope; (function (SpecialScope) { @@ -159999,7 +160621,7 @@ var ts; var type = checker.getTypeOfSymbolAtLocation(usage.symbol, usage.node); // Widen the type so we don't emit nonsense annotations like "function fn(x: 3) {" type = checker.getBaseTypeOfLiteralType(type); - typeNode = ts.codefix.typeToAutoImportableTypeNode(checker, importAdder, type, scope, scriptTarget, 1 /* NoTruncation */); + typeNode = ts.codefix.typeToAutoImportableTypeNode(checker, importAdder, type, scope, scriptTarget, 1 /* NodeBuilderFlags.NoTruncation */); } var paramDecl = ts.factory.createParameterDeclaration( /*decorators*/ undefined, @@ -160008,7 +160630,7 @@ var ts; /*name*/ name, /*questionToken*/ undefined, typeNode); parameters.push(paramDecl); - if (usage.usage === 2 /* Write */) { + if (usage.usage === 2 /* Usage.Write */) { (writes || (writes = [])).push(usage); } callArguments.push(ts.factory.createIdentifier(name)); @@ -160027,27 +160649,37 @@ var ts; // to avoid problems when there are literal types present if (ts.isExpression(node) && !isJS) { var contextualType = checker.getContextualType(node); - returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NoTruncation */); // TODO: GH#18217 + returnType = checker.typeToTypeNode(contextualType, scope, 1 /* NodeBuilderFlags.NoTruncation */); // TODO: GH#18217 } var _b = transformFunctionBody(node, exposedVariableDeclarations, writes, substitutions, !!(range.facts & RangeFacts.HasReturn)), body = _b.body, returnValueProperty = _b.returnValueProperty; ts.suppressLeadingAndTrailingTrivia(body); var newFunction; + var callThis = !!(range.facts & RangeFacts.UsesThisInFunction); if (ts.isClassLike(scope)) { // always create private method in TypeScript files - var modifiers = isJS ? [] : [ts.factory.createModifier(121 /* PrivateKeyword */)]; + var modifiers = isJS ? [] : [ts.factory.createModifier(121 /* SyntaxKind.PrivateKeyword */)]; if (range.facts & RangeFacts.InStaticRegion) { - modifiers.push(ts.factory.createModifier(124 /* StaticKeyword */)); + modifiers.push(ts.factory.createModifier(124 /* SyntaxKind.StaticKeyword */)); } if (range.facts & RangeFacts.IsAsyncFunction) { - modifiers.push(ts.factory.createModifier(131 /* AsyncKeyword */)); + modifiers.push(ts.factory.createModifier(131 /* SyntaxKind.AsyncKeyword */)); } newFunction = ts.factory.createMethodDeclaration( - /*decorators*/ undefined, modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* AsteriskToken */) : undefined, functionName, + /*decorators*/ undefined, modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, /*questionToken*/ undefined, typeParameters, parameters, returnType, body); } else { + if (callThis) { + parameters.unshift(ts.factory.createParameterDeclaration( + /*decorators*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ "this", + /*questionToken*/ undefined, checker.typeToTypeNode(checker.getTypeAtLocation(range.thisNode), scope, 1 /* NodeBuilderFlags.NoTruncation */), + /*initializer*/ undefined)); + } newFunction = ts.factory.createFunctionDeclaration( - /*decorators*/ undefined, range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(131 /* AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); + /*decorators*/ undefined, range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(131 /* SyntaxKind.AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); } var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); var minInsertionPos = (isReadonlyArray(range.range) ? ts.last(range.range) : range.range).end; @@ -160062,10 +160694,13 @@ var ts; var newNodes = []; // replace range with function call var called = getCalledExpression(scope, range, functionNameText); - var call = ts.factory.createCallExpression(called, callTypeArguments, // Note that no attempt is made to take advantage of type argument inference + if (callThis) { + callArguments.unshift(ts.factory.createIdentifier("this")); + } + var call = ts.factory.createCallExpression(callThis ? ts.factory.createPropertyAccessExpression(called, "call") : called, callTypeArguments, // Note that no attempt is made to take advantage of type argument inference callArguments); if (range.facts & RangeFacts.IsGenerator) { - call = ts.factory.createYieldExpression(ts.factory.createToken(41 /* AsteriskToken */), call); + call = ts.factory.createYieldExpression(ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */), call); } if (range.facts & RangeFacts.IsAsyncFunction) { call = ts.factory.createAwaitExpression(call); @@ -160099,7 +160734,7 @@ var ts; /*propertyName*/ undefined, /*name*/ ts.getSynthesizedDeepClone(variableDeclaration.name))); // Being returned through an object literal will have widened the type. - var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NoTruncation */); + var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NodeBuilderFlags.NoTruncation */); typeElements.push(ts.factory.createPropertySignature( /*modifiers*/ undefined, /*name*/ variableDeclaration.symbol.name, @@ -160110,7 +160745,7 @@ var ts; } var typeLiteral = sawExplicitType ? ts.factory.createTypeLiteralNode(typeElements) : undefined; if (typeLiteral) { - ts.setEmitFlags(typeLiteral, 1 /* SingleLine */); + ts.setEmitFlags(typeLiteral, 1 /* EmitFlags.SingleLine */); } newNodes.push(ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(ts.factory.createObjectBindingPattern(bindingElements), @@ -160125,8 +160760,8 @@ var ts; for (var _c = 0, exposedVariableDeclarations_2 = exposedVariableDeclarations; _c < exposedVariableDeclarations_2.length; _c++) { var variableDeclaration = exposedVariableDeclarations_2[_c]; var flags = variableDeclaration.parent.flags; - if (flags & 2 /* Const */) { - flags = (flags & ~2 /* Const */) | 1 /* Let */; + if (flags & 2 /* NodeFlags.Const */) { + flags = (flags & ~2 /* NodeFlags.Const */) | 1 /* NodeFlags.Let */; } newNodes.push(ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(variableDeclaration.symbol.name, /*exclamationToken*/ undefined, getTypeDeepCloneUnionUndefined(variableDeclaration.type))], flags))); @@ -160135,7 +160770,7 @@ var ts; if (returnValueProperty) { // has both writes and return, need to create variable declaration to hold return value; newNodes.push(ts.factory.createVariableStatement( - /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(returnValueProperty, /*exclamationToken*/ undefined, getTypeDeepCloneUnionUndefined(returnType))], 1 /* Let */))); + /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(returnValueProperty, /*exclamationToken*/ undefined, getTypeDeepCloneUnionUndefined(returnType))], 1 /* NodeFlags.Let */))); } var assignments = getPropertyAssignmentsForWritesAndVariableDeclarations(exposedVariableDeclarations, writes); if (returnValueProperty) { @@ -160192,9 +160827,9 @@ var ts; while (ts.isParenthesizedTypeNode(withoutParens)) { withoutParens = withoutParens.type; } - return ts.isUnionTypeNode(withoutParens) && ts.find(withoutParens.types, function (t) { return t.kind === 153 /* UndefinedKeyword */; }) + return ts.isUnionTypeNode(withoutParens) && ts.find(withoutParens.types, function (t) { return t.kind === 153 /* SyntaxKind.UndefinedKeyword */; }) ? clone - : ts.factory.createUnionTypeNode([clone, ts.factory.createKeywordTypeNode(153 /* UndefinedKeyword */)]); + : ts.factory.createUnionTypeNode([clone, ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */)]); } } /** @@ -160207,13 +160842,13 @@ var ts; var checker = context.program.getTypeChecker(); // Make a unique name for the extracted variable var file = scope.getSourceFile(); - var localNameText = ts.isPropertyAccessExpression(node) && !ts.isClassLike(scope) && !checker.resolveName(node.name.text, node, 111551 /* Value */, /*excludeGlobals*/ false) && !ts.isPrivateIdentifier(node.name) && !ts.isKeyword(node.name.originalKeywordKind) + var localNameText = ts.isPropertyAccessExpression(node) && !ts.isClassLike(scope) && !checker.resolveName(node.name.text, node, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ false) && !ts.isPrivateIdentifier(node.name) && !ts.isKeyword(node.name.originalKeywordKind) ? node.name.text : ts.getUniqueName(ts.isClassLike(scope) ? "newProperty" : "newLocal", file); var isJS = ts.isInJSFile(scope); var variableType = isJS || !checker.isContextSensitive(node) ? undefined - : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NoTruncation */); // TODO: GH#18217 + : checker.typeToTypeNode(checker.getContextualType(node), scope, 1 /* NodeBuilderFlags.NoTruncation */); // TODO: GH#18217 var initializer = transformConstantInitializer(ts.skipParentheses(node), substitutions); (_b = transformFunctionInitializerAndType(variableType, initializer), variableType = _b.variableType, initializer = _b.initializer); ts.suppressLeadingAndTrailingTrivia(initializer); @@ -160221,11 +160856,11 @@ var ts; if (ts.isClassLike(scope)) { ts.Debug.assert(!isJS, "Cannot extract to a JS class"); // See CannotExtractToJSClass var modifiers = []; - modifiers.push(ts.factory.createModifier(121 /* PrivateKeyword */)); + modifiers.push(ts.factory.createModifier(121 /* SyntaxKind.PrivateKeyword */)); if (rangeFacts & RangeFacts.InStaticRegion) { - modifiers.push(ts.factory.createModifier(124 /* StaticKeyword */)); + modifiers.push(ts.factory.createModifier(124 /* SyntaxKind.StaticKeyword */)); } - modifiers.push(ts.factory.createModifier(145 /* ReadonlyKeyword */)); + modifiers.push(ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */)); var newVariable = ts.factory.createPropertyDeclaration( /*decorators*/ undefined, modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); @@ -160257,16 +160892,16 @@ var ts; var localReference = ts.factory.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 238 /* ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { // If the parent is an expression statement and the target scope is the immediately enclosing one, // replace the statement with the declaration. var newVariableStatement = ts.factory.createVariableStatement( - /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([newVariableDeclaration], 2 /* Const */)); + /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([newVariableDeclaration], 2 /* NodeFlags.Const */)); changeTracker.replaceNode(context.file, node.parent, newVariableStatement); } else { var newVariableStatement = ts.factory.createVariableStatement( - /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([newVariableDeclaration], 2 /* Const */)); + /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([newVariableDeclaration], 2 /* NodeFlags.Const */)); // Declare var nodeToInsertBefore = getNodeToInsertConstantBefore(node, scope); if (nodeToInsertBefore.pos === 0) { @@ -160276,7 +160911,7 @@ var ts; changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, /*blankLineBetween*/ false); } // Consume - if (node.parent.kind === 238 /* ExpressionStatement */) { + if (node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */) { // If the parent is an expression statement, delete it. changeTracker.delete(context.file, node.parent); } @@ -160303,7 +160938,7 @@ var ts; if (!ts.isFunctionExpression(initializer) && !ts.isArrowFunction(initializer) || !!initializer.typeParameters) return { variableType: variableType, initializer: initializer }; var functionType = checker.getTypeAtLocation(node); - var functionSignature = ts.singleOrUndefined(checker.getSignaturesOfType(functionType, 0 /* Call */)); + var functionSignature = ts.singleOrUndefined(checker.getSignaturesOfType(functionType, 0 /* SignatureKind.Call */)); // If no function signature, maybe there was an error, do nothing if (!functionSignature) return { variableType: variableType, initializer: initializer }; @@ -160322,7 +160957,7 @@ var ts; var paramType = checker.getTypeAtLocation(p); if (paramType === checker.getAnyType()) hasAny = true; - parameters.push(ts.factory.updateParameterDeclaration(p, p.decorators, p.modifiers, p.dotDotDotToken, p.name, p.questionToken, p.type || checker.typeToTypeNode(paramType, scope, 1 /* NoTruncation */), p.initializer)); + parameters.push(ts.factory.updateParameterDeclaration(p, p.decorators, p.modifiers, p.dotDotDotToken, p.name, p.questionToken, p.type || checker.typeToTypeNode(paramType, scope, 1 /* NodeBuilderFlags.NoTruncation */), p.initializer)); } } // If a parameter was inferred as any we skip adding function parameters at all. @@ -160332,7 +160967,7 @@ var ts; return { variableType: variableType, initializer: initializer }; variableType = undefined; if (ts.isArrowFunction(initializer)) { - initializer = ts.factory.updateArrowFunction(initializer, node.modifiers, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NoTruncation */), initializer.equalsGreaterThanToken, initializer.body); + initializer = ts.factory.updateArrowFunction(initializer, node.modifiers, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NodeBuilderFlags.NoTruncation */), initializer.equalsGreaterThanToken, initializer.body); } else { if (functionSignature && !!functionSignature.thisParameter) { @@ -160345,10 +160980,10 @@ var ts; /* decorators */ undefined, /* modifiers */ undefined, /* dotDotDotToken */ undefined, "this", - /* questionToken */ undefined, checker.typeToTypeNode(thisType, scope, 1 /* NoTruncation */))); + /* questionToken */ undefined, checker.typeToTypeNode(thisType, scope, 1 /* NodeBuilderFlags.NoTruncation */))); } } - initializer = ts.factory.updateFunctionExpression(initializer, node.modifiers, initializer.asteriskToken, initializer.name, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NoTruncation */), initializer.body); + initializer = ts.factory.updateFunctionExpression(initializer, node.modifiers, initializer.asteriskToken, initializer.name, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NodeBuilderFlags.NoTruncation */), initializer.body); } return { variableType: variableType, initializer: initializer }; } @@ -160595,7 +161230,7 @@ var ts; var end = ts.last(statements).end; expressionDiagnostic = ts.createFileDiagnostic(sourceFile, start, end - start, Messages.expressionExpected); } - else if (checker.getTypeAtLocation(expression).flags & (16384 /* Void */ | 131072 /* Never */)) { + else if (checker.getTypeAtLocation(expression).flags & (16384 /* TypeFlags.Void */ | 131072 /* TypeFlags.Never */)) { expressionDiagnostic = ts.createDiagnosticForNode(expression, Messages.uselessConstantType); } // initialize results @@ -160673,14 +161308,17 @@ var ts; var errorNode = isReadonlyArray(targetRange.range) ? targetRange.range[0] : targetRange.range; constantErrorsPerScope[i].push(ts.createDiagnosticForNode(errorNode, Messages.cannotAccessVariablesFromNestedScopes)); } + if (targetRange.facts & RangeFacts.UsesThisInFunction && ts.isClassLike(scopes[i])) { + functionErrorsPerScope[i].push(ts.createDiagnosticForNode(targetRange.thisNode, Messages.cannotExtractFunctionsContainingThisToMethod)); + } var hasWrite = false; var readonlyClassPropertyWrite; usagesPerScope[i].usages.forEach(function (value) { - if (value.usage === 2 /* Write */) { + if (value.usage === 2 /* Usage.Write */) { hasWrite = true; - if (value.symbol.flags & 106500 /* ClassMember */ && + if (value.symbol.flags & 106500 /* SymbolFlags.ClassMember */ && value.symbol.valueDeclaration && - ts.hasEffectiveModifier(value.symbol.valueDeclaration, 64 /* Readonly */)) { + ts.hasEffectiveModifier(value.symbol.valueDeclaration, 64 /* ModifierFlags.Readonly */)) { readonlyClassPropertyWrite = value.symbol.valueDeclaration; } } @@ -160724,7 +161362,7 @@ var ts; } } function collectUsages(node, valueUsage) { - if (valueUsage === void 0) { valueUsage = 1 /* Read */; } + if (valueUsage === void 0) { valueUsage = 1 /* Usage.Read */; } if (inGenericContext) { var type = checker.getTypeAtLocation(node); recordTypeParameterUsages(type); @@ -160734,11 +161372,11 @@ var ts; } if (ts.isAssignmentExpression(node)) { // use 'write' as default usage for values - collectUsages(node.left, 2 /* Write */); + collectUsages(node.left, 2 /* Usage.Write */); collectUsages(node.right); } else if (ts.isUnaryExpressionWithWrite(node)) { - collectUsages(node.operand, 2 /* Write */); + collectUsages(node.operand, 2 /* Usage.Write */); } else if (ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) { // use 'write' as default usage for values @@ -160812,7 +161450,7 @@ var ts; // declaration is located in range to be extracted - do nothing return undefined; } - if (targetRange.facts & RangeFacts.IsGenerator && usage === 2 /* Write */) { + if (targetRange.facts & RangeFacts.IsGenerator && usage === 2 /* Usage.Write */) { // this is write to a reference located outside of the target scope and range is extracted into generator // currently this is unsupported scenario var diag = ts.createDiagnosticForNode(identifier, Messages.cannotExtractRangeThatContainsWritesToReferencesLocatedOutsideOfTheTargetRangeInGenerators); @@ -160839,7 +161477,7 @@ var ts; else if (isTypeName) { // If the symbol is a type parameter that won't be in scope, we'll pass it as a type argument // so there's no problem. - if (!(symbol.flags & 262144 /* TypeParameter */)) { + if (!(symbol.flags & 262144 /* SymbolFlags.TypeParameter */)) { var diag = ts.createDiagnosticForNode(identifier, Messages.typeWillNotBeVisibleInTheNewScope); functionErrorsPerScope[i].push(diag); constantErrorsPerScope[i].push(diag); @@ -160920,30 +161558,30 @@ var ts; function isExtractableExpression(node) { var parent = node.parent; switch (parent.kind) { - case 299 /* EnumMember */: + case 299 /* SyntaxKind.EnumMember */: return false; } switch (node.kind) { - case 10 /* StringLiteral */: - return parent.kind !== 266 /* ImportDeclaration */ && - parent.kind !== 270 /* ImportSpecifier */; - case 225 /* SpreadElement */: - case 201 /* ObjectBindingPattern */: - case 203 /* BindingElement */: + case 10 /* SyntaxKind.StringLiteral */: + return parent.kind !== 266 /* SyntaxKind.ImportDeclaration */ && + parent.kind !== 270 /* SyntaxKind.ImportSpecifier */; + case 225 /* SyntaxKind.SpreadElement */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 203 /* SyntaxKind.BindingElement */: return false; - case 79 /* Identifier */: - return parent.kind !== 203 /* BindingElement */ && - parent.kind !== 270 /* ImportSpecifier */ && - parent.kind !== 275 /* ExportSpecifier */; + case 79 /* SyntaxKind.Identifier */: + return parent.kind !== 203 /* SyntaxKind.BindingElement */ && + parent.kind !== 270 /* SyntaxKind.ImportSpecifier */ && + parent.kind !== 275 /* SyntaxKind.ExportSpecifier */; } return true; } function isBlockLike(node) { switch (node.kind) { - case 235 /* Block */: - case 305 /* SourceFile */: - case 262 /* ModuleBlock */: - case 289 /* CaseClause */: + case 235 /* SyntaxKind.Block */: + case 305 /* SyntaxKind.SourceFile */: + case 262 /* SyntaxKind.ModuleBlock */: + case 289 /* SyntaxKind.CaseClause */: return true; default: return false; @@ -161089,7 +161727,7 @@ var ts; if (ts.isTypeReferenceNode(node)) { if (ts.isIdentifier(node.typeName)) { var typeName = node.typeName; - var symbol = checker.resolveName(typeName.text, typeName, 262144 /* TypeParameter */, /* excludeGlobals */ true); + var symbol = checker.resolveName(typeName.text, typeName, 262144 /* SymbolFlags.TypeParameter */, /* excludeGlobals */ true); for (var _i = 0, _a = (symbol === null || symbol === void 0 ? void 0 : symbol.declarations) || ts.emptyArray; _i < _a.length; _i++) { var decl = _a[_i]; if (ts.isTypeParameterDeclaration(decl) && decl.getSourceFile() === file) { @@ -161120,7 +161758,7 @@ var ts; } else if (ts.isTypeQueryNode(node)) { if (ts.isIdentifier(node.exprName)) { - var symbol = checker.resolveName(node.exprName.text, node.exprName, 111551 /* Value */, /* excludeGlobals */ false); + var symbol = checker.resolveName(node.exprName.text, node.exprName, 111551 /* SymbolFlags.Value */, /* excludeGlobals */ false); if ((symbol === null || symbol === void 0 ? void 0 : symbol.valueDeclaration) && rangeContainsSkipTrivia(statement, symbol.valueDeclaration, file) && !rangeContainsSkipTrivia(selection, symbol.valueDeclaration, file)) { return true; } @@ -161132,7 +161770,7 @@ var ts; } } if (file && ts.isTupleTypeNode(node) && (ts.getLineAndCharacterOfPosition(file, node.pos).line === ts.getLineAndCharacterOfPosition(file, node.end).line)) { - ts.setEmitFlags(node, 1 /* SingleLine */); + ts.setEmitFlags(node, 1 /* EmitFlags.SingleLine */); } return ts.forEachChild(node, visitor); } @@ -161158,7 +161796,7 @@ var ts; } function doTypedefChange(changes, file, name, info) { var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters; - ts.setEmitFlags(selection, 1536 /* NoComments */ | 2048 /* NoNestedComments */); + ts.setEmitFlags(selection, 1536 /* EmitFlags.NoComments */ | 2048 /* EmitFlags.NoNestedComments */); var node = ts.factory.createJSDocTypedefTag(ts.factory.createIdentifier("typedef"), ts.factory.createJSDocTypeExpression(selection), ts.factory.createIdentifier(name)); var templates = []; ts.forEach(typeParameters, function (typeParameter) { @@ -161342,11 +161980,11 @@ var ts; } function isPureImport(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return true; - case 265 /* ImportEqualsDeclaration */: - return !ts.hasSyntacticModifier(node, 1 /* Export */); - case 237 /* VariableStatement */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + return !ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */); + case 237 /* SyntaxKind.VariableStatement */: return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); default: return false; @@ -161386,7 +162024,7 @@ var ts; var body = addExports(oldFile, toMove.all, usage.oldFileImportsFromNewFile, useEsModuleSyntax); if (imports.length && body.length) { return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], prologueDirectives, true), imports, true), [ - 4 /* NewLineTrivia */ + 4 /* SyntaxKind.NewLineTrivia */ ], false), body, true); } return __spreadArray(__spreadArray(__spreadArray([], prologueDirectives, true), imports, true), body, true); @@ -161442,25 +162080,25 @@ var ts; } function getNamespaceLikeImport(node) { switch (node.kind) { - case 266 /* ImportDeclaration */: - return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 268 /* NamespaceImport */ ? + case 266 /* SyntaxKind.ImportDeclaration */: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ ? node.importClause.namedBindings.name : undefined; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return node.name; - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return ts.tryCast(node.name, ts.isIdentifier); default: - return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind); + return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); } } function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) { - var preferredNewNamespaceName = ts.codefix.moduleSpecifierToValidIdentifier(newModuleName, 99 /* ESNext */); + var preferredNewNamespaceName = ts.codefix.moduleSpecifierToValidIdentifier(newModuleName, 99 /* ScriptTarget.ESNext */); var needUniqueName = false; var toChange = []; ts.FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, function (ref) { if (!ts.isPropertyAccessExpression(ref.parent)) return; - needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, 67108863 /* All */, /*excludeGlobals*/ true); + needUniqueName = needUniqueName || !!checker.resolveName(preferredNewNamespaceName, ref, 67108863 /* SymbolFlags.All */, /*excludeGlobals*/ true); if (movedSymbols.has(checker.getSymbolAtLocation(ref.parent.name))) { toChange.push(ref); } @@ -161478,21 +162116,21 @@ var ts; var newNamespaceId = ts.factory.createIdentifier(newNamespaceName); var newModuleString = ts.factory.createStringLiteral(newModuleSpecifier); switch (node.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: return ts.factory.createImportDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, /*assertClause*/ undefined); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return ts.factory.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, newNamespaceId, ts.factory.createExternalModuleReference(newModuleString)); - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return ts.factory.createVariableDeclaration(newNamespaceId, /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(newModuleString)); default: - return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind); + return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); } } function moduleSpecifierFromImport(i) { - return (i.kind === 266 /* ImportDeclaration */ ? i.moduleSpecifier - : i.kind === 265 /* ImportEqualsDeclaration */ ? i.moduleReference.expression + return (i.kind === 266 /* SyntaxKind.ImportDeclaration */ ? i.moduleSpecifier + : i.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -161518,7 +162156,7 @@ var ts; var defaultImport; var imports = []; newFileNeedExport.forEach(function (symbol) { - if (symbol.escapedName === "default" /* Default */) { + if (symbol.escapedName === "default" /* InternalSymbolName.Default */) { defaultImport = ts.factory.createIdentifier(ts.symbolNameNoDefault(symbol)); // TODO: GH#18217 } else { @@ -161542,7 +162180,7 @@ var ts; } } function makeVariableStatement(name, type, initializer, flags) { - if (flags === void 0) { flags = 2 /* Const */; } + if (flags === void 0) { flags = 2 /* NodeFlags.Const */; } return ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(name, /*exclamationToken*/ undefined, type, initializer)], flags)); } function createRequireCall(moduleSpecifier) { @@ -161562,19 +162200,19 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: if (isUnused(importDecl.name)) { changes.delete(sourceFile, importDecl); } break; - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: - ts.Debug.assertNever(importDecl, "Unexpected import decl kind " + importDecl.kind); + ts.Debug.assertNever(importDecl, "Unexpected import decl kind ".concat(importDecl.kind)); } } function deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused) { @@ -161583,7 +162221,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 268 /* NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.length !== 0 && namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.length !== 0 && namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.delete(sourceFile, importDecl); } @@ -161595,7 +162233,7 @@ var ts; if (namedBindingsUnused) { changes.replaceNode(sourceFile, importDecl.importClause, ts.factory.updateImportClause(importDecl.importClause, importDecl.importClause.isTypeOnly, name, /*namedBindings*/ undefined)); } - else if (namedBindings.kind === 269 /* NamedImports */) { + else if (namedBindings.kind === 269 /* SyntaxKind.NamedImports */) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -161608,14 +162246,14 @@ var ts; function deleteUnusedImportsInVariableDeclaration(sourceFile, varDecl, changes, isUnused) { var name = varDecl.name; switch (name.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: if (isUnused(name)) { changes.delete(sourceFile, name); } break; - case 202 /* ArrayBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: break; - case 201 /* ObjectBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.delete(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -161657,7 +162295,7 @@ var ts; if (markSeenTop(top)) { addExportToChanges(oldFile, top, name, changes, useEsModuleSyntax); } - if (ts.hasSyntacticModifier(decl, 512 /* Default */)) { + if (ts.hasSyntacticModifier(decl, 512 /* ModifierFlags.Default */)) { oldFileDefault = name; } else { @@ -161674,7 +162312,7 @@ var ts; var name = ts.combinePaths(inDirectory, newModuleName + extension); if (!host.fileExists(name)) return newModuleName; - newModuleName = moduleName + "." + i; + newModuleName = "".concat(moduleName, ".").concat(i); } } function getNewModuleName(movedSymbols) { @@ -161684,7 +162322,7 @@ var ts; var movedSymbols = new SymbolSet(); var oldImportsNeededByNewFile = new SymbolSet(); var newFileImportsFromOldFile = new SymbolSet(); - var containsJsx = ts.find(toMove, function (statement) { return !!(statement.transformFlags & 2 /* ContainsJsx */); }); + var containsJsx = ts.find(toMove, function (statement) { return !!(statement.transformFlags & 2 /* TransformFlags.ContainsJsx */); }); var jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx); if (jsxNamespaceSymbol) { // Might not exist (e.g. in non-compiling code) oldImportsNeededByNewFile.add(jsxNamespaceSymbol); @@ -161718,7 +162356,7 @@ var ts; if (ts.contains(toMove, statement)) continue; // jsxNamespaceSymbol will only be set iff it is in oldImportsNeededByNewFile. - if (jsxNamespaceSymbol && !!(statement.transformFlags & 2 /* ContainsJsx */)) { + if (jsxNamespaceSymbol && !!(statement.transformFlags & 2 /* TransformFlags.ContainsJsx */)) { unusedImportsFromOldFile.delete(jsxNamespaceSymbol); } forEachReference(statement, checker, function (symbol) { @@ -161736,7 +162374,7 @@ var ts; // Strictly speaking, this could resolve to a symbol other than the JSX namespace. // This will produce erroneous output (probably, an incorrectly copied import) but // is expected to be very rare and easily reversible. - var jsxNamespaceSymbol = checker.resolveName(jsxNamespace, containsJsx, 1920 /* Namespace */, /*excludeGlobals*/ true); + var jsxNamespaceSymbol = checker.resolveName(jsxNamespace, containsJsx, 1920 /* SymbolFlags.Namespace */, /*excludeGlobals*/ true); return !!jsxNamespaceSymbol && ts.some(jsxNamespaceSymbol.declarations, isInImport) ? jsxNamespaceSymbol : undefined; @@ -161745,14 +162383,14 @@ var ts; // Below should all be utilities function isInImport(decl) { switch (decl.kind) { - case 265 /* ImportEqualsDeclaration */: - case 270 /* ImportSpecifier */: - case 267 /* ImportClause */: - case 268 /* NamespaceImport */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 267 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.NamespaceImport */: return true; - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return isVariableDeclarationInImport(decl); - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -161764,7 +162402,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 266 /* ImportDeclaration */: { + case 266 /* SyntaxKind.ImportDeclaration */: { var clause = i.importClause; if (!clause) return undefined; @@ -161774,18 +162412,18 @@ var ts; ? ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined) : undefined; } - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return keep(i.name) ? i : undefined; - case 254 /* VariableDeclaration */: { + case 254 /* SyntaxKind.VariableDeclaration */: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } default: - return ts.Debug.assertNever(i, "Unexpected import kind " + i.kind); + return ts.Debug.assertNever(i, "Unexpected import kind ".concat(i.kind)); } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 268 /* NamespaceImport */) { + if (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -161795,11 +162433,11 @@ var ts; } function filterBindingName(name, keep) { switch (name.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return keep(name) ? name : undefined; - case 202 /* ArrayBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: return name; - case 201 /* ObjectBindingPattern */: { + case 201 /* SyntaxKind.ObjectBindingPattern */: { // We can't handle nested destructurings or property names well here, so just copy them all. var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.factory.createObjectBindingPattern(newElements) : undefined; @@ -161856,13 +162494,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 261 /* ModuleDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 258 /* InterfaceDeclaration */: - case 265 /* ImportEqualsDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return true; default: return false; @@ -161870,19 +162508,19 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: - case 261 /* ModuleDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 258 /* InterfaceDeclaration */: - case 265 /* ImportEqualsDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return cb(statement); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return ts.firstDefined(statement.declarationList.declarations, function (decl) { return forEachTopLevelDeclarationInBindingName(decl.name, cb); }); - case 238 /* ExpressionStatement */: { + case 238 /* SyntaxKind.ExpressionStatement */: { var expression = statement.expression; - return ts.isBinaryExpression(expression) && ts.getAssignmentDeclarationKind(expression) === 1 /* ExportsProperty */ + return ts.isBinaryExpression(expression) && ts.getAssignmentDeclarationKind(expression) === 1 /* AssignmentDeclarationKind.ExportsProperty */ ? cb(statement) : undefined; } @@ -161890,13 +162528,13 @@ var ts; } function forEachTopLevelDeclarationInBindingName(name, cb) { switch (name.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return cb(ts.cast(name.parent, function (x) { return ts.isVariableDeclaration(x) || ts.isBindingElement(x); })); - case 202 /* ArrayBindingPattern */: - case 201 /* ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: return ts.firstDefined(name.elements, function (em) { return ts.isOmittedExpression(em) ? undefined : forEachTopLevelDeclarationInBindingName(em.name, cb); }); default: - return ts.Debug.assertNever(name, "Unexpected name kind " + name.kind); + return ts.Debug.assertNever(name, "Unexpected name kind ".concat(name.kind)); } } function nameOfTopLevelDeclaration(d) { @@ -161904,9 +162542,9 @@ var ts; } function getTopLevelDeclarationStatement(d) { switch (d.kind) { - case 254 /* VariableDeclaration */: + case 254 /* SyntaxKind.VariableDeclaration */: return d.parent.parent; - case 203 /* BindingElement */: + case 203 /* SyntaxKind.BindingElement */: return getTopLevelDeclarationStatement(ts.cast(d.parent.parent, function (p) { return ts.isVariableDeclaration(p) || ts.isBindingElement(p); })); default: return d; @@ -161928,7 +162566,7 @@ var ts; function isExported(sourceFile, decl, useEs6Exports, name) { var _a; if (useEs6Exports) { - return !ts.isExpressionStatement(decl) && ts.hasSyntacticModifier(decl, 1 /* Export */) || !!(name && ((_a = sourceFile.symbol.exports) === null || _a === void 0 ? void 0 : _a.has(name.escapedText))); + return !ts.isExpressionStatement(decl) && ts.hasSyntacticModifier(decl, 1 /* ModifierFlags.Export */) || !!(name && ((_a = sourceFile.symbol.exports) === null || _a === void 0 ? void 0 : _a.has(name.escapedText))); } return getNamesToExportInCommonJS(decl).some(function (name) { return sourceFile.symbol.exports.has(ts.escapeLeadingUnderscores(name)); }); } @@ -161936,28 +162574,28 @@ var ts; return useEs6Exports ? [addEs6Export(decl)] : addCommonjsExport(decl); } function addEs6Export(d) { - var modifiers = ts.concatenate([ts.factory.createModifier(93 /* ExportKeyword */)], d.modifiers); + var modifiers = ts.concatenate([ts.factory.createModifier(93 /* SyntaxKind.ExportKeyword */)], d.modifiers); switch (d.kind) { - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return ts.factory.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return ts.factory.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return ts.factory.updateVariableStatement(d, modifiers, d.declarationList); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: return ts.factory.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: return ts.factory.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); - case 259 /* TypeAliasDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return ts.factory.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); - case 258 /* InterfaceDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: return ts.factory.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return ts.factory.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.isTypeOnly, d.name, d.moduleReference); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - return ts.Debug.assertNever(d, "Unexpected declaration kind " + d.kind); + return ts.Debug.assertNever(d, "Unexpected declaration kind ".concat(d.kind)); } } function addCommonjsExport(decl) { @@ -161965,26 +162603,26 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 256 /* FunctionDeclaration */: - case 257 /* ClassDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: return [decl.name.text]; // TODO: GH#18217 - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); - case 261 /* ModuleDeclaration */: - case 260 /* EnumDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 258 /* InterfaceDeclaration */: - case 265 /* ImportEqualsDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: return ts.emptyArray; - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: return ts.Debug.fail("Can't export an ExpressionStatement"); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: - return ts.Debug.assertNever(decl, "Unexpected decl kind " + decl.kind); + return ts.Debug.assertNever(decl, "Unexpected decl kind ".concat(decl.kind)); } } /** Creates `exports.x = x;` */ function createExportAssignment(name) { - return ts.factory.createExpressionStatement(ts.factory.createBinaryExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier("exports"), ts.factory.createIdentifier(name)), 63 /* EqualsToken */, ts.factory.createIdentifier(name))); + return ts.factory.createExpressionStatement(ts.factory.createBinaryExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier("exports"), ts.factory.createIdentifier(name)), 63 /* SyntaxKind.EqualsToken */, ts.factory.createIdentifier(name))); } })(refactor = ts.refactor || (ts.refactor = {})); })(ts || (ts = {})); @@ -162047,14 +162685,14 @@ var ts; if (actionName === addBracesAction.name) { var returnStatement_1 = ts.factory.createReturnStatement(expression); body = ts.factory.createBlock([returnStatement_1], /* multiLine */ true); - ts.copyLeadingComments(expression, returnStatement_1, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ true); + ts.copyLeadingComments(expression, returnStatement_1, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ true); } else if (actionName === removeBracesAction.name && returnStatement) { var actualExpression = expression || ts.factory.createVoidZero(); body = ts.needsParentheses(actualExpression) ? ts.factory.createParenthesizedExpression(actualExpression) : actualExpression; - ts.copyTrailingAsLeadingComments(returnStatement, body, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); - ts.copyLeadingComments(returnStatement, body, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); - ts.copyTrailingComments(returnStatement, body, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyTrailingAsLeadingComments(returnStatement, body, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyLeadingComments(returnStatement, body, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyTrailingComments(returnStatement, body, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); } else { ts.Debug.fail("invalid action"); @@ -162188,7 +162826,7 @@ var ts; var contextualSymbols = ts.map(functionNames, function (name) { return getSymbolForContextualType(name, checker); }); for (var _i = 0, referenceEntries_1 = referenceEntries; _i < referenceEntries_1.length; _i++) { var entry = referenceEntries_1[_i]; - if (entry.kind === 0 /* Span */) { + if (entry.kind === 0 /* FindAllReferences.EntryKind.Span */) { groupedReferences.valid = false; continue; } @@ -162287,7 +162925,7 @@ var ts; if (element) { var contextualType = checker.getContextualTypeForObjectLiteralElement(element); var symbol = contextualType === null || contextualType === void 0 ? void 0 : contextualType.getSymbol(); - if (symbol && !(ts.getCheckFlags(symbol) & 6 /* Synthetic */)) { + if (symbol && !(ts.getCheckFlags(symbol) & 6 /* CheckFlags.Synthetic */)) { return symbol; } } @@ -162317,15 +162955,15 @@ var ts; var parent = functionReference.parent; switch (parent.kind) { // foo(...) or super(...) or new Foo(...) - case 208 /* CallExpression */: - case 209 /* NewExpression */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: var callOrNewExpression = ts.tryCast(parent, ts.isCallOrNewExpression); if (callOrNewExpression && callOrNewExpression.expression === functionReference) { return callOrNewExpression; } break; // x.foo(...) - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: var propertyAccessExpression = ts.tryCast(parent, ts.isPropertyAccessExpression); if (propertyAccessExpression && propertyAccessExpression.parent && propertyAccessExpression.name === functionReference) { var callOrNewExpression_1 = ts.tryCast(propertyAccessExpression.parent, ts.isCallOrNewExpression); @@ -162335,7 +162973,7 @@ var ts; } break; // x["foo"](...) - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var elementAccessExpression = ts.tryCast(parent, ts.isElementAccessExpression); if (elementAccessExpression && elementAccessExpression.parent && elementAccessExpression.argumentExpression === functionReference) { var callOrNewExpression_2 = ts.tryCast(elementAccessExpression.parent, ts.isCallOrNewExpression); @@ -162354,14 +162992,14 @@ var ts; var parent = reference.parent; switch (parent.kind) { // `C.foo` - case 206 /* PropertyAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: var propertyAccessExpression = ts.tryCast(parent, ts.isPropertyAccessExpression); if (propertyAccessExpression && propertyAccessExpression.expression === reference) { return propertyAccessExpression; } break; // `C["foo"]` - case 207 /* ElementAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: var elementAccessExpression = ts.tryCast(parent, ts.isElementAccessExpression); if (elementAccessExpression && elementAccessExpression.expression === reference) { return elementAccessExpression; @@ -162373,7 +163011,7 @@ var ts; } function entryToType(entry) { var reference = entry.node; - if (ts.getMeaningFromLocation(reference) === 2 /* Type */ || ts.isExpressionWithTypeArgumentsInClassExtendsClause(reference.parent)) { + if (ts.getMeaningFromLocation(reference) === 2 /* SemanticMeaning.Type */ || ts.isExpressionWithTypeArgumentsInClassExtendsClause(reference.parent)) { return reference; } return undefined; @@ -162407,16 +163045,16 @@ var ts; if (!isValidParameterNodeArray(functionDeclaration.parameters, checker)) return false; switch (functionDeclaration.kind) { - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: return hasNameOrDefault(functionDeclaration) && isSingleImplementation(functionDeclaration, checker); - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: if (ts.isObjectLiteralExpression(functionDeclaration.parent)) { var contextualSymbol = getSymbolForContextualType(functionDeclaration.name, checker); // don't offer the refactor when there are multiple signatures since we won't know which ones the user wants to change return ((_a = contextualSymbol === null || contextualSymbol === void 0 ? void 0 : contextualSymbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 && isSingleImplementation(functionDeclaration, checker); } return isSingleImplementation(functionDeclaration, checker); - case 171 /* Constructor */: + case 171 /* SyntaxKind.Constructor */: if (ts.isClassDeclaration(functionDeclaration.parent)) { return hasNameOrDefault(functionDeclaration.parent) && isSingleImplementation(functionDeclaration, checker); } @@ -162424,8 +163062,8 @@ var ts; return isValidVariableDeclaration(functionDeclaration.parent.parent) && isSingleImplementation(functionDeclaration, checker); } - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return isValidVariableDeclaration(functionDeclaration.parent); } return false; @@ -162435,7 +163073,7 @@ var ts; } function hasNameOrDefault(functionOrClassDeclaration) { if (!functionOrClassDeclaration.name) { - var defaultKeyword = ts.findModifier(functionOrClassDeclaration, 88 /* DefaultKeyword */); + var defaultKeyword = ts.findModifier(functionOrClassDeclaration, 88 /* SyntaxKind.DefaultKeyword */); return !!defaultKeyword; } return true; @@ -162541,7 +163179,7 @@ var ts; } function createParameterTypeNode(parameters) { var members = ts.map(parameters, createPropertySignatureFromParameterDeclaration); - var typeNode = ts.addEmitFlags(ts.factory.createTypeLiteralNode(members), 1 /* SingleLine */); + var typeNode = ts.addEmitFlags(ts.factory.createTypeLiteralNode(members), 1 /* EmitFlags.SingleLine */); return typeNode; } function createPropertySignatureFromParameterDeclaration(parameterDeclaration) { @@ -162550,7 +163188,7 @@ var ts; parameterType = getTypeNode(parameterDeclaration); } var propertySignature = ts.factory.createPropertySignature( - /*modifiers*/ undefined, getParameterName(parameterDeclaration), isOptionalParameter(parameterDeclaration) ? ts.factory.createToken(57 /* QuestionToken */) : parameterDeclaration.questionToken, parameterType); + /*modifiers*/ undefined, getParameterName(parameterDeclaration), isOptionalParameter(parameterDeclaration) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : parameterDeclaration.questionToken, parameterType); ts.suppressLeadingAndTrailingTrivia(propertySignature); ts.copyComments(parameterDeclaration.name, propertySignature.name); if (parameterDeclaration.type && propertySignature.type) { @@ -162575,15 +163213,15 @@ var ts; } function getClassNames(constructorDeclaration) { switch (constructorDeclaration.parent.kind) { - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: var classDeclaration = constructorDeclaration.parent; if (classDeclaration.name) return [classDeclaration.name]; // If the class declaration doesn't have a name, it should have a default modifier. // We validated this in `isValidFunctionDeclaration` through `hasNameOrDefault` - var defaultModifier = ts.Debug.checkDefined(ts.findModifier(classDeclaration, 88 /* DefaultKeyword */), "Nameless class declaration should be a default export"); + var defaultModifier = ts.Debug.checkDefined(ts.findModifier(classDeclaration, 88 /* SyntaxKind.DefaultKeyword */), "Nameless class declaration should be a default export"); return [defaultModifier]; - case 226 /* ClassExpression */: + case 226 /* SyntaxKind.ClassExpression */: var classExpression = constructorDeclaration.parent; var variableDeclaration = constructorDeclaration.parent.parent; var className = classExpression.name; @@ -162594,30 +163232,30 @@ var ts; } function getFunctionNames(functionDeclaration) { switch (functionDeclaration.kind) { - case 256 /* FunctionDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: if (functionDeclaration.name) return [functionDeclaration.name]; // If the function declaration doesn't have a name, it should have a default modifier. // We validated this in `isValidFunctionDeclaration` through `hasNameOrDefault` - var defaultModifier = ts.Debug.checkDefined(ts.findModifier(functionDeclaration, 88 /* DefaultKeyword */), "Nameless function declaration should be a default export"); + var defaultModifier = ts.Debug.checkDefined(ts.findModifier(functionDeclaration, 88 /* SyntaxKind.DefaultKeyword */), "Nameless function declaration should be a default export"); return [defaultModifier]; - case 169 /* MethodDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: return [functionDeclaration.name]; - case 171 /* Constructor */: - var ctrKeyword = ts.Debug.checkDefined(ts.findChildOfKind(functionDeclaration, 134 /* ConstructorKeyword */, functionDeclaration.getSourceFile()), "Constructor declaration should have constructor keyword"); - if (functionDeclaration.parent.kind === 226 /* ClassExpression */) { + case 171 /* SyntaxKind.Constructor */: + var ctrKeyword = ts.Debug.checkDefined(ts.findChildOfKind(functionDeclaration, 134 /* SyntaxKind.ConstructorKeyword */, functionDeclaration.getSourceFile()), "Constructor declaration should have constructor keyword"); + if (functionDeclaration.parent.kind === 226 /* SyntaxKind.ClassExpression */) { var variableDeclaration = functionDeclaration.parent.parent; return [variableDeclaration.name, ctrKeyword]; } return [ctrKeyword]; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: return [functionDeclaration.parent.name]; - case 213 /* FunctionExpression */: + case 213 /* SyntaxKind.FunctionExpression */: if (functionDeclaration.name) return [functionDeclaration.name, functionDeclaration.parent.name]; return [functionDeclaration.parent.name]; default: - return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind " + functionDeclaration.kind); + return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind ".concat(functionDeclaration.kind)); } } })(convertParamsToDestructuredObject = refactor.convertParamsToDestructuredObject || (refactor.convertParamsToDestructuredObject = {})); @@ -162698,16 +163336,16 @@ var ts; } } function isNotEqualsOperator(node) { - return node.operatorToken.kind !== 63 /* EqualsToken */; + return node.operatorToken.kind !== 63 /* SyntaxKind.EqualsToken */; } function getParentBinaryExpression(expr) { var container = ts.findAncestor(expr.parent, function (n) { switch (n.kind) { - case 206 /* PropertyAccessExpression */: - case 207 /* ElementAccessExpression */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 207 /* SyntaxKind.ElementAccessExpression */: return false; - case 223 /* TemplateExpression */: - case 221 /* BinaryExpression */: + case 223 /* SyntaxKind.TemplateExpression */: + case 221 /* SyntaxKind.BinaryExpression */: return !(ts.isBinaryExpression(n.parent) && isNotEqualsOperator(n.parent)); default: return "quit"; @@ -162725,7 +163363,7 @@ var ts; if (!(leftHasString || ts.isStringLiteral(current.right) || ts.isTemplateExpression(current.right))) { return { nodes: [current], operators: [], hasString: false, validOperators: true }; } - var currentOperatorValid = current.operatorToken.kind === 39 /* PlusToken */; + var currentOperatorValid = current.operatorToken.kind === 39 /* SyntaxKind.PlusToken */; var validOperators = leftOperatorValid && currentOperatorValid; nodes.push(current.right); operators.push(current.operatorToken); @@ -162738,7 +163376,7 @@ var ts; // "foo" + /* comment */ "bar" var copyTrailingOperatorComments = function (operators, file) { return function (index, targetNode) { if (index < operators.length) { - ts.copyTrailingComments(operators[index], targetNode, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyTrailingComments(operators[index], targetNode, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); } }; }; // to copy comments following the string @@ -162747,7 +163385,7 @@ var ts; return function (indexes, targetNode) { while (indexes.length > 0) { var index = indexes.shift(); - ts.copyTrailingComments(nodes[index], targetNode, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyTrailingComments(nodes[index], targetNode, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); copyOperatorComments(index, targetNode); } }; @@ -162839,8 +163477,8 @@ var ts; // "foo" + ( /* comment */ 5 + 5 ) /* comment */ + "bar" function copyExpressionComments(node) { var file = node.getSourceFile(); - ts.copyTrailingComments(node, node.expression, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); - ts.copyTrailingAsLeadingComments(node.expression, node.expression, file, 3 /* MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyTrailingComments(node, node.expression, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); + ts.copyTrailingAsLeadingComments(node.expression, node.expression, file, 3 /* SyntaxKind.MultiLineCommentTrivia */, /* hasTrailingNewLine */ false); } function getExpressionFromParenthesesOrExpression(node) { if (ts.isParenthesizedExpression(node)) { @@ -163035,7 +163673,7 @@ var ts; var body = convertToBlock(func.body); var variableDeclaration = variableInfo.variableDeclaration, variableDeclarationList = variableInfo.variableDeclarationList, statement = variableInfo.statement, name = variableInfo.name; ts.suppressLeadingTrivia(statement); - var modifiersFlags = (ts.getCombinedModifierFlags(variableDeclaration) & 1 /* Export */) | ts.getEffectiveModifierFlags(func); + var modifiersFlags = (ts.getCombinedModifierFlags(variableDeclaration) & 1 /* ModifierFlags.Export */) | ts.getEffectiveModifierFlags(func); var modifiers = ts.factory.createModifiersFromModifierFlags(modifiersFlags); var newNode = ts.factory.createFunctionDeclaration(func.decorators, ts.length(modifiers) ? modifiers : undefined, func.asteriskToken, name, func.typeParameters, func.parameters, func.type, body); if (variableDeclarationList.declarations.length === 1) { @@ -163061,7 +163699,7 @@ var ts; else { body = func.body; } - var newNode = ts.factory.createArrowFunction(func.modifiers, func.typeParameters, func.parameters, func.type, ts.factory.createToken(38 /* EqualsGreaterThanToken */), body); + var newNode = ts.factory.createArrowFunction(func.modifiers, func.typeParameters, func.parameters, func.type, ts.factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), body); return ts.textChanges.ChangeTracker.with(context, function (t) { return t.replaceNode(file, func, newNode); }); } function canBeConvertedToExpression(body, head) { @@ -163121,13 +163759,13 @@ var ts; return ts.emptyArray; } function doChange(sourceFile, changes, declaration, typeNode) { - var closeParen = ts.findChildOfKind(declaration, 21 /* CloseParenToken */, sourceFile); + var closeParen = ts.findChildOfKind(declaration, 21 /* SyntaxKind.CloseParenToken */, sourceFile); var needParens = ts.isArrowFunction(declaration) && closeParen === undefined; var endNode = needParens ? ts.first(declaration.parameters) : closeParen; if (endNode) { if (needParens) { - changes.insertNodeBefore(sourceFile, endNode, ts.factory.createToken(20 /* OpenParenToken */)); - changes.insertNodeAfter(sourceFile, endNode, ts.factory.createToken(21 /* CloseParenToken */)); + changes.insertNodeBefore(sourceFile, endNode, ts.factory.createToken(20 /* SyntaxKind.OpenParenToken */)); + changes.insertNodeAfter(sourceFile, endNode, ts.factory.createToken(21 /* SyntaxKind.CloseParenToken */)); } changes.insertNodeAt(sourceFile, endNode.end, typeNode, { prefix: ": " }); } @@ -163137,7 +163775,7 @@ var ts; return; var token = ts.getTokenAtPosition(context.file, context.startPosition); var declaration = ts.findAncestor(token, function (n) { - return ts.isBlock(n) || n.parent && ts.isArrowFunction(n.parent) && (n.kind === 38 /* EqualsGreaterThanToken */ || n.parent.body === n) ? "quit" : + return ts.isBlock(n) || n.parent && ts.isArrowFunction(n.parent) && (n.kind === 38 /* SyntaxKind.EqualsGreaterThanToken */ || n.parent.body === n) ? "quit" : isConvertibleDeclaration(n); }); if (!declaration || !declaration.body || declaration.type) { @@ -163148,17 +163786,17 @@ var ts; if (!returnType) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_determine_function_return_type) }; } - var returnTypeNode = typeChecker.typeToTypeNode(returnType, declaration, 1 /* NoTruncation */); + var returnTypeNode = typeChecker.typeToTypeNode(returnType, declaration, 1 /* NodeBuilderFlags.NoTruncation */); if (returnTypeNode) { return { declaration: declaration, returnTypeNode: returnTypeNode }; } } function isConvertibleDeclaration(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: return true; default: return false; @@ -163185,20 +163823,20 @@ var ts; ts.servicesVersion = "0.8"; function createNode(kind, pos, end, parent) { var node = ts.isNodeKind(kind) ? new NodeObject(kind, pos, end) : - kind === 79 /* Identifier */ ? new IdentifierObject(79 /* Identifier */, pos, end) : - kind === 80 /* PrivateIdentifier */ ? new PrivateIdentifierObject(80 /* PrivateIdentifier */, pos, end) : + kind === 79 /* SyntaxKind.Identifier */ ? new IdentifierObject(79 /* SyntaxKind.Identifier */, pos, end) : + kind === 80 /* SyntaxKind.PrivateIdentifier */ ? new PrivateIdentifierObject(80 /* SyntaxKind.PrivateIdentifier */, pos, end) : new TokenObject(kind, pos, end); node.parent = parent; - node.flags = parent.flags & 50720768 /* ContextFlags */; + node.flags = parent.flags & 50720768 /* NodeFlags.ContextFlags */; return node; } var NodeObject = /** @class */ (function () { function NodeObject(kind, pos, end) { this.pos = pos; this.end = end; - this.flags = 0 /* None */; - this.modifierFlagsCache = 0 /* None */; - this.transformFlags = 0 /* None */; + this.flags = 0 /* NodeFlags.None */; + this.modifierFlagsCache = 0 /* ModifierFlags.None */; + this.transformFlags = 0 /* TransformFlags.None */; this.parent = undefined; this.kind = kind; } @@ -163260,8 +163898,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 309 /* FirstJSDocNode */ || kid.kind > 347 /* LastJSDocNode */; }); - return child.kind < 161 /* FirstNode */ ? + var child = ts.find(children, function (kid) { return kid.kind < 309 /* SyntaxKind.FirstJSDocNode */ || kid.kind > 347 /* SyntaxKind.LastJSDocNode */; }); + return child.kind < 161 /* SyntaxKind.FirstNode */ ? child : child.getFirstToken(sourceFile); }; @@ -163272,7 +163910,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 161 /* FirstNode */ ? child : child.getLastToken(sourceFile); + return child.kind < 161 /* SyntaxKind.FirstNode */ ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -163320,19 +163958,19 @@ var ts; var token = ts.scanner.scan(); var textPos = ts.scanner.getTextPos(); if (textPos <= end) { - if (token === 79 /* Identifier */) { - ts.Debug.fail("Did not expect " + ts.Debug.formatSyntaxKind(parent.kind) + " to have an Identifier in its trivia"); + if (token === 79 /* SyntaxKind.Identifier */) { + ts.Debug.fail("Did not expect ".concat(ts.Debug.formatSyntaxKind(parent.kind), " to have an Identifier in its trivia")); } nodes.push(createNode(token, pos, textPos, parent)); } pos = textPos; - if (token === 1 /* EndOfFileToken */) { + if (token === 1 /* SyntaxKind.EndOfFileToken */) { break; } } } function createSyntaxList(nodes, parent) { - var list = createNode(348 /* SyntaxList */, nodes.pos, nodes.end, parent); + var list = createNode(348 /* SyntaxKind.SyntaxList */, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_2 = nodes; _i < nodes_2.length; _i++) { @@ -163349,9 +163987,9 @@ var ts; // Set properties in same order as NodeObject this.pos = pos; this.end = end; - this.flags = 0 /* None */; - this.modifierFlagsCache = 0 /* None */; - this.transformFlags = 0 /* None */; + this.flags = 0 /* NodeFlags.None */; + this.modifierFlagsCache = 0 /* ModifierFlags.None */; + this.transformFlags = 0 /* TransformFlags.None */; this.parent = undefined; } TokenOrIdentifierObject.prototype.getSourceFile = function () { @@ -163391,7 +164029,7 @@ var ts; return this.getChildren()[index]; }; TokenOrIdentifierObject.prototype.getChildren = function () { - return this.kind === 1 /* EndOfFileToken */ ? this.jsDoc || ts.emptyArray : ts.emptyArray; + return this.kind === 1 /* SyntaxKind.EndOfFileToken */ ? this.jsDoc || ts.emptyArray : ts.emptyArray; }; TokenOrIdentifierObject.prototype.getFirstToken = function () { return undefined; @@ -163443,12 +164081,12 @@ var ts; }; SymbolObject.prototype.getContextualDocumentationComment = function (context, checker) { switch (context === null || context === void 0 ? void 0 : context.kind) { - case 172 /* GetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: if (!this.contextualGetAccessorDocumentationComment) { this.contextualGetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isGetAccessor), checker); } return this.contextualGetAccessorDocumentationComment; - case 173 /* SetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: if (!this.contextualSetAccessorDocumentationComment) { this.contextualSetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isSetAccessor), checker); } @@ -163465,12 +164103,12 @@ var ts; }; SymbolObject.prototype.getContextualJsDocTags = function (context, checker) { switch (context === null || context === void 0 ? void 0 : context.kind) { - case 172 /* GetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: if (!this.contextualGetAccessorTags) { this.contextualGetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isGetAccessor), checker); } return this.contextualGetAccessorTags; - case 173 /* SetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: if (!this.contextualSetAccessorTags) { this.contextualSetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isSetAccessor), checker); } @@ -163494,7 +164132,7 @@ var ts; __extends(IdentifierObject, _super); function IdentifierObject(_kind, pos, end) { var _this = _super.call(this, pos, end) || this; - _this.kind = 79 /* Identifier */; + _this.kind = 79 /* SyntaxKind.Identifier */; return _this; } Object.defineProperty(IdentifierObject.prototype, "text", { @@ -163506,7 +164144,7 @@ var ts; }); return IdentifierObject; }(TokenOrIdentifierObject)); - IdentifierObject.prototype.kind = 79 /* Identifier */; + IdentifierObject.prototype.kind = 79 /* SyntaxKind.Identifier */; var PrivateIdentifierObject = /** @class */ (function (_super) { __extends(PrivateIdentifierObject, _super); function PrivateIdentifierObject(_kind, pos, end) { @@ -163521,7 +164159,7 @@ var ts; }); return PrivateIdentifierObject; }(TokenOrIdentifierObject)); - PrivateIdentifierObject.prototype.kind = 80 /* PrivateIdentifier */; + PrivateIdentifierObject.prototype.kind = 80 /* SyntaxKind.PrivateIdentifier */; var TypeObject = /** @class */ (function () { function TypeObject(checker, flags) { this.checker = checker; @@ -163543,16 +164181,16 @@ var ts; return this.checker.getAugmentedPropertiesOfType(this); }; TypeObject.prototype.getCallSignatures = function () { - return this.checker.getSignaturesOfType(this, 0 /* Call */); + return this.checker.getSignaturesOfType(this, 0 /* SignatureKind.Call */); }; TypeObject.prototype.getConstructSignatures = function () { - return this.checker.getSignaturesOfType(this, 1 /* Construct */); + return this.checker.getSignaturesOfType(this, 1 /* SignatureKind.Construct */); }; TypeObject.prototype.getStringIndexType = function () { - return this.checker.getIndexTypeOfType(this, 0 /* String */); + return this.checker.getIndexTypeOfType(this, 0 /* IndexKind.String */); }; TypeObject.prototype.getNumberIndexType = function () { - return this.checker.getIndexTypeOfType(this, 1 /* Number */); + return this.checker.getIndexTypeOfType(this, 1 /* IndexKind.Number */); }; TypeObject.prototype.getBaseTypes = function () { return this.isClassOrInterface() ? this.checker.getBaseTypes(this) : undefined; @@ -163573,41 +164211,41 @@ var ts; return this.checker.getDefaultFromTypeParameter(this); }; TypeObject.prototype.isUnion = function () { - return !!(this.flags & 1048576 /* Union */); + return !!(this.flags & 1048576 /* TypeFlags.Union */); }; TypeObject.prototype.isIntersection = function () { - return !!(this.flags & 2097152 /* Intersection */); + return !!(this.flags & 2097152 /* TypeFlags.Intersection */); }; TypeObject.prototype.isUnionOrIntersection = function () { - return !!(this.flags & 3145728 /* UnionOrIntersection */); + return !!(this.flags & 3145728 /* TypeFlags.UnionOrIntersection */); }; TypeObject.prototype.isLiteral = function () { - return !!(this.flags & 384 /* StringOrNumberLiteral */); + return !!(this.flags & 384 /* TypeFlags.StringOrNumberLiteral */); }; TypeObject.prototype.isStringLiteral = function () { - return !!(this.flags & 128 /* StringLiteral */); + return !!(this.flags & 128 /* TypeFlags.StringLiteral */); }; TypeObject.prototype.isNumberLiteral = function () { - return !!(this.flags & 256 /* NumberLiteral */); + return !!(this.flags & 256 /* TypeFlags.NumberLiteral */); }; TypeObject.prototype.isTypeParameter = function () { - return !!(this.flags & 262144 /* TypeParameter */); + return !!(this.flags & 262144 /* TypeFlags.TypeParameter */); }; TypeObject.prototype.isClassOrInterface = function () { - return !!(ts.getObjectFlags(this) & 3 /* ClassOrInterface */); + return !!(ts.getObjectFlags(this) & 3 /* ObjectFlags.ClassOrInterface */); }; TypeObject.prototype.isClass = function () { - return !!(ts.getObjectFlags(this) & 1 /* Class */); + return !!(ts.getObjectFlags(this) & 1 /* ObjectFlags.Class */); }; TypeObject.prototype.isIndexType = function () { - return !!(this.flags & 4194304 /* Index */); + return !!(this.flags & 4194304 /* TypeFlags.Index */); }; Object.defineProperty(TypeObject.prototype, "typeArguments", { /** * This polyfills `referenceType.typeArguments` for API consumers */ get: function () { - if (ts.getObjectFlags(this) & 4 /* Reference */) { + if (ts.getObjectFlags(this) & 4 /* ObjectFlags.Reference */) { return this.checker.getTypeArguments(this); } return undefined; @@ -163671,7 +164309,7 @@ var ts; var _a; if (!seenSymbols_1.has(symbol)) { seenSymbols_1.add(symbol); - if (declaration.kind === 172 /* GetAccessor */ || declaration.kind === 173 /* SetAccessor */) { + if (declaration.kind === 172 /* SyntaxKind.GetAccessor */ || declaration.kind === 173 /* SyntaxKind.SetAccessor */) { return symbol.getContextualJsDocTags(declaration, checker); } return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 ? symbol.getJsDocTags() : undefined; @@ -163698,7 +164336,7 @@ var ts; var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) { if (!seenSymbols_2.has(symbol)) { seenSymbols_2.add(symbol); - if (declaration.kind === 172 /* GetAccessor */ || declaration.kind === 173 /* SetAccessor */) { + if (declaration.kind === 172 /* SyntaxKind.GetAccessor */ || declaration.kind === 173 /* SyntaxKind.SetAccessor */) { return symbol.getContextualDocumentationComment(declaration, checker); } return symbol.getDocumentationComment(checker); @@ -163719,7 +164357,7 @@ var ts; var _a; if (ts.hasStaticModifier(declaration)) return; - var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* Constructor */ ? declaration.parent.parent : declaration.parent; + var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* SyntaxKind.Constructor */ ? declaration.parent.parent : declaration.parent; if (!classOrInterfaceDeclaration) return; return ts.firstDefined(ts.getAllSuperTypeNodes(classOrInterfaceDeclaration), function (superTypeNode) { @@ -163731,7 +164369,7 @@ var ts; __extends(SourceFileObject, _super); function SourceFileObject(kind, pos, end) { var _this = _super.call(this, kind, pos, end) || this; - _this.kind = 305 /* SourceFile */; + _this.kind = 305 /* SyntaxKind.SourceFile */; return _this; } SourceFileObject.prototype.update = function (newText, textChangeRange) { @@ -163790,10 +164428,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 256 /* FunctionDeclaration */: - case 213 /* FunctionExpression */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -163813,31 +164451,31 @@ var ts; } ts.forEachChild(node, visit); break; - case 257 /* ClassDeclaration */: - case 226 /* ClassExpression */: - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: - case 260 /* EnumDeclaration */: - case 261 /* ModuleDeclaration */: - case 265 /* ImportEqualsDeclaration */: - case 275 /* ExportSpecifier */: - case 270 /* ImportSpecifier */: - case 267 /* ImportClause */: - case 268 /* NamespaceImport */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 182 /* TypeLiteral */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 275 /* SyntaxKind.ExportSpecifier */: + case 270 /* SyntaxKind.ImportSpecifier */: + case 267 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.NamespaceImport */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 182 /* SyntaxKind.TypeLiteral */: addDeclaration(node); ts.forEachChild(node, visit); break; - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: // Only consider parameter properties - if (!ts.hasSyntacticModifier(node, 16476 /* ParameterPropertyModifier */)) { + if (!ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */)) { break; } // falls through - case 254 /* VariableDeclaration */: - case 203 /* BindingElement */: { + case 254 /* SyntaxKind.VariableDeclaration */: + case 203 /* SyntaxKind.BindingElement */: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -163848,12 +164486,12 @@ var ts; } } // falls through - case 299 /* EnumMember */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: + case 299 /* SyntaxKind.EnumMember */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: addDeclaration(node); break; - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: // Handle named exports case e.g.: // export {a, b as B} from "mod"; var exportDeclaration = node; @@ -163866,7 +164504,7 @@ var ts; } } break; - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: var importClause = node.importClause; if (importClause) { // Handle default import case e.g.: @@ -163878,7 +164516,7 @@ var ts; // import * as NS from "mod"; // import {a, b as B} from "mod"; if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 268 /* NamespaceImport */) { + if (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { addDeclaration(importClause.namedBindings); } else { @@ -163887,8 +164525,8 @@ var ts; } } break; - case 221 /* BinaryExpression */: - if (ts.getAssignmentDeclarationKind(node) !== 0 /* None */) { + case 221 /* SyntaxKind.BinaryExpression */: + if (ts.getAssignmentDeclarationKind(node) !== 0 /* AssignmentDeclarationKind.None */) { addDeclaration(node); } // falls through @@ -163957,8 +164595,8 @@ var ts; function getDefaultCompilerOptions() { // Always default to "ScriptTarget.ES5" for the language service return { - target: 1 /* ES5 */, - jsx: 1 /* Preserve */ + target: 1 /* ScriptTarget.ES5 */, + jsx: 1 /* JsxEmit.Preserve */ }; } ts.getDefaultCompilerOptions = getDefaultCompilerOptions; @@ -163977,7 +164615,7 @@ var ts; this.fileNameToEntry = new ts.Map(); // Initialize the list with the root file names var rootFileNames = host.getScriptFileNames(); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("session" /* Session */, "initializeHostCache", { count: rootFileNames.length }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("session" /* tracing.Phase.Session */, "initializeHostCache", { count: rootFileNames.length }); for (var _i = 0, rootFileNames_1 = rootFileNames; _i < rootFileNames_1.length; _i++) { var fileName = rootFileNames_1[_i]; this.createEntry(fileName, ts.toPath(fileName, this.currentDirectory, getCanonicalFileName)); @@ -164047,7 +164685,7 @@ var ts; if (this.currentFileName !== fileName) { // This is a new file, just parse it var options = { - languageVersion: 99 /* Latest */, + languageVersion: 99 /* ScriptTarget.Latest */, impliedNodeFormat: ts.getImpliedNodeFormatForFile(ts.toPath(fileName, this.host.getCurrentDirectory(), ((_c = (_b = (_a = this.host).getCompilerHost) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.getCanonicalFileName) || ts.hostGetCanonicalFileName(this.host)), (_h = (_g = (_f = (_e = (_d = this.host).getCompilerHost) === null || _e === void 0 ? void 0 : _e.call(_d)) === null || _f === void 0 ? void 0 : _f.getModuleResolutionCache) === null || _g === void 0 ? void 0 : _g.call(_f)) === null || _h === void 0 ? void 0 : _h.getPackageJsonInfoCache(), this.host, this.host.getCompilationSettings()), setExternalModuleIndicator: ts.getSetExternalModuleIndicator(this.host.getCompilationSettings()) }; @@ -164144,7 +164782,7 @@ var ts; }; CancellationTokenObject.prototype.throwIfCancellationRequested = function () { if (this.isCancellationRequested()) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("session" /* Session */, "cancellationThrown", { kind: "CancellationTokenObject" }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("session" /* tracing.Phase.Session */, "cancellationThrown", { kind: "CancellationTokenObject" }); throw new ts.OperationCanceledException(); } }; @@ -164174,7 +164812,7 @@ var ts; }; ThrottledCancellationToken.prototype.throwIfCancellationRequested = function () { if (this.isCancellationRequested()) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("session" /* Session */, "cancellationThrown", { kind: "ThrottledCancellationToken" }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("session" /* tracing.Phase.Session */, "cancellationThrown", { kind: "ThrottledCancellationToken" }); throw new ts.OperationCanceledException(); } }; @@ -164264,7 +164902,7 @@ var ts; function getValidSourceFile(fileName) { var sourceFile = program.getSourceFile(fileName); if (!sourceFile) { - var error = new Error("Could not find source file: '" + fileName + "'."); + var error = new Error("Could not find source file: '".concat(fileName, "'.")); // We've been having trouble debugging this, so attach sidecar data for the tsserver log. // See https://github.com/microsoft/TypeScript/issues/30180. error.ProgramFiles = program.getSourceFiles().map(function (f) { return f.fileName; }); @@ -164384,7 +165022,7 @@ var ts; return result; } function getParsedCommandLineOfConfigFileUsingSourceFile(configFileName) { - var result = getOrCreateSourceFile(configFileName, 100 /* JSON */); + var result = getOrCreateSourceFile(configFileName, 100 /* ScriptTarget.JSON */); if (!result) return undefined; result.path = ts.toPath(configFileName, currentDirectory, getCanonicalFileName); @@ -164574,8 +165212,8 @@ var ts; if (!symbol || typeChecker.isUnknownSymbol(symbol)) { var type_2 = shouldGetType(sourceFile, nodeForQuickInfo, position) ? typeChecker.getTypeAtLocation(nodeForQuickInfo) : undefined; return type_2 && { - kind: "" /* unknown */, - kindModifiers: "" /* none */, + kind: "" /* ScriptElementKind.unknown */, + kindModifiers: "" /* ScriptElementKindModifier.none */, textSpan: ts.createTextSpanFromNode(nodeForQuickInfo, sourceFile), displayParts: typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return ts.typeToDisplayParts(typeChecker, type_2, ts.getContainerNode(nodeForQuickInfo)); }), documentation: type_2.symbol ? type_2.symbol.getDocumentationComment(typeChecker) : undefined, @@ -164608,27 +165246,27 @@ var ts; } function shouldGetType(sourceFile, node, position) { switch (node.kind) { - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return !ts.isLabelName(node) && !ts.isTagName(node) && !ts.isConstTypeReference(node.parent); - case 206 /* PropertyAccessExpression */: - case 161 /* QualifiedName */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 161 /* SyntaxKind.QualifiedName */: // Don't return quickInfo if inside the comment in `a/**/.b` return !ts.isInComment(sourceFile, position); - case 108 /* ThisKeyword */: - case 192 /* ThisType */: - case 106 /* SuperKeyword */: - case 197 /* NamedTupleMember */: + case 108 /* SyntaxKind.ThisKeyword */: + case 192 /* SyntaxKind.ThisType */: + case 106 /* SyntaxKind.SuperKeyword */: + case 197 /* SyntaxKind.NamedTupleMember */: return true; - case 231 /* MetaProperty */: + case 231 /* SyntaxKind.MetaProperty */: return ts.isImportMeta(node); default: return false; } } /// Goto definition - function getDefinitionAtPosition(fileName, position) { + function getDefinitionAtPosition(fileName, position, searchOtherFilesOnly, stopAtAlias) { synchronizeHostData(); - return ts.GoToDefinition.getDefinitionAtPosition(program, getValidSourceFile(fileName), position); + return ts.GoToDefinition.getDefinitionAtPosition(program, getValidSourceFile(fileName), position, searchOtherFilesOnly, stopAtAlias); } function getDefinitionAndBoundSpan(fileName, position) { synchronizeHostData(); @@ -164645,7 +165283,7 @@ var ts; } /// References and Occurrences function getOccurrencesAtPosition(fileName, position) { - return ts.flatMap(getDocumentHighlights(fileName, position, [fileName]), function (entry) { return entry.highlightSpans.map(function (highlightSpan) { return (__assign(__assign({ fileName: entry.fileName, textSpan: highlightSpan.textSpan, isWriteAccess: highlightSpan.kind === "writtenReference" /* writtenReference */ }, highlightSpan.isInString && { isInString: true }), highlightSpan.contextSpan && { contextSpan: highlightSpan.contextSpan })); }); }); + return ts.flatMap(getDocumentHighlights(fileName, position, [fileName]), function (entry) { return entry.highlightSpans.map(function (highlightSpan) { return (__assign(__assign({ fileName: entry.fileName, textSpan: highlightSpan.textSpan, isWriteAccess: highlightSpan.kind === "writtenReference" /* HighlightSpanKind.writtenReference */ }, highlightSpan.isInString && { isInString: true }), highlightSpan.contextSpan && { contextSpan: highlightSpan.contextSpan })); }); }); } function getDocumentHighlights(fileName, position, filesToSearch) { var normalizedFileName = ts.normalizePath(fileName); @@ -164669,17 +165307,17 @@ var ts; }); } else { - return getReferencesWorker(node, position, { findInStrings: findInStrings, findInComments: findInComments, providePrefixAndSuffixTextForRename: providePrefixAndSuffixTextForRename, use: 2 /* Rename */ }, function (entry, originalNode, checker) { return ts.FindAllReferences.toRenameLocation(entry, originalNode, checker, providePrefixAndSuffixTextForRename || false); }); + return getReferencesWorker(node, position, { findInStrings: findInStrings, findInComments: findInComments, providePrefixAndSuffixTextForRename: providePrefixAndSuffixTextForRename, use: 2 /* FindAllReferences.FindReferencesUse.Rename */ }, function (entry, originalNode, checker) { return ts.FindAllReferences.toRenameLocation(entry, originalNode, checker, providePrefixAndSuffixTextForRename || false); }); } } function getReferencesAtPosition(fileName, position) { synchronizeHostData(); - return getReferencesWorker(ts.getTouchingPropertyName(getValidSourceFile(fileName), position), position, { use: 1 /* References */ }, ts.FindAllReferences.toReferenceEntry); + return getReferencesWorker(ts.getTouchingPropertyName(getValidSourceFile(fileName), position), position, { use: 1 /* FindAllReferences.FindReferencesUse.References */ }, ts.FindAllReferences.toReferenceEntry); } function getReferencesWorker(node, position, options, cb) { synchronizeHostData(); // Exclude default library when renaming as commonly user don't want to change that file. - var sourceFiles = options && options.use === 2 /* Rename */ + var sourceFiles = options && options.use === 2 /* FindAllReferences.FindReferencesUse.Rename */ ? program.getSourceFiles().filter(function (sourceFile) { return !program.isSourceFileDefaultLibrary(sourceFile); }) : program.getSourceFiles(); return ts.FindAllReferences.findReferenceOrRenameEntries(program, cancellationToken, sourceFiles, node, position, options, cb); @@ -164726,16 +165364,16 @@ var ts; return undefined; } switch (node.kind) { - case 206 /* PropertyAccessExpression */: - case 161 /* QualifiedName */: - case 10 /* StringLiteral */: - case 95 /* FalseKeyword */: - case 110 /* TrueKeyword */: - case 104 /* NullKeyword */: - case 106 /* SuperKeyword */: - case 108 /* ThisKeyword */: - case 192 /* ThisType */: - case 79 /* Identifier */: + case 206 /* SyntaxKind.PropertyAccessExpression */: + case 161 /* SyntaxKind.QualifiedName */: + case 10 /* SyntaxKind.StringLiteral */: + case 95 /* SyntaxKind.FalseKeyword */: + case 110 /* SyntaxKind.TrueKeyword */: + case 104 /* SyntaxKind.NullKeyword */: + case 106 /* SyntaxKind.SuperKeyword */: + case 108 /* SyntaxKind.ThisKeyword */: + case 192 /* SyntaxKind.ThisType */: + case 79 /* SyntaxKind.Identifier */: break; // Cant create the text span default: @@ -164751,7 +165389,7 @@ var ts; // If this is name of a module declarations, check if this is right side of dotted module name // If parent of the module declaration which is parent of this node is module declaration and its body is the module declaration that this node is name of // Then this name is name from dotted module - if (nodeForStartPos.parent.parent.kind === 261 /* ModuleDeclaration */ && + if (nodeForStartPos.parent.parent.kind === 261 /* SyntaxKind.ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { // Use parent module declarations name for start pos nodeForStartPos = nodeForStartPos.parent.parent.name; @@ -164781,8 +165419,8 @@ var ts; } function getSemanticClassifications(fileName, span, format) { synchronizeHostData(); - var responseFormat = format || "original" /* Original */; - if (responseFormat === "2020" /* TwentyTwenty */) { + var responseFormat = format || "original" /* SemanticClassificationFormat.Original */; + if (responseFormat === "2020" /* SemanticClassificationFormat.TwentyTwenty */) { return ts.classifier.v2020.getSemanticClassifications(program, cancellationToken, getValidSourceFile(fileName), span); } else { @@ -164791,8 +165429,8 @@ var ts; } function getEncodedSemanticClassifications(fileName, span, format) { synchronizeHostData(); - var responseFormat = format || "original" /* Original */; - if (responseFormat === "original" /* Original */) { + var responseFormat = format || "original" /* SemanticClassificationFormat.Original */; + if (responseFormat === "original" /* SemanticClassificationFormat.Original */) { return ts.getEncodedSemanticClassifications(program.getTypeChecker(), cancellationToken, getValidSourceFile(fileName), program.getClassifiableNames(), span); } else { @@ -164813,10 +165451,10 @@ var ts; return ts.OutliningElementsCollector.collectElements(sourceFile, cancellationToken); } var braceMatching = new ts.Map(ts.getEntries((_a = {}, - _a[18 /* OpenBraceToken */] = 19 /* CloseBraceToken */, - _a[20 /* OpenParenToken */] = 21 /* CloseParenToken */, - _a[22 /* OpenBracketToken */] = 23 /* CloseBracketToken */, - _a[31 /* GreaterThanToken */] = 29 /* LessThanToken */, + _a[18 /* SyntaxKind.OpenBraceToken */] = 19 /* SyntaxKind.CloseBraceToken */, + _a[20 /* SyntaxKind.OpenParenToken */] = 21 /* SyntaxKind.CloseParenToken */, + _a[22 /* SyntaxKind.OpenBracketToken */] = 23 /* SyntaxKind.CloseBracketToken */, + _a[31 /* SyntaxKind.GreaterThanToken */] = 29 /* SyntaxKind.LessThanToken */, _a))); braceMatching.forEach(function (value, key) { return braceMatching.set(value.toString(), Number(key)); }); function getBraceMatchingAtPosition(fileName, position) { @@ -164913,7 +165551,7 @@ var ts; // var x = new foo<| ( with class foo{} ) // or // var y = 3 <| - if (openingBrace === 60 /* lessThan */) { + if (openingBrace === 60 /* CharacterCodes.lessThan */) { return false; } var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); @@ -164922,15 +165560,15 @@ var ts; return false; } if (ts.isInsideJsxElementOrAttribute(sourceFile, position)) { - return openingBrace === 123 /* openBrace */; + return openingBrace === 123 /* CharacterCodes.openBrace */; } if (ts.isInTemplateString(sourceFile, position)) { return false; } switch (openingBrace) { - case 39 /* singleQuote */: - case 34 /* doubleQuote */: - case 96 /* backtick */: + case 39 /* CharacterCodes.singleQuote */: + case 34 /* CharacterCodes.doubleQuote */: + case 96 /* CharacterCodes.backtick */: return !ts.isInComment(sourceFile, position); } return true; @@ -164940,12 +165578,12 @@ var ts; var token = ts.findPrecedingToken(position, sourceFile); if (!token) return undefined; - var element = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent + var element = token.kind === 31 /* SyntaxKind.GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent : ts.isJsxText(token) && ts.isJsxElement(token.parent) ? token.parent : undefined; if (element && isUnclosedTag(element)) { - return { newText: "" }; + return { newText: "") }; } - var fragment = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningFragment(token.parent) ? token.parent.parent + var fragment = token.kind === 31 /* SyntaxKind.GreaterThanToken */ && ts.isJsxOpeningFragment(token.parent) ? token.parent.parent : ts.isJsxText(token) && ts.isJsxFragment(token.parent) ? token.parent : undefined; if (fragment && isUnclosedFragment(fragment)) { return { newText: "" }; @@ -165042,14 +165680,14 @@ var ts; commentRange.end++; } positions.push(commentRange.pos); - if (commentRange.kind === 3 /* MultiLineCommentTrivia */) { + if (commentRange.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) { positions.push(commentRange.end); } hasComment = true; pos = commentRange.end + 1; } else { // If it's not in a comment range, then we need to comment the uncommented portions. - var newPos = text.substring(pos, textRange.end).search("(" + openMultilineRegex + ")|(" + closeMultilineRegex + ")"); + var newPos = text.substring(pos, textRange.end).search("(".concat(openMultilineRegex, ")|(").concat(closeMultilineRegex, ")")); isCommenting = insertComment !== undefined ? insertComment : isCommenting || !ts.isTextWhiteSpaceLike(text, pos, newPos === -1 ? textRange.end : pos + newPos); // If isCommenting is already true we don't need to check whitespace again. @@ -165059,7 +165697,7 @@ var ts; // If it didn't found a comment and isCommenting is false means is only empty space. // We want to insert comment in this scenario. if (isCommenting || !hasComment) { - if (((_a = ts.isInComment(sourceFile, textRange.pos)) === null || _a === void 0 ? void 0 : _a.kind) !== 2 /* SingleLineCommentTrivia */) { + if (((_a = ts.isInComment(sourceFile, textRange.pos)) === null || _a === void 0 ? void 0 : _a.kind) !== 2 /* SyntaxKind.SingleLineCommentTrivia */) { ts.insertSorted(positions, textRange.pos, ts.compareValues); } ts.insertSorted(positions, textRange.end, ts.compareValues); @@ -165145,10 +165783,10 @@ var ts; var commentRange = ts.isInComment(sourceFile, i); if (commentRange) { switch (commentRange.kind) { - case 2 /* SingleLineCommentTrivia */: + case 2 /* SyntaxKind.SingleLineCommentTrivia */: textChanges.push.apply(textChanges, toggleLineComment(fileName, { end: commentRange.end, pos: commentRange.pos + 1 }, /*insertComment*/ false)); break; - case 3 /* MultiLineCommentTrivia */: + case 3 /* SyntaxKind.MultiLineCommentTrivia */: textChanges.push.apply(textChanges, toggleMultilineComment(fileName, { end: commentRange.end, pos: commentRange.pos + 1 }, /*insertComment*/ false)); } i = commentRange.end + 1; @@ -165163,12 +165801,12 @@ var ts; } function isUnclosedFragment(_a) { var closingFragment = _a.closingFragment, parent = _a.parent; - return !!(closingFragment.flags & 131072 /* ThisNodeHasError */) || (ts.isJsxFragment(parent) && isUnclosedFragment(parent)); + return !!(closingFragment.flags & 131072 /* NodeFlags.ThisNodeHasError */) || (ts.isJsxFragment(parent) && isUnclosedFragment(parent)); } function getSpanOfEnclosingComment(fileName, position, onlyMultiLine) { var sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); var range = ts.formatting.getRangeOfEnclosingComment(sourceFile, position); - return range && (!onlyMultiLine || range.kind === 3 /* MultiLineCommentTrivia */) ? ts.createTextSpanFromRange(range) : undefined; + return range && (!onlyMultiLine || range.kind === 3 /* SyntaxKind.MultiLineCommentTrivia */) ? ts.createTextSpanFromRange(range) : undefined; } function getTodoComments(fileName, descriptors) { // Note: while getting todo comments seems like a syntactic operation, we actually @@ -165286,9 +165924,9 @@ var ts; return new RegExp(regExpString, "gim"); } function isLetterOrDigit(char) { - return (char >= 97 /* a */ && char <= 122 /* z */) || - (char >= 65 /* A */ && char <= 90 /* Z */) || - (char >= 48 /* _0 */ && char <= 57 /* _9 */); + return (char >= 97 /* CharacterCodes.a */ && char <= 122 /* CharacterCodes.z */) || + (char >= 65 /* CharacterCodes.A */ && char <= 90 /* CharacterCodes.Z */) || + (char >= 48 /* CharacterCodes._0 */ && char <= 57 /* CharacterCodes._9 */); } function isNodeModulesFile(path) { return ts.stringContains(path, "/node_modules/"); @@ -165444,14 +166082,14 @@ var ts; case ts.LanguageServiceMode.PartialSemantic: invalidOperationsInPartialSemanticMode.forEach(function (key) { return ls[key] = function () { - throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.PartialSemantic"); + throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.PartialSemantic")); }; }); break; case ts.LanguageServiceMode.Syntactic: invalidOperationsInSyntacticMode.forEach(function (key) { return ls[key] = function () { - throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.Syntactic"); + throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.Syntactic")); }; }); break; @@ -165498,7 +166136,7 @@ var ts; */ function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 277 /* ExternalModuleReference */ || + node.parent.kind === 277 /* SyntaxKind.ExternalModuleReference */ || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -165513,16 +166151,16 @@ var ts; ts.getContainingObjectLiteralElement = getContainingObjectLiteralElement; function getContainingObjectLiteralElementWorker(node) { switch (node.kind) { - case 10 /* StringLiteral */: - case 14 /* NoSubstitutionTemplateLiteral */: - case 8 /* NumericLiteral */: - if (node.parent.kind === 162 /* ComputedPropertyName */) { + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + case 8 /* SyntaxKind.NumericLiteral */: + if (node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } // falls through - case 79 /* Identifier */: + case 79 /* SyntaxKind.Identifier */: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 205 /* ObjectLiteralExpression */ || node.parent.parent.kind === 286 /* JsxAttributes */) && + (node.parent.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || node.parent.parent.kind === 286 /* SyntaxKind.JsxAttributes */) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -165564,7 +166202,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 207 /* ElementAccessExpression */ && + node.parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && node.parent.argumentExpression === node; } /** @@ -165611,7 +166249,7 @@ var ts; tokenAtLocation = preceding; } // Cannot set breakpoint in ambient declarations - if (tokenAtLocation.flags & 16777216 /* Ambient */) { + if (tokenAtLocation.flags & 16777216 /* NodeFlags.Ambient */) { return undefined; } // Get the span in the node based on its syntax @@ -165644,144 +166282,144 @@ var ts; if (node) { var parent = node.parent; switch (node.kind) { - case 237 /* VariableStatement */: + case 237 /* SyntaxKind.VariableStatement */: // Span on first variable declaration return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 254 /* VariableDeclaration */: - case 167 /* PropertyDeclaration */: - case 166 /* PropertySignature */: + case 254 /* SyntaxKind.VariableDeclaration */: + case 167 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.PropertySignature */: return spanInVariableDeclaration(node); - case 164 /* Parameter */: + case 164 /* SyntaxKind.Parameter */: return spanInParameterDeclaration(node); - case 256 /* FunctionDeclaration */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 171 /* Constructor */: - case 213 /* FunctionExpression */: - case 214 /* ArrowFunction */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: return spanInFunctionDeclaration(node); - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } // falls through - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: return spanInBlock(node); - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return spanInBlock(node.block); - case 238 /* ExpressionStatement */: + case 238 /* SyntaxKind.ExpressionStatement */: // span on the expression return textSpan(node.expression); - case 247 /* ReturnStatement */: + case 247 /* SyntaxKind.ReturnStatement */: // span on return keyword and expression if present return textSpan(node.getChildAt(0), node.expression); - case 241 /* WhileStatement */: + case 241 /* SyntaxKind.WhileStatement */: // Span on while(...) return textSpanEndingAtNextToken(node, node.expression); - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: // span in statement of the do statement return spanInNode(node.statement); - case 253 /* DebuggerStatement */: + case 253 /* SyntaxKind.DebuggerStatement */: // span on debugger keyword return textSpan(node.getChildAt(0)); - case 239 /* IfStatement */: + case 239 /* SyntaxKind.IfStatement */: // set on if(..) span return textSpanEndingAtNextToken(node, node.expression); - case 250 /* LabeledStatement */: + case 250 /* SyntaxKind.LabeledStatement */: // span in statement return spanInNode(node.statement); - case 246 /* BreakStatement */: - case 245 /* ContinueStatement */: + case 246 /* SyntaxKind.BreakStatement */: + case 245 /* SyntaxKind.ContinueStatement */: // On break or continue keyword and label if present return textSpan(node.getChildAt(0), node.label); - case 242 /* ForStatement */: + case 242 /* SyntaxKind.ForStatement */: return spanInForStatement(node); - case 243 /* ForInStatement */: + case 243 /* SyntaxKind.ForInStatement */: // span of for (a in ...) return textSpanEndingAtNextToken(node, node.expression); - case 244 /* ForOfStatement */: + case 244 /* SyntaxKind.ForOfStatement */: // span in initializer return spanInInitializerOfForLike(node); - case 249 /* SwitchStatement */: + case 249 /* SyntaxKind.SwitchStatement */: // span on switch(...) return textSpanEndingAtNextToken(node, node.expression); - case 289 /* CaseClause */: - case 290 /* DefaultClause */: + case 289 /* SyntaxKind.CaseClause */: + case 290 /* SyntaxKind.DefaultClause */: // span in first statement of the clause return spanInNode(node.statements[0]); - case 252 /* TryStatement */: + case 252 /* SyntaxKind.TryStatement */: // span in try block return spanInBlock(node.tryBlock); - case 251 /* ThrowStatement */: + case 251 /* SyntaxKind.ThrowStatement */: // span in throw ... return textSpan(node, node.expression); - case 271 /* ExportAssignment */: + case 271 /* SyntaxKind.ExportAssignment */: // span on export = id return textSpan(node, node.expression); - case 265 /* ImportEqualsDeclaration */: + case 265 /* SyntaxKind.ImportEqualsDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleReference); - case 266 /* ImportDeclaration */: + case 266 /* SyntaxKind.ImportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 272 /* ExportDeclaration */: + case 272 /* SyntaxKind.ExportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 261 /* ModuleDeclaration */: + case 261 /* SyntaxKind.ModuleDeclaration */: // span on complete module if it is instantiated - if (ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { + if (ts.getModuleInstanceState(node) !== 1 /* ModuleInstanceState.Instantiated */) { return undefined; } // falls through - case 257 /* ClassDeclaration */: - case 260 /* EnumDeclaration */: - case 299 /* EnumMember */: - case 203 /* BindingElement */: + case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 299 /* SyntaxKind.EnumMember */: + case 203 /* SyntaxKind.BindingElement */: // span on complete node return textSpan(node); - case 248 /* WithStatement */: + case 248 /* SyntaxKind.WithStatement */: // span in statement return spanInNode(node.statement); - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: return spanInNodeArray(parent.decorators); - case 201 /* ObjectBindingPattern */: - case 202 /* ArrayBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: return spanInBindingPattern(node); // No breakpoint in interface, type alias - case 258 /* InterfaceDeclaration */: - case 259 /* TypeAliasDeclaration */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: return undefined; // Tokens: - case 26 /* SemicolonToken */: - case 1 /* EndOfFileToken */: + case 26 /* SyntaxKind.SemicolonToken */: + case 1 /* SyntaxKind.EndOfFileToken */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile)); - case 27 /* CommaToken */: + case 27 /* SyntaxKind.CommaToken */: return spanInPreviousNode(node); - case 18 /* OpenBraceToken */: + case 18 /* SyntaxKind.OpenBraceToken */: return spanInOpenBraceToken(node); - case 19 /* CloseBraceToken */: + case 19 /* SyntaxKind.CloseBraceToken */: return spanInCloseBraceToken(node); - case 23 /* CloseBracketToken */: + case 23 /* SyntaxKind.CloseBracketToken */: return spanInCloseBracketToken(node); - case 20 /* OpenParenToken */: + case 20 /* SyntaxKind.OpenParenToken */: return spanInOpenParenToken(node); - case 21 /* CloseParenToken */: + case 21 /* SyntaxKind.CloseParenToken */: return spanInCloseParenToken(node); - case 58 /* ColonToken */: + case 58 /* SyntaxKind.ColonToken */: return spanInColonToken(node); - case 31 /* GreaterThanToken */: - case 29 /* LessThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 29 /* SyntaxKind.LessThanToken */: return spanInGreaterThanOrLessThanToken(node); // Keywords: - case 115 /* WhileKeyword */: + case 115 /* SyntaxKind.WhileKeyword */: return spanInWhileKeyword(node); - case 91 /* ElseKeyword */: - case 83 /* CatchKeyword */: - case 96 /* FinallyKeyword */: + case 91 /* SyntaxKind.ElseKeyword */: + case 83 /* SyntaxKind.CatchKeyword */: + case 96 /* SyntaxKind.FinallyKeyword */: return spanInNextNode(node); - case 160 /* OfKeyword */: + case 160 /* SyntaxKind.OfKeyword */: return spanInOfKeyword(node); default: // Destructuring pattern in destructuring assignment @@ -165793,14 +166431,14 @@ var ts; // Set breakpoint on identifier element of destructuring pattern // `a` or `...c` or `d: x` from // `[a, b, ...c]` or `{ a, b }` or `{ d: x }` from destructuring pattern - if ((node.kind === 79 /* Identifier */ || - node.kind === 225 /* SpreadElement */ || - node.kind === 296 /* PropertyAssignment */ || - node.kind === 297 /* ShorthandPropertyAssignment */) && + if ((node.kind === 79 /* SyntaxKind.Identifier */ || + node.kind === 225 /* SyntaxKind.SpreadElement */ || + node.kind === 296 /* SyntaxKind.PropertyAssignment */ || + node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) && ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 221 /* BinaryExpression */) { + if (node.kind === 221 /* SyntaxKind.BinaryExpression */) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; // Set breakpoint in destructuring pattern if its destructuring assignment // [a, b, c] or {a, b, c} of @@ -165809,35 +166447,35 @@ var ts; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left)) { return spanInArrayLiteralOrObjectLiteralDestructuringPattern(left); } - if (operatorToken.kind === 63 /* EqualsToken */ && ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent)) { + if (operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent)) { // Set breakpoint on assignment expression element of destructuring pattern // a = expression of // [a = expression, b, c] = someExpression or // { a = expression, b, c } = someExpression return textSpan(node); } - if (operatorToken.kind === 27 /* CommaToken */) { + if (operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return spanInNode(left); } } if (ts.isExpressionNode(node)) { switch (parent.kind) { - case 240 /* DoStatement */: + case 240 /* SyntaxKind.DoStatement */: // Set span as if on while keyword return spanInPreviousNode(node); - case 165 /* Decorator */: + case 165 /* SyntaxKind.Decorator */: // Set breakpoint on the decorator emit return spanInNode(node.parent); - case 242 /* ForStatement */: - case 244 /* ForOfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return textSpan(node); - case 221 /* BinaryExpression */: - if (node.parent.operatorToken.kind === 27 /* CommaToken */) { + case 221 /* SyntaxKind.BinaryExpression */: + if (node.parent.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { // If this is a comma expression, the breakpoint is possible in this expression return textSpan(node); } break; - case 214 /* ArrowFunction */: + case 214 /* SyntaxKind.ArrowFunction */: if (node.parent.body === node) { // If this is body of arrow function, it is allowed to have the breakpoint return textSpan(node); @@ -165846,21 +166484,21 @@ var ts; } } switch (node.parent.kind) { - case 296 /* PropertyAssignment */: + case 296 /* SyntaxKind.PropertyAssignment */: // If this is name of property assignment, set breakpoint in the initializer if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 211 /* TypeAssertionExpression */: + case 211 /* SyntaxKind.TypeAssertionExpression */: // Breakpoint in type assertion goes to its operand if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 254 /* VariableDeclaration */: - case 164 /* Parameter */: { + case 254 /* SyntaxKind.VariableDeclaration */: + case 164 /* SyntaxKind.Parameter */: { // initializer of variable/parameter declaration go to previous node var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { @@ -165868,7 +166506,7 @@ var ts; } break; } - case 221 /* BinaryExpression */: { + case 221 /* SyntaxKind.BinaryExpression */: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { // If initializer of destructuring assignment move to previous token @@ -165898,7 +166536,7 @@ var ts; } function spanInVariableDeclaration(variableDeclaration) { // If declaration of for in statement, just set the span in parent - if (variableDeclaration.parent.parent.kind === 243 /* ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */) { return spanInNode(variableDeclaration.parent.parent); } var parent = variableDeclaration.parent; @@ -165909,8 +166547,8 @@ var ts; // Breakpoint is possible in variableDeclaration only if there is initialization // or its declaration from 'for of' if (variableDeclaration.initializer || - ts.hasSyntacticModifier(variableDeclaration, 1 /* Export */) || - parent.parent.kind === 244 /* ForOfStatement */) { + ts.hasSyntacticModifier(variableDeclaration, 1 /* ModifierFlags.Export */) || + parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -165925,7 +166563,7 @@ var ts; function canHaveSpanInParameterDeclaration(parameter) { // Breakpoint is possible on parameter only if it has initializer, is a rest parameter, or has public or private modifier return !!parameter.initializer || parameter.dotDotDotToken !== undefined || - ts.hasSyntacticModifier(parameter, 4 /* Public */ | 8 /* Private */); + ts.hasSyntacticModifier(parameter, 4 /* ModifierFlags.Public */ | 8 /* ModifierFlags.Private */); } function spanInParameterDeclaration(parameter) { if (ts.isBindingPattern(parameter.name)) { @@ -165950,8 +166588,8 @@ var ts; } } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { - return ts.hasSyntacticModifier(functionDeclaration, 1 /* Export */) || - (functionDeclaration.parent.kind === 257 /* ClassDeclaration */ && functionDeclaration.kind !== 171 /* Constructor */); + return ts.hasSyntacticModifier(functionDeclaration, 1 /* ModifierFlags.Export */) || + (functionDeclaration.parent.kind === 257 /* SyntaxKind.ClassDeclaration */ && functionDeclaration.kind !== 171 /* SyntaxKind.Constructor */); } function spanInFunctionDeclaration(functionDeclaration) { // No breakpoints in the function signature @@ -165974,26 +166612,26 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 261 /* ModuleDeclaration */: - if (ts.getModuleInstanceState(block.parent) !== 1 /* Instantiated */) { + case 261 /* SyntaxKind.ModuleDeclaration */: + if (ts.getModuleInstanceState(block.parent) !== 1 /* ModuleInstanceState.Instantiated */) { return undefined; } // Set on parent if on same line otherwise on first statement // falls through - case 241 /* WhileStatement */: - case 239 /* IfStatement */: - case 243 /* ForInStatement */: + case 241 /* SyntaxKind.WhileStatement */: + case 239 /* SyntaxKind.IfStatement */: + case 243 /* SyntaxKind.ForInStatement */: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); // Set span on previous token if it starts on same line otherwise on the first statement of the block - case 242 /* ForStatement */: - case 244 /* ForOfStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.ForOfStatement */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } // Default action is to set on first statement return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 255 /* VariableDeclarationList */) { + if (forLikeStatement.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { // Declaration list - set breakpoint in first declaration var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { @@ -166018,21 +166656,21 @@ var ts; } function spanInBindingPattern(bindingPattern) { // Set breakpoint in first binding element - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 227 /* OmittedExpression */ ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 227 /* SyntaxKind.OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } // Empty binding pattern of binding element, set breakpoint on binding element - if (bindingPattern.parent.kind === 203 /* BindingElement */) { + if (bindingPattern.parent.kind === 203 /* SyntaxKind.BindingElement */) { return textSpan(bindingPattern.parent); } // Variable declaration is used as the span return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 202 /* ArrayBindingPattern */ && node.kind !== 201 /* ObjectBindingPattern */); - var elements = node.kind === 204 /* ArrayLiteralExpression */ ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 227 /* OmittedExpression */ ? element : undefined; }); + ts.Debug.assert(node.kind !== 202 /* SyntaxKind.ArrayBindingPattern */ && node.kind !== 201 /* SyntaxKind.ObjectBindingPattern */); + var elements = node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 227 /* SyntaxKind.OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } @@ -166040,18 +166678,18 @@ var ts; // just nested element in another destructuring assignment // set breakpoint on assignment when parent is destructuring assignment // Otherwise set breakpoint for this element - return textSpan(node.parent.kind === 221 /* BinaryExpression */ ? node.parent : node); + return textSpan(node.parent.kind === 221 /* SyntaxKind.BinaryExpression */ ? node.parent : node); } // Tokens: function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 260 /* EnumDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 257 /* ClassDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } // Default to parent node @@ -166059,25 +166697,25 @@ var ts; } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 262 /* ModuleBlock */: + case 262 /* SyntaxKind.ModuleBlock */: // If this is not an instantiated module block, no bp span - if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* Instantiated */) { + if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* ModuleInstanceState.Instantiated */) { return undefined; } // falls through - case 260 /* EnumDeclaration */: - case 257 /* ClassDeclaration */: + case 260 /* SyntaxKind.EnumDeclaration */: + case 257 /* SyntaxKind.ClassDeclaration */: // Span on close brace token return textSpan(node); - case 235 /* Block */: + case 235 /* SyntaxKind.Block */: if (ts.isFunctionBlock(node.parent)) { // Span on close brace token return textSpan(node); } // falls through - case 292 /* CatchClause */: + case 292 /* SyntaxKind.CatchClause */: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 263 /* CaseBlock */: + case 263 /* SyntaxKind.CaseBlock */: // breakpoint in last statement of the last clause var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); @@ -166085,7 +166723,7 @@ var ts; return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 201 /* ObjectBindingPattern */: + case 201 /* SyntaxKind.ObjectBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -166101,7 +166739,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 202 /* ArrayBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -166116,12 +166754,12 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 240 /* DoStatement */ || // Go to while keyword and do action instead - node.parent.kind === 208 /* CallExpression */ || - node.parent.kind === 209 /* NewExpression */) { + if (node.parent.kind === 240 /* SyntaxKind.DoStatement */ || // Go to while keyword and do action instead + node.parent.kind === 208 /* SyntaxKind.CallExpression */ || + node.parent.kind === 209 /* SyntaxKind.NewExpression */) { return spanInPreviousNode(node); } - if (node.parent.kind === 212 /* ParenthesizedExpression */) { + if (node.parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { return spanInNextNode(node); } // Default to parent node @@ -166130,21 +166768,21 @@ var ts; function spanInCloseParenToken(node) { // Is this close paren token of parameter list, set span in previous token switch (node.parent.kind) { - case 213 /* FunctionExpression */: - case 256 /* FunctionDeclaration */: - case 214 /* ArrowFunction */: - case 169 /* MethodDeclaration */: - case 168 /* MethodSignature */: - case 172 /* GetAccessor */: - case 173 /* SetAccessor */: - case 171 /* Constructor */: - case 241 /* WhileStatement */: - case 240 /* DoStatement */: - case 242 /* ForStatement */: - case 244 /* ForOfStatement */: - case 208 /* CallExpression */: - case 209 /* NewExpression */: - case 212 /* ParenthesizedExpression */: + case 213 /* SyntaxKind.FunctionExpression */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + case 168 /* SyntaxKind.MethodSignature */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.Constructor */: + case 241 /* SyntaxKind.WhileStatement */: + case 240 /* SyntaxKind.DoStatement */: + case 242 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.ForOfStatement */: + case 208 /* SyntaxKind.CallExpression */: + case 209 /* SyntaxKind.NewExpression */: + case 212 /* SyntaxKind.ParenthesizedExpression */: return spanInPreviousNode(node); // Default to parent node default: @@ -166154,20 +166792,20 @@ var ts; function spanInColonToken(node) { // Is this : specifying return annotation of the function declaration if (ts.isFunctionLike(node.parent) || - node.parent.kind === 296 /* PropertyAssignment */ || - node.parent.kind === 164 /* Parameter */) { + node.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ || + node.parent.kind === 164 /* SyntaxKind.Parameter */) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 211 /* TypeAssertionExpression */) { + if (node.parent.kind === 211 /* SyntaxKind.TypeAssertionExpression */) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 240 /* DoStatement */) { + if (node.parent.kind === 240 /* SyntaxKind.DoStatement */) { // Set span on while expression return textSpanEndingAtNextToken(node, node.parent.expression); } @@ -166175,7 +166813,7 @@ var ts; return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 244 /* ForOfStatement */) { + if (node.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { // Set using next token return spanInNextNode(node); } @@ -166343,7 +166981,7 @@ var ts; return this.shimHost.getScriptKind(fileName); // TODO: GH#18217 } else { - return 0 /* Unknown */; + return 0 /* ScriptKind.Unknown */; } }; LanguageServiceShimHostAdapter.prototype.getScriptVersion = function (fileName) { @@ -166433,13 +167071,13 @@ var ts; var result = action(); if (logPerformance) { var end = ts.timestamp(); - logger.log(actionDescription + " completed in " + (end - start) + " msec"); + logger.log("".concat(actionDescription, " completed in ").concat(end - start, " msec")); if (ts.isString(result)) { var str = result; if (str.length > 128) { str = str.substring(0, 128) + "..."; } - logger.log(" result.length=" + str.length + ", result='" + JSON.stringify(str) + "'"); + logger.log(" result.length=".concat(str.length, ", result='").concat(JSON.stringify(str), "'")); } } return result; @@ -166521,7 +167159,7 @@ var ts; * Update the list of scripts known to the compiler */ LanguageServiceShimObject.prototype.refresh = function (throwOnError) { - this.forwardJSONCall("refresh(" + throwOnError + ")", function () { return null; } // eslint-disable-line no-null/no-null + this.forwardJSONCall("refresh(".concat(throwOnError, ")"), function () { return null; } // eslint-disable-line no-null/no-null ); }; LanguageServiceShimObject.prototype.cleanupSemanticCache = function () { @@ -166537,43 +167175,43 @@ var ts; }; LanguageServiceShimObject.prototype.getSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); }); + return this.forwardJSONCall("getSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); }); }; LanguageServiceShimObject.prototype.getSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); }); + return this.forwardJSONCall("getSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); }); }; LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", + return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSyntacticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getEncodedSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", + return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSemanticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getSyntacticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSyntacticDiagnostics('" + fileName + "')", function () { + return this.forwardJSONCall("getSyntacticDiagnostics('".concat(fileName, "')"), function () { var diagnostics = _this.languageService.getSyntacticDiagnostics(fileName); return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSemanticDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSemanticDiagnostics('" + fileName + "')", function () { + return this.forwardJSONCall("getSemanticDiagnostics('".concat(fileName, "')"), function () { var diagnostics = _this.languageService.getSemanticDiagnostics(fileName); return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSuggestionDiagnostics = function (fileName) { var _this = this; - return this.forwardJSONCall("getSuggestionDiagnostics('" + fileName + "')", function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); }); + return this.forwardJSONCall("getSuggestionDiagnostics('".concat(fileName, "')"), function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); }); }; LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics = function () { var _this = this; @@ -166589,7 +167227,7 @@ var ts; */ LanguageServiceShimObject.prototype.getQuickInfoAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getQuickInfoAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); }); + return this.forwardJSONCall("getQuickInfoAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); }); }; /// NAMEORDOTTEDNAMESPAN /** @@ -166598,7 +167236,7 @@ var ts; */ LanguageServiceShimObject.prototype.getNameOrDottedNameSpan = function (fileName, startPos, endPos) { var _this = this; - return this.forwardJSONCall("getNameOrDottedNameSpan('" + fileName + "', " + startPos + ", " + endPos + ")", function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); }); + return this.forwardJSONCall("getNameOrDottedNameSpan('".concat(fileName, "', ").concat(startPos, ", ").concat(endPos, ")"), function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); }); }; /** * STATEMENTSPAN @@ -166606,12 +167244,12 @@ var ts; */ LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBreakpointStatementAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); }); + return this.forwardJSONCall("getBreakpointStatementAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); }); }; /// SIGNATUREHELP LanguageServiceShimObject.prototype.getSignatureHelpItems = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getSignatureHelpItems('" + fileName + "', " + position + ")", function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); }); + return this.forwardJSONCall("getSignatureHelpItems('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); }); }; /// GOTO DEFINITION /** @@ -166620,7 +167258,7 @@ var ts; */ LanguageServiceShimObject.prototype.getDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); + return this.forwardJSONCall("getDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAtPosition(fileName, position); }); }; /** * Computes the definition location and file for the symbol @@ -166628,7 +167266,7 @@ var ts; */ LanguageServiceShimObject.prototype.getDefinitionAndBoundSpan = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getDefinitionAndBoundSpan('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); }); + return this.forwardJSONCall("getDefinitionAndBoundSpan('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); }); }; /// GOTO Type /** @@ -166637,7 +167275,7 @@ var ts; */ LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getTypeDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); }); + return this.forwardJSONCall("getTypeDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); }); }; /// GOTO Implementation /** @@ -166646,37 +167284,37 @@ var ts; */ LanguageServiceShimObject.prototype.getImplementationAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getImplementationAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); + return this.forwardJSONCall("getImplementationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getRenameInfo('" + fileName + "', " + position + ")", function () { return _this.languageService.getRenameInfo(fileName, position, options); }); + return this.forwardJSONCall("getRenameInfo('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getRenameInfo(fileName, position, options); }); }; LanguageServiceShimObject.prototype.getSmartSelectionRange = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getSmartSelectionRange('" + fileName + "', " + position + ")", function () { return _this.languageService.getSmartSelectionRange(fileName, position); }); + return this.forwardJSONCall("getSmartSelectionRange('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSmartSelectionRange(fileName, position); }); }; LanguageServiceShimObject.prototype.findRenameLocations = function (fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename) { var _this = this; - return this.forwardJSONCall("findRenameLocations('" + fileName + "', " + position + ", " + findInStrings + ", " + findInComments + ", " + providePrefixAndSuffixTextForRename + ")", function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); }); + return this.forwardJSONCall("findRenameLocations('".concat(fileName, "', ").concat(position, ", ").concat(findInStrings, ", ").concat(findInComments, ", ").concat(providePrefixAndSuffixTextForRename, ")"), function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); }); }; /// GET BRACE MATCHING LanguageServiceShimObject.prototype.getBraceMatchingAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getBraceMatchingAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); }); + return this.forwardJSONCall("getBraceMatchingAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition = function (fileName, position, openingBrace) { var _this = this; - return this.forwardJSONCall("isValidBraceCompletionAtPosition('" + fileName + "', " + position + ", " + openingBrace + ")", function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); }); + return this.forwardJSONCall("isValidBraceCompletionAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(openingBrace, ")"), function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); }); }; LanguageServiceShimObject.prototype.getSpanOfEnclosingComment = function (fileName, position, onlyMultiLine) { var _this = this; - return this.forwardJSONCall("getSpanOfEnclosingComment('" + fileName + "', " + position + ")", function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); }); + return this.forwardJSONCall("getSpanOfEnclosingComment('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); }); }; /// GET SMART INDENT LanguageServiceShimObject.prototype.getIndentationAtPosition = function (fileName, position, options /*Services.EditorOptions*/) { var _this = this; - return this.forwardJSONCall("getIndentationAtPosition('" + fileName + "', " + position + ")", function () { + return this.forwardJSONCall("getIndentationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { var localOptions = JSON.parse(options); return _this.languageService.getIndentationAtPosition(fileName, position, localOptions); }); @@ -166684,23 +167322,23 @@ var ts; /// GET REFERENCES LanguageServiceShimObject.prototype.getReferencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getReferencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); + return this.forwardJSONCall("getReferencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getReferencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.findReferences = function (fileName, position) { var _this = this; - return this.forwardJSONCall("findReferences('" + fileName + "', " + position + ")", function () { return _this.languageService.findReferences(fileName, position); }); + return this.forwardJSONCall("findReferences('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.findReferences(fileName, position); }); }; LanguageServiceShimObject.prototype.getFileReferences = function (fileName) { var _this = this; - return this.forwardJSONCall("getFileReferences('" + fileName + ")", function () { return _this.languageService.getFileReferences(fileName); }); + return this.forwardJSONCall("getFileReferences('".concat(fileName, ")"), function () { return _this.languageService.getFileReferences(fileName); }); }; LanguageServiceShimObject.prototype.getOccurrencesAtPosition = function (fileName, position) { var _this = this; - return this.forwardJSONCall("getOccurrencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); + return this.forwardJSONCall("getOccurrencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); }); }; LanguageServiceShimObject.prototype.getDocumentHighlights = function (fileName, position, filesToSearch) { var _this = this; - return this.forwardJSONCall("getDocumentHighlights('" + fileName + "', " + position + ")", function () { + return this.forwardJSONCall("getDocumentHighlights('".concat(fileName, "', ").concat(position, ")"), function () { var results = _this.languageService.getDocumentHighlights(fileName, position, JSON.parse(filesToSearch)); // workaround for VS document highlighting issue - keep only items from the initial file var normalizedName = ts.toFileNameLowerCase(ts.normalizeSlashes(fileName)); @@ -166715,108 +167353,108 @@ var ts; */ LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, preferences, formattingSettings) { var _this = this; - return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + preferences + ", " + formattingSettings + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences, formattingSettings); }); + return this.forwardJSONCall("getCompletionsAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(preferences, ", ").concat(formattingSettings, ")"), function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences, formattingSettings); }); }; /** Get a string based representation of a completion list entry details */ LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, formatOptions, source, preferences, data) { var _this = this; - return this.forwardJSONCall("getCompletionEntryDetails('" + fileName + "', " + position + ", '" + entryName + "')", function () { + return this.forwardJSONCall("getCompletionEntryDetails('".concat(fileName, "', ").concat(position, ", '").concat(entryName, "')"), function () { var localOptions = formatOptions === undefined ? undefined : JSON.parse(formatOptions); return _this.languageService.getCompletionEntryDetails(fileName, position, entryName, localOptions, source, preferences, data); }); }; LanguageServiceShimObject.prototype.getFormattingEditsForRange = function (fileName, start, end, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForRange('" + fileName + "', " + start + ", " + end + ")", function () { + return this.forwardJSONCall("getFormattingEditsForRange('".concat(fileName, "', ").concat(start, ", ").concat(end, ")"), function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsForRange(fileName, start, end, localOptions); }); }; LanguageServiceShimObject.prototype.getFormattingEditsForDocument = function (fileName, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsForDocument('" + fileName + "')", function () { + return this.forwardJSONCall("getFormattingEditsForDocument('".concat(fileName, "')"), function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsForDocument(fileName, localOptions); }); }; LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke = function (fileName, position, key, options /*Services.FormatCodeOptions*/) { var _this = this; - return this.forwardJSONCall("getFormattingEditsAfterKeystroke('" + fileName + "', " + position + ", '" + key + "')", function () { + return this.forwardJSONCall("getFormattingEditsAfterKeystroke('".concat(fileName, "', ").concat(position, ", '").concat(key, "')"), function () { var localOptions = JSON.parse(options); return _this.languageService.getFormattingEditsAfterKeystroke(fileName, position, key, localOptions); }); }; LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition = function (fileName, position, options) { var _this = this; - return this.forwardJSONCall("getDocCommentTemplateAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); }); + return this.forwardJSONCall("getDocCommentTemplateAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); }); }; /// NAVIGATE TO /** Return a list of symbols that are interesting to navigate to */ LanguageServiceShimObject.prototype.getNavigateToItems = function (searchValue, maxResultCount, fileName) { var _this = this; - return this.forwardJSONCall("getNavigateToItems('" + searchValue + "', " + maxResultCount + ", " + fileName + ")", function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); }); + return this.forwardJSONCall("getNavigateToItems('".concat(searchValue, "', ").concat(maxResultCount, ", ").concat(fileName, ")"), function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); }); }; LanguageServiceShimObject.prototype.getNavigationBarItems = function (fileName) { var _this = this; - return this.forwardJSONCall("getNavigationBarItems('" + fileName + "')", function () { return _this.languageService.getNavigationBarItems(fileName); }); + return this.forwardJSONCall("getNavigationBarItems('".concat(fileName, "')"), function () { return _this.languageService.getNavigationBarItems(fileName); }); }; LanguageServiceShimObject.prototype.getNavigationTree = function (fileName) { var _this = this; - return this.forwardJSONCall("getNavigationTree('" + fileName + "')", function () { return _this.languageService.getNavigationTree(fileName); }); + return this.forwardJSONCall("getNavigationTree('".concat(fileName, "')"), function () { return _this.languageService.getNavigationTree(fileName); }); }; LanguageServiceShimObject.prototype.getOutliningSpans = function (fileName) { var _this = this; - return this.forwardJSONCall("getOutliningSpans('" + fileName + "')", function () { return _this.languageService.getOutliningSpans(fileName); }); + return this.forwardJSONCall("getOutliningSpans('".concat(fileName, "')"), function () { return _this.languageService.getOutliningSpans(fileName); }); }; LanguageServiceShimObject.prototype.getTodoComments = function (fileName, descriptors) { var _this = this; - return this.forwardJSONCall("getTodoComments('" + fileName + "')", function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); }); + return this.forwardJSONCall("getTodoComments('".concat(fileName, "')"), function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); }); }; /// CALL HIERARCHY LanguageServiceShimObject.prototype.prepareCallHierarchy = function (fileName, position) { var _this = this; - return this.forwardJSONCall("prepareCallHierarchy('" + fileName + "', " + position + ")", function () { return _this.languageService.prepareCallHierarchy(fileName, position); }); + return this.forwardJSONCall("prepareCallHierarchy('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.prepareCallHierarchy(fileName, position); }); }; LanguageServiceShimObject.prototype.provideCallHierarchyIncomingCalls = function (fileName, position) { var _this = this; - return this.forwardJSONCall("provideCallHierarchyIncomingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); }); + return this.forwardJSONCall("provideCallHierarchyIncomingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); }); }; LanguageServiceShimObject.prototype.provideCallHierarchyOutgoingCalls = function (fileName, position) { var _this = this; - return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); }); + return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); }); }; LanguageServiceShimObject.prototype.provideInlayHints = function (fileName, span, preference) { var _this = this; - return this.forwardJSONCall("provideInlayHints('" + fileName + "', '" + JSON.stringify(span) + "', " + JSON.stringify(preference) + ")", function () { return _this.languageService.provideInlayHints(fileName, span, preference); }); + return this.forwardJSONCall("provideInlayHints('".concat(fileName, "', '").concat(JSON.stringify(span), "', ").concat(JSON.stringify(preference), ")"), function () { return _this.languageService.provideInlayHints(fileName, span, preference); }); }; /// Emit LanguageServiceShimObject.prototype.getEmitOutput = function (fileName) { var _this = this; - return this.forwardJSONCall("getEmitOutput('" + fileName + "')", function () { + return this.forwardJSONCall("getEmitOutput('".concat(fileName, "')"), function () { var _a = _this.languageService.getEmitOutput(fileName), diagnostics = _a.diagnostics, rest = __rest(_a, ["diagnostics"]); return __assign(__assign({}, rest), { diagnostics: _this.realizeDiagnostics(diagnostics) }); }); }; LanguageServiceShimObject.prototype.getEmitOutputObject = function (fileName) { var _this = this; - return forwardCall(this.logger, "getEmitOutput('" + fileName + "')", + return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), /*returnJson*/ false, function () { return _this.languageService.getEmitOutput(fileName); }, this.logPerformance); }; LanguageServiceShimObject.prototype.toggleLineComment = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("toggleLineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleLineComment(fileName, textRange); }); + return this.forwardJSONCall("toggleLineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleLineComment(fileName, textRange); }); }; LanguageServiceShimObject.prototype.toggleMultilineComment = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("toggleMultilineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleMultilineComment(fileName, textRange); }); + return this.forwardJSONCall("toggleMultilineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleMultilineComment(fileName, textRange); }); }; LanguageServiceShimObject.prototype.commentSelection = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("commentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.commentSelection(fileName, textRange); }); + return this.forwardJSONCall("commentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.commentSelection(fileName, textRange); }); }; LanguageServiceShimObject.prototype.uncommentSelection = function (fileName, textRange) { var _this = this; - return this.forwardJSONCall("uncommentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.uncommentSelection(fileName, textRange); }); + return this.forwardJSONCall("uncommentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.uncommentSelection(fileName, textRange); }); }; return LanguageServiceShimObject; }(ShimBase)); @@ -166866,11 +167504,11 @@ var ts; }; CoreServicesShimObject.prototype.resolveModuleName = function (fileName, moduleName, compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () { + return this.forwardJSONCall("resolveModuleName('".concat(fileName, "')"), function () { var compilerOptions = JSON.parse(compilerOptionsJson); var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host); var resolvedFileName = result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined; - if (result.resolvedModule && result.resolvedModule.extension !== ".ts" /* Ts */ && result.resolvedModule.extension !== ".tsx" /* Tsx */ && result.resolvedModule.extension !== ".d.ts" /* Dts */) { + if (result.resolvedModule && result.resolvedModule.extension !== ".ts" /* Extension.Ts */ && result.resolvedModule.extension !== ".tsx" /* Extension.Tsx */ && result.resolvedModule.extension !== ".d.ts" /* Extension.Dts */) { resolvedFileName = undefined; } return { @@ -166881,7 +167519,7 @@ var ts; }; CoreServicesShimObject.prototype.resolveTypeReferenceDirective = function (fileName, typeReferenceDirective, compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("resolveTypeReferenceDirective(" + fileName + ")", function () { + return this.forwardJSONCall("resolveTypeReferenceDirective(".concat(fileName, ")"), function () { var compilerOptions = JSON.parse(compilerOptionsJson); var result = ts.resolveTypeReferenceDirective(typeReferenceDirective, ts.normalizeSlashes(fileName), compilerOptions, _this.host); return { @@ -166893,7 +167531,7 @@ var ts; }; CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) { var _this = this; - return this.forwardJSONCall("getPreProcessedFileInfo('" + fileName + "')", function () { + return this.forwardJSONCall("getPreProcessedFileInfo('".concat(fileName, "')"), function () { // for now treat files as JavaScript var result = ts.preProcessFile(ts.getSnapshotText(sourceTextSnapshot), /* readImportFiles */ true, /* detectJavaScriptImports */ true); return { @@ -166908,7 +167546,7 @@ var ts; }; CoreServicesShimObject.prototype.getAutomaticTypeDirectiveNames = function (compilerOptionsJson) { var _this = this; - return this.forwardJSONCall("getAutomaticTypeDirectiveNames('" + compilerOptionsJson + "')", function () { + return this.forwardJSONCall("getAutomaticTypeDirectiveNames('".concat(compilerOptionsJson, "')"), function () { var compilerOptions = JSON.parse(compilerOptionsJson); return ts.getAutomaticTypeDirectiveNames(compilerOptions, _this.host); }); @@ -166930,7 +167568,7 @@ var ts; }; CoreServicesShimObject.prototype.getTSConfigFileInfo = function (fileName, sourceTextSnapshot) { var _this = this; - return this.forwardJSONCall("getTSConfigFileInfo('" + fileName + "')", function () { + return this.forwardJSONCall("getTSConfigFileInfo('".concat(fileName, "')"), function () { var result = ts.parseJsonText(fileName, ts.getSnapshotText(sourceTextSnapshot)); var normalizedFileName = ts.normalizeSlashes(fileName); var configFile = ts.parseJsonSourceFileConfigFileContent(result, _this.host, ts.getDirectoryPath(normalizedFileName), /*existingOptions*/ {}, normalizedFileName); @@ -167713,11 +168351,11 @@ var ts; }, factoryDeprecation); /** @deprecated Use `factory.createUniqueName(text, GeneratedIdentifierFlags.Optimistic)` or the factory supplied by your transformation context instead. */ ts.createOptimisticUniqueName = ts.Debug.deprecate(function createOptimisticUniqueName(text) { - return ts.factory.createUniqueName(text, 16 /* Optimistic */); + return ts.factory.createUniqueName(text, 16 /* GeneratedIdentifierFlags.Optimistic */); }, factoryDeprecation); /** @deprecated Use `factory.createUniqueName(text, GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel)` or the factory supplied by your transformation context instead. */ ts.createFileLevelUniqueName = ts.Debug.deprecate(function createFileLevelUniqueName(text) { - return ts.factory.createUniqueName(text, 16 /* Optimistic */ | 32 /* FileLevel */); + return ts.factory.createUniqueName(text, 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); }, factoryDeprecation); /** @deprecated Use `factory.createIndexSignature` or the factory supplied by your transformation context instead. */ ts.createIndexSignature = ts.Debug.deprecate(function createIndexSignature(decorators, modifiers, parameters, type) { @@ -167764,7 +168402,7 @@ var ts; } else { type = operatorOrType; - operator = 140 /* KeyOfKeyword */; + operator = 140 /* SyntaxKind.KeyOfKeyword */; } return ts.factory.createTypeOperatorNode(operator, type); }, factoryDeprecation); @@ -167801,7 +168439,7 @@ var ts; /** @deprecated Use `factory.createConditional` or the factory supplied by your transformation context instead. */ ts.createConditional = ts.Debug.deprecate(function createConditional(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) { return arguments.length === 5 ? ts.factory.createConditionalExpression(condition, questionTokenOrWhenTrue, whenTrueOrWhenFalse, colonToken, whenFalse) : - arguments.length === 3 ? ts.factory.createConditionalExpression(condition, ts.factory.createToken(57 /* QuestionToken */), questionTokenOrWhenTrue, ts.factory.createToken(58 /* ColonToken */), whenTrueOrWhenFalse) : + arguments.length === 3 ? ts.factory.createConditionalExpression(condition, ts.factory.createToken(57 /* SyntaxKind.QuestionToken */), questionTokenOrWhenTrue, ts.factory.createToken(58 /* SyntaxKind.ColonToken */), whenTrueOrWhenFalse) : ts.Debug.fail("Argument count mismatch"); }, factoryDeprecation); /** @deprecated Use `factory.createYield` or the factory supplied by your transformation context instead. */ @@ -167942,9 +168580,9 @@ var ts; ts.createNode = ts.Debug.deprecate(function createNode(kind, pos, end) { if (pos === void 0) { pos = 0; } if (end === void 0) { end = 0; } - return ts.setTextRangePosEnd(kind === 305 /* SourceFile */ ? ts.parseBaseNodeFactory.createBaseSourceFileNode(kind) : - kind === 79 /* Identifier */ ? ts.parseBaseNodeFactory.createBaseIdentifierNode(kind) : - kind === 80 /* PrivateIdentifier */ ? ts.parseBaseNodeFactory.createBasePrivateIdentifierNode(kind) : + return ts.setTextRangePosEnd(kind === 305 /* SyntaxKind.SourceFile */ ? ts.parseBaseNodeFactory.createBaseSourceFileNode(kind) : + kind === 79 /* SyntaxKind.Identifier */ ? ts.parseBaseNodeFactory.createBaseIdentifierNode(kind) : + kind === 80 /* SyntaxKind.PrivateIdentifier */ ? ts.parseBaseNodeFactory.createBasePrivateIdentifierNode(kind) : !ts.isNodeKind(kind) ? ts.parseBaseNodeFactory.createBaseTokenNode(kind) : ts.parseBaseNodeFactory.createBaseNode(kind), pos, end); }, { since: "4.0", warnAfter: "4.1", message: "Use an appropriate `factory` method instead." }); @@ -167971,7 +168609,7 @@ var ts; // #region Renamed node Tests /** @deprecated Use `isTypeAssertionExpression` instead. */ ts.isTypeAssertion = ts.Debug.deprecate(function isTypeAssertion(node) { - return node.kind === 211 /* TypeAssertionExpression */; + return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */; }, { since: "4.0", warnAfter: "4.1", diff --git a/yarn.lock b/yarn.lock index e59747fa011a..4fcb509aceff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -177,7 +177,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7": version "0.0.0-6f5ad484efbab50c504a6ae0ea15fd9439888321" - uid f557392bfe7eeccdd39e21853ed7d90e02b2bce7 resolved "https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7" dependencies: "@angular-devkit/build-angular" "14.0.0-next.13" @@ -10356,10 +10355,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.7.0-beta: - version "4.7.0-beta" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.0-beta.tgz#15952f24d4177479ca3d19f09436ad8c69a30563" - integrity sha512-m+CNL8lzHyHDxYYDTI+pm5hw5/bufYVGan2bokPyJY/y9C/4W/PCWMtYZ0vV9fLXbEL57elMeoaz9Evxs8UQ+A== +typescript@4.7.1-rc: + version "4.7.1-rc" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.1-rc.tgz#23a0517d36c56de887b4457f29e2d265647bbd7c" + integrity sha512-EQd2NVelDe6ZVc2sO1CSpuSs+RHzY8c2n/kTNQAHw4um/eAXY+ZY4IKoUpNK0wO6C5hN+XcUXR7yqT8VbwwNIQ== typescript@~4.6.2, typescript@~4.6.3: version "4.6.4" From 53862e92d5108cb8c26d5fe5ca2ab10dcc5407b0 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 12 May 2022 17:25:15 -0700 Subject: [PATCH 0390/1388] docs: update analytics approvers Stephen and Igor are no longer the leads for DevRel and Angular respectively. Updated to use generic language so this doesn't fall out of date as easily. --- docs/process/release.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index eadc1a1b8e8e..89894d10a76a 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -15,13 +15,7 @@ Caretaker calendar can be found [here](https://calendar.google.com/calendar/embe Each shift consists of two caretakers. The primary caretaker is responsible for merging PRs to `main` and patch whereas the secondary caretaker is responsible -for the release. Primary-secondary pairs are as follows: - -| Primary | Secondary | -| ------- | --------- | -| Alan | Doug | -| Charles | Keen | -| Filipe | Joey | +for the release. ## Merging PRs From 25482d72b92e1050c6e4856ca29d97e6d43d4742 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 12 May 2022 17:27:19 -0700 Subject: [PATCH 0391/1388] docs: remove caretaker pairings This list is out of date and not used. The calendar is listed above and is the source of truth, so there is no need for this table. --- docs/design/analytics.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index f66c036d8039..251c17af98a7 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -31,8 +31,8 @@ To create a new dimension (tracking a new flag): defined on GA. 1. Use the ID of the dimension as the `x-user-analytics` value in the `schema.json` file. 1. Add a new row to the table below in the same PR as the one adding the dimension to the code. -1. New dimensions PRs need to be approved by [stephenfluin@google.com](mailto:stephenfluin@google.com) and - [iminar@google.com](mailto:iminar@google.com). **This is not negotiable.** +1. New dimension PRs need to be approved by the tooling and DevRel leads. + **This is not negotiable.** **DO NOT ADD `x-user-analytics` FOR VALUES THAT ARE USER IDENTIFIABLE (PII), FOR EXAMPLE A PROJECT NAME TO BUILD OR A MODULE NAME.** @@ -117,4 +117,3 @@ There are 2 ways of disabling usage analytics: 1. There is an `NG_CLI_ANALYTICS` environment variable that overrides the global configuration. That flag is a string that represents the User ID. If the string `"false"` is used it will disable analytics for this run. - From 2b4180296f0d5c15f0a19b0891e8ace4e6e8391a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 12 May 2022 09:41:45 +0000 Subject: [PATCH 0392/1388] build: update github/codeql-action digest to 2f58583 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index eb40aa4e0f11..624e5ff039ad 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@03e2e3c45f9f937ffe65a1caa4c9960d420a31f9 # tag=v2.1.10 + uses: github/codeql-action/upload-sarif@2f58583a1b24a7d3c7034f6bf9fa506d23b1183b # tag=v2.1.10 with: sarif_file: results.sarif From 675a7f6c8bd697177e2f73bf4d041259c8aee72a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 16 May 2022 13:15:59 +0000 Subject: [PATCH 0393/1388] build: lock file maintenance --- yarn.lock | 399 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 207 insertions(+), 192 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4fcb509aceff..6e9fd87c04f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -169,9 +169,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.3.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.5.tgz#6bcf669dae637dd164342b8460db915eaed31e9b" - integrity sha512-lf+Be8dDRvz8J+QFR2RxS3BBfgGM4eWq4bI1+k/aqDnM6OW4pQXdq8Lzae8SxN48u1NxB1M/1bbc9LcrChrj2Q== + version "13.3.8" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.8.tgz#3ebe8bc18ee18fa79472e1247219d3e3adb52a12" + integrity sha512-FGQ+fvTm0QnNBKBamTJSzfBnxn+/gVBHT+2gpQtpax4LFP/6Z05N3AsJ2ZwM9mJwT4MH1HsEVJcXZCy7xXUXhg== dependencies: tslib "^2.3.0" @@ -1408,10 +1408,11 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-is-pseudo-class@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.2.tgz#a834ca11a43d6ed9bc9e3ff53c80d490a4b1aaad" - integrity sha512-L9h1yxXMj7KpgNzlMrw3isvHJYkikZgZE4ASwssTnGEH8tm50L6QsM9QQT5wR4/eO5mU0rN5axH7UzNxEYg5CA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.3.tgz#98c827ca88598e598dcd726a9d9e21e0475eb487" + integrity sha512-wMQ3GMWrJyRQfvBJsD38ndF/nwHT32xevSn8w2X+iCoWqmhhoj0K7HgdGW8XQhah6sdENBa8yS9gRosdezaQZw== dependencies: + "@csstools/selector-specificity" "^1.0.0" postcss-selector-parser "^6.0.10" "@csstools/postcss-normalize-display-values@^1.0.0": @@ -1444,9 +1445,14 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-unset-value@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.1.tgz#2cc020785db5ec82cc9444afe4cdae2a65445f89" + integrity sha512-f1G1WGDXEU/RN1TWAxBPQgQudtLnLQPyiWdtypkPC+mVYNKFKH/HYXSxH4MVNqwF8M0eDsoiU7HumJHCg/L/jg== + +"@csstools/selector-specificity@1.0.0", "@csstools/selector-specificity@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.0.tgz#f6e0e58376f09e381a49bd553772a97a477da3fd" - integrity sha512-T5ZyNSw9G0x0UDFiXV40a7VjKw2b+l4G+S0sctKqxhx8cg9QtMUAGwJBVU9mHPDPoZEmwm0tEoukjl4zb9MU7Q== + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz#91c560df2ed8d9700e4c7ed4ac21a3a322c9d975" + integrity sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw== "@discoveryjs/json-ext@0.5.7": version "0.5.7" @@ -1512,32 +1518,32 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz#4ac237f4dabc8dd93330386907b97591801f7352" - integrity sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw== + version "3.0.7" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" + integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== "@jridgewell/set-array@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.0.tgz#1179863356ac8fbea64a5a4bcde93a4871012c01" - integrity sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.12" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz#7ed98f6fa525ffb7c56a2cbecb5f7bb91abd2baf" - integrity sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA== + version "1.4.13" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" + integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== "@jridgewell/trace-mapping@^0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@leichtgewicht/ip-codec@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz#0300943770e04231041a51bd39f0439b5c7ab4f0" - integrity sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== "@mark.probst/unicode-properties@~1.1.0": version "1.1.0" @@ -1679,7 +1685,7 @@ "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== "@protobufjs/base64@^1.1.2": version "1.1.2" @@ -1694,12 +1700,12 @@ "@protobufjs/eventemitter@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== "@protobufjs/fetch@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" @@ -1707,27 +1713,27 @@ "@protobufjs/float@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== "@protobufjs/inquire@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== "@protobufjs/path@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== "@protobufjs/pool@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== "@protobufjs/utf8@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== "@rollup/plugin-json@^4.1.0": version "4.1.0" @@ -2038,7 +2044,7 @@ "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/karma@^6.3.0": version "6.3.3" @@ -2092,9 +2098,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d" - integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.33.tgz#3c1879b276dc63e73030bb91165e62a4509cd506" + integrity sha512-miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ== "@types/node@12.20.24": version "12.20.24" @@ -2112,9 +2118,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.16.tgz#878f670ba3f00482bf859b6550b6010610fc54b5" - integrity sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q== + version "14.18.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.18.tgz#5c9503030df484ccffcbb935ea9a9e1d6fad1a20" + integrity sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2150,7 +2156,7 @@ "@types/parse-glob@*": version "3.0.29" resolved "https://registry.yarnpkg.com/@types/parse-glob/-/parse-glob-3.0.29.tgz#6a40ec7ebd2418ee69ee397e48e42169268a10bf" - integrity sha1-akDsfr0kGO5p7jl+SOQhaSaKEL8= + integrity sha512-OFwMPH5eJOhtwR92GMjTNWukaKTdWQC12cBgRvrTQl5CwhruSq6734wi1CTSh5Qjm/pMJWaKOOPKZOp6FpIkXQ== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2200,7 +2206,7 @@ "@types/q@^0.0.32": version "0.0.32" resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" - integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= + integrity sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug== "@types/qs@*": version "6.9.7" @@ -2230,14 +2236,16 @@ integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/selenium-webdriver@^3.0.0": - version "3.0.19" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz#28ecede76f15b13553b4e86074d4cf9a0bbe49c4" - integrity sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g== + version "3.0.20" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.20.tgz#448771a0608ebf1c86cb5885914da6311e323c3a" + integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.0.19" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.19.tgz#25699713552a63ee70215effdfd2e5d6dda19f8e" - integrity sha512-Irrh+iKc6Cxj6DwTupi4zgWhSBm1nK+JElOklIUiBVE6rcLYDtT1mwm9oFkHie485BQXNmZRoayjwxhowdInnA== + version "4.1.0" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.0.tgz#b23ba7e7f4f59069529c57f0cbb7f5fba74affe7" + integrity sha512-ehqwZemosqiWVe+W0f5GqcLH7NgtjMBmcknmeaPG6YZHc7EZ69XbD7VVNZcT/L8lyMIL/KG99MsGcvDuFWo3Yw== + dependencies: + "@types/ws" "*" "@types/semver@^7.0.0": version "7.3.9" @@ -2341,7 +2349,7 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@^8.5.1": +"@types/ws@*", "@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== @@ -2793,12 +2801,12 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@4.1.2: +ansi-colors@4.1.2, ansi-colors@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.2.tgz#e33debb85260fbe4ed8f00f1e0c282516109795e" integrity sha512-cEG18jjLG0O74o/33eEfnmtXYDEY196ZjL0eQEISULF+Imi7vr25l6ntGYmqS5lIrQIEeze+CqUtPVItywE7ZQ== @@ -2818,7 +2826,7 @@ ansi-html-community@^0.0.8: ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^5.0.1: version "5.0.1" @@ -2828,7 +2836,7 @@ ansi-regex@^5.0.1: ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== ansi-styles@^3.2.1: version "3.2.1" @@ -2890,17 +2898,17 @@ argparse@^2.0.1: array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== array-find-index@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-flatten@^2.1.2: version "2.1.2" @@ -2921,7 +2929,7 @@ array-includes@^3.1.4: array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== dependencies: array-uniq "^1.0.1" @@ -2938,7 +2946,7 @@ array-union@^3.0.1: array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== array.prototype.flat@^1.2.5: version "1.3.0" @@ -2953,12 +2961,12 @@ array.prototype.flat@^1.2.5: arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== asap@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== asn1@~0.2.3: version "0.2.6" @@ -2970,17 +2978,17 @@ asn1@~0.2.3: assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== async-each-series@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" - integrity sha1-dhfBkXQB/Yykooqtzj266Yr+tDI= + integrity sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ== async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== async@3.2.3, async@^3.2.3: version "3.2.3" @@ -2997,7 +3005,7 @@ async@^2.6.2: asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== atob@^2.1.2: version "2.1.2" @@ -3024,7 +3032,7 @@ autoprefixer@^10.4.5, autoprefixer@^10.4.6: aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: version "1.11.0" @@ -3108,19 +3116,19 @@ base64id@2.0.0, base64id@~2.0.0: batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== dependencies: tweetnacl "^0.14.3" bcryptjs@2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" - integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= + integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== big.js@^5.2.2: version "5.2.2" @@ -3195,7 +3203,7 @@ bonjour-service@^1.0.11: boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== bootstrap@^4.0.0: version "4.6.1" @@ -3323,27 +3331,27 @@ browserstack@^1.5.1: bs-recipes@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" - integrity sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU= + integrity sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw== bs-snippet-injector@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz#61b5393f11f52559ed120693100343b6edb04dd5" - integrity sha1-YbU5PxH1JVntEgaTEANDtu2wTdU= + integrity sha512-4u8IgB+L9L+S5hknOj3ddNSb42436gsnGm1AuM15B7CdbkpQTyVWgIM5/JUBiKiRwGOR86uo0Lu/OsX+SAlJmw== buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== buffer-equal@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" - integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= + integrity sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA== buffer-from@^1.0.0: version "1.1.2" @@ -3359,9 +3367,9 @@ buffer@^5.2.1, buffer@^5.5.0: ieee754 "^1.1.13" builtin-modules@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== builtins@^5.0.0: version "5.0.1" @@ -3373,7 +3381,7 @@ builtins@^5.0.0: bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2: version "3.1.2" @@ -3442,19 +3450,19 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: - version "1.0.30001335" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz#899254a0b70579e5a957c32dced79f0727c61f2a" - integrity sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w== + version "1.0.30001341" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz#59590c8ffa8b5939cf4161f00827b8873ad72498" + integrity sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA== caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -3787,9 +3795,9 @@ copy-webpack-plugin@10.2.4: serialize-javascript "^6.0.0" core-js-compat@^3.20.2, core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.4.tgz#d700f451e50f1d7672dcad0ac85d910e6691e579" - integrity sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA== + version "3.22.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.5.tgz#7fffa1d20cb18405bd22756ca1353c6f1a0e8614" + integrity sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg== dependencies: browserslist "^4.20.3" semver "7.0.0" @@ -3975,10 +3983,10 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.9: - version "4.0.9" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.9.tgz#4788015ac56dedebe83b03bc361f00c1ddcf1923" - integrity sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg== +date-format@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.10.tgz#7aa4bc0ad0c79f4ba858290e5dbb47f27d602e79" + integrity sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA== dayjs@1.11.2: version "1.11.2" @@ -4283,9 +4291,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.4.118: - version "1.4.131" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.131.tgz#ca42d22eac0fe545860fbc636a6f4a7190ba70a9" - integrity sha512-oi3YPmaP87hiHn0c4ePB67tXaF+ldGhxvZnT19tW9zX6/Ej+pLN0Afja5rQ6S+TND7I9EuwQTT8JYn1k7R7rrw== + version "1.4.137" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" + integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== emoji-regex@^8.0.0: version "8.0.0" @@ -4395,17 +4403,19 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.19.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.5.tgz#a2cb01eb87f724e815b278b0dd0d00f36ca9a7f1" - integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA== +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" + integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + function.prototype.name "^1.1.5" get-intrinsic "^1.1.1" get-symbol-description "^1.0.0" has "^1.0.3" + has-property-descriptors "^1.0.0" has-symbols "^1.0.3" internal-slot "^1.0.3" is-callable "^1.2.4" @@ -4417,9 +4427,10 @@ es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: object-inspect "^1.12.0" object-keys "^1.1.1" object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" + regexp.prototype.flags "^1.4.1" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" es-module-lexer@^0.9.0: version "0.9.3" @@ -4660,12 +4671,12 @@ esbuild-sunos-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#0e7aa82b022a2e6d55b0646738b2582c2d72c3c0" integrity sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg== -esbuild-wasm@0.14.38, esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== -esbuild-wasm@0.14.39: +esbuild-wasm@0.14.39, esbuild-wasm@^0.14.29: version "0.14.39" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.39.tgz#e30d735d1f4605d278445ee71497a4af9eb987dd" integrity sha512-ERthbXykeACyL8gmE1FE2njn/kyBrnj4tuoImtcpry8uNb/McUNtv08TdWA0pGHYxfD76XoaIwKEOMSv25IkFQ== @@ -4700,7 +4711,7 @@ esbuild-windows-arm64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#00268517e665b33c89778d61f144e4256b39f631" integrity sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA== -esbuild@0.14.38, esbuild@^0.14.29: +esbuild@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" integrity sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA== @@ -4726,7 +4737,7 @@ esbuild@0.14.38, esbuild@^0.14.29: esbuild-windows-64 "0.14.38" esbuild-windows-arm64 "0.14.38" -esbuild@0.14.39: +esbuild@0.14.39, esbuild@^0.14.29: version "0.14.39" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.39.tgz#c926b2259fe6f6d3a94f528fb42e103c5a6d909a" integrity sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ== @@ -5137,14 +5148,12 @@ extsprintf@^1.2.0: integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== falafel@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.2.4.tgz#b5d86c060c2412a43166243cb1bce44d1abd2819" - integrity sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ== + version "2.2.5" + resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.2.5.tgz#3ccb4970a09b094e9e54fead2deee64b4a589d56" + integrity sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ== dependencies: acorn "^7.1.1" - foreach "^2.0.5" isarray "^2.0.1" - object-keys "^1.0.6" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -5323,11 +5332,6 @@ font-awesome@^4.7.0: resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM= -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -5433,11 +5437,26 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + furi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/furi/-/furi-2.0.0.tgz#13d85826a1af21acc691da6254b3888fc39f0b4a" @@ -5530,7 +5549,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.1, glob@^8.0.0, glob@^8.0.1: +glob@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.1.tgz#00308f5c035aa0b2a447cd37ead267ddff1577d3" integrity sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow== @@ -5542,7 +5561,7 @@ glob@8.0.1, glob@^8.0.0, glob@^8.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@8.0.3: +glob@8.0.3, glob@^8.0.0, glob@^8.0.1: version "8.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== @@ -5565,14 +5584,14 @@ glob@^6.0.1: path-is-absolute "^1.0.0" glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" @@ -5582,9 +5601,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" - integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== + version "13.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" + integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== dependencies: type-fest "^0.20.2" @@ -6061,9 +6080,9 @@ ip-regex@^2.1.0: integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== ipaddr.js@1.9.1: version "1.9.1" @@ -6389,9 +6408,9 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: istanbul-lib-report "^3.0.0" jasmine-core@^4.1.0, jasmine-core@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.0.tgz#2377349b0e8bfd3fbdb36c9e4f09e3b1a17cf5c2" - integrity sha512-8E8BiffCL8sBwK1zU9cbavLe8xpJAgOduSJ6N8PJVv8VosQ/nxVTuXj2kUeHxTlZBVvh24G19ga7xdiaxlceKg== + version "4.1.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.1.tgz#1045091e16f4f19e1d72416eef5db01e64d5fbeb" + integrity sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g== jasmine-core@~2.8.0: version "2.8.0" @@ -6684,9 +6703,9 @@ karma-jasmine-html-reporter@~1.7.0: integrity sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ== karma-jasmine@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-5.0.0.tgz#e270c86214b5390df77ebe1b6eaab79664d87d9f" - integrity sha512-dsFkCoTwyoNyQnMgegS72wIA/2xPDJG5yzTry0448U6lAY7P60Wgg4UuLlbdLv8YHbimgNpDXjjmfPdc99EDWQ== + version "5.0.1" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-5.0.1.tgz#854e9204b62cfa07242a8c66b8ab83751a896d02" + integrity sha512-FkL1Kk+JAKmim8VWU8RXKZBpl0lLI7J8LijM0/q7oP7emfB6QMZV1Az+JgqGKSLpF0tYaav+KUVFQroZUxQTHA== dependencies: jasmine-core "^4.1.0" @@ -6698,9 +6717,9 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.3.0: - version "6.3.19" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.19.tgz#e50759667b0b9c6ad758655db0547d3ab4d2abf5" - integrity sha512-NDhWckzES/Y9xMiddyU1RzaKL76/scCsu8Mp0vR0Z3lQRvC3p72+Ab4ppoxs36S9tyPNX5V48yvaV++RNEBPZw== + version "6.3.20" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.20.tgz#12f5c3b0e68f204607cb0a3a78d4751b42ef61a8" + integrity sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -6966,15 +6985,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.6" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.6.tgz#1878aa3f09973298ecb441345fe9dd714e355c15" - integrity sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw== + version "6.4.7" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.7.tgz#adba3797606664e83567d2fbf38fa14b9d809167" + integrity sha512-q/9Eyw/hkvQ4e9DNHLbK2AfuDDm5QnNnmF022aamyw4nUnVLQRhvGoryccN5aEI4J/UcA4W36xttBCrlrdzt2g== dependencies: - date-format "^4.0.9" + date-format "^4.0.10" debug "^4.3.4" flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.8" + streamroller "^3.0.9" long@^4.0.0: version "4.0.0" @@ -6992,7 +7011,7 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.9.0, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: +lru-cache@7.9.0: version "7.9.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.9.0.tgz#29c2a989b6c10f32ceccc66ff44059e1490af3e1" integrity sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw== @@ -7004,6 +7023,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.10.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" + integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7023,7 +7047,7 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.2: +magic-string@0.26.2, magic-string@^0.26.0: version "0.26.2" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== @@ -7037,13 +7061,6 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.26.0: - version "0.26.1" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" - integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7065,9 +7082,9 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: - version "10.1.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz#acffef43f86250602b932eecc0ad3acc992ae233" - integrity sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew== + version "10.1.3" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.3.tgz#d7ecd4a22563b2c05b74735eda46569da26a46f6" + integrity sha512-s/UjmGjUHn9m52cctFhN2ITObbT+axoUhgeir8xGrOlPbKDyJsdhQzb8PGncPQQ28uduHybFJ6Iumy2OZnreXw== dependencies: agentkeepalive "^4.2.1" cacache "^16.0.2" @@ -7211,7 +7228,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.2: +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7337,9 +7354,9 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multicast-dns@^7.2.4: - version "7.2.4" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.4.tgz#cf0b115c31e922aeb20b64e6556cbeb34cf0dd19" - integrity sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw== + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== dependencies: dns-packet "^5.2.2" thunky "^1.0.2" @@ -7562,9 +7579,9 @@ npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: validate-npm-package-name "^4.0.0" npm-packlist@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.2.tgz#a5eb2503faec92ad6853a2bbb2231dced6cfc549" - integrity sha512-jLhcNisUgpz6v2KC75qSeEYAM8UBMYjQ2OhlCOJjB4Ovu7XXnD25UqZ6hOQNeGShL/2ju3LL2E/zBbsuzkIQ8w== + version "5.0.3" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.3.tgz#0aec03bc2d6d488ca71396d7afb463563c3274f7" + integrity sha512-KuSbzgejxdsAWbNNyEs8EsyDHsO+nJF6k+9WuWzFbSNh5tFHs4lDApXw7kntKpuehfp8lKRzJkMtz0+WmGvTIw== dependencies: glob "^8.0.1" ignore-walk "^5.0.1" @@ -7643,7 +7660,7 @@ object-inspect@~1.4.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" integrity sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw== -object-keys@^1.0.6, object-keys@^1.1.1: +object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -8310,10 +8327,11 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nesting@^10.1.4: - version "10.1.4" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.4.tgz#80de9d1c2717bc44df918dd7f118929300192a7a" - integrity sha512-2ixdQ59ik/Gt1+oPHiI1kHdwEI8lLKEmui9B1nl6163ANLC+GewQn7fXMxJF2JSb4i2MKL96GU8fIiQztK4TTA== + version "10.1.5" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.5.tgz#0711260e394cd0e117ff1f879eb1ee9a94550352" + integrity sha512-+NyBBE/wUcJ+NJgVd2FyKIZ414lul6ExqkOt1qXXw7oRzpQ0iT68cVpx+QfHh42QUMHXNoVLlN9InFY9XXK8ng== dependencies: + "@csstools/selector-specificity" "1.0.0" postcss-selector-parser "^6.0.10" postcss-opacity-percentage@^1.1.2: @@ -8439,9 +8457,9 @@ postcss-preset-env@7.5.0, postcss-preset-env@^7.4.2: postcss-value-parser "^4.2.0" postcss-pseudo-class-any-link@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.2.tgz#81ec491aa43f97f9015e998b7a14263b4630bdf0" - integrity sha512-76XzEQv3g+Vgnz3tmqh3pqQyRojkcJ+pjaePsyhcyf164p9aZsu3t+NWxkZYbcHLK1ju5Qmalti2jPI5IWCe5w== + version "7.1.3" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.3.tgz#0e4753518b9f6caa8b649c75b56e69e391d0c12f" + integrity sha512-I9Yp1VV2r8xFwg/JrnAlPCcKmutv6f6Ig6/CHFPqGJiDgYXM9C+0kgLfK4KOXbKNw+63QYl4agRUB0Wi9ftUIg== dependencies: postcss-selector-parser "^6.0.10" @@ -8923,6 +8941,15 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== +regexp.prototype.flags@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" @@ -9151,9 +9178,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.71.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.71.1.tgz#82b259af7733dfd1224a8171013aaaad02971a22" - integrity sha512-lMZk3XfUBGjrrZQpvPSoXcZSfKcJ2Bgn+Z0L1MoW2V8Wh7BVM+LOBJTPo16yul2MwL59cXedzW1ruq3rCjSRgw== + version "2.73.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.73.0.tgz#128fef4b333fd92d02d6929afbb6ee38d7feb32d" + integrity sha512-h/UngC3S4Zt28mB3g0+2YCMegT5yoftnQplwzPqGZcKvlld5e+kT/QRmJiL+qxGyZKOYpgirWGdLyEO1b0dpLQ== optionalDependencies: fsevents "~2.3.2" @@ -9229,6 +9256,7 @@ sass@1.51.0, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -9860,12 +9888,12 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.8.tgz#84b190e4080ee311ca1ebe0444e30ac8eedd028d" - integrity sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg== +streamroller@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.9.tgz#23b956f2f6e3d679c95a519b0680b8b70fb84040" + integrity sha512-Y46Aq/ftqFP6Wb6sK79hgnZeRfEVz2F0nquBy4lMftUuJoTiwKa6Y96AWAUGV1F3CjhFark9sQmzL9eDpltkRw== dependencies: - date-format "^4.0.9" + date-format "^4.0.10" debug "^4.3.4" fs-extra "^10.1.0" @@ -9883,7 +9911,7 @@ string-argv@~0.3.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.trimend@^1.0.4: +string.prototype.trimend@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== @@ -9892,7 +9920,7 @@ string.prototype.trimend@^1.0.4: define-properties "^1.1.4" es-abstract "^1.19.5" -string.prototype.trimstart@^1.0.4: +string.prototype.trimstart@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== @@ -10376,11 +10404,11 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz#fa95c257e88f85614915b906204b9623d4fa340d" - integrity sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA== + version "3.15.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.5.tgz#2b10f9e0bfb3f5c15a8e8404393b6361eaeb33b3" + integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== -unbox-primitive@^1.0.1: +unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== @@ -11106,7 +11134,7 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.5.1: +yargs@17.5.1, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: version "17.5.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== @@ -11149,19 +11177,6 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" - integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From f00da00e86560ada2fe0c7151013b434c6ed68db Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 17 May 2022 08:07:26 +0000 Subject: [PATCH 0394/1388] fix(@angular/cli): print schematic errors correctly Previously, the errors were JSON stringified (https://github.com/angular/angular-cli/blob/main/packages/angular/cli/lib/cli/index.ts#L80) which caused them not to be displayed correctly. Closes #23141 --- packages/angular/cli/lib/cli/index.ts | 4 +++- .../cli/src/command-builder/schematics-command-module.ts | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index cc2655ceaf2e..2d774f5fdb6d 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -77,7 +77,9 @@ export default async function (options: { cliArgs: string[] }) { } else if (typeof err === 'number') { // Log nothing. } else { - logger.fatal('An unexpected error occurred: ' + JSON.stringify(err)); + logger.fatal( + `An unexpected error occurred: ${'toString' in err ? err.toString() : JSON.stringify(err)}`, + ); } return 1; diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index acd79a35c737..54afe0bf3181 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -321,11 +321,11 @@ export abstract class SchematicsCommandModule if (err instanceof UnsuccessfulWorkflowExecution) { // "See above" because we already printed the error. logger.fatal('The Schematic workflow failed. See above.'); - - return 1; } else { - throw err; + logger.fatal(err.message); } + + return 1; } finally { unsubscribe(); } From c71832f3a9942aeb2c3dbd62f6edb4f0b8366465 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 16 May 2022 08:28:02 +0000 Subject: [PATCH 0395/1388] fix(@angular/cli): resolve relative schematic from `angular.json` instead of current working directory Relative schematics referenced in `angular.json` `schematicCollections` and `defaultCollection` were always resolved from the current working directory, which is not correct and caused the collection not to be resolved when the this is different from the location of the workspace config. Closes #23136 --- .../src/command-builder/schematics-command-module.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 54afe0bf3181..ec371fe228ee 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -14,6 +14,7 @@ import { NodeWorkflow, } from '@angular-devkit/schematics/tools'; import type { CheckboxQuestion, Question } from 'inquirer'; +import { resolve } from 'path'; import { Argv } from 'yargs'; import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; import { memoize } from '../utilities/memoize'; @@ -232,6 +233,12 @@ export abstract class SchematicsCommandModule @memoize protected async getSchematicCollections(): Promise> { + // Resolve relative collections from the location of `angular.json` + const resolveRelativeCollection = (collectionName: string) => + collectionName.charAt(0) === '.' + ? resolve(this.context.root, collectionName) + : collectionName; + const getSchematicCollections = ( configSection: Record | undefined, ): Set | undefined => { @@ -241,9 +248,9 @@ export abstract class SchematicsCommandModule const { schematicCollections, defaultCollection } = configSection; if (Array.isArray(schematicCollections)) { - return new Set(schematicCollections); + return new Set(schematicCollections.map((c) => resolveRelativeCollection(c))); } else if (typeof defaultCollection === 'string') { - return new Set([defaultCollection]); + return new Set([resolveRelativeCollection(defaultCollection)]); } return undefined; From ff605b240b47cea24b2145cdf13d0da72517f911 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 18 May 2022 05:44:43 +0000 Subject: [PATCH 0396/1388] build: update github/codeql-action action to v2.1.11 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 624e5ff039ad..eaff76a927b9 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@2f58583a1b24a7d3c7034f6bf9fa506d23b1183b # tag=v2.1.10 + uses: github/codeql-action/upload-sarif@a3a6c128d771b6b9bdebb1c9d0583ebd2728a108 # tag=v2.1.11 with: sarif_file: results.sarif From 29a9b0f9b20bb9174bf39f06c848d7106b845186 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 16 May 2022 11:57:37 -0400 Subject: [PATCH 0397/1388] ci: use current minimum Node.js v16 version to test snapshot builds Node.js 16.10 is currently the minimum version of v16 supported by the Angular CLI and is now used when executing the Angular snapshot E2E test suite to ensure that the latest snapshots of Angular continue to function at this Node.js version. Node.js v16 is the version currently used to develop the Angular CLI. The npm 7+ workaround of installing npm 6 is also removed to more closely track the behavior of Node.js 16.10 as well as any other Node.js version used during testing. --- .circleci/config.yml | 3 +- .../legacy-cli/e2e/setup/010-local-publish.ts | 31 ++++++++++------ .../misc/invalid-schematic-dependencies.ts | 37 +++++++++---------- .../e2e/tests/misc/third-party-decorators.ts | 4 +- tests/legacy-cli/e2e/utils/packages.ts | 17 +++++++-- 5 files changed, 56 insertions(+), 36 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cb8424b40ecc..f2874f819f59 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -204,10 +204,8 @@ jobs: - browser-tools/install-chrome - run: name: Initialize Environment - # npm 7 currently does not properly publish the packages locally command: | ./.circleci/env.sh - sudo npm install --global npm@6 - run: name: Execute CLI E2E Tests command: | @@ -354,6 +352,7 @@ workflows: - build - e2e-cli: name: e2e-cli-ng-snapshots + nodeversion: '16.10' snapshots: true requires: - build diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index d6a761a2b60d..2a7d31c547ba 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -1,18 +1,27 @@ import { getGlobalVariable } from '../utils/env'; -import { npm } from '../utils/process'; +import { execWithEnv } from '../utils/process'; import { isPrereleaseCli } from '../utils/project'; export default async function () { const testRegistry = getGlobalVariable('package-registry'); - await npm( - 'run', - 'admin', - '--', - 'publish', - '--no-versionCheck', - '--no-branchCheck', - `--registry=${testRegistry}`, - '--tag', - isPrereleaseCli() ? 'next' : 'latest', + await execWithEnv( + 'npm', + [ + 'run', + 'admin', + '--', + 'publish', + '--no-versionCheck', + '--no-branchCheck', + `--registry=${testRegistry}`, + '--tag', + isPrereleaseCli() ? 'next' : 'latest', + ], + { + ...process.env, + // Also set an auth token value for the local test registry which is required by npm 7+ + // even though it is never actually used. + 'NPM_CONFIG__AUTH': 'e2e-testing', + }, ); } diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 4b8c05f04737..23b56464a745 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -1,29 +1,14 @@ import { expectFileToMatch } from '../../utils/fs'; -import { ng, silentNpm } from '../../utils/process'; +import { execWithEnv, ng, silentNpm } from '../../utils/process'; import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; export default async function () { // Must publish old version to local registry to allow install. This is especially important // for release commits as npm will try to request tooling packages that are not on the npm registry yet - const { stdout: stdoutPack1 } = await silentNpm( - 'pack', - '@schematics/angular@7', - '--registry=https://registry.npmjs.org', - ); - await silentNpm('publish', stdoutPack1.trim(), '--tag=outdated'); - const { stdout: stdoutPack2 } = await silentNpm( - 'pack', - '@angular-devkit/core@7', - '--registry=https://registry.npmjs.org', - ); - await silentNpm('publish', stdoutPack2.trim(), '--tag=outdated'); - const { stdout: stdoutPack3 } = await silentNpm( - 'pack', - '@angular-devkit/schematics@7', - '--registry=https://registry.npmjs.org', - ); - await silentNpm('publish', stdoutPack3.trim(), '--tag=outdated'); + await publishOutdated('@schematics/angular@7'); + await publishOutdated('@angular-devkit/core@7'); + await publishOutdated('@angular-devkit/schematics@7'); // Install outdated and incompatible version await installPackage('@schematics/angular@7'); @@ -36,3 +21,17 @@ export default async function () { // Not doing so can cause adding material to fail if an incompatible cdk is present await uninstallPackage('@angular/cdk'); } + +async function publishOutdated(npmSpecifier: string): Promise { + const { stdout: stdoutPack } = await silentNpm( + 'pack', + npmSpecifier, + '--registry=https://registry.npmjs.org', + ); + await execWithEnv('npm', ['publish', stdoutPack.trim(), '--tag=outdated'], { + ...process.env, + // Also set an auth token value for the local test registry which is required by npm 7+ + // even though it is never actually used. + 'NPM_CONFIG__AUTH': 'e2e-testing', + }); +} diff --git a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts index 7fa1e23d0471..f57580ff2b5e 100644 --- a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts +++ b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts @@ -15,7 +15,9 @@ export default async function () { packageJson['devDependencies']['typescript'] = '~4.6.2'; }); - await installWorkspacePackages(); + // Force is need to prevent npm 7+ from failing due to potential peer dependency resolution range errors. + // This is especially common when testing snapshot builds for new prereleases. + await installWorkspacePackages({ force: true }); // Create an app that uses ngrx decorators and has e2e tests. await writeMultipleFiles({ diff --git a/tests/legacy-cli/e2e/utils/packages.ts b/tests/legacy-cli/e2e/utils/packages.ts index 2f7fdef6f271..cc294acfcfa8 100644 --- a/tests/legacy-cli/e2e/utils/packages.ts +++ b/tests/legacy-cli/e2e/utils/packages.ts @@ -1,5 +1,4 @@ import { getGlobalVariable } from './env'; -import { writeFile } from './fs'; import { ProcessOutput, npm, silentNpm, silentYarn } from './process'; export function getActivePackageManager(): 'npm' | 'yarn' { @@ -11,10 +10,14 @@ export function getActivePackageManager(): 'npm' | 'yarn' { return value || 'npm'; } -export async function installWorkspacePackages(): Promise { +export async function installWorkspacePackages(options?: { force?: boolean }): Promise { switch (getActivePackageManager()) { case 'npm': - await silentNpm('install'); + const npmArgs = ['install']; + if (options?.force) { + npmArgs.push('--force'); + } + await silentNpm(...npmArgs); break; case 'yarn': await silentYarn(); @@ -47,6 +50,7 @@ export async function setRegistry(useTestRegistry: boolean): Promise { : 'https://registry.npmjs.org'; const isCI = getGlobalVariable('ci'); + const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; // Ensure local test registry is used when outside a project if (isCI) { @@ -56,4 +60,11 @@ export async function setRegistry(useTestRegistry: boolean): Promise { // Yarn supports both `NPM_CONFIG_REGISTRY` and `YARN_REGISTRY`. process.env['NPM_CONFIG_REGISTRY'] = url; } + + // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). + // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. + // To support this case, legacy peer dependency mode is enabled for snapshot builds. + if (isSnapshotBuild) { + process.env['NPM_CONFIG_legacy_peer_deps'] = 'true'; + } } From b867714c3d99efa160adb81e37d872b1db2bbd32 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 16 May 2022 16:54:10 -0400 Subject: [PATCH 0398/1388] build: update peer dependencies to support unreleased 14.1.x prerelease snapshots --- packages/angular_devkit/build_angular/package.json | 8 ++++---- packages/ngtools/webpack/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2b2c400398fc..0b436a049fb6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -73,11 +73,11 @@ "esbuild": "0.14.39" }, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", - "@angular/localize": "^14.0.0 || ^14.0.0-next", - "@angular/service-worker": "^14.0.0 || ^14.0.0-next", + "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", + "@angular/localize": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", + "@angular/service-worker": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", "karma": "^6.3.0", - "ng-packagr": "^14.0.0 || ^14.0.0-next", + "ng-packagr": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", "typescript": ">=4.6.2 <4.8" diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 6e4a2163239a..bef18ba48776 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack", "dependencies": {}, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next", + "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", "typescript": ">=4.6.2 <4.8", "webpack": "^5.54.0" }, From 7c0cdbd726d8989e06a64e31631dae4614354e96 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 16 May 2022 19:07:10 -0400 Subject: [PATCH 0399/1388] build: update Angular snapshots --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 3f4e43cd5f21..d226f7a9e1b6 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#c51039c79459d89d9c1cb37d03650f1c27f4c73a", - "@angular/cdk": "github:angular/cdk-builds#e313adc4ec0a6b4ce4a9e54fcb6940da897dba7b", - "@angular/common": "github:angular/common-builds#4a574ecd7f4f926aedf37caf5c236d972a70cd58", - "@angular/compiler": "github:angular/compiler-builds#84d5a262885fb9b45cfae764ce87bbb316156408", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#ddf20b9e25eeda3c8663050a8cb4da56f69c1e88", - "@angular/core": "github:angular/core-builds#4f83abb0614bddb4782d901c72b33660b6c6a260", - "@angular/forms": "github:angular/forms-builds#76abdfe1f2b9dcf5c609a46deeaac2565ba6e5a8", - "@angular/language-service": "github:angular/language-service-builds#e8e1e1bfd69c6bc793de5925fe012eb9102e80f5", - "@angular/localize": "github:angular/localize-builds#7c7412067e7ab47e2b9db5f8931b5d8666bc7c94", - "@angular/material": "github:angular/material-builds#3c9831b30dbe1d3b8b4a0bb540775e5b5a1e91b9", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#428f8b7bf3219900a4582e2c522ba6c2ebbc9dae", - "@angular/platform-browser": "github:angular/platform-browser-builds#1ca47c1990ec000ce7fe8a6c44c06025f27ca145", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#eee37a0728324b9aed7df56dc79861a9805a2dde", - "@angular/platform-server": "github:angular/platform-server-builds#ea262a7296b6eb039f6a16b63db53d7517c013c0", - "@angular/router": "github:angular/router-builds#4f1b9c07933efaa658d4edf1871076f64f94f0d8", - "@angular/service-worker": "github:angular/service-worker-builds#4f0881bc26e1b4b4bb17d36c6ba563b79eb80027" + "@angular/animations": "github:angular/animations-builds#901309992e6f3614130e136c0e3f67fa30537d33", + "@angular/cdk": "github:angular/cdk-builds#e647c3afecf4c41f8b2347325ade9425753d1fcd", + "@angular/common": "github:angular/common-builds#803ef76ef02fa36a9fe8ae7618925ab449ebe85b", + "@angular/compiler": "github:angular/compiler-builds#15a712a1b81f241e2ca52d0ba315371967552c19", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#633bfed62ac5b1cae5dacf9128a52f032df31545", + "@angular/core": "github:angular/core-builds#0b0b0988007554e4dad15d1a5d0a3bcd56417c2f", + "@angular/forms": "github:angular/forms-builds#64233866e5ae0aaed85c4bdfcddb49972a05d728", + "@angular/language-service": "github:angular/language-service-builds#08589e1bfdb0c804e5d2391a81860c1a3c1d0ff7", + "@angular/localize": "github:angular/localize-builds#d57ea1221af85a0f22df38113de0928ff8f9a38b", + "@angular/material": "github:angular/material-builds#92599d199359f885c473fbc4f42c72a595149793", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1b8aa537b485122cc0121d5d2f436edf0d45523c", + "@angular/platform-browser": "github:angular/platform-browser-builds#9934c441a9689f23bbc3da34590eb56d46a58608", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d036997c6e0ce768dbe6a69b803debbe564002d8", + "@angular/platform-server": "github:angular/platform-server-builds#27fbfe1811342e70bf0e8337158c2d35376df7f9", + "@angular/router": "github:angular/router-builds#9c27232aff16fd8fe9d4f5be1bde51a041b3f9e1", + "@angular/service-worker": "github:angular/service-worker-builds#d0103132b2d0d355c148a749a10b5dbdc9e4f8ce" } } From 177fa0d8c0076589fc12bce5ca5969606d541336 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 17 May 2022 11:18:08 -0400 Subject: [PATCH 0400/1388] test: ensure npm 7 E2E test reset global version back to the actual initial version The `misc/npm-7` E2E test previously assumed the initial version of npm was 6.x and would then always install 6.x after the test was complete. With newer Node.js versions this assumption is no longer true. The test now records the initial version present prior to starting the test and restores that recorded version at completion. --- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 1692096638a4..09b1f988b2a4 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -1,3 +1,6 @@ +import * as assert from 'assert'; +import { execSync } from 'child_process'; +import { valid as validSemVer } from 'semver'; import { rimraf } from '../../utils/fs'; import { getActivePackageManager } from '../../utils/packages'; import { ng, npm } from '../../utils/process'; @@ -17,6 +20,23 @@ export default async function () { return; } + // Get current package manager version to restore after tests + const initialVersionText = execSync('npm --version', { + encoding: 'utf8', + stdio: ['ignore', 'pipe', 'ignore'], + env: { + ...process.env, + // NPM updater notifier will prevent the child process from closing until it timeouts after 3 minutes. + NO_UPDATE_NOTIFIER: '1', + NPM_CONFIG_UPDATE_NOTIFIER: 'false', + }, + }).trim(); + const initialVersion = validSemVer(initialVersionText); + assert.ok( + initialVersion, + `Invalid npm version string returned from "npm --version" [${initialVersionText}]`, + ); + const currentDirectory = process.cwd(); const extraArgs = []; @@ -89,7 +109,7 @@ export default async function () { // Change directory back process.chdir(currentDirectory); - // Reset version back to 6.x - await npm('install', '--global', 'npm@6'); + // Reset version back to initial version + await npm('install', '--global', `npm@${initialVersion}`); } } From 9f5550e3a47977b916d03286ccfbdb8eb821a650 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Wed, 18 May 2022 13:57:28 +0300 Subject: [PATCH 0401/1388] fix(@angular/cli): correctly handle `--search` option in `ng doc` When the `--search` option is passed to `ng doc`, it should open a URL that does a search across the whole website (instead of the default behavior of limiting the search to API docs). Fix the `ng doc` command to implement the iteded behavior (previously, it did the opposite). --- packages/angular/cli/src/commands/doc/cli.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/src/commands/doc/cli.ts b/packages/angular/cli/src/commands/doc/cli.ts index 067f487dcbd8..73b7826fc066 100644 --- a/packages/angular/cli/src/commands/doc/cli.ts +++ b/packages/angular/cli/src/commands/doc/cli.ts @@ -83,8 +83,8 @@ export class DocCommandModule await open( options.search - ? `https://${domain}/api?query=${options.keyword}` - : `https://${domain}/docs?search=${options.keyword}`, + ? `https://${domain}/docs?search=${options.keyword}` + : `https://${domain}/api?query=${options.keyword}`, ); } } From 5ad5bdad3da1162102bfca782c195dc50c9296c2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 18 May 2022 10:55:51 -0400 Subject: [PATCH 0402/1388] fix(@angular/cli): ensure all available package migrations are executed For v14, the update command migration execution logic was incorrectly exiting after the success of the first package's migrations. This prevented any other updated packages from executing migrations automatically. The success check is now a failure check and will allow the migration execution process to continue to execute migrations until complete or a failure occurs. --- .../angular/cli/src/commands/update/cli.ts | 5 +++-- .../legacy-cli/e2e/tests/update/update-10.ts | 21 ++++++++++++++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index c5e7e883904b..49c63db869b8 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -787,8 +787,9 @@ export class UpdateCommandModule extends CommandModule { options.createCommits, ); - if (!result) { - return 0; + // A non-zero value is a failure for the package's migrations + if (result !== 0) { + return result; } } } diff --git a/tests/legacy-cli/e2e/tests/update/update-10.ts b/tests/legacy-cli/e2e/tests/update/update-10.ts index 03e806a30604..016f9676e049 100644 --- a/tests/legacy-cli/e2e/tests/update/update-10.ts +++ b/tests/legacy-cli/e2e/tests/update/update-10.ts @@ -1,7 +1,8 @@ +import { appendFile } from 'fs/promises'; import { SemVer } from 'semver'; import { createProjectFromAsset } from '../../utils/assets'; import { expectFileMatchToExist, readFile } from '../../utils/fs'; -import { setRegistry } from '../../utils/packages'; +import { getActivePackageManager, setRegistry } from '../../utils/packages'; import { ng, noSilentNg } from '../../utils/process'; import { isPrereleaseCli, useCIChrome, useCIDefaults, NgCLIVersion } from '../../utils/project'; @@ -12,7 +13,18 @@ export default async function () { await setRegistry(false); await createProjectFromAsset('10.0-project', true); - // CLI proiject version + // If using npm, enable legacy peer deps mode to avoid defects in npm 7+'s peer dependency resolution + // Example error where 11.2.14 satisfies the SemVer range ^11.0.0 but still fails: + // npm ERR! Conflicting peer dependency: @angular/compiler-cli@11.2.14 + // npm ERR! node_modules/@angular/compiler-cli + // npm ERR! peer @angular/compiler-cli@"^11.0.0 || ^11.2.0-next" from @angular-devkit/build-angular@0.1102.19 + // npm ERR! node_modules/@angular-devkit/build-angular + // npm ERR! dev @angular-devkit/build-angular@"~0.1102.19" from the root project + if (getActivePackageManager() === 'npm') { + await appendFile('.npmrc', '\nlegacy-peer-deps=true'); + } + + // CLI project version const { version: cliVersion } = JSON.parse( await readFile('./node_modules/@angular/cli/package.json'), ); @@ -30,7 +42,10 @@ export default async function () { // - 12 -> 13 const { stdout } = await ng('update', `@angular/cli@${version}`, `@angular/core@${version}`); if (!stdout.includes("Executing migrations of package '@angular/cli'")) { - throw new Error('Update did not execute migrations. OUTPUT: \n' + stdout); + throw new Error('Update did not execute migrations for @angular/cli. OUTPUT: \n' + stdout); + } + if (!stdout.includes("Executing migrations of package '@angular/core'")) { + throw new Error('Update did not execute migrations for @angular/core. OUTPUT: \n' + stdout); } } } finally { From f99c08ce007b001d03a977e80905bf4f9decc17d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 18 May 2022 11:40:36 +0000 Subject: [PATCH 0403/1388] fix(@angular/cli): `ng doc` doesn't open browser in Windows In Windows, `process.exit` was being called prior of opening the browser which caused the browser never to open. Closes #23105 --- packages/angular/cli/lib/init.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index e39861aaaab9..9b94a248c14c 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -107,7 +107,7 @@ import { VERSION } from '../src/utilities/version'; }); }) .then((exitCode: number) => { - process.exit(exitCode); + process.exitCode = exitCode; }) .catch((err: Error) => { // eslint-disable-next-line no-console From b71608195bee6ab649fc4787bd7ce9c933e56844 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 18 May 2022 12:40:42 +0000 Subject: [PATCH 0404/1388] fix(@angular-devkit/build-angular): close compiler on Karma exit The webpack compiler was never closed which caused Webpack's shutdown hook https://github.com/angular/angular-cli/blob/c71832f3a9942aeb2c3dbd62f6edb4f0b8366465/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts#L113-L114 to never be called and in turn caused the Sass workers never to be termined. --- .../build_angular/src/webpack/plugins/karma/karma.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts index ef429497701a..bfb705f29e26 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma.ts @@ -149,7 +149,7 @@ const init: any = (config: any, emitter: any) => { webpackMiddleware = webpackDevMiddleware(compiler, webpackMiddlewareConfig); emitter.on('exit', (done: any) => { webpackMiddleware.close(); - done(); + compiler.close(() => done()); }); function unblock() { From d899091d5df9bd6d7a0921629086afffea9fc92b Mon Sep 17 00:00:00 2001 From: Elton Coelho Date: Tue, 17 May 2022 21:29:59 -0300 Subject: [PATCH 0405/1388] fix(@schematics/angular): alphabetically order imports during component generation change the order of imports during component generation using changeDetectionStrategy set to OnPush closes angular#23156 --- .../__name@dasherize__.__type@dasherize__.ts.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index 7f0aebc78669..c033cca53af0 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -1,4 +1,4 @@ -import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core';<% if(standalone) {%> +import { <% if(changeDetection !== 'Default') { %>ChangeDetectionStrategy, <% }%>Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%> } from '@angular/core';<% if(standalone) {%> import { CommonModule } from '@angular/common';<% } %> @Component({<% if(!skipSelector) {%> From 516f8a87c59668c4a661cdf84c482d0a2ddcd95d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 18 May 2022 16:43:15 +0000 Subject: [PATCH 0406/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 478 ++++-------------- 7 files changed, 148 insertions(+), 402 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 0bc8880e2ada..45d0d0f596a2 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@6f5ad484efbab50c504a6ae0ea15fd9439888321 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 418431aa4115..6d86606154f6 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@6f5ad484efbab50c504a6ae0ea15fd9439888321 + - uses: angular/dev-infra/github-actions/feature-request@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 0ecaa125ecce..cd55ab9a008a 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@6f5ad484efbab50c504a6ae0ea15fd9439888321 + - uses: angular/dev-infra/github-actions/lock-closed@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index aa712a42a34f..ed5f3859215c 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.0-next.16", - "@angular/cdk": "14.0.0-next.13", - "@angular/common": "14.0.0-next.16", - "@angular/compiler": "14.0.0-next.16", - "@angular/compiler-cli": "14.0.0-next.16", - "@angular/core": "14.0.0-next.16", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7", - "@angular/forms": "14.0.0-next.16", - "@angular/localize": "14.0.0-next.16", - "@angular/material": "14.0.0-next.13", - "@angular/platform-browser": "14.0.0-next.16", - "@angular/platform-browser-dynamic": "14.0.0-next.16", - "@angular/platform-server": "14.0.0-next.16", - "@angular/router": "14.0.0-next.16", - "@angular/service-worker": "14.0.0-next.16", + "@angular/animations": "14.0.0-rc.0", + "@angular/cdk": "14.0.0-rc.0", + "@angular/common": "14.0.0-rc.0", + "@angular/compiler": "14.0.0-rc.0", + "@angular/compiler-cli": "14.0.0-rc.0", + "@angular/core": "14.0.0-rc.0", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574", + "@angular/forms": "14.0.0-rc.0", + "@angular/localize": "14.0.0-rc.0", + "@angular/material": "14.0.0-rc.0", + "@angular/platform-browser": "14.0.0-rc.0", + "@angular/platform-browser-dynamic": "14.0.0-rc.0", + "@angular/platform-server": "14.0.0-rc.0", + "@angular/router": "14.0.0-rc.0", + "@angular/service-worker": "14.0.0-rc.0", "@babel/core": "7.17.10", "@babel/generator": "7.17.10", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index bef18ba48776..928190034ec9 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-next.16", - "@angular/compiler-cli": "14.0.0-next.16", + "@angular/compiler": "14.0.0-rc.0", + "@angular/compiler-cli": "14.0.0-rc.0", "typescript": "4.7.1-rc", "webpack": "5.72.1" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d226f7a9e1b6..07685938d80e 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#901309992e6f3614130e136c0e3f67fa30537d33", - "@angular/cdk": "github:angular/cdk-builds#e647c3afecf4c41f8b2347325ade9425753d1fcd", - "@angular/common": "github:angular/common-builds#803ef76ef02fa36a9fe8ae7618925ab449ebe85b", - "@angular/compiler": "github:angular/compiler-builds#15a712a1b81f241e2ca52d0ba315371967552c19", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#633bfed62ac5b1cae5dacf9128a52f032df31545", - "@angular/core": "github:angular/core-builds#0b0b0988007554e4dad15d1a5d0a3bcd56417c2f", - "@angular/forms": "github:angular/forms-builds#64233866e5ae0aaed85c4bdfcddb49972a05d728", - "@angular/language-service": "github:angular/language-service-builds#08589e1bfdb0c804e5d2391a81860c1a3c1d0ff7", - "@angular/localize": "github:angular/localize-builds#d57ea1221af85a0f22df38113de0928ff8f9a38b", - "@angular/material": "github:angular/material-builds#92599d199359f885c473fbc4f42c72a595149793", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1b8aa537b485122cc0121d5d2f436edf0d45523c", - "@angular/platform-browser": "github:angular/platform-browser-builds#9934c441a9689f23bbc3da34590eb56d46a58608", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d036997c6e0ce768dbe6a69b803debbe564002d8", - "@angular/platform-server": "github:angular/platform-server-builds#27fbfe1811342e70bf0e8337158c2d35376df7f9", - "@angular/router": "github:angular/router-builds#9c27232aff16fd8fe9d4f5be1bde51a041b3f9e1", - "@angular/service-worker": "github:angular/service-worker-builds#d0103132b2d0d355c148a749a10b5dbdc9e4f8ce" + "@angular/animations": "github:angular/animations-builds#031f0c0fea87619230ad7538c9643f542692f3ba", + "@angular/cdk": "github:angular/cdk-builds#ade1e09659d9eccb8700fa53176c0b994b2e969c", + "@angular/common": "github:angular/common-builds#65185868dcb09a2414834b33cbdaa87fbe4d3aed", + "@angular/compiler": "github:angular/compiler-builds#961ac87f148c9952cf75c675d8eab7d09ec4ee65", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#9b38f18cfecc3bc02214220191b9de52dffd2a6d", + "@angular/core": "github:angular/core-builds#c0c5dbe146d481b5ed123fc616e5cdf6b32abd10", + "@angular/forms": "github:angular/forms-builds#665f07dff3d19645f5b2e6f7ac0bb15e156ec55e", + "@angular/language-service": "github:angular/language-service-builds#5233001230bea22184b8c2387d69c957756f517a", + "@angular/localize": "github:angular/localize-builds#2f71b0eef9ca0d8dc154b62a7ba100c87acdabb6", + "@angular/material": "github:angular/material-builds#f443e0454e3e3b0b6670c10cd4c651c1292edf16", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4920e5e1a4e6fc1e4f3550fd6e82f185da76755c", + "@angular/platform-browser": "github:angular/platform-browser-builds#c226efaf5f95749cc44251ba730cb972957cf317", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#924c887fdf6616eadde99e3e781aad3762a977b3", + "@angular/platform-server": "github:angular/platform-server-builds#02e8e89473ecfcb6d64cae6b449b426186a472b8", + "@angular/router": "github:angular/router-builds#58029b3b65527cc6b8e957817496f978d5520c57", + "@angular/service-worker": "github:angular/service-worker-builds#581598b7db364b6f616fe854d1f7503474a06465" } } diff --git a/yarn.lock b/yarn.lock index 6e9fd87c04f2..d9aba79dc768 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,34 +10,34 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0-next.13": - version "0.1400.0-next.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.13.tgz#012cf9d7b9a4addc9b297d2d6c3e755d23acc016" - integrity sha512-pwdg1iLBdWO1M/Kr29UX4hcy1Mm3rOG4kfprsIsoT7PCW3eYVcwMzHWJxS26wjAwXBH+dCs4drYx+P9xvXmXuQ== +"@angular-devkit/architect@0.1400.0-rc.0": + version "0.1400.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.0.tgz#c8bfa715fbf6d8519ef1b29fdf944eebf5be97af" + integrity sha512-3hB8TDikKJWC33DDLxaU9LcWRUczRr9HHvoM07RWv1KZT4nARZyTBrITw/pVLIjnZBrrUCgi/+7JJYnaq2siiw== dependencies: - "@angular-devkit/core" "14.0.0-next.13" + "@angular-devkit/core" "14.0.0-rc.0" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.13.tgz#3afefc3b28ef8881ffce41f41cd5510682d79d34" - integrity sha512-OMKedc4qLL2Mq8zyXcHvaxIFMLNuzzhMWx+ve/Hhnqsy6d57SCy/7hLoylZevsuwFooT8XC4ToaLEkSHarocdg== +"@angular-devkit/build-angular@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.0.tgz#afdf40a480ba42502188855f1eef20d8fe64b033" + integrity sha512-FXouSKnnH5tIgQd4QINSqbW1hrRng1pFJFroG1y3s0GXTzIJtCbw/yWlUzB4FY+iTyUFGec9qSn5anXYbiX7Nw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1400.0-next.13" - "@angular-devkit/build-webpack" "0.1400.0-next.13" - "@angular-devkit/core" "14.0.0-next.13" - "@babel/core" "7.17.9" - "@babel/generator" "7.17.9" + "@angular-devkit/architect" "0.1400.0-rc.0" + "@angular-devkit/build-webpack" "0.1400.0-rc.0" + "@angular-devkit/core" "14.0.0-rc.0" + "@babel/core" "7.17.10" + "@babel/generator" "7.17.10" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" - "@babel/plugin-transform-runtime" "7.17.0" - "@babel/preset-env" "7.16.11" + "@babel/plugin-transform-runtime" "7.17.10" + "@babel/preset-env" "7.17.10" "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-next.13" + "@ngtools/webpack" "14.0.0-rc.0" ansi-colors "4.1.1" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -62,10 +62,10 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.12" + postcss "8.4.13" postcss-import "14.1.0" postcss-loader "6.2.1" - postcss-preset-env "7.4.4" + postcss-preset-env "7.5.0" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" @@ -76,30 +76,30 @@ source-map-support "0.5.21" stylus "0.57.0" stylus-loader "6.2.0" - terser "5.13.0" + terser "5.13.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.0" - webpack "5.72.0" + webpack "5.72.1" webpack-dev-middleware "5.3.1" - webpack-dev-server "4.8.1" + webpack-dev-server "4.9.0" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: esbuild "0.14.38" -"@angular-devkit/build-webpack@0.1400.0-next.13": - version "0.1400.0-next.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.13.tgz#25a40f32340bc8050d3fe8300c13973712b58cee" - integrity sha512-IjfJU6eQGi+XElAU8Itv6q5RZhB6x88Jz8FKUmMloGFIdEoNLahTXQC07SD67E83qbEwRT7O8zwoAovXAP9bHA== +"@angular-devkit/build-webpack@0.1400.0-rc.0": + version "0.1400.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.0.tgz#afc49d9712e2d16e2237bf6cd15dac8f4cd12b3c" + integrity sha512-Djxvs1rDoo6Na67AhoCkE31dd9oWegHwIK1MdMtJKGa3XmioecGgpPd1TcC91VCmf7HfJdkfUdESZEDabBG7+w== dependencies: - "@angular-devkit/architect" "0.1400.0-next.13" + "@angular-devkit/architect" "0.1400.0-rc.0" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.13.tgz#e193d0267eb9a666ef0e02bf32634b14285b3437" - integrity sha512-xqRXYpB1hW7yER9RWAy8mDqC5dXaZwzZw5GyN2fe6Qj4eHonmFf5Xw/2u8rGKdyLmRm9fgsK/oxVKw6iXkOGZA== +"@angular-devkit/core@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.0.tgz#939ccf7be5de6e9ab4ca950b1badb473a2dbebd0" + integrity sha512-c8KisTqWzOPzHC0UxMO3Mt8ZtoS85CqgSit/mCykY79M63mGZWs9FpOjw0/qv+4gzl2C3A9eIGJMP7POFglozw== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-next.16.tgz#82570474c43bea6fdc2becd339fe6dd10343db28" - integrity sha512-T5+3FBmbYJcSQpIK2Qu6hHYLDK7WBGGQU4HpZDYf2hfl1VMJCsvqStlBD4fRdzFiAa5DgGI1NLXj27zQMhhY7A== +"@angular/animations@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-rc.0.tgz#23b8757312bf9c7a59f773fd9241b6f275fb50c7" + integrity sha512-whVQwd9DvL5tO4qVluQ9NZdDMNSfMl5PEmqjSkOsyPQOTbvC6HV2iblHGW2p+wowuuCufcLEqhsSARc5ckpbAg== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-next.13.tgz#bddf68cdf7961ee4b49953caaf4233d916b4d656" - integrity sha512-izgo2gGCAPOii/fYdsUmAPoWX8dGihADCIsTBW7A8aMQlUxNb/DYuL2ruTI5ryxo+W2c2AjtNSOJ4xJrlf2ULA== +"@angular/cdk@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-rc.0.tgz#9f6ec3a7e7c2a84949fd527061ba5de5a088f12e" + integrity sha512-mdHAM0Zjq5eazI6ocjsVJG6sBYUVnOjcAYRlyHKuka7Fp02kVa5OfhCDj5L3jbW+HcIjcIbb453U3mtAj3M9Mw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-next.16.tgz#94f870ff19ba74c9139e585f16cc5c588dbc5a73" - integrity sha512-2ZFTCvr+EH1LpBd5b/M2RuhOi3PhQpyfjLFGYLd5Wm6qrX1EGBa8mU3ISzgOW8wpHJ+3FHYPPH+wy8LHWf/9pg== +"@angular/common@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-rc.0.tgz#8f810b29f1f526d8ebae636e153bb916dfa41a94" + integrity sha512-CFG2gEwUqSMHucGG96ydENHKpU0nSjE2otQU6NTKy1CugawnI4zdZ9swLH8T6Vkj/AOwJ3udNvix2EdHx6qxcQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-next.16.tgz#109a16bf2308d12a1a5e61dc4e57bee8639197a5" - integrity sha512-L5+l1lPYvf2/Mh73pOxpR4NV0HiqojXzdbGxm1aIrSg2gaLOjyLAaxDA8nz5SYRMQoS5zXu3mHEqeM559SpDqg== +"@angular/compiler-cli@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-rc.0.tgz#7fb5e3b5f3ae53f3a200a35be5aa091783dd1d33" + integrity sha512-XikkYOLUwNi5XOmfUxamyzmEtaukEYPFVK+hrNzb5afA6zgPAP2teRxfftgGQPWMbs15ZwKzmC9AeLfDH80TQQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-next.16.tgz#8b43801a27ee678f3d626ce14638386291bbde65" - integrity sha512-4V3E4tvO649mi3AWODAJMNBqyeA6C5xwINPirWiyic8vraO4TtW1U2O6MEsopYURFKk1yw8SPStfZDTvB/eRHQ== +"@angular/compiler@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-rc.0.tgz#c7f52a64c278f6d01578625410754be05b4c446c" + integrity sha512-e4HZmYDssrAX8KffZVSjHri8YcJ/IMX4CobdN2a6lr0y+90u0eRrej0cM1z1WiA+8FlXxoJfzsG+ekZmDFghcg== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-next.16.tgz#546171d322621ae8c4180b2418c6a97fcfd6defb" - integrity sha512-ORZhyVXIzJXwYq2YKoh5oC2NMOap2YCESBsxx13IYPdI2HAmlpMiwlW2hg1jVQzpGaAyNTxNjh1DePD61P3HgQ== +"@angular/core@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-rc.0.tgz#8a845866ff789502acd4359a606164835864e17d" + integrity sha512-VE2W2QagAUcxyHBqmEgKHdwfsTSpDfunpFePAq9PthPx80ov5M82Ou/dwGV71A26B7jgnMNlGdy9Wzb+43e2Dw== dependencies: tslib "^2.3.0" @@ -175,11 +175,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7": - version "0.0.0-6f5ad484efbab50c504a6ae0ea15fd9439888321" - resolved "https://github.com/angular/dev-infra-private-builds.git#f557392bfe7eeccdd39e21853ed7d90e02b2bce7" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574": + version "0.0.0-2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86" + uid ce1d7f6c62ff0f9569791d78920c3628c56b4574 + resolved "https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.13" + "@angular-devkit/build-angular" "14.0.0-rc.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -213,63 +214,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-next.16.tgz#dc71dab27baa6bcab810e74ad88f5b3dd7d521b4" - integrity sha512-R3dgXFBiNmMHGHhjlZ6GJHfEJx8loZ1ReAynhS5lPdY/i8q8V3BPikb3gWthGGoJBBPsUapwJ/st0ur2Gwce0w== +"@angular/forms@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-rc.0.tgz#4483396efd7b5845750d490b9ece9015914bab33" + integrity sha512-QKdw56w8s0OWfJ7Xe1XBbK/xcTKUM5JLB3HZMPtkrym0iBDEqWrIyIdbxC4SIkAdpIk5w48TjftY8sEsKj9rkQ== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-next.16.tgz#6130e9d8ca9d8cd5ef2141247ee01ed82b5c64d6" - integrity sha512-ejSbJ5qaOj6HV615irPR7lmxnrVRHHwXfZedlux7A/cky4cnEeatLN8o0WgRCnqRClp97zasMhzLOI/X2Ocblw== +"@angular/localize@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-rc.0.tgz#624cb2c796e56aed585f2a4d40af7440fda20759" + integrity sha512-NQfI/iPQ2C+Nj4G/ZBl1kypkNiLjdC5wTkhoL2v15/tg9Yb21gYhVaUvHeE6mORmGVXwM3uJkWe1arJZGO2aIA== dependencies: "@babel/core" "7.17.9" glob "8.0.1" yargs "^17.2.1" -"@angular/material@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-next.13.tgz#2fb94a297ccf39dfdf933cf331b3628174bf10ec" - integrity sha512-N74gQE+lmwCsCcYz7E1rn4fPOQBM2MlU7pfwZBbQXK4Dr5cUUOfnB225NtP3m16BB2C5tyFzCzFog8XqpCeZMw== +"@angular/material@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-rc.0.tgz#9f5b3aa6d5f27dbe57c5968dad7e7dfedf05d347" + integrity sha512-cae0goKJwMPK1yR9DSBvSXhTswntDMM2hNbnFz6CERlAByxx1J68+uSRRAWqRkMpZfM+4nLBNhci7p+EB8AtIw== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-next.16.tgz#a0ffc1aa120453703789afd4e503d5ef1f4ce862" - integrity sha512-OsUDQG9/zyQPohnAceydb50G61CBXXM0QdqPd+7Ut1PS7EQii0ty7C7geTDNyqTjPlfy3y4Uhr8r9dwc3kUb8A== +"@angular/platform-browser-dynamic@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-rc.0.tgz#b38f81dc53912f7676598501836e3a615c3ea1a9" + integrity sha512-gsmERB9OvEl7ZblWftqs2Nhv+gGo+A69NUD1xMoe1I90lPQfV4Sg7IUtH94xBoTOJjJF1c1i47aLitK8JAy1kA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-next.16.tgz#d0aa4f56c2dd91a63840cd055ae03b9339b6dd3e" - integrity sha512-WiqS/ZTs1KdrVTvyNKGoyvclydF0BK3q53mgLc12shBKmtsSUgM94QJxikQs1J70IV6rMjTqVrw6QfuMjn66+A== +"@angular/platform-browser@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-rc.0.tgz#d23fa8457ee0805ec40788e2feb1218967b5484c" + integrity sha512-flktLHHH6byGasc1O1+yyNTtUWeNKJjzph+POum7udnT1BlsGRkkfStiAZBnpIplc5Z+r8VlGjz2DEgznqqRtQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-next.16.tgz#22f6ce2b4463fd71d60d3565d9f3aabb7e09f03b" - integrity sha512-k4gtYCbkbtsi60bj6/SnZRs6v/34HaAtlipSeiZ/io4u2DYdxNd5F8Bqka4JZG6kMXZHVBeTofnHYf+T1M8Vkw== +"@angular/platform-server@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-rc.0.tgz#b525977e102216e984a85db268b692a8468d4835" + integrity sha512-alCVu41ng1PtjIDWzKF4sAGXTS5lUA181vgeQq5h81IrCDZ8eL4LkkKXFt7L+k99d6/icqE1t/lHpT7Mg/sz5w== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-next.16.tgz#a5ca219bc3638043842e42269aba6f4646a3dea4" - integrity sha512-PbvxsNo41WsKtWNo4O+abxowbitk91gp2JdbSnLnb+8ISSSJf4gTlLTQftzVT31z3mOhmv+iOS7f1AdipvdPTg== +"@angular/router@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-rc.0.tgz#b0f7d3ee6587852fd58a04e62f93d00533b6bf87" + integrity sha512-Onb23Ip5nMsQhFLwL2hzrYmqHNP6mHm4TnnCKA+7Nxdzo93lDHbdmT0bZKZCBQKnzmjj4WpGO8o6B851WrMX6A== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-next.16": - version "14.0.0-next.16" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-next.16.tgz#c2a81c02507d27db30e6ba6b965d378878ab8e51" - integrity sha512-HWP0RDt01gwgfZiDu41SVZgAgzeQ7KWJ/lICRp2th8RNJ5B7e+kjY1fnJZlFin1r8oCQmbaWgj0PIxxqbV+QIQ== +"@angular/service-worker@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-rc.0.tgz#57ae18bc54c997a799c2c9b6f91f0fca8bdc4dfd" + integrity sha512-+w7knG8PBC2bXQHTMeBqASbEZ7PrbBoYHN26AJl5UiGaOWWQkl3IZSKc2aZTllHkkaDKjwbrJ9mE+OttPb0Rzg== dependencies: tslib "^2.3.0" @@ -285,7 +286,7 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.10": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== @@ -341,15 +342,6 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" -"@babel/generator@7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" - integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -596,7 +588,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-class-static-block@^7.16.7", "@babel/plugin-proposal-class-static-block@^7.17.6": +"@babel/plugin-proposal-class-static-block@^7.17.6": version "7.17.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== @@ -653,7 +645,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.16.7", "@babel/plugin-proposal-object-rest-spread@^7.17.3": +"@babel/plugin-proposal-object-rest-spread@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== @@ -856,7 +848,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.16.7", "@babel/plugin-transform-destructuring@^7.17.7": +"@babel/plugin-transform-destructuring@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== @@ -925,7 +917,7 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.8", "@babel/plugin-transform-modules-commonjs@^7.17.9": +"@babel/plugin-transform-modules-commonjs@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw== @@ -935,7 +927,7 @@ "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.7", "@babel/plugin-transform-modules-systemjs@^7.17.8": +"@babel/plugin-transform-modules-systemjs@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== @@ -954,7 +946,7 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8", "@babel/plugin-transform-named-capturing-groups-regex@^7.17.10": +"@babel/plugin-transform-named-capturing-groups-regex@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz#715dbcfafdb54ce8bccd3d12e8917296a4ba66a4" integrity sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA== @@ -990,7 +982,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.16.7", "@babel/plugin-transform-regenerator@^7.17.9": +"@babel/plugin-transform-regenerator@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz#0a33c3a61cf47f45ed3232903683a0afd2d3460c" integrity sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ== @@ -1004,18 +996,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" - integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.10.tgz#b89d821c55d61b5e3d3c3d1d636d8d5a81040ae1" @@ -1079,86 +1059,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.16.11": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" - integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== - dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@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-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" - "@babel/preset-env@7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.17.10.tgz#a81b093669e3eb6541bb81a23173c5963c5de69c" @@ -1595,10 +1495,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-next.13": - version "14.0.0-next.13" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.13.tgz#6ed412b78a853869d41580e974d471c6a37ae020" - integrity sha512-I1pbPgp31iFQAObwNNahkjfr4qlwwuXLwxttURE3nTJ9WuS6SGQPFeLnglWDNf54Tlt7NSohnIYxn/cfXdrXJQ== +"@ngtools/webpack@14.0.0-rc.0": + version "14.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.0.tgz#2580f68868fd1951eefad05acd4e7d77a250511c" + integrity sha512-WZ8gJ6/PtdrjsEnCOe3KBy8J1PLyozIEiD2BoRvvCfn6DZ3OK0/VpBoTCQf8CiKffeKbEPZh84UITD/rKDzwmQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2995,13 +2895,6 @@ async@3.2.3, async@^3.2.3: resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== -async@^2.6.2: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3017,7 +2910,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.5, autoprefixer@^10.4.6: +autoprefixer@^10.4.6: version "10.4.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== @@ -3794,7 +3687,7 @@ copy-webpack-plugin@10.2.4: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.20.2, core-js-compat@^3.21.0, core-js-compat@^3.22.1: +core-js-compat@^3.21.0, core-js-compat@^3.22.1: version "3.22.5" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.5.tgz#7fffa1d20cb18405bd22756ca1353c6f1a0e8614" integrity sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg== @@ -3922,7 +3815,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.5.0, cssdb@^6.6.1: +cssdb@^6.6.1: version "6.6.1" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.1.tgz#2637fdc57eab452849488de7e8d961ec06f2fe8f" integrity sha512-0/nZEYfp8SFEzJkMud8NxZJsGfD7RHDJti6GRBLZptIwAzco6RTx1KgwFl4mGWsYS0ZNbCrsY9QryhQ4ldF3Mg== @@ -4014,7 +3907,7 @@ debug@4.3.2: dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: +debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -4356,7 +4249,7 @@ engine.io@~6.2.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.9.2, enhanced-resolve@^5.9.3: +enhanced-resolve@^5.9.3: version "5.9.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== @@ -6545,11 +6438,6 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -6971,7 +6859,7 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7375,7 +7263,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.3.1, nanoid@^3.3.3: +nanoid@^3.3.3: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== @@ -8133,15 +8021,6 @@ popper.js@^1.14.1: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== -portfinder@^1.0.28: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - portscanner@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" @@ -8356,55 +8235,6 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.4.4: - version "7.4.4" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.4.tgz#069e34e31e2a7345154da7936b9fc1fcbdbd6d43" - integrity sha512-MqzSEx/QsvOk562iV9mLTgIvLFEOq1os9QBQfkgnq8TW6yKhVFPGh0gdXSK5ZlmjuNQEga6/x833e86XZF/lug== - dependencies: - "@csstools/postcss-color-function" "^1.1.0" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.2" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.1.0" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - autoprefixer "^10.4.5" - browserslist "^4.20.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.5.0" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.7" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.4" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.2" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-preset-env@7.5.0, postcss-preset-env@^7.4.2: version "7.5.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz#0c1f23933597d55dab4a90f61eda30b76e710658" @@ -8506,15 +8336,6 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.12: - version "8.4.12" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" - integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - postcss@8.4.13, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: version "8.4.13" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" @@ -9696,7 +9517,7 @@ source-map@0.7.3, source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -10095,16 +9916,6 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.13.0: - version "5.13.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.0.tgz#d43fd71861df1b4df743980caa257c6fa03acc44" - integrity sha512-sgQ99P+fRBM1jAYzN9RTnD/xEWx/7LZgYTCRgmYriSq1wxxqiQPJgXkkLBBuwySDWJ2PP0PnVQyuf4xLUuH4Ng== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.8.0-beta.0" - source-map-support "~0.5.20" - terser@5.13.1, terser@^5.7.2: version "5.13.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799" @@ -10751,41 +10562,6 @@ webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.8.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz#58f9d797710d6e25fa17d6afab8708f958c11a29" - integrity sha512-dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.0.1" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-dev-server@4.9.0: version "4.9.0" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz#737dbf44335bb8bde68f8f39127fc401c97a1557" @@ -10840,36 +10616,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.72.0: - version "5.72.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.0.tgz#f8bc40d9c6bb489a4b7a8a685101d6022b8b6e28" - integrity sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.2" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.72.1: version "5.72.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13" From f6b52e47a3df04e888a76f86d796390f05f3819a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 16 May 2022 14:34:33 -0700 Subject: [PATCH 0407/1388] docs: add Angular CLI autocompletion doc This explains how to set up autocompletion with the Angular CLI: 1. Via the automated prompt on first execution. 2. Via `ng completion`. 3. Manually via appending `source <(ng completion script)` to the user's `~/.bashrc` file. It also specifically calls out supported and unsupported platforms as well as the requirement for a global install of the Angular CLI. --- .../commands/completion/long-description.md | 76 ++++++++++++++++++- 1 file changed, 72 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/src/commands/completion/long-description.md b/packages/angular/cli/src/commands/completion/long-description.md index fabaa7fafe85..cf3517a9520f 100644 --- a/packages/angular/cli/src/commands/completion/long-description.md +++ b/packages/angular/cli/src/commands/completion/long-description.md @@ -1,5 +1,73 @@ -To enable Bash and Zsh real-time type-ahead autocompletion, run -`ng completion` and restart your terminal. +Setting up autocompletion configures your terminal, so pressing the `` key while in the middle +of typing will display various commands and options available to you. This makes it very easy to +discover and use CLI commands without lots of memorization. -Alternatively, append `source <(ng completion script)` to the appropriate `.bashrc`, -`.bash_profile`, `.zshrc`, `.zsh_profile`, or `.profile` file. +![A demo of Angular CLI autocompletion in a terminal. The user types several partial `ng` commands, +using autocompletion to finish several arguments and list contextual options. +](/generated/images/guide/cli/completion.gif) + +## Automated setup + +The CLI should prompt and ask to set up autocompletion for you the first time you use it (v14+). +Simply answer "Yes" and the CLI will take care of the rest. + +``` +$ ng serve +? Would you like to enable autocompletion? This will set up your terminal so pressing TAB while +typing Angular CLI commands will show possible options and autocomplete arguments. (Enabling +autocompletion will modify configuration files in your home directory.) Yes +Appended `source <(ng completion script)` to `/home/my-username/.bashrc`. Restart your terminal or +run: + +source <(ng completion script) + +to autocomplete `ng` commands. + +# Serve output... +``` + +If you already refused the prompt, it won't ask again. But you can run `ng completion` to +do the same thing automatically. + +This modifies your terminal environment to load Angular CLI autocompletion, but can't update your +current terminal session. Either restart it or run `source <(ng completion script)` directly to +enable autocompletion in your current session. + +Test it out by typing `ng ser` and it should autocomplete to `ng serve`. Ambiguous arguments +will show all possible options and their documentation, such as `ng generate `. + +## Manual setup + +Some users may have highly customized terminal setups, possibly with configuration files checked +into source control with an opinionated structure. `ng completion` only ever appends Angular's setup +to an existing configuration file for your current shell, or creates one if none exists. If you want +more control over exactly where this configuration lives, you can manually set it up by having your +shell run at startup: + +```bash +source <(ng completion script) +``` + +This is equivalent to what `ng completion` will automatically set up, and gives power users more +flexibility in their environments when desired. + +## Platform support + +Angular CLI supports autocompletion for the Bash and Zsh shells on MacOS and Linux operating +systems. + +Windows does not support autocompletion in native shells, such as Cmd and Powershell. However, +the Angular CLI supports Git Bash and +[Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/) using Bash or Zsh. + +## Global install + +Autocompletion works by configuring your terminal to invoke the Angular CLI on startup to load the +setup script. This means the terminal must be able to find and execute the Angular CLI, typically +through a global install that places the binary on the user's `$PATH`. If you get +`command not found: ng`, make sure the CLI is installed globally which you can do with the `-g` +flag: + +```bash +npm install -g @angular/cli +``` From b79b0f0aae5ec3dbee8ddca31fca8450874d653a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 16 May 2022 17:16:49 -0700 Subject: [PATCH 0408/1388] fix(@angular/cli): skip prompt or warn when setting up autocompletion without a global CLI install If the user does not have a global install of the Angular CLI, the autocompletion prompt is skipped and `ng completion` emits a warning. The reasoning for this is that `source <(ng completion script)` won't work without `ng` on the `$PATH`, which is only really viable with a global install. Local executions like `git clone ... && npm install && npm start` or ephemeral executions like `npx @angular/cli` don't benefit from autocompletion and unnecessarily impede users. A global install of the Angular CLI is detected by running `which -a ng`, which appears to be a cross-platform means of listing all `ng` commands on the `$PATH`. We then look over all binaries in the list and exclude anything which is a directo child of a `node_modules/.bin/` directory. These include local executions and `npx`, so the only remaining locations should be global installs (`/usr/bin/ng`, NVM, etc.). The tests are a little awkward since `ng` is installed globally by helper functions before tests start. These tests uninstall the global CLI and install a local, project-specific version to verify behavior, before restoring the global version. Hypothetically this could be emulated by manipulating the `$PATH` variable, but `which` needs to be available (so we can't clobber the whole `$PATH`) and `node` exists in the same directory as the global `ng` command (so we can't remove that directory anyways). There's also no good way of testing the case where `which` fails to run. Closes #23135. --- .../cli/src/commands/completion/cli.ts | 18 +++-- .../angular/cli/src/utilities/completion.ts | 69 +++++++++++++++++++ .../e2e/tests/misc/completion-prompt.ts | 62 ++++++++++++++++- tests/legacy-cli/e2e/tests/misc/completion.ts | 55 ++++++++++++++- tests/legacy-cli/e2e/utils/process.ts | 27 ++++++-- 5 files changed, 218 insertions(+), 13 deletions(-) diff --git a/packages/angular/cli/src/commands/completion/cli.ts b/packages/angular/cli/src/commands/completion/cli.ts index 6879726592a9..2bfd5a7152e7 100644 --- a/packages/angular/cli/src/commands/completion/cli.ts +++ b/packages/angular/cli/src/commands/completion/cli.ts @@ -8,14 +8,10 @@ import { join } from 'path'; import yargs, { Argv } from 'yargs'; -import { - CommandModule, - CommandModuleImplementation, - CommandScope, -} from '../../command-builder/command-module'; +import { CommandModule, CommandModuleImplementation } from '../../command-builder/command-module'; import { addCommandModuleToYargs } from '../../command-builder/utilities/command'; import { colors } from '../../utilities/color'; -import { initializeAutocomplete } from '../../utilities/completion'; +import { hasGlobalCliInstall, initializeAutocomplete } from '../../utilities/completion'; export class CompletionCommandModule extends CommandModule implements CommandModuleImplementation { command = 'completion'; @@ -44,6 +40,16 @@ Appended \`source <(ng completion script)\` to \`${rcFile}\`. Restart your termi `.trim(), ); + if ((await hasGlobalCliInstall()) === false) { + this.context.logger.warn( + 'Setup completed successfully, but there does not seem to be a global install of the' + + ' Angular CLI. For autocompletion to work, the CLI will need to be on your `$PATH`, which' + + ' is typically done with the `-g` flag in `npm install -g @angular/cli`.' + + '\n\n' + + 'For more information, see https://angular.io/cli/completion#global-install', + ); + } + return 0; } } diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index 546f962543d4..d95d60c79b33 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -7,6 +7,7 @@ */ import { json, logging } from '@angular-devkit/core'; +import { execFile } from 'child_process'; import { promises as fs } from 'fs'; import * as path from 'path'; import { env } from 'process'; @@ -78,6 +79,16 @@ Appended \`source <(ng completion script)\` to \`${rcFile}\`. Restart your termi `.trim(), ); + if ((await hasGlobalCliInstall()) === false) { + logger.warn( + 'Setup completed successfully, but there does not seem to be a global install of the' + + ' Angular CLI. For autocompletion to work, the CLI will need to be on your `$PATH`, which' + + ' is typically done with the `-g` flag in `npm install -g @angular/cli`.' + + '\n\n' + + 'For more information, see https://angular.io/cli/completion#global-install', + ); + } + // Save configuration to remember that the user was prompted. await setCompletionConfig({ ...completionConfig, prompted: true }); @@ -147,6 +158,12 @@ async function shouldPromptForAutocompletionSetup( return false; // Unknown shell. } + // Don't prompt if the user is missing a global CLI install. Autocompletion won't work after setup + // anyway and could be annoying for users running one-off commands via `npx` or using `npm start`. + if ((await hasGlobalCliInstall()) === false) { + return false; + } + // Check each RC file if they already use `ng completion script` in any capacity and don't prompt. for (const rcFile of rcFiles) { const contents = await fs.readFile(rcFile, 'utf-8').catch(() => undefined); @@ -246,3 +263,55 @@ function getShellRunCommandCandidates(shell: string, home: string): string[] | u return undefined; } } + +/** + * Returns whether the user has a global CLI install or `undefined` if this can't be determined. + * Execution from `npx` is *not* considered a global CLI install. + * + * This does *not* mean the current execution is from a global CLI install, only that a global + * install exists on the system. + */ +export async function hasGlobalCliInstall(): Promise { + // List all binaries with the `ng` name on the user's `$PATH`. + const proc = execFile('which', ['-a', 'ng']); + let stdout = ''; + proc.stdout?.addListener('data', (content) => { + stdout += content; + }); + const exitCode = await new Promise((resolve) => { + proc.addListener('exit', (exitCode) => { + resolve(exitCode); + }); + }); + + switch (exitCode) { + case 0: + // Successfully listed all `ng` binaries on the `$PATH`. Look for at least one line which is a + // global install. We can't easily identify global installs, but local installs are typically + // placed in `node_modules/.bin` by NPM / Yarn. `npx` also currently caches files at + // `~/.npm/_npx/*/node_modules/.bin/`, so the same logic applies. + const lines = stdout.split('\n').filter((line) => line !== ''); + const hasGlobalInstall = lines.some((line) => { + // A binary is a local install if it is a direct child of a `node_modules/.bin/` directory. + const parent = path.parse(path.parse(line).dir); + const grandparent = path.parse(parent.dir); + const localInstall = grandparent.base === 'node_modules' && parent.base === '.bin'; + + return !localInstall; + }); + + return hasGlobalInstall; + case 1: + // No instances of `ng` on the user's `$PATH`. + return false; + case null: + // `which` was killed by a signal and did not exit gracefully. Maybe it hung or something else + // went very wrong, so treat this as inconclusive. + return undefined; + default: + // `which` returns exit code 2 if an invalid option is specified and `-a` doesn't appear to be + // supported on all systems. Other exit codes mean unknown errors occurred. Can't tell whether + // CLI is globally installed, so treat this as inconclusive. + return undefined; + } +} diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts index 2fd74de20bcd..983fc55f87e4 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts @@ -2,7 +2,13 @@ import { promises as fs } from 'fs'; import * as os from 'os'; import * as path from 'path'; import { env } from 'process'; -import { execAndCaptureError, execWithEnv } from '../../utils/process'; +import { getGlobalVariable } from '../../utils/env'; +import { + execAndCaptureError, + execAndWaitForOutputToMatch, + execWithEnv, + silentNpm, +} from '../../utils/process'; const AUTOCOMPLETION_PROMPT = /Would you like to enable autocompletion\?/; const DEFAULT_ENV = Object.freeze({ @@ -18,6 +24,8 @@ const DEFAULT_ENV = Object.freeze({ NG_CLI_ANALYTICS: 'false', }); +const testRegistry = getGlobalVariable('package-registry'); + export default async function () { // Windows Cmd and Powershell do not support autocompletion. Run a different set of tests to // confirm autocompletion skips the prompt appropriately. @@ -368,6 +376,58 @@ source <(ng completion script) ); } }); + + // Prompts when a global CLI install is present on the system. + await mockHome(async (home) => { + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, `# Other content...`); + + await execAndWaitForOutputToMatch('ng', ['version'], AUTOCOMPLETION_PROMPT, { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + }); + }); + + // Does *not* prompt when a global CLI install is missing from the system. + await mockHome(async (home) => { + try { + // Temporarily uninstall the global CLI binary from the system. + await silentNpm(['uninstall', '--global', '@angular/cli', `--registry=${testRegistry}`]); + + // Setup a fake project directory with a local install of the CLI. + const projectDir = path.join(home, 'project'); + await fs.mkdir(projectDir); + await silentNpm(['init', '-y', `--registry=${testRegistry}`], { cwd: projectDir }); + await silentNpm(['install', '@angular/cli', `--registry=${testRegistry}`], { + cwd: projectDir, + }); + + const bashrc = path.join(home, '.bashrc'); + await fs.writeFile(bashrc, `# Other content...`); + + const localCliDir = path.join(projectDir, 'node_modules', '.bin'); + const localCliBinary = path.join(localCliDir, 'ng'); + const pathDirs = process.env['PATH'].split(':'); + const pathEnvVar = [...pathDirs, localCliDir].join(':'); + const { stdout } = await execWithEnv(localCliBinary, ['version'], { + ...DEFAULT_ENV, + SHELL: '/bin/bash', + HOME: home, + PATH: pathEnvVar, + }); + + if (AUTOCOMPLETION_PROMPT.test(stdout)) { + throw new Error( + 'Execution without a global CLI install prompted for autocompletion setup but should' + + ' not have.', + ); + } + } finally { + // Reinstall global CLI for remainder of the tests. + await silentNpm(['install', '--global', '@angular/cli', `--registry=${testRegistry}`]); + } + }); } async function windowsTests(): Promise { diff --git a/tests/legacy-cli/e2e/tests/misc/completion.ts b/tests/legacy-cli/e2e/tests/misc/completion.ts index f7ce6243fa8e..90061319191a 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion.ts @@ -1,7 +1,16 @@ +import { execFile } from 'child_process'; import { promises as fs } from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { execAndCaptureError, execAndWaitForOutputToMatch } from '../../utils/process'; +import { getGlobalVariable } from '../../utils/env'; +import { + execAndCaptureError, + execAndWaitForOutputToMatch, + execWithEnv, + silentNpm, +} from '../../utils/process'; + +const testRegistry = getGlobalVariable('package-registry'); export default async function () { // Windows Cmd and Powershell do not support autocompletion. Run a different set of tests to @@ -332,6 +341,50 @@ source <(ng completion script) throw new Error(`Expected unknown \`$SHELL\` error message, but got:\n\n${err.message}`); } }); + + // Does *not* warn when a global CLI install is present on the system. + await mockHome(async (home) => { + const { stdout } = await execWithEnv('ng', ['completion'], { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }); + + if (stdout.includes('there does not seem to be a global install of the Angular CLI')) { + throw new Error(`CLI warned about missing global install, but one should exist.`); + } + }); + + // Warns when a global CLI install is *not* present on the system. + await mockHome(async (home) => { + try { + // Temporarily uninstall the global CLI binary from the system. + await silentNpm(['uninstall', '--global', '@angular/cli', `--registry=${testRegistry}`]); + + // Setup a fake project directory with a local install of the CLI. + const projectDir = path.join(home, 'project'); + await fs.mkdir(projectDir); + await silentNpm(['init', '-y', `--registry=${testRegistry}`], { cwd: projectDir }); + await silentNpm(['install', '@angular/cli', `--registry=${testRegistry}`], { + cwd: projectDir, + }); + + // Invoke the local CLI binary. + const localCliBinary = path.join(projectDir, 'node_modules', '.bin', 'ng'); + const { stdout } = await execWithEnv(localCliBinary, ['completion'], { + ...process.env, + 'SHELL': '/usr/bin/zsh', + 'HOME': home, + }); + + if (stdout.includes('there does not seem to be a global install of the Angular CLI')) { + throw new Error(`CLI warned about missing global install, but one should exist.`); + } + } finally { + // Reinstall global CLI for remainder of the tests. + await silentNpm(['install', '--global', '@angular/cli', `--registry=${testRegistry}`]); + } + }); } async function windowsTests(): Promise { diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 3db0dff78742..7a4100e44822 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -12,6 +12,7 @@ interface ExecOptions { waitForMatch?: RegExp; env?: { [varname: string]: string }; stdin?: string; + cwd?: string; } let _processes: child_process.ChildProcess[] = []; @@ -28,7 +29,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { - err.message += `${error}...\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; + childProcess.on('error', (err) => { + err.message += `${err}...\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; reject(err); }); @@ -257,8 +258,24 @@ export function silentNg(...args: string[]) { return _exec({ silent: true }, 'ng', args); } -export function silentNpm(...args: string[]) { - return _exec({ silent: true }, 'npm', args); +export function silentNpm(...args: string[]): Promise; +export function silentNpm(args: string[], options?: { cwd?: string }): Promise; +export function silentNpm( + ...args: string[] | [args: string[], options?: { cwd?: string }] +): Promise { + if (Array.isArray(args[0])) { + const [params, options] = args; + return _exec( + { + silent: true, + cwd: (options as { cwd?: string } | undefined)?.cwd, + }, + 'npm', + params, + ); + } else { + return _exec({ silent: true }, 'npm', args as string[]); + } } export function silentYarn(...args: string[]) { From 56e9c56a7cd6cf04ff191caae1fe9320072b9dc2 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 18 May 2022 12:06:26 -0700 Subject: [PATCH 0409/1388] docs: release notes for the v13.3.6 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fde47d422916..58abbf77d076 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 13.3.6 (2022-05-18) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------- | +| [e20964c43](https://github.com/angular/angular-cli/commit/e20964c43c52125b6d2bfa9bbea444fb2eea1e15) | fix | resolve relative schematic from `angular.json` instead of current working directory | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------ | +| [16fec8d58](https://github.com/angular/angular-cli/commit/16fec8d58b6ec421df5e7809c45838baf232b4a9) | fix | update `babel-loader` to 8.2.5 | + +## Special Thanks + +Alan Agius, Charles Lyding, Jason Bedard and Paul Gschwendtner + + + # 14.0.0-rc.0 (2022-05-11) From 0edc0e1d6d2b114f8c036e16ac110f16c6fb09c4 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 18 May 2022 13:57:32 -0700 Subject: [PATCH 0410/1388] docs: release notes for the v14.0.0-rc.1 release --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58abbf77d076..acdec297f7c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ + + +# 14.0.0-rc.1 (2022-05-18) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------- | +| [6f6b453fb](https://github.com/angular/angular-cli/commit/6f6b453fbf90adad16eba7ea8929a11235c1061b) | fix | `ng doc` doesn't open browser in Windows | +| [160cb0718](https://github.com/angular/angular-cli/commit/160cb071870602d9e7fece2ce381facb71e7d762) | fix | correctly handle `--search` option in `ng doc` | +| [4b22593c4](https://github.com/angular/angular-cli/commit/4b22593c4a269ea4bd63cef39009aad69f159fa1) | fix | ensure all available package migrations are executed | +| [bdf2b9bfa](https://github.com/angular/angular-cli/commit/bdf2b9bfa9893a940ba254073d024172e0dc1abc) | fix | print schematic errors correctly | +| [db0cb5593](https://github.com/angular/angular-cli/commit/db0cb5593dcde395f1877f7c9b6bdf911cd26654) | fix | resolve relative schematic from `angular.json` instead of current working directory | +| [e5bdadac4](https://github.com/angular/angular-cli/commit/e5bdadac44ac023363bc0a2473892fc17430b81f) | fix | skip prompt or warn when setting up autocompletion without a global CLI install | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [b928d973e](https://github.com/angular/angular-cli/commit/b928d973e97f33220afe16549b41c4031feb5c5e) | fix | alphabetically order imports during component generation | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [587082fb0](https://github.com/angular/angular-cli/commit/587082fb0fa7bdb6cddb36327f791889d76e3e7b) | fix | close compiler on Karma exit | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Elton Coelho, George Kalpakas and Kristiyan Kostadinov + + + # 13.3.6 (2022-05-18) From 0fc1c33a7c742dabf4ca4dc8ce2f23f9cfd0e464 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 19 May 2022 20:08:36 +0000 Subject: [PATCH 0411/1388] build: update all non-major dependencies --- WORKSPACE | 10 +- package.json | 38 +- packages/angular/cli/package.json | 4 +- .../angular_devkit/architect_cli/package.json | 2 +- .../angular_devkit/benchmark/package.json | 2 +- .../angular_devkit/build_angular/package.json | 26 +- .../schematics_cli/package.json | 2 +- yarn.lock | 827 ++++++++++++++++-- 8 files changed, 793 insertions(+), 118 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 03d62f32dbe0..8e23fc8c0b83 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "e328cb2c9401be495fa7d79c306f5ee3040e8a03b2ebb79b022e15ca03770096", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.4.2/rules_nodejs-5.4.2.tar.gz"], + sha256 = "0fad45a9bda7dc1990c47b002fd64f55041ea751fafc00cd34efb96107675778", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-5.5.0.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "a8b47eeaf3c1bd41c4f4b633ef4c959daf83fdee343379495098b50571d4b3b8", - strip_prefix = "bazel-lib-0.11.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v0.11.1.tar.gz", + sha256 = "5f2cb843d812a25bd4c137b12776898cd7083408c7302155f9f082c88a9e955f", + strip_prefix = "bazel-lib-0.11.8", + url = "https://github.com/aspect-build/bazel-lib/archive/v0.11.8.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index ed5f3859215c..5d79e0cff7c1 100644 --- a/package.json +++ b/package.json @@ -78,19 +78,19 @@ "@angular/platform-server": "14.0.0-rc.0", "@angular/router": "14.0.0-rc.0", "@angular/service-worker": "14.0.0-rc.0", - "@babel/core": "7.17.10", - "@babel/generator": "7.17.10", + "@babel/core": "7.18.0", + "@babel/generator": "7.18.0", "@babel/helper-annotate-as-pure": "7.16.7", - "@babel/plugin-proposal-async-generator-functions": "7.16.8", - "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.17.10", - "@babel/preset-env": "7.17.10", - "@babel/runtime": "7.17.9", + "@babel/plugin-proposal-async-generator-functions": "7.17.12", + "@babel/plugin-transform-async-to-generator": "7.17.12", + "@babel/plugin-transform-runtime": "7.18.0", + "@babel/preset-env": "7.18.0", + "@babel/runtime": "7.18.0", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.4.2", - "@bazel/jasmine": "5.4.2", + "@bazel/concatjs": "5.5.0", + "@bazel/jasmine": "5.5.0", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -120,17 +120,17 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.23.0", - "@typescript-eslint/parser": "5.23.0", + "@typescript-eslint/eslint-plugin": "5.25.0", + "@typescript-eslint/parser": "5.25.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", - "ansi-colors": "4.1.2", + "ansi-colors": "4.1.3", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.0.7", + "cacache": "16.1.0", "chokidar": "^3.5.2", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", @@ -168,25 +168,25 @@ "loader-utils": "3.2.0", "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.0", - "minimatch": "5.0.1", + "minimatch": "5.1.0", "ng-packagr": "14.0.0-rc.0", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.3.0", + "pacote": "13.4.1", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.13", + "postcss": "8.4.14", "postcss-import": "14.1.0", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.5.0", + "postcss-preset-env": "7.6.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "14.1.0", + "puppeteer": "14.1.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -213,7 +213,7 @@ "verdaccio": "5.10.2", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.1", - "webpack-dev-middleware": "5.3.1", + "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 5234c3b58776..a2047e797584 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -27,7 +27,7 @@ "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "@schematics/angular": "0.0.0-PLACEHOLDER", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.2", + "ansi-colors": "4.1.3", "debug": "4.3.4", "ini": "3.0.0", "inquirer": "8.2.4", @@ -36,7 +36,7 @@ "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.3.0", + "pacote": "13.4.1", "resolve": "1.22.0", "semver": "7.3.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index f405ee23f2a0..a2d8f832162f 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -16,7 +16,7 @@ "dependencies": { "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.2", + "ansi-colors": "4.1.3", "progress": "2.0.3", "rxjs": "6.6.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index cde80d88c495..4ca2fbace680 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -11,7 +11,7 @@ ], "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.2", + "ansi-colors": "4.1.3", "pidusage": "3.0.0", "pidtree": "0.5.0", "rxjs": "6.6.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0b436a049fb6..05bbb46b4fb2 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,22 +10,22 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.17.10", - "@babel/generator": "7.17.10", + "@babel/core": "7.18.0", + "@babel/generator": "7.18.0", "@babel/helper-annotate-as-pure": "7.16.7", - "@babel/plugin-proposal-async-generator-functions": "7.16.8", - "@babel/plugin-transform-async-to-generator": "7.16.8", - "@babel/plugin-transform-runtime": "7.17.10", - "@babel/preset-env": "7.17.10", - "@babel/runtime": "7.17.9", + "@babel/plugin-proposal-async-generator-functions": "7.17.12", + "@babel/plugin-transform-async-to-generator": "7.17.12", + "@babel/plugin-transform-runtime": "7.18.0", + "@babel/preset-env": "7.18.0", + "@babel/runtime": "7.18.0", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.2", + "ansi-colors": "4.1.3", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.0.7", + "cacache": "16.1.0", "copy-webpack-plugin": "10.2.4", "critters": "0.0.16", "css-loader": "6.7.1", @@ -40,15 +40,15 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.6.0", - "minimatch": "5.0.1", + "minimatch": "5.1.0", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.13", + "postcss": "8.4.14", "postcss-import": "14.1.0", "postcss-loader": "6.2.1", - "postcss-preset-env": "7.5.0", + "postcss-preset-env": "7.6.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -64,7 +64,7 @@ "tree-kill": "1.2.2", "tslib": "2.4.0", "webpack": "5.72.1", - "webpack-dev-middleware": "5.3.1", + "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index a051c980e7b4..d964b8b21ef3 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -18,7 +18,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", - "ansi-colors": "4.1.2", + "ansi-colors": "4.1.3", "inquirer": "8.2.4", "symbol-observable": "4.0.0", "yargs-parser": "21.0.1" diff --git a/yarn.lock b/yarn.lock index d9aba79dc768..ad277ce25618 100644 --- a/yarn.lock +++ b/yarn.lock @@ -333,6 +333,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.0.tgz#c58d04d7c6fbfb58ea7681e2b9145cfb62726756" + integrity sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.0" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.0" + "@babel/parser" "^7.18.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.17.10", "@babel/generator@^7.17.10", "@babel/generator@^7.17.9": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" @@ -342,6 +363,15 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" +"@babel/generator@7.18.0", "@babel/generator@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.0.tgz#46d28e8a18fc737b028efb25ab105d74473af43f" + integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== + dependencies: + "@babel/types" "^7.18.0" + "@jridgewell/gen-mapping" "^0.3.0" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -380,6 +410,19 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" +"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" + integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-member-expression-to-functions" "^7.17.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" @@ -388,6 +431,14 @@ "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^5.0.1" +"@babel/helper-create-regexp-features-plugin@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" + integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + regexpu-core "^5.0.1" + "@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" @@ -459,6 +510,20 @@ "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" +"@babel/helper-module-transforms@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" + integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" @@ -471,6 +536,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== +"@babel/helper-plugin-utils@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" + integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== + "@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" @@ -541,6 +611,15 @@ "@babel/traverse" "^7.17.9" "@babel/types" "^7.17.0" +"@babel/helpers@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.0.tgz#aff37c3590de42102b54842446146d0205946370" + integrity sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" + "@babel/highlight@^7.16.7": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" @@ -555,6 +634,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== +"@babel/parser@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.0.tgz#10a8d4e656bc01128d299a787aa006ce1a91e112" + integrity sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -562,6 +646,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" + integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" @@ -571,6 +662,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" + integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.17.12" + "@babel/plugin-proposal-async-generator-functions@7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" @@ -580,6 +680,15 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" + integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" @@ -588,6 +697,14 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-proposal-class-properties@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" + integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-proposal-class-static-block@^7.17.6": version "7.17.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" @@ -597,6 +714,15 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" +"@babel/plugin-proposal-class-static-block@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" + integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" @@ -613,6 +739,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" +"@babel/plugin-proposal-export-namespace-from@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" + integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-proposal-json-strings@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" @@ -621,6 +755,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" +"@babel/plugin-proposal-json-strings@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" + integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" @@ -629,6 +771,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" +"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" + integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" @@ -637,6 +787,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" +"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" + integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" @@ -656,6 +814,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.7" +"@babel/plugin-proposal-object-rest-spread@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" + integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.17.12" + "@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" @@ -673,6 +842,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +"@babel/plugin-proposal-optional-chaining@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" + integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-private-methods@^7.16.11": version "7.16.11" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" @@ -681,6 +859,14 @@ "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-proposal-private-methods@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" + integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-proposal-private-property-in-object@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" @@ -691,6 +877,16 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" +"@babel/plugin-proposal-private-property-in-object@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" + integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" @@ -699,6 +895,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-proposal-unicode-property-regex@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" + integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -734,6 +938,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-import-assertions@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz#58096a92b11b2e4e54b24c6a0cc0e5e607abcedd" + integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -804,6 +1015,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-arrow-functions@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" + integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-async-to-generator@7.16.8", "@babel/plugin-transform-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" @@ -813,6 +1031,15 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" +"@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" + integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" @@ -827,6 +1054,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-block-scoping@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz#68fc3c4b3bb7dfd809d97b7ed19a584052a2725c" + integrity sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-classes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" @@ -841,6 +1075,20 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz#da889e89a4d38375eeb24985218edeab93af4f29" + integrity sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" @@ -848,6 +1096,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-computed-properties@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" + integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-destructuring@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" @@ -855,6 +1110,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-destructuring@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" + integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" @@ -870,6 +1132,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-duplicate-keys@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" + integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" @@ -885,6 +1154,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-for-of@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.17.12.tgz#5397c22554ec737a27918e7e7e0e7b679b05f5ec" + integrity sha512-76lTwYaCxw8ldT7tNmye4LLwSoKDbRCBzu6n/DcK/P3FOR29+38CIIaVIZfwol9By8W/QHORYEnYSLuvcQKrsg== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" @@ -901,6 +1177,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-literals@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" + integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" @@ -917,6 +1200,15 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-amd@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" + integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== + dependencies: + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-commonjs@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" @@ -927,6 +1219,16 @@ "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.0.tgz#3be575e19fbd273d42adbc84566b1fad3582b3db" + integrity sha512-cCeR0VZWtfxWS4YueAK2qtHtBPJRSaJcMlbS8jhSIm/A3E2Kpro4W1Dn4cqJtp59dtWfXjQwK7SPKF8ghs7rlw== + dependencies: + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-simple-access" "^7.17.7" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-systemjs@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" @@ -938,6 +1240,17 @@ "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-systemjs@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz#50ecdb43de97c8483824402f7125edb94cddb09a" + integrity sha512-vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ== + dependencies: + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-validator-identifier" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-umd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" @@ -946,6 +1259,14 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-modules-umd@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" + integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== + dependencies: + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-named-capturing-groups-regex@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz#715dbcfafdb54ce8bccd3d12e8917296a4ba66a4" @@ -953,6 +1274,14 @@ dependencies: "@babel/helper-create-regexp-features-plugin" "^7.17.0" +"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" + integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-new-target@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" @@ -960,6 +1289,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-new-target@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" + integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" @@ -975,6 +1311,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-parameters@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" + integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" @@ -989,6 +1332,14 @@ dependencies: regenerator-transform "^0.15.0" +"@babel/plugin-transform-regenerator@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" + integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + regenerator-transform "^0.15.0" + "@babel/plugin-transform-reserved-words@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" @@ -996,6 +1347,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-reserved-words@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" + integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-runtime@7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.10.tgz#b89d821c55d61b5e3d3c3d1d636d8d5a81040ae1" @@ -1008,6 +1366,18 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.0.tgz#894cdab4b353dcb7639f03fb74c59db1d344f71c" + integrity sha512-7kM/jJ3DD/y1hDPn0jov12DoUIFsxLiItprhNydUSibxaywaxNqKwq+ODk72J9ePn4LWobIc5ik6TAJhVl8IkQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" @@ -1023,6 +1393,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" +"@babel/plugin-transform-spread@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" + integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" @@ -1037,6 +1415,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-template-literals@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz#4aec0a18f39dd86c442e1d077746df003e362c6e" + integrity sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-typeof-symbol@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" @@ -1044,6 +1429,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-typeof-symbol@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" + integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" @@ -1139,6 +1531,87 @@ core-js-compat "^3.22.1" semver "^6.3.0" +"@babel/preset-env@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.0.tgz#ec7e51f4c6e026816000b230ed7cf74a1530d91d" + integrity sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.17.12" + "@babel/plugin-proposal-async-generator-functions" "^7.17.12" + "@babel/plugin-proposal-class-properties" "^7.17.12" + "@babel/plugin-proposal-class-static-block" "^7.18.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.17.12" + "@babel/plugin-proposal-json-strings" "^7.17.12" + "@babel/plugin-proposal-logical-assignment-operators" "^7.17.12" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.17.12" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.18.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.17.12" + "@babel/plugin-proposal-private-methods" "^7.17.12" + "@babel/plugin-proposal-private-property-in-object" "^7.17.12" + "@babel/plugin-proposal-unicode-property-regex" "^7.17.12" + "@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.17.12" + "@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" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.17.12" + "@babel/plugin-transform-async-to-generator" "^7.17.12" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.17.12" + "@babel/plugin-transform-classes" "^7.17.12" + "@babel/plugin-transform-computed-properties" "^7.17.12" + "@babel/plugin-transform-destructuring" "^7.18.0" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.17.12" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.17.12" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.17.12" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.18.0" + "@babel/plugin-transform-modules-commonjs" "^7.18.0" + "@babel/plugin-transform-modules-systemjs" "^7.18.0" + "@babel/plugin-transform-modules-umd" "^7.18.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12" + "@babel/plugin-transform-new-target" "^7.17.12" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.17.12" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.18.0" + "@babel/plugin-transform-reserved-words" "^7.17.12" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.17.12" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.17.12" + "@babel/plugin-transform-typeof-symbol" "^7.17.12" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.18.0" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.22.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1157,6 +1630,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.0.tgz#6d77142a19cb6088f0af662af1ada37a604d34ae" + integrity sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1182,6 +1662,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.0.tgz#0e5ec6db098660b2372dd63d096bf484e32d27ba" + integrity sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.0" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.18.0" + "@babel/types" "^7.18.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" @@ -1190,6 +1686,14 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.0.tgz#ef523ea349722849cb4bf806e9342ede4d071553" + integrity sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.11.0": version "1.11.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" @@ -1209,15 +1713,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.0.tgz#e6104ed70595cae59463ae6b0b5389252566221e" + integrity sha512-hwG+ahivR20Z3iTOlkUz3OdwnW/PUaZyyz8BIX+GNUTg6U3rPHK51CavUirMupOU/LRJ5GyCwBNAAtjCyquo2g== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.4.2": version "5.4.2" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.2.tgz#07b46fd7b10667b6e56b94df2c316c19de17ab33" integrity sha512-k1ZJzFlpfzTcJyHvVxSoOmiPwWNmJSVE0A2ygtXlyB4/dTnGAC6vcX03ECXovd+wk8py/DuFQDb6Xpv6RnWtAg== -"@bazel/jasmine@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.4.2.tgz#073eef1a1b4c9a4f69522b4b96acd01d44daa05d" - integrity sha512-w0eco1CAipjLX1GFr8GqMTGpIiW9s/kkPDMAFuIVorZzMnAHov25ztr1Zjt5RBUpzMPBY+Sm0cp1d4x9UsjwIQ== +"@bazel/jasmine@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.0.tgz#0d82e382aad1aca4c4edd8198bb6b3edbb3a5adf" + integrity sha512-mg3DTdvR4T/FX8NljitAt4tz3g43Vm8Ts5MD6zl0MuPRABT3tnguUAwsbw246jT1/E/8fdaS/Sdfm1edNqPcxg== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1277,6 +1790,14 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" +"@csstools/postcss-cascade-layers@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.1.tgz#a41b391f1cd4dd952efc638cbad1d64509478d04" + integrity sha512-IpGtKHZ6XFj2cpRp9i45V/+fpcPv/W6Eybw7sFpqyVeCEH7UttHhrbop6JACESOhOYc/onTRb3tchHo/g3K4TA== + dependencies: + "@csstools/selector-specificity" "^1.0.0" + postcss-selector-parser "^6.0.10" + "@csstools/postcss-color-function@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.0.tgz#229966327747f58fbe586de35daa139db3ce1e5d" @@ -1299,6 +1820,13 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-hwb-function@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.1.tgz#5224db711ed09a965f85c80c18144ac1c2702fce" + integrity sha512-AMZwWyHbbNLBsDADWmoXT9A5yl5dsGEBeJSJRUJt8Y9n8Ziu7Wstt4MC8jtPW7xjcLecyfJwtnUTNSmOzcnWeg== + dependencies: + postcss-value-parser "^4.2.0" + "@csstools/postcss-ic-unit@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.0.tgz#f484db59fc94f35a21b6d680d23b0ec69b286b7f" @@ -1315,6 +1843,14 @@ "@csstools/selector-specificity" "^1.0.0" postcss-selector-parser "^6.0.10" +"@csstools/postcss-is-pseudo-class@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.4.tgz#6e8b49b96a7d3346d5316bd773dcff9c983b4183" + integrity sha512-T2Tmr5RIxkCEXxHwMVyValqwv3h5FTJPpmU8Mq/HDV+TY6C9srVaNMiMG/sp0QaxUnVQQrnXsuLU+1g2zrLDcQ== + dependencies: + "@csstools/selector-specificity" "^1.0.0" + postcss-selector-parser "^6.0.10" + "@csstools/postcss-normalize-display-values@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" @@ -1344,7 +1880,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-unset-value@^1.0.0": +"@csstools/postcss-unset-value@^1.0.0", "@csstools/postcss-unset-value@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.1.tgz#2cc020785db5ec82cc9444afe4cdae2a65445f89" integrity sha512-f1G1WGDXEU/RN1TWAxBPQgQudtLnLQPyiWdtypkPC+mVYNKFKH/HYXSxH4MVNqwF8M0eDsoiU7HumJHCg/L/jg== @@ -1417,6 +1953,15 @@ "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" + integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/resolve-uri@^3.0.3": version "3.0.7" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" @@ -2280,85 +2825,85 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz#bc4cbcf91fbbcc2e47e534774781b82ae25cc3d8" - integrity sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA== +"@typescript-eslint/eslint-plugin@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz#e8ce050990e4d36cc200f2de71ca0d3eb5e77a31" + integrity sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg== dependencies: - "@typescript-eslint/scope-manager" "5.23.0" - "@typescript-eslint/type-utils" "5.23.0" - "@typescript-eslint/utils" "5.23.0" - debug "^4.3.2" + "@typescript-eslint/scope-manager" "5.25.0" + "@typescript-eslint/type-utils" "5.25.0" + "@typescript-eslint/utils" "5.25.0" + debug "^4.3.4" functional-red-black-tree "^1.0.1" - ignore "^5.1.8" + ignore "^5.2.0" regexpp "^3.2.0" - semver "^7.3.5" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.23.0.tgz#443778e1afc9a8ff180f91b5e260ac3bec5e2de1" - integrity sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw== +"@typescript-eslint/parser@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.25.0.tgz#fb533487147b4b9efd999a4d2da0b6c263b64f7f" + integrity sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA== dependencies: - "@typescript-eslint/scope-manager" "5.23.0" - "@typescript-eslint/types" "5.23.0" - "@typescript-eslint/typescript-estree" "5.23.0" - debug "^4.3.2" + "@typescript-eslint/scope-manager" "5.25.0" + "@typescript-eslint/types" "5.25.0" + "@typescript-eslint/typescript-estree" "5.25.0" + debug "^4.3.4" -"@typescript-eslint/scope-manager@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz#4305e61c2c8e3cfa3787d30f54e79430cc17ce1b" - integrity sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw== +"@typescript-eslint/scope-manager@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz#e78f1484bca7e484c48782075219c82c6b77a09f" + integrity sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww== dependencies: - "@typescript-eslint/types" "5.23.0" - "@typescript-eslint/visitor-keys" "5.23.0" + "@typescript-eslint/types" "5.25.0" + "@typescript-eslint/visitor-keys" "5.25.0" -"@typescript-eslint/type-utils@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz#f852252f2fc27620d5bb279d8fed2a13d2e3685e" - integrity sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw== +"@typescript-eslint/type-utils@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz#5750d26a5db4c4d68d511611e0ada04e56f613bc" + integrity sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw== dependencies: - "@typescript-eslint/utils" "5.23.0" - debug "^4.3.2" + "@typescript-eslint/utils" "5.25.0" + debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.23.0.tgz#8733de0f58ae0ed318dbdd8f09868cdbf9f9ad09" - integrity sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw== +"@typescript-eslint/types@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.25.0.tgz#dee51b1855788b24a2eceeae54e4adb89b088dd8" + integrity sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA== -"@typescript-eslint/typescript-estree@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz#dca5f10a0a85226db0796e8ad86addc9aee52065" - integrity sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg== +"@typescript-eslint/typescript-estree@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz#a7ab40d32eb944e3fb5b4e3646e81b1bcdd63e00" + integrity sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw== dependencies: - "@typescript-eslint/types" "5.23.0" - "@typescript-eslint/visitor-keys" "5.23.0" - debug "^4.3.2" - globby "^11.0.4" + "@typescript-eslint/types" "5.25.0" + "@typescript-eslint/visitor-keys" "5.25.0" + debug "^4.3.4" + globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.5" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.23.0.tgz#4691c3d1b414da2c53d8943310df36ab1c50648a" - integrity sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA== +"@typescript-eslint/utils@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.25.0.tgz#272751fd737733294b4ab95e16c7f2d4a75c2049" + integrity sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.23.0" - "@typescript-eslint/types" "5.23.0" - "@typescript-eslint/typescript-estree" "5.23.0" + "@typescript-eslint/scope-manager" "5.25.0" + "@typescript-eslint/types" "5.25.0" + "@typescript-eslint/typescript-estree" "5.25.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.23.0": - version "5.23.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz#057c60a7ca64667a39f991473059377a8067c87b" - integrity sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg== +"@typescript-eslint/visitor-keys@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz#33aa5fdcc5cedb9f4c8828c6a019d58548d4474b" + integrity sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA== dependencies: - "@typescript-eslint/types" "5.23.0" - eslint-visitor-keys "^3.0.0" + "@typescript-eslint/types" "5.25.0" + eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": version "10.2.0" @@ -2706,7 +3251,12 @@ ansi-colors@4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@4.1.2, ansi-colors@^4.1.1: +ansi-colors@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-colors@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.2.tgz#e33debb85260fbe4ed8f00f1e0c282516109795e" integrity sha512-cEG18jjLG0O74o/33eEfnmtXYDEY196ZjL0eQEISULF+Imi7vr25l6ntGYmqS5lIrQIEeze+CqUtPVItywE7ZQ== @@ -2910,7 +3460,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.6: +autoprefixer@^10.4.6, autoprefixer@^10.4.7: version "10.4.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== @@ -3324,6 +3874,30 @@ cacache@16.0.7, cacache@^16.0.0, cacache@^16.0.2: tar "^6.1.11" unique-filename "^1.1.1" +cacache@16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.0.tgz#87a6bae558a511c9cb2a13768073e240ca76153a" + integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^1.1.1" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4773,7 +5347,7 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: +eslint-visitor-keys@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== @@ -5500,7 +6074,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.4: +globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -5844,7 +6418,7 @@ ignore-walk@^5.0.1: dependencies: minimatch "^5.0.1" -ignore@^5.1.8, ignore@^5.1.9, ignore@^5.2.0: +ignore@^5.1.9, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -7013,6 +7587,13 @@ memfs@^3.4.1: dependencies: fs-monkey "1.0.3" +memfs@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.3.tgz#fc08ac32363b6ea6c95381cabb4d67838180d4e1" + integrity sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg== + dependencies: + fs-monkey "1.0.3" + memoizee@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" @@ -7130,6 +7711,13 @@ minimatch@5.0.1, minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -7263,7 +7851,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.3.3: +nanoid@^3.3.3, nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== @@ -7755,10 +8343,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.3.0.tgz#e221febc17ce2435ce9f31de411832327a34c5ad" - integrity sha512-auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw== +pacote@13.4.1: + version "13.4.1" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.4.1.tgz#b6610bf8903abc075bfffa02a2cedafe81a97293" + integrity sha512-FqlSWlD8n+ejCE17GF/lf0yasztMGFl4UFzYQk5njaK/qPPWfVDWnfQwqmqeXObWLSmIBew+O+CFD24vxkVDjg== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -8213,6 +8801,14 @@ postcss-nesting@^10.1.4: "@csstools/selector-specificity" "1.0.0" postcss-selector-parser "^6.0.10" +postcss-nesting@^10.1.6: + version "10.1.6" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.6.tgz#9cd7221285577858a7cb38b94faabe4979226551" + integrity sha512-8C0X0pOOShlgqYkCzB4wlWLyulos+GXFpw7r2+x7g+ROQ1RwN8MlN2NCcpNQScNBPfbjxbjwY8e25raTcEXqmg== + dependencies: + "@csstools/selector-specificity" "1.0.0" + postcss-selector-parser "^6.0.10" + postcss-opacity-percentage@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" @@ -8286,6 +8882,58 @@ postcss-preset-env@7.5.0, postcss-preset-env@^7.4.2: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" +postcss-preset-env@7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.6.0.tgz#4e6178d97fc1ddd7fec168c9034eb17258a5bf12" + integrity sha512-5cnzpSFZnQJOlBu85xn4Nnluy/WjIST/ugn+gOVcKnmFJ+GLtkfRhmJPo/TW9UDpG7oyA467kvDOO8mtcpOL4g== + dependencies: + "@csstools/postcss-cascade-layers" "^1.0.1" + "@csstools/postcss-color-function" "^1.1.0" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.1" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.4" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.0" + "@csstools/postcss-unset-value" "^1.0.1" + autoprefixer "^10.4.7" + browserslist "^4.20.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.6.1" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.7" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.6" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.4" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + postcss-pseudo-class-any-link@^7.1.2: version "7.1.3" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.3.tgz#0e4753518b9f6caa8b649c75b56e69e391d0c12f" @@ -8293,6 +8941,13 @@ postcss-pseudo-class-any-link@^7.1.2: dependencies: postcss-selector-parser "^6.0.10" +postcss-pseudo-class-any-link@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz#ac72aac4fe11fc4a0a368691f8fd5fe89e95aba4" + integrity sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg== + dependencies: + postcss-selector-parser "^6.0.10" + postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" @@ -8345,6 +9000,15 @@ postcss@8.4.13, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8496,10 +9160,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.0.tgz#319560e20ff451890158d7146c79ab589c6e7031" - integrity sha512-T3eB4f6k9HVttYvyy8drGIKb04M+vxhepqM7qqcVCBTNT3T6M9cUaJT4k7P+a6wSonObJSJUP98JkPDQG+3fJw== +puppeteer@14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.1.tgz#9a2b4042f9644d0d5fb63dbb6d75042af6a67656" + integrity sha512-4dC6GYR5YlXTmNO3TbYEHTdVSdml1cVD2Ok/h/f/xSTp4ITVdbRWkMjiOaEKRAhtIl6GqaP7B89zx+hfhcNGMQ== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -9173,7 +9837,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@~7.3.0: +semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -10562,6 +11226,17 @@ webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" +webpack-dev-middleware@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + webpack-dev-server@4.9.0: version "4.9.0" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz#737dbf44335bb8bde68f8f39127fc401c97a1557" From 8dbf5af2fa3305a462420ff55fd660e6578f1274 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 18 May 2022 15:37:32 -0400 Subject: [PATCH 0412/1388] test: update E2E tests to support using npm 7+ Several tests that perform package actions during the test have been updated to function correctly when used with npm. npm 7+ performs additional resolution on peer dependencies which can result in failures during testing. The following tests have been updated: * `build/material` - This test contained an actual error in that it was installing the `latest` version of `@angular/material-moment-adapter` when testing prereleases even though it should have been installing the `next` tag instead. * `build/styles/tailwind-v2` - This test had to be reordered due to npm 7+ keeping the installed `tailwindcss` peer dependency in a non-hoisted location even after the project level package was uninstalled. The ordering also uncovered a Webpack cache key creation defect wherein the cache key does not account for the presence of `tailwindcss`. Until this is corrected, the test temporarily disables caching. * `commands/add/version-specifier` - This test intentionally attempts to install package versions that do not meet peer dependency requirements to ensure that the `ng add` command correctly notifies the user. To allow for this to occur, the npm `force` option is used to prevent the package install aspects of the command from failing. --- tests/legacy-cli/e2e/tests/build/material.ts | 2 +- .../e2e/tests/build/styles/tailwind-v2.ts | 33 ++++++++++--------- .../e2e/tests/build/styles/tailwind-v3.ts | 33 ++++++++++--------- .../tests/commands/add/version-specifier.ts | 10 +++++- 4 files changed, 44 insertions(+), 34 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 23bbca4a612c..1fd59a28f03f 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -28,7 +28,7 @@ export default async function () { await installWorkspacePackages(); } else { - await installPackage('@angular/material-moment-adapter'); + await installPackage(`@angular/material-moment-adapter${tag}`); } await installPackage('moment'); diff --git a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v2.ts b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v2.ts index 663ccc1b900c..0aef1276339f 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v2.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v2.ts @@ -4,11 +4,12 @@ import { ng, silentExec } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; export default async function () { - // Install Tailwind - await installPackage('tailwindcss@2'); + // Temporarily turn off caching until the build cache accounts for the presence of tailwind + // and its configuration file. Otherwise cached builds without tailwind will cause test failures. + await ng('cache', 'off'); // Create configuration file - await silentExec('npx', 'tailwindcss', 'init'); + await silentExec('npx', 'tailwindcss@2', 'init'); // Add Tailwind directives to a component style await writeFile('src/app/app.component.css', '@tailwind base; @tailwind components;'); @@ -16,6 +17,19 @@ export default async function () { // Add Tailwind directives to a global style await writeFile('src/styles.css', '@tailwind base; @tailwind components;'); + // Ensure installation warning is present + const { stderr } = await ng('build', '--configuration=development'); + if (!stderr.includes("To enable Tailwind CSS, please install the 'tailwindcss' package.")) { + throw new Error(`Expected tailwind installation warning. STDERR:\n${stderr}`); + } + + // Tailwind directives should be unprocessed with missing package + await expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'); + await expectFileToMatch('dist/test-project/main.js', '@tailwind base; @tailwind components;'); + + // Install Tailwind + await installPackage('tailwindcss@2'); + // Build should succeed and process Tailwind directives await ng('build', '--configuration=development'); @@ -37,19 +51,6 @@ export default async function () { await expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'); await expectFileToMatch('dist/test-project/main.js', '@tailwind base; @tailwind components;'); - // Recreate configuration file - await silentExec('npx', 'tailwindcss', 'init'); - // Uninstall Tailwind await uninstallPackage('tailwindcss'); - - // Ensure installation warning is present - const { stderr } = await ng('build', '--configuration=development'); - if (!stderr.includes("To enable Tailwind CSS, please install the 'tailwindcss' package.")) { - throw new Error('Expected tailwind installation warning'); - } - - // Tailwind directives should be unprocessed with missing package - await expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'); - await expectFileToMatch('dist/test-project/main.js', '@tailwind base; @tailwind components;'); } diff --git a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3.ts b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3.ts index 032c45ceee05..d07c37d304f3 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3.ts @@ -4,11 +4,12 @@ import { ng, silentExec } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; export default async function () { - // Install Tailwind - await installPackage('tailwindcss@3'); + // Temporarily turn off caching until the build cache accounts for the presence of tailwind + // and its configuration file. Otherwise cached builds without tailwind will cause test failures. + await ng('cache', 'off'); // Create configuration file - await silentExec('npx', 'tailwindcss', 'init'); + await silentExec('npx', 'tailwindcss@3', 'init'); // Add Tailwind directives to a component style await writeFile('src/app/app.component.css', '@tailwind base; @tailwind components;'); @@ -16,6 +17,19 @@ export default async function () { // Add Tailwind directives to a global style await writeFile('src/styles.css', '@tailwind base; @tailwind components;'); + // Ensure installation warning is present + const { stderr } = await ng('build', '--configuration=development'); + if (!stderr.includes("To enable Tailwind CSS, please install the 'tailwindcss' package.")) { + throw new Error('Expected tailwind installation warning'); + } + + // Tailwind directives should be unprocessed with missing package + await expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'); + await expectFileToMatch('dist/test-project/main.js', '@tailwind base; @tailwind components;'); + + // Install Tailwind + await installPackage('tailwindcss@3'); + // Build should succeed and process Tailwind directives await ng('build', '--configuration=development'); @@ -37,19 +51,6 @@ export default async function () { await expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'); await expectFileToMatch('dist/test-project/main.js', '@tailwind base; @tailwind components;'); - // Recreate configuration file - await silentExec('npx', 'tailwindcss', 'init'); - // Uninstall Tailwind await uninstallPackage('tailwindcss'); - - // Ensure installation warning is present - const { stderr } = await ng('build', '--configuration=development'); - if (!stderr.includes("To enable Tailwind CSS, please install the 'tailwindcss' package.")) { - throw new Error('Expected tailwind installation warning'); - } - - // Tailwind directives should be unprocessed with missing package - await expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'); - await expectFileToMatch('dist/test-project/main.js', '@tailwind base; @tailwind components;'); } diff --git a/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts b/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts index 1078302590b8..426f8d5b61e5 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/version-specifier.ts @@ -1,5 +1,6 @@ +import { appendFile } from 'fs/promises'; import { expectFileToMatch, rimraf } from '../../../utils/fs'; -import { uninstallPackage } from '../../../utils/packages'; +import { getActivePackageManager, uninstallPackage } from '../../../utils/packages'; import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; @@ -7,6 +8,13 @@ export default async function () { // forcibly remove in case another test doesn't clean itself up. await rimraf('node_modules/@angular/localize'); + // If using npm, enable the force option to allow testing the output behavior of the + // `ng add` command itself and not the behavior of npm which may otherwise fail depending + // on the npm version in use and the version specifier supplied in each test. + if (getActivePackageManager() === 'npm') { + appendFile('.npmrc', '\nforce=true\n'); + } + const tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/localize${tag}`, '--skip-confirmation'); From aadcb8a2f9fa99e9c30eb6b769e2c7cdc8775001 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 18 May 2022 19:49:34 -0400 Subject: [PATCH 0413/1388] test: update Webpack app E2E test to use Angular v14 RC --- .../e2e/assets/webpack/test-app/package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json index 8613dbaa8c92..cb6d32e1fb7a 100644 --- a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json +++ b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json @@ -2,14 +2,14 @@ "name": "test", "license": "MIT", "dependencies": { - "@angular/common": "^13.1.0-next", - "@angular/compiler": "^13.1.0-next", - "@angular/compiler-cli": "^13.1.0-next", - "@angular/core": "^13.1.0-next", - "@angular/platform-browser": "^13.1.0-next", - "@angular/platform-browser-dynamic": "^13.1.0-next", - "@angular/platform-server": "^13.1.0-next", - "@angular/router": "^13.1.0-next", + "@angular/common": "^14.0.0-rc", + "@angular/compiler": "^14.0.0-rc", + "@angular/compiler-cli": "^14.0.0-rc", + "@angular/core": "^14.0.0-rc", + "@angular/platform-browser": "^14.0.0-rc", + "@angular/platform-browser-dynamic": "^14.0.0-rc", + "@angular/platform-server": "^14.0.0-rc", + "@angular/router": "^14.0.0-rc", "@ngtools/webpack": "0.0.0", "rxjs": "^6.6.7", "zone.js": "^0.11.4" @@ -17,7 +17,7 @@ "devDependencies": { "sass": "^1.32.8", "sass-loader": "^11.0.1", - "typescript": "~4.3.2", + "typescript": "~4.6.2", "webpack": "^5.27.0", "webpack-cli": "^4.5.0" } From 92d365b8791dadca776f706628cef561e9b2291d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 19 May 2022 06:10:09 +0000 Subject: [PATCH 0414/1388] build: update dependency less-loader to v11 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5d79e0cff7c1..92ebed415493 100644 --- a/package.json +++ b/package.json @@ -162,7 +162,7 @@ "karma-jasmine-html-reporter": "~1.7.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", - "less-loader": "10.2.0", + "less-loader": "11.0.0", "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 05bbb46b4fb2..3619648439ba 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -36,7 +36,7 @@ "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", - "less-loader": "10.2.0", + "less-loader": "11.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.6.0", diff --git a/yarn.lock b/yarn.lock index ad277ce25618..e9aa4d50d693 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7237,6 +7237,13 @@ less-loader@10.2.0: dependencies: klona "^2.0.4" +less-loader@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.0.0.tgz#a31b2bc5cdfb62f1c7de9b2d01cd944c22b1a024" + integrity sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw== + dependencies: + klona "^2.0.4" + less@4.1.2, less@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" From 6735b8372ae46b7b7f0d93c62865021e597a9a18 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 20 May 2022 00:27:26 +0000 Subject: [PATCH 0415/1388] build: update angular --- package.json | 24 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++---- yarn.lock | 96 +++++++++---------- 4 files changed, 78 insertions(+), 78 deletions(-) diff --git a/package.json b/package.json index 92ebed415493..39f1a57469f5 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.0-rc.0", + "@angular/animations": "14.0.0-rc.1", "@angular/cdk": "14.0.0-rc.0", - "@angular/common": "14.0.0-rc.0", - "@angular/compiler": "14.0.0-rc.0", - "@angular/compiler-cli": "14.0.0-rc.0", - "@angular/core": "14.0.0-rc.0", + "@angular/common": "14.0.0-rc.1", + "@angular/compiler": "14.0.0-rc.1", + "@angular/compiler-cli": "14.0.0-rc.1", + "@angular/core": "14.0.0-rc.1", "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574", - "@angular/forms": "14.0.0-rc.0", - "@angular/localize": "14.0.0-rc.0", + "@angular/forms": "14.0.0-rc.1", + "@angular/localize": "14.0.0-rc.1", "@angular/material": "14.0.0-rc.0", - "@angular/platform-browser": "14.0.0-rc.0", - "@angular/platform-browser-dynamic": "14.0.0-rc.0", - "@angular/platform-server": "14.0.0-rc.0", - "@angular/router": "14.0.0-rc.0", - "@angular/service-worker": "14.0.0-rc.0", + "@angular/platform-browser": "14.0.0-rc.1", + "@angular/platform-browser-dynamic": "14.0.0-rc.1", + "@angular/platform-server": "14.0.0-rc.1", + "@angular/router": "14.0.0-rc.1", + "@angular/service-worker": "14.0.0-rc.1", "@babel/core": "7.18.0", "@babel/generator": "7.18.0", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 928190034ec9..e77aed26404d 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-rc.0", - "@angular/compiler-cli": "14.0.0-rc.0", + "@angular/compiler": "14.0.0-rc.1", + "@angular/compiler-cli": "14.0.0-rc.1", "typescript": "4.7.1-rc", "webpack": "5.72.1" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 07685938d80e..ae9fe03dffe4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#031f0c0fea87619230ad7538c9643f542692f3ba", - "@angular/cdk": "github:angular/cdk-builds#ade1e09659d9eccb8700fa53176c0b994b2e969c", - "@angular/common": "github:angular/common-builds#65185868dcb09a2414834b33cbdaa87fbe4d3aed", - "@angular/compiler": "github:angular/compiler-builds#961ac87f148c9952cf75c675d8eab7d09ec4ee65", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#9b38f18cfecc3bc02214220191b9de52dffd2a6d", - "@angular/core": "github:angular/core-builds#c0c5dbe146d481b5ed123fc616e5cdf6b32abd10", - "@angular/forms": "github:angular/forms-builds#665f07dff3d19645f5b2e6f7ac0bb15e156ec55e", - "@angular/language-service": "github:angular/language-service-builds#5233001230bea22184b8c2387d69c957756f517a", - "@angular/localize": "github:angular/localize-builds#2f71b0eef9ca0d8dc154b62a7ba100c87acdabb6", - "@angular/material": "github:angular/material-builds#f443e0454e3e3b0b6670c10cd4c651c1292edf16", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4920e5e1a4e6fc1e4f3550fd6e82f185da76755c", - "@angular/platform-browser": "github:angular/platform-browser-builds#c226efaf5f95749cc44251ba730cb972957cf317", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#924c887fdf6616eadde99e3e781aad3762a977b3", - "@angular/platform-server": "github:angular/platform-server-builds#02e8e89473ecfcb6d64cae6b449b426186a472b8", - "@angular/router": "github:angular/router-builds#58029b3b65527cc6b8e957817496f978d5520c57", - "@angular/service-worker": "github:angular/service-worker-builds#581598b7db364b6f616fe854d1f7503474a06465" + "@angular/animations": "github:angular/animations-builds#a608388a35bc4a97f168d72ef7d2e8796543eca9", + "@angular/cdk": "github:angular/cdk-builds#8553520d6e5192445acdf91753954f5faf79888b", + "@angular/common": "github:angular/common-builds#a2fb09a0264aa67742f59916afd48561505af8b9", + "@angular/compiler": "github:angular/compiler-builds#72cef11b64165fb285e501f1431bddd8023d6de6", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#29f12c63426757d98c5f283efce1bda3b1469a65", + "@angular/core": "github:angular/core-builds#2a1e47927f2b03dbb7ba40c1dbb0d45ba9e28767", + "@angular/forms": "github:angular/forms-builds#45e79b65a18c97ad17de8f09573c57e1132bd109", + "@angular/language-service": "github:angular/language-service-builds#310f289efcf6b6b4d05c23d4344ddd67fe12b9fb", + "@angular/localize": "github:angular/localize-builds#8d5edebe87b527c0cae381f7ddab7ae1b46b804f", + "@angular/material": "github:angular/material-builds#94ea70623207abe07b63436056365af9ecbd4899", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9b38b28d73cd04b82d633e7b5baee96fa744b85f", + "@angular/platform-browser": "github:angular/platform-browser-builds#4b5ffb90d6dd36f4848705ede58e1a4052ee4aa7", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7af3bb1f7d38da442e8a8355479e7ff7e7b081f6", + "@angular/platform-server": "github:angular/platform-server-builds#481b7f5203c317d0308807981c6efdb922e8aef0", + "@angular/router": "github:angular/router-builds#0ad990f47c87e2b3601bf53daa19e15f9541fba7", + "@angular/service-worker": "github:angular/service-worker-builds#94d17d7ae615c766f79663112895b342fe40b5f1" } } diff --git a/yarn.lock b/yarn.lock index e9aa4d50d693..fda15fba3d0d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-rc.0.tgz#23b8757312bf9c7a59f773fd9241b6f275fb50c7" - integrity sha512-whVQwd9DvL5tO4qVluQ9NZdDMNSfMl5PEmqjSkOsyPQOTbvC6HV2iblHGW2p+wowuuCufcLEqhsSARc5ckpbAg== +"@angular/animations@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-rc.1.tgz#ec8cc6b89ee4cbd619e29dad569fec4a1747059c" + integrity sha512-PtcKFu2DZMFqGpHt72gY4Q2n5/NadFS+X6yz4LlD6bzbkMNw4lm1E6lQGCoShVp2lCyheqnjqslelloUm7/H2w== dependencies: tslib "^2.3.0" @@ -131,17 +131,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-rc.0.tgz#8f810b29f1f526d8ebae636e153bb916dfa41a94" - integrity sha512-CFG2gEwUqSMHucGG96ydENHKpU0nSjE2otQU6NTKy1CugawnI4zdZ9swLH8T6Vkj/AOwJ3udNvix2EdHx6qxcQ== +"@angular/common@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-rc.1.tgz#fb18005277f8e82d8c89f632962216fbff6dca26" + integrity sha512-1NQq4BguW12q7dhjhoM/ZxKBAw8FK4fnfaGspxrsxsPfjHmdYGpsUVw1NX3T6gg8HhjNO9sDGf288zyVWYvO1Q== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-rc.0.tgz#7fb5e3b5f3ae53f3a200a35be5aa091783dd1d33" - integrity sha512-XikkYOLUwNi5XOmfUxamyzmEtaukEYPFVK+hrNzb5afA6zgPAP2teRxfftgGQPWMbs15ZwKzmC9AeLfDH80TQQ== +"@angular/compiler-cli@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-rc.1.tgz#50202f36ecc67f840aa6b08cfc056f9204fba6c4" + integrity sha512-VL8wQBKpCi5Ydv9eM6OGlLlU/iWSPcsfIHv+kmJaiDV9iQtSdvCVx4oIMOrktXUtQ2jIR+5E4JanTJSDJ8cTXA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-rc.0.tgz#c7f52a64c278f6d01578625410754be05b4c446c" - integrity sha512-e4HZmYDssrAX8KffZVSjHri8YcJ/IMX4CobdN2a6lr0y+90u0eRrej0cM1z1WiA+8FlXxoJfzsG+ekZmDFghcg== +"@angular/compiler@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-rc.1.tgz#2d7f4e218fa623277187fab6edd66a27c6f679b7" + integrity sha512-nmZ7Jx1V2SP7QO1z4ioeNbkfa/ESOYxWPPNYwWXLHeAlkM7/eUVXf8PaxFhSpGU8p6XbB5fTJWwxE15/OIZR4w== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-rc.0.tgz#8a845866ff789502acd4359a606164835864e17d" - integrity sha512-VE2W2QagAUcxyHBqmEgKHdwfsTSpDfunpFePAq9PthPx80ov5M82Ou/dwGV71A26B7jgnMNlGdy9Wzb+43e2Dw== +"@angular/core@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-rc.1.tgz#33c54df14c1ee184118e121f9963edabc964a33f" + integrity sha512-8oHCigATWkY0WVKS5W1YVTqtvL74PFjjQdBi8wSTZwg9zxNoWCbOk1lHD7qD2XDx6Csv3UeSBoUvvUFjx4He8A== dependencies: tslib "^2.3.0" @@ -214,17 +214,17 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-rc.0.tgz#4483396efd7b5845750d490b9ece9015914bab33" - integrity sha512-QKdw56w8s0OWfJ7Xe1XBbK/xcTKUM5JLB3HZMPtkrym0iBDEqWrIyIdbxC4SIkAdpIk5w48TjftY8sEsKj9rkQ== +"@angular/forms@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-rc.1.tgz#b874a41dbfd37d85c2c931e651506d04c3043210" + integrity sha512-QS21iHoZaani1fNQVKesFp78/tin1ZshC88sa/r+WTUql8vas98snbPfUxUYY184TYXP/ipuH2clNks4wqD6WA== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-rc.0.tgz#624cb2c796e56aed585f2a4d40af7440fda20759" - integrity sha512-NQfI/iPQ2C+Nj4G/ZBl1kypkNiLjdC5wTkhoL2v15/tg9Yb21gYhVaUvHeE6mORmGVXwM3uJkWe1arJZGO2aIA== +"@angular/localize@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-rc.1.tgz#3bbaf8bda7dcc21c8c9a9dd934db93ede15d60b5" + integrity sha512-W8h7NYy1eqQo6gOzC2WChp9a1zauboP/1UKYXPWajbsZLVE8fLsoyKPrcPtcPl1ng9z/bttOkVr890u/qO4a4w== dependencies: "@babel/core" "7.17.9" glob "8.0.1" @@ -237,40 +237,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-rc.0.tgz#b38f81dc53912f7676598501836e3a615c3ea1a9" - integrity sha512-gsmERB9OvEl7ZblWftqs2Nhv+gGo+A69NUD1xMoe1I90lPQfV4Sg7IUtH94xBoTOJjJF1c1i47aLitK8JAy1kA== +"@angular/platform-browser-dynamic@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-rc.1.tgz#3ff82a4bb3596768b271dddd2bc5f60246a6bc50" + integrity sha512-SSXCWHp4XFVSZ80GpZ3onDQ/c51/MMpdSf+x/TCmmKfF7Q14vEAO9C0ZJz9DOpKXWzKx2cOVEC+2waKU5GRoaw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-rc.0.tgz#d23fa8457ee0805ec40788e2feb1218967b5484c" - integrity sha512-flktLHHH6byGasc1O1+yyNTtUWeNKJjzph+POum7udnT1BlsGRkkfStiAZBnpIplc5Z+r8VlGjz2DEgznqqRtQ== +"@angular/platform-browser@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-rc.1.tgz#2f79a2ebe56832a95f0bcb5f82ce9814fc0371da" + integrity sha512-a0d2ek7us5th9OSE7carSVi+Gbv90JB3tO2oNGcC6TF1n1TQIw/vivNXTnTFqDgPVUvbQ3mGnY2UO/8j4cArKg== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-rc.0.tgz#b525977e102216e984a85db268b692a8468d4835" - integrity sha512-alCVu41ng1PtjIDWzKF4sAGXTS5lUA181vgeQq5h81IrCDZ8eL4LkkKXFt7L+k99d6/icqE1t/lHpT7Mg/sz5w== +"@angular/platform-server@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-rc.1.tgz#53ed2c5731403b1da26b17110e3af8ed71dfb16c" + integrity sha512-3Mi+FbKD4NHnvLY18X8p2Xh9/+XPdmLJVEzZsfO2k0N2WG9Tl0rx2GHXxi5Pdv5LPps46ExUbBKejougKF4U3g== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-rc.0.tgz#b0f7d3ee6587852fd58a04e62f93d00533b6bf87" - integrity sha512-Onb23Ip5nMsQhFLwL2hzrYmqHNP6mHm4TnnCKA+7Nxdzo93lDHbdmT0bZKZCBQKnzmjj4WpGO8o6B851WrMX6A== +"@angular/router@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-rc.1.tgz#e0d296f7903ee85b62fc79696b0e0b2803f24178" + integrity sha512-OqJlpJlzlThk83FjkX12KgDi1h7IHdvFoHLWt7orRM9VcO3JXLHfocK7Y/3DS2NQveS9vZTj8YUGWZDmKiH7jA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-rc.0.tgz#57ae18bc54c997a799c2c9b6f91f0fca8bdc4dfd" - integrity sha512-+w7knG8PBC2bXQHTMeBqASbEZ7PrbBoYHN26AJl5UiGaOWWQkl3IZSKc2aZTllHkkaDKjwbrJ9mE+OttPb0Rzg== +"@angular/service-worker@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-rc.1.tgz#63d0ab9649f2ebd1dafe9dd1bfc6c82256c11ed3" + integrity sha512-Q1AOW9fBRGjo8+mHR3dT6Mls2DjD+ssVsAEDw1Fm6m2vP6dC2wQV+7Ylb6K/oAcTCxVLRHLepRMWaGXvqj/TdQ== dependencies: tslib "^2.3.0" From 22af6520834171d01413d4c7e4a9f13fb752252e Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 18 May 2022 18:21:00 -0700 Subject: [PATCH 0416/1388] test: do not depend on runtime resolution of @angular-devkit/core --- tests/legacy-cli/e2e_runner.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 1581aa5acb40..978b8f68d4dc 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -1,7 +1,5 @@ -// This may seem awkward but we're using Logger in our e2e. At this point the unit tests -// have run already so it should be "safe", teehee. -import { logging } from '@angular-devkit/core'; -import { createConsoleLogger } from '@angular-devkit/core/node'; +import { logging } from '../../packages/angular_devkit/core/src'; +import { createConsoleLogger } from '../../packages/angular_devkit/core/node'; import * as colors from 'ansi-colors'; import glob from 'glob'; import yargsParser from 'yargs-parser'; From 469d9ec24694fc43b4cfbbf77092e29c16363d06 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 19 May 2022 22:02:27 +0000 Subject: [PATCH 0417/1388] build: update dependency copy-webpack-plugin to v11 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 25 ++++++++++++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 39f1a57469f5..cd81585f1194 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "browserslist": "^4.9.1", "cacache": "16.1.0", "chokidar": "^3.5.2", - "copy-webpack-plugin": "10.2.4", + "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3619648439ba..4d1415a6bc97 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,7 +26,7 @@ "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "16.1.0", - "copy-webpack-plugin": "10.2.4", + "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", "esbuild-wasm": "0.14.39", diff --git a/yarn.lock b/yarn.lock index fda15fba3d0d..60cbc253a62a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4261,6 +4261,18 @@ copy-webpack-plugin@10.2.4: schema-utils "^4.0.0" serialize-javascript "^6.0.0" +copy-webpack-plugin@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + core-js-compat@^3.21.0, core-js-compat@^3.22.1: version "3.22.5" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.5.tgz#7fffa1d20cb18405bd22756ca1353c6f1a0e8614" @@ -5627,7 +5639,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.7, fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -6098,6 +6110,17 @@ globby@^12.0.2: merge2 "^1.4.1" slash "^4.0.0" +globby@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.1.tgz#7c44a93869b0b7612e38f22ed532bfe37b25ea6f" + integrity sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" From 688e32cd3d3db0bcbecbdbfeb402f394563be96d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 20 May 2022 10:37:17 +0000 Subject: [PATCH 0418/1388] build: update dependency sass to v1.52.0 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index cd81585f1194..69abe6d00db5 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.51.0", + "sass": "1.52.0", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4d1415a6bc97..5f0f57b52bfd 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.51.0", + "sass": "1.52.0", "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-loader": "3.0.1", diff --git a/yarn.lock b/yarn.lock index 60cbc253a62a..44bdb9abcc70 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9769,6 +9769,15 @@ sass@1.51.0, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.0.tgz#3dc755ff459858ce7062887181648701f028c4f5" + integrity sha512-6EnTglag2oVD8sNJCxUi2Jd3ICH9tJ5Mqudt/gIZNBR2uKJUBZuTpW9O1t04SkDLP7VFa76FCWTV2rwchqM8Kw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 From 1140d73e150ef625862fc4383ca25ab65a7367eb Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 20 May 2022 10:37:43 +0000 Subject: [PATCH 0419/1388] build: update dependency postcss-loader to v7 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 69abe6d00db5..44b497993a87 100644 --- a/package.json +++ b/package.json @@ -182,7 +182,7 @@ "popper.js": "^1.14.1", "postcss": "8.4.14", "postcss-import": "14.1.0", - "postcss-loader": "6.2.1", + "postcss-loader": "7.0.0", "postcss-preset-env": "7.6.0", "prettier": "^2.0.0", "protractor": "~7.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5f0f57b52bfd..81ec7cd9944e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -47,7 +47,7 @@ "piscina": "3.2.0", "postcss": "8.4.14", "postcss-import": "14.1.0", - "postcss-loader": "6.2.1", + "postcss-loader": "7.0.0", "postcss-preset-env": "7.6.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 44bdb9abcc70..b4f39d2bdf6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8785,6 +8785,15 @@ postcss-loader@6.2.1: klona "^2.0.5" semver "^7.3.5" +postcss-loader@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.0.tgz#367d10eb1c5f1d93700e6b399683a6dc7c3af396" + integrity sha512-IDyttebFzTSY6DI24KuHUcBjbAev1i+RyICoPEWcAstZsj03r533uMXtDn506l6/wlsRYiS5XBdx7TpccCsyUg== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.7" + postcss-logical@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" From 6cbb9413d00db70946421fb44dde218d3e9631dc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 20 May 2022 12:11:01 +0000 Subject: [PATCH 0420/1388] fix(@angular-devkit/build-angular): add debugging and timing information in JavaScript and CSS optimization plugins This can be useful to debug slow builds. Example of output ``` LOG from build-angular.JavaScriptOptimizerPlugin optimize asset: runtime.ad5c30339e926c89.js: 221.959564 ms optimize asset: polyfills.ec3ffae5bac27204.js: 1071.080092 ms optimize asset: main.aa8a15155ca2133f.js: 3391.588635 ms optimize js assets: 3483.799739 ms LOG from build-angular.CssOptimizerPlugin optimize asset: styles.d251c5bf54715558.css: 26.569907 ms optimize css assets: 34.441737 ms ``` ``` LOG from build-angular.JavaScriptOptimizerPlugin polyfills.ec3ffae5bac27204.js restored from cache. runtime.ad5c30339e926c89.js restored from cache. optimize asset: main.69fb55a243b46bfa.js: 2618.5191210000003 ms optimize js assets: 2721.226144 ms LOG from build-angular.CssOptimizerPlugin styles.d251c5bf54715558.css restored from cache. optimize css assets: 12.149169 ms ``` --- .../src/webpack/plugins/css-optimizer-plugin.ts | 8 ++++++++ .../src/webpack/plugins/javascript-optimizer-plugin.ts | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts index e87c611c91dc..bd1f6744d341 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts @@ -40,6 +40,8 @@ export class CssOptimizerPlugin { const { OriginalSource, SourceMapSource } = compiler.webpack.sources; compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => { + const logger = compilation.getLogger('build-angular.CssOptimizerPlugin'); + compilation.hooks.processAssets.tapPromise( { name: PLUGIN_NAME, @@ -48,6 +50,7 @@ export class CssOptimizerPlugin { async (compilationAssets) => { const cache = compilation.options.cache && compilation.getCache(PLUGIN_NAME); + logger.time('optimize css assets'); for (const assetName of Object.keys(compilationAssets)) { if (!/\.(?:css|scss|sass|less|styl)$/.test(assetName)) { continue; @@ -70,6 +73,7 @@ export class CssOptimizerPlugin { >(); if (cachedOutput) { + logger.debug(`${name} restored from cache`); await this.addWarnings(compilation, cachedOutput.warnings); compilation.updateAsset(name, cachedOutput.source, (assetInfo) => ({ ...assetInfo, @@ -82,12 +86,15 @@ export class CssOptimizerPlugin { const { source, map: inputMap } = styleAssetSource.sourceAndMap(); const input = typeof source === 'string' ? source : source.toString(); + const optimizeAssetLabel = `optimize asset: ${asset.name}`; + logger.time(optimizeAssetLabel); const { code, warnings, map } = await this.optimize( input, asset.name, inputMap, this.targets, ); + logger.timeEnd(optimizeAssetLabel); await this.addWarnings(compilation, warnings); @@ -104,6 +111,7 @@ export class CssOptimizerPlugin { warnings, }); } + logger.timeEnd('optimize css assets'); }, ); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts index b12c9613cc59..f3928ddcedd7 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts @@ -90,12 +90,15 @@ export class JavaScriptOptimizerPlugin { const { OriginalSource, SourceMapSource } = compiler.webpack.sources; compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => { + const logger = compilation.getLogger('build-angular.JavaScriptOptimizerPlugin'); + compilation.hooks.processAssets.tapPromise( { name: PLUGIN_NAME, stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_SIZE, }, async (compilationAssets) => { + logger.time('optimize js assets'); const scriptsToOptimize = []; const cache = compilation.options.cache && compilation.getCache('JavaScriptOptimizerPlugin'); @@ -123,6 +126,7 @@ export class JavaScriptOptimizerPlugin { >(); if (cachedOutput) { + logger.debug(`${name} restored from cache`); compilation.updateAsset(name, cachedOutput.source, (assetInfo) => ({ ...assetInfo, minimized: true, @@ -195,6 +199,8 @@ export class JavaScriptOptimizerPlugin { try { const tasks = []; for (const { name, code, map, cacheItem } of scriptsToOptimize) { + logger.time(`optimize asset: ${name}`); + tasks.push( workerPool .run({ @@ -215,6 +221,8 @@ export class JavaScriptOptimizerPlugin { minimized: true, })); + logger.timeEnd(`optimize asset: ${name}`); + return cacheItem?.storePromise({ source: optimizedAsset, }); @@ -233,6 +241,8 @@ export class JavaScriptOptimizerPlugin { } finally { void workerPool.destroy(); } + + logger.timeEnd('optimize js assets'); }, ); }); From fe3d8ca0b6433f7fd85c6adef3e1ce209e84783d Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Sat, 21 May 2022 20:31:03 +0000 Subject: [PATCH 0421/1388] build: update saucelabs key Update the saucelabs key for the newly generated key --- .circleci/env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/env.sh b/.circleci/env.sh index d24334473255..eef417500d18 100755 --- a/.circleci/env.sh +++ b/.circleci/env.sh @@ -22,7 +22,7 @@ setPublicVar PATH "${HOME}/.npm-global/bin:${PATH}"; # Define SauceLabs environment variables for CircleCI. #################################################################################################### setPublicVar SAUCE_USERNAME "angular-tooling"; -setSecretVar SAUCE_ACCESS_KEY "8c4ffce86ae6-c419-8ef4-0513-54267305"; +setSecretVar SAUCE_ACCESS_KEY "e05dabf6fe0e-2c18-abf4-496d-1d010490"; setPublicVar SAUCE_LOG_FILE /tmp/angular/sauce-connect.log setPublicVar SAUCE_READY_FILE /tmp/angular/sauce-connect-ready-file.lock setPublicVar SAUCE_PID_FILE /tmp/angular/sauce-connect-pid-file.lock From 076b601c23dd43fc41acd258c9c367bc7cdbc367 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 23 May 2022 08:14:53 +0000 Subject: [PATCH 0422/1388] fix(@angular-devkit/build-angular): close dev-server on error When running protractor, previously we didn't close the dev-server correctly when there was an error which caused the process to keep running following https://github.com/angular/angular-cli/pull/23166 --- .../src/builders/protractor/index.ts | 99 +++++++++---------- 1 file changed, 49 insertions(+), 50 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/protractor/index.ts b/packages/angular_devkit/build_angular/src/builders/protractor/index.ts index 4b8d7baa1937..7d5985e3d7da 100644 --- a/packages/angular_devkit/build_angular/src/builders/protractor/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/protractor/index.ts @@ -107,67 +107,66 @@ export async function execute( let baseUrl = options.baseUrl; let server; - if (options.devServerTarget) { - const target = targetFromTargetString(options.devServerTarget); - const serverOptions = await context.getTargetOptions(target); - - const overrides = { - watch: false, - liveReload: false, - } as DevServerBuilderOptions & json.JsonObject; - - if (options.host !== undefined) { - overrides.host = options.host; - } else if (typeof serverOptions.host === 'string') { - options.host = serverOptions.host; - } else { - options.host = overrides.host = 'localhost'; - } - if (options.port !== undefined) { - overrides.port = options.port; - } else if (typeof serverOptions.port === 'number') { - options.port = serverOptions.port; - } + try { + if (options.devServerTarget) { + const target = targetFromTargetString(options.devServerTarget); + const serverOptions = await context.getTargetOptions(target); + + const overrides = { + watch: false, + liveReload: false, + } as DevServerBuilderOptions & json.JsonObject; + + if (options.host !== undefined) { + overrides.host = options.host; + } else if (typeof serverOptions.host === 'string') { + options.host = serverOptions.host; + } else { + options.host = overrides.host = 'localhost'; + } - server = await context.scheduleTarget(target, overrides); - const result = await server.result; - if (!result.success) { - return { success: false }; - } + if (options.port !== undefined) { + overrides.port = options.port; + } else if (typeof serverOptions.port === 'number') { + options.port = serverOptions.port; + } - if (typeof serverOptions.publicHost === 'string') { - let publicHost = serverOptions.publicHost as string; - if (!/^\w+:\/\//.test(publicHost)) { - publicHost = `${serverOptions.ssl ? 'https' : 'http'}://${publicHost}`; + server = await context.scheduleTarget(target, overrides); + const result = await server.result; + if (!result.success) { + return { success: false }; + } + + if (typeof serverOptions.publicHost === 'string') { + let publicHost = serverOptions.publicHost; + if (!/^\w+:\/\//.test(publicHost)) { + publicHost = `${serverOptions.ssl ? 'https' : 'http'}://${publicHost}`; + } + const clientUrl = url.parse(publicHost); + baseUrl = url.format(clientUrl); + } else if (typeof result.baseUrl === 'string') { + baseUrl = result.baseUrl; + } else if (typeof result.port === 'number') { + baseUrl = url.format({ + protocol: serverOptions.ssl ? 'https' : 'http', + hostname: options.host, + port: result.port.toString(), + }); } - const clientUrl = url.parse(publicHost); - baseUrl = url.format(clientUrl); - } else if (typeof result.baseUrl === 'string') { - baseUrl = result.baseUrl; - } else if (typeof result.port === 'number') { - baseUrl = url.format({ - protocol: serverOptions.ssl ? 'https' : 'http', - hostname: options.host, - port: result.port.toString(), - }); } - } - // Like the baseUrl in protractor config file when using the API we need to add - // a trailing slash when provide to the baseUrl. - if (baseUrl && !baseUrl.endsWith('/')) { - baseUrl += '/'; - } + // Like the baseUrl in protractor config file when using the API we need to add + // a trailing slash when provide to the baseUrl. + if (baseUrl && !baseUrl.endsWith('/')) { + baseUrl += '/'; + } - try { return await runProtractor(context.workspaceRoot, { ...options, baseUrl }); } catch { return { success: false }; } finally { - if (server) { - await server.stop(); - } + await server?.stop(); } } From f66abe7a9b0959046d9bfcbab57bd62f70f1b893 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 23 May 2022 16:26:31 +0000 Subject: [PATCH 0423/1388] build: update angular to e99c683 --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++-- yarn.lock | 143 ++++++++---------- 6 files changed, 87 insertions(+), 96 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 45d0d0f596a2..da6ac6e24f7c 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2a50bf4f37f041d8b88c743fae45d09b400e917e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 6d86606154f6..495a8d06eaa4 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 + - uses: angular/dev-infra/github-actions/feature-request@2a50bf4f37f041d8b88c743fae45d09b400e917e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index cd55ab9a008a..9be2b637535f 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 + - uses: angular/dev-infra/github-actions/lock-closed@2a50bf4f37f041d8b88c743fae45d09b400e917e with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 44b497993a87..14edca61d6f7 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0-rc.1", "@angular/compiler-cli": "14.0.0-rc.1", "@angular/core": "14.0.0-rc.1", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b", "@angular/forms": "14.0.0-rc.1", "@angular/localize": "14.0.0-rc.1", "@angular/material": "14.0.0-rc.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index ae9fe03dffe4..e2c245fbd967 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#a608388a35bc4a97f168d72ef7d2e8796543eca9", - "@angular/cdk": "github:angular/cdk-builds#8553520d6e5192445acdf91753954f5faf79888b", - "@angular/common": "github:angular/common-builds#a2fb09a0264aa67742f59916afd48561505af8b9", - "@angular/compiler": "github:angular/compiler-builds#72cef11b64165fb285e501f1431bddd8023d6de6", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#29f12c63426757d98c5f283efce1bda3b1469a65", - "@angular/core": "github:angular/core-builds#2a1e47927f2b03dbb7ba40c1dbb0d45ba9e28767", - "@angular/forms": "github:angular/forms-builds#45e79b65a18c97ad17de8f09573c57e1132bd109", - "@angular/language-service": "github:angular/language-service-builds#310f289efcf6b6b4d05c23d4344ddd67fe12b9fb", - "@angular/localize": "github:angular/localize-builds#8d5edebe87b527c0cae381f7ddab7ae1b46b804f", - "@angular/material": "github:angular/material-builds#94ea70623207abe07b63436056365af9ecbd4899", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#9b38b28d73cd04b82d633e7b5baee96fa744b85f", - "@angular/platform-browser": "github:angular/platform-browser-builds#4b5ffb90d6dd36f4848705ede58e1a4052ee4aa7", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7af3bb1f7d38da442e8a8355479e7ff7e7b081f6", - "@angular/platform-server": "github:angular/platform-server-builds#481b7f5203c317d0308807981c6efdb922e8aef0", - "@angular/router": "github:angular/router-builds#0ad990f47c87e2b3601bf53daa19e15f9541fba7", - "@angular/service-worker": "github:angular/service-worker-builds#94d17d7ae615c766f79663112895b342fe40b5f1" + "@angular/animations": "github:angular/animations-builds#e99c6838958d3de4203156038d212a14e4f4210e", + "@angular/cdk": "github:angular/cdk-builds#5830628547e74fe2a536431974406c22209beb0c", + "@angular/common": "github:angular/common-builds#3aa94ce5a9cc9a3d60e1cb583a4ecf0d194c5040", + "@angular/compiler": "github:angular/compiler-builds#269e166fcb17cc72026a7b2dfcb080339cae9b2d", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#989782f5d072c1ec5a7614c19096f946f5c6866a", + "@angular/core": "github:angular/core-builds#6cc15b98ec4924841a8191f4f8e1728a5af6bfb9", + "@angular/forms": "github:angular/forms-builds#9b1d564aab2ef4926eed50852d9073cfe6f8a27f", + "@angular/language-service": "github:angular/language-service-builds#344b659ec1056d1999ac2fa8f7be3e3d9ca25baf", + "@angular/localize": "github:angular/localize-builds#c6a0318e14690f4296a9b2fee065db85e0f71b16", + "@angular/material": "github:angular/material-builds#45aa4fb3df76d643fd12be5b200b9c666061f8cf", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#94a5ff75ba741536459fb3fce9057988c1d26c67", + "@angular/platform-browser": "github:angular/platform-browser-builds#8356590dcfe4e3085c1d1af434113ea2420d7da0", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#63f7585cfca3c5832ee6ed643ff4846681f9e520", + "@angular/platform-server": "github:angular/platform-server-builds#79654af2adac25d2f2947207b372cb1b07b55299", + "@angular/router": "github:angular/router-builds#163ad92bdccddf1bb98eadfa4306da8ebb22b2a4", + "@angular/service-worker": "github:angular/service-worker-builds#698e5b7ae190d3253aca9ec8928bf945a39d3297" } } diff --git a/yarn.lock b/yarn.lock index b4f39d2bdf6c..fa9142864b56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0-rc.0": - version "0.1400.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.0.tgz#c8bfa715fbf6d8519ef1b29fdf944eebf5be97af" - integrity sha512-3hB8TDikKJWC33DDLxaU9LcWRUczRr9HHvoM07RWv1KZT4nARZyTBrITw/pVLIjnZBrrUCgi/+7JJYnaq2siiw== +"@angular-devkit/architect@0.1400.0-rc.1": + version "0.1400.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.1.tgz#625eb39870027edca3b83262fe9f9d84bfc0aeee" + integrity sha512-mr+K42ohs8fHTkinvf3/11XtpCbBwoK0AFT7tISnBlni1h/TkAoWPWjcLhnnUAAqAB3vA5t3oqgjxojdnJij9g== dependencies: - "@angular-devkit/core" "14.0.0-rc.0" + "@angular-devkit/core" "14.0.0-rc.1" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.0.tgz#afdf40a480ba42502188855f1eef20d8fe64b033" - integrity sha512-FXouSKnnH5tIgQd4QINSqbW1hrRng1pFJFroG1y3s0GXTzIJtCbw/yWlUzB4FY+iTyUFGec9qSn5anXYbiX7Nw== +"@angular-devkit/build-angular@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.1.tgz#1df00720712797c931687b64668dd634d11758ec" + integrity sha512-NjN/0IKRPRoUkUFQQlHhjk8aJ2Fcfv5C/whCKWqaN/kE7IDlCVEIT7ohrHgXPhkiDmVlJXX1QdaYfzgkXKErTA== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1400.0-rc.0" - "@angular-devkit/build-webpack" "0.1400.0-rc.0" - "@angular-devkit/core" "14.0.0-rc.0" + "@angular-devkit/architect" "0.1400.0-rc.1" + "@angular-devkit/build-webpack" "0.1400.0-rc.1" + "@angular-devkit/core" "14.0.0-rc.1" "@babel/core" "7.17.10" "@babel/generator" "7.17.10" "@babel/helper-annotate-as-pure" "7.16.7" @@ -37,7 +37,7 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-rc.0" + "@ngtools/webpack" "14.0.0-rc.1" ansi-colors "4.1.1" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.38" -"@angular-devkit/build-webpack@0.1400.0-rc.0": - version "0.1400.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.0.tgz#afc49d9712e2d16e2237bf6cd15dac8f4cd12b3c" - integrity sha512-Djxvs1rDoo6Na67AhoCkE31dd9oWegHwIK1MdMtJKGa3XmioecGgpPd1TcC91VCmf7HfJdkfUdESZEDabBG7+w== +"@angular-devkit/build-webpack@0.1400.0-rc.1": + version "0.1400.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.1.tgz#69107ea2297fc97d406af8586f0d9076e5453e58" + integrity sha512-4QZTYzF6a7953NI6FnhwxRq5TOyvjd5lB7yCX4NJ+3AD7wOcEaM1of832hUGAUkH0yPT/HrygT4Nclw4/98ySA== dependencies: - "@angular-devkit/architect" "0.1400.0-rc.0" + "@angular-devkit/architect" "0.1400.0-rc.1" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.0.tgz#939ccf7be5de6e9ab4ca950b1badb473a2dbebd0" - integrity sha512-c8KisTqWzOPzHC0UxMO3Mt8ZtoS85CqgSit/mCykY79M63mGZWs9FpOjw0/qv+4gzl2C3A9eIGJMP7POFglozw== +"@angular-devkit/core@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.1.tgz#f85d213c8e2617f948bb3e8e0767aa2865cbd598" + integrity sha512-Zb+Qnrq44xYgF3W0E8IsyzyPlS26JpD/Mpa28kPMELlI3id9qKJsmpvBjtklcjJG9MKQpRpigwhH21u++6I3+g== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -175,22 +175,22 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574": - version "0.0.0-2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86" - uid ce1d7f6c62ff0f9569791d78920c3628c56b4574 - resolved "https://github.com/angular/dev-infra-private-builds.git#ce1d7f6c62ff0f9569791d78920c3628c56b4574" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b": + version "0.0.0-2a50bf4f37f041d8b88c743fae45d09b400e917e" + uid "6ee7dd89d71cbdfbd9144e1b84f2090b445e180b" + resolved "https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b" dependencies: - "@angular-devkit/build-angular" "14.0.0-rc.0" + "@angular-devkit/build-angular" "14.0.0-rc.1" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.4.2" - "@bazel/esbuild" "5.4.2" - "@bazel/protractor" "5.4.2" - "@bazel/runfiles" "5.4.2" - "@bazel/terser" "5.4.2" - "@bazel/typescript" "5.4.2" - "@microsoft/api-extractor" "7.23.2" + "@bazel/concatjs" "5.5.0" + "@bazel/esbuild" "5.5.0" + "@bazel/protractor" "5.5.0" + "@bazel/runfiles" "5.5.0" + "@bazel/terser" "5.5.0" + "@bazel/typescript" "5.5.0" + "@microsoft/api-extractor" "7.24.1" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -1704,15 +1704,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.4.2.tgz#2ec0943b50e229a163a277a6de2cc38aeb852e14" - integrity sha512-MoQfmY+6N8RCgqDI2+bRuD+I0p3CLI1JCYZZNSnbZySv1SnT5oQHxoerojEYwyOmsS5sUt2sR8uGtMYZSdoycQ== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.0.tgz#e6104ed70595cae59463ae6b0b5389252566221e" @@ -1722,10 +1713,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.4.2.tgz#07b46fd7b10667b6e56b94df2c316c19de17ab33" - integrity sha512-k1ZJzFlpfzTcJyHvVxSoOmiPwWNmJSVE0A2ygtXlyB4/dTnGAC6vcX03ECXovd+wk8py/DuFQDb6Xpv6RnWtAg== +"@bazel/esbuild@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.0.tgz#51cff0a3f1da93c17cffe3fc52132e25d9aa14b8" + integrity sha512-kKB1XupmjPJD2R/JpVz5pQWnSVw6j3HF7gGJhoTzbplqqL7jQLfJLWRKmg286vkNe/g6EGrDG1ONN7dF3DT7lQ== "@bazel/jasmine@5.5.0": version "5.5.0" @@ -1735,36 +1726,36 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.4.2.tgz#4b29920445ab2d87769340551df92e70b43e33a3" - integrity sha512-uW4aDbQZfa+Y2qCbg59sndZROMpcv7Hg0i1ijkU98GiWS+vYaJyWQQUzyWPL3jWZXf8UIJbgyIEmneB4s13gjw== +"@bazel/protractor@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.0.tgz#d2a0134e91fad9c60c5835bbce99974245315559" + integrity sha512-8lXEtjfb77Hku6CdJpUlCCHq4BoXiLMQzW0uJuSGYSZd9oBsHU6u++YrM27Ds/xN8VzsUf4jKBecRpchM3ZOmQ== -"@bazel/runfiles@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.4.2.tgz#85d6ee8ab99c8a1ebe7b320b2bc452135c2ff30f" - integrity sha512-FfX+GeoeBcFP7JfsZN0T3cfFOpi80Nf9W9/g2U5pjcYay2Q06fmj3Fi3SVg+iyzjo+cbW9Sw/F3otCsvvZYPiw== +"@bazel/runfiles@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.0.tgz#01647efbef624be2eb80d297fa20cdedaed23338" + integrity sha512-sFEPFhIkDH//98O71WlT/PJPPi7sNeuA+O0wH312QfNdtgnSpNr7CGwfr0JEztwGn2zC16C119fnzra569Y1Uw== -"@bazel/terser@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.4.2.tgz#c3ecf9be0c6c589bc981e67d0af2457d5a596e2a" - integrity sha512-bQFbsxaUTu0vhVCX+P6yY1t/Fg9vo/irOcB3OzX1iTBBS1eDK36fChMx6sFQu6QD5yq7zZxzpb6YH3RyPyri9w== +"@bazel/terser@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.0.tgz#3b2b582a417d99d59ae99b50d74576ca0719c03a" + integrity sha512-aBjNmJ7TbcD7cKAdFErYQYXn4OqTvrmqrtN6Z6Wnv82d+23kbEsF427ixgdCO3GTQJDw7+x7K9TP2CGogaGtcg== -"@bazel/typescript@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.4.2.tgz#73ff56d124841eeb3e55aa10c146d9cc25b0e973" - integrity sha512-QtCNPJHEeJhVGnRijRxzA3bUaY5mpURJ/Ss4QCjNTyJXbJAQ+F05LiEeFmxlhvouRXy4lW4/4EIhfucZ9YG5tw== +"@bazel/typescript@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.0.tgz#053c255acb1b3cac23d24984cd8d5d5542fe1f7c" + integrity sha512-Ord0+nCj+B1M4NDbe0uqZf2FyOCzaDAlc4DAsr5UKJrArCipIbMTEAxlsEk+WAYBNAFGO/FS9/zlDtLceqpHqw== dependencies: - "@bazel/worker" "5.4.2" + "@bazel/worker" "5.5.0" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.4.2": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.4.2.tgz#b5229140c2087b7f3977ee671624f3c65c6a46a4" - integrity sha512-wQZ1ybgiCPkuITaiPfh91zB/lBYqBglf1XYh9hJZCQnWZ+oz9krCnZcywI/i1U9/E9p3A+4Y1ni5akAwTMmfUA== +"@bazel/worker@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.0.tgz#d30b75e46f2052d33bcda251b328d36655a5636f" + integrity sha512-pYfjJKg4D1CQ/AJ1UGC5ySyH09gDqNiBrQJ0uMYVewIBW24uOAkKsJfTE2y4ES0UL1Ik758WO0la0mJeFOKScg== dependencies: google-protobuf "^3.6.1" @@ -2007,10 +1998,10 @@ "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.5" -"@microsoft/api-extractor@7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.23.2.tgz#fb3c4a94751ba6759b8038d3405dda5da17c82b1" - integrity sha512-0LABOAmsHDomKihjoqLvY0mR1dh7R7fqB0O6qrjqAgQGBPxlRJCDH1tzFzlDS2OdeCxhMtFB3xd8EAr44huujg== +"@microsoft/api-extractor@7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.24.1.tgz#cbbe32a5f4f32717b60f593cdc172b99e5c76fae" + integrity sha512-RjcKRvKRAtTK4z8UdC2qYsvgTYHEYvdsqF4QGoX4mNAVo7s6Jj4zcHtSrMEQMTUHujZbSd5+ihI5ktISp338mQ== dependencies: "@microsoft/api-extractor-model" "7.17.3" "@microsoft/tsdoc" "0.14.1" @@ -2040,10 +2031,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.0.tgz#2580f68868fd1951eefad05acd4e7d77a250511c" - integrity sha512-WZ8gJ6/PtdrjsEnCOe3KBy8J1PLyozIEiD2BoRvvCfn6DZ3OK0/VpBoTCQf8CiKffeKbEPZh84UITD/rKDzwmQ== +"@ngtools/webpack@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.1.tgz#1188257876a7c6e40cde7f017729a5f1cb89274a" + integrity sha512-9CqEafLlZD09eqcu1a/rZjiglyBD0ufve8U87kBwOFc7ezWfWi+GLmAIdm3qdTQDcrthqZTKBOugCnxItiJLtA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From a465c5c11b2159c056746ec82d740cf9ad86b85b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 23 May 2022 10:43:45 +0000 Subject: [PATCH 0424/1388] build: lock file maintenance --- yarn.lock | 792 ++++++++++++++---------------------------------------- 1 file changed, 209 insertions(+), 583 deletions(-) diff --git a/yarn.lock b/yarn.lock index fa9142864b56..57970cf99c1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -169,9 +169,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.3.8" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.8.tgz#3ebe8bc18ee18fa79472e1247219d3e3adb52a12" - integrity sha512-FGQ+fvTm0QnNBKBamTJSzfBnxn+/gVBHT+2gpQtpax4LFP/6Z05N3AsJ2ZwM9mJwT4MH1HsEVJcXZCy7xXUXhg== + version "13.3.9" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.9.tgz#6be6f79efd7d85bbd014d100da4227fe43d5ae75" + integrity sha512-LaY3yBDgN/efG11x/cwVeuC4gUG3YUMmk/sgAP3L1VGawYOiKoJ76decFpy6y4UgYPShQQRzpZQEVXF405jrLg== dependencies: tslib "^2.3.0" @@ -286,12 +286,12 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.10": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== -"@babel/core@7.17.10", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== @@ -333,7 +333,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.0": +"@babel/core@7.18.0", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.0.tgz#c58d04d7c6fbfb58ea7681e2b9145cfb62726756" integrity sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw== @@ -354,7 +354,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.17.10", "@babel/generator@^7.17.10", "@babel/generator@^7.17.9": +"@babel/generator@7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== @@ -363,7 +363,7 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" -"@babel/generator@7.18.0", "@babel/generator@^7.18.0": +"@babel/generator@7.18.0", "@babel/generator@^7.17.10", "@babel/generator@^7.17.9", "@babel/generator@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.0.tgz#46d28e8a18fc737b028efb25ab105d74473af43f" integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== @@ -397,19 +397,6 @@ browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" - integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" @@ -423,15 +410,7 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" -"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" - integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" - -"@babel/helper-create-regexp-features-plugin@^7.17.12": +"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== @@ -496,21 +475,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-module-transforms@^7.18.0": +"@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== @@ -531,12 +496,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-plugin-utils@^7.17.12": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== @@ -602,16 +562,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" - integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" - -"@babel/helpers@^7.18.0": +"@babel/helpers@^7.17.9", "@babel/helpers@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.0.tgz#aff37c3590de42102b54842446146d0205946370" integrity sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg== @@ -621,48 +572,27 @@ "@babel/types" "^7.18.0" "@babel/highlight@^7.16.7": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" - integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" + integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.17.9": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78" - integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ== - -"@babel/parser@^7.18.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.17.9", "@babel/parser@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.0.tgz#10a8d4e656bc01128d299a787aa006ce1a91e112" integrity sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== @@ -671,7 +601,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.17.12" -"@babel/plugin-proposal-async-generator-functions@7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.16.8": +"@babel/plugin-proposal-async-generator-functions@7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== @@ -680,7 +610,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.17.12": +"@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== @@ -689,15 +619,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-class-properties@^7.17.12": +"@babel/plugin-proposal-class-properties@^7.16.7", "@babel/plugin-proposal-class-properties@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== @@ -705,16 +627,7 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-class-static-block@^7.17.6": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" - integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.6" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-class-static-block@^7.18.0": +"@babel/plugin-proposal-class-static-block@^7.17.6", "@babel/plugin-proposal-class-static-block@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== @@ -731,15 +644,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.17.12": +"@babel/plugin-proposal-export-namespace-from@^7.16.7", "@babel/plugin-proposal-export-namespace-from@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== @@ -747,15 +652,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.17.12": +"@babel/plugin-proposal-json-strings@^7.16.7", "@babel/plugin-proposal-json-strings@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== @@ -763,15 +660,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7", "@babel/plugin-proposal-logical-assignment-operators@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== @@ -779,15 +668,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== @@ -803,18 +684,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" - integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== - dependencies: - "@babel/compat-data" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - -"@babel/plugin-proposal-object-rest-spread@^7.18.0": +"@babel/plugin-proposal-object-rest-spread@^7.17.3", "@babel/plugin-proposal-object-rest-spread@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== @@ -833,16 +703,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.17.12": +"@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== @@ -851,15 +712,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-private-methods@^7.17.12": +"@babel/plugin-proposal-private-methods@^7.16.11", "@babel/plugin-proposal-private-methods@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== @@ -867,17 +720,7 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-private-property-in-object@^7.17.12": +"@babel/plugin-proposal-private-property-in-object@^7.16.7", "@babel/plugin-proposal-private-property-in-object@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== @@ -887,15 +730,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-unicode-property-regex@^7.17.12": +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== @@ -1008,21 +843,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-arrow-functions@^7.17.12": +"@babel/plugin-transform-arrow-functions@^7.16.7", "@babel/plugin-transform-arrow-functions@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-async-to-generator@7.16.8", "@babel/plugin-transform-async-to-generator@^7.16.8": +"@babel/plugin-transform-async-to-generator@7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== @@ -1031,7 +859,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.17.12": +"@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.16.8", "@babel/plugin-transform-async-to-generator@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== @@ -1047,35 +875,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.17.12": +"@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz#68fc3c4b3bb7dfd809d97b7ed19a584052a2725c" integrity sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.17.12": +"@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz#da889e89a4d38375eeb24985218edeab93af4f29" integrity sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw== @@ -1089,28 +896,14 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-computed-properties@^7.17.12": +"@babel/plugin-transform-computed-properties@^7.16.7", "@babel/plugin-transform-computed-properties@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-destructuring@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" - integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-destructuring@^7.18.0": +"@babel/plugin-transform-destructuring@^7.17.7", "@babel/plugin-transform-destructuring@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== @@ -1125,14 +918,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-duplicate-keys@^7.17.12": +"@babel/plugin-transform-duplicate-keys@^7.16.7", "@babel/plugin-transform-duplicate-keys@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== @@ -1147,17 +933,10 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-for-of@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.17.12.tgz#5397c22554ec737a27918e7e7e0e7b679b05f5ec" - integrity sha512-76lTwYaCxw8ldT7tNmye4LLwSoKDbRCBzu6n/DcK/P3FOR29+38CIIaVIZfwol9By8W/QHORYEnYSLuvcQKrsg== +"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.17.12": + version "7.18.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" + integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== dependencies: "@babel/helper-plugin-utils" "^7.17.12" @@ -1170,14 +949,7 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-literals@^7.17.12": +"@babel/plugin-transform-literals@^7.16.7", "@babel/plugin-transform-literals@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== @@ -1191,16 +963,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-amd@^7.18.0": +"@babel/plugin-transform-modules-amd@^7.16.7", "@babel/plugin-transform-modules-amd@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== @@ -1209,17 +972,7 @@ "@babel/helper-plugin-utils" "^7.17.12" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" - integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw== - dependencies: - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.0": +"@babel/plugin-transform-modules-commonjs@^7.17.9", "@babel/plugin-transform-modules-commonjs@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.0.tgz#3be575e19fbd273d42adbc84566b1fad3582b3db" integrity sha512-cCeR0VZWtfxWS4YueAK2qtHtBPJRSaJcMlbS8jhSIm/A3E2Kpro4W1Dn4cqJtp59dtWfXjQwK7SPKF8ghs7rlw== @@ -1229,18 +982,7 @@ "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" - integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== - dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.18.0": +"@babel/plugin-transform-modules-systemjs@^7.17.8", "@babel/plugin-transform-modules-systemjs@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz#50ecdb43de97c8483824402f7125edb94cddb09a" integrity sha512-vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ== @@ -1251,15 +993,7 @@ "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-modules-umd@^7.18.0": +"@babel/plugin-transform-modules-umd@^7.16.7", "@babel/plugin-transform-modules-umd@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== @@ -1267,14 +1001,7 @@ "@babel/helper-module-transforms" "^7.18.0" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz#715dbcfafdb54ce8bccd3d12e8917296a4ba66a4" - integrity sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": +"@babel/plugin-transform-named-capturing-groups-regex@^7.17.10", "@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== @@ -1282,14 +1009,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-new-target@^7.17.12": +"@babel/plugin-transform-new-target@^7.16.7", "@babel/plugin-transform-new-target@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== @@ -1304,14 +1024,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-parameters@^7.17.12": +"@babel/plugin-transform-parameters@^7.16.7", "@babel/plugin-transform-parameters@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== @@ -1325,14 +1038,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz#0a33c3a61cf47f45ed3232903683a0afd2d3460c" - integrity sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ== - dependencies: - regenerator-transform "^0.15.0" - -"@babel/plugin-transform-regenerator@^7.18.0": +"@babel/plugin-transform-regenerator@^7.17.9", "@babel/plugin-transform-regenerator@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== @@ -1340,14 +1046,7 @@ "@babel/helper-plugin-utils" "^7.17.12" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-reserved-words@^7.17.12": +"@babel/plugin-transform-reserved-words@^7.16.7", "@babel/plugin-transform-reserved-words@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== @@ -1385,15 +1084,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-spread@^7.17.12": +"@babel/plugin-transform-spread@^7.16.7", "@babel/plugin-transform-spread@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== @@ -1408,28 +1099,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-template-literals@^7.17.12": +"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz#4aec0a18f39dd86c442e1d077746df003e362c6e" integrity sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typeof-symbol@^7.17.12": +"@babel/plugin-transform-typeof-symbol@^7.16.7", "@babel/plugin-transform-typeof-symbol@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== @@ -1623,14 +1300,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.9", "@babel/runtime@^7.8.4": +"@babel/runtime@7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.18.0": +"@babel/runtime@7.18.0", "@babel/runtime@^7.8.4": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.0.tgz#6d77142a19cb6088f0af662af1ada37a604d34ae" integrity sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg== @@ -1646,23 +1323,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5" - integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.10" - "@babel/types" "^7.17.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.18.0": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.9", "@babel/traverse@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.0.tgz#0e5ec6db098660b2372dd63d096bf484e32d27ba" integrity sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw== @@ -1678,15 +1339,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4" - integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.0": +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.18.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.0.tgz#ef523ea349722849cb4bf806e9342ede4d071553" integrity sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw== @@ -1769,22 +1422,17 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" - integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: - "@cspotcode/source-map-consumer" "0.8.0" + "@jridgewell/trace-mapping" "0.3.9" "@csstools/postcss-cascade-layers@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.1.tgz#a41b391f1cd4dd952efc638cbad1d64509478d04" - integrity sha512-IpGtKHZ6XFj2cpRp9i45V/+fpcPv/W6Eybw7sFpqyVeCEH7UttHhrbop6JACESOhOYc/onTRb3tchHo/g3K4TA== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.2.tgz#7c48b5f773c4cdcdc6b57d6099fbdc2332e12219" + integrity sha512-n5fSd3N/RTLjwC6TLnHjlVEt5tRg6S6Pu+LpRgXayX0QVJHvlMzE3+R12cd2F0we8WB4OE8o5r5iWgmBPpqUyQ== dependencies: "@csstools/selector-specificity" "^1.0.0" postcss-selector-parser "^6.0.10" @@ -1804,14 +1452,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-hwb-function@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.0.tgz#d6785c1c5ba8152d1d392c66f3a6a446c6034f6d" - integrity sha512-VSTd7hGjmde4rTj1rR30sokY3ONJph1reCBTUXqeW1fKwETPy1x4t/XIeaaqbMbC5Xg4SM/lyXZ2S8NELT2TaA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^1.0.1": +"@csstools/postcss-hwb-function@^1.0.0", "@csstools/postcss-hwb-function@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.1.tgz#5224db711ed09a965f85c80c18144ac1c2702fce" integrity sha512-AMZwWyHbbNLBsDADWmoXT9A5yl5dsGEBeJSJRUJt8Y9n8Ziu7Wstt4MC8jtPW7xjcLecyfJwtnUTNSmOzcnWeg== @@ -1826,15 +1467,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.3.tgz#98c827ca88598e598dcd726a9d9e21e0475eb487" - integrity sha512-wMQ3GMWrJyRQfvBJsD38ndF/nwHT32xevSn8w2X+iCoWqmhhoj0K7HgdGW8XQhah6sdENBa8yS9gRosdezaQZw== - dependencies: - "@csstools/selector-specificity" "^1.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-is-pseudo-class@^2.0.4": +"@csstools/postcss-is-pseudo-class@^2.0.2", "@csstools/postcss-is-pseudo-class@^2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.4.tgz#6e8b49b96a7d3346d5316bd773dcff9c983b4183" integrity sha512-T2Tmr5RIxkCEXxHwMVyValqwv3h5FTJPpmU8Mq/HDV+TY6C9srVaNMiMG/sp0QaxUnVQQrnXsuLU+1g2zrLDcQ== @@ -1887,14 +1520,14 @@ integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@eslint/eslintrc@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.3.tgz#fcaa2bcef39e13d6e9e7f6271f4cc7cae1174886" - integrity sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" + integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== dependencies: ajv "^6.12.4" debug "^4.3.2" espree "^9.3.2" - globals "^13.9.0" + globals "^13.15.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -1968,6 +1601,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.9": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" @@ -2534,9 +2175,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.33.tgz#3c1879b276dc63e73030bb91165e62a4509cd506" - integrity sha512-miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ== + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.35.tgz#635b7586086d51fb40de0a2ec9d1014a5283ba4a" + integrity sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg== "@types/node@12.20.24": version "12.20.24" @@ -3242,16 +2883,11 @@ ansi-colors@4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@4.1.3: +ansi-colors@4.1.3, ansi-colors@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-colors@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.2.tgz#e33debb85260fbe4ed8f00f1e0c282516109795e" - integrity sha512-cEG18jjLG0O74o/33eEfnmtXYDEY196ZjL0eQEISULF+Imi7vr25l6ntGYmqS5lIrQIEeze+CqUtPVItywE7ZQ== - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -3426,16 +3062,18 @@ async-each-series@0.1.1: resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" integrity sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ== -async@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - async@3.2.3, async@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== +async@^2.6.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3686,20 +3324,21 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-sync-client@^2.27.9: - version "2.27.9" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.9.tgz#3a4bff71d1d657dff6106ac234a6bf24c724a9d3" - integrity sha512-FHW8kydp7FXo6jnX3gXJCpHAHtWNLK0nx839nnK+boMfMI1n4KZd0+DmTxHBsHsF3OHud4V4jwoN8U5HExMIdQ== +browser-sync-client@^2.27.10: + version "2.27.10" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.10.tgz#f06233ea66bd873b96664f001cbc49035022634d" + integrity sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ== dependencies: etag "1.8.1" fresh "0.5.2" mitt "^1.1.3" rxjs "^5.5.6" + typescript "^4.6.2" -browser-sync-ui@^2.27.9: - version "2.27.9" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.9.tgz#53253383a6d8cbc921c85f290fa330fdb449d76b" - integrity sha512-rsduR2bRIwFvM8CX6iY/Nu5aWub0WB9zfSYg9Le/RV5N5DEyxJYey0VxdfWCnzDOoelassTDzYQo+r0iJno3qw== +browser-sync-ui@^2.27.10: + version "2.27.10" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz#59dd6e436e17b743c99094ff5129306ab7ab5b79" + integrity sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw== dependencies: async-each-series "0.1.1" connect-history-api-fallback "^1" @@ -3709,12 +3348,12 @@ browser-sync-ui@^2.27.9: stream-throttle "^0.1.3" browser-sync@^2.27.7: - version "2.27.9" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.9.tgz#e0555cb44bd5ede00685e70e108b393d2966874a" - integrity sha512-3zBtggcaZIeU9so4ja9yxk7/CZu9B3DOL6zkxFpzHCHsQmkGBPVXg61jItbeoa+WXgNLnr1sYES/2yQwyEZ2+w== + version "2.27.10" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.10.tgz#3568d4f66afb0f68fee4a10902ecbbe8b2f680dd" + integrity sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw== dependencies: - browser-sync-client "^2.27.9" - browser-sync-ui "^2.27.9" + browser-sync-client "^2.27.10" + browser-sync-ui "^2.27.10" bs-recipes "1.3.4" bs-snippet-injector "^2.0.1" chokidar "^3.5.1" @@ -3731,7 +3370,7 @@ browser-sync@^2.27.7: localtunnel "^2.0.1" micromatch "^4.0.2" opn "5.3.0" - portscanner "2.1.1" + portscanner "2.2.0" qs "6.2.3" raw-body "^2.3.2" resp-modifier "6.0.2" @@ -3841,7 +3480,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.0.7, cacache@^16.0.0, cacache@^16.0.2: +cacache@16.0.7: version "16.0.7" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.7.tgz#74a5d9bc4c17b4c0b373c1f5d42dadf5dc06638d" integrity sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w== @@ -3865,7 +3504,7 @@ cacache@16.0.7, cacache@^16.0.0, cacache@^16.0.2: tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.1.0: +cacache@16.1.0, cacache@^16.0.0, cacache@^16.1.0: version "16.1.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.0.tgz#87a6bae558a511c9cb2a13768073e240ca76153a" integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== @@ -3908,9 +3547,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: - version "1.0.30001341" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz#59590c8ffa8b5939cf4161f00827b8873ad72498" - integrity sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA== + version "1.0.30001342" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz#87152b1e3b950d1fbf0093e23f00b6c8e8f1da96" + integrity sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA== caseless@~0.12.0: version "0.12.0" @@ -4265,9 +3904,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.5.tgz#7fffa1d20cb18405bd22756ca1353c6f1a0e8614" - integrity sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg== + version "3.22.6" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.6.tgz#2e7c7a703238c168883dbf55c24bbb67503cddcb" + integrity sha512-dQ/SxlHcuiywaPIoSUCU6Fx+Mk/H5TXENqd/ZJcK85ta0ZcQkbzHwblxPeL0hF5o+NsT2uK3q9ZOG5TboiVuWw== dependencies: browserslist "^4.20.3" semver "7.0.0" @@ -4393,9 +4032,9 @@ css@^3.0.0: source-map-resolve "^0.6.0" cssdb@^6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.1.tgz#2637fdc57eab452849488de7e8d961ec06f2fe8f" - integrity sha512-0/nZEYfp8SFEzJkMud8NxZJsGfD7RHDJti6GRBLZptIwAzco6RTx1KgwFl4mGWsYS0ZNbCrsY9QryhQ4ldF3Mg== + version "6.6.2" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.2.tgz#6c1c1777483c909a8fc64f296a51546136b35f45" + integrity sha512-w08LaP+DRoPlw4g4LSUp+EWRrWTPlrzWREcU7/6IeMfL7tPR2P9oeQ1G+pxyfMmLWBNDwqHWa6kxiuGMLb71EA== cssesc@^3.0.0: version "3.0.0" @@ -4874,9 +4513,9 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" - integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -4897,7 +4536,7 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 object-inspect "^1.12.0" object-keys "^1.1.1" object.assign "^4.1.2" - regexp.prototype.flags "^1.4.1" + regexp.prototype.flags "^1.4.3" string.prototype.trimend "^1.0.5" string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" @@ -6070,7 +5709,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: +globals@^13.15.0, globals@^13.6.0: version "13.15.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== @@ -7128,14 +6767,14 @@ jsprim@^1.2.2: verror "1.10.0" jszip@^3.1.3, jszip@^3.6.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.9.1.tgz#784e87f328450d1e8151003a9c67733e2b901051" - integrity sha512-H9A60xPqJ1CuC4Ka6qxzXZeU8aNmgOeP5IFqwJbQQwtu2EUYxota3LdsiZWplF7Wgd9tkAd0mdu36nceSaPuYw== + version "3.10.0" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.0.tgz#faf3db2b4b8515425e34effcdbb086750a346061" + integrity sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q== dependencies: lie "~3.3.0" pako "~1.0.2" readable-stream "~2.3.6" - set-immediate-shim "~1.0.1" + setimmediate "^1.0.5" jwa@^1.4.1: version "1.4.1" @@ -7454,7 +7093,7 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7468,15 +7107,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.7" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.7.tgz#adba3797606664e83567d2fbf38fa14b9d809167" - integrity sha512-q/9Eyw/hkvQ4e9DNHLbK2AfuDDm5QnNnmF022aamyw4nUnVLQRhvGoryccN5aEI4J/UcA4W36xttBCrlrdzt2g== + version "6.5.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.5.1.tgz#06f771ae231c8e930ac2c7381242c8cdeff0dca1" + integrity sha512-z1hRRe5DDPzsP73PgN/GYmeSbIAl/g9kX3GLjABCpcU1ojns8S4cyjpJ21jU1P7z1wWkm69PjyMcEGqYYdDqaA== dependencies: date-format "^4.0.10" debug "^4.3.4" flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.9" + streamroller "^3.1.1" long@^4.0.0: version "4.0.0" @@ -7565,12 +7204,12 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: - version "10.1.3" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.3.tgz#d7ecd4a22563b2c05b74735eda46569da26a46f6" - integrity sha512-s/UjmGjUHn9m52cctFhN2ITObbT+axoUhgeir8xGrOlPbKDyJsdhQzb8PGncPQQ28uduHybFJ6Iumy2OZnreXw== + version "10.1.5" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.5.tgz#d975c0a4373de41ea05236d8182f56333511c268" + integrity sha512-mucOj2H0Jn/ax7H9K9T1bf0p1nn/mBFa551Os7ed9xRfLEx20aZhZeLslmRYfAaAqXZUGipcs+m5KOKvOH0XKA== dependencies: agentkeepalive "^4.2.1" - cacache "^16.0.2" + cacache "^16.1.0" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" @@ -7601,14 +7240,7 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" - integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== - dependencies: - fs-monkey "1.0.3" - -memfs@^3.4.3: +memfs@^3.4.1, memfs@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.3.tgz#fc08ac32363b6ea6c95381cabb4d67838180d4e1" integrity sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg== @@ -7725,14 +7357,14 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.0.1, minimatch@^5.0.1: +minimatch@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== dependencies: brace-expansion "^2.0.1" -minimatch@5.1.0: +minimatch@5.1.0, minimatch@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== @@ -8076,9 +7708,9 @@ npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: validate-npm-package-name "^4.0.0" npm-packlist@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.3.tgz#0aec03bc2d6d488ca71396d7afb463563c3274f7" - integrity sha512-KuSbzgejxdsAWbNNyEs8EsyDHsO+nJF6k+9WuWzFbSNh5tFHs4lDApXw7kntKpuehfp8lKRzJkMtz0+WmGvTIw== + version "5.0.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.4.tgz#b8a0635964dbf72baeeb7e69ec32e822f1c26159" + integrity sha512-G4sCWzzHokHC5oxGD46Q9vCe+eN2tFb+3RfADD/eZbx4nKa7Y1eku1xvIWrw5R3F3hWX7IM2BgdqbQsyBUa3IA== dependencies: glob "^8.0.1" ignore-walk "^5.0.1" @@ -8126,9 +7758,9 @@ npmlog@^6.0.0: set-blocking "^2.0.0" nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" @@ -8148,9 +7780,9 @@ object-assign@^4, object-assign@^4.0.1: integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + version "1.12.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.1.tgz#28a661153bad7e470e4b01479ef1cb91ce511191" + integrity sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA== object-inspect@~1.4.0: version "1.4.1" @@ -8630,12 +8262,12 @@ popper.js@^1.14.1: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== -portscanner@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" - integrity sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y= +portscanner@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.2.0.tgz#6059189b3efa0965c9d96a56b958eb9508411cf1" + integrity sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw== dependencies: - async "1.5.2" + async "^2.6.0" is-number-like "^1.0.3" postcss-attribute-case-insensitive@^5.0.0: @@ -8653,9 +8285,9 @@ postcss-clamp@^4.1.0: postcss-value-parser "^4.2.0" postcss-color-functional-notation@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" - integrity sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ== + version "4.2.3" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz#23c9d73c76113b75473edcf66f443c6f1872bd0f" + integrity sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw== dependencies: postcss-value-parser "^4.2.0" @@ -8823,18 +8455,10 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.4: - version "10.1.5" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.5.tgz#0711260e394cd0e117ff1f879eb1ee9a94550352" - integrity sha512-+NyBBE/wUcJ+NJgVd2FyKIZ414lul6ExqkOt1qXXw7oRzpQ0iT68cVpx+QfHh42QUMHXNoVLlN9InFY9XXK8ng== - dependencies: - "@csstools/selector-specificity" "1.0.0" - postcss-selector-parser "^6.0.10" - -postcss-nesting@^10.1.6: - version "10.1.6" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.6.tgz#9cd7221285577858a7cb38b94faabe4979226551" - integrity sha512-8C0X0pOOShlgqYkCzB4wlWLyulos+GXFpw7r2+x7g+ROQ1RwN8MlN2NCcpNQScNBPfbjxbjwY8e25raTcEXqmg== +postcss-nesting@^10.1.4, postcss-nesting@^10.1.6: + version "10.1.7" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.7.tgz#0101bd6c7d386e7ad8e2e86ebcc0e0109833b86e" + integrity sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A== dependencies: "@csstools/selector-specificity" "1.0.0" postcss-selector-parser "^6.0.10" @@ -8861,7 +8485,7 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.5.0, postcss-preset-env@^7.4.2: +postcss-preset-env@7.5.0: version "7.5.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz#0c1f23933597d55dab4a90f61eda30b76e710658" integrity sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ== @@ -8912,7 +8536,7 @@ postcss-preset-env@7.5.0, postcss-preset-env@^7.4.2: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@7.6.0: +postcss-preset-env@7.6.0, postcss-preset-env@^7.4.2: version "7.6.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.6.0.tgz#4e6178d97fc1ddd7fec168c9034eb17258a5bf12" integrity sha512-5cnzpSFZnQJOlBu85xn4Nnluy/WjIST/ugn+gOVcKnmFJ+GLtkfRhmJPo/TW9UDpG7oyA467kvDOO8mtcpOL4g== @@ -8964,14 +8588,7 @@ postcss-preset-env@7.6.0: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.2: - version "7.1.3" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.3.tgz#0e4753518b9f6caa8b649c75b56e69e391d0c12f" - integrity sha512-I9Yp1VV2r8xFwg/JrnAlPCcKmutv6f6Ig6/CHFPqGJiDgYXM9C+0kgLfK4KOXbKNw+63QYl4agRUB0Wi9ftUIg== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-pseudo-class-any-link@^7.1.4: +postcss-pseudo-class-any-link@^7.1.2, postcss-pseudo-class-any-link@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz#ac72aac4fe11fc4a0a368691f8fd5fe89e95aba4" integrity sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg== @@ -9021,7 +8638,7 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.13, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.13: version "8.4.13" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA== @@ -9030,7 +8647,7 @@ postcss@8.4.13, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.14: +postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== @@ -9456,7 +9073,7 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== -regexp.prototype.flags@^1.4.1: +regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== @@ -9693,9 +9310,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.73.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.73.0.tgz#128fef4b333fd92d02d6929afbb6ee38d7feb32d" - integrity sha512-h/UngC3S4Zt28mB3g0+2YCMegT5yoftnQplwzPqGZcKvlld5e+kT/QRmJiL+qxGyZKOYpgirWGdLyEO1b0dpLQ== + version "2.74.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.74.1.tgz#4fba0ff1c312cc4ee82691b154eee69a0d01929f" + integrity sha512-K2zW7kV8Voua5eGkbnBtWYfMIhYhT9Pel2uhBk2WO5eMee161nPze/XRfvEQPFYz7KgrCCnmh2Wy0AMFLGGmMA== optionalDependencies: fsevents "~2.3.2" @@ -9760,7 +9377,7 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.51.0, sass@^1.49.9: +sass@1.51.0: version "1.51.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" integrity sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA== @@ -9778,6 +9395,15 @@ sass@1.52.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@^1.49.9: + version "1.52.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.1.tgz#554693da808543031f9423911d62c60a1acf7889" + integrity sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 @@ -10005,10 +9631,10 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-immediate-shim@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= setprototypeof@1.1.0: version "1.1.0" @@ -10093,9 +9719,9 @@ socket.io-adapter@~2.4.0: integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== socket.io-client@^4.4.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.0.tgz#3858b6183bab31c5c4eaf3efd0fa50840ebb4504" - integrity sha512-HW61c1G7OrYGxaI79WRn17+b03iBCdvhBj4iqyXHBoL5M8w2MSO/vChsjA93knG4GYEai1/vbXWJna9dzxXtSg== + version "4.5.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.1.tgz#cab8da71976a300d3090414e28c2203a47884d84" + integrity sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" @@ -10120,9 +9746,9 @@ socket.io-parser@~4.2.0: debug "~4.3.1" socket.io@^4.4.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.0.tgz#78ae2e84784c29267086a416620c18ef95b37186" - integrity sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA== + version "4.5.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.1.tgz#aa7e73f8a6ce20ee3c54b2446d321bbb6b1a9029" + integrity sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ== dependencies: accepts "~1.3.4" base64id "~2.0.0" @@ -10339,9 +9965,9 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.0.tgz#70ad90e339eb910f1a7ff1dcf4afc268326c4547" - integrity sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ== + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== dependencies: minipass "^3.1.1" @@ -10412,10 +10038,10 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.9.tgz#23b956f2f6e3d679c95a519b0680b8b70fb84040" - integrity sha512-Y46Aq/ftqFP6Wb6sK79hgnZeRfEVz2F0nquBy4lMftUuJoTiwKa6Y96AWAUGV1F3CjhFark9sQmzL9eDpltkRw== +streamroller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.1.tgz#679aae10a4703acdf2740755307df0a05ad752e6" + integrity sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ== dependencies: date-format "^4.0.10" debug "^4.3.4" @@ -10778,11 +10404,11 @@ treeify@^1.1.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" - integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== + version "10.8.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce" + integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== dependencies: - "@cspotcode/source-map-support" "0.7.0" + "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" @@ -10793,7 +10419,7 @@ ts-node@^10.0.0: create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - v8-compile-cache-lib "^3.0.0" + v8-compile-cache-lib "^3.0.1" yn "3.1.1" tsconfig-paths@^3.14.1: @@ -10841,9 +10467,9 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= typanion@^3.3.1: - version "3.8.0" - resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.8.0.tgz#e23c93df92e46fbc8c0dab13135bf40f47352bb7" - integrity sha512-r9rEMpvF4pnu2DuYuC//ctH7I83bdx+Psvi1GO68w4942OmFiH56+5YS9vsEe2+9ipFPOnBHW0Z2z5/nGz5jTg== + version "3.9.0" + resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.9.0.tgz#071a31a0f81c3c31226e190d0a6513ff1c8ae1a3" + integrity sha512-7yPk67IIquhKQcUXOBM27vDuGmZf6oJbEmzgVfDniHCkT6+z4JnKY85nKqbstoec8Kp7hD06TP3Kc98ij43PIg== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -10902,7 +10528,7 @@ typescript@4.7.1-rc: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.1-rc.tgz#23a0517d36c56de887b4457f29e2d265647bbd7c" integrity sha512-EQd2NVelDe6ZVc2sO1CSpuSs+RHzY8c2n/kTNQAHw4um/eAXY+ZY4IKoUpNK0wO6C5hN+XcUXR7yqT8VbwwNIQ== -typescript@~4.6.2, typescript@~4.6.3: +typescript@^4.6.2, typescript@~4.6.2, typescript@~4.6.3: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== @@ -11042,7 +10668,7 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -v8-compile-cache-lib@^3.0.0: +v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== @@ -11254,7 +10880,7 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: +webpack-dev-middleware@5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== @@ -11265,7 +10891,7 @@ webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-middleware@5.3.3: +webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: version "5.3.3" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== From a7d97c26981e6f2ad40af6a0350d32113cde806f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 21 May 2022 13:39:08 +0000 Subject: [PATCH 0425/1388] build: update dependency stylus-loader to v7 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 14edca61d6f7..777cea1d5aa1 100644 --- a/package.json +++ b/package.json @@ -201,7 +201,7 @@ "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", "stylus": "0.57.0", - "stylus-loader": "6.2.0", + "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", "terser": "5.13.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 81ec7cd9944e..2816072d8006 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -58,7 +58,7 @@ "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "stylus": "0.57.0", - "stylus-loader": "6.2.0", + "stylus-loader": "7.0.0", "terser": "5.13.1", "text-table": "0.2.0", "tree-kill": "1.2.2", diff --git a/yarn.lock b/yarn.lock index 57970cf99c1d..a2cbd42829be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10138,6 +10138,15 @@ stylus-loader@6.2.0: klona "^2.0.4" normalize-path "^3.0.0" +stylus-loader@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.0.0.tgz#31fb929cd3a7c447a07a0b0148b48480eb2c3f4a" + integrity sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A== + dependencies: + fast-glob "^3.2.11" + klona "^2.0.5" + normalize-path "^3.0.0" + stylus@0.57.0, stylus@^0.57.0: version "0.57.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" From 163906a0f248652b0986f542abb97cdd3e943791 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 21 May 2022 06:37:39 +0000 Subject: [PATCH 0426/1388] build: update actions/upload-artifact action to v3.1.0 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index eaff76a927b9..7e2c56518e67 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -37,7 +37,7 @@ jobs: # Upload the results as artifacts. - name: 'Upload artifact' - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 # tag=v3.0.0 + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3.1.0 with: name: SARIF file path: results.sarif From 3d76cef369b936a6d01108802cfe7dabca602f2e Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 18 May 2022 15:32:21 +0000 Subject: [PATCH 0427/1388] build: add caretaker configuration to ng-dev config Add the caretaker configuration to set up being able to run both the carataker check and the handoff commands. The caretaker handoff command will operate using the angular-cli-caretaker group which has already been seeded with the current information. --- .ng-dev/caretaker.ts | 16 ++++++++++++++++ .ng-dev/config.ts | 1 + docs/process/release.md | 9 +++++++++ 3 files changed, 26 insertions(+) create mode 100644 .ng-dev/caretaker.ts diff --git a/.ng-dev/caretaker.ts b/.ng-dev/caretaker.ts new file mode 100644 index 000000000000..4feac7d530f5 --- /dev/null +++ b/.ng-dev/caretaker.ts @@ -0,0 +1,16 @@ +import { CaretakerConfig } from '@angular/dev-infra-private/ng-dev'; + +/** The configuration for `ng-dev caretaker` commands. */ +export const caretaker: CaretakerConfig = { + githubQueries: [ + { + name: 'Merge Queue', + query: `is:pr is:open status:success label:"action: merge"`, + }, + { + name: 'Merge Assistance Queue', + query: `is:pr is:open label:"action: merge-assistance"`, + }, + ], + caretakerGroup: 'angular-cli-caretaker', +}; diff --git a/.ng-dev/config.ts b/.ng-dev/config.ts index ea2fc26105a8..681ebe8b510f 100644 --- a/.ng-dev/config.ts +++ b/.ng-dev/config.ts @@ -3,3 +3,4 @@ export { format } from './format'; export { github } from './github'; export { pullRequest } from './pull-request'; export { release } from './release'; +export { caretaker } from './caretaker'; diff --git a/docs/process/release.md b/docs/process/release.md index 89894d10a76a..bf5d14029345 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -17,6 +17,15 @@ Each shift consists of two caretakers. The primary caretaker is responsible for merging PRs to `main` and patch whereas the secondary caretaker is responsible for the release. +At the end of each caretaker's rotation, they should peform a handoff in which they provide +information to the next caretaker about the current state of the repository and update the +access group to now include the next caretaker and their secondary. To perform this update +to the access group, the caretaker can run: + +```bash +$ yarn ng-dev caretaker handoff +``` + ## Merging PRs The list of PRs which are currently ready to merge (approved with passing status checks) can From be67977c52a0957b4d4ead83ab8d4b0a561e443e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 24 May 2022 11:51:47 +0000 Subject: [PATCH 0428/1388] fix(@angular/cli): remove incorrect warning during `ng update` The `next` option is not ignored when using the `migrate-only` option. This option is used to determine if a newer version of the CLI needs to be downloaded. https://github.com/angular/angular-cli/blob/3d76cef369b936a6d01108802cfe7dabca602f2e/packages/angular/cli/src/commands/update/cli.ts#L876 --- packages/angular/cli/src/commands/update/cli.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 49c63db869b8..7a526ae73edb 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -130,7 +130,7 @@ export class UpdateCommandModule extends CommandModule { alias: ['C'], default: false, }) - .check(({ packages, next, 'allow-dirty': allowDirty, 'migrate-only': migrateOnly }) => { + .check(({ packages, 'allow-dirty': allowDirty, 'migrate-only': migrateOnly }) => { const { logger } = this.context; // This allows the user to easily reset any changes from the update. @@ -152,10 +152,6 @@ export class UpdateCommandModule extends CommandModule { `A single package must be specified when using the 'migrate-only' option.`, ); } - - if (next) { - logger.warn(`'next' option has no effect when using 'migrate-only' option.`); - } } return true; From d736da16b56e54d3d42033357a0de5dd1297a89f Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Mon, 23 May 2022 21:03:42 +0000 Subject: [PATCH 0429/1388] build: set up post approval changes commit action This action will enforce that all pull requests receive an approval from at least one googler on the final commit for the pull request. Historically, we have allowed all post approval changes regardless of authorship. Moving forward, with this change, we will only allow known googlers to perform post approval changes. When a post approval change occurs by a non-googler, the action will automatically rerequest a review from the latest googler who provided an approval on the change. --- .github/workflows/dev-infra.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index da6ac6e24f7c..35c5e7da1eea 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -1,18 +1,25 @@ name: DevInfra -# Declare default permissions as read only. -permissions: - contents: read - on: pull_request_target: types: [opened, synchronize, reopened] +# Declare default permissions as read only. +permissions: + contents: read + jobs: labels: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2a50bf4f37f041d8b88c743fae45d09b400e917e + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 + with: + angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} + post_approval_changes: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + - uses: angular/dev-infra/github-actions/post-approval-changes@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From 432599515d1231a1a0d070d394b7823a6068bf6b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 23 May 2022 17:27:23 +0000 Subject: [PATCH 0430/1388] fix(@angular-devkit/build-angular): better handle Windows paths in esbuild experimental builder With this change we handle several esbuild path issues in Windows. Closes #23154 --- .../src/builders/browser-esbuild/esbuild.ts | 4 +++ .../src/builders/browser-esbuild/index.ts | 27 ++++++++++++------- .../builders/browser-esbuild/stylesheets.ts | 5 ++-- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts index 62f592cd6b54..d0363e2f95f5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -16,6 +16,10 @@ import { build, formatMessages, } from 'esbuild'; +import { resolve } from 'path'; + +/** Default outdir setting for esbuild. */ +export const DEFAULT_OUTDIR = resolve('/virtual-output'); /** * Determines if an unknown value is an esbuild BuildFailure error object thrown by esbuild. diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index d4da21e528b9..fd0016311c09 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -20,7 +20,7 @@ import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-brows import { resolveGlobalStyles } from '../../webpack/configs'; import { Schema as BrowserBuilderOptions, SourceMapClass } from '../browser/schema'; import { createCompilerPlugin } from './compiler-plugin'; -import { bundle, logMessages } from './esbuild'; +import { DEFAULT_OUTDIR, bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; import { normalizeOptions } from './options'; import { bundleStylesheetText } from './stylesheets'; @@ -116,11 +116,13 @@ export async function execute( // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot const relativeFilePath = path.relative(workspaceRoot, outputFile.path); const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; + + outputFile.path = path.relative(DEFAULT_OUTDIR, outputFile.path); + if (entryPoint) { // An entryPoint value indicates an initial file initialFiles.push({ - // Remove leading directory separator - file: outputFile.path.slice(1), + file: outputFile.path, name: entryPointNameLookup.get(entryPoint) ?? '', extension: path.extname(outputFile.path), }); @@ -147,7 +149,9 @@ export async function execute( !!options.preserveSymlinks, ); for (const [name, files] of Object.entries(stylesheetEntrypoints)) { - const virtualEntryData = files.map((file) => `@import '${file}';`).join('\n'); + const virtualEntryData = files + .map((file) => `@import '${file.replace(/\\/g, '/')}';`) + .join('\n'); const sheetResult = await bundleStylesheetText( virtualEntryData, { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, @@ -172,7 +176,7 @@ export async function execute( // The virtual stylesheets will be named `stdin` by esbuild. This must be replaced // with the actual name of the global style and the leading directory separator must // also be removed to make the path relative. - const sheetPath = sheetResult.path.replace('stdin', name).slice(1); + const sheetPath = sheetResult.path.replace('stdin', name); outputFiles.push(createOutputFileFromText(sheetPath, sheetResult.contents)); if (sheetResult.map) { outputFiles.push(createOutputFileFromText(sheetPath + '.map', sheetResult.map)); @@ -203,10 +207,13 @@ export async function execute( optimization: optimizationOptions, crossOrigin: options.crossOrigin, }); - indexHtmlGenerator.readAsset = async function (path: string): Promise { + + /** Virtual output path to support reading in-memory files. */ + const virtualOutputPath = '/'; + indexHtmlGenerator.readAsset = async function (filePath: string): Promise { // Remove leading directory separator - path = path.slice(1); - const file = outputFiles.find((file) => file.path === path); + const relativefilePath = path.relative(virtualOutputPath, filePath); + const file = outputFiles.find((file) => file.path === relativefilePath); if (file) { return file.text; } @@ -217,7 +224,7 @@ export async function execute( const { content, warnings, errors } = await indexHtmlGenerator.process({ baseHref: options.baseHref, lang: undefined, - outputPath: '/', // Virtual output path to support reading in-memory files + outputPath: virtualOutputPath, files: initialFiles, }); @@ -280,7 +287,7 @@ async function bundleCode( metafile: true, minify: optimizationOptions.scripts, pure: ['forwardRef'], - outdir: '/', + outdir: DEFAULT_OUTDIR, sourcemap: sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true), splitting: true, tsconfig, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 215eac7e8474..86c158598176 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -8,7 +8,7 @@ import type { BuildOptions, OutputFile } from 'esbuild'; import * as path from 'path'; -import { bundle } from './esbuild'; +import { DEFAULT_OUTDIR, bundle } from './esbuild'; export interface BundleStylesheetOptions { workspaceRoot?: string; @@ -32,7 +32,7 @@ async function bundleStylesheet( logLevel: 'silent', minify: options.optimization, sourcemap: options.sourcemap, - outdir: '/', + outdir: DEFAULT_OUTDIR, write: false, platform: 'browser', preserveSymlinks: options.preserveSymlinks, @@ -50,6 +50,7 @@ async function bundleStylesheet( const resourceFiles: OutputFile[] = []; if (result.outputFiles) { for (const outputFile of result.outputFiles) { + outputFile.path = path.relative(DEFAULT_OUTDIR, outputFile.path); const filename = path.basename(outputFile.path); if (filename.endsWith('.css')) { outputPath = outputFile.path; From 526cdb263a8c74ad228f584f70dc029aa69351d7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 12 May 2022 12:37:43 -0400 Subject: [PATCH 0431/1388] feat(@angular-devkit/schematics): allow `chain` rule to accept iterables of rules Previously, the `chain` base rule only accepted an `Array` of schematics rules. In addition to still allowing an `Array`, `chain` now can accept either an `Iterable` or `AsyncIterable`. This provides support for sync and async generator functions with the `chain` rule. --- .../angular_devkit/schematics/index.md | 2 +- .../schematics/src/rules/base.ts | 11 +++- .../schematics/src/rules/base_spec.ts | 58 ++++++++++++++++++- 3 files changed, 65 insertions(+), 6 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/index.md b/goldens/public-api/angular_devkit/schematics/index.md index 5ef8ce4c5cd5..2d9f6a616bb1 100644 --- a/goldens/public-api/angular_devkit/schematics/index.md +++ b/goldens/public-api/angular_devkit/schematics/index.md @@ -145,7 +145,7 @@ export function callRule(rule: Rule, input: Tree_2 | Observable, context export function callSource(source: Source, context: SchematicContext): Observable; // @public -export function chain(rules: Rule[]): Rule; +export function chain(rules: Iterable | AsyncIterable): Rule; // @public (undocumented) export class CircularCollectionException extends BaseException { diff --git a/packages/angular_devkit/schematics/src/rules/base.ts b/packages/angular_devkit/schematics/src/rules/base.ts index a52dda34f6ee..739be3940cbf 100644 --- a/packages/angular_devkit/schematics/src/rules/base.ts +++ b/packages/angular_devkit/schematics/src/rules/base.ts @@ -33,9 +33,14 @@ export function empty(): Source { /** * Chain multiple rules into a single rule. */ -export function chain(rules: Rule[]): Rule { - return (tree, context) => { - return rules.reduce>((acc, curr) => callRule(curr, acc, context), tree); +export function chain(rules: Iterable | AsyncIterable): Rule { + return async (initialTree, context) => { + let intermediateTree: Observable | undefined; + for await (const rule of rules) { + intermediateTree = callRule(rule, intermediateTree ?? initialTree, context); + } + + return () => intermediateTree; }; } diff --git a/packages/angular_devkit/schematics/src/rules/base_spec.ts b/packages/angular_devkit/schematics/src/rules/base_spec.ts index 8adf8c503851..9a687cb6c71e 100644 --- a/packages/angular_devkit/schematics/src/rules/base_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/base_spec.ts @@ -17,11 +17,11 @@ import { apply, applyToSubtree, chain } from './base'; import { callRule, callSource } from './call'; import { move } from './move'; -const context: SchematicContext = ({ +const context: SchematicContext = { engine: null, debug: false, strategy: MergeStrategy.Default, -} as {}) as SchematicContext; +} as {} as SchematicContext; describe('chain', () => { it('works with simple rules', (done) => { @@ -48,6 +48,60 @@ describe('chain', () => { .then(done, done.fail); }); + it('works with a sync generator of rules', async () => { + const rulesCalled: Tree[] = []; + + const tree0 = empty(); + const tree1 = empty(); + const tree2 = empty(); + const tree3 = empty(); + + const rule0: Rule = (tree: Tree) => ((rulesCalled[0] = tree), tree1); + const rule1: Rule = (tree: Tree) => ((rulesCalled[1] = tree), tree2); + const rule2: Rule = (tree: Tree) => ((rulesCalled[2] = tree), tree3); + + function* generateRules() { + yield rule0; + yield rule1; + yield rule2; + } + + const result = await callRule(chain(generateRules()), tree0, context).toPromise(); + + expect(result).not.toBe(tree0); + expect(rulesCalled[0]).toBe(tree0); + expect(rulesCalled[1]).toBe(tree1); + expect(rulesCalled[2]).toBe(tree2); + expect(result).toBe(tree3); + }); + + it('works with an async generator of rules', async () => { + const rulesCalled: Tree[] = []; + + const tree0 = empty(); + const tree1 = empty(); + const tree2 = empty(); + const tree3 = empty(); + + const rule0: Rule = (tree: Tree) => ((rulesCalled[0] = tree), tree1); + const rule1: Rule = (tree: Tree) => ((rulesCalled[1] = tree), tree2); + const rule2: Rule = (tree: Tree) => ((rulesCalled[2] = tree), tree3); + + async function* generateRules() { + yield rule0; + yield rule1; + yield rule2; + } + + const result = await callRule(chain(generateRules()), tree0, context).toPromise(); + + expect(result).not.toBe(tree0); + expect(rulesCalled[0]).toBe(tree0); + expect(rulesCalled[1]).toBe(tree1); + expect(rulesCalled[2]).toBe(tree2); + expect(result).toBe(tree3); + }); + it('works with observable rules', (done) => { const rulesCalled: Tree[] = []; From 9cb4eaf90bebc01cf44d88afb337f8a2017975bb Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 19 May 2022 17:06:44 -0700 Subject: [PATCH 0432/1388] test: remove use of global npm cache and config --- ...reate-tmp-dir.ts => 001-create-tmp-dir.ts} | 1 - tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 31 +++++++++++++++++++ .../legacy-cli/e2e/setup/010-local-publish.ts | 4 +-- .../e2e/setup/200-create-project-dir.ts | 19 ++++++++++++ .../e2e/setup/500-create-project.ts | 12 ++----- .../misc/invalid-schematic-dependencies.ts | 4 +-- .../misc/update-git-clean-subdirectory.ts | 2 +- tests/legacy-cli/e2e/utils/assets.ts | 6 ++-- tests/legacy-cli/e2e/utils/process.ts | 23 ++++++++++++-- 9 files changed, 80 insertions(+), 22 deletions(-) rename tests/legacy-cli/e2e/setup/{200-create-tmp-dir.ts => 001-create-tmp-dir.ts} (96%) create mode 100644 tests/legacy-cli/e2e/setup/002-npm-sandbox.ts create mode 100644 tests/legacy-cli/e2e/setup/200-create-project-dir.ts diff --git a/tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts similarity index 96% rename from tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts rename to tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts index ba2a811a580d..f15e504daef1 100644 --- a/tests/legacy-cli/e2e/setup/200-create-tmp-dir.ts +++ b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts @@ -17,5 +17,4 @@ export default function () { } console.log(` Using "${tempRoot}" as temporary directory for a new project.`); setGlobalVariable('tmp-root', tempRoot); - process.chdir(tempRoot); } diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts new file mode 100644 index 000000000000..eaca4a166e3f --- /dev/null +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -0,0 +1,31 @@ +import { mkdir, writeFile } from 'fs/promises'; +import { delimiter, join } from 'path'; +import { getGlobalVariable } from '../utils/env'; + +/** + * Configure npm to use a unique sandboxed environment. + */ +export default async function () { + const tempRoot: string = getGlobalVariable('tmp-root'); + const npmModulesPrefix = join(tempRoot, 'npm-global'); + const npmrc = join(tempRoot, '.npmrc'); + + // Configure npm to use the sandboxed npm globals and rc file + process.env.NPM_CONFIG_USERCONFIG = npmrc; + process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; + + // Ensure the custom npm global bin is first on the PATH + // https://docs.npmjs.com/cli/v8/configuring-npm/folders#executables + if (process.platform.startsWith('win')) { + process.env.PATH = npmModulesPrefix + delimiter + process.env.PATH; + } else { + process.env.PATH = join(npmModulesPrefix, 'bin') + delimiter + process.env.PATH; + } + + // Ensure the globals directory and npmrc file exist. + // Configure the registry in the npmrc in addition to the environment variable. + await writeFile(npmrc, 'registry=' + getGlobalVariable('package-registry')); + await mkdir(npmModulesPrefix); + + console.log(` Using "${npmModulesPrefix}" as e2e test global npm cache.`); +} diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index 2a7d31c547ba..41fd0df79e50 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -1,5 +1,5 @@ import { getGlobalVariable } from '../utils/env'; -import { execWithEnv } from '../utils/process'; +import { execWithEnv, extractNpmEnv } from '../utils/process'; import { isPrereleaseCli } from '../utils/project'; export default async function () { @@ -18,7 +18,7 @@ export default async function () { isPrereleaseCli() ? 'next' : 'latest', ], { - ...process.env, + ...extractNpmEnv(), // Also set an auth token value for the local test registry which is required by npm 7+ // even though it is never actually used. 'NPM_CONFIG__AUTH': 'e2e-testing', diff --git a/tests/legacy-cli/e2e/setup/200-create-project-dir.ts b/tests/legacy-cli/e2e/setup/200-create-project-dir.ts new file mode 100644 index 000000000000..1bfb66dde96f --- /dev/null +++ b/tests/legacy-cli/e2e/setup/200-create-project-dir.ts @@ -0,0 +1,19 @@ +import { mkdir } from 'fs/promises'; +import { join } from 'path'; +import { getGlobalVariable, setGlobalVariable } from '../utils/env'; + +/** + * Create a parent directory for test projects to be created within. + * Change the cwd() to that directory in preparation for launching the cli. + */ +export default async function () { + const tempRoot: string = getGlobalVariable('tmp-root'); + const projectsRoot = join(tempRoot, 'e2e-test'); + + setGlobalVariable('projects-root', projectsRoot); + + await mkdir(projectsRoot); + + console.log(` Using "${projectsRoot}" as temporary directory for a new project.`); + process.chdir(projectsRoot); +} diff --git a/tests/legacy-cli/e2e/setup/500-create-project.ts b/tests/legacy-cli/e2e/setup/500-create-project.ts index 1d6ec58f2beb..5b0319cf2941 100644 --- a/tests/legacy-cli/e2e/setup/500-create-project.ts +++ b/tests/legacy-cli/e2e/setup/500-create-project.ts @@ -1,9 +1,9 @@ import { join } from 'path'; import { getGlobalVariable } from '../utils/env'; -import { expectFileToExist, writeFile } from '../utils/fs'; +import { expectFileToExist } from '../utils/fs'; import { gitClean } from '../utils/git'; import { setRegistry as setNPMConfigRegistry } from '../utils/packages'; -import { ng, npm } from '../utils/process'; +import { ng } from '../utils/process'; import { prepareProjectForE2e, updateJsonFile } from '../utils/project'; export default async function () { @@ -18,8 +18,6 @@ export default async function () { await gitClean(); } else { const extraArgs = []; - const testRegistry = getGlobalVariable('package-registry'); - const isCI = getGlobalVariable('ci'); // Ensure local test registry is used when outside a project await setNPMConfigRegistry(true); @@ -28,12 +26,6 @@ export default async function () { await expectFileToExist(join(process.cwd(), 'test-project')); process.chdir('./test-project'); - // If on CI, the user configuration set above will handle project usage - if (!isCI) { - // Ensure local test registry is used inside a project - await writeFile('.npmrc', `registry=${testRegistry}`); - } - // Setup esbuild builder if requested on the commandline const useEsbuildBuilder = !!getGlobalVariable('argv')['esbuild']; if (useEsbuildBuilder) { diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 23b56464a745..432f21167cdb 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -1,5 +1,5 @@ import { expectFileToMatch } from '../../utils/fs'; -import { execWithEnv, ng, silentNpm } from '../../utils/process'; +import { execWithEnv, extractNpmEnv, ng, silentNpm } from '../../utils/process'; import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; @@ -29,7 +29,7 @@ async function publishOutdated(npmSpecifier: string): Promise { '--registry=https://registry.npmjs.org', ); await execWithEnv('npm', ['publish', stdoutPack.trim(), '--tag=outdated'], { - ...process.env, + ...extractNpmEnv(), // Also set an auth token value for the local test registry which is required by npm 7+ // even though it is never actually used. 'NPM_CONFIG__AUTH': 'e2e-testing', diff --git a/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts b/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts index 095f333517fa..11040c618bbb 100644 --- a/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts +++ b/tests/legacy-cli/e2e/tests/misc/update-git-clean-subdirectory.ts @@ -4,7 +4,7 @@ import { ng, silentGit } from '../../utils/process'; import { prepareProjectForE2e } from '../../utils/project'; export default async function () { - process.chdir(getGlobalVariable('tmp-root')); + process.chdir(getGlobalVariable('projects-root')); await createDir('./subdirectory'); process.chdir('./subdirectory'); diff --git a/tests/legacy-cli/e2e/utils/assets.ts b/tests/legacy-cli/e2e/utils/assets.ts index c7c41ac7b7fe..669f5b48364e 100644 --- a/tests/legacy-cli/e2e/utils/assets.ts +++ b/tests/legacy-cli/e2e/utils/assets.ts @@ -11,7 +11,7 @@ export function assetDir(assetName: string) { } export function copyProjectAsset(assetName: string, to?: string) { - const tempRoot = join(getGlobalVariable('tmp-root'), 'test-project'); + const tempRoot = join(getGlobalVariable('projects-root'), 'test-project'); const sourcePath = assetDir(assetName); const targetPath = join(tempRoot, to || assetName); @@ -20,7 +20,7 @@ export function copyProjectAsset(assetName: string, to?: string) { export function copyAssets(assetName: string, to?: string) { const seed = +Date.now(); - const tempRoot = join(getGlobalVariable('tmp-root'), 'assets', assetName + '-' + seed); + const tempRoot = join(getGlobalVariable('projects-root'), 'assets', assetName + '-' + seed); const root = assetDir(assetName); return Promise.resolve() @@ -30,7 +30,7 @@ export function copyAssets(assetName: string, to?: string) { return allFiles.reduce((promise, filePath) => { const toPath = to !== undefined - ? resolve(getGlobalVariable('tmp-root'), 'test-project', to, filePath) + ? resolve(getGlobalVariable('projects-root'), 'test-project', to, filePath) : join(tempRoot, filePath); return promise.then(() => copyFile(join(root, filePath), toPath)); diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 7a4100e44822..903e35f15a7b 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -15,6 +15,8 @@ interface ExecOptions { cwd?: string; } +const NPM_CONFIG_RE = /^npm_config_/i; + let _processes: child_process.ChildProcess[] = []; export type ProcessOutput = { @@ -138,6 +140,20 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise NPM_CONFIG_RE.test(v)) + .reduce( + (vars, n) => { + vars[n] = process.env[n]; + return vars; + }, + { + PATH: process.env.PATH, + }, + ); +} + export function waitForAnyProcessOutputToMatch( match: RegExp, timeout = 30000, @@ -269,21 +285,22 @@ export function silentNpm( { silent: true, cwd: (options as { cwd?: string } | undefined)?.cwd, + env: extractNpmEnv(), }, 'npm', params, ); } else { - return _exec({ silent: true }, 'npm', args as string[]); + return _exec({ silent: true, env: extractNpmEnv() }, 'npm', args as string[]); } } export function silentYarn(...args: string[]) { - return _exec({ silent: true }, 'yarn', args); + return _exec({ silent: true, env: extractNpmEnv() }, 'yarn', args); } export function npm(...args: string[]) { - return _exec({}, 'npm', args); + return _exec({ env: extractNpmEnv() }, 'npm', args); } export function node(...args: string[]) { From 790a1711bf388111f30cb169b5bbb3d12ed85455 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 23 May 2022 20:50:57 +0000 Subject: [PATCH 0433/1388] build: update all non-major dependencies --- package.json | 8 +- .../angular_devkit/build_angular/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 121 ++++++++---------- 4 files changed, 62 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 777cea1d5aa1..74123583f674 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.25.0", - "@typescript-eslint/parser": "5.25.0", + "@typescript-eslint/eslint-plugin": "5.26.0", + "@typescript-eslint/parser": "5.26.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -138,7 +138,7 @@ "debug": "^4.1.1", "esbuild": "0.14.39", "esbuild-wasm": "0.14.39", - "eslint": "8.15.0", + "eslint": "8.16.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -191,7 +191,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.52.0", + "sass": "1.52.1", "sass-loader": "12.6.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2816072d8006..424f3c144b3f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.52.0", + "sass": "1.52.1", "sass-loader": "12.6.0", "semver": "7.3.7", "source-map-loader": "3.0.1", diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index b39bb26cb92a..24e3fc814afb 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -14,7 +14,7 @@ "ng-packagr": "^14.0.0-next.8", "rxjs": "~7.5.0", "tslib": "^2.3.0", - "ts-node": "~10.7.0", + "ts-node": "~10.8.0", "typescript": "~4.6.2", "zone.js": "~0.11.4" } diff --git a/yarn.lock b/yarn.lock index a2cbd42829be..477e31636024 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1519,7 +1519,7 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@eslint/eslintrc@^1.2.3": +"@eslint/eslintrc@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== @@ -2457,14 +2457,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz#e8ce050990e4d36cc200f2de71ca0d3eb5e77a31" - integrity sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg== +"@typescript-eslint/eslint-plugin@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz#c1f98ccba9d345e38992975d3ca56ed6260643c2" + integrity sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA== dependencies: - "@typescript-eslint/scope-manager" "5.25.0" - "@typescript-eslint/type-utils" "5.25.0" - "@typescript-eslint/utils" "5.25.0" + "@typescript-eslint/scope-manager" "5.26.0" + "@typescript-eslint/type-utils" "5.26.0" + "@typescript-eslint/utils" "5.26.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2472,69 +2472,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.25.0.tgz#fb533487147b4b9efd999a4d2da0b6c263b64f7f" - integrity sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA== +"@typescript-eslint/parser@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.26.0.tgz#a61b14205fe2ab7533deb4d35e604add9a4ceee2" + integrity sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q== dependencies: - "@typescript-eslint/scope-manager" "5.25.0" - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/typescript-estree" "5.25.0" + "@typescript-eslint/scope-manager" "5.26.0" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/typescript-estree" "5.26.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz#e78f1484bca7e484c48782075219c82c6b77a09f" - integrity sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww== +"@typescript-eslint/scope-manager@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz#44209c7f649d1a120f0717e0e82da856e9871339" + integrity sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw== dependencies: - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/visitor-keys" "5.25.0" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/visitor-keys" "5.26.0" -"@typescript-eslint/type-utils@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz#5750d26a5db4c4d68d511611e0ada04e56f613bc" - integrity sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw== +"@typescript-eslint/type-utils@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz#937dee97702361744a3815c58991acf078230013" + integrity sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A== dependencies: - "@typescript-eslint/utils" "5.25.0" + "@typescript-eslint/utils" "5.26.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.25.0.tgz#dee51b1855788b24a2eceeae54e4adb89b088dd8" - integrity sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA== +"@typescript-eslint/types@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.26.0.tgz#cb204bb154d3c103d9cc4d225f311b08219469f3" + integrity sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA== -"@typescript-eslint/typescript-estree@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz#a7ab40d32eb944e3fb5b4e3646e81b1bcdd63e00" - integrity sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw== +"@typescript-eslint/typescript-estree@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz#16cbceedb0011c2ed4f607255f3ee1e6e43b88c3" + integrity sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w== dependencies: - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/visitor-keys" "5.25.0" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/visitor-keys" "5.26.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.25.0.tgz#272751fd737733294b4ab95e16c7f2d4a75c2049" - integrity sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g== +"@typescript-eslint/utils@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.26.0.tgz#896b8480eb124096e99c8b240460bb4298afcfb4" + integrity sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.25.0" - "@typescript-eslint/types" "5.25.0" - "@typescript-eslint/typescript-estree" "5.25.0" + "@typescript-eslint/scope-manager" "5.26.0" + "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/typescript-estree" "5.26.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz#33aa5fdcc5cedb9f4c8828c6a019d58548d4474b" - integrity sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA== +"@typescript-eslint/visitor-keys@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz#7195f756e367f789c0e83035297c45b417b57f57" + integrity sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q== dependencies: - "@typescript-eslint/types" "5.25.0" + "@typescript-eslint/types" "5.26.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -4994,12 +4994,12 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.15.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.15.0.tgz#fea1d55a7062da48d82600d2e0974c55612a11e9" - integrity sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA== +eslint@8.16.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.16.0.tgz#6d936e2d524599f2a86c708483b4c372c5d3bbae" + integrity sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA== dependencies: - "@eslint/eslintrc" "^1.2.3" + "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" @@ -5017,7 +5017,7 @@ eslint@8.15.0: file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" - globals "^13.6.0" + globals "^13.15.0" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -5709,7 +5709,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0, globals@^13.6.0: +globals@^13.15.0: version "13.15.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== @@ -9386,16 +9386,7 @@ sass@1.51.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.0.tgz#3dc755ff459858ce7062887181648701f028c4f5" - integrity sha512-6EnTglag2oVD8sNJCxUi2Jd3ICH9tJ5Mqudt/gIZNBR2uKJUBZuTpW9O1t04SkDLP7VFa76FCWTV2rwchqM8Kw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sass@^1.49.9: +sass@1.52.1, sass@^1.49.9: version "1.52.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.1.tgz#554693da808543031f9423911d62c60a1acf7889" integrity sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q== From cd2250fe230b86cc8c10054b41dd14032b0105a0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 24 May 2022 14:30:56 +0000 Subject: [PATCH 0434/1388] fix(@angular-devkit/build-angular): downlevel libraries based on the browserslist configurations There is no standard for library authors to ship their library in different ES versions, which can result in vendor libraries to ship ES features which are not supported by one or more browsers that the user's application supports. With this change, we will be downlevelling libraries based on the list of supported browsers which is configured in the browserslist configuration. Previously, we only downlevelled libraries when targeting ES5. The TypeScript target option will not effect how the libraries get downlevelled. Closes #23126 --- .../src/babel/presets/application.ts | 8 +- .../build_angular/src/babel/webpack-loader.ts | 53 +++++++++---- .../tests/behavior/typescript-target_spec.ts | 79 +++++++++++++++---- .../build_localize_replaced_watch_spec.ts | 2 +- .../src/webpack/configs/common.ts | 1 + .../src/webpack/plugins/typescript.ts | 8 ++ 6 files changed, 117 insertions(+), 34 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index 234f8fa7052c..ca1a6caf960d 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -47,7 +47,7 @@ export interface ApplicationPresetOptions { linkerPluginCreator: typeof import('@angular/compiler-cli/linker/babel').createEs2015LinkerPlugin; }; - forceES5?: boolean; + forcePresetEnv?: boolean; forceAsyncTransformation?: boolean; instrumentCode?: { includedBasePath: string; @@ -59,6 +59,7 @@ export interface ApplicationPresetOptions { wrapDecorators: boolean; }; + supportedBrowsers?: string[]; diagnosticReporter?: DiagnosticReporter; } @@ -178,14 +179,13 @@ export default function (api: unknown, options: ApplicationPresetOptions) { ); } - if (options.forceES5) { + if (options.forcePresetEnv) { presets.push([ require('@babel/preset-env').default, { bugfixes: true, modules: false, - // Comparable behavior to tsconfig target of ES5 - targets: { ie: 9 }, + targets: options.supportedBrowsers, exclude: ['transform-typeof-symbol'], }, ]); diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index a19f499141b9..aa2845fd666e 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -72,18 +72,26 @@ export default custom(() => { return { async customOptions(options, { source, map }) { - const { i18n, scriptTarget, aot, optimize, instrumentCode, ...rawOptions } = - options as AngularBabelLoaderOptions; + const { + i18n, + scriptTarget, + aot, + optimize, + instrumentCode, + supportedBrowsers, + ...rawOptions + } = options as AngularBabelLoaderOptions; // Must process file if plugins are added let shouldProcess = Array.isArray(rawOptions.plugins) && rawOptions.plugins.length > 0; const customOptions: ApplicationPresetOptions = { forceAsyncTransformation: false, - forceES5: false, + forcePresetEnv: false, angularLinker: undefined, i18n: undefined, instrumentCode: undefined, + supportedBrowsers, }; // Analyze file for linking @@ -107,20 +115,35 @@ export default custom(() => { // Analyze for ES target processing const esTarget = scriptTarget as ScriptTarget | undefined; - if (esTarget !== undefined) { - if (esTarget < ScriptTarget.ES2015) { - customOptions.forceES5 = true; - } else if (esTarget >= ScriptTarget.ES2017 || /\.[cm]?js$/.test(this.resourcePath)) { - // Application code (TS files) will only contain native async if target is ES2017+. - // However, third-party libraries can regardless of the target option. - // APF packages with code in [f]esm2015 directories is downlevelled to ES2015 and - // will not have native async. - customOptions.forceAsyncTransformation = - !/[\\/][_f]?esm2015[\\/]/.test(this.resourcePath) && source.includes('async'); - } - shouldProcess ||= customOptions.forceAsyncTransformation || customOptions.forceES5 || false; + const isJsFile = /\.[cm]?js$/.test(this.resourcePath); + + // The below should be dropped when we no longer support ES5 TypeScript output. + if (esTarget === ScriptTarget.ES5) { + // This is needed because when target is ES5 we change the TypeScript target to ES2015 + // because it simplifies build-optimization passes. + // @see https://github.com/angular/angular-cli/blob/22af6520834171d01413d4c7e4a9f13fb752252e/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts#L51-L56 + customOptions.forcePresetEnv = true; + // Comparable behavior to tsconfig target of ES5 + customOptions.supportedBrowsers = ['IE 9']; + } else if (isJsFile) { + // Applications code ES version can be controlled using TypeScript's `target` option. + // However, this doesn't effect libraries and hence we use preset-env to downlevel ES fetaures + // based on the supported browsers in browserlist. + customOptions.forcePresetEnv = true; } + if ((esTarget !== undefined && esTarget >= ScriptTarget.ES2017) || isJsFile) { + // Application code (TS files) will only contain native async if target is ES2017+. + // However, third-party libraries can regardless of the target option. + // APF packages with code in [f]esm2015 directories is downlevelled to ES2015 and + // will not have native async. + customOptions.forceAsyncTransformation = + !/[\\/][_f]?esm2015[\\/]/.test(this.resourcePath) && source.includes('async'); + } + + shouldProcess ||= + customOptions.forceAsyncTransformation || customOptions.forcePresetEnv || false; + // Analyze for i18n inlining if ( i18n && diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts index 538d30a40aa4..68cd9304c2f8 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { logging } from '@angular-devkit/core'; import { buildWebpackBrowser } from '../../index'; import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; @@ -141,12 +142,12 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { await harness.writeFile( 'src/main.ts', ` - (async () => { - for await (const o of [1, 2, 3]) { - console.log("for await...of"); - } - })(); - `, + (async () => { + for await (const o of [1, 2, 3]) { + console.log("for await...of"); + } + })(); + `, ); harness.useTarget('build', { @@ -176,14 +177,14 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { await harness.writeFile( 'src/es2015-syntax.js', ` - class foo { - bar() { - console.log('baz'); - } - } - - (new foo()).bar(); - `, + class foo { + bar() { + console.log('baz'); + } + } + + (new foo()).bar(); + `, ); harness.useTarget('build', { @@ -198,5 +199,55 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { expect(result?.success).toBe(true); }); + + it('a deprecation warning should be issued when targetting ES5', async () => { + await harness.modifyFile('src/tsconfig.app.json', (content) => { + const tsconfig = JSON.parse(content); + if (!tsconfig.compilerOptions) { + tsconfig.compilerOptions = {}; + } + tsconfig.compilerOptions.target = 'es5'; + + return JSON.stringify(tsconfig); + }); + await harness.writeFiles({ + 'src/tsconfig.worker.json': `{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/worker", + "lib": [ + "es2018", + "webworker" + ], + "types": [] + }, + "include": [ + "**/*.worker.ts", + ] + }`, + 'src/app/app.worker.ts': ` + /// + + const prefix: string = 'Data: '; + addEventListener('message', ({ data }) => { + postMessage(prefix + data); + }); + `, + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + webWorkerTsConfig: 'src/tsconfig.worker.json', + }); + + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + + const deprecationMessages = logs.filter(({ message }) => + message.startsWith('DEPRECATED: ES5 output is deprecated'), + ); + + expect(deprecationMessages).toHaveSize(1); + }); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_localize_replaced_watch_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_localize_replaced_watch_spec.ts index 5ada84dcc828..cc6981723e5a 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_localize_replaced_watch_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/build_localize_replaced_watch_spec.ts @@ -55,7 +55,7 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { const buildCount = await harness .execute() .pipe( - timeout(BUILD_TIMEOUT), + timeout(BUILD_TIMEOUT * 2), concatMap(async ({ result }, index) => { expect(result?.success).toBe(true); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index d81636c09d45..2c33d03bae47 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -378,6 +378,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise = {}; From e751464ea330cfcab5aa8de3a84c05776d3ed1a9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 24 May 2022 16:37:19 +0000 Subject: [PATCH 0435/1388] fix(@angular/cli): populate path with working directory in nested schematics With this change we change the how we handle `"format": "path"` schematic property option. We replace the formatter in favour of a `SmartDefaultProvider`, which ensures that nested schematics can access the `workingDirectory`. --- .../cli/src/command-builder/command-module.ts | 10 +--- .../schematics-command-module.ts | 47 ++++++++++++++++--- .../schematics/angular/app-shell/schema.json | 3 -- packages/schematics/angular/class/schema.json | 3 ++ .../schematics/angular/component/schema.json | 3 ++ .../schematics/angular/directive/schema.json | 3 ++ packages/schematics/angular/enum/schema.json | 3 ++ packages/schematics/angular/guard/schema.json | 3 ++ .../angular/interceptor/schema.json | 3 ++ .../schematics/angular/interface/schema.json | 3 ++ .../schematics/angular/module/schema.json | 3 ++ packages/schematics/angular/pipe/schema.json | 3 ++ .../schematics/angular/resolver/schema.json | 3 ++ .../schematics/angular/service/schema.json | 4 +- .../schematics/angular/web-worker/schema.json | 3 ++ 15 files changed, 78 insertions(+), 19 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 5de4e4e43741..0ca5b12a742b 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging, normalize, schema, strings } from '@angular-devkit/core'; +import { analytics, logging, schema, strings } from '@angular-devkit/core'; import { readFileSync } from 'fs'; import * as path from 'path'; import { @@ -197,8 +197,6 @@ export abstract class CommandModule implements CommandModuleI * **Note:** This method should be called from the command bundler method. */ protected addSchemaOptionsToCommand(localYargs: Argv, options: Option[]): Argv { - const workingDir = normalize(path.relative(this.context.root, process.cwd())); - for (const option of options) { const { default: defaultVal, @@ -211,7 +209,6 @@ export abstract class CommandModule implements CommandModuleI hidden, name, choices, - format, } = option; const sharedOptions: YargsOptions & PositionalOptions = { @@ -224,11 +221,6 @@ export abstract class CommandModule implements CommandModuleI ...(this.context.args.options.help ? { default: defaultVal } : {}), }; - // Special case for schematics - if (workingDir && format === 'path' && name === 'path' && hidden) { - sharedOptions.default = workingDir; - } - if (positional === undefined) { localYargs = localYargs.option(strings.dasherize(name), { type, diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index ec371fe228ee..13102644e820 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { schema, tags } from '@angular-devkit/core'; +import { normalize as devkitNormalize, isJsonObject, schema, tags } from '@angular-devkit/core'; import { Collection, UnsuccessfulWorkflowExecution, formats } from '@angular-devkit/schematics'; import { FileSystemCollectionDescription, @@ -14,7 +14,7 @@ import { NodeWorkflow, } from '@angular-devkit/schematics/tools'; import type { CheckboxQuestion, Question } from 'inquirer'; -import { resolve } from 'path'; +import { relative, resolve } from 'path'; import { Argv } from 'yargs'; import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; import { memoize } from '../utilities/memoize'; @@ -133,10 +133,16 @@ export abstract class SchematicsCommandModule }); workflow.registry.addPostTransform(schema.transforms.addUndefinedDefaults); - workflow.registry.addSmartDefaultProvider('projectName', () => this.getProjectName()); workflow.registry.useXDeprecatedProvider((msg) => logger.warn(msg)); + workflow.registry.addSmartDefaultProvider('projectName', () => this.getProjectName()); + + const workingDir = devkitNormalize(relative(this.context.root, process.cwd())); + workflow.registry.addSmartDefaultProvider('workingDirectory', () => + workingDir === '' ? undefined : workingDir, + ); let shouldReportAnalytics = true; + workflow.engineHost.registerOptionsTransform(async (schematic, options) => { if (shouldReportAnalytics) { shouldReportAnalytics = false; @@ -150,6 +156,35 @@ export abstract class SchematicsCommandModule ]); } + // TODO: The below should be removed in version 15 when we change 1P schematics to use the `workingDirectory smart default`. + // Handle `"format": "path"` options. + const schema = schematic?.schemaJson; + if (!options || !schema || !isJsonObject(schema)) { + return options; + } + + if (!('path' in options && (options as Record)['path'] === undefined)) { + return options; + } + + const properties = schema?.['properties']; + if (!properties || !isJsonObject(properties)) { + return options; + } + + const property = properties['path']; + if (!property || !isJsonObject(property)) { + return options; + } + + if (property['format'] === 'path' && !property['$default']) { + (options as Record)['path'] = workingDir || undefined; + this.context.logger.warn( + `The 'path' option in '${schematic?.schema}' is using deprecated behaviour.` + + `'workingDirectory' smart default provider should be used instead.`, + ); + } + return options; }); @@ -356,9 +391,9 @@ export abstract class SchematicsCommandModule if (typeof defaultProjectName === 'string' && defaultProjectName) { if (!this.defaultProjectDeprecationWarningShown) { logger.warn(tags.oneLine` - DEPRECATED: The 'defaultProject' workspace option has been deprecated. - The project to use will be determined from the current working directory. - `); + DEPRECATED: The 'defaultProject' workspace option has been deprecated. + The project to use will be determined from the current working directory. + `); this.defaultProjectDeprecationWarningShown = true; } diff --git a/packages/schematics/angular/app-shell/schema.json b/packages/schematics/angular/app-shell/schema.json index 44fba253e017..460a45e960ca 100644 --- a/packages/schematics/angular/app-shell/schema.json +++ b/packages/schematics/angular/app-shell/schema.json @@ -27,19 +27,16 @@ }, "main": { "type": "string", - "format": "path", "description": "The name of the main entry-point file.", "default": "main.server.ts" }, "appDir": { "type": "string", - "format": "path", "description": "The name of the application directory.", "default": "app" }, "rootModuleFileName": { "type": "string", - "format": "path", "description": "The name of the root module file", "default": "app.server.module.ts" }, diff --git a/packages/schematics/angular/class/schema.json b/packages/schematics/angular/class/schema.json index 1999daaea8f0..6bb235b5ddca 100644 --- a/packages/schematics/angular/class/schema.json +++ b/packages/schematics/angular/class/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the class, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/component/schema.json b/packages/schematics/angular/component/schema.json index 38b5d06435b7..163461ce2842 100644 --- a/packages/schematics/angular/component/schema.json +++ b/packages/schematics/angular/component/schema.json @@ -9,6 +9,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the component file, relative to the current workspace. Default is a folder with the same name as the component in the project root.", "visible": false }, diff --git a/packages/schematics/angular/directive/schema.json b/packages/schematics/angular/directive/schema.json index 09ed861e6774..2caa172ecb7a 100644 --- a/packages/schematics/angular/directive/schema.json +++ b/packages/schematics/angular/directive/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the interface that defines the directive, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/enum/schema.json b/packages/schematics/angular/enum/schema.json index bb785e57468b..c2b154947a36 100644 --- a/packages/schematics/angular/enum/schema.json +++ b/packages/schematics/angular/enum/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the enum definition, relative to the current workspace.", "visible": false }, diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index 76c55dfe3e68..f66bdc9428cc 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -29,6 +29,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the interface that defines the guard, relative to the current workspace.", "visible": false }, diff --git a/packages/schematics/angular/interceptor/schema.json b/packages/schematics/angular/interceptor/schema.json index 6bc844ef371f..506456c89c8f 100755 --- a/packages/schematics/angular/interceptor/schema.json +++ b/packages/schematics/angular/interceptor/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the interceptor, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/interface/schema.json b/packages/schematics/angular/interface/schema.json index 5ae1aeaa9b80..3691716f4fc5 100644 --- a/packages/schematics/angular/interface/schema.json +++ b/packages/schematics/angular/interface/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the interface, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/module/schema.json b/packages/schematics/angular/module/schema.json index bd7c65225d49..17b3d09e6a34 100644 --- a/packages/schematics/angular/module/schema.json +++ b/packages/schematics/angular/module/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the NgModule, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/pipe/schema.json b/packages/schematics/angular/pipe/schema.json index 900dac7ccdb9..3bfab73608c6 100644 --- a/packages/schematics/angular/pipe/schema.json +++ b/packages/schematics/angular/pipe/schema.json @@ -18,6 +18,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the pipe, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/resolver/schema.json b/packages/schematics/angular/resolver/schema.json index e62b537b10b8..76ad1614c080 100644 --- a/packages/schematics/angular/resolver/schema.json +++ b/packages/schematics/angular/resolver/schema.json @@ -29,6 +29,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the interface that defines the resolver, relative to the current workspace.", "visible": false }, diff --git a/packages/schematics/angular/service/schema.json b/packages/schematics/angular/service/schema.json index 5c389303934a..70b5aba0264d 100644 --- a/packages/schematics/angular/service/schema.json +++ b/packages/schematics/angular/service/schema.json @@ -17,7 +17,9 @@ }, "path": { "type": "string", - "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the service, relative to the workspace root.", "visible": false }, diff --git a/packages/schematics/angular/web-worker/schema.json b/packages/schematics/angular/web-worker/schema.json index f1370164479b..2b8b9ccca97f 100644 --- a/packages/schematics/angular/web-worker/schema.json +++ b/packages/schematics/angular/web-worker/schema.json @@ -9,6 +9,9 @@ "path": { "type": "string", "format": "path", + "$default": { + "$source": "workingDirectory" + }, "description": "The path at which to create the worker file, relative to the current workspace.", "visible": false }, From 10077bec2c51aa9f30e7da5d37f7dd7712455995 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 24 May 2022 17:01:59 +0000 Subject: [PATCH 0436/1388] build: update dependency sass-loader to v13 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 74123583f674..d7a3914ce333 100644 --- a/package.json +++ b/package.json @@ -192,7 +192,7 @@ "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.52.1", - "sass-loader": "12.6.0", + "sass-loader": "13.0.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", "shelljs": "^0.8.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 424f3c144b3f..3f85335422d4 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -53,7 +53,7 @@ "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.52.1", - "sass-loader": "12.6.0", + "sass-loader": "13.0.0", "semver": "7.3.7", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", diff --git a/yarn.lock b/yarn.lock index 477e31636024..c8f2212819ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9377,6 +9377,14 @@ sass-loader@12.6.0: klona "^2.0.4" neo-async "^2.6.2" +sass-loader@13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.0.tgz#0b4bff0289951ed21240bca54453eca3dbda1713" + integrity sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + sass@1.51.0: version "1.51.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" From b485e48ef890c1b102cb3b6948beea84721c392e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 25 May 2022 12:38:31 +0000 Subject: [PATCH 0437/1388] docs: correct `completion.gif` image path Assets paths in AIO need to be relative. This also ensures that the base href element is respected if changed. https://app.circleci.com/pipelines/github/angular/angular/46755/workflows/ea228e6e-62ab-4d7f-9764-2c1056ad0366/jobs/1173152 --- .../angular/cli/src/commands/completion/long-description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/completion/long-description.md b/packages/angular/cli/src/commands/completion/long-description.md index cf3517a9520f..f7078ba6619f 100644 --- a/packages/angular/cli/src/commands/completion/long-description.md +++ b/packages/angular/cli/src/commands/completion/long-description.md @@ -4,7 +4,7 @@ discover and use CLI commands without lots of memorization. ![A demo of Angular CLI autocompletion in a terminal. The user types several partial `ng` commands, using autocompletion to finish several arguments and list contextual options. -](/generated/images/guide/cli/completion.gif) +](generated/images/guide/cli/completion.gif) ## Automated setup From d2e9edd46304d2187b18f673db620bdd1892a39e Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Wed, 25 May 2022 08:49:16 +0200 Subject: [PATCH 0438/1388] build: update to TypeScript 4.7 final Bumps up the TypeScript 4.7 for our own build as well as any newly-created apps. --- package.json | 2 +- .../blank/project-files/package.json | 2 +- .../schematic/files/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- .../Microsoft/TypeScript/BUILD.bazel | 8 ++++---- .../Microsoft/TypeScript/lib/typescript.js | 18 +++++++++--------- .../utility/latest-versions/package.json | 2 +- .../e2e/assets/webpack/test-app/package.json | 2 +- yarn.lock | 12 +++++------- 9 files changed, 24 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index d7a3914ce333..089abaf48aec 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.7.1-rc", + "typescript": "~4.7.2", "verdaccio": "5.10.2", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.1", diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json b/packages/angular_devkit/schematics_cli/blank/project-files/package.json index 05e4faa3273e..ff6f7752da66 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/package.json +++ b/packages/angular_devkit/schematics_cli/blank/project-files/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "^<%= coreVersion %>", "@angular-devkit/schematics": "^<%= schematicsVersion %>", - "typescript": "~4.6.2" + "typescript": "~4.7.2" }, "devDependencies": { "@types/node": "^14.15.0", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index cb22f1ba923b..e3bca47fe1bc 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "^<%= coreVersion %>", "@angular-devkit/schematics": "^<%= schematicsVersion %>", - "typescript": "~4.6.2" + "typescript": "~4.7.2" }, "devDependencies": { "@types/node": "^14.15.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index e77aed26404d..48ed647168c3 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.0.0-rc.1", "@angular/compiler-cli": "14.0.0-rc.1", - "typescript": "4.7.1-rc", + "typescript": "~4.7.2", "webpack": "5.72.1" } } diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index b942565e8b30..23be65fe0fb7 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,11 +1,11 @@ load("//tools:defaults.bzl", "ts_library") -# files fetched on 2022-05-06 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.7-rc +# files fetched on 2022-05-25 from +# https://github.com/microsoft/TypeScript/releases/tag/v4.7.2 # Commands to download: -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-rc/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7-rc/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7.2/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7.2/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js licenses(["notice"]) # Apache 2.0 diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index cd94f8f9414c..8f41c15ff8d8 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -294,7 +294,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "".concat(ts.versionMajorMinor, ".1-rc"); + ts.version = "4.7.2"; /* @internal */ var Comparison; (function (Comparison) { @@ -59090,9 +59090,9 @@ var ts; t.flags & 2097152 /* TypeFlags.Intersection */ ? getApparentTypeOfIntersectionType(t) : t.flags & 402653316 /* TypeFlags.StringLike */ ? globalStringType : t.flags & 296 /* TypeFlags.NumberLike */ ? globalNumberType : - t.flags & 2112 /* TypeFlags.BigIntLike */ ? getGlobalBigIntType(/*reportErrors*/ languageVersion >= 7 /* ScriptTarget.ES2020 */) : + t.flags & 2112 /* TypeFlags.BigIntLike */ ? getGlobalBigIntType() : t.flags & 528 /* TypeFlags.BooleanLike */ ? globalBooleanType : - t.flags & 12288 /* TypeFlags.ESSymbolLike */ ? getGlobalESSymbolType(/*reportErrors*/ languageVersion >= 2 /* ScriptTarget.ES2015 */) : + t.flags & 12288 /* TypeFlags.ESSymbolLike */ ? getGlobalESSymbolType() : t.flags & 67108864 /* TypeFlags.NonPrimitive */ ? emptyObjectType : t.flags & 4194304 /* TypeFlags.Index */ ? keyofConstraintType : t.flags & 2 /* TypeFlags.Unknown */ && !strictNullChecks ? emptyObjectType : @@ -60667,8 +60667,8 @@ var ts; function getGlobalESSymbolConstructorTypeSymbol(reportErrors) { return deferredGlobalESSymbolConstructorTypeSymbol || (deferredGlobalESSymbolConstructorTypeSymbol = getGlobalTypeSymbol("SymbolConstructor", reportErrors)); } - function getGlobalESSymbolType(reportErrors) { - return (deferredGlobalESSymbolType || (deferredGlobalESSymbolType = getGlobalType("Symbol", /*arity*/ 0, reportErrors))) || emptyObjectType; + function getGlobalESSymbolType() { + return (deferredGlobalESSymbolType || (deferredGlobalESSymbolType = getGlobalType("Symbol", /*arity*/ 0, /*reportErrors*/ false))) || emptyObjectType; } function getGlobalPromiseType(reportErrors) { return (deferredGlobalPromiseType || (deferredGlobalPromiseType = getGlobalType("Promise", /*arity*/ 1, reportErrors))) || emptyGenericType; @@ -60732,8 +60732,8 @@ var ts; deferredGlobalAwaitedSymbol || (deferredGlobalAwaitedSymbol = getGlobalTypeAliasSymbol("Awaited", /*arity*/ 1, reportErrors) || (reportErrors ? unknownSymbol : undefined)); return deferredGlobalAwaitedSymbol === unknownSymbol ? undefined : deferredGlobalAwaitedSymbol; } - function getGlobalBigIntType(reportErrors) { - return (deferredGlobalBigIntType || (deferredGlobalBigIntType = getGlobalType("BigInt", /*arity*/ 0, reportErrors))) || emptyObjectType; + function getGlobalBigIntType() { + return (deferredGlobalBigIntType || (deferredGlobalBigIntType = getGlobalType("BigInt", /*arity*/ 0, /*reportErrors*/ false))) || emptyObjectType; } /** * Instantiates a global type that is generic with some element type, and returns that instantiation. @@ -64885,7 +64885,7 @@ var ts; if ((globalStringType === source && stringType === target) || (globalNumberType === source && numberType === target) || (globalBooleanType === source && booleanType === target) || - (getGlobalESSymbolType(/*reportErrors*/ false) === source && esSymbolType === target)) { + (getGlobalESSymbolType() === source && esSymbolType === target)) { reportError(ts.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType); } } @@ -82697,7 +82697,7 @@ var ts; var childSymbol = getSymbolAtLocation(childNode); if (childSymbol && childSymbol === testedSymbol) { // If the test was a simple identifier, the above check is sufficient - if (ts.isIdentifier(expr)) { + if (ts.isIdentifier(expr) || ts.isIdentifier(testedNode) && ts.isBinaryExpression(testedNode.parent)) { return true; } // Otherwise we need to ensure the symbol is called on the same target diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 24e3fc814afb..bf3ee8bb0004 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -15,7 +15,7 @@ "rxjs": "~7.5.0", "tslib": "^2.3.0", "ts-node": "~10.8.0", - "typescript": "~4.6.2", + "typescript": "~4.7.2", "zone.js": "~0.11.4" } } diff --git a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json index cb6d32e1fb7a..d2b815e17012 100644 --- a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json +++ b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json @@ -17,7 +17,7 @@ "devDependencies": { "sass": "^1.32.8", "sass-loader": "^11.0.1", - "typescript": "~4.6.2", + "typescript": "~4.7.2", "webpack": "^5.27.0", "webpack-cli": "^4.5.0" } diff --git a/yarn.lock b/yarn.lock index c8f2212819ce..bcda7b4c7d0b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -177,7 +177,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b": version "0.0.0-2a50bf4f37f041d8b88c743fae45d09b400e917e" - uid "6ee7dd89d71cbdfbd9144e1b84f2090b445e180b" resolved "https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b" dependencies: "@angular-devkit/build-angular" "14.0.0-rc.1" @@ -9405,7 +9404,6 @@ sass@1.52.1, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10531,16 +10529,16 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.7.1-rc: - version "4.7.1-rc" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.1-rc.tgz#23a0517d36c56de887b4457f29e2d265647bbd7c" - integrity sha512-EQd2NVelDe6ZVc2sO1CSpuSs+RHzY8c2n/kTNQAHw4um/eAXY+ZY4IKoUpNK0wO6C5hN+XcUXR7yqT8VbwwNIQ== - typescript@^4.6.2, typescript@~4.6.2, typescript@~4.6.3: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== +typescript@~4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" + integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== + ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" From c3821caf9858c3a26a5caf421bd6749db0fd6798 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 13 May 2022 11:12:36 -0400 Subject: [PATCH 0439/1388] refactor(@schematics/angular): use updated utilities in E2E schematic Updates the E2E schematic to use the workspace and dependency utility rules exported from `@schematics/angular/utility`. This change also removes the use of the custom path manipulation functions from `@angular-devkit/core`. The development dependency versions for `protractor` and `jasmine-spec-reporter` are also moved to the latest versions helper `package.json` file. This move allows the versions to be automatically updated via renovate instead of hardcoded in the schematic source code. --- packages/schematics/angular/e2e/index.ts | 80 +++++++++---------- .../utility/latest-versions/package.json | 2 + 2 files changed, 38 insertions(+), 44 deletions(-) diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index aafe632563ec..44f9ad9d8ddd 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -6,11 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { join, normalize } from '@angular-devkit/core'; import { Rule, SchematicsException, - Tree, apply, applyTemplates, chain, @@ -19,14 +17,29 @@ import { strings, url, } from '@angular-devkit/schematics'; -import { readWorkspace, writeWorkspace } from '../utility'; -import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; +import { + AngularBuilder, + DependencyType, + addDependency, + updateWorkspace, +} from '@schematics/angular/utility'; +import { posix as path } from 'path'; import { JSONFile } from '../utility/json-file'; import { latestVersions } from '../utility/latest-versions'; -import { relativePathToWorkspaceRoot } from '../utility/paths'; -import { Builders } from '../utility/workspace-models'; import { Schema as E2eOptions } from './schema'; +/** + * The list of development dependencies used by the E2E protractor-based builder. + * The versions are sourced from the latest versions `../utility/latest-versions/package.json` + * file which is automatically updated via renovate. + */ +const E2E_DEV_DEPENDENCIES = Object.freeze([ + 'protractor', + 'jasmine-spec-reporter', + 'ts-node', + '@types/node', +]); + function addScriptsToPackageJson(): Rule { return (host) => { const pkgJson = new JSONFile(host, 'package.json'); @@ -39,70 +52,49 @@ function addScriptsToPackageJson(): Rule { } export default function (options: E2eOptions): Rule { - return async (host: Tree) => { - const appProject = options.relatedAppName; - const workspace = await readWorkspace(host); - const project = workspace.projects.get(appProject); + const { relatedAppName } = options; + + return updateWorkspace((workspace) => { + const project = workspace.projects.get(relatedAppName); + if (!project) { - throw new SchematicsException(`Project name "${appProject}" doesn't not exist.`); + throw new SchematicsException(`Project name "${relatedAppName}" doesn't not exist.`); } - const root = join(normalize(project.root), 'e2e'); + const e2eRootPath = path.join(project.root, 'e2e'); project.targets.add({ name: 'e2e', - builder: Builders.Protractor, + builder: AngularBuilder.Protractor, defaultConfiguration: 'development', options: { - protractorConfig: `${root}/protractor.conf.js`, + protractorConfig: path.join(e2eRootPath, 'protractor.conf.js'), }, configurations: { production: { - devServerTarget: `${options.relatedAppName}:serve:production`, + devServerTarget: `${relatedAppName}:serve:production`, }, development: { - devServerTarget: `${options.relatedAppName}:serve:development`, + devServerTarget: `${relatedAppName}:serve:development`, }, }, }); - await writeWorkspace(host, workspace); - return chain([ mergeWith( apply(url('./files'), [ applyTemplates({ utils: strings, ...options, - relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(root), + relativePathToWorkspaceRoot: path.relative(path.join('/', e2eRootPath), '/'), }), - move(root), + move(e2eRootPath), ]), ), - (host) => - [ - { - type: NodeDependencyType.Dev, - name: 'protractor', - version: '~7.0.0', - }, - { - type: NodeDependencyType.Dev, - name: 'jasmine-spec-reporter', - version: '~7.0.0', - }, - { - type: NodeDependencyType.Dev, - name: 'ts-node', - version: latestVersions['ts-node'], - }, - { - type: NodeDependencyType.Dev, - name: '@types/node', - version: latestVersions['@types/node'], - }, - ].forEach((dep) => addPackageJsonDependency(host, dep)), + ...E2E_DEV_DEPENDENCIES.map((name) => + addDependency(name, latestVersions[name], { type: DependencyType.Dev }), + ), addScriptsToPackageJson(), ]); - }; + }); } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index bf3ee8bb0004..d31eabaf572b 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -6,12 +6,14 @@ "@types/jasmine": "~4.0.0", "@types/node": "^14.15.0", "jasmine-core": "~4.1.0", + "jasmine-spec-reporter": "~7.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine-html-reporter": "~1.7.0", "karma-jasmine": "~5.0.0", "karma": "~6.3.0", "ng-packagr": "^14.0.0-next.8", + "protractor": "~7.0.0", "rxjs": "~7.5.0", "tslib": "^2.3.0", "ts-node": "~10.8.0", From 707911d423873623d4201d2fbce4a294ab73a135 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 12 May 2022 12:27:33 -0400 Subject: [PATCH 0440/1388] feat(@schematics/angular): support controlling `addDependency` utility rule install behavior When using the `addDependency` rule from `@schematics/angular/utility` a new option is now available that supports controlling the rule's behavior when scheduling the `NodePackageInstallTask`. Previously, the behavior was automatic and the rule would only schedule the task if it was not already scheduled by a previous `addDependency` rule usage for the `package.json`. This behavior is still the default behavior. However, it can now be customized per rule invocation via the `install` rule option which can be either `InstallBehavior.None`, `InstallBehavior.Auto`, or `InstallBehavior.Always`. --- .../schematics/angular/utility/dependency.ts | 41 +++++- .../angular/utility/dependency_spec.ts | 136 +++++++++++++++++- packages/schematics/angular/utility/index.ts | 2 +- 3 files changed, 174 insertions(+), 5 deletions(-) diff --git a/packages/schematics/angular/utility/dependency.ts b/packages/schematics/angular/utility/dependency.ts index b4acdd6cbc5b..88df71cc5746 100644 --- a/packages/schematics/angular/utility/dependency.ts +++ b/packages/schematics/angular/utility/dependency.ts @@ -28,6 +28,30 @@ export enum DependencyType { Peer = 'peerDependencies', } +/** + * An enum used to specify the dependency installation behavior for the {@link addDependency} + * schematics rule. The installation behavior affects if and when {@link NodePackageInstallTask} + * will be scheduled when using the rule. + */ +export enum InstallBehavior { + /** + * No installation will occur as a result of the rule when specified. + * + * NOTE: This does not prevent other rules from scheduling a {@link NodePackageInstallTask} + * which may install the dependency. + */ + None, + /** + * Automatically determine the need to schedule a {@link NodePackageInstallTask} based on + * previous usage of the {@link addDependency} within the schematic. + */ + Auto, + /** + * Always schedule a {@link NodePackageInstallTask} when the rule is executed. + */ + Always, +} + /** * Adds a package as a dependency to a `package.json`. By default the `package.json` located * at the schematic's root will be used. The `manifestPath` option can be used to explicitly specify @@ -58,9 +82,19 @@ export function addDependency( * Defaults to `/package.json`. */ packageJsonPath?: string; + /** + * The dependency installation behavior to use to determine whether a + * {@link NodePackageInstallTask} should be scheduled after adding the dependency. + * Defaults to {@link InstallBehavior.Auto}. + */ + install?: InstallBehavior; } = {}, ): Rule { - const { type = DependencyType.Default, packageJsonPath = '/package.json' } = options; + const { + type = DependencyType.Default, + packageJsonPath = '/package.json', + install = InstallBehavior.Auto, + } = options; return (tree, context) => { const manifest = tree.readJson(packageJsonPath) as MinimalPackageManifest; @@ -86,7 +120,10 @@ export function addDependency( tree.overwrite(packageJsonPath, JSON.stringify(manifest, null, 2)); const installPaths = installTasks.get(context) ?? new Set(); - if (!installPaths.has(packageJsonPath)) { + if ( + install === InstallBehavior.Always || + (install === InstallBehavior.Auto && !installPaths.has(packageJsonPath)) + ) { context.addTask( new NodePackageInstallTask({ workingDirectory: path.dirname(packageJsonPath) }), ); diff --git a/packages/schematics/angular/utility/dependency_spec.ts b/packages/schematics/angular/utility/dependency_spec.ts index 67a96ea3d2ba..f80a341c181e 100644 --- a/packages/schematics/angular/utility/dependency_spec.ts +++ b/packages/schematics/angular/utility/dependency_spec.ts @@ -15,7 +15,7 @@ import { callRule, chain, } from '@angular-devkit/schematics'; -import { DependencyType, addDependency } from './dependency'; +import { DependencyType, InstallBehavior, addDependency } from './dependency'; async function testRule(rule: Rule, tree: Tree): Promise { const tasks: TaskConfigurationGenerator[] = []; @@ -192,6 +192,58 @@ describe('addDependency', () => { ]); }); + it('schedules a package install task when install behavior is auto', async () => { + const tree = new EmptyTree(); + tree.create('/abc/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0', { + packageJsonPath: '/abc/package.json', + install: InstallBehavior.Auto, + }); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/abc' }), + }, + ]); + }); + + it('schedules a package install task when install behavior is always', async () => { + const tree = new EmptyTree(); + tree.create('/abc/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0', { + packageJsonPath: '/abc/package.json', + install: InstallBehavior.Always, + }); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/abc' }), + }, + ]); + }); + + it('does not schedule a package install task when install behavior is none', async () => { + const tree = new EmptyTree(); + tree.create('/abc/package.json', JSON.stringify({})); + + const rule = addDependency('@angular/core', '^14.0.0', { + packageJsonPath: '/abc/package.json', + install: InstallBehavior.None, + }); + + const tasks = await testRule(rule, tree); + + expect(tasks).toEqual([]); + }); + it('does not schedule a package install task if version is the same', async () => { const tree = new EmptyTree(); tree.create( @@ -208,7 +260,7 @@ describe('addDependency', () => { expect(tasks).toEqual([]); }); - it('only schedules one package install task for the same manifest path', async () => { + it('only schedules one package install task for the same manifest path by default', async () => { const tree = new EmptyTree(); tree.create('/package.json', JSON.stringify({})); @@ -227,6 +279,86 @@ describe('addDependency', () => { ]); }); + it('only schedules one package install task for the same manifest path with auto install behavior', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = chain([ + addDependency('@angular/core', '^14.0.0', { install: InstallBehavior.Auto }), + addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.Auto }), + ]); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + ]); + }); + + it('only schedules one package install task for the same manifest path with mixed auto/none install behavior', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = chain([ + addDependency('@angular/core', '^14.0.0', { install: InstallBehavior.Auto }), + addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.None }), + ]); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + ]); + }); + + it('only schedules one package install task for the same manifest path with mixed always then auto install behavior', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = chain([ + addDependency('@angular/core', '^14.0.0', { install: InstallBehavior.Always }), + addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.Auto }), + ]); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + ]); + }); + + it('schedules multiple package install tasks for the same manifest path with mixed auto then always install behavior', async () => { + const tree = new EmptyTree(); + tree.create('/package.json', JSON.stringify({})); + + const rule = chain([ + addDependency('@angular/core', '^14.0.0', { install: InstallBehavior.Auto }), + addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.Always }), + ]); + + const tasks = await testRule(rule, tree); + + expect(tasks.map((task) => task.toConfiguration())).toEqual([ + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + { + name: 'node-package', + options: jasmine.objectContaining({ command: 'install', workingDirectory: '/' }), + }, + ]); + }); + it('schedules a package install task for each manifest path present', async () => { const tree = new EmptyTree(); tree.create('/package.json', JSON.stringify({})); diff --git a/packages/schematics/angular/utility/index.ts b/packages/schematics/angular/utility/index.ts index c8fa9a1de6c1..b29e572f5b9e 100644 --- a/packages/schematics/angular/utility/index.ts +++ b/packages/schematics/angular/utility/index.ts @@ -18,4 +18,4 @@ export { export { Builders as AngularBuilder } from './workspace-models'; // Package dependency related rules and types -export { DependencyType, addDependency } from './dependency'; +export { DependencyType, InstallBehavior, addDependency } from './dependency'; From 5b4d6311e4a5f3e6654c04ae15ebe73bb6227a80 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 25 May 2022 15:36:11 -0400 Subject: [PATCH 0441/1388] docs: release notes for the v13.3.7 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index acdec297f7c2..8bc5e0bb70b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.3.7 (2022-05-25) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- | +| [a54018d8f](https://github.com/angular/angular-cli/commit/a54018d8f5f976034bf0a33f826245b7a6b74bbe) | fix | add debugging and timing information in JavaScript and CSS optimization plugins | + +## Special Thanks + +Alan Agius and Joey Perrott + + + # 14.0.0-rc.1 (2022-05-18) From 399d8e783f3ac16abe4aaabe084057e4fb93611e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 25 May 2022 17:44:44 -0400 Subject: [PATCH 0442/1388] docs: release notes for the v14.0.0-rc.2 release --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bc5e0bb70b9..cff4872d717e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ + + +# 14.0.0-rc.2 (2022-05-25) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [3012036e8](https://github.com/angular/angular-cli/commit/3012036e81fc6e5fc6c0f1df7ec626f91285673e) | fix | populate path with working directory in nested schematics | +| [142da460b](https://github.com/angular/angular-cli/commit/142da460b22e07a5a37b6140b50663446c3a2dbf) | fix | remove incorrect warning during `ng update` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- | +| [1b27af07e](https://github.com/angular/angular-cli/commit/1b27af07e1116d505a41b1146db7e735f411ddaa) | fix | add debugging and timing information in JavaScript and CSS optimization plugins | +| [72e820e7b](https://github.com/angular/angular-cli/commit/72e820e7b2bc6904b030f1092bbb610334a4036f) | fix | better handle Windows paths in esbuild experimental builder | +| [c52d10d1f](https://github.com/angular/angular-cli/commit/c52d10d1fc4b70483a2043edfa73dc0f323f6bf1) | fix | close dev-server on error | +| [4d5f6c659](https://github.com/angular/angular-cli/commit/4d5f6c65918c1a8a4bde0a0af01089242d1cdc4a) | fix | downlevel libraries based on the browserslist configurations | + +## Special Thanks + +Alan Agius, Joey Perrott and Kristiyan Kostadinov + + + # 13.3.7 (2022-05-25) From ea5c215826b6099248f9208387cf1526cd059248 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 25 May 2022 18:26:54 -0400 Subject: [PATCH 0443/1388] test: use project e2e schematic during E2E project setup Previously, the globally installed CLI's schematic was used to setup E2E testing in the generated project used for testing. By using the project's schematic, the generated project becomes more representative of a user's project. --- tests/legacy-cli/e2e/utils/project.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 42f5bbe8264d..dc721c688efe 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -33,7 +33,14 @@ export async function prepareProjectForE2e(name) { await git('config', 'user.name', 'Angular CLI E2e'); await git('config', 'commit.gpgSign', 'false'); - await ng('generate', '@schematics/angular:e2e', '--related-app-name', name); + if (argv['ng-snapshots'] || argv['ng-tag']) { + await useSha(); + } + + console.log(`Project ${name} created... Installing packages.`); + await installWorkspacePackages(); + + await ng('generate', 'e2e', '--related-app-name', name); await useCIChrome('e2e'); await useCIChrome(''); @@ -41,12 +48,6 @@ export async function prepareProjectForE2e(name) { // legacy projects await useCIChrome('src'); - if (argv['ng-snapshots'] || argv['ng-tag']) { - await useSha(); - } - - console.log(`Project ${name} created... Installing npm.`); - await installWorkspacePackages(); await useCIDefaults(name); // Force sourcemaps to be from the root of the filesystem. await updateJsonFile('tsconfig.json', (json) => { From a28f4b342388b2888198844e84bb84d8ebf0437b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 26 May 2022 10:50:06 +0000 Subject: [PATCH 0444/1388] build: update dependency karma-jasmine-html-reporter to v2 --- .../schematics/angular/utility/latest-versions/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index d31eabaf572b..75bd094ca593 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -9,7 +9,7 @@ "jasmine-spec-reporter": "~7.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", - "karma-jasmine-html-reporter": "~1.7.0", + "karma-jasmine-html-reporter": "~2.0.0", "karma-jasmine": "~5.0.0", "karma": "~6.3.0", "ng-packagr": "^14.0.0-next.8", From 0a07e72ab7901b4029a31cd0c57e59715ea63913 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 26 May 2022 10:50:00 +0000 Subject: [PATCH 0445/1388] build: update dependency karma-jasmine-html-reporter to v2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 089abaf48aec..58860e7fd48c 100644 --- a/package.json +++ b/package.json @@ -159,7 +159,7 @@ "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.0.0", - "karma-jasmine-html-reporter": "~1.7.0", + "karma-jasmine-html-reporter": "~2.0.0", "karma-source-map-support": "1.4.0", "less": "4.1.2", "less-loader": "11.0.0", diff --git a/yarn.lock b/yarn.lock index bcda7b4c7d0b..8596dd8d09bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6811,10 +6811,10 @@ karma-coverage@~2.2.0: istanbul-reports "^3.0.5" minimatch "^3.0.4" -karma-jasmine-html-reporter@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz#52c489a74d760934a1089bfa5ea4a8fcb84cc28b" - integrity sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ== +karma-jasmine-html-reporter@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz#76c26ce40e217dc36a630fbcd7b31c3462948bf2" + integrity sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA== karma-jasmine@~5.0.0: version "5.0.1" From cba5f6c1bbf69340434d96fe6ec63846fb06b3f7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 25 May 2022 10:24:55 -0400 Subject: [PATCH 0446/1388] fix(@angular-devkit/build-angular): add es2015 exports package condition to browser-esbuild The `es2015` exports package condition is used by `rxjs` to allow bundlers to use the ES2015-based ESM code instead of the default of ES5-based ESM code. The ES5-based ESM code is larger in size and harder to optimize due to the downlevelled classes. This change results in a ~5Kb size reduction for the main bundle of a new application (129920 -> 124183). --- .../build_angular/src/builders/browser-esbuild/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index fd0016311c09..b8e2e2c2c6cf 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -281,7 +281,7 @@ async function bundleCode( assetNames: outputNames.media, target: 'es2020', mainFields: ['es2020', 'browser', 'module', 'main'], - conditions: ['es2020', 'module'], + conditions: ['es2020', 'es2015', 'module'], resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], logLevel: options.verbose ? 'debug' : 'silent', metafile: true, From d79176e4569f56e8c1f3f845b3da77c3663b1181 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 26 May 2022 11:37:07 -0400 Subject: [PATCH 0447/1388] fix(@angular/cli): workaround npm 7+ peer dependency resolve errors during updates npm 7+ can fail due to it incorrectly resolving peer dependencies that have valid SemVer ranges during an `ng update`. Update will set correct versions of dependencies within the package.json file. However, the failing npm package installation will cause the update process to abort. To workaround these errors, the npm force option is set during package installation when the npm package manager at version 7.0.0 or greater is used during an update. Example error: ``` npm ERR! Conflicting peer dependency: @angular/compiler-cli@14.0.0-rc.0 npm ERR! node_modules/@angular/compiler-cli npm ERR! peer @angular/compiler-cli@"^14.0.0 || ^14.0.0-rc" from @angular-devkit/build-angular@14.0.0-rc.0 npm ERR! node_modules/@angular-devkit/build-angular npm ERR! dev @angular-devkit/build-angular@"~14.0.0-rc.0" from the root project ``` --- .../angular/cli/src/commands/update/cli.ts | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 7a526ae73edb..9876c1636bb7 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -686,8 +686,26 @@ export class UpdateCommandModule extends CommandModule { }); } catch {} + let forceInstall = options.force; + // npm 7+ can fail due to it incorrectly resolving peer dependencies that have valid SemVer + // ranges during an update. Update will set correct versions of dependencies within the + // package.json file. The force option is set to workaround these errors. + // Example error: + // npm ERR! Conflicting peer dependency: @angular/compiler-cli@14.0.0-rc.0 + // npm ERR! node_modules/@angular/compiler-cli + // npm ERR! peer @angular/compiler-cli@"^14.0.0 || ^14.0.0-rc" from @angular-devkit/build-angular@14.0.0-rc.0 + // npm ERR! node_modules/@angular-devkit/build-angular + // npm ERR! dev @angular-devkit/build-angular@"~14.0.0-rc.0" from the root project + if ( + this.context.packageManager.name === PackageManager.Npm && + this.context.packageManager.version && + semver.gte(this.context.packageManager.version, '7.0.0', { includePrerelease: true }) + ) { + logVerbose('NPM 7+ detected -- enabling force option for package installation'); + forceInstall = true; + } const installationSuccess = await this.context.packageManager.installAll( - options.force ? ['--force'] : [], + forceInstall ? ['--force'] : [], this.context.root, ); From e895fc7c1012796442cb7a4a3b9b3a0ec3845b0e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 24 May 2022 19:01:45 -0400 Subject: [PATCH 0448/1388] refactor(@schematics/angular): move standalone component helpers to a private export for Angular components The standalone component helper utilities introduced into the `@angular/cdk` via https://github.com/angular/components/pull/24931 have been added to an export path (`private/components`) within `@schematics/angular`. The export path is primarily intended for the use of the components schematics within `@angular/cdk` and `@angular/material`. The API exported from this path is not considered public API, does not provide SemVer guarantees, and may be modified or removed without a deprecation cycle. --- packages/schematics/angular/package.json | 3 +- .../schematics/angular/private/components.ts | 13 + .../schematics/angular/private/standalone.ts | 277 ++++++++++++++++++ .../angular/private/standalone_spec.ts | 263 +++++++++++++++++ 4 files changed, 555 insertions(+), 1 deletion(-) create mode 100644 packages/schematics/angular/private/components.ts create mode 100644 packages/schematics/angular/private/standalone.ts create mode 100644 packages/schematics/angular/private/standalone_spec.ts diff --git a/packages/schematics/angular/package.json b/packages/schematics/angular/package.json index ba8e7cb75650..5bc3cc810fb1 100644 --- a/packages/schematics/angular/package.json +++ b/packages/schematics/angular/package.json @@ -13,7 +13,8 @@ "./utility": "./utility/index.js", "./utility/*": "./utility/*.js", "./migrations/migration-collection.json": "./migrations/migration-collection.json", - "./*": "./*.js" + "./*": "./*.js", + "./private/components": "./private/components.js" }, "schematics": "./collection.json", "dependencies": { diff --git a/packages/schematics/angular/private/components.ts b/packages/schematics/angular/private/components.ts new file mode 100644 index 000000000000..3365c0bb353d --- /dev/null +++ b/packages/schematics/angular/private/components.ts @@ -0,0 +1,13 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export { + addModuleImportToStandaloneBootstrap, + findBootstrapApplicationCall, + importsProvidersFrom, +} from './standalone'; diff --git a/packages/schematics/angular/private/standalone.ts b/packages/schematics/angular/private/standalone.ts new file mode 100644 index 000000000000..b171b8ae7597 --- /dev/null +++ b/packages/schematics/angular/private/standalone.ts @@ -0,0 +1,277 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { SchematicsException, Tree } from '@angular-devkit/schematics'; +import ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; +import { insertImport } from '../utility/ast-utils'; +import { InsertChange } from '../utility/change'; + +/** + * Checks whether the providers from a module are being imported in a `bootstrapApplication` call. + * @param tree File tree of the project. + * @param filePath Path of the file in which to check. + * @param className Class name of the module to search for. + */ +export function importsProvidersFrom(tree: Tree, filePath: string, className: string): boolean { + const sourceFile = ts.createSourceFile( + filePath, + tree.readText(filePath), + ts.ScriptTarget.Latest, + true, + ); + + const bootstrapCall = findBootstrapApplicationCall(sourceFile); + const importProvidersFromCall = bootstrapCall ? findImportProvidersFromCall(bootstrapCall) : null; + + return ( + !!importProvidersFromCall && + importProvidersFromCall.arguments.some((arg) => ts.isIdentifier(arg) && arg.text === className) + ); +} + +/** + * Adds an `importProvidersFrom` call to the `bootstrapApplication` call. + * @param tree File tree of the project. + * @param filePath Path to the file that should be updated. + * @param moduleName Name of the module that should be imported. + * @param modulePath Path from which to import the module. + */ +export function addModuleImportToStandaloneBootstrap( + tree: Tree, + filePath: string, + moduleName: string, + modulePath: string, +) { + const sourceFile = ts.createSourceFile( + filePath, + tree.readText(filePath), + ts.ScriptTarget.Latest, + true, + ); + + const bootstrapCall = findBootstrapApplicationCall(sourceFile); + + if (!bootstrapCall) { + throw new SchematicsException(`Could not find bootstrapApplication call in ${filePath}`); + } + + const recorder = tree.beginUpdate(filePath); + const importCall = findImportProvidersFromCall(bootstrapCall); + const printer = ts.createPrinter(); + const sourceText = sourceFile.getText(); + + // Add imports to the module being added and `importProvidersFrom`. We don't + // have to worry about duplicates, because `insertImport` handles them. + [ + insertImport(sourceFile, sourceText, moduleName, modulePath), + insertImport(sourceFile, sourceText, 'importProvidersFrom', '@angular/core'), + ].forEach((change) => { + if (change instanceof InsertChange) { + recorder.insertLeft(change.pos, change.toAdd); + } + }); + + // If there is an `importProvidersFrom` call already, reuse it. + if (importCall) { + recorder.insertRight( + importCall.arguments[importCall.arguments.length - 1].getEnd(), + `, ${moduleName}`, + ); + } else if (bootstrapCall.arguments.length === 1) { + // Otherwise if there is no options parameter to `bootstrapApplication`, + // create an object literal with a `providers` array and the import. + const newCall = ts.factory.updateCallExpression( + bootstrapCall, + bootstrapCall.expression, + bootstrapCall.typeArguments, + [ + ...bootstrapCall.arguments, + ts.factory.createObjectLiteralExpression([createProvidersAssignment(moduleName)], true), + ], + ); + + recorder.remove(bootstrapCall.getStart(), bootstrapCall.getWidth()); + recorder.insertRight( + bootstrapCall.getStart(), + printer.printNode(ts.EmitHint.Unspecified, newCall, sourceFile), + ); + } else { + const providersLiteral = findProvidersLiteral(bootstrapCall); + + if (providersLiteral) { + // If there's a `providers` array, add the import to it. + const newProvidersLiteral = ts.factory.updateArrayLiteralExpression(providersLiteral, [ + ...providersLiteral.elements, + createImportProvidersFromCall(moduleName), + ]); + recorder.remove(providersLiteral.getStart(), providersLiteral.getWidth()); + recorder.insertRight( + providersLiteral.getStart(), + printer.printNode(ts.EmitHint.Unspecified, newProvidersLiteral, sourceFile), + ); + } else { + // Otherwise add a `providers` array to the existing object literal. + const optionsLiteral = bootstrapCall.arguments[1] as ts.ObjectLiteralExpression; + const newOptionsLiteral = ts.factory.updateObjectLiteralExpression(optionsLiteral, [ + ...optionsLiteral.properties, + createProvidersAssignment(moduleName), + ]); + recorder.remove(optionsLiteral.getStart(), optionsLiteral.getWidth()); + recorder.insertRight( + optionsLiteral.getStart(), + printer.printNode(ts.EmitHint.Unspecified, newOptionsLiteral, sourceFile), + ); + } + } + + tree.commitUpdate(recorder); +} + +/** Finds the call to `bootstrapApplication` within a file. */ +export function findBootstrapApplicationCall(sourceFile: ts.SourceFile): ts.CallExpression | null { + const localName = findImportLocalName( + sourceFile, + 'bootstrapApplication', + '@angular/platform-browser', + ); + + return localName ? findCall(sourceFile, localName) : null; +} + +/** Find a call to `importProvidersFrom` within a `bootstrapApplication` call. */ +function findImportProvidersFromCall(bootstrapCall: ts.CallExpression): ts.CallExpression | null { + const providersLiteral = findProvidersLiteral(bootstrapCall); + const importProvidersName = findImportLocalName( + bootstrapCall.getSourceFile(), + 'importProvidersFrom', + '@angular/core', + ); + + if (providersLiteral && importProvidersName) { + for (const element of providersLiteral.elements) { + // Look for an array element that calls the `importProvidersFrom` function. + if ( + ts.isCallExpression(element) && + ts.isIdentifier(element.expression) && + element.expression.text === importProvidersName + ) { + return element; + } + } + } + + return null; +} + +/** Finds the `providers` array literal within a `bootstrapApplication` call. */ +function findProvidersLiteral(bootstrapCall: ts.CallExpression): ts.ArrayLiteralExpression | null { + // The imports have to be in the second argument of + // the function which has to be an object literal. + if ( + bootstrapCall.arguments.length > 1 && + ts.isObjectLiteralExpression(bootstrapCall.arguments[1]) + ) { + for (const prop of bootstrapCall.arguments[1].properties) { + if ( + ts.isPropertyAssignment(prop) && + ts.isIdentifier(prop.name) && + prop.name.text === 'providers' && + ts.isArrayLiteralExpression(prop.initializer) + ) { + return prop.initializer; + } + } + } + + return null; +} + +/** + * Finds the local name of an imported symbol. Could be the symbol name itself or its alias. + * @param sourceFile File within which to search for the import. + * @param name Actual name of the import, not its local alias. + * @param moduleName Name of the module from which the symbol is imported. + */ +function findImportLocalName( + sourceFile: ts.SourceFile, + name: string, + moduleName: string, +): string | null { + for (const node of sourceFile.statements) { + // Only look for top-level imports. + if ( + !ts.isImportDeclaration(node) || + !ts.isStringLiteral(node.moduleSpecifier) || + node.moduleSpecifier.text !== moduleName + ) { + continue; + } + + // Filter out imports that don't have the right shape. + if ( + !node.importClause || + !node.importClause.namedBindings || + !ts.isNamedImports(node.importClause.namedBindings) + ) { + continue; + } + + // Look through the elements of the declaration for the specific import. + for (const element of node.importClause.namedBindings.elements) { + if ((element.propertyName || element.name).text === name) { + // The local name is always in `name`. + return element.name.text; + } + } + } + + return null; +} + +/** + * Finds a call to a function with a specific name. + * @param rootNode Node from which to start searching. + * @param name Name of the function to search for. + */ +function findCall(rootNode: ts.Node, name: string): ts.CallExpression | null { + let result: ts.CallExpression | null = null; + + rootNode.forEachChild(function walk(node) { + if ( + ts.isCallExpression(node) && + ts.isIdentifier(node.expression) && + node.expression.text === name + ) { + result = node; + } + + if (!result) { + node.forEachChild(walk); + } + }); + + return result; +} + +/** Creates an `importProvidersFrom({{moduleName}})` call. */ +function createImportProvidersFromCall(moduleName: string): ts.CallExpression { + return ts.factory.createCallChain( + ts.factory.createIdentifier('importProvidersFrom'), + undefined, + undefined, + [ts.factory.createIdentifier(moduleName)], + ); +} + +/** Creates a `providers: [importProvidersFrom({{moduleName}})]` property assignment. */ +function createProvidersAssignment(moduleName: string): ts.PropertyAssignment { + return ts.factory.createPropertyAssignment( + 'providers', + ts.factory.createArrayLiteralExpression([createImportProvidersFromCall(moduleName)]), + ); +} diff --git a/packages/schematics/angular/private/standalone_spec.ts b/packages/schematics/angular/private/standalone_spec.ts new file mode 100644 index 000000000000..e268b47b36b7 --- /dev/null +++ b/packages/schematics/angular/private/standalone_spec.ts @@ -0,0 +1,263 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; +import { + addModuleImportToStandaloneBootstrap, + findBootstrapApplicationCall, + importsProvidersFrom, +} from './standalone'; + +describe('standalone utilities', () => { + let host: EmptyTree; + + beforeEach(() => { + host = new EmptyTree(); + }); + + function getSourceFileFrom(path: string) { + return ts.createSourceFile(path, host.readText(path), ts.ScriptTarget.Latest, true); + } + + function stripWhitespace(str: string) { + return str.replace(/\s/g, ''); + } + + function assertContains(source: string, targetString: string) { + expect(stripWhitespace(source)).toContain(stripWhitespace(targetString)); + } + + describe('findBootstrapApplicationCall', () => { + it('should find a call to `bootstrapApplication`', () => { + host.create( + '/test.ts', + ` + import { BrowserModule, bootstrapApplication } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + bootstrapApplication(AppComponent, { + providers: [importProvidersFrom(BrowserModule)] + }); + `, + ); + + expect(findBootstrapApplicationCall(getSourceFileFrom('/test.ts'))).toBeTruthy(); + }); + + it('should find an aliased call to `bootstrapApplication`', () => { + host.create( + '/test.ts', + ` + import { BrowserModule, bootstrapApplication as boot } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + boot(AppComponent, { + providers: [importProvidersFrom(BrowserModule)] + }); + `, + ); + + expect(findBootstrapApplicationCall(getSourceFileFrom('/test.ts'))).toBeTruthy(); + }); + + it('should return null if there are no bootstrapApplication calls', () => { + host.create( + '/test.ts', + ` + import { AppComponent } from './app.component'; + + console.log(AppComponent); + `, + ); + + expect(findBootstrapApplicationCall(getSourceFileFrom('/test.ts'))).toBeNull(); + }); + }); + + describe('importsProvidersFrom', () => { + it('should find that a bootstrapApplication call imports providers from a module', () => { + host.create( + '/test.ts', + ` + import { importProvidersFrom } from '@angular/core'; + import { BrowserModule, bootstrapApplication } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + bootstrapApplication(AppComponent, { + providers: [ + {provide: foo, useValue: 10}, + importProvidersFrom(BrowserModule) + ] + }); + `, + ); + + expect(importsProvidersFrom(host, '/test.ts', 'BrowserModule')).toBe(true); + expect(importsProvidersFrom(host, '/test.ts', 'FooModule')).toBe(false); + }); + + it('should find that a bootstrapApplication call imports providers from a module if importProvidersFrom is aliased', () => { + host.create( + '/test.ts', + ` + import { importProvidersFrom as imp } from '@angular/core'; + import { BrowserModule, bootstrapApplication } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + bootstrapApplication(AppComponent, { + providers: [imp(BrowserModule)] + }); + `, + ); + + expect(importsProvidersFrom(host, '/test.ts', 'BrowserModule')).toBe(true); + expect(importsProvidersFrom(host, '/test.ts', 'FooModule')).toBe(false); + }); + + it('should return false if there is no bootstrapApplication calls', () => { + host.create( + '/test.ts', + ` + import { AppComponent } from './app.component'; + + console.log(AppComponent); + `, + ); + + expect(importsProvidersFrom(host, '/test.ts', 'FooModule')).toBe(false); + }); + }); + + describe('addModuleImportToStandaloneBootstrap', () => { + it('should be able to add a module import to a simple `bootstrapApplication` call', () => { + host.create( + '/test.ts', + ` + import { bootstrapApplication } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + bootstrapApplication(AppComponent); + `, + ); + + addModuleImportToStandaloneBootstrap(host, '/test.ts', 'FooModule', '@foo/bar'); + + const content = stripWhitespace(host.readText('/test.ts')); + + assertContains(content, `import {importProvidersFrom} from '@angular/core';`); + assertContains(content, `import {FooModule} from '@foo/bar';`); + assertContains( + content, + `bootstrapApplication(AppComponent, {providers: [importProvidersFrom(FooModule)]});`, + ); + }); + + it('should be able to add a module import to a `bootstrapApplication` call with an empty options object', () => { + host.create( + '/test.ts', + ` + import { bootstrapApplication } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + bootstrapApplication(AppComponent, {}); + `, + ); + + addModuleImportToStandaloneBootstrap(host, '/test.ts', 'FooModule', '@foo/bar'); + + const content = stripWhitespace(host.readText('/test.ts')); + + assertContains(content, `import {importProvidersFrom} from '@angular/core';`); + assertContains(content, `import {FooModule} from '@foo/bar';`); + assertContains( + content, + `bootstrapApplication(AppComponent, {providers: [importProvidersFrom(FooModule)]});`, + ); + }); + + it('should be able to add a module import to a `bootstrapApplication` call with a pre-existing `providers` array', () => { + host.create( + '/test.ts', + ` + import { enableProdMode } from '@angular/core'; + import { bootstrapApplication } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + enableProdMode(); + + bootstrapApplication(AppComponent, { + providers: [{provide: 'foo', useValue: 'bar'}] + }); + `, + ); + + addModuleImportToStandaloneBootstrap(host, '/test.ts', 'FooModule', '@foo/bar'); + + const content = stripWhitespace(host.readText('/test.ts')); + + assertContains(content, `import {enableProdMode, importProvidersFrom} from '@angular/core';`); + assertContains(content, `import {FooModule} from '@foo/bar';`); + assertContains( + content, + `bootstrapApplication(AppComponent, { + providers: [ + {provide: 'foo', useValue: 'bar'}, + importProvidersFrom(FooModule) + ] + });`, + ); + }); + + it('should be able to add a module import to a `bootstrapApplication` call with a pre-existing `importProvidersFrom` call', () => { + host.create( + '/test.ts', + ` + import { importProvidersFrom } from '@angular/core'; + import { bootstrapApplication, BrowserModule } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + bootstrapApplication(AppComponent, { + providers: [{provide: 'foo', useValue: 'bar'}, importProvidersFrom(BrowserModule)] + }); + `, + ); + + addModuleImportToStandaloneBootstrap(host, '/test.ts', 'FooModule', '@foo/bar'); + + const content = stripWhitespace(host.readText('/test.ts')); + + assertContains(content, `import {importProvidersFrom} from '@angular/core';`); + assertContains(content, `import {FooModule} from '@foo/bar';`); + assertContains( + content, + `bootstrapApplication(AppComponent, { + providers: [ + {provide: 'foo', useValue: 'bar'}, + importProvidersFrom(BrowserModule, FooModule) + ] + });`, + ); + }); + + it('should throw if there is no `bootstrapModule` call', () => { + host.create( + '/test.ts', + ` + import { AppComponent } from './app.component'; + + console.log(AppComponent); + `, + ); + + expect(() => { + addModuleImportToStandaloneBootstrap(host, '/test.ts', 'FooModule', '@foo/bar'); + }).toThrowError(/Could not find bootstrapApplication call in \/test\.ts/); + }); + }); +}); From dd9781aae18ff03319f338391be1e31bd0321e93 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 26 May 2022 05:01:02 +0000 Subject: [PATCH 0449/1388] build: update ossf/scorecard-action action to v1.1.0 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 7e2c56518e67..fbbb67f4da7f 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@c1aec4ac820532bab364f02a81873c555a0ba3a1 # tag=v1.0.4 + uses: ossf/scorecard-action@5c8bc69dc88b65c66584e07611df79d3579b0377 # tag=v1.1.0 with: results_file: results.sarif results_format: sarif From fb6ba6748c93198202afa44ae1f1aab4496a0c2d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 26 May 2022 05:00:56 +0000 Subject: [PATCH 0450/1388] build: update all non-major dependencies --- package.json | 12 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 10 +- yarn.lock | 165 +++++++++++++++--- 4 files changed, 149 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index 58860e7fd48c..a5cb1f123002 100644 --- a/package.json +++ b/package.json @@ -78,14 +78,14 @@ "@angular/platform-server": "14.0.0-rc.1", "@angular/router": "14.0.0-rc.1", "@angular/service-worker": "14.0.0-rc.1", - "@babel/core": "7.18.0", - "@babel/generator": "7.18.0", + "@babel/core": "7.18.2", + "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.17.12", "@babel/plugin-transform-async-to-generator": "7.17.12", - "@babel/plugin-transform-runtime": "7.18.0", - "@babel/preset-env": "7.18.0", - "@babel/runtime": "7.18.0", + "@babel/plugin-transform-runtime": "7.18.2", + "@babel/preset-env": "7.18.2", + "@babel/runtime": "7.18.3", "@babel/template": "7.16.7", "@bazel/bazelisk": "1.11.0", "@bazel/buildifier": "5.1.0", @@ -174,7 +174,7 @@ "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.4.1", + "pacote": "13.5.0", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index a2047e797584..5440e1103caf 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,7 +36,7 @@ "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.4.1", + "pacote": "13.5.0", "resolve": "1.22.0", "semver": "7.3.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3f85335422d4..df467000c085 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.0", - "@babel/generator": "7.18.0", + "@babel/core": "7.18.2", + "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.17.12", "@babel/plugin-transform-async-to-generator": "7.17.12", - "@babel/plugin-transform-runtime": "7.18.0", - "@babel/preset-env": "7.18.0", - "@babel/runtime": "7.18.0", + "@babel/plugin-transform-runtime": "7.18.2", + "@babel/preset-env": "7.18.2", + "@babel/runtime": "7.18.3", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", diff --git a/yarn.lock b/yarn.lock index 8596dd8d09bc..9b41d4218198 100644 --- a/yarn.lock +++ b/yarn.lock @@ -332,7 +332,28 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.0", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" + integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.2" + "@babel/parser" "^7.18.0" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.0.tgz#c58d04d7c6fbfb58ea7681e2b9145cfb62726756" integrity sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw== @@ -362,7 +383,16 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" -"@babel/generator@7.18.0", "@babel/generator@^7.17.10", "@babel/generator@^7.17.9", "@babel/generator@^7.18.0": +"@babel/generator@7.18.2", "@babel/generator@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" + integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== + dependencies: + "@babel/types" "^7.18.2" + "@jridgewell/gen-mapping" "^0.3.0" + jsesc "^2.5.1" + +"@babel/generator@^7.17.10", "@babel/generator@^7.17.9", "@babel/generator@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.0.tgz#46d28e8a18fc737b028efb25ab105d74473af43f" integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== @@ -396,6 +426,16 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" + integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== + dependencies: + "@babel/compat-data" "^7.17.10" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.20.2" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" @@ -438,6 +478,11 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-environment-visitor@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" + integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== + "@babel/helper-explode-assignable-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" @@ -527,6 +572,13 @@ dependencies: "@babel/types" "^7.17.0" +"@babel/helper-simple-access@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" + integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== + dependencies: + "@babel/types" "^7.18.2" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -570,6 +622,15 @@ "@babel/traverse" "^7.18.0" "@babel/types" "^7.18.0" +"@babel/helpers@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" + integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" + "@babel/highlight@^7.16.7": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" @@ -932,7 +993,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.17.12": +"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.18.1": version "7.18.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== @@ -971,7 +1032,7 @@ "@babel/helper-plugin-utils" "^7.17.12" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.17.9", "@babel/plugin-transform-modules-commonjs@^7.18.0": +"@babel/plugin-transform-modules-commonjs@^7.17.9": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.0.tgz#3be575e19fbd273d42adbc84566b1fad3582b3db" integrity sha512-cCeR0VZWtfxWS4YueAK2qtHtBPJRSaJcMlbS8jhSIm/A3E2Kpro4W1Dn4cqJtp59dtWfXjQwK7SPKF8ghs7rlw== @@ -981,6 +1042,16 @@ "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" + integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-simple-access" "^7.18.2" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-systemjs@^7.17.8", "@babel/plugin-transform-modules-systemjs@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz#50ecdb43de97c8483824402f7125edb94cddb09a" @@ -1064,10 +1135,10 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-runtime@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.0.tgz#894cdab4b353dcb7639f03fb74c59db1d344f71c" - integrity sha512-7kM/jJ3DD/y1hDPn0jov12DoUIFsxLiItprhNydUSibxaywaxNqKwq+ODk72J9ePn4LWobIc5ik6TAJhVl8IkQ== +"@babel/plugin-transform-runtime@7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz#04637de1e45ae8847ff14b9beead09c33d34374d" + integrity sha512-mr1ufuRMfS52ttq+1G1PD8OJNqgcTFjq3hwn8SZ5n1x1pBhi0E36rYMdTK0TsKtApJ4lDEdfXJwtGobQMHSMPg== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.17.12" @@ -1098,13 +1169,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.17.12": +"@babel/plugin-transform-template-literals@^7.16.7": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz#4aec0a18f39dd86c442e1d077746df003e362c6e" integrity sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw== dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-template-literals@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" + integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-transform-typeof-symbol@^7.16.7", "@babel/plugin-transform-typeof-symbol@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" @@ -1207,13 +1285,13 @@ core-js-compat "^3.22.1" semver "^6.3.0" -"@babel/preset-env@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.0.tgz#ec7e51f4c6e026816000b230ed7cf74a1530d91d" - integrity sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA== +"@babel/preset-env@7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a" + integrity sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q== dependencies: "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-compilation-targets" "^7.18.2" "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-validator-option" "^7.16.7" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12" @@ -1258,12 +1336,12 @@ "@babel/plugin-transform-dotall-regex" "^7.16.7" "@babel/plugin-transform-duplicate-keys" "^7.17.12" "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.17.12" + "@babel/plugin-transform-for-of" "^7.18.1" "@babel/plugin-transform-function-name" "^7.16.7" "@babel/plugin-transform-literals" "^7.17.12" "@babel/plugin-transform-member-expression-literals" "^7.16.7" "@babel/plugin-transform-modules-amd" "^7.18.0" - "@babel/plugin-transform-modules-commonjs" "^7.18.0" + "@babel/plugin-transform-modules-commonjs" "^7.18.2" "@babel/plugin-transform-modules-systemjs" "^7.18.0" "@babel/plugin-transform-modules-umd" "^7.18.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12" @@ -1276,12 +1354,12 @@ "@babel/plugin-transform-shorthand-properties" "^7.16.7" "@babel/plugin-transform-spread" "^7.17.12" "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.17.12" + "@babel/plugin-transform-template-literals" "^7.18.2" "@babel/plugin-transform-typeof-symbol" "^7.17.12" "@babel/plugin-transform-unicode-escapes" "^7.16.7" "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.0" + "@babel/types" "^7.18.2" babel-plugin-polyfill-corejs2 "^0.3.0" babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" @@ -1306,7 +1384,14 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.18.0", "@babel/runtime@^7.8.4": +"@babel/runtime@7.18.3": + version "7.18.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" + integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.8.4": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.0.tgz#6d77142a19cb6088f0af662af1ada37a604d34ae" integrity sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg== @@ -1338,6 +1423,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" + integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-environment-visitor" "^7.18.2" + "@babel/helper-function-name" "^7.17.9" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.18.0" + "@babel/types" "^7.18.2" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.18.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.0.tgz#ef523ea349722849cb4bf806e9342ede4d071553" @@ -1346,6 +1447,14 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.2.tgz#191abfed79ebe6f4242f643a9a5cbaa36b10b091" + integrity sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.11.0": version "1.11.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" @@ -7706,10 +7815,10 @@ npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: semver "^7.3.5" validate-npm-package-name "^4.0.0" -npm-packlist@^5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.0.4.tgz#b8a0635964dbf72baeeb7e69ec32e822f1c26159" - integrity sha512-G4sCWzzHokHC5oxGD46Q9vCe+eN2tFb+3RfADD/eZbx4nKa7Y1eku1xvIWrw5R3F3hWX7IM2BgdqbQsyBUa3IA== +npm-packlist@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.0.tgz#f3fd52903a021009913a133732022132eb355ce7" + integrity sha512-a04sqF6FbkyOAFA19AA0e94gS7Et5T2/IMj3VOT9nOF2RaRdVPQ1Q17Fb/HaDRFs+gbC7HOmhVZ29adpWgmDZg== dependencies: glob "^8.0.1" ignore-walk "^5.0.1" @@ -7995,10 +8104,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.4.1: - version "13.4.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.4.1.tgz#b6610bf8903abc075bfffa02a2cedafe81a97293" - integrity sha512-FqlSWlD8n+ejCE17GF/lf0yasztMGFl4UFzYQk5njaK/qPPWfVDWnfQwqmqeXObWLSmIBew+O+CFD24vxkVDjg== +pacote@13.5.0: + version "13.5.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.5.0.tgz#e2c745dc320513a98b9403e92b366a1ba6a4db94" + integrity sha512-yekp0ykEsaBH0t0bYA/89R+ywdYV5ZnEdg4YMIfqakSlpIhoF6b8+aEUm8NZpfWRgmy6lxgywcW05URhLRogVQ== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -8011,7 +8120,7 @@ pacote@13.4.1: minipass "^3.1.6" mkdirp "^1.0.4" npm-package-arg "^9.0.0" - npm-packlist "^5.0.0" + npm-packlist "^5.1.0" npm-pick-manifest "^7.0.0" npm-registry-fetch "^13.0.1" proc-log "^2.0.0" From e569d3bfdf9629dfcc8ab9acaae8de83a605ef5e Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 25 May 2022 12:30:29 -0700 Subject: [PATCH 0451/1388] docs: update release documentation to reflect changes to caretaker responsibilities and new rotation --- docs/process/release.md | 49 ++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index bf5d14029345..9a8ffdfd5008 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -11,16 +11,27 @@ $ git remote add upstream https://github.com/angular/angular-cli.git The caretaker should triage issues, merge PR, and sheppard the release. -Caretaker calendar can be found [here](https://calendar.google.com/calendar/embed?src=angular.io_jf53juok1lhpm84hv6bo6fmgbc%40group.calendar.google.com&ctz=America%2FLos_Angeles). - -Each shift consists of two caretakers. The primary caretaker is responsible for -merging PRs to `main` and patch whereas the secondary caretaker is responsible -for the release. - -At the end of each caretaker's rotation, they should peform a handoff in which they provide -information to the next caretaker about the current state of the repository and update the -access group to now include the next caretaker and their secondary. To perform this update -to the access group, the caretaker can run: +Caretaker rotation can be found +[here](https://rotations.corp.google.com/rotation/5117919353110528) and individual shifts can +be modified as necessary to accomodate caretaker's schedules. This automatically syncs to a +Google Calendar +[here](https://calendar.google.com/calendar/u/0/embed?src=c_6s96kkvd7nhink3e2gnkvfrt1g@group.calendar.google.com). +Click the "+" button in the bottom right to add it to your calendar to see shifts alongside the +rest of your schedule. + +The primary caretaker is responsible for both merging PRs and performing the weekly release. +The secondary caretaker does not have any _direct_ responsibilities, but they may need to take +over the primary's responsibilities if the primary is unavailable for an extended time (a day +or more) or in the event of an emergency. + +The primary is also responsible for releasing +[Angular Universal](https://github.com/angular/universal/), but _not_ responsible for merging +PRs. + +At the end of each caretaker's rotation, the primary should peform a handoff in which they +provide information to the next caretaker about the current state of the repository and update +the access group to now include the next caretakers. To perform this update to the access group, +the caretaker can run: ```bash $ yarn ng-dev caretaker handoff @@ -95,12 +106,14 @@ navigate the prompts: yarn ng-dev release publish ``` -## Changing shifts +Releases should be done in "reverse semver order", meaning they should follow: + +Oldest LTS -> Newest LTS -> Patch -> RC -> Next + +This can skip any versions which don't need releases, so most weeks are just "Patch -> Next". + +### Angular Universal -If you need to update the -[caretaker calendar](https://calendar.google.com/calendar/embed?src=angular.io_jf53juok1lhpm84hv6bo6fmgbc%40group.calendar.google.com&ctz=America%2FLos_Angeles) -to modify shifts, **make sure you are logged in as your @angular.io account** and -click the "+ Google Calendar" button in the bottom right to add it to your Google -Calendar account. You should then be able to find and modify events on -calendar.google.com. The calendar is a part of the `angular.io` organization, so -events can only be modified by users in the same organization. +After CLI releases, the primary is also responsible for releasing Angular Universal if necessary. +Follow [the instructions there](https://github.com/angular/universal/blob/main/docs/process/release.md) +for the release process. If there are no changes to Universal, then the release can be skipped. From 33a0bea74ce94446fbc4f4b233c601553caa5468 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 26 May 2022 10:14:44 -0400 Subject: [PATCH 0452/1388] ci: update Windows E2E job to use Node.js 16.10 Node.js v16 is now the default development environment for the CLI. v16 also should provide performance improvements for the E2E test runs and is the more commonly used version of Node.js at this time. v16.10 is currently the minimum supported version of the Node.js v16 major for the Angular CLI. --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f2874f819f59..62e0e1fda433 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -83,8 +83,8 @@ commands: at: *workspace_location setup_windows: steps: - - run: nvm install 14.19 - - run: nvm use 14.19 + - run: nvm install 16.10 + - run: nvm use 16.10 - run: npm install -g yarn@1.22.10 - run: node --version - run: yarn --version From 5378557389797b270d9c0e89731a39deee38b349 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 27 May 2022 09:43:47 -0400 Subject: [PATCH 0453/1388] fix(@angular/cli): support silent package installs with Yarn 2+ Yarn 2 and higher no longer support the `--silent` flag. The Angular CLI will now spawn package managers with the stdout ignored when silent mode is needed and only show stderr when the process exits unsuccessfully. This provides the necessary functionality for the CLI without relying on package manager options. --- .../cli/src/utilities/package-manager.ts | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/packages/angular/cli/src/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts index fddcfb2f8601..ef111588bd15 100644 --- a/packages/angular/cli/src/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -18,7 +18,6 @@ import { memoize } from './memoize'; import { Spinner } from './spinner'; interface PackageManagerOptions { - silent: string; saveDev: string; install: string; installAll?: string; @@ -79,28 +78,24 @@ export class PackageManagerUtils { cwd?: string, ): Promise { const packageManagerArgs = this.getArguments(); - const installArgs: string[] = [ - packageManagerArgs.install, - packageName, - packageManagerArgs.silent, - ]; + const installArgs: string[] = [packageManagerArgs.install, packageName]; if (save === 'devDependencies') { installArgs.push(packageManagerArgs.saveDev); } - return this.run([...installArgs, ...extraArgs], cwd); + return this.run([...installArgs, ...extraArgs], { cwd, silent: true }); } /** Install all packages. */ async installAll(extraArgs: string[] = [], cwd?: string): Promise { const packageManagerArgs = this.getArguments(); - const installArgs: string[] = [packageManagerArgs.silent]; + const installArgs: string[] = []; if (packageManagerArgs.installAll) { installArgs.push(packageManagerArgs.installAll); } - return this.run([...installArgs, ...extraArgs], cwd); + return this.run([...installArgs, ...extraArgs], { cwd, silent: true }); } /** Install a single package temporary. */ @@ -160,7 +155,6 @@ export class PackageManagerUtils { switch (this.name) { case PackageManager.Yarn: return { - silent: '--silent', saveDev: '--dev', install: 'add', prefix: '--modules-folder', @@ -168,7 +162,6 @@ export class PackageManagerUtils { }; case PackageManager.Pnpm: return { - silent: '--silent', saveDev: '--save-dev', install: 'add', installAll: 'install', @@ -177,7 +170,6 @@ export class PackageManagerUtils { }; default: return { - silent: '--quiet', saveDev: '--save-dev', install: 'install', installAll: 'install', @@ -187,7 +179,12 @@ export class PackageManagerUtils { } } - private async run(args: string[], cwd = process.cwd()): Promise { + private async run( + args: string[], + options: { cwd?: string; silent?: boolean } = {}, + ): Promise { + const { cwd = process.cwd(), silent = false } = options; + const spinner = new Spinner(); spinner.start('Installing packages...'); @@ -195,7 +192,8 @@ export class PackageManagerUtils { const bufferedOutput: { stream: NodeJS.WriteStream; data: Buffer }[] = []; const childProcess = spawn(this.name, args, { - stdio: 'pipe', + // Always pipe stderr to allow for failures to be reported + stdio: silent ? ['ignore', 'ignore', 'pipe'] : 'pipe', shell: true, cwd, }).on('close', (code: number) => { From 9ff2c55e85a6b2cf185c6c2b9cf29b265dc19a77 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 27 May 2022 10:32:54 -0400 Subject: [PATCH 0454/1388] fix(@angular-devkit/schematics): support quiet package installs with Yarn 2+ Yarn 2 and higher no longer support the `--silent` flag. The `NodePackageInstallTask` will now spawn package managers with the stdout ignored when quiet mode is needed and only show stderr when the process exits unsuccessfully. This provides the necessary functionality for the task without relying on package manager options. --- .../schematics/tasks/package-manager/executor.ts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts index 45047ba3b1d8..cb16ef2dc7cb 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts @@ -15,7 +15,6 @@ import { TaskExecutor, UnsuccessfulWorkflowExecution } from '../../src'; import { NodePackageTaskFactoryOptions, NodePackageTaskOptions } from './options'; interface PackageManagerProfile { - quietArgument?: string; commands: { installAll?: string; installPackage: string; @@ -24,7 +23,6 @@ interface PackageManagerProfile { const packageManagers: { [name: string]: PackageManagerProfile } = { 'npm': { - quietArgument: '--quiet', commands: { installAll: 'install', installPackage: 'install', @@ -37,13 +35,11 @@ const packageManagers: { [name: string]: PackageManagerProfile } = { }, }, 'yarn': { - quietArgument: '--silent', commands: { installPackage: 'add', }, }, 'pnpm': { - quietArgument: '--silent', commands: { installAll: 'install', installPackage: 'install', @@ -81,10 +77,15 @@ export default function ( const bufferedOutput: { stream: NodeJS.WriteStream; data: Buffer }[] = []; const spawnOptions: SpawnOptions = { - stdio: options.hideOutput ? 'pipe' : 'inherit', shell: true, cwd: path.join(rootDirectory, options.workingDirectory || ''), }; + if (options.hideOutput) { + spawnOptions.stdio = options.quiet ? ['ignore', 'ignore', 'pipe'] : 'pipe'; + } else { + spawnOptions.stdio = options.quiet ? ['ignore', 'ignore', 'inherit'] : 'inherit'; + } + const args: string[] = []; if (options.packageName) { @@ -96,10 +97,6 @@ export default function ( args.push(taskPackageManagerProfile.commands.installAll); } - if (options.quiet && taskPackageManagerProfile.quietArgument) { - args.push(taskPackageManagerProfile.quietArgument); - } - if (!options.allowScripts) { args.push('--ignore-scripts'); } From 901f5dd7fcb1c7408d084224ec4f017b4bced5c3 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 27 May 2022 11:13:19 -0400 Subject: [PATCH 0455/1388] fix(@angular-devkit/schematics): support ignore scripts package installs with Yarn 2+ Yarn 2 and higher no longer support the `--ignore-scripts` flag. The `NodePackageInstallTask` will now spawn Yarn with environment variables to ignore scripts instead of the commandline option. Other package managers remain unchanged. This provides the necessary functionality for the task without relying on Yarn commandline options. --- .../schematics/tasks/package-manager/executor.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts index cb16ef2dc7cb..665131413a0c 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts @@ -98,7 +98,18 @@ export default function ( } if (!options.allowScripts) { - args.push('--ignore-scripts'); + // Yarn requires special handling since Yarn 2+ no longer has the `--ignore-scripts` flag + if (taskPackageManagerName === 'yarn') { + spawnOptions.env = { + ...process.env, + // Supported with yarn 1 + 'npm_config_ignore_scripts': 'true', + // Supported with yarn 2+ + 'YARN_ENABLE_SCRIPTS': 'false', + }; + } else { + args.push('--ignore-scripts'); + } } if (factoryOptions.registry) { From ee2e75610b37354ed7bfcce95f5bc18713b2fa41 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 27 May 2022 11:37:40 +0000 Subject: [PATCH 0456/1388] fix(@angular-devkit/build-angular): detect `tailwind.config.cjs` as valid tailwindcss configuration `tailwind.config.cjs` is a valid tailwindcss configuration file as it's listed in https://github.com/tailwindlabs/tailwindcss/blob/8845d112fb62d79815b50b3bae80c317450b8b92/src/util/resolveConfigPath.js#L46-L52 as such we should also take this filename into consideration. Closes #23236 --- .../src/webpack/configs/styles.ts | 29 +++++++++----- .../e2e/tests/build/styles/tailwind-v3-cjs.ts | 39 +++++++++++++++++++ 2 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 91669dfa097a..e1ecba8216ea 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -121,19 +121,10 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { const extraPostcssPlugins: import('postcss').Plugin[] = []; // Attempt to setup Tailwind CSS - // A configuration file can exist in the project or workspace root - const tailwindConfigFile = 'tailwind.config.js'; - let tailwindConfigPath; - for (const basePath of [wco.projectRoot, wco.root]) { - const fullPath = path.join(basePath, tailwindConfigFile); - if (fs.existsSync(fullPath)) { - tailwindConfigPath = fullPath; - break; - } - } // Only load Tailwind CSS plugin if configuration file was found. // This acts as a guard to ensure the project actually wants to use Tailwind CSS. // The package may be unknowningly present due to a third-party transitive package dependency. + const tailwindConfigPath = getTailwindConfigPath(wco); if (tailwindConfigPath) { let tailwindPackagePath; try { @@ -402,3 +393,21 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { plugins: extraPlugins, }; } + +function getTailwindConfigPath({ projectRoot, root }: WebpackConfigOptions): string | undefined { + // A configuration file can exist in the project or workspace root + // The list of valid config files can be found: + // https://github.com/tailwindlabs/tailwindcss/blob/8845d112fb62d79815b50b3bae80c317450b8b92/src/util/resolveConfigPath.js#L46-L52 + const tailwindConfigFiles = ['tailwind.config.js', 'tailwind.config.cjs']; + for (const basePath of [projectRoot, root]) { + for (const configFile of tailwindConfigFiles) { + // Irrespective of the name project level configuration should always take precedence. + const fullPath = path.join(basePath, configFile); + if (fs.existsSync(fullPath)) { + return fullPath; + } + } + } + + return undefined; +} diff --git a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts new file mode 100644 index 000000000000..f6074b674a8f --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts @@ -0,0 +1,39 @@ +import { expectFileToMatch, moveFile, writeFile } from '../../../utils/fs'; +import { installPackage } from '../../../utils/packages'; +import { ng, silentExec } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; +import { expectToFail } from '../../../utils/utils'; + +export default async function () { + // Temporarily turn off caching until the build cache accounts for the presence of tailwind + // and its configuration file. Otherwise cached builds without tailwind will cause test failures. + await ng('cache', 'off'); + + // Add type module in package.json. + await updateJsonFile('package.json', (json) => { + json['type'] = 'module'; + }); + + // Install Tailwind + await installPackage('tailwindcss@3'); + + // Create configuration file + await silentExec('npx', 'tailwindcss', 'init'); + + // tailwind doesn't create the config file with a cjs extension. + // We need to rename it manually until + // https://github.com/tailwindlabs/tailwindcss/commit/6c63f67d20c433b5c7281e9e26744038ed41ccc2 is released. + await moveFile('tailwind.config.js', 'tailwind.config.cjs'); + + // Add Tailwind directives to a global style + await writeFile('src/styles.css', '@tailwind base; @tailwind components;'); + + // Build should succeed and process Tailwind directives + await ng('build', '--configuration=development'); + + // Check for Tailwind output + await expectFileToMatch('dist/test-project/styles.css', /::placeholder/); + await expectToFail(() => + expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'), + ); +} From 7b5de2c22bf3fb76e5c83b71a90cfef88c2443b7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 27 May 2022 17:36:20 +0000 Subject: [PATCH 0457/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +-- yarn.lock | 218 +++++++++--------- 7 files changed, 149 insertions(+), 143 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 35c5e7da1eea..1b76d4d81046 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@86c3cdc39e860ce19476c88ce489be6a3982fe3c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@2a04da0754b050fb17d6cfc4a4b4fa8b5575ea86 + - uses: angular/dev-infra/github-actions/post-approval-changes@86c3cdc39e860ce19476c88ce489be6a3982fe3c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 495a8d06eaa4..30a6620baa4d 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@2a50bf4f37f041d8b88c743fae45d09b400e917e + - uses: angular/dev-infra/github-actions/feature-request@86c3cdc39e860ce19476c88ce489be6a3982fe3c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 9be2b637535f..6d87220b7767 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@2a50bf4f37f041d8b88c743fae45d09b400e917e + - uses: angular/dev-infra/github-actions/lock-closed@86c3cdc39e860ce19476c88ce489be6a3982fe3c with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index a5cb1f123002..f5b10cecfcbd 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.0-rc.1", - "@angular/cdk": "14.0.0-rc.0", - "@angular/common": "14.0.0-rc.1", - "@angular/compiler": "14.0.0-rc.1", - "@angular/compiler-cli": "14.0.0-rc.1", - "@angular/core": "14.0.0-rc.1", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b", - "@angular/forms": "14.0.0-rc.1", - "@angular/localize": "14.0.0-rc.1", - "@angular/material": "14.0.0-rc.0", - "@angular/platform-browser": "14.0.0-rc.1", - "@angular/platform-browser-dynamic": "14.0.0-rc.1", - "@angular/platform-server": "14.0.0-rc.1", - "@angular/router": "14.0.0-rc.1", - "@angular/service-worker": "14.0.0-rc.1", + "@angular/animations": "14.0.0-rc.2", + "@angular/cdk": "14.0.0-rc.1", + "@angular/common": "14.0.0-rc.2", + "@angular/compiler": "14.0.0-rc.2", + "@angular/compiler-cli": "14.0.0-rc.2", + "@angular/core": "14.0.0-rc.2", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0", + "@angular/forms": "14.0.0-rc.2", + "@angular/localize": "14.0.0-rc.2", + "@angular/material": "14.0.0-rc.1", + "@angular/platform-browser": "14.0.0-rc.2", + "@angular/platform-browser-dynamic": "14.0.0-rc.2", + "@angular/platform-server": "14.0.0-rc.2", + "@angular/router": "14.0.0-rc.2", + "@angular/service-worker": "14.0.0-rc.2", "@babel/core": "7.18.2", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 48ed647168c3..11fbd41ba234 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-rc.1", - "@angular/compiler-cli": "14.0.0-rc.1", + "@angular/compiler": "14.0.0-rc.2", + "@angular/compiler-cli": "14.0.0-rc.2", "typescript": "~4.7.2", "webpack": "5.72.1" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index e2c245fbd967..7baf54771265 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e99c6838958d3de4203156038d212a14e4f4210e", - "@angular/cdk": "github:angular/cdk-builds#5830628547e74fe2a536431974406c22209beb0c", - "@angular/common": "github:angular/common-builds#3aa94ce5a9cc9a3d60e1cb583a4ecf0d194c5040", - "@angular/compiler": "github:angular/compiler-builds#269e166fcb17cc72026a7b2dfcb080339cae9b2d", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#989782f5d072c1ec5a7614c19096f946f5c6866a", - "@angular/core": "github:angular/core-builds#6cc15b98ec4924841a8191f4f8e1728a5af6bfb9", - "@angular/forms": "github:angular/forms-builds#9b1d564aab2ef4926eed50852d9073cfe6f8a27f", - "@angular/language-service": "github:angular/language-service-builds#344b659ec1056d1999ac2fa8f7be3e3d9ca25baf", - "@angular/localize": "github:angular/localize-builds#c6a0318e14690f4296a9b2fee065db85e0f71b16", - "@angular/material": "github:angular/material-builds#45aa4fb3df76d643fd12be5b200b9c666061f8cf", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#94a5ff75ba741536459fb3fce9057988c1d26c67", - "@angular/platform-browser": "github:angular/platform-browser-builds#8356590dcfe4e3085c1d1af434113ea2420d7da0", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#63f7585cfca3c5832ee6ed643ff4846681f9e520", - "@angular/platform-server": "github:angular/platform-server-builds#79654af2adac25d2f2947207b372cb1b07b55299", - "@angular/router": "github:angular/router-builds#163ad92bdccddf1bb98eadfa4306da8ebb22b2a4", - "@angular/service-worker": "github:angular/service-worker-builds#698e5b7ae190d3253aca9ec8928bf945a39d3297" + "@angular/animations": "github:angular/animations-builds#b6e80504ea36df0410d4f6c568f0b4d3d52a941b", + "@angular/cdk": "github:angular/cdk-builds#c24af14a34cb2ec1c0ce74fc91048f2d7a90e88a", + "@angular/common": "github:angular/common-builds#ee3b9d07f7b4c05c9e59a9a0044126c0fc131e1f", + "@angular/compiler": "github:angular/compiler-builds#5736e093b829f2f85bd4c5696fef36fe4800aed7", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#39e06aa61eb7b44e288390db3bae260a432e55f2", + "@angular/core": "github:angular/core-builds#69d6a50849073e494009b1383d863d0ec2bb3234", + "@angular/forms": "github:angular/forms-builds#294d0268c393e293f1657971fd92ef4a663eccaf", + "@angular/language-service": "github:angular/language-service-builds#fe2991181919f9cc53ff7782fbe4b72dd7be2014", + "@angular/localize": "github:angular/localize-builds#ac009f83c34f2322c4c2318379c2cb0efd65d80c", + "@angular/material": "github:angular/material-builds#2e54c76740ed0570a9901473c9ad29a53fe43d43", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2e82b7636c8e82be0195b7b11ee3318d0d5d09a8", + "@angular/platform-browser": "github:angular/platform-browser-builds#925b6b367f87dbda3b0db9655cdb5d6d82e6a710", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#5fafb35b682637fd787badb9e9a1ca07911aba06", + "@angular/platform-server": "github:angular/platform-server-builds#6c0d95b196f9b99a6d4e38163823e452ba25f187", + "@angular/router": "github:angular/router-builds#cea30669660e584bd848b072321510b892505150", + "@angular/service-worker": "github:angular/service-worker-builds#655e20d2184d4016a63690b1036317306024200d" } } diff --git a/yarn.lock b/yarn.lock index 9b41d4218198..60cd25cd7fb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0-rc.1": - version "0.1400.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.1.tgz#625eb39870027edca3b83262fe9f9d84bfc0aeee" - integrity sha512-mr+K42ohs8fHTkinvf3/11XtpCbBwoK0AFT7tISnBlni1h/TkAoWPWjcLhnnUAAqAB3vA5t3oqgjxojdnJij9g== +"@angular-devkit/architect@0.1400.0-rc.2": + version "0.1400.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.2.tgz#4ea95c11113c229b86be48bc2b425110b6cd7995" + integrity sha512-k2ZGmKhbsMTg2htaSRO1rQW6xVN9lAAwaWIwOijTFehWxeSoAQUJd3V2e/jOy9hQSrrnkg6GI0p2VPie6Xw38A== dependencies: - "@angular-devkit/core" "14.0.0-rc.1" + "@angular-devkit/core" "14.0.0-rc.2" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.1.tgz#1df00720712797c931687b64668dd634d11758ec" - integrity sha512-NjN/0IKRPRoUkUFQQlHhjk8aJ2Fcfv5C/whCKWqaN/kE7IDlCVEIT7ohrHgXPhkiDmVlJXX1QdaYfzgkXKErTA== +"@angular-devkit/build-angular@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.2.tgz#49dd67da8be72c2f3db6ee0f2a5cc4288b34a966" + integrity sha512-xOx11LAZ4JfYekmGxGOdfs98sKR+4a375SqYw/KAtqGjmF69FllIw9YmXqwFzSwQs3vAVt0aDd3NMWUEbW9qQQ== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1400.0-rc.1" - "@angular-devkit/build-webpack" "0.1400.0-rc.1" - "@angular-devkit/core" "14.0.0-rc.1" + "@angular-devkit/architect" "0.1400.0-rc.2" + "@angular-devkit/build-webpack" "0.1400.0-rc.2" + "@angular-devkit/core" "14.0.0-rc.2" "@babel/core" "7.17.10" "@babel/generator" "7.17.10" "@babel/helper-annotate-as-pure" "7.16.7" @@ -37,7 +37,7 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-rc.1" + "@ngtools/webpack" "14.0.0-rc.2" ansi-colors "4.1.1" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.38" -"@angular-devkit/build-webpack@0.1400.0-rc.1": - version "0.1400.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.1.tgz#69107ea2297fc97d406af8586f0d9076e5453e58" - integrity sha512-4QZTYzF6a7953NI6FnhwxRq5TOyvjd5lB7yCX4NJ+3AD7wOcEaM1of832hUGAUkH0yPT/HrygT4Nclw4/98ySA== +"@angular-devkit/build-webpack@0.1400.0-rc.2": + version "0.1400.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.2.tgz#6515ce601d34a6d6652c40a78ebca9dcfb955582" + integrity sha512-TBeQKt5MdwTFILLXTPibzMepvqaV81/XluRua86U2gCOMWS0zWptecLVqCwaOL60jCe8pio7u/8PxrirsHF0Cw== dependencies: - "@angular-devkit/architect" "0.1400.0-rc.1" + "@angular-devkit/architect" "0.1400.0-rc.2" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.1.tgz#f85d213c8e2617f948bb3e8e0767aa2865cbd598" - integrity sha512-Zb+Qnrq44xYgF3W0E8IsyzyPlS26JpD/Mpa28kPMELlI3id9qKJsmpvBjtklcjJG9MKQpRpigwhH21u++6I3+g== +"@angular-devkit/core@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.2.tgz#d979860dddb21fd31191ef7a231887e2af34461d" + integrity sha512-8nZDWfhFnzSv2ps6YSA4MoKdHeMbTo7qiIzVD2oCpGoH5oaWEB4VJUWK5rZHSdK4ww0fpLc96tIDLcx28LNRfw== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-rc.1.tgz#ec8cc6b89ee4cbd619e29dad569fec4a1747059c" - integrity sha512-PtcKFu2DZMFqGpHt72gY4Q2n5/NadFS+X6yz4LlD6bzbkMNw4lm1E6lQGCoShVp2lCyheqnjqslelloUm7/H2w== +"@angular/animations@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-rc.2.tgz#54c06e4b10f392b36fffca7598261f66696cbee2" + integrity sha512-sNIZZm5agZx2V1NhWfOoVAWKkbzSyi93sIk+LadRPmb1sJrpteODmSZbmGtYs2ufx2/KyqwHdg5T7brZ7ezmMw== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-rc.0.tgz#9f6ec3a7e7c2a84949fd527061ba5de5a088f12e" - integrity sha512-mdHAM0Zjq5eazI6ocjsVJG6sBYUVnOjcAYRlyHKuka7Fp02kVa5OfhCDj5L3jbW+HcIjcIbb453U3mtAj3M9Mw== +"@angular/cdk@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-rc.1.tgz#ba890761f3af2a7a7e0f513db5b9ec03eae4a158" + integrity sha512-5g+vVnhq8rxodmNfEBwFqa3aQyv2XrABjWY5JnYfRO40o1orfXCdBgiesp7/lB5a2EK40RSWG2KDLif89kbNVQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-rc.1.tgz#fb18005277f8e82d8c89f632962216fbff6dca26" - integrity sha512-1NQq4BguW12q7dhjhoM/ZxKBAw8FK4fnfaGspxrsxsPfjHmdYGpsUVw1NX3T6gg8HhjNO9sDGf288zyVWYvO1Q== +"@angular/common@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-rc.2.tgz#e5d9d4d3b686750221e53cc1d5983c4c0d1edcc0" + integrity sha512-o6E9K0GG4dhKoxV4KXGBFY+Tn8GrUYlh4lBHCZ8wRKdo102HddEabxeJyfBFQsyDCsLqXZoupYgRuaKtfeZGyg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-rc.1.tgz#50202f36ecc67f840aa6b08cfc056f9204fba6c4" - integrity sha512-VL8wQBKpCi5Ydv9eM6OGlLlU/iWSPcsfIHv+kmJaiDV9iQtSdvCVx4oIMOrktXUtQ2jIR+5E4JanTJSDJ8cTXA== +"@angular/compiler-cli@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-rc.2.tgz#148cc73ba11d3463ab01d5530016945addca33ac" + integrity sha512-2E4KLXW61SWaG49Mis3C3aeuVuKhn4g+J5G9+v/O3vOE6b3xzh42ar8jYwQ1aWdWLBOkSGblD0VffASIIWe4YQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-rc.1.tgz#2d7f4e218fa623277187fab6edd66a27c6f679b7" - integrity sha512-nmZ7Jx1V2SP7QO1z4ioeNbkfa/ESOYxWPPNYwWXLHeAlkM7/eUVXf8PaxFhSpGU8p6XbB5fTJWwxE15/OIZR4w== +"@angular/compiler@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-rc.2.tgz#2f81ee29ae21e9f9cc92eab70685a0ad7d56bd41" + integrity sha512-E/y9Iu5MHVwkupSo/3sK3IDL95IEidmoQgic0wFKB6QkT1QLF9C38LfaCx6AFJgxFJ188QPovyQf2tSPn1rA3Q== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-rc.1.tgz#33c54df14c1ee184118e121f9963edabc964a33f" - integrity sha512-8oHCigATWkY0WVKS5W1YVTqtvL74PFjjQdBi8wSTZwg9zxNoWCbOk1lHD7qD2XDx6Csv3UeSBoUvvUFjx4He8A== +"@angular/core@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-rc.2.tgz#6a09bfc7a4c842c11c6fb46493968740ae14ff70" + integrity sha512-hZsLg3IH7Cs/BNvE4IsBJKiabE1P6OWLGqNq6zboBwn7dTUal1wls1zXfyEYDoskdJ53tQFZvwil0HwqjD88TA== dependencies: tslib "^2.3.0" @@ -175,11 +175,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b": - version "0.0.0-2a50bf4f37f041d8b88c743fae45d09b400e917e" - resolved "https://github.com/angular/dev-infra-private-builds.git#6ee7dd89d71cbdfbd9144e1b84f2090b445e180b" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0": + version "0.0.0-86c3cdc39e860ce19476c88ce489be6a3982fe3c" + uid "323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0" + resolved "https://github.com/angular/dev-infra-private-builds.git#323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0" dependencies: - "@angular-devkit/build-angular" "14.0.0-rc.1" + "@angular-devkit/build-angular" "14.0.0-rc.2" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -213,63 +214,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-rc.1.tgz#b874a41dbfd37d85c2c931e651506d04c3043210" - integrity sha512-QS21iHoZaani1fNQVKesFp78/tin1ZshC88sa/r+WTUql8vas98snbPfUxUYY184TYXP/ipuH2clNks4wqD6WA== +"@angular/forms@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-rc.2.tgz#95897c07086475f408be969ff9c3dfe5725924f1" + integrity sha512-rOfUdVp6CvA/De6hzcFUKnaHxjlDFPTI95IOmV/n4t7BNM8oSAj56TucmQ2z7FeNuJqD40Ic1KCKqnalf+Z3Ng== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-rc.1.tgz#3bbaf8bda7dcc21c8c9a9dd934db93ede15d60b5" - integrity sha512-W8h7NYy1eqQo6gOzC2WChp9a1zauboP/1UKYXPWajbsZLVE8fLsoyKPrcPtcPl1ng9z/bttOkVr890u/qO4a4w== +"@angular/localize@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-rc.2.tgz#5452eb1726bf33d82051a80d9acb2ee0a8b4400d" + integrity sha512-h+mGAKKC9v2Gv55VEMl8iHcWZkhBi+8cgDbE3fzO3BxbGMwRbbHY0wO/aT7R+nAu3pQboHcfPktgrwnjKLtMpA== dependencies: - "@babel/core" "7.17.9" - glob "8.0.1" + "@babel/core" "7.17.12" + glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.0-rc.0": - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-rc.0.tgz#9f5b3aa6d5f27dbe57c5968dad7e7dfedf05d347" - integrity sha512-cae0goKJwMPK1yR9DSBvSXhTswntDMM2hNbnFz6CERlAByxx1J68+uSRRAWqRkMpZfM+4nLBNhci7p+EB8AtIw== +"@angular/material@14.0.0-rc.1": + version "14.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-rc.1.tgz#3ed643722d7ca6235241978890c1e12762e4e320" + integrity sha512-i8DJe0sORn38FaaG23Brd4ERnYdUlq/MsWhJlazr3G8zzJqSoWOdoNBKeofuMov4UjexSRwZo/eRCCgvE8wajg== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-rc.1.tgz#3ff82a4bb3596768b271dddd2bc5f60246a6bc50" - integrity sha512-SSXCWHp4XFVSZ80GpZ3onDQ/c51/MMpdSf+x/TCmmKfF7Q14vEAO9C0ZJz9DOpKXWzKx2cOVEC+2waKU5GRoaw== +"@angular/platform-browser-dynamic@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-rc.2.tgz#aaa8c3cdf6f87fe6583771e48fd309c819584703" + integrity sha512-TInAkVHNQ8qbwBzh6iMaAf4hf2pgKNDAPc23kXfpj1IvnvA1Ur+l6Qh6IV65y4QP5dnGTn1gLg8bt9B8RIjPKw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-rc.1.tgz#2f79a2ebe56832a95f0bcb5f82ce9814fc0371da" - integrity sha512-a0d2ek7us5th9OSE7carSVi+Gbv90JB3tO2oNGcC6TF1n1TQIw/vivNXTnTFqDgPVUvbQ3mGnY2UO/8j4cArKg== +"@angular/platform-browser@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-rc.2.tgz#f4e80f4dfcca4cd69b0b71a5a211d18b78501564" + integrity sha512-OsAh6laBufIrIgYHQIHodQOKLca61ZHoA8CFiN0FpPSuOWxOuJTFRF/Pf5/qucv+DEIc/FKwwS6uGaXeqauABA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-rc.1.tgz#53ed2c5731403b1da26b17110e3af8ed71dfb16c" - integrity sha512-3Mi+FbKD4NHnvLY18X8p2Xh9/+XPdmLJVEzZsfO2k0N2WG9Tl0rx2GHXxi5Pdv5LPps46ExUbBKejougKF4U3g== +"@angular/platform-server@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-rc.2.tgz#3951082e9d2a04293f9b2b3c033256c5d5537941" + integrity sha512-aqc7WIBg6CnONgnTWVmdmm4CHEs8K34ueUWl+0Up7ym492Pz9ywNzGTXlcO4I0iMdxp9Itp6LjpBVQYmKoUpUA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-rc.1.tgz#e0d296f7903ee85b62fc79696b0e0b2803f24178" - integrity sha512-OqJlpJlzlThk83FjkX12KgDi1h7IHdvFoHLWt7orRM9VcO3JXLHfocK7Y/3DS2NQveS9vZTj8YUGWZDmKiH7jA== +"@angular/router@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-rc.2.tgz#3247e72acfd16797ae574c49dc21bf315e0d40bf" + integrity sha512-YbexPNVTzkCDIdsxv7NF3R0KH719Dc9BKwYrFs1/H/m715HhQgbsj9V1M0+pD9exP8Yn4OtCXbpJOyDeC03Vgw== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-rc.1.tgz#63d0ab9649f2ebd1dafe9dd1bfc6c82256c11ed3" - integrity sha512-Q1AOW9fBRGjo8+mHR3dT6Mls2DjD+ssVsAEDw1Fm6m2vP6dC2wQV+7Ylb6K/oAcTCxVLRHLepRMWaGXvqj/TdQ== +"@angular/service-worker@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-rc.2.tgz#8fe5d4df12b9a8039ec08048ecf2bbfa4534beef" + integrity sha512-3uJnKSUNga2vH8CVPmf5+QGAJGaX6Dwp38PO6KfChsuEulSdqOADzUxgNRj7WP5r2znm+zFsWLewdKqNtU2HZQ== dependencies: tslib "^2.3.0" @@ -311,21 +312,21 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" - integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== +"@babel/core@7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.12.tgz#b4eb2d7ebc3449b062381644c93050db545b70ee" + integrity sha512-44ODe6O1IVz9s2oJE3rZ4trNNKTX9O7KpQpfAP4t8QII/zwrVRHL7i2pxhqtcY7tqMLrrKfMlBKnm1QlrRFs5w== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.9" - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-module-transforms" "^7.17.7" + "@babel/generator" "^7.17.12" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-module-transforms" "^7.17.12" "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.9" + "@babel/parser" "^7.17.12" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.17.12" + "@babel/types" "^7.17.12" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -383,7 +384,7 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" -"@babel/generator@7.18.2", "@babel/generator@^7.18.2": +"@babel/generator@7.18.2", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== @@ -392,7 +393,7 @@ "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" -"@babel/generator@^7.17.10", "@babel/generator@^7.17.9", "@babel/generator@^7.18.0": +"@babel/generator@^7.17.10", "@babel/generator@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.0.tgz#46d28e8a18fc737b028efb25ab105d74473af43f" integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== @@ -416,7 +417,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.17.7": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== @@ -519,7 +520,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.0": +"@babel/helper-module-transforms@^7.17.12", "@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== @@ -640,11 +641,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.17.9", "@babel/parser@^7.18.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.0.tgz#10a8d4e656bc01128d299a787aa006ce1a91e112" integrity sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg== +"@babel/parser@^7.17.12": + version "7.18.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.3.tgz#39e99c7b0c4c56cef4d1eed8de9f506411c2ebc2" + integrity sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" @@ -1407,7 +1413,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.9", "@babel/traverse@^7.18.0": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.0.tgz#0e5ec6db098660b2372dd63d096bf484e32d27ba" integrity sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw== @@ -1423,7 +1429,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.18.2": +"@babel/traverse@^7.17.12", "@babel/traverse@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== @@ -1447,7 +1453,7 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@babel/types@^7.18.2": +"@babel/types@^7.17.12", "@babel/types@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.2.tgz#191abfed79ebe6f4242f643a9a5cbaa36b10b091" integrity sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q== @@ -1780,10 +1786,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.1.tgz#1188257876a7c6e40cde7f017729a5f1cb89274a" - integrity sha512-9CqEafLlZD09eqcu1a/rZjiglyBD0ufve8U87kBwOFc7ezWfWi+GLmAIdm3qdTQDcrthqZTKBOugCnxItiJLtA== +"@ngtools/webpack@14.0.0-rc.2": + version "14.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.2.tgz#8ffbe4a0365e63db8c0cf54197314145a517b93c" + integrity sha512-8LapwOR7MAqRDj0CkPaksO40Qqxo/PTwp0UXTz59gxO+/SvHmfoGCijRHPeBXyV7Ct6fevTG0WwvQAovXNen1w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From 81a68c0cde61f0115bc6925d807722e13a5ef845 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 31 May 2022 10:21:05 -0700 Subject: [PATCH 0458/1388] docs: remove hard line wrapping from auto-completion terminal snippet --- .../cli/src/commands/completion/long-description.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/src/commands/completion/long-description.md b/packages/angular/cli/src/commands/completion/long-description.md index f7078ba6619f..2b458433d6ac 100644 --- a/packages/angular/cli/src/commands/completion/long-description.md +++ b/packages/angular/cli/src/commands/completion/long-description.md @@ -13,11 +13,8 @@ Simply answer "Yes" and the CLI will take care of the rest. ``` $ ng serve -? Would you like to enable autocompletion? This will set up your terminal so pressing TAB while -typing Angular CLI commands will show possible options and autocomplete arguments. (Enabling -autocompletion will modify configuration files in your home directory.) Yes -Appended `source <(ng completion script)` to `/home/my-username/.bashrc`. Restart your terminal or -run: +? Would you like to enable autocompletion? This will set up your terminal so pressing TAB while typing Angular CLI commands will show possible options and autocomplete arguments. (Enabling autocompletion will modify configuration files in your home directory.) Yes +Appended `source <(ng completion script)` to `/home/my-username/.bashrc`. Restart your terminal or run: source <(ng completion script) From f7e5d42417c794f461c71d8ddaa9c92235116af0 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 31 May 2022 12:31:56 -0700 Subject: [PATCH 0459/1388] docs: release notes for the v14.0.0-rc.3 release --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cff4872d717e..7152190039b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ + + +# 14.0.0-rc.3 (2022-05-31) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | +| [b97772dfc](https://github.com/angular/angular-cli/commit/b97772dfc03401fe1faa79e77742905341bd5d46) | fix | support silent package installs with Yarn 2+ | +| [87cd5cd43](https://github.com/angular/angular-cli/commit/87cd5cd4311e71a15ea1ecb82dde7480036cb815) | fix | workaround npm 7+ peer dependency resolve errors during updates | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | +| [2adf252dc](https://github.com/angular/angular-cli/commit/2adf252dc8a7eb0ce504de771facca56730e5272) | fix | add es2015 exports package condition to browser-esbuild | +| [48630ccfd](https://github.com/angular/angular-cli/commit/48630ccfd7a672fc5174ef484b3bd5c549d32fef) | fix | detect `tailwind.config.cjs` as valid tailwindcss configuration | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [48f9b79bc](https://github.com/angular/angular-cli/commit/48f9b79bc4d43d0180bab5af5726621a68204a15) | fix | support ignore scripts package installs with Yarn 2+ | +| [3471cd6d8](https://github.com/angular/angular-cli/commit/3471cd6d8696ae9c28dba901d3e0f6868d69efc8) | fix | support quiet package installs with Yarn 2+ | + +## Special Thanks + +Alan Agius, Charles Lyding and Doug Parker + + + # 14.0.0-rc.2 (2022-05-25) From ae02b21c31d4abd49f15203df6195c80ee243b66 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 30 May 2022 09:26:10 +0000 Subject: [PATCH 0460/1388] test: delete no longer used tests These tests have been disabled a long time ago and are no longer used. --- .../legacy-cli/e2e/tests/build/chunk-hash.ts | 126 ------------------ .../e2e/tests/build/rebuild-css-change.ts | 31 ----- .../e2e/tests/build/rebuild-error.ts | 126 ------------------ .../e2e/tests/build/rebuild-ngfactories.ts | 89 ------------- .../e2e/tests/build/subresource-integrity.ts | 17 --- .../e2e/tests/commands/build/build-outdir.ts | 18 --- .../legacy-cli/e2e/tests/misc/common-async.ts | 102 -------------- tests/legacy-cli/e2e/tests/misc/coverage.ts | 29 ---- .../e2e/tests/misc/minimal-config.ts | 54 -------- .../e2e/tests/test/test-fail-watch.ts | 36 ----- .../legacy-cli/e2e/tests/test/test-target.ts | 20 --- 11 files changed, 648 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/chunk-hash.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/rebuild-error.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/subresource-integrity.ts delete mode 100644 tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/common-async.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/coverage.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/minimal-config.ts delete mode 100644 tests/legacy-cli/e2e/tests/test/test-fail-watch.ts delete mode 100644 tests/legacy-cli/e2e/tests/test/test-target.ts diff --git a/tests/legacy-cli/e2e/tests/build/chunk-hash.ts b/tests/legacy-cli/e2e/tests/build/chunk-hash.ts deleted file mode 100644 index 27638febb219..000000000000 --- a/tests/legacy-cli/e2e/tests/build/chunk-hash.ts +++ /dev/null @@ -1,126 +0,0 @@ -import * as fs from 'fs'; - -import { ng } from '../../utils/process'; -import { writeFile, prependToFile, replaceInFile } from '../../utils/fs'; - -const OUTPUT_RE = /(main|polyfills|vendor|inline|styles|\d+)\.[a-z0-9]+\.(chunk|bundle)\.(js|css)$/; - -function generateFileHashMap(): Map { - const hashes = new Map(); - - fs.readdirSync('./dist').forEach((name) => { - if (!name.match(OUTPUT_RE)) { - return; - } - - const [module, hash] = name.split('.'); - hashes.set(module, hash); - }); - - return hashes; -} - -function validateHashes( - oldHashes: Map, - newHashes: Map, - shouldChange: Array, -): void { - console.log(' Validating hashes...'); - console.log(` Old hashes: ${JSON.stringify([...oldHashes])}`); - console.log(` New hashes: ${JSON.stringify([...newHashes])}`); - - oldHashes.forEach((hash, module) => { - if (hash == newHashes.get(module)) { - if (shouldChange.includes(module)) { - throw new Error(`Module "${module}" did not change hash (${hash})...`); - } - } else if (!shouldChange.includes(module)) { - throw new Error(`Module "${module}" changed hash (${hash})...`); - } - }); -} - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - return; - - let oldHashes: Map; - let newHashes: Map; - // First, collect the hashes. - return Promise.resolve() - .then(() => ng('generate', 'module', 'lazy', '--routing')) - .then(() => - prependToFile( - 'src/app/app.module.ts', - ` - import { RouterModule } from '@angular/router'; - import { ReactiveFormsModule } from '@angular/forms'; - `, - ), - ) - .then(() => - replaceInFile( - 'src/app/app.module.ts', - 'imports: [', - `imports: [ - RouterModule.forRoot([{ path: "lazy", loadChildren: "./lazy/lazy.module#LazyModule" }]), - ReactiveFormsModule, - `, - ), - ) - .then(() => ng('build', '--output-hashing=all', '--configuration=development')) - .then(() => { - oldHashes = generateFileHashMap(); - }) - .then(() => ng('build', '--output-hashing=all', '--configuration=development')) - .then(() => { - newHashes = generateFileHashMap(); - }) - .then(() => { - validateHashes(oldHashes, newHashes, []); - oldHashes = newHashes; - }) - .then(() => writeFile('src/styles.css', 'body { background: blue; }')) - .then(() => ng('build', '--output-hashing=all', '--configuration=development')) - .then(() => { - newHashes = generateFileHashMap(); - }) - .then(() => { - validateHashes(oldHashes, newHashes, ['styles']); - oldHashes = newHashes; - }) - .then(() => writeFile('src/app/app.component.css', 'h1 { margin: 10px; }')) - .then(() => ng('build', '--output-hashing=all', '--configuration=development')) - .then(() => { - newHashes = generateFileHashMap(); - }) - .then(() => { - validateHashes(oldHashes, newHashes, ['main']); - oldHashes = newHashes; - }) - .then(() => - prependToFile( - 'src/app/lazy/lazy.module.ts', - ` - import { ReactiveFormsModule } from '@angular/forms'; - `, - ), - ) - .then(() => - replaceInFile( - 'src/app/lazy/lazy.module.ts', - 'imports: [', - ` - imports: [ - ReactiveFormsModule, - `, - ), - ) - .then(() => ng('build', '--output-hashing=all', '--configuration=development')) - .then(() => { - newHashes = generateFileHashMap(); - }) - .then(() => { - validateHashes(oldHashes, newHashes, ['inline', '0']); - }); -} diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts b/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts deleted file mode 100644 index 5964899ad532..000000000000 --- a/tests/legacy-cli/e2e/tests/build/rebuild-css-change.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { - killAllProcesses, - waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch, -} from '../../utils/process'; -import { appendToFile } from '../../utils/fs'; -import { getGlobalVariable } from '../../utils/env'; - -const webpackGoodRegEx = / Compiled successfully./; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - if (process.platform.startsWith('win')) { - return Promise.resolve(); - } - - return ( - execAndWaitForOutputToMatch('ng', ['serve'], webpackGoodRegEx) - // Should trigger a rebuild. - .then(() => appendToFile('src/app/app.component.css', ':host { color: blue; }')) - .then(() => waitForAnyProcessOutputToMatch(webpackGoodRegEx, 10000)) - .then( - () => killAllProcesses(), - (err: any) => { - killAllProcesses(); - throw err; - }, - ) - ); -} diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-error.ts b/tests/legacy-cli/e2e/tests/build/rebuild-error.ts deleted file mode 100644 index 9cad1fec410f..000000000000 --- a/tests/legacy-cli/e2e/tests/build/rebuild-error.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { - killAllProcesses, - waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch, -} from '../../utils/process'; -import { replaceInFile, readFile, writeFile } from '../../utils/fs'; -import { getGlobalVariable } from '../../utils/env'; -import { wait, expectToFail } from '../../utils/utils'; - -const failedRe = /: Failed to compile/; -const successRe = / Compiled successfully/; -const errorRe = /ERROR in/; -const extraErrors = [ - `Final loader didn't return a Buffer or String`, - `doesn't contain a valid alias configuration`, - `main.ts is not part of the TypeScript compilation.`, -]; - -export default function () { - // TODO(architect): This test is behaving oddly both here and in devkit/build-angular. - // It seems to be because of file watchers. - return; - - if (process.platform.startsWith('win')) { - return Promise.resolve(); - } - - // Skip this test in Angular 2/4. - if (getGlobalVariable('argv').ng2 || getGlobalVariable('argv').ng4) { - return Promise.resolve(); - } - - let origContent: string; - - return ( - Promise.resolve() - // Save the original contents of `./src/app/app.component.ts`. - .then(() => readFile('./src/app/app.component.ts')) - .then((contents) => (origContent = contents)) - // Add a major static analysis error on a non-main file to the initial build. - .then(() => replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`)) - // Should have an error. - .then(() => execAndWaitForOutputToMatch('ng', ['build', '--watch', '--aot'], failedRe)) - .then((results) => { - const stderr = results.stderr; - if ( - !stderr.includes('Function calls are not supported') && - !stderr.includes('Function expressions are not supported in decorators') - ) { - throw new Error(`Expected static analysis error, got this instead:\n${stderr}`); - } - if (extraErrors.some((e) => stderr.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${stderr}`); - } - }) - // Fix the error, should trigger a successful rebuild. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(successRe, 20000), - writeFile('src/app/app.component.ts', origContent), - ]), - ) - .then(() => wait(2000)) - // Add an syntax error to a non-main file. - // Build should still be successfull and error reported on forked type checker. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(errorRe, 20000), - writeFile('src/app/app.component.ts', origContent + '\n]]]]]'), - ]), - ) - .then((results) => { - const stderr = results[0].stderr; - if (!stderr.includes('Declaration or statement expected.')) { - throw new Error(`Expected syntax error, got this instead:\n${stderr}`); - } - if (extraErrors.some((e) => stderr.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${stderr}`); - } - }) - // Fix the error, should trigger a successful rebuild. - // We have to wait for the type checker to run, so we expect to NOT - // have an error message in 5s. - .then(() => - Promise.all([ - expectToFail(() => waitForAnyProcessOutputToMatch(errorRe, 5000)), - writeFile('src/app/app.component.ts', origContent), - ]), - ) - .then(() => wait(2000)) - // Add a major static analysis error on a rebuild. - // Should fail the rebuild. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(failedRe, 20000), - replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`), - ]), - ) - .then((results) => { - const stderr = results[0].stderr; - if ( - !stderr.includes('Function calls are not supported') && - !stderr.includes('Function expressions are not supported in decorators') - ) { - throw new Error(`Expected static analysis error, got this instead:\n${stderr}`); - } - if (extraErrors.some((e) => stderr.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${stderr}`); - } - }) - // Fix the error, should trigger a successful rebuild. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(successRe, 20000), - writeFile('src/app/app.component.ts', origContent), - ]), - ) - .then( - () => killAllProcesses(), - (err: any) => { - killAllProcesses(); - throw err; - }, - ) - ); -} diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts b/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts deleted file mode 100644 index 290fa5063bc9..000000000000 --- a/tests/legacy-cli/e2e/tests/build/rebuild-ngfactories.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { - killAllProcesses, - waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch, -} from '../../utils/process'; -import { appendToFile, writeMultipleFiles, replaceInFile, expectFileToMatch } from '../../utils/fs'; -import { getGlobalVariable } from '../../utils/env'; - -const validBundleRegEx = / Compiled successfully./; - -export default function () { - // TODO(architect): This test is behaving oddly both here and in devkit/build-angular. - // It seems to be because of file watchers. - return; - - if (process.platform.startsWith('win')) { - return Promise.resolve(); - } - - // Skip this test in Angular 2/4. - if (getGlobalVariable('argv').ng2 || getGlobalVariable('argv').ng4) { - return Promise.resolve(); - } - - return ( - execAndWaitForOutputToMatch('ng', ['build', '--watch', '--aot'], validBundleRegEx) - .then(() => - writeMultipleFiles({ - 'src/app/app.component.css': ` - @import './imported-styles.css'; - body {background-color: #00f;} - `, - 'src/app/imported-styles.css': 'p {color: #f00;}', - }), - ) - // Trigger a few rebuilds first. - // The AOT compiler is still optimizing rebuilds on the first rebuild. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/main.ts', 'console.log(1)\n'), - ]), - ) - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/main.ts', 'console.log(1)\n'), - ]), - ) - // Check if html changes are built. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/app/app.component.html', '

HTML_REBUILD_STRING

'), - ]), - ) - .then(() => expectFileToMatch('dist/test-project/main.js', 'HTML_REBUILD_STRING')) - // Check if css changes are built. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/app/app.component.css', 'CSS_REBUILD_STRING {color: #f00;}'), - ]), - ) - .then(() => expectFileToMatch('dist/test-project/main.js', 'CSS_REBUILD_STRING')) - // Check if css dependency changes are built. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - appendToFile('src/app/imported-styles.css', 'CSS_DEP_REBUILD_STRING {color: #f00;}'), - ]), - ) - .then(() => expectFileToMatch('dist/test-project/main.js', 'CSS_DEP_REBUILD_STRING')) - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 10000), - replaceInFile('src/app/app.component.ts', 'app-root', 'app-root-FACTORY_REBUILD_STRING'), - ]), - ) - .then(() => expectFileToMatch('dist/test-project/main.js', 'FACTORY_REBUILD_STRING')) - .then( - () => killAllProcesses(), - (err: any) => { - killAllProcesses(); - throw err; - }, - ) - ); -} diff --git a/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts b/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts deleted file mode 100644 index f0d78da7a5ed..000000000000 --- a/tests/legacy-cli/e2e/tests/build/subresource-integrity.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { expectFileToMatch } from '../../utils/fs'; -import { ng } from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; - -const integrityRe = /integrity="\w+-[A-Za-z0-9\/\+=]+"/; - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - // WEBPACK4_DISABLED - disabled pending a webpack 4 version - return; - - return ng('build') - .then(() => expectToFail(() => expectFileToMatch('dist/test-project/index.html', integrityRe))) - .then(() => ng('build', '--sri')) - .then(() => expectFileToMatch('dist/test-project/index.html', integrityRe)); -} diff --git a/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts b/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts deleted file mode 100644 index ffc5b448cdf0..000000000000 --- a/tests/legacy-cli/e2e/tests/commands/build/build-outdir.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; -import { expectToFail } from '../../../utils/utils'; - -export default function () { - // TODO(architect): This isn't working correctly in devkit/build-angular, due to module resolution. - return; - - return Promise.resolve() - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.outputPath = './'; - }), - ) - .then(() => expectToFail(() => ng('build', '--configuration=development'))) - .then(() => expectToFail(() => ng('serve'))); -} diff --git a/tests/legacy-cli/e2e/tests/misc/common-async.ts b/tests/legacy-cli/e2e/tests/misc/common-async.ts deleted file mode 100644 index 1fbd3081808a..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/common-async.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { readdirSync } from 'fs'; -import { installPackage } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { appendToFile, expectFileToExist, prependToFile, replaceInFile } from '../../utils/fs'; -import { expectToFail } from '../../utils/utils'; - -export default function () { - // TODO(architect): The common chunk seems to have a different name in devkit/build-angular. - // Investigate, validate, then delete this test. - return; - - const commonFile = 'dist/test-project/common.chunk.js'; - let oldNumberOfFiles = 0; - return ( - Promise.resolve() - .then(() => ng('build')) - .then(() => (oldNumberOfFiles = readdirSync('dist/test-project').length)) - .then(() => ng('generate', 'module', 'lazyA', '--routing')) - .then(() => ng('generate', 'module', 'lazyB', '--routing')) - .then(() => - prependToFile( - 'src/app/app.module.ts', - ` - import { RouterModule } from '@angular/router'; - `, - ), - ) - .then(() => - replaceInFile( - 'src/app/app.module.ts', - 'imports: [', - `imports: [ - RouterModule.forRoot([{ path: "lazyA", loadChildren: "./lazy-a/lazy-a.module#LazyAModule" }]), - RouterModule.forRoot([{ path: "lazyB", loadChildren: "./lazy-b/lazy-b.module#LazyBModule" }]), - `, - ), - ) - .then(() => ng('build')) - .then(() => readdirSync('dist').length) - .then((currentNumberOfDistFiles) => { - if (oldNumberOfFiles >= currentNumberOfDistFiles) { - throw new Error('A bundle for the lazy module was not created.'); - } - oldNumberOfFiles = currentNumberOfDistFiles; - }) - .then(() => installPackage('moment')) - .then(() => - appendToFile( - 'src/app/lazy-a/lazy-a.module.ts', - ` - import * as moment from 'moment'; - console.log(moment); - `, - ), - ) - .then(() => ng('build')) - .then(() => readdirSync('dist/test-project').length) - .then((currentNumberOfDistFiles) => { - if (oldNumberOfFiles != currentNumberOfDistFiles) { - throw new Error('The build contains a different number of files.'); - } - }) - .then(() => - appendToFile( - 'src/app/lazy-b/lazy-b.module.ts', - ` - import * as moment from 'moment'; - console.log(moment); - `, - ), - ) - .then(() => ng('build')) - .then(() => expectFileToExist(commonFile)) - .then(() => readdirSync('dist/test-project').length) - .then((currentNumberOfDistFiles) => { - if (oldNumberOfFiles >= currentNumberOfDistFiles) { - throw new Error( - `The build contains the wrong number of files. The test for '${commonFile}' to exist should have failed.`, - ); - } - oldNumberOfFiles = currentNumberOfDistFiles; - }) - .then(() => ng('build', '--no-common-chunk')) - .then(() => expectToFail(() => expectFileToExist(commonFile))) - .then(() => readdirSync('dist/test-project').length) - .then((currentNumberOfDistFiles) => { - if (oldNumberOfFiles <= currentNumberOfDistFiles) { - throw new Error( - `The build contains the wrong number of files. The test for '${commonFile}' not to exist should have failed.`, - ); - } - }) - // Check for AoT and lazy routes. - .then(() => ng('build', '--aot')) - .then(() => readdirSync('dist/test-project').length) - .then((currentNumberOfDistFiles) => { - if (oldNumberOfFiles != currentNumberOfDistFiles) { - throw new Error('AoT build contains a different number of files.'); - } - }) - ); -} diff --git a/tests/legacy-cli/e2e/tests/misc/coverage.ts b/tests/legacy-cli/e2e/tests/misc/coverage.ts deleted file mode 100644 index a5cb808076d5..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/coverage.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { expectFileToExist, expectFileToMatch } from '../../utils/fs'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; -import { ng } from '../../utils/process'; - -export default function () { - // TODO(architect): This test is broken in devkit/build-angular, istanbul and - // istanbul-instrumenter-loader are missing from the dependencies. - return; - - return ( - ng('test', '--watch=false', '--code-coverage') - .then((output) => expect(output.stdout).toContain('Coverage summary')) - .then(() => expectFileToExist('coverage/src/app')) - .then(() => expectFileToExist('coverage/lcov.info')) - // Verify code coverage exclude work - .then(() => expectFileToMatch('coverage/lcov.info', 'polyfills.ts')) - .then(() => expectFileToMatch('coverage/lcov.info', 'test.ts')) - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.test.options.codeCoverageExclude = ['src/polyfills.ts', '**/test.ts']; - }), - ) - .then(() => ng('test', '--watch=false', '--code-coverage')) - .then(() => expectToFail(() => expectFileToMatch('coverage/lcov.info', 'polyfills.ts'))) - .then(() => expectToFail(() => expectFileToMatch('coverage/lcov.info', 'test.ts'))) - ); -} diff --git a/tests/legacy-cli/e2e/tests/misc/minimal-config.ts b/tests/legacy-cli/e2e/tests/misc/minimal-config.ts deleted file mode 100644 index 851204936b38..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/minimal-config.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { writeFile, writeMultipleFiles } from '../../utils/fs'; -import { ng } from '../../utils/process'; - -export default function () { - // TODO(architect): Figure out what a minimal config is for architect apps. - return; - - return Promise.resolve() - .then(() => - writeFile( - 'angular.json', - JSON.stringify({ - apps: [ - { - root: 'src', - main: 'main.ts', - scripts: ['../node_modules/zone.js/dist/zone.js'], - }, - ], - e2e: { protractor: { config: './protractor.conf.js' } }, - }), - ), - ) - .then(() => ng('e2e', 'test-project-e2e')) - .then(() => - writeMultipleFiles({ - './src/script.js': ` - document.querySelector('app-root').innerHTML = '

app works!

'; - `, - './e2e/app.e2e-spec.ts': ` - import { browser, element, by } from 'protractor'; - - describe('minimal project App', function() { - it('should display message saying app works', () => { - browser.ignoreSynchronization = true; - browser.get('/'); - let el = element(by.css('app-root h1')).getText(); - expect(el).toEqual('app works!'); - }); - }); - `, - 'angular.json': JSON.stringify({ - apps: [ - { - root: 'src', - scripts: ['./script.js'], - }, - ], - e2e: { protractor: { config: './protractor.conf.js' } }, - }), - }), - ) - .then(() => ng('e2e', 'test-project-e2e')); -} diff --git a/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts b/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts deleted file mode 100644 index 8723f2712bf1..000000000000 --- a/tests/legacy-cli/e2e/tests/test/test-fail-watch.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { - killAllProcesses, - waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch, -} from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; -import { readFile, writeFile } from '../../utils/fs'; - -// Karma is only really finished with a run when it shows a non-zero total time in the first slot. -const karmaGoodRegEx = /Executed 3 of 3 SUCCESS \(\d+\.\d+ secs/; - -export default function () { - // TODO(architect): This test is behaving oddly both here and in devkit/build-angular. - // It seems to be because of file watchers. - return; - - let originalSpec: string; - return ( - execAndWaitForOutputToMatch('ng', ['test'], karmaGoodRegEx) - .then(() => readFile('src/app/app.component.spec.ts')) - .then((data) => (originalSpec = data)) - // Trigger a failed rebuild, which shouldn't run tests again. - .then(() => writeFile('src/app/app.component.spec.ts', '

definitely not typescript

')) - .then(() => expectToFail(() => waitForAnyProcessOutputToMatch(karmaGoodRegEx, 10000))) - // Restore working spec. - .then(() => writeFile('src/app/app.component.spec.ts', originalSpec)) - .then(() => waitForAnyProcessOutputToMatch(karmaGoodRegEx, 20000)) - .then( - () => killAllProcesses(), - (err: any) => { - killAllProcesses(); - throw err; - }, - ) - ); -} diff --git a/tests/legacy-cli/e2e/tests/test/test-target.ts b/tests/legacy-cli/e2e/tests/test/test-target.ts deleted file mode 100644 index 8a21299dd4d5..000000000000 --- a/tests/legacy-cli/e2e/tests/test/test-target.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; - -export default function () { - // TODO(architect): This is giving odd errors in devkit/build-angular. - // TypeError: Assignment to constant variable. - return; - - return updateJsonFile('tsconfig.json', (configJson) => { - const compilerOptions = configJson['compilerOptions']; - compilerOptions['target'] = 'es2015'; - }) - .then(() => - updateJsonFile('src/tsconfig.spec.json', (configJson) => { - const compilerOptions = configJson['compilerOptions']; - compilerOptions['target'] = 'es2015'; - }), - ) - .then(() => ng('test', '--watch=false')); -} From f70557afc11bccf549dd37d82484104865fa3fb4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 30 May 2022 10:08:48 +0000 Subject: [PATCH 0461/1388] test: use `tree-kill` callback tree-kill kills process asynchronously, but previously we didn't wait for the processes to be terminated before we continue running other tests. With this change we use the tree-kill callback method to wait for the processes to be killed before we continue with out tests. --- tests/legacy-cli/e2e/tests/basic/e2e.ts | 8 +- tests/legacy-cli/e2e/tests/basic/rebuild.ts | 8 +- tests/legacy-cli/e2e/tests/basic/serve.ts | 4 +- tests/legacy-cli/e2e/tests/build/poll.ts | 2 +- .../tests/build/rebuild-deps-type-check.ts | 8 +- .../e2e/tests/build/rebuild-replacements.ts | 10 +- .../e2e/tests/build/rebuild-types.ts | 2 +- .../e2e/tests/commands/serve/reload-shims.ts | 2 +- .../e2e/tests/commands/serve/serve-path.ts | 17 +-- .../e2e/tests/misc/ask-missing-builder.ts | 4 +- tests/legacy-cli/e2e/tests/misc/fallback.ts | 8 +- .../legacy-cli/e2e/tests/misc/proxy-config.ts | 61 ++-------- .../legacy-cli/e2e/tests/misc/public-host.ts | 112 ++++++------------ .../legacy-cli/e2e/tests/misc/ssl-default.ts | 2 +- .../e2e/tests/misc/ssl-with-cert.ts | 2 +- tests/legacy-cli/e2e/tests/misc/title.ts | 2 +- tests/legacy-cli/e2e/utils/process.ts | 20 +++- 17 files changed, 84 insertions(+), 188 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/basic/e2e.ts b/tests/legacy-cli/e2e/tests/basic/e2e.ts index 2668bdce30c1..bcb710c2a754 100644 --- a/tests/legacy-cli/e2e/tests/basic/e2e.ts +++ b/tests/legacy-cli/e2e/tests/basic/e2e.ts @@ -66,12 +66,6 @@ export default function () { ng('e2e', 'test-project', '--no-webdriver-update', '--dev-server-target='), ), ) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) + .finally(() => killAllProcesses()) ); } diff --git a/tests/legacy-cli/e2e/tests/basic/rebuild.ts b/tests/legacy-cli/e2e/tests/basic/rebuild.ts index 973e4ec9230e..486e6d3fb2c1 100644 --- a/tests/legacy-cli/e2e/tests/basic/rebuild.ts +++ b/tests/legacy-cli/e2e/tests/basic/rebuild.ts @@ -181,12 +181,6 @@ export default function () { throw new Error('Expected component CSS to update.'); } }) - .then( - () => killAllProcesses(), - (err: unknown) => { - killAllProcesses(); - throw err; - }, - ) + .finally(() => killAllProcesses()) ); } diff --git a/tests/legacy-cli/e2e/tests/basic/serve.ts b/tests/legacy-cli/e2e/tests/basic/serve.ts index 38270755e5ec..9078c4779fd0 100644 --- a/tests/legacy-cli/e2e/tests/basic/serve.ts +++ b/tests/legacy-cli/e2e/tests/basic/serve.ts @@ -7,13 +7,13 @@ export default async function () { // Serve works without HMR await ngServe('--no-hmr'); await verifyResponse(); - killAllProcesses(); + await killAllProcesses(); // Serve works with HMR await ngServe('--hmr'); await verifyResponse(); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/build/poll.ts b/tests/legacy-cli/e2e/tests/build/poll.ts index 75218b0108d3..e2f3347324de 100644 --- a/tests/legacy-cli/e2e/tests/build/poll.ts +++ b/tests/legacy-cli/e2e/tests/build/poll.ts @@ -24,6 +24,6 @@ export default async function () { // But a rebuild should happen roughly within the 10 second window. await waitForAnyProcessOutputToMatch(webpackGoodRegEx, 7000); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts b/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts index d0651fe66c16..fc29895abbb4 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-deps-type-check.ts @@ -114,12 +114,6 @@ export default function () { throw new Error('Expected no error but an error was shown.'); } }) - .then( - () => killAllProcesses(), - (err: any) => { - killAllProcesses(); - throw err; - }, - ) + .finally(() => killAllProcesses()) ); } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts index 4397e43cb3e6..907a5dc60414 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts @@ -13,7 +13,6 @@ export default async function () { return; } - let error; try { await execAndWaitForOutputToMatch( 'ng', @@ -26,12 +25,7 @@ export default async function () { // Should trigger a rebuild. await appendToFile('src/environments/environment.prod.ts', `console.log('PROD');`); await waitForAnyProcessOutputToMatch(webpackGoodRegEx, 45000); - } catch (e) { - error = e; - } - - killAllProcesses(); - if (error) { - throw error; + } finally { + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-types.ts b/tests/legacy-cli/e2e/tests/build/rebuild-types.ts index 095998ebe24d..42a34301859f 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-types.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-types.ts @@ -26,6 +26,6 @@ export default async function () { writeFile('src/app/type.ts', `export type MyType = string;`), ]); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts b/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts index 912dfb99f600..1d1c8a51d6b6 100644 --- a/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts +++ b/tests/legacy-cli/e2e/tests/commands/serve/reload-shims.ts @@ -20,6 +20,6 @@ export default async function () { /Module not found: Error: Can't resolve 'path'/, ); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts index 913894284b8d..6217656a2a85 100644 --- a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts +++ b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts @@ -18,20 +18,5 @@ export default function () { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ); - // .then(() => ngServe('--base-href', 'test/')) - // .then((response) => response.text()) - // .then(() => fetch('http://localhost:4200/test', { headers: { 'Accept': 'text/html' } })) - // .then(body => { - // if (!body.match(/<\/app-root>/)) { - // throw new Error('Response does not match expected value.'); - // } - // }) - // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }); + .finally(() => killAllProcesses()); } diff --git a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts index c1bb60042a64..b26a01818cd1 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts @@ -14,7 +14,7 @@ export default async function () { /Would you like to add a package with "deploy" capabilities/, ); - killAllProcesses(); + await killAllProcesses(); // Execute a command with TTY force enabled execWithEnv('ng', ['lint'], { @@ -26,6 +26,6 @@ export default async function () { // Check if the prompt is shown await waitForAnyProcessOutputToMatch(/Would you like to add ESLint now/); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/misc/fallback.ts b/tests/legacy-cli/e2e/tests/misc/fallback.ts index ab06a5676bbb..771464909fcc 100644 --- a/tests/legacy-cli/e2e/tests/misc/fallback.ts +++ b/tests/legacy-cli/e2e/tests/misc/fallback.ts @@ -38,12 +38,6 @@ export default function () { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) + .finally(() => killAllProcesses()) ); } diff --git a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts index 67a0ba69f08b..41375ce37de7 100644 --- a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts +++ b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts @@ -33,53 +33,16 @@ export default function () { }, }; - return ( - Promise.resolve() - .then(() => writeFile(proxyConfigFile, JSON.stringify(proxyConfig, null, 2))) - .then(() => ngServe('--proxy-config', proxyConfigFile)) - .then(() => fetch('http://localhost:4200/api/test')) - .then(async (response) => { - assert.strictEqual(response.status, 200); - assert.match(await response.text(), /TEST_API_RETURN/); - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) - - // .then(() => updateJsonFile('angular.json', configJson => { - // const app = configJson.defaults; - // app.serve = { - // proxyConfig: proxyConfigFile - // }; - // })) - // .then(() => ngServe()) - // .then(() => fetch('http://localhost:4200/api/test')) - // .then(async (response) => { - // assert.strictEqual(response.status, 200); - // assert.match(await response.text(), /TEST_API_RETURN/) - // }) - // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }) - - .then( - () => server.close(), - (err) => { - server.close(); - throw err; - }, - ) - ); - - // // A non-existing proxy file should error. - // .then(() => expectToFail(() => ng('serve', '--proxy-config', 'proxy.non-existent.json'))) - // .then(() => updateJsonFile('angular.json', configJson => { - // const app = configJson.defaults; - // app.serve = { - // proxyConfig: 'proxy.non-existent.json' - // }; - // })) - // .then(() => expectToFail(() => ng('serve'))); + return Promise.resolve() + .then(() => writeFile(proxyConfigFile, JSON.stringify(proxyConfig, null, 2))) + .then(() => ngServe('--proxy-config', proxyConfigFile)) + .then(() => fetch('http://localhost:4200/api/test')) + .then(async (response) => { + assert.strictEqual(response.status, 200); + assert.match(await response.text(), /TEST_API_RETURN/); + }) + .finally(async () => { + await killAllProcesses(); + server.close(); + }); } diff --git a/tests/legacy-cli/e2e/tests/misc/public-host.ts b/tests/legacy-cli/e2e/tests/misc/public-host.ts index 96237dd60fbc..cdebc93e4070 100644 --- a/tests/legacy-cli/e2e/tests/misc/public-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/public-host.ts @@ -14,78 +14,42 @@ export default function () { const publicHost = `${firstLocalIp}:4200`; const localAddress = `http://${publicHost}`; - return ( - Promise.resolve() - // Disabling this test. Webpack Dev Server does not check the hots anymore when binding to - // numeric IP addresses. - // .then(() => ngServe('--host=0.0.0.0')) - // .then(() => fetch(localAddress)) - // .then((response) => response.text()) - // .then(body => { - // if (!body.match(/Invalid Host header/)) { - // throw new Error('Response does not match expected value.'); - // } - // }) - // .then(() => killAllProcesses(), (err) => { killAllProcesses(); throw err; }) - .then(() => ngServe('--host=0.0.0.0', `--public-host=${publicHost}`)) - .then(() => fetch(localAddress)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) - .then(() => ngServe('--host=0.0.0.0', `--disable-host-check`)) - .then(() => fetch(localAddress)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) - .then(() => ngServe('--host=0.0.0.0', `--public-host=${localAddress}`)) - .then(() => fetch(localAddress)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) - .then(() => ngServe('--host=0.0.0.0', `--public-host=${firstLocalIp}`)) - .then(() => fetch(localAddress)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) - ); + return Promise.resolve() + .then(() => ngServe('--host=0.0.0.0', `--public-host=${publicHost}`)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) + .then((body) => { + if (!body.match(/<\/app-root>/)) { + throw new Error('Response does not match expected value.'); + } + }) + .then(() => killAllProcesses()) + .then(() => ngServe('--host=0.0.0.0', `--disable-host-check`)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) + .then((body) => { + if (!body.match(/<\/app-root>/)) { + throw new Error('Response does not match expected value.'); + } + }) + + .then(() => killAllProcesses()) + .then(() => ngServe('--host=0.0.0.0', `--public-host=${localAddress}`)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) + .then((body) => { + if (!body.match(/<\/app-root>/)) { + throw new Error('Response does not match expected value.'); + } + }) + .then(() => killAllProcesses()) + .then(() => ngServe('--host=0.0.0.0', `--public-host=${firstLocalIp}`)) + .then(() => fetch(localAddress)) + .then((response) => response.text()) + .then((body) => { + if (!body.match(/<\/app-root>/)) { + throw new Error('Response does not match expected value.'); + } + }) + .finally(() => killAllProcesses()); } diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts index 464b5d973c85..0dd010337a60 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts @@ -17,6 +17,6 @@ export default async function () { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts index 1435af28bbab..4ff12a5b2232 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts @@ -25,6 +25,6 @@ export default async function () { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/tests/misc/title.ts b/tests/legacy-cli/e2e/tests/misc/title.ts index 22af9ed9bd16..568ba310fb2a 100644 --- a/tests/legacy-cli/e2e/tests/misc/title.ts +++ b/tests/legacy-cli/e2e/tests/misc/title.ts @@ -20,6 +20,6 @@ export default async function () { throw new Error('Title of the process was not properly set.'); } } finally { - killAllProcesses(); + await killAllProcesses(); } } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 903e35f15a7b..f1f4608f591e 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -5,7 +5,7 @@ import { concat, defer, EMPTY, from } from 'rxjs'; import { repeat, takeLast } from 'rxjs/operators'; import { getGlobalVariable } from './env'; import { catchError } from 'rxjs/operators'; -const treeKill = require('tree-kill'); +import treeKill from 'tree-kill'; interface ExecOptions { silent?: boolean; @@ -189,8 +189,22 @@ export function waitForAnyProcessOutputToMatch( return Promise.race(matchPromises.concat([timeoutPromise])); } -export function killAllProcesses(signal = 'SIGTERM') { - _processes.forEach((process) => treeKill(process.pid, signal)); +export async function killAllProcesses(signal = 'SIGTERM'): Promise { + await Promise.all( + _processes.map( + ({ pid }) => + new Promise((resolve, reject) => { + treeKill(pid, signal, (err) => { + if (err) { + reject(err); + } else { + resolve(); + } + }); + }), + ), + ); + _processes = []; } From 6983773151c2066c245bd345721d882cdf26bfcb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 30 May 2022 10:13:12 +0000 Subject: [PATCH 0462/1388] test: use `execAndWaitForOutputToMatch` to match prompt output Since the prompt will be displayed in the same process on `ng deploy` and `ng lint` we don't need to look for matching outputs in all processes. This also fixes some failures on Windows. --- .../e2e/tests/misc/ask-missing-builder.ts | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts index b26a01818cd1..c98574f6e38c 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts @@ -1,30 +1,27 @@ -import { execWithEnv, killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; +import { execAndWaitForOutputToMatch, killAllProcesses } from '../../utils/process'; export default async function () { try { - // Execute a command with TTY force enabled - execWithEnv('ng', ['deploy'], { - ...process.env, - NG_FORCE_TTY: '1', - NG_CLI_ANALYTICS: 'false', - }); - - // Check if the prompt is shown - await waitForAnyProcessOutputToMatch( + // Execute a command with TTY force enabled and check that the prompt is shown. + await execAndWaitForOutputToMatch( + 'ng', + ['deploy'], /Would you like to add a package with "deploy" capabilities/, + { + ...process.env, + NG_FORCE_TTY: '1', + NG_CLI_ANALYTICS: 'false', + }, ); await killAllProcesses(); - // Execute a command with TTY force enabled - execWithEnv('ng', ['lint'], { + // Execute a command with TTY force enabled and check that the prompt is shown. + await execAndWaitForOutputToMatch('ng', ['lint'], /Would you like to add ESLint now/, { ...process.env, NG_FORCE_TTY: '1', NG_CLI_ANALYTICS: 'false', }); - - // Check if the prompt is shown - await waitForAnyProcessOutputToMatch(/Would you like to add ESLint now/); } finally { await killAllProcesses(); } From 91758115cde231a32a4fe9ccf80146808e17c12c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 31 May 2022 07:18:44 +0000 Subject: [PATCH 0463/1388] test: add missing `--skip-confirmation` to NPM 7 `ng add` test This tests fails with ``` No terminal detected. '--skip-confirmation' can be used to bypass installation confirmation. Ensure package name is correct prior to '--skip-confirmation' option usage. Command aborted. ``` --- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 09b1f988b2a4..bc6b4e1accfd 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -58,7 +58,10 @@ export default async function () { await npm('install', '--global', 'npm@7.4.0'); // Ensure `ng add` shows npm warning - const { stderr: stderrAdd } = await ng('add', '@angular/localize'); + // The below command will fail with the below due to incorrect peerDeps + const { message: stderrAdd } = await expectToFail(() => + ng('add', '@angular/localize', '--skip-confirmation'), + ); if (!stderrAdd.includes(warningText)) { throw new Error('ng add expected to show npm version warning.'); } From b5deab15fa61224d0c9bb9d141965c0c68e0a587 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 26 May 2022 17:19:28 -0700 Subject: [PATCH 0464/1388] docs: update major release instructions to mention `latest-versions.ts` bump --- docs/process/release.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index 9a8ffdfd5008..9d9f5ad7fe5c 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -87,9 +87,23 @@ or a separate PR after FW releases but before CLI releases. **For a major release:** -When a release is transitioning from a prerelease to a stable release, the semver ranges for Angular dependencies within the packages' `package.json` files will need to be updated to remove the prerelease version segment. -For example, `"@angular/compiler-cli": "^13.0.0 || ^13.0.0-next"` in a prerelease should become `"@angular/compiler-cli": "^13.0.0"` in the stable release. -The current packages that require adjustment are: +**As part of the release PR**, make sure to: + +- modify + [`latest-versions.ts`](https://github.com/angular/angular-cli/blob/main/packages/schematics/angular/utility/latest-versions.ts#L18) + so the Angular semver is updated from `~13.0.0-rc` to just `~13.0.0`. + - This is the version generated in `ng new` schematics and needs to be updated to avoid having + users generate projects with `-rc` in the dependencies. +- update the + [`ng-packagr`](https://github.com/angular/angular-cli/blob/main/packages/schematics/angular/utility/latest-versions/package.json#L15) + dependency to a stable version (ex. from `^13.0.0-next.0` to `^13.0.0`). + +When a release is transitioning from a prerelease to a stable release, the semver ranges for Angular +dependencies within the packages' `package.json` files will need to be updated to remove the +prerelease version segment. For example, `"@angular/compiler-cli": "^13.0.0 || ^13.0.0-next"` in a +prerelease should become `"@angular/compiler-cli": "^13.0.0"` in the stable release. This can happen +as a follow-up item _after_ the release PR and the stable release, actually shipped in the `13.0.1` +release. The current packages that require adjustment are: - `@angular-devkit/build-angular`: [packages/angular_devkit/build_angular/package.json](/packages/angular_devkit/build_angular/package.json) - `@ngtools/webpack`: [packages/ngtools/webpack/package.json](/packages/ngtools/webpack/package.json) From 807444897f26dd769c91a9db4713b57ec1e17e18 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 1 Jun 2022 13:30:28 +0000 Subject: [PATCH 0465/1388] build: update all non-major dependencies --- package.json | 20 +- .../angular_devkit/build_angular/package.json | 12 +- yarn.lock | 560 +++++++++++------- 3 files changed, 363 insertions(+), 229 deletions(-) diff --git a/package.json b/package.json index f5b10cecfcbd..006a7d9c88f3 100644 --- a/package.json +++ b/package.json @@ -120,8 +120,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.26.0", - "@typescript-eslint/parser": "5.26.0", + "@typescript-eslint/eslint-plugin": "5.27.0", + "@typescript-eslint/parser": "5.27.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -136,8 +136,8 @@ "critters": "0.0.16", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.39", - "esbuild-wasm": "0.14.39", + "esbuild": "0.14.42", + "esbuild-wasm": "0.14.42", "eslint": "8.16.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -183,10 +183,10 @@ "postcss": "8.4.14", "postcss-import": "14.1.0", "postcss-loader": "7.0.0", - "postcss-preset-env": "7.6.0", + "postcss-preset-env": "7.7.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "14.1.1", + "puppeteer": "14.1.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -200,21 +200,21 @@ "source-map-loader": "3.0.1", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", - "stylus": "0.57.0", + "stylus": "0.58.1", "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.13.1", + "terser": "5.14.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "~4.7.2", - "verdaccio": "5.10.2", + "verdaccio": "5.10.3", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.72.1", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.0", + "webpack-dev-server": "4.9.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index df467000c085..f25292bfe404 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.39", + "esbuild-wasm": "0.14.42", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -48,7 +48,7 @@ "postcss": "8.4.14", "postcss-import": "14.1.0", "postcss-loader": "7.0.0", - "postcss-preset-env": "7.6.0", + "postcss-preset-env": "7.7.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -57,20 +57,20 @@ "semver": "7.3.7", "source-map-loader": "3.0.1", "source-map-support": "0.5.21", - "stylus": "0.57.0", + "stylus": "0.58.1", "stylus-loader": "7.0.0", - "terser": "5.13.1", + "terser": "5.14.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", "webpack": "5.72.1", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.0", + "webpack-dev-server": "4.9.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.39" + "esbuild": "0.14.42" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index 60cd25cd7fb8..a01f9ebb817c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1543,7 +1543,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.1": +"@csstools/postcss-cascade-layers@^1.0.1", "@csstools/postcss-cascade-layers@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.2.tgz#7c48b5f773c4cdcdc6b57d6099fbdc2332e12219" integrity sha512-n5fSd3N/RTLjwC6TLnHjlVEt5tRg6S6Pu+LpRgXayX0QVJHvlMzE3+R12cd2F0we8WB4OE8o5r5iWgmBPpqUyQ== @@ -1618,6 +1618,13 @@ dependencies: postcss-value-parser "^4.2.0" +"@csstools/postcss-trigonometric-functions@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.1.tgz#e36e61f445614193dbf6d3a8408709b0cf184a6f" + integrity sha512-G78CY/+GePc6dDCTUbwI6TTFQ5fs3N9POHhI6v0QzteGpf6ylARiJUNz9HrRKi4eVYBNXjae1W2766iUEFxHlw== + dependencies: + postcss-value-parser "^4.2.0" + "@csstools/postcss-unset-value@^1.0.0", "@csstools/postcss-unset-value@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.1.tgz#2cc020785db5ec82cc9444afe4cdae2a65445f89" @@ -1710,6 +1717,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.13" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" @@ -2571,14 +2586,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz#c1f98ccba9d345e38992975d3ca56ed6260643c2" - integrity sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA== +"@typescript-eslint/eslint-plugin@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz#23d82a4f21aaafd8f69dbab7e716323bb6695cc8" + integrity sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ== dependencies: - "@typescript-eslint/scope-manager" "5.26.0" - "@typescript-eslint/type-utils" "5.26.0" - "@typescript-eslint/utils" "5.26.0" + "@typescript-eslint/scope-manager" "5.27.0" + "@typescript-eslint/type-utils" "5.27.0" + "@typescript-eslint/utils" "5.27.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2586,69 +2601,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.26.0.tgz#a61b14205fe2ab7533deb4d35e604add9a4ceee2" - integrity sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q== +"@typescript-eslint/parser@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.27.0.tgz#62bb091ed5cf9c7e126e80021bb563dcf36b6b12" + integrity sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA== dependencies: - "@typescript-eslint/scope-manager" "5.26.0" - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/typescript-estree" "5.26.0" + "@typescript-eslint/scope-manager" "5.27.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/typescript-estree" "5.27.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz#44209c7f649d1a120f0717e0e82da856e9871339" - integrity sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw== +"@typescript-eslint/scope-manager@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz#a272178f613050ed62f51f69aae1e19e870a8bbb" + integrity sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g== dependencies: - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/visitor-keys" "5.26.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/visitor-keys" "5.27.0" -"@typescript-eslint/type-utils@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz#937dee97702361744a3815c58991acf078230013" - integrity sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A== +"@typescript-eslint/type-utils@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz#36fd95f6747412251d79c795b586ba766cf0974b" + integrity sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g== dependencies: - "@typescript-eslint/utils" "5.26.0" + "@typescript-eslint/utils" "5.27.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.26.0.tgz#cb204bb154d3c103d9cc4d225f311b08219469f3" - integrity sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA== +"@typescript-eslint/types@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.27.0.tgz#c3f44b9dda6177a9554f94a74745ca495ba9c001" + integrity sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A== -"@typescript-eslint/typescript-estree@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz#16cbceedb0011c2ed4f607255f3ee1e6e43b88c3" - integrity sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w== +"@typescript-eslint/typescript-estree@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz#7965f5b553c634c5354a47dcce0b40b94611e995" + integrity sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ== dependencies: - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/visitor-keys" "5.26.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/visitor-keys" "5.27.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.26.0.tgz#896b8480eb124096e99c8b240460bb4298afcfb4" - integrity sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg== +"@typescript-eslint/utils@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.27.0.tgz#d0021cbf686467a6a9499bd0589e19665f9f7e71" + integrity sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.26.0" - "@typescript-eslint/types" "5.26.0" - "@typescript-eslint/typescript-estree" "5.26.0" + "@typescript-eslint/scope-manager" "5.27.0" + "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/typescript-estree" "5.27.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz#7195f756e367f789c0e83035297c45b417b57f57" - integrity sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q== +"@typescript-eslint/visitor-keys@5.27.0": + version "5.27.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz#97aa9a5d2f3df8215e6d3b77f9d214a24db269bd" + integrity sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA== dependencies: - "@typescript-eslint/types" "5.26.0" + "@typescript-eslint/types" "5.27.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -2680,14 +2695,14 @@ lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.3.3": - version "10.3.3" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.3.3.tgz#f578a3b5745fa1f5070085924b6b5532319ac466" - integrity sha512-VRb9zvs8uXVb5hgSXZ5Ci6meupulFmScd0CJAm+MJeetoSdlr9ERxp3c21hMCct8Djf6gepKOGKItYS6YEDKHA== +"@verdaccio/readme@10.3.4": + version "10.3.4" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.3.4.tgz#35594d30cebb9624f29c51f0ddc380f301d6c5a4" + integrity sha512-E4SHDjVt7eJ3CwNNvkB3N0zV3Zza8i6yQf6+qE4AZsy1L18OaxXBFmp4O4HxxIahB3npVhip230FVVAWUZjK+w== dependencies: - dompurify "2.3.6" + dompurify "2.3.8" jsdom "15.2.1" - marked "4.0.14" + marked "4.0.16" "@verdaccio/streams@10.2.0": version "10.2.0" @@ -3342,22 +3357,6 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.19.2: - version "1.19.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" - type-is "~1.6.18" - body-parser@1.20.0, body-parser@^1.19.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" @@ -3968,16 +3967,16 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.2, cookie@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - cookie@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + cookies@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" @@ -4145,7 +4144,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.6.1: +cssdb@^6.6.1, cssdb@^6.6.2: version "6.6.2" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.2.tgz#6c1c1777483c909a8fc64f296a51546136b35f45" integrity sha512-w08LaP+DRoPlw4g4LSUp+EWRrWTPlrzWREcU7/6IeMfL7tPR2P9oeQ1G+pxyfMmLWBNDwqHWa6kxiuGMLb71EA== @@ -4458,10 +4457,10 @@ domino@^2.1.2: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.6.tgz#2e019d7d7617aacac07cbbe3d88ae3ad354cf875" - integrity sha512-OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg== +dompurify@2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.8.tgz#224fe9ae57d7ebd9a1ae1ac18c1c1ca3f532226f" + integrity sha512-eVhaWoVibIzqdGYjwsBWodIQIaXFSB+cKDf4cfxLMsK0xiud6SE+/WCVx/Xw/UwQsa4cS3T2eITcdtmTg2UKcw== domutils@^2.8.0: version "2.8.0" @@ -4734,6 +4733,11 @@ esbuild-android-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz#09f12a372eed9743fd77ff6d889ac14f7b340c21" integrity sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ== +esbuild-android-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" + integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== + esbuild-android-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" @@ -4744,6 +4748,11 @@ esbuild-android-arm64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz#f608d00ea03fe26f3b1ab92a30f99220390f3071" integrity sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA== +esbuild-android-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" + integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== + esbuild-darwin-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" @@ -4754,6 +4763,11 @@ esbuild-darwin-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz#31528daa75b4c9317721ede344195163fae3e041" integrity sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g== +esbuild-darwin-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" + integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== + esbuild-darwin-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" @@ -4764,6 +4778,11 @@ esbuild-darwin-arm64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz#247f770d86d90a215fa194f24f90e30a0bd97245" integrity sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw== +esbuild-darwin-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" + integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== + esbuild-freebsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" @@ -4774,6 +4793,11 @@ esbuild-freebsd-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz#479414d294905055eb396ebe455ed42213284ee0" integrity sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ== +esbuild-freebsd-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" + integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== + esbuild-freebsd-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" @@ -4784,6 +4808,11 @@ esbuild-freebsd-arm64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz#cedeb10357c88533615921ae767a67dc870a474c" integrity sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg== +esbuild-freebsd-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" + integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== + esbuild-linux-32@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" @@ -4794,6 +4823,11 @@ esbuild-linux-32@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz#d9f008c4322d771f3958f59c1eee5a05cdf92485" integrity sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg== +esbuild-linux-32@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" + integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== + esbuild-linux-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" @@ -4804,6 +4838,11 @@ esbuild-linux-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz#ba58d7f66858913aeb1ab5c6bde1bbd824731795" integrity sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ== +esbuild-linux-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" + integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== + esbuild-linux-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" @@ -4814,6 +4853,11 @@ esbuild-linux-arm64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz#708785a30072702b5b1c16b65cf9c25c51202529" integrity sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ== +esbuild-linux-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" + integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== + esbuild-linux-arm@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" @@ -4824,6 +4868,11 @@ esbuild-linux-arm@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz#4e8b5deaa7ab60d0d28fab131244ef82b40684f4" integrity sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ== +esbuild-linux-arm@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" + integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== + esbuild-linux-mips64le@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" @@ -4834,6 +4883,11 @@ esbuild-linux-mips64le@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz#6f3bf3023f711084e5a1e8190487d2020f39f0f7" integrity sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw== +esbuild-linux-mips64le@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" + integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== + esbuild-linux-ppc64le@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" @@ -4844,6 +4898,11 @@ esbuild-linux-ppc64le@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz#900e718a4ea3f6aedde8424828eeefdd4b48d4b9" integrity sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ== +esbuild-linux-ppc64le@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" + integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== + esbuild-linux-riscv64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" @@ -4854,6 +4913,11 @@ esbuild-linux-riscv64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz#dcbff622fa37047a75d2ff7a1d8d2949d80277e4" integrity sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA== +esbuild-linux-riscv64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" + integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== + esbuild-linux-s390x@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" @@ -4864,6 +4928,11 @@ esbuild-linux-s390x@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz#3f725a7945b419406c99d93744b28552561dcdfd" integrity sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA== +esbuild-linux-s390x@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" + integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== + esbuild-netbsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" @@ -4874,6 +4943,11 @@ esbuild-netbsd-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz#e10e40b6a765798b90d4eb85901cc85c8b7ff85e" integrity sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA== +esbuild-netbsd-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" + integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== + esbuild-openbsd-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" @@ -4884,6 +4958,11 @@ esbuild-openbsd-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz#935ec143f75ce10bd9cdb1c87fee00287eb0edbc" integrity sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA== +esbuild-openbsd-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" + integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== + esbuild-sunos-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" @@ -4894,12 +4973,22 @@ esbuild-sunos-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#0e7aa82b022a2e6d55b0646738b2582c2d72c3c0" integrity sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg== +esbuild-sunos-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" + integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== + esbuild-wasm@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== -esbuild-wasm@0.14.39, esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" + integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== + +esbuild-wasm@^0.14.29: version "0.14.39" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.39.tgz#e30d735d1f4605d278445ee71497a4af9eb987dd" integrity sha512-ERthbXykeACyL8gmE1FE2njn/kyBrnj4tuoImtcpry8uNb/McUNtv08TdWA0pGHYxfD76XoaIwKEOMSv25IkFQ== @@ -4914,6 +5003,11 @@ esbuild-windows-32@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz#3f1538241f31b538545f4b5841b248cac260fa35" integrity sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q== +esbuild-windows-32@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" + integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== + esbuild-windows-64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" @@ -4924,6 +5018,11 @@ esbuild-windows-64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz#b100c59f96d3c2da2e796e42fee4900d755d3e03" integrity sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow== +esbuild-windows-64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" + integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== + esbuild-windows-arm64@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" @@ -4934,6 +5033,11 @@ esbuild-windows-arm64@0.14.39: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#00268517e665b33c89778d61f144e4256b39f631" integrity sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA== +esbuild-windows-arm64@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" + integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== + esbuild@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" @@ -4960,7 +5064,33 @@ esbuild@0.14.38: esbuild-windows-64 "0.14.38" esbuild-windows-arm64 "0.14.38" -esbuild@0.14.39, esbuild@^0.14.29: +esbuild@0.14.42: + version "0.14.42" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" + integrity sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw== + optionalDependencies: + esbuild-android-64 "0.14.42" + esbuild-android-arm64 "0.14.42" + esbuild-darwin-64 "0.14.42" + esbuild-darwin-arm64 "0.14.42" + esbuild-freebsd-64 "0.14.42" + esbuild-freebsd-arm64 "0.14.42" + esbuild-linux-32 "0.14.42" + esbuild-linux-64 "0.14.42" + esbuild-linux-arm "0.14.42" + esbuild-linux-arm64 "0.14.42" + esbuild-linux-mips64le "0.14.42" + esbuild-linux-ppc64le "0.14.42" + esbuild-linux-riscv64 "0.14.42" + esbuild-linux-s390x "0.14.42" + esbuild-netbsd-64 "0.14.42" + esbuild-openbsd-64 "0.14.42" + esbuild-sunos-64 "0.14.42" + esbuild-windows-32 "0.14.42" + esbuild-windows-64 "0.14.42" + esbuild-windows-arm64 "0.14.42" + +esbuild@^0.14.29: version "0.14.39" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.39.tgz#c926b2259fe6f6d3a94f528fb42e103c5a6d909a" integrity sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ== @@ -5255,42 +5385,6 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.19.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.4.2" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.9.7" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" - setprototypeof "1.2.0" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - express@4.18.1, express@^4.17.3: version "4.18.1" resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" @@ -5469,7 +5563,7 @@ finalhandler@1.1.0: statuses "~1.3.1" unpipe "~1.0.0" -finalhandler@1.1.2, finalhandler@~1.1.2: +finalhandler@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== @@ -6033,17 +6127,6 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -6113,14 +6196,6 @@ http-status-codes@2.2.0: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== -https-proxy-agent@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -7339,15 +7414,10 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: socks-proxy-agent "^6.1.1" ssri "^9.0.0" -marked@4.0.14: - version "4.0.14" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.14.tgz#7a3a5fa5c80580bac78c1ed2e3b84d7bd6fc3870" - integrity sha512-HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ== - -marked@4.0.15: - version "4.0.15" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.15.tgz#0216b7c9d5fcf6ac5042343c41d81a8b1b5e1b4a" - integrity sha512-esX5lPdTfG4p8LDkv+obbRCyOKzB+820ZZyMOXJZygZBHrH9b3xXR64X4kT3sPe9Nx8qQXbmcz6kFSMt4Nfk6Q== +marked@4.0.16: + version "4.0.16" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" + integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA== media-typer@0.3.0: version "0.3.0" @@ -8398,7 +8468,7 @@ postcss-clamp@^4.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^4.2.2: +postcss-color-functional-notation@^4.2.2, postcss-color-functional-notation@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz#23c9d73c76113b75473edcf66f443c6f1872bd0f" integrity sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw== @@ -8569,7 +8639,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.4, postcss-nesting@^10.1.6: +postcss-nesting@^10.1.4, postcss-nesting@^10.1.6, postcss-nesting@^10.1.7: version "10.1.7" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.7.tgz#0101bd6c7d386e7ad8e2e86ebcc0e0109833b86e" integrity sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A== @@ -8650,7 +8720,60 @@ postcss-preset-env@7.5.0: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@7.6.0, postcss-preset-env@^7.4.2: +postcss-preset-env@7.7.0: + version "7.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#bcc9be9725a85d34e72a8fa69dc5e1130abee301" + integrity sha512-2Q9YARQju+j2BVgAyDnW1pIWIMlaHZqbaGISPMmalznNlWcNFIZFQsJfRLXS+WHmHJDCmV7wIWpVf9JNKR4Elw== + dependencies: + "@csstools/postcss-cascade-layers" "^1.0.2" + "@csstools/postcss-color-function" "^1.1.0" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.1" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.4" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.0" + "@csstools/postcss-trigonometric-functions" "^1.0.0" + "@csstools/postcss-unset-value" "^1.0.1" + autoprefixer "^10.4.7" + browserslist "^4.20.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.6.2" + postcss-attribute-case-insensitive "^5.0.0" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.3" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.7" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.7" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.4" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + +postcss-preset-env@^7.4.2: version "7.6.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.6.0.tgz#4e6178d97fc1ddd7fec168c9034eb17258a5bf12" integrity sha512-5cnzpSFZnQJOlBu85xn4Nnluy/WjIST/ugn+gOVcKnmFJ+GLtkfRhmJPo/TW9UDpG7oyA467kvDOO8mtcpOL4g== @@ -8921,10 +9044,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.1.tgz#9a2b4042f9644d0d5fb63dbb6d75042af6a67656" - integrity sha512-4dC6GYR5YlXTmNO3TbYEHTdVSdml1cVD2Ok/h/f/xSTp4ITVdbRWkMjiOaEKRAhtIl6GqaP7B89zx+hfhcNGMQ== +puppeteer@14.1.2: + version "14.1.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.2.tgz#bde2ca5585fb56ed906bccced898d551778f5c5d" + integrity sha512-Nsyy1f7pT2KyBb15u8DHi4q3FfrIqOptAV0r4Bd1lAp2pHz8T0o4DO+On1yWZ7jFbcx1w3AqZ/e7nKqnc3Vwyg== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -8966,11 +9089,6 @@ qs@6.2.3: resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= -qs@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== - qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -9025,16 +9143,6 @@ range-parser@^1.2.1, range-parser@~1.2.0, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== - dependencies: - bytes "3.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - raw-body@2.5.1, raw-body@^2.3.2: version "2.5.1" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" @@ -9645,25 +9753,6 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "1.8.1" - mime "1.6.0" - ms "2.1.3" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - send@0.18.0, send@^0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -9713,16 +9802,6 @@ serve-static@1.13.2: parseurl "~1.3.2" send "0.16.2" -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.2" - serve-static@1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" @@ -9869,7 +9948,7 @@ socket.io@^4.4.1: socket.io-adapter "~2.4.0" socket.io-parser "~4.0.4" -sockjs@^0.3.21: +sockjs@^0.3.21, sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== @@ -10115,7 +10194,7 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.4.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -10271,6 +10350,17 @@ stylus@0.57.0, stylus@^0.57.0: sax "~1.2.4" source-map "^0.7.3" +stylus@0.58.1: + version "0.58.1" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.58.1.tgz#7e425bb493c10dde94cf427a138d3eae875a3b44" + integrity sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w== + dependencies: + css "^3.0.0" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.2.4" + source-map "^0.7.3" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10376,6 +10466,16 @@ terser@5.13.1, terser@^5.7.2: source-map "~0.8.0-beta.0" source-map-support "~0.5.20" +terser@5.14.0: + version "5.14.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" + integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10833,14 +10933,14 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -verdaccio-audit@10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.1.tgz#5499bfe09e1ab35ab62962e4fa95d5ce6b2356c2" - integrity sha512-zDG0Kw1ny+Kj+k134/gVN5B3/+8h7i8dKdw4wqVf8CcaYfXlIAIgdwPB1DeD/D2DFSy43FokSO9erTKPHGHidw== +verdaccio-audit@10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.2.tgz#254380e57932fda64b45cb739e9c42cc9fb2dfdf" + integrity sha512-f2uZlKD7vi0yEB0wN8WOf+eA/3SCyKD9cvK17Hh7Wm8f/bl7k1B3hHOTtUCn/yu85DGsj2pcNzrAfp2wMVgz9Q== dependencies: body-parser "1.20.0" - express "4.17.3" - https-proxy-agent "5.0.0" + express "4.18.1" + https-proxy-agent "5.0.1" node-fetch "2.6.7" verdaccio-auth-memory@^10.0.0: @@ -10861,14 +10961,14 @@ verdaccio-htpasswd@10.3.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.10.2: - version "5.10.2" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.10.2.tgz#09d866ec310a5aca5bc6dea2109bb1c24c07eb16" - integrity sha512-vcHsfPEqr3PHQLJ6asAXUM8Trl/1IumIvairtst4YD8peKvnDTgj2ilWHg87eYx/sXhFFWynauOwfKee5gcs0A== +verdaccio@5.10.3: + version "5.10.3" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.10.3.tgz#525ce0f1c2498325c43fcdcc1f03a0fc6ce592df" + integrity sha512-mhTREPA3In3JRf/jn1fE0dFRAY+Z4K/sQ9SwNDD8R+Wtuvs2mMZuiwX3M87xh67Y+RsRQbDOz97FUsiCxDIu9w== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.1" - "@verdaccio/readme" "10.3.3" + "@verdaccio/readme" "10.3.4" "@verdaccio/streams" "10.2.0" "@verdaccio/ui-theme" "6.0.0-6-next.24" JSONStream "1.3.5" @@ -10893,7 +10993,7 @@ verdaccio@5.10.2: lodash "4.17.21" lru-cache "7.9.0" lunr-mutable-indexes "2.3.2" - marked "4.0.15" + marked "4.0.16" memoizee "0.4.15" mime "3.0.0" minimatch "5.0.1" @@ -10906,7 +11006,7 @@ verdaccio@5.10.2: request "2.88.0" semver "7.3.7" validator "13.7.0" - verdaccio-audit "10.2.1" + verdaccio-audit "10.2.2" verdaccio-htpasswd "10.3.0" verror@1.10.0: @@ -11057,6 +11157,40 @@ webpack-dev-server@4.9.0: webpack-dev-middleware "^5.3.1" ws "^8.4.2" +webpack-dev-server@4.9.1: + version "4.9.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.1.tgz#184607b0287c791aeaa45e58e8fe75fcb4d7e2a8" + integrity sha512-CTMfu2UMdR/4OOZVHRpdy84pNopOuigVIsRbGX3LVDMWNP8EUgC5mUBMErbwBlHTEX99ejZJpVqrir6EXAEajA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From 711aa7f826581d8876b1def47b7c047a5f3a9bff Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 2 Jun 2022 14:35:07 +0000 Subject: [PATCH 0466/1388] test(@angular/cli): force using `NPM_CONFIG_legacy_peer_deps` for `ng add` NPM 7 test `NPM_CONFIG_legacy_peer_deps` is set to `true` during snapshot test runs https://github.com/angular/angular-cli/blob/177fa0d8c0076589fc12bce5ca5969606d541336/tests/legacy-cli/e2e/utils/packages.ts#L67-L69. This causes the `ng add @angular/localize` to not fail because of incorrect peer dependencies, which isn't the case when test against latest or next versions. With this change, we update this test to always set `NPM_CONFIG_legacy_peer_deps` to `true`. --- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index bc6b4e1accfd..10356f173ce2 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -3,7 +3,7 @@ import { execSync } from 'child_process'; import { valid as validSemVer } from 'semver'; import { rimraf } from '../../utils/fs'; import { getActivePackageManager } from '../../utils/packages'; -import { ng, npm } from '../../utils/process'; +import { execWithEnv, ng, npm } from '../../utils/process'; import { isPrereleaseCli } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; @@ -58,10 +58,12 @@ export default async function () { await npm('install', '--global', 'npm@7.4.0'); // Ensure `ng add` shows npm warning - // The below command will fail with the below due to incorrect peerDeps - const { message: stderrAdd } = await expectToFail(() => - ng('add', '@angular/localize', '--skip-confirmation'), + const { stderr: stderrAdd } = await execWithEnv( + 'ng', + ['add', '@angular/localize', '--skip-confirmation'], + { ...process.env, 'NPM_CONFIG_legacy_peer_deps': 'true' }, ); + if (!stderrAdd.includes(warningText)) { throw new Error('ng add expected to show npm version warning.'); } From 9301699f7a0a84c5c730ba4bc61afb5562098dc9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 2 Jun 2022 10:00:57 +0000 Subject: [PATCH 0467/1388] fix(@angular-devkit/build-angular): replace dev-server socket path from `/ws` to `/ng-cli-ws` In some cases `/ws` caused conflicts with local websocket connections. Hence we change the dev-server web socket path to something more specific to the Angular CLI. Closes #23260 --- .../src/builders/dev-server/specs/live-reload_spec.ts | 3 ++- .../build_angular/src/webpack/configs/dev-server.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts index 84d908431312..164261c2c592 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts @@ -95,7 +95,8 @@ function createProxy(target: string, secure: boolean, ws = true): ProxyInstance async function goToPageAndWaitForWS(page: Page, url: string): Promise { const baseUrl = url.replace(/^http/, 'ws'); - const socksRequest = baseUrl[baseUrl.length - 1] === '/' ? `${baseUrl}ws` : `${baseUrl}/ws`; + const socksRequest = + baseUrl[baseUrl.length - 1] === '/' ? `${baseUrl}ng-cli-ws` : `${baseUrl}/ng-cli-ws`; // Create a Chrome dev tools session so that we can capturing websocket request. // https://github.com/puppeteer/puppeteer/issues/2974 diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index 698d9ccffdc7..d6171b848562 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -298,7 +298,7 @@ function getWebSocketSettings( }; } - const webSocketPath = posix.join(servePath, 'ws'); + const webSocketPath = posix.join(servePath, 'ng-cli-ws'); return { webSocketServer: { From 438ee6d5b54592630de181fb358b506bb4422d52 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 31 May 2022 08:52:26 +0000 Subject: [PATCH 0468/1388] fix(@schematics/angular): remove strict setting under application project This setting is redundant under an application project since an application cannot be created under another application. --- packages/schematics/angular/application/index.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index f5dae7b33b42..88485f9cc3ff 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -112,14 +112,6 @@ function addAppToWorkspaceFile( }); } - if (options.strict) { - if (!('@schematics/angular:application' in schematics)) { - schematics['@schematics/angular:application'] = {}; - } - - (schematics['@schematics/angular:application'] as JsonObject).strict = true; - } - const sourceRoot = join(normalize(projectRoot), 'src'); let budgets = []; if (options.strict) { From 7ce0982a14811f71c4a71123c193e0e60c3fdd41 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 1 Jun 2022 12:28:13 -0700 Subject: [PATCH 0469/1388] test: keep npm servers alive while in debug state --- tests/legacy-cli/e2e_runner.ts | 68 ++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 978b8f68d4dc..43bb286b0362 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -122,15 +122,15 @@ setGlobalVariable('argv', argv); setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -Promise.all([findFreePort(), findFreePort()]) - .then(async ([httpPort, httpsPort]) => { - setGlobalVariable('package-registry', 'http://localhost:' + httpPort); - setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); +Promise.all([findFreePort(), findFreePort()]).then(async ([httpPort, httpsPort]) => { + setGlobalVariable('package-registry', 'http://localhost:' + httpPort); + setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); - const registryProcess = await createNpmRegistry(httpPort, httpPort); - const secureRegistryProcess = await createNpmRegistry(httpPort, httpsPort, true); + const registryProcess = await createNpmRegistry(httpPort, httpPort); + const secureRegistryProcess = await createNpmRegistry(httpPort, httpsPort, true); - return testsToRun + return ( + testsToRun .reduce((previous, relativeName, testIndex) => { // Make sure this is a windows compatible path. let absoluteName = path.join(e2eRoot, relativeName); @@ -207,35 +207,39 @@ Promise.all([findFreePort(), findFreePort()]) ); }); }, Promise.resolve()) - .finally(() => { - registryProcess.kill(); - secureRegistryProcess.kill(); - }); - }) - .then( - () => { - console.log(colors.green('Done.')); - process.exit(0); - }, - (err) => { - console.log('\n'); - console.error(colors.red(`Test "${currentFileName}" failed...`)); - console.error(colors.red(err.message)); - console.error(colors.red(err.stack)); + // Output success vs failure information. + .then( + () => console.log(colors.green('Done.')), + (err) => { + console.log('\n'); + console.error(colors.red(`Test "${currentFileName}" failed...`)); + console.error(colors.red(err.message)); + console.error(colors.red(err.stack)); - if (argv.debug) { - console.log(`Current Directory: ${process.cwd()}`); - console.log('Will loop forever while you debug... CTRL-C to quit.'); + if (argv.debug) { + console.log(`Current Directory: ${process.cwd()}`); + console.log('Will loop forever while you debug... CTRL-C to quit.'); - /* eslint-disable no-constant-condition */ - while (1) { - // That's right! - } - } + /* eslint-disable no-constant-condition */ + while (1) { + // That's right! + } + } - process.exit(1); - }, + return Promise.reject(err); + }, + ) + // Kill the registry processes before exiting. + .finally(() => { + registryProcess.kill(); + secureRegistryProcess.kill(); + }) + .then( + () => process.exit(0), + () => process.exit(1), + ) ); +}); function printHeader(testName: string, testIndex: number) { const text = `${testIndex + 1} of ${testsToRun.length}`; From a0f41f98110f24a3373a1c0f0f31960cf41c20de Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 2 Jun 2022 06:45:12 +0000 Subject: [PATCH 0470/1388] build: update scorecard action dependencies --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index fbbb67f4da7f..39515225e785 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@5c8bc69dc88b65c66584e07611df79d3579b0377 # tag=v1.1.0 + uses: ossf/scorecard-action@3e15ea8318eee9b333819ec77a36aca8d39df13e # tag=v1.1.1 with: results_file: results.sarif results_format: sarif @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@a3a6c128d771b6b9bdebb1c9d0583ebd2728a108 # tag=v2.1.11 + uses: github/codeql-action/upload-sarif@27ea8f8fe5977c00f5b37e076ab846c5bd783b96 # tag=v2.1.12 with: sarif_file: results.sarif From 53a897ba43d396430c3cab7624351f3d29aae106 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 1 Jun 2022 15:47:16 +0000 Subject: [PATCH 0471/1388] build: lock file maintenance --- yarn.lock | 907 +++++++++++++++++++++--------------------------------- 1 file changed, 354 insertions(+), 553 deletions(-) diff --git a/yarn.lock b/yarn.lock index a01f9ebb817c..b5423a504297 100644 --- a/yarn.lock +++ b/yarn.lock @@ -169,9 +169,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "13.3.9" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.9.tgz#6be6f79efd7d85bbd014d100da4227fe43d5ae75" - integrity sha512-LaY3yBDgN/efG11x/cwVeuC4gUG3YUMmk/sgAP3L1VGawYOiKoJ76decFpy6y4UgYPShQQRzpZQEVXF405jrLg== + version "13.3.11" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.11.tgz#e5d56560028b3c99c6814989cba7ad61339968ea" + integrity sha512-9BmE2CxyV0g+AkBeuc8IwjSOiJ8Y+kptXnqD/J8EAFT3B0/fLGVnjFdZC6Sev9L0SNZb6qdzebpfIOLqbUjReQ== dependencies: tslib "^2.3.0" @@ -333,7 +333,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.2": +"@babel/core@7.18.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== @@ -354,27 +354,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.0.tgz#c58d04d7c6fbfb58ea7681e2b9145cfb62726756" - integrity sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.0" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helpers" "^7.18.0" - "@babel/parser" "^7.18.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/generator@7.17.10": version "7.17.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" @@ -384,7 +363,7 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" -"@babel/generator@7.18.2", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": +"@babel/generator@7.18.2", "@babel/generator@^7.17.10", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== @@ -393,15 +372,6 @@ "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" -"@babel/generator@^7.17.10", "@babel/generator@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.0.tgz#46d28e8a18fc737b028efb25ab105d74473af43f" - integrity sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg== - dependencies: - "@babel/types" "^7.18.0" - "@jridgewell/gen-mapping" "^0.3.0" - jsesc "^2.5.1" - "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -417,17 +387,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz#09c63106d47af93cf31803db6bc49fef354e2ebe" - integrity sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.18.2": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== @@ -472,14 +432,7 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-environment-visitor@^7.18.2": +"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== @@ -506,7 +459,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": +"@babel/helper-member-expression-to-functions@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== @@ -555,25 +508,18 @@ "@babel/helper-wrap-function" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== +"@babel/helper-replace-supers@^7.16.7", "@babel/helper-replace-supers@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0" + integrity sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q== dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-environment-visitor" "^7.18.2" + "@babel/helper-member-expression-to-functions" "^7.17.7" "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== - dependencies: - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" -"@babel/helper-simple-access@^7.18.2": +"@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== @@ -614,16 +560,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.9", "@babel/helpers@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.0.tgz#aff37c3590de42102b54842446146d0205946370" - integrity sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - -"@babel/helpers@^7.18.2": +"@babel/helpers@^7.17.9", "@babel/helpers@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== @@ -641,15 +578,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.0.tgz#10a8d4e656bc01128d299a787aa006ce1a91e112" - integrity sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg== - -"@babel/parser@^7.17.12": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.3.tgz#39e99c7b0c4c56cef4d1eed8de9f506411c2ebc2" - integrity sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.17.12", "@babel/parser@^7.18.0": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" + integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" @@ -942,23 +874,23 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.17.12.tgz#68fc3c4b3bb7dfd809d97b7ed19a584052a2725c" - integrity sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ== + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9" + integrity sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw== dependencies: "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.17.12.tgz#da889e89a4d38375eeb24985218edeab93af4f29" - integrity sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw== + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814" + integrity sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-environment-visitor" "^7.18.2" "@babel/helper-function-name" "^7.17.9" "@babel/helper-optimise-call-expression" "^7.16.7" "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-replace-supers" "^7.18.2" "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" @@ -1038,17 +970,7 @@ "@babel/helper-plugin-utils" "^7.17.12" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.17.9": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.0.tgz#3be575e19fbd273d42adbc84566b1fad3582b3db" - integrity sha512-cCeR0VZWtfxWS4YueAK2qtHtBPJRSaJcMlbS8jhSIm/A3E2Kpro4W1Dn4cqJtp59dtWfXjQwK7SPKF8ghs7rlw== - dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-simple-access" "^7.17.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.2": +"@babel/plugin-transform-modules-commonjs@^7.17.9", "@babel/plugin-transform-modules-commonjs@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ== @@ -1059,9 +981,9 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.17.8", "@babel/plugin-transform-modules-systemjs@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.0.tgz#50ecdb43de97c8483824402f7125edb94cddb09a" - integrity sha512-vwKpxdHnlM5tIrRt/eA0bzfbi7gUBLN08vLu38np1nZevlPySRe6yvuATJB5F/WPJ+ur4OXwpVYq9+BsxqAQuQ== + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz#3d6fd9868c735cce8f38d6ae3a407fb7e61e6d46" + integrity sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg== dependencies: "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-module-transforms" "^7.18.0" @@ -1175,14 +1097,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.17.12.tgz#4aec0a18f39dd86c442e1d077746df003e362c6e" - integrity sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-template-literals@^7.18.2": +"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g== @@ -1390,20 +1305,13 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.18.3": +"@babel/runtime@7.18.3", "@babel/runtime@^7.8.4": version "7.18.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.8.4": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.0.tgz#6d77142a19cb6088f0af662af1ada37a604d34ae" - integrity sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1413,23 +1321,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.0.tgz#0e5ec6db098660b2372dd63d096bf484e32d27ba" - integrity sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.0" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.0" - "@babel/types" "^7.18.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.17.12", "@babel/traverse@^7.18.2": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.12", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== @@ -1445,18 +1337,10 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.18.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.0.tgz#ef523ea349722849cb4bf806e9342ede4d071553" - integrity sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.17.12", "@babel/types@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.2.tgz#191abfed79ebe6f4242f643a9a5cbaa36b10b091" - integrity sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q== +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" + integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" @@ -1543,7 +1427,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.1", "@csstools/postcss-cascade-layers@^1.0.2": +"@csstools/postcss-cascade-layers@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.2.tgz#7c48b5f773c4cdcdc6b57d6099fbdc2332e12219" integrity sha512-n5fSd3N/RTLjwC6TLnHjlVEt5tRg6S6Pu+LpRgXayX0QVJHvlMzE3+R12cd2F0we8WB4OE8o5r5iWgmBPpqUyQ== @@ -1655,7 +1539,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@gar/promisify@^1.1.3": +"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== @@ -1827,6 +1711,14 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + "@npmcli/fs@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" @@ -1858,6 +1750,14 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + "@npmcli/move-file@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" @@ -1879,13 +1779,13 @@ infer-owner "^1.0.4" "@npmcli/run-script@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.2.tgz#3e9116d831f4539bf292d18b015977a6118997ee" - integrity sha512-vdjD/PMBl+OX9j9C9irx5sCCIKfp2PWkpPNH9zxvlJAfSZ3Qp5aU412v+O3PFJl3R1PFNwuyChCqHg4ma6ci2Q== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.3.tgz#66afa6e0c4c3484056195f295fa6c1d1a45ddf58" + integrity sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q== dependencies: "@npmcli/node-gyp" "^2.0.0" "@npmcli/promise-spawn" "^3.0.0" - node-gyp "^9.0.0" + node-gyp "^8.4.1" read-package-json-fast "^2.0.3" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": @@ -2007,6 +1907,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -2304,9 +2209,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.35" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.35.tgz#635b7586086d51fb40de0a2ec9d1014a5283ba4a" - integrity sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg== + version "17.0.38" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.38.tgz#f8bb07c371ccb1903f3752872c89f44006132947" + integrity sha512-5jY9RhV7c0Z4Jy09G+NIDTsCZ5G0L5n+Z+p+Y7t5VJHM30bgwzSjVtlcBxqAj+6L/swIlvtOSzr8rBk/aNyV2g== "@types/node@12.20.24": version "12.20.24" @@ -2324,9 +2229,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.18.tgz#5c9503030df484ccffcbb935ea9a9e1d6fad1a20" - integrity sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig== + version "14.18.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.20.tgz#268f028b36eaf51181c3300252f605488c4f0650" + integrity sha512-Q8KKwm9YqEmUBRsqJ2GWJDtXltBDxTdC4m5vTdXBolu2PeQh8LX+f6BTwU+OuXPu37fLxoN6gidqBmnky36FXA== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2447,9 +2352,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.0.tgz#b23ba7e7f4f59069529c57f0cbb7f5fba74affe7" - integrity sha512-ehqwZemosqiWVe+W0f5GqcLH7NgtjMBmcknmeaPG6YZHc7EZ69XbD7VVNZcT/L8lyMIL/KG99MsGcvDuFWo3Yw== + version "4.1.1" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz#aefb038f0462fd880f9c9581b8b3b71ce385719c" + integrity sha512-NxxZZek50ylIACiXebKQYHD3D4One3WXOasEXWazL6aTfYbZob7ClNKxUpg8I4/oWArX87oPWvj1cHKqfel3Hg== dependencies: "@types/ws" "*" @@ -2951,7 +2856,7 @@ agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agentkeepalive@^4.2.1: +agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== @@ -3641,6 +3546,30 @@ cacache@16.1.0, cacache@^16.0.0, cacache@^16.1.0: tar "^6.1.11" unique-filename "^1.1.1" +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3660,9 +3589,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: - version "1.0.30001342" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz#87152b1e3b950d1fbf0093e23f00b6c8e8f1da96" - integrity sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA== + version "1.0.30001344" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz#8a1e7fdc4db9c2ec79a05e9fd68eb93a761888bb" + integrity sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g== caseless@~0.12.0: version "0.12.0" @@ -3800,7 +3729,7 @@ clone-deep@^4.0.1: clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== collection-utils@^1.0.1: version "1.0.1" @@ -3824,7 +3753,7 @@ color-convert@^2.0.1: color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" @@ -3864,14 +3793,14 @@ commander@^2.2.0, commander@^2.20.0, commander@^2.20.3: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^9.0.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" - integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== + version "9.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" + integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== component-emitter@~1.3.0: version "1.3.0" @@ -3901,7 +3830,7 @@ compression@1.7.4, compression@^1.7.4: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@~1.6.0: version "1.6.2" @@ -3921,7 +3850,7 @@ connect-history-api-fallback@^1, connect-history-api-fallback@^1.6.0: connect@3.6.6: version "3.6.6" resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" - integrity sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ= + integrity sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ== dependencies: debug "2.6.9" finalhandler "1.1.0" @@ -3941,7 +3870,7 @@ connect@^3.7.0: console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== content-disposition@0.5.4: version "0.5.4" @@ -3965,7 +3894,7 @@ convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.5.0: version "0.5.0" @@ -4017,9 +3946,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.6" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.6.tgz#2e7c7a703238c168883dbf55c24bbb67503cddcb" - integrity sha512-dQ/SxlHcuiywaPIoSUCU6Fx+Mk/H5TXENqd/ZJcK85ta0ZcQkbzHwblxPeL0hF5o+NsT2uK3q9ZOG5TboiVuWw== + version "3.22.7" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.7.tgz#8359eb66ecbf726dd0cfced8e48d5e73f3224239" + integrity sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA== dependencies: browserslist "^4.20.3" semver "7.0.0" @@ -4027,7 +3956,7 @@ core-js-compat@^3.21.0, core-js-compat@^3.22.1: core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== core-util-is@~1.0.0: version "1.0.3" @@ -4174,12 +4103,12 @@ cssstyle@^2.0.0: cuint@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= + integrity sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw== custom-event@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= + integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== d@1, d@^1.0.1: version "1.0.1" @@ -4192,7 +4121,7 @@ d@1, d@^1.0.1: dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== dependencies: assert-plus "^1.0.0" @@ -4246,17 +4175,17 @@ debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" @@ -4278,7 +4207,7 @@ default-gateway@^6.0.3: defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== dependencies: clone "^1.0.2" @@ -4298,7 +4227,7 @@ define-properties@^1.1.3, define-properties@^1.1.4: del@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= + integrity sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ== dependencies: globby "^5.0.0" is-path-cwd "^1.0.0" @@ -4311,12 +4240,12 @@ del@^2.2.0: delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== depd@2.0.0, depd@~2.0.0: version "2.0.0" @@ -4326,7 +4255,7 @@ depd@2.0.0, depd@~2.0.0: depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== dependency-graph@^0.11.0: version "0.11.0" @@ -4341,7 +4270,7 @@ destroy@1.2.0: destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + integrity sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg== detect-node@^2.0.4: version "2.1.0" @@ -4351,7 +4280,7 @@ detect-node@^2.0.4: dev-ip@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" - integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= + integrity sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A== devtools-protocol@0.0.982423: version "0.0.982423" @@ -4369,7 +4298,7 @@ dezalgo@^1.0.0: di@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= + integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== diff@^4.0.1: version "4.0.2" @@ -4391,7 +4320,7 @@ dlv@^1.1.3: dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== dns-packet@^5.2.2: version "5.3.1" @@ -4417,7 +4346,7 @@ doctrine@^3.0.0: dom-serialize@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= + integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== dependencies: custom-event "~1.0.0" ent "~2.2.0" @@ -4474,7 +4403,7 @@ domutils@^2.8.0: duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== dependencies: readable-stream "^2.0.2" @@ -4495,7 +4424,7 @@ eazy-logger@3.1.0: ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" @@ -4510,12 +4439,12 @@ ecdsa-sig-formatter@1.0.11: ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.118: - version "1.4.137" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" - integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== + version "1.4.143" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.143.tgz#10f1bb595ad6cd893c05097039c685dcf5c8e30c" + integrity sha512-2hIgvu0+pDfXIqmVmV5X6iwMjQ2KxDsWKwM+oI1fABEOy/Dqmll0QJRmIQ3rm+XaoUa/qKrmy5h7LSTFQ6Ldzg== emoji-regex@^8.0.0: version "8.0.0" @@ -4530,9 +4459,9 @@ emojis-list@^3.0.0: encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.11, encoding@^0.1.13: +encoding@^0.1.11, encoding@^0.1.12, encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -4589,7 +4518,7 @@ enhanced-resolve@^5.9.3: ent@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= + integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== entities@^2.0.0: version "2.2.0" @@ -4687,7 +4616,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@ es6-iterator@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== dependencies: d "1" es5-ext "^0.10.35" @@ -4701,7 +4630,7 @@ es6-promise@^4.0.3: es6-promisify@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== dependencies: es6-promise "^4.0.3" @@ -4728,11 +4657,6 @@ esbuild-android-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== -esbuild-android-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz#09f12a372eed9743fd77ff6d889ac14f7b340c21" - integrity sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ== - esbuild-android-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" @@ -4743,11 +4667,6 @@ esbuild-android-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== -esbuild-android-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz#f608d00ea03fe26f3b1ab92a30f99220390f3071" - integrity sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA== - esbuild-android-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" @@ -4758,11 +4677,6 @@ esbuild-darwin-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== -esbuild-darwin-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz#31528daa75b4c9317721ede344195163fae3e041" - integrity sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g== - esbuild-darwin-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" @@ -4773,11 +4687,6 @@ esbuild-darwin-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== -esbuild-darwin-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz#247f770d86d90a215fa194f24f90e30a0bd97245" - integrity sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw== - esbuild-darwin-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" @@ -4788,11 +4697,6 @@ esbuild-freebsd-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== -esbuild-freebsd-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz#479414d294905055eb396ebe455ed42213284ee0" - integrity sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ== - esbuild-freebsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" @@ -4803,11 +4707,6 @@ esbuild-freebsd-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== -esbuild-freebsd-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz#cedeb10357c88533615921ae767a67dc870a474c" - integrity sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg== - esbuild-freebsd-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" @@ -4818,11 +4717,6 @@ esbuild-linux-32@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== -esbuild-linux-32@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz#d9f008c4322d771f3958f59c1eee5a05cdf92485" - integrity sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg== - esbuild-linux-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" @@ -4833,11 +4727,6 @@ esbuild-linux-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== -esbuild-linux-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz#ba58d7f66858913aeb1ab5c6bde1bbd824731795" - integrity sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ== - esbuild-linux-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" @@ -4848,11 +4737,6 @@ esbuild-linux-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== -esbuild-linux-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz#708785a30072702b5b1c16b65cf9c25c51202529" - integrity sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ== - esbuild-linux-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" @@ -4863,11 +4747,6 @@ esbuild-linux-arm@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== -esbuild-linux-arm@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz#4e8b5deaa7ab60d0d28fab131244ef82b40684f4" - integrity sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ== - esbuild-linux-arm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" @@ -4878,11 +4757,6 @@ esbuild-linux-mips64le@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== -esbuild-linux-mips64le@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz#6f3bf3023f711084e5a1e8190487d2020f39f0f7" - integrity sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw== - esbuild-linux-mips64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" @@ -4893,11 +4767,6 @@ esbuild-linux-ppc64le@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== -esbuild-linux-ppc64le@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz#900e718a4ea3f6aedde8424828eeefdd4b48d4b9" - integrity sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ== - esbuild-linux-ppc64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" @@ -4908,11 +4777,6 @@ esbuild-linux-riscv64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== -esbuild-linux-riscv64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz#dcbff622fa37047a75d2ff7a1d8d2949d80277e4" - integrity sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA== - esbuild-linux-riscv64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" @@ -4923,11 +4787,6 @@ esbuild-linux-s390x@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== -esbuild-linux-s390x@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz#3f725a7945b419406c99d93744b28552561dcdfd" - integrity sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA== - esbuild-linux-s390x@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" @@ -4938,11 +4797,6 @@ esbuild-netbsd-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== -esbuild-netbsd-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz#e10e40b6a765798b90d4eb85901cc85c8b7ff85e" - integrity sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA== - esbuild-netbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" @@ -4953,11 +4807,6 @@ esbuild-openbsd-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== -esbuild-openbsd-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz#935ec143f75ce10bd9cdb1c87fee00287eb0edbc" - integrity sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA== - esbuild-openbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" @@ -4968,11 +4817,6 @@ esbuild-sunos-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA== -esbuild-sunos-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#0e7aa82b022a2e6d55b0646738b2582c2d72c3c0" - integrity sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg== - esbuild-sunos-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" @@ -4983,26 +4827,16 @@ esbuild-wasm@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== -esbuild-wasm@0.14.42: +esbuild-wasm@0.14.42, esbuild-wasm@^0.14.29: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== -esbuild-wasm@^0.14.29: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.39.tgz#e30d735d1f4605d278445ee71497a4af9eb987dd" - integrity sha512-ERthbXykeACyL8gmE1FE2njn/kyBrnj4tuoImtcpry8uNb/McUNtv08TdWA0pGHYxfD76XoaIwKEOMSv25IkFQ== - esbuild-windows-32@0.14.38: version "0.14.38" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== -esbuild-windows-32@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz#3f1538241f31b538545f4b5841b248cac260fa35" - integrity sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q== - esbuild-windows-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" @@ -5013,11 +4847,6 @@ esbuild-windows-64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== -esbuild-windows-64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz#b100c59f96d3c2da2e796e42fee4900d755d3e03" - integrity sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow== - esbuild-windows-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" @@ -5028,11 +4857,6 @@ esbuild-windows-arm64@0.14.38: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw== -esbuild-windows-arm64@0.14.39: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#00268517e665b33c89778d61f144e4256b39f631" - integrity sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA== - esbuild-windows-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" @@ -5064,7 +4888,7 @@ esbuild@0.14.38: esbuild-windows-64 "0.14.38" esbuild-windows-arm64 "0.14.38" -esbuild@0.14.42: +esbuild@0.14.42, esbuild@^0.14.29: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" integrity sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw== @@ -5090,32 +4914,6 @@ esbuild@0.14.42: esbuild-windows-64 "0.14.42" esbuild-windows-arm64 "0.14.42" -esbuild@^0.14.29: - version "0.14.39" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.39.tgz#c926b2259fe6f6d3a94f528fb42e103c5a6d909a" - integrity sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ== - optionalDependencies: - esbuild-android-64 "0.14.39" - esbuild-android-arm64 "0.14.39" - esbuild-darwin-64 "0.14.39" - esbuild-darwin-arm64 "0.14.39" - esbuild-freebsd-64 "0.14.39" - esbuild-freebsd-arm64 "0.14.39" - esbuild-linux-32 "0.14.39" - esbuild-linux-64 "0.14.39" - esbuild-linux-arm "0.14.39" - esbuild-linux-arm64 "0.14.39" - esbuild-linux-mips64le "0.14.39" - esbuild-linux-ppc64le "0.14.39" - esbuild-linux-riscv64 "0.14.39" - esbuild-linux-s390x "0.14.39" - esbuild-netbsd-64 "0.14.39" - esbuild-openbsd-64 "0.14.39" - esbuild-sunos-64 "0.14.39" - esbuild-windows-32 "0.14.39" - esbuild-windows-64 "0.14.39" - esbuild-windows-arm64 "0.14.39" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5124,12 +4922,12 @@ escalade@^3.1.1: escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" @@ -5291,7 +5089,7 @@ espree@^9.3.2: esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + integrity sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg== esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" @@ -5335,12 +5133,12 @@ esutils@^2.0.2: etag@1.8.1, etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-emitter@^0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== dependencies: d "1" es5-ext "~0.10.14" @@ -5378,7 +5176,7 @@ execa@^5.0.0: exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== express-rate-limit@5.5.1: version "5.5.1" @@ -5457,7 +5255,7 @@ extract-zip@2.0.1: extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== extsprintf@^1.2.0: version "1.4.1" @@ -5496,7 +5294,7 @@ fast-json-stable-stringify@^2.0.0: fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-redact@^3.0.0: version "3.1.1" @@ -5525,7 +5323,7 @@ faye-websocket@^0.11.3: fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" @@ -5553,7 +5351,7 @@ fill-range@^7.0.1: finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" - integrity sha1-zgtoVbRYU+eRsvzGgARtiCU91/U= + integrity sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw== dependencies: debug "2.6.9" encodeurl "~1.0.1" @@ -5601,7 +5399,7 @@ find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: locate-path "^2.0.0" @@ -5640,14 +5438,14 @@ flatted@^3.1.0, flatted@^3.2.5: integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" - integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== font-awesome@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" - integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM= + integrity sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg== foreground-child@^2.0.0: version "2.0.0" @@ -5660,7 +5458,7 @@ foreground-child@^2.0.0: forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== form-data@^3.0.0: version "3.0.1" @@ -5693,7 +5491,7 @@ fraction.js@^4.2.0: fresh@0.5.2, fresh@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-constants@^1.0.0: version "1.0.0" @@ -5703,7 +5501,7 @@ fs-constants@^1.0.0: fs-extra@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" - integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE= + integrity sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg== dependencies: graceful-fs "^4.1.2" jsonfile "^3.0.0" @@ -5742,7 +5540,7 @@ fs-monkey@1.0.3: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: version "2.3.2" @@ -5767,7 +5565,7 @@ function.prototype.name@^1.1.5: functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== functions-have-names@^1.2.2: version "1.2.3" @@ -5843,7 +5641,7 @@ get-symbol-description@^1.0.0: getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== dependencies: assert-plus "^1.0.0" @@ -5892,7 +5690,7 @@ glob@8.0.3, glob@^8.0.0, glob@^8.0.1: glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= + integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== dependencies: inflight "^1.0.4" inherits "2" @@ -5962,7 +5760,7 @@ globby@^13.1.1: globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= + integrity sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ== dependencies: array-union "^1.0.1" arrify "^1.0.0" @@ -6001,7 +5799,7 @@ handlebars@4.7.7: har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== har-validator@~5.1.0, har-validator@~5.1.3: version "5.1.5" @@ -6014,7 +5812,7 @@ har-validator@~5.1.0, har-validator@~5.1.3: has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== dependencies: ansi-regex "^2.0.0" @@ -6026,7 +5824,7 @@ has-bigints@^1.0.1, has-bigints@^1.0.2: has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" @@ -6055,7 +5853,7 @@ has-tostringtag@^1.0.0: has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has@^1.0.1, has@^1.0.3: version "1.0.3" @@ -6093,7 +5891,7 @@ hosted-git-info@^5.0.0: hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" obuf "^1.0.0" @@ -6125,7 +5923,7 @@ http-cache-semantics@^4.1.0: http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== http-errors@2.0.0: version "2.0.0" @@ -6141,7 +5939,7 @@ http-errors@2.0.0: http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" inherits "2.0.3" @@ -6153,6 +5951,15 @@ http-parser-js@>=0.5.1: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.6.tgz#2e02406ab2df8af8a7abfba62e0da01c62b95afd" integrity sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA== +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" @@ -6185,7 +5992,7 @@ http-proxy@^1.18.1: http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" @@ -6220,7 +6027,7 @@ human-signals@^2.1.0: humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: ms "^2.0.0" @@ -6268,22 +6075,22 @@ ignore@^5.1.9, ignore@^5.2.0: image-size@~0.5.0: version "0.5.5" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== immutable@^3: version "3.8.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" - integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + integrity sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg== immutable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" - integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" + integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" @@ -6301,7 +6108,7 @@ import-lazy@~4.0.0: imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" @@ -6316,7 +6123,7 @@ infer-owner@^1.0.4: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" @@ -6329,7 +6136,7 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@3.0.0: version "3.0.0" @@ -6386,7 +6193,7 @@ interpret@^1.0.0: ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== ip@^1.1.5: version "1.1.8" @@ -6406,7 +6213,7 @@ ipaddr.js@^2.0.1: is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" @@ -6464,7 +6271,7 @@ is-docker@^2.0.0, is-docker@^2.1.1: is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -6486,12 +6293,12 @@ is-interactive@^1.0.0: is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== is-negative-zero@^2.0.2: version "2.0.2" @@ -6520,7 +6327,7 @@ is-number@^7.0.0: is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + integrity sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw== is-path-in-cwd@^1.0.0: version "1.0.1" @@ -6532,7 +6339,7 @@ is-path-in-cwd@^1.0.0: is-path-inside@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + integrity sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g== dependencies: path-is-inside "^1.0.1" @@ -6571,7 +6378,7 @@ is-shared-array-buffer@^1.0.2: is-stream@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: version "2.0.1" @@ -6595,7 +6402,7 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-unicode-supported@^0.1.0: version "0.1.0" @@ -6627,7 +6434,7 @@ is-windows@^1.0.2: is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== is-wsl@^2.2.0: version "2.2.0" @@ -6644,7 +6451,7 @@ isarray@^2.0.1: isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isbinaryfile@^4.0.8: version "4.0.10" @@ -6654,17 +6461,17 @@ isbinaryfile@^4.0.8: isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== isomorphic-fetch@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA== dependencies: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" @@ -6672,7 +6479,7 @@ isomorphic-fetch@^2.2.1: isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" @@ -6724,7 +6531,7 @@ jasmine-core@^4.1.0, jasmine-core@~4.1.0: jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" - integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= + integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== jasmine-reporters@~2.5.0: version "2.5.0" @@ -6744,7 +6551,7 @@ jasmine-spec-reporter@~7.0.0: jasmine@2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.8.0.tgz#6b089c0a11576b1f16df11b80146d91d4e8b8a3e" - integrity sha1-awicChFXax8W3xG4AUbZHU6Lij4= + integrity sha512-KbdGQTf5jbZgltoHs31XGiChAPumMSY64OZMWLNYnEnMfG5uwGBhffePwuskexjT+/Jea/gU3qAU8344hNohSw== dependencies: exit "^0.1.2" glob "^7.0.6" @@ -6761,7 +6568,7 @@ jasmine@^4.0.0: jasminewd2@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" - integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= + integrity sha512-Rn0nZe4rfDhzA63Al3ZGh0E+JTmM6ESZYXJGKuqKGZObsAB9fwXPD03GjtIEvJBDOhN94T5MzbwZSqzFHSQPzg== jest-worker@^27.4.5: version "27.5.1" @@ -6775,7 +6582,7 @@ jest-worker@^27.4.5: jju@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" - integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== jquery@^3.3.1: version "3.6.0" @@ -6810,7 +6617,7 @@ js-yaml@^3.13.1: jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== jsdom@15.2.1: version "15.2.1" @@ -6852,7 +6659,7 @@ jsesc@^2.5.1: jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" @@ -6877,12 +6684,12 @@ json-schema@0.4.0: json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: version "1.0.1" @@ -6904,14 +6711,14 @@ jsonc-parser@3.0.0, jsonc-parser@^3.0.0: jsonfile@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" - integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY= + integrity sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w== optionalDependencies: graceful-fs "^4.1.6" jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" @@ -6927,7 +6734,7 @@ jsonfile@^6.0.1: jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== jsonwebtoken@8.5.1: version "8.5.1" @@ -7114,7 +6921,7 @@ levn@^0.4.1: levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" @@ -7191,7 +6998,7 @@ localtunnel@^2.0.1: locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -7220,52 +7027,52 @@ lockfile@1.0.4: lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== lodash.includes@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== lodash.isboolean@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.isfinite@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" - integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= + integrity sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA== lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== lodash.isnumber@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== lodash.isstring@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== lodash.merge@^4.6.2: version "4.6.2" @@ -7275,12 +7082,12 @@ lodash.merge@^4.6.2: lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" @@ -7296,9 +7103,9 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.5.1.tgz#06f771ae231c8e930ac2c7381242c8cdeff0dca1" - integrity sha512-z1hRRe5DDPzsP73PgN/GYmeSbIAl/g9kX3GLjABCpcU1ojns8S4cyjpJ21jU1P7z1wWkm69PjyMcEGqYYdDqaA== + version "6.5.2" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.5.2.tgz#9ae371e5b3cb3a3a209c24686e5547f8670834e5" + integrity sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A== dependencies: date-format "^4.0.10" debug "^4.3.4" @@ -7342,7 +7149,7 @@ lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= + integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== dependencies: es5-ext "~0.10.2" @@ -7392,10 +7199,10 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: - version "10.1.5" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.5.tgz#d975c0a4373de41ea05236d8182f56333511c268" - integrity sha512-mucOj2H0Jn/ax7H9K9T1bf0p1nn/mBFa551Os7ed9xRfLEx20aZhZeLslmRYfAaAqXZUGipcs+m5KOKvOH0XKA== +make-fetch-happen@^10.0.6: + version "10.1.6" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz#22b3ac3b077a7cfa80525af12e637e349f21d26e" + integrity sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -7414,6 +7221,28 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: socks-proxy-agent "^6.1.1" ssri "^9.0.0" +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + marked@4.0.16: version "4.0.16" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" @@ -7422,12 +7251,12 @@ marked@4.0.16: media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.4.1, memfs@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.3.tgz#fc08ac32363b6ea6c95381cabb4d67838180d4e1" - integrity sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg== + version "3.4.4" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.4.tgz#e8973cd8060548916adcca58a248e7805c715e89" + integrity sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA== dependencies: fs-monkey "1.0.3" @@ -7448,12 +7277,12 @@ memoizee@0.4.15: merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-source-map@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" - integrity sha1-pd5GU42uhNQRTMXqArR3KmNGcB8= + integrity sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA== dependencies: source-map "^0.5.6" @@ -7470,7 +7299,7 @@ merge2@^1.3.0, merge2@^1.4.1: methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.5" @@ -7574,6 +7403,17 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + minipass-fetch@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" @@ -7600,7 +7440,7 @@ minipass-json-stream@^1.0.1: jsonparse "^1.3.1" minipass "^3.0.0" -minipass-pipeline@^1.2.4: +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== @@ -7614,14 +7454,14 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" -minizlib@^2.1.1, minizlib@^2.1.2: +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -7654,7 +7494,7 @@ mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" @@ -7682,7 +7522,7 @@ mute-stream@0.0.8: mv@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" - integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI= + integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== dependencies: mkdirp "~0.5.1" ncp "~2.0.0" @@ -7696,12 +7536,12 @@ nanoid@^3.3.3, nanoid@^3.3.4: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== ncp@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= + integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== needle@^2.5.2: version "2.9.1" @@ -7712,7 +7552,7 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.3, negotiator@^0.6.3: +negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -7797,15 +7637,15 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== -node-gyp@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" - integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== +node-gyp@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" + make-fetch-happen "^9.1.0" nopt "^5.0.0" npmlog "^6.0.0" rimraf "^3.0.2" @@ -7814,9 +7654,9 @@ node-gyp@^9.0.0: which "^2.0.2" node-releases@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" - integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" + integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== nopt@^4.0.1: version "4.0.3" @@ -7861,7 +7701,7 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== npm-bundled@^1.1.1, npm-bundled@^1.1.2: version "1.1.2" @@ -7961,12 +7801,12 @@ oauth-sign@~0.9.0: object-assign@^4, object-assign@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.1.tgz#28a661153bad7e470e4b01479ef1cb91ce511191" - integrity sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA== + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== object-inspect@~1.4.0: version "1.4.1" @@ -8012,7 +7852,7 @@ on-finished@2.4.1: on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== dependencies: ee-first "1.1.1" @@ -8024,7 +7864,7 @@ on-headers@~1.0.2: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -8047,7 +7887,7 @@ open@8.4.0, open@^8.0.9: openurl@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387" - integrity sha1-OHW0sO96UsFW8NtB1GCduw+Us4c= + integrity sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA== opn@5.3.0: version "5.3.0" @@ -8098,12 +7938,12 @@ ora@5.4.1, ora@^5.1.0, ora@^5.4.1: os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== osenv@^0.1.4: version "0.1.5" @@ -8137,7 +7977,7 @@ p-limit@^3.0.2: p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== dependencies: p-limit "^1.1.0" @@ -8173,7 +8013,7 @@ p-retry@^4.5.0: p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" @@ -8210,7 +8050,7 @@ pacote@13.5.0: pako@^0.2.5: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= + integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== pako@^1.0.3, pako@^1.0.6, pako@~1.0.2: version "1.0.11" @@ -8289,7 +8129,7 @@ parseurl@~1.3.2, parseurl@~1.3.3: path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -8299,12 +8139,12 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" @@ -8319,7 +8159,7 @@ path-parse@^1.0.6, path-parse@^1.0.7: path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-type@^4.0.0: version "4.0.0" @@ -8639,7 +8479,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.4, postcss-nesting@^10.1.6, postcss-nesting@^10.1.7: +postcss-nesting@^10.1.4, postcss-nesting@^10.1.7: version "10.1.7" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.7.tgz#0101bd6c7d386e7ad8e2e86ebcc0e0109833b86e" integrity sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A== @@ -8720,7 +8560,7 @@ postcss-preset-env@7.5.0: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@7.7.0: +postcss-preset-env@7.7.0, postcss-preset-env@^7.4.2: version "7.7.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#bcc9be9725a85d34e72a8fa69dc5e1130abee301" integrity sha512-2Q9YARQju+j2BVgAyDnW1pIWIMlaHZqbaGISPMmalznNlWcNFIZFQsJfRLXS+WHmHJDCmV7wIWpVf9JNKR4Elw== @@ -8773,58 +8613,6 @@ postcss-preset-env@7.7.0: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@^7.4.2: - version "7.6.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.6.0.tgz#4e6178d97fc1ddd7fec168c9034eb17258a5bf12" - integrity sha512-5cnzpSFZnQJOlBu85xn4Nnluy/WjIST/ugn+gOVcKnmFJ+GLtkfRhmJPo/TW9UDpG7oyA467kvDOO8mtcpOL4g== - dependencies: - "@csstools/postcss-cascade-layers" "^1.0.1" - "@csstools/postcss-color-function" "^1.1.0" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.1" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.4" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.1.0" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.0" - "@csstools/postcss-unset-value" "^1.0.1" - autoprefixer "^10.4.7" - browserslist "^4.20.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.6.1" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.7" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.6" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.4" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-pseudo-class-any-link@^7.1.2, postcss-pseudo-class-any-link@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz#ac72aac4fe11fc4a0a368691f8fd5fe89e95aba4" @@ -9532,9 +9320,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.74.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.74.1.tgz#4fba0ff1c312cc4ee82691b154eee69a0d01929f" - integrity sha512-K2zW7kV8Voua5eGkbnBtWYfMIhYhT9Pel2uhBk2WO5eMee161nPze/XRfvEQPFYz7KgrCCnmh2Wy0AMFLGGmMA== + version "2.75.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.5.tgz#7985c1962483235dd07966f09fdad5c5f89f16d0" + integrity sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA== optionalDependencies: fsevents "~2.3.2" @@ -9627,6 +9415,7 @@ sass@1.52.1, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -9957,10 +9746,10 @@ sockjs@^0.3.21, sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.1.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz#f6b5229cc0cbd6f2f202d9695f09d871e951c85e" - integrity sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ== +socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== dependencies: agent-base "^6.0.2" debug "^4.3.3" @@ -10155,6 +9944,13 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + ssri@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" @@ -10433,7 +10229,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: +tar@^6.0.2, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -10456,7 +10252,7 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.13.1, terser@^5.7.2: +terser@5.13.1: version "5.13.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799" integrity sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA== @@ -10466,7 +10262,7 @@ terser@5.13.1, terser@^5.7.2: source-map "~0.8.0-beta.0" source-map-support "~0.5.20" -terser@5.14.0: +terser@5.14.0, terser@^5.7.2: version "5.14.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== @@ -10744,16 +10540,16 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.6.2, typescript@~4.6.2, typescript@~4.6.3: - version "4.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" - integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== - -typescript@~4.7.2: +typescript@^4.6.2, typescript@~4.7.2: version "4.7.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== +typescript@~4.6.2, typescript@~4.6.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== + ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" @@ -11364,15 +11160,20 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@8.6.0, ws@>=7.4.6, ws@^8.4.2: +ws@8.6.0: version "8.6.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23" integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw== +ws@>=7.4.6, ws@^8.4.2: + version "8.7.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.7.0.tgz#eaf9d874b433aa00c0e0d8752532444875db3957" + integrity sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg== + ws@^7.0.0: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + version "7.5.8" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" + integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== ws@~8.2.3: version "8.2.3" From 33c83310616fcb70b137ed7d5c58800be297de4b Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 2 Jun 2022 10:41:42 -0700 Subject: [PATCH 0472/1388] docs: release notes for the v14.0.0 release --- CHANGELOG.md | 919 +++++++++++++-------------------------------------- 1 file changed, 237 insertions(+), 682 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7152190039b9..a1902dcd7542 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,200 +1,240 @@ - + -# 14.0.0-rc.3 (2022-05-31) +# 14.0.0 (2022-06-02) -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | -| [b97772dfc](https://github.com/angular/angular-cli/commit/b97772dfc03401fe1faa79e77742905341bd5d46) | fix | support silent package installs with Yarn 2+ | -| [87cd5cd43](https://github.com/angular/angular-cli/commit/87cd5cd4311e71a15ea1ecb82dde7480036cb815) | fix | workaround npm 7+ peer dependency resolve errors during updates | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | -| [2adf252dc](https://github.com/angular/angular-cli/commit/2adf252dc8a7eb0ce504de771facca56730e5272) | fix | add es2015 exports package condition to browser-esbuild | -| [48630ccfd](https://github.com/angular/angular-cli/commit/48630ccfd7a672fc5174ef484b3bd5c549d32fef) | fix | detect `tailwind.config.cjs` as valid tailwindcss configuration | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | -| [48f9b79bc](https://github.com/angular/angular-cli/commit/48f9b79bc4d43d0180bab5af5726621a68204a15) | fix | support ignore scripts package installs with Yarn 2+ | -| [3471cd6d8](https://github.com/angular/angular-cli/commit/3471cd6d8696ae9c28dba901d3e0f6868d69efc8) | fix | support quiet package installs with Yarn 2+ | - -## Special Thanks - -Alan Agius, Charles Lyding and Doug Parker - - - - - -# 14.0.0-rc.2 (2022-05-25) +## Breaking Changes ### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | -| [3012036e8](https://github.com/angular/angular-cli/commit/3012036e81fc6e5fc6c0f1df7ec626f91285673e) | fix | populate path with working directory in nested schematics | -| [142da460b](https://github.com/angular/angular-cli/commit/142da460b22e07a5a37b6140b50663446c3a2dbf) | fix | remove incorrect warning during `ng update` | +- Several changes to the `ng analytics` command syntax. -### @angular-devkit/build-angular + - `ng analytics project ` has been replaced with `ng analytics ` + - `ng analytics ` has been replaced with `ng analytics --global` -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- | -| [1b27af07e](https://github.com/angular/angular-cli/commit/1b27af07e1116d505a41b1146db7e735f411ddaa) | fix | add debugging and timing information in JavaScript and CSS optimization plugins | -| [72e820e7b](https://github.com/angular/angular-cli/commit/72e820e7b2bc6904b030f1092bbb610334a4036f) | fix | better handle Windows paths in esbuild experimental builder | -| [c52d10d1f](https://github.com/angular/angular-cli/commit/c52d10d1fc4b70483a2043edfa73dc0f323f6bf1) | fix | close dev-server on error | -| [4d5f6c659](https://github.com/angular/angular-cli/commit/4d5f6c65918c1a8a4bde0a0af01089242d1cdc4a) | fix | downlevel libraries based on the browserslist configurations | +- Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later. +- Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6. +- `--all` option from `ng update` has been removed without replacement. To update packages which don’t provide `ng update` capabilities in your workspace `package.json` use `npm update`, `yarn upgrade-interactive` or `yarn upgrade` instead. +- Deprecated option `--prod` has been removed from all builders. `--configuration production`/`-c production` should be used instead if the default configuration of the builder is not configured to `production`. +- Deprecated `ng x18n` and `ng i18n-extract` commands have been removed in favor of `ng extract-i18n`. +- Several changes in the Angular CLI commands and arguments handling. -## Special Thanks + - `ng help` has been removed in favour of the `—-help` option. + - `ng —-version` has been removed in favour of `ng version` and `ng v`. + - Deprecated camel cased arguments are no longer supported. Ex. using `—-sourceMap` instead of `—-source-map` will result in an error. + - `ng update`, `—-migrate-only` option no longer accepts a string of migration name, instead use `—-migrate-only -—name `. + - `—-help json` help has been removed. -Alan Agius, Joey Perrott and Kristiyan Kostadinov +### @angular-devkit/architect-cli - +- camel case arguments are no longer allowed. - +### @angular-devkit/schematics-cli -# 13.3.7 (2022-05-25) +- camel case arguments are no longer allowed. ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- | -| [a54018d8f](https://github.com/angular/angular-cli/commit/a54018d8f5f976034bf0a33f826245b7a6b74bbe) | fix | add debugging and timing information in JavaScript and CSS optimization plugins | - -## Special Thanks +- `browser` and `karma` builders `script` and `styles` options input files extensions are now validated. -Alan Agius and Joey Perrott + Valid extensions for `scripts` are: - + - `.js` + - `.cjs` + - `.mjs` + - `.jsx` + - `.cjsx` + - `.mjsx` - + Valid extensions for `styles` are: -# 14.0.0-rc.1 (2022-05-18) + - `.css` + - `.less` + - `.sass` + - `.scss` + - `.styl` -### @angular/cli +- We now issue a build time error since importing a CSS file as an ECMA module is non standard Webpack specific feature, which is not supported by the Angular CLI. -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------- | -| [6f6b453fb](https://github.com/angular/angular-cli/commit/6f6b453fbf90adad16eba7ea8929a11235c1061b) | fix | `ng doc` doesn't open browser in Windows | -| [160cb0718](https://github.com/angular/angular-cli/commit/160cb071870602d9e7fece2ce381facb71e7d762) | fix | correctly handle `--search` option in `ng doc` | -| [4b22593c4](https://github.com/angular/angular-cli/commit/4b22593c4a269ea4bd63cef39009aad69f159fa1) | fix | ensure all available package migrations are executed | -| [bdf2b9bfa](https://github.com/angular/angular-cli/commit/bdf2b9bfa9893a940ba254073d024172e0dc1abc) | fix | print schematic errors correctly | -| [db0cb5593](https://github.com/angular/angular-cli/commit/db0cb5593dcde395f1877f7c9b6bdf911cd26654) | fix | resolve relative schematic from `angular.json` instead of current working directory | -| [e5bdadac4](https://github.com/angular/angular-cli/commit/e5bdadac44ac023363bc0a2473892fc17430b81f) | fix | skip prompt or warn when setting up autocompletion without a global CLI install | + This feature was never truly supported by the Angular CLI, but has as such for visibility. -### @schematics/angular +- Reflect metadata polyfill is no longer automatically provided in JIT mode + Reflect metadata support is not required by Angular in JIT applications compiled by the CLI. + Applications built in AOT mode did not and will continue to not provide the polyfill. + For the majority of applications, the reflect metadata polyfill removal should have no effect. + However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating. + To replicate the previous behavior, the `core-js` package should be manually installed and the `import 'core-js/proposals/reflect-metadata';` statement should be added to the application's `polyfills.ts` file. +- `NG_BUILD_CACHE` environment variable has been removed. `cli.cache` in the workspace configuration should be used instead. +- The deprecated `showCircularDependencies` browser and server builder option has been removed. The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tools. -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | -| [b928d973e](https://github.com/angular/angular-cli/commit/b928d973e97f33220afe16549b41c4031feb5c5e) | fix | alphabetically order imports during component generation | +### @angular-devkit/core -### @angular-devkit/build-angular +- `parseJson` and `ParseJsonOptions` APIs have been removed in favor of 3rd party JSON parsers such as `jsonc-parser`. +- The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs. + - `fs` namespace + - `clean` + - `mapObject` -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | -| [587082fb0](https://github.com/angular/angular-cli/commit/587082fb0fa7bdb6cddb36327f791889d76e3e7b) | fix | close compiler on Karma exit | +### @angular-devkit/schematics -## Special Thanks +- Schematics `NodePackageInstallTask` will not execute package scripts by default + The `NodePackageInstallTask` will now use the package manager's `--ignore-scripts` option by default. + The `--ignore-scripts` option will prevent package scripts from executing automatically during an install. + If a schematic installs packages that need their `install`/`postinstall` scripts to be executed, the + `NodePackageInstallTask` now contains an `allowScripts` boolean option which can be enabled to provide the + previous behavior for that individual task. As with previous behavior, the `allowScripts` option will + prevent the individual task's usage of the `--ignore-scripts` option but will not override the package + manager's existing configuration. +- Deprecated `analytics` property has been removed from `TypedSchematicContext` interface -Alan Agius, Charles Lyding, Doug Parker, Elton Coelho, George Kalpakas and Kristiyan Kostadinov +### @ngtools/webpack - +- `ivy` namespace has been removed from the public API. - + - `ivy.AngularWebpackPlugin` -> `AngularWebpackPlugin` + - `ivy.AngularPluginOptions` -> `AngularPluginOptions` -# 13.3.6 (2022-05-18) +## Deprecations ### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------- | -| [e20964c43](https://github.com/angular/angular-cli/commit/e20964c43c52125b6d2bfa9bbea444fb2eea1e15) | fix | resolve relative schematic from `angular.json` instead of current working directory | +- The `defaultCollection` workspace option has been deprecated in favor of `schematicCollections`. -### @angular-devkit/build-angular + Before -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------ | -| [16fec8d58](https://github.com/angular/angular-cli/commit/16fec8d58b6ec421df5e7809c45838baf232b4a9) | fix | update `babel-loader` to 8.2.5 | + ```json + "defaultCollection": "@angular/material" + ``` -## Special Thanks + After -Alan Agius, Charles Lyding, Jason Bedard and Paul Gschwendtner + ```json + "schematicCollections": ["@angular/material"] + ``` - +- The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. - +### @angular-devkit/core -# 14.0.0-rc.0 (2022-05-11) +- - `ContentHasMutatedException`, `InvalidUpdateRecordException`, `UnimplementedException` and `MergeConflictException` symbol from `@angular-devkit/core` have been deprecated in favor of the symbol from `@angular-devkit/schematics`. + - `UnsupportedPlatformException` - A custom error exception should be created instead. ### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | -| [d46cf6744](https://github.com/angular/angular-cli/commit/d46cf6744eadb70008df1ef25e24fb1db58bb997) | fix | display option descriptions during auto completion | -| [644f86d55](https://github.com/angular/angular-cli/commit/644f86d55b75a289e641ba280e8456be82383b06) | fix | improve error message for Windows autocompletion use cases | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------- | +| [afafa5788](https://github.com/angular/angular-cli/commit/afafa5788f11b8727c39bb0a390300a706aba5bc) | feat | add `--global` option to `ng analytics` command | +| [bb550436a](https://github.com/angular/angular-cli/commit/bb550436a476d74705742a8c36f38971b346b903) | feat | add `ng analytics info` command | +| [e5bf35ea3](https://github.com/angular/angular-cli/commit/e5bf35ea3061a3e532aa85df44551107e62e24c5) | feat | add `ng cache` command | +| [7ab22ed40](https://github.com/angular/angular-cli/commit/7ab22ed40d521e3cec29ab2d66d0289c3cdb4106) | feat | add disable/enable aliases for off/on `ng analytics` command | +| [4212fb8de](https://github.com/angular/angular-cli/commit/4212fb8de2f4f3e80831a0803acc5fc6e54db1e1) | feat | add prompt to set up CLI autocompletion | +| [0316dea67](https://github.com/angular/angular-cli/commit/0316dea676be522b04d654054880cc5794e3c8b3) | feat | add prompts on missing builder targets | +| [607a723f7](https://github.com/angular/angular-cli/commit/607a723f7d623ec8a15054722b2afd13042f66a1) | feat | add support for auto completion | +| [366cabc66](https://github.com/angular/angular-cli/commit/366cabc66c3dd836e2fdfea8dad6c4c7c2096b1d) | feat | add support for multiple schematics collections | +| [036327e9c](https://github.com/angular/angular-cli/commit/036327e9ca838f9ef3f117fbd18949d9d357e68d) | feat | deprecated `defaultProject` option | +| [fb0622893](https://github.com/angular/angular-cli/commit/fb06228932299870774a7b254f022573f5d8175f) | feat | don't prompt to set up autocompletion for `ng update` and `ng completion` commands | +| [4ebfe0341](https://github.com/angular/angular-cli/commit/4ebfe03415ebe4e8f1625286d1be8bd1b54d3862) | feat | drop support for Node.js 12 | +| [022d8c7bb](https://github.com/angular/angular-cli/commit/022d8c7bb142e8b83f9805a39bc1ae312da465eb) | feat | make `ng completion` set up CLI autocompletion by modifying `.bashrc` files | +| [2e15df941](https://github.com/angular/angular-cli/commit/2e15df9417dcc47b12785a8c4c9074bf05d0450c) | feat | remember after prompting users to set up autocompletion and don't prompt again | +| [7fa3e6587](https://github.com/angular/angular-cli/commit/7fa3e6587955d0638929758d3c257392c242c796) | feat | support TypeScript 4.6.2 | +| [9e69331fa](https://github.com/angular/angular-cli/commit/9e69331fa61265c77d6281232bb64a2c63509290) | feat | use PNPM as package manager when `pnpm-lock.yaml` exists | +| [6f6b453fb](https://github.com/angular/angular-cli/commit/6f6b453fbf90adad16eba7ea8929a11235c1061b) | fix | `ng doc` doesn't open browser in Windows | +| [8e66c9188](https://github.com/angular/angular-cli/commit/8e66c9188be827380e5acda93c7e21fae718b9ce) | fix | `ng g` show descrption from `collection.json` if not present in `schema.json` | +| [9edeb8614](https://github.com/angular/angular-cli/commit/9edeb86146131878c5e8b21b6adaa24a26f12453) | fix | add long description to `ng update` | +| [160cb0718](https://github.com/angular/angular-cli/commit/160cb071870602d9e7fece2ce381facb71e7d762) | fix | correctly handle `--search` option in `ng doc` | +| [d46cf6744](https://github.com/angular/angular-cli/commit/d46cf6744eadb70008df1ef25e24fb1db58bb997) | fix | display option descriptions during auto completion | +| [09f8659ce](https://github.com/angular/angular-cli/commit/09f8659cedcba70903140d0c3eb5d0e10ebb506c) | fix | display package manager during `ng update` | +| [a49cdfbfe](https://github.com/angular/angular-cli/commit/a49cdfbfefbdd756882be96fb61dc8a0d374b6e0) | fix | don't prompt for analytics when running `ng analytics` | +| [4b22593c4](https://github.com/angular/angular-cli/commit/4b22593c4a269ea4bd63cef39009aad69f159fa1) | fix | ensure all available package migrations are executed | +| [054ae02c2](https://github.com/angular/angular-cli/commit/054ae02c2fb8eed52af76cf39a432a3770d301e4) | fix | favor project in cwd when running architect commands | +| [ff4eba3d4](https://github.com/angular/angular-cli/commit/ff4eba3d4a9417d2baef70aaa953bdef4bb426a6) | fix | handle duplicate arguments | +| [5a8bdeb43](https://github.com/angular/angular-cli/commit/5a8bdeb434c7561334bfc8865ed279110a44bd93) | fix | hide private schematics from `ng g` help output | +| [644f86d55](https://github.com/angular/angular-cli/commit/644f86d55b75a289e641ba280e8456be82383b06) | fix | improve error message for Windows autocompletion use cases | +| [3012036e8](https://github.com/angular/angular-cli/commit/3012036e81fc6e5fc6c0f1df7ec626f91285673e) | fix | populate path with working directory in nested schematics | +| [8a396de6a](https://github.com/angular/angular-cli/commit/8a396de6a8a58347d2201a43d7f5101f94f20e89) | fix | print entire config when no positional args are provided to `ng config` | +| [bdf2b9bfa](https://github.com/angular/angular-cli/commit/bdf2b9bfa9893a940ba254073d024172e0dc1abc) | fix | print schematic errors correctly | +| [efc3c3225](https://github.com/angular/angular-cli/commit/efc3c32257a65caf36999dc34cadc41eedcbf323) | fix | remove analytics prompt postinstall script | +| [bf15b202b](https://github.com/angular/angular-cli/commit/bf15b202bb1cd073fe01cf387dce2c033b5bb14c) | fix | remove cache path from global valid paths | +| [142da460b](https://github.com/angular/angular-cli/commit/142da460b22e07a5a37b6140b50663446c3a2dbf) | fix | remove incorrect warning during `ng update` | +| [96a0d92da](https://github.com/angular/angular-cli/commit/96a0d92da2903edfb3835ce86b3700629d6e43ad) | fix | remove JSON serialized description from help output | +| [78460e995](https://github.com/angular/angular-cli/commit/78460e995a192336db3c4be9d0592b4e7a2ff2c8) | fix | remove type casting and add optional chaining for current in optionTransforms | +| [e5bdadac4](https://github.com/angular/angular-cli/commit/e5bdadac44ac023363bc0a2473892fc17430b81f) | fix | skip prompt or warn when setting up autocompletion without a global CLI install | +| [ca401255f](https://github.com/angular/angular-cli/commit/ca401255f49568cfe5f9ec6a35ea5b91c91afa70) | fix | sort commands in help output | +| [b97772dfc](https://github.com/angular/angular-cli/commit/b97772dfc03401fe1faa79e77742905341bd5d46) | fix | support silent package installs with Yarn 2+ | +| [87cd5cd43](https://github.com/angular/angular-cli/commit/87cd5cd4311e71a15ea1ecb82dde7480036cb815) | fix | workaround npm 7+ peer dependency resolve errors during updates | +| [d94a67353](https://github.com/angular/angular-cli/commit/d94a67353dcdaa30cf5487744a7ef151a6268f2d) | refactor | remove deprecated `--all` option from `ng update` | +| [2fc7c73d7](https://github.com/angular/angular-cli/commit/2fc7c73d7e40dbb0a593df61eeba17c8a8f618a9) | refactor | remove deprecated `--prod` flag | +| [b69ca3a7d](https://github.com/angular/angular-cli/commit/b69ca3a7d22b54fc06fbc1cfb559b2fd915f5609) | refactor | remove deprecated command aliases for `extract-i18n`. | +| [2e0493130](https://github.com/angular/angular-cli/commit/2e0493130acfe7244f7ee3ef28c961b1b04d7722) | refactor | replace command line arguments parser | ### @schematics/angular | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [7b78b7840](https://github.com/angular/angular-cli/commit/7b78b7840e95b0f4dca2fcb9218b67dd7500ff2c) | feat | add --standalone to ng generate | +| [e49220fba](https://github.com/angular/angular-cli/commit/e49220fba0d158be0971989e26eb199ec02fa113) | feat | add migratiom to remove `defaultProject` in workspace config | +| [3fa38b08b](https://github.com/angular/angular-cli/commit/3fa38b08ba8ef57a6079873223a7d6088d5ea64e) | feat | introduce `addDependency` rule to utilities | +| [b07ccfbb1](https://github.com/angular/angular-cli/commit/b07ccfbb1b2045d285c23dd4b654e1380892fcb2) | feat | introduce a utility subpath export for Angular rules and utilities | +| [7e7de6858](https://github.com/angular/angular-cli/commit/7e7de6858dd71bd461ceb0f89e29e2c57099bbcc) | feat | update Angular dependencies to use `^` as version prefix | +| [69ecddaa7](https://github.com/angular/angular-cli/commit/69ecddaa7d8b01aa7a9e61c403a4b9a8669e34c4) | feat | update new and existing projects compilation target to `ES2020` | | [7e8e42063](https://github.com/angular/angular-cli/commit/7e8e42063f354c402d758f10c8ba9bee7e0c8aff) | fix | add migration to remove `package.json` in libraries secondary entrypoints | +| [b928d973e](https://github.com/angular/angular-cli/commit/b928d973e97f33220afe16549b41c4031feb5c5e) | fix | alphabetically order imports during component generation | +| [09a71bab6](https://github.com/angular/angular-cli/commit/09a71bab6044e517319f061dbd4555ce57fe6485) | fix | Consolidated setup with a single `beforeEach()` | | [1921b07ee](https://github.com/angular/angular-cli/commit/1921b07eeb710875825dc6f7a4452bd5462e6ba7) | fix | don't add path mapping to old entrypoint definition file | +| [c927c038b](https://github.com/angular/angular-cli/commit/c927c038ba356732327a026fe9a4c36ed23c9dec) | fix | remove `@types/node` from new projects | | [27cb29438](https://github.com/angular/angular-cli/commit/27cb29438aa01b185b2dca3617100d87f45f14e8) | fix | remove extra space in standalone imports | -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | -| [ac1383f9e](https://github.com/angular/angular-cli/commit/ac1383f9e5d491181812c090bd4323f46110f3d8) | fix | properly handle locally-built APF v14 libraries | - -## Special Thanks - -Alan Agius, Charles Lyding, Cédric Exbrayat, Doug Parker, Jason Bedard, Kristiyan Kostadinov, Paul Gschwendtner and alkavats1 - - - - - -# 14.0.0-next.13 (2022-05-04) +### @angular-devkit/architect-cli -## Breaking Changes +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------- | +| [c7556b62b](https://github.com/angular/angular-cli/commit/c7556b62b7b0eab5717ed6eeab3fa7f0f1f2a873) | refactor | replace parser with yargs-parser | -### @angular-devkit/schematics +### @angular-devkit/schematics-cli -- Schematics `NodePackageInstallTask` will not execute package scripts by default - The `NodePackageInstallTask` will now use the package manager's `--ignore-scripts` option by default. - The `--ignore-scripts` option will prevent package scripts from executing automatically during an install. - If a schematic installs packages that need their `install`/`postinstall` scripts to be executed, the - `NodePackageInstallTask` now contains an `allowScripts` boolean option which can be enabled to provide the - previous behavior for that individual task. As with previous behavior, the `allowScripts` option will - prevent the individual task's usage of the `--ignore-scripts` option but will not override the package - manager's existing configuration. +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------- | +| [5330d52ae](https://github.com/angular/angular-cli/commit/5330d52aee32daca27fa1a2fa15712f4a408602a) | refactor | replace parser with yargs-parser | -### @schematics/angular +### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | -| [3fa38b08b](https://github.com/angular/angular-cli/commit/3fa38b08ba8ef57a6079873223a7d6088d5ea64e) | feat | introduce `addDependency` rule to utilities | -| [b07ccfbb1](https://github.com/angular/angular-cli/commit/b07ccfbb1b2045d285c23dd4b654e1380892fcb2) | feat | introduce a utility subpath export for Angular rules and utilities | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------ | +| [00186fb93](https://github.com/angular/angular-cli/commit/00186fb93f66d8da51886de37cfa4599f3e89af9) | feat | add initial experimental esbuild-based application browser builder | +| [d23a168b8](https://github.com/angular/angular-cli/commit/d23a168b8d558ae9d73c8c9eed4ff199fc4d74b9) | feat | validate file extensions for `scripts` and `styles` options | +| [2adf252dc](https://github.com/angular/angular-cli/commit/2adf252dc8a7eb0ce504de771facca56730e5272) | fix | add es2015 exports package condition to browser-esbuild | +| [72e820e7b](https://github.com/angular/angular-cli/commit/72e820e7b2bc6904b030f1092bbb610334a4036f) | fix | better handle Windows paths in esbuild experimental builder | +| [587082fb0](https://github.com/angular/angular-cli/commit/587082fb0fa7bdb6cddb36327f791889d76e3e7b) | fix | close compiler on Karma exit | +| [c52d10d1f](https://github.com/angular/angular-cli/commit/c52d10d1fc4b70483a2043edfa73dc0f323f6bf1) | fix | close dev-server on error | +| [48630ccfd](https://github.com/angular/angular-cli/commit/48630ccfd7a672fc5174ef484b3bd5c549d32fef) | fix | detect `tailwind.config.cjs` as valid tailwindcss configuration | +| [4d5f6c659](https://github.com/angular/angular-cli/commit/4d5f6c65918c1a8a4bde0a0af01089242d1cdc4a) | fix | downlevel libraries based on the browserslist configurations | +| [1a160dac0](https://github.com/angular/angular-cli/commit/1a160dac00f34aab089053281c640dba3efd597f) | fix | ensure karma sourcemap support on Windows | +| [07e776ea3](https://github.com/angular/angular-cli/commit/07e776ea379a50a98a50cf590156c2dc1b272e78) | fix | fail build when importing CSS files as an ECMA modules | +| [ac1383f9e](https://github.com/angular/angular-cli/commit/ac1383f9e5d491181812c090bd4323f46110f3d8) | fix | properly handle locally-built APF v14 libraries | +| [966d25b55](https://github.com/angular/angular-cli/commit/966d25b55eeb6cb84eaca183b30e7d3b0d0a2188) | fix | remove unneeded JIT reflect metadata polyfill | +| [b8564a638](https://github.com/angular/angular-cli/commit/b8564a638df3b6971ef2ac8fb838e6a7c910ac3b) | refactor | remove deprecated `NG_BUILD_CACHE` environment variable | +| [0a1cd584d](https://github.com/angular/angular-cli/commit/0a1cd584d8ed00889b177f4284baec7e5427caf2) | refactor | remove deprecated `showCircularDependencies` browser and server builder option | -### @angular/cli +### @angular-devkit/core -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------------------- | -| [4212fb8de](https://github.com/angular/angular-cli/commit/4212fb8de2f4f3e80831a0803acc5fc6e54db1e1) | feat | add prompt to set up CLI autocompletion | -| [fb0622893](https://github.com/angular/angular-cli/commit/fb06228932299870774a7b254f022573f5d8175f) | feat | don't prompt to set up autocompletion for `ng update` and `ng completion` commands | -| [022d8c7bb](https://github.com/angular/angular-cli/commit/022d8c7bb142e8b83f9805a39bc1ae312da465eb) | feat | make `ng completion` set up CLI autocompletion by modifying `.bashrc` files | -| [2e15df941](https://github.com/angular/angular-cli/commit/2e15df9417dcc47b12785a8c4c9074bf05d0450c) | feat | remember after prompting users to set up autocompletion and don't prompt again | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------- | +| [c5b3e9299](https://github.com/angular/angular-cli/commit/c5b3e9299130132aecfa19219405e1964d0c5443) | refactor | deprecate unused exception classes | +| [67144b9e5](https://github.com/angular/angular-cli/commit/67144b9e54b5a9bfbc963e386b01275be5eaccf5) | refactor | remove deprecated `parseJson` and `ParseJsonOptions` APIs | +| [a0c02af7e](https://github.com/angular/angular-cli/commit/a0c02af7e340bb16f4e6f523c2d835c9b18926b3) | refactor | remove deprecated fs, object and array APIs | ### @angular-devkit/schematics -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------- | -| [0e6425fd8](https://github.com/angular/angular-cli/commit/0e6425fd88ea32679516251efdca6ff07cc4b56a) | feat | disable package script execution by default in `NodePackageInstallTask` | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------- | +| [c9c781c7d](https://github.com/angular/angular-cli/commit/c9c781c7d5f3c6de780912fd7c624a457e6da14c) | feat | add parameter to `listSchematicNames` to allow returning hidden schematics. | +| [0e6425fd8](https://github.com/angular/angular-cli/commit/0e6425fd88ea32679516251efdca6ff07cc4b56a) | feat | disable package script execution by default in `NodePackageInstallTask` | +| [25498ad5b](https://github.com/angular/angular-cli/commit/25498ad5b2ba6fa5a88c9802ddeb0ed85c5d9b60) | feat | re-export core string helpers from schematics package | +| [464cf330a](https://github.com/angular/angular-cli/commit/464cf330a14397470e1e57450a77f421a45a927e) | feat | support null for options parameter from OptionTransform type | +| [33f9f3de8](https://github.com/angular/angular-cli/commit/33f9f3de869bba2ecd855a01cc9a0a36651bd281) | feat | support reading JSON content directly from a Tree | +| [01297f450](https://github.com/angular/angular-cli/commit/01297f450387dea02eafd6f5701c417ab5c5d844) | feat | support reading text content directly from a Tree | +| [48f9b79bc](https://github.com/angular/angular-cli/commit/48f9b79bc4d43d0180bab5af5726621a68204a15) | fix | support ignore scripts package installs with Yarn 2+ | +| [3471cd6d8](https://github.com/angular/angular-cli/commit/3471cd6d8696ae9c28dba901d3e0f6868d69efc8) | fix | support quiet package installs with Yarn 2+ | +| [44c1e6d0d](https://github.com/angular/angular-cli/commit/44c1e6d0d2db5f2dc212d63a34ade045cb7854d5) | refactor | remove deprecated `analytics` property | ### @angular/pwa @@ -202,333 +242,143 @@ Alan Agius, Charles Lyding, Cédric Exbrayat, Doug Parker, Jason Bedard, Kristiy | --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | | [243cb4062](https://github.com/angular/angular-cli/commit/243cb40622fef4107b0162bc7b6a374471cebc14) | fix | remove `@schematics/angular` utility deep import usage | -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Paul Gschwendtner and Pawel Kozlowski - - - - - -# 13.3.5 (2022-05-04) - -### @angular-devkit/build-angular +### @ngtools/webpack -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- | -| [6da0910d3](https://github.com/angular/angular-cli/commit/6da0910d345eb84084e32a462432a508d518f402) | fix | update `@ampproject/remapping` to `2.2.0` | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------ | +| [0c344259d](https://github.com/angular/angular-cli/commit/0c344259dcdc10a35840151bfe3ae1b27f9b53ff) | fix | update peer dependency to reflect TS 4.6 support | +| [044101554](https://github.com/angular/angular-cli/commit/044101554dfbca07d74f2a4391f94875df7928d2) | perf | use Webpack's built-in xxhash64 support | +| [9277eed1d](https://github.com/angular/angular-cli/commit/9277eed1d9603d5e258eb7ae27de527eba919482) | refactor | remove deprecated ivy namespace | ## Special Thanks -Alan Agius, Charles Lyding and Paul Gschwendtner +Adrien Crivelli, Alan Agius, Charles Lyding, Cédric Exbrayat, Daniil Dubrava, Doug Parker, Elton Coelho, George Kalpakas, Jason Bedard, Joey Perrott, Kristiyan Kostadinov, Paul Gschwendtner, Pawel Kozlowski, Tobias Speicher and alkavats1 - - -# 14.0.0-next.12 (2022-04-27) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | -| [4b07aa345](https://github.com/angular/angular-cli/commit/4b07aa345d18ae6cb92284cdf13941b61ae69008) | fix | change wrapping of schematic code | - -### @schematics/angular + -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------- | -| [7b78b7840](https://github.com/angular/angular-cli/commit/7b78b7840e95b0f4dca2fcb9218b67dd7500ff2c) | feat | add --standalone to ng generate | +# 13.3.7 (2022-05-25) ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | -| [00186fb93](https://github.com/angular/angular-cli/commit/00186fb93f66d8da51886de37cfa4599f3e89af9) | feat | add initial experimental esbuild-based application browser builder | -| [7abe212c6](https://github.com/angular/angular-cli/commit/7abe212c655dfeecf91ab022759f3f8ab59a3a7d) | fix | correctly resolve custom service worker configuration file | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | -| [25498ad5b](https://github.com/angular/angular-cli/commit/25498ad5b2ba6fa5a88c9802ddeb0ed85c5d9b60) | feat | re-export core string helpers from schematics package | -| [33f9f3de8](https://github.com/angular/angular-cli/commit/33f9f3de869bba2ecd855a01cc9a0a36651bd281) | feat | support reading JSON content directly from a Tree | -| [01297f450](https://github.com/angular/angular-cli/commit/01297f450387dea02eafd6f5701c417ab5c5d844) | feat | support reading text content directly from a Tree | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------- | -| [044101554](https://github.com/angular/angular-cli/commit/044101554dfbca07d74f2a4391f94875df7928d2) | perf | use Webpack's built-in xxhash64 support | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- | +| [a54018d8f](https://github.com/angular/angular-cli/commit/a54018d8f5f976034bf0a33f826245b7a6b74bbe) | fix | add debugging and timing information in JavaScript and CSS optimization plugins | ## Special Thanks -Charles Lyding, Doug Parker, Kristiyan Kostadinov, Paul Gschwendtner and Wagner Maciel +Alan Agius and Joey Perrott - + -# 13.3.4 (2022-04-27) +# 13.3.6 (2022-05-18) ### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | -| [f4da75656](https://github.com/angular/angular-cli/commit/f4da756560358273098df2a5cae7848201206c77) | fix | change wrapping of schematic code | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------- | +| [e20964c43](https://github.com/angular/angular-cli/commit/e20964c43c52125b6d2bfa9bbea444fb2eea1e15) | fix | resolve relative schematic from `angular.json` instead of current working directory | ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | -| [5d0141bfb](https://github.com/angular/angular-cli/commit/5d0141bfb4ae80b1a7543eab64e9c381c932eaef) | fix | correctly resolve custom service worker configuration file | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------ | +| [16fec8d58](https://github.com/angular/angular-cli/commit/16fec8d58b6ec421df5e7809c45838baf232b4a9) | fix | update `babel-loader` to 8.2.5 | ## Special Thanks -Charles Lyding and Wagner Maciel +Alan Agius, Charles Lyding, Jason Bedard and Paul Gschwendtner - - -# 14.0.0-next.11 (2022-04-21) - -### @angular/cli + -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------- | -| [78460e995](https://github.com/angular/angular-cli/commit/78460e995a192336db3c4be9d0592b4e7a2ff2c8) | fix | remove type casting and add optional chaining for current in optionTransforms | +# 13.3.5 (2022-05-04) ### @angular-devkit/build-angular | Commit | Type | Description | | --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- | -| [1a160dac0](https://github.com/angular/angular-cli/commit/1a160dac00f34aab089053281c640dba3efd597f) | fix | ensure karma sourcemap support on Windows | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [464cf330a](https://github.com/angular/angular-cli/commit/464cf330a14397470e1e57450a77f421a45a927e) | feat | support null for options parameter from OptionTransform type | +| [6da0910d3](https://github.com/angular/angular-cli/commit/6da0910d345eb84084e32a462432a508d518f402) | fix | update `@ampproject/remapping` to `2.2.0` | ## Special Thanks -Alan Agius, Charles Lyding and Daniil Dubrava - - - - - -# 14.0.0-next.10 (2022-04-21) +Alan Agius, Charles Lyding and Paul Gschwendtner - + -# 14.0.0-next.9 (2022-04-13) +# 13.3.4 (2022-04-27) ### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- | -| [607a723f7](https://github.com/angular/angular-cli/commit/607a723f7d623ec8a15054722b2afd13042f66a1) | feat | add support for auto completion | -| [ff4eba3d4](https://github.com/angular/angular-cli/commit/ff4eba3d4a9417d2baef70aaa953bdef4bb426a6) | fix | handle duplicate arguments | -| [bf15b202b](https://github.com/angular/angular-cli/commit/bf15b202bb1cd073fe01cf387dce2c033b5bb14c) | fix | remove cache path from global valid paths | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | +| [f4da75656](https://github.com/angular/angular-cli/commit/f4da756560358273098df2a5cae7848201206c77) | fix | change wrapping of schematic code | ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | -| [be2b268c3](https://github.com/angular/angular-cli/commit/be2b268c36f9ae465b9233f7bf705717712e3cf1) | fix | display debug logs when using the `--verbose` option | - -### @angular-devkit/build-webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------- | -| [3afd1ab9c](https://github.com/angular/angular-cli/commit/3afd1ab9c0a347950c8477608ad9b81cf75fa891) | fix | emit devserver setup errors | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [5d0141bfb](https://github.com/angular/angular-cli/commit/5d0141bfb4ae80b1a7543eab64e9c381c932eaef) | fix | correctly resolve custom service worker configuration file | ## Special Thanks -Alan Agius and Charles Lyding +Charles Lyding and Wagner Maciel -# 13.3.3 (2022-04-13) - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | -| [d38b247cf](https://github.com/angular/angular-cli/commit/d38b247cf19edf5ecf7792343fa2bc8c05a3a8b8) | fix | display debug logs when using the `--verbose` option | - -### @angular-devkit/build-webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------- | -| [5682baee4](https://github.com/angular/angular-cli/commit/5682baee4b562b314dad781403dcc0c46e0a8abb) | fix | emit devserver setup errors | - -## Special Thanks - -Alan Agius - - - - - -# 14.0.0-next.8 (2022-04-06) - -## Breaking Changes - -### @angular-devkit/core - -- `parseJson` and `ParseJsonOptions` APIs have been removed in favor of 3rd party JSON parsers such as `jsonc-parser`. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | -| [7db433bb0](https://github.com/angular/angular-cli/commit/7db433bb066cc077d0c1cff7668d557c1c17160f) | fix | provide actionable error message when routing declaration cannot be found | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | -| [0316dea67](https://github.com/angular/angular-cli/commit/0316dea676be522b04d654054880cc5794e3c8b3) | feat | add prompts on missing builder targets | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------- | -| [67144b9e5](https://github.com/angular/angular-cli/commit/67144b9e54b5a9bfbc963e386b01275be5eaccf5) | refactor | remove deprecated `parseJson` and `ParseJsonOptions` APIs | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker and Joey Perrott - - - - - -# 13.3.2 (2022-04-06) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | -| [49dc63d09](https://github.com/angular/angular-cli/commit/49dc63d09a7a7f2b7759b47e79fac934b867e9b4) | fix | ensure lint command auto-add exits after completion | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | -| [bbe74b87e](https://github.com/angular/angular-cli/commit/bbe74b87e52579c06b911db6173f33c67b8010a6) | fix | provide actionable error message when routing declaration cannot be found | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------- | -| [c97c8e7c9](https://github.com/angular/angular-cli/commit/c97c8e7c9bbcad66ba80967681cac46042c3aca7) | fix | update `minimatch` dependency to `3.0.5` | - -## Special Thanks - -Alan Agius, Charles Lyding and Morga Cezary - - - - - -# 14.0.0-next.7 (2022-03-30) - -## Breaking Changes - -### @angular-devkit/build-angular - -- Reflect metadata polyfill is no longer automatically provided in JIT mode - Reflect metadata support is not required by Angular in JIT applications compiled by the CLI. - Applications built in AOT mode did not and will continue to not provide the polyfill. - For the majority of applications, the reflect metadata polyfill removal should have no effect. - However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating. - To replicate the previous behavior, the `core-js` package should be manually installed and the `import 'core-js/proposals/reflect-metadata';` statement should be added to the application's `polyfills.ts` file. - -## Deprecations - -### @angular/cli - -- The `defaultCollection` workspace option has been deprecated in favor of `schematicCollections`. - - Before - - ```json - "defaultCollection": "@angular/material" - ``` - - After - - ```json - "schematicCollections": ["@angular/material"] - ``` +# 13.3.3 (2022-04-13) -- The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. +### @angular-devkit/build-angular -### @angular-devkit/core +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [d38b247cf](https://github.com/angular/angular-cli/commit/d38b247cf19edf5ecf7792343fa2bc8c05a3a8b8) | fix | display debug logs when using the `--verbose` option | -- - `ContentHasMutatedException`, `InvalidUpdateRecordException`, `UnimplementedException` and `MergeConflictException` symbol from `@angular-devkit/core` have been deprecated in favor of the symbol from `@angular-devkit/schematics`. - - `UnsupportedPlatformException` - A custom error exception should be created instead. +### @angular-devkit/build-webpack -### @angular/cli +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------- | +| [5682baee4](https://github.com/angular/angular-cli/commit/5682baee4b562b314dad781403dcc0c46e0a8abb) | fix | emit devserver setup errors | -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------- | -| [e5bf35ea3](https://github.com/angular/angular-cli/commit/e5bf35ea3061a3e532aa85df44551107e62e24c5) | feat | add `ng cache` command | -| [366cabc66](https://github.com/angular/angular-cli/commit/366cabc66c3dd836e2fdfea8dad6c4c7c2096b1d) | feat | add support for multiple schematics collections | -| [036327e9c](https://github.com/angular/angular-cli/commit/036327e9ca838f9ef3f117fbd18949d9d357e68d) | feat | deprecated `defaultProject` option | -| [8e66c9188](https://github.com/angular/angular-cli/commit/8e66c9188be827380e5acda93c7e21fae718b9ce) | fix | `ng g` show descrption from `collection.json` if not present in `schema.json` | -| [09f8659ce](https://github.com/angular/angular-cli/commit/09f8659cedcba70903140d0c3eb5d0e10ebb506c) | fix | display package manager during `ng update` | -| [5a8bdeb43](https://github.com/angular/angular-cli/commit/5a8bdeb434c7561334bfc8865ed279110a44bd93) | fix | hide private schematics from `ng g` help output | -| [8a396de6a](https://github.com/angular/angular-cli/commit/8a396de6a8a58347d2201a43d7f5101f94f20e89) | fix | print entire config when no positional args are provided to `ng config` | -| [efc3c3225](https://github.com/angular/angular-cli/commit/efc3c32257a65caf36999dc34cadc41eedcbf323) | fix | remove analytics prompt postinstall script | +## Special Thanks -### @schematics/angular +Alan Agius -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------- | -| [e49220fba](https://github.com/angular/angular-cli/commit/e49220fba0d158be0971989e26eb199ec02fa113) | feat | add migratiom to remove `defaultProject` in workspace config | -| [09a71bab6](https://github.com/angular/angular-cli/commit/09a71bab6044e517319f061dbd4555ce57fe6485) | fix | Consolidated setup with a single `beforeEach()` | -| [a5e99762e](https://github.com/angular/angular-cli/commit/a5e99762ef0bb05a23823d4923a2863e0b232ec9) | fix | fix extra comma added when use --change-detection=onPush and --style=none to generate a component | + -### @angular-devkit/build-angular + -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | -| [371da23be](https://github.com/angular/angular-cli/commit/371da23be0d0b1fd880d93c68049fcac97685120) | fix | add `node_modules` prefix to excludes RegExp | -| [2ab77429b](https://github.com/angular/angular-cli/commit/2ab77429bb213a515a2334ff6c577be561117108) | fix | allow Workers in Stackblitz | -| [fac9cca66](https://github.com/angular/angular-cli/commit/fac9cca66bef73ce403314609a51e63a2764ccbe) | fix | don't override asset info when updating assets | -| [966d25b55](https://github.com/angular/angular-cli/commit/966d25b55eeb6cb84eaca183b30e7d3b0d0a2188) | fix | remove unneeded JIT reflect metadata polyfill | +# 13.3.2 (2022-04-06) -### @angular-devkit/core +### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------- | -| [455aeea12](https://github.com/angular/angular-cli/commit/455aeea12d8509a526a28cf126899e60c4a21cef) | fix | add Angular CLI major version as analytics dimension | -| [c5b3e9299](https://github.com/angular/angular-cli/commit/c5b3e9299130132aecfa19219405e1964d0c5443) | refactor | deprecate unused exception classes | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | +| [49dc63d09](https://github.com/angular/angular-cli/commit/49dc63d09a7a7f2b7759b47e79fac934b867e9b4) | fix | ensure lint command auto-add exits after completion | -### @angular-devkit/schematics +### @schematics/angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | -| [c9c781c7d](https://github.com/angular/angular-cli/commit/c9c781c7d5f3c6de780912fd7c624a457e6da14c) | feat | add parameter to `listSchematicNames` to allow returning hidden schematics. | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [bbe74b87e](https://github.com/angular/angular-cli/commit/bbe74b87e52579c06b911db6173f33c67b8010a6) | fix | provide actionable error message when routing declaration cannot be found | -### @ngtools/webpack +### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | -| [0c344259d](https://github.com/angular/angular-cli/commit/0c344259dcdc10a35840151bfe3ae1b27f9b53ff) | fix | update peer dependency to reflect TS 4.6 support | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------- | +| [c97c8e7c9](https://github.com/angular/angular-cli/commit/c97c8e7c9bbcad66ba80967681cac46042c3aca7) | fix | update `minimatch` dependency to `3.0.5` | ## Special Thanks -Adrien Crivelli, Alan Agius, Charles Lyding, Doug Parker, Paul Gschwendtner, Tobias Speicher, alkavats1 and gauravsoni119 +Alan Agius, Charles Lyding and Morga Cezary @@ -636,57 +486,6 @@ Alan Agius and Doug Parker - - -# 14.0.0-next.6 (2022-03-16) - -## Breaking Changes - -### @angular/cli - -- Several changes to the `ng analytics` command syntax. - -- `ng analytics project ` has been replaced with `ng analytics ` -- `ng analytics ` has been replaced with `ng analytics --global` - -- Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6. - -### @angular-devkit/build-angular - -- `NG_BUILD_CACHE` environment variable has been removed. `cli.cache` in the workspace configuration should be used instead. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | -| [c927c038b](https://github.com/angular/angular-cli/commit/c927c038ba356732327a026fe9a4c36ed23c9dec) | fix | remove `@types/node` from new projects | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [afafa5788](https://github.com/angular/angular-cli/commit/afafa5788f11b8727c39bb0a390300a706aba5bc) | feat | add `--global` option to `ng analytics` command | -| [bb550436a](https://github.com/angular/angular-cli/commit/bb550436a476d74705742a8c36f38971b346b903) | feat | add `ng analytics info` command | -| [7ab22ed40](https://github.com/angular/angular-cli/commit/7ab22ed40d521e3cec29ab2d66d0289c3cdb4106) | feat | add disable/enable aliases for off/on `ng analytics` command | -| [7fa3e6587](https://github.com/angular/angular-cli/commit/7fa3e6587955d0638929758d3c257392c242c796) | feat | support TypeScript 4.6.2 | -| [9edeb8614](https://github.com/angular/angular-cli/commit/9edeb86146131878c5e8b21b6adaa24a26f12453) | fix | add long description to `ng update` | -| [a49cdfbfe](https://github.com/angular/angular-cli/commit/a49cdfbfefbdd756882be96fb61dc8a0d374b6e0) | fix | don't prompt for analytics when running `ng analytics` | -| [054ae02c2](https://github.com/angular/angular-cli/commit/054ae02c2fb8eed52af76cf39a432a3770d301e4) | fix | favor project in cwd when running architect commands | -| [96a0d92da](https://github.com/angular/angular-cli/commit/96a0d92da2903edfb3835ce86b3700629d6e43ad) | fix | remove JSON serialized description from help output | -| [ca401255f](https://github.com/angular/angular-cli/commit/ca401255f49568cfe5f9ec6a35ea5b91c91afa70) | fix | sort commands in help output | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------- | -| [b8564a638](https://github.com/angular/angular-cli/commit/b8564a638df3b6971ef2ac8fb838e6a7c910ac3b) | refactor | remove deprecated `NG_BUILD_CACHE` environment variable | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker and Joey Perrott - - - # 13.3.0 (2022-03-16) @@ -719,91 +518,6 @@ Alan Agius, Charles Lyding and Daniele Maltese - - -# 14.0.0-next.5 (2022-03-09) - -## Breaking Changes - -### @angular/cli - -- Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later. - -- Several changes in the Angular CLI commands and arguments handling. - -- `ng help` has been removed in favour of the `—-help` option. -- `ng —-version` has been removed in favour of `ng version` and `ng v`. -- Deprecated camel cased arguments are no longer supported. Ex. using `—-sourceMap` instead of `—-source-map` will result in an error. -- `ng update`, `—-migrate-only` option no longer accepts a string of migration name, instead use `—-migrate-only -—name `. -- `—-help json` help has been removed. - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------- | -| [4ebfe0341](https://github.com/angular/angular-cli/commit/4ebfe03415ebe4e8f1625286d1be8bd1b54d3862) | feat | drop support for Node.js 12 | -| [2e0493130](https://github.com/angular/angular-cli/commit/2e0493130acfe7244f7ee3ef28c961b1b04d7722) | refactor | replace command line arguments parser | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------ | -| [e28c71597](https://github.com/angular/angular-cli/commit/e28c7159725a6d23b218dc6e0f317fc6123173f7) | fix | ignore css only chunks during naming | - -## Special Thanks - -Alan Agius - - - - - -# 14.0.0-next.4 (2022-03-02) - -## Breaking Changes - -### @angular-devkit/architect-cli - -- camel case arguments are no longer allowed. - -### @angular-devkit/schematics-cli - -- camel case arguments are no longer allowed. - -### @angular-devkit/schematics-cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------- | -| [5330d52ae](https://github.com/angular/angular-cli/commit/5330d52aee32daca27fa1a2fa15712f4a408602a) | refactor | replace parser with yargs-parser | - -### @angular-devkit/architect-cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------- | -| [c7556b62b](https://github.com/angular/angular-cli/commit/c7556b62b7b0eab5717ed6eeab3fa7f0f1f2a873) | refactor | replace parser with yargs-parser | - -## Special Thanks - -Alan Agius, Charles Lyding and Daniele Maltese - - - - - -# 14.0.0-next.3 (2022-02-23) - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | -| [de1429308](https://github.com/angular/angular-cli/commit/de14293083826ee4a1b69b94d06a57603d3d76f9) | fix | don't rename blocks which have a name | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker and Paul Gschwendtner - - - # 13.2.5 (2022-02-23) @@ -821,34 +535,6 @@ Alan Agius and Paul Gschwendtner - - -# 14.0.0-next.2 (2022-02-17) - -## Breaking Changes - -### @angular/cli - -- Deprecated `ng x18n` and `ng i18n-extract` commands have been removed in favor of `ng extract-i18n`. - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------- | -| [b69ca3a7d](https://github.com/angular/angular-cli/commit/b69ca3a7d22b54fc06fbc1cfb559b2fd915f5609) | refactor | remove deprecated command aliases for `extract-i18n`. | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | -| [fafbbeab6](https://github.com/angular/angular-cli/commit/fafbbeab6d9ab5e8797e373f869f365729e569c5) | fix | update license-webpack-plugin to 4.0.2 | - -## Special Thanks - -Alan Agius, Anner Visser, Charles Lyding and Joey Perrott - - - # 13.2.4 (2022-02-17) @@ -866,34 +552,6 @@ Alan Agius, Anner Visser and Charles Lyding - - -# 14.0.0-next.1 (2022-02-09) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | -| [9e69331fa](https://github.com/angular/angular-cli/commit/9e69331fa61265c77d6281232bb64a2c63509290) | feat | use PNPM as package manager when `pnpm-lock.yaml` exists | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------- | -| [7ce50002a](https://github.com/angular/angular-cli/commit/7ce50002a20373d494f08bfb36e7773b39263dba) | fix | block Karma from starting until build is complete | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | -| [966dd01ea](https://github.com/angular/angular-cli/commit/966dd01eab02cc10eee750c8638b5cf4b58afffe) | fix | support locating PNPM lock file during NGCC processing | - -## Special Thanks - -Alan Agius, Derek Cormier, Doug Parker and Joey Perrott - - - # 13.2.3 (2022-02-09) @@ -916,109 +574,6 @@ Alan Agius, Derek Cormier and Joey Perrott - - -# 14.0.0-next.0 (2022-02-02) - -## Breaking Changes - -### @angular/cli - -- `--all` option from `ng update` has been removed without replacement. To update packages which don’t provide `ng update` capabilities in your workspace `package.json` use `npm update`, `yarn upgrade-interactive` or `yarn upgrade` instead. - -- Deprecated option `--prod` has been removed from all builders. `--configuration production`/`-c production` should be used instead if the default configuration of the builder is not configured to `production`. - -### @angular-devkit/build-angular - -- `browser` and `karma` builders `script` and `styles` options input files extensions are now validated. - -Valid extensions for `scripts` are: - -- `.js` -- `.cjs` -- `.mjs` -- `.jsx` -- `.cjsx` -- `.mjsx` - -Valid extensions for `styles` are: - -- `.css` -- `.less` -- `.sass` -- `.scss` -- `.styl` - -- We now issue a build time error since importing a CSS file as an ECMA module is non standard Webpack specific feature, which is not supported by the Angular CLI. - -This feature was never truly supported by the Angular CLI, but has as such for visibility. - -- The deprecated `showCircularDependencies` browser and server builder option has been removed. The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tools. - -### @angular-devkit/core - -- The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs. -- `fs` namespace -- `clean` -- `mapObject` - -### @angular-devkit/schematics - -- Deprecated `analytics` property has been removed from `TypedSchematicContext` interface - -### @ngtools/webpack - -- `ivy` namespace has been removed from the public API. - -- `ivy.AngularWebpackPlugin` -> `AngularWebpackPlugin` -- `ivy.AngularPluginOptions` -> `AngularPluginOptions` - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | -| [7e7de6858](https://github.com/angular/angular-cli/commit/7e7de6858dd71bd461ceb0f89e29e2c57099bbcc) | feat | update Angular dependencies to use `^` as version prefix | -| [69ecddaa7](https://github.com/angular/angular-cli/commit/69ecddaa7d8b01aa7a9e61c403a4b9a8669e34c4) | feat | update new and existing projects compilation target to `ES2020` | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------- | -| [d94a67353](https://github.com/angular/angular-cli/commit/d94a67353dcdaa30cf5487744a7ef151a6268f2d) | refactor | remove deprecated `--all` option from `ng update` | -| [2fc7c73d7](https://github.com/angular/angular-cli/commit/2fc7c73d7e40dbb0a593df61eeba17c8a8f618a9) | refactor | remove deprecated `--prod` flag | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------ | -| [d23a168b8](https://github.com/angular/angular-cli/commit/d23a168b8d558ae9d73c8c9eed4ff199fc4d74b9) | feat | validate file extensions for `scripts` and `styles` options | -| [07e776ea3](https://github.com/angular/angular-cli/commit/07e776ea379a50a98a50cf590156c2dc1b272e78) | fix | fail build when importing CSS files as an ECMA modules | -| [0a1cd584d](https://github.com/angular/angular-cli/commit/0a1cd584d8ed00889b177f4284baec7e5427caf2) | refactor | remove deprecated `showCircularDependencies` browser and server builder option | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------- | -| [a0c02af7e](https://github.com/angular/angular-cli/commit/a0c02af7e340bb16f4e6f523c2d835c9b18926b3) | refactor | remove deprecated fs, object and array APIs | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------- | -| [44c1e6d0d](https://github.com/angular/angular-cli/commit/44c1e6d0d2db5f2dc212d63a34ade045cb7854d5) | refactor | remove deprecated `analytics` property | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------- | -| [9277eed1d](https://github.com/angular/angular-cli/commit/9277eed1d9603d5e258eb7ae27de527eba919482) | refactor | remove deprecated ivy namespace | - -## Special Thanks - -Alan Agius, Doug Parker and Joey Perrott - - - # 13.2.2 (2022-02-02) From 3bce5da1c2598655d9088eace458b33a2e23ce9a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 2 Jun 2022 13:19:54 -0700 Subject: [PATCH 0473/1388] docs: fix typo in latest versions `package.json` --- .../schematics/angular/utility/latest-versions/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 75bd094ca593..977c29e4de24 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -1,6 +1,6 @@ { "description": "Package versions used by schematics in @schematics/angular.", - "comment": "This file is needed so that depedencies are synced by Renovate.", + "comment": "This file is needed so that dependencies are synced by Renovate.", "private": true, "dependencies": { "@types/jasmine": "~4.0.0", From 08bc86706a65b5a7bd11ca2d5a8221a4a7dd9f70 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:27:27 -0400 Subject: [PATCH 0474/1388] refactor(@angular-devkit/build-angular): remove unneeded TypeScript transforms with esbuild Only the `replaceBootstrap` TypeScript transform is needed with the `browser-esbuild` builder. The `replaceBootstrap` transform converts the default generated JIT bootstrap call into an AOT bootstrap call within an application. The other transforms were used to remove the development and JIT related metadata from the AOT compiler generated code. However, with the esbuild based build pipeline, these will be automatically removed without the need for additional transforms via the earlier usage of the `ngJitMode` and `ngDevMode` defines. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 9d079f5160bb..85896b7fb5bf 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -131,8 +131,8 @@ export function createCompilerPlugin( // Temporary deep import for transformer support const { - createAotTransformers, mergeTransformers, + replaceBootstrap, } = require('@ngtools/webpack/src/ivy/transformation'); // Setup defines based on the values provided by the Angular compiler-cli @@ -270,10 +270,9 @@ export function createCompilerPlugin( fileEmitter = createFileEmitter( builder, - mergeTransformers( - angularCompiler.prepareEmit().transformers, - createAotTransformers(builder, {}), - ), + mergeTransformers(angularCompiler.prepareEmit().transformers, { + before: [replaceBootstrap(() => builder.getProgram().getTypeChecker())], + }), () => [], ); From 7ddc3fe8996cfeeebdef26b91d47e0ced0d32b47 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 3 Jun 2022 10:57:55 -0400 Subject: [PATCH 0475/1388] fix(@angular/cli): during an update only use package manager force option with npm 7+ The package manager `--force` option is only relevant to npm 7+ wherein the option controls the strictness of the npm 7+ peer dependency resolution. Yarn 2+ does not support a `--force` option. When the `ng update` `--force` option was used, `ng update` was incorrectly applying the package manager `--force` option to Yarn which lead to an installation failure. This has now been corrected and the package manager `--force` option is now only applied to npm 7+. --- packages/angular/cli/src/commands/update/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 9876c1636bb7..219fdd60f19d 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -686,7 +686,7 @@ export class UpdateCommandModule extends CommandModule { }); } catch {} - let forceInstall = options.force; + let forceInstall = false; // npm 7+ can fail due to it incorrectly resolving peer dependencies that have valid SemVer // ranges during an update. Update will set correct versions of dependencies within the // package.json file. The force option is set to workaround these errors. From ea1f2cee5d6e58152109ca49bc8e38a805024e4a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 3 Jun 2022 11:01:31 -0400 Subject: [PATCH 0476/1388] refactor(@angular/cli): remove deprecated rmdirSync usage `rmdirSync` usage can be directly replaced with `rmSync`. For additional Node.js deprecation details, see https://nodejs.org/docs/latest-v16.x/api/deprecations.html#dep0147-fsrmdirpath--recursive-true- --- packages/angular/cli/src/utilities/package-manager.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/src/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts index ef111588bd15..d05219b1dec9 100644 --- a/packages/angular/cli/src/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -8,7 +8,7 @@ import { isJsonObject, json } from '@angular-devkit/core'; import { execSync, spawn } from 'child_process'; -import { existsSync, promises as fs, realpathSync, rmdirSync } from 'fs'; +import { existsSync, promises as fs, realpathSync, rmSync } from 'fs'; import { tmpdir } from 'os'; import { join } from 'path'; import { satisfies, valid } from 'semver'; @@ -111,7 +111,7 @@ export class PackageManagerUtils { // clean up temp directory on process exit process.on('exit', () => { try { - rmdirSync(tempPath, { recursive: true, maxRetries: 3 }); + rmSync(tempPath, { recursive: true, maxRetries: 3 }); } catch {} }); From 1846315b2e87a9879e5105ce9b7ae1fcaf16dd42 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 3 Jun 2022 10:29:33 +0000 Subject: [PATCH 0477/1388] fix(@angular/cli): correct scope cache command Currently, this was being shown available as a global command which shouldn't be the case. --- packages/angular/cli/src/commands/cache/clean/cli.ts | 2 +- packages/angular/cli/src/commands/cache/cli.ts | 2 +- packages/angular/cli/src/commands/cache/info/cli.ts | 2 +- packages/angular/cli/src/commands/cache/settings/cli.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/src/commands/cache/clean/cli.ts b/packages/angular/cli/src/commands/cache/clean/cli.ts index d2d514f3852b..f020bde1252e 100644 --- a/packages/angular/cli/src/commands/cache/clean/cli.ts +++ b/packages/angular/cli/src/commands/cache/clean/cli.ts @@ -19,7 +19,7 @@ export class CacheCleanModule extends CommandModule implements CommandModuleImpl command = 'clean'; describe = 'Deletes persistent disk cache from disk.'; longDescriptionPath: string | undefined; - static override scope: CommandScope.In; + static override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs.strict(); diff --git a/packages/angular/cli/src/commands/cache/cli.ts b/packages/angular/cli/src/commands/cache/cli.ts index 4f4d38d0ff16..8ed75a8ca36e 100644 --- a/packages/angular/cli/src/commands/cache/cli.ts +++ b/packages/angular/cli/src/commands/cache/cli.ts @@ -26,7 +26,7 @@ export class CacheCommandModule extends CommandModule implements CommandModuleIm command = 'cache'; describe = 'Configure persistent disk cache and retrieve cache statistics.'; longDescriptionPath = join(__dirname, 'long-description.md'); - static override scope: CommandScope.In; + static override scope = CommandScope.In; builder(localYargs: Argv): Argv { const subcommands = [ diff --git a/packages/angular/cli/src/commands/cache/info/cli.ts b/packages/angular/cli/src/commands/cache/info/cli.ts index a5228cbd5468..186eae362183 100644 --- a/packages/angular/cli/src/commands/cache/info/cli.ts +++ b/packages/angular/cli/src/commands/cache/info/cli.ts @@ -22,7 +22,7 @@ export class CacheInfoCommandModule extends CommandModule implements CommandModu command = 'info'; describe = 'Prints persistent disk cache configuration and statistics in the console.'; longDescriptionPath?: string | undefined; - static override scope: CommandScope.In; + static override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs.strict(); diff --git a/packages/angular/cli/src/commands/cache/settings/cli.ts b/packages/angular/cli/src/commands/cache/settings/cli.ts index b070d1cab1dc..00d56ee9977d 100644 --- a/packages/angular/cli/src/commands/cache/settings/cli.ts +++ b/packages/angular/cli/src/commands/cache/settings/cli.ts @@ -19,7 +19,7 @@ export class CacheDisableModule extends CommandModule implements CommandModuleIm aliases = 'off'; describe = 'Disables persistent disk cache for all projects in the workspace.'; longDescriptionPath: string | undefined; - static override scope: CommandScope.In; + static override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs; @@ -35,7 +35,7 @@ export class CacheEnableModule extends CommandModule implements CommandModuleImp aliases = 'on'; describe = 'Enables disk cache for all projects in the workspace.'; longDescriptionPath: string | undefined; - static override scope: CommandScope.In; + static override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs; From cefbffe6be6c932861949810241272354b4df3c7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 3 Jun 2022 14:28:51 +0000 Subject: [PATCH 0478/1388] fix(@angular/cli): add text to help output to indicate that additional commands are available when ran in different context With this change we add a footer to indicate that more commands are available when running the CLI in a different context. Ie inside or outside of a workspace. --- .../cli/src/command-builder/command-runner.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 60ed22121d97..a1683d3a124b 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -155,6 +155,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis 'deprecated: %s': colors.yellow('deprecated:') + ' %s', 'Did you mean %s?': 'Unknown command. Did you mean %s?', }) + .epilogue(colors.gray(getEpilogue(!!workspace))) .demandCommand(1, demandCommandFailureMessage) .recommendCommands() .middleware(normalizeOptionsMiddleware) @@ -173,3 +174,18 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis return process.exitCode ?? 0; } + +function getEpilogue(isInsideWorkspace: boolean): string { + let message: string; + if (isInsideWorkspace) { + message = + 'The above commands are available when running the Angular CLI inside a workspace.' + + 'More commands are available when running outside a workspace.\n'; + } else { + message = + 'The above commands are available when running the Angular CLI outside a workspace.' + + 'More commands are available when running inside a workspace.\n'; + } + + return message + 'For more information, see https://angular.io/cli/.\n'; +} From 08c87c8d473e4cc56830ea40d562fd9a1eb51e4e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 2 Jun 2022 09:37:38 +0000 Subject: [PATCH 0479/1388] fix(@angular/cli): avoid creating unnecessary global configuration Previously, when a global configuration was not found on disk we forcefully created it even when it was not needed. This causes issues in CI when multiple `ng` commands would run in parallel as it caused a read/write race conditions. See: https://angular-team.slack.com/archives/C46U16D4Z/p1654089933910829 --- .../cli/src/command-builder/command-module.ts | 2 +- .../cli/src/command-builder/command-runner.ts | 2 +- .../schematics-command-module.ts | 2 +- .../angular/cli/src/commands/config/cli.ts | 4 +- packages/angular/cli/src/utilities/config.ts | 71 ++++++++++++------- .../cli/src/utilities/package-manager.ts | 4 +- 6 files changed, 52 insertions(+), 33 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 0ca5b12a742b..b476c392dd5b 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -40,7 +40,7 @@ export interface CommandContext { currentDirectory: string; root: string; workspace?: AngularWorkspace; - globalConfiguration?: AngularWorkspace; + globalConfiguration: AngularWorkspace; logger: logging.Logger; packageManager: PackageManagerUtils; /** Arguments parsed in free-from without parser configuration. */ diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index a1683d3a124b..a0b6d06f8806 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -77,7 +77,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis const positional = getYargsCompletions ? _.slice(1) : _; let workspace: AngularWorkspace | undefined; - let globalConfiguration: AngularWorkspace | undefined; + let globalConfiguration: AngularWorkspace; try { [workspace, globalConfiguration] = await Promise.all([ getWorkspace('local'), diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 13102644e820..830ccd3077a2 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -304,7 +304,7 @@ export abstract class SchematicsCommandModule const value = getSchematicCollections(workspace?.getCli()) ?? - getSchematicCollections(globalConfiguration?.getCli()); + getSchematicCollections(globalConfiguration.getCli()); if (value) { return value; } diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index c0e09de137e0..4fe22df391a9 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -57,7 +57,7 @@ export class ConfigCommandModule async run(options: Options): Promise { const level = options.global ? 'global' : 'local'; - const [config] = getWorkspaceRaw(level); + const [config] = await getWorkspaceRaw(level); if (options.value == undefined) { if (!config) { @@ -118,7 +118,7 @@ export class ConfigCommandModule throw new CommandModuleError('Invalid Path.'); } - const [config, configPath] = getWorkspaceRaw(options.global ? 'global' : 'local'); + const [config, configPath] = await getWorkspaceRaw(options.global ? 'global' : 'local'); const { logger } = this.context; if (!config || !configPath) { diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index 8a9263d518cc..601d609c2e10 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -7,7 +7,7 @@ */ import { json, workspaces } from '@angular-devkit/core'; -import { existsSync, promises as fs, writeFileSync } from 'fs'; +import { existsSync, promises as fs } from 'fs'; import * as os from 'os'; import * as path from 'path'; import { PackageManager } from '../../lib/config/workspace-schema'; @@ -51,6 +51,7 @@ export const workspaceSchemaPath = path.join(__dirname, '../../lib/config/schema const configNames = ['angular.json', '.angular.json']; const globalFileName = '.angular-config.json'; +const defaultGlobalFilePath = path.join(os.homedir(), globalFileName); function xdgConfigHome(home: string, configFile?: string): string { // https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html @@ -106,9 +107,8 @@ function globalFilePath(): string | null { return xdgConfigOld; } - const p = path.join(home, globalFileName); - if (existsSync(p)) { - return p; + if (existsSync(defaultGlobalFilePath)) { + return defaultGlobalFilePath; } return null; @@ -147,7 +147,12 @@ export class AngularWorkspace { } save(): Promise { - return workspaces.writeWorkspace(this.workspace, createWorkspaceHost(), this.filePath); + return workspaces.writeWorkspace( + this.workspace, + createWorkspaceHost(), + this.filePath, + workspaces.WorkspaceFormat.JSON, + ); } static async load(workspaceFilePath: string): Promise { @@ -162,22 +167,38 @@ export class AngularWorkspace { } const cachedWorkspaces = new Map(); + +export async function getWorkspace(level: 'global'): Promise; +export async function getWorkspace(level: 'local'): Promise; export async function getWorkspace( - level: 'local' | 'global' = 'local', + level: 'local' | 'global', +): Promise; + +export async function getWorkspace( + level: 'local' | 'global', ): Promise { if (cachedWorkspaces.has(level)) { return cachedWorkspaces.get(level); } - let configPath = level === 'local' ? projectFilePath() : globalFilePath(); + const configPath = level === 'local' ? projectFilePath() : globalFilePath(); if (!configPath) { - if (level === 'local') { - cachedWorkspaces.set(level, undefined); + if (level === 'global') { + // Unlike a local config, a global config is not mandatory. + // So we create an empty one in memory and keep it as such until it has been modified and saved. + const globalWorkspace = new AngularWorkspace( + { extensions: {}, projects: new workspaces.ProjectDefinitionCollection() }, + defaultGlobalFilePath, + ); + + cachedWorkspaces.set(level, globalWorkspace); - return undefined; + return globalWorkspace; } - configPath = createGlobalSettings(); + cachedWorkspaces.set(level, undefined); + + return undefined; } try { @@ -193,26 +214,24 @@ export async function getWorkspace( } } -export function createGlobalSettings(): string { - const home = os.homedir(); - if (!home) { - throw new Error('No home directory found.'); - } - - const globalPath = path.join(home, globalFileName); - writeFileSync(globalPath, JSON.stringify({ version: 1 })); - - return globalPath; -} - -export function getWorkspaceRaw( +/** + * This method will load the workspace configuration in raw JSON format. + * When `level` is `global` and file doesn't exists, it will be created. + * + * NB: This method is intended to be used only for `ng config`. + */ +export async function getWorkspaceRaw( level: 'local' | 'global' = 'local', -): [JSONFile | null, string | null] { +): Promise<[JSONFile | null, string | null]> { let configPath = level === 'local' ? projectFilePath() : globalFilePath(); if (!configPath) { if (level === 'global') { - configPath = createGlobalSettings(); + configPath = defaultGlobalFilePath; + // Config doesn't exist, force create it. + + const globalWorkspace = await getWorkspace('global'); + await globalWorkspace.save(); } else { return [null, null]; } diff --git a/packages/angular/cli/src/utilities/package-manager.ts b/packages/angular/cli/src/utilities/package-manager.ts index d05219b1dec9..95799efd8747 100644 --- a/packages/angular/cli/src/utilities/package-manager.ts +++ b/packages/angular/cli/src/utilities/package-manager.ts @@ -26,7 +26,7 @@ interface PackageManagerOptions { } export interface PackageManagerUtilsContext { - globalConfiguration?: AngularWorkspace; + globalConfiguration: AngularWorkspace; workspace?: AngularWorkspace; root: string; } @@ -326,7 +326,7 @@ export class PackageManagerUtils { } if (!result) { - result = getPackageManager(globalWorkspace?.extensions['cli']); + result = getPackageManager(globalWorkspace.extensions['cli']); } return result; From 2b0197f02ff80070b8bdaf2e145aa1661688514f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 2 Jun 2022 15:46:12 +0000 Subject: [PATCH 0480/1388] test: remove update tests for no longer LTS versions With this change we remove update tests for version 10 and 11 which are no longer under LTS support. --- .../e2e/assets/10.0-project/karma.conf.js | 32 ----- .../e2e/assets/10.0-project/package.json | 46 ------- .../e2e/assets/10.0-project/tsconfig.json | 17 --- .../e2e/assets/10.0-project/tslint.json | 98 --------------- .../.browserslistrc | 1 - .../.editorconfig | 0 .../{10.0-project => 12.0-project}/.gitignore | 1 - .../{10.0-project => 12.0-project}/README.md | 6 +- .../angular.json | 117 ++++++++++-------- .../e2e/protractor.conf.js | 0 .../e2e/src/app.e2e-spec.ts | 4 +- .../e2e/src/app.po.ts | 0 .../e2e/tsconfig.json | 0 .../e2e/assets/12.0-project/karma.conf.js | 44 +++++++ .../e2e/assets/12.0-project/package.json | 43 +++++++ .../src/app/app-routing.module.ts | 6 +- .../src/app/app.component.css | 0 .../src/app/app.component.html | 85 +++++-------- .../src/app/app.component.spec.ts | 16 +-- .../src/app/app.component.ts | 4 +- .../src/app/app.module.ts | 15 ++- .../src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 2 +- .../src/environments/environment.ts | 6 +- .../src/favicon.ico | Bin .../src/index.html | 2 +- .../src/main.ts | 5 +- .../src/polyfills.ts | 3 +- .../src/styles.css | 0 .../src/test.ts | 17 ++- .../tsconfig.app.json | 9 +- .../e2e/assets/12.0-project/tsconfig.json | 30 +++++ .../tsconfig.spec.json | 14 ++- .../tests/update/update-multiple-versions.ts | 10 +- .../tests/update/{update-10.ts => update.ts} | 7 +- 35 files changed, 283 insertions(+), 357 deletions(-) delete mode 100644 tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js delete mode 100644 tests/legacy-cli/e2e/assets/10.0-project/package.json delete mode 100644 tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json delete mode 100644 tests/legacy-cli/e2e/assets/10.0-project/tslint.json rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/.browserslistrc (82%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/.editorconfig (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/.gitignore (95%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/README.md (78%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/angular.json (56%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/e2e/protractor.conf.js (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/e2e/src/app.e2e-spec.ts (81%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/e2e/src/app.po.ts (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/e2e/tsconfig.json (100%) create mode 100644 tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js create mode 100644 tests/legacy-cli/e2e/assets/12.0-project/package.json rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/app/app-routing.module.ts (52%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/app/app.component.css (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/app/app.component.html (81%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/app/app.component.spec.ts (76%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/app/app.component.ts (70%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/app/app.module.ts (61%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/assets/.gitkeep (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/environments/environment.prod.ts (61%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/environments/environment.ts (75%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/favicon.ico (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/index.html (89%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/main.ts (75%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/polyfills.ts (97%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/styles.css (100%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/src/test.ts (64%) rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/tsconfig.app.json (65%) create mode 100644 tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json rename tests/legacy-cli/e2e/assets/{10.0-project => 12.0-project}/tsconfig.spec.json (51%) rename tests/legacy-cli/e2e/tests/update/{update-10.ts => update.ts} (95%) diff --git a/tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js deleted file mode 100644 index 544af4666fa5..000000000000 --- a/tests/legacy-cli/e2e/assets/10.0-project/karma.conf.js +++ /dev/null @@ -1,32 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma'), - ], - client: { - clearContext: false, // leave Jasmine Spec Runner output visible in browser - }, - coverageIstanbulReporter: { - dir: require('path').join(__dirname, './coverage/ten-project'), - reports: ['html', 'lcovonly', 'text-summary'], - fixWebpackSourcePaths: true, - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true, - }); -}; diff --git a/tests/legacy-cli/e2e/assets/10.0-project/package.json b/tests/legacy-cli/e2e/assets/10.0-project/package.json deleted file mode 100644 index bcee31fdf914..000000000000 --- a/tests/legacy-cli/e2e/assets/10.0-project/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "ten-project", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" - }, - "private": true, - "dependencies": { - "@angular/animations": "~10.2.5", - "@angular/common": "~10.2.5", - "@angular/compiler": "~10.2.5", - "@angular/core": "~10.2.5", - "@angular/forms": "~10.2.5", - "@angular/platform-browser": "~10.2.5", - "@angular/platform-browser-dynamic": "~10.2.5", - "@angular/router": "~10.2.5", - "rxjs": "~6.6.0", - "tslib": "^2.0.0", - "zone.js": "~0.10.2" - }, - "devDependencies": { - "@angular-devkit/build-angular": "~0.1002.4", - "@angular/cli": "~10.2.4", - "@angular/compiler-cli": "~10.2.5", - "@types/node": "^12.11.1", - "@types/jasmine": "~3.5.0", - "@types/jasminewd2": "~2.0.3", - "codelyzer": "^6.0.0", - "jasmine-core": "~3.6.0", - "jasmine-spec-reporter": "~5.0.0", - "karma": "~5.0.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage-istanbul-reporter": "~3.0.2", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "~1.5.0", - "protractor": "~7.0.0", - "ts-node": "~8.3.0", - "tslint": "~6.1.0", - "typescript": "~4.0.2" - } -} diff --git a/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json b/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json deleted file mode 100644 index f1830d0f877e..000000000000 --- a/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, - "experimentalDecorators": true, - "moduleResolution": "node", - "importHelpers": true, - "target": "es2015", - "module": "es2020", - "lib": ["es2018", "dom"] - } -} diff --git a/tests/legacy-cli/e2e/assets/10.0-project/tslint.json b/tests/legacy-cli/e2e/assets/10.0-project/tslint.json deleted file mode 100644 index 66766f469253..000000000000 --- a/tests/legacy-cli/e2e/assets/10.0-project/tslint.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "extends": "tslint:recommended", - "rulesDirectory": ["codelyzer"], - "rules": { - "align": { - "options": ["parameters", "statements"] - }, - "array-type": false, - "arrow-return-shorthand": true, - "curly": true, - "deprecation": { - "severity": "warning" - }, - "eofline": true, - "import-spacing": true, - "indent": { - "options": ["spaces"] - }, - "max-classes-per-file": false, - "max-line-length": [true, 140], - "member-ordering": [ - true, - { - "order": ["static-field", "instance-field", "static-method", "instance-method"] - } - ], - "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], - "no-empty": false, - "no-inferrable-types": [true, "ignore-params"], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [true, "as-needed"], - "quotemark": [true, "single"], - "semicolon": { - "options": ["always"] - }, - "space-before-function-paren": { - "options": { - "anonymous": "never", - "asyncArrow": "always", - "constructor": "never", - "method": "never", - "named": "never" - } - }, - "typedef": [true, "call-signature"], - "typedef-whitespace": { - "options": [ - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - }, - { - "call-signature": "onespace", - "index-signature": "onespace", - "parameter": "onespace", - "property-declaration": "onespace", - "variable-declaration": "onespace" - } - ] - }, - "variable-name": { - "options": ["ban-keywords", "check-format", "allow-pascal-case"] - }, - "whitespace": { - "options": [ - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type", - "check-typecast" - ] - }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true, - "directive-selector": [true, "attribute", "app", "camelCase"], - "component-selector": [true, "element", "app", "kebab-case"] - } -} diff --git a/tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc b/tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc similarity index 82% rename from tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc rename to tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc index 0ccadaf32fba..427441dc9308 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/.browserslistrc +++ b/tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc @@ -14,5 +14,4 @@ last 2 Edge major versions last 2 Safari major versions last 2 iOS major versions Firefox ESR -not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line. not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/tests/legacy-cli/e2e/assets/10.0-project/.editorconfig b/tests/legacy-cli/e2e/assets/12.0-project/.editorconfig similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/.editorconfig rename to tests/legacy-cli/e2e/assets/12.0-project/.editorconfig diff --git a/tests/legacy-cli/e2e/assets/10.0-project/.gitignore b/tests/legacy-cli/e2e/assets/12.0-project/.gitignore similarity index 95% rename from tests/legacy-cli/e2e/assets/10.0-project/.gitignore rename to tests/legacy-cli/e2e/assets/12.0-project/.gitignore index 86d943a9b2e8..de51f68a2cda 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/.gitignore +++ b/tests/legacy-cli/e2e/assets/12.0-project/.gitignore @@ -12,7 +12,6 @@ # profiling files chrome-profiler-events*.json -speed-measure-plugin*.json # IDEs and editors /.idea diff --git a/tests/legacy-cli/e2e/assets/10.0-project/README.md b/tests/legacy-cli/e2e/assets/12.0-project/README.md similarity index 78% rename from tests/legacy-cli/e2e/assets/10.0-project/README.md rename to tests/legacy-cli/e2e/assets/12.0-project/README.md index 36796dab3bff..e5ad9d504c52 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/README.md +++ b/tests/legacy-cli/e2e/assets/12.0-project/README.md @@ -1,6 +1,6 @@ -# TenProject +# TwelveProject -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.2.4. +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.5. ## Development server @@ -20,7 +20,7 @@ Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github. ## Running end-to-end tests -Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. ## Further help diff --git a/tests/legacy-cli/e2e/assets/10.0-project/angular.json b/tests/legacy-cli/e2e/assets/12.0-project/angular.json similarity index 56% rename from tests/legacy-cli/e2e/assets/10.0-project/angular.json rename to tests/legacy-cli/e2e/assets/12.0-project/angular.json index 1c20732db6c7..7c5d8e218668 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/angular.json +++ b/tests/legacy-cli/e2e/assets/12.0-project/angular.json @@ -3,9 +3,13 @@ "version": 1, "newProjectRoot": "projects", "projects": { - "ten-project": { + "twelve-project": { "projectType": "application", - "schematics": {}, + "schematics": { + "@schematics/angular:application": { + "strict": true + } + }, "root": "", "sourceRoot": "src", "prefix": "app", @@ -13,97 +17,102 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "outputPath": "dist/ten-project", + "outputPath": "dist/twelve-project", "index": "src/index.html", "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "tsconfig.app.json", - "aot": true, - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.css"], + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], "scripts": [] }, "configurations": { "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, "budgets": [ { "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" + "maximumWarning": "500kb", + "maximumError": "1mb" }, { "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "10kb" + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" } - ] + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true } - } + }, + "defaultConfiguration": "production" }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "ten-project:build" - }, "configurations": { "production": { - "browserTarget": "ten-project:build:production" + "browserTarget": "twelve-project:build:production" + }, + "development": { + "browserTarget": "twelve-project:build:development" } - } + }, + "defaultConfiguration": "development" }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { - "browserTarget": "ten-project:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.css"], - "scripts": [] - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": ["tsconfig.app.json", "tsconfig.spec.json", "e2e/tsconfig.json"], - "exclude": ["**/node_modules/**"] + "browserTarget": "twelve-project:build" } }, "e2e": { "builder": "@angular-devkit/build-angular:protractor", "options": { "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "ten-project:serve" + "devServerTarget": "twelve-project:serve" }, "configurations": { "production": { - "devServerTarget": "ten-project:serve:production" + "devServerTarget": "twelve-project:serve:production" } } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } } } } }, - "defaultProject": "ten-project" + "defaultProject": "twelve-project" } diff --git a/tests/legacy-cli/e2e/assets/10.0-project/e2e/protractor.conf.js b/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/e2e/protractor.conf.js rename to tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js diff --git a/tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.e2e-spec.ts b/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts similarity index 81% rename from tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.e2e-spec.ts rename to tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts index e41670e502c2..2c278bbb44db 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.e2e-spec.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts @@ -8,9 +8,9 @@ describe('workspace-project App', () => { page = new AppPage(); }); - it('should display welcome message', () => { + it('should display welcome message', async () => { page.navigateTo(); - expect(page.getTitleText()).toEqual('ten-project app is running!'); + expect(await page.getTitleText()).toMatch(/app is running/); }); afterEach(async () => { diff --git a/tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.po.ts b/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.po.ts similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/e2e/src/app.po.ts rename to tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.po.ts diff --git a/tests/legacy-cli/e2e/assets/10.0-project/e2e/tsconfig.json b/tests/legacy-cli/e2e/assets/12.0-project/e2e/tsconfig.json similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/e2e/tsconfig.json rename to tests/legacy-cli/e2e/assets/12.0-project/e2e/tsconfig.json diff --git a/tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js new file mode 100644 index 000000000000..23f103f11d79 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/twelve-project'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/tests/legacy-cli/e2e/assets/12.0-project/package.json b/tests/legacy-cli/e2e/assets/12.0-project/package.json new file mode 100644 index 000000000000..086bb4308355 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/12.0-project/package.json @@ -0,0 +1,43 @@ +{ + "name": "twelve-project", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "~12.0.5", + "@angular/common": "~12.0.5", + "@angular/compiler": "~12.0.5", + "@angular/core": "~12.0.5", + "@angular/forms": "~12.0.5", + "@angular/platform-browser": "~12.0.5", + "@angular/platform-browser-dynamic": "~12.0.5", + "@angular/router": "~12.0.5", + "rxjs": "~6.6.0", + "tslib": "^2.1.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~12.0.5", + "@angular/cli": "~12.0.5", + "@angular/compiler-cli": "~12.0.5", + "@types/node": "^12.11.1", + "@types/jasmine": "~3.6.0", + "jasmine-core": "~3.7.0", + "jasmine-spec-reporter": "~7.0.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.5.0", + "protractor": "~7.0.0", + "ts-node": "~8.3.0", + "tslint": "~6.1.0", + "typescript": "~4.2.3" + } +} diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app-routing.module.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts similarity index 52% rename from tests/legacy-cli/e2e/assets/10.0-project/src/app/app-routing.module.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts index 11c2e84079ec..02972627f8df 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app-routing.module.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts @@ -1,10 +1,10 @@ import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; +import { RouterModule, Routes } from '@angular/router'; const routes: Routes = []; @NgModule({ imports: [RouterModule.forRoot(routes)], - exports: [RouterModule], + exports: [RouterModule] }) -export class AppRoutingModule {} +export class AppRoutingModule { } diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.css b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.css similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.css rename to tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.css diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.html b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html similarity index 81% rename from tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.html rename to tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html index e48d8c109d66..a751c67c5f2d 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.html +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html @@ -52,11 +52,17 @@ } .toolbar #twitter-logo { + height: 40px; + margin: 0 8px; + } + + .toolbar #youtube-logo { height: 40px; margin: 0 16px; } - .toolbar #twitter-logo:hover { + .toolbar #twitter-logo:hover, + .toolbar #youtube-logo:hover { opacity: 0.8; } @@ -313,6 +319,12 @@ + + +
@@ -320,7 +332,8 @@
- + + Rocket Ship @@ -332,7 +345,8 @@ {{ title }} app is running! - + + Rocket Ship Smoke @@ -419,7 +433,7 @@

Next Steps

ng add @angular/pwa
ng add _____
ng test
-
ng build --prod
+
ng build
@@ -435,7 +449,8 @@

Next Steps

- + + Angular CLI Logo @@ -446,57 +461,18 @@

Next Steps

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Meetup Logo - - - - - - - - - - - - - + + + Discord Logo + +
@@ -515,7 +491,8 @@

Next Steps

- + + Gray Clouds Background @@ -529,6 +506,4 @@

Next Steps

- - - \ No newline at end of file + diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.spec.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts similarity index 76% rename from tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.spec.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts index bdea908638d1..c7060eb77ad5 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.spec.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts @@ -5,8 +5,12 @@ import { AppComponent } from './app.component'; describe('AppComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [RouterTestingModule], - declarations: [AppComponent], + imports: [ + RouterTestingModule + ], + declarations: [ + AppComponent + ], }).compileComponents(); }); @@ -16,18 +20,16 @@ describe('AppComponent', () => { expect(app).toBeTruthy(); }); - it(`should have as title 'ten-project'`, () => { + it(`should have as title 'twelve-project'`, () => { const fixture = TestBed.createComponent(AppComponent); const app = fixture.componentInstance; - expect(app.title).toEqual('ten-project'); + expect(app.title).toEqual('twelve-project'); }); it('should render title', () => { const fixture = TestBed.createComponent(AppComponent); fixture.detectChanges(); const compiled = fixture.nativeElement; - expect(compiled.querySelector('.content span').textContent).toContain( - 'ten-project app is running!', - ); + expect(compiled.querySelector('.content span').textContent).toContain('twelve-project app is running!'); }); }); diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts similarity index 70% rename from tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts index cb054a486094..2e27024b0e44 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.component.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts @@ -3,8 +3,8 @@ import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.css'], + styleUrls: ['./app.component.css'] }) export class AppComponent { - title = 'ten-project'; + title = 'twelve-project'; } diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.module.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts similarity index 61% rename from tests/legacy-cli/e2e/assets/10.0-project/src/app/app.module.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts index 4fac0768bbb2..b1c6c96a9de8 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/app/app.module.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts @@ -1,13 +1,18 @@ -import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @NgModule({ - declarations: [AppComponent], - imports: [BrowserModule, AppRoutingModule], + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + AppRoutingModule + ], providers: [], - bootstrap: [AppComponent], + bootstrap: [AppComponent] }) -export class AppModule {} +export class AppModule { } diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/assets/.gitkeep b/tests/legacy-cli/e2e/assets/12.0-project/src/assets/.gitkeep similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/src/assets/.gitkeep rename to tests/legacy-cli/e2e/assets/12.0-project/src/assets/.gitkeep diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.prod.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts similarity index 61% rename from tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.prod.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts index c9669790be17..3612073bc31c 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.prod.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts @@ -1,3 +1,3 @@ export const environment = { - production: true, + production: true }; diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts similarity index 75% rename from tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts index 99c3763cad6f..f56ff47022c7 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/environments/environment.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts @@ -1,9 +1,9 @@ // This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. // The list of file replacements can be found in `angular.json`. export const environment = { - production: false, + production: false }; /* @@ -13,4 +13,4 @@ export const environment = { * This import should be commented out in production mode because it will have a negative impact * on performance if an error is thrown. */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/favicon.ico b/tests/legacy-cli/e2e/assets/12.0-project/src/favicon.ico similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/src/favicon.ico rename to tests/legacy-cli/e2e/assets/12.0-project/src/favicon.ico diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/index.html b/tests/legacy-cli/e2e/assets/12.0-project/src/index.html similarity index 89% rename from tests/legacy-cli/e2e/assets/10.0-project/src/index.html rename to tests/legacy-cli/e2e/assets/12.0-project/src/index.html index 6024d63f0f9b..23fb2840679d 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/index.html +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/index.html @@ -2,7 +2,7 @@ - TenProject + TwelveProject diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/main.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/main.ts similarity index 75% rename from tests/legacy-cli/e2e/assets/10.0-project/src/main.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/main.ts index d9a2e7e4a582..c7b673cf44b3 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/main.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/main.ts @@ -8,6 +8,5 @@ if (environment.production) { enableProdMode(); } -platformBrowserDynamic() - .bootstrapModule(AppModule) - .catch((err) => console.error(err)); +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/polyfills.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts similarity index 97% rename from tests/legacy-cli/e2e/assets/10.0-project/src/polyfills.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts index 5812bad0d42e..373f538a7197 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/polyfills.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts @@ -57,7 +57,8 @@ /*************************************************************************************************** * Zone JS is required by default for Angular itself. */ -import 'zone.js/dist/zone'; // Included with Angular CLI. +import 'zone.js'; // Included with Angular CLI. + /*************************************************************************************************** * APPLICATION IMPORTS diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/styles.css b/tests/legacy-cli/e2e/assets/12.0-project/src/styles.css similarity index 100% rename from tests/legacy-cli/e2e/assets/10.0-project/src/styles.css rename to tests/legacy-cli/e2e/assets/12.0-project/src/styles.css diff --git a/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/test.ts similarity index 64% rename from tests/legacy-cli/e2e/assets/10.0-project/src/test.ts rename to tests/legacy-cli/e2e/assets/12.0-project/src/test.ts index 045d6b4a8c19..2042356408ff 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/src/test.ts +++ b/tests/legacy-cli/e2e/assets/12.0-project/src/test.ts @@ -1,26 +1,25 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import 'zone.js/dist/zone-testing'; +import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, - platformBrowserDynamicTesting, + platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; declare const require: { - context( - path: string, - deep?: boolean, - filter?: RegExp, - ): { + context(path: string, deep?: boolean, filter?: RegExp): { keys(): string[]; (id: string): T; }; }; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. -context.keys().forEach(context); +context.keys().map(context); diff --git a/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.app.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json similarity index 65% rename from tests/legacy-cli/e2e/assets/10.0-project/tsconfig.app.json rename to tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json index ff396d4ce2d8..82d91dc4a4de 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.app.json +++ b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json @@ -5,6 +5,11 @@ "outDir": "./out-tsc/app", "types": [] }, - "files": ["src/main.ts", "src/polyfills.ts"], - "include": ["src/**/*.d.ts"] + "files": [ + "src/main.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] } diff --git a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json new file mode 100644 index 000000000000..6df828326e3f --- /dev/null +++ b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json @@ -0,0 +1,30 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2017", + "module": "es2020", + "lib": [ + "es2018", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.spec.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json similarity index 51% rename from tests/legacy-cli/e2e/assets/10.0-project/tsconfig.spec.json rename to tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json index 669344f8d2b7..092345b02e80 100644 --- a/tests/legacy-cli/e2e/assets/10.0-project/tsconfig.spec.json +++ b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json @@ -3,8 +3,16 @@ "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/spec", - "types": ["jasmine"] + "types": [ + "jasmine" + ] }, - "files": ["src/test.ts", "src/polyfills.ts"], - "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] + "files": [ + "src/test.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] } diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts index 5123af8ed506..afae2e771fb2 100644 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -6,7 +6,7 @@ import { expectToFail } from '../../utils/utils'; export default async function () { try { - await createProjectFromAsset('10.0-project', true, true); + await createProjectFromAsset('12.0-project', true, true); await setRegistry(false); await installWorkspacePackages(); await setRegistry(true); @@ -16,12 +16,12 @@ export default async function () { extraArgs.push('--next'); } - // Update Angular from v10 to 11 + // Update Angular from v12 to 13 const { stdout } = await ng('update', ...extraArgs); - if (!/@angular\/core\s+10\.\d\.\d+ -> 11\.\d\.\d+\s+ng update @angular\/core@11/.test(stdout)) { - // @angular/core 10.x.x -> 11.x.x ng update @angular/core@11 + if (!/@angular\/core\s+12\.\d\.\d+ -> 13\.\d\.\d+\s+ng update @angular\/core@13/.test(stdout)) { + // @angular/core 12.x.x -> 13.x.x ng update @angular/core@13 throw new Error( - `Output didn't match "@angular/core 10.x.x -> 11.x.x ng update @angular/core@11". OUTPUT: \n` + + `Output didn't match "@angular/core 12.x.x -> 13.x.x ng update @angular/core@13". OUTPUT: \n` + stdout, ); } diff --git a/tests/legacy-cli/e2e/tests/update/update-10.ts b/tests/legacy-cli/e2e/tests/update/update.ts similarity index 95% rename from tests/legacy-cli/e2e/tests/update/update-10.ts rename to tests/legacy-cli/e2e/tests/update/update.ts index 016f9676e049..25812d3045a5 100644 --- a/tests/legacy-cli/e2e/tests/update/update-10.ts +++ b/tests/legacy-cli/e2e/tests/update/update.ts @@ -11,7 +11,7 @@ export default async function () { // We need to use the public registry because in the local NPM server we don't have // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. await setRegistry(false); - await createProjectFromAsset('10.0-project', true); + await createProjectFromAsset('12.0-project', true); // If using npm, enable legacy peer deps mode to avoid defects in npm 7+'s peer dependency resolution // Example error where 11.2.14 satisfies the SemVer range ^11.0.0 but still fails: @@ -73,15 +73,16 @@ export default async function () { // Setup testing to use CI Chrome. await useCIChrome('./'); await useCIChrome('./e2e/'); - await useCIDefaults('ten-project'); + await useCIDefaults('twelve-project'); // Run CLI commands. await ng('generate', 'component', 'my-comp'); await ng('test', '--watch=false'); + await ng('e2e'); await ng('e2e', '--configuration=production'); // Verify project now creates bundles await noSilentNg('build', '--configuration=production'); - await expectFileMatchToExist('dist/ten-project/', /main\.[0-9a-f]{16}\.js/); + await expectFileMatchToExist('dist/twelve-project/', /main\.[0-9a-f]{16}\.js/); } From 450074ff6995a7ac6dd3de475cc93d53f6bda3c9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 3 Jun 2022 04:43:04 +0000 Subject: [PATCH 0481/1388] build: update all non-major dependencies --- package.json | 14 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 6 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 130 +++++++++++++----- 6 files changed, 107 insertions(+), 49 deletions(-) diff --git a/package.json b/package.json index 006a7d9c88f3..dff30856927d 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.1.0", + "cacache": "16.1.1", "chokidar": "^3.5.2", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", @@ -169,12 +169,12 @@ "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.0", "minimatch": "5.1.0", - "ng-packagr": "14.0.0-rc.0", + "ng-packagr": "14.0.0", "node-fetch": "^2.2.0", "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.5.0", + "pacote": "13.6.0", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.5.0", "pidusage": "^3.0.0", @@ -186,12 +186,12 @@ "postcss-preset-env": "7.7.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "14.1.2", + "puppeteer": "14.2.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.52.1", + "sass": "1.52.2", "sass-loader": "13.0.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -210,9 +210,9 @@ "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "~4.7.2", - "verdaccio": "5.10.3", + "verdaccio": "5.11.0", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.72.1", + "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.9.1", "webpack-merge": "5.8.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 5440e1103caf..b23cd41460ac 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,7 +36,7 @@ "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.5.0", + "pacote": "13.6.0", "resolve": "1.22.0", "semver": "7.3.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f25292bfe404..72a29e000b61 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.1.0", + "cacache": "16.1.1", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.52.1", + "sass": "1.52.2", "sass-loader": "13.0.0", "semver": "7.3.7", "source-map-loader": "3.0.1", @@ -63,7 +63,7 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", - "webpack": "5.72.1", + "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.9.1", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index 39273ee35a7c..d125fa33dcf5 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.72.1" + "webpack": "5.73.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 11fbd41ba234..2c0b8f63ad68 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.0.0-rc.2", "@angular/compiler-cli": "14.0.0-rc.2", "typescript": "~4.7.2", - "webpack": "5.72.1" + "webpack": "5.73.0" } } diff --git a/yarn.lock b/yarn.lock index b5423a504297..1f95afac960c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3522,10 +3522,10 @@ cacache@16.0.7: tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.1.0, cacache@^16.0.0, cacache@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.0.tgz#87a6bae558a511c9cb2a13768073e240ca76153a" - integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== +cacache@16.1.1: + version "16.1.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" + integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== dependencies: "@npmcli/fs" "^2.1.0" "@npmcli/move-file" "^2.0.0" @@ -3570,6 +3570,30 @@ cacache@^15.2.0: tar "^6.0.2" unique-filename "^1.1.1" +cacache@^16.0.0, cacache@^16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.0.tgz#87a6bae558a511c9cb2a13768073e240ca76153a" + integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^1.1.1" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4282,10 +4306,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A== -devtools-protocol@0.0.982423: - version "0.0.982423" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.982423.tgz#39ac3791d4c5b90ebb416d4384663b7b0cc44154" - integrity sha512-FnVW2nDbjGNw1uD/JRC+9U5768W7e1TfUwqbDTcSsAu1jXFjITSX8w3rkW5FEpHRMPPGpvNSmO1pOpqByiWscA== +devtools-protocol@0.0.1001819: + version "0.0.1001819" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1001819.tgz#0a98f44cefdb02cc684f3d5e6bd898a1690231d9" + integrity sha512-G6OsIFnv/rDyxSqBa2lDLR6thp9oJioLsb2Gl+LbQlyoA9/OBAkrTU9jiCcQ8Pnh7z4d6slDiLaogR5hzgJLmQ== dezalgo@^1.0.0: version "1.0.4" @@ -7567,10 +7591,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0-rc.0: - version "14.0.0-rc.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0-rc.0.tgz#55162b3a5ff07c9fc1f095559d79f31a22b9bb9e" - integrity sha512-ileWhRK9Or+3/1bzdB7rw3ZCvMHUo5wbF3hgyLwwsX1bh1TdjLmuEAsSKj39keurBXcUi0mPoj1f4o8gYJXKqg== +ng-packagr@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0.tgz#ce54d2c065f188d8c6230c03d3e20c37de5adc5d" + integrity sha512-jHkpWm2yEpMPbY0Qz3sfDh+7uAfyskEMesEPA1aGQXxvwiIaCl+8RFRdPQxObYOj8Uv7ZJxoyUkqi8KqI5RV9g== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7595,7 +7619,7 @@ ng-packagr@14.0.0-rc.0: rollup-plugin-sourcemaps "^0.6.3" rxjs "^7.5.5" sass "^1.49.9" - stylus "^0.57.0" + stylus "^0.58.0" optionalDependencies: esbuild "^0.14.29" @@ -8020,10 +8044,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.5.0: - version "13.5.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.5.0.tgz#e2c745dc320513a98b9403e92b366a1ba6a4db94" - integrity sha512-yekp0ykEsaBH0t0bYA/89R+ywdYV5ZnEdg4YMIfqakSlpIhoF6b8+aEUm8NZpfWRgmy6lxgywcW05URhLRogVQ== +pacote@13.6.0: + version "13.6.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.0.tgz#79ea3d3ae5a2b29e2994dcf18d75494e8d888032" + integrity sha512-zHmuCwG4+QKnj47LFlW3LmArwKoglx2k5xtADiMCivVWPgNRP5QyLDGOIjGjwOe61lhl1rO63m/VxT16pEHLWg== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -8832,14 +8856,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@14.1.2: - version "14.1.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.1.2.tgz#bde2ca5585fb56ed906bccced898d551778f5c5d" - integrity sha512-Nsyy1f7pT2KyBb15u8DHi4q3FfrIqOptAV0r4Bd1lAp2pHz8T0o4DO+On1yWZ7jFbcx1w3AqZ/e7nKqnc3Vwyg== +puppeteer@14.2.1: + version "14.2.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.2.1.tgz#e343379061e0211b4c02d0c535883c26a39f825e" + integrity sha512-cIEsAbEbNYqHbkvdZY4+YSdxVwh4YFqOHSezuLpu46XAYlKkQeAMdJQ+mDAxg9v77gIn8PHJ6PlftIVsWKRACA== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.982423" + devtools-protocol "0.0.1001819" extract-zip "2.0.1" https-proxy-agent "5.0.1" pkg-dir "4.2.0" @@ -8848,7 +8872,7 @@ puppeteer@14.1.2: rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.6.0" + ws "8.7.0" q@1.4.1: version "1.4.1" @@ -9404,7 +9428,16 @@ sass@1.51.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.52.1, sass@^1.49.9: +sass@1.52.2: + version "1.52.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.2.tgz#cd1f03e0e7be5bb2cebcf1c34d735f087d790936" + integrity sha512-mfHB2VSeFS7sZlPv9YohB9GB7yWIgQNTGniQwfQ04EoQN0wsQEv7SwpCwy/x48Af+Z3vDeFXz+iuXM3HK/phZQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sass@^1.49.9: version "1.52.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.1.tgz#554693da808543031f9423911d62c60a1acf7889" integrity sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q== @@ -10134,7 +10167,7 @@ stylus-loader@7.0.0: klona "^2.0.5" normalize-path "^3.0.0" -stylus@0.57.0, stylus@^0.57.0: +stylus@0.57.0: version "0.57.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" integrity sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ== @@ -10146,7 +10179,7 @@ stylus@0.57.0, stylus@^0.57.0: sax "~1.2.4" source-map "^0.7.3" -stylus@0.58.1: +stylus@0.58.1, stylus@^0.58.0: version "0.58.1" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.58.1.tgz#7e425bb493c10dde94cf427a138d3eae875a3b44" integrity sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w== @@ -10757,10 +10790,10 @@ verdaccio-htpasswd@10.3.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.10.3: - version "5.10.3" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.10.3.tgz#525ce0f1c2498325c43fcdcc1f03a0fc6ce592df" - integrity sha512-mhTREPA3In3JRf/jn1fE0dFRAY+Z4K/sQ9SwNDD8R+Wtuvs2mMZuiwX3M87xh67Y+RsRQbDOz97FUsiCxDIu9w== +verdaccio@5.11.0: + version "5.11.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.11.0.tgz#02be4e0372c97a61a99fc1df96d6aef791dab5db" + integrity sha512-wKQ4dVBuUm+sHTakxlGPyOQSvJtpkzk7FTUKfGP92LV8AdQSyNflXomiP3KK7WfoG6Er18+aC+sDhosTs02l6g== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.2.1" @@ -11037,6 +11070,36 @@ webpack@5.72.1: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.73.0: + version "5.73.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" + integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.9.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" @@ -11160,12 +11223,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23" - integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw== - -ws@>=7.4.6, ws@^8.4.2: +ws@8.7.0, ws@>=7.4.6, ws@^8.4.2: version "8.7.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.7.0.tgz#eaf9d874b433aa00c0e0d8752532444875db3957" integrity sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg== From 9032ed576aabb9527035734caece58b16a9a92f1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 3 Jun 2022 08:32:35 +0000 Subject: [PATCH 0482/1388] build: update chrome driver to `103.0.5060.24` This is needed by `puppeteer` version `14.2.0` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dff30856927d..13adda08020f 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 101.0.4951.41", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 103.0.5060.24", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", "ts-circular-deps:check": "ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", From 45b6954174689ca53619f2608f6b13abc44e3882 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 3 Jun 2022 18:41:39 +0000 Subject: [PATCH 0483/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +-- .../hello-world-lib/projects/lib/package.json | 4 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +-- yarn.lock | 200 +++++++++--------- 8 files changed, 139 insertions(+), 139 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 1b76d4d81046..0b96636c959d 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@86c3cdc39e860ce19476c88ce489be6a3982fe3c + - uses: angular/dev-infra/github-actions/commit-message-based-labels@d1a108d604fba8c761af9377545f90c0385f1f0a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@86c3cdc39e860ce19476c88ce489be6a3982fe3c + - uses: angular/dev-infra/github-actions/post-approval-changes@d1a108d604fba8c761af9377545f90c0385f1f0a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 30a6620baa4d..988f38239a8f 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@86c3cdc39e860ce19476c88ce489be6a3982fe3c + - uses: angular/dev-infra/github-actions/feature-request@d1a108d604fba8c761af9377545f90c0385f1f0a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6d87220b7767..965b62b11ffb 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@86c3cdc39e860ce19476c88ce489be6a3982fe3c + - uses: angular/dev-infra/github-actions/lock-closed@d1a108d604fba8c761af9377545f90c0385f1f0a with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 13adda08020f..6e96737b8b5c 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.0-rc.2", - "@angular/cdk": "14.0.0-rc.1", - "@angular/common": "14.0.0-rc.2", - "@angular/compiler": "14.0.0-rc.2", - "@angular/compiler-cli": "14.0.0-rc.2", - "@angular/core": "14.0.0-rc.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0", - "@angular/forms": "14.0.0-rc.2", - "@angular/localize": "14.0.0-rc.2", - "@angular/material": "14.0.0-rc.1", - "@angular/platform-browser": "14.0.0-rc.2", - "@angular/platform-browser-dynamic": "14.0.0-rc.2", - "@angular/platform-server": "14.0.0-rc.2", - "@angular/router": "14.0.0-rc.2", - "@angular/service-worker": "14.0.0-rc.2", + "@angular/animations": "14.0.0", + "@angular/cdk": "14.0.0", + "@angular/common": "14.0.0", + "@angular/compiler": "14.0.0", + "@angular/compiler-cli": "14.0.0", + "@angular/core": "14.0.0", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#932b9d5f6227d1a2dfa2a416fa317c2e55584994", + "@angular/forms": "14.0.0", + "@angular/localize": "14.0.0", + "@angular/material": "14.0.0", + "@angular/platform-browser": "14.0.0", + "@angular/platform-browser-dynamic": "14.0.0", + "@angular/platform-server": "14.0.0", + "@angular/router": "14.0.0", + "@angular/service-worker": "14.0.0", "@babel/core": "7.18.2", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json index cd184f7a620f..290796b86da7 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json @@ -2,7 +2,7 @@ "name": "lib", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^13.0.0", - "@angular/core": "^13.0.0" + "@angular/common": "^14.0.0", + "@angular/core": "^14.0.0" } } \ No newline at end of file diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 2c0b8f63ad68..812d0b4836ca 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0-rc.2", - "@angular/compiler-cli": "14.0.0-rc.2", + "@angular/compiler": "14.0.0", + "@angular/compiler-cli": "14.0.0", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 7baf54771265..d4568826b6a7 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b6e80504ea36df0410d4f6c568f0b4d3d52a941b", - "@angular/cdk": "github:angular/cdk-builds#c24af14a34cb2ec1c0ce74fc91048f2d7a90e88a", - "@angular/common": "github:angular/common-builds#ee3b9d07f7b4c05c9e59a9a0044126c0fc131e1f", - "@angular/compiler": "github:angular/compiler-builds#5736e093b829f2f85bd4c5696fef36fe4800aed7", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#39e06aa61eb7b44e288390db3bae260a432e55f2", - "@angular/core": "github:angular/core-builds#69d6a50849073e494009b1383d863d0ec2bb3234", - "@angular/forms": "github:angular/forms-builds#294d0268c393e293f1657971fd92ef4a663eccaf", - "@angular/language-service": "github:angular/language-service-builds#fe2991181919f9cc53ff7782fbe4b72dd7be2014", - "@angular/localize": "github:angular/localize-builds#ac009f83c34f2322c4c2318379c2cb0efd65d80c", - "@angular/material": "github:angular/material-builds#2e54c76740ed0570a9901473c9ad29a53fe43d43", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2e82b7636c8e82be0195b7b11ee3318d0d5d09a8", - "@angular/platform-browser": "github:angular/platform-browser-builds#925b6b367f87dbda3b0db9655cdb5d6d82e6a710", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#5fafb35b682637fd787badb9e9a1ca07911aba06", - "@angular/platform-server": "github:angular/platform-server-builds#6c0d95b196f9b99a6d4e38163823e452ba25f187", - "@angular/router": "github:angular/router-builds#cea30669660e584bd848b072321510b892505150", - "@angular/service-worker": "github:angular/service-worker-builds#655e20d2184d4016a63690b1036317306024200d" + "@angular/animations": "github:angular/animations-builds#f0a41737061c9446ceffb7bb802ba0b4dce3f720", + "@angular/cdk": "github:angular/cdk-builds#9c6801fe6fedbc614e2204895c8e648c82c879ca", + "@angular/common": "github:angular/common-builds#ae2f0d8bdbd814da39916aa55eb976c9c6bc1ad0", + "@angular/compiler": "github:angular/compiler-builds#fe501dd74ca2ccf39b13e1b90883d394ff9a0a1e", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f850e5fcd7f1ac808f9b84320f85753b954d9915", + "@angular/core": "github:angular/core-builds#6d561441beee526b4e86c2dc9169be0970acdde2", + "@angular/forms": "github:angular/forms-builds#3d031696578bef48813d4970f1546987d7c0ecc8", + "@angular/language-service": "github:angular/language-service-builds#e5b3009b1a9e4542cc5ad02e1c3e4abb11404249", + "@angular/localize": "github:angular/localize-builds#3329e70a8ef2e48b766c6cb1a4217e2b09c31591", + "@angular/material": "github:angular/material-builds#2acc7601a6e12b2c2ca4aac80cdc71c547649ac3", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#07fe11a2e92c3cedf47a43087c1e364562aff869", + "@angular/platform-browser": "github:angular/platform-browser-builds#e41ae1370a28d7215ad1b5a5cf09182c6954d803", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d03433667ea7b98597a1c29996b5e7296726219a", + "@angular/platform-server": "github:angular/platform-server-builds#969999988377e05e7fc763eff308a89d0c7b1f27", + "@angular/router": "github:angular/router-builds#6e3cb26d92b751f19f62fd4a18241cddb2addc12", + "@angular/service-worker": "github:angular/service-worker-builds#9c263039a272286003bc3be21179b01d8677f2b7" } } diff --git a/yarn.lock b/yarn.lock index 1f95afac960c..a6415a3e3065 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0-rc.2": - version "0.1400.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.2.tgz#4ea95c11113c229b86be48bc2b425110b6cd7995" - integrity sha512-k2ZGmKhbsMTg2htaSRO1rQW6xVN9lAAwaWIwOijTFehWxeSoAQUJd3V2e/jOy9hQSrrnkg6GI0p2VPie6Xw38A== +"@angular-devkit/architect@0.1400.0-rc.3": + version "0.1400.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.3.tgz#54e328a203f98f243298b014bf4ce2abfde32a06" + integrity sha512-lv0HB50hyrKZDpImI3lk8BVzmD0zUIPARZ/2/wpS3ZCY5lpNSHZSGiN7SnMB9Y2h+RpbjTYeF7/5WLs0cXA6UA== dependencies: - "@angular-devkit/core" "14.0.0-rc.2" + "@angular-devkit/core" "14.0.0-rc.3" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.2.tgz#49dd67da8be72c2f3db6ee0f2a5cc4288b34a966" - integrity sha512-xOx11LAZ4JfYekmGxGOdfs98sKR+4a375SqYw/KAtqGjmF69FllIw9YmXqwFzSwQs3vAVt0aDd3NMWUEbW9qQQ== +"@angular-devkit/build-angular@14.0.0-rc.3": + version "14.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.3.tgz#c168049a4e78b9ef6bed58521979aa5344983547" + integrity sha512-Blta5TUS548p8yxdR4pBYdEuzp7XkVxX38EhrFiPEAqgXyqDM8LwxCk8o9XwqLM9LtgqGd86x5RCx6YgTntUdw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1400.0-rc.2" - "@angular-devkit/build-webpack" "0.1400.0-rc.2" - "@angular-devkit/core" "14.0.0-rc.2" + "@angular-devkit/architect" "0.1400.0-rc.3" + "@angular-devkit/build-webpack" "0.1400.0-rc.3" + "@angular-devkit/core" "14.0.0-rc.3" "@babel/core" "7.17.10" "@babel/generator" "7.17.10" "@babel/helper-annotate-as-pure" "7.16.7" @@ -37,7 +37,7 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-rc.2" + "@ngtools/webpack" "14.0.0-rc.3" ansi-colors "4.1.1" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.38" -"@angular-devkit/build-webpack@0.1400.0-rc.2": - version "0.1400.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.2.tgz#6515ce601d34a6d6652c40a78ebca9dcfb955582" - integrity sha512-TBeQKt5MdwTFILLXTPibzMepvqaV81/XluRua86U2gCOMWS0zWptecLVqCwaOL60jCe8pio7u/8PxrirsHF0Cw== +"@angular-devkit/build-webpack@0.1400.0-rc.3": + version "0.1400.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.3.tgz#b862775a13b12eb0334afaa837f63d22aceaf909" + integrity sha512-AF+7lg4evuFGMYaU5S26zQm3bqRIjF2cA1HIwNFjwSLVBT/NC7+vZKY8HeyIXkeWid2LTiwgb+qZ/Qm1ei+1lg== dependencies: - "@angular-devkit/architect" "0.1400.0-rc.2" + "@angular-devkit/architect" "0.1400.0-rc.3" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.2.tgz#d979860dddb21fd31191ef7a231887e2af34461d" - integrity sha512-8nZDWfhFnzSv2ps6YSA4MoKdHeMbTo7qiIzVD2oCpGoH5oaWEB4VJUWK5rZHSdK4ww0fpLc96tIDLcx28LNRfw== +"@angular-devkit/core@14.0.0-rc.3": + version "14.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.3.tgz#65e3083451f859032942c4e037daf67095319bf0" + integrity sha512-J+oWWvhJM1bOzsvyyIPxg56L0VEas/OwB9Sa8VdpZL873H03qnAgRdREOCPWhb/G6NBAG+UOFWPl62iMPIF+xw== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0-rc.2.tgz#54c06e4b10f392b36fffca7598261f66696cbee2" - integrity sha512-sNIZZm5agZx2V1NhWfOoVAWKkbzSyi93sIk+LadRPmb1sJrpteODmSZbmGtYs2ufx2/KyqwHdg5T7brZ7ezmMw== +"@angular/animations@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0.tgz#58ed4d4466a2c0c4aa6194906b6a574440f4fe65" + integrity sha512-HVcS4l0eStcA2RDDQcxqChFHVN3BfQdvx68HRTuVDYbUSS4xdL5Hsk8OMkczV1pFDn+URKH1A363bTy5juyDaQ== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0-rc.1.tgz#ba890761f3af2a7a7e0f513db5b9ec03eae4a158" - integrity sha512-5g+vVnhq8rxodmNfEBwFqa3aQyv2XrABjWY5JnYfRO40o1orfXCdBgiesp7/lB5a2EK40RSWG2KDLif89kbNVQ== +"@angular/cdk@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0.tgz#4e83adea1ddcb61773e70f9f46aaa655f00c9852" + integrity sha512-9RnDlvskjXt1il9uWUidfHE98J9eYaVn+MCqhg0VLH1uHFcpt/dzoJ1nv71mC0anZHrClax29YMiEBnPFZaeFQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0-rc.2.tgz#e5d9d4d3b686750221e53cc1d5983c4c0d1edcc0" - integrity sha512-o6E9K0GG4dhKoxV4KXGBFY+Tn8GrUYlh4lBHCZ8wRKdo102HddEabxeJyfBFQsyDCsLqXZoupYgRuaKtfeZGyg== +"@angular/common@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0.tgz#65245a5386819449a6ccc35cdb3f7ebd61a1d753" + integrity sha512-VYydSXelPlcAnWZs6SKkOxV+rNe8zOtHKLf9jBTYT5nP5P66+va4zITo1C9bs5tbK+mRssayf615+SIGEXyJFg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0-rc.2.tgz#148cc73ba11d3463ab01d5530016945addca33ac" - integrity sha512-2E4KLXW61SWaG49Mis3C3aeuVuKhn4g+J5G9+v/O3vOE6b3xzh42ar8jYwQ1aWdWLBOkSGblD0VffASIIWe4YQ== +"@angular/compiler-cli@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0.tgz#8562151e16d26f3a2143ff0be86074f133bedd98" + integrity sha512-5T9AjguK4NsCjk4mdrSLV7BrifijKb79wFyDOQX5+p7GVRag47U6E6qQAKhsqZxLy7grrBX4fb0PFARL2OrkLQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0-rc.2.tgz#2f81ee29ae21e9f9cc92eab70685a0ad7d56bd41" - integrity sha512-E/y9Iu5MHVwkupSo/3sK3IDL95IEidmoQgic0wFKB6QkT1QLF9C38LfaCx6AFJgxFJ188QPovyQf2tSPn1rA3Q== +"@angular/compiler@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0.tgz#71e47e1a9bc1c0d599fd3636061bcca16a4df5c5" + integrity sha512-yWpru4coLOE2Ivn+1ltXPsaxai5MOUABPmYZfm47HN7vfVsxcTC44QDxGY73M9e18sngTIFi6qgr8vci1AT9lg== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0-rc.2.tgz#6a09bfc7a4c842c11c6fb46493968740ae14ff70" - integrity sha512-hZsLg3IH7Cs/BNvE4IsBJKiabE1P6OWLGqNq6zboBwn7dTUal1wls1zXfyEYDoskdJ53tQFZvwil0HwqjD88TA== +"@angular/core@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0.tgz#74a3df2988f81eb7ca00b5961a3145dadfa05e92" + integrity sha512-Mj3r8iMlWfMbY+9DRUFZx1gKnA27Jwx3ff/VXeXBgfxaEKDYmlZSnliZSV6ssiHSUwn/U6yxDXFgcZL090zNBQ== dependencies: tslib "^2.3.0" @@ -175,12 +175,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0": - version "0.0.0-86c3cdc39e860ce19476c88ce489be6a3982fe3c" - uid "323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0" - resolved "https://github.com/angular/dev-infra-private-builds.git#323ae68aa9db2c550dd86cc2641ad87cf1a7d2f0" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#932b9d5f6227d1a2dfa2a416fa317c2e55584994": + version "0.0.0-d1a108d604fba8c761af9377545f90c0385f1f0a" + uid "932b9d5f6227d1a2dfa2a416fa317c2e55584994" + resolved "https://github.com/angular/dev-infra-private-builds.git#932b9d5f6227d1a2dfa2a416fa317c2e55584994" dependencies: - "@angular-devkit/build-angular" "14.0.0-rc.2" + "@angular-devkit/build-angular" "14.0.0-rc.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -190,7 +190,7 @@ "@bazel/runfiles" "5.5.0" "@bazel/terser" "5.5.0" "@bazel/typescript" "5.5.0" - "@microsoft/api-extractor" "7.24.1" + "@microsoft/api-extractor" "7.24.2" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -205,72 +205,72 @@ node-fetch "^2.6.1" prettier "2.6.2" protractor "^7.0.0" - selenium-webdriver "4.1.2" + selenium-webdriver "4.2.0" send "^0.18.0" tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" - typescript "~4.6.2" + typescript "~4.7.0" uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0-rc.2.tgz#95897c07086475f408be969ff9c3dfe5725924f1" - integrity sha512-rOfUdVp6CvA/De6hzcFUKnaHxjlDFPTI95IOmV/n4t7BNM8oSAj56TucmQ2z7FeNuJqD40Ic1KCKqnalf+Z3Ng== +"@angular/forms@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0.tgz#70201bb66f20580fd25b744d109c5d15f4afc8b7" + integrity sha512-r2FHcJve+/rXU4wdCA50nwySGKB5/bxqpULOGeWs4FIdKcUoTnzHtqMsd7sUa7wOA40O4fBHAxKPDGPJPl5CEA== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0-rc.2.tgz#5452eb1726bf33d82051a80d9acb2ee0a8b4400d" - integrity sha512-h+mGAKKC9v2Gv55VEMl8iHcWZkhBi+8cgDbE3fzO3BxbGMwRbbHY0wO/aT7R+nAu3pQboHcfPktgrwnjKLtMpA== +"@angular/localize@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0.tgz#e0db604639dce5edf1c1c95ef3eb31e462b51001" + integrity sha512-Aguw6uTGWx5ZzCLeDblwsNSuqD5apL3WWE7ZNl3xDcxgSZNH5KggaAgP8afEqO2f53Hy38TV/9TwDew1yM6p1g== dependencies: "@babel/core" "7.17.12" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.0-rc.1": - version "14.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0-rc.1.tgz#3ed643722d7ca6235241978890c1e12762e4e320" - integrity sha512-i8DJe0sORn38FaaG23Brd4ERnYdUlq/MsWhJlazr3G8zzJqSoWOdoNBKeofuMov4UjexSRwZo/eRCCgvE8wajg== +"@angular/material@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0.tgz#519d20bd22e14aa6a206b5086d38a9c9d36ef2ba" + integrity sha512-RNV1g7DbnlSI9rjsuqH+fO2e+IQCJEJmjBRGvx6dBYugiag4iR9ZnpHNued26UTJ+BPTemTA7a4cDzseKKB6NQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0-rc.2.tgz#aaa8c3cdf6f87fe6583771e48fd309c819584703" - integrity sha512-TInAkVHNQ8qbwBzh6iMaAf4hf2pgKNDAPc23kXfpj1IvnvA1Ur+l6Qh6IV65y4QP5dnGTn1gLg8bt9B8RIjPKw== +"@angular/platform-browser-dynamic@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0.tgz#2538558a3564fdad6b66fc252bef5e9976700d8a" + integrity sha512-gmLRgTNJi3qEEBfOJA8EcSX3qAmTQ7nBu+TQosiFIFaZG98oa7F5W/PXZx0zOC5ElsqPClvPdgtM6MC7cwSqXQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0-rc.2.tgz#f4e80f4dfcca4cd69b0b71a5a211d18b78501564" - integrity sha512-OsAh6laBufIrIgYHQIHodQOKLca61ZHoA8CFiN0FpPSuOWxOuJTFRF/Pf5/qucv+DEIc/FKwwS6uGaXeqauABA== +"@angular/platform-browser@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0.tgz#174c80c02c13a2e4bef22791e2d9d626d7f418d1" + integrity sha512-zijIhUxu3nJxoI3mTWxs1d7dh9ovldI09diumlm/rOhj/46j4SvGn8swJvWr0eo/QipkdP+i2Q1lAlpmRfI+tQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0-rc.2.tgz#3951082e9d2a04293f9b2b3c033256c5d5537941" - integrity sha512-aqc7WIBg6CnONgnTWVmdmm4CHEs8K34ueUWl+0Up7ym492Pz9ywNzGTXlcO4I0iMdxp9Itp6LjpBVQYmKoUpUA== +"@angular/platform-server@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0.tgz#28e5f28ba28c8a2e1184492c5d947b688bfb7ac6" + integrity sha512-kl2yexQ9kXVCpdn/IF5z0Ea8wWx2dNwbrXbnVvqWGNLtKwsp6p0B35FHgfMHMN818BCeMHn4am0i2ucNQH5O6g== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0-rc.2.tgz#3247e72acfd16797ae574c49dc21bf315e0d40bf" - integrity sha512-YbexPNVTzkCDIdsxv7NF3R0KH719Dc9BKwYrFs1/H/m715HhQgbsj9V1M0+pD9exP8Yn4OtCXbpJOyDeC03Vgw== +"@angular/router@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0.tgz#f9d8735a8899b73b61c64243458e824c8abccbb3" + integrity sha512-8ctwkPkwAbBgxu0O3OfoUYgn7GmOM877Wi/CST/AXXHXMs9v2O2MWAV63ITAjwVD1p6/V+IhUNkiypvQW+0Afw== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0-rc.2.tgz#8fe5d4df12b9a8039ec08048ecf2bbfa4534beef" - integrity sha512-3uJnKSUNga2vH8CVPmf5+QGAJGaX6Dwp38PO6KfChsuEulSdqOADzUxgNRj7WP5r2znm+zFsWLewdKqNtU2HZQ== +"@angular/service-worker@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0.tgz#fb89cdcc0e06db7d4a3b08d180d2d537dfe6602d" + integrity sha512-b2C/HPPpBQ/AIRnI8e17QMGsEBuqYS4MZLCxukWPjMOeYkoppGTbVnCqfqaJFS8Rdx9z8sDS0HLqhgi6rIyzlQ== dependencies: tslib "^2.3.0" @@ -1652,10 +1652,10 @@ "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.5" -"@microsoft/api-extractor@7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.24.1.tgz#cbbe32a5f4f32717b60f593cdc172b99e5c76fae" - integrity sha512-RjcKRvKRAtTK4z8UdC2qYsvgTYHEYvdsqF4QGoX4mNAVo7s6Jj4zcHtSrMEQMTUHujZbSd5+ihI5ktISp338mQ== +"@microsoft/api-extractor@7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.24.2.tgz#4abb24319fa77884dab6d807388056e9cd85488e" + integrity sha512-QWZh9aQZvBAdRVK+Go8NiW8YNMN//OGiNqgA3iZ2sEy8imUqkRBCybXgmw2HkEYyPnn55CFoMKvnAHvV9+4B/A== dependencies: "@microsoft/api-extractor-model" "7.17.3" "@microsoft/tsdoc" "0.14.1" @@ -1685,10 +1685,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-rc.2": - version "14.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.2.tgz#8ffbe4a0365e63db8c0cf54197314145a517b93c" - integrity sha512-8LapwOR7MAqRDj0CkPaksO40Qqxo/PTwp0UXTz59gxO+/SvHmfoGCijRHPeBXyV7Ct6fevTG0WwvQAovXNen1w== +"@ngtools/webpack@14.0.0-rc.3": + version "14.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.3.tgz#2ba0e2b3b5b75ef91e87fd3024840c3745ad44a0" + integrity sha512-1FnYsG44kjSTJmJNDD7UECUlTKnWox6eKDhescMDW3x0nz0Ijsqnj+VpVdtVwrzbSQZ41l1xFpQbbgU4nVCq9w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -9513,10 +9513,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz#d463b4335632d2ea41a9e988e435a55dc41f5314" - integrity sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw== +selenium-webdriver@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz#d3c9704735c6228e09580eb4613932b30bdb4d27" + integrity sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg== dependencies: jszip "^3.6.0" tmp "^0.2.1" @@ -10573,12 +10573,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.6.2, typescript@~4.7.2: +typescript@^4.6.2, typescript@~4.7.0, typescript@~4.7.2: version "4.7.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== -typescript@~4.6.2, typescript@~4.6.3: +typescript@~4.6.3: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== From 32855b9c9d0f616f2d0ddb4efa5eab4779c337c6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 6 Jun 2022 12:42:44 +0000 Subject: [PATCH 0484/1388] build: update angular to 1bb83af --- .github/workflows/dev-infra.yml | 4 ++-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- yarn.lock | 8 ++++---- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 0b96636c959d..db6a855da304 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@d1a108d604fba8c761af9377545f90c0385f1f0a + - uses: angular/dev-infra/github-actions/commit-message-based-labels@91ba217766e28a53c469d5ca43a76e37af64e3f1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@d1a108d604fba8c761af9377545f90c0385f1f0a + - uses: angular/dev-infra/github-actions/post-approval-changes@91ba217766e28a53c469d5ca43a76e37af64e3f1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 988f38239a8f..42ff418771b2 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@d1a108d604fba8c761af9377545f90c0385f1f0a + - uses: angular/dev-infra/github-actions/feature-request@91ba217766e28a53c469d5ca43a76e37af64e3f1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 965b62b11ffb..be696f198a2c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@d1a108d604fba8c761af9377545f90c0385f1f0a + - uses: angular/dev-infra/github-actions/lock-closed@91ba217766e28a53c469d5ca43a76e37af64e3f1 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 6e96737b8b5c..6c719f22f916 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.0", "@angular/compiler-cli": "14.0.0", "@angular/core": "14.0.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#932b9d5f6227d1a2dfa2a416fa317c2e55584994", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#e45a962f80dbcd36bcdfe82497d8b6ce3990506c", "@angular/forms": "14.0.0", "@angular/localize": "14.0.0", "@angular/material": "14.0.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d4568826b6a7..c1563bf0142e 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#f0a41737061c9446ceffb7bb802ba0b4dce3f720", - "@angular/cdk": "github:angular/cdk-builds#9c6801fe6fedbc614e2204895c8e648c82c879ca", + "@angular/cdk": "github:angular/cdk-builds#1bb83af7c1a242f86a0206623e75c75d1f196b78", "@angular/common": "github:angular/common-builds#ae2f0d8bdbd814da39916aa55eb976c9c6bc1ad0", "@angular/compiler": "github:angular/compiler-builds#fe501dd74ca2ccf39b13e1b90883d394ff9a0a1e", "@angular/compiler-cli": "github:angular/compiler-cli-builds#f850e5fcd7f1ac808f9b84320f85753b954d9915", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#3d031696578bef48813d4970f1546987d7c0ecc8", "@angular/language-service": "github:angular/language-service-builds#e5b3009b1a9e4542cc5ad02e1c3e4abb11404249", "@angular/localize": "github:angular/localize-builds#3329e70a8ef2e48b766c6cb1a4217e2b09c31591", - "@angular/material": "github:angular/material-builds#2acc7601a6e12b2c2ca4aac80cdc71c547649ac3", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#07fe11a2e92c3cedf47a43087c1e364562aff869", + "@angular/material": "github:angular/material-builds#88003a6cd58d3fedf928fe1754836f0c50b1fbb6", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c6e06a0db2f31df0304c47b2600c52195cc8e9ae", "@angular/platform-browser": "github:angular/platform-browser-builds#e41ae1370a28d7215ad1b5a5cf09182c6954d803", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d03433667ea7b98597a1c29996b5e7296726219a", "@angular/platform-server": "github:angular/platform-server-builds#969999988377e05e7fc763eff308a89d0c7b1f27", diff --git a/yarn.lock b/yarn.lock index a6415a3e3065..55bcd5ba961d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -175,10 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#932b9d5f6227d1a2dfa2a416fa317c2e55584994": - version "0.0.0-d1a108d604fba8c761af9377545f90c0385f1f0a" - uid "932b9d5f6227d1a2dfa2a416fa317c2e55584994" - resolved "https://github.com/angular/dev-infra-private-builds.git#932b9d5f6227d1a2dfa2a416fa317c2e55584994" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#e45a962f80dbcd36bcdfe82497d8b6ce3990506c": + version "0.0.0-91ba217766e28a53c469d5ca43a76e37af64e3f1" + uid e45a962f80dbcd36bcdfe82497d8b6ce3990506c + resolved "https://github.com/angular/dev-infra-private-builds.git#e45a962f80dbcd36bcdfe82497d8b6ce3990506c" dependencies: "@angular-devkit/build-angular" "14.0.0-rc.3" "@angular/benchpress" "0.3.0" From 59a1502272f5a13435d5a4b498e55a472f46d7dd Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 12 May 2022 12:46:54 -0700 Subject: [PATCH 0485/1388] build: fix typescript compilation errors --- .../legacy-cli/e2e/setup/010-local-publish.ts | 2 +- tests/legacy-cli/e2e/setup/100-global-cli.ts | 2 +- .../e2e/setup/300-log-environment.ts | 2 +- .../e2e/setup/500-create-project.ts | 4 +- .../build/build-app-shell-with-schematic.ts | 6 ++- .../e2e/tests/build/platform-server.ts | 4 +- .../legacy-cli/e2e/tests/build/prod-build.ts | 2 +- .../e2e/tests/commands/add/add-pwa.ts | 3 +- .../e2e/tests/i18n/ivy-localize-basehref.ts | 4 +- .../e2e/tests/i18n/ivy-localize-hashes.ts | 6 +-- tests/legacy-cli/e2e/tests/i18n/setup.ts | 6 +-- .../e2e/tests/misc/completion-prompt.ts | 2 +- tests/legacy-cli/e2e/tests/misc/e2e-host.ts | 2 +- .../legacy-cli/e2e/tests/misc/http-headers.ts | 2 +- tests/legacy-cli/e2e/tests/misc/npm-7.ts | 2 +- .../legacy-cli/e2e/tests/misc/public-host.ts | 4 +- .../tests/update/update-secure-registry.ts | 2 +- tests/legacy-cli/e2e/utils/env.ts | 4 +- tests/legacy-cli/e2e/utils/fs.ts | 2 +- tests/legacy-cli/e2e/utils/process.ts | 37 ++++++++++--------- tests/legacy-cli/e2e/utils/project.ts | 10 ++--- tests/legacy-cli/e2e_runner.ts | 4 +- 22 files changed, 57 insertions(+), 55 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index 41fd0df79e50..f8902b7d65c0 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -3,7 +3,7 @@ import { execWithEnv, extractNpmEnv } from '../utils/process'; import { isPrereleaseCli } from '../utils/project'; export default async function () { - const testRegistry = getGlobalVariable('package-registry'); + const testRegistry: string = getGlobalVariable('package-registry'); await execWithEnv( 'npm', [ diff --git a/tests/legacy-cli/e2e/setup/100-global-cli.ts b/tests/legacy-cli/e2e/setup/100-global-cli.ts index ce96a91f258e..9f8f1e5f2c5b 100644 --- a/tests/legacy-cli/e2e/setup/100-global-cli.ts +++ b/tests/legacy-cli/e2e/setup/100-global-cli.ts @@ -7,7 +7,7 @@ export default async function () { return; } - const testRegistry = getGlobalVariable('package-registry'); + const testRegistry: string = getGlobalVariable('package-registry'); // Install global Angular CLI. await silentNpm('install', '--global', '@angular/cli', `--registry=${testRegistry}`); diff --git a/tests/legacy-cli/e2e/setup/300-log-environment.ts b/tests/legacy-cli/e2e/setup/300-log-environment.ts index c2d0e6a8edf9..7428a763b9e9 100644 --- a/tests/legacy-cli/e2e/setup/300-log-environment.ts +++ b/tests/legacy-cli/e2e/setup/300-log-environment.ts @@ -10,7 +10,7 @@ export default async function () { return; } - console.log(` ${envName}: ${process.env[envName].replace(/[\n\r]+/g, '\n ')}`); + console.log(` ${envName}: ${process.env[envName]!.replace(/[\n\r]+/g, '\n ')}`); }); await node('--version'); diff --git a/tests/legacy-cli/e2e/setup/500-create-project.ts b/tests/legacy-cli/e2e/setup/500-create-project.ts index 5b0319cf2941..cfe623ce50f4 100644 --- a/tests/legacy-cli/e2e/setup/500-create-project.ts +++ b/tests/legacy-cli/e2e/setup/500-create-project.ts @@ -17,12 +17,10 @@ export default async function () { process.chdir(argv.reuse); await gitClean(); } else { - const extraArgs = []; - // Ensure local test registry is used when outside a project await setNPMConfigRegistry(true); - await ng('new', 'test-project', '--skip-install', ...extraArgs); + await ng('new', 'test-project', '--skip-install'); await expectFileToExist(join(process.cwd(), 'test-project')); process.chdir('./test-project'); diff --git a/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts b/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts index 00f5cedf71c2..8a51686f72eb 100644 --- a/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts +++ b/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts @@ -12,11 +12,13 @@ export default async function () { const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; if (isSnapshotBuild) { - const packagesToInstall = []; + const packagesToInstall: string[] = []; await updateJsonFile('package.json', (packageJson) => { const dependencies = packageJson['dependencies']; // Iterate over all of the packages to update them to the snapshot version. - for (const [name, version] of Object.entries(snapshots.dependencies)) { + for (const [name, version] of Object.entries( + snapshots.dependencies as { [p: string]: string }, + )) { if (name in dependencies && dependencies[name] !== version) { packagesToInstall.push(version); } diff --git a/tests/legacy-cli/e2e/tests/build/platform-server.ts b/tests/legacy-cli/e2e/tests/build/platform-server.ts index d5938c2efcc1..8f5f1627c061 100644 --- a/tests/legacy-cli/e2e/tests/build/platform-server.ts +++ b/tests/legacy-cli/e2e/tests/build/platform-server.ts @@ -12,11 +12,11 @@ export default async function () { const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; if (isSnapshotBuild) { - const packagesToInstall = []; + const packagesToInstall: string[] = []; await updateJsonFile('package.json', (packageJson) => { const dependencies = packageJson['dependencies']; // Iterate over all of the packages to update them to the snapshot version. - for (const [name, version] of Object.entries(snapshots.dependencies)) { + for (const [name, version] of Object.entries(snapshots.dependencies)) { if (name in dependencies && dependencies[name] !== version) { packagesToInstall.push(version); } diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index 12131b113275..a7da45344d51 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -39,7 +39,7 @@ export default async function () { } const indexContent = await readFile('dist/test-project/index.html'); - const mainPath = indexContent.match(/src="(main\.[0-9a-zA-Z]{0,32}\.js)"/)[1]; + const mainPath = indexContent.match(/src="(main\.[0-9a-zA-Z]{0,32}\.js)"/)![1]; // Content checks await expectFileToMatch(`dist/test-project/${mainPath}`, bootstrapRegExp); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts b/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts index 48dd9f29bc1c..d2115e2cfef2 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-pwa.ts @@ -53,7 +53,8 @@ export default async function () { // It should correctly generate assetGroups and include at least one URL in each group. const ngswJson = JSON.parse(await readFile(ngswPath)); - const assetGroups = ngswJson.assetGroups.map(({ name, urls }) => ({ + // @ts-ignore + const assetGroups: any[] = ngswJson.assetGroups.map(({ name, urls }) => ({ name, urlCount: urls.length, })); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts index fb74452a5ae4..b55cffc22f8d 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts @@ -11,7 +11,7 @@ import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { externalServer, langTranslations, setupI18nConfig } from './setup'; -const baseHrefs = { +const baseHrefs: { [l: string]: string } = { 'en-US': '/en/', fr: '/fr-FR/', de: '', @@ -59,7 +59,7 @@ export default async function () { await ng('e2e', `--configuration=${lang}`, '--port=0'); // Execute Application E2E tests for a production build without dev server - const server = externalServer(outputPath, baseHrefs[lang] || '/'); + const server = externalServer(outputPath, (baseHrefs[lang] as string) || '/'); try { await ng( 'e2e', diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts index e370a1d209a4..166ca401b6b3 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts @@ -27,7 +27,7 @@ export default async function () { continue; } - hashes.set(`${lang}/${match.groups.name}`, match.groups.hash); + hashes.set(`${lang}/${match!.groups!.name}`, match!.groups!.hash); } } @@ -48,12 +48,12 @@ export default async function () { continue; } - const id = `${lang}/${match.groups.name}`; + const id = `${lang}/${match!.groups!.name}`; const hash = hashes.get(id); if (!hash) { throw new Error('Unexpected output entry: ' + id); } - if (hash === match.groups.hash) { + if (hash === match!.groups!.hash) { throw new Error('Hash value did not change for entry: ' + id); } diff --git a/tests/legacy-cli/e2e/tests/i18n/setup.ts b/tests/legacy-cli/e2e/tests/i18n/setup.ts index bca561214027..d7954d6e5d59 100644 --- a/tests/legacy-cli/e2e/tests/i18n/setup.ts +++ b/tests/legacy-cli/e2e/tests/i18n/setup.ts @@ -98,12 +98,12 @@ export const formats = { 'json': { ext: 'json', sourceCheck: '"locale": "en-US"', - replacements: [], + replacements: [] as RegExp[][], }, 'arb': { ext: 'arb', sourceCheck: '"@@locale": "en-US"', - replacements: [], + replacements: [] as RegExp[][], }, }; @@ -248,7 +248,7 @@ export async function setupI18nConfig(format: keyof typeof formats = 'xlf') { for (const { lang, translationReplacements } of langTranslations) { if (lang != sourceLocale) { await copyFile(translationFile, `src/locale/messages.${lang}.${formats[format].ext}`); - for (const replacements of translationReplacements) { + for (const replacements of translationReplacements!) { await replaceInFile( `src/locale/messages.${lang}.${formats[format].ext}`, new RegExp(replacements[0], 'g'), diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts index 983fc55f87e4..e4079c9ee7c3 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts @@ -408,7 +408,7 @@ source <(ng completion script) const localCliDir = path.join(projectDir, 'node_modules', '.bin'); const localCliBinary = path.join(localCliDir, 'ng'); - const pathDirs = process.env['PATH'].split(':'); + const pathDirs = process.env['PATH']!.split(':'); const pathEnvVar = [...pathDirs, localCliDir].join(':'); const { stdout } = await execWithEnv(localCliBinary, ['version'], { ...DEFAULT_ENV, diff --git a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts index 3ea2d6f72a31..6f5ba1e41332 100644 --- a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts @@ -3,7 +3,7 @@ import { killAllProcesses, ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; export default async function () { - const interfaces = [].concat.apply([], Object.values(os.networkInterfaces())); + const interfaces = Object.values(os.networkInterfaces()).flat() as os.NetworkInterfaceInfo[]; let host = ''; for (const { family, address, internal } of interfaces) { if (family === 'IPv4' && !internal) { diff --git a/tests/legacy-cli/e2e/tests/misc/http-headers.ts b/tests/legacy-cli/e2e/tests/misc/http-headers.ts index 23ebaaa2b5a0..8640d90dd781 100644 --- a/tests/legacy-cli/e2e/tests/misc/http-headers.ts +++ b/tests/legacy-cli/e2e/tests/misc/http-headers.ts @@ -24,7 +24,7 @@ export default async function () { }; }); - let errorMessage = null; + let errorMessage: string | null = null; try { await ng('e2e'); } catch (error) { diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 10356f173ce2..31cf1a3ad668 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -39,7 +39,7 @@ export default async function () { const currentDirectory = process.cwd(); - const extraArgs = []; + const extraArgs: string[] = []; if (isPrereleaseCli()) { extraArgs.push('--next'); } diff --git a/tests/legacy-cli/e2e/tests/misc/public-host.ts b/tests/legacy-cli/e2e/tests/misc/public-host.ts index cdebc93e4070..bf1e74448694 100644 --- a/tests/legacy-cli/e2e/tests/misc/public-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/public-host.ts @@ -8,8 +8,8 @@ export default function () { const firstLocalIp = Object.values(os.networkInterfaces()) .flat() - .filter((ni) => ni.family === 'IPv4' && !ni.internal) - .map((ni) => ni.address) + .filter((ni) => ni?.family === 'IPv4' && !ni?.internal) + .map((ni) => ni!.address) .shift(); const publicHost = `${firstLocalIp}:4200`; const localAddress = `http://${publicHost}`; diff --git a/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts b/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts index f6f7621ffc9a..18ab56859984 100644 --- a/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts +++ b/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts @@ -8,7 +8,7 @@ export default async function () { delete process.env['NPM_CONFIG_REGISTRY']; const worksMessage = 'We analyzed your package.json'; - const extraArgs = []; + const extraArgs: string[] = []; if (isPrereleaseCli()) { extraArgs.push('--next'); } diff --git a/tests/legacy-cli/e2e/utils/env.ts b/tests/legacy-cli/e2e/utils/env.ts index 906f3de451b6..6202e1bb597b 100644 --- a/tests/legacy-cli/e2e/utils/env.ts +++ b/tests/legacy-cli/e2e/utils/env.ts @@ -4,9 +4,9 @@ export function setGlobalVariable(name: string, value: any) { global[name] = value; } -export function getGlobalVariable(name: string): any { +export function getGlobalVariable(name: string): T { if (!(name in global)) { throw new Error(`Trying to access variable "${name}" but it's not defined.`); } - return global[name]; + return global[name] as T; } diff --git a/tests/legacy-cli/e2e/utils/fs.ts b/tests/legacy-cli/e2e/utils/fs.ts index 69ddf92d944c..fd419b45683e 100644 --- a/tests/legacy-cli/e2e/utils/fs.ts +++ b/tests/legacy-cli/e2e/utils/fs.ts @@ -29,7 +29,7 @@ export function symlinkFile(from: string, to: string, type?: string): Promise { +export function createDir(path: string): Promise { return fs.mkdir(path, { recursive: true }); } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index f1f4608f591e..4960cee26bf6 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -10,7 +10,7 @@ import treeKill from 'tree-kill'; interface ExecOptions { silent?: boolean; waitForMatch?: RegExp; - env?: { [varname: string]: string }; + env?: NodeJS.ProcessEnv; stdin?: string; cwd?: string; } @@ -61,7 +61,8 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { + // @ts-ignore + childProcess.stdout!.on('data', (data: Buffer) => { stdout += data.toString('utf-8'); if (options.silent) { return; @@ -72,7 +73,8 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise line !== '') .forEach((line) => console.log(' ' + line)); }); - childProcess.stderr.on('data', (data: Buffer) => { + // @ts-ignore + childProcess.stderr!.on('data', (data: Buffer) => { stderr += data.toString('utf-8'); if (options.silent) { return; @@ -118,13 +120,15 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { + // @ts-ignore + childProcess.stdout!.on('data', (data: Buffer) => { if (data.toString().match(match)) { resolve({ stdout, stderr }); matched = true; } }); - childProcess.stderr.on('data', (data: Buffer) => { + // @ts-ignore + childProcess.stderr!.on('data', (data: Buffer) => { if (data.toString().match(match)) { resolve({ stdout, stderr }); matched = true; @@ -134,8 +138,8 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise NPM_CONFIG_RE.test(v)) - .reduce( + .reduce( (vars, n) => { vars[n] = process.env[n]; return vars; @@ -171,13 +175,15 @@ export function waitForAnyProcessOutputToMatch( new Promise((resolve) => { let stdout = ''; let stderr = ''; - childProcess.stdout.on('data', (data: Buffer) => { + // @ts-ignore + childProcess.stdout!.on('data', (data: Buffer) => { stdout += data.toString(); if (data.toString().match(match)) { resolve({ stdout, stderr }); } }); - childProcess.stderr.on('data', (data: Buffer) => { + // @ts-ignore + childProcess.stderr!.on('data', (data: Buffer) => { stderr += data.toString(); if (data.toString().match(match)) { resolve({ stdout, stderr }); @@ -216,19 +222,14 @@ export function silentExec(cmd: string, ...args: string[]) { return _exec({ silent: true }, cmd, args); } -export function execWithEnv( - cmd: string, - args: string[], - env: { [varname: string]: string }, - stdin?: string, -) { +export function execWithEnv(cmd: string, args: string[], env: NodeJS.ProcessEnv, stdin?: string) { return _exec({ env, stdin }, cmd, args); } export async function execAndCaptureError( cmd: string, args: string[], - env?: { [varname: string]: string }, + env?: NodeJS.ProcessEnv, stdin?: string, ): Promise { try { @@ -243,7 +244,7 @@ export function execAndWaitForOutputToMatch( cmd: string, args: string[], match: RegExp, - env?: { [varName: string]: string }, + env?: NodeJS.ProcessEnv, ) { if (cmd === 'ng' && args[0] === 'serve') { // Accept matches up to 20 times after the initial match. diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index dc721c688efe..5843454e2254 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -1,6 +1,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { prerelease, SemVer } from 'semver'; +import yargsParser from 'yargs-parser'; import { packages } from '../../../../lib/packages'; import { getGlobalVariable } from './env'; import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; @@ -25,9 +26,8 @@ export function updateTsConfig(fn: (json: any) => any | void) { export function ngServe(...args: string[]) { return execAndWaitForOutputToMatch('ng', ['serve', ...args], / Compiled successfully./); } - -export async function prepareProjectForE2e(name) { - const argv: string[] = getGlobalVariable('argv'); +export async function prepareProjectForE2e(name: string) { + const argv: yargsParser.Arguments = getGlobalVariable('argv'); await git('config', 'user.email', 'angular-core+e2e@google.com'); await git('config', 'user.name', 'Angular CLI E2e'); @@ -88,7 +88,7 @@ export function useSha() { return updateJsonFile('package.json', (json) => { // Install over the project with snapshot builds. function replaceDependencies(key: string) { - const missingSnapshots = []; + const missingSnapshots: string[] = []; Object.keys(json[key] || {}) .filter((name) => name.match(/^@angular\//)) .forEach((name) => { @@ -229,5 +229,5 @@ export async function useCIChrome(projectDir: string = ''): Promise { export const NgCLIVersion = new SemVer(packages['@angular/cli'].version); export function isPrereleaseCli(): boolean { - return prerelease(NgCLIVersion)?.length > 0; + return (prerelease(NgCLIVersion)?.length ?? 0) > 0; } diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 43bb286b0362..4d15654b45c3 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -70,7 +70,7 @@ function lastLogger() { } const testGlob = argv.glob || 'tests/**/*.ts'; -let currentFileName = null; +let currentFileName = ''; const e2eRoot = path.join(__dirname, 'e2e'); const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); @@ -157,7 +157,7 @@ Promise.all([findFreePort(), findFreePort()]).then(async ([httpPort, httpsPort]) }; let clean = true; - let previousDir = null; + let previousDir: string | null = null; return Promise.resolve() .then(() => printHeader(currentFileName, testIndex)) From 9efa38106d539cc4fa3737f22750d14f6170b67f Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 18 May 2022 11:12:08 -0700 Subject: [PATCH 0486/1388] build: add legaci-cli e2e bazel build --- .circleci/config.yml | 12 ++++++++++ lib/BUILD.bazel | 12 ++++++++++ tests/legacy-cli/BUILD.bazel | 25 ++++++++++++++++++++ tests/legacy-cli/e2e/assets/BUILD.bazel | 11 +++++++++ tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel | 8 +++++++ tests/legacy-cli/e2e/setup/BUILD.bazel | 11 +++++++++ tests/legacy-cli/e2e/tests/BUILD.bazel | 20 ++++++++++++++++ tests/legacy-cli/e2e/utils/BUILD.bazel | 25 ++++++++++++++++++++ tools/defaults.bzl | 4 +++- 9 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 lib/BUILD.bazel create mode 100644 tests/legacy-cli/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/assets/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/setup/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/tests/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/utils/BUILD.bazel diff --git a/.circleci/config.yml b/.circleci/config.yml index 62e0e1fda433..b8b7eaab2e9a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -254,6 +254,12 @@ jobs: - custom_attach_workspace - run: yarn build + build-bazel-e2e: + executor: action-executor + steps: + - custom_attach_workspace + - run: yarn bazel build //tests/legacy-cli/... + test: executor: test-executor resource_class: xlarge @@ -379,6 +385,12 @@ workflows: requires: - build + # Compile the e2e tests with bazel to ensure the non-runtime typescript + # compilation completes succesfully. + - build-bazel-e2e: + requires: + - build + # Windows jobs - e2e-cli-win: requires: diff --git a/lib/BUILD.bazel b/lib/BUILD.bazel new file mode 100644 index 000000000000..6f80a75580f2 --- /dev/null +++ b/lib/BUILD.bazel @@ -0,0 +1,12 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "lib", + srcs = ["packages.ts"], + visibility = ["//visibility:public"], + deps = [ + "//packages/angular_devkit/core", + "@npm//@types/node", + "@npm//typescript", + ], +) diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel new file mode 100644 index 000000000000..a2c76fbbe307 --- /dev/null +++ b/tests/legacy-cli/BUILD.bazel @@ -0,0 +1,25 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "runner", + testonly = True, + srcs = glob(["**/*.ts"]), + data = [ + "verdaccio.yaml", + "verdaccio_auth.yaml", + ], + deps = [ + "//packages/angular_devkit/core", + "//packages/angular_devkit/core/node", + "//tests/legacy-cli/e2e/assets", + "//tests/legacy-cli/e2e/utils", + "@npm//@types/glob", + "@npm//@types/yargs-parser", + "@npm//ansi-colors", + "@npm//yargs-parser", + + # Loaded dynamically at runtime, not compiletime deps + "//tests/legacy-cli/e2e/setup", + "//tests/legacy-cli/e2e/tests", + ], +) diff --git a/tests/legacy-cli/e2e/assets/BUILD.bazel b/tests/legacy-cli/e2e/assets/BUILD.bazel new file mode 100644 index 000000000000..c5067a937896 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/BUILD.bazel @@ -0,0 +1,11 @@ +load("//tools:defaults.bzl", "js_library") + +js_library( + name = "assets", + srcs = glob(["**"]), + visibility = ["//visibility:public"], + deps = [ + "@npm//jasmine-spec-reporter", + "@npm//ts-node", + ], +) diff --git a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel new file mode 100644 index 000000000000..5a929766ca6f --- /dev/null +++ b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel @@ -0,0 +1,8 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "ng-snapshot", + srcs = [], + data = ["package.json"], + visibility = ["//visibility:public"], +) diff --git a/tests/legacy-cli/e2e/setup/BUILD.bazel b/tests/legacy-cli/e2e/setup/BUILD.bazel new file mode 100644 index 000000000000..ed2b51101e41 --- /dev/null +++ b/tests/legacy-cli/e2e/setup/BUILD.bazel @@ -0,0 +1,11 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "setup", + testonly = True, + srcs = glob(["**/*.ts"]), + visibility = ["//visibility:public"], + deps = [ + "//tests/legacy-cli/e2e/utils", + ], +) diff --git a/tests/legacy-cli/e2e/tests/BUILD.bazel b/tests/legacy-cli/e2e/tests/BUILD.bazel new file mode 100644 index 000000000000..4f01d7fc3887 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/BUILD.bazel @@ -0,0 +1,20 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "tests", + testonly = True, + srcs = glob(["**/*.ts"]), + visibility = ["//visibility:public"], + deps = [ + "//tests/legacy-cli/e2e/ng-snapshot", + "//tests/legacy-cli/e2e/utils", + "@npm//@types/express", + "@npm//@types/glob", + "@npm//@types/node-fetch", + "@npm//@types/semver", + "@npm//express", + "@npm//glob", + "@npm//node-fetch", + "@npm//semver", + ], +) diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel new file mode 100644 index 000000000000..ef84018e745a --- /dev/null +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -0,0 +1,25 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "utils", + testonly = True, + srcs = glob(["**/*.ts"]), + visibility = ["//visibility:public"], + deps = [ + "//lib", + "//tests/legacy-cli/e2e/ng-snapshot", + "@npm//@types/glob", + "@npm//@types/node-fetch", + "@npm//@types/semver", + "@npm//@types/yargs-parser", + "@npm//ansi-colors", + "@npm//glob", + "@npm//protractor", + "@npm//puppeteer", + "@npm//rxjs", + "@npm//semver", + "@npm//tree-kill", + "@npm//verdaccio", + "@npm//verdaccio-auth-memory", + ], +) diff --git a/tools/defaults.bzl b/tools/defaults.bzl index edee9bc5c1e1..8f0e7867f333 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -1,7 +1,7 @@ """Re-export of some bazel rules with repository-wide defaults.""" load("@npm//@bazel/concatjs/internal:build_defs.bzl", _ts_library = "ts_library_macro") -load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _pkg_npm = "pkg_npm") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _js_library = "js_library", _pkg_npm = "pkg_npm") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@npm//@angular/dev-infra-private/bazel:extract_js_module_output.bzl", "extract_js_module_output") load("@aspect_bazel_lib//lib:utils.bzl", "to_label") @@ -50,6 +50,8 @@ def ts_library( **kwargs ) +js_library = _js_library + def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): """Override of pkg_npm to produce package outputs and version substitutions conventional to the angular-cli project. From f6f37821c892fbe476e0879877415dbadef5e359 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 3 Jun 2022 18:33:29 -0400 Subject: [PATCH 0487/1388] fix(@angular/cli): improve resilience of logging during process exit In certain situations the existing console logger created via `@angular-devkit/core` `createConsoleLogger` could try to write to a closed stdout pipe stream. This would result in an error during execution. For cases such as the completion script command, this would also prevent the command from functioning. To mitigate these cases, `createConsoleLogger` is no longer used and instead a logger instance is directly created within the CLI that uses `Console.log` and `Console.error` to write output. Exiting the CLI also now waits for messages to be logged before proceeding with the exit. --- packages/angular/cli/lib/cli/index.ts | 49 +++++++++++++++---- .../e2e/tests/misc/completion-script.ts | 17 +++++-- 2 files changed, 52 insertions(+), 14 deletions(-) diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index 2d774f5fdb6d..13c3339cec3e 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { createConsoleLogger } from '@angular-devkit/core/node'; +import { logging } from '@angular-devkit/core'; import { format } from 'util'; import { CommandModuleError } from '../../src/command-builder/command-module'; import { runCommand } from '../../src/command-builder/command-runner'; @@ -16,26 +16,54 @@ import { writeErrorToLogFile } from '../../src/utilities/log-file'; export { VERSION } from '../../src/utilities/version'; +const MIN_NODEJS_VERISON = [14, 15] as const; + /* eslint-disable no-console */ export default async function (options: { cliArgs: string[] }) { // This node version check ensures that the requirements of the project instance of the CLI are met const [major, minor] = process.versions.node.split('.').map((part) => Number(part)); - if (major < 14 || (major === 14 && minor < 15)) { + if ( + major < MIN_NODEJS_VERISON[0] || + (major === MIN_NODEJS_VERISON[0] && minor < MIN_NODEJS_VERISON[1]) + ) { process.stderr.write( `Node.js version ${process.version} detected.\n` + - 'The Angular CLI requires a minimum v14.15.\n\n' + + `The Angular CLI requires a minimum of v${MIN_NODEJS_VERISON[0]}.${MIN_NODEJS_VERISON[1]}.\n\n` + 'Please update your Node.js version or visit https://nodejs.org/ for additional instructions.\n', ); return 3; } - const logger = createConsoleLogger(ngDebug, process.stdout, process.stderr, { - info: (s) => (colors.enabled ? s : removeColor(s)), - debug: (s) => (colors.enabled ? s : removeColor(s)), - warn: (s) => (colors.enabled ? colors.bold.yellow(s) : removeColor(s)), - error: (s) => (colors.enabled ? colors.bold.red(s) : removeColor(s)), - fatal: (s) => (colors.enabled ? colors.bold.red(s) : removeColor(s)), + const colorLevels: Record string> = { + info: (s) => s, + debug: (s) => s, + warn: (s) => colors.bold.yellow(s), + error: (s) => colors.bold.red(s), + fatal: (s) => colors.bold.red(s), + }; + const logger = new logging.IndentLogger('cli-main-logger'); + const logInfo = console.log; + const logError = console.error; + + const loggerFinished = logger.forEach((entry) => { + if (!ngDebug && entry.level === 'debug') { + return; + } + + const color = colors.enabled ? colorLevels[entry.level] : removeColor; + const message = color(entry.message); + + switch (entry.level) { + case 'warn': + case 'fatal': + case 'error': + logError(message); + break; + default: + logInfo(message); + break; + } }); // Redirect console to logger @@ -83,5 +111,8 @@ export default async function (options: { cliArgs: string[] }) { } return 1; + } finally { + logger.complete(); + await loggerFinished; } } diff --git a/tests/legacy-cli/e2e/tests/misc/completion-script.ts b/tests/legacy-cli/e2e/tests/misc/completion-script.ts index 0a7cb1daffb5..c0c3aadfda5d 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-script.ts +++ b/tests/legacy-cli/e2e/tests/misc/completion-script.ts @@ -1,4 +1,4 @@ -import { execAndWaitForOutputToMatch } from '../../utils/process'; +import { exec, execAndWaitForOutputToMatch } from '../../utils/process'; export default async function () { // ng build @@ -54,10 +54,17 @@ export default async function () { ['--get-yargs-completions', 'ng', 'run', 'test-project:'], /test-project\\:test/, ); - await execAndWaitForOutputToMatch( + + const { stdout: noServeStdout } = await exec( 'ng', - ['--get-yargs-completions', 'ng', 'run', 'test-project:build'], - // does not include 'test-project:serve' - /^((?!:serve).)*$/, + '--get-yargs-completions', + 'ng', + 'run', + 'test-project:build', ); + if (noServeStdout.includes(':serve')) { + throw new Error( + `':serve' should not have been listed as a completion option.\nSTDOUT:\n${noServeStdout}`, + ); + } } From c74bb5652cf69a7f8048b0b97fd4cef9af759800 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 27 May 2022 14:27:09 -0700 Subject: [PATCH 0488/1388] test: extract test runner method --- tests/legacy-cli/e2e_runner.ts | 220 ++++++++++++++++----------------- 1 file changed, 106 insertions(+), 114 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 4d15654b45c3..8bfaf3d5c137 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -70,7 +70,6 @@ function lastLogger() { } const testGlob = argv.glob || 'tests/**/*.ts'; -let currentFileName = ''; const e2eRoot = path.join(__dirname, 'e2e'); const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); @@ -122,124 +121,117 @@ setGlobalVariable('argv', argv); setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -Promise.all([findFreePort(), findFreePort()]).then(async ([httpPort, httpsPort]) => { - setGlobalVariable('package-registry', 'http://localhost:' + httpPort); - setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); +Promise.all([findFreePort(), findFreePort()]) + .then(async ([httpPort, httpsPort]) => { + setGlobalVariable('package-registry', 'http://localhost:' + httpPort); + setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); - const registryProcess = await createNpmRegistry(httpPort, httpPort); - const secureRegistryProcess = await createNpmRegistry(httpPort, httpsPort, true); + let lastTestRun: string | null = null; - return ( - testsToRun - .reduce((previous, relativeName, testIndex) => { - // Make sure this is a windows compatible path. - let absoluteName = path.join(e2eRoot, relativeName); - if (/^win/.test(process.platform)) { - absoluteName = absoluteName.replace(/\\/g, path.posix.sep); + // NPM registries for the lifetime of the test execution + const registryProcess = await createNpmRegistry(httpPort, httpPort); + const secureRegistryProcess = await createNpmRegistry(httpPort, httpsPort, true); + + try { + for (const [testIndex, test] of testsToRun.entries()) { + await runTest((lastTestRun = test), testIndex); + } + + console.log(colors.green('Done.')); + } catch (err) { + console.log('\n'); + console.error(colors.red(`Test "${lastTestRun}" failed...`)); + console.error(colors.red(err.message)); + console.error(colors.red(err.stack)); + + if (argv.debug) { + console.log(`Current Directory: ${process.cwd()}`); + console.log('Will loop forever while you debug... CTRL-C to quit.'); + + /* eslint-disable no-constant-condition */ + while (1) { + // That's right! } + } - return previous.then(() => { - currentFileName = relativeName.replace(/\.ts$/, ''); - const start = +new Date(); - - const module = require(absoluteName); - const originalEnvVariables = { - ...process.env, - }; - - const fn: (skipClean?: () => void) => Promise | void = - typeof module == 'function' - ? module - : typeof module.default == 'function' - ? module.default - : () => { - throw new Error('Invalid test module.'); - }; - - let clean = true; - let previousDir: string | null = null; - - return Promise.resolve() - .then(() => printHeader(currentFileName, testIndex)) - .then(() => (previousDir = process.cwd())) - .then(() => logStack.push(lastLogger().createChild(currentFileName))) - .then(() => fn(() => (clean = false))) - .then( - () => logStack.pop(), - (err) => { - logStack.pop(); - throw err; - }, - ) - .then(() => console.log('----')) - .then(() => { - // If we're not in a setup, change the directory back to where it was before the test. - // This allows tests to chdir without worrying about keeping the original directory. - if (!allSetups.includes(relativeName) && previousDir) { - process.chdir(previousDir); - - // Restore env variables before each test. - console.log(' Restoring original environment variables...'); - process.env = originalEnvVariables; - } - }) - .then(() => { - // Only clean after a real test, not a setup step. Also skip cleaning if the test - // requested an exception. - if (!allSetups.includes(relativeName) && clean) { - logStack.push(new logging.NullLogger()); - return gitClean().then( - () => logStack.pop(), - (err) => { - logStack.pop(); - throw err; - }, - ); - } - }) - .then( - () => printFooter(currentFileName, start), - (err) => { - printFooter(currentFileName, start); - console.error(err); - throw err; - }, - ); - }); - }, Promise.resolve()) - // Output success vs failure information. - .then( - () => console.log(colors.green('Done.')), - (err) => { - console.log('\n'); - console.error(colors.red(`Test "${currentFileName}" failed...`)); - console.error(colors.red(err.message)); - console.error(colors.red(err.stack)); - - if (argv.debug) { - console.log(`Current Directory: ${process.cwd()}`); - console.log('Will loop forever while you debug... CTRL-C to quit.'); - - /* eslint-disable no-constant-condition */ - while (1) { - // That's right! - } - } - - return Promise.reject(err); - }, - ) - // Kill the registry processes before exiting. - .finally(() => { - registryProcess.kill(); - secureRegistryProcess.kill(); - }) - .then( - () => process.exit(0), - () => process.exit(1), - ) + throw err; + } finally { + registryProcess.kill(); + secureRegistryProcess.kill(); + } + }) + .then( + () => process.exit(0), + () => process.exit(1), ); -}); + +async function runTest(relativeName: string, testIndex: number) { + // Make sure this is a windows compatible path. + let absoluteName = path.join(e2eRoot, relativeName); + if (/^win/.test(process.platform)) { + absoluteName = absoluteName.replace(/\\/g, path.posix.sep); + } + + const currentFileName = relativeName.replace(/\.ts$/, ''); + const start = +new Date(); + + const module = require(absoluteName); + const originalEnvVariables = { + ...process.env, + }; + + const fn: (skipClean?: () => void) => Promise | void = + typeof module == 'function' + ? module + : typeof module.default == 'function' + ? module.default + : () => { + throw new Error('Invalid test module.'); + }; + + printHeader(currentFileName, testIndex); + + let clean = true; + let previousDir = process.cwd(); + try { + // Run the test function with the current file on the logStack. + logStack.push(lastLogger().createChild(currentFileName)); + try { + await fn(() => (clean = false)); + } finally { + logStack.pop(); + } + + console.log('----'); + + // If we're not in a setup, change the directory back to where it was before the test. + // This allows tests to chdir without worrying about keeping the original directory. + if (!allSetups.includes(relativeName) && previousDir) { + process.chdir(previousDir); + + // Restore env variables before each test. + console.log(' Restoring original environment variables...'); + process.env = originalEnvVariables; + } + + // Only clean after a real test, not a setup step. Also skip cleaning if the test + // requested an exception. + if (!allSetups.includes(relativeName) && clean) { + logStack.push(new logging.NullLogger()); + try { + await gitClean(); + } finally { + logStack.pop(); + } + } + + printFooter(currentFileName, start); + } catch (err) { + printFooter(currentFileName, start); + console.error(err); + throw err; + } +} function printHeader(testName: string, testIndex: number) { const text = `${testIndex + 1} of ${testsToRun.length}`; From a6faf972ec08a96af0979ed43453b350b26fea66 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 27 May 2022 15:38:34 -0700 Subject: [PATCH 0489/1388] test: separate test vs test setup execution --- tests/legacy-cli/e2e_runner.ts | 129 +++++++++++++++++---------------- 1 file changed, 67 insertions(+), 62 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 8bfaf3d5c137..cabfcec56468 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -98,10 +98,9 @@ const tests = allTests.filter((name) => { }); // Remove tests that are not part of this shard. -const shardedTests = tests.filter((name, i) => shardId === null || i % nbShards == shardId); -const testsToRun = allSetups.concat(shardedTests); +const testsToRun = tests.filter((name, i) => shardId === null || i % nbShards == shardId); -if (shardedTests.length === 0) { +if (testsToRun.length === 0) { console.log(`No tests would be ran, aborting.`); process.exit(1); } @@ -114,28 +113,27 @@ console.log(testsToRun.join('\n')); if (testsToRun.length == allTests.length) { console.log(`Running ${testsToRun.length} tests`); } else { - console.log(`Running ${testsToRun.length} tests (${allTests.length + allSetups.length} total)`); + console.log(`Running ${testsToRun.length} tests (${allTests.length} total)`); } setGlobalVariable('argv', argv); setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); +let lastTestRun: string | null = null; + Promise.all([findFreePort(), findFreePort()]) .then(async ([httpPort, httpsPort]) => { setGlobalVariable('package-registry', 'http://localhost:' + httpPort); setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); - let lastTestRun: string | null = null; - // NPM registries for the lifetime of the test execution const registryProcess = await createNpmRegistry(httpPort, httpPort); const secureRegistryProcess = await createNpmRegistry(httpPort, httpsPort, true); try { - for (const [testIndex, test] of testsToRun.entries()) { - await runTest((lastTestRun = test), testIndex); - } + await runSteps(runSetup, allSetups, 'setup'); + await runSteps(runTest, testsToRun, 'test'); console.log(colors.green('Done.')); } catch (err) { @@ -165,16 +163,43 @@ Promise.all([findFreePort(), findFreePort()]) () => process.exit(1), ); -async function runTest(relativeName: string, testIndex: number) { - // Make sure this is a windows compatible path. - let absoluteName = path.join(e2eRoot, relativeName); - if (/^win/.test(process.platform)) { - absoluteName = absoluteName.replace(/\\/g, path.posix.sep); +async function runSteps( + run: (name: string) => Promise | void, + steps: string[], + type: 'setup' | 'test', +) { + for (const [stepIndex, relativeName] of steps.entries()) { + // Make sure this is a windows compatible path. + let absoluteName = path.join(e2eRoot, relativeName).replace(/\.ts$/, ''); + if (/^win/.test(process.platform)) { + absoluteName = absoluteName.replace(/\\/g, path.posix.sep); + } + + const name = relativeName.replace(/\.ts$/, ''); + const start = Date.now(); + + printHeader(relativeName, stepIndex, steps.length, type); + + // Run the test function with the current file on the logStack. + logStack.push(lastLogger().createChild(absoluteName)); + try { + await run((lastTestRun = absoluteName)); + } finally { + logStack.pop(); + } + + console.log('----'); + printFooter(name, type, start); } +} + +async function runSetup(absoluteName: string) { + const module = require(absoluteName); - const currentFileName = relativeName.replace(/\.ts$/, ''); - const start = +new Date(); + await (typeof module === 'function' ? module : module.default)(); +} +async function runTest(absoluteName: string) { const module = require(absoluteName); const originalEnvVariables = { ...process.env, @@ -189,70 +214,50 @@ async function runTest(relativeName: string, testIndex: number) { throw new Error('Invalid test module.'); }; - printHeader(currentFileName, testIndex); - let clean = true; let previousDir = process.cwd(); - try { - // Run the test function with the current file on the logStack. - logStack.push(lastLogger().createChild(currentFileName)); - try { - await fn(() => (clean = false)); - } finally { - logStack.pop(); - } - console.log('----'); + await fn(() => (clean = false)); - // If we're not in a setup, change the directory back to where it was before the test. - // This allows tests to chdir without worrying about keeping the original directory. - if (!allSetups.includes(relativeName) && previousDir) { - process.chdir(previousDir); + // Change the directory back to where it was before the test. + // This allows tests to chdir without worrying about keeping the original directory. + if (previousDir) { + process.chdir(previousDir); - // Restore env variables before each test. - console.log(' Restoring original environment variables...'); - process.env = originalEnvVariables; - } + // Restore env variables before each test. + console.log('Restoring original environment variables...'); + process.env = originalEnvVariables; + } - // Only clean after a real test, not a setup step. Also skip cleaning if the test - // requested an exception. - if (!allSetups.includes(relativeName) && clean) { - logStack.push(new logging.NullLogger()); - try { - await gitClean(); - } finally { - logStack.pop(); - } + // Skip cleaning if the test requested an exception. + if (clean) { + logStack.push(new logging.NullLogger()); + try { + await gitClean(); + } finally { + logStack.pop(); } - - printFooter(currentFileName, start); - } catch (err) { - printFooter(currentFileName, start); - console.error(err); - throw err; } } -function printHeader(testName: string, testIndex: number) { - const text = `${testIndex + 1} of ${testsToRun.length}`; - const fullIndex = - (testIndex < allSetups.length - ? testIndex - : (testIndex - allSetups.length) * nbShards + shardId + allSetups.length) + 1; - const length = tests.length + allSetups.length; +function printHeader(testName: string, testIndex: number, count: number, type: 'setup' | 'test') { + const text = `${testIndex + 1} of ${count}`; + const fullIndex = testIndex * nbShards + shardId + 1; const shard = - shardId === null + shardId === null || type !== 'test' ? '' - : colors.yellow(` [${shardId}:${nbShards}]` + colors.bold(` (${fullIndex}/${length})`)); + : colors.yellow(` [${shardId}:${nbShards}]` + colors.bold(` (${fullIndex}/${tests.length})`)); console.log( - colors.green(`Running "${colors.bold.blue(testName)}" (${colors.bold.white(text)}${shard})...`), + colors.green( + `Running ${type} "${colors.bold.blue(testName)}" (${colors.bold.white(text)}${shard})...`, + ), ); } -function printFooter(testName: string, startTime: number) { +function printFooter(testName: string, type: 'setup' | 'test', startTime: number) { // Round to hundredth of a second. const t = Math.round((Date.now() - startTime) / 10) / 100; - console.log(colors.green('Last step took ') + colors.bold.blue('' + t) + colors.green('s...')); + console.log(colors.green(`Last ${type} took `) + colors.bold.blue('' + t) + colors.green('s...')); console.log(''); } From 9c26e2850c75f5af5919fc6af72be423622eda4a Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Sat, 28 May 2022 02:10:53 -0700 Subject: [PATCH 0490/1388] test: run tests in isolated subprocess --- tests/legacy-cli/BUILD.bazel | 1 + .../300-log-environment.ts | 0 .../500-create-project.ts | 13 +++- tests/legacy-cli/e2e/initialize/BUILD.bazel | 15 ++++ tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 20 ++--- tests/legacy-cli/e2e/setup/100-global-cli.ts | 20 +++-- tests/legacy-cli/e2e/tests/basic/e2e.ts | 7 -- .../e2e/tests/packages/webpack/test-app.ts | 4 +- tests/legacy-cli/e2e/utils/env.ts | 22 +++++- tests/legacy-cli/e2e/utils/process.ts | 46 ++++++++++-- tests/legacy-cli/e2e/utils/project.ts | 22 +++++- .../legacy-cli/e2e/utils/run_test_process.js | 3 + tests/legacy-cli/e2e/utils/test_process.ts | 19 +++++ tests/legacy-cli/e2e_runner.ts | 73 +++++++++---------- 14 files changed, 183 insertions(+), 82 deletions(-) rename tests/legacy-cli/e2e/{setup => initialize}/300-log-environment.ts (100%) rename tests/legacy-cli/e2e/{setup => initialize}/500-create-project.ts (67%) create mode 100644 tests/legacy-cli/e2e/initialize/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/utils/run_test_process.js create mode 100644 tests/legacy-cli/e2e/utils/test_process.ts diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel index a2c76fbbe307..cbd1ea4fc4ca 100644 --- a/tests/legacy-cli/BUILD.bazel +++ b/tests/legacy-cli/BUILD.bazel @@ -20,6 +20,7 @@ ts_library( # Loaded dynamically at runtime, not compiletime deps "//tests/legacy-cli/e2e/setup", + "//tests/legacy-cli/e2e/initialize", "//tests/legacy-cli/e2e/tests", ], ) diff --git a/tests/legacy-cli/e2e/setup/300-log-environment.ts b/tests/legacy-cli/e2e/initialize/300-log-environment.ts similarity index 100% rename from tests/legacy-cli/e2e/setup/300-log-environment.ts rename to tests/legacy-cli/e2e/initialize/300-log-environment.ts diff --git a/tests/legacy-cli/e2e/setup/500-create-project.ts b/tests/legacy-cli/e2e/initialize/500-create-project.ts similarity index 67% rename from tests/legacy-cli/e2e/setup/500-create-project.ts rename to tests/legacy-cli/e2e/initialize/500-create-project.ts index cfe623ce50f4..d53bae11acea 100644 --- a/tests/legacy-cli/e2e/setup/500-create-project.ts +++ b/tests/legacy-cli/e2e/initialize/500-create-project.ts @@ -1,13 +1,14 @@ import { join } from 'path'; +import yargsParser from 'yargs-parser'; import { getGlobalVariable } from '../utils/env'; import { expectFileToExist } from '../utils/fs'; import { gitClean } from '../utils/git'; -import { setRegistry as setNPMConfigRegistry } from '../utils/packages'; +import { installPackage, setRegistry as setNPMConfigRegistry } from '../utils/packages'; import { ng } from '../utils/process'; import { prepareProjectForE2e, updateJsonFile } from '../utils/project'; export default async function () { - const argv = getGlobalVariable('argv'); + const argv = getGlobalVariable('argv'); if (argv.noproject) { return; @@ -20,6 +21,14 @@ export default async function () { // Ensure local test registry is used when outside a project await setNPMConfigRegistry(true); + // Install puppeteer in the parent directory for use by the CLI within any test project. + // Align the version with the primary project package.json. + const puppeteerVersion = require('../../../../package.json').devDependencies.puppeteer.replace( + /^[\^~]/, + '', + ); + await installPackage(`puppeteer@${puppeteerVersion}`); + await ng('new', 'test-project', '--skip-install'); await expectFileToExist(join(process.cwd(), 'test-project')); process.chdir('./test-project'); diff --git a/tests/legacy-cli/e2e/initialize/BUILD.bazel b/tests/legacy-cli/e2e/initialize/BUILD.bazel new file mode 100644 index 000000000000..00735969e9ab --- /dev/null +++ b/tests/legacy-cli/e2e/initialize/BUILD.bazel @@ -0,0 +1,15 @@ +load("//tools:defaults.bzl", "ts_library") + +ts_library( + name = "initialize", + testonly = True, + srcs = glob(["**/*.ts"]), + data = [ + "//:package.json", + ], + visibility = ["//visibility:public"], + deps = [ + "//tests/legacy-cli/e2e/utils", + "@npm//@types/yargs-parser", + ], +) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index eaca4a166e3f..1d1824f25235 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -1,6 +1,6 @@ import { mkdir, writeFile } from 'fs/promises'; -import { delimiter, join } from 'path'; -import { getGlobalVariable } from '../utils/env'; +import { join } from 'path'; +import { getGlobalVariable, setGlobalVariable } from '../utils/env'; /** * Configure npm to use a unique sandboxed environment. @@ -8,23 +8,17 @@ import { getGlobalVariable } from '../utils/env'; export default async function () { const tempRoot: string = getGlobalVariable('tmp-root'); const npmModulesPrefix = join(tempRoot, 'npm-global'); + const npmRegistry: string = getGlobalVariable('package-registry'); const npmrc = join(tempRoot, '.npmrc'); // Configure npm to use the sandboxed npm globals and rc file + // From this point onward all npm transactions use the "global" npm cache + // isolated within this e2e test invocation. process.env.NPM_CONFIG_USERCONFIG = npmrc; process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; - // Ensure the custom npm global bin is first on the PATH - // https://docs.npmjs.com/cli/v8/configuring-npm/folders#executables - if (process.platform.startsWith('win')) { - process.env.PATH = npmModulesPrefix + delimiter + process.env.PATH; - } else { - process.env.PATH = join(npmModulesPrefix, 'bin') + delimiter + process.env.PATH; - } - - // Ensure the globals directory and npmrc file exist. - // Configure the registry in the npmrc in addition to the environment variable. - await writeFile(npmrc, 'registry=' + getGlobalVariable('package-registry')); + // Configure the registry and prefix used within the test sandbox + await writeFile(npmrc, `registry=${npmRegistry}\nprefix=${npmModulesPrefix}`); await mkdir(npmModulesPrefix); console.log(` Using "${npmModulesPrefix}" as e2e test global npm cache.`); diff --git a/tests/legacy-cli/e2e/setup/100-global-cli.ts b/tests/legacy-cli/e2e/setup/100-global-cli.ts index 9f8f1e5f2c5b..3f751bea3d90 100644 --- a/tests/legacy-cli/e2e/setup/100-global-cli.ts +++ b/tests/legacy-cli/e2e/setup/100-global-cli.ts @@ -1,5 +1,8 @@ import { getGlobalVariable } from '../utils/env'; -import { exec, silentNpm } from '../utils/process'; +import { silentNpm } from '../utils/process'; + +const NPM_VERSION = '7.24.0'; +const YARN_VERSION = '1.22.18'; export default async function () { const argv = getGlobalVariable('argv'); @@ -9,10 +12,13 @@ export default async function () { const testRegistry: string = getGlobalVariable('package-registry'); - // Install global Angular CLI. - await silentNpm('install', '--global', '@angular/cli', `--registry=${testRegistry}`); - - try { - await exec(process.platform.startsWith('win') ? 'where' : 'which', 'ng'); - } catch {} + // Install global Angular CLI being tested, npm+yarn used by e2e tests. + await silentNpm( + 'install', + '--global', + `--registry=${testRegistry}`, + '@angular/cli', + `npm@${NPM_VERSION}`, + `yarn@${YARN_VERSION}`, + ); } diff --git a/tests/legacy-cli/e2e/tests/basic/e2e.ts b/tests/legacy-cli/e2e/tests/basic/e2e.ts index bcb710c2a754..8671d203efe8 100644 --- a/tests/legacy-cli/e2e/tests/basic/e2e.ts +++ b/tests/legacy-cli/e2e/tests/basic/e2e.ts @@ -59,13 +59,6 @@ export default function () { // Should run side-by-side with `ng serve` .then(() => execAndWaitForOutputToMatch('ng', ['serve'], / Compiled successfully./)) .then(() => ng('e2e', 'test-project', '--dev-server-target=')) - // Should fail without updated webdriver - .then(() => replaceInFile('e2e/protractor.conf.js', /chromeDriver: String.raw`[^`]*`,/, '')) - .then(() => - expectToFail(() => - ng('e2e', 'test-project', '--no-webdriver-update', '--dev-server-target='), - ), - ) .finally(() => killAllProcesses()) ); } diff --git a/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts b/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts index 91825375d048..37546944cb54 100644 --- a/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts +++ b/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts @@ -3,7 +3,7 @@ import { createProjectFromAsset } from '../../../utils/assets'; import { expectFileSizeToBeUnder, expectFileToMatch, replaceInFile } from '../../../utils/fs'; import { execWithEnv } from '../../../utils/process'; -export default async function (skipCleaning: () => void) { +export default async function () { const webpackCLIBin = normalize('node_modules/.bin/webpack-cli'); await createProjectFromAsset('webpack/test-app'); @@ -30,6 +30,4 @@ export default async function (skipCleaning: () => void) { 'DISABLE_V8_COMPILE_CACHE': '1', }); await expectFileToMatch('dist/app.main.js', 'AppModule'); - - skipCleaning(); } diff --git a/tests/legacy-cli/e2e/utils/env.ts b/tests/legacy-cli/e2e/utils/env.ts index 6202e1bb597b..d2f0feece0a7 100644 --- a/tests/legacy-cli/e2e/utils/env.ts +++ b/tests/legacy-cli/e2e/utils/env.ts @@ -1,12 +1,26 @@ -const global: { [name: string]: any } = Object.create(null); +const ENV_PREFIX = 'LEGACY_CLI__'; export function setGlobalVariable(name: string, value: any) { - global[name] = value; + if (value === undefined) { + delete process.env[ENV_PREFIX + name]; + } else { + process.env[ENV_PREFIX + name] = JSON.stringify(value); + } } export function getGlobalVariable(name: string): T { - if (!(name in global)) { + const value = process.env[ENV_PREFIX + name]; + if (value === undefined) { throw new Error(`Trying to access variable "${name}" but it's not defined.`); } - return global[name] as T; + return JSON.parse(value) as T; +} + +export function getGlobalVariablesEnv(): NodeJS.ProcessEnv { + return Object.keys(process.env) + .filter((v) => v.startsWith(ENV_PREFIX)) + .reduce((vars, n) => { + vars[n] = process.env[n]; + return vars; + }, {}); } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 4960cee26bf6..c14f120fe133 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -3,9 +3,10 @@ import { SpawnOptions } from 'child_process'; import * as child_process from 'child_process'; import { concat, defer, EMPTY, from } from 'rxjs'; import { repeat, takeLast } from 'rxjs/operators'; -import { getGlobalVariable } from './env'; +import { getGlobalVariable, getGlobalVariablesEnv } from './env'; import { catchError } from 'rxjs/operators'; import treeKill from 'tree-kill'; +import { delimiter, join, resolve } from 'path'; interface ExecOptions { silent?: boolean; @@ -300,22 +301,21 @@ export function silentNpm( { silent: true, cwd: (options as { cwd?: string } | undefined)?.cwd, - env: extractNpmEnv(), }, 'npm', params, ); } else { - return _exec({ silent: true, env: extractNpmEnv() }, 'npm', args as string[]); + return _exec({ silent: true }, 'npm', args as string[]); } } export function silentYarn(...args: string[]) { - return _exec({ silent: true, env: extractNpmEnv() }, 'yarn', args); + return _exec({ silent: true }, 'yarn', args); } export function npm(...args: string[]) { - return _exec({ env: extractNpmEnv() }, 'npm', args); + return _exec({}, 'npm', args); } export function node(...args: string[]) { @@ -329,3 +329,39 @@ export function git(...args: string[]) { export function silentGit(...args: string[]) { return _exec({ silent: true }, 'git', args); } + +/** + * Launch the given entry in an child process isolated to the test environment. + * + * The test environment includes the local NPM registry, isolated NPM globals, + * the PATH variable only referencing the local node_modules and local NPM + * registry (not the test runner or standard global node_modules). + */ +export async function launchTestProcess(entry: string, ...args: any[]) { + const tempRoot: string = getGlobalVariable('tmp-root'); + + // Extract explicit environment variables for the test process. + const env: NodeJS.ProcessEnv = { + ...extractNpmEnv(), + ...getGlobalVariablesEnv(), + }; + + // Modify the PATH environment variable... + let paths = process.env.PATH!.split(delimiter); + + // Only include paths within the sandboxed test environment or external + // non angular-cli paths such as /usr/bin for generic commands. + paths = paths.filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')); + + // Ensure the custom npm global bin is on the PATH + // https://docs.npmjs.com/cli/v8/configuring-npm/folders#executables + if (process.platform.startsWith('win')) { + paths.unshift(env.NPM_CONFIG_PREFIX!); + } else { + paths.unshift(join(env.NPM_CONFIG_PREFIX!, 'bin')); + } + + env.PATH = paths.join(delimiter); + + return _exec({ env }, process.execPath, [resolve(__dirname, 'run_test_process'), entry, ...args]); +} diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 5843454e2254..f55194f3b8aa 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -7,7 +7,7 @@ import { getGlobalVariable } from './env'; import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; import { installWorkspacePackages } from './packages'; -import { execAndWaitForOutputToMatch, git, ng } from './process'; +import { exec, execAndWaitForOutputToMatch, git, ng } from './process'; export function updateJsonFile(filePath: string, fn: (json: any) => any | void) { return readFile(filePath).then((tsConfigJson) => { @@ -42,6 +42,26 @@ export async function prepareProjectForE2e(name: string) { await ng('generate', 'e2e', '--related-app-name', name); + // Initialize selenium webdriver. + // Often fails the first time so attempt twice if necessary. + const runWebdriverUpdate = () => + exec( + 'node', + 'node_modules/protractor/bin/webdriver-manager', + 'update', + '--standalone', + 'false', + '--gecko', + 'false', + '--versions.chrome', + '101.0.4951.41', + ); + try { + await runWebdriverUpdate(); + } catch (e) { + await runWebdriverUpdate(); + } + await useCIChrome('e2e'); await useCIChrome(''); diff --git a/tests/legacy-cli/e2e/utils/run_test_process.js b/tests/legacy-cli/e2e/utils/run_test_process.js new file mode 100644 index 000000000000..1a7fa92ccfc7 --- /dev/null +++ b/tests/legacy-cli/e2e/utils/run_test_process.js @@ -0,0 +1,3 @@ +'use strict'; +require('../../../../lib/bootstrap-local'); +require('./test_process'); diff --git a/tests/legacy-cli/e2e/utils/test_process.ts b/tests/legacy-cli/e2e/utils/test_process.ts new file mode 100644 index 000000000000..4f0a3a1ef5b5 --- /dev/null +++ b/tests/legacy-cli/e2e/utils/test_process.ts @@ -0,0 +1,19 @@ +import { killAllProcesses } from './process'; + +const testScript: string = process.argv[2]; +const testModule = require(testScript); +const testFunction: () => Promise | void = + typeof testModule == 'function' + ? testModule + : typeof testModule.default == 'function' + ? testModule.default + : () => { + throw new Error('Invalid test module.'); + }; + +(async () => Promise.resolve(testFunction()))() + .finally(killAllProcesses) + .catch((e) => { + console.error(e); + process.exitCode = -1; + }); diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index cabfcec56468..d97e62c21975 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -4,10 +4,12 @@ import * as colors from 'ansi-colors'; import glob from 'glob'; import yargsParser from 'yargs-parser'; import * as path from 'path'; -import { setGlobalVariable } from './e2e/utils/env'; +import { getGlobalVariable, setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; import { AddressInfo, createServer, Server } from 'net'; +import { launchTestProcess } from './e2e/utils/process'; +import { join } from 'path'; Error.stackTraceLimit = Infinity; @@ -73,6 +75,7 @@ const testGlob = argv.glob || 'tests/**/*.ts'; const e2eRoot = path.join(__dirname, 'e2e'); const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); +const allInitializers = glob.sync('initialize/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); const allTests = glob .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. @@ -133,6 +136,7 @@ Promise.all([findFreePort(), findFreePort()]) try { await runSteps(runSetup, allSetups, 'setup'); + await runSteps(runInitializer, allInitializers, 'initializer'); await runSteps(runTest, testsToRun, 'test'); console.log(colors.green('Done.')); @@ -166,7 +170,7 @@ Promise.all([findFreePort(), findFreePort()]) async function runSteps( run: (name: string) => Promise | void, steps: string[], - type: 'setup' | 'test', + type: 'setup' | 'test' | 'initializer', ) { for (const [stepIndex, relativeName] of steps.entries()) { // Make sure this is a windows compatible path. @@ -199,48 +203,37 @@ async function runSetup(absoluteName: string) { await (typeof module === 'function' ? module : module.default)(); } +/** + * Run a file from the projects root directory in a subprocess via launchTestProcess(). + */ +async function runInitializer(absoluteName: string) { + process.chdir(getGlobalVariable('projects-root')); + + await launchTestProcess(absoluteName); +} + +/** + * Run a file from the main 'test-project' directory in a subprocess via launchTestProcess(). + */ async function runTest(absoluteName: string) { - const module = require(absoluteName); - const originalEnvVariables = { - ...process.env, - }; - - const fn: (skipClean?: () => void) => Promise | void = - typeof module == 'function' - ? module - : typeof module.default == 'function' - ? module.default - : () => { - throw new Error('Invalid test module.'); - }; - - let clean = true; - let previousDir = process.cwd(); - - await fn(() => (clean = false)); - - // Change the directory back to where it was before the test. - // This allows tests to chdir without worrying about keeping the original directory. - if (previousDir) { - process.chdir(previousDir); - - // Restore env variables before each test. - console.log('Restoring original environment variables...'); - process.env = originalEnvVariables; - } + process.chdir(join(getGlobalVariable('projects-root'), 'test-project')); - // Skip cleaning if the test requested an exception. - if (clean) { - logStack.push(new logging.NullLogger()); - try { - await gitClean(); - } finally { - logStack.pop(); - } + await launchTestProcess(absoluteName); + + logStack.push(new logging.NullLogger()); + try { + await gitClean(); + } finally { + logStack.pop(); } } -function printHeader(testName: string, testIndex: number, count: number, type: 'setup' | 'test') { +function printHeader( + testName: string, + testIndex: number, + count: number, + type: 'setup' | 'initializer' | 'test', +) { const text = `${testIndex + 1} of ${count}`; const fullIndex = testIndex * nbShards + shardId + 1; const shard = @@ -254,7 +247,7 @@ function printHeader(testName: string, testIndex: number, count: number, type: ' ); } -function printFooter(testName: string, type: 'setup' | 'test', startTime: number) { +function printFooter(testName: string, type: 'setup' | 'initializer' | 'test', startTime: number) { // Round to hundredth of a second. const t = Math.round((Date.now() - startTime) / 10) / 100; console.log(colors.green(`Last ${type} took `) + colors.bold.blue('' + t) + colors.green('s...')); From ae92f6198f5a7f2ebdc026c8710c8e7270affcb9 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 7 Jun 2022 11:20:13 -0400 Subject: [PATCH 0491/1388] ci: disable outdated Angular robot merge and triage behavior The issue triage behavior is no longer used within this repository. For the merge behavior, only the label status checks are potentially beneficial but they are already checked via the `ng-dev` tooling when merging. --- .github/angular-robot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index d1ff65b42a57..d5105974613c 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -5,7 +5,7 @@ merge: # the status will be added to your pull requests status: # set to true to disable - disabled: false + disabled: true # the name of the status context: 'ci/angular: merge status' # text to show when all checks pass @@ -60,7 +60,7 @@ merge: # options for the triage plugin triage: # set to true to disable - disabled: false + disabled: true # number of the milestone to apply when the issue has not been triaged yet needsTriageMilestone: 11, # number of the milestone to apply when the issue is triaged From edc6afb5f1ffb1dfc10dd0372ef5bda374433222 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 7 Jun 2022 12:15:40 -0700 Subject: [PATCH 0492/1388] test: wait for killAllProcesses() to complete before proceeding --- tests/legacy-cli/e2e/tests/misc/fallback.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/fallback.ts b/tests/legacy-cli/e2e/tests/misc/fallback.ts index 771464909fcc..bb3b27b150bc 100644 --- a/tests/legacy-cli/e2e/tests/misc/fallback.ts +++ b/tests/legacy-cli/e2e/tests/misc/fallback.ts @@ -17,13 +17,7 @@ export default function () { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); }) - .then( - () => killAllProcesses(), - (err) => { - killAllProcesses(); - throw err; - }, - ) + .finally(() => killAllProcesses()) // should correctly fallback to a changed index .then(() => moveFile('src/index.html', 'src/not-index.html')) .then(() => From d78826353bf663d22e5d9651e5d88f0347ff456c Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 6 Jun 2022 15:41:23 -0400 Subject: [PATCH 0493/1388] fix(@angular/cli): ensure full process exit with older local CLI versions Angular CLI versions prior to v14 may not exit correctly if not forcibly exited via `process.exit`. When the local CLI version is less than v14, the CLI will now use `process.exit` to ensure the process exits with these older CLI versions. Fixes #23289 --- packages/angular/cli/lib/init.ts | 18 +++++++++- .../e2e/tests/misc/cli-exit-interop.ts | 34 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 9b94a248c14c..f0620e7a14f8 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -10,12 +10,20 @@ import 'symbol-observable'; // symbol polyfill must go first import { promises as fs } from 'fs'; import * as path from 'path'; -import { SemVer } from 'semver'; +import { SemVer, major } from 'semver'; import { colors } from '../src/utilities/color'; import { isWarningEnabled } from '../src/utilities/config'; import { disableVersionCheck } from '../src/utilities/environment-options'; import { VERSION } from '../src/utilities/version'; +/** + * Angular CLI versions prior to v14 may not exit correctly if not forcibly exited + * via `process.exit()`. When bootstrapping, `forceExit` will be set to `true` + * if the local CLI version is less than v14 to prevent the CLI from hanging on + * exit in those cases. + */ +let forceExit = false; + (async () => { /** * Disable Browserslist old data warning as otherwise with every release we'd need to update this dependency @@ -57,6 +65,11 @@ import { VERSION } from '../src/utilities/version'; } } + // Ensure older versions of the CLI fully exit + if (major(localVersion) < 14) { + forceExit = true; + } + let isGlobalGreater = false; try { isGlobalGreater = !!localVersion && globalVersion.compare(localVersion) > 0; @@ -107,6 +120,9 @@ import { VERSION } from '../src/utilities/version'; }); }) .then((exitCode: number) => { + if (forceExit) { + process.exit(exitCode); + } process.exitCode = exitCode; }) .catch((err: Error) => { diff --git a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts new file mode 100644 index 000000000000..3d4b72befd04 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts @@ -0,0 +1,34 @@ +import { createProjectFromAsset } from '../../utils/assets'; +import { moveFile, replaceInFile } from '../../utils/fs'; +import { setRegistry } from '../../utils/packages'; +import { noSilentNg } from '../../utils/process'; +import { useCIChrome } from '../../utils/project'; +import { expectToFail } from '../../utils/utils'; + +/** + * @fileoverview This tests that using the latest version of the CLI globally does not cause older (< 14) + * versions of the CLI to never exit after completing certain commands. + * This test will timeout in a failure condition. + */ + +export default async function () { + try { + // We need to use the public registry because in the local NPM server we don't have + // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. + await setRegistry(false); + await createProjectFromAsset('12.0-project', true); + + // A missing stylesheet error will trigger the stuck process issue with v12 when building + await moveFile('src/styles.css', 'src/styles.scss'); + await expectToFail(() => noSilentNg('build')); + + // Setup a SCSS global stylesheet + // Simulates issue https://github.com/angular/angular-cli/issues/23289 + await replaceInFile('angular.json', /styles\.css/g, 'styles.scss'); + + await useCIChrome(); + await noSilentNg('test', '--watch=false'); + } finally { + await setRegistry(true); + } +} From ffa9a0612b27a221dccd37824440c96d728f7ce5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 7 Jun 2022 13:13:49 -0400 Subject: [PATCH 0494/1388] test: ensure legacy peer dependency mode for E2E snapshot tests Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. To support this case, legacy peer dependency mode is enabled for snapshot builds. --- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 7 +++++++ tests/legacy-cli/e2e/utils/packages.ts | 8 -------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 1d1824f25235..271980317b3b 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -17,6 +17,13 @@ export default async function () { process.env.NPM_CONFIG_USERCONFIG = npmrc; process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; + // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). + // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. + // To support this case, legacy peer dependency mode is enabled for snapshot builds. + if (getGlobalVariable('argv')['ng-snapshots']) { + process.env['NPM_CONFIG_legacy_peer_deps'] = 'true'; + } + // Configure the registry and prefix used within the test sandbox await writeFile(npmrc, `registry=${npmRegistry}\nprefix=${npmModulesPrefix}`); await mkdir(npmModulesPrefix); diff --git a/tests/legacy-cli/e2e/utils/packages.ts b/tests/legacy-cli/e2e/utils/packages.ts index cc294acfcfa8..3c6476f14c3f 100644 --- a/tests/legacy-cli/e2e/utils/packages.ts +++ b/tests/legacy-cli/e2e/utils/packages.ts @@ -50,7 +50,6 @@ export async function setRegistry(useTestRegistry: boolean): Promise { : 'https://registry.npmjs.org'; const isCI = getGlobalVariable('ci'); - const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; // Ensure local test registry is used when outside a project if (isCI) { @@ -60,11 +59,4 @@ export async function setRegistry(useTestRegistry: boolean): Promise { // Yarn supports both `NPM_CONFIG_REGISTRY` and `YARN_REGISTRY`. process.env['NPM_CONFIG_REGISTRY'] = url; } - - // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). - // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. - // To support this case, legacy peer dependency mode is enabled for snapshot builds. - if (isSnapshotBuild) { - process.env['NPM_CONFIG_legacy_peer_deps'] = 'true'; - } } From d59ba3110b7a12b8f64427609decefbe9d693e90 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 7 Jun 2022 14:10:20 +0000 Subject: [PATCH 0495/1388] fix(@angular/pwa): add peer dependency on Angular CLI The peer dependency is needed so that the correct version that mathes the installed Angular CLI is installated. --- packages/angular/pwa/package.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/angular/pwa/package.json b/packages/angular/pwa/package.json index 89a4e1fe04c8..04ea0d962822 100644 --- a/packages/angular/pwa/package.json +++ b/packages/angular/pwa/package.json @@ -15,5 +15,13 @@ "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "@schematics/angular": "0.0.0-PLACEHOLDER", "parse5-html-rewriting-stream": "6.0.1" + }, + "peerDependencies": { + "@angular/cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next" + }, + "peerDependenciesMeta": { + "@angular/cli": { + "optional": true + } } } From 13234214a482f8236613aba53c4e7cba59a37398 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 7 Jun 2022 12:05:08 +0000 Subject: [PATCH 0496/1388] docs: remove azure builder reference This builder is not compatible with newer versions of the Angular CLI. See https://github.com/angular/angular-cli/issues/23255 for more context Closes #23255 --- packages/angular/cli/src/commands/deploy/cli.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/angular/cli/src/commands/deploy/cli.ts b/packages/angular/cli/src/commands/deploy/cli.ts index d05376ef0138..e335b0633e31 100644 --- a/packages/angular/cli/src/commands/deploy/cli.ts +++ b/packages/angular/cli/src/commands/deploy/cli.ts @@ -21,10 +21,6 @@ export class DeployCommandModule name: 'Amazon S3', value: '@jefiozie/ngx-aws-deploy', }, - { - name: 'Azure', - value: '@azure/ng-deploy', - }, { name: 'Firebase', value: '@angular/fire', From 373d380597a1a4f10760412af41ed69a6a0a6633 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 7 Jun 2022 12:30:16 +0000 Subject: [PATCH 0497/1388] test(@angular/cli): move `completion` command test in own directory Just re-organizing a bit --- .../tests/{misc => commands/completion}/completion-prompt.ts | 4 ++-- .../tests/{misc => commands/completion}/completion-script.ts | 2 +- .../e2e/tests/{misc => commands/completion}/completion.ts | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) rename tests/legacy-cli/e2e/tests/{misc => commands/completion}/completion-prompt.ts (99%) rename tests/legacy-cli/e2e/tests/{misc => commands/completion}/completion-script.ts (95%) rename tests/legacy-cli/e2e/tests/{misc => commands/completion}/completion.ts (99%) diff --git a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts similarity index 99% rename from tests/legacy-cli/e2e/tests/misc/completion-prompt.ts rename to tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts index e4079c9ee7c3..2661b89d0564 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts @@ -2,13 +2,13 @@ import { promises as fs } from 'fs'; import * as os from 'os'; import * as path from 'path'; import { env } from 'process'; -import { getGlobalVariable } from '../../utils/env'; +import { getGlobalVariable } from '../../../utils/env'; import { execAndCaptureError, execAndWaitForOutputToMatch, execWithEnv, silentNpm, -} from '../../utils/process'; +} from '../../../utils/process'; const AUTOCOMPLETION_PROMPT = /Would you like to enable autocompletion\?/; const DEFAULT_ENV = Object.freeze({ diff --git a/tests/legacy-cli/e2e/tests/misc/completion-script.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion-script.ts similarity index 95% rename from tests/legacy-cli/e2e/tests/misc/completion-script.ts rename to tests/legacy-cli/e2e/tests/commands/completion/completion-script.ts index c0c3aadfda5d..1b940056d30e 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion-script.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion-script.ts @@ -1,4 +1,4 @@ -import { exec, execAndWaitForOutputToMatch } from '../../utils/process'; +import { exec, execAndWaitForOutputToMatch } from '../../../utils/process'; export default async function () { // ng build diff --git a/tests/legacy-cli/e2e/tests/misc/completion.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion.ts similarity index 99% rename from tests/legacy-cli/e2e/tests/misc/completion.ts rename to tests/legacy-cli/e2e/tests/commands/completion/completion.ts index 90061319191a..22c233aa3b40 100644 --- a/tests/legacy-cli/e2e/tests/misc/completion.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion.ts @@ -1,14 +1,13 @@ -import { execFile } from 'child_process'; import { promises as fs } from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { getGlobalVariable } from '../../utils/env'; +import { getGlobalVariable } from '../../../utils/env'; import { execAndCaptureError, execAndWaitForOutputToMatch, execWithEnv, silentNpm, -} from '../../utils/process'; +} from '../../../utils/process'; const testRegistry = getGlobalVariable('package-registry'); From 79ea0f3ae36605aaf3658764fd0bb8e8ba73055a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 7 Jun 2022 15:17:10 +0000 Subject: [PATCH 0498/1388] fix(@angular/cli): provide actionable error when project cannot be determined When the workspace has multiple projects and we the project to use cannot be determined from the current working directory, we now issue an actionable error message. --- .../architect-command-module.ts | 16 ++++++--- .../project-cannot-be-determined-by-cwd.ts | 36 +++++++++++++++++++ 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index a58edcccc06d..9f508688a5ec 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -104,7 +104,6 @@ export abstract class ArchitectCommandModule if (projectName) { return workspace.projects.has(projectName) ? projectName : undefined; } - const target = this.getArchitectTarget(); const projectFromTarget = this.getProjectNamesByTarget(target); @@ -114,8 +113,8 @@ export abstract class ArchitectCommandModule @memoize private getProjectNamesByTarget(target: string): string[] | undefined { const workspace = this.getWorkspaceOrThrow(); - const allProjectsForTargetName: string[] = []; + for (const [name, project] of workspace.projects) { if (project.targets.has(target)) { allProjectsForTargetName.push(name); @@ -135,8 +134,17 @@ export abstract class ArchitectCommandModule } const maybeProject = getProjectByCwd(workspace); - if (maybeProject && allProjectsForTargetName.includes(maybeProject)) { - return [maybeProject]; + if (maybeProject) { + return allProjectsForTargetName.includes(maybeProject) ? [maybeProject] : undefined; + } + + const { getYargsCompletions, help } = this.context.args.options; + if (!getYargsCompletions && !help) { + // Only issue the below error when not in help / completion mode. + throw new CommandModuleError( + 'Cannot determine project for command. ' + + 'Pass the project name as a command line argument or change the current working directory to a project directory.', + ); } } diff --git a/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts b/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts new file mode 100644 index 000000000000..938a00105c64 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts @@ -0,0 +1,36 @@ +import { join } from 'path'; +import { execAndWaitForOutputToMatch, ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; +import { expectToFail } from '../../utils/utils'; + +export default async function () { + const errorMessage = + 'Cannot determine project for command. ' + + 'Pass the project name as a command line argument or change the current working directory to a project directory'; + + // Delete root project + await updateJsonFile('angular.json', (workspaceJson) => { + delete workspaceJson.projects['test-project']; + }); + + await ng('generate', 'app', 'second-app', '--skip-install'); + await ng('generate', 'app', 'third-app', '--skip-install'); + + const startCwd = process.cwd(); + + try { + const { message } = await expectToFail(() => ng('build')); + if (!message.includes(errorMessage)) { + throw new Error(`Expected build to fail with: '${errorMessage}'.`); + } + + // Help should still work + execAndWaitForOutputToMatch('ng', ['build', '--help'], /--configuration/); + + process.chdir(join(startCwd, 'projects/second-app')); + await ng('build', '--configuration=development'); + } finally { + // Restore path + process.chdir(startCwd); + } +} From f6e8ce2af19aea3ee3df57b2d539dece1635d8a0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 08:10:15 +0000 Subject: [PATCH 0499/1388] fix(@angular/cli): handle project being passed as a flag Yargs allows passing using positional arguments as flags. This we should handle this when retrieving the project. Closes #23291 --- .../command-builder/architect-command-module.ts | 16 +++++++++------- .../project-cannot-be-determined-by-cwd.ts | 4 ++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index 9f508688a5ec..abd3d2c41fb4 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -94,16 +94,18 @@ export abstract class ArchitectCommandModule } private getArchitectProject(): string | undefined { - const workspace = this.context.workspace; - if (!workspace) { - return undefined; - } - - const [, projectName] = this.context.args.positional; + const { options, positional } = this.context.args; + const [, projectName] = positional; if (projectName) { - return workspace.projects.has(projectName) ? projectName : undefined; + return projectName; } + + // Yargs allows positional args to be used as flags. + if (typeof options['project'] === 'string') { + return options['project']; + } + const target = this.getArchitectTarget(); const projectFromTarget = this.getProjectNamesByTarget(target); diff --git a/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts b/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts index 938a00105c64..e75e869fcb75 100644 --- a/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts +++ b/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts @@ -1,4 +1,5 @@ import { join } from 'path'; +import { expectFileNotToExist, expectFileToExist } from '../../utils/fs'; import { execAndWaitForOutputToMatch, ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; @@ -27,6 +28,9 @@ export default async function () { // Help should still work execAndWaitForOutputToMatch('ng', ['build', '--help'], /--configuration/); + // Yargs allows positional args to be passed as flags. Verify that in this case the project can be determined. + await ng('build', '--project=third-app', '--configuration=development'); + process.chdir(join(startCwd, 'projects/second-app')); await ng('build', '--configuration=development'); } finally { From 5321b3dfcfb1c9e03c0be2c237dc9284c8cbfdaf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 13:08:55 +0000 Subject: [PATCH 0500/1388] test: remove redundant `killAllProcesses` call `killAllProcesses` is called post test execution there it is not needed to be run after tests. --- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 2 +- .../e2e/tests/misc/ask-missing-builder.ts | 38 +++++++++---------- tests/legacy-cli/e2e/tests/misc/e2e-host.ts | 23 +++++------ .../legacy-cli/e2e/tests/misc/proxy-config.ts | 2 - tests/legacy-cli/e2e/tests/misc/title.ts | 20 +++------- tests/legacy-cli/e2e/utils/test_process.ts | 12 ++++-- 6 files changed, 41 insertions(+), 56 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 271980317b3b..c8b9c0e6c7b8 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -1,6 +1,6 @@ import { mkdir, writeFile } from 'fs/promises'; import { join } from 'path'; -import { getGlobalVariable, setGlobalVariable } from '../utils/env'; +import { getGlobalVariable } from '../utils/env'; /** * Configure npm to use a unique sandboxed environment. diff --git a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts index c98574f6e38c..ce4270cdbb47 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-missing-builder.ts @@ -1,28 +1,24 @@ import { execAndWaitForOutputToMatch, killAllProcesses } from '../../utils/process'; export default async function () { - try { - // Execute a command with TTY force enabled and check that the prompt is shown. - await execAndWaitForOutputToMatch( - 'ng', - ['deploy'], - /Would you like to add a package with "deploy" capabilities/, - { - ...process.env, - NG_FORCE_TTY: '1', - NG_CLI_ANALYTICS: 'false', - }, - ); - - await killAllProcesses(); - - // Execute a command with TTY force enabled and check that the prompt is shown. - await execAndWaitForOutputToMatch('ng', ['lint'], /Would you like to add ESLint now/, { + // Execute a command with TTY force enabled and check that the prompt is shown. + await execAndWaitForOutputToMatch( + 'ng', + ['deploy'], + /Would you like to add a package with "deploy" capabilities/, + { ...process.env, NG_FORCE_TTY: '1', NG_CLI_ANALYTICS: 'false', - }); - } finally { - await killAllProcesses(); - } + }, + ); + + await killAllProcesses(); + + // Execute a command with TTY force enabled and check that the prompt is shown. + await execAndWaitForOutputToMatch('ng', ['lint'], /Would you like to add ESLint now/, { + ...process.env, + NG_FORCE_TTY: '1', + NG_CLI_ANALYTICS: 'false', + }); } diff --git a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts index 6f5ba1e41332..398beb0599e5 100644 --- a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts @@ -1,5 +1,5 @@ import * as os from 'os'; -import { killAllProcesses, ng } from '../../utils/process'; +import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; export default async function () { @@ -12,18 +12,13 @@ export default async function () { } } - try { - await updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.serve.options = appArchitect.serve.options || {}; - appArchitect.serve.options.port = 8888; - appArchitect.serve.options.host = host; - }); + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.serve.options = appArchitect.serve.options || {}; + appArchitect.serve.options.port = 8888; + appArchitect.serve.options.host = host; + }); - await ng('e2e'); - - await ng('e2e', '--host', host); - } finally { - await killAllProcesses(); - } + await ng('e2e'); + await ng('e2e', '--host', host); } diff --git a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts index 41375ce37de7..ff860a0a78ae 100644 --- a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts +++ b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts @@ -5,8 +5,6 @@ import { writeFile } from '../../utils/fs'; import fetch from 'node-fetch'; import { killAllProcesses, ng } from '../../utils/process'; import { ngServe } from '../../utils/project'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; import { AddressInfo } from 'net'; import * as assert from 'assert'; diff --git a/tests/legacy-cli/e2e/tests/misc/title.ts b/tests/legacy-cli/e2e/tests/misc/title.ts index 568ba310fb2a..85c2b79bfb9e 100644 --- a/tests/legacy-cli/e2e/tests/misc/title.ts +++ b/tests/legacy-cli/e2e/tests/misc/title.ts @@ -1,25 +1,17 @@ -import { execAndWaitForOutputToMatch, execWithEnv, killAllProcesses } from '../../utils/process'; +import { execAndWaitForOutputToMatch, execWithEnv } from '../../utils/process'; export default async function () { if (process.platform.startsWith('win')) { // "On Windows, process.title affects the console title, but not the name of the process in the task manager." // https://stackoverflow.com/questions/44756196/how-to-change-the-node-js-process-name-on-windows-10#comment96259375_44756196 - return Promise.resolve(); + return; } - try { - await execAndWaitForOutputToMatch( - 'ng', - ['build', '--configuration=development', '--watch'], - /./, - ); + await execAndWaitForOutputToMatch('ng', ['build', '--configuration=development', '--watch'], /./); - const output = await execWithEnv('ps', ['x'], { COLUMNS: '200' }); + const output = await execWithEnv('ps', ['x'], { COLUMNS: '200' }); - if (!output.stdout.match(/ng build --configuration=development --watch/)) { - throw new Error('Title of the process was not properly set.'); - } - } finally { - await killAllProcesses(); + if (!output.stdout.match(/ng build --configuration=development --watch/)) { + throw new Error('Title of the process was not properly set.'); } } diff --git a/tests/legacy-cli/e2e/utils/test_process.ts b/tests/legacy-cli/e2e/utils/test_process.ts index 4f0a3a1ef5b5..79bbc89c0c59 100644 --- a/tests/legacy-cli/e2e/utils/test_process.ts +++ b/tests/legacy-cli/e2e/utils/test_process.ts @@ -11,9 +11,13 @@ const testFunction: () => Promise | void = throw new Error('Invalid test module.'); }; -(async () => Promise.resolve(testFunction()))() - .finally(killAllProcesses) - .catch((e) => { +(async () => { + try { + await testFunction(); + } catch (e) { console.error(e); process.exitCode = -1; - }); + } finally { + await killAllProcesses(); + } +})(); From b4767ae2960aa2fd13522970cc85b83f19b19638 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 13:09:32 +0000 Subject: [PATCH 0501/1388] test: change git utils to async/await Minor cleanups in git utils code --- tests/legacy-cli/e2e/utils/git.ts | 54 ++++++++++++++----------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/git.ts b/tests/legacy-cli/e2e/utils/git.ts index 5e18ea806848..c2f528e8a3ae 100644 --- a/tests/legacy-cli/e2e/utils/git.ts +++ b/tests/legacy-cli/e2e/utils/git.ts @@ -1,37 +1,33 @@ import { git, silentGit } from './process'; -export function gitClean() { +export async function gitClean(): Promise { console.log(' Cleaning git...'); - return silentGit('clean', '-df') - .then(() => silentGit('reset', '--hard')) - .then(() => { - // Checkout missing files - return silentGit('status', '--porcelain') - .then(({ stdout }) => - stdout - .split(/[\n\r]+/g) - .filter((line) => line.match(/^ D/)) - .map((line) => line.replace(/^\s*\S+\s+/, '')), - ) - .then((files) => silentGit('checkout', ...files)); - }) - .then(() => expectGitToBeClean()); + + await silentGit('clean', '-df'); + await silentGit('reset', '--hard'); + + // Checkout missing files + const { stdout } = await silentGit('status', '--porcelain'); + const files = stdout + .split(/[\n\r]+/g) + .filter((line) => line.match(/^ D/)) + .map((line) => line.replace(/^\s*\S+\s+/, '')); + + await silentGit('checkout', ...files); + await expectGitToBeClean(); } -export function expectGitToBeClean() { - return silentGit('status', '--porcelain').then(({ stdout }) => { - if (stdout != '') { - throw new Error('Git repo is not clean...\n' + stdout); - } - }); +export async function expectGitToBeClean(): Promise { + const { stdout } = await silentGit('status', '--porcelain'); + if (stdout != '') { + throw new Error('Git repo is not clean...\n' + stdout); + } } -export function gitCommit(message: string) { - return git('add', '-A') - .then(() => silentGit('status', '--porcelain')) - .then(({ stdout }) => { - if (stdout != '') { - return git('commit', '-am', message); - } - }); +export async function gitCommit(message: string): Promise { + await git('add', '-A'); + const { stdout } = await silentGit('status', '--porcelain'); + if (stdout != '') { + await git('commit', '-am', message); + } } From b764ecb1fa875ebab82bb0fe41ca0508a8d6e61e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 13:11:02 +0000 Subject: [PATCH 0502/1388] test: minor clean up of `runSteps` logic Remove redundant vars and imports --- tests/legacy-cli/e2e_runner.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index d97e62c21975..5dab8c769449 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -7,7 +7,7 @@ import * as path from 'path'; import { getGlobalVariable, setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; -import { AddressInfo, createServer, Server } from 'net'; +import { AddressInfo, createServer } from 'net'; import { launchTestProcess } from './e2e/utils/process'; import { join } from 'path'; @@ -123,8 +123,6 @@ setGlobalVariable('argv', argv); setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -let lastTestRun: string | null = null; - Promise.all([findFreePort(), findFreePort()]) .then(async ([httpPort, httpsPort]) => { setGlobalVariable('package-registry', 'http://localhost:' + httpPort); @@ -142,7 +140,6 @@ Promise.all([findFreePort(), findFreePort()]) console.log(colors.green('Done.')); } catch (err) { console.log('\n'); - console.error(colors.red(`Test "${lastTestRun}" failed...`)); console.error(colors.red(err.message)); console.error(colors.red(err.stack)); @@ -187,7 +184,11 @@ async function runSteps( // Run the test function with the current file on the logStack. logStack.push(lastLogger().createChild(absoluteName)); try { - await run((lastTestRun = absoluteName)); + await run(absoluteName); + } catch (e) { + console.log('\n'); + console.error(colors.red(`Step "${absoluteName}" failed...`)); + throw e; } finally { logStack.pop(); } From d02c4e29b3b885a0162eea0321a396a489b4e1e9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 13:18:11 +0000 Subject: [PATCH 0503/1388] build: add tsconfig config in e2e folder This is picked up by the TS language server which improves DX when writing and debugging tests. Previously, the default TS options were used which results in discrepancies such as strict mode is not enabled. --- tests/legacy-cli/tsconfig.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 tests/legacy-cli/tsconfig.json diff --git a/tests/legacy-cli/tsconfig.json b/tests/legacy-cli/tsconfig.json new file mode 100644 index 000000000000..235d85b0bb7c --- /dev/null +++ b/tests/legacy-cli/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../tsconfig-test.json", + "compilerOptions": { "paths": {} }, + "exclude": ["e2e/assets/**"] +} From f0a0b08457a998c079ae52a389acd1c461c411ff Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 13:44:27 +0000 Subject: [PATCH 0504/1388] fix(@angular-devkit/build-angular): log modified and removed files when using the `verbose` option With this change we print out the modified and removed files when running a build in verbose mode. This can be useful to debug builds that rebuilds multiple times without an apparent file change. --- .../browser/tests/options/verbose_spec.ts | 106 ++++++++++++++++++ .../src/webpack/configs/common.ts | 5 + .../plugins/watch-files-logs-plugin.ts | 28 +++++ 3 files changed, 139 insertions(+) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/watch-files-logs-plugin.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts new file mode 100644 index 000000000000..b9e50f007d7b --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts @@ -0,0 +1,106 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { concatMap, count, take, timeout } from 'rxjs/operators'; +import { BUILD_TIMEOUT, buildWebpackBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +// The below plugin is only enabled when verbose option is set to true. +const VERBOSE_LOG_TEXT = 'LOG from webpack.'; + +describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "verbose"', () => { + beforeEach(async () => { + // Application code is not needed for verbose output + await harness.writeFile('src/main.ts', ''); + }); + + it('should include verbose logs when true', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + verbose: true, + }); + + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(VERBOSE_LOG_TEXT), + }), + ); + }); + + it('should not include verbose logs when undefined', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + verbose: undefined, + }); + + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(VERBOSE_LOG_TEXT), + }), + ); + }); + + it('should not include verbose logs when false', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + verbose: false, + }); + + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(VERBOSE_LOG_TEXT), + }), + ); + }); + + it('should list modified files when verbose is set to true', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + verbose: true, + watch: true, + }); + + await harness + .execute() + .pipe( + timeout(BUILD_TIMEOUT), + concatMap(async ({ result, logs }, index) => { + expect(result?.success).toBeTrue(); + + switch (index) { + case 0: + // Amend file + await harness.appendToFile('/src/main.ts', ' '); + break; + case 1: + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching( + /angular\.watch-files-logs-plugin\n\s+Modified files:\n.+main\.ts/, + ), + }), + ); + + break; + } + }), + take(2), + count(), + ) + .toPromise(); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 2c33d03bae47..be907d28937f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -33,6 +33,7 @@ import { NamedChunksPlugin } from '../plugins/named-chunks-plugin'; import { ProgressPlugin } from '../plugins/progress-plugin'; import { TransferSizePlugin } from '../plugins/transfer-size-plugin'; import { createIvyPlugin } from '../plugins/typescript'; +import { WatchFilesLogsPlugin } from '../plugins/watch-files-logs-plugin'; import { assetPatterns, externalizePackages, @@ -204,6 +205,10 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise { + compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => { + const logger = compilation.getLogger(PLUGIN_NAME); + if (modifiedFiles?.size) { + logger.log(`Modified files:\n${[...modifiedFiles].join('\n')}\n`); + } + + if (removedFiles?.size) { + logger.log(`Removed files:\n${[...removedFiles].join('\n')}\n`); + } + }); + }); + } +} From f81dbfe01a3462eaa23b786f4aab4fd790429a59 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 12:40:37 +0000 Subject: [PATCH 0505/1388] ci: enable git longpaths in Windows With this change we enable git longpaths in Windows as otherwise `git clean -dxf` fails with `filename too long` error. --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index b8b7eaab2e9a..67c2b6cdec64 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -88,6 +88,7 @@ commands: - run: npm install -g yarn@1.22.10 - run: node --version - run: yarn --version + - run: git config --global core.longpaths true setup_bazel_rbe: parameters: From b9a822e24da39dc1f4345f095587c4fa9313afc8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Jun 2022 14:39:44 +0000 Subject: [PATCH 0506/1388] test: avoid process kill race conditions When using `waitForMatch` the promise is resolved prior to the process being killed which in some cases caused a race condition because `treekill` would to be invoked for a process which in the meantime will be killed gracefully. --- tests/legacy-cli/e2e/utils/process.ts | 50 ++++++++++++++++----------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index c14f120fe133..d1b5cbe76401 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -62,7 +62,6 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { stdout += data.toString('utf-8'); if (options.silent) { @@ -74,7 +73,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise line !== '') .forEach((line) => console.log(' ' + line)); }); - // @ts-ignore + childProcess.stderr!.on('data', (data: Buffer) => { stderr += data.toString('utf-8'); if (options.silent) { @@ -121,14 +120,14 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { if (data.toString().match(match)) { resolve({ stdout, stderr }); matched = true; } }); - // @ts-ignore + childProcess.stderr!.on('data', (data: Buffer) => { if (data.toString().match(match)) { resolve({ stdout, stderr }); @@ -176,14 +175,14 @@ export function waitForAnyProcessOutputToMatch( new Promise((resolve) => { let stdout = ''; let stderr = ''; - // @ts-ignore + childProcess.stdout!.on('data', (data: Buffer) => { stdout += data.toString(); if (data.toString().match(match)) { resolve({ stdout, stderr }); } }); - // @ts-ignore + childProcess.stderr!.on('data', (data: Buffer) => { stderr += data.toString(); if (data.toString().match(match)) { @@ -197,22 +196,31 @@ export function waitForAnyProcessOutputToMatch( } export async function killAllProcesses(signal = 'SIGTERM'): Promise { - await Promise.all( - _processes.map( - ({ pid }) => - new Promise((resolve, reject) => { - treeKill(pid, signal, (err) => { - if (err) { - reject(err); - } else { - resolve(); - } - }); - }), - ), - ); + const processesToKill: Promise[] = []; + + while (_processes.length) { + const childProc = _processes.pop(); + if (!childProc) { + continue; + } + + processesToKill.push( + new Promise((resolve, reject) => { + treeKill(childProc.pid, signal, (err) => { + if (err && !err.message.includes('not found')) { + // Ignore process not found errors. + // This is due to a race condition with the `waitForMatch` logic. + // where promises are resolved on matches and not when the process terminates. + reject(err); + } else { + resolve(); + } + }); + }), + ); + } - _processes = []; + await Promise.all(processesToKill); } export function exec(cmd: string, ...args: string[]) { From f1dbdb95e035ed22e7bba0cf9e5355f56580c6e9 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 8 Jun 2022 11:20:53 -0700 Subject: [PATCH 0507/1388] fix(@angular/cli): correctly print package manager name when an install is needed This was printing "Try installing with '[object Object] install'". --- .../architect-base-command-module.ts | 2 +- .../e2e/tests/commands/builder-not-found.ts | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index 04323c606706..437bd2896931 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -151,7 +151,7 @@ export abstract class ArchitectBaseCommandModule } this.context.logger.warn( - `Node packages may not be installed. Try installing with '${this.context.packageManager} install'.`, + `Node packages may not be installed. Try installing with '${this.context.packageManager.name} install'.`, ); } diff --git a/tests/legacy-cli/e2e/tests/commands/builder-not-found.ts b/tests/legacy-cli/e2e/tests/commands/builder-not-found.ts index 46e23adda3fb..934ff2c16666 100644 --- a/tests/legacy-cli/e2e/tests/commands/builder-not-found.ts +++ b/tests/legacy-cli/e2e/tests/commands/builder-not-found.ts @@ -1,5 +1,5 @@ import { moveFile } from '../../utils/fs'; -import { installPackage, uninstallPackage } from '../../utils/packages'; +import { getActivePackageManager, installPackage, uninstallPackage } from '../../utils/packages'; import { execAndWaitForOutputToMatch, ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; @@ -14,7 +14,13 @@ export default async function () { /Could not find the '@angular-devkit\/build-angular:browser' builder's node package\./, ); await expectToFail(() => - execAndWaitForOutputToMatch('ng', ['build'], /Node packages may not be installed\./), + execAndWaitForOutputToMatch( + 'ng', + ['build'], + new RegExp( + `Node packages may not be installed\. Try installing with '${getActivePackageManager()} install'\.`, + ), + ), ); await moveFile('node_modules', 'temp_node_modules'); @@ -25,7 +31,13 @@ export default async function () { ['build'], /Could not find the '@angular-devkit\/build-angular:browser' builder's node package\./, ); - await execAndWaitForOutputToMatch('ng', ['build'], /Node packages may not be installed\./); + await execAndWaitForOutputToMatch( + 'ng', + ['build'], + new RegExp( + `Node packages may not be installed\. Try installing with '${getActivePackageManager()} install'\.`, + ), + ); } finally { await moveFile('temp_node_modules', 'node_modules'); await installPackage('@angular-devkit/build-angular'); From 4708ccdf149d60d20ba5221fdd53304edc669dbf Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 8 Jun 2022 18:52:06 -0400 Subject: [PATCH 0508/1388] docs: release notes for the v14.0.1 release --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1902dcd7542..a9ec3229480a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,47 @@ + + +# 14.0.1 (2022-06-08) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------------------- | +| [e4fb96657](https://github.com/angular/angular-cli/commit/e4fb96657f044d97562008b5b3c6f3a55ac8ba3a) | fix | add text to help output to indicate that additional commands are available when ran in different context | +| [7952e5790](https://github.com/angular/angular-cli/commit/7952e579066f7191f4b82a10816c6a41a4ea5644) | fix | avoid creating unnecessary global configuration | +| [66a1d6b9d](https://github.com/angular/angular-cli/commit/66a1d6b9d2e1fba3d5ee88a6c5d81206f530ce3a) | fix | correct scope cache command | +| [e2d964289](https://github.com/angular/angular-cli/commit/e2d964289fe2a418e5f4e421249e2f8da64185cc) | fix | correctly print package manager name when an install is needed | +| [75fd3330d](https://github.com/angular/angular-cli/commit/75fd3330d4c27263522ea931eb1545ce0a34ab6a) | fix | during an update only use package manager force option with npm 7+ | +| [e223890c1](https://github.com/angular/angular-cli/commit/e223890c1235b4564ec15eb99d71256791a21c3c) | fix | ensure full process exit with older local CLI versions | +| [0cca3638a](https://github.com/angular/angular-cli/commit/0cca3638adb46cd5d0c18b823c83d4b604d7c798) | fix | handle project being passed as a flag | +| [b1451cb5e](https://github.com/angular/angular-cli/commit/b1451cb5e90f43df365202a6fdfcfbc9e0853ca4) | fix | improve resilience of logging during process exit | +| [17fec1357](https://github.com/angular/angular-cli/commit/17fec13577ac333fc66c3752c75be58146c9ebac) | fix | provide actionable error when project cannot be determined | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | +| [73dcf39c6](https://github.com/angular/angular-cli/commit/73dcf39c6e7678a3915a113fd72829549ccc3b8e) | fix | remove strict setting under application project | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | +| [c788d5b56](https://github.com/angular/angular-cli/commit/c788d5b56a1a191e7ca53c3b63245e3979a1cf44) | fix | log modified and removed files when using the `verbose` option | +| [6e8fe0ed5](https://github.com/angular/angular-cli/commit/6e8fe0ed54d88132da0238fdb3a6e97330c85ff7) | fix | replace dev-server socket path from `/ws` to `/ng-cli-ws` | +| [651adadf4](https://github.com/angular/angular-cli/commit/651adadf4df8b66c60771f27737cb2a67957b46a) | fix | update Angular peer dependencies to 14.0 stable | + +### @angular/pwa + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------- | +| [cfd264d06](https://github.com/angular/angular-cli/commit/cfd264d061109c7989933e51a14b6bf83b289b07) | fix | add peer dependency on Angular CLI | + +## Special Thanks + +Alan Agius, Charles Lyding and Doug Parker + + + # 14.0.0 (2022-06-02) From 511988a86c4a73d44e53c14f1c8cb835be952b1f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 8 Jun 2022 19:51:22 -0400 Subject: [PATCH 0509/1388] release: cut the v14.1.0-next.0 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9ec3229480a..2735d793c44d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 14.1.0-next.0 (2022-06-08) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | +| [707911d42](https://github.com/angular/angular-cli/commit/707911d423873623d4201d2fbce4a294ab73a135) | feat | support controlling `addDependency` utility rule install behavior | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | +| [526cdb263](https://github.com/angular/angular-cli/commit/526cdb263a8c74ad228f584f70dc029aa69351d7) | feat | allow `chain` rule to accept iterables of rules | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Jason Bedard and Joey Perrott + + + # 14.0.1 (2022-06-08) From df9ce713622c40baa12a80f525bc21b09883ca33 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 9 Jun 2022 07:44:14 +0000 Subject: [PATCH 0510/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +-- yarn.lock | 194 +++++++++--------- 7 files changed, 134 insertions(+), 134 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index db6a855da304..740f4e981584 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@91ba217766e28a53c469d5ca43a76e37af64e3f1 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@91ba217766e28a53c469d5ca43a76e37af64e3f1 + - uses: angular/dev-infra/github-actions/post-approval-changes@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 42ff418771b2..62e050b42fbb 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@91ba217766e28a53c469d5ca43a76e37af64e3f1 + - uses: angular/dev-infra/github-actions/feature-request@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index be696f198a2c..4fbfd58a797d 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@91ba217766e28a53c469d5ca43a76e37af64e3f1 + - uses: angular/dev-infra/github-actions/lock-closed@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 6c719f22f916..f9ef34d99122 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.0", - "@angular/cdk": "14.0.0", - "@angular/common": "14.0.0", - "@angular/compiler": "14.0.0", - "@angular/compiler-cli": "14.0.0", - "@angular/core": "14.0.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#e45a962f80dbcd36bcdfe82497d8b6ce3990506c", - "@angular/forms": "14.0.0", - "@angular/localize": "14.0.0", - "@angular/material": "14.0.0", - "@angular/platform-browser": "14.0.0", - "@angular/platform-browser-dynamic": "14.0.0", - "@angular/platform-server": "14.0.0", - "@angular/router": "14.0.0", - "@angular/service-worker": "14.0.0", + "@angular/animations": "14.0.1", + "@angular/cdk": "14.0.1", + "@angular/common": "14.0.1", + "@angular/compiler": "14.0.1", + "@angular/compiler-cli": "14.0.1", + "@angular/core": "14.0.1", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#e10e9b9963af823f6f3676c48b87592a952a4f83", + "@angular/forms": "14.0.1", + "@angular/localize": "14.0.1", + "@angular/material": "14.0.1", + "@angular/platform-browser": "14.0.1", + "@angular/platform-browser-dynamic": "14.0.1", + "@angular/platform-server": "14.0.1", + "@angular/router": "14.0.1", + "@angular/service-worker": "14.0.1", "@babel/core": "7.18.2", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 812d0b4836ca..168b6f23939f 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.0", - "@angular/compiler-cli": "14.0.0", + "@angular/compiler": "14.0.1", + "@angular/compiler-cli": "14.0.1", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c1563bf0142e..a2a7ba05caf2 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#f0a41737061c9446ceffb7bb802ba0b4dce3f720", - "@angular/cdk": "github:angular/cdk-builds#1bb83af7c1a242f86a0206623e75c75d1f196b78", - "@angular/common": "github:angular/common-builds#ae2f0d8bdbd814da39916aa55eb976c9c6bc1ad0", - "@angular/compiler": "github:angular/compiler-builds#fe501dd74ca2ccf39b13e1b90883d394ff9a0a1e", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f850e5fcd7f1ac808f9b84320f85753b954d9915", - "@angular/core": "github:angular/core-builds#6d561441beee526b4e86c2dc9169be0970acdde2", - "@angular/forms": "github:angular/forms-builds#3d031696578bef48813d4970f1546987d7c0ecc8", - "@angular/language-service": "github:angular/language-service-builds#e5b3009b1a9e4542cc5ad02e1c3e4abb11404249", - "@angular/localize": "github:angular/localize-builds#3329e70a8ef2e48b766c6cb1a4217e2b09c31591", - "@angular/material": "github:angular/material-builds#88003a6cd58d3fedf928fe1754836f0c50b1fbb6", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c6e06a0db2f31df0304c47b2600c52195cc8e9ae", - "@angular/platform-browser": "github:angular/platform-browser-builds#e41ae1370a28d7215ad1b5a5cf09182c6954d803", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d03433667ea7b98597a1c29996b5e7296726219a", - "@angular/platform-server": "github:angular/platform-server-builds#969999988377e05e7fc763eff308a89d0c7b1f27", - "@angular/router": "github:angular/router-builds#6e3cb26d92b751f19f62fd4a18241cddb2addc12", - "@angular/service-worker": "github:angular/service-worker-builds#9c263039a272286003bc3be21179b01d8677f2b7" + "@angular/animations": "github:angular/animations-builds#56281c99f0dae5a21d8f6369fbc98d67b319287f", + "@angular/cdk": "github:angular/cdk-builds#9e2c0de69836fdae0702316386d6997f32df14fd", + "@angular/common": "github:angular/common-builds#a546d7b4a9007e174e81f827d838aab62acbe689", + "@angular/compiler": "github:angular/compiler-builds#0ed8460136b3143c952725c406e8f6d3053ea509", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#9c5c52193564463c82274193165746e156ebe592", + "@angular/core": "github:angular/core-builds#62b8bc80e4ed72958763c2a68d01e24b327abcd1", + "@angular/forms": "github:angular/forms-builds#988ce94d3b4bd59945dddd6aa5fa38e59be8debc", + "@angular/language-service": "github:angular/language-service-builds#b0f2b1f27f3e219db3f8fd0f61d2e51fa42a5ac3", + "@angular/localize": "github:angular/localize-builds#14d4d62e38c443e290213ace63fb0876c3fa489f", + "@angular/material": "github:angular/material-builds#5bd1898a58fd31551ecb1ad6f62079f810712346", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4639f78a47e2e73d4dace798154a54d3695dd6f9", + "@angular/platform-browser": "github:angular/platform-browser-builds#2c7b15afa4f9743e9e546d4e5c1c8f31259134bd", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#f394357f37df9ebe83663aa8b9867d5d8811d563", + "@angular/platform-server": "github:angular/platform-server-builds#b99a97912220dae5e73d6f7510a7026c0c46b1c4", + "@angular/router": "github:angular/router-builds#8c72700c0431ab900829679c1d87fe8b3e2b0347", + "@angular/service-worker": "github:angular/service-worker-builds#83243d4d5eef72c0960075d8281cf0bf99c29cfe" } } diff --git a/yarn.lock b/yarn.lock index 55bcd5ba961d..1027f7a597aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0-rc.3": - version "0.1400.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-rc.3.tgz#54e328a203f98f243298b014bf4ce2abfde32a06" - integrity sha512-lv0HB50hyrKZDpImI3lk8BVzmD0zUIPARZ/2/wpS3ZCY5lpNSHZSGiN7SnMB9Y2h+RpbjTYeF7/5WLs0cXA6UA== +"@angular-devkit/architect@0.1400.0": + version "0.1400.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0.tgz#ad2d55ac898daead4bcb791499ab2b98b40803ed" + integrity sha512-INPO+r5CHElPdFLOrwUYShZqtr37/kTJegAoWpSNC8Zy8WgTlecvA+y5eHy0bNeXMjWbZ3YCZJ1jXYpJJNL1Kg== dependencies: - "@angular-devkit/core" "14.0.0-rc.3" + "@angular-devkit/core" "14.0.0" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0-rc.3": - version "14.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-rc.3.tgz#c168049a4e78b9ef6bed58521979aa5344983547" - integrity sha512-Blta5TUS548p8yxdR4pBYdEuzp7XkVxX38EhrFiPEAqgXyqDM8LwxCk8o9XwqLM9LtgqGd86x5RCx6YgTntUdw== +"@angular-devkit/build-angular@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0.tgz#68825037c7f110a80a05c1c0c838ba98d6cf3fa7" + integrity sha512-SUFanOcIJ6XWBltQ7U038zGGhsT40h4I1Pqkf+qlPLGctARz8wfD3GPD1a0pRlrIH6J/f7Xbb7QrQvGfG4g/NQ== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1400.0-rc.3" - "@angular-devkit/build-webpack" "0.1400.0-rc.3" - "@angular-devkit/core" "14.0.0-rc.3" + "@angular-devkit/architect" "0.1400.0" + "@angular-devkit/build-webpack" "0.1400.0" + "@angular-devkit/core" "14.0.0" "@babel/core" "7.17.10" "@babel/generator" "7.17.10" "@babel/helper-annotate-as-pure" "7.16.7" @@ -37,7 +37,7 @@ "@babel/runtime" "7.17.9" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0-rc.3" + "@ngtools/webpack" "14.0.0" ansi-colors "4.1.1" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.38" -"@angular-devkit/build-webpack@0.1400.0-rc.3": - version "0.1400.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-rc.3.tgz#b862775a13b12eb0334afaa837f63d22aceaf909" - integrity sha512-AF+7lg4evuFGMYaU5S26zQm3bqRIjF2cA1HIwNFjwSLVBT/NC7+vZKY8HeyIXkeWid2LTiwgb+qZ/Qm1ei+1lg== +"@angular-devkit/build-webpack@0.1400.0": + version "0.1400.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0.tgz#c96bf0f658a86ac91fae5e431b2e1553c6da2420" + integrity sha512-aKbDjWAwHcscqLhxfmkHrkWvAJ3X8nQoIrAP/RbTQ1qRCv5nnqIHe8u5X/1ZCCYCyPJr1UeDTrQiRXCTN4jYvA== dependencies: - "@angular-devkit/architect" "0.1400.0-rc.3" + "@angular-devkit/architect" "0.1400.0" rxjs "6.6.7" -"@angular-devkit/core@14.0.0-rc.3": - version "14.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-rc.3.tgz#65e3083451f859032942c4e037daf67095319bf0" - integrity sha512-J+oWWvhJM1bOzsvyyIPxg56L0VEas/OwB9Sa8VdpZL873H03qnAgRdREOCPWhb/G6NBAG+UOFWPl62iMPIF+xw== +"@angular-devkit/core@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0.tgz#33e56337257fdda3e429b36548820814d9fafbc2" + integrity sha512-xQXpNbIeBjnbY68OFkrpFm6v7xlmTLFk6zGPIkI4T/hrqT2kNmg0y1/FcN6yMBgCEC9WVWR8SHGaPWrc5VVZMw== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.0.tgz#58ed4d4466a2c0c4aa6194906b6a574440f4fe65" - integrity sha512-HVcS4l0eStcA2RDDQcxqChFHVN3BfQdvx68HRTuVDYbUSS4xdL5Hsk8OMkczV1pFDn+URKH1A363bTy5juyDaQ== +"@angular/animations@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.1.tgz#56f95e5281586ed3deba918bf7d5fe8c8efccbdf" + integrity sha512-fHHZeimKweVDMGaKazgoPLEc3g+v7OgpMI7m2SzREOug2++qoA7UsJ/IEjxXY1LKiVKeb4sjyC8E0ziGmYl6+w== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.0.tgz#4e83adea1ddcb61773e70f9f46aaa655f00c9852" - integrity sha512-9RnDlvskjXt1il9uWUidfHE98J9eYaVn+MCqhg0VLH1uHFcpt/dzoJ1nv71mC0anZHrClax29YMiEBnPFZaeFQ== +"@angular/cdk@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.1.tgz#fda9480461f4e37e6b514f0aaef6500503b89d59" + integrity sha512-kiCzcNaUjJ/muxUk1OyIl9tuSlt2PzY3vO6A0/mRUGk7ejXbiN07jZCgNAQuWNcvaLpAtqTi7sWOVNUNooCgxw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.0.tgz#65245a5386819449a6ccc35cdb3f7ebd61a1d753" - integrity sha512-VYydSXelPlcAnWZs6SKkOxV+rNe8zOtHKLf9jBTYT5nP5P66+va4zITo1C9bs5tbK+mRssayf615+SIGEXyJFg== +"@angular/common@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.1.tgz#23326ed0d3750d52f186260aee175a175f463c4c" + integrity sha512-6yT95daze55H0KLag+LgQQMGV7jGy3ggcdIEEU9H+cM4rp37kz97RNGaig5p34c1f/VMg6LaDXOK4LjAebbnBw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.0.tgz#8562151e16d26f3a2143ff0be86074f133bedd98" - integrity sha512-5T9AjguK4NsCjk4mdrSLV7BrifijKb79wFyDOQX5+p7GVRag47U6E6qQAKhsqZxLy7grrBX4fb0PFARL2OrkLQ== +"@angular/compiler-cli@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.1.tgz#6b88318e66e4f1d3bb8a5340e6b3a3722bcff52d" + integrity sha512-cDldWH5Xu+nscUw1B71Lt+//TylRqSP8lDRCXxdX0TJeAtxhWTn8TLDy+Cc+YRiccwtuVXQuyCrdeWCR5hJt+Q== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.0.tgz#71e47e1a9bc1c0d599fd3636061bcca16a4df5c5" - integrity sha512-yWpru4coLOE2Ivn+1ltXPsaxai5MOUABPmYZfm47HN7vfVsxcTC44QDxGY73M9e18sngTIFi6qgr8vci1AT9lg== +"@angular/compiler@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.1.tgz#4c6bec6f385d93ce5d6fee8b53228b2270f4f385" + integrity sha512-8A7xNm5eIjovMjDKqOj0Ba15BB/A6sWruR0Tt+vSzuUmJD6mWc1BZAPXIByJkZOrusuc5FKnoicJ0aV/U8lkAg== dependencies: tslib "^2.3.0" -"@angular/core@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.0.tgz#74a3df2988f81eb7ca00b5961a3145dadfa05e92" - integrity sha512-Mj3r8iMlWfMbY+9DRUFZx1gKnA27Jwx3ff/VXeXBgfxaEKDYmlZSnliZSV6ssiHSUwn/U6yxDXFgcZL090zNBQ== +"@angular/core@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.1.tgz#415128247b9273abfe9dd13f6c0c2583cabd9b07" + integrity sha512-72/VathVpDVEIm/T87eGF9Ng9JYOfrRVJCGhPwKvbIQZzCrg07acPwjDvtifkhKEKyMxLXv+F3bClr8WYP6c4Q== dependencies: tslib "^2.3.0" @@ -175,12 +175,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#e45a962f80dbcd36bcdfe82497d8b6ce3990506c": - version "0.0.0-91ba217766e28a53c469d5ca43a76e37af64e3f1" - uid e45a962f80dbcd36bcdfe82497d8b6ce3990506c - resolved "https://github.com/angular/dev-infra-private-builds.git#e45a962f80dbcd36bcdfe82497d8b6ce3990506c" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#e10e9b9963af823f6f3676c48b87592a952a4f83": + version "0.0.0-9bc9f636fdf1a0d0295f2788475a5e3da3f224ec" + uid e10e9b9963af823f6f3676c48b87592a952a4f83 + resolved "https://github.com/angular/dev-infra-private-builds.git#e10e9b9963af823f6f3676c48b87592a952a4f83" dependencies: - "@angular-devkit/build-angular" "14.0.0-rc.3" + "@angular-devkit/build-angular" "14.0.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -190,7 +190,7 @@ "@bazel/runfiles" "5.5.0" "@bazel/terser" "5.5.0" "@bazel/typescript" "5.5.0" - "@microsoft/api-extractor" "7.24.2" + "@microsoft/api-extractor" "7.25.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -214,63 +214,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.0.tgz#70201bb66f20580fd25b744d109c5d15f4afc8b7" - integrity sha512-r2FHcJve+/rXU4wdCA50nwySGKB5/bxqpULOGeWs4FIdKcUoTnzHtqMsd7sUa7wOA40O4fBHAxKPDGPJPl5CEA== +"@angular/forms@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.1.tgz#9286b25ac59de8ba8355bf200eabfaae40cf1d2d" + integrity sha512-QueehWD0ghfYw3TQS9DN62i6gnc+xLeJ6NFJ8fVfh9Ny4V9zFB24bUwBmwcIiZhkw/5G42tjcuUIDO9KlNtBbA== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.0.tgz#e0db604639dce5edf1c1c95ef3eb31e462b51001" - integrity sha512-Aguw6uTGWx5ZzCLeDblwsNSuqD5apL3WWE7ZNl3xDcxgSZNH5KggaAgP8afEqO2f53Hy38TV/9TwDew1yM6p1g== +"@angular/localize@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.1.tgz#2f51e24c7285275898e8cd69fa985cf0ff5c7f00" + integrity sha512-AMZB3cAefNns1rcwrq7en12vAZ8Jv8plR+hwAjVvphOOfDAAKRL6j1Qzhdv5SC8W7/17HxPdHhsMqCpYsEJHmg== dependencies: "@babel/core" "7.17.12" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.0.tgz#519d20bd22e14aa6a206b5086d38a9c9d36ef2ba" - integrity sha512-RNV1g7DbnlSI9rjsuqH+fO2e+IQCJEJmjBRGvx6dBYugiag4iR9ZnpHNued26UTJ+BPTemTA7a4cDzseKKB6NQ== +"@angular/material@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.1.tgz#ad127e3c9908aab719e9e2aaec368099e79dad1c" + integrity sha512-SkH7MCfFBRj/+HP/JwYiYHd8uo38qtwR66hZKQcP2XaQgO323llVQ27MB+TRkbxO2mifpP2gh40nJCv6KaNsxg== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.0.tgz#2538558a3564fdad6b66fc252bef5e9976700d8a" - integrity sha512-gmLRgTNJi3qEEBfOJA8EcSX3qAmTQ7nBu+TQosiFIFaZG98oa7F5W/PXZx0zOC5ElsqPClvPdgtM6MC7cwSqXQ== +"@angular/platform-browser-dynamic@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.1.tgz#e93438e6b27bf2bb8f8dc64702ec8b366ce3b6b6" + integrity sha512-aYErZUfHnyhWrZYI/Aq9aXE2pJWXiqtSfs41GM+L2SgD9dF/463sOIw/+gOhE/Os7Fwd1OSmo6GlFwMkfZNTeg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.0.tgz#174c80c02c13a2e4bef22791e2d9d626d7f418d1" - integrity sha512-zijIhUxu3nJxoI3mTWxs1d7dh9ovldI09diumlm/rOhj/46j4SvGn8swJvWr0eo/QipkdP+i2Q1lAlpmRfI+tQ== +"@angular/platform-browser@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.1.tgz#fed9b5192c23152b4b2e6c5455410eb6f21fe0c6" + integrity sha512-/0xdsCbVaanP7urgMrA+9E4XYRx4Bc/AABUKy/m3C9nbl7T0C2jzuX3yGZsBpr9rzEwmImyBqExX3bKuAlMwPQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.0.tgz#28e5f28ba28c8a2e1184492c5d947b688bfb7ac6" - integrity sha512-kl2yexQ9kXVCpdn/IF5z0Ea8wWx2dNwbrXbnVvqWGNLtKwsp6p0B35FHgfMHMN818BCeMHn4am0i2ucNQH5O6g== +"@angular/platform-server@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.1.tgz#0963ebd45ac1ecb3dfe10e27e37684278906ae8e" + integrity sha512-AeehgTkMTgUSEkH72FCnVRvmvJZ8FFmqwsmAHOUOHtAQM2CQzmqKpKvAVbkg89zdYQ6tuPyq70ySv7/E9gs7xw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.0.tgz#f9d8735a8899b73b61c64243458e824c8abccbb3" - integrity sha512-8ctwkPkwAbBgxu0O3OfoUYgn7GmOM877Wi/CST/AXXHXMs9v2O2MWAV63ITAjwVD1p6/V+IhUNkiypvQW+0Afw== +"@angular/router@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.1.tgz#ad0f1f31a1f8617222f24be99a87e76b7ca55e2b" + integrity sha512-FtJIe7acU6MuxoBlrl33VHKKVxePgOGnyPkRrxEHxrq8Dw6Y9JkW45Nk1t54CjcEhkkmPgSuJ2h2Jfn2fa6Vcw== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.0.tgz#fb89cdcc0e06db7d4a3b08d180d2d537dfe6602d" - integrity sha512-b2C/HPPpBQ/AIRnI8e17QMGsEBuqYS4MZLCxukWPjMOeYkoppGTbVnCqfqaJFS8Rdx9z8sDS0HLqhgi6rIyzlQ== +"@angular/service-worker@14.0.1": + version "14.0.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.1.tgz#4e64b4e26dc853b3c328e114048fd63b3028b769" + integrity sha512-vcVEsf5oY/ebgyFoWscTrgsE4NKZ3hLTFI/nYw3RNNERim/10BWiT/nUFmuza6G4s7eUbF7e7Ng/yK8VcIgtZw== dependencies: tslib "^2.3.0" @@ -1643,21 +1643,21 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.17.3.tgz#06899902ab1c10b85690232f21c1585cc158d983" - integrity sha512-ETslFxVEZTEK6mrOARxM34Ll2W/5H2aTk9Pe9dxsMCnthE8O/CaStV4WZAGsvvZKyjelSWgPVYGowxGVnwOMlQ== +"@microsoft/api-extractor-model@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.18.0.tgz#23bfe8fee6534e086ddaff4daa5b9e2d27192e09" + integrity sha512-Q7ZhD6zKQd/J5ayNNChFCCgHZ8tw3ibljm6nXP/JEmiEFFbpKKtWMPVCaN8Y+8/qFmrz7mblLrupcKmUu8cF4A== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.5" -"@microsoft/api-extractor@7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.24.2.tgz#4abb24319fa77884dab6d807388056e9cd85488e" - integrity sha512-QWZh9aQZvBAdRVK+Go8NiW8YNMN//OGiNqgA3iZ2sEy8imUqkRBCybXgmw2HkEYyPnn55CFoMKvnAHvV9+4B/A== +"@microsoft/api-extractor@7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.25.0.tgz#a06bfe24abc7e4a82c586953b26debe94e852cd4" + integrity sha512-GS1XOY2RgLthUkfcTR4CLPvCIvpFYj+2MfJMZ3J4NX8H64BWSHGaDUvVV6QvjKNpt/RHdLyyJZ+j7dQveBAZnA== dependencies: - "@microsoft/api-extractor-model" "7.17.3" + "@microsoft/api-extractor-model" "7.18.0" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.45.5" @@ -1685,10 +1685,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0-rc.3": - version "14.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-rc.3.tgz#2ba0e2b3b5b75ef91e87fd3024840c3745ad44a0" - integrity sha512-1FnYsG44kjSTJmJNDD7UECUlTKnWox6eKDhescMDW3x0nz0Ijsqnj+VpVdtVwrzbSQZ41l1xFpQbbgU4nVCq9w== +"@ngtools/webpack@14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0.tgz#13a37933f13a8aa587697b7db7be6f1f20a360c1" + integrity sha512-lUcJ5DiRCY+Xj01R38bDbAlELbO+0yT3n4zshBeiuzo/Lc+yQM2XhVe9stsI5I+SwH6YsCU9kp+jb7iaZh7L7w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From 2d13c1cd9e0c13ab14ba4b8d79518ba25c8f73ca Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Jun 2022 11:15:05 +0000 Subject: [PATCH 0511/1388] test: remove tailwind CJS E2E test workaround This workaround is no longer needed since tailwinds now handles creating cjs configuration. --- tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts index f6074b674a8f..acd6e66320fe 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts @@ -1,4 +1,4 @@ -import { expectFileToMatch, moveFile, writeFile } from '../../../utils/fs'; +import { expectFileToMatch, writeFile } from '../../../utils/fs'; import { installPackage } from '../../../utils/packages'; import { ng, silentExec } from '../../../utils/process'; import { updateJsonFile } from '../../../utils/project'; @@ -20,11 +20,6 @@ export default async function () { // Create configuration file await silentExec('npx', 'tailwindcss', 'init'); - // tailwind doesn't create the config file with a cjs extension. - // We need to rename it manually until - // https://github.com/tailwindlabs/tailwindcss/commit/6c63f67d20c433b5c7281e9e26744038ed41ccc2 is released. - await moveFile('tailwind.config.js', 'tailwind.config.cjs'); - // Add Tailwind directives to a global style await writeFile('src/styles.css', '@tailwind base; @tailwind components;'); From 1f66edebcc968ed01acd06506226f5cd60c71afe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Jun 2022 13:57:54 +0000 Subject: [PATCH 0512/1388] fix(@angular-devkit/build-angular): replace fallback locale for `en-US` Pre version 14, the locale for `en-US` was `en-US-POSIX`. now in version 14, this has changed to `en-US`. List of all available locales https://github.com/unicode-org/cldr-json/blob/7033ea9b03aad6ef9cc64057d9cb88fec3fecc53/cldr-json/cldr-core/availableLocales.json#L64 Closes #23334 --- .../build_angular/src/utils/i18n-options.ts | 12 ++++-------- .../legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts | 10 +++++++--- .../e2e/tests/i18n/ivy-localize-locale-data.ts | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index 461275d767cb..92f69bfd3c54 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -200,14 +200,14 @@ export async function configureI18nBuild string try { return resolver(scrubbedLocale); } catch { - if (scrubbedLocale === 'en-US') { - // fallback to known existing en-US locale data as of 9.0 - return findLocaleDataPath('en-US-POSIX', resolver); - } - - return null; + // fallback to known existing en-US locale data as of 14.0 + return scrubbedLocale === 'en-US' ? findLocaleDataPath('en', resolver) : null; } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts index 00f276fbbe2b..70d49f5994cf 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts @@ -1,4 +1,4 @@ -import { expectFileNotToExist, expectFileToMatch, readFile, writeFile } from '../../utils/fs'; +import { expectFileNotToExist, expectFileToMatch, readFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; import { externalServer, langTranslations, setupI18nConfig } from './setup'; @@ -7,9 +7,13 @@ export default async function () { // Setup i18n tests and config. await setupI18nConfig(); - await writeFile('.browserslistrc', 'Chrome 65'); + const { stderr } = await ng('build', '--source-map'); + if (/Locale data for .+ cannot be found/.test(stderr)) { + throw new Error( + `A warning for a locale not found was shown. This should not happen.\n\nSTDERR:\n${stderr}\n`, + ); + } - await ng('build', '--source-map'); for (const { lang, outputPath, translation } of langTranslations) { await expectFileToMatch(`${outputPath}/main.js`, translation.helloPartial); await expectToFail(() => expectFileToMatch(`${outputPath}/main.js`, '$localize`')); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts index 2b03801f0813..7c2b4ee2055c 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts @@ -25,7 +25,7 @@ export default async function () { }); const { stderr: err1 } = await ng('build'); - if (!err1.includes(`Locale data for 'fr-Abcd' cannot be found. Using locale data for 'fr'.`)) { + if (!err1.includes(`Locale data for 'fr-Abcd' cannot be found. Using locale data for 'fr'.`)) { throw new Error('locale data fallback warning not shown'); } From 7ce88c74edefdb90cc3527a10cfe6564ad3ddcbc Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 7 Jun 2022 16:34:28 -0700 Subject: [PATCH 0513/1388] test: ensure test registry is used by default --- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 1 + .../e2e/tests/commands/add/registry-option.ts | 11 +++-------- tests/legacy-cli/e2e/utils/packages.ts | 9 ++------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index c8b9c0e6c7b8..5d58d8369ae3 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -16,6 +16,7 @@ export default async function () { // isolated within this e2e test invocation. process.env.NPM_CONFIG_USERCONFIG = npmrc; process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; + process.env.NPM_CONFIG_REGISTRY = npmRegistry; // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. diff --git a/tests/legacy-cli/e2e/tests/commands/add/registry-option.ts b/tests/legacy-cli/e2e/tests/commands/add/registry-option.ts index f5888f788b62..13d54e6c2f50 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/registry-option.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/registry-option.ts @@ -1,18 +1,13 @@ import { getGlobalVariable } from '../../../utils/env'; -import { expectFileToExist, writeMultipleFiles } from '../../../utils/fs'; +import { expectFileToExist } from '../../../utils/fs'; import { ng } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; export default async function () { const testRegistry = getGlobalVariable('package-registry'); - // Setup an invalid registry - await writeMultipleFiles({ - '.npmrc': 'registry=http://127.0.0.1:9999', - }); - - // The environment variable has priority over the .npmrc - delete process.env['NPM_CONFIG_REGISTRY']; + // Set an invalid registry + process.env['NPM_CONFIG_REGISTRY'] = 'http://127.0.0.1:9999'; await expectToFail(() => ng('add', '@angular/pwa', '--skip-confirmation')); diff --git a/tests/legacy-cli/e2e/utils/packages.ts b/tests/legacy-cli/e2e/utils/packages.ts index 3c6476f14c3f..52b579a91557 100644 --- a/tests/legacy-cli/e2e/utils/packages.ts +++ b/tests/legacy-cli/e2e/utils/packages.ts @@ -52,11 +52,6 @@ export async function setRegistry(useTestRegistry: boolean): Promise { const isCI = getGlobalVariable('ci'); // Ensure local test registry is used when outside a project - if (isCI) { - // Safe to set a user configuration on CI - await npm('config', 'set', 'registry', url); - } else { - // Yarn supports both `NPM_CONFIG_REGISTRY` and `YARN_REGISTRY`. - process.env['NPM_CONFIG_REGISTRY'] = url; - } + // Yarn supports both `NPM_CONFIG_REGISTRY` and `YARN_REGISTRY`. + process.env['NPM_CONFIG_REGISTRY'] = url; } From e41dc3e5feb461b50693586f277aae925b67e453 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 9 Jun 2022 17:25:59 -0400 Subject: [PATCH 0514/1388] refactor(@angular/cli): assert catch clause variable type before usage Prepares the `@angular/cli` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- packages/angular/cli/lib/cli/index.ts | 6 ++---- .../angular/cli/src/analytics/analytics.ts | 5 ++++- .../architect-base-command-module.ts | 4 ++++ .../cli/src/command-builder/command-runner.ts | 2 ++ .../schematics-command-module.ts | 2 ++ .../utilities/schematic-engine-host.ts | 2 ++ packages/angular/cli/src/commands/add/cli.ts | 5 +++++ .../angular/cli/src/commands/completion/cli.ts | 2 ++ .../angular/cli/src/commands/update/cli.ts | 18 +++++++++++++++--- .../cli/src/commands/update/schematic/index.ts | 3 +++ .../angular/cli/src/utilities/completion.ts | 3 +++ packages/angular/cli/src/utilities/error.ts | 13 +++++++++++++ 12 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 packages/angular/cli/src/utilities/error.ts diff --git a/packages/angular/cli/lib/cli/index.ts b/packages/angular/cli/lib/cli/index.ts index 13c3339cec3e..6391a208aa9c 100644 --- a/packages/angular/cli/lib/cli/index.ts +++ b/packages/angular/cli/lib/cli/index.ts @@ -92,7 +92,7 @@ export default async function (options: { cliArgs: string[] }) { } catch (e) { logger.fatal( `An unhandled exception occurred: ${err.message}\n` + - `Fatal error writing debug log file: ${e.message}`, + `Fatal error writing debug log file: ${e}`, ); if (err.stack) { logger.fatal(err.stack); @@ -105,9 +105,7 @@ export default async function (options: { cliArgs: string[] }) { } else if (typeof err === 'number') { // Log nothing. } else { - logger.fatal( - `An unexpected error occurred: ${'toString' in err ? err.toString() : JSON.stringify(err)}`, - ); + logger.fatal(`An unexpected error occurred: ${err}`); } return 1; diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index e2f4225e7c7a..80723b681940 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -10,8 +10,9 @@ import { analytics, json, tags } from '@angular-devkit/core'; import debug from 'debug'; import { v4 as uuidV4 } from 'uuid'; import { colors } from '../utilities/color'; -import { AngularWorkspace, getWorkspace } from '../utilities/config'; +import { getWorkspace } from '../utilities/config'; import { analyticsDisabled, analyticsShareDisabled } from '../utilities/environment-options'; +import { assertIsError } from '../utilities/error'; import { isTTY } from '../utilities/tty'; import { VERSION } from '../utilities/version'; import { AnalyticsCollector } from './analytics-collector'; @@ -190,6 +191,7 @@ export async function getAnalytics( return new AnalyticsCollector(AnalyticsProperties.AngularCliDefault, uid); } } catch (err) { + assertIsError(err); analyticsDebug('Error happened during reading of analytics config: %s', err.message); return undefined; @@ -222,6 +224,7 @@ export async function getSharedAnalytics(): Promise try { builderName = await architectHost.getBuilderNameForTarget(target); } catch (e) { + assertIsError(e); + return this.onMissingTarget(e.message); } @@ -115,6 +118,7 @@ export abstract class ArchitectBaseCommandModule try { builderDesc = await architectHost.resolveBuilder(builderConf); } catch (e) { + assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { this.warnOnMissingNodeModules(); throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`); diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index a0b6d06f8806..de8c9187ba28 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -30,6 +30,7 @@ import { UpdateCommandModule } from '../commands/update/cli'; import { VersionCommandModule } from '../commands/version/cli'; import { colors } from '../utilities/color'; import { AngularWorkspace, getWorkspace } from '../utilities/config'; +import { assertIsError } from '../utilities/error'; import { PackageManagerUtils } from '../utilities/package-manager'; import { CommandContext, CommandModuleError, CommandScope } from './command-module'; import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; @@ -84,6 +85,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis getWorkspace('global'), ]); } catch (e) { + assertIsError(e); logger.fatal(e.message); return 1; diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 830ccd3077a2..d80dc26d2588 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -17,6 +17,7 @@ import type { CheckboxQuestion, Question } from 'inquirer'; import { relative, resolve } from 'path'; import { Argv } from 'yargs'; import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; +import { assertIsError } from '../utilities/error'; import { memoize } from '../utilities/memoize'; import { isTTY } from '../utilities/tty'; import { @@ -364,6 +365,7 @@ export abstract class SchematicsCommandModule // "See above" because we already printed the error. logger.fatal('The Schematic workflow failed. See above.'); } else { + assertIsError(err); logger.fatal(err.message); } diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts index 043a89c508cd..19af7c6bb8ed 100644 --- a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts +++ b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts @@ -13,6 +13,7 @@ import { parse as parseJson } from 'jsonc-parser'; import nodeModule from 'module'; import { dirname, resolve } from 'path'; import { Script } from 'vm'; +import { assertIsError } from '../../utilities/error'; /** * Environment variable to control schematic package redirection @@ -153,6 +154,7 @@ function wrap( try { return schematicRequire(id); } catch (e) { + assertIsError(e); if (e.code !== 'MODULE_NOT_FOUND') { throw e; } diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index 12435682e6ba..d65cd78e4278 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -24,6 +24,7 @@ import { SchematicsCommandModule, } from '../../command-builder/schematics-command-module'; import { colors } from '../../utilities/color'; +import { assertIsError } from '../../utilities/error'; import { NgAddSaveDependency, PackageManifest, @@ -113,6 +114,7 @@ export class AddCommandModule try { packageIdentifier = npa(collection); } catch (e) { + assertIsError(e); logger.error(e.message); return 1; @@ -151,6 +153,7 @@ export class AddCommandModule verbose, }); } catch (e) { + assertIsError(e); spinner.fail(`Unable to load package information from registry: ${e.message}`); return 1; @@ -237,6 +240,7 @@ export class AddCommandModule spinner.succeed(`Package information loaded.`); } } catch (e) { + assertIsError(e); spinner.fail(`Unable to fetch package information for '${packageIdentifier}': ${e.message}`); return 1; @@ -341,6 +345,7 @@ export class AddCommandModule return true; } catch (e) { + assertIsError(e); if (e.code !== 'MODULE_NOT_FOUND') { throw e; } diff --git a/packages/angular/cli/src/commands/completion/cli.ts b/packages/angular/cli/src/commands/completion/cli.ts index 2bfd5a7152e7..f6166c28b325 100644 --- a/packages/angular/cli/src/commands/completion/cli.ts +++ b/packages/angular/cli/src/commands/completion/cli.ts @@ -12,6 +12,7 @@ import { CommandModule, CommandModuleImplementation } from '../../command-builde import { addCommandModuleToYargs } from '../../command-builder/utilities/command'; import { colors } from '../../utilities/color'; import { hasGlobalCliInstall, initializeAutocomplete } from '../../utilities/completion'; +import { assertIsError } from '../../utilities/error'; export class CompletionCommandModule extends CommandModule implements CommandModuleImplementation { command = 'completion'; @@ -27,6 +28,7 @@ export class CompletionCommandModule extends CommandModule implements CommandMod try { rcFile = await initializeAutocomplete(); } catch (err) { + assertIsError(err); this.context.logger.error(err.message); return 1; diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 219fdd60f19d..91f4613ef8cd 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -8,7 +8,7 @@ import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; import { NodeWorkflow } from '@angular-devkit/schematics/tools'; -import { execSync, spawnSync } from 'child_process'; +import { SpawnSyncReturns, execSync, spawnSync } from 'child_process'; import { existsSync, promises as fs } from 'fs'; import npa from 'npm-package-arg'; import pickManifest from 'npm-pick-manifest'; @@ -27,6 +27,7 @@ import { SchematicEngineHost } from '../../command-builder/utilities/schematic-e import { subscribeToWorkflow } from '../../command-builder/utilities/schematic-workflow'; import { colors } from '../../utilities/color'; import { disableVersionCheck } from '../../utilities/environment-options'; +import { assertIsError } from '../../utilities/error'; import { writeErrorToLogFile } from '../../utilities/log-file'; import { PackageIdentifier, @@ -211,6 +212,7 @@ export class UpdateCommandModule extends CommandModule { packages.push(packageIdentifier as PackageIdentifier); } catch (e) { + assertIsError(e); logger.error(e.message); return 1; @@ -281,6 +283,7 @@ export class UpdateCommandModule extends CommandModule { if (e instanceof UnsuccessfulWorkflowExecution) { logger.error(`${colors.symbols.cross} Migration failed. See above for further details.\n`); } else { + assertIsError(e); const logPath = writeErrorToLogFile(e); logger.fatal( `${colors.symbols.cross} Migration failed: ${e.message}\n` + @@ -484,6 +487,7 @@ export class UpdateCommandModule extends CommandModule { try { migrations = require.resolve(migrations, { paths: [packagePath] }); } catch (e) { + assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { logger.error('Migrations for package were not found.'); } else { @@ -577,6 +581,7 @@ export class UpdateCommandModule extends CommandModule { verbose: options.verbose, }); } catch (e) { + assertIsError(e); logger.error(`Error fetching metadata for '${packageName}': ` + e.message); return 1; @@ -593,6 +598,7 @@ export class UpdateCommandModule extends CommandModule { try { manifest = pickManifest(metadata, requestIdentifier.fetchSpec); } catch (e) { + assertIsError(e); if (e.code === 'ETARGET') { // If not found and next was used and user did not provide a specifier, try latest. // Package may not have a next tag. @@ -604,6 +610,7 @@ export class UpdateCommandModule extends CommandModule { try { manifest = pickManifest(metadata, 'latest'); } catch (e) { + assertIsError(e); if (e.code !== 'ETARGET' && e.code !== 'ENOVERSIONS') { throw e; } @@ -746,6 +753,7 @@ export class UpdateCommandModule extends CommandModule { }), ); } catch (e) { + assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { // Fallback to trying to resolve the package's main entry point packagePath = require.resolve(migration.package, { paths: [this.context.root] }); @@ -754,6 +762,7 @@ export class UpdateCommandModule extends CommandModule { } } } catch (e) { + assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { logVerbose(e.toString()); logger.error( @@ -781,6 +790,7 @@ export class UpdateCommandModule extends CommandModule { try { migrations = require.resolve(migration.collection, { paths: [packagePath] }); } catch (e) { + assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { logger.error(`Migrations for package (${migration.package}) were not found.`); } else { @@ -821,7 +831,7 @@ export class UpdateCommandModule extends CommandModule { try { commitNeeded = hasChangesToCommit(); } catch (err) { - logger.error(` Failed to read Git tree:\n${err.stderr}`); + logger.error(` Failed to read Git tree:\n${(err as SpawnSyncReturns).stderr}`); return false; } @@ -836,7 +846,9 @@ export class UpdateCommandModule extends CommandModule { try { createCommit(message); } catch (err) { - logger.error(`Failed to commit update (${message}):\n${err.stderr}`); + logger.error( + `Failed to commit update (${message}):\n${(err as SpawnSyncReturns).stderr}`, + ); return false; } diff --git a/packages/angular/cli/src/commands/update/schematic/index.ts b/packages/angular/cli/src/commands/update/schematic/index.ts index 11b1d7582627..e2a48d6b01e0 100644 --- a/packages/angular/cli/src/commands/update/schematic/index.ts +++ b/packages/angular/cli/src/commands/update/schematic/index.ts @@ -11,6 +11,7 @@ import { Rule, SchematicContext, SchematicsException, Tree } from '@angular-devk import * as npa from 'npm-package-arg'; import type { Manifest } from 'pacote'; import * as semver from 'semver'; +import { assertIsError } from '../../../utilities/error'; import { NgPackageManifestProperties, NpmRepositoryPackageJson, @@ -269,6 +270,7 @@ function _performUpdate( try { packageJson = JSON.parse(packageJsonContent.toString()) as JsonSchemaForNpmPackageJsonFiles; } catch (e) { + assertIsError(e); throw new SchematicsException('package.json could not be parsed: ' + e.message); } @@ -772,6 +774,7 @@ function _getAllDependencies(tree: Tree): Array try { packageJson = JSON.parse(packageJsonContent.toString()) as JsonSchemaForNpmPackageJsonFiles; } catch (e) { + assertIsError(e); throw new SchematicsException('package.json could not be parsed: ' + e.message); } diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index d95d60c79b33..11cfdc6ce281 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -15,6 +15,7 @@ import { colors } from '../utilities/color'; import { getWorkspace } from '../utilities/config'; import { forceAutocomplete } from '../utilities/environment-options'; import { isTTY } from '../utilities/tty'; +import { assertIsError } from './error'; /** Interface for the autocompletion configuration stored in the global workspace. */ interface CompletionConfig { @@ -64,6 +65,7 @@ Ok, you won't be prompted again. Should you change your mind, the following comm try { rcFile = await initializeAutocomplete(); } catch (err) { + assertIsError(err); // Failed to set up autocompeletion, log the error and abort. logger.error(err.message); @@ -247,6 +249,7 @@ export async function initializeAutocomplete(): Promise { '\n\n# Load Angular CLI autocompletion.\nsource <(ng completion script)\n', ); } catch (err) { + assertIsError(err); throw new Error(`Failed to append autocompletion setup to \`${rcFile}\`:\n${err.message}`); } diff --git a/packages/angular/cli/src/utilities/error.ts b/packages/angular/cli/src/utilities/error.ts new file mode 100644 index 000000000000..1e7644690f12 --- /dev/null +++ b/packages/angular/cli/src/utilities/error.ts @@ -0,0 +1,13 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import assert from 'assert'; + +export function assertIsError(value: unknown): asserts value is Error & { code?: string } { + assert(value instanceof Error, 'catch clause variable is not an Error instance'); +} From e2c7502730a69e8b4b15bd0d4abccac7321b79f3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Jun 2022 14:29:20 +0000 Subject: [PATCH 0515/1388] test: split module resolutions E2E in multiple tests This test does a large number of builds by spliting the tests, in CI we can reduce the blocking time for other tests. Locally this tests take ~3 mins in CI. --- .../e2e/tests/misc/module-resolution.ts | 84 ------------------- .../module-resolution-core-mapping.ts | 41 +++++++++ .../module-resolution-firebase.ts | 45 ++++++++++ 3 files changed, 86 insertions(+), 84 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/misc/module-resolution.ts create mode 100644 tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-core-mapping.ts create mode 100644 tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts diff --git a/tests/legacy-cli/e2e/tests/misc/module-resolution.ts b/tests/legacy-cli/e2e/tests/misc/module-resolution.ts deleted file mode 100644 index 1314fb4a3c0e..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/module-resolution.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { appendToFile, createDir, moveFile, prependToFile } from '../../utils/fs'; -import { installPackage } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; - -export default async function () { - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '*': ['./node_modules/*'], - }; - }); - await ng('build', '--configuration=development'); - - await createDir('xyz'); - await moveFile('node_modules/@angular/common', 'xyz/common'); - - await expectToFail(() => ng('build', '--configuration=development')); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@angular/common': ['./xyz/common'], - }; - }); - await ng('build', '--configuration=development'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '*': ['./node_modules/*'], - '@angular/common': ['./xyz/common'], - }; - }); - await ng('build', '--configuration=development'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@angular/common': ['./xyz/common'], - '*': ['./node_modules/*'], - }; - }); - await ng('build', '--configuration=development'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - delete tsconfig.compilerOptions.paths; - }); - - await prependToFile('src/app/app.module.ts', "import * as firebase from 'firebase';"); - await appendToFile('src/app/app.module.ts', 'firebase.initializeApp({});'); - - await installPackage('firebase@3.7.8'); - await ng('build', '--aot', '--configuration=development'); - await ng('test', '--watch=false'); - - await installPackage('firebase@4.9.0'); - await ng('build', '--aot', '--configuration=development'); - await ng('test', '--watch=false'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = {}; - }); - await ng('build', '--configuration=development'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@app/*': ['*'], - '@lib/*/test': ['*/test'], - }; - }); - await ng('build', '--configuration=development'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@firebase/polyfill': ['./node_modules/@firebase/polyfill/index.ts'], - }; - }); - await expectToFail(() => ng('build', '--configuration=development')); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@firebase/polyfill*': ['./node_modules/@firebase/polyfill/index.ts'], - }; - }); - await expectToFail(() => ng('build', '--configuration=development')); -} diff --git a/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-core-mapping.ts b/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-core-mapping.ts new file mode 100644 index 000000000000..2efae0ea5419 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-core-mapping.ts @@ -0,0 +1,41 @@ +import { createDir, moveFile } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; +import { expectToFail } from '../../../utils/utils'; + +export default async function () { + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '*': ['./node_modules/*'], + }; + }); + await ng('build', '--configuration=development'); + + await createDir('xyz'); + await moveFile('node_modules/@angular/common', 'xyz/common'); + await expectToFail(() => ng('build', '--configuration=development')); + + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '@angular/common': ['./xyz/common'], + }; + }); + await ng('build', '--configuration=development'); + + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '*': ['./node_modules/*'], + '@angular/common': ['./xyz/common'], + }; + }); + await ng('build', '--configuration=development'); + + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '@angular/common': ['./xyz/common'], + '*': ['./node_modules/*'], + }; + }); + await ng('build', '--configuration=development'); + await moveFile('xyz/common', 'node_modules/@angular/common'); +} diff --git a/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts b/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts new file mode 100644 index 000000000000..329ad2ef6e6a --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts @@ -0,0 +1,45 @@ +import { appendToFile, prependToFile } from '../../../utils/fs'; +import { installPackage } from '../../../utils/packages'; +import { ng } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; +import { expectToFail } from '../../../utils/utils'; + +export default async function () { + await updateJsonFile('tsconfig.json', (tsconfig) => { + delete tsconfig.compilerOptions.paths; + }); + + await prependToFile('src/app/app.module.ts', "import * as firebase from 'firebase';"); + await appendToFile('src/app/app.module.ts', 'firebase.initializeApp({});'); + + await installPackage('firebase@4.9.0'); + await ng('build', '--aot', '--configuration=development'); + + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = {}; + }); + + await ng('build', '--configuration=development'); + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '@app/*': ['*'], + '@lib/*/test': ['*/test'], + }; + }); + + await ng('build', '--configuration=development'); + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '@firebase/polyfill': ['./node_modules/@firebase/polyfill/index.ts'], + }; + }); + + await expectToFail(() => ng('build', '--configuration=development')); + + await updateJsonFile('tsconfig.json', (tsconfig) => { + tsconfig.compilerOptions.paths = { + '@firebase/polyfill*': ['./node_modules/@firebase/polyfill/index.ts'], + }; + }); + await expectToFail(() => ng('build', '--configuration=development')); +} From 581602e8e73edde63748ceeed1564b5d49b68b8c Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 8 Jun 2022 16:19:21 -0700 Subject: [PATCH 0516/1388] test: use random port for ng serve e2e tests --- tests/legacy-cli/e2e/tests/basic/rebuild.ts | 13 ++++++++----- tests/legacy-cli/e2e/tests/basic/serve.ts | 12 ++++++------ .../e2e/tests/commands/serve/serve-path.ts | 9 +++++---- tests/legacy-cli/e2e/tests/misc/fallback.ts | 4 ++-- tests/legacy-cli/e2e/tests/misc/proxy-config.ts | 2 +- tests/legacy-cli/e2e/tests/misc/public-host.ts | 10 +++++----- tests/legacy-cli/e2e/tests/misc/ssl-default.ts | 4 ++-- tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts | 4 ++-- tests/legacy-cli/e2e/utils/network.ts | 13 +++++++++++++ tests/legacy-cli/e2e/utils/project.ts | 13 +++++++++++-- tests/legacy-cli/e2e_runner.ts | 14 +------------- 11 files changed, 56 insertions(+), 42 deletions(-) create mode 100644 tests/legacy-cli/e2e/utils/network.ts diff --git a/tests/legacy-cli/e2e/tests/basic/rebuild.ts b/tests/legacy-cli/e2e/tests/basic/rebuild.ts index 486e6d3fb2c1..a1af3e836328 100644 --- a/tests/legacy-cli/e2e/tests/basic/rebuild.ts +++ b/tests/legacy-cli/e2e/tests/basic/rebuild.ts @@ -7,12 +7,15 @@ import { import { writeFile, writeMultipleFiles } from '../../utils/fs'; import { wait } from '../../utils/utils'; import fetch from 'node-fetch'; +import { findFreePort } from '../../utils/network'; const validBundleRegEx = / Compiled successfully./; -export default function () { +export default async function () { + const port = await findFreePort(); + return ( - execAndWaitForOutputToMatch('ng', ['serve'], validBundleRegEx) + execAndWaitForOutputToMatch('ng', ['serve', '--port', String(port)], validBundleRegEx) // Add a lazy module. .then(() => ng('generate', 'module', 'lazy', '--routing')) // Should trigger a rebuild with a new bundle. @@ -136,7 +139,7 @@ export default function () { ]), ) .then(() => wait(2000)) - .then(() => fetch('http://localhost:4200/main.js')) + .then(() => fetch(`http://localhost:${port}/main.js`)) .then((response) => response.text()) .then((body) => { if (!body.match(/\$\$_E2E_GOLDEN_VALUE_1/)) { @@ -158,7 +161,7 @@ export default function () { ]), ) .then(() => wait(2000)) - .then(() => fetch('http://localhost:4200/main.js')) + .then(() => fetch(`http://localhost:${port}/main.js`)) .then((response) => response.text()) .then((body) => { if (!body.match(/testingTESTING123/)) { @@ -174,7 +177,7 @@ export default function () { ]), ) .then(() => wait(2000)) - .then(() => fetch('http://localhost:4200/main.js')) + .then(() => fetch(`http://localhost:${port}/main.js`)) .then((response) => response.text()) .then((body) => { if (!body.match(/color:\s?blue/)) { diff --git a/tests/legacy-cli/e2e/tests/basic/serve.ts b/tests/legacy-cli/e2e/tests/basic/serve.ts index 9078c4779fd0..f0e893f2c538 100644 --- a/tests/legacy-cli/e2e/tests/basic/serve.ts +++ b/tests/legacy-cli/e2e/tests/basic/serve.ts @@ -5,20 +5,20 @@ import { ngServe } from '../../utils/project'; export default async function () { try { // Serve works without HMR - await ngServe('--no-hmr'); - await verifyResponse(); + const noHmrPort = await ngServe('--no-hmr'); + await verifyResponse(noHmrPort); await killAllProcesses(); // Serve works with HMR - await ngServe('--hmr'); - await verifyResponse(); + const hmrPort = await ngServe('--hmr'); + await verifyResponse(hmrPort); } finally { await killAllProcesses(); } } -async function verifyResponse(): Promise { - const response = await fetch('http://localhost:4200/'); +async function verifyResponse(port: number): Promise { + const response = await fetch(`http://localhost:${port}/`); if (!/<\/app-root>/.test(await response.text())) { throw new Error('Response does not match expected value.'); diff --git a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts index 6217656a2a85..d5783b788363 100644 --- a/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts +++ b/tests/legacy-cli/e2e/tests/commands/serve/serve-path.ts @@ -3,17 +3,18 @@ import fetch from 'node-fetch'; import { killAllProcesses } from '../../../utils/process'; import { ngServe } from '../../../utils/project'; -export default function () { +export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. + const port = await ngServe('--serve-path', 'test/'); + return Promise.resolve() - .then(() => ngServe('--serve-path', 'test/')) - .then(() => fetch('http://localhost:4200/test', { headers: { 'Accept': 'text/html' } })) + .then(() => fetch(`http://localhost:${port}/test`, { headers: { 'Accept': 'text/html' } })) .then(async (response) => { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); }) - .then(() => fetch('http://localhost:4200/test/abc', { headers: { 'Accept': 'text/html' } })) + .then(() => fetch(`http://localhost:${port}/test/abc`, { headers: { 'Accept': 'text/html' } })) .then(async (response) => { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); diff --git a/tests/legacy-cli/e2e/tests/misc/fallback.ts b/tests/legacy-cli/e2e/tests/misc/fallback.ts index bb3b27b150bc..925d694a4800 100644 --- a/tests/legacy-cli/e2e/tests/misc/fallback.ts +++ b/tests/legacy-cli/e2e/tests/misc/fallback.ts @@ -12,7 +12,7 @@ export default function () { return ( Promise.resolve() .then(() => ngServe()) - .then(() => fetch('http://localhost:4200/', { headers: { 'Accept': 'text/html' } })) + .then((port) => fetch(`http://localhost:${port}/`, { headers: { 'Accept': 'text/html' } })) .then(async (response) => { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); @@ -27,7 +27,7 @@ export default function () { }), ) .then(() => ngServe()) - .then(() => fetch('http://localhost:4200/', { headers: { 'Accept': 'text/html' } })) + .then((port) => fetch(`http://localhost:${port}/`, { headers: { 'Accept': 'text/html' } })) .then(async (response) => { assert.strictEqual(response.status, 200); assert.match(await response.text(), /<\/app-root>/); diff --git a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts index ff860a0a78ae..edc0619ad76c 100644 --- a/tests/legacy-cli/e2e/tests/misc/proxy-config.ts +++ b/tests/legacy-cli/e2e/tests/misc/proxy-config.ts @@ -34,7 +34,7 @@ export default function () { return Promise.resolve() .then(() => writeFile(proxyConfigFile, JSON.stringify(proxyConfig, null, 2))) .then(() => ngServe('--proxy-config', proxyConfigFile)) - .then(() => fetch('http://localhost:4200/api/test')) + .then((port) => fetch(`http://localhost:${port}/api/test`)) .then(async (response) => { assert.strictEqual(response.status, 200); assert.match(await response.text(), /TEST_API_RETURN/); diff --git a/tests/legacy-cli/e2e/tests/misc/public-host.ts b/tests/legacy-cli/e2e/tests/misc/public-host.ts index bf1e74448694..6b5aa3c52dfc 100644 --- a/tests/legacy-cli/e2e/tests/misc/public-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/public-host.ts @@ -11,12 +11,12 @@ export default function () { .filter((ni) => ni?.family === 'IPv4' && !ni?.internal) .map((ni) => ni!.address) .shift(); - const publicHost = `${firstLocalIp}:4200`; + const publicHost = `${firstLocalIp}`; const localAddress = `http://${publicHost}`; return Promise.resolve() .then(() => ngServe('--host=0.0.0.0', `--public-host=${publicHost}`)) - .then(() => fetch(localAddress)) + .then((port) => fetch(`${localAddress}:${port}`)) .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { @@ -25,7 +25,7 @@ export default function () { }) .then(() => killAllProcesses()) .then(() => ngServe('--host=0.0.0.0', `--disable-host-check`)) - .then(() => fetch(localAddress)) + .then((port) => fetch(`${localAddress}:${port}`)) .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { @@ -35,7 +35,7 @@ export default function () { .then(() => killAllProcesses()) .then(() => ngServe('--host=0.0.0.0', `--public-host=${localAddress}`)) - .then(() => fetch(localAddress)) + .then((port) => fetch(`${localAddress}:${port}`)) .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { @@ -44,7 +44,7 @@ export default function () { }) .then(() => killAllProcesses()) .then(() => ngServe('--host=0.0.0.0', `--public-host=${firstLocalIp}`)) - .then(() => fetch(localAddress)) + .then((port) => fetch(`${localAddress}:${port}`)) .then((response) => response.text()) .then((body) => { if (!body.match(/<\/app-root>/)) { diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts index 0dd010337a60..c985df57b798 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts @@ -8,9 +8,9 @@ export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. try { - await ngServe('--ssl', 'true'); + const port = await ngServe('--ssl', 'true'); - const response = await fetch('https://localhost:4200/', { + const response = await fetch(`https://localhost:${port}/`, { agent: new Agent({ rejectUnauthorized: false }), }); diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts index 4ff12a5b2232..d1f107cd0e4e 100644 --- a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts +++ b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts @@ -9,7 +9,7 @@ export default async function () { // TODO(architect): Delete this test. It is now in devkit/build-angular. try { - await ngServe( + const port = await ngServe( '--ssl', 'true', '--ssl-key', @@ -18,7 +18,7 @@ export default async function () { assetDir('ssl/server.crt'), ); - const response = await fetch('https://localhost:4200/', { + const response = await fetch(`https://localhost:${port}/`, { agent: new Agent({ rejectUnauthorized: false }), }); diff --git a/tests/legacy-cli/e2e/utils/network.ts b/tests/legacy-cli/e2e/utils/network.ts new file mode 100644 index 000000000000..e7cff34eec9c --- /dev/null +++ b/tests/legacy-cli/e2e/utils/network.ts @@ -0,0 +1,13 @@ +import { AddressInfo, createServer } from 'net'; + +export function findFreePort() { + return new Promise((resolve, reject) => { + const srv = createServer(); + srv.once('listening', () => { + const port = (srv.address() as AddressInfo).port; + srv.close((e) => (e ? reject(e) : resolve(port))); + }); + srv.once('error', (e) => srv.close(() => reject(e))); + srv.listen(); + }); +} diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index f55194f3b8aa..3f750464dd3e 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -6,6 +6,7 @@ import { packages } from '../../../../lib/packages'; import { getGlobalVariable } from './env'; import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; +import { findFreePort } from './network'; import { installWorkspacePackages } from './packages'; import { exec, execAndWaitForOutputToMatch, git, ng } from './process'; @@ -23,8 +24,16 @@ export function updateTsConfig(fn: (json: any) => any | void) { return updateJsonFile('tsconfig.json', fn); } -export function ngServe(...args: string[]) { - return execAndWaitForOutputToMatch('ng', ['serve', ...args], / Compiled successfully./); +export async function ngServe(...args: string[]) { + const port = await findFreePort(); + + await execAndWaitForOutputToMatch( + 'ng', + ['serve', '--port', String(port), ...args], + / Compiled successfully./, + ); + + return port; } export async function prepareProjectForE2e(name: string) { const argv: yargsParser.Arguments = getGlobalVariable('argv'); diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 5dab8c769449..1cbe21956ede 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -7,9 +7,9 @@ import * as path from 'path'; import { getGlobalVariable, setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; -import { AddressInfo, createServer } from 'net'; import { launchTestProcess } from './e2e/utils/process'; import { join } from 'path'; +import { findFreePort } from './e2e/utils/network'; Error.stackTraceLimit = Infinity; @@ -254,15 +254,3 @@ function printFooter(testName: string, type: 'setup' | 'initializer' | 'test', s console.log(colors.green(`Last ${type} took `) + colors.bold.blue('' + t) + colors.green('s...')); console.log(''); } - -function findFreePort() { - return new Promise((resolve, reject) => { - const srv = createServer(); - srv.once('listening', () => { - const port = (srv.address() as AddressInfo).port; - srv.close((e) => (e ? reject(e) : resolve(port))); - }); - srv.once('error', (e) => srv.close(() => reject(e))); - srv.listen(); - }); -} From 58c2c09506b2f7353ee18106a534ab0713b9b598 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 8 Jun 2022 16:49:20 -0700 Subject: [PATCH 0517/1388] test: use random port for e2e express http server tests --- .../e2e/tests/i18n/ivy-localize-basehref.ts | 16 +++++++--- .../e2e/tests/i18n/ivy-localize-es2015.ts | 5 +-- .../e2e/tests/i18n/ivy-localize-es5.ts | 5 +-- .../i18n/ivy-localize-locale-data-augment.ts | 5 +-- .../e2e/tests/i18n/ivy-localize-server.ts | 6 ++-- .../tests/i18n/ivy-localize-serviceworker.ts | 8 ++--- tests/legacy-cli/e2e/tests/i18n/setup.ts | 32 ++++++++++++++++--- 7 files changed, 56 insertions(+), 21 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts index b55cffc22f8d..79854bfb193d 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts @@ -59,13 +59,17 @@ export default async function () { await ng('e2e', `--configuration=${lang}`, '--port=0'); // Execute Application E2E tests for a production build without dev server - const server = externalServer(outputPath, (baseHrefs[lang] as string) || '/'); + const { server, port, url } = await externalServer( + outputPath, + (baseHrefs[lang] as string) || '/', + ); try { await ng( 'e2e', + `--port=${port}`, `--configuration=${lang}`, '--dev-server-target=', - `--base-url=http://localhost:4200${baseHrefs[lang] || '/'}`, + `--base-url=${url}`, ); } finally { server.close(); @@ -89,13 +93,17 @@ export default async function () { await ng('e2e', `--configuration=${lang}`, '--port=0'); // Execute Application E2E tests for a production build without dev server - const server = externalServer(outputPath, '/test' + (baseHrefs[lang] || '/')); + const { server, port, url } = await externalServer( + outputPath, + '/test' + (baseHrefs[lang] || '/'), + ); try { await ng( 'e2e', + `--port=${port}`, `--configuration=${lang}`, '--dev-server-target=', - `--base-url=http://localhost:4200/test${baseHrefs[lang] || '/'}`, + `--base-url=${url}`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts index 70d49f5994cf..65fcfb0cbdbb 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts @@ -40,13 +40,14 @@ export default async function () { await ng('e2e', `--configuration=${lang}`, '--port=0'); // Execute Application E2E tests for a production build without dev server - const server = externalServer(outputPath, `/${lang}/`); + const { server, port, url } = await externalServer(outputPath, `/${lang}/`); try { await ng( 'e2e', + `--port=${port}`, `--configuration=${lang}`, '--dev-server-target=', - `--base-url=http://localhost:4200/${lang}/`, + `--base-url=${url}`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts index 8e996d396e85..5dbfbc402b7e 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts @@ -44,13 +44,14 @@ export default async function () { await ng('e2e', `--configuration=${lang}`, '--port=0'); // Execute Application E2E tests for a production build without dev server - const server = externalServer(outputPath, `/${lang}/`); + const { server, port, url } = await externalServer(outputPath, `/${lang}/`); try { await ng( 'e2e', + `--port=${port}`, `--configuration=${lang}`, '--dev-server-target=', - `--base-url=http://localhost:4200/${lang}/`, + `--base-url=${url}`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts index b1a9eaf307db..db45baf074b4 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts @@ -43,13 +43,14 @@ export default async function () { await ng('e2e', `--configuration=${lang}`, '--port=0'); // Execute Application E2E tests for a production build without dev server - const server = externalServer(outputPath, `/${lang}/`); + const { server, port, url } = await externalServer(outputPath, `/${lang}/`); try { await ng( 'e2e', + `--port=${port}`, `--configuration=${lang}`, '--dev-server-target=', - `--base-url=http://localhost:4200/${lang}/`, + `--base-url=${url}`, ); } finally { server.close(); diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts index 82447344ad8e..91b598768302 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts @@ -2,6 +2,7 @@ import express from 'express'; import { join } from 'path'; import { getGlobalVariable } from '../../utils/env'; import { appendToFile, expectFileToMatch, writeFile } from '../../utils/fs'; +import { findFreePort } from '../../utils/network'; import { installWorkspacePackages } from '../../utils/packages'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -13,6 +14,7 @@ const snapshots = require('../../ng-snapshot/package.json'); export default async function () { // TODO: Re-enable pending further Ivy/Universal/i18n work return; + const port = await findFreePort(); // Setup i18n tests and config. await setupI18nConfig(); @@ -113,10 +115,10 @@ export default async function () { const { i18nApp } = (await import(serverBundle)) as { i18nApp(locale: string): express.Express; }; - const server = i18nApp(lang).listen(4200, 'localhost'); + const server = i18nApp(lang).listen(port, 'localhost'); try { // Execute without a devserver. - await ng('e2e', `--configuration=${lang}`, '--dev-server-target='); + await ng('e2e', `--port=${port}`, `--configuration=${lang}`, '--dev-server-target='); } finally { server.close(); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts index 297e4225d179..c95fd000059c 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts @@ -8,11 +8,13 @@ import { replaceInFile, writeFile, } from '../../utils/fs'; +import { findFreePort } from '../../utils/network'; import { installPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; import { readNgVersion } from '../../utils/version'; +import { externalServer } from './setup'; export default async function () { // TEMP: disable pending i18n updates @@ -154,9 +156,7 @@ export default async function () { await expectFileToExist(`${baseDir}/${lang}/ngsw.json`); // Ivy i18n doesn't yet work with `ng serve` so we must use a separate server. - const app = express(); - app.use(express.static(resolve(baseDir, lang))); - const server = app.listen(4200, 'localhost'); + const { server, port } = await externalServer(resolve(baseDir, lang)); try { // Add E2E test for locale await writeFile( @@ -180,7 +180,7 @@ export default async function () { ); // Execute without a devserver. - await ng('e2e', '--dev-server-target='); + await ng('e2e', '--dev-server-target=', `--port=${port}`); } finally { server.close(); } diff --git a/tests/legacy-cli/e2e/tests/i18n/setup.ts b/tests/legacy-cli/e2e/tests/i18n/setup.ts index d7954d6e5d59..816f3bd8f2ad 100644 --- a/tests/legacy-cli/e2e/tests/i18n/setup.ts +++ b/tests/legacy-cli/e2e/tests/i18n/setup.ts @@ -9,11 +9,13 @@ import { replaceInFile, writeFile, } from '../../utils/fs'; +import { findFreePort } from '../../utils/network'; import { installPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; import { readNgVersion } from '../../utils/version'; +import { Server } from 'http'; +import { AddressInfo } from 'net'; // Configurations for each locale. export const baseDir = 'dist/test-project'; @@ -67,13 +69,33 @@ export const langTranslations = [ ]; export const sourceLocale = langTranslations[0].lang; -export const externalServer = (outputPath: string, baseUrl = '/') => { +export interface ExternalServer { + readonly server: Server; + readonly port: number; + readonly url: string; +} + +/** + * Create an `express` `http.Server` listening on a random port. + * + * Call .close() on the server return value to close the server. + */ +export async function externalServer(outputPath: string, baseUrl = '/'): Promise { const app = express(); app.use(baseUrl, express.static(resolve(outputPath))); - // call .close() on the return value to close the server. - return app.listen(4200, 'localhost'); -}; + return new Promise((resolve) => { + const server = app.listen(0, 'localhost', () => { + const { port } = server.address() as AddressInfo; + + resolve({ + server, + port, + url: `http://localhost:${port}${baseUrl}`, + }); + }); + }); +} export const formats = { 'xlf': { From c0f74826e4d6424497ece5dc7b112a004a4d3899 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 9 Jun 2022 07:44:23 +0000 Subject: [PATCH 0518/1388] build: update dependency aspect_bazel_lib to v1 --- WORKSPACE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 8e23fc8c0b83..e026212e2379 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "5f2cb843d812a25bd4c137b12776898cd7083408c7302155f9f082c88a9e955f", - strip_prefix = "bazel-lib-0.11.8", - url = "https://github.com/aspect-build/bazel-lib/archive/v0.11.8.tar.gz", + sha256 = "b381ac4dca544ecc5515916f38066e9793628477e2577edb7b2ab04e8c210738", + strip_prefix = "bazel-lib-1.0.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.0.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") From e73c968b3d33fcfe584d352a7cb2c6ae58282095 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 10:12:53 +0000 Subject: [PATCH 0519/1388] test: reduce disk-cache E2E tests duration We don't need to include all applications code to verify disk cache existence. This reduces the test duration of `disk-cache.ts` by a whopping `~65s` since this tests runs `ng build` 5 times and `disk-cache-purge.ts` by `~13s`. These timings were gathered using gLinux and is expected that the gain is more significant on Circle CI Linux and Windows executors. --- tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts | 6 +++++- tests/legacy-cli/e2e/tests/build/disk-cache.ts | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts b/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts index 732117419bed..f63a5e8d8565 100644 --- a/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts +++ b/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts @@ -1,5 +1,5 @@ import { join } from 'path'; -import { createDir, expectFileNotToExist, expectFileToExist } from '../../utils/fs'; +import { createDir, expectFileNotToExist, expectFileToExist, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -7,6 +7,10 @@ export default async function () { const cachePath = '.angular/cache'; const staleCachePath = join(cachePath, 'v1.0.0'); + // No need to include all applications code to verify disk cache existence. + await writeFile('src/main.ts', 'console.log(1);'); + await writeFile('src/polyfills.ts', 'console.log(1);'); + // Enable cache for all environments await updateJsonFile('angular.json', (config) => { config.cli ??= {}; diff --git a/tests/legacy-cli/e2e/tests/build/disk-cache.ts b/tests/legacy-cli/e2e/tests/build/disk-cache.ts index 41922040a03e..a20f06115bac 100644 --- a/tests/legacy-cli/e2e/tests/build/disk-cache.ts +++ b/tests/legacy-cli/e2e/tests/build/disk-cache.ts @@ -1,4 +1,4 @@ -import { expectFileNotToExist, expectFileToExist, rimraf } from '../../utils/fs'; +import { expectFileNotToExist, expectFileToExist, rimraf, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -8,6 +8,10 @@ const overriddenCachePath = '.cache/angular-cli'; export default async function () { const originalCIValue = process.env['CI']; + // No need to include all applications code to verify disk cache existence. + await writeFile('src/main.ts', 'console.log(1);'); + await writeFile('src/polyfills.ts', 'console.log(1);'); + try { // Should be enabled by default. process.env['CI'] = '0'; From 7f4612db434cd7982d5320b41841d09810ce081c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 10:31:09 +0000 Subject: [PATCH 0520/1388] test: always install a compatible version of `@angular/material-moment-adapter` When not install a compatible version tests can fail due example https://app.circleci.com/pipelines/github/angular/angular-cli/23342/workflows/77ac48f1-1445-4722-9294-7841afc0b2cc/jobs/309894 --- tests/legacy-cli/e2e/tests/build/material.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 1fd59a28f03f..a010ea834791 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -1,5 +1,5 @@ import { getGlobalVariable } from '../../utils/env'; -import { replaceInFile } from '../../utils/fs'; +import { readFile, replaceInFile } from '../../utils/fs'; import { installPackage, installWorkspacePackages } from '../../utils/packages'; import { ng } from '../../utils/process'; import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; @@ -7,7 +7,7 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - const tag = (await isPrereleaseCli()) ? '@next' : ''; + let tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; @@ -25,9 +25,14 @@ export default async function () { dependencies['@angular/material-moment-adapter'] = snapshots.dependencies['@angular/material-moment-adapter']; }); - await installWorkspacePackages(); } else { + if (!tag) { + const installedMaterialVersion = JSON.parse(await readFile('package.json'))['dependencies'][ + '@angular/material' + ]; + tag = `@${installedMaterialVersion}`; + } await installPackage(`@angular/material-moment-adapter${tag}`); } From dc544d9d98bd4f3bf2c80d5813ed8abe15799285 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 08:04:05 +0000 Subject: [PATCH 0521/1388] test: delete disable ivy i18n server test Server i18n is testing in the app-shell test. --- .../e2e/tests/i18n/ivy-localize-server.ts | 132 ------------------ 1 file changed, 132 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts deleted file mode 100644 index 91b598768302..000000000000 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-server.ts +++ /dev/null @@ -1,132 +0,0 @@ -import express from 'express'; -import { join } from 'path'; -import { getGlobalVariable } from '../../utils/env'; -import { appendToFile, expectFileToMatch, writeFile } from '../../utils/fs'; -import { findFreePort } from '../../utils/network'; -import { installWorkspacePackages } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; -import { langTranslations, setupI18nConfig } from './setup'; - -const snapshots = require('../../ng-snapshot/package.json'); - -export default async function () { - // TODO: Re-enable pending further Ivy/Universal/i18n work - return; - const port = await findFreePort(); - - // Setup i18n tests and config. - await setupI18nConfig(); - - // Add universal to the project - const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; - await ng('add', '@nguniversal/express-engine@9.0.0-next.6', '--skip-install'); - - if (isSnapshotBuild) { - await updateJsonFile('package.json', (packageJson) => { - const dependencies = packageJson['dependencies']; - dependencies['@angular/platform-server'] = snapshots.dependencies['@angular/platform-server']; - }); - } - - await installWorkspacePackages(); - - const serverbaseDir = 'dist/test-project/server'; - const serverBuildArgs = ['run', 'test-project:server']; - - // Add server-specific config. - await updateJsonFile('angular.json', (workspaceJson) => { - const appProject = workspaceJson.projects['test-project']; - const appArchitect = appProject.architect || appProject.targets; - const serverOptions = appArchitect['server'].options; - - serverOptions.optimization = true; - serverOptions.fileReplacements = [ - { - replace: 'src/environments/environment.ts', - with: 'src/environments/environment.prod.ts', - }, - ]; - - // Enable localization for all locales - // TODO: re-enable all locales once localeData support is added. - // serverOptions.localize = true; - serverOptions.localize = ['fr']; - // Always error on missing translations. - serverOptions.i18nMissingTranslation = 'error'; - }); - - // Override 'main.ts' so that we never bootstrap the client side - // This is needed so that we can we can run E2E test against the server view - await writeFile( - 'src/main.ts', - ` - import { enableProdMode } from '@angular/core'; - - import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; - - if (environment.production) { - enableProdMode(); - } - `, - ); - - // By default the 'server.ts' doesn't support localized dist folders, - // so we create a copy of 'app' function with a locale parameter. - await appendToFile( - 'server.ts', - ` - export function i18nApp(locale: string) { - const server = express(); - const distFolder = join(process.cwd(), \`dist/test-project/browser/\${locale}\`); - - server.engine('html', ngExpressEngine({ - bootstrap: AppServerModule, - })); - - server.set('view engine', 'html'); - server.set('views', distFolder); - - server.get('*.*', express.static(distFolder, { - maxAge: '1y' - })); - - server.get('*', (req, res) => { - res.render('index', { req }); - }); - - return server; - } - `, - ); - - // Build each locale and verify the output. - await ng('build'); - await ng(...serverBuildArgs); - - for (const { lang, translation } of langTranslations) { - await expectFileToMatch(`${serverbaseDir}/${lang}/main.js`, translation.helloPartial); - await expectToFail(() => expectFileToMatch(`${serverbaseDir}/${lang}/main.js`, '$localize`')); - - // Run the server - const serverBundle = join(process.cwd(), `${serverbaseDir}/${lang}/main.js`); - const { i18nApp } = (await import(serverBundle)) as { - i18nApp(locale: string): express.Express; - }; - const server = i18nApp(lang).listen(port, 'localhost'); - try { - // Execute without a devserver. - await ng('e2e', `--port=${port}`, `--configuration=${lang}`, '--dev-server-target='); - } finally { - server.close(); - } - } - - // Verify missing translation behaviour. - await appendToFile('src/app/app.component.html', '

Other content

'); - await ng(...serverBuildArgs, '--i18n-missing-translation', 'ignore'); - await expectFileToMatch(`${serverbaseDir}/fr/main.js`, /Other content/); - await expectToFail(() => ng(...serverBuildArgs)); -} From d827e84d96c5f905cc764514738ca0c6a86d91fa Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 08:23:12 +0000 Subject: [PATCH 0522/1388] test: re-enable i18n app-shell tests No reason for this to be kept disabled since the missing functionality has been now added. --- tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts index d029e6b138b6..a0f828e8c800 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts @@ -2,7 +2,6 @@ import { getGlobalVariable } from '../../utils/env'; import { appendToFile, copyFile, - expectFileToExist, expectFileToMatch, replaceInFile, writeFile, @@ -15,10 +14,6 @@ import { readNgVersion } from '../../utils/version'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - // TEMP: disable pending i18n updates - // TODO: when re-enabling, use setupI18nConfig and helpers like other i18n tests. - return; - const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; await updateJsonFile('package.json', (packageJson) => { @@ -79,7 +74,6 @@ export default async function () { serverOptions.localize = true; // Add locale definitions to the project - // tslint:disable-next-line: no-any const i18n: Record = (appProject.i18n = { locales: {} }); for (const { lang } of langTranslations) { if (lang == 'en-US') { @@ -105,7 +99,6 @@ export default async function () { // Extract the translation messages and copy them for each language. await ng('extract-i18n', '--output-path=src/locale'); - await expectFileToExist('src/locale/messages.xlf'); await expectFileToMatch('src/locale/messages.xlf', `source-language="en-US"`); await expectFileToMatch('src/locale/messages.xlf', `An introduction header for this sample`); @@ -131,7 +124,6 @@ export default async function () { // Build each locale and verify the output. await ng('run', 'test-project:app-shell'); - for (const { lang, translation } of langTranslations) { await expectFileToMatch(`${browserBaseDir}/${lang}/index.html`, translation); } From 3da6c62fee83875bf35d95dee2e3da555c531ac1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 08:34:05 +0000 Subject: [PATCH 0523/1388] test: remove old no longer relevant tests --- .../generate/component/component-flag-case.ts | 34 ------------------- .../legacy-cli/e2e/tests/misc/update-help.ts | 11 ------ 2 files changed, 45 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/update-help.ts diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts b/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts deleted file mode 100644 index 8ca2ef518855..000000000000 --- a/tests/legacy-cli/e2e/tests/generate/component/component-flag-case.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { join } from 'path'; -import { ng } from '../../../utils/process'; -import { expectFileToMatch } from '../../../utils/fs'; - -export default function () { - // TODO:BREAKING CHANGE... NO LONGER SUPPORTED - return Promise.resolve(); - const compDir = join('projects', 'test-project', 'src', 'test'); - - return Promise.resolve() - .then(() => - ng( - 'generate', - 'component', - 'test', - '--change-detection', - 'onpush', - '--view-encapsulation', - 'emulated', - ), - ) - .then(() => - expectFileToMatch( - join(compDir, 'test.component.ts'), - /changeDetection: ChangeDetectionStrategy.OnPush/, - ), - ) - .then(() => - expectFileToMatch( - join(compDir, 'test.component.ts'), - /encapsulation: ViewEncapsulation.Emulated/, - ), - ); -} diff --git a/tests/legacy-cli/e2e/tests/misc/update-help.ts b/tests/legacy-cli/e2e/tests/misc/update-help.ts deleted file mode 100644 index 2e98d9fd4a9d..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/update-help.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ng } from '../../utils/process'; - -export default function () { - return Promise.resolve() - .then(() => ng('update', '--help')) - .then(({ stdout }) => { - if (!/next/.test(stdout)) { - throw 'Update help should contain "next" option'; - } - }); -} From 6e1cf8ff06af4e8f03d0af29d8deae2e044e8963 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 09:22:58 +0000 Subject: [PATCH 0524/1388] test: move build related tests under build directory --- .../{generate => build}/library/library-consumption-ivy-full.ts | 0 .../library/library-consumption-ivy-partial.ts | 0 .../tests/{generate => build}/library/library-consumption-ve.ts | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename tests/legacy-cli/e2e/tests/{generate => build}/library/library-consumption-ivy-full.ts (100%) rename tests/legacy-cli/e2e/tests/{generate => build}/library/library-consumption-ivy-partial.ts (100%) rename tests/legacy-cli/e2e/tests/{generate => build}/library/library-consumption-ve.ts (100%) diff --git a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-full.ts b/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-full.ts similarity index 100% rename from tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-full.ts rename to tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-full.ts diff --git a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-partial.ts b/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-partial.ts similarity index 100% rename from tests/legacy-cli/e2e/tests/generate/library/library-consumption-ivy-partial.ts rename to tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-partial.ts diff --git a/tests/legacy-cli/e2e/tests/generate/library/library-consumption-ve.ts b/tests/legacy-cli/e2e/tests/build/library/library-consumption-ve.ts similarity index 100% rename from tests/legacy-cli/e2e/tests/generate/library/library-consumption-ve.ts rename to tests/legacy-cli/e2e/tests/build/library/library-consumption-ve.ts From 1643686d5dd25241930abce3293eccd8efc65056 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 09:24:06 +0000 Subject: [PATCH 0525/1388] test: delete tests which are no longer relevant These tests are either no longer relavant or they are present as specs in build-angular. --- .../e2e/tests/basic/ngcc-es2015-only.ts | 17 ------ .../tests/build/styles/empty-style-urls.ts | 28 ---------- .../e2e/tests/build/styles/material-import.ts | 54 ------------------ .../misc/non-relative-module-resolution.ts | 20 ------- .../legacy-cli/e2e/tests/misc/public-host.ts | 55 ------------------- .../legacy-cli/e2e/tests/misc/ssl-default.ts | 22 -------- .../e2e/tests/misc/ssl-with-cert.ts | 30 ---------- 7 files changed, 226 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/styles/material-import.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/public-host.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/ssl-default.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts diff --git a/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts b/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts deleted file mode 100644 index d079ec2e5197..000000000000 --- a/tests/legacy-cli/e2e/tests/basic/ngcc-es2015-only.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { ng } from '../../utils/process'; - -export default async function () { - const { stderr, stdout } = await ng('build'); - - if (stdout.includes('as esm5') || stderr.includes('as esm5')) { - throw new Error('ngcc should not process ES5 during builds.'); - } -} diff --git a/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts b/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts deleted file mode 100644 index b4181e9f954a..000000000000 --- a/tests/legacy-cli/e2e/tests/build/styles/empty-style-urls.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { writeMultipleFiles } from '../../../utils/fs'; -import { ng } from '../../../utils/process'; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - return ( - Promise.resolve() - // Write assets. - .then((_) => - writeMultipleFiles({ - './src/app/app.component.ts': ` - import { Component } from '@angular/core'; - - @Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: [] - }) - export class AppComponent { - title = 'app'; - } - `, - }), - ) - .then(() => ng('build', '--configuration=development')) - ); -} diff --git a/tests/legacy-cli/e2e/tests/build/styles/material-import.ts b/tests/legacy-cli/e2e/tests/build/styles/material-import.ts deleted file mode 100644 index f4c0829ea2b8..000000000000 --- a/tests/legacy-cli/e2e/tests/build/styles/material-import.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { getGlobalVariable } from '../../../utils/env'; -import { replaceInFile, writeMultipleFiles } from '../../../utils/fs'; -import { installWorkspacePackages } from '../../../utils/packages'; -import { ng } from '../../../utils/process'; -import { isPrereleaseCli, updateJsonFile } from '../../../utils/project'; - -const snapshots = require('../../../ng-snapshot/package.json'); - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; - const tag = (await isPrereleaseCli()) ? 'next' : 'latest'; - - await updateJsonFile('package.json', (packageJson) => { - const dependencies = packageJson['dependencies']; - dependencies['@angular/material'] = isSnapshotBuild - ? snapshots.dependencies['@angular/material'] - : tag; - dependencies['@angular/cdk'] = isSnapshotBuild ? snapshots.dependencies['@angular/cdk'] : tag; - }); - - await installWorkspacePackages(); - - for (const ext of ['css', 'scss', 'less', 'styl']) { - await writeMultipleFiles({ - [`src/styles.${ext}`]: '@import "~@angular/material/prebuilt-themes/indigo-pink.css";', - [`src/app/app.component.${ext}`]: - '@import "~@angular/material/prebuilt-themes/indigo-pink.css";', - }); - - // change files to use preprocessor - await updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [{ input: `src/styles.${ext}` }]; - }); - - await replaceInFile( - 'src/app/app.component.ts', - './app.component.css', - `./app.component.${ext}`, - ); - - // run build app - await ng('build', '--source-map', '--configuration=development'); - await writeMultipleFiles({ - [`src/styles.${ext}`]: '@import "@angular/material/prebuilt-themes/indigo-pink.css";', - [`src/app/app.component.${ext}`]: - '@import "@angular/material/prebuilt-themes/indigo-pink.css";', - }); - - await ng('build', '--configuration=development'); - } -} diff --git a/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts b/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts deleted file mode 100644 index 019a34dda986..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/non-relative-module-resolution.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { prependToFile, writeMultipleFiles } from '../../utils/fs'; -import { ng } from '../../utils/process'; - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - await writeMultipleFiles({ - './src/app/foo.ts': ` - export const foo = 'fooo'; - `, - './src/app/bar.ts': ` - import { foo } from './foo'; - - console.log(foo); - `, - }), - await prependToFile('src/app/app.module.ts', `import './bar';\n`); - - await ng('build', '--configuration=development'); -} diff --git a/tests/legacy-cli/e2e/tests/misc/public-host.ts b/tests/legacy-cli/e2e/tests/misc/public-host.ts deleted file mode 100644 index 6b5aa3c52dfc..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/public-host.ts +++ /dev/null @@ -1,55 +0,0 @@ -import * as os from 'os'; -import fetch from 'node-fetch'; -import { killAllProcesses } from '../../utils/process'; -import { ngServe } from '../../utils/project'; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - const firstLocalIp = Object.values(os.networkInterfaces()) - .flat() - .filter((ni) => ni?.family === 'IPv4' && !ni?.internal) - .map((ni) => ni!.address) - .shift(); - const publicHost = `${firstLocalIp}`; - const localAddress = `http://${publicHost}`; - - return Promise.resolve() - .then(() => ngServe('--host=0.0.0.0', `--public-host=${publicHost}`)) - .then((port) => fetch(`${localAddress}:${port}`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then(() => killAllProcesses()) - .then(() => ngServe('--host=0.0.0.0', `--disable-host-check`)) - .then((port) => fetch(`${localAddress}:${port}`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - - .then(() => killAllProcesses()) - .then(() => ngServe('--host=0.0.0.0', `--public-host=${localAddress}`)) - .then((port) => fetch(`${localAddress}:${port}`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .then(() => killAllProcesses()) - .then(() => ngServe('--host=0.0.0.0', `--public-host=${firstLocalIp}`)) - .then((port) => fetch(`${localAddress}:${port}`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/<\/app-root>/)) { - throw new Error('Response does not match expected value.'); - } - }) - .finally(() => killAllProcesses()); -} diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts b/tests/legacy-cli/e2e/tests/misc/ssl-default.ts deleted file mode 100644 index c985df57b798..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/ssl-default.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as assert from 'assert'; -import { Agent } from 'https'; -import fetch from 'node-fetch'; -import { killAllProcesses } from '../../utils/process'; -import { ngServe } from '../../utils/project'; - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - try { - const port = await ngServe('--ssl', 'true'); - - const response = await fetch(`https://localhost:${port}/`, { - agent: new Agent({ rejectUnauthorized: false }), - }); - - assert.strictEqual(response.status, 200); - assert.match(await response.text(), /<\/app-root>/); - } finally { - await killAllProcesses(); - } -} diff --git a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts b/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts deleted file mode 100644 index d1f107cd0e4e..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/ssl-with-cert.ts +++ /dev/null @@ -1,30 +0,0 @@ -import * as assert from 'assert'; -import { Agent } from 'https'; -import fetch from 'node-fetch'; -import { assetDir } from '../../utils/assets'; -import { killAllProcesses } from '../../utils/process'; -import { ngServe } from '../../utils/project'; - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - try { - const port = await ngServe( - '--ssl', - 'true', - '--ssl-key', - assetDir('ssl/server.key'), - '--ssl-cert', - assetDir('ssl/server.crt'), - ); - - const response = await fetch(`https://localhost:${port}/`, { - agent: new Agent({ rejectUnauthorized: false }), - }); - - assert.strictEqual(response.status, 200); - assert.match(await response.text(), /<\/app-root>/); - } finally { - await killAllProcesses(); - } -} From 789d78fa9143ee8d84a3778889a50726e2090d7e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 09:28:02 +0000 Subject: [PATCH 0526/1388] test: delete local VE library E2E test Local libraries are no longer built in VE --- .../build/library/library-consumption-ve.ts | 113 ------------------ 1 file changed, 113 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/library/library-consumption-ve.ts diff --git a/tests/legacy-cli/e2e/tests/build/library/library-consumption-ve.ts b/tests/legacy-cli/e2e/tests/build/library/library-consumption-ve.ts deleted file mode 100644 index 05aa8cf54ae3..000000000000 --- a/tests/legacy-cli/e2e/tests/build/library/library-consumption-ve.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { expectFileToMatch, writeMultipleFiles } from '../../../utils/fs'; -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; - -export default async function () { - await ng('generate', 'library', 'my-lib'); - - await updateJsonFile('projects/my-lib/tsconfig.lib.prod.json', (config) => { - const { angularCompilerOptions = {} } = config; - angularCompilerOptions.enableIvy = false; - angularCompilerOptions.skipTemplateCodegen = true; - angularCompilerOptions.strictMetadataEmit = true; - config.angularCompilerOptions = angularCompilerOptions; - }); - - // Force an external template - await writeMultipleFiles({ - 'projects/my-lib/src/lib/my-lib.component.html': `

my-lib works!

`, - 'projects/my-lib/src/lib/my-lib.component.ts': `import { Component } from '@angular/core'; - - @Component({ - selector: 'lib-my-lib', - templateUrl: './my-lib.component.html', - }) - export class MyLibComponent {}`, - './src/app/app.module.ts': ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - import { MyLibModule } from 'my-lib'; - - import { AppComponent } from './app.component'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - MyLibModule, - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - `, - './src/app/app.component.ts': ` - import { Component } from '@angular/core'; - import { MyLibService } from 'my-lib'; - - @Component({ - selector: 'app-root', - template: '' - }) - export class AppComponent { - title = 'test-project'; - - constructor(myLibService: MyLibService) { - console.log(myLibService); - } - } - `, - 'e2e/src/app.e2e-spec.ts': ` - import { browser, logging, element, by } from 'protractor'; - import { AppPage } from './app.po'; - - describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display text from library component', async () => { - await page.navigateTo(); - expect(await element(by.css('lib-my-lib p')).getText()).toEqual('my-lib works!'); - }); - - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - })); - }); - }); - `, - }); - - // Build library in VE mode (production) - await ng('build', 'my-lib', '--configuration=production'); - - // AOT linking - await runTests(); - - // JIT linking - await updateJsonFile('angular.json', (config) => { - const build = config.projects['test-project'].architect.build; - build.options.aot = false; - build.configurations.production.buildOptimizer = false; - }); - - await runTests(); -} - -async function runTests(): Promise { - // Check that the tests succeeds both with named project, unnamed (should test app), and prod. - await ng('e2e'); - await ng('e2e', 'test-project', '--dev-server-target=test-project:serve:production'); - - // Validate that sourcemaps for the library exists. - await ng('build', '--configuration=development'); - await expectFileToMatch('dist/test-project/main.js.map', 'projects/my-lib/src/public-api.ts'); -} From aa5ff8d860c0d1abb055ad9ac2a141593f42aed8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 13 Jun 2022 01:35:04 +0000 Subject: [PATCH 0527/1388] build: update dependency source-map-loader to v4 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f9ef34d99122..ce0eb8c161b2 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "semver": "7.3.7", "shelljs": "^0.8.5", "source-map": "0.7.3", - "source-map-loader": "3.0.1", + "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", "stylus": "0.58.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 72a29e000b61..55e9ba79f05d 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -55,7 +55,7 @@ "sass": "1.52.2", "sass-loader": "13.0.0", "semver": "7.3.7", - "source-map-loader": "3.0.1", + "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "stylus": "0.58.1", "stylus-loader": "7.0.0", diff --git a/yarn.lock b/yarn.lock index 1027f7a597aa..c79901d1f13e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2768,7 +2768,7 @@ JSONStream@1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.0, abab@^2.0.5: +abab@^2.0.0, abab@^2.0.5, abab@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== @@ -9818,6 +9818,15 @@ source-map-loader@3.0.1: iconv-lite "^0.6.3" source-map-js "^1.0.1" +source-map-loader@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.0.tgz#bdc6b118bc6c87ee4d8d851f2d4efcc5abdb2ef5" + integrity sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw== + dependencies: + abab "^2.0.6" + iconv-lite "^0.6.3" + source-map-js "^1.0.2" + source-map-resolve@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" From 85913b509230459595b23665da15e1158ee6ecbc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 12 Jun 2022 17:11:37 +0000 Subject: [PATCH 0528/1388] build: update angular to b730f3b --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 776 +++--------------- 6 files changed, 132 insertions(+), 686 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 740f4e981584..bd6ace035b44 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2207080d84b0c0d87d39e1683939004f5147faf9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec + - uses: angular/dev-infra/github-actions/post-approval-changes@2207080d84b0c0d87d39e1683939004f5147faf9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 62e050b42fbb..c5e72cdf4a70 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec + - uses: angular/dev-infra/github-actions/feature-request@2207080d84b0c0d87d39e1683939004f5147faf9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 4fbfd58a797d..60dae6d1efda 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@9bc9f636fdf1a0d0295f2788475a5e3da3f224ec + - uses: angular/dev-infra/github-actions/lock-closed@2207080d84b0c0d87d39e1683939004f5147faf9 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index ce0eb8c161b2..e56499347900 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.1", "@angular/compiler-cli": "14.0.1", "@angular/core": "14.0.1", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#e10e9b9963af823f6f3676c48b87592a952a4f83", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba", "@angular/forms": "14.0.1", "@angular/localize": "14.0.1", "@angular/material": "14.0.1", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index a2a7ba05caf2..196847e77688 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#56281c99f0dae5a21d8f6369fbc98d67b319287f", - "@angular/cdk": "github:angular/cdk-builds#9e2c0de69836fdae0702316386d6997f32df14fd", - "@angular/common": "github:angular/common-builds#a546d7b4a9007e174e81f827d838aab62acbe689", - "@angular/compiler": "github:angular/compiler-builds#0ed8460136b3143c952725c406e8f6d3053ea509", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#9c5c52193564463c82274193165746e156ebe592", - "@angular/core": "github:angular/core-builds#62b8bc80e4ed72958763c2a68d01e24b327abcd1", - "@angular/forms": "github:angular/forms-builds#988ce94d3b4bd59945dddd6aa5fa38e59be8debc", - "@angular/language-service": "github:angular/language-service-builds#b0f2b1f27f3e219db3f8fd0f61d2e51fa42a5ac3", - "@angular/localize": "github:angular/localize-builds#14d4d62e38c443e290213ace63fb0876c3fa489f", - "@angular/material": "github:angular/material-builds#5bd1898a58fd31551ecb1ad6f62079f810712346", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4639f78a47e2e73d4dace798154a54d3695dd6f9", - "@angular/platform-browser": "github:angular/platform-browser-builds#2c7b15afa4f9743e9e546d4e5c1c8f31259134bd", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#f394357f37df9ebe83663aa8b9867d5d8811d563", - "@angular/platform-server": "github:angular/platform-server-builds#b99a97912220dae5e73d6f7510a7026c0c46b1c4", - "@angular/router": "github:angular/router-builds#8c72700c0431ab900829679c1d87fe8b3e2b0347", - "@angular/service-worker": "github:angular/service-worker-builds#83243d4d5eef72c0960075d8281cf0bf99c29cfe" + "@angular/animations": "github:angular/animations-builds#b730f3bc0db9c9860a0627f1c9a49a9a1885de42", + "@angular/cdk": "github:angular/cdk-builds#343a4f59581b0fbb73147ee2522c2673b71f56b2", + "@angular/common": "github:angular/common-builds#122220391af0181c295a297973da7f25d62bd1b0", + "@angular/compiler": "github:angular/compiler-builds#35164d945c94eda10ad72a28692c693b203262f2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f1c442d92319191d5d65aa2244242ece08ddfc9b", + "@angular/core": "github:angular/core-builds#6774c8b64d2eab775e52e5b8e64fcd4310bdb2ec", + "@angular/forms": "github:angular/forms-builds#6cfc5e27f2509dd1c0e11f9a7ca983bc9d2bf0b1", + "@angular/language-service": "github:angular/language-service-builds#e7c84c1009bb8bccff562c27f2eec6f9b2bc34aa", + "@angular/localize": "github:angular/localize-builds#c19c4d9b09ba09e75455936348b8cdeec56cc3de", + "@angular/material": "github:angular/material-builds#e66f6459502b615c20316b22641d66257f77bf8b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2bf0d0f2001b875589086ef4f3f24faeebcbb672", + "@angular/platform-browser": "github:angular/platform-browser-builds#8060db7e63e6793f0f0c589a3170b96e057d08fd", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c9c83389f1b52ee96e10c87e26e0b582c40434a0", + "@angular/platform-server": "github:angular/platform-server-builds#c6cd79830ce1dade3ac375e86b5c98d76547ba89", + "@angular/router": "github:angular/router-builds#f8c33cbe256216855c5c0d8f020b4c84e93abd1a", + "@angular/service-worker": "github:angular/service-worker-builds#5af560fa13bbd7a911436994a93bb0add2122e33" } } diff --git a/yarn.lock b/yarn.lock index c79901d1f13e..d9a80f72e1bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,96 +10,96 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1400.0": - version "0.1400.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0.tgz#ad2d55ac898daead4bcb791499ab2b98b40803ed" - integrity sha512-INPO+r5CHElPdFLOrwUYShZqtr37/kTJegAoWpSNC8Zy8WgTlecvA+y5eHy0bNeXMjWbZ3YCZJ1jXYpJJNL1Kg== +"@angular-devkit/architect@0.1401.0-next.0": + version "0.1401.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.0.tgz#daee21cd67f032b530ec3215afb5a174c510ba3b" + integrity sha512-PD1J3GY1e/q2DwFXsPjtQTAwMZEXC698Xc8JgDYwhVoMT/9Z3uYqrd5joseNRNfM5i7tdK0Z5oVuCHSEW8LiBA== dependencies: - "@angular-devkit/core" "14.0.0" + "@angular-devkit/core" "14.1.0-next.0" rxjs "6.6.7" -"@angular-devkit/build-angular@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0.tgz#68825037c7f110a80a05c1c0c838ba98d6cf3fa7" - integrity sha512-SUFanOcIJ6XWBltQ7U038zGGhsT40h4I1Pqkf+qlPLGctARz8wfD3GPD1a0pRlrIH6J/f7Xbb7QrQvGfG4g/NQ== +"@angular-devkit/build-angular@14.1.0-next.0": + version "14.1.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.0.tgz#b2bdd530adb6c6b43ad02842300c8160de3e53b4" + integrity sha512-x9ZpRIOWEyYOfio6tVBSbr3ydrFJztLtTMLhoLoCwWy8lcGzEP/PJPYn6tXur/g/KJ2+iQXyvUPBBFQZubQZ7w== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1400.0" - "@angular-devkit/build-webpack" "0.1400.0" - "@angular-devkit/core" "14.0.0" - "@babel/core" "7.17.10" - "@babel/generator" "7.17.10" + "@angular-devkit/architect" "0.1401.0-next.0" + "@angular-devkit/build-webpack" "0.1401.0-next.0" + "@angular-devkit/core" "14.1.0-next.0" + "@babel/core" "7.18.2" + "@babel/generator" "7.18.2" "@babel/helper-annotate-as-pure" "7.16.7" - "@babel/plugin-proposal-async-generator-functions" "7.16.8" - "@babel/plugin-transform-async-to-generator" "7.16.8" - "@babel/plugin-transform-runtime" "7.17.10" - "@babel/preset-env" "7.17.10" - "@babel/runtime" "7.17.9" + "@babel/plugin-proposal-async-generator-functions" "7.17.12" + "@babel/plugin-transform-async-to-generator" "7.17.12" + "@babel/plugin-transform-runtime" "7.18.2" + "@babel/preset-env" "7.18.2" + "@babel/runtime" "7.18.3" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.0.0" - ansi-colors "4.1.1" + "@ngtools/webpack" "14.1.0-next.0" + ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "16.0.7" - copy-webpack-plugin "10.2.4" + cacache "16.1.1" + copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.38" - glob "8.0.1" + esbuild-wasm "0.14.42" + glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" - less-loader "10.2.0" + less-loader "11.0.0" license-webpack-plugin "4.0.2" loader-utils "3.2.0" mini-css-extract-plugin "2.6.0" - minimatch "5.0.1" + minimatch "5.1.0" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.13" + postcss "8.4.14" postcss-import "14.1.0" - postcss-loader "6.2.1" - postcss-preset-env "7.5.0" + postcss-loader "7.0.0" + postcss-preset-env "7.7.0" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.51.0" - sass-loader "12.6.0" + sass "1.52.2" + sass-loader "13.0.0" semver "7.3.7" source-map-loader "3.0.1" source-map-support "0.5.21" - stylus "0.57.0" - stylus-loader "6.2.0" - terser "5.13.1" + stylus "0.58.1" + stylus-loader "7.0.0" + terser "5.14.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.0" - webpack "5.72.1" - webpack-dev-middleware "5.3.1" - webpack-dev-server "4.9.0" + webpack "5.73.0" + webpack-dev-middleware "5.3.3" + webpack-dev-server "4.9.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.38" + esbuild "0.14.42" -"@angular-devkit/build-webpack@0.1400.0": - version "0.1400.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0.tgz#c96bf0f658a86ac91fae5e431b2e1553c6da2420" - integrity sha512-aKbDjWAwHcscqLhxfmkHrkWvAJ3X8nQoIrAP/RbTQ1qRCv5nnqIHe8u5X/1ZCCYCyPJr1UeDTrQiRXCTN4jYvA== +"@angular-devkit/build-webpack@0.1401.0-next.0": + version "0.1401.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.0.tgz#fbd87f690744ab260ec5917cd3c88973051cc4f4" + integrity sha512-rI05bTXEuUP/MfXZZI7nZJHoIq/a7AQn8n6cqtSIMdQWH5kSEm7aCGVQNJQUcf+WA7vhWp8bIQGDXZbTjXg3fQ== dependencies: - "@angular-devkit/architect" "0.1400.0" + "@angular-devkit/architect" "0.1401.0-next.0" rxjs "6.6.7" -"@angular-devkit/core@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0.tgz#33e56337257fdda3e429b36548820814d9fafbc2" - integrity sha512-xQXpNbIeBjnbY68OFkrpFm6v7xlmTLFk6zGPIkI4T/hrqT2kNmg0y1/FcN6yMBgCEC9WVWR8SHGaPWrc5VVZMw== +"@angular-devkit/core@14.1.0-next.0": + version "14.1.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.0.tgz#401abd47110e1c612660237d28db6b9a102e26c7" + integrity sha512-++LCYH47YkUlqrczuPxZ+M1FOVKUw1hV4uer7nYhGNseDYpOMTNCWgVDr1DFj8O3dtVso6NTchPNl5uVcLspRw== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -175,12 +175,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#e10e9b9963af823f6f3676c48b87592a952a4f83": - version "0.0.0-9bc9f636fdf1a0d0295f2788475a5e3da3f224ec" - uid e10e9b9963af823f6f3676c48b87592a952a4f83 - resolved "https://github.com/angular/dev-infra-private-builds.git#e10e9b9963af823f6f3676c48b87592a952a4f83" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba": + version "0.0.0-2207080d84b0c0d87d39e1683939004f5147faf9" + uid "7848e7d088fbe777681d3631994ab49750cb72ba" + resolved "https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba" dependencies: - "@angular-devkit/build-angular" "14.0.0" + "@angular-devkit/build-angular" "14.1.0-next.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -291,27 +291,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== -"@babel/core@7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.10.tgz#74ef0fbf56b7dfc3f198fc2d927f4f03e12f4b05" - integrity sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.10" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.10" - "@babel/types" "^7.17.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.12.tgz#b4eb2d7ebc3449b062381644c93050db545b70ee" @@ -354,16 +333,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189" - integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg== - dependencies: - "@babel/types" "^7.17.10" - "@jridgewell/gen-mapping" "^0.1.0" - jsesc "^2.5.1" - -"@babel/generator@7.18.2", "@babel/generator@^7.17.10", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": +"@babel/generator@7.18.2", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== @@ -473,7 +443,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.17.12", "@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.0": +"@babel/helper-module-transforms@^7.17.12", "@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== @@ -578,19 +548,19 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.17.12", "@babel/parser@^7.18.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.12", "@babel/parser@^7.18.0": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== @@ -599,16 +569,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.17.12" -"@babel/plugin-proposal-async-generator-functions@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.17.12": +"@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== @@ -617,7 +578,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.7", "@babel/plugin-proposal-class-properties@^7.17.12": +"@babel/plugin-proposal-class-properties@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== @@ -625,7 +586,7 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-class-static-block@^7.17.6", "@babel/plugin-proposal-class-static-block@^7.18.0": +"@babel/plugin-proposal-class-static-block@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== @@ -642,7 +603,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.16.7", "@babel/plugin-proposal-export-namespace-from@^7.17.12": +"@babel/plugin-proposal-export-namespace-from@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== @@ -650,7 +611,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.16.7", "@babel/plugin-proposal-json-strings@^7.17.12": +"@babel/plugin-proposal-json-strings@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== @@ -658,7 +619,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7", "@babel/plugin-proposal-logical-assignment-operators@^7.17.12": +"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== @@ -666,7 +627,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== @@ -682,7 +643,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.17.3", "@babel/plugin-proposal-object-rest-spread@^7.18.0": +"@babel/plugin-proposal-object-rest-spread@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== @@ -701,7 +662,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.17.12": +"@babel/plugin-proposal-optional-chaining@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== @@ -710,7 +671,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.11", "@babel/plugin-proposal-private-methods@^7.17.12": +"@babel/plugin-proposal-private-methods@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== @@ -718,7 +679,7 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-private-property-in-object@^7.16.7", "@babel/plugin-proposal-private-property-in-object@^7.17.12": +"@babel/plugin-proposal-private-property-in-object@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== @@ -728,7 +689,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== @@ -841,23 +802,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.16.7", "@babel/plugin-transform-arrow-functions@^7.17.12": +"@babel/plugin-transform-arrow-functions@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-async-to-generator@7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.16.8", "@babel/plugin-transform-async-to-generator@^7.17.12": +"@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== @@ -873,14 +825,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.17.12": +"@babel/plugin-transform-block-scoping@^7.17.12": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9" integrity sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.17.12": +"@babel/plugin-transform-classes@^7.17.12": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814" integrity sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A== @@ -894,14 +846,14 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.7", "@babel/plugin-transform-computed-properties@^7.17.12": +"@babel/plugin-transform-computed-properties@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-destructuring@^7.17.7", "@babel/plugin-transform-destructuring@^7.18.0": +"@babel/plugin-transform-destructuring@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== @@ -916,7 +868,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-duplicate-keys@^7.16.7", "@babel/plugin-transform-duplicate-keys@^7.17.12": +"@babel/plugin-transform-duplicate-keys@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== @@ -931,7 +883,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.18.1": +"@babel/plugin-transform-for-of@^7.18.1": version "7.18.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== @@ -947,7 +899,7 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.16.7", "@babel/plugin-transform-literals@^7.17.12": +"@babel/plugin-transform-literals@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== @@ -961,7 +913,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.16.7", "@babel/plugin-transform-modules-amd@^7.18.0": +"@babel/plugin-transform-modules-amd@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== @@ -970,7 +922,7 @@ "@babel/helper-plugin-utils" "^7.17.12" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.17.9", "@babel/plugin-transform-modules-commonjs@^7.18.2": +"@babel/plugin-transform-modules-commonjs@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ== @@ -980,7 +932,7 @@ "@babel/helper-simple-access" "^7.18.2" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.17.8", "@babel/plugin-transform-modules-systemjs@^7.18.0": +"@babel/plugin-transform-modules-systemjs@^7.18.0": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz#3d6fd9868c735cce8f38d6ae3a407fb7e61e6d46" integrity sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg== @@ -991,7 +943,7 @@ "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.7", "@babel/plugin-transform-modules-umd@^7.18.0": +"@babel/plugin-transform-modules-umd@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== @@ -999,7 +951,7 @@ "@babel/helper-module-transforms" "^7.18.0" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.10", "@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": +"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== @@ -1007,7 +959,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-new-target@^7.16.7", "@babel/plugin-transform-new-target@^7.17.12": +"@babel/plugin-transform-new-target@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== @@ -1022,7 +974,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.16.7", "@babel/plugin-transform-parameters@^7.17.12": +"@babel/plugin-transform-parameters@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== @@ -1036,7 +988,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.17.9", "@babel/plugin-transform-regenerator@^7.18.0": +"@babel/plugin-transform-regenerator@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== @@ -1044,25 +996,13 @@ "@babel/helper-plugin-utils" "^7.17.12" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.16.7", "@babel/plugin-transform-reserved-words@^7.17.12": +"@babel/plugin-transform-reserved-words@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-runtime@7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.10.tgz#b89d821c55d61b5e3d3c3d1d636d8d5a81040ae1" - integrity sha512-6jrMilUAJhktTr56kACL8LnWC5hx3Lf27BS0R0DSyW/OoJfb/iTHeE96V3b1dgKG3FSFdd/0culnYWMkjcKCig== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz#04637de1e45ae8847ff14b9beead09c33d34374d" @@ -1082,7 +1022,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.16.7", "@babel/plugin-transform-spread@^7.17.12": +"@babel/plugin-transform-spread@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== @@ -1097,14 +1037,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.18.2": +"@babel/plugin-transform-template-literals@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g== dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-typeof-symbol@^7.16.7", "@babel/plugin-transform-typeof-symbol@^7.17.12": +"@babel/plugin-transform-typeof-symbol@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== @@ -1126,86 +1066,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.17.10.tgz#a81b093669e3eb6541bb81a23173c5963c5de69c" - integrity sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.17.6" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.17.3" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@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-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.17.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.17.9" - "@babel/plugin-transform-modules-systemjs" "^7.17.8" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.10" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.17.9" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.17.10" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.22.1" - semver "^6.3.0" - "@babel/preset-env@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a" @@ -1298,13 +1158,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" - integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.18.3", "@babel/runtime@^7.8.4": version "7.18.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" @@ -1321,7 +1174,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.12", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.12", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== @@ -1337,7 +1190,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== @@ -1450,7 +1303,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-hwb-function@^1.0.0", "@csstools/postcss-hwb-function@^1.0.1": +"@csstools/postcss-hwb-function@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.1.tgz#5224db711ed09a965f85c80c18144ac1c2702fce" integrity sha512-AMZwWyHbbNLBsDADWmoXT9A5yl5dsGEBeJSJRUJt8Y9n8Ziu7Wstt4MC8jtPW7xjcLecyfJwtnUTNSmOzcnWeg== @@ -1465,7 +1318,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.2", "@csstools/postcss-is-pseudo-class@^2.0.4": +"@csstools/postcss-is-pseudo-class@^2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.4.tgz#6e8b49b96a7d3346d5316bd773dcff9c983b4183" integrity sha512-T2Tmr5RIxkCEXxHwMVyValqwv3h5FTJPpmU8Mq/HDV+TY6C9srVaNMiMG/sp0QaxUnVQQrnXsuLU+1g2zrLDcQ== @@ -1509,7 +1362,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-unset-value@^1.0.0", "@csstools/postcss-unset-value@^1.0.1": +"@csstools/postcss-unset-value@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.1.tgz#2cc020785db5ec82cc9444afe4cdae2a65445f89" integrity sha512-f1G1WGDXEU/RN1TWAxBPQgQudtLnLQPyiWdtypkPC+mVYNKFKH/HYXSxH4MVNqwF8M0eDsoiU7HumJHCg/L/jg== @@ -1685,10 +1538,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0.tgz#13a37933f13a8aa587697b7db7be6f1f20a360c1" - integrity sha512-lUcJ5DiRCY+Xj01R38bDbAlELbO+0yT3n4zshBeiuzo/Lc+yQM2XhVe9stsI5I+SwH6YsCU9kp+jb7iaZh7L7w== +"@ngtools/webpack@14.1.0-next.0": + version "14.1.0-next.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.0.tgz#68a72c16480c5a3ec2fd8e9e111e75186bfab5f5" + integrity sha512-nRW3aGj1CirHJ/D+DIvuLzJSIl97WxBh9+kTIDObOLTKz/G8ZPpjD0lr6RPXuYzvoYfMvpGPtRwuPlK082aJlw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2912,11 +2765,6 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-colors@4.1.3, ansi-colors@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -3049,11 +2897,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-union@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" - integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== - array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -3123,7 +2966,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.6, autoprefixer@^10.4.7: +autoprefixer@^10.4.7: version "10.4.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== @@ -3498,30 +3341,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.0.7: - version "16.0.7" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.7.tgz#74a5d9bc4c17b4c0b373c1f5d42dadf5dc06638d" - integrity sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^1.1.1" - cacache@16.1.1: version "16.1.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" @@ -3945,18 +3764,6 @@ copy-anything@^2.0.1: dependencies: is-what "^3.14.1" -copy-webpack-plugin@10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" - integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^12.0.2" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - copy-webpack-plugin@11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" @@ -4097,7 +3904,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.6.1, cssdb@^6.6.2: +cssdb@^6.6.2: version "6.6.2" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.2.tgz#6c1c1777483c909a8fc64f296a51546136b35f45" integrity sha512-w08LaP+DRoPlw4g4LSUp+EWRrWTPlrzWREcU7/6IeMfL7tPR2P9oeQ1G+pxyfMmLWBNDwqHWa6kxiuGMLb71EA== @@ -4676,242 +4483,111 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" - integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== - esbuild-android-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== -esbuild-android-arm64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" - integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== - esbuild-android-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== -esbuild-darwin-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" - integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== - esbuild-darwin-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== -esbuild-darwin-arm64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz#01eb6650ec010b18c990e443a6abcca1d71290a9" - integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== - esbuild-darwin-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== -esbuild-freebsd-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" - integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== - esbuild-freebsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== -esbuild-freebsd-arm64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" - integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== - esbuild-freebsd-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== -esbuild-linux-32@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" - integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== - esbuild-linux-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== -esbuild-linux-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" - integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== - esbuild-linux-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== -esbuild-linux-arm64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" - integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== - esbuild-linux-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== -esbuild-linux-arm@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" - integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== - esbuild-linux-arm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== -esbuild-linux-mips64le@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" - integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== - esbuild-linux-mips64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== -esbuild-linux-ppc64le@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" - integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== - esbuild-linux-ppc64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== -esbuild-linux-riscv64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" - integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== - esbuild-linux-riscv64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== -esbuild-linux-s390x@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" - integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== - esbuild-linux-s390x@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== -esbuild-netbsd-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" - integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== - esbuild-netbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== -esbuild-openbsd-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" - integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== - esbuild-openbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== -esbuild-sunos-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" - integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA== - esbuild-sunos-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== -esbuild-wasm@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.38.tgz#76a347f3e12d2ddd72f20fee0a43c3aee2c81665" - integrity sha512-mObTw5/3+KIOTShVgk3fuEn+INnHgOSbWJuGkInEZTWpUOh/+TCSgRxl5cDon4OkoaLU5rWm7R7Dkl/mJv8SGw== - esbuild-wasm@0.14.42, esbuild-wasm@^0.14.29: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== -esbuild-windows-32@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" - integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== - esbuild-windows-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== -esbuild-windows-64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" - integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== - esbuild-windows-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== -esbuild-windows-arm64@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" - integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw== - esbuild-windows-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== -esbuild@0.14.38: - version "0.14.38" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.38.tgz#99526b778cd9f35532955e26e1709a16cca2fb30" - integrity sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA== - optionalDependencies: - esbuild-android-64 "0.14.38" - esbuild-android-arm64 "0.14.38" - esbuild-darwin-64 "0.14.38" - esbuild-darwin-arm64 "0.14.38" - esbuild-freebsd-64 "0.14.38" - esbuild-freebsd-arm64 "0.14.38" - esbuild-linux-32 "0.14.38" - esbuild-linux-64 "0.14.38" - esbuild-linux-arm "0.14.38" - esbuild-linux-arm64 "0.14.38" - esbuild-linux-mips64le "0.14.38" - esbuild-linux-ppc64le "0.14.38" - esbuild-linux-riscv64 "0.14.38" - esbuild-linux-s390x "0.14.38" - esbuild-netbsd-64 "0.14.38" - esbuild-openbsd-64 "0.14.38" - esbuild-sunos-64 "0.14.38" - esbuild-windows-32 "0.14.38" - esbuild-windows-64 "0.14.38" - esbuild-windows-arm64 "0.14.38" - esbuild@0.14.42, esbuild@^0.14.29: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" @@ -5299,7 +4975,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -5688,18 +5364,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.1.tgz#00308f5c035aa0b2a447cd37ead267ddff1577d3" - integrity sha512-cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@8.0.3, glob@^8.0.0, glob@^8.0.1: version "8.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" @@ -5758,18 +5422,6 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -globby@^12.0.2: - version "12.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" - integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== - dependencies: - array-union "^3.0.1" - dir-glob "^3.0.1" - fast-glob "^3.2.7" - ignore "^5.1.9" - merge2 "^1.4.1" - slash "^4.0.0" - globby@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.1.tgz#7c44a93869b0b7612e38f22ed532bfe37b25ea6f" @@ -6091,7 +5743,7 @@ ignore-walk@^5.0.1: dependencies: minimatch "^5.0.1" -ignore@^5.1.9, ignore@^5.2.0: +ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -6903,13 +6555,6 @@ klona@^2.0.4, klona@^2.0.5: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -less-loader@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-10.2.0.tgz#97286d8797dc3dc05b1d16b0ecec5f968bdd4e32" - integrity sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg== - dependencies: - klona "^2.0.4" - less-loader@11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.0.0.tgz#a31b2bc5cdfb62f1c7de9b2d01cd944c22b1a024" @@ -7277,7 +6922,7 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memfs@^3.4.1, memfs@^3.4.3: +memfs@^3.4.3: version "3.4.4" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.4.tgz#e8973cd8060548916adcca58a248e7805c715e89" integrity sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA== @@ -7552,7 +7197,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nanoid@^3.3.3, nanoid@^3.3.4: +nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== @@ -8332,7 +7977,7 @@ postcss-clamp@^4.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^4.2.2, postcss-color-functional-notation@^4.2.3: +postcss-color-functional-notation@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz#23c9d73c76113b75473edcf66f443c6f1872bd0f" integrity sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw== @@ -8447,15 +8092,6 @@ postcss-lab-function@^4.2.0: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-loader@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - postcss-loader@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.0.tgz#367d10eb1c5f1d93700e6b399683a6dc7c3af396" @@ -8503,7 +8139,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.4, postcss-nesting@^10.1.7: +postcss-nesting@^10.1.7: version "10.1.7" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.7.tgz#0101bd6c7d386e7ad8e2e86ebcc0e0109833b86e" integrity sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A== @@ -8533,57 +8169,6 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz#0c1f23933597d55dab4a90f61eda30b76e710658" - integrity sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ== - dependencies: - "@csstools/postcss-color-function" "^1.1.0" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.0" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.2" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.1.0" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.0" - "@csstools/postcss-unset-value" "^1.0.0" - autoprefixer "^10.4.6" - browserslist "^4.20.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.6.1" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.2" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.7" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.4" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.2" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-preset-env@7.7.0, postcss-preset-env@^7.4.2: version "7.7.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#bcc9be9725a85d34e72a8fa69dc5e1130abee301" @@ -8637,7 +8222,7 @@ postcss-preset-env@7.7.0, postcss-preset-env@^7.4.2: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.2, postcss-pseudo-class-any-link@^7.1.4: +postcss-pseudo-class-any-link@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz#ac72aac4fe11fc4a0a368691f8fd5fe89e95aba4" integrity sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg== @@ -8687,15 +8272,6 @@ postcss@7.x.x, postcss@^7.0.32: picocolors "^0.2.1" source-map "^0.6.1" -postcss@8.4.13: - version "8.4.13" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" - integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA== - dependencies: - nanoid "^3.3.3" - picocolors "^1.0.0" - source-map-js "^1.0.2" - postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" @@ -9398,19 +8974,11 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@12.6.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - sass-loader@13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.0.tgz#0b4bff0289951ed21240bca54453eca3dbda1713" @@ -9419,15 +8987,6 @@ sass-loader@13.0.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" - integrity sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.52.2: version "1.52.2" resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.2.tgz#cd1f03e0e7be5bb2cebcf1c34d735f087d790936" @@ -9770,7 +9329,7 @@ socket.io@^4.4.1: socket.io-adapter "~2.4.0" socket.io-parser "~4.0.4" -sockjs@^0.3.21, sockjs@^0.3.24: +sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== @@ -9873,13 +9432,6 @@ source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@~0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -10158,15 +9710,6 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -stylus-loader@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.2.0.tgz#0ba499e744e7fb9d9b3977784c8639728a7ced8c" - integrity sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg== - dependencies: - fast-glob "^3.2.7" - klona "^2.0.4" - normalize-path "^3.0.0" - stylus-loader@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.0.0.tgz#31fb929cd3a7c447a07a0b0148b48480eb2c3f4a" @@ -10176,18 +9719,6 @@ stylus-loader@7.0.0: klona "^2.0.5" normalize-path "^3.0.0" -stylus@0.57.0: - version "0.57.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.57.0.tgz#a46f04f426c19ceef54abb1a9d189fd4e886df41" - integrity sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ== - dependencies: - css "^3.0.0" - debug "^4.3.2" - glob "^7.1.6" - safer-buffer "^2.1.2" - sax "~1.2.4" - source-map "^0.7.3" - stylus@0.58.1, stylus@^0.58.0: version "0.58.1" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.58.1.tgz#7e425bb493c10dde94cf427a138d3eae875a3b44" @@ -10294,16 +9825,6 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.13.1: - version "5.13.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799" - integrity sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.8.0-beta.0" - source-map-support "~0.5.20" - terser@5.14.0, terser@^5.7.2: version "5.14.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" @@ -10939,17 +10460,6 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-dev-middleware@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" - integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== - dependencies: - colorette "^2.0.10" - memfs "^3.4.1" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: version "5.3.3" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" @@ -10961,40 +10471,6 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz#737dbf44335bb8bde68f8f39127fc401c97a1557" - integrity sha512-+Nlb39iQSOSsFv0lWUuUTim3jDQO8nhK3E68f//J2r5rIcp4lULHXz2oZ0UVdEeWXEh5lSzYUlzarZhDAeAVQw== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.0.1" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-dev-server@4.9.1: version "4.9.1" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.1.tgz#184607b0287c791aeaa45e58e8fe75fcb4d7e2a8" @@ -11049,36 +10525,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.72.1: - version "5.72.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13" - integrity sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.73.0: version "5.73.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" From b97fdd2102cdbebfb6467be28738da2194885932 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 13 Jun 2022 07:48:09 +0000 Subject: [PATCH 0529/1388] build: lock file maintenance --- yarn.lock | 796 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 522 insertions(+), 274 deletions(-) diff --git a/yarn.lock b/yarn.lock index d9a80f72e1bb..064cd45012dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,20 +161,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.0.1": +"@angular/core@14.0.1", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.1" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.1.tgz#415128247b9273abfe9dd13f6c0c2583cabd9b07" integrity sha512-72/VathVpDVEIm/T87eGF9Ng9JYOfrRVJCGhPwKvbIQZzCrg07acPwjDvtifkhKEKyMxLXv+F3bClr8WYP6c4Q== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "13.3.11" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.11.tgz#e5d56560028b3c99c6814989cba7ad61339968ea" - integrity sha512-9BmE2CxyV0g+AkBeuc8IwjSOiJ8Y+kptXnqD/J8EAFT3B0/fLGVnjFdZC6Sev9L0SNZb6qdzebpfIOLqbUjReQ== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba": version "0.0.0-2207080d84b0c0d87d39e1683939004f5147faf9" uid "7848e7d088fbe777681d3631994ab49750cb72ba" @@ -287,9 +280,9 @@ "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" + integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== "@babel/core@7.17.12": version "7.17.12" @@ -312,7 +305,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.2", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== @@ -333,6 +326,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" + integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.2" + "@babel/parser" "^7.18.5" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.18.5" + "@babel/types" "^7.18.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.18.2", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" @@ -548,10 +562,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.12", "@babel/parser@^7.18.0": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" - integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.12", "@babel/parser@^7.18.0", "@babel/parser@^7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" + integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" @@ -933,9 +947,9 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.18.0": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz#3d6fd9868c735cce8f38d6ae3a407fb7e61e6d46" - integrity sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996" + integrity sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q== dependencies: "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-module-transforms" "^7.18.0" @@ -960,9 +974,9 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-new-target@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" - integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931" + integrity sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg== dependencies: "@babel/helper-plugin-utils" "^7.17.12" @@ -1174,10 +1188,10 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.12", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" - integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.12", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" + integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.18.2" @@ -1185,12 +1199,12 @@ "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.0" - "@babel/types" "^7.18.2" + "@babel/parser" "^7.18.5" + "@babel/types" "^7.18.4" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== @@ -1281,11 +1295,11 @@ "@jridgewell/trace-mapping" "0.3.9" "@csstools/postcss-cascade-layers@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.2.tgz#7c48b5f773c4cdcdc6b57d6099fbdc2332e12219" - integrity sha512-n5fSd3N/RTLjwC6TLnHjlVEt5tRg6S6Pu+LpRgXayX0QVJHvlMzE3+R12cd2F0we8WB4OE8o5r5iWgmBPpqUyQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.3.tgz#71ee4a3f00f947788097f8d67310b2e4a336aa51" + integrity sha512-fvXP0+dcllGtRKAjA5n5tBr57xWQalKky09hSiXAZ9qqjHn0sDuQV2Jz0Y5zHRQ6iGrAjJZOf2+xQj3yuXfLwA== dependencies: - "@csstools/selector-specificity" "^1.0.0" + "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" "@csstools/postcss-color-function@^1.1.0": @@ -1319,11 +1333,11 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-is-pseudo-class@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.4.tgz#6e8b49b96a7d3346d5316bd773dcff9c983b4183" - integrity sha512-T2Tmr5RIxkCEXxHwMVyValqwv3h5FTJPpmU8Mq/HDV+TY6C9srVaNMiMG/sp0QaxUnVQQrnXsuLU+1g2zrLDcQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.5.tgz#60fea78776fc3916ad66d568064aa31029b9f772" + integrity sha512-Ek+UFI4UP2hB9u0N1cJd6KgSF1rL0J3PT4is0oSStuus8+WzbGGPyJNMOKQ0w/tyPjxiCnOI4RdSMZt3nks64g== dependencies: - "@csstools/selector-specificity" "^1.0.0" + "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" "@csstools/postcss-normalize-display-values@^1.0.0": @@ -1355,7 +1369,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^1.0.0": +"@csstools/postcss-trigonometric-functions@^1.0.0", "@csstools/postcss-trigonometric-functions@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.1.tgz#e36e61f445614193dbf6d3a8408709b0cf184a6f" integrity sha512-G78CY/+GePc6dDCTUbwI6TTFQ5fs3N9POHhI6v0QzteGpf6ylARiJUNz9HrRKi4eVYBNXjae1W2766iUEFxHlw== @@ -1367,10 +1381,10 @@ resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.1.tgz#2cc020785db5ec82cc9444afe4cdae2a65445f89" integrity sha512-f1G1WGDXEU/RN1TWAxBPQgQudtLnLQPyiWdtypkPC+mVYNKFKH/HYXSxH4MVNqwF8M0eDsoiU7HumJHCg/L/jg== -"@csstools/selector-specificity@1.0.0", "@csstools/selector-specificity@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz#91c560df2ed8d9700e4c7ed4ac21a3a322c9d975" - integrity sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw== +"@csstools/selector-specificity@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz#b6b8d81780b9a9f6459f4bfe9226ac6aefaefe87" + integrity sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA== "@discoveryjs/json-ext@0.5.7": version "0.5.7" @@ -1475,7 +1489,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== @@ -1771,24 +1785,24 @@ integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + version "1.0.10" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.10.tgz#10fecee4a3be17357ce99b370bd81874044d8dbd" + integrity sha512-N+srakvPaYMGkwjNDx3ASx65Zl3QG8dJgVtIB+YMOkucU+zctlv/hdP5250VKdDHSDoW9PFZoCqbqNcAPjCjXA== "@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.2.tgz#b09c08de2eb319ca2acab17a1b8028af110b24b3" + integrity sha512-YwrUA5ysDXHFYfL0Xed9x3sNS4P+aKlCOnnbqUa2E5HdQshHFleCJVrj1PlGTb4GgFUCDyte1v3JWLy2sz8Oqg== "@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== "@types/argparse@1.0.38": version "1.0.38" @@ -1921,9 +1935,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.4.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.2.tgz#48f2ac58ab9c631cb68845c3d956b28f79fad575" - integrity sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA== + version "8.4.3" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.3.tgz#5c92815a3838b1985c90034cd85f26f59d9d0ece" + integrity sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2062,9 +2076,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.38" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.38.tgz#f8bb07c371ccb1903f3752872c89f44006132947" - integrity sha512-5jY9RhV7c0Z4Jy09G+NIDTsCZ5G0L5n+Z+p+Y7t5VJHM30bgwzSjVtlcBxqAj+6L/swIlvtOSzr8rBk/aNyV2g== + version "17.0.42" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.42.tgz#d7e8f22700efc94d125103075c074396b5f41f9b" + integrity sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ== "@types/node@12.20.24": version "12.20.24" @@ -2082,9 +2096,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.20.tgz#268f028b36eaf51181c3300252f605488c4f0650" - integrity sha512-Q8KKwm9YqEmUBRsqJ2GWJDtXltBDxTdC4m5vTdXBolu2PeQh8LX+f6BTwU+OuXPu37fLxoN6gidqBmnky36FXA== + version "14.18.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.21.tgz#0155ee46f6be28b2ff0342ca1a9b9fd4468bef41" + integrity sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2108,9 +2122,9 @@ integrity sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ== "@types/pacote@^11.1.3": - version "11.1.3" - resolved "https://registry.yarnpkg.com/@types/pacote/-/pacote-11.1.3.tgz#59c07c6dd3a317bb50045c550292f1c72e50f818" - integrity sha512-1SN4uFKLEcuZwWXCMQUOnJWk+8cL6aRaToAn3+IZtkWBG3i2R3BTyW/BimfCHn9OTzrfrQAX0+InKBurX6ZTuQ== + version "11.1.4" + resolved "https://registry.yarnpkg.com/@types/pacote/-/pacote-11.1.4.tgz#d7aeb508ce238d4750f21d82269257f9c5cdafc9" + integrity sha512-wWZOztJ/Msh8MqbKr2ESQ6WPRv4BF+OPC4nri3W4UKl/1P5Hdul+IvN5Up7FPIK0XhUAOTCz+1QZoyi9PKGx+w== dependencies: "@types/node" "*" "@types/npm-registry-fetch" "*" @@ -2281,9 +2295,9 @@ integrity sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA== "@types/uglify-js@*": - version "3.13.2" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.2.tgz#1044c1713fb81cb1ceef29ad8a9ee1ce08d690ef" - integrity sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q== + version "3.16.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.16.0.tgz#2cf74a0e6ebb6cd54c0d48e509d5bd91160a9602" + integrity sha512-0yeUr92L3r0GLRnBOvtYK1v2SjqMIqQDHMl7GLb+l2L8+6LSFWEEWEIgVsPdMn5ImLM8qzWT8xFPtQYpp8co0g== dependencies: source-map "^0.6.1" @@ -2939,7 +2953,7 @@ async-each-series@0.1.1: resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" integrity sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ== -async@3.2.3, async@^3.2.3: +async@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== @@ -2951,6 +2965,11 @@ async@^2.6.0: dependencies: lodash "^4.17.14" +async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3124,14 +3143,14 @@ body-parser@1.20.0, body-parser@^1.19.0: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.0.12" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.12.tgz#28fbd4683f5f2e36feedb833e24ba661cac960c3" - integrity sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw== + version "1.0.13" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.13.tgz#4ac003dc1626023252d58adf2946f57e5da450c1" + integrity sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA== dependencies: array-flatten "^2.1.2" dns-equal "^1.0.0" fast-deep-equal "^3.1.3" - multicast-dns "^7.2.4" + multicast-dns "^7.2.5" boolbase@^1.0.0: version "1.0.0" @@ -3245,14 +3264,14 @@ browser-sync@^2.27.7: yargs "^17.3.1" browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.9.1: - version "4.20.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" - integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + version "4.20.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" + integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== dependencies: - caniuse-lite "^1.0.30001332" - electron-to-chromium "^1.4.118" + caniuse-lite "^1.0.30001349" + electron-to-chromium "^1.4.147" escalade "^3.1.1" - node-releases "^2.0.3" + node-releases "^2.0.5" picocolors "^1.0.0" browserstack@^1.5.1: @@ -3341,7 +3360,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.1: +cacache@16.1.1, cacache@^16.0.0, cacache@^16.1.0: version "16.1.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== @@ -3389,30 +3408,6 @@ cacache@^15.2.0: tar "^6.0.2" unique-filename "^1.1.1" -cacache@^16.0.0, cacache@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.0.tgz#87a6bae558a511c9cb2a13768073e240ca76153a" - integrity sha512-Pk4aQkwCW82A4jGKFvcGkQFqZcMspfP9YWq9Pr87/ldDvlWf718zeI6KWCdKt/jeihu6BytHRUicJPB1K2k8EQ== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^1.1.1" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3431,10 +3426,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: - version "1.0.30001344" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz#8a1e7fdc4db9c2ec79a05e9fd68eb93a761888bb" - integrity sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g== +caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001349: + version "1.0.30001352" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz#cc6f5da3f983979ad1e2cdbae0505dccaa7c6a12" + integrity sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA== caseless@~0.12.0: version "0.12.0" @@ -3609,9 +3604,9 @@ color-support@^1.1.3: integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colorette@^2.0.10: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + version "2.0.17" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.17.tgz#5dd4c0d15e2984b7433cb4a9f2ead45063b80c47" + integrity sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g== colors@1.4.0: version "1.4.0" @@ -3777,9 +3772,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.7" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.7.tgz#8359eb66ecbf726dd0cfced8e48d5e73f3224239" - integrity sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA== + version "3.22.8" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.8.tgz#46fa34ce1ddf742acd7f95f575f66bbb21e05d62" + integrity sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg== dependencies: browserslist "^4.20.3" semver "7.0.0" @@ -3904,10 +3899,10 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.2.tgz#6c1c1777483c909a8fc64f296a51546136b35f45" - integrity sha512-w08LaP+DRoPlw4g4LSUp+EWRrWTPlrzWREcU7/6IeMfL7tPR2P9oeQ1G+pxyfMmLWBNDwqHWa6kxiuGMLb71EA== +cssdb@^6.6.2, cssdb@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.3.tgz#1f331a2fab30c18d9f087301e6122a878bb1e505" + integrity sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA== cssesc@^3.0.0: version "3.0.0" @@ -3966,9 +3961,9 @@ data-urls@^1.1.0: whatwg-url "^7.0.0" date-format@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.10.tgz#7aa4bc0ad0c79f4ba858290e5dbb47f27d602e79" - integrity sha512-RuMIHocrVjF84bUSTcd1uokIsLsOsk1Awb7TexNOI3f48ukCu39mjslWquDTA08VaDMF2umr3MB9ow5EyJTWyA== + version "4.0.11" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.11.tgz#ae0d1e069d7f0687938fd06f98c12f3a6276e526" + integrity sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw== dayjs@1.11.2: version "1.11.2" @@ -4272,10 +4267,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.118: - version "1.4.143" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.143.tgz#10f1bb595ad6cd893c05097039c685dcf5c8e30c" - integrity sha512-2hIgvu0+pDfXIqmVmV5X6iwMjQ2KxDsWKwM+oI1fABEOy/Dqmll0QJRmIQ3rm+XaoUa/qKrmy5h7LSTFQ6Ldzg== +electron-to-chromium@^1.4.147: + version "1.4.152" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.152.tgz#7dedbe8f3dc1c597088982a203f392e60f7ee90a" + integrity sha512-jk4Ju5SGZAQQJ1iI4Rgru7dDlvkQPLpNPWH9gIZmwCD4YteA5Bbk1xPcPDUf5jUYs3e1e80RXdi8XgKQZaigeg== emoji-regex@^8.0.0: version "8.0.0" @@ -4488,107 +4483,212 @@ esbuild-android-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== +esbuild-android-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.43.tgz#59bf3edad6863c27aa92bbb5c1d83a9a5c981495" + integrity sha512-kqFXAS72K6cNrB6RiM7YJ5lNvmWRDSlpi7ZuRZ1hu1S3w0zlwcoCxWAyM23LQUyZSs1PbjHgdbbfYAN8IGh6xg== + esbuild-android-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== +esbuild-android-arm64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.43.tgz#0258704edf92ce2463af6d2900b844b5423bed63" + integrity sha512-bKS2BBFh+7XZY9rpjiHGRNA7LvWYbZWP87pLehggTG7tTaCDvj8qQGOU/OZSjCSKDYbgY7Q+oDw8RlYQ2Jt2BA== + esbuild-darwin-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== +esbuild-darwin-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.43.tgz#72a47295678d4aa0656979baa8cf6d5c8c92656f" + integrity sha512-/3PSilx011ttoieRGkSZ0XV8zjBf2C9enV4ScMMbCT4dpx0mFhMOpFnCHkOK0pWGB8LklykFyHrWk2z6DENVUg== + esbuild-darwin-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== +esbuild-darwin-arm64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.43.tgz#5f5823170b8d85b888957f0794e186caac447aca" + integrity sha512-1HyFUKs8DMCBOvw1Qxpr5Vv/ThNcVIFb5xgXWK3pyT40WPvgYIiRTwJCvNs4l8i5qWF8/CK5bQxJVDjQvtv0Yw== + esbuild-freebsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== +esbuild-freebsd-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.43.tgz#e4a48b08181053837e6cd9bda19ae0af94d493b0" + integrity sha512-FNWc05TPHYgaXjbPZO5/rJKSBslfG6BeMSs8GhwnqAKP56eEhvmzwnIz1QcC9cRVyO+IKqWNfmHFkCa1WJTULA== + esbuild-freebsd-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== +esbuild-freebsd-arm64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.43.tgz#386e780d36c1dedf3a1cdab79e0bbacd873274e6" + integrity sha512-amrYopclz3VohqisOPR6hA3GOWA3LZC1WDLnp21RhNmoERmJ/vLnOpnrG2P/Zao+/erKTCUqmrCIPVtj58DRoA== + esbuild-linux-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== +esbuild-linux-32@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.43.tgz#040ed6b9ebf06d73acdf2acce7f1cd0c12fbc6a5" + integrity sha512-KoxoEra+9O3AKVvgDFvDkiuddCds6q71owSQEYwjtqRV7RwbPzKxJa6+uyzUulHcyGVq0g15K0oKG5CFBcvYDw== + esbuild-linux-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== +esbuild-linux-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.43.tgz#8abbb7594ab6a008f2aae72d95d8a4fdc59d9000" + integrity sha512-EwINwGMyiJMgBby5/SbMqKcUhS5AYAZ2CpEBzSowsJPNBJEdhkCTtEjk757TN/wxgbu3QklqDM6KghY660QCUw== + esbuild-linux-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== +esbuild-linux-arm64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.43.tgz#4e8e9ce77cbf7efec65e79e512b3d2fbd2da398f" + integrity sha512-UlSpjMWllAc70zYbHxWuDS3FJytyuR/gHJYBr8BICcTNb/TSOYVBg6U7b3jZ3mILTrgzwJUHwhEwK18FZDouUQ== + esbuild-linux-arm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== +esbuild-linux-arm@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.43.tgz#9e41ee5e099c0ffdfd150da154330c2c0226cc96" + integrity sha512-e6YzQUoDxxtyamuF12eVzzRC7bbEFSZohJ6igQB9tBqnNmIQY3fI6Cns3z2wxtbZ3f2o6idkD2fQnlvs2902Dg== + esbuild-linux-mips64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== +esbuild-linux-mips64le@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.43.tgz#4b41f465a787f91cc4fe7dffa0dcabf655935a1a" + integrity sha512-f+v8cInPEL1/SDP//CfSYzcDNgE4CY3xgDV81DWm3KAPWzhvxARrKxB1Pstf5mB56yAslJDxu7ryBUPX207EZA== + esbuild-linux-ppc64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== +esbuild-linux-ppc64le@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.43.tgz#ca15934f5b46728dd9ac05270e783e7feaca9eaf" + integrity sha512-5wZYMDGAL/K2pqkdIsW+I4IR41kyfHr/QshJcNpUfK3RjB3VQcPWOaZmc+74rm4ZjVirYrtz+jWw0SgxtxRanA== + esbuild-linux-riscv64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== +esbuild-linux-riscv64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.43.tgz#70fce2b5a0605a67e58b5a357b0e00be1029836d" + integrity sha512-lYcAOUxp85hC7lSjycJUVSmj4/9oEfSyXjb/ua9bNl8afonaduuqtw7hvKMoKuYnVwOCDw4RSfKpcnIRDWq+Bw== + esbuild-linux-s390x@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== +esbuild-linux-s390x@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.43.tgz#318d03b4f4ccc7fa44ac7562121cf4a4529e477a" + integrity sha512-27e43ZhHvhFE4nM7HqtUbMRu37I/4eNSUbb8FGZWszV+uLzMIsHDwLoBiJmw7G9N+hrehNPeQ4F5Ujad0DrUKQ== + esbuild-netbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== +esbuild-netbsd-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.43.tgz#86130ce204ef0162a96e863b55851efecc92f423" + integrity sha512-2mH4QF6hHBn5zzAfxEI/2eBC0mspVsZ6UVo821LpAJKMvLJPBk3XJO5xwg7paDqSqpl7p6IRrAenW999AEfJhQ== + esbuild-openbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== +esbuild-openbsd-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.43.tgz#0229dc2db2ded97b03bb93bba7646b30ffdf5d0d" + integrity sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg== + esbuild-sunos-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== -esbuild-wasm@0.14.42, esbuild-wasm@^0.14.29: +esbuild-sunos-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.43.tgz#17e316216eb9f1de25d52a9000356ae5b869e736" + integrity sha512-DgxSi9DaHReL9gYuul2rrQCAapgnCJkh3LSHPKsY26zytYppG0HgkgVF80zjIlvEsUbGBP/GHQzBtrezj/Zq1Q== + +esbuild-wasm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== +esbuild-wasm@^0.14.29: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.43.tgz#ec4c0f047ae73ebbaa7ca1f69739dbc417300476" + integrity sha512-c7SXmH4ghNEdxPbegTzFaFp1IBse0Ji0j74r/wZUdfrl0wBhpiE7zy0HdGB6Gd0L4dS95FYVfmL9RQtoFrroww== + esbuild-windows-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== +esbuild-windows-32@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.43.tgz#a173757bc6dfd0f2656ff40b64f7f9290745778e" + integrity sha512-Ih3+2O5oExiqm0mY6YYE5dR0o8+AspccQ3vIAtRodwFvhuyGLjb0Hbmzun/F3Lw19nuhPMu3sW2fqIJ5xBxByw== + esbuild-windows-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== +esbuild-windows-64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.43.tgz#c447b23126aad158c4fe6a394342cafd97926ed1" + integrity sha512-8NsuNfI8xwFuJbrCuI+aBqNTYkrWErejFO5aYM+yHqyHuL8mmepLS9EPzAzk8rvfaJrhN0+RvKWAcymViHOKEw== + esbuild-windows-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== -esbuild@0.14.42, esbuild@^0.14.29: +esbuild-windows-arm64@0.14.43: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.43.tgz#3caed1b430d394d7a7836407b9d36c4750246e76" + integrity sha512-7ZlD7bo++kVRblJEoG+cepljkfP8bfuTPz5fIXzptwnPaFwGS6ahvfoYzY7WCf5v/1nX2X02HDraVItTgbHnKw== + +esbuild@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" integrity sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw== @@ -4614,6 +4714,32 @@ esbuild@0.14.42, esbuild@^0.14.29: esbuild-windows-64 "0.14.42" esbuild-windows-arm64 "0.14.42" +esbuild@^0.14.29: + version "0.14.43" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.43.tgz#c227d585c512d3e0f23b88f50b8e16501147f647" + integrity sha512-Uf94+kQmy/5jsFwKWiQB4hfo/RkM9Dh7b79p8yqd1tshULdr25G2szLz631NoH3s2ujnKEKVD16RmOxvCNKRFA== + optionalDependencies: + esbuild-android-64 "0.14.43" + esbuild-android-arm64 "0.14.43" + esbuild-darwin-64 "0.14.43" + esbuild-darwin-arm64 "0.14.43" + esbuild-freebsd-64 "0.14.43" + esbuild-freebsd-arm64 "0.14.43" + esbuild-linux-32 "0.14.43" + esbuild-linux-64 "0.14.43" + esbuild-linux-arm "0.14.43" + esbuild-linux-arm64 "0.14.43" + esbuild-linux-mips64le "0.14.43" + esbuild-linux-ppc64le "0.14.43" + esbuild-linux-riscv64 "0.14.43" + esbuild-linux-s390x "0.14.43" + esbuild-netbsd-64 "0.14.43" + esbuild-openbsd-64 "0.14.43" + esbuild-sunos-64 "0.14.43" + esbuild-windows-32 "0.14.43" + esbuild-windows-64 "0.14.43" + esbuild-windows-arm64 "0.14.43" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5305,13 +5431,13 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-package-type@^0.1.0: version "0.1.0" @@ -5423,9 +5549,9 @@ globby@^11.1.0: slash "^3.0.0" globby@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.1.tgz#7c44a93869b0b7612e38f22ed532bfe37b25ea6f" - integrity sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q== + version "13.1.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.2.tgz#29047105582427ab6eca4f905200667b056da515" + integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ== dependencies: dir-glob "^3.0.1" fast-glob "^3.2.11" @@ -6199,16 +6325,21 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.1.tgz#1045091e16f4f19e1d72416eef5db01e64d5fbeb" - integrity sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g== +jasmine-core@^4.1.0, jasmine-core@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.2.0.tgz#0605bea284d6d78276f43c47de2532ecd4a73b00" + integrity sha512-OcFpBrIhnbmb9wfI8cqPSJ50pv3Wg4/NSgoZIqHzIwO/2a9qivJWzv8hUvaREIMYYJBas6AvfXATFdVuzzCqVw== jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== +jasmine-core@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.1.tgz#1045091e16f4f19e1d72416eef5db01e64d5fbeb" + integrity sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g== + jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -6234,12 +6365,12 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.1.0.tgz#0de347ca8bb6cc764b0ed186ae4cfc45bd64bdc4" - integrity sha512-4VhjbUgwfNS9CBnUMoSWr9tdNgOoOhNIjAD8YRxTn+PmOf4qTSC0Uqhk66dWGnz2vJxtNIU0uBjiwnsp4Ud9VA== + version "4.2.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.2.0.tgz#a5e9e2af25813da3517f5dafa9e46b2d896d996a" + integrity sha512-6SQRXHs5O++mp52PkoJoi9zuLYqp1IaqepRNmAQn5rUBo9VUnckpkkXQQD5PAuCCVVB1ULDImvWYCPV/ZVnaGQ== dependencies: glob "^7.1.6" - jasmine-core "^4.1.0" + jasmine-core "^4.2.0" jasminewd2@^2.1.0: version "2.2.0" @@ -6562,7 +6693,7 @@ less-loader@11.0.0: dependencies: klona "^2.0.4" -less@4.1.2, less@^4.1.2: +less@4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== @@ -6579,6 +6710,23 @@ less@4.1.2, less@^4.1.2: needle "^2.5.2" source-map "~0.6.0" +less@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" + integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -6869,9 +7017,9 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.6: - version "10.1.6" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.6.tgz#22b3ac3b077a7cfa80525af12e637e349f21d26e" - integrity sha512-/iKDlRQF0fkxyB/w/duW2yRYrGwBcbJjC37ijgi0CmOZ32bzMc86BCSSAHWvuyRFCB408iBPziTSzazBSrKo3w== + version "10.1.7" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz#b1402cb3c9fad92b380ff3a863cdae5414a42f76" + integrity sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -6887,7 +7035,7 @@ make-fetch-happen@^10.0.6: minipass-pipeline "^1.2.4" negotiator "^0.6.3" promise-retry "^2.0.1" - socks-proxy-agent "^6.1.1" + socks-proxy-agent "^7.0.0" ssri "^9.0.0" make-fetch-happen@^9.1.0: @@ -7175,7 +7323,7 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multicast-dns@^7.2.4: +multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== @@ -7221,6 +7369,15 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" +needle@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.1.0.tgz#3bf5cd090c28eb15644181ab6699e027bd6c53c9" + integrity sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw== + dependencies: + debug "^3.2.6" + iconv-lite "^0.6.3" + sax "^1.2.4" + negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -7322,7 +7479,7 @@ node-gyp@^8.4.1: tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.3: +node-releases@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== @@ -7838,12 +7995,12 @@ path-type@^4.0.0: pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^0.2.1: version "0.2.1" @@ -7875,12 +8032,12 @@ pidusage@3.0.0, pidusage@^3.0.0: pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" @@ -7890,14 +8047,14 @@ pify@^4.0.1: pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== pino-std-serializers@^3.1.0: version "3.2.0" @@ -7938,7 +8095,7 @@ pkg-dir@4.2.0, pkg-dir@^4.1.0: pkginfo@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" - integrity sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8= + integrity sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ== pluralize@^7.0.0: version "7.0.0" @@ -7963,12 +8120,12 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-attribute-case-insensitive@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c" - integrity sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ== +postcss-attribute-case-insensitive@^5.0.0, postcss-attribute-case-insensitive@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz#86d323c77ab8896ed90500071c2c8329fba64fda" + integrity sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ== dependencies: - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^6.0.10" postcss-clamp@^4.1.0: version "4.1.0" @@ -7985,35 +8142,37 @@ postcss-color-functional-notation@^4.2.3: postcss-value-parser "^4.2.0" postcss-color-hex-alpha@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz#61a0fd151d28b128aa6a8a21a2dad24eebb34d52" - integrity sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw== + version "8.0.4" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" + integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== dependencies: postcss-value-parser "^4.2.0" postcss-color-rebeccapurple@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz#5d397039424a58a9ca628762eb0b88a61a66e079" - integrity sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw== + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.0.tgz#a2fe1d7be13d21ea01dc7c2363b637cc83a9eb6e" + integrity sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-media@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" - integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== +postcss-custom-media@^8.0.0, postcss-custom-media@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" + integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== + dependencies: + postcss-value-parser "^4.2.0" postcss-custom-properties@^12.1.7: - version "12.1.7" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.7.tgz#ca470fd4bbac5a87fd868636dafc084bc2a78b41" - integrity sha512-N/hYP5gSoFhaqxi2DPCmvto/ZcRDVjE3T1LiAMzc/bg53hvhcHOLpXOHb526LzBBp5ZlAUhkuot/bfpmpgStJg== + version "12.1.8" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz#aa003e1885c5bd28e2e32496cd597e389ca889e4" + integrity sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-selectors@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" - integrity sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q== +postcss-custom-selectors@^6.0.0, postcss-custom-selectors@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" + integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== dependencies: postcss-selector-parser "^6.0.4" @@ -8140,11 +8299,11 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nesting@^10.1.7: - version "10.1.7" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.7.tgz#0101bd6c7d386e7ad8e2e86ebcc0e0109833b86e" - integrity sha512-Btho5XzDTpl117SmB3tvUHP8txg5n7Ayv7vQ5m4b1zXkfs1Y52C67uZjZ746h7QvOJ+rLRg50OlhhjFW+IQY6A== + version "10.1.8" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.8.tgz#1675542cfedc3dc9621993f3abfdafa260c3a460" + integrity sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ== dependencies: - "@csstools/selector-specificity" "1.0.0" + "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" postcss-opacity-percentage@^1.1.2: @@ -8169,7 +8328,7 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.7.0, postcss-preset-env@^7.4.2: +postcss-preset-env@7.7.0: version "7.7.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#bcc9be9725a85d34e72a8fa69dc5e1130abee301" integrity sha512-2Q9YARQju+j2BVgAyDnW1pIWIMlaHZqbaGISPMmalznNlWcNFIZFQsJfRLXS+WHmHJDCmV7wIWpVf9JNKR4Elw== @@ -8222,6 +8381,59 @@ postcss-preset-env@7.7.0, postcss-preset-env@^7.4.2: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" +postcss-preset-env@^7.4.2: + version "7.7.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.1.tgz#ca416c15fd63fd44abe5dcd2890a34b0a664d2c8" + integrity sha512-1sx6+Nl1wMVJzaYLVaz4OAR6JodIN/Z1upmVqLwSPCLT6XyxrEoePgNMHPH08kseLe3z06i9Vfkt/32BYEKDeA== + dependencies: + "@csstools/postcss-cascade-layers" "^1.0.2" + "@csstools/postcss-color-function" "^1.1.0" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.1" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.4" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.0" + "@csstools/postcss-trigonometric-functions" "^1.0.1" + "@csstools/postcss-unset-value" "^1.0.1" + autoprefixer "^10.4.7" + browserslist "^4.20.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.6.3" + postcss-attribute-case-insensitive "^5.0.1" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.3" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.1" + postcss-custom-properties "^12.1.7" + postcss-custom-selectors "^6.0.2" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.7" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.4" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^6.0.0" + postcss-value-parser "^4.2.0" + postcss-pseudo-class-any-link@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz#ac72aac4fe11fc4a0a368691f8fd5fe89e95aba4" @@ -8241,6 +8453,13 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" +postcss-selector-not@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.0.tgz#d100f273d345917246762300411b4d2e24905047" + integrity sha512-i/HI/VNd3V9e1WOLCwJsf9nePBRXqcGtVibcJ9FsVo0agfDEfsLSlFt94aYjY35wUNcdG0KrvdyjEr7It50wLQ== + dependencies: + postcss-selector-parser "^6.0.10" + postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: version "6.0.10" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" @@ -8289,12 +8508,12 @@ prelude-ls@^1.2.1: prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== prettier-bytes@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" - integrity sha1-mUsCqkb2mcULYle1+qp/4lV+YtY= + integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== prettier@2.6.2, prettier@^2.0.0: version "2.6.2" @@ -8321,7 +8540,7 @@ proc-log@^2.0.0: process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + integrity sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw== process-nextick-args@~2.0.0: version "2.0.1" @@ -8341,7 +8560,7 @@ progress@2.0.3: promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise-retry@^2.0.1: version "2.0.1" @@ -8407,7 +8626,7 @@ proxy-from-env@1.1.0: prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== psl@^1.1.24, psl@^1.1.28: version "1.8.0" @@ -8425,7 +8644,7 @@ pump@^3.0.0: punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" @@ -8453,12 +8672,12 @@ puppeteer@14.2.1: q@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" - integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= + integrity sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg== q@^1.4.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qjobs@^1.2.0: version "1.2.0" @@ -8475,7 +8694,7 @@ qs@6.10.3: qs@6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" - integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= + integrity sha512-AY4g8t3LMboim0t6XWFdz6J5OuJ1ZNYu54SXihS/OMpgyCqYmcAJnWqkNSOjSjWmq3xxy+GF9uWQI2lI/7tKIA== qs@~6.5.2: version "6.5.3" @@ -8513,7 +8732,7 @@ quicktype-core@6.0.69: quote-stream@^1.0.1, quote-stream@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" - integrity sha1-hJY/jJwmuULhU/7rU6rnRlK34LI= + integrity sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ== dependencies: buffer-equal "0.0.1" minimist "^1.1.3" @@ -8544,14 +8763,14 @@ raw-body@2.5.1, raw-body@^2.3.2: read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" read-installed@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" - integrity sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc= + integrity sha512-O03wg/IYuV/VtnK2h/KXEt9VIbMUFbk3ERG0Iu4FhLZw0EP0T9znqrYDGn6ncbEsXUFaUjiVAWXHzxwt3lhRPQ== dependencies: debuglog "^1.0.1" read-package-json "^2.0.0" @@ -8645,7 +8864,7 @@ readdirp@~3.6.0: rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: resolve "^1.1.6" @@ -8792,7 +9011,7 @@ request@^2.87.0, request@^2.88.0: require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" @@ -8807,7 +9026,7 @@ require-main-filename@^2.0.0: requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-from@^4.0.0: version "4.0.0" @@ -8857,7 +9076,7 @@ resolve@~1.19.0: resp-modifier@6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" - integrity sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08= + integrity sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw== dependencies: debug "^2.2.0" minimatch "^3.0.2" @@ -8873,7 +9092,7 @@ restore-cursor@^3.1.0: retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== retry@^0.13.1: version "0.13.1" @@ -8907,7 +9126,7 @@ rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4: rimraf@~2.4.0: version "2.4.5" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" - integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto= + integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== dependencies: glob "^6.0.1" @@ -8920,9 +9139,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.75.5" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.5.tgz#7985c1962483235dd07966f09fdad5c5f89f16d0" - integrity sha512-JzNlJZDison3o2mOxVmb44Oz7t74EfSd1SQrplQk0wSaXV7uLQXtVdHbxlcT3w+8tZ1TL4r/eLfc7nAbz38BBA== + version "2.75.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.6.tgz#ac4dc8600f95942a0180f61c7c9d6200e374b439" + integrity sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA== optionalDependencies: fsevents "~2.3.2" @@ -8941,7 +9160,7 @@ run-parallel@^1.1.9: rx@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= + integrity sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug== rxjs@6.6.7: version "6.6.7" @@ -8997,9 +9216,9 @@ sass@1.52.2: source-map-js ">=0.6.2 <2.0.0" sass@^1.49.9: - version "1.52.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.1.tgz#554693da808543031f9423911d62c60a1acf7889" - integrity sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q== + version "1.52.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.3.tgz#b7cc7ffea2341ccc9a0c4fd372bf1b3f9be1b6cb" + integrity sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -9060,7 +9279,7 @@ schema-utils@^4.0.0: select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: version "3.6.0" @@ -9163,7 +9382,7 @@ serialize-javascript@^6.0.0: serve-index@1.9.1, serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" batch "0.6.1" @@ -9196,17 +9415,17 @@ serve-static@1.15.0: server-destroy@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" - integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0= + integrity sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: version "1.1.0" @@ -9228,7 +9447,7 @@ shallow-clone@^3.0.0: shallow-copy@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" - integrity sha1-QV9CcC1z2BAzApLMXuhurhoRoXA= + integrity sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw== shebang-command@^2.0.0: version "2.0.0" @@ -9278,7 +9497,7 @@ slash@^4.0.0: slide@~1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw== smart-buffer@^4.2.0: version "4.2.0" @@ -9338,7 +9557,7 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.1: +socks-proxy-agent@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== @@ -9347,6 +9566,15 @@ socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.1: debug "^4.3.3" socks "^2.6.2" +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + socks@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" @@ -9422,7 +9650,7 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@0.7.3, source-map@^0.7.3: +source-map@0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -9430,7 +9658,12 @@ source-map@0.7.3, source-map@^0.7.3: source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== sourcemap-codec@^1.4.8: version "1.4.8" @@ -9521,7 +9754,7 @@ spdy@^4.0.2: sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== sshpk@^1.7.0: version "1.17.0" @@ -9587,12 +9820,12 @@ statuses@2.0.1: "statuses@>= 1.4.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - integrity sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4= + integrity sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg== statuses@~1.4.0: version "1.4.0" @@ -9602,19 +9835,19 @@ statuses@~1.4.0: stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== steno@^0.4.1: version "0.4.4" resolved "https://registry.yarnpkg.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb" - integrity sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs= + integrity sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w== dependencies: graceful-fs "^4.1.3" stream-throttle@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" - integrity sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM= + integrity sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ== dependencies: commander "^2.2.0" limiter "^1.0.5" @@ -9684,7 +9917,7 @@ string_decoder@~1.1.1: strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" @@ -9698,7 +9931,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-final-newline@^2.0.0: version "2.0.0" @@ -9733,7 +9966,7 @@ stylus@0.58.1, stylus@^0.58.0: supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== supports-color@^5.3.0: version "5.5.0" @@ -9764,7 +9997,7 @@ supports-preserve-symlinks-flag@^1.0.0: symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= + integrity sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw== symbol-observable@4.0.0: version "4.0.0" @@ -9815,17 +10048,17 @@ tar@^6.0.2, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: yallist "^4.0.0" terser-webpack-plugin@^5.1.3: - version "5.3.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" - integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== + version "5.3.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90" + integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ== dependencies: + "@jridgewell/trace-mapping" "^0.3.7" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" - source-map "^0.6.1" terser "^5.7.2" -terser@5.14.0, terser@^5.7.2: +terser@5.14.0: version "5.14.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== @@ -9835,6 +10068,16 @@ terser@5.14.0, terser@^5.7.2: commander "^2.20.0" source-map-support "~0.5.20" +terser@^5.7.2: + version "5.14.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" + integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -9847,7 +10090,7 @@ test-exclude@^6.0.0: text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== tfunk@^4.0.0: version "4.0.0" @@ -9868,7 +10111,7 @@ through2@^2.0.0, through2@~2.0.3: "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== thunky@^1.0.2: version "1.1.0" @@ -9886,7 +10129,7 @@ timers-ext@^0.1.7: timsort@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== tiny-inflate@^1.0.0: version "1.0.3" @@ -9896,7 +10139,7 @@ tiny-inflate@^1.0.0: tmp@0.0.30: version "0.0.30" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" - integrity sha1-ckGdSovn1s51FI/YsyTlk6cRwu0= + integrity sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w== dependencies: os-tmpdir "~1.0.1" @@ -9917,7 +10160,7 @@ tmp@^0.2.1: to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" @@ -9959,14 +10202,14 @@ tough-cookie@~2.4.3: tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== dependencies: punycode "^2.1.0" tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tree-kill@1.2.2, tree-kill@^1.2.0: version "1.2.2" @@ -9984,9 +10227,9 @@ treeify@^1.1.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.8.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce" - integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== + version "10.8.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.1.tgz#ea2bd3459011b52699d7e88daa55a45a1af4f066" + integrity sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -10037,14 +10280,14 @@ tsutils@3.21.0, tsutils@^3.21.0: tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== typanion@^3.3.1: version "3.9.0" @@ -10061,7 +10304,7 @@ type-check@^0.4.0, type-check@~0.4.0: type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== dependencies: prelude-ls "~1.1.2" @@ -10101,12 +10344,12 @@ typed-assert@^1.0.8: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript@^4.6.2, typescript@~4.7.0, typescript@~4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" - integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== + version "4.7.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" + integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== typescript@~4.6.3: version "4.6.4" @@ -10124,9 +10367,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.5.tgz#2b10f9e0bfb3f5c15a8e8404393b6361eaeb33b3" - integrity sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ== + version "3.16.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.0.tgz#b778ba0831ca102c1d8ecbdec2d2bdfcc7353190" + integrity sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw== unbox-primitive@^1.0.2: version "1.0.2" @@ -10172,7 +10415,7 @@ unicode-property-aliases-ecmascript@^2.0.0: unicode-trie@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" - integrity sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU= + integrity sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q== dependencies: pako "^0.2.5" tiny-inflate "^1.0.0" @@ -10209,7 +10452,7 @@ unix-crypt-td-js@1.1.4: unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== uri-js@^4.2.2: version "4.4.1" @@ -10226,17 +10469,17 @@ urijs@^1.19.1: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util-extend@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" - integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= + integrity sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA== utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@8.3.2, uuid@^8.3.2: version "8.3.2" @@ -10290,7 +10533,7 @@ validator@13.7.0, validator@^13.7.0: vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== verdaccio-audit@10.2.2: version "10.2.2" @@ -10371,7 +10614,7 @@ verdaccio@5.11.0: verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -10385,7 +10628,7 @@ vlq@^0.2.2: void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== w3c-hr-time@^1.0.1: version "1.0.2" @@ -10404,9 +10647,9 @@ w3c-xmlserializer@^1.1.2: xml-name-validator "^3.0.0" watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -10421,7 +10664,7 @@ wbuf@^1.1.0, wbuf@^1.7.3: wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== dependencies: defaults "^1.0.3" @@ -10453,7 +10696,7 @@ webdriver-manager@^12.1.7: webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webidl-conversions@^4.0.2: version "4.0.2" @@ -10589,7 +10832,7 @@ whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -10617,7 +10860,7 @@ which-boxed-primitive@^1.0.2: which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which@^1.2.1: version "1.3.1" @@ -10653,7 +10896,7 @@ word-wrap@^1.2.3, word-wrap@~1.2.3: wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== wrap-ansi@^6.2.0: version "6.2.0" @@ -10676,13 +10919,18 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@8.7.0, ws@>=7.4.6, ws@^8.4.2: +ws@8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.7.0.tgz#eaf9d874b433aa00c0e0d8752532444875db3957" integrity sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg== +ws@>=7.4.6, ws@^8.4.2: + version "8.8.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" + integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== + ws@^7.0.0: version "7.5.8" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" @@ -10835,7 +11083,7 @@ yargs@^16.0.0, yargs@^16.1.1: yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" From 0600c77b80c2a759118ae5c9fa90211199d3ef34 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Jun 2022 14:26:48 +0000 Subject: [PATCH 0530/1388] ci: increase parallelism for Linux E2E This reduced the Linux CI time by around 7 mins --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 67c2b6cdec64..3a40ca6f164b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -199,7 +199,7 @@ jobs: executor: name: test-executor nodeversion: << parameters.nodeversion >> - parallelism: 6 + parallelism: 8 steps: - custom_attach_workspace - browser-tools/install-chrome From 085a852bea590ff78c0249a25a34e55dd05e5f17 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Jun 2022 10:49:26 +0000 Subject: [PATCH 0531/1388] ci: use RAM disk for Windows tests Windows is IO bound which causes tests to take significantly longer than Linux. With this change we introduce the use of RAM disk on Windows instead of a physical disk to store tests projects files which reduces this overhead. While Circle CI docs mention to use `ImDisk` https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk, we use a different tool Arsenal Image Mounter `aim_ll` due to following Node.js issue: https://github.com/nodejs/node/issues/6861 The `aim_ll` CLI is based on `ImDisk` and is parameter compatible. From testing a full run of the Windows E2E full test suit goes from ~56min to ~35mins With RAM disk https://app.circleci.com/pipelines/github/angular/angular-cli/23286/workflows/4b1dc425-f7ed-49d6-aeba-b2c503d08756/jobs/309423/parallel-runs/2?filterBy=ALL Without RAM Disk https://app.circleci.com/pipelines/github/angular/angular-cli/23256/workflows/3f551c3c-fbb0-445f-80f9-1801d4adc664/jobs/309312 --- .circleci/config.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3a40ca6f164b..cf3d6f7ce759 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -83,6 +83,25 @@ commands: at: *workspace_location setup_windows: steps: + - run: + # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 + # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 + name: 'Arsenal Image Mounter (RAM Disk)' + command: | + # Download AIM Drivers + Invoke-WebRequest 'https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/DriverSetup/DriverFiles.zip' -OutFile 'aim_drivers.zip' -UseBasicParsing + Expand-Archive -Path 'aim_drivers.zip' + + # Download AIM CLI + Invoke-WebRequest 'https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/Command%20line%20applications/aim_ll.zip' -OutFile 'aim_ll.zip' -UseBasicParsing + Expand-Archive -Path 'aim_ll.zip' + + # Install AIM drivers + ./aim_ll/x64/aim_ll.exe --install ./aim_drivers + + # Setup RAM disk mount. Same parameters as ImDisk + # See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk + ./aim_ll/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" - run: nvm install 16.10 - run: nvm use 16.10 - run: npm install -g yarn@1.22.10 @@ -326,10 +345,11 @@ jobs: - run: name: Execute E2E Tests command: | + mkdir X:/ramdisk/e2e-main if (Test-Path env:CIRCLE_PULL_REQUEST) { - node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts,tests/misc/check-postinstalls.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX + node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts,tests/misc/check-postinstalls.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main } else { - node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX + node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main } - fail_fast From c3b5b7216222d383ac1ff350a029488d1718fc83 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Jun 2022 10:50:49 +0000 Subject: [PATCH 0532/1388] ci: ignore all Windows process kill errors When using ramdisk we now get different errors some times ``` ERROR: The process with PID 3804 (child process of PID 7516) could not be terminated. Reason: The operation attempted is not supported. ``` --- tests/legacy-cli/e2e/utils/process.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index d1b5cbe76401..6078d7c50fe4 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -205,16 +205,13 @@ export async function killAllProcesses(signal = 'SIGTERM'): Promise { } processesToKill.push( - new Promise((resolve, reject) => { - treeKill(childProc.pid, signal, (err) => { - if (err && !err.message.includes('not found')) { - // Ignore process not found errors. - // This is due to a race condition with the `waitForMatch` logic. - // where promises are resolved on matches and not when the process terminates. - reject(err); - } else { - resolve(); - } + new Promise((resolve) => { + treeKill(childProc.pid, signal, () => { + // Ignore all errors. + // This is due to a race condition with the `waitForMatch` logic. + // where promises are resolved on matches and not when the process terminates. + // Also in some cases in windows we get `The operation attempted is not supported`. + resolve(); }); }), ); From e35750d605163cd816491e2cc357953f166e39f3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 13 Jun 2022 13:24:46 +0000 Subject: [PATCH 0533/1388] ci: validate Arsenal Image Mounter downloads hash This commits adds a content hash match for the Arsenal Image Mounter files to validate that the content of the files we download are as expected. --- .circleci/config.yml | 15 +-------------- .circleci/win-ram-disk.ps1 | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 .circleci/win-ram-disk.ps1 diff --git a/.circleci/config.yml b/.circleci/config.yml index cf3d6f7ce759..9271f8dde68b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -88,20 +88,7 @@ commands: # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 name: 'Arsenal Image Mounter (RAM Disk)' command: | - # Download AIM Drivers - Invoke-WebRequest 'https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/DriverSetup/DriverFiles.zip' -OutFile 'aim_drivers.zip' -UseBasicParsing - Expand-Archive -Path 'aim_drivers.zip' - - # Download AIM CLI - Invoke-WebRequest 'https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/Command%20line%20applications/aim_ll.zip' -OutFile 'aim_ll.zip' -UseBasicParsing - Expand-Archive -Path 'aim_ll.zip' - - # Install AIM drivers - ./aim_ll/x64/aim_ll.exe --install ./aim_drivers - - # Setup RAM disk mount. Same parameters as ImDisk - # See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk - ./aim_ll/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" + pwsh ./.circleci/win-ram-disk.ps1 - run: nvm install 16.10 - run: nvm use 16.10 - run: npm install -g yarn@1.22.10 diff --git a/.circleci/win-ram-disk.ps1 b/.circleci/win-ram-disk.ps1 new file mode 100644 index 000000000000..40ce955067e2 --- /dev/null +++ b/.circleci/win-ram-disk.ps1 @@ -0,0 +1,22 @@ +# Download AIM Drivers and validate hash +Invoke-WebRequest "https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/DriverSetup/DriverFiles.zip" -OutFile "aim_drivers.zip" -UseBasicParsing +$aimDriversDownloadHash = (Get-FileHash aim_drivers.zip -a sha256).Hash +If ($aimDriversDownloadHash -ne "1F5AA5DD892C2D5E8A0083752B67C6E5A2163CD83B6436EA545508D84D616E02") { + throw "aim_drivers.zip hash is ${aimDriversDownloadHash} which didn't match the known version." +} +Expand-Archive -Path "aim_drivers.zip" + +# Download AIM CLI and validate hash +Invoke-WebRequest "https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/Command%20line%20applications/aim_ll.zip" -OutFile "aim_ll.zip" -UseBasicParsing +$aimCliDownloadHash = (Get-FileHash aim_ll.zip -a sha256).Hash +If ($aimCliDownloadHash -ne "9AD3058F14595AC4A5E5765A9746737D31C219383766B624FCBA4C5ED96B20F3") { + throw "aim_ll.zip hash is ${aimCliDownloadHash} which didn't match the known version." +} +Expand-Archive -Path "aim_ll.zip" + +# Install AIM drivers +./aim_ll/x64/aim_ll.exe --install ./aim_drivers + +# Setup RAM disk mount. Same parameters as ImDisk +# See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk +./aim_ll/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" From 14929e28b1ae1d39f597c4b634f5b4fc6d1dd61f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 13 Jun 2022 13:50:28 +0000 Subject: [PATCH 0534/1388] ci: cache Arsenal Image Mounter files This commits add logic to cache files used to create a Windows RAM disk to avoid extra HTTP requests. --- .circleci/config.yml | 17 ++++++++++------- .circleci/win-ram-disk.ps1 | 38 +++++++++++++++++++++++--------------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9271f8dde68b..aed85c99ab70 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ orbs: # Windows needs its own cache key because binaries in node_modules are different. # See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI. var_1: &cache_key v1-angular_devkit-14.19-{{ checksum "yarn.lock" }} -var_1_win: &cache_key_win v1-angular_devkit-win-14.19-{{ checksum "yarn.lock" }} +var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }} var_3: &default_nodeversion '14.19' # Workspace initially persisted by the `setup` job, and then enhanced by `setup-and-build-win`. # https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs @@ -83,12 +83,6 @@ commands: at: *workspace_location setup_windows: steps: - - run: - # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 - # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 - name: 'Arsenal Image Mounter (RAM Disk)' - command: | - pwsh ./.circleci/win-ram-disk.ps1 - run: nvm install 16.10 - run: nvm use 16.10 - run: npm install -g yarn@1.22.10 @@ -323,11 +317,20 @@ jobs: - restore_cache: keys: - *cache_key_win + - run: + # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 + # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 + name: 'Arsenal Image Mounter (RAM Disk)' + command: | + pwsh ./.circleci/win-ram-disk.ps1 - run: yarn install --frozen-lockfile --cache-folder ../.cache/yarn - save_cache: key: *cache_key_win paths: - ~/.cache/yarn + # Path where Arsenal Image Mounter files are downloaded. + # Must match path in .circleci/win-ram-disk.ps1 + - ./aim # Run partial e2e suite on PRs only. Release branches will run the full e2e suite. - run: name: Execute E2E Tests diff --git a/.circleci/win-ram-disk.ps1 b/.circleci/win-ram-disk.ps1 index 40ce955067e2..5d16d8b8a11d 100644 --- a/.circleci/win-ram-disk.ps1 +++ b/.circleci/win-ram-disk.ps1 @@ -1,22 +1,30 @@ -# Download AIM Drivers and validate hash -Invoke-WebRequest "https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/DriverSetup/DriverFiles.zip" -OutFile "aim_drivers.zip" -UseBasicParsing -$aimDriversDownloadHash = (Get-FileHash aim_drivers.zip -a sha256).Hash -If ($aimDriversDownloadHash -ne "1F5AA5DD892C2D5E8A0083752B67C6E5A2163CD83B6436EA545508D84D616E02") { - throw "aim_drivers.zip hash is ${aimDriversDownloadHash} which didn't match the known version." -} -Expand-Archive -Path "aim_drivers.zip" +$aimContents = "./aim"; + +if (-not (Test-Path -Path $aimContents)) { + echo "Arsenal Image Mounter files not found in cache. Downloading..." + + # Download AIM Drivers and validate hash + Invoke-WebRequest "https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/DriverSetup/DriverFiles.zip" -OutFile "aim_drivers.zip" -UseBasicParsing + $aimDriversDownloadHash = (Get-FileHash aim_drivers.zip -a sha256).Hash + If ($aimDriversDownloadHash -ne "1F5AA5DD892C2D5E8A0083752B67C6E5A2163CD83B6436EA545508D84D616E02") { + throw "aim_drivers.zip hash is ${aimDriversDownloadHash} which didn't match the known version." + } + Expand-Archive -Path "aim_drivers.zip" -DestinationPath $aimContents/drivers -# Download AIM CLI and validate hash -Invoke-WebRequest "https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/Command%20line%20applications/aim_ll.zip" -OutFile "aim_ll.zip" -UseBasicParsing -$aimCliDownloadHash = (Get-FileHash aim_ll.zip -a sha256).Hash -If ($aimCliDownloadHash -ne "9AD3058F14595AC4A5E5765A9746737D31C219383766B624FCBA4C5ED96B20F3") { - throw "aim_ll.zip hash is ${aimCliDownloadHash} which didn't match the known version." + # Download AIM CLI and validate hash + Invoke-WebRequest "https://github.com/ArsenalRecon/Arsenal-Image-Mounter/raw/988930e4b3180ec34661504e6f9906f98943a022/Command%20line%20applications/aim_ll.zip" -OutFile "aim_ll.zip" -UseBasicParsing + $aimCliDownloadHash = (Get-FileHash aim_ll.zip -a sha256).Hash + If ($aimCliDownloadHash -ne "9AD3058F14595AC4A5E5765A9746737D31C219383766B624FCBA4C5ED96B20F3") { + throw "aim_ll.zip hash is ${aimCliDownloadHash} which didn't match the known version." + } + Expand-Archive -Path "aim_ll.zip" -DestinationPath $aimContents/cli +} else { + echo "Arsenal Image Mounter files found in cache. Skipping download." } -Expand-Archive -Path "aim_ll.zip" # Install AIM drivers -./aim_ll/x64/aim_ll.exe --install ./aim_drivers +./aim/cli/x64/aim_ll.exe --install ./aim/drivers # Setup RAM disk mount. Same parameters as ImDisk # See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk -./aim_ll/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" +./aim/cli/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" From 82ec1af4e1e34fe5b18db328b4bce6405a03c7b8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 13 Jun 2022 09:40:04 +0000 Subject: [PATCH 0535/1388] fix(@angular/cli): show more actionable error when command is ran in wrong scope Currently, we don't register all available commands. For instance, when the CLI is ran inside a workspace the `new` command is not registered. Thus, this will cause a confusing error message when `ng new` is ran inside a workspace. Example: ``` $ ng new Error: Unknown command. Did you mean e? ``` With this commit we change this by registering all the commands and valid the command scope during the command building phase which is only triggered once the command is invoked but prior to the execution phase. --- .../architect-base-command-module.ts | 2 +- .../cli/src/command-builder/command-module.ts | 4 +- .../cli/src/command-builder/command-runner.ts | 25 +--------- .../schematics-command-module.ts | 2 +- .../src/command-builder/utilities/command.ts | 35 +++++++++++-- .../cli/src/commands/cache/clean/cli.ts | 2 +- .../angular/cli/src/commands/cache/cli.ts | 2 +- .../cli/src/commands/cache/info/cli.ts | 2 +- .../cli/src/commands/cache/settings/cli.ts | 4 +- packages/angular/cli/src/commands/new/cli.ts | 2 +- packages/angular/cli/src/commands/run/cli.ts | 2 +- .../angular/cli/src/commands/update/cli.ts | 2 +- .../e2e/tests/basic/command-scope.ts | 49 +++++++++++++++++++ .../e2e/tests/basic/in-project-logic.ts | 21 -------- .../e2e/tests/commands/help/help-hidden.ts | 28 +++++------ 15 files changed, 107 insertions(+), 75 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/basic/command-scope.ts delete mode 100644 tests/legacy-cli/e2e/tests/basic/in-project-logic.ts diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index 676dd243f8c6..dd83af5d921f 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -37,7 +37,7 @@ export abstract class ArchitectBaseCommandModule extends CommandModule implements CommandModuleImplementation { - static override scope = CommandScope.In; + override scope = CommandScope.In; protected override shouldReportAnalytics = false; protected readonly missingTargetChoices: MissingTargetChoice[] | undefined; diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index b476c392dd5b..c8b957890e9f 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -58,6 +58,8 @@ export type OtherOptions = Record; export interface CommandModuleImplementation extends Omit, 'builder' | 'handler'> { + /** Scope in which the command can be executed in. */ + scope: CommandScope; /** Path used to load the long description for the command in JSON help text. */ longDescriptionPath?: string; /** Object declaring the options the command accepts, or a function accepting and returning a yargs instance. */ @@ -77,7 +79,7 @@ export abstract class CommandModule implements CommandModuleI abstract readonly describe: string | false; abstract readonly longDescriptionPath?: string; protected readonly shouldReportAnalytics: boolean = true; - static scope = CommandScope.Both; + readonly scope: CommandScope = CommandScope.Both; private readonly optionsWithAnalytics = new Map(); diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index de8c9187ba28..6c3ecdee1940 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -112,14 +112,6 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis let localYargs = yargs(args); for (const CommandModule of COMMANDS) { - if (!jsonHelp) { - // Skip scope validation when running with '--json-help' since it's easier to generate the output for all commands this way. - const scope = CommandModule.scope; - if ((scope === CommandScope.In && !workspace) || (scope === CommandScope.Out && workspace)) { - continue; - } - } - localYargs = addCommandModuleToYargs(localYargs, CommandModule, context); } @@ -157,7 +149,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis 'deprecated: %s': colors.yellow('deprecated:') + ' %s', 'Did you mean %s?': 'Unknown command. Did you mean %s?', }) - .epilogue(colors.gray(getEpilogue(!!workspace))) + .epilogue(colors.gray('For more information, see https://angular.io/cli/.\n')) .demandCommand(1, demandCommandFailureMessage) .recommendCommands() .middleware(normalizeOptionsMiddleware) @@ -176,18 +168,3 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis return process.exitCode ?? 0; } - -function getEpilogue(isInsideWorkspace: boolean): string { - let message: string; - if (isInsideWorkspace) { - message = - 'The above commands are available when running the Angular CLI inside a workspace.' + - 'More commands are available when running outside a workspace.\n'; - } else { - message = - 'The above commands are available when running the Angular CLI outside a workspace.' + - 'More commands are available when running inside a workspace.\n'; - } - - return message + 'For more information, see https://angular.io/cli/.\n'; -} diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index d80dc26d2588..eb7b0a26019d 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -48,7 +48,7 @@ export abstract class SchematicsCommandModule extends CommandModule implements CommandModuleImplementation { - static override scope = CommandScope.In; + override scope = CommandScope.In; protected readonly allowPrivateSchematics: boolean = false; protected override readonly shouldReportAnalytics = false; diff --git a/packages/angular/cli/src/command-builder/utilities/command.ts b/packages/angular/cli/src/command-builder/utilities/command.ts index 525cdcc25689..3c3a1fa566ad 100644 --- a/packages/angular/cli/src/command-builder/utilities/command.ts +++ b/packages/angular/cli/src/command-builder/utilities/command.ts @@ -7,7 +7,13 @@ */ import { Argv } from 'yargs'; -import { CommandContext, CommandModule, CommandModuleImplementation } from '../command-module'; +import { + CommandContext, + CommandModule, + CommandModuleError, + CommandModuleImplementation, + CommandScope, +} from '../command-module'; export const demandCommandFailureMessage = `You need to specify a command before moving on. Use '--help' to view the available commands.`; @@ -18,7 +24,14 @@ export function addCommandModuleToYargs< }, >(localYargs: Argv, commandModule: U, context: CommandContext): Argv { const cmd = new commandModule(context); - const describe = context.args.options.jsonHelp ? cmd.fullDescribe : cmd.describe; + const { + args: { + options: { jsonHelp }, + }, + workspace, + } = context; + + const describe = jsonHelp ? cmd.fullDescribe : cmd.describe; return localYargs.command({ command: cmd.command, @@ -28,7 +41,23 @@ export function addCommandModuleToYargs< // Therefore, we get around this by adding a complex object as a string which we later parse when generating the help files. typeof describe === 'object' ? JSON.stringify(describe) : describe, deprecated: cmd.deprecated, - builder: (argv) => cmd.builder(argv) as Argv, + builder: (argv) => { + // Skip scope validation when running with '--json-help' since it's easier to generate the output for all commands this way. + const isInvalidScope = + !jsonHelp && + ((cmd.scope === CommandScope.In && !workspace) || + (cmd.scope === CommandScope.Out && workspace)); + + if (isInvalidScope) { + throw new CommandModuleError( + `This command is not available when running the Angular CLI ${ + workspace ? 'inside' : 'outside' + } a workspace.`, + ); + } + + return cmd.builder(argv) as Argv; + }, handler: (args) => cmd.handler(args), }); } diff --git a/packages/angular/cli/src/commands/cache/clean/cli.ts b/packages/angular/cli/src/commands/cache/clean/cli.ts index f020bde1252e..f07cd5613c96 100644 --- a/packages/angular/cli/src/commands/cache/clean/cli.ts +++ b/packages/angular/cli/src/commands/cache/clean/cli.ts @@ -19,7 +19,7 @@ export class CacheCleanModule extends CommandModule implements CommandModuleImpl command = 'clean'; describe = 'Deletes persistent disk cache from disk.'; longDescriptionPath: string | undefined; - static override scope = CommandScope.In; + override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs.strict(); diff --git a/packages/angular/cli/src/commands/cache/cli.ts b/packages/angular/cli/src/commands/cache/cli.ts index 8ed75a8ca36e..f30c4acd3b81 100644 --- a/packages/angular/cli/src/commands/cache/cli.ts +++ b/packages/angular/cli/src/commands/cache/cli.ts @@ -26,7 +26,7 @@ export class CacheCommandModule extends CommandModule implements CommandModuleIm command = 'cache'; describe = 'Configure persistent disk cache and retrieve cache statistics.'; longDescriptionPath = join(__dirname, 'long-description.md'); - static override scope = CommandScope.In; + override scope = CommandScope.In; builder(localYargs: Argv): Argv { const subcommands = [ diff --git a/packages/angular/cli/src/commands/cache/info/cli.ts b/packages/angular/cli/src/commands/cache/info/cli.ts index 186eae362183..15fcf3ba857f 100644 --- a/packages/angular/cli/src/commands/cache/info/cli.ts +++ b/packages/angular/cli/src/commands/cache/info/cli.ts @@ -22,7 +22,7 @@ export class CacheInfoCommandModule extends CommandModule implements CommandModu command = 'info'; describe = 'Prints persistent disk cache configuration and statistics in the console.'; longDescriptionPath?: string | undefined; - static override scope = CommandScope.In; + override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs.strict(); diff --git a/packages/angular/cli/src/commands/cache/settings/cli.ts b/packages/angular/cli/src/commands/cache/settings/cli.ts index 00d56ee9977d..97e79cd1005b 100644 --- a/packages/angular/cli/src/commands/cache/settings/cli.ts +++ b/packages/angular/cli/src/commands/cache/settings/cli.ts @@ -19,7 +19,7 @@ export class CacheDisableModule extends CommandModule implements CommandModuleIm aliases = 'off'; describe = 'Disables persistent disk cache for all projects in the workspace.'; longDescriptionPath: string | undefined; - static override scope = CommandScope.In; + override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs; @@ -35,7 +35,7 @@ export class CacheEnableModule extends CommandModule implements CommandModuleImp aliases = 'on'; describe = 'Enables disk cache for all projects in the workspace.'; longDescriptionPath: string | undefined; - static override scope = CommandScope.In; + override scope = CommandScope.In; builder(localYargs: Argv): Argv { return localYargs; diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index d93b701ccd49..1d4b39f3e462 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -29,7 +29,7 @@ export class NewCommandModule implements CommandModuleImplementation { private readonly schematicName = 'ng-new'; - static override scope = CommandScope.Out; + override scope = CommandScope.Out; protected override allowPrivateSchematics = true; command = 'new [name]'; diff --git a/packages/angular/cli/src/commands/run/cli.ts b/packages/angular/cli/src/commands/run/cli.ts index 3d6f31fdfa84..963a70e64688 100644 --- a/packages/angular/cli/src/commands/run/cli.ts +++ b/packages/angular/cli/src/commands/run/cli.ts @@ -26,7 +26,7 @@ export class RunCommandModule extends ArchitectBaseCommandModule implements CommandModuleImplementation { - static override scope = CommandScope.In; + override scope = CommandScope.In; command = 'run '; describe = diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 91f4613ef8cd..152c6d3b8632 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -60,7 +60,7 @@ const ANGULAR_PACKAGES_REGEXP = /^@(?:angular|nguniversal)\//; const UPDATE_SCHEMATIC_COLLECTION = path.join(__dirname, 'schematic/collection.json'); export class UpdateCommandModule extends CommandModule { - static override scope = CommandScope.In; + override scope = CommandScope.In; protected override shouldReportAnalytics = false; command = 'update [packages..]'; diff --git a/tests/legacy-cli/e2e/tests/basic/command-scope.ts b/tests/legacy-cli/e2e/tests/basic/command-scope.ts new file mode 100644 index 000000000000..94c91e16934d --- /dev/null +++ b/tests/legacy-cli/e2e/tests/basic/command-scope.ts @@ -0,0 +1,49 @@ +import { homedir } from 'os'; +import { silentNg } from '../../utils/process'; +import { expectToFail } from '../../utils/utils'; + +export default async function () { + const originalCwd = process.cwd(); + + try { + // Run inside workspace + await silentNg('generate', 'component', 'foo', '--dry-run'); + + // The version command can be run in and outside of a workspace. + await silentNg('version'); + + const { message: ngNewFailure } = await expectToFail(() => + silentNg('new', 'proj-name', '--dry-run'), + ); + if ( + !ngNewFailure.includes( + 'This command is not available when running the Angular CLI inside a workspace.', + ) + ) { + throw new Error('ng new should have failed when ran inside a workspace.'); + } + + // Chnage CWD to run outside a workspace. + process.chdir(homedir()); + + // ng generate can only be ran inside. + const { message: ngGenerateFailure } = await expectToFail(() => + silentNg('generate', 'component', 'foo', '--dry-run'), + ); + if ( + !ngGenerateFailure.includes( + 'This command is not available when running the Angular CLI outside a workspace.', + ) + ) { + throw new Error('ng generate should have failed when ran outside a workspace.'); + } + + // ng new can only be ran outside of a workspace + await silentNg('new', 'proj-name', '--dry-run'); + + // The version command can be run in and outside of a workspace. + await silentNg('version'); + } finally { + process.chdir(originalCwd); + } +} diff --git a/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts b/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts deleted file mode 100644 index 7586ba439296..000000000000 --- a/tests/legacy-cli/e2e/tests/basic/in-project-logic.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as os from 'os'; -import { join } from 'path'; -import { writeFile, deleteFile } from '../../utils/fs'; -import { ng } from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; - -export default function () { - const homedir = os.homedir(); - const globalConfigPath = join(homedir, '.angular-config.json'); - return ( - Promise.resolve() - .then(() => writeFile(globalConfigPath, '{"version":1}')) - .then(() => process.chdir(homedir)) - .then(() => ng('new', 'proj-name', '--dry-run')) - .then(() => deleteFile(globalConfigPath)) - // Test that we cannot create a project inside another project. - .then(() => writeFile(join(homedir, '.angular.json'), '{"version":1}')) - .then(() => expectToFail(() => ng('new', 'proj-name', '--dry-run'))) - .then(() => deleteFile(join(homedir, '.angular.json'))) - ); -} diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts b/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts index d3b72c39e264..bf616039600b 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-hidden.ts @@ -1,19 +1,15 @@ import { silentNg } from '../../../utils/process'; -export default function () { - return Promise.resolve() - .then(() => silentNg('--help')) - .then(({ stdout }) => { - if (stdout.match(/(easter-egg)|(ng make-this-awesome)|(ng init)/)) { - throw new Error( - 'Expected to not match "(easter-egg)|(ng make-this-awesome)|(ng init)" in help output.', - ); - } - }) - .then(() => silentNg('--help', 'new')) - .then(({ stdout }) => { - if (stdout.match(/--link-cli/)) { - throw new Error('Expected to not match "--link-cli" in help output.'); - } - }); +export default async function () { + const { stdout: stdoutNew } = await silentNg('--help'); + if (/(easter-egg)|(ng make-this-awesome)|(ng init)/.test(stdoutNew)) { + throw new Error( + 'Expected to not match "(easter-egg)|(ng make-this-awesome)|(ng init)" in help output.', + ); + } + + const { stdout: ngGenerate } = await silentNg('--help', 'generate', 'component'); + if (ngGenerate.includes('--path')) { + throw new Error('Expected to not match "--path" in help output.'); + } } From 59fe830d185951f6c17cb341b424e3699d9dd95e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 13 Jun 2022 17:51:20 +0000 Subject: [PATCH 0536/1388] test: simplify test sourcemaps e2e test --- .../e2e/tests/test/test-sourcemap.ts | 32 ++----------------- 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts b/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts index be90bc988cfa..0b193360cba8 100644 --- a/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts @@ -1,6 +1,5 @@ import { writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; export default async function () { await writeFile( @@ -12,31 +11,9 @@ export default async function () { `, ); - await updateJsonFile('angular.json', (configJson) => { - const appArchitect = configJson.projects['test-project'].architect; - appArchitect.test.options.sourceMap = { - scripts: true, - }; - }); - - // when sourcemaps are 'on' the stacktrace will point to the spec.ts file. - try { - await ng('test', '--watch', 'false'); - throw new Error('ng test should have failed.'); - } catch (error) { - if (!error.message.includes('app.component.spec.ts')) { - throw error; - } - } - - await updateJsonFile('angular.json', (configJson) => { - const appArchitect = configJson.projects['test-project'].architect; - appArchitect.test.options.sourceMap = true; - }); - // when sourcemaps are 'on' the stacktrace will point to the spec.ts file. try { - await ng('test', '--watch', 'false'); + await ng('test', '--no-watch', '--source-map'); throw new Error('ng test should have failed.'); } catch (error) { if (!error.message.includes('app.component.spec.ts')) { @@ -44,14 +21,9 @@ export default async function () { } } - await updateJsonFile('angular.json', (configJson) => { - const appArchitect = configJson.projects['test-project'].architect; - appArchitect.test.options.sourceMap = false; - }); - // when sourcemaps are 'off' the stacktrace won't point to the spec.ts file. try { - await ng('test', '--watch', 'false'); + await ng('test', '--no-watch', '--no-source-map'); throw new Error('ng test should have failed.'); } catch (error) { if (!error.message.includes('main.js')) { From 9b1a36a9d65932e83bf011476e2345d52abc40d6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 13 Jun 2022 18:29:45 +0000 Subject: [PATCH 0537/1388] test: delete styles test which is in build-angular --- .../e2e/tests/build/styles/imports.ts | 91 ------------------- 1 file changed, 91 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/styles/imports.ts diff --git a/tests/legacy-cli/e2e/tests/build/styles/imports.ts b/tests/legacy-cli/e2e/tests/build/styles/imports.ts deleted file mode 100644 index 4c8dcc139acb..000000000000 --- a/tests/legacy-cli/e2e/tests/build/styles/imports.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { writeMultipleFiles, expectFileToMatch, replaceInFile } from '../../../utils/fs'; -import { expectToFail } from '../../../utils/utils'; -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - const extensions = ['css', 'scss', 'less', 'styl']; - let promise = Promise.resolve(); - - extensions.forEach((ext) => { - promise = promise.then(() => { - return ( - writeMultipleFiles({ - [`src/styles.${ext}`]: ` - @import './imported-styles.${ext}'; - body { background-color: #00f; } - `, - [`src/imported-styles.${ext}`]: ` - p { background-color: #f00; } - `, - [`src/app/app.component.${ext}`]: ` - @import './imported-component-styles.${ext}'; - .outer { - .inner { - background: #fff; - } - } - `, - [`src/app/imported-component-styles.${ext}`]: 'h1 { background: #000; }', - }) - // change files to use preprocessor - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [{ input: `src/styles.${ext}` }]; - }), - ) - .then(() => - replaceInFile( - 'src/app/app.component.ts', - './app.component.css', - `./app.component.${ext}`, - ), - ) - // run build app - .then(() => ng('build', '--source-map', '--configuration=development')) - // verify global styles - .then(() => - expectFileToMatch( - 'dist/test-project/styles.css', - /body\s*{\s*background-color: #00f;\s*}/, - ), - ) - .then(() => - expectFileToMatch( - 'dist/test-project/styles.css', - /p\s*{\s*background-color: #f00;\s*}/, - ), - ) - // verify global styles sourcemap - .then(() => - expectToFail(() => expectFileToMatch('dist/test-project/styles.css', '"mappings":""')), - ) - // verify component styles - .then(() => - expectFileToMatch('dist/test-project/main.js', /.outer.*.inner.*background:\s*#[fF]+/), - ) - .then(() => expectFileToMatch('dist/test-project/main.js', /h1.*background:\s*#000+/)) - // Also check imports work on ng test - .then(() => ng('test', '--watch=false')) - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [{ input: `src/styles.css` }]; - }), - ) - .then(() => - replaceInFile( - 'src/app/app.component.ts', - `./app.component.${ext}`, - './app.component.css', - ), - ) - ); - }); - }); - - return promise; -} From 263626280ff3e75db66d16ff5fc9781805fc45ca Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 16:58:47 -0400 Subject: [PATCH 0538/1388] refactor(@ngtools/webpack): assert catch clause variable type before usage Prepares the `@ngtools/webpack` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- packages/ngtools/webpack/src/resource_loader.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index 5219fd3dc812..17bd64b64eb0 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import assert from 'assert'; import * as path from 'path'; import * as vm from 'vm'; import type { Asset, Compilation } from 'webpack'; @@ -115,6 +116,7 @@ export class WebpackResourceLoader { const { EntryPlugin, NormalModule, + WebpackError, library, node, sources, @@ -208,8 +210,9 @@ export class WebpackResourceLoader { compilation.assets[outputFilePath] = new sources.RawSource(output); } } catch (error) { + assert(error instanceof Error, 'catch clause variable is not an Error instance'); // Use compilation errors, as otherwise webpack will choke - compilation.errors.push(error); + compilation.errors.push(new WebpackError(error.message)); } }); }, From 7431d1c256df7bf9a7af3e232cdc65617284830d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 17:00:04 -0400 Subject: [PATCH 0539/1388] refactor(@angular-devkit/build-angular): assert catch clause variable type before usage Prepares the `@angular-devkit/build-angular` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- .../src/builders/app-shell/index.ts | 2 ++ .../src/builders/browser-esbuild/index.ts | 5 +++-- .../build_angular/src/builders/browser/index.ts | 2 ++ .../src/builders/protractor/index.ts | 2 ++ .../build_angular/src/sass/worker.ts | 3 ++- .../src/testing/jasmine-helpers.ts | 4 ++-- .../build_angular/src/utils/error.ts | 13 +++++++++++++ .../build_angular/src/utils/i18n-inlining.ts | 3 +++ .../build_angular/src/utils/process-bundle.ts | 17 +++++++++-------- .../build_angular/src/utils/service-worker.ts | 3 +++ .../src/webpack/configs/dev-server.ts | 2 ++ .../plugins/index-html-webpack-plugin.ts | 2 ++ .../src/webpack/plugins/json-stats-plugin.ts | 2 ++ .../webpack/plugins/postcss-cli-resources.ts | 2 ++ 14 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/utils/error.ts diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index fbc40ca5c404..131e71281eee 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -16,6 +16,7 @@ import { JsonObject } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { normalizeOptimization } from '../../utils'; +import { assertIsError } from '../../utils/error'; import { InlineCriticalCssProcessor } from '../../utils/index-file/inline-critical-css'; import { augmentAppWithServiceWorker } from '../../utils/service-worker'; import { Spinner } from '../../utils/spinner'; @@ -199,6 +200,7 @@ async function _appShellBuilder( return result; } catch (err) { spinner?.fail('Application shell generation failed.'); + assertIsError(err); return { success: false, error: err.message }; } finally { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index b8e2e2c2c6cf..a33169741ca6 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -13,6 +13,7 @@ import { promises as fs } from 'fs'; import * as path from 'path'; import { NormalizedOptimizationOptions, deleteOutputDir } from '../../utils'; import { copyAssets } from '../../utils/copy-assets'; +import { assertIsError } from '../../utils/error'; import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; import { generateEntryPoints } from '../../utils/package-chunk-sort'; @@ -134,8 +135,8 @@ export async function execute( try { await fs.mkdir(outputPath, { recursive: true }); } catch (e) { - const reason = 'message' in e ? e.message : 'Unknown error'; - context.logger.error('Unable to create output directory: ' + reason); + assertIsError(e); + context.logger.error('Unable to create output directory: ' + e.message); return { success: false }; } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index a843255a47b2..ba8b1ac4a507 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -29,6 +29,7 @@ import { } from '../../utils/bundle-calculator'; import { colors } from '../../utils/color'; import { copyAssets } from '../../utils/copy-assets'; +import { assertIsError } from '../../utils/error'; import { i18nInlineEmittedFiles } from '../../utils/i18n-inlining'; import { I18nOptions } from '../../utils/i18n-options'; import { FileInfo } from '../../utils/index-file/augment-index-html'; @@ -278,6 +279,7 @@ export function buildWebpackBrowser( spinner.succeed('Copying assets complete.'); } catch (err) { spinner.fail(colors.redBright('Copying of assets failed.')); + assertIsError(err); return { success: false, error: 'Unable to copy assets: ' + err.message }; } diff --git a/packages/angular_devkit/build_angular/src/builders/protractor/index.ts b/packages/angular_devkit/build_angular/src/builders/protractor/index.ts index 7d5985e3d7da..4da2983cae00 100644 --- a/packages/angular_devkit/build_angular/src/builders/protractor/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/protractor/index.ts @@ -16,6 +16,7 @@ import { json, tags } from '@angular-devkit/core'; import { resolve } from 'path'; import * as url from 'url'; import { runModuleAsObservableFork } from '../../utils'; +import { assertIsError } from '../../utils/error'; import { DevServerBuilderOptions } from '../dev-server/index'; import { Schema as ProtractorBuilderOptions } from './schema'; @@ -56,6 +57,7 @@ async function updateWebdriver() { path = require.resolve(webdriverDeepImport, { paths: [protractorPath] }); } catch (error) { + assertIsError(error); if (error.code !== 'MODULE_NOT_FOUND') { throw error; } diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index 6e08f2b1add9..bcd978b3258b 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -60,7 +60,8 @@ parentPort.on('message', ({ id, hasImporter, options }: RenderRequestMessage) => const result = renderSync(options); parentPort?.postMessage({ id, result }); - } catch (error) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } catch (error: any) { // Needed because V8 will only serialize the message and stack properties of an Error instance. const { formatted, file, line, column, message, stack } = error; parentPort?.postMessage({ id, error: { formatted, file, line, column, message, stack } }); diff --git a/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts b/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts index 6c9b1584ea0d..68d589c846dd 100644 --- a/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts +++ b/packages/angular_devkit/build_angular/src/testing/jasmine-helpers.ts @@ -95,7 +95,7 @@ export function expectFile(path: string, harness: BuilderHarness): Harness try { return expect(harness.readFile(path)).withContext(`With file content for '${path}'`); } catch (e) { - if (e.code !== 'ENOENT') { + if ((e as NodeJS.ErrnoException).code !== 'ENOENT') { throw e; } @@ -112,7 +112,7 @@ export function expectFile(path: string, harness: BuilderHarness): Harness `With file size for '${path}'`, ); } catch (e) { - if (e.code !== 'ENOENT') { + if ((e as NodeJS.ErrnoException).code !== 'ENOENT') { throw e; } diff --git a/packages/angular_devkit/build_angular/src/utils/error.ts b/packages/angular_devkit/build_angular/src/utils/error.ts new file mode 100644 index 000000000000..1e7644690f12 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/utils/error.ts @@ -0,0 +1,13 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import assert from 'assert'; + +export function assertIsError(value: unknown): asserts value is Error & { code?: string } { + assert(value instanceof Error, 'catch clause variable is not an Error instance'); +} diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts index 0a563642add2..fec3322f168d 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts @@ -12,6 +12,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { BundleActionExecutor } from './action-executor'; import { copyAssets } from './copy-assets'; +import { assertIsError } from './error'; import { I18nOptions } from './i18n-options'; import { InlineOptions } from './process-bundle'; import { Spinner } from './spinner'; @@ -52,6 +53,7 @@ function emittedFilesToInlineOptions( action.map = fs.readFileSync(originalMapPath, 'utf8'); originalFiles.push(originalMapPath); } catch (err) { + assertIsError(err); if (err.code !== 'ENOENT') { throw err; } @@ -121,6 +123,7 @@ export async function i18nInlineEmittedFiles( '', ); } catch (err) { + assertIsError(err); spinner.fail('Localized bundle generation failed: ' + err.message); return false; diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 8887592620e2..e9fe997d02b4 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -21,6 +21,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { workerData } from 'worker_threads'; import { allowMinify, shouldBeautify } from './environment-options'; +import { assertIsError } from './error'; import { I18nOptions } from './i18n-options'; import { loadEsmModule } from './load-esm'; @@ -151,14 +152,14 @@ export async function inlineLocales(options: InlineOptions) { filename: options.filename, }); } catch (error) { - if (error.message) { - // Make the error more readable. - // Same errors will contain the full content of the file as the error message - // Which makes it hard to find the actual error message. - const index = error.message.indexOf(')\n'); - const msg = index !== -1 ? error.message.slice(0, index + 1) : error.message; - throw new Error(`${msg}\nAn error occurred inlining file "${options.filename}"`); - } + assertIsError(error); + + // Make the error more readable. + // Same errors will contain the full content of the file as the error message + // Which makes it hard to find the actual error message. + const index = error.message.indexOf(')\n'); + const msg = index !== -1 ? error.message.slice(0, index + 1) : error.message; + throw new Error(`${msg}\nAn error occurred inlining file "${options.filename}"`); } if (!ast) { diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index 35f7f180d101..af8e14d775ef 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -11,6 +11,7 @@ import * as crypto from 'crypto'; import { createReadStream, promises as fs, constants as fsConstants } from 'fs'; import * as path from 'path'; import { pipeline } from 'stream'; +import { assertIsError } from './error'; import { loadEsmModule } from './load-esm'; class CliFilesystem implements Filesystem { @@ -78,6 +79,7 @@ export async function augmentAppWithServiceWorker( const configurationData = await fs.readFile(configPath, 'utf-8'); config = JSON.parse(configurationData) as Config; } catch (error) { + assertIsError(error); if (error.code === 'ENOENT') { throw new Error( 'Error: Expected to find an ngsw-config.json configuration file' + @@ -130,6 +132,7 @@ export async function augmentAppWithServiceWorker( fsConstants.COPYFILE_FICLONE, ); } catch (error) { + assertIsError(error); if (error.code !== 'ENOENT') { throw error; } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index d6171b848562..e2b514fbee98 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -13,6 +13,7 @@ import { URL, pathToFileURL } from 'url'; import { Configuration, RuleSetRule } from 'webpack'; import { Configuration as DevServerConfiguration } from 'webpack-dev-server'; import { WebpackConfigOptions, WebpackDevServerOptions } from '../../utils/build-options'; +import { assertIsError } from '../../utils/error'; import { loadEsmModule } from '../../utils/load-esm'; import { getIndexOutputFile } from '../../utils/webpack-browser-config'; import { HmrLoader } from '../plugins/hmr/hmr-loader'; @@ -193,6 +194,7 @@ async function addProxyConfig(root: string, proxyConfig: string | undefined) { try { return require(proxyPath); } catch (e) { + assertIsError(e); if (e.code === 'ERR_REQUIRE_ESM') { // Load the ESM configuration file using the TypeScript dynamic import workaround. // Once TypeScript provides support for keeping the dynamic import this workaround can be diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts index bf6f3c25ee6f..d7cfc58704e9 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/index-html-webpack-plugin.ts @@ -8,6 +8,7 @@ import { basename, dirname, extname } from 'path'; import { Compilation, Compiler, sources } from 'webpack'; +import { assertIsError } from '../../utils/error'; import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator, @@ -77,6 +78,7 @@ export class IndexHtmlWebpackPlugin extends IndexHtmlGenerator { warnings.forEach((msg) => addWarning(this.compilation, msg)); errors.forEach((msg) => addError(this.compilation, msg)); } catch (error) { + assertIsError(error); addError(this.compilation, error.message); } }; diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/json-stats-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/json-stats-plugin.ts index d7594c0c806f..6de412de69a2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/json-stats-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/json-stats-plugin.ts @@ -9,6 +9,7 @@ import { createWriteStream, promises as fsPromises } from 'fs'; import { dirname } from 'path'; import { Compiler } from 'webpack'; +import { assertIsError } from '../../utils/error'; import { addError } from '../../utils/webpack-diagnostics'; @@ -29,6 +30,7 @@ export class JsonStatsPlugin { .on('error', reject), ); } catch (error) { + assertIsError(error); addError( stats.compilation, `Unable to write stats file: ${error.message || 'unknown error'}`, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index c8636df77474..1a6cadf7200a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -10,6 +10,7 @@ import { interpolateName } from 'loader-utils'; import * as path from 'path'; import { Declaration, Plugin } from 'postcss'; import * as url from 'url'; +import { assertIsError } from '../../utils/error'; function wrapUrl(url: string): string { let wrappedUrl; @@ -172,6 +173,7 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { try { processedUrl = await process(originalUrl, context, resourceCache); } catch (err) { + assertIsError(err); loader.emitError(decl.error(err.message, { word: originalUrl })); continue; } From 2edb2a0508246602feddc749606969e1f68d5382 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 17:16:01 -0400 Subject: [PATCH 0540/1388] refactor(@angular-devkit/core): assert catch clause variable type before usage Prepares the `@angular-devkit/core` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- .../core/node/experimental/jobs/job-registry.ts | 11 ++++------- packages/angular_devkit/core/node/host.ts | 2 +- .../angular_devkit/core/src/json/schema/registry.ts | 11 ++++++----- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts b/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts index 2a0f790d648c..84a8cda51af3 100644 --- a/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts +++ b/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts @@ -12,18 +12,15 @@ import { JsonValue, experimental as core_experimental, schema } from '../../../s export class NodeModuleJobRegistry< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, - MinimumOutputValueT extends JsonValue = JsonValue + MinimumOutputValueT extends JsonValue = JsonValue, > implements - core_experimental.jobs.Registry< - MinimumArgumentValueT, - MinimumInputValueT, - MinimumOutputValueT - > { + core_experimental.jobs.Registry +{ protected _resolve(name: string): string | null { try { return require.resolve(name); } catch (e) { - if (e.code === 'MODULE_NOT_FOUND') { + if ((e as NodeJS.ErrnoException).code === 'MODULE_NOT_FOUND') { return null; } throw e; diff --git a/packages/angular_devkit/core/node/host.ts b/packages/angular_devkit/core/node/host.ts index ddf1f5f0ef7a..744eb4f1b211 100644 --- a/packages/angular_devkit/core/node/host.ts +++ b/packages/angular_devkit/core/node/host.ts @@ -45,7 +45,7 @@ function loadFSWatcher() { // eslint-disable-next-line import/no-extraneous-dependencies FSWatcher = require('chokidar').FSWatcher; } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') { + if ((e as NodeJS.ErrnoException).code !== 'MODULE_NOT_FOUND') { throw new Error( 'As of angular-devkit version 8.0, the "chokidar" package ' + 'must be installed in order to use watch() features.', diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index 3c36d0e8dcba..eca6355f2bc7 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -528,20 +528,21 @@ export class CoreSchemaRegistry implements SchemaRegistry { !Array.isArray((parentSchema as JsonObject).default) ? undefined : ((parentSchema as JsonObject).default as string[]), - async validator(data: JsonValue) { + async validator(data: JsonValue): Promise { try { const result = await it.self.validate(parentSchema, data); // If the schema is sync then false will be returned on validation failure if (result) { - return result; + return result as boolean | string; } else if (it.self.errors?.length) { // Validation errors will be present on the Ajv instance when sync - return it.self.errors[0].message; + return it.self.errors[0].message as string; } } catch (e) { + const validationError = e as { errors?: Error[] }; // If the schema is async then an error will be thrown on validation failure - if (Array.isArray(e.errors) && e.errors.length) { - return e.errors[0].message; + if (Array.isArray(validationError.errors) && validationError.errors.length) { + return validationError.errors[0].message; } } From cb9ee245d11110fcbf5e207a93db9f27f27edb28 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 17:25:19 -0400 Subject: [PATCH 0541/1388] refactor(@angular-devkit/schematics): assert catch clause variable type before usage Prepares the `@angular-devkit/schematics` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- packages/angular_devkit/schematics/src/rules/template.ts | 2 +- .../schematics/tools/node-module-engine-host.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/schematics/src/rules/template.ts b/packages/angular_devkit/schematics/src/rules/template.ts index beae0d781ebf..bc5b3258f358 100644 --- a/packages/angular_devkit/schematics/src/rules/template.ts +++ b/packages/angular_devkit/schematics/src/rules/template.ts @@ -63,7 +63,7 @@ export function applyContentTemplate(options: T): FileOperator { content: Buffer.from(templateImpl(decodedContent, {})(options)), }; } catch (e) { - if (e.code === 'ERR_ENCODING_INVALID_ENCODED_DATA') { + if ((e as NodeJS.ErrnoException).code === 'ERR_ENCODING_INVALID_ENCODED_DATA') { return entry; } diff --git a/packages/angular_devkit/schematics/tools/node-module-engine-host.ts b/packages/angular_devkit/schematics/tools/node-module-engine-host.ts index 7590f299bcb6..f03ee5137b6c 100644 --- a/packages/angular_devkit/schematics/tools/node-module-engine-host.ts +++ b/packages/angular_devkit/schematics/tools/node-module-engine-host.ts @@ -67,7 +67,7 @@ export class NodeModulesEngineHost extends FileSystemEngineHostBase { collectionPath = this.resolve(schematics, packageJsonPath, references); } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') { + if ((e as NodeJS.ErrnoException).code !== 'MODULE_NOT_FOUND') { throw e; } } @@ -77,7 +77,7 @@ export class NodeModulesEngineHost extends FileSystemEngineHostBase { try { collectionPath = require.resolve(name, resolveOptions); } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND') { + if ((e as NodeJS.ErrnoException).code !== 'MODULE_NOT_FOUND') { throw e; } } From 6a3c0b0db586beb8f195e85a5fdc669e47a834f7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 17:50:14 -0400 Subject: [PATCH 0542/1388] refactor(@angular-devkit/schematics-cli): assert catch clause variable type before usage Prepares the `@angular-devkit/schematics-cli` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- packages/angular_devkit/schematics_cli/bin/schematics.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 5db6290d64e1..79e0bd9812d6 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -57,7 +57,7 @@ function _listSchematics(workflow: NodeWorkflow, collectionName: string, logger: const collection = workflow.engine.createCollection(collectionName); logger.info(collection.listSchematicNames().join('\n')); } catch (error) { - logger.fatal(error.message); + logger.fatal(error instanceof Error ? error.message : `${error}`); return 1; } @@ -285,10 +285,10 @@ export async function main({ if (err instanceof UnsuccessfulWorkflowExecution) { // "See above" because we already printed the error. logger.fatal('The Schematic workflow failed. See above.'); - } else if (debug) { + } else if (debug && err instanceof Error) { logger.fatal(`An error occured:\n${err.stack}`); } else { - logger.fatal(`Error: ${err.message}`); + logger.fatal(`Error: ${err instanceof Error ? err.message : err}`); } return 1; From 3c4ca3fa7f09aee06ead92c7a61ebcfa0671e71d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 17:53:45 -0400 Subject: [PATCH 0543/1388] refactor(@angular-devkit/build-webpack): assert catch clause variable type before usage Prepares the `@angular-devkit/build-webpack` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- packages/angular_devkit/build_webpack/src/utils.ts | 2 +- packages/angular_devkit/build_webpack/src/webpack/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_webpack/src/utils.ts b/packages/angular_devkit/build_webpack/src/utils.ts index 31e3fba23b3e..2367996b842f 100644 --- a/packages/angular_devkit/build_webpack/src/utils.ts +++ b/packages/angular_devkit/build_webpack/src/utils.ts @@ -90,7 +90,7 @@ export async function getWebpackConfig(configPath: string): Promise Date: Fri, 10 Jun 2022 19:03:20 -0400 Subject: [PATCH 0544/1388] refactor(@angular-devkit/architect): assert catch clause variable type before usage Prepares the `@angular-devkit/architect` package for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- .../architect/node/node-modules-architect-host.ts | 2 +- packages/angular_devkit/architect/src/index_spec.ts | 11 ++++------- .../angular_devkit/architect_cli/bin/architect.ts | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/architect/node/node-modules-architect-host.ts b/packages/angular_devkit/architect/node/node-modules-architect-host.ts index a55aa02a128f..10ca5354ec84 100644 --- a/packages/angular_devkit/architect/node/node-modules-architect-host.ts +++ b/packages/angular_devkit/architect/node/node-modules-architect-host.ts @@ -245,7 +245,7 @@ async function getBuilder(builderPath: string): Promise { try { return require(builderPath); } catch (e) { - if (e.code === 'ERR_REQUIRE_ESM') { + if ((e as NodeJS.ErrnoException).code === 'ERR_REQUIRE_ESM') { // Load the ESM configuration file using the TypeScript dynamic import workaround. // Once TypeScript provides support for keeping the dynamic import this workaround can be // changed to a direct dynamic import. diff --git a/packages/angular_devkit/architect/src/index_spec.ts b/packages/angular_devkit/architect/src/index_spec.ts index 8edc4b9ee650..803bae9d1642 100644 --- a/packages/angular_devkit/architect/src/index_spec.ts +++ b/packages/angular_devkit/architect/src/index_spec.ts @@ -136,13 +136,10 @@ describe('architect', () => { await run.stop(); }); - it(`errors when target configuration doesn't exists`, async () => { - try { - await architect.scheduleBuilder('test:test:invalid', {}); - throw new Error('should have thrown'); - } catch (err) { - expect(err.message).toContain('Job name "test:test:invalid" does not exist.'); - } + it(`errors when target configuration does not exist`, async () => { + await expectAsync(architect.scheduleBuilder('test:test:invalid', {})).toBeRejectedWithError( + 'Job name "test:test:invalid" does not exist.', + ); }); it('errors when builder cannot be resolved', async () => { diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index b23c20c209cb..341757e9f971 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -179,7 +179,7 @@ async function _executeTarget( logs.forEach((l) => parentLogger.next(l)); parentLogger.fatal('Exception:'); - parentLogger.fatal(err.stack); + parentLogger.fatal((err instanceof Error && err.stack) || `${err}`); return 2; } From e81a6f1c468bd538a7f8f7e749990102ba75ecc2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 13 Jun 2022 13:22:57 -0400 Subject: [PATCH 0545/1388] test(@angular-devkit/core): update several tests to use async expectations Using Jasmine's `expectAsync` allows for reduced test code when testing that a function returning a promise rejects with a specific error. --- .../jobs/simple-scheduler_spec.ts | 32 +++++-------- .../core/src/workspace/core_spec.ts | 45 +++++++------------ .../core/src/workspace/json/reader_spec.ts | 18 +++----- .../core/src/workspace/json/writer_spec.ts | 2 +- 4 files changed, 33 insertions(+), 64 deletions(-) diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts index 4973f96531eb..e8209482f3ff 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts +++ b/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts @@ -13,7 +13,11 @@ import { promisify } from 'util'; import { JobHandlerContext, JobOutboundMessage, JobOutboundMessageKind, JobState } from './api'; import { createJobHandler } from './create-job-handler'; import { SimpleJobRegistry } from './simple-registry'; -import { SimpleScheduler } from './simple-scheduler'; +import { + JobArgumentSchemaValidationError, + JobOutputSchemaValidationError, + SimpleScheduler, +} from './simple-scheduler'; const flush = promisify(setImmediate); @@ -94,16 +98,9 @@ describe('SimpleScheduler', () => { ); await scheduler.schedule('add', [1, 2, 3, 4]).output.toPromise(); - try { - await scheduler.schedule('add', ['1', 2, 3, 4]).output.toPromise(); - expect(true).toBe(false); - } catch (e) { - // TODO: enable this when https://github.com/bazelbuild/rules_typescript/commit/37807e2c4 - // is released, otherwise this breaks because bazel downgrade to ES5 which does not support - // extending Error. - // expect(e instanceof JobInboundMessageSchemaValidationError).toBe(true); - expect(e.message).toMatch(/"\/0" must be number/); - } + await expectAsync( + scheduler.schedule('add', ['1', 2, 3, 4]).output.toPromise(), + ).toBeRejectedWithError(JobArgumentSchemaValidationError); }); it('validates outputs', async () => { @@ -115,16 +112,9 @@ describe('SimpleScheduler', () => { }, ); - try { - await scheduler.schedule('add', [1, 2, 3, 4]).output.toPromise(); - expect(true).toBe(false); - } catch (e) { - // TODO: enable this when https://github.com/bazelbuild/rules_typescript/commit/37807e2c4 - // is released, otherwise this breaks because bazel downgrade to ES5 which does not support - // extending Error. - // expect(e instanceof JobOutputSchemaValidationError).toBe(true); - expect(e.message).toMatch(/"".*number/); - } + await expectAsync( + scheduler.schedule('add', [1, 2, 3, 4]).output.toPromise(), + ).toBeRejectedWithError(JobOutputSchemaValidationError); }); it('works with dependencies', async () => { diff --git a/packages/angular_devkit/core/src/workspace/core_spec.ts b/packages/angular_devkit/core/src/workspace/core_spec.ts index 932970f84cb6..fc10c52ca71c 100644 --- a/packages/angular_devkit/core/src/workspace/core_spec.ts +++ b/packages/angular_devkit/core/src/workspace/core_spec.ts @@ -116,12 +116,9 @@ describe('readWorkspace', () => { }, }; - try { - await readWorkspace(requestedPath, host); - fail(); - } catch (e) { - expect(e.message).toContain('Unable to determine format for workspace path'); - } + await expectAsync(readWorkspace(requestedPath, host)).toBeRejectedWithError( + /Unable to determine format for workspace path/, + ); }); it('errors when reading from specified file path with invalid specified format', async () => { @@ -146,12 +143,9 @@ describe('readWorkspace', () => { }, }; - try { - await readWorkspace(requestedPath, host, 12 as WorkspaceFormat); - fail(); - } catch (e) { - expect(e.message).toContain('Unsupported workspace format'); - } + await expectAsync( + readWorkspace(requestedPath, host, 12 as WorkspaceFormat), + ).toBeRejectedWithError(/Unsupported workspace format/); }); it('attempts to find/read from directory path', async () => { @@ -260,12 +254,9 @@ describe('readWorkspace', () => { }, }; - try { - await readWorkspace(requestedPath, host); - fail(); - } catch (e) { - expect(e.message).toContain('Unable to locate a workspace file'); - } + await expectAsync(readWorkspace(requestedPath, host)).toBeRejectedWithError( + /Unable to locate a workspace file/, + ); }); }); @@ -324,12 +315,9 @@ describe('writeWorkspace', () => { }, }; - try { - await writeWorkspace({} as WorkspaceDefinition, host, requestedPath, 12 as WorkspaceFormat); - fail(); - } catch (e) { - expect(e.message).toContain('Unsupported workspace format'); - } + await expectAsync( + writeWorkspace({} as WorkspaceDefinition, host, requestedPath, 12 as WorkspaceFormat), + ).toBeRejectedWithError(/Unsupported workspace format/); }); it('errors when writing custom workspace without specified format', async () => { @@ -356,11 +344,8 @@ describe('writeWorkspace', () => { }, }; - try { - await writeWorkspace({} as WorkspaceDefinition, host, requestedPath); - fail(); - } catch (e) { - expect(e.message).toContain('A format is required'); - } + await expectAsync( + writeWorkspace({} as WorkspaceDefinition, host, requestedPath), + ).toBeRejectedWithError(/A format is required/); }); }); diff --git a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts index 1ac13b474700..d28a9b26b629 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts @@ -120,12 +120,9 @@ describe('readJsonWorkpace Parsing', () => { } `); - try { - await readJsonWorkspace('', host); - fail(); - } catch (e) { - expect(e.message).toContain('Invalid format version detected'); - } + await expectAsync(readJsonWorkspace('', host)).toBeRejectedWithError( + /Invalid format version detected/, + ); }); it('errors on missing version', async () => { @@ -136,12 +133,9 @@ describe('readJsonWorkpace Parsing', () => { } `); - try { - await readJsonWorkspace('', host); - fail(); - } catch (e) { - expect(e.message).toContain('version specifier not found'); - } + await expectAsync(readJsonWorkspace('', host)).toBeRejectedWithError( + /version specifier not found/, + ); }); }); diff --git a/packages/angular_devkit/core/src/workspace/json/writer_spec.ts b/packages/angular_devkit/core/src/workspace/json/writer_spec.ts index e16d27549971..d03d8eb3635b 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer_spec.ts @@ -45,7 +45,7 @@ function createTestCaseHost(inputData = '') { ); expect(data).toEqual(testCase); } catch (e) { - fail(`Unable to load test case '${path}': ${e.message || e}`); + fail(`Unable to load test case '${path}': ${e instanceof Error ? e.message : e}`); } }, async isFile() { From bb43e0a7c49568cd0ea684989a369c335cb3304f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 13 Jun 2022 15:43:12 -0400 Subject: [PATCH 0546/1388] test(@schematics/angular): update several tests to use async expectations Using Jasmine's `expectAsync` allows for reduced test code when testing that a function returning a promise rejects with a specific error. --- .../angular/component/index_spec.ts | 11 +++----- .../angular/directive/index_spec.ts | 11 +++----- .../schematics/angular/pipe/index_spec.ts | 11 +++----- .../angular/utility/find-module_spec.ts | 28 ++++++------------- 4 files changed, 21 insertions(+), 40 deletions(-) diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index 7e031073bf8b..c496c0931545 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -159,13 +159,10 @@ describe('Component Schematic', () => { it('should fail if specified module does not exist', async () => { const options = { ...defaultOptions, module: '/projects/bar/src/app.moduleXXX.ts' }; - let thrownError: Error | null = null; - try { - await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); - } catch (err) { - thrownError = err; - } - expect(thrownError).toBeDefined(); + + await expectAsync( + schematicRunner.runSchematicAsync('component', options, appTree).toPromise(), + ).toBeRejected(); }); it('should handle upper case paths', async () => { diff --git a/packages/schematics/angular/directive/index_spec.ts b/packages/schematics/angular/directive/index_spec.ts index 160cade7d279..47da5438ddd0 100644 --- a/packages/schematics/angular/directive/index_spec.ts +++ b/packages/schematics/angular/directive/index_spec.ts @@ -108,13 +108,10 @@ describe('Directive Schematic', () => { it('should fail if specified module does not exist', async () => { const options = { ...defaultOptions, module: '/projects/bar/src/app/app.moduleXXX.ts' }; - let thrownError: Error | null = null; - try { - await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); - } catch (err) { - thrownError = err; - } - expect(thrownError).toBeDefined(); + + await expectAsync( + schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(), + ).toBeRejected(); }); it('should converts dash-cased-name to a camelCasedSelector', async () => { diff --git a/packages/schematics/angular/pipe/index_spec.ts b/packages/schematics/angular/pipe/index_spec.ts index 66182c1202d0..a4533ebbdca0 100644 --- a/packages/schematics/angular/pipe/index_spec.ts +++ b/packages/schematics/angular/pipe/index_spec.ts @@ -72,13 +72,10 @@ describe('Pipe Schematic', () => { it('should fail if specified module does not exist', async () => { const options = { ...defaultOptions, module: '/projects/bar/src/app/app.moduleXXX.ts' }; - let thrownError: Error | null = null; - try { - await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); - } catch (err) { - thrownError = err; - } - expect(thrownError).toBeDefined(); + + await expectAsync( + schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(), + ).toBeRejected(); }); it('should handle a path in the name and module options', async () => { diff --git a/packages/schematics/angular/utility/find-module_spec.ts b/packages/schematics/angular/utility/find-module_spec.ts index 6c1998e2d622..a6fdc3bfac05 100644 --- a/packages/schematics/angular/utility/find-module_spec.ts +++ b/packages/schematics/angular/utility/find-module_spec.ts @@ -43,34 +43,24 @@ describe('find-module', () => { it('should throw if no modules found', () => { host.create('/foo/src/app/oops.module.ts', 'app module'); - try { - findModule(host, 'foo/src/app/bar'); - throw new Error('Succeeded, should have failed'); - } catch (err) { - expect(err.message).toMatch(/More than one module matches/); - } + + expect(() => findModule(host, 'foo/src/app/bar')).toThrowError( + /More than one module matches/, + ); }); it('should throw if only routing modules were found', () => { host = new EmptyTree(); host.create('/foo/src/app/anything-routing.module.ts', 'anything routing module'); - try { - findModule(host, 'foo/src/app/anything-routing'); - throw new Error('Succeeded, should have failed'); - } catch (err) { - expect(err.message).toMatch(/Could not find a non Routing NgModule/); - } + expect(() => findModule(host, 'foo/src/app/anything-routing')).toThrowError( + /Could not find a non Routing NgModule/, + ); }); it('should throw if two modules found', () => { - try { - host = new EmptyTree(); - findModule(host, 'foo/src/app/bar'); - throw new Error('Succeeded, should have failed'); - } catch (err) { - expect(err.message).toMatch(/Could not find an NgModule/); - } + host = new EmptyTree(); + expect(() => findModule(host, 'foo/src/app/bar')).toThrowError(/Could not find an NgModule/); }); it('should accept custom ext for module', () => { From 4c3a956c1af6c1765b516a6a13555f64d41986ac Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 13 Jun 2022 16:36:20 -0400 Subject: [PATCH 0547/1388] test: assert catch clause variable type before usage in E2E tests Prepares the E2E tests for the eventual change of enabling the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. Similar changes will be needed in the other packages in the repository prior to enabling `useUnknownInCatchVariables`. --- .../e2e/tests/commands/add/add-material.ts | 2 +- .../legacy-cli/e2e/tests/commands/help/help-json.ts | 12 ++++++++++-- .../e2e/tests/commands/unknown-configuration.ts | 7 ++++++- tests/legacy-cli/e2e/tests/misc/http-headers.ts | 2 +- tests/legacy-cli/e2e/tests/test/test-sourcemap.ts | 4 ++-- tests/legacy-cli/e2e/utils/process.ts | 5 ++++- tests/legacy-cli/e2e_runner.ts | 10 +++++++--- 7 files changed, 31 insertions(+), 11 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 40f7e6a2af5b..3ba5dcfed0c3 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -12,7 +12,7 @@ export default async function () { try { await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); } catch (error) { - if (!(error.message && error.message.includes(`Unknown option: '--unknown'`))) { + if (!(error instanceof Error && error.message.includes(`Unknown option: '--unknown'`))) { throw error; } } diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 25aea63c246f..4711d44e013e 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -52,13 +52,21 @@ export default async function () { try { JSON.parse(stdout2.trim()); } catch (error) { - throw new Error(`'ng --help ---json-help' failed to return JSON.\n${error.message}`); + throw new Error( + `'ng --help ---json-help' failed to return JSON.\n${ + error instanceof Error ? error.message : error + }`, + ); } const { stdout: stdout3 } = await silentNg('generate', '--help', '--json-help'); try { JSON.parse(stdout3.trim()); } catch (error) { - throw new Error(`'ng generate --help ---json-help' failed to return JSON.\n${error.message}`); + throw new Error( + `'ng generate --help ---json-help' failed to return JSON.\n${ + error instanceof Error ? error.message : error + }`, + ); } } diff --git a/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts b/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts index 385b7149cc29..7b5bbc106702 100644 --- a/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts +++ b/tests/legacy-cli/e2e/tests/commands/unknown-configuration.ts @@ -5,7 +5,12 @@ export default async function () { await ng('build', '--configuration', 'invalid'); throw new Error('should have failed.'); } catch (error) { - if (!error.message.includes(`Configuration 'invalid' is not set in the workspace`)) { + if ( + !( + error instanceof Error && + error.message.includes(`Configuration 'invalid' is not set in the workspace`) + ) + ) { throw error; } } diff --git a/tests/legacy-cli/e2e/tests/misc/http-headers.ts b/tests/legacy-cli/e2e/tests/misc/http-headers.ts index 8640d90dd781..4f5ff6949621 100644 --- a/tests/legacy-cli/e2e/tests/misc/http-headers.ts +++ b/tests/legacy-cli/e2e/tests/misc/http-headers.ts @@ -28,7 +28,7 @@ export default async function () { try { await ng('e2e'); } catch (error) { - errorMessage = error.message; + errorMessage = error instanceof Error ? error.message : null; } if (!errorMessage) { diff --git a/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts b/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts index 0b193360cba8..620e5ab138b5 100644 --- a/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/test/test-sourcemap.ts @@ -16,7 +16,7 @@ export default async function () { await ng('test', '--no-watch', '--source-map'); throw new Error('ng test should have failed.'); } catch (error) { - if (!error.message.includes('app.component.spec.ts')) { + if (!(error instanceof Error && error.message.includes('app.component.spec.ts'))) { throw error; } } @@ -26,7 +26,7 @@ export default async function () { await ng('test', '--no-watch', '--no-source-map'); throw new Error('ng test should have failed.'); } catch (error) { - if (!error.message.includes('main.js')) { + if (!(error instanceof Error && error.message.includes('main.js'))) { throw error; } } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 6078d7c50fe4..74aa9bca75b5 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -242,7 +242,10 @@ export async function execAndCaptureError( await _exec({ env, stdin }, cmd, args); throw new Error('Tried to capture subprocess exception, but it completed successfully.'); } catch (err) { - return err; + if (err instanceof Error) { + return err; + } + throw new Error('Subprocess exception was not an Error instance'); } } diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 1cbe21956ede..1159f4b28a87 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -139,9 +139,13 @@ Promise.all([findFreePort(), findFreePort()]) console.log(colors.green('Done.')); } catch (err) { - console.log('\n'); - console.error(colors.red(err.message)); - console.error(colors.red(err.stack)); + if (err instanceof Error) { + console.log('\n'); + console.error(colors.red(err.message)); + if (err.stack) { + console.error(colors.red(err.stack)); + } + } if (argv.debug) { console.log(`Current Directory: ${process.cwd()}`); From 0b7f5d315e6d3921c2992c157e826d6722220892 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Jun 2022 19:05:03 -0400 Subject: [PATCH 0548/1388] build: enable TypeScript useUnknownInCatchVariables compiler option Enables the TypeScript `useUnknownInCatchVariables` option. This option provides additional code safety by ensuring that the catch clause variable is the proper type before attempting to access its properties. --- packages/angular_devkit/benchmark/src/main.ts | 6 +----- tsconfig.json | 1 - 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/angular_devkit/benchmark/src/main.ts b/packages/angular_devkit/benchmark/src/main.ts index 48dc566ab091..2c5d52872aa1 100644 --- a/packages/angular_devkit/benchmark/src/main.ts +++ b/packages/angular_devkit/benchmark/src/main.ts @@ -221,11 +221,7 @@ export async function main({ return 1; } } catch (error) { - if (error.message) { - logger.fatal(error.message); - } else { - logger.fatal(error); - } + logger.fatal(error instanceof Error ? error.message : `${error}`); return 1; } diff --git a/tsconfig.json b/tsconfig.json index 3c19b0e22cfb..198e5c64d657 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,6 @@ "noImplicitOverride": true, "noUnusedParameters": false, "noUnusedLocals": false, - "useUnknownInCatchVariables": false, "outDir": "./dist", "rootDir": ".", "skipLibCheck": true, From 2c95ea7415ce571dea0dbb13b987bbc5335337f1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Jun 2022 13:12:46 +0000 Subject: [PATCH 0549/1388] test: couple of clean ups in e2e tests Split tests and remove disabled tests --- tests/legacy-cli/e2e/tests/basic/build.ts | 46 +-- tests/legacy-cli/e2e/tests/basic/e2e.ts | 68 +---- tests/legacy-cli/e2e/tests/basic/rebuild.ts | 276 ++++++++---------- .../e2e/tests/build/delete-output-path.ts | 20 -- .../e2e/tests/build/disk-cache-purge.ts | 4 +- .../legacy-cli/e2e/tests/build/disk-cache.ts | 4 +- .../build/library/lib-consumption-full-aot.ts | 13 + .../build/library/lib-consumption-full-jit.ts | 26 ++ .../library/lib-consumption-partial-aot.ts | 13 + .../library/lib-consumption-partial-jit.ts | 21 ++ .../library/lib-consumption-sourcemaps.ts | 14 + .../library/library-consumption-ivy-full.ts | 105 ------- .../library-consumption-ivy-partial.ts | 105 ------- .../e2e/tests/build/library/setup.ts | 79 +++++ .../e2e/tests/build/progress-and-stats.ts | 39 +++ .../e2e/tests/build/project-name.ts | 8 + .../e2e/tests/build/rebuild-replacements.ts | 18 +- .../e2e/tests/build/styles/tailwind-v3-cjs.ts | 5 +- .../e2e/tests/commands/e2e/e2e-and-serve.ts | 12 + .../e2e/tests/commands/e2e/multiple-specs.ts | 17 ++ .../tests/commands/e2e/protractor-config.ts | 8 + .../e2e/tests/commands/e2e/suite.ts | 16 + .../legacy-cli/e2e/tests/i18n/extract-ivy.ts | 3 +- .../i18n/ivy-localize-basehref-absolute.ts | 54 ++++ .../e2e/tests/i18n/ivy-localize-basehref.ts | 24 +- .../e2e/tests/i18n/ivy-localize-es2015-e2e.ts | 12 + .../e2e/tests/i18n/ivy-localize-es2015.ts | 18 +- .../e2e/tests/i18n/ivy-localize-es5.ts | 36 +-- .../e2e/tests/i18n/ivy-localize-hashes.ts | 10 +- .../i18n/ivy-localize-locale-data-augment.ts | 16 +- .../tests/i18n/ivy-localize-locale-data.ts | 1 - .../e2e/tests/i18n/ivy-localize-merging.ts | 1 - .../tests/i18n/ivy-localize-serviceworker.ts | 188 ------------ .../e2e/tests/i18n/ivy-localize-sourcemaps.ts | 22 ++ tests/legacy-cli/e2e/tests/i18n/setup.ts | 7 +- tests/legacy-cli/e2e/tests/misc/npm-audit.ts | 7 - tests/legacy-cli/e2e_runner.ts | 3 - 37 files changed, 523 insertions(+), 796 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/delete-output-path.ts create mode 100644 tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts create mode 100644 tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts create mode 100644 tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts create mode 100644 tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts create mode 100644 tests/legacy-cli/e2e/tests/build/library/lib-consumption-sourcemaps.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-full.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-partial.ts create mode 100644 tests/legacy-cli/e2e/tests/build/library/setup.ts create mode 100644 tests/legacy-cli/e2e/tests/build/progress-and-stats.ts create mode 100644 tests/legacy-cli/e2e/tests/build/project-name.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/e2e/suite.ts create mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref-absolute.ts create mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts delete mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts create mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/npm-audit.ts diff --git a/tests/legacy-cli/e2e/tests/basic/build.ts b/tests/legacy-cli/e2e/tests/basic/build.ts index 390797ebf6b8..51fcca4b9bcd 100644 --- a/tests/legacy-cli/e2e/tests/basic/build.ts +++ b/tests/legacy-cli/e2e/tests/basic/build.ts @@ -4,57 +4,21 @@ import { ng } from '../../utils/process'; export default async function () { // Development build - const { stdout: stdoutDev } = await ng('build', '--configuration=development'); + const { stdout } = await ng('build', '--configuration=development'); await expectFileToMatch('dist/test-project/index.html', 'main.js'); - if (stdoutDev.includes('Estimated Transfer Size')) { + + if (stdout.includes('Estimated Transfer Size')) { throw new Error( - `Expected stdout not to contain 'Estimated Transfer Size' but it did.\n${stdoutDev}`, + `Expected stdout not to contain 'Estimated Transfer Size' but it did.\n${stdout}`, ); } - // Named Development build - await ng('build', 'test-project', '--configuration=development'); - await ng('build', '--configuration=development', 'test-project', '--no-progress'); - await ng('build', '--configuration=development', '--no-progress', 'test-project'); - // Production build - const { stderr: stderrProgress, stdout } = await ng('build', '--progress'); + await ng('build'); if (getGlobalVariable('argv')['esbuild']) { // esbuild uses an 8 character hash await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{8}\.js/); - - // EXPERIMENTAL_ESBUILD: esbuild does not yet output build stats - return; } else { await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{16}\.js/); } - - if (!stdout.includes('Initial Total')) { - throw new Error(`Expected stdout to contain 'Initial Total' but it did not.\n${stdout}`); - } - - if (!stdout.includes('Estimated Transfer Size')) { - throw new Error( - `Expected stdout to contain 'Estimated Transfer Size' but it did not.\n${stdout}`, - ); - } - - const logs: string[] = [ - 'Browser application bundle generation complete', - 'Copying assets complete', - 'Index html generation complete', - ]; - - for (const log of logs) { - if (!stderrProgress.includes(log)) { - throw new Error(`Expected stderr to contain '${log}' but didn't.\n${stderrProgress}`); - } - } - - const { stderr: stderrNoProgress } = await ng('build', '--no-progress'); - for (const log of logs) { - if (stderrNoProgress.includes(log)) { - throw new Error(`Expected stderr not to contain '${log}' but it did.\n${stderrProgress}`); - } - } } diff --git a/tests/legacy-cli/e2e/tests/basic/e2e.ts b/tests/legacy-cli/e2e/tests/basic/e2e.ts index 8671d203efe8..320ae22682ac 100644 --- a/tests/legacy-cli/e2e/tests/basic/e2e.ts +++ b/tests/legacy-cli/e2e/tests/basic/e2e.ts @@ -1,64 +1,10 @@ -import { ng, execAndWaitForOutputToMatch, killAllProcesses } from '../../utils/process'; +import { silentNg } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; -import { moveFile, copyFile, replaceInFile } from '../../utils/fs'; -export default function () { - return ( - Promise.resolve() - // Should fail without serving - .then(() => expectToFail(() => ng('e2e', 'test-project', '--dev-server-target='))) - // These should work. - .then(() => ng('e2e', 'test-project')) - .then(() => ng('e2e', 'test-project', '--dev-server-target=test-project:serve')) - // Should accept different config file - .then(() => moveFile('./e2e/protractor.conf.js', './e2e/renamed-protractor.conf.js')) - .then(() => ng('e2e', 'test-project', '--protractor-config=e2e/renamed-protractor.conf.js')) - .then(() => moveFile('./e2e/renamed-protractor.conf.js', './e2e/protractor.conf.js')) - // Should accept different multiple spec files - .then(() => moveFile('./e2e/src/app.e2e-spec.ts', './e2e/src/renamed-app.e2e-spec.ts')) - .then(() => - copyFile('./e2e/src/renamed-app.e2e-spec.ts', './e2e/src/another-app.e2e-spec.ts'), - ) - .then(() => - ng( - 'e2e', - 'test-project', - '--specs', - './e2e/renamed-app.e2e-spec.ts', - '--specs', - './e2e/another-app.e2e-spec.ts', - ), - ) - // Rename the spec back to how it was. - .then(() => moveFile('./e2e/src/renamed-app.e2e-spec.ts', './e2e/src/app.e2e-spec.ts')) - // Suites block need to be added in the protractor.conf.js file to test suites - .then(() => - replaceInFile( - 'e2e/protractor.conf.js', - `allScriptsTimeout: 11000,`, - `allScriptsTimeout: 11000, - suites: { - app: './e2e/src/app.e2e-spec.ts' - }, - `, - ), - ) - .then(() => ng('e2e', 'test-project', '--suite=app')) - // Remove suites block from protractor.conf.js file after testing suites - .then(() => - replaceInFile( - 'e2e/protractor.conf.js', - `allScriptsTimeout: 11000, - suites: { - app: './e2e/src/app.e2e-spec.ts' - }, - `, - `allScriptsTimeout: 11000,`, - ), - ) - // Should run side-by-side with `ng serve` - .then(() => execAndWaitForOutputToMatch('ng', ['serve'], / Compiled successfully./)) - .then(() => ng('e2e', 'test-project', '--dev-server-target=')) - .finally(() => killAllProcesses()) - ); +export default async function () { + await expectToFail(() => silentNg('e2e', 'test-project', '--dev-server-target=')); + + // These should work. + await silentNg('e2e', 'test-project'); + await silentNg('e2e', 'test-project', '--dev-server-target=test-project:serve'); } diff --git a/tests/legacy-cli/e2e/tests/basic/rebuild.ts b/tests/legacy-cli/e2e/tests/basic/rebuild.ts index a1af3e836328..8b507f6a19bd 100644 --- a/tests/legacy-cli/e2e/tests/basic/rebuild.ts +++ b/tests/legacy-cli/e2e/tests/basic/rebuild.ts @@ -1,32 +1,24 @@ -import { - killAllProcesses, - waitForAnyProcessOutputToMatch, - execAndWaitForOutputToMatch, - ng, -} from '../../utils/process'; +import { waitForAnyProcessOutputToMatch, silentNg } from '../../utils/process'; import { writeFile, writeMultipleFiles } from '../../utils/fs'; -import { wait } from '../../utils/utils'; import fetch from 'node-fetch'; -import { findFreePort } from '../../utils/network'; +import { ngServe } from '../../utils/project'; const validBundleRegEx = / Compiled successfully./; export default async function () { - const port = await findFreePort(); - - return ( - execAndWaitForOutputToMatch('ng', ['serve', '--port', String(port)], validBundleRegEx) - // Add a lazy module. - .then(() => ng('generate', 'module', 'lazy', '--routing')) - // Should trigger a rebuild with a new bundle. - // We need to use Promise.all to ensure we are waiting for the rebuild just before we write - // the file, otherwise rebuilds can be too fast and fail CI. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 20000), - writeFile( - 'src/app/app.module.ts', - ` + const port = await ngServe(); + // Add a lazy module. + await silentNg('generate', 'module', 'lazy', '--routing'); + + // Should trigger a rebuild with a new bundle. + // We need to use Promise.all to ensure we are waiting for the rebuild just before we write + // the file, otherwise rebuilds can be too fast and fail CI. + // Count the bundles. + await Promise.all([ + waitForAnyProcessOutputToMatch(/lazy_module_ts\.js/), + writeFile( + 'src/app/app.module.ts', + ` import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; @@ -52,138 +44,122 @@ export default async function () { }) export class AppModule { } `, - ), - ]), - ) - // Count the bundles. - .then((results) => { - const stdout = results[0].stdout; - if (!/lazy_module_ts\.js/g.test(stdout)) { - throw new Error('Expected webpack to create a new chunk, but did not.'); - } - }) - // Change multiple files and check that all of them are invalidated and recompiled. - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 20000), - writeMultipleFiles({ - 'src/app/app.module.ts': ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - - import { AppComponent } from './app.component'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - - console.log('$$_E2E_GOLDEN_VALUE_1'); - export let X = '$$_E2E_GOLDEN_VALUE_2'; + ), + ]); + + // Change multiple files and check that all of them are invalidated and recompiled. + await Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx), + writeMultipleFiles({ + 'src/app/app.module.ts': ` + import { BrowserModule } from '@angular/platform-browser'; + import { NgModule } from '@angular/core'; + + import { AppComponent } from './app.component'; + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + + console.log('$$_E2E_GOLDEN_VALUE_1'); + export let X = '$$_E2E_GOLDEN_VALUE_2'; `, - 'src/main.ts': ` - import { enableProdMode } from '@angular/core'; - import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + 'src/main.ts': ` + import { enableProdMode } from '@angular/core'; + import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; + import { AppModule } from './app/app.module'; + import { environment } from './environments/environment'; - if (environment.production) { - enableProdMode(); - } + if (environment.production) { + enableProdMode(); + } - platformBrowserDynamic().bootstrapModule(AppModule); + platformBrowserDynamic().bootstrapModule(AppModule); - import * as m from './app/app.module'; - console.log(m.X); - console.log('$$_E2E_GOLDEN_VALUE_3'); + import * as m from './app/app.module'; + console.log(m.X); + console.log('$$_E2E_GOLDEN_VALUE_3'); `, - }), - ]), - ) - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 20000), - writeMultipleFiles({ - 'src/app/app.module.ts': ` - - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - - import { AppComponent } from './app.component'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - - console.log('$$_E2E_GOLDEN_VALUE_1'); - export let X = '$$_E2E_GOLDEN_VALUE_2'; - console.log('File changed with no import/export changes'); + }), + ]); + + await Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx), + writeMultipleFiles({ + 'src/app/app.module.ts': ` + import { BrowserModule } from '@angular/platform-browser'; + import { NgModule } from '@angular/core'; + + import { AppComponent } from './app.component'; + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + + console.log('$$_E2E_GOLDEN_VALUE_1'); + export let X = '$$_E2E_GOLDEN_VALUE_2'; + console.log('File changed with no import/export changes'); `, - }), - ]), - ) - .then(() => wait(2000)) - .then(() => fetch(`http://localhost:${port}/main.js`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/\$\$_E2E_GOLDEN_VALUE_1/)) { - throw new Error('Expected golden value 1.'); - } - if (!body.match(/\$\$_E2E_GOLDEN_VALUE_2/)) { - throw new Error('Expected golden value 2.'); - } - if (!body.match(/\$\$_E2E_GOLDEN_VALUE_3/)) { - throw new Error('Expected golden value 3.'); - } - }) - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 20000), - writeMultipleFiles({ - 'src/app/app.component.html': '

testingTESTING123

', - }), - ]), - ) - .then(() => wait(2000)) - .then(() => fetch(`http://localhost:${port}/main.js`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/testingTESTING123/)) { - throw new Error('Expected component HTML to update.'); - } - }) - .then(() => - Promise.all([ - waitForAnyProcessOutputToMatch(validBundleRegEx, 20000), - writeMultipleFiles({ - 'src/app/app.component.css': ':host { color: blue; }', - }), - ]), - ) - .then(() => wait(2000)) - .then(() => fetch(`http://localhost:${port}/main.js`)) - .then((response) => response.text()) - .then((body) => { - if (!body.match(/color:\s?blue/)) { - throw new Error('Expected component CSS to update.'); - } - }) - .finally(() => killAllProcesses()) - ); + }), + ]); + { + const response = await fetch(`http://localhost:${port}/main.js`); + const body = await response.text(); + if (!body.match(/\$\$_E2E_GOLDEN_VALUE_1/)) { + throw new Error('Expected golden value 1.'); + } + if (!body.match(/\$\$_E2E_GOLDEN_VALUE_2/)) { + throw new Error('Expected golden value 2.'); + } + if (!body.match(/\$\$_E2E_GOLDEN_VALUE_3/)) { + throw new Error('Expected golden value 3.'); + } + } + + await Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx), + writeMultipleFiles({ + 'src/app/app.component.html': '

testingTESTING123

', + }), + ]); + + { + const response = await fetch(`http://localhost:${port}/main.js`); + const body = await response.text(); + if (!body.match(/testingTESTING123/)) { + throw new Error('Expected component HTML to update.'); + } + } + + await Promise.all([ + waitForAnyProcessOutputToMatch(validBundleRegEx), + writeMultipleFiles({ + 'src/app/app.component.css': ':host { color: blue; }', + }), + ]); + + { + const response = await fetch(`http://localhost:${port}/main.js`); + const body = await response.text(); + if (!body.match(/color:\s?blue/)) { + throw new Error('Expected component CSS to update.'); + } + } } diff --git a/tests/legacy-cli/e2e/tests/build/delete-output-path.ts b/tests/legacy-cli/e2e/tests/build/delete-output-path.ts deleted file mode 100644 index 6294044f6624..000000000000 --- a/tests/legacy-cli/e2e/tests/build/delete-output-path.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ng } from '../../utils/process'; -import { expectToFail } from '../../utils/utils'; -import { deleteFile, expectFileToExist } from '../../utils/fs'; -import { getGlobalVariable } from '../../utils/env'; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - return ( - ng('build') - // This is supposed to fail since there's a missing file - .then(() => deleteFile('src/app/app.component.ts')) - // The build fails but we don't delete the output of the previous build. - .then(() => expectToFail(() => ng('build', '--delete-output-path=false'))) - .then(() => expectFileToExist('dist')) - // By default, output path is always cleared. - .then(() => expectToFail(() => ng('build', '--configuration=development'))) - .then(() => expectToFail(() => expectFileToExist('dist/test-project'))) - ); -} diff --git a/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts b/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts index f63a5e8d8565..5cc3b6d0606c 100644 --- a/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts +++ b/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts @@ -1,6 +1,6 @@ import { join } from 'path'; import { createDir, expectFileNotToExist, expectFileToExist, writeFile } from '../../utils/fs'; -import { ng } from '../../utils/process'; +import { silentNg } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; export default async function () { @@ -25,7 +25,7 @@ export default async function () { await createDir(staleCachePath); await expectFileToExist(staleCachePath); - await ng('build'); + await silentNg('build'); await expectFileToExist(cachePath); await expectFileNotToExist(staleCachePath); } diff --git a/tests/legacy-cli/e2e/tests/build/disk-cache.ts b/tests/legacy-cli/e2e/tests/build/disk-cache.ts index a20f06115bac..559313163187 100644 --- a/tests/legacy-cli/e2e/tests/build/disk-cache.ts +++ b/tests/legacy-cli/e2e/tests/build/disk-cache.ts @@ -1,5 +1,5 @@ import { expectFileNotToExist, expectFileToExist, rimraf, writeFile } from '../../utils/fs'; -import { ng } from '../../utils/process'; +import { silentNg } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; const defaultCachePath = '.angular/cache'; @@ -53,5 +53,5 @@ async function configureAndRunTest(cacheOptions?: { }), ]); - await ng('build'); + await silentNg('build'); } diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts new file mode 100644 index 000000000000..c20142e4a229 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts @@ -0,0 +1,13 @@ +import { ng } from '../../../utils/process'; +import { libraryConsumptionSetup } from './setup'; + +export default async function () { + await libraryConsumptionSetup(); + + // Build library in full mode (development) + await ng('build', 'my-lib', '--configuration=development'); + + // Check that the e2e succeeds prod and non prod mode + await ng('e2e', '--configuration=production'); + await ng('e2e', '--configuration=development'); +} diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts new file mode 100644 index 000000000000..070fc614f9f8 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts @@ -0,0 +1,26 @@ +import { updateJsonFile } from '../../../utils/project'; +import { expectFileToMatch } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; +import { libraryConsumptionSetup } from './setup'; + +export default async function () { + await libraryConsumptionSetup(); + + // Build library in full mode (development) + await ng('build', 'my-lib', '--configuration=development'); + + // JIT linking + await updateJsonFile('angular.json', (config) => { + const build = config.projects['test-project'].architect.build; + build.options.aot = false; + build.configurations.production.buildOptimizer = false; + }); + + // Check that the e2e succeeds prod and non prod mode + await ng('e2e', '--configuration=production'); + await ng('e2e', '--configuration=development'); + + // Validate that sourcemaps for the library exists. + await ng('build', '--configuration=development'); + await expectFileToMatch('dist/test-project/main.js.map', 'projects/my-lib/src/public-api.ts'); +} diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts new file mode 100644 index 000000000000..647e8b1ee9b7 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts @@ -0,0 +1,13 @@ +import { ng } from '../../../utils/process'; +import { libraryConsumptionSetup } from './setup'; + +export default async function () { + await libraryConsumptionSetup(); + + // Build library in partial mode (production) + await ng('build', 'my-lib', '--configuration=production'); + + // Check that the e2e succeeds prod and non prod mode + await ng('e2e', '--configuration=production'); + await ng('e2e', '--configuration=development'); +} diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts new file mode 100644 index 000000000000..6c13b5468f2a --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts @@ -0,0 +1,21 @@ +import { updateJsonFile } from '../../../utils/project'; +import { ng } from '../../../utils/process'; +import { libraryConsumptionSetup } from './setup'; + +export default async function () { + await libraryConsumptionSetup(); + + // Build library in partial mode (production) + await ng('build', 'my-lib', '--configuration=production'); + + // JIT linking + await updateJsonFile('angular.json', (config) => { + const build = config.projects['test-project'].architect.build; + build.options.aot = false; + build.configurations.production.buildOptimizer = false; + }); + + // Check that the e2e succeeds prod and non prod mode + await ng('e2e', '--configuration=production'); + await ng('e2e', '--configuration=development'); +} diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-sourcemaps.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-sourcemaps.ts new file mode 100644 index 000000000000..484fcd21bcc3 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-sourcemaps.ts @@ -0,0 +1,14 @@ +import { expectFileToMatch } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; +import { libraryConsumptionSetup } from './setup'; + +export default async function () { + await libraryConsumptionSetup(); + + // Build library in full mode (development) + await ng('build', 'my-lib', '--configuration=development'); + + // Validate that sourcemaps for the library exists. + await ng('build', '--configuration=development'); + await expectFileToMatch('dist/test-project/main.js.map', 'projects/my-lib/src/public-api.ts'); +} diff --git a/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-full.ts b/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-full.ts deleted file mode 100644 index d25092d1b3da..000000000000 --- a/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-full.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { expectFileToMatch, writeMultipleFiles } from '../../../utils/fs'; -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; - -export default async function () { - await ng('generate', 'library', 'my-lib'); - - // Force an external template - await writeMultipleFiles({ - 'projects/my-lib/src/lib/my-lib.component.html': `

my-lib works!

`, - 'projects/my-lib/src/lib/my-lib.component.ts': `import { Component } from '@angular/core'; - - @Component({ - selector: 'lib-my-lib', - templateUrl: './my-lib.component.html', - }) - export class MyLibComponent {}`, - './src/app/app.module.ts': ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - import { MyLibModule } from 'my-lib'; - - import { AppComponent } from './app.component'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - MyLibModule, - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - `, - './src/app/app.component.ts': ` - import { Component } from '@angular/core'; - import { MyLibService } from 'my-lib'; - - @Component({ - selector: 'app-root', - template: '' - }) - export class AppComponent { - title = 'test-project'; - - constructor(myLibService: MyLibService) { - console.log(myLibService); - } - } - `, - 'e2e/src/app.e2e-spec.ts': ` - import { browser, logging, element, by } from 'protractor'; - import { AppPage } from './app.po'; - - describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display text from library component', async () => { - await page.navigateTo(); - expect(await element(by.css('lib-my-lib p')).getText()).toEqual('my-lib works!'); - }); - - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - })); - }); - }); - `, - }); - - // Build library in full mode (development) - await ng('build', 'my-lib', '--configuration=development'); - - // AOT linking - await runTests(); - - // JIT linking - await updateJsonFile('angular.json', (config) => { - const build = config.projects['test-project'].architect.build; - build.options.aot = false; - build.configurations.production.buildOptimizer = false; - }); - - await runTests(); -} - -async function runTests(): Promise { - // Check that the tests succeeds both with named project, unnamed (should test app), and prod. - await ng('e2e'); - await ng('e2e', 'test-project', '--dev-server-target=test-project:serve:production'); - - // Validate that sourcemaps for the library exists. - await ng('build', '--configuration=development'); - await expectFileToMatch('dist/test-project/main.js.map', 'projects/my-lib/src/public-api.ts'); -} diff --git a/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-partial.ts b/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-partial.ts deleted file mode 100644 index c3ecbab506cb..000000000000 --- a/tests/legacy-cli/e2e/tests/build/library/library-consumption-ivy-partial.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { expectFileToMatch, writeMultipleFiles } from '../../../utils/fs'; -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; - -export default async function () { - await ng('generate', 'library', 'my-lib'); - - // Force an external template - await writeMultipleFiles({ - 'projects/my-lib/src/lib/my-lib.component.html': `

my-lib works!

`, - 'projects/my-lib/src/lib/my-lib.component.ts': `import { Component } from '@angular/core'; - - @Component({ - selector: 'lib-my-lib', - templateUrl: './my-lib.component.html', - }) - export class MyLibComponent {}`, - './src/app/app.module.ts': ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - import { MyLibModule } from 'my-lib'; - - import { AppComponent } from './app.component'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - MyLibModule, - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - `, - './src/app/app.component.ts': ` - import { Component } from '@angular/core'; - import { MyLibService } from 'my-lib'; - - @Component({ - selector: 'app-root', - template: '' - }) - export class AppComponent { - title = 'test-project'; - - constructor(myLibService: MyLibService) { - console.log(myLibService); - } - } - `, - 'e2e/src/app.e2e-spec.ts': ` - import { browser, logging, element, by } from 'protractor'; - import { AppPage } from './app.po'; - - describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display text from library component', async () => { - await page.navigateTo(); - expect(await element(by.css('lib-my-lib p')).getText()).toEqual('my-lib works!'); - }); - - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - })); - }); - }); - `, - }); - - // Build library in partial mode (production) - await ng('build', 'my-lib', '--configuration=production'); - - // AOT linking - await runTests(); - - // JIT linking - await updateJsonFile('angular.json', (config) => { - const build = config.projects['test-project'].architect.build; - build.options.aot = false; - build.configurations.production.buildOptimizer = false; - }); - - await runTests(); -} - -async function runTests(): Promise { - // Check that the tests succeeds both with named project, unnamed (should test app), and prod. - await ng('e2e'); - await ng('e2e', 'test-project', '--dev-server-target=test-project:serve:production'); - - // Validate that sourcemaps for the library exists. - await ng('build', '--configuration=development'); - await expectFileToMatch('dist/test-project/main.js.map', 'projects/my-lib/src/public-api.ts'); -} diff --git a/tests/legacy-cli/e2e/tests/build/library/setup.ts b/tests/legacy-cli/e2e/tests/build/library/setup.ts new file mode 100644 index 000000000000..98bc6e816944 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/library/setup.ts @@ -0,0 +1,79 @@ +import { writeMultipleFiles } from '../../../utils/fs'; +import { silentNg } from '../../../utils/process'; + +export async function libraryConsumptionSetup(): Promise { + await silentNg('generate', 'library', 'my-lib'); + + // Force an external template + await writeMultipleFiles({ + 'projects/my-lib/src/lib/my-lib.component.html': `

my-lib works!

`, + 'projects/my-lib/src/lib/my-lib.component.ts': `import { Component } from '@angular/core'; + + @Component({ + selector: 'lib-my-lib', + templateUrl: './my-lib.component.html', + }) + export class MyLibComponent {}`, + './src/app/app.module.ts': ` + import { BrowserModule } from '@angular/platform-browser'; + import { NgModule } from '@angular/core'; + import { MyLibModule } from 'my-lib'; + + import { AppComponent } from './app.component'; + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + MyLibModule, + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + `, + './src/app/app.component.ts': ` + import { Component } from '@angular/core'; + import { MyLibService } from 'my-lib'; + + @Component({ + selector: 'app-root', + template: '' + }) + export class AppComponent { + title = 'test-project'; + + constructor(myLibService: MyLibService) { + console.log(myLibService); + } + } + `, + 'e2e/src/app.e2e-spec.ts': ` + import { browser, logging, element, by } from 'protractor'; + import { AppPage } from './app.po'; + + describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); + }); + + it('should display text from library component', async () => { + await page.navigateTo(); + expect(await element(by.css('lib-my-lib p')).getText()).toEqual('my-lib works!'); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain(jasmine.objectContaining({ + level: logging.Level.SEVERE, + })); + }); + }); +`, + }); +} diff --git a/tests/legacy-cli/e2e/tests/build/progress-and-stats.ts b/tests/legacy-cli/e2e/tests/build/progress-and-stats.ts new file mode 100644 index 000000000000..eb4c9147ef44 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/progress-and-stats.ts @@ -0,0 +1,39 @@ +import { getGlobalVariable } from '../../utils/env'; +import { ng } from '../../utils/process'; + +export default async function () { + if (getGlobalVariable('argv')['esbuild']) { + // EXPERIMENTAL_ESBUILD: esbuild does not yet output build stats + return; + } + + const { stderr: stderrProgress, stdout } = await ng('build', '--progress'); + if (!stdout.includes('Initial Total')) { + throw new Error(`Expected stdout to contain 'Initial Total' but it did not.\n${stdout}`); + } + + if (!stdout.includes('Estimated Transfer Size')) { + throw new Error( + `Expected stdout to contain 'Estimated Transfer Size' but it did not.\n${stdout}`, + ); + } + + const logs: string[] = [ + 'Browser application bundle generation complete', + 'Copying assets complete', + 'Index html generation complete', + ]; + + for (const log of logs) { + if (!stderrProgress.includes(log)) { + throw new Error(`Expected stderr to contain '${log}' but didn't.\n${stderrProgress}`); + } + } + + const { stderr: stderrNoProgress } = await ng('build', '--no-progress'); + for (const log of logs) { + if (stderrNoProgress.includes(log)) { + throw new Error(`Expected stderr not to contain '${log}' but it did.\n${stderrProgress}`); + } + } +} diff --git a/tests/legacy-cli/e2e/tests/build/project-name.ts b/tests/legacy-cli/e2e/tests/build/project-name.ts new file mode 100644 index 000000000000..309ba4d8e897 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/project-name.ts @@ -0,0 +1,8 @@ +import { silentNg } from '../../utils/process'; + +export default async function () { + // Named Development build + await silentNg('build', 'test-project', '--configuration=development'); + await silentNg('build', '--configuration=development', 'test-project', '--no-progress'); + await silentNg('build', '--configuration=development', '--no-progress', 'test-project'); +} diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts index 907a5dc60414..f5c2b978ef84 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts @@ -1,10 +1,6 @@ import { appendToFile } from '../../utils/fs'; -import { - execAndWaitForOutputToMatch, - killAllProcesses, - waitForAnyProcessOutputToMatch, -} from '../../utils/process'; -import { wait } from '../../utils/utils'; +import { killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; +import { ngServe } from '../../utils/project'; const webpackGoodRegEx = / Compiled successfully./; @@ -14,17 +10,11 @@ export default async function () { } try { - await execAndWaitForOutputToMatch( - 'ng', - ['serve', '--configuration=production'], - webpackGoodRegEx, - ); - - await wait(4000); + await ngServe('--configuration=production'); // Should trigger a rebuild. await appendToFile('src/environments/environment.prod.ts', `console.log('PROD');`); - await waitForAnyProcessOutputToMatch(webpackGoodRegEx, 45000); + await waitForAnyProcessOutputToMatch(webpackGoodRegEx); } finally { await killAllProcesses(); } diff --git a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts index acd6e66320fe..3bf5ff9c4c5b 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/tailwind-v3-cjs.ts @@ -1,5 +1,5 @@ import { expectFileToMatch, writeFile } from '../../../utils/fs'; -import { installPackage } from '../../../utils/packages'; +import { installPackage, uninstallPackage } from '../../../utils/packages'; import { ng, silentExec } from '../../../utils/process'; import { updateJsonFile } from '../../../utils/project'; import { expectToFail } from '../../../utils/utils'; @@ -31,4 +31,7 @@ export default async function () { await expectToFail(() => expectFileToMatch('dist/test-project/styles.css', '@tailwind base; @tailwind components;'), ); + + // Uninstall Tailwind + await uninstallPackage('tailwindcss'); } diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts b/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts new file mode 100644 index 000000000000..6333c05be279 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts @@ -0,0 +1,12 @@ +import { killAllProcesses, silentNg } from '../../../utils/process'; +import { ngServe } from '../../../utils/project'; + +export default async function () { + try { + // Should run side-by-side with `ng serve` + await ngServe(); + await silentNg('e2e'); + } finally { + killAllProcesses(); + } +} diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts b/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts new file mode 100644 index 000000000000..c7da20adf900 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts @@ -0,0 +1,17 @@ +import { silentNg } from '../../../utils/process'; +import { moveFile, copyFile } from '../../../utils/fs'; + +export default async function () { + // Should accept different multiple spec files + await moveFile('./e2e/src/app.e2e-spec.ts', './e2e/src/renamed-app.e2e-spec.ts'); + await copyFile('./e2e/src/renamed-app.e2e-spec.ts', './e2e/src/another-app.e2e-spec.ts'); + + await silentNg( + 'e2e', + 'test-project', + '--specs', + './e2e/renamed-app.e2e-spec.ts', + '--specs', + './e2e/another-app.e2e-spec.ts', + ); +} diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts b/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts new file mode 100644 index 000000000000..52e9494e4062 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts @@ -0,0 +1,8 @@ +import { moveFile } from '../../../utils/fs'; +import { silentNg } from '../../../utils/process'; + +export default async function () { + // Should accept different config file + await moveFile('./e2e/protractor.conf.js', './e2e/renamed-protractor.conf.js'); + await silentNg('e2e', 'test-project', '--protractor-config=e2e/renamed-protractor.conf.js'); +} diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts b/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts new file mode 100644 index 000000000000..519ed63a71bb --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts @@ -0,0 +1,16 @@ +import { silentNg } from '../../../utils/process'; +import { replaceInFile } from '../../../utils/fs'; + +export default async function () { + // Suites block need to be added in the protractor.conf.js file to test suites + await replaceInFile( + 'e2e/protractor.conf.js', + `allScriptsTimeout: 11000,`, + `allScriptsTimeout: 11000, + suites: { + app: './e2e/src/app.e2e-spec.ts' + }, + `, + ); + await silentNg('e2e', 'test-project', '--suite=app'); +} diff --git a/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts b/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts index 9c796f896c01..0fba95b63245 100644 --- a/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts +++ b/tests/legacy-cli/e2e/tests/i18n/extract-ivy.ts @@ -3,7 +3,6 @@ import { getGlobalVariable } from '../../utils/env'; import { expectFileToMatch, writeFile } from '../../utils/fs'; import { installPackage, uninstallPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; import { readNgVersion } from '../../utils/version'; @@ -31,7 +30,7 @@ export default async function () { throw new Error('Expected no warnings to be shown'); } - expectFileToMatch('messages.xlf', 'Hello world'); + await expectFileToMatch('messages.xlf', 'Hello world'); await uninstallPackage('@angular/localize'); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref-absolute.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref-absolute.ts new file mode 100644 index 000000000000..a95bfda6f5bc --- /dev/null +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref-absolute.ts @@ -0,0 +1,54 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { expectFileToMatch } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; +import { externalServer, langTranslations, setupI18nConfig } from './setup'; + +const baseHrefs: { [l: string]: string } = { + 'en-US': '/en/', + fr: '/fr-FR/', + de: '', +}; + +export default async function () { + // Setup i18n tests and config. + await setupI18nConfig(); + + // Update angular.json + await updateJsonFile('angular.json', (workspaceJson) => { + const appProject = workspaceJson.projects['test-project']; + // tslint:disable-next-line: no-any + const i18n: Record = appProject.i18n; + + i18n.sourceLocale = { + baseHref: baseHrefs['en-US'], + }; + + i18n.locales['fr'] = { + translation: i18n.locales['fr'], + baseHref: baseHrefs['fr'], + }; + + i18n.locales['de'] = { + translation: i18n.locales['de'], + baseHref: baseHrefs['de'], + }; + }); + + // Test absolute base href. + await ng('build', '--base-href', 'http://www.domain.com/', '--configuration=development'); + for (const { lang, outputPath } of langTranslations) { + // Verify the HTML base HREF attribute is present + await expectFileToMatch( + `${outputPath}/index.html`, + `href="http://www.domain.com${baseHrefs[lang] || '/'}"`, + ); + } +} diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts index 79854bfb193d..e815f25dd022 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-basehref.ts @@ -9,13 +9,7 @@ import { expectFileToMatch } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; -import { externalServer, langTranslations, setupI18nConfig } from './setup'; - -const baseHrefs: { [l: string]: string } = { - 'en-US': '/en/', - fr: '/fr-FR/', - de: '', -}; +import { baseHrefs, externalServer, langTranslations, setupI18nConfig } from './setup'; export default async function () { // Setup i18n tests and config. @@ -55,9 +49,6 @@ export default async function () { // Verify the HTML base HREF attribute is present await expectFileToMatch(`${outputPath}/index.html`, `href="${baseHrefs[lang] || '/'}"`); - // Execute Application E2E tests with dev server - await ng('e2e', `--configuration=${lang}`, '--port=0'); - // Execute Application E2E tests for a production build without dev server const { server, port, url } = await externalServer( outputPath, @@ -89,9 +80,6 @@ export default async function () { // Verify the HTML base HREF attribute is present await expectFileToMatch(`${outputPath}/index.html`, `href="/test${baseHrefs[lang] || '/'}"`); - // Execute Application E2E tests with dev server - await ng('e2e', `--configuration=${lang}`, '--port=0'); - // Execute Application E2E tests for a production build without dev server const { server, port, url } = await externalServer( outputPath, @@ -109,14 +97,4 @@ export default async function () { server.close(); } } - - // Test absolute base href. - await ng('build', '--base-href', 'http://www.domain.com/', '--configuration=development'); - for (const { lang, outputPath } of langTranslations) { - // Verify the HTML base HREF attribute is present - await expectFileToMatch( - `${outputPath}/index.html`, - `href="http://www.domain.com${baseHrefs[lang] || '/'}"`, - ); - } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts new file mode 100644 index 000000000000..9a5943043ffd --- /dev/null +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts @@ -0,0 +1,12 @@ +import { ng } from '../../utils/process'; +import { langTranslations, setupI18nConfig } from './setup'; + +export default async function () { + // Setup i18n tests and config. + await setupI18nConfig(); + + for (const { lang } of langTranslations) { + // Execute Application E2E tests with dev server + await ng('e2e', `--configuration=${lang}`, '--port=0'); + } +} diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts index 65fcfb0cbdbb..3dbb1da3176d 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015.ts @@ -1,4 +1,4 @@ -import { expectFileNotToExist, expectFileToMatch, readFile } from '../../utils/fs'; +import { expectFileToMatch } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; import { externalServer, langTranslations, setupI18nConfig } from './setup'; @@ -7,7 +7,7 @@ export default async function () { // Setup i18n tests and config. await setupI18nConfig(); - const { stderr } = await ng('build', '--source-map'); + const { stderr } = await ng('build'); if (/Locale data for .+ cannot be found/.test(stderr)) { throw new Error( `A warning for a locale not found was shown. This should not happen.\n\nSTDERR:\n${stderr}\n`, @@ -17,17 +17,6 @@ export default async function () { for (const { lang, outputPath, translation } of langTranslations) { await expectFileToMatch(`${outputPath}/main.js`, translation.helloPartial); await expectToFail(() => expectFileToMatch(`${outputPath}/main.js`, '$localize`')); - await expectFileNotToExist(`${outputPath}/main-es5.js`); - - // Ensure sourcemap for modified file contains content - const mainSourceMap = JSON.parse(await readFile(`${outputPath}/main.js.map`)); - if ( - mainSourceMap.version !== 3 || - !Array.isArray(mainSourceMap.sources) || - typeof mainSourceMap.mappings !== 'string' - ) { - throw new Error('invalid localized sourcemap for main.js'); - } // Ensure locale is inlined (@angular/localize plugin inlines `$localize.locale` references) // The only reference in a new application is in @angular/core @@ -36,9 +25,6 @@ export default async function () { // Verify the HTML lang attribute is present await expectFileToMatch(`${outputPath}/index.html`, `lang="${lang}"`); - // Execute Application E2E tests with dev server - await ng('e2e', `--configuration=${lang}`, '--port=0'); - // Execute Application E2E tests for a production build without dev server const { server, port, url } = await externalServer(outputPath, `/${lang}/`); try { diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts index 5dbfbc402b7e..88bfac2d9cc1 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts @@ -1,8 +1,8 @@ -import { expectFileToMatch, readFile } from '../../utils/fs'; +import { expectFileToMatch } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; -import { externalServer, langTranslations, setupI18nConfig } from './setup'; +import { langTranslations, setupI18nConfig } from './setup'; export default async function () { // Setup i18n tests and config. @@ -11,50 +11,20 @@ export default async function () { // Ensure a es5 build is used. await updateJsonFile('tsconfig.json', (config) => { config.compilerOptions.target = 'es5'; - if (!config.angularCompilerOptions) { - config.angularCompilerOptions = {}; - } - config.angularCompilerOptions.disableTypeScriptVersionCheck = true; }); // Build each locale and verify the output. await ng('build'); + for (const { lang, outputPath, translation } of langTranslations) { await expectFileToMatch(`${outputPath}/main.js`, translation.helloPartial); await expectToFail(() => expectFileToMatch(`${outputPath}/main.js`, '$localize`')); - // Ensure sourcemap for modified file contains content - const mainSourceMap = JSON.parse(await readFile(`${outputPath}/main.js.map`)); - if ( - mainSourceMap.version !== 3 || - !Array.isArray(mainSourceMap.sources) || - typeof mainSourceMap.mappings !== 'string' - ) { - throw new Error('invalid localized sourcemap for main.js'); - } - // Ensure locale is inlined (@angular/localize plugin inlines `$localize.locale` references) // The only reference in a new application is in @angular/core await expectFileToMatch(`${outputPath}/vendor.js`, lang); // Verify the HTML lang attribute is present await expectFileToMatch(`${outputPath}/index.html`, `lang="${lang}"`); - - // Execute Application E2E tests with dev server - await ng('e2e', `--configuration=${lang}`, '--port=0'); - - // Execute Application E2E tests for a production build without dev server - const { server, port, url } = await externalServer(outputPath, `/${lang}/`); - try { - await ng( - 'e2e', - `--port=${port}`, - `--configuration=${lang}`, - '--dev-server-target=', - `--base-url=${url}`, - ); - } finally { - server.close(); - } } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts index 166ca401b6b3..00d1dfcaa72c 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-hashes.ts @@ -23,11 +23,11 @@ export default async function () { for (const { lang, outputPath } of langTranslations) { for (const entry of fs.readdirSync(outputPath)) { const match = entry.match(OUTPUT_RE); - if (!match) { + if (!match?.groups) { continue; } - hashes.set(`${lang}/${match!.groups!.name}`, match!.groups!.hash); + hashes.set(`${lang}/${match.groups.name}`, match.groups.hash); } } @@ -44,16 +44,16 @@ export default async function () { for (const { lang, outputPath } of langTranslations) { for (const entry of fs.readdirSync(outputPath)) { const match = entry.match(OUTPUT_RE); - if (!match) { + if (!match?.groups) { continue; } - const id = `${lang}/${match!.groups!.name}`; + const id = `${lang}/${match.groups.name}`; const hash = hashes.get(id); if (!hash) { throw new Error('Unexpected output entry: ' + id); } - if (hash === match!.groups!.hash) { + if (hash === match.groups!.hash) { throw new Error('Hash value did not change for entry: ' + id); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts index db45baf074b4..8c27229fc4cf 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts @@ -7,7 +7,7 @@ import { } from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; -import { externalServer, langTranslations, setupI18nConfig } from './setup'; +import { langTranslations, setupI18nConfig } from './setup'; export default async function () { // Setup i18n tests and config. @@ -41,19 +41,5 @@ export default async function () { // Execute Application E2E tests with dev server await ng('e2e', `--configuration=${lang}`, '--port=0'); - - // Execute Application E2E tests for a production build without dev server - const { server, port, url } = await externalServer(outputPath, `/${lang}/`); - try { - await ng( - 'e2e', - `--port=${port}`, - `--configuration=${lang}`, - '--dev-server-target=', - `--base-url=${url}`, - ); - } finally { - server.close(); - } } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts index 7c2b4ee2055c..e599ae0ce3dc 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data.ts @@ -51,7 +51,6 @@ export default async function () { // Update angular.json await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; - // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; i18n.sourceLocale = 'en-x-abc'; diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts index a336f76c422b..2c5d5b5a287f 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-merging.ts @@ -18,7 +18,6 @@ export default async function () { // Update angular.json await updateJsonFile('angular.json', (workspaceJson) => { const appProject = workspaceJson.projects['test-project']; - // tslint:disable-next-line: no-any const i18n: Record = appProject.i18n; i18n.locales['fr'] = [i18n.locales['fr'], i18n.locales['fr']]; diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts deleted file mode 100644 index c95fd000059c..000000000000 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-serviceworker.ts +++ /dev/null @@ -1,188 +0,0 @@ -import express from 'express'; -import { resolve } from 'path'; -import { getGlobalVariable } from '../../utils/env'; -import { - copyFile, - expectFileToExist, - expectFileToMatch, - replaceInFile, - writeFile, -} from '../../utils/fs'; -import { findFreePort } from '../../utils/network'; -import { installPackage } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; -import { readNgVersion } from '../../utils/version'; -import { externalServer } from './setup'; - -export default async function () { - // TEMP: disable pending i18n updates - // TODO: when re-enabling, use setupI18nConfig and helpers like other i18n tests. - return; - - let localizeVersion = '@angular/localize@' + readNgVersion(); - if (getGlobalVariable('argv')['ng-snapshots']) { - localizeVersion = require('../../ng-snapshot/package.json').dependencies['@angular/localize']; - } - await installPackage(localizeVersion); - - let serviceWorkerVersion = '@angular/service-worker@' + readNgVersion(); - if (getGlobalVariable('argv')['ng-snapshots']) { - serviceWorkerVersion = require('../../ng-snapshot/package.json').dependencies[ - '@angular/service-worker' - ]; - } - await installPackage(serviceWorkerVersion); - - await updateJsonFile('tsconfig.json', (config) => { - config.compilerOptions.target = 'es2015'; - if (!config.angularCompilerOptions) { - config.angularCompilerOptions = {}; - } - config.angularCompilerOptions.disableTypeScriptVersionCheck = true; - }); - - const baseDir = 'dist/test-project'; - - // Set configurations for each locale. - const langTranslations = [ - { lang: 'en-US', translation: 'Hello i18n!' }, - { lang: 'fr', translation: 'Bonjour i18n!' }, - ]; - - await updateJsonFile('angular.json', (workspaceJson) => { - const appProject = workspaceJson.projects['test-project']; - const appArchitect = appProject.architect || appProject.targets; - const serveConfigs = appArchitect['serve'].configurations; - const e2eConfigs = appArchitect['e2e'].configurations; - - // Make default builds prod. - appArchitect['build'].options.optimization = true; - appArchitect['build'].options.buildOptimizer = true; - appArchitect['build'].options.aot = true; - appArchitect['build'].options.fileReplacements = [ - { - replace: 'src/environments/environment.ts', - with: 'src/environments/environment.prod.ts', - }, - ]; - - // Enable service worker - appArchitect['build'].options.serviceWorker = true; - - // Enable localization for all locales - // appArchitect['build'].options.localize = true; - - // Add locale definitions to the project - // tslint:disable-next-line: no-any - const i18n: Record = (appProject.i18n = { locales: {} }); - for (const { lang } of langTranslations) { - if (lang == 'en-US') { - i18n.sourceLocale = lang; - } else { - i18n.locales[lang] = `src/locale/messages.${lang}.xlf`; - } - serveConfigs[lang] = { browserTarget: `test-project:build:${lang}` }; - e2eConfigs[lang] = { - specs: [`./src/app.${lang}.e2e-spec.ts`], - devServerTarget: `test-project:serve:${lang}`, - }; - } - }); - - // Add service worker source configuration - const manifest = { - index: '/index.html', - assetGroups: [ - { - name: 'app', - installMode: 'prefetch', - resources: { - files: ['/favicon.ico', '/index.html', '/manifest.webmanifest', '/*.css', '/*.js'], - }, - }, - { - name: 'assets', - installMode: 'lazy', - updateMode: 'prefetch', - resources: { - files: ['/assets/**', '/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)'], - }, - }, - ], - }; - await writeFile('ngsw-config.json', JSON.stringify(manifest)); - - // Add a translatable element. - await writeFile( - 'src/app/app.component.html', - '

Hello i18n!

', - ); - - // Extract the translation messages and copy them for each language. - await ng('extract-i18n', '--output-path=src/locale'); - await expectFileToExist('src/locale/messages.xlf'); - await expectFileToMatch('src/locale/messages.xlf', `source-language="en-US"`); - await expectFileToMatch('src/locale/messages.xlf', `An introduction header for this sample`); - - for (const { lang, translation } of langTranslations) { - if (lang != 'en-US') { - await copyFile('src/locale/messages.xlf', `src/locale/messages.${lang}.xlf`); - await replaceInFile( - `src/locale/messages.${lang}.xlf`, - 'source-language="en-US"', - `source-language="en-US" target-language="${lang}"`, - ); - await replaceInFile( - `src/locale/messages.${lang}.xlf`, - 'Hello i18n!', - `Hello i18n!\n${translation}`, - ); - } - } - - // Build each locale and verify the output. - await ng('build', '--i18n-missing-translation', 'error'); - for (const { lang, translation } of langTranslations) { - await expectFileToMatch(`${baseDir}/${lang}/main-es5.js`, translation); - await expectFileToMatch(`${baseDir}/${lang}/main-es2015.js`, translation); - await expectToFail(() => expectFileToMatch(`${baseDir}/${lang}/main-es5.js`, '$localize`')); - await expectToFail(() => expectFileToMatch(`${baseDir}/${lang}/main-es2015.js`, '$localize`')); - await expectFileToMatch(`${baseDir}/${lang}/main-es5.js`, lang); - await expectFileToMatch(`${baseDir}/${lang}/main-es2015.js`, lang); - - // Expect service worker configuration to be present - await expectFileToExist(`${baseDir}/${lang}/ngsw.json`); - - // Ivy i18n doesn't yet work with `ng serve` so we must use a separate server. - const { server, port } = await externalServer(resolve(baseDir, lang)); - try { - // Add E2E test for locale - await writeFile( - 'e2e/src/app.e2e-spec.ts', - ` - import { browser, logging, element, by } from 'protractor'; - describe('workspace-project App', () => { - it('should display welcome message', () => { - browser.get(browser.baseUrl); - expect(element(by.css('h1')).getText()).toEqual('${translation}'); - }); - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain(jasmine.objectContaining({ - level: logging.Level.SEVERE, - } as logging.Entry)); - }); - }); - `, - ); - - // Execute without a devserver. - await ng('e2e', '--dev-server-target=', `--port=${port}`); - } finally { - server.close(); - } - } -} diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts new file mode 100644 index 000000000000..6788743d356f --- /dev/null +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts @@ -0,0 +1,22 @@ +import { readFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { langTranslations, setupI18nConfig } from './setup'; + +export default async function () { + // Setup i18n tests and config. + await setupI18nConfig(); + + const { stderr } = await ng('build', '--source-map'); + + for (const { outputPath } of langTranslations) { + // Ensure sourcemap for modified file contains content + const mainSourceMap = JSON.parse(await readFile(`${outputPath}/main.js.map`)); + if ( + mainSourceMap.version !== 3 || + !Array.isArray(mainSourceMap.sources) || + typeof mainSourceMap.mappings !== 'string' + ) { + throw new Error('invalid localized sourcemap for main.js'); + } + } +} diff --git a/tests/legacy-cli/e2e/tests/i18n/setup.ts b/tests/legacy-cli/e2e/tests/i18n/setup.ts index 816f3bd8f2ad..a9fa0a11aa4c 100644 --- a/tests/legacy-cli/e2e/tests/i18n/setup.ts +++ b/tests/legacy-cli/e2e/tests/i18n/setup.ts @@ -9,7 +9,6 @@ import { replaceInFile, writeFile, } from '../../utils/fs'; -import { findFreePort } from '../../utils/network'; import { installPackage } from '../../utils/packages'; import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; @@ -129,6 +128,12 @@ export const formats = { }, }; +export const baseHrefs: { [l: string]: string } = { + 'en-US': '/en/', + fr: '/fr-FR/', + de: '', +}; + export async function setupI18nConfig(format: keyof typeof formats = 'xlf') { // Add component with i18n content, both translations and localeData (plural, dates). await writeFile( diff --git a/tests/legacy-cli/e2e/tests/misc/npm-audit.ts b/tests/legacy-cli/e2e/tests/misc/npm-audit.ts deleted file mode 100644 index 6a8233126e89..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/npm-audit.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { npm } from '../../utils/process'; - -export default async function () { - try { - await npm('audit'); - } catch {} -} diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 1159f4b28a87..580d6d65dcd5 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -19,8 +19,6 @@ Error.stackTraceLimit = Infinity; * Here's a short description of those flags: * --debug If a test fails, block the thread so the temporary directory isn't deleted. * --noproject Skip creating a project or using one. - * --nobuild Skip building the packages. Use with --noglobal and --reuse to quickly - * rerun tests. * --noglobal Skip linking your local @angular/cli directory. Can save a few seconds. * --nosilent Never silence ng commands. * --ng-tag=TAG Use a specific tag for build snapshots. Similar to ng-snapshots but point to a @@ -34,7 +32,6 @@ Error.stackTraceLimit = Infinity; * --nb-shards Total number of shards that this is part of. Default is 2 if --shard is * passed in. * --shard Index of this processes' shard. - * --devkit=path Path to the devkit to use. The devkit will be built prior to running. * --tmpdir=path Override temporary directory to use for new projects. * If unnamed flags are passed in, the list of tests will be filtered to include only those passed. */ From 6d7ecb81e6d686e15dc0c316fa71dde18296c0a7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Jun 2022 13:48:35 +0000 Subject: [PATCH 0550/1388] test: remove legacy project structure handling This is no longer needed as this is legacy --- tests/legacy-cli/e2e/utils/network.ts | 2 +- tests/legacy-cli/e2e/utils/project.ts | 82 +++++---------------------- 2 files changed, 14 insertions(+), 70 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/network.ts b/tests/legacy-cli/e2e/utils/network.ts index e7cff34eec9c..6528da8bbfff 100644 --- a/tests/legacy-cli/e2e/utils/network.ts +++ b/tests/legacy-cli/e2e/utils/network.ts @@ -1,6 +1,6 @@ import { AddressInfo, createServer } from 'net'; -export function findFreePort() { +export function findFreePort(): Promise { return new Promise((resolve, reject) => { const srv = createServer(); srv.once('listening', () => { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 3f750464dd3e..d3c8bb138120 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -73,11 +73,8 @@ export async function prepareProjectForE2e(name: string) { await useCIChrome('e2e'); await useCIChrome(''); - - // legacy projects - await useCIChrome('src'); - await useCIDefaults(name); + // Force sourcemaps to be from the root of the filesystem. await updateJsonFile('tsconfig.json', (json) => { json['compilerOptions']['sourceRoot'] = '/'; @@ -85,25 +82,19 @@ export async function prepareProjectForE2e(name: string) { await gitCommit('prepare-project-for-e2e'); } -export function useBuiltPackages() { - return Promise.resolve().then(() => - updateJsonFile('package.json', (json) => { - if (!json['dependencies']) { - json['dependencies'] = {}; - } - if (!json['devDependencies']) { - json['devDependencies'] = {}; - } - - for (const packageName of Object.keys(packages)) { - if (json['dependencies'].hasOwnProperty(packageName)) { - json['dependencies'][packageName] = packages[packageName].tar; - } else if (json['devDependencies'].hasOwnProperty(packageName)) { - json['devDependencies'][packageName] = packages[packageName].tar; - } +export function useBuiltPackages(): Promise { + return updateJsonFile('package.json', (json) => { + json['dependencies'] ??= {}; + json['devDependencies'] ??= {}; + + for (const packageName of Object.keys(packages)) { + if (packageName in json['dependencies']) { + json['dependencies'][packageName] = packages[packageName].tar; + } else if (packageName in json['devDependencies']) { + json['devDependencies'][packageName] = packages[packageName].tar; } - }), - ); + } + }); } export function useSha() { @@ -155,46 +146,6 @@ export function useSha() { } } -export function useNgVersion(version: string) { - return updateJsonFile('package.json', (json) => { - // Install over the project with specific versions. - Object.keys(json['dependencies'] || {}) - .filter((name) => name.match(/^@angular\//)) - .forEach((name) => { - const pkgName = name.split(/\//)[1]; - if (pkgName == 'cli') { - return; - } - json['dependencies'][`@angular/${pkgName}`] = version; - }); - - Object.keys(json['devDependencies'] || {}) - .filter((name) => name.match(/^@angular\//)) - .forEach((name) => { - const pkgName = name.split(/\//)[1]; - if (pkgName == 'cli') { - return; - } - json['devDependencies'][`@angular/${pkgName}`] = version; - }); - // Set the correct peer dependencies for @angular/core and @angular/compiler-cli. - // This list should be kept up to date with each major release. - if (version.startsWith('^5')) { - json['devDependencies']['typescript'] = '>=2.4.2 <2.5'; - json['dependencies']['rxjs'] = '^5.5.0'; - json['dependencies']['zone.js'] = '~0.8.4'; - } else if (version.startsWith('^6')) { - json['devDependencies']['typescript'] = '>=2.7.2 <2.8'; - json['dependencies']['rxjs'] = '^6.0.0'; - json['dependencies']['zone.js'] = '~0.8.26'; - } else if (version.startsWith('^7')) { - json['devDependencies']['typescript'] = '>=3.1.1 <3.2'; - json['dependencies']['rxjs'] = '^6.0.0'; - json['dependencies']['zone.js'] = '~0.8.26'; - } - }); -} - export function useCIDefaults(projectName = 'test-project') { return updateJsonFile('angular.json', (workspaceJson) => { // Disable progress reporting on CI to reduce spam. @@ -206,13 +157,6 @@ export function useCIDefaults(projectName = 'test-project') { if (appTargets.e2e) { appTargets.e2e.options.webdriverUpdate = false; } - - // legacy project structure - const e2eProject = workspaceJson.projects[projectName + '-e2e']; - if (e2eProject) { - const e2eTargets = e2eProject.targets || e2eProject.architect; - e2eTargets.e2e.options.webdriverUpdate = false; - } }); } From e8470ed391bb1349bfb41e994c2047a5d044832d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Jun 2022 13:53:21 +0000 Subject: [PATCH 0551/1388] test: renove npm/node version from step 300 These will be displayed in `ng version`. --- tests/legacy-cli/e2e/initialize/300-log-environment.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/initialize/300-log-environment.ts b/tests/legacy-cli/e2e/initialize/300-log-environment.ts index 7428a763b9e9..a6c268e094bd 100644 --- a/tests/legacy-cli/e2e/initialize/300-log-environment.ts +++ b/tests/legacy-cli/e2e/initialize/300-log-environment.ts @@ -1,4 +1,4 @@ -import { ng, node, npm } from '../utils/process'; +import { ng } from '../utils/process'; export default async function () { console.log('Environment:'); @@ -13,7 +13,5 @@ export default async function () { console.log(` ${envName}: ${process.env[envName]!.replace(/[\n\r]+/g, '\n ')}`); }); - await node('--version'); - await npm('--version'); await ng('version'); } From d1e3d98b81303dd3ea6223dbad0d2c01ffa39ecc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Jun 2022 15:25:37 +0000 Subject: [PATCH 0552/1388] build: remove `env` logging in `exec` method This adds a lot of noise and very rare proved to be useful. Envs are also printed as part of step 300. --- tests/legacy-cli/e2e/utils/git.ts | 12 ------------ tests/legacy-cli/e2e/utils/process.ts | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/git.ts b/tests/legacy-cli/e2e/utils/git.ts index c2f528e8a3ae..39bb47ce7d52 100644 --- a/tests/legacy-cli/e2e/utils/git.ts +++ b/tests/legacy-cli/e2e/utils/git.ts @@ -1,20 +1,8 @@ import { git, silentGit } from './process'; export async function gitClean(): Promise { - console.log(' Cleaning git...'); - await silentGit('clean', '-df'); await silentGit('reset', '--hard'); - - // Checkout missing files - const { stdout } = await silentGit('status', '--porcelain'); - const files = stdout - .split(/[\n\r]+/g) - .filter((line) => line.match(/^ D/)) - .map((line) => line.replace(/^\s*\S+\s+/, '')); - - await silentGit('checkout', ...files); - await expectGitToBeClean(); } export async function expectGitToBeClean(): Promise { diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 74aa9bca75b5..bcddfd185cfe 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -49,7 +49,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise `"${x}"`).join(' ')}\`${flags}...`)); console.log(colors.blue(`CWD: ${cwd}`)); - console.log(colors.blue(`ENV: ${JSON.stringify(env)}`)); + const spawnOptions: SpawnOptions = { cwd, ...(env ? { env } : {}), From b06ae55140c01f8b5107527fd0af1da3b04a721f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 14 Jun 2022 12:03:18 -0400 Subject: [PATCH 0553/1388] feat(@angular-devkit/build-angular): add service worker support to experimental esbuild builder Service worker augmentation of an application is now supported when using the experimental `browser-esbuild` application builder. Both the `serviceWorker` and `ngswConfigPath` options are now available for use. The implementation leverages the `augmentAppWithServiceWorker` internal function that is used by the Webpack-based builder. This function currently reads the application files from the filesystem after all the application files are written. With the `browser-esbuild`builder, all application files are available in-memory. This can allow a future version of the service worker code to avoid additional file access and further improve build time performance when using a service worker. Future work will investigate the creation of an `augmentAppWithServiceWorker` variant that supports accessing these in-memory files. --- .circleci/config.yml | 2 +- .../browser-esbuild/experimental-warnings.ts | 4 ---- .../src/builders/browser-esbuild/index.ts | 20 +++++++++++++++++++ 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aed85c99ab70..2dbb2e260ea2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -221,7 +221,7 @@ jobs: name: Execute CLI E2E Tests Subset with esbuild builder command: | mkdir /mnt/ramdisk/e2e-esbuild - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" - fail_fast test-browsers: diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index ae10d094a336..4fb4e5e12115 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -24,10 +24,6 @@ const UNSUPPORTED_OPTIONS: Array = [ // 'i18nDuplicateTranslation', // 'i18nMissingTranslation', - // * Serviceworker support - 'ngswConfigPath', - 'serviceWorker', - // * Stylesheet preprocessor support 'inlineStyleLanguage', // The following option has no effect until preprocessors are supported diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index a33169741ca6..bf945de92ba8 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -17,6 +17,7 @@ import { assertIsError } from '../../utils/error'; import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; import { generateEntryPoints } from '../../utils/package-chunk-sort'; +import { augmentAppWithServiceWorker } from '../../utils/service-worker'; import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; import { resolveGlobalStyles } from '../../webpack/configs'; import { Schema as BrowserBuilderOptions, SourceMapClass } from '../browser/schema'; @@ -61,6 +62,7 @@ export async function execute( } const { + projectRoot, workspaceRoot, mainEntryPoint, polyfillsEntryPoint, @@ -249,6 +251,24 @@ export async function execute( outputFiles.map((file) => fs.writeFile(path.join(outputPath, file.path), file.contents)), ); + // Augment the application with service worker support + // TODO: This should eventually operate on the in-memory files prior to writing the output files + if (options.serviceWorker) { + try { + await augmentAppWithServiceWorker( + projectRoot, + workspaceRoot, + outputPath, + options.baseHref || '/', + options.ngswConfigPath, + ); + } catch (error) { + context.logger.error(error instanceof Error ? error.message : `${error}`); + + return { success: false }; + } + } + context.logger.info(`Complete. [${(Date.now() - startTime) / 1000} seconds]`); return { success: true }; From 7cbbf2f2ba83d27812e9b83859524937dad31fb1 Mon Sep 17 00:00:00 2001 From: Julien Marcou Date: Tue, 14 Jun 2022 23:38:00 +0200 Subject: [PATCH 0554/1388] fix(@schematics/angular): remove vscode testing configurations for `minimal` workspaces Remove the `ng test` VS Code task and `npm test` VS Code launch configuration from the workspace when building minimal workspaces. Fixes #23360 --- .../files/__dot__vscode/launch.json.template | 4 +-- .../files/__dot__vscode/tasks.json.template | 4 +-- .../angular/workspace/index_spec.ts | 26 +++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/workspace/files/__dot__vscode/launch.json.template b/packages/schematics/angular/workspace/files/__dot__vscode/launch.json.template index 740e35a0c04b..c87d18d99675 100644 --- a/packages/schematics/angular/workspace/files/__dot__vscode/launch.json.template +++ b/packages/schematics/angular/workspace/files/__dot__vscode/launch.json.template @@ -8,13 +8,13 @@ "request": "launch", "preLaunchTask": "npm: start", "url": "http://localhost:4200/" - }, + }<% if (!minimal) { %>, { "name": "ng test", "type": "chrome", "request": "launch", "preLaunchTask": "npm: test", "url": "http://localhost:9876/debug.html" - } + }<% } %> ] } diff --git a/packages/schematics/angular/workspace/files/__dot__vscode/tasks.json.template b/packages/schematics/angular/workspace/files/__dot__vscode/tasks.json.template index a298b5bd8796..f3125a95b776 100644 --- a/packages/schematics/angular/workspace/files/__dot__vscode/tasks.json.template +++ b/packages/schematics/angular/workspace/files/__dot__vscode/tasks.json.template @@ -19,7 +19,7 @@ } } } - }, + }<% if (!minimal) { %>, { "type": "npm", "script": "test", @@ -37,6 +37,6 @@ } } } - } + }<% } %> ] } diff --git a/packages/schematics/angular/workspace/index_spec.ts b/packages/schematics/angular/workspace/index_spec.ts index 202f8906b333..c84d1f174399 100644 --- a/packages/schematics/angular/workspace/index_spec.ts +++ b/packages/schematics/angular/workspace/index_spec.ts @@ -28,6 +28,9 @@ describe('Workspace Schematic', () => { const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ + '/.vscode/extensions.json', + '/.vscode/launch.json', + '/.vscode/tasks.json', '/.editorconfig', '/angular.json', '/.gitignore', @@ -66,6 +69,9 @@ describe('Workspace Schematic', () => { const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ + '/.vscode/extensions.json', + '/.vscode/launch.json', + '/.vscode/tasks.json', '/angular.json', '/.gitignore', '/package.json', @@ -106,4 +112,24 @@ describe('Workspace Schematic', () => { expect(compilerOptions.strict).toBe(true); expect(angularCompilerOptions.strictTemplates).toBe(true); }); + + it('should add vscode testing configuration', async () => { + const tree = await schematicRunner + .runSchematicAsync('workspace', { ...defaultOptions }) + .toPromise(); + const { configurations } = parseJson(tree.readContent('.vscode/launch.json').toString()); + expect(configurations).toContain(jasmine.objectContaining({ name: 'ng test' })); + const { tasks } = parseJson(tree.readContent('.vscode/tasks.json').toString()); + expect(tasks).toContain(jasmine.objectContaining({ type: 'npm', script: 'test' })); + }); + + it('should not add vscode testing configuration when using minimal', async () => { + const tree = await schematicRunner + .runSchematicAsync('workspace', { ...defaultOptions, minimal: true }) + .toPromise(); + const { configurations } = parseJson(tree.readContent('.vscode/launch.json').toString()); + expect(configurations).not.toContain(jasmine.objectContaining({ name: 'ng test' })); + const { tasks } = parseJson(tree.readContent('.vscode/tasks.json').toString()); + expect(tasks).not.toContain(jasmine.objectContaining({ type: 'npm', script: 'test' })); + }); }); From 01931d6f43f37ec0c48f3ba636a09918d04b0d7e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 15 Jun 2022 08:02:58 +0000 Subject: [PATCH 0555/1388] docs: release notes for the v13.3.8 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2735d793c44d..0e53faf50021 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.3.8 (2022-06-15) + +### @angular/pwa + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------- | +| [c7f994f88](https://github.com/angular/angular-cli/commit/c7f994f88a396be96c01da1017a15083d5f544fb) | fix | add peer dependency on Angular CLI | + +## Special Thanks + +Alan Agius + + + # 14.1.0-next.0 (2022-06-08) From 01e71dd9c83fbd603341261756ff0cc52310390e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 15 Jun 2022 06:25:08 +0000 Subject: [PATCH 0556/1388] build: update angular to a98d0ec --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 17 ++++++---- 6 files changed, 32 insertions(+), 27 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index bd6ace035b44..855248ff1769 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2207080d84b0c0d87d39e1683939004f5147faf9 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@2207080d84b0c0d87d39e1683939004f5147faf9 + - uses: angular/dev-infra/github-actions/post-approval-changes@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index c5e72cdf4a70..2c1273a8fce4 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@2207080d84b0c0d87d39e1683939004f5147faf9 + - uses: angular/dev-infra/github-actions/feature-request@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 60dae6d1efda..7c91ec425621 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@2207080d84b0c0d87d39e1683939004f5147faf9 + - uses: angular/dev-infra/github-actions/lock-closed@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index e56499347900..1bf11ffb9da7 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@angular/compiler": "14.0.1", "@angular/compiler-cli": "14.0.1", "@angular/core": "14.0.1", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2026ed3ca13661bf30bf19aebdc6b2a5244b561e", "@angular/forms": "14.0.1", "@angular/localize": "14.0.1", "@angular/material": "14.0.1", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 196847e77688..9be64193355b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b730f3bc0db9c9860a0627f1c9a49a9a1885de42", - "@angular/cdk": "github:angular/cdk-builds#343a4f59581b0fbb73147ee2522c2673b71f56b2", - "@angular/common": "github:angular/common-builds#122220391af0181c295a297973da7f25d62bd1b0", - "@angular/compiler": "github:angular/compiler-builds#35164d945c94eda10ad72a28692c693b203262f2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f1c442d92319191d5d65aa2244242ece08ddfc9b", - "@angular/core": "github:angular/core-builds#6774c8b64d2eab775e52e5b8e64fcd4310bdb2ec", - "@angular/forms": "github:angular/forms-builds#6cfc5e27f2509dd1c0e11f9a7ca983bc9d2bf0b1", - "@angular/language-service": "github:angular/language-service-builds#e7c84c1009bb8bccff562c27f2eec6f9b2bc34aa", - "@angular/localize": "github:angular/localize-builds#c19c4d9b09ba09e75455936348b8cdeec56cc3de", - "@angular/material": "github:angular/material-builds#e66f6459502b615c20316b22641d66257f77bf8b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2bf0d0f2001b875589086ef4f3f24faeebcbb672", - "@angular/platform-browser": "github:angular/platform-browser-builds#8060db7e63e6793f0f0c589a3170b96e057d08fd", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c9c83389f1b52ee96e10c87e26e0b582c40434a0", - "@angular/platform-server": "github:angular/platform-server-builds#c6cd79830ce1dade3ac375e86b5c98d76547ba89", - "@angular/router": "github:angular/router-builds#f8c33cbe256216855c5c0d8f020b4c84e93abd1a", - "@angular/service-worker": "github:angular/service-worker-builds#5af560fa13bbd7a911436994a93bb0add2122e33" + "@angular/animations": "github:angular/animations-builds#a98d0eccedec96bdb1a5587947541740b3e01f77", + "@angular/cdk": "github:angular/cdk-builds#5467916c664cf24c4bc8c4cd044353d18445a11b", + "@angular/common": "github:angular/common-builds#d4017ffcb2bf694094e31e5786316e6b9b686998", + "@angular/compiler": "github:angular/compiler-builds#75aabed590d62973ad85145ac57c0988adc6aeb3", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#316fc13b245164205dbca0e701ae009f9115d5a4", + "@angular/core": "github:angular/core-builds#f7c5f44c6ecdd4882c43350cdc61bded14d7b0da", + "@angular/forms": "github:angular/forms-builds#e57e9a05fabc1abeb880ba9d72f5ce2aa19c6d42", + "@angular/language-service": "github:angular/language-service-builds#9861a493afc091652990c739715d0d27b1d255ee", + "@angular/localize": "github:angular/localize-builds#08b5d6c85c348a23c0d8338dce182e0d4552bd89", + "@angular/material": "github:angular/material-builds#8c43362c973dc9bcf18ac1cf1f0b3c268b722053", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#80d92ea2d59165cd0b62bcc1c6f5a73b57538212", + "@angular/platform-browser": "github:angular/platform-browser-builds#e593bf5a8d2de6fe539b19752b6e424cb085461b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6bcbfcbe4d12b6366e4800ce09d540d9c8448be2", + "@angular/platform-server": "github:angular/platform-server-builds#2dcaa1c6e1b8ae953e8f4c2335e132df24464927", + "@angular/router": "github:angular/router-builds#00c83c8a5cc4fdfdbdd6ef7d5330d1424273c773", + "@angular/service-worker": "github:angular/service-worker-builds#3ee305acba145c38a628cb4f38ff62c56258ea81" } } diff --git a/yarn.lock b/yarn.lock index 064cd45012dd..29e7c722448f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -168,10 +168,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba": - version "0.0.0-2207080d84b0c0d87d39e1683939004f5147faf9" - uid "7848e7d088fbe777681d3631994ab49750cb72ba" - resolved "https://github.com/angular/dev-infra-private-builds.git#7848e7d088fbe777681d3631994ab49750cb72ba" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2026ed3ca13661bf30bf19aebdc6b2a5244b561e": + version "0.0.0-b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003" + uid "2026ed3ca13661bf30bf19aebdc6b2a5244b561e" + resolved "https://github.com/angular/dev-infra-private-builds.git#2026ed3ca13661bf30bf19aebdc6b2a5244b561e" dependencies: "@angular-devkit/build-angular" "14.1.0-next.0" "@angular/benchpress" "0.3.0" @@ -196,7 +196,7 @@ chalk "^4.1.0" clang-format "1.8.0" node-fetch "^2.6.1" - prettier "2.6.2" + prettier "2.7.0" protractor "^7.0.0" selenium-webdriver "4.2.0" send "^0.18.0" @@ -8515,7 +8515,12 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.6.2, prettier@^2.0.0: +prettier@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.0.tgz#a4fdae07e5596c51c9857ea676cd41a0163879d6" + integrity sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ== + +prettier@^2.0.0: version "2.6.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== From d0ca9263b580cdc1ebb3c7678d014478e0e25940 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 15 Jun 2022 10:34:28 +0000 Subject: [PATCH 0557/1388] docs: release notes for the v14.0.2 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e53faf50021..38c496302147 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 14.0.2 (2022-06-15) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | +| [23095e9c3](https://github.com/angular/angular-cli/commit/23095e9c3fc514c7e9a892833d8a18270da5bd95) | fix | show more actionable error when command is ran in wrong scope | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | +| [5a486cb64](https://github.com/angular/angular-cli/commit/5a486cb64253ba2829160a6f1fa3bf0e381d45ea) | fix | remove vscode testing configurations for `minimal` workspaces | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------- | +| [9d88c96d8](https://github.com/angular/angular-cli/commit/9d88c96d898c5c46575a910a7230d239f4fe7a77) | fix | replace fallback locale for `en-US` | + +## Special Thanks + +Alan Agius and Julien Marcou + + + # 13.3.8 (2022-06-15) From 8a062b5633d9d1f7a7b11a45ab371eb8e96f87aa Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 15 Jun 2022 11:05:37 +0000 Subject: [PATCH 0558/1388] release: cut the v14.1.0-next.1 release --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38c496302147..42cef9b72346 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,32 @@ + + +# 14.1.0-next.1 (2022-06-15) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | +| [82ec1af4e](https://github.com/angular/angular-cli/commit/82ec1af4e1e34fe5b18db328b4bce6405a03c7b8) | fix | show more actionable error when command is ran in wrong scope | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | +| [7cbbf2f2b](https://github.com/angular/angular-cli/commit/7cbbf2f2ba83d27812e9b83859524937dad31fb1) | fix | remove vscode testing configurations for `minimal` workspaces | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [b06ae5514](https://github.com/angular/angular-cli/commit/b06ae55140c01f8b5107527fd0af1da3b04a721f) | feat | add service worker support to experimental esbuild builder | +| [1f66edebc](https://github.com/angular/angular-cli/commit/1f66edebcc968ed01acd06506226f5cd60c71afe) | fix | replace fallback locale for `en-US` | + +## Special Thanks + +Alan Agius, Charles Lyding, Jason Bedard and Julien Marcou + + + # 14.0.2 (2022-06-15) diff --git a/package.json b/package.json index 1bf11ffb9da7..53a212abae9a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.1.0-next.0", + "version": "14.1.0-next.1", "private": true, "description": "Software Development Kit for Angular", "bin": { From 4f31b57df36da5230dd247791d0875d60b929035 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 16 Jun 2022 07:25:54 +0000 Subject: [PATCH 0559/1388] fix(@angular/cli): disable version check when running `ng completion` commands Running autocompletion with `14.0.1` installed globally in a `14.0.0` project logs the version warning in a very annoying fashion: ``` $ ng verYour global Angular CLI version (14.0.1) is greater than your local version (14.0.0). The local Angular CLI version is used. To disable this warning use "ng config -g cli.warnings.versionMismatch false". sion ``` This adds an exception for `ng completion` commands to avoid this edge case. --- packages/angular/cli/lib/init.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index f0620e7a14f8..e4ee414f05e9 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -78,11 +78,13 @@ let forceExit = false; console.error('Version mismatch check skipped. Unable to compare local version: ' + error); } - if (isGlobalGreater) { + const rawCommandName = process.argv[2]; + // When using the completion command, don't show the warning as otherwise this will break completion. + if (isGlobalGreater && rawCommandName !== 'completion') { // If using the update command and the global version is greater, use the newer update command // This allows improvements in update to be used in older versions that do not have bootstrapping if ( - process.argv[2] === 'update' && + rawCommandName === 'update' && cli.VERSION && cli.VERSION.major - globalVersion.major <= 1 ) { From 268ccd5c5f06720d3ada4a1854030e69b63aa1da Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 15 Jun 2022 23:27:11 +0000 Subject: [PATCH 0560/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 26 +-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +-- yarn.lock | 209 ++++++++---------- 7 files changed, 128 insertions(+), 151 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 855248ff1769..9d944b846e01 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@684962a29f0beba95e0b1ecfd360760e7f011041 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 + - uses: angular/dev-infra/github-actions/post-approval-changes@684962a29f0beba95e0b1ecfd360760e7f011041 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 2c1273a8fce4..c600b87af507 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 + - uses: angular/dev-infra/github-actions/feature-request@684962a29f0beba95e0b1ecfd360760e7f011041 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 7c91ec425621..392d43a37ac9 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003 + - uses: angular/dev-infra/github-actions/lock-closed@684962a29f0beba95e0b1ecfd360760e7f011041 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 53a212abae9a..1e3cb5eea8d1 100644 --- a/package.json +++ b/package.json @@ -63,21 +63,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.1", + "@angular/animations": "14.0.2", "@angular/cdk": "14.0.1", - "@angular/common": "14.0.1", - "@angular/compiler": "14.0.1", - "@angular/compiler-cli": "14.0.1", - "@angular/core": "14.0.1", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#2026ed3ca13661bf30bf19aebdc6b2a5244b561e", - "@angular/forms": "14.0.1", - "@angular/localize": "14.0.1", + "@angular/common": "14.0.2", + "@angular/compiler": "14.0.2", + "@angular/compiler-cli": "14.0.2", + "@angular/core": "14.0.2", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#c13dbe7aac0b5230b65c4de7dc08650332b4750a", + "@angular/forms": "14.0.2", + "@angular/localize": "14.0.2", "@angular/material": "14.0.1", - "@angular/platform-browser": "14.0.1", - "@angular/platform-browser-dynamic": "14.0.1", - "@angular/platform-server": "14.0.1", - "@angular/router": "14.0.1", - "@angular/service-worker": "14.0.1", + "@angular/platform-browser": "14.0.2", + "@angular/platform-browser-dynamic": "14.0.2", + "@angular/platform-server": "14.0.2", + "@angular/router": "14.0.2", + "@angular/service-worker": "14.0.2", "@babel/core": "7.18.2", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 168b6f23939f..48d784529514 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.1", - "@angular/compiler-cli": "14.0.1", + "@angular/compiler": "14.0.2", + "@angular/compiler-cli": "14.0.2", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 9be64193355b..eb369fa02d55 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#a98d0eccedec96bdb1a5587947541740b3e01f77", - "@angular/cdk": "github:angular/cdk-builds#5467916c664cf24c4bc8c4cd044353d18445a11b", - "@angular/common": "github:angular/common-builds#d4017ffcb2bf694094e31e5786316e6b9b686998", - "@angular/compiler": "github:angular/compiler-builds#75aabed590d62973ad85145ac57c0988adc6aeb3", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#316fc13b245164205dbca0e701ae009f9115d5a4", - "@angular/core": "github:angular/core-builds#f7c5f44c6ecdd4882c43350cdc61bded14d7b0da", - "@angular/forms": "github:angular/forms-builds#e57e9a05fabc1abeb880ba9d72f5ce2aa19c6d42", - "@angular/language-service": "github:angular/language-service-builds#9861a493afc091652990c739715d0d27b1d255ee", - "@angular/localize": "github:angular/localize-builds#08b5d6c85c348a23c0d8338dce182e0d4552bd89", - "@angular/material": "github:angular/material-builds#8c43362c973dc9bcf18ac1cf1f0b3c268b722053", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#80d92ea2d59165cd0b62bcc1c6f5a73b57538212", - "@angular/platform-browser": "github:angular/platform-browser-builds#e593bf5a8d2de6fe539b19752b6e424cb085461b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6bcbfcbe4d12b6366e4800ce09d540d9c8448be2", - "@angular/platform-server": "github:angular/platform-server-builds#2dcaa1c6e1b8ae953e8f4c2335e132df24464927", - "@angular/router": "github:angular/router-builds#00c83c8a5cc4fdfdbdd6ef7d5330d1424273c773", - "@angular/service-worker": "github:angular/service-worker-builds#3ee305acba145c38a628cb4f38ff62c56258ea81" + "@angular/animations": "github:angular/animations-builds#65ade0eb901a6e01edc0ecc4c25bba000846cad6", + "@angular/cdk": "github:angular/cdk-builds#7eabf3b9aeb663f64c3ee84dbfeee07d3ffb1979", + "@angular/common": "github:angular/common-builds#a77720b1171b13c7f4d2a9da6bae694cd5608832", + "@angular/compiler": "github:angular/compiler-builds#90effdc305a03099d8a609fa1d4968ebaaab46ff", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a5be927233619add907a09e0c3d0066f68dbdeb0", + "@angular/core": "github:angular/core-builds#75d63bda3f0a84b76e17743d656d4be021b362aa", + "@angular/forms": "github:angular/forms-builds#88cd617ef575c4c3f82899415dda52fbabbceb66", + "@angular/language-service": "github:angular/language-service-builds#4b882479b56eae8673fae8d49d799eb1f2d89b35", + "@angular/localize": "github:angular/localize-builds#007c94b9770329b8453f1b87760c1403c423a7d4", + "@angular/material": "github:angular/material-builds#70d2b455eddd6e40551cd20739e2dedf0d12c360", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#18436ddc016045ab0fe33cb41991156c10b3e82b", + "@angular/platform-browser": "github:angular/platform-browser-builds#d02a68d18b6a1f8b843650a82d701673b4e7a1c5", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#1dbffc1630b32bd218ea38c439fa3ca5f49ea42d", + "@angular/platform-server": "github:angular/platform-server-builds#9d0000339389a33a20520a19c97c27b6e7f6e5eb", + "@angular/router": "github:angular/router-builds#19e8f6bcc9f35fb812f81ec302d385f6030c5b6d", + "@angular/service-worker": "github:angular/service-worker-builds#68d7490998802ca5d57a0786f1119c79c30ff565" } } diff --git a/yarn.lock b/yarn.lock index 29e7c722448f..642c4e66e162 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1401.0-next.0": - version "0.1401.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.0.tgz#daee21cd67f032b530ec3215afb5a174c510ba3b" - integrity sha512-PD1J3GY1e/q2DwFXsPjtQTAwMZEXC698Xc8JgDYwhVoMT/9Z3uYqrd5joseNRNfM5i7tdK0Z5oVuCHSEW8LiBA== +"@angular-devkit/architect@0.1401.0-next.1": + version "0.1401.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.1.tgz#a0c74f1fe57d680ac0b3341ae3780acfe7c3c9a9" + integrity sha512-O96m5TZ5P4mH3L6k22oYQesJoaGGrxXE0VcnpnNDYWSDxHD60150tYAu3JQb+Vgs5+Tls735XActXfOv9nxNjw== dependencies: - "@angular-devkit/core" "14.1.0-next.0" + "@angular-devkit/core" "14.1.0-next.1" rxjs "6.6.7" -"@angular-devkit/build-angular@14.1.0-next.0": - version "14.1.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.0.tgz#b2bdd530adb6c6b43ad02842300c8160de3e53b4" - integrity sha512-x9ZpRIOWEyYOfio6tVBSbr3ydrFJztLtTMLhoLoCwWy8lcGzEP/PJPYn6tXur/g/KJ2+iQXyvUPBBFQZubQZ7w== +"@angular-devkit/build-angular@14.1.0-next.1": + version "14.1.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.1.tgz#94a40250092c554f9fce7475bf43d328c8a4ae14" + integrity sha512-T9lNIR0E1w+VnKeiFJOa34Ru72RCH8Qe113hzzLw8AFz798fP/jv55ujA7GOHCluph4PeqJC9Ed3JSNqRpoAJw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1401.0-next.0" - "@angular-devkit/build-webpack" "0.1401.0-next.0" - "@angular-devkit/core" "14.1.0-next.0" + "@angular-devkit/architect" "0.1401.0-next.1" + "@angular-devkit/build-webpack" "0.1401.0-next.1" + "@angular-devkit/core" "14.1.0-next.1" "@babel/core" "7.18.2" "@babel/generator" "7.18.2" "@babel/helper-annotate-as-pure" "7.16.7" @@ -37,7 +37,7 @@ "@babel/runtime" "7.18.3" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.1.0-next.0" + "@ngtools/webpack" "14.1.0-next.1" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -72,7 +72,7 @@ sass "1.52.2" sass-loader "13.0.0" semver "7.3.7" - source-map-loader "3.0.1" + source-map-loader "4.0.0" source-map-support "0.5.21" stylus "0.58.1" stylus-loader "7.0.0" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.42" -"@angular-devkit/build-webpack@0.1401.0-next.0": - version "0.1401.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.0.tgz#fbd87f690744ab260ec5917cd3c88973051cc4f4" - integrity sha512-rI05bTXEuUP/MfXZZI7nZJHoIq/a7AQn8n6cqtSIMdQWH5kSEm7aCGVQNJQUcf+WA7vhWp8bIQGDXZbTjXg3fQ== +"@angular-devkit/build-webpack@0.1401.0-next.1": + version "0.1401.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.1.tgz#34922425c9ad5d4707609af90c3f25877b3ab67f" + integrity sha512-8nvvPeLrAMuqiMCNzWQKUjdCVB6cQlmWFmhI+rl4X2SeYHaL8Xmy5PtYCCMJcYLUT/XE8b+VdvuPzv84W87Hng== dependencies: - "@angular-devkit/architect" "0.1401.0-next.0" + "@angular-devkit/architect" "0.1401.0-next.1" rxjs "6.6.7" -"@angular-devkit/core@14.1.0-next.0": - version "14.1.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.0.tgz#401abd47110e1c612660237d28db6b9a102e26c7" - integrity sha512-++LCYH47YkUlqrczuPxZ+M1FOVKUw1hV4uer7nYhGNseDYpOMTNCWgVDr1DFj8O3dtVso6NTchPNl5uVcLspRw== +"@angular-devkit/core@14.1.0-next.1": + version "14.1.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.1.tgz#60106955588505045fc223d3a79f644a2318b820" + integrity sha512-2g0EgD1TMRfivEzjm3SLMyVoocSdCnG7s9Xp/5oWx1R8CmgcyXavwmspmCDyOV6dsFsRJXWqdUHFV/Og6FM9Zw== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.1.tgz#56f95e5281586ed3deba918bf7d5fe8c8efccbdf" - integrity sha512-fHHZeimKweVDMGaKazgoPLEc3g+v7OgpMI7m2SzREOug2++qoA7UsJ/IEjxXY1LKiVKeb4sjyC8E0ziGmYl6+w== +"@angular/animations@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.2.tgz#12959e97cdc501c56135dd2befc4fd0215a9fd3e" + integrity sha512-F65G62clU+8tpYXkRGTeQ8nNlyUsviJp9fFTMFXZTm0EHUCiHB6PRf5vpp7edN0Hy+moG6rKt8VnKbraFqaO1g== dependencies: tslib "^2.3.0" @@ -131,17 +131,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.1.tgz#23326ed0d3750d52f186260aee175a175f463c4c" - integrity sha512-6yT95daze55H0KLag+LgQQMGV7jGy3ggcdIEEU9H+cM4rp37kz97RNGaig5p34c1f/VMg6LaDXOK4LjAebbnBw== +"@angular/common@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.2.tgz#af18c23b24ca5bae5d2624361cad8eafe5385efd" + integrity sha512-vNZpun9ymZEDJ0CWskTZZqCbuCumgYxbsZgp9nALnRAJt3fK8fRFgIZTn7smEXvbStL4PvngnvESa/t9Jd4wMg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.1.tgz#6b88318e66e4f1d3bb8a5340e6b3a3722bcff52d" - integrity sha512-cDldWH5Xu+nscUw1B71Lt+//TylRqSP8lDRCXxdX0TJeAtxhWTn8TLDy+Cc+YRiccwtuVXQuyCrdeWCR5hJt+Q== +"@angular/compiler-cli@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.2.tgz#2dbf6fb8875a0919156d7923ee6bb4c9cb2f22c3" + integrity sha512-S5vT6k0FF/rC8n1AnWaA1HMBr1/9TSxsOXNB0eSwjRATZ9SIe2oWmt9m7CmHltXYLbGIshy482H6sGs2Usu6+A== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,26 +154,33 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.1.tgz#4c6bec6f385d93ce5d6fee8b53228b2270f4f385" - integrity sha512-8A7xNm5eIjovMjDKqOj0Ba15BB/A6sWruR0Tt+vSzuUmJD6mWc1BZAPXIByJkZOrusuc5FKnoicJ0aV/U8lkAg== +"@angular/compiler@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.2.tgz#30c7c55ca1e2dca73a84f09a24df12e50c57c78f" + integrity sha512-d2YS0h51DbodTWbXRwBrF7Jn8SX3FggITlLj4kan7oDvCpNRp+pKv6NifU2EZKOBUKYc3o6FBxj1oNbnqK/7cg== dependencies: tslib "^2.3.0" -"@angular/core@14.0.1", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.2.tgz#298885081dfa6f4ce0fcb06233c62c7a32bb5caa" + integrity sha512-JR+xVuNjGYEP5mdm3iQykcRFjrhSKbN5yxKxlVdKpNtUsR2Yc9Nf180Y2+Oo6KabtywGedIBH/Xd6mhwQQv3vg== + dependencies: + tslib "^2.3.0" + +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.1" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.1.tgz#415128247b9273abfe9dd13f6c0c2583cabd9b07" integrity sha512-72/VathVpDVEIm/T87eGF9Ng9JYOfrRVJCGhPwKvbIQZzCrg07acPwjDvtifkhKEKyMxLXv+F3bClr8WYP6c4Q== dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#2026ed3ca13661bf30bf19aebdc6b2a5244b561e": - version "0.0.0-b84f2b4ffa4a67e2bf44bc03d6bbe71cca027003" - uid "2026ed3ca13661bf30bf19aebdc6b2a5244b561e" - resolved "https://github.com/angular/dev-infra-private-builds.git#2026ed3ca13661bf30bf19aebdc6b2a5244b561e" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#c13dbe7aac0b5230b65c4de7dc08650332b4750a": + version "0.0.0-684962a29f0beba95e0b1ecfd360760e7f011041" + uid c13dbe7aac0b5230b65c4de7dc08650332b4750a + resolved "https://github.com/angular/dev-infra-private-builds.git#c13dbe7aac0b5230b65c4de7dc08650332b4750a" dependencies: - "@angular-devkit/build-angular" "14.1.0-next.0" + "@angular-devkit/build-angular" "14.1.0-next.1" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -207,19 +214,19 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.1.tgz#9286b25ac59de8ba8355bf200eabfaae40cf1d2d" - integrity sha512-QueehWD0ghfYw3TQS9DN62i6gnc+xLeJ6NFJ8fVfh9Ny4V9zFB24bUwBmwcIiZhkw/5G42tjcuUIDO9KlNtBbA== +"@angular/forms@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.2.tgz#f90c532865c74a6355eb7c6bcced013ba340829d" + integrity sha512-sOLes/B7YkRocZExsxi1H+OIBFbSpVB6+i8+6cQK2ZIwXQMxCZm95PL42rMqWEOJhEuVyR3U47bjA2G4eC3TKg== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.1.tgz#2f51e24c7285275898e8cd69fa985cf0ff5c7f00" - integrity sha512-AMZB3cAefNns1rcwrq7en12vAZ8Jv8plR+hwAjVvphOOfDAAKRL6j1Qzhdv5SC8W7/17HxPdHhsMqCpYsEJHmg== +"@angular/localize@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.2.tgz#3bb32713f62649c1ecd65abf7f755da299d1e449" + integrity sha512-m6fNQNnua0kYkyqtaemATcJopaNigSZTEo1m905pwtcD/GPLFl+wItbBnZqBTa3DsI1Oxwo6K0ZNcInnUYNXvQ== dependencies: - "@babel/core" "7.17.12" + "@babel/core" "7.18.2" glob "8.0.3" yargs "^17.2.1" @@ -230,40 +237,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.1.tgz#e93438e6b27bf2bb8f8dc64702ec8b366ce3b6b6" - integrity sha512-aYErZUfHnyhWrZYI/Aq9aXE2pJWXiqtSfs41GM+L2SgD9dF/463sOIw/+gOhE/Os7Fwd1OSmo6GlFwMkfZNTeg== +"@angular/platform-browser-dynamic@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.2.tgz#eab61d38f21aa6f3d19a6d893ca2c68cb8f2675e" + integrity sha512-KPGpfMBugXojQPrcqlZ8mNBMiUHkREszuVwnpvkuwrPSnygGNzj8HAdu1c1sTPX7uirhW6QEWGmwXFKURTmnwQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.1.tgz#fed9b5192c23152b4b2e6c5455410eb6f21fe0c6" - integrity sha512-/0xdsCbVaanP7urgMrA+9E4XYRx4Bc/AABUKy/m3C9nbl7T0C2jzuX3yGZsBpr9rzEwmImyBqExX3bKuAlMwPQ== +"@angular/platform-browser@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.2.tgz#08639f6158cb1bdfd017466db0aa6b19384237d7" + integrity sha512-FeBXo3GmJOGitBIKrpuZOfBpfDqMh4QqZZmHMIXunELgrG+a8XSoZZYwEgRNIOpxFduQnP2Qe6H6cYoVJfwcBg== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.1.tgz#0963ebd45ac1ecb3dfe10e27e37684278906ae8e" - integrity sha512-AeehgTkMTgUSEkH72FCnVRvmvJZ8FFmqwsmAHOUOHtAQM2CQzmqKpKvAVbkg89zdYQ6tuPyq70ySv7/E9gs7xw== +"@angular/platform-server@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.2.tgz#d624a9ac3b96377e658f175ec76935e53886d0af" + integrity sha512-zDHcOrVtdozE1s7112etVlgpBI1paUpqXhbyeZFluUhWtWTbatbUywuJVjyobqEH9YRoA4GG9i6ZU4e8RKkbsA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.1.tgz#ad0f1f31a1f8617222f24be99a87e76b7ca55e2b" - integrity sha512-FtJIe7acU6MuxoBlrl33VHKKVxePgOGnyPkRrxEHxrq8Dw6Y9JkW45Nk1t54CjcEhkkmPgSuJ2h2Jfn2fa6Vcw== +"@angular/router@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.2.tgz#4796c1aa01feadf25e99c59ff9383b08e22111be" + integrity sha512-moh7IPGk7tpcNGx5xN9q+zNMG6ZqXVD607Q3qUCBcvK13NtgZ9aMXpKtkVOGXLJNdMVgHaeV56+q96cw77WtAA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.1.tgz#4e64b4e26dc853b3c328e114048fd63b3028b769" - integrity sha512-vcVEsf5oY/ebgyFoWscTrgsE4NKZ3hLTFI/nYw3RNNERim/10BWiT/nUFmuza6G4s7eUbF7e7Ng/yK8VcIgtZw== +"@angular/service-worker@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.2.tgz#65c1380691a0df63aa959a5109eceac01ae6a7a8" + integrity sha512-cFRgasaAV6mLGIAg2BDb7td1oqSEYP9BliRlpyaPuAuZm3+LuR+csCRr4sZlmCUHzRUKcjawtFvpOyPm4nNeLA== dependencies: tslib "^2.3.0" @@ -284,27 +291,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== -"@babel/core@7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.12.tgz#b4eb2d7ebc3449b062381644c93050db545b70ee" - integrity sha512-44ODe6O1IVz9s2oJE3rZ4trNNKTX9O7KpQpfAP4t8QII/zwrVRHL7i2pxhqtcY7tqMLrrKfMlBKnm1QlrRFs5w== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.12" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-module-transforms" "^7.17.12" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.12" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.12" - "@babel/types" "^7.17.12" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" @@ -347,7 +333,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.2", "@babel/generator@^7.17.12", "@babel/generator@^7.18.2": +"@babel/generator@7.18.2", "@babel/generator@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== @@ -457,7 +443,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.17.12", "@babel/helper-module-transforms@^7.18.0": +"@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== @@ -544,7 +530,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.9", "@babel/helpers@^7.18.2": +"@babel/helpers@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== @@ -562,7 +548,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.12", "@babel/parser@^7.18.0", "@babel/parser@^7.18.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== @@ -1188,7 +1174,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.12", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== @@ -1204,7 +1190,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.12", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== @@ -1552,10 +1538,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.1.0-next.0": - version "14.1.0-next.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.0.tgz#68a72c16480c5a3ec2fd8e9e111e75186bfab5f5" - integrity sha512-nRW3aGj1CirHJ/D+DIvuLzJSIl97WxBh9+kTIDObOLTKz/G8ZPpjD0lr6RPXuYzvoYfMvpGPtRwuPlK082aJlw== +"@ngtools/webpack@14.1.0-next.1": + version "14.1.0-next.1" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.1.tgz#aeb89ca748e3b9f0d9db4be3a8d0233697ad291b" + integrity sha512-MXgzBn4LudIIdffY4X/pAhAAL5wvGRa36ToeYb4Pmfr0GROD2KvtWk6zNGmE1YuP1p9DHXh6ufoJxtHqTGgFVQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2635,7 +2621,7 @@ JSONStream@1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.0, abab@^2.0.5, abab@^2.0.6: +abab@^2.0.0, abab@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== @@ -9596,20 +9582,11 @@ sonic-boom@^1.0.2: atomic-sleep "^1.0.0" flatstr "^1.0.12" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-loader@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" - integrity sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - source-map-loader@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.0.tgz#bdc6b118bc6c87ee4d8d851f2d4efcc5abdb2ef5" From 1e21440c10066d771066ac5eed195d749384d45f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 16 Jun 2022 18:03:10 -0400 Subject: [PATCH 0561/1388] build: mark external only bazel rules --- packages/angular/cli/BUILD.bazel | 9 ++++++++- packages/angular_devkit/architect/BUILD.bazel | 7 +++++++ packages/angular_devkit/core/BUILD.bazel | 5 +++++ packages/angular_devkit/schematics/BUILD.bazel | 5 +++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 47fdcce26c86..137a76924f06 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -4,9 +4,12 @@ # found in the LICENSE file at https://angular.io/license load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") +load("//tools:defaults.bzl", "pkg_npm", "ts_library") + +# @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") -load("//tools:defaults.bzl", "pkg_npm", "ts_library") +# @external_end licenses(["notice"]) # MIT @@ -78,6 +81,7 @@ ts_library( ], ) +# @external_begin CLI_SCHEMA_DATA = [ "//packages/angular_devkit/build_angular:src/builders/app-shell/schema.json", "//packages/angular_devkit/build_angular:src/builders/browser/schema.json", @@ -123,6 +127,7 @@ ts_json_schema( name = "update_schematic_schema", src = "src/commands/update/schematic/schema.json", ) +# @external_end ts_library( name = "angular-cli_test_lib", @@ -150,6 +155,7 @@ jasmine_node_test( srcs = [":angular-cli_test_lib"], ) +# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], @@ -175,3 +181,4 @@ pkg_npm( ":src/commands/update/schematic/schema.json", ], ) +# @external_end diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index d59a08ff91fc..81b5eaf16583 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -5,13 +5,17 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") + +# @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +# @external_end licenses(["notice"]) # MIT package(default_visibility = ["//visibility:public"]) +# @external_begin ts_json_schema( name = "builder_input_schema", src = "src/input-schema.json", @@ -36,6 +40,7 @@ ts_json_schema( name = "operator_schema", src = "builders/operator-schema.json", ) +# @external_end ts_library( name = "architect", @@ -90,6 +95,7 @@ jasmine_node_test( srcs = [":architect_test_lib"], ) +# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], @@ -120,3 +126,4 @@ api_golden_test_npm_package( golden_dir = "angular_cli/goldens/public-api/angular_devkit/architect", npm_package = "angular_cli/packages/angular_devkit/architect/npm_package", ) +# @external_end diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 5a91e47c202d..77f0175f1537 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -1,6 +1,9 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") + +# @external_begin load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +# @external_end # Copyright Google Inc. All Rights Reserved. # @@ -74,6 +77,7 @@ jasmine_node_test( ], ) +# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], @@ -105,3 +109,4 @@ api_golden_test_npm_package( npm_package = "angular_cli/packages/angular_devkit/core/npm_package", types = ["@npm//@types/node"], ) +# @external_end diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index d9907050747d..7feda19e6c64 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -1,6 +1,9 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") + +# @external_begin load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +# @external_end # Copyright Google Inc. All Rights Reserved. # @@ -65,6 +68,7 @@ jasmine_node_test( ], ) +# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], @@ -100,3 +104,4 @@ api_golden_test_npm_package( npm_package = "angular_cli/packages/angular_devkit/schematics/npm_package", types = ["@npm//@types/node"], ) +# @external_end From fd92eaa86521f6cfd8b90884ce6b2443e9ed571d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Jun 2022 08:06:11 +0000 Subject: [PATCH 0562/1388] fix(@angular/cli): provide an actionable error when using `--configuration` with `ng run` With this commit we issue a more actionable error message when using the unsupported `--configuration` option with the`ng run` command. Closes #23385 --- packages/angular/cli/src/commands/run/cli.ts | 15 +++++++++++ tests/legacy-cli/e2e/tests/basic/run.ts | 18 +++++++++++++ .../commands/run-configuration-option.ts | 26 +++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/basic/run.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/run-configuration-option.ts diff --git a/packages/angular/cli/src/commands/run/cli.ts b/packages/angular/cli/src/commands/run/cli.ts index 963a70e64688..46d0b9268929 100644 --- a/packages/angular/cli/src/commands/run/cli.ts +++ b/packages/angular/cli/src/commands/run/cli.ts @@ -45,6 +45,21 @@ export class RunCommandModule // Also, hide choices from JSON help so that we don't display them in AIO. choices: (getYargsCompletions || help) && !jsonHelp ? this.getTargetChoices() : undefined, }) + .middleware((args) => { + // TODO: remove in version 15. + const { configuration, target } = args; + if (typeof configuration === 'string' && target) { + const targetWithConfig = target.split(':', 2); + targetWithConfig.push(configuration); + + throw new CommandModuleError( + 'Unknown argument: configuration.\n' + + `Provide the configuration as part of the target 'ng run ${targetWithConfig.join( + ':', + )}'.`, + ); + } + }, true) .strict(); const target = this.makeTargetSpecifier(); diff --git a/tests/legacy-cli/e2e/tests/basic/run.ts b/tests/legacy-cli/e2e/tests/basic/run.ts new file mode 100644 index 000000000000..a3b3dd1f21fb --- /dev/null +++ b/tests/legacy-cli/e2e/tests/basic/run.ts @@ -0,0 +1,18 @@ +import { getGlobalVariable } from '../../utils/env'; +import { expectFileToMatch } from '../../utils/fs'; +import { silentNg } from '../../utils/process'; + +export default async function () { + // Development build + await silentNg('run', 'test-project:build:development'); + await expectFileToMatch('dist/test-project/index.html', 'main.js'); + + // Production build + await silentNg('run', 'test-project:build'); + if (getGlobalVariable('argv')['esbuild']) { + // esbuild uses an 8 character hash + await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{8}\.js/); + } else { + await expectFileToMatch('dist/test-project/index.html', /main\.[a-zA-Z0-9]{16}\.js/); + } +} diff --git a/tests/legacy-cli/e2e/tests/commands/run-configuration-option.ts b/tests/legacy-cli/e2e/tests/commands/run-configuration-option.ts new file mode 100644 index 000000000000..827d8dea6fc9 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/run-configuration-option.ts @@ -0,0 +1,26 @@ +import { silentNg } from '../../utils/process'; +import { expectToFail } from '../../utils/utils'; + +export default async function () { + const errorMatch = `Provide the configuration as part of the target 'ng run test-project:build:production`; + + { + const { message } = await expectToFail(() => + silentNg('run', 'test-project:build:development', '--configuration=production'), + ); + + if (!message.includes(errorMatch)) { + throw new Error(`Expected error to include '${errorMatch}' but didn't.\n\n${message}`); + } + } + + { + const { message } = await expectToFail(() => + silentNg('run', 'test-project:build', '--configuration=production'), + ); + + if (!message.includes(errorMatch)) { + throw new Error(`Expected error to include '${errorMatch}' but didn't.\n\n${message}`); + } + } +} From 03b312f0a0d98e039d07f5f9e0ea10bea27b94ee Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Jun 2022 08:08:08 +0000 Subject: [PATCH 0563/1388] docs: add note regarding `ng run --configuration` Add missing breaking change to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42cef9b72346..d1b893a02fbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -154,6 +154,7 @@ Alan Agius, Charles Lyding and Doug Parker - Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6. - `--all` option from `ng update` has been removed without replacement. To update packages which don’t provide `ng update` capabilities in your workspace `package.json` use `npm update`, `yarn upgrade-interactive` or `yarn upgrade` instead. - Deprecated option `--prod` has been removed from all builders. `--configuration production`/`-c production` should be used instead if the default configuration of the builder is not configured to `production`. +- `--configuration` cannot be used with `ng run`. Provide the configuration as part of the target. Ex: `ng run project:builder:configuration`. - Deprecated `ng x18n` and `ng i18n-extract` commands have been removed in favor of `ng extract-i18n`. - Several changes in the Angular CLI commands and arguments handling. From 9fafb2e1251f6790392a1f9c84854086c85d2191 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Fri, 17 Jun 2022 13:47:17 +0000 Subject: [PATCH 0564/1388] build: update `ng-dev` setup to work with new ESM version The `ng-dev` tool is now strict ESM. Config loading needs to be updated to also emit `.mjs` with `ts-node` (this cannot happen dynamically as ESM Node loading cannot be patched by ts-node at runtime). --- .ng-dev/{caretaker.ts => caretaker.mts} | 0 .ng-dev/commit-message.mts | 13 +++ .ng-dev/commit-message.ts | 24 ------ .ng-dev/config.mts | 6 ++ .ng-dev/config.ts | 6 -- .ng-dev/{format.ts => format.mts} | 0 .ng-dev/{github.ts => github.mts} | 0 .ng-dev/{pull-request.ts => pull-request.mts} | 0 .ng-dev/{release.ts => release.mts} | 10 +-- .ng-dev/tsconfig.json | 4 +- package.json | 7 +- scripts/templates.ts | 16 +++- scripts/templates/contributing.ejs | 4 +- yarn.lock | 84 +++++++++---------- 14 files changed, 85 insertions(+), 89 deletions(-) rename .ng-dev/{caretaker.ts => caretaker.mts} (100%) create mode 100644 .ng-dev/commit-message.mts delete mode 100644 .ng-dev/commit-message.ts create mode 100644 .ng-dev/config.mts delete mode 100644 .ng-dev/config.ts rename .ng-dev/{format.ts => format.mts} (100%) rename .ng-dev/{github.ts => github.mts} (100%) rename .ng-dev/{pull-request.ts => pull-request.mts} (100%) rename .ng-dev/{release.ts => release.mts} (66%) diff --git a/.ng-dev/caretaker.ts b/.ng-dev/caretaker.mts similarity index 100% rename from .ng-dev/caretaker.ts rename to .ng-dev/caretaker.mts diff --git a/.ng-dev/commit-message.mts b/.ng-dev/commit-message.mts new file mode 100644 index 000000000000..c8a3bcb8001d --- /dev/null +++ b/.ng-dev/commit-message.mts @@ -0,0 +1,13 @@ +import { CommitMessageConfig } from '@angular/dev-infra-private/ng-dev'; +import packages from '../lib/packages.js'; + +/** + * The configuration for `ng-dev commit-message` commands. + */ +export const commitMessage: CommitMessageConfig = { + maxLineLength: Infinity, + minBodyLength: 0, + minBodyLengthTypeExcludes: ['docs'], + // Note: When changing this logic, also change the `contributing.ejs` file. + scopes: [...Object.keys(packages.packages)], +}; diff --git a/.ng-dev/commit-message.ts b/.ng-dev/commit-message.ts deleted file mode 100644 index 951888ff958a..000000000000 --- a/.ng-dev/commit-message.ts +++ /dev/null @@ -1,24 +0,0 @@ -// tslint:disable-next-line: no-implicit-dependencies -import { - COMMIT_TYPES, - CommitMessageConfig, - ScopeRequirement, -} from '@angular/dev-infra-private/ng-dev'; -import { packages } from '../lib/packages'; - -/** - * The details for valid commit types. - * This is exported so that other tooling can access both the types and scopes from one location. - * Currently used in the contributing documentation template (scripts/templates/contributing.ejs) - */ -export { COMMIT_TYPES, ScopeRequirement }; - -/** - * The configuration for `ng-dev commit-message` commands. - */ -export const commitMessage: CommitMessageConfig = { - maxLineLength: Infinity, - minBodyLength: 0, - minBodyLengthTypeExcludes: ['docs'], - scopes: [...Object.keys(packages)], -}; diff --git a/.ng-dev/config.mts b/.ng-dev/config.mts new file mode 100644 index 000000000000..6add9773c06c --- /dev/null +++ b/.ng-dev/config.mts @@ -0,0 +1,6 @@ +export { commitMessage } from './commit-message.mjs'; +export { format } from './format.mjs'; +export { github } from './github.mjs'; +export { pullRequest } from './pull-request.mjs'; +export { release } from './release.mjs'; +export { caretaker } from './caretaker.mjs'; diff --git a/.ng-dev/config.ts b/.ng-dev/config.ts deleted file mode 100644 index 681ebe8b510f..000000000000 --- a/.ng-dev/config.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { commitMessage } from './commit-message'; -export { format } from './format'; -export { github } from './github'; -export { pullRequest } from './pull-request'; -export { release } from './release'; -export { caretaker } from './caretaker'; diff --git a/.ng-dev/format.ts b/.ng-dev/format.mts similarity index 100% rename from .ng-dev/format.ts rename to .ng-dev/format.mts diff --git a/.ng-dev/github.ts b/.ng-dev/github.mts similarity index 100% rename from .ng-dev/github.ts rename to .ng-dev/github.mts diff --git a/.ng-dev/pull-request.ts b/.ng-dev/pull-request.mts similarity index 100% rename from .ng-dev/pull-request.ts rename to .ng-dev/pull-request.mts diff --git a/.ng-dev/release.ts b/.ng-dev/release.mts similarity index 66% rename from .ng-dev/release.ts rename to .ng-dev/release.mts index 848749b8ed31..95f857d1e0b9 100644 --- a/.ng-dev/release.ts +++ b/.ng-dev/release.mts @@ -1,10 +1,10 @@ -import '../lib/bootstrap-local'; +import '../lib/bootstrap-local.js'; import { ReleaseConfig } from '@angular/dev-infra-private/ng-dev'; -import { releasePackages } from '../lib/packages'; -import buildPackages from '../scripts/build'; +import packages from '../lib/packages.js'; +import buildPackages from '../scripts/build.js'; -const npmPackages = Object.entries(releasePackages).map(([name, { experimental }]) => ({ +const npmPackages = Object.entries(packages.releasePackages).map(([name, { experimental }]) => ({ name, experimental, })); @@ -13,7 +13,7 @@ const npmPackages = Object.entries(releasePackages).map(([name, { experimental } export const release: ReleaseConfig = { representativeNpmPackage: '@angular/cli', npmPackages, - buildPackages: () => buildPackages(), + buildPackages: () => buildPackages.default(), releaseNotes: { groupOrder: [ '@angular/cli', diff --git a/.ng-dev/tsconfig.json b/.ng-dev/tsconfig.json index fb3b63feca46..12cf63f79e32 100644 --- a/.ng-dev/tsconfig.json +++ b/.ng-dev/tsconfig.json @@ -1,8 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "module": "Node16", + "moduleResolution": "Node16", "noEmit": true }, - "include": ["**/*.ts"], + "include": ["**/*.mts"], "exclude": [] } diff --git a/package.json b/package.json index 1e3cb5eea8d1..558162e5eeab 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "build:bazel": "node ./bin/devkit-admin build-bazel", "build-tsc": "tsc -p tsconfig.json", "lint": "eslint --cache --max-warnings=0 \"**/*.ts\"", + "ng-dev": "TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json node_modules/@angular/dev-infra-private/ng-dev/bundles/cli.mjs", "templates": "node ./bin/devkit-admin templates", "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", @@ -31,8 +32,8 @@ "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 103.0.5060.24", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", - "ts-circular-deps:check": "ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", - "ts-circular-deps:approve": "ng-dev ts-circular-deps approve --config ./packages/circular-deps-test.conf.js", + "ts-circular-deps:check": "yarn -s ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", + "ts-circular-deps:approve": "yarn -s ng-dev ts-circular-deps approve --config ./packages/circular-deps-test.conf.js", "check-tooling-setup": "tsc --project .ng-dev/tsconfig.json" }, "repository": { @@ -69,7 +70,7 @@ "@angular/compiler": "14.0.2", "@angular/compiler-cli": "14.0.2", "@angular/core": "14.0.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#c13dbe7aac0b5230b65c4de7dc08650332b4750a", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#132c156fd32ea70e3755df0fdb211ef5b6299936", "@angular/forms": "14.0.2", "@angular/localize": "14.0.2", "@angular/material": "14.0.1", diff --git a/scripts/templates.ts b/scripts/templates.ts index 5fd28baecabf..432dfd6cf6ce 100644 --- a/scripts/templates.ts +++ b/scripts/templates.ts @@ -10,25 +10,35 @@ import { logging } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; -function _runTemplate(inputPath: string, outputPath: string, logger: logging.Logger) { +async function _runTemplate(inputPath: string, outputPath: string, logger: logging.Logger) { inputPath = path.resolve(__dirname, inputPath); outputPath = path.resolve(__dirname, outputPath); logger.info(`Building ${path.relative(path.dirname(__dirname), outputPath)}...`); + // TODO(ESM): Consider making this an actual import statement. + const { COMMIT_TYPES, ScopeRequirement } = await new Function( + `return import('@angular/dev-infra-private/ng-dev');`, + )(); + const template = require(inputPath).default; const content = template({ monorepo: require('../.monorepo.json'), packages: require('../lib/packages').packages, encode: (x: string) => global.encodeURIComponent(x), require: (x: string) => require(path.resolve(path.dirname(inputPath), x)), + + // Pass-through `ng-dev` ESM commit message information for the `contributing.ejs` + // template. EJS templates using the devkit template cannot use ESM. + COMMIT_TYPES: COMMIT_TYPES, + ScopeRequirement: ScopeRequirement, }); fs.writeFileSync(outputPath, content, 'utf-8'); } export default async function (_options: {}, logger: logging.Logger): Promise { - _runTemplate('./templates/readme', '../README.md', logger); - _runTemplate('./templates/contributing', '../CONTRIBUTING.md', logger); + await _runTemplate('./templates/readme', '../README.md', logger); + await _runTemplate('./templates/contributing', '../CONTRIBUTING.md', logger); return 0; } diff --git a/scripts/templates/contributing.ejs b/scripts/templates/contributing.ejs index a3ab56094713..c3e0954f8139 100644 --- a/scripts/templates/contributing.ejs +++ b/scripts/templates/contributing.ejs @@ -193,7 +193,6 @@ If the commit reverts a previous commit, it should begin with `revert: `, follow Must be one of the following: <% -const { COMMIT_TYPES, ScopeRequirement } = require('../../.ng-dev/commit-message'); for (const typeName of Object.keys(COMMIT_TYPES).sort()) { const type = COMMIT_TYPES[typeName]; %>* **<%= typeName %>**: <%= type.description %><% @@ -214,8 +213,7 @@ The scope should be the name of the npm package affected as perceived by the per The following is the list of supported scopes: <% -const { commitMessage } = require('../../.ng-dev/commit-message'); -for (const scope of commitMessage.scopes) { +for (const scope of Object.keys(packages)) { %>* **<%= scope %>** <% } %> diff --git a/yarn.lock b/yarn.lock index 642c4e66e162..f88099934fde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -175,10 +175,9 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#c13dbe7aac0b5230b65c4de7dc08650332b4750a": - version "0.0.0-684962a29f0beba95e0b1ecfd360760e7f011041" - uid c13dbe7aac0b5230b65c4de7dc08650332b4750a - resolved "https://github.com/angular/dev-infra-private-builds.git#c13dbe7aac0b5230b65c4de7dc08650332b4750a" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#132c156fd32ea70e3755df0fdb211ef5b6299936": + version "0.0.0-642f77e231f3346605832ba85e63b04da26c6dcf" + resolved "https://github.com/angular/dev-infra-private-builds.git#132c156fd32ea70e3755df0fdb211ef5b6299936" dependencies: "@angular-devkit/build-angular" "14.1.0-next.1" "@angular/benchpress" "0.3.0" @@ -190,27 +189,25 @@ "@bazel/runfiles" "5.5.0" "@bazel/terser" "5.5.0" "@bazel/typescript" "5.5.0" - "@microsoft/api-extractor" "7.25.0" + "@microsoft/api-extractor" "7.25.1" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" - "@types/node-fetch" "^2.5.10" "@types/selenium-webdriver" "^4.0.18" "@types/send" "^0.17.1" "@types/tmp" "^0.2.1" "@types/uuid" "^8.3.1" "@types/yargs" "^17.0.0" + "@yarnpkg/lockfile" "^1.1.0" browser-sync "^2.27.7" - chalk "^4.1.0" clang-format "1.8.0" - node-fetch "^2.6.1" - prettier "2.7.0" + prettier "2.7.1" protractor "^7.0.0" selenium-webdriver "4.2.0" send "^0.18.0" tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" - typescript "~4.7.0" + typescript "~4.7.3" uuid "^8.3.2" yargs "^17.0.0" @@ -1496,26 +1493,26 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.18.0.tgz#23bfe8fee6534e086ddaff4daa5b9e2d27192e09" - integrity sha512-Q7ZhD6zKQd/J5ayNNChFCCgHZ8tw3ibljm6nXP/JEmiEFFbpKKtWMPVCaN8Y+8/qFmrz7mblLrupcKmUu8cF4A== +"@microsoft/api-extractor-model@7.18.1": + version "7.18.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.18.1.tgz#8c8e699ff5ce0e352add5b6df67186af6ac5733c" + integrity sha512-aF9b9KU4+LCcXRbpwa+c/jOMZDsbomkehbjVNRMfCcRueeZ5KyBiERxWwc/Vk1mBFmDqkvYjK7RUxWYT2BsLAw== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.5" + "@rushstack/node-core-library" "3.45.6" -"@microsoft/api-extractor@7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.25.0.tgz#a06bfe24abc7e4a82c586953b26debe94e852cd4" - integrity sha512-GS1XOY2RgLthUkfcTR4CLPvCIvpFYj+2MfJMZ3J4NX8H64BWSHGaDUvVV6QvjKNpt/RHdLyyJZ+j7dQveBAZnA== +"@microsoft/api-extractor@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.25.1.tgz#06132e4ec0965c18cf34bb2ad8ffe0a351e57cef" + integrity sha512-/RE3G1oGD5d1QNhXdapVsFfgYIadLrhl9jjYIheADC54Jetwdb/Oc3rZpZiyoeYLBPl0JVWUplc94QdfvhvmaA== dependencies: - "@microsoft/api-extractor-model" "7.18.0" + "@microsoft/api-extractor-model" "7.18.1" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.5" - "@rushstack/rig-package" "0.3.11" - "@rushstack/ts-command-line" "4.11.0" + "@rushstack/node-core-library" "3.45.6" + "@rushstack/rig-package" "0.3.12" + "@rushstack/ts-command-line" "4.11.1" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" @@ -1722,10 +1719,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.5": - version "3.45.5" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.5.tgz#00f92143cc21c3ad94fcd81ba168a40ac8cb77f2" - integrity sha512-KbN7Hp9vH3bD3YJfv6RnVtzzTAwGYIBl7y2HQLY4WEQqRbvE3LgI78W9l9X+cTAXCX//p0EeoiUYNTFdqJrMZg== +"@rushstack/node-core-library@3.45.6": + version "3.45.6" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.6.tgz#a69fab7022132d80a6d1ab78e26ace6ea5d4285d" + integrity sha512-RKGjkakEPcc5em1Dej6ql8OQobofp1IPKUDU2angme5XH7BFJzL5CAuU4zxIXaS8IT5HUV3WXd/GIkPAnrKNyw== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1737,18 +1734,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.11.tgz#92a05929822610e8b42f2ad330d9ea20afae5165" - integrity sha512-uI1/g5oQPtyrT9nStoyX/xgZSLa2b+srRFaDk3r1eqC7zA5th4/bvTGl2QfV3C9NcP+coSqmk5mFJkUfH6i3Lw== +"@rushstack/rig-package@0.3.12": + version "0.3.12" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.12.tgz#6bf2d45374ba665902bf31ec0c6e5dad55ba1b73" + integrity sha512-ZzxuBWG0wbOtI+9IHYvOsr3QN52GtxTWpcaHMsQ/PC9us2ve/k0xK0XOMu+CtStyHSnBG2nDdnF9vFv9HMYOZg== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.11.0.tgz#4cd3b9f59b41aed600042936260fdaa55ca0184d" - integrity sha512-ptG9L0mjvJ5QtK11GsAFY+jGfsnqHDS6CY6Yw1xT7a9bhjfNYnf6UPwjV+pF6UgiucfNcMDNW9lkDLxvZKKxMg== +"@rushstack/ts-command-line@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.11.1.tgz#10b80960ddaed685445289807c75743e4ef0b5e9" + integrity sha512-Xo8LaQOXlNSfp+qIuIPb1tfX7b4H21ksqiMo/HbeZI5AX1klHMqKjWcEs0AqgE9huvQj6cvnCla8Eq/GDcwMIg== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -2053,7 +2050,7 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node-fetch@*", "@types/node-fetch@^2.1.6", "@types/node-fetch@^2.5.10": +"@types/node-fetch@*", "@types/node-fetch@^2.1.6": version "2.6.1" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== @@ -2608,7 +2605,7 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@yarnpkg/lockfile@1.1.0": +"@yarnpkg/lockfile@1.1.0", "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== @@ -7424,7 +7421,7 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.6.1: +node-fetch@2.6.7, node-fetch@^2.2.0: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== @@ -8501,10 +8498,10 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.0.tgz#a4fdae07e5596c51c9857ea676cd41a0163879d6" - integrity sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ== +prettier@2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== prettier@^2.0.0: version "2.6.2" @@ -9217,7 +9214,6 @@ sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10328,7 +10324,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^4.6.2, typescript@~4.7.0, typescript@~4.7.2: +typescript@^4.6.2, typescript@~4.7.2, typescript@~4.7.3: version "4.7.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== From 0f02b0011bea5bb7fff935d46768b32455ebb05e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 20 Jun 2022 16:57:52 +0000 Subject: [PATCH 0565/1388] fix(@angular-devkit/build-angular): handle `codeCoverageExclude` correctly in Windows Previously, `codeCoverageExclude` didn't work correct on Windows Closes #23403 --- .../src/webpack/utils/helpers.ts | 4 ++-- .../tests/test/test-code-coverage-exclude.ts | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/test/test-code-coverage-exclude.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index fb8e66183ffa..e965339348ac 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -126,8 +126,8 @@ export function getInstrumentationExcludedPaths( for (const excludeGlob of excludedPaths) { glob - .sync(path.join(sourceRoot, excludeGlob), { nodir: true }) - .forEach((p) => excluded.add(path.normalize(p))); + .sync(excludeGlob, { nodir: true, cwd: sourceRoot }) + .forEach((p) => excluded.add(path.join(sourceRoot, p))); } return excluded; diff --git a/tests/legacy-cli/e2e/tests/test/test-code-coverage-exclude.ts b/tests/legacy-cli/e2e/tests/test/test-code-coverage-exclude.ts new file mode 100644 index 000000000000..52b8989218b5 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/test/test-code-coverage-exclude.ts @@ -0,0 +1,22 @@ +import { expectFileToExist, rimraf } from '../../utils/fs'; +import { silentNg } from '../../utils/process'; +import { expectToFail } from '../../utils/utils'; + +export default async function () { + // This test is already in build-angular, but that doesn't run on Windows. + await silentNg('test', '--no-watch', '--code-coverage'); + await expectFileToExist('coverage/test-project/app.component.ts.html'); + // Delete coverage directory + await rimraf('coverage'); + + await silentNg( + 'test', + '--no-watch', + '--code-coverage', + `--code-coverage-exclude='src/**/app.component.ts'`, + ); + + // Doesn't include excluded. + await expectFileToExist('coverage/test-project/index.html'); + await expectToFail(() => expectFileToExist('coverage/test-project/app.component.ts.html')); +} From 66779942358e6faf43f6311e5c59fced3e793e46 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 20 Jun 2022 07:10:37 +0000 Subject: [PATCH 0566/1388] fix(@angular-devkit/build-angular): fix incorrect glob cwd in karma when using `--include` option Previously, we amended the project source root to the source root which resulted in an invalid path. Closes #23396 --- .../build_angular/src/builders/karma/index.ts | 10 ++-------- tests/legacy-cli/e2e/tests/test/test-include-glob.ts | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/test/test-include-glob.ts diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 06db2f6e23df..db58042a8406 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -118,14 +118,8 @@ export function execute( } const projectMetadata = await context.getProjectMetadata(projectName); - const projectRoot = path.join( - context.workspaceRoot, - (projectMetadata.root as string | undefined) ?? '', - ); - const projectSourceRoot = path.join( - projectRoot, - (projectMetadata.sourceRoot as string | undefined) ?? '', - ); + const sourceRoot = (projectMetadata.sourceRoot ?? projectMetadata.root ?? '') as string; + const projectSourceRoot = path.join(context.workspaceRoot, sourceRoot); const files = await findTests(options.include, context.workspaceRoot, projectSourceRoot); // early exit, no reason to start karma diff --git a/tests/legacy-cli/e2e/tests/test/test-include-glob.ts b/tests/legacy-cli/e2e/tests/test/test-include-glob.ts new file mode 100644 index 000000000000..5dc55edbf8c7 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/test/test-include-glob.ts @@ -0,0 +1,5 @@ +import { ng } from '../../utils/process'; + +export default async function () { + await ng('test', '--no-watch', `--include='**/*.spec.ts'`); +} From 507a7e24818136b5583c1270de25025b9b0a5352 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Sat, 18 Jun 2022 14:41:40 +0000 Subject: [PATCH 0567/1388] build: ensure ng-dev command works on windows Apparently the `ng-dev` command does not work with Git Bash on windows because of the environment variable being set. We should use `ts-node` directly to avoid this issue, and also avoid the `$PWD` access which might not work depending on the shell. Also on the dev-infra side we would need to remove the ts-node shebang and leave the responsibility to the consumer project. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 558162e5eeab..5c20c1bec0f3 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "build:bazel": "node ./bin/devkit-admin build-bazel", "build-tsc": "tsc -p tsconfig.json", "lint": "eslint --cache --max-warnings=0 \"**/*.ts\"", - "ng-dev": "TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json node_modules/@angular/dev-infra-private/ng-dev/bundles/cli.mjs", + "ng-dev": "ts-node --esm --project .ng-dev/tsconfig.json node_modules/@angular/dev-infra-private/ng-dev/bundles/cli.mjs", "templates": "node ./bin/devkit-admin templates", "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", From ba3f671936496571337bfb4e18d2ca5d0e56f515 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 21 Jun 2022 17:41:42 +0000 Subject: [PATCH 0568/1388] fix(@angular/cli): temporarily handle boolean options in schema prefixed with `no` With this commit we introduce an interim solution for options prefixed with `no` in `schema.json` Previously, such options were handled as normal boolean option, but yargs handles options prefixed with `no` as negatations of the original option. Example with yargs, an option `noWatch` is will registered as `watch`. Closes #23397 --- .../cli/src/command-builder/command-module.ts | 34 +++++++++++++++++-- .../collection.json | 9 +++++ .../schematic-boolean-option-negated/index.js | 1 + .../package.json | 5 +++ .../schema.json | 10 ++++++ .../e2e/tests/misc/negated-boolean-options.ts | 24 +++++++++++++ 6 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/collection.json create mode 100644 tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/index.js create mode 100644 tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/package.json create mode 100644 tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/schema.json create mode 100644 tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index c8b957890e9f..7c1b2026c7ce 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -10,6 +10,7 @@ import { analytics, logging, schema, strings } from '@angular-devkit/core'; import { readFileSync } from 'fs'; import * as path from 'path'; import { + Arguments, ArgumentsCamelCase, Argv, CamelCaseKey, @@ -199,6 +200,8 @@ export abstract class CommandModule implements CommandModuleI * **Note:** This method should be called from the command bundler method. */ protected addSchemaOptionsToCommand(localYargs: Argv, options: Option[]): Argv { + const booleanOptionsWithNoPrefix = new Set(); + for (const option of options) { const { default: defaultVal, @@ -223,13 +226,27 @@ export abstract class CommandModule implements CommandModuleI ...(this.context.args.options.help ? { default: defaultVal } : {}), }; + // TODO(alanagius4): remove in a major version. + // the below is an interim workaround to handle options which have been defined in the schema with `no` prefix. + let dashedName = strings.dasherize(name); + if (type === 'boolean' && dashedName.startsWith('no-')) { + dashedName = dashedName.slice(3); + booleanOptionsWithNoPrefix.add(dashedName); + + // eslint-disable-next-line no-console + console.warn( + `Warning: '${name}' option has been declared with a 'no' prefix in the schema.` + + 'Please file an issue with the author of this package.', + ); + } + if (positional === undefined) { - localYargs = localYargs.option(strings.dasherize(name), { + localYargs = localYargs.option(dashedName, { type, ...sharedOptions, }); } else { - localYargs = localYargs.positional(strings.dasherize(name), { + localYargs = localYargs.positional(dashedName, { type: type === 'array' || type === 'count' ? 'string' : type, ...sharedOptions, }); @@ -241,6 +258,19 @@ export abstract class CommandModule implements CommandModuleI } } + // TODO(alanagius4): remove in a major version. + // the below is an interim workaround to handle options which have been defined in the schema with `no` prefix. + if (booleanOptionsWithNoPrefix.size) { + localYargs.middleware((options: Arguments) => { + for (const key of booleanOptionsWithNoPrefix) { + if (key in options) { + options[`no-${key}`] = !options[key]; + delete options[key]; + } + } + }, false); + } + return localYargs; } diff --git a/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/collection.json b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/collection.json new file mode 100644 index 000000000000..828a709d114d --- /dev/null +++ b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/collection.json @@ -0,0 +1,9 @@ +{ + "schematics": { + "test": { + "factory": "./index.js", + "schema": "./schema.json", + "description": "test schematic that logs the options in the console." + } + } +} diff --git a/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/index.js b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/index.js new file mode 100644 index 000000000000..59be5fd230ed --- /dev/null +++ b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/index.js @@ -0,0 +1 @@ +exports.default = (options) => console.log(options); diff --git a/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/package.json b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/package.json new file mode 100644 index 000000000000..5cd8325bef0c --- /dev/null +++ b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/package.json @@ -0,0 +1,5 @@ +{ + "name": "schematic-boolean-option", + "version": "0.0.1", + "schematics": "./collection.json" +} diff --git a/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/schema.json b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/schema.json new file mode 100644 index 000000000000..f455fb6a53bb --- /dev/null +++ b/tests/legacy-cli/e2e/assets/schematic-boolean-option-negated/schema.json @@ -0,0 +1,10 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "description": "test schematic that logs the options in the console.", + "properties": { + "noWatch": { + "type": "boolean" + } + } +} diff --git a/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts b/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts new file mode 100644 index 000000000000..7ad94de1c907 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts @@ -0,0 +1,24 @@ +import { copyAssets } from '../../utils/assets'; +import { execAndWaitForOutputToMatch } from '../../utils/process'; + +export default async function () { + await copyAssets('schematic-boolean-option-negated', 'schematic-boolean-option-negated'); + + await execAndWaitForOutputToMatch( + 'ng', + ['generate', './schematic-boolean-option-negated:test', '--no-watch'], + /noWatch: true/, + ); + + await execAndWaitForOutputToMatch( + 'ng', + ['generate', './schematic-boolean-option-negated:test', '--watch'], + /noWatch: false/, + ); + + await execAndWaitForOutputToMatch( + 'ng', + ['generate', './schematic-boolean-option-negated:test'], + /'noWatch' option has been declared with a 'no' prefix in the schema/, + ); +} From 0d50661fe6115f8583dd5cd97c22bd4b12ed1e9e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Jun 2022 10:05:23 +0000 Subject: [PATCH 0569/1388] build: add browser-esbuild test infra This commit adds browser-esbuild infra. --- .../angular_devkit/build_angular/BUILD.bazel | 1 + .../builders/browser-esbuild/tests/setup.ts | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/setup.ts diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 27e52e088a19..09108c2cf3fe 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -340,6 +340,7 @@ LARGE_SPECS = { "@npm//popper.js", ], }, + "browser-esbuild": {}, } [ diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/setup.ts new file mode 100644 index 000000000000..fc69d7f8d9a7 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/setup.ts @@ -0,0 +1,32 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Schema } from '../schema'; + +export { describeBuilder } from '../../../testing'; + +export const BROWSER_BUILDER_INFO = Object.freeze({ + name: '@angular-devkit/build-angular:browser-esbuild', + schemaPath: __dirname + '/../schema.json', +}); + +/** + * Contains all required browser builder fields. + * Also disables progress reporting to minimize logging output. + */ +export const BASE_OPTIONS = Object.freeze({ + index: 'src/index.html', + main: 'src/main.ts', + outputPath: 'dist', + tsConfig: 'src/tsconfig.app.json', + progress: false, + + // Disable optimizations + optimization: false, + buildOptimizer: false, +}); From a7709b718c953d83f3bde00fa3bf896501359946 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Jun 2022 10:07:29 +0000 Subject: [PATCH 0570/1388] feat(@angular-devkit/build-angular): add `externalDependencies` to the esbuild browser builder This commit add a new `externalDependencies` option to the experimental browser builder. Dependencies listed in this option will not be included in the final bundle, instead the user would need to provide them at runtime using import maps or another method. Closes #23322 --- .../angular_devkit/build_angular/BUILD.bazel | 6 + .../build_angular/builders.json | 2 +- .../src/builders/browser-esbuild/index.ts | 7 +- .../src/builders/browser-esbuild/schema.json | 542 ++++++++++++++++++ .../options/external-dependencies_spec.ts | 38 ++ 5 files changed, 591 insertions(+), 4 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/external-dependencies_spec.ts diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 09108c2cf3fe..2465b9bf7ff2 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -22,6 +22,11 @@ ts_json_schema( src = "src/builders/browser/schema.json", ) +ts_json_schema( + name = "browser_esbuild_schema", + src = "src/builders/browser-esbuild/schema.json", +) + ts_json_schema( name = "dev_server_schema", src = "src/builders/dev-server/schema.json", @@ -70,6 +75,7 @@ ts_library( ) + [ "//packages/angular_devkit/build_angular:src/builders/app-shell/schema.ts", "//packages/angular_devkit/build_angular:src/builders/browser/schema.ts", + "//packages/angular_devkit/build_angular:src/builders/browser-esbuild/schema.ts", "//packages/angular_devkit/build_angular:src/builders/dev-server/schema.ts", "//packages/angular_devkit/build_angular:src/builders/extract-i18n/schema.ts", "//packages/angular_devkit/build_angular:src/builders/karma/schema.ts", diff --git a/packages/angular_devkit/build_angular/builders.json b/packages/angular_devkit/build_angular/builders.json index 02e68abd3124..4af62d6a7afd 100644 --- a/packages/angular_devkit/build_angular/builders.json +++ b/packages/angular_devkit/build_angular/builders.json @@ -13,7 +13,7 @@ }, "browser-esbuild": { "implementation": "./src/builders/browser-esbuild", - "schema": "./src/builders/browser/schema.json", + "schema": "./src/builders/browser-esbuild/schema.json", "description": "Build a browser application." }, "dev-server": { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index bf945de92ba8..32096e2784a3 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -20,11 +20,11 @@ import { generateEntryPoints } from '../../utils/package-chunk-sort'; import { augmentAppWithServiceWorker } from '../../utils/service-worker'; import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; import { resolveGlobalStyles } from '../../webpack/configs'; -import { Schema as BrowserBuilderOptions, SourceMapClass } from '../browser/schema'; import { createCompilerPlugin } from './compiler-plugin'; import { DEFAULT_OUTDIR, bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; import { normalizeOptions } from './options'; +import { Schema as BrowserBuilderOptions, SourceMapClass } from './schema'; import { bundleStylesheetText } from './stylesheets'; /** @@ -35,7 +35,7 @@ import { bundleStylesheetText } from './stylesheets'; * @returns A promise with the builder result output */ // eslint-disable-next-line max-lines-per-function -export async function execute( +export async function buildEsbuildBrowser( options: BrowserBuilderOptions, context: BuilderContext, ): Promise { @@ -312,6 +312,7 @@ async function bundleCode( sourcemap: sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true), splitting: true, tsconfig, + external: options.externalDependencies, write: false, platform: 'browser', preserveSymlinks: options.preserveSymlinks, @@ -339,4 +340,4 @@ async function bundleCode( }); } -export default createBuilder(execute); +export default createBuilder(buildEsbuildBrowser); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json new file mode 100644 index 000000000000..c392bd055d51 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -0,0 +1,542 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "title": "Esbuild browser schema for Build Facade.", + "description": "Browser target options", + "type": "object", + "properties": { + "assets": { + "type": "array", + "description": "List of static application assets.", + "default": [], + "items": { + "$ref": "#/definitions/assetPattern" + } + }, + "main": { + "type": "string", + "description": "The full path for the main entry point to the app, relative to the current workspace." + }, + "polyfills": { + "type": "string", + "description": "The full path for the polyfills file, relative to the current workspace." + }, + "tsConfig": { + "type": "string", + "description": "The full path for the TypeScript configuration file, relative to the current workspace." + }, + "scripts": { + "description": "Global scripts to be included in the build.", + "type": "array", + "default": [], + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The file to include.", + "pattern": "\\.[cm]?jsx?$" + }, + "bundleName": { + "type": "string", + "pattern": "^[\\w\\-.]*$", + "description": "The bundle name for this extra entry point." + }, + "inject": { + "type": "boolean", + "description": "If the bundle will be referenced in the HTML file.", + "default": true + } + }, + "additionalProperties": false, + "required": ["input"] + }, + { + "type": "string", + "description": "The file to include.", + "pattern": "\\.[cm]?jsx?$" + } + ] + } + }, + "styles": { + "description": "Global styles to be included in the build.", + "type": "array", + "default": [], + "items": { + "oneOf": [ + { + "type": "object", + "properties": { + "input": { + "type": "string", + "description": "The file to include.", + "pattern": "\\.(?:css|scss|sass|less|styl)$" + }, + "bundleName": { + "type": "string", + "pattern": "^[\\w\\-.]*$", + "description": "The bundle name for this extra entry point." + }, + "inject": { + "type": "boolean", + "description": "If the bundle will be referenced in the HTML file.", + "default": true + } + }, + "additionalProperties": false, + "required": ["input"] + }, + { + "type": "string", + "description": "The file to include.", + "pattern": "\\.(?:css|scss|sass|less|styl)$" + } + ] + } + }, + "inlineStyleLanguage": { + "description": "The stylesheet language to use for the application's inline component styles.", + "type": "string", + "default": "css", + "enum": ["css", "less", "sass", "scss"] + }, + "stylePreprocessorOptions": { + "description": "Options to pass to style preprocessors.", + "type": "object", + "properties": { + "includePaths": { + "description": "Paths to include. Paths will be resolved to workspace root.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "additionalProperties": false + }, + "externalDependencies": { + "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "optimization": { + "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.", + "x-user-analytics": 16, + "default": true, + "oneOf": [ + { + "type": "object", + "properties": { + "scripts": { + "type": "boolean", + "description": "Enables optimization of the scripts output.", + "default": true + }, + "styles": { + "description": "Enables optimization of the styles output.", + "default": true, + "oneOf": [ + { + "type": "object", + "properties": { + "minify": { + "type": "boolean", + "description": "Minify CSS definitions by removing extraneous whitespace and comments, merging identifiers and minimizing values.", + "default": true + }, + "inlineCritical": { + "type": "boolean", + "description": "Extract and inline critical CSS definitions to improve first paint time.", + "default": true + } + }, + "additionalProperties": false + }, + { + "type": "boolean" + } + ] + }, + "fonts": { + "description": "Enables optimization for fonts. This option requires internet access. `HTTPS_PROXY` environment variable can be used to specify a proxy server.", + "default": true, + "oneOf": [ + { + "type": "object", + "properties": { + "inline": { + "type": "boolean", + "description": "Reduce render blocking requests by inlining external Google Fonts and Adobe Fonts CSS definitions in the application's HTML index file. This option requires internet access. `HTTPS_PROXY` environment variable can be used to specify a proxy server.", + "default": true + } + }, + "additionalProperties": false + }, + { + "type": "boolean" + } + ] + } + }, + "additionalProperties": false + }, + { + "type": "boolean" + } + ] + }, + "fileReplacements": { + "description": "Replace compilation source files with other compilation source files in the build.", + "type": "array", + "items": { + "$ref": "#/definitions/fileReplacement" + }, + "default": [] + }, + "outputPath": { + "type": "string", + "description": "The full path for the new output directory, relative to the current workspace.\nBy default, writes output to a folder named dist/ in the current project." + }, + "resourcesOutputPath": { + "type": "string", + "description": "The path where style resources will be placed, relative to outputPath." + }, + "aot": { + "type": "boolean", + "description": "Build using Ahead of Time compilation.", + "x-user-analytics": 13, + "default": true + }, + "sourceMap": { + "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.", + "default": false, + "oneOf": [ + { + "type": "object", + "properties": { + "scripts": { + "type": "boolean", + "description": "Output source maps for all scripts.", + "default": true + }, + "styles": { + "type": "boolean", + "description": "Output source maps for all styles.", + "default": true + }, + "hidden": { + "type": "boolean", + "description": "Output source maps used for error reporting tools.", + "default": false + }, + "vendor": { + "type": "boolean", + "description": "Resolve vendor packages source maps.", + "default": false + } + }, + "additionalProperties": false + }, + { + "type": "boolean" + } + ] + }, + "vendorChunk": { + "type": "boolean", + "description": "Generate a seperate bundle containing only vendor libraries. This option should only used for development.", + "default": false + }, + "commonChunk": { + "type": "boolean", + "description": "Generate a seperate bundle containing code used across multiple bundles.", + "default": true + }, + "baseHref": { + "type": "string", + "description": "Base url for the application being built." + }, + "deployUrl": { + "type": "string", + "description": "URL where files will be deployed.", + "x-deprecated": "Use \"baseHref\" option, \"APP_BASE_HREF\" DI token or a combination of both instead. For more information, see https://angular.io/guide/deployment#the-deploy-url." + }, + "verbose": { + "type": "boolean", + "description": "Adds more details to output logging.", + "default": false + }, + "progress": { + "type": "boolean", + "description": "Log progress to the console while building.", + "default": true + }, + "i18nMissingTranslation": { + "type": "string", + "description": "How to handle missing translations for i18n.", + "enum": ["warning", "error", "ignore"], + "default": "warning" + }, + "i18nDuplicateTranslation": { + "type": "string", + "description": "How to handle duplicate translations for i18n.", + "enum": ["warning", "error", "ignore"], + "default": "warning" + }, + "localize": { + "description": "Translate the bundles in one or more locales.", + "oneOf": [ + { + "type": "boolean", + "description": "Translate all locales." + }, + { + "type": "array", + "description": "List of locales ID's to translate.", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-[a-zA-Z]{5,8})?(-x(-[a-zA-Z0-9]{1,8})+)?$" + } + } + ] + }, + "watch": { + "type": "boolean", + "description": "Run build when files change.", + "default": false + }, + "outputHashing": { + "type": "string", + "description": "Define the output filename cache-busting hashing mode.", + "default": "none", + "enum": ["none", "all", "media", "bundles"] + }, + "poll": { + "type": "number", + "description": "Enable and define the file watching poll time period in milliseconds." + }, + "deleteOutputPath": { + "type": "boolean", + "description": "Delete the output path before building.", + "default": true + }, + "preserveSymlinks": { + "type": "boolean", + "description": "Do not use the real path when resolving modules. If unset then will default to `true` if NodeJS option --preserve-symlinks is set." + }, + "extractLicenses": { + "type": "boolean", + "description": "Extract all licenses in a separate file.", + "default": true + }, + "buildOptimizer": { + "type": "boolean", + "description": "Enables advanced build optimizations when using the 'aot' option.", + "default": true + }, + "namedChunks": { + "type": "boolean", + "description": "Use file name for lazy loaded chunks.", + "default": false + }, + "subresourceIntegrity": { + "type": "boolean", + "description": "Enables the use of subresource integrity validation.", + "default": false + }, + "serviceWorker": { + "type": "boolean", + "description": "Generates a service worker config for production builds.", + "default": false + }, + "ngswConfigPath": { + "type": "string", + "description": "Path to ngsw-config.json." + }, + "index": { + "description": "Configures the generation of the application's HTML index.", + "oneOf": [ + { + "type": "string", + "description": "The path of a file to use for the application's HTML index. The filename of the specified path will be used for the generated file and will be created in the root of the application's configured output path." + }, + { + "type": "object", + "description": "", + "properties": { + "input": { + "type": "string", + "minLength": 1, + "description": "The path of a file to use for the application's generated HTML index." + }, + "output": { + "type": "string", + "minLength": 1, + "default": "index.html", + "description": "The output path of the application's generated HTML index file. The full provided path will be used and will be considered relative to the application's configured output path." + } + }, + "required": ["input"] + } + ] + }, + "statsJson": { + "type": "boolean", + "description": "Generates a 'stats.json' file which can be analyzed using tools such as 'webpack-bundle-analyzer'.", + "default": false + }, + "budgets": { + "description": "Budget thresholds to ensure parts of your application stay within boundaries which you set.", + "type": "array", + "items": { + "$ref": "#/definitions/budget" + }, + "default": [] + }, + "webWorkerTsConfig": { + "type": "string", + "description": "TypeScript configuration for Web Worker modules." + }, + "crossOrigin": { + "type": "string", + "description": "Define the crossorigin attribute setting of elements that provide CORS support.", + "default": "none", + "enum": ["none", "anonymous", "use-credentials"] + }, + "allowedCommonJsDependencies": { + "description": "A list of CommonJS packages that are allowed to be used without a build time warning.", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "additionalProperties": false, + "required": ["outputPath", "index", "main", "tsConfig"], + "definitions": { + "assetPattern": { + "oneOf": [ + { + "type": "object", + "properties": { + "followSymlinks": { + "type": "boolean", + "default": false, + "description": "Allow glob patterns to follow symlink directories. This allows subdirectories of the symlink to be searched." + }, + "glob": { + "type": "string", + "description": "The pattern to match." + }, + "input": { + "type": "string", + "description": "The input directory path in which to apply 'glob'. Defaults to the project root." + }, + "ignore": { + "description": "An array of globs to ignore.", + "type": "array", + "items": { + "type": "string" + } + }, + "output": { + "type": "string", + "description": "Absolute path within the output." + } + }, + "additionalProperties": false, + "required": ["glob", "input", "output"] + }, + { + "type": "string" + } + ] + }, + "fileReplacement": { + "oneOf": [ + { + "type": "object", + "properties": { + "src": { + "type": "string", + "pattern": "\\.(([cm]?j|t)sx?|json)$" + }, + "replaceWith": { + "type": "string", + "pattern": "\\.(([cm]?j|t)sx?|json)$" + } + }, + "additionalProperties": false, + "required": ["src", "replaceWith"] + }, + { + "type": "object", + "properties": { + "replace": { + "type": "string", + "pattern": "\\.(([cm]?j|t)sx?|json)$" + }, + "with": { + "type": "string", + "pattern": "\\.(([cm]?j|t)sx?|json)$" + } + }, + "additionalProperties": false, + "required": ["replace", "with"] + } + ] + }, + "budget": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of budget.", + "enum": ["all", "allScript", "any", "anyScript", "anyComponentStyle", "bundle", "initial"] + }, + "name": { + "type": "string", + "description": "The name of the bundle." + }, + "baseline": { + "type": "string", + "description": "The baseline size for comparison." + }, + "maximumWarning": { + "type": "string", + "description": "The maximum threshold for warning relative to the baseline." + }, + "maximumError": { + "type": "string", + "description": "The maximum threshold for error relative to the baseline." + }, + "minimumWarning": { + "type": "string", + "description": "The minimum threshold for warning relative to the baseline." + }, + "minimumError": { + "type": "string", + "description": "The minimum threshold for error relative to the baseline." + }, + "warning": { + "type": "string", + "description": "The threshold for warning relative to the baseline (min & max)." + }, + "error": { + "type": "string", + "description": "The threshold for error relative to the baseline (min & max)." + } + }, + "additionalProperties": false, + "required": ["type"] + } + } +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/external-dependencies_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/external-dependencies_spec.ts new file mode 100644 index 000000000000..fd3d4f5c87d5 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/external-dependencies_spec.ts @@ -0,0 +1,38 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "externalDependencies"', () => { + it('should not externalize any dependency when option is not set', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + harness.expectFile('dist/main.js').content.not.toMatch(/from ['"]@angular\/core['"]/); + harness.expectFile('dist/main.js').content.not.toMatch(/from ['"]@angular\/common['"]/); + }); + + it('should only externalize the listed depedencies when option is set', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + externalDependencies: ['@angular/core'], + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/main.js').content.toMatch(/from ['"]@angular\/core['"]/); + harness.expectFile('dist/main.js').content.not.toMatch(/from ['"]@angular\/common['"]/); + }); + }); +}); From 3884b865262c1ffa5652ac0f4d67bbf59087f453 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Jun 2022 14:45:23 +0000 Subject: [PATCH 0571/1388] fix(@angular/cli): add esbuild browser builder to workspace schema --- packages/angular/cli/BUILD.bazel | 1 + .../cli/lib/config/workspace-schema.json | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 137a76924f06..6ee0cb797b21 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -85,6 +85,7 @@ ts_library( CLI_SCHEMA_DATA = [ "//packages/angular_devkit/build_angular:src/builders/app-shell/schema.json", "//packages/angular_devkit/build_angular:src/builders/browser/schema.json", + "//packages/angular_devkit/build_angular:src/builders/browser-esbuild/schema.json", "//packages/angular_devkit/build_angular:src/builders/dev-server/schema.json", "//packages/angular_devkit/build_angular:src/builders/extract-i18n/schema.json", "//packages/angular_devkit/build_angular:src/builders/karma/schema.json", diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index f7a9833c269d..ce60b46627b1 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -341,6 +341,7 @@ "enum": [ "@angular-devkit/build-angular:app-shell", "@angular-devkit/build-angular:browser", + "@angular-devkit/build-angular:browser-esbuild", "@angular-devkit/build-angular:dev-server", "@angular-devkit/build-angular:extract-i18n", "@angular-devkit/build-angular:karma", @@ -412,6 +413,28 @@ } } }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "builder": { + "const": "@angular-devkit/build-angular:browser-esbuild" + }, + "defaultConfiguration": { + "type": "string", + "description": "A default named configuration to use when a target configuration is not provided." + }, + "options": { + "$ref": "../../../../angular_devkit/build_angular/src/builders/browser-esbuild/schema.json" + }, + "configurations": { + "type": "object", + "additionalProperties": { + "$ref": "../../../../angular_devkit/build_angular/src/builders/browser-esbuild/schema.json" + } + } + } + }, { "type": "object", "additionalProperties": false, From 1af3f71aa26047a6baac815c0495b1a676c2c861 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 21 Jun 2022 12:58:13 +0000 Subject: [PATCH 0572/1388] fix(@angular-devkit/core): workspace writer skip creating empty projects property Before ```json { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "projects": {}, "cli": { "analytics": false, "warnings": { "versionMismatch": false } } } ```` After ```json { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "cli": { "analytics": false, "warnings": { "versionMismatch": false } } } ``` --- packages/angular_devkit/core/src/workspace/json/writer.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/workspace/json/writer.ts b/packages/angular_devkit/core/src/workspace/json/writer.ts index b661a4bb5f94..7d5d5df05c7f 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer.ts @@ -53,7 +53,9 @@ function convertJsonWorkspace(workspace: WorkspaceDefinition, schema?: string): $schema: schema || './node_modules/@angular/cli/lib/config/schema.json', version: 1, ...workspace.extensions, - projects: workspace.projects ? convertJsonProjectCollection(workspace.projects) : {}, + ...(isEmpty(workspace.projects) + ? {} + : { projects: convertJsonProjectCollection(workspace.projects) }), }; return obj; From dc4ab561fae24e0fd4ce0a4b4a3d88f8e8fc1a49 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Jun 2022 13:07:45 +0000 Subject: [PATCH 0573/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 6 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++------ yarn.lock | 55 ++++++++++--------- 6 files changed, 51 insertions(+), 50 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 9d944b846e01..e683f83a1ede 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@684962a29f0beba95e0b1ecfd360760e7f011041 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@860ebf16b8617ce999394c2c70a8af307bb0ddc2 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@684962a29f0beba95e0b1ecfd360760e7f011041 + - uses: angular/dev-infra/github-actions/post-approval-changes@860ebf16b8617ce999394c2c70a8af307bb0ddc2 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index c600b87af507..ec33b7fddee9 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@684962a29f0beba95e0b1ecfd360760e7f011041 + - uses: angular/dev-infra/github-actions/feature-request@860ebf16b8617ce999394c2c70a8af307bb0ddc2 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 392d43a37ac9..3bf46bc747b7 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@684962a29f0beba95e0b1ecfd360760e7f011041 + - uses: angular/dev-infra/github-actions/lock-closed@860ebf16b8617ce999394c2c70a8af307bb0ddc2 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 5c20c1bec0f3..20c427978dda 100644 --- a/package.json +++ b/package.json @@ -65,15 +65,15 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.0.2", - "@angular/cdk": "14.0.1", + "@angular/cdk": "14.0.2", "@angular/common": "14.0.2", "@angular/compiler": "14.0.2", "@angular/compiler-cli": "14.0.2", "@angular/core": "14.0.2", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#132c156fd32ea70e3755df0fdb211ef5b6299936", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2", "@angular/forms": "14.0.2", "@angular/localize": "14.0.2", - "@angular/material": "14.0.1", + "@angular/material": "14.0.2", "@angular/platform-browser": "14.0.2", "@angular/platform-browser-dynamic": "14.0.2", "@angular/platform-server": "14.0.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index eb369fa02d55..d8f77535a339 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#65ade0eb901a6e01edc0ecc4c25bba000846cad6", - "@angular/cdk": "github:angular/cdk-builds#7eabf3b9aeb663f64c3ee84dbfeee07d3ffb1979", - "@angular/common": "github:angular/common-builds#a77720b1171b13c7f4d2a9da6bae694cd5608832", - "@angular/compiler": "github:angular/compiler-builds#90effdc305a03099d8a609fa1d4968ebaaab46ff", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a5be927233619add907a09e0c3d0066f68dbdeb0", - "@angular/core": "github:angular/core-builds#75d63bda3f0a84b76e17743d656d4be021b362aa", - "@angular/forms": "github:angular/forms-builds#88cd617ef575c4c3f82899415dda52fbabbceb66", - "@angular/language-service": "github:angular/language-service-builds#4b882479b56eae8673fae8d49d799eb1f2d89b35", - "@angular/localize": "github:angular/localize-builds#007c94b9770329b8453f1b87760c1403c423a7d4", - "@angular/material": "github:angular/material-builds#70d2b455eddd6e40551cd20739e2dedf0d12c360", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#18436ddc016045ab0fe33cb41991156c10b3e82b", - "@angular/platform-browser": "github:angular/platform-browser-builds#d02a68d18b6a1f8b843650a82d701673b4e7a1c5", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#1dbffc1630b32bd218ea38c439fa3ca5f49ea42d", - "@angular/platform-server": "github:angular/platform-server-builds#9d0000339389a33a20520a19c97c27b6e7f6e5eb", - "@angular/router": "github:angular/router-builds#19e8f6bcc9f35fb812f81ec302d385f6030c5b6d", - "@angular/service-worker": "github:angular/service-worker-builds#68d7490998802ca5d57a0786f1119c79c30ff565" + "@angular/animations": "github:angular/animations-builds#0303e5a8faf898ec1f74775fb19011a6e02a1d69", + "@angular/cdk": "github:angular/cdk-builds#c92ea49755de36f3c591b5cc3aeb686b5f047b11", + "@angular/common": "github:angular/common-builds#d5bc65ee40f4d05b346424f88d676b788cec5456", + "@angular/compiler": "github:angular/compiler-builds#d1fb884572df6ed88711ba5c499e11dc02b446b5", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a39cef75a459264cd585ee3fa564e588bc94bf44", + "@angular/core": "github:angular/core-builds#36d63aa672093ab885f302e4013cb6527800fcf7", + "@angular/forms": "github:angular/forms-builds#597f026e3d4b84ee7234d73a7ed0acb2f9270490", + "@angular/language-service": "github:angular/language-service-builds#bf5c5be10a9830556ec6544af22a63ce27fb8988", + "@angular/localize": "github:angular/localize-builds#332c2cd1751e70d608d95a3c557f7e68af32ce7a", + "@angular/material": "github:angular/material-builds#cc4aec7295f838c67795afdaf4b3512240708d8b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#17c31b767a34d80d2602a5b93e7cbc5bb53187b2", + "@angular/platform-browser": "github:angular/platform-browser-builds#0298e52e259852bd5f324cb973cb56e5bb418fad", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#37a78c55409762b442fd0597156fdd2d3fe93b63", + "@angular/platform-server": "github:angular/platform-server-builds#56eac8000e3616cf641e785125ef1f2ccc7e2fdd", + "@angular/router": "github:angular/router-builds#4b80aff10ed7153ff12a645d27e72eb486fc85ea", + "@angular/service-worker": "github:angular/service-worker-builds#fc80ffbccb9fcc14c674c6689cf9562d1eea7eb9" } } diff --git a/yarn.lock b/yarn.lock index f88099934fde..69a9df7d1cf6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.1.tgz#fda9480461f4e37e6b514f0aaef6500503b89d59" - integrity sha512-kiCzcNaUjJ/muxUk1OyIl9tuSlt2PzY3vO6A0/mRUGk7ejXbiN07jZCgNAQuWNcvaLpAtqTi7sWOVNUNooCgxw== +"@angular/cdk@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.2.tgz#49755c854c4fa3ab64d91d9855bcd1807f9945c5" + integrity sha512-751Sshu+HKYOqmnGRriHjd4ybMradgkLYOM9dBoX7YFpZce+IcEtojALGfLA4YDZwJF2RhBD6lFcJdWJPC9wCw== dependencies: tslib "^2.3.0" optionalDependencies: @@ -175,9 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#132c156fd32ea70e3755df0fdb211ef5b6299936": - version "0.0.0-642f77e231f3346605832ba85e63b04da26c6dcf" - resolved "https://github.com/angular/dev-infra-private-builds.git#132c156fd32ea70e3755df0fdb211ef5b6299936" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2": + version "0.0.0-860ebf16b8617ce999394c2c70a8af307bb0ddc2" + uid "262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2" + resolved "https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2" dependencies: "@angular-devkit/build-angular" "14.1.0-next.1" "@angular/benchpress" "0.3.0" @@ -189,7 +190,7 @@ "@bazel/runfiles" "5.5.0" "@bazel/terser" "5.5.0" "@bazel/typescript" "5.5.0" - "@microsoft/api-extractor" "7.25.1" + "@microsoft/api-extractor" "7.25.2" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -227,10 +228,10 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.1": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.1.tgz#ad127e3c9908aab719e9e2aaec368099e79dad1c" - integrity sha512-SkH7MCfFBRj/+HP/JwYiYHd8uo38qtwR66hZKQcP2XaQgO323llVQ27MB+TRkbxO2mifpP2gh40nJCv6KaNsxg== +"@angular/material@14.0.2": + version "14.0.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.2.tgz#6a2b74d2b8767c69a58a3af520b3b979aea7e733" + integrity sha512-w1QHmQK02eF4mZZ6mixgKNaIp0cg71MQEDgoeZppUjrOij2TYkorHhT9Ma2XguV5Xi2wSGoGUzNKJ0OucB8hLA== dependencies: tslib "^2.3.0" @@ -1493,24 +1494,24 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.18.1": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.18.1.tgz#8c8e699ff5ce0e352add5b6df67186af6ac5733c" - integrity sha512-aF9b9KU4+LCcXRbpwa+c/jOMZDsbomkehbjVNRMfCcRueeZ5KyBiERxWwc/Vk1mBFmDqkvYjK7RUxWYT2BsLAw== +"@microsoft/api-extractor-model@7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.18.2.tgz#def74be8bc785beb9a6f52a0a4c0b9f8f782e587" + integrity sha512-m7MCvJrudnWyE4iuRhdmgJTdTkYLw+yN/XUp3y9sxicu5/mNdg8y4pflaM82ZbLakhfGreMlB/XgjvyGbLHwkA== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.6" + "@rushstack/node-core-library" "3.45.7" -"@microsoft/api-extractor@7.25.1": - version "7.25.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.25.1.tgz#06132e4ec0965c18cf34bb2ad8ffe0a351e57cef" - integrity sha512-/RE3G1oGD5d1QNhXdapVsFfgYIadLrhl9jjYIheADC54Jetwdb/Oc3rZpZiyoeYLBPl0JVWUplc94QdfvhvmaA== +"@microsoft/api-extractor@7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.25.2.tgz#365639ad7409dcc1ccdfdd9ba35db99592a41531" + integrity sha512-ITuiZqMszZE38dGqavkFFIAW/GQGfkk8ahgBqVj3j1qD4wioPTRlSidhQDCezExAhrMt/bTkuZ3woLeR0uiSsg== dependencies: - "@microsoft/api-extractor-model" "7.18.1" + "@microsoft/api-extractor-model" "7.18.2" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.6" + "@rushstack/node-core-library" "3.45.7" "@rushstack/rig-package" "0.3.12" "@rushstack/ts-command-line" "4.11.1" colors "~1.2.1" @@ -1719,10 +1720,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.6": - version "3.45.6" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.6.tgz#a69fab7022132d80a6d1ab78e26ace6ea5d4285d" - integrity sha512-RKGjkakEPcc5em1Dej6ql8OQobofp1IPKUDU2angme5XH7BFJzL5CAuU4zxIXaS8IT5HUV3WXd/GIkPAnrKNyw== +"@rushstack/node-core-library@3.45.7": + version "3.45.7" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.7.tgz#e959820a6db067c278c20df51503e2bc422e9349" + integrity sha512-DHfOvgPrm9X4uILlUfGgiqcobe5QGNDmqqYLM8dJ5M5fqQ9H5GwyUwBnFeRsxBo0b75RE83l41Oze+gdHKvKaA== dependencies: "@types/node" "12.20.24" colors "~1.2.1" From 88e8169f2802e4aa1e6147856224237f9b9f07e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Jun 2022 06:02:08 +0000 Subject: [PATCH 0574/1388] build: update github/codeql-action action to v2.1.13 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 39515225e785..e6184ed0599a 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@27ea8f8fe5977c00f5b37e076ab846c5bd783b96 # tag=v2.1.12 + uses: github/codeql-action/upload-sarif@d00e8c09a38ef8c1ca1091fc55ef490776d2de73 # tag=v2.1.13 with: sarif_file: results.sarif From 8431b3f0769b5f95b9e13807a09293d820c4b017 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 22 Jun 2022 15:09:25 -0400 Subject: [PATCH 0575/1388] test: improve resilience of E2E postinstall check to package hoisting False positive package paths are now checked relative to their containing `node_modules` directory. This avoids issues checking the paths when the package manager changes its hoisting strategy for one of the affected paths. --- .../e2e/tests/misc/check-postinstalls.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts b/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts index 18fefcc907de..ecd605eb97c4 100644 --- a/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts +++ b/tests/legacy-cli/e2e/tests/misc/check-postinstalls.ts @@ -13,16 +13,24 @@ const POTENTIAL_SCRIPTS: ReadonlyArray = ['preinstall', 'install', 'post // Some packages include test and/or example code that causes false positives const FALSE_POSITIVE_PATHS: ReadonlySet = new Set([ - 'node_modules/jasmine-spec-reporter/examples/protractor/package.json', - 'node_modules/resolve/test/resolver/multirepo/package.json', + 'jasmine-spec-reporter/examples/protractor/package.json', + 'resolve/test/resolver/multirepo/package.json', ]); +const INNER_NODE_MODULES_SEGMENT = '/node_modules/'; + export default async function () { const manifestPaths = await globAsync('node_modules/**/package.json'); const newPackages: string[] = []; for (const manifestPath of manifestPaths) { - if (FALSE_POSITIVE_PATHS.has(manifestPath)) { + const lastNodeModuleIndex = manifestPath.lastIndexOf(INNER_NODE_MODULES_SEGMENT); + const packageRelativePath = manifestPath.slice( + lastNodeModuleIndex === -1 + ? INNER_NODE_MODULES_SEGMENT.length - 1 + : lastNodeModuleIndex + INNER_NODE_MODULES_SEGMENT.length, + ); + if (FALSE_POSITIVE_PATHS.has(packageRelativePath)) { continue; } From 83b51ec0174fdeb5109b1a06397bf0c8185bd439 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 23 Jun 2022 12:13:06 +0000 Subject: [PATCH 0576/1388] build: avoid use of ts-node wrapper script as it breaks child process forking `ts-node` spawns a custom node launcher script and has a brotli-base64 encoded configuration that will point to the user-provided entry-point. This breaks child process forking as we wouldn't be able to specify our custom build worker and basically `ng-dev` would run inside `ng-dev` again. --- package.json | 3 ++- yarn.lock | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 20c427978dda..116a2be7bbe9 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "build:bazel": "node ./bin/devkit-admin build-bazel", "build-tsc": "tsc -p tsconfig.json", "lint": "eslint --cache --max-warnings=0 \"**/*.ts\"", - "ng-dev": "ts-node --esm --project .ng-dev/tsconfig.json node_modules/@angular/dev-infra-private/ng-dev/bundles/cli.mjs", + "ng-dev": "cross-env TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json TS_NODE_TRANSPILE_ONLY=1 node --no-warnings --loader ts-node/esm node_modules/@angular/dev-infra-private/ng-dev/bundles/cli.mjs", "templates": "node ./bin/devkit-admin templates", "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", @@ -135,6 +135,7 @@ "chokidar": "^3.5.2", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", + "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", "esbuild": "0.14.42", diff --git a/yarn.lock b/yarn.lock index 69a9df7d1cf6..834945636a0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -177,7 +177,6 @@ "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2": version "0.0.0-860ebf16b8617ce999394c2c70a8af307bb0ddc2" - uid "262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2" resolved "https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2" dependencies: "@angular-devkit/build-angular" "14.1.0-next.1" @@ -3809,6 +3808,13 @@ critters@0.0.16: postcss "^8.3.7" pretty-bytes "^5.3.0" +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + cross-fetch@3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" @@ -3816,7 +3822,7 @@ cross-fetch@3.1.5: dependencies: node-fetch "2.6.7" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== From 1fc7d4f56b00f6aa6f2ebb4db7675e84c94062a2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 23 Jun 2022 11:36:56 +0000 Subject: [PATCH 0577/1388] fix(@angular-devkit/build-angular): ignore supported browsers during i18n extraction Since extraction doesn't work on the browser we can ignore the `supportedBrowsers` configuration during message extraction. Closes #23420 --- .../angular_devkit/build_angular/src/babel/webpack-loader.ts | 2 +- .../build_angular/src/builders/extract-i18n/index.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index aa2845fd666e..14b0e817da8b 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -125,7 +125,7 @@ export default custom(() => { customOptions.forcePresetEnv = true; // Comparable behavior to tsconfig target of ES5 customOptions.supportedBrowsers = ['IE 9']; - } else if (isJsFile) { + } else if (isJsFile && customOptions.supportedBrowsers?.length) { // Applications code ES version can be controlled using TypeScript's `target` option. // However, this doesn't effect libraries and hence we use preset-env to downlevel ES fetaures // based on the supported browsers in browserlist. diff --git a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts index ebecd06f9211..2c14aba79659 100644 --- a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts @@ -233,6 +233,8 @@ export async function execute( return partials; }, + // During extraction we don't need specific browser support. + { supportedBrowsers: undefined }, ); // All the localize usages are setup to first try the ESM entry point then fallback to the deep imports. From 0922cce936aa74d1a96b831c0947470998fc899e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Jun 2022 05:51:00 +0000 Subject: [PATCH 0578/1388] build: update angular --- package.json | 24 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 26 ++--- yarn.lock | 96 +++++++++---------- 4 files changed, 75 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 116a2be7bbe9..58f9cba20352 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.2", + "@angular/animations": "14.0.3", "@angular/cdk": "14.0.2", - "@angular/common": "14.0.2", - "@angular/compiler": "14.0.2", - "@angular/compiler-cli": "14.0.2", - "@angular/core": "14.0.2", + "@angular/common": "14.0.3", + "@angular/compiler": "14.0.3", + "@angular/compiler-cli": "14.0.3", + "@angular/core": "14.0.3", "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2", - "@angular/forms": "14.0.2", - "@angular/localize": "14.0.2", + "@angular/forms": "14.0.3", + "@angular/localize": "14.0.3", "@angular/material": "14.0.2", - "@angular/platform-browser": "14.0.2", - "@angular/platform-browser-dynamic": "14.0.2", - "@angular/platform-server": "14.0.2", - "@angular/router": "14.0.2", - "@angular/service-worker": "14.0.2", + "@angular/platform-browser": "14.0.3", + "@angular/platform-browser-dynamic": "14.0.3", + "@angular/platform-server": "14.0.3", + "@angular/router": "14.0.3", + "@angular/service-worker": "14.0.3", "@babel/core": "7.18.2", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 48d784529514..bf2aab1328ae 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.2", - "@angular/compiler-cli": "14.0.2", + "@angular/compiler": "14.0.3", + "@angular/compiler-cli": "14.0.3", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d8f77535a339..f533d0dd18c4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#0303e5a8faf898ec1f74775fb19011a6e02a1d69", + "@angular/animations": "github:angular/animations-builds#e788746d9518e8c8673db7ea3254aaacbe4517b1", "@angular/cdk": "github:angular/cdk-builds#c92ea49755de36f3c591b5cc3aeb686b5f047b11", - "@angular/common": "github:angular/common-builds#d5bc65ee40f4d05b346424f88d676b788cec5456", - "@angular/compiler": "github:angular/compiler-builds#d1fb884572df6ed88711ba5c499e11dc02b446b5", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a39cef75a459264cd585ee3fa564e588bc94bf44", - "@angular/core": "github:angular/core-builds#36d63aa672093ab885f302e4013cb6527800fcf7", - "@angular/forms": "github:angular/forms-builds#597f026e3d4b84ee7234d73a7ed0acb2f9270490", - "@angular/language-service": "github:angular/language-service-builds#bf5c5be10a9830556ec6544af22a63ce27fb8988", - "@angular/localize": "github:angular/localize-builds#332c2cd1751e70d608d95a3c557f7e68af32ce7a", + "@angular/common": "github:angular/common-builds#3a5d7e6299eab7e50031496285bf3a80b20a343b", + "@angular/compiler": "github:angular/compiler-builds#b2edcedd30613005079ac0770502ceec4e542549", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a31c5cf84f2c245a3f898dd755f8d72d6680439a", + "@angular/core": "github:angular/core-builds#ff85b12544ee806b3e2eda0811b8f84ca0b8b856", + "@angular/forms": "github:angular/forms-builds#805bc4225cc694267365b641d24864236d4479fa", + "@angular/language-service": "github:angular/language-service-builds#ef9da50729d1c34fc9e795bf431892312a2c8de2", + "@angular/localize": "github:angular/localize-builds#67edc86b3cd233d34362ba7925041a60ded343e2", "@angular/material": "github:angular/material-builds#cc4aec7295f838c67795afdaf4b3512240708d8b", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#17c31b767a34d80d2602a5b93e7cbc5bb53187b2", - "@angular/platform-browser": "github:angular/platform-browser-builds#0298e52e259852bd5f324cb973cb56e5bb418fad", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#37a78c55409762b442fd0597156fdd2d3fe93b63", - "@angular/platform-server": "github:angular/platform-server-builds#56eac8000e3616cf641e785125ef1f2ccc7e2fdd", - "@angular/router": "github:angular/router-builds#4b80aff10ed7153ff12a645d27e72eb486fc85ea", - "@angular/service-worker": "github:angular/service-worker-builds#fc80ffbccb9fcc14c674c6689cf9562d1eea7eb9" + "@angular/platform-browser": "github:angular/platform-browser-builds#88f480cf49c7cdc9c442ffc8079b72624c34ae4f", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3e7fe6e15dff6fb820724bae4964f3a02fbbc80a", + "@angular/platform-server": "github:angular/platform-server-builds#b6eee3a80af3bd96d495c08236a4f49f572614c8", + "@angular/router": "github:angular/router-builds#f67440be092ca30a1c47ad49e1c62ea3aa9fff8d", + "@angular/service-worker": "github:angular/service-worker-builds#4af6d0abe3ec8a582317f7f02bf9a6bc59a9e161" } } diff --git a/yarn.lock b/yarn.lock index 834945636a0e..e4a8c8547c0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.2.tgz#12959e97cdc501c56135dd2befc4fd0215a9fd3e" - integrity sha512-F65G62clU+8tpYXkRGTeQ8nNlyUsviJp9fFTMFXZTm0EHUCiHB6PRf5vpp7edN0Hy+moG6rKt8VnKbraFqaO1g== +"@angular/animations@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.3.tgz#1d4073c59874ec2170affb22ced4e1db5e2b5112" + integrity sha512-BQ9XnllnXhjE/hkPs6U3nPFPmOIT0wBvm+uIQFG+hgs+SKqW5NQB33HYMHKOgC0ENvqaScp+cMmI0Xuc6VAolQ== dependencies: tslib "^2.3.0" @@ -131,17 +131,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.2.tgz#af18c23b24ca5bae5d2624361cad8eafe5385efd" - integrity sha512-vNZpun9ymZEDJ0CWskTZZqCbuCumgYxbsZgp9nALnRAJt3fK8fRFgIZTn7smEXvbStL4PvngnvESa/t9Jd4wMg== +"@angular/common@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.3.tgz#7ecbb79b0382e58ef95340d4c8726e51294b62b7" + integrity sha512-JOM6gILQ3+9fOq4r2umdEP2T2t45k7+V19AqNYgV4HVAR392wCc+rYbdq9eqszMUNfUUBxA/ZfDcGYUu/C/gdA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.2.tgz#2dbf6fb8875a0919156d7923ee6bb4c9cb2f22c3" - integrity sha512-S5vT6k0FF/rC8n1AnWaA1HMBr1/9TSxsOXNB0eSwjRATZ9SIe2oWmt9m7CmHltXYLbGIshy482H6sGs2Usu6+A== +"@angular/compiler-cli@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.3.tgz#29dcc9b677bc70cd9fe181697d213dab18de83c2" + integrity sha512-+L6mp/NlY2t2CGK6Nr1z+TBA0gkQd2xa5NyEfVP32kc9LN5VtSNdTFEYcwwux3IdtiBnEgppCdO9cmnIIcyfMQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,17 +154,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.2.tgz#30c7c55ca1e2dca73a84f09a24df12e50c57c78f" - integrity sha512-d2YS0h51DbodTWbXRwBrF7Jn8SX3FggITlLj4kan7oDvCpNRp+pKv6NifU2EZKOBUKYc3o6FBxj1oNbnqK/7cg== +"@angular/compiler@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.3.tgz#6588baa88c8fbed1ab9c9a627da81ab93d197c28" + integrity sha512-KfQgr9uptguZOUTA1zOvGpSraU8MQ46Sl0uW1xEppEzLzUqmkDcDClQo3IFV61qBEDyvsWEig4BqhN9EDVu+iw== dependencies: tslib "^2.3.0" -"@angular/core@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.2.tgz#298885081dfa6f4ce0fcb06233c62c7a32bb5caa" - integrity sha512-JR+xVuNjGYEP5mdm3iQykcRFjrhSKbN5yxKxlVdKpNtUsR2Yc9Nf180Y2+Oo6KabtywGedIBH/Xd6mhwQQv3vg== +"@angular/core@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.3.tgz#939efb1016a64f872e9793383425756826544644" + integrity sha512-Z71BrEIJuMGm/BdK9Lh8IJwADQqA8qPeUVppCs67CABZdwA3sK0kC+iobauWXcweXU30BdQYc7HyZe2x7rcdmQ== dependencies: tslib "^2.3.0" @@ -211,17 +211,17 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.2.tgz#f90c532865c74a6355eb7c6bcced013ba340829d" - integrity sha512-sOLes/B7YkRocZExsxi1H+OIBFbSpVB6+i8+6cQK2ZIwXQMxCZm95PL42rMqWEOJhEuVyR3U47bjA2G4eC3TKg== +"@angular/forms@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.3.tgz#633318bee23feda4d2ef2caca60685ad57ec5cca" + integrity sha512-ubsOdG/ZocYf/WT7c07eeBbqImjY1R7x+lMPNguCoRFcTtc9VQk5ePL/e5UROW6FKl4+f4NzMLHBL2aUYXsMTw== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.2.tgz#3bb32713f62649c1ecd65abf7f755da299d1e449" - integrity sha512-m6fNQNnua0kYkyqtaemATcJopaNigSZTEo1m905pwtcD/GPLFl+wItbBnZqBTa3DsI1Oxwo6K0ZNcInnUYNXvQ== +"@angular/localize@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.3.tgz#b2e33f488e0ce595a1deae571e2311d086abf52a" + integrity sha512-iy15R4Q0J2gXCzEATUeMsaVua08CZt3e3L0lae2qccR2R4j34VGVjc4D9Kh7jcTtZLHZpKWbf6DSxGVnZWXJUw== dependencies: "@babel/core" "7.18.2" glob "8.0.3" @@ -234,40 +234,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.2.tgz#eab61d38f21aa6f3d19a6d893ca2c68cb8f2675e" - integrity sha512-KPGpfMBugXojQPrcqlZ8mNBMiUHkREszuVwnpvkuwrPSnygGNzj8HAdu1c1sTPX7uirhW6QEWGmwXFKURTmnwQ== +"@angular/platform-browser-dynamic@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.3.tgz#5e97a59536a15801b10d97f1b737db9b7d1f55f2" + integrity sha512-kO6uZ5r5CDWCePxEMpjhHPCt2aba4TCKT3l2HilWLW/9/lr2oFMwiFM/akoQdvLT6h9W8ZeHisD8V7DWP373JA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.2.tgz#08639f6158cb1bdfd017466db0aa6b19384237d7" - integrity sha512-FeBXo3GmJOGitBIKrpuZOfBpfDqMh4QqZZmHMIXunELgrG+a8XSoZZYwEgRNIOpxFduQnP2Qe6H6cYoVJfwcBg== +"@angular/platform-browser@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.3.tgz#2b58c6f259921bc17797ca8eed3ba49b4c6470c2" + integrity sha512-d88g/yVbfUyHNHnf9GqFseThTRue78Dle9jrjskEESShxvmOt7DR3dqWd1FzbspALqAVr5Y/Yj9Gau1zD18Scg== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.2.tgz#d624a9ac3b96377e658f175ec76935e53886d0af" - integrity sha512-zDHcOrVtdozE1s7112etVlgpBI1paUpqXhbyeZFluUhWtWTbatbUywuJVjyobqEH9YRoA4GG9i6ZU4e8RKkbsA== +"@angular/platform-server@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.3.tgz#ea1d0ca9f9bb3fb2898c1b1a33005dd8dd67373d" + integrity sha512-o8PCNSKEvQ6xS0qO9ac+jFq6ODnFIvY192sqkWW1M4KGliK6uBh+Y6/wUhvVAM7abhS3bbK4QV8mLEXwfMFZjg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.2.tgz#4796c1aa01feadf25e99c59ff9383b08e22111be" - integrity sha512-moh7IPGk7tpcNGx5xN9q+zNMG6ZqXVD607Q3qUCBcvK13NtgZ9aMXpKtkVOGXLJNdMVgHaeV56+q96cw77WtAA== +"@angular/router@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.3.tgz#6a9c592c3e71439245f5b8b351868f26fe7f8e09" + integrity sha512-5UhtBhKNBxsjojMGeYOj/tu52AZqcSmNpJptT0A4WCTnOOLqN8IVgy3NgE6RiPPdfSfGJCMvaRVVbGbWPXhePA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.2.tgz#65c1380691a0df63aa959a5109eceac01ae6a7a8" - integrity sha512-cFRgasaAV6mLGIAg2BDb7td1oqSEYP9BliRlpyaPuAuZm3+LuR+csCRr4sZlmCUHzRUKcjawtFvpOyPm4nNeLA== +"@angular/service-worker@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.3.tgz#63acfc599a22328695d5e1e2aa98dd15df794838" + integrity sha512-uzDwCJOcBstIdjmAtHqX/mHVqK3N767oxiLrpXPAlWZN66cTdwAdrxDEoSHC1DOurvSMYAtSvFT5ggE/NyM65A== dependencies: tslib "^2.3.0" From e2b6e5cc4cec93f3848170f87c8c5a6f148b872c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Jun 2022 06:02:40 +0000 Subject: [PATCH 0579/1388] build: update dependency @types/postcss-preset-env to v7 --- package.json | 2 +- yarn.lock | 44 ++++++++------------------------------------ 2 files changed, 9 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 58f9cba20352..17ea7dc5617a 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "@types/pacote": "^11.1.3", "@types/parse5-html-rewriting-stream": "^5.1.2", "@types/pidusage": "^2.0.1", - "@types/postcss-preset-env": "^6.7.1", + "@types/postcss-preset-env": "^7.0.0", "@types/progress": "^2.0.3", "@types/resolve": "^1.17.1", "@types/semver": "^7.0.0", diff --git a/yarn.lock b/yarn.lock index e4a8c8547c0f..4446d5771849 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1792,14 +1792,6 @@ resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== -"@types/autoprefixer@^9.0.0": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@types/autoprefixer/-/autoprefixer-9.7.2.tgz#64b3251c9675feef5a631b7dd34cfea50a8fdbcc" - integrity sha512-QX7U7YW3zX3ex6MECtWO9folTGsXeP4b8bSjTq3I1ODM+H+sFHwGKuof+T+qBcDClGlCGtDb3SVfiTVfmcxw4g== - dependencies: - "@types/browserslist" "*" - postcss "7.x.x" - "@types/babel__core@7.1.19": version "7.1.19" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" @@ -1858,13 +1850,6 @@ "@types/serve-static" "*" chokidar "^3.0.0" -"@types/browserslist@*": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@types/browserslist/-/browserslist-4.15.0.tgz#ba0265b33003a2581df1fc5f483321a30205f2d2" - integrity sha512-h9LyKErRGZqMsHh9bd+FE8yCIal4S0DxKTOeui56VgVXqa66TKiuaIUxCAI7c1O0LjaUzOTcsMyOpO9GetozRA== - dependencies: - browserslist "*" - "@types/cacache@^15.0.0": version "15.0.1" resolved "https://registry.yarnpkg.com/@types/cacache/-/cacache-15.0.1.tgz#3d1943cc80ade160c9ae98bd5c1ebcc538f9cd57" @@ -2149,13 +2134,13 @@ resolved "https://registry.yarnpkg.com/@types/pidusage/-/pidusage-2.0.2.tgz#3f8c4b19ba7ea438a733d093661e92b60e5f88ee" integrity sha512-lHgpGZjXDfjggZDLkgp4zQTYkvXq4S7RxjBjrDcPe1MBU72hESWxubutx8+AM4QkJdRxAhrQyxSA6pzHKJKlsQ== -"@types/postcss-preset-env@^6.7.1": - version "6.7.3" - resolved "https://registry.yarnpkg.com/@types/postcss-preset-env/-/postcss-preset-env-6.7.3.tgz#51f9662cce08f26ae657bab94be4471b85575b13" - integrity sha512-3YS66Cd7yNTOjjIPoOUaeGbcnxH+0eeP8Ih/RLpFEDazK16lOTabMqmHfL76DBNj5LreJlKRtKML07JkkuxRyw== +"@types/postcss-preset-env@^7.0.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@types/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#b58c07c304b3c3439bf9ce7eba5c9d46db4f2677" + integrity sha512-biD8MwSiZo1Nztn1cIBPMcKNKzgFyU05AB96HIF9y3G4f9vdx2O60DHCSpWXChTp6mOEGu15fqIw2DetVVjghw== dependencies: - "@types/autoprefixer" "^9.0.0" - postcss "^7.0.32" + autoprefixer "^10.4.7" + postcss "^8.4.14" "@types/progress@2.0.5", "@types/progress@^2.0.3": version "2.0.5" @@ -3246,7 +3231,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.9.1: +browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.9.1: version "4.20.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== @@ -7992,11 +7977,6 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -8473,15 +8453,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@7.x.x, postcss@^7.0.32: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7, postcss@^8.4.8: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== From 4144642ffa3203953963526bbe46cb236480da14 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 23 Jun 2022 09:56:49 +0000 Subject: [PATCH 0580/1388] build: remove unneeded dependency in `ts_library` `@npm//@types/browserslist` and `@npm//rxjs` are not needed in `@schematics/angular` --- packages/schematics/angular/BUILD.bazel | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 249cae0907ce..17be2a8f1fc4 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -77,10 +77,8 @@ ts_library( "//packages/angular_devkit/schematics", "//packages/angular_devkit/schematics/tasks", "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", - "@npm//@types/browserslist", "@npm//@types/node", "@npm//jsonc-parser", - "@npm//rxjs", ], ) @@ -115,9 +113,7 @@ ts_library( "//packages/angular_devkit/schematics/tasks", "//packages/angular_devkit/schematics/testing", "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", - "@npm//@types/browserslist", "@npm//jsonc-parser", - "@npm//rxjs", ], # @external_end ) From 3f29cd240a3d2dc2f83ea0ac63db7bc000db88f2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 23 Jun 2022 10:18:03 +0000 Subject: [PATCH 0581/1388] build: add missing dependency on `@types/browserslist` --- package.json | 1 + yarn.lock | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/package.json b/package.json index 17ea7dc5617a..da556fdbe262 100644 --- a/package.json +++ b/package.json @@ -95,6 +95,7 @@ "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", + "@types/browserslist": "^4.15.0", "@types/cacache": "^15.0.0", "@types/debug": "^4.1.2", "@types/express": "^4.16.0", diff --git a/yarn.lock b/yarn.lock index 4446d5771849..9008547c4490 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1850,6 +1850,13 @@ "@types/serve-static" "*" chokidar "^3.0.0" +"@types/browserslist@^4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@types/browserslist/-/browserslist-4.15.0.tgz#ba0265b33003a2581df1fc5f483321a30205f2d2" + integrity sha512-h9LyKErRGZqMsHh9bd+FE8yCIal4S0DxKTOeui56VgVXqa66TKiuaIUxCAI7c1O0LjaUzOTcsMyOpO9GetozRA== + dependencies: + browserslist "*" + "@types/cacache@^15.0.0": version "15.0.1" resolved "https://registry.yarnpkg.com/@types/cacache/-/cacache-15.0.1.tgz#3d1943cc80ade160c9ae98bd5c1ebcc538f9cd57" @@ -3231,6 +3238,16 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" +browserslist@*: + version "4.21.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe" + integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA== + dependencies: + caniuse-lite "^1.0.30001358" + electron-to-chromium "^1.4.164" + node-releases "^2.0.5" + update-browserslist-db "^1.0.0" + browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.9.1: version "4.20.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" @@ -3399,6 +3416,11 @@ caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001349: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz#cc6f5da3f983979ad1e2cdbae0505dccaa7c6a12" integrity sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA== +caniuse-lite@^1.0.30001358: + version "1.0.30001358" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001358.tgz#473d35dabf5e448b463095cab7924e96ccfb8c00" + integrity sha512-hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -4247,6 +4269,11 @@ electron-to-chromium@^1.4.147: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.152.tgz#7dedbe8f3dc1c597088982a203f392e60f7ee90a" integrity sha512-jk4Ju5SGZAQQJ1iI4Rgru7dDlvkQPLpNPWH9gIZmwCD4YteA5Bbk1xPcPDUf5jUYs3e1e80RXdi8XgKQZaigeg== +electron-to-chromium@^1.4.164: + version "1.4.167" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.167.tgz#72424aebc85df12c5331d37b1bcfd1ae01322c55" + integrity sha512-lPHuHXBwpkr4RcfaZBKm6TKOWG/1N9mVggUpP4fY3l1JIUU2x4fkM8928smYdZ5lF+6KCTAxo1aK9JmqT+X71Q== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -10411,6 +10438,14 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +update-browserslist-db@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.3.tgz#6c47cb996f34afb363e924748e2f6e4d983c6fc1" + integrity sha512-ufSazemeh9Gty0qiWtoRpJ9F5Q5W3xdIPm1UZQqYQv/q0Nyb9EMHUB2lu+O9x1re9WsorpMAUu4Y6Lxcs5n+XQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" From 8b232e7b97d8be9141ff0ccf84b8fa1a3fff3a24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Jun 2022 05:51:11 +0000 Subject: [PATCH 0582/1388] build: update github/codeql-action action to v2.1.14 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index e6184ed0599a..7dae32ed3342 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@d00e8c09a38ef8c1ca1091fc55ef490776d2de73 # tag=v2.1.13 + uses: github/codeql-action/upload-sarif@41a4ada31ba866a7f1196b9602703a89edd69e22 # tag=v2.1.14 with: sarif_file: results.sarif From 2060ed5d331cbb840940878b70f91a36808b417a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 23 Jun 2022 12:10:20 -0700 Subject: [PATCH 0583/1388] docs: release notes for the v14.0.3 release --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1b893a02fbd..54f419188a46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ + + +# 14.0.3 (2022-06-23) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [b3db91baf](https://github.com/angular/angular-cli/commit/b3db91baf50c92589549a66ffef437f7890d3de7) | fix | disable version check when running `ng completion` commands | +| [cdab9fa74](https://github.com/angular/angular-cli/commit/cdab9fa7431db7e2a75e04e776555b8e5e15fc94) | fix | provide an actionable error when using `--configuration` with `ng run` | +| [5521648e3](https://github.com/angular/angular-cli/commit/5521648e33af634285f6352b43a324a1ee023e27) | fix | temporarily handle boolean options in schema prefixed with `no` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | +| [5e960ce24](https://github.com/angular/angular-cli/commit/5e960ce246e7090f57ce22723911a743aa8fcb0c) | fix | fix incorrect glob cwd in karma when using `--include` option | +| [1b5e92075](https://github.com/angular/angular-cli/commit/1b5e92075e64563459942d4de785f1a8bef46ec7) | fix | handle `codeCoverageExclude` correctly in Windows | +| [ff6d81a45](https://github.com/angular/angular-cli/commit/ff6d81a4539657446c8f5770cefe688d2d578450) | fix | ignore supported browsers during i18n extraction | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [170c16f2e](https://github.com/angular/angular-cli/commit/170c16f2ea769e76a48f1ac215ee88ba47ff511d) | fix | workspace writer skip creating empty projects property | + +## Special Thanks + +Alan Agius, Charles Lyding and Paul Gschwendtner + + + # 14.1.0-next.1 (2022-06-15) From f5e6259ccebc2e79b4dadc2701171ac3247e0e12 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 23 Jun 2022 12:46:04 -0700 Subject: [PATCH 0584/1388] release: cut the v14.1.0-next.2 release --- CHANGELOG.md | 34 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54f419188a46..cbbfad2d7212 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ + + +# 14.1.0-next.2 (2022-06-23) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [3884b8652](https://github.com/angular/angular-cli/commit/3884b865262c1ffa5652ac0f4d67bbf59087f453) | fix | add esbuild browser builder to workspace schema | +| [4f31b57df](https://github.com/angular/angular-cli/commit/4f31b57df36da5230dd247791d0875d60b929035) | fix | disable version check when running `ng completion` commands | +| [fd92eaa86](https://github.com/angular/angular-cli/commit/fd92eaa86521f6cfd8b90884ce6b2443e9ed571d) | fix | provide an actionable error when using `--configuration` with `ng run` | +| [ba3f67193](https://github.com/angular/angular-cli/commit/ba3f671936496571337bfb4e18d2ca5d0e56f515) | fix | temporarily handle boolean options in schema prefixed with `no` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | +| [a7709b718](https://github.com/angular/angular-cli/commit/a7709b718c953d83f3bde00fa3bf896501359946) | feat | add `externalDependencies` to the esbuild browser builder | +| [667799423](https://github.com/angular/angular-cli/commit/66779942358e6faf43f6311e5c59fced3e793e46) | fix | fix incorrect glob cwd in karma when using `--include` option | +| [0f02b0011](https://github.com/angular/angular-cli/commit/0f02b0011bea5bb7fff935d46768b32455ebb05e) | fix | handle `codeCoverageExclude` correctly in Windows | +| [1fc7d4f56](https://github.com/angular/angular-cli/commit/1fc7d4f56b00f6aa6f2ebb4db7675e84c94062a2) | fix | ignore supported browsers during i18n extraction | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [1af3f71aa](https://github.com/angular/angular-cli/commit/1af3f71aa26047a6baac815c0495b1a676c2c861) | fix | workspace writer skip creating empty projects property | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Paul Gschwendtner and renovate[bot] + + + # 14.0.3 (2022-06-23) diff --git a/package.json b/package.json index da556fdbe262..e7c88d1fa3bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.1.0-next.1", + "version": "14.1.0-next.2", "private": true, "description": "Software Development Kit for Angular", "bin": { From 7dd82282bb82dbc6f5e5747ce7b3f686043fecdb Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 8 Jun 2022 17:55:23 -0700 Subject: [PATCH 0585/1388] test: do not depend on a global npm binary --- package.json | 1 + .../legacy-cli/e2e/setup/010-local-publish.ts | 5 +- tests/legacy-cli/e2e/setup/100-global-cli.ts | 6 +- tests/legacy-cli/e2e/utils/BUILD.bazel | 1 + tests/legacy-cli/e2e/utils/process.ts | 10 + tests/legacy-cli/e2e_runner.ts | 5 + yarn.lock | 567 +++++++++++++++++- 7 files changed, 564 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index e7c88d1fa3bf..d0b621460412 100644 --- a/package.json +++ b/package.json @@ -174,6 +174,7 @@ "minimatch": "5.1.0", "ng-packagr": "14.0.0", "node-fetch": "^2.2.0", + "npm": "^8.11.0", "npm-package-arg": "9.0.2", "open": "8.4.0", "ora": "5.4.1", diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index f8902b7d65c0..e13665c6adae 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -1,11 +1,10 @@ import { getGlobalVariable } from '../utils/env'; -import { execWithEnv, extractNpmEnv } from '../utils/process'; +import { globalNpm, extractNpmEnv } from '../utils/process'; import { isPrereleaseCli } from '../utils/project'; export default async function () { const testRegistry: string = getGlobalVariable('package-registry'); - await execWithEnv( - 'npm', + await globalNpm( [ 'run', 'admin', diff --git a/tests/legacy-cli/e2e/setup/100-global-cli.ts b/tests/legacy-cli/e2e/setup/100-global-cli.ts index 3f751bea3d90..e1a051b7e751 100644 --- a/tests/legacy-cli/e2e/setup/100-global-cli.ts +++ b/tests/legacy-cli/e2e/setup/100-global-cli.ts @@ -1,5 +1,5 @@ import { getGlobalVariable } from '../utils/env'; -import { silentNpm } from '../utils/process'; +import { globalNpm } from '../utils/process'; const NPM_VERSION = '7.24.0'; const YARN_VERSION = '1.22.18'; @@ -13,12 +13,12 @@ export default async function () { const testRegistry: string = getGlobalVariable('package-registry'); // Install global Angular CLI being tested, npm+yarn used by e2e tests. - await silentNpm( + await globalNpm([ 'install', '--global', `--registry=${testRegistry}`, '@angular/cli', `npm@${NPM_VERSION}`, `yarn@${YARN_VERSION}`, - ); + ]); } diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel index ef84018e745a..6b3e9e6329af 100644 --- a/tests/legacy-cli/e2e/utils/BUILD.bazel +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -14,6 +14,7 @@ ts_library( "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//glob", + "@npm//npm", "@npm//protractor", "@npm//puppeteer", "@npm//rxjs", diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index bcddfd185cfe..c302cd80bdf8 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -322,6 +322,16 @@ export function silentYarn(...args: string[]) { return _exec({ silent: true }, 'yarn', args); } +export function globalNpm(args: string[], env?: NodeJS.ProcessEnv) { + if (!process.env.LEGACY_CLI_RUNNER) { + throw new Error( + 'The global npm cli should only be executed from the primary e2e runner process', + ); + } + + return _exec({ silent: true, env }, 'node', [require.resolve('npm'), ...args]); +} + export function npm(...args: string[]) { return _exec({}, 'npm', args); } diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 580d6d65dcd5..8fb6f58b7a70 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -55,6 +55,11 @@ const argv = yargsParser(process.argv.slice(2), { */ process.exitCode = 255; +/** + * Mark this process as the main e2e_runner + */ +process.env.LEGACY_CLI_RUNNER = '1'; + const logger = createConsoleLogger(argv.verbose, process.stdout, process.stderr, { info: (s) => s, debug: (s) => s, diff --git a/yarn.lock b/yarn.lock index 9008547c4490..04e6e87df0a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1408,6 +1408,11 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1561,6 +1566,72 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.1.tgz#4f38187cb694946f551a825df17e6efd565b8946" + integrity sha512-DNyTHov3lU7PtCGHABzrPqQOUiBdiYzZ5dLv3D0RD5I9KbmhTLcZI/rv3ddZY0K9vpDE/R+R48b+cU/dUkL0Tw== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/metavuln-calculator" "^3.0.1" + "@npmcli/move-file" "^2.0.0" + "@npmcli/name-from-folder" "^1.0.1" + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^3.0.0" + bin-links "^3.0.0" + cacache "^16.0.6" + common-ancestor-path "^1.0.1" + json-parse-even-better-errors "^2.3.1" + json-stringify-nice "^1.1.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + nopt "^5.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.0" + npmlog "^6.0.2" + pacote "^13.0.5" + parse-conflict-json "^2.0.1" + proc-log "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.1" + read-package-json-fast "^2.0.2" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.0" + treeverse "^2.0.0" + walk-up-path "^1.0.0" + +"@npmcli/ci-detect@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" + integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== + +"@npmcli/config@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.1.0.tgz#5c92e5ded2a44baf76b94926646329c3b39e79b8" + integrity sha512-cPQmIQ2Q0vuOfrenrA3isikdMFMAHgzlXV+EmvZ8f2JeJsU5xTU2bG7ipXECiMvPF9nM+QDnMLuIg8QLw9H4xg== + dependencies: + "@npmcli/map-workspaces" "^2.0.2" + ini "^3.0.0" + mkdirp-infer-owner "^2.0.0" + nopt "^5.0.0" + proc-log "^2.0.0" + read-package-json-fast "^2.0.3" + semver "^7.3.5" + walk-up-path "^1.0.0" + +"@npmcli/disparity-colors@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz#cb518166ee21573b96241a3613fef70acb2a60ba" + integrity sha512-FFXGrIjhvd2qSZ8iS0yDvbI7nbjdyT2VNO7wotosjYZM2p2r8PN3B7Om3M5NO9KqW/OVzfzLB3L0V5Vo5QXC7A== + dependencies: + ansi-styles "^4.3.0" + "@npmcli/fs@^1.0.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" @@ -1600,6 +1671,26 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" +"@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz#2d3c75119ee53246e9aa75bc469a55281cd5f08f" + integrity sha512-X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q== + dependencies: + "@npmcli/name-from-folder" "^1.0.1" + glob "^8.0.1" + minimatch "^5.0.1" + read-package-json-fast "^2.0.3" + +"@npmcli/metavuln-calculator@^3.0.1": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.0.tgz#b1c2f0991c4f2d992b1615a54d4358c05efc3702" + integrity sha512-Q5fbQqGDlYqk7kWrbg6E2j/mtqQjZop0ZE6735wYA1tYNHguIDjAuWs+kFb5rJCkLIlXllfapvsyotYKiZOTBA== + dependencies: + cacache "^16.0.0" + json-parse-even-better-errors "^2.3.1" + pacote "^13.0.3" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" @@ -1616,11 +1707,23 @@ mkdirp "^1.0.4" rimraf "^3.0.2" +"@npmcli/name-from-folder@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" + integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== + "@npmcli/node-gyp@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== +"@npmcli/package-json@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" + integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== + dependencies: + json-parse-even-better-errors "^2.3.1" + "@npmcli/promise-spawn@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" @@ -1628,7 +1731,7 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^3.0.1": +"@npmcli/run-script@^3.0.0", "@npmcli/run-script@^3.0.1": version "3.0.3" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.3.tgz#66afa6e0c4c3484056195f295fa6c1d1a45ddf58" integrity sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q== @@ -2615,7 +2718,7 @@ abab@^2.0.0, abab@^2.0.6: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abbrev@1: +abbrev@1, abbrev@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== @@ -2793,7 +2896,7 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -2813,11 +2916,16 @@ apache-md5@1.1.7: resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.7.tgz#dcef1802700cc231d60c5e08fd088f2f9b36375a" integrity sha512-JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw== -"aproba@^1.0.3 || ^2.0.0": +"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== +archy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + are-we-there-yet@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" @@ -3078,7 +3186,19 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^2.0.0: +bin-links@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.1.tgz#cc70ffb481988b22c527d3e6e454787876987a49" + integrity sha512-9vx+ypzVhASvHTS6K+YSGf7nwQdANoz7v6MTC0aCtYnOEZ87YvMf81aY737EZnGZdpbRM3sfWjO9oWkKmuIvyQ== + dependencies: + cmd-shim "^5.0.0" + mkdirp-infer-owner "^2.0.0" + npm-normalize-package-bin "^1.0.0" + read-cmd-shim "^3.0.0" + rimraf "^3.0.0" + write-file-atomic "^4.0.0" + +binary-extensions@^2.0.0, binary-extensions@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== @@ -3345,7 +3465,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.1, cacache@^16.0.0, cacache@^16.1.0: +cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: version "16.1.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== @@ -3446,7 +3566,7 @@ chalk@^2.0.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3489,6 +3609,13 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== +cidr-regex@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" + integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== + dependencies: + ip-regex "^4.1.0" + clang-format@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/clang-format/-/clang-format-1.8.0.tgz#7779df1c5ce1bc8aac1b0b02b4e479191ef21d46" @@ -3503,6 +3630,14 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +cli-columns@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" + integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== + dependencies: + string-width "^4.2.3" + strip-ansi "^6.0.1" + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -3515,6 +3650,15 @@ cli-spinners@^2.5.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== +cli-table3@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" + integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -3559,6 +3703,13 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== +cmd-shim@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" + integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== + dependencies: + mkdirp-infer-owner "^2.0.0" + collection-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/collection-utils/-/collection-utils-1.0.1.tgz#31d14336488674f27aefc0a7c5eccacf6df78044" @@ -3608,6 +3759,14 @@ colors@~1.2.1: resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -3625,6 +3784,11 @@ commander@^9.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -4128,6 +4292,11 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -5134,6 +5303,11 @@ fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -5578,7 +5752,7 @@ google-protobuf@^3.6.1: resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.20.1.tgz#1b255c2b59bcda7c399df46c65206aa3c7a0ce8b" integrity sha512-XMf1+O32FjYIV3CYu6Tuh5PNbfNEU5Xu22X+Xkdb/DUexFlCzhvv7d5Iirm4AOwn8lv4al1YvIhzGrg2j9Zfzw== -graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -5942,7 +6116,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@3.0.0: +ini@3.0.0, ini@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== @@ -5952,6 +6126,19 @@ ini@^1.3.4: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +init-package-json@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" + integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== + dependencies: + npm-package-arg "^9.0.1" + promzard "^0.3.0" + read "^1.0.7" + read-package-json "^5.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^4.0.0" + injection-js@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/injection-js/-/injection-js-2.4.0.tgz#ebe8871b1a349f23294eaa751bbd8209a636e754" @@ -5999,6 +6186,11 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== +ip-regex@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + ip@^1.1.5: version "1.1.8" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" @@ -6053,6 +6245,13 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-cidr@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" + integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== + dependencies: + cidr-regex "^3.1.1" + is-core-module@^2.1.0, is-core-module@^2.8.1: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" @@ -6495,6 +6694,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -6581,6 +6785,16 @@ jszip@^3.1.3, jszip@^3.6.0: readable-stream "~2.3.6" setimmediate "^1.0.5" +just-diff-apply@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.3.1.tgz#30f40809ffed55ad76dccf73fa9b85a76964c867" + integrity sha512-dgFenZnMsc1xGNqgdtgnh7DK+Oy352CE3VZLbzcbQpsBs9iI2K3M0IRrdgREZ72eItTjbl0suRyvKRdVQa9GbA== + +just-diff@^5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.0.3.tgz#4c9c514dec5526b25ab977590e3c39a0cf271554" + integrity sha512-a8p80xcpJ6sdurk5PxDKb4mav9MeKjA3zFKZpCWBIfvg8mznfnmb13MKZvlrwJ+Lhis0wM3uGAzE0ArhFHvIcg== + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -6745,6 +6959,117 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +libnpmaccess@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.3.tgz#473cc3e4aadb2bc713419d92e45d23b070d8cded" + integrity sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg== + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + +libnpmdiff@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.3.tgz#ad3997330c887c1098ac42682f1e5ad014d49cec" + integrity sha512-AiwBtXtH7HjfmT7FbTf9LFzJB347RrIA4I+IewMfhq8vYXaUveHwJMVNgMM2H/o2J+7Hf12JCBoOF5bTwlmGyw== + dependencies: + "@npmcli/disparity-colors" "^2.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + binary-extensions "^2.2.0" + diff "^5.0.0" + minimatch "^5.0.1" + npm-package-arg "^9.0.1" + pacote "^13.0.5" + tar "^6.1.0" + +libnpmexec@^4.0.2: + version "4.0.6" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.6.tgz#600beffd6f265cf92a096a7f336f330bc0019e82" + integrity sha512-v1jAPJyFFex6R0YHYXuudR4liQ3tYJ7vVZ6eThOex4+WzQEnoShLVfK3MLyFbjdGNO85wCHcVWVpXaBOVnVa/w== + dependencies: + "@npmcli/arborist" "^5.0.0" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/run-script" "^3.0.0" + chalk "^4.1.0" + mkdirp-infer-owner "^2.0.0" + npm-package-arg "^9.0.1" + npmlog "^6.0.2" + pacote "^13.0.5" + proc-log "^2.0.0" + read "^1.0.7" + read-package-json-fast "^2.0.2" + walk-up-path "^1.0.0" + +libnpmfund@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.2.tgz#7da0827950f0db2cce0acb0dc7652d1834a8b239" + integrity sha512-wmFMP/93Wjy+jDg5LaSldDgAhSgCyA64JUUmp806Kae7y3YP9Qv5m1vUhPxT4yebxgB2v/I6G1/RUcNb1y0kVg== + dependencies: + "@npmcli/arborist" "^5.0.0" + +libnpmhook@^8.0.2: + version "8.0.3" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.3.tgz#9628518a63455d21dafda312ee46175275707ff5" + integrity sha512-TEdNI1mC5zS+w/juCgxrwwQnpbq9lY76NDOS0N37pn6pWIUxB1Yq8mwy6MUEXR1TgH4HurSQyKT6I6Kp9Wjm4A== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmorg@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.3.tgz#a85cbdb3665ad4f7c7279d239a4581ec2eeef5a6" + integrity sha512-r4CpmCEF+e5PbFMBi64xSXmqn0uGgV4T7NWpGL4/A6KT/DTtIxALILQZq+l0ZdN1xm4RjOvqSDR22oT4il8rAQ== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmpack@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.0.tgz#93a170b67bc52e15edc7b1f2e09b2c36e532b897" + integrity sha512-BHwojfEbJvVVJXivZjOCe3Y0IzQ47p6c/bfebrpzazuFNRoS9XOsbkncRbl3f23+u9b51eplzwaPh/5xSOAWHg== + dependencies: + "@npmcli/run-script" "^3.0.0" + npm-package-arg "^9.0.1" + pacote "^13.5.0" + +libnpmpublish@^6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b" + integrity sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg== + dependencies: + normalize-package-data "^4.0.0" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + semver "^7.3.7" + ssri "^9.0.0" + +libnpmsearch@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.3.tgz#ed502a4c2c70ea36723180455fae1357546b2184" + integrity sha512-Ofq76qKAPhxbiyzPf/5LPjJln26VTKwU9hIU0ACxQ6tNtBJ1CHmI7iITrdp7vNezhZc0FlkXwrIpqXjhBJZgLQ== + dependencies: + npm-registry-fetch "^13.0.0" + +libnpmteam@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.3.tgz#9335fbbd032b3770f5c9b7ffc6203f47d1ed144a" + integrity sha512-LsYYLz4TlTpcqkusInY5MhKjiHFaCx1GV0LmydXJ/QMh+3IWBJpUhes4ynTZuFoJKkDIFjxyMU09ul+RZixgdg== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmversion@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.4.tgz#a30f563416ea1e2dd69878b4a9edf4eb4a070ef8" + integrity sha512-q5hvZlso0SMLgKm4AMtleRWtq4pERprebEGV6OwKi24efgAOgNDP98+jNUX2mIR2wp9eAa6ybkNNWu4yMaCsVw== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/run-script" "^3.0.0" + json-parse-even-better-errors "^2.3.1" + proc-log "^2.0.0" + semver "^7.3.7" + license-checker@^25.0.0: version "25.0.1" resolved "https://registry.yarnpkg.com/license-checker/-/license-checker-25.0.1.tgz#4d14504478a5240a857bb3c21cd0491a00d761fa" @@ -7018,7 +7343,7 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.6: +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.6: version "10.1.7" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz#b1402cb3c9fad92b380ff3a863cdae5414a42f76" integrity sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q== @@ -7298,6 +7623,15 @@ mkdirp-classic@^0.5.2: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" @@ -7320,7 +7654,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.0.0, ms@^2.1.1: +ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -7333,7 +7667,7 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -mute-stream@0.0.8: +mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== @@ -7481,6 +7815,22 @@ node-gyp@^8.4.1: tar "^6.1.2" which "^2.0.2" +node-gyp@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" + integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + node-releases@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" @@ -7531,6 +7881,13 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== +npm-audit-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-3.0.0.tgz#1bf3e531208b5f77347c8d00c3d9badf5be30cd6" + integrity sha512-tWQzfbwz1sc4244Bx2BVELw0EmZlCsCF0X93RDcmmwhonCsPMoEviYsi+32R+mdRvOWXolPce9zo64n2xgPESw== + dependencies: + chalk "^4.0.0" + npm-bundled@^1.1.1, npm-bundled@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" @@ -7550,7 +7907,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: +npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== @@ -7569,7 +7926,7 @@ npm-packlist@^5.1.0: npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0: +npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== @@ -7579,7 +7936,15 @@ npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-registry-fetch@^13.0.1: +npm-profile@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.0.3.tgz#f4a11ce09467f00fa0832db7f27992e55fdfc94b" + integrity sha512-TVeHhnol2Iemud+Sr70/uqax5LnLJ9y361w+m5+Z7WYV2B1t6FhRDxDu72+yYYTvsgshkhnXEqbPjuD87kYXfA== + dependencies: + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.1.tgz#26dc4b26d0a545886e807748032ba2aefaaae96b" integrity sha512-5p8rwe6wQPLJ8dMqeTnA57Dp9Ox6GH9H60xkyJup07FmVlu3Mk7pf/kIIpl9gaN5bM8NM+UUx3emUWvDNTt39w== @@ -7599,7 +7964,88 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^6.0.0: +npm-user-validate@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" + integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== + +npm@^8.11.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.12.1.tgz#624064fa7a8e0730223f6b2effe087e7127d567b" + integrity sha512-0yOlhfgu1UzP6UijnaFuIS2bES2H9D90EA5OVsf2iOZw7VBrjntXKEwKfCaFA6vMVWkCP8qnPwCxxPdnDVwlNw== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/arborist" "^5.0.4" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/config" "^4.1.0" + "@npmcli/fs" "^2.1.0" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^3.0.1" + abbrev "~1.1.1" + archy "~1.0.0" + cacache "^16.1.0" + chalk "^4.1.2" + chownr "^2.0.0" + cli-columns "^4.0.0" + cli-table3 "^0.6.2" + columnify "^1.6.0" + fastest-levenshtein "^1.0.12" + glob "^8.0.1" + graceful-fs "^4.2.10" + hosted-git-info "^5.0.0" + ini "^3.0.0" + init-package-json "^3.0.2" + is-cidr "^4.0.2" + json-parse-even-better-errors "^2.3.1" + libnpmaccess "^6.0.2" + libnpmdiff "^4.0.2" + libnpmexec "^4.0.2" + libnpmfund "^3.0.1" + libnpmhook "^8.0.2" + libnpmorg "^4.0.2" + libnpmpack "^4.0.2" + libnpmpublish "^6.0.2" + libnpmsearch "^5.0.2" + libnpmteam "^4.0.2" + libnpmversion "^3.0.1" + make-fetch-happen "^10.1.6" + minipass "^3.1.6" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + ms "^2.1.2" + node-gyp "^9.0.0" + nopt "^5.0.0" + npm-audit-report "^3.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.2" + npm-pick-manifest "^7.0.1" + npm-profile "^6.0.3" + npm-registry-fetch "^13.1.1" + npm-user-validate "^1.0.1" + npmlog "^6.0.2" + opener "^1.5.2" + pacote "^13.6.0" + parse-conflict-json "^2.0.2" + proc-log "^2.0.1" + qrcode-terminal "^0.12.0" + read "~1.0.7" + read-package-json "^5.0.1" + read-package-json-fast "^2.0.3" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.1" + tar "^6.1.11" + text-table "~0.2.0" + tiny-relative-date "^1.3.0" + treeverse "^2.0.0" + validate-npm-package-name "^4.0.0" + which "^2.0.2" + write-file-atomic "^4.0.1" + +npmlog@^6.0.0, npmlog@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== @@ -7712,6 +8158,11 @@ open@8.4.0, open@^8.0.9: is-docker "^2.1.1" is-wsl "^2.2.0" +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + openurl@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387" @@ -7848,7 +8299,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.0: +pacote@13.6.0, pacote@^13.0.3, pacote@^13.0.5, pacote@^13.5.0, pacote@^13.6.0: version "13.6.0" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.0.tgz#79ea3d3ae5a2b29e2994dcf18d75494e8d888032" integrity sha512-zHmuCwG4+QKnj47LFlW3LmArwKoglx2k5xtADiMCivVWPgNRP5QyLDGOIjGjwOe61lhl1rO63m/VxT16pEHLWg== @@ -7892,6 +8343,15 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" + integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== + dependencies: + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^5.2.0" + parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -8526,7 +8986,7 @@ pretty-ms@^7.0.1: dependencies: parse-ms "^2.1.0" -proc-log@^2.0.0: +proc-log@^2.0.0, proc-log@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== @@ -8551,6 +9011,16 @@ progress@2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24" + integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q== + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -8564,6 +9034,13 @@ promise-retry@^2.0.1: err-code "^2.0.2" retry "^0.12.0" +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== + dependencies: + read "1" + protobufjs@6.8.8: version "6.8.8" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" @@ -8678,6 +9155,11 @@ qjobs@^1.2.0: resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== +qrcode-terminal@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== + qs@6.10.3: version "6.10.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" @@ -8761,6 +9243,11 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" +read-cmd-shim@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155" + integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog== + read-installed@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" @@ -8775,7 +9262,7 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" -read-package-json-fast@^2.0.3: +read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== @@ -8793,7 +9280,7 @@ read-package-json@^2.0.0: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" -read-package-json@^5.0.0: +read-package-json@^5.0.0, read-package-json@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== @@ -8803,6 +9290,13 @@ read-package-json@^5.0.0: normalize-package-data "^4.0.0" npm-normalize-package-bin "^1.0.1" +read@1, read@^1.0.7, read@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== + dependencies: + mute-stream "~0.0.4" + readable-stream@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.0.tgz#640f5dcda88c91a8dc60787145629170813a1ed2" @@ -8838,7 +9332,7 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdir-scoped-modules@^1.0.0: +readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== @@ -9762,7 +10256,7 @@ ssri@^8.0.0, ssri@^8.0.1: dependencies: minipass "^3.1.1" -ssri@^9.0.0: +ssri@^9.0.0, ssri@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== @@ -10019,7 +10513,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.0.2, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -10071,7 +10565,7 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-table@0.2.0, text-table@^0.2.0: +text-table@0.2.0, text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== @@ -10120,6 +10614,11 @@ tiny-inflate@^1.0.0: resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== +tiny-relative-date@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" + integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== + tmp@0.0.30: version "0.0.30" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" @@ -10205,6 +10704,11 @@ treeify@^1.1.0: resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== +treeverse@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" + integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== + "true-case-path@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" @@ -10638,6 +11142,11 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" +walk-up-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" + integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== + watchpack@^2.3.1: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" @@ -10653,7 +11162,7 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -wcwidth@^1.0.1: +wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== @@ -10913,6 +11422,14 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" + integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + ws@8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.7.0.tgz#eaf9d874b433aa00c0e0d8752532444875db3957" From 674946076cbcd48a79f793ae5d1196e40c3a06f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 Jun 2022 12:55:33 +0000 Subject: [PATCH 0586/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 6 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 23 ++++++------- 6 files changed, 35 insertions(+), 34 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index e683f83a1ede..714a8588edda 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@860ebf16b8617ce999394c2c70a8af307bb0ddc2 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@3e07a8f0335813ddeee471c7c1db12325c07325e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@860ebf16b8617ce999394c2c70a8af307bb0ddc2 + - uses: angular/dev-infra/github-actions/post-approval-changes@3e07a8f0335813ddeee471c7c1db12325c07325e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ec33b7fddee9..6dd00a9d0717 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@860ebf16b8617ce999394c2c70a8af307bb0ddc2 + - uses: angular/dev-infra/github-actions/feature-request@3e07a8f0335813ddeee471c7c1db12325c07325e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 3bf46bc747b7..ab07b4e5bb28 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@860ebf16b8617ce999394c2c70a8af307bb0ddc2 + - uses: angular/dev-infra/github-actions/lock-closed@3e07a8f0335813ddeee471c7c1db12325c07325e with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index d0b621460412..23fc4a204cc3 100644 --- a/package.json +++ b/package.json @@ -65,15 +65,15 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.0.3", - "@angular/cdk": "14.0.2", + "@angular/cdk": "14.0.3", "@angular/common": "14.0.3", "@angular/compiler": "14.0.3", "@angular/compiler-cli": "14.0.3", "@angular/core": "14.0.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d", "@angular/forms": "14.0.3", "@angular/localize": "14.0.3", - "@angular/material": "14.0.2", + "@angular/material": "14.0.3", "@angular/platform-browser": "14.0.3", "@angular/platform-browser-dynamic": "14.0.3", "@angular/platform-server": "14.0.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index f533d0dd18c4..40b04fb0faad 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e788746d9518e8c8673db7ea3254aaacbe4517b1", - "@angular/cdk": "github:angular/cdk-builds#c92ea49755de36f3c591b5cc3aeb686b5f047b11", - "@angular/common": "github:angular/common-builds#3a5d7e6299eab7e50031496285bf3a80b20a343b", - "@angular/compiler": "github:angular/compiler-builds#b2edcedd30613005079ac0770502ceec4e542549", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a31c5cf84f2c245a3f898dd755f8d72d6680439a", - "@angular/core": "github:angular/core-builds#ff85b12544ee806b3e2eda0811b8f84ca0b8b856", - "@angular/forms": "github:angular/forms-builds#805bc4225cc694267365b641d24864236d4479fa", - "@angular/language-service": "github:angular/language-service-builds#ef9da50729d1c34fc9e795bf431892312a2c8de2", - "@angular/localize": "github:angular/localize-builds#67edc86b3cd233d34362ba7925041a60ded343e2", - "@angular/material": "github:angular/material-builds#cc4aec7295f838c67795afdaf4b3512240708d8b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#17c31b767a34d80d2602a5b93e7cbc5bb53187b2", - "@angular/platform-browser": "github:angular/platform-browser-builds#88f480cf49c7cdc9c442ffc8079b72624c34ae4f", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3e7fe6e15dff6fb820724bae4964f3a02fbbc80a", - "@angular/platform-server": "github:angular/platform-server-builds#b6eee3a80af3bd96d495c08236a4f49f572614c8", - "@angular/router": "github:angular/router-builds#f67440be092ca30a1c47ad49e1c62ea3aa9fff8d", - "@angular/service-worker": "github:angular/service-worker-builds#4af6d0abe3ec8a582317f7f02bf9a6bc59a9e161" + "@angular/animations": "github:angular/animations-builds#97850737d89f72db43a272f2dab3a201a4f842fb", + "@angular/cdk": "github:angular/cdk-builds#8f5107475d851b38700c4bc8c2c717a7ab3e1130", + "@angular/common": "github:angular/common-builds#5948ee9a7af4bc22bcf0b714f909dda3c81b4afd", + "@angular/compiler": "github:angular/compiler-builds#3be609892d33f05b1e3f6e48dee53b428c8dc56d", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#2586d2c60976424ebe5f64d01daacba7b51273d0", + "@angular/core": "github:angular/core-builds#6f12e60e7e3f5c088916155a52ad6396690a304c", + "@angular/forms": "github:angular/forms-builds#0bc95e7d8dcad0dfbd9318f72dab920aec6f7778", + "@angular/language-service": "github:angular/language-service-builds#ff08cc1d3450d9791c55744a57d9df90dcbbcdac", + "@angular/localize": "github:angular/localize-builds#cad6f4c0b322d620d69a6ebfb79e6893f5cc88d3", + "@angular/material": "github:angular/material-builds#b1fdd72cf6a4e224128769e9cb887cc9fc809ec9", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4974f0c9689328d38ce41a91fe108e03bdf35fcd", + "@angular/platform-browser": "github:angular/platform-browser-builds#343208f6da8c0f80a6ad3683efd46ab0cde95ed6", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#79c9f527195f9c7eab098f0bd5cfebd3d69f2927", + "@angular/platform-server": "github:angular/platform-server-builds#aadbc2e0bf74b38280d9d48178cd89c3c2cadc7f", + "@angular/router": "github:angular/router-builds#e57c14d525b252894ed97703155f1ee6271b9467", + "@angular/service-worker": "github:angular/service-worker-builds#bbe4bed757b0a0ee1fb60bc58dc1bfdfe8cc6740" } } diff --git a/yarn.lock b/yarn.lock index 04e6e87df0a3..ee3f35a92c66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.2.tgz#49755c854c4fa3ab64d91d9855bcd1807f9945c5" - integrity sha512-751Sshu+HKYOqmnGRriHjd4ybMradgkLYOM9dBoX7YFpZce+IcEtojALGfLA4YDZwJF2RhBD6lFcJdWJPC9wCw== +"@angular/cdk@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.3.tgz#eaa0b0736481bc9c1d24ad88e19dd20874506032" + integrity sha512-XN5+WVUFx13lW2x9gnzJprHGqcvSpKQaoXxFvlcn16i0P6Iy1jldVZm6q6chEhgX9rEi7P31nfE88OJzHmkEyw== dependencies: tslib "^2.3.0" optionalDependencies: @@ -175,9 +175,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2": - version "0.0.0-860ebf16b8617ce999394c2c70a8af307bb0ddc2" - resolved "https://github.com/angular/dev-infra-private-builds.git#262cb3bb487e8dddb3c404f4f2c8b34a9a1f14c2" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d": + version "0.0.0-3e07a8f0335813ddeee471c7c1db12325c07325e" + uid "714bb709f6d7ee3386a7f1097a75a54ab92c285d" + resolved "https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d" dependencies: "@angular-devkit/build-angular" "14.1.0-next.1" "@angular/benchpress" "0.3.0" @@ -227,10 +228,10 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.2": - version "14.0.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.2.tgz#6a2b74d2b8767c69a58a3af520b3b979aea7e733" - integrity sha512-w1QHmQK02eF4mZZ6mixgKNaIp0cg71MQEDgoeZppUjrOij2TYkorHhT9Ma2XguV5Xi2wSGoGUzNKJ0OucB8hLA== +"@angular/material@14.0.3": + version "14.0.3" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.3.tgz#73aa8cb75ea924595b049487892efa9d9d59df0a" + integrity sha512-xtYV5ygkfl/6JUaI99NeD1AdM4WcCrCOsx/5IR3ZohUQ1q9vPPvcArWa9QAa1GgU7HNhkgXU90yELwsOtSTc4w== dependencies: tslib "^2.3.0" From aad584d02d3bbbde724bddc4f79db147c5d6ad82 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 Jun 2022 12:56:31 +0000 Subject: [PATCH 0587/1388] build: update dependency puppeteer to v15 --- package.json | 2 +- yarn.lock | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 23fc4a204cc3..6495fa14f1a8 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "postcss-preset-env": "7.7.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "14.2.1", + "puppeteer": "15.0.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index ee3f35a92c66..714c2f46acf6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9123,10 +9123,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@14.2.1: - version "14.2.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-14.2.1.tgz#e343379061e0211b4c02d0c535883c26a39f825e" - integrity sha512-cIEsAbEbNYqHbkvdZY4+YSdxVwh4YFqOHSezuLpu46XAYlKkQeAMdJQ+mDAxg9v77gIn8PHJ6PlftIVsWKRACA== +puppeteer@15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.0.1.tgz#50dbed2c0c6ea70b22289442b96d3a3c116347a2" + integrity sha512-t6+L0Vcc/03OO5izVXL+P5+9uvH1Ix9jK65JwYAQhI9UVtkzuikbJqz+BAsftkhOH0r9F4YiOTtMBPUbBnfn9A== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -9139,7 +9139,7 @@ puppeteer@14.2.1: rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.7.0" + ws "8.8.0" q@1.4.1: version "1.4.1" @@ -11431,12 +11431,7 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.7.0.tgz#eaf9d874b433aa00c0e0d8752532444875db3957" - integrity sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg== - -ws@>=7.4.6, ws@^8.4.2: +ws@8.8.0, ws@>=7.4.6, ws@^8.4.2: version "8.8.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== From 8b65abe1b037cf00cb3c95ab98f7b6ba3ceef561 Mon Sep 17 00:00:00 2001 From: Tim Bowersox <11789189+t-bowersox@users.noreply.github.com> Date: Mon, 20 Jun 2022 09:38:49 -0400 Subject: [PATCH 0588/1388] fix(@angular/cli): improve global schema validation - Prevent additional properties being set in cli subproperties (i.e. cli.warnings.zzzz). - Create cliGlobalOptions definition and reference in the global.cli schema. - Use global.cli schema to validate changes made with --global flag. - Add test coverage for validating global/local-only changes. - Add test coverage for setting invalid properties and sub-properties. --- .../cli/lib/config/workspace-schema.json | 78 +++++++++++++++++-- .../angular/cli/src/commands/config/cli.ts | 23 +----- packages/angular/cli/src/utilities/config.ts | 15 +++- .../config/config-global-validation.ts | 51 ++++++++++++ .../e2e/tests/commands/config/config-set.ts | 19 ++++- 5 files changed, 154 insertions(+), 32 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/config/config-global-validation.ts diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index ce60b46627b1..25cd535a1407 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -67,7 +67,8 @@ "description": "Show a warning when the global version is newer than the local one.", "type": "boolean" } - } + }, + "additionalProperties": false }, "analytics": { "type": ["boolean", "string"], @@ -86,7 +87,8 @@ "type": "string", "format": "uuid" } - } + }, + "additionalProperties": false }, "cache": { "description": "Control disk cache.", @@ -105,7 +107,74 @@ "description": "Cache base path.", "type": "string" } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "cliGlobalOptions": { + "type": "object", + "properties": { + "defaultCollection": { + "description": "The default schematics collection to use.", + "type": "string", + "x-deprecated": "Use 'schematicCollections' instead." + }, + "schematicCollections": { + "type": "array", + "description": "The list of schematic collections to use.", + "items": { + "type": "string", + "uniqueItems": true } + }, + "packageManager": { + "description": "Specify which package manager tool to use.", + "type": "string", + "enum": ["npm", "cnpm", "yarn", "pnpm"] + }, + "warnings": { + "description": "Control CLI specific console warnings", + "type": "object", + "properties": { + "versionMismatch": { + "description": "Show a warning when the global version is newer than the local one.", + "type": "boolean" + } + }, + "additionalProperties": false + }, + "analytics": { + "type": ["boolean", "string"], + "description": "Share anonymous usage data with the Angular Team at Google." + }, + "analyticsSharing": { + "type": "object", + "properties": { + "tracking": { + "description": "Analytics sharing info tracking ID.", + "type": "string", + "pattern": "^(GA|UA)?-\\d+-\\d+$" + }, + "uuid": { + "description": "Analytics sharing info universally unique identifier.", + "type": "string", + "format": "uuid" + } + }, + "additionalProperties": false + }, + "completion": { + "type": "object", + "description": "Angular CLI completion settings.", + "properties": { + "prompted": { + "type": "boolean", + "description": "Whether the user has been prompted to add completion command prompt." + } + }, + "additionalProperties": false } }, "additionalProperties": false @@ -575,14 +644,13 @@ "type": "object", "properties": { "$schema": { - "type": "string", - "format": "uri" + "type": "string" }, "version": { "$ref": "#/definitions/fileVersion" }, "cli": { - "$ref": "#/definitions/cliOptions" + "$ref": "#/definitions/cliGlobalOptions" }, "schematics": { "$ref": "#/definitions/schematicOptions" diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index 4fe22df391a9..33c3d6439f09 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -97,27 +97,6 @@ export class ConfigCommandModule throw new CommandModuleError('Invalid Path.'); } - const validGlobalCliPaths = new Set([ - 'cli.warnings.versionMismatch', - 'cli.defaultCollection', - 'cli.schematicCollections', - 'cli.packageManager', - - 'cli.analytics', - 'cli.analyticsSharing.tracking', - 'cli.analyticsSharing.uuid', - - 'cli.completion.prompted', - ]); - - if ( - options.global && - !options.jsonPath.startsWith('schematics.') && - !validGlobalCliPaths.has(options.jsonPath) - ) { - throw new CommandModuleError('Invalid Path.'); - } - const [config, configPath] = await getWorkspaceRaw(options.global ? 'global' : 'local'); const { logger } = this.context; @@ -140,7 +119,7 @@ export class ConfigCommandModule return 1; } - await validateWorkspace(parseJson(config.content)); + await validateWorkspace(parseJson(config.content), options.global ?? false); config.save(); diff --git a/packages/angular/cli/src/utilities/config.ts b/packages/angular/cli/src/utilities/config.ts index 601d609c2e10..897b0a84dfd8 100644 --- a/packages/angular/cli/src/utilities/config.ts +++ b/packages/angular/cli/src/utilities/config.ts @@ -240,11 +240,20 @@ export async function getWorkspaceRaw( return [new JSONFile(configPath), configPath]; } -export async function validateWorkspace(data: json.JsonObject): Promise { - const schema = readAndParseJson(workspaceSchemaPath) as json.schema.JsonSchema; +export async function validateWorkspace(data: json.JsonObject, isGlobal: boolean): Promise { + const schema = readAndParseJson(workspaceSchemaPath); + + // We should eventually have a dedicated global config schema and use that to validate. + const schemaToValidate: json.schema.JsonSchema = isGlobal + ? { + '$ref': '#/definitions/global', + definitions: schema['definitions'], + } + : schema; + const { formats } = await import('@angular-devkit/schematics'); const registry = new json.schema.CoreSchemaRegistry(formats.standardFormats); - const validator = await registry.compile(schema).toPromise(); + const validator = await registry.compile(schemaToValidate).toPromise(); const { success, errors } = await validator(data).toPromise(); if (!success) { diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-global-validation.ts b/tests/legacy-cli/e2e/tests/commands/config/config-global-validation.ts new file mode 100644 index 000000000000..96fe3383f9a9 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/config/config-global-validation.ts @@ -0,0 +1,51 @@ +import { homedir } from 'os'; +import * as path from 'path'; +import { deleteFile, expectFileToExist } from '../../../utils/fs'; +import { ng, silentNg } from '../../../utils/process'; +import { expectToFail } from '../../../utils/utils'; + +export default async function () { + let ngError: Error; + + ngError = await expectToFail(() => silentNg('config', 'cli.completion.prompted', 'true')); + + if ( + !ngError.message.includes('Data path "/cli" must NOT have additional properties(completion).') + ) { + throw new Error('Should have failed with must NOT have additional properties(completion).'); + } + + ngError = await expectToFail(() => + silentNg('config', '--global', 'cli.completion.invalid', 'true'), + ); + + if ( + !ngError.message.includes( + 'Data path "/cli/completion" must NOT have additional properties(invalid).', + ) + ) { + throw new Error('Should have failed with must NOT have additional properties(invalid).'); + } + + ngError = await expectToFail(() => silentNg('config', '--global', 'cli.cache.enabled', 'true')); + + if (!ngError.message.includes('Data path "/cli" must NOT have additional properties(cache).')) { + throw new Error('Should have failed with must NOT have additional properties(cache).'); + } + + ngError = await expectToFail(() => silentNg('config', 'cli.completion.prompted')); + + if (!ngError.message.includes('Value cannot be found.')) { + throw new Error('Should have failed with Value cannot be found.'); + } + + await ng('config', '--global', 'cli.completion.prompted', 'true'); + const { stdout } = await silentNg('config', '--global', 'cli.completion.prompted'); + + if (!stdout.includes('true')) { + throw new Error(`Expected "true", received "${JSON.stringify(stdout)}".`); + } + + await expectFileToExist(path.join(homedir(), '.angular-config.json')); + await deleteFile(path.join(homedir(), '.angular-config.json')); +} diff --git a/tests/legacy-cli/e2e/tests/commands/config/config-set.ts b/tests/legacy-cli/e2e/tests/commands/config/config-set.ts index 5651780200e5..98a3b680219b 100644 --- a/tests/legacy-cli/e2e/tests/commands/config/config-set.ts +++ b/tests/legacy-cli/e2e/tests/commands/config/config-set.ts @@ -1,8 +1,23 @@ -import { ng } from '../../../utils/process'; +import { ng, silentNg } from '../../../utils/process'; import { expectToFail } from '../../../utils/utils'; export default async function () { - await expectToFail(() => ng('config', 'cli.warnings.zzzz')); + let ngError: Error; + + ngError = await expectToFail(() => silentNg('config', 'cli.warnings.zzzz', 'true')); + if ( + !ngError.message.includes( + 'Data path "/cli/warnings" must NOT have additional properties(zzzz).', + ) + ) { + throw new Error('Should have failed with must NOT have additional properties(zzzz).'); + } + + ngError = await expectToFail(() => silentNg('config', 'cli.warnings.zzzz')); + if (!ngError.message.includes('Value cannot be found.')) { + throw new Error('Should have failed with Value cannot be found.'); + } + await ng('config', 'cli.warnings.versionMismatch', 'false'); const { stdout } = await ng('config', 'cli.warnings.versionMismatch'); if (!stdout.includes('false')) { From fdb0fac2dc68214256c878c78e0f3b054d9a96bf Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Fri, 24 Jun 2022 14:05:29 +0000 Subject: [PATCH 0589/1388] ci: attempt to fix renovate configuration schedules It seems the Angular CLI uses schedule strings which end up being incorrect according to `@beejs/later` (which is used by Renovate) The Renovate app dashboard also seems to show some uncaught errors (no logs available) and based on communication with the team, it sounds like Renovate is missing some updates. --- renovate.json | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/renovate.json b/renovate.json index 7e3b8d60bd8f..32a5d49def1d 100644 --- a/renovate.json +++ b/renovate.json @@ -1,18 +1,17 @@ { - "pinVersions": false, - "semanticCommits": true, - "semanticPrefix": "build", + "rangeStrategy": "replace", + "semanticCommits": "enabled", + "semanticCommitType": "build", + "semanticCommitScope": null, "separateMajorMinor": false, "prHourlyLimit": 2, "labels": ["target: minor", "action: merge"], "timezone": "America/Tijuana", - "lockFileMaintenance": { - "enabled": true - }, - "schedule": ["after 10pm every weekday", "before 4am every weekday", "every weekend"], + "lockFileMaintenance": { "enabled": true }, + "schedule": ["after 10:00pm every weekday", "before 4:00am every weekday", "every weekend"], "baseBranches": ["main"], "ignoreDeps": ["@types/node", "quicktype-core"], - "packageFiles": [ + "includePaths": [ "WORKSPACE", "package.json", "packages/**/package.json", @@ -21,33 +20,30 @@ ], "packageRules": [ { - "packagePatterns": ["^@angular/.*", "angular/dev-infra"], "groupName": "angular", - "pinVersions": false + "matchPackagePatterns": ["^@angular/.*", "angular/dev-infra"] }, { - "packagePatterns": ["^@babel/.*"], "groupName": "babel", - "pinVersions": false + "matchPackagePatterns": ["^@babel/.*"] }, { - "packagePatterns": ["^@bazel/.*", "^build_bazel.*"], "groupName": "bazel", - "pinVersions": false + "matchPackagePatterns": ["^@bazel/.*", "^build_bazel.*"] }, { - "packageNames": ["typescript", "rxjs", "tslib"], - "separateMinorPatch": true + "separateMinorPatch": true, + "matchPackageNames": ["typescript", "rxjs", "tslib"] }, { - "packageNames": ["typescript", "rxjs", "tslib"], - "updateTypes": ["major"], - "enabled": false + "enabled": false, + "matchPackageNames": ["typescript", "rxjs", "tslib"], + "matchUpdateTypes": ["major"] }, { - "packageNames": ["typescript"], - "updateTypes": ["minor"], - "enabled": false + "enabled": false, + "matchPackageNames": ["typescript"], + "matchUpdateTypes": ["minor"] }, { "matchPaths": [ From 04160c58ce28121fbe49496468178f45c472572d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 11:50:13 +0000 Subject: [PATCH 0590/1388] build: update all non-major dependencies --- WORKSPACE | 10 +- package.json | 54 +- packages/angular/cli/package.json | 6 +- .../angular_devkit/benchmark/package.json | 2 +- .../angular_devkit/build_angular/package.json | 22 +- packages/angular_devkit/core/package.json | 2 +- .../schematic/files/package.json | 2 +- .../utility/latest-versions/package.json | 6 +- yarn.lock | 662 +++++++++++++----- 9 files changed, 550 insertions(+), 216 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index e026212e2379..d077c3254fcf 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "0fad45a9bda7dc1990c47b002fd64f55041ea751fafc00cd34efb96107675778", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.0/rules_nodejs-5.5.0.tar.gz"], + sha256 = "ee3280a7f58aa5c1caa45cb9e08cbb8f4d74300848c508374daf37314d5390d6", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.1/rules_nodejs-5.5.1.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "b381ac4dca544ecc5515916f38066e9793628477e2577edb7b2ab04e8c210738", - strip_prefix = "bazel-lib-1.0.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.0.0.tar.gz", + sha256 = "4ef2f746bae7bd7f1ec39dc9b53a9d7e8002f18233ea2c2ee4702bbb5283c7ca", + strip_prefix = "bazel-lib-1.3.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.3.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 6495fa14f1a8..bfddb0c623d3 100644 --- a/package.json +++ b/package.json @@ -79,19 +79,19 @@ "@angular/platform-server": "14.0.3", "@angular/router": "14.0.3", "@angular/service-worker": "14.0.3", - "@babel/core": "7.18.2", + "@babel/core": "7.18.5", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.17.12", "@babel/plugin-transform-async-to-generator": "7.17.12", - "@babel/plugin-transform-runtime": "7.18.2", + "@babel/plugin-transform-runtime": "7.18.5", "@babel/preset-env": "7.18.2", "@babel/runtime": "7.18.3", "@babel/template": "7.16.7", - "@bazel/bazelisk": "1.11.0", + "@bazel/bazelisk": "1.12.0", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.5.0", - "@bazel/jasmine": "5.5.0", + "@bazel/concatjs": "5.5.1", + "@bazel/jasmine": "5.5.1", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.27.0", - "@typescript-eslint/parser": "5.27.0", + "@typescript-eslint/eslint-plugin": "5.29.0", + "@typescript-eslint/parser": "5.29.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -139,9 +139,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.42", - "esbuild-wasm": "0.14.42", - "eslint": "8.16.0", + "esbuild": "0.14.47", + "esbuild-wasm": "0.14.47", + "eslint": "8.18.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -154,53 +154,53 @@ "ini": "3.0.0", "inquirer": "8.2.4", "jasmine": "^4.0.0", - "jasmine-core": "~4.1.0", + "jasmine-core": "~4.2.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", "jsonc-parser": "3.0.0", - "karma": "~6.3.0", + "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.0.0", + "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", "karma-source-map-support": "1.4.0", - "less": "4.1.2", + "less": "4.1.3", "less-loader": "11.0.0", "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "magic-string": "0.26.2", - "mini-css-extract-plugin": "2.6.0", + "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "14.0.0", + "ng-packagr": "14.0.2", "node-fetch": "^2.2.0", "npm": "^8.11.0", - "npm-package-arg": "9.0.2", + "npm-package-arg": "9.1.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.0", + "pacote": "13.6.1", "parse5-html-rewriting-stream": "6.0.1", - "pidtree": "^0.5.0", + "pidtree": "^0.6.0", "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", "postcss": "8.4.14", "postcss-import": "14.1.0", "postcss-loader": "7.0.0", - "postcss-preset-env": "7.7.0", + "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.0.1", + "puppeteer": "15.1.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.52.2", - "sass-loader": "13.0.0", + "sass": "1.53.0", + "sass-loader": "13.0.1", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", "shelljs": "^0.8.5", - "source-map": "0.7.3", + "source-map": "0.7.4", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", @@ -208,17 +208,17 @@ "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.14.0", + "terser": "5.14.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "~4.7.2", - "verdaccio": "5.11.0", + "verdaccio": "5.13.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.1", + "webpack-dev-server": "4.9.2", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index b23cd41460ac..53f952b19343 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -32,12 +32,12 @@ "ini": "3.0.0", "inquirer": "8.2.4", "jsonc-parser": "3.0.0", - "npm-package-arg": "9.0.2", + "npm-package-arg": "9.1.0", "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.0", - "resolve": "1.22.0", + "pacote": "13.6.1", + "resolve": "1.22.1", "semver": "7.3.7", "symbol-observable": "4.0.0", "uuid": "8.3.2", diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 4ca2fbace680..58616f8f1a83 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -13,7 +13,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", "pidusage": "3.0.0", - "pidtree": "0.5.0", + "pidtree": "0.6.0", "rxjs": "6.6.7", "tree-kill": "^1.2.0", "yargs-parser": "21.0.1" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 55e9ba79f05d..86c32d86968b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,12 +10,12 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.2", + "@babel/core": "7.18.5", "@babel/generator": "7.18.2", "@babel/helper-annotate-as-pure": "7.16.7", "@babel/plugin-proposal-async-generator-functions": "7.17.12", "@babel/plugin-transform-async-to-generator": "7.17.12", - "@babel/plugin-transform-runtime": "7.18.2", + "@babel/plugin-transform-runtime": "7.18.5", "@babel/preset-env": "7.18.2", "@babel/runtime": "7.18.3", "@babel/template": "7.16.7", @@ -29,17 +29,17 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.42", + "esbuild-wasm": "0.14.47", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.0.0", "karma-source-map-support": "1.4.0", - "less": "4.1.2", + "less": "4.1.3", "less-loader": "11.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.6.0", + "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "open": "8.4.0", "ora": "5.4.1", @@ -48,29 +48,29 @@ "postcss": "8.4.14", "postcss-import": "14.1.0", "postcss-loader": "7.0.0", - "postcss-preset-env": "7.7.0", + "postcss-preset-env": "7.7.2", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.52.2", - "sass-loader": "13.0.0", + "sass": "1.53.0", + "sass-loader": "13.0.1", "semver": "7.3.7", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "stylus": "0.58.1", "stylus-loader": "7.0.0", - "terser": "5.14.0", + "terser": "5.14.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.1", + "webpack-dev-server": "4.9.2", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.42" + "esbuild": "0.14.47" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 111cfe50362f..44e5ba473aa5 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -12,7 +12,7 @@ "ajv": "8.11.0", "jsonc-parser": "3.0.0", "rxjs": "6.6.7", - "source-map": "0.7.3" + "source-map": "0.7.4" }, "peerDependencies": { "chokidar": "^3.5.2" diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index e3bca47fe1bc..1f6c44ec4587 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -20,6 +20,6 @@ "devDependencies": { "@types/node": "^14.15.0", "@types/jasmine": "~4.0.0", - "jasmine": "~4.1.0" + "jasmine": "~4.2.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 977c29e4de24..284bd747e8ee 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -5,13 +5,13 @@ "dependencies": { "@types/jasmine": "~4.0.0", "@types/node": "^14.15.0", - "jasmine-core": "~4.1.0", + "jasmine-core": "~4.2.0", "jasmine-spec-reporter": "~7.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine-html-reporter": "~2.0.0", - "karma-jasmine": "~5.0.0", - "karma": "~6.3.0", + "karma-jasmine": "~5.1.0", + "karma": "~6.4.0", "ng-packagr": "^14.0.0-next.8", "protractor": "~7.0.0", "rxjs": "~7.5.0", diff --git a/yarn.lock b/yarn.lock index 714c2f46acf6..b10bd6e5cb16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -310,7 +310,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== @@ -1013,6 +1013,18 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.5.tgz#f4d3188ba6a8815793993c71c2c225d0ee1d7743" + integrity sha512-Q17hHxXr2fplrE+5BSC1j1Fo5cOA8YeP8XW3/1paI8MzF/faZGh0MaH1KC4jLAvqLPamQWHB5/B7KqSLY1kuHA== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" @@ -1196,10 +1208,10 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@bazel/bazelisk@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" - integrity sha512-lxiQzVqSGDG0PIDQGJdVDjp7T+50p5NnM4EnRJa76mkZp6u5ul19GJNKhPKi81TZQALZEZDxAgxVqQKkWTUOxA== +"@bazel/bazelisk@1.12.0": + version "1.12.0" + resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50" + integrity sha512-7oQusq1e4AIyFgotxVV7Pc40Et0QyvoVjujL+7/qV5Vrbfh0Nj3CfqSgl63weEyI4r0+K6RlGVsjfRuBi05p5w== "@bazel/buildifier@5.1.0": version "5.1.0" @@ -1215,15 +1227,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.1.tgz#151985de8f8538b5dd8fa744c11c697c12e5f39e" + integrity sha512-gFE6/Enk01KWj4XtEv7yhLZG02qMrQF7l7avVvQ5pgMHQg7IjkMKBWOcG9kw2K/D0N6ZFtcGwnTIzYpePd1aZg== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.0.tgz#51cff0a3f1da93c17cffe3fc52132e25d9aa14b8" integrity sha512-kKB1XupmjPJD2R/JpVz5pQWnSVw6j3HF7gGJhoTzbplqqL7jQLfJLWRKmg286vkNe/g6EGrDG1ONN7dF3DT7lQ== -"@bazel/jasmine@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.0.tgz#0d82e382aad1aca4c4edd8198bb6b3edbb3a5adf" - integrity sha512-mg3DTdvR4T/FX8NljitAt4tz3g43Vm8Ts5MD6zl0MuPRABT3tnguUAwsbw246jT1/E/8fdaS/Sdfm1edNqPcxg== +"@bazel/jasmine@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.1.tgz#1dfd838086cb235f22a4f57c800b3f637dd065f3" + integrity sha512-YmPUIhUKWsE8cQMPArV8CmN7NdvhPPkbxXxiiV0ba7NGNU4PhiqZBZlouq2ZvvBsmgpxOiA6L0hMiT1QnR2JEA== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1286,6 +1307,14 @@ "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" +"@csstools/postcss-cascade-layers@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.4.tgz#9086bd2e71b43a947ae61bb735b0a83ab1549a68" + integrity sha512-zP2tQIFu4C3HueOT+G4Pkla7f2Z6pfXphc1Y9wDE5jS2Ss6dk/asQ7FFEFWKgy3EkYc7E1FSjzhfeZVGg5sjXQ== + dependencies: + "@csstools/selector-specificity" "^2.0.0" + postcss-selector-parser "^6.0.10" + "@csstools/postcss-color-function@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.0.tgz#229966327747f58fbe586de35daa139db3ce1e5d" @@ -1324,6 +1353,14 @@ "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" +"@csstools/postcss-is-pseudo-class@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.6.tgz#1d82d798a2ce0b5f793d34710976f184c4f6560c" + integrity sha512-Oqs396oenuyyMdRXOstxXbxei8fYEgToYjmlYHEi5gk0QLk7xQ72LY7NDr7waWAAmdVzRqPpbE26Q7/cUrGu4Q== + dependencies: + "@csstools/selector-specificity" "^2.0.0" + postcss-selector-parser "^6.0.10" + "@csstools/postcss-normalize-display-values@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" @@ -1742,6 +1779,16 @@ node-gyp "^8.4.1" read-package-json-fast "^2.0.3" +"@npmcli/run-script@^4.1.0": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.3.tgz#b89a3f861d740379892f9b2c44f8bb66dd7b577c" + integrity sha512-xb47c2KMkn6ERw2AwPPGKIITbWoXOT1yDV5rU3SYeC1vksYOodbgN0pnOptIVnRgS2e9G8R7BVDVm8lWp92unQ== + dependencies: + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^2.0.3" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -2324,7 +2371,7 @@ dependencies: "@types/express" "*" -"@types/serve-static@*": +"@types/serve-static@*", "@types/serve-static@^1.13.10": version "1.13.10" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== @@ -2437,14 +2484,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz#23d82a4f21aaafd8f69dbab7e716323bb6695cc8" - integrity sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ== +"@typescript-eslint/eslint-plugin@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz#c67794d2b0fd0b4a47f50266088acdc52a08aab6" + integrity sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w== dependencies: - "@typescript-eslint/scope-manager" "5.27.0" - "@typescript-eslint/type-utils" "5.27.0" - "@typescript-eslint/utils" "5.27.0" + "@typescript-eslint/scope-manager" "5.29.0" + "@typescript-eslint/type-utils" "5.29.0" + "@typescript-eslint/utils" "5.29.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2452,69 +2499,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.27.0.tgz#62bb091ed5cf9c7e126e80021bb563dcf36b6b12" - integrity sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA== +"@typescript-eslint/parser@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.29.0.tgz#41314b195b34d44ff38220caa55f3f93cfca43cf" + integrity sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw== dependencies: - "@typescript-eslint/scope-manager" "5.27.0" - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/typescript-estree" "5.27.0" + "@typescript-eslint/scope-manager" "5.29.0" + "@typescript-eslint/types" "5.29.0" + "@typescript-eslint/typescript-estree" "5.29.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz#a272178f613050ed62f51f69aae1e19e870a8bbb" - integrity sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g== +"@typescript-eslint/scope-manager@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz#2a6a32e3416cb133e9af8dcf54bf077a916aeed3" + integrity sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA== dependencies: - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/visitor-keys" "5.27.0" + "@typescript-eslint/types" "5.29.0" + "@typescript-eslint/visitor-keys" "5.29.0" -"@typescript-eslint/type-utils@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz#36fd95f6747412251d79c795b586ba766cf0974b" - integrity sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g== +"@typescript-eslint/type-utils@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz#241918001d164044020b37d26d5b9f4e37cc3d5d" + integrity sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg== dependencies: - "@typescript-eslint/utils" "5.27.0" + "@typescript-eslint/utils" "5.29.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.27.0.tgz#c3f44b9dda6177a9554f94a74745ca495ba9c001" - integrity sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A== +"@typescript-eslint/types@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.29.0.tgz#7861d3d288c031703b2d97bc113696b4d8c19aab" + integrity sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg== -"@typescript-eslint/typescript-estree@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz#7965f5b553c634c5354a47dcce0b40b94611e995" - integrity sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ== +"@typescript-eslint/typescript-estree@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz#e83d19aa7fd2e74616aab2f25dfbe4de4f0b5577" + integrity sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ== dependencies: - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/visitor-keys" "5.27.0" + "@typescript-eslint/types" "5.29.0" + "@typescript-eslint/visitor-keys" "5.29.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.27.0.tgz#d0021cbf686467a6a9499bd0589e19665f9f7e71" - integrity sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA== +"@typescript-eslint/utils@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.29.0.tgz#775046effd5019667bd086bcf326acbe32cd0082" + integrity sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.27.0" - "@typescript-eslint/types" "5.27.0" - "@typescript-eslint/typescript-estree" "5.27.0" + "@typescript-eslint/scope-manager" "5.29.0" + "@typescript-eslint/types" "5.29.0" + "@typescript-eslint/typescript-estree" "5.29.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.27.0": - version "5.27.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz#97aa9a5d2f3df8215e6d3b77f9d214a24db269bd" - integrity sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA== +"@typescript-eslint/visitor-keys@5.29.0": + version "5.29.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz#7a4749fa7ef5160c44a451bf060ac1dc6dfb77ee" + integrity sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ== dependencies: - "@typescript-eslint/types" "5.27.0" + "@typescript-eslint/types" "5.29.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -2525,22 +2572,22 @@ http-errors "2.0.0" http-status-codes "2.2.0" -"@verdaccio/file-locking@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.2.0.tgz#d9f107a422d9e23e6719d5c48a4151a1dee715b4" - integrity sha512-2FR5Tq0xuFLgEIuMPhtdofUk02OiJrBk4bOrQRaIkuYNEqiC0QNzXIz1u8ys2Q++z48affjbJkc9WUnAZRYbJg== +"@verdaccio/file-locking@10.3.0": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.3.0.tgz#a4342665c549163817c267bfa451e32ed3009767" + integrity sha512-FE5D5H4wy/nhgR/d2J5e1Na9kScj2wMjlLPBHz7XF4XZAVSRdm45+kL3ZmrfA6b2HTADP/uH7H05/cnAYW8bhw== dependencies: lockfile "1.0.4" -"@verdaccio/local-storage@10.2.1": - version "10.2.1" - resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.2.1.tgz#88fbc0e2742d45b22d38b22db922f2593e1ea974" - integrity sha512-0ff8TnHvhPu+HSZJvmm8Yb7VRGa/yf7vwpJMQngo2xYg++73CgnUP5hI65NJeKJyg8DX5E0YgCw6HoTbNxBxhg== +"@verdaccio/local-storage@10.3.1": + version "10.3.1" + resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.3.1.tgz#8cbdc6390a0eb532577ae217729cb0a4e062f299" + integrity sha512-f3oArjXPOAwUAA2dsBhfL/rSouqJ2sfml8k97RtnBPKOzisb28bgyAQW0mqwQvN4MTK5S/2xudmobFpvJAIatg== dependencies: "@verdaccio/commons-api" "10.2.0" - "@verdaccio/file-locking" "10.2.0" + "@verdaccio/file-locking" "10.3.0" "@verdaccio/streams" "10.2.0" - async "3.2.3" + async "3.2.4" debug "4.3.4" lodash "4.17.21" lowdb "1.0.0" @@ -3037,10 +3084,10 @@ async-each-series@0.1.1: resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" integrity sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ== -async@3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== +async@3.2.4, async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== async@^2.6.0: version "2.6.4" @@ -3049,11 +3096,6 @@ async@^2.6.0: dependencies: lodash "^4.17.14" -async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3359,7 +3401,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*: +browserslist@*, browserslist@^4.21.0: version "4.21.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe" integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA== @@ -4127,10 +4169,10 @@ date-format@^4.0.10: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.11.tgz#ae0d1e069d7f0687938fd06f98c12f3a6276e526" integrity sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw== -dayjs@1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.2.tgz#fa0f5223ef0d6724b3d8327134890cfe3d72fbe5" - integrity sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw== +dayjs@1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.3.tgz#4754eb694a624057b9ad2224b67b15d552589258" + integrity sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -4270,10 +4312,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A== -devtools-protocol@0.0.1001819: - version "0.0.1001819" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1001819.tgz#0a98f44cefdb02cc684f3d5e6bd898a1690231d9" - integrity sha512-G6OsIFnv/rDyxSqBa2lDLR6thp9oJioLsb2Gl+LbQlyoA9/OBAkrTU9jiCcQ8Pnh7z4d6slDiLaogR5hzgJLmQ== +devtools-protocol@0.0.1011705: + version "0.0.1011705" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1011705.tgz#2582ed29f84848df83fba488122015540a744539" + integrity sha512-OKvTvu9n3swmgYshvsyVHYX0+aPzCoYUnyXUacfQMmFtBtBKewV/gT4I9jkAbpTqtTi2E4S9MXLlvzBDUlqg0Q== dezalgo@^1.0.0: version "1.0.4" @@ -4660,6 +4702,11 @@ esbuild-android-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.43.tgz#59bf3edad6863c27aa92bbb5c1d83a9a5c981495" integrity sha512-kqFXAS72K6cNrB6RiM7YJ5lNvmWRDSlpi7ZuRZ1hu1S3w0zlwcoCxWAyM23LQUyZSs1PbjHgdbbfYAN8IGh6xg== +esbuild-android-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b" + integrity sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g== + esbuild-android-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" @@ -4670,6 +4717,11 @@ esbuild-android-arm64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.43.tgz#0258704edf92ce2463af6d2900b844b5423bed63" integrity sha512-bKS2BBFh+7XZY9rpjiHGRNA7LvWYbZWP87pLehggTG7tTaCDvj8qQGOU/OZSjCSKDYbgY7Q+oDw8RlYQ2Jt2BA== +esbuild-android-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6" + integrity sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ== + esbuild-darwin-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" @@ -4680,6 +4732,11 @@ esbuild-darwin-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.43.tgz#72a47295678d4aa0656979baa8cf6d5c8c92656f" integrity sha512-/3PSilx011ttoieRGkSZ0XV8zjBf2C9enV4ScMMbCT4dpx0mFhMOpFnCHkOK0pWGB8LklykFyHrWk2z6DENVUg== +esbuild-darwin-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188" + integrity sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA== + esbuild-darwin-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" @@ -4690,6 +4747,11 @@ esbuild-darwin-arm64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.43.tgz#5f5823170b8d85b888957f0794e186caac447aca" integrity sha512-1HyFUKs8DMCBOvw1Qxpr5Vv/ThNcVIFb5xgXWK3pyT40WPvgYIiRTwJCvNs4l8i5qWF8/CK5bQxJVDjQvtv0Yw== +esbuild-darwin-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz#cd40fd49a672fca581ed202834239dfe540a9028" + integrity sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw== + esbuild-freebsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" @@ -4700,6 +4762,11 @@ esbuild-freebsd-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.43.tgz#e4a48b08181053837e6cd9bda19ae0af94d493b0" integrity sha512-FNWc05TPHYgaXjbPZO5/rJKSBslfG6BeMSs8GhwnqAKP56eEhvmzwnIz1QcC9cRVyO+IKqWNfmHFkCa1WJTULA== +esbuild-freebsd-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67" + integrity sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ== + esbuild-freebsd-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" @@ -4710,6 +4777,11 @@ esbuild-freebsd-arm64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.43.tgz#386e780d36c1dedf3a1cdab79e0bbacd873274e6" integrity sha512-amrYopclz3VohqisOPR6hA3GOWA3LZC1WDLnp21RhNmoERmJ/vLnOpnrG2P/Zao+/erKTCUqmrCIPVtj58DRoA== +esbuild-freebsd-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6" + integrity sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ== + esbuild-linux-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" @@ -4720,6 +4792,11 @@ esbuild-linux-32@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.43.tgz#040ed6b9ebf06d73acdf2acce7f1cd0c12fbc6a5" integrity sha512-KoxoEra+9O3AKVvgDFvDkiuddCds6q71owSQEYwjtqRV7RwbPzKxJa6+uyzUulHcyGVq0g15K0oKG5CFBcvYDw== +esbuild-linux-32@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58" + integrity sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw== + esbuild-linux-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" @@ -4730,6 +4807,11 @@ esbuild-linux-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.43.tgz#8abbb7594ab6a008f2aae72d95d8a4fdc59d9000" integrity sha512-EwINwGMyiJMgBby5/SbMqKcUhS5AYAZ2CpEBzSowsJPNBJEdhkCTtEjk757TN/wxgbu3QklqDM6KghY660QCUw== +esbuild-linux-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1" + integrity sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw== + esbuild-linux-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" @@ -4740,6 +4822,11 @@ esbuild-linux-arm64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.43.tgz#4e8e9ce77cbf7efec65e79e512b3d2fbd2da398f" integrity sha512-UlSpjMWllAc70zYbHxWuDS3FJytyuR/gHJYBr8BICcTNb/TSOYVBg6U7b3jZ3mILTrgzwJUHwhEwK18FZDouUQ== +esbuild-linux-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a" + integrity sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw== + esbuild-linux-arm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" @@ -4750,6 +4837,11 @@ esbuild-linux-arm@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.43.tgz#9e41ee5e099c0ffdfd150da154330c2c0226cc96" integrity sha512-e6YzQUoDxxtyamuF12eVzzRC7bbEFSZohJ6igQB9tBqnNmIQY3fI6Cns3z2wxtbZ3f2o6idkD2fQnlvs2902Dg== +esbuild-linux-arm@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853" + integrity sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA== + esbuild-linux-mips64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" @@ -4760,6 +4852,11 @@ esbuild-linux-mips64le@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.43.tgz#4b41f465a787f91cc4fe7dffa0dcabf655935a1a" integrity sha512-f+v8cInPEL1/SDP//CfSYzcDNgE4CY3xgDV81DWm3KAPWzhvxARrKxB1Pstf5mB56yAslJDxu7ryBUPX207EZA== +esbuild-linux-mips64le@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823" + integrity sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg== + esbuild-linux-ppc64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" @@ -4770,6 +4867,11 @@ esbuild-linux-ppc64le@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.43.tgz#ca15934f5b46728dd9ac05270e783e7feaca9eaf" integrity sha512-5wZYMDGAL/K2pqkdIsW+I4IR41kyfHr/QshJcNpUfK3RjB3VQcPWOaZmc+74rm4ZjVirYrtz+jWw0SgxtxRanA== +esbuild-linux-ppc64le@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b" + integrity sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w== + esbuild-linux-riscv64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" @@ -4780,6 +4882,11 @@ esbuild-linux-riscv64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.43.tgz#70fce2b5a0605a67e58b5a357b0e00be1029836d" integrity sha512-lYcAOUxp85hC7lSjycJUVSmj4/9oEfSyXjb/ua9bNl8afonaduuqtw7hvKMoKuYnVwOCDw4RSfKpcnIRDWq+Bw== +esbuild-linux-riscv64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f" + integrity sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g== + esbuild-linux-s390x@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" @@ -4790,6 +4897,11 @@ esbuild-linux-s390x@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.43.tgz#318d03b4f4ccc7fa44ac7562121cf4a4529e477a" integrity sha512-27e43ZhHvhFE4nM7HqtUbMRu37I/4eNSUbb8FGZWszV+uLzMIsHDwLoBiJmw7G9N+hrehNPeQ4F5Ujad0DrUKQ== +esbuild-linux-s390x@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f" + integrity sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw== + esbuild-netbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" @@ -4800,6 +4912,11 @@ esbuild-netbsd-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.43.tgz#86130ce204ef0162a96e863b55851efecc92f423" integrity sha512-2mH4QF6hHBn5zzAfxEI/2eBC0mspVsZ6UVo821LpAJKMvLJPBk3XJO5xwg7paDqSqpl7p6IRrAenW999AEfJhQ== +esbuild-netbsd-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8" + integrity sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ== + esbuild-openbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" @@ -4810,6 +4927,11 @@ esbuild-openbsd-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.43.tgz#0229dc2db2ded97b03bb93bba7646b30ffdf5d0d" integrity sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg== +esbuild-openbsd-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5" + integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw== + esbuild-sunos-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" @@ -4820,11 +4942,21 @@ esbuild-sunos-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.43.tgz#17e316216eb9f1de25d52a9000356ae5b869e736" integrity sha512-DgxSi9DaHReL9gYuul2rrQCAapgnCJkh3LSHPKsY26zytYppG0HgkgVF80zjIlvEsUbGBP/GHQzBtrezj/Zq1Q== +esbuild-sunos-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa" + integrity sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ== + esbuild-wasm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== +esbuild-wasm@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.47.tgz#b5bbcd081f64105571378db843fa16ed0af886a6" + integrity sha512-ndSsgVpyelWrhmlJ99FGNVwXQryJfWi7edP0ity+42fXDkl67ybo5t/jKIliOSmPsEpOTsnLhlPnW4uf5tfu8A== + esbuild-wasm@^0.14.29: version "0.14.43" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.43.tgz#ec4c0f047ae73ebbaa7ca1f69739dbc417300476" @@ -4840,6 +4972,11 @@ esbuild-windows-32@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.43.tgz#a173757bc6dfd0f2656ff40b64f7f9290745778e" integrity sha512-Ih3+2O5oExiqm0mY6YYE5dR0o8+AspccQ3vIAtRodwFvhuyGLjb0Hbmzun/F3Lw19nuhPMu3sW2fqIJ5xBxByw== +esbuild-windows-32@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f" + integrity sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ== + esbuild-windows-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" @@ -4850,6 +4987,11 @@ esbuild-windows-64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.43.tgz#c447b23126aad158c4fe6a394342cafd97926ed1" integrity sha512-8NsuNfI8xwFuJbrCuI+aBqNTYkrWErejFO5aYM+yHqyHuL8mmepLS9EPzAzk8rvfaJrhN0+RvKWAcymViHOKEw== +esbuild-windows-64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a" + integrity sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ== + esbuild-windows-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" @@ -4860,6 +5002,11 @@ esbuild-windows-arm64@0.14.43: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.43.tgz#3caed1b430d394d7a7836407b9d36c4750246e76" integrity sha512-7ZlD7bo++kVRblJEoG+cepljkfP8bfuTPz5fIXzptwnPaFwGS6ahvfoYzY7WCf5v/1nX2X02HDraVItTgbHnKw== +esbuild-windows-arm64@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878" + integrity sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ== + esbuild@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" @@ -4886,6 +5033,32 @@ esbuild@0.14.42: esbuild-windows-64 "0.14.42" esbuild-windows-arm64 "0.14.42" +esbuild@0.14.47: + version "0.14.47" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.47.tgz#0d6415f6bd8eb9e73a58f7f9ae04c5276cda0e4d" + integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA== + optionalDependencies: + esbuild-android-64 "0.14.47" + esbuild-android-arm64 "0.14.47" + esbuild-darwin-64 "0.14.47" + esbuild-darwin-arm64 "0.14.47" + esbuild-freebsd-64 "0.14.47" + esbuild-freebsd-arm64 "0.14.47" + esbuild-linux-32 "0.14.47" + esbuild-linux-64 "0.14.47" + esbuild-linux-arm "0.14.47" + esbuild-linux-arm64 "0.14.47" + esbuild-linux-mips64le "0.14.47" + esbuild-linux-ppc64le "0.14.47" + esbuild-linux-riscv64 "0.14.47" + esbuild-linux-s390x "0.14.47" + esbuild-netbsd-64 "0.14.47" + esbuild-openbsd-64 "0.14.47" + esbuild-sunos-64 "0.14.47" + esbuild-windows-32 "0.14.47" + esbuild-windows-64 "0.14.47" + esbuild-windows-arm64 "0.14.47" + esbuild@^0.14.29: version "0.14.43" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.43.tgz#c227d585c512d3e0f23b88f50b8e16501147f647" @@ -5034,10 +5207,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.16.0.tgz#6d936e2d524599f2a86c708483b4c372c5d3bbae" - integrity sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA== +eslint@8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.18.0.tgz#78d565d16c993d0b73968c523c0446b13da784fd" + integrity sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" @@ -6253,7 +6426,7 @@ is-cidr@^4.0.2: dependencies: cidr-regex "^3.1.1" -is-core-module@^2.1.0, is-core-module@^2.8.1: +is-core-module@^2.1.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== @@ -6527,7 +6700,7 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.2.0: +jasmine-core@^4.1.0, jasmine-core@^4.2.0, jasmine-core@~4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.2.0.tgz#0605bea284d6d78276f43c47de2532ecd4a73b00" integrity sha512-OcFpBrIhnbmb9wfI8cqPSJ50pv3Wg4/NSgoZIqHzIwO/2a9qivJWzv8hUvaREIMYYJBas6AvfXATFdVuzzCqVw== @@ -6537,11 +6710,6 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== -jasmine-core@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.1.1.tgz#1045091e16f4f19e1d72416eef5db01e64d5fbeb" - integrity sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g== - jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -6837,10 +7005,10 @@ karma-jasmine-html-reporter@~2.0.0: resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz#76c26ce40e217dc36a630fbcd7b31c3462948bf2" integrity sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA== -karma-jasmine@~5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-5.0.1.tgz#854e9204b62cfa07242a8c66b8ab83751a896d02" - integrity sha512-FkL1Kk+JAKmim8VWU8RXKZBpl0lLI7J8LijM0/q7oP7emfB6QMZV1Az+JgqGKSLpF0tYaav+KUVFQroZUxQTHA== +karma-jasmine@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-5.1.0.tgz#3af4558a6502fa16856a0f346ec2193d4b884b2f" + integrity sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ== dependencies: jasmine-core "^4.1.0" @@ -6851,10 +7019,10 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -karma@~6.3.0: - version "6.3.20" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.20.tgz#12f5c3b0e68f204607cb0a3a78d4751b42ef61a8" - integrity sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw== +karma@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.0.tgz#82652dfecdd853ec227b74ed718a997028a99508" + integrity sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -6927,7 +7095,7 @@ less@4.1.2: needle "^2.5.2" source-map "~0.6.0" -less@^4.1.2: +less@4.1.3, less@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== @@ -7274,10 +7442,10 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.9.0: - version "7.9.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.9.0.tgz#29c2a989b6c10f32ceccc66ff44059e1490af3e1" - integrity sha512-lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw== +lru-cache@7.10.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.10.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" + integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== lru-cache@^6.0.0: version "6.0.0" @@ -7286,11 +7454,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.10.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" - integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7393,6 +7556,11 @@ marked@4.0.16: resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA== +marked@4.0.17: + version "4.0.17" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.17.tgz#1186193d85bb7882159cdcfc57d1dfccaffb3fe9" + integrity sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -7503,6 +7671,13 @@ mini-css-extract-plugin@2.6.0: dependencies: schema-utils "^4.0.0" +mini-css-extract-plugin@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" + integrity sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg== + dependencies: + schema-utils "^4.0.0" + minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -7515,13 +7690,6 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - minimatch@5.1.0, minimatch@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" @@ -7730,10 +7898,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.0.tgz#ce54d2c065f188d8c6230c03d3e20c37de5adc5d" - integrity sha512-jHkpWm2yEpMPbY0Qz3sfDh+7uAfyskEMesEPA1aGQXxvwiIaCl+8RFRdPQxObYOj8Uv7ZJxoyUkqi8KqI5RV9g== +ng-packagr@14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.2.tgz#5c824b753a4c5e2851c0e130fd98f4df77f6c04b" + integrity sha512-Yoiy/cvpYvPTVdAZFPsU2Xg1YdY9w7wVTamKNtz78l1sXA6inQuTGlsvNy+yOJTH7TLZmEjU2WHkmJHgxU10Pg== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7908,7 +8076,17 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.0.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: +npm-package-arg@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" + integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== @@ -8300,7 +8478,34 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.0, pacote@^13.0.3, pacote@^13.0.5, pacote@^13.5.0, pacote@^13.6.0: +pacote@13.6.1: + version "13.6.1" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.1.tgz#ac6cbd9032b4c16e5c1e0c60138dfe44e4cc589d" + integrity sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^4.1.0" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^5.1.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + +pacote@^13.0.3, pacote@^13.0.5, pacote@^13.5.0, pacote@^13.6.0: version "13.6.0" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.0.tgz#79ea3d3ae5a2b29e2994dcf18d75494e8d888032" integrity sha512-zHmuCwG4+QKnj47LFlW3LmArwKoglx2k5xtADiMCivVWPgNRP5QyLDGOIjGjwOe61lhl1rO63m/VxT16pEHLWg== @@ -8475,10 +8680,10 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pidtree@0.5.0, pidtree@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.5.0.tgz#ad5fbc1de78b8a5f99d6fbdd4f6e4eee21d1aca1" - integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== +pidtree@0.6.0, pidtree@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== pidusage@3.0.0, pidusage@^3.0.0: version "3.0.0" @@ -8599,35 +8804,35 @@ postcss-color-functional-notation@^4.2.3: dependencies: postcss-value-parser "^4.2.0" -postcss-color-hex-alpha@^8.0.3: +postcss-color-hex-alpha@^8.0.3, postcss-color-hex-alpha@^8.0.4: version "8.0.4" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== dependencies: postcss-value-parser "^4.2.0" -postcss-color-rebeccapurple@^7.0.2: +postcss-color-rebeccapurple@^7.0.2, postcss-color-rebeccapurple@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.0.tgz#a2fe1d7be13d21ea01dc7c2363b637cc83a9eb6e" integrity sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-media@^8.0.0, postcss-custom-media@^8.0.1: +postcss-custom-media@^8.0.0, postcss-custom-media@^8.0.1, postcss-custom-media@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-properties@^12.1.7: +postcss-custom-properties@^12.1.7, postcss-custom-properties@^12.1.8: version "12.1.8" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz#aa003e1885c5bd28e2e32496cd597e389ca889e4" integrity sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-selectors@^6.0.0, postcss-custom-selectors@^6.0.2: +postcss-custom-selectors@^6.0.0, postcss-custom-selectors@^6.0.2, postcss-custom-selectors@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== @@ -8764,6 +8969,14 @@ postcss-nesting@^10.1.7: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" +postcss-nesting@^10.1.9: + version "10.1.9" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.9.tgz#2aef4e68f222857dc36c0f77a69bf4a900a7e304" + integrity sha512-WlnqQecNMT7eizBpWwAnQOIk7Zr0A+OZJccEwQoTwmcIsZCVdcjT1LjXj1hBk6zR3BDLZQYsb5KZj2HquZgvTw== + dependencies: + "@csstools/selector-specificity" "^2.0.0" + postcss-selector-parser "^6.0.10" + postcss-opacity-percentage@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" @@ -8839,6 +9052,59 @@ postcss-preset-env@7.7.0: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" +postcss-preset-env@7.7.2: + version "7.7.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz#769f7f21779b4688c9a6082ae1572416cab415cf" + integrity sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA== + dependencies: + "@csstools/postcss-cascade-layers" "^1.0.4" + "@csstools/postcss-color-function" "^1.1.0" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.1" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.6" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.1.0" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.0" + "@csstools/postcss-trigonometric-functions" "^1.0.1" + "@csstools/postcss-unset-value" "^1.0.1" + autoprefixer "^10.4.7" + browserslist "^4.21.0" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.6.3" + postcss-attribute-case-insensitive "^5.0.1" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.3" + postcss-color-hex-alpha "^8.0.4" + postcss-color-rebeccapurple "^7.1.0" + postcss-custom-media "^8.0.2" + postcss-custom-properties "^12.1.8" + postcss-custom-selectors "^6.0.3" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.1" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.0" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.9" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.5" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^6.0.0" + postcss-value-parser "^4.2.0" + postcss-preset-env@^7.4.2: version "7.7.1" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.1.tgz#ca416c15fd63fd44abe5dcd2890a34b0a664d2c8" @@ -8899,6 +9165,13 @@ postcss-pseudo-class-any-link@^7.1.4: dependencies: postcss-selector-parser "^6.0.10" +postcss-pseudo-class-any-link@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.5.tgz#1233b054004c386c681c553af35f68ec03fffaa6" + integrity sha512-nSGKGScwFTaaV8Cyi27W9FegX3l3b7tmNxujxmykI/j3++cBAiq8fTUAU3ZK0s2aneN2T8cTUvKdNedzp3JIEA== + dependencies: + postcss-selector-parser "^6.0.10" + postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" @@ -9123,14 +9396,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.0.1.tgz#50dbed2c0c6ea70b22289442b96d3a3c116347a2" - integrity sha512-t6+L0Vcc/03OO5izVXL+P5+9uvH1Ix9jK65JwYAQhI9UVtkzuikbJqz+BAsftkhOH0r9F4YiOTtMBPUbBnfn9A== +puppeteer@15.1.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.1.1.tgz#f995fc3e5794649c4689b87ad29bd083065e53c7" + integrity sha512-XMysu48uIcaYad/IelRTX3yxpHkcNdhdzPegnBEz9h1uEQfLhFcMJnjyvus51Sm+OPwr2gaKQhtyuIVaVKqd0Q== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.1001819" + devtools-protocol "0.0.1011705" extract-zip "2.0.1" https-proxy-agent "5.0.1" pkg-dir "4.2.0" @@ -9538,7 +9811,16 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.0, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: +resolve@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -9695,6 +9977,14 @@ sass-loader@13.0.0: klona "^2.0.4" neo-async "^2.6.2" +sass-loader@13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.1.tgz#bc372e2bac45e6c535e2c0c19263001194be3e2d" + integrity sha512-IeCdtvhwMY6GvgMtWJKLcehMeETvVZZjgZLJbQbwrLVHhL7zmj+7YsEPe5yhi04TaqzSZANz4CMu1QSh0/G9ew== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + sass@1.52.2: version "1.52.2" resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.2.tgz#cd1f03e0e7be5bb2cebcf1c34d735f087d790936" @@ -9704,6 +9994,15 @@ sass@1.52.2: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.53.0: + version "1.53.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.53.0.tgz#eab73a7baac045cc57ddc1d1ff501ad2659952eb" + integrity sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sass@^1.49.9: version "1.52.3" resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.3.tgz#b7cc7ffea2341ccc9a0c4fd372bf1b3f9be1b6cb" @@ -10134,16 +10433,16 @@ source-map@0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +source-map@0.7.4, source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -10547,7 +10846,7 @@ terser@5.14.0: commander "^2.20.0" source-map-support "~0.5.20" -terser@^5.7.2: +terser@5.14.1, terser@^5.7.2: version "5.14.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== @@ -11049,35 +11348,35 @@ verdaccio-auth-memory@^10.0.0: dependencies: "@verdaccio/commons-api" "10.2.0" -verdaccio-htpasswd@10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.3.0.tgz#c54ee8fddcebfff14a9ca81e346365bf150eddf5" - integrity sha512-UbMF9kbqo2tvOrdbC3MryE6/iXy54XlqDKpFWUKS5MTjFhP9BdQNgyTjBCM/mubO3JJug2TcVdmu/si8G4891Q== +verdaccio-htpasswd@10.5.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.5.0.tgz#de9ea2967856af765178b08485dc8e83f544a12c" + integrity sha512-olBsT3uy1TT2ZqmMCJUsMHrztJzoEpa8pxxvYrDZdWnEksl6mHV10lTeLbH9BUwbEheOeKkkdsERqUOs+if0jg== dependencies: - "@verdaccio/file-locking" "10.2.0" + "@verdaccio/file-locking" "10.3.0" apache-md5 "1.1.7" bcryptjs "2.4.3" http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.11.0: - version "5.11.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.11.0.tgz#02be4e0372c97a61a99fc1df96d6aef791dab5db" - integrity sha512-wKQ4dVBuUm+sHTakxlGPyOQSvJtpkzk7FTUKfGP92LV8AdQSyNflXomiP3KK7WfoG6Er18+aC+sDhosTs02l6g== +verdaccio@5.13.1: + version "5.13.1" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.13.1.tgz#37a0494bd6c15dfd5897927aeb18ebf5514abae3" + integrity sha512-UyLn/picuRovYgLrbCYwYaVNMrReB0VNhsTtmWtS4D19hNIOqbDuVWcGE0djr9Cnhkm/pLrjcF5dE4tAbO3gUQ== dependencies: "@verdaccio/commons-api" "10.2.0" - "@verdaccio/local-storage" "10.2.1" + "@verdaccio/local-storage" "10.3.1" "@verdaccio/readme" "10.3.4" "@verdaccio/streams" "10.2.0" "@verdaccio/ui-theme" "6.0.0-6-next.24" JSONStream "1.3.5" - async "3.2.3" + async "3.2.4" body-parser "1.20.0" clipanion "3.1.0" compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.2" + dayjs "1.11.3" debug "^4.3.3" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" @@ -11090,12 +11389,12 @@ verdaccio@5.11.0: jsonwebtoken "8.5.1" kleur "4.1.4" lodash "4.17.21" - lru-cache "7.9.0" + lru-cache "7.10.1" lunr-mutable-indexes "2.3.2" - marked "4.0.16" + marked "4.0.17" memoizee "0.4.15" mime "3.0.0" - minimatch "5.0.1" + minimatch "5.1.0" mkdirp "1.0.4" mv "2.1.1" pino "6.14.0" @@ -11106,7 +11405,7 @@ verdaccio@5.11.0: semver "7.3.7" validator "13.7.0" verdaccio-audit "10.2.2" - verdaccio-htpasswd "10.3.0" + verdaccio-htpasswd "10.5.0" verror@1.10.0: version "1.10.0" @@ -11250,6 +11549,41 @@ webpack-dev-server@4.9.1: webpack-dev-middleware "^5.3.1" ws "^8.4.2" +webpack-dev-server@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.2.tgz#c188db28c7bff12f87deda2a5595679ebbc3c9bc" + integrity sha512-H95Ns95dP24ZsEzO6G9iT+PNw4Q7ltll1GfJHV4fKphuHWgKFzGHWi4alTlTnpk1SPPk41X+l2RB7rLfIhnB9Q== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From e0cf80954b88d1b8de14024844d87bb83dc839cd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:18:21 +0000 Subject: [PATCH 0591/1388] build: lock file maintenance --- yarn.lock | 762 ++++++++++++------------------------------------------ 1 file changed, 171 insertions(+), 591 deletions(-) diff --git a/yarn.lock b/yarn.lock index b10bd6e5cb16..4119a3386c39 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,20 +161,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.0.3": +"@angular/core@14.0.3", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.3" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.3.tgz#939efb1016a64f872e9793383425756826544644" integrity sha512-Z71BrEIJuMGm/BdK9Lh8IJwADQqA8qPeUVppCs67CABZdwA3sK0kC+iobauWXcweXU30BdQYc7HyZe2x7rcdmQ== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.0.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.1.tgz#415128247b9273abfe9dd13f6c0c2583cabd9b07" - integrity sha512-72/VathVpDVEIm/T87eGF9Ng9JYOfrRVJCGhPwKvbIQZzCrg07acPwjDvtifkhKEKyMxLXv+F3bClr8WYP6c4Q== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d": version "0.0.0-3e07a8f0335813ddeee471c7c1db12325c07325e" uid "714bb709f6d7ee3386a7f1097a75a54ab92c285d" @@ -1299,15 +1292,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.3.tgz#71ee4a3f00f947788097f8d67310b2e4a336aa51" - integrity sha512-fvXP0+dcllGtRKAjA5n5tBr57xWQalKky09hSiXAZ9qqjHn0sDuQV2Jz0Y5zHRQ6iGrAjJZOf2+xQj3yuXfLwA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-cascade-layers@^1.0.4": +"@csstools/postcss-cascade-layers@^1.0.2", "@csstools/postcss-cascade-layers@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.4.tgz#9086bd2e71b43a947ae61bb735b0a83ab1549a68" integrity sha512-zP2tQIFu4C3HueOT+G4Pkla7f2Z6pfXphc1Y9wDE5jS2Ss6dk/asQ7FFEFWKgy3EkYc7E1FSjzhfeZVGg5sjXQ== @@ -1345,15 +1330,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.4": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.5.tgz#60fea78776fc3916ad66d568064aa31029b9f772" - integrity sha512-Ek+UFI4UP2hB9u0N1cJd6KgSF1rL0J3PT4is0oSStuus8+WzbGGPyJNMOKQ0w/tyPjxiCnOI4RdSMZt3nks64g== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-is-pseudo-class@^2.0.6": +"@csstools/postcss-is-pseudo-class@^2.0.4", "@csstools/postcss-is-pseudo-class@^2.0.6": version "2.0.6" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.6.tgz#1d82d798a2ce0b5f793d34710976f184c4f6560c" integrity sha512-Oqs396oenuyyMdRXOstxXbxei8fYEgToYjmlYHEi5gk0QLk7xQ72LY7NDr7waWAAmdVzRqPpbE26Q7/cUrGu4Q== @@ -1427,7 +1404,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": +"@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== @@ -1476,23 +1453,23 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/gen-mapping@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" - integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: - "@jridgewell/set-array" "^1.0.0" + "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + version "3.0.8" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz#687cc2bbf243f4e9a868ecf2262318e2658873a1" + integrity sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w== -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.2": version "0.3.2" @@ -1503,9 +1480,9 @@ "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -1516,9 +1493,9 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + version "0.3.14" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1605,9 +1582,9 @@ fastq "^1.6.0" "@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.1.tgz#4f38187cb694946f551a825df17e6efd565b8946" - integrity sha512-DNyTHov3lU7PtCGHABzrPqQOUiBdiYzZ5dLv3D0RD5I9KbmhTLcZI/rv3ddZY0K9vpDE/R+R48b+cU/dUkL0Tw== + version "5.2.3" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.3.tgz#3cc5d7b4bcf9783c41b6beec908d3de9592b4952" + integrity sha512-2ywCfbN3ibONJ2t9Ke0CXIHa20yJH6/e3Kta3ZNabnFjm+5Amr+rw5qL52mVQBKxEB+pfSiZDsnqwyKyyj0JTQ== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -1617,7 +1594,7 @@ "@npmcli/name-from-folder" "^1.0.1" "@npmcli/node-gyp" "^2.0.0" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^3.0.0" + "@npmcli/run-script" "^4.1.3" bin-links "^3.0.0" cacache "^16.0.6" common-ancestor-path "^1.0.1" @@ -1631,7 +1608,7 @@ npm-pick-manifest "^7.0.0" npm-registry-fetch "^13.0.0" npmlog "^6.0.2" - pacote "^13.0.5" + pacote "^13.6.1" parse-conflict-json "^2.0.1" proc-log "^2.0.0" promise-all-reject-late "^1.0.0" @@ -1670,14 +1647,6 @@ dependencies: ansi-styles "^4.3.0" -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - "@npmcli/fs@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" @@ -1729,14 +1698,6 @@ pacote "^13.0.3" semver "^7.3.5" -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - "@npmcli/move-file@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" @@ -1769,17 +1730,7 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^3.0.0", "@npmcli/run-script@^3.0.1": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.3.tgz#66afa6e0c4c3484056195f295fa6c1d1a45ddf58" - integrity sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q== - dependencies: - "@npmcli/node-gyp" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" - node-gyp "^8.4.1" - read-package-json-fast "^2.0.3" - -"@npmcli/run-script@^4.1.0": +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3": version "4.1.3" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.3.tgz#b89a3f861d740379892f9b2c44f8bb66dd7b577c" integrity sha512-xb47c2KMkn6ERw2AwPPGKIITbWoXOT1yDV5rU3SYeC1vksYOodbgN0pnOptIVnRgS2e9G8R7BVDVm8lWp92unQ== @@ -1908,11 +1859,6 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -1924,14 +1870,14 @@ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.10.tgz#10fecee4a3be17357ce99b370bd81874044d8dbd" - integrity sha512-N+srakvPaYMGkwjNDx3ASx65Zl3QG8dJgVtIB+YMOkucU+zctlv/hdP5250VKdDHSDoW9PFZoCqbqNcAPjCjXA== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.2.tgz#b09c08de2eb319ca2acab17a1b8028af110b24b3" - integrity sha512-YwrUA5ysDXHFYfL0Xed9x3sNS4P+aKlCOnnbqUa2E5HdQshHFleCJVrj1PlGTb4GgFUCDyte1v3JWLy2sz8Oqg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.3" @@ -2068,20 +2014,25 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@*": + version "0.0.52" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe" + integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ== "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.28" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" - integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== + version "4.17.29" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz#2a1795ea8e9e9c91b4a4bbe475034b20c1ec711c" + integrity sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q== dependencies: "@types/node" "*" "@types/qs" "*" @@ -2194,17 +2145,17 @@ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node-fetch@*", "@types/node-fetch@^2.1.6": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" - integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== + version "2.6.2" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" + integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== dependencies: "@types/node" "*" form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "17.0.42" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.42.tgz#d7e8f22700efc94d125103075c074396b5f41f9b" - integrity sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ== + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" + integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== "@types/node@12.20.24": version "12.20.24" @@ -2248,9 +2199,9 @@ integrity sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ== "@types/pacote@^11.1.3": - version "11.1.4" - resolved "https://registry.yarnpkg.com/@types/pacote/-/pacote-11.1.4.tgz#d7aeb508ce238d4750f21d82269257f9c5cdafc9" - integrity sha512-wWZOztJ/Msh8MqbKr2ESQ6WPRv4BF+OPC4nri3W4UKl/1P5Hdul+IvN5Up7FPIK0XhUAOTCz+1QZoyi9PKGx+w== + version "11.1.5" + resolved "https://registry.yarnpkg.com/@types/pacote/-/pacote-11.1.5.tgz#3efc5eb49069206a678f5483a7e008af06788a66" + integrity sha512-kMsfmhP2G45ngnpvH0LKd1celWnjgdiws1FHu3vMmYuoElGdqnd0ydf1ucZzeXamYnLe0NvSzGP2gYiETOEiQA== dependencies: "@types/node" "*" "@types/npm-registry-fetch" "*" @@ -2352,9 +2303,9 @@ "@types/ws" "*" "@types/semver@^7.0.0": - version "7.3.9" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" - integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== + version "7.3.10" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.10.tgz#5f19ee40cbeff87d916eedc8c2bfe2305d957f73" + integrity sha512-zsv3fsC7S84NN6nPK06u79oWgrPVd0NvOyqgghV1haPaFcVxIrP4DLomRwGAXk0ui4HZA7mOcSFL98sMVW9viw== "@types/send@^0.17.1": version "0.17.1" @@ -2849,7 +2800,7 @@ agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: +agentkeepalive@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== @@ -3401,7 +3352,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.21.0: +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.9.1: version "4.21.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe" integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA== @@ -3411,17 +3362,6 @@ browserslist@*, browserslist@^4.21.0: node-releases "^2.0.5" update-browserslist-db "^1.0.0" -browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.9.1: - version "4.20.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" - integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== - dependencies: - caniuse-lite "^1.0.30001349" - electron-to-chromium "^1.4.147" - escalade "^3.1.1" - node-releases "^2.0.5" - picocolors "^1.0.0" - browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -3508,7 +3448,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: +cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: version "16.1.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== @@ -3532,30 +3472,6 @@ cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: tar "^6.1.11" unique-filename "^1.1.1" -cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3574,15 +3490,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001349: - version "1.0.30001352" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz#cc6f5da3f983979ad1e2cdbae0505dccaa7c6a12" - integrity sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA== - -caniuse-lite@^1.0.30001358: - version "1.0.30001358" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001358.tgz#473d35dabf5e448b463095cab7924e96ccfb8c00" - integrity sha512-hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw== +caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001358: + version "1.0.30001359" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e" + integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw== caseless@~0.12.0: version "0.12.0" @@ -3788,9 +3699,9 @@ color-support@^1.1.3: integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colorette@^2.0.10: - version "2.0.17" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.17.tgz#5dd4c0d15e2984b7433cb4a9f2ead45063b80c47" - integrity sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g== + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== colors@1.4.0: version "1.4.0" @@ -3969,11 +3880,11 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.8" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.8.tgz#46fa34ce1ddf742acd7f95f575f66bbb21e05d62" - integrity sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg== + version "3.23.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9" + integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw== dependencies: - browserslist "^4.20.3" + browserslist "^4.21.0" semver "7.0.0" core-util-is@1.0.2: @@ -4358,9 +4269,9 @@ dns-equal@^1.0.0: integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== dns-packet@^5.2.2: - version "5.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.3.1.tgz#eb94413789daec0f0ebe2fcc230bdc9d7c91b43d" - integrity sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw== + version "5.4.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" + integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" @@ -4476,15 +4387,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.147: - version "1.4.152" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.152.tgz#7dedbe8f3dc1c597088982a203f392e60f7ee90a" - integrity sha512-jk4Ju5SGZAQQJ1iI4Rgru7dDlvkQPLpNPWH9gIZmwCD4YteA5Bbk1xPcPDUf5jUYs3e1e80RXdi8XgKQZaigeg== - electron-to-chromium@^1.4.164: - version "1.4.167" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.167.tgz#72424aebc85df12c5331d37b1bcfd1ae01322c55" - integrity sha512-lPHuHXBwpkr4RcfaZBKm6TKOWG/1N9mVggUpP4fY3l1JIUU2x4fkM8928smYdZ5lF+6KCTAxo1aK9JmqT+X71Q== + version "1.4.170" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4" + integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw== emoji-regex@^8.0.0: version "8.0.0" @@ -4501,7 +4407,7 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.11, encoding@^0.1.12, encoding@^0.1.13: +encoding@^0.1.11, encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -4697,11 +4603,6 @@ esbuild-android-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== -esbuild-android-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.43.tgz#59bf3edad6863c27aa92bbb5c1d83a9a5c981495" - integrity sha512-kqFXAS72K6cNrB6RiM7YJ5lNvmWRDSlpi7ZuRZ1hu1S3w0zlwcoCxWAyM23LQUyZSs1PbjHgdbbfYAN8IGh6xg== - esbuild-android-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b" @@ -4712,11 +4613,6 @@ esbuild-android-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== -esbuild-android-arm64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.43.tgz#0258704edf92ce2463af6d2900b844b5423bed63" - integrity sha512-bKS2BBFh+7XZY9rpjiHGRNA7LvWYbZWP87pLehggTG7tTaCDvj8qQGOU/OZSjCSKDYbgY7Q+oDw8RlYQ2Jt2BA== - esbuild-android-arm64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6" @@ -4727,11 +4623,6 @@ esbuild-darwin-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== -esbuild-darwin-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.43.tgz#72a47295678d4aa0656979baa8cf6d5c8c92656f" - integrity sha512-/3PSilx011ttoieRGkSZ0XV8zjBf2C9enV4ScMMbCT4dpx0mFhMOpFnCHkOK0pWGB8LklykFyHrWk2z6DENVUg== - esbuild-darwin-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188" @@ -4742,11 +4633,6 @@ esbuild-darwin-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== -esbuild-darwin-arm64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.43.tgz#5f5823170b8d85b888957f0794e186caac447aca" - integrity sha512-1HyFUKs8DMCBOvw1Qxpr5Vv/ThNcVIFb5xgXWK3pyT40WPvgYIiRTwJCvNs4l8i5qWF8/CK5bQxJVDjQvtv0Yw== - esbuild-darwin-arm64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz#cd40fd49a672fca581ed202834239dfe540a9028" @@ -4757,11 +4643,6 @@ esbuild-freebsd-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== -esbuild-freebsd-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.43.tgz#e4a48b08181053837e6cd9bda19ae0af94d493b0" - integrity sha512-FNWc05TPHYgaXjbPZO5/rJKSBslfG6BeMSs8GhwnqAKP56eEhvmzwnIz1QcC9cRVyO+IKqWNfmHFkCa1WJTULA== - esbuild-freebsd-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67" @@ -4772,11 +4653,6 @@ esbuild-freebsd-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== -esbuild-freebsd-arm64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.43.tgz#386e780d36c1dedf3a1cdab79e0bbacd873274e6" - integrity sha512-amrYopclz3VohqisOPR6hA3GOWA3LZC1WDLnp21RhNmoERmJ/vLnOpnrG2P/Zao+/erKTCUqmrCIPVtj58DRoA== - esbuild-freebsd-arm64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6" @@ -4787,11 +4663,6 @@ esbuild-linux-32@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== -esbuild-linux-32@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.43.tgz#040ed6b9ebf06d73acdf2acce7f1cd0c12fbc6a5" - integrity sha512-KoxoEra+9O3AKVvgDFvDkiuddCds6q71owSQEYwjtqRV7RwbPzKxJa6+uyzUulHcyGVq0g15K0oKG5CFBcvYDw== - esbuild-linux-32@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58" @@ -4802,11 +4673,6 @@ esbuild-linux-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== -esbuild-linux-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.43.tgz#8abbb7594ab6a008f2aae72d95d8a4fdc59d9000" - integrity sha512-EwINwGMyiJMgBby5/SbMqKcUhS5AYAZ2CpEBzSowsJPNBJEdhkCTtEjk757TN/wxgbu3QklqDM6KghY660QCUw== - esbuild-linux-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1" @@ -4817,11 +4683,6 @@ esbuild-linux-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== -esbuild-linux-arm64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.43.tgz#4e8e9ce77cbf7efec65e79e512b3d2fbd2da398f" - integrity sha512-UlSpjMWllAc70zYbHxWuDS3FJytyuR/gHJYBr8BICcTNb/TSOYVBg6U7b3jZ3mILTrgzwJUHwhEwK18FZDouUQ== - esbuild-linux-arm64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a" @@ -4832,11 +4693,6 @@ esbuild-linux-arm@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== -esbuild-linux-arm@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.43.tgz#9e41ee5e099c0ffdfd150da154330c2c0226cc96" - integrity sha512-e6YzQUoDxxtyamuF12eVzzRC7bbEFSZohJ6igQB9tBqnNmIQY3fI6Cns3z2wxtbZ3f2o6idkD2fQnlvs2902Dg== - esbuild-linux-arm@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853" @@ -4847,11 +4703,6 @@ esbuild-linux-mips64le@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== -esbuild-linux-mips64le@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.43.tgz#4b41f465a787f91cc4fe7dffa0dcabf655935a1a" - integrity sha512-f+v8cInPEL1/SDP//CfSYzcDNgE4CY3xgDV81DWm3KAPWzhvxARrKxB1Pstf5mB56yAslJDxu7ryBUPX207EZA== - esbuild-linux-mips64le@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823" @@ -4862,11 +4713,6 @@ esbuild-linux-ppc64le@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== -esbuild-linux-ppc64le@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.43.tgz#ca15934f5b46728dd9ac05270e783e7feaca9eaf" - integrity sha512-5wZYMDGAL/K2pqkdIsW+I4IR41kyfHr/QshJcNpUfK3RjB3VQcPWOaZmc+74rm4ZjVirYrtz+jWw0SgxtxRanA== - esbuild-linux-ppc64le@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b" @@ -4877,11 +4723,6 @@ esbuild-linux-riscv64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== -esbuild-linux-riscv64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.43.tgz#70fce2b5a0605a67e58b5a357b0e00be1029836d" - integrity sha512-lYcAOUxp85hC7lSjycJUVSmj4/9oEfSyXjb/ua9bNl8afonaduuqtw7hvKMoKuYnVwOCDw4RSfKpcnIRDWq+Bw== - esbuild-linux-riscv64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f" @@ -4892,11 +4733,6 @@ esbuild-linux-s390x@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== -esbuild-linux-s390x@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.43.tgz#318d03b4f4ccc7fa44ac7562121cf4a4529e477a" - integrity sha512-27e43ZhHvhFE4nM7HqtUbMRu37I/4eNSUbb8FGZWszV+uLzMIsHDwLoBiJmw7G9N+hrehNPeQ4F5Ujad0DrUKQ== - esbuild-linux-s390x@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f" @@ -4907,11 +4743,6 @@ esbuild-netbsd-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== -esbuild-netbsd-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.43.tgz#86130ce204ef0162a96e863b55851efecc92f423" - integrity sha512-2mH4QF6hHBn5zzAfxEI/2eBC0mspVsZ6UVo821LpAJKMvLJPBk3XJO5xwg7paDqSqpl7p6IRrAenW999AEfJhQ== - esbuild-netbsd-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8" @@ -4922,11 +4753,6 @@ esbuild-openbsd-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== -esbuild-openbsd-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.43.tgz#0229dc2db2ded97b03bb93bba7646b30ffdf5d0d" - integrity sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg== - esbuild-openbsd-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5" @@ -4937,11 +4763,6 @@ esbuild-sunos-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== -esbuild-sunos-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.43.tgz#17e316216eb9f1de25d52a9000356ae5b869e736" - integrity sha512-DgxSi9DaHReL9gYuul2rrQCAapgnCJkh3LSHPKsY26zytYppG0HgkgVF80zjIlvEsUbGBP/GHQzBtrezj/Zq1Q== - esbuild-sunos-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa" @@ -4952,26 +4773,16 @@ esbuild-wasm@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== -esbuild-wasm@0.14.47: +esbuild-wasm@0.14.47, esbuild-wasm@^0.14.29: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.47.tgz#b5bbcd081f64105571378db843fa16ed0af886a6" integrity sha512-ndSsgVpyelWrhmlJ99FGNVwXQryJfWi7edP0ity+42fXDkl67ybo5t/jKIliOSmPsEpOTsnLhlPnW4uf5tfu8A== -esbuild-wasm@^0.14.29: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.43.tgz#ec4c0f047ae73ebbaa7ca1f69739dbc417300476" - integrity sha512-c7SXmH4ghNEdxPbegTzFaFp1IBse0Ji0j74r/wZUdfrl0wBhpiE7zy0HdGB6Gd0L4dS95FYVfmL9RQtoFrroww== - esbuild-windows-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== -esbuild-windows-32@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.43.tgz#a173757bc6dfd0f2656ff40b64f7f9290745778e" - integrity sha512-Ih3+2O5oExiqm0mY6YYE5dR0o8+AspccQ3vIAtRodwFvhuyGLjb0Hbmzun/F3Lw19nuhPMu3sW2fqIJ5xBxByw== - esbuild-windows-32@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f" @@ -4982,11 +4793,6 @@ esbuild-windows-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== -esbuild-windows-64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.43.tgz#c447b23126aad158c4fe6a394342cafd97926ed1" - integrity sha512-8NsuNfI8xwFuJbrCuI+aBqNTYkrWErejFO5aYM+yHqyHuL8mmepLS9EPzAzk8rvfaJrhN0+RvKWAcymViHOKEw== - esbuild-windows-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a" @@ -4997,11 +4803,6 @@ esbuild-windows-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== -esbuild-windows-arm64@0.14.43: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.43.tgz#3caed1b430d394d7a7836407b9d36c4750246e76" - integrity sha512-7ZlD7bo++kVRblJEoG+cepljkfP8bfuTPz5fIXzptwnPaFwGS6ahvfoYzY7WCf5v/1nX2X02HDraVItTgbHnKw== - esbuild-windows-arm64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878" @@ -5033,7 +4834,7 @@ esbuild@0.14.42: esbuild-windows-64 "0.14.42" esbuild-windows-arm64 "0.14.42" -esbuild@0.14.47: +esbuild@0.14.47, esbuild@^0.14.29: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.47.tgz#0d6415f6bd8eb9e73a58f7f9ae04c5276cda0e4d" integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA== @@ -5059,32 +4860,6 @@ esbuild@0.14.47: esbuild-windows-64 "0.14.47" esbuild-windows-arm64 "0.14.47" -esbuild@^0.14.29: - version "0.14.43" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.43.tgz#c227d585c512d3e0f23b88f50b8e16501147f647" - integrity sha512-Uf94+kQmy/5jsFwKWiQB4hfo/RkM9Dh7b79p8yqd1tshULdr25G2szLz631NoH3s2ujnKEKVD16RmOxvCNKRFA== - optionalDependencies: - esbuild-android-64 "0.14.43" - esbuild-android-arm64 "0.14.43" - esbuild-darwin-64 "0.14.43" - esbuild-darwin-arm64 "0.14.43" - esbuild-freebsd-64 "0.14.43" - esbuild-freebsd-arm64 "0.14.43" - esbuild-linux-32 "0.14.43" - esbuild-linux-64 "0.14.43" - esbuild-linux-arm "0.14.43" - esbuild-linux-arm64 "0.14.43" - esbuild-linux-mips64le "0.14.43" - esbuild-linux-ppc64le "0.14.43" - esbuild-linux-riscv64 "0.14.43" - esbuild-linux-s390x "0.14.43" - esbuild-netbsd-64 "0.14.43" - esbuild-openbsd-64 "0.14.43" - esbuild-sunos-64 "0.14.43" - esbuild-windows-32 "0.14.43" - esbuild-windows-64 "0.14.43" - esbuild-windows-arm64 "0.14.43" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5609,9 +5384,9 @@ flatstr@^1.0.12: integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== flatted@^3.1.0, flatted@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + version "3.2.6" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" + integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== follow-redirects@^1.0.0, follow-redirects@^1.14.0: version "1.15.1" @@ -5708,7 +5483,7 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: dependencies: minipass "^3.0.0" -fs-monkey@1.0.3: +fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== @@ -6099,18 +5874,9 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.6.tgz#2e02406ab2df8af8a7abfba62e0da01c62b95afd" - integrity sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" + version "0.5.7" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.7.tgz#39bde369fb8a57235121bb69d05f079fa1b598f4" + integrity sha512-8gQM8ZcewlONQLnik2AKzS13euQhaZcu4rK5QBSYOszW0T1upLW9VA2MdWvTvMmRo42HjXp7igFmdROoBCCrfg== http-proxy-agent@^5.0.0: version "5.0.0" @@ -6735,9 +6501,9 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.2.0.tgz#a5e9e2af25813da3517f5dafa9e46b2d896d996a" - integrity sha512-6SQRXHs5O++mp52PkoJoi9zuLYqp1IaqepRNmAQn5rUBo9VUnckpkkXQQD5PAuCCVVB1ULDImvWYCPV/ZVnaGQ== + version "4.2.1" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.2.1.tgz#55f81ab9d5d32f2645aa598d1356b6858407f4a9" + integrity sha512-LNZEKcScnjPRj5J92I1P515bxTvaHMRAERTyCoaGnWr87eOT6zv+b3M+kxKdH/06Gz4TnnXyHbXLiPtMHZ0ncw== dependencies: glob "^7.1.6" jasmine-core "^4.2.0" @@ -7139,9 +6905,9 @@ libnpmaccess@^6.0.2: npm-registry-fetch "^13.0.0" libnpmdiff@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.3.tgz#ad3997330c887c1098ac42682f1e5ad014d49cec" - integrity sha512-AiwBtXtH7HjfmT7FbTf9LFzJB347RrIA4I+IewMfhq8vYXaUveHwJMVNgMM2H/o2J+7Hf12JCBoOF5bTwlmGyw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.4.tgz#487ccb609dacd7f558f089feef3153933e157d02" + integrity sha512-bUz12309DdkeFL/K0sKhW1mbg8DARMbNI0vQKrJp1J8lxhxqkAjzSQ3eQCacFjSwCz4xaf630ogwuOkSt61ZEQ== dependencies: "@npmcli/disparity-colors" "^2.0.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -7149,22 +6915,22 @@ libnpmdiff@^4.0.2: diff "^5.0.0" minimatch "^5.0.1" npm-package-arg "^9.0.1" - pacote "^13.0.5" + pacote "^13.6.1" tar "^6.1.0" libnpmexec@^4.0.2: - version "4.0.6" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.6.tgz#600beffd6f265cf92a096a7f336f330bc0019e82" - integrity sha512-v1jAPJyFFex6R0YHYXuudR4liQ3tYJ7vVZ6eThOex4+WzQEnoShLVfK3MLyFbjdGNO85wCHcVWVpXaBOVnVa/w== + version "4.0.8" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.8.tgz#27be33278dec1c7cfce52e28f8814b19e31129fe" + integrity sha512-SKO6JCt/rL6r+ilbq315zEj2sDdZRniCJ2AvmzqMyIKW4IMuuLsOjjkcWKBV2l1Vle54ud7Tkv9IEPR2cE0mJg== dependencies: "@npmcli/arborist" "^5.0.0" "@npmcli/ci-detect" "^2.0.0" - "@npmcli/run-script" "^3.0.0" + "@npmcli/run-script" "^4.1.3" chalk "^4.1.0" mkdirp-infer-owner "^2.0.0" npm-package-arg "^9.0.1" npmlog "^6.0.2" - pacote "^13.0.5" + pacote "^13.6.1" proc-log "^2.0.0" read "^1.0.7" read-package-json-fast "^2.0.2" @@ -7194,13 +6960,13 @@ libnpmorg@^4.0.2: npm-registry-fetch "^13.0.0" libnpmpack@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.0.tgz#93a170b67bc52e15edc7b1f2e09b2c36e532b897" - integrity sha512-BHwojfEbJvVVJXivZjOCe3Y0IzQ47p6c/bfebrpzazuFNRoS9XOsbkncRbl3f23+u9b51eplzwaPh/5xSOAWHg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.2.tgz#9234a3b1ae433f922c19e97cd3a8a0b135b5f4cc" + integrity sha512-megSAPeZGv9jnDM4KovKbczjyuy/EcPxCIU/iaWsDU1IEAVtBJ0qHqNUm5yN2AgN501Tb3CL6KeFGYdG4E31rQ== dependencies: - "@npmcli/run-script" "^3.0.0" + "@npmcli/run-script" "^4.1.3" npm-package-arg "^9.0.1" - pacote "^13.5.0" + pacote "^13.6.1" libnpmpublish@^6.0.2: version "6.0.4" @@ -7229,12 +6995,12 @@ libnpmteam@^4.0.2: npm-registry-fetch "^13.0.0" libnpmversion@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.4.tgz#a30f563416ea1e2dd69878b4a9edf4eb4a070ef8" - integrity sha512-q5hvZlso0SMLgKm4AMtleRWtq4pERprebEGV6OwKi24efgAOgNDP98+jNUX2mIR2wp9eAa6ybkNNWu4yMaCsVw== + version "3.0.6" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.6.tgz#a4a476d38a44d38db9ac424a5e7334479e7fb8b9" + integrity sha512-+lI+AO7cZwDxyAeWCIR8+n9XEfgSDAqmNbv4zy+H6onGthsk/+E3aa+5zIeBpyG5g268zjpc0qrBch0Q3w0nBA== dependencies: "@npmcli/git" "^3.0.0" - "@npmcli/run-script" "^3.0.0" + "@npmcli/run-script" "^4.1.3" json-parse-even-better-errors "^2.3.1" proc-log "^2.0.0" semver "^7.3.7" @@ -7442,7 +7208,7 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.10.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: +lru-cache@7.10.1: version "7.10.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== @@ -7454,6 +7220,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.10.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.2.tgz#aab494e0768ce94f199ef553ffe0a362f2a58bb9" + integrity sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7507,10 +7278,10 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.6: - version "10.1.7" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz#b1402cb3c9fad92b380ff3a863cdae5414a42f76" - integrity sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q== +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.8: + version "10.1.8" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz#3b6e93dd8d8fdb76c0d7bf32e617f37c3108435a" + integrity sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -7529,28 +7300,6 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.6: socks-proxy-agent "^7.0.0" ssri "^9.0.0" -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - marked@4.0.16: version "4.0.16" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" @@ -7567,11 +7316,11 @@ media-typer@0.3.0: integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.4.3: - version "3.4.4" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.4.tgz#e8973cd8060548916adcca58a248e7805c715e89" - integrity sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA== + version "3.4.7" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" + integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== dependencies: - fs-monkey "1.0.3" + fs-monkey "^1.0.3" memoizee@0.4.15: version "0.4.15" @@ -7716,17 +7465,6 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - minipass-fetch@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" @@ -7753,7 +7491,7 @@ minipass-json-stream@^1.0.1: jsonparse "^1.3.1" minipass "^3.0.0" -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: +minipass-pipeline@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== @@ -7767,14 +7505,14 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: + version "3.3.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.3.tgz#fd1f0e6c06449c10dadda72618b59c00f3d6378d" + integrity sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA== dependencies: yallist "^4.0.0" -minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: +minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -7883,7 +7621,7 @@ needle@^3.1.0: iconv-lite "^0.6.3" sax "^1.2.4" -negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3: +negotiator@0.6.3, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -7968,22 +7706,6 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== -node-gyp@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - node-gyp@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" @@ -8076,7 +7798,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.1.0: +npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: version "9.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== @@ -8086,15 +7808,6 @@ npm-package-arg@9.1.0: semver "^7.3.5" validate-npm-package-name "^4.0.0" -npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" - integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== - dependencies: - hosted-git-info "^5.0.0" - semver "^7.3.5" - validate-npm-package-name "^4.0.0" - npm-packlist@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.0.tgz#f3fd52903a021009913a133732022132eb355ce7" @@ -8115,10 +7828,10 @@ npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-profile@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.0.3.tgz#f4a11ce09467f00fa0832db7f27992e55fdfc94b" - integrity sha512-TVeHhnol2Iemud+Sr70/uqax5LnLJ9y361w+m5+Z7WYV2B1t6FhRDxDu72+yYYTvsgshkhnXEqbPjuD87kYXfA== +npm-profile@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.1.0.tgz#2f32431c487cb21ef5882c9511f8be8a0b602d35" + integrity sha512-JHnBzSqS9xPa0M3g90zhaGElSVdxoAipGkraBaM6Jph2XiSiwFN1HmfRTqndYhDkXia2hWRWl8O5RbDvae++GA== dependencies: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" @@ -8149,9 +7862,9 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.12.1.tgz#624064fa7a8e0730223f6b2effe087e7127d567b" - integrity sha512-0yOlhfgu1UzP6UijnaFuIS2bES2H9D90EA5OVsf2iOZw7VBrjntXKEwKfCaFA6vMVWkCP8qnPwCxxPdnDVwlNw== + version "8.13.1" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.13.1.tgz#b1fd8a9f92dfc432e0467671f2f5f17444de3f00" + integrity sha512-Di4hLSvlImxAslovZ8yRXOhwmd6hXzgRFjwfF4QuwuPT9RUvpLIZ5nubhrY34Pc3elqaU0iyBVWgGZ3jELFP8w== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" @@ -8160,10 +7873,10 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^3.0.1" + "@npmcli/run-script" "^4.1.3" abbrev "~1.1.1" archy "~1.0.0" - cacache "^16.1.0" + cacache "^16.1.1" chalk "^4.1.2" chownr "^2.0.0" cli-columns "^4.0.0" @@ -8188,7 +7901,7 @@ npm@^8.11.0: libnpmsearch "^5.0.2" libnpmteam "^4.0.2" libnpmversion "^3.0.1" - make-fetch-happen "^10.1.6" + make-fetch-happen "^10.1.8" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -8200,12 +7913,12 @@ npm@^8.11.0: npm-install-checks "^5.0.0" npm-package-arg "^9.0.2" npm-pick-manifest "^7.0.1" - npm-profile "^6.0.3" + npm-profile "^6.1.0" npm-registry-fetch "^13.1.1" npm-user-validate "^1.0.1" npmlog "^6.0.2" opener "^1.5.2" - pacote "^13.6.0" + pacote "^13.6.1" parse-conflict-json "^2.0.2" proc-log "^2.0.1" qrcode-terminal "^0.12.0" @@ -8242,9 +7955,9 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + version "2.2.1" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" + integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== oauth-sign@~0.9.0: version "0.9.0" @@ -8478,7 +8191,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.1: +pacote@13.6.1, pacote@^13.0.3, pacote@^13.6.1: version "13.6.1" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.1.tgz#ac6cbd9032b4c16e5c1e0c60138dfe44e4cc589d" integrity sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw== @@ -8505,33 +8218,6 @@ pacote@13.6.1: ssri "^9.0.0" tar "^6.1.11" -pacote@^13.0.3, pacote@^13.0.5, pacote@^13.5.0, pacote@^13.6.0: - version "13.6.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.0.tgz#79ea3d3ae5a2b29e2994dcf18d75494e8d888032" - integrity sha512-zHmuCwG4+QKnj47LFlW3LmArwKoglx2k5xtADiMCivVWPgNRP5QyLDGOIjGjwOe61lhl1rO63m/VxT16pEHLWg== - dependencies: - "@npmcli/git" "^3.0.0" - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/promise-spawn" "^3.0.0" - "@npmcli/run-script" "^3.0.1" - cacache "^16.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - infer-owner "^1.0.4" - minipass "^3.1.6" - mkdirp "^1.0.4" - npm-package-arg "^9.0.0" - npm-packlist "^5.1.0" - npm-pick-manifest "^7.0.0" - npm-registry-fetch "^13.0.1" - proc-log "^2.0.0" - promise-retry "^2.0.1" - read-package-json "^5.0.0" - read-package-json-fast "^2.0.3" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - pako@^0.2.5: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -8818,7 +8504,7 @@ postcss-color-rebeccapurple@^7.0.2, postcss-color-rebeccapurple@^7.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-media@^8.0.0, postcss-custom-media@^8.0.1, postcss-custom-media@^8.0.2: +postcss-custom-media@^8.0.0, postcss-custom-media@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== @@ -8832,7 +8518,7 @@ postcss-custom-properties@^12.1.7, postcss-custom-properties@^12.1.8: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-selectors@^6.0.0, postcss-custom-selectors@^6.0.2, postcss-custom-selectors@^6.0.3: +postcss-custom-selectors@^6.0.0, postcss-custom-selectors@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== @@ -8961,15 +8647,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.7: - version "10.1.8" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.8.tgz#1675542cfedc3dc9621993f3abfdafa260c3a460" - integrity sha512-txdb3/idHYsBbNDFo1PFY0ExCgH5nfWi8G5lO49e6iuU42TydbODTzJgF5UuL5bhgeSlnAtDgfFTDG0Cl1zaSQ== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-nesting@^10.1.9: +postcss-nesting@^10.1.7, postcss-nesting@^10.1.9: version "10.1.9" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.9.tgz#2aef4e68f222857dc36c0f77a69bf4a900a7e304" integrity sha512-WlnqQecNMT7eizBpWwAnQOIk7Zr0A+OZJccEwQoTwmcIsZCVdcjT1LjXj1hBk6zR3BDLZQYsb5KZj2HquZgvTw== @@ -9052,7 +8730,7 @@ postcss-preset-env@7.7.0: postcss-selector-not "^5.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@7.7.2: +postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: version "7.7.2" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz#769f7f21779b4688c9a6082ae1572416cab415cf" integrity sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA== @@ -9105,67 +8783,7 @@ postcss-preset-env@7.7.2: postcss-selector-not "^6.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@^7.4.2: - version "7.7.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.1.tgz#ca416c15fd63fd44abe5dcd2890a34b0a664d2c8" - integrity sha512-1sx6+Nl1wMVJzaYLVaz4OAR6JodIN/Z1upmVqLwSPCLT6XyxrEoePgNMHPH08kseLe3z06i9Vfkt/32BYEKDeA== - dependencies: - "@csstools/postcss-cascade-layers" "^1.0.2" - "@csstools/postcss-color-function" "^1.1.0" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.1" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.4" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.1.0" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.1" - "@csstools/postcss-unset-value" "^1.0.1" - autoprefixer "^10.4.7" - browserslist "^4.20.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.6.3" - postcss-attribute-case-insensitive "^5.0.1" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.3" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.1" - postcss-custom-properties "^12.1.7" - postcss-custom-selectors "^6.0.2" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.7" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.4" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.0" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.4.tgz#ac72aac4fe11fc4a0a368691f8fd5fe89e95aba4" - integrity sha512-JxRcLXm96u14N3RzFavPIE9cRPuOqLDuzKeBsqi4oRk4vt8n0A7I0plFs/VXTg7U2n7g/XkQi0OwqTO3VWBfEg== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-pseudo-class-any-link@^7.1.5: +postcss-pseudo-class-any-link@^7.1.4, postcss-pseudo-class-any-link@^7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.5.tgz#1233b054004c386c681c553af35f68ec03fffaa6" integrity sha512-nSGKGScwFTaaV8Cyi27W9FegX3l3b7tmNxujxmykI/j3++cBAiq8fTUAU3ZK0s2aneN2T8cTUvKdNedzp3JIEA== @@ -9238,16 +8856,11 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.7.1: +prettier@2.7.1, prettier@^2.0.0: version "2.7.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -prettier@^2.0.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -9811,7 +9424,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1: +resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -9820,15 +9433,6 @@ resolve@1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - resolve@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" @@ -9910,9 +9514,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.75.6" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.6.tgz#ac4dc8600f95942a0180f61c7c9d6200e374b439" - integrity sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA== + version "2.75.7" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9" + integrity sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ== optionalDependencies: fsevents "~2.3.2" @@ -9994,7 +9598,7 @@ sass@1.52.2: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.53.0: +sass@1.53.0, sass@^1.49.9: version "1.53.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.53.0.tgz#eab73a7baac045cc57ddc1d1ff501ad2659952eb" integrity sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ== @@ -10003,17 +9607,9 @@ sass@1.53.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.49.9: - version "1.52.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.3.tgz#b7cc7ffea2341ccc9a0c4fd372bf1b3f9be1b6cb" - integrity sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10344,15 +9940,6 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" - integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - socks-proxy-agent@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" @@ -10549,13 +10136,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - ssri@^9.0.0, ssri@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" @@ -10813,7 +10393,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: +tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -11135,9 +10715,9 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript@^4.6.2, typescript@~4.7.2, typescript@~4.7.3: - version "4.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" - integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== typescript@~4.6.3: version "4.6.4" @@ -11155,9 +10735,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.16.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.0.tgz#b778ba0831ca102c1d8ecbdec2d2bdfcc7353190" - integrity sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw== + version "3.16.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317" + integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ== unbox-primitive@^1.0.2: version "1.0.2" @@ -11243,9 +10823,9 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.3.tgz#6c47cb996f34afb363e924748e2f6e4d983c6fc1" - integrity sha512-ufSazemeh9Gty0qiWtoRpJ9F5Q5W3xdIPm1UZQqYQv/q0Nyb9EMHUB2lu+O9x1re9WsorpMAUu4Y6Lxcs5n+XQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" + integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -11949,8 +11529,8 @@ z-schema@~5.0.2: commander "^2.20.3" zone.js@^0.11.3: - version "0.11.5" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.5.tgz#ab0b449e91fadb5ebb2db189ffe1b7b6048dc8b1" - integrity sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g== + version "0.11.6" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.6.tgz#c7cacfc298fe24bb585329ca04a44d9e2e840e74" + integrity sha512-umJqFtKyZlPli669gB1gOrRE9hxUUGkZr7mo878z+NEBJZZixJkKeVYfnoLa7g25SseUDc92OZrMKKHySyJrFg== dependencies: tslib "^2.3.0" From 4fcfc37cb957513cb61d01946959669559e93393 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 24 Jun 2022 13:14:46 +0000 Subject: [PATCH 0592/1388] fix(@angular-devkit/build-angular): exit dev-server when CTRL+C is pressed Since version 4, webpack-dev-server by default will shutdown gracefully. This results in `CTRL+C` needed to be pressed multiple times to exit the process. See: https://github.com/webpack/webpack-dev-server/blob/c76b6d11a3821436c5e20207c8a38deb6ab7e33c/lib/Server.js#L1801-L1827 Closes #22216 --- .../build_angular/src/webpack/configs/dev-server.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index e2b514fbee98..d70a6d8e4023 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -75,6 +75,10 @@ export async function getDevServerConfig( }, ], }, + // When setupExitSignals is enabled webpack-dev-server will shutdown gracefully which would + // require CTRL+C to be pressed multiple times to exit. + // See: https://github.com/webpack/webpack-dev-server/blob/c76b6d11a3821436c5e20207c8a38deb6ab7e33c/lib/Server.js#L1801-L1827 + setupExitSignals: false, compress: false, static: false, server: getServerConfig(root, wco.buildOptions), From b40aeed4414afcb1c90c7f0c609aa78f13790f03 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 27 Jun 2022 07:54:52 +0000 Subject: [PATCH 0593/1388] fix(@angular-devkit/build-angular): hide stacktraces from webpack errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In many cases Webpack will output errors with stacktraces even when `errorStack` is configured to false which bloats the terminal and makes the actual error harder to find. With this change we output stacktraces only when using the `verbose` option. Before ``` $ ng build ./src/styles.scss.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!./src/styles.scss - Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Can't find stylesheet to import. ╷ 1 │ @import "invalid"; │ ^^^^^^^^^ ╵ src/styles.scss 1:9 root stylesheet ./src/styles.scss - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): HookWebpackError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Can't find stylesheet to import. ╷ 1 │ @import "invalid"; │ ^^^^^^^^^ ╵ src/styles.scss 1:9 root stylesheet at tryRunOrWebpackError (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/HookWebpackError.js:88:9) at __webpack_require_module__ (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5051:12) at __webpack_require__ (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5008:18) at /usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5079:20 at symbolIterator (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/neo-async/async.js:3485:9) at done (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/neo-async/async.js:3527:9) at Hook.eval [as callAsync] (eval at create (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/tapable/lib/HookCodeFactory.js:33:10), :15:1) at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/tapable/lib/Hook.js:18:14) at /usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:4986:43 at symbolIterator (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/neo-async/async.js:3482:9) -- inner error -- Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Can't find stylesheet to import. ╷ 1 │ @import "invalid"; │ ^^^^^^^^^ ╵ src/styles.scss 1:9 root stylesheet at Object. (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/src/styles.scss:1:7) at /usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js:441:11 at Hook.eval [as call] (eval at create (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/tapable/lib/HookCodeFactory.js:19:10), :7:1) at Hook.CALL_DELEGATE [as _call] (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/tapable/lib/Hook.js:14:14) at /usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5053:39 at tryRunOrWebpackError (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/HookWebpackError.js:83:7) at __webpack_require_module__ (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5051:12) at __webpack_require__ (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5008:18) at /usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/webpack/lib/Compilation.js:5079:20 at symbolIterator (/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/neo-async/async.js:3485:9) Generated code for /usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!/usr/local/xxxxxxx/cli-reproductions/showwcase-v14-rc0/src/styles.scss 1 | throw new Error("Module build failed (from ./node_modules/sass-loader/dist/cjs.js):\nSassError: Can't find stylesheet to import.\n ╷\n1 │ @import \"invalid\";\n │ ^^^^^^^^^\n ╵\n src/styles.scss 1:9 root stylesheet"); ``` After ``` $ ng build ./src/styles.scss - Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Can't find stylesheet to import. ╷ 1 │ @import "invalid"; │ ^^^^^^^^^ ╵ src/styles.scss 1:9 root stylesheet ./src/styles.scss - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): HookWebpackError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Can't find stylesheet to import. ╷ 1 │ @import "invalid"; │ ^^^^^^^^^ ╵ src/styles.scss 1:9 root stylesheet ``` --- .../browser/tests/options/verbose_spec.ts | 54 +++++++++++++++++++ .../src/webpack/utils/helpers.ts | 4 +- .../build_angular/src/webpack/utils/stats.ts | 43 ++++++++++++--- 3 files changed, 92 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts index b9e50f007d7b..598a2b44a21e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/verbose_spec.ts @@ -102,5 +102,59 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { ) .toPromise(); }); + + it('should not include error stacktraces when false', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + verbose: false, + styles: ['./src/styles.scss'], + }); + + // Create a compilatation error. + await harness.writeFile('./src/styles.scss', `@import 'invalid-module';`); + + const { result, logs } = await harness.executeOnce({ outputLogsOnFailure: false }); + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(`SassError: Can't find stylesheet to import.`), + }), + ); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('styles.scss.webpack'), + }), + ); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('at Object.loader'), + }), + ); + }); + + it('should include error stacktraces when true', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + verbose: true, + styles: ['./src/styles.scss'], + }); + + // Create a compilatation error. + await harness.writeFile('./src/styles.scss', `@import 'invalid-module';`); + + const { result, logs } = await harness.executeOnce({ outputLogsOnFailure: false }); + expect(result?.success).toBeFalse(); + + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('styles.scss.webpack'), + }), + ); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('at Object.loader'), + }), + ); + }); }); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index e965339348ac..16c0978bef2b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -29,6 +29,8 @@ export interface HashFormat { script: string; } +export type WebpackStatsOptions = Exclude; + export function getOutputHashFormat(outputHashing = OutputHashing.None, length = 20): HashFormat { const hashTemplate = `.[contenthash:${length}]`; @@ -276,7 +278,6 @@ export function externalizePackages( } } -type WebpackStatsOptions = Exclude; export function getStatsOptions(verbose = false): WebpackStatsOptions { const webpackOutputOptions: WebpackStatsOptions = { all: false, // Fallback value for stats options when an option is not defined. It has precedence over local webpack defaults. @@ -306,6 +307,7 @@ export function getStatsOptions(verbose = false): WebpackStatsOptions { version: true, chunkModules: true, errorDetails: true, + errorStack: true, moduleTrace: true, logging: 'verbose', modulesSpace: Infinity, diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index b294cc5ee0d4..d39dfcc2f643 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -15,7 +15,7 @@ import { Schema as BrowserBuilderOptions } from '../../builders/browser/schema'; import { BudgetCalculatorResult } from '../../utils/bundle-calculator'; import { colors as ansiColors, removeColor } from '../../utils/color'; import { markAsyncChunksNonInitial } from './async-chunks'; -import { getStatsOptions, normalizeExtraEntryPoints } from './helpers'; +import { WebpackStatsOptions, getStatsOptions, normalizeExtraEntryPoints } from './helpers'; export function formatSize(size: number): string { if (size <= 0) { @@ -317,8 +317,10 @@ function statsToString( } } -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function statsWarningsToString(json: StatsCompilation, statsConfig: any): string { +export function statsWarningsToString( + json: StatsCompilation, + statsConfig: WebpackStatsOptions, +): string { const colors = statsConfig.colors; const c = (x: string) => (colors ? ansiColors.reset.cyan(x) : x); const y = (x: string) => (colors ? ansiColors.reset.yellow(x) : x); @@ -352,8 +354,10 @@ export function statsWarningsToString(json: StatsCompilation, statsConfig: any): return output ? '\n' + output : output; } -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function statsErrorsToString(json: StatsCompilation, statsConfig: any): string { +export function statsErrorsToString( + json: StatsCompilation, + statsConfig: WebpackStatsOptions, +): string { const colors = statsConfig.colors; const c = (x: string) => (colors ? ansiColors.reset.cyan(x) : x); const yb = (x: string) => (colors ? ansiColors.reset.yellowBright(x) : x); @@ -369,7 +373,17 @@ export function statsErrorsToString(json: StatsCompilation, statsConfig: any): s if (typeof error === 'string') { output += r(`Error: ${error}\n\n`); } else { - const file = error.file || error.moduleName; + let file = error.file || error.moduleName; + // Clean up error paths + // Ex: ./src/app/styles.scss.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js.... + // to ./src/app/styles.scss.webpack + if (file && !statsConfig.errorDetails) { + const webpackPathIndex = file.indexOf('.webpack['); + if (webpackPathIndex !== -1) { + file = file.substring(0, webpackPathIndex); + } + } + if (file) { output += c(file); if (error.loc) { @@ -377,10 +391,18 @@ export function statsErrorsToString(json: StatsCompilation, statsConfig: any): s } output += ' - '; } - if (!/^error/i.test(error.message)) { + + // In most cases webpack will add stack traces to error messages. + // This below cleans up the error from stacks. + // See: https://github.com/webpack/webpack/issues/15980 + const message = statsConfig.errorStack + ? error.message + : /[\s\S]+?(?=[\n\s]+at)/.exec(error.message)?.[0] ?? error.message; + + if (!/^error/i.test(message)) { output += r('Error: '); } - output += `${error.message}\n\n`; + output += `${message}\n\n`; } } @@ -428,9 +450,14 @@ export function webpackStatsLogger( ): void { logger.info(statsToString(json, config.stats, budgetFailures)); + if (typeof config.stats !== 'object') { + throw new Error('Invalid Webpack stats configuration.'); + } + if (statsHasWarnings(json)) { logger.warn(statsWarningsToString(json, config.stats)); } + if (statsHasErrors(json)) { logger.error(statsErrorsToString(json, config.stats)); } From 5a012b5fce2f38fa6b97c84c874e85dc726d2f0d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 27 Jun 2022 08:09:08 +0000 Subject: [PATCH 0594/1388] fix(@angular/cli): correctly handle `--collection` option in `ng new` Previously, this option was ignored due to an incorrect deconstruction. Closes #23414 --- packages/angular/cli/src/commands/new/cli.ts | 2 +- .../e2e/tests/commands/ng-new-collection.ts | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/ng-new-collection.ts diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index 1d4b39f3e462..e5014dac3753 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -45,7 +45,7 @@ export class NewCommandModule }); const { - options: { collectionNameFromArgs }, + options: { collection: collectionNameFromArgs }, } = this.context.args; const collectionName = diff --git a/tests/legacy-cli/e2e/tests/commands/ng-new-collection.ts b/tests/legacy-cli/e2e/tests/commands/ng-new-collection.ts new file mode 100644 index 000000000000..e55c75ee69b4 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/ng-new-collection.ts @@ -0,0 +1,19 @@ +import { execAndWaitForOutputToMatch } from '../../utils/process'; + +export default async function () { + const currentDirectory = process.cwd(); + + try { + process.chdir('..'); + + // The below is a way to validate that the `--collection` option is being considered. + await execAndWaitForOutputToMatch( + 'ng', + ['new', '--collection', 'invalid-schematic'], + /Collection "invalid-schematic" cannot be resolved/, + ); + } finally { + // Change directory back + process.chdir(currentDirectory); + } +} From 4fa039b692be8bc97d0b382f015783d12f214a65 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 27 Jun 2022 10:58:31 +0000 Subject: [PATCH 0595/1388] fix(@angular/cli): remove color from help epilogue In some cases gray doesn't provide enough contrast. --- packages/angular/cli/src/command-builder/command-runner.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 6c3ecdee1940..5f0192c13915 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -149,7 +149,7 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis 'deprecated: %s': colors.yellow('deprecated:') + ' %s', 'Did you mean %s?': 'Unknown command. Did you mean %s?', }) - .epilogue(colors.gray('For more information, see https://angular.io/cli/.\n')) + .epilogue('For more information, see https://angular.io/cli/.\n') .demandCommand(1, demandCommandFailureMessage) .recommendCommands() .middleware(normalizeOptionsMiddleware) From 39cc99c3184224936ab203e0e51865bf9d27583e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:54:19 +0000 Subject: [PATCH 0596/1388] build: update angular to 0ebdb76 --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++----- yarn.lock | 62 +++++++++---------- 6 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 714a8588edda..2548c2ba1dc6 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@3e07a8f0335813ddeee471c7c1db12325c07325e + - uses: angular/dev-infra/github-actions/commit-message-based-labels@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@3e07a8f0335813ddeee471c7c1db12325c07325e + - uses: angular/dev-infra/github-actions/post-approval-changes@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 6dd00a9d0717..eb579f158a8e 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@3e07a8f0335813ddeee471c7c1db12325c07325e + - uses: angular/dev-infra/github-actions/feature-request@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index ab07b4e5bb28..0be306c821d2 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@3e07a8f0335813ddeee471c7c1db12325c07325e + - uses: angular/dev-infra/github-actions/lock-closed@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index bfddb0c623d3..3d02e6e84d7f 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "14.0.3", "@angular/compiler-cli": "14.0.3", "@angular/core": "14.0.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#972879f2a2a6ffd6a4f1d8a800b5917aa71b05de", "@angular/forms": "14.0.3", "@angular/localize": "14.0.3", "@angular/material": "14.0.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 40b04fb0faad..b6b1030beea8 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#97850737d89f72db43a272f2dab3a201a4f842fb", - "@angular/cdk": "github:angular/cdk-builds#8f5107475d851b38700c4bc8c2c717a7ab3e1130", - "@angular/common": "github:angular/common-builds#5948ee9a7af4bc22bcf0b714f909dda3c81b4afd", - "@angular/compiler": "github:angular/compiler-builds#3be609892d33f05b1e3f6e48dee53b428c8dc56d", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#2586d2c60976424ebe5f64d01daacba7b51273d0", - "@angular/core": "github:angular/core-builds#6f12e60e7e3f5c088916155a52ad6396690a304c", - "@angular/forms": "github:angular/forms-builds#0bc95e7d8dcad0dfbd9318f72dab920aec6f7778", - "@angular/language-service": "github:angular/language-service-builds#ff08cc1d3450d9791c55744a57d9df90dcbbcdac", - "@angular/localize": "github:angular/localize-builds#cad6f4c0b322d620d69a6ebfb79e6893f5cc88d3", - "@angular/material": "github:angular/material-builds#b1fdd72cf6a4e224128769e9cb887cc9fc809ec9", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4974f0c9689328d38ce41a91fe108e03bdf35fcd", - "@angular/platform-browser": "github:angular/platform-browser-builds#343208f6da8c0f80a6ad3683efd46ab0cde95ed6", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#79c9f527195f9c7eab098f0bd5cfebd3d69f2927", - "@angular/platform-server": "github:angular/platform-server-builds#aadbc2e0bf74b38280d9d48178cd89c3c2cadc7f", - "@angular/router": "github:angular/router-builds#e57c14d525b252894ed97703155f1ee6271b9467", - "@angular/service-worker": "github:angular/service-worker-builds#bbe4bed757b0a0ee1fb60bc58dc1bfdfe8cc6740" + "@angular/animations": "github:angular/animations-builds#0ebdb7626c842cab09266d1ba6f1e7a79b183559", + "@angular/cdk": "github:angular/cdk-builds#6d8d814309a7ec5488d04dc1d42505423c33fe90", + "@angular/common": "github:angular/common-builds#26081b1884869b4e65325f8e8a5bce3acaabb5e7", + "@angular/compiler": "github:angular/compiler-builds#5b79faf96badf9e8e974c68b7c1ce21c92994a88", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#640559e54f5af242fcf500655f7b914076557771", + "@angular/core": "github:angular/core-builds#02a4c650ab17e9d68fcd9cf3e4ca815571d86327", + "@angular/forms": "github:angular/forms-builds#204719f881e20ee9268b8184dfa96c6a590d00b8", + "@angular/language-service": "github:angular/language-service-builds#0e2506ea407972a7c07cbdfd15763d71ae0382cd", + "@angular/localize": "github:angular/localize-builds#4f182b2e11cdb1d7e3a49eee49e8a1bb57a45d99", + "@angular/material": "github:angular/material-builds#8aefc9c1c8878a1caa6766895a18f74085ebd515", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b72295bc71ced3bba3df1be32b040a335710bcb9", + "@angular/platform-browser": "github:angular/platform-browser-builds#ed75a883fe5ea3f34b98e0c0f681d9ddd445ee8f", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7c1aaf1d5190e6afc09a8beed5a49bc149d9aa95", + "@angular/platform-server": "github:angular/platform-server-builds#135b6bc5fba46a2b5d42fae1f945fc222645fee9", + "@angular/router": "github:angular/router-builds#f4fb74bc234d6d7678d1ecbd25c0f9e7bb5b8658", + "@angular/service-worker": "github:angular/service-worker-builds#a1a8d211202953457c44b27783651341dbd06a5b" } } diff --git a/yarn.lock b/yarn.lock index 4119a3386c39..240f80384540 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1401.0-next.1": - version "0.1401.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.1.tgz#a0c74f1fe57d680ac0b3341ae3780acfe7c3c9a9" - integrity sha512-O96m5TZ5P4mH3L6k22oYQesJoaGGrxXE0VcnpnNDYWSDxHD60150tYAu3JQb+Vgs5+Tls735XActXfOv9nxNjw== +"@angular-devkit/architect@0.1401.0-next.2": + version "0.1401.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.2.tgz#b6e25ea5ba38603b0a4fa2a7180f03771326597f" + integrity sha512-XQay7qobhwuUulAN7P7mlBjgRjVIsjSmtQRlVWomBPL/iosHI1RZW7MEcrkgiQxPemugIN+y0kifaZFOhjpRoA== dependencies: - "@angular-devkit/core" "14.1.0-next.1" + "@angular-devkit/core" "14.1.0-next.2" rxjs "6.6.7" -"@angular-devkit/build-angular@14.1.0-next.1": - version "14.1.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.1.tgz#94a40250092c554f9fce7475bf43d328c8a4ae14" - integrity sha512-T9lNIR0E1w+VnKeiFJOa34Ru72RCH8Qe113hzzLw8AFz798fP/jv55ujA7GOHCluph4PeqJC9Ed3JSNqRpoAJw== +"@angular-devkit/build-angular@14.1.0-next.2": + version "14.1.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.2.tgz#4c68d7c7a8da599d7a63948d24ff83478d3ea06a" + integrity sha512-LXbT3DvttZmmGzkfAPXP08C3cEx0K7AwleUijp+giRzcraoRdjOzcR7G2R9OLLNa4bwLBFc8wkU28Y02U4xb7g== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1401.0-next.1" - "@angular-devkit/build-webpack" "0.1401.0-next.1" - "@angular-devkit/core" "14.1.0-next.1" + "@angular-devkit/architect" "0.1401.0-next.2" + "@angular-devkit/build-webpack" "0.1401.0-next.2" + "@angular-devkit/core" "14.1.0-next.2" "@babel/core" "7.18.2" "@babel/generator" "7.18.2" "@babel/helper-annotate-as-pure" "7.16.7" @@ -37,7 +37,7 @@ "@babel/runtime" "7.18.3" "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.1.0-next.1" + "@ngtools/webpack" "14.1.0-next.2" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.42" -"@angular-devkit/build-webpack@0.1401.0-next.1": - version "0.1401.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.1.tgz#34922425c9ad5d4707609af90c3f25877b3ab67f" - integrity sha512-8nvvPeLrAMuqiMCNzWQKUjdCVB6cQlmWFmhI+rl4X2SeYHaL8Xmy5PtYCCMJcYLUT/XE8b+VdvuPzv84W87Hng== +"@angular-devkit/build-webpack@0.1401.0-next.2": + version "0.1401.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.2.tgz#53fb00ba5ffc083fe02ed20bc15dcfb3f0963c3d" + integrity sha512-59Y1dOC7IQPrjrYMkOxbQUsbhL/2WAQtzY4ETFtCoAzUh/kVgV6L236oM5ZsKT+b7317cmtRngtvMAZLW22hQQ== dependencies: - "@angular-devkit/architect" "0.1401.0-next.1" + "@angular-devkit/architect" "0.1401.0-next.2" rxjs "6.6.7" -"@angular-devkit/core@14.1.0-next.1": - version "14.1.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.1.tgz#60106955588505045fc223d3a79f644a2318b820" - integrity sha512-2g0EgD1TMRfivEzjm3SLMyVoocSdCnG7s9Xp/5oWx1R8CmgcyXavwmspmCDyOV6dsFsRJXWqdUHFV/Og6FM9Zw== +"@angular-devkit/core@14.1.0-next.2": + version "14.1.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.2.tgz#3f68034c94a7e82865ff4ca89a43a8b0105a5ac5" + integrity sha512-ZLfoMLlAFBIaHVRGBYk1vjjhPBa5MHIUtBg6TZEs+opIgw+PxyRo9nVePv7VfFKehypC4PzJMwNnUkhMTAtXKA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -168,12 +168,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d": - version "0.0.0-3e07a8f0335813ddeee471c7c1db12325c07325e" - uid "714bb709f6d7ee3386a7f1097a75a54ab92c285d" - resolved "https://github.com/angular/dev-infra-private-builds.git#714bb709f6d7ee3386a7f1097a75a54ab92c285d" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#972879f2a2a6ffd6a4f1d8a800b5917aa71b05de": + version "0.0.0-5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f" + uid "972879f2a2a6ffd6a4f1d8a800b5917aa71b05de" + resolved "https://github.com/angular/dev-infra-private-builds.git#972879f2a2a6ffd6a4f1d8a800b5917aa71b05de" dependencies: - "@angular-devkit/build-angular" "14.1.0-next.1" + "@angular-devkit/build-angular" "14.1.0-next.2" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -1555,10 +1555,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.1.0-next.1": - version "14.1.0-next.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.1.tgz#aeb89ca748e3b9f0d9db4be3a8d0233697ad291b" - integrity sha512-MXgzBn4LudIIdffY4X/pAhAAL5wvGRa36ToeYb4Pmfr0GROD2KvtWk6zNGmE1YuP1p9DHXh6ufoJxtHqTGgFVQ== +"@ngtools/webpack@14.1.0-next.2": + version "14.1.0-next.2" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.2.tgz#cedb06a9101a959faef5d88a40d846eb65318680" + integrity sha512-EuYY9LFJ2U4g2IaFbvQAW9o2XioXoa0J8NZr4Ju21wrJKgoPVegoKkw3E9pFskMI3NrIcDvvnRGz23+rD74IAA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From b0a08ea84103854c6073d32f5b76197aba6a0434 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 08:50:32 +0000 Subject: [PATCH 0597/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 24 +- .../angular_devkit/build_angular/package.json | 20 +- yarn.lock | 905 ++++++++++++++++-- 4 files changed, 866 insertions(+), 89 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index d077c3254fcf..4cb6c1f23354 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "4ef2f746bae7bd7f1ec39dc9b53a9d7e8002f18233ea2c2ee4702bbb5283c7ca", - strip_prefix = "bazel-lib-1.3.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.3.1.tar.gz", + sha256 = "8cf53f6c33bce4550cbd1ad41796f044fbaaa422b96218bcc71b69e6595205bf", + strip_prefix = "bazel-lib-1.4.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.4.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 3d02e6e84d7f..7f681402ad75 100644 --- a/package.json +++ b/package.json @@ -79,15 +79,15 @@ "@angular/platform-server": "14.0.3", "@angular/router": "14.0.3", "@angular/service-worker": "14.0.3", - "@babel/core": "7.18.5", - "@babel/generator": "7.18.2", - "@babel/helper-annotate-as-pure": "7.16.7", - "@babel/plugin-proposal-async-generator-functions": "7.17.12", - "@babel/plugin-transform-async-to-generator": "7.17.12", - "@babel/plugin-transform-runtime": "7.18.5", - "@babel/preset-env": "7.18.2", - "@babel/runtime": "7.18.3", - "@babel/template": "7.16.7", + "@babel/core": "7.18.6", + "@babel/generator": "7.18.6", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.6", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.6", + "@babel/preset-env": "7.18.6", + "@babel/runtime": "7.18.6", + "@babel/template": "7.18.6", "@bazel/bazelisk": "1.12.0", "@bazel/buildifier": "5.1.0", "@bazel/concatjs": "5.5.1", @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.29.0", - "@typescript-eslint/parser": "5.29.0", + "@typescript-eslint/eslint-plugin": "5.30.0", + "@typescript-eslint/parser": "5.30.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -196,7 +196,7 @@ "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.53.0", - "sass-loader": "13.0.1", + "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", "shelljs": "^0.8.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 86c32d86968b..e1e88ba24a4e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,15 +10,15 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.5", - "@babel/generator": "7.18.2", - "@babel/helper-annotate-as-pure": "7.16.7", - "@babel/plugin-proposal-async-generator-functions": "7.17.12", - "@babel/plugin-transform-async-to-generator": "7.17.12", - "@babel/plugin-transform-runtime": "7.18.5", - "@babel/preset-env": "7.18.2", - "@babel/runtime": "7.18.3", - "@babel/template": "7.16.7", + "@babel/core": "7.18.6", + "@babel/generator": "7.18.6", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.6", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.6", + "@babel/preset-env": "7.18.6", + "@babel/runtime": "7.18.6", + "@babel/template": "7.18.6", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", @@ -53,7 +53,7 @@ "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.53.0", - "sass-loader": "13.0.1", + "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", diff --git a/yarn.lock b/yarn.lock index 240f80384540..02e850252511 100644 --- a/yarn.lock +++ b/yarn.lock @@ -277,11 +277,23 @@ dependencies: "@babel/highlight" "^7.16.7" +"@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== +"@babel/compat-data@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" + integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ== + "@babel/core@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" @@ -303,7 +315,28 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" + integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.6" + "@babel/helper-compilation-targets" "^7.18.6" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helpers" "^7.18.6" + "@babel/parser" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.6" + "@babel/types" "^7.18.6" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== @@ -333,6 +366,15 @@ "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" +"@babel/generator@7.18.6", "@babel/generator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.6.tgz#9ab2d46d3cbf631f0e80f72e72874a04c3fc12a9" + integrity sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw== + dependencies: + "@babel/types" "^7.18.6" + "@jridgewell/gen-mapping" "^0.3.0" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -340,6 +382,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" @@ -348,6 +397,14 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz#f14d640ed1ee9246fb33b8255f08353acfe70e6a" + integrity sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" @@ -358,6 +415,16 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96" + integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg== + dependencies: + "@babel/compat-data" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.20.2" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" @@ -371,6 +438,19 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" +"@babel/helper-create-class-features-plugin@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz#6f15f8459f3b523b39e00a99982e2c040871ed72" + integrity sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-function-name" "^7.18.6" + "@babel/helper-member-expression-to-functions" "^7.18.6" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" @@ -379,6 +459,14 @@ "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^5.0.1" +"@babel/helper-create-regexp-features-plugin@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" + integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.1.0" + "@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" @@ -398,6 +486,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== +"@babel/helper-environment-visitor@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" + integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== + "@babel/helper-explode-assignable-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" @@ -405,6 +498,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" @@ -413,6 +513,14 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.17.0" +"@babel/helper-function-name@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83" + integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw== + dependencies: + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" @@ -420,6 +528,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-member-expression-to-functions@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" @@ -427,6 +542,13 @@ dependencies: "@babel/types" "^7.17.0" +"@babel/helper-member-expression-to-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.6.tgz#44802d7d602c285e1692db0bad9396d007be2afc" + integrity sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" @@ -434,6 +556,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" @@ -448,6 +577,20 @@ "@babel/traverse" "^7.18.0" "@babel/types" "^7.18.0" +"@babel/helper-module-transforms@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz#57e3ca669e273d55c3cda55e6ebf552f37f483c8" + integrity sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw== + dependencies: + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" @@ -455,11 +598,23 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== +"@babel/helper-plugin-utils@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d" + integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg== + "@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" @@ -469,6 +624,16 @@ "@babel/helper-wrap-function" "^7.16.8" "@babel/types" "^7.16.8" +"@babel/helper-remap-async-to-generator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz#fa1f81acd19daee9d73de297c0308783cd3cfc23" + integrity sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-wrap-function" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/helper-replace-supers@^7.16.7", "@babel/helper-replace-supers@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0" @@ -480,6 +645,17 @@ "@babel/traverse" "^7.18.2" "@babel/types" "^7.18.2" +"@babel/helper-replace-supers@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.6.tgz#efedf51cfccea7b7b8c0f00002ab317e7abfe420" + integrity sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g== + dependencies: + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-member-expression-to-functions" "^7.18.6" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" @@ -487,6 +663,13 @@ dependencies: "@babel/types" "^7.18.2" +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -494,6 +677,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-skip-transparent-expression-wrappers@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.6.tgz#7dff00a5320ca4cf63270e5a0eca4b268b7380d9" + integrity sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" @@ -501,16 +691,33 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== +"@babel/helper-validator-identifier@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" + integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + "@babel/helper-wrap-function@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" @@ -521,6 +728,16 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" +"@babel/helper-wrap-function@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz#ec44ea4ad9d8988b90c3e465ba2382f4de81a073" + integrity sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw== + dependencies: + "@babel/helper-function-name" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/helpers@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" @@ -530,6 +747,15 @@ "@babel/traverse" "^7.18.2" "@babel/types" "^7.18.2" +"@babel/helpers@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.6.tgz#4c966140eaa1fcaa3d5a8c09d7db61077d4debfd" + integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ== + dependencies: + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/highlight@^7.16.7": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" @@ -539,11 +765,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== +"@babel/parser@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" + integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" @@ -551,6 +791,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" @@ -560,6 +807,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.17.12" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.6.tgz#b4e4dbc2cd1acd0133479918f7c6412961c9adb8" + integrity sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.6" + "@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" @@ -569,6 +825,16 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" + integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== + dependencies: + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-class-properties@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" @@ -577,6 +843,14 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-proposal-class-static-block@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" @@ -586,6 +860,15 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-class-static-block" "^7.14.5" +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" + integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" @@ -594,6 +877,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-export-namespace-from@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" @@ -602,6 +893,14 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" +"@babel/plugin-proposal-export-namespace-from@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.6.tgz#1016f0aa5ab383bbf8b3a85a2dcaedf6c8ee7491" + integrity sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-proposal-json-strings@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" @@ -610,6 +909,14 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-json-strings" "^7.8.3" +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-proposal-logical-assignment-operators@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" @@ -618,6 +925,14 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" +"@babel/plugin-proposal-logical-assignment-operators@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.6.tgz#3b9cac6f1ffc2aa459d111df80c12020dfc6b665" + integrity sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" @@ -626,6 +941,14 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" @@ -634,6 +957,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" @@ -645,6 +976,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.17.12" +"@babel/plugin-proposal-object-rest-spread@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.6.tgz#ec93bba06bfb3e15ebd7da73e953d84b094d5daf" + integrity sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw== + dependencies: + "@babel/compat-data" "^7.18.6" + "@babel/helper-compilation-targets" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.18.6" + "@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" @@ -653,6 +995,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" @@ -662,6 +1012,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +"@babel/plugin-proposal-optional-chaining@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.6.tgz#46d4f2ffc20e87fad1d98bc4fa5d466366f6aa0b" + integrity sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-private-methods@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" @@ -670,6 +1029,14 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" @@ -680,6 +1047,16 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" + integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" @@ -688,6 +1065,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-proposal-unicode-property-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -730,6 +1115,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-syntax-import-assertions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" + integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -800,6 +1192,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" + integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" @@ -809,6 +1208,15 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-remap-async-to-generator" "^7.16.8" +"@babel/plugin-transform-async-to-generator@7.18.6", "@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" + integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" @@ -816,6 +1224,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-block-scoping@^7.17.12": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9" @@ -823,6 +1238,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-block-scoping@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.6.tgz#b5f78318914615397d86a731ef2cc668796a726c" + integrity sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-classes@^7.17.12": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814" @@ -837,6 +1259,20 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.6.tgz#3501a8f3f4c7d5697c27a3eedbee71d68312669f" + integrity sha512-XTg8XW/mKpzAF3actL554Jl/dOYoJtv3l8fxaEczpgz84IeeVf+T1u2CSvPHuZbt0w3JkIx4rdn/MRQI7mo0HQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-function-name" "^7.18.6" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" @@ -844,6 +1280,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-computed-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.6.tgz#5d15eb90e22e69604f3348344c91165c5395d032" + integrity sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-destructuring@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" @@ -851,6 +1294,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-destructuring@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.6.tgz#a98b0e42c7ffbf5eefcbcf33280430f230895c6f" + integrity sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" @@ -859,6 +1309,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-dotall-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-duplicate-keys@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" @@ -866,6 +1324,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-duplicate-keys@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.6.tgz#e6c94e8cd3c9dd8a88144f7b78ae22975a7ff473" + integrity sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" @@ -874,6 +1339,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-for-of@^7.18.1": version "7.18.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" @@ -881,6 +1354,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-for-of@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.6.tgz#e0fdb813be908e91ccc9ec87b30cc2eabf046f7c" + integrity sha512-WAjoMf4wIiSsy88KmG7tgj2nFdEK7E46tArVtcgED7Bkj6Fg/tG5SbvNIOKxbFS2VFgNh6+iaPswBeQZm4ox8w== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" @@ -890,6 +1370,15 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-function-name@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.6.tgz#6a7e4ae2893d336fd1b8f64c9f92276391d0f1b4" + integrity sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA== + dependencies: + "@babel/helper-compilation-targets" "^7.18.6" + "@babel/helper-function-name" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-literals@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" @@ -897,6 +1386,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.6.tgz#9d6af353b5209df72960baf4492722d56f39a205" + integrity sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" @@ -904,6 +1400,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-modules-amd@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" @@ -913,6 +1416,15 @@ "@babel/helper-plugin-utils" "^7.17.12" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-amd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" + integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-commonjs@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" @@ -923,6 +1435,16 @@ "@babel/helper-simple-access" "^7.18.2" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" + integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-systemjs@^7.18.0": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996" @@ -934,6 +1456,17 @@ "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-systemjs@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.6.tgz#026511b7657d63bf5d4cf2fd4aeb963139914a54" + integrity sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-umd@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" @@ -942,6 +1475,14 @@ "@babel/helper-module-transforms" "^7.18.0" "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" @@ -950,6 +1491,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" + integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-new-target@^7.17.12": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931" @@ -957,6 +1506,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" @@ -965,6 +1521,14 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + "@babel/plugin-transform-parameters@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" @@ -972,6 +1536,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-parameters@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.6.tgz#cbe03d5a4c6385dd756034ac1baa63c04beab8dc" + integrity sha512-FjdqgMv37yVl/gwvzkcB+wfjRI8HQmc5EgOG9iGNvUY1ok+TjsoaMP7IqCDZBhkFcM5f3OPVMs6Dmp03C5k4/A== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" @@ -979,6 +1550,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-regenerator@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" @@ -987,6 +1565,14 @@ "@babel/helper-plugin-utils" "^7.17.12" regenerator-transform "^0.15.0" +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" + integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + regenerator-transform "^0.15.0" + "@babel/plugin-transform-reserved-words@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" @@ -994,6 +1580,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-runtime@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz#04637de1e45ae8847ff14b9beead09c33d34374d" @@ -1006,16 +1599,16 @@ babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-runtime@7.18.5": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.5.tgz#f4d3188ba6a8815793993c71c2c225d0ee1d7743" - integrity sha512-Q17hHxXr2fplrE+5BSC1j1Fo5cOA8YeP8XW3/1paI8MzF/faZGh0MaH1KC4jLAvqLPamQWHB5/B7KqSLY1kuHA== +"@babel/plugin-transform-runtime@7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz#77b14416015ea93367ca06979710f5000ff34ccb" + integrity sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA== dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.16.7": @@ -1025,6 +1618,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-spread@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" @@ -1033,6 +1633,14 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" +"@babel/plugin-transform-spread@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.6.tgz#82b080241965f1689f0a60ecc6f1f6575dbdb9d6" + integrity sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" + "@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" @@ -1040,6 +1648,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-template-literals@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" @@ -1047,6 +1662,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-template-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.6.tgz#b763f4dc9d11a7cce58cf9a490d82e80547db9c2" + integrity sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-typeof-symbol@^7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" @@ -1054,6 +1676,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-typeof-symbol@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.6.tgz#486bb39d5a18047358e0d04dc0d2f322f0b92e92" + integrity sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" @@ -1061,6 +1690,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-unicode-escapes@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" + integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-transform-unicode-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" @@ -1069,6 +1705,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/preset-env@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a" @@ -1150,6 +1794,87 @@ core-js-compat "^3.22.1" semver "^6.3.0" +"@babel/preset-env@7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.6.tgz#953422e98a5f66bc56cd0b9074eaea127ec86ace" + integrity sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw== + dependencies: + "@babel/compat-data" "^7.18.6" + "@babel/helper-compilation-targets" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.6" + "@babel/plugin-proposal-async-generator-functions" "^7.18.6" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.6" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.6" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.6" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.6" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.18.6" + "@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" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.6" + "@babel/plugin-transform-classes" "^7.18.6" + "@babel/plugin-transform-computed-properties" "^7.18.6" + "@babel/plugin-transform-destructuring" "^7.18.6" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.6" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.6" + "@babel/plugin-transform-function-name" "^7.18.6" + "@babel/plugin-transform-literals" "^7.18.6" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.18.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.6" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.18.6" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.6" + "@babel/plugin-transform-typeof-symbol" "^7.18.6" + "@babel/plugin-transform-unicode-escapes" "^7.18.6" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.18.6" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" + core-js-compat "^3.22.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1168,6 +1893,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" + integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -1177,6 +1909,15 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/template@7.18.6", "@babel/template@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" + integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.6" + "@babel/types" "^7.18.6" + "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" @@ -1193,6 +1934,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d" + integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-function-name" "^7.18.6" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.6" + "@babel/types" "^7.18.6" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" @@ -1201,6 +1958,14 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@babel/types@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.6.tgz#5d781dd10a3f0c9f1f931bd19de5eb26ec31acf0" + integrity sha512-NdBNzPDwed30fZdDQtVR7ZgaO4UKjuaQFH9VArS+HMnurlOY0JWN+4ROlu/iapMFwjRQU4pOG4StZfDmulEwGA== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50" @@ -2435,14 +3200,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz#c67794d2b0fd0b4a47f50266088acdc52a08aab6" - integrity sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w== +"@typescript-eslint/eslint-plugin@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.0.tgz#524a11e15c09701733033c96943ecf33f55d9ca1" + integrity sha512-lvhRJ2pGe2V9MEU46ELTdiHgiAFZPKtLhiU5wlnaYpMc2+c1R8fh8i80ZAa665drvjHKUJyRRGg3gEm1If54ow== dependencies: - "@typescript-eslint/scope-manager" "5.29.0" - "@typescript-eslint/type-utils" "5.29.0" - "@typescript-eslint/utils" "5.29.0" + "@typescript-eslint/scope-manager" "5.30.0" + "@typescript-eslint/type-utils" "5.30.0" + "@typescript-eslint/utils" "5.30.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2450,69 +3215,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.29.0.tgz#41314b195b34d44ff38220caa55f3f93cfca43cf" - integrity sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw== +"@typescript-eslint/parser@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.0.tgz#a2184fb5f8ef2bf1db0ae61a43907e2e32aa1b8f" + integrity sha512-2oYYUws5o2liX6SrFQ5RB88+PuRymaM2EU02/9Ppoyu70vllPnHVO7ioxDdq/ypXHA277R04SVjxvwI8HmZpzA== dependencies: - "@typescript-eslint/scope-manager" "5.29.0" - "@typescript-eslint/types" "5.29.0" - "@typescript-eslint/typescript-estree" "5.29.0" + "@typescript-eslint/scope-manager" "5.30.0" + "@typescript-eslint/types" "5.30.0" + "@typescript-eslint/typescript-estree" "5.30.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz#2a6a32e3416cb133e9af8dcf54bf077a916aeed3" - integrity sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA== +"@typescript-eslint/scope-manager@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.0.tgz#bf585ee801ab4ad84db2f840174e171a6bb002c7" + integrity sha512-3TZxvlQcK5fhTBw5solQucWSJvonXf5yua5nx8OqK94hxdrT7/6W3/CS42MLd/f1BmlmmbGEgQcTHHCktUX5bQ== dependencies: - "@typescript-eslint/types" "5.29.0" - "@typescript-eslint/visitor-keys" "5.29.0" + "@typescript-eslint/types" "5.30.0" + "@typescript-eslint/visitor-keys" "5.30.0" -"@typescript-eslint/type-utils@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz#241918001d164044020b37d26d5b9f4e37cc3d5d" - integrity sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg== +"@typescript-eslint/type-utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.0.tgz#98f3af926a5099153f092d4dad87148df21fbaae" + integrity sha512-GF8JZbZqSS+azehzlv/lmQQ3EU3VfWYzCczdZjJRxSEeXDQkqFhCBgFhallLDbPwQOEQ4MHpiPfkjKk7zlmeNg== dependencies: - "@typescript-eslint/utils" "5.29.0" + "@typescript-eslint/utils" "5.30.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.29.0.tgz#7861d3d288c031703b2d97bc113696b4d8c19aab" - integrity sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg== +"@typescript-eslint/types@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.0.tgz#db7d81d585a3da3801432a9c1d2fafbff125e110" + integrity sha512-vfqcBrsRNWw/LBXyncMF/KrUTYYzzygCSsVqlZ1qGu1QtGs6vMkt3US0VNSQ05grXi5Yadp3qv5XZdYLjpp8ag== -"@typescript-eslint/typescript-estree@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz#e83d19aa7fd2e74616aab2f25dfbe4de4f0b5577" - integrity sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ== +"@typescript-eslint/typescript-estree@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.0.tgz#4565ee8a6d2ac368996e20b2344ea0eab1a8f0bb" + integrity sha512-hDEawogreZB4n1zoqcrrtg/wPyyiCxmhPLpZ6kmWfKF5M5G0clRLaEexpuWr31fZ42F96SlD/5xCt1bT5Qm4Nw== dependencies: - "@typescript-eslint/types" "5.29.0" - "@typescript-eslint/visitor-keys" "5.29.0" + "@typescript-eslint/types" "5.30.0" + "@typescript-eslint/visitor-keys" "5.30.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.29.0.tgz#775046effd5019667bd086bcf326acbe32cd0082" - integrity sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A== +"@typescript-eslint/utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.0.tgz#1dac771fead5eab40d31860716de219356f5f754" + integrity sha512-0bIgOgZflLKIcZsWvfklsaQTM3ZUbmtH0rJ1hKyV3raoUYyeZwcjQ8ZUJTzS7KnhNcsVT1Rxs7zeeMHEhGlltw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.29.0" - "@typescript-eslint/types" "5.29.0" - "@typescript-eslint/typescript-estree" "5.29.0" + "@typescript-eslint/scope-manager" "5.30.0" + "@typescript-eslint/types" "5.30.0" + "@typescript-eslint/typescript-estree" "5.30.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.29.0": - version "5.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz#7a4749fa7ef5160c44a451bf060ac1dc6dfb77ee" - integrity sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ== +"@typescript-eslint/visitor-keys@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.0.tgz#07721d23daca2ec4c2da7f1e660d41cd78bacac3" + integrity sha512-6WcIeRk2DQ3pHKxU1Ni0qMXJkjO/zLjBymlYBy/53qxe7yjEFSvzKLDToJjURUhSl2Fzhkl4SMXQoETauF74cw== dependencies: - "@typescript-eslint/types" "5.29.0" + "@typescript-eslint/types" "5.30.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3119,7 +3884,7 @@ babel-plugin-istanbul@6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.0: +babel-plugin-polyfill-corejs2@^0.3.0, babel-plugin-polyfill-corejs2@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== @@ -3128,7 +3893,7 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.0: +babel-plugin-polyfill-corejs3@^0.5.0, babel-plugin-polyfill-corejs3@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== @@ -3136,7 +3901,7 @@ babel-plugin-polyfill-corejs3@^0.5.0: "@babel/helper-define-polyfill-provider" "^0.3.1" core-js-compat "^3.21.0" -babel-plugin-polyfill-regenerator@^0.3.0: +babel-plugin-polyfill-regenerator@^0.3.0, babel-plugin-polyfill-regenerator@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== @@ -9303,6 +10068,18 @@ regexpu-core@^5.0.1: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" +regexpu-core@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" + integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.0.1" + regjsgen "^0.6.0" + regjsparser "^0.8.2" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + regjsgen@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" @@ -9581,10 +10358,10 @@ sass-loader@13.0.0: klona "^2.0.4" neo-async "^2.6.2" -sass-loader@13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.1.tgz#bc372e2bac45e6c535e2c0c19263001194be3e2d" - integrity sha512-IeCdtvhwMY6GvgMtWJKLcehMeETvVZZjgZLJbQbwrLVHhL7zmj+7YsEPe5yhi04TaqzSZANz4CMu1QSh0/G9ew== +sass-loader@13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.2.tgz#e81a909048e06520e9f2ff25113a801065adb3fe" + integrity sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q== dependencies: klona "^2.0.4" neo-async "^2.6.2" From e17015ceffbb0350e5bdcdb83ef2ebf92e9dbe55 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 05:56:57 +0000 Subject: [PATCH 0598/1388] build: update ossf/scorecard-action action to v1.1.2 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 7dae32ed3342..7b848ce81e31 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@3e15ea8318eee9b333819ec77a36aca8d39df13e # tag=v1.1.1 + uses: ossf/scorecard-action@ce330fde6b1a5c9c75b417e7efc510b822a35564 # tag=v1.1.2 with: results_file: results.sarif results_format: sarif From a69000407c7c28c6eef1d0572f32836d76504944 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 28 Jun 2022 10:51:29 +0000 Subject: [PATCH 0599/1388] refactor: clean up old ansi-colors castings This has been fixed in https://github.com/doowb/ansi-colors/pull/44 --- packages/angular/cli/src/utilities/color.ts | 3 +-- packages/angular_devkit/architect_cli/bin/architect.ts | 3 +-- packages/angular_devkit/benchmark/src/main.ts | 3 +-- packages/angular_devkit/build_angular/src/utils/color.ts | 3 +-- packages/angular_devkit/schematics_cli/bin/schematics.ts | 3 +-- tests/legacy-cli/e2e/utils/process.ts | 3 +-- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/angular/cli/src/utilities/color.ts b/packages/angular/cli/src/utilities/color.ts index 8ddcadf3d1eb..0a93840c0519 100644 --- a/packages/angular/cli/src/utilities/color.ts +++ b/packages/angular/cli/src/utilities/color.ts @@ -45,8 +45,7 @@ export function removeColor(text: string): string { } // Create a separate instance to prevent unintended global changes to the color configuration -// Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 -const colors = (ansiColors as AnsiColors & { create: () => AnsiColors }).create(); +const colors = ansiColors.create(); colors.enabled = supportColor(); export { colors }; diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index 341757e9f971..cbc5f4ca9a36 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -71,8 +71,7 @@ interface BarInfo { } // Create a separate instance to prevent unintended global changes to the color configuration -// Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 -const colors = (ansiColors as typeof ansiColors & { create: () => typeof ansiColors }).create(); +const colors = ansiColors.create(); async function _executeTarget( parentLogger: logging.Logger, diff --git a/packages/angular_devkit/benchmark/src/main.ts b/packages/angular_devkit/benchmark/src/main.ts index 2c5d52872aa1..390d0799a344 100644 --- a/packages/angular_devkit/benchmark/src/main.ts +++ b/packages/angular_devkit/benchmark/src/main.ts @@ -111,8 +111,7 @@ export async function main({ ); // Create a separate instance to prevent unintended global changes to the color configuration - // Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 - const colors = (ansiColors as typeof ansiColors & { create: () => typeof ansiColors }).create(); + const colors = ansiColors.create(); // Log to console. logger.pipe(filter((entry) => entry.level != 'debug' || argv['verbose'])).subscribe((entry) => { diff --git a/packages/angular_devkit/build_angular/src/utils/color.ts b/packages/angular_devkit/build_angular/src/utils/color.ts index 8ddcadf3d1eb..0a93840c0519 100644 --- a/packages/angular_devkit/build_angular/src/utils/color.ts +++ b/packages/angular_devkit/build_angular/src/utils/color.ts @@ -45,8 +45,7 @@ export function removeColor(text: string): string { } // Create a separate instance to prevent unintended global changes to the color configuration -// Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 -const colors = (ansiColors as AnsiColors & { create: () => AnsiColors }).create(); +const colors = ansiColors.create(); colors.enabled = supportColor(); export { colors }; diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index 79e0bd9812d6..af29ca118811 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -117,8 +117,7 @@ export async function main({ const { cliOptions, schematicOptions, _ } = parseArgs(args); // Create a separate instance to prevent unintended global changes to the color configuration - // Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 - const colors = (ansiColors as typeof ansiColors & { create: () => typeof ansiColors }).create(); + const colors = ansiColors.create(); /** Create the DevKit Logger used through the CLI. */ const logger = createConsoleLogger(!!cliOptions.verbose, stdout, stderr, { diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index c302cd80bdf8..88dcce6353dc 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -27,8 +27,7 @@ export type ProcessOutput = { function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { // Create a separate instance to prevent unintended global changes to the color configuration - // Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44 - const colors = (ansiColors as typeof ansiColors & { create: () => typeof ansiColors }).create(); + const colors = ansiColors.create(); let stdout = ''; let stderr = ''; From 34ecf669ddb05da84f200d6972dbc8439007e1aa Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 27 Jun 2022 19:28:27 -0400 Subject: [PATCH 0600/1388] fix(@ngtools/webpack): show a compilation error on invalid TypeScript version A TypeScript version mismatch with the Angular compiler will no longer cause an exception to propagate up through the Webpack system. In Node.js v14, this resulted in an unhandled promise rejection warning and the build command never completing. This can also be reproduced in newer versions of Node.js by using the Node.js option `--unhandled-rejections=warn`. To correct this issue, the version mismatch is now treated as a compilation error and added to the list of errors that are displayed at the end of the build. This also has the benefit of avoiding the stack trace of the exception from being shown which previously drew attention away from the actual error message. --- packages/ngtools/webpack/src/ivy/plugin.ts | 305 +++++++++++---------- 1 file changed, 164 insertions(+), 141 deletions(-) diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index 8f62358cc998..a782f7409d6b 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -53,6 +53,16 @@ export interface AngularWebpackPluginOptions { inlineStyleFileExtension?: string; } +/** + * The Angular compilation state that is maintained across each Webpack compilation. + */ +interface AngularCompilationState { + ngccProcessor?: NgccProcessor; + resourceLoader?: WebpackResourceLoader; + previousUnused?: Set; + pathsPlugin: TypeScriptPathsPlugin; +} + function initializeNgccProcessor( compiler: Compiler, tsconfig: string, @@ -138,9 +148,8 @@ export class AngularWebpackPlugin { return this.pluginOptions; } - // eslint-disable-next-line max-lines-per-function apply(compiler: Compiler): void { - const { NormalModuleReplacementPlugin, util } = compiler.webpack; + const { NormalModuleReplacementPlugin, WebpackError, util } = compiler.webpack; this.webpackCreateHash = util.createHash; // Setup file replacements with webpack @@ -175,171 +184,185 @@ export class AngularWebpackPlugin { // Load the compiler-cli if not already available compiler.hooks.beforeCompile.tapPromise(PLUGIN_NAME, () => this.initializeCompilerCli()); - let ngccProcessor: NgccProcessor | undefined; - let resourceLoader: WebpackResourceLoader | undefined; - let previousUnused: Set | undefined; + const compilationState: AngularCompilationState = { pathsPlugin }; compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { - // Register plugin to ensure deterministic emit order in multi-plugin usage - const emitRegistration = this.registerWithCompilation(compilation); - this.watchMode = compiler.watchMode; - - // Initialize webpack cache - if (!this.webpackCache && compilation.options.cache) { - this.webpackCache = compilation.getCache(PLUGIN_NAME); - } - - // Initialize the resource loader if not already setup - if (!resourceLoader) { - resourceLoader = new WebpackResourceLoader(this.watchMode); + try { + this.setupCompilation(compilation, compilationState); + } catch (error) { + compilation.errors.push( + new WebpackError( + `Failed to initialize Angular compilation - ${ + error instanceof Error ? error.message : error + }`, + ), + ); } + }); + } - // Initialize and process eager ngcc if not already setup - if (!ngccProcessor) { - const { processor, errors, warnings } = initializeNgccProcessor( - compiler, - this.pluginOptions.tsconfig, - this.compilerNgccModule, - ); + private setupCompilation(compilation: Compilation, state: AngularCompilationState): void { + const compiler = compilation.compiler; - processor.process(); - warnings.forEach((warning) => addWarning(compilation, warning)); - errors.forEach((error) => addError(compilation, error)); + // Register plugin to ensure deterministic emit order in multi-plugin usage + const emitRegistration = this.registerWithCompilation(compilation); + this.watchMode = compiler.watchMode; - ngccProcessor = processor; - } + // Initialize webpack cache + if (!this.webpackCache && compilation.options.cache) { + this.webpackCache = compilation.getCache(PLUGIN_NAME); + } - // Setup and read TypeScript and Angular compiler configuration - const { compilerOptions, rootNames, errors } = this.loadConfiguration(); + // Initialize the resource loader if not already setup + if (!state.resourceLoader) { + state.resourceLoader = new WebpackResourceLoader(this.watchMode); + } - // Create diagnostics reporter and report configuration file errors - const diagnosticsReporter = createDiagnosticsReporter(compilation, (diagnostic) => - this.compilerCli.formatDiagnostics([diagnostic]), + // Initialize and process eager ngcc if not already setup + if (!state.ngccProcessor) { + const { processor, errors, warnings } = initializeNgccProcessor( + compiler, + this.pluginOptions.tsconfig, + this.compilerNgccModule, ); - diagnosticsReporter(errors); - // Update TypeScript path mapping plugin with new configuration - pathsPlugin.update(compilerOptions); + processor.process(); + warnings.forEach((warning) => addWarning(compilation, warning)); + errors.forEach((error) => addError(compilation, error)); - // Create a Webpack-based TypeScript compiler host - const system = createWebpackSystem( - // Webpack lacks an InputFileSytem type definition with sync functions - compiler.inputFileSystem as InputFileSystemSync, - normalizePath(compiler.context), - ); - const host = ts.createIncrementalCompilerHost(compilerOptions, system); - - // Setup source file caching and reuse cache from previous compilation if present - let cache = this.sourceFileCache; - let changedFiles; - if (cache) { - changedFiles = new Set(); - for (const changedFile of [...compiler.modifiedFiles, ...compiler.removedFiles]) { - const normalizedChangedFile = normalizePath(changedFile); - // Invalidate file dependencies - this.fileDependencies.delete(normalizedChangedFile); - // Invalidate existing cache - cache.invalidate(normalizedChangedFile); - - changedFiles.add(normalizedChangedFile); - } - } else { - // Initialize a new cache - cache = new SourceFileCache(); - // Only store cache if in watch mode - if (this.watchMode) { - this.sourceFileCache = cache; - } + state.ngccProcessor = processor; + } + + // Setup and read TypeScript and Angular compiler configuration + const { compilerOptions, rootNames, errors } = this.loadConfiguration(); + + // Create diagnostics reporter and report configuration file errors + const diagnosticsReporter = createDiagnosticsReporter(compilation, (diagnostic) => + this.compilerCli.formatDiagnostics([diagnostic]), + ); + diagnosticsReporter(errors); + + // Update TypeScript path mapping plugin with new configuration + state.pathsPlugin.update(compilerOptions); + + // Create a Webpack-based TypeScript compiler host + const system = createWebpackSystem( + // Webpack lacks an InputFileSytem type definition with sync functions + compiler.inputFileSystem as InputFileSystemSync, + normalizePath(compiler.context), + ); + const host = ts.createIncrementalCompilerHost(compilerOptions, system); + + // Setup source file caching and reuse cache from previous compilation if present + let cache = this.sourceFileCache; + let changedFiles; + if (cache) { + changedFiles = new Set(); + for (const changedFile of [...compiler.modifiedFiles, ...compiler.removedFiles]) { + const normalizedChangedFile = normalizePath(changedFile); + // Invalidate file dependencies + this.fileDependencies.delete(normalizedChangedFile); + // Invalidate existing cache + cache.invalidate(normalizedChangedFile); + + changedFiles.add(normalizedChangedFile); } - augmentHostWithCaching(host, cache); + } else { + // Initialize a new cache + cache = new SourceFileCache(); + // Only store cache if in watch mode + if (this.watchMode) { + this.sourceFileCache = cache; + } + } + augmentHostWithCaching(host, cache); - const moduleResolutionCache = ts.createModuleResolutionCache( - host.getCurrentDirectory(), - host.getCanonicalFileName.bind(host), - compilerOptions, - ); + const moduleResolutionCache = ts.createModuleResolutionCache( + host.getCurrentDirectory(), + host.getCanonicalFileName.bind(host), + compilerOptions, + ); - // Setup source file dependency collection - augmentHostWithDependencyCollection(host, this.fileDependencies, moduleResolutionCache); - - // Setup on demand ngcc - augmentHostWithNgcc(host, ngccProcessor, moduleResolutionCache); - - // Setup resource loading - resourceLoader.update(compilation, changedFiles); - augmentHostWithResources(host, resourceLoader, { - directTemplateLoading: this.pluginOptions.directTemplateLoading, - inlineStyleFileExtension: this.pluginOptions.inlineStyleFileExtension, - }); - - // Setup source file adjustment options - augmentHostWithReplacements(host, this.pluginOptions.fileReplacements, moduleResolutionCache); - augmentHostWithSubstitutions(host, this.pluginOptions.substitutions); - - // Create the file emitter used by the webpack loader - const { fileEmitter, builder, internalFiles } = this.pluginOptions.jitMode - ? this.updateJitProgram(compilerOptions, rootNames, host, diagnosticsReporter) - : this.updateAotProgram( - compilerOptions, - rootNames, - host, - diagnosticsReporter, - resourceLoader, - ); + // Setup source file dependency collection + augmentHostWithDependencyCollection(host, this.fileDependencies, moduleResolutionCache); - // Set of files used during the unused TypeScript file analysis - const currentUnused = new Set(); + // Setup on demand ngcc + augmentHostWithNgcc(host, state.ngccProcessor, moduleResolutionCache); - for (const sourceFile of builder.getSourceFiles()) { - if (internalFiles?.has(sourceFile)) { - continue; - } + // Setup resource loading + state.resourceLoader.update(compilation, changedFiles); + augmentHostWithResources(host, state.resourceLoader, { + directTemplateLoading: this.pluginOptions.directTemplateLoading, + inlineStyleFileExtension: this.pluginOptions.inlineStyleFileExtension, + }); - // Ensure all program files are considered part of the compilation and will be watched. - // Webpack does not normalize paths. Therefore, we need to normalize the path with FS seperators. - compilation.fileDependencies.add(externalizePath(sourceFile.fileName)); + // Setup source file adjustment options + augmentHostWithReplacements(host, this.pluginOptions.fileReplacements, moduleResolutionCache); + augmentHostWithSubstitutions(host, this.pluginOptions.substitutions); + + // Create the file emitter used by the webpack loader + const { fileEmitter, builder, internalFiles } = this.pluginOptions.jitMode + ? this.updateJitProgram(compilerOptions, rootNames, host, diagnosticsReporter) + : this.updateAotProgram( + compilerOptions, + rootNames, + host, + diagnosticsReporter, + state.resourceLoader, + ); - // Add all non-declaration files to the initial set of unused files. The set will be - // analyzed and pruned after all Webpack modules are finished building. - if (!sourceFile.isDeclarationFile) { - currentUnused.add(normalizePath(sourceFile.fileName)); - } + // Set of files used during the unused TypeScript file analysis + const currentUnused = new Set(); + + for (const sourceFile of builder.getSourceFiles()) { + if (internalFiles?.has(sourceFile)) { + continue; } - compilation.hooks.finishModules.tapPromise(PLUGIN_NAME, async (modules) => { - // Rebuild any remaining AOT required modules - await this.rebuildRequiredFiles(modules, compilation, fileEmitter); + // Ensure all program files are considered part of the compilation and will be watched. + // Webpack does not normalize paths. Therefore, we need to normalize the path with FS seperators. + compilation.fileDependencies.add(externalizePath(sourceFile.fileName)); - // Clear out the Webpack compilation to avoid an extra retaining reference - resourceLoader?.clearParentCompilation(); + // Add all non-declaration files to the initial set of unused files. The set will be + // analyzed and pruned after all Webpack modules are finished building. + if (!sourceFile.isDeclarationFile) { + currentUnused.add(normalizePath(sourceFile.fileName)); + } + } - // Analyze program for unused files - if (compilation.errors.length > 0) { - return; - } + compilation.hooks.finishModules.tapPromise(PLUGIN_NAME, async (modules) => { + // Rebuild any remaining AOT required modules + await this.rebuildRequiredFiles(modules, compilation, fileEmitter); - for (const webpackModule of modules) { - const resource = (webpackModule as NormalModule).resource; - if (resource) { - this.markResourceUsed(normalizePath(resource), currentUnused); - } - } + // Clear out the Webpack compilation to avoid an extra retaining reference + state.resourceLoader?.clearParentCompilation(); - for (const unused of currentUnused) { - if (previousUnused && previousUnused.has(unused)) { - continue; - } - addWarning( - compilation, - `${unused} is part of the TypeScript compilation but it's unused.\n` + - `Add only entry points to the 'files' or 'include' properties in your tsconfig.`, - ); + // Analyze program for unused files + if (compilation.errors.length > 0) { + return; + } + + for (const webpackModule of modules) { + const resource = (webpackModule as NormalModule).resource; + if (resource) { + this.markResourceUsed(normalizePath(resource), currentUnused); } - previousUnused = currentUnused; - }); + } - // Store file emitter for loader usage - emitRegistration.update(fileEmitter); + for (const unused of currentUnused) { + if (state.previousUnused?.has(unused)) { + continue; + } + addWarning( + compilation, + `${unused} is part of the TypeScript compilation but it's unused.\n` + + `Add only entry points to the 'files' or 'include' properties in your tsconfig.`, + ); + } + state.previousUnused = currentUnused; }); + + // Store file emitter for loader usage + emitRegistration.update(fileEmitter); } private registerWithCompilation(compilation: Compilation) { From 3153f7c4969bfaf9f57140778a16fea64cf3aff3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 28 Jun 2022 13:03:05 +0000 Subject: [PATCH 0601/1388] ci: remove flakey test behaviour During testing architect isn't spawned as a new process therefore we the global state can be tained from previous runs. `es5TargetWarningsShown` which was saved in the global state caused flakiness. --- .../browser/tests/behavior/typescript-target_spec.ts | 8 ++++---- .../build_angular/src/webpack/plugins/typescript.ts | 11 +++-------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts index 68cd9304c2f8..0b1f1877cc03 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts @@ -243,11 +243,11 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { const { result, logs } = await harness.executeOnce(); expect(result?.success).toBeTrue(); - const deprecationMessages = logs.filter(({ message }) => - message.startsWith('DEPRECATED: ES5 output is deprecated'), + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('DEPRECATED: ES5 output is deprecated'), + }), ); - - expect(deprecationMessages).toHaveSize(1); }); }); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index ef8392a1ee01..eb3c9b872bfd 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -26,7 +26,6 @@ function ensureIvy(wco: WebpackConfigOptions): void { wco.tsConfig.options.enableIvy = true; } -let es5TargetWarningsShown = false; export function createIvyPlugin( wco: WebpackConfigOptions, aot: boolean, @@ -54,13 +53,9 @@ export function createIvyPlugin( // as for third-party libraries. This greatly reduces the complexity of static analysis. if (wco.scriptTarget < ScriptTarget.ES2015) { compilerOptions.target = ScriptTarget.ES2015; - if (!es5TargetWarningsShown) { - wco.logger.warn( - 'DEPRECATED: ES5 output is deprecated. Please update TypeScript `target` compiler option to ES2015 or later.', - ); - - es5TargetWarningsShown = true; - } + wco.logger.warn( + 'DEPRECATED: ES5 output is deprecated. Please update TypeScript `target` compiler option to ES2015 or later.', + ); } const fileReplacements: Record = {}; From 2b962549d3c8c4aa3814f604ef67525822a5e04d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 28 Jun 2022 13:19:00 +0000 Subject: [PATCH 0602/1388] fix(@angular-devkit/build-angular): exit localized builds when CTRL+C is pressed When using localization we setup `SIGINT` signal to delete the temporary directory. In some cases this resulted in delaying the process from exiting a couple of seconds. Closes #22216 --- .../build_angular/src/utils/i18n-options.ts | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts index 92f69bfd3c54..326cd6bb1800 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-options.ts @@ -246,15 +246,15 @@ export async function configureI18nBuild deleteTempDirectory(tempPath)); - process.once('SIGINT', () => { - deleteTempDirectory(tempPath); - - // Needed due to `ora` as otherwise process will not terminate. - process.kill(process.pid, 'SIGINT'); + process.on('exit', () => { + try { + fs.rmSync(tempPath, { force: true, recursive: true, maxRetries: 3 }); + } catch {} }); } @@ -273,13 +273,6 @@ function findLocaleDataPath(locale: string, resolver: (locale: string) => string } } -/** Remove temporary directory used for i18n processing. */ -function deleteTempDirectory(tempPath: string): void { - try { - fs.rmSync(tempPath, { force: true, recursive: true, maxRetries: 3 }); - } catch {} -} - export function loadTranslations( locale: string, desc: LocaleDescription, From 7ababc210b3eb023bfd4c8f05178cb2f75472bb2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 28 Jun 2022 13:46:08 +0000 Subject: [PATCH 0603/1388] fix(@ngtools/webpack): restore process title after NGCC is executed More context about this can be found in the following comment: https://github.com/angular/angular-cli/issues/19205#issuecomment-722727791 Closes #19205 --- .../ngtools/webpack/src/ngcc_processor.ts | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/packages/ngtools/webpack/src/ngcc_processor.ts b/packages/ngtools/webpack/src/ngcc_processor.ts index a7e9c2691f37..7a411c3802b3 100644 --- a/packages/ngtools/webpack/src/ngcc_processor.ts +++ b/packages/ngtools/webpack/src/ngcc_processor.ts @@ -117,29 +117,34 @@ export class NgccProcessor { // that we cannot setup multiple cluster masters with different options. // - We will not be able to have concurrent builds otherwise Ex: App-Shell, // as NGCC will create a lock file for both builds and it will cause builds to fails. - const { status, error } = spawnSync( - process.execPath, - [ - this.compilerNgcc.ngccMainFilePath, - '--source' /** basePath */, - this._nodeModulesDirectory, - '--properties' /** propertiesToConsider */, - ...this.propertiesToConsider, - '--first-only' /** compileAllFormats */, - '--create-ivy-entry-points' /** createNewEntryPointFormats */, - '--async', - '--tsconfig' /** tsConfigPath */, - this.tsConfigPath, - '--use-program-dependencies', - ], - { - stdio: ['inherit', process.stderr, process.stderr], - }, - ); + const originalProcessTitle = process.title; + try { + const { status, error } = spawnSync( + process.execPath, + [ + this.compilerNgcc.ngccMainFilePath, + '--source' /** basePath */, + this._nodeModulesDirectory, + '--properties' /** propertiesToConsider */, + ...this.propertiesToConsider, + '--first-only' /** compileAllFormats */, + '--create-ivy-entry-points' /** createNewEntryPointFormats */, + '--async', + '--tsconfig' /** tsConfigPath */, + this.tsConfigPath, + '--use-program-dependencies', + ], + { + stdio: ['inherit', process.stderr, process.stderr], + }, + ); - if (status !== 0) { - const errorMessage = error?.message || ''; - throw new Error(errorMessage + `NGCC failed${errorMessage ? ', see above' : ''}.`); + if (status !== 0) { + const errorMessage = error?.message || ''; + throw new Error(errorMessage + `NGCC failed${errorMessage ? ', see above' : ''}.`); + } + } finally { + process.title = originalProcessTitle; } timeEnd(timeLabel); From 43f495d57be37fa81cfade3d8e4291483a971f7c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 28 Jun 2022 10:54:30 +0000 Subject: [PATCH 0604/1388] fix(@angular-devkit/build-angular): set base-href in service worker manifest when using i18n and app-shell Previously, the base href was not set when using the app-shell builder and i18n. Closes #22389 --- .../angular_devkit/build_angular/index.md | 9 ++ .../src/builders/app-shell/index.ts | 4 +- .../src/builders/browser/index.ts | 26 +++++- .../src/builders/server/index.ts | 17 +++- .../build_angular/src/testing/test-utils.ts | 6 +- .../ivy-localize-app-shell-service-worker.ts | 90 +++++++++++++++++++ 6 files changed, 144 insertions(+), 8 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell-service-worker.ts diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 4a43ab838420..1450faeb3199 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -76,6 +76,11 @@ export type BrowserBuilderOutput = BuilderOutput & { baseOutputPath: string; outputPaths: string[]; outputPath: string; + outputs: { + locale?: string; + path: string; + baseHref: string; + }[]; }; // @public (undocumented) @@ -272,6 +277,10 @@ export type ServerBuilderOutput = BuilderOutput & { baseOutputPath: string; outputPaths: string[]; outputPath: string; + outputs: { + locale?: string; + path: string; + }[]; }; // @public (undocumented) diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index 131e71281eee..ec88c92cbcc4 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -63,7 +63,7 @@ async function _renderUniversal( }) : undefined; - for (const outputPath of browserResult.outputPaths) { + for (const { path: outputPath, baseHref } of browserResult.outputs) { const localeDirectory = path.relative(browserResult.baseOutputPath, outputPath); const browserIndexOutputPath = path.join(outputPath, 'index.html'); const indexHtml = await fs.promises.readFile(browserIndexOutputPath, 'utf8'); @@ -118,7 +118,7 @@ async function _renderUniversal( projectRoot, root, outputPath, - browserOptions.baseHref || '/', + baseHref, browserOptions.ngswConfigPath, ); } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index ba8b1ac4a507..0651ae889f8b 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -67,11 +67,20 @@ import { Schema as BrowserBuilderSchema } from './schema'; */ export type BrowserBuilderOutput = BuilderOutput & { baseOutputPath: string; + /** + * @deprecated in version 14. Use 'outputs' instead. + */ outputPaths: string[]; /** - * @deprecated in version 9. Use 'outputPaths' instead. + * @deprecated in version 9. Use 'outputs' instead. */ outputPath: string; + + outputs: { + locale?: string; + path: string; + baseHref: string; + }[]; }; /** @@ -174,6 +183,8 @@ export function buildWebpackBrowser( ({ config, projectRoot, projectSourceRoot, i18n, target, cacheOptions }) => { const normalizedOptimization = normalizeOptimization(options.optimization); + const defaultBaseHref = options.baseHref ?? '/'; + return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, logging: @@ -308,7 +319,7 @@ export function buildWebpackBrowser( for (const [locale, outputPath] of outputPaths.entries()) { try { const { content, warnings, errors } = await indexHtmlGenerator.process({ - baseHref: getLocaleBaseHref(i18n, locale) || options.baseHref, + baseHref: getLocaleBaseHref(i18n, locale) || defaultBaseHref, // i18nLocale is used when Ivy is disabled lang: locale || undefined, outputPath, @@ -352,7 +363,7 @@ export function buildWebpackBrowser( projectRoot, context.workspaceRoot, outputPath, - getLocaleBaseHref(i18n, locale) || options.baseHref || '/', + getLocaleBaseHref(i18n, locale) ?? defaultBaseHref, options.ngswConfigPath, ); } catch (error) { @@ -378,6 +389,15 @@ export function buildWebpackBrowser( baseOutputPath, outputPath: baseOutputPath, outputPaths: (outputPaths && Array.from(outputPaths.values())) || [baseOutputPath], + outputs: (outputPaths && + [...outputPaths.entries()].map(([locale, path]) => ({ + locale, + path, + baseHref: getLocaleBaseHref(i18n, locale) ?? defaultBaseHref, + }))) || { + path: baseOutputPath, + baseHref: defaultBaseHref, + }, } as BrowserBuilderOutput), ), ); diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 8bb95e58d425..10a920f64fbf 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -31,11 +31,19 @@ import { Schema as ServerBuilderOptions } from './schema'; */ export type ServerBuilderOutput = BuilderOutput & { baseOutputPath: string; + /** + * @deprecated in version 14. Use 'outputs' instead. + */ outputPaths: string[]; /** - * @deprecated in version 9. Use 'outputPaths' instead. + * @deprecated in version 9. Use 'outputs' instead. */ outputPath: string; + + outputs: { + locale?: string; + path: string; + }[]; }; export { ServerBuilderOptions }; @@ -130,6 +138,13 @@ export function execute( baseOutputPath, outputPath: baseOutputPath, outputPaths: outputPaths || [baseOutputPath], + outputs: (outputPaths && + [...outputPaths.entries()].map(([locale, path]) => ({ + locale, + path, + }))) || { + path: baseOutputPath, + }, } as ServerBuilderOutput; }), ); diff --git a/packages/angular_devkit/build_angular/src/testing/test-utils.ts b/packages/angular_devkit/build_angular/src/testing/test-utils.ts index 14de4ebeba32..3387b8cee8f9 100644 --- a/packages/angular_devkit/build_angular/src/testing/test-utils.ts +++ b/packages/angular_devkit/build_angular/src/testing/test-utils.ts @@ -83,8 +83,10 @@ export async function browserBuild( }; } - expect(output.outputPaths[0]).not.toBeUndefined(); - const outputPath = normalize(output.outputPaths[0]); + const [{ path, baseHref }] = output.outputs; + expect(baseHref).toBeTruthy(); + expect(path).toBeTruthy(); + const outputPath = normalize(path); const fileNames = await host.list(outputPath).toPromise(); const files = fileNames.reduce((acc: { [name: string]: Promise }, path) => { diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell-service-worker.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell-service-worker.ts new file mode 100644 index 000000000000..3493148b6678 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell-service-worker.ts @@ -0,0 +1,90 @@ +import { getGlobalVariable } from '../../utils/env'; +import { appendToFile, createDir, expectFileToMatch, writeFile } from '../../utils/fs'; +import { installWorkspacePackages } from '../../utils/packages'; +import { silentNg } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; +import { readNgVersion } from '../../utils/version'; + +const snapshots = require('../../ng-snapshot/package.json'); + +export default async function () { + const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; + + await updateJsonFile('package.json', (packageJson) => { + const dependencies = packageJson['dependencies']; + dependencies['@angular/localize'] = isSnapshotBuild + ? snapshots.dependencies['@angular/localize'] + : readNgVersion(); + }); + + await appendToFile('src/app/app.component.html', ''); + + // Add app-shell and service-worker + await silentNg('generate', 'app-shell'); + await silentNg('generate', 'service-worker'); + + if (isSnapshotBuild) { + await updateJsonFile('package.json', (packageJson) => { + const dependencies = packageJson['dependencies']; + dependencies['@angular/platform-server'] = snapshots.dependencies['@angular/platform-server']; + dependencies['@angular/service-worker'] = snapshots.dependencies['@angular/service-worker']; + dependencies['@angular/router'] = snapshots.dependencies['@angular/router']; + }); + } + + await installWorkspacePackages(); + + const browserBaseDir = 'dist/test-project/browser'; + + // Set configurations for each locale. + const langTranslations = [ + { lang: 'en-US', translation: 'Hello i18n!' }, + { lang: 'fr', translation: 'Bonjour i18n!' }, + ]; + + await updateJsonFile('angular.json', (workspaceJson) => { + const appProject = workspaceJson.projects['test-project']; + const appArchitect = appProject.architect; + const buildOptions = appArchitect['build'].options; + const serverOptions = appArchitect['server'].options; + + // Enable localization for all locales + buildOptions.localize = true; + buildOptions.outputHashing = 'none'; + serverOptions.localize = true; + serverOptions.outputHashing = 'none'; + + // Add locale definitions to the project + const i18n: Record = (appProject.i18n = { locales: {} }); + for (const { lang } of langTranslations) { + if (lang == 'en-US') { + i18n.sourceLocale = lang; + } else { + i18n.locales[lang] = `src/locale/messages.${lang}.xlf`; + } + } + }); + + await createDir('src/locale'); + + for (const { lang } of langTranslations) { + // dummy translation file. + await writeFile( + `src/locale/messages.${lang}.xlf`, + ` + + + + `, + ); + } + + // Build each locale and verify the SW output. + await silentNg('run', 'test-project:app-shell:development'); + for (const { lang } of langTranslations) { + await Promise.all([ + expectFileToMatch(`${browserBaseDir}/${lang}/ngsw.json`, `/${lang}/main.js`), + expectFileToMatch(`${browserBaseDir}/${lang}/ngsw.json`, `/${lang}/index.html`), + ]); + } +} From 8048ed082022de4113eb9b86d701a59c8ed14d19 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Jun 2022 05:57:45 +0000 Subject: [PATCH 0605/1388] build: update all non-major dependencies --- WORKSPACE | 6 +++--- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 21 +++++++++++++++++-- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 4cb6c1f23354..2fb09a41396b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "8cf53f6c33bce4550cbd1ad41796f044fbaaa422b96218bcc71b69e6595205bf", - strip_prefix = "bazel-lib-1.4.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.4.0.tar.gz", + sha256 = "e519592a1f0b7c27334b3a50d4d9f3f7c0d929253681e83d6fb2d60009a32f11", + strip_prefix = "bazel-lib-1.5.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.5.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 7f681402ad75..31237d2a83a3 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@angular/router": "14.0.3", "@angular/service-worker": "14.0.3", "@babel/core": "7.18.6", - "@babel/generator": "7.18.6", + "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.6", "@babel/plugin-transform-async-to-generator": "7.18.6", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e1e88ba24a4e..f3c68448d474 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,7 +11,7 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.18.6", - "@babel/generator": "7.18.6", + "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.6", "@babel/plugin-transform-async-to-generator": "7.18.6", diff --git a/yarn.lock b/yarn.lock index 02e850252511..dc11157d5429 100644 --- a/yarn.lock +++ b/yarn.lock @@ -366,7 +366,16 @@ "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" -"@babel/generator@7.18.6", "@babel/generator@^7.18.6": +"@babel/generator@7.18.7": + version "7.18.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" + integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== + dependencies: + "@babel/types" "^7.18.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.6.tgz#9ab2d46d3cbf631f0e80f72e72874a04c3fc12a9" integrity sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw== @@ -1966,6 +1975,14 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.18.7": + version "7.18.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726" + integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50" @@ -2217,7 +2234,7 @@ "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/gen-mapping@^0.3.0": +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== From f86895306eaacdf27bed3274b68d52671c4bd62b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Jun 2022 05:57:53 +0000 Subject: [PATCH 0606/1388] build: update github/codeql-action action to v2.1.15 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 7b848ce81e31..bd9c85a5c909 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@41a4ada31ba866a7f1196b9602703a89edd69e22 # tag=v2.1.14 + uses: github/codeql-action/upload-sarif@3f62b754e23e0dd60f91b744033e1dc1654c0ec6 # tag=v2.1.15 with: sarif_file: results.sarif From ecdbe721a1be10a59e7ee1b2f446b20c1e7de95b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 28 Jun 2022 16:28:09 -0400 Subject: [PATCH 0607/1388] fix(@angular-devkit/architect): complete builders on the next event loop iteration Waiting to complete the builder until the next tick allows the logging subscription to flush and provide queued logging entries to the builder consumer. --- .../architect/src/create-builder.ts | 8 ++++- .../architect/src/index_spec.ts | 32 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/architect/src/create-builder.ts b/packages/angular_devkit/architect/src/create-builder.ts index f5f19dc75c5b..6aa83bd36cab 100644 --- a/packages/angular_devkit/architect/src/create-builder.ts +++ b/packages/angular_devkit/architect/src/create-builder.ts @@ -8,7 +8,7 @@ import { analytics, experimental, json, logging } from '@angular-devkit/core'; import { Observable, Subscription, from, isObservable, of, throwError } from 'rxjs'; -import { tap } from 'rxjs/operators'; +import { mergeMap, tap } from 'rxjs/operators'; import { BuilderContext, BuilderHandlerFn, @@ -223,6 +223,12 @@ export function createBuilder { + // Allow the log queue to flush + await new Promise(setImmediate); + + return value; + }), ) .subscribe( (message) => observer.next(message as OutT), diff --git a/packages/angular_devkit/architect/src/index_spec.ts b/packages/angular_devkit/architect/src/index_spec.ts index 803bae9d1642..8e5ae5138a96 100644 --- a/packages/angular_devkit/architect/src/index_spec.ts +++ b/packages/angular_devkit/architect/src/index_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { json, schema } from '@angular-devkit/core'; +import { json, logging, schema } from '@angular-devkit/core'; import { timer } from 'rxjs'; import { map, take, tap, toArray } from 'rxjs/operators'; import { promisify } from 'util'; @@ -206,6 +206,36 @@ describe('architect', () => { expect(all.length).toBe(10); }); + it('propagates all logging entries', async () => { + const logCount = 100; + + testArchitectHost.addBuilder( + 'package:test-logging', + createBuilder(async (_, context) => { + for (let i = 0; i < logCount; ++i) { + context.logger.info(i.toString()); + } + + return { success: true }; + }), + ); + + const logger = new logging.Logger('test-logger'); + const logs: string[] = []; + logger.subscribe({ + next(entry) { + logs.push(entry.message); + }, + }); + const run = await architect.scheduleBuilder('package:test-logging', {}, { logger }); + expect(await run.result).toEqual(jasmine.objectContaining({ success: true })); + await run.stop(); + + for (let i = 0; i < logCount; ++i) { + expect(logs[i]).toBe(i.toString()); + } + }); + it('reports errors in the builder', async () => { testArchitectHost.addBuilder( 'package:error', From ab8ab30c879f04777b9a444a7f3072682ea161b5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 29 Jun 2022 11:23:41 +0000 Subject: [PATCH 0608/1388] fix(@schematics/angular): use `sourceRoot` instead of `src` in universal schematic With this change we remove the usage of hard coded `src` directory and instead infer this from the `sourceRoot` project option. We also remove the `angularCompilerOptions.entryModule` property in the server tsconfig as this is no longer needed with Ivy. Closes #12104 --- .../hello-world-app/src/tsconfig.server.json | 5 +-- .../files/root/tsconfig.server.json.template | 5 +-- .../schematics/angular/universal/index.ts | 37 ++++++++----------- .../angular/universal/index_spec.ts | 6 --- .../schematics/angular/universal/schema.json | 3 +- 5 files changed, 19 insertions(+), 37 deletions(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json index 62dc009f4ba5..0b0bc22e90b6 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json @@ -8,8 +8,5 @@ }, "files": [ "main.server.ts" - ], - "angularCompilerOptions": { - "entryModule": "app/app.server.module#AppServerModule" - } + ] } diff --git a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template index d6fc57740587..f43b41cae4ad 100644 --- a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template +++ b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template @@ -10,8 +10,5 @@ }, "files": [ "src/<%= stripTsExtension(main) %>.ts" - ], - "angularCompilerOptions": { - "entryModule": "./<%= rootInSrc ? '' : 'src/' %><%= appDir %>/<%= stripTsExtension(rootModuleFileName) %>#<%= rootModuleClassName %>" - } + ] } diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index c660995305bc..2eae32dcd947 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonValue, Path, basename, join, normalize } from '@angular-devkit/core'; +import { JsonValue, Path, basename, dirname, join, normalize } from '@angular-devkit/core'; import { Rule, SchematicContext, @@ -77,6 +77,7 @@ function updateConfigFile(options: UniversalOptions, tsConfigDirectory: Path): R } const mainPath = options.main as string; + const sourceRoot = clientProject.sourceRoot ?? join(normalize(clientProject.root), 'src'); const serverTsConfig = join(tsConfigDirectory, 'tsconfig.server.json'); clientProject.targets.add({ name: 'server', @@ -84,11 +85,7 @@ function updateConfigFile(options: UniversalOptions, tsConfigDirectory: Path): R defaultConfiguration: 'production', options: { outputPath: `dist/${options.project}/server`, - main: join( - normalize(clientProject.root), - 'src', - mainPath.endsWith('.ts') ? mainPath : mainPath + '.ts', - ), + main: join(normalize(sourceRoot), mainPath.endsWith('.ts') ? mainPath : mainPath + '.ts'), tsConfig: serverTsConfig, ...(buildTarget?.options ? getServerOptions(buildTarget?.options) : {}), }, @@ -147,12 +144,12 @@ function wrapBootstrapCall(mainFile: string): Rule { `\n${triviaWidth > 2 ? ' '.repeat(triviaWidth - 1) : ''}};\n` + ` -if (document.readyState === 'complete') { - bootstrap(); -} else { - document.addEventListener('DOMContentLoaded', bootstrap); -} -`; + if (document.readyState === 'complete') { + bootstrap(); + } else { + document.addEventListener('DOMContentLoaded', bootstrap); + } + `; // in some cases we need to cater for a trailing semicolon such as; // bootstrap().catch(err => console.log(err)); @@ -252,13 +249,6 @@ export default function (options: UniversalOptions): Rule { const clientBuildOptions = (clientBuildTarget.options || {}) as unknown as BrowserBuilderOptions; - const clientTsConfig = normalize(clientBuildOptions.tsConfig); - const tsConfigExtends = basename(clientTsConfig); - // this is needed because prior to version 8, tsconfig might have been in 'src' - // and we don't want to break the 'ng add @nguniversal/express-engine schematics' - const rootInSrc = clientProject.root === '' && clientTsConfig.includes('src/'); - const tsConfigDirectory = join(normalize(clientProject.root), rootInSrc ? 'src' : ''); - if (!options.skipInstall) { context.addTask(new NodePackageInstallTask()); } @@ -266,21 +256,24 @@ export default function (options: UniversalOptions): Rule { const templateSource = apply(url('./files/src'), [ applyTemplates({ ...strings, - ...(options as object), + ...options, stripTsExtension: (s: string) => s.replace(/\.ts$/, ''), hasLocalizePackage: !!getPackageJsonDependency(host, '@angular/localize'), }), move(join(normalize(clientProject.root), 'src')), ]); + const clientTsConfig = normalize(clientBuildOptions.tsConfig); + const tsConfigExtends = basename(clientTsConfig); + const tsConfigDirectory = dirname(clientTsConfig); + const rootSource = apply(url('./files/root'), [ applyTemplates({ ...strings, - ...(options as object), + ...options, stripTsExtension: (s: string) => s.replace(/\.ts$/, ''), tsConfigExtends, relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(tsConfigDirectory), - rootInSrc, }), move(tsConfigDirectory), ]); diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 04eb9c08d089..a9e64dc40be3 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -97,9 +97,6 @@ describe('Universal Schematic', () => { types: ['node'], }, files: ['src/main.server.ts'], - angularCompilerOptions: { - entryModule: './src/app/app.server.module#AppServerModule', - }, }); const angularConfig = JSON.parse(tree.readContent('angular.json')); expect(angularConfig.projects.workspace.architect.server.options.tsConfig).toEqual( @@ -122,9 +119,6 @@ describe('Universal Schematic', () => { types: ['node'], }, files: ['src/main.server.ts'], - angularCompilerOptions: { - entryModule: './src/app/app.server.module#AppServerModule', - }, }); const angularConfig = JSON.parse(tree.readContent('angular.json')); expect(angularConfig.projects.bar.architect.server.options.tsConfig).toEqual( diff --git a/packages/schematics/angular/universal/schema.json b/packages/schematics/angular/universal/schema.json index 16ba8cde6a30..4027e90cc296 100644 --- a/packages/schematics/angular/universal/schema.json +++ b/packages/schematics/angular/universal/schema.json @@ -29,7 +29,8 @@ "type": "string", "format": "path", "description": "The name of the application folder.", - "default": "app" + "default": "app", + "x-deprecated": "This option has no effect." }, "rootModuleFileName": { "type": "string", From a6135b2795a48588bd5af30b83c90b4ae403dd8d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 Jun 2022 05:57:25 +0000 Subject: [PATCH 0609/1388] build: update angular to d14729d --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 8 ++--- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 2548c2ba1dc6..42266be21375 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@f5e706a8bd255a86681369fabf0b8ebed4858b30 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f + - uses: angular/dev-infra/github-actions/post-approval-changes@f5e706a8bd255a86681369fabf0b8ebed4858b30 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index eb579f158a8e..15a6dc495e95 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f + - uses: angular/dev-infra/github-actions/feature-request@f5e706a8bd255a86681369fabf0b8ebed4858b30 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 0be306c821d2..6f85127ab5c3 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f + - uses: angular/dev-infra/github-actions/lock-closed@f5e706a8bd255a86681369fabf0b8ebed4858b30 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 31237d2a83a3..22c519bd9bd9 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "14.0.3", "@angular/compiler-cli": "14.0.3", "@angular/core": "14.0.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#972879f2a2a6ffd6a4f1d8a800b5917aa71b05de", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#67631cd48a5d0cab942279b1205b0e2b1736ae56", "@angular/forms": "14.0.3", "@angular/localize": "14.0.3", "@angular/material": "14.0.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index b6b1030beea8..87d43d2bc5f5 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#0ebdb7626c842cab09266d1ba6f1e7a79b183559", - "@angular/cdk": "github:angular/cdk-builds#6d8d814309a7ec5488d04dc1d42505423c33fe90", - "@angular/common": "github:angular/common-builds#26081b1884869b4e65325f8e8a5bce3acaabb5e7", - "@angular/compiler": "github:angular/compiler-builds#5b79faf96badf9e8e974c68b7c1ce21c92994a88", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#640559e54f5af242fcf500655f7b914076557771", - "@angular/core": "github:angular/core-builds#02a4c650ab17e9d68fcd9cf3e4ca815571d86327", - "@angular/forms": "github:angular/forms-builds#204719f881e20ee9268b8184dfa96c6a590d00b8", - "@angular/language-service": "github:angular/language-service-builds#0e2506ea407972a7c07cbdfd15763d71ae0382cd", - "@angular/localize": "github:angular/localize-builds#4f182b2e11cdb1d7e3a49eee49e8a1bb57a45d99", - "@angular/material": "github:angular/material-builds#8aefc9c1c8878a1caa6766895a18f74085ebd515", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b72295bc71ced3bba3df1be32b040a335710bcb9", - "@angular/platform-browser": "github:angular/platform-browser-builds#ed75a883fe5ea3f34b98e0c0f681d9ddd445ee8f", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7c1aaf1d5190e6afc09a8beed5a49bc149d9aa95", - "@angular/platform-server": "github:angular/platform-server-builds#135b6bc5fba46a2b5d42fae1f945fc222645fee9", - "@angular/router": "github:angular/router-builds#f4fb74bc234d6d7678d1ecbd25c0f9e7bb5b8658", - "@angular/service-worker": "github:angular/service-worker-builds#a1a8d211202953457c44b27783651341dbd06a5b" + "@angular/animations": "github:angular/animations-builds#d14729d1020d3add0a73adc56ae26b530d060dc7", + "@angular/cdk": "github:angular/cdk-builds#f9ec6098b6033047fde324390244449b3b1154bb", + "@angular/common": "github:angular/common-builds#142cf8213f694cdc8a49c74978b10425303b68e2", + "@angular/compiler": "github:angular/compiler-builds#a6a44248a7f562781e0b0f670f6030e91456309b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8410af7c2c6d56ff68face540d25c4d3837864da", + "@angular/core": "github:angular/core-builds#cb8941b7d70c05ec26feab1f62b3458a17fe3fba", + "@angular/forms": "github:angular/forms-builds#b43e91c1a3522f82c23dd7a2a5758eecd2d064bd", + "@angular/language-service": "github:angular/language-service-builds#60633a573a5f5ae10ccba410b29618d34b33b930", + "@angular/localize": "github:angular/localize-builds#19b2037a512cb7752599c6a4b25608557ad03aaf", + "@angular/material": "github:angular/material-builds#3e5aea8e30ab95b6756b00e27f4a02df7f438617", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5020599d6a9d12d762b1fc532a6fa7099ec74f24", + "@angular/platform-browser": "github:angular/platform-browser-builds#9507df4a3860aeebda9373dab8d379b39f155880", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c5c5995d665147fb1ff2dab9260230c211b1cbba", + "@angular/platform-server": "github:angular/platform-server-builds#7dc551ca27a27f7f11b5b3d1f659ba7226d59651", + "@angular/router": "github:angular/router-builds#08760e0dc66bacecf580332ec799b8209d598a7b", + "@angular/service-worker": "github:angular/service-worker-builds#960fc777961e9d2842ab3140d351141d9d1995fd" } } diff --git a/yarn.lock b/yarn.lock index dc11157d5429..b2669f108d05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -168,10 +168,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#972879f2a2a6ffd6a4f1d8a800b5917aa71b05de": - version "0.0.0-5f98f0cd7dad6fa133d6a7e97a37ea7de4ffa11f" - uid "972879f2a2a6ffd6a4f1d8a800b5917aa71b05de" - resolved "https://github.com/angular/dev-infra-private-builds.git#972879f2a2a6ffd6a4f1d8a800b5917aa71b05de" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#67631cd48a5d0cab942279b1205b0e2b1736ae56": + version "0.0.0-f5e706a8bd255a86681369fabf0b8ebed4858b30" + uid "67631cd48a5d0cab942279b1205b0e2b1736ae56" + resolved "https://github.com/angular/dev-infra-private-builds.git#67631cd48a5d0cab942279b1205b0e2b1736ae56" dependencies: "@angular-devkit/build-angular" "14.1.0-next.2" "@angular/benchpress" "0.3.0" From e2ae8f2f8365452a239f2d7b6e2b8ff7c20b9b06 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 29 Jun 2022 12:23:13 +0000 Subject: [PATCH 0610/1388] build: update pull request ng-dev config Updated label types to reflect changes in ng-dev --- .ng-dev/pull-request.mts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.ng-dev/pull-request.mts b/.ng-dev/pull-request.mts index a51bc5c91181..3d8c5e19d65c 100644 --- a/.ng-dev/pull-request.mts +++ b/.ng-dev/pull-request.mts @@ -9,7 +9,7 @@ export const pullRequest: PullRequestConfig = { default: 'rebase', labels: [{ pattern: 'squash commits', method: 'squash' }], }, - mergeReadyLabel: /^action: merge(-assistance)?/, - caretakerNoteLabel: /(action: merge-assistance)/, - commitMessageFixupLabel: 'commit message fixup', + mergeReadyLabel: 'action: merge', + caretakerNoteLabel: 'action: merge-assistance', + commitMessageFixupLabel: 'needs commit fixup', }; From ed3ec8f99cac12b33af5ba65ad5ab7ed8679510c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Jun 2022 10:03:19 +0000 Subject: [PATCH 0611/1388] test: remove hardcoded chrome driver version The version of the chrome driver is now determined from the webdriver-manager. --- tests/legacy-cli/e2e/utils/project.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index d3c8bb138120..29a88a5cbd83 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -48,9 +48,21 @@ export async function prepareProjectForE2e(name: string) { console.log(`Project ${name} created... Installing packages.`); await installWorkspacePackages(); - await ng('generate', 'e2e', '--related-app-name', name); + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { + chrome: { last: string }; + }; + + const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; + if (!chromeDriverVersion) { + throw new Error('Could not extract chrome webdriver version.'); + } + // Initialize selenium webdriver. // Often fails the first time so attempt twice if necessary. const runWebdriverUpdate = () => @@ -63,11 +75,11 @@ export async function prepareProjectForE2e(name: string) { '--gecko', 'false', '--versions.chrome', - '101.0.4951.41', + chromeDriverVersion, ); try { await runWebdriverUpdate(); - } catch (e) { + } catch { await runWebdriverUpdate(); } From 38c728ad2fb3e61c561e44f1f61a012ae0a67819 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 29 Jun 2022 14:50:12 -0400 Subject: [PATCH 0612/1388] docs: release notes for the v14.0.4 release --- CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbbfad2d7212..35a6861a2100 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,49 @@ + + +# 14.0.4 (2022-06-29) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [fc72c625b](https://github.com/angular/angular-cli/commit/fc72c625bb7db7b9c8d865086bcff05e2db426ee) | fix | correctly handle `--collection` option in `ng new` | +| [f5badf221](https://github.com/angular/angular-cli/commit/f5badf221d2a2f5357f93bf0e32146669f8bbede) | fix | improve global schema validation | +| [ed302ea4c](https://github.com/angular/angular-cli/commit/ed302ea4c80b4f6fe8a73c5a0d25055a7dca1db2) | fix | remove color from help epilogue | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [c58c66c0d](https://github.com/angular/angular-cli/commit/c58c66c0d5c76630453151b65b1a1c3707c82e9f) | fix | use `sourceRoot` instead of `src` in universal schematic | + +### @angular-devkit/architect + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [88acec1fd](https://github.com/angular/angular-cli/commit/88acec1fd302d7d8a053e37ed0334ec6a30c952c) | fix | complete builders on the next event loop iteration | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [694b73dfa](https://github.com/angular/angular-cli/commit/694b73dfa12e5aefff8fc5fdecf220833ac40b42) | fix | exit dev-server when CTRL+C is pressed | +| [6d4782199](https://github.com/angular/angular-cli/commit/6d4782199c4a4e92a9c0b189d6a7857ca631dd3f) | fix | exit localized builds when CTRL+C is pressed | +| [282baffed](https://github.com/angular/angular-cli/commit/282baffed507926e806db673b6804b9299c383af) | fix | hide stacktraces from webpack errors | +| [c4b0abf5b](https://github.com/angular/angular-cli/commit/c4b0abf5b8c1e392ead84c8810e8d6e615fd0024) | fix | set base-href in service worker manifest when using i18n and app-shell | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [33f1cc192](https://github.com/angular/angular-cli/commit/33f1cc192d963b4a4348bb41b8fb0969ffd5c342) | fix | restore process title after NGCC is executed | +| [6796998bf](https://github.com/angular/angular-cli/commit/6796998bf4dd829f9ac085a52ce7e9d2cda73fd1) | fix | show a compilation error on invalid TypeScript version | + +## Special Thanks + +Alan Agius, Charles Lyding and Tim Bowersox + + + # 14.1.0-next.2 (2022-06-23) From 54551bbf8325cd39cf20a519ba73698dccea9bf4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 29 Jun 2022 15:18:06 -0400 Subject: [PATCH 0613/1388] release: cut the v14.1.0-next.3 release --- CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35a6861a2100..7bc9641e1f39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,49 @@ + + +# 14.1.0-next.3 (2022-06-29) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [5a012b5fc](https://github.com/angular/angular-cli/commit/5a012b5fce2f38fa6b97c84c874e85dc726d2f0d) | fix | correctly handle `--collection` option in `ng new` | +| [8b65abe1b](https://github.com/angular/angular-cli/commit/8b65abe1b037cf00cb3c95ab98f7b6ba3ceef561) | fix | improve global schema validation | +| [4fa039b69](https://github.com/angular/angular-cli/commit/4fa039b692be8bc97d0b382f015783d12f214a65) | fix | remove color from help epilogue | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [ab8ab30c8](https://github.com/angular/angular-cli/commit/ab8ab30c879f04777b9a444a7f3072682ea161b5) | fix | use `sourceRoot` instead of `src` in universal schematic | + +### @angular-devkit/architect + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [ecdbe721a](https://github.com/angular/angular-cli/commit/ecdbe721a1be10a59e7ee1b2f446b20c1e7de95b) | fix | complete builders on the next event loop iteration | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [4fcfc37cb](https://github.com/angular/angular-cli/commit/4fcfc37cb957513cb61d01946959669559e93393) | fix | exit dev-server when CTRL+C is pressed | +| [2b962549d](https://github.com/angular/angular-cli/commit/2b962549d3c8c4aa3814f604ef67525822a5e04d) | fix | exit localized builds when CTRL+C is pressed | +| [b40aeed44](https://github.com/angular/angular-cli/commit/b40aeed4414afcb1c90c7f0c609aa78f13790f03) | fix | hide stacktraces from webpack errors | +| [43f495d57](https://github.com/angular/angular-cli/commit/43f495d57be37fa81cfade3d8e4291483a971f7c) | fix | set base-href in service worker manifest when using i18n and app-shell | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | +| [7ababc210](https://github.com/angular/angular-cli/commit/7ababc210b3eb023bfd4c8f05178cb2f75472bb2) | fix | restore process title after NGCC is executed | +| [34ecf669d](https://github.com/angular/angular-cli/commit/34ecf669ddb05da84f200d6972dbc8439007e1aa) | fix | show a compilation error on invalid TypeScript version | + +## Special Thanks + +Alan Agius, Charles Lyding, Jason Bedard, Paul Gschwendtner, Tim Bowersox and renovate[bot] + + + # 14.0.4 (2022-06-29) diff --git a/package.json b/package.json index 22c519bd9bd9..da4bc488e75b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.1.0-next.2", + "version": "14.1.0-next.3", "private": true, "description": "Software Development Kit for Angular", "bin": { From 7a246091435773ff4d669b1dfe2684b366010919 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 30 Jun 2022 09:00:27 +0000 Subject: [PATCH 0614/1388] fix(@angular-devkit/build-angular): disable glob mounting for patterns that start with a forward slash By default, a glob pattern starting with a forward slash will be "mounted" onto the system root. This causes globs to escape the workspace root. With this change we configure disable glob "mounting" and also change the root to the same setting of the `cwd`. Closes #23467 --- .../src/builders/karma/find-tests.ts | 2 ++ .../tests/options/code-coverage-exclude_spec.ts | 15 +++++++++++++++ .../builders/karma/tests/options/include_spec.ts | 4 ++++ .../build_angular/src/utils/copy-assets.ts | 11 +++++------ .../build_angular/src/webpack/utils/helpers.ts | 6 +++--- 5 files changed, 29 insertions(+), 9 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts b/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts index c74eff095d21..8c3fd18d3acc 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts @@ -66,6 +66,8 @@ async function findMatchingTests( return globPromise(normalizedPattern, { cwd: projectSourceRoot, + root: projectSourceRoot, + nomount: true, }); } diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/code-coverage-exclude_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/code-coverage-exclude_spec.ts index 803f8937132f..db43d5f33b46 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/code-coverage-exclude_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/code-coverage-exclude_spec.ts @@ -37,6 +37,21 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { harness.expectFile(coveragePath).content.not.toContain('app.component.ts'); }); + it('should exclude file from coverage when set when glob starts with a forward slash', async () => { + harness.useTarget('test', { + ...BASE_OPTIONS, + codeCoverage: true, + codeCoverageExclude: ['/**/app.component.ts'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + await setTimeoutPromise(1000); + harness.expectFile(coveragePath).content.not.toContain('app.component.ts'); + }); + it('should not exclude file from coverage when set', async () => { harness.useTarget('test', { ...BASE_OPTIONS, diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts index f9af40f861c8..bf0484eb28a6 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts @@ -54,6 +54,10 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { test: 'glob with spec suffix', input: ['**/*.pipe.spec.ts', '**/*.pipe.spec.ts', '**/*test.service.spec.ts'], }, + { + test: 'glob with forward slash and spec suffix', + input: ['/**/*test.service.spec.ts'], + }, ].forEach((options, index) => { it(`should work with ${options.test} (${index})`, async () => { await harness.writeFiles({ diff --git a/packages/angular_devkit/build_angular/src/utils/copy-assets.ts b/packages/angular_devkit/build_angular/src/utils/copy-assets.ts index ea23223a54f4..be8ab1799459 100644 --- a/packages/angular_devkit/build_angular/src/utils/copy-assets.ts +++ b/packages/angular_devkit/build_angular/src/utils/copy-assets.ts @@ -9,12 +9,9 @@ import * as fs from 'fs'; import glob from 'glob'; import * as path from 'path'; +import { promisify } from 'util'; -function globAsync(pattern: string, options: glob.IOptions) { - return new Promise((resolve, reject) => - glob(pattern, options, (e, m) => (e ? reject(e) : resolve(m))), - ); -} +const globPromise = promisify(glob); export async function copyAssets( entries: { @@ -33,10 +30,12 @@ export async function copyAssets( for (const entry of entries) { const cwd = path.resolve(root, entry.input); - const files = await globAsync(entry.glob, { + const files = await globPromise(entry.glob, { cwd, dot: true, nodir: true, + root: cwd, + nomount: true, ignore: entry.ignore ? defaultIgnore.concat(entry.ignore) : defaultIgnore, follow: entry.followSymlinks, }); diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index 16c0978bef2b..9fc774bb8369 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -121,15 +121,15 @@ export function assetNameTemplateFactory(hashFormat: HashFormat): (resourcePath: } export function getInstrumentationExcludedPaths( - sourceRoot: string, + root: string, excludedPaths: string[], ): Set { const excluded = new Set(); for (const excludeGlob of excludedPaths) { glob - .sync(excludeGlob, { nodir: true, cwd: sourceRoot }) - .forEach((p) => excluded.add(path.join(sourceRoot, p))); + .sync(excludeGlob, { nodir: true, cwd: root, root, nomount: true }) + .forEach((p) => excluded.add(path.join(root, p))); } return excluded; From 88701115c69ced4bbc1bea07e4ef8941a2b54771 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 30 Jun 2022 12:13:22 +0000 Subject: [PATCH 0615/1388] fix(@angular-devkit/build-angular): don't override base-href in HTML when it's not set in builder With this change we fix a regression were we set the base-href to `/` when the browser builder `baseHref` option is not set. Closes #23475 --- .../src/builders/app-shell/index.ts | 2 +- .../src/builders/browser/index.ts | 12 +++++------ .../builders/browser/specs/base-href_spec.ts | 21 +++++++++++++++++++ .../build_angular/src/testing/test-utils.ts | 3 +-- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index ec88c92cbcc4..37b1c7cb29e5 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -118,7 +118,7 @@ async function _renderUniversal( projectRoot, root, outputPath, - baseHref, + baseHref ?? '/', browserOptions.ngswConfigPath, ); } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 0651ae889f8b..34f21b81543c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -79,7 +79,7 @@ export type BrowserBuilderOutput = BuilderOutput & { outputs: { locale?: string; path: string; - baseHref: string; + baseHref?: string; }[]; }; @@ -183,8 +183,6 @@ export function buildWebpackBrowser( ({ config, projectRoot, projectSourceRoot, i18n, target, cacheOptions }) => { const normalizedOptimization = normalizeOptimization(options.optimization); - const defaultBaseHref = options.baseHref ?? '/'; - return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, logging: @@ -319,7 +317,7 @@ export function buildWebpackBrowser( for (const [locale, outputPath] of outputPaths.entries()) { try { const { content, warnings, errors } = await indexHtmlGenerator.process({ - baseHref: getLocaleBaseHref(i18n, locale) || defaultBaseHref, + baseHref: getLocaleBaseHref(i18n, locale) ?? options.baseHref, // i18nLocale is used when Ivy is disabled lang: locale || undefined, outputPath, @@ -363,7 +361,7 @@ export function buildWebpackBrowser( projectRoot, context.workspaceRoot, outputPath, - getLocaleBaseHref(i18n, locale) ?? defaultBaseHref, + getLocaleBaseHref(i18n, locale) ?? options.baseHref ?? '/', options.ngswConfigPath, ); } catch (error) { @@ -393,10 +391,10 @@ export function buildWebpackBrowser( [...outputPaths.entries()].map(([locale, path]) => ({ locale, path, - baseHref: getLocaleBaseHref(i18n, locale) ?? defaultBaseHref, + baseHref: getLocaleBaseHref(i18n, locale) ?? options.baseHref, }))) || { path: baseOutputPath, - baseHref: defaultBaseHref, + baseHref: options.baseHref, }, } as BrowserBuilderOutput), ), diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts index bb8b6e784171..536ea0c5ae16 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts @@ -39,6 +39,27 @@ describe('Browser Builder base href', () => { await run.stop(); }); + it('should not override base href in HTML when option is not set', async () => { + host.writeMultipleFiles({ + 'src/index.html': ` + + + + + `, + }); + + const run = await architect.scheduleTarget(targetSpec); + const output = (await run.result) as BrowserBuilderOutput; + + expect(output.success).toBeTrue(); + const fileName = join(normalize(output.outputs[0].path), 'index.html'); + const content = virtualFs.fileBufferToString(await host.read(fileName).toPromise()); + expect(content).toContain(``); + + await run.stop(); + }); + it('should insert base href in the the correct position', async () => { host.writeMultipleFiles({ 'src/index.html': tags.oneLine` diff --git a/packages/angular_devkit/build_angular/src/testing/test-utils.ts b/packages/angular_devkit/build_angular/src/testing/test-utils.ts index 3387b8cee8f9..c83d76f8d9c3 100644 --- a/packages/angular_devkit/build_angular/src/testing/test-utils.ts +++ b/packages/angular_devkit/build_angular/src/testing/test-utils.ts @@ -83,8 +83,7 @@ export async function browserBuild( }; } - const [{ path, baseHref }] = output.outputs; - expect(baseHref).toBeTruthy(); + const [{ path }] = output.outputs; expect(path).toBeTruthy(); const outputPath = normalize(path); From d6b9306de6ec380fd79ae43eec644134207f188b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 30 Jun 2022 12:26:23 +0000 Subject: [PATCH 0616/1388] test(@angular-devkit/build-angular): update golden file --- goldens/public-api/angular_devkit/build_angular/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 1450faeb3199..bfd2d1f2c2f4 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -79,7 +79,7 @@ export type BrowserBuilderOutput = BuilderOutput & { outputs: { locale?: string; path: string; - baseHref: string; + baseHref?: string; }[]; }; From ef248e059c047c9c9ae039f93f51bb105e576574 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 30 Jun 2022 13:03:40 +0000 Subject: [PATCH 0617/1388] build: add bazel config that disabled sharding and flaky re-runs This is useful when running tests locally as otherwise 50 workers are spawned when running the `//packages/angular_devkit/build_angular:build_angular_browser_test` target even when having an `fit` on a single test. This also disabled re-runs on flaky tests. --- .bazelrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.bazelrc b/.bazelrc index 15db5f189022..ef377b58e139 100644 --- a/.bazelrc +++ b/.bazelrc @@ -8,6 +8,10 @@ build --strategy=TypeScriptCompile=worker # Enable debugging tests with --config=debug test:debug --test_arg=--node_options=--inspect-brk --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results +# Enable debugging tests with --config=no-sharding +# The below is useful to while using `fit` and `fdescribe` to avoid sharing and re-runs of failed flaky tests. +test:no-sharding --flaky_test_attempts=1 --test_sharding_strategy=disabled + ############################### # Filesystem interactions # ############################### From 720cfdde2c5c0d1e9fe3bb9a00650f096f653ab0 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 30 Jun 2022 12:58:59 +0000 Subject: [PATCH 0618/1388] build: account for rename of `angular/code-of-conduct` default branch We just renamed the Angular code of conduct repository default branch to `main`. This repository was not part of the large migration and is now handled separately as a little clean-up. --- CONTRIBUTING.md | 2 +- scripts/templates/contributing.ejs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8764c8c6f4ff..16fb93f8fdf4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -289,7 +289,7 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise [print, sign and one of scan+email, fax or mail the form][corporate-cla]. -[coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md +[coc]: https://github.com/angular/code-of-conduct/blob/main/CODE_OF_CONDUCT.md [commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit# [corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html [dev-doc]: https://github.com/angular/angular-cli/blob/main/packages/angular/cli/README.md#development-hints-for-working-on-angular-cli diff --git a/scripts/templates/contributing.ejs b/scripts/templates/contributing.ejs index c3e0954f8139..ae979919001a 100644 --- a/scripts/templates/contributing.ejs +++ b/scripts/templates/contributing.ejs @@ -281,7 +281,7 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise [print, sign and one of scan+email, fax or mail the form][corporate-cla]. -[coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md +[coc]: https://github.com/angular/code-of-conduct/blob/main/CODE_OF_CONDUCT.md [commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit# [corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html [dev-doc]: https://github.com/angular/angular-cli/blob/main/packages/angular/cli/README.md#development-hints-for-working-on-angular-cli From 93ba050b0c6b58274661d2063174920d191a7639 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 30 Jun 2022 13:07:27 +0000 Subject: [PATCH 0619/1388] fix(@angular/cli): show deprecated workspace config options in IDE With this change deprecated options in angular.json will be visible in the IDE. --- tools/ng_cli_schema_generator.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/tools/ng_cli_schema_generator.js b/tools/ng_cli_schema_generator.js index 12fdf0cd8fdf..99c478eb7472 100644 --- a/tools/ng_cli_schema_generator.js +++ b/tools/ng_cli_schema_generator.js @@ -39,10 +39,11 @@ function generate(inPath, outPath) { throw new Error(`Error while resolving $ref ${value} in ${nestedSchemaPath}.`); } case '$id': - case '$id': - case '$schema': case 'id': + case '$schema': case 'required': + case 'x-prompt': + case 'x-user-analytics': return undefined; default: return value; @@ -69,7 +70,22 @@ function generate(inPath, outPath) { outPath = resolve(buildWorkspaceDirectory, outPath); mkdirSync(dirname(outPath), { recursive: true }); - writeFileSync(outPath, JSON.stringify(schemaParsed, undefined, 2)); + writeFileSync( + outPath, + JSON.stringify( + schemaParsed, + (key, value) => { + if (key === 'x-deprecated') { + // Needed for IDEs, and will be replaced to 'deprecated' later on. This must be a boolean. + // https://json-schema.org/draft/2020-12/json-schema-validation.html#name-deprecated + return !!value; + } + + return value; + }, + 2, + ).replace(/"x-deprecated"/g, '"deprecated"'), + ); } if (require.main === module) { From 53e9c459d6b5fae3884128beaa941c71cd6562cc Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 30 Jun 2022 16:03:42 -0400 Subject: [PATCH 0620/1388] fix(@angular-devkit/build-angular): support hidden component stylesheet sourcemaps with esbuild builder The hidden stylesheet option was incorrectly being ignored for component stylesheets when using the experimental esbuild-based browser application builder. The hidden option will now correctly not include the stylesheet comment within the stylesheet text for components. --- .../build_angular/src/builders/browser-esbuild/index.ts | 6 +++++- .../src/builders/browser-esbuild/stylesheets.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 32096e2784a3..e19939cfea4f 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -328,7 +328,11 @@ async function bundleCode( { workspaceRoot, optimization: !!optimizationOptions.styles.minify, - sourcemap: !!sourcemapOptions.styles, + sourcemap: + // Hidden component stylesheet sourcemaps are inaccessible which is effectively + // the same as being disabled. Disabling has the advantage of avoiding the overhead + // of sourcemap processing. + !!sourcemapOptions.styles && (sourcemapOptions.hidden ? false : 'inline'), outputNames, }, ), diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 86c158598176..ecf2082722a2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -14,7 +14,7 @@ export interface BundleStylesheetOptions { workspaceRoot?: string; optimization: boolean; preserveSymlinks?: boolean; - sourcemap: boolean | 'external'; + sourcemap: boolean | 'external' | 'inline'; outputNames?: { bundles?: string; media?: string }; } From dbe0dc174339d872426501c1c1dca689db2b9bad Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 1 Jul 2022 09:14:48 +0000 Subject: [PATCH 0621/1388] fix(@angular/cli): improve error message for project-specific ng commands when run outside of a project With this change we improve the error message when a project for command cannot be determined ``` Error: Cannot determine project for command. This is a multi-project workspace and more than one project supports this command. Run "ng build [project]" to execute the command for a specific project or change the current working directory to a project directory. Available projects are: - project-name-0 - project-name-1 - project-name-2 - project-name-3 - project-name-4 - project-name-5 - project-name-6 - project-name-7 - project-name-8 - project-name-9 ``` Closes #23481 --- .../src/command-builder/architect-command-module.ts | 10 ++++++++-- .../commands/project-cannot-be-determined-by-cwd.ts | 5 ++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/src/command-builder/architect-command-module.ts b/packages/angular/cli/src/command-builder/architect-command-module.ts index abd3d2c41fb4..a57c74f0eeef 100644 --- a/packages/angular/cli/src/command-builder/architect-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-command-module.ts @@ -144,8 +144,14 @@ export abstract class ArchitectCommandModule if (!getYargsCompletions && !help) { // Only issue the below error when not in help / completion mode. throw new CommandModuleError( - 'Cannot determine project for command. ' + - 'Pass the project name as a command line argument or change the current working directory to a project directory.', + 'Cannot determine project for command.\n' + + 'This is a multi-project workspace and more than one project supports this command. ' + + `Run "ng ${this.command}" to execute the command for a specific project or change the current ` + + 'working directory to a project directory.\n\n' + + `Available projects are:\n${allProjectsForTargetName + .sort() + .map((p) => `- ${p}`) + .join('\n')}`, ); } } diff --git a/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts b/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts index e75e869fcb75..40ccce6640da 100644 --- a/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts +++ b/tests/legacy-cli/e2e/tests/commands/project-cannot-be-determined-by-cwd.ts @@ -1,13 +1,12 @@ import { join } from 'path'; -import { expectFileNotToExist, expectFileToExist } from '../../utils/fs'; import { execAndWaitForOutputToMatch, ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; export default async function () { const errorMessage = - 'Cannot determine project for command. ' + - 'Pass the project name as a command line argument or change the current working directory to a project directory'; + 'Cannot determine project for command.\n' + + 'This is a multi-project workspace and more than one project supports this command.'; // Delete root project await updateJsonFile('angular.json', (workspaceJson) => { From 5319428e14a7e364a58caa8ca936964cfc5503cf Mon Sep 17 00:00:00 2001 From: JoostK Date: Fri, 1 Jul 2022 18:23:10 +0200 Subject: [PATCH 0622/1388] fix(@ngtools/webpack): do not run ngcc when `node_modules` does not exist Prior to this change the CLI would fail with an error when ngcc could not be run due to a missing `node_modules` directory, as is the case with Yarn Plug'n'Play for example. The workaround was to create an empty `node_modules` directory, but this is inconvenient and shouldn't make any difference. This commit removes the error and simply skips ngcc processing. --- packages/ngtools/webpack/src/ngcc_processor.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/ngtools/webpack/src/ngcc_processor.ts b/packages/ngtools/webpack/src/ngcc_processor.ts index 7a411c3802b3..03dd89114997 100644 --- a/packages/ngtools/webpack/src/ngcc_processor.ts +++ b/packages/ngtools/webpack/src/ngcc_processor.ts @@ -32,7 +32,7 @@ type ResolverWithOptions = ReturnType; export class NgccProcessor { private _processedModules = new Set(); private _logger: NgccLogger; - private _nodeModulesDirectory: string; + private _nodeModulesDirectory: string | null; constructor( private readonly compilerNgcc: typeof import('@angular/compiler-cli/ngcc'), @@ -54,8 +54,10 @@ export class NgccProcessor { /** Process the entire node modules tree. */ process() { - // Under Bazel when running in sandbox mode parts of the filesystem is read-only. - if (process.env.BAZEL_TARGET) { + // Under Bazel when running in sandbox mode parts of the filesystem is read-only, or when using + // Yarn PnP there may not be a node_modules directory. ngcc can't run in those cases, so the + // processing is skipped. + if (process.env.BAZEL_TARGET || !this._nodeModulesDirectory) { return; } @@ -162,18 +164,20 @@ export class NgccProcessor { } } - /** Process a module and it's depedencies. */ + /** Process a module and its dependencies. */ processModule( moduleName: string, resolvedModule: ts.ResolvedModule | ts.ResolvedTypeReferenceDirective, ): void { const resolvedFileName = resolvedModule.resolvedFileName; if ( + !this._nodeModulesDirectory || !resolvedFileName || moduleName.startsWith('.') || this._processedModules.has(resolvedFileName) ) { - // Skip when module is unknown, relative or NGCC compiler is not found or already processed. + // Skip when module_modules directory is not present, module is unknown, relative or the + // NGCC compiler is not found or already processed. return; } @@ -232,7 +236,7 @@ export class NgccProcessor { } } - private findNodeModulesDirectory(startPoint: string): string { + private findNodeModulesDirectory(startPoint: string): string | null { let current = startPoint; while (path.dirname(current) !== current) { const nodePath = path.join(current, 'node_modules'); @@ -243,7 +247,7 @@ export class NgccProcessor { current = path.dirname(current); } - throw new Error(`Cannot locate the 'node_modules' directory.`); + return null; } private findPackageManagerLockFile(projectBasePath: string): { From 3be30cd2b9c6250861abb689fa0e8815b9e8fa2d Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Mon, 4 Jul 2022 11:16:10 +0000 Subject: [PATCH 0623/1388] build: enable renovate dependency dashboard Enable the Renovate dashboard to see what we are missing/what is going on after switching to the self-hosted runner. Renovate might avoid some PRs due to previously-closed old PRs with the official Mend renovate app operating on upstream branches. Also provide the Renovate schema. --- renovate.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 32a5d49def1d..c06fd7d0a192 100644 --- a/renovate.json +++ b/renovate.json @@ -1,13 +1,15 @@ { + "$schema": "https://docs.renovatebot.com/renovate-schema.json", "rangeStrategy": "replace", "semanticCommits": "enabled", "semanticCommitType": "build", - "semanticCommitScope": null, + "semanticCommitScope": "", "separateMajorMinor": false, "prHourlyLimit": 2, "labels": ["target: minor", "action: merge"], "timezone": "America/Tijuana", "lockFileMaintenance": { "enabled": true }, + "dependencyDashboard": true, "schedule": ["after 10:00pm every weekday", "before 4:00am every weekday", "every weekend"], "baseBranches": ["main"], "ignoreDeps": ["@types/node", "quicktype-core"], From 9fe380cbbbaa863f5487c355be0fcfa7029d4585 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 4 Jul 2022 12:49:57 +0000 Subject: [PATCH 0624/1388] build: update all non-major dependencies --- package.json | 14 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 262 +++++++++++++----- 3 files changed, 209 insertions(+), 73 deletions(-) diff --git a/package.json b/package.json index da4bc488e75b..3fbc39b6c9a5 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.30.0", - "@typescript-eslint/parser": "5.30.0", + "@typescript-eslint/eslint-plugin": "5.30.4", + "@typescript-eslint/parser": "5.30.4", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -139,9 +139,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.47", - "esbuild-wasm": "0.14.47", - "eslint": "8.18.0", + "esbuild": "0.14.48", + "esbuild-wasm": "0.14.48", + "eslint": "8.19.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -190,7 +190,7 @@ "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.1.1", + "puppeteer": "15.3.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -218,7 +218,7 @@ "verdaccio-auth-memory": "^10.0.0", "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.2", + "webpack-dev-server": "4.9.3", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f3c68448d474..5c242556d483 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.47", + "esbuild-wasm": "0.14.48", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -65,12 +65,12 @@ "tslib": "2.4.0", "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.2", + "webpack-dev-server": "4.9.3", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.47" + "esbuild": "0.14.48" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index b2669f108d05..dc6875fd6005 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3217,14 +3217,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.0.tgz#524a11e15c09701733033c96943ecf33f55d9ca1" - integrity sha512-lvhRJ2pGe2V9MEU46ELTdiHgiAFZPKtLhiU5wlnaYpMc2+c1R8fh8i80ZAa665drvjHKUJyRRGg3gEm1If54ow== - dependencies: - "@typescript-eslint/scope-manager" "5.30.0" - "@typescript-eslint/type-utils" "5.30.0" - "@typescript-eslint/utils" "5.30.0" +"@typescript-eslint/eslint-plugin@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.4.tgz#a46c8c0ab755a936cb63786a6222876ce51675e4" + integrity sha512-xjujQISAIa4HAaos8fcMZXmqkuZqMx6icdxkI88jMM/eNe4J8AuTLYnLK+zdm0mBYLyctdFf//UE4/xFCcQzYQ== + dependencies: + "@typescript-eslint/scope-manager" "5.30.4" + "@typescript-eslint/type-utils" "5.30.4" + "@typescript-eslint/utils" "5.30.4" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -3232,69 +3232,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.0.tgz#a2184fb5f8ef2bf1db0ae61a43907e2e32aa1b8f" - integrity sha512-2oYYUws5o2liX6SrFQ5RB88+PuRymaM2EU02/9Ppoyu70vllPnHVO7ioxDdq/ypXHA277R04SVjxvwI8HmZpzA== +"@typescript-eslint/parser@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.4.tgz#659411e8700b22c8d5400798ef24838425bf4567" + integrity sha512-/ge1HtU63wVoED4VnlU2o+FPFmi017bPYpeSrCmd8Ycsti4VSxXrmcpXXm7JpI4GT0Aa7qviabv1PEp6L5bboQ== dependencies: - "@typescript-eslint/scope-manager" "5.30.0" - "@typescript-eslint/types" "5.30.0" - "@typescript-eslint/typescript-estree" "5.30.0" + "@typescript-eslint/scope-manager" "5.30.4" + "@typescript-eslint/types" "5.30.4" + "@typescript-eslint/typescript-estree" "5.30.4" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.0.tgz#bf585ee801ab4ad84db2f840174e171a6bb002c7" - integrity sha512-3TZxvlQcK5fhTBw5solQucWSJvonXf5yua5nx8OqK94hxdrT7/6W3/CS42MLd/f1BmlmmbGEgQcTHHCktUX5bQ== +"@typescript-eslint/scope-manager@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.4.tgz#8140efd2bc12d41d74e8af23872a89f3edbe552e" + integrity sha512-DNzlQwGSiGefz71JwaHrpcaAX3zYkEcy8uVuan3YMKOa6qeW/y+7SaD8KIsIAruASwq6P+U4BjWBWtM2O+mwBQ== dependencies: - "@typescript-eslint/types" "5.30.0" - "@typescript-eslint/visitor-keys" "5.30.0" + "@typescript-eslint/types" "5.30.4" + "@typescript-eslint/visitor-keys" "5.30.4" -"@typescript-eslint/type-utils@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.0.tgz#98f3af926a5099153f092d4dad87148df21fbaae" - integrity sha512-GF8JZbZqSS+azehzlv/lmQQ3EU3VfWYzCczdZjJRxSEeXDQkqFhCBgFhallLDbPwQOEQ4MHpiPfkjKk7zlmeNg== +"@typescript-eslint/type-utils@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.4.tgz#00ff19073cd01f7d27e9af49ce08d6a69f1e4f01" + integrity sha512-55cf1dZviwwv+unDB+mF8vZkfta5muTK6bppPvenWWCD7slZZ0DEsXUjZerqy7Rq8s3J4SXdg4rMIY8ngCtTmA== dependencies: - "@typescript-eslint/utils" "5.30.0" + "@typescript-eslint/utils" "5.30.4" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.0.tgz#db7d81d585a3da3801432a9c1d2fafbff125e110" - integrity sha512-vfqcBrsRNWw/LBXyncMF/KrUTYYzzygCSsVqlZ1qGu1QtGs6vMkt3US0VNSQ05grXi5Yadp3qv5XZdYLjpp8ag== +"@typescript-eslint/types@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.4.tgz#3bc99eca8ba3fcfd6a21480e216b09dab81c3999" + integrity sha512-NTEvqc+Vvu8Q6JeAKryHk2eqLKqsr2St3xhIjhOjQv5wQUBhaTuix4WOSacqj0ONWfKVU12Eug3LEAB95GBkMA== -"@typescript-eslint/typescript-estree@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.0.tgz#4565ee8a6d2ac368996e20b2344ea0eab1a8f0bb" - integrity sha512-hDEawogreZB4n1zoqcrrtg/wPyyiCxmhPLpZ6kmWfKF5M5G0clRLaEexpuWr31fZ42F96SlD/5xCt1bT5Qm4Nw== +"@typescript-eslint/typescript-estree@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.4.tgz#ac4be8a2f8fb1f1c3b346d5992a36163121ddb3f" + integrity sha512-V4VnEs6/J9/nNizaA12IeU4SAeEYaiKr7XndLNfV5+3zZSB4hIu6EhHJixTKhvIqA+EEHgBl6re8pivBMLLO1w== dependencies: - "@typescript-eslint/types" "5.30.0" - "@typescript-eslint/visitor-keys" "5.30.0" + "@typescript-eslint/types" "5.30.4" + "@typescript-eslint/visitor-keys" "5.30.4" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.0.tgz#1dac771fead5eab40d31860716de219356f5f754" - integrity sha512-0bIgOgZflLKIcZsWvfklsaQTM3ZUbmtH0rJ1hKyV3raoUYyeZwcjQ8ZUJTzS7KnhNcsVT1Rxs7zeeMHEhGlltw== +"@typescript-eslint/utils@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.4.tgz#07a2b7ce80b2527ea506829f190591b76c70ba9f" + integrity sha512-a+GQrJzOUhn4WT1mUumXDyam+22Oo4c5K/jnZ+6r/4WTQF3q8e4CsC9PLHb4SnOClzOqo/5GLZWvkE1aa5UGKQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.0" - "@typescript-eslint/types" "5.30.0" - "@typescript-eslint/typescript-estree" "5.30.0" + "@typescript-eslint/scope-manager" "5.30.4" + "@typescript-eslint/types" "5.30.4" + "@typescript-eslint/typescript-estree" "5.30.4" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.0.tgz#07721d23daca2ec4c2da7f1e660d41cd78bacac3" - integrity sha512-6WcIeRk2DQ3pHKxU1Ni0qMXJkjO/zLjBymlYBy/53qxe7yjEFSvzKLDToJjURUhSl2Fzhkl4SMXQoETauF74cw== +"@typescript-eslint/visitor-keys@5.30.4": + version "5.30.4" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.4.tgz#b4969df1a440cc999d4bb7f7b7932dce05537089" + integrity sha512-ulKGse3mruSc8x6l8ORSc6+1ORyJzKmZeIaRTu/WpaF/jx3vHvEn5XZUKF9XaVg2710mFmTAUlLcLYLPp/Zf/Q== dependencies: - "@typescript-eslint/types" "5.30.0" + "@typescript-eslint/types" "5.30.4" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -4575,6 +4575,11 @@ connect-history-api-fallback@^1, connect-history-api-fallback@^1.6.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + connect@3.6.6: version "3.6.6" resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" @@ -5390,6 +5395,11 @@ esbuild-android-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b" integrity sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g== +esbuild-android-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.48.tgz#7e6394a0e517f738641385aaf553c7e4fb6d1ae3" + integrity sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg== + esbuild-android-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" @@ -5400,6 +5410,11 @@ esbuild-android-arm64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6" integrity sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ== +esbuild-android-arm64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" + integrity sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g== + esbuild-darwin-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" @@ -5410,6 +5425,11 @@ esbuild-darwin-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188" integrity sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA== +esbuild-darwin-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" + integrity sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA== + esbuild-darwin-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" @@ -5420,6 +5440,11 @@ esbuild-darwin-arm64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz#cd40fd49a672fca581ed202834239dfe540a9028" integrity sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw== +esbuild-darwin-arm64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" + integrity sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA== + esbuild-freebsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" @@ -5430,6 +5455,11 @@ esbuild-freebsd-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67" integrity sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ== +esbuild-freebsd-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" + integrity sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA== + esbuild-freebsd-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" @@ -5440,6 +5470,11 @@ esbuild-freebsd-arm64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6" integrity sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ== +esbuild-freebsd-arm64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" + integrity sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw== + esbuild-linux-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" @@ -5450,6 +5485,11 @@ esbuild-linux-32@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58" integrity sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw== +esbuild-linux-32@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" + integrity sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ== + esbuild-linux-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" @@ -5460,6 +5500,11 @@ esbuild-linux-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1" integrity sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw== +esbuild-linux-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" + integrity sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug== + esbuild-linux-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" @@ -5470,6 +5515,11 @@ esbuild-linux-arm64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a" integrity sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw== +esbuild-linux-arm64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" + integrity sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw== + esbuild-linux-arm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" @@ -5480,6 +5530,11 @@ esbuild-linux-arm@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853" integrity sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA== +esbuild-linux-arm@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" + integrity sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw== + esbuild-linux-mips64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" @@ -5490,6 +5545,11 @@ esbuild-linux-mips64le@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823" integrity sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg== +esbuild-linux-mips64le@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" + integrity sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA== + esbuild-linux-ppc64le@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" @@ -5500,6 +5560,11 @@ esbuild-linux-ppc64le@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b" integrity sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w== +esbuild-linux-ppc64le@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" + integrity sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ== + esbuild-linux-riscv64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" @@ -5510,6 +5575,11 @@ esbuild-linux-riscv64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f" integrity sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g== +esbuild-linux-riscv64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" + integrity sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA== + esbuild-linux-s390x@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" @@ -5520,6 +5590,11 @@ esbuild-linux-s390x@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f" integrity sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw== +esbuild-linux-s390x@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" + integrity sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g== + esbuild-netbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" @@ -5530,6 +5605,11 @@ esbuild-netbsd-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8" integrity sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ== +esbuild-netbsd-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" + integrity sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw== + esbuild-openbsd-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" @@ -5540,6 +5620,11 @@ esbuild-openbsd-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5" integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw== +esbuild-openbsd-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" + integrity sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA== + esbuild-sunos-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" @@ -5550,12 +5635,22 @@ esbuild-sunos-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa" integrity sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ== +esbuild-sunos-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" + integrity sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA== + esbuild-wasm@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== -esbuild-wasm@0.14.47, esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" + integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== + +esbuild-wasm@^0.14.29: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.47.tgz#b5bbcd081f64105571378db843fa16ed0af886a6" integrity sha512-ndSsgVpyelWrhmlJ99FGNVwXQryJfWi7edP0ity+42fXDkl67ybo5t/jKIliOSmPsEpOTsnLhlPnW4uf5tfu8A== @@ -5570,6 +5665,11 @@ esbuild-windows-32@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f" integrity sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ== +esbuild-windows-32@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.48.tgz#021ffceb0a3f83078262870da88a912293c57475" + integrity sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg== + esbuild-windows-64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" @@ -5580,6 +5680,11 @@ esbuild-windows-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a" integrity sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ== +esbuild-windows-64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" + integrity sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA== + esbuild-windows-arm64@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" @@ -5590,6 +5695,11 @@ esbuild-windows-arm64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878" integrity sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ== +esbuild-windows-arm64@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" + integrity sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g== + esbuild@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" @@ -5616,7 +5726,33 @@ esbuild@0.14.42: esbuild-windows-64 "0.14.42" esbuild-windows-arm64 "0.14.42" -esbuild@0.14.47, esbuild@^0.14.29: +esbuild@0.14.48: + version "0.14.48" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" + integrity sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA== + optionalDependencies: + esbuild-android-64 "0.14.48" + esbuild-android-arm64 "0.14.48" + esbuild-darwin-64 "0.14.48" + esbuild-darwin-arm64 "0.14.48" + esbuild-freebsd-64 "0.14.48" + esbuild-freebsd-arm64 "0.14.48" + esbuild-linux-32 "0.14.48" + esbuild-linux-64 "0.14.48" + esbuild-linux-arm "0.14.48" + esbuild-linux-arm64 "0.14.48" + esbuild-linux-mips64le "0.14.48" + esbuild-linux-ppc64le "0.14.48" + esbuild-linux-riscv64 "0.14.48" + esbuild-linux-s390x "0.14.48" + esbuild-netbsd-64 "0.14.48" + esbuild-openbsd-64 "0.14.48" + esbuild-sunos-64 "0.14.48" + esbuild-windows-32 "0.14.48" + esbuild-windows-64 "0.14.48" + esbuild-windows-arm64 "0.14.48" + +esbuild@^0.14.29: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.47.tgz#0d6415f6bd8eb9e73a58f7f9ae04c5276cda0e4d" integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA== @@ -5764,10 +5900,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.18.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.18.0.tgz#78d565d16c993d0b73968c523c0446b13da784fd" - integrity sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA== +eslint@8.19.0: + version "8.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.19.0.tgz#7342a3cbc4fbc5c106a1eefe0fd0b50b6b1a7d28" + integrity sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" @@ -9791,10 +9927,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.1.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.1.1.tgz#f995fc3e5794649c4689b87ad29bd083065e53c7" - integrity sha512-XMysu48uIcaYad/IelRTX3yxpHkcNdhdzPegnBEz9h1uEQfLhFcMJnjyvus51Sm+OPwr2gaKQhtyuIVaVKqd0Q== +puppeteer@15.3.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.3.0.tgz#2d79200cb72d938dfc7af4fdedaa03c04e7ace14" + integrity sha512-PYZwL0DjGeUOauSie6n9Pf+vDUod+vFnC1uHa1Uj3ex1PhRI6DOheau6oJxxj9oyEPWy8SS19KfZDwln4v4LTg== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -11923,10 +12059,10 @@ webpack-dev-server@4.9.1: webpack-dev-middleware "^5.3.1" ws "^8.4.2" -webpack-dev-server@4.9.2: - version "4.9.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.2.tgz#c188db28c7bff12f87deda2a5595679ebbc3c9bc" - integrity sha512-H95Ns95dP24ZsEzO6G9iT+PNw4Q7ltll1GfJHV4fKphuHWgKFzGHWi4alTlTnpk1SPPk41X+l2RB7rLfIhnB9Q== +webpack-dev-server@4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" + integrity sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -11940,7 +12076,7 @@ webpack-dev-server@4.9.2: chokidar "^3.5.3" colorette "^2.0.10" compression "^1.7.4" - connect-history-api-fallback "^1.6.0" + connect-history-api-fallback "^2.0.0" default-gateway "^6.0.3" express "^4.17.3" graceful-fs "^4.2.6" From 87c7f4cbc89cb27cd975aadac442440a6fe61f84 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 4 Jul 2022 13:19:07 +0000 Subject: [PATCH 0625/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 +-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +-- yarn.lock | 196 +++++++++--------- 7 files changed, 134 insertions(+), 136 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 42266be21375..207314c7bb8b 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@f5e706a8bd255a86681369fabf0b8ebed4858b30 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@b5e4e3227f855adf65529353b73669718bcb8a12 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@f5e706a8bd255a86681369fabf0b8ebed4858b30 + - uses: angular/dev-infra/github-actions/post-approval-changes@b5e4e3227f855adf65529353b73669718bcb8a12 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 15a6dc495e95..aeb260836c20 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@f5e706a8bd255a86681369fabf0b8ebed4858b30 + - uses: angular/dev-infra/github-actions/feature-request@b5e4e3227f855adf65529353b73669718bcb8a12 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6f85127ab5c3..e6c29e6e1794 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@f5e706a8bd255a86681369fabf0b8ebed4858b30 + - uses: angular/dev-infra/github-actions/lock-closed@b5e4e3227f855adf65529353b73669718bcb8a12 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 3fbc39b6c9a5..9138239ff0c3 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.3", - "@angular/cdk": "14.0.3", - "@angular/common": "14.0.3", - "@angular/compiler": "14.0.3", - "@angular/compiler-cli": "14.0.3", - "@angular/core": "14.0.3", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#67631cd48a5d0cab942279b1205b0e2b1736ae56", - "@angular/forms": "14.0.3", - "@angular/localize": "14.0.3", - "@angular/material": "14.0.3", - "@angular/platform-browser": "14.0.3", - "@angular/platform-browser-dynamic": "14.0.3", - "@angular/platform-server": "14.0.3", - "@angular/router": "14.0.3", - "@angular/service-worker": "14.0.3", + "@angular/animations": "14.0.4", + "@angular/cdk": "14.0.4", + "@angular/common": "14.0.4", + "@angular/compiler": "14.0.4", + "@angular/compiler-cli": "14.0.4", + "@angular/core": "14.0.4", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19", + "@angular/forms": "14.0.4", + "@angular/localize": "14.0.4", + "@angular/material": "14.0.4", + "@angular/platform-browser": "14.0.4", + "@angular/platform-browser-dynamic": "14.0.4", + "@angular/platform-server": "14.0.4", + "@angular/router": "14.0.4", + "@angular/service-worker": "14.0.4", "@babel/core": "7.18.6", "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index bf2aab1328ae..dafd831d9920 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.3", - "@angular/compiler-cli": "14.0.3", + "@angular/compiler": "14.0.4", + "@angular/compiler-cli": "14.0.4", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 87d43d2bc5f5..1ff609648e35 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#d14729d1020d3add0a73adc56ae26b530d060dc7", - "@angular/cdk": "github:angular/cdk-builds#f9ec6098b6033047fde324390244449b3b1154bb", - "@angular/common": "github:angular/common-builds#142cf8213f694cdc8a49c74978b10425303b68e2", - "@angular/compiler": "github:angular/compiler-builds#a6a44248a7f562781e0b0f670f6030e91456309b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#8410af7c2c6d56ff68face540d25c4d3837864da", - "@angular/core": "github:angular/core-builds#cb8941b7d70c05ec26feab1f62b3458a17fe3fba", - "@angular/forms": "github:angular/forms-builds#b43e91c1a3522f82c23dd7a2a5758eecd2d064bd", - "@angular/language-service": "github:angular/language-service-builds#60633a573a5f5ae10ccba410b29618d34b33b930", - "@angular/localize": "github:angular/localize-builds#19b2037a512cb7752599c6a4b25608557ad03aaf", - "@angular/material": "github:angular/material-builds#3e5aea8e30ab95b6756b00e27f4a02df7f438617", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5020599d6a9d12d762b1fc532a6fa7099ec74f24", - "@angular/platform-browser": "github:angular/platform-browser-builds#9507df4a3860aeebda9373dab8d379b39f155880", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#c5c5995d665147fb1ff2dab9260230c211b1cbba", - "@angular/platform-server": "github:angular/platform-server-builds#7dc551ca27a27f7f11b5b3d1f659ba7226d59651", - "@angular/router": "github:angular/router-builds#08760e0dc66bacecf580332ec799b8209d598a7b", - "@angular/service-worker": "github:angular/service-worker-builds#960fc777961e9d2842ab3140d351141d9d1995fd" + "@angular/animations": "github:angular/animations-builds#32e5733ad71b432a741a177eecccce938d1e61d2", + "@angular/cdk": "github:angular/cdk-builds#6ee9348bfe35aecf80220434a263ac09076ad9ba", + "@angular/common": "github:angular/common-builds#362359a21870da6a4df7e2d19011c64506fe7342", + "@angular/compiler": "github:angular/compiler-builds#50f539b13e81c1fb0b11cc684c2231ee57868ea6", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#45dc8a14d46b78f53f6a81104bd86845634a3ec9", + "@angular/core": "github:angular/core-builds#afe6d68c071ed9293f5bde0a165f10c8c3a9cbe3", + "@angular/forms": "github:angular/forms-builds#82eac75c621d2b6476cbeaaabb98810ee3a909e4", + "@angular/language-service": "github:angular/language-service-builds#38ddff39a60cea34938a012a33458f6ddecc4268", + "@angular/localize": "github:angular/localize-builds#1c526f958a08b6b3115a41261e36dd68b6dcbcd9", + "@angular/material": "github:angular/material-builds#4e54c20145845e9ad2eb323afd32bb51f003604d", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0d437cf18c28681d5934747628ca2eb015dcb65b", + "@angular/platform-browser": "github:angular/platform-browser-builds#5f75d4ac10de35ef006f78fc4b3ff567b87d3d1c", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7043c82d7ead9ff9065e50becab6fb1ec33c4814", + "@angular/platform-server": "github:angular/platform-server-builds#5053be8f92160d6e6f95633a67e1ffe91be2cccc", + "@angular/router": "github:angular/router-builds#05d87658ec342d6f961cc4df5a7d8fdc273584ef", + "@angular/service-worker": "github:angular/service-worker-builds#d162125f433d90bad52f5dbaa6cb18cf1f6240e2" } } diff --git a/yarn.lock b/yarn.lock index dc6875fd6005..fcad9049dd07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular/animations@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.3.tgz#1d4073c59874ec2170affb22ced4e1db5e2b5112" - integrity sha512-BQ9XnllnXhjE/hkPs6U3nPFPmOIT0wBvm+uIQFG+hgs+SKqW5NQB33HYMHKOgC0ENvqaScp+cMmI0Xuc6VAolQ== +"@angular/animations@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.4.tgz#cd483faa04f0c379c77b047a2e35b1823c7f435f" + integrity sha512-+Qe+wLA0DOHlOdFRQSEJoenhFm5zcKwkDItqAFT5NVYOT04yxXq8NFRIHSbqn468qR70EkX514lKi6pr6nxGYQ== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.3.tgz#eaa0b0736481bc9c1d24ad88e19dd20874506032" - integrity sha512-XN5+WVUFx13lW2x9gnzJprHGqcvSpKQaoXxFvlcn16i0P6Iy1jldVZm6q6chEhgX9rEi7P31nfE88OJzHmkEyw== +"@angular/cdk@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.4.tgz#cae73d34d37c33c825125d233957b37fe2f81656" + integrity sha512-zPM4VZadoKzTF9TZ7Yx5gJ7GtQpt62f8ofdH/BF2atG+TaNzOEFqtzogP4WuJDFAxJXOPMePobhth4YjUk0Wbw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.3.tgz#7ecbb79b0382e58ef95340d4c8726e51294b62b7" - integrity sha512-JOM6gILQ3+9fOq4r2umdEP2T2t45k7+V19AqNYgV4HVAR392wCc+rYbdq9eqszMUNfUUBxA/ZfDcGYUu/C/gdA== +"@angular/common@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.4.tgz#ccff13ca5163c90619a33ed1d2bb012ced9846cd" + integrity sha512-CvlFa2lCxen0LB3N45IzZDdMIqpcasXfVUhiAkLxZgT+kSTunc/rg8hMoLHVfmFpkQKCQmPVyuzNXnSwIFhYkQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.3.tgz#29dcc9b677bc70cd9fe181697d213dab18de83c2" - integrity sha512-+L6mp/NlY2t2CGK6Nr1z+TBA0gkQd2xa5NyEfVP32kc9LN5VtSNdTFEYcwwux3IdtiBnEgppCdO9cmnIIcyfMQ== +"@angular/compiler-cli@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.4.tgz#1f50ebd052d008feb55be9db010c752e23b99ee9" + integrity sha512-j3T0dOwNov6rKcaxLMSlPLRvrBT6MyBTum18x6XvZRqb75RUAJ/yV+PXgtA//XZ2hjuy87+CvZy3tBKktvY7bA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,35 +154,42 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.3.tgz#6588baa88c8fbed1ab9c9a627da81ab93d197c28" - integrity sha512-KfQgr9uptguZOUTA1zOvGpSraU8MQ46Sl0uW1xEppEzLzUqmkDcDClQo3IFV61qBEDyvsWEig4BqhN9EDVu+iw== +"@angular/compiler@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.4.tgz#29058864b8e44e8919ae8f895bb5569f678d34e3" + integrity sha512-WdRpZFTX2vt71sSfQ89C1K5l2zhYtn8ON+ZlAVxyZ5uT0nA/Z/vuMLfNZB1WmcGVDOc7JmQduSiSaI0hhQqXqw== dependencies: tslib "^2.3.0" -"@angular/core@14.0.3", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.4.tgz#207f49f023ea6a59ab44659957c8745692a392f9" + integrity sha512-uMS/X+/5RokF3uiiD1IAr6Ha9k7QPegHrAB3QW0x6WRUTMq0K+08F+AeF5COmbfYMMaxofD6x8XmM+BLeg/0hw== + dependencies: + tslib "^2.3.0" + +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.3" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.3.tgz#939efb1016a64f872e9793383425756826544644" integrity sha512-Z71BrEIJuMGm/BdK9Lh8IJwADQqA8qPeUVppCs67CABZdwA3sK0kC+iobauWXcweXU30BdQYc7HyZe2x7rcdmQ== dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#67631cd48a5d0cab942279b1205b0e2b1736ae56": - version "0.0.0-f5e706a8bd255a86681369fabf0b8ebed4858b30" - uid "67631cd48a5d0cab942279b1205b0e2b1736ae56" - resolved "https://github.com/angular/dev-infra-private-builds.git#67631cd48a5d0cab942279b1205b0e2b1736ae56" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19": + version "0.0.0-b5e4e3227f855adf65529353b73669718bcb8a12" + uid fed440324f82e9220f107c74c039210bd9c6ec19 + resolved "https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19" dependencies: "@angular-devkit/build-angular" "14.1.0-next.2" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.5.0" - "@bazel/esbuild" "5.5.0" - "@bazel/protractor" "5.5.0" - "@bazel/runfiles" "5.5.0" - "@bazel/terser" "5.5.0" - "@bazel/typescript" "5.5.0" + "@bazel/concatjs" "5.5.1" + "@bazel/esbuild" "5.5.1" + "@bazel/protractor" "5.5.1" + "@bazel/runfiles" "5.5.1" + "@bazel/terser" "5.5.1" + "@bazel/typescript" "5.5.1" "@microsoft/api-extractor" "7.25.2" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -198,6 +205,7 @@ protractor "^7.0.0" selenium-webdriver "4.2.0" send "^0.18.0" + source-map "^0.7.4" tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" @@ -205,63 +213,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.3.tgz#633318bee23feda4d2ef2caca60685ad57ec5cca" - integrity sha512-ubsOdG/ZocYf/WT7c07eeBbqImjY1R7x+lMPNguCoRFcTtc9VQk5ePL/e5UROW6FKl4+f4NzMLHBL2aUYXsMTw== +"@angular/forms@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.4.tgz#99e329387081332b717f162647997ecaea7cef53" + integrity sha512-u/9y09WQ00y6BQeNo69hMa/Fx+xKHGnmcjMtS3xkZtmoCP+A0ebumG0Y9DfXs2olJY2//O5di7Qu3fwlBg+3Cw== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.3.tgz#b2e33f488e0ce595a1deae571e2311d086abf52a" - integrity sha512-iy15R4Q0J2gXCzEATUeMsaVua08CZt3e3L0lae2qccR2R4j34VGVjc4D9Kh7jcTtZLHZpKWbf6DSxGVnZWXJUw== +"@angular/localize@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.4.tgz#268d236e9f35e36d694f14488238e688f82c7b0b" + integrity sha512-NkUSgaeO0PgPOG9dsa83nApsJ5MsrFjY4ECW9Sz8lAt7EIW86qOPKKdvJdZgAbLFJnEEWlj9dEo8wIHSMblZ0A== dependencies: "@babel/core" "7.18.2" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.3.tgz#73aa8cb75ea924595b049487892efa9d9d59df0a" - integrity sha512-xtYV5ygkfl/6JUaI99NeD1AdM4WcCrCOsx/5IR3ZohUQ1q9vPPvcArWa9QAa1GgU7HNhkgXU90yELwsOtSTc4w== +"@angular/material@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.4.tgz#129846f2b9db27d35f353de8d6411f3e046a756c" + integrity sha512-Ysz6oPbpLH7CvRR6oxQwpUImSbFqxL4+eiH0LPc7vkaOSrvGdZ/7cWhAfT6hVnw3bEY+eq5qBSMgyVUB44z4eg== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.3.tgz#5e97a59536a15801b10d97f1b737db9b7d1f55f2" - integrity sha512-kO6uZ5r5CDWCePxEMpjhHPCt2aba4TCKT3l2HilWLW/9/lr2oFMwiFM/akoQdvLT6h9W8ZeHisD8V7DWP373JA== +"@angular/platform-browser-dynamic@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.4.tgz#f9593e8bf210dbc026601cb32ec317f5879758f1" + integrity sha512-snVbAKfnBuCUMgop6ln111B/ouMnDR1ZzMzpiKefdJDGUvASCLbR8XAioY+zXUI82QbNg5masUPia1Fy+yTvGw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.3.tgz#2b58c6f259921bc17797ca8eed3ba49b4c6470c2" - integrity sha512-d88g/yVbfUyHNHnf9GqFseThTRue78Dle9jrjskEESShxvmOt7DR3dqWd1FzbspALqAVr5Y/Yj9Gau1zD18Scg== +"@angular/platform-browser@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.4.tgz#7f7f98a39ed5047813d4db285fc01857de08b701" + integrity sha512-VFeFpQ+248m8GiCqcsHwH4PET7tR1cyXnhsep1EeI4MDaO+aIbsUcESqXzMm5+ChOmNyiCtLQu8QvfHZK0uDVA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.3.tgz#ea1d0ca9f9bb3fb2898c1b1a33005dd8dd67373d" - integrity sha512-o8PCNSKEvQ6xS0qO9ac+jFq6ODnFIvY192sqkWW1M4KGliK6uBh+Y6/wUhvVAM7abhS3bbK4QV8mLEXwfMFZjg== +"@angular/platform-server@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.4.tgz#40244b5141937e97b9317046d155ba1f2d4113a2" + integrity sha512-g92AgkwaZqKIcdTPWYeEKKcq3YZi4/K0rurgtyJzDEHPJyzcZGA9MGTNz/Efm6Op1WboD+bQ4zCfHv3lzveAgw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.3.tgz#6a9c592c3e71439245f5b8b351868f26fe7f8e09" - integrity sha512-5UhtBhKNBxsjojMGeYOj/tu52AZqcSmNpJptT0A4WCTnOOLqN8IVgy3NgE6RiPPdfSfGJCMvaRVVbGbWPXhePA== +"@angular/router@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.4.tgz#46cb7ed54b232217da31bd5b1f2274027589b28c" + integrity sha512-aqtOjIjVNtWbpedDdni0yGfGR6sEb8S3jJB9jf43ththmHKxAlW7PKP2NgEmx0uJ2xY2iGET7Gkpl8RBwvoHgQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.3": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.3.tgz#63acfc599a22328695d5e1e2aa98dd15df794838" - integrity sha512-uzDwCJOcBstIdjmAtHqX/mHVqK3N767oxiLrpXPAlWZN66cTdwAdrxDEoSHC1DOurvSMYAtSvFT5ggE/NyM65A== +"@angular/service-worker@14.0.4": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.4.tgz#a661bafbbd2bf3fd5aa1cacba22df1ab973f3bdb" + integrity sha512-dJzsDTQg6LRNK/wJPi06EdfKCSnvil3DD6HNHDMHNxLE4J5NQmZdd6bCBEkXTOchqpOUjae4ej/ZelEE0te3Bg== dependencies: tslib "^2.3.0" @@ -1993,15 +2001,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.0.tgz#e6104ed70595cae59463ae6b0b5389252566221e" - integrity sha512-hwG+ahivR20Z3iTOlkUz3OdwnW/PUaZyyz8BIX+GNUTg6U3rPHK51CavUirMupOU/LRJ5GyCwBNAAtjCyquo2g== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.5.1": version "5.5.1" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.1.tgz#151985de8f8538b5dd8fa744c11c697c12e5f39e" @@ -2011,10 +2010,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.0.tgz#51cff0a3f1da93c17cffe3fc52132e25d9aa14b8" - integrity sha512-kKB1XupmjPJD2R/JpVz5pQWnSVw6j3HF7gGJhoTzbplqqL7jQLfJLWRKmg286vkNe/g6EGrDG1ONN7dF3DT7lQ== +"@bazel/esbuild@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.1.tgz#b76f64681e741204d6fedb77d9b6ed442542f095" + integrity sha512-fEuLMxud3kWYgSgI/uP3RE543tWt0uAAoHNO4RTIhd/QfQx8ZDjUUxT2xabT0Bsr9q0mhm4Ur4HM/6mNTs31Lw== "@bazel/jasmine@5.5.1": version "5.5.1" @@ -2024,36 +2023,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.0.tgz#d2a0134e91fad9c60c5835bbce99974245315559" - integrity sha512-8lXEtjfb77Hku6CdJpUlCCHq4BoXiLMQzW0uJuSGYSZd9oBsHU6u++YrM27Ds/xN8VzsUf4jKBecRpchM3ZOmQ== +"@bazel/protractor@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.1.tgz#19f1c2d5fda75157d073295878ddad3592d7c640" + integrity sha512-4teinBj8d6u5JY/Dt8Kuy8z45etqw8U2a2HMj2PG2KgWci6RKBghFg8d/pBhQftbpoOjBuphD4uGI4gxD7SI2Q== -"@bazel/runfiles@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.0.tgz#01647efbef624be2eb80d297fa20cdedaed23338" - integrity sha512-sFEPFhIkDH//98O71WlT/PJPPi7sNeuA+O0wH312QfNdtgnSpNr7CGwfr0JEztwGn2zC16C119fnzra569Y1Uw== +"@bazel/runfiles@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.1.tgz#3e5860e51bf4fee07d90e1f1fbdc67241315cb55" + integrity sha512-5leyQVWMqZVMyjeIpQ/3w6ozP7cUgZMalfdzMYJZtPqekXpAQqeV/jXLPW0f86x2ocIDKEkeMDIpzTB9+FiENg== -"@bazel/terser@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.0.tgz#3b2b582a417d99d59ae99b50d74576ca0719c03a" - integrity sha512-aBjNmJ7TbcD7cKAdFErYQYXn4OqTvrmqrtN6Z6Wnv82d+23kbEsF427ixgdCO3GTQJDw7+x7K9TP2CGogaGtcg== +"@bazel/terser@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.1.tgz#1c11154a03a88ec5477e308b3dea3f86fb335278" + integrity sha512-YxKXn6Td90EUVjUFzeS5TQFCxtnmVNaVeLTwQLr7rhtq8tQ4BnYbWJcKrWJZAfuFkxoK1iU3PeFtIDoaOXUAOg== -"@bazel/typescript@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.0.tgz#053c255acb1b3cac23d24984cd8d5d5542fe1f7c" - integrity sha512-Ord0+nCj+B1M4NDbe0uqZf2FyOCzaDAlc4DAsr5UKJrArCipIbMTEAxlsEk+WAYBNAFGO/FS9/zlDtLceqpHqw== +"@bazel/typescript@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.1.tgz#2a30107f7d0b16ef486a473f204b1ffc72c4d28b" + integrity sha512-5CZROZMOsu4m4VZ39oZOd23XBzVg1YyJLy7rYknfJ+cNiEO8beOy+fuCw39MietN6eNEj0YyPqNaRc5B1hs/xw== dependencies: - "@bazel/worker" "5.5.0" - protobufjs "6.8.8" + "@bazel/worker" "5.5.1" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.0.tgz#d30b75e46f2052d33bcda251b328d36655a5636f" - integrity sha512-pYfjJKg4D1CQ/AJ1UGC5ySyH09gDqNiBrQJ0uMYVewIBW24uOAkKsJfTE2y4ES0UL1Ik758WO0la0mJeFOKScg== +"@bazel/worker@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.1.tgz#1927143f144f22ed569eece22eb14b724e7c10a9" + integrity sha512-3KmFRqEL/rMwKeFMZL5oCi2JbdqbO0TpJ4S+yMznjKUJ+YcwWMj1kF9/PVPD3rinBGtgQdg4EMg7zG9YF/tgWg== dependencies: google-protobuf "^3.6.1" @@ -10950,7 +10948,7 @@ source-map@0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@0.7.4, source-map@^0.7.3: +source-map@0.7.4, source-map@^0.7.3, source-map@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== From 4ad73d0aa62a4e7be77ded57d4186b3b4d3ddc63 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 4 Jul 2022 13:59:34 +0000 Subject: [PATCH 0626/1388] build: lock file maintenance --- yarn.lock | 1092 ++++++++--------------------------------------------- 1 file changed, 147 insertions(+), 945 deletions(-) diff --git a/yarn.lock b/yarn.lock index fcad9049dd07..e17dd6bbe654 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,20 +161,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.0.4": +"@angular/core@14.0.4", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.4" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.4.tgz#207f49f023ea6a59ab44659957c8745692a392f9" integrity sha512-uMS/X+/5RokF3uiiD1IAr6Ha9k7QPegHrAB3QW0x6WRUTMq0K+08F+AeF5COmbfYMMaxofD6x8XmM+BLeg/0hw== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.0.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.3.tgz#939efb1016a64f872e9793383425756826544644" - integrity sha512-Z71BrEIJuMGm/BdK9Lh8IJwADQqA8qPeUVppCs67CABZdwA3sK0kC+iobauWXcweXU30BdQYc7HyZe2x7rcdmQ== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19": version "0.0.0-b5e4e3227f855adf65529353b73669718bcb8a12" uid fed440324f82e9220f107c74c039210bd9c6ec19 @@ -278,26 +271,14 @@ resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" - integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== - -"@babel/compat-data@^7.18.6": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10", "@babel/compat-data@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ== @@ -323,7 +304,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.6": +"@babel/core@7.18.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ== @@ -344,28 +325,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" - integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-compilation-targets" "^7.18.2" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helpers" "^7.18.2" - "@babel/parser" "^7.18.5" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.5" - "@babel/types" "^7.18.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@7.18.2", "@babel/generator@^7.18.2": +"@babel/generator@7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== @@ -374,7 +334,7 @@ "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" -"@babel/generator@7.18.7": +"@babel/generator@7.18.7", "@babel/generator@^7.18.2", "@babel/generator@^7.18.6": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== @@ -383,16 +343,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.6.tgz#9ab2d46d3cbf631f0e80f72e72874a04c3fc12a9" - integrity sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw== - dependencies: - "@babel/types" "^7.18.6" - "@jridgewell/gen-mapping" "^0.3.0" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": +"@babel/helper-annotate-as-pure@7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== @@ -406,14 +357,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" - "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz#f14d640ed1ee9246fb33b8255f08353acfe70e6a" @@ -422,17 +365,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" - integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.18.6": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.2", "@babel/helper-compilation-targets@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96" integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg== @@ -442,19 +375,6 @@ browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" - integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-create-class-features-plugin@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz#6f15f8459f3b523b39e00a99982e2c040871ed72" @@ -468,14 +388,6 @@ "@babel/helper-replace-supers" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" - integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" - "@babel/helper-create-regexp-features-plugin@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" @@ -498,23 +410,11 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" - integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== - "@babel/helper-environment-visitor@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-explode-assignable-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" @@ -522,14 +422,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - "@babel/helper-function-name@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83" @@ -538,13 +430,6 @@ "@babel/template" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" @@ -552,13 +437,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== - dependencies: - "@babel/types" "^7.17.0" - "@babel/helper-member-expression-to-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.6.tgz#44802d7d602c285e1692db0bad9396d007be2afc" @@ -566,35 +444,14 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.18.6": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" - integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.0" - "@babel/types" "^7.18.0" - -"@babel/helper-module-transforms@^7.18.6": +"@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz#57e3ca669e273d55c3cda55e6ebf552f37f483c8" integrity sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw== @@ -608,13 +465,6 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" @@ -622,26 +472,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" - integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== - -"@babel/helper-plugin-utils@^7.18.6": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d" integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg== -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-remap-async-to-generator@^7.18.6": +"@babel/helper-remap-async-to-generator@^7.16.8", "@babel/helper-remap-async-to-generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz#fa1f81acd19daee9d73de297c0308783cd3cfc23" integrity sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ== @@ -651,17 +487,6 @@ "@babel/helper-wrap-function" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-replace-supers@^7.16.7", "@babel/helper-replace-supers@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0" - integrity sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q== - dependencies: - "@babel/helper-environment-visitor" "^7.18.2" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" - "@babel/helper-replace-supers@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.6.tgz#efedf51cfccea7b7b8c0f00002ab317e7abfe420" @@ -673,13 +498,6 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" - integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== - dependencies: - "@babel/types" "^7.18.2" - "@babel/helper-simple-access@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" @@ -687,13 +505,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - "@babel/helper-skip-transparent-expression-wrappers@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.6.tgz#7dff00a5320ca4cf63270e5a0eca4b268b7380d9" @@ -701,13 +512,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" @@ -715,36 +519,16 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - "@babel/helper-validator-identifier@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-validator-option@^7.18.6": +"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - "@babel/helper-wrap-function@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz#ec44ea4ad9d8988b90c3e465ba2382f4de81a073" @@ -755,16 +539,7 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helpers@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" - integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" - -"@babel/helpers@^7.18.6": +"@babel/helpers@^7.18.2", "@babel/helpers@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.6.tgz#4c966140eaa1fcaa3d5a8c09d7db61077d4debfd" integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ== @@ -773,15 +548,6 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/highlight@^7.16.7": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" - integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -791,40 +557,19 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.5": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" - integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== - -"@babel/parser@^7.18.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" - integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" - integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.17.12" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.6.tgz#b4e4dbc2cd1acd0133479918f7c6412961c9adb8" integrity sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw== @@ -833,7 +578,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" "@babel/plugin-proposal-optional-chaining" "^7.18.6" -"@babel/plugin-proposal-async-generator-functions@7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.17.12": +"@babel/plugin-proposal-async-generator-functions@7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== @@ -842,7 +587,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.18.6": +"@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== @@ -852,15 +597,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" - integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.17.12", "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -868,16 +605,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" - integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-class-static-block@^7.18.6": +"@babel/plugin-proposal-class-static-block@^7.18.0", "@babel/plugin-proposal-class-static-block@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== @@ -886,15 +614,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": +"@babel/plugin-proposal-dynamic-import@^7.16.7", "@babel/plugin-proposal-dynamic-import@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== @@ -902,15 +622,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" - integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.6": +"@babel/plugin-proposal-export-namespace-from@^7.17.12", "@babel/plugin-proposal-export-namespace-from@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.6.tgz#1016f0aa5ab383bbf8b3a85a2dcaedf6c8ee7491" integrity sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw== @@ -918,15 +630,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" - integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": +"@babel/plugin-proposal-json-strings@^7.17.12", "@babel/plugin-proposal-json-strings@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== @@ -934,15 +638,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" - integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.6": +"@babel/plugin-proposal-logical-assignment-operators@^7.17.12", "@babel/plugin-proposal-logical-assignment-operators@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.6.tgz#3b9cac6f1ffc2aa459d111df80c12020dfc6b665" integrity sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q== @@ -950,15 +646,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" - integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -966,15 +654,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": +"@babel/plugin-proposal-numeric-separator@^7.16.7", "@babel/plugin-proposal-numeric-separator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== @@ -982,18 +662,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" - integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.17.10" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.17.12" - -"@babel/plugin-proposal-object-rest-spread@^7.18.6": +"@babel/plugin-proposal-object-rest-spread@^7.18.0", "@babel/plugin-proposal-object-rest-spread@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.6.tgz#ec93bba06bfb3e15ebd7da73e953d84b094d5daf" integrity sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw== @@ -1004,15 +673,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.18.6" -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": +"@babel/plugin-proposal-optional-catch-binding@^7.16.7", "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== @@ -1020,16 +681,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" - integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.6": +"@babel/plugin-proposal-optional-chaining@^7.17.12", "@babel/plugin-proposal-optional-chaining@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.6.tgz#46d4f2ffc20e87fad1d98bc4fa5d466366f6aa0b" integrity sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA== @@ -1038,15 +690,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" - integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-proposal-private-methods@^7.18.6": +"@babel/plugin-proposal-private-methods@^7.17.12", "@babel/plugin-proposal-private-methods@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== @@ -1054,17 +698,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" - integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": +"@babel/plugin-proposal-private-property-in-object@^7.17.12", "@babel/plugin-proposal-private-property-in-object@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== @@ -1074,15 +708,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" - integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6": +"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== @@ -1125,14 +751,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz#58096a92b11b2e4e54b24c6a0cc0e5e607abcedd" - integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-syntax-import-assertions@^7.18.6": +"@babel/plugin-syntax-import-assertions@^7.17.12", "@babel/plugin-syntax-import-assertions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== @@ -1202,21 +821,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" - integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-transform-arrow-functions@^7.17.12", "@babel/plugin-transform-arrow-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@7.17.12", "@babel/plugin-transform-async-to-generator@^7.17.12": +"@babel/plugin-transform-async-to-generator@7.17.12": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== @@ -1225,7 +837,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-async-to-generator@7.18.6", "@babel/plugin-transform-async-to-generator@^7.18.6": +"@babel/plugin-transform-async-to-generator@7.18.6", "@babel/plugin-transform-async-to-generator@^7.17.12", "@babel/plugin-transform-async-to-generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== @@ -1234,49 +846,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": +"@babel/plugin-transform-block-scoped-functions@^7.16.7", "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.17.12": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9" - integrity sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-block-scoping@^7.18.6": +"@babel/plugin-transform-block-scoping@^7.17.12", "@babel/plugin-transform-block-scoping@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.6.tgz#b5f78318914615397d86a731ef2cc668796a726c" integrity sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-classes@^7.17.12": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814" - integrity sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.18.2" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-replace-supers" "^7.18.2" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.18.6": +"@babel/plugin-transform-classes@^7.17.12", "@babel/plugin-transform-classes@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.6.tgz#3501a8f3f4c7d5697c27a3eedbee71d68312669f" integrity sha512-XTg8XW/mKpzAF3actL554Jl/dOYoJtv3l8fxaEczpgz84IeeVf+T1u2CSvPHuZbt0w3JkIx4rdn/MRQI7mo0HQ== @@ -1290,43 +874,21 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" - integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-computed-properties@^7.18.6": +"@babel/plugin-transform-computed-properties@^7.17.12", "@babel/plugin-transform-computed-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.6.tgz#5d15eb90e22e69604f3348344c91165c5395d032" integrity sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-destructuring@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" - integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-destructuring@^7.18.6": +"@babel/plugin-transform-destructuring@^7.18.0", "@babel/plugin-transform-destructuring@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.6.tgz#a98b0e42c7ffbf5eefcbcf33280430f230895c6f" integrity sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-dotall-regex@^7.18.6": +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== @@ -1334,29 +896,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" - integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-duplicate-keys@^7.18.6": +"@babel/plugin-transform-duplicate-keys@^7.17.12", "@babel/plugin-transform-duplicate-keys@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.6.tgz#e6c94e8cd3c9dd8a88144f7b78ae22975a7ff473" integrity sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": +"@babel/plugin-transform-exponentiation-operator@^7.16.7", "@babel/plugin-transform-exponentiation-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== @@ -1364,30 +911,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-for-of@^7.18.1": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" - integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-for-of@^7.18.6": +"@babel/plugin-transform-for-of@^7.18.1", "@babel/plugin-transform-for-of@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.6.tgz#e0fdb813be908e91ccc9ec87b30cc2eabf046f7c" integrity sha512-WAjoMf4wIiSsy88KmG7tgj2nFdEK7E46tArVtcgED7Bkj6Fg/tG5SbvNIOKxbFS2VFgNh6+iaPswBeQZm4ox8w== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== - dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-function-name@^7.18.6": +"@babel/plugin-transform-function-name@^7.16.7", "@babel/plugin-transform-function-name@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.6.tgz#6a7e4ae2893d336fd1b8f64c9f92276391d0f1b4" integrity sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA== @@ -1396,44 +927,21 @@ "@babel/helper-function-name" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-literals@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" - integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-literals@^7.18.6": +"@babel/plugin-transform-literals@^7.17.12", "@babel/plugin-transform-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.6.tgz#9d6af353b5209df72960baf4492722d56f39a205" integrity sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": +"@babel/plugin-transform-member-expression-literals@^7.16.7", "@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" - integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== - dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-amd@^7.18.6": +"@babel/plugin-transform-modules-amd@^7.18.0", "@babel/plugin-transform-modules-amd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== @@ -1442,17 +950,7 @@ "@babel/helper-plugin-utils" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" - integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-simple-access" "^7.18.2" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.6": +"@babel/plugin-transform-modules-commonjs@^7.18.2", "@babel/plugin-transform-modules-commonjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== @@ -1462,18 +960,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.0": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996" - integrity sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q== - dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.18.6": +"@babel/plugin-transform-modules-systemjs@^7.18.0", "@babel/plugin-transform-modules-systemjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.6.tgz#026511b7657d63bf5d4cf2fd4aeb963139914a54" integrity sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g== @@ -1484,15 +971,7 @@ "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" - integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== - dependencies: - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-modules-umd@^7.18.6": +"@babel/plugin-transform-modules-umd@^7.18.0", "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== @@ -1500,15 +979,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" - integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.17.12" - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": +"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12", "@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== @@ -1516,29 +987,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-new-target@^7.17.12": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931" - integrity sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-new-target@^7.18.6": +"@babel/plugin-transform-new-target@^7.17.12", "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - -"@babel/plugin-transform-object-super@^7.18.6": +"@babel/plugin-transform-object-super@^7.16.7", "@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== @@ -1546,43 +1002,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" - integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-parameters@^7.18.6": +"@babel/plugin-transform-parameters@^7.17.12", "@babel/plugin-transform-parameters@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.6.tgz#cbe03d5a4c6385dd756034ac1baa63c04beab8dc" integrity sha512-FjdqgMv37yVl/gwvzkcB+wfjRI8HQmc5EgOG9iGNvUY1ok+TjsoaMP7IqCDZBhkFcM5f3OPVMs6Dmp03C5k4/A== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-property-literals@^7.18.6": +"@babel/plugin-transform-property-literals@^7.16.7", "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" - integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - regenerator-transform "^0.15.0" - -"@babel/plugin-transform-regenerator@^7.18.6": +"@babel/plugin-transform-regenerator@^7.18.0", "@babel/plugin-transform-regenerator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== @@ -1590,14 +1024,7 @@ "@babel/helper-plugin-utils" "^7.18.6" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" - integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-reserved-words@^7.18.6": +"@babel/plugin-transform-reserved-words@^7.17.12", "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== @@ -1628,29 +1055,14 @@ babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": +"@babel/plugin-transform-shorthand-properties@^7.16.7", "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" - integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-spread@^7.18.6": +"@babel/plugin-transform-spread@^7.17.12", "@babel/plugin-transform-spread@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.6.tgz#82b080241965f1689f0a60ecc6f1f6575dbdb9d6" integrity sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw== @@ -1658,71 +1070,35 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" -"@babel/plugin-transform-sticky-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-sticky-regex@^7.18.6": +"@babel/plugin-transform-sticky-regex@^7.16.7", "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" - integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-template-literals@^7.18.6": +"@babel/plugin-transform-template-literals@^7.18.2", "@babel/plugin-transform-template-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.6.tgz#b763f4dc9d11a7cce58cf9a490d82e80547db9c2" integrity sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-typeof-symbol@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" - integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-typeof-symbol@^7.18.6": +"@babel/plugin-transform-typeof-symbol@^7.17.12", "@babel/plugin-transform-typeof-symbol@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.6.tgz#486bb39d5a18047358e0d04dc0d2f322f0b92e92" integrity sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-escapes@^7.18.6": +"@babel/plugin-transform-unicode-escapes@^7.16.7", "@babel/plugin-transform-unicode-escapes@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-regex@^7.18.6": +"@babel/plugin-transform-unicode-regex@^7.16.7", "@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== @@ -1903,21 +1279,21 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.18.3", "@babel/runtime@^7.8.4": +"@babel/runtime@7.18.3": version "7.18.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.18.6": +"@babel/runtime@7.18.6", "@babel/runtime@^7.8.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.16.7", "@babel/template@^7.16.7": +"@babel/template@7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1926,7 +1302,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/template@7.18.6", "@babel/template@^7.18.6": +"@babel/template@7.18.6", "@babel/template@^7.16.7", "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== @@ -1935,23 +1311,7 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" - integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-environment-visitor" "^7.18.2" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.5" - "@babel/types" "^7.18.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.18.6": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d" integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw== @@ -1967,23 +1327,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" - integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.6.tgz#5d781dd10a3f0c9f1f931bd19de5eb26ec31acf0" - integrity sha512-NdBNzPDwed30fZdDQtVR7ZgaO4UKjuaQFH9VArS+HMnurlOY0JWN+4ROlu/iapMFwjRQU4pOG4StZfDmulEwGA== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.7": +"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.18.2", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726" integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ== @@ -2469,9 +1813,9 @@ read-package-json-fast "^2.0.3" "@npmcli/metavuln-calculator@^3.0.1": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.0.tgz#b1c2f0991c4f2d992b1615a54d4358c05efc3702" - integrity sha512-Q5fbQqGDlYqk7kWrbg6E2j/mtqQjZop0ZE6735wYA1tYNHguIDjAuWs+kFb5rJCkLIlXllfapvsyotYKiZOTBA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" + integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== dependencies: cacache "^16.0.0" json-parse-even-better-errors "^2.3.1" @@ -2510,15 +1854,16 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.3.tgz#b89a3f861d740379892f9b2c44f8bb66dd7b577c" - integrity sha512-xb47c2KMkn6ERw2AwPPGKIITbWoXOT1yDV5rU3SYeC1vksYOodbgN0pnOptIVnRgS2e9G8R7BVDVm8lWp92unQ== +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.5.tgz#d60a7d41321612a9c0e1433797c10c19d0213d55" + integrity sha512-FyrZkZ+O0bCnQqm+mRb6sKbEJgyJudInwFN84gCcMUcxrWkR15Ags1uOHwnxHYdpj3T5eqrCZNW/Ys20MGTQ6Q== dependencies: "@npmcli/node-gyp" "^2.0.0" "@npmcli/promise-spawn" "^3.0.0" node-gyp "^9.0.0" read-package-json-fast "^2.0.3" + which "^2.0.2" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" @@ -2779,17 +2124,17 @@ "@types/ms" "*" "@types/eslint-scope@^3.7.3": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" - integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.3" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.3.tgz#5c92815a3838b1985c90034cd85f26f59d9d0ece" - integrity sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw== + version "8.4.5" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4" + integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2933,9 +2278,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" - integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== + version "18.0.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.1.tgz#e91bd73239b338557a84d1f67f7b9e0f25643870" + integrity sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg== "@types/node@12.20.24": version "12.20.24" @@ -4133,14 +3478,14 @@ browser-sync@^2.27.7: yargs "^17.3.1" browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.9.1: - version "4.21.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe" - integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA== + version "4.21.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" + integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== dependencies: - caniuse-lite "^1.0.30001358" - electron-to-chromium "^1.4.164" + caniuse-lite "^1.0.30001359" + electron-to-chromium "^1.4.172" node-releases "^2.0.5" - update-browserslist-db "^1.0.0" + update-browserslist-db "^1.0.4" browserstack@^1.5.1: version "1.6.1" @@ -4270,10 +3615,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001358: - version "1.0.30001359" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e" - integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw== +caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001359: + version "1.0.30001363" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz#26bec2d606924ba318235944e1193304ea7c4f15" + integrity sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg== caseless@~0.12.0: version "0.12.0" @@ -5172,10 +4517,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.164: - version "1.4.170" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4" - integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw== +electron-to-chromium@^1.4.172: + version "1.4.177" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.177.tgz#b6a4436eb788ca732556cd69f384b8a3c82118c5" + integrity sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg== emoji-regex@^8.0.0: version "8.0.0" @@ -5239,9 +4584,9 @@ engine.io@~6.2.0: ws "~8.2.3" enhanced-resolve@^5.9.3: - version "5.9.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== + version "5.10.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5388,11 +4733,6 @@ esbuild-android-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== -esbuild-android-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b" - integrity sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g== - esbuild-android-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.48.tgz#7e6394a0e517f738641385aaf553c7e4fb6d1ae3" @@ -5403,11 +4743,6 @@ esbuild-android-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== -esbuild-android-arm64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz#4ebd7ce9fb250b4695faa3ee46fd3b0754ecd9e6" - integrity sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ== - esbuild-android-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" @@ -5418,11 +4753,6 @@ esbuild-darwin-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== -esbuild-darwin-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz#e0da6c244f497192f951807f003f6a423ed23188" - integrity sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA== - esbuild-darwin-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" @@ -5433,11 +4763,6 @@ esbuild-darwin-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== -esbuild-darwin-arm64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz#cd40fd49a672fca581ed202834239dfe540a9028" - integrity sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw== - esbuild-darwin-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" @@ -5448,11 +4773,6 @@ esbuild-freebsd-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== -esbuild-freebsd-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz#8da6a14c095b29c01fc8087a16cb7906debc2d67" - integrity sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ== - esbuild-freebsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" @@ -5463,11 +4783,6 @@ esbuild-freebsd-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== -esbuild-freebsd-arm64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz#ad31f9c92817ff8f33fd253af7ab5122dc1b83f6" - integrity sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ== - esbuild-freebsd-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" @@ -5478,11 +4793,6 @@ esbuild-linux-32@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== -esbuild-linux-32@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz#de085e4db2e692ea30c71208ccc23fdcf5196c58" - integrity sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw== - esbuild-linux-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" @@ -5493,11 +4803,6 @@ esbuild-linux-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== -esbuild-linux-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz#2a9321bbccb01f01b04cebfcfccbabeba3658ba1" - integrity sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw== - esbuild-linux-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" @@ -5508,11 +4813,6 @@ esbuild-linux-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== -esbuild-linux-arm64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz#b9da7b6fc4b0ca7a13363a0c5b7bb927e4bc535a" - integrity sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw== - esbuild-linux-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" @@ -5523,11 +4823,6 @@ esbuild-linux-arm@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== -esbuild-linux-arm@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz#56fec2a09b9561c337059d4af53625142aded853" - integrity sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA== - esbuild-linux-arm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" @@ -5538,11 +4833,6 @@ esbuild-linux-mips64le@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== -esbuild-linux-mips64le@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz#9db21561f8f22ed79ef2aedb7bbef082b46cf823" - integrity sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg== - esbuild-linux-mips64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" @@ -5553,11 +4843,6 @@ esbuild-linux-ppc64le@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== -esbuild-linux-ppc64le@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz#dc3a3da321222b11e96e50efafec9d2de408198b" - integrity sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w== - esbuild-linux-ppc64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" @@ -5568,11 +4853,6 @@ esbuild-linux-riscv64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== -esbuild-linux-riscv64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz#9bd6dcd3dca6c0357084ecd06e1d2d4bf105335f" - integrity sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g== - esbuild-linux-riscv64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" @@ -5583,11 +4863,6 @@ esbuild-linux-s390x@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== -esbuild-linux-s390x@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz#a458af939b52f2cd32fc561410d441a51f69d41f" - integrity sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw== - esbuild-linux-s390x@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" @@ -5598,11 +4873,6 @@ esbuild-netbsd-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== -esbuild-netbsd-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz#6388e785d7e7e4420cb01348d7483ab511b16aa8" - integrity sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ== - esbuild-netbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" @@ -5613,11 +4883,6 @@ esbuild-openbsd-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== -esbuild-openbsd-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5" - integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw== - esbuild-openbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" @@ -5628,11 +4893,6 @@ esbuild-sunos-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== -esbuild-sunos-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa" - integrity sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ== - esbuild-sunos-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" @@ -5643,26 +4903,16 @@ esbuild-wasm@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== -esbuild-wasm@0.14.48: +esbuild-wasm@0.14.48, esbuild-wasm@^0.14.29: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-wasm@^0.14.29: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.47.tgz#b5bbcd081f64105571378db843fa16ed0af886a6" - integrity sha512-ndSsgVpyelWrhmlJ99FGNVwXQryJfWi7edP0ity+42fXDkl67ybo5t/jKIliOSmPsEpOTsnLhlPnW4uf5tfu8A== - esbuild-windows-32@0.14.42: version "0.14.42" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== -esbuild-windows-32@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz#a92d279c8458d5dc319abcfeb30aa49e8f2e6f7f" - integrity sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ== - esbuild-windows-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.48.tgz#021ffceb0a3f83078262870da88a912293c57475" @@ -5673,11 +4923,6 @@ esbuild-windows-64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== -esbuild-windows-64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz#2564c3fcf0c23d701edb71af8c52d3be4cec5f8a" - integrity sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ== - esbuild-windows-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" @@ -5688,11 +4933,6 @@ esbuild-windows-arm64@0.14.42: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== -esbuild-windows-arm64@0.14.47: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz#86d9db1a22d83360f726ac5fba41c2f625db6878" - integrity sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ== - esbuild-windows-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" @@ -5724,7 +4964,7 @@ esbuild@0.14.42: esbuild-windows-64 "0.14.42" esbuild-windows-arm64 "0.14.42" -esbuild@0.14.48: +esbuild@0.14.48, esbuild@^0.14.29: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" integrity sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA== @@ -5750,32 +4990,6 @@ esbuild@0.14.48: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" -esbuild@^0.14.29: - version "0.14.47" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.47.tgz#0d6415f6bd8eb9e73a58f7f9ae04c5276cda0e4d" - integrity sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA== - optionalDependencies: - esbuild-android-64 "0.14.47" - esbuild-android-arm64 "0.14.47" - esbuild-darwin-64 "0.14.47" - esbuild-darwin-arm64 "0.14.47" - esbuild-freebsd-64 "0.14.47" - esbuild-freebsd-arm64 "0.14.47" - esbuild-linux-32 "0.14.47" - esbuild-linux-64 "0.14.47" - esbuild-linux-arm "0.14.47" - esbuild-linux-arm64 "0.14.47" - esbuild-linux-mips64le "0.14.47" - esbuild-linux-ppc64le "0.14.47" - esbuild-linux-riscv64 "0.14.47" - esbuild-linux-s390x "0.14.47" - esbuild-netbsd-64 "0.14.47" - esbuild-openbsd-64 "0.14.47" - esbuild-sunos-64 "0.14.47" - esbuild-windows-32 "0.14.47" - esbuild-windows-64 "0.14.47" - esbuild-windows-arm64 "0.14.47" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6790,9 +6004,9 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.7.tgz#39bde369fb8a57235121bb69d05f079fa1b598f4" - integrity sha512-8gQM8ZcewlONQLnik2AKzS13euQhaZcu4rK5QBSYOszW0T1upLW9VA2MdWvTvMmRo42HjXp7igFmdROoBCCrfg== + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== http-proxy-agent@^5.0.0: version "5.0.0" @@ -8137,9 +7351,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.10.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.2.tgz#aab494e0768ce94f199ef553ffe0a362f2a58bb9" - integrity sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw== + version "7.12.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.12.0.tgz#be2649a992c8a9116efda5c487538dcf715f3476" + integrity sha512-OIP3DwzRZDfLg9B9VP/huWBlpvbkmbfiBy8xmsXp4RPmE4A3MhwNozc5ZJ3fWnSg8fDcdlE/neRTPG2ycEKliw== lru-queue@^0.1.0: version "0.1.0" @@ -8422,9 +7636,9 @@ minipass-sized@^1.0.3: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: - version "3.3.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.3.tgz#fd1f0e6c06449c10dadda72618b59c00f3d6378d" - integrity sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA== + version "3.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" + integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== dependencies: yallist "^4.0.0" @@ -8618,9 +7832,9 @@ node-forge@^1: integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp-build@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" - integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" + integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== node-gyp@^9.0.0: version "9.0.0" @@ -8725,9 +7939,9 @@ npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-packa validate-npm-package-name "^4.0.0" npm-packlist@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.0.tgz#f3fd52903a021009913a133732022132eb355ce7" - integrity sha512-a04sqF6FbkyOAFA19AA0e94gS7Et5T2/IMj3VOT9nOF2RaRdVPQ1Q17Fb/HaDRFs+gbC7HOmhVZ29adpWgmDZg== + version "5.1.1" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0" + integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== dependencies: glob "^8.0.1" ignore-walk "^5.0.1" @@ -8778,9 +7992,9 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.13.1" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.13.1.tgz#b1fd8a9f92dfc432e0467671f2f5f17444de3f00" - integrity sha512-Di4hLSvlImxAslovZ8yRXOhwmd6hXzgRFjwfF4QuwuPT9RUvpLIZ5nubhrY34Pc3elqaU0iyBVWgGZ3jELFP8w== + version "8.13.2" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.13.2.tgz#d79c851c1d9cc6c11efe708379fd5339580f8fec" + integrity sha512-aS6q/QKxkw9mTX8gR7Ft38BcRkW1i+h3sI1yAFmfQ30Yl1a1G4ZX3oNGDzaLCilU5ThFZQBS1F4ZSZsrVxJ7HA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" @@ -8789,7 +8003,7 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^4.1.3" + "@npmcli/run-script" "^4.1.5" abbrev "~1.1.1" archy "~1.0.0" cacache "^16.1.1" @@ -9564,9 +8778,9 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nesting@^10.1.7, postcss-nesting@^10.1.9: - version "10.1.9" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.9.tgz#2aef4e68f222857dc36c0f77a69bf4a900a7e304" - integrity sha512-WlnqQecNMT7eizBpWwAnQOIk7Zr0A+OZJccEwQoTwmcIsZCVdcjT1LjXj1hBk6zR3BDLZQYsb5KZj2HquZgvTw== + version "10.1.10" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.10.tgz#9c396df3d8232cbedfa95baaac6b765b8fd2a817" + integrity sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w== dependencies: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" @@ -9903,9 +9117,9 @@ prr@~1.0.1: integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== psl@^1.1.24, psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^3.0.0: version "3.0.0" @@ -10207,18 +9421,6 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - regexpu-core@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" @@ -10831,18 +10033,18 @@ socket.io-client@^4.4.1: socket.io-parser "~4.2.0" socket.io-parser@~4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" - integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== + version "4.0.5" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.5.tgz#cb404382c32324cc962f27f3a44058cf6e0552df" + integrity sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig== dependencies: "@types/component-emitter" "^1.2.10" component-emitter "~1.3.0" debug "~4.3.1" socket.io-parser@~4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.0.tgz#3f01e5bc525d94aa52a97ed5cbc12e229bbc4d6b" - integrity sha512-tLfmEwcEwnlQTxFB7jibL/q2+q8dlVQzj4JdRLJ/W/G1+Fu9VSxCx1Lo+n1HvXxKnM//dUuD0xgiA7tQf57Vng== + version "4.2.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" + integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" @@ -11523,9 +10725,9 @@ treeverse@^2.0.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.8.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.1.tgz#ea2bd3459011b52699d7e88daa55a45a1af4f066" - integrity sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g== + version "10.8.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.2.tgz#3185b75228cef116bf82ffe8762594f54b2a23f2" + integrity sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -11663,9 +10865,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.16.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317" - integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ== + version "3.16.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.2.tgz#0481e1dbeed343ad1c2ddf3c6d42e89b7a6d4def" + integrity sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg== unbox-primitive@^1.0.2: version "1.0.2" @@ -11750,7 +10952,7 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.0: +update-browserslist-db@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== From 89b097cba993619ed5f8c90c0286ac3ca36958bf Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 5 Jul 2022 08:52:10 +0000 Subject: [PATCH 0627/1388] build: update angular to 288cd42 --- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 1ff609648e35..be7addcf4bfe 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#32e5733ad71b432a741a177eecccce938d1e61d2", - "@angular/cdk": "github:angular/cdk-builds#6ee9348bfe35aecf80220434a263ac09076ad9ba", + "@angular/cdk": "github:angular/cdk-builds#288cd42cd309e0142c4d99c2b3f787516336e523", "@angular/common": "github:angular/common-builds#362359a21870da6a4df7e2d19011c64506fe7342", "@angular/compiler": "github:angular/compiler-builds#50f539b13e81c1fb0b11cc684c2231ee57868ea6", "@angular/compiler-cli": "github:angular/compiler-cli-builds#45dc8a14d46b78f53f6a81104bd86845634a3ec9", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#82eac75c621d2b6476cbeaaabb98810ee3a909e4", "@angular/language-service": "github:angular/language-service-builds#38ddff39a60cea34938a012a33458f6ddecc4268", "@angular/localize": "github:angular/localize-builds#1c526f958a08b6b3115a41261e36dd68b6dcbcd9", - "@angular/material": "github:angular/material-builds#4e54c20145845e9ad2eb323afd32bb51f003604d", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0d437cf18c28681d5934747628ca2eb015dcb65b", + "@angular/material": "github:angular/material-builds#f91e6cec6e1d08faa08326cb912de438566f7830", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#d6bfe836c2e055eb1c2e1dda8b91d14ee1adb32e", "@angular/platform-browser": "github:angular/platform-browser-builds#5f75d4ac10de35ef006f78fc4b3ff567b87d3d1c", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7043c82d7ead9ff9065e50becab6fb1ec33c4814", "@angular/platform-server": "github:angular/platform-server-builds#5053be8f92160d6e6f95633a67e1ffe91be2cccc", From 0620cee78076d3e8e46a96c4dd2a84c1043e107a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 5 Jul 2022 05:12:41 +0000 Subject: [PATCH 0628/1388] build: update all non-major dependencies to v5.30.5 --- package.json | 4 +-- yarn.lock | 96 ++++++++++++++++++++++++++-------------------------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index 9138239ff0c3..65a671c3ae71 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.30.4", - "@typescript-eslint/parser": "5.30.4", + "@typescript-eslint/eslint-plugin": "5.30.5", + "@typescript-eslint/parser": "5.30.5", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/yarn.lock b/yarn.lock index e17dd6bbe654..32975b3417a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2560,14 +2560,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.4.tgz#a46c8c0ab755a936cb63786a6222876ce51675e4" - integrity sha512-xjujQISAIa4HAaos8fcMZXmqkuZqMx6icdxkI88jMM/eNe4J8AuTLYnLK+zdm0mBYLyctdFf//UE4/xFCcQzYQ== - dependencies: - "@typescript-eslint/scope-manager" "5.30.4" - "@typescript-eslint/type-utils" "5.30.4" - "@typescript-eslint/utils" "5.30.4" +"@typescript-eslint/eslint-plugin@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.5.tgz#e9a0afd6eb3b1d663db91cf1e7bc7584d394503d" + integrity sha512-lftkqRoBvc28VFXEoRgyZuztyVUQ04JvUnATSPtIRFAccbXTWL6DEtXGYMcbg998kXw1NLUJm7rTQ9eUt+q6Ig== + dependencies: + "@typescript-eslint/scope-manager" "5.30.5" + "@typescript-eslint/type-utils" "5.30.5" + "@typescript-eslint/utils" "5.30.5" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2575,69 +2575,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.4.tgz#659411e8700b22c8d5400798ef24838425bf4567" - integrity sha512-/ge1HtU63wVoED4VnlU2o+FPFmi017bPYpeSrCmd8Ycsti4VSxXrmcpXXm7JpI4GT0Aa7qviabv1PEp6L5bboQ== +"@typescript-eslint/parser@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.5.tgz#f667c34e4e4c299d98281246c9b1e68c03a92522" + integrity sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q== dependencies: - "@typescript-eslint/scope-manager" "5.30.4" - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/typescript-estree" "5.30.4" + "@typescript-eslint/scope-manager" "5.30.5" + "@typescript-eslint/types" "5.30.5" + "@typescript-eslint/typescript-estree" "5.30.5" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.4.tgz#8140efd2bc12d41d74e8af23872a89f3edbe552e" - integrity sha512-DNzlQwGSiGefz71JwaHrpcaAX3zYkEcy8uVuan3YMKOa6qeW/y+7SaD8KIsIAruASwq6P+U4BjWBWtM2O+mwBQ== +"@typescript-eslint/scope-manager@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.5.tgz#7f90b9d6800552c856a5f3644f5e55dd1469d964" + integrity sha512-NJ6F+YHHFT/30isRe2UTmIGGAiXKckCyMnIV58cE3JkHmaD6e5zyEYm5hBDv0Wbin+IC0T1FWJpD3YqHUG/Ydg== dependencies: - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/visitor-keys" "5.30.4" + "@typescript-eslint/types" "5.30.5" + "@typescript-eslint/visitor-keys" "5.30.5" -"@typescript-eslint/type-utils@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.4.tgz#00ff19073cd01f7d27e9af49ce08d6a69f1e4f01" - integrity sha512-55cf1dZviwwv+unDB+mF8vZkfta5muTK6bppPvenWWCD7slZZ0DEsXUjZerqy7Rq8s3J4SXdg4rMIY8ngCtTmA== +"@typescript-eslint/type-utils@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.5.tgz#7a9656f360b4b1daea635c4621dab053d08bf8a9" + integrity sha512-k9+ejlv1GgwN1nN7XjVtyCgE0BTzhzT1YsQF0rv4Vfj2U9xnslBgMYYvcEYAFVdvhuEscELJsB7lDkN7WusErw== dependencies: - "@typescript-eslint/utils" "5.30.4" + "@typescript-eslint/utils" "5.30.5" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.4.tgz#3bc99eca8ba3fcfd6a21480e216b09dab81c3999" - integrity sha512-NTEvqc+Vvu8Q6JeAKryHk2eqLKqsr2St3xhIjhOjQv5wQUBhaTuix4WOSacqj0ONWfKVU12Eug3LEAB95GBkMA== +"@typescript-eslint/types@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.5.tgz#36a0c05a72af3623cdf9ee8b81ea743b7de75a98" + integrity sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw== -"@typescript-eslint/typescript-estree@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.4.tgz#ac4be8a2f8fb1f1c3b346d5992a36163121ddb3f" - integrity sha512-V4VnEs6/J9/nNizaA12IeU4SAeEYaiKr7XndLNfV5+3zZSB4hIu6EhHJixTKhvIqA+EEHgBl6re8pivBMLLO1w== +"@typescript-eslint/typescript-estree@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.5.tgz#c520e4eba20551c4ec76af8d344a42eb6c9767bb" + integrity sha512-qGTc7QZC801kbYjAr4AgdOfnokpwStqyhSbiQvqGBLixniAKyH+ib2qXIVo4P9NgGzwyfD9I0nlJN7D91E1VpQ== dependencies: - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/visitor-keys" "5.30.4" + "@typescript-eslint/types" "5.30.5" + "@typescript-eslint/visitor-keys" "5.30.5" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.4.tgz#07a2b7ce80b2527ea506829f190591b76c70ba9f" - integrity sha512-a+GQrJzOUhn4WT1mUumXDyam+22Oo4c5K/jnZ+6r/4WTQF3q8e4CsC9PLHb4SnOClzOqo/5GLZWvkE1aa5UGKQ== +"@typescript-eslint/utils@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.5.tgz#3999cbd06baad31b9e60d084f20714d1b2776765" + integrity sha512-o4SSUH9IkuA7AYIfAvatldovurqTAHrfzPApOZvdUq01hHojZojCFXx06D/aFpKCgWbMPRdJBWAC3sWp3itwTA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.4" - "@typescript-eslint/types" "5.30.4" - "@typescript-eslint/typescript-estree" "5.30.4" + "@typescript-eslint/scope-manager" "5.30.5" + "@typescript-eslint/types" "5.30.5" + "@typescript-eslint/typescript-estree" "5.30.5" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.4": - version "5.30.4" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.4.tgz#b4969df1a440cc999d4bb7f7b7932dce05537089" - integrity sha512-ulKGse3mruSc8x6l8ORSc6+1ORyJzKmZeIaRTu/WpaF/jx3vHvEn5XZUKF9XaVg2710mFmTAUlLcLYLPp/Zf/Q== +"@typescript-eslint/visitor-keys@5.30.5": + version "5.30.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.5.tgz#d4bb969202019d5d5d849a0aaedc7370cc044b14" + integrity sha512-D+xtGo9HUMELzWIUqcQc0p2PO4NyvTrgIOK/VnSH083+8sq0tiLozNRKuLarwHYGRuA6TVBQSuuLwJUDWd3aaA== dependencies: - "@typescript-eslint/types" "5.30.4" + "@typescript-eslint/types" "5.30.5" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 520f04f2495d5d7c9b929b6643396ddf04e91ebc Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 6 Jul 2022 07:36:42 +0000 Subject: [PATCH 0629/1388] build: update all non-major dependencies --- package.json | 4 ++-- yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 65a671c3ae71..5d5aac220fbf 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "14.0.2", + "ng-packagr": "14.0.3", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", @@ -190,7 +190,7 @@ "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.3.0", + "puppeteer": "15.3.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 32975b3417a8..4c6134be61a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7766,10 +7766,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.2: - version "14.0.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.2.tgz#5c824b753a4c5e2851c0e130fd98f4df77f6c04b" - integrity sha512-Yoiy/cvpYvPTVdAZFPsU2Xg1YdY9w7wVTamKNtz78l1sXA6inQuTGlsvNy+yOJTH7TLZmEjU2WHkmJHgxU10Pg== +ng-packagr@14.0.3: + version "14.0.3" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.3.tgz#452db7dfcf6e3f7f486e3a7939ebfb471e5d6f03" + integrity sha512-+HfZz9YXS6H2HtXY+1lpOuNJZmsqvSJyNf0z2x4Tlnxbp7FI7L4qY56QNsb/acih9ZkOrgC+4Ihh7fbsB3y2OQ== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -9139,10 +9139,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.3.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.3.0.tgz#2d79200cb72d938dfc7af4fdedaa03c04e7ace14" - integrity sha512-PYZwL0DjGeUOauSie6n9Pf+vDUod+vFnC1uHa1Uj3ex1PhRI6DOheau6oJxxj9oyEPWy8SS19KfZDwln4v4LTg== +puppeteer@15.3.1: + version "15.3.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.3.1.tgz#0ff9b433a8fc3798f5ec82ea4b31ec47857219cf" + integrity sha512-Z+SpYBiS1zUzMXV7Wnhe2pyuVCFAFRTq1UrUWHB2CkLos5v7bXvXYuZ3Fn5pSN5IObxijyx4opNYKTCRnGni6Q== dependencies: cross-fetch "3.1.5" debug "4.3.4" From cbccfd426a2e27c1fd2e274aaee4d02c53eb7c9e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 4 Jul 2022 13:24:31 +0000 Subject: [PATCH 0630/1388] fix(@angular/cli): during an update only use package manager force option with npm 7+ In some cases previously we passed the `force` option to yarn which which lead to an installation failure. Closes #23495 --- .../angular/cli/src/commands/update/cli.ts | 53 +++++++++++-------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 152c6d3b8632..0f21999b1532 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -75,9 +75,7 @@ export class UpdateCommandModule extends CommandModule { array: true, }) .option('force', { - description: - 'Ignore peer dependency version mismatches. ' + - `Passes the '--force' flag to the package manager when installing packages.`, + description: 'Ignore peer dependency version mismatches.', type: 'boolean', default: false, }) @@ -227,7 +225,7 @@ export class UpdateCommandModule extends CommandModule { const workflow = new NodeWorkflow(this.context.root, { packageManager: packageManager.name, - packageManagerForce: options.force, + packageManagerForce: this.packageManagerForce(options.verbose), // __dirname -> favor @schematics/update from this package // Otherwise, use packages from the active workspace (migrations) resolvePaths: [__dirname, this.context.root], @@ -693,26 +691,8 @@ export class UpdateCommandModule extends CommandModule { }); } catch {} - let forceInstall = false; - // npm 7+ can fail due to it incorrectly resolving peer dependencies that have valid SemVer - // ranges during an update. Update will set correct versions of dependencies within the - // package.json file. The force option is set to workaround these errors. - // Example error: - // npm ERR! Conflicting peer dependency: @angular/compiler-cli@14.0.0-rc.0 - // npm ERR! node_modules/@angular/compiler-cli - // npm ERR! peer @angular/compiler-cli@"^14.0.0 || ^14.0.0-rc" from @angular-devkit/build-angular@14.0.0-rc.0 - // npm ERR! node_modules/@angular-devkit/build-angular - // npm ERR! dev @angular-devkit/build-angular@"~14.0.0-rc.0" from the root project - if ( - this.context.packageManager.name === PackageManager.Npm && - this.context.packageManager.version && - semver.gte(this.context.packageManager.version, '7.0.0', { includePrerelease: true }) - ) { - logVerbose('NPM 7+ detected -- enabling force option for package installation'); - forceInstall = true; - } const installationSuccess = await this.context.packageManager.installAll( - forceInstall ? ['--force'] : [], + this.packageManagerForce(options.verbose) ? ['--force'] : [], this.context.root, ); @@ -992,6 +972,33 @@ export class UpdateCommandModule extends CommandModule { return status ?? 0; } + + private packageManagerForce(verbose: boolean): boolean { + // npm 7+ can fail due to it incorrectly resolving peer dependencies that have valid SemVer + // ranges during an update. Update will set correct versions of dependencies within the + // package.json file. The force option is set to workaround these errors. + // Example error: + // npm ERR! Conflicting peer dependency: @angular/compiler-cli@14.0.0-rc.0 + // npm ERR! node_modules/@angular/compiler-cli + // npm ERR! peer @angular/compiler-cli@"^14.0.0 || ^14.0.0-rc" from @angular-devkit/build-angular@14.0.0-rc.0 + // npm ERR! node_modules/@angular-devkit/build-angular + // npm ERR! dev @angular-devkit/build-angular@"~14.0.0-rc.0" from the root project + if ( + this.context.packageManager.name === PackageManager.Npm && + this.context.packageManager.version && + semver.gte(this.context.packageManager.version, '7.0.0', { includePrerelease: true }) + ) { + if (verbose) { + this.context.logger.info( + 'NPM 7+ detected -- enabling force option for package installation', + ); + } + + return true; + } + + return false; + } } /** From d2bbcd7b6803fcc9da27f804f12f194110d26eb2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 5 Jul 2022 13:58:10 +0000 Subject: [PATCH 0631/1388] fix(@angular-devkit/build-angular): improve detection of CommonJS dependencies With this change we include `CommonJsSelfReferenceDependency` and `CommonJsExportsDependency` in the CJS checks. Closes #23505 --- .../src/webpack/plugins/common-js-usage-warn-plugin.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts index 07e165f047ae..a6e12bf72c33 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/common-js-usage-warn-plugin.ts @@ -12,7 +12,9 @@ import { addWarning } from '../../utils/webpack-diagnostics'; // Webpack doesn't export these so the deep imports can potentially break. const AMDDefineDependency = require('webpack/lib/dependencies/AMDDefineDependency'); +const CommonJsExportsDependency = require('webpack/lib/dependencies/CommonJsExportsDependency'); const CommonJsRequireDependency = require('webpack/lib/dependencies/CommonJsRequireDependency'); +const CommonJsSelfReferenceDependency = require('webpack/lib/dependencies/CommonJsSelfReferenceDependency'); export interface CommonJsUsageWarnPluginOptions { /** A list of CommonJS packages that are allowed to be used without a warning. */ @@ -105,7 +107,12 @@ export class CommonJsUsageWarnPlugin { checkParentModules = false, ): boolean { for (const dep of dependencies) { - if (dep instanceof CommonJsRequireDependency || dep instanceof AMDDefineDependency) { + if ( + dep instanceof CommonJsRequireDependency || + dep instanceof CommonJsExportsDependency || + dep instanceof CommonJsSelfReferenceDependency || + dep instanceof AMDDefineDependency + ) { return true; } From 9e3152466b9b3cdb00450f63399e7b8043250fe7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 6 Jul 2022 13:24:16 +0000 Subject: [PATCH 0632/1388] fix(@schematics/angular): prevent importing `RouterModule` parallel to `RoutingModule` Prior to this commit, we defined routes in two places example: ```ts @NgModule({ declarations: [ HomeComponent ], imports: [ CommonModule, RouterModule.forChild(routes), HomeRoutingModule ] }) export class HomeModule { } ``` Closes #17139 --- .../__name@dasherize__.module.ts.template | 4 +- .../schematics/angular/module/index_spec.ts | 41 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/packages/schematics/angular/module/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template b/packages/schematics/angular/module/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template index 40c976127df0..252b9bb03397 100644 --- a/packages/schematics/angular/module/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template +++ b/packages/schematics/angular/module/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core';<% if (commonModule) { %> import { CommonModule } from '@angular/common';<% } %><% if (lazyRouteWithoutRouteModule) { %> import { Routes, RouterModule } from '@angular/router';<% } %> -<% if (routing || lazyRouteWithRouteModule) { %> +<% if ((!lazyRoute && routing) || lazyRouteWithRouteModule) { %> import { <%= classify(name) %>RoutingModule } from './<%= dasherize(name) %>-routing.module';<% } %> <% if (lazyRouteWithoutRouteModule) { %> const routes: Routes = [ @@ -11,7 +11,7 @@ const routes: Routes = [ @NgModule({ declarations: [], imports: [<% if (commonModule) { %> - CommonModule<% } %><% if (routing || lazyRouteWithRouteModule) { %>, + CommonModule<% } %><% if ((!lazyRoute && routing) || lazyRouteWithRouteModule) { %>, <%= classify(name) %>RoutingModule<% } %><% if (lazyRouteWithoutRouteModule) { %>, RouterModule.forChild(routes)<% } %> ] diff --git a/packages/schematics/angular/module/index_spec.ts b/packages/schematics/angular/module/index_spec.ts index 11d80cb1fc87..3d759ab628de 100644 --- a/packages/schematics/angular/module/index_spec.ts +++ b/packages/schematics/angular/module/index_spec.ts @@ -288,5 +288,46 @@ describe('Module Schematic', () => { `loadChildren: () => import('../bar/bar.module').then(m => m.BarModule)`, ); }); + + it('should not add reference to RouterModule when referencing lazy routing module', async () => { + // Delete routing module + appTree.delete('/projects/bar/src/app/app-routing.module.ts'); + + // Update app.module to contain the route config. + appTree.overwrite( + 'projects/bar/src/app/app.module.ts', + ` + import { NgModule } from '@angular/core'; + import { RouterModule } from '@angular/router'; + import { BrowserModule } from '@angular/platform-browser'; + import { AppComponent } from './app.component'; + + + @NgModule({ + imports: [BrowserModule, RouterModule.forRoot([])], + declarations: [AppComponent], + }) + export class AppModule {} + `, + ); + + const tree = await schematicRunner + .runSchematicAsync( + 'module', + { + ...defaultOptions, + name: 'bar', + route: 'bar', + routing: true, + module: 'app.module.ts', + }, + appTree, + ) + .toPromise(); + + const content = tree.readContent('/projects/bar/src/app/bar/bar.module.ts'); + expect(content).toContain('RouterModule.forChild(routes)'); + expect(content).not.toContain('BarRoutingModule'); + }); }); }); From 23952fff00d42cc3bea6488cfa4b258c0b3dec1a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 6 Jul 2022 15:22:55 +0000 Subject: [PATCH 0633/1388] docs: release notes for the v14.0.5 release --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bc9641e1f39..39d8d609ec78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,42 @@ + + +# 14.0.5 (2022-07-06) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| [98a6aad60](https://github.com/angular/angular-cli/commit/98a6aad60276960bd6bcecda73172480e4bdec48) | fix | during an update only use package manager force option with npm 7+ | +| [094aa16aa](https://github.com/angular/angular-cli/commit/094aa16aaf5b148f2ca94cae45e18dbdeaacad9d) | fix | improve error message for project-specific ng commands when run outside of a project | +| [e5e07fff1](https://github.com/angular/angular-cli/commit/e5e07fff1919c46c15d6ce61355e0c63007b7d55) | fix | show deprecated workspace config options in IDE | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [f9f970cab](https://github.com/angular/angular-cli/commit/f9f970cab515a8a1b1fbb56830b03250dd5cccce) | fix | prevent importing `RouterModule` parallel to `RoutingModule` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [aa8ed532f](https://github.com/angular/angular-cli/commit/aa8ed532f816f2fa23b1fe443a216c5d75507432) | fix | disable glob mounting for patterns that start with a forward slash | +| [c76edb8a7](https://github.com/angular/angular-cli/commit/c76edb8a79d1a12376c2a163287251c06e1f0222) | fix | don't override base-href in HTML when it's not set in builder | +| [f64903528](https://github.com/angular/angular-cli/commit/f649035286d640660c3bc808b7297fb60d0888bc) | fix | improve detection of CommonJS dependencies | +| [74dbd5fc2](https://github.com/angular/angular-cli/commit/74dbd5fc273aece097b2b3ee0b28607d24479d8c) | fix | support hidden component stylesheet sourcemaps with esbuild builder | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [7aed97561](https://github.com/angular/angular-cli/commit/7aed97561c2320f92f8af584cc9852d4c8d818b9) | fix | do not run ngcc when `node_modules` does not exist | + +## Special Thanks + +Alan Agius, Charles Lyding, JoostK and Paul Gschwendtner + + + # 14.1.0-next.3 (2022-06-29) From 62b85689397a0653a177612a9acd6494fefcbe0d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 6 Jul 2022 15:57:18 +0000 Subject: [PATCH 0634/1388] release: cut the v14.1.0-next.4 release --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39d8d609ec78..3e400382db28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,42 @@ + + +# 14.1.0-next.4 (2022-07-06) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | +| [cbccfd426](https://github.com/angular/angular-cli/commit/cbccfd426a2e27c1fd2e274aaee4d02c53eb7c9e) | fix | during an update only use package manager force option with npm 7+ | +| [dbe0dc174](https://github.com/angular/angular-cli/commit/dbe0dc174339d872426501c1c1dca689db2b9bad) | fix | improve error message for project-specific ng commands when run outside of a project | +| [93ba050b0](https://github.com/angular/angular-cli/commit/93ba050b0c6b58274661d2063174920d191a7639) | fix | show deprecated workspace config options in IDE | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [9e3152466](https://github.com/angular/angular-cli/commit/9e3152466b9b3cdb00450f63399e7b8043250fe7) | fix | prevent importing `RouterModule` parallel to `RoutingModule` | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [7a2460914](https://github.com/angular/angular-cli/commit/7a246091435773ff4d669b1dfe2684b366010919) | fix | disable glob mounting for patterns that start with a forward slash | +| [88701115c](https://github.com/angular/angular-cli/commit/88701115c69ced4bbc1bea07e4ef8941a2b54771) | fix | don't override base-href in HTML when it's not set in builder | +| [d2bbcd7b6](https://github.com/angular/angular-cli/commit/d2bbcd7b6803fcc9da27f804f12f194110d26eb2) | fix | improve detection of CommonJS dependencies | +| [53e9c459d](https://github.com/angular/angular-cli/commit/53e9c459d6b5fae3884128beaa941c71cd6562cc) | fix | support hidden component stylesheet sourcemaps with esbuild builder | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [5319428e1](https://github.com/angular/angular-cli/commit/5319428e14a7e364a58caa8ca936964cfc5503cf) | fix | do not run ngcc when `node_modules` does not exist | + +## Special Thanks + +Alan Agius, Charles Lyding, JoostK and Paul Gschwendtner + + + # 14.0.5 (2022-07-06) diff --git a/package.json b/package.json index 5d5aac220fbf..62ddec2249cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.1.0-next.3", + "version": "14.1.0-next.4", "private": true, "description": "Software Development Kit for Angular", "bin": { From 325990facd1b15cf2dec987eaea254be353dd90f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 7 Jul 2022 08:10:21 +0000 Subject: [PATCH 0635/1388] test: update prod-build E2E test to handle esbuild output ``` bootstrapModule($a).catch(e=>console.error(e)); ``` --- tests/legacy-cli/e2e/tests/build/prod-build.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/tests/build/prod-build.ts b/tests/legacy-cli/e2e/tests/build/prod-build.ts index a7da45344d51..f9e4359a8e89 100644 --- a/tests/legacy-cli/e2e/tests/build/prod-build.ts +++ b/tests/legacy-cli/e2e/tests/build/prod-build.ts @@ -26,7 +26,7 @@ function verifySize(bundle: string, baselineBytes: number) { export default async function () { // Can't use the `ng` helper because somewhere the environment gets // stuck to the first build done - const bootstrapRegExp = /bootstrapModule\([_a-zA-Z]+[0-9]*\)\./; + const bootstrapRegExp = /bootstrapModule\([\$_a-zA-Z]+[0-9]*\)\./; await noSilentNg('build'); await expectFileToExist(join(process.cwd(), 'dist')); From 14f8f5c5abef19807b3cd2a17aa132117a03a54a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 7 Jul 2022 09:25:51 +0000 Subject: [PATCH 0636/1388] fix(@schematics/angular): remove browserslist configuration By default the defaults are now configured in ng-packagr https://github.com/ng-packagr/ng-packagr/blob/main/src/lib/styles/stylesheet-processor.ts#L35-L47 --- .../library/files/.browserslistrc.template | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 packages/schematics/angular/library/files/.browserslistrc.template diff --git a/packages/schematics/angular/library/files/.browserslistrc.template b/packages/schematics/angular/library/files/.browserslistrc.template deleted file mode 100644 index 4f9ac26980c1..000000000000 --- a/packages/schematics/angular/library/files/.browserslistrc.template +++ /dev/null @@ -1,16 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# For the full list of supported browsers by the Angular framework, please see: -# https://angular.io/guide/browser-support - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major versions -last 2 iOS major versions -Firefox ESR From 691b303d30962db61f989006eb874f085eafedf2 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 14 Jun 2022 19:22:32 -0400 Subject: [PATCH 0637/1388] test: ensure private npm is always on PATH --- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 4 ++- tests/legacy-cli/e2e/utils/process.ts | 34 ++++++++----------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 5d58d8369ae3..92546ed32519 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -1,6 +1,6 @@ import { mkdir, writeFile } from 'fs/promises'; import { join } from 'path'; -import { getGlobalVariable } from '../utils/env'; +import { getGlobalVariable, setGlobalVariable } from '../utils/env'; /** * Configure npm to use a unique sandboxed environment. @@ -29,5 +29,7 @@ export default async function () { await writeFile(npmrc, `registry=${npmRegistry}\nprefix=${npmModulesPrefix}`); await mkdir(npmModulesPrefix); + setGlobalVariable('npm-global', npmModulesPrefix); + console.log(` Using "${npmModulesPrefix}" as e2e test global npm cache.`); } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 88dcce6353dc..8067c2f55eb6 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -32,11 +32,18 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise x !== undefined); const flags = [ options.silent && 'silent', @@ -51,7 +58,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise NPM_CONFIG_RE.test(v)) - .reduce( - (vars, n) => { - vars[n] = process.env[n]; - return vars; - }, - { - PATH: process.env.PATH, - }, - ); + .reduce((vars, n) => { + vars[n] = process.env[n]; + return vars; + }, {}); } export function waitForAnyProcessOutputToMatch( @@ -364,20 +366,12 @@ export async function launchTestProcess(entry: string, ...args: any[]) { }; // Modify the PATH environment variable... - let paths = process.env.PATH!.split(delimiter); + let paths = (env.PATH || process.env.PATH)!.split(delimiter); // Only include paths within the sandboxed test environment or external // non angular-cli paths such as /usr/bin for generic commands. paths = paths.filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')); - // Ensure the custom npm global bin is on the PATH - // https://docs.npmjs.com/cli/v8/configuring-npm/folders#executables - if (process.platform.startsWith('win')) { - paths.unshift(env.NPM_CONFIG_PREFIX!); - } else { - paths.unshift(join(env.NPM_CONFIG_PREFIX!, 'bin')); - } - env.PATH = paths.join(delimiter); return _exec({ env }, process.execPath, [resolve(__dirname, 'run_test_process'), entry, ...args]); From b072d0264976ce38bf33fbc19ea72fb97d5a78e8 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 14 Jun 2022 23:01:53 -0400 Subject: [PATCH 0638/1388] test: output env on child process error --- tests/legacy-cli/e2e/utils/process.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 8067c2f55eb6..95f5ac74d9e1 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -113,14 +113,20 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { - err.message += `${err}...\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; + err.message += `${err}...\n\nENV:${JSON.stringify( + process.env, + null, + 2, + )}\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; reject(err); }); From 2cda5a64f264e1afac700b8444f7e62236b6dbef Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 16 Jun 2022 12:15:56 -0400 Subject: [PATCH 0639/1388] test: log the location of ng/npm/yarn being tested --- tests/legacy-cli/e2e/initialize/300-log-environment.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/initialize/300-log-environment.ts b/tests/legacy-cli/e2e/initialize/300-log-environment.ts index a6c268e094bd..0a787dc10206 100644 --- a/tests/legacy-cli/e2e/initialize/300-log-environment.ts +++ b/tests/legacy-cli/e2e/initialize/300-log-environment.ts @@ -1,4 +1,4 @@ -import { ng } from '../utils/process'; +import { exec, ng } from '../utils/process'; export default async function () { console.log('Environment:'); @@ -13,5 +13,6 @@ export default async function () { console.log(` ${envName}: ${process.env[envName]!.replace(/[\n\r]+/g, '\n ')}`); }); + await exec('which', 'ng', 'yarn', 'npm'); await ng('version'); } From 01b4ad8ffdfb516d7eebebd81541f934ba409038 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 24 Jun 2022 16:16:43 -0700 Subject: [PATCH 0640/1388] test: align yarn and npm prefix config --- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 23 ++++++++++++++----- tests/legacy-cli/e2e/utils/process.ts | 3 ++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 92546ed32519..e1629552df23 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -8,16 +8,22 @@ import { getGlobalVariable, setGlobalVariable } from '../utils/env'; export default async function () { const tempRoot: string = getGlobalVariable('tmp-root'); const npmModulesPrefix = join(tempRoot, 'npm-global'); + const yarnModulesPrefix = join(tempRoot, 'yarn-global'); const npmRegistry: string = getGlobalVariable('package-registry'); const npmrc = join(tempRoot, '.npmrc'); + const yarnrc = join(tempRoot, '.yarnrc'); - // Configure npm to use the sandboxed npm globals and rc file - // From this point onward all npm transactions use the "global" npm cache - // isolated within this e2e test invocation. + // Change the npm+yarn userconfig to the sandboxed npmrc to override the default ~ process.env.NPM_CONFIG_USERCONFIG = npmrc; - process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; + + // The npm+yarn registry URL process.env.NPM_CONFIG_REGISTRY = npmRegistry; + // Configure npm+yarn to use a sandboxed bin directory + // From this point onward all yarn/npm bin files/symlinks are put into the prefix directories + process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; + process.env.YARN_CONFIG_PREFIX = yarnModulesPrefix; + // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. // To support this case, legacy peer dependency mode is enabled for snapshot builds. @@ -25,11 +31,16 @@ export default async function () { process.env['NPM_CONFIG_legacy_peer_deps'] = 'true'; } - // Configure the registry and prefix used within the test sandbox + // Configure the registry and prefix used within the test sandbox via rc files await writeFile(npmrc, `registry=${npmRegistry}\nprefix=${npmModulesPrefix}`); + await writeFile(yarnrc, `registry ${npmRegistry}\nprefix ${yarnModulesPrefix}`); + await mkdir(npmModulesPrefix); + await mkdir(yarnModulesPrefix); setGlobalVariable('npm-global', npmModulesPrefix); + setGlobalVariable('yarn-global', yarnModulesPrefix); - console.log(` Using "${npmModulesPrefix}" as e2e test global npm cache.`); + console.log(` Using "${npmModulesPrefix}" as e2e test global npm bin dir.`); + console.log(` Using "${yarnModulesPrefix}" as e2e test global yarn bin dir.`); } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 95f5ac74d9e1..33b9ec8054ff 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -16,7 +16,7 @@ interface ExecOptions { cwd?: string; } -const NPM_CONFIG_RE = /^npm_config_/i; +const NPM_CONFIG_RE = /^(npm_config_|yarn_)/i; let _processes: child_process.ChildProcess[] = []; @@ -40,6 +40,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise Date: Thu, 7 Jul 2022 17:41:49 +0000 Subject: [PATCH 0641/1388] fix(@angular/cli): handle cases when completion is enabled and running in an older CLI workspace Previously when having completion enabled and the current workspaces has an older version of the Angular CLI installed in the terminal the below errors is show. This is because the older versions of the CLI do not implement this command. Now we exit gracefully. ``` The specified command ("completion") is invalid. For a list of available options, run "ng help". Did you mean "analytics"? ``` Closes #23518 --- packages/angular/cli/lib/init.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index e4ee414f05e9..ce4014a4db80 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -24,7 +24,7 @@ import { VERSION } from '../src/utilities/version'; */ let forceExit = false; -(async () => { +(async (): Promise => { /** * Disable Browserslist old data warning as otherwise with every release we'd need to update this dependency * which is cumbersome considering we pin versions and the warning is not user actionable. @@ -42,6 +42,8 @@ let forceExit = false; } let cli; + const rawCommandName = process.argv[2]; + try { // No error implies a projectLocalCli, which will load whatever // version of ng-cli you have installed in a local package.json @@ -68,6 +70,11 @@ let forceExit = false; // Ensure older versions of the CLI fully exit if (major(localVersion) < 14) { forceExit = true; + + // Versions prior to 14 didn't implement completion command. + if (rawCommandName === 'completion') { + return null; + } } let isGlobalGreater = false; @@ -78,7 +85,6 @@ let forceExit = false; console.error('Version mismatch check skipped. Unable to compare local version: ' + error); } - const rawCommandName = process.argv[2]; // When using the completion command, don't show the warning as otherwise this will break completion. if (isGlobalGreater && rawCommandName !== 'completion') { // If using the update command and the global version is greater, use the newer update command @@ -114,14 +120,12 @@ let forceExit = false; return cli; })() - .then((cli) => { - return cli({ + .then((cli) => + cli?.({ cliArgs: process.argv.slice(2), - inputStream: process.stdin, - outputStream: process.stdout, - }); - }) - .then((exitCode: number) => { + }), + ) + .then((exitCode = 0) => { if (forceExit) { process.exit(exitCode); } From 66422c66580590109c410c485f5550c0fa52fb1d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 7 Jul 2022 13:18:30 +0000 Subject: [PATCH 0642/1388] build: update dependency aspect_bazel_lib to v1.5.1 --- WORKSPACE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 2fb09a41396b..e7b039b8cf41 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "e519592a1f0b7c27334b3a50d4d9f3f7c0d929253681e83d6fb2d60009a32f11", - strip_prefix = "bazel-lib-1.5.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.5.0.tar.gz", + sha256 = "8a329d66e95b36efcfb66e0c1074e5f36b9be7e5b6fce96605315db088eb1407", + strip_prefix = "bazel-lib-1.5.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.5.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") From 951292e2dc017761be1f0b4db9e16e1c2d8aa9dc Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 7 Jul 2022 21:36:32 +0000 Subject: [PATCH 0643/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 26 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 848 +++++------------- 7 files changed, 246 insertions(+), 672 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 207314c7bb8b..755eb7734ad9 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@b5e4e3227f855adf65529353b73669718bcb8a12 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@b5e4e3227f855adf65529353b73669718bcb8a12 + - uses: angular/dev-infra/github-actions/post-approval-changes@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index aeb260836c20..886f17819435 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@b5e4e3227f855adf65529353b73669718bcb8a12 + - uses: angular/dev-infra/github-actions/feature-request@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index e6c29e6e1794..cfa7552d0e0c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@b5e4e3227f855adf65529353b73669718bcb8a12 + - uses: angular/dev-infra/github-actions/lock-closed@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 62ddec2249cd..340b2e4870a4 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.4", + "@angular/animations": "14.0.5", "@angular/cdk": "14.0.4", - "@angular/common": "14.0.4", - "@angular/compiler": "14.0.4", - "@angular/compiler-cli": "14.0.4", - "@angular/core": "14.0.4", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19", - "@angular/forms": "14.0.4", - "@angular/localize": "14.0.4", + "@angular/common": "14.0.5", + "@angular/compiler": "14.0.5", + "@angular/compiler-cli": "14.0.5", + "@angular/core": "14.0.5", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b", + "@angular/forms": "14.0.5", + "@angular/localize": "14.0.5", "@angular/material": "14.0.4", - "@angular/platform-browser": "14.0.4", - "@angular/platform-browser-dynamic": "14.0.4", - "@angular/platform-server": "14.0.4", - "@angular/router": "14.0.4", - "@angular/service-worker": "14.0.4", + "@angular/platform-browser": "14.0.5", + "@angular/platform-browser-dynamic": "14.0.5", + "@angular/platform-server": "14.0.5", + "@angular/router": "14.0.5", + "@angular/service-worker": "14.0.5", "@babel/core": "7.18.6", "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index dafd831d9920..4355063f0295 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.4", - "@angular/compiler-cli": "14.0.4", + "@angular/compiler": "14.0.5", + "@angular/compiler-cli": "14.0.5", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index be7addcf4bfe..c760ef043b26 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#32e5733ad71b432a741a177eecccce938d1e61d2", - "@angular/cdk": "github:angular/cdk-builds#288cd42cd309e0142c4d99c2b3f787516336e523", - "@angular/common": "github:angular/common-builds#362359a21870da6a4df7e2d19011c64506fe7342", - "@angular/compiler": "github:angular/compiler-builds#50f539b13e81c1fb0b11cc684c2231ee57868ea6", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#45dc8a14d46b78f53f6a81104bd86845634a3ec9", - "@angular/core": "github:angular/core-builds#afe6d68c071ed9293f5bde0a165f10c8c3a9cbe3", - "@angular/forms": "github:angular/forms-builds#82eac75c621d2b6476cbeaaabb98810ee3a909e4", - "@angular/language-service": "github:angular/language-service-builds#38ddff39a60cea34938a012a33458f6ddecc4268", - "@angular/localize": "github:angular/localize-builds#1c526f958a08b6b3115a41261e36dd68b6dcbcd9", - "@angular/material": "github:angular/material-builds#f91e6cec6e1d08faa08326cb912de438566f7830", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#d6bfe836c2e055eb1c2e1dda8b91d14ee1adb32e", - "@angular/platform-browser": "github:angular/platform-browser-builds#5f75d4ac10de35ef006f78fc4b3ff567b87d3d1c", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7043c82d7ead9ff9065e50becab6fb1ec33c4814", - "@angular/platform-server": "github:angular/platform-server-builds#5053be8f92160d6e6f95633a67e1ffe91be2cccc", - "@angular/router": "github:angular/router-builds#05d87658ec342d6f961cc4df5a7d8fdc273584ef", - "@angular/service-worker": "github:angular/service-worker-builds#d162125f433d90bad52f5dbaa6cb18cf1f6240e2" + "@angular/animations": "github:angular/animations-builds#01be208242a8fd183e9e89c553ed8b9801fa8de1", + "@angular/cdk": "github:angular/cdk-builds#95b85231e01cef36cd8ad73ce8bddda4a61e04db", + "@angular/common": "github:angular/common-builds#04890e415c7b903ec55210a013bae179717d904d", + "@angular/compiler": "github:angular/compiler-builds#0683a2a974e7a5f6dbd31cfdc6614a9e6d4306da", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#94fb277f1391c04b67130a235a5745a6e56d7ae3", + "@angular/core": "github:angular/core-builds#aefce98c1d3b1d82616c943be5a1a9ce8168c837", + "@angular/forms": "github:angular/forms-builds#f58cc32aafde625bc1efcdbcf9f2dc0ed11dd48e", + "@angular/language-service": "github:angular/language-service-builds#3decd517a32303925917f3e7b1929ab09a455ec2", + "@angular/localize": "github:angular/localize-builds#cc9581805dc9bb69deb48af93a24fe056aee2e8f", + "@angular/material": "github:angular/material-builds#2a6fe7c3f83b05fd0433654daf599d55ca948ac2", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3068d75ffec016b247e725e0e91bd453dfe4c430", + "@angular/platform-browser": "github:angular/platform-browser-builds#8740adc604b8f6a94335e396a23f1949c5b6ccf4", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a38fd009dc0d0fb57f4143e490a1777bf2f6c58c", + "@angular/platform-server": "github:angular/platform-server-builds#14760149121f2a9561e05b520fbdf814743ea613", + "@angular/router": "github:angular/router-builds#482e3a33d379802908fbddc99e3ec333e3285949", + "@angular/service-worker": "github:angular/service-worker-builds#a943465ad1d12e441ad3ba970409199690348247" } } diff --git a/yarn.lock b/yarn.lock index 4c6134be61a2..47f3a7ffbca2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,34 +10,34 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1401.0-next.2": - version "0.1401.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.2.tgz#b6e25ea5ba38603b0a4fa2a7180f03771326597f" - integrity sha512-XQay7qobhwuUulAN7P7mlBjgRjVIsjSmtQRlVWomBPL/iosHI1RZW7MEcrkgiQxPemugIN+y0kifaZFOhjpRoA== +"@angular-devkit/architect@0.1401.0-next.4": + version "0.1401.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.4.tgz#5e63f645f47c42f9bfe13296cb0c561cc182c284" + integrity sha512-jPL5rlJX06J7g7FagL3FGnd/srKlg7TjwgU8EIXyIhZKVzT/jJEjY3esi6n0bBOXsErwU1SuF95s9x0W0vRvRg== dependencies: - "@angular-devkit/core" "14.1.0-next.2" + "@angular-devkit/core" "14.1.0-next.4" rxjs "6.6.7" -"@angular-devkit/build-angular@14.1.0-next.2": - version "14.1.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.2.tgz#4c68d7c7a8da599d7a63948d24ff83478d3ea06a" - integrity sha512-LXbT3DvttZmmGzkfAPXP08C3cEx0K7AwleUijp+giRzcraoRdjOzcR7G2R9OLLNa4bwLBFc8wkU28Y02U4xb7g== +"@angular-devkit/build-angular@14.1.0-next.4": + version "14.1.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.4.tgz#2c8ac035d757fc44af73943814bc05c7898a31be" + integrity sha512-H5WOmUkQpk29GQF2YCfi72fZH1/XVjWRlgoxpV6cP+tmHk5XDH43uSk8lFVGfw+S2+2XguJORYsJgks4CvquIA== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1401.0-next.2" - "@angular-devkit/build-webpack" "0.1401.0-next.2" - "@angular-devkit/core" "14.1.0-next.2" - "@babel/core" "7.18.2" - "@babel/generator" "7.18.2" - "@babel/helper-annotate-as-pure" "7.16.7" - "@babel/plugin-proposal-async-generator-functions" "7.17.12" - "@babel/plugin-transform-async-to-generator" "7.17.12" - "@babel/plugin-transform-runtime" "7.18.2" - "@babel/preset-env" "7.18.2" - "@babel/runtime" "7.18.3" - "@babel/template" "7.16.7" + "@angular-devkit/architect" "0.1401.0-next.4" + "@angular-devkit/build-webpack" "0.1401.0-next.4" + "@angular-devkit/core" "14.1.0-next.4" + "@babel/core" "7.18.6" + "@babel/generator" "7.18.7" + "@babel/helper-annotate-as-pure" "7.18.6" + "@babel/plugin-proposal-async-generator-functions" "7.18.6" + "@babel/plugin-transform-async-to-generator" "7.18.6" + "@babel/plugin-transform-runtime" "7.18.6" + "@babel/preset-env" "7.18.6" + "@babel/runtime" "7.18.6" + "@babel/template" "7.18.6" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.1.0-next.2" + "@ngtools/webpack" "14.1.0-next.4" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -46,17 +46,17 @@ copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.42" + esbuild-wasm "0.14.48" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" - less "4.1.2" + less "4.1.3" less-loader "11.0.0" license-webpack-plugin "4.0.2" loader-utils "3.2.0" - mini-css-extract-plugin "2.6.0" + mini-css-extract-plugin "2.6.1" minimatch "5.1.0" open "8.4.0" ora "5.4.1" @@ -65,52 +65,52 @@ postcss "8.4.14" postcss-import "14.1.0" postcss-loader "7.0.0" - postcss-preset-env "7.7.0" + postcss-preset-env "7.7.2" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.52.2" - sass-loader "13.0.0" + sass "1.53.0" + sass-loader "13.0.2" semver "7.3.7" source-map-loader "4.0.0" source-map-support "0.5.21" stylus "0.58.1" stylus-loader "7.0.0" - terser "5.14.0" + terser "5.14.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.0" webpack "5.73.0" webpack-dev-middleware "5.3.3" - webpack-dev-server "4.9.1" + webpack-dev-server "4.9.3" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.42" + esbuild "0.14.48" -"@angular-devkit/build-webpack@0.1401.0-next.2": - version "0.1401.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.2.tgz#53fb00ba5ffc083fe02ed20bc15dcfb3f0963c3d" - integrity sha512-59Y1dOC7IQPrjrYMkOxbQUsbhL/2WAQtzY4ETFtCoAzUh/kVgV6L236oM5ZsKT+b7317cmtRngtvMAZLW22hQQ== +"@angular-devkit/build-webpack@0.1401.0-next.4": + version "0.1401.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.4.tgz#4d893b086e76114f34ad77f8eb06c082bb924bd5" + integrity sha512-/gOTPmc8OZgMP0n8ec/FMfhTveVHIJyPR68/5IARUnpbUHEmJPZL98zahDgcFST3B05Fg8Xq1rmKOq13oV5Khg== dependencies: - "@angular-devkit/architect" "0.1401.0-next.2" + "@angular-devkit/architect" "0.1401.0-next.4" rxjs "6.6.7" -"@angular-devkit/core@14.1.0-next.2": - version "14.1.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.2.tgz#3f68034c94a7e82865ff4ca89a43a8b0105a5ac5" - integrity sha512-ZLfoMLlAFBIaHVRGBYk1vjjhPBa5MHIUtBg6TZEs+opIgw+PxyRo9nVePv7VfFKehypC4PzJMwNnUkhMTAtXKA== +"@angular-devkit/core@14.1.0-next.4": + version "14.1.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.4.tgz#af9885036517252380ff13817b9c2175f63c26cf" + integrity sha512-RU6HIO47jnDr4LmVgwiwxtAh1ZftKKkLTh6JdF3O+TyxVIczXAG9fAv0fGEEocCWXjR3+CNPOizMtpPp9H7Seg== dependencies: ajv "8.11.0" ajv-formats "2.1.1" jsonc-parser "3.0.0" rxjs "6.6.7" - source-map "0.7.3" + source-map "0.7.4" -"@angular/animations@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.4.tgz#cd483faa04f0c379c77b047a2e35b1823c7f435f" - integrity sha512-+Qe+wLA0DOHlOdFRQSEJoenhFm5zcKwkDItqAFT5NVYOT04yxXq8NFRIHSbqn468qR70EkX514lKi6pr6nxGYQ== +"@angular/animations@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.5.tgz#f9890056a5deef6b4acabfbaf5b182cdede5004c" + integrity sha512-oQy4rZIsJUHbK4CMxEgxVVOKAbX+k16Wqc9t6zPlqayvj0wQA1XdTdbXMfiZyekFgtfnjb+UPjmXa2FNe1G8NQ== dependencies: tslib "^2.3.0" @@ -131,17 +131,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.4.tgz#ccff13ca5163c90619a33ed1d2bb012ced9846cd" - integrity sha512-CvlFa2lCxen0LB3N45IzZDdMIqpcasXfVUhiAkLxZgT+kSTunc/rg8hMoLHVfmFpkQKCQmPVyuzNXnSwIFhYkQ== +"@angular/common@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.5.tgz#dcade430332900b2371fabba692be741a33866e0" + integrity sha512-YFRPxx3yRLjk0gPL7tm/97mi8+Pjt3q6zWCjrLkAlDjniDvgmKNWIQ1h6crZQR0Cw7yNqK0QoFXQgTw0GJIWLQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.4.tgz#1f50ebd052d008feb55be9db010c752e23b99ee9" - integrity sha512-j3T0dOwNov6rKcaxLMSlPLRvrBT6MyBTum18x6XvZRqb75RUAJ/yV+PXgtA//XZ2hjuy87+CvZy3tBKktvY7bA== +"@angular/compiler-cli@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.5.tgz#c94f9d62b12cab06f76a040b1837251c43dd6689" + integrity sha512-1bzojB5OoI/YLC7er+h+v1teG4Pp4jUxsFm9FmmgGaJ4gfadsPshzhZNASKoq/g7bQB7RnX0kgTGwwQImpirwQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,26 +154,33 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.4.tgz#29058864b8e44e8919ae8f895bb5569f678d34e3" - integrity sha512-WdRpZFTX2vt71sSfQ89C1K5l2zhYtn8ON+ZlAVxyZ5uT0nA/Z/vuMLfNZB1WmcGVDOc7JmQduSiSaI0hhQqXqw== +"@angular/compiler@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.5.tgz#92e5da8aed7f559c62ef0e5e974912fffc1fa000" + integrity sha512-2Fxrdd5558FFSgWU0szYMo6Lea1jzBPzn8oAcLxo/OkaHgX8tSrlmY6y3TMlSxJu8NbdKcq1CqFMrfw5mqtoDA== + dependencies: + tslib "^2.3.0" + +"@angular/core@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.5.tgz#135db22c6cc2ea51fc8f504f1400a5453f73eec3" + integrity sha512-4MIfFM2nD+N0/Dk8xKfKvbdS/zYRhQgdnKT6ZIIV7Y/XCfn5QAIa4+vB5BEAZpuzSsZHLVdBQQ0TkaiONLfL2Q== dependencies: tslib "^2.3.0" -"@angular/core@14.0.4", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.4" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.4.tgz#207f49f023ea6a59ab44659957c8745692a392f9" integrity sha512-uMS/X+/5RokF3uiiD1IAr6Ha9k7QPegHrAB3QW0x6WRUTMq0K+08F+AeF5COmbfYMMaxofD6x8XmM+BLeg/0hw== dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19": - version "0.0.0-b5e4e3227f855adf65529353b73669718bcb8a12" - uid fed440324f82e9220f107c74c039210bd9c6ec19 - resolved "https://github.com/angular/dev-infra-private-builds.git#fed440324f82e9220f107c74c039210bd9c6ec19" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b": + version "0.0.0-19cf0d937c5d6fa749034c34d5f7f95b46ff64d9" + uid b8d2fd661e0d843953763e79456c4d096778e66b + resolved "https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b" dependencies: - "@angular-devkit/build-angular" "14.1.0-next.2" + "@angular-devkit/build-angular" "14.1.0-next.4" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -183,7 +190,7 @@ "@bazel/runfiles" "5.5.1" "@bazel/terser" "5.5.1" "@bazel/typescript" "5.5.1" - "@microsoft/api-extractor" "7.25.2" + "@microsoft/api-extractor" "7.28.3" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -196,7 +203,7 @@ clang-format "1.8.0" prettier "2.7.1" protractor "^7.0.0" - selenium-webdriver "4.2.0" + selenium-webdriver "4.3.1" send "^0.18.0" source-map "^0.7.4" tmp "^0.2.1" @@ -206,17 +213,17 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.4.tgz#99e329387081332b717f162647997ecaea7cef53" - integrity sha512-u/9y09WQ00y6BQeNo69hMa/Fx+xKHGnmcjMtS3xkZtmoCP+A0ebumG0Y9DfXs2olJY2//O5di7Qu3fwlBg+3Cw== +"@angular/forms@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.5.tgz#d9d749352f9d3945c83af1cc3a9df8bafb60327e" + integrity sha512-N1sxzaG4r0rwT3++lyYmbCUgSZaZA7E2NURvU1OFw6fay/XlI+ss1ZBFc6X0XfSa+OWxPuIBKnPmmQlP7aKOiQ== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.4.tgz#268d236e9f35e36d694f14488238e688f82c7b0b" - integrity sha512-NkUSgaeO0PgPOG9dsa83nApsJ5MsrFjY4ECW9Sz8lAt7EIW86qOPKKdvJdZgAbLFJnEEWlj9dEo8wIHSMblZ0A== +"@angular/localize@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.5.tgz#9f794565d2a366f14bd4ce9cd9442dbc377b5f7d" + integrity sha512-TjyzlNAv5AA5kvIvy5UoOt32pv/1NPdhNena0LMR9XK+YhXbgK4ezJqj+mLPmZlqE56DChBpYGLFfHRA057mDA== dependencies: "@babel/core" "7.18.2" glob "8.0.3" @@ -229,40 +236,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.4.tgz#f9593e8bf210dbc026601cb32ec317f5879758f1" - integrity sha512-snVbAKfnBuCUMgop6ln111B/ouMnDR1ZzMzpiKefdJDGUvASCLbR8XAioY+zXUI82QbNg5masUPia1Fy+yTvGw== +"@angular/platform-browser-dynamic@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.5.tgz#6b31c1fdeebd57e36e7f7e5ca7445fc2abb607c7" + integrity sha512-VVka6K5jFd6DkFOq+ddMUj1QuI5+As5SbDLkJW0N452cYXA+CE5Y265DvbNbdXXl5wSffGGrizlKrI8jp9uLEQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.4.tgz#7f7f98a39ed5047813d4db285fc01857de08b701" - integrity sha512-VFeFpQ+248m8GiCqcsHwH4PET7tR1cyXnhsep1EeI4MDaO+aIbsUcESqXzMm5+ChOmNyiCtLQu8QvfHZK0uDVA== +"@angular/platform-browser@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.5.tgz#d54fb7647f60e68a36300a4a515011bd7b655b98" + integrity sha512-uWFLBKuEgLuT1HnWctr8rMdnwZZ2gEcUWbhbf6DvwePcN1G5T+ltDOcQ3o2a8396hgmU0JyxBFVyGC/PiCe5fQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.4.tgz#40244b5141937e97b9317046d155ba1f2d4113a2" - integrity sha512-g92AgkwaZqKIcdTPWYeEKKcq3YZi4/K0rurgtyJzDEHPJyzcZGA9MGTNz/Efm6Op1WboD+bQ4zCfHv3lzveAgw== +"@angular/platform-server@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.5.tgz#6fdf0364267b43224f5c677eb261f20d97836bc8" + integrity sha512-sMnKlNQM1YUgOcNbRqXngp9TYIHVBrf66pyxg5FzhlgQRHb56T+iYwHIVYriJggHlGyJ58qocuGsBHF6x9FNFA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.4.tgz#46cb7ed54b232217da31bd5b1f2274027589b28c" - integrity sha512-aqtOjIjVNtWbpedDdni0yGfGR6sEb8S3jJB9jf43ththmHKxAlW7PKP2NgEmx0uJ2xY2iGET7Gkpl8RBwvoHgQ== +"@angular/router@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.5.tgz#3492240e0fa363e54dfb6e81618796019f7fe270" + integrity sha512-10V6MCzg65HdnylSOSDvmcvhWhsVaedrzyfulvAT1/f77HZkK8yv1lTZ9gL/rAMOnKoH3uzdQqlDj8AnuRLKFw== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.4.tgz#a661bafbbd2bf3fd5aa1cacba22df1ab973f3bdb" - integrity sha512-dJzsDTQg6LRNK/wJPi06EdfKCSnvil3DD6HNHDMHNxLE4J5NQmZdd6bCBEkXTOchqpOUjae4ej/ZelEE0te3Bg== +"@angular/service-worker@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.5.tgz#8b097d1f70b71a76def13c8f167eb102d8d7c813" + integrity sha512-Olh/KpCLLYeThoszZ/l4RupnSgsHaakdL1PyFvQTNDIbDLBhvhwfYKYDhFEwpeP+FOxfpkM59bF0zhmojDfRCw== dependencies: tslib "^2.3.0" @@ -278,7 +285,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10", "@babel/compat-data@^7.18.6": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ== @@ -325,15 +332,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" - integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== - dependencies: - "@babel/types" "^7.18.2" - "@jridgewell/gen-mapping" "^0.3.0" - jsesc "^2.5.1" - "@babel/generator@7.18.7", "@babel/generator@^7.18.2", "@babel/generator@^7.18.6": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" @@ -343,13 +341,6 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -444,7 +435,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== @@ -472,12 +463,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d" integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg== -"@babel/helper-remap-async-to-generator@^7.16.8", "@babel/helper-remap-async-to-generator@^7.18.6": +"@babel/helper-remap-async-to-generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz#fa1f81acd19daee9d73de297c0308783cd3cfc23" integrity sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ== @@ -524,7 +515,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== -"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6": +"@babel/helper-validator-option@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== @@ -557,19 +548,19 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.6.tgz#b4e4dbc2cd1acd0133479918f7c6412961c9adb8" integrity sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw== @@ -578,16 +569,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" "@babel/plugin-proposal-optional-chaining" "^7.18.6" -"@babel/plugin-proposal-async-generator-functions@7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" - integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.17.12", "@babel/plugin-proposal-async-generator-functions@^7.18.6": +"@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== @@ -597,7 +579,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.17.12", "@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -605,7 +587,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.18.0", "@babel/plugin-proposal-class-static-block@^7.18.6": +"@babel/plugin-proposal-class-static-block@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== @@ -614,7 +596,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.16.7", "@babel/plugin-proposal-dynamic-import@^7.18.6": +"@babel/plugin-proposal-dynamic-import@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== @@ -622,7 +604,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.17.12", "@babel/plugin-proposal-export-namespace-from@^7.18.6": +"@babel/plugin-proposal-export-namespace-from@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.6.tgz#1016f0aa5ab383bbf8b3a85a2dcaedf6c8ee7491" integrity sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw== @@ -630,7 +612,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.17.12", "@babel/plugin-proposal-json-strings@^7.18.6": +"@babel/plugin-proposal-json-strings@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== @@ -638,7 +620,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.17.12", "@babel/plugin-proposal-logical-assignment-operators@^7.18.6": +"@babel/plugin-proposal-logical-assignment-operators@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.6.tgz#3b9cac6f1ffc2aa459d111df80c12020dfc6b665" integrity sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q== @@ -646,7 +628,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -654,7 +636,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.7", "@babel/plugin-proposal-numeric-separator@^7.18.6": +"@babel/plugin-proposal-numeric-separator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== @@ -662,7 +644,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.18.0", "@babel/plugin-proposal-object-rest-spread@^7.18.6": +"@babel/plugin-proposal-object-rest-spread@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.6.tgz#ec93bba06bfb3e15ebd7da73e953d84b094d5daf" integrity sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw== @@ -673,7 +655,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.18.6" -"@babel/plugin-proposal-optional-catch-binding@^7.16.7", "@babel/plugin-proposal-optional-catch-binding@^7.18.6": +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== @@ -681,7 +663,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.17.12", "@babel/plugin-proposal-optional-chaining@^7.18.6": +"@babel/plugin-proposal-optional-chaining@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.6.tgz#46d4f2ffc20e87fad1d98bc4fa5d466366f6aa0b" integrity sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA== @@ -690,7 +672,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.17.12", "@babel/plugin-proposal-private-methods@^7.18.6": +"@babel/plugin-proposal-private-methods@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== @@ -698,7 +680,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.17.12", "@babel/plugin-proposal-private-property-in-object@^7.18.6": +"@babel/plugin-proposal-private-property-in-object@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== @@ -708,7 +690,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== @@ -751,7 +733,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.17.12", "@babel/plugin-syntax-import-assertions@^7.18.6": +"@babel/plugin-syntax-import-assertions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== @@ -821,23 +803,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.17.12", "@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-transform-arrow-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" - integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-async-to-generator@7.18.6", "@babel/plugin-transform-async-to-generator@^7.17.12", "@babel/plugin-transform-async-to-generator@^7.18.6": +"@babel/plugin-transform-async-to-generator@7.18.6", "@babel/plugin-transform-async-to-generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== @@ -846,21 +819,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" -"@babel/plugin-transform-block-scoped-functions@^7.16.7", "@babel/plugin-transform-block-scoped-functions@^7.18.6": +"@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.17.12", "@babel/plugin-transform-block-scoping@^7.18.6": +"@babel/plugin-transform-block-scoping@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.6.tgz#b5f78318914615397d86a731ef2cc668796a726c" integrity sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-classes@^7.17.12", "@babel/plugin-transform-classes@^7.18.6": +"@babel/plugin-transform-classes@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.6.tgz#3501a8f3f4c7d5697c27a3eedbee71d68312669f" integrity sha512-XTg8XW/mKpzAF3actL554Jl/dOYoJtv3l8fxaEczpgz84IeeVf+T1u2CSvPHuZbt0w3JkIx4rdn/MRQI7mo0HQ== @@ -874,21 +847,21 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.17.12", "@babel/plugin-transform-computed-properties@^7.18.6": +"@babel/plugin-transform-computed-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.6.tgz#5d15eb90e22e69604f3348344c91165c5395d032" integrity sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-destructuring@^7.18.0", "@babel/plugin-transform-destructuring@^7.18.6": +"@babel/plugin-transform-destructuring@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.6.tgz#a98b0e42c7ffbf5eefcbcf33280430f230895c6f" integrity sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== @@ -896,14 +869,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.17.12", "@babel/plugin-transform-duplicate-keys@^7.18.6": +"@babel/plugin-transform-duplicate-keys@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.6.tgz#e6c94e8cd3c9dd8a88144f7b78ae22975a7ff473" integrity sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-exponentiation-operator@^7.16.7", "@babel/plugin-transform-exponentiation-operator@^7.18.6": +"@babel/plugin-transform-exponentiation-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== @@ -911,14 +884,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-for-of@^7.18.1", "@babel/plugin-transform-for-of@^7.18.6": +"@babel/plugin-transform-for-of@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.6.tgz#e0fdb813be908e91ccc9ec87b30cc2eabf046f7c" integrity sha512-WAjoMf4wIiSsy88KmG7tgj2nFdEK7E46tArVtcgED7Bkj6Fg/tG5SbvNIOKxbFS2VFgNh6+iaPswBeQZm4ox8w== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.16.7", "@babel/plugin-transform-function-name@^7.18.6": +"@babel/plugin-transform-function-name@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.6.tgz#6a7e4ae2893d336fd1b8f64c9f92276391d0f1b4" integrity sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA== @@ -927,21 +900,21 @@ "@babel/helper-function-name" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-literals@^7.17.12", "@babel/plugin-transform-literals@^7.18.6": +"@babel/plugin-transform-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.6.tgz#9d6af353b5209df72960baf4492722d56f39a205" integrity sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-member-expression-literals@^7.16.7", "@babel/plugin-transform-member-expression-literals@^7.18.6": +"@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.18.0", "@babel/plugin-transform-modules-amd@^7.18.6": +"@babel/plugin-transform-modules-amd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== @@ -950,7 +923,7 @@ "@babel/helper-plugin-utils" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.18.2", "@babel/plugin-transform-modules-commonjs@^7.18.6": +"@babel/plugin-transform-modules-commonjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== @@ -960,7 +933,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.0", "@babel/plugin-transform-modules-systemjs@^7.18.6": +"@babel/plugin-transform-modules-systemjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.6.tgz#026511b7657d63bf5d4cf2fd4aeb963139914a54" integrity sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g== @@ -971,7 +944,7 @@ "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.18.0", "@babel/plugin-transform-modules-umd@^7.18.6": +"@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== @@ -979,7 +952,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12", "@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": +"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== @@ -987,14 +960,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-new-target@^7.17.12", "@babel/plugin-transform-new-target@^7.18.6": +"@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.16.7", "@babel/plugin-transform-object-super@^7.18.6": +"@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== @@ -1002,21 +975,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.17.12", "@babel/plugin-transform-parameters@^7.18.6": +"@babel/plugin-transform-parameters@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.6.tgz#cbe03d5a4c6385dd756034ac1baa63c04beab8dc" integrity sha512-FjdqgMv37yVl/gwvzkcB+wfjRI8HQmc5EgOG9iGNvUY1ok+TjsoaMP7IqCDZBhkFcM5f3OPVMs6Dmp03C5k4/A== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-property-literals@^7.16.7", "@babel/plugin-transform-property-literals@^7.18.6": +"@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.18.0", "@babel/plugin-transform-regenerator@^7.18.6": +"@babel/plugin-transform-regenerator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== @@ -1024,25 +997,13 @@ "@babel/helper-plugin-utils" "^7.18.6" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.17.12", "@babel/plugin-transform-reserved-words@^7.18.6": +"@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-runtime@7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz#04637de1e45ae8847ff14b9beead09c33d34374d" - integrity sha512-mr1ufuRMfS52ttq+1G1PD8OJNqgcTFjq3hwn8SZ5n1x1pBhi0E36rYMdTK0TsKtApJ4lDEdfXJwtGobQMHSMPg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.17.12" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz#77b14416015ea93367ca06979710f5000ff34ccb" @@ -1055,14 +1016,14 @@ babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.16.7", "@babel/plugin-transform-shorthand-properties@^7.18.6": +"@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.17.12", "@babel/plugin-transform-spread@^7.18.6": +"@babel/plugin-transform-spread@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.6.tgz#82b080241965f1689f0a60ecc6f1f6575dbdb9d6" integrity sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw== @@ -1070,35 +1031,35 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" -"@babel/plugin-transform-sticky-regex@^7.16.7", "@babel/plugin-transform-sticky-regex@^7.18.6": +"@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.18.2", "@babel/plugin-transform-template-literals@^7.18.6": +"@babel/plugin-transform-template-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.6.tgz#b763f4dc9d11a7cce58cf9a490d82e80547db9c2" integrity sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-typeof-symbol@^7.17.12", "@babel/plugin-transform-typeof-symbol@^7.18.6": +"@babel/plugin-transform-typeof-symbol@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.6.tgz#486bb39d5a18047358e0d04dc0d2f322f0b92e92" integrity sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-unicode-escapes@^7.16.7", "@babel/plugin-transform-unicode-escapes@^7.18.6": +"@babel/plugin-transform-unicode-escapes@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-unicode-regex@^7.16.7", "@babel/plugin-transform-unicode-regex@^7.18.6": +"@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== @@ -1106,87 +1067,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a" - integrity sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q== - dependencies: - "@babel/compat-data" "^7.17.10" - "@babel/helper-compilation-targets" "^7.18.2" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.17.12" - "@babel/plugin-proposal-async-generator-functions" "^7.17.12" - "@babel/plugin-proposal-class-properties" "^7.17.12" - "@babel/plugin-proposal-class-static-block" "^7.18.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.17.12" - "@babel/plugin-proposal-json-strings" "^7.17.12" - "@babel/plugin-proposal-logical-assignment-operators" "^7.17.12" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.17.12" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.18.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.17.12" - "@babel/plugin-proposal-private-methods" "^7.17.12" - "@babel/plugin-proposal-private-property-in-object" "^7.17.12" - "@babel/plugin-proposal-unicode-property-regex" "^7.17.12" - "@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.17.12" - "@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" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.17.12" - "@babel/plugin-transform-async-to-generator" "^7.17.12" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.17.12" - "@babel/plugin-transform-classes" "^7.17.12" - "@babel/plugin-transform-computed-properties" "^7.17.12" - "@babel/plugin-transform-destructuring" "^7.18.0" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.17.12" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.18.1" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.17.12" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.18.0" - "@babel/plugin-transform-modules-commonjs" "^7.18.2" - "@babel/plugin-transform-modules-systemjs" "^7.18.0" - "@babel/plugin-transform-modules-umd" "^7.18.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12" - "@babel/plugin-transform-new-target" "^7.17.12" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.17.12" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.18.0" - "@babel/plugin-transform-reserved-words" "^7.17.12" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.17.12" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.18.2" - "@babel/plugin-transform-typeof-symbol" "^7.17.12" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.2" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.22.1" - semver "^6.3.0" - "@babel/preset-env@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.6.tgz#953422e98a5f66bc56cd0b9074eaea127ec86ace" @@ -1279,13 +1159,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.18.3": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" - integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.18.6", "@babel/runtime@^7.8.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" @@ -1293,15 +1166,6 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - "@babel/template@7.18.6", "@babel/template@^7.16.7", "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" @@ -1327,7 +1191,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.18.2", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.2", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726" integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ== @@ -1416,7 +1280,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.2", "@csstools/postcss-cascade-layers@^1.0.4": +"@csstools/postcss-cascade-layers@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.4.tgz#9086bd2e71b43a947ae61bb735b0a83ab1549a68" integrity sha512-zP2tQIFu4C3HueOT+G4Pkla7f2Z6pfXphc1Y9wDE5jS2Ss6dk/asQ7FFEFWKgy3EkYc7E1FSjzhfeZVGg5sjXQ== @@ -1454,7 +1318,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.4", "@csstools/postcss-is-pseudo-class@^2.0.6": +"@csstools/postcss-is-pseudo-class@^2.0.6": version "2.0.6" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.6.tgz#1d82d798a2ce0b5f793d34710976f184c4f6560c" integrity sha512-Oqs396oenuyyMdRXOstxXbxei8fYEgToYjmlYHEi5gk0QLk7xQ72LY7NDr7waWAAmdVzRqPpbE26Q7/cUrGu4Q== @@ -1491,7 +1355,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^1.0.0", "@csstools/postcss-trigonometric-functions@^1.0.1": +"@csstools/postcss-trigonometric-functions@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.1.tgz#e36e61f445614193dbf6d3a8408709b0cf184a6f" integrity sha512-G78CY/+GePc6dDCTUbwI6TTFQ5fs3N9POHhI6v0QzteGpf6ylARiJUNz9HrRKi4eVYBNXjae1W2766iUEFxHlw== @@ -1637,26 +1501,26 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.18.2.tgz#def74be8bc785beb9a6f52a0a4c0b9f8f782e587" - integrity sha512-m7MCvJrudnWyE4iuRhdmgJTdTkYLw+yN/XUp3y9sxicu5/mNdg8y4pflaM82ZbLakhfGreMlB/XgjvyGbLHwkA== +"@microsoft/api-extractor-model@7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.21.0.tgz#2138682e738a14038d40165ec77362e69853f200" + integrity sha512-NN4mXzoQWTuzznIcnLWeV6tGyn6Os9frDK6M/mmTXZ73vUYOvSWoKQ5SYzyzP7HF3YtvTmr1Rs+DsBb0HRx7WQ== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.7" + "@rushstack/node-core-library" "3.49.0" -"@microsoft/api-extractor@7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.25.2.tgz#365639ad7409dcc1ccdfdd9ba35db99592a41531" - integrity sha512-ITuiZqMszZE38dGqavkFFIAW/GQGfkk8ahgBqVj3j1qD4wioPTRlSidhQDCezExAhrMt/bTkuZ3woLeR0uiSsg== +"@microsoft/api-extractor@7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.28.3.tgz#516d8a81b1c62949116e258d54c03ee8c5b7740a" + integrity sha512-lkDHPyln8MNEy1QHjmGwedRquclGKU0qL0gHplfnHuSTXSoNQ86UYaPmhG77/GiNehXzGNKMYSIfTsuoQb69jA== dependencies: - "@microsoft/api-extractor-model" "7.18.2" + "@microsoft/api-extractor-model" "7.21.0" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.45.7" - "@rushstack/rig-package" "0.3.12" - "@rushstack/ts-command-line" "4.11.1" + "@rushstack/node-core-library" "3.49.0" + "@rushstack/rig-package" "0.3.13" + "@rushstack/ts-command-line" "4.12.1" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" @@ -1679,10 +1543,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.1.0-next.2": - version "14.1.0-next.2" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.2.tgz#cedb06a9101a959faef5d88a40d846eb65318680" - integrity sha512-EuYY9LFJ2U4g2IaFbvQAW9o2XioXoa0J8NZr4Ju21wrJKgoPVegoKkw3E9pFskMI3NrIcDvvnRGz23+rD74IAA== +"@ngtools/webpack@14.1.0-next.4": + version "14.1.0-next.4" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.4.tgz#94cebdff456ba4169d19a2741cc787748547b3eb" + integrity sha512-ziW+ElIhgrwFLM7nBkcwtli7iA6RMzZnvBAgQAEkRhyi9l969m/LSidAC73U0l06JiBWOzZAiGBgR/kd3uFW+w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1946,10 +1810,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.45.7": - version "3.45.7" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.7.tgz#e959820a6db067c278c20df51503e2bc422e9349" - integrity sha512-DHfOvgPrm9X4uILlUfGgiqcobe5QGNDmqqYLM8dJ5M5fqQ9H5GwyUwBnFeRsxBo0b75RE83l41Oze+gdHKvKaA== +"@rushstack/node-core-library@3.49.0": + version "3.49.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.49.0.tgz#0324c1a5ba5e469967b70e9718d1a90750648503" + integrity sha512-yBJRzGgUNFwulVrwwBARhbGaHsxVMjsZ9JwU1uSBbqPYCdac+t2HYdzi4f4q/Zpgb0eNbwYj2yxgHYpJORNEaw== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1961,18 +1825,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.12": - version "0.3.12" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.12.tgz#6bf2d45374ba665902bf31ec0c6e5dad55ba1b73" - integrity sha512-ZzxuBWG0wbOtI+9IHYvOsr3QN52GtxTWpcaHMsQ/PC9us2ve/k0xK0XOMu+CtStyHSnBG2nDdnF9vFv9HMYOZg== +"@rushstack/rig-package@0.3.13": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.13.tgz#80d7b34bc9b7a7feeba133f317df8dbd1f65a822" + integrity sha512-4/2+yyA/uDl7LQvtYtFs1AkhSWuaIGEKhP9/KK2nNARqOVc5eCXmu1vyOqr5mPvNq7sHoIR+sG84vFbaKYGaDA== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.11.1.tgz#10b80960ddaed685445289807c75743e4ef0b5e9" - integrity sha512-Xo8LaQOXlNSfp+qIuIPb1tfX7b4H21ksqiMo/HbeZI5AX1klHMqKjWcEs0AqgE9huvQj6cvnCla8Eq/GDcwMIg== +"@rushstack/ts-command-line@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.12.1.tgz#4437ffae6459eb88791625ad9e89b2f0ba254476" + integrity sha512-S1Nev6h/kNnamhHeGdp30WgxZTA+B76SJ/P721ctP7DrnC+rrjAc6h/R80I4V0cA2QuEEcMdVOQCtK2BTjsOiQ== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3244,7 +3108,7 @@ babel-plugin-istanbul@6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.0, babel-plugin-polyfill-corejs2@^0.3.1: +babel-plugin-polyfill-corejs2@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== @@ -3253,7 +3117,7 @@ babel-plugin-polyfill-corejs2@^0.3.0, babel-plugin-polyfill-corejs2@^0.3.1: "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.0, babel-plugin-polyfill-corejs3@^0.5.2: +babel-plugin-polyfill-corejs3@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== @@ -3261,7 +3125,7 @@ babel-plugin-polyfill-corejs3@^0.5.0, babel-plugin-polyfill-corejs3@^0.5.2: "@babel/helper-define-polyfill-provider" "^0.3.1" core-js-compat "^3.21.0" -babel-plugin-polyfill-regenerator@^0.3.0, babel-plugin-polyfill-regenerator@^0.3.1: +babel-plugin-polyfill-regenerator@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== @@ -3913,7 +3777,7 @@ concat-stream@~1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -connect-history-api-fallback@^1, connect-history-api-fallback@^1.6.0: +connect-history-api-fallback@^1: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== @@ -4144,7 +4008,7 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.6.2, cssdb@^6.6.3: +cssdb@^6.6.3: version "6.6.3" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.3.tgz#1f331a2fab30c18d9f087301e6122a878bb1e505" integrity sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA== @@ -4728,242 +4592,111 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.42.tgz#d7ab3d44d3671218d22bce52f65642b12908d954" - integrity sha512-P4Y36VUtRhK/zivqGVMqhptSrFILAGlYp0Z8r9UQqHJ3iWztRCNWnlBzD9HRx0DbueXikzOiwyOri+ojAFfW6A== - esbuild-android-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.48.tgz#7e6394a0e517f738641385aaf553c7e4fb6d1ae3" integrity sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg== -esbuild-android-arm64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.42.tgz#45336d8bec49abddb3a022996a23373f45a57c27" - integrity sha512-0cOqCubq+RWScPqvtQdjXG3Czb3AWI2CaKw3HeXry2eoA2rrPr85HF7IpdU26UWdBXgPYtlTN1LUiuXbboROhg== - esbuild-android-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" integrity sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g== -esbuild-darwin-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.42.tgz#6dff5e44cd70a88c33323e2f5fb598e40c68a9e0" - integrity sha512-ipiBdCA3ZjYgRfRLdQwP82rTiv/YVMtW36hTvAN5ZKAIfxBOyPXY7Cejp3bMXWgzKD8B6O+zoMzh01GZsCuEIA== - esbuild-darwin-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" integrity sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA== -esbuild-darwin-arm64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.42.tgz#2c7313e1b12d2fa5b889c03213d682fb92ca8c4f" - integrity sha512-bU2tHRqTPOaoH/4m0zYHbFWpiYDmaA0gt90/3BMEFaM0PqVK/a6MA2V/ypV5PO0v8QxN6gH5hBPY4YJ2lopXgA== - esbuild-darwin-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" integrity sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA== -esbuild-freebsd-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.42.tgz#ad1c5a564a7e473b8ce95ee7f76618d05d6daffc" - integrity sha512-75h1+22Ivy07+QvxHyhVqOdekupiTZVLN1PMwCDonAqyXd8TVNJfIRFrdL8QmSJrOJJ5h8H1I9ETyl2L8LQDaw== - esbuild-freebsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" integrity sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA== -esbuild-freebsd-arm64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.42.tgz#4bdb480234144f944f1930829bace7561135ddc7" - integrity sha512-W6Jebeu5TTDQMJUJVarEzRU9LlKpNkPBbjqSu+GUPTHDCly5zZEQq9uHkmHHl7OKm+mQ2zFySN83nmfCeZCyNA== - esbuild-freebsd-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" integrity sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw== -esbuild-linux-32@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.42.tgz#ef18fd19f067e9d2b5f677d6b82fa81519f5a8c2" - integrity sha512-Ooy/Bj+mJ1z4jlWcK5Dl6SlPlCgQB9zg1UrTCeY8XagvuWZ4qGPyYEWGkT94HUsRi2hKsXvcs6ThTOjBaJSMfg== - esbuild-linux-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" integrity sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ== -esbuild-linux-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.42.tgz#d84e7333b1c1b22cf8b5b9dbb5dd9b2ecb34b79f" - integrity sha512-2L0HbzQfbTuemUWfVqNIjOfaTRt9zsvjnme6lnr7/MO9toz/MJ5tZhjqrG6uDWDxhsaHI2/nsDgrv8uEEN2eoA== - esbuild-linux-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" integrity sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug== -esbuild-linux-arm64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.42.tgz#dc19e282f8c4ffbaa470c02a4d171e4ae0180cca" - integrity sha512-c3Ug3e9JpVr8jAcfbhirtpBauLxzYPpycjWulD71CF6ZSY26tvzmXMJYooQ2YKqDY4e/fPu5K8bm7MiXMnyxuA== - esbuild-linux-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" integrity sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw== -esbuild-linux-arm@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.42.tgz#d49870e63e2242b8156bf473f2ee5154226be328" - integrity sha512-STq69yzCMhdRaWnh29UYrLSr/qaWMm/KqwaRF1pMEK7kDiagaXhSL1zQGXbYv94GuGY/zAwzK98+6idCMUOOCg== - esbuild-linux-arm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" integrity sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw== -esbuild-linux-mips64le@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.42.tgz#f4e6ff9bf8a6f175470498826f48d093b054fc22" - integrity sha512-QuvpHGbYlkyXWf2cGm51LBCHx6eUakjaSrRpUqhPwjh/uvNUYvLmz2LgPTTPwCqaKt0iwL+OGVL0tXA5aDbAbg== - esbuild-linux-mips64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" integrity sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA== -esbuild-linux-ppc64le@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.42.tgz#ac9c66fc80ba9f8fda15a4cc08f4e55f6c0aed63" - integrity sha512-8ohIVIWDbDT+i7lCx44YCyIRrOW1MYlks9fxTo0ME2LS/fxxdoJBwHWzaDYhjvf8kNpA+MInZvyOEAGoVDrMHg== - esbuild-linux-ppc64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" integrity sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ== -esbuild-linux-riscv64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.42.tgz#21e0ae492a3a9bf4eecbfc916339a66e204256d0" - integrity sha512-DzDqK3TuoXktPyG1Lwx7vhaF49Onv3eR61KwQyxYo4y5UKTpL3NmuarHSIaSVlTFDDpcIajCDwz5/uwKLLgKiQ== - esbuild-linux-riscv64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" integrity sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA== -esbuild-linux-s390x@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.42.tgz#06d40b957250ffd9a2183bfdfc9a03d6fd21b3e8" - integrity sha512-YFRhPCxl8nb//Wn6SiS5pmtplBi4z9yC2gLrYoYI/tvwuB1jldir9r7JwAGy1Ck4D7sE7wBN9GFtUUX/DLdcEQ== - esbuild-linux-s390x@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" integrity sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g== -esbuild-netbsd-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.42.tgz#185664f05f10914f14ed43bd9e22b7de584267f7" - integrity sha512-QYSD2k+oT9dqB/4eEM9c+7KyNYsIPgzYOSrmfNGDIyJrbT1d+CFVKvnKahDKNJLfOYj8N4MgyFaU9/Ytc6w5Vw== - esbuild-netbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" integrity sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw== -esbuild-openbsd-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.42.tgz#c29006f659eb4e55283044bbbd4eb4054fae8839" - integrity sha512-M2meNVIKWsm2HMY7+TU9AxM7ZVwI9havdsw6m/6EzdXysyCFFSoaTQ/Jg03izjCsK17FsVRHqRe26Llj6x0MNA== - esbuild-openbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" integrity sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA== -esbuild-sunos-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.42.tgz#aa9eec112cd1e7105e7bb37000eca7d460083f8f" - integrity sha512-uXV8TAZEw36DkgW8Ak3MpSJs1ofBb3Smkc/6pZ29sCAN1KzCAQzsje4sUwugf+FVicrHvlamCOlFZIXgct+iqQ== - esbuild-sunos-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" integrity sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA== -esbuild-wasm@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.42.tgz#c3f54a0b5407d0dfa535bcab9b2c6980778d47ae" - integrity sha512-gaR16gg58YxDyIXjS/8zVKxnC0IqbPAqMCVv4Yu6PmrJFoFzhverHINiM24MXuhnngHYCTIn4p3t3JjkfkMPdg== - esbuild-wasm@0.14.48, esbuild-wasm@^0.14.29: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-windows-32@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.42.tgz#c3fc450853c61a74dacc5679de301db23b73e61e" - integrity sha512-4iw/8qWmRICWi9ZOnJJf9sYt6wmtp3hsN4TdI5NqgjfOkBVMxNdM9Vt3626G1Rda9ya2Q0hjQRD9W1o+m6Lz6g== - esbuild-windows-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.48.tgz#021ffceb0a3f83078262870da88a912293c57475" integrity sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg== -esbuild-windows-64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.42.tgz#b877aa37ff47d9fcf0ccb1ca6a24b31475a5e555" - integrity sha512-j3cdK+Y3+a5H0wHKmLGTJcq0+/2mMBHPWkItR3vytp/aUGD/ua/t2BLdfBIzbNN9nLCRL9sywCRpOpFMx3CxzA== - esbuild-windows-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" integrity sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA== -esbuild-windows-arm64@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.42.tgz#79da8744626f24bc016dc40d016950b5a4a2bac5" - integrity sha512-+lRAARnF+hf8J0mN27ujO+VbhPbDqJ8rCcJKye4y7YZLV6C4n3pTRThAb388k/zqF5uM0lS5O201u0OqoWSicw== - esbuild-windows-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" integrity sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g== -esbuild@0.14.42: - version "0.14.42" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.42.tgz#98587df0b024d5f6341b12a1d735a2bff55e1836" - integrity sha512-V0uPZotCEHokJdNqyozH6qsaQXqmZEOiZWrXnds/zaH/0SyrIayRXWRB98CENO73MIZ9T3HBIOsmds5twWtmgw== - optionalDependencies: - esbuild-android-64 "0.14.42" - esbuild-android-arm64 "0.14.42" - esbuild-darwin-64 "0.14.42" - esbuild-darwin-arm64 "0.14.42" - esbuild-freebsd-64 "0.14.42" - esbuild-freebsd-arm64 "0.14.42" - esbuild-linux-32 "0.14.42" - esbuild-linux-64 "0.14.42" - esbuild-linux-arm "0.14.42" - esbuild-linux-arm64 "0.14.42" - esbuild-linux-mips64le "0.14.42" - esbuild-linux-ppc64le "0.14.42" - esbuild-linux-riscv64 "0.14.42" - esbuild-linux-s390x "0.14.42" - esbuild-netbsd-64 "0.14.42" - esbuild-openbsd-64 "0.14.42" - esbuild-sunos-64 "0.14.42" - esbuild-windows-32 "0.14.42" - esbuild-windows-64 "0.14.42" - esbuild-windows-arm64 "0.14.42" - esbuild@0.14.48, esbuild@^0.14.29: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" @@ -6084,7 +5817,7 @@ husky@8.0.1: resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -6840,7 +6573,7 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" -jszip@^3.1.3, jszip@^3.6.0: +jszip@^3.1.3, jszip@^3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.0.tgz#faf3db2b4b8515425e34effcdbb086750a346061" integrity sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q== @@ -6974,23 +6707,6 @@ less-loader@11.0.0: dependencies: klona "^2.0.4" -less@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" - integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^2.3.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^2.5.2" - source-map "~0.6.0" - less@4.1.3, less@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" @@ -7543,13 +7259,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" - integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w== - dependencies: - schema-utils "^4.0.0" - mini-css-extract-plugin@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" @@ -7733,15 +7442,6 @@ ncp@~2.0.0: resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== -needle@^2.5.2: - version "2.9.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" - integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - needle@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/needle/-/needle-3.1.0.tgz#3bf5cd090c28eb15644181ab6699e027bd6c53c9" @@ -8599,7 +8299,7 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-attribute-case-insensitive@^5.0.0, postcss-attribute-case-insensitive@^5.0.1: +postcss-attribute-case-insensitive@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz#86d323c77ab8896ed90500071c2c8329fba64fda" integrity sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ== @@ -8620,35 +8320,35 @@ postcss-color-functional-notation@^4.2.3: dependencies: postcss-value-parser "^4.2.0" -postcss-color-hex-alpha@^8.0.3, postcss-color-hex-alpha@^8.0.4: +postcss-color-hex-alpha@^8.0.4: version "8.0.4" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== dependencies: postcss-value-parser "^4.2.0" -postcss-color-rebeccapurple@^7.0.2, postcss-color-rebeccapurple@^7.1.0: +postcss-color-rebeccapurple@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.0.tgz#a2fe1d7be13d21ea01dc7c2363b637cc83a9eb6e" integrity sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-media@^8.0.0, postcss-custom-media@^8.0.2: +postcss-custom-media@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-properties@^12.1.7, postcss-custom-properties@^12.1.8: +postcss-custom-properties@^12.1.8: version "12.1.8" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz#aa003e1885c5bd28e2e32496cd597e389ca889e4" integrity sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA== dependencies: postcss-value-parser "^4.2.0" -postcss-custom-selectors@^6.0.0, postcss-custom-selectors@^6.0.3: +postcss-custom-selectors@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== @@ -8777,7 +8477,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.7, postcss-nesting@^10.1.9: +postcss-nesting@^10.1.9: version "10.1.10" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.10.tgz#9c396df3d8232cbedfa95baaac6b765b8fd2a817" integrity sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w== @@ -8807,59 +8507,6 @@ postcss-place@^7.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#bcc9be9725a85d34e72a8fa69dc5e1130abee301" - integrity sha512-2Q9YARQju+j2BVgAyDnW1pIWIMlaHZqbaGISPMmalznNlWcNFIZFQsJfRLXS+WHmHJDCmV7wIWpVf9JNKR4Elw== - dependencies: - "@csstools/postcss-cascade-layers" "^1.0.2" - "@csstools/postcss-color-function" "^1.1.0" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.1" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.4" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.1.0" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.0" - "@csstools/postcss-unset-value" "^1.0.1" - autoprefixer "^10.4.7" - browserslist "^4.20.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.6.2" - postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.3" - postcss-color-hex-alpha "^8.0.3" - postcss-color-rebeccapurple "^7.0.2" - postcss-custom-media "^8.0.0" - postcss-custom-properties "^12.1.7" - postcss-custom-selectors "^6.0.0" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.7" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.4" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^5.0.0" - postcss-value-parser "^4.2.0" - postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: version "7.7.2" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz#769f7f21779b4688c9a6082ae1572416cab415cf" @@ -8913,7 +8560,7 @@ postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: postcss-selector-not "^6.0.0" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.4, postcss-pseudo-class-any-link@^7.1.5: +postcss-pseudo-class-any-link@^7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.5.tgz#1233b054004c386c681c553af35f68ec03fffaa6" integrity sha512-nSGKGScwFTaaV8Cyi27W9FegX3l3b7tmNxujxmykI/j3++cBAiq8fTUAU3ZK0s2aneN2T8cTUvKdNedzp3JIEA== @@ -8925,13 +8572,6 @@ postcss-replace-overflow-wrap@^4.0.0: resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== -postcss-selector-not@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7" - integrity sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ== - dependencies: - balanced-match "^1.0.0" - postcss-selector-not@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.0.tgz#d100f273d345917246762300411b4d2e24905047" @@ -9703,14 +9343,6 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.0.tgz#0b4bff0289951ed21240bca54453eca3dbda1713" - integrity sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - sass-loader@13.0.2: version "13.0.2" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.2.tgz#e81a909048e06520e9f2ff25113a801065adb3fe" @@ -9719,15 +9351,6 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.52.2: - version "1.52.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.2.tgz#cd1f03e0e7be5bb2cebcf1c34d735f087d790936" - integrity sha512-mfHB2VSeFS7sZlPv9YohB9GB7yWIgQNTGniQwfQ04EoQN0wsQEv7SwpCwy/x48Af+Z3vDeFXz+iuXM3HK/phZQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.53.0, sass@^1.49.9: version "1.53.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.53.0.tgz#eab73a7baac045cc57ddc1d1ff501ad2659952eb" @@ -9804,14 +9427,14 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz#d3c9704735c6228e09580eb4613932b30bdb4d27" - integrity sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg== +selenium-webdriver@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.3.1.tgz#5e9c6c4adee65e57776b5bd4c07c59b65b8f056d" + integrity sha512-TjH/ls1WKRQoFEHcqtn6UtwcLnA3yvx08v9cSSFYvyhp8hJWRtbe9ae2I8uXPisEZ2EaGKKoxBZ4EHv0BJM15g== dependencies: - jszip "^3.6.0" + jszip "^3.10.0" tmp "^0.2.1" - ws ">=7.4.6" + ws ">=8.7.0" selfsigned@^2.0.1: version "2.0.1" @@ -10145,11 +9768,6 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - source-map@0.7.4, source-map@^0.7.3, source-map@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" @@ -10546,16 +10164,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.7.2" -terser@5.14.0: - version "5.14.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" - integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.14.1, terser@^5.7.2: version "5.14.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" @@ -11225,40 +10833,6 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.1.tgz#184607b0287c791aeaa45e58e8fe75fcb4d7e2a8" - integrity sha512-CTMfu2UMdR/4OOZVHRpdy84pNopOuigVIsRbGX3LVDMWNP8EUgC5mUBMErbwBlHTEX99ejZJpVqrir6EXAEajA== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.0.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-dev-server@4.9.3: version "4.9.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" @@ -11475,7 +11049,7 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.8.0, ws@>=7.4.6, ws@^8.4.2: +ws@8.8.0, ws@>=8.7.0, ws@^8.4.2: version "8.8.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== From 3d6ed0caf329dfefec13296c1b6a8a14d4096111 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 8 Jul 2022 08:05:04 +0000 Subject: [PATCH 0644/1388] build: update dependency puppeteer to v15.3.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 340b2e4870a4..a0678dd3c54c 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.3.1", + "puppeteer": "15.3.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 47f3a7ffbca2..d8721881aca2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8779,10 +8779,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.3.1.tgz#0ff9b433a8fc3798f5ec82ea4b31ec47857219cf" - integrity sha512-Z+SpYBiS1zUzMXV7Wnhe2pyuVCFAFRTq1UrUWHB2CkLos5v7bXvXYuZ3Fn5pSN5IObxijyx4opNYKTCRnGni6Q== +puppeteer@15.3.2: + version "15.3.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.3.2.tgz#62162739044d570ab9907f85b1e1bbcf52adc79e" + integrity sha512-6z4fTHCHTpG3Yu7zqP0mLfCmkNkgw5KSUfLAwuBabz9Pkqoe0Z08hqUx5GNxhhMgEo4YVOSPBshePA6zliznWQ== dependencies: cross-fetch "3.1.5" debug "4.3.4" From 624e0b0ec6d74d87914a2385cc42f0108beebbcc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 7 Jul 2022 13:45:55 +0000 Subject: [PATCH 0645/1388] fix(@angular-devkit/core): provide actionable warning when a workspace project has missing `root` property The `root` property is required in a workspace project. Now we issue an actionable warning message when this is missing. Note: this will become an error in the next major version. Closes: #21310 --- .../core/src/workspace/json/reader.ts | 11 ++++++++++- .../core/src/workspace/json/reader_spec.ts | 18 ++++++++++++++++++ .../angular/utility/workspace_spec.ts | 4 +++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index d780145636db..b0e4fbb6d17c 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -60,8 +60,10 @@ export async function readJsonWorkspace( // TODO: Diagnostic reporting support throw new Error(message); }, - warn(_message, _node) { + warn(message, _node) { // TODO: Diagnostic reporting support + // eslint-disable-next-line no-console + console.warn(message); }, }; @@ -167,6 +169,13 @@ function parseProject( } const projectNodeValue = getNodeValue(projectNode); + if (!('root' in projectNodeValue)) { + // TODO(alan-agius4): change this to error in v15. + context.warn( + `Project "${projectName}" is missing a required property "root". This will become an error in the next major version.`, + projectNodeValue, + ); + } for (const [name, value] of Object.entries(projectNodeValue)) { switch (name) { diff --git a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts index d28a9b26b629..0d5728770a03 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts @@ -137,6 +137,24 @@ describe('readJsonWorkpace Parsing', () => { /version specifier not found/, ); }); + + it('warns on missing root property in a project', async () => { + const host = createTestHost(stripIndent` + { + "version": 1, + "projects": { + "foo": {} + } + } + `); + + const consoleWarnSpy = spyOn(console, 'warn').and.callFake(() => undefined); + await expectAsync(readJsonWorkspace('', host)); + + expect(consoleWarnSpy).toHaveBeenCalledWith( + `Project "foo" is missing a required property "root". This will become an error in the next major version.`, + ); + }); }); describe('JSON WorkspaceDefinition Tracks Workspace Changes', () => { diff --git a/packages/schematics/angular/utility/workspace_spec.ts b/packages/schematics/angular/utility/workspace_spec.ts index f5b9978719a6..56f6a14b9c59 100644 --- a/packages/schematics/angular/utility/workspace_spec.ts +++ b/packages/schematics/angular/utility/workspace_spec.ts @@ -12,7 +12,9 @@ import { getWorkspace as readWorkspace, updateWorkspace, writeWorkspace } from ' const TEST_WORKSPACE_CONTENT = JSON.stringify({ version: 1, projects: { - 'test': {}, + test: { + root: '', + }, }, }); From 68358f0c370dbe436d0b43eddb73f2489133b4f6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 7 Jul 2022 13:34:18 +0000 Subject: [PATCH 0646/1388] docs: remove long-description from schematics These long descriptions were and are only handled at the Angular CLI level which makes these redundant. --- packages/schematics/angular/BUILD.bazel | 3 -- .../angular/app-shell/app-shell-long.md | 47 ------------------- .../schematics/angular/app-shell/schema.json | 1 - packages/schematics/angular/e2e/e2e-long.md | 2 - packages/schematics/angular/e2e/schema.json | 1 - .../angular/library/library-long.md | 5 -- .../schematics/angular/library/schema.json | 1 - 7 files changed, 60 deletions(-) delete mode 100644 packages/schematics/angular/app-shell/app-shell-long.md delete mode 100644 packages/schematics/angular/e2e/e2e-long.md delete mode 100644 packages/schematics/angular/library/library-long.md diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 17be2a8f1fc4..39411228344c 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -142,11 +142,8 @@ pkg_npm( "//packages/angular_devkit/core:package.json", ], deps = [ - "library/library-long.md", ":README.md", ":angular", - ":app-shell/app-shell-long.md", - ":e2e/e2e-long.md", ":license", ":migrations/migration-collection.json", ":utility/latest-versions/package.json", diff --git a/packages/schematics/angular/app-shell/app-shell-long.md b/packages/schematics/angular/app-shell/app-shell-long.md deleted file mode 100644 index c85988337b24..000000000000 --- a/packages/schematics/angular/app-shell/app-shell-long.md +++ /dev/null @@ -1,47 +0,0 @@ -An app shell lets Universal render a portion of your application via a route at build time. -This gives users a meaningful first paint of your application that appears quickly -because the browser can simply render the HTML without the need to initialize any JavaScript. - -Use this command with a routing app that is accompanied by a Universal server-side app. - -To create an app shell, use the following command. - - - ng generate app-shell my-app - - -- `my-app` is the name of your client application -- `server-app` is the name of the Universal (server) application - -The command adds two new architect build targets to your `angular.json` configuration file (along with a few other changes). - - -"server": { - "builder": "@angular-devkit/build-angular:server", - "options": { - "outputPath": "dist/my-app-server", - "main": "src/main.server.ts", - "tsConfig": "src/tsconfig.server.json" - } -}, -"app-shell": { - "builder": "@angular-devkit/build-angular:app-shell", - "options": { - "browserTarget": "my-app:build", - "serverTarget": "my-app:server", - "route": "shell" - } -} - - -To verify the that the app has been built with the default shell content: - -1. Run the app-shell target. - - - ng run my-app:app-shell - - -1. Open `dist/app-shell/index.html` in your browser. - -The default text "app-shell works!" verifies that the app-shell route was rendered as part of the output. diff --git a/packages/schematics/angular/app-shell/schema.json b/packages/schematics/angular/app-shell/schema.json index 460a45e960ca..2267d3c3f638 100644 --- a/packages/schematics/angular/app-shell/schema.json +++ b/packages/schematics/angular/app-shell/schema.json @@ -5,7 +5,6 @@ "type": "object", "description": "Generates an application shell for running a server-side version of an app.", "additionalProperties": false, - "long-description": "./app-shell-long.md", "properties": { "project": { "type": "string", diff --git a/packages/schematics/angular/e2e/e2e-long.md b/packages/schematics/angular/e2e/e2e-long.md deleted file mode 100644 index aa2a9a17582b..000000000000 --- a/packages/schematics/angular/e2e/e2e-long.md +++ /dev/null @@ -1,2 +0,0 @@ -The e2e tests are created in a separate application in the `projects` folder of the workspace, -next to the project being tested. diff --git a/packages/schematics/angular/e2e/schema.json b/packages/schematics/angular/e2e/schema.json index 64b5c0e456e5..441778a4ea6a 100644 --- a/packages/schematics/angular/e2e/schema.json +++ b/packages/schematics/angular/e2e/schema.json @@ -5,7 +5,6 @@ "type": "object", "additionalProperties": false, "description": "Generates a new, generic end-to-end test definition for the given or default project.", - "long-description": "e2e-long.md", "properties": { "rootSelector": { "description": "The HTML selector for the root component of the test app.", diff --git a/packages/schematics/angular/library/library-long.md b/packages/schematics/angular/library/library-long.md deleted file mode 100644 index a61e0beb3f48..000000000000 --- a/packages/schematics/angular/library/library-long.md +++ /dev/null @@ -1,5 +0,0 @@ -A library is a type of project that does not run independently. -The library skeleton created by this command is placed by default in the `/projects` folder, and has `type` of "library". - -You can build a new library using the `ng build` command, run unit tests for it using the `ng test` command, -and lint it using the `ng lint` command. diff --git a/packages/schematics/angular/library/schema.json b/packages/schematics/angular/library/schema.json index 18da4f767689..cb0083e60a06 100644 --- a/packages/schematics/angular/library/schema.json +++ b/packages/schematics/angular/library/schema.json @@ -4,7 +4,6 @@ "title": "Library Options Schema", "type": "object", "description": "Creates a new, generic library project in the current workspace.", - "long-description": "./library-long.md", "additionalProperties": false, "properties": { "name": { From 669345998b7720b0e7be53aaee920a385cb8ef86 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Jul 2022 07:41:34 +0000 Subject: [PATCH 0647/1388] fix(@angular/cli): remove deprecation warning of `no` prefixed schema options Prefixing options with `no` in schema definitions appears to be used more widely than initially thought. The `noOption` can also be provided in the `angular.json` which makes this property definition less ambiguous, since boolean options don't get prefixed with `no` in the JSON config. Therefore, in order to reduce the community changes we remove the deprecation warning for such options and change the interim solution to permanent one. None-the-less, it's still recommended that options are defined without the `no` prefix. --- .../cli/src/command-builder/command-module.ts | 13 +++---------- .../e2e/tests/misc/negated-boolean-options.ts | 6 ------ 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 7c1b2026c7ce..7d772e50cd06 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -226,18 +226,12 @@ export abstract class CommandModule implements CommandModuleI ...(this.context.args.options.help ? { default: defaultVal } : {}), }; - // TODO(alanagius4): remove in a major version. - // the below is an interim workaround to handle options which have been defined in the schema with `no` prefix. let dashedName = strings.dasherize(name); + + // Handle options which have been defined in the schema with `no` prefix. if (type === 'boolean' && dashedName.startsWith('no-')) { dashedName = dashedName.slice(3); booleanOptionsWithNoPrefix.add(dashedName); - - // eslint-disable-next-line no-console - console.warn( - `Warning: '${name}' option has been declared with a 'no' prefix in the schema.` + - 'Please file an issue with the author of this package.', - ); } if (positional === undefined) { @@ -258,8 +252,7 @@ export abstract class CommandModule implements CommandModuleI } } - // TODO(alanagius4): remove in a major version. - // the below is an interim workaround to handle options which have been defined in the schema with `no` prefix. + // Handle options which have been defined in the schema with `no` prefix. if (booleanOptionsWithNoPrefix.size) { localYargs.middleware((options: Arguments) => { for (const key of booleanOptionsWithNoPrefix) { diff --git a/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts b/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts index 7ad94de1c907..377967785496 100644 --- a/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts +++ b/tests/legacy-cli/e2e/tests/misc/negated-boolean-options.ts @@ -15,10 +15,4 @@ export default async function () { ['generate', './schematic-boolean-option-negated:test', '--watch'], /noWatch: false/, ); - - await execAndWaitForOutputToMatch( - 'ng', - ['generate', './schematic-boolean-option-negated:test'], - /'noWatch' option has been declared with a 'no' prefix in the schema/, - ); } From 248860ad674b54f750bb5c197588bb6d031be208 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 15 Apr 2022 10:43:36 -0400 Subject: [PATCH 0648/1388] feat(@angular-devkit/build-angular): add Sass file support to experimental esbuild-based builder This change adds support for using Sass stylesheets within an application built with the experimental esbuild-based browser application builder. Global stylesheets (`styles` build option) and component stylesheets (`@Component({ styleUrls: [...], ...})`) with Sass can now be used. The `stylePreprocessorOptions.includePaths` option is also available for Sass stylesheets. Both the default format (`.scss`) and the indented format (`.sass`) are supported. Inline component stylesheet support is not yet available with the esbuild-based builder. --- .circleci/config.yml | 2 +- .../browser-esbuild/compiler-plugin.ts | 26 ++-- .../src/builders/browser-esbuild/index.ts | 4 +- .../builders/browser-esbuild/sass-plugin.ts | 59 +++++++++ .../builders/browser-esbuild/stylesheets.ts | 4 +- .../e2e/tests/build/styles/include-paths.ts | 124 ++++++++++-------- 6 files changed, 150 insertions(+), 69 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index 2dbb2e260ea2..0cbf22a6d317 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -221,7 +221,7 @@ jobs: name: Execute CLI E2E Tests Subset with esbuild builder command: | mkdir /mnt/ramdisk/e2e-esbuild - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" - fail_fast test-browsers: diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 85896b7fb5bf..85220ef735c1 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -16,7 +16,7 @@ import ts from 'typescript'; import angularApplicationPreset from '../../babel/presets/application'; import { requiresLinking } from '../../babel/webpack-loader'; import { loadEsmModule } from '../../utils/load-esm'; -import { BundleStylesheetOptions, bundleStylesheetText } from './stylesheets'; +import { BundleStylesheetOptions, bundleStylesheetFile, bundleStylesheetText } from './stylesheets'; interface EmitFileResult { content?: string; @@ -191,17 +191,27 @@ export function createCompilerPlugin( // Create TypeScript compiler host const host = ts.createIncrementalCompilerHost(compilerOptions); - // Temporarily add a readResource hook to allow for a transformResource hook. - // Once the AOT compiler allows only a transformResource hook this can be removed. - (host as CompilerHost).readResource = function (fileName) { - // Provide same no file found behavior as @ngtools/webpack - return this.readFile(fileName) ?? ''; + // Temporarily process external resources via readResource. + // The AOT compiler currently requires this hook to allow for a transformResource hook. + // Once the AOT compiler allows only a transformResource hook, this can be reevaluated. + (host as CompilerHost).readResource = async function (fileName) { + // Template resources (.html) files are not bundled or transformed + if (fileName.endsWith('.html')) { + return this.readFile(fileName) ?? ''; + } + + const { contents, errors, warnings } = await bundleStylesheetFile(fileName, styleOptions); + + (result.errors ??= []).push(...errors); + (result.warnings ??= []).push(...warnings); + + return contents; }; // Add an AOT compiler resource transform hook (host as CompilerHost).transformResource = async function (data, context) { - // Only style resources are transformed currently - if (context.type !== 'style') { + // Only inline style resources are transformed separately currently + if (context.resourceFile || context.type !== 'style') { return null; } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index e19939cfea4f..347e93676ce0 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -160,8 +160,9 @@ export async function buildEsbuildBrowser( { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, { optimization: !!optimizationOptions.styles.minify, - sourcemap: !!sourcemapOptions.styles, + sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, + includePaths: options.stylePreprocessorOptions?.includePaths, }, ); @@ -334,6 +335,7 @@ async function bundleCode( // of sourcemap processing. !!sourcemapOptions.styles && (sourcemapOptions.hidden ? false : 'inline'), outputNames, + includePaths: options.stylePreprocessorOptions?.includePaths, }, ), ], diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts new file mode 100644 index 000000000000..dfafa49049e4 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -0,0 +1,59 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { Plugin, PluginBuild } from 'esbuild'; +import type { LegacyResult } from 'sass'; +import { SassWorkerImplementation } from '../../sass/sass-service'; + +export function createSassPlugin(options: { sourcemap: boolean; includePaths?: string[] }): Plugin { + return { + name: 'angular-sass', + setup(build: PluginBuild): void { + let sass: SassWorkerImplementation; + + build.onStart(() => { + sass = new SassWorkerImplementation(); + }); + + build.onEnd(() => { + sass?.close(); + }); + + build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { + const result = await new Promise((resolve, reject) => { + sass.render( + { + file: args.path, + includePaths: options.includePaths, + indentedSyntax: args.path.endsWith('.sass'), + outputStyle: 'expanded', + sourceMap: options.sourcemap, + sourceMapContents: options.sourcemap, + sourceMapEmbed: options.sourcemap, + quietDeps: true, + }, + (error, result) => { + if (error) { + reject(error); + } + if (result) { + resolve(result); + } + }, + ); + }); + + return { + contents: result.css, + loader: 'css', + watchFiles: result.stats.includedFiles, + }; + }); + }, + }; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index ecf2082722a2..1878202ccd00 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -9,6 +9,7 @@ import type { BuildOptions, OutputFile } from 'esbuild'; import * as path from 'path'; import { DEFAULT_OUTDIR, bundle } from './esbuild'; +import { createSassPlugin } from './sass-plugin'; export interface BundleStylesheetOptions { workspaceRoot?: string; @@ -16,6 +17,7 @@ export interface BundleStylesheetOptions { preserveSymlinks?: boolean; sourcemap: boolean | 'external' | 'inline'; outputNames?: { bundles?: string; media?: string }; + includePaths?: string[]; } async function bundleStylesheet( @@ -39,7 +41,7 @@ async function bundleStylesheet( conditions: ['style'], mainFields: ['style'], plugins: [ - // TODO: preprocessor plugins + createSassPlugin({ sourcemap: !!options.sourcemap, includePaths: options.includePaths }), ], }); diff --git a/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts b/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts index 041ef7a2c9f3..e1c77e33be4e 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts @@ -1,78 +1,86 @@ +import { getGlobalVariable } from '../../../utils/env'; import { writeMultipleFiles, expectFileToMatch, replaceInFile, createDir } from '../../../utils/fs'; import { ng } from '../../../utils/process'; import { updateJsonFile } from '../../../utils/project'; -export default function () { - return ( - Promise.resolve() - .then(() => createDir('src/style-paths')) - .then(() => - writeMultipleFiles({ - 'src/style-paths/_variables.scss': '$primary-color: red;', - 'src/styles.scss': ` +export default async function () { + // esbuild currently only supports Sass + const esbuild = getGlobalVariable('argv')['esbuild']; + + await createDir('src/style-paths'); + await writeMultipleFiles({ + 'src/style-paths/_variables.scss': '$primary-color: red;', + 'src/styles.scss': ` @import 'variables'; h1 { color: $primary-color; } - `, - 'src/app/app.component.scss': ` + `, + 'src/app/app.component.scss': ` @import 'variables'; h2 { background-color: $primary-color; } - `, - 'src/style-paths/variables.styl': '$primary-color = green', - 'src/styles.styl': ` + `, + 'src/style-paths/variables.styl': '$primary-color = green', + 'src/styles.styl': ` @import 'variables' h3 color: $primary-color - `, - 'src/app/app.component.styl': ` + `, + 'src/app/app.component.styl': ` @import 'variables' h4 background-color: $primary-color - `, - 'src/style-paths/variables.less': '@primary-color: #ADDADD;', - 'src/styles.less': ` + `, + 'src/style-paths/variables.less': '@primary-color: #ADDADD;', + 'src/styles.less': ` @import 'variables'; h5 { color: @primary-color; } - `, - 'src/app/app.component.less': ` + `, + 'src/app/app.component.less': ` @import 'variables'; h6 { color: @primary-color; } - `, - }), - ) - .then(() => - replaceInFile( - 'src/app/app.component.ts', - `'./app.component.css\'`, - `'./app.component.scss', './app.component.styl', './app.component.less'`, - ), - ) - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [ - { input: 'src/styles.scss' }, - { input: 'src/styles.styl' }, - { input: 'src/styles.less' }, - ]; - appArchitect.build.options.stylePreprocessorOptions = { - includePaths: ['src/style-paths'], - }; - }), - ) - // files were created successfully - .then(() => ng('build', '--configuration=development')) - .then(() => expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/)) - .then(() => expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/)) - .then(() => expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/)) - .then(() => expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/)) - .then(() => expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/)) - .then(() => expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/)) - .then(() => ng('build', '--aot', '--configuration=development')) - .then(() => expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/)) - .then(() => expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/)) - .then(() => expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/)) - .then(() => expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/)) - .then(() => expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/)) - .then(() => expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/)) + `, + }); + + await replaceInFile( + 'src/app/app.component.ts', + `'./app.component.css\'`, + `'./app.component.scss'` + (esbuild ? '' : `, './app.component.styl', './app.component.less'`), ); + + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.styles = [{ input: 'src/styles.scss' }]; + if (!esbuild) { + appArchitect.build.options.styles.push( + { input: 'src/styles.styl' }, + { input: 'src/styles.less' }, + ); + } + appArchitect.build.options.stylePreprocessorOptions = { + includePaths: ['src/style-paths'], + }; + }); + + await ng('build', '--configuration=development'); + + expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); + expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); + if (!esbuild) { + // These checks are for the less and stylus files + expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); + expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); + expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); + expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); + } + + // esbuild currently only supports AOT and not JIT mode + if (!esbuild) { + ng('build', '--no-aot', '--configuration=development'); + + expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); + expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); + expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); + expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); + expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); + expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); + } } From 585a1c93ca4242dd1bfa12a8c221fc1b423b6202 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 11 Jul 2022 07:06:05 +0000 Subject: [PATCH 0649/1388] build: lock file maintenance --- yarn.lock | 424 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 275 insertions(+), 149 deletions(-) diff --git a/yarn.lock b/yarn.lock index d8721881aca2..08d6c8b0f213 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,20 +161,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.0.5": +"@angular/core@14.0.5", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.5" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.5.tgz#135db22c6cc2ea51fc8f504f1400a5453f73eec3" integrity sha512-4MIfFM2nD+N0/Dk8xKfKvbdS/zYRhQgdnKT6ZIIV7Y/XCfn5QAIa4+vB5BEAZpuzSsZHLVdBQQ0TkaiONLfL2Q== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.4.tgz#207f49f023ea6a59ab44659957c8745692a392f9" - integrity sha512-uMS/X+/5RokF3uiiD1IAr6Ha9k7QPegHrAB3QW0x6WRUTMq0K+08F+AeF5COmbfYMMaxofD6x8XmM+BLeg/0hw== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b": version "0.0.0-19cf0d937c5d6fa749034c34d5f7f95b46ff64d9" uid b8d2fd661e0d843953763e79456c4d096778e66b @@ -286,9 +279,9 @@ "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" - integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" + integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== "@babel/core@7.18.2": version "7.18.2" @@ -332,7 +325,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.7", "@babel/generator@^7.18.2", "@babel/generator@^7.18.6": +"@babel/generator@7.18.7", "@babel/generator@^7.18.2", "@babel/generator@^7.18.6", "@babel/generator@^7.18.7": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== @@ -443,9 +436,9 @@ "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz#57e3ca669e273d55c3cda55e6ebf552f37f483c8" - integrity sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz#4f8408afead0188cfa48672f9d0e5787b61778c8" + integrity sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA== dependencies: "@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-module-imports" "^7.18.6" @@ -453,8 +446,8 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.18.6" "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" + "@babel/traverse" "^7.18.8" + "@babel/types" "^7.18.8" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -548,10 +541,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" - integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6", "@babel/parser@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.8.tgz#822146080ac9c62dac0823bb3489622e0bc1cbdf" + integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -834,9 +827,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-classes@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.6.tgz#3501a8f3f4c7d5697c27a3eedbee71d68312669f" - integrity sha512-XTg8XW/mKpzAF3actL554Jl/dOYoJtv3l8fxaEczpgz84IeeVf+T1u2CSvPHuZbt0w3JkIx4rdn/MRQI7mo0HQ== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.8.tgz#7e85777e622e979c85c701a095280360b818ce49" + integrity sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.6" @@ -885,9 +878,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-for-of@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.6.tgz#e0fdb813be908e91ccc9ec87b30cc2eabf046f7c" - integrity sha512-WAjoMf4wIiSsy88KmG7tgj2nFdEK7E46tArVtcgED7Bkj6Fg/tG5SbvNIOKxbFS2VFgNh6+iaPswBeQZm4ox8w== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -976,9 +969,9 @@ "@babel/helper-replace-supers" "^7.18.6" "@babel/plugin-transform-parameters@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.6.tgz#cbe03d5a4c6385dd756034ac1baa63c04beab8dc" - integrity sha512-FjdqgMv37yVl/gwvzkcB+wfjRI8HQmc5EgOG9iGNvUY1ok+TjsoaMP7IqCDZBhkFcM5f3OPVMs6Dmp03C5k4/A== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -1175,26 +1168,26 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d" - integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.8.tgz#f095e62ab46abf1da35e5a2011f43aee72d8d5b0" + integrity sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.6" + "@babel/generator" "^7.18.7" "@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-function-name" "^7.18.6" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/types" "^7.18.6" + "@babel/parser" "^7.18.8" + "@babel/types" "^7.18.8" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.2", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.7.tgz#a4a2c910c15040ea52cdd1ddb1614a65c8041726" - integrity sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.2", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.8.tgz#c5af199951bf41ba4a6a9a6d0d8ad722b30cd42f" + integrity sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw== dependencies: "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" @@ -1281,62 +1274,62 @@ "@jridgewell/trace-mapping" "0.3.9" "@csstools/postcss-cascade-layers@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.4.tgz#9086bd2e71b43a947ae61bb735b0a83ab1549a68" - integrity sha512-zP2tQIFu4C3HueOT+G4Pkla7f2Z6pfXphc1Y9wDE5jS2Ss6dk/asQ7FFEFWKgy3EkYc7E1FSjzhfeZVGg5sjXQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz#f16f2c4396ace855541e1aa693f5f27ec972e6ad" + integrity sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw== dependencies: - "@csstools/selector-specificity" "^2.0.0" + "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" "@csstools/postcss-color-function@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.0.tgz#229966327747f58fbe586de35daa139db3ce1e5d" - integrity sha512-5D5ND/mZWcQoSfYnSPsXtuiFxhzmhxt6pcjrFLJyldj+p0ZN2vvRpYNX+lahFTtMhAYOa2WmkdGINr0yP0CvGA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" + integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" "@csstools/postcss-font-format-keywords@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.0.tgz#7e7df948a83a0dfb7eb150a96e2390ac642356a1" - integrity sha512-oO0cZt8do8FdVBX8INftvIA4lUrKUSCcWUf9IwH9IPWOgKT22oAZFXeHLoDK7nhB2SmkNycp5brxfNMRLIhd6Q== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" + integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-hwb-function@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.1.tgz#5224db711ed09a965f85c80c18144ac1c2702fce" - integrity sha512-AMZwWyHbbNLBsDADWmoXT9A5yl5dsGEBeJSJRUJt8Y9n8Ziu7Wstt4MC8jtPW7xjcLecyfJwtnUTNSmOzcnWeg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" + integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-ic-unit@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.0.tgz#f484db59fc94f35a21b6d680d23b0ec69b286b7f" - integrity sha512-i4yps1mBp2ijrx7E96RXrQXQQHm6F4ym1TOD0D69/sjDjZvQ22tqiEvaNw7pFZTUO5b9vWRHzbHzP9+UKuw+bA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" + integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" "@csstools/postcss-is-pseudo-class@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.6.tgz#1d82d798a2ce0b5f793d34710976f184c4f6560c" - integrity sha512-Oqs396oenuyyMdRXOstxXbxei8fYEgToYjmlYHEi5gk0QLk7xQ72LY7NDr7waWAAmdVzRqPpbE26Q7/cUrGu4Q== + version "2.0.7" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" + integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== dependencies: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" "@csstools/postcss-normalize-display-values@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" - integrity sha512-bX+nx5V8XTJEmGtpWTO6kywdS725t71YSLlxWt78XoHUbELWgoCXeOFymRJmL3SU1TLlKSIi7v52EWqe60vJTQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" + integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-oklab-function@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.0.tgz#e9a269487a292e0930760948e923e1d46b638ee6" - integrity sha512-e/Q5HopQzmnQgqimG9v3w2IG4VRABsBq3itOcn4bnm+j4enTgQZ0nWsaH/m9GV2otWGQ0nwccYL5vmLKyvP1ww== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" + integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -1349,28 +1342,28 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-stepped-value-functions@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.0.tgz#f8ffc05e163ba7bcbefc5fdcaf264ce9fd408c16" - integrity sha512-q8c4bs1GumAiRenmFjASBcWSLKrbzHzWl6C2HcaAxAXIiL2rUlUWbqQZUjwVG5tied0rld19j/Mm90K3qI26vw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" + integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-trigonometric-functions@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.1.tgz#e36e61f445614193dbf6d3a8408709b0cf184a6f" - integrity sha512-G78CY/+GePc6dDCTUbwI6TTFQ5fs3N9POHhI6v0QzteGpf6ylARiJUNz9HrRKi4eVYBNXjae1W2766iUEFxHlw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" + integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-unset-value@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.1.tgz#2cc020785db5ec82cc9444afe4cdae2a65445f89" - integrity sha512-f1G1WGDXEU/RN1TWAxBPQgQudtLnLQPyiWdtypkPC+mVYNKFKH/HYXSxH4MVNqwF8M0eDsoiU7HumJHCg/L/jg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" + integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== -"@csstools/selector-specificity@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.1.tgz#b6b8d81780b9a9f6459f4bfe9226ac6aefaefe87" - integrity sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA== +"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" + integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== "@discoveryjs/json-ext@0.5.7": version "0.5.7" @@ -1450,9 +1443,9 @@ "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz#687cc2bbf243f4e9a868ecf2262318e2658873a1" - integrity sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" @@ -2142,9 +2135,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.0.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.1.tgz#e91bd73239b338557a84d1f67f7b9e0f25643870" - integrity sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg== + version "18.0.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.3.tgz#463fc47f13ec0688a33aec75d078a0541a447199" + integrity sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ== "@types/node@12.20.24": version "12.20.24" @@ -3341,7 +3334,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.21.1, browserslist@^4.9.1: version "4.21.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== @@ -3480,9 +3473,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001359: - version "1.0.30001363" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz#26bec2d606924ba318235944e1193304ea7c4f15" - integrity sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg== + version "1.0.30001364" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001364.tgz#1e118f0e933ed2b79f8d461796b8ce45398014a0" + integrity sha512-9O0xzV3wVyX0SlegIQ6knz+okhBB5pE0PC40MNdwcipjwpxoUEHL24uJ+gG42cgklPjfO5ZjZPme9FTSN3QT2Q== caseless@~0.12.0: version "0.12.0" @@ -3874,11 +3867,11 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.23.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9" - integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw== + version "3.23.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.4.tgz#56ad4a352884317a15f6b04548ff7139d23b917f" + integrity sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q== dependencies: - browserslist "^4.21.0" + browserslist "^4.21.1" semver "7.0.0" core-util-is@1.0.2: @@ -4069,7 +4062,7 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-format@^4.0.10: +date-format@^4.0.10, date-format@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.11.tgz#ae0d1e069d7f0687938fd06f98c12f3a6276e526" integrity sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw== @@ -4382,9 +4375,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.172: - version "1.4.177" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.177.tgz#b6a4436eb788ca732556cd69f384b8a3c82118c5" - integrity sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg== + version "1.4.185" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.185.tgz#3432d7944f1c5fe20664bb45d9cced2151405ce2" + integrity sha512-9kV/isoOGpKkBt04yYNaSWIBn3187Q5VZRtoReq8oz5NY/A4XmU6cAoqgQlDp7kKJCZMRjWZ8nsQyxfpFHvfyw== emoji-regex@^8.0.0: version "8.0.0" @@ -4597,107 +4590,212 @@ esbuild-android-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.48.tgz#7e6394a0e517f738641385aaf553c7e4fb6d1ae3" integrity sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg== +esbuild-android-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054" + integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww== + esbuild-android-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" integrity sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g== +esbuild-android-arm64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6" + integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g== + esbuild-darwin-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" integrity sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA== +esbuild-darwin-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1" + integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg== + esbuild-darwin-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" integrity sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA== +esbuild-darwin-arm64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41" + integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A== + esbuild-freebsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" integrity sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA== +esbuild-freebsd-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82" + integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ== + esbuild-freebsd-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" integrity sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw== +esbuild-freebsd-arm64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a" + integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA== + esbuild-linux-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" integrity sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ== +esbuild-linux-32@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf" + integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA== + esbuild-linux-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" integrity sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug== +esbuild-linux-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56" + integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg== + esbuild-linux-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" integrity sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw== +esbuild-linux-arm64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33" + integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA== + esbuild-linux-arm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" integrity sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw== +esbuild-linux-arm@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97" + integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg== + esbuild-linux-mips64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" integrity sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA== +esbuild-linux-mips64le@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25" + integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA== + esbuild-linux-ppc64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" integrity sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ== +esbuild-linux-ppc64le@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958" + integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw== + esbuild-linux-riscv64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" integrity sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA== +esbuild-linux-riscv64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49" + integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ== + esbuild-linux-s390x@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" integrity sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g== +esbuild-linux-s390x@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740" + integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ== + esbuild-netbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" integrity sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw== +esbuild-netbsd-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d" + integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ== + esbuild-openbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" integrity sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA== +esbuild-openbsd-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d" + integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA== + esbuild-sunos-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" integrity sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA== -esbuild-wasm@0.14.48, esbuild-wasm@^0.14.29: +esbuild-sunos-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a" + integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw== + +esbuild-wasm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== +esbuild-wasm@^0.14.29: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz#5b0909b8172653f031163675341bdf4311a7a139" + integrity sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q== + esbuild-windows-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.48.tgz#021ffceb0a3f83078262870da88a912293c57475" integrity sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg== +esbuild-windows-32@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a" + integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA== + esbuild-windows-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" integrity sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA== +esbuild-windows-64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79" + integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw== + esbuild-windows-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" integrity sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g== -esbuild@0.14.48, esbuild@^0.14.29: +esbuild-windows-arm64@0.14.49: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7" + integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA== + +esbuild@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" integrity sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA== @@ -4723,6 +4821,32 @@ esbuild@0.14.48, esbuild@^0.14.29: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" +esbuild@^0.14.29: + version "0.14.49" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492" + integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw== + optionalDependencies: + esbuild-android-64 "0.14.49" + esbuild-android-arm64 "0.14.49" + esbuild-darwin-64 "0.14.49" + esbuild-darwin-arm64 "0.14.49" + esbuild-freebsd-64 "0.14.49" + esbuild-freebsd-arm64 "0.14.49" + esbuild-linux-32 "0.14.49" + esbuild-linux-64 "0.14.49" + esbuild-linux-arm "0.14.49" + esbuild-linux-arm64 "0.14.49" + esbuild-linux-mips64le "0.14.49" + esbuild-linux-ppc64le "0.14.49" + esbuild-linux-riscv64 "0.14.49" + esbuild-linux-s390x "0.14.49" + esbuild-netbsd-64 "0.14.49" + esbuild-openbsd-64 "0.14.49" + esbuild-sunos-64 "0.14.49" + esbuild-windows-32 "0.14.49" + esbuild-windows-64 "0.14.49" + esbuild-windows-arm64 "0.14.49" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5518,9 +5642,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== + version "13.16.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a" + integrity sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q== dependencies: type-fest "^0.20.2" @@ -7028,11 +7152,11 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.5.2.tgz#9ae371e5b3cb3a3a209c24686e5547f8670834e5" - integrity sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A== + version "6.6.0" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.6.0.tgz#e8fd00143d1e0ecf1d10959bb69b90b1b30137f3" + integrity sha512-3v8R7fd45UB6THucSht6wN2/7AZEruQbXdjygPZcxt5TA/msO6si9CN5MefUuKXbYnJHTBnYcx4famwcyQd+sA== dependencies: - date-format "^4.0.10" + date-format "^4.0.11" debug "^4.3.4" flatted "^3.2.5" rfdc "^1.3.0" @@ -7553,9 +7677,9 @@ node-gyp@^9.0.0: which "^2.0.2" node-releases@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== nopt@^4.0.1: version "4.0.3" @@ -8300,9 +8424,9 @@ portscanner@2.2.0: is-number-like "^1.0.3" postcss-attribute-case-insensitive@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.1.tgz#86d323c77ab8896ed90500071c2c8329fba64fda" - integrity sha512-wrt2VndqSLJpyBRNz9OmJcgnhI9MaongeWgapdBuUMu2a/KNJ8SENesG4SdiTnQwGO9b1VKbTWYAfCPeokLqZQ== + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" + integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== dependencies: postcss-selector-parser "^6.0.10" @@ -8314,9 +8438,9 @@ postcss-clamp@^4.1.0: postcss-value-parser "^4.2.0" postcss-color-functional-notation@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.3.tgz#23c9d73c76113b75473edcf66f443c6f1872bd0f" - integrity sha512-5fbr6FzFzjwHXKsVnkmEYrJYG8VNNzvD1tAXaPPWR97S6rhKI5uh2yOfV5TAzhDkZoq4h+chxEplFDc8GeyFtw== + version "4.2.4" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" + integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== dependencies: postcss-value-parser "^4.2.0" @@ -8328,9 +8452,9 @@ postcss-color-hex-alpha@^8.0.4: postcss-value-parser "^4.2.0" postcss-color-rebeccapurple@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.0.tgz#a2fe1d7be13d21ea01dc7c2363b637cc83a9eb6e" - integrity sha512-1jtE5AKnZcKq4pjOrltFHcbEM2/IvtbD1OdhZ/wqds18//bh0UmQkffcCkzDJU+/vGodfIsVQeKn+45CJvX9Bw== + version "7.1.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" + integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== dependencies: postcss-value-parser "^4.2.0" @@ -8356,16 +8480,16 @@ postcss-custom-selectors@^6.0.3: postcss-selector-parser "^6.0.4" postcss-dir-pseudo-class@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz#9afe49ea631f0cb36fa0076e7c2feb4e7e3f049c" - integrity sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw== + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" + integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== dependencies: - postcss-selector-parser "^6.0.9" + postcss-selector-parser "^6.0.10" postcss-double-position-gradients@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz#a12cfdb7d11fa1a99ccecc747f0c19718fb37152" - integrity sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" + integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -8397,14 +8521,14 @@ postcss-font-variant@^5.0.0: integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== postcss-gap-properties@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz#6401bb2f67d9cf255d677042928a70a915e6ba60" - integrity sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ== + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.4.tgz#8527d00284ef83725e41a53a718f9bed8e2b2beb" + integrity sha512-PaEM4AUQY7uomyuVVXsIntdo4eT8VkBMrSinQxvXuMcJ1z3RHlFw4Kqef2X+rRVz3WHaYCa0EEtwousBT6vcIA== postcss-image-set-function@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz#bcff2794efae778c09441498f40e0c77374870a9" - integrity sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A== + version "4.0.7" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" + integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== dependencies: postcss-value-parser "^4.2.0" @@ -8423,9 +8547,9 @@ postcss-initial@^4.0.1: integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== postcss-lab-function@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.0.tgz#e054e662c6480202f5760887ec1ae0d153357123" - integrity sha512-Zb1EO9DGYfa3CP8LhINHCcTTCTLI+R3t7AX2mKsDzdgVQ/GkCpHOTgOr6HBHslP7XDdVbqgHW5vvRPMdVANQ8w== + version "4.2.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" + integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -8491,9 +8615,11 @@ postcss-opacity-percentage@^1.1.2: integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== postcss-overflow-shorthand@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz#ebcfc0483a15bbf1b27fdd9b3c10125372f4cbc2" - integrity sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg== + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" + integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== + dependencies: + postcss-value-parser "^4.2.0" postcss-page-break@^3.0.4: version "3.0.4" @@ -8501,9 +8627,9 @@ postcss-page-break@^3.0.4: integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== postcss-place@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.4.tgz#eb026650b7f769ae57ca4f938c1addd6be2f62c9" - integrity sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg== + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" + integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== dependencies: postcss-value-parser "^4.2.0" @@ -8561,9 +8687,9 @@ postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: postcss-value-parser "^4.2.0" postcss-pseudo-class-any-link@^7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.5.tgz#1233b054004c386c681c553af35f68ec03fffaa6" - integrity sha512-nSGKGScwFTaaV8Cyi27W9FegX3l3b7tmNxujxmykI/j3++cBAiq8fTUAU3ZK0s2aneN2T8cTUvKdNedzp3JIEA== + version "7.1.6" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" + integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== dependencies: postcss-selector-parser "^6.0.10" @@ -8573,9 +8699,9 @@ postcss-replace-overflow-wrap@^4.0.0: integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== postcss-selector-not@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.0.tgz#d100f273d345917246762300411b4d2e24905047" - integrity sha512-i/HI/VNd3V9e1WOLCwJsf9nePBRXqcGtVibcJ9FsVo0agfDEfsLSlFt94aYjY35wUNcdG0KrvdyjEr7It50wLQ== + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" + integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== dependencies: postcss-selector-parser "^6.0.10" @@ -9284,9 +9410,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.75.7" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.7.tgz#221ff11887ae271e37dcc649ba32ce1590aaa0b9" - integrity sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ== + version "2.76.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.76.0.tgz#c69fe03db530ac53fcb9523b3caa0d3c0b9491a1" + integrity sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA== optionalDependencies: fsevents "~2.3.2" From cf24008e45a566df3edd48dfcc8d91c8af0702e4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 12 Jul 2022 08:55:55 +0000 Subject: [PATCH 0650/1388] test: add missing `await` to float promises These are causes Windows CI to fail. --- .../e2e/tests/build/styles/include-paths.ts | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts b/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts index e1c77e33be4e..5a21491e7fa1 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts @@ -61,26 +61,25 @@ export default async function () { }); await ng('build', '--configuration=development'); - - expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); - expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); + await expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); + await expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); if (!esbuild) { // These checks are for the less and stylus files - expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); - expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); - expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); - expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); + await expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); + await expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); + await expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); + await expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); } // esbuild currently only supports AOT and not JIT mode if (!esbuild) { - ng('build', '--no-aot', '--configuration=development'); + await ng('build', '--no-aot', '--configuration=development'); - expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); - expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); - expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); - expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); - expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); - expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); + await expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); + await expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); + await expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); + await expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); + await expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); + await expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); } } From cfe93fbc89fad2f58826f0118ce7ff421cd0e4f2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 12 Jul 2022 07:29:47 +0000 Subject: [PATCH 0651/1388] feat(@angular/create): add support for `yarn create` and `npm init` With this change we add support to scaffold an Angular workspace using `yarn create @angular` and `npm init @angular`. These shortcuts support all of the `ng-new` options. Closes #10339 and closes #14292 --- .monorepo.json | 10 +++++ CONTRIBUTING.md | 1 + README.md | 11 ++--- packages/angular/create/BUILD.bazel | 41 +++++++++++++++++++ packages/angular/create/README.md | 19 +++++++++ packages/angular/create/package.json | 18 ++++++++ packages/angular/create/src/index.ts | 24 +++++++++++ .../e2e/tests/misc/create-angular.ts | 37 +++++++++++++++++ tests/legacy-cli/e2e/utils/project.ts | 2 +- tests/legacy-cli/verdaccio.yaml | 2 +- 10 files changed, 158 insertions(+), 7 deletions(-) create mode 100644 packages/angular/create/BUILD.bazel create mode 100644 packages/angular/create/README.md create mode 100644 packages/angular/create/package.json create mode 100644 packages/angular/create/src/index.ts create mode 100644 tests/legacy-cli/e2e/tests/misc/create-angular.ts diff --git a/.monorepo.json b/.monorepo.json index cdc8daa5c261..d2c6803b9103 100644 --- a/.monorepo.json +++ b/.monorepo.json @@ -14,6 +14,16 @@ ], "snapshotRepo": "angular/cli-builds" }, + "@angular/create": { + "name": "Angular Create", + "section": "Misc", + "links": [ + { + "label": "README", + "url": "/packages/angular/create/README.md" + } + ] + }, "@angular/pwa": { "name": "Angular PWA Schematics", "section": "Schematics", diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 16fb93f8fdf4..9c5f4c272d77 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -212,6 +212,7 @@ The scope should be the name of the npm package affected as perceived by the per The following is the list of supported scopes: * **@angular/cli** +* **@angular/create** * **@angular/pwa** * **@angular-devkit/architect** * **@angular-devkit/architect-cli** diff --git a/README.md b/README.md index 0113a346e324..8e8a4587dbfc 100644 --- a/README.md +++ b/README.md @@ -164,18 +164,19 @@ This is a monorepo which contains many tools and packages: **Core** | [`@angular-devkit/core`](https://npmjs.com/package/@angular-devkit/core) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fcore/latest.svg)](https://npmjs.com/package/@angular-devkit/core) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/core/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-core-builds) **Schematics** | [`@angular-devkit/schematics`](https://npmjs.com/package/@angular-devkit/schematics) | [![latest](https://img.shields.io/npm/v/%40angular-devkit%2Fschematics/latest.svg)](https://npmjs.com/package/@angular-devkit/schematics) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular_devkit/schematics/README.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-devkit-schematics-builds) -#### Schematics +#### Misc | Project | Package | Version | Links | |---|---|---|---| -**Angular PWA Schematics** | [`@angular/pwa`](https://npmjs.com/package/@angular/pwa) | [![latest](https://img.shields.io/npm/v/%40angular%2Fpwa/latest.svg)](https://npmjs.com/package/@angular/pwa) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-pwa-builds) -**Angular Schematics** | [`@schematics/angular`](https://npmjs.com/package/@schematics/angular) | [![latest](https://img.shields.io/npm/v/%40schematics%2Fangular/latest.svg)](https://npmjs.com/package/@schematics/angular) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/schematics-angular-builds) +**Angular Create** | [`@angular/create`](https://npmjs.com/package/@angular/create) | [![latest](https://img.shields.io/npm/v/%40angular%2Fcreate/latest.svg)](https://npmjs.com/package/@angular/create) | [![README](https://img.shields.io/badge/README--green.svg)](/packages/angular/create/README.md) +**Webpack Angular Plugin** | [`@ngtools/webpack`](https://npmjs.com/package/@ngtools/webpack) | [![latest](https://img.shields.io/npm/v/%40ngtools%2Fwebpack/latest.svg)](https://npmjs.com/package/@ngtools/webpack) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/ngtools-webpack-builds) -#### Misc +#### Schematics | Project | Package | Version | Links | |---|---|---|---| -**Webpack Angular Plugin** | [`@ngtools/webpack`](https://npmjs.com/package/@ngtools/webpack) | [![latest](https://img.shields.io/npm/v/%40ngtools%2Fwebpack/latest.svg)](https://npmjs.com/package/@ngtools/webpack) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/ngtools-webpack-builds) +**Angular PWA Schematics** | [`@angular/pwa`](https://npmjs.com/package/@angular/pwa) | [![latest](https://img.shields.io/npm/v/%40angular%2Fpwa/latest.svg)](https://npmjs.com/package/@angular/pwa) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-pwa-builds) +**Angular Schematics** | [`@schematics/angular`](https://npmjs.com/package/@schematics/angular) | [![latest](https://img.shields.io/npm/v/%40schematics%2Fangular/latest.svg)](https://npmjs.com/package/@schematics/angular) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/schematics-angular-builds) diff --git a/packages/angular/create/BUILD.bazel b/packages/angular/create/BUILD.bazel new file mode 100644 index 000000000000..53ac6a3d9ced --- /dev/null +++ b/packages/angular/create/BUILD.bazel @@ -0,0 +1,41 @@ +# Copyright Google Inc. All Rights Reserved. +# +# Use of this source code is governed by an MIT-style license that can be +# found in the LICENSE file at https://angular.io/license + +load("//tools:defaults.bzl", "pkg_npm", "ts_library") + +licenses(["notice"]) # MIT + +ts_library( + name = "create", + package_name = "@angular/create", + srcs = glob( + ["**/*.ts"], + exclude = [ + # NB: we need to exclude the nested node_modules that is laid out by yarn workspaces + "node_modules/**", + ], + ), + deps = [ + "//packages/angular/cli:angular-cli", + "@npm//@types/node", + ], +) + +genrule( + name = "license", + srcs = ["//:LICENSE"], + outs = ["LICENSE"], + cmd = "cp $(execpath //:LICENSE) $@", +) + +pkg_npm( + name = "npm_package", + visibility = ["//visibility:public"], + deps = [ + ":README.md", + ":create", + ":license", + ], +) diff --git a/packages/angular/create/README.md b/packages/angular/create/README.md new file mode 100644 index 000000000000..0deeb5a4fe0a --- /dev/null +++ b/packages/angular/create/README.md @@ -0,0 +1,19 @@ +# `@angular/create` + +# Create an Angular CLI workspace + +Scaffold an Angular CLI workspace without needing to install the Angular CLI globally. All of the [ng new](https://angular.io/cli/new) options and features are supported. + +# Usage + +NPM + +``` +npm init @angular@latest [project-name] -- [...options] +``` + +Yarn + +``` +yarn create @angular [project-name] [...options] +``` diff --git a/packages/angular/create/package.json b/packages/angular/create/package.json new file mode 100644 index 000000000000..48f351dfb089 --- /dev/null +++ b/packages/angular/create/package.json @@ -0,0 +1,18 @@ +{ + "name": "@angular/create", + "version": "0.0.0-PLACEHOLDER", + "description": "Scaffold an Angular CLI workspace.", + "keywords": [ + "angular", + "angular-cli", + "Angular CLI", + "code generation", + "schematics" + ], + "bin": { + "create": "./src/index.js" + }, + "dependencies": { + "@angular/cli": "0.0.0-PLACEHOLDER" + } +} diff --git a/packages/angular/create/src/index.ts b/packages/angular/create/src/index.ts new file mode 100644 index 000000000000..040a603bb106 --- /dev/null +++ b/packages/angular/create/src/index.ts @@ -0,0 +1,24 @@ +#!/usr/bin/env node +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { spawnSync } from 'child_process'; +import { join } from 'path'; + +const binPath = join(require.resolve('@angular/cli/package.json'), '../bin/ng.js'); + +// Invoke ng new with any parameters provided. +const { error } = spawnSync(process.execPath, [binPath, 'new', ...process.argv.slice(2)], { + stdio: 'inherit', +}); + +if (error) { + // eslint-disable-next-line no-console + console.error(error); + process.exitCode = 1; +} diff --git a/tests/legacy-cli/e2e/tests/misc/create-angular.ts b/tests/legacy-cli/e2e/tests/misc/create-angular.ts new file mode 100644 index 000000000000..b18decd0173a --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/create-angular.ts @@ -0,0 +1,37 @@ +import { join, resolve } from 'path'; +import { expectFileToExist, rimraf } from '../../utils/fs'; +import { getActivePackageManager } from '../../utils/packages'; +import { silentNpm, silentYarn } from '../../utils/process'; + +export default async function () { + const currentDirectory = process.cwd(); + const newDirectory = resolve('../'); + + const projectName = 'test-project-create'; + + try { + process.chdir(newDirectory); + const packageManager = getActivePackageManager(); + + switch (packageManager) { + case 'npm': + await silentNpm('init', '@angular', projectName, '--', '--skip-install', '--style=scss'); + + break; + case 'yarn': + await silentYarn('create', '@angular', projectName, '--skip-install', '--style=scss'); + + break; + default: + throw new Error(`This test is not configured to use ${packageManager}.`); + } + + await expectFileToExist(join(projectName, 'angular.json')); + // Verify styles was create with correct extension. + await expectFileToExist(join(projectName, 'src/styles.scss')); + } finally { + await rimraf(projectName); + // Change directory back + process.chdir(currentDirectory); + } +} diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 29a88a5cbd83..15d72673ca6a 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -39,7 +39,7 @@ export async function prepareProjectForE2e(name: string) { const argv: yargsParser.Arguments = getGlobalVariable('argv'); await git('config', 'user.email', 'angular-core+e2e@google.com'); - await git('config', 'user.name', 'Angular CLI E2e'); + await git('config', 'user.name', 'Angular CLI E2E'); await git('config', 'commit.gpgSign', 'false'); if (argv['ng-snapshots'] || argv['ng-tag']) { diff --git a/tests/legacy-cli/verdaccio.yaml b/tests/legacy-cli/verdaccio.yaml index 075da2628cbe..1352103a3dcc 100644 --- a/tests/legacy-cli/verdaccio.yaml +++ b/tests/legacy-cli/verdaccio.yaml @@ -17,7 +17,7 @@ uplinks: maxFreeSockets: 8 packages: - '@angular/{cli,pwa}': + '@angular/{create,cli,pwa}': access: $all publish: $all From 357c45e48431f9a6d79469a48e344dfc0132664f Mon Sep 17 00:00:00 2001 From: martinfrancois Date: Fri, 8 Jul 2022 20:01:26 +0200 Subject: [PATCH 0652/1388] fix(@angular-devkit/build-angular): generate different content hashes for scripts which are changed during the optimization phase Instead of generating the content hash based on the content of scripts BEFORE the optimization phase, the content hash is generated AFTER the optimization phase. Prevents caching issues where browsers block execution of scripts due to the integrity hash not matching with the cached script in case of a script being optimized differently than in a previous build, where it would previously result in the same content hash. Fixes #22906 --- .../webpack/plugins/scripts-webpack-plugin.ts | 40 ++++++++++++----- .../e2e/tests/build/scripts-output-hashing.ts | 45 +++++++++++++++++++ 2 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts index 31595dfb93b3..b62f045fe234 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts @@ -12,6 +12,11 @@ import { Chunk, Compilation, Compiler, sources as webpackSources } from 'webpack const Entrypoint = require('webpack/lib/Entrypoint'); +/** + * The name of the plugin provided to Webpack when tapping Webpack compiler hooks. + */ +const PLUGIN_NAME = 'scripts-webpack-plugin'; + export interface ScriptsWebpackPluginOptions { name: string; sourceMap?: boolean; @@ -97,8 +102,8 @@ export class ScriptsWebpackPlugin { .filter((script) => !!script) .map((script) => path.resolve(this.options.basePath || '', script)); - compiler.hooks.thisCompilation.tap('scripts-webpack-plugin', (compilation) => { - compilation.hooks.additionalAssets.tapPromise('scripts-webpack-plugin', async () => { + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { + compilation.hooks.additionalAssets.tapPromise(PLUGIN_NAME, async () => { if (await this.shouldSkip(compilation, scripts)) { if (this._cachedOutput) { this._insertOutput(compilation, this._cachedOutput, true); @@ -149,19 +154,32 @@ export class ScriptsWebpackPlugin { }); const combinedSource = new webpackSources.CachedSource(concatSource); - const filename = interpolateName( - { resourcePath: 'scripts.js' }, - this.options.filename as string, - { - content: combinedSource.source(), - }, - ); - - const output = { filename, source: combinedSource }; + + const output = { filename: this.options.filename, source: combinedSource }; this._insertOutput(compilation, output); this._cachedOutput = output; addDependencies(compilation, scripts); }); + compilation.hooks.processAssets.tapPromise( + { + name: PLUGIN_NAME, + stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING, + }, + async () => { + const assetName = this.options.filename; + const asset = compilation.getAsset(assetName); + if (asset) { + const interpolatedFilename = interpolateName( + { resourcePath: 'scripts.js' }, + assetName, + { content: asset.source.source() }, + ); + if (assetName !== interpolatedFilename) { + compilation.renameAsset(assetName, interpolatedFilename); + } + } + }, + ); }); } } diff --git a/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts b/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts new file mode 100644 index 000000000000..430b7a8478ac --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts @@ -0,0 +1,45 @@ +import { expectFileMatchToExist, expectFileToMatch, writeMultipleFiles } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { updateJsonFile, updateTsConfig } from '../../utils/project'; + +function getScriptsFilename(): Promise { + return expectFileMatchToExist('dist/test-project/', /external-module\.[0-9a-f]{16}\.js/); +} + +export default async function () { + // verify content hash is based on code after optimizations + await writeMultipleFiles({ + 'src/script.js': 'try { console.log(); } catch {}', + }); + await updateJsonFile('angular.json', (configJson) => { + const build = configJson.projects['test-project'].architect.build; + build.options['scripts'] = [ + { + input: 'src/script.js', + inject: true, + bundleName: 'external-module', + }, + ]; + build.configurations['production'].outputHashing = 'all'; + configJson['cli'] = { cache: { enabled: 'false' } }; + }); + await updateTsConfig((json) => { + json['compilerOptions']['target'] = 'es2017'; + json['compilerOptions']['module'] = 'es2020'; + }); + await ng('build', '--configuration=production'); + const filenameBuild1 = await getScriptsFilename(); + await expectFileToMatch(`dist/test-project/${filenameBuild1}`, 'try{console.log()}catch(c){}'); + + await updateTsConfig((json) => { + json['compilerOptions']['target'] = 'es2019'; + }); + await ng('build', '--configuration=production'); + const filenameBuild2 = await getScriptsFilename(); + await expectFileToMatch(`dist/test-project/${filenameBuild2}`, 'try{console.log()}catch{}'); + if (filenameBuild1 === filenameBuild2) { + throw new Error( + 'Contents of the built file changed between builds, but the content hash stayed the same!', + ); + } +} From 53dd929e59f98a7088d150e861d18e97e6de4114 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 8 Jul 2022 16:29:21 -0400 Subject: [PATCH 0653/1388] fix(@angular-devkit/build-angular): ensure esbuild builder sourcemap sources are relative to workspace This change adjusts the virtual output directory of the configuration for the experimental esbuild-based browser application builder to be based on the workspace root. This allows esbuild to generate sourcemap source paths that are relative to the workspace root and that do not contain path information from outside the workspace root. --- .circleci/config.yml | 2 +- .../src/builders/browser-esbuild/esbuild.ts | 4 --- .../src/builders/browser-esbuild/index.ts | 7 +++-- .../builders/browser-esbuild/stylesheets.ts | 8 +++--- .../e2e/tests/build/relative-sourcemap.ts | 28 ++++++++++++++++++- 5 files changed, 36 insertions(+), 13 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0cbf22a6d317..9e071a4f93b9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -221,7 +221,7 @@ jobs: name: Execute CLI E2E Tests Subset with esbuild builder command: | mkdir /mnt/ramdisk/e2e-esbuild - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" - fail_fast test-browsers: diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts index d0363e2f95f5..62f592cd6b54 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -16,10 +16,6 @@ import { build, formatMessages, } from 'esbuild'; -import { resolve } from 'path'; - -/** Default outdir setting for esbuild. */ -export const DEFAULT_OUTDIR = resolve('/virtual-output'); /** * Determines if an unknown value is an esbuild BuildFailure error object thrown by esbuild. diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 347e93676ce0..b83aff440552 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -21,7 +21,7 @@ import { augmentAppWithServiceWorker } from '../../utils/service-worker'; import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; import { resolveGlobalStyles } from '../../webpack/configs'; import { createCompilerPlugin } from './compiler-plugin'; -import { DEFAULT_OUTDIR, bundle, logMessages } from './esbuild'; +import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; import { normalizeOptions } from './options'; import { Schema as BrowserBuilderOptions, SourceMapClass } from './schema'; @@ -120,7 +120,7 @@ export async function buildEsbuildBrowser( const relativeFilePath = path.relative(workspaceRoot, outputFile.path); const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; - outputFile.path = path.relative(DEFAULT_OUTDIR, outputFile.path); + outputFile.path = relativeFilePath; if (entryPoint) { // An entryPoint value indicates an initial file @@ -159,6 +159,7 @@ export async function buildEsbuildBrowser( virtualEntryData, { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, { + workspaceRoot, optimization: !!optimizationOptions.styles.minify, sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, @@ -309,7 +310,7 @@ async function bundleCode( metafile: true, minify: optimizationOptions.scripts, pure: ['forwardRef'], - outdir: DEFAULT_OUTDIR, + outdir: workspaceRoot, sourcemap: sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true), splitting: true, tsconfig, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 1878202ccd00..b36f481dbb4f 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -8,11 +8,11 @@ import type { BuildOptions, OutputFile } from 'esbuild'; import * as path from 'path'; -import { DEFAULT_OUTDIR, bundle } from './esbuild'; +import { bundle } from './esbuild'; import { createSassPlugin } from './sass-plugin'; export interface BundleStylesheetOptions { - workspaceRoot?: string; + workspaceRoot: string; optimization: boolean; preserveSymlinks?: boolean; sourcemap: boolean | 'external' | 'inline'; @@ -34,7 +34,7 @@ async function bundleStylesheet( logLevel: 'silent', minify: options.optimization, sourcemap: options.sourcemap, - outdir: DEFAULT_OUTDIR, + outdir: options.workspaceRoot, write: false, platform: 'browser', preserveSymlinks: options.preserveSymlinks, @@ -52,7 +52,7 @@ async function bundleStylesheet( const resourceFiles: OutputFile[] = []; if (result.outputFiles) { for (const outputFile of result.outputFiles) { - outputFile.path = path.relative(DEFAULT_OUTDIR, outputFile.path); + outputFile.path = path.relative(options.workspaceRoot, outputFile.path); const filename = path.basename(outputFile.path); if (filename.endsWith('.css')) { outputPath = outputFile.path; diff --git a/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts b/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts index 231fb0c0dff4..69bd9558c7aa 100644 --- a/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts +++ b/tests/legacy-cli/e2e/tests/build/relative-sourcemap.ts @@ -1,19 +1,45 @@ import * as fs from 'fs'; import { isAbsolute } from 'path'; +import { getGlobalVariable } from '../../utils/env'; import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; export default async function () { // General secondary application project await ng('generate', 'application', 'secondary-project', '--skip-install'); + // Setup esbuild builder if requested on the commandline + const useEsbuildBuilder = !!getGlobalVariable('argv')['esbuild']; + if (useEsbuildBuilder) { + await updateJsonFile('angular.json', (json) => { + json['projects']['secondary-project']['architect']['build']['builder'] = + '@angular-devkit/build-angular:browser-esbuild'; + }); + } + await ng('build', 'secondary-project', '--configuration=development'); await ng('build', '--output-hashing=none', '--source-map', '--configuration=development'); const content = fs.readFileSync('./dist/secondary-project/main.js.map', 'utf8'); - const { sources } = JSON.parse(content); + const { sources } = JSON.parse(content) as { sources: string[] }; + let mainFileFound = false; for (const source of sources) { if (isAbsolute(source)) { throw new Error(`Expected ${source} to be relative.`); } + + if (source.endsWith('main.ts')) { + mainFileFound = true; + if ( + source !== 'projects/secondary-project/src/main.ts' && + source !== './projects/secondary-project/src/main.ts' + ) { + throw new Error(`Expected main file ${source} to be relative to the workspace root.`); + } + } + } + + if (!mainFileFound) { + throw new Error('Could not find the main file in the application sourcemap sources array.'); } } From b3a14d05629ba6e3b23c09b1bfdbc4b35d534813 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 11 Jul 2022 11:49:32 -0400 Subject: [PATCH 0654/1388] fix(@angular-devkit/build-angular): allow third-party sourcemaps to be ignored in esbuild builder The `sourcemap.vendor` build option for the esbuild-based browser application builder will now properly be considered when processing sourcemaps for third-party code (code originating from a `node_modules` directory). --- .../browser-esbuild/compiler-plugin.ts | 19 ++++++++++++++++--- .../src/builders/browser-esbuild/index.ts | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 85220ef735c1..99db5d2bd6b0 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -116,7 +116,12 @@ function convertTypeScriptDiagnostic( // This is a non-watch version of the compiler code from `@ngtools/webpack` augmented for esbuild // eslint-disable-next-line max-lines-per-function export function createCompilerPlugin( - pluginOptions: { sourcemap: boolean; tsconfig: string; advancedOptimizations?: boolean }, + pluginOptions: { + sourcemap: boolean; + tsconfig: string; + advancedOptimizations?: boolean; + thirdPartySourcemaps?: boolean; + }, styleOptions: BundleStylesheetOptions, ): Plugin { return { @@ -318,10 +323,14 @@ export function createCompilerPlugin( }; } + const useInputSourcemap = + pluginOptions.sourcemap && + (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); + const data = typescriptResult.content ?? ''; const babelResult = await transformAsync(data, { filename: args.path, - inputSourceMap: (pluginOptions.sourcemap ? undefined : false) as undefined, + inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, sourceMaps: pluginOptions.sourcemap ? 'inline' : false, compact: false, configFile: false, @@ -355,10 +364,14 @@ export function createCompilerPlugin( ) ).createEs2015LinkerPlugin; + const useInputSourcemap = + pluginOptions.sourcemap && + (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); + const data = await fs.readFile(args.path, 'utf-8'); const result = await transformAsync(data, { filename: args.path, - inputSourceMap: (pluginOptions.sourcemap ? undefined : false) as undefined, + inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, sourceMaps: pluginOptions.sourcemap ? 'inline' : false, compact: false, configFile: false, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index b83aff440552..3e49db280625 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -323,6 +323,7 @@ async function bundleCode( // JS/TS options { sourcemap: !!sourcemapOptions.scripts, + thirdPartySourcemaps: sourcemapOptions.vendor, tsconfig, advancedOptimizations: options.buildOptimizer, }, From 449be8868fad3d13a45a03a7589e3c7d171d6106 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 11 Jul 2022 07:12:30 +0000 Subject: [PATCH 0655/1388] test: update live-reload test to reduce flakes - assign dynamic port to proxy server - remove RXJS `finalize` in favor of `finally` --- .../dev-server/specs/live-reload_spec.ts | 130 ++++++++++-------- 1 file changed, 70 insertions(+), 60 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts index 164261c2c592..857c6bff36bd 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts @@ -9,9 +9,11 @@ /* eslint-disable import/no-extraneous-dependencies */ import { Architect, BuilderRun } from '@angular-devkit/architect'; import { tags } from '@angular-devkit/core'; +import { createServer } from 'http'; import { createProxyServer } from 'http-proxy'; +import { AddressInfo } from 'net'; import puppeteer, { Browser, Page } from 'puppeteer'; -import { debounceTime, finalize, switchMap, take } from 'rxjs/operators'; +import { debounceTime, switchMap, take } from 'rxjs/operators'; import { createArchitect, host } from '../../../testing/test-utils'; // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -22,10 +24,20 @@ interface ProxyInstance { url: string; } -let proxyPort = 9100; -function createProxy(target: string, secure: boolean, ws = true): ProxyInstance { - proxyPort++; +function findFreePort(): Promise { + return new Promise((resolve, reject) => { + const server = createServer(); + server.once('listening', () => { + const port = (server.address() as AddressInfo).port; + server.close((e) => (e ? reject(e) : resolve(port))); + }); + server.once('error', (e) => server.close(() => reject(e))); + server.listen(); + }); +} +async function createProxy(target: string, secure: boolean, ws = true): Promise { + const proxyPort = await findFreePort(); const server = createProxyServer({ ws, target, @@ -125,6 +137,7 @@ async function goToPageAndWaitForWS(page: Page, url: string): Promise { describe('Dev Server Builder live-reload', () => { const target = { project: 'app', target: 'serve' }; + // TODO: check if the below is still true. // Avoid using port `0` as these tests will behave differrently and tests will pass when they shouldn't. // Port 0 and host 0.0.0.0 have special meaning in dev-server. const overrides = { hmr: false, watch: true, port: 4202, liveReload: true }; @@ -155,7 +168,7 @@ describe('Dev Server Builder live-reload', () => { host.writeMultipleFiles({ 'src/app/app.component.html': ` -

{{title}}

+

{{ title }}

`, }); @@ -173,11 +186,10 @@ describe('Dev Server Builder live-reload', () => { const run = await architect.scheduleTarget(target, overrides); runs.push(run); - let buildCount = 0; await run.output .pipe( debounceTime(1000), - switchMap(async (buildEvent) => { + switchMap(async (buildEvent, buildCount) => { expect(buildEvent.success).toBe(true); const url = buildEvent.baseUrl as string; switch (buildCount) { @@ -190,8 +202,6 @@ describe('Dev Server Builder live-reload', () => { expect(innerText).toBe('app-live-reload'); break; } - - buildCount++; }), take(2), ) @@ -204,32 +214,33 @@ describe('Dev Server Builder live-reload', () => { let proxy: ProxyInstance | undefined; let buildCount = 0; - await run.output - .pipe( - debounceTime(1000), - switchMap(async (buildEvent) => { - expect(buildEvent.success).toBe(true); - const url = buildEvent.baseUrl as string; - switch (buildCount) { - case 0: - proxy = createProxy(url, false); - await goToPageAndWaitForWS(page, proxy.url); - host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); - break; - case 1: - const innerText = await page.evaluate(() => document.querySelector('p').innerText); - expect(innerText).toBe('app-live-reload'); - break; - } + try { + await run.output + .pipe( + debounceTime(1000), + switchMap(async (buildEvent) => { + expect(buildEvent.success).toBe(true); + const url = buildEvent.baseUrl as string; + switch (buildCount) { + case 0: + proxy = await createProxy(url, false); + await goToPageAndWaitForWS(page, proxy.url); + host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); + break; + case 1: + const innerText = await page.evaluate(() => document.querySelector('p').innerText); + expect(innerText).toBe('app-live-reload'); + break; + } - buildCount++; - }), - take(2), - finalize(() => { - proxy?.server.close(); - }), - ) - .toPromise(); + buildCount++; + }), + take(2), + ) + .toPromise(); + } finally { + proxy?.server.close(); + } }); it('works without https -> http proxy', async () => { @@ -237,32 +248,31 @@ describe('Dev Server Builder live-reload', () => { runs.push(run); let proxy: ProxyInstance | undefined; - let buildCount = 0; - await run.output - .pipe( - debounceTime(1000), - switchMap(async (buildEvent) => { - expect(buildEvent.success).toBe(true); - const url = buildEvent.baseUrl as string; - switch (buildCount) { - case 0: - proxy = createProxy(url, true); - await goToPageAndWaitForWS(page, proxy.url); - host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); - break; - case 1: - const innerText = await page.evaluate(() => document.querySelector('p').innerText); - expect(innerText).toBe('app-live-reload'); - break; - } - buildCount++; - }), - take(2), - finalize(() => { - proxy?.server.close(); - }), - ) - .toPromise(); + try { + await run.output + .pipe( + debounceTime(1000), + switchMap(async (buildEvent, buildCount) => { + expect(buildEvent.success).toBe(true); + const url = buildEvent.baseUrl as string; + switch (buildCount) { + case 0: + proxy = await createProxy(url, true); + await goToPageAndWaitForWS(page, proxy.url); + host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); + break; + case 1: + const innerText = await page.evaluate(() => document.querySelector('p').innerText); + expect(innerText).toBe('app-live-reload'); + break; + } + }), + take(2), + ) + .toPromise(); + } finally { + proxy?.server.close(); + } }); }); From 5708ac3f99cbc66500a5c36fcfc96cceb9d353f4 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 12 Jul 2022 16:49:35 +0000 Subject: [PATCH 0656/1388] build: update angular to af08211 --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++---- yarn.lock | 89 ++++++++++--------- 6 files changed, 70 insertions(+), 61 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 755eb7734ad9..5565586a7b06 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@0268158ec3bcce2bba0b02d263965383b60b18a3 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 + - uses: angular/dev-infra/github-actions/post-approval-changes@0268158ec3bcce2bba0b02d263965383b60b18a3 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 886f17819435..8765f61ad951 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 + - uses: angular/dev-infra/github-actions/feature-request@0268158ec3bcce2bba0b02d263965383b60b18a3 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index cfa7552d0e0c..125cb643781a 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@19cf0d937c5d6fa749034c34d5f7f95b46ff64d9 + - uses: angular/dev-infra/github-actions/lock-closed@0268158ec3bcce2bba0b02d263965383b60b18a3 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index a0678dd3c54c..64238619f2e5 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "14.0.5", "@angular/compiler-cli": "14.0.5", "@angular/core": "14.0.5", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6af9f6c06ccc79b930059fdf2b81a114424a765c", "@angular/forms": "14.0.5", "@angular/localize": "14.0.5", "@angular/material": "14.0.4", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c760ef043b26..f0bf354c568c 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#01be208242a8fd183e9e89c553ed8b9801fa8de1", - "@angular/cdk": "github:angular/cdk-builds#95b85231e01cef36cd8ad73ce8bddda4a61e04db", - "@angular/common": "github:angular/common-builds#04890e415c7b903ec55210a013bae179717d904d", - "@angular/compiler": "github:angular/compiler-builds#0683a2a974e7a5f6dbd31cfdc6614a9e6d4306da", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#94fb277f1391c04b67130a235a5745a6e56d7ae3", - "@angular/core": "github:angular/core-builds#aefce98c1d3b1d82616c943be5a1a9ce8168c837", - "@angular/forms": "github:angular/forms-builds#f58cc32aafde625bc1efcdbcf9f2dc0ed11dd48e", - "@angular/language-service": "github:angular/language-service-builds#3decd517a32303925917f3e7b1929ab09a455ec2", - "@angular/localize": "github:angular/localize-builds#cc9581805dc9bb69deb48af93a24fe056aee2e8f", - "@angular/material": "github:angular/material-builds#2a6fe7c3f83b05fd0433654daf599d55ca948ac2", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3068d75ffec016b247e725e0e91bd453dfe4c430", - "@angular/platform-browser": "github:angular/platform-browser-builds#8740adc604b8f6a94335e396a23f1949c5b6ccf4", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a38fd009dc0d0fb57f4143e490a1777bf2f6c58c", - "@angular/platform-server": "github:angular/platform-server-builds#14760149121f2a9561e05b520fbdf814743ea613", - "@angular/router": "github:angular/router-builds#482e3a33d379802908fbddc99e3ec333e3285949", - "@angular/service-worker": "github:angular/service-worker-builds#a943465ad1d12e441ad3ba970409199690348247" + "@angular/animations": "github:angular/animations-builds#af08211417008e62520699653b7785d8b202ae70", + "@angular/cdk": "github:angular/cdk-builds#d6c04b905980ffcae06c3aa89f4587f321acb480", + "@angular/common": "github:angular/common-builds#893359a90c8a5cfa61d57309ee5a34d34e2a9289", + "@angular/compiler": "github:angular/compiler-builds#d5ed4215a5ec6dbf4348d9f5a9ce69fcf0f720a2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#91029e5ac7328b8bac0a3bb8446ad93cd11c73c1", + "@angular/core": "github:angular/core-builds#5fa93dd5c9d0ddeec0d3fb32ad6b47386d515668", + "@angular/forms": "github:angular/forms-builds#58e2e25aa276b81cdf0bab92c0ad5bea9cf30009", + "@angular/language-service": "github:angular/language-service-builds#c6b0baf9a9c53a7a69be4cdf0ee11187253d1df3", + "@angular/localize": "github:angular/localize-builds#d3c0284444aab25ea751fa79727fa01601c778eb", + "@angular/material": "github:angular/material-builds#1f8b178316023a776675f3a31f19bda9609d9ff3", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ff10a26dce31da53d73e31ea750afbee9f14888b", + "@angular/platform-browser": "github:angular/platform-browser-builds#7b394794d4dd21fe0325e110a3caadfd9e75256b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#eef610a998fc8362706cb349daf89bf50409eaa7", + "@angular/platform-server": "github:angular/platform-server-builds#bb604cc273092b9c355569a585362586f61f6106", + "@angular/router": "github:angular/router-builds#ada6ae6a1086576d17f0b1dd5f6988761516ad07", + "@angular/service-worker": "github:angular/service-worker-builds#3b9776065ab4dc78c2a198c22f33760aa5366cce" } } diff --git a/yarn.lock b/yarn.lock index 08d6c8b0f213..794dc29eaa8a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -168,22 +168,22 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b": - version "0.0.0-19cf0d937c5d6fa749034c34d5f7f95b46ff64d9" - uid b8d2fd661e0d843953763e79456c4d096778e66b - resolved "https://github.com/angular/dev-infra-private-builds.git#b8d2fd661e0d843953763e79456c4d096778e66b" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6af9f6c06ccc79b930059fdf2b81a114424a765c": + version "0.0.0-0268158ec3bcce2bba0b02d263965383b60b18a3" + uid "6af9f6c06ccc79b930059fdf2b81a114424a765c" + resolved "https://github.com/angular/dev-infra-private-builds.git#6af9f6c06ccc79b930059fdf2b81a114424a765c" dependencies: "@angular-devkit/build-angular" "14.1.0-next.4" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.5.1" - "@bazel/esbuild" "5.5.1" - "@bazel/protractor" "5.5.1" - "@bazel/runfiles" "5.5.1" - "@bazel/terser" "5.5.1" - "@bazel/typescript" "5.5.1" - "@microsoft/api-extractor" "7.28.3" + "@bazel/concatjs" "5.5.2" + "@bazel/esbuild" "5.5.2" + "@bazel/protractor" "5.5.2" + "@bazel/runfiles" "5.5.2" + "@bazel/terser" "5.5.2" + "@bazel/typescript" "5.5.2" + "@microsoft/api-extractor" "7.28.4" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -1211,10 +1211,19 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.1.tgz#b76f64681e741204d6fedb77d9b6ed442542f095" - integrity sha512-fEuLMxud3kWYgSgI/uP3RE543tWt0uAAoHNO4RTIhd/QfQx8ZDjUUxT2xabT0Bsr9q0mhm4Ur4HM/6mNTs31Lw== +"@bazel/concatjs@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.2.tgz#c5d0c8794e78f26767f693bd1dfd66a33aa79261" + integrity sha512-bT03y2oulHzGZXyCn6ii8khVClqThobrlTk+3X6nOAEsqztFU8LGCefhNR+2lJIsHUjNgQBeZH+IcbG69Uzlfg== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + +"@bazel/esbuild@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.2.tgz#598b75ffcb28972c5b0eb04c26db486fc001156b" + integrity sha512-vSDnBOjydzwutg8rC97ftPDQmdhig8ya/IhsvsaoZdV0WbfNmqECCxri/7RH9e4PU7cb6YzBL/MCBNmwwTHLVg== "@bazel/jasmine@5.5.1": version "5.5.1" @@ -1224,35 +1233,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.1.tgz#19f1c2d5fda75157d073295878ddad3592d7c640" - integrity sha512-4teinBj8d6u5JY/Dt8Kuy8z45etqw8U2a2HMj2PG2KgWci6RKBghFg8d/pBhQftbpoOjBuphD4uGI4gxD7SI2Q== +"@bazel/protractor@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.2.tgz#268779e51788d62026f0701afd830ec2308c9fc2" + integrity sha512-RZI1y0mCNO6ffLRTZRQ7q+h/2knuJBZN/de1yQDCkhUlS/8qYM6sO3EAh5pTKZTkF80BaVwFJsr2aFxfE71Vtg== -"@bazel/runfiles@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.1.tgz#3e5860e51bf4fee07d90e1f1fbdc67241315cb55" - integrity sha512-5leyQVWMqZVMyjeIpQ/3w6ozP7cUgZMalfdzMYJZtPqekXpAQqeV/jXLPW0f86x2ocIDKEkeMDIpzTB9+FiENg== +"@bazel/runfiles@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.2.tgz#6dfa59c8f7f291daea6a416a095140375e6a3392" + integrity sha512-VOAg+UOwzzchmHb9uVUzIQII0baeTTLxbPgwbkugqO0IVsoS8g2ELUlwulZfKCsGiueI4hkaibq6eCAhqANlkA== -"@bazel/terser@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.1.tgz#1c11154a03a88ec5477e308b3dea3f86fb335278" - integrity sha512-YxKXn6Td90EUVjUFzeS5TQFCxtnmVNaVeLTwQLr7rhtq8tQ4BnYbWJcKrWJZAfuFkxoK1iU3PeFtIDoaOXUAOg== +"@bazel/terser@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.2.tgz#59878ad6e8ecb4dd3d709f3e0a0ace173eff4105" + integrity sha512-uLvk+YaoK6W77P2DoTPpdWpPYaOp9b5x0GBUPhHE4AZSRnfwJE61DG1L+dmAUCCmCKW54ycfLe3GFMPsrcMBkQ== -"@bazel/typescript@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.1.tgz#2a30107f7d0b16ef486a473f204b1ffc72c4d28b" - integrity sha512-5CZROZMOsu4m4VZ39oZOd23XBzVg1YyJLy7rYknfJ+cNiEO8beOy+fuCw39MietN6eNEj0YyPqNaRc5B1hs/xw== +"@bazel/typescript@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.2.tgz#dc7464577a99e4586e9a26c4be6f6c7e898d738f" + integrity sha512-E5JQoBueGZO83sA86ygKOnCAUZH3FNKOGPJe9mAnZ/4ME2w+lE4FJ+amxoCKVAS8qC95Tn5MIVEbCmWmMSB07g== dependencies: - "@bazel/worker" "5.5.1" + "@bazel/worker" "5.5.2" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.1.tgz#1927143f144f22ed569eece22eb14b724e7c10a9" - integrity sha512-3KmFRqEL/rMwKeFMZL5oCi2JbdqbO0TpJ4S+yMznjKUJ+YcwWMj1kF9/PVPD3rinBGtgQdg4EMg7zG9YF/tgWg== +"@bazel/worker@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.2.tgz#192bf8809e8a74095f41c3ee580c4fe9d362ff58" + integrity sha512-YLmgESJZWrGlEZWJ8gKUOpI8GIB91Jzuru6NULJ+64xUX1S3nQicHp9hBG34GOPGfd8DFB+fgC5m0HdA3F7QYQ== dependencies: google-protobuf "^3.6.1" @@ -1503,10 +1512,10 @@ "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.49.0" -"@microsoft/api-extractor@7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.28.3.tgz#516d8a81b1c62949116e258d54c03ee8c5b7740a" - integrity sha512-lkDHPyln8MNEy1QHjmGwedRquclGKU0qL0gHplfnHuSTXSoNQ86UYaPmhG77/GiNehXzGNKMYSIfTsuoQb69jA== +"@microsoft/api-extractor@7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.28.4.tgz#8e67a69edb4937beda516d42d4f325e6e1258445" + integrity sha512-7JeROBGYTUt4/4HPnpMscsQgLzX0OfGTQR2qOQzzh3kdkMyxmiv2mzpuhoMnwbubb1GvPcyFm+NguoqOqkCVaw== dependencies: "@microsoft/api-extractor-model" "7.21.0" "@microsoft/tsdoc" "0.14.1" From b8bf3b480bef752641370e542ebb5aee649a8ac6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 11 Jul 2022 17:06:01 -0400 Subject: [PATCH 0657/1388] fix(@schematics/angular): only issue a warning for addDependency existing specifier When using the `addDependency` helper rule, a package specifier mismatch will now result in a warning instead of an error. This prevents the potential for breaking changes in schematics that previously allowed the behavior. The warning will also display the existing and new specifiers to better inform the schematic user of the outcome of the schematic. --- .../schematics/angular/utility/dependency.ts | 22 ++++++-- .../angular/utility/dependency_spec.ts | 55 +++++++++++++------ 2 files changed, 53 insertions(+), 24 deletions(-) diff --git a/packages/schematics/angular/utility/dependency.ts b/packages/schematics/angular/utility/dependency.ts index 88df71cc5746..f3627164a5df 100644 --- a/packages/schematics/angular/utility/dependency.ts +++ b/packages/schematics/angular/utility/dependency.ts @@ -103,13 +103,23 @@ export function addDependency( if (!dependencySection) { // Section is not present. The dependency can be added to a new object literal for the section. manifest[type] = { [name]: specifier }; - } else if (dependencySection[name] === specifier) { - // Already present with same specifier - return; - } else if (dependencySection[name]) { - // Already present but different specifier - throw new Error(`Package dependency "${name}" already exists with a different specifier.`); } else { + const existingSpecifier = dependencySection[name]; + + if (existingSpecifier === specifier) { + // Already present with same specifier + return; + } + + if (existingSpecifier) { + // Already present but different specifier + // This warning may become an error in the future + context.logger.warn( + `Package dependency "${name}" already exists with a different specifier. ` + + `"${existingSpecifier}" will be replaced with "${specifier}".`, + ); + } + // Add new dependency in alphabetical order const entries = Object.entries(dependencySection); entries.push([name, specifier]); diff --git a/packages/schematics/angular/utility/dependency_spec.ts b/packages/schematics/angular/utility/dependency_spec.ts index f80a341c181e..788851a69dcc 100644 --- a/packages/schematics/angular/utility/dependency_spec.ts +++ b/packages/schematics/angular/utility/dependency_spec.ts @@ -17,17 +17,31 @@ import { } from '@angular-devkit/schematics'; import { DependencyType, InstallBehavior, addDependency } from './dependency'; -async function testRule(rule: Rule, tree: Tree): Promise { +interface LogEntry { + type: 'warn'; + message: string; +} + +async function testRule( + rule: Rule, + tree: Tree, +): Promise<{ tasks: TaskConfigurationGenerator[]; logs: LogEntry[] }> { const tasks: TaskConfigurationGenerator[] = []; + const logs: LogEntry[] = []; const context = { addTask(task: TaskConfigurationGenerator) { tasks.push(task); }, + logger: { + warn(message: string): void { + logs.push({ type: 'warn', message }); + }, + }, }; await callRule(rule, tree, context as unknown as SchematicContext).toPromise(); - return tasks; + return { tasks, logs }; } describe('addDependency', () => { @@ -49,7 +63,7 @@ describe('addDependency', () => { }); }); - it('throws if a package is already present with a different specifier', async () => { + it('warns if a package is already present with a different specifier', async () => { const tree = new EmptyTree(); tree.create( '/package.json', @@ -60,9 +74,14 @@ describe('addDependency', () => { const rule = addDependency('@angular/core', '^14.0.0'); - await expectAsync(testRule(rule, tree)).toBeRejectedWithError( - undefined, - 'Package dependency "@angular/core" already exists with a different specifier.', + const { logs } = await testRule(rule, tree); + expect(logs).toContain( + jasmine.objectContaining({ + type: 'warn', + message: + 'Package dependency "@angular/core" already exists with a different specifier. ' + + '"^13.0.0" will be replaced with "^14.0.0".', + }), ); }); @@ -164,7 +183,7 @@ describe('addDependency', () => { const rule = addDependency('@angular/core', '^14.0.0'); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -182,7 +201,7 @@ describe('addDependency', () => { packageJsonPath: '/abc/package.json', }); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -201,7 +220,7 @@ describe('addDependency', () => { install: InstallBehavior.Auto, }); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -220,7 +239,7 @@ describe('addDependency', () => { install: InstallBehavior.Always, }); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -239,7 +258,7 @@ describe('addDependency', () => { install: InstallBehavior.None, }); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks).toEqual([]); }); @@ -255,7 +274,7 @@ describe('addDependency', () => { const rule = addDependency('@angular/core', '^14.0.0'); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks).toEqual([]); }); @@ -269,7 +288,7 @@ describe('addDependency', () => { addDependency('@angular/common', '^14.0.0'), ]); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -288,7 +307,7 @@ describe('addDependency', () => { addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.Auto }), ]); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -307,7 +326,7 @@ describe('addDependency', () => { addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.None }), ]); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -326,7 +345,7 @@ describe('addDependency', () => { addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.Auto }), ]); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -345,7 +364,7 @@ describe('addDependency', () => { addDependency('@angular/common', '^14.0.0', { install: InstallBehavior.Always }), ]); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { @@ -369,7 +388,7 @@ describe('addDependency', () => { addDependency('@angular/common', '^14.0.0', { packageJsonPath: '/abc/package.json' }), ]); - const tasks = await testRule(rule, tree); + const { tasks } = await testRule(rule, tree); expect(tasks.map((task) => task.toConfiguration())).toEqual([ { From 37841d972e1e6d167b4a398d6886d93e0669d30b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Jul 2022 12:05:47 +0000 Subject: [PATCH 0658/1388] ci: filter yarn and npm tests during E2E test setup This is a trick to force tests that take longer to run to run on different shards when using different package managers. --- tests/legacy-cli/e2e_runner.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 8fb6f58b7a70..150d81450083 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -82,8 +82,25 @@ const allTests = glob .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. .map((name) => name.replace(/\\/g, '/')) - .sort() - .filter((name) => !name.endsWith('/setup.ts')); + .filter((name) => { + if (name.endsWith('/setup.ts')) { + return false; + } + + // The below is to exclude specific tests that are not intented to run for the current package manager. + // This is also important as without the trickery the tests that take the longest ex: update.ts (2.5mins) + // will be executed on the same shard. + const fileName = path.basename(name); + if ( + (fileName.startsWith('yarn-') && !argv.yarn) || + (fileName.startsWith('npm-') && argv.yarn) + ) { + return false; + } + + return true; + }) + .sort(); const shardId = 'shard' in argv ? argv['shard'] : null; const nbShards = (shardId === null ? 1 : argv['nb-shards']) || 2; From af8e18ad69746a2ec8f24927a520f40852eacf6a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Jul 2022 12:12:24 +0000 Subject: [PATCH 0659/1388] test: delete build-errors and allow-js e2e tests These case is already tested in build-angular. --- tests/legacy-cli/e2e/tests/build/allow-js.ts | 23 ----- .../e2e/tests/build/build-errors.ts | 85 ------------------- 2 files changed, 108 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/allow-js.ts delete mode 100644 tests/legacy-cli/e2e/tests/build/build-errors.ts diff --git a/tests/legacy-cli/e2e/tests/build/allow-js.ts b/tests/legacy-cli/e2e/tests/build/allow-js.ts deleted file mode 100644 index 269b20e3a886..000000000000 --- a/tests/legacy-cli/e2e/tests/build/allow-js.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ng } from '../../utils/process'; -import { updateTsConfig } from '../../utils/project'; -import { appendToFile, writeFile } from '../../utils/fs'; - -export default async function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - await writeFile('src/my-js-file.js', 'console.log(1); export const a = 2;'); - await appendToFile( - 'src/main.ts', - ` - import { a } from './my-js-file'; - console.log(a); - `, - ); - - await updateTsConfig((json) => { - json['compilerOptions'].allowJs = true; - }); - - await ng('build', '--configuration=development'); - await ng('build', '--aot', '--configuration=development'); -} diff --git a/tests/legacy-cli/e2e/tests/build/build-errors.ts b/tests/legacy-cli/e2e/tests/build/build-errors.ts deleted file mode 100644 index 342be008f430..000000000000 --- a/tests/legacy-cli/e2e/tests/build/build-errors.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { writeFile, appendToFile, readFile, replaceInFile } from '../../utils/fs'; -import { getGlobalVariable } from '../../utils/env'; -import { expectToFail } from '../../utils/utils'; - -const extraErrors = [ - `Final loader didn't return a Buffer or String`, - `doesn't contain a valid alias configuration`, - `main.ts is not part of the TypeScript compilation.`, -]; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - if (process.platform.startsWith('win')) { - return Promise.resolve(); - } - - // Skip this test in Angular 2/4. - if (getGlobalVariable('argv').ng2 || getGlobalVariable('argv').ng4) { - return Promise.resolve(); - } - - let origContent: string; - - return ( - Promise.resolve() - // Save the original contents of `./src/app/app.component.ts`. - .then(() => readFile('./src/app/app.component.ts')) - .then((contents) => (origContent = contents)) - // Check `part of the TypeScript compilation` errors. - // These should show an error only for the missing file. - .then(() => - updateJsonFile('./tsconfig.app.json', (configJson) => { - (configJson.include = undefined), (configJson.files = ['src/main.ts']); - }), - ) - .then(() => expectToFail(() => ng('build'))) - .then(({ message }) => { - if (!message.includes('polyfills.ts is missing from the TypeScript compilation')) { - throw new Error(`Expected missing TS file error, got this instead:\n${message}`); - } - if (extraErrors.some((e) => message.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${message}`); - } - }) - .then(() => - updateJsonFile('./tsconfig.app.json', (configJson) => { - configJson.include = ['src/**/*.ts']; - configJson.exclude = ['**/**.spec.ts']; - configJson.files = undefined; - }), - ) - // Check simple single syntax errors. - // These shouldn't skip emit and just show a TS error. - .then(() => appendToFile('./src/app/app.component.ts', ']]]')) - .then(() => expectToFail(() => ng('build'))) - .then(({ message }) => { - if (!message.includes('Declaration or statement expected.')) { - throw new Error(`Expected syntax error, got this instead:\n${message}`); - } - if (extraErrors.some((e) => message.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${message}`); - } - }) - .then(() => writeFile('./src/app/app.component.ts', origContent)) - // Check errors when files were not emitted due to static analysis errors. - .then(() => replaceInFile('./src/app/app.component.ts', `'app-root'`, `(() => 'app-root')()`)) - .then(() => expectToFail(() => ng('build', '--aot'))) - .then(({ message }) => { - if ( - !message.includes('Function calls are not supported') && - !message.includes('Function expressions are not supported in decorators') && - !message.includes('selector must be a string') - ) { - throw new Error(`Expected static analysis error, got this instead:\n${message}`); - } - if (extraErrors.some((e) => message.includes(e))) { - throw new Error(`Did not expect extra errors but got:\n${message}`); - } - }) - .then(() => writeFile('./src/app/app.component.ts', origContent)) - ); -} From 365295c51507e746ff688faa9a502f7be123adb8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Jul 2022 09:59:19 +0000 Subject: [PATCH 0660/1388] test: use version 13 project in `cli-exit-interop` test This version doesn't need NGCC which helps to cut down on testing time. --- .../e2e/assets/13.0-project/.browserslistrc | 16 + .../e2e/assets/13.0-project/.editorconfig | 16 + .../e2e/assets/13.0-project/.gitignore | 46 ++ .../e2e/assets/13.0-project/README.md | 27 + .../e2e/assets/13.0-project/angular.json | 118 +++++ .../13.0-project/e2e/protractor.conf.js | 36 ++ .../13.0-project/e2e/src/app.e2e-spec.ts | 25 + .../e2e/assets/13.0-project/e2e/src/app.po.ts | 11 + .../e2e/assets/13.0-project/e2e/tsconfig.json | 10 + .../e2e/assets/13.0-project/karma.conf.js | 44 ++ .../e2e/assets/13.0-project/package.json | 39 ++ .../src/app/app-routing.module.ts | 10 + .../13.0-project/src/app/app.component.css | 0 .../13.0-project/src/app/app.component.html | 484 ++++++++++++++++++ .../src/app/app.component.spec.ts | 35 ++ .../13.0-project/src/app/app.component.ts | 10 + .../assets/13.0-project/src/app/app.module.ts | 18 + .../assets/13.0-project/src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 3 + .../src/environments/environment.ts | 16 + .../e2e/assets/13.0-project/src/favicon.ico | Bin 0 -> 948 bytes .../e2e/assets/13.0-project/src/index.html | 13 + .../e2e/assets/13.0-project/src/main.ts | 12 + .../e2e/assets/13.0-project/src/polyfills.ts | 53 ++ .../e2e/assets/13.0-project/src/styles.css | 1 + .../e2e/assets/13.0-project/src/test.ts | 26 + .../e2e/assets/13.0-project/tsconfig.app.json | 15 + .../e2e/assets/13.0-project/tsconfig.json | 32 ++ .../assets/13.0-project/tsconfig.spec.json | 18 + .../e2e/tests/misc/cli-exit-interop.ts | 5 +- 30 files changed, 1137 insertions(+), 2 deletions(-) create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/.browserslistrc create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/.editorconfig create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/.gitignore create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/README.md create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/angular.json create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.e2e-spec.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.po.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/e2e/tsconfig.json create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/package.json create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/app/app-routing.module.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.css create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.html create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.spec.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/app/app.module.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/assets/.gitkeep create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.prod.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/favicon.ico create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/index.html create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/main.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/polyfills.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/styles.css create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/src/test.ts create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/tsconfig.app.json create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/tsconfig.json create mode 100644 tests/legacy-cli/e2e/assets/13.0-project/tsconfig.spec.json diff --git a/tests/legacy-cli/e2e/assets/13.0-project/.browserslistrc b/tests/legacy-cli/e2e/assets/13.0-project/.browserslistrc new file mode 100644 index 000000000000..4f9ac26980c1 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/.browserslistrc @@ -0,0 +1,16 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR diff --git a/tests/legacy-cli/e2e/assets/13.0-project/.editorconfig b/tests/legacy-cli/e2e/assets/13.0-project/.editorconfig new file mode 100644 index 000000000000..59d9a3a3e73f --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/tests/legacy-cli/e2e/assets/13.0-project/.gitignore b/tests/legacy-cli/e2e/assets/13.0-project/.gitignore new file mode 100644 index 000000000000..105c00f22e08 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/.gitignore @@ -0,0 +1,46 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +# Only exists if Bazel was run +/bazel-out + +# dependencies +/node_modules + +# profiling files +chrome-profiler-events*.json + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +/.angular/cache +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/tests/legacy-cli/e2e/assets/13.0-project/README.md b/tests/legacy-cli/e2e/assets/13.0-project/README.md new file mode 100644 index 000000000000..2a648fdfaf35 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/README.md @@ -0,0 +1,27 @@ +# ThirteenProject + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.0.4. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/tests/legacy-cli/e2e/assets/13.0-project/angular.json b/tests/legacy-cli/e2e/assets/13.0-project/angular.json new file mode 100644 index 000000000000..c842d2bdf7c8 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/angular.json @@ -0,0 +1,118 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "thirteen-project": { + "projectType": "application", + "schematics": { + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/thirteen-project", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "thirteen-project:build:production" + }, + "development": { + "browserTarget": "thirteen-project:build:development" + } + }, + "defaultConfiguration": "development" + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "thirteen-project:serve" + }, + "configurations": { + "production": { + "devServerTarget": "thirteen-project:serve:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "thirteen-project:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } + } + } + } + }, + "defaultProject": "thirteen-project" +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js b/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js new file mode 100644 index 000000000000..f07dcd519768 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js @@ -0,0 +1,36 @@ +// @ts-check +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); + +/** + * @type { import("protractor").Config } + */ +exports.config = { + allScriptsTimeout: 11000, + specs: ['./src/**/*.e2e-spec.ts'], + capabilities: { + browserName: 'chrome', + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function () {}, + }, + onPrepare() { + require('ts-node').register({ + project: require('path').join(__dirname, './tsconfig.json'), + }); + jasmine.getEnv().addReporter( + new SpecReporter({ + spec: { + displayStacktrace: StacktraceOption.PRETTY, + }, + }), + ); + }, +}; diff --git a/tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.e2e-spec.ts b/tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.e2e-spec.ts new file mode 100644 index 000000000000..2c278bbb44db --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.e2e-spec.ts @@ -0,0 +1,25 @@ +import { AppPage } from './app.po'; +import { browser, logging } from 'protractor'; + +describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); + }); + + it('should display welcome message', async () => { + page.navigateTo(); + expect(await page.getTitleText()).toMatch(/app is running/); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry), + ); + }); +}); diff --git a/tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.po.ts b/tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.po.ts new file mode 100644 index 000000000000..b68475e0fc0c --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/e2e/src/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class AppPage { + navigateTo(): Promise { + return browser.get(browser.baseUrl) as Promise; + } + + getTitleText(): Promise { + return element(by.css('app-root .content span')).getText() as Promise; + } +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/e2e/tsconfig.json b/tests/legacy-cli/e2e/assets/13.0-project/e2e/tsconfig.json new file mode 100644 index 000000000000..eddd492c3de8 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/e2e/tsconfig.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "module": "commonjs", + "target": "es2018", + "types": ["jasmine", "jasminewd2", "node"] + } +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js new file mode 100644 index 000000000000..ccec87ca2b1f --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/thirteen-project'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/tests/legacy-cli/e2e/assets/13.0-project/package.json b/tests/legacy-cli/e2e/assets/13.0-project/package.json new file mode 100644 index 000000000000..70f6e70e3fae --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/package.json @@ -0,0 +1,39 @@ +{ + "name": "thirteen-project", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "~13.0.0", + "@angular/common": "~13.0.0", + "@angular/compiler": "~13.0.0", + "@angular/core": "~13.0.0", + "@angular/forms": "~13.0.0", + "@angular/platform-browser": "~13.0.0", + "@angular/platform-browser-dynamic": "~13.0.0", + "@angular/router": "~13.0.0", + "rxjs": "~7.4.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~13.0.4", + "@angular/cli": "~13.0.4", + "@angular/compiler-cli": "~13.0.0", + "@types/jasmine": "~3.10.0", + "@types/node": "^12.11.1", + "jasmine-core": "~3.10.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.0.3", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "typescript": "~4.4.3" + } +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/app/app-routing.module.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app-routing.module.ts new file mode 100644 index 000000000000..02972627f8df --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.css b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.css new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.html b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.html new file mode 100644 index 000000000000..e11ca5914736 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.html @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + +
+ + +
+ + + Rocket Ship + + + + + + + + + + {{ title }} app is running! + + + Rocket Ship Smoke + + + +
+ + +

Resources

+

Here are some links to help you get started:

+ + + + +

Next Steps

+

What do you want to do next with your app?

+ + + +
+ + + + + + + + + + + +
+ + +
+
ng generate component xyz
+
ng add @angular/material
+
ng add @angular/pwa
+
ng add _____
+
ng test
+
ng build
+
+ + + + + + + + + Gray Clouds Background + + + +
+ + + + + + + + + + diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.spec.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.spec.ts new file mode 100644 index 000000000000..9d394b069498 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.spec.ts @@ -0,0 +1,35 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + RouterTestingModule + ], + declarations: [ + AppComponent + ], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'thirteen-project'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('thirteen-project'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('thirteen-project app is running!'); + }); +}); diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.ts new file mode 100644 index 000000000000..e641b316c71e --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'thirteen-project'; +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.module.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.module.ts new file mode 100644 index 000000000000..b1c6c96a9de8 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/app/app.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; + +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; + +@NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + AppRoutingModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/assets/.gitkeep b/tests/legacy-cli/e2e/assets/13.0-project/src/assets/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.prod.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.prod.ts new file mode 100644 index 000000000000..3612073bc31c --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.ts new file mode 100644 index 000000000000..f56ff47022c7 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/favicon.ico b/tests/legacy-cli/e2e/assets/13.0-project/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..997406ad22c29aae95893fb3d666c30258a09537 GIT binary patch literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 + + + + ThirteenProject + + + + + + + + diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/main.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/main.ts new file mode 100644 index 000000000000..c7b673cf44b3 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/polyfills.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/polyfills.ts new file mode 100644 index 000000000000..429bb9ef2d34 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/polyfills.ts @@ -0,0 +1,53 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes recent versions of Safari, Chrome (including + * Opera), Edge on the desktop, and iOS and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/styles.css b/tests/legacy-cli/e2e/assets/13.0-project/src/styles.css new file mode 100644 index 000000000000..90d4ee0072ce --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/tests/legacy-cli/e2e/assets/13.0-project/src/test.ts b/tests/legacy-cli/e2e/assets/13.0-project/src/test.ts new file mode 100644 index 000000000000..00025daf1720 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/src/test.ts @@ -0,0 +1,26 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + (id: string): T; + keys(): string[]; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), +); + +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.app.json b/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.app.json new file mode 100644 index 000000000000..82d91dc4a4de --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.json b/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.json new file mode 100644 index 000000000000..f531992d6edc --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.json @@ -0,0 +1,32 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2017", + "module": "es2020", + "lib": [ + "es2020", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.spec.json b/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.spec.json new file mode 100644 index 000000000000..092345b02e80 --- /dev/null +++ b/tests/legacy-cli/e2e/assets/13.0-project/tsconfig.spec.json @@ -0,0 +1,18 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts index 3d4b72befd04..d5f718e1514d 100644 --- a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts +++ b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts @@ -2,7 +2,7 @@ import { createProjectFromAsset } from '../../utils/assets'; import { moveFile, replaceInFile } from '../../utils/fs'; import { setRegistry } from '../../utils/packages'; import { noSilentNg } from '../../utils/process'; -import { useCIChrome } from '../../utils/project'; +import { useCIChrome, useCIDefaults } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; /** @@ -16,7 +16,7 @@ export default async function () { // We need to use the public registry because in the local NPM server we don't have // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. await setRegistry(false); - await createProjectFromAsset('12.0-project', true); + await createProjectFromAsset('13.0-project', true); // A missing stylesheet error will trigger the stuck process issue with v12 when building await moveFile('src/styles.css', 'src/styles.scss'); @@ -27,6 +27,7 @@ export default async function () { await replaceInFile('angular.json', /styles\.css/g, 'styles.scss'); await useCIChrome(); + await useCIDefaults('thirteen-project'); await noSilentNg('test', '--watch=false'); } finally { await setRegistry(true); From 6c9e388e12198cbb6b4deb317eb965f7de3cd78c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Jul 2022 17:11:38 +0000 Subject: [PATCH 0661/1388] test: move chrome driver path login inside the protractor config check The chrome driver path is only needed when protractor config is available. --- .../e2e/tests/misc/cli-exit-interop.ts | 2 +- tests/legacy-cli/e2e/utils/project.ts | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts index d5f718e1514d..f0d13c465101 100644 --- a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts +++ b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts @@ -18,7 +18,7 @@ export default async function () { await setRegistry(false); await createProjectFromAsset('13.0-project', true); - // A missing stylesheet error will trigger the stuck process issue with v12 when building + // A missing stylesheet error will trigger the stuck process issue with v13 when building await moveFile('src/styles.css', 'src/styles.scss'); await expectToFail(() => noSilentNg('build')); diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 15d72673ca6a..200f14dcfbce 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -177,17 +177,18 @@ export async function useCIChrome(projectDir: string = ''): Promise { const karmaConf = path.join(projectDir, 'karma.conf.js'); const chromePath = require('puppeteer').executablePath(); - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; - const chromeDriverPath = webdriverUpdate.chrome.last; // Use Puppeteer in protractor if a config is found on the project. if (fs.existsSync(protractorConf)) { + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { + chrome: { last: string }; + }; + const chromeDriverPath = webdriverUpdate.chrome.last; + await replaceInFile( protractorConf, `browserName: 'chrome'`, From 10a4e0f3ded9582425ad8e2346796ea8fce3d822 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 13 Jul 2022 17:40:26 +0000 Subject: [PATCH 0662/1388] build: update angular to 89844a1 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 8 ++--- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 5565586a7b06..ca14a87d9cae 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@0268158ec3bcce2bba0b02d263965383b60b18a3 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@8420d8593135df75b283e90beba0aa9b5b9838ce with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@0268158ec3bcce2bba0b02d263965383b60b18a3 + - uses: angular/dev-infra/github-actions/post-approval-changes@8420d8593135df75b283e90beba0aa9b5b9838ce with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 8765f61ad951..ff5921901778 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@0268158ec3bcce2bba0b02d263965383b60b18a3 + - uses: angular/dev-infra/github-actions/feature-request@8420d8593135df75b283e90beba0aa9b5b9838ce with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 125cb643781a..83eedced8c2a 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@0268158ec3bcce2bba0b02d263965383b60b18a3 + - uses: angular/dev-infra/github-actions/lock-closed@8420d8593135df75b283e90beba0aa9b5b9838ce with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 64238619f2e5..6a376b4252b3 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@angular/compiler": "14.0.5", "@angular/compiler-cli": "14.0.5", "@angular/core": "14.0.5", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#6af9f6c06ccc79b930059fdf2b81a114424a765c", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#294d737341a13e130fb7184268c0653c335ef388", "@angular/forms": "14.0.5", "@angular/localize": "14.0.5", "@angular/material": "14.0.4", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index f0bf354c568c..1052d3acb045 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#af08211417008e62520699653b7785d8b202ae70", - "@angular/cdk": "github:angular/cdk-builds#d6c04b905980ffcae06c3aa89f4587f321acb480", - "@angular/common": "github:angular/common-builds#893359a90c8a5cfa61d57309ee5a34d34e2a9289", - "@angular/compiler": "github:angular/compiler-builds#d5ed4215a5ec6dbf4348d9f5a9ce69fcf0f720a2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#91029e5ac7328b8bac0a3bb8446ad93cd11c73c1", - "@angular/core": "github:angular/core-builds#5fa93dd5c9d0ddeec0d3fb32ad6b47386d515668", - "@angular/forms": "github:angular/forms-builds#58e2e25aa276b81cdf0bab92c0ad5bea9cf30009", - "@angular/language-service": "github:angular/language-service-builds#c6b0baf9a9c53a7a69be4cdf0ee11187253d1df3", - "@angular/localize": "github:angular/localize-builds#d3c0284444aab25ea751fa79727fa01601c778eb", - "@angular/material": "github:angular/material-builds#1f8b178316023a776675f3a31f19bda9609d9ff3", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ff10a26dce31da53d73e31ea750afbee9f14888b", - "@angular/platform-browser": "github:angular/platform-browser-builds#7b394794d4dd21fe0325e110a3caadfd9e75256b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#eef610a998fc8362706cb349daf89bf50409eaa7", - "@angular/platform-server": "github:angular/platform-server-builds#bb604cc273092b9c355569a585362586f61f6106", - "@angular/router": "github:angular/router-builds#ada6ae6a1086576d17f0b1dd5f6988761516ad07", - "@angular/service-worker": "github:angular/service-worker-builds#3b9776065ab4dc78c2a198c22f33760aa5366cce" + "@angular/animations": "github:angular/animations-builds#89844a1f5434fd7df03749244e5e3c2a02d2c842", + "@angular/cdk": "github:angular/cdk-builds#a5d2a7e6d857ef184bd012b6e9567b5ebb0abd9e", + "@angular/common": "github:angular/common-builds#b7b8f1eb6fff26d7f192cd5ae724fe401c80664c", + "@angular/compiler": "github:angular/compiler-builds#75d95604678a7ce74782d797ae7f597e1598eb84", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#7f6387b88cd25f1d20d8692ea64c75a84672581a", + "@angular/core": "github:angular/core-builds#d93085ed12e1047e9ce8a85e0e023aabc7402fd2", + "@angular/forms": "github:angular/forms-builds#3296b887ebbda5a5ccd908f53c271f8944098f68", + "@angular/language-service": "github:angular/language-service-builds#eed39ba7cc7a73677deddeddcaaaaa1c99b26ce3", + "@angular/localize": "github:angular/localize-builds#a02e9b19b2e5e4b4c3bed353fe0d23f6285b0b7e", + "@angular/material": "github:angular/material-builds#f5bcdf4c952bdd61f5681c901f0c1096b133f17f", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a100b5a560ed68e87d8c5d36ec63c9ebdf339031", + "@angular/platform-browser": "github:angular/platform-browser-builds#b698cc3078dcd038b8df41e51ad38f6aed32f622", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#b6c988407aeaecaae4a56e289d4ffb272019bef2", + "@angular/platform-server": "github:angular/platform-server-builds#c638408d0dbe3255b8b6968bb5f09d535b669dce", + "@angular/router": "github:angular/router-builds#f0e34d23768450e7a2d78b666c56b39fbe2ef918", + "@angular/service-worker": "github:angular/service-worker-builds#873cbf9c7828f016a16323032e7f649c0b478a32" } } diff --git a/yarn.lock b/yarn.lock index 794dc29eaa8a..ff0ecd323160 100644 --- a/yarn.lock +++ b/yarn.lock @@ -168,10 +168,10 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#6af9f6c06ccc79b930059fdf2b81a114424a765c": - version "0.0.0-0268158ec3bcce2bba0b02d263965383b60b18a3" - uid "6af9f6c06ccc79b930059fdf2b81a114424a765c" - resolved "https://github.com/angular/dev-infra-private-builds.git#6af9f6c06ccc79b930059fdf2b81a114424a765c" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#294d737341a13e130fb7184268c0653c335ef388": + version "0.0.0-2eca9e5ee9e09a0d8c25ff37d3f063982478b411" + uid "294d737341a13e130fb7184268c0653c335ef388" + resolved "https://github.com/angular/dev-infra-private-builds.git#294d737341a13e130fb7184268c0653c335ef388" dependencies: "@angular-devkit/build-angular" "14.1.0-next.4" "@angular/benchpress" "0.3.0" From a59a9fb7d1840fdc36af25b6a4a8901fa3600b46 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 13 Jul 2022 12:55:37 -0700 Subject: [PATCH 0663/1388] docs: release notes for the v14.0.6 release --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e400382db28..b9358c099477 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ + + +# 14.0.6 (2022-07-13) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------- | +| [178550529](https://github.com/angular/angular-cli/commit/1785505290940dad2ef9a62d4725e0d1b4b486d4) | fix | handle cases when completion is enabled and running in an older CLI workspace | +| [10f24498e](https://github.com/angular/angular-cli/commit/10f24498ec2938487ae80d6ecea584e20b01dcbe) | fix | remove deprecation warning of `no` prefixed schema options | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | +| [dfa6d73c5](https://github.com/angular/angular-cli/commit/dfa6d73c5c45d3c3276fb1fecfb6535362d180c5) | fix | remove browserslist configuration | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------------------------- | +| [4d848c4e6](https://github.com/angular/angular-cli/commit/4d848c4e6f6944f32b9ecb2cf2db5c544b3894fe) | fix | generate different content hashes for scripts which are changed during the optimization phase | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- | +| [2500f34a4](https://github.com/angular/angular-cli/commit/2500f34a401c2ffb03b1dfa41299d91ddebe787e) | fix | provide actionable warning when a workspace project has missing `root` property | + +## Special Thanks + +Alan Agius and martinfrancois + + + # 14.1.0-next.4 (2022-07-06) From 097816a3a29cb53c95445c3af94fdcb8944f2922 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 14 Jul 2022 09:48:33 -0700 Subject: [PATCH 0664/1388] refactor: bump version of `main` branch to `14.2.0-next.0`. This should have been done automatically in the `14.1.0-rc.0` release, but tooling issues mean this was missed and we can't successfully fix the RC release since `main` and `14.1.x` and in inconsistent states, which confuses `ng-dev`. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a376b4252b3..658fd850c242 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.1.0-next.4", + "version": "14.2.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From b43e0d0327239f6916f404350b198ab3e0fd3f21 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 14 Jul 2022 14:40:32 -0700 Subject: [PATCH 0665/1388] docs: release notes for the v14.1.0-rc.3 release --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9358c099477..ebfbaf17a5a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ + + +# 14.1.0-rc.3 (2022-07-14) + + + # 14.0.6 (2022-07-13) From 3ec69320f0da396a5666c24279aa6050d10cb81d Mon Sep 17 00:00:00 2001 From: Fortunato Ventre Date: Thu, 14 Jul 2022 12:47:13 +0200 Subject: [PATCH 0666/1388] fix(@angular-devkit/core): add i18n as valid project extension When parsing the angular.json file, the 'i18n' key used to configure localization in a localized project should be treated as a special project extension key. This fixes the warning "Project extension with invalid name found." printed when starting/building the project. --- packages/angular_devkit/core/src/workspace/json/reader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index b0e4fbb6d17c..50bebf4a59c8 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -74,7 +74,7 @@ export async function readJsonWorkspace( const specialWorkspaceExtensions = ['cli', 'defaultProject', 'newProjectRoot', 'schematics']; -const specialProjectExtensions = ['cli', 'schematics', 'projectType']; +const specialProjectExtensions = ['cli', 'schematics', 'projectType', 'i18n']; function parseWorkspace(workspaceNode: Node, context: ParserContext): WorkspaceDefinition { const jsonMetadata = context.metadata; From 9defbdf5343d522ac8cb5d3bf1edfa9b43cc6807 Mon Sep 17 00:00:00 2001 From: Katerina Skroumpelou Date: Thu, 14 Jul 2022 13:33:21 +0300 Subject: [PATCH 0667/1388] fix(@angular-devkit/core): log name of invalid extension too --- packages/angular_devkit/core/src/workspace/json/reader.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index 50bebf4a59c8..50e5f0709c04 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -100,7 +100,7 @@ function parseWorkspace(workspaceNode: Node, context: ParserContext): WorkspaceD projects = parseProjectsObject(nodes, context); } else { if (!specialWorkspaceExtensions.includes(name) && !/^[a-z]{1,3}-.*/.test(name)) { - context.warn(`Project extension with invalid name found.`, name); + context.warn(`Project extension with invalid name (${name}) found.`, name); } if (extensions) { extensions[name] = value; @@ -202,7 +202,7 @@ function parseProject( break; default: if (!specialProjectExtensions.includes(name) && !/^[a-z]{1,3}-.*/.test(name)) { - context.warn(`Project extension with invalid name found.`, name); + context.warn(`Project extension with invalid name (${name}) found.`, name); } if (extensions) { extensions[name] = value; From ec854fcfcbc980e381080eed625cf1991d9b5fb7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 14 Jul 2022 11:49:23 +0000 Subject: [PATCH 0668/1388] ci: run snapshot job when snapshot package.json is modified Prior of switching to the self hosted Renovate bot, we ran `e2e-cli-ng-snapshots` job on the `main` branch and Renovate PRs that updated the Angular dependencies. Since the switch however we only run this on the `main` branch because the previous branch filter `renovate/angular` doesn't match. Unfortunately, we can no longer rely on the branch filter as for forked repos circle passes the branch names in the form of `pull/`. Thus, we use orbs path-filtering together with circle ci dynamic configuration feature. See: https://circleci.com/developer/orbs/orb/circleci/path-filtering --- .circleci/config.yml | 421 +--------------------------------- .circleci/dynamic_config.yml | 424 +++++++++++++++++++++++++++++++++++ 2 files changed, 435 insertions(+), 410 deletions(-) create mode 100644 .circleci/dynamic_config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 9e071a4f93b9..5f1aebbeb5c0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,416 +1,17 @@ -# Configuration file for https://circleci.com/gh/angular/angular-cli - -# Note: YAML anchors allow an object to be re-used, reducing duplication. -# The ampersand declares an alias for an object, then later the `<<: *name` -# syntax dereferences it. -# See http://blog.daemonl.com/2016/02/yaml.html -# To validate changes, use an online parser, eg. -# http://yaml-online-parser.appspot.com/ - version: 2.1 - orbs: - browser-tools: circleci/browser-tools@1.1.3 - -# Variables - -## IMPORTANT -# Windows needs its own cache key because binaries in node_modules are different. -# See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI. -var_1: &cache_key v1-angular_devkit-14.19-{{ checksum "yarn.lock" }} -var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }} -var_3: &default_nodeversion '14.19' -# Workspace initially persisted by the `setup` job, and then enhanced by `setup-and-build-win`. -# https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs -# https://circleci.com/blog/deep-diving-into-circleci-workspaces/ -var_4: &workspace_location . -# Filter to only release branches on a given job. -var_5: &only_release_branches - filters: - branches: - only: - - main - - /\d+\.\d+\.x/ - -# Executor Definitions -# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors -executors: - action-executor: - parameters: - nodeversion: - type: string - default: *default_nodeversion - docker: - - image: cimg/node:<< parameters.nodeversion >> - working_directory: ~/ng - resource_class: small - - test-executor: - parameters: - nodeversion: - type: string - default: *default_nodeversion - docker: - - image: cimg/node:<< parameters.nodeversion >> - working_directory: ~/ng - resource_class: large - - windows-executor: - # Same as https://circleci.com/orbs/registry/orb/circleci/windows, but named. - working_directory: ~/ng - resource_class: windows.medium - shell: powershell.exe -ExecutionPolicy Bypass - machine: - # Contents of this image: - # https://circleci.com/docs/2.0/hello-world-windows/#software-pre-installed-in-the-windows-image - image: windows-server-2019-vs2019:stable - -# Command Definitions -# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-commands -commands: - fail_fast: - steps: - - run: - name: 'Cancel workflow on fail' - when: on_fail - command: | - curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" - - custom_attach_workspace: - description: Attach workspace at a predefined location - steps: - - attach_workspace: - at: *workspace_location - setup_windows: - steps: - - run: nvm install 16.10 - - run: nvm use 16.10 - - run: npm install -g yarn@1.22.10 - - run: node --version - - run: yarn --version - - run: git config --global core.longpaths true - - setup_bazel_rbe: - parameters: - key: - type: env_var_name - default: CIRCLE_PROJECT_REPONAME - steps: - - run: - name: 'Setup bazel RBE remote execution' - command: | - touch .bazelrc.user; - # We need ensure that the same default digest is used for encoding and decoding - # with openssl. Openssl versions might have different default digests which can - # cause decryption failures based on the openssl version. https://stackoverflow.com/a/39641378/4317734 - openssl aes-256-cbc -d -in .circleci/gcp_token -md md5 -k "${<< parameters.key >>}" -out /home/circleci/.gcp_credentials; - sudo bash -c "echo -e 'build --google_credentials=/home/circleci/.gcp_credentials' >> .bazelrc.user"; - # Upload/don't upload local results to cache based on environment - if [[ -n "{$CIRCLE_PULL_REQUEST}" ]]; then - sudo bash -c "echo -e 'build:remote --remote_upload_local_results=false\n' >> .bazelrc.user"; - echo "Not uploading local build results to remote cache."; - else - sudo bash -c "echo -e 'build:remote --remote_upload_local_results=true\n' >> .bazelrc.user"; - echo "Uploading local build results to remote cache."; - fi - # Enable remote builds - sudo bash -c "echo -e 'build --config=remote' >> .bazelrc.user"; - echo "Reading from remote cache for bazel remote jobs."; - - install_python: - steps: - - run: - name: 'Install Python 2' - command: | - sudo apt-get update > /dev/null 2>&1 - sudo apt-get install -y python - python --version - -# Job definitions -jobs: - setup: - executor: action-executor - resource_class: medium - steps: - - checkout - - run: - name: Rebase PR on target branch - command: > - if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then - # User is required for rebase. - git config user.name "angular-ci" - git config user.email "angular-ci" - # Rebase PR on top of target branch. - node tools/rebase-pr.js angular/angular-cli ${CIRCLE_PR_NUMBER} - else - echo "This build is not over a PR, nothing to do." - fi - - restore_cache: - keys: - - *cache_key - - run: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn - - persist_to_workspace: - root: *workspace_location - paths: - - ./* - - save_cache: - key: *cache_key - paths: - - ~/.cache/yarn + path-filtering: circleci/path-filtering@0.1.3 - lint: - executor: action-executor - steps: - - custom_attach_workspace - - run: yarn lint - - validate: - executor: action-executor - steps: - - custom_attach_workspace - - run: - name: Validate Commit Messages - command: > - if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then - yarn ng-dev commit-message validate-range <> <> - else - echo "This build is not over a PR, nothing to do." - fi - - run: - name: Validate Code Formatting - command: yarn -s ng-dev format changed <> --check - - run: - name: Validate NgBot Configuration - command: yarn ng-dev ngbot verify - - run: - name: Validate Circular Dependencies - command: yarn ts-circular-deps:check - - run: yarn -s admin validate - - run: yarn -s check-tooling-setup - - e2e-cli: - parameters: - nodeversion: - type: string - default: *default_nodeversion - snapshots: - type: boolean - default: false - executor: - name: test-executor - nodeversion: << parameters.nodeversion >> - parallelism: 8 - steps: - - custom_attach_workspace - - browser-tools/install-chrome - - run: - name: Initialize Environment - command: | - ./.circleci/env.sh - - run: - name: Execute CLI E2E Tests - command: | - mkdir /mnt/ramdisk/e2e-main - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e-main - - run: - name: Execute CLI E2E Tests Subset with Yarn - command: | - mkdir /mnt/ramdisk/e2e-yarn - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" - - run: - name: Execute CLI E2E Tests Subset with esbuild builder - command: | - mkdir /mnt/ramdisk/e2e-esbuild - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" - - fail_fast - - test-browsers: - executor: - name: test-executor - environment: - E2E_BROWSERS: true - resource_class: medium - steps: - - custom_attach_workspace - - run: - name: Initialize Environment - command: ./.circleci/env.sh - - run: - name: Initialize Saucelabs - command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) - - run: - name: Start Saucelabs Tunnel - command: ./scripts/saucelabs/start-tunnel.sh - background: true - # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests - # too early without Saucelabs not being ready. - - run: ./scripts/saucelabs/wait-for-tunnel.sh - - run: node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts - - run: ./scripts/saucelabs/stop-tunnel.sh - - fail_fast - - build: - executor: action-executor - steps: - - custom_attach_workspace - - run: yarn build - - build-bazel-e2e: - executor: action-executor - steps: - - custom_attach_workspace - - run: yarn bazel build //tests/legacy-cli/... - - test: - executor: test-executor - resource_class: xlarge - steps: - - custom_attach_workspace - - browser-tools/install-chrome - - setup_bazel_rbe - - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - - run: - command: yarn bazel:test - # This timeout provides time for the actual tests to timeout and report status - # instead of CircleCI stopping the job without test failure information. - no_output_timeout: 40m - - fail_fast - - snapshot_publish: - executor: action-executor - resource_class: medium - steps: - - custom_attach_workspace - - install_python - - run: - name: Decrypt Credentials - # Note: when changing the image, you might have to re-encrypt the credentials with a - # matching version of openssl. - # See https://stackoverflow.com/a/43847627/2116927 for more info. - command: | - openssl aes-256-cbc -d -in .circleci/github_token -k "${KEY}" -out ~/github_token -md md5 - - run: - name: Deployment to Snapshot - command: | - yarn admin snapshots --verbose --githubTokenFile=${HOME}/github_token - - fail_fast - - # Windows jobs - e2e-cli-win: - executor: windows-executor - parallelism: 8 - steps: - - checkout - - run: - name: Rebase PR on target branch - command: | - if (Test-Path env:CIRCLE_PR_NUMBER) { - # User is required for rebase. - git config user.name "angular-ci" - git config user.email "angular-ci" - # Rebase PR on top of target branch. - node tools/rebase-pr.js angular/angular-cli $env:CIRCLE_PR_NUMBER - } else { - echo "This build is not over a PR, nothing to do." - } - - setup_windows - - restore_cache: - keys: - - *cache_key_win - - run: - # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 - # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 - name: 'Arsenal Image Mounter (RAM Disk)' - command: | - pwsh ./.circleci/win-ram-disk.ps1 - - run: yarn install --frozen-lockfile --cache-folder ../.cache/yarn - - save_cache: - key: *cache_key_win - paths: - - ~/.cache/yarn - # Path where Arsenal Image Mounter files are downloaded. - # Must match path in .circleci/win-ram-disk.ps1 - - ./aim - # Run partial e2e suite on PRs only. Release branches will run the full e2e suite. - - run: - name: Execute E2E Tests - command: | - mkdir X:/ramdisk/e2e-main - if (Test-Path env:CIRCLE_PULL_REQUEST) { - node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts,tests/misc/check-postinstalls.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main - } else { - node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main - } - - fail_fast +# This allows you to use CircleCI's dynamic configuration feature +setup: true workflows: - version: 2 - default_workflow: + run-filter: jobs: - # Linux jobs - - setup - - lint: - requires: - - setup - - validate: - requires: - - setup - - build: - requires: - - setup - - e2e-cli: - name: e2e-cli - nodeversion: '14.15' - post-steps: - - store_artifacts: - path: /tmp/dist - destination: cli/new-production - requires: - - build - - e2e-cli: - name: e2e-cli-ng-snapshots - nodeversion: '16.10' - snapshots: true - requires: - - build - filters: - branches: - only: - - renovate/angular - - main - - e2e-cli: - name: e2e-cli-node-16 - nodeversion: '16.10' - <<: *only_release_branches - requires: - - build - - test-browsers: - requires: - - build - - # Bazel jobs - # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and - # will catch any build errors before proceeding to the more lengthy and resource intensive - # Bazel jobs. - - test: - requires: - - build - - # Compile the e2e tests with bazel to ensure the non-runtime typescript - # compilation completes succesfully. - - build-bazel-e2e: - requires: - - build - - # Windows jobs - - e2e-cli-win: - requires: - - build - - # Publish jobs - - snapshot_publish: - <<: *only_release_branches - requires: - - build - - test - - e2e-cli + - path-filtering/filter: + # Compare files on main + base-revision: main + # 3-column space-separated table for mapping; `path-to-test parameter-to-set value-for-parameter` for each row + mapping: | + tests/legacy-cli/e2e/ng-snapshot/package.json snapshot_changed true + config-path: '.circleci/dynamic_config.yml' diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml new file mode 100644 index 000000000000..61990859b7a6 --- /dev/null +++ b/.circleci/dynamic_config.yml @@ -0,0 +1,424 @@ +# Configuration file for https://circleci.com/gh/angular/angular-cli + +# Note: YAML anchors allow an object to be re-used, reducing duplication. +# The ampersand declares an alias for an object, then later the `<<: *name` +# syntax dereferences it. +# See http://blog.daemonl.com/2016/02/yaml.html +# To validate changes, use an online parser, eg. +# http://yaml-online-parser.appspot.com/ + +version: 2.1 + +orbs: + browser-tools: circleci/browser-tools@1.1.3 + +parameters: + snapshot_changed: + type: boolean + default: false + +# Variables + +## IMPORTANT +# Windows needs its own cache key because binaries in node_modules are different. +# See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI. +var_1: &cache_key v1-angular_devkit-14.19-{{ checksum "yarn.lock" }} +var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }} +var_3: &default_nodeversion '14.19' +# Workspace initially persisted by the `setup` job, and then enhanced by `setup-and-build-win`. +# https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs +# https://circleci.com/blog/deep-diving-into-circleci-workspaces/ +var_4: &workspace_location . +# Filter to only release branches on a given job. +var_5: &only_release_branches + filters: + branches: + only: + - main + - /\d+\.\d+\.x/ + +# Executor Definitions +# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors +executors: + action-executor: + parameters: + nodeversion: + type: string + default: *default_nodeversion + docker: + - image: cimg/node:<< parameters.nodeversion >> + working_directory: ~/ng + resource_class: small + + test-executor: + parameters: + nodeversion: + type: string + default: *default_nodeversion + docker: + - image: cimg/node:<< parameters.nodeversion >> + working_directory: ~/ng + resource_class: large + + windows-executor: + # Same as https://circleci.com/orbs/registry/orb/circleci/windows, but named. + working_directory: ~/ng + resource_class: windows.medium + shell: powershell.exe -ExecutionPolicy Bypass + machine: + # Contents of this image: + # https://circleci.com/docs/2.0/hello-world-windows/#software-pre-installed-in-the-windows-image + image: windows-server-2019-vs2019:stable + +# Command Definitions +# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-commands +commands: + fail_fast: + steps: + - run: + name: 'Cancel workflow on fail' + when: on_fail + command: | + curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" + + custom_attach_workspace: + description: Attach workspace at a predefined location + steps: + - attach_workspace: + at: *workspace_location + setup_windows: + steps: + - run: nvm install 16.10 + - run: nvm use 16.10 + - run: npm install -g yarn@1.22.10 + - run: node --version + - run: yarn --version + - run: git config --global core.longpaths true + + setup_bazel_rbe: + parameters: + key: + type: env_var_name + default: CIRCLE_PROJECT_REPONAME + steps: + - run: + name: 'Setup bazel RBE remote execution' + command: | + touch .bazelrc.user; + # We need ensure that the same default digest is used for encoding and decoding + # with openssl. Openssl versions might have different default digests which can + # cause decryption failures based on the openssl version. https://stackoverflow.com/a/39641378/4317734 + openssl aes-256-cbc -d -in .circleci/gcp_token -md md5 -k "${<< parameters.key >>}" -out /home/circleci/.gcp_credentials; + sudo bash -c "echo -e 'build --google_credentials=/home/circleci/.gcp_credentials' >> .bazelrc.user"; + # Upload/don't upload local results to cache based on environment + if [[ -n "{$CIRCLE_PULL_REQUEST}" ]]; then + sudo bash -c "echo -e 'build:remote --remote_upload_local_results=false\n' >> .bazelrc.user"; + echo "Not uploading local build results to remote cache."; + else + sudo bash -c "echo -e 'build:remote --remote_upload_local_results=true\n' >> .bazelrc.user"; + echo "Uploading local build results to remote cache."; + fi + # Enable remote builds + sudo bash -c "echo -e 'build --config=remote' >> .bazelrc.user"; + echo "Reading from remote cache for bazel remote jobs."; + + install_python: + steps: + - run: + name: 'Install Python 2' + command: | + sudo apt-get update > /dev/null 2>&1 + sudo apt-get install -y python + python --version + +# Job definitions +jobs: + setup: + executor: action-executor + resource_class: medium + steps: + - checkout + - run: + name: Rebase PR on target branch + command: > + if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then + # User is required for rebase. + git config user.name "angular-ci" + git config user.email "angular-ci" + # Rebase PR on top of target branch. + node tools/rebase-pr.js angular/angular-cli ${CIRCLE_PR_NUMBER} + else + echo "This build is not over a PR, nothing to do." + fi + - restore_cache: + keys: + - *cache_key + - run: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn + - persist_to_workspace: + root: *workspace_location + paths: + - ./* + - save_cache: + key: *cache_key + paths: + - ~/.cache/yarn + + lint: + executor: action-executor + steps: + - custom_attach_workspace + - run: yarn lint + + validate: + executor: action-executor + steps: + - custom_attach_workspace + - run: + name: Validate Commit Messages + command: > + if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then + yarn ng-dev commit-message validate-range <> <> + else + echo "This build is not over a PR, nothing to do." + fi + - run: + name: Validate Code Formatting + command: yarn -s ng-dev format changed <> --check + - run: + name: Validate NgBot Configuration + command: yarn ng-dev ngbot verify + - run: + name: Validate Circular Dependencies + command: yarn ts-circular-deps:check + - run: yarn -s admin validate + - run: yarn -s check-tooling-setup + + e2e-cli: + parameters: + nodeversion: + type: string + default: *default_nodeversion + snapshots: + type: boolean + default: false + executor: + name: test-executor + nodeversion: << parameters.nodeversion >> + parallelism: 8 + steps: + - custom_attach_workspace + - browser-tools/install-chrome + - run: + name: Initialize Environment + command: | + ./.circleci/env.sh + - run: + name: Execute CLI E2E Tests + command: | + mkdir /mnt/ramdisk/e2e-main + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e-main + - run: + name: Execute CLI E2E Tests Subset with Yarn + command: | + mkdir /mnt/ramdisk/e2e-yarn + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" + - run: + name: Execute CLI E2E Tests Subset with esbuild builder + command: | + mkdir /mnt/ramdisk/e2e-esbuild + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" + - fail_fast + + test-browsers: + executor: + name: test-executor + environment: + E2E_BROWSERS: true + resource_class: medium + steps: + - custom_attach_workspace + - run: + name: Initialize Environment + command: ./.circleci/env.sh + - run: + name: Initialize Saucelabs + command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) + - run: + name: Start Saucelabs Tunnel + command: ./scripts/saucelabs/start-tunnel.sh + background: true + # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests + # too early without Saucelabs not being ready. + - run: ./scripts/saucelabs/wait-for-tunnel.sh + - run: node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts + - run: ./scripts/saucelabs/stop-tunnel.sh + - fail_fast + + build: + executor: action-executor + steps: + - custom_attach_workspace + - run: yarn build + + build-bazel-e2e: + executor: action-executor + steps: + - custom_attach_workspace + - run: yarn bazel build //tests/legacy-cli/... + + test: + executor: test-executor + resource_class: xlarge + steps: + - custom_attach_workspace + - browser-tools/install-chrome + - setup_bazel_rbe + - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc + - run: + command: yarn bazel:test + # This timeout provides time for the actual tests to timeout and report status + # instead of CircleCI stopping the job without test failure information. + no_output_timeout: 40m + - fail_fast + + snapshot_publish: + executor: action-executor + resource_class: medium + steps: + - custom_attach_workspace + - install_python + - run: + name: Decrypt Credentials + # Note: when changing the image, you might have to re-encrypt the credentials with a + # matching version of openssl. + # See https://stackoverflow.com/a/43847627/2116927 for more info. + command: | + openssl aes-256-cbc -d -in .circleci/github_token -k "${KEY}" -out ~/github_token -md md5 + - run: + name: Deployment to Snapshot + command: | + yarn admin snapshots --verbose --githubTokenFile=${HOME}/github_token + - fail_fast + + # Windows jobs + e2e-cli-win: + executor: windows-executor + parallelism: 8 + steps: + - checkout + - run: + name: Rebase PR on target branch + command: | + if (Test-Path env:CIRCLE_PR_NUMBER) { + # User is required for rebase. + git config user.name "angular-ci" + git config user.email "angular-ci" + # Rebase PR on top of target branch. + node tools/rebase-pr.js angular/angular-cli $env:CIRCLE_PR_NUMBER + } else { + echo "This build is not over a PR, nothing to do." + } + - setup_windows + - restore_cache: + keys: + - *cache_key_win + - run: + # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 + # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 + name: 'Arsenal Image Mounter (RAM Disk)' + command: | + pwsh ./.circleci/win-ram-disk.ps1 + - run: yarn install --frozen-lockfile --cache-folder ../.cache/yarn + - save_cache: + key: *cache_key_win + paths: + - ~/.cache/yarn + # Path where Arsenal Image Mounter files are downloaded. + # Must match path in .circleci/win-ram-disk.ps1 + - ./aim + # Run partial e2e suite on PRs only. Release branches will run the full e2e suite. + - run: + name: Execute E2E Tests + command: | + mkdir X:/ramdisk/e2e-main + if (Test-Path env:CIRCLE_PULL_REQUEST) { + node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts,tests/misc/check-postinstalls.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main + } else { + node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main + } + - fail_fast + +workflows: + version: 2 + default_workflow: + jobs: + # Linux jobs + - setup + - lint: + requires: + - setup + - validate: + requires: + - setup + - build: + requires: + - setup + + - e2e-cli: + name: e2e-cli + nodeversion: '14.15' + requires: + - build + + - e2e-cli: + name: e2e-cli-node-16 + nodeversion: '16.10' + <<: *only_release_branches + requires: + - build + + - e2e-cli: + name: e2e-cli-ng-snapshots + nodeversion: '16.10' + snapshots: true + pre-steps: + - run: + name: Check if e2e snapshots should be executed. + command: > + if [[ "<>" != "true" ]] && [[ -n "{$CIRCLE_PULL_REQUEST}" ]]; then + circleci-agent step halt + fi + requires: + - build + filters: + branches: + only: + - main + # This is needed to run this steps on Renovate PRs that amend the snapshots package.json + - /^pull\/.*/ + + # Bazel jobs + # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and + # will catch any build errors before proceeding to the more lengthy and resource intensive + # Bazel jobs. + - test: + requires: + - build + + # Compile the e2e tests with bazel to ensure the non-runtime typescript + # compilation completes succesfully. + - build-bazel-e2e: + requires: + - build + + # Windows jobs + - e2e-cli-win: + requires: + - build + + # Publish jobs + - snapshot_publish: + <<: *only_release_branches + requires: + - setup + - e2e-cli From 0ee20e1deeeb0a1b320551b93cfb72ccb2181692 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 13 Jul 2022 17:15:27 +0000 Subject: [PATCH 0669/1388] test: remove unnecessary `extract-i18n` command from i18n setup This helps to cut down on the time taken i18n tests take to run. --- .../e2e/tests/i18n/ivy-localize-sourcemaps.ts | 2 +- tests/legacy-cli/e2e/tests/i18n/setup.ts | 105 ++++++++---------- 2 files changed, 47 insertions(+), 60 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts index 6788743d356f..8f65ef450c0e 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-sourcemaps.ts @@ -6,7 +6,7 @@ export default async function () { // Setup i18n tests and config. await setupI18nConfig(); - const { stderr } = await ng('build', '--source-map'); + await ng('build', '--source-map'); for (const { outputPath } of langTranslations) { // Ensure sourcemap for modified file contains content diff --git a/tests/legacy-cli/e2e/tests/i18n/setup.ts b/tests/legacy-cli/e2e/tests/i18n/setup.ts index a9fa0a11aa4c..00279b6910bf 100644 --- a/tests/legacy-cli/e2e/tests/i18n/setup.ts +++ b/tests/legacy-cli/e2e/tests/i18n/setup.ts @@ -1,22 +1,15 @@ import express from 'express'; -import { resolve } from 'path'; +import { dirname, resolve } from 'path'; import { getGlobalVariable } from '../../utils/env'; -import { - appendToFile, - copyFile, - expectFileToExist, - expectFileToMatch, - replaceInFile, - writeFile, -} from '../../utils/fs'; +import { appendToFile, copyFile, createDir, replaceInFile, writeFile } from '../../utils/fs'; import { installPackage } from '../../utils/packages'; -import { ng } from '../../utils/process'; import { updateJsonFile } from '../../utils/project'; import { readNgVersion } from '../../utils/version'; import { Server } from 'http'; import { AddressInfo } from 'net'; // Configurations for each locale. +const translationFile = 'src/locale/messages.xlf'; export const baseDir = 'dist/test-project'; export const langTranslations = [ { @@ -96,45 +89,13 @@ export async function externalServer(outputPath: string, baseUrl = '/'): Promise }); } -export const formats = { - 'xlf': { - ext: 'xlf', - sourceCheck: 'source-language="en-US"', - replacements: [[/source/g, 'target']], - }, - 'xlf2': { - ext: 'xlf', - sourceCheck: 'srcLang="en-US"', - replacements: [[/source/g, 'target']], - }, - 'xmb': { - ext: 'xmb', - sourceCheck: '.*?<\/source>/g, ''], - ], - }, - 'json': { - ext: 'json', - sourceCheck: '"locale": "en-US"', - replacements: [] as RegExp[][], - }, - 'arb': { - ext: 'arb', - sourceCheck: '"@@locale": "en-US"', - replacements: [] as RegExp[][], - }, -}; - export const baseHrefs: { [l: string]: string } = { 'en-US': '/en/', fr: '/fr-FR/', de: '', }; -export async function setupI18nConfig(format: keyof typeof formats = 'xlf') { +export async function setupI18nConfig() { // Add component with i18n content, both translations and localeData (plural, dates). await writeFile( 'src/app/app.component.ts', @@ -162,6 +123,41 @@ export async function setupI18nConfig(format: keyof typeof formats = 'xlf') { `, ); + await createDir(dirname(translationFile)); + await writeFile( + translationFile, + ` + + + + + + Hello ! + + src/app/app.component.html + 2,3 + + An introduction header for this sample + + + Updated + + src/app/app.component.html + 5,6 + + + + {VAR_PLURAL, plural, =0 {just now} =1 {one minute ago} other { minutes ago}} + + src/app/app.component.html + 5,6 + + + + + `, + ); + // Add a dynamic import to ensure syntax is supported // ng serve support: https://github.com/angular/angular-cli/issues/16248 await writeFile('src/app/dynamic.ts', `export const abc = 5;`); @@ -241,11 +237,10 @@ export async function setupI18nConfig(format: keyof typeof formats = 'xlf') { if (lang === sourceLocale) { i18n.sourceLocale = lang; } else { - i18n.locales[lang] = `src/locale/messages.${lang}.${formats[format].ext}`; + i18n.locales[lang] = `src/locale/messages.${lang}.xlf`; } buildConfigs[lang] = { localize: [lang] }; - serveConfigs[lang] = { browserTarget: `test-project:build:${lang}` }; e2eConfigs[lang] = { specs: [`./src/app.${lang}.e2e-spec.ts`], @@ -259,32 +254,24 @@ export async function setupI18nConfig(format: keyof typeof formats = 'xlf') { if (getGlobalVariable('argv')['ng-snapshots']) { localizeVersion = require('../../ng-snapshot/package.json').dependencies['@angular/localize']; } - await installPackage(localizeVersion); - // Extract the translation messages. - await ng('extract-i18n', '--output-path=src/locale', `--format=${format}`); - const translationFile = `src/locale/messages.${formats[format].ext}`; - await expectFileToExist(translationFile); - await expectFileToMatch(translationFile, formats[format].sourceCheck); - - if (format !== 'json') { - await expectFileToMatch(translationFile, `An introduction header for this sample`); - } + await installPackage(localizeVersion); // Make translations for each language. for (const { lang, translationReplacements } of langTranslations) { if (lang != sourceLocale) { - await copyFile(translationFile, `src/locale/messages.${lang}.${formats[format].ext}`); + await copyFile(translationFile, `src/locale/messages.${lang}.xlf`); for (const replacements of translationReplacements!) { await replaceInFile( - `src/locale/messages.${lang}.${formats[format].ext}`, + `src/locale/messages.${lang}.xlf`, new RegExp(replacements[0], 'g'), replacements[1] as string, ); } - for (const replacement of formats[format].replacements) { + + for (const replacement of [[/source/g, 'target']]) { await replaceInFile( - `src/locale/messages.${lang}.${formats[format].ext}`, + `src/locale/messages.${lang}.xlf`, new RegExp(replacement[0], 'g'), replacement[1] as string, ); From 0a990c525aac0174d7d7cb3e9baaf5d62d8c2440 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 14 Jul 2022 00:08:42 +0000 Subject: [PATCH 0670/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 22 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 10 +- packages/angular_devkit/core/package.json | 2 +- .../angular_devkit/schematics/package.json | 2 +- packages/schematics/angular/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 480 +++++++++--------- 9 files changed, 268 insertions(+), 258 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index e7b039b8cf41..27f60e0bf260 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "ee3280a7f58aa5c1caa45cb9e08cbb8f4d74300848c508374daf37314d5390d6", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.1/rules_nodejs-5.5.1.tar.gz"], + sha256 = "c78216f5be5d451a42275b0b7dc809fb9347e2b04a68f68bad620a2b01f5c774", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.2/rules_nodejs-5.5.2.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 658fd850c242..4dd76ea03c96 100644 --- a/package.json +++ b/package.json @@ -90,8 +90,8 @@ "@babel/template": "7.18.6", "@bazel/bazelisk": "1.12.0", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.5.1", - "@bazel/jasmine": "5.5.1", + "@bazel/concatjs": "5.5.2", + "@bazel/jasmine": "5.5.2", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.30.5", - "@typescript-eslint/parser": "5.30.5", + "@typescript-eslint/eslint-plugin": "5.30.6", + "@typescript-eslint/parser": "5.30.6", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -139,8 +139,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.48", - "esbuild-wasm": "0.14.48", + "esbuild": "0.14.49", + "esbuild-wasm": "0.14.49", "eslint": "8.19.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -157,7 +157,7 @@ "jasmine-core": "~4.2.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", - "jsonc-parser": "3.0.0", + "jsonc-parser": "3.1.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", @@ -186,11 +186,11 @@ "popper.js": "^1.14.1", "postcss": "8.4.14", "postcss-import": "14.1.0", - "postcss-loader": "7.0.0", + "postcss-loader": "7.0.1", "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.3.2", + "puppeteer": "15.4.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -208,13 +208,13 @@ "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.14.1", + "terser": "5.14.2", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "~4.7.2", - "verdaccio": "5.13.1", + "verdaccio": "5.13.3", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.73.0", "webpack-dev-middleware": "5.3.3", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 53f952b19343..f4eb711bef7d 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -31,7 +31,7 @@ "debug": "4.3.4", "ini": "3.0.0", "inquirer": "8.2.4", - "jsonc-parser": "3.0.0", + "jsonc-parser": "3.1.0", "npm-package-arg": "9.1.0", "npm-pick-manifest": "7.0.1", "open": "8.4.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5c242556d483..dd9094e85bf0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,11 +29,11 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.48", + "esbuild-wasm": "0.14.49", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.0.0", + "jsonc-parser": "3.1.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", "less-loader": "11.0.0", @@ -47,7 +47,7 @@ "piscina": "3.2.0", "postcss": "8.4.14", "postcss-import": "14.1.0", - "postcss-loader": "7.0.0", + "postcss-loader": "7.0.1", "postcss-preset-env": "7.7.2", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -59,7 +59,7 @@ "source-map-support": "0.5.21", "stylus": "0.58.1", "stylus-loader": "7.0.0", - "terser": "5.14.1", + "terser": "5.14.2", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.48" + "esbuild": "0.14.49" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 44e5ba473aa5..31d7fee401fc 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -10,7 +10,7 @@ "dependencies": { "ajv-formats": "2.1.1", "ajv": "8.11.0", - "jsonc-parser": "3.0.0", + "jsonc-parser": "3.1.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 5d00799bd671..29ecb046122d 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -14,7 +14,7 @@ ], "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "jsonc-parser": "3.0.0", + "jsonc-parser": "3.1.0", "magic-string": "0.26.2", "ora": "5.4.1", "rxjs": "6.6.7" diff --git a/packages/schematics/angular/package.json b/packages/schematics/angular/package.json index 5bc3cc810fb1..22ad349905a4 100644 --- a/packages/schematics/angular/package.json +++ b/packages/schematics/angular/package.json @@ -20,6 +20,6 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", - "jsonc-parser": "3.0.0" + "jsonc-parser": "3.1.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 284bd747e8ee..7beddfccc9c0 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -16,7 +16,7 @@ "protractor": "~7.0.0", "rxjs": "~7.5.0", "tslib": "^2.3.0", - "ts-node": "~10.8.0", + "ts-node": "~10.9.0", "typescript": "~4.7.2", "zone.js": "~0.11.4" } diff --git a/yarn.lock b/yarn.lock index ff0ecd323160..5cc7854dd3e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1202,15 +1202,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.1.tgz#151985de8f8538b5dd8fa744c11c697c12e5f39e" - integrity sha512-gFE6/Enk01KWj4XtEv7yhLZG02qMrQF7l7avVvQ5pgMHQg7IjkMKBWOcG9kw2K/D0N6ZFtcGwnTIzYpePd1aZg== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.5.2": version "5.5.2" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.2.tgz#c5d0c8794e78f26767f693bd1dfd66a33aa79261" @@ -1225,10 +1216,10 @@ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.2.tgz#598b75ffcb28972c5b0eb04c26db486fc001156b" integrity sha512-vSDnBOjydzwutg8rC97ftPDQmdhig8ya/IhsvsaoZdV0WbfNmqECCxri/7RH9e4PU7cb6YzBL/MCBNmwwTHLVg== -"@bazel/jasmine@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.1.tgz#1dfd838086cb235f22a4f57c800b3f637dd065f3" - integrity sha512-YmPUIhUKWsE8cQMPArV8CmN7NdvhPPkbxXxiiV0ba7NGNU4PhiqZBZlouq2ZvvBsmgpxOiA6L0hMiT1QnR2JEA== +"@bazel/jasmine@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.2.tgz#559a1c4962f0a5165e446effb055fd332840eef0" + integrity sha512-aUCH6omW0lNxeWaX+lVuJy5sDcfRFAGs84hhBCZpARzwMbYxbwCGBxwo/nh48BojsCG+TwdlGlwTrF4gdpqgEQ== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -2426,14 +2417,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.5.tgz#e9a0afd6eb3b1d663db91cf1e7bc7584d394503d" - integrity sha512-lftkqRoBvc28VFXEoRgyZuztyVUQ04JvUnATSPtIRFAccbXTWL6DEtXGYMcbg998kXw1NLUJm7rTQ9eUt+q6Ig== +"@typescript-eslint/eslint-plugin@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.6.tgz#9c6017b6c1d04894141b4a87816388967f64c359" + integrity sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg== dependencies: - "@typescript-eslint/scope-manager" "5.30.5" - "@typescript-eslint/type-utils" "5.30.5" - "@typescript-eslint/utils" "5.30.5" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/type-utils" "5.30.6" + "@typescript-eslint/utils" "5.30.6" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2441,69 +2432,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.5.tgz#f667c34e4e4c299d98281246c9b1e68c03a92522" - integrity sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q== +"@typescript-eslint/parser@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.6.tgz#add440db038fa9d777e4ebdaf66da9e7fb7abe92" + integrity sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA== dependencies: - "@typescript-eslint/scope-manager" "5.30.5" - "@typescript-eslint/types" "5.30.5" - "@typescript-eslint/typescript-estree" "5.30.5" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/typescript-estree" "5.30.6" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.5.tgz#7f90b9d6800552c856a5f3644f5e55dd1469d964" - integrity sha512-NJ6F+YHHFT/30isRe2UTmIGGAiXKckCyMnIV58cE3JkHmaD6e5zyEYm5hBDv0Wbin+IC0T1FWJpD3YqHUG/Ydg== +"@typescript-eslint/scope-manager@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.6.tgz#ce1b49ff5ce47f55518d63dbe8fc9181ddbd1a33" + integrity sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g== dependencies: - "@typescript-eslint/types" "5.30.5" - "@typescript-eslint/visitor-keys" "5.30.5" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/visitor-keys" "5.30.6" -"@typescript-eslint/type-utils@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.5.tgz#7a9656f360b4b1daea635c4621dab053d08bf8a9" - integrity sha512-k9+ejlv1GgwN1nN7XjVtyCgE0BTzhzT1YsQF0rv4Vfj2U9xnslBgMYYvcEYAFVdvhuEscELJsB7lDkN7WusErw== +"@typescript-eslint/type-utils@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.6.tgz#a64aa9acbe609ab77f09f53434a6af2b9685f3af" + integrity sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA== dependencies: - "@typescript-eslint/utils" "5.30.5" + "@typescript-eslint/utils" "5.30.6" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.5.tgz#36a0c05a72af3623cdf9ee8b81ea743b7de75a98" - integrity sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw== +"@typescript-eslint/types@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.6.tgz#86369d0a7af8c67024115ac1da3e8fb2d38907e1" + integrity sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg== -"@typescript-eslint/typescript-estree@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.5.tgz#c520e4eba20551c4ec76af8d344a42eb6c9767bb" - integrity sha512-qGTc7QZC801kbYjAr4AgdOfnokpwStqyhSbiQvqGBLixniAKyH+ib2qXIVo4P9NgGzwyfD9I0nlJN7D91E1VpQ== +"@typescript-eslint/typescript-estree@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.6.tgz#a84a0d6a486f9b54042da1de3d671a2c9f14484e" + integrity sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A== dependencies: - "@typescript-eslint/types" "5.30.5" - "@typescript-eslint/visitor-keys" "5.30.5" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/visitor-keys" "5.30.6" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.5.tgz#3999cbd06baad31b9e60d084f20714d1b2776765" - integrity sha512-o4SSUH9IkuA7AYIfAvatldovurqTAHrfzPApOZvdUq01hHojZojCFXx06D/aFpKCgWbMPRdJBWAC3sWp3itwTA== +"@typescript-eslint/utils@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.6.tgz#1de2da14f678e7d187daa6f2e4cdb558ed0609dc" + integrity sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.5" - "@typescript-eslint/types" "5.30.5" - "@typescript-eslint/typescript-estree" "5.30.5" + "@typescript-eslint/scope-manager" "5.30.6" + "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/typescript-estree" "5.30.6" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.5": - version "5.30.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.5.tgz#d4bb969202019d5d5d849a0aaedc7370cc044b14" - integrity sha512-D+xtGo9HUMELzWIUqcQc0p2PO4NyvTrgIOK/VnSH083+8sq0tiLozNRKuLarwHYGRuA6TVBQSuuLwJUDWd3aaA== +"@typescript-eslint/visitor-keys@5.30.6": + version "5.30.6" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.6.tgz#94dd10bb481c8083378d24de1742a14b38a2678c" + integrity sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA== dependencies: - "@typescript-eslint/types" "5.30.5" + "@typescript-eslint/types" "5.30.6" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -2535,24 +2526,24 @@ lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.3.4": - version "10.3.4" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.3.4.tgz#35594d30cebb9624f29c51f0ddc380f301d6c5a4" - integrity sha512-E4SHDjVt7eJ3CwNNvkB3N0zV3Zza8i6yQf6+qE4AZsy1L18OaxXBFmp4O4HxxIahB3npVhip230FVVAWUZjK+w== +"@verdaccio/readme@10.4.0": + version "10.4.0" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.0.tgz#ca089a0a46e8b43683ea488c38511ee7741686a4" + integrity sha512-04jOVSJsMoxGjZiiwVajRP6MI1wo4gR/LJsxgR6L8C+rmxwhazW57M9JKAUV8yXWjS1Hz3PMdECUx8xRCqM1uw== dependencies: dompurify "2.3.8" - jsdom "15.2.1" - marked "4.0.16" + jsdom "16.5.0" + marked "4.0.17" "@verdaccio/streams@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.24": - version "6.0.0-6-next.24" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.24.tgz#77e5405f2c7ee60153845deebca80347a771e8ef" - integrity sha512-tchic00TMWV9qm3EG1GmU7WLnzb29fGT51NJF8rmmNGc7V7tlpXSOE+WQ/dP99jaViIrZzh73Z03TpjQ3ZFd/A== +"@verdaccio/ui-theme@6.0.0-6-next.25": + version "6.0.0-6-next.25" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.25.tgz#cbdd27c2455882b8e5e7a66596938887476bb2bd" + integrity sha512-zN+72MBsRLzpAzH7NWLQlWEM3k+L+k2Mt08foySELQtN+a2UFHlqkJWDnX7mQNcOiml8eV+ukPUt7wQNn+ziXw== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -2703,7 +2694,7 @@ JSONStream@1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.0, abab@^2.0.6: +abab@^2.0.3, abab@^2.0.5, abab@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== @@ -2721,13 +2712,13 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" + acorn "^7.1.1" + acorn-walk "^7.1.1" acorn-import-assertions@^1.7.6: version "1.8.0" @@ -2739,27 +2730,22 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^6.0.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.0, acorn@^7.1.1: +acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: +acorn@^8.0.5, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: version "8.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== @@ -2941,11 +2927,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== - array-find-index@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -4020,7 +4001,7 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssom@^0.4.1: +cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== @@ -4030,7 +4011,7 @@ cssom@~0.3.6: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== -cssstyle@^2.0.0: +cssstyle@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== @@ -4062,14 +4043,14 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" date-format@^4.0.10, date-format@^4.0.11: version "4.0.11" @@ -4119,6 +4100,11 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -4309,12 +4295,12 @@ domelementtype@^2.0.1, domelementtype@^2.2.0: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== dependencies: - webidl-conversions "^4.0.2" + webidl-conversions "^5.0.0" domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" @@ -4769,7 +4755,7 @@ esbuild-wasm@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.49, esbuild-wasm@^0.14.29: version "0.14.49" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz#5b0909b8172653f031163675341bdf4311a7a139" integrity sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q== @@ -4830,7 +4816,7 @@ esbuild@0.14.48: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" -esbuild@^0.14.29: +esbuild@0.14.49, esbuild@^0.14.29: version "0.14.49" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492" integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw== @@ -4888,6 +4874,18 @@ escodegen@^1.11.1: optionalDependencies: source-map "~0.6.1" +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + escodegen@~1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" @@ -5821,12 +5819,12 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== dependencies: - whatwg-encoding "^1.0.1" + whatwg-encoding "^1.0.5" html-entities@^2.3.2: version "2.3.3" @@ -6117,11 +6115,6 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== - ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" @@ -6294,6 +6287,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-potential-custom-element-name@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + is-promise@^2.1.0, is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -6558,36 +6556,36 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== -jsdom@15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" +jsdom@16.5.0: + version "16.5.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.0.tgz#9e453505600cc5a70b385750d35256f380730cc4" + integrity sha512-QxZH0nmDTnTTVI0YDm4RUlaUPl5dcyn62G5TMDNfMmTW+J1u1v9gCR8WR+WZ6UghAa7nKJjDOFaI00eMMWvJFQ== + dependencies: + abab "^2.0.5" + acorn "^8.0.5" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" + parse5 "6.0.1" + request "^2.88.2" + request-promise-native "^1.0.9" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" + whatwg-url "^8.0.0" + ws "^7.4.4" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -6652,6 +6650,11 @@ jsonc-parser@3.0.0, jsonc-parser@^3.0.0: resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== +jsonc-parser@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" + integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== + jsonfile@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" @@ -6823,10 +6826,10 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" - integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== +kleur@4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== klona@^2.0.4, klona@^2.0.5: version "2.0.5" @@ -7142,12 +7145,7 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7187,10 +7185,10 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.10.1: - version "7.10.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" - integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== +lru-cache@7.13.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.0.tgz#c8178692969fb680cad948db4aad54066590a65a" + integrity sha512-SNFKDOORR41fkWP3DXiIUvXvfzDRPg3bxD1+29iRyP2ZW+Njp2o6zhx9YkEpq1tbP0AEDNW2VBUedzDIxmNhdg== lru-cache@^6.0.0: version "6.0.0" @@ -7279,16 +7277,16 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.8: socks-proxy-agent "^7.0.0" ssri "^9.0.0" -marked@4.0.16: - version "4.0.16" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" - integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA== - marked@4.0.17: version "4.0.17" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.17.tgz#1186193d85bb7882159cdcfc57d1dfccaffb3fe9" integrity sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA== +marked@4.0.18: + version "4.0.18" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" + integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -8249,21 +8247,16 @@ parse5-sax-parser@^6.0.1: dependencies: parse5 "^6.0.1" -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== +parse5@6.0.1, parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -8414,11 +8407,6 @@ pluralize@^7.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - popper.js@^1.14.1: version "1.16.1" resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" @@ -8572,6 +8560,15 @@ postcss-loader@7.0.0: klona "^2.0.5" semver "^7.3.7" +postcss-loader@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.1.tgz#4c883cc0a1b2bfe2074377b7a74c1cd805684395" + integrity sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.7" + postcss-logical@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" @@ -8891,7 +8888,7 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -psl@^1.1.24, psl@^1.1.28: +psl@^1.1.24, psl@^1.1.28, psl@^1.1.33: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== @@ -8914,10 +8911,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.3.2: - version "15.3.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.3.2.tgz#62162739044d570ab9907f85b1e1bbcf52adc79e" - integrity sha512-6z4fTHCHTpG3Yu7zqP0mLfCmkNkgw5KSUfLAwuBabz9Pkqoe0Z08hqUx5GNxhhMgEo4YVOSPBshePA6zliznWQ== +puppeteer@15.4.0: + version "15.4.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.4.0.tgz#31f043ee64cc4e1b5cbe99ad900653aab4afb186" + integrity sha512-wxJRbofjaycCaQ9fhABlToJobrjxlABiFi6NvdkOPVJMYFblxDlDTjkg+b6bZYi7xN+lEXn84GBZsA5DYb3wfw== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -9227,7 +9224,7 @@ request-promise-core@1.1.4: dependencies: lodash "^4.17.19" -request-promise-native@^1.0.7: +request-promise-native@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== @@ -9262,7 +9259,7 @@ request@2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -request@^2.87.0, request@^2.88.0: +request@^2.87.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -9512,12 +9509,12 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== dependencies: - xmlchars "^2.1.1" + xmlchars "^2.2.0" schema-utils@^2.6.5: version "2.7.1" @@ -10245,7 +10242,7 @@ symbol-observable@4.0.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== -symbol-tree@^3.2.2: +symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== @@ -10309,6 +10306,16 @@ terser@5.14.1, terser@^5.7.2: commander "^2.20.0" source-map-support "~0.5.20" +terser@5.14.2: + version "5.14.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" + integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10418,14 +10425,14 @@ tough-cookie@^2.3.3, tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" + psl "^1.1.33" punycode "^2.1.1" + universalify "^0.1.2" tough-cookie@~2.4.3: version "2.4.3" @@ -10435,12 +10442,12 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: - punycode "^2.1.0" + punycode "^2.1.1" tr46@~0.0.3: version "0.0.3" @@ -10675,7 +10682,7 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -universalify@^0.1.0: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -10812,16 +10819,16 @@ verdaccio-htpasswd@10.5.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.13.1: - version "5.13.1" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.13.1.tgz#37a0494bd6c15dfd5897927aeb18ebf5514abae3" - integrity sha512-UyLn/picuRovYgLrbCYwYaVNMrReB0VNhsTtmWtS4D19hNIOqbDuVWcGE0djr9Cnhkm/pLrjcF5dE4tAbO3gUQ== +verdaccio@5.13.3: + version "5.13.3" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.13.3.tgz#fd9a8f67f3c3124b1c18765baedf907c916a6a6b" + integrity sha512-QGADvfiYlMFWKhSyMCk++54gjR6WdRMnAbwzCL0NKt1ipCCQwtjr9vKNmruGyet5VN9JKSG05LIrZOSl/u/p6g== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" - "@verdaccio/readme" "10.3.4" + "@verdaccio/readme" "10.4.0" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.24" + "@verdaccio/ui-theme" "6.0.0-6-next.25" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.0" @@ -10840,11 +10847,11 @@ verdaccio@5.13.1: http-errors "2.0.0" js-yaml "4.1.0" jsonwebtoken "8.5.1" - kleur "4.1.4" + kleur "4.1.5" lodash "4.17.21" - lru-cache "7.10.1" + lru-cache "7.13.0" lunr-mutable-indexes "2.3.2" - marked "4.0.17" + marked "4.0.18" memoizee "0.4.15" mime "3.0.0" minimatch "5.1.0" @@ -10879,20 +10886,18 @@ void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -w3c-hr-time@^1.0.1: +w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== dependencies: browser-process-hrtime "^1.0.0" -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" walk-up-path@^1.0.0: @@ -10952,10 +10957,15 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: version "5.3.3" @@ -11067,7 +11077,7 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: +whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== @@ -11079,7 +11089,7 @@ whatwg-fetch@>=0.10.0: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: +whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== @@ -11092,14 +11102,14 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== +whatwg-url@^8.0.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" which-boxed-primitive@^1.0.2: version "1.0.2" @@ -11189,7 +11199,7 @@ ws@8.8.0, ws@>=8.7.0, ws@^8.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== -ws@^7.0.0: +ws@^7.4.4: version "7.5.8" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== @@ -11222,7 +11232,7 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== -xmlchars@^2.1.1: +xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== From 7c1c56468dafaf2420081b2d17fdbf6df210e232 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 14 Jul 2022 21:37:34 +0000 Subject: [PATCH 0671/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 30 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++-- yarn.lock | 162 ++++++++---------- 7 files changed, 111 insertions(+), 125 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ca14a87d9cae..a52a0a2bb266 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@8420d8593135df75b283e90beba0aa9b5b9838ce + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fccfadda559f678c60c85e7fe59468e4b1b86105 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@8420d8593135df75b283e90beba0aa9b5b9838ce + - uses: angular/dev-infra/github-actions/post-approval-changes@fccfadda559f678c60c85e7fe59468e4b1b86105 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ff5921901778..901400202441 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@8420d8593135df75b283e90beba0aa9b5b9838ce + - uses: angular/dev-infra/github-actions/feature-request@fccfadda559f678c60c85e7fe59468e4b1b86105 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 83eedced8c2a..d8d5d896dd20 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@8420d8593135df75b283e90beba0aa9b5b9838ce + - uses: angular/dev-infra/github-actions/lock-closed@fccfadda559f678c60c85e7fe59468e4b1b86105 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4dd76ea03c96..89d5a6a613ea 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.5", - "@angular/cdk": "14.0.4", - "@angular/common": "14.0.5", - "@angular/compiler": "14.0.5", - "@angular/compiler-cli": "14.0.5", - "@angular/core": "14.0.5", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#294d737341a13e130fb7184268c0653c335ef388", - "@angular/forms": "14.0.5", - "@angular/localize": "14.0.5", - "@angular/material": "14.0.4", - "@angular/platform-browser": "14.0.5", - "@angular/platform-browser-dynamic": "14.0.5", - "@angular/platform-server": "14.0.5", - "@angular/router": "14.0.5", - "@angular/service-worker": "14.0.5", + "@angular/animations": "14.0.6", + "@angular/cdk": "14.0.5", + "@angular/common": "14.0.6", + "@angular/compiler": "14.0.6", + "@angular/compiler-cli": "14.0.6", + "@angular/core": "14.0.6", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115", + "@angular/forms": "14.0.6", + "@angular/localize": "14.0.6", + "@angular/material": "14.0.5", + "@angular/platform-browser": "14.0.6", + "@angular/platform-browser-dynamic": "14.0.6", + "@angular/platform-server": "14.0.6", + "@angular/router": "14.0.6", + "@angular/service-worker": "14.0.6", "@babel/core": "7.18.6", "@babel/generator": "7.18.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 4355063f0295..e741fbc604ce 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.5", - "@angular/compiler-cli": "14.0.5", + "@angular/compiler": "14.0.6", + "@angular/compiler-cli": "14.0.6", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 1052d3acb045..c6471c01c5d4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#89844a1f5434fd7df03749244e5e3c2a02d2c842", - "@angular/cdk": "github:angular/cdk-builds#a5d2a7e6d857ef184bd012b6e9567b5ebb0abd9e", - "@angular/common": "github:angular/common-builds#b7b8f1eb6fff26d7f192cd5ae724fe401c80664c", - "@angular/compiler": "github:angular/compiler-builds#75d95604678a7ce74782d797ae7f597e1598eb84", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#7f6387b88cd25f1d20d8692ea64c75a84672581a", - "@angular/core": "github:angular/core-builds#d93085ed12e1047e9ce8a85e0e023aabc7402fd2", - "@angular/forms": "github:angular/forms-builds#3296b887ebbda5a5ccd908f53c271f8944098f68", - "@angular/language-service": "github:angular/language-service-builds#eed39ba7cc7a73677deddeddcaaaaa1c99b26ce3", - "@angular/localize": "github:angular/localize-builds#a02e9b19b2e5e4b4c3bed353fe0d23f6285b0b7e", - "@angular/material": "github:angular/material-builds#f5bcdf4c952bdd61f5681c901f0c1096b133f17f", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a100b5a560ed68e87d8c5d36ec63c9ebdf339031", - "@angular/platform-browser": "github:angular/platform-browser-builds#b698cc3078dcd038b8df41e51ad38f6aed32f622", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#b6c988407aeaecaae4a56e289d4ffb272019bef2", - "@angular/platform-server": "github:angular/platform-server-builds#c638408d0dbe3255b8b6968bb5f09d535b669dce", - "@angular/router": "github:angular/router-builds#f0e34d23768450e7a2d78b666c56b39fbe2ef918", - "@angular/service-worker": "github:angular/service-worker-builds#873cbf9c7828f016a16323032e7f649c0b478a32" + "@angular/animations": "github:angular/animations-builds#5728cc99afdf065e7ce480be9377b9245ece7aa4", + "@angular/cdk": "github:angular/cdk-builds#ab2816176187516835800622912f39dadba42110", + "@angular/common": "github:angular/common-builds#64918aa590eaf38fc50c8e42f473f17bc49b3274", + "@angular/compiler": "github:angular/compiler-builds#a0058e9e99be417a6ded068b369c753c84a0fc9c", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#782bba8da8bba7e8ec9a9457ba6ee296d9e2d114", + "@angular/core": "github:angular/core-builds#f5b2cdbe4cdb5bbe25413bcd4cbca87ccb1ecb1f", + "@angular/forms": "github:angular/forms-builds#6fcdbcfbccc9704336ddc41c7843d591f33939ac", + "@angular/language-service": "github:angular/language-service-builds#2b69a88bc86ba05d3bf401ad1f8f5a04ed726238", + "@angular/localize": "github:angular/localize-builds#830a0ce413308fa4dac3f62e52598c27f7236e85", + "@angular/material": "github:angular/material-builds#236faa58f8f35c0d3d403b6c77854c6d8fd080fd", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b805a7f11f408715a178cc69b89c389ac66ff68b", + "@angular/platform-browser": "github:angular/platform-browser-builds#fc3fc8707e998f7b1ef1377a6a604ddfaa8fd124", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ddc678dee488317c2acdc493ca04b2d3d9f3ddab", + "@angular/platform-server": "github:angular/platform-server-builds#d824508809ee6ee6d58b132408b09a984fb8a267", + "@angular/router": "github:angular/router-builds#e9a70a08e66a566d04b595fb0376a896a7d59508", + "@angular/service-worker": "github:angular/service-worker-builds#0b1d5860a98cb11dd67e03c08248f62b59dd1330" } } diff --git a/yarn.lock b/yarn.lock index 5cc7854dd3e7..2ded647ef8d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.5.tgz#f9890056a5deef6b4acabfbaf5b182cdede5004c" - integrity sha512-oQy4rZIsJUHbK4CMxEgxVVOKAbX+k16Wqc9t6zPlqayvj0wQA1XdTdbXMfiZyekFgtfnjb+UPjmXa2FNe1G8NQ== +"@angular/animations@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.6.tgz#7f7c3a64fbbeee9fd7141649cb903d59c65a15f5" + integrity sha512-l363hFgj5Dxw6WKZkJRd77izOznCqJVrWhxfO9ERG0ShVUb/3WB9RSOUCVltDrTY5sFK+cw+slQYGH6AXgvMVQ== dependencies: tslib "^2.3.0" @@ -122,26 +122,26 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.4.tgz#cae73d34d37c33c825125d233957b37fe2f81656" - integrity sha512-zPM4VZadoKzTF9TZ7Yx5gJ7GtQpt62f8ofdH/BF2atG+TaNzOEFqtzogP4WuJDFAxJXOPMePobhth4YjUk0Wbw== +"@angular/cdk@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.5.tgz#4e4c6b959429044f530cce8fa02516dd5956d1b6" + integrity sha512-9mfrCiFI8Lyn+aVpJWgzFhTHDNA0yopjPy4p84JwgeLZ0BlJks1pUNuc7bqPNydhwvGWlRSEohsTh78hlSm1vA== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.5.tgz#dcade430332900b2371fabba692be741a33866e0" - integrity sha512-YFRPxx3yRLjk0gPL7tm/97mi8+Pjt3q6zWCjrLkAlDjniDvgmKNWIQ1h6crZQR0Cw7yNqK0QoFXQgTw0GJIWLQ== +"@angular/common@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.6.tgz#1ae36eec1b9030f78ab8c62916ef9af7a9a92bea" + integrity sha512-AynjE7OOEfrdKmS3nu00tkf4g66cx97T6qhfaTvc3hKi45MreBcJkIMcSowF24peygvUN41htMJuq3WQLu92iQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.5.tgz#c94f9d62b12cab06f76a040b1837251c43dd6689" - integrity sha512-1bzojB5OoI/YLC7er+h+v1teG4Pp4jUxsFm9FmmgGaJ4gfadsPshzhZNASKoq/g7bQB7RnX0kgTGwwQImpirwQ== +"@angular/compiler-cli@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.6.tgz#c87e2698b6a642919bfe9b5d66ea9ef3095a396d" + integrity sha512-w1ccZEzbRRqzMNaty0P4QliSslmR+9pBhDpKNfI+PsRqjJOnyC9tFdtZQLjcbnaM8W0yJLnCfZQ7KKXjnjzawg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,24 +154,31 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.5.tgz#92e5da8aed7f559c62ef0e5e974912fffc1fa000" - integrity sha512-2Fxrdd5558FFSgWU0szYMo6Lea1jzBPzn8oAcLxo/OkaHgX8tSrlmY6y3TMlSxJu8NbdKcq1CqFMrfw5mqtoDA== +"@angular/compiler@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.6.tgz#d2cd7afac7bb833ff4298aec1abd460f6ed32910" + integrity sha512-zYq3+Pg6m7NKivqEk+vNy+5ic5A+B0ReqIECjs10pVeXoWBxjvZAqG2ksrCQ0axtju2hA3lrFsDthLShWBEf4g== dependencies: tslib "^2.3.0" -"@angular/core@14.0.5", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.6.tgz#697d52ca9d772877a5138af26d1d9c5e7c267ade" + integrity sha512-hyQ3s9Yrm3ejhumgAC9ENhMFmvmPlJkk1tEOjruyoiHwK4EOaDpI+GCNQIBUB1Z3B/QLMlgZeMXrULQztjSQwg== + dependencies: + tslib "^2.3.0" + +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.5" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.5.tgz#135db22c6cc2ea51fc8f504f1400a5453f73eec3" integrity sha512-4MIfFM2nD+N0/Dk8xKfKvbdS/zYRhQgdnKT6ZIIV7Y/XCfn5QAIa4+vB5BEAZpuzSsZHLVdBQQ0TkaiONLfL2Q== dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#294d737341a13e130fb7184268c0653c335ef388": - version "0.0.0-2eca9e5ee9e09a0d8c25ff37d3f063982478b411" - uid "294d737341a13e130fb7184268c0653c335ef388" - resolved "https://github.com/angular/dev-infra-private-builds.git#294d737341a13e130fb7184268c0653c335ef388" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115": + version "0.0.0-1241c1280f4a2a58eda8c322a0f057840a9d5b6c" + uid efc5d56da4f755f2a4bf57e4d835551cc2698115 + resolved "https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115" dependencies: "@angular-devkit/build-angular" "14.1.0-next.4" "@angular/benchpress" "0.3.0" @@ -206,63 +213,63 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.5.tgz#d9d749352f9d3945c83af1cc3a9df8bafb60327e" - integrity sha512-N1sxzaG4r0rwT3++lyYmbCUgSZaZA7E2NURvU1OFw6fay/XlI+ss1ZBFc6X0XfSa+OWxPuIBKnPmmQlP7aKOiQ== +"@angular/forms@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.6.tgz#87aa36b1a3f3bd1ca71615fd250f04f8e660971c" + integrity sha512-ITa3A6pWecDgDjBTlwQnJnSOc1o35bIvRpTclLx/ysDbn4FB2tPy4iseCSrOlgdJHZjBcHBIxX27yYjWyBfIwQ== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.5.tgz#9f794565d2a366f14bd4ce9cd9442dbc377b5f7d" - integrity sha512-TjyzlNAv5AA5kvIvy5UoOt32pv/1NPdhNena0LMR9XK+YhXbgK4ezJqj+mLPmZlqE56DChBpYGLFfHRA057mDA== +"@angular/localize@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.6.tgz#a9c556511e20aaa4edd425ef4336a9d9ed891691" + integrity sha512-ognxBqlYVp94flsCRCsoVA4Qp8MENYOHbj0Hqd6R4McnIIp9SFsixH05v7fkHywCEl/Ot7gcu1rQPkooT89/Kw== dependencies: - "@babel/core" "7.18.2" + "@babel/core" "7.18.6" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.4.tgz#129846f2b9db27d35f353de8d6411f3e046a756c" - integrity sha512-Ysz6oPbpLH7CvRR6oxQwpUImSbFqxL4+eiH0LPc7vkaOSrvGdZ/7cWhAfT6hVnw3bEY+eq5qBSMgyVUB44z4eg== +"@angular/material@14.0.5": + version "14.0.5" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.5.tgz#dbfdbf488f2e0a6c022b955b1f40726ec0ec70a0" + integrity sha512-IjY85AhvgTBNaNDjxi10d6nuEvSynO4jioaO+6LYkdAba/d3Lr2MktyNBtc9UWKfaitMVQwE8qvqf3dTskmGBg== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.5.tgz#6b31c1fdeebd57e36e7f7e5ca7445fc2abb607c7" - integrity sha512-VVka6K5jFd6DkFOq+ddMUj1QuI5+As5SbDLkJW0N452cYXA+CE5Y265DvbNbdXXl5wSffGGrizlKrI8jp9uLEQ== +"@angular/platform-browser-dynamic@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.6.tgz#a05fa27f9bbc4a0a0fbb25fd8058a9f6791cf7f6" + integrity sha512-iYWmzUDWO+qc7wN1ED3dIkvDjIBdSqh/gpFvLGyCUZBwzwZ45sJOT/YgCmLBzBsVV/2GhAhV0QL4ioVQ5Jy3UA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.5.tgz#d54fb7647f60e68a36300a4a515011bd7b655b98" - integrity sha512-uWFLBKuEgLuT1HnWctr8rMdnwZZ2gEcUWbhbf6DvwePcN1G5T+ltDOcQ3o2a8396hgmU0JyxBFVyGC/PiCe5fQ== +"@angular/platform-browser@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.6.tgz#5a98fc8f52c076dd0ead03b3c5ecabbd4dc7abb4" + integrity sha512-d9PS2E5HSgiKzItHzVdxdBoMeaOvlDo6ccSEXLYCGyJ9MykDjKvJPWy6GicilBPa8g4VGJpk9J+lbgXXAOkCFA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.5.tgz#6fdf0364267b43224f5c677eb261f20d97836bc8" - integrity sha512-sMnKlNQM1YUgOcNbRqXngp9TYIHVBrf66pyxg5FzhlgQRHb56T+iYwHIVYriJggHlGyJ58qocuGsBHF6x9FNFA== +"@angular/platform-server@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.6.tgz#edd31b56f337e13d82a9e4e2325f5bbae6122b36" + integrity sha512-VHSKkunG+espoMB5cVAsp9H1CAD7pmd6CqVIQZEK5SDSjuLNmrO4pNxlbODHTesZRkUb2APZE5Rh0OTItrJS/w== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.5.tgz#3492240e0fa363e54dfb6e81618796019f7fe270" - integrity sha512-10V6MCzg65HdnylSOSDvmcvhWhsVaedrzyfulvAT1/f77HZkK8yv1lTZ9gL/rAMOnKoH3uzdQqlDj8AnuRLKFw== +"@angular/router@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.6.tgz#008852d6796781d1dcb32899dd7e2921e8245bdf" + integrity sha512-FFLnaBuOASqUCbr8QIBX8Y+PbSSVrN6YFVI82bQDr2fesI+5UdLTfiEBUMizwnQ4choEtSd8542DjiEW8Rc+lA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.5.tgz#8b097d1f70b71a76def13c8f167eb102d8d7c813" - integrity sha512-Olh/KpCLLYeThoszZ/l4RupnSgsHaakdL1PyFvQTNDIbDLBhvhwfYKYDhFEwpeP+FOxfpkM59bF0zhmojDfRCw== +"@angular/service-worker@14.0.6": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.6.tgz#234b5273faaff641f8dcc8f9419246557e59e0b0" + integrity sha512-QwbXtcP9z9hndmno+y9CiB6TwDHbegype3BUBhyA73Rw8Y/OGnldphEtv37i3UhYr+MCgVfdcXFN4nx43CcEng== dependencies: tslib "^2.3.0" @@ -271,7 +278,7 @@ resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== @@ -283,27 +290,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== -"@babel/core@7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" - integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.18.2" - "@babel/helper-compilation-targets" "^7.18.2" - "@babel/helper-module-transforms" "^7.18.0" - "@babel/helpers" "^7.18.2" - "@babel/parser" "^7.18.0" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.18.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" @@ -325,7 +311,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.7", "@babel/generator@^7.18.2", "@babel/generator@^7.18.6", "@babel/generator@^7.18.7": +"@babel/generator@7.18.7", "@babel/generator@^7.18.6", "@babel/generator@^7.18.7": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== @@ -349,7 +335,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.2", "@babel/helper-compilation-targets@^7.18.6": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96" integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg== @@ -435,7 +421,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.18.6": +"@babel/helper-module-transforms@^7.18.6": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz#4f8408afead0188cfa48672f9d0e5787b61778c8" integrity sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA== @@ -523,7 +509,7 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/helpers@^7.18.2", "@babel/helpers@^7.18.6": +"@babel/helpers@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.6.tgz#4c966140eaa1fcaa3d5a8c09d7db61077d4debfd" integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ== @@ -541,7 +527,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.0", "@babel/parser@^7.18.6", "@babel/parser@^7.18.8": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.8.tgz#822146080ac9c62dac0823bb3489622e0bc1cbdf" integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== @@ -1159,7 +1145,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.18.6", "@babel/template@^7.16.7", "@babel/template@^7.18.6": +"@babel/template@7.18.6", "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== @@ -1168,7 +1154,7 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.8": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.8.tgz#f095e62ab46abf1da35e5a2011f43aee72d8d5b0" integrity sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg== @@ -1184,7 +1170,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.2", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.8.tgz#c5af199951bf41ba4a6a9a6d0d8ad722b30cd42f" integrity sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw== From bf41b66fcc7e68b6a04ea3a6be470c7d97eacd57 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 14 Jul 2022 05:16:12 +0000 Subject: [PATCH 0672/1388] build: update github/codeql-action action to v2.1.16 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index bd9c85a5c909..aa6edc8bd37a 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@3f62b754e23e0dd60f91b744033e1dc1654c0ec6 # tag=v2.1.15 + uses: github/codeql-action/upload-sarif@3e7e3b32d0fb8283594bb0a76cc60a00918b0969 # tag=v2.1.16 with: sarif_file: results.sarif From d9b8a1d6b92ea9307904f4f387365a28de1fd980 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 15 Jul 2022 10:16:04 +0000 Subject: [PATCH 0673/1388] ci: use conditional statments instead of bash script See: https://circleci.com/docs/configuration-reference#logic-statements --- .circleci/dynamic_config.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 61990859b7a6..e94d516a1f49 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -382,12 +382,15 @@ workflows: nodeversion: '16.10' snapshots: true pre-steps: - - run: - name: Check if e2e snapshots should be executed. - command: > - if [[ "<>" != "true" ]] && [[ -n "{$CIRCLE_PULL_REQUEST}" ]]; then - circleci-agent step halt - fi + - when: + condition: + and: + - not: + equal: [main, << pipeline.git.branch >>] + - not: << pipeline.parameters.snapshot_changed >> + steps: + # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. + - run: circleci-agent step halt requires: - build filters: From cebcf567170d07a37ece988a1293adbd52ebe0c1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 15 Jul 2022 08:35:16 +0000 Subject: [PATCH 0674/1388] ci: disable husky Husky setup is not needed during CI runs. --- .circleci/dynamic_config.yml | 17 ++++++++++------- .circleci/env.sh | 3 +++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index e94d516a1f49..e8e408c64ae2 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -81,6 +81,12 @@ commands: command: | curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" + initialize_env: + steps: + - run: + name: Initialize Environment + command: ./.circleci/env.sh + custom_attach_workspace: description: Attach workspace at a predefined location steps: @@ -88,6 +94,7 @@ commands: at: *workspace_location setup_windows: steps: + - initialize_env - run: nvm install 16.10 - run: nvm use 16.10 - run: npm install -g yarn@1.22.10 @@ -150,6 +157,7 @@ jobs: else echo "This build is not over a PR, nothing to do." fi + - initialize_env - restore_cache: keys: - *cache_key @@ -208,10 +216,7 @@ jobs: steps: - custom_attach_workspace - browser-tools/install-chrome - - run: - name: Initialize Environment - command: | - ./.circleci/env.sh + - initialize_env - run: name: Execute CLI E2E Tests command: | @@ -237,9 +242,7 @@ jobs: resource_class: medium steps: - custom_attach_workspace - - run: - name: Initialize Environment - command: ./.circleci/env.sh + - initialize_env - run: name: Initialize Saucelabs command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) diff --git a/.circleci/env.sh b/.circleci/env.sh index eef417500d18..6ec09ef85153 100755 --- a/.circleci/env.sh +++ b/.circleci/env.sh @@ -33,3 +33,6 @@ setPublicVar SAUCE_READY_FILE_TIMEOUT 120 # Source `$BASH_ENV` to make the variables available immediately. source $BASH_ENV; + +# Disable husky. +setPublicVar HUSKY 0 From 3ea0383e1964a3d15a408ef095b2bc7cec1154e2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 15 Jul 2022 16:39:15 +0000 Subject: [PATCH 0675/1388] ci: extract rebase PR login into a common command This reduces code duplicatation --- .circleci/dynamic_config.yml | 42 ++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index e8e408c64ae2..ed414b1645a2 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -87,6 +87,22 @@ commands: name: Initialize Environment command: ./.circleci/env.sh + rebase_pr: + steps: + - run: + name: Rebase PR on target branch + shell: bash + command: > + if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then + # User is required for rebase. + git config user.name "angular-ci" + git config user.email "angular-ci" + # Rebase PR on top of target branch. + node tools/rebase-pr.js angular/angular-cli ${CIRCLE_PR_NUMBER} + else + echo "This build is not over a PR, nothing to do." + fi + custom_attach_workspace: description: Attach workspace at a predefined location steps: @@ -145,18 +161,7 @@ jobs: resource_class: medium steps: - checkout - - run: - name: Rebase PR on target branch - command: > - if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then - # User is required for rebase. - git config user.name "angular-ci" - git config user.email "angular-ci" - # Rebase PR on top of target branch. - node tools/rebase-pr.js angular/angular-cli ${CIRCLE_PR_NUMBER} - else - echo "This build is not over a PR, nothing to do." - fi + - rebase_pr - initialize_env - restore_cache: keys: @@ -309,18 +314,7 @@ jobs: parallelism: 8 steps: - checkout - - run: - name: Rebase PR on target branch - command: | - if (Test-Path env:CIRCLE_PR_NUMBER) { - # User is required for rebase. - git config user.name "angular-ci" - git config user.email "angular-ci" - # Rebase PR on top of target branch. - node tools/rebase-pr.js angular/angular-cli $env:CIRCLE_PR_NUMBER - } else { - echo "This build is not over a PR, nothing to do." - } + - rebase_pr - setup_windows - restore_cache: keys: From d8cfe8b2266be1b455a6f81ce7002185c2c69faf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 18 Jul 2022 14:10:39 +0000 Subject: [PATCH 0676/1388] fix(@angular-devkit/build-angular): fallback to use projectRoot when sourceRoot is missing during coverage With this change we fallback to use the projectRoot when the sourceRoot is missing for files to be included in coverage. Closes: #23591 --- .../angular_devkit/build_angular/src/webpack/configs/common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index be907d28937f..e53bc258b502 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -386,7 +386,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Mon, 18 Jul 2022 10:12:38 +0000 Subject: [PATCH 0677/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 12 +- .../angular_devkit/build_angular/package.json | 10 +- yarn.lock | 385 +++++++++++++++++- 4 files changed, 392 insertions(+), 21 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 27f60e0bf260..449f243dfad4 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "8a329d66e95b36efcfb66e0c1074e5f36b9be7e5b6fce96605315db088eb1407", - strip_prefix = "bazel-lib-1.5.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.5.1.tar.gz", + sha256 = "58fab45b4419a5eaa340489d567a013e80334c8e4bd998288149cd7e39437586", + strip_prefix = "bazel-lib-1.7.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.7.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 89d5a6a613ea..7f874d77394e 100644 --- a/package.json +++ b/package.json @@ -79,14 +79,14 @@ "@angular/platform-server": "14.0.6", "@angular/router": "14.0.6", "@angular/service-worker": "14.0.6", - "@babel/core": "7.18.6", - "@babel/generator": "7.18.7", + "@babel/core": "7.18.9", + "@babel/generator": "7.18.9", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.6", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.6", - "@babel/preset-env": "7.18.6", - "@babel/runtime": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.9", + "@babel/preset-env": "7.18.9", + "@babel/runtime": "7.18.9", "@babel/template": "7.18.6", "@bazel/bazelisk": "1.12.0", "@bazel/buildifier": "5.1.0", @@ -141,7 +141,7 @@ "debug": "^4.1.1", "esbuild": "0.14.49", "esbuild-wasm": "0.14.49", - "eslint": "8.19.0", + "eslint": "8.20.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index dd9094e85bf0..ffea4a4fa26d 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.6", - "@babel/generator": "7.18.7", + "@babel/core": "7.18.9", + "@babel/generator": "7.18.9", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.6", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.6", - "@babel/preset-env": "7.18.6", - "@babel/runtime": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.9", + "@babel/preset-env": "7.18.9", + "@babel/runtime": "7.18.9", "@babel/template": "7.18.6", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", diff --git a/yarn.lock b/yarn.lock index 2ded647ef8d6..3a3ec359d070 100644 --- a/yarn.lock +++ b/yarn.lock @@ -285,7 +285,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6", "@babel/compat-data@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== @@ -311,6 +311,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" + integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.9" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.18.7", "@babel/generator@^7.18.6", "@babel/generator@^7.18.7": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" @@ -320,6 +341,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@7.18.9", "@babel/generator@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" + integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== + dependencies: + "@babel/types" "^7.18.9" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -345,6 +375,16 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" + integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.20.2" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz#6f15f8459f3b523b39e00a99982e2c040871ed72" @@ -385,6 +425,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + "@babel/helper-explode-assignable-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" @@ -400,6 +445,14 @@ "@babel/template" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/helper-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" + integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== + dependencies: + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.9" + "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" @@ -414,6 +467,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-member-expression-to-functions@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" + integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== + dependencies: + "@babel/types" "^7.18.9" + "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" @@ -435,6 +495,20 @@ "@babel/traverse" "^7.18.8" "@babel/types" "^7.18.8" +"@babel/helper-module-transforms@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" + integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" @@ -447,6 +521,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d" integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg== +"@babel/helper-plugin-utils@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" + integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== + "@babel/helper-remap-async-to-generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz#fa1f81acd19daee9d73de297c0308783cd3cfc23" @@ -468,6 +547,17 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/helper-replace-supers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" + integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + "@babel/helper-simple-access@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" @@ -482,6 +572,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" + integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== + dependencies: + "@babel/types" "^7.18.9" + "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" @@ -518,6 +615,15 @@ "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/helpers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" + integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== + dependencies: + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" + "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -532,6 +638,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.8.tgz#822146080ac9c62dac0823bb3489622e0bc1cbdf" integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== +"@babel/parser@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" + integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -548,6 +659,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" "@babel/plugin-proposal-optional-chaining" "^7.18.6" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" + integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" @@ -591,6 +711,14 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-proposal-json-strings@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" @@ -607,6 +735,14 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" + integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" @@ -634,6 +770,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.18.6" +"@babel/plugin-proposal-object-rest-spread@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" + integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" @@ -651,6 +798,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +"@babel/plugin-proposal-optional-chaining@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" + integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-private-methods@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" @@ -812,6 +968,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-block-scoping@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" + integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-classes@^7.18.6": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.8.tgz#7e85777e622e979c85c701a095280360b818ce49" @@ -826,6 +989,20 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" + integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.6.tgz#5d15eb90e22e69604f3348344c91165c5395d032" @@ -833,6 +1010,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" + integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-destructuring@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.6.tgz#a98b0e42c7ffbf5eefcbcf33280430f230895c6f" @@ -840,6 +1024,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-destructuring@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" + integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" @@ -855,6 +1046,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" @@ -863,7 +1061,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-for-of@^7.18.6": +"@babel/plugin-transform-for-of@^7.18.6", "@babel/plugin-transform-for-of@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== @@ -879,6 +1077,15 @@ "@babel/helper-function-name" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.6.tgz#9d6af353b5209df72960baf4492722d56f39a205" @@ -886,6 +1093,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" @@ -923,6 +1137,17 @@ "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-systemjs@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" + integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-identifier" "^7.18.6" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" @@ -954,7 +1179,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.18.6": +"@babel/plugin-transform-parameters@^7.18.6", "@babel/plugin-transform-parameters@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== @@ -995,6 +1220,18 @@ babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz#d9e4b1b25719307bfafbf43065ed7fb3a83adb8f" + integrity sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" @@ -1010,6 +1247,14 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" +"@babel/plugin-transform-spread@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" + integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" @@ -1024,6 +1269,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-typeof-symbol@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.6.tgz#486bb39d5a18047358e0d04dc0d2f322f0b92e92" @@ -1031,6 +1283,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-unicode-escapes@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" @@ -1127,6 +1386,87 @@ core-js-compat "^3.22.1" semver "^6.3.0" +"@babel/preset-env@7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.9.tgz#9b3425140d724fbe590322017466580844c7eaff" + integrity sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg== + dependencies: + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.18.6" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@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.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.18.6" + "@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" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.9" + "@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.18.8" + "@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.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.18.9" + "@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.6" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" + core-js-compat "^3.22.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1145,6 +1485,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" + integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.18.6", "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" @@ -1170,6 +1517,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" + integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.9" + "@babel/types" "^7.18.9" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.8.tgz#c5af199951bf41ba4a6a9a6d0d8ad722b30cd42f" @@ -1178,6 +1541,14 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" + integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50" @@ -4962,10 +5333,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.19.0: - version "8.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.19.0.tgz#7342a3cbc4fbc5c106a1eefe0fd0b50b6b1a7d28" - integrity sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw== +eslint@8.20.0: + version "8.20.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.20.0.tgz#048ac56aa18529967da8354a478be4ec0a2bc81b" + integrity sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.9.2" From b2513e5af20ce4f479cc7f2d7c1629cae438e444 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 18 Jul 2022 07:07:42 +0000 Subject: [PATCH 0678/1388] build: lock file maintenance --- yarn.lock | 199 +++++++++++++++++++++++++++--------------------------- 1 file changed, 99 insertions(+), 100 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3a3ec359d070..9b824371c54c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,20 +161,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.0.6": +"@angular/core@14.0.6", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.6" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.6.tgz#697d52ca9d772877a5138af26d1d9c5e7c267ade" integrity sha512-hyQ3s9Yrm3ejhumgAC9ENhMFmvmPlJkk1tEOjruyoiHwK4EOaDpI+GCNQIBUB1Z3B/QLMlgZeMXrULQztjSQwg== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.5.tgz#135db22c6cc2ea51fc8f504f1400a5453f73eec3" - integrity sha512-4MIfFM2nD+N0/Dk8xKfKvbdS/zYRhQgdnKT6ZIIV7Y/XCfn5QAIa4+vB5BEAZpuzSsZHLVdBQQ0TkaiONLfL2Q== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115": version "0.0.0-1241c1280f4a2a58eda8c322a0f057840a9d5b6c" uid efc5d56da4f755f2a4bf57e4d835551cc2698115 @@ -1920,9 +1913,9 @@ fastq "^1.6.0" "@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.3.tgz#3cc5d7b4bcf9783c41b6beec908d3de9592b4952" - integrity sha512-2ywCfbN3ibONJ2t9Ke0CXIHa20yJH6/e3Kta3ZNabnFjm+5Amr+rw5qL52mVQBKxEB+pfSiZDsnqwyKyyj0JTQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.3.0.tgz#321d9424677bfc08569e98a5ac445ee781f32053" + integrity sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -2068,10 +2061,10 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.5.tgz#d60a7d41321612a9c0e1433797c10c19d0213d55" - integrity sha512-FyrZkZ+O0bCnQqm+mRb6sKbEJgyJudInwFN84gCcMUcxrWkR15Ags1uOHwnxHYdpj3T5eqrCZNW/Ys20MGTQ6Q== +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7" + integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw== dependencies: "@npmcli/node-gyp" "^2.0.0" "@npmcli/promise-spawn" "^3.0.0" @@ -2354,9 +2347,9 @@ "@types/json-schema" "*" "@types/estree@*": - version "0.0.52" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe" - integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ== + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== "@types/estree@0.0.39": version "0.0.39" @@ -2492,9 +2485,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.0.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.3.tgz#463fc47f13ec0688a33aec75d078a0541a447199" - integrity sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ== + version "18.0.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" + integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== "@types/node@12.20.24": version "12.20.24" @@ -2512,9 +2505,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.21.tgz#0155ee46f6be28b2ff0342ca1a9b9fd4468bef41" - integrity sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q== + version "14.18.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.22.tgz#fd2a15dca290fc9ad565b672fde746191cd0c6e6" + integrity sha512-qzaYbXVzin6EPjghf/hTdIbnVW1ErMx8rPzwRNJhlbyJhu2SyqlvjGOY/tbUt6VFyzg56lROcOeSQRInpt63Yw== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -3681,14 +3674,14 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.21.1, browserslist@^4.9.1: - version "4.21.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" - integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.21.2, browserslist@^4.9.1: + version "4.21.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" + integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== dependencies: - caniuse-lite "^1.0.30001359" - electron-to-chromium "^1.4.172" - node-releases "^2.0.5" + caniuse-lite "^1.0.30001366" + electron-to-chromium "^1.4.188" + node-releases "^2.0.6" update-browserslist-db "^1.0.4" browserstack@^1.5.1: @@ -3819,10 +3812,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001359: - version "1.0.30001364" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001364.tgz#1e118f0e933ed2b79f8d461796b8ce45398014a0" - integrity sha512-9O0xzV3wVyX0SlegIQ6knz+okhBB5pE0PC40MNdwcipjwpxoUEHL24uJ+gG42cgklPjfO5ZjZPme9FTSN3QT2Q== +caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001366: + version "1.0.30001367" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a" + integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== caseless@~0.12.0: version "0.12.0" @@ -4063,9 +4056,9 @@ commander@^2.2.0, commander@^2.20.0, commander@^2.20.3: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^9.0.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" - integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== + version "9.4.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" + integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== common-ancestor-path@^1.0.1: version "1.0.1" @@ -4214,11 +4207,11 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.23.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.4.tgz#56ad4a352884317a15f6b04548ff7139d23b917f" - integrity sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q== + version "3.23.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.5.tgz#11edce2f1c4f69a96d30ce77c805ce118909cd5b" + integrity sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg== dependencies: - browserslist "^4.21.1" + browserslist "^4.21.2" semver "7.0.0" core-util-is@1.0.2: @@ -4726,10 +4719,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.172: - version "1.4.185" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.185.tgz#3432d7944f1c5fe20664bb45d9cced2151405ce2" - integrity sha512-9kV/isoOGpKkBt04yYNaSWIBn3187Q5VZRtoReq8oz5NY/A4XmU6cAoqgQlDp7kKJCZMRjWZ8nsQyxfpFHvfyw== +electron-to-chromium@^1.4.188: + version "1.4.192" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.192.tgz#fac050058b3e0713b401a1088cc579e14c2ab165" + integrity sha512-8nCXyIQY9An88NXAp+PuPy5h3/w5ZY7Iu2lag65Q0XREprcat5F8gKhoHsBUnQcFuCRnmevpR8yEBYRU3d2HDw== emoji-regex@^8.0.0: version "8.0.0" @@ -6477,10 +6470,10 @@ ip-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== -ip@^1.1.5: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" - integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== ipaddr.js@1.9.1: version "1.9.1" @@ -6810,9 +6803,9 @@ istanbul-lib-source-maps@^4.0.1: source-map "^0.6.1" istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: - version "3.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -7002,12 +6995,12 @@ json5@^2.1.2, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== -jsonc-parser@3.0.0, jsonc-parser@^3.0.0: +jsonc-parser@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== -jsonc-parser@3.1.0: +jsonc-parser@3.1.0, jsonc-parser@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== @@ -7555,9 +7548,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.12.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.12.0.tgz#be2649a992c8a9116efda5c487538dcf715f3476" - integrity sha512-OIP3DwzRZDfLg9B9VP/huWBlpvbkmbfiBy8xmsXp4RPmE4A3MhwNozc5ZJ3fWnSg8fDcdlE/neRTPG2ycEKliw== + version "7.13.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" + integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== lru-queue@^0.1.0: version "0.1.0" @@ -8025,9 +8018,9 @@ node-gyp-build@^4.2.2: integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== node-gyp@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" - integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== + version "9.1.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8" + integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g== dependencies: env-paths "^2.2.0" glob "^7.1.4" @@ -8040,7 +8033,7 @@ node-gyp@^9.0.0: tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.5: +node-releases@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== @@ -8116,7 +8109,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: +npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== @@ -8146,18 +8139,18 @@ npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-profile@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.1.0.tgz#2f32431c487cb21ef5882c9511f8be8a0b602d35" - integrity sha512-JHnBzSqS9xPa0M3g90zhaGElSVdxoAipGkraBaM6Jph2XiSiwFN1HmfRTqndYhDkXia2hWRWl8O5RbDvae++GA== +npm-profile@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.0.tgz#e2d62b184815a97575702319b5f32ac59e4458bb" + integrity sha512-wG7ZAsLvhqDc2b9COAuGUJgPRUfvCnQI8NEYeifSHZpSYXAgTsHu5812kkcwZeX/5WPd/ARX/MJRWTBFjlUxvg== dependencies: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" -npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.1.tgz#26dc4b26d0a545886e807748032ba2aefaaae96b" - integrity sha512-5p8rwe6wQPLJ8dMqeTnA57Dp9Ox6GH9H60xkyJup07FmVlu3Mk7pf/kIIpl9gaN5bM8NM+UUx3emUWvDNTt39w== +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.2.0.tgz#8ba2e801bee45b6dfa428367ab42b7d8dea3bfce" + integrity sha512-NEKnK02Co31+cnDtnAvEdq9xn6E9yKPK/aOHXZieVbw/qVOcFd7su6kviZjImYoszjM2GykMfGMiyyPUQjUkag== dependencies: make-fetch-happen "^10.0.6" minipass "^3.1.6" @@ -8180,9 +8173,9 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.13.2" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.13.2.tgz#d79c851c1d9cc6c11efe708379fd5339580f8fec" - integrity sha512-aS6q/QKxkw9mTX8gR7Ft38BcRkW1i+h3sI1yAFmfQ30Yl1a1G4ZX3oNGDzaLCilU5ThFZQBS1F4ZSZsrVxJ7HA== + version "8.14.0" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.14.0.tgz#4ffc167187b390e55492516bdf4a378d6b4f5b1e" + integrity sha512-wjDSM1GBwFUyqryw0jrWzFCFRlaiCZ9omNcnV3fLERqEYR4UsdRwR/SQCJNmri24yVvD+A/Ozr5p0V2WZVt6BQ== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" @@ -8191,7 +8184,7 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^4.1.5" + "@npmcli/run-script" "^4.1.7" abbrev "~1.1.1" archy "~1.0.0" cacache "^16.1.1" @@ -8229,13 +8222,14 @@ npm@^8.11.0: nopt "^5.0.0" npm-audit-report "^3.0.0" npm-install-checks "^5.0.0" - npm-package-arg "^9.0.2" + npm-package-arg "^9.1.0" npm-pick-manifest "^7.0.1" - npm-profile "^6.1.0" - npm-registry-fetch "^13.1.1" + npm-profile "^6.2.0" + npm-registry-fetch "^13.2.0" npm-user-validate "^1.0.1" npmlog "^6.0.2" opener "^1.5.2" + p-map "^4.0.0" pacote "^13.6.1" parse-conflict-json "^2.0.2" proc-log "^2.0.1" @@ -8875,9 +8869,9 @@ postcss-font-variant@^5.0.0: integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== postcss-gap-properties@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.4.tgz#8527d00284ef83725e41a53a718f9bed8e2b2beb" - integrity sha512-PaEM4AUQY7uomyuVVXsIntdo4eT8VkBMrSinQxvXuMcJ1z3RHlFw4Kqef2X+rRVz3WHaYCa0EEtwousBT6vcIA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" + integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== postcss-image-set-function@^4.0.6: version "4.0.7" @@ -9773,9 +9767,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.76.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.76.0.tgz#c69fe03db530ac53fcb9523b3caa0d3c0b9491a1" - integrity sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA== + version "2.77.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4" + integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g== optionalDependencies: fsevents "~2.3.2" @@ -9811,9 +9805,9 @@ rxjs@^5.5.6: symbol-observable "1.0.1" rxjs@^7.2.0, rxjs@^7.5.5: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + version "7.5.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" + integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== dependencies: tslib "^2.1.0" @@ -10192,11 +10186,11 @@ socks-proxy-agent@^7.0.0: socks "^2.6.2" socks@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" - integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + version "2.7.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0" + integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA== dependencies: - ip "^1.1.5" + ip "^2.0.0" smart-buffer "^4.2.0" sonic-boom@^1.0.2: @@ -10653,7 +10647,7 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.7.2" -terser@5.14.1, terser@^5.7.2: +terser@5.14.1: version "5.14.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== @@ -10663,7 +10657,7 @@ terser@5.14.1, terser@^5.7.2: commander "^2.20.0" source-map-support "~0.5.20" -terser@5.14.2: +terser@5.14.2, terser@^5.7.2: version "5.14.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== @@ -10832,9 +10826,9 @@ treeverse@^2.0.0: integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== ts-node@^10.0.0: - version "10.8.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.2.tgz#3185b75228cef116bf82ffe8762594f54b2a23f2" - integrity sha512-LYdGnoGddf1D6v8REPtIH+5iq/gTDuZqv2/UJUU7tKjuEU8xVZorBM+buCGNjj+pGEud+sOoM4CX3/YzINpENA== + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -11551,15 +11545,20 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.8.0, ws@>=8.7.0, ws@^8.4.2: +ws@8.8.0: version "8.8.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== +ws@>=8.7.0, ws@^8.4.2: + version "8.8.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" + integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== + ws@^7.4.4: - version "7.5.8" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" - integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@~8.2.3: version "8.2.3" From 17a91a058f0247a015c04bf9a08155d44da61a3b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 18 Jul 2022 11:52:35 -0400 Subject: [PATCH 0679/1388] refactor(@angular-devkit/architect-cli): remove rxjs as a dependency `rxjs` was only a dependency for the `tap` operator which can be replaced by accessing the result object returned from awaiting the builder output `Observable` which is already converted to a Promise. --- .../angular_devkit/architect_cli/BUILD.bazel | 1 - .../architect_cli/bin/architect.ts | 30 ++++++++----------- .../angular_devkit/architect_cli/package.json | 1 - 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/packages/angular_devkit/architect_cli/BUILD.bazel b/packages/angular_devkit/architect_cli/BUILD.bazel index c20782d4f965..7e047aa10182 100644 --- a/packages/angular_devkit/architect_cli/BUILD.bazel +++ b/packages/angular_devkit/architect_cli/BUILD.bazel @@ -24,7 +24,6 @@ ts_library( "@npm//@types/progress", "@npm//@types/yargs-parser", "@npm//ansi-colors", - "@npm//rxjs", ], ) diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index cbc5f4ca9a36..105c1d159d94 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -14,7 +14,6 @@ import { NodeJsSyncHost, createConsoleLogger } from '@angular-devkit/core/node'; import * as ansiColors from 'ansi-colors'; import { existsSync } from 'fs'; import * as path from 'path'; -import { tap } from 'rxjs/operators'; import yargsParser, { camelCase, decamelize } from 'yargs-parser'; import { MultiProgressBar } from '../src/progress'; @@ -151,27 +150,22 @@ async function _executeTarget( // Wait for full completion of the builder. try { - const { success } = await run.output - .pipe( - tap((result) => { - if (result.success) { - parentLogger.info(colors.green('SUCCESS')); - } else { - parentLogger.info(colors.red('FAILURE')); - } - parentLogger.info('Result: ' + JSON.stringify({ ...result, info: undefined }, null, 4)); - - parentLogger.info('\nLogs:'); - logs.forEach((l) => parentLogger.next(l)); - logs.splice(0); - }), - ) - .toPromise(); + const result = await run.output.toPromise(); + if (result.success) { + parentLogger.info(colors.green('SUCCESS')); + } else { + parentLogger.info(colors.red('FAILURE')); + } + parentLogger.info('Result: ' + JSON.stringify({ ...result, info: undefined }, null, 4)); + + parentLogger.info('\nLogs:'); + logs.forEach((l) => parentLogger.next(l)); + logs.splice(0); await run.stop(); bars.terminate(); - return success ? 0 : 1; + return result.success ? 0 : 1; } catch (err) { parentLogger.info(colors.red('ERROR')); parentLogger.info('\nLogs:'); diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index a2d8f832162f..330b0f971c6b 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -18,7 +18,6 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", "progress": "2.0.3", - "rxjs": "6.6.7", "symbol-observable": "4.0.0", "yargs-parser": "21.0.1" }, From b2ffc138b4a1dc447af3e05c8396ecb4d74e70c3 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sat, 16 Jul 2022 10:11:58 +0200 Subject: [PATCH 0680/1388] fix(@schematics/angular): incorrect logo for Angular Material Fixes that the component generated by `ng new` had an incorrect logo for Angular Material. --- .../angular/application/other-files/app.component.html.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/application/other-files/app.component.html.template b/packages/schematics/angular/application/other-files/app.component.html.template index a9a45e0db39d..54ea97364fd2 100644 --- a/packages/schematics/angular/application/other-files/app.component.html.template +++ b/packages/schematics/angular/application/other-files/app.component.html.template @@ -367,7 +367,7 @@ - + Angular Material From 467ba5af8278399c1fcf11137644f7c61af8f59c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 18 Jul 2022 08:32:13 +0000 Subject: [PATCH 0681/1388] docs: remove `@latest` reference from `npm init` command NPM doesn't correctly handle version specifier for scoped packages when using the `init` command See: https://github.com/npm/cli/issues/5175 --- packages/angular/create/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/create/README.md b/packages/angular/create/README.md index 0deeb5a4fe0a..d95936e77ef3 100644 --- a/packages/angular/create/README.md +++ b/packages/angular/create/README.md @@ -9,7 +9,7 @@ Scaffold an Angular CLI workspace without needing to install the Angular CLI glo NPM ``` -npm init @angular@latest [project-name] -- [...options] +npm init @angular [project-name] -- [...options] ``` Yarn From 58612663b2e9368a82338f396d73ea027d08a041 Mon Sep 17 00:00:00 2001 From: Derek Cormier Date: Mon, 18 Jul 2022 10:27:29 -0700 Subject: [PATCH 0682/1388] build: fix snapshot build package.json substitution This was relying on undocumented behaviour in copy_to_directory which now needs to be enabled with a flag. --- tools/defaults.bzl | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 8f0e7867f333..4aa686bfaf0d 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -162,6 +162,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): exclude_prefixes = [ "packages", # Exclude compiled outputs of dependent packages ], + allow_overwrites = True, ) _pkg_npm( From f3087dc4343f0dac26ffd7c633e7dcf3618db2b7 Mon Sep 17 00:00:00 2001 From: Victor Porof Date: Mon, 11 Jul 2022 08:58:35 +0000 Subject: [PATCH 0683/1388] feat(@angular-devkit/build-angular): Identify third-party sources in sourcemaps This PR includes a webpack plugin which adds a field to source maps that identifies which sources are vendored or runtime-injected (aka third-party) sources. These will be consumed by Chrome DevTools to automatically ignore-list sources. When vendor source map processing is enabled, this is interpreted as the developer intending to debug third-party code; in this case, the feature is disabled. Signed-off-by: Victor Porof --- .../browser/specs/vendor-source-map_spec.ts | 71 +++++++++++++++++++ .../src/webpack/configs/common.ts | 7 +- .../webpack/plugins/devtools-ignore-plugin.ts | 69 ++++++++++++++++++ 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/devtools-ignore-plugin.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts index b4ede1b0f7a4..4087e97ac9e4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts @@ -10,6 +10,10 @@ import { Architect } from '@angular-devkit/architect'; import * as path from 'path'; import { browserBuild, createArchitect, host } from '../../../testing/test-utils'; +// Following the naming conventions from +// https://sourcemaps.info/spec.html#h.ghqpj1ytqjbm +const IGNORE_LIST = 'x_google_ignoreList'; + describe('Browser Builder external source map', () => { const target = { project: 'app', target: 'build' }; let architect: Architect; @@ -50,3 +54,70 @@ describe('Browser Builder external source map', () => { expect(hasTsSourcePaths).toBe(false, `vendor.js.map not should have '.ts' extentions`); }); }); + +describe('Identifying third-party code in source maps', () => { + interface SourceMap { + sources: string[]; + [IGNORE_LIST]: number[]; + } + + const target = { project: 'app', target: 'build' }; + let architect: Architect; + + beforeEach(async () => { + await host.initialize().toPromise(); + architect = (await createArchitect(host.root())).architect; + }); + afterEach(async () => host.restore().toPromise()); + + it('specifies which sources are third party when vendor processing is disabled', async () => { + const overrides = { + sourceMap: { + scripts: true, + vendor: false, + }, + }; + + const { files } = await browserBuild(architect, host, target, overrides); + const mainMap: SourceMap = JSON.parse(await files['main.js.map']); + const polyfillsMap: SourceMap = JSON.parse(await files['polyfills.js.map']); + const runtimeMap: SourceMap = JSON.parse(await files['runtime.js.map']); + const vendorMap: SourceMap = JSON.parse(await files['vendor.js.map']); + + expect(mainMap[IGNORE_LIST]).not.toBeUndefined(); + expect(polyfillsMap[IGNORE_LIST]).not.toBeUndefined(); + expect(runtimeMap[IGNORE_LIST]).not.toBeUndefined(); + expect(vendorMap[IGNORE_LIST]).not.toBeUndefined(); + + expect(mainMap[IGNORE_LIST].length).toEqual(0); + expect(polyfillsMap[IGNORE_LIST].length).not.toEqual(0); + expect(runtimeMap[IGNORE_LIST].length).not.toEqual(0); + expect(vendorMap[IGNORE_LIST].length).not.toEqual(0); + + const thirdPartyInMain = mainMap.sources.some((s) => s.includes('node_modules')); + const thirdPartyInPolyfills = polyfillsMap.sources.some((s) => s.includes('node_modules')); + const thirdPartyInRuntime = runtimeMap.sources.some((s) => s.includes('webpack')); + const thirdPartyInVendor = vendorMap.sources.some((s) => s.includes('node_modules')); + expect(thirdPartyInMain).toBe(false, `main.js.map should not include any node modules`); + expect(thirdPartyInPolyfills).toBe(true, `polyfills.js.map should include some node modules`); + expect(thirdPartyInRuntime).toBe(true, `runtime.js.map should include some webpack code`); + expect(thirdPartyInVendor).toBe(true, `vendor.js.map should include some node modules`); + + // All sources in the main map are first-party. + expect(mainMap.sources.filter((_, i) => !mainMap[IGNORE_LIST].includes(i))).toEqual([ + './src/app/app.component.ts', + './src/app/app.module.ts', + './src/environments/environment.ts', + './src/main.ts', + ]); + + // Only some sources in the polyfills map are first-party. + expect(polyfillsMap.sources.filter((_, i) => !polyfillsMap[IGNORE_LIST].includes(i))).toEqual([ + './src/polyfills.ts', + ]); + + // None of the sources in the runtime and vendor maps are first-party. + expect(runtimeMap.sources.filter((_, i) => !runtimeMap[IGNORE_LIST].includes(i))).toEqual([]); + expect(vendorMap.sources.filter((_, i) => !vendorMap[IGNORE_LIST].includes(i))).toEqual([]); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index e53bc258b502..17268046b483 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -29,6 +29,7 @@ import { JsonStatsPlugin, ScriptsWebpackPlugin, } from '../plugins'; +import { DevToolsIgnorePlugin } from '../plugins/devtools-ignore-plugin'; import { NamedChunksPlugin } from '../plugins/named-chunks-plugin'; import { ProgressPlugin } from '../plugins/progress-plugin'; import { TransferSizePlugin } from '../plugins/transfer-size-plugin'; @@ -45,6 +46,8 @@ import { globalScriptsByBundleName, } from '../utils/helpers'; +const VENDORS_TEST = /[\\/]node_modules[\\/]/; + // eslint-disable-next-line max-lines-per-function export async function getCommonConfig(wco: WebpackConfigOptions): Promise { const { @@ -190,6 +193,8 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise chunk.name === 'main', enforce: true, - test: /[\\/]node_modules[\\/]/, + test: VENDORS_TEST, }, }, }, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/devtools-ignore-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/devtools-ignore-plugin.ts new file mode 100644 index 000000000000..a2f43a2e0c6b --- /dev/null +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/devtools-ignore-plugin.ts @@ -0,0 +1,69 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Compilation, Compiler } from 'webpack'; + +// Following the naming conventions from +// https://sourcemaps.info/spec.html#h.ghqpj1ytqjbm +const IGNORE_LIST = 'x_google_ignoreList'; + +const PLUGIN_NAME = 'devtools-ignore-plugin'; + +interface SourceMap { + sources: string[]; + [IGNORE_LIST]: number[]; +} + +/** + * This plugin adds a field to source maps that identifies which sources are + * vendored or runtime-injected (aka third-party) sources. These are consumed by + * Chrome DevTools to automatically ignore-list sources. + */ +export class DevToolsIgnorePlugin { + apply(compiler: Compiler) { + const { RawSource } = compiler.webpack.sources; + + compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => { + compilation.hooks.processAssets.tap( + { + name: PLUGIN_NAME, + stage: Compilation.PROCESS_ASSETS_STAGE_DEV_TOOLING, + additionalAssets: true, + }, + (assets) => { + for (const [name, asset] of Object.entries(assets)) { + // Instead of using `asset.map()` to fetch the source maps from + // SourceMapSource assets, process them directly as a RawSource. + // This is because `.map()` is slow and can take several seconds. + if (!name.endsWith('.map')) { + // Ignore non source map files. + continue; + } + + const mapContent = asset.source().toString(); + if (!mapContent) { + continue; + } + + const map = JSON.parse(mapContent) as SourceMap; + const ignoreList = []; + + for (const [index, path] of map.sources.entries()) { + if (path.includes('/node_modules/') || path.startsWith('webpack/')) { + ignoreList.push(index); + } + } + + map[IGNORE_LIST] = ignoreList; + compilation.updateAsset(name, new RawSource(JSON.stringify(map))); + } + }, + ); + }); + } +} From 08ce5670d865a9003a42c43ccdcb343907040e7d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 15 Jul 2022 16:05:38 +0000 Subject: [PATCH 0684/1388] ci: change shell to bash in fail_fast job Currently fail_fast doesn't work in Windows as the shell is set to Powershell ``` #!powershell.exe -ExecutionPolicy Bypass curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" Invoke-WebRequest : A parameter cannot be found that matches parameter name 'X'. At line:1 char:6 + curl -X POST --header "Content-Type: application/json" "https://circl ... + ~~ + CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand Exited with code exit status 1 CircleCI received exit code 1 ``` --- .circleci/dynamic_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index ed414b1645a2..6e75c447b954 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -77,6 +77,7 @@ commands: steps: - run: name: 'Cancel workflow on fail' + shell: bash when: on_fail command: | curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" From c9b2aa41dac0e296d87a4122ce3af281e59cb7a3 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 19 Jul 2022 11:48:26 -0400 Subject: [PATCH 0685/1388] fix(@schematics/angular): Allow skipping existing dependencies in E2E schematic The E2E schematic will now (as it did previously) skip adding dependencies if they already exist within the `package.json` regardless of the specifier. This is accomplished with the `existing` option for the `addDependency` rule which allows defining the behavior for when a dependency already exists. Currently the two option behaviors are skip and replace with replace being the default to retain behavior for existing rule usages. --- packages/schematics/angular/e2e/index.ts | 6 +- .../schematics/angular/utility/dependency.ts | 31 +++++++++- .../angular/utility/dependency_spec.ts | 62 ++++++++++++++++++- packages/schematics/angular/utility/index.ts | 2 +- 4 files changed, 96 insertions(+), 5 deletions(-) diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index 44f9ad9d8ddd..36d383710e12 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -20,6 +20,7 @@ import { import { AngularBuilder, DependencyType, + ExistingBehavior, addDependency, updateWorkspace, } from '@schematics/angular/utility'; @@ -92,7 +93,10 @@ export default function (options: E2eOptions): Rule { ]), ), ...E2E_DEV_DEPENDENCIES.map((name) => - addDependency(name, latestVersions[name], { type: DependencyType.Dev }), + addDependency(name, latestVersions[name], { + type: DependencyType.Dev, + existing: ExistingBehavior.Skip, + }), ), addScriptsToPackageJson(), ]); diff --git a/packages/schematics/angular/utility/dependency.ts b/packages/schematics/angular/utility/dependency.ts index f3627164a5df..3522b59042f1 100644 --- a/packages/schematics/angular/utility/dependency.ts +++ b/packages/schematics/angular/utility/dependency.ts @@ -52,6 +52,24 @@ export enum InstallBehavior { Always, } +/** + * An enum used to specify the existing dependency behavior for the {@link addDependency} + * schematics rule. The existing behavior affects whether the named dependency will be added + * to the `package.json` when the dependency is already present with a differing specifier. + */ +export enum ExistingBehavior { + /** + * The dependency will not be added or otherwise changed if it already exists. + */ + Skip, + /** + * The dependency's existing specifier will be replaced with the specifier provided in the + * {@link addDependency} call. A warning will also be shown during schematic execution to + * notify the user of the replacement. + */ + Replace, +} + /** * Adds a package as a dependency to a `package.json`. By default the `package.json` located * at the schematic's root will be used. The `manifestPath` option can be used to explicitly specify @@ -88,12 +106,18 @@ export function addDependency( * Defaults to {@link InstallBehavior.Auto}. */ install?: InstallBehavior; + /** + * The behavior to use when the dependency already exists within the `package.json`. + * Defaults to {@link ExistingBehavior.Replace}. + */ + existing?: ExistingBehavior; } = {}, ): Rule { const { type = DependencyType.Default, packageJsonPath = '/package.json', install = InstallBehavior.Auto, + existing = ExistingBehavior.Replace, } = options; return (tree, context) => { @@ -113,7 +137,12 @@ export function addDependency( if (existingSpecifier) { // Already present but different specifier - // This warning may become an error in the future + + if (existing === ExistingBehavior.Skip) { + return; + } + + // ExistingBehavior.Replace is the only other behavior currently context.logger.warn( `Package dependency "${name}" already exists with a different specifier. ` + `"${existingSpecifier}" will be replaced with "${specifier}".`, diff --git a/packages/schematics/angular/utility/dependency_spec.ts b/packages/schematics/angular/utility/dependency_spec.ts index 788851a69dcc..8b1d9e1dadb5 100644 --- a/packages/schematics/angular/utility/dependency_spec.ts +++ b/packages/schematics/angular/utility/dependency_spec.ts @@ -15,7 +15,7 @@ import { callRule, chain, } from '@angular-devkit/schematics'; -import { DependencyType, InstallBehavior, addDependency } from './dependency'; +import { DependencyType, ExistingBehavior, InstallBehavior, addDependency } from './dependency'; interface LogEntry { type: 'warn'; @@ -63,7 +63,7 @@ describe('addDependency', () => { }); }); - it('warns if a package is already present with a different specifier', async () => { + it('warns if a package is already present with a different specifier by default', async () => { const tree = new EmptyTree(); tree.create( '/package.json', @@ -85,6 +85,64 @@ describe('addDependency', () => { ); }); + it('warns if a package is already present with a different specifier with replace behavior', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: { '@angular/core': '^13.0.0' }, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0', { existing: ExistingBehavior.Replace }); + + const { logs } = await testRule(rule, tree); + expect(logs).toContain( + jasmine.objectContaining({ + type: 'warn', + message: + 'Package dependency "@angular/core" already exists with a different specifier. ' + + '"^13.0.0" will be replaced with "^14.0.0".', + }), + ); + }); + + it('replaces the specifier if a package is already present with a different specifier with replace behavior', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: { '@angular/core': '^13.0.0' }, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0', { existing: ExistingBehavior.Replace }); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({ + dependencies: { '@angular/core': '^14.0.0' }, + }); + }); + + it('does not replace the specifier if a package is already present with a different specifier with skip behavior', async () => { + const tree = new EmptyTree(); + tree.create( + '/package.json', + JSON.stringify({ + dependencies: { '@angular/core': '^13.0.0' }, + }), + ); + + const rule = addDependency('@angular/core', '^14.0.0', { existing: ExistingBehavior.Skip }); + + await testRule(rule, tree); + + expect(tree.readJson('/package.json')).toEqual({ + dependencies: { '@angular/core': '^13.0.0' }, + }); + }); + it('adds a package version with other packages in alphabetical order', async () => { const tree = new EmptyTree(); tree.create( diff --git a/packages/schematics/angular/utility/index.ts b/packages/schematics/angular/utility/index.ts index b29e572f5b9e..af90d918ebff 100644 --- a/packages/schematics/angular/utility/index.ts +++ b/packages/schematics/angular/utility/index.ts @@ -18,4 +18,4 @@ export { export { Builders as AngularBuilder } from './workspace-models'; // Package dependency related rules and types -export { DependencyType, InstallBehavior, addDependency } from './dependency'; +export { DependencyType, ExistingBehavior, InstallBehavior, addDependency } from './dependency'; From 43f6f68356ab62cfd7dd82cb58f9253c9ffd1710 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 20 Jul 2022 08:06:27 +0000 Subject: [PATCH 0686/1388] build: update all non-major dependencies --- package.json | 6 +-- yarn.lock | 104 +++++++++++++++++++++++++-------------------------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/package.json b/package.json index 7f874d77394e..e3c02037b44d 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.30.6", - "@typescript-eslint/parser": "5.30.6", + "@typescript-eslint/eslint-plugin": "5.30.7", + "@typescript-eslint/parser": "5.30.7", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -172,7 +172,7 @@ "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "14.0.3", + "ng-packagr": "14.0.4", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", diff --git a/yarn.lock b/yarn.lock index 9b824371c54c..89d33a4ff7f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2767,14 +2767,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.6.tgz#9c6017b6c1d04894141b4a87816388967f64c359" - integrity sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg== - dependencies: - "@typescript-eslint/scope-manager" "5.30.6" - "@typescript-eslint/type-utils" "5.30.6" - "@typescript-eslint/utils" "5.30.6" +"@typescript-eslint/eslint-plugin@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz#1621dabc1ae4084310e19e9efc80dfdbb97e7493" + integrity sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw== + dependencies: + "@typescript-eslint/scope-manager" "5.30.7" + "@typescript-eslint/type-utils" "5.30.7" + "@typescript-eslint/utils" "5.30.7" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2782,69 +2782,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.6.tgz#add440db038fa9d777e4ebdaf66da9e7fb7abe92" - integrity sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA== +"@typescript-eslint/parser@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.7.tgz#99d09729392aec9e64b1de45cd63cb81a4ddd980" + integrity sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A== dependencies: - "@typescript-eslint/scope-manager" "5.30.6" - "@typescript-eslint/types" "5.30.6" - "@typescript-eslint/typescript-estree" "5.30.6" + "@typescript-eslint/scope-manager" "5.30.7" + "@typescript-eslint/types" "5.30.7" + "@typescript-eslint/typescript-estree" "5.30.7" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.6.tgz#ce1b49ff5ce47f55518d63dbe8fc9181ddbd1a33" - integrity sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g== +"@typescript-eslint/scope-manager@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz#8269a931ef1e5ae68b5eb80743cc515c4ffe3dd7" + integrity sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw== dependencies: - "@typescript-eslint/types" "5.30.6" - "@typescript-eslint/visitor-keys" "5.30.6" + "@typescript-eslint/types" "5.30.7" + "@typescript-eslint/visitor-keys" "5.30.7" -"@typescript-eslint/type-utils@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.6.tgz#a64aa9acbe609ab77f09f53434a6af2b9685f3af" - integrity sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA== +"@typescript-eslint/type-utils@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz#5693dc3db6f313f302764282d614cfdbc8a9fcfd" + integrity sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw== dependencies: - "@typescript-eslint/utils" "5.30.6" + "@typescript-eslint/utils" "5.30.7" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.6.tgz#86369d0a7af8c67024115ac1da3e8fb2d38907e1" - integrity sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg== +"@typescript-eslint/types@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.7.tgz#18331487cc92d0f1fb1a6f580c8ec832528079d0" + integrity sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg== -"@typescript-eslint/typescript-estree@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.6.tgz#a84a0d6a486f9b54042da1de3d671a2c9f14484e" - integrity sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A== +"@typescript-eslint/typescript-estree@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz#05da9f1b281985bfedcf62349847f8d168eecc07" + integrity sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA== dependencies: - "@typescript-eslint/types" "5.30.6" - "@typescript-eslint/visitor-keys" "5.30.6" + "@typescript-eslint/types" "5.30.7" + "@typescript-eslint/visitor-keys" "5.30.7" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.6.tgz#1de2da14f678e7d187daa6f2e4cdb558ed0609dc" - integrity sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA== +"@typescript-eslint/utils@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.7.tgz#7135be070349e9f7caa262b0ca59dc96123351bb" + integrity sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.6" - "@typescript-eslint/types" "5.30.6" - "@typescript-eslint/typescript-estree" "5.30.6" + "@typescript-eslint/scope-manager" "5.30.7" + "@typescript-eslint/types" "5.30.7" + "@typescript-eslint/typescript-estree" "5.30.7" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.6": - version "5.30.6" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.6.tgz#94dd10bb481c8083378d24de1742a14b38a2678c" - integrity sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA== +"@typescript-eslint/visitor-keys@5.30.7": + version "5.30.7" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz#c093abae75b4fd822bfbad9fc337f38a7a14909a" + integrity sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw== dependencies: - "@typescript-eslint/types" "5.30.6" + "@typescript-eslint/types" "5.30.7" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -7947,10 +7947,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.3: - version "14.0.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.3.tgz#452db7dfcf6e3f7f486e3a7939ebfb471e5d6f03" - integrity sha512-+HfZz9YXS6H2HtXY+1lpOuNJZmsqvSJyNf0z2x4Tlnxbp7FI7L4qY56QNsb/acih9ZkOrgC+4Ihh7fbsB3y2OQ== +ng-packagr@14.0.4: + version "14.0.4" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.4.tgz#0dec63d7e829f0aa728d2c90829c35f881e9242c" + integrity sha512-GqrokUDpJTYoKKwIFJK+daiOff+G4oVlV7KVfIicpSwg2R++FCWolRCwqn571wMEHssyH8qIsDYSRocA4YLRFA== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" From 307b5c7e3c584d8fa668f84c8d256d30ba49e774 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 20 Jul 2022 12:47:28 +0000 Subject: [PATCH 0687/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 6 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++++---- yarn.lock | 78 +++++++++---------- 6 files changed, 62 insertions(+), 62 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index a52a0a2bb266..eee05bbcc33a 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fccfadda559f678c60c85e7fe59468e4b1b86105 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@4b8b706a0cd6ae9bc542fe74417040375239aeeb with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@fccfadda559f678c60c85e7fe59468e4b1b86105 + - uses: angular/dev-infra/github-actions/post-approval-changes@4b8b706a0cd6ae9bc542fe74417040375239aeeb with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 901400202441..3d2a0a6f5c50 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fccfadda559f678c60c85e7fe59468e4b1b86105 + - uses: angular/dev-infra/github-actions/feature-request@4b8b706a0cd6ae9bc542fe74417040375239aeeb with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index d8d5d896dd20..2d089e1b197d 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fccfadda559f678c60c85e7fe59468e4b1b86105 + - uses: angular/dev-infra/github-actions/lock-closed@4b8b706a0cd6ae9bc542fe74417040375239aeeb with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index e3c02037b44d..ed2f4702d654 100644 --- a/package.json +++ b/package.json @@ -65,15 +65,15 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.0.6", - "@angular/cdk": "14.0.5", + "@angular/cdk": "14.1.0", "@angular/common": "14.0.6", "@angular/compiler": "14.0.6", "@angular/compiler-cli": "14.0.6", "@angular/core": "14.0.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#cdaaa155363dfe5a67493d71803a4b721f01cbad", "@angular/forms": "14.0.6", "@angular/localize": "14.0.6", - "@angular/material": "14.0.5", + "@angular/material": "14.1.0", "@angular/platform-browser": "14.0.6", "@angular/platform-browser-dynamic": "14.0.6", "@angular/platform-server": "14.0.6", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c6471c01c5d4..8cd403f84646 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#5728cc99afdf065e7ce480be9377b9245ece7aa4", - "@angular/cdk": "github:angular/cdk-builds#ab2816176187516835800622912f39dadba42110", - "@angular/common": "github:angular/common-builds#64918aa590eaf38fc50c8e42f473f17bc49b3274", - "@angular/compiler": "github:angular/compiler-builds#a0058e9e99be417a6ded068b369c753c84a0fc9c", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#782bba8da8bba7e8ec9a9457ba6ee296d9e2d114", - "@angular/core": "github:angular/core-builds#f5b2cdbe4cdb5bbe25413bcd4cbca87ccb1ecb1f", - "@angular/forms": "github:angular/forms-builds#6fcdbcfbccc9704336ddc41c7843d591f33939ac", - "@angular/language-service": "github:angular/language-service-builds#2b69a88bc86ba05d3bf401ad1f8f5a04ed726238", - "@angular/localize": "github:angular/localize-builds#830a0ce413308fa4dac3f62e52598c27f7236e85", - "@angular/material": "github:angular/material-builds#236faa58f8f35c0d3d403b6c77854c6d8fd080fd", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b805a7f11f408715a178cc69b89c389ac66ff68b", - "@angular/platform-browser": "github:angular/platform-browser-builds#fc3fc8707e998f7b1ef1377a6a604ddfaa8fd124", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ddc678dee488317c2acdc493ca04b2d3d9f3ddab", - "@angular/platform-server": "github:angular/platform-server-builds#d824508809ee6ee6d58b132408b09a984fb8a267", - "@angular/router": "github:angular/router-builds#e9a70a08e66a566d04b595fb0376a896a7d59508", - "@angular/service-worker": "github:angular/service-worker-builds#0b1d5860a98cb11dd67e03c08248f62b59dd1330" + "@angular/animations": "github:angular/animations-builds#587095109716fd3b65797b22678bb14d55ced3e6", + "@angular/cdk": "github:angular/cdk-builds#00189cc946503fb5fccc222e7f1bd36f8a04d75d", + "@angular/common": "github:angular/common-builds#f168534e20b78092c23c41f56db3694710a8c28c", + "@angular/compiler": "github:angular/compiler-builds#3524037c939382e774c4abaa12bfa0779ac87280", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#09ee973845ae9160ece5d31f0894f115c9b1b4c4", + "@angular/core": "github:angular/core-builds#93de46f467b0f18aebf21a17893b277ef56624f6", + "@angular/forms": "github:angular/forms-builds#611a33ec1373388633dfd755f6f1d17a3afed3d5", + "@angular/language-service": "github:angular/language-service-builds#2f06b4f8805c483573aab8d2eeb99d6f58a9b023", + "@angular/localize": "github:angular/localize-builds#32a097816f2ec98f8c04f3dd08171af565b3a368", + "@angular/material": "github:angular/material-builds#fda64ea0be88c31ef88d875af3819902757d0c61", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5d3aae3742480b40dffcc192d92bdf51605c0b90", + "@angular/platform-browser": "github:angular/platform-browser-builds#15cb6b3c88a83ced8f48f61121f53c4ad75b36c5", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d6c7c0e09df3f4c89e43478670480e0ddabcad8b", + "@angular/platform-server": "github:angular/platform-server-builds#c0418c5f72265af40ac6da7ffad0077110050cb7", + "@angular/router": "github:angular/router-builds#b27aa32dce64fe99e96506b437ea3079920db1f8", + "@angular/service-worker": "github:angular/service-worker-builds#272f174a625b7da374a0ee8426eec58b2a9ff7d1" } } diff --git a/yarn.lock b/yarn.lock index 89d33a4ff7f8..baea264236fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1401.0-next.4": - version "0.1401.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-next.4.tgz#5e63f645f47c42f9bfe13296cb0c561cc182c284" - integrity sha512-jPL5rlJX06J7g7FagL3FGnd/srKlg7TjwgU8EIXyIhZKVzT/jJEjY3esi6n0bBOXsErwU1SuF95s9x0W0vRvRg== +"@angular-devkit/architect@0.1401.0-rc.3": + version "0.1401.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-rc.3.tgz#55444857b8c041bfcfa57825047933588e917374" + integrity sha512-ODAKO/cQNCpcTL+TIDxU6lPJB6kYT7raMg68JGc0bCiV82BEBZPE94xAIs/NA3B18WWEB6AxX6QgSVp1r963bg== dependencies: - "@angular-devkit/core" "14.1.0-next.4" + "@angular-devkit/core" "14.1.0-rc.3" rxjs "6.6.7" -"@angular-devkit/build-angular@14.1.0-next.4": - version "14.1.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-next.4.tgz#2c8ac035d757fc44af73943814bc05c7898a31be" - integrity sha512-H5WOmUkQpk29GQF2YCfi72fZH1/XVjWRlgoxpV6cP+tmHk5XDH43uSk8lFVGfw+S2+2XguJORYsJgks4CvquIA== +"@angular-devkit/build-angular@14.1.0-rc.3": + version "14.1.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-rc.3.tgz#ce1ea6fd47e723b84ed33a373997dafa6bdc30f4" + integrity sha512-O+68mRbaGdXXxsXxOboxwaKEtfx4++kmU+Wqz1DrYNBxNkBrS4/kVIO94YBvVI0zMRJ5wgnakqw/Be9MCIi2uQ== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1401.0-next.4" - "@angular-devkit/build-webpack" "0.1401.0-next.4" - "@angular-devkit/core" "14.1.0-next.4" + "@angular-devkit/architect" "0.1401.0-rc.3" + "@angular-devkit/build-webpack" "0.1401.0-rc.3" + "@angular-devkit/core" "14.1.0-rc.3" "@babel/core" "7.18.6" "@babel/generator" "7.18.7" "@babel/helper-annotate-as-pure" "7.18.6" @@ -37,7 +37,7 @@ "@babel/runtime" "7.18.6" "@babel/template" "7.18.6" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.1.0-next.4" + "@ngtools/webpack" "14.1.0-rc.3" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -88,18 +88,18 @@ optionalDependencies: esbuild "0.14.48" -"@angular-devkit/build-webpack@0.1401.0-next.4": - version "0.1401.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-next.4.tgz#4d893b086e76114f34ad77f8eb06c082bb924bd5" - integrity sha512-/gOTPmc8OZgMP0n8ec/FMfhTveVHIJyPR68/5IARUnpbUHEmJPZL98zahDgcFST3B05Fg8Xq1rmKOq13oV5Khg== +"@angular-devkit/build-webpack@0.1401.0-rc.3": + version "0.1401.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-rc.3.tgz#8634d47e669b8a47ece8e12b71e2a2f5726a6a56" + integrity sha512-he1xa9A9hEFjxZUoEEVfG7dOmNqsvuxJHPNCvQsM2vx7qzxW0/aZaNJEHi6bY9loDJjAftvd9zYprmeloxTdmQ== dependencies: - "@angular-devkit/architect" "0.1401.0-next.4" + "@angular-devkit/architect" "0.1401.0-rc.3" rxjs "6.6.7" -"@angular-devkit/core@14.1.0-next.4": - version "14.1.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-next.4.tgz#af9885036517252380ff13817b9c2175f63c26cf" - integrity sha512-RU6HIO47jnDr4LmVgwiwxtAh1ZftKKkLTh6JdF3O+TyxVIczXAG9fAv0fGEEocCWXjR3+CNPOizMtpPp9H7Seg== +"@angular-devkit/core@14.1.0-rc.3": + version "14.1.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-rc.3.tgz#b9d69c5216e7b7ac3f035a93b341d3480ff71e99" + integrity sha512-KTrKoRJ12kuO1MVRJamaNc2v8avq0/roZ0dVlazXASs+BWlG/6x8fpBqF5ZodTF8M+rfYLkOSpJFlkWOBWkkyA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/cdk@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.0.5.tgz#4e4c6b959429044f530cce8fa02516dd5956d1b6" - integrity sha512-9mfrCiFI8Lyn+aVpJWgzFhTHDNA0yopjPy4p84JwgeLZ0BlJks1pUNuc7bqPNydhwvGWlRSEohsTh78hlSm1vA== +"@angular/cdk@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.0.tgz#abf5ad3cdd96e42666bce949833ac1c2405ab031" + integrity sha512-EOQZmlTgj5Tc6/s50kEQUYKWH0S748rzbymBYkvyJs864lP9A8khz83IINmm+PD2sMADKtBETD3aEa5yQRhVAA== dependencies: tslib "^2.3.0" optionalDependencies: @@ -168,12 +168,12 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115": - version "0.0.0-1241c1280f4a2a58eda8c322a0f057840a9d5b6c" - uid efc5d56da4f755f2a4bf57e4d835551cc2698115 - resolved "https://github.com/angular/dev-infra-private-builds.git#efc5d56da4f755f2a4bf57e4d835551cc2698115" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#cdaaa155363dfe5a67493d71803a4b721f01cbad": + version "0.0.0-4b8b706a0cd6ae9bc542fe74417040375239aeeb" + uid cdaaa155363dfe5a67493d71803a4b721f01cbad + resolved "https://github.com/angular/dev-infra-private-builds.git#cdaaa155363dfe5a67493d71803a4b721f01cbad" dependencies: - "@angular-devkit/build-angular" "14.1.0-next.4" + "@angular-devkit/build-angular" "14.1.0-rc.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -222,10 +222,10 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.0.5": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.0.5.tgz#dbfdbf488f2e0a6c022b955b1f40726ec0ec70a0" - integrity sha512-IjY85AhvgTBNaNDjxi10d6nuEvSynO4jioaO+6LYkdAba/d3Lr2MktyNBtc9UWKfaitMVQwE8qvqf3dTskmGBg== +"@angular/material@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.1.0.tgz#35ee1cd77d8944842f8501e3c120146c83d86141" + integrity sha512-0UXfMqP5+Nzd6gbLplQpUX3E0rRRwhVEnAo8Z1hllGdJIY0meunMnTZCWsvYQ7SU/W+VbqnmtBmg5EOfYsjpiQ== dependencies: tslib "^2.3.0" @@ -1886,10 +1886,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.1.0-next.4": - version "14.1.0-next.4" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-next.4.tgz#94cebdff456ba4169d19a2741cc787748547b3eb" - integrity sha512-ziW+ElIhgrwFLM7nBkcwtli7iA6RMzZnvBAgQAEkRhyi9l969m/LSidAC73U0l06JiBWOzZAiGBgR/kd3uFW+w== +"@ngtools/webpack@14.1.0-rc.3": + version "14.1.0-rc.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-rc.3.tgz#3cca4d15f464c56d287788b0723040fa0284d4bb" + integrity sha512-9zKcMBWQkeFA8Ws6bf9fcJHOMq2W+VojL+PDQO6IYDqUW9hIMcR57FfiUilM5eu+wn0VanIx887CehIwywCZbQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" From 9b55b1c9485547e901457db53bd58aa4cf0648cd Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 20 Jul 2022 13:00:27 -0400 Subject: [PATCH 0688/1388] docs: release notes for the v13.3.9 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebfbaf17a5a9..64f9187a8fac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 13.3.9 (2022-07-20) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------- | +| [0d62716ae](https://github.com/angular/angular-cli/commit/0d62716ae3753bb463de6b176ae07520ebb24fc9) | fix | update terser to address CVE-2022-25858 | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 14.1.0-rc.3 (2022-07-14) From 9210f27f35899a5f76f7c8d9fb927eb147a2ed81 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 20 Jul 2022 14:26:03 -0400 Subject: [PATCH 0689/1388] docs: release notes for the v14.0.7 release --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64f9187a8fac..1fc6432ed2ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,32 @@ + + +# 14.0.7 (2022-07-20) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------- | +| [f653bf4fb](https://github.com/angular/angular-cli/commit/f653bf4fbb69b9e0fa0e6440a88a30f17566d9a3) | fix | incorrect logo for Angular Material | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [5810c2cc2](https://github.com/angular/angular-cli/commit/5810c2cc2dd21e5922a5eaa330e854e4327a0500) | fix | fallback to use projectRoot when sourceRoot is missing during coverage | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------- | +| [2ba4678b6](https://github.com/angular/angular-cli/commit/2ba4678b6ba2164e80cb661758565c133e08afaa) | fix | add i18n as valid project extension | +| [c2201c835](https://github.com/angular/angular-cli/commit/c2201c835801ef9c1cc6cacec2748c8ca341519d) | fix | log name of invalid extension too | + +## Special Thanks + +Alan Agius, Fortunato Ventre, Katerina Skroumpelou and Kristiyan Kostadinov + + + # 13.3.9 (2022-07-20) From ca175f0d61004611049cd9b49c9d089eff1cb7fd Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 20 Jul 2022 18:41:52 +0000 Subject: [PATCH 0690/1388] build: update dependency ng-packagr to v14.1.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ed2f4702d654..cf44683119ae 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "14.0.4", + "ng-packagr": "14.1.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", diff --git a/yarn.lock b/yarn.lock index baea264236fe..44365dfae08b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7947,10 +7947,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.0.4: - version "14.0.4" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.0.4.tgz#0dec63d7e829f0aa728d2c90829c35f881e9242c" - integrity sha512-GqrokUDpJTYoKKwIFJK+daiOff+G4oVlV7KVfIicpSwg2R++FCWolRCwqn571wMEHssyH8qIsDYSRocA4YLRFA== +ng-packagr@14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.1.0.tgz#f0d3b291dd3d361b90acd6cebe8af41c35597414" + integrity sha512-08B+bOp53YhmPobI1tK0YwGUAysden/PHtBUtmLaJxIHYVZqzH/RIFVaZLx+k+70TFqs+P2Hjpmo3wblWqFzxg== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" From f372e91561dd44c0c8d16f943a5013c2634f98a8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 20 Jul 2022 15:38:12 -0400 Subject: [PATCH 0691/1388] docs: release notes for the v14.1.0 release --- CHANGELOG.md | 223 +++++++++++---------------------------------------- 1 file changed, 47 insertions(+), 176 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fc6432ed2ba..6da4737334e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,50 @@ + + +# 14.1.0 (2022-07-20) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | +| [3884b8652](https://github.com/angular/angular-cli/commit/3884b865262c1ffa5652ac0f4d67bbf59087f453) | fix | add esbuild browser builder to workspace schema | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | +| [707911d42](https://github.com/angular/angular-cli/commit/707911d423873623d4201d2fbce4a294ab73a135) | feat | support controlling `addDependency` utility rule install behavior | +| [a8fe4fcc3](https://github.com/angular/angular-cli/commit/a8fe4fcc315fd408b5b530a44a02c1655b5450a8) | fix | Allow skipping existing dependencies in E2E schematic | +| [b8bf3b480](https://github.com/angular/angular-cli/commit/b8bf3b480bef752641370e542ebb5aee649a8ac6) | fix | only issue a warning for addDependency existing specifier | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | +| [a7709b718](https://github.com/angular/angular-cli/commit/a7709b718c953d83f3bde00fa3bf896501359946) | feat | add `externalDependencies` to the esbuild browser builder | +| [248860ad6](https://github.com/angular/angular-cli/commit/248860ad674b54f750bb5c197588bb6d031be208) | feat | add Sass file support to experimental esbuild-based builder | +| [b06ae5514](https://github.com/angular/angular-cli/commit/b06ae55140c01f8b5107527fd0af1da3b04a721f) | feat | add service worker support to experimental esbuild builder | +| [b5f6d862b](https://github.com/angular/angular-cli/commit/b5f6d862b95afd0ec42d9b3968e963f59b1b1658) | feat | Identify third-party sources in sourcemaps | +| [b3a14d056](https://github.com/angular/angular-cli/commit/b3a14d05629ba6e3b23c09b1bfdbc4b35d534813) | fix | allow third-party sourcemaps to be ignored in esbuild builder | +| [53dd929e5](https://github.com/angular/angular-cli/commit/53dd929e59f98a7088d150e861d18e97e6de4114) | fix | ensure esbuild builder sourcemap sources are relative to workspace | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | +| [526cdb263](https://github.com/angular/angular-cli/commit/526cdb263a8c74ad228f584f70dc029aa69351d7) | feat | allow `chain` rule to accept iterables of rules | + +### @angular/create + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------- | +| [cfe93fbc8](https://github.com/angular/angular-cli/commit/cfe93fbc89fad2f58826f0118ce7ff421cd0e4f2) | feat | add support for `yarn create` and `npm init` | + +## Special Thanks + +Alan Agius, Charles Lyding, Derek Cormier, Doug Parker, Jason Bedard, Joey Perrott, Paul Gschwendtner, Victor Porof and renovate[bot] + + + # 14.0.7 (2022-07-20) @@ -43,12 +90,6 @@ Alan Agius and Charles Lyding - - -# 14.1.0-rc.3 (2022-07-14) - - - # 14.0.6 (2022-07-13) @@ -84,45 +125,6 @@ Alan Agius and martinfrancois - - -# 14.1.0-next.4 (2022-07-06) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------ | -| [cbccfd426](https://github.com/angular/angular-cli/commit/cbccfd426a2e27c1fd2e274aaee4d02c53eb7c9e) | fix | during an update only use package manager force option with npm 7+ | -| [dbe0dc174](https://github.com/angular/angular-cli/commit/dbe0dc174339d872426501c1c1dca689db2b9bad) | fix | improve error message for project-specific ng commands when run outside of a project | -| [93ba050b0](https://github.com/angular/angular-cli/commit/93ba050b0c6b58274661d2063174920d191a7639) | fix | show deprecated workspace config options in IDE | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [9e3152466](https://github.com/angular/angular-cli/commit/9e3152466b9b3cdb00450f63399e7b8043250fe7) | fix | prevent importing `RouterModule` parallel to `RoutingModule` | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | -| [7a2460914](https://github.com/angular/angular-cli/commit/7a246091435773ff4d669b1dfe2684b366010919) | fix | disable glob mounting for patterns that start with a forward slash | -| [88701115c](https://github.com/angular/angular-cli/commit/88701115c69ced4bbc1bea07e4ef8941a2b54771) | fix | don't override base-href in HTML when it's not set in builder | -| [d2bbcd7b6](https://github.com/angular/angular-cli/commit/d2bbcd7b6803fcc9da27f804f12f194110d26eb2) | fix | improve detection of CommonJS dependencies | -| [53e9c459d](https://github.com/angular/angular-cli/commit/53e9c459d6b5fae3884128beaa941c71cd6562cc) | fix | support hidden component stylesheet sourcemaps with esbuild builder | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | -| [5319428e1](https://github.com/angular/angular-cli/commit/5319428e14a7e364a58caa8ca936964cfc5503cf) | fix | do not run ngcc when `node_modules` does not exist | - -## Special Thanks - -Alan Agius, Charles Lyding, JoostK and Paul Gschwendtner - - - # 14.0.5 (2022-07-06) @@ -162,52 +164,6 @@ Alan Agius, Charles Lyding, JoostK and Paul Gschwendtner - - -# 14.1.0-next.3 (2022-06-29) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | -| [5a012b5fc](https://github.com/angular/angular-cli/commit/5a012b5fce2f38fa6b97c84c874e85dc726d2f0d) | fix | correctly handle `--collection` option in `ng new` | -| [8b65abe1b](https://github.com/angular/angular-cli/commit/8b65abe1b037cf00cb3c95ab98f7b6ba3ceef561) | fix | improve global schema validation | -| [4fa039b69](https://github.com/angular/angular-cli/commit/4fa039b692be8bc97d0b382f015783d12f214a65) | fix | remove color from help epilogue | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | -| [ab8ab30c8](https://github.com/angular/angular-cli/commit/ab8ab30c879f04777b9a444a7f3072682ea161b5) | fix | use `sourceRoot` instead of `src` in universal schematic | - -### @angular-devkit/architect - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | -| [ecdbe721a](https://github.com/angular/angular-cli/commit/ecdbe721a1be10a59e7ee1b2f446b20c1e7de95b) | fix | complete builders on the next event loop iteration | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | -| [4fcfc37cb](https://github.com/angular/angular-cli/commit/4fcfc37cb957513cb61d01946959669559e93393) | fix | exit dev-server when CTRL+C is pressed | -| [2b962549d](https://github.com/angular/angular-cli/commit/2b962549d3c8c4aa3814f604ef67525822a5e04d) | fix | exit localized builds when CTRL+C is pressed | -| [b40aeed44](https://github.com/angular/angular-cli/commit/b40aeed4414afcb1c90c7f0c609aa78f13790f03) | fix | hide stacktraces from webpack errors | -| [43f495d57](https://github.com/angular/angular-cli/commit/43f495d57be37fa81cfade3d8e4291483a971f7c) | fix | set base-href in service worker manifest when using i18n and app-shell | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | -| [7ababc210](https://github.com/angular/angular-cli/commit/7ababc210b3eb023bfd4c8f05178cb2f75472bb2) | fix | restore process title after NGCC is executed | -| [34ecf669d](https://github.com/angular/angular-cli/commit/34ecf669ddb05da84f200d6972dbc8439007e1aa) | fix | show a compilation error on invalid TypeScript version | - -## Special Thanks - -Alan Agius, Charles Lyding, Jason Bedard, Paul Gschwendtner, Tim Bowersox and renovate[bot] - - - # 14.0.4 (2022-06-29) @@ -254,40 +210,6 @@ Alan Agius, Charles Lyding and Tim Bowersox - - -# 14.1.0-next.2 (2022-06-23) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | -| [3884b8652](https://github.com/angular/angular-cli/commit/3884b865262c1ffa5652ac0f4d67bbf59087f453) | fix | add esbuild browser builder to workspace schema | -| [4f31b57df](https://github.com/angular/angular-cli/commit/4f31b57df36da5230dd247791d0875d60b929035) | fix | disable version check when running `ng completion` commands | -| [fd92eaa86](https://github.com/angular/angular-cli/commit/fd92eaa86521f6cfd8b90884ce6b2443e9ed571d) | fix | provide an actionable error when using `--configuration` with `ng run` | -| [ba3f67193](https://github.com/angular/angular-cli/commit/ba3f671936496571337bfb4e18d2ca5d0e56f515) | fix | temporarily handle boolean options in schema prefixed with `no` | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | -| [a7709b718](https://github.com/angular/angular-cli/commit/a7709b718c953d83f3bde00fa3bf896501359946) | feat | add `externalDependencies` to the esbuild browser builder | -| [667799423](https://github.com/angular/angular-cli/commit/66779942358e6faf43f6311e5c59fced3e793e46) | fix | fix incorrect glob cwd in karma when using `--include` option | -| [0f02b0011](https://github.com/angular/angular-cli/commit/0f02b0011bea5bb7fff935d46768b32455ebb05e) | fix | handle `codeCoverageExclude` correctly in Windows | -| [1fc7d4f56](https://github.com/angular/angular-cli/commit/1fc7d4f56b00f6aa6f2ebb4db7675e84c94062a2) | fix | ignore supported browsers during i18n extraction | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ | -| [1af3f71aa](https://github.com/angular/angular-cli/commit/1af3f71aa26047a6baac815c0495b1a676c2c861) | fix | workspace writer skip creating empty projects property | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Paul Gschwendtner and renovate[bot] - - - # 14.0.3 (2022-06-23) @@ -320,35 +242,6 @@ Alan Agius, Charles Lyding and Paul Gschwendtner - - -# 14.1.0-next.1 (2022-06-15) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | -| [82ec1af4e](https://github.com/angular/angular-cli/commit/82ec1af4e1e34fe5b18db328b4bce6405a03c7b8) | fix | show more actionable error when command is ran in wrong scope | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- | -| [7cbbf2f2b](https://github.com/angular/angular-cli/commit/7cbbf2f2ba83d27812e9b83859524937dad31fb1) | fix | remove vscode testing configurations for `minimal` workspaces | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | -| [b06ae5514](https://github.com/angular/angular-cli/commit/b06ae55140c01f8b5107527fd0af1da3b04a721f) | feat | add service worker support to experimental esbuild builder | -| [1f66edebc](https://github.com/angular/angular-cli/commit/1f66edebcc968ed01acd06506226f5cd60c71afe) | fix | replace fallback locale for `en-US` | - -## Special Thanks - -Alan Agius, Charles Lyding, Jason Bedard and Julien Marcou - - - # 14.0.2 (2022-06-15) @@ -393,28 +286,6 @@ Alan Agius - - -# 14.1.0-next.0 (2022-06-08) - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | -| [707911d42](https://github.com/angular/angular-cli/commit/707911d423873623d4201d2fbce4a294ab73a135) | feat | support controlling `addDependency` utility rule install behavior | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | -| [526cdb263](https://github.com/angular/angular-cli/commit/526cdb263a8c74ad228f584f70dc029aa69351d7) | feat | allow `chain` rule to accept iterables of rules | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Jason Bedard and Joey Perrott - - - # 14.0.1 (2022-06-08) From d40635145504bf2f1fc5224266585e86e541b646 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 18 Jul 2022 19:46:25 +0000 Subject: [PATCH 0692/1388] ci: enable full E2E suit test on Windows for PRs This commits changes the CI workflow to run all the complete E2E test suit on Windows for PRs. The also increase the parallelism for Windows tests to 16 to reduce the time taken for this step and removes the requirement for the `build` step before running `e2e-cli-win`. Based on the current timings, this change will not increase PR CI times. --- .circleci/dynamic_config.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 6e75c447b954..9b70a2511325 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -312,7 +312,8 @@ jobs: # Windows jobs e2e-cli-win: executor: windows-executor - parallelism: 8 + resource_class: windows.large + parallelism: 16 steps: - checkout - rebase_pr @@ -339,11 +340,7 @@ jobs: name: Execute E2E Tests command: | mkdir X:/ramdisk/e2e-main - if (Test-Path env:CIRCLE_PULL_REQUEST) { - node tests\legacy-cli\run_e2e.js "--glob={tests/basic/**,tests/i18n/extract-ivy*.ts,tests/build/profile.ts,tests/test/test-sourcemap.ts,tests/misc/check-postinstalls.ts}" --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main - } else { - node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main - } + node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main - fail_fast workflows: @@ -413,9 +410,7 @@ workflows: - build # Windows jobs - - e2e-cli-win: - requires: - - build + - e2e-cli-win # Publish jobs - snapshot_publish: From 3220d11e5b8131b473a1df83320f4f7467aa0b74 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 21 Jul 2022 13:49:03 +0000 Subject: [PATCH 0693/1388] build: update dependency puppeteer to v15.4.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cf44683119ae..ee8edd861f2f 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.4.0", + "puppeteer": "15.4.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 44365dfae08b..a94722d6719f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9262,10 +9262,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.4.0: - version "15.4.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.4.0.tgz#31f043ee64cc4e1b5cbe99ad900653aab4afb186" - integrity sha512-wxJRbofjaycCaQ9fhABlToJobrjxlABiFi6NvdkOPVJMYFblxDlDTjkg+b6bZYi7xN+lEXn84GBZsA5DYb3wfw== +puppeteer@15.4.2: + version "15.4.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.4.2.tgz#d61756844a9eea91e672ea6d9994aa939a23bdcb" + integrity sha512-RIxzCIU8aJWh3ruc63xcByRYHPYJsXn4VbrrPtVQfMFcfYOnBqUeJ0CstDVv/NEZGpwozIPZBNU6zqY4zIn7vg== dependencies: cross-fetch "3.1.5" debug "4.3.4" From 0cfea883074846f3cbc17f6ce1d50fdb34a1bdcd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 15 Jul 2022 12:52:52 +0000 Subject: [PATCH 0694/1388] ci: create e2e matrices With this commit, we create different matrices for our e2e tests. This reduces the duration of the workflow by ~7mins More information: https://circleci.com/docs/using-matrix-jobs --- .circleci/dynamic_config.yml | 79 +++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 24 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 9b70a2511325..a2968ae70bc9 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -37,6 +37,8 @@ var_5: &only_release_branches - main - /\d+\.\d+\.x/ +var_6: &all_e2e_subsets ['npm', 'esbuild', 'yarn'] + # Executor Definitions # https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors executors: @@ -207,7 +209,7 @@ jobs: - run: yarn -s admin validate - run: yarn -s check-tooling-setup - e2e-cli: + e2e-tests: parameters: nodeversion: type: string @@ -215,6 +217,10 @@ jobs: snapshots: type: boolean default: false + subset: + type: enum + enum: *all_e2e_subsets + default: 'npm' executor: name: test-executor nodeversion: << parameters.nodeversion >> @@ -223,21 +229,31 @@ jobs: - custom_attach_workspace - browser-tools/install-chrome - initialize_env - - run: - name: Execute CLI E2E Tests - command: | - mkdir /mnt/ramdisk/e2e-main - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e-main - - run: - name: Execute CLI E2E Tests Subset with Yarn - command: | - mkdir /mnt/ramdisk/e2e-yarn - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" - - run: - name: Execute CLI E2E Tests Subset with esbuild builder - command: | - mkdir /mnt/ramdisk/e2e-esbuild - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" + - run: mkdir /mnt/ramdisk/e2e + - when: + condition: + equal: ['npm', << parameters.subset >>] + steps: + - run: + name: Execute CLI E2E Tests with NPM + command: | + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e + - when: + condition: + equal: ['esbuild', << parameters.subset >>] + steps: + - run: + name: Execute CLI E2E Tests Subset with Esbuild + command: | + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" + - when: + condition: + equal: ['yarn', << parameters.subset >>] + steps: + - run: + name: Execute CLI E2E Tests Subset with Yarn + command: | + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" - fail_fast test-browsers: @@ -359,22 +375,37 @@ workflows: requires: - setup - - e2e-cli: - name: e2e-cli + - e2e-tests: + name: e2e-cli-<< matrix.subset >> nodeversion: '14.15' + matrix: + parameters: + subset: *all_e2e_subsets + filters: + branches: + ignore: + - main + - /\d+\.\d+\.x/ requires: - build - - e2e-cli: - name: e2e-cli-node-16 - nodeversion: '16.10' - <<: *only_release_branches + - e2e-tests: + name: e2e-cli-node-<>-<< matrix.subset >> + matrix: + alias: e2e-cli + parameters: + nodeversion: ['14.15', '16.10'] + subset: *all_e2e_subsets requires: - build + <<: *only_release_branches - - e2e-cli: - name: e2e-cli-ng-snapshots + - e2e-tests: + name: e2e-snapshots-<< matrix.subset >> nodeversion: '16.10' + matrix: + parameters: + subset: *all_e2e_subsets snapshots: true pre-steps: - when: From 00515e171173b367c79b3929f3d894ab8482d2be Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 21 Jul 2022 17:09:08 +0000 Subject: [PATCH 0695/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 26 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++--- yarn.lock | 107 ++++++++++-------- 7 files changed, 92 insertions(+), 85 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index eee05bbcc33a..ea3b5e4235e5 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@4b8b706a0cd6ae9bc542fe74417040375239aeeb + - uses: angular/dev-infra/github-actions/commit-message-based-labels@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@4b8b706a0cd6ae9bc542fe74417040375239aeeb + - uses: angular/dev-infra/github-actions/post-approval-changes@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 3d2a0a6f5c50..02fbdb28d048 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@4b8b706a0cd6ae9bc542fe74417040375239aeeb + - uses: angular/dev-infra/github-actions/feature-request@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 2d089e1b197d..f7dd5221a468 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@4b8b706a0cd6ae9bc542fe74417040375239aeeb + - uses: angular/dev-infra/github-actions/lock-closed@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index ee8edd861f2f..16ee0811c2ca 100644 --- a/package.json +++ b/package.json @@ -64,21 +64,21 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.0.6", + "@angular/animations": "14.1.0", "@angular/cdk": "14.1.0", - "@angular/common": "14.0.6", - "@angular/compiler": "14.0.6", - "@angular/compiler-cli": "14.0.6", - "@angular/core": "14.0.6", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#cdaaa155363dfe5a67493d71803a4b721f01cbad", - "@angular/forms": "14.0.6", - "@angular/localize": "14.0.6", + "@angular/common": "14.1.0", + "@angular/compiler": "14.1.0", + "@angular/compiler-cli": "14.1.0", + "@angular/core": "14.1.0", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf", + "@angular/forms": "14.1.0", + "@angular/localize": "14.1.0", "@angular/material": "14.1.0", - "@angular/platform-browser": "14.0.6", - "@angular/platform-browser-dynamic": "14.0.6", - "@angular/platform-server": "14.0.6", - "@angular/router": "14.0.6", - "@angular/service-worker": "14.0.6", + "@angular/platform-browser": "14.1.0", + "@angular/platform-browser-dynamic": "14.1.0", + "@angular/platform-server": "14.1.0", + "@angular/router": "14.1.0", + "@angular/service-worker": "14.1.0", "@babel/core": "7.18.9", "@babel/generator": "7.18.9", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index e741fbc604ce..0213b9447145 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.0.6", - "@angular/compiler-cli": "14.0.6", + "@angular/compiler": "14.1.0", + "@angular/compiler-cli": "14.1.0", "typescript": "~4.7.2", "webpack": "5.73.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 8cd403f84646..198db7e9569a 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#587095109716fd3b65797b22678bb14d55ced3e6", - "@angular/cdk": "github:angular/cdk-builds#00189cc946503fb5fccc222e7f1bd36f8a04d75d", - "@angular/common": "github:angular/common-builds#f168534e20b78092c23c41f56db3694710a8c28c", - "@angular/compiler": "github:angular/compiler-builds#3524037c939382e774c4abaa12bfa0779ac87280", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#09ee973845ae9160ece5d31f0894f115c9b1b4c4", - "@angular/core": "github:angular/core-builds#93de46f467b0f18aebf21a17893b277ef56624f6", - "@angular/forms": "github:angular/forms-builds#611a33ec1373388633dfd755f6f1d17a3afed3d5", - "@angular/language-service": "github:angular/language-service-builds#2f06b4f8805c483573aab8d2eeb99d6f58a9b023", - "@angular/localize": "github:angular/localize-builds#32a097816f2ec98f8c04f3dd08171af565b3a368", - "@angular/material": "github:angular/material-builds#fda64ea0be88c31ef88d875af3819902757d0c61", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5d3aae3742480b40dffcc192d92bdf51605c0b90", - "@angular/platform-browser": "github:angular/platform-browser-builds#15cb6b3c88a83ced8f48f61121f53c4ad75b36c5", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d6c7c0e09df3f4c89e43478670480e0ddabcad8b", - "@angular/platform-server": "github:angular/platform-server-builds#c0418c5f72265af40ac6da7ffad0077110050cb7", - "@angular/router": "github:angular/router-builds#b27aa32dce64fe99e96506b437ea3079920db1f8", - "@angular/service-worker": "github:angular/service-worker-builds#272f174a625b7da374a0ee8426eec58b2a9ff7d1" + "@angular/animations": "github:angular/animations-builds#eb5ca2d73551cf13f5bc6639b746b36ee571c3f4", + "@angular/cdk": "github:angular/cdk-builds#95f97c5fc289ab9c75a604dd3659017de98d8e3d", + "@angular/common": "github:angular/common-builds#6095bb272ca29ec61375faa592861d9362a4c100", + "@angular/compiler": "github:angular/compiler-builds#80172abaf6bbfbdb33cfc28b32d92ff922ca9ea5", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#69e264f1ba843f9d6ea44b162ead8d3e8c17838f", + "@angular/core": "github:angular/core-builds#5d92f5d2d13ad07351fd12bf8253bd36a1f46c43", + "@angular/forms": "github:angular/forms-builds#96541330a10894842b6ac4e5ade83cd3dc5d7527", + "@angular/language-service": "github:angular/language-service-builds#4f653622380f6bbe469138790590d73ddedc57ff", + "@angular/localize": "github:angular/localize-builds#4adb61a4797b2c04559b7512e15d6f9f2dee133e", + "@angular/material": "github:angular/material-builds#49b47db040392c331a645210fb4ce053262273f6", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1e5c5eb2d75d4743f1d88dd0193da8954f7ae5c7", + "@angular/platform-browser": "github:angular/platform-browser-builds#d2f921795bc3ce72d930d71f26d972ea038bbbc9", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aeeeff87820a463a10ec5f34cba2a2991035d0cd", + "@angular/platform-server": "github:angular/platform-server-builds#6c36ef07146da5939fa960fc94c2eeaebfa7e4bb", + "@angular/router": "github:angular/router-builds#faad302abb682398af6d845e22519f99adcc3d74", + "@angular/service-worker": "github:angular/service-worker-builds#84a8d1fa81d497a0ea8e7bf46bb176f1249a31db" } } diff --git a/yarn.lock b/yarn.lock index a94722d6719f..e9e1e7db15bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.0.6.tgz#7f7c3a64fbbeee9fd7141649cb903d59c65a15f5" - integrity sha512-l363hFgj5Dxw6WKZkJRd77izOznCqJVrWhxfO9ERG0ShVUb/3WB9RSOUCVltDrTY5sFK+cw+slQYGH6AXgvMVQ== +"@angular/animations@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.1.0.tgz#a819b2c012ce507d6260c86b089f73fd00c3bf59" + integrity sha512-OhEXi1u/M4QyltDCxSqo7YzF7ELgNDWNqbbM7vtWIcrc4c+Yiu1GXhW/GQRosF3WAuQVfdQzEI0VTeNoo98Kvw== dependencies: tslib "^2.3.0" @@ -131,17 +131,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.0.6.tgz#1ae36eec1b9030f78ab8c62916ef9af7a9a92bea" - integrity sha512-AynjE7OOEfrdKmS3nu00tkf4g66cx97T6qhfaTvc3hKi45MreBcJkIMcSowF24peygvUN41htMJuq3WQLu92iQ== +"@angular/common@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.1.0.tgz#84886e7f74c6e475377fdc9150d0d184583ca8f5" + integrity sha512-leethDtLbA3qySaOEBUto602DF0qH1maK9u2zHncrUFOpnHAYUEd7N9MFMdIYASurTnwOSglEoIDCML94qzImQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.0.6.tgz#c87e2698b6a642919bfe9b5d66ea9ef3095a396d" - integrity sha512-w1ccZEzbRRqzMNaty0P4QliSslmR+9pBhDpKNfI+PsRqjJOnyC9tFdtZQLjcbnaM8W0yJLnCfZQ7KKXjnjzawg== +"@angular/compiler-cli@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.0.tgz#83adac3432dbc2b362fac258facc8ca9f06783eb" + integrity sha512-llJkDnv0+riTdRPdOJv/FToz4X9ZO1URnalW+tIe2RyfOzkEqM+VLD/x+3cVgnsaFKuoPxIjZEkMoppGwVB4kg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -154,24 +154,31 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.0.6.tgz#d2cd7afac7bb833ff4298aec1abd460f6ed32910" - integrity sha512-zYq3+Pg6m7NKivqEk+vNy+5ic5A+B0ReqIECjs10pVeXoWBxjvZAqG2ksrCQ0axtju2hA3lrFsDthLShWBEf4g== +"@angular/compiler@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.0.tgz#25f1eb12e3fdf49223bf6cdf7c0637d149860633" + integrity sha512-aLbtpFDF3fp/DOEsWSdpszmoNZAb0To/zoKhHVmEReuUKkMtlPNd3+e6wkR2vrvR/cWgbKwdb7RQ1IQtGDu74A== dependencies: tslib "^2.3.0" -"@angular/core@14.0.6", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.0.tgz#5a0fa164ca180027d4c54a5b70e7357918f9af9b" + integrity sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg== + dependencies: + tslib "^2.3.0" + +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.0.6" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.6.tgz#697d52ca9d772877a5138af26d1d9c5e7c267ade" integrity sha512-hyQ3s9Yrm3ejhumgAC9ENhMFmvmPlJkk1tEOjruyoiHwK4EOaDpI+GCNQIBUB1Z3B/QLMlgZeMXrULQztjSQwg== dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#cdaaa155363dfe5a67493d71803a4b721f01cbad": - version "0.0.0-4b8b706a0cd6ae9bc542fe74417040375239aeeb" - uid cdaaa155363dfe5a67493d71803a4b721f01cbad - resolved "https://github.com/angular/dev-infra-private-builds.git#cdaaa155363dfe5a67493d71803a4b721f01cbad" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf": + version "0.0.0-114c5a9e0c063e65dc42ded4d2ae07a3cca5418a" + uid b2da73b3dddddd6a253ee8ea48ef387b20f5aedf + resolved "https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf" dependencies: "@angular-devkit/build-angular" "14.1.0-rc.3" "@angular/benchpress" "0.3.0" @@ -206,19 +213,19 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/forms@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.0.6.tgz#87aa36b1a3f3bd1ca71615fd250f04f8e660971c" - integrity sha512-ITa3A6pWecDgDjBTlwQnJnSOc1o35bIvRpTclLx/ysDbn4FB2tPy4iseCSrOlgdJHZjBcHBIxX27yYjWyBfIwQ== +"@angular/forms@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.0.tgz#17a7ec211a11b75572d89359f08c277cfcdb1210" + integrity sha512-y7VQ2t+/ASEjzt8zXg4y5b03lMSPHmnhy4XzjDT14ZFrALaSxyhkSqoBfAksPkTeKmsFMnP/VgLboRsE8TLs0Q== dependencies: tslib "^2.3.0" -"@angular/localize@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.0.6.tgz#a9c556511e20aaa4edd425ef4336a9d9ed891691" - integrity sha512-ognxBqlYVp94flsCRCsoVA4Qp8MENYOHbj0Hqd6R4McnIIp9SFsixH05v7fkHywCEl/Ot7gcu1rQPkooT89/Kw== +"@angular/localize@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.1.0.tgz#cceaf47af06edbb4058f109f68bb82cd720c82a6" + integrity sha512-kGiSLDhYCCYyHgXFjy6P9VCCD9dI/IqM0V6Vn/cCL+ZCVUz6pcsGtnhfU6bycMYwyv72py51hMYKMEVR+nfIhQ== dependencies: - "@babel/core" "7.18.6" + "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" @@ -229,40 +236,40 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.0.6.tgz#a05fa27f9bbc4a0a0fbb25fd8058a9f6791cf7f6" - integrity sha512-iYWmzUDWO+qc7wN1ED3dIkvDjIBdSqh/gpFvLGyCUZBwzwZ45sJOT/YgCmLBzBsVV/2GhAhV0QL4ioVQ5Jy3UA== +"@angular/platform-browser-dynamic@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz#9e30c5c4d2ff507402dcb36a5878068d8d900b81" + integrity sha512-0Lxz3HJ9qTOyMTp5Qud2tycP7wqe+tnHOSUqDywrbNRozTKGX0z3i+l0KMku3BtUbuMi3tJomqV914/dtbCvIw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.0.6.tgz#5a98fc8f52c076dd0ead03b3c5ecabbd4dc7abb4" - integrity sha512-d9PS2E5HSgiKzItHzVdxdBoMeaOvlDo6ccSEXLYCGyJ9MykDjKvJPWy6GicilBPa8g4VGJpk9J+lbgXXAOkCFA== +"@angular/platform-browser@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.1.0.tgz#6259e3fe7eacaffa18679dd588116e23eac7cf6d" + integrity sha512-axNXUSqxsP0QSdNskd1pFo2uMo1UNoFaSAB02eDWwLkWQ1pWel+T78HiQY2bNeI3elgzjwPTT4vCCDQKNVTNig== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.0.6.tgz#edd31b56f337e13d82a9e4e2325f5bbae6122b36" - integrity sha512-VHSKkunG+espoMB5cVAsp9H1CAD7pmd6CqVIQZEK5SDSjuLNmrO4pNxlbODHTesZRkUb2APZE5Rh0OTItrJS/w== +"@angular/platform-server@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.1.0.tgz#79fae1e397dcabcf82bb4f1fedb6a886206a0675" + integrity sha512-qX35UbN1K7dzZWjvuQHx5iHyHytRnblQ4B33vIGjeboTUdgqaHyd44p5nTs4OEcZ4JYfnZr2Q30rIo/Ed3LTHA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.0.6.tgz#008852d6796781d1dcb32899dd7e2921e8245bdf" - integrity sha512-FFLnaBuOASqUCbr8QIBX8Y+PbSSVrN6YFVI82bQDr2fesI+5UdLTfiEBUMizwnQ4choEtSd8542DjiEW8Rc+lA== +"@angular/router@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.1.0.tgz#a377dc8fee53f84657af260442183c7b9526a4d0" + integrity sha512-WBC1E+d9RS8vy57zJ6LVtWT3AM12mEHY7SCMBRJNBcrmBYJwojxeV8IVkUoW4Ds910gG/w3LjIN0eNHg5qRtNA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.0.6": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.0.6.tgz#234b5273faaff641f8dcc8f9419246557e59e0b0" - integrity sha512-QwbXtcP9z9hndmno+y9CiB6TwDHbegype3BUBhyA73Rw8Y/OGnldphEtv37i3UhYr+MCgVfdcXFN4nx43CcEng== +"@angular/service-worker@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.1.0.tgz#5a2e97f5d39fda88748329f3e850e27cbfd76020" + integrity sha512-kwMHduhZqWzOZbt9xhRbEtixZAdppdW4NtUVpzBJAfDC/7l3cEwLhTgcwwC9rP1E1LIFXWKJUARKXOCjMD9lQQ== dependencies: tslib "^2.3.0" From e63375ea397338b71569d2c849a19e2dec18b273 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 1 Jul 2022 10:47:31 +0000 Subject: [PATCH 0696/1388] fix(@angular-devkit/core): `classify` string util should concat string without using a `.` `.` is not a valid character in ES6 class names. Prior to this change `foo.module` before used to be incorrectly classified to `Foo.Module` instead of `FooModule`. Closes #13824 --- packages/angular_devkit/core/src/utils/strings.ts | 5 +++-- packages/schematics/angular/class/index_spec.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/core/src/utils/strings.ts b/packages/angular_devkit/core/src/utils/strings.ts index ead3a181cd3c..f265b1bc6328 100644 --- a/packages/angular_devkit/core/src/utils/strings.ts +++ b/packages/angular_devkit/core/src/utils/strings.ts @@ -74,13 +74,14 @@ export function camelize(str: string): string { /** Returns the UpperCamelCase form of a string. + @example ```javascript 'innerHTML'.classify(); // 'InnerHTML' 'action_name'.classify(); // 'ActionName' 'css-class-name'.classify(); // 'CssClassName' 'my favorite items'.classify(); // 'MyFavoriteItems' + 'app.component'.classify(); // 'AppComponent' ``` - @method classify @param {String} str the string to classify @return {String} the classified string @@ -89,7 +90,7 @@ export function classify(str: string): string { return str .split('.') .map((part) => capitalize(camelize(part))) - .join('.'); + .join(''); } /** diff --git a/packages/schematics/angular/class/index_spec.ts b/packages/schematics/angular/class/index_spec.ts index 39afc6741181..c5238636927c 100644 --- a/packages/schematics/angular/class/index_spec.ts +++ b/packages/schematics/angular/class/index_spec.ts @@ -83,7 +83,7 @@ describe('Class Schematic', () => { const tree = await schematicRunner.runSchematicAsync('class', options, appTree).toPromise(); const classPath = '/projects/bar/src/app/foo.model.ts'; const content = tree.readContent(classPath); - expect(content).toMatch(/export class Foo/); + expect(content).toMatch(/export class FooModel/); }); it('should respect the path option', async () => { From e995bdad32c0cfb1515ab7091e796b1f2d88bc59 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Sun, 3 Jul 2022 11:43:52 +0000 Subject: [PATCH 0697/1388] fix(@schematics/angular): prevent numbers from class names With this change we prevent creating classes with invalid characters. Closes #12868 --- packages/schematics/angular/class/index_spec.ts | 8 ++++++++ packages/schematics/angular/component/index_spec.ts | 2 +- packages/schematics/angular/enum/index_spec.ts | 8 ++++++++ packages/schematics/angular/module/index.ts | 2 ++ packages/schematics/angular/module/index_spec.ts | 9 +++++++++ packages/schematics/angular/pipe/index.ts | 8 +++----- packages/schematics/angular/pipe/index_spec.ts | 8 ++++++++ .../schematics/angular/utility/generate-from-files.ts | 3 +++ packages/schematics/angular/utility/validation.ts | 11 ++++++++++- 9 files changed, 52 insertions(+), 7 deletions(-) diff --git a/packages/schematics/angular/class/index_spec.ts b/packages/schematics/angular/class/index_spec.ts index c5238636927c..76428ae1dfb9 100644 --- a/packages/schematics/angular/class/index_spec.ts +++ b/packages/schematics/angular/class/index_spec.ts @@ -109,4 +109,12 @@ describe('Class Schematic', () => { expect(tree.files).toContain('/projects/bar/src/app/foo.ts'); expect(tree.files).not.toContain('/projects/bar/src/app/foo.spec.ts'); }); + + it('should error when class name contains invalid characters', async () => { + const options = { ...defaultOptions, name: '1Clazz' }; + + await expectAsync( + schematicRunner.runSchematicAsync('class', options, appTree).toPromise(), + ).toBeRejectedWithError('Class name "1Clazz" is invalid.'); + }); }); diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index c496c0931545..d887a524b0d7 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -209,7 +209,7 @@ describe('Component Schematic', () => { await expectAsync( schematicRunner.runSchematicAsync('component', options, appTree).toPromise(), - ).toBeRejectedWithError('Selector (app-1-one) is invalid.'); + ).toBeRejectedWithError('Selector "app-1-one" is invalid.'); }); it('should use the default project prefix if none is passed', async () => { diff --git a/packages/schematics/angular/enum/index_spec.ts b/packages/schematics/angular/enum/index_spec.ts index 4279bf53a7fe..82327dea1c86 100644 --- a/packages/schematics/angular/enum/index_spec.ts +++ b/packages/schematics/angular/enum/index_spec.ts @@ -73,4 +73,12 @@ describe('Enum Schematic', () => { const tree = await schematicRunner.runSchematicAsync('enum', options, appTree).toPromise(); expect(tree.files).toContain('/projects/bar/src/app/foo.enum.ts'); }); + + it('should error when class name contains invalid characters', async () => { + const options = { ...defaultOptions, name: '1Clazz' }; + + await expectAsync( + schematicRunner.runSchematicAsync('enum', options, appTree).toPromise(), + ).toBeRejectedWithError('Class name "1Clazz" is invalid.'); + }); }); diff --git a/packages/schematics/angular/module/index.ts b/packages/schematics/angular/module/index.ts index 6c599c418bce..dfd52bdf35ef 100644 --- a/packages/schematics/angular/module/index.ts +++ b/packages/schematics/angular/module/index.ts @@ -33,6 +33,7 @@ import { findModuleFromOptions, } from '../utility/find-module'; import { parseName } from '../utility/parse-name'; +import { validateClassName } from '../utility/validation'; import { createDefaultPath } from '../utility/workspace'; import { Schema as ModuleOptions, RoutingScope } from './schema'; @@ -149,6 +150,7 @@ export default function (options: ModuleOptions): Rule { const parsedPath = parseName(options.path, options.name); options.name = parsedPath.name; options.path = parsedPath.path; + validateClassName(strings.classify(options.name)); const templateSource = apply(url('./files'), [ options.routing || (isLazyLoadedModuleGen && routingModulePath) diff --git a/packages/schematics/angular/module/index_spec.ts b/packages/schematics/angular/module/index_spec.ts index 3d759ab628de..0bbb9f22c64b 100644 --- a/packages/schematics/angular/module/index_spec.ts +++ b/packages/schematics/angular/module/index_spec.ts @@ -71,6 +71,15 @@ describe('Module Schematic', () => { expect(content).toMatch(/imports: \[[^\]]*FooModule[^\]]*\]/m); }); + it('should import into another module when using flat', async () => { + const options = { ...defaultOptions, flat: true, module: 'app.module.ts' }; + + const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const content = tree.readContent('/projects/bar/src/app/app.module.ts'); + expect(content).toMatch(/import { FooModule } from '.\/foo.module'/); + expect(content).toMatch(/imports: \[[^\]]*FooModule[^\]]*\]/m); + }); + it('should import into another module (deep)', async () => { let tree = appTree; diff --git a/packages/schematics/angular/pipe/index.ts b/packages/schematics/angular/pipe/index.ts index 5d6af0b6b1ab..d7ca4a153c03 100644 --- a/packages/schematics/angular/pipe/index.ts +++ b/packages/schematics/angular/pipe/index.ts @@ -8,7 +8,6 @@ import { Rule, - SchematicsException, Tree, apply, applyTemplates, @@ -25,6 +24,7 @@ import { addDeclarationToModule, addExportToModule } from '../utility/ast-utils' import { InsertChange } from '../utility/change'; import { buildRelativePath, findModuleFromOptions } from '../utility/find-module'; import { parseName } from '../utility/parse-name'; +import { validateClassName } from '../utility/validation'; import { createDefaultPath } from '../utility/workspace'; import { Schema as PipeOptions } from './schema'; @@ -84,15 +84,13 @@ function addDeclarationToNgModule(options: PipeOptions): Rule { export default function (options: PipeOptions): Rule { return async (host: Tree) => { - if (options.path === undefined) { - options.path = await createDefaultPath(host, options.project as string); - } - + options.path ??= await createDefaultPath(host, options.project as string); options.module = findModuleFromOptions(host, options); const parsedPath = parseName(options.path, options.name); options.name = parsedPath.name; options.path = parsedPath.path; + validateClassName(strings.classify(options.name)); const templateSource = apply(url('./files'), [ options.skipTests ? filter((path) => !path.endsWith('.spec.ts.template')) : noop(), diff --git a/packages/schematics/angular/pipe/index_spec.ts b/packages/schematics/angular/pipe/index_spec.ts index a4533ebbdca0..083b00a901c3 100644 --- a/packages/schematics/angular/pipe/index_spec.ts +++ b/packages/schematics/angular/pipe/index_spec.ts @@ -154,4 +154,12 @@ describe('Pipe Schematic', () => { expect(pipeContent).toContain('class FooPipe'); expect(moduleContent).not.toContain('FooPipe'); }); + + it('should error when class name contains invalid characters', async () => { + const options = { ...defaultOptions, name: '1Clazz' }; + + await expectAsync( + schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(), + ).toBeRejectedWithError('Class name "1Clazz" is invalid.'); + }); }); diff --git a/packages/schematics/angular/utility/generate-from-files.ts b/packages/schematics/angular/utility/generate-from-files.ts index b4be7c66ea12..d62b02bc92ad 100644 --- a/packages/schematics/angular/utility/generate-from-files.ts +++ b/packages/schematics/angular/utility/generate-from-files.ts @@ -20,6 +20,7 @@ import { url, } from '@angular-devkit/schematics'; import { parseName } from './parse-name'; +import { validateClassName } from './validation'; import { createDefaultPath } from './workspace'; export interface GenerateFromFilesOptions { @@ -44,6 +45,8 @@ export function generateFromFiles( options.name = parsedPath.name; options.path = parsedPath.path; + validateClassName(strings.classify(options.name)); + const templateSource = apply(url('./files'), [ options.skipTests ? filter((path) => !path.endsWith('.spec.ts.template')) : noop(), applyTemplates({ diff --git a/packages/schematics/angular/utility/validation.ts b/packages/schematics/angular/utility/validation.ts index 80ba0cd784da..619fe8e924b3 100644 --- a/packages/schematics/angular/utility/validation.ts +++ b/packages/schematics/angular/utility/validation.ts @@ -12,8 +12,17 @@ import { SchematicsException } from '@angular-devkit/schematics'; // When adding a dash the segment after the dash must also start with a letter. export const htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/; +// See: https://github.com/tc39/proposal-regexp-unicode-property-escapes/blob/fe6d07fad74cd0192d154966baa1e95e7cda78a1/README.md#other-examples +const ecmaIdentifierNameRegExp = /^(?:[$_\p{ID_Start}])(?:[$_\u200C\u200D\p{ID_Continue}])*$/u; + export function validateHtmlSelector(selector: string): void { if (selector && !htmlSelectorRe.test(selector)) { - throw new SchematicsException(`Selector (${selector}) is invalid.`); + throw new SchematicsException(`Selector "${selector}" is invalid.`); + } +} + +export function validateClassName(className: string): void { + if (!ecmaIdentifierNameRegExp.test(className)) { + throw new SchematicsException(`Class name "${className}" is invalid.`); } } From 6a142a22f8f1005f5a40a06a5bba85213f77ce3f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 21 Jul 2022 16:21:50 -0400 Subject: [PATCH 0698/1388] fix(@angular-devkit/build-angular): allow the esbuild-based builder to fully resolve global stylesheet packages The esbuild-based experimental builder will now leverage the bundler to perform resolution of CSS imports. This allows for more comprehensive resolution including packages which use the `sass` and/or `style` custom conditions within a `package.json` exports field. --- .../src/builders/browser-esbuild/index.ts | 6 ++++- .../builders/browser-esbuild/stylesheets.ts | 4 ++-- .../src/webpack/configs/styles.ts | 22 +++++++++++-------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 3e49db280625..73c09506b46b 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -149,7 +149,10 @@ export async function buildEsbuildBrowser( const { entryPoints: stylesheetEntrypoints, noInjectNames } = resolveGlobalStyles( options.styles, workspaceRoot, - !!options.preserveSymlinks, + // preserveSymlinks is always true here to allow the bundler to handle the option + true, + // skipResolution to leverage the bundler's more comprehensive resolution + true, ); for (const [name, files] of Object.entries(stylesheetEntrypoints)) { const virtualEntryData = files @@ -164,6 +167,7 @@ export async function buildEsbuildBrowser( sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, includePaths: options.stylePreprocessorOptions?.includePaths, + preserveSymlinks: options.preserveSymlinks, }, ); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index b36f481dbb4f..81ef5c5286f7 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -38,8 +38,8 @@ async function bundleStylesheet( write: false, platform: 'browser', preserveSymlinks: options.preserveSymlinks, - conditions: ['style'], - mainFields: ['style'], + conditions: ['style', 'sass'], + mainFields: ['style', 'sass'], plugins: [ createSassPlugin({ sourcemap: !!options.sourcemap, includePaths: options.includePaths }), ], diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index e1ecba8216ea..f522790b68b6 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -30,6 +30,7 @@ export function resolveGlobalStyles( styleEntrypoints: StyleElement[], root: string, preserveSymlinks: boolean, + skipResolution = false, ): { entryPoints: Record; noInjectNames: string[]; paths: string[] } { const entryPoints: Record = {}; const noInjectNames: string[] = []; @@ -40,22 +41,25 @@ export function resolveGlobalStyles( } for (const style of normalizeExtraEntryPoints(styleEntrypoints, 'styles')) { - let resolvedPath = path.resolve(root, style.input); - if (!fs.existsSync(resolvedPath)) { - try { - resolvedPath = require.resolve(style.input, { paths: [root] }); - } catch {} + let stylesheetPath = style.input; + if (!skipResolution) { + stylesheetPath = path.resolve(root, stylesheetPath); + if (!fs.existsSync(stylesheetPath)) { + try { + stylesheetPath = require.resolve(style.input, { paths: [root] }); + } catch {} + } } if (!preserveSymlinks) { - resolvedPath = fs.realpathSync(resolvedPath); + stylesheetPath = fs.realpathSync(stylesheetPath); } // Add style entry points. if (entryPoints[style.bundleName]) { - entryPoints[style.bundleName].push(resolvedPath); + entryPoints[style.bundleName].push(stylesheetPath); } else { - entryPoints[style.bundleName] = [resolvedPath]; + entryPoints[style.bundleName] = [stylesheetPath]; } // Add non injected styles to the list. @@ -64,7 +68,7 @@ export function resolveGlobalStyles( } // Add global css paths. - paths.push(resolvedPath); + paths.push(stylesheetPath); } return { entryPoints, noInjectNames, paths }; From c2c4cac13c0ee8788848b90a4530e4741d104cde Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 22 Jul 2022 12:22:19 +0000 Subject: [PATCH 0699/1388] test(@angular-devkit/build-angular): remove invalid project extensions from test projects This causes logs to be printed during test runs. --- .../build_angular/test/hello-world-app/angular.json | 1 - .../angular_devkit/build_webpack/test/angular-app/angular.json | 1 - .../angular_devkit/build_webpack/test/basic-app/angular.json | 1 - 3 files changed, 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json index cb74000e4e8c..0200444814cc 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json @@ -8,7 +8,6 @@ } }, "schematics": {}, - "targets": {}, "projects": { "app": { "root": "src", diff --git a/packages/angular_devkit/build_webpack/test/angular-app/angular.json b/packages/angular_devkit/build_webpack/test/angular-app/angular.json index 754affc9e1d5..3bb325a1d073 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/angular.json +++ b/packages/angular_devkit/build_webpack/test/angular-app/angular.json @@ -8,7 +8,6 @@ } }, "schematics": {}, - "targets": {}, "projects": { "app": { "root": "src", diff --git a/packages/angular_devkit/build_webpack/test/basic-app/angular.json b/packages/angular_devkit/build_webpack/test/basic-app/angular.json index 7055d4a8620a..5620c21f7ff8 100644 --- a/packages/angular_devkit/build_webpack/test/basic-app/angular.json +++ b/packages/angular_devkit/build_webpack/test/basic-app/angular.json @@ -4,7 +4,6 @@ "newProjectRoot": "./projects", "cli": {}, "schematics": {}, - "targets": {}, "projects": { "app": { "root": "src", From aa83feb373e7c7680b92d0d53248f12b703f60e0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 22 Jul 2022 12:50:15 +0000 Subject: [PATCH 0700/1388] fix(@angular-devkit/build-angular): correctly set `ngDevMode` in esbuilder During development we should not set `ngDevMode` to `true`, as this is expected to be an object literal. Closes #23627 --- .../build_angular/src/builders/browser-esbuild/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 73c09506b46b..3dc86fee2eb8 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -346,7 +346,7 @@ async function bundleCode( ), ], define: { - 'ngDevMode': optimizationOptions.scripts ? 'false' : 'true', + ...(optimizationOptions.scripts ? { 'ngDevMode': 'false' } : undefined), 'ngJitMode': 'false', }, }); From f93de8071f58a176764bfeab5c63bb208c3a6765 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 22 Jul 2022 17:18:55 +0000 Subject: [PATCH 0701/1388] fix(@angular/create): use appropriate package manager to install dependencies Previously, NPM was always used to install dependencies even when using `yarn create` or `pnpm create`. Closes #23617 --- packages/angular/create/README.md | 14 ++++++++++---- packages/angular/create/src/index.ts | 12 +++++++++++- tests/legacy-cli/e2e/tests/misc/create-angular.ts | 9 +++++++-- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/angular/create/README.md b/packages/angular/create/README.md index d95936e77ef3..ea76ef2a6a62 100644 --- a/packages/angular/create/README.md +++ b/packages/angular/create/README.md @@ -1,19 +1,25 @@ # `@angular/create` -# Create an Angular CLI workspace +## Create an Angular CLI workspace Scaffold an Angular CLI workspace without needing to install the Angular CLI globally. All of the [ng new](https://angular.io/cli/new) options and features are supported. -# Usage +## Usage -NPM +### npm ``` npm init @angular [project-name] -- [...options] ``` -Yarn +### yarn ``` yarn create @angular [project-name] [...options] ``` + +### pnpm + +``` +pnpm create @angular [project-name] [...options] +``` diff --git a/packages/angular/create/src/index.ts b/packages/angular/create/src/index.ts index 040a603bb106..2833649c9c61 100644 --- a/packages/angular/create/src/index.ts +++ b/packages/angular/create/src/index.ts @@ -11,9 +11,19 @@ import { spawnSync } from 'child_process'; import { join } from 'path'; const binPath = join(require.resolve('@angular/cli/package.json'), '../bin/ng.js'); +const args = process.argv.slice(2); + +const hasPackageManagerArg = args.some((a) => a.startsWith('--package-manager')); +if (!hasPackageManagerArg) { + // Ex: yarn/1.22.18 npm/? node/v16.15.1 linux x64 + const packageManager = process.env['npm_config_user_agent']?.split('/')[0]; + if (packageManager && ['npm', 'pnpm', 'yarn', 'cnpm'].includes(packageManager)) { + args.push('--package-manager', packageManager); + } +} // Invoke ng new with any parameters provided. -const { error } = spawnSync(process.execPath, [binPath, 'new', ...process.argv.slice(2)], { +const { error } = spawnSync(process.execPath, [binPath, 'new', ...args], { stdio: 'inherit', }); diff --git a/tests/legacy-cli/e2e/tests/misc/create-angular.ts b/tests/legacy-cli/e2e/tests/misc/create-angular.ts index b18decd0173a..3e57d7cc193f 100644 --- a/tests/legacy-cli/e2e/tests/misc/create-angular.ts +++ b/tests/legacy-cli/e2e/tests/misc/create-angular.ts @@ -1,5 +1,5 @@ import { join, resolve } from 'path'; -import { expectFileToExist, rimraf } from '../../utils/fs'; +import { expectFileToExist, readFile, rimraf } from '../../utils/fs'; import { getActivePackageManager } from '../../utils/packages'; import { silentNpm, silentYarn } from '../../utils/process'; @@ -26,7 +26,12 @@ export default async function () { throw new Error(`This test is not configured to use ${packageManager}.`); } - await expectFileToExist(join(projectName, 'angular.json')); + // Check that package manager has been configured based on the package manager used to invoke the create command. + const workspace = JSON.parse(await readFile(join(projectName, 'angular.json'))); + if (workspace.cli?.packageManager !== packageManager) { + throw new Error(`Expected 'packageManager' option to be configured to ${packageManager}.`); + } + // Verify styles was create with correct extension. await expectFileToExist(join(projectName, 'src/styles.scss')); } finally { From 3504b0827059e9576cb6b9cf269473f7156100c1 Mon Sep 17 00:00:00 2001 From: "angular-robot[bot]" <56403804+angular-robot[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 18:40:11 +0000 Subject: [PATCH 0702/1388] build: update `CODE_OF_CONDUCT.md` to match the content of `angular/.github` --- CODE_OF_CONDUCT.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000000..ea62c6239d4c --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,71 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an safe and welcoming environment, we as +the Angular team pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity, gender expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Use welcoming and inclusive language +* Respect each other +* Provide and gracefully accept constructive criticism +* Show empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* The use of sexualized language or imagery +* Unwelcome sexual attention or advances +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Angular team are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Angular team have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, and to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies to all Angular communication channels - online or in person, +and it also applies when an individual is representing the project or its community in +public spaces. Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the Angular team at conduct@angular.io. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The Angular team +will maintain confidentiality with regard to the reporter of an incident. +Enforcement may result in an indefinite ban from all official Angular communication +channels, or other actions as deemed appropriate by the Angular team. + +Angular maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html From 1b89fd43400455366a3054f6ada10fb0dae5a209 Mon Sep 17 00:00:00 2001 From: "angular-robot[bot]" <56403804+angular-robot[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 18:40:35 +0000 Subject: [PATCH 0703/1388] build: update `SECURITY.md` to match the content of `angular/.github` --- SECURITY.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000000..2cfda1a800cf --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,3 @@ +To report vulnerabilities in Angular itself, email us at security@angular.io. + +For more information on Angular's security policy visit: https://angular.io/guide/security From d55eada6c222ba2b075801081969e58daf78e729 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 25 Jul 2022 08:06:26 +0000 Subject: [PATCH 0704/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 8 +- .../angular_devkit/build_webpack/package.json | 2 +- .../schematic/files/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 203 ++++++++++++++++-- 7 files changed, 203 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 16ee0811c2ca..7989f15fec9e 100644 --- a/package.json +++ b/package.json @@ -139,8 +139,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.49", - "esbuild-wasm": "0.14.49", + "esbuild": "0.14.50", + "esbuild-wasm": "0.14.50", "eslint": "8.20.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -154,7 +154,7 @@ "ini": "3.0.0", "inquirer": "8.2.4", "jasmine": "^4.0.0", - "jasmine-core": "~4.2.0", + "jasmine-core": "~4.3.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", "jsonc-parser": "3.1.0", @@ -190,12 +190,12 @@ "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.4.2", + "puppeteer": "15.5.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.53.0", + "sass": "1.54.0", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -216,7 +216,7 @@ "typescript": "~4.7.2", "verdaccio": "5.13.3", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.73.0", + "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.9.3", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ffea4a4fa26d..473dbfa6d6d8 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.49", + "esbuild-wasm": "0.14.50", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.53.0", + "sass": "1.54.0", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", @@ -63,14 +63,14 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", - "webpack": "5.73.0", + "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.9.3", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.49" + "esbuild": "0.14.50" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index d125fa33dcf5..cf5d07bee2dd 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.73.0" + "webpack": "5.74.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 1f6c44ec4587..9dfc0bb9ef35 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -20,6 +20,6 @@ "devDependencies": { "@types/node": "^14.15.0", "@types/jasmine": "~4.0.0", - "jasmine": "~4.2.0" + "jasmine": "~4.3.0" } } diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 0213b9447145..f8c5972c5937 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "14.1.0", "@angular/compiler-cli": "14.1.0", "typescript": "~4.7.2", - "webpack": "5.73.0" + "webpack": "5.74.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 7beddfccc9c0..5746d69f8fa1 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -5,7 +5,7 @@ "dependencies": { "@types/jasmine": "~4.0.0", "@types/node": "^14.15.0", - "jasmine-core": "~4.2.0", + "jasmine-core": "~4.3.0", "jasmine-spec-reporter": "~7.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", diff --git a/yarn.lock b/yarn.lock index e9e1e7db15bc..4e35adc8b6d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4562,10 +4562,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A== -devtools-protocol@0.0.1011705: - version "0.0.1011705" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1011705.tgz#2582ed29f84848df83fba488122015540a744539" - integrity sha512-OKvTvu9n3swmgYshvsyVHYX0+aPzCoYUnyXUacfQMmFtBtBKewV/gT4I9jkAbpTqtTi2E4S9MXLlvzBDUlqg0Q== +devtools-protocol@0.0.1019158: + version "0.0.1019158" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz#4b08d06108a784a2134313149626ba55f030a86f" + integrity sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ== dezalgo@^1.0.0: version "1.0.4" @@ -4792,7 +4792,7 @@ engine.io@~6.2.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.9.3: +enhanced-resolve@^5.10.0, enhanced-resolve@^5.9.3: version "5.10.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== @@ -4947,6 +4947,11 @@ esbuild-android-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054" integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww== +esbuild-android-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" + integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== + esbuild-android-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" @@ -4957,6 +4962,11 @@ esbuild-android-arm64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6" integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g== +esbuild-android-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" + integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== + esbuild-darwin-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" @@ -4967,6 +4977,11 @@ esbuild-darwin-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1" integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg== +esbuild-darwin-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" + integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== + esbuild-darwin-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" @@ -4977,6 +4992,11 @@ esbuild-darwin-arm64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41" integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A== +esbuild-darwin-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" + integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== + esbuild-freebsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" @@ -4987,6 +5007,11 @@ esbuild-freebsd-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82" integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ== +esbuild-freebsd-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" + integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== + esbuild-freebsd-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" @@ -4997,6 +5022,11 @@ esbuild-freebsd-arm64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a" integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA== +esbuild-freebsd-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" + integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== + esbuild-linux-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" @@ -5007,6 +5037,11 @@ esbuild-linux-32@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf" integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA== +esbuild-linux-32@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" + integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== + esbuild-linux-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" @@ -5017,6 +5052,11 @@ esbuild-linux-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56" integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg== +esbuild-linux-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" + integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== + esbuild-linux-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" @@ -5027,6 +5067,11 @@ esbuild-linux-arm64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33" integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA== +esbuild-linux-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" + integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== + esbuild-linux-arm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" @@ -5037,6 +5082,11 @@ esbuild-linux-arm@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97" integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg== +esbuild-linux-arm@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" + integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== + esbuild-linux-mips64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" @@ -5047,6 +5097,11 @@ esbuild-linux-mips64le@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25" integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA== +esbuild-linux-mips64le@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" + integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== + esbuild-linux-ppc64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" @@ -5057,6 +5112,11 @@ esbuild-linux-ppc64le@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958" integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw== +esbuild-linux-ppc64le@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" + integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== + esbuild-linux-riscv64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" @@ -5067,6 +5127,11 @@ esbuild-linux-riscv64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49" integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ== +esbuild-linux-riscv64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" + integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== + esbuild-linux-s390x@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" @@ -5077,6 +5142,11 @@ esbuild-linux-s390x@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740" integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ== +esbuild-linux-s390x@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" + integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== + esbuild-netbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" @@ -5087,6 +5157,11 @@ esbuild-netbsd-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d" integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ== +esbuild-netbsd-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" + integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== + esbuild-openbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" @@ -5097,6 +5172,11 @@ esbuild-openbsd-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d" integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA== +esbuild-openbsd-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" + integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== + esbuild-sunos-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" @@ -5107,12 +5187,22 @@ esbuild-sunos-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a" integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw== +esbuild-sunos-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" + integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== + esbuild-wasm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-wasm@0.14.49, esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.50.tgz#f6163187968fb59003b20c779366f4eebfaf21a7" + integrity sha512-m8isoEF9+XUOpx+OjJOPUDQjlfO+7eGqlxIsVIxcJVixj8Hq/sJ4ViXkK4RMraJeizdEsjF4/luWVWWMZ43meQ== + +esbuild-wasm@^0.14.29: version "0.14.49" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz#5b0909b8172653f031163675341bdf4311a7a139" integrity sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q== @@ -5127,6 +5217,11 @@ esbuild-windows-32@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a" integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA== +esbuild-windows-32@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" + integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== + esbuild-windows-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" @@ -5137,6 +5232,11 @@ esbuild-windows-64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79" integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw== +esbuild-windows-64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" + integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== + esbuild-windows-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" @@ -5147,6 +5247,11 @@ esbuild-windows-arm64@0.14.49: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7" integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA== +esbuild-windows-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" + integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== + esbuild@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" @@ -5173,7 +5278,33 @@ esbuild@0.14.48: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" -esbuild@0.14.49, esbuild@^0.14.29: +esbuild@0.14.50: + version "0.14.50" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" + integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== + optionalDependencies: + esbuild-android-64 "0.14.50" + esbuild-android-arm64 "0.14.50" + esbuild-darwin-64 "0.14.50" + esbuild-darwin-arm64 "0.14.50" + esbuild-freebsd-64 "0.14.50" + esbuild-freebsd-arm64 "0.14.50" + esbuild-linux-32 "0.14.50" + esbuild-linux-64 "0.14.50" + esbuild-linux-arm "0.14.50" + esbuild-linux-arm64 "0.14.50" + esbuild-linux-mips64le "0.14.50" + esbuild-linux-ppc64le "0.14.50" + esbuild-linux-riscv64 "0.14.50" + esbuild-linux-s390x "0.14.50" + esbuild-netbsd-64 "0.14.50" + esbuild-openbsd-64 "0.14.50" + esbuild-sunos-64 "0.14.50" + esbuild-windows-32 "0.14.50" + esbuild-windows-64 "0.14.50" + esbuild-windows-arm64 "0.14.50" + +esbuild@^0.14.29: version "0.14.49" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492" integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw== @@ -6817,7 +6948,7 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.2.0, jasmine-core@~4.2.0: +jasmine-core@^4.1.0, jasmine-core@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.2.0.tgz#0605bea284d6d78276f43c47de2532ecd4a73b00" integrity sha512-OcFpBrIhnbmb9wfI8cqPSJ50pv3Wg4/NSgoZIqHzIwO/2a9qivJWzv8hUvaREIMYYJBas6AvfXATFdVuzzCqVw== @@ -6827,6 +6958,11 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== +jasmine-core@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.3.0.tgz#aee841fbe7373c2586ed8d8d48f5cc4a88be8390" + integrity sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg== + jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -9269,14 +9405,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.4.2.tgz#d61756844a9eea91e672ea6d9994aa939a23bdcb" - integrity sha512-RIxzCIU8aJWh3ruc63xcByRYHPYJsXn4VbrrPtVQfMFcfYOnBqUeJ0CstDVv/NEZGpwozIPZBNU6zqY4zIn7vg== +puppeteer@15.5.0: + version "15.5.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.5.0.tgz#446e01547ba0f47c37ac2148e5333433b4ecb371" + integrity sha512-+vZPU8iBSdCx1Kn5hHas80fyo0TiVyMeqLGv/1dygX2HKhAZjO9YThadbRTCoTYq0yWw+w/CysldPsEekDtjDQ== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.1011705" + devtools-protocol "0.0.1019158" extract-zip "2.0.1" https-proxy-agent "5.0.1" pkg-dir "4.2.0" @@ -9850,6 +9986,15 @@ sass@1.53.0, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.54.0: + version "1.54.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.0.tgz#24873673265e2a4fe3d3a997f714971db2fba1f4" + integrity sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 @@ -11263,7 +11408,7 @@ walk-up-path@^1.0.0: resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== -watchpack@^2.3.1: +watchpack@^2.3.1, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -11421,6 +11566,36 @@ webpack@5.73.0: watchpack "^2.3.1" webpack-sources "^3.2.3" +webpack@5.74.0: + version "5.74.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.7.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.10.0" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From 6e8808ef89d2ff9561f16f5edd030dffdab415e3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 25 Jul 2022 11:07:24 +0000 Subject: [PATCH 0705/1388] build: update chrome driver to `104.0.5112.29` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7989f15fec9e..d08f927851f2 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 103.0.5060.24", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 104.0.5112.29", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", "ts-circular-deps:check": "yarn -s ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", From f5ef73bc73f0f8aa0c5230ce1b5e84398bdebf4b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 25 Jul 2022 07:07:26 +0000 Subject: [PATCH 0706/1388] build: lock file maintenance --- yarn.lock | 755 +++++++++++++----------------------------------------- 1 file changed, 183 insertions(+), 572 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4e35adc8b6d9..c9ace0a331e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,23 +161,15 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.1.0": +"@angular/core@14.1.0", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.1.0" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.0.tgz#5a0fa164ca180027d4c54a5b70e7357918f9af9b" integrity sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.6.tgz#697d52ca9d772877a5138af26d1d9c5e7c267ade" - integrity sha512-hyQ3s9Yrm3ejhumgAC9ENhMFmvmPlJkk1tEOjruyoiHwK4EOaDpI+GCNQIBUB1Z3B/QLMlgZeMXrULQztjSQwg== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf": version "0.0.0-114c5a9e0c063e65dc42ded4d2ae07a3cca5418a" - uid b2da73b3dddddd6a253ee8ea48ef387b20f5aedf resolved "https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf" dependencies: "@angular-devkit/build-angular" "14.1.0-rc.3" @@ -285,12 +277,12 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6", "@babel/compat-data@^7.18.8": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.6", "@babel/compat-data@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== -"@babel/core@7.18.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ== @@ -311,7 +303,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.9": +"@babel/core@7.18.9", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== @@ -332,7 +324,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.7", "@babel/generator@^7.18.6", "@babel/generator@^7.18.7": +"@babel/generator@7.18.7": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== @@ -341,7 +333,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.9", "@babel/generator@^7.18.9": +"@babel/generator@7.18.9", "@babel/generator@^7.18.6", "@babel/generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== @@ -358,24 +350,14 @@ "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz#f14d640ed1ee9246fb33b8255f08353acfe70e6a" - integrity sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== dependencies: "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96" - integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg== - dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" - semver "^6.3.0" + "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.18.9": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.6", "@babel/helper-compilation-targets@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== @@ -386,16 +368,16 @@ semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz#6f15f8459f3b523b39e00a99982e2c040871ed72" - integrity sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" + integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-member-expression-to-functions" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.9" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-create-regexp-features-plugin@^7.18.6": @@ -406,26 +388,19 @@ "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== +"@babel/helper-define-polyfill-provider@^0.3.1", "@babel/helper-define-polyfill-provider@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" + integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" - integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== - -"@babel/helper-environment-visitor@^7.18.9": +"@babel/helper-environment-visitor@^7.18.6", "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== @@ -437,14 +412,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83" - integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw== - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.6" - "@babel/helper-function-name@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" @@ -460,13 +427,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.6.tgz#44802d7d602c285e1692db0bad9396d007be2afc" - integrity sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng== - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-member-expression-to-functions@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" @@ -474,28 +434,14 @@ dependencies: "@babel/types" "^7.18.9" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": +"@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.8.tgz#4f8408afead0188cfa48672f9d0e5787b61778c8" - integrity sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.8" - "@babel/types" "^7.18.8" - -"@babel/helper-module-transforms@^7.18.9": +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== @@ -516,38 +462,22 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d" - integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg== - -"@babel/helper-plugin-utils@^7.18.9": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== "@babel/helper-remap-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz#fa1f81acd19daee9d73de297c0308783cd3cfc23" - integrity sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-wrap-function" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-replace-supers@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.6.tgz#efedf51cfccea7b7b8c0f00002ab317e7abfe420" - integrity sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g== - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-member-expression-to-functions" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.9": +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== @@ -565,13 +495,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-skip-transparent-expression-wrappers@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.6.tgz#7dff00a5320ca4cf63270e5a0eca4b268b7380d9" - integrity sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw== - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" @@ -596,26 +519,17 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== -"@babel/helper-wrap-function@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz#ec44ea4ad9d8988b90c3e465ba2382f4de81a073" - integrity sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw== - dependencies: - "@babel/helper-function-name" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helpers@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.6.tgz#4c966140eaa1fcaa3d5a8c09d7db61077d4debfd" - integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ== +"@babel/helper-wrap-function@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz#ae1feddc6ebbaa2fd79346b77821c3bd73a39646" + integrity sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ== dependencies: + "@babel/helper-function-name" "^7.18.9" "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helpers@^7.18.9": +"@babel/helpers@^7.18.6", "@babel/helpers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== @@ -633,12 +547,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.8.tgz#822146080ac9c62dac0823bb3489622e0bc1cbdf" - integrity sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA== - -"@babel/parser@^7.18.9": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== @@ -650,16 +559,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.6.tgz#b4e4dbc2cd1acd0133479918f7c6412961c9adb8" - integrity sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== @@ -703,15 +603,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.6.tgz#1016f0aa5ab383bbf8b3a85a2dcaedf6c8ee7491" - integrity sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": +"@babel/plugin-proposal-export-namespace-from@^7.18.6", "@babel/plugin-proposal-export-namespace-from@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== @@ -727,15 +619,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.6.tgz#3b9cac6f1ffc2aa459d111df80c12020dfc6b665" - integrity sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": +"@babel/plugin-proposal-logical-assignment-operators@^7.18.6", "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== @@ -759,18 +643,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.6.tgz#ec93bba06bfb3e15ebd7da73e953d84b094d5daf" - integrity sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw== - dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.6" - -"@babel/plugin-proposal-object-rest-spread@^7.18.9": +"@babel/plugin-proposal-object-rest-spread@^7.18.6", "@babel/plugin-proposal-object-rest-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== @@ -789,16 +662,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.6.tgz#46d4f2ffc20e87fad1d98bc4fa5d466366f6aa0b" - integrity sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.9": +"@babel/plugin-proposal-optional-chaining@^7.18.6", "@babel/plugin-proposal-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== @@ -961,35 +825,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.6.tgz#b5f78318914615397d86a731ef2cc668796a726c" - integrity sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.18.9": +"@babel/plugin-transform-block-scoping@^7.18.6", "@babel/plugin-transform-block-scoping@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.18.6": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.8.tgz#7e85777e622e979c85c701a095280360b818ce49" - integrity sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.18.9": +"@babel/plugin-transform-classes@^7.18.6", "@babel/plugin-transform-classes@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== @@ -1003,28 +846,14 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.6.tgz#5d15eb90e22e69604f3348344c91165c5395d032" - integrity sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-computed-properties@^7.18.9": +"@babel/plugin-transform-computed-properties@^7.18.6", "@babel/plugin-transform-computed-properties@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.6.tgz#a98b0e42c7ffbf5eefcbcf33280430f230895c6f" - integrity sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-destructuring@^7.18.9": +"@babel/plugin-transform-destructuring@^7.18.6", "@babel/plugin-transform-destructuring@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== @@ -1039,14 +868,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.6.tgz#e6c94e8cd3c9dd8a88144f7b78ae22975a7ff473" - integrity sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": +"@babel/plugin-transform-duplicate-keys@^7.18.6", "@babel/plugin-transform-duplicate-keys@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== @@ -1068,16 +890,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.6.tgz#6a7e4ae2893d336fd1b8f64c9f92276391d0f1b4" - integrity sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA== - dependencies: - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.9": +"@babel/plugin-transform-function-name@^7.18.6", "@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== @@ -1086,14 +899,7 @@ "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.6.tgz#9d6af353b5209df72960baf4492722d56f39a205" - integrity sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-literals@^7.18.9": +"@babel/plugin-transform-literals@^7.18.6", "@babel/plugin-transform-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== @@ -1126,18 +932,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.6.tgz#026511b7657d63bf5d4cf2fd4aeb963139914a54" - integrity sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.18.9": +"@babel/plugin-transform-modules-systemjs@^7.18.6", "@babel/plugin-transform-modules-systemjs@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== @@ -1239,15 +1034,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.6.tgz#82b080241965f1689f0a60ecc6f1f6575dbdb9d6" - integrity sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" - -"@babel/plugin-transform-spread@^7.18.9": +"@babel/plugin-transform-spread@^7.18.6", "@babel/plugin-transform-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== @@ -1262,28 +1049,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.6.tgz#b763f4dc9d11a7cce58cf9a490d82e80547db9c2" - integrity sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": +"@babel/plugin-transform-template-literals@^7.18.6", "@babel/plugin-transform-template-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typeof-symbol@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.6.tgz#486bb39d5a18047358e0d04dc0d2f322f0b92e92" - integrity sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": +"@babel/plugin-transform-typeof-symbol@^7.18.6", "@babel/plugin-transform-typeof-symbol@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== @@ -1478,14 +1251,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.18.6", "@babel/runtime@^7.8.4": +"@babel/runtime@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.18.9": +"@babel/runtime@7.18.9", "@babel/runtime@^7.8.4": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== @@ -1501,23 +1274,7 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.8.tgz#f095e62ab46abf1da35e5a2011f43aee72d8d5b0" - integrity sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.7" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.8" - "@babel/types" "^7.18.8" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.18.9": +"@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== @@ -1533,15 +1290,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.8", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.8.tgz#c5af199951bf41ba4a6a9a6d0d8ad722b30cd42f" - integrity sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.9": +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== @@ -1964,10 +1713,10 @@ resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== -"@npmcli/config@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.1.0.tgz#5c92e5ded2a44baf76b94926646329c3b39e79b8" - integrity sha512-cPQmIQ2Q0vuOfrenrA3isikdMFMAHgzlXV+EmvZ8f2JeJsU5xTU2bG7ipXECiMvPF9nM+QDnMLuIg8QLw9H4xg== +"@npmcli/config@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.0.tgz#62b5d2b9cbf93fb2bc9f7cc947f25d7659ef849f" + integrity sha512-imWNz5dNWb2u+y41jyxL2WB389tkhu3a01Rchn16O/ur6GrnKySgOqdNG3N/9Z+mqxdISMEGKXI/POCauzz0dA== dependencies: "@npmcli/map-workspaces" "^2.0.2" ini "^3.0.0" @@ -1986,9 +1735,9 @@ ansi-styles "^4.3.0" "@npmcli/fs@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" - integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz#c0c480b03450d8b9fc086816a50cb682668a48bf" + integrity sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg== dependencies: "@gar/promisify" "^1.1.3" semver "^7.3.5" @@ -2492,9 +2241,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.0.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" - integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== + version "18.6.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5" + integrity sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg== "@types/node@12.20.24": version "12.20.24" @@ -2565,17 +2314,11 @@ "@types/parse5-sax-parser" "*" "@types/parse5-sax-parser@*": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/parse5-sax-parser/-/parse5-sax-parser-5.0.2.tgz#4cdca0f8bc0ce71b17e27b96e7ca9b5f79e861ff" - integrity sha512-EQtGoduLbdMmS4N27g6wcXdCCJ70dWYemfogWuumYg+JmzRqwYvTRAbGOYFortSHtS/qRzRCFwcP3ixy62RsdA== + version "7.0.0" + resolved "https://registry.yarnpkg.com/@types/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#6b6fd46ef05c3c58392fc4d915f07969f7ce1a90" + integrity sha512-wR3hG33tMsLOdqtcJT0XuGi1Ik3dTP+/ZWN1AckYmEagO/SWoL99GPyv21ZI/FAHOtYWB02TEV3+Y5zqkC4L+Q== dependencies: - "@types/node" "*" - "@types/parse5" "*" - -"@types/parse5@*": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" - integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== + parse5-sax-parser "*" "@types/pidusage@^2.0.1": version "2.0.2" @@ -2635,9 +2378,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz#aefb038f0462fd880f9c9581b8b3b71ce385719c" - integrity sha512-NxxZZek50ylIACiXebKQYHD3D4One3WXOasEXWazL6aTfYbZob7ClNKxUpg8I4/oWArX87oPWvj1cHKqfel3Hg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz#9c6d8d6bea08b312e890aaa5915fb2228fa62486" + integrity sha512-NCn1vqHC2hDgZmOuiDa4xgyo3FBZuqB+wXg5t8YcwnjIi2ufGTowqcnbUAKGHxY7z/OFfv4MnaVfuJ7gJ/xBsw== dependencies: "@types/ws" "*" @@ -3103,9 +2846,9 @@ acorn@^7.1.1: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.0.5, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== + version "8.8.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -3449,20 +3192,20 @@ babel-plugin-istanbul@6.1.1: test-exclude "^6.0.0" babel-plugin-polyfill-corejs2@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== + version "0.3.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" + integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.2" semver "^6.1.1" babel-plugin-polyfill-corejs3@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" + integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" + "@babel/helper-define-polyfill-provider" "^0.3.2" core-js-compat "^3.21.0" babel-plugin-polyfill-regenerator@^0.3.1: @@ -3576,9 +3319,9 @@ boolbase@^1.0.0: integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== bootstrap@^4.0.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.1.tgz#bc25380c2c14192374e8dec07cf01b2742d222a2" - integrity sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og== + version "4.6.2" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.2.tgz#8e0cd61611728a5bf65a3a2b8d6ff6c77d5d7479" + integrity sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ== brace-expansion@^1.1.7: version "1.1.11" @@ -3820,9 +3563,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001366: - version "1.0.30001367" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a" - integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== + version "1.0.30001370" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz#0a30d4f20d38b9e108cc5ae7cc62df9fe66cd5ba" + integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g== caseless@~0.12.0: version "0.12.0" @@ -3929,9 +3672,9 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-spinners@^2.5.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== cli-table3@^0.6.2: version "0.6.2" @@ -4214,9 +3957,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.23.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.5.tgz#11edce2f1c4f69a96d30ce77c805ce118909cd5b" - integrity sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg== + version "3.24.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.24.0.tgz#885958fac38bf3f4464a90f2663b4620f6aee6e3" + integrity sha512-F+2E63X3ff/nj8uIrf8Rf24UDGIz7p838+xjEp+Bx3y8OWXj+VTPPZNCtdqovPaS9o7Tka5mCH01Zn5vOd6UQg== dependencies: browserslist "^4.21.2" semver "7.0.0" @@ -4409,10 +4152,10 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-format@^4.0.10, date-format@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.11.tgz#ae0d1e069d7f0687938fd06f98c12f3a6276e526" - integrity sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw== +date-format@^4.0.11, date-format@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.13.tgz#87c3aab3a4f6f37582c5f5f63692d2956fa67890" + integrity sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ== dayjs@1.11.3: version "1.11.3" @@ -4727,9 +4470,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.188: - version "1.4.192" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.192.tgz#fac050058b3e0713b401a1088cc579e14c2ab165" - integrity sha512-8nCXyIQY9An88NXAp+PuPy5h3/w5ZY7Iu2lag65Q0XREprcat5F8gKhoHsBUnQcFuCRnmevpR8yEBYRU3d2HDw== + version "1.4.199" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz#e0384fde79fdda89880e8be58196a9153e04db3b" + integrity sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg== emoji-regex@^8.0.0: version "8.0.0" @@ -4810,6 +4553,11 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.1.tgz#c34062a94c865c322f9d67b4384e4169bcede6a4" + integrity sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -4942,11 +4690,6 @@ esbuild-android-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.48.tgz#7e6394a0e517f738641385aaf553c7e4fb6d1ae3" integrity sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg== -esbuild-android-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054" - integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww== - esbuild-android-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" @@ -4957,11 +4700,6 @@ esbuild-android-arm64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" integrity sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g== -esbuild-android-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6" - integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g== - esbuild-android-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" @@ -4972,11 +4710,6 @@ esbuild-darwin-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" integrity sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA== -esbuild-darwin-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1" - integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg== - esbuild-darwin-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" @@ -4987,11 +4720,6 @@ esbuild-darwin-arm64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" integrity sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA== -esbuild-darwin-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41" - integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A== - esbuild-darwin-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" @@ -5002,11 +4730,6 @@ esbuild-freebsd-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" integrity sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA== -esbuild-freebsd-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82" - integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ== - esbuild-freebsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" @@ -5017,11 +4740,6 @@ esbuild-freebsd-arm64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" integrity sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw== -esbuild-freebsd-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a" - integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA== - esbuild-freebsd-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" @@ -5032,11 +4750,6 @@ esbuild-linux-32@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" integrity sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ== -esbuild-linux-32@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf" - integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA== - esbuild-linux-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" @@ -5047,11 +4760,6 @@ esbuild-linux-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" integrity sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug== -esbuild-linux-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56" - integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg== - esbuild-linux-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" @@ -5062,11 +4770,6 @@ esbuild-linux-arm64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" integrity sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw== -esbuild-linux-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33" - integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA== - esbuild-linux-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" @@ -5077,11 +4780,6 @@ esbuild-linux-arm@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" integrity sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw== -esbuild-linux-arm@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97" - integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg== - esbuild-linux-arm@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" @@ -5092,11 +4790,6 @@ esbuild-linux-mips64le@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" integrity sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA== -esbuild-linux-mips64le@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25" - integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA== - esbuild-linux-mips64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" @@ -5107,11 +4800,6 @@ esbuild-linux-ppc64le@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" integrity sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ== -esbuild-linux-ppc64le@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958" - integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw== - esbuild-linux-ppc64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" @@ -5122,11 +4810,6 @@ esbuild-linux-riscv64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" integrity sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA== -esbuild-linux-riscv64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49" - integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ== - esbuild-linux-riscv64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" @@ -5137,11 +4820,6 @@ esbuild-linux-s390x@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" integrity sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g== -esbuild-linux-s390x@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740" - integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ== - esbuild-linux-s390x@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" @@ -5152,11 +4830,6 @@ esbuild-netbsd-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" integrity sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw== -esbuild-netbsd-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d" - integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ== - esbuild-netbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" @@ -5167,11 +4840,6 @@ esbuild-openbsd-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" integrity sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA== -esbuild-openbsd-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d" - integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA== - esbuild-openbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" @@ -5182,11 +4850,6 @@ esbuild-sunos-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" integrity sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA== -esbuild-sunos-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a" - integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw== - esbuild-sunos-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" @@ -5197,26 +4860,16 @@ esbuild-wasm@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-wasm@0.14.50: +esbuild-wasm@0.14.50, esbuild-wasm@^0.14.29: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.50.tgz#f6163187968fb59003b20c779366f4eebfaf21a7" integrity sha512-m8isoEF9+XUOpx+OjJOPUDQjlfO+7eGqlxIsVIxcJVixj8Hq/sJ4ViXkK4RMraJeizdEsjF4/luWVWWMZ43meQ== -esbuild-wasm@^0.14.29: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz#5b0909b8172653f031163675341bdf4311a7a139" - integrity sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q== - esbuild-windows-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.48.tgz#021ffceb0a3f83078262870da88a912293c57475" integrity sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg== -esbuild-windows-32@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a" - integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA== - esbuild-windows-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" @@ -5227,11 +4880,6 @@ esbuild-windows-64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" integrity sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA== -esbuild-windows-64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79" - integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw== - esbuild-windows-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" @@ -5242,11 +4890,6 @@ esbuild-windows-arm64@0.14.48: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" integrity sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g== -esbuild-windows-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7" - integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA== - esbuild-windows-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" @@ -5278,7 +4921,7 @@ esbuild@0.14.48: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" -esbuild@0.14.50: +esbuild@0.14.50, esbuild@^0.14.29: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== @@ -5304,32 +4947,6 @@ esbuild@0.14.50: esbuild-windows-64 "0.14.50" esbuild-windows-arm64 "0.14.50" -esbuild@^0.14.29: - version "0.14.49" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492" - integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw== - optionalDependencies: - esbuild-android-64 "0.14.49" - esbuild-android-arm64 "0.14.49" - esbuild-darwin-64 "0.14.49" - esbuild-darwin-arm64 "0.14.49" - esbuild-freebsd-64 "0.14.49" - esbuild-freebsd-arm64 "0.14.49" - esbuild-linux-32 "0.14.49" - esbuild-linux-64 "0.14.49" - esbuild-linux-arm "0.14.49" - esbuild-linux-arm64 "0.14.49" - esbuild-linux-mips64le "0.14.49" - esbuild-linux-ppc64le "0.14.49" - esbuild-linux-riscv64 "0.14.49" - esbuild-linux-s390x "0.14.49" - esbuild-netbsd-64 "0.14.49" - esbuild-openbsd-64 "0.14.49" - esbuild-sunos-64 "0.14.49" - esbuild-windows-32 "0.14.49" - esbuild-windows-64 "0.14.49" - esbuild-windows-arm64 "0.14.49" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5735,9 +5352,9 @@ fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + version "1.0.14" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz#9054384e4b7a78c88d01a4432dc18871af0ac859" + integrity sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA== fastq@^1.6.0: version "1.13.0" @@ -5940,14 +5557,14 @@ fs-extra@3.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" + jsonfile "^4.0.0" + universalify "^0.1.0" fs-extra@~7.0.1: version "7.0.1" @@ -6137,9 +5754,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: - version "13.16.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a" - integrity sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q== + version "13.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== dependencies: type-fest "^0.20.2" @@ -6948,21 +6565,16 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.2.0.tgz#0605bea284d6d78276f43c47de2532ecd4a73b00" - integrity sha512-OcFpBrIhnbmb9wfI8cqPSJ50pv3Wg4/NSgoZIqHzIwO/2a9qivJWzv8hUvaREIMYYJBas6AvfXATFdVuzzCqVw== +jasmine-core@^4.1.0, jasmine-core@^4.3.0, jasmine-core@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.3.0.tgz#aee841fbe7373c2586ed8d8d48f5cc4a88be8390" + integrity sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg== jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== -jasmine-core@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.3.0.tgz#aee841fbe7373c2586ed8d8d48f5cc4a88be8390" - integrity sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg== - jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -6988,12 +6600,12 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.2.1.tgz#55f81ab9d5d32f2645aa598d1356b6858407f4a9" - integrity sha512-LNZEKcScnjPRj5J92I1P515bxTvaHMRAERTyCoaGnWr87eOT6zv+b3M+kxKdH/06Gz4TnnXyHbXLiPtMHZ0ncw== + version "4.3.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.3.0.tgz#f99e9bc2a94e8281d2490482d53a3406760bd7f4" + integrity sha512-ieBmwkd8L1DXnvSnxx7tecXgA0JDgMXPAwBcqM4lLPedJeI9hTHuWifPynTC+dLe4Y+GkSPSlbqqrmYIgGzYUw== dependencies: glob "^7.1.6" - jasmine-core "^4.2.0" + jasmine-core "^4.3.0" jasminewd2@^2.1.0: version "2.2.0" @@ -7162,15 +6774,6 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -7748,10 +7351,10 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.8: - version "10.1.8" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz#3b6e93dd8d8fdb76c0d7bf32e617f37c3108435a" - integrity sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g== +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz#0bde3914f2f82750b5d48c6d2294d2c74f985e5b" + integrity sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -8290,10 +7893,10 @@ npm-profile@^6.2.0: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" -npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.2.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.2.0.tgz#8ba2e801bee45b6dfa428367ab42b7d8dea3bfce" - integrity sha512-NEKnK02Co31+cnDtnAvEdq9xn6E9yKPK/aOHXZieVbw/qVOcFd7su6kviZjImYoszjM2GykMfGMiyyPUQjUkag== +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz#0ce10fa4a699a1e70685ecf41bbfb4150d74231b" + integrity sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg== dependencies: make-fetch-happen "^10.0.6" minipass "^3.1.6" @@ -8316,14 +7919,14 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.14.0.tgz#4ffc167187b390e55492516bdf4a378d6b4f5b1e" - integrity sha512-wjDSM1GBwFUyqryw0jrWzFCFRlaiCZ9omNcnV3fLERqEYR4UsdRwR/SQCJNmri24yVvD+A/Ozr5p0V2WZVt6BQ== + version "8.15.0" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.15.0.tgz#d4b53cd29b13ea164f0f5767bca274dbe7d8f78d" + integrity sha512-sFXrMiO07eDWUb/e5ni2yNvtz2hePKqSyukUxYcQv0QHjyXCe+zKP7af/bISjcvsgRBWGyivk5V3KCZ0vg8J3Q== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" "@npmcli/ci-detect" "^2.0.0" - "@npmcli/config" "^4.1.0" + "@npmcli/config" "^4.2.0" "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" @@ -8355,7 +7958,7 @@ npm@^8.11.0: libnpmsearch "^5.0.2" libnpmteam "^4.0.2" libnpmversion "^3.0.1" - make-fetch-happen "^10.1.8" + make-fetch-happen "^10.2.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -8368,7 +7971,7 @@ npm@^8.11.0: npm-package-arg "^9.1.0" npm-pick-manifest "^7.0.1" npm-profile "^6.2.0" - npm-registry-fetch "^13.2.0" + npm-registry-fetch "^13.3.0" npm-user-validate "^1.0.1" npmlog "^6.0.2" opener "^1.5.2" @@ -8734,6 +8337,13 @@ parse5-htmlparser2-tree-adapter@^6.0.1: dependencies: parse5 "^6.0.1" +parse5-sax-parser@*: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#4c05064254f0488676aca75fb39ca069ec96dee5" + integrity sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg== + dependencies: + parse5 "^7.0.0" + parse5-sax-parser@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz#98b4d366b5b266a7cd90b4b58906667af882daba" @@ -8751,6 +8361,13 @@ parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== +parse5@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" + integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== + dependencies: + entities "^4.3.0" + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -9977,7 +9594,7 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.53.0, sass@^1.49.9: +sass@1.53.0: version "1.53.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.53.0.tgz#eab73a7baac045cc57ddc1d1ff501ad2659952eb" integrity sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ== @@ -9986,7 +9603,7 @@ sass@1.53.0, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.0: +sass@1.54.0, sass@^1.49.9: version "1.54.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.0.tgz#24873673265e2a4fe3d3a997f714971db2fba1f4" integrity sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ== @@ -9997,7 +9614,6 @@ sass@1.54.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10594,13 +10210,13 @@ stream-throttle@^0.1.3: limiter "^1.0.5" streamroller@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.1.tgz#679aae10a4703acdf2740755307df0a05ad752e6" - integrity sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.2.tgz#abd444560768b340f696307cf84d3f46e86c0e63" + integrity sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A== dependencies: - date-format "^4.0.10" + date-format "^4.0.13" debug "^4.3.4" - fs-extra "^10.1.0" + fs-extra "^8.1.0" string-argv@~0.3.1: version "0.3.1" @@ -11118,9 +10734,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.16.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.2.tgz#0481e1dbeed343ad1c2ddf3c6d42e89b7a6d4def" - integrity sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg== + version "3.16.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.3.tgz#94c7a63337ee31227a18d03b8a3041c210fd1f1d" + integrity sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw== unbox-primitive@^1.0.2: version "1.0.2" @@ -11190,11 +10806,6 @@ universalify@^0.1.0, universalify@^0.1.2: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - unix-crypt-td-js@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd" @@ -11206,9 +10817,9 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" - integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -11916,8 +11527,8 @@ z-schema@~5.0.2: commander "^2.20.3" zone.js@^0.11.3: - version "0.11.6" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.6.tgz#c7cacfc298fe24bb585329ca04a44d9e2e840e74" - integrity sha512-umJqFtKyZlPli669gB1gOrRE9hxUUGkZr7mo878z+NEBJZZixJkKeVYfnoLa7g25SseUDc92OZrMKKHySyJrFg== + version "0.11.7" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.7.tgz#262194267c7b964e8da77ce16b9fba9bea23cfdc" + integrity sha512-e39K2EdK5JfA3FDuUTVRvPlYV4aBfnOOcGuILhQAT7nzeV12uSrLBzImUM9CDVoncDSX4brR/gwqu0heQ3BQ0g== dependencies: tslib "^2.3.0" From 5677bee4e7b5bb0bee40209870c09fde7118c02c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 26 Jul 2022 09:15:17 +0000 Subject: [PATCH 0707/1388] build: add resolution for `@types/parse5-sax-parser` This resolution is needed as otherwise the incorrect version of `@types/parse5-sax-parser` is resolved from `@types/parse5-html-rewriting-stream` --- package.json | 3 ++- yarn.lock | 37 +++++++++++++++++++------------------ 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index d08f927851f2..4bac314c5e5f 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,8 @@ ] }, "resolutions": { - "**/ajv-formats/ajv": "8.11.0" + "**/ajv-formats/ajv": "8.11.0", + "@types/parse5-html-rewriting-stream/@types/parse5-sax-parser": "^5.0.2" }, "devDependencies": { "@ampproject/remapping": "2.2.0", diff --git a/yarn.lock b/yarn.lock index c9ace0a331e1..75d3a418e043 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2313,12 +2313,20 @@ dependencies: "@types/parse5-sax-parser" "*" -"@types/parse5-sax-parser@*": +"@types/parse5-sax-parser@*", "@types/parse5-sax-parser@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/parse5-sax-parser/-/parse5-sax-parser-5.0.2.tgz#4cdca0f8bc0ce71b17e27b96e7ca9b5f79e861ff" + integrity sha512-EQtGoduLbdMmS4N27g6wcXdCCJ70dWYemfogWuumYg+JmzRqwYvTRAbGOYFortSHtS/qRzRCFwcP3ixy62RsdA== + dependencies: + "@types/node" "*" + "@types/parse5" "*" + +"@types/parse5@*": version "7.0.0" - resolved "https://registry.yarnpkg.com/@types/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#6b6fd46ef05c3c58392fc4d915f07969f7ce1a90" - integrity sha512-wR3hG33tMsLOdqtcJT0XuGi1Ik3dTP+/ZWN1AckYmEagO/SWoL99GPyv21ZI/FAHOtYWB02TEV3+Y5zqkC4L+Q== + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-7.0.0.tgz#8b412a0a4461c84d6280a372bfa8c57a418a06bd" + integrity sha512-f2SeAxumolBmhuR62vNGTsSAvdz/Oj0k682xNrcKJ4dmRnTPODB74j6CPoNPzBPTHsu7Y7W7u93Mgp8Ovo8vWw== dependencies: - parse5-sax-parser "*" + parse5 "*" "@types/pidusage@^2.0.1": version "2.0.2" @@ -8337,13 +8345,6 @@ parse5-htmlparser2-tree-adapter@^6.0.1: dependencies: parse5 "^6.0.1" -parse5-sax-parser@*: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#4c05064254f0488676aca75fb39ca069ec96dee5" - integrity sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg== - dependencies: - parse5 "^7.0.0" - parse5-sax-parser@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz#98b4d366b5b266a7cd90b4b58906667af882daba" @@ -8351,6 +8352,13 @@ parse5-sax-parser@^6.0.1: dependencies: parse5 "^6.0.1" +parse5@*: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" + integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== + dependencies: + entities "^4.3.0" + parse5@6.0.1, parse5@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -8361,13 +8369,6 @@ parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parse5@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" - integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== - dependencies: - entities "^4.3.0" - parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" From 9b75c7cb9edc6a251060c01689187144cdcddcac Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 26 Jul 2022 19:35:29 -0700 Subject: [PATCH 0708/1388] test: remove exclusion of bazel tests based on manual tag --- .circleci/bazel.rc | 3 --- 1 file changed, 3 deletions(-) diff --git a/.circleci/bazel.rc b/.circleci/bazel.rc index 1b89d0bd6424..f4c1163eb7bb 100644 --- a/.circleci/bazel.rc +++ b/.circleci/bazel.rc @@ -7,9 +7,6 @@ build --announce_rc # Don't be spammy in the logs build --noshow_progress -# Don't run manual tests -test --test_tag_filters=-manual - # Workaround https://github.com/bazelbuild/bazel/issues/3645 # Bazel doesn't calculate the memory ceiling correctly when running under Docker. # Limit Bazel to consuming resources that fit in CircleCI "xlarge" class From 087ab46ca9e73b72aed90c76c335bd14b76ef111 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Wed, 27 Jul 2022 08:12:31 +0000 Subject: [PATCH 0709/1388] build: update dev-infra packages and account for build-tooling split from `ng-dev` The dev-infra build tooling is now decoupled from `ng-dev`. This will make it easier to update `ng-dev` without necessarily needing to upgrade the whole build system, Bazel etc. This is useful when e.g. new release tool features have been added and should also be ported to active LTS branches. --- .bazelrc | 4 +- .ng-dev/caretaker.mts | 2 +- .ng-dev/commit-message.mts | 2 +- .ng-dev/format.mts | 2 +- .ng-dev/github.mts | 2 +- .ng-dev/pull-request.mts | 2 +- .ng-dev/release.mts | 2 +- package.json | 5 +- packages/angular_devkit/architect/BUILD.bazel | 2 +- .../angular_devkit/build_angular/BUILD.bazel | 2 +- .../angular_devkit/build_webpack/BUILD.bazel | 2 +- packages/angular_devkit/core/BUILD.bazel | 2 +- .../angular_devkit/schematics/BUILD.bazel | 2 +- packages/ngtools/webpack/BUILD.bazel | 2 +- scripts/templates.ts | 2 +- tools/BUILD.bazel | 2 +- tools/defaults.bzl | 2 +- yarn.lock | 80 ++++++++++--------- 18 files changed, 63 insertions(+), 56 deletions(-) diff --git a/.bazelrc b/.bazelrc index ef377b58e139..7fe46b56c276 100644 --- a/.bazelrc +++ b/.bazelrc @@ -118,8 +118,8 @@ build:remote --jobs=150 # Setup the toolchain and platform for the remote build execution. The platform # is provided by the shared dev-infra package and targets k8 remote containers. -build:remote --crosstool_top=@npm//@angular/dev-infra-private/bazel/remote-execution/cpp:cc_toolchain_suite -build:remote --extra_toolchains=@npm//@angular/dev-infra-private/bazel/remote-execution/cpp:cc_toolchain +build:remote --crosstool_top=@npm//@angular/build-tooling/bazel/remote-execution/cpp:cc_toolchain_suite +build:remote --extra_toolchains=@npm//@angular/build-tooling/bazel/remote-execution/cpp:cc_toolchain build:remote --extra_execution_platforms=//tools:rbe_platform_with_network_access build:remote --host_platform=//tools:rbe_platform_with_network_access build:remote --platforms=//tools:rbe_platform_with_network_access diff --git a/.ng-dev/caretaker.mts b/.ng-dev/caretaker.mts index 4feac7d530f5..aeea38ccf355 100644 --- a/.ng-dev/caretaker.mts +++ b/.ng-dev/caretaker.mts @@ -1,4 +1,4 @@ -import { CaretakerConfig } from '@angular/dev-infra-private/ng-dev'; +import { CaretakerConfig } from '@angular/ng-dev'; /** The configuration for `ng-dev caretaker` commands. */ export const caretaker: CaretakerConfig = { diff --git a/.ng-dev/commit-message.mts b/.ng-dev/commit-message.mts index c8a3bcb8001d..2dd960387eac 100644 --- a/.ng-dev/commit-message.mts +++ b/.ng-dev/commit-message.mts @@ -1,4 +1,4 @@ -import { CommitMessageConfig } from '@angular/dev-infra-private/ng-dev'; +import { CommitMessageConfig } from '@angular/ng-dev'; import packages from '../lib/packages.js'; /** diff --git a/.ng-dev/format.mts b/.ng-dev/format.mts index 8e06c3bb9966..3cba8e9830a9 100644 --- a/.ng-dev/format.mts +++ b/.ng-dev/format.mts @@ -1,4 +1,4 @@ -import { FormatConfig } from '@angular/dev-infra-private/ng-dev'; +import { FormatConfig } from '@angular/ng-dev'; /** * Configuration for the `ng-dev format` command. diff --git a/.ng-dev/github.mts b/.ng-dev/github.mts index 60cc4be96865..b7d89780ba4b 100644 --- a/.ng-dev/github.mts +++ b/.ng-dev/github.mts @@ -1,4 +1,4 @@ -import { GithubConfig } from '@angular/dev-infra-private/ng-dev'; +import { GithubConfig } from '@angular/ng-dev'; /** * Github configuration for the ng-dev command. This repository is diff --git a/.ng-dev/pull-request.mts b/.ng-dev/pull-request.mts index 3d8c5e19d65c..6bbdae4b8783 100644 --- a/.ng-dev/pull-request.mts +++ b/.ng-dev/pull-request.mts @@ -1,4 +1,4 @@ -import { PullRequestConfig } from '@angular/dev-infra-private/ng-dev'; +import { PullRequestConfig } from '@angular/ng-dev'; /** * Configuration for the merge tool in `ng-dev`. This sets up the labels which diff --git a/.ng-dev/release.mts b/.ng-dev/release.mts index 95f857d1e0b9..8e2e2333b141 100644 --- a/.ng-dev/release.mts +++ b/.ng-dev/release.mts @@ -1,6 +1,6 @@ import '../lib/bootstrap-local.js'; -import { ReleaseConfig } from '@angular/dev-infra-private/ng-dev'; +import { ReleaseConfig } from '@angular/ng-dev'; import packages from '../lib/packages.js'; import buildPackages from '../scripts/build.js'; diff --git a/package.json b/package.json index 4bac314c5e5f..06d8b2dfcd14 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "build:bazel": "node ./bin/devkit-admin build-bazel", "build-tsc": "tsc -p tsconfig.json", "lint": "eslint --cache --max-warnings=0 \"**/*.ts\"", - "ng-dev": "cross-env TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json TS_NODE_TRANSPILE_ONLY=1 node --no-warnings --loader ts-node/esm node_modules/@angular/dev-infra-private/ng-dev/bundles/cli.mjs", + "ng-dev": "cross-env TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json TS_NODE_TRANSPILE_ONLY=1 node --no-warnings --loader ts-node/esm node_modules/@angular/ng-dev/bundles/cli.mjs", "templates": "node ./bin/devkit-admin templates", "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", @@ -66,15 +66,16 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1addc303bef0b6acc0dca0961e9e642629f3a5cd", "@angular/cdk": "14.1.0", "@angular/common": "14.1.0", "@angular/compiler": "14.1.0", "@angular/compiler-cli": "14.1.0", "@angular/core": "14.1.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf", "@angular/forms": "14.1.0", "@angular/localize": "14.1.0", "@angular/material": "14.1.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#865c7687cdca2bd512040330e1677eecaa26e46a", "@angular/platform-browser": "14.1.0", "@angular/platform-browser-dynamic": "14.1.0", "@angular/platform-server": "14.1.0", diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index 81b5eaf16583..d01ef9b03604 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -8,7 +8,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") # @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") # @external_end licenses(["notice"]) # MIT diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 2465b9bf7ff2..52fc3b73e1b4 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -6,7 +6,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) # MIT diff --git a/packages/angular_devkit/build_webpack/BUILD.bazel b/packages/angular_devkit/build_webpack/BUILD.bazel index 0c57feb90f9f..2cbde79ccf58 100644 --- a/packages/angular_devkit/build_webpack/BUILD.bazel +++ b/packages/angular_devkit/build_webpack/BUILD.bazel @@ -6,7 +6,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) # MIT diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 77f0175f1537..2ef8dcfcd0f7 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -2,7 +2,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") # @external_begin -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") # @external_end # Copyright Google Inc. All Rights Reserved. diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index 7feda19e6c64..b0ee2bcc10ba 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -2,7 +2,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") # @external_begin -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") # @external_end # Copyright Google Inc. All Rights Reserved. diff --git a/packages/ngtools/webpack/BUILD.bazel b/packages/ngtools/webpack/BUILD.bazel index 5031fd5b268a..9ee6ba2258fd 100644 --- a/packages/ngtools/webpack/BUILD.bazel +++ b/packages/ngtools/webpack/BUILD.bazel @@ -5,7 +5,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") -load("@npm//@angular/dev-infra-private/bazel/api-golden:index.bzl", "api_golden_test_npm_package") +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) # MIT diff --git a/scripts/templates.ts b/scripts/templates.ts index 432dfd6cf6ce..914daf6938e0 100644 --- a/scripts/templates.ts +++ b/scripts/templates.ts @@ -18,7 +18,7 @@ async function _runTemplate(inputPath: string, outputPath: string, logger: loggi // TODO(ESM): Consider making this an actual import statement. const { COMMIT_TYPES, ScopeRequirement } = await new Function( - `return import('@angular/dev-infra-private/ng-dev');`, + `return import('@angular/ng-dev');`, )(); const template = require(inputPath).default; diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel index 22bdbd33f1be..cecdad25f8ea 100644 --- a/tools/BUILD.bazel +++ b/tools/BUILD.bazel @@ -34,7 +34,7 @@ platform( exec_properties = { "dockerNetwork": "standard", }, - parents = ["@npm//@angular/dev-infra-private/bazel/remote-execution:platform"], + parents = ["@npm//@angular/build-tooling/bazel/remote-execution:platform"], ) # @external_end diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 4aa686bfaf0d..5a92fc5a0de3 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -3,7 +3,7 @@ load("@npm//@bazel/concatjs/internal:build_defs.bzl", _ts_library = "ts_library_macro") load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _js_library = "js_library", _pkg_npm = "pkg_npm") load("@rules_pkg//:pkg.bzl", "pkg_tar") -load("@npm//@angular/dev-infra-private/bazel:extract_js_module_output.bzl", "extract_js_module_output") +load("@npm//@angular/build-tooling/bazel:extract_js_module_output.bzl", "extract_js_module_output") load("@aspect_bazel_lib//lib:utils.bzl", "to_label") load("@aspect_bazel_lib//lib:jq.bzl", "jq") load("@aspect_bazel_lib//lib:copy_to_directory.bzl", "copy_to_directory") diff --git a/yarn.lock b/yarn.lock index 75d3a418e043..c258ab0c621d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,6 +122,42 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1addc303bef0b6acc0dca0961e9e642629f3a5cd": + version "0.0.0-fa61d03a603e04af2b66f3598f1af01da1e1cfb1" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1addc303bef0b6acc0dca0961e9e642629f3a5cd" + dependencies: + "@angular-devkit/build-angular" "14.1.0-rc.3" + "@angular/benchpress" "0.3.0" + "@babel/core" "^7.16.0" + "@bazel/buildifier" "5.1.0" + "@bazel/concatjs" "5.5.2" + "@bazel/esbuild" "5.5.2" + "@bazel/protractor" "5.5.2" + "@bazel/runfiles" "5.5.2" + "@bazel/terser" "5.5.2" + "@bazel/typescript" "5.5.2" + "@microsoft/api-extractor" "7.28.4" + "@types/browser-sync" "^2.26.3" + "@types/node" "16.10.9" + "@types/selenium-webdriver" "^4.0.18" + "@types/send" "^0.17.1" + "@types/tmp" "^0.2.1" + "@types/uuid" "^8.3.1" + "@types/yargs" "^17.0.0" + browser-sync "^2.27.7" + clang-format "1.8.0" + prettier "2.7.1" + protractor "^7.0.0" + selenium-webdriver "4.3.1" + send "^0.18.0" + source-map "^0.7.4" + tmp "^0.2.1" + "true-case-path" "^2.2.1" + tslib "^2.3.0" + typescript "~4.7.3" + uuid "^8.3.2" + yargs "^17.0.0" + "@angular/cdk@14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.0.tgz#abf5ad3cdd96e42666bce949833ac1c2405ab031" @@ -168,43 +204,6 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf": - version "0.0.0-114c5a9e0c063e65dc42ded4d2ae07a3cca5418a" - resolved "https://github.com/angular/dev-infra-private-builds.git#b2da73b3dddddd6a253ee8ea48ef387b20f5aedf" - dependencies: - "@angular-devkit/build-angular" "14.1.0-rc.3" - "@angular/benchpress" "0.3.0" - "@babel/core" "^7.16.0" - "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.5.2" - "@bazel/esbuild" "5.5.2" - "@bazel/protractor" "5.5.2" - "@bazel/runfiles" "5.5.2" - "@bazel/terser" "5.5.2" - "@bazel/typescript" "5.5.2" - "@microsoft/api-extractor" "7.28.4" - "@types/browser-sync" "^2.26.3" - "@types/node" "16.10.9" - "@types/selenium-webdriver" "^4.0.18" - "@types/send" "^0.17.1" - "@types/tmp" "^0.2.1" - "@types/uuid" "^8.3.1" - "@types/yargs" "^17.0.0" - "@yarnpkg/lockfile" "^1.1.0" - browser-sync "^2.27.7" - clang-format "1.8.0" - prettier "2.7.1" - protractor "^7.0.0" - selenium-webdriver "4.3.1" - send "^0.18.0" - source-map "^0.7.4" - tmp "^0.2.1" - "true-case-path" "^2.2.1" - tslib "^2.3.0" - typescript "~4.7.3" - uuid "^8.3.2" - yargs "^17.0.0" - "@angular/forms@14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.0.tgz#17a7ec211a11b75572d89359f08c277cfcdb1210" @@ -228,6 +227,13 @@ dependencies: tslib "^2.3.0" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#865c7687cdca2bd512040330e1677eecaa26e46a": + version "0.0.0-fa61d03a603e04af2b66f3598f1af01da1e1cfb1" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#865c7687cdca2bd512040330e1677eecaa26e46a" + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + typescript "~4.7.3" + "@angular/platform-browser-dynamic@14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz#9e30c5c4d2ff507402dcb36a5878068d8d900b81" From 96d39f8f3a6fcb56aa30cbf61dcd96dfcac55621 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Wed, 27 Jul 2022 08:14:10 +0000 Subject: [PATCH 0710/1388] build: use rbe platform with network from shared dev-infra build tooling This avoids having to manually declare the `platform`. We specifically added support for the network platform due to the CLI needs. The CLI repository should long-term set `--sandbox_default_allow_network=false` in the `bazelrc` so that internet access is only granted targets explicitly. We should discourage reliance on internet as much as possible to help with hermetic tests. --- .bazelrc | 6 +++--- tools/BUILD.bazel | 9 --------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/.bazelrc b/.bazelrc index 7fe46b56c276..6437f29b4580 100644 --- a/.bazelrc +++ b/.bazelrc @@ -120,9 +120,9 @@ build:remote --jobs=150 # is provided by the shared dev-infra package and targets k8 remote containers. build:remote --crosstool_top=@npm//@angular/build-tooling/bazel/remote-execution/cpp:cc_toolchain_suite build:remote --extra_toolchains=@npm//@angular/build-tooling/bazel/remote-execution/cpp:cc_toolchain -build:remote --extra_execution_platforms=//tools:rbe_platform_with_network_access -build:remote --host_platform=//tools:rbe_platform_with_network_access -build:remote --platforms=//tools:rbe_platform_with_network_access +build:remote --extra_execution_platforms=@npm//@angular/build-tooling/bazel/remote-execution:platform_with_network +build:remote --host_platform=@npm//@angular/build-tooling/bazel/remote-execution:platform_with_network +build:remote --platforms=@npm//@angular/build-tooling/bazel/remote-execution:platform_with_network # Set remote caching settings build:remote --remote_accept_cached=true diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel index cecdad25f8ea..c8cd4ad1ba77 100644 --- a/tools/BUILD.bazel +++ b/tools/BUILD.bazel @@ -28,13 +28,4 @@ nodejs_binary( entry_point = "quicktype_runner.js", templated_args = ["--bazel_patch_module_resolver"], ) - -platform( - name = "rbe_platform_with_network_access", - exec_properties = { - "dockerNetwork": "standard", - }, - parents = ["@npm//@angular/build-tooling/bazel/remote-execution:platform"], -) - # @external_end From 2e4925b6d6a46bc10a61f801ddc7e33188e33674 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Mon, 25 Jul 2022 16:10:09 -0700 Subject: [PATCH 0711/1388] test: revert local test project file changes on test completion --- .../e2e/tests/misc/supported-angular.ts | 18 ++++++++++-------- tests/legacy-cli/e2e_runner.ts | 12 +++++++----- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/supported-angular.ts b/tests/legacy-cli/e2e/tests/misc/supported-angular.ts index f4aea2539267..d5299485bb7f 100644 --- a/tests/legacy-cli/e2e/tests/misc/supported-angular.ts +++ b/tests/legacy-cli/e2e/tests/misc/supported-angular.ts @@ -24,12 +24,14 @@ export default async function () { // Major should succeed, but we don't need to test it here since it's tested everywhere else. // Major+1 and -1 should fail architect commands, but allow other commands. - await fakeCoreVersion(cliMajor + 1); - await expectToFail(() => ng('build'), 'Should fail Major+1'); - await ng('version'); - await fakeCoreVersion(cliMajor - 1); - await ng('version'); - - // Restore the original core package.json. - await writeFile(angularCorePkgPath, originalAngularCorePkgJson); + try { + await fakeCoreVersion(cliMajor + 1); + await expectToFail(() => ng('build'), 'Should fail Major+1'); + await ng('version'); + await fakeCoreVersion(cliMajor - 1); + await ng('version'); + } finally { + // Restore the original core package.json. + await writeFile(angularCorePkgPath, originalAngularCorePkgJson); + } } diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 150d81450083..2b2de6c8482b 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -242,13 +242,15 @@ async function runInitializer(absoluteName: string) { async function runTest(absoluteName: string) { process.chdir(join(getGlobalVariable('projects-root'), 'test-project')); - await launchTestProcess(absoluteName); - - logStack.push(new logging.NullLogger()); try { - await gitClean(); + await launchTestProcess(absoluteName); } finally { - logStack.pop(); + logStack.push(new logging.NullLogger()); + try { + await gitClean(); + } finally { + logStack.pop(); + } } } From 596037010a8113809657cebc9385d040922e6d86 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 27 Jul 2022 11:42:49 +0000 Subject: [PATCH 0712/1388] fix(@angular/cli): add missing space after period in warning text --- .../cli/src/command-builder/schematics-command-module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index eb7b0a26019d..0e3ec5ccd0e5 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -181,7 +181,7 @@ export abstract class SchematicsCommandModule if (property['format'] === 'path' && !property['$default']) { (options as Record)['path'] = workingDir || undefined; this.context.logger.warn( - `The 'path' option in '${schematic?.schema}' is using deprecated behaviour.` + + `The 'path' option in '${schematic?.schema}' is using deprecated behaviour. ` + `'workingDirectory' smart default provider should be used instead.`, ); } From fa0404daf4c56277e4b083b2de8448d75cb532a5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 22 Jul 2022 16:17:50 -0400 Subject: [PATCH 0713/1388] refactor(@angular-devkit/core): add allowed extensions options to JSON workspace reader Adjust the internal `readJsonWorkspace` to allow for future generalization of the allowed unprefixed extension fields for the workspace and project objects. Custom fields that start with a one to three lowercase letter prefix are still allowed in both locations. --- .../core/src/workspace/json/reader.ts | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index 50e5f0709c04..fa54e67ed004 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -20,17 +20,33 @@ import { WorkspaceHost } from '../host'; import { JsonWorkspaceMetadata, JsonWorkspaceSymbol } from './metadata'; import { createVirtualAstObject } from './utilities'; +const ANGULAR_WORKSPACE_EXTENSIONS = Object.freeze([ + 'cli', + 'defaultProject', + 'newProjectRoot', + 'schematics', +]); +const ANGULAR_PROJECT_EXTENSIONS = Object.freeze(['cli', 'schematics', 'projectType', 'i18n']); + interface ParserContext { readonly host: WorkspaceHost; readonly metadata: JsonWorkspaceMetadata; readonly trackChanges: boolean; + readonly unprefixedWorkspaceExtensions: ReadonlySet; + readonly unprefixedProjectExtensions: ReadonlySet; error(message: string, node: JsonValue): void; warn(message: string, node: JsonValue): void; } +export interface JsonWorkspaceOptions { + allowedProjectExtensions?: string[]; + allowedWorkspaceExtensions?: string[]; +} + export async function readJsonWorkspace( path: string, host: WorkspaceHost, + options: JsonWorkspaceOptions = {}, ): Promise { const raw = await host.readFile(path); if (raw === undefined) { @@ -56,6 +72,14 @@ export async function readJsonWorkspace( host, metadata: new JsonWorkspaceMetadata(path, ast, raw), trackChanges: true, + unprefixedWorkspaceExtensions: new Set([ + ...ANGULAR_WORKSPACE_EXTENSIONS, + ...(options.allowedWorkspaceExtensions ?? []), + ]), + unprefixedProjectExtensions: new Set([ + ...ANGULAR_PROJECT_EXTENSIONS, + ...(options.allowedProjectExtensions ?? []), + ]), error(message, _node) { // TODO: Diagnostic reporting support throw new Error(message); @@ -72,10 +96,6 @@ export async function readJsonWorkspace( return workspace; } -const specialWorkspaceExtensions = ['cli', 'defaultProject', 'newProjectRoot', 'schematics']; - -const specialProjectExtensions = ['cli', 'schematics', 'projectType', 'i18n']; - function parseWorkspace(workspaceNode: Node, context: ParserContext): WorkspaceDefinition { const jsonMetadata = context.metadata; let projects; @@ -99,7 +119,7 @@ function parseWorkspace(workspaceNode: Node, context: ParserContext): WorkspaceD projects = parseProjectsObject(nodes, context); } else { - if (!specialWorkspaceExtensions.includes(name) && !/^[a-z]{1,3}-.*/.test(name)) { + if (!context.unprefixedWorkspaceExtensions.has(name) && !/^[a-z]{1,3}-.*/.test(name)) { context.warn(`Project extension with invalid name (${name}) found.`, name); } if (extensions) { @@ -201,7 +221,7 @@ function parseProject( } break; default: - if (!specialProjectExtensions.includes(name) && !/^[a-z]{1,3}-.*/.test(name)) { + if (!context.unprefixedProjectExtensions.has(name) && !/^[a-z]{1,3}-.*/.test(name)) { context.warn(`Project extension with invalid name (${name}) found.`, name); } if (extensions) { From 1b953e693abd2b2750f7d23c1508aefb1dacc7eb Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 27 Jul 2022 06:05:58 +0000 Subject: [PATCH 0714/1388] build: update all non-major dependencies to v5.31.0 --- package.json | 4 +-- yarn.lock | 96 ++++++++++++++++++++++++++-------------------------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index 06d8b2dfcd14..87a2efd430c0 100644 --- a/package.json +++ b/package.json @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.30.7", - "@typescript-eslint/parser": "5.30.7", + "@typescript-eslint/eslint-plugin": "5.31.0", + "@typescript-eslint/parser": "5.31.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/yarn.lock b/yarn.lock index c258ab0c621d..27322939e484 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2531,14 +2531,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz#1621dabc1ae4084310e19e9efc80dfdbb97e7493" - integrity sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw== - dependencies: - "@typescript-eslint/scope-manager" "5.30.7" - "@typescript-eslint/type-utils" "5.30.7" - "@typescript-eslint/utils" "5.30.7" +"@typescript-eslint/eslint-plugin@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz#cae1967b1e569e6171bbc6bec2afa4e0c8efccfe" + integrity sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ== + dependencies: + "@typescript-eslint/scope-manager" "5.31.0" + "@typescript-eslint/type-utils" "5.31.0" + "@typescript-eslint/utils" "5.31.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2546,69 +2546,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.7.tgz#99d09729392aec9e64b1de45cd63cb81a4ddd980" - integrity sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A== +"@typescript-eslint/parser@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.31.0.tgz#7f42d7dcc68a0a6d80a0f3d9a65063aee7bb8d2c" + integrity sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw== dependencies: - "@typescript-eslint/scope-manager" "5.30.7" - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/typescript-estree" "5.30.7" + "@typescript-eslint/scope-manager" "5.31.0" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/typescript-estree" "5.31.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz#8269a931ef1e5ae68b5eb80743cc515c4ffe3dd7" - integrity sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw== +"@typescript-eslint/scope-manager@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz#f47a794ba84d9b818ab7f8f44fff55a61016c606" + integrity sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg== dependencies: - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/visitor-keys" "5.30.7" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/visitor-keys" "5.31.0" -"@typescript-eslint/type-utils@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz#5693dc3db6f313f302764282d614cfdbc8a9fcfd" - integrity sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw== +"@typescript-eslint/type-utils@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz#70a0b7201360b5adbddb0c36080495aa08f6f3d9" + integrity sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w== dependencies: - "@typescript-eslint/utils" "5.30.7" + "@typescript-eslint/utils" "5.31.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.7.tgz#18331487cc92d0f1fb1a6f580c8ec832528079d0" - integrity sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg== +"@typescript-eslint/types@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.31.0.tgz#7aa389122b64b18e473c1672fb3b8310e5f07a9a" + integrity sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g== -"@typescript-eslint/typescript-estree@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz#05da9f1b281985bfedcf62349847f8d168eecc07" - integrity sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA== +"@typescript-eslint/typescript-estree@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz#eb92970c9d6e3946690d50c346fb9b1d745ee882" + integrity sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw== dependencies: - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/visitor-keys" "5.30.7" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/visitor-keys" "5.31.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.7.tgz#7135be070349e9f7caa262b0ca59dc96123351bb" - integrity sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ== +"@typescript-eslint/utils@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.31.0.tgz#e146fa00dca948bfe547d665b2138a2dc1b79acd" + integrity sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.7" - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/typescript-estree" "5.30.7" + "@typescript-eslint/scope-manager" "5.31.0" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/typescript-estree" "5.31.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.7": - version "5.30.7" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz#c093abae75b4fd822bfbad9fc337f38a7a14909a" - integrity sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw== +"@typescript-eslint/visitor-keys@5.31.0": + version "5.31.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz#b0eca264df01ce85dceb76aebff3784629258f54" + integrity sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg== dependencies: - "@typescript-eslint/types" "5.30.7" + "@typescript-eslint/types" "5.31.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 44f918612a43566c7e761cdcbc7fc87f8cc172f9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 27 Jul 2022 11:38:11 +0000 Subject: [PATCH 0715/1388] fix(@angular/cli): catch clause variable is not an Error instance Errors thrown in RxJs are not instanceof Error and therefore the check will always fail. Closes #23631 --- packages/angular/cli/src/utilities/error.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/utilities/error.ts b/packages/angular/cli/src/utilities/error.ts index 1e7644690f12..3b37aafc9dc3 100644 --- a/packages/angular/cli/src/utilities/error.ts +++ b/packages/angular/cli/src/utilities/error.ts @@ -9,5 +9,9 @@ import assert from 'assert'; export function assertIsError(value: unknown): asserts value is Error & { code?: string } { - assert(value instanceof Error, 'catch clause variable is not an Error instance'); + const isError = + value instanceof Error || + // The following is needing to identify errors coming from RxJs. + (typeof value === 'object' && value && 'name' in value && 'message' in value); + assert(isError, 'catch clause variable is not an Error instance'); } From 8fd3e9fb3c15c848ac5d5e2ae1ee4b06daa2c957 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 27 Jul 2022 11:38:26 +0000 Subject: [PATCH 0716/1388] fix(@angular-devkit/build-angular): catch clause variable is not an Error instance Errors thrown in RxJs are not instanceof Error and therefore the check will always fail. Closes #23631 --- packages/angular_devkit/build_angular/src/utils/error.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/error.ts b/packages/angular_devkit/build_angular/src/utils/error.ts index 1e7644690f12..3b37aafc9dc3 100644 --- a/packages/angular_devkit/build_angular/src/utils/error.ts +++ b/packages/angular_devkit/build_angular/src/utils/error.ts @@ -9,5 +9,9 @@ import assert from 'assert'; export function assertIsError(value: unknown): asserts value is Error & { code?: string } { - assert(value instanceof Error, 'catch clause variable is not an Error instance'); + const isError = + value instanceof Error || + // The following is needing to identify errors coming from RxJs. + (typeof value === 'object' && value && 'name' in value && 'message' in value); + assert(isError, 'catch clause variable is not an Error instance'); } From ceb97bef248069e7b03aa87bfd622a66267a29fc Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 28 Jul 2022 08:06:59 +0000 Subject: [PATCH 0717/1388] build: update angular to aa644be --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ea3b5e4235e5..00d803f610c7 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a + - uses: angular/dev-infra/github-actions/post-approval-changes@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 02fbdb28d048..1a340c044863 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a + - uses: angular/dev-infra/github-actions/feature-request@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index f7dd5221a468..73e17ec75e80 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@114c5a9e0c063e65dc42ded4d2ae07a3cca5418a + - uses: angular/dev-infra/github-actions/lock-closed@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 198db7e9569a..b521f8329069 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#eb5ca2d73551cf13f5bc6639b746b36ee571c3f4", - "@angular/cdk": "github:angular/cdk-builds#95f97c5fc289ab9c75a604dd3659017de98d8e3d", - "@angular/common": "github:angular/common-builds#6095bb272ca29ec61375faa592861d9362a4c100", - "@angular/compiler": "github:angular/compiler-builds#80172abaf6bbfbdb33cfc28b32d92ff922ca9ea5", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#69e264f1ba843f9d6ea44b162ead8d3e8c17838f", - "@angular/core": "github:angular/core-builds#5d92f5d2d13ad07351fd12bf8253bd36a1f46c43", - "@angular/forms": "github:angular/forms-builds#96541330a10894842b6ac4e5ade83cd3dc5d7527", - "@angular/language-service": "github:angular/language-service-builds#4f653622380f6bbe469138790590d73ddedc57ff", - "@angular/localize": "github:angular/localize-builds#4adb61a4797b2c04559b7512e15d6f9f2dee133e", - "@angular/material": "github:angular/material-builds#49b47db040392c331a645210fb4ce053262273f6", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1e5c5eb2d75d4743f1d88dd0193da8954f7ae5c7", - "@angular/platform-browser": "github:angular/platform-browser-builds#d2f921795bc3ce72d930d71f26d972ea038bbbc9", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aeeeff87820a463a10ec5f34cba2a2991035d0cd", - "@angular/platform-server": "github:angular/platform-server-builds#6c36ef07146da5939fa960fc94c2eeaebfa7e4bb", - "@angular/router": "github:angular/router-builds#faad302abb682398af6d845e22519f99adcc3d74", - "@angular/service-worker": "github:angular/service-worker-builds#84a8d1fa81d497a0ea8e7bf46bb176f1249a31db" + "@angular/animations": "github:angular/animations-builds#aa644be6974fc81e874d31a7da97237616aa1033", + "@angular/cdk": "github:angular/cdk-builds#6643feab9dc6fcae0d196beee4eab10d9f07467b", + "@angular/common": "github:angular/common-builds#c5145e70f008fffe967876513569b6558235f14b", + "@angular/compiler": "github:angular/compiler-builds#b24d574b8ee3cc2da213f88c6f80c2cf3341c71c", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#fd6d436e4c217f82c998f6b7b0c3c9f6a5958954", + "@angular/core": "github:angular/core-builds#dccc31b4efb621be1b44dfb6d2ac091b9a015ef4", + "@angular/forms": "github:angular/forms-builds#9f81196d0a0a555c1f5e2cf8f9620d66f79a7ea4", + "@angular/language-service": "github:angular/language-service-builds#ca8f80aa0c1652dc81e8cd2d527e527a0171aef6", + "@angular/localize": "github:angular/localize-builds#a28439ab5680abe8a215908b105ab7c353cad79b", + "@angular/material": "github:angular/material-builds#c170c3a61ec5a003673db8e78a018dc6ff0bed71", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#682e65d04ebcf1a7492bfabee272c89ff22ad052", + "@angular/platform-browser": "github:angular/platform-browser-builds#0383f0c81ec3f878d38667e297caf29879207c06", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d13a36bba35237174fe940e3ca107ef5dfadc355", + "@angular/platform-server": "github:angular/platform-server-builds#f458d0a765bc994fe95726cd439ca2a346353fa0", + "@angular/router": "github:angular/router-builds#a2892d01b5616d8c9e88b6e93b99fcbefdec1ef4", + "@angular/service-worker": "github:angular/service-worker-builds#84ebcf9bde808ea079bee24ab92bc4fda08c7b3b" } } From acd5ad5ce13d25587fdc2a6b37441b123b375dd5 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 21 Jul 2022 12:02:14 -0700 Subject: [PATCH 0718/1388] test: move tempdir creation to util method --- tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts | 9 ++++----- .../e2e/tests/commands/completion/completion-prompt.ts | 5 +++-- .../e2e/tests/commands/completion/completion.ts | 4 ++-- tests/legacy-cli/e2e/utils/registry.ts | 5 ++--- tests/legacy-cli/e2e/utils/utils.ts | 8 ++++++++ 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts index f15e504daef1..07c5855a8394 100644 --- a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts +++ b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts @@ -1,9 +1,8 @@ -import { mkdtempSync, realpathSync } from 'fs'; -import { tmpdir } from 'os'; -import { dirname, join } from 'path'; +import { dirname } from 'path'; import { getGlobalVariable, setGlobalVariable } from '../utils/env'; +import { mktempd } from '../utils/utils'; -export default function () { +export default async function () { const argv = getGlobalVariable('argv'); // Get to a temporary directory. @@ -13,7 +12,7 @@ export default function () { } else if (argv.tmpdir) { tempRoot = argv.tmpdir; } else { - tempRoot = mkdtempSync(join(realpathSync(tmpdir()), 'angular-cli-e2e-')); + tempRoot = await mktempd('angular-cli-e2e-'); } console.log(` Using "${tempRoot}" as temporary directory for a new project.`); setGlobalVariable('tmp-root', tempRoot); diff --git a/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts index 2661b89d0564..7efb5795aa19 100644 --- a/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts @@ -1,8 +1,9 @@ import { promises as fs } from 'fs'; -import * as os from 'os'; import * as path from 'path'; import { env } from 'process'; import { getGlobalVariable } from '../../../utils/env'; +import { mktempd } from '../../../utils/utils'; + import { execAndCaptureError, execAndWaitForOutputToMatch, @@ -448,7 +449,7 @@ async function windowsTests(): Promise { } async function mockHome(cb: (home: string) => Promise): Promise { - const tempHome = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-e2e-home-')); + const tempHome = await mktempd('angular-cli-e2e-home-'); try { await cb(tempHome); diff --git a/tests/legacy-cli/e2e/tests/commands/completion/completion.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion.ts index 22c233aa3b40..2e8875c19193 100644 --- a/tests/legacy-cli/e2e/tests/commands/completion/completion.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion.ts @@ -1,7 +1,7 @@ import { promises as fs } from 'fs'; -import * as os from 'os'; import * as path from 'path'; import { getGlobalVariable } from '../../../utils/env'; +import { mktempd } from '../../../utils/utils'; import { execAndCaptureError, execAndWaitForOutputToMatch, @@ -397,7 +397,7 @@ async function windowsTests(): Promise { } async function mockHome(cb: (home: string) => Promise): Promise { - const tempHome = await fs.mkdtemp(path.join(os.tmpdir(), 'angular-cli-e2e-home-')); + const tempHome = await mktempd('angular-cli-e2e-home-'); try { await cb(tempHome); diff --git a/tests/legacy-cli/e2e/utils/registry.ts b/tests/legacy-cli/e2e/utils/registry.ts index 6b3b07ade96e..3cfee5f71405 100644 --- a/tests/legacy-cli/e2e/utils/registry.ts +++ b/tests/legacy-cli/e2e/utils/registry.ts @@ -1,9 +1,8 @@ import { spawn } from 'child_process'; -import { mkdtempSync, realpathSync } from 'fs'; -import { tmpdir } from 'os'; import { join } from 'path'; import { getGlobalVariable } from './env'; import { writeFile, readFile } from './fs'; +import { mktempd } from './utils'; export async function createNpmRegistry( port: number, @@ -11,7 +10,7 @@ export async function createNpmRegistry( withAuthentication = false, ) { // Setup local package registry - const registryPath = mkdtempSync(join(realpathSync(tmpdir()), 'angular-cli-e2e-registry-')); + const registryPath = await mktempd('angular-cli-e2e-registry-'); let configContent = await readFile( join(__dirname, '../../', withAuthentication ? 'verdaccio_auth.yaml' : 'verdaccio.yaml'), diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index da9557166602..da7b8b5921bc 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -1,3 +1,7 @@ +import { mkdtemp, realpath } from 'fs/promises'; +import { tmpdir } from 'os'; +import path from 'path'; + export function expectToFail(fn: () => Promise, errorMessage?: string): Promise { return fn().then( () => { @@ -18,3 +22,7 @@ export function wait(msecs: number): Promise { setTimeout(resolve, msecs); }); } + +export async function mktempd(prefix: string): Promise { + return realpath(await mkdtemp(path.join(tmpdir(), prefix))); +} From 35c43577d5677cb47f0f0e7781195bbf5eabc6f2 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 28 Jul 2022 10:23:42 -0700 Subject: [PATCH 0719/1388] test: use random e2e test ports (#23541) * test: use random e2e test ports * test: use random ng serve ports --- .../src/builders/dev-server/specs/works_spec.ts | 2 +- tests/legacy-cli/e2e/utils/project.ts | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts index 90ef75c2274b..edac384cca34 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts @@ -34,7 +34,7 @@ describe('Dev Server Builder', () => { expect(output.success).toBe(true); // When webpack-dev-server doesn't have `contentBase: false`, this will serve the repo README. - const response = await fetch('http://localhost:4200/README.md', { + const response = await fetch(`http://localhost:${output.port}/README.md`, { headers: { 'Accept': 'text/html', }, diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 200f14dcfbce..8a06b02b0eae 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -165,9 +165,17 @@ export function useCIDefaults(projectName = 'test-project') { const appTargets = project.targets || project.architect; appTargets.build.options.progress = false; appTargets.test.options.progress = false; - // Disable auto-updating webdriver in e2e. if (appTargets.e2e) { + // Disable auto-updating webdriver in e2e. appTargets.e2e.options.webdriverUpdate = false; + // Use a random port in e2e. + appTargets.e2e.options.port = 0; + } + + if (appTargets.serve) { + // Use a random port in serve. + appTargets.serve.options ??= {}; + appTargets.serve.options.port = 0; } }); } From 7c6a4000fb3d99a2a800ab74c54594f09747dd5e Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 20 Jul 2022 16:49:01 -0700 Subject: [PATCH 0720/1388] test: add shard and test type/name information to test logging --- tests/legacy-cli/e2e_runner.ts | 37 ++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 2b2de6c8482b..4d2b06cdbf6a 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -123,11 +123,19 @@ const tests = allTests.filter((name) => { const testsToRun = tests.filter((name, i) => shardId === null || i % nbShards == shardId); if (testsToRun.length === 0) { - console.log(`No tests would be ran, aborting.`); - process.exit(1); + if (shardId !== null && tests.length >= shardId ? 1 : 0) { + console.log(`No tests to run on shard ${shardId}, exiting.`); + process.exit(0); + } else { + console.log(`No tests would be ran, aborting.`); + process.exit(1); + } +} + +if (shardId !== null) { + console.log(`Running shard ${shardId} of ${nbShards}`); } -console.log(testsToRun.join('\n')); /** * Load all the files from the e2e, filter and sort them and build a promise of their default * export. @@ -138,6 +146,8 @@ if (testsToRun.length == allTests.length) { console.log(`Running ${testsToRun.length} tests (${allTests.length} total)`); } +console.log(['Tests:', ...testsToRun].join('\n ')); + setGlobalVariable('argv', argv); setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); @@ -156,7 +166,11 @@ Promise.all([findFreePort(), findFreePort()]) await runSteps(runInitializer, allInitializers, 'initializer'); await runSteps(runTest, testsToRun, 'test'); - console.log(colors.green('Done.')); + if (shardId !== null) { + console.log(colors.green(`Done shard ${shardId} of ${nbShards}.`)); + } else { + console.log(colors.green('Done.')); + } } catch (err) { if (err instanceof Error) { console.log('\n'); @@ -164,6 +178,8 @@ Promise.all([findFreePort(), findFreePort()]) if (err.stack) { console.error(colors.red(err.stack)); } + } else { + console.error(colors.red(String(err))); } if (argv.debug) { @@ -192,6 +208,8 @@ async function runSteps( steps: string[], type: 'setup' | 'test' | 'initializer', ) { + const capsType = type[0].toUpperCase() + type.slice(1); + for (const [stepIndex, relativeName] of steps.entries()) { // Make sure this is a windows compatible path. let absoluteName = path.join(e2eRoot, relativeName).replace(/\.ts$/, ''); @@ -210,7 +228,8 @@ async function runSteps( await run(absoluteName); } catch (e) { console.log('\n'); - console.error(colors.red(`Step "${absoluteName}" failed...`)); + console.error(colors.red(`${capsType} "${name}" failed...`)); + throw e; } finally { logStack.pop(); @@ -274,8 +293,14 @@ function printHeader( } function printFooter(testName: string, type: 'setup' | 'initializer' | 'test', startTime: number) { + const capsType = type[0].toUpperCase() + type.slice(1); + // Round to hundredth of a second. const t = Math.round((Date.now() - startTime) / 10) / 100; - console.log(colors.green(`Last ${type} took `) + colors.bold.blue('' + t) + colors.green('s...')); + console.log( + colors.green(`${capsType} "${colors.bold.blue(testName)}" took `) + + colors.bold.blue('' + t) + + colors.green('s...'), + ); console.log(''); } From 4db4fb0ea6ec5bab281a7ca66014721f0bf7ec9d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 29 Jul 2022 05:16:46 +0000 Subject: [PATCH 0721/1388] build: update github/codeql-action action to v2.1.17 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index aa6edc8bd37a..b82b51c23ca1 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@3e7e3b32d0fb8283594bb0a76cc60a00918b0969 # tag=v2.1.16 + uses: github/codeql-action/upload-sarif@0c670bbf0414f39666df6ce8e718ec5662c21e03 # tag=v2.1.17 with: sarif_file: results.sarif From c417802808e902bf004abe0c564f79b86e7f03d6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 29 Jul 2022 07:38:08 +0000 Subject: [PATCH 0722/1388] build: update aspect_bazel_lib to 1.8.1 --- WORKSPACE | 6 +++--- tools/defaults.bzl | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 449f243dfad4..003e2be10c22 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "58fab45b4419a5eaa340489d567a013e80334c8e4bd998288149cd7e39437586", - strip_prefix = "bazel-lib-1.7.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.7.0.tar.gz", + sha256 = "1cbbf62315d303c8083d5019a4657623d4f58e925fb51bdc8a41bad4a131f5c9", + strip_prefix = "bazel-lib-1.8.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.8.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 5a92fc5a0de3..50c21b3c82db 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -159,8 +159,8 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): "substituted_with_snapshot_repos/": "", "substituted/": "", }, - exclude_prefixes = [ - "packages", # Exclude compiled outputs of dependent packages + exclude_srcs_patterns = [ + "packages/**/*", # Exclude compiled outputs of dependent packages ], allow_overwrites = True, ) From e2892fce5e52b95429b49558a20fecab7a0a4779 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 29 Jul 2022 05:16:41 +0000 Subject: [PATCH 0723/1388] build: update angular to ad29881 --- .github/workflows/dev-infra.yml | 4 ++-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- yarn.lock | 14 ++++++++------ 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 00d803f610c7..87ddc20ef9aa 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@a234174980b29771d223451a338005a417d36530 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 + - uses: angular/dev-infra/github-actions/post-approval-changes@a234174980b29771d223451a338005a417d36530 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 1a340c044863..a672964486d0 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 + - uses: angular/dev-infra/github-actions/feature-request@a234174980b29771d223451a338005a417d36530 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 73e17ec75e80..c2c6c902fb82 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fa61d03a603e04af2b66f3598f1af01da1e1cfb1 + - uses: angular/dev-infra/github-actions/lock-closed@a234174980b29771d223451a338005a417d36530 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 87a2efd430c0..00c7be5f69fa 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1addc303bef0b6acc0dca0961e9e642629f3a5cd", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ad29881a78cf810fbb9547b79244cf8efd31ceb4", "@angular/cdk": "14.1.0", "@angular/common": "14.1.0", "@angular/compiler": "14.1.0", @@ -75,7 +75,7 @@ "@angular/forms": "14.1.0", "@angular/localize": "14.1.0", "@angular/material": "14.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#865c7687cdca2bd512040330e1677eecaa26e46a", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4c21a1af919f3deec04671400c7449ae6376121c", "@angular/platform-browser": "14.1.0", "@angular/platform-browser-dynamic": "14.1.0", "@angular/platform-server": "14.1.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index b521f8329069..5996e7afdcb5 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#aa644be6974fc81e874d31a7da97237616aa1033", - "@angular/cdk": "github:angular/cdk-builds#6643feab9dc6fcae0d196beee4eab10d9f07467b", + "@angular/cdk": "github:angular/cdk-builds#6ed1e6871b865180685a95e65a10bdad0a04733c", "@angular/common": "github:angular/common-builds#c5145e70f008fffe967876513569b6558235f14b", "@angular/compiler": "github:angular/compiler-builds#b24d574b8ee3cc2da213f88c6f80c2cf3341c71c", "@angular/compiler-cli": "github:angular/compiler-cli-builds#fd6d436e4c217f82c998f6b7b0c3c9f6a5958954", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#9f81196d0a0a555c1f5e2cf8f9620d66f79a7ea4", "@angular/language-service": "github:angular/language-service-builds#ca8f80aa0c1652dc81e8cd2d527e527a0171aef6", "@angular/localize": "github:angular/localize-builds#a28439ab5680abe8a215908b105ab7c353cad79b", - "@angular/material": "github:angular/material-builds#c170c3a61ec5a003673db8e78a018dc6ff0bed71", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#682e65d04ebcf1a7492bfabee272c89ff22ad052", + "@angular/material": "github:angular/material-builds#d8b0ae90502777c18318cfea8be3b996bf59b1b9", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c3c764554e90a364437079f257fd20f41638a1a7", "@angular/platform-browser": "github:angular/platform-browser-builds#0383f0c81ec3f878d38667e297caf29879207c06", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d13a36bba35237174fe940e3ca107ef5dfadc355", "@angular/platform-server": "github:angular/platform-server-builds#f458d0a765bc994fe95726cd439ca2a346353fa0", diff --git a/yarn.lock b/yarn.lock index 27322939e484..f2f332f89eaf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,9 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1addc303bef0b6acc0dca0961e9e642629f3a5cd": - version "0.0.0-fa61d03a603e04af2b66f3598f1af01da1e1cfb1" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1addc303bef0b6acc0dca0961e9e642629f3a5cd" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ad29881a78cf810fbb9547b79244cf8efd31ceb4": + version "0.0.0-a234174980b29771d223451a338005a417d36530" + uid ad29881a78cf810fbb9547b79244cf8efd31ceb4 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ad29881a78cf810fbb9547b79244cf8efd31ceb4" dependencies: "@angular-devkit/build-angular" "14.1.0-rc.3" "@angular/benchpress" "0.3.0" @@ -227,9 +228,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#865c7687cdca2bd512040330e1677eecaa26e46a": - version "0.0.0-fa61d03a603e04af2b66f3598f1af01da1e1cfb1" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#865c7687cdca2bd512040330e1677eecaa26e46a" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#4c21a1af919f3deec04671400c7449ae6376121c": + version "0.0.0-a234174980b29771d223451a338005a417d36530" + uid "4c21a1af919f3deec04671400c7449ae6376121c" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4c21a1af919f3deec04671400c7449ae6376121c" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" From f57cb7580d70575438d75027a521fee88dd25325 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 29 Jul 2022 09:09:28 +0000 Subject: [PATCH 0724/1388] build: update all non-major dependencies to v0.14.51 --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 135 +++++++++++++++++- 3 files changed, 137 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 00c7be5f69fa..824a506c2231 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.50", - "esbuild-wasm": "0.14.50", + "esbuild": "0.14.51", + "esbuild-wasm": "0.14.51", "eslint": "8.20.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 473dbfa6d6d8..19123047bf15 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.50", + "esbuild-wasm": "0.14.51", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.50" + "esbuild": "0.14.51" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index f2f332f89eaf..c4c927f8f176 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4711,6 +4711,11 @@ esbuild-android-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== +esbuild-android-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db" + integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ== + esbuild-android-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" @@ -4721,6 +4726,11 @@ esbuild-android-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== +esbuild-android-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151" + integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A== + esbuild-darwin-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" @@ -4731,6 +4741,11 @@ esbuild-darwin-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== +esbuild-darwin-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754" + integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA== + esbuild-darwin-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" @@ -4741,6 +4756,11 @@ esbuild-darwin-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== +esbuild-darwin-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a" + integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow== + esbuild-freebsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" @@ -4751,6 +4771,11 @@ esbuild-freebsd-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== +esbuild-freebsd-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38" + integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g== + esbuild-freebsd-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" @@ -4761,6 +4786,11 @@ esbuild-freebsd-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== +esbuild-freebsd-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec" + integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg== + esbuild-linux-32@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" @@ -4771,6 +4801,11 @@ esbuild-linux-32@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== +esbuild-linux-32@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9" + integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w== + esbuild-linux-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" @@ -4781,6 +4816,11 @@ esbuild-linux-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== +esbuild-linux-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae" + integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA== + esbuild-linux-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" @@ -4791,6 +4831,11 @@ esbuild-linux-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== +esbuild-linux-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93" + integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw== + esbuild-linux-arm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" @@ -4801,6 +4846,11 @@ esbuild-linux-arm@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== +esbuild-linux-arm@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106" + integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg== + esbuild-linux-mips64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" @@ -4811,6 +4861,11 @@ esbuild-linux-mips64le@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== +esbuild-linux-mips64le@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385" + integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A== + esbuild-linux-ppc64le@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" @@ -4821,6 +4876,11 @@ esbuild-linux-ppc64le@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== +esbuild-linux-ppc64le@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0" + integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ== + esbuild-linux-riscv64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" @@ -4831,6 +4891,11 @@ esbuild-linux-riscv64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== +esbuild-linux-riscv64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93" + integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA== + esbuild-linux-s390x@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" @@ -4841,6 +4906,11 @@ esbuild-linux-s390x@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== +esbuild-linux-s390x@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" + integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== + esbuild-netbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" @@ -4851,6 +4921,11 @@ esbuild-netbsd-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== +esbuild-netbsd-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891" + integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A== + esbuild-openbsd-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" @@ -4861,6 +4936,11 @@ esbuild-openbsd-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== +esbuild-openbsd-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8" + integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA== + esbuild-sunos-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" @@ -4871,12 +4951,22 @@ esbuild-sunos-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== +esbuild-sunos-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891" + integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA== + esbuild-wasm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-wasm@0.14.50, esbuild-wasm@^0.14.29: +esbuild-wasm@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.51.tgz#5baa9493c8f14dd4c65de9988f24c27491b55212" + integrity sha512-OTNkhLpwikiRAzN2tRfx7klShnKf32tpuspBRtJrKAG80LioFCydbHw4nPxsDQ6m8GjfFGRQaGl3yPUeaFHzBQ== + +esbuild-wasm@^0.14.29: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.50.tgz#f6163187968fb59003b20c779366f4eebfaf21a7" integrity sha512-m8isoEF9+XUOpx+OjJOPUDQjlfO+7eGqlxIsVIxcJVixj8Hq/sJ4ViXkK4RMraJeizdEsjF4/luWVWWMZ43meQ== @@ -4891,6 +4981,11 @@ esbuild-windows-32@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== +esbuild-windows-32@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17" + integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg== + esbuild-windows-64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" @@ -4901,6 +4996,11 @@ esbuild-windows-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== +esbuild-windows-64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d" + integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA== + esbuild-windows-arm64@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" @@ -4911,6 +5011,11 @@ esbuild-windows-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== +esbuild-windows-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" + integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== + esbuild@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" @@ -4937,7 +5042,33 @@ esbuild@0.14.48: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" -esbuild@0.14.50, esbuild@^0.14.29: +esbuild@0.14.51: + version "0.14.51" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e" + integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== + optionalDependencies: + esbuild-android-64 "0.14.51" + esbuild-android-arm64 "0.14.51" + esbuild-darwin-64 "0.14.51" + esbuild-darwin-arm64 "0.14.51" + esbuild-freebsd-64 "0.14.51" + esbuild-freebsd-arm64 "0.14.51" + esbuild-linux-32 "0.14.51" + esbuild-linux-64 "0.14.51" + esbuild-linux-arm "0.14.51" + esbuild-linux-arm64 "0.14.51" + esbuild-linux-mips64le "0.14.51" + esbuild-linux-ppc64le "0.14.51" + esbuild-linux-riscv64 "0.14.51" + esbuild-linux-s390x "0.14.51" + esbuild-netbsd-64 "0.14.51" + esbuild-openbsd-64 "0.14.51" + esbuild-sunos-64 "0.14.51" + esbuild-windows-32 "0.14.51" + esbuild-windows-64 "0.14.51" + esbuild-windows-arm64 "0.14.51" + +esbuild@^0.14.29: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== From cdbb48f7b2998dd46bd341dd95cec596b96b8fac Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 26 Jul 2022 14:08:07 +0000 Subject: [PATCH 0725/1388] test(@angular-devkit/build-angular): re-write live-reload tests to use new test harness. With this change we replace the live-reload proxy tests to use the new test harness. This is an effort to reduce the flakiness of these tests. --- .../serve-live-reload-proxies_spec.ts} | 236 ++++++++++-------- 1 file changed, 135 insertions(+), 101 deletions(-) rename packages/angular_devkit/build_angular/src/builders/dev-server/{specs/live-reload_spec.ts => tests/behavior/serve-live-reload-proxies_spec.ts} (59%) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve-live-reload-proxies_spec.ts similarity index 59% rename from packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts rename to packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve-live-reload-proxies_spec.ts index 857c6bff36bd..ae19605a0edd 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/live-reload_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve-live-reload-proxies_spec.ts @@ -7,14 +7,20 @@ */ /* eslint-disable import/no-extraneous-dependencies */ -import { Architect, BuilderRun } from '@angular-devkit/architect'; import { tags } from '@angular-devkit/core'; import { createServer } from 'http'; import { createProxyServer } from 'http-proxy'; import { AddressInfo } from 'net'; import puppeteer, { Browser, Page } from 'puppeteer'; -import { debounceTime, switchMap, take } from 'rxjs/operators'; -import { createArchitect, host } from '../../../testing/test-utils'; +import { count, debounceTime, finalize, switchMap, take, timeout } from 'rxjs/operators'; +import { serveWebpackBrowser } from '../../index'; +import { + BASE_OPTIONS, + BUILD_TIMEOUT, + DEV_SERVER_BUILDER_INFO, + describeBuilder, + setupBrowserTarget, +} from '../setup'; // eslint-disable-next-line @typescript-eslint/no-explicit-any declare const document: any; @@ -132,135 +138,159 @@ async function goToPageAndWaitForWS(page: Page, url: string): Promise { }), page.goto(url), ]); + await client.detach(); } -describe('Dev Server Builder live-reload', () => { - const target = { project: 'app', target: 'serve' }; - // TODO: check if the below is still true. - // Avoid using port `0` as these tests will behave differrently and tests will pass when they shouldn't. - // Port 0 and host 0.0.0.0 have special meaning in dev-server. - const overrides = { hmr: false, watch: true, port: 4202, liveReload: true }; - let architect: Architect; - let browser: Browser; - let page: Page; - let runs: BuilderRun[]; - - beforeAll(async () => { - browser = await puppeteer.launch({ - // MacOSX users need to set the local binary manually because Chrome has lib files with - // spaces in them which Bazel does not support in runfiles - // See: https://github.com/angular/angular-cli/pull/17624 - // eslint-disable-next-line max-len - // executablePath: '/Users//git/angular-cli/node_modules/puppeteer/.local-chromium/mac-818858/chrome-mac/Chromium.app/Contents/MacOS/Chromium', - ignoreHTTPSErrors: true, - args: ['--no-sandbox', '--disable-gpu'], +describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { + describe('Behavior: "Dev-server builder live-reload with proxies"', () => { + let browser: Browser; + let page: Page; + + const SERVE_OPTIONS = Object.freeze({ + ...BASE_OPTIONS, + hmr: false, + watch: true, + liveReload: true, }); - }); - afterAll(async () => { - await browser.close(); - }); + beforeAll(async () => { + browser = await puppeteer.launch({ + // MacOSX users need to set the local binary manually because Chrome has lib files with + // spaces in them which Bazel does not support in runfiles + // See: https://github.com/angular/angular-cli/pull/17624 + // eslint-disable-next-line max-len + // executablePath: '/Users//git/angular-cli/node_modules/puppeteer/.local-chromium/mac-818858/chrome-mac/Chromium.app/Contents/MacOS/Chromium', + ignoreHTTPSErrors: true, + args: ['--no-sandbox', '--disable-gpu'], + }); + }); - beforeEach(async () => { - await host.initialize().toPromise(); - architect = (await createArchitect(host.root())).architect; + afterAll(async () => { + await browser.close(); + }); + + beforeEach(async () => { + setupBrowserTarget(harness, { + polyfills: 'src/polyfills.ts', + }); - host.writeMultipleFiles({ - 'src/app/app.component.html': ` -

{{ title }}

- `, + page = await browser.newPage(); }); - runs = []; - page = await browser.newPage(); - }); + afterEach(async () => { + await page.close(); + }); - afterEach(async () => { - await host.restore().toPromise(); - await page.close(); - await Promise.all(runs.map((r) => r.stop())); - }); + it('works without proxy', async () => { + harness.useTarget('serve', { + ...SERVE_OPTIONS, + }); - it('works without proxy', async () => { - const run = await architect.scheduleTarget(target, overrides); - runs.push(run); - - await run.output - .pipe( - debounceTime(1000), - switchMap(async (buildEvent, buildCount) => { - expect(buildEvent.success).toBe(true); - const url = buildEvent.baseUrl as string; - switch (buildCount) { - case 0: - await goToPageAndWaitForWS(page, url); - host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); - break; - case 1: - const innerText = await page.evaluate(() => document.querySelector('p').innerText); - expect(innerText).toBe('app-live-reload'); - break; - } - }), - take(2), - ) - .toPromise(); - }); + await harness.writeFile('src/app/app.component.html', '

{{ title }}

'); - it('works without http -> http proxy', async () => { - const run = await architect.scheduleTarget(target, overrides); - runs.push(run); + const buildCount = await harness + .execute() + .pipe( + debounceTime(1000), + timeout(BUILD_TIMEOUT * 2), + switchMap(async ({ result }, index) => { + expect(result?.success).toBeTrue(); + if (typeof result?.baseUrl !== 'string') { + throw new Error('Expected "baseUrl" to be a string.'); + } - let proxy: ProxyInstance | undefined; - let buildCount = 0; - try { - await run.output + switch (index) { + case 0: + await goToPageAndWaitForWS(page, result.baseUrl); + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace(`'app'`, `'app-live-reload'`), + ); + break; + case 1: + const innerText = await page.evaluate(() => document.querySelector('p').innerText); + expect(innerText).toBe('app-live-reload'); + break; + } + }), + take(2), + count(), + ) + .toPromise(); + + expect(buildCount).toBe(2); + }); + + it('works without http -> http proxy', async () => { + harness.useTarget('serve', { + ...SERVE_OPTIONS, + }); + + await harness.writeFile('src/app/app.component.html', '

{{ title }}

'); + + let proxy: ProxyInstance | undefined; + const buildCount = await harness + .execute() .pipe( debounceTime(1000), - switchMap(async (buildEvent) => { - expect(buildEvent.success).toBe(true); - const url = buildEvent.baseUrl as string; - switch (buildCount) { + timeout(BUILD_TIMEOUT * 2), + switchMap(async ({ result }, index) => { + expect(result?.success).toBeTrue(); + if (typeof result?.baseUrl !== 'string') { + throw new Error('Expected "baseUrl" to be a string.'); + } + + switch (index) { case 0: - proxy = await createProxy(url, false); + proxy = await createProxy(result.baseUrl, false); await goToPageAndWaitForWS(page, proxy.url); - host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace(`'app'`, `'app-live-reload'`), + ); break; case 1: const innerText = await page.evaluate(() => document.querySelector('p').innerText); expect(innerText).toBe('app-live-reload'); break; } - - buildCount++; }), take(2), + count(), + finalize(() => { + proxy?.server.close(); + }), ) .toPromise(); - } finally { - proxy?.server.close(); - } - }); - it('works without https -> http proxy', async () => { - const run = await architect.scheduleTarget(target, overrides); - runs.push(run); + expect(buildCount).toBe(2); + }); + + it('works without https -> http proxy', async () => { + harness.useTarget('serve', { + ...SERVE_OPTIONS, + }); - let proxy: ProxyInstance | undefined; + await harness.writeFile('src/app/app.component.html', '

{{ title }}

'); - try { - await run.output + let proxy: ProxyInstance | undefined; + const buildCount = await harness + .execute() .pipe( debounceTime(1000), - switchMap(async (buildEvent, buildCount) => { - expect(buildEvent.success).toBe(true); - const url = buildEvent.baseUrl as string; - switch (buildCount) { + timeout(BUILD_TIMEOUT * 2), + switchMap(async ({ result }, index) => { + expect(result?.success).toBeTrue(); + if (typeof result?.baseUrl !== 'string') { + throw new Error('Expected "baseUrl" to be a string.'); + } + + switch (index) { case 0: - proxy = await createProxy(url, true); + proxy = await createProxy(result.baseUrl, true); await goToPageAndWaitForWS(page, proxy.url); - host.replaceInFile('src/app/app.component.ts', `'app'`, `'app-live-reload'`); + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace(`'app'`, `'app-live-reload'`), + ); break; case 1: const innerText = await page.evaluate(() => document.querySelector('p').innerText); @@ -269,10 +299,14 @@ describe('Dev Server Builder live-reload', () => { } }), take(2), + count(), + finalize(() => { + proxy?.server.close(); + }), ) .toPromise(); - } finally { - proxy?.server.close(); - } + + expect(buildCount).toBe(2); + }); }); }); From 967fdf6dd379c07c6123569ca0b247cddc5305d5 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 1 Aug 2022 17:13:01 +0000 Subject: [PATCH 0726/1388] build: update angular to e8a6302 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 19 +++++------ 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 87ddc20ef9aa..eb81354934b7 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@a234174980b29771d223451a338005a417d36530 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@22d3067021130271afcfd02d063828c5bdd9c2d7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@a234174980b29771d223451a338005a417d36530 + - uses: angular/dev-infra/github-actions/post-approval-changes@22d3067021130271afcfd02d063828c5bdd9c2d7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index a672964486d0..1bf69eb04f37 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@a234174980b29771d223451a338005a417d36530 + - uses: angular/dev-infra/github-actions/feature-request@22d3067021130271afcfd02d063828c5bdd9c2d7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index c2c6c902fb82..16e9abe749e6 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@a234174980b29771d223451a338005a417d36530 + - uses: angular/dev-infra/github-actions/lock-closed@22d3067021130271afcfd02d063828c5bdd9c2d7 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 824a506c2231..3efdbd2db7a8 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ad29881a78cf810fbb9547b79244cf8efd31ceb4", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a88566c9ed0b053dbe2773e89a8a83084f432ec8", "@angular/cdk": "14.1.0", "@angular/common": "14.1.0", "@angular/compiler": "14.1.0", @@ -75,7 +75,7 @@ "@angular/forms": "14.1.0", "@angular/localize": "14.1.0", "@angular/material": "14.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4c21a1af919f3deec04671400c7449ae6376121c", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826", "@angular/platform-browser": "14.1.0", "@angular/platform-browser-dynamic": "14.1.0", "@angular/platform-server": "14.1.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 5996e7afdcb5..2ecf39db491b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#aa644be6974fc81e874d31a7da97237616aa1033", - "@angular/cdk": "github:angular/cdk-builds#6ed1e6871b865180685a95e65a10bdad0a04733c", - "@angular/common": "github:angular/common-builds#c5145e70f008fffe967876513569b6558235f14b", - "@angular/compiler": "github:angular/compiler-builds#b24d574b8ee3cc2da213f88c6f80c2cf3341c71c", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#fd6d436e4c217f82c998f6b7b0c3c9f6a5958954", - "@angular/core": "github:angular/core-builds#dccc31b4efb621be1b44dfb6d2ac091b9a015ef4", - "@angular/forms": "github:angular/forms-builds#9f81196d0a0a555c1f5e2cf8f9620d66f79a7ea4", - "@angular/language-service": "github:angular/language-service-builds#ca8f80aa0c1652dc81e8cd2d527e527a0171aef6", - "@angular/localize": "github:angular/localize-builds#a28439ab5680abe8a215908b105ab7c353cad79b", - "@angular/material": "github:angular/material-builds#d8b0ae90502777c18318cfea8be3b996bf59b1b9", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c3c764554e90a364437079f257fd20f41638a1a7", - "@angular/platform-browser": "github:angular/platform-browser-builds#0383f0c81ec3f878d38667e297caf29879207c06", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d13a36bba35237174fe940e3ca107ef5dfadc355", - "@angular/platform-server": "github:angular/platform-server-builds#f458d0a765bc994fe95726cd439ca2a346353fa0", - "@angular/router": "github:angular/router-builds#a2892d01b5616d8c9e88b6e93b99fcbefdec1ef4", - "@angular/service-worker": "github:angular/service-worker-builds#84ebcf9bde808ea079bee24ab92bc4fda08c7b3b" + "@angular/animations": "github:angular/animations-builds#e8a6302e15fa046ff62f44d0880dfedb26358296", + "@angular/cdk": "github:angular/cdk-builds#d9d9198dca39dcc550201cbb6649953c445d18cc", + "@angular/common": "github:angular/common-builds#1aa7d1f438cd77bf5e801bd8296fc94528fe025e", + "@angular/compiler": "github:angular/compiler-builds#0b1a8806b1687518ee83583df1f16075a203f5c1", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#0a592e2fde3dc15e1cde273213d5d4a7b0552d86", + "@angular/core": "github:angular/core-builds#f58fa74341d4dc4e1700982ed9cd67b4ac3f3384", + "@angular/forms": "github:angular/forms-builds#e3c7a59f0dfc15c5c977c8b5f472c827385faa98", + "@angular/language-service": "github:angular/language-service-builds#7d092e5a5e02b36ddfc417e14439bc866cd5c2ca", + "@angular/localize": "github:angular/localize-builds#e5bc788116e060ec8cb08469f340fc8256dd7e34", + "@angular/material": "github:angular/material-builds#efec2051ffc4e0d205f60c6b06b962200f81280e", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3c03e40e0bbb89df75aff8124c90749b86de805a", + "@angular/platform-browser": "github:angular/platform-browser-builds#3a3b2cf8912f6b1c5fea1cb4c7d92c7ef5c8d346", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#db8c2da3cd7df3106761ef9cca127419816ff3fb", + "@angular/platform-server": "github:angular/platform-server-builds#ee85cd9ef0c44bf1a54e479f5d3c31d10b9a06b5", + "@angular/router": "github:angular/router-builds#84be3c9612bbe70de13ae1b970cc9a5fd40e0a5c", + "@angular/service-worker": "github:angular/service-worker-builds#ee589c590eac21f64cf53c192d5474377658f447" } } diff --git a/yarn.lock b/yarn.lock index c4c927f8f176..7582bb800eeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ad29881a78cf810fbb9547b79244cf8efd31ceb4": - version "0.0.0-a234174980b29771d223451a338005a417d36530" - uid ad29881a78cf810fbb9547b79244cf8efd31ceb4 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ad29881a78cf810fbb9547b79244cf8efd31ceb4" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#a88566c9ed0b053dbe2773e89a8a83084f432ec8": + version "0.0.0-22d3067021130271afcfd02d063828c5bdd9c2d7" + uid a88566c9ed0b053dbe2773e89a8a83084f432ec8 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a88566c9ed0b053dbe2773e89a8a83084f432ec8" dependencies: "@angular-devkit/build-angular" "14.1.0-rc.3" "@angular/benchpress" "0.3.0" @@ -144,6 +144,7 @@ "@types/send" "^0.17.1" "@types/tmp" "^0.2.1" "@types/uuid" "^8.3.1" + "@types/ws" "8.5.3" "@types/yargs" "^17.0.0" browser-sync "^2.27.7" clang-format "1.8.0" @@ -228,10 +229,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#4c21a1af919f3deec04671400c7449ae6376121c": - version "0.0.0-a234174980b29771d223451a338005a417d36530" - uid "4c21a1af919f3deec04671400c7449ae6376121c" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4c21a1af919f3deec04671400c7449ae6376121c" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826": + version "0.0.0-22d3067021130271afcfd02d063828c5bdd9c2d7" + uid "3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" @@ -2502,7 +2503,7 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@*", "@types/ws@^8.5.1": +"@types/ws@*", "@types/ws@8.5.3", "@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== From b9c616958b8bd71bc062ed22c0ade7de60d14de4 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 1 Aug 2022 17:13:08 +0000 Subject: [PATCH 0727/1388] build: update all non-major dependencies --- WORKSPACE | 10 +-- package.json | 8 +-- yarn.lock | 196 ++++++++++++++++++++++++++++----------------------- 3 files changed, 115 insertions(+), 99 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 003e2be10c22..bf1b0b5a870f 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "c78216f5be5d451a42275b0b7dc809fb9347e2b04a68f68bad620a2b01f5c774", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.2/rules_nodejs-5.5.2.tar.gz"], + sha256 = "f10a3a12894fc3c9bf578ee5a5691769f6805c4be84359681a785a0c12e8d2b6", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.3/rules_nodejs-5.5.3.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "1cbbf62315d303c8083d5019a4657623d4f58e925fb51bdc8a41bad4a131f5c9", - strip_prefix = "bazel-lib-1.8.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.8.1.tar.gz", + sha256 = "e034e4aea098c91ac05ac7e08f01a302275378a0bc0814c4939e96552c912212", + strip_prefix = "bazel-lib-1.9.2", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.9.2.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 3efdbd2db7a8..31aa0acd5eb6 100644 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "@babel/template": "7.18.6", "@bazel/bazelisk": "1.12.0", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.5.2", - "@bazel/jasmine": "5.5.2", + "@bazel/concatjs": "5.5.3", + "@bazel/jasmine": "5.5.3", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -143,7 +143,7 @@ "debug": "^4.1.1", "esbuild": "0.14.51", "esbuild-wasm": "0.14.51", - "eslint": "8.20.0", + "eslint": "8.21.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -216,7 +216,7 @@ "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "~4.7.2", - "verdaccio": "5.13.3", + "verdaccio": "5.14.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", diff --git a/yarn.lock b/yarn.lock index 7582bb800eeb..50a23813f22c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1326,15 +1326,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.3.tgz#5d5704db97d0014f700dbbd77ef4a4b3666ce865" + integrity sha512-YR8agkKikd/1pzFM9re5AFeFY6o8QA/C22RzVAYnZaKd7YMf19L7NchKKYwPTiDTy6lLhPqWMliYijR8RZ9ECA== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.5.2": version "5.5.2" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.2.tgz#598b75ffcb28972c5b0eb04c26db486fc001156b" integrity sha512-vSDnBOjydzwutg8rC97ftPDQmdhig8ya/IhsvsaoZdV0WbfNmqECCxri/7RH9e4PU7cb6YzBL/MCBNmwwTHLVg== -"@bazel/jasmine@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.2.tgz#559a1c4962f0a5165e446effb055fd332840eef0" - integrity sha512-aUCH6omW0lNxeWaX+lVuJy5sDcfRFAGs84hhBCZpARzwMbYxbwCGBxwo/nh48BojsCG+TwdlGlwTrF4gdpqgEQ== +"@bazel/jasmine@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.3.tgz#90aa34218287ce1cc79e08274f4aa63460a4a1b2" + integrity sha512-dEgppnYPPot9c5EudnsaMKQHi8Su7rpKO5ENXWOqRxwuGCm1TvkyDvJghUbxpq9TpFqn7L39mJ+LB7IPYNF9TQ== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1505,15 +1514,20 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@humanwhocodes/config-array@^0.9.2": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" - integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== +"@humanwhocodes/config-array@^0.10.4": + version "0.10.4" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" + integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" @@ -1956,6 +1970,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -2643,14 +2662,14 @@ lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.4.0": - version "10.4.0" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.0.tgz#ca089a0a46e8b43683ea488c38511ee7741686a4" - integrity sha512-04jOVSJsMoxGjZiiwVajRP6MI1wo4gR/LJsxgR6L8C+rmxwhazW57M9JKAUV8yXWjS1Hz3PMdECUx8xRCqM1uw== +"@verdaccio/readme@10.4.1": + version "10.4.1" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.1.tgz#c568d158c36ca7dd742b1abef890383918f621b2" + integrity sha512-OZ6R+HF2bIU3WFFdPxgUgyglaIfZzGSqyUfM2m1TFNfDCK84qJvRIgQJ1HG/82KVOpGuz/nxVyw2ZyEZDkP1vA== dependencies: - dompurify "2.3.8" - jsdom "16.5.0" - marked "4.0.17" + dompurify "2.3.9" + jsdom "16.7.0" + marked "4.0.18" "@verdaccio/streams@10.2.0": version "10.2.0" @@ -2862,7 +2881,7 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.5, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1: +acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: version "8.8.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== @@ -4431,10 +4450,10 @@ domino@^2.1.2: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.8.tgz#224fe9ae57d7ebd9a1ae1ac18c1c1ca3f532226f" - integrity sha512-eVhaWoVibIzqdGYjwsBWodIQIaXFSB+cKDf4cfxLMsK0xiud6SE+/WCVx/Xw/UwQsa4cS3T2eITcdtmTg2UKcw== +dompurify@2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.9.tgz#a4be5e7278338d6db09922dffcf6182cd099d70a" + integrity sha512-3zOnuTwup4lPV/GfGS6UzG4ub9nhSYagR/5tB3AvDEwqyy5dtyCM2dVjwGDCnrPerXifBKTYh/UWCGKK7ydhhw== domutils@^2.8.0: version "2.8.0" @@ -5229,13 +5248,14 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.20.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.20.0.tgz#048ac56aa18529967da8354a478be4ec0a2bc81b" - integrity sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA== +eslint@8.21.0: + version "8.21.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef" + integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA== dependencies: "@eslint/eslintrc" "^1.3.0" - "@humanwhocodes/config-array" "^0.9.2" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -5245,14 +5265,17 @@ eslint@8.20.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.2" + espree "^9.3.3" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" + find-up "^5.0.0" functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -5279,6 +5302,15 @@ espree@^9.3.2: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" +espree@^9.3.3: + version "9.3.3" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" + integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" @@ -5953,6 +5985,11 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -6125,6 +6162,15 @@ http-parser-js@>=0.5.1: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" @@ -6540,7 +6586,7 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-potential-custom-element-name@^1.0.0: +is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== @@ -6809,13 +6855,13 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== -jsdom@16.5.0: - version "16.5.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.0.tgz#9e453505600cc5a70b385750d35256f380730cc4" - integrity sha512-QxZH0nmDTnTTVI0YDm4RUlaUPl5dcyn62G5TMDNfMmTW+J1u1v9gCR8WR+WZ6UghAa7nKJjDOFaI00eMMWvJFQ== +jsdom@16.7.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== dependencies: abab "^2.0.5" - acorn "^8.0.5" + acorn "^8.2.4" acorn-globals "^6.0.0" cssom "^0.4.4" cssstyle "^2.3.0" @@ -6823,12 +6869,13 @@ jsdom@16.5.0: decimal.js "^10.2.1" domexception "^2.0.1" escodegen "^2.0.0" + form-data "^3.0.0" html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" nwsapi "^2.2.0" parse5 "6.0.1" - request "^2.88.2" - request-promise-native "^1.0.9" saxes "^5.0.1" symbol-tree "^3.2.4" tough-cookie "^4.0.0" @@ -6837,8 +6884,8 @@ jsdom@16.5.0: webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.4.4" + whatwg-url "^8.5.0" + ws "^7.4.6" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -7389,7 +7436,7 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7429,10 +7476,10 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.13.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.0.tgz#c8178692969fb680cad948db4aad54066590a65a" - integrity sha512-SNFKDOORR41fkWP3DXiIUvXvfzDRPg3bxD1+29iRyP2ZW+Njp2o6zhx9YkEpq1tbP0AEDNW2VBUedzDIxmNhdg== +lru-cache@7.13.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.13.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" + integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== lru-cache@^6.0.0: version "6.0.0" @@ -7441,11 +7488,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.13.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" - integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7521,11 +7563,6 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: socks-proxy-agent "^7.0.0" ssri "^9.0.0" -marked@4.0.17: - version "4.0.17" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.17.tgz#1186193d85bb7882159cdcfc57d1dfccaffb3fe9" - integrity sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA== - marked@4.0.18: version "4.0.18" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" @@ -9469,22 +9506,6 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - request@2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -9511,7 +9532,7 @@ request@2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -request@^2.87.0, request@^2.88.2: +request@^2.87.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -10330,11 +10351,6 @@ statuses@~1.4.0: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== - steno@^0.4.1: version "0.4.4" resolved "https://registry.yarnpkg.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb" @@ -10677,14 +10693,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - tough-cookie@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" @@ -10702,6 +10710,14 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + tr46@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" @@ -11074,14 +11090,14 @@ verdaccio-htpasswd@10.5.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.13.3: - version "5.13.3" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.13.3.tgz#fd9a8f67f3c3124b1c18765baedf907c916a6a6b" - integrity sha512-QGADvfiYlMFWKhSyMCk++54gjR6WdRMnAbwzCL0NKt1ipCCQwtjr9vKNmruGyet5VN9JKSG05LIrZOSl/u/p6g== +verdaccio@5.14.0: + version "5.14.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.14.0.tgz#aef0c2ece6bd2dc2e1fca6f5dcb4e031fe0b33cd" + integrity sha512-++YTBxeUvBcsZb3e77x2lH+bdg5xrETi7h+5xtd2KPHrcW+MlpwCWDcwyHdCVZ7LhOgkzSSJD9L/0i1BkbwB8Q== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" - "@verdaccio/readme" "10.4.0" + "@verdaccio/readme" "10.4.1" "@verdaccio/streams" "10.2.0" "@verdaccio/ui-theme" "6.0.0-6-next.25" JSONStream "1.3.5" @@ -11104,7 +11120,7 @@ verdaccio@5.13.3: jsonwebtoken "8.5.1" kleur "4.1.5" lodash "4.17.21" - lru-cache "7.13.0" + lru-cache "7.13.1" lunr-mutable-indexes "2.3.2" marked "4.0.18" memoizee "0.4.15" @@ -11387,7 +11403,7 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^8.0.0: +whatwg-url@^8.0.0, whatwg-url@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== @@ -11489,7 +11505,7 @@ ws@>=8.7.0, ws@^8.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== -ws@^7.4.4: +ws@^7.4.6: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== From b4a1b0f1040970201929362bd1210917962fbcea Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 2 Aug 2022 15:46:46 +0000 Subject: [PATCH 0728/1388] fix(@angular-devkit/build-angular): correctly respond to preflight requests With this commit, we add a middleware that handles preflight requests as currently responses for this type of requests returning 404. This is a temporary workaround until this issue is fixed upstream. See: https://github.com/webpack/webpack-dev-server/issues/4180 Closes #23639 --- .../src/webpack/configs/dev-server.ts | 27 ++++++++++++++++++- .../tests/commands/serve/preflight-request.ts | 15 +++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/serve/preflight-request.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index d70a6d8e4023..9135bd2aa9c4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -11,7 +11,12 @@ import { existsSync, promises as fsPromises } from 'fs'; import { extname, posix, resolve } from 'path'; import { URL, pathToFileURL } from 'url'; import { Configuration, RuleSetRule } from 'webpack'; -import { Configuration as DevServerConfiguration } from 'webpack-dev-server'; +import type { + Configuration as DevServerConfiguration, + NextFunction, + Request, + Response, +} from 'webpack-dev-server'; import { WebpackConfigOptions, WebpackDevServerOptions } from '../../utils/build-options'; import { assertIsError } from '../../utils/error'; import { loadEsmModule } from '../../utils/load-esm'; @@ -87,6 +92,26 @@ export async function getDevServerConfig( publicPath: servePath, stats: false, }, + setupMiddlewares: (middlewares, _devServer) => { + // Temporary workaround for https://github.com/webpack/webpack-dev-server/issues/4180 + middlewares.push({ + name: 'options-request-response', + path: '*', + middleware: (req: Request, res: Response, next: NextFunction) => { + if (req.method === 'OPTIONS') { + res.statusCode = 204; + res.setHeader('Content-Length', 0); + res.end(); + + return; + } + + next(); + }, + }); + + return middlewares; + }, liveReload, hot: hmr && !liveReload ? 'only' : hmr, proxy: await addProxyConfig(root, proxyConfig), diff --git a/tests/legacy-cli/e2e/tests/commands/serve/preflight-request.ts b/tests/legacy-cli/e2e/tests/commands/serve/preflight-request.ts new file mode 100644 index 000000000000..f12402e31199 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/serve/preflight-request.ts @@ -0,0 +1,15 @@ +import fetch from 'node-fetch'; +import { ngServe } from '../../../utils/project'; + +export default async function () { + const port = await ngServe(); + const { size, status } = await fetch(`http://localhost:${port}/main.js`, { method: 'OPTIONS' }); + + if (size !== 0) { + throw new Error(`Expected "size" to be "0" but got "${size}".`); + } + + if (status !== 204) { + throw new Error(`Expected "status" to be "204" but got "${status}".`); + } +} From 095bb7fb0d39c3e2a702cd578305bc0b1839f653 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 1 Aug 2022 15:17:02 -0400 Subject: [PATCH 0729/1388] ci: reduce CircleCI Windows resource class to medium The large resource class consumes significantly more credits than the medium resource class. --- .circleci/dynamic_config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index a2968ae70bc9..33baf2b5e03f 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -328,7 +328,6 @@ jobs: # Windows jobs e2e-cli-win: executor: windows-executor - resource_class: windows.large parallelism: 16 steps: - checkout From 8540f278aa327746262fd0d1f215216239aed45f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 2 Aug 2022 11:36:10 +0000 Subject: [PATCH 0730/1388] build: update angular to c6b7824 --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++---- yarn.lock | 87 +++++++++---------- 6 files changed, 61 insertions(+), 70 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index eb81354934b7..6c8b7f6b5954 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@22d3067021130271afcfd02d063828c5bdd9c2d7 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@66fefa85b03fe2265f8a564b1f72f06a08f66250 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@22d3067021130271afcfd02d063828c5bdd9c2d7 + - uses: angular/dev-infra/github-actions/post-approval-changes@66fefa85b03fe2265f8a564b1f72f06a08f66250 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 1bf69eb04f37..e8e59950ca23 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@22d3067021130271afcfd02d063828c5bdd9c2d7 + - uses: angular/dev-infra/github-actions/feature-request@66fefa85b03fe2265f8a564b1f72f06a08f66250 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 16e9abe749e6..884b604fd8b6 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@22d3067021130271afcfd02d063828c5bdd9c2d7 + - uses: angular/dev-infra/github-actions/lock-closed@66fefa85b03fe2265f8a564b1f72f06a08f66250 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 31aa0acd5eb6..82b763ac9e9e 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a88566c9ed0b053dbe2773e89a8a83084f432ec8", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a", "@angular/cdk": "14.1.0", "@angular/common": "14.1.0", "@angular/compiler": "14.1.0", @@ -75,7 +75,7 @@ "@angular/forms": "14.1.0", "@angular/localize": "14.1.0", "@angular/material": "14.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f", "@angular/platform-browser": "14.1.0", "@angular/platform-browser-dynamic": "14.1.0", "@angular/platform-server": "14.1.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 2ecf39db491b..b16ab4fa970c 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e8a6302e15fa046ff62f44d0880dfedb26358296", - "@angular/cdk": "github:angular/cdk-builds#d9d9198dca39dcc550201cbb6649953c445d18cc", - "@angular/common": "github:angular/common-builds#1aa7d1f438cd77bf5e801bd8296fc94528fe025e", - "@angular/compiler": "github:angular/compiler-builds#0b1a8806b1687518ee83583df1f16075a203f5c1", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#0a592e2fde3dc15e1cde273213d5d4a7b0552d86", - "@angular/core": "github:angular/core-builds#f58fa74341d4dc4e1700982ed9cd67b4ac3f3384", - "@angular/forms": "github:angular/forms-builds#e3c7a59f0dfc15c5c977c8b5f472c827385faa98", - "@angular/language-service": "github:angular/language-service-builds#7d092e5a5e02b36ddfc417e14439bc866cd5c2ca", - "@angular/localize": "github:angular/localize-builds#e5bc788116e060ec8cb08469f340fc8256dd7e34", - "@angular/material": "github:angular/material-builds#efec2051ffc4e0d205f60c6b06b962200f81280e", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3c03e40e0bbb89df75aff8124c90749b86de805a", - "@angular/platform-browser": "github:angular/platform-browser-builds#3a3b2cf8912f6b1c5fea1cb4c7d92c7ef5c8d346", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#db8c2da3cd7df3106761ef9cca127419816ff3fb", - "@angular/platform-server": "github:angular/platform-server-builds#ee85cd9ef0c44bf1a54e479f5d3c31d10b9a06b5", - "@angular/router": "github:angular/router-builds#84be3c9612bbe70de13ae1b970cc9a5fd40e0a5c", - "@angular/service-worker": "github:angular/service-worker-builds#ee589c590eac21f64cf53c192d5474377658f447" + "@angular/animations": "github:angular/animations-builds#c6b78249937d0c082390327f5c7b5cc75a39bee9", + "@angular/cdk": "github:angular/cdk-builds#dc9d93cdd95e504b5350d669d8e1f56be3d57328", + "@angular/common": "github:angular/common-builds#4204e2030823fa7ce238427fa3f52eaa1d5a4c31", + "@angular/compiler": "github:angular/compiler-builds#65b69dd46b448627c16983ff52b599a839c71802", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a70aa94f094868e53fe8a22da32d533407ba8cfa", + "@angular/core": "github:angular/core-builds#3d6361abcd2f7f5253da18152e6a5e1d90058e15", + "@angular/forms": "github:angular/forms-builds#b86444f252698e97f0049763eb887c4a472bca31", + "@angular/language-service": "github:angular/language-service-builds#be08fcaedd158b72f865455769deb3f0acbf4531", + "@angular/localize": "github:angular/localize-builds#b466c05fb80397ccea1a5218c8dc94fadf1a6530", + "@angular/material": "github:angular/material-builds#82218293a2e2d4af6bcb6d06d3aea73eb1a05b96", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2ac3b7e848a46961db9428146572aaabd74ae931", + "@angular/platform-browser": "github:angular/platform-browser-builds#94f592c46eb33e5c40afff0976818a03890f21d5", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#1fd4e422e9a7e85cbb24b6adf60063e5b6340174", + "@angular/platform-server": "github:angular/platform-server-builds#8d040460d8c290395b3f111e80309964a638e7f4", + "@angular/router": "github:angular/router-builds#ca6729941fb7c719e11ffbf04f13eda6283d3618", + "@angular/service-worker": "github:angular/service-worker-builds#6ac4316549b20cde5fb31c0fb069c0ac31dd08c2" } } diff --git a/yarn.lock b/yarn.lock index 50a23813f22c..0e6bff7f358a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,21 +122,21 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#a88566c9ed0b053dbe2773e89a8a83084f432ec8": - version "0.0.0-22d3067021130271afcfd02d063828c5bdd9c2d7" - uid a88566c9ed0b053dbe2773e89a8a83084f432ec8 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a88566c9ed0b053dbe2773e89a8a83084f432ec8" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a": + version "0.0.0-66fefa85b03fe2265f8a564b1f72f06a08f66250" + uid "80fc63daf535db5a7df49eb8c1dd2f86be28660a" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a" dependencies: "@angular-devkit/build-angular" "14.1.0-rc.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.5.2" - "@bazel/esbuild" "5.5.2" - "@bazel/protractor" "5.5.2" - "@bazel/runfiles" "5.5.2" - "@bazel/terser" "5.5.2" - "@bazel/typescript" "5.5.2" + "@bazel/concatjs" "5.5.3" + "@bazel/esbuild" "5.5.3" + "@bazel/protractor" "5.5.3" + "@bazel/runfiles" "5.5.3" + "@bazel/terser" "5.5.3" + "@bazel/typescript" "5.5.3" "@microsoft/api-extractor" "7.28.4" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -229,10 +229,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826": - version "0.0.0-22d3067021130271afcfd02d063828c5bdd9c2d7" - uid "3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#3535c23e172bbe5ecc5cd0a0fdceeb178a2e7826" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f": + version "0.0.0-66fefa85b03fe2265f8a564b1f72f06a08f66250" + uid "64aa04a20d8b2f868322dab6e4ede0af46ed412f" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" @@ -1317,15 +1317,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.2.tgz#c5d0c8794e78f26767f693bd1dfd66a33aa79261" - integrity sha512-bT03y2oulHzGZXyCn6ii8khVClqThobrlTk+3X6nOAEsqztFU8LGCefhNR+2lJIsHUjNgQBeZH+IcbG69Uzlfg== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.5.3": version "5.5.3" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.3.tgz#5d5704db97d0014f700dbbd77ef4a4b3666ce865" @@ -1335,10 +1326,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.2.tgz#598b75ffcb28972c5b0eb04c26db486fc001156b" - integrity sha512-vSDnBOjydzwutg8rC97ftPDQmdhig8ya/IhsvsaoZdV0WbfNmqECCxri/7RH9e4PU7cb6YzBL/MCBNmwwTHLVg== +"@bazel/esbuild@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.3.tgz#2172ecad5f5729d5d71c34a836b28cd081f84e6d" + integrity sha512-A+mVZfJsnTYc4dvrmGy/Sxu4pt2jvJFRFONP+ngve4qont3K1xK3LF3C6uOEFk4lMNoykUptr7/bvhGRr/j9Vw== "@bazel/jasmine@5.5.3": version "5.5.3" @@ -1348,35 +1339,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.2.tgz#268779e51788d62026f0701afd830ec2308c9fc2" - integrity sha512-RZI1y0mCNO6ffLRTZRQ7q+h/2knuJBZN/de1yQDCkhUlS/8qYM6sO3EAh5pTKZTkF80BaVwFJsr2aFxfE71Vtg== +"@bazel/protractor@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.3.tgz#1c30b4b063b7c65809907ef8d08c0fa455449f9b" + integrity sha512-VvZ/WOVoZxuuMm+4ZQwDgY+Hl8ptcyteje9hORsrukhHOuTjYdxPfejtTRBdYi26dMggxx8mqaM4UzFD/XR/yA== -"@bazel/runfiles@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.2.tgz#6dfa59c8f7f291daea6a416a095140375e6a3392" - integrity sha512-VOAg+UOwzzchmHb9uVUzIQII0baeTTLxbPgwbkugqO0IVsoS8g2ELUlwulZfKCsGiueI4hkaibq6eCAhqANlkA== +"@bazel/runfiles@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.3.tgz#da394adc895f694e3075ba292009163c28b1ee7d" + integrity sha512-c/2vCJvcmNYhbcqwBrQPV3BSxCIETXCzuMsqEXgudOK5EL70/DtqSOQN1veJW/KUBoMljcxM7DN4gvWEItA2Dg== -"@bazel/terser@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.2.tgz#59878ad6e8ecb4dd3d709f3e0a0ace173eff4105" - integrity sha512-uLvk+YaoK6W77P2DoTPpdWpPYaOp9b5x0GBUPhHE4AZSRnfwJE61DG1L+dmAUCCmCKW54ycfLe3GFMPsrcMBkQ== +"@bazel/terser@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.3.tgz#d8471bb2b2c2f81f31a13545c17090fb7de78208" + integrity sha512-4QNPwlGJk+fdL4gLIdMPB72XfKPbcvcWmnDBGvRB6TfdTXRt3+78AdZD5Q6Cw9U6Ov67sHRCXqtybWQnTCxF9g== -"@bazel/typescript@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.2.tgz#dc7464577a99e4586e9a26c4be6f6c7e898d738f" - integrity sha512-E5JQoBueGZO83sA86ygKOnCAUZH3FNKOGPJe9mAnZ/4ME2w+lE4FJ+amxoCKVAS8qC95Tn5MIVEbCmWmMSB07g== +"@bazel/typescript@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.3.tgz#3505f92c0bb9598e7ef090dec75f52a1eceab26b" + integrity sha512-DGlzz2RmzRrNWhoL1ynr62qsTk5cUzjIJj2MreeQVoYHQZfB3FCCu/TGtDS5xyEbfWhsn7Zwo5qpOxvdYiPWng== dependencies: - "@bazel/worker" "5.5.2" + "@bazel/worker" "5.5.3" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.2.tgz#192bf8809e8a74095f41c3ee580c4fe9d362ff58" - integrity sha512-YLmgESJZWrGlEZWJ8gKUOpI8GIB91Jzuru6NULJ+64xUX1S3nQicHp9hBG34GOPGfd8DFB+fgC5m0HdA3F7QYQ== +"@bazel/worker@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.3.tgz#3c23135a4e9d6c8ef05f1de85bc3c0c30df2ad38" + integrity sha512-Wm0istBBko5w2ddDwCK4rvDQrWfeFGaWdG3iTNkYAHKfQrkgYeMucMoAbFB6LZ87KZKuBEN9KSDq+fi8MXtGlw== dependencies: google-protobuf "^3.6.1" From 091ff403dd6520ddadb10adb00d7e75c4ef94f1f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 2 Aug 2022 06:42:22 +0000 Subject: [PATCH 0731/1388] build: update all non-major dependencies --- package.json | 16 +- .../angular_devkit/build_angular/package.json | 12 +- yarn.lock | 338 +++++++++++------- 3 files changed, 232 insertions(+), 134 deletions(-) diff --git a/package.json b/package.json index 82b763ac9e9e..ece802171d12 100644 --- a/package.json +++ b/package.json @@ -81,15 +81,15 @@ "@angular/platform-server": "14.1.0", "@angular/router": "14.1.0", "@angular/service-worker": "14.1.0", - "@babel/core": "7.18.9", - "@babel/generator": "7.18.9", + "@babel/core": "7.18.10", + "@babel/generator": "7.18.10", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.10", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.9", - "@babel/preset-env": "7.18.9", + "@babel/plugin-transform-runtime": "7.18.10", + "@babel/preset-env": "7.18.10", "@babel/runtime": "7.18.9", - "@babel/template": "7.18.6", + "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.0", "@bazel/buildifier": "5.1.0", "@bazel/concatjs": "5.5.3", @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.31.0", - "@typescript-eslint/parser": "5.31.0", + "@typescript-eslint/eslint-plugin": "5.32.0", + "@typescript-eslint/parser": "5.32.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 19123047bf15..e1d071d91ed1 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,15 +10,15 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.9", - "@babel/generator": "7.18.9", + "@babel/core": "7.18.10", + "@babel/generator": "7.18.10", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.10", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.9", - "@babel/preset-env": "7.18.9", + "@babel/plugin-transform-runtime": "7.18.10", + "@babel/preset-env": "7.18.10", "@babel/runtime": "7.18.9", - "@babel/template": "7.18.6", + "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", diff --git a/yarn.lock b/yarn.lock index 0e6bff7f358a..90d9f95198d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -291,6 +291,27 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== +"@babel/core@7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" + integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.10" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.10" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.18.10" + "@babel/types" "^7.18.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/core@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" @@ -333,6 +354,15 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/generator@7.18.10", "@babel/generator@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.10.tgz#794f328bfabdcbaf0ebf9bf91b5b57b61fa77a2a" + integrity sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA== + dependencies: + "@babel/types" "^7.18.10" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/generator@7.18.7": version "7.18.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" @@ -342,7 +372,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.9", "@babel/generator@^7.18.6", "@babel/generator@^7.18.9": +"@babel/generator@^7.18.6", "@babel/generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== @@ -476,7 +506,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== -"@babel/helper-remap-async-to-generator@^7.18.6": +"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== @@ -518,6 +548,11 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-string-parser@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" + integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== + "@babel/helper-validator-identifier@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" @@ -561,6 +596,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== +"@babel/parser@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1" + integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -577,6 +617,16 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" +"@babel/plugin-proposal-async-generator-functions@7.18.10", "@babel/plugin-proposal-async-generator-functions@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952" + integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" @@ -1012,6 +1062,18 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-runtime@7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz#37d14d1fa810a368fd635d4d1476c0154144a96f" + integrity sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.2" + babel-plugin-polyfill-corejs3 "^0.5.3" + babel-plugin-polyfill-regenerator "^0.4.0" + semver "^6.3.0" + "@babel/plugin-transform-runtime@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz#77b14416015ea93367ca06979710f5000ff34ccb" @@ -1024,18 +1086,6 @@ babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" -"@babel/plugin-transform-runtime@7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz#d9e4b1b25719307bfafbf43065ed7fb3a83adb8f" - integrity sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - babel-plugin-polyfill-corejs2 "^0.3.1" - babel-plugin-polyfill-corejs3 "^0.5.2" - babel-plugin-polyfill-regenerator "^0.3.1" - semver "^6.3.0" - "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" @@ -1072,6 +1122,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-unicode-escapes@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" @@ -1087,29 +1144,29 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.6.tgz#953422e98a5f66bc56cd0b9074eaea127ec86ace" - integrity sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw== +"@babel/preset-env@7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.10.tgz#83b8dfe70d7eea1aae5a10635ab0a5fe60dfc0f4" + integrity sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA== dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.6" - "@babel/plugin-proposal-async-generator-functions" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.18.10" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^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.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" "@babel/plugin-proposal-private-methods" "^7.18.6" "@babel/plugin-proposal-private-property-in-object" "^7.18.6" "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" @@ -1131,66 +1188,66 @@ "@babel/plugin-transform-arrow-functions" "^7.18.6" "@babel/plugin-transform-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.6" - "@babel/plugin-transform-classes" "^7.18.6" - "@babel/plugin-transform-computed-properties" "^7.18.6" - "@babel/plugin-transform-destructuring" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.18.9" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.9" "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^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.18.6" - "@babel/plugin-transform-function-name" "^7.18.6" - "@babel/plugin-transform-literals" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@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.18.6" "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.18.9" "@babel/plugin-transform-modules-umd" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" "@babel/plugin-transform-property-literals" "^7.18.6" "@babel/plugin-transform-regenerator" "^7.18.6" "@babel/plugin-transform-reserved-words" "^7.18.6" "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.6" + "@babel/plugin-transform-spread" "^7.18.9" "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.6" - "@babel/plugin-transform-typeof-symbol" "^7.18.6" - "@babel/plugin-transform-unicode-escapes" "^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/preset-modules" "^0.1.5" - "@babel/types" "^7.18.6" - babel-plugin-polyfill-corejs2 "^0.3.1" - babel-plugin-polyfill-corejs3 "^0.5.2" - babel-plugin-polyfill-regenerator "^0.3.1" + "@babel/types" "^7.18.10" + babel-plugin-polyfill-corejs2 "^0.3.2" + babel-plugin-polyfill-corejs3 "^0.5.3" + babel-plugin-polyfill-regenerator "^0.4.0" core-js-compat "^3.22.1" semver "^6.3.0" -"@babel/preset-env@7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.9.tgz#9b3425140d724fbe590322017466580844c7eaff" - integrity sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg== +"@babel/preset-env@7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.6.tgz#953422e98a5f66bc56cd0b9074eaea127ec86ace" + integrity sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw== dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/compat-data" "^7.18.6" + "@babel/helper-compilation-targets" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.6" "@babel/plugin-proposal-async-generator-functions" "^7.18.6" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-export-namespace-from" "^7.18.6" "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.6" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-object-rest-spread" "^7.18.6" "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-optional-chaining" "^7.18.6" "@babel/plugin-proposal-private-methods" "^7.18.6" "@babel/plugin-proposal-private-property-in-object" "^7.18.6" "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" @@ -1212,37 +1269,37 @@ "@babel/plugin-transform-arrow-functions" "^7.18.6" "@babel/plugin-transform-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.18.9" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.9" + "@babel/plugin-transform-block-scoping" "^7.18.6" + "@babel/plugin-transform-classes" "^7.18.6" + "@babel/plugin-transform-computed-properties" "^7.18.6" + "@babel/plugin-transform-destructuring" "^7.18.6" "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-duplicate-keys" "^7.18.6" "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-for-of" "^7.18.6" + "@babel/plugin-transform-function-name" "^7.18.6" + "@babel/plugin-transform-literals" "^7.18.6" "@babel/plugin-transform-member-expression-literals" "^7.18.6" "@babel/plugin-transform-modules-amd" "^7.18.6" "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.9" + "@babel/plugin-transform-modules-systemjs" "^7.18.6" "@babel/plugin-transform-modules-umd" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-parameters" "^7.18.6" "@babel/plugin-transform-property-literals" "^7.18.6" "@babel/plugin-transform-regenerator" "^7.18.6" "@babel/plugin-transform-reserved-words" "^7.18.6" "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.9" + "@babel/plugin-transform-spread" "^7.18.6" "@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-template-literals" "^7.18.6" + "@babel/plugin-transform-typeof-symbol" "^7.18.6" "@babel/plugin-transform-unicode-escapes" "^7.18.6" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.9" + "@babel/types" "^7.18.6" babel-plugin-polyfill-corejs2 "^0.3.1" babel-plugin-polyfill-corejs3 "^0.5.2" babel-plugin-polyfill-regenerator "^0.3.1" @@ -1274,6 +1331,15 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/template@7.18.10", "@babel/template@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + "@babel/template@7.18.6", "@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" @@ -1283,6 +1349,22 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/traverse@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.10.tgz#37ad97d1cb00efa869b91dd5d1950f8a6cf0cb08" + integrity sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.10" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" @@ -1307,6 +1389,15 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" + integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50" @@ -2544,14 +2635,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz#cae1967b1e569e6171bbc6bec2afa4e0c8efccfe" - integrity sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ== +"@typescript-eslint/eslint-plugin@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz#e27e38cffa4a61226327c874a7be965e9a861624" + integrity sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew== dependencies: - "@typescript-eslint/scope-manager" "5.31.0" - "@typescript-eslint/type-utils" "5.31.0" - "@typescript-eslint/utils" "5.31.0" + "@typescript-eslint/scope-manager" "5.32.0" + "@typescript-eslint/type-utils" "5.32.0" + "@typescript-eslint/utils" "5.32.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2559,69 +2650,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.31.0.tgz#7f42d7dcc68a0a6d80a0f3d9a65063aee7bb8d2c" - integrity sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw== +"@typescript-eslint/parser@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.32.0.tgz#1de243443bc6186fb153b9e395b842e46877ca5d" + integrity sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A== dependencies: - "@typescript-eslint/scope-manager" "5.31.0" - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/typescript-estree" "5.31.0" + "@typescript-eslint/scope-manager" "5.32.0" + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/typescript-estree" "5.32.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz#f47a794ba84d9b818ab7f8f44fff55a61016c606" - integrity sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg== +"@typescript-eslint/scope-manager@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz#763386e963a8def470580cc36cf9228864190b95" + integrity sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg== dependencies: - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/visitor-keys" "5.31.0" + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/visitor-keys" "5.32.0" -"@typescript-eslint/type-utils@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz#70a0b7201360b5adbddb0c36080495aa08f6f3d9" - integrity sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w== +"@typescript-eslint/type-utils@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz#45a14506fe3fb908600b4cef2f70778f7b5cdc79" + integrity sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg== dependencies: - "@typescript-eslint/utils" "5.31.0" + "@typescript-eslint/utils" "5.32.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.31.0.tgz#7aa389122b64b18e473c1672fb3b8310e5f07a9a" - integrity sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g== +"@typescript-eslint/types@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.32.0.tgz#484273021eeeae87ddb288f39586ef5efeb6dcd8" + integrity sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ== -"@typescript-eslint/typescript-estree@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz#eb92970c9d6e3946690d50c346fb9b1d745ee882" - integrity sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw== +"@typescript-eslint/typescript-estree@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz#282943f34babf07a4afa7b0ff347a8e7b6030d12" + integrity sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg== dependencies: - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/visitor-keys" "5.31.0" + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/visitor-keys" "5.32.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.31.0.tgz#e146fa00dca948bfe547d665b2138a2dc1b79acd" - integrity sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg== +"@typescript-eslint/utils@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.32.0.tgz#eccb6b672b94516f1afc6508d05173c45924840c" + integrity sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.31.0" - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/typescript-estree" "5.31.0" + "@typescript-eslint/scope-manager" "5.32.0" + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/typescript-estree" "5.32.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz#b0eca264df01ce85dceb76aebff3784629258f54" - integrity sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg== +"@typescript-eslint/visitor-keys@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz#b9715d0b11fdb5dd10fd0c42ff13987470525394" + integrity sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g== dependencies: - "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/types" "5.32.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3218,7 +3309,7 @@ babel-plugin-istanbul@6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.1: +babel-plugin-polyfill-corejs2@^0.3.1, babel-plugin-polyfill-corejs2@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== @@ -3227,7 +3318,7 @@ babel-plugin-polyfill-corejs2@^0.3.1: "@babel/helper-define-polyfill-provider" "^0.3.2" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.2: +babel-plugin-polyfill-corejs3@^0.5.2, babel-plugin-polyfill-corejs3@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== @@ -3242,6 +3333,13 @@ babel-plugin-polyfill-regenerator@^0.3.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" +babel-plugin-polyfill-regenerator@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" + integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.2" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" From 173823d772761cc26fd9f8e997e50ecd70c1e969 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 22 Jul 2022 15:10:31 +0000 Subject: [PATCH 0732/1388] build: remove dependency on font-awesome This dependency is only used to valid that node packages are resolved correctly. With this change we mock the structure of font-awesome to avoid having to install it. --- package.json | 1 - .../angular_devkit/build_angular/BUILD.bazel | 1 - .../src/builders/browser/specs/styles_spec.ts | 14 ++++++++++++++ scripts/validate-licenses.ts | 3 --- yarn.lock | 16 ++++++++-------- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index ece802171d12..1357e4fb93eb 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,6 @@ "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", "express": "4.18.1", - "font-awesome": "^4.7.0", "glob": "8.0.3", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 52fc3b73e1b4..00c8778c6cc3 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -341,7 +341,6 @@ LARGE_SPECS = { "@npm//@angular/animations", "@npm//@angular/material", "@npm//bootstrap", - "@npm//font-awesome", "@npm//jquery", "@npm//popper.js", ], diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 6c48c0b1eb34..b245a7c52d1d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -7,6 +7,7 @@ */ import { Architect } from '@angular-devkit/architect'; +import { TestProjectHost } from '@angular-devkit/architect/testing'; import { normalize, tags } from '@angular-devkit/core'; import { dirname } from 'path'; import { browserBuild, createArchitect, host } from '../../../testing/test-utils'; @@ -259,7 +260,19 @@ describe('Browser Builder styles', () => { }); }); + /** + * font-awesome mock to avoid having an extra dependency. + */ + function mockFontAwesomePackage(host: TestProjectHost): void { + host.writeMultipleFiles({ + 'node_modules/font-awesome/scss/font-awesome.scss': ` + * { color: red } + `, + }); + } + it(`supports font-awesome imports`, async () => { + mockFontAwesomePackage(host); host.writeMultipleFiles({ 'src/styles.scss': ` @import "font-awesome/scss/font-awesome"; @@ -271,6 +284,7 @@ describe('Browser Builder styles', () => { }); it(`supports font-awesome imports (tilde)`, async () => { + mockFontAwesomePackage(host); host.writeMultipleFiles({ 'src/styles.scss': ` $fa-font-path: "~font-awesome/fonts"; diff --git a/scripts/validate-licenses.ts b/scripts/validate-licenses.ts index c72145e2b478..63721d379985 100644 --- a/scripts/validate-licenses.ts +++ b/scripts/validate-licenses.ts @@ -75,9 +75,6 @@ const ignoredPackages = [ 'pako@1.0.11', // MIT but broken license in package.json 'fs-monkey@1.0.1', // Unlicense but missing license field (PR: https://github.com/streamich/fs-monkey/pull/209) 'memfs@3.2.0', // Unlicense but missing license field (PR: https://github.com/streamich/memfs/pull/594) - - // * Other - 'font-awesome@4.7.0', // (OFL-1.1 AND MIT) ]; // Ignore own packages (all MIT) diff --git a/yarn.lock b/yarn.lock index 90d9f95198d3..aaa61af276ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -124,7 +124,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a": version "0.0.0-66fefa85b03fe2265f8a564b1f72f06a08f66250" - uid "80fc63daf535db5a7df49eb8c1dd2f86be28660a" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a" dependencies: "@angular-devkit/build-angular" "14.1.0-rc.3" @@ -199,13 +198,20 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.1.0", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.0.tgz#5a0fa164ca180027d4c54a5b70e7357918f9af9b" integrity sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg== dependencies: tslib "^2.3.0" +"@angular/core@^13.0.0 || ^14.0.0-0": + version "14.0.6" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.6.tgz#697d52ca9d772877a5138af26d1d9c5e7c267ade" + integrity sha512-hyQ3s9Yrm3ejhumgAC9ENhMFmvmPlJkk1tEOjruyoiHwK4EOaDpI+GCNQIBUB1Z3B/QLMlgZeMXrULQztjSQwg== + dependencies: + tslib "^2.3.0" + "@angular/forms@14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.0.tgz#17a7ec211a11b75572d89359f08c277cfcdb1210" @@ -231,7 +237,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f": version "0.0.0-66fefa85b03fe2265f8a564b1f72f06a08f66250" - uid "64aa04a20d8b2f868322dab6e4ede0af46ed412f" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -5761,11 +5766,6 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== -font-awesome@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" - integrity sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg== - foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" From 425082bd2d67a98d6600b23e1d11f4c82c27178e Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Mon, 11 Jul 2022 23:01:38 -0700 Subject: [PATCH 0733/1388] build: enable bazel remote_merkle_tree_cache --- .bazelrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.bazelrc b/.bazelrc index 6437f29b4580..09133cbffa91 100644 --- a/.bazelrc +++ b/.bazelrc @@ -47,6 +47,9 @@ build --incompatible_strict_action_env run --incompatible_strict_action_env test --incompatible_strict_action_env +# Enable remote caching of build/action tree +build --experimental_remote_merkle_tree_cache + ############################### # Saucelabs support # # Turn on these settings with # From db5c1fc13c9a4de62657af4598d36ded0abae0f7 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 28 Apr 2022 12:13:45 -0700 Subject: [PATCH 0734/1388] test: run tests on multiple node versions --- .bazelrc | 3 ++ WORKSPACE | 10 ++++ packages/angular/cli/BUILD.bazel | 16 ++++-- packages/angular/pwa/BUILD.bazel | 16 ++++-- packages/angular_devkit/architect/BUILD.bazel | 16 ++++-- packages/angular_devkit/benchmark/BUILD.bazel | 32 +++++++----- .../angular_devkit/build_angular/BUILD.bazel | 45 +++++++++++------ .../angular_devkit/build_webpack/BUILD.bazel | 30 +++++++----- packages/angular_devkit/core/BUILD.bazel | 30 +++++++----- packages/angular_devkit/core/node/BUILD.bazel | 28 +++++++---- .../angular_devkit/schematics/BUILD.bazel | 24 ++++++--- .../schematics/tools/BUILD.bazel | 24 ++++++--- .../angular_devkit/schematics_cli/BUILD.bazel | 16 ++++-- packages/ngtools/webpack/BUILD.bazel | 26 ++++++---- packages/schematics/angular/BUILD.bazel | 49 ++++++++++++------- tools/toolchain_info.bzl | 25 ++++++++++ 16 files changed, 273 insertions(+), 117 deletions(-) create mode 100644 tools/toolchain_info.bzl diff --git a/.bazelrc b/.bazelrc index 09133cbffa91..88bfdaac6be4 100644 --- a/.bazelrc +++ b/.bazelrc @@ -50,6 +50,9 @@ test --incompatible_strict_action_env # Enable remote caching of build/action tree build --experimental_remote_merkle_tree_cache +# Ensure sandboxing is enabled even for exclusive tests +test --incompatible_exclusive_test_sandboxed + ############################### # Saucelabs support # # Turn on these settings with # diff --git a/WORKSPACE b/WORKSPACE index bf1b0b5a870f..a329102e2fa1 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -88,3 +88,13 @@ load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", aspect_bazel_lib_dependencies() register_jq_toolchains(version = "1.6") + +nodejs_register_toolchains( + name = "node14", + node_version = "14.17.1", +) + +nodejs_register_toolchains( + name = "node16", + node_version = "16.13.1", +) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 6ee0cb797b21..3628a7cd5e77 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -5,6 +5,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") @@ -151,10 +152,17 @@ ts_library( ], ) -jasmine_node_test( - name = "angular-cli_test", - srcs = [":angular-cli_test_lib"], -) +[ + jasmine_node_test( + name = "angular-cli_test_" + toolchain_name, + srcs = [":angular-cli_test_lib"], + toolchain = toolchain, + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] # @external_begin genrule( diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 37d9e0807fbf..10c6436ee557 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -6,6 +6,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") licenses(["notice"]) # MIT @@ -62,10 +63,17 @@ ts_library( ], ) -jasmine_node_test( - name = "pwa_test", - srcs = [":pwa_test_lib"], -) +[ + jasmine_node_test( + name = "pwa_test_" + toolchain_name, + srcs = [":pwa_test_lib"], + toolchain = toolchain, + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] genrule( name = "license", diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index d01ef9b03604..1af259b7006a 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -5,6 +5,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") @@ -90,10 +91,17 @@ ts_library( ], ) -jasmine_node_test( - name = "architect_test", - srcs = [":architect_test_lib"], -) +[ + jasmine_node_test( + name = "architect_test_" + toolchain_name, + srcs = [":architect_test_lib"], + toolchain = toolchain, + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] # @external_begin genrule( diff --git a/packages/angular_devkit/benchmark/BUILD.bazel b/packages/angular_devkit/benchmark/BUILD.bazel index 5fde557128a9..cdffb4b76612 100644 --- a/packages/angular_devkit/benchmark/BUILD.bazel +++ b/packages/angular_devkit/benchmark/BUILD.bazel @@ -5,6 +5,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") licenses(["notice"]) # MIT @@ -55,18 +56,25 @@ ts_library( # @external_end ) -jasmine_node_test( - name = "benchmark_test", - srcs = [":benchmark_test_lib"], - deps = [ - "@npm//jasmine", - "@npm//pidtree", - "@npm//pidusage", - "@npm//source-map", - "@npm//tree-kill", - "@npm//yargs-parser", - ], -) +[ + jasmine_node_test( + name = "benchmark_test_" + toolchain_name, + srcs = [":benchmark_test_lib"], + toolchain = toolchain, + deps = [ + "@npm//jasmine", + "@npm//pidtree", + "@npm//pidusage", + "@npm//source-map", + "@npm//tree-kill", + "@npm//yargs-parser", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] genrule( name = "license", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 00c8778c6cc3..ad46e2c7e5e2 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -6,6 +6,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) # MIT @@ -209,10 +210,17 @@ ts_library( ], ) -jasmine_node_test( - name = "build_angular_test", - srcs = [":build_angular_test_lib"], -) +[ + jasmine_node_test( + name = "build_angular_test_" + toolchain_name, + srcs = [":build_angular_test_lib"], + toolchain = toolchain, + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] genrule( name = "license", @@ -383,16 +391,23 @@ LARGE_SPECS = { ] [ - jasmine_node_test( - name = "build_angular_" + spec + "_test", - size = LARGE_SPECS[spec].get("size", "medium"), - flaky = LARGE_SPECS[spec].get("flaky", False), - shard_count = LARGE_SPECS[spec].get("shards", 2), - # These tests are resource intensive and should not be over-parallized as they will - # compete for the resources of other parallel tests slowing everything down. - # Ask Bazel to allocate multiple CPUs for these tests with "cpu:n" tag. - tags = ["cpu:2"] + LARGE_SPECS[spec].get("tags", []), - deps = [":build_angular_" + spec + "_test_lib"], + [ + jasmine_node_test( + name = "build_angular_" + spec + "_test_" + toolchain_name, + size = LARGE_SPECS[spec].get("size", "medium"), + flaky = LARGE_SPECS[spec].get("flaky", False), + shard_count = LARGE_SPECS[spec].get("shards", 2), + # These tests are resource intensive and should not be over-parallized as they will + # compete for the resources of other parallel tests slowing everything down. + # Ask Bazel to allocate multiple CPUs for these tests with "cpu:n" tag. + tags = ["cpu:2"] + LARGE_SPECS[spec].get("tags", []), + toolchain = toolchain, + deps = [":build_angular_" + spec + "_test_lib"], + ) + for spec in LARGE_SPECS + ] + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, ) - for spec in LARGE_SPECS ] diff --git a/packages/angular_devkit/build_webpack/BUILD.bazel b/packages/angular_devkit/build_webpack/BUILD.bazel index 2cbde79ccf58..28f067d32ba4 100644 --- a/packages/angular_devkit/build_webpack/BUILD.bazel +++ b/packages/angular_devkit/build_webpack/BUILD.bazel @@ -6,6 +6,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) # MIT @@ -87,17 +88,24 @@ ts_library( ], ) -jasmine_node_test( - name = "build_webpack_test", - srcs = [":build_webpack_test_lib"], - # Turns off nodejs require patches and turns on the linker, which sets up up node_modules - # so that standard node module resolution work. - templated_args = ["--nobazel_patch_module_resolver"], - deps = [ - "@npm//jasmine", - "@npm//source-map", - ], -) +[ + jasmine_node_test( + name = "build_webpack_test_" + toolchain_name, + srcs = [":build_webpack_test_lib"], + # Turns off nodejs require patches and turns on the linker, which sets up up node_modules + # so that standard node module resolution work. + templated_args = ["--nobazel_patch_module_resolver"], + toolchain = toolchain, + deps = [ + "@npm//jasmine", + "@npm//source-map", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] genrule( name = "license", diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 2ef8dcfcd0f7..455df84160b8 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # @external_begin load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") @@ -65,17 +66,24 @@ ts_library( ], ) -jasmine_node_test( - name = "core_test", - srcs = [":core_test_lib"], - # TODO: Audit tests to determine if tests can be run in RBE environments - local = True, - deps = [ - # @node_module: ajv - # @node_module: fast_json_stable_stringify - # @node_module: source_map - ], -) +[ + jasmine_node_test( + name = "core_test_" + toolchain_name, + srcs = [":core_test_lib"], + # TODO: Audit tests to determine if tests can be run in RBE environments + local = True, + toolchain = toolchain, + deps = [ + # @node_module: ajv + # @node_module: fast_json_stable_stringify + # @node_module: source_map + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] # @external_begin genrule( diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index b99e476d4869..60655649cb8e 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -5,6 +5,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") licenses(["notice"]) # MIT License @@ -52,13 +53,20 @@ ts_library( ], ) -jasmine_node_test( - name = "node_test", - srcs = [":node_test_lib"], - deps = [ - "@npm//chokidar", - # @node_module: ajv - # @node_module: fast_json_stable_stringify - # @node_module: magic_string - ], -) +[ + jasmine_node_test( + name = "node_test_" + toolchain_name, + srcs = [":node_test_lib"], + toolchain = toolchain, + deps = [ + "@npm//chokidar", + # @node_module: ajv + # @node_module: fast_json_stable_stringify + # @node_module: magic_string + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index b0ee2bcc10ba..63e099da0f6d 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # @external_begin load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") @@ -59,14 +60,21 @@ ts_library( ], ) -jasmine_node_test( - name = "schematics_test", - srcs = [":schematics_test_lib"], - deps = [ - "@npm//jasmine", - "@npm//source-map", - ], -) +[ + jasmine_node_test( + name = "schematics_test_" + toolchain_name, + srcs = [":schematics_test_lib"], + toolchain = toolchain, + deps = [ + "@npm//jasmine", + "@npm//source-map", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] # @external_begin genrule( diff --git a/packages/angular_devkit/schematics/tools/BUILD.bazel b/packages/angular_devkit/schematics/tools/BUILD.bazel index c7514fb510cd..f1686129e502 100644 --- a/packages/angular_devkit/schematics/tools/BUILD.bazel +++ b/packages/angular_devkit/schematics/tools/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # Copyright Google Inc. All Rights Reserved. # @@ -57,11 +58,18 @@ ts_library( ], ) -jasmine_node_test( - name = "tools_test", - srcs = [":tools_test_lib"], - deps = [ - "@npm//jasmine", - "@npm//source-map", - ], -) +[ + jasmine_node_test( + name = "tools_test_" + toolchain_name, + srcs = [":tools_test_lib"], + toolchain = toolchain, + deps = [ + "@npm//jasmine", + "@npm//source-map", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index a3945d0df047..3e198e43632b 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -1,6 +1,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # Copyright Google Inc. All Rights Reserved. # @@ -74,10 +75,17 @@ ts_library( ], ) -jasmine_node_test( - name = "schematics_cli_test", - srcs = [":schematics_cli_test_lib"], -) +[ + jasmine_node_test( + name = "schematics_cli_test_" + toolchain_name, + srcs = [":schematics_cli_test_lib"], + toolchain = toolchain, + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] ts_json_schema( name = "blank_schema", diff --git a/packages/ngtools/webpack/BUILD.bazel b/packages/ngtools/webpack/BUILD.bazel index 9ee6ba2258fd..f62420dddc16 100644 --- a/packages/ngtools/webpack/BUILD.bazel +++ b/packages/ngtools/webpack/BUILD.bazel @@ -5,6 +5,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") licenses(["notice"]) # MIT @@ -57,15 +58,22 @@ ts_library( ], ) -jasmine_node_test( - name = "webpack_test", - srcs = [":webpack_test_lib"], - deps = [ - "@npm//jasmine", - "@npm//source-map", - "@npm//tslib", - ], -) +[ + jasmine_node_test( + name = "webpack_test_" + toolchain_name, + srcs = [":webpack_test_lib"], + toolchain = toolchain, + deps = [ + "@npm//jasmine", + "@npm//source-map", + "@npm//tslib", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] genrule( name = "license", diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 39411228344c..5d9a5e464b09 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -6,6 +6,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") licenses(["notice"]) # MIT @@ -82,14 +83,21 @@ ts_library( ], ) -jasmine_node_test( - name = "no_typescript_runtime_dep_test", - srcs = ["no_typescript_runtime_dep_spec.js"], - deps = [ - ":angular", - "@npm//jasmine", - ], -) +[ + jasmine_node_test( + name = "no_typescript_runtime_dep_test_" + toolchain_name, + srcs = ["no_typescript_runtime_dep_spec.js"], + toolchain = toolchain, + deps = [ + ":angular", + "@npm//jasmine", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] ts_library( name = "angular_test_lib", @@ -118,15 +126,22 @@ ts_library( # @external_end ) -jasmine_node_test( - name = "angular_test", - srcs = [":angular_test_lib"], - deps = [ - "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", - "@npm//jasmine", - "@npm//source-map", - ], -) +[ + jasmine_node_test( + name = "angular_test_" + toolchain_name, + srcs = [":angular_test_lib"], + toolchain = toolchain, + deps = [ + "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", + "@npm//jasmine", + "@npm//source-map", + ], + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] genrule( name = "license", diff --git a/tools/toolchain_info.bzl b/tools/toolchain_info.bzl new file mode 100644 index 000000000000..4596497b29f6 --- /dev/null +++ b/tools/toolchain_info.bzl @@ -0,0 +1,25 @@ +# look at the toolchains registered in the workspace file with nodejs_register_toolchains + +# the name can be anything the user wants this is just added to the target to create unique names +# the order will match against the order in the TOOLCHAIN_VERSION list. +TOOLCHAINS_NAMES = [ + "node14", + "node16", +] + +# this is the list of toolchains that should be used and are registered with nodejs_register_toolchains in the WORKSPACE file +TOOLCHAINS_VERSIONS = [ + select({ + "@bazel_tools//src/conditions:linux_x86_64": "@node14_linux_amd64//:node_toolchain", + "@bazel_tools//src/conditions:darwin": "@node14_darwin_amd64//:node_toolchain", + "@bazel_tools//src/conditions:windows": "@node14_windows_amd64//:node_toolchain", + }), + select({ + "@bazel_tools//src/conditions:linux_x86_64": "@node14_linux_amd64//:node_toolchain", + "@bazel_tools//src/conditions:darwin": "@node14_darwin_amd64//:node_toolchain", + "@bazel_tools//src/conditions:windows": "@node14_windows_amd64//:node_toolchain", + }), +] + +# A default toolchain for use when only one is necessary +DEFAULT_TOOLCHAIN_VERSION = TOOLCHAINS_VERSIONS[len(TOOLCHAINS_VERSIONS) - 1] From d53fc6916d669291f78fb28db79f60e21a71a3d3 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 3 Aug 2022 07:05:59 +0000 Subject: [PATCH 0735/1388] build: update dependency puppeteer to v16 --- package.json | 2 +- yarn.lock | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 1357e4fb93eb..fdbc6da795a0 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "15.5.0", + "puppeteer": "16.0.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index aaa61af276ba..6cef582317af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9289,10 +9289,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@15.5.0: - version "15.5.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-15.5.0.tgz#446e01547ba0f47c37ac2148e5333433b4ecb371" - integrity sha512-+vZPU8iBSdCx1Kn5hHas80fyo0TiVyMeqLGv/1dygX2HKhAZjO9YThadbRTCoTYq0yWw+w/CysldPsEekDtjDQ== +puppeteer@16.0.0: + version "16.0.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.0.0.tgz#9efb6cdb57e3e51cf060a33f6289e88200dd4672" + integrity sha512-FgSe21IHNHkqv1SiJiob4ANsxVujcINa4p3MaDEMyoZsocbgSgwYE0c9lnF8eoinw4id3vx4DOXwhFdOOwVlDg== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -9305,7 +9305,7 @@ puppeteer@15.5.0: rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.8.0" + ws "8.8.1" q@1.4.1: version "1.4.1" @@ -11584,12 +11584,7 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" - integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== - -ws@>=8.7.0, ws@^8.4.2: +ws@8.8.1, ws@>=8.7.0, ws@^8.4.2: version "8.8.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== From afdb266ad16fa6d28aab8b9be9de3b7445c4cb98 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 3 Aug 2022 05:24:13 +0000 Subject: [PATCH 0736/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- .../src/webpack/plugins/esbuild-executor.ts | 5 +- yarn.lock | 233 ++++++++++-------- 4 files changed, 134 insertions(+), 116 deletions(-) diff --git a/package.json b/package.json index fdbc6da795a0..36c46fc47013 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.51", - "esbuild-wasm": "0.14.51", + "esbuild": "0.14.53", + "esbuild-wasm": "0.14.53", "eslint": "8.21.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -196,7 +196,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.0", + "sass": "1.54.1", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e1d071d91ed1..e0e73702cd58 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.51", + "esbuild-wasm": "0.14.53", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.0", + "sass": "1.54.1", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.51" + "esbuild": "0.14.53" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts index 921ff5a85767..5f2ad37f3c77 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/esbuild-executor.ts @@ -104,7 +104,10 @@ export class EsbuildExecutor this.alwaysUseWasm = true; } - async transform(input: string, options?: TransformOptions): Promise { + async transform( + input: string | Uint8Array, + options?: TransformOptions, + ): Promise { await this.ensureEsbuild(); return this.esbuildTransform(input, options); diff --git a/yarn.lock b/yarn.lock index 6cef582317af..52c1cc84e83d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1581,6 +1581,11 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/linux-loong64@0.14.53": + version "0.14.53" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.53.tgz#251b4cd6760fadb4d68a05815e6dc5e432d69cd6" + integrity sha512-W2dAL6Bnyn4xa/QRSU3ilIK4EzD5wgYXKXJiS1HDF5vU3675qc2bvFyLwbUcdmssDveyndy7FbitrCoiV/eMLg== + "@eslint/eslintrc@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" @@ -4825,10 +4830,10 @@ esbuild-android-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== -esbuild-android-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db" - integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ== +esbuild-android-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.53.tgz#259bc3ef1399a3cad8f4f67c40ee20779c4de675" + integrity sha512-fIL93sOTnEU+NrTAVMIKiAw0YH22HWCAgg4N4Z6zov2t0kY9RAJ50zY9ZMCQ+RT6bnOfDt8gCTnt/RaSNA2yRA== esbuild-android-arm64@0.14.48: version "0.14.48" @@ -4840,10 +4845,10 @@ esbuild-android-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== -esbuild-android-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151" - integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A== +esbuild-android-arm64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.53.tgz#2158253d4e8f9fdd2a081bbb4f73b8806178841e" + integrity sha512-PC7KaF1v0h/nWpvlU1UMN7dzB54cBH8qSsm7S9mkwFA1BXpaEOufCg8hdoEI1jep0KeO/rjZVWrsH8+q28T77A== esbuild-darwin-64@0.14.48: version "0.14.48" @@ -4855,10 +4860,10 @@ esbuild-darwin-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== -esbuild-darwin-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754" - integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA== +esbuild-darwin-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.53.tgz#b4681831fd8f8d06feb5048acbe90d742074cc2a" + integrity sha512-gE7P5wlnkX4d4PKvLBUgmhZXvL7lzGRLri17/+CmmCzfncIgq8lOBvxGMiQ4xazplhxq+72TEohyFMZLFxuWvg== esbuild-darwin-arm64@0.14.48: version "0.14.48" @@ -4870,10 +4875,10 @@ esbuild-darwin-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== -esbuild-darwin-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a" - integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow== +esbuild-darwin-arm64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.53.tgz#d267d957852d121b261b3f76ead86e5b5463acc9" + integrity sha512-otJwDU3hnI15Q98PX4MJbknSZ/WSR1I45il7gcxcECXzfN4Mrpft5hBDHXNRnCh+5858uPXBXA1Vaz2jVWLaIA== esbuild-freebsd-64@0.14.48: version "0.14.48" @@ -4885,10 +4890,10 @@ esbuild-freebsd-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== -esbuild-freebsd-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38" - integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g== +esbuild-freebsd-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.53.tgz#aca2af6d72b537fe66a38eb8f374fb66d4c98ca0" + integrity sha512-WkdJa8iyrGHyKiPF4lk0MiOF87Q2SkE+i+8D4Cazq3/iqmGPJ6u49je300MFi5I2eUsQCkaOWhpCVQMTKGww2w== esbuild-freebsd-arm64@0.14.48: version "0.14.48" @@ -4900,10 +4905,10 @@ esbuild-freebsd-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== -esbuild-freebsd-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec" - integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg== +esbuild-freebsd-arm64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.53.tgz#76282e19312d914c34343c8a7da6cc5f051580b9" + integrity sha512-9T7WwCuV30NAx0SyQpw8edbKvbKELnnm1FHg7gbSYaatH+c8WJW10g/OdM7JYnv7qkimw2ZTtSA+NokOLd2ydQ== esbuild-linux-32@0.14.48: version "0.14.48" @@ -4915,10 +4920,10 @@ esbuild-linux-32@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== -esbuild-linux-32@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9" - integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w== +esbuild-linux-32@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.53.tgz#1045d34cf7c5faaf2af3b29cc1573b06580c37e5" + integrity sha512-VGanLBg5en2LfGDgLEUxQko2lqsOS7MTEWUi8x91YmsHNyzJVT/WApbFFx3MQGhkf+XdimVhpyo5/G0PBY91zg== esbuild-linux-64@0.14.48: version "0.14.48" @@ -4930,10 +4935,10 @@ esbuild-linux-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== -esbuild-linux-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae" - integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA== +esbuild-linux-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.53.tgz#ab3f2ee2ebb5a6930c72d9539cb34b428808cbe4" + integrity sha512-pP/FA55j/fzAV7N9DF31meAyjOH6Bjuo3aSKPh26+RW85ZEtbJv9nhoxmGTd9FOqjx59Tc1ZbrJabuiXlMwuZQ== esbuild-linux-arm64@0.14.48: version "0.14.48" @@ -4945,10 +4950,10 @@ esbuild-linux-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== -esbuild-linux-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93" - integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw== +esbuild-linux-arm64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.53.tgz#1f5530412f6690949e78297122350488d3266cfe" + integrity sha512-GDmWITT+PMsjCA6/lByYk7NyFssW4Q6in32iPkpjZ/ytSyH+xeEx8q7HG3AhWH6heemEYEWpTll/eui3jwlSnw== esbuild-linux-arm@0.14.48: version "0.14.48" @@ -4960,10 +4965,10 @@ esbuild-linux-arm@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== -esbuild-linux-arm@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106" - integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg== +esbuild-linux-arm@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.53.tgz#a44ec9b5b42007ab6c0d65a224ccc6bbd97c54cf" + integrity sha512-/u81NGAVZMopbmzd21Nu/wvnKQK3pT4CrvQ8BTje1STXcQAGnfyKgQlj3m0j2BzYbvQxSy+TMck4TNV2onvoPA== esbuild-linux-mips64le@0.14.48: version "0.14.48" @@ -4975,10 +4980,10 @@ esbuild-linux-mips64le@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== -esbuild-linux-mips64le@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385" - integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A== +esbuild-linux-mips64le@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.53.tgz#a4d0b6b17cfdeea4e41b0b085a5f73d99311be9f" + integrity sha512-d6/XHIQW714gSSp6tOOX2UscedVobELvQlPMkInhx1NPz4ThZI9uNLQ4qQJHGBGKGfu+rtJsxM4NVHLhnNRdWQ== esbuild-linux-ppc64le@0.14.48: version "0.14.48" @@ -4990,10 +4995,10 @@ esbuild-linux-ppc64le@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== -esbuild-linux-ppc64le@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0" - integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ== +esbuild-linux-ppc64le@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.53.tgz#8c331822c85465434e086e3e6065863770c38139" + integrity sha512-ndnJmniKPCB52m+r6BtHHLAOXw+xBCWIxNnedbIpuREOcbSU/AlyM/2dA3BmUQhsHdb4w3amD5U2s91TJ3MzzA== esbuild-linux-riscv64@0.14.48: version "0.14.48" @@ -5005,10 +5010,10 @@ esbuild-linux-riscv64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== -esbuild-linux-riscv64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93" - integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA== +esbuild-linux-riscv64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.53.tgz#36fd75543401304bea8a2d63bf8ea18aaa508e00" + integrity sha512-yG2sVH+QSix6ct4lIzJj329iJF3MhloLE6/vKMQAAd26UVPVkhMFqFopY+9kCgYsdeWvXdPgmyOuKa48Y7+/EQ== esbuild-linux-s390x@0.14.48: version "0.14.48" @@ -5020,10 +5025,10 @@ esbuild-linux-s390x@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== -esbuild-linux-s390x@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" - integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== +esbuild-linux-s390x@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.53.tgz#1622677ab6824123f48f75d3afc031cd41936129" + integrity sha512-OCJlgdkB+XPYndHmw6uZT7jcYgzmx9K+28PVdOa/eLjdoYkeAFvH5hTwX4AXGLZLH09tpl4bVsEtvuyUldaNCg== esbuild-netbsd-64@0.14.48: version "0.14.48" @@ -5035,10 +5040,10 @@ esbuild-netbsd-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== -esbuild-netbsd-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891" - integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A== +esbuild-netbsd-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.53.tgz#e86d0efd0116658be335492ed12e66b26b4baf52" + integrity sha512-gp2SB+Efc7MhMdWV2+pmIs/Ja/Mi5rjw+wlDmmbIn68VGXBleNgiEZG+eV2SRS0kJEUyHNedDtwRIMzaohWedQ== esbuild-openbsd-64@0.14.48: version "0.14.48" @@ -5050,10 +5055,10 @@ esbuild-openbsd-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== -esbuild-openbsd-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8" - integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA== +esbuild-openbsd-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.53.tgz#9bcbbe6f86304872c6e91f64c8eb73fc29c3588b" + integrity sha512-eKQ30ZWe+WTZmteDYg8S+YjHV5s4iTxeSGhJKJajFfQx9TLZJvsJX0/paqwP51GicOUruFpSUAs2NCc0a4ivQQ== esbuild-sunos-64@0.14.48: version "0.14.48" @@ -5065,20 +5070,20 @@ esbuild-sunos-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== -esbuild-sunos-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891" - integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA== +esbuild-sunos-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.53.tgz#f7a872f7460bfb7b131f7188a95fbce3d1c577e8" + integrity sha512-OWLpS7a2FrIRukQqcgQqR1XKn0jSJoOdT+RlhAxUoEQM/IpytS3FXzCJM6xjUYtpO5GMY0EdZJp+ur2pYdm39g== esbuild-wasm@0.14.48: version "0.14.48" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== -esbuild-wasm@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.51.tgz#5baa9493c8f14dd4c65de9988f24c27491b55212" - integrity sha512-OTNkhLpwikiRAzN2tRfx7klShnKf32tpuspBRtJrKAG80LioFCydbHw4nPxsDQ6m8GjfFGRQaGl3yPUeaFHzBQ== +esbuild-wasm@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" + integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== esbuild-wasm@^0.14.29: version "0.14.50" @@ -5095,10 +5100,10 @@ esbuild-windows-32@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== -esbuild-windows-32@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17" - integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg== +esbuild-windows-32@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.53.tgz#c5e3ca50e2d1439cc2c9fe4defa63bcd474ce709" + integrity sha512-m14XyWQP5rwGW0tbEfp95U6A0wY0DYPInWBB7D69FAXUpBpBObRoGTKRv36lf2RWOdE4YO3TNvj37zhXjVL5xg== esbuild-windows-64@0.14.48: version "0.14.48" @@ -5110,10 +5115,10 @@ esbuild-windows-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== -esbuild-windows-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d" - integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA== +esbuild-windows-64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.53.tgz#ec2ab4a60c5215f092ffe1eab6d01319e88238af" + integrity sha512-s9skQFF0I7zqnQ2K8S1xdLSfZFsPLuOGmSx57h2btSEswv0N0YodYvqLcJMrNMXh6EynOmWD7rz+0rWWbFpIHQ== esbuild-windows-arm64@0.14.48: version "0.14.48" @@ -5125,10 +5130,10 @@ esbuild-windows-arm64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== -esbuild-windows-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" - integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== +esbuild-windows-arm64@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.53.tgz#f71d403806bdf9f4a1f9d097db9aec949bd675c8" + integrity sha512-E+5Gvb+ZWts+00T9II6wp2L3KG2r3iGxByqd/a1RmLmYWVsSVUjkvIxZuJ3hYTIbhLkH5PRwpldGTKYqVz0nzQ== esbuild@0.14.48: version "0.14.48" @@ -5156,31 +5161,32 @@ esbuild@0.14.48: esbuild-windows-64 "0.14.48" esbuild-windows-arm64 "0.14.48" -esbuild@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e" - integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== +esbuild@0.14.53: + version "0.14.53" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.53.tgz#20b1007f686e8584f2a01a1bec5a37aac9498ce4" + integrity sha512-ohO33pUBQ64q6mmheX1mZ8mIXj8ivQY/L4oVuAshr+aJI+zLl+amrp3EodrUNDNYVrKJXGPfIHFGhO8slGRjuw== optionalDependencies: - esbuild-android-64 "0.14.51" - esbuild-android-arm64 "0.14.51" - esbuild-darwin-64 "0.14.51" - esbuild-darwin-arm64 "0.14.51" - esbuild-freebsd-64 "0.14.51" - esbuild-freebsd-arm64 "0.14.51" - esbuild-linux-32 "0.14.51" - esbuild-linux-64 "0.14.51" - esbuild-linux-arm "0.14.51" - esbuild-linux-arm64 "0.14.51" - esbuild-linux-mips64le "0.14.51" - esbuild-linux-ppc64le "0.14.51" - esbuild-linux-riscv64 "0.14.51" - esbuild-linux-s390x "0.14.51" - esbuild-netbsd-64 "0.14.51" - esbuild-openbsd-64 "0.14.51" - esbuild-sunos-64 "0.14.51" - esbuild-windows-32 "0.14.51" - esbuild-windows-64 "0.14.51" - esbuild-windows-arm64 "0.14.51" + "@esbuild/linux-loong64" "0.14.53" + esbuild-android-64 "0.14.53" + esbuild-android-arm64 "0.14.53" + esbuild-darwin-64 "0.14.53" + esbuild-darwin-arm64 "0.14.53" + esbuild-freebsd-64 "0.14.53" + esbuild-freebsd-arm64 "0.14.53" + esbuild-linux-32 "0.14.53" + esbuild-linux-64 "0.14.53" + esbuild-linux-arm "0.14.53" + esbuild-linux-arm64 "0.14.53" + esbuild-linux-mips64le "0.14.53" + esbuild-linux-ppc64le "0.14.53" + esbuild-linux-riscv64 "0.14.53" + esbuild-linux-s390x "0.14.53" + esbuild-netbsd-64 "0.14.53" + esbuild-openbsd-64 "0.14.53" + esbuild-sunos-64 "0.14.53" + esbuild-windows-32 "0.14.53" + esbuild-windows-64 "0.14.53" + esbuild-windows-arm64 "0.14.53" esbuild@^0.14.29: version "0.14.50" @@ -9854,7 +9860,16 @@ sass@1.53.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.0, sass@^1.49.9: +sass@1.54.1: + version "1.54.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.1.tgz#4f72ef57ce2a6c3251f4e2c75eee9a0c19e09eb5" + integrity sha512-GHJJr31Me32RjjUBagyzx8tzjKBUcDwo5239XANIRBq0adDu5iIG0aFO0i/TBb/4I9oyxkEv44nq/kL1DxdDhA== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sass@^1.49.9: version "1.54.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.0.tgz#24873673265e2a4fe3d3a997f714971db2fba1f4" integrity sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ== From 5d600f38cc0475c843fe89cd750b503b0796edea Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 3 Aug 2022 11:25:58 -0700 Subject: [PATCH 0737/1388] docs: release notes for the v14.1.1 release --- CHANGELOG.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6da4737334e1..e0220f7f59b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,46 @@ + + +# 14.1.1 (2022-08-03) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [4ee825bac](https://github.com/angular/angular-cli/commit/4ee825baca21c21db844bdf718b6ec29dc6c3d42) | fix | catch clause variable is not an Error instance | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------- | +| [83dcfb32f](https://github.com/angular/angular-cli/commit/83dcfb32f8ef3334f83bb36a2c3097fe9f8a4e4b) | fix | prevent numbers from class names | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | +| [ef6da4aad](https://github.com/angular/angular-cli/commit/ef6da4aad76ff534d4edb9e73c2d56c53b649b15) | fix | allow the esbuild-based builder to fully resolve global stylesheet packages | +| [eed54b359](https://github.com/angular/angular-cli/commit/eed54b359d2b514156242529ee8a25b51c50dae0) | fix | catch clause variable is not an Error instance | +| [c98471094](https://github.com/angular/angular-cli/commit/c9847109438d33d38a31ded20a1cab2721fc1fbd) | fix | correctly respond to preflight requests | +| [94b444e4c](https://github.com/angular/angular-cli/commit/94b444e4caff4c3092e0291d9109e2abed966656) | fix | correctly set `ngDevMode` in esbuilder | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- | +| [44c18082a](https://github.com/angular/angular-cli/commit/44c18082a5963b7f9d0f1577a0975b2f35abe6a2) | fix | `classify` string util should concat string without using a `.` | + +### @angular/create + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- | +| [cb0d3fb33](https://github.com/angular/angular-cli/commit/cb0d3fb33f196393761924731c3c3786a3a3493b) | fix | use appropriate package manager to install dependencies | + +## Special Thanks + +Alan Agius, Charles Lyding, Jason Bedard and Paul Gschwendtner + + + # 14.1.0 (2022-07-20) From 88c3b7141b863da708cd588414265a85f8383d16 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 3 Aug 2022 12:29:51 -0700 Subject: [PATCH 0738/1388] release: cut the v14.2.0-next.0 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0220f7f59b2..5da9acf19c9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.2.0-next.0 (2022-08-03) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [596037010](https://github.com/angular/angular-cli/commit/596037010a8113809657cebc9385d040922e6d86) | fix | add missing space after period in warning text | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Jason Bedard and angular-robot[bot] + + + # 14.1.1 (2022-08-03) From 70bc35456aa5b58ce1a0e2440ebb6533c7f5e48b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 4 Aug 2022 14:44:23 +0000 Subject: [PATCH 0739/1388] fix(@angular-devkit/build-angular): correctly handle data URIs with escaped quotes in stylesheets Previously, the RegExp didn't correctly handle cases where data URIs had escaped quotes like the below ```css url("data:image/svg+xml;charset=utf-8,") ``` Closes #23680 --- .../src/builders/browser/specs/styles_spec.ts | 13 +++++++++++++ .../src/webpack/plugins/postcss-cli-resources.ts | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index b245a7c52d1d..08c4fb6c4673 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -693,4 +693,17 @@ describe('Browser Builder styles', () => { await browserBuild(architect, host, target, { styles: ['src/styles.css'] }); }); + + it('works when Data URI has escaped quote', async () => { + const svgData = `"data:image/svg+xml;charset=utf-8,"`; + + host.writeMultipleFiles({ + 'src/styles.css': ` + div { background: url(${svgData}) } + `, + }); + + const result = await browserBuild(architect, host, target, { styles: ['src/styles.css'] }); + expect(await result.files['styles.css']).toContain(svgData); + }); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index 1a6cadf7200a..ed78cb632a5b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -155,7 +155,7 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { } const value = decl.value; - const urlRegex = /url\(\s*(?:"([^"]+)"|'([^']+)'|(.+?))\s*\)/g; + const urlRegex = /url(?:\(\s*['"]?)(.*?)(?:['"]?\s*\))/g; const segments: string[] = []; let match; @@ -168,7 +168,7 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { // eslint-disable-next-line no-cond-assign while ((match = urlRegex.exec(value))) { - const originalUrl = match[1] || match[2] || match[3]; + const originalUrl = match[1]; let processedUrl; try { processedUrl = await process(originalUrl, context, resourceCache); From d614a7e04f7e591aebd1bbce8f481a7cca328f09 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 3 Aug 2022 20:32:25 -0700 Subject: [PATCH 0740/1388] test: use common mockHome method --- .../commands/completion/completion-prompt.ts | 12 +-------- .../tests/commands/completion/completion.ts | 26 +------------------ .../e2e/tests/misc/ask-analytics-command.ts | 21 +++------------ tests/legacy-cli/e2e/utils/utils.ts | 17 +++++++++++- 4 files changed, 22 insertions(+), 54 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts index 7efb5795aa19..1e233d891e32 100644 --- a/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion-prompt.ts @@ -2,7 +2,7 @@ import { promises as fs } from 'fs'; import * as path from 'path'; import { env } from 'process'; import { getGlobalVariable } from '../../../utils/env'; -import { mktempd } from '../../../utils/utils'; +import { mockHome } from '../../../utils/utils'; import { execAndCaptureError, @@ -447,13 +447,3 @@ async function windowsTests(): Promise { } }); } - -async function mockHome(cb: (home: string) => Promise): Promise { - const tempHome = await mktempd('angular-cli-e2e-home-'); - - try { - await cb(tempHome); - } finally { - await fs.rm(tempHome, { recursive: true, force: true }); - } -} diff --git a/tests/legacy-cli/e2e/tests/commands/completion/completion.ts b/tests/legacy-cli/e2e/tests/commands/completion/completion.ts index 2e8875c19193..496620b5cf52 100644 --- a/tests/legacy-cli/e2e/tests/commands/completion/completion.ts +++ b/tests/legacy-cli/e2e/tests/commands/completion/completion.ts @@ -1,7 +1,7 @@ import { promises as fs } from 'fs'; import * as path from 'path'; import { getGlobalVariable } from '../../../utils/env'; -import { mktempd } from '../../../utils/utils'; +import { mockHome } from '../../../utils/utils'; import { execAndCaptureError, execAndWaitForOutputToMatch, @@ -29,7 +29,6 @@ export default async function () { { ...process.env, 'SHELL': '/bin/bash', - 'HOME': home, }, ); @@ -52,7 +51,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }, ); @@ -77,7 +75,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/bin/bash', - 'HOME': home, }, ); @@ -103,7 +100,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/bin/bash', - 'HOME': home, }, ); @@ -129,7 +125,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/bin/bash', - 'HOME': home, }, ); @@ -160,7 +155,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/bin/bash', - 'HOME': home, }, ); @@ -196,7 +190,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }, ); @@ -222,7 +215,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }, ); @@ -248,7 +240,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }, ); @@ -279,7 +270,6 @@ source <(ng completion script) { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }, ); @@ -322,7 +312,6 @@ source <(ng completion script) const err = await execAndCaptureError('ng', ['completion'], { ...process.env, SHELL: undefined, - HOME: home, }); if (!err.message.includes('`$SHELL` environment variable not set.')) { throw new Error(`Expected unset \`$SHELL\` error message, but got:\n\n${err.message}`); @@ -334,7 +323,6 @@ source <(ng completion script) const err = await execAndCaptureError('ng', ['completion'], { ...process.env, SHELL: '/usr/bin/unknown', - HOME: home, }); if (!err.message.includes('Unknown `$SHELL` environment variable')) { throw new Error(`Expected unknown \`$SHELL\` error message, but got:\n\n${err.message}`); @@ -346,7 +334,6 @@ source <(ng completion script) const { stdout } = await execWithEnv('ng', ['completion'], { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }); if (stdout.includes('there does not seem to be a global install of the Angular CLI')) { @@ -373,7 +360,6 @@ source <(ng completion script) const { stdout } = await execWithEnv(localCliBinary, ['completion'], { ...process.env, 'SHELL': '/usr/bin/zsh', - 'HOME': home, }); if (stdout.includes('there does not seem to be a global install of the Angular CLI')) { @@ -395,13 +381,3 @@ async function windowsTests(): Promise { ); } } - -async function mockHome(cb: (home: string) => Promise): Promise { - const tempHome = await mktempd('angular-cli-e2e-home-'); - - try { - await cb(tempHome); - } finally { - await fs.rm(tempHome, { recursive: true, force: true }); - } -} diff --git a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts index 1cde8a8f0b71..831909817e81 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts +++ b/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts @@ -1,17 +1,16 @@ -import { promises as fs } from 'fs'; import { execWithEnv } from '../../utils/process'; +import { mockHome } from '../../utils/utils'; const ANALYTICS_PROMPT = /Would you like to share anonymous usage data/; export default async function () { // CLI should prompt for analytics permissions. - await mockHome(async (home) => { + await mockHome(async () => { const { stdout } = await execWithEnv( 'ng', ['version'], { ...process.env, - HOME: home, NG_FORCE_TTY: '1', NG_FORCE_AUTOCOMPLETE: 'false', }, @@ -24,10 +23,9 @@ export default async function () { }); // CLI should skip analytics prompt with `NG_CLI_ANALYTICS=false`. - await mockHome(async (home) => { + await mockHome(async () => { const { stdout } = await execWithEnv('ng', ['version'], { ...process.env, - HOME: home, NG_FORCE_TTY: '1', NG_CLI_ANALYTICS: 'false', NG_FORCE_AUTOCOMPLETE: 'false', @@ -39,10 +37,9 @@ export default async function () { }); // CLI should skip analytics prompt during `ng update`. - await mockHome(async (home) => { + await mockHome(async () => { const { stdout } = await execWithEnv('ng', ['update', '--help'], { ...process.env, - HOME: home, NG_FORCE_TTY: '1', NG_FORCE_AUTOCOMPLETE: 'false', }); @@ -54,13 +51,3 @@ export default async function () { } }); } - -async function mockHome(cb: (home: string) => Promise): Promise { - const tempHome = await fs.mkdtemp('angular-cli-e2e-home-'); - - try { - await cb(tempHome); - } finally { - await fs.rm(tempHome, { recursive: true, force: true }); - } -} diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index da7b8b5921bc..b6e8374c464c 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -1,4 +1,4 @@ -import { mkdtemp, realpath } from 'fs/promises'; +import { mkdtemp, realpath, rm } from 'fs/promises'; import { tmpdir } from 'os'; import path from 'path'; @@ -26,3 +26,18 @@ export function wait(msecs: number): Promise { export async function mktempd(prefix: string): Promise { return realpath(await mkdtemp(path.join(tmpdir(), prefix))); } + +export async function mockHome(cb: (home: string) => Promise): Promise { + const tempHome = await mktempd('angular-cli-e2e-home-'); + + const oldHome = process.env.HOME; + process.env.HOME = tempHome; + + try { + await cb(tempHome); + } finally { + process.env.HOME = oldHome; + + await rm(tempHome, { recursive: true, force: true }); + } +} From 8f9cee351e5cc7da5a75b1a9b06306bc224e6b56 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 2 Aug 2022 21:12:35 -0400 Subject: [PATCH 0741/1388] perf(@angular-devkit/build-angular): use esbuild in esbuild builder to downlevel native async/await esbuild now allows specifying whether individual JavaScript features should be supported in addition to specifying the target JavaScript version for the output. This capability is now used to provide the native async/await downleveling that is required by Zone.js when using the experimental esbuild- based browser application builder. Since esbuild does not yet support downleveling async iteration or async generators, Babel is still used when either of these syntax features are detected. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 5 +++-- .../src/builders/browser-esbuild/index.ts | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 99db5d2bd6b0..4beb17b1a747 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -341,7 +341,7 @@ export function createCompilerPlugin( [ angularApplicationPreset, { - forceAsyncTransformation: data.includes('async'), + forceAsyncTransformation: /for\s+await\s*\(|async\s+function\s*\*/.test(data), optimize: pluginOptions.advancedOptimizations && {}, }, ], @@ -388,7 +388,8 @@ export function createCompilerPlugin( linkerPluginCreator, }, forceAsyncTransformation: - !/[\\/][_f]?esm2015[\\/]/.test(args.path) && data.includes('async'), + !/[\\/][_f]?esm2015[\\/]/.test(args.path) && + /for\s+await\s*\(|async\s+function\s*\*/.test(data), optimize: pluginOptions.advancedOptimizations && { looseEnums: angularPackage, pureTopLevel: angularPackage, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 3dc86fee2eb8..af31991eda07 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -307,6 +307,18 @@ async function bundleCode( entryNames: outputNames.bundles, assetNames: outputNames.media, target: 'es2020', + supported: { + // Native async/await is not supported with Zone.js. Disabling support here will cause + // esbuild to downlevel async/await to a Zone.js supported form. + 'async-await': false, + // Zone.js also does not support async generators or async iterators. However, esbuild does + // not currently support downleveling either of them. Instead babel is used within the JS/TS + // loader to perform the downlevel transformation. They are both disabled here to allow + // esbuild to handle them in the future if support is ever added. + // NOTE: If esbuild adds support in the future, the babel support for these can be disabled. + 'async-generator': false, + 'for-await': false, + }, mainFields: ['es2020', 'browser', 'module', 'main'], conditions: ['es2020', 'es2015', 'module'], resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], From 3e3dc6962d49cb8e8575146b22d134732cfff39f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 3 Aug 2022 13:38:07 -0400 Subject: [PATCH 0742/1388] perf(@angular-devkit/build-angular): reduce babel transformation in esbuild builder When using the experimental esbuild-based browser application builder, babel transformation is now only performed on a file if the file requires the specific transformations enabled for the build. This has the benefit of removing the need to parse and process files that will not be affected by the enabled transformations. From initial testing, this provides a 30% build time improvement for development builds of a newly generated application and a 10% improvement for production builds. --- .../browser-esbuild/compiler-plugin.ts | 47 ++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 4beb17b1a747..c6844dd6b4aa 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -323,11 +323,23 @@ export function createCompilerPlugin( }; } + const data = typescriptResult.content ?? ''; + const forceAsyncTransformation = /for\s+await\s*\(|async\s+function\s*\*/.test(data); const useInputSourcemap = pluginOptions.sourcemap && (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); - const data = typescriptResult.content ?? ''; + // If no additional transformations are needed, return the TypeScript output directly + if (!forceAsyncTransformation && !pluginOptions.advancedOptimizations) { + return { + // Strip sourcemaps if they should not be used + contents: useInputSourcemap + ? data + : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''), + loader: 'js', + }; + } + const babelResult = await transformAsync(data, { filename: args.path, inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, @@ -341,7 +353,7 @@ export function createCompilerPlugin( [ angularApplicationPreset, { - forceAsyncTransformation: /for\s+await\s*\(|async\s+function\s*\*/.test(data), + forceAsyncTransformation, optimize: pluginOptions.advancedOptimizations && {}, }, ], @@ -356,6 +368,26 @@ export function createCompilerPlugin( ); build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => { + const data = await fs.readFile(args.path, 'utf-8'); + const forceAsyncTransformation = + !/[\\/][_f]?esm2015[\\/]/.test(args.path) && + /for\s+await\s*\(|async\s+function\s*\*/.test(data); + const shouldLink = await requiresLinking(args.path, data); + const useInputSourcemap = + pluginOptions.sourcemap && + (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); + + // If no additional transformations are needed, return the TypeScript output directly + if (!forceAsyncTransformation && !pluginOptions.advancedOptimizations && !shouldLink) { + return { + // Strip sourcemaps if they should not be used + contents: useInputSourcemap + ? data + : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''), + loader: 'js', + }; + } + const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(args.path); const linkerPluginCreator = ( @@ -364,11 +396,6 @@ export function createCompilerPlugin( ) ).createEs2015LinkerPlugin; - const useInputSourcemap = - pluginOptions.sourcemap && - (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); - - const data = await fs.readFile(args.path, 'utf-8'); const result = await transformAsync(data, { filename: args.path, inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, @@ -383,13 +410,11 @@ export function createCompilerPlugin( angularApplicationPreset, { angularLinker: { - shouldLink: await requiresLinking(args.path, data), + shouldLink, jitMode: false, linkerPluginCreator, }, - forceAsyncTransformation: - !/[\\/][_f]?esm2015[\\/]/.test(args.path) && - /for\s+await\s*\(|async\s+function\s*\*/.test(data), + forceAsyncTransformation, optimize: pluginOptions.advancedOptimizations && { looseEnums: angularPackage, pureTopLevel: angularPackage, From 44c25511ea2adbd4fbe82a6122fc00af612be8e8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 3 Aug 2022 14:51:13 +0000 Subject: [PATCH 0743/1388] feat(@angular-devkit/build-angular): add ability to serve service worker when using dev-server With this change we add the ability for the dev-server to serve service workers when configured in the browser builder. Closes #9869 --- .../src/builders/dev-server/index.ts | 16 +- .../behavior/serve_service-worker_spec.ts | 171 ++++++++++++++++++ .../build_angular/src/utils/service-worker.ts | 77 ++++---- .../webpack/plugins/service-worker-plugin.ts | 40 ++++ 4 files changed, 266 insertions(+), 38 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index 106e572d7128..dcc9bccc6496 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -43,6 +43,7 @@ import { getStylesConfig, } from '../../webpack/configs'; import { IndexHtmlWebpackPlugin } from '../../webpack/plugins/index-html-webpack-plugin'; +import { ServiceWorkerPlugin } from '../../webpack/plugins/service-worker-plugin'; import { createWebpackLoggingCallback } from '../../webpack/utils/stats'; import { Schema as BrowserBuilderSchema, OutputHashing } from '../browser/schema'; import { Schema } from './schema'; @@ -205,6 +206,8 @@ export function serveWebpackBrowser( webpackConfig = await transforms.webpackConfiguration(webpackConfig); } + webpackConfig.plugins ??= []; + if (browserOptions.index) { const { scripts = [], styles = [], baseHref } = browserOptions; const entrypoints = generateEntryPoints({ @@ -216,7 +219,6 @@ export function serveWebpackBrowser( isHMREnabled: !!webpackConfig.devServer?.hot, }); - webpackConfig.plugins ??= []; webpackConfig.plugins.push( new IndexHtmlWebpackPlugin({ indexPath: path.resolve(workspaceRoot, getIndexInputFile(browserOptions.index)), @@ -234,6 +236,18 @@ export function serveWebpackBrowser( ); } + if (browserOptions.serviceWorker) { + webpackConfig.plugins.push( + new ServiceWorkerPlugin({ + baseHref: browserOptions.baseHref, + root: context.workspaceRoot, + projectRoot, + outputPath: path.join(context.workspaceRoot, browserOptions.outputPath), + ngswConfigPath: browserOptions.ngswConfigPath, + }), + ); + } + return { browserOptions, webpackConfig, diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts new file mode 100644 index 000000000000..13e80c7058c6 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts @@ -0,0 +1,171 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +// eslint-disable-next-line import/no-extraneous-dependencies +import fetch from 'node-fetch'; +import { concatMap, count, take, timeout } from 'rxjs/operators'; +import { serveWebpackBrowser } from '../../index'; +import { executeOnceAndFetch } from '../execute-fetch'; +import { + BASE_OPTIONS, + BUILD_TIMEOUT, + DEV_SERVER_BUILDER_INFO, + describeBuilder, + setupBrowserTarget, +} from '../setup'; + +describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { + const manifest = { + index: '/index.html', + assetGroups: [ + { + name: 'app', + installMode: 'prefetch', + resources: { + files: ['/favicon.ico', '/index.html'], + }, + }, + { + name: 'assets', + installMode: 'lazy', + updateMode: 'prefetch', + resources: { + files: ['/assets/**', '/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)'], + }, + }, + ], + }; + + describe('Behavior: "dev-server builder serves service worker"', () => { + it('works with service worker', async () => { + setupBrowserTarget(harness, { + serviceWorker: true, + assets: ['src/favicon.ico', 'src/assets'], + styles: ['src/styles.css'], + }); + + await harness.writeFiles({ + 'ngsw-config.json': JSON.stringify(manifest), + 'src/assets/folder-asset.txt': 'folder-asset.txt', + 'src/styles.css': `body { background: url(./spectrum.png); }`, + }); + + harness.useTarget('serve', { + ...BASE_OPTIONS, + }); + + const { result, response } = await executeOnceAndFetch(harness, '/ngsw.json'); + + expect(result?.success).toBeTrue(); + + expect(await response?.json()).toEqual( + jasmine.objectContaining({ + configVersion: 1, + index: '/index.html', + navigationUrls: [ + { positive: true, regex: '^\\/.*$' }, + { positive: false, regex: '^\\/(?:.+\\/)?[^/]*\\.[^/]*$' }, + { positive: false, regex: '^\\/(?:.+\\/)?[^/]*__[^/]*$' }, + { positive: false, regex: '^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$' }, + ], + assetGroups: [ + { + name: 'app', + installMode: 'prefetch', + updateMode: 'prefetch', + urls: ['/favicon.ico', '/index.html'], + cacheQueryOptions: { + ignoreVary: true, + }, + patterns: [], + }, + { + name: 'assets', + installMode: 'lazy', + updateMode: 'prefetch', + urls: ['/assets/folder-asset.txt', '/spectrum.png'], + cacheQueryOptions: { + ignoreVary: true, + }, + patterns: [], + }, + ], + dataGroups: [], + hashTable: { + '/favicon.ico': '84161b857f5c547e3699ddfbffc6d8d737542e01', + '/assets/folder-asset.txt': '617f202968a6a81050aa617c2e28e1dca11ce8d4', + '/index.html': 'cb8ad8c81cd422699d6d831b6f25ad4481f2c90a', + '/spectrum.png': '8d048ece46c0f3af4b598a95fd8e4709b631c3c0', + }, + }), + ); + }); + + it('works in watch mode', async () => { + setupBrowserTarget(harness, { + serviceWorker: true, + watch: true, + assets: ['src/favicon.ico', 'src/assets'], + styles: ['src/styles.css'], + }); + + await harness.writeFiles({ + 'ngsw-config.json': JSON.stringify(manifest), + 'src/assets/folder-asset.txt': 'folder-asset.txt', + 'src/styles.css': `body { background: url(./spectrum.png); }`, + }); + + harness.useTarget('serve', { + ...BASE_OPTIONS, + }); + + const buildCount = await harness + .execute() + .pipe( + timeout(BUILD_TIMEOUT), + concatMap(async ({ result }, index) => { + expect(result?.success).toBeTrue(); + const response = await fetch(new URL('ngsw.json', `${result?.baseUrl}`)); + const { hashTable } = await response.json(); + const hashTableEntries = Object.keys(hashTable); + + switch (index) { + case 0: + expect(hashTableEntries).toEqual([ + '/assets/folder-asset.txt', + '/favicon.ico', + '/index.html', + '/spectrum.png', + ]); + + await harness.writeFile( + 'src/assets/folder-new-asset.txt', + harness.readFile('src/assets/folder-asset.txt'), + ); + break; + + case 1: + expect(hashTableEntries).toEqual([ + '/assets/folder-asset.txt', + '/assets/folder-new-asset.txt', + '/favicon.ico', + '/index.html', + '/spectrum.png', + ]); + break; + } + }), + take(2), + count(), + ) + .toPromise(); + + expect(buildCount).toBe(2); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index af8e14d775ef..95fe08123031 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -8,34 +8,31 @@ import type { Config, Filesystem } from '@angular/service-worker/config'; import * as crypto from 'crypto'; -import { createReadStream, promises as fs, constants as fsConstants } from 'fs'; +import { constants as fsConstants, promises as fsPromises } from 'fs'; import * as path from 'path'; -import { pipeline } from 'stream'; import { assertIsError } from './error'; import { loadEsmModule } from './load-esm'; class CliFilesystem implements Filesystem { - constructor(private base: string) {} + constructor(private fs: typeof fsPromises, private base: string) {} list(dir: string): Promise { return this._recursiveList(this._resolve(dir), []); } read(file: string): Promise { - return fs.readFile(this._resolve(file), 'utf-8'); + return this.fs.readFile(this._resolve(file), 'utf-8'); } - hash(file: string): Promise { - return new Promise((resolve, reject) => { - const hash = crypto.createHash('sha1').setEncoding('hex'); - pipeline(createReadStream(this._resolve(file)), hash, (error) => - error ? reject(error) : resolve(hash.read()), - ); - }); + async hash(file: string): Promise { + return crypto + .createHash('sha1') + .update(await this.fs.readFile(this._resolve(file))) + .digest('hex'); } - write(file: string, content: string): Promise { - return fs.writeFile(this._resolve(file), content); + write(_file: string, _content: string): never { + throw new Error('This should never happen.'); } private _resolve(file: string): string { @@ -44,12 +41,15 @@ class CliFilesystem implements Filesystem { private async _recursiveList(dir: string, items: string[]): Promise { const subdirectories = []; - for await (const entry of await fs.opendir(dir)) { - if (entry.isFile()) { + for (const entry of await this.fs.readdir(dir)) { + const entryPath = path.join(dir, entry); + const stats = await this.fs.stat(entryPath); + + if (stats.isFile()) { // Uses posix paths since the service worker expects URLs - items.push('/' + path.relative(this.base, path.join(dir, entry.name)).replace(/\\/g, '/')); - } else if (entry.isDirectory()) { - subdirectories.push(path.join(dir, entry.name)); + items.push('/' + path.relative(this.base, entryPath).replace(/\\/g, '/')); + } else if (stats.isDirectory()) { + subdirectories.push(entryPath); } } @@ -67,6 +67,8 @@ export async function augmentAppWithServiceWorker( outputPath: string, baseHref: string, ngswConfigPath?: string, + inputputFileSystem = fsPromises, + outputFileSystem = fsPromises, ): Promise { // Determine the configuration file path const configPath = ngswConfigPath @@ -76,7 +78,7 @@ export async function augmentAppWithServiceWorker( // Read the configuration file let config: Config | undefined; try { - const configurationData = await fs.readFile(configPath, 'utf-8'); + const configurationData = await inputputFileSystem.readFile(configPath, 'utf-8'); config = JSON.parse(configurationData) as Config; } catch (error) { assertIsError(error); @@ -101,36 +103,37 @@ export async function augmentAppWithServiceWorker( ).Generator; // Generate the manifest - const generator = new GeneratorConstructor(new CliFilesystem(outputPath), baseHref); + const generator = new GeneratorConstructor( + new CliFilesystem(outputFileSystem, outputPath), + baseHref, + ); const output = await generator.process(config); // Write the manifest const manifest = JSON.stringify(output, null, 2); - await fs.writeFile(path.join(outputPath, 'ngsw.json'), manifest); + await outputFileSystem.writeFile(path.join(outputPath, 'ngsw.json'), manifest); // Find the service worker package const workerPath = require.resolve('@angular/service-worker/ngsw-worker.js'); + const copy = async (src: string, dest: string): Promise => { + const resolvedDest = path.join(outputPath, dest); + + return inputputFileSystem === outputFileSystem + ? // Native FS (Builder). + inputputFileSystem.copyFile(workerPath, resolvedDest, fsConstants.COPYFILE_FICLONE) + : // memfs (Webpack): Read the file from the input FS (disk) and write it to the output FS (memory). + outputFileSystem.writeFile(resolvedDest, await inputputFileSystem.readFile(src)); + }; + // Write the worker code - await fs.copyFile( - workerPath, - path.join(outputPath, 'ngsw-worker.js'), - fsConstants.COPYFILE_FICLONE, - ); + await copy(workerPath, 'ngsw-worker.js'); // If present, write the safety worker code - const safetyPath = path.join(path.dirname(workerPath), 'safety-worker.js'); try { - await fs.copyFile( - safetyPath, - path.join(outputPath, 'worker-basic.min.js'), - fsConstants.COPYFILE_FICLONE, - ); - await fs.copyFile( - safetyPath, - path.join(outputPath, 'safety-worker.js'), - fsConstants.COPYFILE_FICLONE, - ); + const safetyPath = path.join(path.dirname(workerPath), 'safety-worker.js'); + await copy(safetyPath, 'worker-basic.min.js'); + await copy(safetyPath, 'safety-worker.js'); } catch (error) { assertIsError(error); if (error.code !== 'ENOENT') { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts new file mode 100644 index 000000000000..0e32faf3749a --- /dev/null +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts @@ -0,0 +1,40 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { Compiler } from 'webpack'; +import { augmentAppWithServiceWorker } from '../../utils/service-worker'; + +export interface ServiceWorkerPluginOptions { + projectRoot: string; + root: string; + outputPath: string; + baseHref?: string; + ngswConfigPath?: string; +} + +export class ServiceWorkerPlugin { + constructor(private readonly options: ServiceWorkerPluginOptions) {} + + apply(compiler: Compiler) { + compiler.hooks.done.tapPromise('angular-service-worker', async (_compilation) => { + const { projectRoot, root, baseHref = '', ngswConfigPath, outputPath } = this.options; + + await augmentAppWithServiceWorker( + projectRoot, + root, + outputPath, + baseHref, + ngswConfigPath, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (compiler.inputFileSystem as any).promises, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (compiler.outputFileSystem as any).promises, + ); + }); + } +} From 6258153d01fb6282579d7c8964fe2614d21e67ae Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 4 Aug 2022 06:43:41 +0000 Subject: [PATCH 0744/1388] build: update all non-major dependencies (cherry picked from commit db047b22e31ee196792636ee3349e3033ded0f49) --- package.json | 4 ++-- .../architect_cli/bin/architect.ts | 6 +++--- .../angular_devkit/architect_cli/package.json | 2 +- .../angular_devkit/benchmark/package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- .../schematics_cli/package.json | 2 +- yarn.lock | 21 ++++++++++++------- 7 files changed, 22 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 36c46fc47013..aefb3099e564 100644 --- a/package.json +++ b/package.json @@ -196,7 +196,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.1", + "sass": "1.54.2", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -223,7 +223,7 @@ "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", - "yargs-parser": "21.0.1", + "yargs-parser": "21.1.0", "zone.js": "^0.11.3" } } diff --git a/packages/angular_devkit/architect_cli/bin/architect.ts b/packages/angular_devkit/architect_cli/bin/architect.ts index 105c1d159d94..f19b2d842b9f 100644 --- a/packages/angular_devkit/architect_cli/bin/architect.ts +++ b/packages/angular_devkit/architect_cli/bin/architect.ts @@ -9,7 +9,7 @@ import { Architect, BuilderInfo, BuilderProgressState, Target } from '@angular-devkit/architect'; import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node'; -import { json, logging, schema, tags, workspaces } from '@angular-devkit/core'; +import { JsonValue, json, logging, schema, tags, workspaces } from '@angular-devkit/core'; import { NodeJsSyncHost, createConsoleLogger } from '@angular-devkit/core/node'; import * as ansiColors from 'ansi-colors'; import { existsSync } from 'fs'; @@ -76,7 +76,7 @@ async function _executeTarget( parentLogger: logging.Logger, workspace: workspaces.WorkspaceDefinition, root: string, - argv: yargsParser.Arguments, + argv: ReturnType, registry: schema.SchemaRegistry, ) { const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, root); @@ -102,7 +102,7 @@ async function _executeTarget( throw new Error(`Unknown argument ${key}. Did you mean ${decamelize(key)}?`); } - camelCasedOptions[camelCase(key)] = value; + camelCasedOptions[camelCase(key)] = value as JsonValue; } const run = await architect.scheduleTarget(targetSpec, camelCasedOptions, { logger }); diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index 330b0f971c6b..11cab240b38e 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -19,7 +19,7 @@ "ansi-colors": "4.1.3", "progress": "2.0.3", "symbol-observable": "4.0.0", - "yargs-parser": "21.0.1" + "yargs-parser": "21.1.0" }, "devDependencies": { "@types/progress": "2.0.5" diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 58616f8f1a83..c9f1d3d9f1df 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -16,6 +16,6 @@ "pidtree": "0.6.0", "rxjs": "6.6.7", "tree-kill": "^1.2.0", - "yargs-parser": "21.0.1" + "yargs-parser": "21.1.0" } } diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e0e73702cd58..3710fc2f226f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.1", + "sass": "1.54.2", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index d964b8b21ef3..cdf1512bd336 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -21,6 +21,6 @@ "ansi-colors": "4.1.3", "inquirer": "8.2.4", "symbol-observable": "4.0.0", - "yargs-parser": "21.0.1" + "yargs-parser": "21.1.0" } } diff --git a/yarn.lock b/yarn.lock index 52c1cc84e83d..ee8f83088e3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9860,10 +9860,10 @@ sass@1.53.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.1: - version "1.54.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.1.tgz#4f72ef57ce2a6c3251f4e2c75eee9a0c19e09eb5" - integrity sha512-GHJJr31Me32RjjUBagyzx8tzjKBUcDwo5239XANIRBq0adDu5iIG0aFO0i/TBb/4I9oyxkEv44nq/kL1DxdDhA== +sass@1.54.2: + version "1.54.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.2.tgz#574cad83814c930ef2475921b9cb5d8203ae8867" + integrity sha512-wbVV26sejsCIbBScZZtNkvnrB/bVCQ8hSlZ01D9nzsVh9zLqCkWrlpvTb3YEb6xsuNi9cx75hncqwikHFSz7tw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -11679,10 +11679,10 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@21.0.1, yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== +yargs-parser@21.1.0: + version "21.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.0.tgz#a11d06a3bf57f064e951aa3ef55fcf3a5705f876" + integrity sha512-xzm2t63xTV/f7+bGMSRzLhUNk1ajv/tDoaD5OeGyC3cFo2fl7My9Z4hS3q2VdQ7JaLvTxErO8Jp5pRIFGMD/zg== yargs-parser@^18.1.2: version "18.1.3" @@ -11697,6 +11697,11 @@ yargs-parser@^20.0.0, yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + yargs@17.1.1: version "17.1.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" From 4d2f2bd911cd2cd1e114576fafef22d33f2c236a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 4 Aug 2022 05:16:54 +0000 Subject: [PATCH 0745/1388] build: update github/codeql-action action to v2.1.18 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b82b51c23ca1..3f7bd504a42c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@0c670bbf0414f39666df6ce8e718ec5662c21e03 # tag=v2.1.17 + uses: github/codeql-action/upload-sarif@2ca79b6fa8d3ec278944088b4aa5f46912db5d63 # tag=v2.1.18 with: sarif_file: results.sarif From 3fb569b5c82f22afca4dc59313356f198755827e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 5 Aug 2022 12:44:33 +0000 Subject: [PATCH 0746/1388] feat(@angular-devkit/build-angular): switch to Sass modern API in esbuild builder With this change we replace Sass legacy with the modern API in the experimental esbuilder. The goal is that in the next major version this change is propagated to the Webpack builder. Based on the benchmarks that we did Sass modern API is faster compared to the legacy version. --- .../builders/browser-esbuild/sass-plugin.ts | 98 +++++++++++-------- .../builders/browser-esbuild/stylesheets.ts | 8 +- 2 files changed, 64 insertions(+), 42 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index dfafa49049e4..c0c0a4304f83 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -6,54 +6,74 @@ * found in the LICENSE file at https://angular.io/license */ -import type { Plugin, PluginBuild } from 'esbuild'; -import type { LegacyResult } from 'sass'; -import { SassWorkerImplementation } from '../../sass/sass-service'; +import type { PartialMessage, Plugin, PluginBuild } from 'esbuild'; +import type { CompileResult } from 'sass'; +import { fileURLToPath } from 'url'; -export function createSassPlugin(options: { sourcemap: boolean; includePaths?: string[] }): Plugin { +export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: string[] }): Plugin { return { name: 'angular-sass', setup(build: PluginBuild): void { - let sass: SassWorkerImplementation; + let sass: typeof import('sass'); - build.onStart(() => { - sass = new SassWorkerImplementation(); + build.onStart(async () => { + // Lazily load Sass + sass = await import('sass'); }); - build.onEnd(() => { - sass?.close(); - }); - - build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { - const result = await new Promise((resolve, reject) => { - sass.render( - { - file: args.path, - includePaths: options.includePaths, - indentedSyntax: args.path.endsWith('.sass'), - outputStyle: 'expanded', - sourceMap: options.sourcemap, - sourceMapContents: options.sourcemap, - sourceMapEmbed: options.sourcemap, - quietDeps: true, - }, - (error, result) => { - if (error) { - reject(error); - } - if (result) { - resolve(result); - } + build.onLoad({ filter: /\.s[ac]ss$/ }, (args) => { + try { + const warnings: PartialMessage[] = []; + // Use sync version as async version is slower. + const { css, sourceMap, loadedUrls } = sass.compile(args.path, { + style: 'expanded', + loadPaths: options.loadPaths, + sourceMap: options.sourcemap, + sourceMapIncludeSources: options.sourcemap, + quietDeps: true, + logger: { + warn: (text, _options) => { + warnings.push({ + text, + }); + }, }, - ); - }); - - return { - contents: result.css, - loader: 'css', - watchFiles: result.stats.includedFiles, - }; + }); + + return { + loader: 'css', + contents: css + sourceMapToUrlComment(sourceMap), + watchFiles: loadedUrls.map((url) => fileURLToPath(url)), + warnings, + }; + } catch (error) { + if (error instanceof sass.Exception) { + const file = error.span.url ? fileURLToPath(error.span.url) : undefined; + + return { + loader: 'css', + errors: [ + { + text: error.toString(), + }, + ], + watchFiles: file ? [file] : undefined, + }; + } + + throw error; + } }); }, }; } + +function sourceMapToUrlComment(sourceMap: CompileResult['sourceMap']): string { + if (!sourceMap) { + return ''; + } + + const urlSourceMap = Buffer.from(JSON.stringify(sourceMap), 'utf-8').toString('base64'); + + return `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${urlSourceMap}`; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 81ef5c5286f7..901f0af03cfd 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -24,6 +24,10 @@ async function bundleStylesheet( entry: Required | Pick>, options: BundleStylesheetOptions, ) { + const loadPaths = options.includePaths ?? []; + // Needed to resolve node packages. + loadPaths.push(path.join(options.workspaceRoot, 'node_modules')); + // Execute esbuild const result = await bundle({ ...entry, @@ -40,9 +44,7 @@ async function bundleStylesheet( preserveSymlinks: options.preserveSymlinks, conditions: ['style', 'sass'], mainFields: ['style', 'sass'], - plugins: [ - createSassPlugin({ sourcemap: !!options.sourcemap, includePaths: options.includePaths }), - ], + plugins: [createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths })], }); // Extract the result of the bundling from the output files From cf9afeec20c035386a081fdeec98c9f26f82692e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 2 Aug 2022 12:54:52 +0000 Subject: [PATCH 0747/1388] fix(@ngtools/webpack): elide type only named imports when using `emitDecoratorMetadata` With this change we fix an issue where type only named imports were being emitted. As a result webpack failed to resolve such symbols as they don't exist in JavaScript. Closes #23667 --- .../webpack/src/transformers/elide_imports.ts | 45 +++---------------- .../src/transformers/elide_imports_spec.ts | 38 ++++++++++++++++ 2 files changed, 45 insertions(+), 38 deletions(-) diff --git a/packages/ngtools/webpack/src/transformers/elide_imports.ts b/packages/ngtools/webpack/src/transformers/elide_imports.ts index 9bafe3a26f92..babfd93904f5 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports.ts @@ -54,39 +54,8 @@ export function elideImports( return; } - let symbol: ts.Symbol | undefined; - if (ts.isTypeReferenceNode(node)) { - if (!compilerOptions.emitDecoratorMetadata) { - // Skip and mark as unused if emitDecoratorMetadata is disabled. - return; - } - - const parent = node.parent; - let isTypeReferenceForDecoratoredNode = false; - - switch (parent.kind) { - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.PropertyDeclaration: - case ts.SyntaxKind.MethodDeclaration: - isTypeReferenceForDecoratoredNode = !!parent.decorators?.length; - break; - case ts.SyntaxKind.Parameter: - // - A constructor parameter can be decorated or the class itself is decorated. - // - The parent of the parameter is decorated example a method declaration or a set accessor. - // In all cases we need the type reference not to be elided. - isTypeReferenceForDecoratoredNode = !!( - parent.decorators?.length || - (ts.isSetAccessor(parent.parent) && !!parent.parent.decorators?.length) || - (ts.isConstructorDeclaration(parent.parent) && - !!parent.parent.parent.decorators?.length) - ); - break; - } - - if (isTypeReferenceForDecoratoredNode) { - symbol = typeChecker.getSymbolAtLocation(node.typeName); - } - } else { + if (!ts.isTypeReferenceNode(node)) { + let symbol: ts.Symbol | undefined; switch (node.kind) { case ts.SyntaxKind.Identifier: const parent = node.parent; @@ -106,10 +75,10 @@ export function elideImports( symbol = typeChecker.getShorthandAssignmentValueSymbol(node); break; } - } - if (symbol) { - usedSymbols.add(symbol); + if (symbol) { + usedSymbols.add(symbol); + } } ts.forEachChild(node, visit); @@ -153,7 +122,7 @@ export function elideImports( clausesCount += namedBindings.elements.length; for (const specifier of namedBindings.elements) { - if (isUnused(specifier.name)) { + if (specifier.isTypeOnly || isUnused(specifier.name)) { removedClausesCount++; // in case we don't have any more namedImports we should remove the parent ie the {} const nodeToRemove = @@ -168,7 +137,7 @@ export function elideImports( if (node.importClause.name) { clausesCount++; - if (isUnused(node.importClause.name)) { + if (node.importClause.isTypeOnly || isUnused(node.importClause.name)) { specifierNodeRemovals.push(node.importClause.name); } } diff --git a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts index 7d0e497d57cd..93edab8c7315 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts @@ -440,6 +440,44 @@ describe('@ngtools/webpack transformers', () => { experimentalDecorators: true, }; + it('should elide type only named imports', () => { + const input = tags.stripIndent` + import { Decorator } from './decorator'; + import { type OnChanges, type SimpleChanges } from './type'; + + @Decorator() + export class Foo implements OnChanges { + ngOnChanges(changes: SimpleChanges) { } + } + + ${dummyNode} + `; + + const output = tags.stripIndent` + import { __decorate } from "tslib"; + import { Decorator } from './decorator'; + + let Foo = class Foo { ngOnChanges(changes) { } }; + Foo = __decorate([ Decorator() ], Foo); + export { Foo }; + `; + + const { program, compilerHost } = createTypescriptContext( + input, + additionalFiles, + true, + extraCompilerOptions, + ); + const result = transformTypescript( + undefined, + [transformer(program)], + program, + compilerHost, + ); + + expect(tags.oneLine`${result}`).toEqual(tags.oneLine`${output}`); + }); + it('should not remove ctor parameter type reference', () => { const input = tags.stripIndent` import { Decorator } from './decorator'; From 84f01a3ad5cd91696f3d34f627e15644609755be Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 5 Aug 2022 12:52:15 +0000 Subject: [PATCH 0748/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 619 ++++-------------- 7 files changed, 179 insertions(+), 516 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 6c8b7f6b5954..a17d2c67fd8d 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@66fefa85b03fe2265f8a564b1f72f06a08f66250 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@af39355cc31ca47f7dabdfb1e20e963647dcc1ea with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@66fefa85b03fe2265f8a564b1f72f06a08f66250 + - uses: angular/dev-infra/github-actions/post-approval-changes@af39355cc31ca47f7dabdfb1e20e963647dcc1ea with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index e8e59950ca23..481bd016ec51 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@66fefa85b03fe2265f8a564b1f72f06a08f66250 + - uses: angular/dev-infra/github-actions/feature-request@af39355cc31ca47f7dabdfb1e20e963647dcc1ea with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 884b604fd8b6..4c2c65ce07bd 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@66fefa85b03fe2265f8a564b1f72f06a08f66250 + - uses: angular/dev-infra/github-actions/lock-closed@af39355cc31ca47f7dabdfb1e20e963647dcc1ea with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index aefb3099e564..7bf7f52a696f 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.1.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a", - "@angular/cdk": "14.1.0", - "@angular/common": "14.1.0", - "@angular/compiler": "14.1.0", - "@angular/compiler-cli": "14.1.0", - "@angular/core": "14.1.0", - "@angular/forms": "14.1.0", - "@angular/localize": "14.1.0", - "@angular/material": "14.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f", - "@angular/platform-browser": "14.1.0", - "@angular/platform-browser-dynamic": "14.1.0", - "@angular/platform-server": "14.1.0", - "@angular/router": "14.1.0", - "@angular/service-worker": "14.1.0", + "@angular/animations": "14.1.1", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb", + "@angular/cdk": "14.1.1", + "@angular/common": "14.1.1", + "@angular/compiler": "14.1.1", + "@angular/compiler-cli": "14.1.1", + "@angular/core": "14.1.1", + "@angular/forms": "14.1.1", + "@angular/localize": "14.1.1", + "@angular/material": "14.1.1", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#21ce780fde865e8d3a7bbaa02cef85f3544c89c1", + "@angular/platform-browser": "14.1.1", + "@angular/platform-browser-dynamic": "14.1.1", + "@angular/platform-server": "14.1.1", + "@angular/router": "14.1.1", + "@angular/service-worker": "14.1.1", "@babel/core": "7.18.10", "@babel/generator": "7.18.10", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index f8c5972c5937..659125baac24 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.1.0", - "@angular/compiler-cli": "14.1.0", + "@angular/compiler": "14.1.1", + "@angular/compiler-cli": "14.1.1", "typescript": "~4.7.2", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index b16ab4fa970c..81e8fc3a1bdd 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#c6b78249937d0c082390327f5c7b5cc75a39bee9", - "@angular/cdk": "github:angular/cdk-builds#dc9d93cdd95e504b5350d669d8e1f56be3d57328", - "@angular/common": "github:angular/common-builds#4204e2030823fa7ce238427fa3f52eaa1d5a4c31", - "@angular/compiler": "github:angular/compiler-builds#65b69dd46b448627c16983ff52b599a839c71802", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a70aa94f094868e53fe8a22da32d533407ba8cfa", - "@angular/core": "github:angular/core-builds#3d6361abcd2f7f5253da18152e6a5e1d90058e15", - "@angular/forms": "github:angular/forms-builds#b86444f252698e97f0049763eb887c4a472bca31", - "@angular/language-service": "github:angular/language-service-builds#be08fcaedd158b72f865455769deb3f0acbf4531", - "@angular/localize": "github:angular/localize-builds#b466c05fb80397ccea1a5218c8dc94fadf1a6530", - "@angular/material": "github:angular/material-builds#82218293a2e2d4af6bcb6d06d3aea73eb1a05b96", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2ac3b7e848a46961db9428146572aaabd74ae931", - "@angular/platform-browser": "github:angular/platform-browser-builds#94f592c46eb33e5c40afff0976818a03890f21d5", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#1fd4e422e9a7e85cbb24b6adf60063e5b6340174", - "@angular/platform-server": "github:angular/platform-server-builds#8d040460d8c290395b3f111e80309964a638e7f4", - "@angular/router": "github:angular/router-builds#ca6729941fb7c719e11ffbf04f13eda6283d3618", - "@angular/service-worker": "github:angular/service-worker-builds#6ac4316549b20cde5fb31c0fb069c0ac31dd08c2" + "@angular/animations": "github:angular/animations-builds#2a57403abbf534d7fd6827d2cbcc8c3b66ac6821", + "@angular/cdk": "github:angular/cdk-builds#2d0a8d729b8420639906b7c43a8f8813f3b822c2", + "@angular/common": "github:angular/common-builds#0132dfcda53da2ed659e042e109ac90644b3eea1", + "@angular/compiler": "github:angular/compiler-builds#133d2123cf8bea3147f28564295ca27e585a66fb", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#10cd9b0a818d697d4f99602c88e0cfcff4098f65", + "@angular/core": "github:angular/core-builds#98230a274c860e88ee3c6776fd88128a9129c1aa", + "@angular/forms": "github:angular/forms-builds#f18b8ab0399171b3699c0b8d715343c84c6f2baa", + "@angular/language-service": "github:angular/language-service-builds#2eb5831770ed583eb309bfda6663cb727f506346", + "@angular/localize": "github:angular/localize-builds#ecc35e1f76946325bb4f56276ffd85ac7504f178", + "@angular/material": "github:angular/material-builds#d7b949508b11a93e6e13f5bf4d1756ef1e121374", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#7378b2d917b5bc4fcd989ffd3ff257924ba2e254", + "@angular/platform-browser": "github:angular/platform-browser-builds#ce1c8b3a1e26fcfe58ed32be2ed4641cc0399e9f", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3ef207fad311a58952282f995943c52c7ff51cbd", + "@angular/platform-server": "github:angular/platform-server-builds#bdedf85fa798cb1e1b9a5c6aa3e27d425032a8ab", + "@angular/router": "github:angular/router-builds#8c5519350122ecd99cfbfb1a04ef9eabc93d9e06", + "@angular/service-worker": "github:angular/service-worker-builds#7c227bd1894127a9c36c418e6ee5faa0093bb084" } } diff --git a/yarn.lock b/yarn.lock index ee8f83088e3c..3968dee21c49 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,34 +10,34 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1401.0-rc.3": - version "0.1401.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1401.0-rc.3.tgz#55444857b8c041bfcfa57825047933588e917374" - integrity sha512-ODAKO/cQNCpcTL+TIDxU6lPJB6kYT7raMg68JGc0bCiV82BEBZPE94xAIs/NA3B18WWEB6AxX6QgSVp1r963bg== +"@angular-devkit/architect@0.1402.0-next.0": + version "0.1402.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1402.0-next.0.tgz#9f223bccaac17d69e6461cea4620723c24280259" + integrity sha512-L+NsGjIXVHklPjEl5awTxqCddSlnVCQ6QqWnhKOBEU1XgmEViXnpyeWx9ddA3kwPiide3BNI04wdE11vVK5scA== dependencies: - "@angular-devkit/core" "14.1.0-rc.3" + "@angular-devkit/core" "14.2.0-next.0" rxjs "6.6.7" -"@angular-devkit/build-angular@14.1.0-rc.3": - version "14.1.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.1.0-rc.3.tgz#ce1ea6fd47e723b84ed33a373997dafa6bdc30f4" - integrity sha512-O+68mRbaGdXXxsXxOboxwaKEtfx4++kmU+Wqz1DrYNBxNkBrS4/kVIO94YBvVI0zMRJ5wgnakqw/Be9MCIi2uQ== +"@angular-devkit/build-angular@14.2.0-next.0": + version "14.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.2.0-next.0.tgz#4f90542357bf0b7001c8f3ff7928e4ed3cc57012" + integrity sha512-9M32QRtn6ZuoOcNUHhITO7WcaW8MTgaLIelE2iWh7Gi+fvqB0t/iceqSLaxKWbvXtc3QhvKzlytykusS9Yc3GQ== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1401.0-rc.3" - "@angular-devkit/build-webpack" "0.1401.0-rc.3" - "@angular-devkit/core" "14.1.0-rc.3" - "@babel/core" "7.18.6" - "@babel/generator" "7.18.7" + "@angular-devkit/architect" "0.1402.0-next.0" + "@angular-devkit/build-webpack" "0.1402.0-next.0" + "@angular-devkit/core" "14.2.0-next.0" + "@babel/core" "7.18.10" + "@babel/generator" "7.18.10" "@babel/helper-annotate-as-pure" "7.18.6" - "@babel/plugin-proposal-async-generator-functions" "7.18.6" + "@babel/plugin-proposal-async-generator-functions" "7.18.10" "@babel/plugin-transform-async-to-generator" "7.18.6" - "@babel/plugin-transform-runtime" "7.18.6" - "@babel/preset-env" "7.18.6" - "@babel/runtime" "7.18.6" - "@babel/template" "7.18.6" + "@babel/plugin-transform-runtime" "7.18.10" + "@babel/preset-env" "7.18.10" + "@babel/runtime" "7.18.9" + "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.1.0-rc.3" + "@ngtools/webpack" "14.2.0-next.0" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" @@ -46,11 +46,11 @@ copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.48" + esbuild-wasm "0.14.53" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" - jsonc-parser "3.0.0" + jsonc-parser "3.1.0" karma-source-map-support "1.4.0" less "4.1.3" less-loader "11.0.0" @@ -64,53 +64,53 @@ piscina "3.2.0" postcss "8.4.14" postcss-import "14.1.0" - postcss-loader "7.0.0" + postcss-loader "7.0.1" postcss-preset-env "7.7.2" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.53.0" + sass "1.54.1" sass-loader "13.0.2" semver "7.3.7" source-map-loader "4.0.0" source-map-support "0.5.21" stylus "0.58.1" stylus-loader "7.0.0" - terser "5.14.1" + terser "5.14.2" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.0" - webpack "5.73.0" + webpack "5.74.0" webpack-dev-middleware "5.3.3" webpack-dev-server "4.9.3" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.48" + esbuild "0.14.53" -"@angular-devkit/build-webpack@0.1401.0-rc.3": - version "0.1401.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1401.0-rc.3.tgz#8634d47e669b8a47ece8e12b71e2a2f5726a6a56" - integrity sha512-he1xa9A9hEFjxZUoEEVfG7dOmNqsvuxJHPNCvQsM2vx7qzxW0/aZaNJEHi6bY9loDJjAftvd9zYprmeloxTdmQ== +"@angular-devkit/build-webpack@0.1402.0-next.0": + version "0.1402.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1402.0-next.0.tgz#72e08e0d40b57a826de40f8ffb3fe39cb8ce672c" + integrity sha512-w+rsWpntyTIYOYQrbgkIddVO9DuRUiOIVIeYqo4hQ3ixDI7wKE+9nAZRMvFSheUK27AQQlnXY/L3QBr5EcsxZA== dependencies: - "@angular-devkit/architect" "0.1401.0-rc.3" + "@angular-devkit/architect" "0.1402.0-next.0" rxjs "6.6.7" -"@angular-devkit/core@14.1.0-rc.3": - version "14.1.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.1.0-rc.3.tgz#b9d69c5216e7b7ac3f035a93b341d3480ff71e99" - integrity sha512-KTrKoRJ12kuO1MVRJamaNc2v8avq0/roZ0dVlazXASs+BWlG/6x8fpBqF5ZodTF8M+rfYLkOSpJFlkWOBWkkyA== +"@angular-devkit/core@14.2.0-next.0": + version "14.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.2.0-next.0.tgz#068c9a3b2e5a10c9eb04c8350693d94d896bd266" + integrity sha512-RLEddHeR4rxhOf4cUKcLVw5EQEHRJyvHjPWMvSLhyvFJXYMZlEEcmuKZbmDbvN5HVwSYrc/f4E+vIdXhStPUrA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" - jsonc-parser "3.0.0" + jsonc-parser "3.1.0" rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.1.0.tgz#a819b2c012ce507d6260c86b089f73fd00c3bf59" - integrity sha512-OhEXi1u/M4QyltDCxSqo7YzF7ELgNDWNqbbM7vtWIcrc4c+Yiu1GXhW/GQRosF3WAuQVfdQzEI0VTeNoo98Kvw== +"@angular/animations@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.1.1.tgz#0d699c5ab4ee71f361be88642f828413a37236e4" + integrity sha512-/fXzJzr8Pr7/xpwErX9PjbIc790RF818WgW7SUNev6pN6UUq3gvjmPjDTdZBZfiAZWY49nBLibPo2FvmyCP7tg== dependencies: tslib "^2.3.0" @@ -122,11 +122,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a": - version "0.0.0-66fefa85b03fe2265f8a564b1f72f06a08f66250" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#80fc63daf535db5a7df49eb8c1dd2f86be28660a" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb": + version "0.0.0-af39355cc31ca47f7dabdfb1e20e963647dcc1ea" + uid "31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb" dependencies: - "@angular-devkit/build-angular" "14.1.0-rc.3" + "@angular-devkit/build-angular" "14.2.0-next.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -159,26 +160,26 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/cdk@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.0.tgz#abf5ad3cdd96e42666bce949833ac1c2405ab031" - integrity sha512-EOQZmlTgj5Tc6/s50kEQUYKWH0S748rzbymBYkvyJs864lP9A8khz83IINmm+PD2sMADKtBETD3aEa5yQRhVAA== +"@angular/cdk@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.1.tgz#34e40a12e78b3a9db902d6c3fb3a407cc6875e43" + integrity sha512-Um4d5aWp7ACHd7O2cF3B4IXbQrnzMVvKlUVoKIBI4+EcCF70vAJrfXrAJoXIzLpte3MCDa6wO3wUX7uIJ4VlAQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.1.0.tgz#84886e7f74c6e475377fdc9150d0d184583ca8f5" - integrity sha512-leethDtLbA3qySaOEBUto602DF0qH1maK9u2zHncrUFOpnHAYUEd7N9MFMdIYASurTnwOSglEoIDCML94qzImQ== +"@angular/common@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.1.1.tgz#7378bc3199062b833c1d13f3a15486ce122682b6" + integrity sha512-neFCnrIrGOuj3oOFBTLi4QrdI4fgKQprVLUEyL5LhCQ5R0K/F+gh61ovi7nT4XYnv41p4eqtG81YNMtVXH49pg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.0.tgz#83adac3432dbc2b362fac258facc8ca9f06783eb" - integrity sha512-llJkDnv0+riTdRPdOJv/FToz4X9ZO1URnalW+tIe2RyfOzkEqM+VLD/x+3cVgnsaFKuoPxIjZEkMoppGwVB4kg== +"@angular/compiler-cli@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.1.tgz#eb20a5bcd64d7d497c0d04439b72615417de899e" + integrity sha512-ERphqFDdN5u1XCZNV21DS0J9/WFZP/P4L4LQTjpEwbO/lDhzxaRnRnLOR6vGcetEHhRHMa0+OL8rrvNy6GwLmw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -191,17 +192,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.0.tgz#25f1eb12e3fdf49223bf6cdf7c0637d149860633" - integrity sha512-aLbtpFDF3fp/DOEsWSdpszmoNZAb0To/zoKhHVmEReuUKkMtlPNd3+e6wkR2vrvR/cWgbKwdb7RQ1IQtGDu74A== +"@angular/compiler@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.1.tgz#809dc1b9265f0d3c45fc2babe0887f43eeee50d8" + integrity sha512-OT3cFfbHzLpl2M9qpO74oysXDkkKwlO66i4vlASMGf1/Qh+4UBh3iN6bls/ZbYZsl8bCr9zf0fL7c160e1uMcA== dependencies: tslib "^2.3.0" -"@angular/core@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.0.tgz#5a0fa164ca180027d4c54a5b70e7357918f9af9b" - integrity sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg== +"@angular/core@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.1.tgz#5c116d76445d85b03a3e6efaa348399722eac476" + integrity sha512-l3ms6/jxIUIeuCkXhz5nhRb94KLQ6wv9+B4lE0aJXcgHTqOmhc/ZIacT51LCjvVcok/vczF3f7w71Ii8b10yKQ== dependencies: tslib "^2.3.0" @@ -212,70 +213,71 @@ dependencies: tslib "^2.3.0" -"@angular/forms@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.0.tgz#17a7ec211a11b75572d89359f08c277cfcdb1210" - integrity sha512-y7VQ2t+/ASEjzt8zXg4y5b03lMSPHmnhy4XzjDT14ZFrALaSxyhkSqoBfAksPkTeKmsFMnP/VgLboRsE8TLs0Q== +"@angular/forms@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.1.tgz#14e3c01e7432aeab9e08115e28f2edae787aaffa" + integrity sha512-s4VuaivJ+s2hLlE8CMHLsAAmJNV/03EgBEJQV7rt1H0ogHs0jB/zlkzVw5K5bynCFkfIeDbwd6RvxzWhwE+ong== dependencies: tslib "^2.3.0" -"@angular/localize@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.1.0.tgz#cceaf47af06edbb4058f109f68bb82cd720c82a6" - integrity sha512-kGiSLDhYCCYyHgXFjy6P9VCCD9dI/IqM0V6Vn/cCL+ZCVUz6pcsGtnhfU6bycMYwyv72py51hMYKMEVR+nfIhQ== +"@angular/localize@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.1.1.tgz#46b60f8d45285c01da3a2f80d6a1696db89a9431" + integrity sha512-SUGTDJYcJoSJWaFcG12njbfnFreZZRnEr3Rs211wD3VSu4UJXrpP1hx2M/FoaHLZkcgpSSfkg/QHLDLYJLRL9Q== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.1.0.tgz#35ee1cd77d8944842f8501e3c120146c83d86141" - integrity sha512-0UXfMqP5+Nzd6gbLplQpUX3E0rRRwhVEnAo8Z1hllGdJIY0meunMnTZCWsvYQ7SU/W+VbqnmtBmg5EOfYsjpiQ== +"@angular/material@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.1.1.tgz#fd8021addad113476d29ac279e23aa2a86022e08" + integrity sha512-HU83cgnAayItSXhyMdu1+edXj2DMjGXndvFicf300JtyliyjFmVzuM78O7hIJWLhT4Mohh/GkTlOSp4sc8xXhQ== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f": - version "0.0.0-66fefa85b03fe2265f8a564b1f72f06a08f66250" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#64aa04a20d8b2f868322dab6e4ede0af46ed412f" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#21ce780fde865e8d3a7bbaa02cef85f3544c89c1": + version "0.0.0-af39355cc31ca47f7dabdfb1e20e963647dcc1ea" + uid "21ce780fde865e8d3a7bbaa02cef85f3544c89c1" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#21ce780fde865e8d3a7bbaa02cef85f3544c89c1" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" -"@angular/platform-browser-dynamic@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz#9e30c5c4d2ff507402dcb36a5878068d8d900b81" - integrity sha512-0Lxz3HJ9qTOyMTp5Qud2tycP7wqe+tnHOSUqDywrbNRozTKGX0z3i+l0KMku3BtUbuMi3tJomqV914/dtbCvIw== +"@angular/platform-browser-dynamic@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.1.tgz#bd6d6eea0250a541de7a0fb4db23eda7a6081b60" + integrity sha512-rD5KIWdxYRO2R0oGW6Ipt5pi+Cufws1704QBXhL52uaSJI6Ms7E7jvuwLG2SCJS0FJ+hdYLcuQZiQH+wUuyARA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.1.0.tgz#6259e3fe7eacaffa18679dd588116e23eac7cf6d" - integrity sha512-axNXUSqxsP0QSdNskd1pFo2uMo1UNoFaSAB02eDWwLkWQ1pWel+T78HiQY2bNeI3elgzjwPTT4vCCDQKNVTNig== +"@angular/platform-browser@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.1.1.tgz#19f569a23777eb1ec9ee0dc59ec6893d865fca58" + integrity sha512-7yXr2GUiI1sD3kmKcWkHwlpmsRyA3WhwJqvjvMPQK4RD8ZeJ5LTOD6nQ4hz1kP19dfzpBDV/k9wusYDlmWtqcw== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.1.0.tgz#79fae1e397dcabcf82bb4f1fedb6a886206a0675" - integrity sha512-qX35UbN1K7dzZWjvuQHx5iHyHytRnblQ4B33vIGjeboTUdgqaHyd44p5nTs4OEcZ4JYfnZr2Q30rIo/Ed3LTHA== +"@angular/platform-server@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.1.1.tgz#0c4ac06870dd601fc7918ac90b93b7e8c016050d" + integrity sha512-CbZFALoIVg34yRZeptLu4WIV8UeCSzP0N53NGIr4GQLXoQ4yF7lR/OQiHGfyBavtpCOgP3CQWhvPRlSx6lg1Gg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.1.0.tgz#a377dc8fee53f84657af260442183c7b9526a4d0" - integrity sha512-WBC1E+d9RS8vy57zJ6LVtWT3AM12mEHY7SCMBRJNBcrmBYJwojxeV8IVkUoW4Ds910gG/w3LjIN0eNHg5qRtNA== +"@angular/router@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.1.1.tgz#3cfac210c29d64dc8cf0e424bb583d46a236f6d7" + integrity sha512-yWgy4NXp0e4XxOXRwaY6YSlOseXoLCVp7jKeBGAqJXypT+HtWXwpWE12vPC8EvkdPLyrf+EuH3kNbSbLfUNtbw== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.1.0.tgz#5a2e97f5d39fda88748329f3e850e27cbfd76020" - integrity sha512-kwMHduhZqWzOZbt9xhRbEtixZAdppdW4NtUVpzBJAfDC/7l3cEwLhTgcwwC9rP1E1LIFXWKJUARKXOCjMD9lQQ== +"@angular/service-worker@14.1.1": + version "14.1.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.1.1.tgz#f1357ff226c0abc2b8979aa29faea4b808942a5a" + integrity sha512-k5PvtUckL83ggvIAYgbrepo2RkrS5cYEmMLPrg4dXrI+E1LcuEs1EJb5h955ZDrmcuEW8hIPd7cMDLAGXoKIOg== dependencies: tslib "^2.3.0" @@ -291,7 +293,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.6", "@babel/compat-data@^7.18.8": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== @@ -317,27 +319,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" - integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helpers" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.18.9", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -368,16 +349,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.7": - version "7.18.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.7.tgz#2aa78da3c05aadfc82dbac16c99552fc802284bd" - integrity sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A== - dependencies: - "@babel/types" "^7.18.7" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.18.6", "@babel/generator@^7.18.9": +"@babel/generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== @@ -401,7 +373,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.6", "@babel/helper-compilation-targets@^7.18.9": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== @@ -432,7 +404,7 @@ "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" -"@babel/helper-define-polyfill-provider@^0.3.1", "@babel/helper-define-polyfill-provider@^0.3.2": +"@babel/helper-define-polyfill-provider@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== @@ -444,7 +416,7 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.18.6", "@babel/helper-environment-visitor@^7.18.9": +"@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== @@ -578,7 +550,7 @@ "@babel/traverse" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helpers@^7.18.6", "@babel/helpers@^7.18.9": +"@babel/helpers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== @@ -613,7 +585,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== @@ -632,16 +604,6 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@7.18.6", "@babel/plugin-proposal-async-generator-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" - integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -667,7 +629,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.18.6", "@babel/plugin-proposal-export-namespace-from@^7.18.9": +"@babel/plugin-proposal-export-namespace-from@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== @@ -683,7 +645,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.18.6", "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== @@ -707,7 +669,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.18.6", "@babel/plugin-proposal-object-rest-spread@^7.18.9": +"@babel/plugin-proposal-object-rest-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== @@ -726,7 +688,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.18.6", "@babel/plugin-proposal-optional-chaining@^7.18.9": +"@babel/plugin-proposal-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== @@ -889,14 +851,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.18.6", "@babel/plugin-transform-block-scoping@^7.18.9": +"@babel/plugin-transform-block-scoping@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.18.6", "@babel/plugin-transform-classes@^7.18.9": +"@babel/plugin-transform-classes@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== @@ -910,14 +872,14 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.6", "@babel/plugin-transform-computed-properties@^7.18.9": +"@babel/plugin-transform-computed-properties@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.6", "@babel/plugin-transform-destructuring@^7.18.9": +"@babel/plugin-transform-destructuring@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== @@ -932,7 +894,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.18.6", "@babel/plugin-transform-duplicate-keys@^7.18.9": +"@babel/plugin-transform-duplicate-keys@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== @@ -947,14 +909,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-for-of@^7.18.6", "@babel/plugin-transform-for-of@^7.18.8": +"@babel/plugin-transform-for-of@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.18.6", "@babel/plugin-transform-function-name@^7.18.9": +"@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== @@ -963,7 +925,7 @@ "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.18.6", "@babel/plugin-transform-literals@^7.18.9": +"@babel/plugin-transform-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== @@ -996,7 +958,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.6", "@babel/plugin-transform-modules-systemjs@^7.18.9": +"@babel/plugin-transform-modules-systemjs@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== @@ -1038,7 +1000,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.18.6", "@babel/plugin-transform-parameters@^7.18.8": +"@babel/plugin-transform-parameters@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== @@ -1079,18 +1041,6 @@ babel-plugin-polyfill-regenerator "^0.4.0" semver "^6.3.0" -"@babel/plugin-transform-runtime@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz#77b14416015ea93367ca06979710f5000ff34ccb" - integrity sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-polyfill-corejs2 "^0.3.1" - babel-plugin-polyfill-corejs3 "^0.5.2" - babel-plugin-polyfill-regenerator "^0.3.1" - semver "^6.3.0" - "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" @@ -1098,7 +1048,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.18.6", "@babel/plugin-transform-spread@^7.18.9": +"@babel/plugin-transform-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== @@ -1113,14 +1063,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.18.6", "@babel/plugin-transform-template-literals@^7.18.9": +"@babel/plugin-transform-template-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typeof-symbol@^7.18.6", "@babel/plugin-transform-typeof-symbol@^7.18.9": +"@babel/plugin-transform-typeof-symbol@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== @@ -1134,13 +1084,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-unicode-escapes@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27" - integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" @@ -1230,87 +1173,6 @@ core-js-compat "^3.22.1" semver "^6.3.0" -"@babel/preset-env@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.6.tgz#953422e98a5f66bc56cd0b9074eaea127ec86ace" - integrity sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw== - dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.6" - "@babel/plugin-proposal-async-generator-functions" "^7.18.6" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.6" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.6" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.6" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.6" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@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.18.6" - "@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" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.6" - "@babel/plugin-transform-classes" "^7.18.6" - "@babel/plugin-transform-computed-properties" "^7.18.6" - "@babel/plugin-transform-destructuring" "^7.18.6" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.6" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.6" - "@babel/plugin-transform-function-name" "^7.18.6" - "@babel/plugin-transform-literals" "^7.18.6" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.6" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.6" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.6" - "@babel/plugin-transform-typeof-symbol" "^7.18.6" - "@babel/plugin-transform-unicode-escapes" "^7.18.6" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.6" - babel-plugin-polyfill-corejs2 "^0.3.1" - babel-plugin-polyfill-corejs3 "^0.5.2" - babel-plugin-polyfill-regenerator "^0.3.1" - core-js-compat "^3.22.1" - semver "^6.3.0" - "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1322,13 +1184,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" - integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.18.9", "@babel/runtime@^7.8.4": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" @@ -1345,7 +1200,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/template@7.18.6", "@babel/template@^7.18.6": +"@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== @@ -1370,7 +1225,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9": +"@babel/traverse@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== @@ -1386,7 +1241,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== @@ -1757,10 +1612,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.1.0-rc.3": - version "14.1.0-rc.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.1.0-rc.3.tgz#3cca4d15f464c56d287788b0723040fa0284d4bb" - integrity sha512-9zKcMBWQkeFA8Ws6bf9fcJHOMq2W+VojL+PDQO6IYDqUW9hIMcR57FfiUilM5eu+wn0VanIx887CehIwywCZbQ== +"@ngtools/webpack@14.2.0-next.0": + version "14.2.0-next.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.2.0-next.0.tgz#f0bc91d6a5535c569d25882486024c980d76e5e3" + integrity sha512-V0u75RbeJcxiTl4uV5h5NXXVYSvtlfwoms+6y6sf2dmfJtXEi3wrsk/vsN7IutJF4nakNaMKjlVTpk4D1KsWOQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3319,7 +3174,7 @@ babel-plugin-istanbul@6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.1, babel-plugin-polyfill-corejs2@^0.3.2: +babel-plugin-polyfill-corejs2@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== @@ -3328,7 +3183,7 @@ babel-plugin-polyfill-corejs2@^0.3.1, babel-plugin-polyfill-corejs2@^0.3.2: "@babel/helper-define-polyfill-provider" "^0.3.2" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.2, babel-plugin-polyfill-corejs3@^0.5.3: +babel-plugin-polyfill-corejs3@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== @@ -3336,13 +3191,6 @@ babel-plugin-polyfill-corejs3@^0.5.2, babel-plugin-polyfill-corejs3@^0.5.3: "@babel/helper-define-polyfill-provider" "^0.3.2" core-js-compat "^3.21.0" -babel-plugin-polyfill-regenerator@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - babel-plugin-polyfill-regenerator@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" @@ -4670,7 +4518,7 @@ engine.io@~6.2.0: engine.io-parser "~5.0.3" ws "~8.2.3" -enhanced-resolve@^5.10.0, enhanced-resolve@^5.9.3: +enhanced-resolve@^5.10.0: version "5.10.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== @@ -4820,11 +4668,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.48.tgz#7e6394a0e517f738641385aaf553c7e4fb6d1ae3" - integrity sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg== - esbuild-android-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" @@ -4835,11 +4678,6 @@ esbuild-android-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.53.tgz#259bc3ef1399a3cad8f4f67c40ee20779c4de675" integrity sha512-fIL93sOTnEU+NrTAVMIKiAw0YH22HWCAgg4N4Z6zov2t0kY9RAJ50zY9ZMCQ+RT6bnOfDt8gCTnt/RaSNA2yRA== -esbuild-android-arm64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.48.tgz#6877566be0f82dd5a43030c0007d06ece7f7c02f" - integrity sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g== - esbuild-android-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" @@ -4850,11 +4688,6 @@ esbuild-android-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.53.tgz#2158253d4e8f9fdd2a081bbb4f73b8806178841e" integrity sha512-PC7KaF1v0h/nWpvlU1UMN7dzB54cBH8qSsm7S9mkwFA1BXpaEOufCg8hdoEI1jep0KeO/rjZVWrsH8+q28T77A== -esbuild-darwin-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.48.tgz#ea3caddb707d88f844b1aa1dea5ff3b0a71ef1fd" - integrity sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA== - esbuild-darwin-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" @@ -4865,11 +4698,6 @@ esbuild-darwin-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.53.tgz#b4681831fd8f8d06feb5048acbe90d742074cc2a" integrity sha512-gE7P5wlnkX4d4PKvLBUgmhZXvL7lzGRLri17/+CmmCzfncIgq8lOBvxGMiQ4xazplhxq+72TEohyFMZLFxuWvg== -esbuild-darwin-arm64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.48.tgz#4e5eaab54df66cc319b76a2ac0e8af4e6f0d9c2f" - integrity sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA== - esbuild-darwin-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" @@ -4880,11 +4708,6 @@ esbuild-darwin-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.53.tgz#d267d957852d121b261b3f76ead86e5b5463acc9" integrity sha512-otJwDU3hnI15Q98PX4MJbknSZ/WSR1I45il7gcxcECXzfN4Mrpft5hBDHXNRnCh+5858uPXBXA1Vaz2jVWLaIA== -esbuild-freebsd-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.48.tgz#47b5abc7426eae66861490ffbb380acc67af5b15" - integrity sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA== - esbuild-freebsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" @@ -4895,11 +4718,6 @@ esbuild-freebsd-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.53.tgz#aca2af6d72b537fe66a38eb8f374fb66d4c98ca0" integrity sha512-WkdJa8iyrGHyKiPF4lk0MiOF87Q2SkE+i+8D4Cazq3/iqmGPJ6u49je300MFi5I2eUsQCkaOWhpCVQMTKGww2w== -esbuild-freebsd-arm64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.48.tgz#e8c54c8637cd44feed967ea12338b0a4da3a7b11" - integrity sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw== - esbuild-freebsd-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" @@ -4910,11 +4728,6 @@ esbuild-freebsd-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.53.tgz#76282e19312d914c34343c8a7da6cc5f051580b9" integrity sha512-9T7WwCuV30NAx0SyQpw8edbKvbKELnnm1FHg7gbSYaatH+c8WJW10g/OdM7JYnv7qkimw2ZTtSA+NokOLd2ydQ== -esbuild-linux-32@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.48.tgz#229cf3246de2b7937c3ac13fac622d4d7a1344c5" - integrity sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ== - esbuild-linux-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" @@ -4925,11 +4738,6 @@ esbuild-linux-32@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.53.tgz#1045d34cf7c5faaf2af3b29cc1573b06580c37e5" integrity sha512-VGanLBg5en2LfGDgLEUxQko2lqsOS7MTEWUi8x91YmsHNyzJVT/WApbFFx3MQGhkf+XdimVhpyo5/G0PBY91zg== -esbuild-linux-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.48.tgz#7c0e7226c02c42aacc5656c36977493dc1e96c4f" - integrity sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug== - esbuild-linux-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" @@ -4940,11 +4748,6 @@ esbuild-linux-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.53.tgz#ab3f2ee2ebb5a6930c72d9539cb34b428808cbe4" integrity sha512-pP/FA55j/fzAV7N9DF31meAyjOH6Bjuo3aSKPh26+RW85ZEtbJv9nhoxmGTd9FOqjx59Tc1ZbrJabuiXlMwuZQ== -esbuild-linux-arm64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.48.tgz#0af1eda474b5c6cc0cace8235b74d0cb8fcf57a7" - integrity sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw== - esbuild-linux-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" @@ -4955,11 +4758,6 @@ esbuild-linux-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.53.tgz#1f5530412f6690949e78297122350488d3266cfe" integrity sha512-GDmWITT+PMsjCA6/lByYk7NyFssW4Q6in32iPkpjZ/ytSyH+xeEx8q7HG3AhWH6heemEYEWpTll/eui3jwlSnw== -esbuild-linux-arm@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.48.tgz#de4d1fa6b77cdcd00e2bb43dd0801e4680f0ab52" - integrity sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw== - esbuild-linux-arm@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" @@ -4970,11 +4768,6 @@ esbuild-linux-arm@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.53.tgz#a44ec9b5b42007ab6c0d65a224ccc6bbd97c54cf" integrity sha512-/u81NGAVZMopbmzd21Nu/wvnKQK3pT4CrvQ8BTje1STXcQAGnfyKgQlj3m0j2BzYbvQxSy+TMck4TNV2onvoPA== -esbuild-linux-mips64le@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.48.tgz#822c1778495f7868e990d4da47ad7281df28fd15" - integrity sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA== - esbuild-linux-mips64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" @@ -4985,11 +4778,6 @@ esbuild-linux-mips64le@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.53.tgz#a4d0b6b17cfdeea4e41b0b085a5f73d99311be9f" integrity sha512-d6/XHIQW714gSSp6tOOX2UscedVobELvQlPMkInhx1NPz4ThZI9uNLQ4qQJHGBGKGfu+rtJsxM4NVHLhnNRdWQ== -esbuild-linux-ppc64le@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.48.tgz#55de0a9ec4a48fedfe82a63e083164d001709447" - integrity sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ== - esbuild-linux-ppc64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" @@ -5000,11 +4788,6 @@ esbuild-linux-ppc64le@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.53.tgz#8c331822c85465434e086e3e6065863770c38139" integrity sha512-ndnJmniKPCB52m+r6BtHHLAOXw+xBCWIxNnedbIpuREOcbSU/AlyM/2dA3BmUQhsHdb4w3amD5U2s91TJ3MzzA== -esbuild-linux-riscv64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.48.tgz#cd2b7381880b2f4b21a5a598fb673492120f18a5" - integrity sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA== - esbuild-linux-riscv64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" @@ -5015,11 +4798,6 @@ esbuild-linux-riscv64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.53.tgz#36fd75543401304bea8a2d63bf8ea18aaa508e00" integrity sha512-yG2sVH+QSix6ct4lIzJj329iJF3MhloLE6/vKMQAAd26UVPVkhMFqFopY+9kCgYsdeWvXdPgmyOuKa48Y7+/EQ== -esbuild-linux-s390x@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.48.tgz#4b319eca2a5c64637fc7397ffbd9671719cdb6bf" - integrity sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g== - esbuild-linux-s390x@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" @@ -5030,11 +4808,6 @@ esbuild-linux-s390x@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.53.tgz#1622677ab6824123f48f75d3afc031cd41936129" integrity sha512-OCJlgdkB+XPYndHmw6uZT7jcYgzmx9K+28PVdOa/eLjdoYkeAFvH5hTwX4AXGLZLH09tpl4bVsEtvuyUldaNCg== -esbuild-netbsd-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.48.tgz#c27cde8b5cb55dcc227943a18ab078fb98d0adbf" - integrity sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw== - esbuild-netbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" @@ -5045,11 +4818,6 @@ esbuild-netbsd-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.53.tgz#e86d0efd0116658be335492ed12e66b26b4baf52" integrity sha512-gp2SB+Efc7MhMdWV2+pmIs/Ja/Mi5rjw+wlDmmbIn68VGXBleNgiEZG+eV2SRS0kJEUyHNedDtwRIMzaohWedQ== -esbuild-openbsd-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.48.tgz#af5ab2d1cb41f09064bba9465fc8bf1309150df1" - integrity sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA== - esbuild-openbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" @@ -5060,11 +4828,6 @@ esbuild-openbsd-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.53.tgz#9bcbbe6f86304872c6e91f64c8eb73fc29c3588b" integrity sha512-eKQ30ZWe+WTZmteDYg8S+YjHV5s4iTxeSGhJKJajFfQx9TLZJvsJX0/paqwP51GicOUruFpSUAs2NCc0a4ivQQ== -esbuild-sunos-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.48.tgz#db3ae20526055cf6fd5c4582676233814603ac54" - integrity sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA== - esbuild-sunos-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" @@ -5075,11 +4838,6 @@ esbuild-sunos-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.53.tgz#f7a872f7460bfb7b131f7188a95fbce3d1c577e8" integrity sha512-OWLpS7a2FrIRukQqcgQqR1XKn0jSJoOdT+RlhAxUoEQM/IpytS3FXzCJM6xjUYtpO5GMY0EdZJp+ur2pYdm39g== -esbuild-wasm@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.48.tgz#dca86988712c07a2325e48af1c6ed4a0cb5c6dca" - integrity sha512-snSjjhm2OKEOfJqQWFDMg5q7Z5Dle6YK2aGTsAUGepGCMtJCxfG0fYMIJiKudcEmsviyMKCi9oASoUdnsGf+1Q== - esbuild-wasm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" @@ -5090,11 +4848,6 @@ esbuild-wasm@^0.14.29: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.50.tgz#f6163187968fb59003b20c779366f4eebfaf21a7" integrity sha512-m8isoEF9+XUOpx+OjJOPUDQjlfO+7eGqlxIsVIxcJVixj8Hq/sJ4ViXkK4RMraJeizdEsjF4/luWVWWMZ43meQ== -esbuild-windows-32@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.48.tgz#021ffceb0a3f83078262870da88a912293c57475" - integrity sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg== - esbuild-windows-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" @@ -5105,11 +4858,6 @@ esbuild-windows-32@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.53.tgz#c5e3ca50e2d1439cc2c9fe4defa63bcd474ce709" integrity sha512-m14XyWQP5rwGW0tbEfp95U6A0wY0DYPInWBB7D69FAXUpBpBObRoGTKRv36lf2RWOdE4YO3TNvj37zhXjVL5xg== -esbuild-windows-64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.48.tgz#a4d3407b580f9faac51f61eec095fa985fb3fee4" - integrity sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA== - esbuild-windows-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" @@ -5120,11 +4868,6 @@ esbuild-windows-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.53.tgz#ec2ab4a60c5215f092ffe1eab6d01319e88238af" integrity sha512-s9skQFF0I7zqnQ2K8S1xdLSfZFsPLuOGmSx57h2btSEswv0N0YodYvqLcJMrNMXh6EynOmWD7rz+0rWWbFpIHQ== -esbuild-windows-arm64@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.48.tgz#762c0562127d8b09bfb70a3c816460742dd82880" - integrity sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g== - esbuild-windows-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" @@ -5135,32 +4878,6 @@ esbuild-windows-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.53.tgz#f71d403806bdf9f4a1f9d097db9aec949bd675c8" integrity sha512-E+5Gvb+ZWts+00T9II6wp2L3KG2r3iGxByqd/a1RmLmYWVsSVUjkvIxZuJ3hYTIbhLkH5PRwpldGTKYqVz0nzQ== -esbuild@0.14.48: - version "0.14.48" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.48.tgz#da5d8d25cd2d940c45ea0cfecdca727f7aee2b85" - integrity sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA== - optionalDependencies: - esbuild-android-64 "0.14.48" - esbuild-android-arm64 "0.14.48" - esbuild-darwin-64 "0.14.48" - esbuild-darwin-arm64 "0.14.48" - esbuild-freebsd-64 "0.14.48" - esbuild-freebsd-arm64 "0.14.48" - esbuild-linux-32 "0.14.48" - esbuild-linux-64 "0.14.48" - esbuild-linux-arm "0.14.48" - esbuild-linux-arm64 "0.14.48" - esbuild-linux-mips64le "0.14.48" - esbuild-linux-ppc64le "0.14.48" - esbuild-linux-riscv64 "0.14.48" - esbuild-linux-s390x "0.14.48" - esbuild-netbsd-64 "0.14.48" - esbuild-openbsd-64 "0.14.48" - esbuild-sunos-64 "0.14.48" - esbuild-windows-32 "0.14.48" - esbuild-windows-64 "0.14.48" - esbuild-windows-arm64 "0.14.48" - esbuild@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.53.tgz#20b1007f686e8584f2a01a1bec5a37aac9498ce4" @@ -7040,11 +6757,6 @@ json5@^2.1.2, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== -jsonc-parser@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" - integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== - jsonc-parser@3.1.0, jsonc-parser@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" @@ -8935,15 +8647,6 @@ postcss-lab-function@^4.2.0: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -postcss-loader@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.0.tgz#367d10eb1c5f1d93700e6b399683a6dc7c3af396" - integrity sha512-IDyttebFzTSY6DI24KuHUcBjbAev1i+RyICoPEWcAstZsj03r533uMXtDn506l6/wlsRYiS5XBdx7TpccCsyUg== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.7" - postcss-loader@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.1.tgz#4c883cc0a1b2bfe2074377b7a74c1cd805684395" @@ -9851,10 +9554,10 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.53.0: - version "1.53.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.53.0.tgz#eab73a7baac045cc57ddc1d1ff501ad2659952eb" - integrity sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ== +sass@1.54.1: + version "1.54.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.1.tgz#4f72ef57ce2a6c3251f4e2c75eee9a0c19e09eb5" + integrity sha512-GHJJr31Me32RjjUBagyzx8tzjKBUcDwo5239XANIRBq0adDu5iIG0aFO0i/TBb/4I9oyxkEv44nq/kL1DxdDhA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -10676,16 +10379,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.7.2" -terser@5.14.1: - version "5.14.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" - integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.14.2, terser@^5.7.2: version "5.14.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" @@ -11280,7 +10973,7 @@ walk-up-path@^1.0.0: resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== -watchpack@^2.3.1, watchpack@^2.4.0: +watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -11408,36 +11101,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.73.0: - version "5.73.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" - integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.74.0: version "5.74.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" From 36b68a519539bad8fa8cb3ed9570bc8cdbadfd04 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 5 Aug 2022 18:08:50 +0000 Subject: [PATCH 0749/1388] build: update all non-major dependencies --- package.json | 6 ++--- .../angular_devkit/architect_cli/package.json | 2 +- .../angular_devkit/benchmark/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +-- .../schematics_cli/package.json | 2 +- yarn.lock | 25 +++++++++++++------ 6 files changed, 25 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 7bf7f52a696f..6359466f989c 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "@angular/router": "14.1.1", "@angular/service-worker": "14.1.1", "@babel/core": "7.18.10", - "@babel/generator": "7.18.10", + "@babel/generator": "7.18.12", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.10", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -196,7 +196,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.2", + "sass": "1.54.3", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -223,7 +223,7 @@ "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", - "yargs-parser": "21.1.0", + "yargs-parser": "21.1.1", "zone.js": "^0.11.3" } } diff --git a/packages/angular_devkit/architect_cli/package.json b/packages/angular_devkit/architect_cli/package.json index 11cab240b38e..a2073c3dfd71 100644 --- a/packages/angular_devkit/architect_cli/package.json +++ b/packages/angular_devkit/architect_cli/package.json @@ -19,7 +19,7 @@ "ansi-colors": "4.1.3", "progress": "2.0.3", "symbol-observable": "4.0.0", - "yargs-parser": "21.1.0" + "yargs-parser": "21.1.1" }, "devDependencies": { "@types/progress": "2.0.5" diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index c9f1d3d9f1df..9b37f980afe4 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -16,6 +16,6 @@ "pidtree": "0.6.0", "rxjs": "6.6.7", "tree-kill": "^1.2.0", - "yargs-parser": "21.1.0" + "yargs-parser": "21.1.1" } } diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3710fc2f226f..b0545e91ccc0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,7 +11,7 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.18.10", - "@babel/generator": "7.18.10", + "@babel/generator": "7.18.12", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.10", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.2", + "sass": "1.54.3", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index cdf1512bd336..11172a23691a 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -21,6 +21,6 @@ "ansi-colors": "4.1.3", "inquirer": "8.2.4", "symbol-observable": "4.0.0", - "yargs-parser": "21.1.0" + "yargs-parser": "21.1.1" } } diff --git a/yarn.lock b/yarn.lock index 3968dee21c49..0126f1f54cf7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -349,6 +349,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@7.18.12": + version "7.18.12" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" + integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== + dependencies: + "@babel/types" "^7.18.10" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" @@ -9563,10 +9572,10 @@ sass@1.54.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.2: - version "1.54.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.2.tgz#574cad83814c930ef2475921b9cb5d8203ae8867" - integrity sha512-wbVV26sejsCIbBScZZtNkvnrB/bVCQ8hSlZ01D9nzsVh9zLqCkWrlpvTb3YEb6xsuNi9cx75hncqwikHFSz7tw== +sass@1.54.3: + version "1.54.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.3.tgz#37baa2652f7f1fdadb73240ee9a2b9b81fabb5c4" + integrity sha512-fLodey5Qd41Pxp/Tk7Al97sViYwF/TazRc5t6E65O7JOk4XF8pzwIW7CvCxYVOfJFFI/1x5+elDyBIixrp+zrw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -11342,10 +11351,10 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@21.1.0: - version "21.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.0.tgz#a11d06a3bf57f064e951aa3ef55fcf3a5705f876" - integrity sha512-xzm2t63xTV/f7+bGMSRzLhUNk1ajv/tDoaD5OeGyC3cFo2fl7My9Z4hS3q2VdQ7JaLvTxErO8Jp5pRIFGMD/zg== +yargs-parser@21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs-parser@^18.1.2: version "18.1.3" From 2dbc55e665f1ba42e3fe8dab142803bdc5ef49d8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 8 Aug 2022 14:40:38 +0000 Subject: [PATCH 0750/1388] build: update all non-major dependencies --- package.json | 8 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 154 +++++++++++++++++- 3 files changed, 157 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 6359466f989c..fe4866af266a 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.53", - "esbuild-wasm": "0.14.53", + "esbuild": "0.14.54", + "esbuild-wasm": "0.14.54", "eslint": "8.21.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -185,13 +185,13 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.14", + "postcss": "8.4.16", "postcss-import": "14.1.0", "postcss-loader": "7.0.1", "postcss-preset-env": "7.7.2", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "16.0.0", + "puppeteer": "16.1.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b0545e91ccc0..7ad230d19f0f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.53", + "esbuild-wasm": "0.14.54", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -45,7 +45,7 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.14", + "postcss": "8.4.16", "postcss-import": "14.1.0", "postcss-loader": "7.0.1", "postcss-preset-env": "7.7.2", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.53" + "esbuild": "0.14.54" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index 0126f1f54cf7..4fd218f9625a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1450,6 +1450,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.53.tgz#251b4cd6760fadb4d68a05815e6dc5e432d69cd6" integrity sha512-W2dAL6Bnyn4xa/QRSU3ilIK4EzD5wgYXKXJiS1HDF5vU3675qc2bvFyLwbUcdmssDveyndy7FbitrCoiV/eMLg== +"@esbuild/linux-loong64@0.14.54": + version "0.14.54" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" + integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== + "@eslint/eslintrc@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" @@ -4687,6 +4692,11 @@ esbuild-android-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.53.tgz#259bc3ef1399a3cad8f4f67c40ee20779c4de675" integrity sha512-fIL93sOTnEU+NrTAVMIKiAw0YH22HWCAgg4N4Z6zov2t0kY9RAJ50zY9ZMCQ+RT6bnOfDt8gCTnt/RaSNA2yRA== +esbuild-android-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" + integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== + esbuild-android-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" @@ -4697,6 +4707,11 @@ esbuild-android-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.53.tgz#2158253d4e8f9fdd2a081bbb4f73b8806178841e" integrity sha512-PC7KaF1v0h/nWpvlU1UMN7dzB54cBH8qSsm7S9mkwFA1BXpaEOufCg8hdoEI1jep0KeO/rjZVWrsH8+q28T77A== +esbuild-android-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" + integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== + esbuild-darwin-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" @@ -4707,6 +4722,11 @@ esbuild-darwin-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.53.tgz#b4681831fd8f8d06feb5048acbe90d742074cc2a" integrity sha512-gE7P5wlnkX4d4PKvLBUgmhZXvL7lzGRLri17/+CmmCzfncIgq8lOBvxGMiQ4xazplhxq+72TEohyFMZLFxuWvg== +esbuild-darwin-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" + integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== + esbuild-darwin-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" @@ -4717,6 +4737,11 @@ esbuild-darwin-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.53.tgz#d267d957852d121b261b3f76ead86e5b5463acc9" integrity sha512-otJwDU3hnI15Q98PX4MJbknSZ/WSR1I45il7gcxcECXzfN4Mrpft5hBDHXNRnCh+5858uPXBXA1Vaz2jVWLaIA== +esbuild-darwin-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" + integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== + esbuild-freebsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" @@ -4727,6 +4752,11 @@ esbuild-freebsd-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.53.tgz#aca2af6d72b537fe66a38eb8f374fb66d4c98ca0" integrity sha512-WkdJa8iyrGHyKiPF4lk0MiOF87Q2SkE+i+8D4Cazq3/iqmGPJ6u49je300MFi5I2eUsQCkaOWhpCVQMTKGww2w== +esbuild-freebsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" + integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== + esbuild-freebsd-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" @@ -4737,6 +4767,11 @@ esbuild-freebsd-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.53.tgz#76282e19312d914c34343c8a7da6cc5f051580b9" integrity sha512-9T7WwCuV30NAx0SyQpw8edbKvbKELnnm1FHg7gbSYaatH+c8WJW10g/OdM7JYnv7qkimw2ZTtSA+NokOLd2ydQ== +esbuild-freebsd-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" + integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== + esbuild-linux-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" @@ -4747,6 +4782,11 @@ esbuild-linux-32@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.53.tgz#1045d34cf7c5faaf2af3b29cc1573b06580c37e5" integrity sha512-VGanLBg5en2LfGDgLEUxQko2lqsOS7MTEWUi8x91YmsHNyzJVT/WApbFFx3MQGhkf+XdimVhpyo5/G0PBY91zg== +esbuild-linux-32@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" + integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== + esbuild-linux-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" @@ -4757,6 +4797,11 @@ esbuild-linux-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.53.tgz#ab3f2ee2ebb5a6930c72d9539cb34b428808cbe4" integrity sha512-pP/FA55j/fzAV7N9DF31meAyjOH6Bjuo3aSKPh26+RW85ZEtbJv9nhoxmGTd9FOqjx59Tc1ZbrJabuiXlMwuZQ== +esbuild-linux-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" + integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== + esbuild-linux-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" @@ -4767,6 +4812,11 @@ esbuild-linux-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.53.tgz#1f5530412f6690949e78297122350488d3266cfe" integrity sha512-GDmWITT+PMsjCA6/lByYk7NyFssW4Q6in32iPkpjZ/ytSyH+xeEx8q7HG3AhWH6heemEYEWpTll/eui3jwlSnw== +esbuild-linux-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" + integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== + esbuild-linux-arm@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" @@ -4777,6 +4827,11 @@ esbuild-linux-arm@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.53.tgz#a44ec9b5b42007ab6c0d65a224ccc6bbd97c54cf" integrity sha512-/u81NGAVZMopbmzd21Nu/wvnKQK3pT4CrvQ8BTje1STXcQAGnfyKgQlj3m0j2BzYbvQxSy+TMck4TNV2onvoPA== +esbuild-linux-arm@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" + integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== + esbuild-linux-mips64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" @@ -4787,6 +4842,11 @@ esbuild-linux-mips64le@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.53.tgz#a4d0b6b17cfdeea4e41b0b085a5f73d99311be9f" integrity sha512-d6/XHIQW714gSSp6tOOX2UscedVobELvQlPMkInhx1NPz4ThZI9uNLQ4qQJHGBGKGfu+rtJsxM4NVHLhnNRdWQ== +esbuild-linux-mips64le@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" + integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== + esbuild-linux-ppc64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" @@ -4797,6 +4857,11 @@ esbuild-linux-ppc64le@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.53.tgz#8c331822c85465434e086e3e6065863770c38139" integrity sha512-ndnJmniKPCB52m+r6BtHHLAOXw+xBCWIxNnedbIpuREOcbSU/AlyM/2dA3BmUQhsHdb4w3amD5U2s91TJ3MzzA== +esbuild-linux-ppc64le@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" + integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== + esbuild-linux-riscv64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" @@ -4807,6 +4872,11 @@ esbuild-linux-riscv64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.53.tgz#36fd75543401304bea8a2d63bf8ea18aaa508e00" integrity sha512-yG2sVH+QSix6ct4lIzJj329iJF3MhloLE6/vKMQAAd26UVPVkhMFqFopY+9kCgYsdeWvXdPgmyOuKa48Y7+/EQ== +esbuild-linux-riscv64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" + integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== + esbuild-linux-s390x@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" @@ -4817,6 +4887,11 @@ esbuild-linux-s390x@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.53.tgz#1622677ab6824123f48f75d3afc031cd41936129" integrity sha512-OCJlgdkB+XPYndHmw6uZT7jcYgzmx9K+28PVdOa/eLjdoYkeAFvH5hTwX4AXGLZLH09tpl4bVsEtvuyUldaNCg== +esbuild-linux-s390x@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" + integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== + esbuild-netbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" @@ -4827,6 +4902,11 @@ esbuild-netbsd-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.53.tgz#e86d0efd0116658be335492ed12e66b26b4baf52" integrity sha512-gp2SB+Efc7MhMdWV2+pmIs/Ja/Mi5rjw+wlDmmbIn68VGXBleNgiEZG+eV2SRS0kJEUyHNedDtwRIMzaohWedQ== +esbuild-netbsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" + integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== + esbuild-openbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" @@ -4837,6 +4917,11 @@ esbuild-openbsd-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.53.tgz#9bcbbe6f86304872c6e91f64c8eb73fc29c3588b" integrity sha512-eKQ30ZWe+WTZmteDYg8S+YjHV5s4iTxeSGhJKJajFfQx9TLZJvsJX0/paqwP51GicOUruFpSUAs2NCc0a4ivQQ== +esbuild-openbsd-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" + integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== + esbuild-sunos-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" @@ -4847,11 +4932,21 @@ esbuild-sunos-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.53.tgz#f7a872f7460bfb7b131f7188a95fbce3d1c577e8" integrity sha512-OWLpS7a2FrIRukQqcgQqR1XKn0jSJoOdT+RlhAxUoEQM/IpytS3FXzCJM6xjUYtpO5GMY0EdZJp+ur2pYdm39g== +esbuild-sunos-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" + integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== + esbuild-wasm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== +esbuild-wasm@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.54.tgz#6e31c86700850664ed9781876cb907c13d230d69" + integrity sha512-Lk1Rq6mnHCIgYpUGQGsJn1dgW26w5uV0KYTl6CdoixSF4hD4v8Nyyxmhrqo4lUkV8AQoWLVfIBWYo7l+JTPl9g== + esbuild-wasm@^0.14.29: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.50.tgz#f6163187968fb59003b20c779366f4eebfaf21a7" @@ -4867,6 +4962,11 @@ esbuild-windows-32@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.53.tgz#c5e3ca50e2d1439cc2c9fe4defa63bcd474ce709" integrity sha512-m14XyWQP5rwGW0tbEfp95U6A0wY0DYPInWBB7D69FAXUpBpBObRoGTKRv36lf2RWOdE4YO3TNvj37zhXjVL5xg== +esbuild-windows-32@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" + integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== + esbuild-windows-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" @@ -4877,6 +4977,11 @@ esbuild-windows-64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.53.tgz#ec2ab4a60c5215f092ffe1eab6d01319e88238af" integrity sha512-s9skQFF0I7zqnQ2K8S1xdLSfZFsPLuOGmSx57h2btSEswv0N0YodYvqLcJMrNMXh6EynOmWD7rz+0rWWbFpIHQ== +esbuild-windows-64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" + integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== + esbuild-windows-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" @@ -4887,6 +4992,11 @@ esbuild-windows-arm64@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.53.tgz#f71d403806bdf9f4a1f9d097db9aec949bd675c8" integrity sha512-E+5Gvb+ZWts+00T9II6wp2L3KG2r3iGxByqd/a1RmLmYWVsSVUjkvIxZuJ3hYTIbhLkH5PRwpldGTKYqVz0nzQ== +esbuild-windows-arm64@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" + integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== + esbuild@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.53.tgz#20b1007f686e8584f2a01a1bec5a37aac9498ce4" @@ -4914,6 +5024,33 @@ esbuild@0.14.53: esbuild-windows-64 "0.14.53" esbuild-windows-arm64 "0.14.53" +esbuild@0.14.54: + version "0.14.54" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" + integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== + optionalDependencies: + "@esbuild/linux-loong64" "0.14.54" + esbuild-android-64 "0.14.54" + esbuild-android-arm64 "0.14.54" + esbuild-darwin-64 "0.14.54" + esbuild-darwin-arm64 "0.14.54" + esbuild-freebsd-64 "0.14.54" + esbuild-freebsd-arm64 "0.14.54" + esbuild-linux-32 "0.14.54" + esbuild-linux-64 "0.14.54" + esbuild-linux-arm "0.14.54" + esbuild-linux-arm64 "0.14.54" + esbuild-linux-mips64le "0.14.54" + esbuild-linux-ppc64le "0.14.54" + esbuild-linux-riscv64 "0.14.54" + esbuild-linux-s390x "0.14.54" + esbuild-netbsd-64 "0.14.54" + esbuild-openbsd-64 "0.14.54" + esbuild-sunos-64 "0.14.54" + esbuild-windows-32 "0.14.54" + esbuild-windows-64 "0.14.54" + esbuild-windows-arm64 "0.14.54" + esbuild@^0.14.29: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" @@ -8839,6 +8976,15 @@ postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.16: + version "8.4.16" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" + integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9007,10 +9153,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.0.0.tgz#9efb6cdb57e3e51cf060a33f6289e88200dd4672" - integrity sha512-FgSe21IHNHkqv1SiJiob4ANsxVujcINa4p3MaDEMyoZsocbgSgwYE0c9lnF8eoinw4id3vx4DOXwhFdOOwVlDg== +puppeteer@16.1.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.1.0.tgz#06a32dc347c94642601017fbf83e1d37379b9651" + integrity sha512-lhykJLbH2bbBaP3NfYI2Vj0T4ctrdfVdEVf8glZITPnLfqrJ0nfUzAYuIz5YcA79k5lmFKANIhEXex+jQChU3g== dependencies: cross-fetch "3.1.5" debug "4.3.4" From c0d1bec540ac2319be3fb9f6b4320ddabe22d997 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 8 Aug 2022 17:43:58 +0000 Subject: [PATCH 0751/1388] build: lock file maintenance --- yarn.lock | 537 ++++++++++++++++++------------------------------------ 1 file changed, 176 insertions(+), 361 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4fd218f9625a..8b1713e8c870 100644 --- a/yarn.lock +++ b/yarn.lock @@ -199,20 +199,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.1.1": +"@angular/core@14.1.1", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.1.1" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.1.tgz#5c116d76445d85b03a3e6efaa348399722eac476" integrity sha512-l3ms6/jxIUIeuCkXhz5nhRb94KLQ6wv9+B4lE0aJXcgHTqOmhc/ZIacT51LCjvVcok/vczF3f7w71Ii8b10yKQ== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.0.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.0.6.tgz#697d52ca9d772877a5138af26d1d9c5e7c267ade" - integrity sha512-hyQ3s9Yrm3ejhumgAC9ENhMFmvmPlJkk1tEOjruyoiHwK4EOaDpI+GCNQIBUB1Z3B/QLMlgZeMXrULQztjSQwg== - dependencies: - tslib "^2.3.0" - "@angular/forms@14.1.1": version "14.1.1" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.1.tgz#14e3c01e7432aeab9e08115e28f2edae787aaffa" @@ -298,7 +291,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== -"@babel/core@7.18.10": +"@babel/core@7.18.10", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== @@ -319,7 +312,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.9", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== @@ -340,7 +333,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.10", "@babel/generator@^7.18.10": +"@babel/generator@7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.10.tgz#794f328bfabdcbaf0ebf9bf91b5b57b61fa77a2a" integrity sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA== @@ -349,7 +342,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.12": +"@babel/generator@7.18.12", "@babel/generator@^7.18.10", "@babel/generator@^7.18.9": version "7.18.12" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== @@ -358,15 +351,6 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" - integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== - dependencies: - "@babel/types" "^7.18.9" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -550,14 +534,14 @@ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz#ae1feddc6ebbaa2fd79346b77821c3bd73a39646" - integrity sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ== + version "7.18.11" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz#bff23ace436e3f6aefb61f85ffae2291c80ed1fb" + integrity sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w== dependencies: "@babel/helper-function-name" "^7.18.9" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.18.11" + "@babel/types" "^7.18.10" "@babel/helpers@^7.18.9": version "7.18.9" @@ -577,15 +561,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" - integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== - -"@babel/parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1" - integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.11", "@babel/parser@^7.18.9": + version "7.18.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" + integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -1200,7 +1179,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.18.10", "@babel/template@^7.18.10": +"@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== @@ -1209,19 +1188,10 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/template@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" - integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/traverse@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.10.tgz#37ad97d1cb00efa869b91dd5d1950f8a6cf0cb08" - integrity sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g== +"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.9": + version "7.18.11" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" + integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== dependencies: "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.18.10" @@ -1229,36 +1199,12 @@ "@babel/helper-function-name" "^7.18.9" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.10" + "@babel/parser" "^7.18.11" "@babel/types" "^7.18.10" debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" - integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.9" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.9" - "@babel/types" "^7.18.9" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" - integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.10": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== @@ -1653,9 +1599,9 @@ fastq "^1.6.0" "@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.3.0.tgz#321d9424677bfc08569e98a5ac445ee781f32053" - integrity sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A== + version "5.4.0" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.4.0.tgz#beef01e0b47c682b74cae4c9266f5720bf1cdf0a" + integrity sha512-gWDDQjoRndukgV9DLDXLqgzY2sIbUJ0D7JNgNlLuMFbei4Gm7EWYulpOyIjYxdYXM9b0L3sAniOOlOVMkMNMXA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -1665,12 +1611,14 @@ "@npmcli/name-from-folder" "^1.0.1" "@npmcli/node-gyp" "^2.0.0" "@npmcli/package-json" "^2.0.0" + "@npmcli/query" "^1.1.1" "@npmcli/run-script" "^4.1.3" bin-links "^3.0.0" cacache "^16.0.6" common-ancestor-path "^1.0.1" json-parse-even-better-errors "^2.3.1" json-stringify-nice "^1.1.4" + minimatch "^5.1.0" mkdirp "^1.0.4" mkdirp-infer-owner "^2.0.0" nopt "^5.0.0" @@ -1718,7 +1666,7 @@ dependencies: ansi-styles "^4.3.0" -"@npmcli/fs@^2.1.0": +"@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz#c0c480b03450d8b9fc086816a50cb682668a48bf" integrity sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg== @@ -1750,9 +1698,9 @@ npm-normalize-package-bin "^1.0.1" "@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz#2d3c75119ee53246e9aa75bc469a55281cd5f08f" - integrity sha512-X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" + integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== dependencies: "@npmcli/name-from-folder" "^1.0.1" glob "^8.0.1" @@ -1801,10 +1749,19 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.1.7": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7" - integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw== +"@npmcli/query@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.1.1.tgz#462c4268473ae39e89d5fefbad94d9af7e1217c4" + integrity sha512-UF3I0fD94wzQ84vojMO2jDB8ibjRSTqhi8oz2mzVKiJ9gZHbeGlu9kzPvgHuGDK0Hf2cARhWtTfCDHNEwlL9hg== + dependencies: + npm-package-arg "^9.1.0" + postcss-selector-parser "^6.0.10" + semver "^7.3.7" + +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.0.tgz#2c25758f80831ba138afe25225d456e89acedac3" + integrity sha512-e/QgLg7j2wSJp1/7JRl0GC8c7PMX+uYlA/1Tb+IDOLdSM4T7K1VQ9mm9IGU3WRtY5vEIObpqCLb3aCNCug18DA== dependencies: "@npmcli/node-gyp" "^2.0.0" "@npmcli/promise-spawn" "^3.0.0" @@ -1993,9 +1950,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" - integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== + version "7.18.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.0.tgz#8134fd78cb39567465be65b9fdc16d378095f41f" + integrity sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw== dependencies: "@babel/types" "^7.3.0" @@ -2107,9 +2064,9 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.29" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz#2a1795ea8e9e9c91b4a4bbe475034b20c1ec711c" - integrity sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q== + version "4.17.30" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz#0f2f99617fa8f9696170c46152ccf7500b34ac04" + integrity sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ== dependencies: "@types/node" "*" "@types/qs" "*" @@ -2146,12 +2103,11 @@ integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== "@types/inquirer@^8.0.0": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.1.tgz#28a139be3105a1175e205537e8ac10830e38dbf4" - integrity sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw== + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.2.tgz#7ec5f166026b55b10df011521c8a63920cb84a7a" + integrity sha512-HXoFOl+KS4yvmUjisi83VpuSBOeeXIzdJfoT/v2pUruqybpHy0Dz1DyXy3E2jNH0cSVKJZV92VOnFBwJR6k83A== dependencies: "@types/through" "*" - rxjs "^7.2.0" "@types/is-windows@^1.0.0": version "1.0.0" @@ -2206,6 +2162,11 @@ dependencies: "@types/parse-glob" "*" +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" @@ -2230,9 +2191,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5" - integrity sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg== + version "18.6.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.5.tgz#06caea822caf9e59d5034b695186ee74154d2802" + integrity sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw== "@types/node@12.20.24": version "12.20.24" @@ -2250,9 +2211,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.22.tgz#fd2a15dca290fc9ad565b672fde746191cd0c6e6" - integrity sha512-qzaYbXVzin6EPjghf/hTdIbnVW1ErMx8rPzwRNJhlbyJhu2SyqlvjGOY/tbUt6VFyzg56lROcOeSQRInpt63Yw== + version "14.18.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.23.tgz#70f5f20b0b1b38f696848c1d3647bb95694e615e" + integrity sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2402,11 +2363,11 @@ "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.13.10" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + version "1.15.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== dependencies: - "@types/mime" "^1" + "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": @@ -2496,9 +2457,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.10" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" - integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== + version "17.0.11" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.11.tgz#5e10ca33e219807c0eee0f08b5efcba9b6a42c06" + integrity sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA== dependencies: "@types/yargs-parser" "*" @@ -3000,9 +2961,9 @@ archy@~1.0.0: integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== are-we-there-yet@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" - integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== dependencies: delegates "^1.0.0" readable-stream "^3.6.0" @@ -3132,12 +3093,12 @@ atomic-sleep@^1.0.0: integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== autoprefixer@^10.4.7: - version "10.4.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" - integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== + version "10.4.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" + integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== dependencies: - browserslist "^4.20.3" - caniuse-lite "^1.0.30001335" + browserslist "^4.21.3" + caniuse-lite "^1.0.30001373" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3421,15 +3382,15 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.21.0, browserslist@^4.21.2, browserslist@^4.9.1: - version "4.21.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" - integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.21.0, browserslist@^4.21.3, browserslist@^4.9.1: + version "4.21.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" + integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== dependencies: - caniuse-lite "^1.0.30001366" - electron-to-chromium "^1.4.188" + caniuse-lite "^1.0.30001370" + electron-to-chromium "^1.4.202" node-releases "^2.0.6" - update-browserslist-db "^1.0.4" + update-browserslist-db "^1.0.5" browserstack@^1.5.1: version "1.6.1" @@ -3476,7 +3437,7 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^3.0.0: +builtin-modules@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== @@ -3559,10 +3520,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001366: - version "1.0.30001370" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz#0a30d4f20d38b9e108cc5ae7cc62df9fe66cd5ba" - integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g== +caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: + version "1.0.30001374" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz#3dab138e3f5485ba2e74bd13eca7fe1037ce6f57" + integrity sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw== caseless@~0.12.0: version "0.12.0" @@ -3954,11 +3915,11 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.24.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.24.0.tgz#885958fac38bf3f4464a90f2663b4620f6aee6e3" - integrity sha512-F+2E63X3ff/nj8uIrf8Rf24UDGIz7p838+xjEp+Bx3y8OWXj+VTPPZNCtdqovPaS9o7Tka5mCH01Zn5vOd6UQg== + version "3.24.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.24.1.tgz#d1af84a17e18dfdd401ee39da9996f9a7ba887de" + integrity sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw== dependencies: - browserslist "^4.21.2" + browserslist "^4.21.3" semver "7.0.0" core-util-is@1.0.2: @@ -4149,7 +4110,7 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-format@^4.0.11, date-format@^4.0.13: +date-format@^4.0.13: version "4.0.13" resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.13.tgz#87c3aab3a4f6f37582c5f5f63692d2956fa67890" integrity sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ== @@ -4466,10 +4427,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.188: - version "1.4.199" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz#e0384fde79fdda89880e8be58196a9153e04db3b" - integrity sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg== +electron-to-chromium@^1.4.202: + version "1.4.211" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz#afaa8b58313807501312d598d99b953568d60f91" + integrity sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A== emoji-regex@^8.0.0: version "8.0.0" @@ -4635,9 +4596,9 @@ es-to-primitive@^1.2.1: is-symbol "^1.0.2" es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.61" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.61.tgz#311de37949ef86b6b0dcea894d1ffedb909d3269" - integrity sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA== + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== dependencies: es6-iterator "^2.0.3" es6-symbol "^3.1.3" @@ -4682,11 +4643,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" - integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== - esbuild-android-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.53.tgz#259bc3ef1399a3cad8f4f67c40ee20779c4de675" @@ -4697,11 +4653,6 @@ esbuild-android-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== -esbuild-android-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" - integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== - esbuild-android-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.53.tgz#2158253d4e8f9fdd2a081bbb4f73b8806178841e" @@ -4712,11 +4663,6 @@ esbuild-android-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== -esbuild-darwin-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" - integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== - esbuild-darwin-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.53.tgz#b4681831fd8f8d06feb5048acbe90d742074cc2a" @@ -4727,11 +4673,6 @@ esbuild-darwin-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== -esbuild-darwin-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" - integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== - esbuild-darwin-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.53.tgz#d267d957852d121b261b3f76ead86e5b5463acc9" @@ -4742,11 +4683,6 @@ esbuild-darwin-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== -esbuild-freebsd-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" - integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== - esbuild-freebsd-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.53.tgz#aca2af6d72b537fe66a38eb8f374fb66d4c98ca0" @@ -4757,11 +4693,6 @@ esbuild-freebsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== -esbuild-freebsd-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" - integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== - esbuild-freebsd-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.53.tgz#76282e19312d914c34343c8a7da6cc5f051580b9" @@ -4772,11 +4703,6 @@ esbuild-freebsd-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== -esbuild-linux-32@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" - integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== - esbuild-linux-32@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.53.tgz#1045d34cf7c5faaf2af3b29cc1573b06580c37e5" @@ -4787,11 +4713,6 @@ esbuild-linux-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== -esbuild-linux-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" - integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== - esbuild-linux-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.53.tgz#ab3f2ee2ebb5a6930c72d9539cb34b428808cbe4" @@ -4802,11 +4723,6 @@ esbuild-linux-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== -esbuild-linux-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" - integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== - esbuild-linux-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.53.tgz#1f5530412f6690949e78297122350488d3266cfe" @@ -4817,11 +4733,6 @@ esbuild-linux-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== -esbuild-linux-arm@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" - integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== - esbuild-linux-arm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.53.tgz#a44ec9b5b42007ab6c0d65a224ccc6bbd97c54cf" @@ -4832,11 +4743,6 @@ esbuild-linux-arm@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== -esbuild-linux-mips64le@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" - integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== - esbuild-linux-mips64le@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.53.tgz#a4d0b6b17cfdeea4e41b0b085a5f73d99311be9f" @@ -4847,11 +4753,6 @@ esbuild-linux-mips64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== -esbuild-linux-ppc64le@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" - integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== - esbuild-linux-ppc64le@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.53.tgz#8c331822c85465434e086e3e6065863770c38139" @@ -4862,11 +4763,6 @@ esbuild-linux-ppc64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== -esbuild-linux-riscv64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" - integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== - esbuild-linux-riscv64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.53.tgz#36fd75543401304bea8a2d63bf8ea18aaa508e00" @@ -4877,11 +4773,6 @@ esbuild-linux-riscv64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== -esbuild-linux-s390x@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" - integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== - esbuild-linux-s390x@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.53.tgz#1622677ab6824123f48f75d3afc031cd41936129" @@ -4892,11 +4783,6 @@ esbuild-linux-s390x@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== -esbuild-netbsd-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" - integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== - esbuild-netbsd-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.53.tgz#e86d0efd0116658be335492ed12e66b26b4baf52" @@ -4907,11 +4793,6 @@ esbuild-netbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== -esbuild-openbsd-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" - integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== - esbuild-openbsd-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.53.tgz#9bcbbe6f86304872c6e91f64c8eb73fc29c3588b" @@ -4922,11 +4803,6 @@ esbuild-openbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== -esbuild-sunos-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" - integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== - esbuild-sunos-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.53.tgz#f7a872f7460bfb7b131f7188a95fbce3d1c577e8" @@ -4942,21 +4818,11 @@ esbuild-wasm@0.14.53: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== -esbuild-wasm@0.14.54: +esbuild-wasm@0.14.54, esbuild-wasm@^0.14.29: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.54.tgz#6e31c86700850664ed9781876cb907c13d230d69" integrity sha512-Lk1Rq6mnHCIgYpUGQGsJn1dgW26w5uV0KYTl6CdoixSF4hD4v8Nyyxmhrqo4lUkV8AQoWLVfIBWYo7l+JTPl9g== -esbuild-wasm@^0.14.29: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.50.tgz#f6163187968fb59003b20c779366f4eebfaf21a7" - integrity sha512-m8isoEF9+XUOpx+OjJOPUDQjlfO+7eGqlxIsVIxcJVixj8Hq/sJ4ViXkK4RMraJeizdEsjF4/luWVWWMZ43meQ== - -esbuild-windows-32@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" - integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== - esbuild-windows-32@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.53.tgz#c5e3ca50e2d1439cc2c9fe4defa63bcd474ce709" @@ -4967,11 +4833,6 @@ esbuild-windows-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== -esbuild-windows-64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" - integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== - esbuild-windows-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.53.tgz#ec2ab4a60c5215f092ffe1eab6d01319e88238af" @@ -4982,11 +4843,6 @@ esbuild-windows-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== -esbuild-windows-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" - integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== - esbuild-windows-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.53.tgz#f71d403806bdf9f4a1f9d097db9aec949bd675c8" @@ -5024,7 +4880,7 @@ esbuild@0.14.53: esbuild-windows-64 "0.14.53" esbuild-windows-arm64 "0.14.53" -esbuild@0.14.54: +esbuild@0.14.54, esbuild@^0.14.29: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== @@ -5051,32 +4907,6 @@ esbuild@0.14.54: esbuild-windows-64 "0.14.54" esbuild-windows-arm64 "0.14.54" -esbuild@^0.14.29: - version "0.14.50" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" - integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== - optionalDependencies: - esbuild-android-64 "0.14.50" - esbuild-android-arm64 "0.14.50" - esbuild-darwin-64 "0.14.50" - esbuild-darwin-arm64 "0.14.50" - esbuild-freebsd-64 "0.14.50" - esbuild-freebsd-arm64 "0.14.50" - esbuild-linux-32 "0.14.50" - esbuild-linux-64 "0.14.50" - esbuild-linux-arm "0.14.50" - esbuild-linux-arm64 "0.14.50" - esbuild-linux-mips64le "0.14.50" - esbuild-linux-ppc64le "0.14.50" - esbuild-linux-riscv64 "0.14.50" - esbuild-linux-s390x "0.14.50" - esbuild-netbsd-64 "0.14.50" - esbuild-openbsd-64 "0.14.50" - esbuild-sunos-64 "0.14.50" - esbuild-windows-32 "0.14.50" - esbuild-windows-64 "0.14.50" - esbuild-windows-arm64 "0.14.50" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5256,16 +5086,7 @@ eslint@8.21.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^9.3.2: - version "9.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" - integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== - dependencies: - acorn "^8.7.1" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -espree@^9.3.3: +espree@^9.3.2, espree@^9.3.3: version "9.3.3" resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== @@ -5495,9 +5316,9 @@ fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fastest-levenshtein@^1.0.12: - version "1.0.14" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz#9054384e4b7a78c88d01a4432dc18871af0ac859" - integrity sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA== + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: version "1.13.0" @@ -5625,7 +5446,7 @@ flatstr@^1.0.12: resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== -flatted@^3.1.0, flatted@^3.2.5: +flatted@^3.1.0, flatted@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== @@ -5934,9 +5755,9 @@ globby@^5.0.0: pinkie-promise "^2.0.0" google-protobuf@^3.6.1: - version "3.20.1" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.20.1.tgz#1b255c2b59bcda7c399df46c65206aa3c7a0ce8b" - integrity sha512-XMf1+O32FjYIV3CYu6Tuh5PNbfNEU5Xu22X+Xkdb/DUexFlCzhvv7d5Iirm4AOwn8lv4al1YvIhzGrg2j9Zfzw== + version "3.21.0" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.0.tgz#8dfa3fca16218618d373d414d3c1139e28034d6e" + integrity sha512-byR7MBTK4tZ5PZEb+u5ZTzpt4SfrTxv5682MjPlHN16XeqgZE2/8HOIWeiXe8JKnT9OVbtBGhbq8mtvkK8cd5g== graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" @@ -6007,7 +5828,7 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -6420,11 +6241,11 @@ is-boolean-object@^1.1.0: has-tostringtag "^1.0.0" is-builtin-module@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00" - integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" + integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== dependencies: - builtin-modules "^3.0.0" + builtin-modules "^3.3.0" is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" @@ -6439,9 +6260,9 @@ is-cidr@^4.0.2: cidr-regex "^3.1.1" is-core-module@^2.1.0, is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" - integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== dependencies: has "^1.0.3" @@ -6954,9 +6775,9 @@ jsprim@^1.2.2: verror "1.10.0" jszip@^3.1.3, jszip@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.0.tgz#faf3db2b4b8515425e34effcdbb086750a346061" - integrity sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q== + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== dependencies: lie "~3.3.0" pako "~1.0.2" @@ -6964,14 +6785,14 @@ jszip@^3.1.3, jszip@^3.10.0: setimmediate "^1.0.5" just-diff-apply@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.3.1.tgz#30f40809ffed55ad76dccf73fa9b85a76964c867" - integrity sha512-dgFenZnMsc1xGNqgdtgnh7DK+Oy352CE3VZLbzcbQpsBs9iI2K3M0IRrdgREZ72eItTjbl0suRyvKRdVQa9GbA== + version "5.4.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.0.tgz#c7698d80a19493e5a3d8dac0deaff499b565d6eb" + integrity sha512-nXI6VsJ3Z+9+qC4LYmxmvs40LY9VwYkACSCxD9lctd2nEtf+Jdf7lbkPuGycnu53gVoIACpPhOJ+8nZYRK9Gcw== just-diff@^5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.0.3.tgz#4c9c514dec5526b25ab977590e3c39a0cf271554" - integrity sha512-a8p80xcpJ6sdurk5PxDKb4mav9MeKjA3zFKZpCWBIfvg8mznfnmb13MKZvlrwJ+Lhis0wM3uGAzE0ArhFHvIcg== + version "5.1.0" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.0.tgz#b916c4428cb65c066cda57e1b4851348c4d97ddc" + integrity sha512-Rb0cKJWEOL8/YdXIBYqaWvXjp7VSDRWoGRdlTgP3wy3vdMwhAmLS6QJL26UeS/UDUlScem7NpQCJyY8chl5/3g== jwa@^1.4.1: version "1.4.1" @@ -7145,13 +6966,14 @@ libnpmdiff@^4.0.2: tar "^6.1.0" libnpmexec@^4.0.2: - version "4.0.8" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.8.tgz#27be33278dec1c7cfce52e28f8814b19e31129fe" - integrity sha512-SKO6JCt/rL6r+ilbq315zEj2sDdZRniCJ2AvmzqMyIKW4IMuuLsOjjkcWKBV2l1Vle54ud7Tkv9IEPR2cE0mJg== + version "4.0.9" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.9.tgz#6bfff09cc05bc60eea023e1c818fa6159ade3954" + integrity sha512-w+m/ximjFJQ1ndGu8dTR3K/sZcmSuetOCflFBkwVFXvf2JPd1BT8ETBrmYISMYBo2kuHn8HzvwZZtAeZBvrZbQ== dependencies: "@npmcli/arborist" "^5.0.0" "@npmcli/ci-detect" "^2.0.0" - "@npmcli/run-script" "^4.1.3" + "@npmcli/fs" "^2.1.1" + "@npmcli/run-script" "^4.2.0" chalk "^4.1.0" mkdirp-infer-owner "^2.0.0" npm-package-arg "^9.0.1" @@ -7160,6 +6982,7 @@ libnpmexec@^4.0.2: proc-log "^2.0.0" read "^1.0.7" read-package-json-fast "^2.0.2" + semver "^7.3.7" walk-up-path "^1.0.0" libnpmfund@^3.0.1: @@ -7403,15 +7226,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.6.0" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.6.0.tgz#e8fd00143d1e0ecf1d10959bb69b90b1b30137f3" - integrity sha512-3v8R7fd45UB6THucSht6wN2/7AZEruQbXdjygPZcxt5TA/msO6si9CN5MefUuKXbYnJHTBnYcx4famwcyQd+sA== + version "6.6.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.6.1.tgz#48f23de8a87d2f5ffd3d913f24ca9ce77895272f" + integrity sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A== dependencies: - date-format "^4.0.11" + date-format "^4.0.13" debug "^4.3.4" - flatted "^3.2.5" + flatted "^3.2.6" rfdc "^1.3.0" - streamroller "^3.1.1" + streamroller "^3.1.2" long@^4.0.0: version "4.0.0" @@ -7429,7 +7252,7 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.13.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: +lru-cache@7.13.1: version "7.13.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== @@ -7441,6 +7264,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.13.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.2.tgz#bb5d3f1deea3f3a7a35c1c44345566a612e09cd0" + integrity sha512-VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7643,7 +7471,7 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.1.0, minimatch@^5.0.1: +minimatch@5.1.0, minimatch@^5.0.1, minimatch@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== @@ -8024,9 +7852,9 @@ npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: semver "^7.3.5" npm-profile@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.0.tgz#e2d62b184815a97575702319b5f32ac59e4458bb" - integrity sha512-wG7ZAsLvhqDc2b9COAuGUJgPRUfvCnQI8NEYeifSHZpSYXAgTsHu5812kkcwZeX/5WPd/ARX/MJRWTBFjlUxvg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" + integrity sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ== dependencies: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" @@ -8057,9 +7885,9 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.15.0.tgz#d4b53cd29b13ea164f0f5767bca274dbe7d8f78d" - integrity sha512-sFXrMiO07eDWUb/e5ni2yNvtz2hePKqSyukUxYcQv0QHjyXCe+zKP7af/bISjcvsgRBWGyivk5V3KCZ0vg8J3Q== + version "8.16.0" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.16.0.tgz#d385060093f3af10fabe6d8205d41bbf2a34ff9d" + integrity sha512-UfLT/hCbcpV9uiTEBthyrOlQxwk8LG5tAGn283g7f7pRx41KcwFiHV7HYgYm2y2GabfnPtf897ptrXRQwxJWzQ== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" @@ -8068,7 +7896,7 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^4.1.7" + "@npmcli/run-script" "^4.2.0" abbrev "~1.1.1" archy "~1.0.0" cacache "^16.1.1" @@ -8181,13 +8009,13 @@ object-keys@^1.1.1: integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + version "4.1.3" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.3.tgz#d36b7700ddf0019abb6b1df1bb13f6445f79051f" + integrity sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" object-keys "^1.1.1" object.values@^1.1.5: @@ -8967,7 +8795,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.14: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== @@ -8976,7 +8804,7 @@ postcss@8.4.14, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.16: +postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7, postcss@^8.4.8: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== @@ -9642,9 +9470,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.77.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4" - integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g== + version "2.77.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3" + integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g== optionalDependencies: fsevents "~2.3.2" @@ -9679,7 +9507,7 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.2.0, rxjs@^7.5.5: +rxjs@^7.5.5: version "7.5.6" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== @@ -9718,7 +9546,7 @@ sass@1.54.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.3: +sass@1.54.3, sass@^1.49.9: version "1.54.3" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.3.tgz#37baa2652f7f1fdadb73240ee9a2b9b81fabb5c4" integrity sha512-fLodey5Qd41Pxp/Tk7Al97sViYwF/TazRc5t6E65O7JOk4XF8pzwIW7CvCxYVOfJFFI/1x5+elDyBIixrp+zrw== @@ -9727,17 +9555,9 @@ sass@1.54.3: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.49.9: - version "1.54.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.0.tgz#24873673265e2a4fe3d3a997f714971db2fba1f4" - integrity sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10328,7 +10148,7 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.1.1: +streamroller@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.2.tgz#abd444560768b340f696307cf84d3f46e86c0e63" integrity sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A== @@ -10808,9 +10628,9 @@ type@^1.0.1: integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== typed-assert@^1.0.8: version "1.0.9" @@ -10925,7 +10745,7 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.4: +update-browserslist-db@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== @@ -11497,7 +11317,7 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@21.1.1: +yargs-parser@21.1.1, yargs-parser@^21.0.0: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -11515,11 +11335,6 @@ yargs-parser@^20.0.0, yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== - yargs@17.1.1: version "17.1.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" From f474bf532f89a296eb1b47f941998d73c1c51e8a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 5 Aug 2022 14:26:23 -0400 Subject: [PATCH 0752/1388] fix(@angular-devkit/build-angular): process stylesheet resources from url tokens with esbuild browser builder Stylesheet url tokens (`url(....)`) will now be processed when using the esbuild-based experimental browser application builder. The paths will be resolved via the bundler's resolution system and then loaded via the bundler's `file` loader. The functionality is implemented using an esbuild plugin to allow for all file types to be supported without the need to manually specify each current and future file extension within the build configuration. The `externalDependencies` option also applies to the referenced resources. This allows for resource paths specified with the option to remain unprocessed within the application output. This is useful if the relative path for the resource does not exist on disk but will be available when the application is deployed. --- .../browser-esbuild/compiler-plugin.ts | 30 ++++++++- .../browser-esbuild/css-resource-plugin.ts | 62 +++++++++++++++++++ .../src/builders/browser-esbuild/index.ts | 2 + .../builders/browser-esbuild/stylesheets.ts | 8 ++- 4 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index c6844dd6b4aa..734e0ee0eca7 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -9,7 +9,14 @@ import type { CompilerHost } from '@angular/compiler-cli'; import { transformAsync } from '@babel/core'; import * as assert from 'assert'; -import type { OnStartResult, PartialMessage, PartialNote, Plugin, PluginBuild } from 'esbuild'; +import type { + OnStartResult, + OutputFile, + PartialMessage, + PartialNote, + Plugin, + PluginBuild, +} from 'esbuild'; import { promises as fs } from 'fs'; import * as path from 'path'; import ts from 'typescript'; @@ -190,9 +197,15 @@ export function createCompilerPlugin( // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files let fileEmitter: FileEmitter | undefined; + // The stylesheet resources from component stylesheets that will be added to the build results output files + let stylesheetResourceFiles: OutputFile[]; + build.onStart(async () => { const result: OnStartResult = {}; + // Reset stylesheet resource output files + stylesheetResourceFiles = []; + // Create TypeScript compiler host const host = ts.createIncrementalCompilerHost(compilerOptions); @@ -205,10 +218,14 @@ export function createCompilerPlugin( return this.readFile(fileName) ?? ''; } - const { contents, errors, warnings } = await bundleStylesheetFile(fileName, styleOptions); + const { contents, resourceFiles, errors, warnings } = await bundleStylesheetFile( + fileName, + styleOptions, + ); (result.errors ??= []).push(...errors); (result.warnings ??= []).push(...warnings); + stylesheetResourceFiles.push(...resourceFiles); return contents; }; @@ -224,7 +241,7 @@ export function createCompilerPlugin( // or the file containing the inline component style text (containingFile). const file = context.resourceFile ?? context.containingFile; - const { contents, errors, warnings } = await bundleStylesheetText( + const { contents, resourceFiles, errors, warnings } = await bundleStylesheetText( data, { resolvePath: path.dirname(file), @@ -235,6 +252,7 @@ export function createCompilerPlugin( (result.errors ??= []).push(...errors); (result.warnings ??= []).push(...warnings); + stylesheetResourceFiles.push(...resourceFiles); return { content: contents }; }; @@ -429,6 +447,12 @@ export function createCompilerPlugin( loader: 'js', }; }); + + build.onEnd((result) => { + if (stylesheetResourceFiles.length) { + result.outputFiles?.push(...stylesheetResourceFiles); + } + }); }, }; } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts new file mode 100644 index 000000000000..0445c0fd776f --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts @@ -0,0 +1,62 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { Plugin, PluginBuild } from 'esbuild'; +import { readFile } from 'fs/promises'; + +/** + * Symbol marker used to indicate CSS resource resolution is being attempted. + * This is used to prevent an infinite loop within the plugin's resolve hook. + */ +const CSS_RESOURCE_RESOLUTION = Symbol('CSS_RESOURCE_RESOLUTION'); + +/** + * Creates an esbuild {@link Plugin} that loads all CSS url token references using the + * built-in esbuild `file` loader. A plugin is used to allow for all file extensions + * and types to be supported without needing to manually specify all extensions + * within the build configuration. + * + * @returns An esbuild {@link Plugin} instance. + */ +export function createCssResourcePlugin(): Plugin { + return { + name: 'angular-css-resource', + setup(build: PluginBuild): void { + build.onResolve({ filter: /.*/ }, async (args) => { + // Only attempt to resolve url tokens which only exist inside CSS. + // Also, skip this plugin if already attempting to resolve the url-token. + if (args.kind !== 'url-token' || args.pluginData?.[CSS_RESOURCE_RESOLUTION]) { + return null; + } + + const { importer, kind, resolveDir, namespace, pluginData = {} } = args; + pluginData[CSS_RESOURCE_RESOLUTION] = true; + + const result = await build.resolve(args.path, { + importer, + kind, + namespace, + pluginData, + resolveDir, + }); + + return { + ...result, + namespace: 'css-resource', + }; + }); + + build.onLoad({ filter: /.*/, namespace: 'css-resource' }, async (args) => { + return { + contents: await readFile(args.path), + loader: 'file', + }; + }); + }, + }; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index af31991eda07..543da3d6e788 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -168,6 +168,7 @@ export async function buildEsbuildBrowser( outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, includePaths: options.stylePreprocessorOptions?.includePaths, preserveSymlinks: options.preserveSymlinks, + externalDependencies: options.externalDependencies, }, ); @@ -354,6 +355,7 @@ async function bundleCode( !!sourcemapOptions.styles && (sourcemapOptions.hidden ? false : 'inline'), outputNames, includePaths: options.stylePreprocessorOptions?.includePaths, + externalDependencies: options.externalDependencies, }, ), ], diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 901f0af03cfd..0f932bd12849 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -8,6 +8,7 @@ import type { BuildOptions, OutputFile } from 'esbuild'; import * as path from 'path'; +import { createCssResourcePlugin } from './css-resource-plugin'; import { bundle } from './esbuild'; import { createSassPlugin } from './sass-plugin'; @@ -18,6 +19,7 @@ export interface BundleStylesheetOptions { sourcemap: boolean | 'external' | 'inline'; outputNames?: { bundles?: string; media?: string }; includePaths?: string[]; + externalDependencies?: string[]; } async function bundleStylesheet( @@ -42,9 +44,13 @@ async function bundleStylesheet( write: false, platform: 'browser', preserveSymlinks: options.preserveSymlinks, + external: options.externalDependencies, conditions: ['style', 'sass'], mainFields: ['style', 'sass'], - plugins: [createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths })], + plugins: [ + createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths }), + createCssResourcePlugin(), + ], }); // Extract the result of the bundling from the output files From 6814e300c3b90f3184e16e02d81a1f080f3a0fad Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 9 Aug 2022 13:54:06 +0000 Subject: [PATCH 0753/1388] build: update all typescript-eslint packages to v5.33.0 (cherry picked from commit fb11677dde47c348025fd5e44e7822c097ce0bfe) --- package.json | 4 +- .../cli/src/commands/make-this-awesome/cli.ts | 2 +- yarn.lock | 96 +++++++++---------- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index fe4866af266a..cd864356846c 100644 --- a/package.json +++ b/package.json @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.32.0", - "@typescript-eslint/parser": "5.32.0", + "@typescript-eslint/eslint-plugin": "5.33.0", + "@typescript-eslint/parser": "5.33.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/packages/angular/cli/src/commands/make-this-awesome/cli.ts b/packages/angular/cli/src/commands/make-this-awesome/cli.ts index 83bcd9df3740..fda66b295088 100644 --- a/packages/angular/cli/src/commands/make-this-awesome/cli.ts +++ b/packages/angular/cli/src/commands/make-this-awesome/cli.ts @@ -12,7 +12,7 @@ import { colors } from '../../utilities/color'; export class AwesomeCommandModule extends CommandModule implements CommandModuleImplementation { command = 'make-this-awesome'; - describe: false = false; + describe = false as const; deprecated = false; longDescriptionPath?: string | undefined; diff --git a/yarn.lock b/yarn.lock index 8b1713e8c870..341e8dcfc91e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2475,14 +2475,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz#e27e38cffa4a61226327c874a7be965e9a861624" - integrity sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew== - dependencies: - "@typescript-eslint/scope-manager" "5.32.0" - "@typescript-eslint/type-utils" "5.32.0" - "@typescript-eslint/utils" "5.32.0" +"@typescript-eslint/eslint-plugin@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec" + integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg== + dependencies: + "@typescript-eslint/scope-manager" "5.33.0" + "@typescript-eslint/type-utils" "5.33.0" + "@typescript-eslint/utils" "5.33.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2490,69 +2490,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.32.0.tgz#1de243443bc6186fb153b9e395b842e46877ca5d" - integrity sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A== +"@typescript-eslint/parser@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383" + integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w== dependencies: - "@typescript-eslint/scope-manager" "5.32.0" - "@typescript-eslint/types" "5.32.0" - "@typescript-eslint/typescript-estree" "5.32.0" + "@typescript-eslint/scope-manager" "5.33.0" + "@typescript-eslint/types" "5.33.0" + "@typescript-eslint/typescript-estree" "5.33.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz#763386e963a8def470580cc36cf9228864190b95" - integrity sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg== +"@typescript-eslint/scope-manager@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d" + integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw== dependencies: - "@typescript-eslint/types" "5.32.0" - "@typescript-eslint/visitor-keys" "5.32.0" + "@typescript-eslint/types" "5.33.0" + "@typescript-eslint/visitor-keys" "5.33.0" -"@typescript-eslint/type-utils@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz#45a14506fe3fb908600b4cef2f70778f7b5cdc79" - integrity sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg== +"@typescript-eslint/type-utils@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338" + integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA== dependencies: - "@typescript-eslint/utils" "5.32.0" + "@typescript-eslint/utils" "5.33.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.32.0.tgz#484273021eeeae87ddb288f39586ef5efeb6dcd8" - integrity sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ== +"@typescript-eslint/types@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b" + integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw== -"@typescript-eslint/typescript-estree@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz#282943f34babf07a4afa7b0ff347a8e7b6030d12" - integrity sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg== +"@typescript-eslint/typescript-estree@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf" + integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ== dependencies: - "@typescript-eslint/types" "5.32.0" - "@typescript-eslint/visitor-keys" "5.32.0" + "@typescript-eslint/types" "5.33.0" + "@typescript-eslint/visitor-keys" "5.33.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.32.0.tgz#eccb6b672b94516f1afc6508d05173c45924840c" - integrity sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ== +"@typescript-eslint/utils@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038" + integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.32.0" - "@typescript-eslint/types" "5.32.0" - "@typescript-eslint/typescript-estree" "5.32.0" + "@typescript-eslint/scope-manager" "5.33.0" + "@typescript-eslint/types" "5.33.0" + "@typescript-eslint/typescript-estree" "5.33.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.32.0": - version "5.32.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz#b9715d0b11fdb5dd10fd0c42ff13987470525394" - integrity sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g== +"@typescript-eslint/visitor-keys@5.33.0": + version "5.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484" + integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw== dependencies: - "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/types" "5.33.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 167887d5f1f1c90d62cc92391d8b3b73c5fa6df1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 9 Aug 2022 10:53:23 +0000 Subject: [PATCH 0754/1388] build: disable UT testing multiple node versions With this change we disable running UTs on multiple node.js versions. This is mainly an interim solution until we find the root cause of the memory increase and OOM errors during bazel test. During this change I also noticed that the toolchain was configured incorrectly. Setting the toolchain to use Node.js 16 causes the App-shell tests to fail when used under Bazel. See: https://app.circleci.com/pipelines/github/angular/angular-cli/25009/workflows/4ea86ec8-d1f7-4c91-8810-76f10f8e878c/jobs/325982 --- tools/toolchain_info.bzl | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/toolchain_info.bzl b/tools/toolchain_info.bzl index 4596497b29f6..79c2ddfc3313 100644 --- a/tools/toolchain_info.bzl +++ b/tools/toolchain_info.bzl @@ -4,7 +4,8 @@ # the order will match against the order in the TOOLCHAIN_VERSION list. TOOLCHAINS_NAMES = [ "node14", - "node16", + # TODO enable one we know more why there is a memory usage increase and app-shell tests work with Node.js 16. + # "node16", ] # this is the list of toolchains that should be used and are registered with nodejs_register_toolchains in the WORKSPACE file @@ -14,11 +15,12 @@ TOOLCHAINS_VERSIONS = [ "@bazel_tools//src/conditions:darwin": "@node14_darwin_amd64//:node_toolchain", "@bazel_tools//src/conditions:windows": "@node14_windows_amd64//:node_toolchain", }), - select({ - "@bazel_tools//src/conditions:linux_x86_64": "@node14_linux_amd64//:node_toolchain", - "@bazel_tools//src/conditions:darwin": "@node14_darwin_amd64//:node_toolchain", - "@bazel_tools//src/conditions:windows": "@node14_windows_amd64//:node_toolchain", - }), + # TODO enable one we know more why there is a memory usage increase and app-shell tests work with Node.js 16. + # select({ + # "@bazel_tools//src/conditions:linux_x86_64": "@node16_linux_amd64//:node_toolchain", + # "@bazel_tools//src/conditions:darwin": "@node16_darwin_amd64//:node_toolchain", + # "@bazel_tools//src/conditions:windows": "@node16_windows_amd64//:node_toolchain", + # }), ] # A default toolchain for use when only one is necessary From 9171543f06641293cb97d5a801a626a889243db2 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 3 Aug 2022 12:38:21 -0700 Subject: [PATCH 0755/1388] test: improve test error message logs --- tests/legacy-cli/e2e/utils/process.ts | 44 ++++++++++++---------- tests/legacy-cli/e2e/utils/test_process.ts | 3 +- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 33b9ec8054ff..f4f94bc09760 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -96,39 +96,42 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { + return new Promise((resolve, reject) => { let matched = false; - childProcess.on('exit', (error: any) => { + childProcess.on('exit', (code: number) => { _processes = _processes.filter((p) => p !== childProcess); if (options.waitForMatch && !matched) { - error = `Output didn't match '${options.waitForMatch}'.`; + reject( + `Process output didn't match - "${cmd} ${args.join(' ')}": '${ + options.waitForMatch + }': ${code}...\n\n${envDump()}\n`, + ); + return; } - if (!error) { + if (!code) { resolve({ stdout, stderr }); return; } - reject( - new Error( - `Running "${cmd} ${args.join(' ')}" returned error. ${error}...\n\nENV:${JSON.stringify( - process.env, - null, - 2, - )}\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`, - ), - ); + reject(`Process exit error - "${cmd} ${args.join(' ')}": ${code}...\n\n${envDump()}\n`); }); + childProcess.on('error', (err) => { - err.message += `${err}...\n\nENV:${JSON.stringify( - process.env, - null, - 2, - )}\n\nSTDOUT:\n${stdout}\n\nSTDERR:\n${stderr}\n`; - reject(err); + reject(`Process error - "${cmd} ${args.join(' ')}": ${err}...\n\n${envDump()}\n`); }); if (options.waitForMatch) { @@ -154,6 +157,9 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { + error.message = err.toString(); + return Promise.reject(error); }); } diff --git a/tests/legacy-cli/e2e/utils/test_process.ts b/tests/legacy-cli/e2e/utils/test_process.ts index 79bbc89c0c59..ac9c99484832 100644 --- a/tests/legacy-cli/e2e/utils/test_process.ts +++ b/tests/legacy-cli/e2e/utils/test_process.ts @@ -15,7 +15,8 @@ const testFunction: () => Promise | void = try { await testFunction(); } catch (e) { - console.error(e); + console.error('Test Process error', e); + console.error(`ENV:${JSON.stringify(process.env, null, 2)}`); process.exitCode = -1; } finally { await killAllProcesses(); From a5f3ab41e4786846f672fa531e68149280adddca Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 10 Aug 2022 07:08:02 +0000 Subject: [PATCH 0756/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 152 +++++++++++++++++- 3 files changed, 155 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index cd864356846c..b0e672eba9cc 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.14.54", - "esbuild-wasm": "0.14.54", + "esbuild": "0.15.0", + "esbuild-wasm": "0.15.0", "eslint": "8.21.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -196,7 +196,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.3", + "sass": "1.54.4", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 7ad230d19f0f..68a7aa15e33f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.14.54", + "esbuild-wasm": "0.15.0", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.3", + "sass": "1.54.4", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.14.54" + "esbuild": "0.15.0" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index 341e8dcfc91e..7506bb5f8e05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1401,6 +1401,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== +"@esbuild/linux-loong64@0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.0.tgz#7ca859765361a92a60669a1794e9c1837d427d97" + integrity sha512-7ChD3qsxRPIPp9bfjspZiM/x8B1UZL7IKwp0YdnC1kKsDCB5Q8/TexedeeEbkI9inlunu8Lll2lP2wnkiXTCLA== + "@eslint/eslintrc@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" @@ -4653,6 +4658,11 @@ esbuild-android-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== +esbuild-android-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.0.tgz#4f708e4185c6995aeba7c7042c5d6b77eeb1f779" + integrity sha512-A9wa6quw4nYIhCDH6rudxSTOAIfSOYU3eME8ZkfP21P+WTxz0pFORFDuBjVAcLhkora3bDc23C8UeloKiiQPOg== + esbuild-android-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.53.tgz#2158253d4e8f9fdd2a081bbb4f73b8806178841e" @@ -4663,6 +4673,11 @@ esbuild-android-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== +esbuild-android-arm64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.0.tgz#136c5a3565801c3719b51b05975b2598ab782965" + integrity sha512-ujdverhuFUfW99HdF+L9n1wzG950lVL1AJVc1SEbJRaQC22tVq9xXNXkLLq7v4hSZWrdz/MT3hwhnQF0KTMxNg== + esbuild-darwin-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.53.tgz#b4681831fd8f8d06feb5048acbe90d742074cc2a" @@ -4673,6 +4688,11 @@ esbuild-darwin-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== +esbuild-darwin-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.0.tgz#338d3baa1cd575ba79f2269aedb70711fd036f62" + integrity sha512-aA5SVtXCetQ9ChREG8xDdzv43XGbdz+u4AxQgQZrRu0gXD3yJfawfZgquaej3CxVAlrOgBPbu5z+tA5SVhXAxQ== + esbuild-darwin-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.53.tgz#d267d957852d121b261b3f76ead86e5b5463acc9" @@ -4683,6 +4703,11 @@ esbuild-darwin-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== +esbuild-darwin-arm64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.0.tgz#a162b90f588bdab8c2733bfbcd3ffa34a9fc2e33" + integrity sha512-CaxPS5JUQpldeIMVqw0K+vlGfyMphvtIWugPMyXPGTDmUAcWXSha1QRgJ5Fxa9d/cC4DKeC8L8/q7ClzinXxfA== + esbuild-freebsd-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.53.tgz#aca2af6d72b537fe66a38eb8f374fb66d4c98ca0" @@ -4693,6 +4718,11 @@ esbuild-freebsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== +esbuild-freebsd-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.0.tgz#6fc8d24d2e16e4915066b8ec8b0ddbccd5f6429d" + integrity sha512-O9yvjry2bmX8sxx42JfwW6g/usZ0e3ndfb3+bquu20qkuEfDodqHNzotOjaKSREvxpw+Ub1zNtXvA/FFekSaOA== + esbuild-freebsd-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.53.tgz#76282e19312d914c34343c8a7da6cc5f051580b9" @@ -4703,6 +4733,11 @@ esbuild-freebsd-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== +esbuild-freebsd-arm64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.0.tgz#e665dcc66c83ccfbd092c0e9c47a472db3ff23e3" + integrity sha512-Zv8bNAG1lYyCtWi+PVndgys6KRBe5hQgD81tK3zdZ6XEitpCPwF8QShYbV8RacG1YBD7aHKSoWKGkT9+5bMGhw== + esbuild-linux-32@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.53.tgz#1045d34cf7c5faaf2af3b29cc1573b06580c37e5" @@ -4713,6 +4748,11 @@ esbuild-linux-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== +esbuild-linux-32@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.0.tgz#6ab8cd8088bea63830105d29bd49bfbd471aa060" + integrity sha512-QZqCG55D5Wof1WmBJMuihNroLM9S2oDXGkqB0ZHMA67CQw+3cAwWxOKW36n6VFaKiE4MhvUuW7jI+lr2D7nXQQ== + esbuild-linux-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.53.tgz#ab3f2ee2ebb5a6930c72d9539cb34b428808cbe4" @@ -4723,6 +4763,11 @@ esbuild-linux-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== +esbuild-linux-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.0.tgz#9ce7dfc0fb899b3123f096622c18438fbb1cc73d" + integrity sha512-cmB2vAUWf9W8768H0DuOi6VUrQPCinx/oYhRbuR1TZj873vg1GTqc55LAh1cYCC0xEMd9MjO4YfI43OX4ewI1w== + esbuild-linux-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.53.tgz#1f5530412f6690949e78297122350488d3266cfe" @@ -4733,6 +4778,11 @@ esbuild-linux-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== +esbuild-linux-arm64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.0.tgz#a01ffaff475a2fd43ab7c7d266f3b60ad0e03ada" + integrity sha512-bJc8k64Lss+2V8yx9kh4Q48SYPR/k0kxyep2pmvzaGm+AreeMnXI0J33zF4tU/OW9r3pwa74F3/MxF6x275Yhg== + esbuild-linux-arm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.53.tgz#a44ec9b5b42007ab6c0d65a224ccc6bbd97c54cf" @@ -4743,6 +4793,11 @@ esbuild-linux-arm@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== +esbuild-linux-arm@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.0.tgz#e332122fbfd560c505c76e5fb1a803818801c1da" + integrity sha512-UyY0Vqd9ngfeWBeJrrqHiXf4ozqXxzNT8ebdNt1ay5hfu/uXes3eVkt1YHP2dcxG/APPE4XDxvKlx0SoSwHP6Q== + esbuild-linux-mips64le@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.53.tgz#a4d0b6b17cfdeea4e41b0b085a5f73d99311be9f" @@ -4753,6 +4808,11 @@ esbuild-linux-mips64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== +esbuild-linux-mips64le@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.0.tgz#e68062e43d62e610ba9a45796ff558f5ac2fab56" + integrity sha512-NoOxC4a1XfM4/zGBIujIuxhPVWvS6UgqE/ksyjZ6qgHQD9lWVjcEv3iPEKKIuHXPE1s+YHvJrdXVup96aVvflQ== + esbuild-linux-ppc64le@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.53.tgz#8c331822c85465434e086e3e6065863770c38139" @@ -4763,6 +4823,11 @@ esbuild-linux-ppc64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== +esbuild-linux-ppc64le@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.0.tgz#25779293a9cb81408bbc1c0ad47f9d2f55849a31" + integrity sha512-OUkEhJAYPaYPvHZxjgnJhWB0qD8q8l1q8CnGLngmPAxb9WZrFwPYmykWBTSqGXeG08stScpkIQXy4HTSF8rH+w== + esbuild-linux-riscv64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.53.tgz#36fd75543401304bea8a2d63bf8ea18aaa508e00" @@ -4773,6 +4838,11 @@ esbuild-linux-riscv64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== +esbuild-linux-riscv64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.0.tgz#363736a80491f9ef50d2fcb8f26510a67e3f6ee4" + integrity sha512-DuSujKNrdCN+kvA0+BBS/ULaINuOeI0iU9XzhIRtTCR5cFJWd6aQTHluKEc3C/a/ib2KTVNjM21cUHi4Tj0NZA== + esbuild-linux-s390x@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.53.tgz#1622677ab6824123f48f75d3afc031cd41936129" @@ -4783,6 +4853,11 @@ esbuild-linux-s390x@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== +esbuild-linux-s390x@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.0.tgz#26fc8a255b333da7b8ae41e591ccca3e1a1ea328" + integrity sha512-ttGGhgXRpJbsD+XXS2NIBThuEh8EvAJEnVQ9vzXviniPuvpuwKLFNBRPqtX3gE5o2bUQnh5ZugmDVuD9GW2ROg== + esbuild-netbsd-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.53.tgz#e86d0efd0116658be335492ed12e66b26b4baf52" @@ -4793,6 +4868,11 @@ esbuild-netbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== +esbuild-netbsd-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.0.tgz#0590f6c8cbdfccb87e7b0aeba066466427c01886" + integrity sha512-rb6sIQ/gZeQNrgplSLJ0zLirLwr3vQCzbL1jb0Ypay83Uup2s+OEI+Vw+oJ2SomrhVyOPwk/R4AY713bJKdLsQ== + esbuild-openbsd-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.53.tgz#9bcbbe6f86304872c6e91f64c8eb73fc29c3588b" @@ -4803,6 +4883,11 @@ esbuild-openbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== +esbuild-openbsd-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.0.tgz#a6219c343d2b69d153713f5e9bef69a6196f432e" + integrity sha512-CeU7hw291UJQpNg/oJLefmM9Rdeddo2ya9Vw9hdDrUyZAAZckqVRLDh9t4OdqJuXFdlo6BM2qhZCcY22O7wfGg== + esbuild-sunos-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.53.tgz#f7a872f7460bfb7b131f7188a95fbce3d1c577e8" @@ -4813,12 +4898,22 @@ esbuild-sunos-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== +esbuild-sunos-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.0.tgz#8343576a515f5278f1b5ada1819067e67a79dd29" + integrity sha512-nE7EcgDw9RT4fR+GJZ5a0spPb2HKT77viCjrGl6GSeb/n3RhxGgVGwPQDI/KRwyVeQMqEOTtHQMNPwNr9TKDDQ== + esbuild-wasm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== -esbuild-wasm@0.14.54, esbuild-wasm@^0.14.29: +esbuild-wasm@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.0.tgz#f6fece19b816d16493ff6eeb20a34310731e3d65" + integrity sha512-zkCXQzJgVYxS6sCFFQl22lIJQ1V/dkPrv+qOKSgQMdTrZR4qUQh0siDhJLDeM3T6SZgBgQ89qDCkc7weEVvnoA== + +esbuild-wasm@^0.14.29: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.54.tgz#6e31c86700850664ed9781876cb907c13d230d69" integrity sha512-Lk1Rq6mnHCIgYpUGQGsJn1dgW26w5uV0KYTl6CdoixSF4hD4v8Nyyxmhrqo4lUkV8AQoWLVfIBWYo7l+JTPl9g== @@ -4833,6 +4928,11 @@ esbuild-windows-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== +esbuild-windows-32@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.0.tgz#0be1d82343b86a6150516d23d06dd33ca7ca75e7" + integrity sha512-FUPwJmPwBoqe8ShhOMfHtSElh1Nyc3s+Kru3m7lDJCjNr3ctx9YJKuzRsz4UXow6Wo79LMQGNyjysQ7UuKgvHQ== + esbuild-windows-64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.53.tgz#ec2ab4a60c5215f092ffe1eab6d01319e88238af" @@ -4843,6 +4943,11 @@ esbuild-windows-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== +esbuild-windows-64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.0.tgz#f1fb7f5087dff3117700eb205b0c23a34e6f8841" + integrity sha512-zNM5bSVOY0SzMFB6k3ZdMwg4JmLVLpEmgVd2fU2STDmEOXdY1APAFPVWkbWMtLF/nfLfaJLfps7+IIJgGyQbGA== + esbuild-windows-arm64@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.53.tgz#f71d403806bdf9f4a1f9d097db9aec949bd675c8" @@ -4853,6 +4958,11 @@ esbuild-windows-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== +esbuild-windows-arm64@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.0.tgz#58d27c7fd3709a97a26ee3db09784889bd8b25b0" + integrity sha512-sqhmDwUhUULUnViLD7jAqo4FaOhLN/FMW+dFVSvxSTA9pZSr2w6efky91vTWOcTUmspvYyHyOrJmtktp1ffIaw== + esbuild@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.53.tgz#20b1007f686e8584f2a01a1bec5a37aac9498ce4" @@ -4880,7 +4990,34 @@ esbuild@0.14.53: esbuild-windows-64 "0.14.53" esbuild-windows-arm64 "0.14.53" -esbuild@0.14.54, esbuild@^0.14.29: +esbuild@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.0.tgz#54466825ac2b44c4caccef0bf0e260a1535d97d6" + integrity sha512-UUDSelGc/EOhzn0zpkdhLA3iB+jq2OS5gnMUMz/BqAKBIsWR2fTHqrddNPt2PNj3OUchqcMcTHSUBr+VpYpcsQ== + optionalDependencies: + "@esbuild/linux-loong64" "0.15.0" + esbuild-android-64 "0.15.0" + esbuild-android-arm64 "0.15.0" + esbuild-darwin-64 "0.15.0" + esbuild-darwin-arm64 "0.15.0" + esbuild-freebsd-64 "0.15.0" + esbuild-freebsd-arm64 "0.15.0" + esbuild-linux-32 "0.15.0" + esbuild-linux-64 "0.15.0" + esbuild-linux-arm "0.15.0" + esbuild-linux-arm64 "0.15.0" + esbuild-linux-mips64le "0.15.0" + esbuild-linux-ppc64le "0.15.0" + esbuild-linux-riscv64 "0.15.0" + esbuild-linux-s390x "0.15.0" + esbuild-netbsd-64 "0.15.0" + esbuild-openbsd-64 "0.15.0" + esbuild-sunos-64 "0.15.0" + esbuild-windows-32 "0.15.0" + esbuild-windows-64 "0.15.0" + esbuild-windows-arm64 "0.15.0" + +esbuild@^0.14.29: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== @@ -9546,7 +9683,16 @@ sass@1.54.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.3, sass@^1.49.9: +sass@1.54.4: + version "1.54.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.4.tgz#803ff2fef5525f1dd01670c3915b4b68b6cba72d" + integrity sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sass@^1.49.9: version "1.54.3" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.3.tgz#37baa2652f7f1fdadb73240ee9a2b9b81fabb5c4" integrity sha512-fLodey5Qd41Pxp/Tk7Al97sViYwF/TazRc5t6E65O7JOk4XF8pzwIW7CvCxYVOfJFFI/1x5+elDyBIixrp+zrw== From 7de9b470cb54d974027a8baf88b611585fc526c7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 10 Aug 2022 09:36:35 +0000 Subject: [PATCH 0757/1388] fix(@angular-devkit/build-angular): avoid collect stats from chunks with no files This commit updates to bundle stats logic to skip checking chunks with no files. Closes #23717 --- .../build_angular/src/webpack/plugins/analytics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts index 185ac24e440c..f79e1c471c72 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts @@ -172,7 +172,7 @@ export class NgBuildAnalyticsPlugin { protected _collectBundleStats(compilation: Compilation) { const chunkAssets = new Set(); for (const chunk of compilation.chunks) { - if (!chunk.rendered) { + if (!chunk.rendered || chunk.files.size === 0) { continue; } From 4adbdba53274bb8b1af90d5fadc4f6c7b20a58ba Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 10 Aug 2022 18:42:22 +0000 Subject: [PATCH 0758/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 113 ++++++++++-------- 7 files changed, 96 insertions(+), 89 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index a17d2c67fd8d..e5d973e79a67 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@af39355cc31ca47f7dabdfb1e20e963647dcc1ea + - uses: angular/dev-infra/github-actions/commit-message-based-labels@e238b8f203a580b09038d74d10e7ec46e263ac32 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@af39355cc31ca47f7dabdfb1e20e963647dcc1ea + - uses: angular/dev-infra/github-actions/post-approval-changes@e238b8f203a580b09038d74d10e7ec46e263ac32 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 481bd016ec51..83594ecc575a 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@af39355cc31ca47f7dabdfb1e20e963647dcc1ea + - uses: angular/dev-infra/github-actions/feature-request@e238b8f203a580b09038d74d10e7ec46e263ac32 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 4c2c65ce07bd..aa85cf9844d4 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@af39355cc31ca47f7dabdfb1e20e963647dcc1ea + - uses: angular/dev-infra/github-actions/lock-closed@e238b8f203a580b09038d74d10e7ec46e263ac32 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index b0e672eba9cc..37af3ee7dc4d 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.1.1", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb", + "@angular/animations": "14.1.2", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce411b5b675d8c6cfa26282e44c3a62e80aa04b0", "@angular/cdk": "14.1.1", - "@angular/common": "14.1.1", - "@angular/compiler": "14.1.1", - "@angular/compiler-cli": "14.1.1", - "@angular/core": "14.1.1", - "@angular/forms": "14.1.1", - "@angular/localize": "14.1.1", + "@angular/common": "14.1.2", + "@angular/compiler": "14.1.2", + "@angular/compiler-cli": "14.1.2", + "@angular/core": "14.1.2", + "@angular/forms": "14.1.2", + "@angular/localize": "14.1.2", "@angular/material": "14.1.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#21ce780fde865e8d3a7bbaa02cef85f3544c89c1", - "@angular/platform-browser": "14.1.1", - "@angular/platform-browser-dynamic": "14.1.1", - "@angular/platform-server": "14.1.1", - "@angular/router": "14.1.1", - "@angular/service-worker": "14.1.1", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#35cda8e0639370ecf921a68a537a6af3436965f0", + "@angular/platform-browser": "14.1.2", + "@angular/platform-browser-dynamic": "14.1.2", + "@angular/platform-server": "14.1.2", + "@angular/router": "14.1.2", + "@angular/service-worker": "14.1.2", "@babel/core": "7.18.10", "@babel/generator": "7.18.12", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 659125baac24..d700f0273cf7 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.1.1", - "@angular/compiler-cli": "14.1.1", + "@angular/compiler": "14.1.2", + "@angular/compiler-cli": "14.1.2", "typescript": "~4.7.2", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 81e8fc3a1bdd..41914e7f684b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#2a57403abbf534d7fd6827d2cbcc8c3b66ac6821", - "@angular/cdk": "github:angular/cdk-builds#2d0a8d729b8420639906b7c43a8f8813f3b822c2", - "@angular/common": "github:angular/common-builds#0132dfcda53da2ed659e042e109ac90644b3eea1", - "@angular/compiler": "github:angular/compiler-builds#133d2123cf8bea3147f28564295ca27e585a66fb", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#10cd9b0a818d697d4f99602c88e0cfcff4098f65", - "@angular/core": "github:angular/core-builds#98230a274c860e88ee3c6776fd88128a9129c1aa", - "@angular/forms": "github:angular/forms-builds#f18b8ab0399171b3699c0b8d715343c84c6f2baa", - "@angular/language-service": "github:angular/language-service-builds#2eb5831770ed583eb309bfda6663cb727f506346", - "@angular/localize": "github:angular/localize-builds#ecc35e1f76946325bb4f56276ffd85ac7504f178", - "@angular/material": "github:angular/material-builds#d7b949508b11a93e6e13f5bf4d1756ef1e121374", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#7378b2d917b5bc4fcd989ffd3ff257924ba2e254", - "@angular/platform-browser": "github:angular/platform-browser-builds#ce1c8b3a1e26fcfe58ed32be2ed4641cc0399e9f", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3ef207fad311a58952282f995943c52c7ff51cbd", - "@angular/platform-server": "github:angular/platform-server-builds#bdedf85fa798cb1e1b9a5c6aa3e27d425032a8ab", - "@angular/router": "github:angular/router-builds#8c5519350122ecd99cfbfb1a04ef9eabc93d9e06", - "@angular/service-worker": "github:angular/service-worker-builds#7c227bd1894127a9c36c418e6ee5faa0093bb084" + "@angular/animations": "github:angular/animations-builds#6378f34c92d3bb6253fd4a271f8e241a07be460b", + "@angular/cdk": "github:angular/cdk-builds#07364a5f0934860631150aaac8a1e844ad4aa497", + "@angular/common": "github:angular/common-builds#708b76621ff379ea8490f85144ada276b441eaca", + "@angular/compiler": "github:angular/compiler-builds#0a7c5abaad4c5f46e22c46c931e68b9b7e709414", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#b3f5f301c15510706a959782e0fad563572b8b92", + "@angular/core": "github:angular/core-builds#de12e8ea36a9ff61a6eaaee7abfe4882b5442d7f", + "@angular/forms": "github:angular/forms-builds#f6252eee7db7d35971c9cbd10b4272fdb9c38d01", + "@angular/language-service": "github:angular/language-service-builds#0daff5735118f058ab81ccebcb8ad2237a3882f1", + "@angular/localize": "github:angular/localize-builds#63bad18d1be591263b50ee403d3b3feb3cf84fd0", + "@angular/material": "github:angular/material-builds#b05162166a78522a49dfd7ac3cbf3740b0be41d7", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#18aec0be2d013cda18f7ceeee39a7eb5612981f9", + "@angular/platform-browser": "github:angular/platform-browser-builds#2b0d7d1b47a7b16175927411fdaa2fbe89d5730d", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#79079124e398daef9f8c52cffc2fb803418f618a", + "@angular/platform-server": "github:angular/platform-server-builds#f0308438f217246eb21e242656ad78d7ba139c1d", + "@angular/router": "github:angular/router-builds#65742e9e2e13137c488381c881c0104b75a720a1", + "@angular/service-worker": "github:angular/service-worker-builds#2e1768f0a6702fbf16f0763d18273190037a8798" } } diff --git a/yarn.lock b/yarn.lock index 7506bb5f8e05..30479d252308 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.1.1.tgz#0d699c5ab4ee71f361be88642f828413a37236e4" - integrity sha512-/fXzJzr8Pr7/xpwErX9PjbIc790RF818WgW7SUNev6pN6UUq3gvjmPjDTdZBZfiAZWY49nBLibPo2FvmyCP7tg== +"@angular/animations@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.1.2.tgz#b23df533791fdc90e856afe032787655f501f19d" + integrity sha512-MwsoAQP2MpxxjX4Jf3SNWEL/gggzT3nRyQR63Z/Z2yNKIzAA62QndDAn6C0aKOiZDOyDhH6LXGn6hAH7fTDsfA== dependencies: tslib "^2.3.0" @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb": - version "0.0.0-af39355cc31ca47f7dabdfb1e20e963647dcc1ea" - uid "31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#31eb81dcc57623cad1cc0b7407f0fdd7b86d7dcb" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce411b5b675d8c6cfa26282e44c3a62e80aa04b0": + version "0.0.0-e238b8f203a580b09038d74d10e7ec46e263ac32" + uid ce411b5b675d8c6cfa26282e44c3a62e80aa04b0 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce411b5b675d8c6cfa26282e44c3a62e80aa04b0" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" "@angular/benchpress" "0.3.0" @@ -169,17 +169,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.1.1.tgz#7378bc3199062b833c1d13f3a15486ce122682b6" - integrity sha512-neFCnrIrGOuj3oOFBTLi4QrdI4fgKQprVLUEyL5LhCQ5R0K/F+gh61ovi7nT4XYnv41p4eqtG81YNMtVXH49pg== +"@angular/common@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.1.2.tgz#8471e2eb1267e80cc55d518260c68c7dbf3612d1" + integrity sha512-ukj/BAF3cH8IDrrMt7MLjosKst005YGD0EpLNpdTNdHN8NrF3OrEYyR7YR7obrucjJ8fowsz9V7a8OrNrHaS4w== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.1.tgz#eb20a5bcd64d7d497c0d04439b72615417de899e" - integrity sha512-ERphqFDdN5u1XCZNV21DS0J9/WFZP/P4L4LQTjpEwbO/lDhzxaRnRnLOR6vGcetEHhRHMa0+OL8rrvNy6GwLmw== +"@angular/compiler-cli@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.2.tgz#98f507bf95f960c159af571cb25f7ceaf64edd9b" + integrity sha512-L1gB0ig2T0xz+4KaZCuf07tUitKT8gEqYQCd8evPeomMVgZAZcaCZa5O1FmNjGv7mDb0PrDJ1q0/VqTfet8onw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -192,31 +192,38 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.1.tgz#809dc1b9265f0d3c45fc2babe0887f43eeee50d8" - integrity sha512-OT3cFfbHzLpl2M9qpO74oysXDkkKwlO66i4vlASMGf1/Qh+4UBh3iN6bls/ZbYZsl8bCr9zf0fL7c160e1uMcA== +"@angular/compiler@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.2.tgz#3174fd78accee67358aa62e64492f5f7f3d6b512" + integrity sha512-H0W4kTM7gUizWe5oFgixbnnS6U4pBt7qcmVCe5mdfzuUwoDzp8u/cOUErxzM0gZiCFVT/KBPXgc7TeZ1oNtgHg== + dependencies: + tslib "^2.3.0" + +"@angular/core@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.2.tgz#1defacaad7494a8dca9e9ba1d4c1fe46009d9e4a" + integrity sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow== dependencies: tslib "^2.3.0" -"@angular/core@14.1.1", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.1.1" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.1.tgz#5c116d76445d85b03a3e6efaa348399722eac476" integrity sha512-l3ms6/jxIUIeuCkXhz5nhRb94KLQ6wv9+B4lE0aJXcgHTqOmhc/ZIacT51LCjvVcok/vczF3f7w71Ii8b10yKQ== dependencies: tslib "^2.3.0" -"@angular/forms@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.1.tgz#14e3c01e7432aeab9e08115e28f2edae787aaffa" - integrity sha512-s4VuaivJ+s2hLlE8CMHLsAAmJNV/03EgBEJQV7rt1H0ogHs0jB/zlkzVw5K5bynCFkfIeDbwd6RvxzWhwE+ong== +"@angular/forms@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.2.tgz#b141726d74fa41a08eba6e0787460cdbee41a9d2" + integrity sha512-9qXbYVo3mgz7SiSZzt5y/SonccASLKr8HSLlTGwnXKHlBAWA4tgdAR5Dqs+rKpoJI8VRF29Cu76fqytl60tCVA== dependencies: tslib "^2.3.0" -"@angular/localize@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.1.1.tgz#46b60f8d45285c01da3a2f80d6a1696db89a9431" - integrity sha512-SUGTDJYcJoSJWaFcG12njbfnFreZZRnEr3Rs211wD3VSu4UJXrpP1hx2M/FoaHLZkcgpSSfkg/QHLDLYJLRL9Q== +"@angular/localize@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.1.2.tgz#b7dad4d94a895cfae45b4704c2a1f0b1adaa33f4" + integrity sha512-4qktWELw9W3DRqbFasUGXmq4i66shprNp+4G05b6V/sLsy9DnRtPL9tiwqhBS6kwFYLlcsbGqTfCSHgOtBVUeA== dependencies: "@babel/core" "7.18.9" glob "8.0.3" @@ -229,48 +236,48 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#21ce780fde865e8d3a7bbaa02cef85f3544c89c1": - version "0.0.0-af39355cc31ca47f7dabdfb1e20e963647dcc1ea" - uid "21ce780fde865e8d3a7bbaa02cef85f3544c89c1" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#21ce780fde865e8d3a7bbaa02cef85f3544c89c1" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#35cda8e0639370ecf921a68a537a6af3436965f0": + version "0.0.0-e238b8f203a580b09038d74d10e7ec46e263ac32" + uid "35cda8e0639370ecf921a68a537a6af3436965f0" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#35cda8e0639370ecf921a68a537a6af3436965f0" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" -"@angular/platform-browser-dynamic@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.1.tgz#bd6d6eea0250a541de7a0fb4db23eda7a6081b60" - integrity sha512-rD5KIWdxYRO2R0oGW6Ipt5pi+Cufws1704QBXhL52uaSJI6Ms7E7jvuwLG2SCJS0FJ+hdYLcuQZiQH+wUuyARA== +"@angular/platform-browser-dynamic@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.2.tgz#b3fa484fd8c562408e5725d76062d5f7f2d8c049" + integrity sha512-+xzFB1WwjMWaRafk41PEJcwLuzKyZ3SeMlEX2lsrRPySX446YGqdyEyvvpzmbSLwOlcERxTT6Q1j8QYgFKjDSg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.1.1.tgz#19f569a23777eb1ec9ee0dc59ec6893d865fca58" - integrity sha512-7yXr2GUiI1sD3kmKcWkHwlpmsRyA3WhwJqvjvMPQK4RD8ZeJ5LTOD6nQ4hz1kP19dfzpBDV/k9wusYDlmWtqcw== +"@angular/platform-browser@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.1.2.tgz#7667e8a9dbe514282e493b863fc6f85568077146" + integrity sha512-rxkAEeacnAkWKoyjteldy5/ECOo5wyq9qJwFSXyX8bZJWh9e4d/FzZfTl4Ctk5+Cqm+2GmhBwAYaaIxpo9EgbA== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.1.1.tgz#0c4ac06870dd601fc7918ac90b93b7e8c016050d" - integrity sha512-CbZFALoIVg34yRZeptLu4WIV8UeCSzP0N53NGIr4GQLXoQ4yF7lR/OQiHGfyBavtpCOgP3CQWhvPRlSx6lg1Gg== +"@angular/platform-server@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.1.2.tgz#2b78919f34c9e1b382652ea74bafba0465cfd129" + integrity sha512-swtaAdzYCjFSzo5xNSpsfBc0aPhjdS3flm9K0MZSLdZCU3ozt1ArcvUwdV5UWlkozkXTLpMiRj+t+wiJE/l8XA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.1.1.tgz#3cfac210c29d64dc8cf0e424bb583d46a236f6d7" - integrity sha512-yWgy4NXp0e4XxOXRwaY6YSlOseXoLCVp7jKeBGAqJXypT+HtWXwpWE12vPC8EvkdPLyrf+EuH3kNbSbLfUNtbw== +"@angular/router@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.1.2.tgz#606a37dfc6ad7669b2f7713a794953cc70eb38f6" + integrity sha512-YOHAteYHgM6qX0XaD+D+vMLClff2F7yqff8oVyXyPsvL686GV11ZNJFoBt/qDe8WJiSQ295z6RxFOYfNeFrfhQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.1.1.tgz#f1357ff226c0abc2b8979aa29faea4b808942a5a" - integrity sha512-k5PvtUckL83ggvIAYgbrepo2RkrS5cYEmMLPrg4dXrI+E1LcuEs1EJb5h955ZDrmcuEW8hIPd7cMDLAGXoKIOg== +"@angular/service-worker@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.1.2.tgz#950c6299a423392ea926120f0228e1e76262b0cf" + integrity sha512-4gqgdq4dear+jcKHKqTa7hjlcX4fnP39oiOIOGfRT2V2pMzM8hZlunTvSs89CyvDHbmfusmLkXJ/LGO2ExPm1A== dependencies: tslib "^2.3.0" From bf411b939feb19e225f5e3c4290fd2fa3e6b31c0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 10 Aug 2022 15:46:58 -0400 Subject: [PATCH 0759/1388] docs: release notes for the v14.1.2 release --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5da9acf19c9a..a10006e05ea7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ + + +# 14.1.2 (2022-08-10) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [3e19c842c](https://github.com/angular/angular-cli/commit/3e19c842cc2a7f2dc62904f5f88025a4687d378a) | fix | avoid collect stats from chunks with no files | +| [d0a0c597c](https://github.com/angular/angular-cli/commit/d0a0c597cd09b1ce4d7134d3e330982b522f28a9) | fix | correctly handle data URIs with escaped quotes in stylesheets | +| [67b3a086f](https://github.com/angular/angular-cli/commit/67b3a086fe90d1b7e5443e8a9f29b12367dd07e7) | fix | process stylesheet resources from url tokens with esbuild browser builder | +| [e6c45c316](https://github.com/angular/angular-cli/commit/e6c45c316ebcd1b5a16b410a3743088e9e9f789c) | perf | reduce babel transformation in esbuild builder | +| [38b71bcc0](https://github.com/angular/angular-cli/commit/38b71bcc0ddca1a34a5a4480ecd0b170bd1e9620) | perf | use esbuild in esbuild builder to downlevel native async/await | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- | +| [dd47a5e8c](https://github.com/angular/angular-cli/commit/dd47a5e8c543cbd3bb37afe5040a72531b028347) | fix | elide type only named imports when using `emitDecoratorMetadata` | + +## Special Thanks + +Alan Agius, Charles Lyding and Jason Bedard + + + # 14.2.0-next.0 (2022-08-03) From 50c783307eb1253f4f2a87502bd7a19f6a409aeb Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 10 Aug 2022 21:47:11 -0400 Subject: [PATCH 0760/1388] fix(@angular-devkit/build-angular): use valid CSS comment for sourcemaps with Sass in esbuild builder CSS does not support the single line JS comment (`//`) but rather only the multi-line comment (`/* */`). When generating the sourcemap URL comment with the modern Sass API, the multi-line comment syntax will now be used. This removes the esbuild warnings per Sass file that would have otherwise been generated when stylesheet sourcemaps are enabled for the build. --- .../build_angular/src/builders/browser-esbuild/sass-plugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index c0c0a4304f83..a6238493f827 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -42,7 +42,7 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri return { loader: 'css', - contents: css + sourceMapToUrlComment(sourceMap), + contents: `${css}\n${sourceMapToUrlComment(sourceMap)}`, watchFiles: loadedUrls.map((url) => fileURLToPath(url)), warnings, }; @@ -75,5 +75,5 @@ function sourceMapToUrlComment(sourceMap: CompileResult['sourceMap']): string { const urlSourceMap = Buffer.from(JSON.stringify(sourceMap), 'utf-8').toString('base64'); - return `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${urlSourceMap}`; + return `/*# sourceMappingURL=data:application/json;charset=utf-8;base64,${urlSourceMap} */`; } From 45e67491f33d49db05a3c1d964bf02e227050b3d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 11 Aug 2022 05:09:21 +0000 Subject: [PATCH 0761/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 261 ++++++++++-------- 3 files changed, 154 insertions(+), 119 deletions(-) diff --git a/package.json b/package.json index 37af3ee7dc4d..0ea27d999211 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.0", - "esbuild-wasm": "0.15.0", + "esbuild": "0.15.1", + "esbuild-wasm": "0.15.1", "eslint": "8.21.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -219,7 +219,7 @@ "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.3", + "webpack-dev-server": "4.10.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 68a7aa15e33f..8a89c056d1fe 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.0", + "esbuild-wasm": "0.15.1", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -65,12 +65,12 @@ "tslib": "2.4.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.3", + "webpack-dev-server": "4.10.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.0" + "esbuild": "0.15.1" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index 30479d252308..6d90ae96087a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1408,10 +1408,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== -"@esbuild/linux-loong64@0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.0.tgz#7ca859765361a92a60669a1794e9c1837d427d97" - integrity sha512-7ChD3qsxRPIPp9bfjspZiM/x8B1UZL7IKwp0YdnC1kKsDCB5Q8/TexedeeEbkI9inlunu8Lll2lP2wnkiXTCLA== +"@esbuild/linux-loong64@0.15.1": + version "0.15.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.1.tgz#f293d9442201fa7448248f05590139bb8e521856" + integrity sha512-1tORADNFK9QS4KYyUyh3Td9WGrdiI1rSoKvY6A43+9G0kPujBuT4lIGyoK0AweOSO1aRIR28xQUfiJCUa78bUw== "@eslint/eslintrc@^1.3.0": version "1.3.0" @@ -4665,10 +4665,10 @@ esbuild-android-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== -esbuild-android-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.0.tgz#4f708e4185c6995aeba7c7042c5d6b77eeb1f779" - integrity sha512-A9wa6quw4nYIhCDH6rudxSTOAIfSOYU3eME8ZkfP21P+WTxz0pFORFDuBjVAcLhkora3bDc23C8UeloKiiQPOg== +esbuild-android-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.1.tgz#f609a37348a3784ae632e88517d2e5f579984806" + integrity sha512-q5kkJZsgLIkyh5e2ZJl4/kXKIueBKtjVMEihP9WCHadqhH6+F9qiycE7fBwUb/g2B15mYlmMBXjp8VmOT3J2gA== esbuild-android-arm64@0.14.53: version "0.14.53" @@ -4680,10 +4680,10 @@ esbuild-android-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== -esbuild-android-arm64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.0.tgz#136c5a3565801c3719b51b05975b2598ab782965" - integrity sha512-ujdverhuFUfW99HdF+L9n1wzG950lVL1AJVc1SEbJRaQC22tVq9xXNXkLLq7v4hSZWrdz/MT3hwhnQF0KTMxNg== +esbuild-android-arm64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.1.tgz#94b064dfa87bacbfb623313ead8338d357175a10" + integrity sha512-IQuZOzqMaFceLlKJJA27CXAdh+Mzh2ZblHMmcNIu/wxb6iX1zgYXlPWle62iHnmNCtfAux1mzQvmNsP9aLhemA== esbuild-darwin-64@0.14.53: version "0.14.53" @@ -4695,10 +4695,10 @@ esbuild-darwin-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== -esbuild-darwin-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.0.tgz#338d3baa1cd575ba79f2269aedb70711fd036f62" - integrity sha512-aA5SVtXCetQ9ChREG8xDdzv43XGbdz+u4AxQgQZrRu0gXD3yJfawfZgquaej3CxVAlrOgBPbu5z+tA5SVhXAxQ== +esbuild-darwin-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.1.tgz#d15ed63dada464c18a8245199294df5b22c865ff" + integrity sha512-tyouWLyxwM/Y2fy/reuIvAvVB+KVQwuY9IVyV7LH5CGkJYxgtLb8xVEiwHFF8TG2uo9a2fqdgWffados4YA6Aw== esbuild-darwin-arm64@0.14.53: version "0.14.53" @@ -4710,10 +4710,10 @@ esbuild-darwin-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== -esbuild-darwin-arm64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.0.tgz#a162b90f588bdab8c2733bfbcd3ffa34a9fc2e33" - integrity sha512-CaxPS5JUQpldeIMVqw0K+vlGfyMphvtIWugPMyXPGTDmUAcWXSha1QRgJ5Fxa9d/cC4DKeC8L8/q7ClzinXxfA== +esbuild-darwin-arm64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.1.tgz#c8c6a8949faa88cccbc508143662d53a111d7ee0" + integrity sha512-fb4V1eB1nir3zJwsS75itsbahkbM71XuqUDJVH8iyBLS8VIQD7MWWAAekea2l9keueGfsn0+wTyDluMT+kg8Cw== esbuild-freebsd-64@0.14.53: version "0.14.53" @@ -4725,10 +4725,10 @@ esbuild-freebsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== -esbuild-freebsd-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.0.tgz#6fc8d24d2e16e4915066b8ec8b0ddbccd5f6429d" - integrity sha512-O9yvjry2bmX8sxx42JfwW6g/usZ0e3ndfb3+bquu20qkuEfDodqHNzotOjaKSREvxpw+Ub1zNtXvA/FFekSaOA== +esbuild-freebsd-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.1.tgz#4ebbbd954e2e72cf35e78185f4da810a8c3fce2f" + integrity sha512-1KxEv/FUPlQtUSOjFCwR8FVNEskB5LmkbfW9FNJ7lhpG+4RsLiHWw4Sl2Y1/S+aKX7inyWxLA05zYV6XAzO8DA== esbuild-freebsd-arm64@0.14.53: version "0.14.53" @@ -4740,10 +4740,10 @@ esbuild-freebsd-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== -esbuild-freebsd-arm64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.0.tgz#e665dcc66c83ccfbd092c0e9c47a472db3ff23e3" - integrity sha512-Zv8bNAG1lYyCtWi+PVndgys6KRBe5hQgD81tK3zdZ6XEitpCPwF8QShYbV8RacG1YBD7aHKSoWKGkT9+5bMGhw== +esbuild-freebsd-arm64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.1.tgz#a377942ed5b2578f9d8e8aea1396db59df5e1742" + integrity sha512-ueUMGSNrcuHwAadioxBdfOCO4+bTVeI68a147BQ/AFFIrf4XJNow4UXxguvQlZO+ZYaVz6EztaL6mHslKie2Rw== esbuild-linux-32@0.14.53: version "0.14.53" @@ -4755,10 +4755,10 @@ esbuild-linux-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== -esbuild-linux-32@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.0.tgz#6ab8cd8088bea63830105d29bd49bfbd471aa060" - integrity sha512-QZqCG55D5Wof1WmBJMuihNroLM9S2oDXGkqB0ZHMA67CQw+3cAwWxOKW36n6VFaKiE4MhvUuW7jI+lr2D7nXQQ== +esbuild-linux-32@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.1.tgz#7226edd9517ee0bdc0ea7a8be1b5047d31de9426" + integrity sha512-K5WWcN2OZkZ6arFN3+hi1leKc0at9ukKGrXK9Ia94kQOesBphTSmsNK/Gy/AoVoIa0bWrHtxDijS9j9+dz86oA== esbuild-linux-64@0.14.53: version "0.14.53" @@ -4770,10 +4770,10 @@ esbuild-linux-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== -esbuild-linux-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.0.tgz#9ce7dfc0fb899b3123f096622c18438fbb1cc73d" - integrity sha512-cmB2vAUWf9W8768H0DuOi6VUrQPCinx/oYhRbuR1TZj873vg1GTqc55LAh1cYCC0xEMd9MjO4YfI43OX4ewI1w== +esbuild-linux-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.1.tgz#fbf0f6320a99f940170b76cc650e623c728d9480" + integrity sha512-+haiVm83DfRi9x8M+GgR4f4LtSN8lnEIG8XMGK8/FYpkYNQiKb398GxeHp2yvoMpX8IPvmWCt215tAm5BBNfZQ== esbuild-linux-arm64@0.14.53: version "0.14.53" @@ -4785,10 +4785,10 @@ esbuild-linux-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== -esbuild-linux-arm64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.0.tgz#a01ffaff475a2fd43ab7c7d266f3b60ad0e03ada" - integrity sha512-bJc8k64Lss+2V8yx9kh4Q48SYPR/k0kxyep2pmvzaGm+AreeMnXI0J33zF4tU/OW9r3pwa74F3/MxF6x275Yhg== +esbuild-linux-arm64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.1.tgz#4a33a9b9dc95d537264aaf05a3e3fdbf6fb8cce5" + integrity sha512-TP0BCVZEVu/aoVaZe2sn1vpvo63j0LPiH8rvd7AegqOfTwb+mcxLxpgyYwkibafUCMxnIrKdUTsSJeusoMhcLg== esbuild-linux-arm@0.14.53: version "0.14.53" @@ -4800,10 +4800,10 @@ esbuild-linux-arm@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== -esbuild-linux-arm@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.0.tgz#e332122fbfd560c505c76e5fb1a803818801c1da" - integrity sha512-UyY0Vqd9ngfeWBeJrrqHiXf4ozqXxzNT8ebdNt1ay5hfu/uXes3eVkt1YHP2dcxG/APPE4XDxvKlx0SoSwHP6Q== +esbuild-linux-arm@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.1.tgz#31773327a2c8edfd77c7cf12ded141b2db0b25c6" + integrity sha512-qjAkEDcFhVNYwG2xgaDg/hA8JABoMvjzAzE6g1K8kR516oNkKbVf6rN68UrsQaV1zq1qR3dbVeMv/Ul2bheppA== esbuild-linux-mips64le@0.14.53: version "0.14.53" @@ -4815,10 +4815,10 @@ esbuild-linux-mips64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== -esbuild-linux-mips64le@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.0.tgz#e68062e43d62e610ba9a45796ff558f5ac2fab56" - integrity sha512-NoOxC4a1XfM4/zGBIujIuxhPVWvS6UgqE/ksyjZ6qgHQD9lWVjcEv3iPEKKIuHXPE1s+YHvJrdXVup96aVvflQ== +esbuild-linux-mips64le@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.1.tgz#714b8c49886349d2a599f05fae5cb7dc5e574658" + integrity sha512-8vzQzp+kwrn1Y+OjvfFaLS8uL8aR39WnAtxOHwjB72s9g18kHFlE8IQLS9dWDQgKpBSFq9kazsJE65dSVmz+VA== esbuild-linux-ppc64le@0.14.53: version "0.14.53" @@ -4830,10 +4830,10 @@ esbuild-linux-ppc64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== -esbuild-linux-ppc64le@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.0.tgz#25779293a9cb81408bbc1c0ad47f9d2f55849a31" - integrity sha512-OUkEhJAYPaYPvHZxjgnJhWB0qD8q8l1q8CnGLngmPAxb9WZrFwPYmykWBTSqGXeG08stScpkIQXy4HTSF8rH+w== +esbuild-linux-ppc64le@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.1.tgz#5df1ec88d850745de2ce23d1a4117d04d36b8a32" + integrity sha512-QlWSOgC2Ad53Xvf7ZivXU7wM2y29YhQUrd50PjK0QJ3psh/eYSQx77PTe1iWm7Ovjiqv1wPKEAyC7CbyJUgriw== esbuild-linux-riscv64@0.14.53: version "0.14.53" @@ -4845,10 +4845,10 @@ esbuild-linux-riscv64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== -esbuild-linux-riscv64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.0.tgz#363736a80491f9ef50d2fcb8f26510a67e3f6ee4" - integrity sha512-DuSujKNrdCN+kvA0+BBS/ULaINuOeI0iU9XzhIRtTCR5cFJWd6aQTHluKEc3C/a/ib2KTVNjM21cUHi4Tj0NZA== +esbuild-linux-riscv64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.1.tgz#3ccf408ec4682630862310e28038d30639e2623c" + integrity sha512-/PRNgNsiwb7G2n3rB5WcHinCwKj0OqUmtu8cdakV4CLNWnFnfChEGEJX1x5n8RcGD3xPUlI5CgqFe0/oBcUh+A== esbuild-linux-s390x@0.14.53: version "0.14.53" @@ -4860,10 +4860,10 @@ esbuild-linux-s390x@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== -esbuild-linux-s390x@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.0.tgz#26fc8a255b333da7b8ae41e591ccca3e1a1ea328" - integrity sha512-ttGGhgXRpJbsD+XXS2NIBThuEh8EvAJEnVQ9vzXviniPuvpuwKLFNBRPqtX3gE5o2bUQnh5ZugmDVuD9GW2ROg== +esbuild-linux-s390x@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.1.tgz#1340260371f01703fe91376d9550f0bcf709d7a4" + integrity sha512-TScRbO4mi4AUUXzIQ8sb6ZXhGkCb/PlJ82qFfBE6xxsioae/d6XaSdaha/+OUTvmPeoro3lNf3vwdw27v3wEgw== esbuild-netbsd-64@0.14.53: version "0.14.53" @@ -4875,10 +4875,10 @@ esbuild-netbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== -esbuild-netbsd-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.0.tgz#0590f6c8cbdfccb87e7b0aeba066466427c01886" - integrity sha512-rb6sIQ/gZeQNrgplSLJ0zLirLwr3vQCzbL1jb0Ypay83Uup2s+OEI+Vw+oJ2SomrhVyOPwk/R4AY713bJKdLsQ== +esbuild-netbsd-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.1.tgz#b3c31b64a88379d0a16f44ffc66a0c879a4105ae" + integrity sha512-ES2pbK8QfsMZbdPkgjkLwWfnEGtPa0vYzVFLQn7GFgP+RiemY+ulH7WWQ8ezMt9rZl4XAR3y14yKLGX0gsBLaw== esbuild-openbsd-64@0.14.53: version "0.14.53" @@ -4890,10 +4890,10 @@ esbuild-openbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== -esbuild-openbsd-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.0.tgz#a6219c343d2b69d153713f5e9bef69a6196f432e" - integrity sha512-CeU7hw291UJQpNg/oJLefmM9Rdeddo2ya9Vw9hdDrUyZAAZckqVRLDh9t4OdqJuXFdlo6BM2qhZCcY22O7wfGg== +esbuild-openbsd-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.1.tgz#2447e8734a8fccfa91f4cbfc2816b09ec38d468f" + integrity sha512-DxNWji11AxSEny4HzSKu21Skia8tEPQI1N+XO/RqVOJComOvsFLq+QeooKsK2caOsQIKl9mO14Hh+px+zFabMA== esbuild-sunos-64@0.14.53: version "0.14.53" @@ -4905,20 +4905,20 @@ esbuild-sunos-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== -esbuild-sunos-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.0.tgz#8343576a515f5278f1b5ada1819067e67a79dd29" - integrity sha512-nE7EcgDw9RT4fR+GJZ5a0spPb2HKT77viCjrGl6GSeb/n3RhxGgVGwPQDI/KRwyVeQMqEOTtHQMNPwNr9TKDDQ== +esbuild-sunos-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.1.tgz#bca632708b8fc124a15477433ad2ae22f3726e0d" + integrity sha512-lwZoWlv893qtQQx5H4QQCh2mcYzGbxEz09ESFdd4cHcUCfjb193bSAy6jPxW2efBx2fHEo2sw43TRtAkpCf+XQ== esbuild-wasm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== -esbuild-wasm@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.0.tgz#f6fece19b816d16493ff6eeb20a34310731e3d65" - integrity sha512-zkCXQzJgVYxS6sCFFQl22lIJQ1V/dkPrv+qOKSgQMdTrZR4qUQh0siDhJLDeM3T6SZgBgQ89qDCkc7weEVvnoA== +esbuild-wasm@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.1.tgz#88e2d81edf73251b902f7275512e2ea10cfab7ae" + integrity sha512-9zsNKpNiHmJEjb8cwPrk5q7Wv22MpTnbh1CQKc1rM242yxEqEp0LOIbfewg6hmtCO6qrrWjLyvRw3IAHa+OBMQ== esbuild-wasm@^0.14.29: version "0.14.54" @@ -4935,10 +4935,10 @@ esbuild-windows-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== -esbuild-windows-32@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.0.tgz#0be1d82343b86a6150516d23d06dd33ca7ca75e7" - integrity sha512-FUPwJmPwBoqe8ShhOMfHtSElh1Nyc3s+Kru3m7lDJCjNr3ctx9YJKuzRsz4UXow6Wo79LMQGNyjysQ7UuKgvHQ== +esbuild-windows-32@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.1.tgz#c5577ed48901075772db1332ed5098b0a3cf6e2f" + integrity sha512-jEFz8DxP+Hh67fk9XMoyLUqPjjoCT6m4bnl36aze0XpPZDuQm0SBDlG/ciOBCjzHDsu/MYUNwxVezvUT3sXh1A== esbuild-windows-64@0.14.53: version "0.14.53" @@ -4950,10 +4950,10 @@ esbuild-windows-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== -esbuild-windows-64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.0.tgz#f1fb7f5087dff3117700eb205b0c23a34e6f8841" - integrity sha512-zNM5bSVOY0SzMFB6k3ZdMwg4JmLVLpEmgVd2fU2STDmEOXdY1APAFPVWkbWMtLF/nfLfaJLfps7+IIJgGyQbGA== +esbuild-windows-64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.1.tgz#4fd2d9c62b37e98adff350a2763622c5c0e27c21" + integrity sha512-bUetnfw4xXKBTOQx4sTzoENJVEdgAN29ZTLRtnMseRzsMO8pjObQMsRPpPL3Cstt6FJhj3k3uScHc5VnfC9QkA== esbuild-windows-arm64@0.14.53: version "0.14.53" @@ -4965,10 +4965,10 @@ esbuild-windows-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== -esbuild-windows-arm64@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.0.tgz#58d27c7fd3709a97a26ee3db09784889bd8b25b0" - integrity sha512-sqhmDwUhUULUnViLD7jAqo4FaOhLN/FMW+dFVSvxSTA9pZSr2w6efky91vTWOcTUmspvYyHyOrJmtktp1ffIaw== +esbuild-windows-arm64@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.1.tgz#6243dd249fccb7b6993096da51173d97a2714b37" + integrity sha512-oN0JMj7fQZOiqJ/f/wc8lkxjvWwj5Yz0ZhOeU90JFaPZAfafNnysi6GS95glY5uwLUUJz/RNc84cb0dK2qT89A== esbuild@0.14.53: version "0.14.53" @@ -4997,32 +4997,32 @@ esbuild@0.14.53: esbuild-windows-64 "0.14.53" esbuild-windows-arm64 "0.14.53" -esbuild@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.0.tgz#54466825ac2b44c4caccef0bf0e260a1535d97d6" - integrity sha512-UUDSelGc/EOhzn0zpkdhLA3iB+jq2OS5gnMUMz/BqAKBIsWR2fTHqrddNPt2PNj3OUchqcMcTHSUBr+VpYpcsQ== +esbuild@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.1.tgz#8979137b6c125281d148553d0257ef47e2746793" + integrity sha512-zgxo2st9wSbdiR6rTo44l/L7ohttqdXFmhUi5tE6yWahgdBjCwZjBgIkm/gr/TcBTTIwyzd7em8WI37yZ+F2Mg== optionalDependencies: - "@esbuild/linux-loong64" "0.15.0" - esbuild-android-64 "0.15.0" - esbuild-android-arm64 "0.15.0" - esbuild-darwin-64 "0.15.0" - esbuild-darwin-arm64 "0.15.0" - esbuild-freebsd-64 "0.15.0" - esbuild-freebsd-arm64 "0.15.0" - esbuild-linux-32 "0.15.0" - esbuild-linux-64 "0.15.0" - esbuild-linux-arm "0.15.0" - esbuild-linux-arm64 "0.15.0" - esbuild-linux-mips64le "0.15.0" - esbuild-linux-ppc64le "0.15.0" - esbuild-linux-riscv64 "0.15.0" - esbuild-linux-s390x "0.15.0" - esbuild-netbsd-64 "0.15.0" - esbuild-openbsd-64 "0.15.0" - esbuild-sunos-64 "0.15.0" - esbuild-windows-32 "0.15.0" - esbuild-windows-64 "0.15.0" - esbuild-windows-arm64 "0.15.0" + "@esbuild/linux-loong64" "0.15.1" + esbuild-android-64 "0.15.1" + esbuild-android-arm64 "0.15.1" + esbuild-darwin-64 "0.15.1" + esbuild-darwin-arm64 "0.15.1" + esbuild-freebsd-64 "0.15.1" + esbuild-freebsd-arm64 "0.15.1" + esbuild-linux-32 "0.15.1" + esbuild-linux-64 "0.15.1" + esbuild-linux-arm "0.15.1" + esbuild-linux-arm64 "0.15.1" + esbuild-linux-mips64le "0.15.1" + esbuild-linux-ppc64le "0.15.1" + esbuild-linux-riscv64 "0.15.1" + esbuild-linux-s390x "0.15.1" + esbuild-netbsd-64 "0.15.1" + esbuild-openbsd-64 "0.15.1" + esbuild-sunos-64 "0.15.1" + esbuild-windows-32 "0.15.1" + esbuild-windows-64 "0.15.1" + esbuild-windows-arm64 "0.15.1" esbuild@^0.14.29: version "0.14.54" @@ -11174,6 +11174,41 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" +webpack-dev-server@4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.0.tgz#de270d0009eba050546912be90116e7fd740a9ca" + integrity sha512-7dezwAs+k6yXVFZ+MaL8VnE+APobiO3zvpp3rBHe/HmWQ+avwh0Q3d0xxacOiBybZZ3syTZw9HXzpa3YNbAZDQ== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-dev-server@4.9.3: version "4.9.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" From 78cacc30e5fe2f3ca293bdfd2dae42dd178b86e8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 11 Aug 2022 11:35:52 +0000 Subject: [PATCH 0762/1388] refactor(@angular-devkit/build-angular): remove workaround for handle options requests The upstream fix https://github.com/webpack/webpack-dev-server/issues/4180 has been merged and released as part of `webpack-dev-server` version `4.10.0` --- .../src/webpack/configs/dev-server.ts | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index 9135bd2aa9c4..9aa6c6a1910c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -92,26 +92,6 @@ export async function getDevServerConfig( publicPath: servePath, stats: false, }, - setupMiddlewares: (middlewares, _devServer) => { - // Temporary workaround for https://github.com/webpack/webpack-dev-server/issues/4180 - middlewares.push({ - name: 'options-request-response', - path: '*', - middleware: (req: Request, res: Response, next: NextFunction) => { - if (req.method === 'OPTIONS') { - res.statusCode = 204; - res.setHeader('Content-Length', 0); - res.end(); - - return; - } - - next(); - }, - }); - - return middlewares; - }, liveReload, hot: hmr && !liveReload ? 'only' : hmr, proxy: await addProxyConfig(root, proxyConfig), From 9d8c2736fecc40e429920581e656a5394a6c9217 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 11 Aug 2022 10:11:41 -0400 Subject: [PATCH 0763/1388] release: cut the v14.2.0-next.1 release --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a10006e05ea7..c6d8c8da3fcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,32 @@ + + +# 14.2.0-next.1 (2022-08-11) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | +| [44c25511e](https://github.com/angular/angular-cli/commit/44c25511ea2adbd4fbe82a6122fc00af612be8e8) | feat | add ability to serve service worker when using dev-server | +| [3fb569b5c](https://github.com/angular/angular-cli/commit/3fb569b5c82f22afca4dc59313356f198755827e) | feat | switch to Sass modern API in esbuild builder | +| [7de9b470c](https://github.com/angular/angular-cli/commit/7de9b470cb54d974027a8baf88b611585fc526c7) | fix | avoid collect stats from chunks with no files | +| [70bc35456](https://github.com/angular/angular-cli/commit/70bc35456aa5b58ce1a0e2440ebb6533c7f5e48b) | fix | correctly handle data URIs with escaped quotes in stylesheets | +| [f474bf532](https://github.com/angular/angular-cli/commit/f474bf532f89a296eb1b47f941998d73c1c51e8a) | fix | process stylesheet resources from url tokens with esbuild browser builder | +| [50c783307](https://github.com/angular/angular-cli/commit/50c783307eb1253f4f2a87502bd7a19f6a409aeb) | fix | use valid CSS comment for sourcemaps with Sass in esbuild builder | +| [3e3dc6962](https://github.com/angular/angular-cli/commit/3e3dc6962d49cb8e8575146b22d134732cfff39f) | perf | reduce babel transformation in esbuild builder | +| [8f9cee351](https://github.com/angular/angular-cli/commit/8f9cee351e5cc7da5a75b1a9b06306bc224e6b56) | perf | use esbuild in esbuild builder to downlevel native async/await | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- | +| [cf9afeec2](https://github.com/angular/angular-cli/commit/cf9afeec20c035386a081fdeec98c9f26f82692e) | fix | elide type only named imports when using `emitDecoratorMetadata` | + +## Special Thanks + +Alan Agius, Charles Lyding and Jason Bedard + + + # 14.1.2 (2022-08-10) diff --git a/package.json b/package.json index 0ea27d999211..d798c0d0509b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.2.0-next.0", + "version": "14.2.0-next.1", "private": true, "description": "Software Development Kit for Angular", "bin": { From acde1b44cbcc77c596c6eab92303c09a5c99496a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 11 Aug 2022 13:19:41 +0000 Subject: [PATCH 0764/1388] build: update angular to 2693a88 --- .github/workflows/dev-infra.yml | 4 ++-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- yarn.lock | 16 ++++++++-------- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index e5d973e79a67..8d96d3dc17f5 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@e238b8f203a580b09038d74d10e7ec46e263ac32 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@1c22264e2b24f792a02ca397fa587bff03111a13 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@e238b8f203a580b09038d74d10e7ec46e263ac32 + - uses: angular/dev-infra/github-actions/post-approval-changes@1c22264e2b24f792a02ca397fa587bff03111a13 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 83594ecc575a..5366d9465033 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@e238b8f203a580b09038d74d10e7ec46e263ac32 + - uses: angular/dev-infra/github-actions/feature-request@1c22264e2b24f792a02ca397fa587bff03111a13 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index aa85cf9844d4..eea21b93d606 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@e238b8f203a580b09038d74d10e7ec46e263ac32 + - uses: angular/dev-infra/github-actions/lock-closed@1c22264e2b24f792a02ca397fa587bff03111a13 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index d798c0d0509b..64cf3157adda 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce411b5b675d8c6cfa26282e44c3a62e80aa04b0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2693a8869061a076eb8687c08aa22e4785eb3749", "@angular/cdk": "14.1.1", "@angular/common": "14.1.2", "@angular/compiler": "14.1.2", @@ -75,7 +75,7 @@ "@angular/forms": "14.1.2", "@angular/localize": "14.1.2", "@angular/material": "14.1.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#35cda8e0639370ecf921a68a537a6af3436965f0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8026354b6d00023c223a950d6ac2e44c69a261b5", "@angular/platform-browser": "14.1.2", "@angular/platform-browser-dynamic": "14.1.2", "@angular/platform-server": "14.1.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 41914e7f684b..6346f4fa255f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#6378f34c92d3bb6253fd4a271f8e241a07be460b", - "@angular/cdk": "github:angular/cdk-builds#07364a5f0934860631150aaac8a1e844ad4aa497", + "@angular/cdk": "github:angular/cdk-builds#b84020dd1180b452dc13e98ad20c1375ae079288", "@angular/common": "github:angular/common-builds#708b76621ff379ea8490f85144ada276b441eaca", "@angular/compiler": "github:angular/compiler-builds#0a7c5abaad4c5f46e22c46c931e68b9b7e709414", "@angular/compiler-cli": "github:angular/compiler-cli-builds#b3f5f301c15510706a959782e0fad563572b8b92", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#f6252eee7db7d35971c9cbd10b4272fdb9c38d01", "@angular/language-service": "github:angular/language-service-builds#0daff5735118f058ab81ccebcb8ad2237a3882f1", "@angular/localize": "github:angular/localize-builds#63bad18d1be591263b50ee403d3b3feb3cf84fd0", - "@angular/material": "github:angular/material-builds#b05162166a78522a49dfd7ac3cbf3740b0be41d7", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#18aec0be2d013cda18f7ceeee39a7eb5612981f9", + "@angular/material": "github:angular/material-builds#87cbbed3ded6431b7b00fd97a1d2846018c41a2b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#108eb1df3e3452647ed570f2214dcdecba472f99", "@angular/platform-browser": "github:angular/platform-browser-builds#2b0d7d1b47a7b16175927411fdaa2fbe89d5730d", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#79079124e398daef9f8c52cffc2fb803418f618a", "@angular/platform-server": "github:angular/platform-server-builds#f0308438f217246eb21e242656ad78d7ba139c1d", diff --git a/yarn.lock b/yarn.lock index 6d90ae96087a..2f45e50987b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce411b5b675d8c6cfa26282e44c3a62e80aa04b0": - version "0.0.0-e238b8f203a580b09038d74d10e7ec46e263ac32" - uid ce411b5b675d8c6cfa26282e44c3a62e80aa04b0 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ce411b5b675d8c6cfa26282e44c3a62e80aa04b0" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#2693a8869061a076eb8687c08aa22e4785eb3749": + version "0.0.0-1c22264e2b24f792a02ca397fa587bff03111a13" + uid "2693a8869061a076eb8687c08aa22e4785eb3749" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2693a8869061a076eb8687c08aa22e4785eb3749" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" "@angular/benchpress" "0.3.0" @@ -236,10 +236,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#35cda8e0639370ecf921a68a537a6af3436965f0": - version "0.0.0-e238b8f203a580b09038d74d10e7ec46e263ac32" - uid "35cda8e0639370ecf921a68a537a6af3436965f0" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#35cda8e0639370ecf921a68a537a6af3436965f0" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8026354b6d00023c223a950d6ac2e44c69a261b5": + version "0.0.0-1c22264e2b24f792a02ca397fa587bff03111a13" + uid "8026354b6d00023c223a950d6ac2e44c69a261b5" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8026354b6d00023c223a950d6ac2e44c69a261b5" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" From 187ab7df589d0add98ec0eb9fc453dc897a9156b Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 9 Aug 2022 12:30:15 -0700 Subject: [PATCH 0765/1388] test: add missing yargs config --- tests/legacy-cli/e2e_runner.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 4d2b06cdbf6a..50471b198bbb 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -33,11 +33,22 @@ Error.stackTraceLimit = Infinity; * passed in. * --shard Index of this processes' shard. * --tmpdir=path Override temporary directory to use for new projects. + * --yarn Use yarn as package manager. * If unnamed flags are passed in, the list of tests will be filtered to include only those passed. */ const argv = yargsParser(process.argv.slice(2), { - boolean: ['debug', 'esbuild', 'ng-snapshots', 'noglobal', 'nosilent', 'noproject', 'verbose'], + boolean: [ + 'debug', + 'esbuild', + 'ng-snapshots', + 'noglobal', + 'nosilent', + 'noproject', + 'verbose', + 'yarn', + ], string: ['devkit', 'glob', 'ignore', 'reuse', 'ng-tag', 'tmpdir', 'ng-version'], + number: ['nb-shards', 'shard'], configuration: { 'dot-notation': false, 'camel-case-expansion': false, From 22a3251099533164d2907ea5b37129cc7a1fcb53 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 22 Jul 2022 22:01:25 -0700 Subject: [PATCH 0766/1388] test: ensure test assets are writable when copied for use in e2e tests --- tests/legacy-cli/e2e/utils/assets.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/utils/assets.ts b/tests/legacy-cli/e2e/utils/assets.ts index 669f5b48364e..6b472d177d62 100644 --- a/tests/legacy-cli/e2e/utils/assets.ts +++ b/tests/legacy-cli/e2e/utils/assets.ts @@ -1,4 +1,5 @@ import { join } from 'path'; +import { chmod } from 'fs/promises'; import glob from 'glob'; import { getGlobalVariable } from './env'; import { relative, resolve } from 'path'; @@ -33,7 +34,9 @@ export function copyAssets(assetName: string, to?: string) { ? resolve(getGlobalVariable('projects-root'), 'test-project', to, filePath) : join(tempRoot, filePath); - return promise.then(() => copyFile(join(root, filePath), toPath)); + return promise + .then(() => copyFile(join(root, filePath), toPath)) + .then(() => chmod(toPath, 0o777)); }, Promise.resolve()); }) .then(() => tempRoot); From db17eac2517e32c3d147ca9e191871b92e6e7888 Mon Sep 17 00:00:00 2001 From: AgentEnder Date: Thu, 11 Aug 2022 10:11:52 -0400 Subject: [PATCH 0767/1388] fix(@angular-devkit/core): update workspace extension warning to use correct phrasing --- packages/angular_devkit/core/src/workspace/json/reader.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index fa54e67ed004..71035e28b08d 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -120,7 +120,7 @@ function parseWorkspace(workspaceNode: Node, context: ParserContext): WorkspaceD projects = parseProjectsObject(nodes, context); } else { if (!context.unprefixedWorkspaceExtensions.has(name) && !/^[a-z]{1,3}-.*/.test(name)) { - context.warn(`Project extension with invalid name (${name}) found.`, name); + context.warn(`Workspace extension with invalid name (${name}) found.`, name); } if (extensions) { extensions[name] = value; From ddf1257d14f8b52c441c0df8c8dc10510a25f94f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 11 Aug 2022 11:51:36 -0400 Subject: [PATCH 0768/1388] refactor(@angular-devkit/core): remove deprecated rxjs `empty` function usage The RxJS `empty` function is deprecated and will be removed in future versions. The `EMPTY` constant is the recommended replacement. --- packages/angular_devkit/core/src/logger/logger.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/core/src/logger/logger.ts b/packages/angular_devkit/core/src/logger/logger.ts index f8b9a451da7e..dd014dee6bdc 100644 --- a/packages/angular_devkit/core/src/logger/logger.ts +++ b/packages/angular_devkit/core/src/logger/logger.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Observable, Operator, PartialObserver, Subject, Subscription, empty } from 'rxjs'; +import { EMPTY, Observable, Operator, PartialObserver, Subject, Subscription } from 'rxjs'; import { JsonObject } from '../json/utils'; export interface LoggerMetadata extends JsonObject { @@ -34,7 +34,7 @@ export class Logger extends Observable implements LoggerApi { protected readonly _subject: Subject = new Subject(); protected _metadata: LoggerMetadata; - private _obs: Observable = empty(); + private _obs: Observable = EMPTY; private _subscription: Subscription | null = null; protected get _observable() { From 18396f6ee75980c75ef195a073870f9a8c665be2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 11 Aug 2022 18:23:49 +0000 Subject: [PATCH 0769/1388] ci: re add `test-browsers` step This was deleted by mistake --- .circleci/dynamic_config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 33baf2b5e03f..5b8a1fe733c9 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -374,6 +374,10 @@ workflows: requires: - setup + - test-browsers: + requires: + - build + - e2e-tests: name: e2e-cli-<< matrix.subset >> nodeversion: '14.15' From 398d66af4fd7fe5bcb0161428d832de1c228d16c Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 11 Aug 2022 15:38:59 -0400 Subject: [PATCH 0770/1388] refactor(@angular-devkit/schematics): reduce RxJS usage in callRule/callSource functions The amount of additional RxJS operators and chaining has been reduced within the `callRule` and `callSource` functions. This also reduces the complexity of the code and removes several repetitive code segments. --- .../schematics/src/engine/schematic.ts | 7 +- .../schematics/src/rules/call.ts | 99 ++++++++----------- 2 files changed, 46 insertions(+), 60 deletions(-) diff --git a/packages/angular_devkit/schematics/src/engine/schematic.ts b/packages/angular_devkit/schematics/src/engine/schematic.ts index 8984d341b04a..f98e46c69f9d 100644 --- a/packages/angular_devkit/schematics/src/engine/schematic.ts +++ b/packages/angular_devkit/schematics/src/engine/schematic.ts @@ -7,7 +7,7 @@ */ import { BaseException } from '@angular-devkit/core'; -import { Observable, of as observableOf } from 'rxjs'; +import { Observable } from 'rxjs'; import { concatMap, first, map } from 'rxjs/operators'; import { callRule } from '../rules/call'; import { Tree } from '../tree/interface'; @@ -29,7 +29,8 @@ export class InvalidSchematicsNameException extends BaseException { } export class SchematicImpl - implements Schematic { + implements Schematic +{ constructor( private _description: SchematicDescription, private _factory: RuleFactory<{}>, @@ -73,7 +74,7 @@ export class SchematicImpl { if (output === input) { return tree; diff --git a/packages/angular_devkit/schematics/src/rules/call.ts b/packages/angular_devkit/schematics/src/rules/call.ts index d2cb1ba4c9ae..9f8655a88f5d 100644 --- a/packages/angular_devkit/schematics/src/rules/call.ts +++ b/packages/angular_devkit/schematics/src/rules/call.ts @@ -6,9 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { BaseException, isPromise } from '@angular-devkit/core'; -import { Observable, from, isObservable, of as observableOf, throwError } from 'rxjs'; -import { defaultIfEmpty, last, mergeMap, tap } from 'rxjs/operators'; +import { BaseException } from '@angular-devkit/core'; +import { Observable, defer, isObservable } from 'rxjs'; +import { defaultIfEmpty, mergeMap } from 'rxjs/operators'; import { Rule, SchematicContext, Source } from '../engine/interface'; import { Tree, TreeSymbol } from '../tree/interface'; @@ -48,24 +48,19 @@ export class InvalidSourceResultException extends BaseException { } export function callSource(source: Source, context: SchematicContext): Observable { - const result = source(context); + return defer(async () => { + let result = source(context); - if (isObservable(result)) { - // Only return the last Tree, and make sure it's a Tree. - return result.pipe( - defaultIfEmpty(), - last(), - tap((inner) => { - if (!inner || !(TreeSymbol in inner)) { - throw new InvalidSourceResultException(inner); - } - }), - ); - } else if (result && TreeSymbol in result) { - return observableOf(result); - } else { - return throwError(new InvalidSourceResultException(result)); - } + if (isObservable(result)) { + result = await result.pipe(defaultIfEmpty()).toPromise(); + } + + if (result && TreeSymbol in result) { + return result as Tree; + } + + throw new InvalidSourceResultException(result); + }); } export function callRule( @@ -73,42 +68,32 @@ export function callRule( input: Tree | Observable, context: SchematicContext, ): Observable { - return (isObservable(input) ? input : observableOf(input)).pipe( - mergeMap((inputTree) => { - const result = rule(inputTree, context); + if (isObservable(input)) { + return input.pipe(mergeMap((inputTree) => callRuleAsync(rule, inputTree, context))); + } else { + return defer(() => callRuleAsync(rule, input, context)); + } +} + +async function callRuleAsync(rule: Rule, tree: Tree, context: SchematicContext): Promise { + let result = await rule(tree, context); + + while (typeof result === 'function') { + // This is considered a Rule, chain the rule and return its output. + result = await result(tree, context); + } + + if (typeof result === 'undefined') { + return tree; + } + + if (isObservable(result)) { + result = await result.pipe(defaultIfEmpty(tree)).toPromise(); + } + + if (TreeSymbol in result) { + return result as Tree; + } - if (!result) { - return observableOf(inputTree); - } else if (typeof result == 'function') { - // This is considered a Rule, chain the rule and return its output. - return callRule(result, inputTree, context); - } else if (isObservable(result)) { - // Only return the last Tree, and make sure it's a Tree. - return result.pipe( - defaultIfEmpty(), - last(), - tap((inner) => { - if (!inner || !(TreeSymbol in inner)) { - throw new InvalidRuleResultException(inner); - } - }), - ); - } else if (isPromise(result)) { - return from(result).pipe( - mergeMap((inner) => { - if (typeof inner === 'function') { - // This is considered a Rule, chain the rule and return its output. - return callRule(inner, inputTree, context); - } else { - return observableOf(inputTree); - } - }), - ); - } else if (TreeSymbol in result) { - return observableOf(result); - } else { - return throwError(new InvalidRuleResultException(result)); - } - }), - ); + throw new InvalidRuleResultException(result); } From 4368c8598350aacb4cdb5956c3a4a45cf8d7e191 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 12 Aug 2022 11:42:00 +0000 Subject: [PATCH 0771/1388] refactor: remove unused local variables --- packages/angular/cli/src/command-builder/command-runner.ts | 2 +- packages/angular/cli/src/utilities/color.ts | 2 -- .../src/builders/browser-esbuild/compiler-plugin.ts | 2 +- packages/angular_devkit/build_angular/src/utils/color.ts | 2 -- .../angular_devkit/build_angular/src/utils/purge-cache.ts | 2 +- .../build_angular/src/webpack/configs/dev-server.ts | 7 +------ packages/angular_devkit/core/node/testing/index.ts | 2 +- packages/angular_devkit/schematics/src/engine/interface.ts | 2 +- packages/schematics/angular/module/index.ts | 1 - scripts/json-help.ts | 2 +- tests/legacy-cli/e2e/utils/packages.ts | 4 +--- 11 files changed, 8 insertions(+), 20 deletions(-) diff --git a/packages/angular/cli/src/command-builder/command-runner.ts b/packages/angular/cli/src/command-builder/command-runner.ts index 5f0192c13915..36c4b308ecc6 100644 --- a/packages/angular/cli/src/command-builder/command-runner.ts +++ b/packages/angular/cli/src/command-builder/command-runner.ts @@ -32,7 +32,7 @@ import { colors } from '../utilities/color'; import { AngularWorkspace, getWorkspace } from '../utilities/config'; import { assertIsError } from '../utilities/error'; import { PackageManagerUtils } from '../utilities/package-manager'; -import { CommandContext, CommandModuleError, CommandScope } from './command-module'; +import { CommandContext, CommandModuleError } from './command-module'; import { addCommandModuleToYargs, demandCommandFailureMessage } from './utilities/command'; import { jsonHelpUsage } from './utilities/json-help'; import { normalizeOptionsMiddleware } from './utilities/normalize-options-middleware'; diff --git a/packages/angular/cli/src/utilities/color.ts b/packages/angular/cli/src/utilities/color.ts index 0a93840c0519..ff201f3e157a 100644 --- a/packages/angular/cli/src/utilities/color.ts +++ b/packages/angular/cli/src/utilities/color.ts @@ -9,8 +9,6 @@ import * as ansiColors from 'ansi-colors'; import { WriteStream } from 'tty'; -type AnsiColors = typeof ansiColors; - function supportColor(): boolean { if (process.env.FORCE_COLOR !== undefined) { // 2 colors: FORCE_COLOR = 0 (Disables colors), depth 1 diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 734e0ee0eca7..a55e95ff4992 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -260,7 +260,7 @@ export function createCompilerPlugin( // Create the Angular specific program that contains the Angular compiler const angularProgram = new compilerCli.NgtscProgram(rootNames, compilerOptions, host); const angularCompiler = angularProgram.compiler; - const { ignoreForDiagnostics, ignoreForEmit } = angularCompiler; + const { ignoreForDiagnostics } = angularCompiler; const typeScriptProgram = angularProgram.getTsProgram(); const builder = ts.createAbstractBuilder(typeScriptProgram, host); diff --git a/packages/angular_devkit/build_angular/src/utils/color.ts b/packages/angular_devkit/build_angular/src/utils/color.ts index 0a93840c0519..ff201f3e157a 100644 --- a/packages/angular_devkit/build_angular/src/utils/color.ts +++ b/packages/angular_devkit/build_angular/src/utils/color.ts @@ -9,8 +9,6 @@ import * as ansiColors from 'ansi-colors'; import { WriteStream } from 'tty'; -type AnsiColors = typeof ansiColors; - function supportColor(): boolean { if (process.env.FORCE_COLOR !== undefined) { // 2 colors: FORCE_COLOR = 0 (Disables colors), depth 1 diff --git a/packages/angular_devkit/build_angular/src/utils/purge-cache.ts b/packages/angular_devkit/build_angular/src/utils/purge-cache.ts index 1f6039f27592..d62717faf360 100644 --- a/packages/angular_devkit/build_angular/src/utils/purge-cache.ts +++ b/packages/angular_devkit/build_angular/src/utils/purge-cache.ts @@ -7,7 +7,7 @@ */ import { BuilderContext } from '@angular-devkit/architect'; -import { PathLike, existsSync, promises as fsPromises } from 'fs'; +import { existsSync, promises as fsPromises } from 'fs'; import { join } from 'path'; import { normalizeCacheOptions } from './normalize-cache'; diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index 9aa6c6a1910c..1f994be74b7f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -11,12 +11,7 @@ import { existsSync, promises as fsPromises } from 'fs'; import { extname, posix, resolve } from 'path'; import { URL, pathToFileURL } from 'url'; import { Configuration, RuleSetRule } from 'webpack'; -import type { - Configuration as DevServerConfiguration, - NextFunction, - Request, - Response, -} from 'webpack-dev-server'; +import type { Configuration as DevServerConfiguration } from 'webpack-dev-server'; import { WebpackConfigOptions, WebpackDevServerOptions } from '../../utils/build-options'; import { assertIsError } from '../../utils/error'; import { loadEsmModule } from '../../utils/load-esm'; diff --git a/packages/angular_devkit/core/node/testing/index.ts b/packages/angular_devkit/core/node/testing/index.ts index b83bd1008d21..687bbf64ca72 100644 --- a/packages/angular_devkit/core/node/testing/index.ts +++ b/packages/angular_devkit/core/node/testing/index.ts @@ -9,7 +9,7 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { Path, PathFragment, getSystemPath, join, normalize, virtualFs } from '../../src'; +import { Path, getSystemPath, join, normalize, virtualFs } from '../../src'; import { NodeJsSyncHost } from '../host'; /** diff --git a/packages/angular_devkit/schematics/src/engine/interface.ts b/packages/angular_devkit/schematics/src/engine/interface.ts index 9d316d14428d..e0d788fa6387 100644 --- a/packages/angular_devkit/schematics/src/engine/interface.ts +++ b/packages/angular_devkit/schematics/src/engine/interface.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging } from '@angular-devkit/core'; +import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import { Url } from 'url'; import { FileEntry, MergeStrategy, Tree } from '../tree/interface'; diff --git a/packages/schematics/angular/module/index.ts b/packages/schematics/angular/module/index.ts index dfd52bdf35ef..808ba8201d62 100644 --- a/packages/schematics/angular/module/index.ts +++ b/packages/schematics/angular/module/index.ts @@ -9,7 +9,6 @@ import { Path, normalize } from '@angular-devkit/core'; import { Rule, - SchematicsException, Tree, apply, applyTemplates, diff --git a/scripts/json-help.ts b/scripts/json-help.ts index 46046fcf249a..4a2782cbc4d8 100644 --- a/scripts/json-help.ts +++ b/scripts/json-help.ts @@ -7,7 +7,7 @@ */ import { logging } from '@angular-devkit/core'; -import { spawn, spawnSync } from 'child_process'; +import { spawnSync } from 'child_process'; import { promises as fs } from 'fs'; import * as os from 'os'; import { JsonHelp } from 'packages/angular/cli/src/command-builder/utilities/json-help'; diff --git a/tests/legacy-cli/e2e/utils/packages.ts b/tests/legacy-cli/e2e/utils/packages.ts index 52b579a91557..c666b097ad16 100644 --- a/tests/legacy-cli/e2e/utils/packages.ts +++ b/tests/legacy-cli/e2e/utils/packages.ts @@ -1,5 +1,5 @@ import { getGlobalVariable } from './env'; -import { ProcessOutput, npm, silentNpm, silentYarn } from './process'; +import { ProcessOutput, silentNpm, silentYarn } from './process'; export function getActivePackageManager(): 'npm' | 'yarn' { const value = getGlobalVariable('package-manager'); @@ -49,8 +49,6 @@ export async function setRegistry(useTestRegistry: boolean): Promise { ? getGlobalVariable('package-registry') : 'https://registry.npmjs.org'; - const isCI = getGlobalVariable('ci'); - // Ensure local test registry is used when outside a project // Yarn supports both `NPM_CONFIG_REGISTRY` and `YARN_REGISTRY`. process.env['NPM_CONFIG_REGISTRY'] = url; From 0a752ce704be111733f6a05732cc1ee437442aab Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 12 Aug 2022 05:07:51 +0000 Subject: [PATCH 0772/1388] build: update dependency aspect_bazel_lib to v1.10.0 --- WORKSPACE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index a329102e2fa1..9c254d396085 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "e034e4aea098c91ac05ac7e08f01a302275378a0bc0814c4939e96552c912212", - strip_prefix = "bazel-lib-1.9.2", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.9.2.tar.gz", + sha256 = "33332c0cd7b5238b5162b5177da7f45a05641f342cf6d04080b9775233900acf", + strip_prefix = "bazel-lib-1.10.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.10.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") From 81768965c45cf2efb9044bf5333fd804f68eef6c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 12 Aug 2022 10:40:38 +0000 Subject: [PATCH 0773/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 8 ++--- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 32 +++++++++---------- 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8d96d3dc17f5..7711858182f6 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@1c22264e2b24f792a02ca397fa587bff03111a13 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@55daf7df431dd8a4c38628df746e9d7658e58a1f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@1c22264e2b24f792a02ca397fa587bff03111a13 + - uses: angular/dev-infra/github-actions/post-approval-changes@55daf7df431dd8a4c38628df746e9d7658e58a1f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 5366d9465033..057e959907c5 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@1c22264e2b24f792a02ca397fa587bff03111a13 + - uses: angular/dev-infra/github-actions/feature-request@55daf7df431dd8a4c38628df746e9d7658e58a1f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index eea21b93d606..a2f73c6e9a7a 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@1c22264e2b24f792a02ca397fa587bff03111a13 + - uses: angular/dev-infra/github-actions/lock-closed@55daf7df431dd8a4c38628df746e9d7658e58a1f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 64cf3157adda..272615ac3c38 100644 --- a/package.json +++ b/package.json @@ -66,16 +66,16 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2693a8869061a076eb8687c08aa22e4785eb3749", - "@angular/cdk": "14.1.1", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a9bafebdb359b24c28e09010c5e6ec3fc8f64032", + "@angular/cdk": "14.1.2", "@angular/common": "14.1.2", "@angular/compiler": "14.1.2", "@angular/compiler-cli": "14.1.2", "@angular/core": "14.1.2", "@angular/forms": "14.1.2", "@angular/localize": "14.1.2", - "@angular/material": "14.1.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8026354b6d00023c223a950d6ac2e44c69a261b5", + "@angular/material": "14.1.2", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9", "@angular/platform-browser": "14.1.2", "@angular/platform-browser-dynamic": "14.1.2", "@angular/platform-server": "14.1.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 6346f4fa255f..40ab66f32d4d 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#6378f34c92d3bb6253fd4a271f8e241a07be460b", - "@angular/cdk": "github:angular/cdk-builds#b84020dd1180b452dc13e98ad20c1375ae079288", - "@angular/common": "github:angular/common-builds#708b76621ff379ea8490f85144ada276b441eaca", - "@angular/compiler": "github:angular/compiler-builds#0a7c5abaad4c5f46e22c46c931e68b9b7e709414", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#b3f5f301c15510706a959782e0fad563572b8b92", - "@angular/core": "github:angular/core-builds#de12e8ea36a9ff61a6eaaee7abfe4882b5442d7f", - "@angular/forms": "github:angular/forms-builds#f6252eee7db7d35971c9cbd10b4272fdb9c38d01", - "@angular/language-service": "github:angular/language-service-builds#0daff5735118f058ab81ccebcb8ad2237a3882f1", - "@angular/localize": "github:angular/localize-builds#63bad18d1be591263b50ee403d3b3feb3cf84fd0", - "@angular/material": "github:angular/material-builds#87cbbed3ded6431b7b00fd97a1d2846018c41a2b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#108eb1df3e3452647ed570f2214dcdecba472f99", - "@angular/platform-browser": "github:angular/platform-browser-builds#2b0d7d1b47a7b16175927411fdaa2fbe89d5730d", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#79079124e398daef9f8c52cffc2fb803418f618a", - "@angular/platform-server": "github:angular/platform-server-builds#f0308438f217246eb21e242656ad78d7ba139c1d", - "@angular/router": "github:angular/router-builds#65742e9e2e13137c488381c881c0104b75a720a1", - "@angular/service-worker": "github:angular/service-worker-builds#2e1768f0a6702fbf16f0763d18273190037a8798" + "@angular/animations": "github:angular/animations-builds#99419a6fbf21674a6dda983e48859fca4e0856b5", + "@angular/cdk": "github:angular/cdk-builds#881b5f4edf50a3ff0c6c0aeae40fa7fde4e92df1", + "@angular/common": "github:angular/common-builds#765351be5c24fb2331f33575b9c85dae9f7b03ac", + "@angular/compiler": "github:angular/compiler-builds#61c714819ffcdaa9f06983541f5a02d2476b6d44", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a753ca828bf50d671f407132153a245938c5f173", + "@angular/core": "github:angular/core-builds#79234cfd1788238faa43c961c9a687d7cc376a5e", + "@angular/forms": "github:angular/forms-builds#a3b492195790bc46a0031c7cc075d0bf3c81e2e7", + "@angular/language-service": "github:angular/language-service-builds#b8a6da157301e697a8ff17a6109e9436c55384aa", + "@angular/localize": "github:angular/localize-builds#499b2c75c59e30145d83cdb62a0665451fe8cc49", + "@angular/material": "github:angular/material-builds#60fef759f3366294b83e6f50b1ef4fa073870e3c", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#432300fff602585ccb5b5b9237d36a5d786af06c", + "@angular/platform-browser": "github:angular/platform-browser-builds#1eed2dbeb61868b0a206e7e1789cb7dba9e0e9ad", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#5fce7a421ec77525ed00b47b6484ecc0416d42ca", + "@angular/platform-server": "github:angular/platform-server-builds#7e795c8300936df73aaa057cdddc68e1957ac097", + "@angular/router": "github:angular/router-builds#58e4c581e6aede81d6c34c4cb9bc264999db2b66", + "@angular/service-worker": "github:angular/service-worker-builds#e3eb24c8693e074016c5496190b5dbb3c383933b" } } diff --git a/yarn.lock b/yarn.lock index 2f45e50987b2..404b81f10bfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,10 +122,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#2693a8869061a076eb8687c08aa22e4785eb3749": - version "0.0.0-1c22264e2b24f792a02ca397fa587bff03111a13" - uid "2693a8869061a076eb8687c08aa22e4785eb3749" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2693a8869061a076eb8687c08aa22e4785eb3749" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#a9bafebdb359b24c28e09010c5e6ec3fc8f64032": + version "0.0.0-55daf7df431dd8a4c38628df746e9d7658e58a1f" + uid a9bafebdb359b24c28e09010c5e6ec3fc8f64032 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a9bafebdb359b24c28e09010c5e6ec3fc8f64032" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" "@angular/benchpress" "0.3.0" @@ -160,10 +160,10 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/cdk@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.1.tgz#34e40a12e78b3a9db902d6c3fb3a407cc6875e43" - integrity sha512-Um4d5aWp7ACHd7O2cF3B4IXbQrnzMVvKlUVoKIBI4+EcCF70vAJrfXrAJoXIzLpte3MCDa6wO3wUX7uIJ4VlAQ== +"@angular/cdk@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.2.tgz#0f046241e51167534718cebf63abdc35408ad972" + integrity sha512-hJMhQmWWXTgwUa51OvEUgSATduEILCmGXpbsvC+REMMOo9rTd3u+cfrJW9OKl7Weq86VhKQ0WSfbn3MVyhUVBg== dependencies: tslib "^2.3.0" optionalDependencies: @@ -229,17 +229,17 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.1.1": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.1.1.tgz#fd8021addad113476d29ac279e23aa2a86022e08" - integrity sha512-HU83cgnAayItSXhyMdu1+edXj2DMjGXndvFicf300JtyliyjFmVzuM78O7hIJWLhT4Mohh/GkTlOSp4sc8xXhQ== +"@angular/material@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.1.2.tgz#4754f08755a5d0ae34553bf773ea0d50018e8ddb" + integrity sha512-riDaeOFF+fzjOxeWlqtVAT7lHlqoyzxE24Z7r7qyYriU+EndfEfOv9XQFup5BkqvDvzN9My+1vI562caWM3nfQ== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8026354b6d00023c223a950d6ac2e44c69a261b5": - version "0.0.0-1c22264e2b24f792a02ca397fa587bff03111a13" - uid "8026354b6d00023c223a950d6ac2e44c69a261b5" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8026354b6d00023c223a950d6ac2e44c69a261b5" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9": + version "0.0.0-55daf7df431dd8a4c38628df746e9d7658e58a1f" + uid b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" From 37422da4f2588a864ec2de06d0b373fcf2296a9c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 11 Aug 2022 23:32:37 +0200 Subject: [PATCH 0774/1388] docs: typo in cache command long description --- packages/angular/cli/src/commands/cache/long-description.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/cache/long-description.md b/packages/angular/cli/src/commands/cache/long-description.md index 8e52883f4c2a..8da4bb9e5364 100644 --- a/packages/angular/cli/src/commands/cache/long-description.md +++ b/packages/angular/cli/src/commands/cache/long-description.md @@ -26,7 +26,7 @@ By default, disk cache is only enabled for local environments. The value of envi - `all` - allows disk cache on all machines. - `local` - allows disk cache only on development machines. -- `ci` - allows disk cache only on continuous integration (Ci) systems. +- `ci` - allows disk cache only on continuous integration (CI) systems. To change the environment setting to `all`, run the following command: From 793e6f37d7c9b1053b0e6ce45bed495590eca7e0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 12 Aug 2022 08:50:21 +0000 Subject: [PATCH 0775/1388] ci: update `ChromeDriver` to `104.0.5112.79` Attempt to solve Windows E2E flakes --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 272615ac3c38..02111514a663 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 104.0.5112.29", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 104.0.5112.79", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", "ts-circular-deps:check": "yarn -s ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", From ba41c177d566b439e67d4f3c4b55b0348972c863 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 14 Aug 2022 14:37:18 +0000 Subject: [PATCH 0776/1388] build: update all non-major dependencies --- package.json | 8 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 250 ++++++++++-------- 3 files changed, 140 insertions(+), 124 deletions(-) diff --git a/package.json b/package.json index 02111514a663..6f3d0c8cea52 100644 --- a/package.json +++ b/package.json @@ -141,9 +141,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.1", - "esbuild-wasm": "0.15.1", - "eslint": "8.21.0", + "esbuild": "0.15.3", + "esbuild-wasm": "0.15.3", + "eslint": "8.22.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -205,7 +205,7 @@ "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", - "stylus": "0.58.1", + "stylus": "0.59.0", "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 8a89c056d1fe..0278476e96e0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.1", + "esbuild-wasm": "0.15.3", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -57,7 +57,7 @@ "semver": "7.3.7", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", - "stylus": "0.58.1", + "stylus": "0.59.0", "stylus-loader": "7.0.0", "terser": "5.14.2", "text-table": "0.2.0", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.1" + "esbuild": "0.15.3" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index 404b81f10bfd..06dad9458d42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@adobe/css-tools@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" + integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== + "@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -1408,10 +1413,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== -"@esbuild/linux-loong64@0.15.1": - version "0.15.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.1.tgz#f293d9442201fa7448248f05590139bb8e521856" - integrity sha512-1tORADNFK9QS4KYyUyh3Td9WGrdiI1rSoKvY6A43+9G0kPujBuT4lIGyoK0AweOSO1aRIR28xQUfiJCUa78bUw== +"@esbuild/linux-loong64@0.15.3": + version "0.15.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.3.tgz#0a39aa5c8a7639828914e6edc064ded72ff68d3a" + integrity sha512-pe7L+LnITFHUSUnuhSQRyYN2E5Anl0r7x/jW+ufc+4fBcaK3Q51b/3ufFWWhmIiuCkr7oKtmVSpaJ1DxbtSfuw== "@eslint/eslintrc@^1.3.0": version "1.3.0" @@ -4665,10 +4670,10 @@ esbuild-android-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== -esbuild-android-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.1.tgz#f609a37348a3784ae632e88517d2e5f579984806" - integrity sha512-q5kkJZsgLIkyh5e2ZJl4/kXKIueBKtjVMEihP9WCHadqhH6+F9qiycE7fBwUb/g2B15mYlmMBXjp8VmOT3J2gA== +esbuild-android-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.3.tgz#8096ff8bd80ac855a35e28ad04a67e76f18754ba" + integrity sha512-sHGQ50Bb80ow+DZ8s6mabWn/j+vgfsNDMhipv4v410O++C6gpEcR9A5jR9bTkMsVbr46Id0MMhUGpBasq8H92A== esbuild-android-arm64@0.14.53: version "0.14.53" @@ -4680,10 +4685,10 @@ esbuild-android-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== -esbuild-android-arm64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.1.tgz#94b064dfa87bacbfb623313ead8338d357175a10" - integrity sha512-IQuZOzqMaFceLlKJJA27CXAdh+Mzh2ZblHMmcNIu/wxb6iX1zgYXlPWle62iHnmNCtfAux1mzQvmNsP9aLhemA== +esbuild-android-arm64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.3.tgz#70fea382b5eea6f033a42c2d19fa70f8fde2d31e" + integrity sha512-+Oiwzgp7HTyeNkgpQySGLCq3zFmvVVyBiNz8bO+7Tc6tlnxSYf8jjQBThRTUsy6vrrjG91h9vZNlYkiikzzWUg== esbuild-darwin-64@0.14.53: version "0.14.53" @@ -4695,10 +4700,10 @@ esbuild-darwin-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== -esbuild-darwin-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.1.tgz#d15ed63dada464c18a8245199294df5b22c865ff" - integrity sha512-tyouWLyxwM/Y2fy/reuIvAvVB+KVQwuY9IVyV7LH5CGkJYxgtLb8xVEiwHFF8TG2uo9a2fqdgWffados4YA6Aw== +esbuild-darwin-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.3.tgz#4902b82c23c91795b40af1341bf73d03f28c7706" + integrity sha512-n2BkxzCPHv6OOOs9gxp4AYsccawuw9bDeW9rpSASHao0zQ/u0kP6bjD4ATf2G4A3cml8HGwp18aROl4ws+4Ytg== esbuild-darwin-arm64@0.14.53: version "0.14.53" @@ -4710,10 +4715,10 @@ esbuild-darwin-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== -esbuild-darwin-arm64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.1.tgz#c8c6a8949faa88cccbc508143662d53a111d7ee0" - integrity sha512-fb4V1eB1nir3zJwsS75itsbahkbM71XuqUDJVH8iyBLS8VIQD7MWWAAekea2l9keueGfsn0+wTyDluMT+kg8Cw== +esbuild-darwin-arm64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.3.tgz#7143f443c9a5da355cdb2fbfbf129708d75902ab" + integrity sha512-fSk5M1vQ+y48csVJ4QxweT//DdDytDAb0AvU1gYITqZGA1kL1/i4C5fjKDNZMjB7dkg2a+rfkMyrpZUli+To/w== esbuild-freebsd-64@0.14.53: version "0.14.53" @@ -4725,10 +4730,10 @@ esbuild-freebsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== -esbuild-freebsd-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.1.tgz#4ebbbd954e2e72cf35e78185f4da810a8c3fce2f" - integrity sha512-1KxEv/FUPlQtUSOjFCwR8FVNEskB5LmkbfW9FNJ7lhpG+4RsLiHWw4Sl2Y1/S+aKX7inyWxLA05zYV6XAzO8DA== +esbuild-freebsd-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.3.tgz#fb28355d9a59dff40427d74602b452597a031601" + integrity sha512-b21XfM0Wrxu0CzFQN7B4xuAMGUNLT3F3J2NMeLxbUq6lcl2N3Isho1q2AF5bOCpCXVM04k1+PgoQLwNzGYtnjw== esbuild-freebsd-arm64@0.14.53: version "0.14.53" @@ -4740,10 +4745,10 @@ esbuild-freebsd-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== -esbuild-freebsd-arm64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.1.tgz#a377942ed5b2578f9d8e8aea1396db59df5e1742" - integrity sha512-ueUMGSNrcuHwAadioxBdfOCO4+bTVeI68a147BQ/AFFIrf4XJNow4UXxguvQlZO+ZYaVz6EztaL6mHslKie2Rw== +esbuild-freebsd-arm64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.3.tgz#c5542f88b48bfef1dbb910d224a9c1dd7f6d86ff" + integrity sha512-E0LkWSz7Ch1B2WFXbGvfN3q9uUlQCahBi3S7wTSJO2T41x0BPnIFHw79/RuGKVyA17mX/I7RVOSRnrla2D4tag== esbuild-linux-32@0.14.53: version "0.14.53" @@ -4755,10 +4760,10 @@ esbuild-linux-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== -esbuild-linux-32@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.1.tgz#7226edd9517ee0bdc0ea7a8be1b5047d31de9426" - integrity sha512-K5WWcN2OZkZ6arFN3+hi1leKc0at9ukKGrXK9Ia94kQOesBphTSmsNK/Gy/AoVoIa0bWrHtxDijS9j9+dz86oA== +esbuild-linux-32@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.3.tgz#0b127edc535540e96df1df5007764a03018d1157" + integrity sha512-af7BhXXKwzXL83bfJX8vkxsyDbOr9T5auxyBJnBfkd2w7VwXC1heDT2TQ1cWCWyjqVatyKudW5RCSAySDKDW2Q== esbuild-linux-64@0.14.53: version "0.14.53" @@ -4770,10 +4775,10 @@ esbuild-linux-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== -esbuild-linux-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.1.tgz#fbf0f6320a99f940170b76cc650e623c728d9480" - integrity sha512-+haiVm83DfRi9x8M+GgR4f4LtSN8lnEIG8XMGK8/FYpkYNQiKb398GxeHp2yvoMpX8IPvmWCt215tAm5BBNfZQ== +esbuild-linux-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.3.tgz#53949de49ffd4b079c234aecc936a9a5ada977db" + integrity sha512-Wwq+5ZF2IPE/6W2kJLPnh7eXqtz5XtdPBRB77nhm02my6PsZR3aa/q/fRkJhwO6ExM+t9l3kFhWL4pMwk3wREA== esbuild-linux-arm64@0.14.53: version "0.14.53" @@ -4785,10 +4790,10 @@ esbuild-linux-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== -esbuild-linux-arm64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.1.tgz#4a33a9b9dc95d537264aaf05a3e3fdbf6fb8cce5" - integrity sha512-TP0BCVZEVu/aoVaZe2sn1vpvo63j0LPiH8rvd7AegqOfTwb+mcxLxpgyYwkibafUCMxnIrKdUTsSJeusoMhcLg== +esbuild-linux-arm64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.3.tgz#b6bf7ebbc453f71dc96f535a466cd144edf81748" + integrity sha512-qNvYyYjNm4JPXJcCJv7gXEnyqw2k9W+SeYMoG7RiwWHWv1cMX6xlxPLGz5yIxjH9+VBXkA1nrY/YohaiKq2O3g== esbuild-linux-arm@0.14.53: version "0.14.53" @@ -4800,10 +4805,10 @@ esbuild-linux-arm@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== -esbuild-linux-arm@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.1.tgz#31773327a2c8edfd77c7cf12ded141b2db0b25c6" - integrity sha512-qjAkEDcFhVNYwG2xgaDg/hA8JABoMvjzAzE6g1K8kR516oNkKbVf6rN68UrsQaV1zq1qR3dbVeMv/Ul2bheppA== +esbuild-linux-arm@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.3.tgz#01d75bd360f7b96243e1c13e389e2e1a514b8b00" + integrity sha512-88ycpH4GrbOzaZIIXIzljbeCUkzoaJ5luP6+LATa5hk/Wl+OHkAieDfjAHdH8KuHkGYTojKE1npQq9gll9efUA== esbuild-linux-mips64le@0.14.53: version "0.14.53" @@ -4815,10 +4820,10 @@ esbuild-linux-mips64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== -esbuild-linux-mips64le@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.1.tgz#714b8c49886349d2a599f05fae5cb7dc5e574658" - integrity sha512-8vzQzp+kwrn1Y+OjvfFaLS8uL8aR39WnAtxOHwjB72s9g18kHFlE8IQLS9dWDQgKpBSFq9kazsJE65dSVmz+VA== +esbuild-linux-mips64le@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.3.tgz#687e6acfa6b8818a67398ac18615a4fac18647d9" + integrity sha512-t5TXW6Cw8S9Lts7SDZ8rlx/dqPJx8hndYKL6xEgA2vdlrE60eIYTAYWJqsGN0dgePtFC1RPyH6To15l7s9WdYA== esbuild-linux-ppc64le@0.14.53: version "0.14.53" @@ -4830,10 +4835,10 @@ esbuild-linux-ppc64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== -esbuild-linux-ppc64le@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.1.tgz#5df1ec88d850745de2ce23d1a4117d04d36b8a32" - integrity sha512-QlWSOgC2Ad53Xvf7ZivXU7wM2y29YhQUrd50PjK0QJ3psh/eYSQx77PTe1iWm7Ovjiqv1wPKEAyC7CbyJUgriw== +esbuild-linux-ppc64le@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.3.tgz#0c502cdf48a635460c80c95e620676a78a2f60e6" + integrity sha512-TXxPgEWOPCY4F6ZMf7+915+H0eOB6AlcZBwjeBs+78ULpzvcmMzZ2ujF2IejKZXYWuMTORPNoG+MuVGBuyUysA== esbuild-linux-riscv64@0.14.53: version "0.14.53" @@ -4845,10 +4850,10 @@ esbuild-linux-riscv64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== -esbuild-linux-riscv64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.1.tgz#3ccf408ec4682630862310e28038d30639e2623c" - integrity sha512-/PRNgNsiwb7G2n3rB5WcHinCwKj0OqUmtu8cdakV4CLNWnFnfChEGEJX1x5n8RcGD3xPUlI5CgqFe0/oBcUh+A== +esbuild-linux-riscv64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.3.tgz#ee99fe2c1636f0e7127e13fd21783ec7b350e2f6" + integrity sha512-04tvrbHA83N+tg+qQeJmUQ3jWStUP7+rw+v/l2h3PsNGbcH3WmsgR0Tf0e1ext09asV4x2PX2b2Nm/gBIOrpqg== esbuild-linux-s390x@0.14.53: version "0.14.53" @@ -4860,10 +4865,10 @@ esbuild-linux-s390x@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== -esbuild-linux-s390x@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.1.tgz#1340260371f01703fe91376d9550f0bcf709d7a4" - integrity sha512-TScRbO4mi4AUUXzIQ8sb6ZXhGkCb/PlJ82qFfBE6xxsioae/d6XaSdaha/+OUTvmPeoro3lNf3vwdw27v3wEgw== +esbuild-linux-s390x@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.3.tgz#2e3491e04ad8108f928c94291b38e8529370f5e1" + integrity sha512-LHxnvvFMhA/uy9CSrnlCtPZnTfWahR9NPLKwXBgfg16YqpKbRHty+mek1o7l+2G5qLeFEEvhB0a7c+hYgbW/3w== esbuild-netbsd-64@0.14.53: version "0.14.53" @@ -4875,10 +4880,10 @@ esbuild-netbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== -esbuild-netbsd-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.1.tgz#b3c31b64a88379d0a16f44ffc66a0c879a4105ae" - integrity sha512-ES2pbK8QfsMZbdPkgjkLwWfnEGtPa0vYzVFLQn7GFgP+RiemY+ulH7WWQ8ezMt9rZl4XAR3y14yKLGX0gsBLaw== +esbuild-netbsd-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.3.tgz#8f41cb1c0c26befbf0bcd50e89580f66ec45bb32" + integrity sha512-8W0UxNuNsgBBa1SLjwqbbDLJF9mf+lvytaYPt5kXbBrz0DI4mKYFlujLQrxLKh8tvs2zRdFNy9HVqmMdbZ1OIQ== esbuild-openbsd-64@0.14.53: version "0.14.53" @@ -4890,10 +4895,10 @@ esbuild-openbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== -esbuild-openbsd-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.1.tgz#2447e8734a8fccfa91f4cbfc2816b09ec38d468f" - integrity sha512-DxNWji11AxSEny4HzSKu21Skia8tEPQI1N+XO/RqVOJComOvsFLq+QeooKsK2caOsQIKl9mO14Hh+px+zFabMA== +esbuild-openbsd-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.3.tgz#fa2e84480fe043480401c73fdfb944ba2d21826d" + integrity sha512-QL7xYQ4noukuqh8UGnsrk1m+ShPMYIXjOnAQl3siA7VV6cjuUoCxx6cThgcUDzih8iL5u2xgsGRhsviQIMsUuA== esbuild-sunos-64@0.14.53: version "0.14.53" @@ -4905,20 +4910,20 @@ esbuild-sunos-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== -esbuild-sunos-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.1.tgz#bca632708b8fc124a15477433ad2ae22f3726e0d" - integrity sha512-lwZoWlv893qtQQx5H4QQCh2mcYzGbxEz09ESFdd4cHcUCfjb193bSAy6jPxW2efBx2fHEo2sw43TRtAkpCf+XQ== +esbuild-sunos-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.3.tgz#23b8904294344075ce5020155ddd4e28d079cc10" + integrity sha512-vID32ZCZahWDqlEoq9W7OAZDtofAY8aW0V58V5l+kXEvaKvR0m99FLNRuGGY3IDNwjUoOkvoFiMMiy+ONnN7GA== esbuild-wasm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== -esbuild-wasm@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.1.tgz#88e2d81edf73251b902f7275512e2ea10cfab7ae" - integrity sha512-9zsNKpNiHmJEjb8cwPrk5q7Wv22MpTnbh1CQKc1rM242yxEqEp0LOIbfewg6hmtCO6qrrWjLyvRw3IAHa+OBMQ== +esbuild-wasm@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.3.tgz#ea127efdc015b8892ff18af8fbabd3f57aaef774" + integrity sha512-ydeaDmRTZf6xTimE5p6GGNez0y7HEgEpDigztl9O1SoqpYpIRGmlU42cM+u9SPmq7Z9tRgJ+BBbgRFNG/WNypQ== esbuild-wasm@^0.14.29: version "0.14.54" @@ -4935,10 +4940,10 @@ esbuild-windows-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== -esbuild-windows-32@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.1.tgz#c5577ed48901075772db1332ed5098b0a3cf6e2f" - integrity sha512-jEFz8DxP+Hh67fk9XMoyLUqPjjoCT6m4bnl36aze0XpPZDuQm0SBDlG/ciOBCjzHDsu/MYUNwxVezvUT3sXh1A== +esbuild-windows-32@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.3.tgz#472a5d09bcf4c1ebf2761c73214f15f6c5a16583" + integrity sha512-dnrlwu6T85QU9fO0a35HAzgAXm3vVqg+3Kr9EXkmnf5PHv9t7hT/EYW6g/8YYu91DDyGTk9JSyN32YzQ3OS9Lw== esbuild-windows-64@0.14.53: version "0.14.53" @@ -4950,10 +4955,10 @@ esbuild-windows-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== -esbuild-windows-64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.1.tgz#4fd2d9c62b37e98adff350a2763622c5c0e27c21" - integrity sha512-bUetnfw4xXKBTOQx4sTzoENJVEdgAN29ZTLRtnMseRzsMO8pjObQMsRPpPL3Cstt6FJhj3k3uScHc5VnfC9QkA== +esbuild-windows-64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.3.tgz#77438af8bd79df722d5af6e4e527bd7d1c48dc57" + integrity sha512-HUSlVCpTtOnIKeIn05zz0McNCfZhnu5UgUypmpNrv4Ff1XTvl6vBpQwIZ49eIAkY9zI6oe1Mu6N5ZG7u6X4s7A== esbuild-windows-arm64@0.14.53: version "0.14.53" @@ -4965,10 +4970,10 @@ esbuild-windows-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== -esbuild-windows-arm64@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.1.tgz#6243dd249fccb7b6993096da51173d97a2714b37" - integrity sha512-oN0JMj7fQZOiqJ/f/wc8lkxjvWwj5Yz0ZhOeU90JFaPZAfafNnysi6GS95glY5uwLUUJz/RNc84cb0dK2qT89A== +esbuild-windows-arm64@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.3.tgz#68810c8ba6ab93e42e3aa323f37f6538f0379df6" + integrity sha512-sk6fVXCzGB0uW089+8LdeanZkQUZ+3/xdbWshgLGRawV0NyjSFH4sZPIy+DJnhEnT0pPt1DabZtqrq2DT0FWNw== esbuild@0.14.53: version "0.14.53" @@ -4997,32 +5002,32 @@ esbuild@0.14.53: esbuild-windows-64 "0.14.53" esbuild-windows-arm64 "0.14.53" -esbuild@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.1.tgz#8979137b6c125281d148553d0257ef47e2746793" - integrity sha512-zgxo2st9wSbdiR6rTo44l/L7ohttqdXFmhUi5tE6yWahgdBjCwZjBgIkm/gr/TcBTTIwyzd7em8WI37yZ+F2Mg== +esbuild@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.3.tgz#d4180ef567a4563de425e2b2166f871467cc2b0b" + integrity sha512-D1qLizJTYlGIOK5m/1ckH8vR2U573eLMMA57qvWg/9jj8jPIhjpafv4kxb6ra2eeTlVq8tISxjsyRKbTaeF6PA== optionalDependencies: - "@esbuild/linux-loong64" "0.15.1" - esbuild-android-64 "0.15.1" - esbuild-android-arm64 "0.15.1" - esbuild-darwin-64 "0.15.1" - esbuild-darwin-arm64 "0.15.1" - esbuild-freebsd-64 "0.15.1" - esbuild-freebsd-arm64 "0.15.1" - esbuild-linux-32 "0.15.1" - esbuild-linux-64 "0.15.1" - esbuild-linux-arm "0.15.1" - esbuild-linux-arm64 "0.15.1" - esbuild-linux-mips64le "0.15.1" - esbuild-linux-ppc64le "0.15.1" - esbuild-linux-riscv64 "0.15.1" - esbuild-linux-s390x "0.15.1" - esbuild-netbsd-64 "0.15.1" - esbuild-openbsd-64 "0.15.1" - esbuild-sunos-64 "0.15.1" - esbuild-windows-32 "0.15.1" - esbuild-windows-64 "0.15.1" - esbuild-windows-arm64 "0.15.1" + "@esbuild/linux-loong64" "0.15.3" + esbuild-android-64 "0.15.3" + esbuild-android-arm64 "0.15.3" + esbuild-darwin-64 "0.15.3" + esbuild-darwin-arm64 "0.15.3" + esbuild-freebsd-64 "0.15.3" + esbuild-freebsd-arm64 "0.15.3" + esbuild-linux-32 "0.15.3" + esbuild-linux-64 "0.15.3" + esbuild-linux-arm "0.15.3" + esbuild-linux-arm64 "0.15.3" + esbuild-linux-mips64le "0.15.3" + esbuild-linux-ppc64le "0.15.3" + esbuild-linux-riscv64 "0.15.3" + esbuild-linux-s390x "0.15.3" + esbuild-netbsd-64 "0.15.3" + esbuild-openbsd-64 "0.15.3" + esbuild-sunos-64 "0.15.3" + esbuild-windows-32 "0.15.3" + esbuild-windows-64 "0.15.3" + esbuild-windows-arm64 "0.15.3" esbuild@^0.14.29: version "0.14.54" @@ -5185,10 +5190,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.21.0: - version "8.21.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef" - integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA== +eslint@8.22.0: + version "8.22.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48" + integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== dependencies: "@eslint/eslintrc" "^1.3.0" "@humanwhocodes/config-array" "^0.10.4" @@ -10412,6 +10417,17 @@ stylus@0.58.1, stylus@^0.58.0: sax "~1.2.4" source-map "^0.7.3" +stylus@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" + integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== + dependencies: + "@adobe/css-tools" "^4.0.1" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.2.4" + source-map "^0.7.3" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" From a296e9521264c29d525af8886eacf0c439677a56 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 15 Aug 2022 07:39:38 +0000 Subject: [PATCH 0777/1388] build: update angular to 989a053 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 7711858182f6..11daab646018 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@55daf7df431dd8a4c38628df746e9d7658e58a1f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@55daf7df431dd8a4c38628df746e9d7658e58a1f + - uses: angular/dev-infra/github-actions/post-approval-changes@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 057e959907c5..713ffe96e4aa 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@55daf7df431dd8a4c38628df746e9d7658e58a1f + - uses: angular/dev-infra/github-actions/feature-request@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index a2f73c6e9a7a..e919a1d5c27f 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@55daf7df431dd8a4c38628df746e9d7658e58a1f + - uses: angular/dev-infra/github-actions/lock-closed@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 6f3d0c8cea52..edbe07446b2b 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.1.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a9bafebdb359b24c28e09010c5e6ec3fc8f64032", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2", "@angular/cdk": "14.1.2", "@angular/common": "14.1.2", "@angular/compiler": "14.1.2", @@ -75,7 +75,7 @@ "@angular/forms": "14.1.2", "@angular/localize": "14.1.2", "@angular/material": "14.1.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4", "@angular/platform-browser": "14.1.2", "@angular/platform-browser-dynamic": "14.1.2", "@angular/platform-server": "14.1.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 40ab66f32d4d..70200a70e79b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#99419a6fbf21674a6dda983e48859fca4e0856b5", - "@angular/cdk": "github:angular/cdk-builds#881b5f4edf50a3ff0c6c0aeae40fa7fde4e92df1", - "@angular/common": "github:angular/common-builds#765351be5c24fb2331f33575b9c85dae9f7b03ac", - "@angular/compiler": "github:angular/compiler-builds#61c714819ffcdaa9f06983541f5a02d2476b6d44", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a753ca828bf50d671f407132153a245938c5f173", - "@angular/core": "github:angular/core-builds#79234cfd1788238faa43c961c9a687d7cc376a5e", - "@angular/forms": "github:angular/forms-builds#a3b492195790bc46a0031c7cc075d0bf3c81e2e7", - "@angular/language-service": "github:angular/language-service-builds#b8a6da157301e697a8ff17a6109e9436c55384aa", - "@angular/localize": "github:angular/localize-builds#499b2c75c59e30145d83cdb62a0665451fe8cc49", - "@angular/material": "github:angular/material-builds#60fef759f3366294b83e6f50b1ef4fa073870e3c", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#432300fff602585ccb5b5b9237d36a5d786af06c", - "@angular/platform-browser": "github:angular/platform-browser-builds#1eed2dbeb61868b0a206e7e1789cb7dba9e0e9ad", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#5fce7a421ec77525ed00b47b6484ecc0416d42ca", - "@angular/platform-server": "github:angular/platform-server-builds#7e795c8300936df73aaa057cdddc68e1957ac097", - "@angular/router": "github:angular/router-builds#58e4c581e6aede81d6c34c4cb9bc264999db2b66", - "@angular/service-worker": "github:angular/service-worker-builds#e3eb24c8693e074016c5496190b5dbb3c383933b" + "@angular/animations": "github:angular/animations-builds#989a053608809400c9098dccdb72b3d2ee657a5d", + "@angular/cdk": "github:angular/cdk-builds#5e0dca89a524c025fc0cbf50fffd818e539d99f9", + "@angular/common": "github:angular/common-builds#58a4bdf58291f31d30562cd9f913051f75b9d2f3", + "@angular/compiler": "github:angular/compiler-builds#3231eb72796a0d26c6045cc485e03a2806306d02", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#99aa837d074b5df5466c6a76944b16aa31a33c60", + "@angular/core": "github:angular/core-builds#4b78e9179cf038a9a048f66f1c712ad9f6b4e7e5", + "@angular/forms": "github:angular/forms-builds#14077d439487371d2ee039889c72a6d13e844904", + "@angular/language-service": "github:angular/language-service-builds#aa2b9c8a75568f0b0dceb5800b99357748f28b9d", + "@angular/localize": "github:angular/localize-builds#f70cde306a76a7daf3a62de9f49758d2808c5e5f", + "@angular/material": "github:angular/material-builds#840350f46870961a08fcb1fe57e40fc86736500d", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b09397a47bcee75bc4eceef65c020766b36fcf84", + "@angular/platform-browser": "github:angular/platform-browser-builds#e86b6bb35146314d95a2214f38060c316e18ecba", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a58a2962991687a2f864cdded606fd1c9255cd68", + "@angular/platform-server": "github:angular/platform-server-builds#409025011ce3cdaa470cfe0c7b65fc235618d0ab", + "@angular/router": "github:angular/router-builds#471200021e5f6531ec8cb6d5eac305255f5b2815", + "@angular/service-worker": "github:angular/service-worker-builds#526c2da8854c1e18a25bf4b439182337e914101f" } } diff --git a/yarn.lock b/yarn.lock index 06dad9458d42..33c322fd6b75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#a9bafebdb359b24c28e09010c5e6ec3fc8f64032": - version "0.0.0-55daf7df431dd8a4c38628df746e9d7658e58a1f" - uid a9bafebdb359b24c28e09010c5e6ec3fc8f64032 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a9bafebdb359b24c28e09010c5e6ec3fc8f64032" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2": + version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" + uid "08f0188fccf98139207fbd5e683533950e9068e2" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" "@angular/benchpress" "0.3.0" @@ -241,10 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9": - version "0.0.0-55daf7df431dd8a4c38628df746e9d7658e58a1f" - uid b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9 - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#b3fa973d98f1eee8969c4dd50fe7e7e93b6568c9" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4": + version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" + uid a9d380df54092930c4eabbab114c29ac125759f4 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" From 0e2044ebb1f0dc5088c52e010e1783870e139841 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 15 Aug 2022 10:58:01 +0000 Subject: [PATCH 0778/1388] build: update `@types/semver` to `^7.3.12` --- package.json | 2 +- packages/angular/cli/src/commands/update/cli.ts | 2 +- yarn.lock | 11 ++++------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index edbe07446b2b..a2d6155dba8d 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "@types/postcss-preset-env": "^7.0.0", "@types/progress": "^2.0.3", "@types/resolve": "^1.17.1", - "@types/semver": "^7.0.0", + "@types/semver": "^7.3.12", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", "@types/yargs": "^17.0.8", diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 0f21999b1532..e652b708d52e 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -986,7 +986,7 @@ export class UpdateCommandModule extends CommandModule { if ( this.context.packageManager.name === PackageManager.Npm && this.context.packageManager.version && - semver.gte(this.context.packageManager.version, '7.0.0', { includePrerelease: true }) + semver.gte(this.context.packageManager.version, '7.0.0') ) { if (verbose) { this.context.logger.info( diff --git a/yarn.lock b/yarn.lock index 33c322fd6b75..3d2fb81afa06 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2": version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" - uid "08f0188fccf98139207fbd5e683533950e9068e2" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" @@ -243,7 +242,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4": version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" - uid a9d380df54092930c4eabbab114c29ac125759f4 resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -2359,10 +2357,10 @@ dependencies: "@types/ws" "*" -"@types/semver@^7.0.0": - version "7.3.10" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.10.tgz#5f19ee40cbeff87d916eedc8c2bfe2305d957f73" - integrity sha512-zsv3fsC7S84NN6nPK06u79oWgrPVd0NvOyqgghV1haPaFcVxIrP4DLomRwGAXk0ui4HZA7mOcSFL98sMVW9viw== +"@types/semver@^7.3.12": + version "7.3.12" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" + integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== "@types/send@^0.17.1": version "0.17.1" @@ -9715,7 +9713,6 @@ sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: From b5cb05fce75799e5527311f17d9a9572f0f73fe4 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 16 Aug 2022 16:07:20 +0000 Subject: [PATCH 0779/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 258 ++++++++++++------ 3 files changed, 186 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index a2d6155dba8d..ae37a598e377 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@babel/preset-env": "7.18.10", "@babel/runtime": "7.18.9", "@babel/template": "7.18.10", - "@bazel/bazelisk": "1.12.0", + "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", "@bazel/concatjs": "5.5.3", "@bazel/jasmine": "5.5.3", @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.33.0", - "@typescript-eslint/parser": "5.33.0", + "@typescript-eslint/eslint-plugin": "5.33.1", + "@typescript-eslint/parser": "5.33.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -134,7 +134,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.1.1", + "cacache": "16.1.2", "chokidar": "^3.5.2", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", @@ -188,10 +188,10 @@ "postcss": "8.4.16", "postcss-import": "14.1.0", "postcss-loader": "7.0.1", - "postcss-preset-env": "7.7.2", + "postcss-preset-env": "7.8.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "16.1.0", + "puppeteer": "16.1.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0278476e96e0..b93f1b0ce879 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.1.1", + "cacache": "16.1.2", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", @@ -48,7 +48,7 @@ "postcss": "8.4.16", "postcss-import": "14.1.0", "postcss-loader": "7.0.1", - "postcss-preset-env": "7.7.2", + "postcss-preset-env": "7.8.0", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", diff --git a/yarn.lock b/yarn.lock index 3d2fb81afa06..80e43ef00bc8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1223,10 +1223,10 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" -"@bazel/bazelisk@1.12.0": - version "1.12.0" - resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.0.tgz#f08aebbf4afcb12684422450b0845dd6ef5cfe50" - integrity sha512-7oQusq1e4AIyFgotxVV7Pc40Et0QyvoVjujL+7/qV5Vrbfh0Nj3CfqSgl63weEyI4r0+K6RlGVsjfRuBi05p5w== +"@bazel/bazelisk@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" + integrity sha512-TGCwVeIiVeQUP6yLpxAg8yluFOC+tBQnWw5l8lqwMxKhRtOA+WaH1CJKAXeCBAaS2MxohhkXq44zj/7AM+t2jg== "@bazel/buildifier@5.1.0": version "5.1.0" @@ -1304,7 +1304,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.4": +"@csstools/postcss-cascade-layers@^1.0.4", "@csstools/postcss-cascade-layers@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz#f16f2c4396ace855541e1aa693f5f27ec972e6ad" integrity sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw== @@ -1312,7 +1312,7 @@ "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" -"@csstools/postcss-color-function@^1.1.0": +"@csstools/postcss-color-function@^1.1.0", "@csstools/postcss-color-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== @@ -1320,21 +1320,21 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-font-format-keywords@^1.0.0": +"@csstools/postcss-font-format-keywords@^1.0.0", "@csstools/postcss-font-format-keywords@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-hwb-function@^1.0.1": +"@csstools/postcss-hwb-function@^1.0.1", "@csstools/postcss-hwb-function@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-ic-unit@^1.0.0": +"@csstools/postcss-ic-unit@^1.0.0", "@csstools/postcss-ic-unit@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== @@ -1342,7 +1342,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.6": +"@csstools/postcss-is-pseudo-class@^2.0.6", "@csstools/postcss-is-pseudo-class@^2.0.7": version "2.0.7" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== @@ -1350,14 +1350,21 @@ "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" -"@csstools/postcss-normalize-display-values@^1.0.0": +"@csstools/postcss-nested-calc@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" + integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-normalize-display-values@^1.0.0", "@csstools/postcss-normalize-display-values@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^1.1.0": +"@csstools/postcss-oklab-function@^1.1.0", "@csstools/postcss-oklab-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== @@ -1372,21 +1379,28 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-stepped-value-functions@^1.0.0": +"@csstools/postcss-stepped-value-functions@^1.0.0", "@csstools/postcss-stepped-value-functions@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^1.0.1": +"@csstools/postcss-text-decoration-shorthand@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" + integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-trigonometric-functions@^1.0.1", "@csstools/postcss-trigonometric-functions@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-unset-value@^1.0.1": +"@csstools/postcss-unset-value@^1.0.1", "@csstools/postcss-unset-value@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== @@ -2490,14 +2504,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec" - integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg== +"@typescript-eslint/eslint-plugin@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz#c0a480d05211660221eda963cc844732fe9b1714" + integrity sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ== dependencies: - "@typescript-eslint/scope-manager" "5.33.0" - "@typescript-eslint/type-utils" "5.33.0" - "@typescript-eslint/utils" "5.33.0" + "@typescript-eslint/scope-manager" "5.33.1" + "@typescript-eslint/type-utils" "5.33.1" + "@typescript-eslint/utils" "5.33.1" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2505,69 +2519,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383" - integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w== +"@typescript-eslint/parser@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.1.tgz#e4b253105b4d2a4362cfaa4e184e2d226c440ff3" + integrity sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA== dependencies: - "@typescript-eslint/scope-manager" "5.33.0" - "@typescript-eslint/types" "5.33.0" - "@typescript-eslint/typescript-estree" "5.33.0" + "@typescript-eslint/scope-manager" "5.33.1" + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/typescript-estree" "5.33.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d" - integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw== +"@typescript-eslint/scope-manager@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz#8d31553e1b874210018ca069b3d192c6d23bc493" + integrity sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA== dependencies: - "@typescript-eslint/types" "5.33.0" - "@typescript-eslint/visitor-keys" "5.33.0" + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/visitor-keys" "5.33.1" -"@typescript-eslint/type-utils@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338" - integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA== +"@typescript-eslint/type-utils@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz#1a14e94650a0ae39f6e3b77478baff002cec4367" + integrity sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g== dependencies: - "@typescript-eslint/utils" "5.33.0" + "@typescript-eslint/utils" "5.33.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b" - integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw== +"@typescript-eslint/types@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.1.tgz#3faef41793d527a519e19ab2747c12d6f3741ff7" + integrity sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ== -"@typescript-eslint/typescript-estree@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf" - integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ== +"@typescript-eslint/typescript-estree@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz#a573bd360790afdcba80844e962d8b2031984f34" + integrity sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA== dependencies: - "@typescript-eslint/types" "5.33.0" - "@typescript-eslint/visitor-keys" "5.33.0" + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/visitor-keys" "5.33.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038" - integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw== +"@typescript-eslint/utils@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.1.tgz#171725f924fe1fe82bb776522bb85bc034e88575" + integrity sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.33.0" - "@typescript-eslint/types" "5.33.0" - "@typescript-eslint/typescript-estree" "5.33.0" + "@typescript-eslint/scope-manager" "5.33.1" + "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/typescript-estree" "5.33.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.33.0": - version "5.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484" - integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw== +"@typescript-eslint/visitor-keys@5.33.1": + version "5.33.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz#0155c7571c8cd08956580b880aea327d5c34a18b" + integrity sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg== dependencies: - "@typescript-eslint/types" "5.33.0" + "@typescript-eslint/types" "5.33.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3107,7 +3121,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.7: +autoprefixer@^10.4.7, autoprefixer@^10.4.8: version "10.4.8" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== @@ -3517,6 +3531,30 @@ cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1 tar "^6.1.11" unique-filename "^1.1.1" +cacache@16.1.2: + version "16.1.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.2.tgz#a519519e9fc9e5e904575dcd3b77660cbf03f749" + integrity sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^1.1.1" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4069,6 +4107,11 @@ cssdb@^6.6.3: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.3.tgz#1f331a2fab30c18d9f087301e6122a878bb1e505" integrity sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA== +cssdb@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.0.tgz#60cd053b0918fbbe859517f6bddf35979a19e1af" + integrity sha512-HmRYATZ4Gf8naf6sZmwKEyf7MXAC0ZxjsamtNNgmuWpQgoO973zsE/1JMIohEYsSi5e3n7vQauCLv7TWSrOlrw== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -8637,7 +8680,7 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-attribute-case-insensitive@^5.0.1: +postcss-attribute-case-insensitive@^5.0.1, postcss-attribute-case-insensitive@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== @@ -8651,7 +8694,7 @@ postcss-clamp@^4.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^4.2.3: +postcss-color-functional-notation@^4.2.3, postcss-color-functional-notation@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== @@ -8665,7 +8708,7 @@ postcss-color-hex-alpha@^8.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-color-rebeccapurple@^7.1.0: +postcss-color-rebeccapurple@^7.1.0, postcss-color-rebeccapurple@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== @@ -8693,14 +8736,14 @@ postcss-custom-selectors@^6.0.3: dependencies: postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^6.0.4: +postcss-dir-pseudo-class@^6.0.4, postcss-dir-pseudo-class@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== dependencies: postcss-selector-parser "^6.0.10" -postcss-double-position-gradients@^3.1.1: +postcss-double-position-gradients@^3.1.1, postcss-double-position-gradients@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== @@ -8734,12 +8777,12 @@ postcss-font-variant@^5.0.0: resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^3.0.3: +postcss-gap-properties@^3.0.3, postcss-gap-properties@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== -postcss-image-set-function@^4.0.6: +postcss-image-set-function@^4.0.6, postcss-image-set-function@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== @@ -8760,7 +8803,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.2.0: +postcss-lab-function@^4.2.0, postcss-lab-function@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== @@ -8815,7 +8858,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.9: +postcss-nesting@^10.1.10, postcss-nesting@^10.1.9: version "10.1.10" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.10.tgz#9c396df3d8232cbedfa95baaac6b765b8fd2a817" integrity sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w== @@ -8828,7 +8871,7 @@ postcss-opacity-percentage@^1.1.2: resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== -postcss-overflow-shorthand@^3.0.3: +postcss-overflow-shorthand@^3.0.3, postcss-overflow-shorthand@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== @@ -8840,7 +8883,7 @@ postcss-page-break@^3.0.4: resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^7.0.4: +postcss-place@^7.0.4, postcss-place@^7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== @@ -8900,7 +8943,62 @@ postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: postcss-selector-not "^6.0.0" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.5: +postcss-preset-env@7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz#5bd3ad53b2ef02edd41645d1ffee1ff8a49f24e5" + integrity sha512-leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA== + dependencies: + "@csstools/postcss-cascade-layers" "^1.0.5" + "@csstools/postcss-color-function" "^1.1.1" + "@csstools/postcss-font-format-keywords" "^1.0.1" + "@csstools/postcss-hwb-function" "^1.0.2" + "@csstools/postcss-ic-unit" "^1.0.1" + "@csstools/postcss-is-pseudo-class" "^2.0.7" + "@csstools/postcss-nested-calc" "^1.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.1" + "@csstools/postcss-oklab-function" "^1.1.1" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.1" + "@csstools/postcss-text-decoration-shorthand" "^1.0.0" + "@csstools/postcss-trigonometric-functions" "^1.0.2" + "@csstools/postcss-unset-value" "^1.0.2" + autoprefixer "^10.4.8" + browserslist "^4.21.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^7.0.0" + postcss-attribute-case-insensitive "^5.0.2" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.4" + postcss-color-hex-alpha "^8.0.4" + postcss-color-rebeccapurple "^7.1.1" + postcss-custom-media "^8.0.2" + postcss-custom-properties "^12.1.8" + postcss-custom-selectors "^6.0.3" + postcss-dir-pseudo-class "^6.0.5" + postcss-double-position-gradients "^3.1.2" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.5" + postcss-image-set-function "^4.0.7" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.10" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.4" + postcss-page-break "^3.0.4" + postcss-place "^7.0.5" + postcss-pseudo-class-any-link "^7.1.6" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-pseudo-class-any-link@^7.1.5, postcss-pseudo-class-any-link@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== @@ -8912,7 +9010,7 @@ postcss-replace-overflow-wrap@^4.0.0: resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== -postcss-selector-not@^6.0.0: +postcss-selector-not@^6.0.0, postcss-selector-not@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== @@ -9128,10 +9226,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.1.0.tgz#06a32dc347c94642601017fbf83e1d37379b9651" - integrity sha512-lhykJLbH2bbBaP3NfYI2Vj0T4ctrdfVdEVf8glZITPnLfqrJ0nfUzAYuIz5YcA79k5lmFKANIhEXex+jQChU3g== +puppeteer@16.1.1: + version "16.1.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.1.1.tgz#1bb8ec3b86f755c34b913421b81e9cd2cfad3588" + integrity sha512-lBneizsNF0zi1/iog9c0ogVnvDHJG4IWpkdIAgE2oiDKhr0MJRV8JeM2xbhUwCwhDJXjjVS2TNCZdLsMp9Ojdg== dependencies: cross-fetch "3.1.5" debug "4.3.4" From 3651209e95af55da5f28b21ee7074c561251e2ad Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 17 Aug 2022 05:26:35 +0000 Subject: [PATCH 0780/1388] build: update all non-major dependencies --- package.json | 6 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 255 ++++++++++-------- 4 files changed, 147 insertions(+), 120 deletions(-) diff --git a/package.json b/package.json index ae37a598e377..3f12addaf570 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.3", - "esbuild-wasm": "0.15.3", + "esbuild": "0.15.5", + "esbuild-wasm": "0.15.5", "eslint": "8.22.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -179,7 +179,7 @@ "npm-package-arg": "9.1.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.1", + "pacote": "13.6.2", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index f4eb711bef7d..d00bb8f8a03a 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,7 +36,7 @@ "npm-pick-manifest": "7.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.1", + "pacote": "13.6.2", "resolve": "1.22.1", "semver": "7.3.7", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b93f1b0ce879..eae1c9546a88 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.3", + "esbuild-wasm": "0.15.5", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -70,7 +70,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.3" + "esbuild": "0.15.5" }, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", diff --git a/yarn.lock b/yarn.lock index 80e43ef00bc8..c44f17dda5aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1425,10 +1425,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== -"@esbuild/linux-loong64@0.15.3": - version "0.15.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.3.tgz#0a39aa5c8a7639828914e6edc064ded72ff68d3a" - integrity sha512-pe7L+LnITFHUSUnuhSQRyYN2E5Anl0r7x/jW+ufc+4fBcaK3Q51b/3ufFWWhmIiuCkr7oKtmVSpaJ1DxbtSfuw== +"@esbuild/linux-loong64@0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz#91aef76d332cdc7c8942b600fa2307f3387e6f82" + integrity sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A== "@eslint/eslintrc@^1.3.0": version "1.3.0" @@ -4711,10 +4711,10 @@ esbuild-android-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== -esbuild-android-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.3.tgz#8096ff8bd80ac855a35e28ad04a67e76f18754ba" - integrity sha512-sHGQ50Bb80ow+DZ8s6mabWn/j+vgfsNDMhipv4v410O++C6gpEcR9A5jR9bTkMsVbr46Id0MMhUGpBasq8H92A== +esbuild-android-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" + integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== esbuild-android-arm64@0.14.53: version "0.14.53" @@ -4726,10 +4726,10 @@ esbuild-android-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== -esbuild-android-arm64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.3.tgz#70fea382b5eea6f033a42c2d19fa70f8fde2d31e" - integrity sha512-+Oiwzgp7HTyeNkgpQySGLCq3zFmvVVyBiNz8bO+7Tc6tlnxSYf8jjQBThRTUsy6vrrjG91h9vZNlYkiikzzWUg== +esbuild-android-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" + integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== esbuild-darwin-64@0.14.53: version "0.14.53" @@ -4741,10 +4741,10 @@ esbuild-darwin-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== -esbuild-darwin-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.3.tgz#4902b82c23c91795b40af1341bf73d03f28c7706" - integrity sha512-n2BkxzCPHv6OOOs9gxp4AYsccawuw9bDeW9rpSASHao0zQ/u0kP6bjD4ATf2G4A3cml8HGwp18aROl4ws+4Ytg== +esbuild-darwin-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" + integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== esbuild-darwin-arm64@0.14.53: version "0.14.53" @@ -4756,10 +4756,10 @@ esbuild-darwin-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== -esbuild-darwin-arm64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.3.tgz#7143f443c9a5da355cdb2fbfbf129708d75902ab" - integrity sha512-fSk5M1vQ+y48csVJ4QxweT//DdDytDAb0AvU1gYITqZGA1kL1/i4C5fjKDNZMjB7dkg2a+rfkMyrpZUli+To/w== +esbuild-darwin-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" + integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== esbuild-freebsd-64@0.14.53: version "0.14.53" @@ -4771,10 +4771,10 @@ esbuild-freebsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== -esbuild-freebsd-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.3.tgz#fb28355d9a59dff40427d74602b452597a031601" - integrity sha512-b21XfM0Wrxu0CzFQN7B4xuAMGUNLT3F3J2NMeLxbUq6lcl2N3Isho1q2AF5bOCpCXVM04k1+PgoQLwNzGYtnjw== +esbuild-freebsd-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" + integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== esbuild-freebsd-arm64@0.14.53: version "0.14.53" @@ -4786,10 +4786,10 @@ esbuild-freebsd-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== -esbuild-freebsd-arm64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.3.tgz#c5542f88b48bfef1dbb910d224a9c1dd7f6d86ff" - integrity sha512-E0LkWSz7Ch1B2WFXbGvfN3q9uUlQCahBi3S7wTSJO2T41x0BPnIFHw79/RuGKVyA17mX/I7RVOSRnrla2D4tag== +esbuild-freebsd-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" + integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== esbuild-linux-32@0.14.53: version "0.14.53" @@ -4801,10 +4801,10 @@ esbuild-linux-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== -esbuild-linux-32@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.3.tgz#0b127edc535540e96df1df5007764a03018d1157" - integrity sha512-af7BhXXKwzXL83bfJX8vkxsyDbOr9T5auxyBJnBfkd2w7VwXC1heDT2TQ1cWCWyjqVatyKudW5RCSAySDKDW2Q== +esbuild-linux-32@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" + integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== esbuild-linux-64@0.14.53: version "0.14.53" @@ -4816,10 +4816,10 @@ esbuild-linux-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== -esbuild-linux-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.3.tgz#53949de49ffd4b079c234aecc936a9a5ada977db" - integrity sha512-Wwq+5ZF2IPE/6W2kJLPnh7eXqtz5XtdPBRB77nhm02my6PsZR3aa/q/fRkJhwO6ExM+t9l3kFhWL4pMwk3wREA== +esbuild-linux-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" + integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== esbuild-linux-arm64@0.14.53: version "0.14.53" @@ -4831,10 +4831,10 @@ esbuild-linux-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== -esbuild-linux-arm64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.3.tgz#b6bf7ebbc453f71dc96f535a466cd144edf81748" - integrity sha512-qNvYyYjNm4JPXJcCJv7gXEnyqw2k9W+SeYMoG7RiwWHWv1cMX6xlxPLGz5yIxjH9+VBXkA1nrY/YohaiKq2O3g== +esbuild-linux-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" + integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== esbuild-linux-arm@0.14.53: version "0.14.53" @@ -4846,10 +4846,10 @@ esbuild-linux-arm@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== -esbuild-linux-arm@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.3.tgz#01d75bd360f7b96243e1c13e389e2e1a514b8b00" - integrity sha512-88ycpH4GrbOzaZIIXIzljbeCUkzoaJ5luP6+LATa5hk/Wl+OHkAieDfjAHdH8KuHkGYTojKE1npQq9gll9efUA== +esbuild-linux-arm@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" + integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== esbuild-linux-mips64le@0.14.53: version "0.14.53" @@ -4861,10 +4861,10 @@ esbuild-linux-mips64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== -esbuild-linux-mips64le@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.3.tgz#687e6acfa6b8818a67398ac18615a4fac18647d9" - integrity sha512-t5TXW6Cw8S9Lts7SDZ8rlx/dqPJx8hndYKL6xEgA2vdlrE60eIYTAYWJqsGN0dgePtFC1RPyH6To15l7s9WdYA== +esbuild-linux-mips64le@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" + integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== esbuild-linux-ppc64le@0.14.53: version "0.14.53" @@ -4876,10 +4876,10 @@ esbuild-linux-ppc64le@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== -esbuild-linux-ppc64le@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.3.tgz#0c502cdf48a635460c80c95e620676a78a2f60e6" - integrity sha512-TXxPgEWOPCY4F6ZMf7+915+H0eOB6AlcZBwjeBs+78ULpzvcmMzZ2ujF2IejKZXYWuMTORPNoG+MuVGBuyUysA== +esbuild-linux-ppc64le@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" + integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== esbuild-linux-riscv64@0.14.53: version "0.14.53" @@ -4891,10 +4891,10 @@ esbuild-linux-riscv64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== -esbuild-linux-riscv64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.3.tgz#ee99fe2c1636f0e7127e13fd21783ec7b350e2f6" - integrity sha512-04tvrbHA83N+tg+qQeJmUQ3jWStUP7+rw+v/l2h3PsNGbcH3WmsgR0Tf0e1ext09asV4x2PX2b2Nm/gBIOrpqg== +esbuild-linux-riscv64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" + integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== esbuild-linux-s390x@0.14.53: version "0.14.53" @@ -4906,10 +4906,10 @@ esbuild-linux-s390x@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== -esbuild-linux-s390x@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.3.tgz#2e3491e04ad8108f928c94291b38e8529370f5e1" - integrity sha512-LHxnvvFMhA/uy9CSrnlCtPZnTfWahR9NPLKwXBgfg16YqpKbRHty+mek1o7l+2G5qLeFEEvhB0a7c+hYgbW/3w== +esbuild-linux-s390x@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" + integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== esbuild-netbsd-64@0.14.53: version "0.14.53" @@ -4921,10 +4921,10 @@ esbuild-netbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== -esbuild-netbsd-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.3.tgz#8f41cb1c0c26befbf0bcd50e89580f66ec45bb32" - integrity sha512-8W0UxNuNsgBBa1SLjwqbbDLJF9mf+lvytaYPt5kXbBrz0DI4mKYFlujLQrxLKh8tvs2zRdFNy9HVqmMdbZ1OIQ== +esbuild-netbsd-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" + integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== esbuild-openbsd-64@0.14.53: version "0.14.53" @@ -4936,10 +4936,10 @@ esbuild-openbsd-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== -esbuild-openbsd-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.3.tgz#fa2e84480fe043480401c73fdfb944ba2d21826d" - integrity sha512-QL7xYQ4noukuqh8UGnsrk1m+ShPMYIXjOnAQl3siA7VV6cjuUoCxx6cThgcUDzih8iL5u2xgsGRhsviQIMsUuA== +esbuild-openbsd-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" + integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== esbuild-sunos-64@0.14.53: version "0.14.53" @@ -4951,20 +4951,20 @@ esbuild-sunos-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== -esbuild-sunos-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.3.tgz#23b8904294344075ce5020155ddd4e28d079cc10" - integrity sha512-vID32ZCZahWDqlEoq9W7OAZDtofAY8aW0V58V5l+kXEvaKvR0m99FLNRuGGY3IDNwjUoOkvoFiMMiy+ONnN7GA== +esbuild-sunos-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" + integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== esbuild-wasm@0.14.53: version "0.14.53" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== -esbuild-wasm@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.3.tgz#ea127efdc015b8892ff18af8fbabd3f57aaef774" - integrity sha512-ydeaDmRTZf6xTimE5p6GGNez0y7HEgEpDigztl9O1SoqpYpIRGmlU42cM+u9SPmq7Z9tRgJ+BBbgRFNG/WNypQ== +esbuild-wasm@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" + integrity sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A== esbuild-wasm@^0.14.29: version "0.14.54" @@ -4981,10 +4981,10 @@ esbuild-windows-32@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== -esbuild-windows-32@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.3.tgz#472a5d09bcf4c1ebf2761c73214f15f6c5a16583" - integrity sha512-dnrlwu6T85QU9fO0a35HAzgAXm3vVqg+3Kr9EXkmnf5PHv9t7hT/EYW6g/8YYu91DDyGTk9JSyN32YzQ3OS9Lw== +esbuild-windows-32@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" + integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== esbuild-windows-64@0.14.53: version "0.14.53" @@ -4996,10 +4996,10 @@ esbuild-windows-64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== -esbuild-windows-64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.3.tgz#77438af8bd79df722d5af6e4e527bd7d1c48dc57" - integrity sha512-HUSlVCpTtOnIKeIn05zz0McNCfZhnu5UgUypmpNrv4Ff1XTvl6vBpQwIZ49eIAkY9zI6oe1Mu6N5ZG7u6X4s7A== +esbuild-windows-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" + integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== esbuild-windows-arm64@0.14.53: version "0.14.53" @@ -5011,10 +5011,10 @@ esbuild-windows-arm64@0.14.54: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== -esbuild-windows-arm64@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.3.tgz#68810c8ba6ab93e42e3aa323f37f6538f0379df6" - integrity sha512-sk6fVXCzGB0uW089+8LdeanZkQUZ+3/xdbWshgLGRawV0NyjSFH4sZPIy+DJnhEnT0pPt1DabZtqrq2DT0FWNw== +esbuild-windows-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" + integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== esbuild@0.14.53: version "0.14.53" @@ -5043,32 +5043,32 @@ esbuild@0.14.53: esbuild-windows-64 "0.14.53" esbuild-windows-arm64 "0.14.53" -esbuild@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.3.tgz#d4180ef567a4563de425e2b2166f871467cc2b0b" - integrity sha512-D1qLizJTYlGIOK5m/1ckH8vR2U573eLMMA57qvWg/9jj8jPIhjpafv4kxb6ra2eeTlVq8tISxjsyRKbTaeF6PA== +esbuild@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" + integrity sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg== optionalDependencies: - "@esbuild/linux-loong64" "0.15.3" - esbuild-android-64 "0.15.3" - esbuild-android-arm64 "0.15.3" - esbuild-darwin-64 "0.15.3" - esbuild-darwin-arm64 "0.15.3" - esbuild-freebsd-64 "0.15.3" - esbuild-freebsd-arm64 "0.15.3" - esbuild-linux-32 "0.15.3" - esbuild-linux-64 "0.15.3" - esbuild-linux-arm "0.15.3" - esbuild-linux-arm64 "0.15.3" - esbuild-linux-mips64le "0.15.3" - esbuild-linux-ppc64le "0.15.3" - esbuild-linux-riscv64 "0.15.3" - esbuild-linux-s390x "0.15.3" - esbuild-netbsd-64 "0.15.3" - esbuild-openbsd-64 "0.15.3" - esbuild-sunos-64 "0.15.3" - esbuild-windows-32 "0.15.3" - esbuild-windows-64 "0.15.3" - esbuild-windows-arm64 "0.15.3" + "@esbuild/linux-loong64" "0.15.5" + esbuild-android-64 "0.15.5" + esbuild-android-arm64 "0.15.5" + esbuild-darwin-64 "0.15.5" + esbuild-darwin-arm64 "0.15.5" + esbuild-freebsd-64 "0.15.5" + esbuild-freebsd-arm64 "0.15.5" + esbuild-linux-32 "0.15.5" + esbuild-linux-64 "0.15.5" + esbuild-linux-arm "0.15.5" + esbuild-linux-arm64 "0.15.5" + esbuild-linux-mips64le "0.15.5" + esbuild-linux-ppc64le "0.15.5" + esbuild-linux-riscv64 "0.15.5" + esbuild-linux-s390x "0.15.5" + esbuild-netbsd-64 "0.15.5" + esbuild-openbsd-64 "0.15.5" + esbuild-sunos-64 "0.15.5" + esbuild-windows-32 "0.15.5" + esbuild-windows-64 "0.15.5" + esbuild-windows-arm64 "0.15.5" esbuild@^0.14.29: version "0.14.54" @@ -8405,7 +8405,34 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.1, pacote@^13.0.3, pacote@^13.6.1: +pacote@13.6.2: + version "13.6.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" + integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^4.1.0" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^5.1.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + +pacote@^13.0.3, pacote@^13.6.1: version "13.6.1" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.1.tgz#ac6cbd9032b4c16e5c1e0c60138dfe44e4cc589d" integrity sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw== From 7a9d9c2460a834b1f2abce3b4126c8bca4833e88 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 17 Aug 2022 10:10:36 +0000 Subject: [PATCH 0781/1388] docs: release notes for the v14.1.3 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6d8c8da3fcb..6d2a56ae5fde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.1.3 (2022-08-17) + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [365035cb3](https://github.com/angular/angular-cli/commit/365035cb37c57e07cb96e45a38f266b16b4e2fbf) | fix | update workspace extension warning to use correct phrasing | + +## Special Thanks + +AgentEnder, Alan Agius, Charles Lyding and Jason Bedard + + + # 14.2.0-next.1 (2022-08-11) From eab423515105ec56b440032048d8bfb06a77d3fc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 17 Aug 2022 10:45:28 +0000 Subject: [PATCH 0782/1388] release: cut the v14.2.0-next.2 release --- CHANGELOG.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d2a56ae5fde..9ba900420281 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.2.0-next.2 (2022-08-17) + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [db17eac25](https://github.com/angular/angular-cli/commit/db17eac2517e32c3d147ca9e191871b92e6e7888) | fix | update workspace extension warning to use correct phrasing | + +## Special Thanks + +AgentEnder, Alan Agius, Charles Lyding and Jason Bedard + + + # 14.1.3 (2022-08-17) diff --git a/package.json b/package.json index 3f12addaf570..3f23b1c455c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.2.0-next.1", + "version": "14.2.0-next.2", "private": true, "description": "Software Development Kit for Angular", "bin": { From 697993e1e1e62b85e49769a864f87231a822c8d3 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 17 Aug 2022 08:43:02 +0000 Subject: [PATCH 0783/1388] build: lock file maintenance --- yarn.lock | 321 +++++++++++++++++++++--------------------------------- 1 file changed, 124 insertions(+), 197 deletions(-) diff --git a/yarn.lock b/yarn.lock index c44f17dda5aa..89d65f2e5ccf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,6 +129,7 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2": version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" + uid "08f0188fccf98139207fbd5e683533950e9068e2" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" @@ -203,20 +204,13 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.1.2": +"@angular/core@14.1.2", "@angular/core@^13.0.0 || ^14.0.0-0": version "14.1.2" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.2.tgz#1defacaad7494a8dca9e9ba1d4c1fe46009d9e4a" integrity sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow== dependencies: tslib "^2.3.0" -"@angular/core@^13.0.0 || ^14.0.0-0": - version "14.1.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.1.tgz#5c116d76445d85b03a3e6efaa348399722eac476" - integrity sha512-l3ms6/jxIUIeuCkXhz5nhRb94KLQ6wv9+B4lE0aJXcgHTqOmhc/ZIacT51LCjvVcok/vczF3f7w71Ii8b10yKQ== - dependencies: - tslib "^2.3.0" - "@angular/forms@14.1.2": version "14.1.2" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.2.tgz#b141726d74fa41a08eba6e0787460cdbee41a9d2" @@ -242,6 +236,7 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4": version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" + uid a9d380df54092930c4eabbab114c29ac125759f4 resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -1538,10 +1533,10 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.14" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" - integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== +"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1628,9 +1623,9 @@ fastq "^1.6.0" "@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.4.0.tgz#beef01e0b47c682b74cae4c9266f5720bf1cdf0a" - integrity sha512-gWDDQjoRndukgV9DLDXLqgzY2sIbUJ0D7JNgNlLuMFbei4Gm7EWYulpOyIjYxdYXM9b0L3sAniOOlOVMkMNMXA== + version "5.6.0" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.0.tgz#ace635279d0d548df164ac83464237fd5f0175ad" + integrity sha512-gM2AxWCaXTZRZnKOHT6uIUHTkvRf+UPU2iC/3nC1Bj21zemnoKyJh2NvcG69UCcfs+r1jpx6hZ0dL9s2yPssJQ== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -1650,7 +1645,7 @@ minimatch "^5.1.0" mkdirp "^1.0.4" mkdirp-infer-owner "^2.0.0" - nopt "^5.0.0" + nopt "^6.0.0" npm-install-checks "^5.0.0" npm-package-arg "^9.0.0" npm-pick-manifest "^7.0.0" @@ -1674,15 +1669,15 @@ resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== -"@npmcli/config@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.0.tgz#62b5d2b9cbf93fb2bc9f7cc947f25d7659ef849f" - integrity sha512-imWNz5dNWb2u+y41jyxL2WB389tkhu3a01Rchn16O/ur6GrnKySgOqdNG3N/9Z+mqxdISMEGKXI/POCauzz0dA== +"@npmcli/config@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.1.tgz#7a4b46f4a315fe369a3f8543c67fae0b89549a40" + integrity sha512-iJEnXNAGGr7sGUcoKmeJNrc943vFiWrDWq6DNK/t+SuqoObmozMb3tN3G5T9yo3uBf5Cw4h+SWgoqSaiwczl0Q== dependencies: "@npmcli/map-workspaces" "^2.0.2" ini "^3.0.0" mkdirp-infer-owner "^2.0.0" - nopt "^5.0.0" + nopt "^6.0.0" proc-log "^2.0.0" read-package-json-fast "^2.0.3" semver "^7.3.5" @@ -1696,17 +1691,17 @@ ansi-styles "^4.3.0" "@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz#c0c480b03450d8b9fc086816a50cb682668a48bf" - integrity sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg== + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== dependencies: "@gar/promisify" "^1.1.3" semver "^7.3.5" "@npmcli/git@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.1.tgz#049b99b1381a2ddf7dc56ba3e91eaf76ca803a8d" - integrity sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" + integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== dependencies: "@npmcli/promise-spawn" "^3.0.0" lru-cache "^7.4.4" @@ -1747,9 +1742,9 @@ semver "^7.3.5" "@npmcli/move-file@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" - integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== dependencies: mkdirp "^1.0.4" rimraf "^3.0.2" @@ -1787,10 +1782,10 @@ postcss-selector-parser "^6.0.10" semver "^7.3.7" -"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.0.tgz#2c25758f80831ba138afe25225d456e89acedac3" - integrity sha512-e/QgLg7j2wSJp1/7JRl0GC8c7PMX+uYlA/1Tb+IDOLdSM4T7K1VQ9mm9IGU3WRtY5vEIObpqCLb3aCNCug18DA== +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0", "@npmcli/run-script@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" + integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== dependencies: "@npmcli/node-gyp" "^2.0.0" "@npmcli/promise-spawn" "^3.0.0" @@ -2132,9 +2127,9 @@ integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== "@types/inquirer@^8.0.0": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.2.tgz#7ec5f166026b55b10df011521c8a63920cb84a7a" - integrity sha512-HXoFOl+KS4yvmUjisi83VpuSBOeeXIzdJfoT/v2pUruqybpHy0Dz1DyXy3E2jNH0cSVKJZV92VOnFBwJR6k83A== + version "8.2.3" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.3.tgz#985515d04879a0d0c1f5f49ec375767410ba9dab" + integrity sha512-ZlBqD+8WIVNy3KIVkl+Qne6bGLW2erwN0GJXY9Ri/9EMbyupee3xw3H0Mmv5kJoLyNpfd/oHlwKxO0DUDH7yWA== dependencies: "@types/through" "*" @@ -2220,9 +2215,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.6.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.5.tgz#06caea822caf9e59d5034b695186ee74154d2802" - integrity sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw== + version "18.7.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.6.tgz#31743bc5772b6ac223845e18c3fc26f042713c83" + integrity sha512-EdxgKRXgYsNITy5mjjXjVE/CS8YENSdhiagGrLqjG0pvA2owgJ6i4l7wy/PFZGC0B1/H20lWKN7ONVDNYDZm7A== "@types/node@12.20.24": version "12.20.24" @@ -2240,9 +2235,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.23.tgz#70f5f20b0b1b38f696848c1d3647bb95694e615e" - integrity sha512-MhbCWN18R4GhO8ewQWAFK4TGQdBpXWByukz7cWyJmXhvRuCIaM/oWytGPqVmDzgEnnaIc9ss6HbU5mUi+vyZPA== + version "14.18.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.24.tgz#406b220dc748947e1959d8a38a75979e87166704" + integrity sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2786,7 +2781,7 @@ abab@^2.0.3, abab@^2.0.5, abab@^2.0.6: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abbrev@1, abbrev@~1.1.1: +abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== @@ -3240,9 +3235,9 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== bin-links@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.1.tgz#cc70ffb481988b22c527d3e6e454787876987a49" - integrity sha512-9vx+ypzVhASvHTS6K+YSGf7nwQdANoz7v6MTC0aCtYnOEZ87YvMf81aY737EZnGZdpbRM3sfWjO9oWkKmuIvyQ== + version "3.0.2" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.2.tgz#5c40f14b0742faa2ae952caa76b4a29090befcbb" + integrity sha512-+oSWBdbCUK6X4LOCSrU36fWRzZNaK7/evX7GozR9xwl2dyiVi3UOUwTyyOVYI1FstgugfsM9QESRrWo7gjCYbg== dependencies: cmd-shim "^5.0.0" mkdirp-infer-owner "^2.0.0" @@ -3507,7 +3502,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: +cacache@16.1.1: version "16.1.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== @@ -3531,7 +3526,7 @@ cacache@16.1.1, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1 tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.1.2: +cacache@16.1.2, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: version "16.1.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.2.tgz#a519519e9fc9e5e904575dcd3b77660cbf03f749" integrity sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA== @@ -3574,9 +3569,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001374" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz#3dab138e3f5485ba2e74bd13eca7fe1037ce6f57" - integrity sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw== + version "1.0.30001378" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz#3d2159bf5a8f9ca093275b0d3ecc717b00f27b67" + integrity sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA== caseless@~0.12.0: version "0.12.0" @@ -4217,9 +4212,9 @@ decamelize@^1.2.0: integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + version "10.4.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.0.tgz#97a7448873b01e92e5ff9117d89a7bca8e63e0fe" + integrity sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg== decode-uri-component@^0.2.0: version "0.2.0" @@ -4486,9 +4481,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.202: - version "1.4.211" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz#afaa8b58313807501312d598d99b953568d60f91" - integrity sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A== + version "1.4.222" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.222.tgz#2ba24bef613fc1985dbffea85df8f62f2dec6448" + integrity sha512-gEM2awN5HZknWdLbngk4uQCVfhucFAfFzuchP3wM3NN6eow1eDU0dFy2kts43FB20ZfhVFF0jmFSTb1h5OhyIg== emoji-regex@^8.0.0: version "8.0.0" @@ -5167,12 +5162,11 @@ eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: resolve "^1.20.0" eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== dependencies: debug "^3.2.7" - find-up "^2.1.0" eslint-plugin-header@3.1.1: version "3.1.1" @@ -5600,13 +5594,6 @@ find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -6062,9 +6049,9 @@ hosted-git-info@^2.1.4: integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56" - integrity sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q== + version "5.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594" + integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== dependencies: lru-cache "^7.5.1" @@ -6975,14 +6962,14 @@ jszip@^3.1.3, jszip@^3.10.0: setimmediate "^1.0.5" just-diff-apply@^5.2.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.0.tgz#c7698d80a19493e5a3d8dac0deaff499b565d6eb" - integrity sha512-nXI6VsJ3Z+9+qC4LYmxmvs40LY9VwYkACSCxD9lctd2nEtf+Jdf7lbkPuGycnu53gVoIACpPhOJ+8nZYRK9Gcw== + version "5.4.1" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.1.tgz#1debed059ad009863b4db0e8d8f333d743cdd83b" + integrity sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g== just-diff@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.0.tgz#b916c4428cb65c066cda57e1b4851348c4d97ddc" - integrity sha512-Rb0cKJWEOL8/YdXIBYqaWvXjp7VSDRWoGRdlTgP3wy3vdMwhAmLS6QJL26UeS/UDUlScem7NpQCJyY8chl5/3g== + version "5.1.1" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202" + integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ== jwa@^1.4.1: version "1.4.1" @@ -7156,9 +7143,9 @@ libnpmdiff@^4.0.2: tar "^6.1.0" libnpmexec@^4.0.2: - version "4.0.9" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.9.tgz#6bfff09cc05bc60eea023e1c818fa6159ade3954" - integrity sha512-w+m/ximjFJQ1ndGu8dTR3K/sZcmSuetOCflFBkwVFXvf2JPd1BT8ETBrmYISMYBo2kuHn8HzvwZZtAeZBvrZbQ== + version "4.0.11" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.11.tgz#3307fd7b683630268237936a921f5faadd5bfaef" + integrity sha512-uhkAWVT0pA1kVgqgTjIMVebOPl3PpIvVcRQ1IBV47ppVxmQr+JCjDahrV0K/0JUsKSVFozyGEEmg1Kz0HwRwzw== dependencies: "@npmcli/arborist" "^5.0.0" "@npmcli/ci-detect" "^2.0.0" @@ -7313,14 +7300,6 @@ localtunnel@^2.0.1: openurl "1.1.1" yargs "17.1.1" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -7455,9 +7434,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.13.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.2.tgz#bb5d3f1deea3f3a7a35c1c44345566a612e09cd0" - integrity sha512-VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA== + version "7.14.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" + integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== lru-queue@^0.1.0: version "0.1.0" @@ -7513,9 +7492,9 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz#0bde3914f2f82750b5d48c6d2294d2c74f985e5b" - integrity sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg== + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== dependencies: agentkeepalive "^4.2.1" cacache "^16.1.0" @@ -7919,7 +7898,7 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== -node-gyp@^9.0.0: +node-gyp@^9.0.0, node-gyp@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8" integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g== @@ -7955,6 +7934,13 @@ nopt@^5.0.0: dependencies: abbrev "1" +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + normalize-package-data@^2.0.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -7966,9 +7952,9 @@ normalize-package-data@^2.0.0: validate-npm-package-license "^3.0.1" normalize-package-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.0.tgz#1122d5359af21d4cd08718b92b058a658594177c" - integrity sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g== + version "4.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== dependencies: hosted-git-info "^5.0.0" is-core-module "^2.8.1" @@ -8050,9 +8036,9 @@ npm-profile@^6.2.0: proc-log "^2.0.0" npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz#0ce10fa4a699a1e70685ecf41bbfb4150d74231b" - integrity sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg== + version "13.3.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" + integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== dependencies: make-fetch-happen "^10.0.6" minipass "^3.1.6" @@ -8075,18 +8061,18 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.16.0.tgz#d385060093f3af10fabe6d8205d41bbf2a34ff9d" - integrity sha512-UfLT/hCbcpV9uiTEBthyrOlQxwk8LG5tAGn283g7f7pRx41KcwFiHV7HYgYm2y2GabfnPtf897ptrXRQwxJWzQ== + version "8.17.0" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.17.0.tgz#05c77fb2794daa3d9b2cd0460859f1f9dc596676" + integrity sha512-tIcfZd541v86Sqrf+t/GW6ivqiT8b/2b3EAjNw3vRe+eVnL4mlkVwu17hjCOrsPVntLb5C6tQG4jPUE5Oveeyw== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" "@npmcli/ci-detect" "^2.0.0" - "@npmcli/config" "^4.2.0" + "@npmcli/config" "^4.2.1" "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^4.2.0" + "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" cacache "^16.1.1" @@ -8120,8 +8106,8 @@ npm@^8.11.0: mkdirp "^1.0.4" mkdirp-infer-owner "^2.0.0" ms "^2.1.2" - node-gyp "^9.0.0" - nopt "^5.0.0" + node-gyp "^9.1.0" + nopt "^6.0.0" npm-audit-report "^3.0.0" npm-install-checks "^5.0.0" npm-package-arg "^9.1.0" @@ -8199,9 +8185,9 @@ object-keys@^1.1.1: integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.3.tgz#d36b7700ddf0019abb6b1df1bb13f6445f79051f" - integrity sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA== + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" @@ -8338,13 +8324,6 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -8359,13 +8338,6 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -8395,17 +8367,12 @@ p-retry@^4.5.0: "@types/retry" "0.12.0" retry "^0.13.1" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.2: +pacote@13.6.2, pacote@^13.0.3, pacote@^13.6.1: version "13.6.2" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== @@ -8432,33 +8399,6 @@ pacote@13.6.2: ssri "^9.0.0" tar "^6.1.11" -pacote@^13.0.3, pacote@^13.6.1: - version "13.6.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.1.tgz#ac6cbd9032b4c16e5c1e0c60138dfe44e4cc589d" - integrity sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw== - dependencies: - "@npmcli/git" "^3.0.0" - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/promise-spawn" "^3.0.0" - "@npmcli/run-script" "^4.1.0" - cacache "^16.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - infer-owner "^1.0.4" - minipass "^3.1.6" - mkdirp "^1.0.4" - npm-package-arg "^9.0.0" - npm-packlist "^5.1.0" - npm-pick-manifest "^7.0.0" - npm-registry-fetch "^13.0.1" - proc-log "^2.0.0" - promise-retry "^2.0.1" - read-package-json "^5.0.0" - read-package-json-fast "^2.0.3" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - pako@^0.2.5: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -8549,11 +8489,6 @@ parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -8917,7 +8852,7 @@ postcss-place@^7.0.4, postcss-place@^7.0.5: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: +postcss-preset-env@7.7.2: version "7.7.2" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz#769f7f21779b4688c9a6082ae1572416cab415cf" integrity sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA== @@ -8970,7 +8905,7 @@ postcss-preset-env@7.7.2, postcss-preset-env@^7.4.2: postcss-selector-not "^6.0.0" postcss-value-parser "^4.2.0" -postcss-preset-env@7.8.0: +postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2: version "7.8.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz#5bd3ad53b2ef02edd41645d1ffee1ff8a49f24e5" integrity sha512-leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA== @@ -9375,9 +9310,9 @@ read-cache@^1.0.0: pify "^2.3.0" read-cmd-shim@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155" - integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog== + version "3.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" + integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== read-installed@~4.0.3: version "4.0.3" @@ -9742,9 +9677,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.77.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3" - integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g== + version "2.78.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e" + integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== optionalDependencies: fsevents "~2.3.2" @@ -9818,7 +9753,7 @@ sass@1.54.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.4: +sass@1.54.4, sass@^1.49.9: version "1.54.4" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.4.tgz#803ff2fef5525f1dd01670c3915b4b68b6cba72d" integrity sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA== @@ -9827,17 +9762,9 @@ sass@1.54.4: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.49.9: - version "1.54.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.3.tgz#37baa2652f7f1fdadb73240ee9a2b9b81fabb5c4" - integrity sha512-fLodey5Qd41Pxp/Tk7Al97sViYwF/TazRc5t6E65O7JOk4XF8pzwIW7CvCxYVOfJFFI/1x5+elDyBIixrp+zrw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10635,17 +10562,17 @@ tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: yallist "^4.0.0" terser-webpack-plugin@^5.1.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90" - integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ== + version "5.3.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz#f7d82286031f915a4f8fb81af4bd35d2e3c011bc" + integrity sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA== dependencies: - "@jridgewell/trace-mapping" "^0.3.7" + "@jridgewell/trace-mapping" "^0.3.14" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" - terser "^5.7.2" + terser "^5.14.1" -terser@5.14.2, terser@^5.7.2: +terser@5.14.2, terser@^5.14.1: version "5.14.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== @@ -10954,9 +10881,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.16.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.3.tgz#94c7a63337ee31227a18d03b8a3041c210fd1f1d" - integrity sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw== + version "3.17.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85" + integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg== unbox-primitive@^1.0.2: version "1.0.2" @@ -11556,9 +11483,9 @@ wrappy@1: integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" @@ -11747,8 +11674,8 @@ z-schema@~5.0.2: commander "^2.20.3" zone.js@^0.11.3: - version "0.11.7" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.7.tgz#262194267c7b964e8da77ce16b9fba9bea23cfdc" - integrity sha512-e39K2EdK5JfA3FDuUTVRvPlYV4aBfnOOcGuILhQAT7nzeV12uSrLBzImUM9CDVoncDSX4brR/gwqu0heQ3BQ0g== + version "0.11.8" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.8.tgz#40dea9adc1ad007b5effb2bfed17f350f1f46a21" + integrity sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA== dependencies: tslib "^2.3.0" From 1b349f1e1ce1cf94c73ed5d3478f3879d97001e4 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 17 Aug 2022 11:01:55 -0700 Subject: [PATCH 0784/1388] release: bump the next branch to v14.3.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f23b1c455c5..98be859a3ecf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.2.0-next.2", + "version": "14.3.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From 812c0e6940221ca119fc579c9953dd9a04e7beea Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 17 Aug 2022 11:01:58 -0700 Subject: [PATCH 0785/1388] docs: release notes for the v14.2.0-rc.0 release --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ba900420281..e4e194d2c57d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ + + +# 14.2.0-rc.0 (2022-08-17) + + + # 14.2.0-next.2 (2022-08-17) From 48dec89e91730e16d4e90ec32ea62fc8d43b7cd6 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 19 Aug 2022 22:02:52 +0200 Subject: [PATCH 0786/1388] build: update to TypeScript 4.8 RC Updates to the TypeScript 4.8 RC and adds some code to account for a breaking change where the decorators and modifiers of an AST node have been combined into a single array. --- package.json | 30 +- .../angular_devkit/build_angular/package.json | 2 +- .../core/src/json/schema/registry.ts | 2 +- packages/ngtools/webpack/package.json | 4 +- .../src/transformers/elide_imports_spec.ts | 2 +- .../src/transformers/replace_resources.ts | 111 +- .../Microsoft/TypeScript/BUILD.bazel | 8 +- .../Microsoft/TypeScript/lib/typescript.d.ts | 698 +- .../Microsoft/TypeScript/lib/typescript.js | 13621 ++++++++++------ yarn.lock | 130 +- 10 files changed, 9685 insertions(+), 4923 deletions(-) diff --git a/package.json b/package.json index 98be859a3ecf..d1b971818e3c 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.1.2", + "@angular/animations": "14.2.0-rc.0", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2", - "@angular/cdk": "14.1.2", - "@angular/common": "14.1.2", - "@angular/compiler": "14.1.2", - "@angular/compiler-cli": "14.1.2", - "@angular/core": "14.1.2", - "@angular/forms": "14.1.2", - "@angular/localize": "14.1.2", - "@angular/material": "14.1.2", + "@angular/cdk": "14.2.0-next.2", + "@angular/common": "14.2.0-rc.0", + "@angular/compiler": "14.2.0-rc.0", + "@angular/compiler-cli": "14.2.0-rc.0", + "@angular/core": "14.2.0-rc.0", + "@angular/forms": "14.2.0-rc.0", + "@angular/localize": "14.2.0-rc.0", + "@angular/material": "14.2.0-next.2", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4", - "@angular/platform-browser": "14.1.2", - "@angular/platform-browser-dynamic": "14.1.2", - "@angular/platform-server": "14.1.2", - "@angular/router": "14.1.2", - "@angular/service-worker": "14.1.2", + "@angular/platform-browser": "14.2.0-rc.0", + "@angular/platform-browser-dynamic": "14.2.0-rc.0", + "@angular/platform-server": "14.2.0-rc.0", + "@angular/router": "14.2.0-rc.0", + "@angular/service-worker": "14.2.0-rc.0", "@babel/core": "7.18.10", "@babel/generator": "7.18.12", "@babel/helper-annotate-as-pure": "7.18.6", @@ -214,7 +214,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "~4.7.2", + "typescript": "4.8.1-rc", "verdaccio": "5.14.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index eae1c9546a88..22ab242de585 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -80,7 +80,7 @@ "ng-packagr": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.6.2 <4.8" + "typescript": ">=4.6.2 <4.9" }, "peerDependenciesMeta": { "@angular/localize": { diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts index eca6355f2bc7..d22f0be623c9 100644 --- a/packages/angular_devkit/core/src/json/schema/registry.ts +++ b/packages/angular_devkit/core/src/json/schema/registry.ts @@ -649,7 +649,7 @@ export class CoreSchemaRegistry implements SchemaRegistry { } let value = source(schema); - if (isObservable(value)) { + if (isObservable<{}>(value)) { value = await value.toPromise(); } diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index d700f0273cf7..04bc587c5bc4 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -23,14 +23,14 @@ "dependencies": {}, "peerDependencies": { "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", - "typescript": ">=4.6.2 <4.8", + "typescript": ">=4.6.2 <4.9", "webpack": "^5.54.0" }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.1.2", "@angular/compiler-cli": "14.1.2", - "typescript": "~4.7.2", + "typescript": "4.8.1-rc", "webpack": "5.74.0" } } diff --git a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts index 93edab8c7315..196cbf3b6d8b 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts @@ -773,7 +773,7 @@ describe('@ngtools/webpack transformers', () => { ): ts.Transformer => { const visit: ts.Visitor = (node) => { if (ts.isShorthandPropertyAssignment(node)) { - return ts.createPropertyAssignment(node.name, node.name); + return ts.factory.createPropertyAssignment(node.name, node.name); } return ts.visitEachChild(node, (child) => visit(child), context); diff --git a/packages/ngtools/webpack/src/transformers/replace_resources.ts b/packages/ngtools/webpack/src/transformers/replace_resources.ts index 36ddef728a43..efa5acee25b6 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources.ts @@ -11,6 +11,9 @@ import { InlineAngularResourceLoaderPath } from '../loaders/inline-resource'; export const NG_COMPONENT_RESOURCE_QUERY = 'ngResource'; +/** Whether the current version of TypeScript is after 4.8. */ +const IS_TS_48 = isAfterVersion(4, 8); + export function replaceResources( shouldTransform: (fileName: string) => boolean, getTypeChecker: () => ts.TypeChecker, @@ -24,27 +27,13 @@ export function replaceResources( const visitNode: ts.Visitor = (node: ts.Node) => { if (ts.isClassDeclaration(node)) { - const decorators = ts.visitNodes(node.decorators, (node) => - ts.isDecorator(node) - ? visitDecorator( - nodeFactory, - node, - typeChecker, - resourceImportDeclarations, - moduleKind, - inlineStyleFileExtension, - ) - : node, - ); - - return nodeFactory.updateClassDeclaration( + return visitClassDeclaration( + nodeFactory, + typeChecker, node, - decorators, - node.modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - node.members, + resourceImportDeclarations, + moduleKind, + inlineStyleFileExtension, ); } @@ -76,6 +65,75 @@ export function replaceResources( }; } +/** + * Replaces the resources inside of a `ClassDeclaration`. This is a backwards-compatibility layer + * to support TypeScript versions older than 4.8 where the decorators of a node were in a separate + * array, rather than being part of its `modifiers` array. + * + * TODO: remove this function and use the `NodeFactory` directly once support for TypeScript + * 4.6 and 4.7 has been dropped. + */ +function visitClassDeclaration( + nodeFactory: ts.NodeFactory, + typeChecker: ts.TypeChecker, + node: ts.ClassDeclaration, + resourceImportDeclarations: ts.ImportDeclaration[], + moduleKind: ts.ModuleKind | undefined, + inlineStyleFileExtension: string | undefined, +): ts.ClassDeclaration { + let decorators: ts.Decorator[] | undefined; + let modifiers: ts.Modifier[] | undefined; + + if (IS_TS_48) { + node.modifiers?.forEach((modifier) => { + if (ts.isDecorator(modifier)) { + decorators ??= []; + decorators.push(modifier); + } else { + modifiers = modifiers ??= []; + modifiers.push(modifier); + } + }); + } else { + decorators = node.decorators as unknown as ts.Decorator[]; + modifiers = node.modifiers as unknown as ts.Modifier[]; + } + + if (!decorators || decorators.length === 0) { + return node; + } + + decorators = decorators.map((current) => + visitDecorator( + nodeFactory, + current, + typeChecker, + resourceImportDeclarations, + moduleKind, + inlineStyleFileExtension, + ), + ); + + return IS_TS_48 + ? nodeFactory.updateClassDeclaration( + node, + [...decorators, ...(modifiers ?? [])], + node.name, + node.typeParameters, + node.heritageClauses, + node.members, + ) + : nodeFactory.updateClassDeclaration( + node, + decorators, + modifiers, + node.name, + node.typeParameters, + node.heritageClauses, + node.members, + ); +} + function visitDecorator( nodeFactory: ts.NodeFactory, node: ts.Decorator, @@ -327,3 +385,16 @@ function getDecoratorOrigin( return null; } + +/** Checks if the current version of TypeScript is after the specified major/minor versions. */ +function isAfterVersion(targetMajor: number, targetMinor: number): boolean { + const [major, minor] = ts.versionMajorMinor.split('.').map((part) => parseInt(part)); + + if (major < targetMajor) { + return false; + } else if (major > targetMajor) { + return true; + } else { + return minor >= targetMinor; + } +} diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index 23be65fe0fb7..641ef54167f6 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,11 +1,11 @@ load("//tools:defaults.bzl", "ts_library") -# files fetched on 2022-05-25 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.7.2 +# files fetched on 2022-08-18 from +# https://github.com/microsoft/TypeScript/releases/tag/v4.8-rc # Commands to download: -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7.2/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.7.2/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8-rc/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8-rc/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js licenses(["notice"]) # Apache 2.0 diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts index fb0a5a0c1e75..3ea4fe3130e4 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts @@ -14,7 +14,7 @@ and limitations under the License. ***************************************************************************** */ declare namespace ts { - const versionMajorMinor = "4.7"; + const versionMajorMinor = "4.8"; /** The version of the TypeScript compiler release */ const version: string; /** @@ -425,6 +425,7 @@ declare namespace ts { JSDocFunctionType = 317, JSDocVariadicType = 318, JSDocNamepathType = 319, + JSDoc = 320, /** @deprecated Use SyntaxKind.JSDoc */ JSDocComment = 320, JSDocText = 321, @@ -493,7 +494,6 @@ declare namespace ts { LastJSDocNode = 347, FirstJSDocTagNode = 327, LastJSDocTagNode = 347, - JSDoc = 320 } export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia; export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral; @@ -554,13 +554,15 @@ declare namespace ts { Override = 16384, In = 32768, Out = 65536, + Decorator = 131072, HasComputedFlags = 536870912, AccessibilityModifier = 28, ParameterPropertyModifier = 16476, NonPublicAccessibilityModifier = 24, TypeScriptModifier = 116958, ExportDefault = 513, - All = 125951 + All = 257023, + Modifier = 125951 } export enum JsxFlags { None = 0, @@ -573,8 +575,6 @@ declare namespace ts { export interface Node extends ReadonlyTextRange { readonly kind: SyntaxKind; readonly flags: NodeFlags; - readonly decorators?: NodeArray; - readonly modifiers?: ModifiersArray; readonly parent: Node; } export interface JSDocContainer { @@ -583,7 +583,9 @@ declare namespace ts { export type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType; export type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement; export type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute; - export type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertySignature | PropertyDeclaration | PropertyAssignment | EnumMember; + export type HasExpressionInitializer = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | EnumMember; + export type HasDecorators = ParameterDeclaration | PropertyDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ClassExpression | ClassDeclaration; + export type HasModifiers = TypeParameterDeclaration | ParameterDeclaration | ConstructorTypeNode | PropertySignature | PropertyDeclaration | MethodSignature | MethodDeclaration | ConstructorDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | IndexSignatureDeclaration | FunctionExpression | ArrowFunction | ClassExpression | VariableStatement | FunctionDeclaration | ClassDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | ExportAssignment | ExportDeclaration; export interface NodeArray extends ReadonlyArray, ReadonlyTextRange { readonly hasTrailingComma: boolean; } @@ -632,6 +634,7 @@ declare namespace ts { /** @deprecated Use `ReadonlyKeyword` instead. */ export type ReadonlyToken = ReadonlyKeyword; export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword; + export type ModifierLike = Modifier | Decorator; export type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword; export type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword; export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword; @@ -691,6 +694,7 @@ declare namespace ts { export interface TypeParameterDeclaration extends NamedDeclaration { readonly kind: SyntaxKind.TypeParameter; readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode; + readonly modifiers?: NodeArray; readonly name: Identifier; /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ readonly constraint?: TypeNode; @@ -700,9 +704,9 @@ declare namespace ts { export interface SignatureDeclarationBase extends NamedDeclaration, JSDocContainer { readonly kind: SignatureDeclaration["kind"]; readonly name?: PropertyName; - readonly typeParameters?: NodeArray; + readonly typeParameters?: NodeArray | undefined; readonly parameters: NodeArray; - readonly type?: TypeNode; + readonly type?: TypeNode | undefined; } export type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction; export interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { @@ -728,6 +732,7 @@ declare namespace ts { export interface ParameterDeclaration extends NamedDeclaration, JSDocContainer { readonly kind: SyntaxKind.Parameter; readonly parent: SignatureDeclaration; + readonly modifiers?: NodeArray; readonly dotDotDotToken?: DotDotDotToken; readonly name: BindingName; readonly questionToken?: QuestionToken; @@ -744,14 +749,15 @@ declare namespace ts { } export interface PropertySignature extends TypeElement, JSDocContainer { readonly kind: SyntaxKind.PropertySignature; + readonly modifiers?: NodeArray; readonly name: PropertyName; readonly questionToken?: QuestionToken; readonly type?: TypeNode; - initializer?: Expression; } export interface PropertyDeclaration extends ClassElement, JSDocContainer { readonly kind: SyntaxKind.PropertyDeclaration; readonly parent: ClassLikeDeclaration; + readonly modifiers?: NodeArray; readonly name: PropertyName; readonly questionToken?: QuestionToken; readonly exclamationToken?: ExclamationToken; @@ -768,16 +774,12 @@ declare namespace ts { readonly kind: SyntaxKind.PropertyAssignment; readonly parent: ObjectLiteralExpression; readonly name: PropertyName; - readonly questionToken?: QuestionToken; - readonly exclamationToken?: ExclamationToken; readonly initializer: Expression; } export interface ShorthandPropertyAssignment extends ObjectLiteralElement, JSDocContainer { readonly kind: SyntaxKind.ShorthandPropertyAssignment; readonly parent: ObjectLiteralExpression; readonly name: Identifier; - readonly questionToken?: QuestionToken; - readonly exclamationToken?: ExclamationToken; readonly equalsToken?: EqualsToken; readonly objectAssignmentInitializer?: Expression; } @@ -812,34 +814,38 @@ declare namespace ts { */ export interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { _functionLikeDeclarationBrand: any; - readonly asteriskToken?: AsteriskToken; - readonly questionToken?: QuestionToken; - readonly exclamationToken?: ExclamationToken; - readonly body?: Block | Expression; + readonly asteriskToken?: AsteriskToken | undefined; + readonly questionToken?: QuestionToken | undefined; + readonly exclamationToken?: ExclamationToken | undefined; + readonly body?: Block | Expression | undefined; } export type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction; /** @deprecated Use SignatureDeclaration */ export type FunctionLike = SignatureDeclaration; export interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { readonly kind: SyntaxKind.FunctionDeclaration; + readonly modifiers?: NodeArray; readonly name?: Identifier; readonly body?: FunctionBody; } export interface MethodSignature extends SignatureDeclarationBase, TypeElement { readonly kind: SyntaxKind.MethodSignature; readonly parent: ObjectTypeDeclaration; + readonly modifiers?: NodeArray; readonly name: PropertyName; } export interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer { readonly kind: SyntaxKind.MethodDeclaration; readonly parent: ClassLikeDeclaration | ObjectLiteralExpression; + readonly modifiers?: NodeArray | undefined; readonly name: PropertyName; - readonly body?: FunctionBody; + readonly body?: FunctionBody | undefined; } export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer { readonly kind: SyntaxKind.Constructor; readonly parent: ClassLikeDeclaration; - readonly body?: FunctionBody; + readonly modifiers?: NodeArray | undefined; + readonly body?: FunctionBody | undefined; } /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ export interface SemicolonClassElement extends ClassElement { @@ -849,12 +855,14 @@ declare namespace ts { export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer { readonly kind: SyntaxKind.GetAccessor; readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; readonly name: PropertyName; readonly body?: FunctionBody; } export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer { readonly kind: SyntaxKind.SetAccessor; readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; readonly name: PropertyName; readonly body?: FunctionBody; } @@ -862,6 +870,7 @@ declare namespace ts { export interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { readonly kind: SyntaxKind.IndexSignature; readonly parent: ObjectTypeDeclaration; + readonly modifiers?: NodeArray; readonly type: TypeNode; } export interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer { @@ -901,6 +910,7 @@ declare namespace ts { } export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { readonly kind: SyntaxKind.ConstructorType; + readonly modifiers?: NodeArray; } export interface NodeWithTypeArguments extends TypeNode { readonly typeArguments?: NodeArray; @@ -1157,11 +1167,13 @@ declare namespace ts { export type ConciseBody = FunctionBody | Expression; export interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer { readonly kind: SyntaxKind.FunctionExpression; + readonly modifiers?: NodeArray; readonly name?: Identifier; readonly body: FunctionBody; } export interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer { readonly kind: SyntaxKind.ArrowFunction; + readonly modifiers?: NodeArray; readonly equalsGreaterThanToken: EqualsGreaterThanToken; readonly body: ConciseBody; readonly name: never; @@ -1388,8 +1400,9 @@ declare namespace ts { readonly kind: SyntaxKind.JsxAttribute; readonly parent: JsxAttributes; readonly name: Identifier; - readonly initializer?: StringLiteral | JsxExpression; + readonly initializer?: JsxAttributeValue; } + export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment; export interface JsxSpreadAttribute extends ObjectLiteralElement { readonly kind: SyntaxKind.JsxSpreadAttribute; readonly parent: JsxAttributes; @@ -1442,6 +1455,7 @@ declare namespace ts { } export interface VariableStatement extends Statement { readonly kind: SyntaxKind.VariableStatement; + readonly modifiers?: NodeArray; readonly declarationList: VariableDeclarationList; } export interface ExpressionStatement extends Statement { @@ -1558,11 +1572,13 @@ declare namespace ts { } export interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { readonly kind: SyntaxKind.ClassDeclaration; + readonly modifiers?: NodeArray; /** May be undefined in `export default class { ... }`. */ readonly name?: Identifier; } export interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { readonly kind: SyntaxKind.ClassExpression; + readonly modifiers?: NodeArray; } export type ClassLikeDeclaration = ClassDeclaration | ClassExpression; export interface ClassElement extends NamedDeclaration { @@ -1572,10 +1588,11 @@ declare namespace ts { export interface TypeElement extends NamedDeclaration { _typeElementBrand: any; readonly name?: PropertyName; - readonly questionToken?: QuestionToken; + readonly questionToken?: QuestionToken | undefined; } export interface InterfaceDeclaration extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.InterfaceDeclaration; + readonly modifiers?: NodeArray; readonly name: Identifier; readonly typeParameters?: NodeArray; readonly heritageClauses?: NodeArray; @@ -1589,6 +1606,7 @@ declare namespace ts { } export interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.TypeAliasDeclaration; + readonly modifiers?: NodeArray; readonly name: Identifier; readonly typeParameters?: NodeArray; readonly type: TypeNode; @@ -1601,6 +1619,7 @@ declare namespace ts { } export interface EnumDeclaration extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.EnumDeclaration; + readonly modifiers?: NodeArray; readonly name: Identifier; readonly members: NodeArray; } @@ -1609,6 +1628,7 @@ declare namespace ts { export interface ModuleDeclaration extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.ModuleDeclaration; readonly parent: ModuleBody | SourceFile; + readonly modifiers?: NodeArray; readonly name: ModuleName; readonly body?: ModuleBody | JSDocNamespaceDeclaration; } @@ -1636,6 +1656,7 @@ declare namespace ts { export interface ImportEqualsDeclaration extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.ImportEqualsDeclaration; readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; readonly name: Identifier; readonly isTypeOnly: boolean; readonly moduleReference: ModuleReference; @@ -1648,6 +1669,7 @@ declare namespace ts { export interface ImportDeclaration extends Statement { readonly kind: SyntaxKind.ImportDeclaration; readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; readonly importClause?: ImportClause; /** If this is not a StringLiteral it will be a grammar error. */ readonly moduleSpecifier: Expression; @@ -1692,6 +1714,7 @@ declare namespace ts { export interface ExportDeclaration extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.ExportDeclaration; readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; readonly isTypeOnly: boolean; /** Will not be assigned in the case of `export * from "foo";` */ readonly exportClause?: NamedExportBindings; @@ -1759,6 +1782,7 @@ declare namespace ts { export interface ExportAssignment extends DeclarationStatement, JSDocContainer { readonly kind: SyntaxKind.ExportAssignment; readonly parent: SourceFile; + readonly modifiers?: NodeArray; readonly isExportEquals?: boolean; readonly expression: Expression; } @@ -2072,6 +2096,12 @@ declare namespace ts { * It is _public_ so that (pre)transformers can set this field, * since it switches the builtin `node` module transform. Generally speaking, if unset, * the field is treated as though it is `ModuleKind.CommonJS`. + * + * Note that this field is only set by the module resolution process when + * `moduleResolution` is `Node16` or `NodeNext`, which is implied by the `module` setting + * of `Node16` or `NodeNext`, respectively, but may be overriden (eg, by a `moduleResolution` + * of `node`). If so, this field will be unset and source files will be considered to be + * CommonJS-output-format by the node module transformer and type checker, regardless of extension or context. */ impliedNodeFormat?: ModuleKind.ESNext | ModuleKind.CommonJS; } @@ -2396,6 +2426,7 @@ declare namespace ts { UseAliasDefinedOutsideCurrentScope = 16384, UseSingleQuotesForStringLiteralType = 268435456, NoTypeReduction = 536870912, + OmitThisParameter = 33554432, AllowThisInObjectLiteral = 32768, AllowQualifiedNameInPlaceOfIdentifier = 65536, /** @deprecated AllowQualifedNameInPlaceOfIdentifier. Use AllowQualifiedNameInPlaceOfIdentifier instead. */ @@ -2426,6 +2457,7 @@ declare namespace ts { UseAliasDefinedOutsideCurrentScope = 16384, UseSingleQuotesForStringLiteralType = 268435456, NoTypeReduction = 536870912, + OmitThisParameter = 33554432, AllowUniqueESSymbolType = 1048576, AddUndefined = 131072, WriteArrowStyleSignature = 262144, @@ -2434,7 +2466,7 @@ declare namespace ts { InFirstTypeArgument = 4194304, InTypeAlias = 8388608, /** @deprecated */ WriteOwnNameForAnyLike = 0, - NodeBuilderFlagsMask = 814775659 + NodeBuilderFlagsMask = 848330091 } export enum SymbolFormatFlags { None = 0, @@ -3402,39 +3434,35 @@ declare namespace ts { createComputedPropertyName(expression: Expression): ComputedPropertyName; updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName; createTypeParameterDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; - /** @deprecated */ - createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; updateTypeParameterDeclaration(node: TypeParameterDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; - /** @deprecated */ - updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; - createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; - updateParameterDeclaration(node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + createParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + updateParameterDeclaration(node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; createDecorator(expression: Expression): Decorator; updateDecorator(node: Decorator, expression: Expression): Decorator; createPropertySignature(modifiers: readonly Modifier[] | undefined, name: PropertyName | string, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature; updatePropertySignature(node: PropertySignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined): PropertySignature; - createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; - updatePropertyDeclaration(node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + createPropertyDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + updatePropertyDeclaration(node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; createMethodSignature(modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): MethodSignature; updateMethodSignature(node: MethodSignature, modifiers: readonly Modifier[] | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): MethodSignature; - createMethodDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; - updateMethodDeclaration(node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; - createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; - updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; - createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; - updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; - createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; - updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + createMethodDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + updateMethodDeclaration(node: MethodDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + createConstructorDeclaration(modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + updateConstructorDeclaration(node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + createGetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + updateGetAccessorDeclaration(node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + createSetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + updateSetAccessorDeclaration(node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; createCallSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): CallSignatureDeclaration; updateCallSignature(node: CallSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): CallSignatureDeclaration; createConstructSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined): ConstructSignatureDeclaration; updateConstructSignature(node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined): ConstructSignatureDeclaration; - createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; - updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; + createIndexSignature(modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; + updateIndexSignature(node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; createTemplateLiteralTypeSpan(type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan; updateTemplateLiteralTypeSpan(node: TemplateLiteralTypeSpan, type: TypeNode, literal: TemplateMiddle | TemplateTail): TemplateLiteralTypeSpan; - createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration; - updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration; + createClassStaticBlockDeclaration(body: Block): ClassStaticBlockDeclaration; + updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, body: Block): ClassStaticBlockDeclaration; createKeywordTypeNode(kind: TKind): KeywordTypeNode; createTypePredicateNode(assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode | string, type: TypeNode | undefined): TypePredicateNode; updateTypePredicateNode(node: TypePredicateNode, assertsModifier: AssertsKeyword | undefined, parameterName: Identifier | ThisTypeNode, type: TypeNode | undefined): TypePredicateNode; @@ -3443,11 +3471,7 @@ declare namespace ts { createFunctionTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): FunctionTypeNode; updateFunctionTypeNode(node: FunctionTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode): FunctionTypeNode; createConstructorTypeNode(modifiers: readonly Modifier[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode; - /** @deprecated */ - createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode; updateConstructorTypeNode(node: ConstructorTypeNode, modifiers: readonly Modifier[] | undefined, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode): ConstructorTypeNode; - /** @deprecated */ - updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode): ConstructorTypeNode; createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode; updateTypeQueryNode(node: TypeQueryNode, exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode; createTypeLiteralNode(members: readonly TypeElement[] | undefined): TypeLiteralNode; @@ -3470,9 +3494,7 @@ declare namespace ts { updateConditionalTypeNode(node: ConditionalTypeNode, checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode; createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode; updateInferTypeNode(node: InferTypeNode, typeParameter: TypeParameterDeclaration): InferTypeNode; - createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode; createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode; - updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode; updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode; createParenthesizedType(type: TypeNode): ParenthesizedTypeNode; updateParenthesizedType(node: ParenthesizedTypeNode, type: TypeNode): ParenthesizedTypeNode; @@ -3552,8 +3574,8 @@ declare namespace ts { updateYieldExpression(node: YieldExpression, asteriskToken: AsteriskToken | undefined, expression: Expression | undefined): YieldExpression; createSpreadElement(expression: Expression): SpreadElement; updateSpreadElement(node: SpreadElement, expression: Expression): SpreadElement; - createClassExpression(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; - updateClassExpression(node: ClassExpression, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; + createClassExpression(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; + updateClassExpression(node: ClassExpression, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; createOmittedExpression(): OmittedExpression; createExpressionWithTypeArguments(expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments; updateExpressionWithTypeArguments(node: ExpressionWithTypeArguments, expression: Expression, typeArguments: readonly TypeNode[] | undefined): ExpressionWithTypeArguments; @@ -3608,28 +3630,28 @@ declare namespace ts { updateVariableDeclaration(node: VariableDeclaration, name: BindingName, exclamationToken: ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): VariableDeclaration; createVariableDeclarationList(declarations: readonly VariableDeclaration[], flags?: NodeFlags): VariableDeclarationList; updateVariableDeclarationList(node: VariableDeclarationList, declarations: readonly VariableDeclaration[]): VariableDeclarationList; - createFunctionDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; - updateFunctionDeclaration(node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; - createClassDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; - updateClassDeclaration(node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; - createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; - updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; - createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; - updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; - createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration; - updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration; - createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; - updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + createFunctionDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + updateFunctionDeclaration(node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + createClassDeclaration(modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + updateClassDeclaration(node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + createInterfaceDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + updateInterfaceDeclaration(node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + createTypeAliasDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + updateTypeAliasDeclaration(node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + createEnumDeclaration(modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration; + updateEnumDeclaration(node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration; + createModuleDeclaration(modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + updateModuleDeclaration(node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; createModuleBlock(statements: readonly Statement[]): ModuleBlock; updateModuleBlock(node: ModuleBlock, statements: readonly Statement[]): ModuleBlock; createCaseBlock(clauses: readonly CaseOrDefaultClause[]): CaseBlock; updateCaseBlock(node: CaseBlock, clauses: readonly CaseOrDefaultClause[]): CaseBlock; createNamespaceExportDeclaration(name: string | Identifier): NamespaceExportDeclaration; updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, name: Identifier): NamespaceExportDeclaration; - createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; - updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; - createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration; - updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; + createImportEqualsDeclaration(modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + updateImportEqualsDeclaration(node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + createImportDeclaration(modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration; + updateImportDeclaration(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; createImportClause(isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; updateImportClause(node: ImportClause, isTypeOnly: boolean, name: Identifier | undefined, namedBindings: NamedImportBindings | undefined): ImportClause; createAssertClause(elements: NodeArray, multiLine?: boolean): AssertClause; @@ -3646,10 +3668,10 @@ declare namespace ts { updateNamedImports(node: NamedImports, elements: readonly ImportSpecifier[]): NamedImports; createImportSpecifier(isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; updateImportSpecifier(node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier): ImportSpecifier; - createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; - updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment; - createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration; - updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration; + createExportAssignment(modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + updateExportAssignment(node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment; + createExportDeclaration(modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration; + updateExportDeclaration(node: ExportDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration; createNamedExports(elements: readonly ExportSpecifier[]): NamedExports; updateNamedExports(node: NamedExports, elements: readonly ExportSpecifier[]): NamedExports; createExportSpecifier(isTypeOnly: boolean, propertyName: string | Identifier | undefined, name: string | Identifier): ExportSpecifier; @@ -3746,8 +3768,8 @@ declare namespace ts { createJsxOpeningFragment(): JsxOpeningFragment; createJsxJsxClosingFragment(): JsxClosingFragment; updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment; - createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute; - updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute; + createJsxAttribute(name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute; + updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute; createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes; updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes; createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute; @@ -4055,7 +4077,7 @@ declare namespace ts { NoSpaceIfEmpty = 524288, SingleElement = 1048576, SpaceAfterList = 2097152, - Modifiers = 262656, + Modifiers = 2359808, HeritageClauses = 512, SingleLineTypeLiteralMembers = 768, MultiLineTypeLiteralMembers = 32897, @@ -4119,9 +4141,12 @@ declare namespace ts { readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean; readonly includeInlayFunctionParameterTypeHints?: boolean; readonly includeInlayVariableTypeHints?: boolean; + readonly includeInlayVariableTypeHintsWhenTypeMatchesName?: boolean; readonly includeInlayPropertyDeclarationTypeHints?: boolean; readonly includeInlayFunctionLikeReturnTypeHints?: boolean; readonly includeInlayEnumMemberValueHints?: boolean; + readonly allowRenameOfImportPath?: boolean; + readonly autoImportFileExcludePatterns?: string[]; } /** Represents a bigint literal value without requiring bigint support */ export interface PseudoBigInt { @@ -4138,7 +4163,7 @@ declare namespace ts { Changed = 1, Deleted = 2 } - export type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind) => void; + export type FileWatcherCallback = (fileName: string, eventKind: FileWatcherEventKind, modifiedTime?: Date) => void; export type DirectoryWatcherCallback = (fileName: string) => void; export interface System { args: string[]; @@ -4349,6 +4374,8 @@ declare namespace ts { function symbolName(symbol: Symbol): string; function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined; function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined; + function getDecorators(node: HasDecorators): readonly Decorator[] | undefined; + function getModifiers(node: HasModifiers): readonly Modifier[] | undefined; /** * Gets the JSDoc parameter tags for the node if present. * @@ -4437,6 +4464,12 @@ declare namespace ts { /** * Gets the effective type parameters. If the node was parsed in a * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + * + * This does *not* return type parameters from a jsdoc reference to a generic type, eg + * + * type Id = (x: T) => T + * /** @type {Id} / + * function id(x) { return x } */ function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): readonly TypeParameterDeclaration[]; function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined; @@ -4482,6 +4515,7 @@ declare namespace ts { function isClassElement(node: Node): node is ClassElement; function isClassLike(node: Node): node is ClassLikeDeclaration; function isAccessor(node: Node): node is AccessorDeclaration; + function isModifierLike(node: Node): node is ModifierLike; function isTypeElement(node: Node): node is TypeElement; function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; function isObjectLiteralElementLike(node: Node): node is ObjectLiteralElementLike; @@ -4510,6 +4544,8 @@ declare namespace ts { function isObjectLiteralElement(node: Node): node is ObjectLiteralElement; function isStringLiteralLike(node: Node): node is StringLiteralLike; function isJSDocLinkLike(node: Node): node is JSDocLink | JSDocLinkCode | JSDocLinkPlain; + function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean; + function isRestParameter(node: ParameterDeclaration | JSDocParameterTag): boolean; } declare namespace ts { const factory: NodeFactory; @@ -4720,6 +4756,7 @@ declare namespace ts { function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration; function isImportDeclaration(node: Node): node is ImportDeclaration; function isImportClause(node: Node): node is ImportClause; + function isImportTypeAssertionContainer(node: Node): node is ImportTypeAssertionContainer; function isAssertClause(node: Node): node is AssertClause; function isAssertEntry(node: Node): node is AssertEntry; function isNamespaceImport(node: Node): node is NamespaceImport; @@ -5098,6 +5135,31 @@ declare namespace ts { export function formatDiagnostic(diagnostic: Diagnostic, host: FormatDiagnosticsHost): string; export function formatDiagnosticsWithColorAndContext(diagnostics: readonly Diagnostic[], host: FormatDiagnosticsHost): string; export function flattenDiagnosticMessageText(diag: string | DiagnosticMessageChain | undefined, newLine: string, indent?: number): string; + /** + * Calculates the resulting resolution mode for some reference in some file - this is generally the explicitly + * provided resolution mode in the reference, unless one is not present, in which case it is the mode of the containing file. + */ + export function getModeForFileReference(ref: FileReference | string, containingFileMode: SourceFile["impliedNodeFormat"]): ModuleKind.CommonJS | ModuleKind.ESNext | undefined; + /** + * Calculates the final resolution mode for an import at some index within a file's imports list. This is generally the explicitly + * defined mode of the import if provided, or, if not, the mode of the containing file (with some exceptions: import=require is always commonjs, dynamic import is always esm). + * If you have an actual import node, prefer using getModeForUsageLocation on the reference string node. + * @param file File to fetch the resolution mode within + * @param index Index into the file's complete resolution list to get the resolution of - this is a concatenation of the file's imports and module augmentations + */ + export function getModeForResolutionAtIndex(file: SourceFile, index: number): ModuleKind.CommonJS | ModuleKind.ESNext | undefined; + /** + * Calculates the final resolution mode for a given module reference node. This is generally the explicitly provided resolution mode, if + * one exists, or the mode of the containing source file. (Excepting import=require, which is always commonjs, and dynamic import, which is always esm). + * Notably, this function always returns `undefined` if the containing file has an `undefined` `impliedNodeFormat` - this field is only set when + * `moduleResolution` is `node16`+. + * @param file The file the import or import-like reference is contained within + * @param usage The module reference string + * @returns The final resolution mode of the import + */ + export function getModeForUsageLocation(file: { + impliedNodeFormat?: SourceFile["impliedNodeFormat"]; + }, usage: StringLiteralLike): ModuleKind.CommonJS | ModuleKind.ESNext | undefined; export function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): readonly Diagnostic[]; /** * A function for determining if a given file is esm or cjs format, assuming modern node module resolution rules, as configured by the @@ -5357,6 +5419,10 @@ declare namespace ts { resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[]; /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[]; + /** + * Returns the module resolution cache used by a provided `resolveModuleNames` implementation so that any non-name module resolution operations (eg, package.json lookup) can reuse it + */ + getModuleResolutionCache?(): ModuleResolutionCache | undefined; } interface WatchCompilerHost extends ProgramHost, WatchHost { /** Instead of using output d.ts file from project reference, use its source file */ @@ -5871,6 +5937,8 @@ declare namespace ts { getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): TextSpan | undefined; getBreakpointStatementAtPosition(fileName: string, position: number): TextSpan | undefined; getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; + getRenameInfo(fileName: string, position: number, preferences: UserPreferences): RenameInfo; + /** @deprecated Use the signature with `UserPreferences` instead. */ getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo; findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): readonly RenameLocation[] | undefined; getSmartSelectionRange(fileName: string, position: number): SelectionRange; @@ -6250,6 +6318,7 @@ declare namespace ts { Insert = "insert", Remove = "remove" } + /** @deprecated - consider using EditorSettings instead */ interface EditorOptions { BaseIndentSize?: number; IndentSize: number; @@ -6267,6 +6336,7 @@ declare namespace ts { indentStyle?: IndentStyle; trimTrailingWhitespace?: boolean; } + /** @deprecated - consider using FormatCodeSettings instead */ interface FormatCodeOptions extends EditorOptions { InsertSpaceAfterCommaDelimiter: boolean; InsertSpaceAfterSemicolonInForStatements: boolean; @@ -6392,6 +6462,9 @@ declare namespace ts { canRename: false; localizedErrorMessage: string; } + /** + * @deprecated Use `UserPreferences` instead. + */ interface RenameInfoOptions { readonly allowRenameOfImportPath?: boolean; } @@ -6829,8 +6902,8 @@ declare namespace ts { * @param version Current version of the file. Only used if the file was not found * in the registry and a new one was created. */ - acquireDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; - acquireDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + acquireDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile; + acquireDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile; /** * Request an updated version of an already existing SourceFile with a given fileName * and compilationSettings. The update will in-turn call updateLanguageServiceSourceFile @@ -6846,8 +6919,8 @@ declare namespace ts { * @param scriptSnapshot Text of the file. * @param version Current version of the file. */ - updateDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; - updateDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind): SourceFile; + updateDocument(fileName: string, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile; + updateDocumentWithKey(fileName: string, path: Path, compilationSettingsOrHost: CompilerOptions | MinimalResolutionCacheHost, key: DocumentRegistryBucketKey, scriptSnapshot: IScriptSnapshot, version: string, scriptKind?: ScriptKind, sourceFileOptions?: CreateSourceFileOptions | ScriptTarget): SourceFile; getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey; /** * Informs the DocumentRegistry that a file is not needed any longer. @@ -6857,9 +6930,10 @@ declare namespace ts { * * @param fileName The name of the file to be released * @param compilationSettings The compilation settings used to acquire the file + * @param scriptKind The script kind of the file to be released */ - /**@deprecated pass scriptKind for correctness */ - releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; + /**@deprecated pass scriptKind and impliedNodeFormat for correctness */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind?: ScriptKind): void; /** * Informs the DocumentRegistry that a file is not needed any longer. * @@ -6869,12 +6943,13 @@ declare namespace ts { * @param fileName The name of the file to be released * @param compilationSettings The compilation settings used to acquire the file * @param scriptKind The script kind of the file to be released + * @param impliedNodeFormat The implied source file format of the file to be released */ - releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind: ScriptKind): void; + releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind: ScriptKind, impliedNodeFormat: SourceFile["impliedNodeFormat"]): void; /** - * @deprecated pass scriptKind for correctness */ - releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void; - releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind: ScriptKind): void; + * @deprecated pass scriptKind for and impliedNodeFormat correctness */ + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind?: ScriptKind): void; + releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind: ScriptKind, impliedNodeFormat: SourceFile["impliedNodeFormat"]): void; reportStats(): string; } type DocumentRegistryBucketKey = string & { @@ -6983,33 +7058,69 @@ declare namespace ts { (node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; }; /** @deprecated Use `factory.createParameterDeclaration` or the factory supplied by your transformation context instead. */ - const createParameter: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined) => ParameterDeclaration; + const createParameter: { + (modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken | undefined, type?: TypeNode | undefined, initializer?: Expression | undefined): ParameterDeclaration; + }; /** @deprecated Use `factory.updateParameterDeclaration` or the factory supplied by your transformation context instead. */ - const updateParameter: (node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => ParameterDeclaration; + const updateParameter: { + (node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + (node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + }; /** @deprecated Use `factory.createDecorator` or the factory supplied by your transformation context instead. */ const createDecorator: (expression: Expression) => Decorator; /** @deprecated Use `factory.updateDecorator` or the factory supplied by your transformation context instead. */ const updateDecorator: (node: Decorator, expression: Expression) => Decorator; /** @deprecated Use `factory.createPropertyDeclaration` or the factory supplied by your transformation context instead. */ - const createProperty: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => PropertyDeclaration; + const createProperty: { + (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + }; /** @deprecated Use `factory.updatePropertyDeclaration` or the factory supplied by your transformation context instead. */ - const updateProperty: (node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) => PropertyDeclaration; + const updateProperty: { + (node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + (node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + }; /** @deprecated Use `factory.createMethodDeclaration` or the factory supplied by your transformation context instead. */ - const createMethod: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => MethodDeclaration; + const createMethod: { + (modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + }; /** @deprecated Use `factory.updateMethodDeclaration` or the factory supplied by your transformation context instead. */ - const updateMethod: (node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => MethodDeclaration; + const updateMethod: { + (node: MethodDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + (node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + }; /** @deprecated Use `factory.createConstructorDeclaration` or the factory supplied by your transformation context instead. */ - const createConstructor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration; + const createConstructor: { + (modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + }; /** @deprecated Use `factory.updateConstructorDeclaration` or the factory supplied by your transformation context instead. */ - const updateConstructor: (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined) => ConstructorDeclaration; + const updateConstructor: { + (node: ConstructorDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + (node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + }; /** @deprecated Use `factory.createGetAccessorDeclaration` or the factory supplied by your transformation context instead. */ - const createGetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration; + const createGetAccessor: { + (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + }; /** @deprecated Use `factory.updateGetAccessorDeclaration` or the factory supplied by your transformation context instead. */ - const updateGetAccessor: (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => GetAccessorDeclaration; + const updateGetAccessor: { + (node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + (node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + }; /** @deprecated Use `factory.createSetAccessorDeclaration` or the factory supplied by your transformation context instead. */ - const createSetAccessor: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration; + const createSetAccessor: { + (modifiers: readonly ModifierLike[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + }; /** @deprecated Use `factory.updateSetAccessorDeclaration` or the factory supplied by your transformation context instead. */ - const updateSetAccessor: (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined) => SetAccessorDeclaration; + const updateSetAccessor: { + (node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + (node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + }; /** @deprecated Use `factory.createCallSignature` or the factory supplied by your transformation context instead. */ const createCallSignature: (typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined) => CallSignatureDeclaration; /** @deprecated Use `factory.updateCallSignature` or the factory supplied by your transformation context instead. */ @@ -7019,7 +7130,10 @@ declare namespace ts { /** @deprecated Use `factory.updateConstructSignature` or the factory supplied by your transformation context instead. */ const updateConstructSignature: (node: ConstructSignatureDeclaration, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode | undefined) => ConstructSignatureDeclaration; /** @deprecated Use `factory.updateIndexSignature` or the factory supplied by your transformation context instead. */ - const updateIndexSignature: (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode) => IndexSignatureDeclaration; + const updateIndexSignature: { + (node: IndexSignatureDeclaration, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; + (node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; + }; /** @deprecated Use `factory.createKeywordTypeNode` or the factory supplied by your transformation context instead. */ const createKeywordTypeNode: (kind: TKind) => KeywordTypeNode; /** @deprecated Use `factory.createTypePredicateNode` or the factory supplied by your transformation context instead. */ @@ -7080,13 +7194,14 @@ declare namespace ts { const updateInferTypeNode: (node: InferTypeNode, typeParameter: TypeParameterDeclaration) => InferTypeNode; /** @deprecated Use `factory.createImportTypeNode` or the factory supplied by your transformation context instead. */ const createImportTypeNode: { - (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + (argument: TypeNode, assertions?: ImportTypeAssertionContainer | undefined, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + (argument: TypeNode, qualifier?: EntityName | undefined, typeArguments?: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; }; /** @deprecated Use `factory.updateImportTypeNode` or the factory supplied by your transformation context instead. */ const updateImportTypeNode: { - (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; (node: ImportTypeNode, argument: TypeNode, assertions: ImportTypeAssertionContainer | undefined, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; + (node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean | undefined): ImportTypeNode; }; /** @deprecated Use `factory.createParenthesizedType` or the factory supplied by your transformation context instead. */ const createParenthesizedType: (type: TypeNode) => ParenthesizedTypeNode; @@ -7331,29 +7446,65 @@ declare namespace ts { /** @deprecated Use `factory.updateVariableDeclarationList` or the factory supplied by your transformation context instead. */ const updateVariableDeclarationList: (node: VariableDeclarationList, declarations: readonly VariableDeclaration[]) => VariableDeclarationList; /** @deprecated Use `factory.createFunctionDeclaration` or the factory supplied by your transformation context instead. */ - const createFunctionDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => FunctionDeclaration; + const createFunctionDeclaration: { + (modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + }; /** @deprecated Use `factory.updateFunctionDeclaration` or the factory supplied by your transformation context instead. */ - const updateFunctionDeclaration: (node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined) => FunctionDeclaration; + const updateFunctionDeclaration: { + (node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + (node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + }; /** @deprecated Use `factory.createClassDeclaration` or the factory supplied by your transformation context instead. */ - const createClassDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]) => ClassDeclaration; + const createClassDeclaration: { + (modifiers: readonly ModifierLike[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + }; /** @deprecated Use `factory.updateClassDeclaration` or the factory supplied by your transformation context instead. */ - const updateClassDeclaration: (node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]) => ClassDeclaration; + const updateClassDeclaration: { + (node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + (node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + }; /** @deprecated Use `factory.createInterfaceDeclaration` or the factory supplied by your transformation context instead. */ - const createInterfaceDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]) => InterfaceDeclaration; + const createInterfaceDeclaration: { + (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + }; /** @deprecated Use `factory.updateInterfaceDeclaration` or the factory supplied by your transformation context instead. */ - const updateInterfaceDeclaration: (node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]) => InterfaceDeclaration; + const updateInterfaceDeclaration: { + (node: InterfaceDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + (node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + }; /** @deprecated Use `factory.createTypeAliasDeclaration` or the factory supplied by your transformation context instead. */ - const createTypeAliasDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration; + const createTypeAliasDeclaration: { + (modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + }; /** @deprecated Use `factory.updateTypeAliasDeclaration` or the factory supplied by your transformation context instead. */ - const updateTypeAliasDeclaration: (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode) => TypeAliasDeclaration; + const updateTypeAliasDeclaration: { + (node: TypeAliasDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + (node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + }; /** @deprecated Use `factory.createEnumDeclaration` or the factory supplied by your transformation context instead. */ - const createEnumDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]) => EnumDeclaration; + const createEnumDeclaration: { + (modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration; + }; /** @deprecated Use `factory.updateEnumDeclaration` or the factory supplied by your transformation context instead. */ - const updateEnumDeclaration: (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]) => EnumDeclaration; + const updateEnumDeclaration: { + (node: EnumDeclaration, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration; + (node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration; + }; /** @deprecated Use `factory.createModuleDeclaration` or the factory supplied by your transformation context instead. */ - const createModuleDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined) => ModuleDeclaration; + const createModuleDeclaration: { + (modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags | undefined): ModuleDeclaration; + }; /** @deprecated Use `factory.updateModuleDeclaration` or the factory supplied by your transformation context instead. */ - const updateModuleDeclaration: (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined) => ModuleDeclaration; + const updateModuleDeclaration: { + (node: ModuleDeclaration, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + (node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + }; /** @deprecated Use `factory.createModuleBlock` or the factory supplied by your transformation context instead. */ const createModuleBlock: (statements: readonly Statement[]) => ModuleBlock; /** @deprecated Use `factory.updateModuleBlock` or the factory supplied by your transformation context instead. */ @@ -7367,13 +7518,25 @@ declare namespace ts { /** @deprecated Use `factory.updateNamespaceExportDeclaration` or the factory supplied by your transformation context instead. */ const updateNamespaceExportDeclaration: (node: NamespaceExportDeclaration, name: Identifier) => NamespaceExportDeclaration; /** @deprecated Use `factory.createImportEqualsDeclaration` or the factory supplied by your transformation context instead. */ - const createImportEqualsDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration; + const createImportEqualsDeclaration: { + (modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + }; /** @deprecated Use `factory.updateImportEqualsDeclaration` or the factory supplied by your transformation context instead. */ - const updateImportEqualsDeclaration: (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference) => ImportEqualsDeclaration; + const updateImportEqualsDeclaration: { + (node: ImportEqualsDeclaration, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + (node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + }; /** @deprecated Use `factory.createImportDeclaration` or the factory supplied by your transformation context instead. */ - const createImportDeclaration: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined) => ImportDeclaration; + const createImportDeclaration: { + (modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause | undefined): ImportDeclaration; + }; /** @deprecated Use `factory.updateImportDeclaration` or the factory supplied by your transformation context instead. */ - const updateImportDeclaration: (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration; + const updateImportDeclaration: { + (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; + (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; + }; /** @deprecated Use `factory.createNamespaceImport` or the factory supplied by your transformation context instead. */ const createNamespaceImport: (name: Identifier) => NamespaceImport; /** @deprecated Use `factory.updateNamespaceImport` or the factory supplied by your transformation context instead. */ @@ -7387,9 +7550,15 @@ declare namespace ts { /** @deprecated Use `factory.updateImportSpecifier` or the factory supplied by your transformation context instead. */ const updateImportSpecifier: (node: ImportSpecifier, isTypeOnly: boolean, propertyName: Identifier | undefined, name: Identifier) => ImportSpecifier; /** @deprecated Use `factory.createExportAssignment` or the factory supplied by your transformation context instead. */ - const createExportAssignment: (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression) => ExportAssignment; + const createExportAssignment: { + (modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + (decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + }; /** @deprecated Use `factory.updateExportAssignment` or the factory supplied by your transformation context instead. */ - const updateExportAssignment: (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression) => ExportAssignment; + const updateExportAssignment: { + (node: ExportAssignment, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment; + (node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment; + }; /** @deprecated Use `factory.createNamedExports` or the factory supplied by your transformation context instead. */ const createNamedExports: (elements: readonly ExportSpecifier[]) => NamedExports; /** @deprecated Use `factory.updateNamedExports` or the factory supplied by your transformation context instead. */ @@ -7479,9 +7648,9 @@ declare namespace ts { /** @deprecated Use `factory.updateJsxFragment` or the factory supplied by your transformation context instead. */ const updateJsxFragment: (node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment) => JsxFragment; /** @deprecated Use `factory.createJsxAttribute` or the factory supplied by your transformation context instead. */ - const createJsxAttribute: (name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute; + const createJsxAttribute: (name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute; /** @deprecated Use `factory.updateJsxAttribute` or the factory supplied by your transformation context instead. */ - const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute; + const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute; /** @deprecated Use `factory.createJsxAttributes` or the factory supplied by your transformation context instead. */ const createJsxAttributes: (properties: readonly JsxAttributeLike[]) => JsxAttributes; /** @deprecated Use `factory.updateJsxAttributes` or the factory supplied by your transformation context instead. */ @@ -7693,8 +7862,12 @@ declare namespace ts { * @deprecated Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`. */ const getMutableClone: (node: T) => T; +} +declare namespace ts { /** @deprecated Use `isTypeAssertionExpression` instead. */ const isTypeAssertion: (node: Node) => node is TypeAssertion; +} +declare namespace ts { /** * @deprecated Use `ts.ReadonlyESMap` instead. */ @@ -7705,10 +7878,297 @@ declare namespace ts { */ interface Map extends ESMap { } +} +declare namespace ts { /** * @deprecated Use `isMemberName` instead. */ const isIdentifierOrPrivateIdentifier: (node: Node) => node is MemberName; } +declare namespace ts { + interface NodeFactory { + /** @deprecated Use the overload that accepts 'modifiers' */ + createConstructorTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): ConstructorTypeNode; + /** @deprecated Use the overload that accepts 'modifiers' */ + updateConstructorTypeNode(node: ConstructorTypeNode, typeParameters: NodeArray | undefined, parameters: NodeArray, type: TypeNode): ConstructorTypeNode; + } +} +declare namespace ts { + interface NodeFactory { + createImportTypeNode(argument: TypeNode, assertions?: ImportTypeAssertionContainer, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode; + /** @deprecated Use the overload that accepts 'assertions' */ + createImportTypeNode(argument: TypeNode, qualifier?: EntityName, typeArguments?: readonly TypeNode[], isTypeOf?: boolean): ImportTypeNode; + /** @deprecated Use the overload that accepts 'assertions' */ + updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, qualifier: EntityName | undefined, typeArguments: readonly TypeNode[] | undefined, isTypeOf?: boolean): ImportTypeNode; + } +} +declare namespace ts { + interface NodeFactory { + /** @deprecated Use the overload that accepts 'modifiers' */ + createTypeParameterDeclaration(name: string | Identifier, constraint?: TypeNode, defaultType?: TypeNode): TypeParameterDeclaration; + /** @deprecated Use the overload that accepts 'modifiers' */ + updateTypeParameterDeclaration(node: TypeParameterDeclaration, name: Identifier, constraint: TypeNode | undefined, defaultType: TypeNode | undefined): TypeParameterDeclaration; + } +} +declare namespace ts { + interface Node { + /** @deprecated `decorators` has been merged with `modifiers` on the declarations that support decorators. */ + readonly decorators?: NodeArray | undefined; + /** @deprecated `modifiers` has been removed from `Node` and moved to the specific `Node` subtypes that support them. */ + readonly modifiers?: NodeArray | undefined; + } + interface PropertySignature { + /** @deprecated A property signature cannot have an initializer */ + readonly initializer?: Expression | undefined; + } + interface PropertyAssignment { + /** @deprecated A property assignment cannot have a question token */ + readonly questionToken?: QuestionToken | undefined; + /** @deprecated A property assignment cannot have an exclamation token */ + readonly exclamationToken?: ExclamationToken | undefined; + } + interface ShorthandPropertyAssignment { + /** @deprecated A shorthand property assignment cannot have modifiers */ + readonly modifiers?: NodeArray | undefined; + /** @deprecated A shorthand property assignment cannot have a question token */ + readonly questionToken?: QuestionToken | undefined; + /** @deprecated A shorthand property assignment cannot have an exclamation token */ + readonly exclamationToken?: ExclamationToken | undefined; + } + interface FunctionTypeNode { + /** @deprecated A function type cannot have modifiers */ + readonly modifiers?: NodeArray | undefined; + } + interface NodeFactory { + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateParameterDeclaration(node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updatePropertyDeclaration(node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createMethodDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateMethodDeclaration(node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createClassExpression(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateClassExpression(node: ClassExpression, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createFunctionDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateFunctionDeclaration(node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createClassDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateClassDeclaration(node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration; + /** + * @deprecated Decorators have been combined with modifiers. Callers should pass + * `null` to the `decorators` parameter so that a future update can introduce + * an overload that removes the parameter entirely. + */ + updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration; + } +} export = ts; \ No newline at end of file diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index 8f41c15ff8d8..82e0c54b0d8b 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -290,11 +290,11 @@ var ts; (function (ts) { // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configurePrerelease` too. - ts.versionMajorMinor = "4.7"; + ts.versionMajorMinor = "4.8"; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.7.2"; + ts.version = "4.8.1-rc"; /* @internal */ var Comparison; (function (Comparison) { @@ -500,8 +500,10 @@ var ts; return true; } ts.every = every; - function find(array, predicate) { - for (var i = 0; i < array.length; i++) { + function find(array, predicate, startIndex) { + if (array === undefined) + return undefined; + for (var i = startIndex !== null && startIndex !== void 0 ? startIndex : 0; i < array.length; i++) { var value = array[i]; if (predicate(value, i)) { return value; @@ -510,8 +512,10 @@ var ts; return undefined; } ts.find = find; - function findLast(array, predicate) { - for (var i = array.length - 1; i >= 0; i--) { + function findLast(array, predicate, startIndex) { + if (array === undefined) + return undefined; + for (var i = startIndex !== null && startIndex !== void 0 ? startIndex : array.length - 1; i >= 0; i--) { var value = array[i]; if (predicate(value, i)) { return value; @@ -522,7 +526,9 @@ var ts; ts.findLast = findLast; /** Works like Array.prototype.findIndex, returning `-1` if no element satisfying the predicate is found. */ function findIndex(array, predicate, startIndex) { - for (var i = startIndex || 0; i < array.length; i++) { + if (array === undefined) + return -1; + for (var i = startIndex !== null && startIndex !== void 0 ? startIndex : 0; i < array.length; i++) { if (predicate(array[i], i)) { return i; } @@ -531,7 +537,9 @@ var ts; } ts.findIndex = findIndex; function findLastIndex(array, predicate, startIndex) { - for (var i = startIndex === undefined ? array.length - 1 : startIndex; i >= 0; i--) { + if (array === undefined) + return -1; + for (var i = startIndex !== null && startIndex !== void 0 ? startIndex : array.length - 1; i >= 0; i--) { if (predicate(array[i], i)) { return i; } @@ -1309,7 +1317,7 @@ var ts; * Returns the first element of an array if non-empty, `undefined` otherwise. */ function firstOrUndefined(array) { - return array.length === 0 ? undefined : array[0]; + return array === undefined || array.length === 0 ? undefined : array[0]; } ts.firstOrUndefined = firstOrUndefined; function first(array) { @@ -1321,7 +1329,7 @@ var ts; * Returns the last element of an array if non-empty, `undefined` otherwise. */ function lastOrUndefined(array) { - return array.length === 0 ? undefined : array[array.length - 1]; + return array === undefined || array.length === 0 ? undefined : array[array.length - 1]; } ts.lastOrUndefined = lastOrUndefined; function last(array) { @@ -1662,6 +1670,43 @@ var ts; return createMultiMap(); } ts.createUnderscoreEscapedMultiMap = createUnderscoreEscapedMultiMap; + function createQueue(items) { + var elements = (items === null || items === void 0 ? void 0 : items.slice()) || []; + var headIndex = 0; + function isEmpty() { + return headIndex === elements.length; + } + function enqueue() { + var items = []; + for (var _i = 0; _i < arguments.length; _i++) { + items[_i] = arguments[_i]; + } + elements.push.apply(elements, items); + } + function dequeue() { + if (isEmpty()) { + throw new Error("Queue is empty"); + } + var result = elements[headIndex]; + elements[headIndex] = undefined; // Don't keep referencing dequeued item + headIndex++; + // If more than half of the queue is empty, copy the remaining elements to the + // front and shrink the array (unless we'd be saving fewer than 100 slots) + if (headIndex > 100 && headIndex > (elements.length >> 1)) { + var newLength = elements.length - headIndex; + elements.copyWithin(/*target*/ 0, /*start*/ headIndex); + elements.length = newLength; + headIndex = 0; + } + return result; + } + return { + enqueue: enqueue, + dequeue: dequeue, + isEmpty: isEmpty, + }; + } + ts.createQueue = createQueue; /** * Creates a Set with custom equality and hash code functionality. This is useful when you * want to use something looser than object identity - e.g. "has the same span". @@ -1850,6 +1895,10 @@ var ts; /** Does nothing. */ function noop(_) { } ts.noop = noop; + ts.noopPush = { + push: noop, + length: 0 + }; /** Do nothing and return false */ function returnFalse() { return false; @@ -2205,7 +2254,7 @@ var ts; * and 1 insertion/deletion at 3 characters) */ function getSpellingSuggestion(name, candidates, getName) { - var maximumLengthDifference = Math.min(2, Math.floor(name.length * 0.34)); + var maximumLengthDifference = Math.max(2, Math.floor(name.length * 0.34)); var bestDistance = Math.floor(name.length * 0.4) + 1; // If the best result is worse than this, don't bother. var bestCandidate; for (var _i = 0, candidates_2 = candidates; _i < candidates_2.length; _i++) { @@ -2432,6 +2481,7 @@ var ts; startsWith(candidate, prefix) && endsWith(candidate, suffix); } + ts.isPatternMatch = isPatternMatch; function and(f, g) { return function (arg) { return f(arg) && g(arg); }; } @@ -2842,7 +2892,7 @@ var ts; return members.length > 0 && members[0][0] === 0 ? members[0][1] : "0"; } if (isFlags) { - var result = ""; + var result = []; var remainingFlags = value; for (var _i = 0, members_1 = members; _i < members_1.length; _i++) { var _a = members_1[_i], enumValue = _a[0], enumName = _a[1]; @@ -2850,12 +2900,12 @@ var ts; break; } if (enumValue !== 0 && enumValue & value) { - result = "".concat(result).concat(result ? "|" : "").concat(enumName); + result.push(enumName); remainingFlags &= ~enumValue; } } if (remainingFlags === 0) { - return result; + return result.join("|"); } } else { @@ -2869,7 +2919,15 @@ var ts; return value.toString(); } Debug.formatEnum = formatEnum; + var enumMemberCache = new ts.Map(); function getEnumMembers(enumObject) { + // Assuming enum objects do not change at runtime, we can cache the enum members list + // to reuse later. This saves us from reconstructing this each and every time we call + // a formatting function (which can be expensive for large enums like SyntaxKind). + var existing = enumMemberCache.get(enumObject); + if (existing) { + return existing; + } var result = []; for (var name in enumObject) { var value = enumObject[name]; @@ -2877,7 +2935,9 @@ var ts; result.push([value, name]); } } - return ts.stableSort(result, function (x, y) { return ts.compareValues(x[0], y[0]); }); + var sorted = ts.stableSort(result, function (x, y) { return ts.compareValues(x[0], y[0]); }); + enumMemberCache.set(enumObject, sorted); + return sorted; } function formatSyntaxKind(kind) { return formatEnum(kind, ts.SyntaxKind, /*isFlags*/ false); @@ -2923,6 +2983,22 @@ var ts; return formatEnum(flags, ts.FlowFlags, /*isFlags*/ true); } Debug.formatFlowFlags = formatFlowFlags; + function formatRelationComparisonResult(result) { + return formatEnum(result, ts.RelationComparisonResult, /*isFlags*/ true); + } + Debug.formatRelationComparisonResult = formatRelationComparisonResult; + function formatCheckMode(mode) { + return formatEnum(mode, ts.CheckMode, /*isFlags*/ true); + } + Debug.formatCheckMode = formatCheckMode; + function formatSignatureCheckMode(mode) { + return formatEnum(mode, ts.SignatureCheckMode, /*isFlags*/ true); + } + Debug.formatSignatureCheckMode = formatSignatureCheckMode; + function formatTypeFacts(facts) { + return formatEnum(facts, ts.TypeFacts, /*isFlags*/ true); + } + Debug.formatTypeFacts = formatTypeFacts; var isDebugInfoEnabled = false; var extendedDebugModule; function extendedDebug() { @@ -3240,6 +3316,7 @@ var ts; warn ? createWarningDeprecation(name, errorAfter, since, options.message) : ts.noop; } + Debug.createDeprecation = createDeprecation; function wrapFunction(deprecation, func) { return function () { deprecation(); @@ -3247,10 +3324,53 @@ var ts; }; } function deprecate(func, options) { - var deprecation = createDeprecation(getFunctionName(func), options); + var _a; + var deprecation = createDeprecation((_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : getFunctionName(func), options); return wrapFunction(deprecation, func); } Debug.deprecate = deprecate; + function formatVariance(varianceFlags) { + var variance = varianceFlags & 7 /* VarianceFlags.VarianceMask */; + var result = variance === 0 /* VarianceFlags.Invariant */ ? "in out" : + variance === 3 /* VarianceFlags.Bivariant */ ? "[bivariant]" : + variance === 2 /* VarianceFlags.Contravariant */ ? "in" : + variance === 1 /* VarianceFlags.Covariant */ ? "out" : + variance === 4 /* VarianceFlags.Independent */ ? "[independent]" : ""; + if (varianceFlags & 8 /* VarianceFlags.Unmeasurable */) { + result += " (unmeasurable)"; + } + else if (varianceFlags & 16 /* VarianceFlags.Unreliable */) { + result += " (unreliable)"; + } + return result; + } + Debug.formatVariance = formatVariance; + var DebugTypeMapper = /** @class */ (function () { + function DebugTypeMapper() { + } + DebugTypeMapper.prototype.__debugToString = function () { + var _a; + type(this); + switch (this.kind) { + case 3 /* TypeMapKind.Function */: return ((_a = this.debugInfo) === null || _a === void 0 ? void 0 : _a.call(this)) || "(function mapper)"; + case 0 /* TypeMapKind.Simple */: return "".concat(this.source.__debugTypeToString(), " -> ").concat(this.target.__debugTypeToString()); + case 1 /* TypeMapKind.Array */: return ts.zipWith(this.sources, this.targets || ts.map(this.sources, function () { return "any"; }), function (s, t) { return "".concat(s.__debugTypeToString(), " -> ").concat(typeof t === "string" ? t : t.__debugTypeToString()); }).join(", "); + case 2 /* TypeMapKind.Deferred */: return ts.zipWith(this.sources, this.targets, function (s, t) { return "".concat(s.__debugTypeToString(), " -> ").concat(t().__debugTypeToString()); }).join(", "); + case 5 /* TypeMapKind.Merged */: + case 4 /* TypeMapKind.Composite */: return "m1: ".concat(this.mapper1.__debugToString().split("\n").join("\n "), "\nm2: ").concat(this.mapper2.__debugToString().split("\n").join("\n ")); + default: return assertNever(this); + } + }; + return DebugTypeMapper; + }()); + Debug.DebugTypeMapper = DebugTypeMapper; + function attachDebugPrototypeIfDebug(mapper) { + if (Debug.isDebugging) { + return Object.setPrototypeOf(mapper, DebugTypeMapper.prototype); + } + return mapper; + } + Debug.attachDebugPrototypeIfDebug = attachDebugPrototypeIfDebug; })(Debug = ts.Debug || (ts.Debug = {})); })(ts || (ts = {})); /* @internal */ @@ -3992,9 +4112,9 @@ var ts; eventStack.push({ phase: phase, name: name, args: args, time: 1000 * ts.timestamp(), separateBeginAndEnd: separateBeginAndEnd }); } tracingEnabled.push = push; - function pop() { + function pop(results) { ts.Debug.assert(eventStack.length > 0); - writeStackEvent(eventStack.length - 1, 1000 * ts.timestamp()); + writeStackEvent(eventStack.length - 1, 1000 * ts.timestamp(), results); eventStack.length--; } tracingEnabled.pop = pop; @@ -4008,14 +4128,15 @@ var ts; tracingEnabled.popAll = popAll; // sample every 10ms var sampleInterval = 1000 * 10; - function writeStackEvent(index, endTime) { + function writeStackEvent(index, endTime, results) { var _a = eventStack[index], phase = _a.phase, name = _a.name, args = _a.args, time = _a.time, separateBeginAndEnd = _a.separateBeginAndEnd; if (separateBeginAndEnd) { + ts.Debug.assert(!results, "`results` are not supported for events with `separateBeginAndEnd`"); writeEvent("E", phase, name, args, /*extras*/ undefined, endTime); } // test if [time,endTime) straddles a sampling point else if (sampleInterval - (time % sampleInterval) <= endTime - time) { - writeEvent("X", phase, name, args, "\"dur\":".concat(endTime - time), time); + writeEvent("X", phase, name, __assign(__assign({}, args), { results: results }), "\"dur\":".concat(endTime - time), time); } } function writeEvent(eventType, phase, name, args, extras, time) { @@ -4514,6 +4635,7 @@ var ts; SyntaxKind[SyntaxKind["JSDocFunctionType"] = 317] = "JSDocFunctionType"; SyntaxKind[SyntaxKind["JSDocVariadicType"] = 318] = "JSDocVariadicType"; SyntaxKind[SyntaxKind["JSDocNamepathType"] = 319] = "JSDocNamepathType"; + SyntaxKind[SyntaxKind["JSDoc"] = 320] = "JSDoc"; /** @deprecated Use SyntaxKind.JSDoc */ SyntaxKind[SyntaxKind["JSDocComment"] = 320] = "JSDocComment"; SyntaxKind[SyntaxKind["JSDocText"] = 321] = "JSDocText"; @@ -4588,7 +4710,6 @@ var ts; SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 347] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 126] = "FirstContextualKeyword"; /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 160] = "LastContextualKeyword"; - SyntaxKind[SyntaxKind["JSDoc"] = 320] = "JSDoc"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -4662,6 +4783,7 @@ var ts; ModifierFlags[ModifierFlags["Override"] = 16384] = "Override"; ModifierFlags[ModifierFlags["In"] = 32768] = "In"; ModifierFlags[ModifierFlags["Out"] = 65536] = "Out"; + ModifierFlags[ModifierFlags["Decorator"] = 131072] = "Decorator"; ModifierFlags[ModifierFlags["HasComputedFlags"] = 536870912] = "HasComputedFlags"; ModifierFlags[ModifierFlags["AccessibilityModifier"] = 28] = "AccessibilityModifier"; // Accessibility modifiers and 'readonly' can be attached to a parameter in a constructor to make it a property. @@ -4669,7 +4791,8 @@ var ts; ModifierFlags[ModifierFlags["NonPublicAccessibilityModifier"] = 24] = "NonPublicAccessibilityModifier"; ModifierFlags[ModifierFlags["TypeScriptModifier"] = 116958] = "TypeScriptModifier"; ModifierFlags[ModifierFlags["ExportDefault"] = 513] = "ExportDefault"; - ModifierFlags[ModifierFlags["All"] = 125951] = "All"; + ModifierFlags[ModifierFlags["All"] = 257023] = "All"; + ModifierFlags[ModifierFlags["Modifier"] = 125951] = "Modifier"; })(ModifierFlags = ts.ModifierFlags || (ts.ModifierFlags = {})); var JsxFlags; (function (JsxFlags) { @@ -4854,6 +4977,7 @@ var ts; NodeBuilderFlags[NodeBuilderFlags["UseAliasDefinedOutsideCurrentScope"] = 16384] = "UseAliasDefinedOutsideCurrentScope"; NodeBuilderFlags[NodeBuilderFlags["UseSingleQuotesForStringLiteralType"] = 268435456] = "UseSingleQuotesForStringLiteralType"; NodeBuilderFlags[NodeBuilderFlags["NoTypeReduction"] = 536870912] = "NoTypeReduction"; + NodeBuilderFlags[NodeBuilderFlags["OmitThisParameter"] = 33554432] = "OmitThisParameter"; // Error handling NodeBuilderFlags[NodeBuilderFlags["AllowThisInObjectLiteral"] = 32768] = "AllowThisInObjectLiteral"; NodeBuilderFlags[NodeBuilderFlags["AllowQualifiedNameInPlaceOfIdentifier"] = 65536] = "AllowQualifiedNameInPlaceOfIdentifier"; @@ -4894,6 +5018,7 @@ var ts; TypeFormatFlags[TypeFormatFlags["UseAliasDefinedOutsideCurrentScope"] = 16384] = "UseAliasDefinedOutsideCurrentScope"; TypeFormatFlags[TypeFormatFlags["UseSingleQuotesForStringLiteralType"] = 268435456] = "UseSingleQuotesForStringLiteralType"; TypeFormatFlags[TypeFormatFlags["NoTypeReduction"] = 536870912] = "NoTypeReduction"; + TypeFormatFlags[TypeFormatFlags["OmitThisParameter"] = 33554432] = "OmitThisParameter"; // Error Handling TypeFormatFlags[TypeFormatFlags["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; // TypeFormatFlags exclusive @@ -4905,7 +5030,7 @@ var ts; TypeFormatFlags[TypeFormatFlags["InFirstTypeArgument"] = 4194304] = "InFirstTypeArgument"; TypeFormatFlags[TypeFormatFlags["InTypeAlias"] = 8388608] = "InTypeAlias"; /** @deprecated */ TypeFormatFlags[TypeFormatFlags["WriteOwnNameForAnyLike"] = 0] = "WriteOwnNameForAnyLike"; - TypeFormatFlags[TypeFormatFlags["NodeBuilderFlagsMask"] = 814775659] = "NodeBuilderFlagsMask"; + TypeFormatFlags[TypeFormatFlags["NodeBuilderFlagsMask"] = 848330091] = "NodeBuilderFlagsMask"; })(TypeFormatFlags = ts.TypeFormatFlags || (ts.TypeFormatFlags = {})); var SymbolFormatFlags; (function (SymbolFormatFlags) { @@ -5294,6 +5419,11 @@ var ts; // Flags that require TypeFlags.Union /* @internal */ ObjectFlags[ObjectFlags["ContainsIntersections"] = 16777216] = "ContainsIntersections"; + /* @internal */ + ObjectFlags[ObjectFlags["IsUnknownLikeUnionComputed"] = 33554432] = "IsUnknownLikeUnionComputed"; + /* @internal */ + ObjectFlags[ObjectFlags["IsUnknownLikeUnion"] = 67108864] = "IsUnknownLikeUnion"; + /* @internal */ // Flags that require TypeFlags.Intersection /* @internal */ ObjectFlags[ObjectFlags["IsNeverIntersectionComputed"] = 16777216] = "IsNeverIntersectionComputed"; @@ -5379,9 +5509,10 @@ var ts; (function (TypeMapKind) { TypeMapKind[TypeMapKind["Simple"] = 0] = "Simple"; TypeMapKind[TypeMapKind["Array"] = 1] = "Array"; - TypeMapKind[TypeMapKind["Function"] = 2] = "Function"; - TypeMapKind[TypeMapKind["Composite"] = 3] = "Composite"; - TypeMapKind[TypeMapKind["Merged"] = 4] = "Merged"; + TypeMapKind[TypeMapKind["Deferred"] = 2] = "Deferred"; + TypeMapKind[TypeMapKind["Function"] = 3] = "Function"; + TypeMapKind[TypeMapKind["Composite"] = 4] = "Composite"; + TypeMapKind[TypeMapKind["Merged"] = 5] = "Merged"; })(TypeMapKind = ts.TypeMapKind || (ts.TypeMapKind = {})); var InferencePriority; (function (InferencePriority) { @@ -5760,25 +5891,24 @@ var ts; TransformFlags[TransformFlags["ContainsDestructuringAssignment"] = 4096] = "ContainsDestructuringAssignment"; // Markers // - Flags used to indicate that a subtree contains a specific transformation. - TransformFlags[TransformFlags["ContainsTypeScriptClassSyntax"] = 4096] = "ContainsTypeScriptClassSyntax"; - TransformFlags[TransformFlags["ContainsLexicalThis"] = 8192] = "ContainsLexicalThis"; - TransformFlags[TransformFlags["ContainsRestOrSpread"] = 16384] = "ContainsRestOrSpread"; - TransformFlags[TransformFlags["ContainsObjectRestOrSpread"] = 32768] = "ContainsObjectRestOrSpread"; - TransformFlags[TransformFlags["ContainsComputedPropertyName"] = 65536] = "ContainsComputedPropertyName"; - TransformFlags[TransformFlags["ContainsBlockScopedBinding"] = 131072] = "ContainsBlockScopedBinding"; - TransformFlags[TransformFlags["ContainsBindingPattern"] = 262144] = "ContainsBindingPattern"; - TransformFlags[TransformFlags["ContainsYield"] = 524288] = "ContainsYield"; - TransformFlags[TransformFlags["ContainsAwait"] = 1048576] = "ContainsAwait"; - TransformFlags[TransformFlags["ContainsHoistedDeclarationOrCompletion"] = 2097152] = "ContainsHoistedDeclarationOrCompletion"; - TransformFlags[TransformFlags["ContainsDynamicImport"] = 4194304] = "ContainsDynamicImport"; - TransformFlags[TransformFlags["ContainsClassFields"] = 8388608] = "ContainsClassFields"; - TransformFlags[TransformFlags["ContainsPossibleTopLevelAwait"] = 16777216] = "ContainsPossibleTopLevelAwait"; - TransformFlags[TransformFlags["ContainsLexicalSuper"] = 33554432] = "ContainsLexicalSuper"; - TransformFlags[TransformFlags["ContainsUpdateExpressionForIdentifier"] = 67108864] = "ContainsUpdateExpressionForIdentifier"; - // Please leave this as 1 << 29. - // It is the maximum bit we can set before we outgrow the size of a v8 small integer (SMI) on an x86 system. - // It is a good reminder of how much room we have left - TransformFlags[TransformFlags["HasComputedFlags"] = 536870912] = "HasComputedFlags"; + TransformFlags[TransformFlags["ContainsTypeScriptClassSyntax"] = 8192] = "ContainsTypeScriptClassSyntax"; + TransformFlags[TransformFlags["ContainsLexicalThis"] = 16384] = "ContainsLexicalThis"; + TransformFlags[TransformFlags["ContainsRestOrSpread"] = 32768] = "ContainsRestOrSpread"; + TransformFlags[TransformFlags["ContainsObjectRestOrSpread"] = 65536] = "ContainsObjectRestOrSpread"; + TransformFlags[TransformFlags["ContainsComputedPropertyName"] = 131072] = "ContainsComputedPropertyName"; + TransformFlags[TransformFlags["ContainsBlockScopedBinding"] = 262144] = "ContainsBlockScopedBinding"; + TransformFlags[TransformFlags["ContainsBindingPattern"] = 524288] = "ContainsBindingPattern"; + TransformFlags[TransformFlags["ContainsYield"] = 1048576] = "ContainsYield"; + TransformFlags[TransformFlags["ContainsAwait"] = 2097152] = "ContainsAwait"; + TransformFlags[TransformFlags["ContainsHoistedDeclarationOrCompletion"] = 4194304] = "ContainsHoistedDeclarationOrCompletion"; + TransformFlags[TransformFlags["ContainsDynamicImport"] = 8388608] = "ContainsDynamicImport"; + TransformFlags[TransformFlags["ContainsClassFields"] = 16777216] = "ContainsClassFields"; + TransformFlags[TransformFlags["ContainsDecorators"] = 33554432] = "ContainsDecorators"; + TransformFlags[TransformFlags["ContainsPossibleTopLevelAwait"] = 67108864] = "ContainsPossibleTopLevelAwait"; + TransformFlags[TransformFlags["ContainsLexicalSuper"] = 134217728] = "ContainsLexicalSuper"; + TransformFlags[TransformFlags["ContainsUpdateExpressionForIdentifier"] = 268435456] = "ContainsUpdateExpressionForIdentifier"; + TransformFlags[TransformFlags["ContainsPrivateIdentifierInExpression"] = 536870912] = "ContainsPrivateIdentifierInExpression"; + TransformFlags[TransformFlags["HasComputedFlags"] = -2147483648] = "HasComputedFlags"; // Assertions // - Bitmasks that are used to assert facts about the syntax of a node and its subtree. TransformFlags[TransformFlags["AssertTypeScript"] = 1] = "AssertTypeScript"; @@ -5797,27 +5927,27 @@ var ts; // Scope Exclusions // - Bitmasks that exclude flags from propagating out of a specific context // into the subtree flags of their container. - TransformFlags[TransformFlags["OuterExpressionExcludes"] = 536870912] = "OuterExpressionExcludes"; - TransformFlags[TransformFlags["PropertyAccessExcludes"] = 536870912] = "PropertyAccessExcludes"; - TransformFlags[TransformFlags["NodeExcludes"] = 536870912] = "NodeExcludes"; - TransformFlags[TransformFlags["ArrowFunctionExcludes"] = 557748224] = "ArrowFunctionExcludes"; - TransformFlags[TransformFlags["FunctionExcludes"] = 591310848] = "FunctionExcludes"; - TransformFlags[TransformFlags["ConstructorExcludes"] = 591306752] = "ConstructorExcludes"; - TransformFlags[TransformFlags["MethodOrAccessorExcludes"] = 574529536] = "MethodOrAccessorExcludes"; - TransformFlags[TransformFlags["PropertyExcludes"] = 570433536] = "PropertyExcludes"; - TransformFlags[TransformFlags["ClassExcludes"] = 536940544] = "ClassExcludes"; - TransformFlags[TransformFlags["ModuleExcludes"] = 589443072] = "ModuleExcludes"; + TransformFlags[TransformFlags["OuterExpressionExcludes"] = -2147483648] = "OuterExpressionExcludes"; + TransformFlags[TransformFlags["PropertyAccessExcludes"] = -2147483648] = "PropertyAccessExcludes"; + TransformFlags[TransformFlags["NodeExcludes"] = -2147483648] = "NodeExcludes"; + TransformFlags[TransformFlags["ArrowFunctionExcludes"] = -2072174592] = "ArrowFunctionExcludes"; + TransformFlags[TransformFlags["FunctionExcludes"] = -1937940480] = "FunctionExcludes"; + TransformFlags[TransformFlags["ConstructorExcludes"] = -1937948672] = "ConstructorExcludes"; + TransformFlags[TransformFlags["MethodOrAccessorExcludes"] = -2005057536] = "MethodOrAccessorExcludes"; + TransformFlags[TransformFlags["PropertyExcludes"] = -2013249536] = "PropertyExcludes"; + TransformFlags[TransformFlags["ClassExcludes"] = -2147344384] = "ClassExcludes"; + TransformFlags[TransformFlags["ModuleExcludes"] = -1941676032] = "ModuleExcludes"; TransformFlags[TransformFlags["TypeExcludes"] = -2] = "TypeExcludes"; - TransformFlags[TransformFlags["ObjectLiteralExcludes"] = 536973312] = "ObjectLiteralExcludes"; - TransformFlags[TransformFlags["ArrayLiteralOrCallOrNewExcludes"] = 536887296] = "ArrayLiteralOrCallOrNewExcludes"; - TransformFlags[TransformFlags["VariableDeclarationListExcludes"] = 537165824] = "VariableDeclarationListExcludes"; - TransformFlags[TransformFlags["ParameterExcludes"] = 536870912] = "ParameterExcludes"; - TransformFlags[TransformFlags["CatchClauseExcludes"] = 536903680] = "CatchClauseExcludes"; - TransformFlags[TransformFlags["BindingPatternExcludes"] = 536887296] = "BindingPatternExcludes"; - TransformFlags[TransformFlags["ContainsLexicalThisOrSuper"] = 33562624] = "ContainsLexicalThisOrSuper"; + TransformFlags[TransformFlags["ObjectLiteralExcludes"] = -2147278848] = "ObjectLiteralExcludes"; + TransformFlags[TransformFlags["ArrayLiteralOrCallOrNewExcludes"] = -2147450880] = "ArrayLiteralOrCallOrNewExcludes"; + TransformFlags[TransformFlags["VariableDeclarationListExcludes"] = -2146893824] = "VariableDeclarationListExcludes"; + TransformFlags[TransformFlags["ParameterExcludes"] = -2147483648] = "ParameterExcludes"; + TransformFlags[TransformFlags["CatchClauseExcludes"] = -2147418112] = "CatchClauseExcludes"; + TransformFlags[TransformFlags["BindingPatternExcludes"] = -2147450880] = "BindingPatternExcludes"; + TransformFlags[TransformFlags["ContainsLexicalThisOrSuper"] = 134234112] = "ContainsLexicalThisOrSuper"; // Propagating flags // - Bitmasks for flags that should propagate from a child - TransformFlags[TransformFlags["PropertyNamePropagatingFlags"] = 33562624] = "PropertyNamePropagatingFlags"; + TransformFlags[TransformFlags["PropertyNamePropagatingFlags"] = 134234112] = "PropertyNamePropagatingFlags"; // Masks // - Additional bitmasks })(TransformFlags = ts.TransformFlags || (ts.TransformFlags = {})); @@ -5990,7 +6120,7 @@ var ts; ListFormat[ListFormat["SingleElement"] = 1048576] = "SingleElement"; ListFormat[ListFormat["SpaceAfterList"] = 2097152] = "SpaceAfterList"; // Precomputed Formats - ListFormat[ListFormat["Modifiers"] = 262656] = "Modifiers"; + ListFormat[ListFormat["Modifiers"] = 2359808] = "Modifiers"; ListFormat[ListFormat["HeritageClauses"] = 512] = "HeritageClauses"; ListFormat[ListFormat["SingleLineTypeLiteralMembers"] = 768] = "SingleLineTypeLiteralMembers"; ListFormat[ListFormat["MultiLineTypeLiteralMembers"] = 32897] = "MultiLineTypeLiteralMembers"; @@ -6385,7 +6515,7 @@ var ts; }; } function createDirectoryWatcher(dirName, dirPath, fallbackOptions) { - var watcher = fsWatch(dirName, 1 /* FileSystemEntryKind.Directory */, function (_eventName, relativeFileName) { + var watcher = fsWatch(dirName, 1 /* FileSystemEntryKind.Directory */, function (_eventName, relativeFileName, modifiedTime) { // When files are deleted from disk, the triggered "rename" event would have a relativefileName of "undefined" if (!ts.isString(relativeFileName)) return; @@ -6395,7 +6525,7 @@ var ts; if (callbacks) { for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) { var fileCallback = callbacks_1[_i]; - fileCallback(fileName, FileWatcherEventKind.Changed); + fileCallback(fileName, FileWatcherEventKind.Changed, modifiedTime); } } }, @@ -6449,7 +6579,7 @@ var ts; } else { cache.set(path, { - watcher: watchFile(fileName, function (fileName, eventKind) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind); }); }, pollingInterval, options), + watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options), refCount: 1 }); } @@ -6477,7 +6607,8 @@ var ts; var newTime = modifiedTime.getTime(); if (oldTime !== newTime) { watchedFile.mtime = modifiedTime; - watchedFile.callback(watchedFile.fileName, getFileWatcherEventKind(oldTime, newTime)); + // Pass modified times so tsc --build can use it + watchedFile.callback(watchedFile.fileName, getFileWatcherEventKind(oldTime, newTime), modifiedTime); return true; } return false; @@ -6512,7 +6643,7 @@ var ts; */ /*@internal*/ function createDirectoryWatcherSupportingRecursive(_a) { - var watchDirectory = _a.watchDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, directoryExists = _a.directoryExists, realpath = _a.realpath, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout; + var watchDirectory = _a.watchDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, fileSystemEntryExists = _a.fileSystemEntryExists, realpath = _a.realpath, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout; var cache = new ts.Map(); var callbackCache = ts.createMultiMap(); var cacheToUpdateChildWatches = new ts.Map(); @@ -6612,7 +6743,7 @@ var ts; function nonSyncUpdateChildWatches(dirName, dirPath, fileName, options) { // Iterate through existing children and update the watches if needed var parentWatcher = cache.get(dirPath); - if (parentWatcher && directoryExists(dirName)) { + if (parentWatcher && fileSystemEntryExists(dirName, 1 /* FileSystemEntryKind.Directory */)) { // Schedule the update and postpone invoke for callbacks scheduleUpdateChildWatches(dirName, dirPath, fileName, options); return; @@ -6685,7 +6816,7 @@ var ts; if (!parentWatcher) return false; var newChildWatches; - var hasChanges = ts.enumerateInsertsAndDeletes(directoryExists(parentDir) ? ts.mapDefined(getAccessibleSortedChildDirectories(parentDir), function (child) { + var hasChanges = ts.enumerateInsertsAndDeletes(fileSystemEntryExists(parentDir, 1 /* FileSystemEntryKind.Directory */) ? ts.mapDefined(getAccessibleSortedChildDirectories(parentDir), function (child) { var childFullName = ts.getNormalizedAbsolutePath(child, parentDir); // Filter our the symbolic link directories since those arent included in recursive watch // which is same behaviour when recursive: true is passed to fs.watch @@ -6728,17 +6859,19 @@ var ts; })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {})); /*@internal*/ function createFileWatcherCallback(callback) { - return function (_fileName, eventKind) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", ""); }; + return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); }; } ts.createFileWatcherCallback = createFileWatcherCallback; - function createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileExists) { - return function (eventName) { + function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) { + return function (eventName, _relativeFileName, modifiedTime) { if (eventName === "rename") { - callback(fileName, fileExists(fileName) ? FileWatcherEventKind.Created : FileWatcherEventKind.Deleted); + // Check time stamps rather than file system entry checks + modifiedTime || (modifiedTime = getModifiedTime(fileName) || ts.missingFileModifiedTime); + callback(fileName, modifiedTime !== ts.missingFileModifiedTime ? FileWatcherEventKind.Created : FileWatcherEventKind.Deleted, modifiedTime); } else { // Change - callback(fileName, FileWatcherEventKind.Changed); + callback(fileName, FileWatcherEventKind.Changed, modifiedTime); } }; } @@ -6762,11 +6895,12 @@ var ts; } /*@internal*/ function createSystemWatchFunctions(_a) { - var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatch = _a.fsWatch, fileExists = _a.fileExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, directoryExists = _a.directoryExists, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind; + var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog; var dynamicPollingWatchFile; var fixedChunkSizePollingWatchFile; var nonPollingWatchFile; var hostRecursiveDirectoryWatcher; + var hitSystemWatcherLimit = false; return { watchFile: watchFile, watchDirectory: watchDirectory @@ -6784,7 +6918,7 @@ var ts; case ts.WatchFileKind.FixedChunkSizePolling: return ensureFixedChunkSizePollingWatchFile()(fileName, callback, /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchFileKind.UseFsEvents: - return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, fileExists), + return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime), /*recursive*/ false, pollingInterval, ts.getFallbackOptions(options)); case ts.WatchFileKind.UseFsEventsOnParentDirectory: if (!nonPollingWatchFile) { @@ -6845,7 +6979,7 @@ var ts; hostRecursiveDirectoryWatcher = createDirectoryWatcherSupportingRecursive({ useCaseSensitiveFileNames: useCaseSensitiveFileNames, getCurrentDirectory: getCurrentDirectory, - directoryExists: directoryExists, + fileSystemEntryExists: fileSystemEntryExists, getAccessibleSortedChildDirectories: getAccessibleSortedChildDirectories, watchDirectory: nonRecursiveWatchDirectory, realpath: realpath, @@ -6896,6 +7030,124 @@ var ts; }; } } + function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) { + var lastDirectoryPartWithDirectorySeparator; + var lastDirectoryPart; + if (inodeWatching) { + lastDirectoryPartWithDirectorySeparator = fileOrDirectory.substring(fileOrDirectory.lastIndexOf(ts.directorySeparator)); + lastDirectoryPart = lastDirectoryPartWithDirectorySeparator.slice(ts.directorySeparator.length); + } + /** Watcher for the file system entry depending on whether it is missing or present */ + var watcher = !fileSystemEntryExists(fileOrDirectory, entryKind) ? + watchMissingFileSystemEntry() : + watchPresentFileSystemEntry(); + return { + close: function () { + // Close the watcher (either existing file system entry watcher or missing file system entry watcher) + if (watcher) { + watcher.close(); + watcher = undefined; + } + } + }; + function updateWatcher(createWatcher) { + // If watcher is not closed, update it + if (watcher) { + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher")); + watcher.close(); + watcher = createWatcher(); + } + } + /** + * Watch the file or directory that is currently present + * and when the watched file or directory is deleted, switch to missing file system entry watcher + */ + function watchPresentFileSystemEntry() { + if (hitSystemWatcherLimit) { + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to watchFile")); + return watchPresentFileSystemEntryWithFsWatchFile(); + } + try { + var presentWatcher = fsWatchWorker(fileOrDirectory, recursive, inodeWatching ? + callbackChangingToMissingFileSystemEntry : + callback); + // Watch the missing file or directory or error + presentWatcher.on("error", function () { + callback("rename", ""); + updateWatcher(watchMissingFileSystemEntry); + }); + return presentWatcher; + } + catch (e) { + // Catch the exception and use polling instead + // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point + // so instead of throwing error, use fs.watchFile + hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC"); + sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to watchFile")); + return watchPresentFileSystemEntryWithFsWatchFile(); + } + } + function callbackChangingToMissingFileSystemEntry(event, relativeName) { + // In some scenarios, file save operation fires event with fileName.ext~ instead of fileName.ext + // To ensure we see the file going missing and coming back up (file delete and then recreated) + // and watches being updated correctly we are calling back with fileName.ext as well as fileName.ext~ + // The worst is we have fired event that was not needed but we wont miss any changes + // especially in cases where file goes missing and watches wrong inode + var originalRelativeName; + if (relativeName && ts.endsWith(relativeName, "~")) { + originalRelativeName = relativeName; + relativeName = relativeName.slice(0, relativeName.length - 1); + } + // because relativeName is not guaranteed to be correct we need to check on each rename with few combinations + // Eg on ubuntu while watching app/node_modules the relativeName is "node_modules" which is neither relative nor full path + if (event === "rename" && + (!relativeName || + relativeName === lastDirectoryPart || + ts.endsWith(relativeName, lastDirectoryPartWithDirectorySeparator))) { + var modifiedTime = getModifiedTime(fileOrDirectory) || ts.missingFileModifiedTime; + if (originalRelativeName) + callback(event, originalRelativeName, modifiedTime); + callback(event, relativeName, modifiedTime); + if (inodeWatching) { + // If this was rename event, inode has changed means we need to update watcher + updateWatcher(modifiedTime === ts.missingFileModifiedTime ? watchMissingFileSystemEntry : watchPresentFileSystemEntry); + } + else if (modifiedTime === ts.missingFileModifiedTime) { + updateWatcher(watchMissingFileSystemEntry); + } + } + else { + if (originalRelativeName) + callback(event, originalRelativeName); + callback(event, relativeName); + } + } + /** + * Watch the file or directory using fs.watchFile since fs.watch threw exception + * Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point + */ + function watchPresentFileSystemEntryWithFsWatchFile() { + return watchFile(fileOrDirectory, createFileWatcherCallback(callback), fallbackPollingInterval, fallbackOptions); + } + /** + * Watch the file or directory that is missing + * and switch to existing file or directory when the missing filesystem entry is created + */ + function watchMissingFileSystemEntry() { + return watchFile(fileOrDirectory, function (_fileName, eventKind, modifiedTime) { + if (eventKind === FileWatcherEventKind.Created) { + modifiedTime || (modifiedTime = getModifiedTime(fileOrDirectory) || ts.missingFileModifiedTime); + if (modifiedTime !== ts.missingFileModifiedTime) { + callback("rename", "", modifiedTime); + // Call the callback for current file or directory + // For now it could be callback for the inner directory creation, + // but just return current directory, better than current no-op + updateWatcher(watchPresentFileSystemEntry); + } + } + }, fallbackPollingInterval, fallbackOptions); + } + } } ts.createSystemWatchFunctions = createSystemWatchFunctions; /** @@ -6948,7 +7200,6 @@ var ts; } var activeSession; var profilePath = "./profile.cpuprofile"; - var hitSystemWatcherLimit = false; var Buffer = require("buffer").Buffer; var nodeVersion = getNodeMajorVersion(); var isNode4OrLater = nodeVersion >= 4; @@ -6963,20 +7214,21 @@ var ts; getModifiedTime: getModifiedTime, setTimeout: setTimeout, clearTimeout: clearTimeout, - fsWatch: fsWatch, + fsWatchWorker: fsWatchWorker, useCaseSensitiveFileNames: useCaseSensitiveFileNames, getCurrentDirectory: getCurrentDirectory, - fileExists: fileExists, + fileSystemEntryExists: fileSystemEntryExists, // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643) fsSupportsRecursiveFsWatch: fsSupportsRecursiveFsWatch, - directoryExists: directoryExists, getAccessibleSortedChildDirectories: function (path) { return getAccessibleFileSystemEntries(path).directories; }, realpath: realpath, tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, tscWatchDirectory: process.env.TSC_WATCHDIRECTORY, defaultWatchFileKind: function () { var _a, _b; return (_b = (_a = sys).defaultWatchFileKind) === null || _b === void 0 ? void 0 : _b.call(_a); }, + inodeWatching: isLinuxOrMacOs, + sysLog: sysLog, }), watchFile = _c.watchFile, watchDirectory = _c.watchDirectory; var nodeSystem = { args: process.argv.slice(2), @@ -7226,110 +7478,14 @@ var ts; // File changed eventKind = FileWatcherEventKind.Changed; } - callback(fileName, eventKind); + callback(fileName, eventKind, curr.mtime); } } - function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) { - var options; - var lastDirectoryPartWithDirectorySeparator; - var lastDirectoryPart; - if (isLinuxOrMacOs) { - lastDirectoryPartWithDirectorySeparator = fileOrDirectory.substr(fileOrDirectory.lastIndexOf(ts.directorySeparator)); - lastDirectoryPart = lastDirectoryPartWithDirectorySeparator.slice(ts.directorySeparator.length); - } - /** Watcher for the file system entry depending on whether it is missing or present */ - var watcher = !fileSystemEntryExists(fileOrDirectory, entryKind) ? - watchMissingFileSystemEntry() : - watchPresentFileSystemEntry(); - return { - close: function () { - // Close the watcher (either existing file system entry watcher or missing file system entry watcher) - watcher.close(); - watcher = undefined; - } - }; - /** - * Invoke the callback with rename and update the watcher if not closed - * @param createWatcher - */ - function invokeCallbackAndUpdateWatcher(createWatcher) { - sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher")); - // Call the callback for current directory - callback("rename", ""); - // If watcher is not closed, update it - if (watcher) { - watcher.close(); - watcher = createWatcher(); - } - } - /** - * Watch the file or directory that is currently present - * and when the watched file or directory is deleted, switch to missing file system entry watcher - */ - function watchPresentFileSystemEntry() { - // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows - // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643) - if (options === undefined) { - if (fsSupportsRecursiveFsWatch) { - options = { persistent: true, recursive: !!recursive }; - } - else { - options = { persistent: true }; - } - } - if (hitSystemWatcherLimit) { - sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to fsWatchFile")); - return watchPresentFileSystemEntryWithFsWatchFile(); - } - try { - var presentWatcher = _fs.watch(fileOrDirectory, options, isLinuxOrMacOs ? - callbackChangingToMissingFileSystemEntry : - callback); - // Watch the missing file or directory or error - presentWatcher.on("error", function () { return invokeCallbackAndUpdateWatcher(watchMissingFileSystemEntry); }); - return presentWatcher; - } - catch (e) { - // Catch the exception and use polling instead - // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point - // so instead of throwing error, use fs.watchFile - hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC"); - sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to fsWatchFile")); - return watchPresentFileSystemEntryWithFsWatchFile(); - } - } - function callbackChangingToMissingFileSystemEntry(event, relativeName) { - // because relativeName is not guaranteed to be correct we need to check on each rename with few combinations - // Eg on ubuntu while watching app/node_modules the relativeName is "node_modules" which is neither relative nor full path - return event === "rename" && - (!relativeName || - relativeName === lastDirectoryPart || - (relativeName.lastIndexOf(lastDirectoryPartWithDirectorySeparator) !== -1 && relativeName.lastIndexOf(lastDirectoryPartWithDirectorySeparator) === relativeName.length - lastDirectoryPartWithDirectorySeparator.length)) && - !fileSystemEntryExists(fileOrDirectory, entryKind) ? - invokeCallbackAndUpdateWatcher(watchMissingFileSystemEntry) : - callback(event, relativeName); - } - /** - * Watch the file or directory using fs.watchFile since fs.watch threw exception - * Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point - */ - function watchPresentFileSystemEntryWithFsWatchFile() { - return watchFile(fileOrDirectory, createFileWatcherCallback(callback), fallbackPollingInterval, fallbackOptions); - } - /** - * Watch the file or directory that is missing - * and switch to existing file or directory when the missing filesystem entry is created - */ - function watchMissingFileSystemEntry() { - return watchFile(fileOrDirectory, function (_fileName, eventKind) { - if (eventKind === FileWatcherEventKind.Created && fileSystemEntryExists(fileOrDirectory, entryKind)) { - // Call the callback for current file or directory - // For now it could be callback for the inner directory creation, - // but just return current directory, better than current no-op - invokeCallbackAndUpdateWatcher(watchPresentFileSystemEntry); - } - }, fallbackPollingInterval, fallbackOptions); - } + function fsWatchWorker(fileOrDirectory, recursive, callback) { + // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows + // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643) + return _fs.watch(fileOrDirectory, fsSupportsRecursiveFsWatch ? + { persistent: true, recursive: !!recursive } : { persistent: true }, callback); } function readFileWorker(fileName, _encoding) { var buffer; @@ -7476,12 +7632,19 @@ var ts; } function getModifiedTime(path) { var _a; + // Since the error thrown by fs.statSync isn't used, we can avoid collecting a stack trace to improve + // the CPU time performance. + var originalStackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = 0; try { return (_a = statSync(path)) === null || _a === void 0 ? void 0 : _a.mtime; } catch (e) { return undefined; } + finally { + Error.stackTraceLimit = originalStackTraceLimit; + } } function setModifiedTime(path, time) { try { @@ -8336,6 +8499,7 @@ var ts; String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."), Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."), or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."), + or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."), Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."), Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."), Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."), @@ -8389,6 +8553,7 @@ var ts; Decorators_are_not_valid_here: diag(1206, ts.DiagnosticCategory.Error, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."), Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: diag(1207, ts.DiagnosticCategory.Error, "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207", "Decorators cannot be applied to multiple get/set accessors of the same name."), _0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module: diag(1208, ts.DiagnosticCategory.Error, "_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208", "'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."), + Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0: diag(1209, ts.DiagnosticCategory.Error, "Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209", "Invalid optional chain from new expression. Did you mean to call '{0}()'?"), Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode: diag(1210, ts.DiagnosticCategory.Error, "Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210", "Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."), A_class_declaration_without_the_default_modifier_must_have_a_name: diag(1211, ts.DiagnosticCategory.Error, "A_class_declaration_without_the_default_modifier_must_have_a_name_1211", "A class declaration without the 'default' modifier must have a name."), Identifier_expected_0_is_a_reserved_word_in_strict_mode: diag(1212, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212", "Identifier expected. '{0}' is a reserved word in strict mode."), @@ -8481,6 +8646,7 @@ var ts; infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type: diag(1338, ts.DiagnosticCategory.Error, "infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338", "'infer' declarations are only permitted in the 'extends' clause of a conditional type."), Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: diag(1339, ts.DiagnosticCategory.Error, "Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339", "Module '{0}' does not refer to a value, but is used as a value here."), Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: diag(1340, ts.DiagnosticCategory.Error, "Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340", "Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"), + Class_constructor_may_not_be_an_accessor: diag(1341, ts.DiagnosticCategory.Error, "Class_constructor_may_not_be_an_accessor_1341", "Class constructor may not be an accessor."), Type_arguments_cannot_be_used_here: diag(1342, ts.DiagnosticCategory.Error, "Type_arguments_cannot_be_used_here_1342", "Type arguments cannot be used here."), The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext: diag(1343, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."), A_label_is_not_allowed_here: diag(1344, ts.DiagnosticCategory.Error, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."), @@ -8499,6 +8665,7 @@ var ts; An_enum_member_name_must_be_followed_by_a_or: diag(1357, ts.DiagnosticCategory.Error, "An_enum_member_name_must_be_followed_by_a_or_1357", "An enum member name must be followed by a ',', '=', or '}'."), Tagged_template_expressions_are_not_permitted_in_an_optional_chain: diag(1358, ts.DiagnosticCategory.Error, "Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358", "Tagged template expressions are not permitted in an optional chain."), Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here: diag(1359, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359", "Identifier expected. '{0}' is a reserved word that cannot be used here."), + Class_constructor_may_not_be_a_generator: diag(1360, ts.DiagnosticCategory.Error, "Class_constructor_may_not_be_a_generator_1360", "Class constructor may not be a generator."), _0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type: diag(1361, ts.DiagnosticCategory.Error, "_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361", "'{0}' cannot be used as a value because it was imported using 'import type'."), _0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type: diag(1362, ts.DiagnosticCategory.Error, "_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362", "'{0}' cannot be used as a value because it was exported using 'export type'."), A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both: diag(1363, ts.DiagnosticCategory.Error, "A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363", "A type-only import can specify a default import or named bindings, but not both."), @@ -8583,18 +8750,30 @@ var ts; Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: diag(1449, ts.DiagnosticCategory.Message, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."), Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments: diag(1450, ts.DiagnosticCategory.Message, "Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450", "Dynamic imports can only accept a module specifier and an optional assertion as arguments"), Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression: diag(1451, ts.DiagnosticCategory.Error, "Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451", "Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"), - Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452", "Resolution modes are only supported when `moduleResolution` is `node16` or `nodenext`."), + resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext: diag(1452, ts.DiagnosticCategory.Error, "resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452", "'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."), resolution_mode_should_be_either_require_or_import: diag(1453, ts.DiagnosticCategory.Error, "resolution_mode_should_be_either_require_or_import_1453", "`resolution-mode` should be either `require` or `import`."), resolution_mode_can_only_be_set_for_type_only_imports: diag(1454, ts.DiagnosticCategory.Error, "resolution_mode_can_only_be_set_for_type_only_imports_1454", "`resolution-mode` can only be set for type-only imports."), resolution_mode_is_the_only_valid_key_for_type_import_assertions: diag(1455, ts.DiagnosticCategory.Error, "resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455", "`resolution-mode` is the only valid key for type import assertions."), Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require: diag(1456, ts.DiagnosticCategory.Error, "Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456", "Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."), + Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk: diag(1457, ts.DiagnosticCategory.Message, "Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457", "Matched by default include pattern '**/*'"), + File_is_ECMAScript_module_because_0_has_field_type_with_value_module: diag(1458, ts.DiagnosticCategory.Message, "File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458", "File is ECMAScript module because '{0}' has field \"type\" with value \"module\""), + File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module: diag(1459, ts.DiagnosticCategory.Message, "File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459", "File is CommonJS module because '{0}' has field \"type\" whose value is not \"module\""), + File_is_CommonJS_module_because_0_does_not_have_field_type: diag(1460, ts.DiagnosticCategory.Message, "File_is_CommonJS_module_because_0_does_not_have_field_type_1460", "File is CommonJS module because '{0}' does not have field \"type\""), + File_is_CommonJS_module_because_package_json_was_not_found: diag(1461, ts.DiagnosticCategory.Message, "File_is_CommonJS_module_because_package_json_was_not_found_1461", "File is CommonJS module because 'package.json' was not found"), The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output: diag(1470, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470", "The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."), - Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead: diag(1471, ts.DiagnosticCategory.Error, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported synchronously. Use dynamic import instead."), + Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead: diag(1471, ts.DiagnosticCategory.Error, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."), catch_or_finally_expected: diag(1472, ts.DiagnosticCategory.Error, "catch_or_finally_expected_1472", "'catch' or 'finally' expected."), An_import_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1473, ts.DiagnosticCategory.Error, "An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473", "An import declaration can only be used at the top level of a module."), An_export_declaration_can_only_be_used_at_the_top_level_of_a_module: diag(1474, ts.DiagnosticCategory.Error, "An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474", "An export declaration can only be used at the top level of a module."), Control_what_method_is_used_to_detect_module_format_JS_files: diag(1475, ts.DiagnosticCategory.Message, "Control_what_method_is_used_to_detect_module_format_JS_files_1475", "Control what method is used to detect module-format JS files."), auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules: diag(1476, ts.DiagnosticCategory.Message, "auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476", "\"auto\": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules."), + An_instantiation_expression_cannot_be_followed_by_a_property_access: diag(1477, ts.DiagnosticCategory.Error, "An_instantiation_expression_cannot_be_followed_by_a_property_access_1477", "An instantiation expression cannot be followed by a property access."), + Identifier_or_string_literal_expected: diag(1478, ts.DiagnosticCategory.Error, "Identifier_or_string_literal_expected_1478", "Identifier or string literal expected."), + The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead: diag(1479, ts.DiagnosticCategory.Error, "The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479", "The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"{0}\")' call instead."), + To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module: diag(1480, ts.DiagnosticCategory.Message, "To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480", "To convert this file to an ECMAScript module, change its file extension to '{0}' or create a local package.json file with `{ \"type\": \"module\" }`."), + To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1: diag(1481, ts.DiagnosticCategory.Message, "To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481", "To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field `\"type\": \"module\"` to '{1}'."), + To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0: diag(1482, ts.DiagnosticCategory.Message, "To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482", "To convert this file to an ECMAScript module, add the field `\"type\": \"module\"` to '{0}'."), + To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module: diag(1483, ts.DiagnosticCategory.Message, "To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483", "To convert this file to an ECMAScript module, create a local package.json file with `{ \"type\": \"module\" }`."), The_types_of_0_are_incompatible_between_these_types: diag(2200, ts.DiagnosticCategory.Error, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."), The_types_returned_by_0_are_incompatible_between_these_types: diag(2201, ts.DiagnosticCategory.Error, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."), Call_signature_return_types_0_and_1_are_incompatible: diag(2202, ts.DiagnosticCategory.Error, "Call_signature_return_types_0_and_1_are_incompatible_2202", "Call signature return types '{0}' and '{1}' are incompatible.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), @@ -8603,8 +8782,11 @@ var ts; Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1: diag(2205, ts.DiagnosticCategory.Error, "Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205", "Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.", /*reportsUnnecessary*/ undefined, /*elidedInCompatabilityPyramid*/ true), The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement: diag(2206, ts.DiagnosticCategory.Error, "The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206", "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."), The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement: diag(2207, ts.DiagnosticCategory.Error, "The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207", "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."), + This_type_parameter_might_need_an_extends_0_constraint: diag(2208, ts.DiagnosticCategory.Error, "This_type_parameter_might_need_an_extends_0_constraint_2208", "This type parameter might need an `extends {0}` constraint."), The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: diag(2209, ts.DiagnosticCategory.Error, "The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209", "The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."), The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate: diag(2210, ts.DiagnosticCategory.Error, "The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210", "The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."), + Add_extends_constraint: diag(2211, ts.DiagnosticCategory.Message, "Add_extends_constraint_2211", "Add `extends` constraint."), + Add_extends_constraint_to_all_type_parameters: diag(2212, ts.DiagnosticCategory.Message, "Add_extends_constraint_to_all_type_parameters_2212", "Add `extends` constraint to all type parameters"), Duplicate_identifier_0: diag(2300, ts.DiagnosticCategory.Error, "Duplicate_identifier_0_2300", "Duplicate identifier '{0}'."), Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: diag(2301, ts.DiagnosticCategory.Error, "Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301", "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), Static_members_cannot_reference_class_type_parameters: diag(2302, ts.DiagnosticCategory.Error, "Static_members_cannot_reference_class_type_parameters_2302", "Static members cannot reference class type parameters."), @@ -8805,6 +8987,7 @@ var ts; Cannot_create_an_instance_of_an_abstract_class: diag(2511, ts.DiagnosticCategory.Error, "Cannot_create_an_instance_of_an_abstract_class_2511", "Cannot create an instance of an abstract class."), Overload_signatures_must_all_be_abstract_or_non_abstract: diag(2512, ts.DiagnosticCategory.Error, "Overload_signatures_must_all_be_abstract_or_non_abstract_2512", "Overload signatures must all be abstract or non-abstract."), Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression: diag(2513, ts.DiagnosticCategory.Error, "Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513", "Abstract method '{0}' in class '{1}' cannot be accessed via super expression."), + A_tuple_type_cannot_be_indexed_with_a_negative_value: diag(2514, ts.DiagnosticCategory.Error, "A_tuple_type_cannot_be_indexed_with_a_negative_value_2514", "A tuple type cannot be indexed with a negative value."), Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2: diag(2515, ts.DiagnosticCategory.Error, "Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515", "Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."), All_declarations_of_an_abstract_method_must_be_consecutive: diag(2516, ts.DiagnosticCategory.Error, "All_declarations_of_an_abstract_method_must_be_consecutive_2516", "All declarations of an abstract method must be consecutive."), Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type: diag(2517, ts.DiagnosticCategory.Error, "Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517", "Cannot assign an abstract constructor type to a non-abstract constructor type."), @@ -9087,6 +9270,12 @@ var ts; Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls: diag(2836, ts.DiagnosticCategory.Error, "Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836", "Import assertions are not allowed on statements that transpile to commonjs 'require' calls."), Import_assertion_values_must_be_string_literal_expressions: diag(2837, ts.DiagnosticCategory.Error, "Import_assertion_values_must_be_string_literal_expressions_2837", "Import assertion values must be string literal expressions."), All_declarations_of_0_must_have_identical_constraints: diag(2838, ts.DiagnosticCategory.Error, "All_declarations_of_0_must_have_identical_constraints_2838", "All declarations of '{0}' must have identical constraints."), + This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value: diag(2839, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839", "This condition will always return '{0}' since JavaScript compares objects by reference, not value."), + An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes: diag(2840, ts.DiagnosticCategory.Error, "An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840", "An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"), + The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(2841, ts.DiagnosticCategory.Error, "The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841", "The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), + _0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation: diag(2842, ts.DiagnosticCategory.Error, "_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842", "'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"), + We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here: diag(2843, ts.DiagnosticCategory.Error, "We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843", "We can only write a type for '{0}' by adding a type for the entire parameter here."), + Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: diag(2844, ts.DiagnosticCategory.Error, "Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844", "Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -9194,7 +9383,7 @@ var ts; This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0: diag(4122, ts.DiagnosticCategory.Error, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122", "This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."), This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1: diag(4123, ts.DiagnosticCategory.Error, "This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123", "This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"), Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4124, ts.DiagnosticCategory.Error, "Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124", "Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), - Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4125, ts.DiagnosticCategory.Error, "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125", "Resolution mode assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), + resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next: diag(4125, ts.DiagnosticCategory.Error, "resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125", "'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."), The_current_host_does_not_support_the_0_option: diag(5001, ts.DiagnosticCategory.Error, "The_current_host_does_not_support_the_0_option_5001", "The current host does not support the '{0}' option."), Cannot_find_the_common_subdirectory_path_for_the_input_files: diag(5009, ts.DiagnosticCategory.Error, "Cannot_find_the_common_subdirectory_path_for_the_input_files_5009", "Cannot find the common subdirectory path for the input files."), File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: diag(5010, ts.DiagnosticCategory.Error, "File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010", "File specification cannot end in a recursive directory wildcard ('**'): '{0}'."), @@ -9497,8 +9686,8 @@ var ts; Cannot_prepend_project_0_because_it_does_not_have_outFile_set: diag(6308, ts.DiagnosticCategory.Error, "Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308", "Cannot prepend project '{0}' because it does not have 'outFile' set"), Output_file_0_from_project_1_does_not_exist: diag(6309, ts.DiagnosticCategory.Error, "Output_file_0_from_project_1_does_not_exist_6309", "Output file '{0}' from project '{1}' does not exist"), Referenced_project_0_may_not_disable_emit: diag(6310, ts.DiagnosticCategory.Error, "Referenced_project_0_may_not_disable_emit_6310", "Referenced project '{0}' may not disable emit."), - Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2: diag(6350, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350", "Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"), - Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2: diag(6351, ts.DiagnosticCategory.Message, "Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351", "Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"), + Project_0_is_out_of_date_because_output_1_is_older_than_input_2: diag(6350, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350", "Project '{0}' is out of date because output '{1}' is older than input '{2}'"), + Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2: diag(6351, ts.DiagnosticCategory.Message, "Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351", "Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"), Project_0_is_out_of_date_because_output_file_1_does_not_exist: diag(6352, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352", "Project '{0}' is out of date because output file '{1}' does not exist"), Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date: diag(6353, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353", "Project '{0}' is out of date because its dependency '{1}' is out of date"), Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies: diag(6354, ts.DiagnosticCategory.Message, "Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354", "Project '{0}' is up to date with .d.ts files from its dependencies"), @@ -9542,6 +9731,8 @@ var ts; Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3: diag(6396, ts.DiagnosticCategory.Message, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."), Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4: diag(6397, ts.DiagnosticCategory.Message, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."), Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved: diag(6398, ts.DiagnosticCategory.Message, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."), + Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted: diag(6399, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399", "Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"), + Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files: diag(6400, ts.DiagnosticCategory.Message, "Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400", "Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"), The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1: diag(6500, ts.DiagnosticCategory.Message, "The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500", "The expected type comes from property '{0}' which is declared here on type '{1}'"), The_expected_type_comes_from_this_index_signature: diag(6501, ts.DiagnosticCategory.Message, "The_expected_type_comes_from_this_index_signature_6501", "The expected type comes from this index signature."), The_expected_type_comes_from_the_return_type_of_this_signature: diag(6502, ts.DiagnosticCategory.Message, "The_expected_type_comes_from_the_return_type_of_this_signature_6502", "The expected type comes from the return type of this signature."), @@ -9782,6 +9973,8 @@ var ts; Qualified_name_0_is_not_allowed_without_a_leading_param_object_1: diag(8032, ts.DiagnosticCategory.Error, "Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032", "Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."), A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags: diag(8033, ts.DiagnosticCategory.Error, "A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033", "A JSDoc '@typedef' comment may not contain multiple '@type' tags."), The_tag_was_first_specified_here: diag(8034, ts.DiagnosticCategory.Error, "The_tag_was_first_specified_here_8034", "The tag was first specified here."), + You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder: diag(8035, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035", "You cannot rename elements that are defined in a 'node_modules' folder."), + You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder: diag(8036, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036", "You cannot rename elements that are defined in another 'node_modules' folder."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, ts.DiagnosticCategory.Error, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, ts.DiagnosticCategory.Error, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17000, ts.DiagnosticCategory.Error, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), @@ -10052,6 +10245,9 @@ var ts; For_await_loops_cannot_be_used_inside_a_class_static_block: diag(18038, ts.DiagnosticCategory.Error, "For_await_loops_cannot_be_used_inside_a_class_static_block_18038", "'For await' loops cannot be used inside a class static block."), Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block: diag(18039, ts.DiagnosticCategory.Error, "Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039", "Invalid use of '{0}'. It cannot be used inside a class static block."), A_return_statement_cannot_be_used_inside_a_class_static_block: diag(18041, ts.DiagnosticCategory.Error, "A_return_statement_cannot_be_used_inside_a_class_static_block_18041", "A 'return' statement cannot be used inside a class static block."), + _0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation: diag(18042, ts.DiagnosticCategory.Error, "_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042", "'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."), + Types_cannot_appear_in_export_declarations_in_JavaScript_files: diag(18043, ts.DiagnosticCategory.Error, "Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043", "Types cannot appear in export declarations in JavaScript files."), + _0_is_automatically_exported_here: diag(18044, ts.DiagnosticCategory.Message, "_0_is_automatically_exported_here_18044", "'{0}' is automatically exported here."), }; })(ts || (ts = {})); var ts; @@ -12939,6 +13135,18 @@ var ts; } } ts.getAssignedName = getAssignedName; + function getDecorators(node) { + if (ts.hasDecorators(node)) { + return ts.filter(node.modifiers, ts.isDecorator); + } + } + ts.getDecorators = getDecorators; + function getModifiers(node) { + if (ts.hasSyntacticModifier(node, 125951 /* ModifierFlags.Modifier */)) { + return ts.filter(node.modifiers, isModifier); + } + } + ts.getModifiers = getModifiers; function getJSDocParameterTagsWorker(param, noCache) { if (param.name) { if (ts.isIdentifier(param.name)) { @@ -13209,6 +13417,12 @@ var ts; /** * Gets the effective type parameters. If the node was parsed in a * JavaScript file, gets the type parameters from the `@template` tag from JSDoc. + * + * This does *not* return type parameters from a jsdoc reference to a generic type, eg + * + * type Id = (x: T) => T + * /** @type {Id} / + * function id(x) { return x } */ function getEffectiveTypeParameterDeclarations(node) { if (ts.isJSDocSignature(node)) { @@ -13221,6 +13435,9 @@ var ts; if (node.typeParameters) { return node.typeParameters; } + if (ts.canHaveIllegalTypeParameters(node) && node.typeParameters) { + return node.typeParameters; + } if (ts.isInJSFile(node)) { var decls = ts.getJSDocTypeParameterDeclarations(node); if (decls.length) { @@ -13397,6 +13614,19 @@ var ts; return isLiteralKind(node.kind); } ts.isLiteralExpression = isLiteralExpression; + /** @internal */ + function isLiteralExpressionOfObject(node) { + switch (node.kind) { + case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 13 /* SyntaxKind.RegularExpressionLiteral */: + case 213 /* SyntaxKind.FunctionExpression */: + case 226 /* SyntaxKind.ClassExpression */: + return true; + } + return false; + } + ts.isLiteralExpressionOfObject = isLiteralExpressionOfObject; // Pseudo-literals /* @internal */ function isTemplateLiteralKind(kind) { @@ -13606,6 +13836,10 @@ var ts; } ts.isMethodOrAccessor = isMethodOrAccessor; // Type members + function isModifierLike(node) { + return isModifier(node) || ts.isDecorator(node); + } + ts.isModifierLike = isModifierLike; function isTypeElement(node) { var kind = node.kind; return kind === 175 /* SyntaxKind.ConstructSignature */ @@ -14215,7 +14449,6 @@ var ts; case 254 /* SyntaxKind.VariableDeclaration */: case 164 /* SyntaxKind.Parameter */: case 203 /* SyntaxKind.BindingElement */: - case 166 /* SyntaxKind.PropertySignature */: case 167 /* SyntaxKind.PropertyDeclaration */: case 296 /* SyntaxKind.PropertyAssignment */: case 299 /* SyntaxKind.EnumMember */: @@ -14267,6 +14500,16 @@ var ts; return node.kind === 324 /* SyntaxKind.JSDocLink */ || node.kind === 325 /* SyntaxKind.JSDocLinkCode */ || node.kind === 326 /* SyntaxKind.JSDocLinkPlain */; } ts.isJSDocLinkLike = isJSDocLinkLike; + function hasRestParameter(s) { + var last = ts.lastOrUndefined(s.parameters); + return !!last && isRestParameter(last); + } + ts.hasRestParameter = hasRestParameter; + function isRestParameter(node) { + var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; + return node.dotDotDotToken !== undefined || !!type && type.kind === 318 /* SyntaxKind.JSDocVariadicType */; + } + ts.isRestParameter = isRestParameter; // #endregion })(ts || (ts = {})); /* @internal */ @@ -14747,10 +14990,11 @@ var ts; } ts.getTokenPosOfNode = getTokenPosOfNode; function getNonDecoratorTokenPosOfNode(node, sourceFile) { - if (nodeIsMissing(node) || !node.decorators) { + var lastDecorator = !nodeIsMissing(node) && ts.canHaveModifiers(node) ? ts.findLast(node.modifiers, ts.isDecorator) : undefined; + if (!lastDecorator) { return getTokenPosOfNode(node, sourceFile); } - return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.decorators.end); + return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, lastDecorator.end); } ts.getNonDecoratorTokenPosOfNode = getNonDecoratorTokenPosOfNode; function getSourceTextOfNodeFromSourceFile(sourceFile, node, includeTrivia) { @@ -16136,7 +16380,7 @@ var ts; } ts.nodeCanBeDecorated = nodeCanBeDecorated; function nodeIsDecorated(node, parent, grandparent) { - return node.decorators !== undefined + return hasDecorators(node) && nodeCanBeDecorated(node, parent, grandparent); // TODO: GH#18217 } ts.nodeIsDecorated = nodeIsDecorated; @@ -16212,6 +16456,8 @@ var ts; case 218 /* SyntaxKind.AwaitExpression */: case 231 /* SyntaxKind.MetaProperty */: return true; + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + return !ts.isHeritageClause(node.parent); case 161 /* SyntaxKind.QualifiedName */: while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { node = node.parent; @@ -16383,9 +16629,6 @@ var ts; } ts.isVariableDeclarationInitializedToBareOrAccessedRequire = isVariableDeclarationInitializedToBareOrAccessedRequire; function isVariableDeclarationInitializedWithRequireHelper(node, allowAccessedRequire) { - if (node.kind === 203 /* SyntaxKind.BindingElement */) { - node = node.parent.parent; - } return ts.isVariableDeclaration(node) && !!node.initializer && isRequireCall(allowAccessedRequire ? getLeftmostAccessExpression(node.initializer) : node.initializer, /*requireStringLiteralLikeArgument*/ true); @@ -17037,16 +17280,6 @@ var ts; return typeParameters && ts.find(typeParameters, function (p) { return p.name.escapedText === name; }); } ts.getTypeParameterFromJsDoc = getTypeParameterFromJsDoc; - function hasRestParameter(s) { - var last = ts.lastOrUndefined(s.parameters); - return !!last && isRestParameter(last); - } - ts.hasRestParameter = hasRestParameter; - function isRestParameter(node) { - var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || !!type && type.kind === 318 /* SyntaxKind.JSDocVariadicType */; - } - ts.isRestParameter = isRestParameter; function hasTypeArguments(node) { return !!node.typeArguments; } @@ -17168,6 +17401,12 @@ var ts; return [child, node]; } ts.walkUpParenthesizedTypesAndGetParentAndChild = walkUpParenthesizedTypesAndGetParentAndChild; + function skipTypeParentheses(node) { + while (ts.isParenthesizedTypeNode(node)) + node = node.type; + return node; + } + ts.skipTypeParentheses = skipTypeParentheses; function skipParentheses(node, excludeJSDocTypeAssertions) { var flags = excludeJSDocTypeAssertions ? 1 /* OuterExpressionKinds.Parentheses */ | 16 /* OuterExpressionKinds.ExcludeJSDocTypeAssertion */ : @@ -18914,6 +19153,10 @@ var ts; return hasEffectiveModifier(node, 64 /* ModifierFlags.Readonly */); } ts.hasEffectiveReadonlyModifier = hasEffectiveReadonlyModifier; + function hasDecorators(node) { + return hasSyntacticModifier(node, 131072 /* ModifierFlags.Decorator */); + } + ts.hasDecorators = hasDecorators; function getSelectedEffectiveModifierFlags(node, flags) { return getEffectiveModifierFlags(node) & flags; } @@ -18991,7 +19234,7 @@ var ts; * NOTE: This function does not use `parent` pointers and will not include modifiers from JSDoc. */ function getSyntacticModifierFlagsNoCache(node) { - var flags = modifiersToFlags(node.modifiers); + var flags = ts.canHaveModifiers(node) ? modifiersToFlags(node.modifiers) : 0 /* ModifierFlags.None */; if (node.flags & 4 /* NodeFlags.NestedNamespace */ || (node.kind === 79 /* SyntaxKind.Identifier */ && node.isInJSDocNamespace)) { flags |= 1 /* ModifierFlags.Export */; } @@ -19025,6 +19268,7 @@ var ts; case 159 /* SyntaxKind.OverrideKeyword */: return 16384 /* ModifierFlags.Override */; case 101 /* SyntaxKind.InKeyword */: return 32768 /* ModifierFlags.In */; case 144 /* SyntaxKind.OutKeyword */: return 65536 /* ModifierFlags.Out */; + case 165 /* SyntaxKind.Decorator */: return 131072 /* ModifierFlags.Decorator */; } return 0 /* ModifierFlags.None */; } @@ -19402,8 +19646,9 @@ var ts; * Moves the start position of a range past any decorators. */ function moveRangePastDecorators(node) { - return node.decorators && node.decorators.length > 0 - ? moveRangePos(node, node.decorators.end) + var lastDecorator = ts.canHaveModifiers(node) ? ts.findLast(node.modifiers, ts.isDecorator) : undefined; + return lastDecorator && !positionIsSynthesized(lastDecorator.end) + ? moveRangePos(node, lastDecorator.end) : node; } ts.moveRangePastDecorators = moveRangePastDecorators; @@ -19411,8 +19656,9 @@ var ts; * Moves the start position of a range past any decorators or modifiers. */ function moveRangePastModifiers(node) { - return node.modifiers && node.modifiers.length > 0 - ? moveRangePos(node, node.modifiers.end) + var lastModifier = ts.canHaveModifiers(node) ? ts.lastOrUndefined(node.modifiers) : undefined; + return lastModifier && !positionIsSynthesized(lastModifier.end) + ? moveRangePos(node, lastModifier.end) : moveRangePastDecorators(node); } ts.moveRangePastModifiers = moveRangePastModifiers; @@ -19534,7 +19780,8 @@ var ts; function getDeclarationModifierFlagsFromSymbol(s, isWrite) { if (isWrite === void 0) { isWrite = false; } if (s.valueDeclaration) { - var declaration = (isWrite && s.declarations && ts.find(s.declarations, function (d) { return d.kind === 173 /* SyntaxKind.SetAccessor */; })) || s.valueDeclaration; + var declaration = (isWrite && s.declarations && ts.find(s.declarations, ts.isSetAccessorDeclaration)) + || (s.flags & 32768 /* SymbolFlags.GetAccessor */ && ts.find(s.declarations, ts.isGetAccessorDeclaration)) || s.valueDeclaration; var flags = ts.getCombinedModifierFlags(declaration); return s.parent && s.parent.flags & 32 /* SymbolFlags.Class */ ? flags : flags & ~28 /* ModifierFlags.AccessibilityModifier */; } @@ -20207,8 +20454,9 @@ var ts; */ function isFileForcedToBeModuleByFormat(file) { // Excludes declaration files - they still require an explicit `export {}` or the like - // for back compat purposes. - return file.impliedNodeFormat === ts.ModuleKind.ESNext && !file.isDeclarationFile ? true : undefined; + // for back compat purposes. The only non-declaration files _not_ forced to be a module are `.js` files + // that aren't esm-mode (meaning not in a `type: module` scope). + return (file.impliedNodeFormat === ts.ModuleKind.ESNext || (ts.fileExtensionIsOneOf(file.fileName, [".cjs" /* Extension.Cjs */, ".cts" /* Extension.Cts */, ".mjs" /* Extension.Mjs */, ".mts" /* Extension.Mts */]))) && !file.isDeclarationFile ? true : undefined; } function getSetExternalModuleIndicator(options) { // TODO: Should this callback be cached? @@ -20216,7 +20464,7 @@ var ts; case ts.ModuleDetectionKind.Force: // All non-declaration files are modules, declaration files still do the usual isFileProbablyExternalModule return function (file) { - file.externalModuleIndicator = !file.isDeclarationFile || ts.isFileProbablyExternalModule(file); + file.externalModuleIndicator = ts.isFileProbablyExternalModule(file) || !file.isDeclarationFile || undefined; }; case ts.ModuleDetectionKind.Legacy: // Files are modules if they have imports, exports, or import.meta @@ -20231,10 +20479,7 @@ var ts; if (options.jsx === 4 /* JsxEmit.ReactJSX */ || options.jsx === 5 /* JsxEmit.ReactJSXDev */) { checks.push(isFileModuleFromUsingJSXTag); } - var moduleKind = getEmitModuleKind(options); - if (moduleKind === ts.ModuleKind.Node16 || moduleKind === ts.ModuleKind.NodeNext) { - checks.push(isFileForcedToBeModuleByFormat); - } + checks.push(isFileForcedToBeModuleByFormat); var combined_1 = ts.or.apply(void 0, checks); var callback = function (file) { return void (file.externalModuleIndicator = combined_1(file)); }; return callback; @@ -20276,7 +20521,8 @@ var ts; } ts.getEmitModuleResolutionKind = getEmitModuleResolutionKind; function getEmitModuleDetectionKind(options) { - return options.moduleDetection || ts.ModuleDetectionKind.Auto; + return options.moduleDetection || + (getEmitModuleKind(options) === ts.ModuleKind.Node16 || getEmitModuleKind(options) === ts.ModuleKind.NodeNext ? ts.ModuleDetectionKind.Force : ts.ModuleDetectionKind.Auto); } ts.getEmitModuleDetectionKind = getEmitModuleDetectionKind; function hasJsonModuleEmitEnabled(options) { @@ -20359,6 +20605,10 @@ var ts; return optionsHaveChanges(oldOptions, newOptions, ts.affectsEmitOptionDeclarations); } ts.compilerOptionsAffectEmit = compilerOptionsAffectEmit; + function compilerOptionsAffectDeclarationPath(newOptions, oldOptions) { + return optionsHaveChanges(oldOptions, newOptions, ts.affectsDeclarationPathOptionDeclarations); + } + ts.compilerOptionsAffectDeclarationPath = compilerOptionsAffectDeclarationPath; function getCompilerOptionValue(options, option) { return option.strictFlag ? getStrictOptionValue(options, option.name) : options[option.name]; } @@ -21299,8 +21549,12 @@ var ts; return node.parent.templateSpans; case 233 /* SyntaxKind.TemplateSpan */: return node.parent.templateSpans; - case 165 /* SyntaxKind.Decorator */: - return node.parent.decorators; + case 165 /* SyntaxKind.Decorator */: { + var parent_2 = node.parent; + return ts.canHaveDecorators(parent_2) ? parent_2.modifiers : + ts.canHaveIllegalDecorators(parent_2) ? parent_2.decorators : + undefined; + } case 291 /* SyntaxKind.HeritageClause */: return node.parent.heritageClauses; } @@ -21814,7 +22068,7 @@ var ts; * Wraps an expression in parentheses if it is needed in order to use the expression for * property or element access. */ - function parenthesizeLeftSideOfAccess(expression) { + function parenthesizeLeftSideOfAccess(expression, optionalChain) { // isLeftHandSideExpression is almost the correct criterion for when it is not necessary // to parenthesize the expression before a dot. The known exception is: // @@ -21823,7 +22077,8 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 209 /* SyntaxKind.NewExpression */ || emittedExpression.arguments)) { + && (emittedExpression.kind !== 209 /* SyntaxKind.NewExpression */ || emittedExpression.arguments) + && (optionalChain || !ts.isOptionalChain(emittedExpression))) { // TODO(rbuckton): Verify whether this assertion holds. return expression; } @@ -22770,13 +23025,8 @@ var ts; function createBaseNode(kind) { return baseFactory.createBaseNode(kind); } - function createBaseDeclaration(kind, decorators, modifiers) { + function createBaseDeclaration(kind) { var node = createBaseNode(kind); - node.decorators = asNodeArray(decorators); - node.modifiers = asNodeArray(modifiers); - node.transformFlags |= - propagateChildrenFlags(node.decorators) | - propagateChildrenFlags(node.modifiers); // NOTE: The following properties are commonly set by the binder and are added here to // ensure declarations have a stable shape. node.symbol = undefined; // initialized by binder @@ -22785,10 +23035,15 @@ var ts; node.nextContainer = undefined; // initialized by binder return node; } - function createBaseNamedDeclaration(kind, decorators, modifiers, name) { - var node = createBaseDeclaration(kind, decorators, modifiers); + function createBaseNamedDeclaration(kind, modifiers, name) { + var node = createBaseDeclaration(kind); name = asName(name); node.name = name; + if (ts.canHaveModifiers(node)) { + node.modifiers = asNodeArray(modifiers); + node.transformFlags |= propagateChildrenFlags(node.modifiers); + // node.decorators = filter(node.modifiers, isDecorator); + } // The PropertyName of a member is allowed to be `await`. // We don't need to exclude `await` for type signatures since types // don't propagate child flags. @@ -22811,16 +23066,16 @@ var ts; } return node; } - function createBaseGenericNamedDeclaration(kind, decorators, modifiers, name, typeParameters) { - var node = createBaseNamedDeclaration(kind, decorators, modifiers, name); + function createBaseGenericNamedDeclaration(kind, modifiers, name, typeParameters) { + var node = createBaseNamedDeclaration(kind, modifiers, name); node.typeParameters = asNodeArray(typeParameters); node.transformFlags |= propagateChildrenFlags(node.typeParameters); if (typeParameters) node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; return node; } - function createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type) { - var node = createBaseGenericNamedDeclaration(kind, decorators, modifiers, name, typeParameters); + function createBaseSignatureDeclaration(kind, modifiers, name, typeParameters, parameters, type) { + var node = createBaseGenericNamedDeclaration(kind, modifiers, name, typeParameters); node.parameters = createNodeArray(parameters); node.type = type; node.transformFlags |= @@ -22828,50 +23083,45 @@ var ts; propagateChildFlags(node.type); if (type) node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; + // The following properties are used for quick info + node.typeArguments = undefined; return node; } - function updateBaseSignatureDeclaration(updated, original) { - // copy children used only for error reporting - if (original.typeArguments) + function finishUpdateBaseSignatureDeclaration(updated, original) { + if (updated !== original) { + // copy children used for quick info updated.typeArguments = original.typeArguments; + } return update(updated, original); } - function createBaseFunctionLikeDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type, body) { - var node = createBaseSignatureDeclaration(kind, decorators, modifiers, name, typeParameters, parameters, type); + function createBaseFunctionLikeDeclaration(kind, modifiers, name, typeParameters, parameters, type, body) { + var node = createBaseSignatureDeclaration(kind, modifiers, name, typeParameters, parameters, type); node.body = body; - node.transformFlags |= propagateChildFlags(node.body) & ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; + node.transformFlags |= propagateChildFlags(node.body) & ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; if (!body) node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; return node; } - function updateBaseFunctionLikeDeclaration(updated, original) { - // copy children used only for error reporting - if (original.exclamationToken) - updated.exclamationToken = original.exclamationToken; - if (original.typeArguments) - updated.typeArguments = original.typeArguments; - return updateBaseSignatureDeclaration(updated, original); - } - function createBaseInterfaceOrClassLikeDeclaration(kind, decorators, modifiers, name, typeParameters, heritageClauses) { - var node = createBaseGenericNamedDeclaration(kind, decorators, modifiers, name, typeParameters); + function createBaseInterfaceOrClassLikeDeclaration(kind, modifiers, name, typeParameters, heritageClauses) { + var node = createBaseGenericNamedDeclaration(kind, modifiers, name, typeParameters); node.heritageClauses = asNodeArray(heritageClauses); node.transformFlags |= propagateChildrenFlags(node.heritageClauses); return node; } - function createBaseClassLikeDeclaration(kind, decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseInterfaceOrClassLikeDeclaration(kind, decorators, modifiers, name, typeParameters, heritageClauses); + function createBaseClassLikeDeclaration(kind, modifiers, name, typeParameters, heritageClauses, members) { + var node = createBaseInterfaceOrClassLikeDeclaration(kind, modifiers, name, typeParameters, heritageClauses); node.members = createNodeArray(members); node.transformFlags |= propagateChildrenFlags(node.members); return node; } - function createBaseBindingLikeDeclaration(kind, decorators, modifiers, name, initializer) { - var node = createBaseNamedDeclaration(kind, decorators, modifiers, name); + function createBaseBindingLikeDeclaration(kind, modifiers, name, initializer) { + var node = createBaseNamedDeclaration(kind, modifiers, name); node.initializer = initializer; node.transformFlags |= propagateChildFlags(node.initializer); return node; } - function createBaseVariableLikeDeclaration(kind, decorators, modifiers, name, type, initializer) { - var node = createBaseBindingLikeDeclaration(kind, decorators, modifiers, name, initializer); + function createBaseVariableLikeDeclaration(kind, modifiers, name, type, initializer) { + var node = createBaseBindingLikeDeclaration(kind, modifiers, name, initializer); node.type = type; node.transformFlags |= propagateChildFlags(type); if (type) @@ -22967,7 +23217,7 @@ var ts; node.typeArguments = createNodeArray(typeArguments); } if (node.originalKeywordKind === 132 /* SyntaxKind.AwaitKeyword */) { - node.transformFlags |= 16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; + node.transformFlags |= 67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; } return node; } @@ -23019,7 +23269,7 @@ var ts; ts.Debug.fail("First character of private identifier must be #: " + text); var node = baseFactory.createBasePrivateIdentifierNode(80 /* SyntaxKind.PrivateIdentifier */); node.escapedText = ts.escapeLeadingUnderscores(text); - node.transformFlags |= 8388608 /* TransformFlags.ContainsClassFields */; + node.transformFlags |= 16777216 /* TransformFlags.ContainsClassFields */; return node; } // @@ -23066,14 +23316,14 @@ var ts; transformFlags = 1 /* TransformFlags.ContainsTypeScript */; break; case 106 /* SyntaxKind.SuperKeyword */: - transformFlags = 1024 /* TransformFlags.ContainsES2015 */ | 33554432 /* TransformFlags.ContainsLexicalSuper */; + transformFlags = 1024 /* TransformFlags.ContainsES2015 */ | 134217728 /* TransformFlags.ContainsLexicalSuper */; break; case 124 /* SyntaxKind.StaticKeyword */: transformFlags = 1024 /* TransformFlags.ContainsES2015 */; break; case 108 /* SyntaxKind.ThisKeyword */: // 'this' indicates a lexical 'this' - transformFlags = 8192 /* TransformFlags.ContainsLexicalThis */; + transformFlags = 16384 /* TransformFlags.ContainsLexicalThis */; break; } if (transformFlags) { @@ -23171,7 +23421,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | 1024 /* TransformFlags.ContainsES2015 */ | - 65536 /* TransformFlags.ContainsComputedPropertyName */; + 131072 /* TransformFlags.ContainsComputedPropertyName */; return node; } // @api @@ -23180,41 +23430,19 @@ var ts; ? update(createComputedPropertyName(expression), node) : node; } - function createTypeParameterDeclaration(modifiersOrName, nameOrConstraint, constraintOrDefault, defaultType) { - var name; - var modifiers; - var constraint; - if (modifiersOrName === undefined || ts.isArray(modifiersOrName)) { - modifiers = modifiersOrName; - name = nameOrConstraint; - constraint = constraintOrDefault; - } - else { - modifiers = undefined; - name = modifiersOrName; - constraint = nameOrConstraint; - } - var node = createBaseNamedDeclaration(163 /* SyntaxKind.TypeParameter */, - /*decorators*/ undefined, modifiers, name); + // + // Signature elements + // + // @api + function createTypeParameterDeclaration(modifiers, name, constraint, defaultType) { + var node = createBaseNamedDeclaration(163 /* SyntaxKind.TypeParameter */, modifiers, name); node.constraint = constraint; node.default = defaultType; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } - function updateTypeParameterDeclaration(node, modifiersOrName, nameOrConstraint, constraintOrDefault, defaultType) { - var name; - var modifiers; - var constraint; - if (modifiersOrName === undefined || ts.isArray(modifiersOrName)) { - modifiers = modifiersOrName; - name = nameOrConstraint; - constraint = constraintOrDefault; - } - else { - modifiers = undefined; - name = modifiersOrName; - constraint = nameOrConstraint; - } + // @api + function updateTypeParameterDeclaration(node, modifiers, name, constraint, defaultType) { return node.modifiers !== modifiers || node.name !== name || node.constraint !== constraint @@ -23223,8 +23451,8 @@ var ts; : node; } // @api - function createParameterDeclaration(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(164 /* SyntaxKind.Parameter */, decorators, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); + function createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, type, initializer) { + var node = createBaseVariableLikeDeclaration(164 /* SyntaxKind.Parameter */, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.dotDotDotToken = dotDotDotToken; node.questionToken = questionToken; if (ts.isThisIdentifier(node.name)) { @@ -23237,32 +23465,32 @@ var ts; if (questionToken) node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; if (ts.modifiersToFlags(node.modifiers) & 16476 /* ModifierFlags.ParameterPropertyModifier */) - node.transformFlags |= 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */; + node.transformFlags |= 8192 /* TransformFlags.ContainsTypeScriptClassSyntax */; if (initializer || dotDotDotToken) node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; } return node; } // @api - function updateParameterDeclaration(node, decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateParameterDeclaration(node, modifiers, dotDotDotToken, name, questionToken, type, initializer) { + return node.modifiers !== modifiers || node.dotDotDotToken !== dotDotDotToken || node.name !== name || node.questionToken !== questionToken || node.type !== type || node.initializer !== initializer - ? update(createParameterDeclaration(decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer), node) + ? update(createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, type, initializer), node) : node; } // @api function createDecorator(expression) { var node = createBaseNode(165 /* SyntaxKind.Decorator */); - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.transformFlags |= propagateChildFlags(node.expression) | 1 /* TransformFlags.ContainsTypeScript */ | - 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */; + 8192 /* TransformFlags.ContainsTypeScriptClassSyntax */ | + 33554432 /* TransformFlags.ContainsDecorators */; return node; } // @api @@ -23276,11 +23504,12 @@ var ts; // // @api function createPropertySignature(modifiers, name, questionToken, type) { - var node = createBaseNamedDeclaration(166 /* SyntaxKind.PropertySignature */, - /*decorators*/ undefined, modifiers, name); + var node = createBaseNamedDeclaration(166 /* SyntaxKind.PropertySignature */, modifiers, name); node.type = type; node.questionToken = questionToken; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; + // The following properties are used only to report grammar errors + node.initializer = undefined; return node; } // @api @@ -23289,20 +23518,27 @@ var ts; || node.name !== name || node.questionToken !== questionToken || node.type !== type - ? update(createPropertySignature(modifiers, name, questionToken, type), node) + ? finishUpdatePropertySignature(createPropertySignature(modifiers, name, questionToken, type), node) : node; } + function finishUpdatePropertySignature(updated, original) { + if (updated !== original) { + // copy children used only for error reporting + updated.initializer = original.initializer; + } + return update(updated, original); + } // @api - function createPropertyDeclaration(decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(167 /* SyntaxKind.PropertyDeclaration */, decorators, modifiers, name, type, initializer); + function createPropertyDeclaration(modifiers, name, questionOrExclamationToken, type, initializer) { + var node = createBaseVariableLikeDeclaration(167 /* SyntaxKind.PropertyDeclaration */, modifiers, name, type, initializer); node.questionToken = questionOrExclamationToken && ts.isQuestionToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.exclamationToken = questionOrExclamationToken && ts.isExclamationToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.transformFlags |= propagateChildFlags(node.questionToken) | propagateChildFlags(node.exclamationToken) | - 8388608 /* TransformFlags.ContainsClassFields */; + 16777216 /* TransformFlags.ContainsClassFields */; if (ts.isComputedPropertyName(node.name) || (ts.hasStaticModifier(node) && node.initializer)) { - node.transformFlags |= 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */; + node.transformFlags |= 8192 /* TransformFlags.ContainsTypeScriptClassSyntax */; } if (questionOrExclamationToken || ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; @@ -23310,21 +23546,19 @@ var ts; return node; } // @api - function updatePropertyDeclaration(node, decorators, modifiers, name, questionOrExclamationToken, type, initializer) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updatePropertyDeclaration(node, modifiers, name, questionOrExclamationToken, type, initializer) { + return node.modifiers !== modifiers || node.name !== name || node.questionToken !== (questionOrExclamationToken !== undefined && ts.isQuestionToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined) || node.exclamationToken !== (questionOrExclamationToken !== undefined && ts.isExclamationToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined) || node.type !== type || node.initializer !== initializer - ? update(createPropertyDeclaration(decorators, modifiers, name, questionOrExclamationToken, type, initializer), node) + ? update(createPropertyDeclaration(modifiers, name, questionOrExclamationToken, type, initializer), node) : node; } // @api function createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(168 /* SyntaxKind.MethodSignature */, - /*decorators*/ undefined, modifiers, name, typeParameters, parameters, type); + var node = createBaseSignatureDeclaration(168 /* SyntaxKind.MethodSignature */, modifiers, name, typeParameters, parameters, type); node.questionToken = questionToken; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23337,12 +23571,12 @@ var ts; || node.typeParameters !== typeParameters || node.parameters !== parameters || node.type !== type - ? updateBaseSignatureDeclaration(createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type), node) + ? finishUpdateBaseSignatureDeclaration(createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type), node) : node; } // @api - function createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(169 /* SyntaxKind.MethodDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); + function createMethodDeclaration(modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { + var node = createBaseFunctionLikeDeclaration(169 /* SyntaxKind.MethodDeclaration */, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.questionToken = questionToken; node.transformFlags |= @@ -23363,12 +23597,13 @@ var ts; else if (asteriskToken) { node.transformFlags |= 2048 /* TransformFlags.ContainsGenerator */; } + // The following properties are used only to report grammar errors + node.exclamationToken = undefined; return node; } // @api - function updateMethodDeclaration(node, decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateMethodDeclaration(node, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { + return node.modifiers !== modifiers || node.asteriskToken !== asteriskToken || node.name !== name || node.questionToken !== questionToken @@ -23376,80 +23611,123 @@ var ts; || node.parameters !== parameters || node.type !== type || node.body !== body - ? updateBaseFunctionLikeDeclaration(createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body), node) + ? finishUpdateMethodDeclaration(createMethodDeclaration(modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body), node) : node; } + function finishUpdateMethodDeclaration(updated, original) { + if (updated !== original) { + updated.exclamationToken = original.exclamationToken; + } + return update(updated, original); + } // @api - function createClassStaticBlockDeclaration(decorators, modifiers, body) { - var node = createBaseGenericNamedDeclaration(170 /* SyntaxKind.ClassStaticBlockDeclaration */, decorators, modifiers, + function createClassStaticBlockDeclaration(body) { + var node = createBaseGenericNamedDeclaration(170 /* SyntaxKind.ClassStaticBlockDeclaration */, + /*modifiers*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined); node.body = body; - node.transformFlags = propagateChildFlags(body) | 8388608 /* TransformFlags.ContainsClassFields */; + node.transformFlags = propagateChildFlags(body) | 16777216 /* TransformFlags.ContainsClassFields */; + // The following properties are used only to report grammar errors + node.decorators = undefined; + node.modifiers = undefined; return node; } // @api - function updateClassStaticBlockDeclaration(node, decorators, modifiers, body) { - return node.decorators !== decorators - || node.modifier !== modifiers - || node.body !== body - ? update(createClassStaticBlockDeclaration(decorators, modifiers, body), node) + function updateClassStaticBlockDeclaration(node, body) { + return node.body !== body + ? finishUpdateClassStaticBlockDeclaration(createClassStaticBlockDeclaration(body), node) : node; } + function finishUpdateClassStaticBlockDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + updated.modifiers = original.modifiers; + } + return update(updated, original); + } // @api - function createConstructorDeclaration(decorators, modifiers, parameters, body) { - var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.Constructor */, decorators, modifiers, + function createConstructorDeclaration(modifiers, parameters, body) { + var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.Constructor */, modifiers, /*name*/ undefined, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; + // The following properties are used only to report grammar errors + node.decorators = undefined; + node.typeParameters = undefined; + node.type = undefined; return node; } // @api - function updateConstructorDeclaration(node, decorators, modifiers, parameters, body) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateConstructorDeclaration(node, modifiers, parameters, body) { + return node.modifiers !== modifiers || node.parameters !== parameters || node.body !== body - ? updateBaseFunctionLikeDeclaration(createConstructorDeclaration(decorators, modifiers, parameters, body), node) + ? finishUpdateConstructorDeclaration(createConstructorDeclaration(modifiers, parameters, body), node) : node; } + function finishUpdateConstructorDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + updated.typeParameters = original.typeParameters; + updated.type = original.type; + } + return finishUpdateBaseSignatureDeclaration(updated, original); + } // @api - function createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body) { - return createBaseFunctionLikeDeclaration(172 /* SyntaxKind.GetAccessor */, decorators, modifiers, name, + function createGetAccessorDeclaration(modifiers, name, parameters, type, body) { + var node = createBaseFunctionLikeDeclaration(172 /* SyntaxKind.GetAccessor */, modifiers, name, /*typeParameters*/ undefined, parameters, type, body); + // The following properties are used only to report grammar errors + node.typeParameters = undefined; + return node; } // @api - function updateGetAccessorDeclaration(node, decorators, modifiers, name, parameters, type, body) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateGetAccessorDeclaration(node, modifiers, name, parameters, type, body) { + return node.modifiers !== modifiers || node.name !== name || node.parameters !== parameters || node.type !== type || node.body !== body - ? updateBaseFunctionLikeDeclaration(createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body), node) + ? finishUpdateGetAccessorDeclaration(createGetAccessorDeclaration(modifiers, name, parameters, type, body), node) : node; } + function finishUpdateGetAccessorDeclaration(updated, original) { + if (updated !== original) { + updated.typeParameters = original.typeParameters; + } + return finishUpdateBaseSignatureDeclaration(updated, original); + } // @api - function createSetAccessorDeclaration(decorators, modifiers, name, parameters, body) { - return createBaseFunctionLikeDeclaration(173 /* SyntaxKind.SetAccessor */, decorators, modifiers, name, + function createSetAccessorDeclaration(modifiers, name, parameters, body) { + var node = createBaseFunctionLikeDeclaration(173 /* SyntaxKind.SetAccessor */, modifiers, name, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); + // The following properties are used only to report grammar errors + node.typeParameters = undefined; + node.type = undefined; + return node; } // @api - function updateSetAccessorDeclaration(node, decorators, modifiers, name, parameters, body) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateSetAccessorDeclaration(node, modifiers, name, parameters, body) { + return node.modifiers !== modifiers || node.name !== name || node.parameters !== parameters || node.body !== body - ? updateBaseFunctionLikeDeclaration(createSetAccessorDeclaration(decorators, modifiers, name, parameters, body), node) + ? finishUpdateSetAccessorDeclaration(createSetAccessorDeclaration(modifiers, name, parameters, body), node) : node; } + function finishUpdateSetAccessorDeclaration(updated, original) { + if (updated !== original) { + updated.typeParameters = original.typeParameters; + updated.type = original.type; + } + return finishUpdateBaseSignatureDeclaration(updated, original); + } // @api function createCallSignature(typeParameters, parameters, type) { var node = createBaseSignatureDeclaration(174 /* SyntaxKind.CallSignature */, - /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23460,13 +23738,12 @@ var ts; return node.typeParameters !== typeParameters || node.parameters !== parameters || node.type !== type - ? updateBaseSignatureDeclaration(createCallSignature(typeParameters, parameters, type), node) + ? finishUpdateBaseSignatureDeclaration(createCallSignature(typeParameters, parameters, type), node) : node; } // @api function createConstructSignature(typeParameters, parameters, type) { var node = createBaseSignatureDeclaration(175 /* SyntaxKind.ConstructSignature */, - /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23477,24 +23754,23 @@ var ts; return node.typeParameters !== typeParameters || node.parameters !== parameters || node.type !== type - ? updateBaseSignatureDeclaration(createConstructSignature(typeParameters, parameters, type), node) + ? finishUpdateBaseSignatureDeclaration(createConstructSignature(typeParameters, parameters, type), node) : node; } // @api - function createIndexSignature(decorators, modifiers, parameters, type) { - var node = createBaseSignatureDeclaration(176 /* SyntaxKind.IndexSignature */, decorators, modifiers, + function createIndexSignature(modifiers, parameters, type) { + var node = createBaseSignatureDeclaration(176 /* SyntaxKind.IndexSignature */, modifiers, /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api - function updateIndexSignature(node, decorators, modifiers, parameters, type) { + function updateIndexSignature(node, modifiers, parameters, type) { return node.parameters !== parameters || node.type !== type - || node.decorators !== decorators || node.modifiers !== modifiers - ? updateBaseSignatureDeclaration(createIndexSignature(decorators, modifiers, parameters, type), node) + ? finishUpdateBaseSignatureDeclaration(createIndexSignature(modifiers, parameters, type), node) : node; } // @api @@ -23554,10 +23830,11 @@ var ts; // @api function createFunctionTypeNode(typeParameters, parameters, type) { var node = createBaseSignatureDeclaration(179 /* SyntaxKind.FunctionType */, - /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; + // The following properties are used only to report grammar errors + node.modifiers = undefined; return node; } // @api @@ -23565,9 +23842,15 @@ var ts; return node.typeParameters !== typeParameters || node.parameters !== parameters || node.type !== type - ? updateBaseSignatureDeclaration(createFunctionTypeNode(typeParameters, parameters, type), node) + ? finishUpdateFunctionTypeNode(createFunctionTypeNode(typeParameters, parameters, type), node) : node; } + function finishUpdateFunctionTypeNode(updated, original) { + if (updated !== original) { + updated.modifiers = original.modifiers; + } + return finishUpdateBaseSignatureDeclaration(updated, original); + } // @api function createConstructorTypeNode() { var args = []; @@ -23579,8 +23862,7 @@ var ts; ts.Debug.fail("Incorrect number of arguments specified."); } function createConstructorTypeNode1(modifiers, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(180 /* SyntaxKind.ConstructorType */, - /*decorators*/ undefined, modifiers, + var node = createBaseSignatureDeclaration(180 /* SyntaxKind.ConstructorType */, modifiers, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23604,7 +23886,7 @@ var ts; || node.typeParameters !== typeParameters || node.parameters !== parameters || node.type !== type - ? updateBaseSignatureDeclaration(createConstructorTypeNode(modifiers, typeParameters, parameters, type), node) + ? finishUpdateBaseSignatureDeclaration(createConstructorTypeNode(modifiers, typeParameters, parameters, type), node) : node; } /** @deprecated */ @@ -23784,33 +24066,27 @@ var ts; ? update(createTemplateLiteralType(head, templateSpans), node) : node; } - function createImportTypeNode(argument, qualifierOrAssertions, typeArgumentsOrQualifier, isTypeOfOrTypeArguments, isTypeOf) { - var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* SyntaxKind.ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; - var qualifier = qualifierOrAssertions && ts.isEntityName(qualifierOrAssertions) ? qualifierOrAssertions - : typeArgumentsOrQualifier && !ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : undefined; - var typeArguments = ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : ts.isArray(isTypeOfOrTypeArguments) ? isTypeOfOrTypeArguments : undefined; - isTypeOf = typeof isTypeOfOrTypeArguments === "boolean" ? isTypeOfOrTypeArguments : typeof isTypeOf === "boolean" ? isTypeOf : false; + // @api + function createImportTypeNode(argument, assertions, qualifier, typeArguments, isTypeOf) { + if (isTypeOf === void 0) { isTypeOf = false; } var node = createBaseNode(200 /* SyntaxKind.ImportType */); node.argument = argument; - node.assertions = assertion; + node.assertions = assertions; node.qualifier = qualifier; node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.isTypeOf = isTypeOf; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } - function updateImportTypeNode(node, argument, qualifierOrAssertions, typeArgumentsOrQualifier, isTypeOfOrTypeArguments, isTypeOf) { - var assertion = qualifierOrAssertions && qualifierOrAssertions.kind === 295 /* SyntaxKind.ImportTypeAssertionContainer */ ? qualifierOrAssertions : undefined; - var qualifier = qualifierOrAssertions && ts.isEntityName(qualifierOrAssertions) ? qualifierOrAssertions - : typeArgumentsOrQualifier && !ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : undefined; - var typeArguments = ts.isArray(typeArgumentsOrQualifier) ? typeArgumentsOrQualifier : ts.isArray(isTypeOfOrTypeArguments) ? isTypeOfOrTypeArguments : undefined; - isTypeOf = typeof isTypeOfOrTypeArguments === "boolean" ? isTypeOfOrTypeArguments : typeof isTypeOf === "boolean" ? isTypeOf : node.isTypeOf; + // @api + function updateImportTypeNode(node, argument, assertions, qualifier, typeArguments, isTypeOf) { + if (isTypeOf === void 0) { isTypeOf = node.isTypeOf; } return node.argument !== argument - || node.assertions !== assertion + || node.assertions !== assertions || node.qualifier !== qualifier || node.typeArguments !== typeArguments || node.isTypeOf !== isTypeOf - ? update(createImportTypeNode(argument, assertion, qualifier, typeArguments, isTypeOf), node) + ? update(createImportTypeNode(argument, assertions, qualifier, typeArguments, isTypeOf), node) : node; } // @api @@ -23909,11 +24185,11 @@ var ts; node.transformFlags |= propagateChildrenFlags(node.elements) | 1024 /* TransformFlags.ContainsES2015 */ | - 262144 /* TransformFlags.ContainsBindingPattern */; - if (node.transformFlags & 16384 /* TransformFlags.ContainsRestOrSpread */) { + 524288 /* TransformFlags.ContainsBindingPattern */; + if (node.transformFlags & 32768 /* TransformFlags.ContainsRestOrSpread */) { node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */ | - 32768 /* TransformFlags.ContainsObjectRestOrSpread */; + 65536 /* TransformFlags.ContainsObjectRestOrSpread */; } return node; } @@ -23930,7 +24206,7 @@ var ts; node.transformFlags |= propagateChildrenFlags(node.elements) | 1024 /* TransformFlags.ContainsES2015 */ | - 262144 /* TransformFlags.ContainsBindingPattern */; + 524288 /* TransformFlags.ContainsBindingPattern */; return node; } // @api @@ -23942,7 +24218,6 @@ var ts; // @api function createBindingElement(dotDotDotToken, propertyName, name, initializer) { var node = createBaseBindingLikeDeclaration(203 /* SyntaxKind.BindingElement */, - /*decorators*/ undefined, /*modifiers*/ undefined, name, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.propertyName = asName(propertyName); node.dotDotDotToken = dotDotDotToken; @@ -23955,7 +24230,7 @@ var ts; propagateChildFlags(node.propertyName); } if (dotDotDotToken) - node.transformFlags |= 16384 /* TransformFlags.ContainsRestOrSpread */; + node.transformFlags |= 32768 /* TransformFlags.ContainsRestOrSpread */; return node; } // @api @@ -24011,13 +24286,13 @@ var ts; // @api function createPropertyAccessExpression(expression, name) { var node = createBaseExpression(206 /* SyntaxKind.PropertyAccessExpression */); - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.name = asName(name); node.transformFlags = propagateChildFlags(node.expression) | (ts.isIdentifier(node.name) ? propagateIdentifierNameFlags(node.name) : - propagateChildFlags(node.name)); + propagateChildFlags(node.name) | 536870912 /* TransformFlags.ContainsPrivateIdentifierInExpression */); if (ts.isSuperKeyword(expression)) { // super method calls require a lexical 'this' // super method calls require 'super' hoisting in ES2017 and ES2018 async functions and async generators @@ -24041,7 +24316,7 @@ var ts; function createPropertyAccessChain(expression, questionDotToken, name) { var node = createBaseExpression(206 /* SyntaxKind.PropertyAccessExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.questionDotToken = questionDotToken; node.name = asName(name); node.transformFlags |= @@ -24050,7 +24325,7 @@ var ts; propagateChildFlags(node.questionDotToken) | (ts.isIdentifier(node.name) ? propagateIdentifierNameFlags(node.name) : - propagateChildFlags(node.name)); + propagateChildFlags(node.name) | 536870912 /* TransformFlags.ContainsPrivateIdentifierInExpression */); return node; } // @api @@ -24067,7 +24342,7 @@ var ts; // @api function createElementAccessExpression(expression, index) { var node = createBaseExpression(207 /* SyntaxKind.ElementAccessExpression */); - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.argumentExpression = asExpression(index); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24095,7 +24370,7 @@ var ts; function createElementAccessChain(expression, questionDotToken, index) { var node = createBaseExpression(207 /* SyntaxKind.ElementAccessExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.questionDotToken = questionDotToken; node.argumentExpression = asExpression(index); node.transformFlags |= @@ -24119,7 +24394,7 @@ var ts; // @api function createCallExpression(expression, typeArguments, argumentsArray) { var node = createBaseExpression(208 /* SyntaxKind.CallExpression */); - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.typeArguments = asNodeArray(typeArguments); node.arguments = parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(argumentsArray)); node.transformFlags |= @@ -24130,10 +24405,10 @@ var ts; node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } if (ts.isImportKeyword(node.expression)) { - node.transformFlags |= 4194304 /* TransformFlags.ContainsDynamicImport */; + node.transformFlags |= 8388608 /* TransformFlags.ContainsDynamicImport */; } else if (ts.isSuperProperty(node.expression)) { - node.transformFlags |= 8192 /* TransformFlags.ContainsLexicalThis */; + node.transformFlags |= 16384 /* TransformFlags.ContainsLexicalThis */; } return node; } @@ -24152,7 +24427,7 @@ var ts; function createCallChain(expression, questionDotToken, typeArguments, argumentsArray) { var node = createBaseExpression(208 /* SyntaxKind.CallExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.questionDotToken = questionDotToken; node.typeArguments = asNodeArray(typeArguments); node.arguments = parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(argumentsArray)); @@ -24166,7 +24441,7 @@ var ts; node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } if (ts.isSuperProperty(node.expression)) { - node.transformFlags |= 8192 /* TransformFlags.ContainsLexicalThis */; + node.transformFlags |= 16384 /* TransformFlags.ContainsLexicalThis */; } return node; } @@ -24207,7 +24482,7 @@ var ts; // @api function createTaggedTemplateExpression(tag, typeArguments, template) { var node = createBaseExpression(210 /* SyntaxKind.TaggedTemplateExpression */); - node.tag = parenthesizerRules().parenthesizeLeftSideOfAccess(tag); + node.tag = parenthesizerRules().parenthesizeLeftSideOfAccess(tag, /*optionalChain*/ false); node.typeArguments = asNodeArray(typeArguments); node.template = template; node.transformFlags |= @@ -24264,8 +24539,7 @@ var ts; } // @api function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(213 /* SyntaxKind.FunctionExpression */, - /*decorators*/ undefined, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(213 /* SyntaxKind.FunctionExpression */, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.transformFlags |= propagateChildFlags(node.asteriskToken); if (node.typeParameters) { @@ -24293,20 +24567,19 @@ var ts; || node.parameters !== parameters || node.type !== type || node.body !== body - ? updateBaseFunctionLikeDeclaration(createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body), node) + ? finishUpdateBaseSignatureDeclaration(createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body), node) : node; } // @api function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createBaseFunctionLikeDeclaration(214 /* SyntaxKind.ArrowFunction */, - /*decorators*/ undefined, modifiers, + var node = createBaseFunctionLikeDeclaration(214 /* SyntaxKind.ArrowFunction */, modifiers, /*name*/ undefined, typeParameters, parameters, type, parenthesizerRules().parenthesizeConciseBodyOfArrowFunction(body)); node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* SyntaxKind.EqualsGreaterThanToken */); node.transformFlags |= propagateChildFlags(node.equalsGreaterThanToken) | 1024 /* TransformFlags.ContainsES2015 */; if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { - node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */ | 8192 /* TransformFlags.ContainsLexicalThis */; + node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */ | 16384 /* TransformFlags.ContainsLexicalThis */; } return node; } @@ -24318,7 +24591,7 @@ var ts; || node.type !== type || node.equalsGreaterThanToken !== equalsGreaterThanToken || node.body !== body - ? updateBaseFunctionLikeDeclaration(createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body), node) + ? finishUpdateBaseSignatureDeclaration(createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body), node) : node; } // @api @@ -24368,7 +24641,7 @@ var ts; propagateChildFlags(node.expression) | 256 /* TransformFlags.ContainsES2017 */ | 128 /* TransformFlags.ContainsES2018 */ | - 1048576 /* TransformFlags.ContainsAwait */; + 2097152 /* TransformFlags.ContainsAwait */; return node; } // @api @@ -24389,7 +24662,7 @@ var ts; ts.isIdentifier(node.operand) && !ts.isGeneratedIdentifier(node.operand) && !ts.isLocalName(node.operand)) { - node.transformFlags |= 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */; + node.transformFlags |= 268435456 /* TransformFlags.ContainsUpdateExpressionForIdentifier */; } return node; } @@ -24410,7 +24683,7 @@ var ts; if (ts.isIdentifier(node.operand) && !ts.isGeneratedIdentifier(node.operand) && !ts.isLocalName(node.operand)) { - node.transformFlags |= 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */; + node.transformFlags |= 268435456 /* TransformFlags.ContainsUpdateExpressionForIdentifier */; } return node; } @@ -24456,11 +24729,14 @@ var ts; else if (ts.isLogicalOrCoalescingAssignmentOperator(operatorKind)) { node.transformFlags |= 16 /* TransformFlags.ContainsES2021 */; } + if (operatorKind === 101 /* SyntaxKind.InKeyword */ && ts.isPrivateIdentifier(node.left)) { + node.transformFlags |= 536870912 /* TransformFlags.ContainsPrivateIdentifierInExpression */; + } return node; } function propagateAssignmentPatternFlags(node) { - if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) - return 32768 /* TransformFlags.ContainsObjectRestOrSpread */; + if (node.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) + return 65536 /* TransformFlags.ContainsObjectRestOrSpread */; if (node.transformFlags & 128 /* TransformFlags.ContainsES2018 */) { // check for nested spread assignments, otherwise '{ x: { a, ...b } = foo } = c' // will not be correctly interpreted by the ES2018 transformer @@ -24468,8 +24744,8 @@ var ts; var element = _a[_i]; var target = ts.getTargetOfBindingOrAssignmentElement(element); if (target && ts.isAssignmentPattern(target)) { - if (target.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { - return 32768 /* TransformFlags.ContainsObjectRestOrSpread */; + if (target.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { + return 65536 /* TransformFlags.ContainsObjectRestOrSpread */; } if (target.transformFlags & 128 /* TransformFlags.ContainsES2018 */) { var flags_1 = propagateAssignmentPatternFlags(target); @@ -24595,7 +24871,7 @@ var ts; propagateChildFlags(node.asteriskToken) | 1024 /* TransformFlags.ContainsES2015 */ | 128 /* TransformFlags.ContainsES2018 */ | - 524288 /* TransformFlags.ContainsYield */; + 1048576 /* TransformFlags.ContainsYield */; return node; } // @api @@ -24612,7 +24888,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | 1024 /* TransformFlags.ContainsES2015 */ | - 16384 /* TransformFlags.ContainsRestOrSpread */; + 32768 /* TransformFlags.ContainsRestOrSpread */; return node; } // @api @@ -24622,20 +24898,19 @@ var ts; : node; } // @api - function createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(226 /* SyntaxKind.ClassExpression */, decorators, modifiers, name, typeParameters, heritageClauses, members); + function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { + var node = createBaseClassLikeDeclaration(226 /* SyntaxKind.ClassExpression */, modifiers, name, typeParameters, heritageClauses, members); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } // @api - function updateClassExpression(node, decorators, modifiers, name, typeParameters, heritageClauses, members) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateClassExpression(node, modifiers, name, typeParameters, heritageClauses, members) { + return node.modifiers !== modifiers || node.name !== name || node.typeParameters !== typeParameters || node.heritageClauses !== heritageClauses || node.members !== members - ? update(createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members), node) + ? update(createClassExpression(modifiers, name, typeParameters, heritageClauses, members), node) : node; } // @api @@ -24645,7 +24920,7 @@ var ts; // @api function createExpressionWithTypeArguments(expression, typeArguments) { var node = createBaseNode(228 /* SyntaxKind.ExpressionWithTypeArguments */); - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24681,7 +24956,7 @@ var ts; // @api function createNonNullExpression(expression) { var node = createBaseExpression(230 /* SyntaxKind.NonNullExpression */); - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.transformFlags |= propagateChildFlags(node.expression) | 1 /* TransformFlags.ContainsTypeScript */; @@ -24700,7 +24975,7 @@ var ts; function createNonNullChain(expression) { var node = createBaseExpression(230 /* SyntaxKind.NonNullExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; - node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.transformFlags |= propagateChildFlags(node.expression) | 1 /* TransformFlags.ContainsTypeScript */; @@ -24783,10 +25058,12 @@ var ts; } // @api function createVariableStatement(modifiers, declarationList) { - var node = createBaseDeclaration(237 /* SyntaxKind.VariableStatement */, /*decorators*/ undefined, modifiers); + var node = createBaseDeclaration(237 /* SyntaxKind.VariableStatement */); + node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; node.transformFlags |= - propagateChildFlags(node.declarationList); + propagateChildrenFlags(node.modifiers) | + propagateChildFlags(node.declarationList); if (ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } @@ -24945,7 +25222,7 @@ var ts; node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | - 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; return node; } // @api @@ -24960,7 +25237,7 @@ var ts; node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | - 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; return node; } // @api @@ -24977,7 +25254,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | 128 /* TransformFlags.ContainsES2018 */ | - 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; return node; } // @api @@ -25077,7 +25354,6 @@ var ts; // @api function createVariableDeclaration(name, exclamationToken, type, initializer) { var node = createBaseVariableLikeDeclaration(254 /* SyntaxKind.VariableDeclaration */, - /*decorators*/ undefined, /*modifiers*/ undefined, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.exclamationToken = exclamationToken; node.transformFlags |= propagateChildFlags(node.exclamationToken); @@ -25103,11 +25379,11 @@ var ts; node.declarations = createNodeArray(declarations); node.transformFlags |= propagateChildrenFlags(node.declarations) | - 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; if (flags & 3 /* NodeFlags.BlockScoped */) { node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */ | - 131072 /* TransformFlags.ContainsBlockScopedBinding */; + 262144 /* TransformFlags.ContainsBlockScopedBinding */; } return node; } @@ -25118,8 +25394,8 @@ var ts; : node; } // @api - function createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(256 /* SyntaxKind.FunctionDeclaration */, decorators, modifiers, name, typeParameters, parameters, type, body); + function createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { + var node = createBaseFunctionLikeDeclaration(256 /* SyntaxKind.FunctionDeclaration */, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; if (!node.body || ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -25127,7 +25403,7 @@ var ts; else { node.transformFlags |= propagateChildFlags(node.asteriskToken) | - 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; + 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { if (node.asteriskToken) { node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; @@ -25140,104 +25416,133 @@ var ts; node.transformFlags |= 2048 /* TransformFlags.ContainsGenerator */; } } + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateFunctionDeclaration(node, decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateFunctionDeclaration(node, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { + return node.modifiers !== modifiers || node.asteriskToken !== asteriskToken || node.name !== name || node.typeParameters !== typeParameters || node.parameters !== parameters || node.type !== type || node.body !== body - ? updateBaseFunctionLikeDeclaration(createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body), node) + ? finishUpdateFunctionDeclaration(createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body), node) : node; } + function finishUpdateFunctionDeclaration(updated, original) { + if (updated !== original) { + // copy children used only for error reporting + updated.decorators = original.decorators; + } + return finishUpdateBaseSignatureDeclaration(updated, original); + } // @api - function createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(257 /* SyntaxKind.ClassDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses, members); + function createClassDeclaration(modifiers, name, typeParameters, heritageClauses, members) { + var node = createBaseClassLikeDeclaration(257 /* SyntaxKind.ClassDeclaration */, modifiers, name, typeParameters, heritageClauses, members); if (ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } else { node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; - if (node.transformFlags & 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */) { + if (node.transformFlags & 8192 /* TransformFlags.ContainsTypeScriptClassSyntax */) { node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } } return node; } // @api - function updateClassDeclaration(node, decorators, modifiers, name, typeParameters, heritageClauses, members) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateClassDeclaration(node, modifiers, name, typeParameters, heritageClauses, members) { + return node.modifiers !== modifiers || node.name !== name || node.typeParameters !== typeParameters || node.heritageClauses !== heritageClauses || node.members !== members - ? update(createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members), node) + ? update(createClassDeclaration(modifiers, name, typeParameters, heritageClauses, members), node) : node; } // @api - function createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseInterfaceOrClassLikeDeclaration(258 /* SyntaxKind.InterfaceDeclaration */, decorators, modifiers, name, typeParameters, heritageClauses); + function createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members) { + var node = createBaseInterfaceOrClassLikeDeclaration(258 /* SyntaxKind.InterfaceDeclaration */, modifiers, name, typeParameters, heritageClauses); node.members = createNodeArray(members); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateInterfaceDeclaration(node, decorators, modifiers, name, typeParameters, heritageClauses, members) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateInterfaceDeclaration(node, modifiers, name, typeParameters, heritageClauses, members) { + return node.modifiers !== modifiers || node.name !== name || node.typeParameters !== typeParameters || node.heritageClauses !== heritageClauses || node.members !== members - ? update(createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members), node) + ? finishUpdateInterfaceDeclaration(createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members), node) : node; } + function finishUpdateInterfaceDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api - function createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type) { - var node = createBaseGenericNamedDeclaration(259 /* SyntaxKind.TypeAliasDeclaration */, decorators, modifiers, name, typeParameters); + function createTypeAliasDeclaration(modifiers, name, typeParameters, type) { + var node = createBaseGenericNamedDeclaration(259 /* SyntaxKind.TypeAliasDeclaration */, modifiers, name, typeParameters); node.type = type; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateTypeAliasDeclaration(node, decorators, modifiers, name, typeParameters, type) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateTypeAliasDeclaration(node, modifiers, name, typeParameters, type) { + return node.modifiers !== modifiers || node.name !== name || node.typeParameters !== typeParameters || node.type !== type - ? update(createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type), node) + ? finishUpdateTypeAliasDeclaration(createTypeAliasDeclaration(modifiers, name, typeParameters, type), node) : node; } + function finishUpdateTypeAliasDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api - function createEnumDeclaration(decorators, modifiers, name, members) { - var node = createBaseNamedDeclaration(260 /* SyntaxKind.EnumDeclaration */, decorators, modifiers, name); + function createEnumDeclaration(modifiers, name, members) { + var node = createBaseNamedDeclaration(260 /* SyntaxKind.EnumDeclaration */, modifiers, name); node.members = createNodeArray(members); node.transformFlags |= propagateChildrenFlags(node.members) | 1 /* TransformFlags.ContainsTypeScript */; - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await` + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await` + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateEnumDeclaration(node, decorators, modifiers, name, members) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateEnumDeclaration(node, modifiers, name, members) { + return node.modifiers !== modifiers || node.name !== name || node.members !== members - ? update(createEnumDeclaration(decorators, modifiers, name, members), node) + ? finishUpdateEnumDeclaration(createEnumDeclaration(modifiers, name, members), node) : node; } + function finishUpdateEnumDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api - function createModuleDeclaration(decorators, modifiers, name, body, flags) { + function createModuleDeclaration(modifiers, name, body, flags) { if (flags === void 0) { flags = 0 /* NodeFlags.None */; } - var node = createBaseDeclaration(261 /* SyntaxKind.ModuleDeclaration */, decorators, modifiers); + var node = createBaseDeclaration(261 /* SyntaxKind.ModuleDeclaration */); + node.modifiers = asNodeArray(modifiers); node.flags |= flags & (16 /* NodeFlags.Namespace */ | 4 /* NodeFlags.NestedNamespace */ | 1024 /* NodeFlags.GlobalAugmentation */); node.name = name; node.body = body; @@ -25246,22 +25551,30 @@ var ts; } else { node.transformFlags |= - propagateChildFlags(node.name) | + propagateChildrenFlags(node.modifiers) | + propagateChildFlags(node.name) | propagateChildFlags(node.body) | 1 /* TransformFlags.ContainsTypeScript */; } - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`. + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`. + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateModuleDeclaration(node, decorators, modifiers, name, body) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateModuleDeclaration(node, modifiers, name, body) { + return node.modifiers !== modifiers || node.name !== name || node.body !== body - ? update(createModuleDeclaration(decorators, modifiers, name, body, node.flags), node) + ? finishUpdateModuleDeclaration(createModuleDeclaration(modifiers, name, body, node.flags), node) : node; } + function finishUpdateModuleDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api function createModuleBlock(statements) { var node = createBaseNode(262 /* SyntaxKind.ModuleBlock */); @@ -25291,60 +25604,84 @@ var ts; // @api function createNamespaceExportDeclaration(name) { var node = createBaseNamedDeclaration(264 /* SyntaxKind.NamespaceExportDeclaration */, - /*decorators*/ undefined, /*modifiers*/ undefined, name); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; + // The following properties are used only to report grammar errors + node.decorators = undefined; + node.modifiers = undefined; return node; } // @api function updateNamespaceExportDeclaration(node, name) { return node.name !== name - ? update(createNamespaceExportDeclaration(name), node) + ? finishUpdateNamespaceExportDeclaration(createNamespaceExportDeclaration(name), node) : node; } + function finishUpdateNamespaceExportDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + updated.modifiers = original.modifiers; + } + return update(updated, original); + } // @api - function createImportEqualsDeclaration(decorators, modifiers, isTypeOnly, name, moduleReference) { - var node = createBaseNamedDeclaration(265 /* SyntaxKind.ImportEqualsDeclaration */, decorators, modifiers, name); + function createImportEqualsDeclaration(modifiers, isTypeOnly, name, moduleReference) { + var node = createBaseNamedDeclaration(265 /* SyntaxKind.ImportEqualsDeclaration */, modifiers, name); node.isTypeOnly = isTypeOnly; node.moduleReference = moduleReference; node.transformFlags |= propagateChildFlags(node.moduleReference); if (!ts.isExternalModuleReference(node.moduleReference)) node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateImportEqualsDeclaration(node, decorators, modifiers, isTypeOnly, name, moduleReference) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateImportEqualsDeclaration(node, modifiers, isTypeOnly, name, moduleReference) { + return node.modifiers !== modifiers || node.isTypeOnly !== isTypeOnly || node.name !== name || node.moduleReference !== moduleReference - ? update(createImportEqualsDeclaration(decorators, modifiers, isTypeOnly, name, moduleReference), node) + ? finishUpdateImportEqualsDeclaration(createImportEqualsDeclaration(modifiers, isTypeOnly, name, moduleReference), node) : node; } + function finishUpdateImportEqualsDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api - function createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(266 /* SyntaxKind.ImportDeclaration */, decorators, modifiers); + function createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause) { + var node = createBaseDeclaration(266 /* SyntaxKind.ImportDeclaration */); + node.modifiers = asNodeArray(modifiers); node.importClause = importClause; node.moduleSpecifier = moduleSpecifier; node.assertClause = assertClause; node.transformFlags |= propagateChildFlags(node.importClause) | propagateChildFlags(node.moduleSpecifier); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateImportDeclaration(node, decorators, modifiers, importClause, moduleSpecifier, assertClause) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) { + return node.modifiers !== modifiers || node.importClause !== importClause || node.moduleSpecifier !== moduleSpecifier || node.assertClause !== assertClause - ? update(createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier, assertClause), node) + ? finishUpdateImportDeclaration(createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause), node) : node; } + function finishUpdateImportDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api function createImportClause(isTypeOnly, name, namedBindings) { var node = createBaseNode(267 /* SyntaxKind.ImportClause */); @@ -25357,7 +25694,7 @@ var ts; if (isTypeOnly) { node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25417,7 +25754,7 @@ var ts; var node = createBaseNode(268 /* SyntaxKind.NamespaceImport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25433,7 +25770,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.name) | 4 /* TransformFlags.ContainsESNext */; - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25447,7 +25784,7 @@ var ts; var node = createBaseNode(269 /* SyntaxKind.NamedImports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25465,7 +25802,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25477,54 +25814,71 @@ var ts; : node; } // @api - function createExportAssignment(decorators, modifiers, isExportEquals, expression) { - var node = createBaseDeclaration(271 /* SyntaxKind.ExportAssignment */, decorators, modifiers); + function createExportAssignment(modifiers, isExportEquals, expression) { + var node = createBaseDeclaration(271 /* SyntaxKind.ExportAssignment */); + node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; node.expression = isExportEquals ? parenthesizerRules().parenthesizeRightSideOfBinary(63 /* SyntaxKind.EqualsToken */, /*leftSide*/ undefined, expression) : parenthesizerRules().parenthesizeExpressionOfExportDefault(expression); - node.transformFlags |= propagateChildFlags(node.expression); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.expression); + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateExportAssignment(node, decorators, modifiers, expression) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateExportAssignment(node, modifiers, expression) { + return node.modifiers !== modifiers || node.expression !== expression - ? update(createExportAssignment(decorators, modifiers, node.isExportEquals, expression), node) + ? finishUpdateExportAssignment(createExportAssignment(modifiers, node.isExportEquals, expression), node) : node; } + function finishUpdateExportAssignment(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api - function createExportDeclaration(decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(272 /* SyntaxKind.ExportDeclaration */, decorators, modifiers); + function createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { + var node = createBaseDeclaration(272 /* SyntaxKind.ExportDeclaration */); + node.modifiers = asNodeArray(modifiers); node.isTypeOnly = isTypeOnly; node.exportClause = exportClause; node.moduleSpecifier = moduleSpecifier; node.assertClause = assertClause; node.transformFlags |= - propagateChildFlags(node.exportClause) | + propagateChildrenFlags(node.modifiers) | + propagateChildFlags(node.exportClause) | propagateChildFlags(node.moduleSpecifier); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + // The following properties are used only to report grammar errors + node.decorators = undefined; return node; } // @api - function updateExportDeclaration(node, decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { - return node.decorators !== decorators - || node.modifiers !== modifiers + function updateExportDeclaration(node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { + return node.modifiers !== modifiers || node.isTypeOnly !== isTypeOnly || node.exportClause !== exportClause || node.moduleSpecifier !== moduleSpecifier || node.assertClause !== assertClause - ? update(createExportDeclaration(decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause), node) + ? finishUpdateExportDeclaration(createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause), node) : node; } + function finishUpdateExportDeclaration(updated, original) { + if (updated !== original) { + updated.decorators = original.decorators; + } + return update(updated, original); + } // @api function createNamedExports(elements) { var node = createBaseNode(273 /* SyntaxKind.NamedExports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25542,7 +25896,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.propertyName) | propagateChildFlags(node.name); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25555,9 +25909,7 @@ var ts; } // @api function createMissingDeclaration() { - var node = createBaseDeclaration(276 /* SyntaxKind.MissingDeclaration */, - /*decorators*/ undefined, - /*modifiers*/ undefined); + var node = createBaseDeclaration(276 /* SyntaxKind.MissingDeclaration */); return node; } // @@ -25568,7 +25920,7 @@ var ts; var node = createBaseNode(277 /* SyntaxKind.ExternalModuleReference */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); - node.transformFlags &= ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context + node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context return node; } // @api @@ -25624,7 +25976,6 @@ var ts; // @api function createJSDocFunctionType(parameters, type) { var node = createBaseSignatureDeclaration(317 /* SyntaxKind.JSDocFunctionType */, - /*decorators*/ undefined, /*modifiers*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); @@ -26276,58 +26627,51 @@ var ts; // @api function createPropertyAssignment(name, initializer) { var node = createBaseNamedDeclaration(296 /* SyntaxKind.PropertyAssignment */, - /*decorators*/ undefined, /*modifiers*/ undefined, name); node.initializer = parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); node.transformFlags |= propagateChildFlags(node.name) | propagateChildFlags(node.initializer); + // The following properties are used only to report grammar errors + node.decorators = undefined; + node.modifiers = undefined; + node.questionToken = undefined; + node.exclamationToken = undefined; return node; } + // @api + function updatePropertyAssignment(node, name, initializer) { + return node.name !== name + || node.initializer !== initializer + ? finishUpdatePropertyAssignment(createPropertyAssignment(name, initializer), node) + : node; + } function finishUpdatePropertyAssignment(updated, original) { // copy children used only for error reporting - if (original.decorators) + if (updated !== original) { updated.decorators = original.decorators; - if (original.modifiers) updated.modifiers = original.modifiers; - if (original.questionToken) updated.questionToken = original.questionToken; - if (original.exclamationToken) updated.exclamationToken = original.exclamationToken; + } return update(updated, original); } // @api - function updatePropertyAssignment(node, name, initializer) { - return node.name !== name - || node.initializer !== initializer - ? finishUpdatePropertyAssignment(createPropertyAssignment(name, initializer), node) - : node; - } - // @api function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { var node = createBaseNamedDeclaration(297 /* SyntaxKind.ShorthandPropertyAssignment */, - /*decorators*/ undefined, /*modifiers*/ undefined, name); node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer); node.transformFlags |= propagateChildFlags(node.objectAssignmentInitializer) | 1024 /* TransformFlags.ContainsES2015 */; + // The following properties are used only to report grammar errors + node.equalsToken = undefined; + node.decorators = undefined; + node.modifiers = undefined; + node.questionToken = undefined; + node.exclamationToken = undefined; return node; } - function finishUpdateShorthandPropertyAssignment(updated, original) { - // copy children used only for error reporting - if (original.decorators) - updated.decorators = original.decorators; - if (original.modifiers) - updated.modifiers = original.modifiers; - if (original.equalsToken) - updated.equalsToken = original.equalsToken; - if (original.questionToken) - updated.questionToken = original.questionToken; - if (original.exclamationToken) - updated.exclamationToken = original.exclamationToken; - return update(updated, original); - } // @api function updateShorthandPropertyAssignment(node, name, objectAssignmentInitializer) { return node.name !== name @@ -26335,6 +26679,17 @@ var ts; ? finishUpdateShorthandPropertyAssignment(createShorthandPropertyAssignment(name, objectAssignmentInitializer), node) : node; } + function finishUpdateShorthandPropertyAssignment(updated, original) { + if (updated !== original) { + // copy children used only for error reporting + updated.equalsToken = original.equalsToken; + updated.decorators = original.decorators; + updated.modifiers = original.modifiers; + updated.questionToken = original.questionToken; + updated.exclamationToken = original.exclamationToken; + } + return update(updated, original); + } // @api function createSpreadAssignment(expression) { var node = createBaseNode(298 /* SyntaxKind.SpreadAssignment */); @@ -26342,7 +26697,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.expression) | 128 /* TransformFlags.ContainsES2018 */ | - 32768 /* TransformFlags.ContainsObjectRestOrSpread */; + 65536 /* TransformFlags.ContainsObjectRestOrSpread */; return node; } // @api @@ -26662,13 +27017,11 @@ var ts; } function createExportDefault(expression) { return createExportAssignment( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isExportEquals*/ false, expression); } function createExternalModuleExport(exportName) { return createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, createNamedExports([ createExportSpecifier(/*isTypeOnly*/ false, /*propertyName*/ undefined, exportName) @@ -26826,7 +27179,7 @@ var ts; } else if (ts.getEmitFlags(callee) & 4096 /* EmitFlags.HelperName */) { thisArg = createVoidZero(); - target = parenthesizerRules().parenthesizeLeftSideOfAccess(callee); + target = parenthesizerRules().parenthesizeLeftSideOfAccess(callee, /*optionalChain*/ false); } else if (ts.isPropertyAccessExpression(callee)) { if (shouldBeCapturedInTempVariable(callee.expression, cacheIdentifiers)) { @@ -26855,7 +27208,7 @@ var ts; else { // for `a()` target is `a` and thisArg is `void 0` thisArg = createVoidZero(); - target = parenthesizerRules().parenthesizeLeftSideOfAccess(expression); + target = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); } return { target: target, thisArg: thisArg }; } @@ -26864,9 +27217,7 @@ var ts; // Explicit parens required because of v8 regression (https://bugs.chromium.org/p/v8/issues/detail?id=9560) createParenthesizedExpression(createObjectLiteralExpression([ createSetAccessorDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, "value", [createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, paramName, /*questionToken*/ undefined, @@ -27168,30 +27519,32 @@ var ts; else { modifierArray = modifiers; } - return ts.isParameter(node) ? updateParameterDeclaration(node, node.decorators, modifierArray, node.dotDotDotToken, node.name, node.questionToken, node.type, node.initializer) : - ts.isPropertySignature(node) ? updatePropertySignature(node, modifierArray, node.name, node.questionToken, node.type) : - ts.isPropertyDeclaration(node) ? updatePropertyDeclaration(node, node.decorators, modifierArray, node.name, (_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, node.type, node.initializer) : - ts.isMethodSignature(node) ? updateMethodSignature(node, modifierArray, node.name, node.questionToken, node.typeParameters, node.parameters, node.type) : - ts.isMethodDeclaration(node) ? updateMethodDeclaration(node, node.decorators, modifierArray, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, node.body) : - ts.isConstructorDeclaration(node) ? updateConstructorDeclaration(node, node.decorators, modifierArray, node.parameters, node.body) : - ts.isGetAccessorDeclaration(node) ? updateGetAccessorDeclaration(node, node.decorators, modifierArray, node.name, node.parameters, node.type, node.body) : - ts.isSetAccessorDeclaration(node) ? updateSetAccessorDeclaration(node, node.decorators, modifierArray, node.name, node.parameters, node.body) : - ts.isIndexSignatureDeclaration(node) ? updateIndexSignature(node, node.decorators, modifierArray, node.parameters, node.type) : - ts.isFunctionExpression(node) ? updateFunctionExpression(node, modifierArray, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : - ts.isArrowFunction(node) ? updateArrowFunction(node, modifierArray, node.typeParameters, node.parameters, node.type, node.equalsGreaterThanToken, node.body) : - ts.isClassExpression(node) ? updateClassExpression(node, node.decorators, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : - ts.isVariableStatement(node) ? updateVariableStatement(node, modifierArray, node.declarationList) : - ts.isFunctionDeclaration(node) ? updateFunctionDeclaration(node, node.decorators, modifierArray, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : - ts.isClassDeclaration(node) ? updateClassDeclaration(node, node.decorators, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : - ts.isInterfaceDeclaration(node) ? updateInterfaceDeclaration(node, node.decorators, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : - ts.isTypeAliasDeclaration(node) ? updateTypeAliasDeclaration(node, node.decorators, modifierArray, node.name, node.typeParameters, node.type) : - ts.isEnumDeclaration(node) ? updateEnumDeclaration(node, node.decorators, modifierArray, node.name, node.members) : - ts.isModuleDeclaration(node) ? updateModuleDeclaration(node, node.decorators, modifierArray, node.name, node.body) : - ts.isImportEqualsDeclaration(node) ? updateImportEqualsDeclaration(node, node.decorators, modifierArray, node.isTypeOnly, node.name, node.moduleReference) : - ts.isImportDeclaration(node) ? updateImportDeclaration(node, node.decorators, modifierArray, node.importClause, node.moduleSpecifier, node.assertClause) : - ts.isExportAssignment(node) ? updateExportAssignment(node, node.decorators, modifierArray, node.expression) : - ts.isExportDeclaration(node) ? updateExportDeclaration(node, node.decorators, modifierArray, node.isTypeOnly, node.exportClause, node.moduleSpecifier, node.assertClause) : - ts.Debug.assertNever(node); + return ts.isTypeParameterDeclaration(node) ? updateTypeParameterDeclaration(node, modifierArray, node.name, node.constraint, node.default) : + ts.isParameter(node) ? updateParameterDeclaration(node, modifierArray, node.dotDotDotToken, node.name, node.questionToken, node.type, node.initializer) : + ts.isConstructorTypeNode(node) ? updateConstructorTypeNode1(node, modifierArray, node.typeParameters, node.parameters, node.type) : + ts.isPropertySignature(node) ? updatePropertySignature(node, modifierArray, node.name, node.questionToken, node.type) : + ts.isPropertyDeclaration(node) ? updatePropertyDeclaration(node, modifierArray, node.name, (_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, node.type, node.initializer) : + ts.isMethodSignature(node) ? updateMethodSignature(node, modifierArray, node.name, node.questionToken, node.typeParameters, node.parameters, node.type) : + ts.isMethodDeclaration(node) ? updateMethodDeclaration(node, modifierArray, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, node.body) : + ts.isConstructorDeclaration(node) ? updateConstructorDeclaration(node, modifierArray, node.parameters, node.body) : + ts.isGetAccessorDeclaration(node) ? updateGetAccessorDeclaration(node, modifierArray, node.name, node.parameters, node.type, node.body) : + ts.isSetAccessorDeclaration(node) ? updateSetAccessorDeclaration(node, modifierArray, node.name, node.parameters, node.body) : + ts.isIndexSignatureDeclaration(node) ? updateIndexSignature(node, modifierArray, node.parameters, node.type) : + ts.isFunctionExpression(node) ? updateFunctionExpression(node, modifierArray, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : + ts.isArrowFunction(node) ? updateArrowFunction(node, modifierArray, node.typeParameters, node.parameters, node.type, node.equalsGreaterThanToken, node.body) : + ts.isClassExpression(node) ? updateClassExpression(node, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : + ts.isVariableStatement(node) ? updateVariableStatement(node, modifierArray, node.declarationList) : + ts.isFunctionDeclaration(node) ? updateFunctionDeclaration(node, modifierArray, node.asteriskToken, node.name, node.typeParameters, node.parameters, node.type, node.body) : + ts.isClassDeclaration(node) ? updateClassDeclaration(node, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : + ts.isInterfaceDeclaration(node) ? updateInterfaceDeclaration(node, modifierArray, node.name, node.typeParameters, node.heritageClauses, node.members) : + ts.isTypeAliasDeclaration(node) ? updateTypeAliasDeclaration(node, modifierArray, node.name, node.typeParameters, node.type) : + ts.isEnumDeclaration(node) ? updateEnumDeclaration(node, modifierArray, node.name, node.members) : + ts.isModuleDeclaration(node) ? updateModuleDeclaration(node, modifierArray, node.name, node.body) : + ts.isImportEqualsDeclaration(node) ? updateImportEqualsDeclaration(node, modifierArray, node.isTypeOnly, node.name, node.moduleReference) : + ts.isImportDeclaration(node) ? updateImportDeclaration(node, modifierArray, node.importClause, node.moduleSpecifier, node.assertClause) : + ts.isExportAssignment(node) ? updateExportAssignment(node, modifierArray, node.expression) : + ts.isExportDeclaration(node) ? updateExportDeclaration(node, modifierArray, node.isTypeOnly, node.exportClause, node.moduleSpecifier, node.assertClause) : + ts.Debug.assertNever(node); } function asNodeArray(array) { return array ? createNodeArray(array) : undefined; @@ -27299,10 +27652,10 @@ var ts; } function propagateIdentifierNameFlags(node) { // An IdentifierName is allowed to be `await` - return propagateChildFlags(node) & ~16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */; + return propagateChildFlags(node) & ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; } function propagatePropertyNameFlagsOfChild(node, transformFlags) { - return transformFlags | (node.transformFlags & 33562624 /* TransformFlags.PropertyNamePropagatingFlags */); + return transformFlags | (node.transformFlags & 134234112 /* TransformFlags.PropertyNamePropagatingFlags */); } function propagateChildFlags(child) { if (!child) @@ -27333,29 +27686,29 @@ var ts; case 208 /* SyntaxKind.CallExpression */: case 209 /* SyntaxKind.NewExpression */: case 204 /* SyntaxKind.ArrayLiteralExpression */: - return 536887296 /* TransformFlags.ArrayLiteralOrCallOrNewExcludes */; + return -2147450880 /* TransformFlags.ArrayLiteralOrCallOrNewExcludes */; case 261 /* SyntaxKind.ModuleDeclaration */: - return 589443072 /* TransformFlags.ModuleExcludes */; + return -1941676032 /* TransformFlags.ModuleExcludes */; case 164 /* SyntaxKind.Parameter */: - return 536870912 /* TransformFlags.ParameterExcludes */; + return -2147483648 /* TransformFlags.ParameterExcludes */; case 214 /* SyntaxKind.ArrowFunction */: - return 557748224 /* TransformFlags.ArrowFunctionExcludes */; + return -2072174592 /* TransformFlags.ArrowFunctionExcludes */; case 213 /* SyntaxKind.FunctionExpression */: case 256 /* SyntaxKind.FunctionDeclaration */: - return 591310848 /* TransformFlags.FunctionExcludes */; + return -1937940480 /* TransformFlags.FunctionExcludes */; case 255 /* SyntaxKind.VariableDeclarationList */: - return 537165824 /* TransformFlags.VariableDeclarationListExcludes */; + return -2146893824 /* TransformFlags.VariableDeclarationListExcludes */; case 257 /* SyntaxKind.ClassDeclaration */: case 226 /* SyntaxKind.ClassExpression */: - return 536940544 /* TransformFlags.ClassExcludes */; + return -2147344384 /* TransformFlags.ClassExcludes */; case 171 /* SyntaxKind.Constructor */: - return 591306752 /* TransformFlags.ConstructorExcludes */; + return -1937948672 /* TransformFlags.ConstructorExcludes */; case 167 /* SyntaxKind.PropertyDeclaration */: - return 570433536 /* TransformFlags.PropertyExcludes */; + return -2013249536 /* TransformFlags.PropertyExcludes */; case 169 /* SyntaxKind.MethodDeclaration */: case 172 /* SyntaxKind.GetAccessor */: case 173 /* SyntaxKind.SetAccessor */: - return 574529536 /* TransformFlags.MethodOrAccessorExcludes */; + return -2005057536 /* TransformFlags.MethodOrAccessorExcludes */; case 130 /* SyntaxKind.AnyKeyword */: case 147 /* SyntaxKind.NumberKeyword */: case 158 /* SyntaxKind.BigIntKeyword */: @@ -27375,23 +27728,23 @@ var ts; case 259 /* SyntaxKind.TypeAliasDeclaration */: return -2 /* TransformFlags.TypeExcludes */; case 205 /* SyntaxKind.ObjectLiteralExpression */: - return 536973312 /* TransformFlags.ObjectLiteralExcludes */; + return -2147278848 /* TransformFlags.ObjectLiteralExcludes */; case 292 /* SyntaxKind.CatchClause */: - return 536903680 /* TransformFlags.CatchClauseExcludes */; + return -2147418112 /* TransformFlags.CatchClauseExcludes */; case 201 /* SyntaxKind.ObjectBindingPattern */: case 202 /* SyntaxKind.ArrayBindingPattern */: - return 536887296 /* TransformFlags.BindingPatternExcludes */; + return -2147450880 /* TransformFlags.BindingPatternExcludes */; case 211 /* SyntaxKind.TypeAssertionExpression */: case 229 /* SyntaxKind.AsExpression */: case 350 /* SyntaxKind.PartiallyEmittedExpression */: case 212 /* SyntaxKind.ParenthesizedExpression */: case 106 /* SyntaxKind.SuperKeyword */: - return 536870912 /* TransformFlags.OuterExpressionExcludes */; + return -2147483648 /* TransformFlags.OuterExpressionExcludes */; case 206 /* SyntaxKind.PropertyAccessExpression */: case 207 /* SyntaxKind.ElementAccessExpression */: - return 536870912 /* TransformFlags.PropertyAccessExcludes */; + return -2147483648 /* TransformFlags.PropertyAccessExcludes */; default: - return 536870912 /* TransformFlags.NodeExcludes */; + return -2147483648 /* TransformFlags.NodeExcludes */; } } ts.getTransformFlagsSubtreeExclusions = getTransformFlagsSubtreeExclusions; @@ -28801,6 +29154,11 @@ var ts; return node.kind === 126 /* SyntaxKind.AbstractKeyword */; } ts.isAbstractModifier = isAbstractModifier; + /* @internal */ + function isOverrideModifier(node) { + return node.kind === 159 /* SyntaxKind.OverrideKeyword */; + } + ts.isOverrideModifier = isOverrideModifier; /*@internal*/ function isSuperKeyword(node) { return node.kind === 106 /* SyntaxKind.SuperKeyword */; @@ -29256,6 +29614,10 @@ var ts; return node.kind === 267 /* SyntaxKind.ImportClause */; } ts.isImportClause = isImportClause; + function isImportTypeAssertionContainer(node) { + return node.kind === 295 /* SyntaxKind.ImportTypeAssertionContainer */; + } + ts.isImportTypeAssertionContainer = isImportTypeAssertionContainer; function isAssertClause(node) { return node.kind === 293 /* SyntaxKind.AssertClause */; } @@ -29593,7 +29955,7 @@ var ts; (function (ts) { // Compound nodes function createEmptyExports(factory) { - return factory.createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports([]), /*moduleSpecifier*/ undefined); + return factory.createExportDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports([]), /*moduleSpecifier*/ undefined); } ts.createEmptyExports = createEmptyExports; function createMemberAccessForPropertyName(factory, target, memberName, location) { @@ -29743,13 +30105,13 @@ var ts; return ts.setTextRange(factory.createObjectDefinePropertyCall(receiver, createExpressionForPropertyName(factory, property.name), factory.createPropertyDescriptor({ enumerable: factory.createFalse(), configurable: true, - get: getAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(getAccessor.modifiers, + get: getAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(getAccessor), /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, getAccessor.parameters, /*type*/ undefined, getAccessor.body // TODO: GH#18217 ), getAccessor), getAccessor), - set: setAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(setAccessor.modifiers, + set: setAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(setAccessor), /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, setAccessor.parameters, @@ -29768,7 +30130,7 @@ var ts; /*original*/ property); } function createExpressionForMethodDeclaration(factory, method, receiver) { - return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression(method.modifiers, method.asteriskToken, + return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression(ts.getModifiers(method), method.asteriskToken, /*name*/ undefined, /*typeParameters*/ undefined, method.parameters, /*type*/ undefined, method.body // TODO: GH#18217 @@ -30001,7 +30363,6 @@ var ts; } if (namedBindings) { var externalHelpersImportDeclaration = nodeFactory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, nodeFactory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, namedBindings), nodeFactory.createStringLiteral(ts.externalHelpersModuleNameText), /*assertClause*/ undefined); ts.addEmitFlags(externalHelpersImportDeclaration, 67108864 /* EmitFlags.NeverApplyImportHelper */); @@ -30320,9 +30681,55 @@ var ts; } } ts.getJSDocTypeAliasName = getJSDocTypeAliasName; - function canHaveModifiers(node) { + function canHaveIllegalType(node) { + var kind = node.kind; + return kind === 171 /* SyntaxKind.Constructor */ + || kind === 173 /* SyntaxKind.SetAccessor */; + } + ts.canHaveIllegalType = canHaveIllegalType; + function canHaveIllegalTypeParameters(node) { + var kind = node.kind; + return kind === 171 /* SyntaxKind.Constructor */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */; + } + ts.canHaveIllegalTypeParameters = canHaveIllegalTypeParameters; + function canHaveDecorators(node) { var kind = node.kind; return kind === 164 /* SyntaxKind.Parameter */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 226 /* SyntaxKind.ClassExpression */ + || kind === 257 /* SyntaxKind.ClassDeclaration */; + } + ts.canHaveDecorators = canHaveDecorators; + function canHaveIllegalDecorators(node) { + var kind = node.kind; + return kind === 296 /* SyntaxKind.PropertyAssignment */ + || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 276 /* SyntaxKind.MissingDeclaration */ + || kind === 237 /* SyntaxKind.VariableStatement */ + || kind === 258 /* SyntaxKind.InterfaceDeclaration */ + || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 260 /* SyntaxKind.EnumDeclaration */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 266 /* SyntaxKind.ImportDeclaration */ + || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ + || kind === 272 /* SyntaxKind.ExportDeclaration */ + || kind === 271 /* SyntaxKind.ExportAssignment */; + } + ts.canHaveIllegalDecorators = canHaveIllegalDecorators; + function canHaveModifiers(node) { + var kind = node.kind; + return kind === 163 /* SyntaxKind.TypeParameter */ + || kind === 164 /* SyntaxKind.Parameter */ || kind === 166 /* SyntaxKind.PropertySignature */ || kind === 167 /* SyntaxKind.PropertyDeclaration */ || kind === 168 /* SyntaxKind.MethodSignature */ @@ -30331,6 +30738,7 @@ var ts; || kind === 172 /* SyntaxKind.GetAccessor */ || kind === 173 /* SyntaxKind.SetAccessor */ || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 180 /* SyntaxKind.ConstructorType */ || kind === 213 /* SyntaxKind.FunctionExpression */ || kind === 214 /* SyntaxKind.ArrowFunction */ || kind === 226 /* SyntaxKind.ClassExpression */ @@ -30347,6 +30755,16 @@ var ts; || kind === 272 /* SyntaxKind.ExportDeclaration */; } ts.canHaveModifiers = canHaveModifiers; + function canHaveIllegalModifiers(node) { + var kind = node.kind; + return kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 296 /* SyntaxKind.PropertyAssignment */ + || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 179 /* SyntaxKind.FunctionType */ + || kind === 276 /* SyntaxKind.MissingDeclaration */ + || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */; + } + ts.canHaveIllegalModifiers = canHaveIllegalModifiers; ts.isTypeNodeOrTypeParameterDeclaration = ts.or(ts.isTypeNode, ts.isTypeParameterDeclaration); ts.isQuestionOrExclamationToken = ts.or(ts.isQuestionToken, ts.isExclamationToken); ts.isIdentifierOrThisTypeNode = ts.or(ts.isIdentifier, ts.isThisTypeNode); @@ -30610,6 +31028,14 @@ var ts; } } ts.createBinaryExpressionTrampoline = createBinaryExpressionTrampoline; + function elideNodes(factory, nodes) { + if (nodes === undefined) + return undefined; + if (nodes.length === 0) + return nodes; + return ts.setTextRange(factory.createNodeArray([], nodes.hasTrailingComma), nodes); + } + ts.elideNodes = elideNodes; })(ts || (ts = {})); var ts; (function (ts) { @@ -30686,7 +31112,7 @@ var ts; } ts.isFileProbablyExternalModule = isFileProbablyExternalModule; function isAnExternalModuleIndicatorNode(node) { - return hasModifierOfKind(node, 93 /* SyntaxKind.ExportKeyword */) + return ts.canHaveModifiers(node) && hasModifierOfKind(node, 93 /* SyntaxKind.ExportKeyword */) || ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference) || ts.isImportDeclaration(node) || ts.isExportAssignment(node) @@ -30745,24 +31171,21 @@ var ts; case 298 /* SyntaxKind.SpreadAssignment */: return visitNode(cbNode, node.expression); case 164 /* SyntaxKind.Parameter */: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || + return visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); case 167 /* SyntaxKind.PropertyDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || + return visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); case 166 /* SyntaxKind.PropertySignature */: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || + return visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || @@ -30772,45 +31195,97 @@ var ts; visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.initializer); case 254 /* SyntaxKind.VariableDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || + return visitNode(cbNode, node.name) || visitNode(cbNode, node.exclamationToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); case 203 /* SyntaxKind.BindingElement */: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.dotDotDotToken) || + return visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: case 176 /* SyntaxKind.IndexSignature */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); + case 180 /* SyntaxKind.ConstructorType */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + case 179 /* SyntaxKind.FunctionType */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + return visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); case 169 /* SyntaxKind.MethodDeclaration */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); case 168 /* SyntaxKind.MethodSignature */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); case 171 /* SyntaxKind.Constructor */: + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); case 172 /* SyntaxKind.GetAccessor */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); case 173 /* SyntaxKind.SetAccessor */: - case 213 /* SyntaxKind.FunctionExpression */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); case 256 /* SyntaxKind.FunctionDeclaration */: - case 214 /* SyntaxKind.ArrowFunction */: return visitNodes(cbNode, cbNodes, node.decorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + case 213 /* SyntaxKind.FunctionExpression */: + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + case 214 /* SyntaxKind.ArrowFunction */: + return visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type) || @@ -31010,8 +31485,7 @@ var ts; return visitNode(cbNode, node.expression); case 257 /* SyntaxKind.ClassDeclaration */: case 226 /* SyntaxKind.ClassExpression */: - return visitNodes(cbNode, cbNodes, node.decorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || + return visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || @@ -31062,7 +31536,8 @@ var ts; return visitNode(cbNode, node.name) || visitNode(cbNode, node.value); case 264 /* SyntaxKind.NamespaceExportDeclaration */: - return visitNode(cbNode, node.name); + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNode(cbNode, node.name); case 268 /* SyntaxKind.NamespaceImport */: return visitNode(cbNode, node.name); case 274 /* SyntaxKind.NamespaceExport */: @@ -31085,13 +31560,17 @@ var ts; visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); case 223 /* SyntaxKind.TemplateExpression */: - return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); + return visitNode(cbNode, node.head) || + visitNodes(cbNode, cbNodes, node.templateSpans); case 233 /* SyntaxKind.TemplateSpan */: - return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.literal); case 198 /* SyntaxKind.TemplateLiteralType */: - return visitNode(cbNode, node.head) || visitNodes(cbNode, cbNodes, node.templateSpans); + return visitNode(cbNode, node.head) || + visitNodes(cbNode, cbNodes, node.templateSpans); case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: - return visitNode(cbNode, node.type) || visitNode(cbNode, node.literal); + return visitNode(cbNode, node.type) || + visitNode(cbNode, node.literal); case 162 /* SyntaxKind.ComputedPropertyName */: return visitNode(cbNode, node.expression); case 291 /* SyntaxKind.HeritageClause */: @@ -31102,7 +31581,8 @@ var ts; case 277 /* SyntaxKind.ExternalModuleReference */: return visitNode(cbNode, node.expression); case 276 /* SyntaxKind.MissingDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators); + return visitNodes(cbNode, cbNodes, node.decorators) || + visitNodes(cbNode, cbNodes, node.modifiers); case 351 /* SyntaxKind.CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); case 278 /* SyntaxKind.JsxElement */: @@ -31781,7 +32261,7 @@ var ts; return factory.updateSourceFile(sourceFile, ts.setTextRange(factory.createNodeArray(statements), sourceFile.statements)); function containsPossibleTopLevelAwait(node) { return !(node.flags & 32768 /* NodeFlags.AwaitContext */) - && !!(node.transformFlags & 16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */); + && !!(node.transformFlags & 67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */); } function findNextStatementWithAwait(statements, start) { for (var i = start; i < statements.length; i++) { @@ -31822,7 +32302,7 @@ var ts; ts.setTextRangePosWidth(sourceFile, 0, sourceText.length); setFields(sourceFile); // If we parsed this as an external module, it may contain top-level await - if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 16777216 /* TransformFlags.ContainsPossibleTopLevelAwait */) { + if (!isDeclarationFile && isExternalModule(sourceFile) && sourceFile.transformFlags & 67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */) { sourceFile = reparseTopLevelAwait(sourceFile); setFields(sourceFile); } @@ -32750,7 +33230,7 @@ var ts; } return parseElement(); } - function currentNode(parsingContext) { + function currentNode(parsingContext, pos) { // If we don't have a cursor or the parsing context isn't reusable, there's nothing to reuse. // // If there is an outstanding parse error that we've encountered, but not attached to @@ -32763,7 +33243,7 @@ var ts; if (!syntaxCursor || !isReusableParsingContext(parsingContext) || parseErrorBeforeNextFinishedNode) { return undefined; } - var node = syntaxCursor.currentNode(scanner.getStartPos()); + var node = syntaxCursor.currentNode(pos !== null && pos !== void 0 ? pos : scanner.getStartPos()); // Can't reuse a missing node. // Can't reuse a node that intersected the change range. // Can't reuse a node that contains a parse error. This is necessary so that we @@ -33038,7 +33518,9 @@ var ts; case 23 /* ParsingContext.ImportOrExportSpecifiers */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); case 13 /* ParsingContext.JsxAttributes */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); case 14 /* ParsingContext.JsxChildren */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); - default: return [undefined]; // TODO: GH#18217 `default: Debug.assertNever(context);` + case 24 /* ParsingContext.AssertEntries */: return parseErrorAtCurrentToken(ts.Diagnostics.Identifier_or_string_literal_expected); // AssertionKey. + case 25 /* ParsingContext.Count */: return ts.Debug.fail("ParsingContext.Count used as a context"); // Not a real context, only a marker. + default: ts.Debug.assertNever(context); } } function parseDelimitedList(kind, parseElement, considerSemicolonAsDelimiter) { @@ -33354,7 +33836,6 @@ var ts; parseExpected(58 /* SyntaxKind.ColonToken */); } return finishNode(factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, // TODO(rbuckton): JSDoc parameters don't have names (except `this`/`new`), should we manufacture an empty identifier? @@ -33480,10 +33961,9 @@ var ts; // FormalParameter [Yield,Await]: // BindingElement[?Yield,?Await] // Decorators are parsed in the outer [Await] context, the rest of the parameter is parsed in the function's [Await] context. - var decorators = inOuterAwaitContext ? doInAwaitContext(parseDecorators) : parseDecorators(); + var decorators = inOuterAwaitContext ? doInAwaitContext(parseDecorators) : doOutsideOfAwaitContext(parseDecorators); if (token() === 108 /* SyntaxKind.ThisKeyword */) { var node_1 = factory.createParameterDeclaration(decorators, - /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, createIdentifier(/*isIdentifier*/ true), /*questionToken*/ undefined, parseTypeAnnotation(), /*initializer*/ undefined); @@ -33494,12 +33974,12 @@ var ts; } var savedTopLevel = topLevel; topLevel = false; - var modifiers = parseModifiers(); + var modifiers = combineDecoratorsAndModifiers(decorators, parseModifiers()); var dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */); if (!allowAmbiguity && !isParameterNameStart()) { return undefined; } - var node = withJSDoc(finishNode(factory.createParameterDeclaration(decorators, modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* SyntaxKind.QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc); + var node = withJSDoc(finishNode(factory.createParameterDeclaration(modifiers, dotDotDotToken, parseNameOfParameter(modifiers), parseOptionalToken(57 /* SyntaxKind.QuestionToken */), parseTypeAnnotation(), parseInitializer()), pos), hasJSDoc); topLevel = savedTopLevel; return node; } @@ -33651,7 +34131,8 @@ var ts; var parameters = parseBracketedList(16 /* ParsingContext.Parameters */, function () { return parseParameter(/*inOuterAwaitContext*/ false); }, 22 /* SyntaxKind.OpenBracketToken */, 23 /* SyntaxKind.CloseBracketToken */); var type = parseTypeAnnotation(); parseTypeMemberSemicolon(); - var node = factory.createIndexSignature(decorators, modifiers, parameters, type); + var node = factory.createIndexSignature(modifiers, parameters, type); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) { @@ -33724,10 +34205,10 @@ var ts; var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiers(); if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* SyntaxKind.GetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* SyntaxKind.GetAccessor */, 4 /* SignatureFlags.Type */); } if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 173 /* SyntaxKind.SetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 173 /* SyntaxKind.SetAccessor */, 4 /* SignatureFlags.Type */); } if (isIndexSignature()) { return parseIndexSignatureDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers); @@ -34365,10 +34846,10 @@ var ts; setDecoratorContext(/*val*/ false); } var pos = getNodePos(); - var expr = parseAssignmentExpressionOrHigher(); + var expr = parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); var operatorToken; while ((operatorToken = parseOptionalToken(27 /* SyntaxKind.CommaToken */))) { - expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(), pos); + expr = makeBinaryExpression(expr, operatorToken, parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true), pos); } if (saveDecoratorContext) { setDecoratorContext(/*val*/ true); @@ -34376,9 +34857,9 @@ var ts; return expr; } function parseInitializer() { - return parseOptional(63 /* SyntaxKind.EqualsToken */) ? parseAssignmentExpressionOrHigher() : undefined; + return parseOptional(63 /* SyntaxKind.EqualsToken */) ? parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true) : undefined; } - function parseAssignmentExpressionOrHigher() { + function parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction) { // AssignmentExpression[in,yield]: // 1) ConditionalExpression[?in,?yield] // 2) LeftHandSideExpression = AssignmentExpression[?in,?yield] @@ -34404,7 +34885,7 @@ var ts; // If we do successfully parse arrow-function, we must *not* recurse for productions 1, 2 or 3. An ArrowFunction is // not a LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done // with AssignmentExpression if we see one. - var arrowExpression = tryParseParenthesizedArrowFunctionExpression() || tryParseAsyncSimpleArrowFunctionExpression(); + var arrowExpression = tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) || tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction); if (arrowExpression) { return arrowExpression; } @@ -34423,7 +34904,7 @@ var ts; // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single // identifier and the current token is an arrow. if (expr.kind === 79 /* SyntaxKind.Identifier */ && token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { - return parseSimpleArrowFunctionExpression(pos, expr, /*asyncModifier*/ undefined); + return parseSimpleArrowFunctionExpression(pos, expr, allowReturnTypeInArrowFunction, /*asyncModifier*/ undefined); } // Now see if we might be in cases '2' or '3'. // If the expression was a LHS expression, and we have an assignment operator, then @@ -34432,10 +34913,10 @@ var ts; // Note: we call reScanGreaterToken so that we get an appropriately merged token // for cases like `> > =` becoming `>>=` if (ts.isLeftHandSideExpression(expr) && ts.isAssignmentOperator(reScanGreaterToken())) { - return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(), pos); + return makeBinaryExpression(expr, parseTokenNode(), parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction), pos); } // It wasn't an assignment or a lambda. This is a conditional expression: - return parseConditionalExpressionRest(expr, pos); + return parseConditionalExpressionRest(expr, pos, allowReturnTypeInArrowFunction); } function isYieldExpression() { if (token() === 125 /* SyntaxKind.YieldKeyword */) { @@ -34475,7 +34956,7 @@ var ts; nextToken(); if (!scanner.hasPrecedingLineBreak() && (token() === 41 /* SyntaxKind.AsteriskToken */ || isStartOfExpression())) { - return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* SyntaxKind.AsteriskToken */), parseAssignmentExpressionOrHigher()), pos); + return finishNode(factory.createYieldExpression(parseOptionalToken(41 /* SyntaxKind.AsteriskToken */), parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true)), pos); } else { // if the next token is not on the same line as yield. or we don't have an '*' or @@ -34483,10 +34964,9 @@ var ts; return finishNode(factory.createYieldExpression(/*asteriskToken*/ undefined, /*expression*/ undefined), pos); } } - function parseSimpleArrowFunctionExpression(pos, identifier, asyncModifier) { + function parseSimpleArrowFunctionExpression(pos, identifier, allowReturnTypeInArrowFunction, asyncModifier) { ts.Debug.assert(token() === 38 /* SyntaxKind.EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var parameter = factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, identifier, /*questionToken*/ undefined, @@ -34495,11 +34975,11 @@ var ts; finishNode(parameter, identifier.pos); var parameters = createNodeArray([parameter], parameter.pos, parameter.end); var equalsGreaterThanToken = parseExpectedToken(38 /* SyntaxKind.EqualsGreaterThanToken */); - var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier); + var body = parseArrowFunctionExpressionBody(/*isAsync*/ !!asyncModifier, allowReturnTypeInArrowFunction); var node = factory.createArrowFunction(asyncModifier, /*typeParameters*/ undefined, parameters, /*type*/ undefined, equalsGreaterThanToken, body); return addJSDocComment(finishNode(node, pos)); } - function tryParseParenthesizedArrowFunctionExpression() { + function tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) { var triState = isParenthesizedArrowFunctionExpression(); if (triState === 0 /* Tristate.False */) { // It's definitely not a parenthesized arrow function expression. @@ -34510,8 +34990,8 @@ var ts; // it out, but don't allow any ambiguity, and return 'undefined' if this could be an // expression instead. return triState === 1 /* Tristate.True */ ? - parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true) : - tryParse(parsePossibleParenthesizedArrowFunctionExpression); + parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ true, /*allowReturnTypeInArrowFunction*/ true) : + tryParse(function () { return parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction); }); } // True -> We definitely expect a parenthesized arrow function here. // False -> There *cannot* be a parenthesized arrow function here. @@ -34576,7 +35056,7 @@ var ts; // isn't actually allowed, but we want to treat it as a lambda so we can provide // a good error message. if (ts.isModifierKind(second) && second !== 131 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) { - if (lookAhead(function () { return nextToken() === 127 /* SyntaxKind.AsKeyword */; })) { + if (nextToken() === 127 /* SyntaxKind.AsKeyword */) { // https://github.com/microsoft/TypeScript/issues/44466 return 0 /* Tristate.False */; } @@ -34645,25 +35125,25 @@ var ts; return 2 /* Tristate.Unknown */; } } - function parsePossibleParenthesizedArrowFunctionExpression() { + function parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) { var tokenPos = scanner.getTokenPos(); if (notParenthesizedArrow === null || notParenthesizedArrow === void 0 ? void 0 : notParenthesizedArrow.has(tokenPos)) { return undefined; } - var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false); + var result = parseParenthesizedArrowFunctionExpression(/*allowAmbiguity*/ false, allowReturnTypeInArrowFunction); if (!result) { (notParenthesizedArrow || (notParenthesizedArrow = new ts.Set())).add(tokenPos); } return result; } - function tryParseAsyncSimpleArrowFunctionExpression() { + function tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction) { // We do a check here so that we won't be doing unnecessarily call to "lookAhead" if (token() === 131 /* SyntaxKind.AsyncKeyword */) { if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* Tristate.True */) { var pos = getNodePos(); var asyncModifier = parseModifiersForArrowFunction(); var expr = parseBinaryExpressionOrHigher(0 /* OperatorPrecedence.Lowest */); - return parseSimpleArrowFunctionExpression(pos, expr, asyncModifier); + return parseSimpleArrowFunctionExpression(pos, expr, allowReturnTypeInArrowFunction, asyncModifier); } } return undefined; @@ -34687,7 +35167,7 @@ var ts; } return 0 /* Tristate.False */; } - function parseParenthesizedArrowFunctionExpression(allowAmbiguity) { + function parseParenthesizedArrowFunctionExpression(allowAmbiguity, allowReturnTypeInArrowFunction) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiersForArrowFunction(); @@ -34722,6 +35202,7 @@ var ts; return undefined; } } + var hasReturnColon = token() === 58 /* SyntaxKind.ColonToken */; var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); if (type && !allowAmbiguity && typeHasArrowFunctionBlockingParseError(type)) { return undefined; @@ -34750,12 +35231,37 @@ var ts; var lastToken = token(); var equalsGreaterThanToken = parseExpectedToken(38 /* SyntaxKind.EqualsGreaterThanToken */); var body = (lastToken === 38 /* SyntaxKind.EqualsGreaterThanToken */ || lastToken === 18 /* SyntaxKind.OpenBraceToken */) - ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier)) + ? parseArrowFunctionExpressionBody(ts.some(modifiers, ts.isAsyncModifier), allowReturnTypeInArrowFunction) : parseIdentifier(); + // Given: + // x ? y => ({ y }) : z => ({ z }) + // We try to parse the body of the first arrow function by looking at: + // ({ y }) : z => ({ z }) + // This is a valid arrow function with "z" as the return type. + // + // But, if we're in the true side of a conditional expression, this colon + // terminates the expression, so we cannot allow a return type if we aren't + // certain whether or not the preceding text was parsed as a parameter list. + // + // For example, + // a() ? (b: number, c?: string): void => d() : e + // is determined by isParenthesizedArrowFunctionExpression to unambiguously + // be an arrow expression, so we allow a return type. + if (!allowReturnTypeInArrowFunction && hasReturnColon) { + // However, if the arrow function we were able to parse is followed by another colon + // as in: + // a ? (x): string => x : null + // Then allow the arrow function, and treat the second colon as terminating + // the conditional expression. It's okay to do this because this code would + // be a syntax error in JavaScript (as the second colon shouldn't be there). + if (token() !== 58 /* SyntaxKind.ColonToken */) { + return undefined; + } + } var node = factory.createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body); return withJSDoc(finishNode(node, pos), hasJSDoc); } - function parseArrowFunctionExpressionBody(isAsync) { + function parseArrowFunctionExpressionBody(isAsync, allowReturnTypeInArrowFunction) { if (token() === 18 /* SyntaxKind.OpenBraceToken */) { return parseFunctionBlock(isAsync ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */); } @@ -34783,12 +35289,12 @@ var ts; var savedTopLevel = topLevel; topLevel = false; var node = isAsync - ? doInAwaitContext(parseAssignmentExpressionOrHigher) - : doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher); + ? doInAwaitContext(function () { return parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction); }) + : doOutsideOfAwaitContext(function () { return parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction); }); topLevel = savedTopLevel; return node; } - function parseConditionalExpressionRest(leftOperand, pos) { + function parseConditionalExpressionRest(leftOperand, pos, allowReturnTypeInArrowFunction) { // Note: we are passed in an expression which was produced from parseBinaryExpressionOrHigher. var questionToken = parseOptionalToken(57 /* SyntaxKind.QuestionToken */); if (!questionToken) { @@ -34797,8 +35303,8 @@ var ts; // Note: we explicitly 'allowIn' in the whenTrue part of the condition expression, and // we do not that for the 'whenFalse' part. var colonToken; - return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher), colonToken = parseExpectedToken(58 /* SyntaxKind.ColonToken */), ts.nodeIsPresent(colonToken) - ? parseAssignmentExpressionOrHigher() + return finishNode(factory.createConditionalExpression(leftOperand, questionToken, doOutsideOfContext(disallowInAndDecoratorContext, function () { return parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ false); }), colonToken = parseExpectedToken(58 /* SyntaxKind.ColonToken */), ts.nodeIsPresent(colonToken) + ? parseAssignmentExpressionOrHigher(allowReturnTypeInArrowFunction) : createMissingNode(79 /* SyntaxKind.Identifier */, /*reportAtCurrentPosition*/ false, ts.Diagnostics._0_expected, ts.tokenToString(58 /* SyntaxKind.ColonToken */))), pos); } function parseBinaryExpressionOrHigher(precedence) { @@ -35183,6 +35689,9 @@ var ts; var typeArguments = tryParse(parseTypeArgumentsInExpression); if (typeArguments !== undefined) { parseErrorAt(startPos, getNodePos(), ts.Diagnostics.super_may_not_use_type_arguments); + if (!isTemplateStartOfTaggedTemplate()) { + expression = factory.createExpressionWithTypeArguments(expression, typeArguments); + } } } if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 24 /* SyntaxKind.DotToken */ || token() === 22 /* SyntaxKind.OpenBracketToken */) { @@ -35395,9 +35904,22 @@ var ts; } scanJsxIdentifier(); var pos = getNodePos(); - return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* SyntaxKind.EqualsToken */ ? undefined : - scanJsxAttributeValue() === 10 /* SyntaxKind.StringLiteral */ ? parseLiteralNode() : - parseJsxExpression(/*inExpressionContext*/ true)), pos); + return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos); + } + function parseJsxAttributeValue() { + if (token() === 63 /* SyntaxKind.EqualsToken */) { + if (scanJsxAttributeValue() === 10 /* SyntaxKind.StringLiteral */) { + return parseLiteralNode(); + } + if (token() === 18 /* SyntaxKind.OpenBraceToken */) { + return parseJsxExpression(/*inExpressionContext*/ true); + } + if (token() === 29 /* SyntaxKind.LessThanToken */) { + return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true); + } + parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected); + } + return undefined; } function parseJsxSpreadAttribute() { var pos = getNodePos(); @@ -35487,6 +36009,11 @@ var ts; if (isOptionalChain && ts.isPrivateIdentifier(propertyAccess.name)) { parseErrorAtRange(propertyAccess.name, ts.Diagnostics.An_optional_chain_cannot_contain_private_identifiers); } + if (ts.isExpressionWithTypeArguments(expression) && expression.typeArguments) { + var pos_2 = expression.typeArguments.pos - 1; + var end = ts.skipTrivia(sourceText, expression.typeArguments.end) + 1; + parseErrorAt(pos_2, end, ts.Diagnostics.An_instantiation_expression_cannot_be_followed_by_a_property_access); + } return finishNode(propertyAccess, pos); } function parseElementAccessExpressionRest(pos, expression, questionDotToken) { @@ -35612,10 +36139,11 @@ var ts; } nextToken(); var typeArguments = parseDelimitedList(20 /* ParsingContext.TypeArguments */, parseType); - if (!parseExpected(31 /* SyntaxKind.GreaterThanToken */)) { + if (reScanGreaterToken() !== 31 /* SyntaxKind.GreaterThanToken */) { // If it doesn't have the closing `>` then it's definitely not an type argument list. return undefined; } + nextToken(); // We successfully parsed a type argument list. The next token determines whether we want to // treat it as such. If the type argument list is followed by `(` or a template literal, as in // `f(42)`, we favor the type argument interpretation even though JavaScript would view @@ -35629,9 +36157,18 @@ var ts; case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: // foo `...` case 15 /* SyntaxKind.TemplateHead */: // foo `...${100}...` return true; + // A type argument list followed by `<` never makes sense, and a type argument list followed + // by `>` is ambiguous with a (re-scanned) `>>` operator, so we disqualify both. Also, in + // this context, `+` and `-` are unary operators, not binary operators. + case 29 /* SyntaxKind.LessThanToken */: + case 31 /* SyntaxKind.GreaterThanToken */: + case 39 /* SyntaxKind.PlusToken */: + case 40 /* SyntaxKind.MinusToken */: + return false; } - // Consider something a type argument list only if the following token can't start an expression. - return !isStartOfExpression(); + // We favor the type argument list interpretation when it is immediately followed by + // a line break, a binary operator, or something that can't start an expression. + return scanner.hasPrecedingLineBreak() || isBinaryOperator() || !isStartOfExpression(); } function parsePrimaryExpression() { switch (token()) { @@ -35690,13 +36227,13 @@ var ts; function parseSpreadElement() { var pos = getNodePos(); parseExpected(25 /* SyntaxKind.DotDotDotToken */); - var expression = parseAssignmentExpressionOrHigher(); + var expression = parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); return finishNode(factory.createSpreadElement(expression), pos); } function parseArgumentOrArrayLiteralElement() { return token() === 25 /* SyntaxKind.DotDotDotToken */ ? parseSpreadElement() : token() === 27 /* SyntaxKind.CommaToken */ ? finishNode(factory.createOmittedExpression(), getNodePos()) : - parseAssignmentExpressionOrHigher(); + parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); } function parseArgumentExpression() { return doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); @@ -35714,16 +36251,16 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); if (parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */)) { - var expression = parseAssignmentExpressionOrHigher(); + var expression = parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); return withJSDoc(finishNode(factory.createSpreadAssignment(expression), pos), hasJSDoc); } var decorators = parseDecorators(); var modifiers = parseModifiers(); if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */, 0 /* SignatureFlags.None */); } if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */, 0 /* SignatureFlags.None */); } var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); var tokenIsIdentifier = isIdentifier(); @@ -35743,7 +36280,7 @@ var ts; var isShorthandPropertyAssignment = tokenIsIdentifier && (token() !== 58 /* SyntaxKind.ColonToken */); if (isShorthandPropertyAssignment) { var equalsToken = parseOptionalToken(63 /* SyntaxKind.EqualsToken */); - var objectAssignmentInitializer = equalsToken ? allowInAnd(parseAssignmentExpressionOrHigher) : undefined; + var objectAssignmentInitializer = equalsToken ? allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); }) : undefined; node = factory.createShorthandPropertyAssignment(name, objectAssignmentInitializer); // Save equals token for error reporting. // TODO(rbuckton): Consider manufacturing this when we need to report an error as it is otherwise not useful. @@ -35751,7 +36288,7 @@ var ts; } else { parseExpected(58 /* SyntaxKind.ColonToken */); - var initializer = allowInAnd(parseAssignmentExpressionOrHigher); + var initializer = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); }); node = factory.createPropertyAssignment(name, initializer); } // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker @@ -35815,6 +36352,9 @@ var ts; typeArguments = expression.typeArguments; expression = expression.expression; } + if (token() === 28 /* SyntaxKind.QuestionDotToken */) { + parseErrorAtCurrentToken(ts.Diagnostics.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, ts.getTextOfNodeFromSourceText(sourceText, expression)); + } var argumentList = token() === 20 /* SyntaxKind.OpenParenToken */ ? parseArgumentList() : undefined; return finishNode(factory.createNewExpression(expression, typeArguments, argumentList), pos); } @@ -35925,7 +36465,7 @@ var ts; } var node; if (awaitToken ? parseExpected(160 /* SyntaxKind.OfKeyword */) : parseOptional(160 /* SyntaxKind.OfKeyword */)) { - var expression = allowInAnd(parseAssignmentExpressionOrHigher); + var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); }); parseExpected(21 /* SyntaxKind.CloseParenToken */); node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement()); } @@ -36330,24 +36870,19 @@ var ts; return modifier.kind === 135 /* SyntaxKind.DeclareKeyword */; } function parseDeclaration() { - // TODO: Can we hold onto the parsed decorators/modifiers and advance the scanner - // if we can't reuse the declaration, so that we don't do this work twice? - // // `parseListElement` attempted to get the reused node at this position, // but the ambient context flag was not yet set, so the node appeared // not reusable in that context. - var isAmbient = ts.some(lookAhead(function () { return (parseDecorators(), parseModifiers()); }), isDeclareModifier); - if (isAmbient) { - var node = tryReuseAmbientDeclaration(); - if (node) { - return node; - } - } var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var decorators = parseDecorators(); var modifiers = parseModifiers(); + var isAmbient = ts.some(modifiers, isDeclareModifier); if (isAmbient) { + var node = tryReuseAmbientDeclaration(pos); + if (node) { + return node; + } for (var _i = 0, _a = modifiers; _i < _a.length; _i++) { var m = _a[_i]; m.flags |= 16777216 /* NodeFlags.Ambient */; @@ -36358,9 +36893,9 @@ var ts; return parseDeclarationWorker(pos, hasJSDoc, decorators, modifiers); } } - function tryReuseAmbientDeclaration() { + function tryReuseAmbientDeclaration(pos) { return doInsideOfContext(16777216 /* NodeFlags.Ambient */, function () { - var node = currentNode(parsingContext); + var node = currentNode(parsingContext, pos); if (node) { return consumeNode(node); } @@ -36417,9 +36952,15 @@ var ts; return !scanner.hasPrecedingLineBreak() && (isIdentifier() || token() === 10 /* SyntaxKind.StringLiteral */); } function parseFunctionBlockOrSemicolon(flags, diagnosticMessage) { - if (token() !== 18 /* SyntaxKind.OpenBraceToken */ && canParseSemicolon()) { - parseSemicolon(); - return; + if (token() !== 18 /* SyntaxKind.OpenBraceToken */) { + if (flags & 4 /* SignatureFlags.Type */) { + parseTypeMemberSemicolon(); + return; + } + if (canParseSemicolon()) { + parseSemicolon(); + return; + } } return parseFunctionBlock(flags, diagnosticMessage); } @@ -36561,7 +37102,8 @@ var ts; var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected); setAwaitContext(savedAwaitContext); - var node = factory.createFunctionDeclaration(decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body); + var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseConstructorName() { @@ -36582,8 +37124,9 @@ var ts; var parameters = parseParameters(0 /* SignatureFlags.None */); var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(0 /* SignatureFlags.None */, ts.Diagnostics.or_expected); - var node = factory.createConstructorDeclaration(decorators, modifiers, parameters, body); - // Attach `typeParameters` and `type` if they exist so that we can report them in the grammar checker. + var node = factory.createConstructorDeclaration(modifiers, parameters, body); + // Attach invalid nodes if they exist so that we can report them in the grammar checker. + node.decorators = decorators; node.typeParameters = typeParameters; node.type = type; return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36597,7 +37140,7 @@ var ts; var parameters = parseParameters(isGenerator | isAsync); var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, diagnosticMessage); - var node = factory.createMethodDeclaration(decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body); + var node = factory.createMethodDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), asteriskToken, name, questionToken, typeParameters, parameters, type, body); // An exclamation token on a method is invalid syntax and will be handled by the grammar checker node.exclamationToken = exclamationToken; return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36607,7 +37150,7 @@ var ts; var type = parseTypeAnnotation(); var initializer = doOutsideOfContext(8192 /* NodeFlags.YieldContext */ | 32768 /* NodeFlags.AwaitContext */ | 4096 /* NodeFlags.DisallowInContext */, parseInitializer); parseSemicolonAfterPropertyName(name, type, initializer); - var node = factory.createPropertyDeclaration(decorators, modifiers, name, questionToken || exclamationToken, type, initializer); + var node = factory.createPropertyDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, questionToken || exclamationToken, type, initializer); return withJSDoc(finishNode(node, pos), hasJSDoc); } function parsePropertyOrMethodDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -36621,18 +37164,18 @@ var ts; } return parsePropertyDeclaration(pos, hasJSDoc, decorators, modifiers, name, questionToken); } - function parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, kind) { + function parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, kind, flags) { var name = parsePropertyName(); var typeParameters = parseTypeParameters(); var parameters = parseParameters(0 /* SignatureFlags.None */); var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); - var body = parseFunctionBlockOrSemicolon(0 /* SignatureFlags.None */); + var body = parseFunctionBlockOrSemicolon(flags); var node = kind === 172 /* SyntaxKind.GetAccessor */ - ? factory.createGetAccessorDeclaration(decorators, modifiers, name, parameters, type, body) - : factory.createSetAccessorDeclaration(decorators, modifiers, name, parameters, body); + ? factory.createGetAccessorDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, parameters, type, body) + : factory.createSetAccessorDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, parameters, body); // Keep track of `typeParameters` (for both) and `type` (for setters) if they were parsed those indicate grammar errors node.typeParameters = typeParameters; - if (type && node.kind === 173 /* SyntaxKind.SetAccessor */) + if (ts.isSetAccessorDeclaration(node)) node.type = type; return withJSDoc(finishNode(node, pos), hasJSDoc); } @@ -36698,7 +37241,10 @@ var ts; function parseClassStaticBlockDeclaration(pos, hasJSDoc, decorators, modifiers) { parseExpectedToken(124 /* SyntaxKind.StaticKeyword */); var body = parseClassStaticBlockBody(); - return withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(decorators, modifiers, body), pos), hasJSDoc); + var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc); + node.decorators = decorators; + node.modifiers = modifiers; + return node; } function parseClassStaticBlockBody() { var savedYieldContext = inYieldContext(); @@ -36761,6 +37307,15 @@ var ts; } return finishNode(factory.createToken(kind), pos); } + function combineDecoratorsAndModifiers(decorators, modifiers) { + if (!decorators) + return modifiers; + if (!modifiers) + return decorators; + var decoratorsAndModifiers = factory.createNodeArray(ts.concatenate(decorators, modifiers)); + ts.setTextRangePosEnd(decoratorsAndModifiers, decorators.pos, modifiers.end); + return decoratorsAndModifiers; + } /* * There are situations in which a modifier like 'const' will appear unexpectedly, such as on a class member. * In those situations, if we are entirely sure that 'const' is not valid on its own (such as when ASI takes effect @@ -36801,10 +37356,10 @@ var ts; return parseClassStaticBlockDeclaration(pos, hasJSDoc, decorators, modifiers); } if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */, 0 /* SignatureFlags.None */); } if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */); + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */, 0 /* SignatureFlags.None */); } if (token() === 134 /* SyntaxKind.ConstructorKeyword */ || token() === 10 /* SyntaxKind.StringLiteral */) { var constructorDeclaration = tryParseConstructorDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36869,8 +37424,8 @@ var ts; } setAwaitContext(savedAwaitContext); var node = kind === 257 /* SyntaxKind.ClassDeclaration */ - ? factory.createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members) - : factory.createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members); + ? factory.createClassDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, typeParameters, heritageClauses, members) + : factory.createClassExpression(combineDecoratorsAndModifiers(decorators, modifiers), name, typeParameters, heritageClauses, members); return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseNameOfClassDeclarationOrExpression() { @@ -36927,7 +37482,8 @@ var ts; var typeParameters = parseTypeParameters(); var heritageClauses = parseHeritageClauses(); var members = parseObjectTypeMembers(); - var node = factory.createInterfaceDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members); + var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -36937,7 +37493,8 @@ var ts; parseExpected(63 /* SyntaxKind.EqualsToken */); var type = token() === 138 /* SyntaxKind.IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType(); parseSemicolon(); - var node = factory.createTypeAliasDeclaration(decorators, modifiers, name, typeParameters, type); + var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } // In an ambient declaration, the grammar only allows integer literals as initializers. @@ -36962,7 +37519,8 @@ var ts; else { members = createMissingList(); } - var node = factory.createEnumDeclaration(decorators, modifiers, name, members); + var node = factory.createEnumDeclaration(modifiers, name, members); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseModuleBlock() { @@ -36985,7 +37543,8 @@ var ts; var body = parseOptional(24 /* SyntaxKind.DotToken */) ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NodeFlags.NestedNamespace */ | namespaceFlag) : parseModuleBlock(); - var node = factory.createModuleDeclaration(decorators, modifiers, name, body, flags); + var node = factory.createModuleDeclaration(modifiers, name, body, flags); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -37007,7 +37566,8 @@ var ts; else { parseSemicolon(); } - var node = factory.createModuleDeclaration(decorators, modifiers, name, body, flags); + var node = factory.createModuleDeclaration(modifiers, name, body, flags); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -37086,14 +37646,15 @@ var ts; assertClause = parseAssertClause(); } parseSemicolon(); - var node = factory.createImportDeclaration(decorators, modifiers, importClause, moduleSpecifier, assertClause); + var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseAssertEntry() { var pos = getNodePos(); var name = ts.tokenIsIdentifierOrKeyword(token()) ? parseIdentifierName() : parseLiteralLikeNode(10 /* SyntaxKind.StringLiteral */); parseExpected(58 /* SyntaxKind.ColonToken */); - var value = parseAssignmentExpressionOrHigher(); + var value = parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); return finishNode(factory.createAssertEntry(name, value), pos); } function parseAssertClause(skipAssertKeyword) { @@ -37130,7 +37691,8 @@ var ts; parseExpected(63 /* SyntaxKind.EqualsToken */); var moduleReference = parseModuleReference(); parseSemicolon(); - var node = factory.createImportEqualsDeclaration(decorators, modifiers, isTypeOnly, identifier, moduleReference); + var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference); + node.decorators = decorators; var finished = withJSDoc(finishNode(node, pos), hasJSDoc); return finished; } @@ -37319,7 +37881,8 @@ var ts; } parseSemicolon(); setAwaitContext(savedAwaitContext); - var node = factory.createExportDeclaration(decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); + var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) { @@ -37332,10 +37895,11 @@ var ts; else { parseExpected(88 /* SyntaxKind.DefaultKeyword */); } - var expression = parseAssignmentExpressionOrHigher(); + var expression = parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); parseSemicolon(); setAwaitContext(savedAwaitContext); - var node = factory.createExportAssignment(decorators, modifiers, isExportEquals, expression); + var node = factory.createExportAssignment(modifiers, isExportEquals, expression); + node.decorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } var ParsingContext; @@ -38126,7 +38690,6 @@ var ts; if (parseOptional(24 /* SyntaxKind.DotToken */)) { var body = parseJSDocTypeNameWithNamespace(/*nested*/ true); var jsDocNamespaceNode = factory.createModuleDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, typeNameOrNamespaceName, body, nested ? 4 /* NodeFlags.NestedNamespace */ : undefined); return finishNode(jsDocNamespaceNode, pos); } @@ -38563,10 +39126,10 @@ var ts; } function checkNodePositions(node, aggressiveChecks) { if (aggressiveChecks) { - var pos_2 = node.pos; + var pos_3 = node.pos; var visitNode_1 = function (child) { - ts.Debug.assert(child.pos >= pos_2); - pos_2 = child.end; + ts.Debug.assert(child.pos >= pos_3); + pos_3 = child.end; }; if (ts.hasJSDocNodes(node)) { for (var _i = 0, _a = node.jsDoc; _i < _a.length; _i++) { @@ -38575,7 +39138,7 @@ var ts; } } forEachChild(node, visitNode_1); - ts.Debug.assert(pos_2 <= node.end); + ts.Debug.assert(pos_3 <= node.end); } } function updateTokenPositionsAndMarkElements(sourceFile, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta, oldText, newText, aggressiveChecks) { @@ -39173,6 +39736,7 @@ var ts; ["es2022.error", "lib.es2022.error.d.ts"], ["es2022.intl", "lib.es2022.intl.d.ts"], ["es2022.object", "lib.es2022.object.d.ts"], + ["es2022.sharedmemory", "lib.es2022.sharedmemory.d.ts"], ["es2022.string", "lib.es2022.string.d.ts"], ["esnext.array", "lib.es2022.array.d.ts"], ["esnext.symbol", "lib.es2019.symbol.d.ts"], @@ -39386,6 +39950,7 @@ var ts; type: "boolean", affectsSemanticDiagnostics: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Watch_and_Build_Modes, description: ts.Diagnostics.Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it, defaultValueDescription: false, @@ -39420,12 +39985,40 @@ var ts; affectsSourceFile: true, affectsModuleResolution: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, paramType: ts.Diagnostics.VERSION, showInSimplifiedHelpView: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations, defaultValueDescription: 0 /* ScriptTarget.ES3 */, }; + /*@internal*/ + ts.moduleOptionDeclaration = { + name: "module", + shortName: "m", + type: new ts.Map(ts.getEntries({ + none: ts.ModuleKind.None, + commonjs: ts.ModuleKind.CommonJS, + amd: ts.ModuleKind.AMD, + system: ts.ModuleKind.System, + umd: ts.ModuleKind.UMD, + es6: ts.ModuleKind.ES2015, + es2015: ts.ModuleKind.ES2015, + es2020: ts.ModuleKind.ES2020, + es2022: ts.ModuleKind.ES2022, + esnext: ts.ModuleKind.ESNext, + node16: ts.ModuleKind.Node16, + nodenext: ts.ModuleKind.NodeNext, + })), + affectsModuleResolution: true, + affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + paramType: ts.Diagnostics.KIND, + showInSimplifiedHelpView: true, + category: ts.Diagnostics.Modules, + description: ts.Diagnostics.Specify_what_module_code_is_generated, + defaultValueDescription: undefined, + }; var commandOptionsWithoutBuild = [ // CommandLine only options { @@ -39487,37 +40080,14 @@ var ts; category: ts.Diagnostics.Command_line_Options, affectsSemanticDiagnostics: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, isCommandLineOnly: true, description: ts.Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing, defaultValueDescription: false, }, // Basic ts.targetOptionDeclaration, - { - name: "module", - shortName: "m", - type: new ts.Map(ts.getEntries({ - none: ts.ModuleKind.None, - commonjs: ts.ModuleKind.CommonJS, - amd: ts.ModuleKind.AMD, - system: ts.ModuleKind.System, - umd: ts.ModuleKind.UMD, - es6: ts.ModuleKind.ES2015, - es2015: ts.ModuleKind.ES2015, - es2020: ts.ModuleKind.ES2020, - es2022: ts.ModuleKind.ES2022, - esnext: ts.ModuleKind.ESNext, - node16: ts.ModuleKind.Node16, - nodenext: ts.ModuleKind.NodeNext, - })), - affectsModuleResolution: true, - affectsEmit: true, - paramType: ts.Diagnostics.KIND, - showInSimplifiedHelpView: true, - category: ts.Diagnostics.Modules, - description: ts.Diagnostics.Specify_what_module_code_is_generated, - defaultValueDescription: undefined, - }, + ts.moduleOptionDeclaration, { name: "lib", type: "list", @@ -39554,6 +40124,7 @@ var ts; type: jsxOptionMap, affectsSourceFile: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, affectsModuleResolution: true, paramType: ts.Diagnostics.KIND, showInSimplifiedHelpView: true, @@ -39566,6 +40137,7 @@ var ts; shortName: "d", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, transpileOptionValue: undefined, @@ -39576,6 +40148,7 @@ var ts; name: "declarationMap", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, transpileOptionValue: undefined, @@ -39586,6 +40159,7 @@ var ts; name: "emitDeclarationOnly", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Only_output_d_ts_files_and_not_JavaScript_files, @@ -39596,6 +40170,7 @@ var ts; name: "sourceMap", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, defaultValueDescription: false, @@ -39605,6 +40180,9 @@ var ts; name: "outFile", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsDeclarationPath: true, + affectsBundleEmitBuildInfo: true, isFilePath: true, paramType: ts.Diagnostics.FILE, showInSimplifiedHelpView: true, @@ -39616,6 +40194,8 @@ var ts; name: "outDir", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsDeclarationPath: true, isFilePath: true, paramType: ts.Diagnostics.DIRECTORY, showInSimplifiedHelpView: true, @@ -39626,6 +40206,8 @@ var ts; name: "rootDir", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsDeclarationPath: true, isFilePath: true, paramType: ts.Diagnostics.LOCATION, category: ts.Diagnostics.Modules, @@ -39636,6 +40218,8 @@ var ts; name: "composite", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsBundleEmitBuildInfo: true, isTSConfigOnly: true, category: ts.Diagnostics.Projects, transpileOptionValue: undefined, @@ -39646,6 +40230,8 @@ var ts; name: "tsBuildInfoFile", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsBundleEmitBuildInfo: true, isFilePath: true, paramType: ts.Diagnostics.FILE, category: ts.Diagnostics.Projects, @@ -39657,6 +40243,7 @@ var ts; name: "removeComments", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Emit, defaultValueDescription: false, @@ -39675,6 +40262,7 @@ var ts; name: "importHelpers", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file, defaultValueDescription: false, @@ -39688,6 +40276,7 @@ var ts; })), affectsEmit: true, affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types, defaultValueDescription: 0 /* ImportsNotUsedAsValues.Remove */, @@ -39696,6 +40285,7 @@ var ts; name: "downlevelIteration", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration, defaultValueDescription: false, @@ -39714,6 +40304,9 @@ var ts; type: "boolean", // Though this affects semantic diagnostics, affectsSemanticDiagnostics is not set here // The value of each strictFlag depends on own strictFlag value or this and never accessed directly. + // But we need to store `strict` in builf info, even though it won't be examined directly, so that the + // flags it controls (e.g. `strictNullChecks`) will be retrieved correctly + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_all_strict_type_checking_options, @@ -39723,6 +40316,7 @@ var ts; name: "noImplicitAny", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type, @@ -39732,6 +40326,7 @@ var ts; name: "strictNullChecks", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.When_type_checking_take_into_account_null_and_undefined, @@ -39740,6 +40335,8 @@ var ts; { name: "strictFunctionTypes", type: "boolean", + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible, @@ -39748,6 +40345,8 @@ var ts; { name: "strictBindCallApply", type: "boolean", + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function, @@ -39757,6 +40356,7 @@ var ts; name: "strictPropertyInitialization", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor, @@ -39766,6 +40366,7 @@ var ts; name: "noImplicitThis", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_when_this_is_given_the_type_any, @@ -39775,6 +40376,7 @@ var ts; name: "useUnknownInCatchVariables", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Default_catch_clause_variables_as_unknown_instead_of_any, @@ -39784,6 +40386,8 @@ var ts; name: "alwaysStrict", type: "boolean", affectsSourceFile: true, + affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, strictFlag: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Ensure_use_strict_is_always_emitted, @@ -39794,6 +40398,7 @@ var ts; name: "noUnusedLocals", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_when_local_variables_aren_t_read, defaultValueDescription: false, @@ -39802,6 +40407,7 @@ var ts; name: "noUnusedParameters", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Raise_an_error_when_a_function_parameter_isn_t_read, defaultValueDescription: false, @@ -39810,6 +40416,7 @@ var ts; name: "exactOptionalPropertyTypes", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Interpret_optional_property_types_as_written_rather_than_adding_undefined, defaultValueDescription: false, @@ -39818,6 +40425,7 @@ var ts; name: "noImplicitReturns", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function, defaultValueDescription: false, @@ -39827,6 +40435,7 @@ var ts; type: "boolean", affectsBindDiagnostics: true, affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enable_error_reporting_for_fallthrough_cases_in_switch_statements, defaultValueDescription: false, @@ -39835,6 +40444,7 @@ var ts; name: "noUncheckedIndexedAccess", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Add_undefined_to_a_type_when_accessed_using_an_index, defaultValueDescription: false, @@ -39843,6 +40453,7 @@ var ts; name: "noImplicitOverride", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier, defaultValueDescription: false, @@ -39850,6 +40461,8 @@ var ts; { name: "noPropertyAccessFromIndexSignature", type: "boolean", + affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: false, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type, @@ -39935,6 +40548,7 @@ var ts; name: "allowSyntheticDefaultImports", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Interop_Constraints, description: ts.Diagnostics.Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export, defaultValueDescription: ts.Diagnostics.module_system_or_esModuleInterop @@ -39944,6 +40558,7 @@ var ts; type: "boolean", affectsSemanticDiagnostics: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, showInSimplifiedHelpView: true, category: ts.Diagnostics.Interop_Constraints, description: ts.Diagnostics.Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility, @@ -39960,6 +40575,7 @@ var ts; name: "allowUmdGlobalAccess", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Modules, description: ts.Diagnostics.Allow_accessing_UMD_globals_from_modules, defaultValueDescription: false, @@ -39981,6 +40597,7 @@ var ts; name: "sourceRoot", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, paramType: ts.Diagnostics.LOCATION, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Specify_the_root_path_for_debuggers_to_find_the_reference_source_code, @@ -39989,6 +40606,7 @@ var ts; name: "mapRoot", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, paramType: ts.Diagnostics.LOCATION, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations, @@ -39997,6 +40615,7 @@ var ts; name: "inlineSourceMap", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Include_sourcemap_files_inside_the_emitted_JavaScript, defaultValueDescription: false, @@ -40005,6 +40624,7 @@ var ts; name: "inlineSources", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript, defaultValueDescription: false, @@ -40014,6 +40634,7 @@ var ts; name: "experimentalDecorators", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Enable_experimental_support_for_TC39_stage_2_draft_decorators, defaultValueDescription: false, @@ -40023,6 +40644,7 @@ var ts; type: "boolean", affectsSemanticDiagnostics: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Emit_design_type_metadata_for_decorated_declarations_in_source_files, defaultValueDescription: false, @@ -40047,6 +40669,7 @@ var ts; type: "string", affectsSemanticDiagnostics: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, affectsModuleResolution: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk, @@ -40064,6 +40687,9 @@ var ts; name: "out", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsDeclarationPath: true, + affectsBundleEmitBuildInfo: true, isFilePath: false, // for correct behaviour, please use outFile category: ts.Diagnostics.Backwards_Compatibility, @@ -40075,6 +40701,7 @@ var ts; name: "reactNamespace", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit, defaultValueDescription: "`React`", @@ -40082,6 +40709,8 @@ var ts; { name: "skipDefaultLibCheck", type: "boolean", + // We need to store these to determine whether `lib` files need to be rechecked + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Completeness, description: ts.Diagnostics.Skip_type_checking_d_ts_files_that_are_included_with_TypeScript, defaultValueDescription: false, @@ -40097,6 +40726,7 @@ var ts; name: "emitBOM", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files, defaultValueDescription: false, @@ -40108,6 +40738,7 @@ var ts; lf: 1 /* NewLineKind.LineFeed */ })), affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, paramType: ts.Diagnostics.NEWLINE, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Set_the_newline_character_for_emitting_files, @@ -40117,6 +40748,7 @@ var ts; name: "noErrorTruncation", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Output_Formatting, description: ts.Diagnostics.Disable_truncating_types_in_error_messages, defaultValueDescription: false, @@ -40147,6 +40779,7 @@ var ts; name: "stripInternal", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments, defaultValueDescription: false, @@ -40187,6 +40820,7 @@ var ts; name: "noImplicitUseStrict", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Disable_adding_use_strict_directives_in_emitted_JavaScript_files, defaultValueDescription: false, @@ -40195,6 +40829,7 @@ var ts; name: "noEmitHelpers", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_generating_custom_helper_functions_like_extends_in_compiled_output, defaultValueDescription: false, @@ -40203,6 +40838,7 @@ var ts; name: "noEmitOnError", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, transpileOptionValue: undefined, description: ts.Diagnostics.Disable_emitting_files_if_any_type_checking_errors_are_reported, @@ -40212,6 +40848,7 @@ var ts; name: "preserveConstEnums", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Disable_erasing_const_enum_declarations_in_generated_code, defaultValueDescription: false, @@ -40220,6 +40857,8 @@ var ts; name: "declarationDir", type: "string", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, + affectsDeclarationPath: true, isFilePath: true, paramType: ts.Diagnostics.DIRECTORY, category: ts.Diagnostics.Emit, @@ -40229,6 +40868,8 @@ var ts; { name: "skipLibCheck", type: "boolean", + // We need to store these to determine whether `lib` files need to be rechecked + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Completeness, description: ts.Diagnostics.Skip_type_checking_all_d_ts_files, defaultValueDescription: false, @@ -40238,6 +40879,7 @@ var ts; type: "boolean", affectsBindDiagnostics: true, affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Disable_error_reporting_for_unused_labels, defaultValueDescription: undefined, @@ -40247,6 +40889,7 @@ var ts; type: "boolean", affectsBindDiagnostics: true, affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Type_Checking, description: ts.Diagnostics.Disable_error_reporting_for_unreachable_code, defaultValueDescription: undefined, @@ -40255,6 +40898,7 @@ var ts; name: "suppressExcessPropertyErrors", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals, defaultValueDescription: false, @@ -40263,6 +40907,7 @@ var ts; name: "suppressImplicitAnyIndexErrors", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures, defaultValueDescription: false, @@ -40287,6 +40932,7 @@ var ts; name: "noStrictGenericChecks", type: "boolean", affectsSemanticDiagnostics: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Backwards_Compatibility, description: ts.Diagnostics.Disable_strict_checking_of_generic_signatures_in_function_types, defaultValueDescription: false, @@ -40296,6 +40942,7 @@ var ts; type: "boolean", affectsSemanticDiagnostics: true, affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Language_and_Environment, description: ts.Diagnostics.Emit_ECMAScript_standard_compliant_class_fields, defaultValueDescription: ts.Diagnostics.true_for_ES2022_and_above_including_ESNext @@ -40304,6 +40951,7 @@ var ts; name: "preserveValueImports", type: "boolean", affectsEmit: true, + affectsMultiFileEmitBuildInfo: true, category: ts.Diagnostics.Emit, description: ts.Diagnostics.Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed, defaultValueDescription: false, @@ -40347,6 +40995,8 @@ var ts; /* @internal */ ts.affectsEmitOptionDeclarations = ts.optionDeclarations.filter(function (option) { return !!option.affectsEmit; }); /* @internal */ + ts.affectsDeclarationPathOptionDeclarations = ts.optionDeclarations.filter(function (option) { return !!option.affectsDeclarationPath; }); + /* @internal */ ts.moduleResolutionOptionDeclarations = ts.optionDeclarations.filter(function (option) { return !!option.affectsModuleResolution; }); /* @internal */ ts.sourceFileAffectingCompilerOptions = ts.optionDeclarations.filter(function (option) { @@ -41169,7 +41819,7 @@ var ts; return undefined; if (ts.length(specs) !== 1) return specs; - if (specs[0] === "**/*") + if (specs[0] === ts.defaultIncludeSpec) return undefined; return specs; } @@ -41202,6 +41852,7 @@ var ts; return optionDefinition.type; } } + /* @internal */ function getNameOfCompilerOptionValue(value, customTypeMap) { // There is a typeMap associated with this command-line option so use it to map value back to its name return ts.forEachEntry(customTypeMap, function (mapValue, key) { @@ -41210,6 +41861,7 @@ var ts; } }); } + ts.getNameOfCompilerOptionValue = getNameOfCompilerOptionValue; function serializeCompilerOptions(options, pathOptions) { return serializeOptionBaseObject(options, getOptionsNameMap(), pathOptions); } @@ -41447,6 +42099,8 @@ var ts; // until consistent casing errors are reported return ts.getDirectoryPath(ts.getNormalizedAbsolutePath(fileName, basePath)); } + /*@internal*/ + ts.defaultIncludeSpec = "**/*"; /** * Parse the contents of a config file from json or json source file (tsconfig.json). * @param json The contents of the config file to parse @@ -41512,6 +42166,7 @@ var ts; } var includeSpecs = toPropValue(getSpecsFromRaw("include")); var excludeOfRaw = getSpecsFromRaw("exclude"); + var isDefaultIncludeSpec = false; var excludeSpecs = toPropValue(excludeOfRaw); if (excludeOfRaw === "no-prop" && raw.compilerOptions) { var outDir = raw.compilerOptions.outDir; @@ -41521,7 +42176,8 @@ var ts; } } if (filesSpecs === undefined && includeSpecs === undefined) { - includeSpecs = ["**/*"]; + includeSpecs = [ts.defaultIncludeSpec]; + isDefaultIncludeSpec = true; } var validatedIncludeSpecs, validatedExcludeSpecs; // The exclude spec list is converted into a regular expression, which allows us to quickly @@ -41540,7 +42196,8 @@ var ts; validatedFilesSpec: ts.filter(filesSpecs, ts.isString), validatedIncludeSpecs: validatedIncludeSpecs, validatedExcludeSpecs: validatedExcludeSpecs, - pathPatterns: undefined, // Initialized on first use + pathPatterns: undefined, + isDefaultIncludeSpec: isDefaultIncludeSpec, }; } function getFileNames(basePath) { @@ -42200,7 +42857,7 @@ var ts; } if (ts.isImplicitGlob(spec.substring(spec.lastIndexOf(ts.directorySeparator) + 1))) { return { - key: useCaseSensitiveFileNames ? spec : ts.toFileNameLowerCase(spec), + key: ts.removeTrailingDirectorySeparator(useCaseSensitiveFileNames ? spec : ts.toFileNameLowerCase(spec)), flags: 1 /* WatchDirectoryFlags.Recursive */ }; } @@ -42370,16 +43027,18 @@ var ts; ts.Debug.assert(ts.extensionIsTS(resolved.extension)); return { fileName: resolved.path, packageId: resolved.packageId }; } - function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, diagnostics, resultFromCache) { - var _a; + function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache) { + var _a, _b; if (resultFromCache) { (_a = resultFromCache.failedLookupLocations).push.apply(_a, failedLookupLocations); + (_b = resultFromCache.affectingLocations).push.apply(_b, affectingLocations); return resultFromCache; } return { resolvedModule: resolved && { resolvedFileName: resolved.path, originalPath: resolved.originalPath === true ? undefined : resolved.originalPath, extension: resolved.extension, isExternalLibraryImport: isExternalLibraryImport, packageId: resolved.packageId }, failedLookupLocations: failedLookupLocations, - resolutionDiagnostics: diagnostics + affectingLocations: affectingLocations, + resolutionDiagnostics: diagnostics, }; } function readPackageJsonField(jsonContent, fieldName, typeOfTag, state) { @@ -42568,6 +43227,7 @@ var ts; } } var failedLookupLocations = []; + var affectingLocations = []; var features = getDefaultNodeResolutionFeatures(options); // Unlike `import` statements, whose mode-calculating APIs are all guaranteed to return `undefined` if we're in an un-mode-ed module resolution // setting, type references will return their target mode regardless of options because of how the parser works, so we guard against the mode being @@ -42586,6 +43246,7 @@ var ts; host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, + affectingLocations: affectingLocations, packageJsonInfoCache: cache, features: features, conditions: conditions, @@ -42610,7 +43271,7 @@ var ts; isExternalLibraryImport: pathContainsNodeModules(fileName), }; } - result = { resolvedTypeReferenceDirective: resolvedTypeReferenceDirective, failedLookupLocations: failedLookupLocations, resolutionDiagnostics: diagnostics }; + result = { resolvedTypeReferenceDirective: resolvedTypeReferenceDirective, failedLookupLocations: failedLookupLocations, affectingLocations: affectingLocations, resolutionDiagnostics: diagnostics }; perFolderCache === null || perFolderCache === void 0 ? void 0 : perFolderCache.set(typeReferenceDirectiveName, /*mode*/ resolutionMode, result); if (traceEnabled) traceResult(result); @@ -42685,17 +43346,7 @@ var ts; * Does not try `@types/${packageName}` - use a second pass if needed. */ function resolvePackageNameToPackageJson(packageName, containingDirectory, options, host, cache) { - var moduleResolutionState = { - compilerOptions: options, - host: host, - traceEnabled: isTraceEnabled(options, host), - failedLookupLocations: [], - packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), - conditions: ts.emptyArray, - features: NodeResolutionFeatures.None, - requestContainingDirectory: containingDirectory, - reportDiagnostic: ts.noop - }; + var moduleResolutionState = getTemporaryModuleResolutionState(cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), host, options); return ts.forEachAncestorDirectory(containingDirectory, function (ancestorDirectory) { if (ts.getBaseFileName(ancestorDirectory) !== "node_modules") { var nodeModulesFolder = ts.combinePaths(ancestorDirectory, "node_modules"); @@ -42792,7 +43443,7 @@ var ts; ts.createCacheWithRedirects = createCacheWithRedirects; function createPackageJsonInfoCache(currentDirectory, getCanonicalFileName) { var cache; - return { getPackageJsonInfo: getPackageJsonInfo, setPackageJsonInfo: setPackageJsonInfo, clear: clear, entries: entries }; + return { getPackageJsonInfo: getPackageJsonInfo, setPackageJsonInfo: setPackageJsonInfo, clear: clear, entries: entries, getInternalMap: getInternalMap }; function getPackageJsonInfo(packageJsonPath) { return cache === null || cache === void 0 ? void 0 : cache.get(ts.toPath(packageJsonPath, currentDirectory, getCanonicalFileName)); } @@ -42806,6 +43457,9 @@ var ts; var iter = cache === null || cache === void 0 ? void 0 : cache.entries(); return iter ? ts.arrayFrom(iter) : []; } + function getInternalMap() { + return cache; + } } function getOrCreateCache(cacheWithRedirects, redirectedReference, key, create) { var cache = cacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference); @@ -42909,15 +43563,18 @@ var ts; } ts.zipToModeAwareCache = zipToModeAwareCache; function createModuleResolutionCache(currentDirectory, getCanonicalFileName, options, directoryToModuleNameMap, moduleNameToDirectoryMap) { - var preDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap || (directoryToModuleNameMap = createCacheWithRedirects(options))); + var perDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap || (directoryToModuleNameMap = createCacheWithRedirects(options))); moduleNameToDirectoryMap || (moduleNameToDirectoryMap = createCacheWithRedirects(options)); var packageJsonInfoCache = createPackageJsonInfoCache(currentDirectory, getCanonicalFileName); - return __assign(__assign(__assign({}, packageJsonInfoCache), preDirectoryResolutionCache), { getOrCreateCacheForModuleName: getOrCreateCacheForModuleName, clear: clear, update: update, getPackageJsonInfoCache: function () { return packageJsonInfoCache; } }); + return __assign(__assign(__assign({}, packageJsonInfoCache), perDirectoryResolutionCache), { getOrCreateCacheForModuleName: getOrCreateCacheForModuleName, clear: clear, update: update, getPackageJsonInfoCache: function () { return packageJsonInfoCache; }, clearAllExceptPackageJsonInfoCache: clearAllExceptPackageJsonInfoCache }); function clear() { - preDirectoryResolutionCache.clear(); - moduleNameToDirectoryMap.clear(); + clearAllExceptPackageJsonInfoCache(); packageJsonInfoCache.clear(); } + function clearAllExceptPackageJsonInfoCache() { + perDirectoryResolutionCache.clear(); + moduleNameToDirectoryMap.clear(); + } function update(options) { updateRedirectsMap(options, directoryToModuleNameMap, moduleNameToDirectoryMap); } @@ -42993,13 +43650,16 @@ var ts; } ts.createModuleResolutionCache = createModuleResolutionCache; function createTypeReferenceDirectiveResolutionCache(currentDirectory, getCanonicalFileName, options, packageJsonInfoCache, directoryToModuleNameMap) { - var preDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap || (directoryToModuleNameMap = createCacheWithRedirects(options))); + var perDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap || (directoryToModuleNameMap = createCacheWithRedirects(options))); packageJsonInfoCache || (packageJsonInfoCache = createPackageJsonInfoCache(currentDirectory, getCanonicalFileName)); - return __assign(__assign(__assign({}, packageJsonInfoCache), preDirectoryResolutionCache), { clear: clear }); + return __assign(__assign(__assign({}, packageJsonInfoCache), perDirectoryResolutionCache), { clear: clear, clearAllExceptPackageJsonInfoCache: clearAllExceptPackageJsonInfoCache }); function clear() { - preDirectoryResolutionCache.clear(); + clearAllExceptPackageJsonInfoCache(); packageJsonInfoCache.clear(); } + function clearAllExceptPackageJsonInfoCache() { + perDirectoryResolutionCache.clear(); + } } ts.createTypeReferenceDirectiveResolutionCache = createTypeReferenceDirectiveResolutionCache; function resolveModuleNameFromCache(moduleName, containingFile, cache, mode) { @@ -43305,16 +43965,20 @@ var ts; function nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.NodeNextDefault, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); } + var jsOnlyExtensions = [Extensions.JavaScript]; + var tsExtensions = [Extensions.TypeScript, Extensions.JavaScript]; + var tsPlusJsonExtensions = __spreadArray(__spreadArray([], tsExtensions, true), [Extensions.Json], false); + var tsconfigExtensions = [Extensions.TSConfig]; function nodeNextModuleNameResolverWorker(features, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { var containingDirectory = ts.getDirectoryPath(containingFile); // es module file or cjs-like input file, use a variant of the legacy cjs resolver that supports the selected modern features var esmMode = resolutionMode === ts.ModuleKind.ESNext ? NodeResolutionFeatures.EsmMode : 0; - return nodeModuleNameResolverWorker(features | esmMode, moduleName, containingDirectory, compilerOptions, host, cache, compilerOptions.resolveJsonModule ? tsPlusJsonExtensions : tsExtensions, redirectedReference); + var extensions = compilerOptions.noDtsResolution ? [Extensions.TsOnly, Extensions.JavaScript] : tsExtensions; + if (compilerOptions.resolveJsonModule) { + extensions = __spreadArray(__spreadArray([], extensions, true), [Extensions.Json], false); + } + return nodeModuleNameResolverWorker(features | esmMode, moduleName, containingDirectory, compilerOptions, host, cache, extensions, redirectedReference); } - var jsOnlyExtensions = [Extensions.JavaScript]; - var tsExtensions = [Extensions.TypeScript, Extensions.JavaScript]; - var tsPlusJsonExtensions = __spreadArray(__spreadArray([], tsExtensions, true), [Extensions.Json], false); - var tsconfigExtensions = [Extensions.TSConfig]; function tryResolveJSModuleWorker(moduleName, initialDir, host) { return nodeModuleNameResolverWorker(NodeResolutionFeatures.None, moduleName, initialDir, { moduleResolution: ts.ModuleResolutionKind.NodeJs, allowJs: true }, host, /*cache*/ undefined, jsOnlyExtensions, /*redirectedReferences*/ undefined); } @@ -43340,6 +44004,7 @@ var ts; var _a, _b; var traceEnabled = isTraceEnabled(compilerOptions, host); var failedLookupLocations = []; + var affectingLocations = []; // conditions are only used by the node16/nodenext resolver - there's no priority order in the list, //it's essentially a set (priority is determined by object insertion order in the object we look at). var conditions = features & NodeResolutionFeatures.EsmMode ? ["node", "import", "types"] : ["node", "require", "types"]; @@ -43352,6 +44017,7 @@ var ts; host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, + affectingLocations: affectingLocations, packageJsonInfoCache: cache, features: features, conditions: conditions, @@ -43359,7 +44025,7 @@ var ts; reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, }; var result = ts.forEach(extensions, function (ext) { return tryResolve(ext); }); - return createResolvedModuleWithFailedLookupLocations((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.resolved, (_b = result === null || result === void 0 ? void 0 : result.value) === null || _b === void 0 ? void 0 : _b.isExternalLibraryImport, failedLookupLocations, diagnostics, state.resultFromCache); + return createResolvedModuleWithFailedLookupLocations((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.resolved, (_b = result === null || result === void 0 ? void 0 : result.value) === null || _b === void 0 ? void 0 : _b.isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { var loader = function (extensions, candidate, onlyRecordFailures, state) { return nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, /*considerPackageJson*/ true); }; var resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loader, state); @@ -43649,17 +44315,9 @@ var ts; var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; var features = getDefaultNodeResolutionFeatures(options); - var requireState = { - compilerOptions: options, - host: host, - traceEnabled: isTraceEnabled(options, host), - failedLookupLocations: [], - packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), - conditions: ["node", "require", "types"], - features: features, - requestContainingDirectory: packageJsonInfo.packageDirectory, - reportDiagnostic: ts.noop - }; + var requireState = getTemporaryModuleResolutionState(cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), host, options); + requireState.conditions = ["node", "require", "types"]; + requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); @@ -43732,22 +44390,27 @@ var ts; } } } - /** - * A function for locating the package.json scope for a given path - */ /*@internal*/ - function getPackageScopeForPath(fileName, packageJsonInfoCache, host, options) { - var state = { + function getTemporaryModuleResolutionState(packageJsonInfoCache, host, options) { + return { host: host, compilerOptions: options, traceEnabled: isTraceEnabled(options, host), - failedLookupLocations: [], + failedLookupLocations: ts.noopPush, + affectingLocations: ts.noopPush, packageJsonInfoCache: packageJsonInfoCache, - features: 0, - conditions: [], + features: NodeResolutionFeatures.None, + conditions: ts.emptyArray, requestContainingDirectory: undefined, reportDiagnostic: ts.noop }; + } + ts.getTemporaryModuleResolutionState = getTemporaryModuleResolutionState; + /** + * A function for locating the package.json scope for a given path + */ + /*@internal*/ + function getPackageScopeForPath(fileName, state) { var parts = ts.getPathComponents(fileName); parts.pop(); while (parts.length > 0) { @@ -43774,6 +44437,7 @@ var ts; if (typeof existing !== "boolean") { if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); + state.affectingLocations.push(packageJsonPath); return existing; } else { @@ -43792,6 +44456,7 @@ var ts; var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); + state.affectingLocations.push(packageJsonPath); return result; } else { @@ -43916,7 +44581,7 @@ var ts; var _a, _b; var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); - var scope = getPackageScopeForPath(directoryPath, state.packageJsonInfoCache, state.host, state.compilerOptions); + var scope = getPackageScopeForPath(directoryPath, state); if (!scope || !scope.packageJsonContent.exports) { return undefined; } @@ -43975,7 +44640,7 @@ var ts; } var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); - var scope = getPackageScopeForPath(directoryPath, state.packageJsonInfoCache, state.host, state.compilerOptions); + var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve, directoryPath); @@ -43997,13 +44662,38 @@ var ts; } return toSearchResult(/*value*/ undefined); } + /** + * @internal + * From https://github.com/nodejs/node/blob/8f39f51cbbd3b2de14b9ee896e26421cc5b20121/lib/internal/modules/esm/resolve.js#L722 - + * "longest" has some nuance as to what "longest" means in the presence of pattern trailers + */ + function comparePatternKeys(a, b) { + var aPatternIndex = a.indexOf("*"); + var bPatternIndex = b.indexOf("*"); + var baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + var baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + 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; + } + ts.comparePatternKeys = comparePatternKeys; function loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, lookupTable, scope, isImports) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports); if (!ts.endsWith(moduleName, ts.directorySeparator) && moduleName.indexOf("*") === -1 && ts.hasProperty(lookupTable, moduleName)) { var target = lookupTable[moduleName]; return loadModuleFromTargetImportOrExport(target, /*subpath*/ "", /*pattern*/ false); } - var expandingKeys = ts.sort(ts.filter(ts.getOwnKeys(lookupTable), function (k) { return k.indexOf("*") !== -1 || ts.endsWith(k, "/"); }), function (a, b) { return a.length - b.length; }); + var expandingKeys = ts.sort(ts.filter(ts.getOwnKeys(lookupTable), function (k) { return k.indexOf("*") !== -1 || ts.endsWith(k, "/"); }), comparePatternKeys); for (var _i = 0, expandingKeys_1 = expandingKeys; _i < expandingKeys_1.length; _i++) { var potentialTarget = expandingKeys_1[_i]; if (state.features & NodeResolutionFeatures.ExportsPatternTrailers && matchesPatternWithTrailer(potentialTarget, moduleName)) { @@ -44322,8 +45012,8 @@ var ts; var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); if (!pathAndExtension && packageInfo - && packageInfo.packageJsonContent.exports === undefined - && packageInfo.packageJsonContent.main === undefined + // eslint-disable-next-line no-null/no-null + && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -44432,12 +45122,25 @@ var ts; function classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference) { var traceEnabled = isTraceEnabled(compilerOptions, host); var failedLookupLocations = []; + var affectingLocations = []; var containingDirectory = ts.getDirectoryPath(containingFile); var diagnostics = []; - var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: NodeResolutionFeatures.None, conditions: [], requestContainingDirectory: containingDirectory, reportDiagnostic: function (diag) { return void diagnostics.push(diag); } }; + var state = { + compilerOptions: compilerOptions, + host: host, + traceEnabled: traceEnabled, + failedLookupLocations: failedLookupLocations, + affectingLocations: affectingLocations, + packageJsonInfoCache: cache, + features: NodeResolutionFeatures.None, + conditions: [], + requestContainingDirectory: containingDirectory, + reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, + }; var resolved = tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript); // No originalPath because classic resolution doesn't resolve realPath - return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, /*isExternalLibraryImport*/ false, failedLookupLocations, diagnostics, state.resultFromCache); + return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, + /*isExternalLibraryImport*/ false, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { var resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, state); if (resolvedUsingSettings) { @@ -44480,10 +45183,23 @@ var ts; trace(host, ts.Diagnostics.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2, projectName, moduleName, globalCache); } var failedLookupLocations = []; + var affectingLocations = []; var diagnostics = []; - var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: packageJsonInfoCache, features: NodeResolutionFeatures.None, conditions: [], requestContainingDirectory: undefined, reportDiagnostic: function (diag) { return void diagnostics.push(diag); } }; + var state = { + compilerOptions: compilerOptions, + host: host, + traceEnabled: traceEnabled, + failedLookupLocations: failedLookupLocations, + affectingLocations: affectingLocations, + packageJsonInfoCache: packageJsonInfoCache, + features: NodeResolutionFeatures.None, + conditions: [], + requestContainingDirectory: undefined, + reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, + }; var resolved = loadModuleFromImmediateNodeModulesDirectory(Extensions.DtsOnly, moduleName, globalCache, state, /*typesScopeOnly*/ false, /*cache*/ undefined, /*redirectedReference*/ undefined); - return createResolvedModuleWithFailedLookupLocations(resolved, /*isExternalLibraryImport*/ true, failedLookupLocations, diagnostics, state.resultFromCache); + return createResolvedModuleWithFailedLookupLocations(resolved, + /*isExternalLibraryImport*/ true, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); } ts.loadModuleFromGlobalCache = loadModuleFromGlobalCache; /** @@ -44849,7 +45565,7 @@ var ts; case 164 /* SyntaxKind.Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 317 /* SyntaxKind.JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind, ", expected JSDocFunctionType"); }); + ts.Debug.assert(node.parent.kind === 317 /* SyntaxKind.JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.Debug.formatSyntaxKind(node.parent.kind), ", expected JSDocFunctionType"); }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -46033,8 +46749,6 @@ var ts; // - `BindingElement: BindingPattern Initializer?` // - https://tc39.es/ecma262/#sec-runtime-semantics-keyedbindinginitialization // - `BindingElement: BindingPattern Initializer?` - bindEach(node.decorators); - bindEach(node.modifiers); bind(node.dotDotDotToken); bind(node.propertyName); bind(node.initializer); @@ -46375,37 +47089,6 @@ var ts; typeLiteralSymbol.members.set(symbol.escapedName, symbol); } function bindObjectLiteralExpression(node) { - var ElementKind; - (function (ElementKind) { - ElementKind[ElementKind["Property"] = 1] = "Property"; - ElementKind[ElementKind["Accessor"] = 2] = "Accessor"; - })(ElementKind || (ElementKind = {})); - if (inStrictMode && !ts.isAssignmentTarget(node)) { - var seen = new ts.Map(); - for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { - var prop = _a[_i]; - if (prop.kind === 298 /* SyntaxKind.SpreadAssignment */ || prop.name.kind !== 79 /* SyntaxKind.Identifier */) { - continue; - } - var identifier = prop.name; - // ECMA-262 11.1.5 Object Initializer - // If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true - // a.This production is contained in strict code and IsDataDescriptor(previous) is true and - // IsDataDescriptor(propId.descriptor) is true. - // b.IsDataDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true. - // c.IsAccessorDescriptor(previous) is true and IsDataDescriptor(propId.descriptor) is true. - // d.IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.descriptor) is true - // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields - var currentKind = prop.kind === 296 /* SyntaxKind.PropertyAssignment */ || prop.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ || prop.kind === 169 /* SyntaxKind.MethodDeclaration */ - ? 1 /* ElementKind.Property */ - : 2 /* ElementKind.Accessor */; - var existingKind = seen.get(identifier.escapedText); - if (!existingKind) { - seen.set(identifier.escapedText, currentKind); - continue; - } - } - } return bindAnonymousDeclaration(node, 4096 /* SymbolFlags.ObjectLiteral */, "__object" /* InternalSymbolName.Object */); } function bindJsxAttributes(node) { @@ -47062,7 +47745,7 @@ var ts; } } function bindNamespaceExportDeclaration(node) { - if (node.modifiers && node.modifiers.length) { + if (ts.some(node.modifiers)) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Modifiers_cannot_appear_here)); } var diag = !ts.isSourceFile(node.parent) ? ts.Diagnostics.Global_module_exports_may_only_appear_at_top_level @@ -47099,12 +47782,14 @@ var ts; } } function setCommonJsModuleIndicator(node) { - if (file.externalModuleIndicator) { + if (file.externalModuleIndicator && file.externalModuleIndicator !== true) { return false; } if (!file.commonJsModuleIndicator) { file.commonJsModuleIndicator = node; - bindSourceFileAsExternalModule(); + if (!file.externalModuleIndicator) { + bindSourceFileAsExternalModule(); + } } return true; } @@ -47518,7 +48203,11 @@ var ts; checkStrictModeEvalOrArguments(node, node.name); } if (!ts.isBindingPattern(node.name)) { - if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) && !ts.getJSDocTypeTag(node) && !(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */)) { + var possibleVariableDecl = node.kind === 254 /* SyntaxKind.VariableDeclaration */ ? node : node.parent.parent; + if (ts.isInJSFile(node) && + ts.isVariableDeclarationInitializedToBareOrAccessedRequire(possibleVariableDecl) && + !ts.getJSDocTypeTag(node) && + !(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */)) { declareSymbolAndAddToSymbolTable(node, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); } else if (ts.isBlockOrCatchScoped(node)) { @@ -47708,10 +48397,11 @@ var ts; } function isExportsOrModuleExportsOrAlias(sourceFile, node) { var i = 0; - var q = [node]; - while (q.length && i < 100) { + var q = ts.createQueue(); + q.enqueue(node); + while (!q.isEmpty() && i < 100) { i++; - node = q.shift(); + node = q.dequeue(); if (ts.isExportsIdentifier(node) || ts.isModuleExportsAccessExpression(node)) { return true; } @@ -47719,10 +48409,10 @@ var ts; var symbol = lookupSymbolForName(sourceFile, node.escapedText); if (!!symbol && !!symbol.valueDeclaration && ts.isVariableDeclaration(symbol.valueDeclaration) && !!symbol.valueDeclaration.initializer) { var init = symbol.valueDeclaration.initializer; - q.push(init); + q.enqueue(init); if (ts.isAssignmentExpression(init, /*excludeCompoundAssignment*/ true)) { - q.push(init.left); - q.push(init.right); + q.enqueue(init.left); + q.enqueue(init.right); } } } @@ -47982,7 +48672,10 @@ var ts; TypeFacts[TypeFacts["NEUndefinedOrNull"] = 2097152] = "NEUndefinedOrNull"; TypeFacts[TypeFacts["Truthy"] = 4194304] = "Truthy"; TypeFacts[TypeFacts["Falsy"] = 8388608] = "Falsy"; - TypeFacts[TypeFacts["All"] = 16777215] = "All"; + TypeFacts[TypeFacts["IsUndefined"] = 16777216] = "IsUndefined"; + TypeFacts[TypeFacts["IsNull"] = 33554432] = "IsNull"; + TypeFacts[TypeFacts["IsUndefinedOrNull"] = 50331648] = "IsUndefinedOrNull"; + TypeFacts[TypeFacts["All"] = 134217727] = "All"; // The following members encode facts about particular kinds of types for use in the getTypeFacts function. // The presence of a particular fact means that the given test is true for some (and possibly all) values // of that kind of type. @@ -48024,25 +48717,17 @@ var ts; TypeFacts[TypeFacts["ObjectFacts"] = 16736160] = "ObjectFacts"; TypeFacts[TypeFacts["FunctionStrictFacts"] = 7880640] = "FunctionStrictFacts"; TypeFacts[TypeFacts["FunctionFacts"] = 16728000] = "FunctionFacts"; - TypeFacts[TypeFacts["UndefinedFacts"] = 9830144] = "UndefinedFacts"; - TypeFacts[TypeFacts["NullFacts"] = 9363232] = "NullFacts"; - TypeFacts[TypeFacts["EmptyObjectStrictFacts"] = 16318463] = "EmptyObjectStrictFacts"; + TypeFacts[TypeFacts["VoidFacts"] = 9830144] = "VoidFacts"; + TypeFacts[TypeFacts["UndefinedFacts"] = 26607360] = "UndefinedFacts"; + TypeFacts[TypeFacts["NullFacts"] = 42917664] = "NullFacts"; + TypeFacts[TypeFacts["EmptyObjectStrictFacts"] = 83427327] = "EmptyObjectStrictFacts"; + TypeFacts[TypeFacts["EmptyObjectFacts"] = 83886079] = "EmptyObjectFacts"; + TypeFacts[TypeFacts["UnknownFacts"] = 83886079] = "UnknownFacts"; TypeFacts[TypeFacts["AllTypeofNE"] = 556800] = "AllTypeofNE"; - TypeFacts[TypeFacts["EmptyObjectFacts"] = 16777215] = "EmptyObjectFacts"; // Masks TypeFacts[TypeFacts["OrFactsMask"] = 8256] = "OrFactsMask"; - TypeFacts[TypeFacts["AndFactsMask"] = 16768959] = "AndFactsMask"; - })(TypeFacts || (TypeFacts = {})); - var typeofEQFacts = new ts.Map(ts.getEntries({ - string: 1 /* TypeFacts.TypeofEQString */, - number: 2 /* TypeFacts.TypeofEQNumber */, - bigint: 4 /* TypeFacts.TypeofEQBigInt */, - boolean: 8 /* TypeFacts.TypeofEQBoolean */, - symbol: 16 /* TypeFacts.TypeofEQSymbol */, - undefined: 65536 /* TypeFacts.EQUndefined */, - object: 32 /* TypeFacts.TypeofEQObject */, - function: 64 /* TypeFacts.TypeofEQFunction */ - })); + TypeFacts[TypeFacts["AndFactsMask"] = 134209471] = "AndFactsMask"; + })(TypeFacts = ts.TypeFacts || (ts.TypeFacts = {})); var typeofNEFacts = new ts.Map(ts.getEntries({ string: 256 /* TypeFacts.TypeofNEString */, number: 512 /* TypeFacts.TypeofNENumber */, @@ -48077,7 +48762,7 @@ var ts; CheckMode[CheckMode["RestBindingElement"] = 64] = "RestBindingElement"; // e.g. in `const { a, ...rest } = foo`, when checking the type of `foo` to determine the type of `rest`, // we need to preserve generic types instead of substituting them for constraints - })(CheckMode || (CheckMode = {})); + })(CheckMode = ts.CheckMode || (ts.CheckMode = {})); var SignatureCheckMode; (function (SignatureCheckMode) { SignatureCheckMode[SignatureCheckMode["BivariantCallback"] = 1] = "BivariantCallback"; @@ -48085,7 +48770,7 @@ var ts; SignatureCheckMode[SignatureCheckMode["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes"; SignatureCheckMode[SignatureCheckMode["StrictArity"] = 8] = "StrictArity"; SignatureCheckMode[SignatureCheckMode["Callback"] = 3] = "Callback"; - })(SignatureCheckMode || (SignatureCheckMode = {})); + })(SignatureCheckMode = ts.SignatureCheckMode || (ts.SignatureCheckMode = {})); var IntersectionState; (function (IntersectionState) { IntersectionState[IntersectionState["None"] = 0] = "None"; @@ -48419,7 +49104,7 @@ var ts; }, getContextualTypeForObjectLiteralElement: function (nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isObjectLiteralElementLike); - return node ? getContextualTypeForObjectLiteralElement(node) : undefined; + return node ? getContextualTypeForObjectLiteralElement(node, /*contextFlags*/ undefined) : undefined; }, getContextualTypeForArgumentAtIndex: function (nodeIn, argIndex) { var node = ts.getParseTreeNode(nodeIn, ts.isCallLikeExpression); @@ -48427,7 +49112,7 @@ var ts; }, getContextualTypeForJsxAttribute: function (nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isJsxAttributeLike); - return node && getContextualTypeForJsxAttribute(node); + return node && getContextualTypeForJsxAttribute(node, /*contextFlags*/ undefined); }, isContextSensitive: isContextSensitive, getTypeOfPropertyOfContextualType: getTypeOfPropertyOfContextualType, @@ -48541,9 +49226,9 @@ var ts; return moduleSpecifier && resolveExternalModuleName(moduleSpecifier, moduleSpecifier, /*ignoreErrors*/ true); }, resolveExternalModuleSymbol: resolveExternalModuleSymbol, - tryGetThisTypeAt: function (nodeIn, includeGlobalThis) { + tryGetThisTypeAt: function (nodeIn, includeGlobalThis, container) { var node = ts.getParseTreeNode(nodeIn); - return node && tryGetThisTypeAt(node, includeGlobalThis); + return node && tryGetThisTypeAt(node, includeGlobalThis, container); }, getTypeArgumentConstraint: function (nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isTypeNode); @@ -48633,6 +49318,7 @@ var ts; var stringMappingTypes = new ts.Map(); var substitutionTypes = new ts.Map(); var subtypeReductionCache = new ts.Map(); + var cachedTypes = new ts.Map(); var evolvingArrayTypes = []; var undefinedProperties = new ts.Map(); var markerTypes = new ts.Set(); @@ -48641,11 +49327,10 @@ var ts; var unresolvedSymbols = new ts.Map(); var errorTypes = new ts.Map(); var anyType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); - var autoType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); + var autoType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 262144 /* ObjectFlags.NonInferrableType */); var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); - var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -48674,8 +49359,7 @@ var ts; var esSymbolType = createIntrinsicType(4096 /* TypeFlags.ESSymbol */, "symbol"); var voidType = createIntrinsicType(16384 /* TypeFlags.Void */, "void"); var neverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); - var silentNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); - var nonInferrableType = createIntrinsicType(131072 /* TypeFlags.Never */, "never", 262144 /* ObjectFlags.NonInferrableType */); + var silentNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never", 262144 /* ObjectFlags.NonInferrableType */); var implicitNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); var unreachableNeverType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); var nonPrimitiveType = createIntrinsicType(67108864 /* TypeFlags.NonPrimitive */, "object"); @@ -48685,16 +49369,30 @@ var ts; var numberOrBigIntType = getUnionType([numberType, bigintType]); var templateConstraintType = getUnionType([stringType, numberType, booleanType, bigintType, nullType, undefinedType]); var numericStringType = getTemplateLiteralType(["", ""], [numberType]); // The `${number}` type - var restrictiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? getRestrictiveTypeParameter(t) : t; }); - var permissiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? wildcardType : t; }); + var restrictiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? getRestrictiveTypeParameter(t) : t; }, function () { return "(restrictive mapper)"; }); + var permissiveMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? wildcardType : t; }, function () { return "(permissive mapper)"; }); var uniqueLiteralType = createIntrinsicType(131072 /* TypeFlags.Never */, "never"); // `uniqueLiteralType` is a special `never` flagged by union reduction to behave as a literal - var uniqueLiteralMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? uniqueLiteralType : t; }); // replace all type parameters with the unique literal type (disregarding constraints) + var uniqueLiteralMapper = makeFunctionTypeMapper(function (t) { return t.flags & 262144 /* TypeFlags.TypeParameter */ ? uniqueLiteralType : t; }, function () { return "(unique literal mapper)"; }); // replace all type parameters with the unique literal type (disregarding constraints) + var outofbandVarianceMarkerHandler; + var reportUnreliableMapper = makeFunctionTypeMapper(function (t) { + if (outofbandVarianceMarkerHandler && (t === markerSuperType || t === markerSubType || t === markerOtherType)) { + outofbandVarianceMarkerHandler(/*onlyUnreliable*/ true); + } + return t; + }, function () { return "(unmeasurable reporter)"; }); + var reportUnmeasurableMapper = makeFunctionTypeMapper(function (t) { + if (outofbandVarianceMarkerHandler && (t === markerSuperType || t === markerSubType || t === markerOtherType)) { + outofbandVarianceMarkerHandler(/*onlyUnreliable*/ false); + } + return t; + }, function () { return "(unreliable reporter)"; }); var emptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); var emptyJsxObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); emptyJsxObjectType.objectFlags |= 2048 /* ObjectFlags.JsxAttributes */; var emptyTypeLiteralSymbol = createSymbol(2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); emptyTypeLiteralSymbol.members = ts.createSymbolTable(); var emptyTypeLiteralType = createAnonymousType(emptyTypeLiteralSymbol, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); + var unknownUnionType = strictNullChecks ? getUnionType([undefinedType, nullType, createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray)]) : unknownType; var emptyGenericType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); emptyGenericType.instantiations = new ts.Map(); var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); @@ -48708,6 +49406,9 @@ var ts; var markerSubType = createTypeParameter(); markerSubType.constraint = markerSuperType; var markerOtherType = createTypeParameter(); + var markerSuperTypeForCheck = createTypeParameter(); + var markerSubTypeForCheck = createTypeParameter(); + markerSubTypeForCheck.constraint = markerSuperTypeForCheck; var noTypePredicate = createTypePredicate(1 /* TypePredicateKind.Identifier */, "<>", 0, anyType); var anySignature = createSignature(undefined, undefined, undefined, ts.emptyArray, anyType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); var unknownSignature = createSignature(undefined, undefined, undefined, ts.emptyArray, errorType, /*resolvedTypePredicate*/ undefined, 0, 0 /* SignatureFlags.None */); @@ -48837,21 +49538,13 @@ var ts; var potentialNewTargetCollisions = []; var potentialWeakMapSetCollisions = []; var potentialReflectCollisions = []; + var potentialUnusedRenamedBindingElementsInTypes = []; var awaitedTypeStack = []; var diagnostics = ts.createDiagnosticCollection(); var suggestionDiagnostics = ts.createDiagnosticCollection(); - var typeofTypesByName = new ts.Map(ts.getEntries({ - string: stringType, - number: numberType, - bigint: bigintType, - boolean: booleanType, - symbol: esSymbolType, - undefined: undefinedType - })); var typeofType = createTypeofType(); var _jsxNamespace; var _jsxFactoryEntity; - var outofbandVarianceMarkerHandler; var subtypeRelation = new ts.Map(); var strictSubtypeRelation = new ts.Map(); var assignableRelation = new ts.Map(); @@ -48877,6 +49570,14 @@ var ts; ]; initializeTypeChecker(); return checker; + function getCachedType(key) { + return key ? cachedTypes.get(key) : undefined; + } + function setCachedType(key, type) { + if (key) + cachedTypes.set(key, type); + return type; + } function getJsxNamespace(location) { if (location) { var file = ts.getSourceFileOfNode(location); @@ -49741,6 +50442,7 @@ var ts; if (ctor && ctor.locals) { if (lookup(ctor.locals, name, meaning & 111551 /* SymbolFlags.Value */)) { // Remember the property node, it will be used later to report appropriate error + ts.Debug.assertNode(location, ts.isPropertyDeclaration); propertyWithInvalidInitializer = location; } } @@ -49930,11 +50632,27 @@ var ts; } } } + // The invalid initializer error is needed in two situation: + // 1. When result is undefined, after checking for a missing "this." + // 2. When result is defined + function checkAndReportErrorForInvalidInitializer() { + if (propertyWithInvalidInitializer && !(useDefineForClassFields && ts.getEmitScriptTarget(compilerOptions) >= 9 /* ScriptTarget.ES2022 */)) { + // We have a match, but the reference occurred within a property initializer and the identifier also binds + // to a local variable in the constructor where the code will be emitted. Note that this is actually allowed + // with ESNext+useDefineForClassFields because the scope semantics are different. + error(errorLocation, errorLocation && propertyWithInvalidInitializer.type && ts.textRangeContainsPositionInclusive(propertyWithInvalidInitializer.type, errorLocation.pos) + ? ts.Diagnostics.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor + : ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyWithInvalidInitializer.name), diagnosticName(nameArg)); + return true; + } + return false; + } if (!result) { if (nameNotFoundMessage) { addLazyDiagnostic(function () { if (!errorLocation || !checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217 + !checkAndReportErrorForInvalidInitializer() && !checkAndReportErrorForExtendingInterface(errorLocation) && !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && !checkAndReportErrorForExportingPrimitiveType(errorLocation, name) && @@ -49942,7 +50660,16 @@ var ts; !checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) && !checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) { var suggestion = void 0; - if (getSpellingSuggestions && suggestionCount < maximumSuggestionCount) { + var suggestedLib = void 0; + // Report missing lib first + if (nameArg) { + suggestedLib = getSuggestedLibForNonExistentName(nameArg); + if (suggestedLib) { + error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg), suggestedLib); + } + } + // then spelling suggestions + if (!suggestedLib && getSpellingSuggestions && suggestionCount < maximumSuggestionCount) { suggestion = getSuggestedSymbolForNonexistentSymbol(originalLocation, name, meaning); var isGlobalScopeAugmentationDeclaration = (suggestion === null || suggestion === void 0 ? void 0 : suggestion.valueDeclaration) && ts.isAmbientModule(suggestion.valueDeclaration) && ts.isGlobalScopeAugmentation(suggestion.valueDeclaration); if (isGlobalScopeAugmentationDeclaration) { @@ -49961,16 +50688,9 @@ var ts; } } } - if (!suggestion) { - if (nameArg) { - var lib = getSuggestedLibForNonExistentName(nameArg); - if (lib) { - error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg), lib); - } - else { - error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg)); - } - } + // And then fall back to unspecified "not found" + if (!suggestion && !suggestedLib && nameArg) { + error(errorLocation, nameNotFoundMessage, diagnosticName(nameArg)); } suggestionCount++; } @@ -49978,12 +50698,7 @@ var ts; } return undefined; } - if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ScriptTarget.ESNext */ && useDefineForClassFields)) { - // We have a match, but the reference occurred within a property initializer and the identifier also binds - // to a local variable in the constructor where the code will be emitted. Note that this is actually allowed - // with ESNext+useDefineForClassFields because the scope semantics are different. - var propertyName = propertyWithInvalidInitializer.name; - error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), diagnosticName(nameArg)); + else if (checkAndReportErrorForInvalidInitializer()) { return undefined; } // Perform extra checks only if error reporting was requested @@ -50085,7 +50800,7 @@ var ts; if (decl.kind === 163 /* SyntaxKind.TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { - return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); // TODO: GH#18217 + return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); } } } @@ -50194,7 +50909,12 @@ var ts; function checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) { if (meaning & (111551 /* SymbolFlags.Value */ & ~1024 /* SymbolFlags.NamespaceModule */)) { if (isPrimitiveTypeName(name)) { - error(errorLocation, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, ts.unescapeLeadingUnderscores(name)); + if (isExtendedByInterface(errorLocation)) { + error(errorLocation, ts.Diagnostics.An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes, ts.unescapeLeadingUnderscores(name)); + } + else { + error(errorLocation, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here, ts.unescapeLeadingUnderscores(name)); + } return true; } var symbol = resolveSymbol(resolveName(errorLocation, name, 788968 /* SymbolFlags.Type */ & ~111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); @@ -50214,6 +50934,16 @@ var ts; } return false; } + function isExtendedByInterface(node) { + var grandparent = node.parent.parent; + var parentOfGrandparent = grandparent.parent; + if (grandparent && parentOfGrandparent) { + var isExtending = ts.isHeritageClause(grandparent) && grandparent.token === 94 /* SyntaxKind.ExtendsKeyword */; + var isInterface = ts.isInterfaceDeclaration(parentOfGrandparent); + return isExtending && isInterface; + } + return false; + } function maybeMappedType(node, symbol) { var container = ts.findAncestor(node.parent, function (n) { return ts.isComputedPropertyName(n) || ts.isPropertySignature(n) ? false : ts.isTypeLiteralNode(n) || "quit"; @@ -50345,7 +51075,8 @@ var ts; && isAliasableOrJsExpression(node.parent.right) || node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ || node.kind === 296 /* SyntaxKind.PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) - || ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node); + || node.kind === 254 /* SyntaxKind.VariableDeclaration */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) + || node.kind === 203 /* SyntaxKind.BindingElement */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node.parent.parent); } function isAliasableOrJsExpression(e) { return ts.isAliasableExpression(e) || ts.isFunctionExpression(e) && isJSConstructor(e); @@ -50438,7 +51169,7 @@ var ts; return hasExportAssignmentSymbol(moduleSymbol); } // JS files have a synthetic default if they do not contain ES2015+ module syntax (export = is not valid in js) _and_ do not have an __esModule marker - return !file.externalModuleIndicator && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias); + return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias); } function getTargetOfImportClause(node, dontResolveAlias) { var _a; @@ -50716,10 +51447,6 @@ var ts; checkExpressionCached(expression); return getNodeLinks(expression).resolvedSymbol; } - function getTargetOfPropertyAssignment(node, dontRecursivelyResolve) { - var expression = node.initializer; - return getTargetOfAliasLikeExpression(expression, dontRecursivelyResolve); - } function getTargetOfAccessExpression(node, dontRecursivelyResolve) { if (!(ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */)) { return undefined; @@ -50751,7 +51478,7 @@ var ts; case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return resolveEntityName(node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ true, dontRecursivelyResolve); case 296 /* SyntaxKind.PropertyAssignment */: - return getTargetOfPropertyAssignment(node, dontRecursivelyResolve); + return getTargetOfAliasLikeExpression(node.initializer, dontRecursivelyResolve); case 207 /* SyntaxKind.ElementAccessExpression */: case 206 /* SyntaxKind.PropertyAccessExpression */: return getTargetOfAccessExpression(node, dontRecursivelyResolve); @@ -51156,7 +51883,40 @@ var ts; // An override clause will take effect for type-only imports and import types, and allows importing the types across formats, regardless of // normal mode restrictions if (isSyncImport && sourceFile.impliedNodeFormat === ts.ModuleKind.ESNext && !ts.getResolutionModeOverrideForClause(overrideClause)) { - error(errorNode, ts.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead, moduleReference); + if (ts.findAncestor(location, ts.isImportEqualsDeclaration)) { + // ImportEquals in a ESM file resolving to another ESM file + error(errorNode, ts.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference); + } + else { + // CJS file resolving to an ESM file + var diagnosticDetails = void 0; + var ext = ts.tryGetExtensionFromPath(currentSourceFile.fileName); + if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { + var scope = currentSourceFile.packageJsonScope; + var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; + if (scope && !scope.packageJsonContent.type) { + if (targetExt) { + diagnosticDetails = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); + } + else { + diagnosticDetails = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0, ts.combinePaths(scope.packageDirectory, "package.json")); + } + } + else { + if (targetExt) { + diagnosticDetails = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module, targetExt); + } + else { + diagnosticDetails = ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module); + } + } + } + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, ts.chainDiagnosticMessages(diagnosticDetails, ts.Diagnostics.The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead, moduleReference))); + } } } // merged symbol is module declaration symbol combined with all augmentations @@ -51665,8 +52425,9 @@ var ts; function getExportSymbolOfValueSymbolIfExported(symbol) { return getMergedSymbol(symbol && (symbol.flags & 1048576 /* SymbolFlags.ExportValue */) !== 0 && symbol.exportSymbol || symbol); } - function symbolIsValue(symbol) { - return !!(symbol.flags & 111551 /* SymbolFlags.Value */ || symbol.flags & 2097152 /* SymbolFlags.Alias */ && resolveAlias(symbol).flags & 111551 /* SymbolFlags.Value */ && !getTypeOnlyAliasDeclaration(symbol)); + function symbolIsValue(symbol, includeTypeOnlyMembers) { + return !!(symbol.flags & 111551 /* SymbolFlags.Value */ || + symbol.flags & 2097152 /* SymbolFlags.Alias */ && resolveAlias(symbol).flags & 111551 /* SymbolFlags.Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol))); } function findConstructorDeclaration(node) { var members = node.members; @@ -51706,7 +52467,7 @@ var ts; return type; } function createTypeofType() { - return getUnionType(ts.arrayFrom(typeofEQFacts.keys(), getStringLiteralType)); + return getUnionType(ts.arrayFrom(typeofNEFacts.keys(), getStringLiteralType)); } function createTypeParameter(symbol) { var type = createType(262144 /* TypeFlags.TypeParameter */); @@ -52115,13 +52876,25 @@ var ts; && isDeclarationVisible(declaration.parent)) { return addVisibleAlias(declaration, declaration); } - else if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isBindingElement(declaration) && ts.isInJSFile(declaration) && ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.parent) // exported import-like top-level JS require statement - && ts.isVariableDeclaration(declaration.parent.parent) - && ((_b = declaration.parent.parent.parent) === null || _b === void 0 ? void 0 : _b.parent) && ts.isVariableStatement(declaration.parent.parent.parent.parent) - && !ts.hasSyntacticModifier(declaration.parent.parent.parent.parent, 1 /* ModifierFlags.Export */) - && declaration.parent.parent.parent.parent.parent // check if the thing containing the variable statement is visible (ie, the file) - && isDeclarationVisible(declaration.parent.parent.parent.parent.parent)) { - return addVisibleAlias(declaration, declaration.parent.parent.parent.parent); + else if (ts.isBindingElement(declaration)) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isInJSFile(declaration) && ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.parent) // exported import-like top-level JS require statement + && ts.isVariableDeclaration(declaration.parent.parent) + && ((_b = declaration.parent.parent.parent) === null || _b === void 0 ? void 0 : _b.parent) && ts.isVariableStatement(declaration.parent.parent.parent.parent) + && !ts.hasSyntacticModifier(declaration.parent.parent.parent.parent, 1 /* ModifierFlags.Export */) + && declaration.parent.parent.parent.parent.parent // check if the thing containing the variable statement is visible (ie, the file) + && isDeclarationVisible(declaration.parent.parent.parent.parent.parent)) { + return addVisibleAlias(declaration, declaration.parent.parent.parent.parent); + } + else if (symbol.flags & 2 /* SymbolFlags.BlockScopedVariable */) { + var variableStatement = ts.findAncestor(declaration, ts.isVariableStatement); + if (ts.hasSyntacticModifier(variableStatement, 1 /* ModifierFlags.Export */)) { + return true; + } + if (!isDeclarationVisible(variableStatement.parent)) { + return false; + } + return addVisibleAlias(declaration, variableStatement); + } } // Declaration is not visible return false; @@ -52163,6 +52936,9 @@ var ts; if (symbol && symbol.flags & 262144 /* SymbolFlags.TypeParameter */ && meaning & 788968 /* SymbolFlags.Type */) { return { accessibility: 0 /* SymbolAccessibility.Accessible */ }; } + if (!symbol && ts.isThisIdentifier(firstIdentifier) && isSymbolAccessible(getSymbolOfNode(ts.getThisContainer(firstIdentifier, /*includeArrowFunctions*/ false)), firstIdentifier, meaning, /*computeAliases*/ false).accessibility === 0 /* SymbolAccessibility.Accessible */) { + return { accessibility: 0 /* SymbolAccessibility.Accessible */ }; + } // Verify if the symbol is accessible return (symbol && hasVisibleDeclarations(symbol, /*shouldComputeAliasToMakeVisible*/ true)) || { accessibility: 1 /* SymbolAccessibility.NotAccessible */, @@ -52251,7 +53027,7 @@ var ts; } function toNodeBuilderFlags(flags) { if (flags === void 0) { flags = 0 /* TypeFormatFlags.None */; } - return flags & 814775659 /* TypeFormatFlags.NodeBuilderFlagsMask */; + return flags & 848330091 /* TypeFormatFlags.NodeBuilderFlagsMask */; } function isClassInstanceSide(type) { return !!type.symbol && !!(type.symbol.flags & 32 /* SymbolFlags.Class */) && (type === getDeclaredTypeOfClassOrInterface(type.symbol) || (!!(type.flags & 524288 /* TypeFlags.Object */) && !!(ts.getObjectFlags(type) & 16777216 /* ObjectFlags.IsClassInstanceClone */))); @@ -52353,6 +53129,12 @@ var ts; return context.truncating = context.approximateLength > ((context.flags & 1 /* NodeBuilderFlags.NoTruncation */) ? ts.noTruncationMaximumTruncationLength : ts.defaultMaximumTruncationLength); } function typeToTypeNodeHelper(type, context) { + var savedFlags = context.flags; + var typeNode = typeToTypeNodeWorker(type, context); + context.flags = savedFlags; + return typeNode; + } + function typeToTypeNodeWorker(type, context) { if (cancellationToken && cancellationToken.throwIfCancellationRequested) { cancellationToken.throwIfCancellationRequested(); } @@ -52492,6 +53274,9 @@ var ts; var typeArgumentNodes = mapToTypeNodes(type.aliasTypeArguments, context); if (isReservedMemberName(type.aliasSymbol.escapedName) && !(type.aliasSymbol.flags & 32 /* SymbolFlags.Class */)) return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""), typeArgumentNodes); + if (ts.length(typeArgumentNodes) === 1 && type.aliasSymbol === globalArrayType.symbol) { + return ts.factory.createArrayTypeNode(typeArgumentNodes[0]); + } return symbolToTypeNode(type.aliasSymbol, context, 788968 /* SymbolFlags.Type */, typeArgumentNodes); } var objectFlags = ts.getObjectFlags(type); @@ -52528,8 +53313,8 @@ var ts; if (type.symbol) { return symbolToTypeNode(type.symbol, context, 788968 /* SymbolFlags.Type */); } - var name = (type === markerSuperType || type === markerSubType) && varianceTypeParameter && varianceTypeParameter.symbol ? - (type === markerSubType ? "sub-" : "super-") + ts.symbolName(varianceTypeParameter.symbol) : "?"; + var name = (type === markerSuperTypeForCheck || type === markerSubTypeForCheck) && varianceTypeParameter && varianceTypeParameter.symbol ? + (type === markerSubTypeForCheck ? "sub-" : "super-") + ts.symbolName(varianceTypeParameter.symbol) : "?"; return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(name), /*typeArguments*/ undefined); } if (type.flags & 1048576 /* TypeFlags.Union */ && type.origin) { @@ -52595,7 +53380,7 @@ var ts; var name = typeParameterToName(newParam, context); var newTypeVariable = ts.factory.createTypeReferenceNode(name); context.approximateLength += 37; // 15 each for two added conditionals, 7 for an added infer type - var newMapper = prependTypeMapping(type.root.checkType, newParam, type.combinedMapper || type.mapper); + var newMapper = prependTypeMapping(type.root.checkType, newParam, type.mapper); var saveInferTypeParameters_1 = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; var extendsTypeNode_1 = typeToTypeNodeHelper(instantiateType(type.root.extendsType, newMapper), context); @@ -52636,6 +53421,10 @@ var ts; } return typeToTypeNodeHelper(type, context); } + function isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type) { + return isMappedTypeWithKeyofConstraintDeclaration(type) + && !(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeFlags.TypeParameter */); + } function createMappedTypeNodeFromType(type) { ts.Debug.assert(!!(type.flags & 524288 /* TypeFlags.Object */)); var readonlyToken = type.declaration.readonlyToken ? ts.factory.createToken(type.declaration.readonlyToken.kind) : undefined; @@ -52645,7 +53434,7 @@ var ts; if (isMappedTypeWithKeyofConstraintDeclaration(type)) { // We have a { [P in keyof T]: X } // We do this to ensure we retain the toplevel keyof-ness of the type which may be lost due to keyof distribution during `getConstraintTypeFromMappedType` - if (!(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeFlags.TypeParameter */) && context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { + if (isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type) && context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { var newParam = createTypeParameter(createSymbol(262144 /* SymbolFlags.TypeParameter */, "T")); var name = typeParameterToName(newParam, context); newTypeVariable = ts.factory.createTypeReferenceNode(name); @@ -52661,11 +53450,12 @@ var ts; var mappedTypeNode = ts.factory.createMappedTypeNode(readonlyToken, typeParameterNode, nameTypeNode, questionToken, templateTypeNode, /*members*/ undefined); context.approximateLength += 10; var result = ts.setEmitFlags(mappedTypeNode, 1 /* EmitFlags.SingleLine */); - if (isMappedTypeWithKeyofConstraintDeclaration(type) && !(getModifiersTypeFromMappedType(type).flags & 262144 /* TypeFlags.TypeParameter */) && context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { + if (isHomomorphicMappedTypeWithNonHomomorphicInstantiation(type) && context.flags & 4 /* NodeBuilderFlags.GenerateNamesForShadowedTypeParams */) { // homomorphic mapped type with a non-homomorphic naive inlining // wrap it with a conditional like `SomeModifiersType extends infer U ? {..the mapped type...} : never` to ensure the resulting // type stays homomorphic - return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), result, ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)); + var originalConstraint = instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode(type.declaration.typeParameter.constraint.type)) || unknownType, type.mapper); + return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName), originalConstraint.flags & 2 /* TypeFlags.Unknown */ ? undefined : typeToTypeNodeHelper(originalConstraint, context))), result, ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)); } return result; } @@ -52682,7 +53472,7 @@ var ts; // Always use 'typeof T' for type of class, enum, and module objects else if (symbol.flags & 32 /* SymbolFlags.Class */ && !getBaseTypeVariableOfClass(symbol) - && !(symbol.valueDeclaration && symbol.valueDeclaration.kind === 226 /* SyntaxKind.ClassExpression */ && context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */) || + && !(symbol.valueDeclaration && ts.isClassLike(symbol.valueDeclaration) && context.flags & 2048 /* NodeBuilderFlags.WriteClassExpressionAsTypeLiteral */ && (!ts.isClassDeclaration(symbol.valueDeclaration) || isSymbolAccessible(symbol, context.enclosingDeclaration, isInstanceType, /*computeAliases*/ false).accessibility !== 0 /* SymbolAccessibility.Accessible */)) || symbol.flags & (384 /* SymbolFlags.Enum */ | 512 /* SymbolFlags.ValueModule */) || shouldWriteTypeOfFunctionSymbol()) { return symbolToTypeNode(symbol, context, isInstanceType); @@ -52948,7 +53738,7 @@ var ts; var id = ids_1[_i]; qualifier = qualifier ? ts.factory.createQualifiedName(qualifier, id) : id; } - return ts.factory.updateImportTypeNode(root, root.argument, qualifier, typeArguments, root.isTypeOf); + return ts.factory.updateImportTypeNode(root, root.argument, root.assertions, qualifier, typeArguments, root.isTypeOf); } else { // first shift type arguments @@ -53052,7 +53842,7 @@ var ts; anyType : getNonMissingTypeOfSymbol(propertySymbol); var saveEnclosingDeclaration = context.enclosingDeclaration; context.enclosingDeclaration = undefined; - if (context.tracker.trackSymbol && ts.getCheckFlags(propertySymbol) & 4096 /* CheckFlags.Late */ && isLateBoundName(propertySymbol.escapedName)) { + if (context.tracker.trackSymbol && isLateBoundName(propertySymbol.escapedName)) { if (propertySymbol.declarations) { var decl = ts.first(propertySymbol.declarations); if (hasLateBindableName(decl)) { @@ -53197,7 +53987,6 @@ var ts; var name = ts.getNameFromIndexInfo(indexInfo) || "x"; var indexerTypeNode = typeToTypeNodeHelper(indexInfo.keyType, context); var indexingParameter = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, name, /*questionToken*/ undefined, indexerTypeNode, @@ -53209,8 +53998,7 @@ var ts; context.encounteredError = true; } context.approximateLength += (name.length + 4); - return ts.factory.createIndexSignature( - /*decorators*/ undefined, indexInfo.isReadonly ? [ts.factory.createToken(145 /* SyntaxKind.ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); + return ts.factory.createIndexSignature(indexInfo.isReadonly ? [ts.factory.createToken(145 /* SyntaxKind.ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a, _b, _c, _d; @@ -53229,7 +54017,7 @@ var ts; var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; // If the expanded parameter list had a variadic in a non-trailing position, don't expand it var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* CheckFlags.RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 171 /* SyntaxKind.Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); - var thisParameter = tryGetThisParameterDeclaration(signature, context); + var thisParameter = context.flags & 33554432 /* NodeBuilderFlags.OmitThisParameter */ ? undefined : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); } @@ -53262,15 +54050,15 @@ var ts; var node = kind === 174 /* SyntaxKind.CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 175 /* SyntaxKind.ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 168 /* SyntaxKind.MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : - kind === 169 /* SyntaxKind.MethodDeclaration */ ? ts.factory.createMethodDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 171 /* SyntaxKind.Constructor */ ? ts.factory.createConstructorDeclaration(/*decorators*/ undefined, modifiers, parameters, /*body*/ undefined) : - kind === 172 /* SyntaxKind.GetAccessor */ ? ts.factory.createGetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : - kind === 173 /* SyntaxKind.SetAccessor */ ? ts.factory.createSetAccessorDeclaration(/*decorators*/ undefined, modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : - kind === 176 /* SyntaxKind.IndexSignature */ ? ts.factory.createIndexSignature(/*decorators*/ undefined, modifiers, parameters, returnTypeNode) : + kind === 169 /* SyntaxKind.MethodDeclaration */ ? ts.factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 171 /* SyntaxKind.Constructor */ ? ts.factory.createConstructorDeclaration(modifiers, parameters, /*body*/ undefined) : + kind === 172 /* SyntaxKind.GetAccessor */ ? ts.factory.createGetAccessorDeclaration(modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : + kind === 173 /* SyntaxKind.SetAccessor */ ? ts.factory.createSetAccessorDeclaration(modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : + kind === 176 /* SyntaxKind.IndexSignature */ ? ts.factory.createIndexSignature(modifiers, parameters, returnTypeNode) : kind === 317 /* SyntaxKind.JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : kind === 179 /* SyntaxKind.FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : kind === 180 /* SyntaxKind.ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 256 /* SyntaxKind.FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(/*decorators*/ undefined, modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 256 /* SyntaxKind.FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : kind === 213 /* SyntaxKind.FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : kind === 214 /* SyntaxKind.ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : ts.Debug.assertNever(kind); @@ -53287,7 +54075,6 @@ var ts; var thisTag = ts.getJSDocThisTag(signature.declaration); if (thisTag && thisTag.typeExpression) { return ts.factory.createParameterDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, /* dotDotDotToken */ undefined, "this", /* questionToken */ undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context)); @@ -53319,7 +54106,7 @@ var ts; parameterType = getOptionalType(parameterType); } var parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); - var modifiers = !(context.flags & 8192 /* NodeBuilderFlags.OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.factory.cloneNode) : undefined; + var modifiers = !(context.flags & 8192 /* NodeBuilderFlags.OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && ts.canHaveModifiers(parameterDeclaration) ? ts.map(ts.getModifiers(parameterDeclaration), ts.factory.cloneNode) : undefined; var isRest = parameterDeclaration && ts.isRestParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 32768 /* CheckFlags.RestParameter */; var dotDotDotToken = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? @@ -53330,21 +54117,27 @@ var ts; ts.symbolName(parameterSymbol); var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* CheckFlags.OptionalParameter */; var questionToken = isOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; - var parameterNode = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, + var parameterNode = ts.factory.createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, /*initializer*/ undefined); context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndSetEmitFlags(node); - function elideInitializerAndSetEmitFlags(node) { + return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); + function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); if (ts.isBindingElement(visited)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); + if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, + /* propertyName*/ undefined, visited.propertyName, + /*initializer*/ undefined); + } + else { + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); + } } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -53553,6 +54346,7 @@ var ts; return symbol.parent ? ts.factory.createQualifiedName(symbolToEntityNameNode(symbol.parent), identifier) : identifier; } function symbolToTypeNode(symbol, context, meaning, overrideTypeArguments) { + var _a, _b, _c, _d; var chain = lookupSymbolChain(symbol, context, meaning, !(context.flags & 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */)); // If we're using aliases outside the current scope, dont bother with the module var isTypeOf = meaning === 111551 /* SymbolFlags.Value */; if (ts.some(chain[0].declarations, hasNonGlobalAugmentationExternalModuleSymbol)) { @@ -53570,6 +54364,7 @@ var ts; assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([ ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral("import")) ]))); + (_b = (_a = context.tracker).reportImportTypeNodeResolutionModeOverride) === null || _b === void 0 ? void 0 : _b.call(_a); } } if (!specifier) { @@ -53589,6 +54384,7 @@ var ts; assertion = ts.factory.createImportTypeAssertionContainer(ts.factory.createAssertClause(ts.factory.createNodeArray([ ts.factory.createAssertEntry(ts.factory.createStringLiteral("resolution-mode"), ts.factory.createStringLiteral(swappedMode === ts.ModuleKind.ESNext ? "import" : "require")) ]))); + (_d = (_c = context.tracker).reportImportTypeNodeResolutionModeOverride) === null || _d === void 0 ? void 0 : _d.call(_c); } } if (!assertion) { @@ -53990,9 +54786,7 @@ var ts; } if ((ts.isExpressionWithTypeArguments(node) || ts.isTypeReferenceNode(node)) && ts.isJSDocIndexSignature(node)) { return ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature( - /*decorators*/ undefined, /*modifiers*/ undefined, [ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotdotdotToken*/ undefined, "x", /*questionToken*/ undefined, ts.visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols))], ts.visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols))]); @@ -54000,14 +54794,13 @@ var ts; if (ts.isJSDocFunctionType(node)) { if (ts.isJSDocConstructSignature(node)) { var newTypeNode_1; - return ts.factory.createConstructorTypeNode(node.modifiers, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration( - /*decorators*/ undefined, + return ts.factory.createConstructorTypeNode( + /*modifiers*/ undefined, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration( /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), /*initializer*/ undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } else { return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), /*initializer*/ undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } @@ -54026,7 +54819,7 @@ var ts; !(ts.length(node.typeArguments) >= getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(nodeSymbol))))) { return ts.setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node); } - return ts.factory.updateImportTypeNode(node, ts.factory.updateLiteralTypeNode(node.argument, rewriteModuleSpecifier(node, node.argument.literal)), node.qualifier, ts.visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, ts.isTypeNode), node.isTypeOf); + return ts.factory.updateImportTypeNode(node, ts.factory.updateLiteralTypeNode(node.argument, rewriteModuleSpecifier(node, node.argument.literal)), node.assertions, node.qualifier, ts.visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, ts.isTypeNode), node.isTypeOf); } if (ts.isEntityName(node) || ts.isEntityNameExpression(node)) { var _a = trackExistingEntityName(node, context, includePrivateSymbol), introducesError = _a.introducesError, result = _a.node; @@ -54078,7 +54871,7 @@ var ts; } function symbolTableToDeclarationStatements(symbolTable, context, bundled) { var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 169 /* SyntaxKind.MethodDeclaration */, /*useAcessors*/ true); - var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (_decorators, mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 168 /* SyntaxKind.MethodSignature */, /*useAcessors*/ false); + var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 168 /* SyntaxKind.MethodSignature */, /*useAcessors*/ false); // TODO: Use `setOriginalNode` on original declaration names where possible so these declarations see some kind of // declaration mapping // We save the enclosing declaration off here so it's not adjusted by well-meaning declaration @@ -54139,8 +54932,7 @@ var ts; var name_3 = ns.name; var body = ns.body; if (ts.length(excessExports)) { - ns = ts.factory.updateModuleDeclaration(ns, ns.decorators, ns.modifiers, ns.name, body = ts.factory.updateModuleBlock(body, ts.factory.createNodeArray(__spreadArray(__spreadArray([], ns.body.statements, true), [ts.factory.createExportDeclaration( - /*decorators*/ undefined, + ns = ts.factory.updateModuleDeclaration(ns, ns.modifiers, ns.name, body = ts.factory.updateModuleBlock(body, ts.factory.createNodeArray(__spreadArray(__spreadArray([], ns.body.statements, true), [ts.factory.createExportDeclaration( /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.map(ts.flatMap(excessExports, function (e) { return getNamesOfDeclaration(e); }), function (id) { return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, /*alias*/ undefined, id); })), /*moduleSpecifier*/ undefined)], false)))); @@ -54166,7 +54958,6 @@ var ts; if (ts.length(exports) > 1) { var nonExports = ts.filter(statements, function (d) { return !ts.isExportDeclaration(d) || !!d.moduleSpecifier || !d.exportClause; }); statements = __spreadArray(__spreadArray([], nonExports, true), [ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(exports, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), /*moduleSpecifier*/ undefined)], false); @@ -54181,7 +54972,6 @@ var ts; // remove group members from statements and then merge group members and add back to statements statements = __spreadArray(__spreadArray([], ts.filter(statements, function (s) { return group_1.indexOf(s) === -1; }), true), [ ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(group_1, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), group_1[0].moduleSpecifier) ], false); @@ -54221,7 +55011,7 @@ var ts; } else { // some items filtered, others not - update the export declaration - statements[index] = ts.factory.updateExportDeclaration(exportDecl, exportDecl.decorators, exportDecl.modifiers, exportDecl.isTypeOnly, ts.factory.updateNamedExports(exportDecl.exportClause, replacements), exportDecl.moduleSpecifier, exportDecl.assertClause); + statements[index] = ts.factory.updateExportDeclaration(exportDecl, exportDecl.modifiers, exportDecl.isTypeOnly, ts.factory.updateNamedExports(exportDecl.exportClause, replacements), exportDecl.moduleSpecifier, exportDecl.assertClause); } } return statements; @@ -54286,12 +55076,11 @@ var ts; if (skipMembershipCheck || (!!ts.length(symbol.declarations) && ts.some(symbol.declarations, function (d) { return !!ts.findAncestor(d, function (n) { return n === enclosingDeclaration; }); }))) { var oldContext = context; context = cloneNodeBuilderContext(context); - var result = serializeSymbolWorker(symbol, isPrivate, propertyAsAlias); + serializeSymbolWorker(symbol, isPrivate, propertyAsAlias); if (context.reportedDiagnostic) { oldcontext.reportedDiagnostic = context.reportedDiagnostic; // hoist diagnostic result into outer context } context = oldContext; - return result; } } // Synthesize declarations for a symbol - might be an Interface, a Class, a Namespace, a Type, a Variable (const, let, or var), an Alias @@ -54372,7 +55161,6 @@ var ts; && ((_d = type.symbol) === null || _d === void 0 ? void 0 : _d.valueDeclaration) && ts.isSourceFile(type.symbol.valueDeclaration)) { var alias = localName === propertyAccessRequire.parent.right.escapedText ? undefined : propertyAccessRequire.parent.right; addResult(ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, alias, localName)])), 0 /* ModifierFlags.None */); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* SymbolFlags.Value */); @@ -54405,7 +55193,6 @@ var ts; // ``` // To create an export named `g` that does _not_ shadow the local `g` addResult(ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, name, localName)])), 0 /* ModifierFlags.None */); needsExportDeclaration = false; @@ -54454,16 +55241,15 @@ var ts; var resolvedModule = resolveExternalModuleName(node, node.moduleSpecifier); if (!resolvedModule) continue; - addResult(ts.factory.createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, /*exportClause*/ undefined, ts.factory.createStringLiteral(getSpecifierForModuleSymbol(resolvedModule, context))), 0 /* ModifierFlags.None */); + addResult(ts.factory.createExportDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, /*exportClause*/ undefined, ts.factory.createStringLiteral(getSpecifierForModuleSymbol(resolvedModule, context))), 0 /* ModifierFlags.None */); } } } if (needsPostExportDefault) { - addResult(ts.factory.createExportAssignment(/*decorators*/ undefined, /*modifiers*/ undefined, /*isExportAssignment*/ false, ts.factory.createIdentifier(getInternalSymbolName(symbol, symbolName))), 0 /* ModifierFlags.None */); + addResult(ts.factory.createExportAssignment(/*modifiers*/ undefined, /*isExportAssignment*/ false, ts.factory.createIdentifier(getInternalSymbolName(symbol, symbolName))), 0 /* ModifierFlags.None */); } else if (needsExportDeclaration) { addResult(ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, getInternalSymbolName(symbol, symbolName), symbolName)])), 0 /* ModifierFlags.None */); } @@ -54531,7 +55317,7 @@ var ts; && ts.isJSDocTypeExpression(jsdocAliasDecl.typeExpression) && serializeExistingTypeNode(context, jsdocAliasDecl.typeExpression.type, includePrivateSymbol, bundled) || typeToTypeNodeHelper(aliasType, context); - addResult(ts.setSyntheticLeadingComments(ts.factory.createTypeAliasDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* SyntaxKind.MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]), modifierFlags); + addResult(ts.setSyntheticLeadingComments(ts.factory.createTypeAliasDeclaration(/*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, typeNode), !commentText ? [] : [{ kind: 3 /* SyntaxKind.MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]), modifierFlags); context.flags = oldFlags; context.enclosingDeclaration = oldEnclosingDecl; } @@ -54547,7 +55333,6 @@ var ts; var indexSignatures = serializeIndexSignatures(interfaceType, baseType); var heritageClauses = !ts.length(baseTypes) ? undefined : [ts.factory.createHeritageClause(94 /* SyntaxKind.ExtendsKeyword */, ts.mapDefined(baseTypes, function (b) { return trySerializeAsTypeReference(b, 111551 /* SymbolFlags.Value */); }))]; addResult(ts.factory.createInterfaceDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, getInternalSymbolName(symbol, symbolName), typeParamDecls, heritageClauses, __spreadArray(__spreadArray(__spreadArray(__spreadArray([], indexSignatures, true), constructSignatures, true), callSignatures, true), members, true)), modifierFlags); } function getNamespaceMembersForSerialization(symbol) { @@ -54573,7 +55358,6 @@ var ts; var containingFile_1 = ts.getSourceFileOfNode(context.enclosingDeclaration); var localName = getInternalSymbolName(symbol, symbolName); var nsBody = ts.factory.createModuleBlock([ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.mapDefined(ts.filter(mergedMembers, function (n) { return n.escapedName !== "export=" /* InternalSymbolName.ExportEquals */; }), function (s) { var _a, _b; @@ -54590,13 +55374,11 @@ var ts; return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, name === targetName ? undefined : targetName, name); })))]); addResult(ts.factory.createModuleDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createIdentifier(localName), nsBody, 16 /* NodeFlags.Namespace */), 0 /* ModifierFlags.None */); } } function serializeEnum(symbol, symbolName, modifierFlags) { - addResult(ts.factory.createEnumDeclaration( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(isConstEnumSymbol(symbol) ? 2048 /* ModifierFlags.Const */ : 0), getInternalSymbolName(symbol, symbolName), ts.map(ts.filter(getPropertiesOfType(getTypeOfSymbol(symbol)), function (p) { return !!(p.flags & 8 /* SymbolFlags.EnumMember */); }), function (p) { + addResult(ts.factory.createEnumDeclaration(ts.factory.createModifiersFromModifierFlags(isConstEnumSymbol(symbol) ? 2048 /* ModifierFlags.Const */ : 0), getInternalSymbolName(symbol, symbolName), ts.map(ts.filter(getPropertiesOfType(getTypeOfSymbol(symbol)), function (p) { return !!(p.flags & 8 /* SymbolFlags.EnumMember */); }), function (p) { // TODO: Handle computed names // I hate that to get the initialized value we need to walk back to the declarations here; but there's no // other way to get the possible const value of an enum member that I'm aware of, as the value is cached @@ -54657,7 +55439,7 @@ var ts; // emit akin to the above would be needed. // Add a namespace // Create namespace as non-synthetic so it is usable as an enclosing declaration - var fakespace = ts.parseNodeFactory.createModuleDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createIdentifier(localName), ts.factory.createModuleBlock([]), 16 /* NodeFlags.Namespace */); + var fakespace = ts.parseNodeFactory.createModuleDeclaration(/*modifiers*/ undefined, ts.factory.createIdentifier(localName), ts.factory.createModuleBlock([]), 16 /* NodeFlags.Namespace */); ts.setParent(fakespace, enclosingDeclaration); fakespace.locals = ts.createSymbolTable(props); fakespace.symbol = props[0].parent; @@ -54676,11 +55458,10 @@ var ts; results = oldResults; // replace namespace with synthetic version var defaultReplaced = ts.map(declarations, function (d) { return ts.isExportAssignment(d) && !d.isExportEquals && ts.isIdentifier(d.expression) ? ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, d.expression, ts.factory.createIdentifier("default" /* InternalSymbolName.Default */))])) : d; }); var exportModifierStripped = ts.every(defaultReplaced, function (d) { return ts.hasSyntacticModifier(d, 1 /* ModifierFlags.Export */); }) ? ts.map(defaultReplaced, removeExportModifier) : defaultReplaced; - fakespace = ts.factory.updateModuleDeclaration(fakespace, fakespace.decorators, fakespace.modifiers, fakespace.name, ts.factory.createModuleBlock(exportModifierStripped)); + fakespace = ts.factory.updateModuleDeclaration(fakespace, fakespace.modifiers, fakespace.name, ts.factory.createModuleBlock(exportModifierStripped)); addResult(fakespace, modifierFlags); // namespaces can never be default exported } } @@ -54736,7 +55517,7 @@ var ts; ? getBaseConstructorTypeOfClass(staticType) : anyType; var heritageClauses = __spreadArray(__spreadArray([], !ts.length(baseTypes) ? [] : [ts.factory.createHeritageClause(94 /* SyntaxKind.ExtendsKeyword */, ts.map(baseTypes, function (b) { return serializeBaseType(b, staticBaseType, localName); }))], true), !ts.length(implementsExpressions) ? [] : [ts.factory.createHeritageClause(117 /* SyntaxKind.ImplementsKeyword */, implementsExpressions)], true); - var symbolProps = getNonInterhitedProperties(classType, baseTypes, getPropertiesOfType(classType)); + var symbolProps = getNonInheritedProperties(classType, baseTypes, getPropertiesOfType(classType)); var publicSymbolProps = ts.filter(symbolProps, function (s) { // `valueDeclaration` could be undefined if inherited from // a union/intersection base type, but inherited properties @@ -54754,7 +55535,6 @@ var ts; // Boil down all private properties into a single one. var privateProperties = hasPrivateIdentifier ? [ts.factory.createPropertyDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createPrivateIdentifier("#private"), /*questionOrExclamationToken*/ undefined, /*type*/ undefined, @@ -54771,12 +55551,11 @@ var ts; ts.isInJSFile(symbol.valueDeclaration) && !ts.some(getSignaturesOfType(staticType, 1 /* SignatureKind.Construct */)); var constructors = isNonConstructableClassLikeInJsFile ? - [ts.factory.createConstructorDeclaration(/*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(8 /* ModifierFlags.Private */), [], /*body*/ undefined)] : + [ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(8 /* ModifierFlags.Private */), [], /*body*/ undefined)] : serializeSignatures(1 /* SignatureKind.Construct */, staticType, staticBaseType, 171 /* SyntaxKind.Constructor */); var indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; addResult(ts.setTextRange(ts.factory.createClassDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, localName, typeParamDecls, heritageClauses, __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], indexSignatures, true), staticMembers, true), constructors, true), publicProperties, true), privateProperties, true)), symbol.declarations && ts.filter(symbol.declarations, function (d) { return ts.isClassDeclaration(d) || ts.isClassExpression(d); })[0]), modifierFlags); } function getSomeTargetNameFromDeclarations(declarations) { @@ -54828,7 +55607,6 @@ var ts; var specifier_1 = getSpecifierForModuleSymbol(target.parent || target, context); // './lib' var propertyName = node.propertyName; addResult(ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamedImports([ts.factory.createImportSpecifier( /*isTypeOnly*/ false, propertyName && ts.isIdentifier(propertyName) ? ts.factory.createIdentifier(ts.idText(propertyName)) : undefined, ts.factory.createIdentifier(localName))])), ts.factory.createStringLiteral(specifier_1), /*importClause*/ undefined), 0 /* ModifierFlags.None */); @@ -54852,12 +55630,10 @@ var ts; var specifier_2 = getSpecifierForModuleSymbol(target.parent || target, context); // 'y' // import _x = require('y'); addResult(ts.factory.createImportEqualsDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, uniqueName, ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(specifier_2))), 0 /* ModifierFlags.None */); // import x = _x.z addResult(ts.factory.createImportEqualsDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), ts.factory.createQualifiedName(uniqueName, initializer.name)), modifierFlags); break; @@ -54874,7 +55650,6 @@ var ts; // an external `import localName = require("whatever")` var isLocalImport = !(target.flags & 512 /* SymbolFlags.ValueModule */) && !ts.isVariableDeclaration(node); addResult(ts.factory.createImportEqualsDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), isLocalImport ? symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false) @@ -54888,7 +55663,6 @@ var ts; break; case 267 /* SyntaxKind.ImportClause */: addResult(ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), // We use `target.parent || target` below as `target.parent` is unset when the target is a module which has been export assigned // And then made into a default by the `esModuleInterop` or `allowSyntheticDefaultImports` flag @@ -54898,19 +55672,16 @@ var ts; break; case 268 /* SyntaxKind.NamespaceImport */: addResult(ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; case 274 /* SyntaxKind.NamespaceExport */: addResult(ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(localName)), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context))), 0 /* ModifierFlags.None */); break; case 270 /* SyntaxKind.ImportSpecifier */: addResult(ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause( /*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamedImports([ @@ -54949,7 +55720,6 @@ var ts; } function serializeExportSpecifier(localName, targetName, specifier) { addResult(ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, localName !== targetName ? targetName : undefined, localName)]), specifier), 0 /* ModifierFlags.None */); } @@ -54990,7 +55760,6 @@ var ts; context.tracker.trackSymbol = function () { return false; }; if (isExportAssignmentCompatibleSymbolName) { results.push(ts.factory.createExportAssignment( - /*decorators*/ undefined, /*modifiers*/ undefined, isExportEquals, symbolToExpression(target, context, 67108863 /* SymbolFlags.All */))); } else { @@ -55005,7 +55774,6 @@ var ts; // serialize as `import _Ref = t.arg.et; export { _Ref as name }` var varName = getUnusedName(name, symbol); addResult(ts.factory.createImportEqualsDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(varName), symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false)), 0 /* ModifierFlags.None */); serializeExportSpecifier(name, varName); @@ -55036,7 +55804,6 @@ var ts; } if (isExportAssignmentCompatibleSymbolName) { results.push(ts.factory.createExportAssignment( - /*decorators*/ undefined, /*modifiers*/ undefined, isExportEquals, ts.factory.createIdentifier(varName))); return true; } @@ -55086,9 +55853,7 @@ var ts; if (p.flags & 98304 /* SymbolFlags.Accessor */ && useAccessors) { var result = []; if (p.flags & 65536 /* SymbolFlags.SetAccessor */) { - result.push(ts.setTextRange(ts.factory.createSetAccessorDeclaration( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(flag), name, [ts.factory.createParameterDeclaration( - /*decorators*/ undefined, + result.push(ts.setTextRange(ts.factory.createSetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [ts.factory.createParameterDeclaration( /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "arg", /*questionToken*/ undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled))], @@ -55096,8 +55861,7 @@ var ts; } if (p.flags & 32768 /* SymbolFlags.GetAccessor */) { var isPrivate_1 = modifierFlags & 8 /* ModifierFlags.Private */; - result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), /*body*/ undefined), ((_c = p.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isGetAccessor)) || firstPropertyLikeDecl)); } return result; @@ -55105,8 +55869,7 @@ var ts; // This is an else/if as accessors and properties can't merge in TS, but might in JS // If this happens, we assume the accessor takes priority, as it imposes more constraints else if (p.flags & (4 /* SymbolFlags.Property */ | 3 /* SymbolFlags.Variable */ | 98304 /* SymbolFlags.Accessor */)) { - return ts.setTextRange(createProperty( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357 // interface members can't have initializers, however class members _can_ /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl); @@ -55115,8 +55878,7 @@ var ts; var type = getTypeOfSymbol(p); var signatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (flag & 8 /* ModifierFlags.Private */) { - return ts.setTextRange(createProperty( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, + return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, /*type*/ undefined, /*initializer*/ undefined), ((_e = p.declarations) === null || _e === void 0 ? void 0 : _e.find(ts.isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); } @@ -55174,8 +55936,7 @@ var ts; } } if (privateProtected) { - return [ts.setTextRange(ts.factory.createConstructorDeclaration( - /*decorators*/ undefined, ts.factory.createModifiersFromModifierFlags(privateProtected), + return [ts.setTextRange(ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(privateProtected), /*parameters*/ [], /*body*/ undefined), signatures[0].declaration)]; } @@ -55874,7 +56635,7 @@ var ts; if (ts.getEffectiveTypeAnnotationNode(ts.walkUpBindingElementsAndPatterns(declaration))) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. - return strictNullChecks && !(getFalsyFlags(checkDeclarationInitializer(declaration, 0 /* CheckMode.Normal */)) & 32768 /* TypeFlags.Undefined */) ? getNonUndefinedType(type) : type; + return strictNullChecks && !(getTypeFacts(checkDeclarationInitializer(declaration, 0 /* CheckMode.Normal */)) & 16777216 /* TypeFacts.IsUndefined */) ? getNonUndefinedType(type) : type; } return widenTypeInferredFromInitializer(declaration, getUnionType([getNonUndefinedType(type), checkDeclarationInitializer(declaration, 0 /* CheckMode.Normal */)], 2 /* UnionReduction.Subtype */)); } @@ -56275,7 +57036,7 @@ var ts; (resolvedSymbol || symbol).exports.forEach(function (s, name) { var _a; var exportedMember = members_4.get(name); - if (exportedMember && exportedMember !== s) { + if (exportedMember && exportedMember !== s && !(s.flags & 2097152 /* SymbolFlags.Alias */)) { if (s.flags & 111551 /* SymbolFlags.Value */ && exportedMember.flags & 111551 /* SymbolFlags.Value */) { // If the member has an additional value-like declaration, union the types from the two declarations, // but issue an error if they occurred in two different files. The purpose is to support a JS file with @@ -56309,6 +57070,17 @@ var ts; }); var result = createAnonymousType(initialSize !== members_4.size ? undefined : exportedType.symbol, // Only set the type's symbol if it looks to be the same as the original type members_4, exportedType.callSignatures, exportedType.constructSignatures, exportedType.indexInfos); + if (initialSize === members_4.size) { + if (type.aliasSymbol) { + result.aliasSymbol = type.aliasSymbol; + result.aliasTypeArguments = type.aliasTypeArguments; + } + if (ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */) { + result.aliasSymbol = type.symbol; + var args = getTypeArguments(type); + result.aliasTypeArguments = ts.length(args) ? args : undefined; + } + } result.objectFlags |= (ts.getObjectFlags(type) & 4096 /* ObjectFlags.JSLiteral */); // Propagate JSLiteral flag if (result.symbol && result.symbol.flags & 32 /* SymbolFlags.Class */ && type === getDeclaredTypeOfClassOrInterface(result.symbol)) { result.objectFlags |= 16777216 /* ObjectFlags.IsClassInstanceClone */; // Propagate the knowledge that this type is equivalent to the symbol's class instance type @@ -56360,11 +57132,7 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - // When we're including the pattern in the type (an indication we're obtaining a contextual type), we - // use the non-inferrable any type. Inference will never directly infer this type, but it is possible - // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, - // widening of the binding pattern type substitutes a regular any for the non-inferrable any. - return includePatternInType ? nonInferrableAnyType : anyType; + return anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -57365,7 +58133,7 @@ var ts; error(declaration.typeExpression.type, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } else { - error(ts.isNamedDeclaration(declaration) ? declaration.name : declaration || declaration, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); + error(ts.isNamedDeclaration(declaration) ? declaration.name || declaration : declaration, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } } links.declaredType = type; @@ -58669,6 +59437,9 @@ var ts; else if (type.objectFlags & 32 /* ObjectFlags.Mapped */) { resolveMappedTypeMembers(type); } + else { + ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags)); + } } else if (type.flags & 1048576 /* TypeFlags.Union */) { resolveUnionTypeMembers(type); @@ -58676,6 +59447,9 @@ var ts; else if (type.flags & 2097152 /* TypeFlags.Intersection */) { resolveIntersectionTypeMembers(type); } + else { + ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags)); + } } return type; } @@ -58863,7 +59637,7 @@ var ts; } } } - else if (t.flags & 469892092 /* TypeFlags.DisjointDomains */) { + else if (t.flags & 469892092 /* TypeFlags.DisjointDomains */ || isEmptyAnonymousObjectType(t)) { hasDisjointDomainType = true; } } @@ -58875,12 +59649,13 @@ var ts; // intersection operation to reduce the union constraints. for (var _a = 0, types_6 = types; _a < types_6.length; _a++) { var t = types_6[_a]; - if (t.flags & 469892092 /* TypeFlags.DisjointDomains */) { + if (t.flags & 469892092 /* TypeFlags.DisjointDomains */ || isEmptyAnonymousObjectType(t)) { constraints = ts.append(constraints, t); } } } - return getIntersectionType(constraints); + // The source types were normalized; ensure the result is normalized too. + return getNormalizedType(getIntersectionType(constraints), /*writing*/ false); } return undefined; } @@ -58991,7 +59766,7 @@ var ts; } if (t.flags & 268435456 /* TypeFlags.StringMapping */) { var constraint = getBaseConstraint(t.type); - return constraint ? getStringMappingType(t.symbol, constraint) : stringType; + return constraint && constraint !== t.type ? getStringMappingType(t.symbol, constraint) : stringType; } if (t.flags & 8388608 /* TypeFlags.IndexedAccess */) { if (isMappedTypeGenericIndexedAccess(t)) { @@ -59077,7 +59852,7 @@ var ts; var objectType; return !!(type.flags & 8388608 /* TypeFlags.IndexedAccess */ && ts.getObjectFlags(objectType = type.objectType) & 32 /* ObjectFlags.Mapped */ && !isGenericMappedType(objectType) && isGenericIndexType(type.indexType) && - !objectType.declaration.questionToken && !objectType.declaration.nameType); + !(getMappedTypeModifiers(objectType) & 8 /* MappedTypeModifiers.ExcludeOptional */) && !objectType.declaration.nameType); } /** * For a type parameter, return the base constraint of the type parameter. For the string, number, @@ -59356,12 +60131,12 @@ var ts; * @param type a type to look up property from * @param name a name of property to look up in a given type */ - function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) { + function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) { type = getReducedApparentType(type); if (type.flags & 524288 /* TypeFlags.Object */) { var resolved = resolveStructuredTypeMembers(type); var symbol = resolved.members.get(name); - if (symbol && symbolIsValue(symbol)) { + if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) { return symbol; } if (skipObjectFunctionPropertyAugment) @@ -59467,12 +60242,15 @@ var ts; // Return list of type parameters with duplicates removed (duplicate identifier errors are generated in the actual // type checking functions). function getTypeParametersFromDeclaration(declaration) { + var _a; var result; - for (var _i = 0, _a = ts.getEffectiveTypeParameterDeclarations(declaration); _i < _a.length; _i++) { - var node = _a[_i]; + for (var _i = 0, _b = ts.getEffectiveTypeParameterDeclarations(declaration); _i < _b.length; _i++) { + var node = _b[_i]; result = ts.appendIfUnique(result, getDeclaredTypeOfTypeParameter(node.symbol)); } - return result; + return (result === null || result === void 0 ? void 0 : result.length) ? result + : ts.isFunctionDeclaration(declaration) ? (_a = getSignatureOfTypeTag(declaration)) === null || _a === void 0 ? void 0 : _a.typeParameters + : undefined; } function symbolsToArray(symbols) { var result = []; @@ -60023,8 +60801,7 @@ var ts; var _a; var inferences; if ((_a = typeParameter.symbol) === null || _a === void 0 ? void 0 : _a.declarations) { - for (var _i = 0, _b = typeParameter.symbol.declarations; _i < _b.length; _i++) { - var declaration = _b[_i]; + var _loop_15 = function (declaration) { if (declaration.parent.kind === 190 /* SyntaxKind.InferType */) { // When an 'infer T' declaration is immediately contained in a type reference node // (such as 'Foo'), T's constraint is inferred from the constraint of the @@ -60032,12 +60809,12 @@ var ts; // present, we form an intersection of the inferred constraint types. var _c = ts.walkUpParenthesizedTypesAndGetParentAndChild(declaration.parent.parent), _d = _c[0], childTypeParameter = _d === void 0 ? declaration.parent : _d, grandParent = _c[1]; if (grandParent.kind === 178 /* SyntaxKind.TypeReference */ && !omitTypeReferences) { - var typeReference = grandParent; - var typeParameters = getTypeParametersForTypeReference(typeReference); - if (typeParameters) { - var index = typeReference.typeArguments.indexOf(childTypeParameter); - if (index < typeParameters.length) { - var declaredConstraint = getConstraintOfTypeParameter(typeParameters[index]); + var typeReference_1 = grandParent; + var typeParameters_1 = getTypeParametersForTypeReference(typeReference_1); + if (typeParameters_1) { + var index = typeReference_1.typeArguments.indexOf(childTypeParameter); + if (index < typeParameters_1.length) { + var declaredConstraint = getConstraintOfTypeParameter(typeParameters_1[index]); if (declaredConstraint) { // Type parameter constraints can reference other type parameters so // constraints need to be instantiated. If instantiation produces the @@ -60045,7 +60822,9 @@ var ts; // type Foo = [T, U]; // type Bar = T extends Foo ? Foo : T; // the instantiated constraint for U is X, so we discard that inference. - var mapper = createTypeMapper(typeParameters, getEffectiveTypeArguments(typeReference, typeParameters)); + var mapper = makeDeferredTypeMapper(typeParameters_1, typeParameters_1.map(function (_, index) { return function () { + return getEffectiveTypeArgumentAtIndex(typeReference_1, typeParameters_1, index); + }; })); var constraint = instantiateType(declaredConstraint, mapper); if (constraint !== typeParameter) { inferences = ts.append(inferences, constraint); @@ -60083,6 +60862,10 @@ var ts; inferences = ts.append(inferences, instantiateType(nodeType, makeUnaryTypeMapper(getDeclaredTypeOfTypeParameter(getSymbolOfNode(checkMappedType_1.typeParameter)), checkMappedType_1.typeParameter.constraint ? getTypeFromTypeNode(checkMappedType_1.typeParameter.constraint) : keyofConstraintType))); } } + }; + for (var _i = 0, _b = typeParameter.symbol.declarations; _i < _b.length; _i++) { + var declaration = _b[_i]; + _loop_15(declaration); } } return inferences && getIntersectionType(inferences); @@ -60145,13 +60928,13 @@ var ts; } // This function is used to propagate certain flags when creating new object type references and union types. // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type - // of an object literal or the anyFunctionType. This is because there are operations in the type checker + // of an object literal or a non-inferrable type. This is because there are operations in the type checker // that care about the presence of such types at arbitrary depth in a containing type. function getPropagatingFlagsOfTypes(types, excludeKinds) { var result = 0; for (var _i = 0, types_8 = types; _i < types_8.length; _i++) { var type = types_8[_i]; - if (!(type.flags & excludeKinds)) { + if (excludeKinds === undefined || !(type.flags & excludeKinds)) { result |= ts.getObjectFlags(type); } } @@ -60163,7 +60946,7 @@ var ts; if (!type) { type = createObjectType(4 /* ObjectFlags.Reference */, target.symbol); target.instantiations.set(id, type); - type.objectFlags |= typeArguments ? getPropagatingFlagsOfTypes(typeArguments, /*excludeKinds*/ 0) : 0; + type.objectFlags |= typeArguments ? getPropagatingFlagsOfTypes(typeArguments) : 0; type.target = target; type.resolvedTypeArguments = typeArguments; } @@ -60971,7 +61754,7 @@ var ts; var lastRequiredIndex = -1; var firstRestIndex = -1; var lastOptionalOrRestIndex = -1; - var _loop_15 = function (i) { + var _loop_16 = function (i) { var type = elementTypes[i]; var flags = target.elementFlags[i]; if (flags & 8 /* ElementFlags.Variadic */) { @@ -61001,7 +61784,7 @@ var ts; } }; for (var i = 0; i < elementTypes.length; i++) { - var state_4 = _loop_15(i); + var state_4 = _loop_16(i); if (typeof state_4 === "object") return state_4.value; } @@ -61197,7 +61980,7 @@ var ts; var templates = ts.filter(types, isPatternLiteralType); if (templates.length) { var i = types.length; - var _loop_16 = function () { + var _loop_17 = function () { i--; var t = types[i]; if (t.flags & 128 /* TypeFlags.StringLiteral */ && ts.some(templates, function (template) { return isTypeMatchedByTemplateLiteralType(t, template); })) { @@ -61205,7 +61988,7 @@ var ts; } }; while (i > 0) { - _loop_16(); + _loop_17(); } } } @@ -61282,14 +62065,14 @@ var ts; var namedUnions = []; addNamedUnions(namedUnions, types); var reducedTypes = []; - var _loop_17 = function (t) { + var _loop_18 = function (t) { if (!ts.some(namedUnions, function (union) { return containsType(union.types, t); })) { reducedTypes.push(t); } }; for (var _i = 0, typeSet_1 = typeSet; _i < typeSet_1.length; _i++) { var t = typeSet_1[_i]; - _loop_17(t); + _loop_18(t); } if (!aliasSymbol && namedUnions.length === 1 && reducedTypes.length === 0) { return namedUnions[0]; @@ -61424,7 +62207,7 @@ var ts; } return includes; } - function removeRedundantPrimitiveTypes(types, includes) { + function removeRedundantSupertypes(types, includes) { var i = types.length; while (i > 0) { i--; @@ -61432,7 +62215,9 @@ var ts; var remove = t.flags & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) || t.flags & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ || t.flags & 64 /* TypeFlags.BigInt */ && includes & 2048 /* TypeFlags.BigIntLiteral */ || - t.flags & 4096 /* TypeFlags.ESSymbol */ && includes & 8192 /* TypeFlags.UniqueESSymbol */; + t.flags & 4096 /* TypeFlags.ESSymbol */ && includes & 8192 /* TypeFlags.UniqueESSymbol */ || + t.flags & 16384 /* TypeFlags.Void */ && includes & 32768 /* TypeFlags.Undefined */ || + isEmptyAnonymousObjectType(t) && includes & 470302716 /* TypeFlags.DefinitelyNonNullable */; if (remove) { ts.orderedRemoveItemAt(types, i); } @@ -61554,7 +62339,7 @@ var ts; // a type alias of the form "type List = T & { next: List }" cannot be reduced during its declaration. // Also, unlike union types, the order of the constituent types is preserved in order that overload resolution // for intersections of types with signatures can be deterministic. - function getIntersectionType(types, aliasSymbol, aliasTypeArguments) { + function getIntersectionType(types, aliasSymbol, aliasTypeArguments, noSupertypeReduction) { var typeMembershipMap = new ts.Map(); var includes = addTypesToIntersection(typeMembershipMap, 0, types); var typeSet = ts.arrayFrom(typeMembershipMap.values()); @@ -61591,11 +62376,11 @@ var ts; if (includes & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) || includes & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ || includes & 64 /* TypeFlags.BigInt */ && includes & 2048 /* TypeFlags.BigIntLiteral */ || - includes & 4096 /* TypeFlags.ESSymbol */ && includes & 8192 /* TypeFlags.UniqueESSymbol */) { - removeRedundantPrimitiveTypes(typeSet, includes); - } - if (includes & 16777216 /* TypeFlags.IncludesEmptyObject */ && includes & 524288 /* TypeFlags.Object */) { - ts.orderedRemoveItemAt(typeSet, ts.findIndex(typeSet, isEmptyAnonymousObjectType)); + includes & 4096 /* TypeFlags.ESSymbol */ && includes & 8192 /* TypeFlags.UniqueESSymbol */ || + includes & 16384 /* TypeFlags.Void */ && includes & 32768 /* TypeFlags.Undefined */ || + includes & 16777216 /* TypeFlags.IncludesEmptyObject */ && includes & 470302716 /* TypeFlags.DefinitelyNonNullable */) { + if (!noSupertypeReduction) + removeRedundantSupertypes(typeSet, includes); } if (includes & 262144 /* TypeFlags.IncludesMissingType */) { typeSet[typeSet.indexOf(undefinedType)] = missingType; @@ -61634,8 +62419,9 @@ var ts; } var constituents = getCrossProductIntersections(typeSet); // We attach a denormalized origin type when at least one constituent of the cross-product union is an - // intersection (i.e. when the intersection didn't just reduce one or more unions to smaller unions). - var origin = ts.some(constituents, function (t) { return !!(t.flags & 2097152 /* TypeFlags.Intersection */); }) ? createOriginUnionOrIntersectionType(2097152 /* TypeFlags.Intersection */, typeSet) : undefined; + // intersection (i.e. when the intersection didn't just reduce one or more unions to smaller unions) and + // the denormalized origin has fewer constituents than the union itself. + var origin = ts.some(constituents, function (t) { return !!(t.flags & 2097152 /* TypeFlags.Intersection */); }) && getConstituentCountOfTypes(constituents) > getConstituentCountOfTypes(typeSet) ? createOriginUnionOrIntersectionType(2097152 /* TypeFlags.Intersection */, typeSet) : undefined; result = getUnionType(constituents, 1 /* UnionReduction.Literal */, aliasSymbol, aliasTypeArguments, origin); } } @@ -61678,11 +62464,21 @@ var ts; } return intersections; } + function getConstituentCount(type) { + return !(type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) || type.aliasSymbol ? 1 : + type.flags & 1048576 /* TypeFlags.Union */ && type.origin ? getConstituentCount(type.origin) : + getConstituentCountOfTypes(type.types); + } + function getConstituentCountOfTypes(types) { + return ts.reduceLeft(types, function (n, t) { return n + getConstituentCount(t); }, 0); + } function getTypeFromIntersectionTypeNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { var aliasSymbol = getAliasSymbolForTypeNode(node); - links.resolvedType = getIntersectionType(ts.map(node.types, getTypeFromTypeNode), aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol)); + var types = ts.map(node.types, getTypeFromTypeNode); + var noSupertypeReduction = types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType; + links.resolvedType = getIntersectionType(types, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol), noSupertypeReduction); } return links.resolvedType; } @@ -61810,19 +62606,22 @@ var ts; * to reduce the resulting type if possible (since only intersections with conflicting literal-typed properties are reducible). */ function isPossiblyReducibleByInstantiation(type) { - return ts.some(type.types, function (t) { - var uniqueFilled = getUniqueLiteralFilledInstantiation(t); - return getReducedType(uniqueFilled) !== uniqueFilled; - }); + var uniqueFilled = getUniqueLiteralFilledInstantiation(type); + return getReducedType(uniqueFilled) !== uniqueFilled; + } + function shouldDeferIndexType(type) { + return !!(type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ || + isGenericTupleType(type) || + isGenericMappedType(type) && !hasDistributiveNameType(type) || + type.flags & 1048576 /* TypeFlags.Union */ && ts.some(type.types, isPossiblyReducibleByInstantiation) || + type.flags & 2097152 /* TypeFlags.Intersection */ && maybeTypeOfKind(type, 465829888 /* TypeFlags.Instantiable */) && ts.some(type.types, isEmptyAnonymousObjectType)); } function getIndexType(type, stringsOnly, noIndexSignatures) { if (stringsOnly === void 0) { stringsOnly = keyofStringsOnly; } type = getReducedType(type); - return type.flags & 1048576 /* TypeFlags.Union */ ? isPossiblyReducibleByInstantiation(type) - ? getIndexTypeForGenericType(type, stringsOnly) - : getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : - type.flags & 2097152 /* TypeFlags.Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : - type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ || isGenericTupleType(type) || isGenericMappedType(type) && !hasDistributiveNameType(type) ? getIndexTypeForGenericType(type, stringsOnly) : + return shouldDeferIndexType(type) ? getIndexTypeForGenericType(type, stringsOnly) : + type.flags & 1048576 /* TypeFlags.Union */ ? getIntersectionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : + type.flags & 2097152 /* TypeFlags.Intersection */ ? getUnionType(ts.map(type.types, function (t) { return getIndexType(t, stringsOnly, noIndexSignatures); })) : ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */ ? getIndexTypeForMappedType(type, stringsOnly, noIndexSignatures) : type === wildcardType ? wildcardType : type.flags & 2 /* TypeFlags.Unknown */ ? neverType : @@ -61948,9 +62747,12 @@ var ts; } function getStringMappingType(symbol, type) { return type.flags & (1048576 /* TypeFlags.Union */ | 131072 /* TypeFlags.Never */) ? mapType(type, function (t) { return getStringMappingType(symbol, t); }) : - isGenericIndexType(type) ? getStringMappingTypeForGenericType(symbol, type) : - type.flags & 128 /* TypeFlags.StringLiteral */ ? getStringLiteralType(applyStringMapping(symbol, type.value)) : - type; + // Mapping> === Mapping + type.flags & 268435456 /* TypeFlags.StringMapping */ && symbol === type.symbol ? type : + isGenericIndexType(type) || isPatternLiteralPlaceholderType(type) ? getStringMappingTypeForGenericType(symbol, isPatternLiteralPlaceholderType(type) && !(type.flags & 268435456 /* TypeFlags.StringMapping */) ? getTemplateLiteralType(["", ""], [type]) : type) : + type.flags & 128 /* TypeFlags.StringLiteral */ ? getStringLiteralType(applyStringMapping(symbol, type.value)) : + type.flags & 134217728 /* TypeFlags.TemplateLiteral */ ? getTemplateLiteralType.apply(void 0, applyTemplateStringMapping(symbol, type.texts, type.types)) : + type; } function applyStringMapping(symbol, str) { switch (intrinsicTypeKinds.get(symbol.escapedName)) { @@ -61961,6 +62763,15 @@ var ts; } return str; } + function applyTemplateStringMapping(symbol, texts, types) { + switch (intrinsicTypeKinds.get(symbol.escapedName)) { + case 0 /* IntrinsicTypeKind.Uppercase */: return [texts.map(function (t) { return t.toUpperCase(); }), types.map(function (t) { return getStringMappingType(symbol, t); })]; + case 1 /* IntrinsicTypeKind.Lowercase */: return [texts.map(function (t) { return t.toLowerCase(); }), types.map(function (t) { return getStringMappingType(symbol, t); })]; + case 2 /* IntrinsicTypeKind.Capitalize */: return [texts[0] === "" ? texts : __spreadArray([texts[0].charAt(0).toUpperCase() + texts[0].slice(1)], texts.slice(1), true), texts[0] === "" ? __spreadArray([getStringMappingType(symbol, types[0])], types.slice(1), true) : types]; + case 3 /* IntrinsicTypeKind.Uncapitalize */: return [texts[0] === "" ? texts : __spreadArray([texts[0].charAt(0).toLowerCase() + texts[0].slice(1)], texts.slice(1), true), texts[0] === "" ? __spreadArray([getStringMappingType(symbol, types[0])], types.slice(1), true) : types]; + } + return [texts, types]; + } function getStringMappingTypeForGenericType(symbol, type) { var id = "".concat(getSymbolId(symbol), ",").concat(getTypeId(type)); var result = stringMappingTypes.get(id); @@ -62062,21 +62873,28 @@ var ts; getFlowTypeOfReference(accessExpression, propType) : propType; } - if (everyType(objectType, isTupleType) && ts.isNumericLiteralName(propName) && +propName >= 0) { + if (everyType(objectType, isTupleType) && ts.isNumericLiteralName(propName)) { + var index = +propName; if (accessNode && everyType(objectType, function (t) { return !t.target.hasRestElement; }) && !(accessFlags & 16 /* AccessFlags.NoTupleBoundsCheck */)) { var indexNode = getIndexNodeForAccessExpression(accessNode); if (isTupleType(objectType)) { + if (index < 0) { + error(indexNode, ts.Diagnostics.A_tuple_type_cannot_be_indexed_with_a_negative_value); + return undefinedType; + } error(indexNode, ts.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2, typeToString(objectType), getTypeReferenceArity(objectType), ts.unescapeLeadingUnderscores(propName)); } else { error(indexNode, ts.Diagnostics.Property_0_does_not_exist_on_type_1, ts.unescapeLeadingUnderscores(propName), typeToString(objectType)); } } - errorIfWritingToReadonlyIndex(getIndexInfoOfType(objectType, numberType)); - return mapType(objectType, function (t) { - var restType = getRestTypeOfTupleType(t) || undefinedType; - return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([restType, undefinedType]) : restType; - }); + if (index >= 0) { + errorIfWritingToReadonlyIndex(getIndexInfoOfType(objectType, numberType)); + return mapType(objectType, function (t) { + var restType = getRestTypeOfTupleType(t) || undefinedType; + return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([restType, undefinedType]) : restType; + }); + } } } if (!(indexType.flags & 98304 /* TypeFlags.Nullable */) && isTypeAssignableToKind(indexType, 402653316 /* TypeFlags.StringLike */ | 296 /* TypeFlags.NumberLike */ | 12288 /* TypeFlags.ESSymbolLike */)) { @@ -62202,7 +63020,7 @@ var ts; accessNode; } function isPatternLiteralPlaceholderType(type) { - return !!(type.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)); + return !!(type.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) || !!(type.flags & 268435456 /* TypeFlags.StringMapping */ && isPatternLiteralPlaceholderType(type.type)); } function isPatternLiteralType(type) { return !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */) && ts.every(type.types, isPatternLiteralPlaceholderType); @@ -62340,7 +63158,7 @@ var ts; function substituteIndexedMappedType(objectType, index) { var mapper = createTypeMapper([getTypeParameterFromMappedType(objectType)], [index]); var templateMapper = combineTypeMappers(objectType.mapper, mapper); - return instantiateType(getTemplateTypeFromMappedType(objectType), templateMapper); + return instantiateType(getTemplateTypeFromMappedType(objectType.target || objectType), templateMapper); } function getIndexedAccessType(objectType, indexType, accessFlags, accessNode, aliasSymbol, aliasTypeArguments) { if (accessFlags === void 0) { accessFlags = 0 /* AccessFlags.None */; } @@ -62488,7 +63306,7 @@ var ts; var result; var extraTypes; var tailCount = 0; - var _loop_18 = function () { + var _loop_19 = function () { if (tailCount === 1000) { error(currentNode, ts.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite); result = errorType; @@ -62609,7 +63427,7 @@ var ts; // another (or, through recursion, possibly the same) conditional type. In the potentially tail-recursive // cases we increment the tail recursion counter and stop after 1000 iterations. while (true) { - var state_5 = _loop_18(); + var state_5 = _loop_19(); if (typeof state_5 === "object") return state_5.value; if (state_5 === "break") @@ -62710,6 +63528,7 @@ var ts; } } function getTypeFromImportTypeNode(node) { + var _a; var links = getNodeLinks(node); if (!links.resolvedType) { if (node.isTypeOf && node.typeArguments) { // Only the non-typeof form can make use of type arguments @@ -62729,6 +63548,7 @@ var ts; links.resolvedSymbol = unknownSymbol; return links.resolvedType = errorType; } + var isExportEquals = !!((_a = innerModuleSymbol.exports) === null || _a === void 0 ? void 0 : _a.get("export=" /* InternalSymbolName.ExportEquals */)); var moduleSymbol = resolveExternalModuleSymbol(innerModuleSymbol, /*dontResolveAlias*/ false); if (!ts.nodeIsMissing(node.qualifier)) { var nameStack = getIdentifierChain(node.qualifier); @@ -62740,9 +63560,11 @@ var ts; // That, in turn, ultimately uses `getPropertyOfType` on the type of the symbol, which differs slightly from // the `exports` lookup process that only looks up namespace members which is used for most type references var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace)); - var next = node.isTypeOf - ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText) - : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning); + var symbolFromVariable = node.isTypeOf || ts.isInJSFile(node) && isExportEquals + ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ true) + : undefined; + var symbolFromModule = node.isTypeOf ? undefined : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning); + var next = symbolFromModule !== null && symbolFromModule !== void 0 ? symbolFromModule : symbolFromVariable; if (!next) { error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current)); return links.resolvedType = errorType; @@ -63239,7 +64061,7 @@ var ts; switch (mapper.kind) { case 0 /* TypeMapKind.Simple */: return type === mapper.source ? mapper.target : type; - case 1 /* TypeMapKind.Array */: + case 1 /* TypeMapKind.Array */: { var sources = mapper.sources; var targets = mapper.targets; for (var i = 0; i < sources.length; i++) { @@ -63248,25 +64070,39 @@ var ts; } } return type; - case 2 /* TypeMapKind.Function */: + } + case 2 /* TypeMapKind.Deferred */: { + var sources = mapper.sources; + var targets = mapper.targets; + for (var i = 0; i < sources.length; i++) { + if (type === sources[i]) { + return targets[i](); + } + } + return type; + } + case 3 /* TypeMapKind.Function */: return mapper.func(type); - case 3 /* TypeMapKind.Composite */: - case 4 /* TypeMapKind.Merged */: + case 4 /* TypeMapKind.Composite */: + case 5 /* TypeMapKind.Merged */: var t1 = getMappedType(type, mapper.mapper1); - return t1 !== type && mapper.kind === 3 /* TypeMapKind.Composite */ ? instantiateType(t1, mapper.mapper2) : getMappedType(t1, mapper.mapper2); + return t1 !== type && mapper.kind === 4 /* TypeMapKind.Composite */ ? instantiateType(t1, mapper.mapper2) : getMappedType(t1, mapper.mapper2); } } function makeUnaryTypeMapper(source, target) { - return { kind: 0 /* TypeMapKind.Simple */, source: source, target: target }; + return ts.Debug.attachDebugPrototypeIfDebug({ kind: 0 /* TypeMapKind.Simple */, source: source, target: target }); } function makeArrayTypeMapper(sources, targets) { - return { kind: 1 /* TypeMapKind.Array */, sources: sources, targets: targets }; + return ts.Debug.attachDebugPrototypeIfDebug({ kind: 1 /* TypeMapKind.Array */, sources: sources, targets: targets }); } - function makeFunctionTypeMapper(func) { - return { kind: 2 /* TypeMapKind.Function */, func: func }; + function makeFunctionTypeMapper(func, debugInfo) { + return ts.Debug.attachDebugPrototypeIfDebug({ kind: 3 /* TypeMapKind.Function */, func: func, debugInfo: ts.Debug.isDebugging ? debugInfo : undefined }); + } + function makeDeferredTypeMapper(sources, targets) { + return ts.Debug.attachDebugPrototypeIfDebug({ kind: 2 /* TypeMapKind.Deferred */, sources: sources, targets: targets }); } function makeCompositeTypeMapper(kind, mapper1, mapper2) { - return { kind: kind, mapper1: mapper1, mapper2: mapper2 }; + return ts.Debug.attachDebugPrototypeIfDebug({ kind: kind, mapper1: mapper1, mapper2: mapper2 }); } function createTypeEraser(sources) { return createTypeMapper(sources, /*targets*/ undefined); @@ -63276,19 +64112,20 @@ var ts; * This is used during inference when instantiating type parameter defaults. */ function createBackreferenceMapper(context, index) { - return makeFunctionTypeMapper(function (t) { return ts.findIndex(context.inferences, function (info) { return info.typeParameter === t; }) >= index ? unknownType : t; }); + var forwardInferences = context.inferences.slice(index); + return createTypeMapper(ts.map(forwardInferences, function (i) { return i.typeParameter; }), ts.map(forwardInferences, function () { return unknownType; })); } function combineTypeMappers(mapper1, mapper2) { - return mapper1 ? makeCompositeTypeMapper(3 /* TypeMapKind.Composite */, mapper1, mapper2) : mapper2; + return mapper1 ? makeCompositeTypeMapper(4 /* TypeMapKind.Composite */, mapper1, mapper2) : mapper2; } function mergeTypeMappers(mapper1, mapper2) { - return mapper1 ? makeCompositeTypeMapper(4 /* TypeMapKind.Merged */, mapper1, mapper2) : mapper2; + return mapper1 ? makeCompositeTypeMapper(5 /* TypeMapKind.Merged */, mapper1, mapper2) : mapper2; } function prependTypeMapping(source, target, mapper) { - return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(4 /* TypeMapKind.Merged */, makeUnaryTypeMapper(source, target), mapper); + return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(5 /* TypeMapKind.Merged */, makeUnaryTypeMapper(source, target), mapper); } function appendTypeMapping(mapper, source, target) { - return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(4 /* TypeMapKind.Merged */, mapper, makeUnaryTypeMapper(source, target)); + return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(5 /* TypeMapKind.Merged */, mapper, makeUnaryTypeMapper(source, target)); } function getRestrictiveTypeParameter(tp) { return tp.constraint === unknownType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol), @@ -63554,6 +64391,7 @@ var ts; result.mapper = mapper; result.aliasSymbol = aliasSymbol || type.aliasSymbol; result.aliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(type.aliasTypeArguments, mapper); + result.objectFlags |= result.aliasTypeArguments ? getPropagatingFlagsOfTypes(result.aliasTypeArguments) : 0; return result; } function getConditionalTypeInstantiation(type, mapper, aliasSymbol, aliasTypeArguments) { @@ -64202,7 +65040,7 @@ var ts; }); } function elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer) { - if (target.flags & 131068 /* TypeFlags.Primitive */) + if (target.flags & (131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) return false; if (isTupleLikeType(source)) { return elaborateElementwise(generateLimitedTupleElements(node, target), source, target, relation, containingMessageChain, errorOutputContainer); @@ -64269,7 +65107,7 @@ var ts; }); } function elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer) { - if (target.flags & 131068 /* TypeFlags.Primitive */) + if (target.flags & (131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) return false; return elaborateElementwise(generateObjectLiteralElements(node), source, target, relation, containingMessageChain, errorOutputContainer); } @@ -64356,7 +65194,7 @@ var ts; var sourceSig = checkMode & 3 /* SignatureCheckMode.Callback */ ? undefined : getSingleCallSignature(getNonNullableType(sourceType)); var targetSig = checkMode & 3 /* SignatureCheckMode.Callback */ ? undefined : getSingleCallSignature(getNonNullableType(targetType)); var callbacks = sourceSig && targetSig && !getTypePredicateOfSignature(sourceSig) && !getTypePredicateOfSignature(targetSig) && - (getFalsyFlags(sourceType) & 98304 /* TypeFlags.Nullable */) === (getFalsyFlags(targetType) & 98304 /* TypeFlags.Nullable */); + (getTypeFacts(sourceType) & 50331648 /* TypeFacts.IsUndefinedOrNull */) === (getTypeFacts(targetType) & 50331648 /* TypeFacts.IsUndefinedOrNull */); var related = callbacks ? compareSignaturesRelated(targetSig, sourceSig, (checkMode & 8 /* SignatureCheckMode.StrictArity */) | (strictVariance ? 2 /* SignatureCheckMode.StrictCallback */ : 1 /* SignatureCheckMode.BivariantCallback */), reportErrors, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) : !(checkMode & 3 /* SignatureCheckMode.Callback */) && !strictVariance && compareTypes(sourceType, targetType, /*reportErrors*/ false) || compareTypes(targetType, sourceType, reportErrors); @@ -64468,6 +65306,20 @@ var ts; return !!(ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */ && (type.members && isEmptyResolvedType(type) || type.symbol && type.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */ && getMembersOfSymbol(type.symbol).size === 0)); } + function isUnknownLikeUnionType(type) { + if (strictNullChecks && type.flags & 1048576 /* TypeFlags.Union */) { + if (!(type.objectFlags & 33554432 /* ObjectFlags.IsUnknownLikeUnionComputed */)) { + var types = type.types; + type.objectFlags |= 33554432 /* ObjectFlags.IsUnknownLikeUnionComputed */ | (types.length >= 3 && types[0].flags & 32768 /* TypeFlags.Undefined */ && + types[1].flags & 65536 /* TypeFlags.Null */ && ts.some(types, isEmptyAnonymousObjectType) ? 67108864 /* ObjectFlags.IsUnknownLikeUnion */ : 0); + } + return !!(type.objectFlags & 67108864 /* ObjectFlags.IsUnknownLikeUnion */); + } + return false; + } + function containsUndefinedType(type) { + return !!((type.flags & 1048576 /* TypeFlags.Union */ ? type.types[0] : type).flags & 32768 /* TypeFlags.Undefined */); + } function isStringIndexSignatureOnlyType(type) { return type.flags & 524288 /* TypeFlags.Object */ && !isGenericMappedType(type) && getPropertiesOfType(type).length === 0 && getIndexInfosOfType(type).length === 1 && !!getIndexInfoOfType(type, stringType) || type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ && ts.every(type.types, isStringIndexSignatureOnlyType) || @@ -64547,7 +65399,7 @@ var ts; return true; if (s & 65536 /* TypeFlags.Null */ && (!strictNullChecks && !(t & 3145728 /* TypeFlags.UnionOrIntersection */) || t & 65536 /* TypeFlags.Null */)) return true; - if (s & 524288 /* TypeFlags.Object */ && t & 67108864 /* TypeFlags.NonPrimitive */) + if (s & 524288 /* TypeFlags.Object */ && t & 67108864 /* TypeFlags.NonPrimitive */ && !(relation === strictSubtypeRelation && isEmptyAnonymousObjectType(source) && !(ts.getObjectFlags(source) & 8192 /* ObjectFlags.FreshLiteral */))) return true; if (relation === assignableRelation || relation === comparableRelation) { if (s & 1 /* TypeFlags.Any */) @@ -64557,6 +65409,9 @@ var ts; // bit-flag enum types sometimes look like literal enum types with numeric literal values. if (s & (8 /* TypeFlags.Number */ | 256 /* TypeFlags.NumberLiteral */) && !(s & 1024 /* TypeFlags.EnumLiteral */) && (t & 32 /* TypeFlags.Enum */ || relation === assignableRelation && t & 256 /* TypeFlags.NumberLiteral */ && t & 1024 /* TypeFlags.EnumLiteral */)) return true; + // Anything is assignable to a union containing undefined, null, and {} + if (isUnknownLikeUnionType(target)) + return true; } return false; } @@ -64599,16 +65454,27 @@ var ts; function getNormalizedType(type, writing) { while (true) { var t = isFreshLiteralType(type) ? type.regularType : - ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ && type.node ? createTypeReference(type.target, getTypeArguments(type)) : - type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? getReducedType(type) : + ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ ? type.node ? createTypeReference(type.target, getTypeArguments(type)) : getSingleBaseForNonAugmentingSubtype(type) || type : + type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? getNormalizedUnionOrIntersectionType(type, writing) : type.flags & 33554432 /* TypeFlags.Substitution */ ? writing ? type.baseType : type.substitute : type.flags & 25165824 /* TypeFlags.Simplifiable */ ? getSimplifiedType(type, writing) : type; - t = getSingleBaseForNonAugmentingSubtype(t) || t; if (t === type) - break; + return t; type = t; } + } + function getNormalizedUnionOrIntersectionType(type, writing) { + var reduced = getReducedType(type); + if (reduced !== type) { + return reduced; + } + if (type.flags & 2097152 /* TypeFlags.Intersection */) { + var normalizedTypes = ts.sameMap(type.types, function (t) { return getNormalizedType(t, writing); }); + if (normalizedTypes !== type.types) { + return getIntersectionType(normalizedTypes); + } + } return type; } /** @@ -64840,7 +65706,7 @@ var ts; ts.Debug.assert(!isTypeAssignableTo(generalizedSource, target), "generalized source shouldn't be assignable"); generalizedSourceType = getTypeNameForErrorDisplay(generalizedSource); } - if (target.flags & 262144 /* TypeFlags.TypeParameter */ && target !== markerSuperType && target !== markerSubType) { + if (target.flags & 262144 /* TypeFlags.TypeParameter */ && target !== markerSuperTypeForCheck && target !== markerSubTypeForCheck) { var constraint = getBaseConstraintOfType(target); var needsOriginalSource = void 0; if (constraint && (isTypeAssignableTo(generalizedSource, constraint) || (needsOriginalSource = isTypeAssignableTo(source, constraint)))) { @@ -65055,6 +65921,7 @@ var ts; return 0 /* Ternary.False */; } function reportErrorResults(originalSource, originalTarget, source, target, headMessage) { + var _a, _b; var sourceHasBase = !!getSingleBaseForNonAugmentingSubtype(originalSource); var targetHasBase = !!getSingleBaseForNonAugmentingSubtype(originalTarget); source = (originalSource.aliasSymbol || sourceHasBase) ? originalSource : source; @@ -65095,6 +65962,14 @@ var ts; return; } reportRelationError(headMessage, source, target); + if (source.flags & 262144 /* TypeFlags.TypeParameter */ && ((_b = (_a = source.symbol) === null || _a === void 0 ? void 0 : _a.declarations) === null || _b === void 0 ? void 0 : _b[0]) && !getConstraintOfType(source)) { + var syntheticParam = cloneTypeParameter(source); + syntheticParam.constraint = instantiateType(target, makeUnaryTypeMapper(source, syntheticParam)); + if (hasNonCircularBaseConstraint(syntheticParam)) { + var targetConstraintString = typeToString(target, source.symbol.declarations[0]); + associateRelatedInfo(ts.createDiagnosticForNode(source.symbol.declarations[0], ts.Diagnostics.This_type_parameter_might_need_an_extends_0_constraint, targetConstraintString)); + } + } } function traceUnionsOrIntersectionsTooLarge(source, target) { if (!ts.tracing) { @@ -65147,7 +66022,7 @@ var ts; reducedTarget = findMatchingDiscriminantType(source, target, isRelatedTo) || filterPrimitivesIfContainsNonPrimitive(target); checkTypes = reducedTarget.flags & 1048576 /* TypeFlags.Union */ ? reducedTarget.types : [reducedTarget]; } - var _loop_19 = function (prop) { + var _loop_20 = function (prop) { if (shouldCheckAsExcessProperty(prop, source.symbol) && !isIgnoredJsxProperty(source, prop)) { if (!isKnownProperty(reducedTarget, prop.escapedName, isComparingJsxAttributes)) { if (reportErrors) { @@ -65210,7 +66085,7 @@ var ts; }; for (var _i = 0, _b = getPropertiesOfType(source); _i < _b.length; _i++) { var prop = _b[_i]; - var state_6 = _loop_19(prop); + var state_6 = _loop_20(prop); if (typeof state_6 === "object") return state_6.value; } @@ -65232,7 +66107,7 @@ var ts; return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(source), target, reportErrors && !(source.flags & 131068 /* TypeFlags.Primitive */) && !(target.flags & 131068 /* TypeFlags.Primitive */)); } if (target.flags & 2097152 /* TypeFlags.Intersection */) { - return typeRelatedToEachType(getRegularTypeOfObjectLiteral(source), target, reportErrors, 2 /* IntersectionState.Target */); + return typeRelatedToEachType(source, target, reportErrors, 2 /* IntersectionState.Target */); } // Source is an intersection. For the comparable relation, if the target is a primitive type we hoist the // constraints of all non-primitive types in the source into a new intersection. We do this because the @@ -65442,10 +66317,10 @@ var ts; // We're in the middle of variance checking - integrate any unmeasurable/unreliable flags from this cached component var saved = entry & 24 /* RelationComparisonResult.ReportsMask */; if (saved & 8 /* RelationComparisonResult.ReportsUnmeasurable */) { - instantiateType(source, makeFunctionTypeMapper(reportUnmeasurableMarkers)); + instantiateType(source, reportUnmeasurableMapper); } if (saved & 16 /* RelationComparisonResult.ReportsUnreliable */) { - instantiateType(source, makeFunctionTypeMapper(reportUnreliableMarkers)); + instantiateType(source, reportUnreliableMapper); } } return entry & 1 /* RelationComparisonResult.Succeeded */ ? -1 /* Ternary.True */ : 0 /* Ternary.False */; @@ -65545,13 +66420,40 @@ var ts; return result; } function structuredTypeRelatedTo(source, target, reportErrors, intersectionState) { + var saveErrorInfo = captureErrorCalculationState(); + var result = structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState, saveErrorInfo); + if (!result && (source.flags & 2097152 /* TypeFlags.Intersection */ || source.flags & 262144 /* TypeFlags.TypeParameter */ && target.flags & 1048576 /* TypeFlags.Union */)) { + // The combined constraint of an intersection type is the intersection of the constraints of + // the constituents. When an intersection type contains instantiable types with union type + // constraints, there are situations where we need to examine the combined constraint. One is + // when the target is a union type. Another is when the intersection contains types belonging + // to one of the disjoint domains. For example, given type variables T and U, each with the + // constraint 'string | number', the combined constraint of 'T & U' is 'string | number' and + // we need to check this constraint against a union on the target side. Also, given a type + // variable V constrained to 'string | number', 'V & number' has a combined constraint of + // 'string & number | number & number' which reduces to just 'number'. + // This also handles type parameters, as a type parameter with a union constraint compared against a union + // needs to have its constraint hoisted into an intersection with said type parameter, this way + // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) + // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` + var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* TypeFlags.Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* TypeFlags.Union */)); + if (constraint && everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself + // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this + result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); + } + } + if (result) { + resetErrorInfo(saveErrorInfo); + } + return result; + } + function structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState, saveErrorInfo) { if (intersectionState & 4 /* IntersectionState.PropertyCheck */) { return propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, 0 /* IntersectionState.None */); } var result; var originalErrorInfo; var varianceCheckFailed = false; - var saveErrorInfo = captureErrorCalculationState(); var sourceFlags = source.flags; var targetFlags = target.flags; if (relation === identityRelation) { @@ -65597,29 +66499,6 @@ var ts; if (result = unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState)) { return result; } - if (source.flags & 2097152 /* TypeFlags.Intersection */ || source.flags & 262144 /* TypeFlags.TypeParameter */ && target.flags & 1048576 /* TypeFlags.Union */) { - // The combined constraint of an intersection type is the intersection of the constraints of - // the constituents. When an intersection type contains instantiable types with union type - // constraints, there are situations where we need to examine the combined constraint. One is - // when the target is a union type. Another is when the intersection contains types belonging - // to one of the disjoint domains. For example, given type variables T and U, each with the - // constraint 'string | number', the combined constraint of 'T & U' is 'string | number' and - // we need to check this constraint against a union on the target side. Also, given a type - // variable V constrained to 'string | number', 'V & number' has a combined constraint of - // 'string & number | number & number' which reduces to just 'number'. - // This also handles type parameters, as a type parameter with a union constraint compared against a union - // needs to have its constraint hoisted into an intersection with said type parameter, this way - // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) - // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` - var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* TypeFlags.Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* TypeFlags.Union */)); - if (constraint && everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself - // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this - if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { - resetErrorInfo(saveErrorInfo); - return result; - } - } - } // The ordered decomposition above doesn't handle all cases. Specifically, we also need to handle: // Source is instantiable (e.g. source has union or intersection constraint). // Source is an object, target is a union (e.g. { a, b: boolean } <=> { a, b: true } | { a, b: false }). @@ -65663,6 +66542,20 @@ var ts; } } } + if (relation === comparableRelation && sourceFlags & 262144 /* TypeFlags.TypeParameter */) { + // This is a carve-out in comparability to essentially forbid comparing a type parameter + // with another type parameter unless one extends the other. (Remember: comparability is mostly bidirectional!) + var constraint = getConstraintOfTypeParameter(source); + if (constraint && hasNonCircularBaseConstraint(source)) { + while (constraint && constraint.flags & 262144 /* TypeFlags.TypeParameter */) { + if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false)) { + return result; + } + constraint = getConstraintOfTypeParameter(constraint); + } + } + return 0 /* Ternary.False */; + } } else if (targetFlags & 4194304 /* TypeFlags.Index */) { var targetType_1 = target.type; @@ -65726,7 +66619,6 @@ var ts; result &= isRelatedTo(source.indexType, target.indexType, 3 /* RecursionFlags.Both */, reportErrors); } if (result) { - resetErrorInfo(saveErrorInfo); return result; } if (reportErrors) { @@ -65829,7 +66721,6 @@ var ts; // If we reach 10 levels of nesting for the same conditional type, assume it is an infinitely expanding recursive // conditional type and bail out with a Ternary.Maybe result. if (isDeeplyNestedType(target, targetStack, targetDepth, 10)) { - resetErrorInfo(saveErrorInfo); return 3 /* Ternary.Maybe */; } var c = target; @@ -65844,7 +66735,6 @@ var ts; if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) { result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false); if (result) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65857,31 +66747,29 @@ var ts; } // Report unreliable variance for type variables referenced in template literal type placeholders. // For example, `foo-${number}` is related to `foo-${string}` even though number isn't related to string. - instantiateType(source, makeFunctionTypeMapper(reportUnreliableMarkers)); + instantiateType(source, reportUnreliableMapper); } if (isTypeMatchedByTemplateLiteralType(source, target)) { return -1 /* Ternary.True */; } } + else if (target.flags & 268435456 /* TypeFlags.StringMapping */) { + if (!(source.flags & 268435456 /* TypeFlags.StringMapping */)) { + if (isMemberOfStringMapping(source, target)) { + return -1 /* Ternary.True */; + } + } + } if (sourceFlags & 8650752 /* TypeFlags.TypeVariable */) { // IndexedAccess comparisons are handled above in the `targetFlags & TypeFlage.IndexedAccess` branch if (!(sourceFlags & 8388608 /* TypeFlags.IndexedAccess */ && targetFlags & 8388608 /* TypeFlags.IndexedAccess */)) { - var constraint = getConstraintOfType(source); - if (!constraint || (sourceFlags & 262144 /* TypeFlags.TypeParameter */ && constraint.flags & 1 /* TypeFlags.Any */)) { - // A type variable with no constraint is not related to the non-primitive object type. - if (result = isRelatedTo(emptyObjectType, extractTypesOfKind(target, ~67108864 /* TypeFlags.NonPrimitive */), 3 /* RecursionFlags.Both */)) { - resetErrorInfo(saveErrorInfo); - return result; - } - } + var constraint = getConstraintOfType(source) || unknownType; // hi-speed no-this-instantiation check (less accurate, but avoids costly `this`-instantiation when the constraint will suffice), see #28231 for report on why this is needed - else if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { - resetErrorInfo(saveErrorInfo); + if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { return result; } // slower, fuller, this-instantiated check (necessary when comparing raw `this` types from base classes), see `subclassWithPolymorphicThisIsAssignable.ts` test for example - else if (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* RecursionFlags.Source */, reportErrors && !(targetFlags & sourceFlags & 262144 /* TypeFlags.TypeParameter */), /*headMessage*/ undefined, intersectionState)) { - resetErrorInfo(saveErrorInfo); + else if (result = isRelatedTo(getTypeWithThisArgument(constraint, source), target, 1 /* RecursionFlags.Source */, reportErrors && constraint !== unknownType && !(targetFlags & sourceFlags & 262144 /* TypeFlags.TypeParameter */), /*headMessage*/ undefined, intersectionState)) { return result; } if (isMappedTypeGenericIndexedAccess(source)) { @@ -65890,7 +66778,6 @@ var ts; var indexConstraint = getConstraintOfType(source.indexType); if (indexConstraint) { if (result = isRelatedTo(getIndexedAccessType(source.objectType, indexConstraint), target, 1 /* RecursionFlags.Source */, reportErrors)) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65899,7 +66786,6 @@ var ts; } else if (sourceFlags & 4194304 /* TypeFlags.Index */) { if (result = isRelatedTo(keyofConstraintType, target, 1 /* RecursionFlags.Source */, reportErrors)) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65907,22 +66793,22 @@ var ts; if (!(targetFlags & 134217728 /* TypeFlags.TemplateLiteral */)) { var constraint = getBaseConstraintOfType(source); if (constraint && constraint !== source && (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, reportErrors))) { - resetErrorInfo(saveErrorInfo); return result; } } } else if (sourceFlags & 268435456 /* TypeFlags.StringMapping */) { - if (targetFlags & 268435456 /* TypeFlags.StringMapping */ && source.symbol === target.symbol) { + if (targetFlags & 268435456 /* TypeFlags.StringMapping */) { + if (source.symbol !== target.symbol) { + return 0 /* Ternary.False */; + } if (result = isRelatedTo(source.type, target.type, 3 /* RecursionFlags.Both */, reportErrors)) { - resetErrorInfo(saveErrorInfo); return result; } } else { var constraint = getBaseConstraintOfType(source); if (constraint && (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, reportErrors))) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65931,7 +66817,6 @@ var ts; // If we reach 10 levels of nesting for the same conditional type, assume it is an infinitely expanding recursive // conditional type and bail out with a Ternary.Maybe result. if (isDeeplyNestedType(source, sourceStack, sourceDepth, 10)) { - resetErrorInfo(saveErrorInfo); return 3 /* Ternary.Maybe */; } if (targetFlags & 16777216 /* TypeFlags.Conditional */) { @@ -65954,7 +66839,6 @@ var ts; result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), 3 /* RecursionFlags.Both */, reportErrors); } if (result) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65965,7 +66849,6 @@ var ts; var distributiveConstraint = hasNonCircularBaseConstraint(source) ? getConstraintOfDistributiveConditionalType(source) : undefined; if (distributiveConstraint) { if (result = isRelatedTo(distributiveConstraint, target, 1 /* RecursionFlags.Source */, reportErrors)) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65975,7 +66858,6 @@ var ts; var defaultConstraint = getDefaultConstraintOfConditionalType(source); if (defaultConstraint) { if (result = isRelatedTo(defaultConstraint, target, 1 /* RecursionFlags.Source */, reportErrors)) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -65988,7 +66870,6 @@ var ts; if (isGenericMappedType(target)) { if (isGenericMappedType(source)) { if (result = mappedTypeRelatedTo(source, target, reportErrors)) { - resetErrorInfo(saveErrorInfo); return result; } } @@ -66126,18 +67007,6 @@ var ts; } } } - function reportUnmeasurableMarkers(p) { - if (outofbandVarianceMarkerHandler && (p === markerSuperType || p === markerSubType || p === markerOtherType)) { - outofbandVarianceMarkerHandler(/*onlyUnreliable*/ false); - } - return p; - } - function reportUnreliableMarkers(p) { - if (outofbandVarianceMarkerHandler && (p === markerSuperType || p === markerSubType || p === markerOtherType)) { - outofbandVarianceMarkerHandler(/*onlyUnreliable*/ true); - } - return p; - } // A type [P in S]: X is related to a type [Q in T]: Y if T is related to S and X' is // related to Y, where X' is an instantiation of X in which P is replaced with Q. Notice // that S and T are contra-variant whereas X and Y are co-variant. @@ -66147,7 +67016,7 @@ var ts; if (modifiersRelated) { var result_10; var targetConstraint = getConstraintTypeFromMappedType(target); - var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), makeFunctionTypeMapper(getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMarkers : reportUnreliableMarkers)); + var sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper); if (result_10 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* RecursionFlags.Both */, reportErrors)) { var mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]); if (instantiateType(getNameTypeFromMappedType(source), mapper) === instantiateType(getNameTypeFromMappedType(target), mapper)) { @@ -66201,11 +67070,11 @@ var ts; // constituents of 'target'. If any combination does not have a match then 'source' is not relatable. var discriminantCombinations = ts.cartesianProduct(sourceDiscriminantTypes); var matchingTypes = []; - var _loop_20 = function (combination) { + var _loop_21 = function (combination) { var hasMatch = false; outer: for (var _c = 0, _d = target.types; _c < _d.length; _c++) { var type = _d[_c]; - var _loop_21 = function (i) { + var _loop_22 = function (i) { var sourceProperty = sourcePropertiesFiltered[i]; var targetProperty = getPropertyOfType(type, sourceProperty.escapedName); if (!targetProperty) @@ -66221,7 +67090,7 @@ var ts; } }; for (var i = 0; i < sourcePropertiesFiltered.length; i++) { - var state_8 = _loop_21(i); + var state_8 = _loop_22(i); switch (state_8) { case "continue-outer": continue outer; } @@ -66235,7 +67104,7 @@ var ts; }; for (var _a = 0, discriminantCombinations_1 = discriminantCombinations; _a < discriminantCombinations_1.length; _a++) { var combination = discriminantCombinations_1[_a]; - var state_7 = _loop_20(combination); + var state_7 = _loop_21(combination); if (typeof state_7 === "object") return state_7.value; } @@ -66683,7 +67552,7 @@ var ts; * See signatureAssignableTo, compareSignaturesIdentical */ function signatureRelatedTo(source, target, erase, reportErrors, incompatibleReporter) { - return compareSignaturesRelated(erase ? getErasedSignature(source) : source, erase ? getErasedSignature(target) : target, relation === strictSubtypeRelation ? 8 /* SignatureCheckMode.StrictArity */ : 0, reportErrors, reportError, incompatibleReporter, isRelatedToWorker, makeFunctionTypeMapper(reportUnreliableMarkers)); + return compareSignaturesRelated(erase ? getErasedSignature(source) : source, erase ? getErasedSignature(target) : target, relation === strictSubtypeRelation ? 8 /* SignatureCheckMode.StrictArity */ : 0, reportErrors, reportError, incompatibleReporter, isRelatedToWorker, reportUnreliableMapper); } function signaturesIdenticalTo(source, target, kind) { var sourceSignatures = getSignaturesOfType(source, kind); @@ -66838,7 +67707,7 @@ var ts; return typeCouldHaveTopLevelSingletonTypes(constraint); } } - return isUnitType(type) || !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */); + return isUnitType(type) || !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */) || !!(type.flags & 268435456 /* TypeFlags.StringMapping */); } function getExactOptionalUnassignableProperties(source, target) { if (isTupleType(source) && isTupleType(target)) @@ -66942,7 +67811,7 @@ var ts; ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* tracing.Phase.CheckTypes */, "getVariancesWorker", { arity: typeParameters.length, id: getTypeId(getDeclaredTypeOfSymbol(symbol)) }); links.variances = ts.emptyArray; var variances = []; - var _loop_22 = function (tp) { + var _loop_23 = function (tp) { var modifiers = getVarianceModifiers(tp); var variance = modifiers & 65536 /* ModifierFlags.Out */ ? modifiers & 32768 /* ModifierFlags.In */ ? 0 /* VarianceFlags.Invariant */ : 1 /* VarianceFlags.Covariant */ : @@ -66978,12 +67847,12 @@ var ts; } variances.push(variance); }; - for (var _i = 0, typeParameters_1 = typeParameters; _i < typeParameters_1.length; _i++) { - var tp = typeParameters_1[_i]; - _loop_22(tp); + for (var _i = 0, typeParameters_2 = typeParameters; _i < typeParameters_2.length; _i++) { + var tp = typeParameters_2[_i]; + _loop_23(tp); } links.variances = variances; - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop({ variances: variances.map(ts.Debug.formatVariance) }); } return links.variances; } @@ -67321,35 +68190,33 @@ var ts; var commonBaseType; for (var _i = 0, types_13 = types; _i < types_13.length; _i++) { var t = types_13[_i]; - var baseType = getBaseTypeOfLiteralType(t); - if (!commonBaseType) { - commonBaseType = baseType; - } - if (baseType === t || baseType !== commonBaseType) { - return false; + if (!(t.flags & 131072 /* TypeFlags.Never */)) { + var baseType = getBaseTypeOfLiteralType(t); + commonBaseType !== null && commonBaseType !== void 0 ? commonBaseType : (commonBaseType = baseType); + if (baseType === t || baseType !== commonBaseType) { + return false; + } } } return true; } - // When the candidate types are all literal types with the same base type, return a union - // of those literal types. Otherwise, return the leftmost type for which no type to the - // right is a supertype. - function getSupertypeOrUnion(types) { - if (types.length === 1) { - return types[0]; - } - return literalTypesWithSameBaseType(types) ? - getUnionType(types) : - ts.reduceLeft(types, function (s, t) { return isTypeSubtypeOf(s, t) ? t : s; }); + function getCombinedTypeFlags(types) { + return ts.reduceLeft(types, function (flags, t) { return flags | (t.flags & 1048576 /* TypeFlags.Union */ ? getCombinedTypeFlags(t.types) : t.flags); }, 0); } function getCommonSupertype(types) { - if (!strictNullChecks) { - return getSupertypeOrUnion(types); + if (types.length === 1) { + return types[0]; } - var primaryTypes = ts.filter(types, function (t) { return !(t.flags & 98304 /* TypeFlags.Nullable */); }); - return primaryTypes.length ? - getNullableType(getSupertypeOrUnion(primaryTypes), getFalsyFlagsOfTypes(types) & 98304 /* TypeFlags.Nullable */) : - getUnionType(types, 2 /* UnionReduction.Subtype */); + // Remove nullable types from each of the candidates. + var primaryTypes = strictNullChecks ? ts.sameMap(types, function (t) { return filterType(t, function (u) { return !(u.flags & 98304 /* TypeFlags.Nullable */); }); }) : types; + // When the candidate types are all literal types with the same base type, return a union + // of those literal types. Otherwise, return the leftmost type for which no type to the + // right is a supertype. + var superTypeOrUnion = literalTypesWithSameBaseType(primaryTypes) ? + getUnionType(primaryTypes) : + ts.reduceLeft(primaryTypes, function (s, t) { return isTypeSubtypeOf(s, t) ? t : s; }); + // Add any nullable types that occurred in the candidates back to the result. + return primaryTypes === types ? superTypeOrUnion : getNullableType(superTypeOrUnion, getCombinedTypeFlags(types) & 98304 /* TypeFlags.Nullable */); } // Return the leftmost type for which no type to the right is a subtype. function getCommonSubtype(types) { @@ -67453,9 +68320,14 @@ var ts; type.flags & 256 /* TypeFlags.NumberLiteral */ ? numberType : type.flags & 2048 /* TypeFlags.BigIntLiteral */ ? bigintType : type.flags & 512 /* TypeFlags.BooleanLiteral */ ? booleanType : - type.flags & 1048576 /* TypeFlags.Union */ ? mapType(type, getBaseTypeOfLiteralType) : + type.flags & 1048576 /* TypeFlags.Union */ ? getBaseTypeOfLiteralTypeUnion(type) : type; } + function getBaseTypeOfLiteralTypeUnion(type) { + var _a; + var key = "B".concat(getTypeId(type)); + return (_a = getCachedType(key)) !== null && _a !== void 0 ? _a : setCachedType(key, mapType(type, getBaseTypeOfLiteralType)); + } function getWidenedLiteralType(type) { return type.flags & 1024 /* TypeFlags.EnumLiteral */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLiteralType(type) : type.flags & 128 /* TypeFlags.StringLiteral */ && isFreshLiteralType(type) ? stringType : @@ -67536,29 +68408,8 @@ var ts; var value = _a.value; return value.base10Value === "0"; } - function getFalsyFlagsOfTypes(types) { - var result = 0; - for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { - var t = types_14[_i]; - result |= getFalsyFlags(t); - } - return result; - } - // Returns the String, Number, Boolean, StringLiteral, NumberLiteral, BooleanLiteral, Void, Undefined, or Null - // flags for the string, number, boolean, "", 0, false, void, undefined, or null types respectively. Returns - // no flags for all other types (including non-falsy literal types). - function getFalsyFlags(type) { - return type.flags & 1048576 /* TypeFlags.Union */ ? getFalsyFlagsOfTypes(type.types) : - type.flags & 128 /* TypeFlags.StringLiteral */ ? type.value === "" ? 128 /* TypeFlags.StringLiteral */ : 0 : - type.flags & 256 /* TypeFlags.NumberLiteral */ ? type.value === 0 ? 256 /* TypeFlags.NumberLiteral */ : 0 : - type.flags & 2048 /* TypeFlags.BigIntLiteral */ ? isZeroBigInt(type) ? 2048 /* TypeFlags.BigIntLiteral */ : 0 : - type.flags & 512 /* TypeFlags.BooleanLiteral */ ? (type === falseType || type === regularFalseType) ? 512 /* TypeFlags.BooleanLiteral */ : 0 : - type.flags & 117724 /* TypeFlags.PossiblyFalsy */; - } function removeDefinitelyFalsyTypes(type) { - return getFalsyFlags(type) & 117632 /* TypeFlags.DefinitelyFalsy */ ? - filterType(type, function (t) { return !(getFalsyFlags(t) & 117632 /* TypeFlags.DefinitelyFalsy */); }) : - type; + return filterType(type, function (t) { return !!(getTypeFacts(t) & 4194304 /* TypeFacts.Truthy */); }); } function extractDefinitelyFalsyTypes(type) { return mapType(type, getDefinitelyFalsyPartOfType); @@ -67593,20 +68444,15 @@ var ts; return type.flags & 32768 /* TypeFlags.Undefined */ ? type : getUnionType([type, isProperty ? missingType : undefinedType]); } function getGlobalNonNullableTypeInstantiation(type) { - // First reduce away any constituents that are assignable to 'undefined' or 'null'. This not only eliminates - // 'undefined' and 'null', but also higher-order types such as a type parameter 'U extends undefined | null' - // that isn't eliminated by a NonNullable instantiation. - var reducedType = getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); if (!deferredGlobalNonNullableTypeAlias) { deferredGlobalNonNullableTypeAlias = getGlobalSymbol("NonNullable", 524288 /* SymbolFlags.TypeAlias */, /*diagnostic*/ undefined) || unknownSymbol; } - // If the NonNullable type is available, return an instantiation. Otherwise just return the reduced type. return deferredGlobalNonNullableTypeAlias !== unknownSymbol ? - getTypeAliasInstantiation(deferredGlobalNonNullableTypeAlias, [reducedType]) : - reducedType; + getTypeAliasInstantiation(deferredGlobalNonNullableTypeAlias, [type]) : + getIntersectionType([type, emptyObjectType]); } function getNonNullableType(type) { - return strictNullChecks ? getGlobalNonNullableTypeInstantiation(type) : type; + return strictNullChecks ? getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */) : type; } function addOptionalTypeMarker(type) { return strictNullChecks ? getUnionType([type, optionalType]) : type; @@ -67660,12 +68506,13 @@ var ts; * with no call or construct signatures. */ function isObjectTypeWithInferableIndex(type) { + var objectFlags = ts.getObjectFlags(type); return type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.every(type.types, isObjectTypeWithInferableIndex) : !!(type.symbol && (type.symbol.flags & (4096 /* SymbolFlags.ObjectLiteral */ | 2048 /* SymbolFlags.TypeLiteral */ | 384 /* SymbolFlags.Enum */ | 512 /* SymbolFlags.ValueModule */)) !== 0 && !(type.symbol.flags & 32 /* SymbolFlags.Class */) - && !typeHasCallOrConstructSignatures(type)) || !!(ts.getObjectFlags(type) & 1024 /* ObjectFlags.ReverseMapped */ && isObjectTypeWithInferableIndex(type.source)); + && !typeHasCallOrConstructSignatures(type)) || !!(objectFlags & 4194304 /* ObjectFlags.ObjectRestType */) || !!(objectFlags & 1024 /* ObjectFlags.ReverseMapped */ && isObjectTypeWithInferableIndex(type.source)); } function createSymbolWithType(source, type) { var symbol = createSymbol(source.flags, source.escapedName, ts.getCheckFlags(source) & 8 /* CheckFlags.Readonly */); @@ -67998,27 +68845,29 @@ var ts; signature: signature, flags: flags, compareTypes: compareTypes, - mapper: makeFunctionTypeMapper(function (t) { return mapToInferredType(context, t, /*fix*/ true); }), - nonFixingMapper: makeFunctionTypeMapper(function (t) { return mapToInferredType(context, t, /*fix*/ false); }), + mapper: reportUnmeasurableMapper, + nonFixingMapper: reportUnmeasurableMapper, }; + context.mapper = makeFixingMapperForContext(context); + context.nonFixingMapper = makeNonFixingMapperForContext(context); return context; } - function mapToInferredType(context, t, fix) { - var inferences = context.inferences; - for (var i = 0; i < inferences.length; i++) { - var inference = inferences[i]; - if (t === inference.typeParameter) { - if (fix && !inference.isFixed) { - // Before we commit to a particular inference (and thus lock out any further inferences), - // we infer from any intra-expression inference sites we have collected. - inferFromIntraExpressionSites(context); - clearCachedInferences(inferences); - inference.isFixed = true; - } - return getInferredType(context, i); + function makeFixingMapperForContext(context) { + return makeDeferredTypeMapper(ts.map(context.inferences, function (i) { return i.typeParameter; }), ts.map(context.inferences, function (inference, i) { return function () { + if (!inference.isFixed) { + // Before we commit to a particular inference (and thus lock out any further inferences), + // we infer from any intra-expression inference sites we have collected. + inferFromIntraExpressionSites(context); + clearCachedInferences(context.inferences); + inference.isFixed = true; } - } - return t; + return getInferredType(context, i); + }; })); + } + function makeNonFixingMapperForContext(context) { + return makeDeferredTypeMapper(ts.map(context.inferences, function (i) { return i.typeParameter; }), ts.map(context.inferences, function (_, i) { return function () { + return getInferredType(context, i); + }; })); } function clearCachedInferences(inferences) { for (var _i = 0, inferences_1 = inferences; _i < inferences_1.length; _i++) { @@ -68287,13 +69136,40 @@ var ts; return sourceStart.slice(0, startLen) !== targetStart.slice(0, startLen) || sourceEnd.slice(sourceEnd.length - endLen) !== targetEnd.slice(targetEnd.length - endLen); } - function isValidBigIntString(s) { + /** + * Tests whether the provided string can be parsed as a number. + * @param s The string to test. + * @param roundTripOnly Indicates the resulting number matches the input when converted back to a string. + */ + function isValidNumberString(s, roundTripOnly) { + if (s === "") + return false; + var n = +s; + return isFinite(n) && (!roundTripOnly || "" + n === s); + } + /** + * @param text a valid bigint string excluding a trailing `n`, but including a possible prefix `-`. Use `isValidBigIntString(text, roundTripOnly)` before calling this function. + */ + function parseBigIntLiteralType(text) { + var negative = text.startsWith("-"); + var base10Value = ts.parsePseudoBigInt("".concat(negative ? text.slice(1) : text, "n")); + return getBigIntLiteralType({ negative: negative, base10Value: base10Value }); + } + /** + * Tests whether the provided string can be parsed as a bigint. + * @param s The string to test. + * @param roundTripOnly Indicates the resulting bigint matches the input when converted back to a string. + */ + function isValidBigIntString(s, roundTripOnly) { + if (s === "") + return false; var scanner = ts.createScanner(99 /* ScriptTarget.ESNext */, /*skipTrivia*/ false); var success = true; scanner.setOnError(function () { return success = false; }); scanner.setText(s + "n"); var result = scanner.scan(); - if (result === 40 /* SyntaxKind.MinusToken */) { + var negative = result === 40 /* SyntaxKind.MinusToken */; + if (negative) { result = scanner.scan(); } var flags = scanner.getTokenFlags(); @@ -68302,7 +69178,33 @@ var ts; // * a bigint can be scanned, and that when it is scanned, it is // * the full length of the input string (so the scanner is one character beyond the augmented input length) // * it does not contain a numeric seperator (the `BigInt` constructor does not accept a numeric seperator in its input) - return success && result === 9 /* SyntaxKind.BigIntLiteral */ && scanner.getTextPos() === (s.length + 1) && !(flags & 512 /* TokenFlags.ContainsSeparator */); + return success && result === 9 /* SyntaxKind.BigIntLiteral */ && scanner.getTextPos() === (s.length + 1) && !(flags & 512 /* TokenFlags.ContainsSeparator */) + && (!roundTripOnly || s === ts.pseudoBigIntToString({ negative: negative, base10Value: ts.parsePseudoBigInt(scanner.getTokenValue()) })); + } + function isMemberOfStringMapping(source, target) { + if (target.flags & (4 /* TypeFlags.String */ | 3 /* TypeFlags.AnyOrUnknown */)) { + return true; + } + if (target.flags & 134217728 /* TypeFlags.TemplateLiteral */) { + return isTypeAssignableTo(source, target); + } + if (target.flags & 268435456 /* TypeFlags.StringMapping */) { + // We need to see whether applying the same mappings of the target + // onto the source would produce an identical type *and* that + // it's compatible with the inner-most non-string-mapped type. + // + // The intuition here is that if same mappings don't affect the source at all, + // and the source is compatible with the unmapped target, then they must + // still reside in the same domain. + var mappingStack = []; + while (target.flags & 268435456 /* TypeFlags.StringMapping */) { + mappingStack.unshift(target.symbol); + target = target.type; + } + var mappedSource = ts.reduceLeft(mappingStack, function (memo, value) { return getStringMappingType(value, memo); }, source); + return mappedSource === source && isMemberOfStringMapping(source, target); + } + return false; } function isValidTypeForTemplateLiteralPlaceholder(source, target) { if (source === target || target.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */)) { @@ -68310,9 +69212,10 @@ var ts; } if (source.flags & 128 /* TypeFlags.StringLiteral */) { var value = source.value; - return !!(target.flags & 8 /* TypeFlags.Number */ && value !== "" && isFinite(+value) || - target.flags & 64 /* TypeFlags.BigInt */ && value !== "" && isValidBigIntString(value) || - target.flags & (512 /* TypeFlags.BooleanLiteral */ | 98304 /* TypeFlags.Nullable */) && value === target.intrinsicName); + return !!(target.flags & 8 /* TypeFlags.Number */ && isValidNumberString(value, /*roundTripOnly*/ false) || + target.flags & 64 /* TypeFlags.BigInt */ && isValidBigIntString(value, /*roundTripOnly*/ false) || + target.flags & (512 /* TypeFlags.BooleanLiteral */ | 98304 /* TypeFlags.Nullable */) && value === target.intrinsicName || + target.flags & 268435456 /* TypeFlags.StringMapping */ && isMemberOfStringMapping(getStringLiteralType(value), target)); } if (source.flags & 134217728 /* TypeFlags.TemplateLiteral */) { var texts = source.texts; @@ -68435,10 +69338,13 @@ var ts; propagationType = savePropagationType; return; } - if (source.aliasSymbol && source.aliasTypeArguments && source.aliasSymbol === target.aliasSymbol) { - // Source and target are types originating in the same generic type alias declaration. - // Simply infer from source type arguments to target type arguments. - inferFromTypeArguments(source.aliasTypeArguments, target.aliasTypeArguments, getAliasVariances(source.aliasSymbol)); + if (source.aliasSymbol && source.aliasSymbol === target.aliasSymbol) { + if (source.aliasTypeArguments) { + // Source and target are types originating in the same generic type alias declaration. + // Simply infer from source type arguments to target type arguments. + inferFromTypeArguments(source.aliasTypeArguments, target.aliasTypeArguments, getAliasVariances(source.aliasSymbol)); + } + // And if there weren't any type arguments, there's no reason to run inference as the types must be the same. return; } if (source === target && source.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { @@ -68494,18 +69400,26 @@ var ts; target = getActualTypeVariable(target); } if (target.flags & 8650752 /* TypeFlags.TypeVariable */) { - // If target is a type parameter, make an inference, unless the source type contains - // the anyFunctionType (the wildcard type that's used to avoid contextually typing functions). - // Because the anyFunctionType is internal, it should not be exposed to the user by adding - // it as an inference candidate. Hopefully, a better candidate will come along that does - // not contain anyFunctionType when we come back to this argument for its second round - // of inference. Also, we exclude inferences for silentNeverType (which is used as a wildcard - // when constructing types from type parameters that had no inference candidates). - if (source === nonInferrableAnyType || source === silentNeverType || (priority & 128 /* InferencePriority.ReturnType */ && (source === autoType || source === autoArrayType)) || isFromInferenceBlockedSource(source)) { + // Skip inference if the source is "blocked", which is used by the language service to + // prevent inference on nodes currently being edited. + if (isFromInferenceBlockedSource(source)) { return; } var inference = getInferenceInfoForType(target); if (inference) { + // If target is a type parameter, make an inference, unless the source type contains + // a "non-inferrable" type. Types with this flag set are markers used to prevent inference. + // + // For example: + // - anyFunctionType is a wildcard type that's used to avoid contextually typing functions; + // it's internal, so should not be exposed to the user by adding it as a candidate. + // - autoType (and autoArrayType) is a special "any" used in control flow; like anyFunctionType, + // it's internal and should not be observable. + // - silentNeverType is returned by getInferredType when instantiating a generic function for + // inference (and a type variable has no mapping). + // + // This flag is infectious; if we produce Box (where never is silentNeverType), Box is + // also non-inferrable. if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { return; } @@ -68562,15 +69476,11 @@ var ts; inferFromTypeArguments(getTypeArguments(source), getTypeArguments(target), getVariances(source.target)); } else if (source.flags & 4194304 /* TypeFlags.Index */ && target.flags & 4194304 /* TypeFlags.Index */) { - contravariant = !contravariant; - inferFromTypes(source.type, target.type); - contravariant = !contravariant; + inferFromContravariantTypes(source.type, target.type); } else if ((isLiteralType(source) || source.flags & 4 /* TypeFlags.String */) && target.flags & 4194304 /* TypeFlags.Index */) { var empty = createEmptyObjectTypeFromStringLiteral(source); - contravariant = !contravariant; - inferWithPriority(empty, target.type, 256 /* InferencePriority.LiteralKeyof */); - contravariant = !contravariant; + inferFromContravariantTypesWithPriority(empty, target.type, 256 /* InferencePriority.LiteralKeyof */); } else if (source.flags & 8388608 /* TypeFlags.IndexedAccess */ && target.flags & 8388608 /* TypeFlags.IndexedAccess */) { inferFromTypes(source.objectType, target.objectType); @@ -68583,10 +69493,7 @@ var ts; } else if (source.flags & 33554432 /* TypeFlags.Substitution */) { inferFromTypes(source.baseType, target); - var oldPriority = priority; - priority |= 4 /* InferencePriority.SubstituteSource */; - inferFromTypes(source.substitute, target); // Make substitute inference at a lower priority - priority = oldPriority; + inferWithPriority(source.substitute, target, 4 /* InferencePriority.SubstituteSource */); // Make substitute inference at a lower priority } else if (target.flags & 16777216 /* TypeFlags.Conditional */) { invokeOnce(source, target, inferToConditionalType); @@ -68636,6 +69543,18 @@ var ts; inferFromTypes(source, target); priority = savePriority; } + function inferFromContravariantTypesWithPriority(source, target, newPriority) { + var savePriority = priority; + priority |= newPriority; + inferFromContravariantTypes(source, target); + priority = savePriority; + } + function inferToMultipleTypesWithPriority(source, targets, targetFlags, newPriority) { + var savePriority = priority; + priority |= newPriority; + inferToMultipleTypes(source, targets, targetFlags); + priority = savePriority; + } function invokeOnce(source, target, action) { var key = source.id + "," + target.id; var status = visited && visited.get(key); @@ -68700,10 +69619,13 @@ var ts; } } function inferFromContravariantTypes(source, target) { + contravariant = !contravariant; + inferFromTypes(source, target); + contravariant = !contravariant; + } + function inferFromContravariantTypesIfStrictFunctionTypes(source, target) { if (strictFunctionTypes || priority & 1024 /* InferencePriority.AlwaysStrict */) { - contravariant = !contravariant; - inferFromTypes(source, target); - contravariant = !contravariant; + inferFromContravariantTypes(source, target); } else { inferFromTypes(source, target); @@ -68722,8 +69644,8 @@ var ts; } function getSingleTypeVariableFromIntersectionTypes(types) { var typeVariable; - for (var _i = 0, types_15 = types; _i < types_15.length; _i++) { - var type = types_15[_i]; + for (var _i = 0, types_14 = types; _i < types_14.length; _i++) { + var type = types_14[_i]; var t = type.flags & 2097152 /* TypeFlags.Intersection */ && ts.find(type.types, function (t) { return !!getInferenceInfoForType(t); }); if (!t || typeVariable && t !== typeVariable) { return undefined; @@ -68867,11 +69789,8 @@ var ts; inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } else { - var savePriority = priority; - priority |= contravariant ? 64 /* InferencePriority.ContravariantConditional */ : 0; var targetTypes = [getTrueTypeFromConditionalType(target), getFalseTypeFromConditionalType(target)]; - inferToMultipleTypes(source, targetTypes, target.flags); - priority = savePriority; + inferToMultipleTypesWithPriority(source, targetTypes, target.flags, contravariant ? 64 /* InferencePriority.ContravariantConditional */ : 0); } } function inferToTemplateLiteralType(source, target) { @@ -68884,8 +69803,57 @@ var ts; // upon instantiation, would collapse all the placeholders to just 'string', and an assignment check might // succeed. That would be a pointless and confusing outcome. if (matches || ts.every(target.texts, function (s) { return s.length === 0; })) { + var _loop_24 = function (i) { + var source_1 = matches ? matches[i] : neverType; + var target_3 = types[i]; + // If we are inferring from a string literal type to a type variable whose constraint includes one of the + // allowed template literal placeholder types, infer from a literal type corresponding to the constraint. + if (source_1.flags & 128 /* TypeFlags.StringLiteral */ && target_3.flags & 8650752 /* TypeFlags.TypeVariable */) { + var inferenceContext = getInferenceInfoForType(target_3); + var constraint = inferenceContext ? getBaseConstraintOfType(inferenceContext.typeParameter) : undefined; + if (constraint && !isTypeAny(constraint)) { + var constraintTypes = constraint.flags & 1048576 /* TypeFlags.Union */ ? constraint.types : [constraint]; + var allTypeFlags_1 = ts.reduceLeft(constraintTypes, function (flags, t) { return flags | t.flags; }, 0); + // If the constraint contains `string`, we don't need to look for a more preferred type + if (!(allTypeFlags_1 & 4 /* TypeFlags.String */)) { + var str_1 = source_1.value; + // If the type contains `number` or a number literal and the string isn't a valid number, exclude numbers + if (allTypeFlags_1 & 296 /* TypeFlags.NumberLike */ && !isValidNumberString(str_1, /*roundTripOnly*/ true)) { + allTypeFlags_1 &= ~296 /* TypeFlags.NumberLike */; + } + // If the type contains `bigint` or a bigint literal and the string isn't a valid bigint, exclude bigints + if (allTypeFlags_1 & 2112 /* TypeFlags.BigIntLike */ && !isValidBigIntString(str_1, /*roundTripOnly*/ true)) { + allTypeFlags_1 &= ~2112 /* TypeFlags.BigIntLike */; + } + // for each type in the constraint, find the highest priority matching type + var matchingType = ts.reduceLeft(constraintTypes, function (left, right) { + return !(right.flags & allTypeFlags_1) ? left : + left.flags & 4 /* TypeFlags.String */ ? left : right.flags & 4 /* TypeFlags.String */ ? source_1 : + left.flags & 134217728 /* TypeFlags.TemplateLiteral */ ? left : right.flags & 134217728 /* TypeFlags.TemplateLiteral */ && isTypeMatchedByTemplateLiteralType(source_1, right) ? source_1 : + left.flags & 268435456 /* TypeFlags.StringMapping */ ? left : right.flags & 268435456 /* TypeFlags.StringMapping */ && str_1 === applyStringMapping(right.symbol, str_1) ? source_1 : + left.flags & 128 /* TypeFlags.StringLiteral */ ? left : right.flags & 128 /* TypeFlags.StringLiteral */ && right.value === str_1 ? right : + left.flags & 8 /* TypeFlags.Number */ ? left : right.flags & 8 /* TypeFlags.Number */ ? getNumberLiteralType(+str_1) : + left.flags & 32 /* TypeFlags.Enum */ ? left : right.flags & 32 /* TypeFlags.Enum */ ? getNumberLiteralType(+str_1) : + left.flags & 256 /* TypeFlags.NumberLiteral */ ? left : right.flags & 256 /* TypeFlags.NumberLiteral */ && right.value === +str_1 ? right : + left.flags & 64 /* TypeFlags.BigInt */ ? left : right.flags & 64 /* TypeFlags.BigInt */ ? parseBigIntLiteralType(str_1) : + left.flags & 2048 /* TypeFlags.BigIntLiteral */ ? left : right.flags & 2048 /* TypeFlags.BigIntLiteral */ && ts.pseudoBigIntToString(right.value) === str_1 ? right : + left.flags & 16 /* TypeFlags.Boolean */ ? left : right.flags & 16 /* TypeFlags.Boolean */ ? str_1 === "true" ? trueType : str_1 === "false" ? falseType : booleanType : + left.flags & 512 /* TypeFlags.BooleanLiteral */ ? left : right.flags & 512 /* TypeFlags.BooleanLiteral */ && right.intrinsicName === str_1 ? right : + left.flags & 32768 /* TypeFlags.Undefined */ ? left : right.flags & 32768 /* TypeFlags.Undefined */ && right.intrinsicName === str_1 ? right : + left.flags & 65536 /* TypeFlags.Null */ ? left : right.flags & 65536 /* TypeFlags.Null */ && right.intrinsicName === str_1 ? right : + left; + }, neverType); + if (!(matchingType.flags & 131072 /* TypeFlags.Never */)) { + inferFromTypes(matchingType, target_3); + return "continue"; + } + } + } + } + inferFromTypes(source_1, target_3); + }; for (var i = 0; i < types.length; i++) { - inferFromTypes(matches ? matches[i] : neverType, types[i]); + _loop_24(i); } } } @@ -68999,20 +69967,17 @@ var ts; var sourceLen = sourceSignatures.length; var targetLen = targetSignatures.length; var len = sourceLen < targetLen ? sourceLen : targetLen; - var skipParameters = !!(ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */); for (var i = 0; i < len; i++) { - inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]), skipParameters); + inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i])); } } - function inferFromSignature(source, target, skipParameters) { - if (!skipParameters) { - var saveBivariant = bivariant; - var kind = target.declaration ? target.declaration.kind : 0 /* SyntaxKind.Unknown */; - // Once we descend into a bivariant signature we remain bivariant for all nested inferences - bivariant = bivariant || kind === 169 /* SyntaxKind.MethodDeclaration */ || kind === 168 /* SyntaxKind.MethodSignature */ || kind === 171 /* SyntaxKind.Constructor */; - applyToParameterTypes(source, target, inferFromContravariantTypes); - bivariant = saveBivariant; - } + function inferFromSignature(source, target) { + var saveBivariant = bivariant; + var kind = target.declaration ? target.declaration.kind : 0 /* SyntaxKind.Unknown */; + // Once we descend into a bivariant signature we remain bivariant for all nested inferences + bivariant = bivariant || kind === 169 /* SyntaxKind.MethodDeclaration */ || kind === 168 /* SyntaxKind.MethodSignature */ || kind === 171 /* SyntaxKind.Constructor */; + applyToParameterTypes(source, target, inferFromContravariantTypesIfStrictFunctionTypes); + bivariant = saveBivariant; applyToReturnTypes(source, target, inferFromTypes); } function inferFromIndexTypes(source, target) { @@ -69259,6 +70224,15 @@ var ts; var key = getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); return key && key + "." + propName; } + break; + case 201 /* SyntaxKind.ObjectBindingPattern */: + case 202 /* SyntaxKind.ArrayBindingPattern */: + case 256 /* SyntaxKind.FunctionDeclaration */: + case 213 /* SyntaxKind.FunctionExpression */: + case 214 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.MethodDeclaration */: + // Handle pseudo-references originating in getNarrowedTypeOfSymbol. + return "".concat(getNodeId(node), "#").concat(getTypeId(declaredType)); } return undefined; } @@ -69403,7 +70377,7 @@ var ts; function mapTypesByKeyProperty(types, name) { var map = new ts.Map(); var count = 0; - var _loop_23 = function (type) { + var _loop_25 = function (type) { if (type.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */)) { var discriminant = getTypeOfPropertyOfType(type, name); if (discriminant) { @@ -69427,9 +70401,9 @@ var ts; } } }; - for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { - var type = types_16[_i]; - var state_9 = _loop_23(type); + for (var _i = 0, types_15 = types; _i < types_15.length; _i++) { + var type = types_15[_i]; + var state_9 = _loop_25(type); if (typeof state_9 === "object") return state_9.value; } @@ -69518,23 +70492,25 @@ var ts; // For example, when a variable of type number | string | boolean is assigned a value of type number | boolean, // we remove type string. function getAssignmentReducedType(declaredType, assignedType) { - if (declaredType !== assignedType) { - if (assignedType.flags & 131072 /* TypeFlags.Never */) { - return assignedType; - } - var reducedType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); - if (assignedType.flags & 512 /* TypeFlags.BooleanLiteral */ && isFreshLiteralType(assignedType)) { - reducedType = mapType(reducedType, getFreshTypeOfLiteralType); // Ensure that if the assignment is a fresh type, that we narrow to fresh types - } - // Our crude heuristic produces an invalid result in some cases: see GH#26130. - // For now, when that happens, we give up and don't narrow at all. (This also - // means we'll never narrow for erroneous assignments where the assigned type - // is not assignable to the declared type.) - if (isTypeAssignableTo(assignedType, reducedType)) { - return reducedType; - } + var _a; + if (declaredType === assignedType) { + return declaredType; } - return declaredType; + if (assignedType.flags & 131072 /* TypeFlags.Never */) { + return assignedType; + } + var key = "A".concat(getTypeId(declaredType), ",").concat(getTypeId(assignedType)); + return (_a = getCachedType(key)) !== null && _a !== void 0 ? _a : setCachedType(key, getAssignmentReducedTypeWorker(declaredType, assignedType)); + } + function getAssignmentReducedTypeWorker(declaredType, assignedType) { + var filteredType = filterType(declaredType, function (t) { return typeMaybeAssignableTo(assignedType, t); }); + // Ensure that we narrow to fresh types if the assignment is a fresh boolean literal type. + var reducedType = assignedType.flags & 512 /* TypeFlags.BooleanLiteral */ && isFreshLiteralType(assignedType) ? mapType(filteredType, getFreshTypeOfLiteralType) : filteredType; + // Our crude heuristic produces an invalid result in some cases: see GH#26130. + // For now, when that happens, we give up and don't narrow at all. (This also + // means we'll never narrow for erroneous assignments where the assigned type + // is not assignable to the declared type.) + return isTypeAssignableTo(assignedType, reducedType) ? reducedType : declaredType; } function isFunctionObjectType(type) { // We do a quick check for a "bind" property before performing the more expensive subtype @@ -69543,14 +70519,16 @@ var ts; return !!(resolved.callSignatures.length || resolved.constructSignatures.length || resolved.members.get("bind") && isTypeSubtypeOf(type, globalFunctionType)); } - function getTypeFacts(type, ignoreObjects) { - if (ignoreObjects === void 0) { ignoreObjects = false; } + function getTypeFacts(type) { + if (type.flags & (2097152 /* TypeFlags.Intersection */ | 465829888 /* TypeFlags.Instantiable */)) { + type = getBaseConstraintOfType(type) || unknownType; + } var flags = type.flags; - if (flags & 4 /* TypeFlags.String */) { + if (flags & (4 /* TypeFlags.String */ | 268435456 /* TypeFlags.StringMapping */)) { return strictNullChecks ? 16317953 /* TypeFacts.StringStrictFacts */ : 16776705 /* TypeFacts.StringFacts */; } - if (flags & 128 /* TypeFlags.StringLiteral */) { - var isEmpty = type.value === ""; + if (flags & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */)) { + var isEmpty = flags & 128 /* TypeFlags.StringLiteral */ && type.value === ""; return strictNullChecks ? isEmpty ? 12123649 /* TypeFacts.EmptyStringStrictFacts */ : 7929345 /* TypeFacts.NonEmptyStringStrictFacts */ : isEmpty ? 12582401 /* TypeFacts.EmptyStringFacts */ : 16776705 /* TypeFacts.NonEmptyStringFacts */; @@ -69582,20 +70560,20 @@ var ts; (type === falseType || type === regularFalseType) ? 12580616 /* TypeFacts.FalseFacts */ : 16774920 /* TypeFacts.TrueFacts */; } if (flags & 524288 /* TypeFlags.Object */) { - if (ignoreObjects) { - return 16768959 /* TypeFacts.AndFactsMask */; // This is the identity element for computing type facts of intersection. - } return ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */ && isEmptyObjectType(type) ? - strictNullChecks ? 16318463 /* TypeFacts.EmptyObjectStrictFacts */ : 16777215 /* TypeFacts.EmptyObjectFacts */ : + strictNullChecks ? 83427327 /* TypeFacts.EmptyObjectStrictFacts */ : 83886079 /* TypeFacts.EmptyObjectFacts */ : isFunctionObjectType(type) ? strictNullChecks ? 7880640 /* TypeFacts.FunctionStrictFacts */ : 16728000 /* TypeFacts.FunctionFacts */ : strictNullChecks ? 7888800 /* TypeFacts.ObjectStrictFacts */ : 16736160 /* TypeFacts.ObjectFacts */; } - if (flags & (16384 /* TypeFlags.Void */ | 32768 /* TypeFlags.Undefined */)) { - return 9830144 /* TypeFacts.UndefinedFacts */; + if (flags & 16384 /* TypeFlags.Void */) { + return 9830144 /* TypeFacts.VoidFacts */; + } + if (flags & 32768 /* TypeFlags.Undefined */) { + return 26607360 /* TypeFacts.UndefinedFacts */; } if (flags & 65536 /* TypeFlags.Null */) { - return 9363232 /* TypeFacts.NullFacts */; + return 42917664 /* TypeFacts.NullFacts */; } if (flags & 12288 /* TypeFlags.ESSymbolLike */) { return strictNullChecks ? 7925520 /* TypeFacts.SymbolStrictFacts */ : 16772880 /* TypeFacts.SymbolFacts */; @@ -69606,37 +70584,56 @@ var ts; if (flags & 131072 /* TypeFlags.Never */) { return 0 /* TypeFacts.None */; } - if (flags & 465829888 /* TypeFlags.Instantiable */) { - return !isPatternLiteralType(type) ? getTypeFacts(getBaseConstraintOfType(type) || unknownType, ignoreObjects) : - strictNullChecks ? 7929345 /* TypeFacts.NonEmptyStringStrictFacts */ : 16776705 /* TypeFacts.NonEmptyStringFacts */; - } if (flags & 1048576 /* TypeFlags.Union */) { - return ts.reduceLeft(type.types, function (facts, t) { return facts | getTypeFacts(t, ignoreObjects); }, 0 /* TypeFacts.None */); + return ts.reduceLeft(type.types, function (facts, t) { return facts | getTypeFacts(t); }, 0 /* TypeFacts.None */); } if (flags & 2097152 /* TypeFlags.Intersection */) { - // When an intersection contains a primitive type we ignore object type constituents as they are - // presumably type tags. For example, in string & { __kind__: "name" } we ignore the object type. - ignoreObjects || (ignoreObjects = maybeTypeOfKind(type, 131068 /* TypeFlags.Primitive */)); - return getIntersectionTypeFacts(type, ignoreObjects); + return getIntersectionTypeFacts(type); } - return 16777215 /* TypeFacts.All */; + return 83886079 /* TypeFacts.UnknownFacts */; } - function getIntersectionTypeFacts(type, ignoreObjects) { + function getIntersectionTypeFacts(type) { + // When an intersection contains a primitive type we ignore object type constituents as they are + // presumably type tags. For example, in string & { __kind__: "name" } we ignore the object type. + var ignoreObjects = maybeTypeOfKind(type, 131068 /* TypeFlags.Primitive */); // When computing the type facts of an intersection type, certain type facts are computed as `and` // and others are computed as `or`. var oredFacts = 0 /* TypeFacts.None */; - var andedFacts = 16777215 /* TypeFacts.All */; + var andedFacts = 134217727 /* TypeFacts.All */; for (var _i = 0, _a = type.types; _i < _a.length; _i++) { var t = _a[_i]; - var f = getTypeFacts(t, ignoreObjects); - oredFacts |= f; - andedFacts &= f; + if (!(ignoreObjects && t.flags & 524288 /* TypeFlags.Object */)) { + var f = getTypeFacts(t); + oredFacts |= f; + andedFacts &= f; + } } - return oredFacts & 8256 /* TypeFacts.OrFactsMask */ | andedFacts & 16768959 /* TypeFacts.AndFactsMask */; + return oredFacts & 8256 /* TypeFacts.OrFactsMask */ | andedFacts & 134209471 /* TypeFacts.AndFactsMask */; } function getTypeWithFacts(type, include) { return filterType(type, function (t) { return (getTypeFacts(t) & include) !== 0; }); } + // This function is similar to getTypeWithFacts, except that in strictNullChecks mode it replaces type + // unknown with the union {} | null | undefined (and reduces that accordingly), and it intersects remaining + // instantiable types with {}, {} | null, or {} | undefined in order to remove null and/or undefined. + function getAdjustedTypeWithFacts(type, facts) { + var reduced = recombineUnknownType(getTypeWithFacts(strictNullChecks && type.flags & 2 /* TypeFlags.Unknown */ ? unknownUnionType : type, facts)); + if (strictNullChecks) { + switch (facts) { + case 524288 /* TypeFacts.NEUndefined */: + return mapType(reduced, function (t) { return getTypeFacts(t) & 65536 /* TypeFacts.EQUndefined */ ? getIntersectionType([t, getTypeFacts(t) & 131072 /* TypeFacts.EQNull */ && !maybeTypeOfKind(reduced, 65536 /* TypeFlags.Null */) ? getUnionType([emptyObjectType, nullType]) : emptyObjectType]) : t; }); + case 1048576 /* TypeFacts.NENull */: + return mapType(reduced, function (t) { return getTypeFacts(t) & 131072 /* TypeFacts.EQNull */ ? getIntersectionType([t, getTypeFacts(t) & 65536 /* TypeFacts.EQUndefined */ && !maybeTypeOfKind(reduced, 32768 /* TypeFlags.Undefined */) ? getUnionType([emptyObjectType, undefinedType]) : emptyObjectType]) : t; }); + case 2097152 /* TypeFacts.NEUndefinedOrNull */: + case 4194304 /* TypeFacts.Truthy */: + return mapType(reduced, function (t) { return getTypeFacts(t) & 262144 /* TypeFacts.EQUndefinedOrNull */ ? getGlobalNonNullableTypeInstantiation(t) : t; }); + } + } + return reduced; + } + function recombineUnknownType(type) { + return type === unknownUnionType ? unknownType : type; + } function getTypeWithDefault(type, defaultExpression) { return defaultExpression ? getUnionType([getNonUndefinedType(type), getTypeOfExpression(defaultExpression)]) : @@ -69791,19 +70788,17 @@ var ts; } return links.switchTypes; } - function getSwitchClauseTypeOfWitnesses(switchStatement, retainDefault) { + // Get the type names from all cases in a switch on `typeof`. The default clause and/or duplicate type names are + // represented as undefined. Return undefined if one or more case clause expressions are not string literals. + function getSwitchClauseTypeOfWitnesses(switchStatement) { + if (ts.some(switchStatement.caseBlock.clauses, function (clause) { return clause.kind === 289 /* SyntaxKind.CaseClause */ && !ts.isStringLiteralLike(clause.expression); })) { + return undefined; + } var witnesses = []; for (var _i = 0, _a = switchStatement.caseBlock.clauses; _i < _a.length; _i++) { var clause = _a[_i]; - if (clause.kind === 289 /* SyntaxKind.CaseClause */) { - if (ts.isStringLiteralLike(clause.expression)) { - witnesses.push(clause.expression.text); - continue; - } - return ts.emptyArray; - } - if (retainDefault) - witnesses.push(/*explicitDefaultStatement*/ undefined); + var text = clause.kind === 289 /* SyntaxKind.CaseClause */ ? clause.expression.text : undefined; + witnesses.push(text && !ts.contains(witnesses, text) ? text : undefined); } return witnesses; } @@ -69885,8 +70880,8 @@ var ts; var types = origin && origin.flags & 1048576 /* TypeFlags.Union */ ? origin.types : type.types; var mappedTypes; var changed = false; - for (var _i = 0, types_17 = types; _i < types_17.length; _i++) { - var t = types_17[_i]; + for (var _i = 0, types_16 = types; _i < types_16.length; _i++) { + var t = types_16[_i]; var mapped = t.flags & 1048576 /* TypeFlags.Union */ ? mapType(t, mapper, noReductions) : mapper(t); changed || (changed = t !== mapped); if (mapped) { @@ -69972,8 +70967,8 @@ var ts; } function isEvolvingArrayTypeList(types) { var hasEvolvingArrayType = false; - for (var _i = 0, types_18 = types; _i < types_18.length; _i++) { - var t = types_18[_i]; + for (var _i = 0, types_17 = types; _i < types_17.length; _i++) { + var t = types_17[_i]; if (!(t.flags & 131072 /* TypeFlags.Never */)) { if (!(ts.getObjectFlags(t) & 256 /* ObjectFlags.EvolvingArray */)) { return false; @@ -70434,7 +71429,7 @@ var ts; } // for (const _ in ref) acts as a nonnull on ref if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { - return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))); + return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)))); } // Assignment doesn't affect reference return undefined; @@ -70694,7 +71689,7 @@ var ts; if (isEvolvingArrayTypeList(types)) { return getEvolvingArrayType(getUnionType(ts.map(types, getElementTypeOfEvolvingArrayType))); } - var result = getUnionType(ts.sameMap(types, finalizeEvolvingArrayType), subtypeReduction); + var result = recombineUnknownType(getUnionType(ts.sameMap(types, finalizeEvolvingArrayType), subtypeReduction)); if (result !== declaredType && result.flags & declaredType.flags & 1048576 /* TypeFlags.Union */ && ts.arraysEqual(result.types, declaredType.types)) { return declaredType; } @@ -70796,11 +71791,10 @@ var ts; } function narrowTypeByTruthiness(type, expr, assumeTrue) { if (isMatchingReference(reference, expr)) { - return type.flags & 2 /* TypeFlags.Unknown */ && assumeTrue ? nonNullUnknownType : - getTypeWithFacts(type, assumeTrue ? 4194304 /* TypeFacts.Truthy */ : 8388608 /* TypeFacts.Falsy */); + return getAdjustedTypeWithFacts(type, assumeTrue ? 4194304 /* TypeFacts.Truthy */ : 8388608 /* TypeFacts.Falsy */); } if (strictNullChecks && assumeTrue && optionalChainContainsReference(expr, reference)) { - type = getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); + type = getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } var access = getDiscriminantPropertyAccess(expr, type); if (access) { @@ -70922,7 +71916,7 @@ var ts; var targetType = ts.hasStaticModifier(ts.Debug.checkDefined(symbol.valueDeclaration, "should always have a declaration")) ? getTypeOfSymbol(classSymbol) : getDeclaredTypeOfSymbol(classSymbol); - return getNarrowedType(type, targetType, assumeTrue, isTypeDerivedFrom); + return getNarrowedType(type, targetType, assumeTrue, /*checkDerived*/ true); } function narrowTypeByOptionalChainContainment(type, operator, value, assumeTrue) { // We are in a branch of obj?.foo === value (or any one of the other equality operators). We narrow obj as follows: @@ -70940,7 +71934,7 @@ var ts; // Note that we include any and unknown in the exclusion test because their domain includes null and undefined. var removeNullable = equalsOperator !== assumeTrue && everyType(valueType, function (t) { return !!(t.flags & nullableFlags); }) || equalsOperator === assumeTrue && everyType(valueType, function (t) { return !(t.flags & (3 /* TypeFlags.AnyOrUnknown */ | nullableFlags)); }); - return removeNullable ? getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */) : type; + return removeNullable ? getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */) : type; } function narrowTypeByEquality(type, operator, value, assumeTrue) { if (type.flags & 1 /* TypeFlags.Any */) { @@ -70950,9 +71944,6 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if (assumeTrue && (type.flags & 2 /* TypeFlags.Unknown */) && (operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */) && (valueType.flags & 65536 /* TypeFlags.Null */)) { - return getUnionType([nullType, undefinedType]); - } if ((type.flags & 2 /* TypeFlags.Unknown */) && assumeTrue && (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) { if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) { return valueType; @@ -70972,7 +71963,7 @@ var ts; valueType.flags & 65536 /* TypeFlags.Null */ ? assumeTrue ? 131072 /* TypeFacts.EQNull */ : 1048576 /* TypeFacts.NENull */ : assumeTrue ? 65536 /* TypeFacts.EQUndefined */ : 524288 /* TypeFacts.NEUndefined */; - return type.flags & 2 /* TypeFlags.Unknown */ && facts & (1048576 /* TypeFacts.NENull */ | 2097152 /* TypeFacts.NEUndefinedOrNull */) ? nonNullUnknownType : getTypeWithFacts(type, facts); + return getAdjustedTypeWithFacts(type, facts); } if (assumeTrue) { var filterFn = operator === 34 /* SyntaxKind.EqualsEqualsToken */ ? @@ -70993,24 +71984,13 @@ var ts; var target = getReferenceCandidate(typeOfExpr.expression); if (!isMatchingReference(reference, target)) { if (strictNullChecks && optionalChainContainsReference(target, reference) && assumeTrue === (literal.text !== "undefined")) { - return getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); + return getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } return type; } - if (type.flags & 1 /* TypeFlags.Any */ && literal.text === "function") { - return type; - } - if (assumeTrue && type.flags & 2 /* TypeFlags.Unknown */ && literal.text === "object") { - // The non-null unknown type is used to track whether a previous narrowing operation has removed the null type - // from the unknown type. For example, the expression `x && typeof x === 'object'` first narrows x to the non-null - // unknown type, and then narrows that to the non-primitive type. - return type === nonNullUnknownType ? nonPrimitiveType : getUnionType([nonPrimitiveType, nullType]); - } - var facts = assumeTrue ? - typeofEQFacts.get(literal.text) || 128 /* TypeFacts.TypeofEQHostObject */ : - typeofNEFacts.get(literal.text) || 32768 /* TypeFacts.TypeofNEHostObject */; - var impliedType = getImpliedTypeFromTypeofGuard(type, literal.text); - return getTypeWithFacts(assumeTrue && impliedType ? mapType(type, narrowUnionMemberByTypeof(impliedType)) : type, facts); + return assumeTrue ? + narrowTypeByTypeName(type, literal.text) : + getTypeWithFacts(type, typeofNEFacts.get(literal.text) || 32768 /* TypeFacts.TypeofNEHostObject */); } function narrowTypeBySwitchOptionalChainContainment(type, switchStatement, clauseStart, clauseEnd, clauseCheck) { var everyClauseChecks = clauseStart !== clauseEnd && ts.every(getSwitchClauseTypes(switchStatement).slice(clauseStart, clauseEnd), clauseCheck); @@ -71057,97 +72037,52 @@ var ts; var defaultType = filterType(type, function (t) { return !(isUnitLikeType(t) && ts.contains(switchTypes, getRegularTypeOfLiteralType(extractUnitType(t)))); }); return caseType.flags & 131072 /* TypeFlags.Never */ ? defaultType : getUnionType([caseType, defaultType]); } - function getImpliedTypeFromTypeofGuard(type, text) { - switch (text) { - case "function": - return type.flags & 1 /* TypeFlags.Any */ ? type : globalFunctionType; - case "object": - return type.flags & 2 /* TypeFlags.Unknown */ ? getUnionType([nonPrimitiveType, nullType]) : type; - default: - return typeofTypesByName.get(text); - } - } - // When narrowing a union type by a `typeof` guard using type-facts alone, constituent types that are - // super-types of the implied guard will be retained in the final type: this is because type-facts only - // filter. Instead, we would like to replace those union constituents with the more precise type implied by - // the guard. For example: narrowing `{} | undefined` by `"boolean"` should produce the type `boolean`, not - // the filtered type `{}`. For this reason we narrow constituents of the union individually, in addition to - // filtering by type-facts. - function narrowUnionMemberByTypeof(candidate) { - return function (type) { - if (isTypeSubtypeOf(type, candidate)) { - return type; - } - if (isTypeSubtypeOf(candidate, type)) { - return candidate; - } - if (type.flags & 465829888 /* TypeFlags.Instantiable */) { - var constraint = getBaseConstraintOfType(type) || anyType; - if (isTypeSubtypeOf(candidate, constraint)) { - return getIntersectionType([type, candidate]); - } - } - return type; - }; + function narrowTypeByTypeName(type, typeName) { + switch (typeName) { + case "string": return narrowTypeByTypeFacts(type, stringType, 1 /* TypeFacts.TypeofEQString */); + case "number": return narrowTypeByTypeFacts(type, numberType, 2 /* TypeFacts.TypeofEQNumber */); + case "bigint": return narrowTypeByTypeFacts(type, bigintType, 4 /* TypeFacts.TypeofEQBigInt */); + case "boolean": return narrowTypeByTypeFacts(type, booleanType, 8 /* TypeFacts.TypeofEQBoolean */); + case "symbol": return narrowTypeByTypeFacts(type, esSymbolType, 16 /* TypeFacts.TypeofEQSymbol */); + case "object": return type.flags & 1 /* TypeFlags.Any */ ? type : getUnionType([narrowTypeByTypeFacts(type, nonPrimitiveType, 32 /* TypeFacts.TypeofEQObject */), narrowTypeByTypeFacts(type, nullType, 131072 /* TypeFacts.EQNull */)]); + case "function": return type.flags & 1 /* TypeFlags.Any */ ? type : narrowTypeByTypeFacts(type, globalFunctionType, 64 /* TypeFacts.TypeofEQFunction */); + case "undefined": return narrowTypeByTypeFacts(type, undefinedType, 65536 /* TypeFacts.EQUndefined */); + } + return narrowTypeByTypeFacts(type, nonPrimitiveType, 128 /* TypeFacts.TypeofEQHostObject */); + } + function narrowTypeByTypeFacts(type, impliedType, facts) { + return mapType(type, function (t) { + // We first check if a constituent is a subtype of the implied type. If so, we either keep or eliminate + // the constituent based on its type facts. We use the strict subtype relation because it treats `object` + // as a subtype of `{}`, and we need the type facts check because function types are subtypes of `object`, + // but are classified as "function" according to `typeof`. + return isTypeRelatedTo(t, impliedType, strictSubtypeRelation) ? getTypeFacts(t) & facts ? t : neverType : + // We next check if the consituent is a supertype of the implied type. If so, we substitute the implied + // type. This handles top types like `unknown` and `{}`, and supertypes like `{ toString(): string }`. + isTypeSubtypeOf(impliedType, t) ? impliedType : + // Neither the constituent nor the implied type is a subtype of the other, however their domains may still + // overlap. For example, an unconstrained type parameter and type `string`. If the type facts indicate + // possible overlap, we form an intersection. Otherwise, we eliminate the constituent. + getTypeFacts(t) & facts ? getIntersectionType([t, impliedType]) : + neverType; + }); } function narrowBySwitchOnTypeOf(type, switchStatement, clauseStart, clauseEnd) { - var switchWitnesses = getSwitchClauseTypeOfWitnesses(switchStatement, /*retainDefault*/ true); - if (!switchWitnesses.length) { + var witnesses = getSwitchClauseTypeOfWitnesses(switchStatement); + if (!witnesses) { return type; } - // Equal start and end denotes implicit fallthrough; undefined marks explicit default clause - var defaultCaseLocation = ts.findIndex(switchWitnesses, function (elem) { return elem === undefined; }); - var hasDefaultClause = clauseStart === clauseEnd || (defaultCaseLocation >= clauseStart && defaultCaseLocation < clauseEnd); - var clauseWitnesses; - var switchFacts; - if (defaultCaseLocation > -1) { - // We no longer need the undefined denoting an explicit default case. Remove the undefined and - // fix-up clauseStart and clauseEnd. This means that we don't have to worry about undefined in the - // witness array. - var witnesses = switchWitnesses.filter(function (witness) { return witness !== undefined; }); - // The adjusted clause start and end after removing the `default` statement. - var fixedClauseStart = defaultCaseLocation < clauseStart ? clauseStart - 1 : clauseStart; - var fixedClauseEnd = defaultCaseLocation < clauseEnd ? clauseEnd - 1 : clauseEnd; - clauseWitnesses = witnesses.slice(fixedClauseStart, fixedClauseEnd); - switchFacts = getFactsFromTypeofSwitch(fixedClauseStart, fixedClauseEnd, witnesses, hasDefaultClause); - } - else { - clauseWitnesses = switchWitnesses.slice(clauseStart, clauseEnd); - switchFacts = getFactsFromTypeofSwitch(clauseStart, clauseEnd, switchWitnesses, hasDefaultClause); - } + // Equal start and end denotes implicit fallthrough; undefined marks explicit default clause. + var defaultIndex = ts.findIndex(switchStatement.caseBlock.clauses, function (clause) { return clause.kind === 290 /* SyntaxKind.DefaultClause */; }); + var hasDefaultClause = clauseStart === clauseEnd || (defaultIndex >= clauseStart && defaultIndex < clauseEnd); if (hasDefaultClause) { - return filterType(type, function (t) { return (getTypeFacts(t) & switchFacts) === switchFacts; }); + // In the default clause we filter constituents down to those that are not-equal to all handled cases. + var notEqualFacts_1 = getNotEqualFactsFromTypeofSwitch(clauseStart, clauseEnd, witnesses); + return filterType(type, function (t) { return (getTypeFacts(t) & notEqualFacts_1) === notEqualFacts_1; }); } - /* - The implied type is the raw type suggested by a - value being caught in this clause. - - When the clause contains a default case we ignore - the implied type and try to narrow using any facts - we can learn: see `switchFacts`. - - Example: - switch (typeof x) { - case 'number': - case 'string': break; - default: break; - case 'number': - case 'boolean': break - } - - In the first clause (case `number` and `string`) the - implied type is number | string. - - In the default clause we de not compute an implied type. - - In the third clause (case `number` and `boolean`) - the naive implied type is number | boolean, however - we use the type facts to narrow the implied type to - boolean. We know that number cannot be selected - because it is caught in the first clause. - */ - var impliedType = getTypeWithFacts(getUnionType(clauseWitnesses.map(function (text) { return getImpliedTypeFromTypeofGuard(type, text) || type; })), switchFacts); - return getTypeWithFacts(mapType(type, narrowUnionMemberByTypeof(impliedType)), switchFacts); + // In the non-default cause we create a union of the type narrowed by each of the listed cases. + var clauseWitnesses = witnesses.slice(clauseStart, clauseEnd); + return getUnionType(ts.map(clauseWitnesses, function (text) { return text ? narrowTypeByTypeName(type, text) : neverType; })); } function isMatchingConstructorReference(expr) { return (ts.isPropertyAccessExpression(expr) && ts.idText(expr.name) === "constructor" || @@ -71198,7 +72133,7 @@ var ts; var left = getReferenceCandidate(expr.left); if (!isMatchingReference(reference, left)) { if (assumeTrue && strictNullChecks && optionalChainContainsReference(left, reference)) { - return getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); + return getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } return type; } @@ -71232,29 +72167,48 @@ var ts; if (!nonConstructorTypeInUnion) return type; } - return getNarrowedType(type, targetType, assumeTrue, isTypeDerivedFrom); + return getNarrowedType(type, targetType, assumeTrue, /*checkDerived*/ true); } - function getNarrowedType(type, candidate, assumeTrue, isRelated) { + function getNarrowedType(type, candidate, assumeTrue, checkDerived) { + var _a; + var key = type.flags & 1048576 /* TypeFlags.Union */ ? "N".concat(getTypeId(type), ",").concat(getTypeId(candidate), ",").concat((assumeTrue ? 1 : 0) | (checkDerived ? 2 : 0)) : undefined; + return (_a = getCachedType(key)) !== null && _a !== void 0 ? _a : setCachedType(key, getNarrowedTypeWorker(type, candidate, assumeTrue, checkDerived)); + } + function getNarrowedTypeWorker(type, candidate, assumeTrue, checkDerived) { + var isRelated = checkDerived ? isTypeDerivedFrom : isTypeSubtypeOf; if (!assumeTrue) { return filterType(type, function (t) { return !isRelated(t, candidate); }); } - // If the current type is a union type, remove all constituents that couldn't be instances of - // the candidate type. If one or more constituents remain, return a union of those. - if (type.flags & 1048576 /* TypeFlags.Union */) { - var assignableType = filterType(type, function (t) { return isRelated(t, candidate); }); - if (!(assignableType.flags & 131072 /* TypeFlags.Never */)) { - return assignableType; - } + if (type.flags & 3 /* TypeFlags.AnyOrUnknown */) { + return candidate; } - // If the candidate type is a subtype of the target type, narrow to the candidate type. - // Otherwise, if the target type is assignable to the candidate type, keep the target type. - // Otherwise, if the candidate type is assignable to the target type, narrow to the candidate - // type. Otherwise, the types are completely unrelated, so narrow to an intersection of the - // two types. - return isTypeSubtypeOf(candidate, type) ? candidate : - isTypeAssignableTo(type, candidate) ? type : - isTypeAssignableTo(candidate, type) ? candidate : - getIntersectionType([type, candidate]); + // We first attempt to filter the current type, narrowing constituents as appropriate and removing + // constituents that are unrelated to the candidate. + var keyPropertyName = type.flags & 1048576 /* TypeFlags.Union */ ? getKeyPropertyName(type) : undefined; + var narrowedType = mapType(candidate, function (c) { + // If a discriminant property is available, use that to reduce the type. + var discriminant = keyPropertyName && getTypeOfPropertyOfType(c, keyPropertyName); + var matching = discriminant && getConstituentTypeForKeyType(type, discriminant); + // For each constituent t in the current type, if t and and c are directly related, pick the most + // specific of the two. When t and c are related in both directions, we prefer c for type predicates + // because that is the asserted type, but t for `instanceof` because generics aren't reflected in + // prototype object types. + var directlyRelated = mapType(matching || type, checkDerived ? + function (t) { return isTypeDerivedFrom(t, c) ? t : isTypeDerivedFrom(c, t) ? c : neverType; } : + function (t) { return isTypeSubtypeOf(c, t) ? c : isTypeSubtypeOf(t, c) ? t : neverType; }); + // If no constituents are directly related, create intersections for any generic constituents that + // are related by constraint. + return directlyRelated.flags & 131072 /* TypeFlags.Never */ ? + mapType(type, function (t) { return maybeTypeOfKind(t, 465829888 /* TypeFlags.Instantiable */) && isRelated(c, getBaseConstraintOfType(t) || unknownType) ? getIntersectionType([t, c]) : neverType; }) : + directlyRelated; + }); + // If filtering produced a non-empty type, return that. Otherwise, pick the most specific of the two + // based on assignability, or as a last resort produce an intersection. + return !(narrowedType.flags & 131072 /* TypeFlags.Never */) ? narrowedType : + isTypeSubtypeOf(candidate, type) ? candidate : + isTypeAssignableTo(type, candidate) ? type : + isTypeAssignableTo(candidate, type) ? candidate : + getIntersectionType([type, candidate]); } function narrowTypeByCallExpression(type, callExpression, assumeTrue) { if (hasMatchingArgument(callExpression, reference)) { @@ -71282,15 +72236,15 @@ var ts; var predicateArgument = getTypePredicateArgument(predicate, callExpression); if (predicateArgument) { if (isMatchingReference(reference, predicateArgument)) { - return getNarrowedType(type, predicate.type, assumeTrue, isTypeSubtypeOf); + return getNarrowedType(type, predicate.type, assumeTrue, /*checkDerived*/ false); } if (strictNullChecks && assumeTrue && optionalChainContainsReference(predicateArgument, reference) && !(getTypeFacts(predicate.type) & 65536 /* TypeFacts.EQUndefined */)) { - type = getTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); + type = getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } var access = getDiscriminantPropertyAccess(predicateArgument, type); if (access) { - return narrowTypeByDiscriminant(type, access, function (t) { return getNarrowedType(t, predicate.type, assumeTrue, isTypeSubtypeOf); }); + return narrowTypeByDiscriminant(type, access, function (t) { return getNarrowedType(t, predicate.type, assumeTrue, /*checkDerived*/ false); }); } } } @@ -71343,7 +72297,7 @@ var ts; } function narrowTypeByOptionality(type, expr, assumePresent) { if (isMatchingReference(reference, expr)) { - return getTypeWithFacts(type, assumePresent ? 2097152 /* TypeFacts.NEUndefinedOrNull */ : 262144 /* TypeFacts.EQUndefinedOrNull */); + return getAdjustedTypeWithFacts(type, assumePresent ? 2097152 /* TypeFacts.NEUndefinedOrNull */ : 262144 /* TypeFacts.EQUndefinedOrNull */); } var access = getDiscriminantPropertyAccess(expr, type); if (access) { @@ -71429,8 +72383,8 @@ var ts; var annotationIncludesUndefined = strictNullChecks && declaration.kind === 164 /* SyntaxKind.Parameter */ && declaration.initializer && - getFalsyFlags(declaredType) & 32768 /* TypeFlags.Undefined */ && - !(getFalsyFlags(checkExpression(declaration.initializer)) & 32768 /* TypeFlags.Undefined */); + getTypeFacts(declaredType) & 16777216 /* TypeFacts.IsUndefined */ && + !(getTypeFacts(checkExpression(declaration.initializer)) & 16777216 /* TypeFacts.IsUndefined */); popTypeResolution(); return annotationIncludesUndefined ? getTypeWithFacts(declaredType, 524288 /* TypeFacts.NEUndefined */) : declaredType; } @@ -71451,7 +72405,9 @@ var ts; !(someType(type, isGenericTypeWithoutNullableConstraint) && isGenericIndexType(getTypeOfExpression(parent.argumentExpression))); } function isGenericTypeWithUnionConstraint(type) { - return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* TypeFlags.Nullable */ | 1048576 /* TypeFlags.Union */)); + return type.flags & 2097152 /* TypeFlags.Intersection */ ? + ts.some(type.types, isGenericTypeWithUnionConstraint) : + !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* TypeFlags.Nullable */ | 1048576 /* TypeFlags.Union */)); } function isGenericTypeWithoutNullableConstraint(type) { return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */)); @@ -71465,7 +72421,7 @@ var ts; !((ts.isJsxOpeningElement(node.parent) || ts.isJsxSelfClosingElement(node.parent)) && node.parent.tagName === node) && (checkMode && checkMode & 64 /* CheckMode.RestBindingElement */ ? getContextualType(node, 8 /* ContextFlags.SkipBindingPatterns */) - : getContextualType(node)); + : getContextualType(node, /*contextFlags*/ undefined)); return contextualType && !isGenericType(contextualType); } function getNarrowableTypeForReference(type, reference, checkMode) { @@ -71479,7 +72435,7 @@ var ts; var substituteConstraints = !(checkMode && checkMode & 2 /* CheckMode.Inferential */) && someType(type, isGenericTypeWithUnionConstraint) && (isConstraintPosition(type, reference) || hasContextualTypeWithNoGenericTypes(reference, checkMode)); - return substituteConstraints ? mapType(type, function (t) { return t.flags & 465829888 /* TypeFlags.Instantiable */ ? getBaseConstraintOrType(t) : t; }) : type; + return substituteConstraints ? mapType(type, getBaseConstraintOrType) : type; } function isExportOrExportExpression(location) { return !!ts.findAncestor(location, function (n) { @@ -71627,9 +72583,7 @@ var ts; getNodeLinks(container).flags |= 8192 /* NodeCheckFlags.CaptureArguments */; return getTypeOfSymbol(symbol); } - // We should only mark aliases as referenced if there isn't a local value declaration - // for the symbol. Also, don't mark any property access expression LHS - checkPropertyAccessExpression will handle that - if (!(node.parent && ts.isPropertyAccessExpression(node.parent) && node.parent.expression === node)) { + if (shouldMarkIdentifierAliasReferenced(node)) { markAliasReferenced(symbol, node); } var localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); @@ -71756,13 +72710,32 @@ var ts; return convertAutoToAny(flowType); } } - else if (!assumeInitialized && !(getFalsyFlags(type) & 32768 /* TypeFlags.Undefined */) && getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */) { + else if (!assumeInitialized && !containsUndefinedType(type) && containsUndefinedType(flowType)) { error(node, ts.Diagnostics.Variable_0_is_used_before_being_assigned, symbolToString(symbol)); // Return the declared type to reduce follow-on errors return type; } return assignmentKind ? getBaseTypeOfLiteralType(flowType) : flowType; } + function shouldMarkIdentifierAliasReferenced(node) { + var _a; + var parent = node.parent; + if (parent) { + // A property access expression LHS? checkPropertyAccessExpression will handle that. + if (ts.isPropertyAccessExpression(parent) && parent.expression === node) { + return false; + } + // Next two check for an identifier inside a type only export. + if (ts.isExportSpecifier(parent) && parent.isTypeOnly) { + return false; + } + var greatGrandparent = (_a = parent.parent) === null || _a === void 0 ? void 0 : _a.parent; + if (greatGrandparent && ts.isExportDeclaration(greatGrandparent) && greatGrandparent.isTypeOnly) { + return false; + } + } + return true; + } function isInsideFunctionOrInstancePropertyInitializer(node, threshold) { return !!ts.findAncestor(node, function (n) { return n === threshold ? "quit" : ts.isFunctionLike(n) || (n.parent && ts.isPropertyDeclaration(n.parent) && !ts.hasStaticModifier(n.parent) && n.parent.initializer === n); }); } @@ -71890,7 +72863,7 @@ var ts; } function checkThisInStaticClassFieldInitializerInDecoratedClass(thisExpression, container) { if (ts.isPropertyDeclaration(container) && ts.hasStaticModifier(container) && - container.initializer && ts.textRangeContainsPositionInclusive(container.initializer, thisExpression.pos) && ts.length(container.parent.decorators)) { + container.initializer && ts.textRangeContainsPositionInclusive(container.initializer, thisExpression.pos) && ts.hasDecorators(container.parent)) { error(thisExpression, ts.Diagnostics.Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class); } } @@ -72312,7 +73285,7 @@ var ts; // We have an object literal method. Check if the containing object literal has a contextual type // that includes a ThisType. If so, T is the contextual type for 'this'. We continue looking in // any directly enclosing object literals. - var contextualType = getApparentTypeOfContextualType(containingLiteral); + var contextualType = getApparentTypeOfContextualType(containingLiteral, /*contextFlags*/ undefined); var literal = containingLiteral; var type = contextualType; while (type) { @@ -72324,7 +73297,7 @@ var ts; break; } literal = literal.parent.parent; - type = getApparentTypeOfContextualType(literal); + type = getApparentTypeOfContextualType(literal, /*contextFlags*/ undefined); } // There was no contextual ThisType for the containing object literal, so the contextual type // for 'this' is the non-null form of the contextual type for the containing object literal or @@ -72381,7 +73354,7 @@ var ts; tryGetTypeAtPosition(contextualSignature, index); } } - function getContextualTypeForVariableLikeDeclaration(declaration) { + function getContextualTypeForVariableLikeDeclaration(declaration, contextFlags) { var typeNode = ts.getEffectiveTypeAnnotationNode(declaration); if (typeNode) { return getTypeFromTypeNode(typeNode); @@ -72390,18 +73363,18 @@ var ts; case 164 /* SyntaxKind.Parameter */: return getContextuallyTypedParameterType(declaration); case 203 /* SyntaxKind.BindingElement */: - return getContextualTypeForBindingElement(declaration); + return getContextualTypeForBindingElement(declaration, contextFlags); case 167 /* SyntaxKind.PropertyDeclaration */: if (ts.isStatic(declaration)) { - return getContextualTypeForStaticPropertyDeclaration(declaration); + return getContextualTypeForStaticPropertyDeclaration(declaration, contextFlags); } // By default, do nothing and return undefined - only the above cases have context implied by a parent } } - function getContextualTypeForBindingElement(declaration) { + function getContextualTypeForBindingElement(declaration, contextFlags) { var parent = declaration.parent.parent; var name = declaration.propertyName || declaration.name; - var parentType = getContextualTypeForVariableLikeDeclaration(parent) || + var parentType = getContextualTypeForVariableLikeDeclaration(parent, contextFlags) || parent.kind !== 203 /* SyntaxKind.BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */); if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name)) return undefined; @@ -72417,8 +73390,8 @@ var ts; return getTypeOfPropertyOfType(parentType, text); } } - function getContextualTypeForStaticPropertyDeclaration(declaration) { - var parentType = ts.isExpression(declaration.parent) && getContextualType(declaration.parent); + function getContextualTypeForStaticPropertyDeclaration(declaration, contextFlags) { + var parentType = ts.isExpression(declaration.parent) && getContextualType(declaration.parent, contextFlags); if (!parentType) return undefined; return getTypeOfPropertyOfContextualType(parentType, getSymbolOfNode(declaration).escapedName); @@ -72434,29 +73407,32 @@ var ts; function getContextualTypeForInitializerExpression(node, contextFlags) { var declaration = node.parent; if (ts.hasInitializer(declaration) && node === declaration.initializer) { - var result = getContextualTypeForVariableLikeDeclaration(declaration); + var result = getContextualTypeForVariableLikeDeclaration(declaration, contextFlags); if (result) { return result; } - if (!(contextFlags & 8 /* ContextFlags.SkipBindingPatterns */) && ts.isBindingPattern(declaration.name)) { // This is less a contextual type and more an implied shape - in some cases, this may be undesirable + if (!(contextFlags & 8 /* ContextFlags.SkipBindingPatterns */) && ts.isBindingPattern(declaration.name) && declaration.name.elements.length > 0) { return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true, /*reportErrors*/ false); } } return undefined; } - function getContextualTypeForReturnExpression(node) { + function getContextualTypeForReturnExpression(node, contextFlags) { var func = ts.getContainingFunction(node); if (func) { - var contextualReturnType = getContextualReturnType(func); + var contextualReturnType = getContextualReturnType(func, contextFlags); if (contextualReturnType) { var functionFlags = ts.getFunctionFlags(func); if (functionFlags & 1 /* FunctionFlags.Generator */) { // Generator or AsyncGenerator function - var use = functionFlags & 2 /* FunctionFlags.Async */ ? 2 /* IterationUse.AsyncGeneratorReturnType */ : 1 /* IterationUse.GeneratorReturnType */; - var iterationTypes = getIterationTypesOfIterable(contextualReturnType, use, /*errorNode*/ undefined); - if (!iterationTypes) { + var isAsyncGenerator_1 = (functionFlags & 2 /* FunctionFlags.Async */) !== 0; + if (contextualReturnType.flags & 1048576 /* TypeFlags.Union */) { + contextualReturnType = filterType(contextualReturnType, function (type) { return !!getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, type, isAsyncGenerator_1); }); + } + var iterationReturnType = getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, contextualReturnType, (functionFlags & 2 /* FunctionFlags.Async */) !== 0); + if (!iterationReturnType) { return undefined; } - contextualReturnType = iterationTypes.returnType; + contextualReturnType = iterationReturnType; // falls through to unwrap Promise for AsyncGenerators } if (functionFlags & 2 /* FunctionFlags.Async */) { // Async function or AsyncGenerator function @@ -72477,15 +73453,19 @@ var ts; } return undefined; } - function getContextualTypeForYieldOperand(node) { + function getContextualTypeForYieldOperand(node, contextFlags) { var func = ts.getContainingFunction(node); if (func) { var functionFlags = ts.getFunctionFlags(func); - var contextualReturnType = getContextualReturnType(func); + var contextualReturnType = getContextualReturnType(func, contextFlags); if (contextualReturnType) { + var isAsyncGenerator_2 = (functionFlags & 2 /* FunctionFlags.Async */) !== 0; + if (!node.asteriskToken && contextualReturnType.flags & 1048576 /* TypeFlags.Union */) { + contextualReturnType = filterType(contextualReturnType, function (type) { return !!getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, type, isAsyncGenerator_2); }); + } return node.asteriskToken ? contextualReturnType - : getIterationTypeOfGeneratorFunctionReturnType(0 /* IterationTypeKind.Yield */, contextualReturnType, (functionFlags & 2 /* FunctionFlags.Async */) !== 0); + : getIterationTypeOfGeneratorFunctionReturnType(0 /* IterationTypeKind.Yield */, contextualReturnType, isAsyncGenerator_2); } } return undefined; @@ -72505,14 +73485,14 @@ var ts; } function getContextualIterationType(kind, functionDecl) { var isAsync = !!(ts.getFunctionFlags(functionDecl) & 2 /* FunctionFlags.Async */); - var contextualReturnType = getContextualReturnType(functionDecl); + var contextualReturnType = getContextualReturnType(functionDecl, /*contextFlags*/ undefined); if (contextualReturnType) { return getIterationTypeOfGeneratorFunctionReturnType(kind, contextualReturnType, isAsync) || undefined; } return undefined; } - function getContextualReturnType(functionDecl) { + function getContextualReturnType(functionDecl, contextFlags) { // If the containing function has a return type annotation, is a constructor, or is a get accessor whose // corresponding set accessor has a type annotation, return statements in the function are contextually typed var returnType = getReturnTypeFromAnnotation(functionDecl); @@ -72527,7 +73507,7 @@ var ts; } var iife = ts.getImmediatelyInvokedFunctionExpression(functionDecl); if (iife) { - return getContextualType(iife); + return getContextualType(iife, contextFlags); } return undefined; } @@ -72601,6 +73581,14 @@ var ts; var lhsType = getTypeOfExpression(e.expression); return ts.isPrivateIdentifier(e.name) ? tryGetPrivateIdentifierPropertyOfType(lhsType, e.name) : getPropertyOfType(lhsType, e.name.escapedText); } + if (ts.isElementAccessExpression(e)) { + var propType = checkExpressionCached(e.argumentExpression); + if (!isTypeUsableAsPropertyName(propType)) { + return undefined; + } + var lhsType = getTypeOfExpression(e.expression); + return getPropertyOfType(lhsType, getPropertyNameFromType(propType)); + } return undefined; function tryGetPrivateIdentifierPropertyOfType(type, id) { var lexicallyScopedSymbol = lookupSymbolForPrivateIdentifierDeclaration(id.escapedText, id); @@ -72622,7 +73610,7 @@ var ts; if (decl && (ts.isPropertyDeclaration(decl) || ts.isPropertySignature(decl))) { var overallAnnotation = ts.getEffectiveTypeAnnotationNode(decl); return (overallAnnotation && instantiateType(getTypeFromTypeNode(overallAnnotation), getSymbolLinks(lhsSymbol).mapper)) || - (decl.initializer && getTypeOfExpression(binaryExpression.left)); + (ts.isPropertyDeclaration(decl) ? decl.initializer && getTypeOfExpression(binaryExpression.left) : undefined); } if (kind === 0 /* AssignmentDeclarationKind.None */) { return getTypeOfExpression(binaryExpression.left); @@ -72717,7 +73705,25 @@ var ts; } function getTypeOfPropertyOfContextualType(type, name, nameType) { return mapType(type, function (t) { - var _a; + if (t.flags & 2097152 /* TypeFlags.Intersection */) { + var intersection = t; + var newTypes = ts.mapDefined(intersection.types, getTypeOfConcretePropertyOfContextualType); + if (newTypes.length > 0) { + return getIntersectionType(newTypes); + } + newTypes = ts.mapDefined(intersection.types, getTypeOfApplicableIndexInfoOfContextualType); + if (newTypes.length > 0) { + return getIntersectionType(newTypes); + } + return undefined; + } + var concretePropertyType = getTypeOfConcretePropertyOfContextualType(t); + if (concretePropertyType) { + return concretePropertyType; + } + return getTypeOfApplicableIndexInfoOfContextualType(t); + }, /*noReductions*/ true); + function getTypeOfConcretePropertyOfContextualType(t) { if (isGenericMappedType(t) && !t.declaration.nameType) { var constraint = getConstraintTypeFromMappedType(t); var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint; @@ -72725,8 +73731,9 @@ var ts; if (isTypeAssignableTo(propertyNameType, constraintOfConstraint)) { return substituteIndexedMappedType(t, propertyNameType); } + return undefined; } - else if (t.flags & 3670016 /* TypeFlags.StructuredType */) { + if (t.flags & 3670016 /* TypeFlags.StructuredType */) { var prop = getPropertyOfType(t, name); if (prop) { return isCircularMappedProperty(prop) ? undefined : getTypeOfSymbol(prop); @@ -72737,10 +73744,16 @@ var ts; return restType; } } - return (_a = findApplicableIndexInfo(getIndexInfosOfStructuredType(t), nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)))) === null || _a === void 0 ? void 0 : _a.type; } return undefined; - }, /*noReductions*/ true); + } + function getTypeOfApplicableIndexInfoOfContextualType(t) { + var _a; + if (!(t.flags & 3670016 /* TypeFlags.StructuredType */)) { + return undefined; + } + return (_a = findApplicableIndexInfo(getIndexInfosOfStructuredType(t), nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)))) === null || _a === void 0 ? void 0 : _a.type; + } } // In an object literal contextually typed by a type T, the contextual type of a property assignment is the type of // the matching property in T, if one exists. Otherwise, it is the type of the numeric index signature in T, if one @@ -72755,7 +73768,7 @@ var ts; } function getContextualTypeForObjectLiteralElement(element, contextFlags) { var objectLiteral = element.parent; - var propertyAssignmentType = ts.isPropertyAssignment(element) && getContextualTypeForVariableLikeDeclaration(element); + var propertyAssignmentType = ts.isPropertyAssignment(element) && getContextualTypeForVariableLikeDeclaration(element, contextFlags); if (propertyAssignmentType) { return propertyAssignmentType; } @@ -72790,8 +73803,8 @@ var ts; var conditional = node.parent; return node === conditional.whenTrue || node === conditional.whenFalse ? getContextualType(conditional, contextFlags) : undefined; } - function getContextualTypeForChildJsxExpression(node, child) { - var attributesType = getApparentTypeOfContextualType(node.openingElement.tagName); + function getContextualTypeForChildJsxExpression(node, child, contextFlags) { + var attributesType = getApparentTypeOfContextualType(node.openingElement.tagName, contextFlags); // JSX expression is in children of JSX Element, we will look for an "children" attribute (we get the name from JSX.ElementAttributesProperty) var jsxChildrenPropertyName = getJsxElementChildrenPropertyName(getJsxNamespaceAt(node)); if (!(attributesType && !isTypeAny(attributesType) && jsxChildrenPropertyName && jsxChildrenPropertyName !== "")) { @@ -72809,27 +73822,27 @@ var ts; } }, /*noReductions*/ true)); } - function getContextualTypeForJsxExpression(node) { + function getContextualTypeForJsxExpression(node, contextFlags) { var exprParent = node.parent; return ts.isJsxAttributeLike(exprParent) - ? getContextualType(node) + ? getContextualType(node, contextFlags) : ts.isJsxElement(exprParent) - ? getContextualTypeForChildJsxExpression(exprParent, node) + ? getContextualTypeForChildJsxExpression(exprParent, node, contextFlags) : undefined; } - function getContextualTypeForJsxAttribute(attribute) { + function getContextualTypeForJsxAttribute(attribute, contextFlags) { // When we trying to resolve JsxOpeningLikeElement as a stateless function element, we will already give its attributes a contextual type // which is a type of the parameter of the signature we are trying out. // If there is no contextual type (e.g. we are trying to resolve stateful component), get attributes type from resolving element's tagName if (ts.isJsxAttribute(attribute)) { - var attributesType = getApparentTypeOfContextualType(attribute.parent); + var attributesType = getApparentTypeOfContextualType(attribute.parent, contextFlags); if (!attributesType || isTypeAny(attributesType)) { return undefined; } return getTypeOfPropertyOfContextualType(attributesType, attribute.name.escapedText); } else { - return getContextualType(attribute.parent); + return getContextualType(attribute.parent, contextFlags); } } // Return true if the given expression is possibly a discriminant value. We limit the kinds of @@ -72882,22 +73895,20 @@ var ts; var inferenceContext = getInferenceContext(node); // If no inferences have been made, nothing is gained from instantiating as type parameters // would just be replaced with their defaults similar to the apparent type. - if (inferenceContext && ts.some(inferenceContext.inferences, hasInferenceCandidates)) { + if (inferenceContext && contextFlags & 1 /* ContextFlags.Signature */ && ts.some(inferenceContext.inferences, hasInferenceCandidates)) { // For contextual signatures we incorporate all inferences made so far, e.g. from return // types as well as arguments to the left in a function call. - if (contextFlags && contextFlags & 1 /* ContextFlags.Signature */) { - return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper); - } + return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper); + } + if (inferenceContext === null || inferenceContext === void 0 ? void 0 : inferenceContext.returnMapper) { // For other purposes (e.g. determining whether to produce literal types) we only // incorporate inferences made from the return type in a function call. We remove // the 'boolean' type from the contextual type such that contextually typed boolean // literals actually end up widening to 'boolean' (see #48363). - if (inferenceContext.returnMapper) { - var type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper); - return type.flags & 1048576 /* TypeFlags.Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ? - filterType(type, function (t) { return t !== regularFalseType && t !== regularTrueType; }) : - type; - } + var type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper); + return type.flags & 1048576 /* TypeFlags.Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ? + filterType(type, function (t) { return t !== regularFalseType && t !== regularTrueType; }) : + type; } } return contextualType; @@ -72952,9 +73963,9 @@ var ts; return getContextualTypeForInitializerExpression(node, contextFlags); case 214 /* SyntaxKind.ArrowFunction */: case 247 /* SyntaxKind.ReturnStatement */: - return getContextualTypeForReturnExpression(node); + return getContextualTypeForReturnExpression(node, contextFlags); case 224 /* SyntaxKind.YieldExpression */: - return getContextualTypeForYieldOperand(parent); + return getContextualTypeForYieldOperand(parent, contextFlags); case 218 /* SyntaxKind.AwaitExpression */: return getContextualTypeForAwaitOperand(parent, contextFlags); case 208 /* SyntaxKind.CallExpression */: @@ -72992,17 +74003,17 @@ var ts; case 271 /* SyntaxKind.ExportAssignment */: return tryGetTypeFromEffectiveTypeNode(parent); case 288 /* SyntaxKind.JsxExpression */: - return getContextualTypeForJsxExpression(parent); + return getContextualTypeForJsxExpression(parent, contextFlags); case 285 /* SyntaxKind.JsxAttribute */: case 287 /* SyntaxKind.JsxSpreadAttribute */: - return getContextualTypeForJsxAttribute(parent); + return getContextualTypeForJsxAttribute(parent, contextFlags); case 280 /* SyntaxKind.JsxOpeningElement */: case 279 /* SyntaxKind.JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent, contextFlags); } return undefined; function tryFindWhenConstTypeReference(node) { - return getContextualType(node); + return getContextualType(node, contextFlags); } } function getInferenceContext(node) { @@ -73262,8 +74273,8 @@ var ts; } var signatureList; var types = type.types; - for (var _i = 0, types_19 = types; _i < types_19.length; _i++) { - var current = types_19[_i]; + for (var _i = 0, types_18 = types; _i < types_18.length; _i++) { + var current = types_18[_i]; var signature = getContextualCallSignature(current, node); if (signature) { if (!signatureList) { @@ -73304,7 +74315,7 @@ var ts; var elementCount = elements.length; var elementTypes = []; var elementFlags = []; - var contextualType = getApparentTypeOfContextualType(node); + var contextualType = getApparentTypeOfContextualType(node, /*contextFlags*/ undefined); var inDestructuringPattern = ts.isAssignmentTarget(node); var inConstContext = isConstContext(node); var hasOmittedExpression = false; @@ -73475,7 +74486,7 @@ var ts; var propertiesTable = ts.createSymbolTable(); var propertiesArray = []; var spread = emptyObjectType; - var contextualType = getApparentTypeOfContextualType(node); + var contextualType = getApparentTypeOfContextualType(node, /*contextFlags*/ undefined); var contextualTypeHasPattern = contextualType && contextualType.pattern && (contextualType.pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ || contextualType.pattern.kind === 205 /* SyntaxKind.ObjectLiteralExpression */); var inConstContext = isConstContext(node); @@ -73814,7 +74825,7 @@ var ts; if (explicitlySpecifyChildrenAttribute) { error(attributes, ts.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, ts.unescapeLeadingUnderscores(jsxChildrenPropertyName)); } - var contextualType = getApparentTypeOfContextualType(openingLikeElement.attributes); + var contextualType = getApparentTypeOfContextualType(openingLikeElement.attributes, /*contextFlags*/ undefined); var childrenContextualType = contextualType && getTypeOfPropertyOfContextualType(contextualType, jsxChildrenPropertyName); // If there are children in the body of JSX element, create dummy attribute "children" with the union of children types so that it will pass the attribute checking process var childrenPropSymbol = createSymbol(4 /* SymbolFlags.Property */, jsxChildrenPropertyName); @@ -74425,19 +75436,19 @@ var ts; return checkNonNullType(checkExpression(node), node); } function isNullableType(type) { - return !!((strictNullChecks ? getFalsyFlags(type) : type.flags) & 98304 /* TypeFlags.Nullable */); + return !!(getTypeFacts(type) & 50331648 /* TypeFacts.IsUndefinedOrNull */); } function getNonNullableTypeIfNeeded(type) { return isNullableType(type) ? getNonNullableType(type) : type; } - function reportObjectPossiblyNullOrUndefinedError(node, flags) { - error(node, flags & 32768 /* TypeFlags.Undefined */ ? flags & 65536 /* TypeFlags.Null */ ? + function reportObjectPossiblyNullOrUndefinedError(node, facts) { + error(node, facts & 16777216 /* TypeFacts.IsUndefined */ ? facts & 33554432 /* TypeFacts.IsNull */ ? ts.Diagnostics.Object_is_possibly_null_or_undefined : ts.Diagnostics.Object_is_possibly_undefined : ts.Diagnostics.Object_is_possibly_null); } - function reportCannotInvokePossiblyNullOrUndefinedError(node, flags) { - error(node, flags & 32768 /* TypeFlags.Undefined */ ? flags & 65536 /* TypeFlags.Null */ ? + function reportCannotInvokePossiblyNullOrUndefinedError(node, facts) { + error(node, facts & 16777216 /* TypeFacts.IsUndefined */ ? facts & 33554432 /* TypeFacts.IsNull */ ? ts.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null_or_undefined : ts.Diagnostics.Cannot_invoke_an_object_which_is_possibly_undefined : ts.Diagnostics.Cannot_invoke_an_object_which_is_possibly_null); @@ -74447,9 +75458,9 @@ var ts; error(node, ts.Diagnostics.Object_is_of_type_unknown); return errorType; } - var kind = (strictNullChecks ? getFalsyFlags(type) : type.flags) & 98304 /* TypeFlags.Nullable */; - if (kind) { - reportError(node, kind); + var facts = getTypeFacts(type); + if (facts & 50331648 /* TypeFacts.IsUndefinedOrNull */) { + reportError(node, facts); var t = getNonNullableType(type); return t.flags & (98304 /* TypeFlags.Nullable */ | 131072 /* TypeFlags.Never */) ? errorType : t; } @@ -74618,9 +75629,8 @@ var ts; markAliasReferenced(parentSymbol, node); } return isErrorType(apparentType) ? errorType : apparentType; - ; } - prop = getPropertyOfType(apparentType, right.escapedText); + prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* SyntaxKind.QualifiedName */); } // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums. // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined @@ -74745,7 +75755,7 @@ var ts; assumeUninitialized = true; } var flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType); - if (assumeUninitialized && !(getFalsyFlags(propType) & 32768 /* TypeFlags.Undefined */) && getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */) { + if (assumeUninitialized && !containsUndefinedType(propType) && containsUndefinedType(flowType)) { error(errorNode, ts.Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop)); // TODO: GH#18217 // Return the declared type to reduce follow-on errors return propType; @@ -74928,9 +75938,9 @@ var ts; function getSuggestedSymbolForNonexistentProperty(name, containingType) { var props = getPropertiesOfType(containingType); if (typeof name !== "string") { - var parent_2 = name.parent; - if (ts.isPropertyAccessExpression(parent_2)) { - props = ts.filter(props, function (prop) { return isValidPropertyAccessForCompletions(parent_2, containingType, prop); }); + var parent_3 = name.parent; + if (ts.isPropertyAccessExpression(parent_3)) { + props = ts.filter(props, function (prop) { return isValidPropertyAccessForCompletions(parent_3, containingType, prop); }); } name = ts.idText(name); } @@ -75432,29 +76442,43 @@ var ts; // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. if (node.kind !== 165 /* SyntaxKind.Decorator */) { - var contextualType = getContextualType(node, ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }) ? 8 /* ContextFlags.SkipBindingPatterns */ : 0 /* ContextFlags.None */); + var skipBindingPatterns = ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }); + var contextualType = getContextualType(node, skipBindingPatterns ? 8 /* ContextFlags.SkipBindingPatterns */ : 0 /* ContextFlags.None */); if (contextualType) { var inferenceTargetType = getReturnTypeOfSignature(signature); if (couldContainTypeVariables(inferenceTargetType)) { - // We clone the inference context to avoid disturbing a resolution in progress for an - // outer call expression. Effectively we just want a snapshot of whatever has been - // inferred for any outer call expression so far. var outerContext = getInferenceContext(node); - var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1 /* InferenceFlags.NoDefault */)); - var instantiatedType = instantiateType(contextualType, outerMapper); - // If the contextual type is a generic function type with a single call signature, we - // instantiate the type with its own type parameters and type arguments. This ensures that - // the type parameters are not erased to type any during type inference such that they can - // be inferred as actual types from the contextual type. For example: - // declare function arrayMap(f: (x: T) => U): (a: T[]) => U[]; - // const boxElements: (a: A[]) => { value: A }[] = arrayMap(value => ({ value })); - // Above, the type of the 'value' parameter is inferred to be 'A'. - var contextualSignature = getSingleCallSignature(instantiatedType); - var inferenceSourceType = contextualSignature && contextualSignature.typeParameters ? - getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(contextualSignature, contextualSignature.typeParameters)) : - instantiatedType; - // Inferences made from return types have lower priority than all other inferences. - inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* InferencePriority.ReturnType */); + var isFromBindingPattern = !skipBindingPatterns && getContextualType(node, 8 /* ContextFlags.SkipBindingPatterns */) !== contextualType; + // A return type inference from a binding pattern can be used in instantiating the contextual + // type of an argument later in inference, but cannot stand on its own as the final return type. + // It is incorporated into `context.returnMapper` which is used in `instantiateContextualType`, + // but doesn't need to go into `context.inferences`. This allows a an array binding pattern to + // produce a tuple for `T` in + // declare function f(cb: () => T): T; + // const [e1, e2, e3] = f(() => [1, "hi", true]); + // but does not produce any inference for `T` in + // declare function f(): T; + // const [e1, e2, e3] = f(); + if (!isFromBindingPattern) { + // We clone the inference context to avoid disturbing a resolution in progress for an + // outer call expression. Effectively we just want a snapshot of whatever has been + // inferred for any outer call expression so far. + var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1 /* InferenceFlags.NoDefault */)); + var instantiatedType = instantiateType(contextualType, outerMapper); + // If the contextual type is a generic function type with a single call signature, we + // instantiate the type with its own type parameters and type arguments. This ensures that + // the type parameters are not erased to type any during type inference such that they can + // be inferred as actual types from the contextual type. For example: + // declare function arrayMap(f: (x: T) => U): (a: T[]) => U[]; + // const boxElements: (a: A[]) => { value: A }[] = arrayMap(value => ({ value })); + // Above, the type of the 'value' parameter is inferred to be 'A'. + var contextualSignature = getSingleCallSignature(instantiatedType); + var inferenceSourceType = contextualSignature && contextualSignature.typeParameters ? + getOrCreateTypeFromSignature(getSignatureInstantiationWithoutFillingInTypeArguments(contextualSignature, contextualSignature.typeParameters)) : + instantiatedType; + // Inferences made from return types have lower priority than all other inferences. + inferTypes(context.inferences, inferenceSourceType, inferenceTargetType, 128 /* InferencePriority.ReturnType */); + } // Create a type mapper for instantiating generic contextual types using the inferences made // from the return type. We need a separate inference pass here because (a) instantiation of // the source type uses the outer context's return mapper (which excludes inferences made from @@ -75781,7 +76805,7 @@ var ts; if (spreadIndex >= 0) { // Create synthetic arguments from spreads of tuple types. var effectiveArgs_1 = args.slice(0, spreadIndex); - var _loop_24 = function (i) { + var _loop_26 = function (i) { var arg = args[i]; // We can call checkExpressionCached because spread expressions never have a contextual type. var spreadType = arg.kind === 225 /* SyntaxKind.SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); @@ -75798,7 +76822,7 @@ var ts; } }; for (var i = spreadIndex; i < args.length; i++) { - _loop_24(i); + _loop_26(i); } return effectiveArgs_1; } @@ -76005,7 +77029,7 @@ var ts; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var reportErrors = !candidatesOutArray; var typeArguments; - if (!isDecorator) { + if (!isDecorator && !ts.isSuperCall(node)) { typeArguments = node.typeArguments; // We already perform checking on the type arguments on the class declaration itself. if (isTaggedTemplate || isJsxOpeningOrSelfClosingElement || node.expression.kind !== 106 /* SyntaxKind.SuperKeyword */) { @@ -76084,6 +77108,15 @@ var ts; if (result) { return result; } + result = getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray, checkMode); + // Preemptively cache the result; getResolvedSignature will do this after we return, but + // we need to ensure that the result is present for the error checks below so that if + // this signature is encountered again, we handle the circularity (rather than producing a + // different result which may produce no errors and assert). Callers of getResolvedSignature + // don't hit this issue because they only observe this result after it's had a chance to + // be cached, but the error reporting code below executes before getResolvedSignature sets + // resolvedSignature. + getNodeLinks(node).resolvedSignature = result; // No signatures were applicable. Now report errors based on the last applicable signature with // no arguments excluded from assignability checks. // If candidate is undefined, it means that no candidates had a suitable arity. In that case, @@ -76118,7 +77151,7 @@ var ts; var min_3 = Number.MAX_VALUE; var minIndex = 0; var i_1 = 0; - var _loop_25 = function (c) { + var _loop_27 = function (c) { var chain_2 = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Overload_0_of_1_2_gave_the_following_error, i_1 + 1, candidates.length, signatureToString(c)); }; var diags_2 = getSignatureApplicabilityError(node, args, c, assignableRelation, 0 /* CheckMode.Normal */, /*reportErrors*/ true, chain_2); if (diags_2) { @@ -76136,7 +77169,7 @@ var ts; }; for (var _a = 0, candidatesForArgumentError_1 = candidatesForArgumentError; _a < candidatesForArgumentError_1.length; _a++) { var c = candidatesForArgumentError_1[_a]; - _loop_25(c); + _loop_27(c); } var diags_3 = max > 1 ? allDiagnostics[minIndex] : ts.flatten(allDiagnostics); ts.Debug.assert(diags_3.length > 0, "No errors reported for 3 or fewer overload signatures"); @@ -76175,7 +77208,7 @@ var ts; } } } - return getCandidateForOverloadFailure(node, candidates, args, !!candidatesOutArray, checkMode); + return result; function addImplementationSuccessElaboration(failed, diagnostic) { var _a, _b; var oldCandidatesForArgumentError = candidatesForArgumentError; @@ -76255,7 +77288,7 @@ var ts; argCheckMode = checkMode & 32 /* CheckMode.IsForStringLiteralArgumentCompletions */; if (inferenceContext) { var typeArgumentTypes = inferTypeArguments(node, candidate, args, argCheckMode, inferenceContext); - checkCandidate = getSignatureInstantiation(candidate, typeArgumentTypes, ts.isInJSFile(candidate.declaration), inferenceContext && inferenceContext.inferredTypeParameters); + checkCandidate = getSignatureInstantiation(candidate, typeArgumentTypes, ts.isInJSFile(candidate.declaration), inferenceContext.inferredTypeParameters); // If the original signature has a generic rest type, instantiation may produce a // signature with different arity and we need to perform another arity check. if (getNonArrayRestType(candidate) && !hasCorrectArity(node, args, checkCandidate, signatureHelpTrailingComma)) { @@ -76294,7 +77327,7 @@ var ts; } var _a = ts.minAndMax(candidates, getNumNonRestParameters), minArgumentCount = _a.min, maxNonRestParam = _a.max; var parameters = []; - var _loop_26 = function (i) { + var _loop_28 = function (i) { var symbols = ts.mapDefined(candidates, function (s) { return signatureHasRestParameter(s) ? i < s.parameters.length - 1 ? s.parameters[i] : ts.last(s.parameters) : i < s.parameters.length ? s.parameters[i] : undefined; }); @@ -76302,7 +77335,7 @@ var ts; parameters.push(createCombinedSymbolFromTypes(symbols, ts.mapDefined(candidates, function (candidate) { return tryGetTypeAtPosition(candidate, i); }))); }; for (var i = 0; i < maxNonRestParam; i++) { - _loop_26(i); + _loop_28(i); } var restParameterSymbols = ts.mapDefined(candidates, function (c) { return signatureHasRestParameter(c) ? ts.last(c.parameters) : undefined; }); var flags = 0 /* SignatureFlags.None */; @@ -76470,7 +77503,7 @@ var ts; // returns a function type, we choose to defer processing. This narrowly permits function composition // operators to flow inferences through return types, but otherwise processes calls right away. We // use the resolvingSignature singleton to indicate that we deferred processing. This result will be - // propagated out and eventually turned into nonInferrableType (a type that is assignable to anything and + // propagated out and eventually turned into silentNeverType (a type that is assignable to anything and // from which we never make inferences). if (checkMode & 8 /* CheckMode.SkipGenericFunctions */ && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunction)) { skippedGenericFunction(node, checkMode); @@ -76647,8 +77680,8 @@ var ts; if (apparentType.flags & 1048576 /* TypeFlags.Union */) { var types = apparentType.types; var hasSignatures = false; - for (var _i = 0, types_20 = types; _i < types_20.length; _i++) { - var constituent = types_20[_i]; + for (var _i = 0, types_19 = types; _i < types_19.length; _i++) { + var constituent = types_19[_i]; var signatures = getSignaturesOfType(constituent, kind); if (signatures.length !== 0) { hasSignatures = true; @@ -76814,7 +77847,7 @@ var ts; // file would probably be preferable. var typeSymbol = exports && getSymbol(exports, JsxNames.Element, 788968 /* SymbolFlags.Type */); var returnNode = typeSymbol && nodeBuilder.symbolToEntityName(typeSymbol, 788968 /* SymbolFlags.Type */, node); - var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); var parameterSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, "props"); parameterSymbol.type = result; return createSignature(declaration, @@ -77023,8 +78056,8 @@ var ts; var signature = getResolvedSignature(node, /*candidatesOutArray*/ undefined, checkMode); if (signature === resolvingSignature) { // CheckMode.SkipGenericFunctions is enabled and this is a call to a generic function that - // returns a function type. We defer checking and return nonInferrableType. - return nonInferrableType; + // returns a function type. We defer checking and return silentNeverType. + return silentNeverType; } checkDeprecatedSignature(signature, node); if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { @@ -77632,17 +78665,6 @@ var ts; } } } - var restType = getEffectiveRestType(context); - if (restType && restType.flags & 262144 /* TypeFlags.TypeParameter */) { - // The contextual signature has a generic rest parameter. We first instantiate the contextual - // signature (without fixing type parameters) and assign types to contextually typed parameters. - var instantiatedContext = instantiateSignature(context, inferenceContext.nonFixingMapper); - assignContextualParameterTypes(signature, instantiatedContext); - // We then infer from a tuple type representing the parameters that correspond to the contextual - // rest parameter. - var restPos = getParameterCount(context) - 1; - inferTypes(inferenceContext.inferences, getRestTypeAtPosition(signature, restPos), restType); - } } function assignContextualParameterTypes(signature, context) { if (context.typeParameters) { @@ -77835,7 +78857,7 @@ var ts; var contextualSignature = getContextualSignatureForFunctionLikeDeclaration(func); var contextualType = !contextualSignature ? undefined : contextualSignature === getSignatureFromDeclaration(func) ? isGenerator ? undefined : returnType : - instantiateContextualType(getReturnTypeOfSignature(contextualSignature), func); + instantiateContextualType(getReturnTypeOfSignature(contextualSignature), func, /*contextFlags*/ undefined); if (isGenerator) { yieldType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(yieldType, contextualType, 0 /* IterationTypeKind.Yield */, isAsync); returnType = getWidenedLiteralLikeTypeForContextualIterationTypeIfNeeded(returnType, contextualType, 1 /* IterationTypeKind.Return */, isAsync); @@ -77906,7 +78928,7 @@ var ts; nextType = iterationTypes && iterationTypes.nextType; } else { - nextType = getContextualType(yieldExpression); + nextType = getContextualType(yieldExpression, /*contextFlags*/ undefined); } if (nextType) ts.pushIfUnique(nextTypes, nextType); @@ -77921,45 +78943,12 @@ var ts; ? ts.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member : ts.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member); } - /** - * Collect the TypeFacts learned from a typeof switch with - * total clauses `witnesses`, and the active clause ranging - * from `start` to `end`. Parameter `hasDefault` denotes - * whether the active clause contains a default clause. - */ - function getFactsFromTypeofSwitch(start, end, witnesses, hasDefault) { + // Return the combined not-equal type facts for all cases except those between the start and end indices. + function getNotEqualFactsFromTypeofSwitch(start, end, witnesses) { var facts = 0 /* TypeFacts.None */; - // When in the default we only collect inequality facts - // because default is 'in theory' a set of infinite - // equalities. - if (hasDefault) { - // Value is not equal to any types after the active clause. - for (var i = end; i < witnesses.length; i++) { - facts |= typeofNEFacts.get(witnesses[i]) || 32768 /* TypeFacts.TypeofNEHostObject */; - } - // Remove inequalities for types that appear in the - // active clause because they appear before other - // types collected so far. - for (var i = start; i < end; i++) { - facts &= ~(typeofNEFacts.get(witnesses[i]) || 0); - } - // Add inequalities for types before the active clause unconditionally. - for (var i = 0; i < start; i++) { - facts |= typeofNEFacts.get(witnesses[i]) || 32768 /* TypeFacts.TypeofNEHostObject */; - } - } - // When in an active clause without default the set of - // equalities is finite. - else { - // Add equalities for all types in the active clause. - for (var i = start; i < end; i++) { - facts |= typeofEQFacts.get(witnesses[i]) || 128 /* TypeFacts.TypeofEQHostObject */; - } - // Remove equalities for types that appear before the - // active clause. - for (var i = 0; i < start; i++) { - facts &= ~(typeofEQFacts.get(witnesses[i]) || 0); - } + for (var i = 0; i < witnesses.length; i++) { + var witness = i < start || i >= end ? witnesses[i] : undefined; + facts |= witness !== undefined ? typeofNEFacts.get(witness) || 32768 /* TypeFacts.TypeofNEHostObject */ : 0; } return facts; } @@ -77969,16 +78958,19 @@ var ts; } function computeExhaustiveSwitchStatement(node) { if (node.expression.kind === 216 /* SyntaxKind.TypeOfExpression */) { - var operandType = getTypeOfExpression(node.expression.expression); - var witnesses = getSwitchClauseTypeOfWitnesses(node, /*retainDefault*/ false); - // notEqualFacts states that the type of the switched value is not equal to every type in the switch. - var notEqualFacts_1 = getFactsFromTypeofSwitch(0, 0, witnesses, /*hasDefault*/ true); - var type_6 = getBaseConstraintOfType(operandType) || operandType; - // Take any/unknown as a special condition. Or maybe we could change `type` to a union containing all primitive types. - if (type_6.flags & 3 /* TypeFlags.AnyOrUnknown */) { - return (556800 /* TypeFacts.AllTypeofNE */ & notEqualFacts_1) === 556800 /* TypeFacts.AllTypeofNE */; + var witnesses = getSwitchClauseTypeOfWitnesses(node); + if (!witnesses) { + return false; } - return !!(filterType(type_6, function (t) { return (getTypeFacts(t) & notEqualFacts_1) === notEqualFacts_1; }).flags & 131072 /* TypeFlags.Never */); + var operandConstraint = getBaseConstraintOrType(getTypeOfExpression(node.expression.expression)); + // Get the not-equal flags for all handled cases. + var notEqualFacts_2 = getNotEqualFactsFromTypeofSwitch(0, 0, witnesses); + if (operandConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */) { + // We special case the top types to be exhaustive when all cases are handled. + return (556800 /* TypeFacts.AllTypeofNE */ & notEqualFacts_2) === 556800 /* TypeFacts.AllTypeofNE */; + } + // A missing not-equal flag indicates that the type wasn't handled by some case. + return !someType(operandConstraint, function (t) { return (getTypeFacts(t) & notEqualFacts_2) === notEqualFacts_2; }); } var type = getTypeOfExpression(node.expression); if (!isLiteralType(type)) { @@ -78145,11 +79137,16 @@ var ts; if (isContextSensitive(node)) { if (contextualSignature) { var inferenceContext = getInferenceContext(node); + var instantiatedContextualSignature = void 0; if (checkMode && checkMode & 2 /* CheckMode.Inferential */) { inferFromAnnotatedParameters(signature, contextualSignature, inferenceContext); + var restType = getEffectiveRestType(contextualSignature); + if (restType && restType.flags & 262144 /* TypeFlags.TypeParameter */) { + instantiatedContextualSignature = instantiateSignature(contextualSignature, inferenceContext.nonFixingMapper); + } } - var instantiatedContextualSignature = inferenceContext ? - instantiateSignature(contextualSignature, inferenceContext.mapper) : contextualSignature; + instantiatedContextualSignature || (instantiatedContextualSignature = inferenceContext ? + instantiateSignature(contextualSignature, inferenceContext.mapper) : contextualSignature); assignContextualParameterTypes(signature, instantiatedContextualSignature); } else { @@ -78339,7 +79336,7 @@ var ts; var type = getTypeOfSymbol(symbol); if (strictNullChecks && !(type.flags & (3 /* TypeFlags.AnyOrUnknown */ | 131072 /* TypeFlags.Never */)) && - !(exactOptionalPropertyTypes ? symbol.flags & 16777216 /* SymbolFlags.Optional */ : getFalsyFlags(type) & 32768 /* TypeFlags.Undefined */)) { + !(exactOptionalPropertyTypes ? symbol.flags & 16777216 /* SymbolFlags.Optional */ : getTypeFacts(type) & 16777216 /* TypeFacts.IsUndefined */)) { error(expr, ts.Diagnostics.The_operand_of_a_delete_operator_must_be_optional); } } @@ -78448,7 +79445,7 @@ var ts; error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator)); } if (node.operator === 39 /* SyntaxKind.PlusToken */) { - if (maybeTypeOfKind(operandType, 2112 /* TypeFlags.BigIntLike */)) { + if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112 /* TypeFlags.BigIntLike */)) { error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType))); } return numberType; @@ -78507,8 +79504,8 @@ var ts; } if (type.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { var types = type.types; - for (var _i = 0, types_21 = types; _i < types_21.length; _i++) { - var t = types_21[_i]; + for (var _i = 0, types_20 = types; _i < types_20.length; _i++) { + var t = types_20[_i]; if (maybeTypeOfKind(t, kind)) { return true; } @@ -78735,7 +79732,7 @@ var ts; // In strict null checking mode, if a default value of a non-undefined type is specified, remove // undefined from the final type. if (strictNullChecks && - !(getFalsyFlags(checkExpression(prop.objectAssignmentInitializer)) & 32768 /* TypeFlags.Undefined */)) { + !(getTypeFacts(checkExpression(prop.objectAssignmentInitializer)) & 16777216 /* TypeFacts.IsUndefined */)) { sourceType = getTypeWithFacts(sourceType, 524288 /* TypeFacts.NEUndefined */); } checkBinaryLikeExpression(prop.name, prop.equalsToken, prop.objectAssignmentInitializer, checkMode); @@ -78748,6 +79745,10 @@ var ts; if (target.kind === 221 /* SyntaxKind.BinaryExpression */ && target.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; + // A default value is specified, so remove undefined from the final type. + if (strictNullChecks) { + sourceType = getTypeWithFacts(sourceType, 524288 /* TypeFacts.NEUndefined */); + } } if (target.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType, rightIsThis); @@ -78888,7 +79889,11 @@ var ts; var operator = operatorToken.kind; if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */ || operator === 56 /* SyntaxKind.BarBarToken */ || operator === 60 /* SyntaxKind.QuestionQuestionToken */) { if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */) { - var parent = ts.walkUpParenthesizedExpressions(node.parent); + var parent = node.parent; + while (parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */ + || ts.isBinaryExpression(parent) && (parent.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ || parent.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */)) { + parent = parent.parent; + } checkTestingKnownTruthyCallableOrAwaitableType(node.left, ts.isIfStatement(parent) ? parent.thenStatement : undefined); } checkTruthinessOfType(leftType, node.left); @@ -79112,6 +80117,10 @@ var ts; case 35 /* SyntaxKind.ExclamationEqualsToken */: case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: + if (ts.isLiteralExpressionOfObject(left) || ts.isLiteralExpressionOfObject(right)) { + var eqType = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */; + error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true"); + } reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); }); return booleanType; case 102 /* SyntaxKind.InstanceOfKeyword */: @@ -79131,7 +80140,7 @@ var ts; case 56 /* SyntaxKind.BarBarToken */: case 75 /* SyntaxKind.BarBarEqualsToken */: { var resultType_3 = getTypeFacts(leftType) & 8388608 /* TypeFacts.Falsy */ ? - getUnionType([removeDefinitelyFalsyTypes(leftType), rightType], 2 /* UnionReduction.Subtype */) : + getUnionType([getNonNullableType(removeDefinitelyFalsyTypes(leftType)), rightType], 2 /* UnionReduction.Subtype */) : leftType; if (operator === 75 /* SyntaxKind.BarBarEqualsToken */) { checkAssignmentOperator(rightType); @@ -79383,7 +80392,7 @@ var ts; type = anyType; addLazyDiagnostic(function () { if (noImplicitAny && !ts.expressionResultIsUnused(node)) { - var contextualType = getContextualType(node); + var contextualType = getContextualType(node, /*contextFlags*/ undefined); if (!contextualType || isTypeAny(contextualType)) { error(node, ts.Diagnostics.yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation); } @@ -79424,7 +80433,7 @@ var ts; texts.push(span.literal.text); types.push(isTypeAssignableTo(type, templateConstraintType) ? type : stringType); } - return isConstContext(node) || isTemplateLiteralContext(node) || someType(getContextualType(node) || unknownType, isTemplateLiteralContextualType) ? getTemplateLiteralType(texts, types) : stringType; + return isConstContext(node) || isTemplateLiteralContext(node) || someType(getContextualType(node, /*contextFlags*/ undefined) || unknownType, isTemplateLiteralContextualType) ? getTemplateLiteralType(texts, types) : stringType; } function isTemplateLiteralContextualType(type) { return !!(type.flags & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */) || @@ -79452,7 +80461,7 @@ var ts; // We strip literal freshness when an appropriate contextual type is present such that contextually typed // literals always preserve their literal types (otherwise they might widen during type inference). An alternative // here would be to not mark contextually typed literals as fresh in the first place. - var result = maybeTypeOfKind(type, 2944 /* TypeFlags.Literal */) && isLiteralOfContextualType(type, instantiateContextualType(contextualType, node)) ? + var result = maybeTypeOfKind(type, 2944 /* TypeFlags.Literal */) && isLiteralOfContextualType(type, instantiateContextualType(contextualType, node, /*contextFlags*/ undefined)) ? getRegularTypeOfLiteralType(type) : type; return result; } @@ -79567,7 +80576,7 @@ var ts; var type = checkExpression(node, checkMode, forceTuple); return isConstContext(node) || ts.isCommonJsExportedExpression(node) ? getRegularTypeOfLiteralType(type) : isTypeAssertion(node) ? type : - getWidenedLiteralLikeTypeForContextualType(type, instantiateContextualType(arguments.length === 2 ? getContextualType(node) : contextualType, node)); + getWidenedLiteralLikeTypeForContextualType(type, instantiateContextualType(arguments.length === 2 ? getContextualType(node, /*contextFlags*/ undefined) : contextualType, node, /*contextFlags*/ undefined)); } function checkPropertyAssignment(node, checkMode) { // Do not use hasDynamicName here, because that returns false for well known symbols. @@ -79677,8 +80686,8 @@ var ts; var result = []; var oldTypeParameters; var newTypeParameters; - for (var _i = 0, typeParameters_2 = typeParameters; _i < typeParameters_2.length; _i++) { - var tp = typeParameters_2[_i]; + for (var _i = 0, typeParameters_3 = typeParameters; _i < typeParameters_3.length; _i++) { + var tp = typeParameters_3[_i]; var name = tp.symbol.escapedName; if (hasTypeParameterByName(context.inferredTypeParameters, name) || hasTypeParameterByName(result, name)) { var newName = getUniqueTypeParameterName(ts.concatenate(context.inferredTypeParameters, result), name); @@ -80000,12 +81009,14 @@ var ts; error(node, ts.Diagnostics.Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types); } else if (modifiers === 32768 /* ModifierFlags.In */ || modifiers === 65536 /* ModifierFlags.Out */) { - var source = createMarkerType(symbol, typeParameter, modifiers === 65536 /* ModifierFlags.Out */ ? markerSubType : markerSuperType); - var target = createMarkerType(symbol, typeParameter, modifiers === 65536 /* ModifierFlags.Out */ ? markerSuperType : markerSubType); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("checkTypes" /* tracing.Phase.CheckTypes */, "checkTypeParameterDeferred", { parent: getTypeId(getDeclaredTypeOfSymbol(symbol)), id: getTypeId(typeParameter) }); + var source = createMarkerType(symbol, typeParameter, modifiers === 65536 /* ModifierFlags.Out */ ? markerSubTypeForCheck : markerSuperTypeForCheck); + var target = createMarkerType(symbol, typeParameter, modifiers === 65536 /* ModifierFlags.Out */ ? markerSuperTypeForCheck : markerSubTypeForCheck); var saveVarianceTypeParameter = typeParameter; varianceTypeParameter = typeParameter; checkTypeAssignableTo(source, target, node, ts.Diagnostics.Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation); varianceTypeParameter = saveVarianceTypeParameter; + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } } } @@ -80026,7 +81037,7 @@ var ts; error(node.name, ts.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name); } } - if (node.questionToken && ts.isBindingPattern(node.name) && func.body) { + if ((node.questionToken || isJSDocOptionalParameter(node)) && ts.isBindingPattern(node.name) && func.body) { error(node, ts.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature); } if (node.name && ts.isIdentifier(node.name) && (node.name.escapedText === "this" || node.name.escapedText === "new")) { @@ -80355,7 +81366,7 @@ var ts; var indexSymbol = getIndexSymbol(getSymbolOfNode(node)); if (indexSymbol === null || indexSymbol === void 0 ? void 0 : indexSymbol.declarations) { var indexSignatureMap_1 = new ts.Map(); - var _loop_27 = function (declaration) { + var _loop_29 = function (declaration) { if (declaration.parameters.length === 1 && declaration.parameters[0].type) { forEachType(getTypeFromTypeNode(declaration.parameters[0].type), function (type) { var entry = indexSignatureMap_1.get(getTypeId(type)); @@ -80370,7 +81381,7 @@ var ts; }; for (var _i = 0, _a = indexSymbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - _loop_27(declaration); + _loop_29(declaration); } indexSignatureMap_1.forEach(function (entry) { if (entry.declarations.length > 1) { @@ -80403,6 +81414,9 @@ var ts; // Grammar checking if (!checkGrammarMethod(node)) checkGrammarComputedPropertyName(node.name); + if (ts.isMethodDeclaration(node) && node.asteriskToken && ts.isIdentifier(node.name) && ts.idText(node.name) === "constructor") { + error(node.name, ts.Diagnostics.Class_constructor_may_not_be_a_generator); + } // Grammar checking for modifiers is done inside the function checkGrammarFunctionLikeDeclaration checkFunctionOrMethodDeclaration(node); // method signatures already report "implementation not allowed in ambient context" elsewhere @@ -80530,6 +81544,9 @@ var ts; return !!ts.forEachChild(node, nodeImmediatelyReferencesSuperOrThis); } function checkAccessorDeclaration(node) { + if (ts.isIdentifier(node.name) && ts.idText(node.name) === "constructor") { + error(node.name, ts.Diagnostics.Class_constructor_may_not_be_an_accessor); + } addLazyDiagnostic(checkAccessorDeclarationDiagnostics); checkSourceElement(node.body); setNodeLinksForPrivateIdentifierScope(node); @@ -80587,6 +81604,12 @@ var ts; function checkMissingDeclaration(node) { checkDecorators(node); } + function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { + if (index < typeParameters.length) { + return getTypeFromTypeNode(node.typeArguments[index]); + } + return getEffectiveTypeArguments(node, typeParameters)[index]; + } function getEffectiveTypeArguments(node, typeParameters) { return fillMissingTypeArguments(ts.map(node.typeArguments, getTypeFromTypeNode), typeParameters, getMinTypeArgumentCount(typeParameters), ts.isInJSFile(node)); } @@ -80828,8 +81851,11 @@ var ts; if (node.assertions) { var override = ts.getResolutionModeOverrideForClause(node.assertions.assertClause, grammarErrorOnNode); if (override) { + if (!ts.isNightly()) { + grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next); + } if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { - grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext); + grammarErrorOnNode(node.assertions.assertClause, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext); } } } @@ -81214,7 +82240,7 @@ var ts; * @param type The type of the promise. * @remarks The "promised type" of a type is the type of the "value" parameter of the "onfulfilled" callback. */ - function getPromisedTypeOfPromise(type, errorNode) { + function getPromisedTypeOfPromise(type, errorNode, thisTypeForErrorOut) { // // { // type // then( // thenFunction @@ -81249,7 +82275,29 @@ var ts; } return undefined; } - var onfulfilledParameterType = getTypeWithFacts(getUnionType(ts.map(thenSignatures, getTypeOfFirstParameterOfSignature)), 2097152 /* TypeFacts.NEUndefinedOrNull */); + var thisTypeForError; + var candidates; + for (var _i = 0, thenSignatures_1 = thenSignatures; _i < thenSignatures_1.length; _i++) { + var thenSignature = thenSignatures_1[_i]; + var thisType = getThisTypeOfSignature(thenSignature); + if (thisType && thisType !== voidType && !isTypeRelatedTo(type, thisType, subtypeRelation)) { + thisTypeForError = thisType; + } + else { + candidates = ts.append(candidates, thenSignature); + } + } + if (!candidates) { + ts.Debug.assertIsDefined(thisTypeForError); + if (thisTypeForErrorOut) { + thisTypeForErrorOut.value = thisTypeForError; + } + if (errorNode) { + error(errorNode, ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, typeToString(type), typeToString(thisTypeForError)); + } + return undefined; + } + var onfulfilledParameterType = getTypeWithFacts(getUnionType(ts.map(candidates, getTypeOfFirstParameterOfSignature)), 2097152 /* TypeFacts.NEUndefinedOrNull */); if (isTypeAny(onfulfilledParameterType)) { return undefined; } @@ -81303,6 +82351,34 @@ var ts; isAwaitedTypeInstantiation(type) ? type.aliasTypeArguments[0] : type; } + function isAwaitedTypeNeeded(type) { + // If this is already an `Awaited`, we shouldn't wrap it. This helps to avoid `Awaited>` in higher-order. + if (isTypeAny(type) || isAwaitedTypeInstantiation(type)) { + return false; + } + // We only need `Awaited` if `T` contains possibly non-primitive types. + if (isGenericObjectType(type)) { + var baseConstraint = getBaseConstraintOfType(type); + // We only need `Awaited` if `T` is a type variable that has no base constraint, or the base constraint of `T` is `any`, `unknown`, `{}`, `object`, + // or is promise-like. + if (baseConstraint ? + baseConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */ || isEmptyObjectType(baseConstraint) || isThenableType(baseConstraint) : + maybeTypeOfKind(type, 8650752 /* TypeFlags.TypeVariable */)) { + return true; + } + } + return false; + } + function tryCreateAwaitedType(type) { + // Nothing to do if `Awaited` doesn't exist + var awaitedSymbol = getGlobalAwaitedSymbol(/*reportErrors*/ true); + if (awaitedSymbol) { + // Unwrap unions that may contain `Awaited`, otherwise its possible to manufacture an `Awaited | U>` where + // an `Awaited` would suffice. + return getTypeAliasInstantiation(awaitedSymbol, [unwrapAwaitedType(type)]); + } + return undefined; + } function createAwaitedTypeIfNeeded(type) { // We wrap type `T` in `Awaited` based on the following conditions: // - `T` is not already an `Awaited`, and @@ -81311,26 +82387,10 @@ var ts; // - `T` has no base constraint, or // - The base constraint of `T` is `any`, `unknown`, `object`, or `{}`, or // - The base constraint of `T` is an object type with a callable `then` method. - if (isTypeAny(type)) { - return type; - } - // If this is already an `Awaited`, just return it. This helps to avoid `Awaited>` in higher-order. - if (isAwaitedTypeInstantiation(type)) { - return type; - } - // Only instantiate `Awaited` if `T` contains possibly non-primitive types. - if (isGenericObjectType(type)) { - var baseConstraint = getBaseConstraintOfType(type); - // Only instantiate `Awaited` if `T` has no base constraint, or the base constraint of `T` is `any`, `unknown`, `{}`, `object`, - // or is promise-like. - if (!baseConstraint || (baseConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */) || isEmptyObjectType(baseConstraint) || isThenableType(baseConstraint)) { - // Nothing to do if `Awaited` doesn't exist - var awaitedSymbol = getGlobalAwaitedSymbol(/*reportErrors*/ true); - if (awaitedSymbol) { - // Unwrap unions that may contain `Awaited`, otherwise its possible to manufacture an `Awaited | U>` where - // an `Awaited` would suffice. - return getTypeAliasInstantiation(awaitedSymbol, [unwrapAwaitedType(type)]); - } + if (isAwaitedTypeNeeded(type)) { + var awaitedType = tryCreateAwaitedType(type); + if (awaitedType) { + return awaitedType; } } ts.Debug.assert(getPromisedTypeOfPromise(type) === undefined, "type provided should not be a non-generic 'promise'-like."); @@ -81370,10 +82430,24 @@ var ts; } // For a union, get a union of the awaited types of each constituent. if (type.flags & 1048576 /* TypeFlags.Union */) { + if (awaitedTypeStack.lastIndexOf(type.id) >= 0) { + if (errorNode) { + error(errorNode, ts.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method); + } + return undefined; + } var mapper = errorNode ? function (constituentType) { return getAwaitedTypeNoAlias(constituentType, errorNode, diagnosticMessage, arg0); } : getAwaitedTypeNoAlias; - return typeAsAwaitable.awaitedTypeOfType = mapType(type, mapper); + awaitedTypeStack.push(type.id); + var mapped = mapType(type, mapper); + awaitedTypeStack.pop(); + return typeAsAwaitable.awaitedTypeOfType = mapped; } - var promisedType = getPromisedTypeOfPromise(type); + // If `type` is generic and should be wrapped in `Awaited`, return it. + if (isAwaitedTypeNeeded(type)) { + return typeAsAwaitable.awaitedTypeOfType = type; + } + var thisTypeForErrorOut = { value: undefined }; + var promisedType = getPromisedTypeOfPromise(type, /*errorNode*/ undefined, thisTypeForErrorOut); if (promisedType) { if (type.id === promisedType.id || awaitedTypeStack.lastIndexOf(promisedType.id) >= 0) { // Verify that we don't have a bad actor in the form of a promise whose @@ -81442,7 +82516,12 @@ var ts; if (isThenableType(type)) { if (errorNode) { ts.Debug.assertIsDefined(diagnosticMessage); - error(errorNode, diagnosticMessage, arg0); + var chain = void 0; + if (thisTypeForErrorOut.value) { + chain = ts.chainDiagnosticMessages(chain, ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1, typeToString(type), typeToString(thisTypeForErrorOut.value)); + } + chain = ts.chainDiagnosticMessages(chain, diagnosticMessage, arg0); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, chain)); } return undefined; } @@ -81638,8 +82717,8 @@ var ts; } function getEntityNameForDecoratorMetadataFromTypeList(types) { var commonEntityName; - for (var _i = 0, types_22 = types; _i < types_22.length; _i++) { - var typeNode = types_22[_i]; + for (var _i = 0, types_21 = types; _i < types_21.length; _i++) { + var typeNode = types_21[_i]; while (typeNode.kind === 191 /* SyntaxKind.ParenthesizedType */ || typeNode.kind === 197 /* SyntaxKind.NamedTupleMember */) { typeNode = typeNode.type; // Skip parens if need be } @@ -81679,18 +82758,18 @@ var ts; } /** Check the decorators of a node */ function checkDecorators(node) { - if (!node.decorators) { - return; - } // skip this check for nodes that cannot have decorators. These should have already had an error reported by // checkGrammarDecorators. - if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { + if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node) || !node.modifiers || !ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { return; } if (!compilerOptions.experimentalDecorators) { error(node, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning); } - var firstDecorator = node.decorators[0]; + var firstDecorator = ts.find(node.modifiers, ts.isDecorator); + if (!firstDecorator) { + return; + } checkExternalEmitHelpers(firstDecorator, 8 /* ExternalEmitHelpers.Decorate */); if (node.kind === 164 /* SyntaxKind.Parameter */) { checkExternalEmitHelpers(firstDecorator, 32 /* ExternalEmitHelpers.Param */); @@ -81734,7 +82813,12 @@ var ts; break; } } - ts.forEach(node.decorators, checkDecorator); + for (var _f = 0, _g = node.modifiers; _f < _g.length; _f++) { + var modifier = _g[_f]; + if (ts.isDecorator(modifier)) { + checkDecorator(modifier); + } + } } function checkFunctionDeclaration(node) { addLazyDiagnostic(checkFunctionDeclarationDiagnostics); @@ -81765,6 +82849,11 @@ var ts; function checkJSDocTypeTag(node) { checkSourceElement(node.typeExpression); } + function checkJSDocLinkLikeTag(node) { + if (node.name) { + resolveJSDocMemberName(node.name, /*ignoreErrors*/ true); + } + } function checkJSDocParameterTag(node) { checkSourceElement(node.typeExpression); } @@ -82004,8 +83093,8 @@ var ts; return; var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); var seenParentsWithEveryUnused = new ts.Set(); - for (var _i = 0, typeParameters_3 = typeParameters; _i < typeParameters_3.length; _i++) { - var typeParameter = typeParameters_3[_i]; + for (var _i = 0, typeParameters_4 = typeParameters; _i < typeParameters_4.length; _i++) { + var typeParameter = typeParameters_4[_i]; if (!isTypeParameterUnused(typeParameter)) continue; var name = ts.idText(typeParameter.name); @@ -82165,6 +83254,22 @@ var ts; } }); } + function checkPotentialUncheckedRenamedBindingElementsInTypes() { + var _a; + for (var _i = 0, potentialUnusedRenamedBindingElementsInTypes_1 = potentialUnusedRenamedBindingElementsInTypes; _i < potentialUnusedRenamedBindingElementsInTypes_1.length; _i++) { + var node = potentialUnusedRenamedBindingElementsInTypes_1[_i]; + if (!((_a = getSymbolOfNode(node)) === null || _a === void 0 ? void 0 : _a.isReferenced)) { + var wrappingDeclaration = ts.walkUpBindingElementsAndPatterns(node); + ts.Debug.assert(ts.isParameterDeclaration(wrappingDeclaration), "Only parameter declaration should be checked here"); + var diagnostic = ts.createDiagnosticForNode(node.name, ts.Diagnostics._0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation, ts.declarationNameToString(node.name), ts.declarationNameToString(node.propertyName)); + if (!wrappingDeclaration.type) { + // entire parameter does not have type annotation, suggest adding an annotation + ts.addRelatedInfo(diagnostic, ts.createFileDiagnostic(ts.getSourceFileOfNode(wrappingDeclaration), wrappingDeclaration.end, 1, ts.Diagnostics.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here, ts.declarationNameToString(node.propertyName))); + } + diagnostics.add(diagnostic); + } + } + } function bindingNameText(name) { switch (name.kind) { case 79 /* SyntaxKind.Identifier */: @@ -82461,11 +83566,22 @@ var ts; // well known symbols. if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); - if (node.initializer) { + if (ts.hasOnlyExpressionInitializer(node) && node.initializer) { checkExpressionCached(node.initializer); } } if (ts.isBindingElement(node)) { + if (node.propertyName && + ts.isIdentifier(node.name) && + ts.isParameterDeclaration(node) && + ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + // type F = ({a: string}) => void; + // ^^^^^^ + // variable renaming in function type notation is confusing, + // so we forbid it even if noUnusedLocals is not enabled + potentialUnusedRenamedBindingElementsInTypes.push(node); + return; + } if (ts.isObjectBindingPattern(node.parent) && node.dotDotDotToken && languageVersion < 5 /* ScriptTarget.ES2018 */) { checkExternalEmitHelpers(node, 4 /* ExternalEmitHelpers.Rest */); } @@ -82498,14 +83614,14 @@ var ts; ts.forEach(node.name.elements, checkSourceElement); } // For a parameter declaration with an initializer, error and exit if the containing function doesn't have a body - if (node.initializer && ts.isParameterDeclaration(node) && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (ts.isParameter(node) && node.initializer && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { - var needCheckInitializer = node.initializer && node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */; - var needCheckWidenedType = node.name.elements.length === 0; + var needCheckInitializer = ts.hasOnlyExpressionInitializer(node) && node.initializer && node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */; + var needCheckWidenedType = !ts.some(node.name.elements, ts.not(ts.isOmittedExpression)); if (needCheckInitializer || needCheckWidenedType) { // Don't validate for-in initializer as it is already an error var widenedType = getWidenedTypeForVariableLikeDeclaration(node); @@ -82532,7 +83648,7 @@ var ts; } // For a commonjs `const x = require`, validate the alias and exit var symbol = getSymbolOfNode(node); - if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node)) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node.kind === 203 /* SyntaxKind.BindingElement */ ? node.parent.parent : node)) { checkAliasSymbol(node); return; } @@ -82540,7 +83656,7 @@ var ts; if (node === symbol.valueDeclaration) { // Node is the primary declaration of the symbol, just validate the initializer // Don't validate for-in initializer as it is already an error - var initializer = ts.getEffectiveInitializer(node); + var initializer = ts.hasOnlyExpressionInitializer(node) && ts.getEffectiveInitializer(node); if (initializer) { var isJSObjectLiteralInitializer = ts.isInJSFile(node) && ts.isObjectLiteralExpression(initializer) && @@ -82565,7 +83681,7 @@ var ts; !(symbol.flags & 67108864 /* SymbolFlags.Assignment */)) { errorNextVariableOrPropertyDeclarationMustHaveSameType(symbol.valueDeclaration, type, node, declarationType); } - if (node.initializer) { + if (ts.hasOnlyExpressionInitializer(node) && node.initializer) { checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(node.initializer), declarationType, node, node.initializer, /*headMessage*/ undefined); } if (symbol.valueDeclaration && !areDeclarationFlagsIdentical(node, symbol.valueDeclaration)) { @@ -82658,7 +83774,7 @@ var ts; return; var type = checkTruthinessExpression(location); var isPropertyExpressionCast = ts.isPropertyAccessExpression(location) && isTypeAssertion(location.expression); - if (getFalsyFlags(type) || isPropertyExpressionCast) + if (!(getTypeFacts(type) & 4194304 /* TypeFacts.Truthy */) || isPropertyExpressionCast) return; // While it technically should be invalid for any known-truthy value // to be tested, we de-scope to functions and Promises unreferenced in @@ -83124,17 +84240,28 @@ var ts; * the `[Symbol.asyncIterator]()` method first, and then the `[Symbol.iterator]()` method. */ function getIterationTypesOfIterable(type, use, errorNode) { + var _a, _b; if (isTypeAny(type)) { return anyIterationTypes; } if (!(type.flags & 1048576 /* TypeFlags.Union */)) { - var iterationTypes_1 = getIterationTypesOfIterableWorker(type, use, errorNode); + var errorOutputContainer = errorNode ? { errors: undefined } : undefined; + var iterationTypes_1 = getIterationTypesOfIterableWorker(type, use, errorNode, errorOutputContainer); if (iterationTypes_1 === noIterationTypes) { if (errorNode) { - reportTypeNotIterableError(errorNode, type, !!(use & 2 /* IterationUse.AllowsAsyncIterablesFlag */)); + var rootDiag = reportTypeNotIterableError(errorNode, type, !!(use & 2 /* IterationUse.AllowsAsyncIterablesFlag */)); + if (errorOutputContainer === null || errorOutputContainer === void 0 ? void 0 : errorOutputContainer.errors) { + ts.addRelatedInfo.apply(void 0, __spreadArray([rootDiag], errorOutputContainer.errors, false)); + } } return undefined; } + else if ((_a = errorOutputContainer === null || errorOutputContainer === void 0 ? void 0 : errorOutputContainer.errors) === null || _a === void 0 ? void 0 : _a.length) { + for (var _i = 0, _c = errorOutputContainer.errors; _i < _c.length; _i++) { + var diag = _c[_i]; + diagnostics.add(diag); + } + } return iterationTypes_1; } var cacheKey = use & 2 /* IterationUse.AllowsAsyncIterablesFlag */ ? "iterationTypesOfAsyncIterable" : "iterationTypesOfIterable"; @@ -83142,19 +84269,27 @@ var ts; if (cachedTypes) return cachedTypes === noIterationTypes ? undefined : cachedTypes; var allIterationTypes; - for (var _i = 0, _a = type.types; _i < _a.length; _i++) { - var constituent = _a[_i]; - var iterationTypes_2 = getIterationTypesOfIterableWorker(constituent, use, errorNode); + for (var _d = 0, _e = type.types; _d < _e.length; _d++) { + var constituent = _e[_d]; + var errorOutputContainer = errorNode ? { errors: undefined } : undefined; + var iterationTypes_2 = getIterationTypesOfIterableWorker(constituent, use, errorNode, errorOutputContainer); if (iterationTypes_2 === noIterationTypes) { if (errorNode) { - reportTypeNotIterableError(errorNode, type, !!(use & 2 /* IterationUse.AllowsAsyncIterablesFlag */)); + var rootDiag = reportTypeNotIterableError(errorNode, type, !!(use & 2 /* IterationUse.AllowsAsyncIterablesFlag */)); + if (errorOutputContainer === null || errorOutputContainer === void 0 ? void 0 : errorOutputContainer.errors) { + ts.addRelatedInfo.apply(void 0, __spreadArray([rootDiag], errorOutputContainer.errors, false)); + } } setCachedIterationTypes(type, cacheKey, noIterationTypes); return undefined; } - else { - allIterationTypes = ts.append(allIterationTypes, iterationTypes_2); + else if ((_b = errorOutputContainer === null || errorOutputContainer === void 0 ? void 0 : errorOutputContainer.errors) === null || _b === void 0 ? void 0 : _b.length) { + for (var _f = 0, _g = errorOutputContainer.errors; _f < _g.length; _f++) { + var diag = _g[_f]; + diagnostics.add(diag); + } } + allIterationTypes = ts.append(allIterationTypes, iterationTypes_2); } var iterationTypes = allIterationTypes ? combineIterationTypes(allIterationTypes) : noIterationTypes; setCachedIterationTypes(type, cacheKey, iterationTypes); @@ -83182,47 +84317,62 @@ var ts; * NOTE: You probably don't want to call this directly and should be calling * `getIterationTypesOfIterable` instead. */ - function getIterationTypesOfIterableWorker(type, use, errorNode) { + function getIterationTypesOfIterableWorker(type, use, errorNode, errorOutputContainer) { if (isTypeAny(type)) { return anyIterationTypes; } + // If we are reporting errors and encounter a cached `noIterationTypes`, we should ignore the cached value and continue as if nothing was cached. + // In addition, we should not cache any new results for this call. + var noCache = false; if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { var iterationTypes = getIterationTypesOfIterableCached(type, asyncIterationTypesResolver) || getIterationTypesOfIterableFast(type, asyncIterationTypesResolver); if (iterationTypes) { - return use & 8 /* IterationUse.ForOfFlag */ ? - getAsyncFromSyncIterationTypes(iterationTypes, errorNode) : - iterationTypes; + if (iterationTypes === noIterationTypes && errorNode) { + // ignore the cached value + noCache = true; + } + else { + return use & 8 /* IterationUse.ForOfFlag */ ? + getAsyncFromSyncIterationTypes(iterationTypes, errorNode) : + iterationTypes; + } } } if (use & 1 /* IterationUse.AllowsSyncIterablesFlag */) { var iterationTypes = getIterationTypesOfIterableCached(type, syncIterationTypesResolver) || getIterationTypesOfIterableFast(type, syncIterationTypesResolver); if (iterationTypes) { - if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { - // for a sync iterable in an async context, only use the cached types if they are valid. - if (iterationTypes !== noIterationTypes) { - return setCachedIterationTypes(type, "iterationTypesOfAsyncIterable", getAsyncFromSyncIterationTypes(iterationTypes, errorNode)); - } + if (iterationTypes === noIterationTypes && errorNode) { + // ignore the cached value + noCache = true; } else { - return iterationTypes; + if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { + // for a sync iterable in an async context, only use the cached types if they are valid. + if (iterationTypes !== noIterationTypes) { + iterationTypes = getAsyncFromSyncIterationTypes(iterationTypes, errorNode); + return noCache ? iterationTypes : setCachedIterationTypes(type, "iterationTypesOfAsyncIterable", iterationTypes); + } + } + else { + return iterationTypes; + } } } } if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { - var iterationTypes = getIterationTypesOfIterableSlow(type, asyncIterationTypesResolver, errorNode); + var iterationTypes = getIterationTypesOfIterableSlow(type, asyncIterationTypesResolver, errorNode, errorOutputContainer, noCache); if (iterationTypes !== noIterationTypes) { return iterationTypes; } } if (use & 1 /* IterationUse.AllowsSyncIterablesFlag */) { - var iterationTypes = getIterationTypesOfIterableSlow(type, syncIterationTypesResolver, errorNode); + var iterationTypes = getIterationTypesOfIterableSlow(type, syncIterationTypesResolver, errorNode, errorOutputContainer, noCache); if (iterationTypes !== noIterationTypes) { if (use & 2 /* IterationUse.AllowsAsyncIterablesFlag */) { - return setCachedIterationTypes(type, "iterationTypesOfAsyncIterable", iterationTypes - ? getAsyncFromSyncIterationTypes(iterationTypes, errorNode) - : noIterationTypes); + iterationTypes = getAsyncFromSyncIterationTypes(iterationTypes, errorNode); + return noCache ? iterationTypes : setCachedIterationTypes(type, "iterationTypesOfAsyncIterable", iterationTypes); } else { return iterationTypes; @@ -83243,7 +84393,7 @@ var ts; } function getIterationTypesOfGlobalIterableType(globalType, resolver) { var globalIterationTypes = getIterationTypesOfIterableCached(globalType, resolver) || - getIterationTypesOfIterableSlow(globalType, resolver, /*errorNode*/ undefined); + getIterationTypesOfIterableSlow(globalType, resolver, /*errorNode*/ undefined, /*errorOutputContainer*/ undefined, /*noCache*/ false); return globalIterationTypes === noIterationTypes ? defaultIterationTypes : globalIterationTypes; } /** @@ -83297,26 +84447,26 @@ var ts; * NOTE: You probably don't want to call this directly and should be calling * `getIterationTypesOfIterable` instead. */ - function getIterationTypesOfIterableSlow(type, resolver, errorNode) { + function getIterationTypesOfIterableSlow(type, resolver, errorNode, errorOutputContainer, noCache) { var _a; var method = getPropertyOfType(type, getPropertyNameForKnownSymbolName(resolver.iteratorSymbolName)); var methodType = method && !(method.flags & 16777216 /* SymbolFlags.Optional */) ? getTypeOfSymbol(method) : undefined; if (isTypeAny(methodType)) { - return setCachedIterationTypes(type, resolver.iterableCacheKey, anyIterationTypes); + return noCache ? anyIterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, anyIterationTypes); } var signatures = methodType ? getSignaturesOfType(methodType, 0 /* SignatureKind.Call */) : undefined; if (!ts.some(signatures)) { - return setCachedIterationTypes(type, resolver.iterableCacheKey, noIterationTypes); + return noCache ? noIterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, noIterationTypes); } var iteratorType = getIntersectionType(ts.map(signatures, getReturnTypeOfSignature)); - var iterationTypes = (_a = getIterationTypesOfIterator(iteratorType, resolver, errorNode)) !== null && _a !== void 0 ? _a : noIterationTypes; - return setCachedIterationTypes(type, resolver.iterableCacheKey, iterationTypes); + var iterationTypes = (_a = getIterationTypesOfIteratorWorker(iteratorType, resolver, errorNode, errorOutputContainer, noCache)) !== null && _a !== void 0 ? _a : noIterationTypes; + return noCache ? iterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, iterationTypes); } function reportTypeNotIterableError(errorNode, type, allowAsyncIterables) { var message = allowAsyncIterables ? ts.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator : ts.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator; - errorAndMaybeSuggestAwait(errorNode, !!getAwaitedTypeOfPromise(type), message, typeToString(type)); + return errorAndMaybeSuggestAwait(errorNode, !!getAwaitedTypeOfPromise(type), message, typeToString(type)); } /** * Gets the *yield*, *return*, and *next* types from an `Iterator`-like or `AsyncIterator`-like type. @@ -83324,13 +84474,29 @@ var ts; * If we successfully found the *yield*, *return*, and *next* types, an `IterationTypes` * record is returned. Otherwise, `undefined` is returned. */ - function getIterationTypesOfIterator(type, resolver, errorNode) { + function getIterationTypesOfIterator(type, resolver, errorNode, errorOutputContainer) { + return getIterationTypesOfIteratorWorker(type, resolver, errorNode, errorOutputContainer, /*noCache*/ false); + } + /** + * Gets the *yield*, *return*, and *next* types from an `Iterator`-like or `AsyncIterator`-like type. + * + * If we successfully found the *yield*, *return*, and *next* types, an `IterationTypes` + * record is returned. Otherwise, `undefined` is returned. + * + * NOTE: You probably don't want to call this directly and should be calling + * `getIterationTypesOfIterator` instead. + */ + function getIterationTypesOfIteratorWorker(type, resolver, errorNode, errorOutputContainer, noCache) { if (isTypeAny(type)) { return anyIterationTypes; } var iterationTypes = getIterationTypesOfIteratorCached(type, resolver) || - getIterationTypesOfIteratorFast(type, resolver) || - getIterationTypesOfIteratorSlow(type, resolver, errorNode); + getIterationTypesOfIteratorFast(type, resolver); + if (iterationTypes === noIterationTypes && errorNode) { + iterationTypes = undefined; + noCache = true; + } + iterationTypes !== null && iterationTypes !== void 0 ? iterationTypes : (iterationTypes = getIterationTypesOfIteratorSlow(type, resolver, errorNode, errorOutputContainer, noCache)); return iterationTypes === noIterationTypes ? undefined : iterationTypes; } /** @@ -83368,7 +84534,7 @@ var ts; // iteration types of their `next`, `return`, and `throw` methods. While we define these as `any` // and `undefined` in our libs by default, a custom lib *could* use different definitions. var globalIterationTypes = getIterationTypesOfIteratorCached(globalType, resolver) || - getIterationTypesOfIteratorSlow(globalType, resolver, /*errorNode*/ undefined); + getIterationTypesOfIteratorSlow(globalType, resolver, /*errorNode*/ undefined, /*errorOutputContainer*/ undefined, /*noCache*/ false); var _a = globalIterationTypes === noIterationTypes ? defaultIterationTypes : globalIterationTypes, returnType = _a.returnType, nextType = _a.nextType; return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType)); } @@ -83438,8 +84604,8 @@ var ts; * If we successfully found the *yield*, *return*, and *next* types, an `IterationTypes` * record is returned. Otherwise, we return `undefined`. */ - function getIterationTypesOfMethod(type, resolver, methodName, errorNode) { - var _a, _b, _c, _d; + function getIterationTypesOfMethod(type, resolver, methodName, errorNode, errorOutputContainer) { + var _a, _b, _c, _d, _e, _f; var method = getPropertyOfType(type, methodName); // Ignore 'return' or 'throw' if they are missing. if (!method && methodName !== "next") { @@ -83459,9 +84625,15 @@ var ts; var diagnostic = methodName === "next" ? resolver.mustHaveANextMethodDiagnostic : resolver.mustBeAMethodDiagnostic; - error(errorNode, diagnostic, methodName); + if (errorOutputContainer) { + (_a = errorOutputContainer.errors) !== null && _a !== void 0 ? _a : (errorOutputContainer.errors = []); + errorOutputContainer.errors.push(ts.createDiagnosticForNode(errorNode, diagnostic, methodName)); + } + else { + error(errorNode, diagnostic, methodName); + } } - return methodName === "next" ? anyIterationTypes : undefined; + return methodName === "next" ? noIterationTypes : undefined; } // If the method signature comes exclusively from the global iterator or generator type, // create iteration types from its type arguments like `getIterationTypesOfIteratorFast` @@ -83473,8 +84645,8 @@ var ts; if ((methodType === null || methodType === void 0 ? void 0 : methodType.symbol) && methodSignatures.length === 1) { var globalGeneratorType = resolver.getGlobalGeneratorType(/*reportErrors*/ false); var globalIteratorType = resolver.getGlobalIteratorType(/*reportErrors*/ false); - var isGeneratorMethod = ((_b = (_a = globalGeneratorType.symbol) === null || _a === void 0 ? void 0 : _a.members) === null || _b === void 0 ? void 0 : _b.get(methodName)) === methodType.symbol; - var isIteratorMethod = !isGeneratorMethod && ((_d = (_c = globalIteratorType.symbol) === null || _c === void 0 ? void 0 : _c.members) === null || _d === void 0 ? void 0 : _d.get(methodName)) === methodType.symbol; + var isGeneratorMethod = ((_c = (_b = globalGeneratorType.symbol) === null || _b === void 0 ? void 0 : _b.members) === null || _c === void 0 ? void 0 : _c.get(methodName)) === methodType.symbol; + var isIteratorMethod = !isGeneratorMethod && ((_e = (_d = globalIteratorType.symbol) === null || _d === void 0 ? void 0 : _d.members) === null || _e === void 0 ? void 0 : _e.get(methodName)) === methodType.symbol; if (isGeneratorMethod || isIteratorMethod) { var globalType = isGeneratorMethod ? globalGeneratorType : globalIteratorType; var mapper = methodType.mapper; @@ -83514,7 +84686,13 @@ var ts; var iterationTypes = getIterationTypesOfIteratorResult(resolvedMethodReturnType); if (iterationTypes === noIterationTypes) { if (errorNode) { - error(errorNode, resolver.mustHaveAValueDiagnostic, methodName); + if (errorOutputContainer) { + (_f = errorOutputContainer.errors) !== null && _f !== void 0 ? _f : (errorOutputContainer.errors = []); + errorOutputContainer.errors.push(ts.createDiagnosticForNode(errorNode, resolver.mustHaveAValueDiagnostic, methodName)); + } + else { + error(errorNode, resolver.mustHaveAValueDiagnostic, methodName); + } } yieldType = anyType; returnTypes = ts.append(returnTypes, anyType); @@ -83535,13 +84713,13 @@ var ts; * NOTE: You probably don't want to call this directly and should be calling * `getIterationTypesOfIterator` instead. */ - function getIterationTypesOfIteratorSlow(type, resolver, errorNode) { + function getIterationTypesOfIteratorSlow(type, resolver, errorNode, errorOutputContainer, noCache) { var iterationTypes = combineIterationTypes([ - getIterationTypesOfMethod(type, resolver, "next", errorNode), - getIterationTypesOfMethod(type, resolver, "return", errorNode), - getIterationTypesOfMethod(type, resolver, "throw", errorNode), + getIterationTypesOfMethod(type, resolver, "next", errorNode, errorOutputContainer), + getIterationTypesOfMethod(type, resolver, "return", errorNode, errorOutputContainer), + getIterationTypesOfMethod(type, resolver, "throw", errorNode, errorOutputContainer), ]); - return setCachedIterationTypes(type, resolver.iteratorCacheKey, iterationTypes); + return noCache ? iterationTypes : setCachedIterationTypes(type, resolver.iteratorCacheKey, iterationTypes); } /** * Gets the requested "iteration type" from a type that is either `Iterable`-like, `Iterator`-like, @@ -83562,7 +84740,7 @@ var ts; var use = isAsyncGenerator ? 2 /* IterationUse.AsyncGeneratorReturnType */ : 1 /* IterationUse.GeneratorReturnType */; var resolver = isAsyncGenerator ? asyncIterationTypesResolver : syncIterationTypesResolver; return getIterationTypesOfIterable(type, use, /*errorNode*/ undefined) || - getIterationTypesOfIterator(type, resolver, /*errorNode*/ undefined); + getIterationTypesOfIterator(type, resolver, /*errorNode*/ undefined, /*errorOutputContainer*/ undefined); } function checkBreakOrContinueStatement(node) { // Grammar checking @@ -83573,9 +84751,14 @@ var ts; function unwrapReturnType(returnType, functionFlags) { var isGenerator = !!(functionFlags & 1 /* FunctionFlags.Generator */); var isAsync = !!(functionFlags & 2 /* FunctionFlags.Async */); - return isGenerator ? getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, returnType, isAsync) || errorType : - isAsync ? getAwaitedTypeNoAlias(returnType) || errorType : - returnType; + if (isGenerator) { + var returnIterationType = getIterationTypeOfGeneratorFunctionReturnType(1 /* IterationTypeKind.Return */, returnType, isAsync); + if (!returnIterationType) { + return errorType; + } + return isAsync ? getAwaitedTypeNoAlias(unwrapAwaitedType(returnIterationType)) : returnIterationType; + } + return isAsync ? getAwaitedTypeNoAlias(returnType) || errorType : returnType; } function isUnwrappedReturnTypeVoidOrAny(func, returnType) { var unwrappedReturnType = unwrapReturnType(returnType, ts.getFunctionFlags(func)); @@ -83795,9 +84978,10 @@ var ts; } var indexInfos = getApplicableIndexInfos(type, propNameType); var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* SyntaxKind.InterfaceDeclaration */) : undefined; - var localPropDeclaration = declaration && declaration.kind === 221 /* SyntaxKind.BinaryExpression */ || - name && name.kind === 162 /* SyntaxKind.ComputedPropertyName */ || getParentOfSymbol(prop) === type.symbol ? declaration : undefined; - var _loop_28 = function (info) { + var propDeclaration = declaration && declaration.kind === 221 /* SyntaxKind.BinaryExpression */ || + name && name.kind === 162 /* SyntaxKind.ComputedPropertyName */ ? declaration : undefined; + var localPropDeclaration = getParentOfSymbol(prop) === type.symbol ? declaration : undefined; + var _loop_30 = function (info) { var localIndexDeclaration = info.declaration && getParentOfSymbol(getSymbolOfNode(info.declaration)) === type.symbol ? info.declaration : undefined; // We check only when (a) the property is declared in the containing type, or (b) the applicable index signature is declared // in the containing type, or (c) the containing type is an interface and no base interface contains both the property and @@ -83805,12 +84989,16 @@ var ts; var errorNode = localPropDeclaration || localIndexDeclaration || (interfaceDeclaration && !ts.some(getBaseTypes(type), function (base) { return !!getPropertyOfObjectType(base, prop.escapedName) && !!getIndexTypeOfType(base, info.keyType); }) ? interfaceDeclaration : undefined); if (errorNode && !isTypeAssignableTo(propType, info.type)) { - error(errorNode, ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_2_index_type_3, symbolToString(prop), typeToString(propType), typeToString(info.keyType), typeToString(info.type)); + var diagnostic = createError(errorNode, ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_2_index_type_3, symbolToString(prop), typeToString(propType), typeToString(info.keyType), typeToString(info.type)); + if (propDeclaration && errorNode !== propDeclaration) { + ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(propDeclaration, ts.Diagnostics._0_is_declared_here, symbolToString(prop))); + } + diagnostics.add(diagnostic); } }; for (var _i = 0, indexInfos_9 = indexInfos; _i < indexInfos_9.length; _i++) { var info = indexInfos_9[_i]; - _loop_28(info); + _loop_30(info); } } function checkIndexConstraintForIndexSignature(type, checkInfo) { @@ -83818,7 +85006,7 @@ var ts; var indexInfos = getApplicableIndexInfos(type, checkInfo.keyType); var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* SyntaxKind.InterfaceDeclaration */) : undefined; var localCheckDeclaration = declaration && getParentOfSymbol(getSymbolOfNode(declaration)) === type.symbol ? declaration : undefined; - var _loop_29 = function (info) { + var _loop_31 = function (info) { if (info === checkInfo) return "continue"; var localIndexDeclaration = info.declaration && getParentOfSymbol(getSymbolOfNode(info.declaration)) === type.symbol ? info.declaration : undefined; @@ -83833,7 +85021,7 @@ var ts; }; for (var _i = 0, indexInfos_10 = indexInfos; _i < indexInfos_10.length; _i++) { var info = indexInfos_10[_i]; - _loop_29(info); + _loop_31(info); } } function checkTypeNameIsReserved(name, message) { @@ -84022,8 +85210,9 @@ var ts; registerForUnusedIdentifiersCheck(node); } function checkClassDeclaration(node) { - if (ts.some(node.decorators) && ts.some(node.members, function (p) { return ts.hasStaticModifier(p) && ts.isPrivateIdentifierClassElementDeclaration(p); })) { - grammarErrorOnNode(node.decorators[0], ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator); + var firstDecorator = ts.find(node.modifiers, ts.isDecorator); + if (firstDecorator && ts.some(node.members, function (p) { return ts.hasStaticModifier(p) && ts.isPrivateIdentifierClassElementDeclaration(p); })) { + grammarErrorOnNode(firstDecorator, ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator); } if (!node.name && !ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { grammarErrorOnFirstToken(node, ts.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name); @@ -84152,7 +85341,7 @@ var ts; var baseTypes = baseTypeNode && getBaseTypes(type); var baseWithThis = (baseTypes === null || baseTypes === void 0 ? void 0 : baseTypes.length) ? getTypeWithThisArgument(ts.first(baseTypes), type.thisType) : undefined; var baseStaticType = getBaseConstructorTypeOfClass(type); - var _loop_30 = function (member) { + var _loop_32 = function (member) { if (ts.hasAmbientModifier(member)) { return "continue"; } @@ -84169,7 +85358,7 @@ var ts; }; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - _loop_30(member); + _loop_32(member); } } /** @@ -84257,7 +85446,7 @@ var ts; function issueMemberSpecificError(node, typeWithThis, baseWithThis, broadDiag) { // iterate over all implemented properties and issue errors on each one which isn't compatible, rather than the class as a whole, if possible var issuedMemberError = false; - var _loop_31 = function (member) { + var _loop_33 = function (member) { if (ts.isStatic(member)) { return "continue"; } @@ -84276,7 +85465,7 @@ var ts; }; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - _loop_31(member); + _loop_33(member); } if (!issuedMemberError) { // check again with diagnostics to generate a less-specific error @@ -84344,18 +85533,17 @@ var ts; // but not by other kinds of members. // Base class instance member variables and accessors can be overridden by // derived class instance member variables and accessors, but not by other kinds of members. - var _a, _b; + var _a, _b, _c, _d; // NOTE: assignability is checked in checkClassDeclaration var baseProperties = getPropertiesOfType(baseType); - basePropertyCheck: for (var _i = 0, baseProperties_1 = baseProperties; _i < baseProperties_1.length; _i++) { - var baseProperty = baseProperties_1[_i]; + var _loop_34 = function (baseProperty) { var base = getTargetSymbol(baseProperty); if (base.flags & 4194304 /* SymbolFlags.Prototype */) { - continue; + return "continue"; } var baseSymbol = getPropertyOfObjectType(type, base.escapedName); if (!baseSymbol) { - continue; + return "continue"; } var derived = getTargetSymbol(baseSymbol); var baseDeclarationFlags = ts.getDeclarationModifierFlagsFromSymbol(base); @@ -84373,14 +85561,14 @@ var ts; // Searches other base types for a declaration that would satisfy the inherited abstract member. // (The class may have more than one base type via declaration merging with an interface with the // same name.) - for (var _c = 0, _d = getBaseTypes(type); _c < _d.length; _c++) { - var otherBaseType = _d[_c]; + for (var _e = 0, _f = getBaseTypes(type); _e < _f.length; _e++) { + var otherBaseType = _f[_e]; if (otherBaseType === baseType) continue; var baseSymbol_1 = getPropertyOfObjectType(otherBaseType, base.escapedName); var derivedElsewhere = baseSymbol_1 && getTargetSymbol(baseSymbol_1); if (derivedElsewhere && derivedElsewhere !== base) { - continue basePropertyCheck; + return "continue-basePropertyCheck"; } } if (derivedClassDecl.kind === 226 /* SyntaxKind.ClassExpression */) { @@ -84395,20 +85583,19 @@ var ts; // derived overrides base. var derivedDeclarationFlags = ts.getDeclarationModifierFlagsFromSymbol(derived); if (baseDeclarationFlags & 8 /* ModifierFlags.Private */ || derivedDeclarationFlags & 8 /* ModifierFlags.Private */) { - // either base or derived property is private - not override, skip it - continue; + return "continue"; } var errorMessage = void 0; var basePropertyFlags = base.flags & 98308 /* SymbolFlags.PropertyOrAccessor */; var derivedPropertyFlags = derived.flags & 98308 /* SymbolFlags.PropertyOrAccessor */; if (basePropertyFlags && derivedPropertyFlags) { // property/accessor is overridden with property/accessor - if (baseDeclarationFlags & 128 /* ModifierFlags.Abstract */ && !(base.valueDeclaration && ts.isPropertyDeclaration(base.valueDeclaration) && base.valueDeclaration.initializer) - || base.valueDeclaration && base.valueDeclaration.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */ + if ((ts.getCheckFlags(base) & 6 /* CheckFlags.Synthetic */ + ? (_a = base.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return isPropertyAbstractOrInterface(d, baseDeclarationFlags); }) + : (_b = base.declarations) === null || _b === void 0 ? void 0 : _b.every(function (d) { return isPropertyAbstractOrInterface(d, baseDeclarationFlags); })) + || ts.getCheckFlags(base) & 262144 /* CheckFlags.Mapped */ || derived.valueDeclaration && ts.isBinaryExpression(derived.valueDeclaration)) { - // when the base property is abstract or from an interface, base/derived flags don't need to match - // same when the derived property is from an assignment - continue; + return "continue"; } var overriddenInstanceProperty = basePropertyFlags !== 4 /* SymbolFlags.Property */ && derivedPropertyFlags === 4 /* SymbolFlags.Property */; var overriddenInstanceAccessor = basePropertyFlags === 4 /* SymbolFlags.Property */ && derivedPropertyFlags !== 4 /* SymbolFlags.Property */; @@ -84419,12 +85606,12 @@ var ts; error(ts.getNameOfDeclaration(derived.valueDeclaration) || derived.valueDeclaration, errorMessage_1, symbolToString(base), typeToString(baseType), typeToString(type)); } else if (useDefineForClassFields) { - var uninitialized = (_a = derived.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !d.initializer; }); + var uninitialized = (_c = derived.declarations) === null || _c === void 0 ? void 0 : _c.find(function (d) { return d.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !d.initializer; }); if (uninitialized && !(derived.flags & 33554432 /* SymbolFlags.Transient */) && !(baseDeclarationFlags & 128 /* ModifierFlags.Abstract */) && !(derivedDeclarationFlags & 128 /* ModifierFlags.Abstract */) - && !((_b = derived.declarations) === null || _b === void 0 ? void 0 : _b.some(function (d) { return !!(d.flags & 16777216 /* NodeFlags.Ambient */); }))) { + && !((_d = derived.declarations) === null || _d === void 0 ? void 0 : _d.some(function (d) { return !!(d.flags & 16777216 /* NodeFlags.Ambient */); }))) { var constructor = findConstructorDeclaration(ts.getClassLikeDeclarationOfSymbol(type.symbol)); var propName = uninitialized.name; if (uninitialized.exclamationToken @@ -84437,13 +85624,11 @@ var ts; } } } - // correct case - continue; + return "continue"; } else if (isPrototypeProperty(base)) { if (isPrototypeProperty(derived) || derived.flags & 4 /* SymbolFlags.Property */) { - // method is overridden with method or property -- correct case - continue; + return "continue"; } else { ts.Debug.assert(!!(derived.flags & 98304 /* SymbolFlags.Accessor */)); @@ -84458,9 +85643,20 @@ var ts; } error(ts.getNameOfDeclaration(derived.valueDeclaration) || derived.valueDeclaration, errorMessage, typeToString(baseType), symbolToString(base), typeToString(type)); } + }; + basePropertyCheck: for (var _i = 0, baseProperties_1 = baseProperties; _i < baseProperties_1.length; _i++) { + var baseProperty = baseProperties_1[_i]; + var state_10 = _loop_34(baseProperty); + switch (state_10) { + case "continue-basePropertyCheck": continue basePropertyCheck; + } } } - function getNonInterhitedProperties(type, baseTypes, properties) { + function isPropertyAbstractOrInterface(declaration, baseDeclarationFlags) { + return baseDeclarationFlags & 128 /* ModifierFlags.Abstract */ && (!ts.isPropertyDeclaration(declaration) || !declaration.initializer) + || ts.isInterfaceDeclaration(declaration.parent); + } + function getNonInheritedProperties(type, baseTypes, properties) { if (!ts.length(baseTypes)) { return properties; } @@ -84529,7 +85725,7 @@ var ts; var propName = member.name; if (ts.isIdentifier(propName) || ts.isPrivateIdentifier(propName) || ts.isComputedPropertyName(propName)) { var type = getTypeOfSymbol(getSymbolOfNode(member)); - if (!(type.flags & 3 /* TypeFlags.AnyOrUnknown */ || getFalsyFlags(type) & 32768 /* TypeFlags.Undefined */)) { + if (!(type.flags & 3 /* TypeFlags.AnyOrUnknown */ || containsUndefinedType(type))) { if (!constructor || !isPropertyInitializedInConstructor(propName, type, constructor)) { error(member.name, ts.Diagnostics.Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor, ts.declarationNameToString(propName)); } @@ -84554,7 +85750,7 @@ var ts; ts.setParent(reference, staticBlock); reference.flowNode = staticBlock.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - if (!(getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */)) { + if (!containsUndefinedType(flowType)) { return true; } } @@ -84569,7 +85765,7 @@ var ts; ts.setParent(reference, constructor); reference.flowNode = constructor.returnFlowNode; var flowType = getFlowTypeOfReference(reference, propType, getOptionalType(propType)); - return !(getFalsyFlags(flowType) & 32768 /* TypeFlags.Undefined */); + return !containsUndefinedType(flowType); } function checkInterfaceDeclaration(node) { // Grammar checking @@ -85085,6 +86281,7 @@ var ts; return true; } function checkAliasSymbol(node) { + var _a, _b, _c, _d, _e; var symbol = getSymbolOfNode(node); var target = resolveAlias(symbol); if (target !== unknownSymbol) { @@ -85095,6 +86292,31 @@ var ts; // otherwise it will conflict with some local declaration). Note that in addition to normal flags we include matching SymbolFlags.Export* // in order to prevent collisions with declarations that were exported from the current module (they still contribute to local names). symbol = getMergedSymbol(symbol.exportSymbol || symbol); + // A type-only import/export will already have a grammar error in a JS file, so no need to issue more errors within + if (ts.isInJSFile(node) && !(target.flags & 111551 /* SymbolFlags.Value */) && !ts.isTypeOnlyImportOrExportDeclaration(node)) { + var errorNode = ts.isImportOrExportSpecifier(node) ? node.propertyName || node.name : + ts.isNamedDeclaration(node) ? node.name : + node; + ts.Debug.assert(node.kind !== 274 /* SyntaxKind.NamespaceExport */); + if (node.kind === 275 /* SyntaxKind.ExportSpecifier */) { + var diag = error(errorNode, ts.Diagnostics.Types_cannot_appear_in_export_declarations_in_JavaScript_files); + var alreadyExportedSymbol = (_b = (_a = ts.getSourceFileOfNode(node).symbol) === null || _a === void 0 ? void 0 : _a.exports) === null || _b === void 0 ? void 0 : _b.get((node.propertyName || node.name).escapedText); + if (alreadyExportedSymbol === target) { + var exportingDeclaration = (_c = alreadyExportedSymbol.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isJSDocNode); + if (exportingDeclaration) { + ts.addRelatedInfo(diag, ts.createDiagnosticForNode(exportingDeclaration, ts.Diagnostics._0_is_automatically_exported_here, ts.unescapeLeadingUnderscores(alreadyExportedSymbol.escapedName))); + } + } + } + else { + ts.Debug.assert(node.kind !== 254 /* SyntaxKind.VariableDeclaration */); + var importDeclaration = ts.findAncestor(node, ts.or(ts.isImportDeclaration, ts.isImportEqualsDeclaration)); + var moduleSpecifier = (_e = (importDeclaration && ((_d = ts.tryGetModuleSpecifierFromDeclaration(importDeclaration)) === null || _d === void 0 ? void 0 : _d.text))) !== null && _e !== void 0 ? _e : "..."; + var importedIdentifier = ts.unescapeLeadingUnderscores(ts.isIdentifier(errorNode) ? errorNode.escapedText : symbol.escapedName); + error(errorNode, ts.Diagnostics._0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation, importedIdentifier, "import(\"".concat(moduleSpecifier, "\").").concat(importedIdentifier)); + } + return; + } var excludedMeanings = (symbol.flags & (111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */) ? 111551 /* SymbolFlags.Value */ : 0) | (symbol.flags & 788968 /* SymbolFlags.Type */ ? 788968 /* SymbolFlags.Type */ : 0) | (symbol.flags & 1920 /* SymbolFlags.Namespace */ ? 1920 /* SymbolFlags.Namespace */ : 0); @@ -85200,10 +86422,10 @@ var ts; var override = ts.getResolutionModeOverrideForClause(declaration.assertClause, validForTypeAssertions ? grammarErrorOnNode : undefined); if (validForTypeAssertions && override) { if (!ts.isNightly()) { - grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next); + grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next); } if (ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.NodeNext) { - return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext); + return grammarErrorOnNode(declaration.assertClause, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext); } return; // Other grammar checks do not apply to type-only imports with resolution mode assertions } @@ -85410,7 +86632,9 @@ var ts; error(exportedName, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, ts.idText(exportedName)); } else { - markExportAsReferenced(node); + if (!node.isTypeOnly && !node.parent.parent.isTypeOnly) { + markExportAsReferenced(node); + } var target = symbol && (symbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(symbol) : symbol); if (!target || target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { checkExpressionCached(node.propertyName || node.name); @@ -85552,12 +86776,16 @@ var ts; } } function checkSourceElementWorker(node) { - if (ts.isInJSFile(node)) { - ts.forEach(node.jsDoc, function (_a) { - var tags = _a.tags; - return ts.forEach(tags, checkSourceElement); + ts.forEach(node.jsDoc, function (_a) { + var comment = _a.comment, tags = _a.tags; + checkJSDocCommentWorker(comment); + ts.forEach(tags, function (tag) { + checkJSDocCommentWorker(tag.comment); + if (ts.isInJSFile(node)) { + checkSourceElement(tag); + } }); - } + }); var kind = node.kind; if (cancellationToken) { // Only bother checking on a few construct kinds. We don't want to be excessively @@ -85643,6 +86871,10 @@ var ts; return checkJSDocTemplateTag(node); case 343 /* SyntaxKind.JSDocTypeTag */: return checkJSDocTypeTag(node); + case 324 /* SyntaxKind.JSDocLink */: + case 325 /* SyntaxKind.JSDocLinkCode */: + case 326 /* SyntaxKind.JSDocLinkPlain */: + return checkJSDocLinkLikeTag(node); case 340 /* SyntaxKind.JSDocParameterTag */: return checkJSDocParameterTag(node); case 347 /* SyntaxKind.JSDocPropertyTag */: @@ -85737,6 +86969,15 @@ var ts; return checkMissingDeclaration(node); } } + function checkJSDocCommentWorker(node) { + if (ts.isArray(node)) { + ts.forEach(node, function (tag) { + if (ts.isJSDocLinkLike(tag)) { + checkSourceElement(tag); + } + }); + } + } function checkJSDocTypeIsInJsFile(node) { if (!ts.isInJSFile(node)) { grammarErrorOnNode(node, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); @@ -85904,6 +87145,7 @@ var ts; ts.clear(potentialNewTargetCollisions); ts.clear(potentialWeakMapSetCollisions); ts.clear(potentialReflectCollisions); + ts.clear(potentialUnusedRenamedBindingElementsInTypes); ts.forEach(node.statements, checkSourceElement); checkSourceElement(node.endOfFileToken); checkDeferredNodes(node); @@ -85919,6 +87161,9 @@ var ts; } }); } + if (!node.isDeclarationFile) { + checkPotentialUncheckedRenamedBindingElementsInTypes(); + } }); if (compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */ && !node.isDeclarationFile && @@ -86292,7 +87537,7 @@ var ts; if (!result && isJSDoc_1) { var container = ts.findAncestor(name, ts.or(ts.isClassLike, ts.isInterfaceDeclaration)); if (container) { - return resolveJSDocMemberName(name, getSymbolOfNode(container)); + return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); } } return result; @@ -86338,11 +87583,11 @@ var ts; * * For unqualified names, a container K may be provided as a second argument. */ - function resolveJSDocMemberName(name, container) { + function resolveJSDocMemberName(name, ignoreErrors, container) { if (ts.isEntityName(name)) { // resolve static values first var meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 111551 /* SymbolFlags.Value */; - var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true, ts.getHostSignatureFromJSDoc(name)); + var symbol = resolveEntityName(name, meaning, ignoreErrors, /*dontResolveAlias*/ true, ts.getHostSignatureFromJSDoc(name)); if (!symbol && ts.isIdentifier(name) && container) { symbol = getMergedSymbol(getSymbol(getExportsOfSymbol(container), name.escapedText, meaning)); } @@ -86350,7 +87595,7 @@ var ts; return symbol; } } - var left = ts.isIdentifier(name) ? container : resolveJSDocMemberName(name.left); + var left = ts.isIdentifier(name) ? container : resolveJSDocMemberName(name.left, ignoreErrors, container); var right = ts.isIdentifier(name) ? name.escapedText : name.right.escapedText; if (left) { var proto = left.flags & 111551 /* SymbolFlags.Value */ && getPropertyOfType(getTypeOfSymbol(left), "prototype"); @@ -87341,13 +88586,20 @@ var ts; if (!fileToDirective) { return undefined; } + // computed property name should use node as value // property access can only be used as values, or types when within an expression with type arguments inside a heritage clause // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries - var meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */; - if ((node.kind === 79 /* SyntaxKind.Identifier */ && isInTypeQuery(node)) || (node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && !isInHeritageClause(node))) { + var meaning; + if (node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) { meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; } + else { + meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */; + if ((node.kind === 79 /* SyntaxKind.Identifier */ && isInTypeQuery(node)) || (node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && !isInHeritageClause(node))) { + meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; + } + } var symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); return symbol && symbol !== unknownSymbol ? getTypeReferenceDirectivesForSymbol(symbol, meaning) : undefined; } @@ -87631,7 +88883,10 @@ var ts; return checkGrammarDecorators(node) || checkGrammarModifiers(node); } function checkGrammarDecorators(node) { - if (!node.decorators) { + if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) { + return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); + } + if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) { return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { @@ -87644,7 +88899,7 @@ var ts; } else if (node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); - if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) { + if (ts.hasDecorators(accessors.firstAccessor) && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); } } @@ -87659,6 +88914,8 @@ var ts; var flags = 0 /* ModifierFlags.None */; for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; + if (ts.isDecorator(modifier)) + continue; if (modifier.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { if (node.kind === 166 /* SyntaxKind.PropertySignature */ || node.kind === 168 /* SyntaxKind.MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); @@ -87944,6 +89201,13 @@ var ts; case 164 /* SyntaxKind.Parameter */: case 163 /* SyntaxKind.TypeParameter */: return false; + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 179 /* SyntaxKind.FunctionType */: + case 276 /* SyntaxKind.MissingDeclaration */: + return true; default: if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { return false; @@ -87954,20 +89218,26 @@ var ts; case 257 /* SyntaxKind.ClassDeclaration */: case 180 /* SyntaxKind.ConstructorType */: return nodeHasAnyModifiersExcept(node, 126 /* SyntaxKind.AbstractKeyword */); + case 226 /* SyntaxKind.ClassExpression */: case 258 /* SyntaxKind.InterfaceDeclaration */: case 237 /* SyntaxKind.VariableStatement */: case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: return true; case 260 /* SyntaxKind.EnumDeclaration */: return nodeHasAnyModifiersExcept(node, 85 /* SyntaxKind.ConstKeyword */); default: - ts.Debug.fail(); + ts.Debug.assertNever(node); } } } function nodeHasAnyModifiersExcept(node, allowedModifier) { - return node.modifiers.length > 1 || node.modifiers[0].kind !== allowedModifier; + for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { + var modifier = _a[_i]; + if (ts.isDecorator(modifier)) + continue; + return modifier.kind !== allowedModifier; + } + return false; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { @@ -88259,14 +89529,20 @@ var ts; grammarErrorOnNode(name, ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies); } // Modifiers are never allowed on properties except for 'async' on a method declaration - if (prop.modifiers) { + if (ts.canHaveModifiers(prop) && prop.modifiers) { for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; - if (mod.kind !== 131 /* SyntaxKind.AsyncKeyword */ || prop.kind !== 169 /* SyntaxKind.MethodDeclaration */) { + if (ts.isModifier(mod) && (mod.kind !== 131 /* SyntaxKind.AsyncKeyword */ || prop.kind !== 169 /* SyntaxKind.MethodDeclaration */)) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } } + else if (ts.canHaveIllegalModifiers(prop) && prop.modifiers) { + for (var _d = 0, _e = prop.modifiers; _d < _e.length; _d++) { + var mod = _e[_d]; + grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); + } + } // ECMA-262 11.1.5 Object Initializer // If previous is not undefined then throw a SyntaxError exception if any of the following conditions are true // a.This production is contained in strict code and IsDataDescriptor(previous) is true and @@ -88278,10 +89554,9 @@ var ts; var currentKind = void 0; switch (prop.kind) { case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - checkGrammarForInvalidExclamationToken(prop.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); - // falls through case 296 /* SyntaxKind.PropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment + checkGrammarForInvalidExclamationToken(prop.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); if (name.kind === 8 /* SyntaxKind.NumericLiteral */) { checkGrammarNumericLiteral(name); @@ -88720,9 +89995,6 @@ var ts; else { return grammarErrorOnNode(initializer, ts.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts); } - if (!isConstOrReadonly || isInvalidInitializer) { - return grammarErrorOnNode(initializer, ts.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts); - } } } function checkGrammarVariableDeclaration(node) { @@ -88889,7 +90161,7 @@ var ts; } } function checkGrammarConstructorTypeAnnotation(node) { - var type = ts.getEffectiveReturnTypeNode(node); + var type = node.type || ts.getEffectiveReturnTypeNode(node); if (type) { return grammarErrorOnNode(type, ts.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration); } @@ -88913,6 +90185,8 @@ var ts; if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } + // Interfaces cannot contain property declarations + ts.Debug.assertNode(node, ts.isPropertySignature); if (node.initializer) { return grammarErrorOnNode(node.initializer, ts.Diagnostics.An_interface_property_cannot_have_an_initializer); } @@ -88921,6 +90195,8 @@ var ts; if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } + // Type literals cannot contain property declarations + ts.Debug.assertNode(node, ts.isPropertySignature); if (node.initializer) { return grammarErrorOnNode(node.initializer, ts.Diagnostics.A_type_literal_property_cannot_have_an_initializer); } @@ -89295,7 +90571,6 @@ var ts; if (nodes === undefined || visitor === undefined) { return nodes; } - var updated; // Ensure start and count have valid values var length = nodes.length; if (start === undefined || start < 0) { @@ -89308,12 +90583,49 @@ var ts; var pos = -1; var end = -1; if (start > 0 || count < length) { - // If we are not visiting all of the original nodes, we must always create a new array. // Since this is a fragment of a node array, we do not copy over the previous location // and will only copy over `hasTrailingComma` if we are including the last element. - updated = []; hasTrailingComma = nodes.hasTrailingComma && start + count === length; } + else { + pos = nodes.pos; + end = nodes.end; + hasTrailingComma = nodes.hasTrailingComma; + } + var updated = visitArrayWorker(nodes, visitor, test, start, count); + if (updated !== nodes) { + // TODO(rbuckton): Remove dependency on `ts.factory` in favor of a provided factory. + var updatedArray = ts.factory.createNodeArray(updated, hasTrailingComma); + ts.setTextRangePosEnd(updatedArray, pos, end); + return updatedArray; + } + return nodes; + } + ts.visitNodes = visitNodes; + /* @internal */ + function visitArray(nodes, visitor, test, start, count) { + if (nodes === undefined) { + return nodes; + } + // Ensure start and count have valid values + var length = nodes.length; + if (start === undefined || start < 0) { + start = 0; + } + if (count === undefined || count > length - start) { + count = length - start; + } + return visitArrayWorker(nodes, visitor, test, start, count); + } + ts.visitArray = visitArray; + /* @internal */ + function visitArrayWorker(nodes, visitor, test, start, count) { + var updated; + var length = nodes.length; + if (start > 0 || count < length) { + // If we are not visiting all of the original nodes, we must always create a new array. + updated = []; + } // Visit each original node. for (var i = 0; i < count; i++) { var node = nodes[i + start]; @@ -89322,9 +90634,6 @@ var ts; if (updated === undefined) { // Ensure we have a copy of `nodes`, up to the current index. updated = nodes.slice(0, i); - hasTrailingComma = nodes.hasTrailingComma; - pos = nodes.pos; - end = nodes.end; } if (visited) { if (ts.isArray(visited)) { @@ -89341,15 +90650,8 @@ var ts; } } } - if (updated) { - // TODO(rbuckton): Remove dependency on `ts.factory` in favor of a provided factory. - var updatedArray = ts.factory.createNodeArray(updated, hasTrailingComma); - ts.setTextRangePosEnd(updatedArray, pos, end); - return updatedArray; - } - return nodes; + return updated !== null && updated !== void 0 ? updated : nodes; } - ts.visitNodes = visitNodes; /** * Starts a new lexical environment and visits a statement list, ending the lexical environment * and merging hoisted declarations upon completion. @@ -89421,7 +90723,7 @@ var ts; /*colonToken*/ undefined, factory.getGeneratedNameForNode(parameter)) : factory.getGeneratedNameForNode(parameter)), ]))); - return factory.updateParameterDeclaration(parameter, parameter.decorators, parameter.modifiers, parameter.dotDotDotToken, factory.getGeneratedNameForNode(parameter), parameter.questionToken, parameter.type, + return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, factory.getGeneratedNameForNode(parameter), parameter.questionToken, parameter.type, /*initializer*/ undefined); } function addDefaultValueAssignmentForInitializer(parameter, name, initializer, context) { @@ -89429,7 +90731,7 @@ var ts; context.addInitializationStatement(factory.createIfStatement(factory.createTypeCheck(factory.cloneNode(name), "undefined"), ts.setEmitFlags(ts.setTextRange(factory.createBlock([ factory.createExpressionStatement(ts.setEmitFlags(ts.setTextRange(factory.createAssignment(ts.setEmitFlags(factory.cloneNode(name), 48 /* EmitFlags.NoSourceMap */), ts.setEmitFlags(initializer, 48 /* EmitFlags.NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* EmitFlags.NoComments */)), parameter), 1536 /* EmitFlags.NoComments */)) ]), parameter), 1 /* EmitFlags.SingleLine */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */))); - return factory.updateParameterDeclaration(parameter, parameter.decorators, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, + return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, /*initializer*/ undefined); } function visitFunctionBody(node, visitor, context, nodeVisitor) { @@ -89495,7 +90797,7 @@ var ts; return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode)); case 164 /* SyntaxKind.Parameter */: ts.Debug.type(node); - return factory.updateParameterDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); + return factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); case 165 /* SyntaxKind.Decorator */: ts.Debug.type(node); return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression)); @@ -89505,7 +90807,7 @@ var ts; return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); case 167 /* SyntaxKind.PropertyDeclaration */: ts.Debug.type(node); - return factory.updatePropertyDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), + return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); case 168 /* SyntaxKind.MethodSignature */: @@ -89513,21 +90815,21 @@ var ts; return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); case 169 /* SyntaxKind.MethodDeclaration */: ts.Debug.type(node); - return factory.updateMethodDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + return factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); case 171 /* SyntaxKind.Constructor */: ts.Debug.type(node); - return factory.updateConstructorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); case 172 /* SyntaxKind.GetAccessor */: ts.Debug.type(node); - return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); case 173 /* SyntaxKind.SetAccessor */: ts.Debug.type(node); - return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: ts.Debug.type(node); context.startLexicalEnvironment(); context.suspendLexicalEnvironment(); - return factory.updateClassStaticBlockDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor)); case 174 /* SyntaxKind.CallSignature */: ts.Debug.type(node); return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); @@ -89536,7 +90838,7 @@ var ts; return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); case 176 /* SyntaxKind.IndexSignature */: ts.Debug.type(node); - return factory.updateIndexSignature(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); // Types case 177 /* SyntaxKind.TypePredicate */: ts.Debug.type(node); @@ -89582,13 +90884,13 @@ var ts; return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); case 200 /* SyntaxKind.ImportType */: ts.Debug.type(node); - return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), visitNodes(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); case 295 /* SyntaxKind.ImportTypeAssertionContainer */: ts.Debug.type(node); return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine); case 197 /* SyntaxKind.NamedTupleMember */: ts.Debug.type(node); - return factory.updateNamedTupleMember(node, visitNode(node.dotDotDotToken, visitor, ts.isDotDotDotToken), visitNode(node.name, visitor, ts.isIdentifier), visitNode(node.questionToken, visitor, ts.isQuestionToken), visitNode(node.type, visitor, ts.isTypeNode)); + return factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); case 191 /* SyntaxKind.ParenthesizedType */: ts.Debug.type(node); return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); @@ -89653,7 +90955,7 @@ var ts; return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); case 210 /* SyntaxKind.TaggedTemplateExpression */: ts.Debug.type(node); - return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), visitNodes(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral)); + return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral)); case 211 /* SyntaxKind.TypeAssertionExpression */: ts.Debug.type(node); return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression)); @@ -89701,7 +91003,7 @@ var ts; return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); case 226 /* SyntaxKind.ClassExpression */: ts.Debug.type(node); - return factory.updateClassExpression(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); + return factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); case 228 /* SyntaxKind.ExpressionWithTypeArguments */: ts.Debug.type(node); return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); @@ -89782,22 +91084,22 @@ var ts; return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); case 256 /* SyntaxKind.FunctionDeclaration */: ts.Debug.type(node); - return factory.updateFunctionDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + return factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); case 257 /* SyntaxKind.ClassDeclaration */: ts.Debug.type(node); - return factory.updateClassDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); + return factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); case 258 /* SyntaxKind.InterfaceDeclaration */: ts.Debug.type(node); - return factory.updateInterfaceDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); + return factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); case 259 /* SyntaxKind.TypeAliasDeclaration */: ts.Debug.type(node); - return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); case 260 /* SyntaxKind.EnumDeclaration */: ts.Debug.type(node); - return factory.updateEnumDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); + return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); case 261 /* SyntaxKind.ModuleDeclaration */: ts.Debug.type(node); - return factory.updateModuleDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody)); + return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody)); case 262 /* SyntaxKind.ModuleBlock */: ts.Debug.type(node); return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); @@ -89809,10 +91111,10 @@ var ts; return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); case 265 /* SyntaxKind.ImportEqualsDeclaration */: ts.Debug.type(node); - return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference)); + return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference)); case 266 /* SyntaxKind.ImportDeclaration */: ts.Debug.type(node); - return factory.updateImportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); + return factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); case 293 /* SyntaxKind.AssertClause */: ts.Debug.type(node); return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine); @@ -89836,10 +91138,10 @@ var ts; return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); case 271 /* SyntaxKind.ExportAssignment */: ts.Debug.type(node); - return factory.updateExportAssignment(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression)); + return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression)); case 272 /* SyntaxKind.ExportDeclaration */: ts.Debug.type(node); - return factory.updateExportDeclaration(node, nodesVisitor(node.decorators, visitor, ts.isDecorator), nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); + return factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); case 273 /* SyntaxKind.NamedExports */: ts.Debug.type(node); return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); @@ -90932,6 +92234,126 @@ var ts; return !ts.isStatic(member) && ts.isMethodOrAccessor(member) && ts.isPrivateIdentifier(member.name); } ts.isNonStaticMethodOrAccessorWithPrivateName = isNonStaticMethodOrAccessorWithPrivateName; + /** + * Gets an array of arrays of decorators for the parameters of a function-like node. + * The offset into the result array should correspond to the offset of the parameter. + * + * @param node The function-like node. + */ + function getDecoratorsOfParameters(node) { + var decorators; + if (node) { + var parameters = node.parameters; + var firstParameterIsThis = parameters.length > 0 && ts.parameterIsThisKeyword(parameters[0]); + var firstParameterOffset = firstParameterIsThis ? 1 : 0; + var numParameters = firstParameterIsThis ? parameters.length - 1 : parameters.length; + for (var i = 0; i < numParameters; i++) { + var parameter = parameters[i + firstParameterOffset]; + if (decorators || ts.hasDecorators(parameter)) { + if (!decorators) { + decorators = new Array(numParameters); + } + decorators[i] = ts.getDecorators(parameter); + } + } + } + return decorators; + } + /** + * Gets an AllDecorators object containing the decorators for the class and the decorators for the + * parameters of the constructor of the class. + * + * @param node The class node. + */ + function getAllDecoratorsOfClass(node) { + var decorators = ts.getDecorators(node); + var parameters = getDecoratorsOfParameters(ts.getFirstConstructorWithBody(node)); + if (!ts.some(decorators) && !ts.some(parameters)) { + return undefined; + } + return { + decorators: decorators, + parameters: parameters + }; + } + ts.getAllDecoratorsOfClass = getAllDecoratorsOfClass; + /** + * Gets an AllDecorators object containing the decorators for the member and its parameters. + * + * @param parent The class node that contains the member. + * @param member The class member. + */ + function getAllDecoratorsOfClassElement(member, parent) { + switch (member.kind) { + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: + return getAllDecoratorsOfAccessors(member, parent); + case 169 /* SyntaxKind.MethodDeclaration */: + return getAllDecoratorsOfMethod(member); + case 167 /* SyntaxKind.PropertyDeclaration */: + return getAllDecoratorsOfProperty(member); + default: + return undefined; + } + } + ts.getAllDecoratorsOfClassElement = getAllDecoratorsOfClassElement; + /** + * Gets an AllDecorators object containing the decorators for the accessor and its parameters. + * + * @param parent The class node that contains the accessor. + * @param accessor The class accessor member. + */ + function getAllDecoratorsOfAccessors(accessor, parent) { + if (!accessor.body) { + return undefined; + } + var _a = ts.getAllAccessorDeclarations(parent.members, accessor), firstAccessor = _a.firstAccessor, secondAccessor = _a.secondAccessor, getAccessor = _a.getAccessor, setAccessor = _a.setAccessor; + var firstAccessorWithDecorators = ts.hasDecorators(firstAccessor) ? firstAccessor : + secondAccessor && ts.hasDecorators(secondAccessor) ? secondAccessor : + undefined; + if (!firstAccessorWithDecorators || accessor !== firstAccessorWithDecorators) { + return undefined; + } + var decorators = ts.getDecorators(firstAccessorWithDecorators); + var parameters = getDecoratorsOfParameters(setAccessor); + if (!ts.some(decorators) && !ts.some(parameters)) { + return undefined; + } + return { + decorators: decorators, + parameters: parameters, + getDecorators: getAccessor && ts.getDecorators(getAccessor), + setDecorators: setAccessor && ts.getDecorators(setAccessor) + }; + } + /** + * Gets an AllDecorators object containing the decorators for the method and its parameters. + * + * @param method The class method member. + */ + function getAllDecoratorsOfMethod(method) { + if (!method.body) { + return undefined; + } + var decorators = ts.getDecorators(method); + var parameters = getDecoratorsOfParameters(method); + if (!ts.some(decorators) && !ts.some(parameters)) { + return undefined; + } + return { decorators: decorators, parameters: parameters }; + } + /** + * Gets an AllDecorators object containing the decorators for the property. + * + * @param property The class property member. + */ + function getAllDecoratorsOfProperty(property) { + var decorators = ts.getDecorators(property); + if (!ts.some(decorators)) { + return undefined; + } + return { decorators: decorators }; + } })(ts || (ts = {})); /*@internal*/ var ts; @@ -91205,8 +92627,8 @@ var ts; if (!ts.getRestIndicatorOfBindingOrAssignmentElement(element)) { var propertyName = ts.getPropertyNameOfBindingOrAssignmentElement(element); if (flattenContext.level >= 1 /* FlattenLevel.ObjectRest */ - && !(element.transformFlags & (16384 /* TransformFlags.ContainsRestOrSpread */ | 32768 /* TransformFlags.ContainsObjectRestOrSpread */)) - && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (16384 /* TransformFlags.ContainsRestOrSpread */ | 32768 /* TransformFlags.ContainsObjectRestOrSpread */)) + && !(element.transformFlags & (32768 /* TransformFlags.ContainsRestOrSpread */ | 65536 /* TransformFlags.ContainsObjectRestOrSpread */)) + && !(ts.getTargetOfBindingOrAssignmentElement(element).transformFlags & (32768 /* TransformFlags.ContainsRestOrSpread */ | 65536 /* TransformFlags.ContainsObjectRestOrSpread */)) && !ts.isComputedPropertyName(propertyName)) { bindingElements = ts.append(bindingElements, ts.visitNode(element, flattenContext.visitor)); } @@ -91272,7 +92694,7 @@ var ts; if (flattenContext.level >= 1 /* FlattenLevel.ObjectRest */) { // If an array pattern contains an ObjectRest, we must cache the result so that we // can perform the ObjectRest destructuring in a different declaration - if (element.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */ || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) { + if (element.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */ || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) { flattenContext.hasTransformedPriorElement = true; var temp = flattenContext.context.factory.createTempVariable(/*recordTempVariable*/ undefined); if (flattenContext.hoistTempVariables) { @@ -91494,8 +92916,6 @@ var ts; var USE_NEW_TYPE_METADATA_FORMAT = false; var TypeScriptSubstitutionFlags; (function (TypeScriptSubstitutionFlags) { - /** Enables substitutions for decorated classes. */ - TypeScriptSubstitutionFlags[TypeScriptSubstitutionFlags["ClassAliases"] = 1] = "ClassAliases"; /** Enables substitutions for namespace exports. */ TypeScriptSubstitutionFlags[TypeScriptSubstitutionFlags["NamespaceExports"] = 2] = "NamespaceExports"; /* Enables substitutions for unqualified enum members */ @@ -91521,9 +92941,9 @@ var ts; var factory = context.factory, emitHelpers = context.getEmitHelperFactory, startLexicalEnvironment = context.startLexicalEnvironment, resumeLexicalEnvironment = context.resumeLexicalEnvironment, endLexicalEnvironment = context.endLexicalEnvironment, hoistVariableDeclaration = context.hoistVariableDeclaration; var resolver = context.getEmitResolver(); var compilerOptions = context.getCompilerOptions(); - var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks"); var languageVersion = ts.getEmitScriptTarget(compilerOptions); var moduleKind = ts.getEmitModuleKind(compilerOptions); + var typeSerializer = compilerOptions.emitDecoratorMetadata ? ts.createRuntimeTypeSerializer(context) : undefined; // Save the previous transformation hooks. var previousOnEmitNode = context.onEmitNode; var previousOnSubstituteNode = context.onSubstituteNode; @@ -91538,7 +92958,6 @@ var ts; var currentNamespace; var currentNamespaceContainerName; var currentLexicalScope; - var currentNameScope; var currentScopeFirstDeclarationsOfName; var currentClassHasParameterProperties; /** @@ -91546,11 +92965,6 @@ var ts; * They are persisted between each SourceFile transformation and should not be reset. */ var enabledSubstitutions; - /** - * A map that keeps track of aliases created for classes with decorators to avoid issues - * with the double-binding behavior of classes. - */ - var classAliases; /** * Keeps track of whether we are within any containing namespaces when performing * just-in-time substitution while printing an expression identifier. @@ -91594,7 +93008,6 @@ var ts; function saveStateAndInvoke(node, f) { // Save state var savedCurrentScope = currentLexicalScope; - var savedCurrentNameScope = currentNameScope; var savedCurrentScopeFirstDeclarationsOfName = currentScopeFirstDeclarationsOfName; var savedCurrentClassHasParameterProperties = currentClassHasParameterProperties; // Handle state changes before visiting a node. @@ -91605,7 +93018,6 @@ var ts; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; } currentLexicalScope = savedCurrentScope; - currentNameScope = savedCurrentNameScope; currentClassHasParameterProperties = savedCurrentClassHasParameterProperties; return visited; } @@ -91621,7 +93033,6 @@ var ts; case 262 /* SyntaxKind.ModuleBlock */: case 235 /* SyntaxKind.Block */: currentLexicalScope = node; - currentNameScope = undefined; currentScopeFirstDeclarationsOfName = undefined; break; case 257 /* SyntaxKind.ClassDeclaration */: @@ -91639,10 +93050,6 @@ var ts; // programs may also have an undefined name. ts.Debug.assert(node.kind === 257 /* SyntaxKind.ClassDeclaration */ || ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)); } - if (ts.isClassDeclaration(node)) { - // XXX: should probably also cover interfaces and type aliases that can have type variables? - currentNameScope = node; - } break; } } @@ -91744,40 +93151,73 @@ var ts; return node; } /** - * Specialized visitor that visits the immediate children of a class with TypeScript syntax. + * Gets a specialized visitor that visits the immediate children of a class with TypeScript syntax. * - * @param node The node to visit. + * @param parent The class containing the elements to visit. */ - function classElementVisitor(node) { - return saveStateAndInvoke(node, classElementVisitorWorker); + function getClassElementVisitor(parent) { + return function (node) { return saveStateAndInvoke(node, function (n) { return classElementVisitorWorker(n, parent); }); }; } /** * Specialized visitor that visits the immediate children of a class with TypeScript syntax. * * @param node The node to visit. */ - function classElementVisitorWorker(node) { + function classElementVisitorWorker(node, parent) { switch (node.kind) { case 171 /* SyntaxKind.Constructor */: return visitConstructor(node); case 167 /* SyntaxKind.PropertyDeclaration */: // Property declarations are not TypeScript syntax, but they must be visited // for the decorator transformation. - return visitPropertyDeclaration(node); - case 176 /* SyntaxKind.IndexSignature */: + return visitPropertyDeclaration(node, parent); case 172 /* SyntaxKind.GetAccessor */: + // Get Accessors can have TypeScript modifiers, decorators, and type annotations. + return visitGetAccessor(node, parent); case 173 /* SyntaxKind.SetAccessor */: + // Set Accessors can have TypeScript modifiers and type annotations. + return visitSetAccessor(node, parent); case 169 /* SyntaxKind.MethodDeclaration */: + // TypeScript method declarations may have decorators, modifiers + // or type annotations. + return visitMethodDeclaration(node, parent); case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - // Fallback to the default visit behavior. - return visitorWorker(node); + return ts.visitEachChild(node, visitor, context); case 234 /* SyntaxKind.SemicolonClassElement */: return node; + case 176 /* SyntaxKind.IndexSignature */: + // Index signatures are elided + return; + default: + return ts.Debug.failBadSyntaxKind(node); + } + } + function getObjectLiteralElementVisitor(parent) { + return function (node) { return saveStateAndInvoke(node, function (n) { return objectLiteralElementVisitorWorker(n, parent); }); }; + } + function objectLiteralElementVisitorWorker(node, parent) { + switch (node.kind) { + case 296 /* SyntaxKind.PropertyAssignment */: + case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 298 /* SyntaxKind.SpreadAssignment */: + return visitor(node); + case 172 /* SyntaxKind.GetAccessor */: + // Get Accessors can have TypeScript modifiers, decorators, and type annotations. + return visitGetAccessor(node, parent); + case 173 /* SyntaxKind.SetAccessor */: + // Set Accessors can have TypeScript modifiers and type annotations. + return visitSetAccessor(node, parent); + case 169 /* SyntaxKind.MethodDeclaration */: + // TypeScript method declarations may have decorators, modifiers + // or type annotations. + return visitMethodDeclaration(node, parent); default: return ts.Debug.failBadSyntaxKind(node); } } function modifierVisitor(node) { + if (ts.isDecorator(node)) + return undefined; if (ts.modifierToFlag(node.kind) & 116958 /* ModifierFlags.TypeScriptModifier */) { return undefined; } @@ -91845,22 +93285,14 @@ var ts; // TypeScript type nodes are elided. // falls through case 176 /* SyntaxKind.IndexSignature */: - // TypeScript index signatures are elided. - // falls through - case 165 /* SyntaxKind.Decorator */: - // TypeScript decorators are elided. They will be emitted as part of visitClassDeclaration. + // TypeScript index signatures are elided. return undefined; case 259 /* SyntaxKind.TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return factory.createNotEmittedStatement(node); - case 167 /* SyntaxKind.PropertyDeclaration */: - // TypeScript property declarations are elided. However their names are still visited, and can potentially be retained if they could have sideeffects - return visitPropertyDeclaration(node); case 264 /* SyntaxKind.NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 171 /* SyntaxKind.Constructor */: - return visitConstructor(node); case 258 /* SyntaxKind.InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. @@ -91894,16 +93326,15 @@ var ts; case 228 /* SyntaxKind.ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); + case 205 /* SyntaxKind.ObjectLiteralExpression */: + return visitObjectLiteralExpression(node); + case 171 /* SyntaxKind.Constructor */: + case 167 /* SyntaxKind.PropertyDeclaration */: case 169 /* SyntaxKind.MethodDeclaration */: - // TypeScript method declarations may have decorators, modifiers - // or type annotations. - return visitMethodDeclaration(node); case 172 /* SyntaxKind.GetAccessor */: - // Get Accessors can have TypeScript modifiers, decorators, and type annotations. - return visitGetAccessor(node); case 173 /* SyntaxKind.SetAccessor */: - // Set Accessors can have TypeScript modifiers and type annotations. - return visitSetAccessor(node); + case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + return ts.Debug.fail("Class and object literal elements must be visited with their respective visitors"); case 256 /* SyntaxKind.FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); @@ -91969,6 +93400,9 @@ var ts; !ts.isJsonSourceFile(node); return factory.updateSourceFile(node, ts.visitLexicalEnvironment(node.statements, sourceElementVisitor, context, /*start*/ 0, alwaysStrict)); } + function visitObjectLiteralExpression(node) { + return factory.updateObjectLiteralExpression(node, ts.visitNodes(node.properties, getObjectLiteralElementVisitor(node), ts.isObjectLiteralElement)); + } function getClassFacts(node, staticProperties) { var facts = 0 /* ClassFacts.None */; if (ts.some(staticProperties)) @@ -91991,17 +93425,18 @@ var ts; return facts; } function hasTypeScriptClassSyntax(node) { - return !!(node.transformFlags & 4096 /* TransformFlags.ContainsTypeScriptClassSyntax */); + return !!(node.transformFlags & 8192 /* TransformFlags.ContainsTypeScriptClassSyntax */); } function isClassLikeDeclarationWithTypeScriptSyntax(node) { - return ts.some(node.decorators) + return ts.hasDecorators(node) || ts.some(node.typeParameters) || ts.some(node.heritageClauses, hasTypeScriptClassSyntax) || ts.some(node.members, hasTypeScriptClassSyntax); } function visitClassDeclaration(node) { if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */))) { - return ts.visitEachChild(node, visitor, context); + return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, + /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); } var staticProperties = ts.getProperties(node, /*requireInitializer*/ true, /*isStatic*/ true); var facts = getClassFacts(node, staticProperties); @@ -92009,14 +93444,25 @@ var ts; context.startLexicalEnvironment(); } var name = node.name || (facts & 5 /* ClassFacts.NeedsName */ ? factory.getGeneratedNameForNode(node) : undefined); - var classStatement = facts & 2 /* ClassFacts.HasConstructorDecorators */ - ? createClassDeclarationHeadWithDecorators(node, name) - : createClassDeclarationHeadWithoutDecorators(node, name, facts); + var allDecorators = ts.getAllDecoratorsOfClass(node); + var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators); + // we do not emit modifiers on the declaration if we are emitting an IIFE + var modifiers = !(facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */) + ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier) + : ts.elideNodes(factory, node.modifiers); // preserve positions, if available + // ${modifiers} class ${name} ${heritageClauses} { + // ${members} + // } + var classStatement = factory.updateClassDeclaration(node, ts.concatenate(decorators, modifiers), name, + /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node)); + // To better align with the old emitter, we should not emit a trailing source map + // entry if the class has static properties. + var emitFlags = ts.getEmitFlags(node); + if (facts & 1 /* ClassFacts.HasStaticInitializedProperties */) { + emitFlags |= 32 /* EmitFlags.NoTrailingSourceMap */; + } + ts.setEmitFlags(classStatement, emitFlags); var statements = [classStatement]; - // Write any decorators of the node. - addClassElementDecorationStatements(statements, node, /*isStatic*/ false); - addClassElementDecorationStatements(statements, node, /*isStatic*/ true); - addConstructorDecorationStatement(statements, node); if (facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */) { // When we emit a TypeScript class down to ES5, we must wrap it in an IIFE so that the // 'es2015' transformer can properly nest static initializers and decorators. The result @@ -92076,164 +93522,13 @@ var ts; } return ts.singleOrMany(statements); } - /** - * Transforms a non-decorated class declaration and appends the resulting statements. - * - * @param node A ClassDeclaration node. - * @param name The name of the class. - * @param facts Precomputed facts about the class. - */ - function createClassDeclarationHeadWithoutDecorators(node, name, facts) { - // ${modifiers} class ${name} ${heritageClauses} { - // ${members} - // } - // we do not emit modifiers on the declaration if we are emitting an IIFE - var modifiers = !(facts & 128 /* ClassFacts.UseImmediatelyInvokedFunctionExpression */) - ? ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier) - : undefined; - var classDeclaration = factory.createClassDeclaration( - /*decorators*/ undefined, modifiers, name, - /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node)); - // To better align with the old emitter, we should not emit a trailing source map - // entry if the class has static properties. - var emitFlags = ts.getEmitFlags(node); - if (facts & 1 /* ClassFacts.HasStaticInitializedProperties */) { - emitFlags |= 32 /* EmitFlags.NoTrailingSourceMap */; - } - ts.setTextRange(classDeclaration, node); - ts.setOriginalNode(classDeclaration, node); - ts.setEmitFlags(classDeclaration, emitFlags); - return classDeclaration; - } - /** - * Transforms a decorated class declaration and appends the resulting statements. If - * the class requires an alias to avoid issues with double-binding, the alias is returned. - */ - function createClassDeclarationHeadWithDecorators(node, name) { - // When we emit an ES6 class that has a class decorator, we must tailor the - // emit to certain specific cases. - // - // In the simplest case, we emit the class declaration as a let declaration, and - // evaluate decorators after the close of the class body: - // - // [Example 1] - // --------------------------------------------------------------------- - // TypeScript | Javascript - // --------------------------------------------------------------------- - // @dec | let C = class C { - // class C { | } - // } | C = __decorate([dec], C); - // --------------------------------------------------------------------- - // @dec | let C = class C { - // export class C { | } - // } | C = __decorate([dec], C); - // | export { C }; - // --------------------------------------------------------------------- - // - // If a class declaration contains a reference to itself *inside* of the class body, - // this introduces two bindings to the class: One outside of the class body, and one - // inside of the class body. If we apply decorators as in [Example 1] above, there - // is the possibility that the decorator `dec` will return a new value for the - // constructor, which would result in the binding inside of the class no longer - // pointing to the same reference as the binding outside of the class. - // - // As a result, we must instead rewrite all references to the class *inside* of the - // class body to instead point to a local temporary alias for the class: - // - // [Example 2] - // --------------------------------------------------------------------- - // TypeScript | Javascript - // --------------------------------------------------------------------- - // @dec | let C = C_1 = class C { - // class C { | static x() { return C_1.y; } - // static x() { return C.y; } | } - // static y = 1; | C.y = 1; - // } | C = C_1 = __decorate([dec], C); - // | var C_1; - // --------------------------------------------------------------------- - // @dec | let C = class C { - // export class C { | static x() { return C_1.y; } - // static x() { return C.y; } | } - // static y = 1; | C.y = 1; - // } | C = C_1 = __decorate([dec], C); - // | export { C }; - // | var C_1; - // --------------------------------------------------------------------- - // - // If a class declaration is the default export of a module, we instead emit - // the export after the decorated declaration: - // - // [Example 3] - // --------------------------------------------------------------------- - // TypeScript | Javascript - // --------------------------------------------------------------------- - // @dec | let default_1 = class { - // export default class { | } - // } | default_1 = __decorate([dec], default_1); - // | export default default_1; - // --------------------------------------------------------------------- - // @dec | let C = class C { - // export default class C { | } - // } | C = __decorate([dec], C); - // | export default C; - // --------------------------------------------------------------------- - // - // If the class declaration is the default export and a reference to itself - // inside of the class body, we must emit both an alias for the class *and* - // move the export after the declaration: - // - // [Example 4] - // --------------------------------------------------------------------- - // TypeScript | Javascript - // --------------------------------------------------------------------- - // @dec | let C = class C { - // export default class C { | static x() { return C_1.y; } - // static x() { return C.y; } | } - // static y = 1; | C.y = 1; - // } | C = C_1 = __decorate([dec], C); - // | export default C; - // | var C_1; - // --------------------------------------------------------------------- - // - var location = ts.moveRangePastDecorators(node); - var classAlias = getClassAliasIfNeeded(node); - // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name - // without any block-scoped variable collision handling - var declName = languageVersion <= 2 /* ScriptTarget.ES2015 */ ? - factory.getInternalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true) : - factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); - // ... = class ${name} ${heritageClauses} { - // ${members} - // } - var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause); - var members = transformClassMembers(node); - var classExpression = factory.createClassExpression(/*decorators*/ undefined, /*modifiers*/ undefined, name, /*typeParameters*/ undefined, heritageClauses, members); - ts.setOriginalNode(classExpression, node); - ts.setTextRange(classExpression, location); - // let ${name} = ${classExpression} where name is either declaredName if the class doesn't contain self-reference - // or decoratedClassAlias if the class contain self-reference. - var statement = factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(declName, - /*exclamationToken*/ undefined, - /*type*/ undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression) - ], 1 /* NodeFlags.Let */)); - ts.setOriginalNode(statement, node); - ts.setTextRange(statement, location); - ts.setCommentRange(statement, node); - return statement; - } function visitClassExpression(node) { - if (!isClassLikeDeclarationWithTypeScriptSyntax(node)) { - return ts.visitEachChild(node, visitor, context); - } - var classExpression = factory.createClassExpression( - /*decorators*/ undefined, - /*modifiers*/ undefined, node.name, - /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node)); - ts.setOriginalNode(classExpression, node); - ts.setTextRange(classExpression, node); - return classExpression; + var allDecorators = ts.getAllDecoratorsOfClass(node); + var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators); + return factory.updateClassExpression(node, decorators, node.name, + /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), isClassLikeDeclarationWithTypeScriptSyntax(node) ? + transformClassMembers(node) : + ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); } /** * Transforms the members of a class. @@ -92250,7 +93545,6 @@ var ts; var parameter = parametersWithPropertyAssignments_1[_i]; if (ts.isIdentifier(parameter.name)) { members.push(ts.setOriginalNode(factory.createPropertyDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, parameter.name, /*questionOrExclamationToken*/ undefined, /*type*/ undefined, @@ -92258,159 +93552,9 @@ var ts; } } } - ts.addRange(members, ts.visitNodes(node.members, classElementVisitor, ts.isClassElement)); + ts.addRange(members, ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); return ts.setTextRange(factory.createNodeArray(members), /*location*/ node.members); } - /** - * Gets either the static or instance members of a class that are decorated, or have - * parameters that are decorated. - * - * @param node The class containing the member. - * @param isStatic A value indicating whether to retrieve static or instance members of - * the class. - */ - function getDecoratedClassElements(node, isStatic) { - return ts.filter(node.members, isStatic ? function (m) { return isStaticDecoratedClassElement(m, node); } : function (m) { return isInstanceDecoratedClassElement(m, node); }); - } - /** - * Determines whether a class member is a static member of a class that is decorated, or - * has parameters that are decorated. - * - * @param member The class member. - */ - function isStaticDecoratedClassElement(member, parent) { - return isDecoratedClassElement(member, /*isStaticElement*/ true, parent); - } - /** - * Determines whether a class member is an instance member of a class that is decorated, - * or has parameters that are decorated. - * - * @param member The class member. - */ - function isInstanceDecoratedClassElement(member, parent) { - return isDecoratedClassElement(member, /*isStaticElement*/ false, parent); - } - /** - * Determines whether a class member is either a static or an instance member of a class - * that is decorated, or has parameters that are decorated. - * - * @param member The class member. - */ - function isDecoratedClassElement(member, isStaticElement, parent) { - return ts.nodeOrChildIsDecorated(member, parent) - && isStaticElement === ts.isStatic(member); - } - /** - * Gets an array of arrays of decorators for the parameters of a function-like node. - * The offset into the result array should correspond to the offset of the parameter. - * - * @param node The function-like node. - */ - function getDecoratorsOfParameters(node) { - var decorators; - if (node) { - var parameters = node.parameters; - var firstParameterIsThis = parameters.length > 0 && ts.parameterIsThisKeyword(parameters[0]); - var firstParameterOffset = firstParameterIsThis ? 1 : 0; - var numParameters = firstParameterIsThis ? parameters.length - 1 : parameters.length; - for (var i = 0; i < numParameters; i++) { - var parameter = parameters[i + firstParameterOffset]; - if (decorators || parameter.decorators) { - if (!decorators) { - decorators = new Array(numParameters); - } - decorators[i] = parameter.decorators; - } - } - } - return decorators; - } - /** - * Gets an AllDecorators object containing the decorators for the class and the decorators for the - * parameters of the constructor of the class. - * - * @param node The class node. - */ - function getAllDecoratorsOfConstructor(node) { - var decorators = node.decorators; - var parameters = getDecoratorsOfParameters(ts.getFirstConstructorWithBody(node)); - if (!decorators && !parameters) { - return undefined; - } - return { - decorators: decorators, - parameters: parameters - }; - } - /** - * Gets an AllDecorators object containing the decorators for the member and its parameters. - * - * @param node The class node that contains the member. - * @param member The class member. - */ - function getAllDecoratorsOfClassElement(node, member) { - switch (member.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - return getAllDecoratorsOfAccessors(node, member); - case 169 /* SyntaxKind.MethodDeclaration */: - return getAllDecoratorsOfMethod(member); - case 167 /* SyntaxKind.PropertyDeclaration */: - return getAllDecoratorsOfProperty(member); - default: - return undefined; - } - } - /** - * Gets an AllDecorators object containing the decorators for the accessor and its parameters. - * - * @param node The class node that contains the accessor. - * @param accessor The class accessor member. - */ - function getAllDecoratorsOfAccessors(node, accessor) { - if (!accessor.body) { - return undefined; - } - var _a = ts.getAllAccessorDeclarations(node.members, accessor), firstAccessor = _a.firstAccessor, secondAccessor = _a.secondAccessor, setAccessor = _a.setAccessor; - var firstAccessorWithDecorators = firstAccessor.decorators ? firstAccessor : secondAccessor && secondAccessor.decorators ? secondAccessor : undefined; - if (!firstAccessorWithDecorators || accessor !== firstAccessorWithDecorators) { - return undefined; - } - var decorators = firstAccessorWithDecorators.decorators; - var parameters = getDecoratorsOfParameters(setAccessor); - if (!decorators && !parameters) { - return undefined; - } - return { decorators: decorators, parameters: parameters }; - } - /** - * Gets an AllDecorators object containing the decorators for the method and its parameters. - * - * @param method The class method member. - */ - function getAllDecoratorsOfMethod(method) { - if (!method.body) { - return undefined; - } - var decorators = method.decorators; - var parameters = getDecoratorsOfParameters(method); - if (!decorators && !parameters) { - return undefined; - } - return { decorators: decorators, parameters: parameters }; - } - /** - * Gets an AllDecorators object containing the decorators for the property. - * - * @param property The class property member. - */ - function getAllDecoratorsOfProperty(property) { - var decorators = property.decorators; - if (!decorators) { - return undefined; - } - return { decorators: decorators }; - } /** * Transforms all of the decorators for a declaration into an array of expressions. * @@ -92418,212 +93562,89 @@ var ts; * @param allDecorators An object containing all of the decorators for the declaration. */ function transformAllDecoratorsOfDeclaration(node, container, allDecorators) { + var _a, _b, _c, _d; if (!allDecorators) { return undefined; } - var decoratorExpressions = []; - ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator)); - ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter)); - addTypeMetadata(node, container, decoratorExpressions); - return decoratorExpressions; - } - /** - * Generates statements used to apply decorators to either the static or instance members - * of a class. - * - * @param node The class node. - * @param isStatic A value indicating whether to generate statements for static or - * instance members. - */ - function addClassElementDecorationStatements(statements, node, isStatic) { - ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), expressionToStatement)); - } - /** - * Generates expressions used to apply decorators to either the static or instance members - * of a class. - * - * @param node The class node. - * @param isStatic A value indicating whether to generate expressions for static or - * instance members. - */ - function generateClassElementDecorationExpressions(node, isStatic) { - var members = getDecoratedClassElements(node, isStatic); - var expressions; - for (var _i = 0, members_8 = members; _i < members_8.length; _i++) { - var member = members_8[_i]; - var expression = generateClassElementDecorationExpression(node, member); - if (expression) { - if (!expressions) { - expressions = [expression]; - } - else { - expressions.push(expression); - } - } - } - return expressions; - } - /** - * Generates an expression used to evaluate class element decorators at runtime. - * - * @param node The class node that contains the member. - * @param member The class member. - */ - function generateClassElementDecorationExpression(node, member) { - var allDecorators = getAllDecoratorsOfClassElement(node, member); - var decoratorExpressions = transformAllDecoratorsOfDeclaration(member, node, allDecorators); - if (!decoratorExpressions) { - return undefined; - } - // Emit the call to __decorate. Given the following: - // - // class C { - // @dec method(@dec2 x) {} - // @dec get accessor() {} - // @dec prop; - // } - // - // The emit for a method is: - // - // __decorate([ - // dec, - // __param(0, dec2), - // __metadata("design:type", Function), - // __metadata("design:paramtypes", [Object]), - // __metadata("design:returntype", void 0) - // ], C.prototype, "method", null); - // - // The emit for an accessor is: - // - // __decorate([ - // dec - // ], C.prototype, "accessor", null); - // - // The emit for a property is: - // - // __decorate([ - // dec - // ], C.prototype, "prop"); - // - var prefix = getClassMemberPrefix(node, member); - var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* ModifierFlags.Ambient */)); - var descriptor = languageVersion > 0 /* ScriptTarget.ES3 */ - ? member.kind === 167 /* SyntaxKind.PropertyDeclaration */ - // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it - // should not invoke `Object.getOwnPropertyDescriptor`. - ? factory.createVoidZero() - // We emit `null` here to indicate to `__decorate` that it can invoke `Object.getOwnPropertyDescriptor` directly. - // We have this extra argument here so that we can inject an explicit property descriptor at a later date. - : factory.createNull() - : undefined; - var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor); - ts.setTextRange(helper, ts.moveRangePastDecorators(member)); - ts.setEmitFlags(helper, 1536 /* EmitFlags.NoComments */); - return helper; - } - /** - * Generates a __decorate helper call for a class constructor. - * - * @param node The class node. - */ - function addConstructorDecorationStatement(statements, node) { - var expression = generateConstructorDecorationExpression(node); - if (expression) { - statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node)); - } - } - /** - * Generates a __decorate helper call for a class constructor. - * - * @param node The class node. - */ - function generateConstructorDecorationExpression(node) { - var allDecorators = getAllDecoratorsOfConstructor(node); - var decoratorExpressions = transformAllDecoratorsOfDeclaration(node, node, allDecorators); - if (!decoratorExpressions) { - return undefined; - } - var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)]; - // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name - // without any block-scoped variable collision handling - var localName = languageVersion <= 2 /* ScriptTarget.ES2015 */ ? - factory.getInternalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true) : - factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); - var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName); - var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate); - ts.setEmitFlags(expression, 1536 /* EmitFlags.NoComments */); - ts.setSourceMapRange(expression, ts.moveRangePastDecorators(node)); - return expression; - } - /** - * Transforms a decorator into an expression. - * - * @param decorator The decorator node. - */ - function transformDecorator(decorator) { - return ts.visitNode(decorator.expression, visitor, ts.isExpression); + var decorators = ts.visitArray(allDecorators.decorators, visitor, ts.isDecorator); + var parameterDecorators = ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter); + var metadataDecorators = ts.some(decorators) || ts.some(parameterDecorators) ? getTypeMetadata(node, container) : undefined; + var result = factory.createNodeArray(ts.concatenate(ts.concatenate(decorators, parameterDecorators), metadataDecorators)); + var pos = (_b = (_a = ts.firstOrUndefined(allDecorators.decorators)) === null || _a === void 0 ? void 0 : _a.pos) !== null && _b !== void 0 ? _b : -1; + var end = (_d = (_c = ts.lastOrUndefined(allDecorators.decorators)) === null || _c === void 0 ? void 0 : _c.end) !== null && _d !== void 0 ? _d : -1; + ts.setTextRangePosEnd(result, pos, end); + return result; } /** - * Transforms the decorators of a parameter. + * Transforms the decorators of a parameter into decorators of the class/method. * - * @param decorators The decorators for the parameter at the provided offset. + * @param parameterDecorators The decorators for the parameter at the provided offset. * @param parameterOffset The offset of the parameter. */ - function transformDecoratorsOfParameter(decorators, parameterOffset) { - var expressions; - if (decorators) { - expressions = []; - for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) { - var decorator = decorators_1[_i]; - var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset); - ts.setTextRange(helper, decorator.expression); + function transformDecoratorsOfParameter(parameterDecorators, parameterOffset) { + if (parameterDecorators) { + var decorators = []; + for (var _i = 0, parameterDecorators_1 = parameterDecorators; _i < parameterDecorators_1.length; _i++) { + var parameterDecorator = parameterDecorators_1[_i]; + var expression = ts.visitNode(parameterDecorator.expression, visitor, ts.isExpression); + var helper = emitHelpers().createParamHelper(expression, parameterOffset); + ts.setTextRange(helper, parameterDecorator.expression); ts.setEmitFlags(helper, 1536 /* EmitFlags.NoComments */); - expressions.push(helper); + var decorator = factory.createDecorator(helper); + ts.setSourceMapRange(decorator, parameterDecorator.expression); + ts.setCommentRange(decorator, parameterDecorator.expression); + ts.setEmitFlags(decorator, 1536 /* EmitFlags.NoComments */); + decorators.push(decorator); } + return decorators; } - return expressions; } /** - * Adds optional type metadata for a declaration. + * Gets optional type metadata for a declaration. * * @param node The declaration node. - * @param decoratorExpressions The destination array to which to add new decorator expressions. */ - function addTypeMetadata(node, container, decoratorExpressions) { - if (USE_NEW_TYPE_METADATA_FORMAT) { - addNewTypeMetadata(node, container, decoratorExpressions); - } - else { - addOldTypeMetadata(node, container, decoratorExpressions); - } + function getTypeMetadata(node, container) { + return USE_NEW_TYPE_METADATA_FORMAT ? + getNewTypeMetadata(node, container) : + getOldTypeMetadata(node, container); } - function addOldTypeMetadata(node, container, decoratorExpressions) { - if (compilerOptions.emitDecoratorMetadata) { + function getOldTypeMetadata(node, container) { + if (typeSerializer) { + var decorators = void 0; if (shouldAddTypeMetadata(node)) { - decoratorExpressions.push(emitHelpers().createMetadataHelper("design:type", serializeTypeOfNode(node))); + var typeMetadata = emitHelpers().createMetadataHelper("design:type", typeSerializer.serializeTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node)); + decorators = ts.append(decorators, factory.createDecorator(typeMetadata)); } if (shouldAddParamTypesMetadata(node)) { - decoratorExpressions.push(emitHelpers().createMetadataHelper("design:paramtypes", serializeParameterTypesOfNode(node, container))); + var paramTypesMetadata = emitHelpers().createMetadataHelper("design:paramtypes", typeSerializer.serializeParameterTypesOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node, container)); + decorators = ts.append(decorators, factory.createDecorator(paramTypesMetadata)); } if (shouldAddReturnTypeMetadata(node)) { - decoratorExpressions.push(emitHelpers().createMetadataHelper("design:returntype", serializeReturnTypeOfNode(node))); + var returnTypeMetadata = emitHelpers().createMetadataHelper("design:returntype", typeSerializer.serializeReturnTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node)); + decorators = ts.append(decorators, factory.createDecorator(returnTypeMetadata)); } + return decorators; } } - function addNewTypeMetadata(node, container, decoratorExpressions) { - if (compilerOptions.emitDecoratorMetadata) { + function getNewTypeMetadata(node, container) { + if (typeSerializer) { var properties = void 0; if (shouldAddTypeMetadata(node)) { - (properties || (properties = [])).push(factory.createPropertyAssignment("type", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), serializeTypeOfNode(node)))); + var typeProperty = factory.createPropertyAssignment("type", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), typeSerializer.serializeTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node))); + properties = ts.append(properties, typeProperty); } if (shouldAddParamTypesMetadata(node)) { - (properties || (properties = [])).push(factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), serializeParameterTypesOfNode(node, container)))); + var paramTypeProperty = factory.createPropertyAssignment("paramTypes", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), typeSerializer.serializeParameterTypesOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node, container))); + properties = ts.append(properties, paramTypeProperty); } if (shouldAddReturnTypeMetadata(node)) { - (properties || (properties = [])).push(factory.createPropertyAssignment("returnType", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), serializeReturnTypeOfNode(node)))); + var returnTypeProperty = factory.createPropertyAssignment("returnType", factory.createArrowFunction(/*modifiers*/ undefined, /*typeParameters*/ undefined, [], /*type*/ undefined, factory.createToken(38 /* SyntaxKind.EqualsGreaterThanToken */), typeSerializer.serializeReturnTypeOfNode({ currentLexicalScope: currentLexicalScope, currentNameScope: container }, node))); + properties = ts.append(properties, returnTypeProperty); } if (properties) { - decoratorExpressions.push(emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, /*multiLine*/ true))); + var typeInfoMetadata = emitHelpers().createMetadataHelper("design:typeinfo", factory.createObjectLiteralExpression(properties, /*multiLine*/ true)); + return [factory.createDecorator(typeInfoMetadata)]; } } } @@ -92670,347 +93691,6 @@ var ts; } return false; } - function getAccessorTypeNode(node) { - var accessors = resolver.getAllAccessorDeclarations(node); - return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor) - || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor); - } - /** - * Serializes the type of a node for use with decorator type metadata. - * - * @param node The node that should have its type serialized. - */ - function serializeTypeOfNode(node) { - switch (node.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 164 /* SyntaxKind.Parameter */: - return serializeTypeNode(node.type); - case 173 /* SyntaxKind.SetAccessor */: - case 172 /* SyntaxKind.GetAccessor */: - return serializeTypeNode(getAccessorTypeNode(node)); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - return factory.createIdentifier("Function"); - default: - return factory.createVoidZero(); - } - } - /** - * Serializes the types of the parameters of a node for use with decorator type metadata. - * - * @param node The node that should have its parameter types serialized. - */ - function serializeParameterTypesOfNode(node, container) { - var valueDeclaration = ts.isClassLike(node) - ? ts.getFirstConstructorWithBody(node) - : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body) - ? node - : undefined; - var expressions = []; - if (valueDeclaration) { - var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container); - var numParameters = parameters.length; - for (var i = 0; i < numParameters; i++) { - var parameter = parameters[i]; - if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") { - continue; - } - if (parameter.dotDotDotToken) { - expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type))); - } - else { - expressions.push(serializeTypeOfNode(parameter)); - } - } - } - return factory.createArrayLiteralExpression(expressions); - } - function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 172 /* SyntaxKind.GetAccessor */) { - var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; - if (setAccessor) { - return setAccessor.parameters; - } - } - return node.parameters; - } - /** - * Serializes the return type of a node for use with decorator type metadata. - * - * @param node The node that should have its return type serialized. - */ - function serializeReturnTypeOfNode(node) { - if (ts.isFunctionLike(node) && node.type) { - return serializeTypeNode(node.type); - } - else if (ts.isAsyncFunction(node)) { - return factory.createIdentifier("Promise"); - } - return factory.createVoidZero(); - } - /** - * Serializes a type node for use with decorator type metadata. - * - * Types are serialized in the following fashion: - * - Void types point to "undefined" (e.g. "void 0") - * - Function and Constructor types point to the global "Function" constructor. - * - Interface types with a call or construct signature types point to the global - * "Function" constructor. - * - Array and Tuple types point to the global "Array" constructor. - * - Type predicates and booleans point to the global "Boolean" constructor. - * - String literal types and strings point to the global "String" constructor. - * - Enum and number types point to the global "Number" constructor. - * - Symbol types point to the global "Symbol" constructor. - * - Type references to classes (or class-like variables) point to the constructor for the class. - * - Anything else points to the global "Object" constructor. - * - * @param node The type node to serialize. - */ - function serializeTypeNode(node) { - if (node === undefined) { - return factory.createIdentifier("Object"); - } - switch (node.kind) { - case 114 /* SyntaxKind.VoidKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: - return factory.createVoidZero(); - case 191 /* SyntaxKind.ParenthesizedType */: - return serializeTypeNode(node.type); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - return factory.createIdentifier("Function"); - case 183 /* SyntaxKind.ArrayType */: - case 184 /* SyntaxKind.TupleType */: - return factory.createIdentifier("Array"); - case 177 /* SyntaxKind.TypePredicate */: - case 133 /* SyntaxKind.BooleanKeyword */: - return factory.createIdentifier("Boolean"); - case 198 /* SyntaxKind.TemplateLiteralType */: - case 150 /* SyntaxKind.StringKeyword */: - return factory.createIdentifier("String"); - case 148 /* SyntaxKind.ObjectKeyword */: - return factory.createIdentifier("Object"); - case 196 /* SyntaxKind.LiteralType */: - switch (node.literal.kind) { - case 10 /* SyntaxKind.StringLiteral */: - case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: - return factory.createIdentifier("String"); - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 8 /* SyntaxKind.NumericLiteral */: - return factory.createIdentifier("Number"); - case 9 /* SyntaxKind.BigIntLiteral */: - return getGlobalBigIntNameWithFallback(); - case 110 /* SyntaxKind.TrueKeyword */: - case 95 /* SyntaxKind.FalseKeyword */: - return factory.createIdentifier("Boolean"); - case 104 /* SyntaxKind.NullKeyword */: - return factory.createVoidZero(); - default: - return ts.Debug.failBadSyntaxKind(node.literal); - } - case 147 /* SyntaxKind.NumberKeyword */: - return factory.createIdentifier("Number"); - case 158 /* SyntaxKind.BigIntKeyword */: - return getGlobalBigIntNameWithFallback(); - case 151 /* SyntaxKind.SymbolKeyword */: - return languageVersion < 2 /* ScriptTarget.ES2015 */ - ? getGlobalSymbolNameWithFallback() - : factory.createIdentifier("Symbol"); - case 178 /* SyntaxKind.TypeReference */: - return serializeTypeReferenceNode(node); - case 188 /* SyntaxKind.IntersectionType */: - case 187 /* SyntaxKind.UnionType */: - return serializeTypeList(node.types); - case 189 /* SyntaxKind.ConditionalType */: - return serializeTypeList([node.trueType, node.falseType]); - case 193 /* SyntaxKind.TypeOperator */: - if (node.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { - return serializeTypeNode(node.type); - } - break; - case 181 /* SyntaxKind.TypeQuery */: - case 194 /* SyntaxKind.IndexedAccessType */: - case 195 /* SyntaxKind.MappedType */: - case 182 /* SyntaxKind.TypeLiteral */: - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 192 /* SyntaxKind.ThisType */: - case 200 /* SyntaxKind.ImportType */: - break; - // handle JSDoc types from an invalid parse - case 312 /* SyntaxKind.JSDocAllType */: - case 313 /* SyntaxKind.JSDocUnknownType */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 318 /* SyntaxKind.JSDocVariadicType */: - case 319 /* SyntaxKind.JSDocNamepathType */: - break; - case 314 /* SyntaxKind.JSDocNullableType */: - case 315 /* SyntaxKind.JSDocNonNullableType */: - case 316 /* SyntaxKind.JSDocOptionalType */: - return serializeTypeNode(node.type); - default: - return ts.Debug.failBadSyntaxKind(node); - } - return factory.createIdentifier("Object"); - } - function serializeTypeList(types) { - // Note when updating logic here also update getEntityNameForDecoratorMetadata - // so that aliases can be marked as referenced - var serializedUnion; - for (var _i = 0, types_23 = types; _i < types_23.length; _i++) { - var typeNode = types_23[_i]; - while (typeNode.kind === 191 /* SyntaxKind.ParenthesizedType */) { - typeNode = typeNode.type; // Skip parens if need be - } - if (typeNode.kind === 143 /* SyntaxKind.NeverKeyword */) { - continue; // Always elide `never` from the union/intersection if possible - } - if (!strictNullChecks && (typeNode.kind === 196 /* SyntaxKind.LiteralType */ && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */ || typeNode.kind === 153 /* SyntaxKind.UndefinedKeyword */)) { - continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks - } - var serializedIndividual = serializeTypeNode(typeNode); - if (ts.isIdentifier(serializedIndividual) && serializedIndividual.escapedText === "Object") { - // One of the individual is global object, return immediately - return serializedIndividual; - } - // If there exists union that is not void 0 expression, check if the the common type is identifier. - // anything more complex and we will just default to Object - else if (serializedUnion) { - // Different types - if (!ts.isIdentifier(serializedUnion) || - !ts.isIdentifier(serializedIndividual) || - serializedUnion.escapedText !== serializedIndividual.escapedText) { - return factory.createIdentifier("Object"); - } - } - else { - // Initialize the union type - serializedUnion = serializedIndividual; - } - } - // If we were able to find common type, use it - return serializedUnion || factory.createVoidZero(); // Fallback is only hit if all union constituients are null/undefined/never - } - /** - * Serializes a TypeReferenceNode to an appropriate JS constructor value for use with - * decorator type metadata. - * - * @param node The type reference node. - */ - function serializeTypeReferenceNode(node) { - var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope || currentLexicalScope); - switch (kind) { - case ts.TypeReferenceSerializationKind.Unknown: - // From conditional type type reference that cannot be resolved is Similar to any or unknown - if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) { - return factory.createIdentifier("Object"); - } - var serialized = serializeEntityNameAsExpressionFallback(node.typeName); - var temp = factory.createTempVariable(hoistVariableDeclaration); - return factory.createConditionalExpression(factory.createTypeCheck(factory.createAssignment(temp, serialized), "function"), - /*questionToken*/ undefined, temp, - /*colonToken*/ undefined, factory.createIdentifier("Object")); - case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue: - return serializeEntityNameAsExpression(node.typeName); - case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType: - return factory.createVoidZero(); - case ts.TypeReferenceSerializationKind.BigIntLikeType: - return getGlobalBigIntNameWithFallback(); - case ts.TypeReferenceSerializationKind.BooleanType: - return factory.createIdentifier("Boolean"); - case ts.TypeReferenceSerializationKind.NumberLikeType: - return factory.createIdentifier("Number"); - case ts.TypeReferenceSerializationKind.StringLikeType: - return factory.createIdentifier("String"); - case ts.TypeReferenceSerializationKind.ArrayLikeType: - return factory.createIdentifier("Array"); - case ts.TypeReferenceSerializationKind.ESSymbolType: - return languageVersion < 2 /* ScriptTarget.ES2015 */ - ? getGlobalSymbolNameWithFallback() - : factory.createIdentifier("Symbol"); - case ts.TypeReferenceSerializationKind.TypeWithCallSignature: - return factory.createIdentifier("Function"); - case ts.TypeReferenceSerializationKind.Promise: - return factory.createIdentifier("Promise"); - case ts.TypeReferenceSerializationKind.ObjectType: - return factory.createIdentifier("Object"); - default: - return ts.Debug.assertNever(kind); - } - } - function createCheckedValue(left, right) { - return factory.createLogicalAnd(factory.createStrictInequality(factory.createTypeOfExpression(left), factory.createStringLiteral("undefined")), right); - } - /** - * Serializes an entity name which may not exist at runtime, but whose access shouldn't throw - * - * @param node The entity name to serialize. - */ - function serializeEntityNameAsExpressionFallback(node) { - if (node.kind === 79 /* SyntaxKind.Identifier */) { - // A -> typeof A !== undefined && A - var copied = serializeEntityNameAsExpression(node); - return createCheckedValue(copied, copied); - } - if (node.left.kind === 79 /* SyntaxKind.Identifier */) { - // A.B -> typeof A !== undefined && A.B - return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node)); - } - // A.B.C -> typeof A !== undefined && (_a = A.B) !== void 0 && _a.C - var left = serializeEntityNameAsExpressionFallback(node.left); - var temp = factory.createTempVariable(hoistVariableDeclaration); - return factory.createLogicalAnd(factory.createLogicalAnd(left.left, factory.createStrictInequality(factory.createAssignment(temp, left.right), factory.createVoidZero())), factory.createPropertyAccessExpression(temp, node.right)); - } - /** - * Serializes an entity name as an expression for decorator type metadata. - * - * @param node The entity name to serialize. - */ - function serializeEntityNameAsExpression(node) { - switch (node.kind) { - case 79 /* SyntaxKind.Identifier */: - // Create a clone of the name with a new parent, and treat it as if it were - // a source tree node for the purposes of the checker. - var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent); - name.original = undefined; - ts.setParent(name, ts.getParseTreeNode(currentLexicalScope)); // ensure the parent is set to a parse tree node. - return name; - case 161 /* SyntaxKind.QualifiedName */: - return serializeQualifiedNameAsExpression(node); - } - } - /** - * Serializes an qualified name as an expression for decorator type metadata. - * - * @param node The qualified name to serialize. - * @param useFallback A value indicating whether to use logical operators to test for the - * qualified name at runtime. - */ - function serializeQualifiedNameAsExpression(node) { - return factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right); - } - /** - * Gets an expression that points to the global "Symbol" constructor at runtime if it is - * available. - */ - function getGlobalSymbolNameWithFallback() { - return factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("Symbol"), "function"), - /*questionToken*/ undefined, factory.createIdentifier("Symbol"), - /*colonToken*/ undefined, factory.createIdentifier("Object")); - } - /** - * Gets an expression that points to the global "BigInt" constructor at runtime if it is - * available. - */ - function getGlobalBigIntNameWithFallback() { - return languageVersion < 99 /* ScriptTarget.ESNext */ - ? factory.createConditionalExpression(factory.createTypeCheck(factory.createIdentifier("BigInt"), "function"), - /*questionToken*/ undefined, factory.createIdentifier("BigInt"), - /*colonToken*/ undefined, factory.createIdentifier("Object")) - : factory.createIdentifier("BigInt"); - } /** * Gets an expression that represents a property name (for decorated properties or enums). * For a computed property, a name is generated for the node. @@ -93047,7 +93727,7 @@ var ts; // The names are used more than once when: // - the property is non-static and its initializer is moved to the constructor (when there are parameter property assignments). // - the property has a decorator. - if (ts.isComputedPropertyName(name) && ((!ts.hasStaticModifier(member) && currentClassHasParameterProperties) || ts.some(member.decorators))) { + if (ts.isComputedPropertyName(name) && ((!ts.hasStaticModifier(member) && currentClassHasParameterProperties) || ts.hasDecorators(member))) { var expression = ts.visitNode(name.expression, visitor, ts.isExpression); var innerExpression = ts.skipPartiallyEmittedExpressions(expression); if (!ts.isSimpleInlineableExpression(innerExpression)) { @@ -93095,28 +93775,29 @@ var ts; function shouldEmitFunctionLikeDeclaration(node) { return !ts.nodeIsMissing(node.body); } - function visitPropertyDeclaration(node) { - if (node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)) { + function visitPropertyDeclaration(node, parent) { + var isAmbient = node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */); + if (isAmbient && !ts.hasDecorators(node)) { return undefined; } - var updated = factory.updatePropertyDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), visitPropertyNameOfClassElement(node), + var allDecorators = ts.getAllDecoratorsOfClassElement(node, parent); + var decorators = transformAllDecoratorsOfDeclaration(node, parent, allDecorators); + // Preserve a `declare x` property with decorators to be handled by the decorators transform + if (isAmbient) { + return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2 /* ModifierFlags.Ambient */)), ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined); + } + return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), /*questionOrExclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor)); - if (updated !== node) { - // While we emit the source map for the node after skipping decorators and modifiers, - // we need to emit the comments for the original range. - ts.setCommentRange(updated, node); - ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node)); - } - return updated; } function visitConstructor(node) { if (!shouldEmitFunctionLikeDeclaration(node)) { return undefined; } return factory.updateConstructorDeclaration(node, - /*decorators*/ undefined, /*modifiers*/ undefined, ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node)); } function transformConstructorBody(body, constructor) { @@ -93155,7 +93836,8 @@ var ts; statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, prologueStatementCount), true), parameterPropertyAssignments, true), statements.slice(prologueStatementCount), true); } // Add remaining statements from the body, skipping the super() call if it was found and any (already added) prologue statements - ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, superStatementIndex + 1 + prologueStatementCount)); + var start = superStatementIndex >= 0 ? superStatementIndex + 1 : prologueStatementCount; + ts.addRange(statements, ts.visitNodes(body.statements, visitor, ts.isStatement, start)); // End the lexical environment. statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), body.statements), /*multiLine*/ true); @@ -93181,22 +93863,19 @@ var ts; ts.setEmitFlags(localName, 1536 /* EmitFlags.NoComments */); return ts.startOnNewLine(ts.removeAllComments(ts.setTextRange(ts.setOriginalNode(factory.createExpressionStatement(factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createThis(), propertyName), node.name), localName)), node), ts.moveRangePos(node, -1)))); } - function visitMethodDeclaration(node) { + function visitMethodDeclaration(node, parent) { + if (!(node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */)) { + return node; + } if (!shouldEmitFunctionLikeDeclaration(node)) { return undefined; } - var updated = factory.updateMethodDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, visitPropertyNameOfClassElement(node), + var allDecorators = ts.isClassLike(parent) ? ts.getAllDecoratorsOfClassElement(node, parent) : undefined; + var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, allDecorators) : undefined; + return factory.updateMethodDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), node.asteriskToken, visitPropertyNameOfClassElement(node), /*questionToken*/ undefined, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context)); - if (updated !== node) { - // While we emit the source map for the node after skipping decorators and modifiers, - // we need to emit the comments for the original range. - ts.setCommentRange(updated, node); - ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node)); - } - return updated; } /** * Determines whether to emit an accessor declaration. We should not emit the @@ -93207,41 +93886,36 @@ var ts; function shouldEmitAccessorDeclaration(node) { return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)); } - function visitGetAccessor(node) { + function visitGetAccessor(node, parent) { + if (!(node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */)) { + return node; + } if (!shouldEmitAccessorDeclaration(node)) { return undefined; } - var updated = factory.updateGetAccessorDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), + var decorators = ts.isClassLike(parent) ? + transformAllDecoratorsOfDeclaration(node, parent, ts.getAllDecoratorsOfClassElement(node, parent)) : + undefined; + return factory.updateGetAccessorDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); - if (updated !== node) { - // While we emit the source map for the node after skipping decorators and modifiers, - // we need to emit the comments for the original range. - ts.setCommentRange(updated, node); - ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node)); - } - return updated; } - function visitSetAccessor(node) { + function visitSetAccessor(node, parent) { + if (!(node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */)) { + return node; + } if (!shouldEmitAccessorDeclaration(node)) { return undefined; } - var updated = factory.updateSetAccessorDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); - if (updated !== node) { - // While we emit the source map for the node after skipping decorators and modifiers, - // we need to emit the comments for the original range. - ts.setCommentRange(updated, node); - ts.setSourceMapRange(updated, ts.moveRangePastDecorators(node)); - } - return updated; + var decorators = ts.isClassLike(parent) ? + transformAllDecoratorsOfDeclaration(node, parent, ts.getAllDecoratorsOfClassElement(node, parent)) : + undefined; + return factory.updateSetAccessorDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); } function visitFunctionDeclaration(node) { if (!shouldEmitFunctionLikeDeclaration(node)) { return factory.createNotEmittedStatement(node); } - var updated = factory.updateFunctionDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, + var updated = factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); if (isExportOfNamespace(node)) { @@ -93270,9 +93944,8 @@ var ts; if (ts.parameterIsThisKeyword(node)) { return undefined; } - var updated = factory.updateParameterDeclaration(node, - /*decorators*/ undefined, - /*modifiers*/ undefined, node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), + var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), // preserve positions, if available + node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (updated !== node) { @@ -93432,7 +94105,7 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], /*type*/ undefined, transformEnumBody(node, containerName)), /*typeArguments*/ undefined, [moduleArg])); ts.setOriginalNode(enumStatement, node); @@ -93662,7 +94335,7 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], /*type*/ undefined, transformModuleBody(node, containerName)), /*typeArguments*/ undefined, [moduleArg])); ts.setOriginalNode(moduleStatement, node); @@ -93775,7 +94448,6 @@ var ts; compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */ || compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */ ? factory.updateImportDeclaration(node, - /*decorators*/ undefined, /*modifiers*/ undefined, importClause, node.moduleSpecifier, node.assertClause) : undefined; } @@ -93850,7 +94522,6 @@ var ts; var exportClause = ts.visitNode(node.exportClause, function (bindings) { return visitNamedExportBindings(bindings, allowEmpty); }, ts.isNamedExportBindings); return exportClause ? factory.updateExportDeclaration(node, - /*decorators*/ undefined, /*modifiers*/ undefined, node.isTypeOnly, exportClause, node.moduleSpecifier, node.assertClause) : undefined; } @@ -93908,7 +94579,6 @@ var ts; // If the alias is unreferenced but we want to keep the import, replace with 'import "mod"'. if (!isReferenced && compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */) { return ts.setOriginalNode(ts.setTextRange(factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*importClause*/ undefined, node.moduleReference.expression, /*assertClause*/ undefined), node), node); @@ -93968,12 +94638,6 @@ var ts; return isExternalModuleExport(node) && ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */); } - /** - * Creates a statement for the provided expression. This is used in calls to `map`. - */ - function expressionToStatement(expression) { - return factory.createExpressionStatement(expression); - } function addExportMemberAssignment(statements, node) { var expression = factory.createAssignment(factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, /*allowComments*/ false, /*allowSourceMaps*/ true), factory.getLocalName(node)); ts.setSourceMapRange(expression, ts.createRange(node.name ? node.name.pos : node.pos, node.end)); @@ -94005,44 +94669,12 @@ var ts; function getNamespaceContainerName(node) { return factory.getGeneratedNameForNode(node); } - /** - * Gets a local alias for a class declaration if it is a decorated class with an internal - * reference to the static side of the class. This is necessary to avoid issues with - * double-binding semantics for the class name. - */ - function getClassAliasIfNeeded(node) { - if (resolver.getNodeCheckFlags(node) & 16777216 /* NodeCheckFlags.ClassWithConstructorReference */) { - enableSubstitutionForClassAliases(); - var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default"); - classAliases[ts.getOriginalNodeId(node)] = classAlias; - hoistVariableDeclaration(classAlias); - return classAlias; - } - } - function getClassPrototype(node) { - return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype"); - } - function getClassMemberPrefix(node, member) { - return ts.isStatic(member) - ? factory.getDeclarationName(node) - : getClassPrototype(node); - } function enableSubstitutionForNonQualifiedEnumMembers() { if ((enabledSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */) === 0) { enabledSubstitutions |= 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */; context.enableSubstitution(79 /* SyntaxKind.Identifier */); } } - function enableSubstitutionForClassAliases() { - if ((enabledSubstitutions & 1 /* TypeScriptSubstitutionFlags.ClassAliases */) === 0) { - enabledSubstitutions |= 1 /* TypeScriptSubstitutionFlags.ClassAliases */; - // We need to enable substitutions for identifiers. This allows us to - // substitute class names inside of a class declaration. - context.enableSubstitution(79 /* SyntaxKind.Identifier */); - // Keep track of class aliases. - classAliases = []; - } - } function enableSubstitutionForNamespaceExports() { if ((enabledSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */) === 0) { enabledSubstitutions |= 2 /* TypeScriptSubstitutionFlags.NamespaceExports */; @@ -94127,32 +94759,9 @@ var ts; return node; } function substituteExpressionIdentifier(node) { - return trySubstituteClassAlias(node) - || trySubstituteNamespaceExportedName(node) + return trySubstituteNamespaceExportedName(node) || node; } - function trySubstituteClassAlias(node) { - if (enabledSubstitutions & 1 /* TypeScriptSubstitutionFlags.ClassAliases */) { - if (resolver.getNodeCheckFlags(node) & 33554432 /* NodeCheckFlags.ConstructorReferenceInClass */) { - // Due to the emit for class decorators, any reference to the class from inside of the class body - // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind - // behavior of class names in ES6. - // Also, when emitting statics for class expressions, we must substitute a class alias for - // constructor references in static property initializers. - var declaration = resolver.getReferencedValueDeclaration(node); - if (declaration) { - var classAlias = classAliases[declaration.id]; // TODO: GH#18217 - if (classAlias) { - var clone_2 = factory.cloneNode(classAlias); - ts.setSourceMapRange(clone_2, node); - ts.setCommentRange(clone_2, node); - return clone_2; - } - } - } - } - return undefined; - } function trySubstituteNamespaceExportedName(node) { // If this is explicitly a local name, do not substitute. if (enabledSubstitutions & applicableSubstitutions && !ts.isGeneratedIdentifier(node) && !ts.isLocalName(node)) { @@ -94290,7 +94899,7 @@ var ts; return visited; } function visitorWorker(node, valueIsDiscarded) { - if (node.transformFlags & 8388608 /* TransformFlags.ContainsClassFields */) { + if (node.transformFlags & 16777216 /* TransformFlags.ContainsClassFields */) { switch (node.kind) { case 226 /* SyntaxKind.ClassExpression */: case 257 /* SyntaxKind.ClassDeclaration */: @@ -94305,8 +94914,8 @@ var ts; return visitClassStaticBlockDeclaration(node); } } - if (node.transformFlags & 8388608 /* TransformFlags.ContainsClassFields */ || - node.transformFlags & 33554432 /* TransformFlags.ContainsLexicalSuper */ && + if (node.transformFlags & 16777216 /* TransformFlags.ContainsClassFields */ || + node.transformFlags & 134217728 /* TransformFlags.ContainsLexicalSuper */ && shouldTransformSuperInStaticInitializers && currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { @@ -94446,7 +95055,7 @@ var ts; return node; } function visitMethodOrAccessorDeclaration(node) { - ts.Debug.assert(!ts.some(node.decorators)); + ts.Debug.assert(!ts.hasDecorators(node)); if (!shouldTransformPrivateElementsOrClassStaticBlocks || !ts.isPrivateIdentifier(node.name)) { return ts.visitEachChild(node, classElementVisitor, context); } @@ -94458,7 +95067,7 @@ var ts; } var functionName = getHoistedFunctionName(node); if (functionName) { - getPendingExpressions().push(factory.createAssignment(functionName, factory.createFunctionExpression(ts.filter(node.modifiers, function (m) { return !ts.isStaticModifier(m); }), node.asteriskToken, functionName, + getPendingExpressions().push(factory.createAssignment(functionName, factory.createFunctionExpression(ts.filter(node.modifiers, function (m) { return ts.isModifier(m) && !ts.isStaticModifier(m); }), node.asteriskToken, functionName, /* typeParameters */ undefined, ts.visitParameterList(node.parameters, classElementVisitor, context), /* type */ undefined, ts.visitFunctionBody(node.body, classElementVisitor, context)))); } @@ -94482,7 +95091,7 @@ var ts; } } function visitPropertyDeclaration(node) { - ts.Debug.assert(!ts.some(node.decorators)); + ts.Debug.assert(!ts.hasDecorators(node)); if (ts.isPrivateIdentifier(node.name)) { if (!shouldTransformPrivateElementsOrClassStaticBlocks) { if (ts.isStatic(node)) { @@ -94490,8 +95099,7 @@ var ts; return ts.visitEachChild(node, visitor, context); } // Initializer is elided as the field is initialized in transformConstructor. - return factory.updatePropertyDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.name, + return factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, /*questionOrExclamationToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined); @@ -94513,9 +95121,7 @@ var ts; if (ts.isStatic(node) && !shouldTransformPrivateElementsOrClassStaticBlocks && !useDefineForClassFields) { var initializerStatement = transformPropertyOrClassStaticBlock(node, factory.createThis()); if (initializerStatement) { - var staticBlock = factory.createClassStaticBlockDeclaration( - /*decorators*/ undefined, - /*modifiers*/ undefined, factory.createBlock([initializerStatement])); + var staticBlock = factory.createClassStaticBlockDeclaration(factory.createBlock([initializerStatement])); ts.setOriginalNode(staticBlock, node); ts.setCommentRange(staticBlock, node); // Set the comment range for the statement to an empty synthetic range @@ -94591,10 +95197,11 @@ var ts; } function visitPreOrPostfixUnaryExpression(node, valueIsDiscarded) { if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) { - if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(node.operand)) { + var operand = ts.skipParentheses(node.operand); + if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(operand)) { var info = void 0; - if (info = accessPrivateIdentifier(node.operand.name)) { - var receiver = ts.visitNode(node.operand.expression, visitor, ts.isExpression); + if (info = accessPrivateIdentifier(operand.name)) { + var receiver = ts.visitNode(operand.expression, visitor, ts.isExpression); var _a = createCopiableReceiverExpr(receiver), readExpression = _a.readExpression, initializeExpression = _a.initializeExpression; var expression = createPrivateIdentifierAccess(info, readExpression); var temp = ts.isPrefixUnaryExpression(node) || valueIsDiscarded ? undefined : factory.createTempVariable(hoistVariableDeclaration); @@ -94610,7 +95217,7 @@ var ts; } } else if (shouldTransformSuperInStaticInitializers && - ts.isSuperProperty(node.operand) && + ts.isSuperProperty(operand) && currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { // converts `++super.a` into `(Reflect.set(_baseTemp, "a", (_a = Reflect.get(_baseTemp, "a", _classTemp), _b = ++_a), _classTemp), _b)` @@ -94623,31 +95230,31 @@ var ts; // converts `super[f()]--` into `(Reflect.set(_baseTemp, _a = f(), (_b = Reflect.get(_baseTemp, _a, _classTemp), _c = _b--), _classTemp), _c)` var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; if (facts & 1 /* ClassFacts.ClassWasDecorated */) { - var operand = visitInvalidSuperProperty(node.operand); + var expression = visitInvalidSuperProperty(operand); return ts.isPrefixUnaryExpression(node) ? - factory.updatePrefixUnaryExpression(node, operand) : - factory.updatePostfixUnaryExpression(node, operand); + factory.updatePrefixUnaryExpression(node, expression) : + factory.updatePostfixUnaryExpression(node, expression); } if (classConstructor && superClassReference) { var setterName = void 0; var getterName = void 0; - if (ts.isPropertyAccessExpression(node.operand)) { - if (ts.isIdentifier(node.operand.name)) { - getterName = setterName = factory.createStringLiteralFromNode(node.operand.name); + if (ts.isPropertyAccessExpression(operand)) { + if (ts.isIdentifier(operand.name)) { + getterName = setterName = factory.createStringLiteralFromNode(operand.name); } } else { - if (ts.isSimpleInlineableExpression(node.operand.argumentExpression)) { - getterName = setterName = node.operand.argumentExpression; + if (ts.isSimpleInlineableExpression(operand.argumentExpression)) { + getterName = setterName = operand.argumentExpression; } else { getterName = factory.createTempVariable(hoistVariableDeclaration); - setterName = factory.createAssignment(getterName, ts.visitNode(node.operand.argumentExpression, visitor, ts.isExpression)); + setterName = factory.createAssignment(getterName, ts.visitNode(operand.argumentExpression, visitor, ts.isExpression)); } } if (setterName && getterName) { var expression = factory.createReflectGetCall(superClassReference, getterName, classConstructor); - ts.setTextRange(expression, node.operand); + ts.setTextRange(expression, operand); var temp = valueIsDiscarded ? undefined : factory.createTempVariable(hoistVariableDeclaration); expression = ts.expandPreOrPostfixIncrementOrDecrementExpression(factory, node, expression, hoistVariableDeclaration, temp); expression = factory.createReflectSetCall(superClassReference, setterName, expression, classConstructor); @@ -94880,13 +95487,13 @@ var ts; facts |= 2 /* ClassFacts.NeedsClassConstructorReference */; } if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) { - if (shouldTransformThisInStaticInitializers && member.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */) { + if (shouldTransformThisInStaticInitializers && member.transformFlags & 16384 /* TransformFlags.ContainsLexicalThis */) { facts |= 8 /* ClassFacts.NeedsSubstitutionForThisInClassStaticField */; if (!(facts & 1 /* ClassFacts.ClassWasDecorated */)) { facts |= 2 /* ClassFacts.NeedsClassConstructorReference */; } } - if (shouldTransformSuperInStaticInitializers && member.transformFlags & 33554432 /* TransformFlags.ContainsLexicalSuper */) { + if (shouldTransformSuperInStaticInitializers && member.transformFlags & 134217728 /* TransformFlags.ContainsLexicalSuper */) { if (!(facts & 1 /* ClassFacts.ClassWasDecorated */)) { facts |= 2 /* ClassFacts.NeedsClassConstructorReference */ | 4 /* ClassFacts.NeedsClassSuperReference */; } @@ -94924,8 +95531,7 @@ var ts; var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); var statements = [ - factory.updateClassDeclaration(node, - /*decorators*/ undefined, node.modifiers, node.name, + factory.updateClassDeclaration(node, node.modifiers, node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)) ]; if (pendingClassReferenceAssignment) { @@ -94977,7 +95583,7 @@ var ts; temp = createClassTempVar(); getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); } - var classExpression = factory.updateClassExpression(node, ts.visitNodes(node.decorators, visitor, ts.isDecorator), node.modifiers, node.name, + var classExpression = factory.updateClassExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)); var hasTransformableStatics = shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(staticPropertiesOrClassStaticBlocks, function (p) { return ts.isClassStaticBlockDeclaration(p) || !!p.initializer || ts.isPrivateIdentifier(p.name); }); if (hasTransformableStatics || ts.some(pendingExpressions)) { @@ -95045,9 +95651,7 @@ var ts; members.push(constructor); } if (!shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(pendingExpressions)) { - members.push(factory.createClassStaticBlockDeclaration( - /*decorators*/ undefined, - /*modifiers*/ undefined, factory.createBlock([ + members.push(factory.createClassStaticBlockDeclaration(factory.createBlock([ factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions)) ]))); pendingExpressions = undefined; @@ -95084,7 +95688,6 @@ var ts; return undefined; } return ts.startOnNewLine(ts.setOriginalNode(ts.setTextRange(factory.createConstructorDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, parameters !== null && parameters !== void 0 ? parameters : [], body), constructor || node), constructor)); } function transformConstructorBody(node, constructor, isDerivedClass) { @@ -95471,10 +96074,10 @@ var ts; if (declaration) { var classAlias = classAliases[declaration.id]; // TODO: GH#18217 if (classAlias) { - var clone_3 = factory.cloneNode(classAlias); - ts.setSourceMapRange(clone_3, node); - ts.setCommentRange(clone_3, node); - return clone_3; + var clone_2 = factory.cloneNode(classAlias); + ts.setSourceMapRange(clone_2, node); + ts.setCommentRange(clone_2, node); + return clone_2; } } } @@ -95836,6 +96439,1001 @@ var ts; })(ts || (ts = {})); /*@internal*/ var ts; +(function (ts) { + function createRuntimeTypeSerializer(context) { + var hoistVariableDeclaration = context.hoistVariableDeclaration; + var resolver = context.getEmitResolver(); + var compilerOptions = context.getCompilerOptions(); + var languageVersion = ts.getEmitScriptTarget(compilerOptions); + var strictNullChecks = ts.getStrictOptionValue(compilerOptions, "strictNullChecks"); + var currentLexicalScope; + var currentNameScope; + return { + serializeTypeNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeTypeNode, node); }, + serializeTypeOfNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeTypeOfNode, node); }, + serializeParameterTypesOfNode: function (serializerContext, node, container) { return setSerializerContextAnd(serializerContext, serializeParameterTypesOfNode, node, container); }, + serializeReturnTypeOfNode: function (serializerContext, node) { return setSerializerContextAnd(serializerContext, serializeReturnTypeOfNode, node); }, + }; + function setSerializerContextAnd(serializerContext, cb, node, arg) { + var savedCurrentLexicalScope = currentLexicalScope; + var savedCurrentNameScope = currentNameScope; + currentLexicalScope = serializerContext.currentLexicalScope; + currentNameScope = serializerContext.currentNameScope; + var result = arg === undefined ? cb(node) : cb(node, arg); + currentLexicalScope = savedCurrentLexicalScope; + currentNameScope = savedCurrentNameScope; + return result; + } + function getAccessorTypeNode(node) { + var accessors = resolver.getAllAccessorDeclarations(node); + return accessors.setAccessor && ts.getSetAccessorTypeAnnotationNode(accessors.setAccessor) + || accessors.getAccessor && ts.getEffectiveReturnTypeNode(accessors.getAccessor); + } + /** + * Serializes the type of a node for use with decorator type metadata. + * @param node The node that should have its type serialized. + */ + function serializeTypeOfNode(node) { + switch (node.kind) { + case 167 /* SyntaxKind.PropertyDeclaration */: + case 164 /* SyntaxKind.Parameter */: + return serializeTypeNode(node.type); + case 173 /* SyntaxKind.SetAccessor */: + case 172 /* SyntaxKind.GetAccessor */: + return serializeTypeNode(getAccessorTypeNode(node)); + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 169 /* SyntaxKind.MethodDeclaration */: + return ts.factory.createIdentifier("Function"); + default: + return ts.factory.createVoidZero(); + } + } + /** + * Serializes the type of a node for use with decorator type metadata. + * @param node The node that should have its type serialized. + */ + function serializeParameterTypesOfNode(node, container) { + var valueDeclaration = ts.isClassLike(node) + ? ts.getFirstConstructorWithBody(node) + : ts.isFunctionLike(node) && ts.nodeIsPresent(node.body) + ? node + : undefined; + var expressions = []; + if (valueDeclaration) { + var parameters = getParametersOfDecoratedDeclaration(valueDeclaration, container); + var numParameters = parameters.length; + for (var i = 0; i < numParameters; i++) { + var parameter = parameters[i]; + if (i === 0 && ts.isIdentifier(parameter.name) && parameter.name.escapedText === "this") { + continue; + } + if (parameter.dotDotDotToken) { + expressions.push(serializeTypeNode(ts.getRestParameterElementType(parameter.type))); + } + else { + expressions.push(serializeTypeOfNode(parameter)); + } + } + } + return ts.factory.createArrayLiteralExpression(expressions); + } + function getParametersOfDecoratedDeclaration(node, container) { + if (container && node.kind === 172 /* SyntaxKind.GetAccessor */) { + var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; + if (setAccessor) { + return setAccessor.parameters; + } + } + return node.parameters; + } + /** + * Serializes the return type of a node for use with decorator type metadata. + * @param node The node that should have its return type serialized. + */ + function serializeReturnTypeOfNode(node) { + if (ts.isFunctionLike(node) && node.type) { + return serializeTypeNode(node.type); + } + else if (ts.isAsyncFunction(node)) { + return ts.factory.createIdentifier("Promise"); + } + return ts.factory.createVoidZero(); + } + /** + * Serializes a type node for use with decorator type metadata. + * + * Types are serialized in the following fashion: + * - Void types point to "undefined" (e.g. "void 0") + * - Function and Constructor types point to the global "Function" constructor. + * - Interface types with a call or construct signature types point to the global + * "Function" constructor. + * - Array and Tuple types point to the global "Array" constructor. + * - Type predicates and booleans point to the global "Boolean" constructor. + * - String literal types and strings point to the global "String" constructor. + * - Enum and number types point to the global "Number" constructor. + * - Symbol types point to the global "Symbol" constructor. + * - Type references to classes (or class-like variables) point to the constructor for the class. + * - Anything else points to the global "Object" constructor. + * + * @param node The type node to serialize. + */ + function serializeTypeNode(node) { + if (node === undefined) { + return ts.factory.createIdentifier("Object"); + } + node = ts.skipTypeParentheses(node); + switch (node.kind) { + case 114 /* SyntaxKind.VoidKeyword */: + case 153 /* SyntaxKind.UndefinedKeyword */: + case 143 /* SyntaxKind.NeverKeyword */: + return ts.factory.createVoidZero(); + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + return ts.factory.createIdentifier("Function"); + case 183 /* SyntaxKind.ArrayType */: + case 184 /* SyntaxKind.TupleType */: + return ts.factory.createIdentifier("Array"); + case 177 /* SyntaxKind.TypePredicate */: + return node.assertsModifier ? + ts.factory.createVoidZero() : + ts.factory.createIdentifier("Boolean"); + case 133 /* SyntaxKind.BooleanKeyword */: + return ts.factory.createIdentifier("Boolean"); + case 198 /* SyntaxKind.TemplateLiteralType */: + case 150 /* SyntaxKind.StringKeyword */: + return ts.factory.createIdentifier("String"); + case 148 /* SyntaxKind.ObjectKeyword */: + return ts.factory.createIdentifier("Object"); + case 196 /* SyntaxKind.LiteralType */: + return serializeLiteralOfLiteralTypeNode(node.literal); + case 147 /* SyntaxKind.NumberKeyword */: + return ts.factory.createIdentifier("Number"); + case 158 /* SyntaxKind.BigIntKeyword */: + return getGlobalConstructor("BigInt", 7 /* ScriptTarget.ES2020 */); + case 151 /* SyntaxKind.SymbolKeyword */: + return getGlobalConstructor("Symbol", 2 /* ScriptTarget.ES2015 */); + case 178 /* SyntaxKind.TypeReference */: + return serializeTypeReferenceNode(node); + case 188 /* SyntaxKind.IntersectionType */: + return serializeUnionOrIntersectionConstituents(node.types, /*isIntersection*/ true); + case 187 /* SyntaxKind.UnionType */: + return serializeUnionOrIntersectionConstituents(node.types, /*isIntersection*/ false); + case 189 /* SyntaxKind.ConditionalType */: + return serializeUnionOrIntersectionConstituents([node.trueType, node.falseType], /*isIntersection*/ false); + case 193 /* SyntaxKind.TypeOperator */: + if (node.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { + return serializeTypeNode(node.type); + } + break; + case 181 /* SyntaxKind.TypeQuery */: + case 194 /* SyntaxKind.IndexedAccessType */: + case 195 /* SyntaxKind.MappedType */: + case 182 /* SyntaxKind.TypeLiteral */: + case 130 /* SyntaxKind.AnyKeyword */: + case 155 /* SyntaxKind.UnknownKeyword */: + case 192 /* SyntaxKind.ThisType */: + case 200 /* SyntaxKind.ImportType */: + break; + // handle JSDoc types from an invalid parse + case 312 /* SyntaxKind.JSDocAllType */: + case 313 /* SyntaxKind.JSDocUnknownType */: + case 317 /* SyntaxKind.JSDocFunctionType */: + case 318 /* SyntaxKind.JSDocVariadicType */: + case 319 /* SyntaxKind.JSDocNamepathType */: + break; + case 314 /* SyntaxKind.JSDocNullableType */: + case 315 /* SyntaxKind.JSDocNonNullableType */: + case 316 /* SyntaxKind.JSDocOptionalType */: + return serializeTypeNode(node.type); + default: + return ts.Debug.failBadSyntaxKind(node); + } + return ts.factory.createIdentifier("Object"); + } + function serializeLiteralOfLiteralTypeNode(node) { + switch (node.kind) { + case 10 /* SyntaxKind.StringLiteral */: + case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: + return ts.factory.createIdentifier("String"); + case 219 /* SyntaxKind.PrefixUnaryExpression */: { + var operand = node.operand; + switch (operand.kind) { + case 8 /* SyntaxKind.NumericLiteral */: + case 9 /* SyntaxKind.BigIntLiteral */: + return serializeLiteralOfLiteralTypeNode(operand); + default: + return ts.Debug.failBadSyntaxKind(operand); + } + } + case 8 /* SyntaxKind.NumericLiteral */: + return ts.factory.createIdentifier("Number"); + case 9 /* SyntaxKind.BigIntLiteral */: + return getGlobalConstructor("BigInt", 7 /* ScriptTarget.ES2020 */); + case 110 /* SyntaxKind.TrueKeyword */: + case 95 /* SyntaxKind.FalseKeyword */: + return ts.factory.createIdentifier("Boolean"); + case 104 /* SyntaxKind.NullKeyword */: + return ts.factory.createVoidZero(); + default: + return ts.Debug.failBadSyntaxKind(node); + } + } + function serializeUnionOrIntersectionConstituents(types, isIntersection) { + // Note when updating logic here also update `getEntityNameForDecoratorMetadata` in checker.ts so that aliases can be marked as referenced + var serializedType; + for (var _i = 0, types_22 = types; _i < types_22.length; _i++) { + var typeNode = types_22[_i]; + typeNode = ts.skipTypeParentheses(typeNode); + if (typeNode.kind === 143 /* SyntaxKind.NeverKeyword */) { + if (isIntersection) + return ts.factory.createVoidZero(); // Reduce to `never` in an intersection + continue; // Elide `never` in a union + } + if (typeNode.kind === 155 /* SyntaxKind.UnknownKeyword */) { + if (!isIntersection) + return ts.factory.createIdentifier("Object"); // Reduce to `unknown` in a union + continue; // Elide `unknown` in an intersection + } + if (typeNode.kind === 130 /* SyntaxKind.AnyKeyword */) { + return ts.factory.createIdentifier("Object"); // Reduce to `any` in a union or intersection + } + if (!strictNullChecks && ((ts.isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */) || typeNode.kind === 153 /* SyntaxKind.UndefinedKeyword */)) { + continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks + } + var serializedConstituent = serializeTypeNode(typeNode); + if (ts.isIdentifier(serializedConstituent) && serializedConstituent.escapedText === "Object") { + // One of the individual is global object, return immediately + return serializedConstituent; + } + // If there exists union that is not `void 0` expression, check if the the common type is identifier. + // anything more complex and we will just default to Object + if (serializedType) { + // Different types + if (!equateSerializedTypeNodes(serializedType, serializedConstituent)) { + return ts.factory.createIdentifier("Object"); + } + } + else { + // Initialize the union type + serializedType = serializedConstituent; + } + } + // If we were able to find common type, use it + return serializedType !== null && serializedType !== void 0 ? serializedType : (ts.factory.createVoidZero()); // Fallback is only hit if all union constituents are null/undefined/never + } + function equateSerializedTypeNodes(left, right) { + return ( + // temp vars used in fallback + ts.isGeneratedIdentifier(left) ? ts.isGeneratedIdentifier(right) : + // entity names + ts.isIdentifier(left) ? ts.isIdentifier(right) + && left.escapedText === right.escapedText : + ts.isPropertyAccessExpression(left) ? ts.isPropertyAccessExpression(right) + && equateSerializedTypeNodes(left.expression, right.expression) + && equateSerializedTypeNodes(left.name, right.name) : + // `void 0` + ts.isVoidExpression(left) ? ts.isVoidExpression(right) + && ts.isNumericLiteral(left.expression) && left.expression.text === "0" + && ts.isNumericLiteral(right.expression) && right.expression.text === "0" : + // `"undefined"` or `"function"` in `typeof` checks + ts.isStringLiteral(left) ? ts.isStringLiteral(right) + && left.text === right.text : + // used in `typeof` checks for fallback + ts.isTypeOfExpression(left) ? ts.isTypeOfExpression(right) + && equateSerializedTypeNodes(left.expression, right.expression) : + // parens in `typeof` checks with temps + ts.isParenthesizedExpression(left) ? ts.isParenthesizedExpression(right) + && equateSerializedTypeNodes(left.expression, right.expression) : + // conditionals used in fallback + ts.isConditionalExpression(left) ? ts.isConditionalExpression(right) + && equateSerializedTypeNodes(left.condition, right.condition) + && equateSerializedTypeNodes(left.whenTrue, right.whenTrue) + && equateSerializedTypeNodes(left.whenFalse, right.whenFalse) : + // logical binary and assignments used in fallback + ts.isBinaryExpression(left) ? ts.isBinaryExpression(right) + && left.operatorToken.kind === right.operatorToken.kind + && equateSerializedTypeNodes(left.left, right.left) + && equateSerializedTypeNodes(left.right, right.right) : + false); + } + /** + * Serializes a TypeReferenceNode to an appropriate JS constructor value for use with decorator type metadata. + * @param node The type reference node. + */ + function serializeTypeReferenceNode(node) { + var kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentNameScope !== null && currentNameScope !== void 0 ? currentNameScope : currentLexicalScope); + switch (kind) { + case ts.TypeReferenceSerializationKind.Unknown: + // From conditional type type reference that cannot be resolved is Similar to any or unknown + if (ts.findAncestor(node, function (n) { return n.parent && ts.isConditionalTypeNode(n.parent) && (n.parent.trueType === n || n.parent.falseType === n); })) { + return ts.factory.createIdentifier("Object"); + } + var serialized = serializeEntityNameAsExpressionFallback(node.typeName); + var temp = ts.factory.createTempVariable(hoistVariableDeclaration); + return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), + /*questionToken*/ undefined, temp, + /*colonToken*/ undefined, ts.factory.createIdentifier("Object")); + case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue: + return serializeEntityNameAsExpression(node.typeName); + case ts.TypeReferenceSerializationKind.VoidNullableOrNeverType: + return ts.factory.createVoidZero(); + case ts.TypeReferenceSerializationKind.BigIntLikeType: + return getGlobalConstructor("BigInt", 7 /* ScriptTarget.ES2020 */); + case ts.TypeReferenceSerializationKind.BooleanType: + return ts.factory.createIdentifier("Boolean"); + case ts.TypeReferenceSerializationKind.NumberLikeType: + return ts.factory.createIdentifier("Number"); + case ts.TypeReferenceSerializationKind.StringLikeType: + return ts.factory.createIdentifier("String"); + case ts.TypeReferenceSerializationKind.ArrayLikeType: + return ts.factory.createIdentifier("Array"); + case ts.TypeReferenceSerializationKind.ESSymbolType: + return getGlobalConstructor("Symbol", 2 /* ScriptTarget.ES2015 */); + case ts.TypeReferenceSerializationKind.TypeWithCallSignature: + return ts.factory.createIdentifier("Function"); + case ts.TypeReferenceSerializationKind.Promise: + return ts.factory.createIdentifier("Promise"); + case ts.TypeReferenceSerializationKind.ObjectType: + return ts.factory.createIdentifier("Object"); + default: + return ts.Debug.assertNever(kind); + } + } + /** + * Produces an expression that results in `right` if `left` is not undefined at runtime: + * + * ``` + * typeof left !== "undefined" && right + * ``` + * + * We use `typeof L !== "undefined"` (rather than `L !== undefined`) since `L` may not be declared. + * It's acceptable for this expression to result in `false` at runtime, as the result is intended to be + * further checked by any containing expression. + */ + function createCheckedValue(left, right) { + return ts.factory.createLogicalAnd(ts.factory.createStrictInequality(ts.factory.createTypeOfExpression(left), ts.factory.createStringLiteral("undefined")), right); + } + /** + * Serializes an entity name which may not exist at runtime, but whose access shouldn't throw + * @param node The entity name to serialize. + */ + function serializeEntityNameAsExpressionFallback(node) { + if (node.kind === 79 /* SyntaxKind.Identifier */) { + // A -> typeof A !== "undefined" && A + var copied = serializeEntityNameAsExpression(node); + return createCheckedValue(copied, copied); + } + if (node.left.kind === 79 /* SyntaxKind.Identifier */) { + // A.B -> typeof A !== "undefined" && A.B + return createCheckedValue(serializeEntityNameAsExpression(node.left), serializeEntityNameAsExpression(node)); + } + // A.B.C -> typeof A !== "undefined" && (_a = A.B) !== void 0 && _a.C + var left = serializeEntityNameAsExpressionFallback(node.left); + var temp = ts.factory.createTempVariable(hoistVariableDeclaration); + return ts.factory.createLogicalAnd(ts.factory.createLogicalAnd(left.left, ts.factory.createStrictInequality(ts.factory.createAssignment(temp, left.right), ts.factory.createVoidZero())), ts.factory.createPropertyAccessExpression(temp, node.right)); + } + /** + * Serializes an entity name as an expression for decorator type metadata. + * @param node The entity name to serialize. + */ + function serializeEntityNameAsExpression(node) { + switch (node.kind) { + case 79 /* SyntaxKind.Identifier */: + // Create a clone of the name with a new parent, and treat it as if it were + // a source tree node for the purposes of the checker. + var name = ts.setParent(ts.setTextRange(ts.parseNodeFactory.cloneNode(node), node), node.parent); + name.original = undefined; + ts.setParent(name, ts.getParseTreeNode(currentLexicalScope)); // ensure the parent is set to a parse tree node. + return name; + case 161 /* SyntaxKind.QualifiedName */: + return serializeQualifiedNameAsExpression(node); + } + } + /** + * Serializes an qualified name as an expression for decorator type metadata. + * @param node The qualified name to serialize. + */ + function serializeQualifiedNameAsExpression(node) { + return ts.factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right); + } + function getGlobalConstructorWithFallback(name) { + return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), + /*questionToken*/ undefined, ts.factory.createIdentifier(name), + /*colonToken*/ undefined, ts.factory.createIdentifier("Object")); + } + function getGlobalConstructor(name, minLanguageVersion) { + return languageVersion < minLanguageVersion ? + getGlobalConstructorWithFallback(name) : + ts.factory.createIdentifier(name); + } + } + ts.createRuntimeTypeSerializer = createRuntimeTypeSerializer; +})(ts || (ts = {})); +/*@internal*/ +var ts; +(function (ts) { + function transformLegacyDecorators(context) { + var factory = context.factory, emitHelpers = context.getEmitHelperFactory, hoistVariableDeclaration = context.hoistVariableDeclaration; + var resolver = context.getEmitResolver(); + var compilerOptions = context.getCompilerOptions(); + var languageVersion = ts.getEmitScriptTarget(compilerOptions); + // Save the previous transformation hooks. + var previousOnSubstituteNode = context.onSubstituteNode; + // Set new transformation hooks. + context.onSubstituteNode = onSubstituteNode; + /** + * A map that keeps track of aliases created for classes with decorators to avoid issues + * with the double-binding behavior of classes. + */ + var classAliases; + return ts.chainBundle(context, transformSourceFile); + function transformSourceFile(node) { + var visited = ts.visitEachChild(node, visitor, context); + ts.addEmitHelpers(visited, context.readEmitHelpers()); + return visited; + } + function modifierVisitor(node) { + return ts.isDecorator(node) ? undefined : node; + } + function visitor(node) { + if (!(node.transformFlags & 33554432 /* TransformFlags.ContainsDecorators */)) { + return node; + } + switch (node.kind) { + case 165 /* SyntaxKind.Decorator */: + // Decorators are elided. They will be emitted as part of `visitClassDeclaration`. + return undefined; + case 257 /* SyntaxKind.ClassDeclaration */: + return visitClassDeclaration(node); + case 226 /* SyntaxKind.ClassExpression */: + return visitClassExpression(node); + case 171 /* SyntaxKind.Constructor */: + return visitConstructorDeclaration(node); + case 169 /* SyntaxKind.MethodDeclaration */: + return visitMethodDeclaration(node); + case 173 /* SyntaxKind.SetAccessor */: + return visitSetAccessorDeclaration(node); + case 172 /* SyntaxKind.GetAccessor */: + return visitGetAccessorDeclaration(node); + case 167 /* SyntaxKind.PropertyDeclaration */: + return visitPropertyDeclaration(node); + case 164 /* SyntaxKind.Parameter */: + return visitParameterDeclaration(node); + default: + return ts.visitEachChild(node, visitor, context); + } + } + function visitClassDeclaration(node) { + if (!(ts.classOrConstructorParameterIsDecorated(node) || ts.childIsDecorated(node))) + return ts.visitEachChild(node, visitor, context); + var statements = ts.hasDecorators(node) ? + transformClassDeclarationWithClassDecorators(node, node.name) : + transformClassDeclarationWithoutClassDecorators(node, node.name); + if (statements.length > 1) { + // Add a DeclarationMarker as a marker for the end of the declaration + statements.push(factory.createEndOfDeclarationMarker(node)); + ts.setEmitFlags(statements[0], ts.getEmitFlags(statements[0]) | 4194304 /* EmitFlags.HasEndOfDeclarationMarker */); + } + return ts.singleOrMany(statements); + } + function decoratorContainsPrivateIdentifierInExpression(decorator) { + return !!(decorator.transformFlags & 536870912 /* TransformFlags.ContainsPrivateIdentifierInExpression */); + } + function parameterDecoratorsContainPrivateIdentifierInExpression(parameterDecorators) { + return ts.some(parameterDecorators, decoratorContainsPrivateIdentifierInExpression); + } + function hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(node) { + for (var _i = 0, _a = node.members; _i < _a.length; _i++) { + var member = _a[_i]; + if (!ts.canHaveDecorators(member)) + continue; + var allDecorators = ts.getAllDecoratorsOfClassElement(member, node); + if (ts.some(allDecorators === null || allDecorators === void 0 ? void 0 : allDecorators.decorators, decoratorContainsPrivateIdentifierInExpression)) + return true; + if (ts.some(allDecorators === null || allDecorators === void 0 ? void 0 : allDecorators.parameters, parameterDecoratorsContainPrivateIdentifierInExpression)) + return true; + } + return false; + } + function transformDecoratorsOfClassElements(node, members) { + var decorationStatements = []; + addClassElementDecorationStatements(decorationStatements, node, /*isStatic*/ false); + addClassElementDecorationStatements(decorationStatements, node, /*isStatic*/ true); + if (hasClassElementWithDecoratorContainingPrivateIdentifierInExpression(node)) { + members = ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray([], members, true), [ + factory.createClassStaticBlockDeclaration(factory.createBlock(decorationStatements, /*multiLine*/ true)) + ], false)), members); + decorationStatements = undefined; + } + return { decorationStatements: decorationStatements, members: members }; + } + /** + * Transforms a non-decorated class declaration. + * + * @param node A ClassDeclaration node. + * @param name The name of the class. + */ + function transformClassDeclarationWithoutClassDecorators(node, name) { + // ${modifiers} class ${name} ${heritageClauses} { + // ${members} + // } + var _a; + var modifiers = ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier); + var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause); + var members = ts.visitNodes(node.members, visitor, ts.isClassElement); + var decorationStatements = []; + (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements); + var updated = factory.updateClassDeclaration(node, modifiers, name, + /*typeParameters*/ undefined, heritageClauses, members); + return ts.addRange([updated], decorationStatements); + } + /** + * Transforms a decorated class declaration and appends the resulting statements. If + * the class requires an alias to avoid issues with double-binding, the alias is returned. + */ + function transformClassDeclarationWithClassDecorators(node, name) { + // When we emit an ES6 class that has a class decorator, we must tailor the + // emit to certain specific cases. + // + // In the simplest case, we emit the class declaration as a let declaration, and + // evaluate decorators after the close of the class body: + // + // [Example 1] + // --------------------------------------------------------------------- + // TypeScript | Javascript + // --------------------------------------------------------------------- + // @dec | let C = class C { + // class C { | } + // } | C = __decorate([dec], C); + // --------------------------------------------------------------------- + // @dec | let C = class C { + // export class C { | } + // } | C = __decorate([dec], C); + // | export { C }; + // --------------------------------------------------------------------- + // + // If a class declaration contains a reference to itself *inside* of the class body, + // this introduces two bindings to the class: One outside of the class body, and one + // inside of the class body. If we apply decorators as in [Example 1] above, there + // is the possibility that the decorator `dec` will return a new value for the + // constructor, which would result in the binding inside of the class no longer + // pointing to the same reference as the binding outside of the class. + // + // As a result, we must instead rewrite all references to the class *inside* of the + // class body to instead point to a local temporary alias for the class: + // + // [Example 2] + // --------------------------------------------------------------------- + // TypeScript | Javascript + // --------------------------------------------------------------------- + // @dec | let C = C_1 = class C { + // class C { | static x() { return C_1.y; } + // static x() { return C.y; } | } + // static y = 1; | C.y = 1; + // } | C = C_1 = __decorate([dec], C); + // | var C_1; + // --------------------------------------------------------------------- + // @dec | let C = class C { + // export class C { | static x() { return C_1.y; } + // static x() { return C.y; } | } + // static y = 1; | C.y = 1; + // } | C = C_1 = __decorate([dec], C); + // | export { C }; + // | var C_1; + // --------------------------------------------------------------------- + // + // If a class declaration is the default export of a module, we instead emit + // the export after the decorated declaration: + // + // [Example 3] + // --------------------------------------------------------------------- + // TypeScript | Javascript + // --------------------------------------------------------------------- + // @dec | let default_1 = class { + // export default class { | } + // } | default_1 = __decorate([dec], default_1); + // | export default default_1; + // --------------------------------------------------------------------- + // @dec | let C = class C { + // export default class C { | } + // } | C = __decorate([dec], C); + // | export default C; + // --------------------------------------------------------------------- + // + // If the class declaration is the default export and a reference to itself + // inside of the class body, we must emit both an alias for the class *and* + // move the export after the declaration: + // + // [Example 4] + // --------------------------------------------------------------------- + // TypeScript | Javascript + // --------------------------------------------------------------------- + // @dec | let C = class C { + // export default class C { | static x() { return C_1.y; } + // static x() { return C.y; } | } + // static y = 1; | C.y = 1; + // } | C = C_1 = __decorate([dec], C); + // | export default C; + // | var C_1; + // --------------------------------------------------------------------- + // + var _a; + var location = ts.moveRangePastModifiers(node); + var classAlias = getClassAliasIfNeeded(node); + // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name + // without any block-scoped variable collision handling + var declName = languageVersion <= 2 /* ScriptTarget.ES2015 */ ? + factory.getInternalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true) : + factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); + // ... = class ${name} ${heritageClauses} { + // ${members} + // } + var heritageClauses = ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause); + var members = ts.visitNodes(node.members, visitor, ts.isClassElement); + var decorationStatements = []; + (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements); + var classExpression = factory.createClassExpression( + /*modifiers*/ undefined, name, + /*typeParameters*/ undefined, heritageClauses, members); + ts.setOriginalNode(classExpression, node); + ts.setTextRange(classExpression, location); + // let ${name} = ${classExpression} where name is either declaredName if the class doesn't contain self-reference + // or decoratedClassAlias if the class contain self-reference. + var statement = factory.createVariableStatement( + /*modifiers*/ undefined, factory.createVariableDeclarationList([ + factory.createVariableDeclaration(declName, + /*exclamationToken*/ undefined, + /*type*/ undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression) + ], 1 /* NodeFlags.Let */)); + ts.setOriginalNode(statement, node); + ts.setTextRange(statement, location); + ts.setCommentRange(statement, node); + var statements = [statement]; + ts.addRange(statements, decorationStatements); + addConstructorDecorationStatement(statements, node); + return statements; + } + function visitClassExpression(node) { + // Legacy decorators were not supported on class expressions + return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, + /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)); + } + function visitConstructorDeclaration(node) { + return factory.updateConstructorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock)); + } + function finishClassElement(updated, original) { + if (updated !== original) { + // While we emit the source map for the node after skipping decorators and modifiers, + // we need to emit the comments for the original range. + ts.setCommentRange(updated, original); + ts.setSourceMapRange(updated, ts.moveRangePastModifiers(original)); + } + return updated; + } + function visitMethodDeclaration(node) { + return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node); + } + function visitGetAccessorDeclaration(node) { + return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node); + } + function visitSetAccessorDeclaration(node) { + return finishClassElement(factory.updateSetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), ts.visitNode(node.body, visitor, ts.isBlock)), node); + } + function visitPropertyDeclaration(node) { + if (node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */)) { + return undefined; + } + return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)), node); + } + function visitParameterDeclaration(node) { + var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), + /*questionToken*/ undefined, + /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); + if (updated !== node) { + // While we emit the source map for the node after skipping decorators and modifiers, + // we need to emit the comments for the original range. + ts.setCommentRange(updated, node); + ts.setTextRange(updated, ts.moveRangePastModifiers(node)); + ts.setSourceMapRange(updated, ts.moveRangePastModifiers(node)); + ts.setEmitFlags(updated.name, 32 /* EmitFlags.NoTrailingSourceMap */); + } + return updated; + } + /** + * Transforms all of the decorators for a declaration into an array of expressions. + * + * @param allDecorators An object containing all of the decorators for the declaration. + */ + function transformAllDecoratorsOfDeclaration(allDecorators) { + if (!allDecorators) { + return undefined; + } + var decoratorExpressions = []; + ts.addRange(decoratorExpressions, ts.map(allDecorators.decorators, transformDecorator)); + ts.addRange(decoratorExpressions, ts.flatMap(allDecorators.parameters, transformDecoratorsOfParameter)); + return decoratorExpressions; + } + /** + * Generates statements used to apply decorators to either the static or instance members + * of a class. + * + * @param node The class node. + * @param isStatic A value indicating whether to generate statements for static or + * instance members. + */ + function addClassElementDecorationStatements(statements, node, isStatic) { + ts.addRange(statements, ts.map(generateClassElementDecorationExpressions(node, isStatic), function (expr) { return factory.createExpressionStatement(expr); })); + } + /** + * Determines whether a class member is either a static or an instance member of a class + * that is decorated, or has parameters that are decorated. + * + * @param member The class member. + */ + function isDecoratedClassElement(member, isStaticElement, parent) { + return ts.nodeOrChildIsDecorated(member, parent) + && isStaticElement === ts.isStatic(member); + } + /** + * Gets either the static or instance members of a class that are decorated, or have + * parameters that are decorated. + * + * @param node The class containing the member. + * @param isStatic A value indicating whether to retrieve static or instance members of + * the class. + */ + function getDecoratedClassElements(node, isStatic) { + return ts.filter(node.members, function (m) { return isDecoratedClassElement(m, isStatic, node); }); + } + /** + * Generates expressions used to apply decorators to either the static or instance members + * of a class. + * + * @param node The class node. + * @param isStatic A value indicating whether to generate expressions for static or + * instance members. + */ + function generateClassElementDecorationExpressions(node, isStatic) { + var members = getDecoratedClassElements(node, isStatic); + var expressions; + for (var _i = 0, members_8 = members; _i < members_8.length; _i++) { + var member = members_8[_i]; + expressions = ts.append(expressions, generateClassElementDecorationExpression(node, member)); + } + return expressions; + } + /** + * Generates an expression used to evaluate class element decorators at runtime. + * + * @param node The class node that contains the member. + * @param member The class member. + */ + function generateClassElementDecorationExpression(node, member) { + var allDecorators = ts.getAllDecoratorsOfClassElement(member, node); + var decoratorExpressions = transformAllDecoratorsOfDeclaration(allDecorators); + if (!decoratorExpressions) { + return undefined; + } + // Emit the call to __decorate. Given the following: + // + // class C { + // @dec method(@dec2 x) {} + // @dec get accessor() {} + // @dec prop; + // } + // + // The emit for a method is: + // + // __decorate([ + // dec, + // __param(0, dec2), + // __metadata("design:type", Function), + // __metadata("design:paramtypes", [Object]), + // __metadata("design:returntype", void 0) + // ], C.prototype, "method", null); + // + // The emit for an accessor is: + // + // __decorate([ + // dec + // ], C.prototype, "accessor", null); + // + // The emit for a property is: + // + // __decorate([ + // dec + // ], C.prototype, "prop"); + // + var prefix = getClassMemberPrefix(node, member); + var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* ModifierFlags.Ambient */)); + var descriptor = languageVersion > 0 /* ScriptTarget.ES3 */ + ? member.kind === 167 /* SyntaxKind.PropertyDeclaration */ + // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it + // should not invoke `Object.getOwnPropertyDescriptor`. + ? factory.createVoidZero() + // We emit `null` here to indicate to `__decorate` that it can invoke `Object.getOwnPropertyDescriptor` directly. + // We have this extra argument here so that we can inject an explicit property descriptor at a later date. + : factory.createNull() + : undefined; + var helper = emitHelpers().createDecorateHelper(decoratorExpressions, prefix, memberName, descriptor); + ts.setEmitFlags(helper, 1536 /* EmitFlags.NoComments */); + ts.setSourceMapRange(helper, ts.moveRangePastModifiers(member)); + return helper; + } + /** + * Generates a __decorate helper call for a class constructor. + * + * @param node The class node. + */ + function addConstructorDecorationStatement(statements, node) { + var expression = generateConstructorDecorationExpression(node); + if (expression) { + statements.push(ts.setOriginalNode(factory.createExpressionStatement(expression), node)); + } + } + /** + * Generates a __decorate helper call for a class constructor. + * + * @param node The class node. + */ + function generateConstructorDecorationExpression(node) { + var allDecorators = ts.getAllDecoratorsOfClass(node); + var decoratorExpressions = transformAllDecoratorsOfDeclaration(allDecorators); + if (!decoratorExpressions) { + return undefined; + } + var classAlias = classAliases && classAliases[ts.getOriginalNodeId(node)]; + // When we transform to ES5/3 this will be moved inside an IIFE and should reference the name + // without any block-scoped variable collision handling + var localName = languageVersion <= 2 /* ScriptTarget.ES2015 */ ? + factory.getInternalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true) : + factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true); + var decorate = emitHelpers().createDecorateHelper(decoratorExpressions, localName); + var expression = factory.createAssignment(localName, classAlias ? factory.createAssignment(classAlias, decorate) : decorate); + ts.setEmitFlags(expression, 1536 /* EmitFlags.NoComments */); + ts.setSourceMapRange(expression, ts.moveRangePastModifiers(node)); + return expression; + } + /** + * Transforms a decorator into an expression. + * + * @param decorator The decorator node. + */ + function transformDecorator(decorator) { + return ts.visitNode(decorator.expression, visitor, ts.isExpression); + } + /** + * Transforms the decorators of a parameter. + * + * @param decorators The decorators for the parameter at the provided offset. + * @param parameterOffset The offset of the parameter. + */ + function transformDecoratorsOfParameter(decorators, parameterOffset) { + var expressions; + if (decorators) { + expressions = []; + for (var _i = 0, decorators_1 = decorators; _i < decorators_1.length; _i++) { + var decorator = decorators_1[_i]; + var helper = emitHelpers().createParamHelper(transformDecorator(decorator), parameterOffset); + ts.setTextRange(helper, decorator.expression); + ts.setEmitFlags(helper, 1536 /* EmitFlags.NoComments */); + expressions.push(helper); + } + } + return expressions; + } + /** + * Gets an expression that represents a property name (for decorated properties or enums). + * For a computed property, a name is generated for the node. + * + * @param member The member whose name should be converted into an expression. + */ + function getExpressionForPropertyName(member, generateNameForComputedPropertyName) { + var name = member.name; + if (ts.isPrivateIdentifier(name)) { + return factory.createIdentifier(""); + } + else if (ts.isComputedPropertyName(name)) { + return generateNameForComputedPropertyName && !ts.isSimpleInlineableExpression(name.expression) + ? factory.getGeneratedNameForNode(name) + : name.expression; + } + else if (ts.isIdentifier(name)) { + return factory.createStringLiteral(ts.idText(name)); + } + else { + return factory.cloneNode(name); + } + } + function enableSubstitutionForClassAliases() { + if (!classAliases) { + // We need to enable substitutions for identifiers. This allows us to + // substitute class names inside of a class declaration. + context.enableSubstitution(79 /* SyntaxKind.Identifier */); + // Keep track of class aliases. + classAliases = []; + } + } + /** + * Gets a local alias for a class declaration if it is a decorated class with an internal + * reference to the static side of the class. This is necessary to avoid issues with + * double-binding semantics for the class name. + */ + function getClassAliasIfNeeded(node) { + if (resolver.getNodeCheckFlags(node) & 16777216 /* NodeCheckFlags.ClassWithConstructorReference */) { + enableSubstitutionForClassAliases(); + var classAlias = factory.createUniqueName(node.name && !ts.isGeneratedIdentifier(node.name) ? ts.idText(node.name) : "default"); + classAliases[ts.getOriginalNodeId(node)] = classAlias; + hoistVariableDeclaration(classAlias); + return classAlias; + } + } + function getClassPrototype(node) { + return factory.createPropertyAccessExpression(factory.getDeclarationName(node), "prototype"); + } + function getClassMemberPrefix(node, member) { + return ts.isStatic(member) + ? factory.getDeclarationName(node) + : getClassPrototype(node); + } + /** + * Hooks node substitutions. + * + * @param hint A hint as to the intended usage of the node. + * @param node The node to substitute. + */ + function onSubstituteNode(hint, node) { + node = previousOnSubstituteNode(hint, node); + if (hint === 1 /* EmitHint.Expression */) { + return substituteExpression(node); + } + return node; + } + function substituteExpression(node) { + switch (node.kind) { + case 79 /* SyntaxKind.Identifier */: + return substituteExpressionIdentifier(node); + } + return node; + } + function substituteExpressionIdentifier(node) { + var _a; + return (_a = trySubstituteClassAlias(node)) !== null && _a !== void 0 ? _a : node; + } + function trySubstituteClassAlias(node) { + if (classAliases) { + if (resolver.getNodeCheckFlags(node) & 33554432 /* NodeCheckFlags.ConstructorReferenceInClass */) { + // Due to the emit for class decorators, any reference to the class from inside of the class body + // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind + // behavior of class names in ES6. + // Also, when emitting statics for class expressions, we must substitute a class alias for + // constructor references in static property initializers. + var declaration = resolver.getReferencedValueDeclaration(node); + if (declaration) { + var classAlias = classAliases[declaration.id]; // TODO: GH#18217 + if (classAlias) { + var clone_3 = factory.cloneNode(classAlias); + ts.setSourceMapRange(clone_3, node); + ts.setCommentRange(clone_3, node); + return clone_3; + } + } + } + } + return undefined; + } + } + ts.transformLegacyDecorators = transformLegacyDecorators; +})(ts || (ts = {})); +/*@internal*/ +var ts; (function (ts) { var ES2017SubstitutionFlags; (function (ES2017SubstitutionFlags) { @@ -96054,8 +97652,7 @@ var ts; * @param node The node to visit. */ function visitMethodDeclaration(node) { - return factory.updateMethodDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, + return factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, /*questionToken*/ undefined, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ @@ -96071,8 +97668,7 @@ var ts; * @param node The node to visit. */ function visitFunctionDeclaration(node) { - return factory.updateFunctionDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, + return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) @@ -96087,7 +97683,7 @@ var ts; * @param node The node to visit. */ function visitFunctionExpression(node) { - return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, node.name, + return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) @@ -96102,7 +97698,7 @@ var ts; * @param node The node to visit. */ function visitArrowFunction(node) { - return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), + return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) @@ -96404,7 +98000,6 @@ var ts; /* typeParameters */ undefined, /* parameters */ [ factory.createParameterDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, /* dotDotDotToken */ undefined, "v", /* questionToken */ undefined, @@ -96684,7 +98279,7 @@ var ts; return objects; } function visitObjectLiteralExpression(node) { - if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + if (node.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { // spread elements emit like so: // non-spread elements are chunked together into object literals, and then all are passed to __assign: // { a, ...o, b } => __assign(__assign({a}, o), {b}); @@ -96757,7 +98352,7 @@ var ts; * expression of an `ExpressionStatement`). */ function visitBinaryExpression(node, expressionResultIsUnused) { - if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + if (ts.isDestructuringAssignment(node) && node.left.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { return ts.flattenDestructuringAssignment(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, !expressionResultIsUnused); } if (node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { @@ -96788,7 +98383,7 @@ var ts; function visitCatchClause(node) { if (node.variableDeclaration && ts.isBindingPattern(node.variableDeclaration.name) && - node.variableDeclaration.name.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + node.variableDeclaration.name.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { var name = factory.getGeneratedNameForNode(node.variableDeclaration.name); var updatedDecl = factory.updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, /*exclamationToken*/ undefined, /*type*/ undefined, name); var visitedBindings = ts.flattenDestructuringBinding(updatedDecl, visitor, context, 1 /* FlattenLevel.ObjectRest */); @@ -96829,7 +98424,7 @@ var ts; } function visitVariableDeclarationWorker(node, exportedVariableStatement) { // If we are here it is because the name contains a binding pattern with a rest somewhere in it. - if (ts.isBindingPattern(node.name) && node.name.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { return ts.flattenDestructuringBinding(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, /*rval*/ undefined, exportedVariableStatement); } @@ -96848,7 +98443,7 @@ var ts; */ function visitForOfStatement(node, outermostLabeledStatement) { var ancestorFacts = enterSubtree(0 /* HierarchyFacts.IterationStatementExcludes */, 2 /* HierarchyFacts.IterationStatementIncludes */); - if (node.initializer.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + if (node.initializer.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { node = transformForOfStatementWithObjectRest(node); } var result = node.awaitModifier ? @@ -96955,17 +98550,15 @@ var ts; function visitParameter(node) { if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) { return factory.updateParameterDeclaration(node, - /*decorators*/ undefined, /*modifiers*/ undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined); } - if (node.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + if (node.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { // Binding patterns are converted into a generated name and are // evaluated inside the function body. return factory.updateParameterDeclaration(node, - /*decorators*/ undefined, /*modifiers*/ undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); @@ -96979,7 +98572,7 @@ var ts; if (parameters) { parameters.add(parameter); } - else if (parameter.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + else if (parameter.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { parameters = new ts.Set(); } } @@ -96990,8 +98583,7 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateConstructorDeclaration(node, - /*decorators*/ undefined, node.modifiers, ts.visitParameterList(node.parameters, parameterVisitor, context), transformFunctionBody(node)); + var updated = factory.updateConstructorDeclaration(node, node.modifiers, ts.visitParameterList(node.parameters, parameterVisitor, context), transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; @@ -97001,8 +98593,7 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateGetAccessorDeclaration(node, - /*decorators*/ undefined, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), + var updated = factory.updateGetAccessorDeclaration(node, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; @@ -97013,8 +98604,7 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateSetAccessorDeclaration(node, - /*decorators*/ undefined, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), transformFunctionBody(node)); + var updated = factory.updateSetAccessorDeclaration(node, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; return updated; @@ -97024,9 +98614,8 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateMethodDeclaration(node, - /*decorators*/ undefined, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ - ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) + var updated = factory.updateMethodDeclaration(node, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ + ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifierLike) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), @@ -97043,8 +98632,7 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateFunctionDeclaration(node, - /*decorators*/ undefined, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ + var updated = factory.updateFunctionDeclaration(node, enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined @@ -97202,7 +98790,7 @@ var ts; statements = ts.append(statements, statement); } } - else if (parameter.transformFlags & 32768 /* TransformFlags.ContainsObjectRestOrSpread */) { + else if (parameter.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { containsPrecedingObjectRestOrSpread = true; var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* FlattenLevel.ObjectRest */, factory.getGeneratedNameForNode(parameter), /*doNotRecordTempVariablesInLine*/ false, @@ -97699,7 +99287,7 @@ var ts; var _b = _a[_i], importSource = _b[0], importSpecifiersMap = _b[1]; if (ts.isExternalModule(node)) { // Add `import` statement - var importStatement = factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, factory.createImportClause(/*typeOnly*/ false, /*name*/ undefined, factory.createNamedImports(ts.arrayFrom(importSpecifiersMap.values()))), factory.createStringLiteral(importSource), /*assertClause*/ undefined); + var importStatement = factory.createImportDeclaration(/*modifiers*/ undefined, factory.createImportClause(/*typeOnly*/ false, /*name*/ undefined, factory.createNamedImports(ts.arrayFrom(importSpecifiersMap.values()))), factory.createStringLiteral(importSource), /*assertClause*/ undefined); ts.setParentRecursive(importStatement, /*incremental*/ false); statements = ts.insertStatementAfterCustomPrologue(statements.slice(), importStatement); } @@ -97930,22 +99518,29 @@ var ts; if (node === undefined) { return factory.createTrue(); } - else if (node.kind === 10 /* SyntaxKind.StringLiteral */) { + if (node.kind === 10 /* SyntaxKind.StringLiteral */) { // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which // Need to be escaped to be handled correctly in a normal string var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile); var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote); return ts.setTextRange(literal, node); } - else if (node.kind === 288 /* SyntaxKind.JsxExpression */) { + if (node.kind === 288 /* SyntaxKind.JsxExpression */) { if (node.expression === undefined) { return factory.createTrue(); } return ts.visitNode(node.expression, visitor, ts.isExpression); } - else { - return ts.Debug.failBadSyntaxKind(node); + if (ts.isJsxElement(node)) { + return visitJsxElement(node, /*isChild*/ false); } + if (ts.isJsxSelfClosingElement(node)) { + return visitJsxSelfClosingElement(node, /*isChild*/ false); + } + if (ts.isJsxFragment(node)) { + return visitJsxFragment(node, /*isChild*/ false); + } + return ts.Debug.failBadSyntaxKind(node); } function visitJsxText(node) { var fixed = fixupWhitespaceAndDecodeEntities(node.text); @@ -98567,7 +100162,7 @@ var ts; && !node.expression; } function isOrMayContainReturnCompletion(node) { - return node.transformFlags & 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */ + return node.transformFlags & 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */ && (ts.isReturnStatement(node) || ts.isIfStatement(node) || ts.isWithStatement(node) @@ -98940,7 +100535,7 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], + /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], /*type*/ undefined, transformClassBody(node, extendsClauseElement)); // To preserve the behavior of the old emitter, we explicitly indent // the body of the function here if it was requested in an earlier @@ -99018,7 +100613,6 @@ var ts; var constructor = ts.getFirstConstructorWithBody(node); var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined); var constructorFunction = factory.createFunctionDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*asteriskToken*/ undefined, name, /*typeParameters*/ undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), @@ -99131,7 +100725,7 @@ var ts; factory.mergeLexicalEnvironment(prologue, endLexicalEnvironment()); insertCaptureNewTargetIfNeeded(prologue, constructor, /*copyOnWrite*/ false); if (isDerivedClass || superCallExpression) { - if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */)) { + if (superCallExpression && postSuperStatementsStart === constructor.body.statements.length && !(constructor.body.transformFlags & 16384 /* TransformFlags.ContainsLexicalThis */)) { // If the subclass constructor does *not* contain `this` and *ends* with a `super()` call, we will use the // following representation: // @@ -99283,7 +100877,6 @@ var ts; // Binding patterns are converted into a generated name and are // evaluated inside the function body. return ts.setOriginalNode(ts.setTextRange(factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.getGeneratedNameForNode(node), /*questionToken*/ undefined, @@ -99295,7 +100888,6 @@ var ts; else if (node.initializer) { // Initializers are elided return ts.setOriginalNode(ts.setTextRange(factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, node.name, /*questionToken*/ undefined, @@ -99676,7 +101268,7 @@ var ts; * @param node An ArrowFunction node. */ function visitArrowFunction(node) { - if (node.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */ && !(hierarchyFacts & 16384 /* HierarchyFacts.StaticInitializer */)) { + if (node.transformFlags & 16384 /* TransformFlags.ContainsLexicalThis */ && !(hierarchyFacts & 16384 /* HierarchyFacts.StaticInitializer */)) { hierarchyFacts |= 65536 /* HierarchyFacts.CapturedLexicalThis */; } var savedConvertedLoopState = convertedLoopState; @@ -99735,8 +101327,7 @@ var ts; : node.name; exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; - return factory.updateFunctionDeclaration(node, - /*decorators*/ undefined, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, + return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } @@ -99962,7 +101553,7 @@ var ts; * @param node A VariableDeclarationList node. */ function visitVariableDeclarationList(node) { - if (node.flags & 3 /* NodeFlags.BlockScoped */ || node.transformFlags & 262144 /* TransformFlags.ContainsBindingPattern */) { + if (node.flags & 3 /* NodeFlags.BlockScoped */ || node.transformFlags & 524288 /* TransformFlags.ContainsBindingPattern */) { if (node.flags & 3 /* NodeFlags.BlockScoped */) { enableSubstitutionsForBlockScopedBindings(); } @@ -99975,7 +101566,7 @@ var ts; ts.setCommentRange(declarationList, node); // If the first or last declaration is a binding pattern, we need to modify // the source map range for the declaration list. - if (node.transformFlags & 262144 /* TransformFlags.ContainsBindingPattern */ + if (node.transformFlags & 524288 /* TransformFlags.ContainsBindingPattern */ && (ts.isBindingPattern(node.declarations[0].name) || ts.isBindingPattern(ts.last(node.declarations).name))) { ts.setSourceMapRange(declarationList, getRangeUnion(declarations)); } @@ -100299,7 +101890,7 @@ var ts; var numInitialProperties = -1, hasComputed = false; for (var i = 0; i < properties.length; i++) { var property = properties[i]; - if ((property.transformFlags & 524288 /* TransformFlags.ContainsYield */ && + if ((property.transformFlags & 1048576 /* TransformFlags.ContainsYield */ && hierarchyFacts & 4 /* HierarchyFacts.AsyncFunctionBody */) || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162 /* SyntaxKind.ComputedPropertyName */)) { numInitialProperties = i; @@ -100572,7 +102163,7 @@ var ts; */ function createFunctionForInitializerOfForStatement(node, currentState) { var functionName = factory.createUniqueName("_loop_init"); - var containsYield = (node.initializer.transformFlags & 524288 /* TransformFlags.ContainsYield */) !== 0; + var containsYield = (node.initializer.transformFlags & 1048576 /* TransformFlags.ContainsYield */) !== 0; var emitFlags = 0 /* EmitFlags.None */; if (currentState.containsLexicalThis) emitFlags |= 8 /* EmitFlags.CapturesThis */; @@ -100687,7 +102278,7 @@ var ts; var loopBody = factory.createBlock(statements, /*multiLine*/ true); if (ts.isBlock(statement)) ts.setOriginalNode(loopBody, statement); - var containsYield = (node.statement.transformFlags & 524288 /* TransformFlags.ContainsYield */) !== 0; + var containsYield = (node.statement.transformFlags & 1048576 /* TransformFlags.ContainsYield */) !== 0; var emitFlags = 524288 /* EmitFlags.ReuseTempVariableScope */; if (currentState.containsLexicalThis) emitFlags |= 8 /* EmitFlags.CapturesThis */; @@ -100830,7 +102421,7 @@ var ts; } } else { - loopParameters.push(factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, name)); + loopParameters.push(factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, name)); var checkFlags = resolver.getNodeCheckFlags(decl); if (checkFlags & 4194304 /* NodeCheckFlags.NeedsLoopOutParameter */ || hasCapturedBindingsInForHead) { var outParamName = factory.createUniqueName("out_" + ts.idText(name)); @@ -100987,10 +102578,10 @@ var ts; var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); if (node.kind === 172 /* SyntaxKind.GetAccessor */) { - updated = factory.updateGetAccessorDeclaration(node, node.decorators, node.modifiers, node.name, parameters, node.type, body); + updated = factory.updateGetAccessorDeclaration(node, node.modifiers, node.name, parameters, node.type, body); } else { - updated = factory.updateSetAccessorDeclaration(node, node.decorators, node.modifiers, node.name, parameters, body); + updated = factory.updateSetAccessorDeclaration(node, node.modifiers, node.name, parameters, body); } exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; @@ -101169,7 +102760,7 @@ var ts; function visitCallExpressionWithPotentialCapturedThisAssignment(node, assignToCapturedThis) { // We are here either because SuperKeyword was used somewhere in the expression, or // because we contain a SpreadElementExpression. - if (node.transformFlags & 16384 /* TransformFlags.ContainsRestOrSpread */ || + if (node.transformFlags & 32768 /* TransformFlags.ContainsRestOrSpread */ || node.expression.kind === 106 /* SyntaxKind.SuperKeyword */ || ts.isSuperProperty(ts.skipOuterExpressions(node.expression))) { var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg; @@ -101177,7 +102768,7 @@ var ts; ts.setEmitFlags(thisArg, 4 /* EmitFlags.NoSubstitution */); } var resultingCall = void 0; - if (node.transformFlags & 16384 /* TransformFlags.ContainsRestOrSpread */) { + if (node.transformFlags & 32768 /* TransformFlags.ContainsRestOrSpread */) { // [source] // f(...a, b) // x.m(...a, b) @@ -102019,10 +103610,10 @@ var ts; case 247 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); default: - if (node.transformFlags & 524288 /* TransformFlags.ContainsYield */) { + if (node.transformFlags & 1048576 /* TransformFlags.ContainsYield */) { return visitJavaScriptContainingYield(node); } - else if (node.transformFlags & (2048 /* TransformFlags.ContainsGenerator */ | 2097152 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */)) { + else if (node.transformFlags & (2048 /* TransformFlags.ContainsGenerator */ | 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */)) { return ts.visitEachChild(node, visitor, context); } else { @@ -102086,8 +103677,7 @@ var ts; function visitFunctionDeclaration(node) { // Currently, we only support generators that were originally async functions. if (node.asteriskToken) { - node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration( - /*decorators*/ undefined, node.modifiers, + node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(node.modifiers, /*asteriskToken*/ undefined, node.name, /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, transformGeneratorFunctionBody(node.body)), @@ -102227,7 +103817,7 @@ var ts; * @param node The node to visit. */ function visitVariableStatement(node) { - if (node.transformFlags & 524288 /* TransformFlags.ContainsYield */) { + if (node.transformFlags & 1048576 /* TransformFlags.ContainsYield */) { transformAndEmitVariableDeclarationList(node.declarationList); return undefined; } @@ -103285,7 +104875,7 @@ var ts; } } function containsYield(node) { - return !!node && (node.transformFlags & 524288 /* TransformFlags.ContainsYield */) !== 0; + return !!node && (node.transformFlags & 1048576 /* TransformFlags.ContainsYield */) !== 0; } function countInitialNodesWithoutYield(nodes) { var numNodes = nodes.length; @@ -103916,7 +105506,7 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], /*type*/ undefined, factory.createBlock(buildResult, /*multiLine*/ buildResult.length > 0)), 524288 /* EmitFlags.ReuseTempVariableScope */)); } @@ -104334,7 +105924,7 @@ var ts; function transformSourceFile(node) { if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || - node.transformFlags & 4194304 /* TransformFlags.ContainsDynamicImport */ || + node.transformFlags & 8388608 /* TransformFlags.ContainsDynamicImport */ || (ts.isJsonSourceFile(node) && ts.hasJsonModuleEmitEnabled(compilerOptions) && ts.outFile(compilerOptions)))) { return node; } @@ -104435,8 +106025,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, __spreadArray([ - factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), - factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") ], importAliasNames, true), /*type*/ undefined, transformAsynchronousModuleBody(node)) ], false))) @@ -104457,7 +106047,7 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], /*type*/ undefined, ts.setTextRange(factory.createBlock([ factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("module"), "object"), factory.createTypeCheck(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), "object")), factory.createBlock([ factory.createVariableStatement( @@ -104506,8 +106096,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, __spreadArray([ - factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), - factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") ], importAliasNames, true), /*type*/ undefined, transformAsynchronousModuleBody(node)) ])) @@ -104536,7 +106126,7 @@ var ts; var amdDependency = _a[_i]; if (amdDependency.name) { aliasedModuleNames.push(factory.createStringLiteral(amdDependency.path)); - importAliasNames.push(factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, amdDependency.name)); + importAliasNames.push(factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, amdDependency.name)); } else { unaliasedModuleNames.push(factory.createStringLiteral(amdDependency.path)); @@ -104557,7 +106147,7 @@ var ts; // This is so that when printer will not substitute the identifier ts.setEmitFlags(importAliasName, 4 /* EmitFlags.NoSubstitution */); aliasedModuleNames.push(externalModuleName); - importAliasNames.push(factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, importAliasName)); + importAliasNames.push(factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, importAliasName)); } else { unaliasedModuleNames.push(externalModuleName); @@ -104671,7 +106261,7 @@ var ts; function visitorWorker(node, valueIsDiscarded) { // This visitor does not need to descend into the tree if there is no dynamic import, destructuring assignment, or update expression // as export/import statements are only transformed at the top level of a file. - if (!(node.transformFlags & (4194304 /* TransformFlags.ContainsDynamicImport */ | 4096 /* TransformFlags.ContainsDestructuringAssignment */ | 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */))) { + if (!(node.transformFlags & (8388608 /* TransformFlags.ContainsDynamicImport */ | 4096 /* TransformFlags.ContainsDestructuringAssignment */ | 268435456 /* TransformFlags.ContainsUpdateExpressionForIdentifier */))) { return node; } switch (node.kind) { @@ -104822,7 +106412,7 @@ var ts; var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor); // Only use the external module name if it differs from the first argument. This allows us to preserve the quote style of the argument on output. var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument; - var containsLexicalThis = !!(node.transformFlags & 8192 /* TransformFlags.ContainsLexicalThis */); + var containsLexicalThis = !!(node.transformFlags & 16384 /* TransformFlags.ContainsLexicalThis */); switch (compilerOptions.module) { case ts.ModuleKind.AMD: return createImportCallExpressionAMD(argument, containsLexicalThis); @@ -104877,8 +106467,8 @@ var ts; var resolve = factory.createUniqueName("resolve"); var reject = factory.createUniqueName("reject"); var parameters = [ - factory.createParameterDeclaration(/*decorator*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ resolve), - factory.createParameterDeclaration(/*decorator*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ reject) + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ resolve), + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ reject) ]; var body = factory.createBlock([ factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("require"), @@ -105166,8 +106756,7 @@ var ts; function visitFunctionDeclaration(node) { var statements; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration( - /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor), /*type*/ undefined, ts.visitEachChild(node.body, visitor, context)), /*location*/ node), @@ -105194,8 +106783,7 @@ var ts; function visitClassDeclaration(node) { var statements; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration( - /*decorators*/ undefined, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor), ts.visitNodes(node.members, visitor)), node), node)); } else { @@ -105809,7 +107397,7 @@ var ts; * @param node The SourceFile node. */ function transformSourceFile(node) { - if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 4194304 /* TransformFlags.ContainsDynamicImport */)) { + if (node.isDeclarationFile || !(ts.isEffectiveExternalModule(node, compilerOptions) || node.transformFlags & 8388608 /* TransformFlags.ContainsDynamicImport */)) { return node; } var id = ts.getOriginalNodeId(node); @@ -105842,8 +107430,8 @@ var ts; /*asteriskToken*/ undefined, /*name*/ undefined, /*typeParameters*/ undefined, [ - factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, exportFunction), - factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, contextObject) + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, exportFunction), + factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, contextObject) ], /*type*/ undefined, moduleBodyBlock); // Write the call to `System.register` @@ -105978,7 +107566,7 @@ var ts; // - Temporary variables will appear at the top rather than at the bottom of the file ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); var exportStarFunction = addExportStarIfNeeded(statements); // TODO: GH#18217 - var modifiers = node.transformFlags & 1048576 /* TransformFlags.ContainsAwait */ ? + var modifiers = node.transformFlags & 2097152 /* TransformFlags.ContainsAwait */ ? factory.createModifiersFromModifierFlags(256 /* ModifierFlags.Async */) : undefined; var moduleObject = factory.createObjectLiteralExpression([ @@ -106065,10 +107653,9 @@ var ts; /*typeArguments*/ undefined, [n]))); } return factory.createFunctionDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*asteriskToken*/ undefined, exportStarFunction, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, m)], + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, m)], /*type*/ undefined, factory.createBlock([ factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ @@ -106159,7 +107746,7 @@ var ts; /*modifiers*/ undefined, /*asteriskToken*/ undefined, /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], /*type*/ undefined, factory.createBlock(statements, /*multiLine*/ true))); } return factory.createArrayLiteralExpression(setters, /*multiLine*/ true); @@ -106257,7 +107844,7 @@ var ts; */ function visitFunctionDeclaration(node) { if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, node.decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock))); } @@ -106285,8 +107872,7 @@ var ts; var name = factory.getLocalName(node); hoistVariableDeclaration(name); // Rewrite the class declaration into an assignment of a class expression. - statements = ts.append(statements, ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(name, ts.setTextRange(factory.createClassExpression(ts.visitNodes(node.decorators, visitor, ts.isDecorator), - /*modifiers*/ undefined, node.name, + statements = ts.append(statements, ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(name, ts.setTextRange(factory.createClassExpression(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)), node))), node)); if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -106887,7 +108473,7 @@ var ts; * @param node The node to visit. */ function visitorWorker(node, valueIsDiscarded) { - if (!(node.transformFlags & (4096 /* TransformFlags.ContainsDestructuringAssignment */ | 4194304 /* TransformFlags.ContainsDynamicImport */ | 67108864 /* TransformFlags.ContainsUpdateExpressionForIdentifier */))) { + if (!(node.transformFlags & (4096 /* TransformFlags.ContainsDestructuringAssignment */ | 8388608 /* TransformFlags.ContainsDynamicImport */ | 268435456 /* TransformFlags.ContainsUpdateExpressionForIdentifier */))) { return node; } switch (node.kind) { @@ -107334,7 +108920,7 @@ var ts; // Though an error in es2020 modules, in node-flavor es2020 modules, we can helpfully transform this to a synthetic `require` call // To give easy access to a synchronous `require` in node-flavor esm. We do the transform even in scenarios where we error, but `import.meta.url` // is available, just because the output is reasonable for a node-like runtime. - return ts.getEmitScriptTarget(compilerOptions) >= ts.ModuleKind.ES2020 ? visitImportEqualsDeclaration(node) : undefined; + return ts.getEmitModuleKind(compilerOptions) >= ts.ModuleKind.Node16 ? visitImportEqualsDeclaration(node) : undefined; case 271 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); case 272 /* SyntaxKind.ExportDeclaration */: @@ -107357,7 +108943,6 @@ var ts; if (!importRequireStatements) { var createRequireName = factory.createUniqueName("_createRequire", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var importStatement = factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, factory.createImportClause( /*isTypeOnly*/ false, /*name*/ undefined, factory.createNamedImports([ @@ -107400,7 +108985,6 @@ var ts; function appendExportsOfImportEqualsDeclaration(statements, node) { if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { statements = ts.append(statements, factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, node.isTypeOnly, factory.createNamedExports([factory.createExportSpecifier(/*isTypeOnly*/ false, /*propertyName*/ undefined, ts.idText(node.name))]))); } return statements; @@ -107421,13 +109005,11 @@ var ts; var oldIdentifier = node.exportClause.name; var synthName = factory.getGeneratedNameForNode(oldIdentifier); var importDecl = factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, factory.createImportClause( /*isTypeOnly*/ false, /*name*/ undefined, factory.createNamespaceImport(synthName)), node.moduleSpecifier, node.assertClause); ts.setOriginalNode(importDecl, node.exportClause); var exportDecl = ts.isExportNamespaceAsDefaultDeclaration(node) ? factory.createExportDefault(synthName) : factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports([factory.createExportSpecifier(/*isTypeOnly*/ false, synthName, oldIdentifier)])); ts.setOriginalNode(exportDecl, node); @@ -107679,7 +109261,7 @@ var ts; return getTypeAliasDeclarationVisibilityError; } else { - return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.SyntaxKind[node.kind])); + return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.Debug.formatSyntaxKind(node.kind))); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { @@ -107890,7 +109472,7 @@ var ts; ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1; default: - return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.SyntaxKind[node.parent.kind])); + return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.Debug.formatSyntaxKind(node.parent.kind))); } } function getTypeParameterConstraintVisibilityError() { @@ -108055,7 +109637,8 @@ var ts; trackReferencedAmbientModule: trackReferencedAmbientModule, trackExternalModuleSymbolOfImportTypeNode: trackExternalModuleSymbolOfImportTypeNode, reportNonlocalAugmentation: reportNonlocalAugmentation, - reportNonSerializableProperty: reportNonSerializableProperty + reportNonSerializableProperty: reportNonSerializableProperty, + reportImportTypeNodeResolutionModeOverride: reportImportTypeNodeResolutionModeOverride, }; var errorNameNode; var errorFallbackNode; @@ -108182,6 +109765,11 @@ var ts; context.addDiagnostic(ts.createDiagnosticForNode((errorNameNode || errorFallbackNode), ts.Diagnostics.The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized, propertyName)); } } + function reportImportTypeNodeResolutionModeOverride() { + if (!ts.isNightly() && (errorNameNode || errorFallbackNode)) { + context.addDiagnostic(ts.createDiagnosticForNode((errorNameNode || errorFallbackNode), ts.Diagnostics.The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)); + } + } function transformDeclarationsForJS(sourceFile, bundled) { var oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = function (s) { return (s.errorNode && ts.canProduceDiagnostics(s.errorNode) ? ts.createGetSymbolAccessibilityDiagnosticForNode(s.errorNode)(s) : ({ @@ -108221,7 +109809,7 @@ var ts; resultHasExternalModuleIndicator = false; // unused in external module bundle emit (all external modules are within module blocks, therefore are known to be modules) needsDeclare = false; var statements = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile, /*bundled*/ true)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements); - var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([], [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); + var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); return newFile; } needsDeclare = true; @@ -108364,7 +109952,7 @@ var ts; }); return ret; } - function filterBindingPatternInitializers(name) { + function filterBindingPatternInitializersAndRenamings(name) { if (name.kind === 79 /* SyntaxKind.Identifier */) { return name; } @@ -108380,7 +109968,12 @@ var ts; if (elem.kind === 227 /* SyntaxKind.OmittedExpression */) { return elem; } - return factory.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializers(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); + if (elem.propertyName && ts.isIdentifier(elem.propertyName) && ts.isIdentifier(elem.name) && !elem.symbol.isReferenced) { + // Unnecessary property renaming is forbidden in types, so remove renaming + return factory.updateBindingElement(elem, elem.dotDotDotToken, + /* propertyName */ undefined, elem.propertyName, shouldPrintWithInitializer(elem) ? elem.initializer : undefined); + } + return factory.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); } } function ensureParameter(p, modifierMask, type) { @@ -108389,8 +109982,7 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(p); } - var newParam = factory.updateParameterDeclaration(p, - /*decorators*/ undefined, maskModifiers(p, modifierMask), p.dotDotDotToken, filterBindingPatternInitializers(p.name), resolver.isOptionalParameter(p) ? (p.questionToken || factory.createToken(57 /* SyntaxKind.QuestionToken */)) : undefined, ensureType(p, type || p.type, /*ignorePrivate*/ true), // Ignore private param props, since this type is going straight back into a param + var newParam = factory.updateParameterDeclaration(p, maskModifiers(p, modifierMask), p.dotDotDotToken, filterBindingPatternInitializersAndRenamings(p.name), resolver.isOptionalParameter(p) ? (p.questionToken || factory.createToken(57 /* SyntaxKind.QuestionToken */)) : undefined, ensureType(p, type || p.type, /*ignorePrivate*/ true), // Ignore private param props, since this type is going straight back into a param ensureNoInitializer(p)); if (!suppressNewDiagnosticContexts) { getSymbolAccessibilityDiagnostic = oldDiag; @@ -108441,7 +110033,7 @@ var ts; if (node.kind === 164 /* SyntaxKind.Parameter */ || node.kind === 167 /* SyntaxKind.PropertyDeclaration */ || node.kind === 166 /* SyntaxKind.PropertySignature */) { - if (!node.initializer) + if (ts.isPropertySignature(node) || !node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } @@ -108527,7 +110119,6 @@ var ts; } if (!newValueParameter) { newValueParameter = factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "value"); } @@ -108585,8 +110176,7 @@ var ts; if (decl.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); - return factory.updateImportEqualsDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, decl.isTypeOnly, decl.name, factory.updateExternalModuleReference(decl.moduleReference, rewriteModuleSpecifier(decl, specifier))); + return factory.updateImportEqualsDeclaration(decl, decl.modifiers, decl.isTypeOnly, decl.name, factory.updateExternalModuleReference(decl.moduleReference, rewriteModuleSpecifier(decl, specifier))); } else { var oldDiag = getSymbolAccessibilityDiagnostic; @@ -108599,31 +110189,28 @@ var ts; function transformImportDeclaration(decl) { if (!decl.importClause) { // import "mod" - possibly needed for side effects? (global interface patches, module augmentations, etc) - return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, decl.importClause, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); + return factory.updateImportDeclaration(decl, decl.modifiers, decl.importClause, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // The `importClause` visibility corresponds to the default's visibility. var visibleDefaultBinding = decl.importClause && decl.importClause.name && resolver.isDeclarationVisible(decl.importClause) ? decl.importClause.name : undefined; if (!decl.importClause.namedBindings) { // No named bindings (either namespace or list), meaning the import is just default or should be elided - return visibleDefaultBinding && factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, + return visibleDefaultBinding && factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } if (decl.importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; - return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)) : undefined; + return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)) : undefined; } // Named imports (optionally with visible default) var bindingList = ts.mapDefined(decl.importClause.namedBindings.elements, function (b) { return resolver.isDeclarationVisible(b) ? b : undefined; }); if ((bindingList && bindingList.length) || visibleDefaultBinding) { - return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, bindingList && bindingList.length ? factory.updateNamedImports(decl.importClause.namedBindings, bindingList) : undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); + return factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, bindingList && bindingList.length ? factory.updateNamedImports(decl.importClause.namedBindings, bindingList) : undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // Augmentation of export depends on import if (resolver.isImportRequiredByAugmentation(decl)) { - return factory.updateImportDeclaration(decl, - /*decorators*/ undefined, decl.modifiers, + return factory.updateImportDeclaration(decl, decl.modifiers, /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // Nothing visible @@ -108632,7 +110219,7 @@ var ts; var mode = ts.getResolutionModeOverrideForClause(assertClause); if (mode !== undefined) { if (!ts.isNightly()) { - context.addDiagnostic(ts.createDiagnosticForNode(assertClause, ts.Diagnostics.Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)); + context.addDiagnostic(ts.createDiagnosticForNode(assertClause, ts.Diagnostics.resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next)); } return assertClause; } @@ -108656,7 +110243,7 @@ var ts; while (ts.length(lateMarkedStatements)) { var i = lateMarkedStatements.shift(); if (!ts.isLateVisibilityPaintedStatement(i)) { - return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind)); + return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.Debug.formatSyntaxKind(i.kind))); } var priorNeedsDeclare = needsDeclare; needsDeclare = i.parent && ts.isSourceFile(i.parent) && !(ts.isExternalModule(i.parent) && isBundledEmit); @@ -108720,7 +110307,7 @@ var ts; if (ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)) { if (input.symbol && input.symbol.declarations && input.symbol.declarations[0] !== input) return; // Elide all but the first overload - return cleanup(factory.createPropertyDeclaration(/*decorators*/ undefined, ensureModifiers(input), input.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); + return cleanup(factory.createPropertyDeclaration(ensureModifiers(input), input.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); } } if (canProduceDiagnostic && !suppressNewDiagnosticContexts) { @@ -108752,7 +110339,6 @@ var ts; case 171 /* SyntaxKind.Constructor */: { // A constructor declaration may not have a type annotation var ctor = factory.createConstructorDeclaration( - /*decorators*/ undefined, /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* ModifierFlags.None */), /*body*/ undefined); return cleanup(ctor); @@ -108761,8 +110347,7 @@ var ts; if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - var sig = factory.createMethodDeclaration( - /*decorators*/ undefined, ensureModifiers(input), + var sig = factory.createMethodDeclaration(ensureModifiers(input), /*asteriskToken*/ undefined, input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined); return cleanup(sig); @@ -108772,24 +110357,21 @@ var ts; return cleanup(/*returnValue*/ undefined); } var accessorType = getTypeAnnotationFromAllAccessorDeclarations(input, resolver.getAllAccessorDeclarations(input)); - return cleanup(factory.updateGetAccessorDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), + return cleanup(factory.updateGetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), /*body*/ undefined)); } case 173 /* SyntaxKind.SetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - return cleanup(factory.updateSetAccessorDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), + return cleanup(factory.updateSetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), /*body*/ undefined)); } case 167 /* SyntaxKind.PropertyDeclaration */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - return cleanup(factory.updatePropertyDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type), ensureNoInitializer(input))); + return cleanup(factory.updatePropertyDeclaration(input, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type), ensureNoInitializer(input))); case 166 /* SyntaxKind.PropertySignature */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); @@ -108805,8 +110387,7 @@ var ts; return cleanup(factory.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } case 176 /* SyntaxKind.IndexSignature */: { - return cleanup(factory.updateIndexSignature(input, - /*decorators*/ undefined, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */))); + return cleanup(factory.updateIndexSignature(input, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */))); } case 254 /* SyntaxKind.VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { @@ -108845,7 +110426,7 @@ var ts; return cleanup(input); return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.assertions, input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); } - default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.SyntaxKind[input.kind])); + default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.Debug.formatSyntaxKind(input.kind))); } } if (ts.isTupleTypeNode(input) && (ts.getLineAndCharacterOfPosition(currentSourceFile, input.pos).line === ts.getLineAndCharacterOfPosition(currentSourceFile, input.end).line)) { @@ -108889,8 +110470,7 @@ var ts; resultHasScopeMarker = true; // Always visible if the parent node isn't dropped for being not visible // Rewrite external module names if necessary - return factory.updateExportDeclaration(input, - /*decorators*/ undefined, input.modifiers, input.isTypeOnly, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier), ts.getResolutionModeOverrideForClause(input.assertClause) ? input.assertClause : undefined); + return factory.updateExportDeclaration(input, input.modifiers, input.isTypeOnly, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier), ts.getResolutionModeOverrideForClause(input.assertClause) ? input.assertClause : undefined); } case 271 /* SyntaxKind.ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible @@ -108913,7 +110493,7 @@ var ts; var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); preserveJsDoc(statement, input); ts.removeAllComments(input); - return [statement, factory.updateExportAssignment(input, input.decorators, input.modifiers, newId)]; + return [statement, factory.updateExportAssignment(input, input.modifiers, newId)]; } } } @@ -108928,7 +110508,7 @@ var ts; // Likewise, `export default` classes and the like and just be `default`, so we preserve their `export` modifiers, too return statement; } - var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (125951 /* ModifierFlags.All */ ^ 1 /* ModifierFlags.Export */)); + var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (257023 /* ModifierFlags.All */ ^ 1 /* ModifierFlags.Export */)); return factory.updateModifiers(statement, modifiers); } function transformTopLevelDeclaration(input) { @@ -108964,22 +110544,19 @@ var ts; var previousNeedsDeclare = needsDeclare; switch (input.kind) { case 259 /* SyntaxKind.TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all - return cleanup(factory.updateTypeAliasDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); + return cleanup(factory.updateTypeAliasDeclaration(input, ensureModifiers(input), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); case 258 /* SyntaxKind.InterfaceDeclaration */: { - return cleanup(factory.updateInterfaceDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); + return cleanup(factory.updateInterfaceDeclaration(input, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } case 256 /* SyntaxKind.FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type - var clean = cleanup(factory.updateFunctionDeclaration(input, - /*decorators*/ undefined, ensureModifiers(input), + var clean = cleanup(factory.updateFunctionDeclaration(input, ensureModifiers(input), /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined)); if (clean && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { var props = resolver.getPropertiesOfContainerFunction(input); // Use parseNodeFactory so it is usable as an enclosing declaration - var fakespace_1 = ts.parseNodeFactory.createModuleDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, clean.name || factory.createIdentifier("_default"), factory.createModuleBlock([]), 16 /* NodeFlags.Namespace */); + var fakespace_1 = ts.parseNodeFactory.createModuleDeclaration(/*modifiers*/ undefined, clean.name || factory.createIdentifier("_default"), factory.createModuleBlock([]), 16 /* NodeFlags.Namespace */); ts.setParent(fakespace_1, enclosingDeclaration); fakespace_1.locals = ts.createSymbolTable(props); fakespace_1.symbol = props[0].parent; @@ -109005,26 +110582,22 @@ var ts; } else { declarations.push(factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports(ts.map(exportMappings_1, function (_a) { var gen = _a[0], exp = _a[1]; return factory.createExportSpecifier(/*isTypeOnly*/ false, gen, exp); })))); } - var namespaceDecl = factory.createModuleDeclaration(/*decorators*/ undefined, ensureModifiers(input), input.name, factory.createModuleBlock(declarations), 16 /* NodeFlags.Namespace */); + var namespaceDecl = factory.createModuleDeclaration(ensureModifiers(input), input.name, factory.createModuleBlock(declarations), 16 /* NodeFlags.Namespace */); if (!ts.hasEffectiveModifier(clean, 512 /* ModifierFlags.Default */)) { return [clean, namespaceDecl]; } var modifiers = factory.createModifiersFromModifierFlags((ts.getEffectiveModifierFlags(clean) & ~513 /* ModifierFlags.ExportDefault */) | 2 /* ModifierFlags.Ambient */); - var cleanDeclaration = factory.updateFunctionDeclaration(clean, - /*decorators*/ undefined, modifiers, + var cleanDeclaration = factory.updateFunctionDeclaration(clean, modifiers, /*asteriskToken*/ undefined, clean.name, clean.typeParameters, clean.parameters, clean.type, /*body*/ undefined); - var namespaceDeclaration = factory.updateModuleDeclaration(namespaceDecl, - /*decorators*/ undefined, modifiers, namespaceDecl.name, namespaceDecl.body); + var namespaceDeclaration = factory.updateModuleDeclaration(namespaceDecl, modifiers, namespaceDecl.name, namespaceDecl.body); var exportDefaultDeclaration = factory.createExportAssignment( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isExportEquals*/ false, namespaceDecl.name); if (ts.isSourceFile(input.parent)) { @@ -109067,8 +110640,7 @@ var ts; needsScopeFixMarker = oldNeedsScopeFix; resultHasScopeMarker = oldHasScopeFix; var mods = ensureModifiers(input); - return cleanup(factory.updateModuleDeclaration(input, - /*decorators*/ undefined, mods, ts.isExternalModuleAugmentation(input) ? rewriteModuleSpecifier(input, input.name) : input.name, body)); + return cleanup(factory.updateModuleDeclaration(input, mods, ts.isExternalModuleAugmentation(input) ? rewriteModuleSpecifier(input, input.name) : input.name, body)); } else { needsDeclare = previousNeedsDeclare; @@ -109079,8 +110651,7 @@ var ts; var id = ts.getOriginalNodeId(inner); // TODO: GH#18217 var body = lateStatementReplacementMap.get(id); lateStatementReplacementMap.delete(id); - return cleanup(factory.updateModuleDeclaration(input, - /*decorators*/ undefined, mods, input.name, body)); + return cleanup(factory.updateModuleDeclaration(input, mods, input.name, body)); } } case 257 /* SyntaxKind.ClassDeclaration */: { @@ -109097,8 +110668,7 @@ var ts; return; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(param); if (param.name.kind === 79 /* SyntaxKind.Identifier */) { - return preserveJsDoc(factory.createPropertyDeclaration( - /*decorators*/ undefined, ensureModifiers(param), param.name, param.questionToken, ensureType(param, param.type), ensureNoInitializer(param)), param); + return preserveJsDoc(factory.createPropertyDeclaration(ensureModifiers(param), param.name, param.questionToken, ensureType(param, param.type), ensureNoInitializer(param)), param); } else { // Pattern - this is currently an error, but we emit declarations for it somewhat correctly @@ -109114,8 +110684,7 @@ var ts; elems = ts.concatenate(elems, walkBindingPattern(elem.name)); } elems = elems || []; - elems.push(factory.createPropertyDeclaration( - /*decorators*/ undefined, ensureModifiers(param), elem.name, + elems.push(factory.createPropertyDeclaration(ensureModifiers(param), elem.name, /*questionToken*/ undefined, ensureType(elem, /*type*/ undefined), /*initializer*/ undefined)); } @@ -109129,7 +110698,6 @@ var ts; // Prevents other classes with the same public members from being used in place of the current class var privateIdentifier = hasPrivateIdentifier ? [ factory.createPropertyDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, factory.createPrivateIdentifier("#private"), /*questionToken*/ undefined, /*type*/ undefined, @@ -109159,20 +110727,18 @@ var ts; } return factory.updateHeritageClause(clause, ts.visitNodes(factory.createNodeArray(ts.filter(clause.types, function (t) { return ts.isEntityNameExpression(t.expression) || t.expression.kind === 104 /* SyntaxKind.NullKeyword */; })), visitDeclarationSubtree)); })); - return [statement, cleanup(factory.updateClassDeclaration(input, - /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members))]; // TODO: GH#18217 + return [statement, cleanup(factory.updateClassDeclaration(input, modifiers, input.name, typeParameters, heritageClauses, members))]; // TODO: GH#18217 } else { var heritageClauses = transformHeritageClauses(input.heritageClauses); - return cleanup(factory.updateClassDeclaration(input, - /*decorators*/ undefined, modifiers, input.name, typeParameters, heritageClauses, members)); + return cleanup(factory.updateClassDeclaration(input, modifiers, input.name, typeParameters, heritageClauses, members)); } } case 237 /* SyntaxKind.VariableStatement */: { return cleanup(transformVariableStatement(input)); } case 260 /* SyntaxKind.EnumDeclaration */: { - return cleanup(factory.updateEnumDeclaration(input, /*decorators*/ undefined, factory.createNodeArray(ensureModifiers(input)), input.name, factory.createNodeArray(ts.mapDefined(input.members, function (m) { + return cleanup(factory.updateEnumDeclaration(input, factory.createNodeArray(ensureModifiers(input)), input.name, factory.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; // Rewrite enum values to their constants, if available @@ -109182,7 +110748,7 @@ var ts; } } // Anything left unhandled is an error, so this should be unreachable - return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.SyntaxKind[input.kind])); + return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.Debug.formatSyntaxKind(input.kind))); function cleanup(node) { if (isEnclosingDeclaration(input)) { enclosingDeclaration = previousEnclosingDeclaration; @@ -109256,12 +110822,12 @@ var ts; var currentFlags = ts.getEffectiveModifierFlags(node); var newFlags = ensureModifierFlags(node); if (currentFlags === newFlags) { - return node.modifiers; + return ts.visitArray(node.modifiers, function (n) { return ts.tryCast(n, ts.isModifier); }, ts.isModifier); } return factory.createModifiersFromModifierFlags(newFlags); } function ensureModifierFlags(node) { - var mask = 125951 /* ModifierFlags.All */ ^ (4 /* ModifierFlags.Public */ | 256 /* ModifierFlags.Async */ | 16384 /* ModifierFlags.Override */); // No async and override modifiers in declaration files + var mask = 257023 /* ModifierFlags.All */ ^ (4 /* ModifierFlags.Public */ | 256 /* ModifierFlags.Async */ | 16384 /* ModifierFlags.Override */); // No async and override modifiers in declaration files var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* ModifierFlags.Ambient */ : 0 /* ModifierFlags.None */; var parentIsFile = node.parent.kind === 305 /* SyntaxKind.SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { @@ -109302,7 +110868,7 @@ var ts; return ts.factory.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions)); } function maskModifierFlags(node, modifierMask, modifierAdditions) { - if (modifierMask === void 0) { modifierMask = 125951 /* ModifierFlags.All */ ^ 4 /* ModifierFlags.Public */; } + if (modifierMask === void 0) { modifierMask = 257023 /* ModifierFlags.All */ ^ 4 /* ModifierFlags.Public */; } if (modifierAdditions === void 0) { modifierAdditions = 0 /* ModifierFlags.None */; } var flags = (ts.getEffectiveModifierFlags(node) & modifierMask) | modifierAdditions; if (flags & 512 /* ModifierFlags.Default */ && !(flags & 1 /* ModifierFlags.Export */)) { @@ -109424,6 +110990,7 @@ var ts; var transformers = []; ts.addRange(transformers, customTransformers && ts.map(customTransformers.before, wrapScriptTransformerFactory)); transformers.push(ts.transformTypeScript); + transformers.push(ts.transformLegacyDecorators); transformers.push(ts.transformClassFields); if (ts.getJSXTransformEnabled(compilerOptions)) { transformers.push(ts.transformJsx); @@ -110184,7 +111751,6 @@ var ts; var _b = ts.performance.createTimer("printTime", "beforePrint", "afterPrint"), enter = _b.enter, exit = _b.exit; var bundleBuildInfo; var emitSkipped = false; - var exportedModulesFromDeclarationEmit; // Emit each output file enter(); forEachEmittedFile(host, emitSourceFileOrBundle, ts.getSourceFilesToEmit(host, targetSourceFile, forceDtsEmit), forceDtsEmit, onlyBuildInfo, !targetSourceFile); @@ -110194,7 +111760,6 @@ var ts; diagnostics: emitterDiagnostics.getDiagnostics(), emittedFiles: emittedFilesList, sourceMaps: sourceMapDataList, - exportedModulesFromDeclarationEmit: exportedModulesFromDeclarationEmit }; function emitSourceFileOrBundle(_a, sourceFileOrBundle) { var jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath, buildInfoPath = _a.buildInfoPath; @@ -110248,14 +111813,16 @@ var ts; return; } var version = ts.version; // Extracted into a const so the form is stable between namespace and module - ts.writeFile(host, emitterDiagnostics, buildInfoPath, getBuildInfoText({ bundle: bundle, program: program, version: version }), /*writeByteOrderMark*/ false); + var buildInfo = { bundle: bundle, program: program, version: version }; + // Pass buildinfo as additional data to avoid having to reparse + ts.writeFile(host, emitterDiagnostics, buildInfoPath, getBuildInfoText(buildInfo), /*writeByteOrderMark*/ false, /*sourceFiles*/ undefined, { buildInfo: buildInfo }); } function emitJsFileOrBundle(sourceFileOrBundle, jsFilePath, sourceMapFilePath, relativeToBuildInfo) { if (!sourceFileOrBundle || emitOnlyDtsFiles || !jsFilePath) { return; } // Make sure not to write js file and source map file if any of them cannot be written - if ((jsFilePath && host.isEmitBlocked(jsFilePath)) || compilerOptions.noEmit) { + if (host.isEmitBlocked(jsFilePath) || compilerOptions.noEmit) { emitSkipped = true; return; } @@ -110284,7 +111851,7 @@ var ts; substituteNode: transform.substituteNode, }); ts.Debug.assert(transform.transformed.length === 1, "Should only see one output from the transform"); - printSourceFileOrBundle(jsFilePath, sourceMapFilePath, transform.transformed[0], printer, compilerOptions); + printSourceFileOrBundle(jsFilePath, sourceMapFilePath, transform, printer, compilerOptions); // Clean up emit nodes on parse tree transform.dispose(); if (bundleBuildInfo) @@ -110320,7 +111887,7 @@ var ts; noEmitHelpers: true, module: compilerOptions.module, target: compilerOptions.target, - sourceMap: compilerOptions.sourceMap, + sourceMap: !forceDtsEmit && compilerOptions.declarationMap, inlineSourceMap: compilerOptions.inlineSourceMap, extendedDiagnostics: compilerOptions.extendedDiagnostics, onlyPrintJsDocStyle: true, @@ -110340,17 +111907,13 @@ var ts; emitSkipped = emitSkipped || declBlocked; if (!declBlocked || forceDtsEmit) { ts.Debug.assert(declarationTransform.transformed.length === 1, "Should only see one output from the decl transform"); - printSourceFileOrBundle(declarationFilePath, declarationMapPath, declarationTransform.transformed[0], declarationPrinter, { - sourceMap: !forceDtsEmit && compilerOptions.declarationMap, + printSourceFileOrBundle(declarationFilePath, declarationMapPath, declarationTransform, declarationPrinter, { + sourceMap: printerOptions.sourceMap, sourceRoot: compilerOptions.sourceRoot, mapRoot: compilerOptions.mapRoot, extendedDiagnostics: compilerOptions.extendedDiagnostics, // Explicitly do not passthru either `inline` option }); - if (forceDtsEmit && declarationTransform.transformed[0].kind === 305 /* SyntaxKind.SourceFile */) { - var sourceFile = declarationTransform.transformed[0]; - exportedModulesFromDeclarationEmit = sourceFile.exportedModulesFromDeclarationEmit; - } } declarationTransform.dispose(); if (bundleBuildInfo) @@ -110369,7 +111932,8 @@ var ts; } ts.forEachChild(node, collectLinkedAliases); } - function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, sourceFileOrBundle, printer, mapOptions) { + function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, transform, printer, mapOptions) { + var sourceFileOrBundle = transform.transformed[0]; var bundle = sourceFileOrBundle.kind === 306 /* SyntaxKind.Bundle */ ? sourceFileOrBundle : undefined; var sourceFile = sourceFileOrBundle.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; @@ -110402,13 +111966,20 @@ var ts; if (sourceMapFilePath) { var sourceMap = sourceMapGenerator.toString(); ts.writeFile(host, emitterDiagnostics, sourceMapFilePath, sourceMap, /*writeByteOrderMark*/ false, sourceFiles); + if (printer.bundleFileInfo) + printer.bundleFileInfo.mapHash = ts.computeSignature(sourceMap, ts.maybeBind(host, host.createHash)); } } else { writer.writeLine(); } // Write the output file - ts.writeFile(host, emitterDiagnostics, jsFilePath, writer.getText(), !!compilerOptions.emitBOM, sourceFiles, { sourceMapUrlPos: sourceMapUrlPos }); + var text = writer.getText(); + ts.writeFile(host, emitterDiagnostics, jsFilePath, text, !!compilerOptions.emitBOM, sourceFiles, { sourceMapUrlPos: sourceMapUrlPos, diagnostics: transform.diagnostics }); + // We store the hash of the text written in the buildinfo to ensure that text of the referenced d.ts file is same as whats in the buildinfo + // This is needed because incremental can be toggled between two runs and we might use stale file text to do text manipulation in prepend mode + if (printer.bundleFileInfo) + printer.bundleFileInfo.hash = ts.computeSignature(text, ts.maybeBind(host, host.createHash)); // Reset state writer.clear(); } @@ -110551,34 +112122,56 @@ var ts; } /*@internal*/ function emitUsingBuildInfo(config, host, getCommandLine, customTransformers) { + var createHash = ts.maybeBind(host, host.createHash); var _a = getOutputPathsForBundle(config.options, /*forceDtsPaths*/ false), buildInfoPath = _a.buildInfoPath, jsFilePath = _a.jsFilePath, sourceMapFilePath = _a.sourceMapFilePath, declarationFilePath = _a.declarationFilePath, declarationMapPath = _a.declarationMapPath; - var buildInfoText = host.readFile(ts.Debug.checkDefined(buildInfoPath)); - if (!buildInfoText) + var buildInfo; + if (host.getBuildInfo) { + // If host directly provides buildinfo we can get it directly. This allows host to cache the buildinfo + var hostBuildInfo = host.getBuildInfo(buildInfoPath, config.options.configFilePath); + if (!hostBuildInfo) + return buildInfoPath; + buildInfo = hostBuildInfo; + } + else { + var buildInfoText = host.readFile(buildInfoPath); + if (!buildInfoText) + return buildInfoPath; + buildInfo = getBuildInfo(buildInfoText); + } + if (!buildInfo.bundle || !buildInfo.bundle.js || (declarationFilePath && !buildInfo.bundle.dts)) return buildInfoPath; var jsFileText = host.readFile(ts.Debug.checkDefined(jsFilePath)); if (!jsFileText) return jsFilePath; + // If the jsFileText is not same has what it was created with, tsbuildinfo is stale so dont use it + if (ts.computeSignature(jsFileText, createHash) !== buildInfo.bundle.js.hash) + return jsFilePath; var sourceMapText = sourceMapFilePath && host.readFile(sourceMapFilePath); // error if no source map or for now if inline sourcemap if ((sourceMapFilePath && !sourceMapText) || config.options.inlineSourceMap) return sourceMapFilePath || "inline sourcemap decoding"; + if (sourceMapFilePath && ts.computeSignature(sourceMapText, createHash) !== buildInfo.bundle.js.mapHash) + return sourceMapFilePath; // read declaration text var declarationText = declarationFilePath && host.readFile(declarationFilePath); if (declarationFilePath && !declarationText) return declarationFilePath; + if (declarationFilePath && ts.computeSignature(declarationText, createHash) !== buildInfo.bundle.dts.hash) + return declarationFilePath; var declarationMapText = declarationMapPath && host.readFile(declarationMapPath); // error if no source map or for now if inline sourcemap if ((declarationMapPath && !declarationMapText) || config.options.inlineSourceMap) return declarationMapPath || "inline sourcemap decoding"; - var buildInfo = getBuildInfo(buildInfoText); - if (!buildInfo.bundle || !buildInfo.bundle.js || (declarationText && !buildInfo.bundle.dts)) - return buildInfoPath; + if (declarationMapPath && ts.computeSignature(declarationMapText, createHash) !== buildInfo.bundle.dts.mapHash) + return declarationMapPath; var buildInfoDirectory = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(buildInfoPath, host.getCurrentDirectory())); var ownPrependInput = ts.createInputFiles(jsFileText, declarationText, sourceMapFilePath, sourceMapText, declarationMapPath, declarationMapText, jsFilePath, declarationFilePath, buildInfoPath, buildInfo, /*onlyOwnText*/ true); var outputFiles = []; var prependNodes = ts.createPrependNodes(config.projectReferences, getCommandLine, function (f) { return host.readFile(f); }); var sourceFilesForJsEmit = createSourceFilesFromBundleBuildInfo(buildInfo.bundle, buildInfoDirectory, host); + var changedDtsText; + var changedDtsData; var emitHost = { getPrependNodes: ts.memoize(function () { return __spreadArray(__spreadArray([], prependNodes, true), [ownPrependInput], false); }), getCanonicalFileName: host.getCanonicalFileName, @@ -110594,7 +112187,7 @@ var ts; getResolvedProjectReferenceToRedirect: ts.returnUndefined, getProjectReferenceRedirect: ts.returnUndefined, isSourceOfProjectReferenceRedirect: ts.returnFalse, - writeFile: function (name, text, writeByteOrderMark) { + writeFile: function (name, text, writeByteOrderMark, _onError, _sourceFiles, data) { switch (name) { case jsFilePath: if (jsFileText === text) @@ -110605,8 +112198,12 @@ var ts; return; break; case buildInfoPath: - var newBuildInfo = getBuildInfo(text); + var newBuildInfo = data.buildInfo; newBuildInfo.program = buildInfo.program; + if (newBuildInfo.program && changedDtsText !== undefined && config.options.composite) { + // Update the output signature + newBuildInfo.program.outSignature = ts.computeSignature(changedDtsText, createHash, changedDtsData); + } // Update sourceFileInfo var _a = buildInfo.bundle, js = _a.js, dts = _a.dts, sourceFiles = _a.sourceFiles; newBuildInfo.bundle.js.sources = js.sources; @@ -110614,11 +112211,13 @@ var ts; newBuildInfo.bundle.dts.sources = dts.sources; } newBuildInfo.bundle.sourceFiles = sourceFiles; - outputFiles.push({ name: name, text: getBuildInfoText(newBuildInfo), writeByteOrderMark: writeByteOrderMark }); + outputFiles.push({ name: name, text: getBuildInfoText(newBuildInfo), writeByteOrderMark: writeByteOrderMark, buildInfo: newBuildInfo }); return; case declarationFilePath: if (declarationText === text) return; + changedDtsText = text; + changedDtsData = data; break; case declarationMapPath: if (declarationMapText === text) @@ -110637,6 +112236,7 @@ var ts; getSourceFileFromReference: ts.returnUndefined, redirectTargetsMap: ts.createMultiMap(), getFileIncludeReasons: ts.notImplemented, + createHash: createHash, }; emitFiles(ts.notImplementedResolver, emitHost, /*targetSourceFile*/ undefined, ts.getTransformers(config.options, customTransformers)); @@ -111724,8 +113324,7 @@ var ts; } } function emitParameter(node) { - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); + emitDecoratorsAndModifiers(node, node.modifiers); emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); @@ -111736,7 +113335,7 @@ var ts; emitTypeAnnotation(node.type); } // The comment position has to fallback to any present node within the parameterdeclaration because as it turns out, the parser can make parameter declarations with _just_ an initializer. - emitInitializer(node.initializer, node.type ? node.type.end : node.questionToken ? node.questionToken.end : node.name ? node.name.end : node.modifiers ? node.modifiers.end : node.decorators ? node.decorators.end : node.pos, node, parenthesizer.parenthesizeExpressionForDisallowedComma); + emitInitializer(node.initializer, node.type ? node.type.end : node.questionToken ? node.questionToken.end : node.name ? node.name.end : node.modifiers ? node.modifiers.end : node.pos, node, parenthesizer.parenthesizeExpressionForDisallowedComma); } function emitDecorator(decorator) { writePunctuation("@"); @@ -111746,7 +113345,6 @@ var ts; // Type members // function emitPropertySignature(node) { - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); emitNodeWithWriter(node.name, writeProperty); emit(node.questionToken); @@ -111754,8 +113352,7 @@ var ts; writeTrailingSemicolon(); } function emitPropertyDeclaration(node) { - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); + emitDecoratorsAndModifiers(node, node.modifiers); emit(node.name); emit(node.questionToken); emit(node.exclamationToken); @@ -111765,7 +113362,6 @@ var ts; } function emitMethodSignature(node) { pushNameGenerationScope(node); - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); emit(node.name); emit(node.questionToken); @@ -111776,16 +113372,13 @@ var ts; popNameGenerationScope(node); } function emitMethodDeclaration(node) { - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); + emitDecoratorsAndModifiers(node, node.modifiers); emit(node.asteriskToken); emit(node.name); emit(node.questionToken); emitSignatureAndBody(node, emitSignatureHead); } function emitClassStaticBlockDeclaration(node) { - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); writeKeyword("static"); emitBlockFunctionBody(node.body); } @@ -111795,8 +113388,7 @@ var ts; emitSignatureAndBody(node, emitSignatureHead); } function emitAccessorDeclaration(node) { - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); + emitDecoratorsAndModifiers(node, node.modifiers); writeKeyword(node.kind === 172 /* SyntaxKind.GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); @@ -111804,8 +113396,6 @@ var ts; } function emitCallSignature(node) { pushNameGenerationScope(node); - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); emitTypeParameters(node, node.typeParameters); emitParameters(node, node.parameters); emitTypeAnnotation(node.type); @@ -111814,8 +113404,6 @@ var ts; } function emitConstructSignature(node) { pushNameGenerationScope(node); - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); writeKeyword("new"); writeSpace(); emitTypeParameters(node, node.typeParameters); @@ -111825,7 +113413,6 @@ var ts; popNameGenerationScope(node); } function emitIndexSignature(node) { - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); emitParametersForIndexSignature(node, node.parameters); emitTypeAnnotation(node.type); @@ -112218,7 +113805,6 @@ var ts; emitFunctionDeclarationOrExpression(node); } function emitArrowFunction(node) { - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); emitSignatureAndBody(node, emitArrowFunctionHead); } @@ -112699,7 +114285,6 @@ var ts; emitFunctionDeclarationOrExpression(node); } function emitFunctionDeclarationOrExpression(node) { - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); writeKeyword("function"); emit(node.asteriskToken); @@ -112757,8 +114342,8 @@ var ts; if (!ts.nodeIsSynthesized(body) && currentSourceFile && !ts.rangeIsOnSingleLine(body, currentSourceFile)) { return false; } - if (getLeadingLineTerminatorCount(body, body.statements, 2 /* ListFormat.PreserveLines */) - || getClosingLineTerminatorCount(body, body.statements, 2 /* ListFormat.PreserveLines */)) { + if (getLeadingLineTerminatorCount(body, ts.firstOrUndefined(body.statements), 2 /* ListFormat.PreserveLines */) + || getClosingLineTerminatorCount(body, ts.lastOrUndefined(body.statements), 2 /* ListFormat.PreserveLines */, body.statements)) { return false; } var previousStatement; @@ -112806,8 +114391,7 @@ var ts; } function emitClassDeclarationOrExpression(node) { ts.forEach(node.members, generateMemberNames); - emitDecorators(node, node.decorators); - emitModifiers(node, node.modifiers); + emitDecoratorsAndModifiers(node, node.modifiers); writeKeyword("class"); if (node.name) { writeSpace(); @@ -112828,7 +114412,6 @@ var ts; } } function emitInterfaceDeclaration(node) { - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); writeKeyword("interface"); writeSpace(); @@ -112841,7 +114424,6 @@ var ts; writePunctuation("}"); } function emitTypeAliasDeclaration(node) { - emitDecorators(node, node.decorators); emitModifiers(node, node.modifiers); writeKeyword("type"); writeSpace(); @@ -113468,8 +115050,8 @@ var ts; bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* BundleFileSectionKind.Reference */, data: directive.fileName }); writeLine(); } - for (var _d = 0, types_24 = types; _d < types_24.length; _d++) { - var directive = types_24[_d]; + for (var _d = 0, types_23 = types; _d < types_23.length; _d++) { + var directive = types_23[_d]; var pos = writer.getTextPos(); var resolutionMode = directive.resolutionMode && directive.resolutionMode !== (currentSourceFile === null || currentSourceFile === void 0 ? void 0 : currentSourceFile.impliedNodeFormat) ? "resolution-mode=\"".concat(directive.resolutionMode === ts.ModuleKind.ESNext ? "import" : "require", "\"") @@ -113643,12 +115225,52 @@ var ts; emit(node); write = savedWrite; } - function emitModifiers(node, modifiers) { - if (modifiers && modifiers.length) { - emitList(node, modifiers, 262656 /* ListFormat.Modifiers */); - writeSpace(); + function emitDecoratorsAndModifiers(node, modifiers) { + if (modifiers === null || modifiers === void 0 ? void 0 : modifiers.length) { + if (ts.every(modifiers, ts.isModifier)) { + // if all modifier-likes are `Modifier`, simply emit the array as modifiers. + return emitModifiers(node, modifiers); + } + if (ts.every(modifiers, ts.isDecorator)) { + // if all modifier-likes are `Decorator`, simply emit the array as decorators. + return emitDecorators(node, modifiers); + } + onBeforeEmitNodeArray === null || onBeforeEmitNodeArray === void 0 ? void 0 : onBeforeEmitNodeArray(modifiers); + // partition modifiers into contiguous chunks of `Modifier` or `Decorator` + var lastMode = void 0; + var mode = void 0; + var start = 0; + var pos = 0; + while (start < modifiers.length) { + while (pos < modifiers.length) { + var modifier = modifiers[pos]; + mode = ts.isDecorator(modifier) ? "decorators" : "modifiers"; + if (lastMode === undefined) { + lastMode = mode; + } + else if (mode !== lastMode) { + break; + } + pos++; + } + var textRange = { pos: -1, end: -1 }; + if (start === 0) + textRange.pos = modifiers.pos; + if (pos === modifiers.length - 1) + textRange.end = modifiers.end; + emitNodeListItems(emit, node, modifiers, lastMode === "modifiers" ? 2359808 /* ListFormat.Modifiers */ : 2146305 /* ListFormat.Decorators */, + /*parenthesizerRule*/ undefined, start, pos - start, + /*hasTrailingComma*/ false, textRange); + start = pos; + lastMode = mode; + pos++; + } + onAfterEmitNodeArray === null || onAfterEmitNodeArray === void 0 ? void 0 : onAfterEmitNodeArray(modifiers); } } + function emitModifiers(node, modifiers) { + emitList(node, modifiers, 2359808 /* ListFormat.Modifiers */); + } function emitTypeAnnotation(node) { if (node) { writePunctuation(":"); @@ -113726,11 +115348,9 @@ var ts; && parameter.pos === parentNode.pos // may not have parsed tokens between parent and parameter && ts.isArrowFunction(parentNode) // only arrow functions may have simple arrow head && !parentNode.type // arrow function may not have return type annotation - && !ts.some(parentNode.decorators) // parent may not have decorators - && !ts.some(parentNode.modifiers) // parent may not have modifiers + && !ts.some(parentNode.modifiers) // parent may not have decorators or modifiers && !ts.some(parentNode.typeParameters) // parent may not have type parameters - && !ts.some(parameter.decorators) // parameter may not have decorators - && !ts.some(parameter.modifiers) // parameter may not have modifiers + && !ts.some(parameter.modifiers) // parameter may not have decorators or modifiers && !parameter.dotDotDotToken // parameter may not be rest && !parameter.questionToken // parameter may not be optional && !parameter.type // parameter may not have a type annotation @@ -113785,12 +115405,8 @@ var ts; } var isEmpty = children === undefined || start >= children.length || count === 0; if (isEmpty && format & 32768 /* ListFormat.OptionalIfEmpty */) { - if (onBeforeEmitNodeArray) { - onBeforeEmitNodeArray(children); - } - if (onAfterEmitNodeArray) { - onAfterEmitNodeArray(children); - } + onBeforeEmitNodeArray === null || onBeforeEmitNodeArray === void 0 ? void 0 : onBeforeEmitNodeArray(children); + onAfterEmitNodeArray === null || onAfterEmitNodeArray === void 0 ? void 0 : onAfterEmitNodeArray(children); return; } if (format & 15360 /* ListFormat.BracketsMask */) { @@ -113799,9 +115415,7 @@ var ts; emitTrailingCommentsOfPosition(children.pos, /*prefixSpace*/ true); // Emit comments within empty bracketed lists } } - if (onBeforeEmitNodeArray) { - onBeforeEmitNodeArray(children); - } + onBeforeEmitNodeArray === null || onBeforeEmitNodeArray === void 0 ? void 0 : onBeforeEmitNodeArray(children); if (isEmpty) { // Write a line terminator if the parent node was multi-line if (format & 1 /* ListFormat.MultiLine */ && !(preserveSourceNewlines && (!parentNode || currentSourceFile && ts.rangeIsOnSingleLine(parentNode, currentSourceFile)))) { @@ -113812,123 +115426,128 @@ var ts; } } else { - ts.Debug.type(children); - // Write the opening line terminator or leading whitespace. - var mayEmitInterveningComments = (format & 262144 /* ListFormat.NoInterveningComments */) === 0; - var shouldEmitInterveningComments = mayEmitInterveningComments; - var leadingLineTerminatorCount = getLeadingLineTerminatorCount(parentNode, children, format); // TODO: GH#18217 - if (leadingLineTerminatorCount) { - writeLine(leadingLineTerminatorCount); - shouldEmitInterveningComments = false; - } - else if (format & 256 /* ListFormat.SpaceBetweenBraces */) { - writeSpace(); - } - // Increase the indent, if requested. - if (format & 128 /* ListFormat.Indented */) { - increaseIndent(); + emitNodeListItems(emit, parentNode, children, format, parenthesizerRule, start, count, children.hasTrailingComma, children); + } + onAfterEmitNodeArray === null || onAfterEmitNodeArray === void 0 ? void 0 : onAfterEmitNodeArray(children); + if (format & 15360 /* ListFormat.BracketsMask */) { + if (isEmpty && children) { + emitLeadingCommentsOfPosition(children.end); // Emit leading comments within empty lists } - var emitListItem = getEmitListItem(emit, parenthesizerRule); - // Emit each child. - var previousSibling = void 0; - var previousSourceFileTextKind = void 0; - var shouldDecreaseIndentAfterEmit = false; - for (var i = 0; i < count; i++) { - var child = children[start + i]; - // Write the delimiter if this is not the first node. - if (format & 32 /* ListFormat.AsteriskDelimited */) { - // always write JSDoc in the format "\n *" - writeLine(); - writeDelimiter(format); - } - else if (previousSibling) { - // i.e - // function commentedParameters( - // /* Parameter a */ - // a - // /* End of parameter a */ -> this comment isn't considered to be trailing comment of parameter "a" due to newline - // , - if (format & 60 /* ListFormat.DelimitersMask */ && previousSibling.end !== (parentNode ? parentNode.end : -1)) { - emitLeadingCommentsOfPosition(previousSibling.end); - } - writeDelimiter(format); - recordBundleFileInternalSectionEnd(previousSourceFileTextKind); - // Write either a line terminator or whitespace to separate the elements. - var separatingLineTerminatorCount = getSeparatingLineTerminatorCount(previousSibling, child, format); - if (separatingLineTerminatorCount > 0) { - // If a synthesized node in a single-line list starts on a new - // line, we should increase the indent. - if ((format & (3 /* ListFormat.LinesMask */ | 128 /* ListFormat.Indented */)) === 0 /* ListFormat.SingleLine */) { - increaseIndent(); - shouldDecreaseIndentAfterEmit = true; - } - writeLine(separatingLineTerminatorCount); - shouldEmitInterveningComments = false; - } - else if (previousSibling && format & 512 /* ListFormat.SpaceBetweenSiblings */) { - writeSpace(); - } - } - // Emit this child. - previousSourceFileTextKind = recordBundleFileInternalSectionStart(child); - if (shouldEmitInterveningComments) { - var commentRange = ts.getCommentRange(child); - emitTrailingCommentsOfPosition(commentRange.pos); - } - else { - shouldEmitInterveningComments = mayEmitInterveningComments; - } - nextListElementPos = child.pos; - emitListItem(child, emit, parenthesizerRule, i); - if (shouldDecreaseIndentAfterEmit) { - decreaseIndent(); - shouldDecreaseIndentAfterEmit = false; + writePunctuation(getClosingBracket(format)); + } + } + /** + * Emits a list without brackets or raising events. + * + * NOTE: You probably don't want to call this directly and should be using `emitList` or `emitExpressionList` instead. + */ + function emitNodeListItems(emit, parentNode, children, format, parenthesizerRule, start, count, hasTrailingComma, childrenTextRange) { + // Write the opening line terminator or leading whitespace. + var mayEmitInterveningComments = (format & 262144 /* ListFormat.NoInterveningComments */) === 0; + var shouldEmitInterveningComments = mayEmitInterveningComments; + var leadingLineTerminatorCount = getLeadingLineTerminatorCount(parentNode, children[start], format); + if (leadingLineTerminatorCount) { + writeLine(leadingLineTerminatorCount); + shouldEmitInterveningComments = false; + } + else if (format & 256 /* ListFormat.SpaceBetweenBraces */) { + writeSpace(); + } + // Increase the indent, if requested. + if (format & 128 /* ListFormat.Indented */) { + increaseIndent(); + } + var emitListItem = getEmitListItem(emit, parenthesizerRule); + // Emit each child. + var previousSibling; + var previousSourceFileTextKind; + var shouldDecreaseIndentAfterEmit = false; + for (var i = 0; i < count; i++) { + var child = children[start + i]; + // Write the delimiter if this is not the first node. + if (format & 32 /* ListFormat.AsteriskDelimited */) { + // always write JSDoc in the format "\n *" + writeLine(); + writeDelimiter(format); + } + else if (previousSibling) { + // i.e + // function commentedParameters( + // /* Parameter a */ + // a + // /* End of parameter a */ -> this comment isn't considered to be trailing comment of parameter "a" due to newline + // , + if (format & 60 /* ListFormat.DelimitersMask */ && previousSibling.end !== (parentNode ? parentNode.end : -1)) { + emitLeadingCommentsOfPosition(previousSibling.end); + } + writeDelimiter(format); + recordBundleFileInternalSectionEnd(previousSourceFileTextKind); + // Write either a line terminator or whitespace to separate the elements. + var separatingLineTerminatorCount = getSeparatingLineTerminatorCount(previousSibling, child, format); + if (separatingLineTerminatorCount > 0) { + // If a synthesized node in a single-line list starts on a new + // line, we should increase the indent. + if ((format & (3 /* ListFormat.LinesMask */ | 128 /* ListFormat.Indented */)) === 0 /* ListFormat.SingleLine */) { + increaseIndent(); + shouldDecreaseIndentAfterEmit = true; + } + writeLine(separatingLineTerminatorCount); + shouldEmitInterveningComments = false; + } + else if (previousSibling && format & 512 /* ListFormat.SpaceBetweenSiblings */) { + writeSpace(); } - previousSibling = child; } - // Write a trailing comma, if requested. - var emitFlags = previousSibling ? ts.getEmitFlags(previousSibling) : 0; - var skipTrailingComments = commentsDisabled || !!(emitFlags & 1024 /* EmitFlags.NoTrailingComments */); - var hasTrailingComma = (children === null || children === void 0 ? void 0 : children.hasTrailingComma) && (format & 64 /* ListFormat.AllowTrailingComma */) && (format & 16 /* ListFormat.CommaDelimited */); - if (hasTrailingComma) { - if (previousSibling && !skipTrailingComments) { - emitTokenWithComment(27 /* SyntaxKind.CommaToken */, previousSibling.end, writePunctuation, previousSibling); - } - else { - writePunctuation(","); - } + // Emit this child. + previousSourceFileTextKind = recordBundleFileInternalSectionStart(child); + if (shouldEmitInterveningComments) { + var commentRange = ts.getCommentRange(child); + emitTrailingCommentsOfPosition(commentRange.pos); } - // Emit any trailing comment of the last element in the list - // i.e - // var array = [... - // 2 - // /* end of element 2 */ - // ]; - if (previousSibling && (parentNode ? parentNode.end : -1) !== previousSibling.end && (format & 60 /* ListFormat.DelimitersMask */) && !skipTrailingComments) { - emitLeadingCommentsOfPosition(hasTrailingComma && (children === null || children === void 0 ? void 0 : children.end) ? children.end : previousSibling.end); - } - // Decrease the indent, if requested. - if (format & 128 /* ListFormat.Indented */) { + else { + shouldEmitInterveningComments = mayEmitInterveningComments; + } + nextListElementPos = child.pos; + emitListItem(child, emit, parenthesizerRule, i); + if (shouldDecreaseIndentAfterEmit) { decreaseIndent(); + shouldDecreaseIndentAfterEmit = false; } - recordBundleFileInternalSectionEnd(previousSourceFileTextKind); - // Write the closing line terminator or closing whitespace. - var closingLineTerminatorCount = getClosingLineTerminatorCount(parentNode, children, format); - if (closingLineTerminatorCount) { - writeLine(closingLineTerminatorCount); + previousSibling = child; + } + // Write a trailing comma, if requested. + var emitFlags = previousSibling ? ts.getEmitFlags(previousSibling) : 0; + var skipTrailingComments = commentsDisabled || !!(emitFlags & 1024 /* EmitFlags.NoTrailingComments */); + var emitTrailingComma = hasTrailingComma && (format & 64 /* ListFormat.AllowTrailingComma */) && (format & 16 /* ListFormat.CommaDelimited */); + if (emitTrailingComma) { + if (previousSibling && !skipTrailingComments) { + emitTokenWithComment(27 /* SyntaxKind.CommaToken */, previousSibling.end, writePunctuation, previousSibling); } - else if (format & (2097152 /* ListFormat.SpaceAfterList */ | 256 /* ListFormat.SpaceBetweenBraces */)) { - writeSpace(); + else { + writePunctuation(","); } } - if (onAfterEmitNodeArray) { - onAfterEmitNodeArray(children); + // Emit any trailing comment of the last element in the list + // i.e + // var array = [... + // 2 + // /* end of element 2 */ + // ]; + if (previousSibling && (parentNode ? parentNode.end : -1) !== previousSibling.end && (format & 60 /* ListFormat.DelimitersMask */) && !skipTrailingComments) { + emitLeadingCommentsOfPosition(emitTrailingComma && (childrenTextRange === null || childrenTextRange === void 0 ? void 0 : childrenTextRange.end) ? childrenTextRange.end : previousSibling.end); } - if (format & 15360 /* ListFormat.BracketsMask */) { - if (isEmpty && children) { - emitLeadingCommentsOfPosition(children.end); // Emit leading comments within empty lists - } - writePunctuation(getClosingBracket(format)); + // Decrease the indent, if requested. + if (format & 128 /* ListFormat.Indented */) { + decreaseIndent(); + } + recordBundleFileInternalSectionEnd(previousSourceFileTextKind); + // Write the closing line terminator or closing whitespace. + var closingLineTerminatorCount = getClosingLineTerminatorCount(parentNode, children[start + count - 1], format, childrenTextRange); + if (closingLineTerminatorCount) { + writeLine(closingLineTerminatorCount); + } + else if (format & (2097152 /* ListFormat.SpaceAfterList */ | 256 /* ListFormat.SpaceBetweenBraces */)) { + writeSpace(); } } // Writers @@ -114058,16 +115677,15 @@ var ts; decreaseIndent(); } } - function getLeadingLineTerminatorCount(parentNode, children, format) { + function getLeadingLineTerminatorCount(parentNode, firstChild, format) { if (format & 2 /* ListFormat.PreserveLines */ || preserveSourceNewlines) { if (format & 65536 /* ListFormat.PreferNewLine */) { return 1; } - var firstChild_1 = children[0]; - if (firstChild_1 === undefined) { + if (firstChild === undefined) { return !parentNode || currentSourceFile && ts.rangeIsOnSingleLine(parentNode, currentSourceFile) ? 0 : 1; } - if (firstChild_1.pos === nextListElementPos) { + if (firstChild.pos === nextListElementPos) { // If this child starts at the beginning of a list item in a parent list, its leading // line terminators have already been written as the separating line terminators of the // parent list. Example: @@ -114085,20 +115703,20 @@ var ts; // leading newline to start the modifiers. return 0; } - if (firstChild_1.kind === 11 /* SyntaxKind.JsxText */) { + if (firstChild.kind === 11 /* SyntaxKind.JsxText */) { // JsxText will be written with its leading whitespace, so don't add more manually. return 0; } if (currentSourceFile && parentNode && !ts.positionIsSynthesized(parentNode.pos) && - !ts.nodeIsSynthesized(firstChild_1) && - (!firstChild_1.parent || ts.getOriginalNode(firstChild_1.parent) === ts.getOriginalNode(parentNode))) { + !ts.nodeIsSynthesized(firstChild) && + (!firstChild.parent || ts.getOriginalNode(firstChild.parent) === ts.getOriginalNode(parentNode))) { if (preserveSourceNewlines) { - return getEffectiveLines(function (includeComments) { return ts.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter(firstChild_1.pos, parentNode.pos, currentSourceFile, includeComments); }); + return getEffectiveLines(function (includeComments) { return ts.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter(firstChild.pos, parentNode.pos, currentSourceFile, includeComments); }); } - return ts.rangeStartPositionsAreOnSameLine(parentNode, firstChild_1, currentSourceFile) ? 0 : 1; + return ts.rangeStartPositionsAreOnSameLine(parentNode, firstChild, currentSourceFile) ? 0 : 1; } - if (synthesizedNodeStartsOnNewLine(firstChild_1, format)) { + if (synthesizedNodeStartsOnNewLine(firstChild, format)) { return 1; } } @@ -114138,18 +115756,17 @@ var ts; } return format & 1 /* ListFormat.MultiLine */ ? 1 : 0; } - function getClosingLineTerminatorCount(parentNode, children, format) { + function getClosingLineTerminatorCount(parentNode, lastChild, format, childrenTextRange) { if (format & 2 /* ListFormat.PreserveLines */ || preserveSourceNewlines) { if (format & 65536 /* ListFormat.PreferNewLine */) { return 1; } - var lastChild = ts.lastOrUndefined(children); if (lastChild === undefined) { return !parentNode || currentSourceFile && ts.rangeIsOnSingleLine(parentNode, currentSourceFile) ? 0 : 1; } if (currentSourceFile && parentNode && !ts.positionIsSynthesized(parentNode.pos) && !ts.nodeIsSynthesized(lastChild) && (!lastChild.parent || lastChild.parent === parentNode)) { if (preserveSourceNewlines) { - var end_1 = ts.isNodeArray(children) && !ts.positionIsSynthesized(children.end) ? children.end : lastChild.end; + var end_1 = childrenTextRange && !ts.positionIsSynthesized(childrenTextRange.end) ? childrenTextRange.end : lastChild.end; return getEffectiveLines(function (includeComments) { return ts.getLinesBetweenPositionAndNextNonWhitespaceCharacter(end_1, parentNode.end, currentSourceFile, includeComments); }); } return ts.rangeEndPositionsAreOnSameLine(parentNode, lastChild, currentSourceFile) ? 0 : 1; @@ -114187,14 +115804,14 @@ var ts; return lines; } function writeLineSeparatorsAndIndentBefore(node, parent) { - var leadingNewlines = preserveSourceNewlines && getLeadingLineTerminatorCount(parent, [node], 0 /* ListFormat.None */); + var leadingNewlines = preserveSourceNewlines && getLeadingLineTerminatorCount(parent, node, 0 /* ListFormat.None */); if (leadingNewlines) { writeLinesAndIndent(leadingNewlines, /*writeSpaceIfNotIndenting*/ false); } return !!leadingNewlines; } function writeLineSeparatorsAfter(node, parent) { - var trailingNewlines = preserveSourceNewlines && getClosingLineTerminatorCount(parent, [node], 0 /* ListFormat.None */); + var trailingNewlines = preserveSourceNewlines && getClosingLineTerminatorCount(parent, node, 0 /* ListFormat.None */, /*childrenTextRange*/ undefined); if (trailingNewlines) { writeLine(trailingNewlines); } @@ -115721,12 +117338,10 @@ var ts; } ts.createCompilerHost = createCompilerHost; /*@internal*/ - // TODO(shkamat): update this after reworking ts build API function createCompilerHostWorker(options, setParentNodes, system) { if (system === void 0) { system = ts.sys; } var existingDirectories = new ts.Map(); var getCanonicalFileName = ts.createGetCanonicalFileName(system.useCaseSensitiveFileNames); - var computeHash = ts.maybeBind(system, system.createHash) || ts.generateDjb2Hash; function getSourceFile(fileName, languageVersionOrOptions, onError) { var text; try { @@ -115759,7 +117374,7 @@ var ts; // NOTE: If patchWriteFileEnsuringDirectory has been called, // the system.writeFile will do its own directory creation and // the ensureDirectoriesExist call will always be redundant. - ts.writeFileEnsuringDirectories(fileName, data, writeByteOrderMark, function (path, data, writeByteOrderMark) { return writeFileWorker(path, data, writeByteOrderMark); }, function (path) { return (compilerHost.createDirectory || system.createDirectory)(path); }, function (path) { return directoryExists(path); }); + ts.writeFileEnsuringDirectories(fileName, data, writeByteOrderMark, function (path, data, writeByteOrderMark) { return system.writeFile(path, data, writeByteOrderMark); }, function (path) { return (compilerHost.createDirectory || system.createDirectory)(path); }, function (path) { return directoryExists(path); }); ts.performance.mark("afterIOWrite"); ts.performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); } @@ -115769,35 +117384,6 @@ var ts; } } } - var outputFingerprints; - function writeFileWorker(fileName, data, writeByteOrderMark) { - if (!ts.isWatchSet(options) || !system.getModifiedTime) { - system.writeFile(fileName, data, writeByteOrderMark); - return; - } - if (!outputFingerprints) { - outputFingerprints = new ts.Map(); - } - var hash = computeHash(data); - var mtimeBefore = system.getModifiedTime(fileName); - if (mtimeBefore) { - var fingerprint = outputFingerprints.get(fileName); - // If output has not been changed, and the file has no external modification - if (fingerprint && - fingerprint.byteOrderMark === writeByteOrderMark && - fingerprint.hash === hash && - fingerprint.mtime.getTime() === mtimeBefore.getTime()) { - return; - } - } - system.writeFile(fileName, data, writeByteOrderMark); - var mtimeAfter = system.getModifiedTime(fileName) || ts.missingFileModifiedTime; - outputFingerprints.set(fileName, { - hash: hash, - byteOrderMark: writeByteOrderMark, - mtime: mtimeAfter - }); - } function getDefaultLibLocation() { return ts.getDirectoryPath(ts.normalizePath(system.getExecutingFilePath())); } @@ -115904,7 +117490,7 @@ var ts; }; } // directoryExists - if (originalDirectoryExists && originalCreateDirectory) { + if (originalDirectoryExists) { host.directoryExists = function (directory) { var key = toPath(directory); var value = directoryExistsCache.get(key); @@ -115914,11 +117500,13 @@ var ts; directoryExistsCache.set(key, !!newValue); return newValue; }; - host.createDirectory = function (directory) { - var key = toPath(directory); - directoryExistsCache.delete(key); - originalCreateDirectory.call(host, directory); - }; + if (originalCreateDirectory) { + host.createDirectory = function (directory) { + var key = toPath(directory); + directoryExistsCache.delete(key); + originalCreateDirectory.call(host, directory); + }; + } } return { originalReadFile: originalReadFile, @@ -116139,12 +117727,14 @@ var ts; } ts.loadWithTypeDirectiveCache = loadWithTypeDirectiveCache; ; - /* @internal */ + /** + * Calculates the resulting resolution mode for some reference in some file - this is generally the explicitly + * provided resolution mode in the reference, unless one is not present, in which case it is the mode of the containing file. + */ function getModeForFileReference(ref, containingFileMode) { return (ts.isString(ref) ? containingFileMode : ref.resolutionMode) || containingFileMode; } ts.getModeForFileReference = getModeForFileReference; - /* @internal */ function getModeForResolutionAtIndex(file, index) { if (file.impliedNodeFormat === undefined) return undefined; @@ -116165,7 +117755,15 @@ var ts; return false; } ts.isExclusivelyTypeOnlyImportOrExport = isExclusivelyTypeOnlyImportOrExport; - /* @internal */ + /** + * Calculates the final resolution mode for a given module reference node. This is generally the explicitly provided resolution mode, if + * one exists, or the mode of the containing source file. (Excepting import=require, which is always commonjs, and dynamic import, which is always esm). + * Notably, this function always returns `undefined` if the containing file has an `undefined` `impliedNodeFormat` - this field is only set when + * `moduleResolution` is `node16`+. + * @param file The file the import or import-like reference is contained within + * @param usage The module reference string + * @returns The final resolution mode of the import + */ function getModeForUsageLocation(file, usage) { var _a, _b; if (file.impliedNodeFormat === undefined) @@ -116411,6 +118009,12 @@ var ts; * @returns `undefined` if the path has no relevant implied format, `ModuleKind.ESNext` for esm format, and `ModuleKind.CommonJS` for cjs format */ function getImpliedNodeFormatForFile(fileName, packageJsonInfoCache, host, options) { + var result = getImpliedNodeFormatForFileWorker(fileName, packageJsonInfoCache, host, options); + return typeof result === "object" ? result.impliedNodeFormat : result; + } + ts.getImpliedNodeFormatForFile = getImpliedNodeFormatForFile; + /*@internal*/ + function getImpliedNodeFormatForFileWorker(fileName, packageJsonInfoCache, host, options) { switch (ts.getEmitModuleResolutionKind(options)) { case ts.ModuleResolutionKind.Node16: case ts.ModuleResolutionKind.NodeNext: @@ -116422,11 +118026,16 @@ var ts; return undefined; } function lookupFromPackageJson() { - var scope = ts.getPackageScopeForPath(fileName, packageJsonInfoCache, host, options); - return (scope === null || scope === void 0 ? void 0 : scope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var state = ts.getTemporaryModuleResolutionState(packageJsonInfoCache, host, options); + var packageJsonLocations = []; + state.failedLookupLocations = packageJsonLocations; + state.affectingLocations = packageJsonLocations; + var packageJsonScope = ts.getPackageScopeForPath(fileName, state); + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } - ts.getImpliedNodeFormatForFile = getImpliedNodeFormatForFile; + ts.getImpliedNodeFormatForFileWorker = getImpliedNodeFormatForFileWorker; /** @internal */ ts.plainJSErrors = new ts.Set([ // binder errors @@ -116519,6 +118128,9 @@ var ts; ts.Diagnostics.extends_clause_already_seen.code, ts.Diagnostics.let_declarations_can_only_be_declared_inside_a_block.code, ts.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations.code, + ts.Diagnostics.Class_constructor_may_not_be_a_generator.code, + ts.Diagnostics.Class_constructor_may_not_be_an_accessor.code, + ts.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules.code, ]); /** * Determine if source file needs to be re-created even if its text hasn't changed @@ -116748,7 +118360,7 @@ var ts; for (var _i = 0, oldSourceFiles_1 = oldSourceFiles; _i < oldSourceFiles_1.length; _i++) { var oldSourceFile = oldSourceFiles_1[_i]; var newFile = getSourceFileByPath(oldSourceFile.resolvedPath); - if (shouldCreateNewSourceFile || !newFile || + if (shouldCreateNewSourceFile || !newFile || newFile.impliedNodeFormat !== oldSourceFile.impliedNodeFormat || // old file wasn't redirect but new file is (oldSourceFile.resolvedPath === oldSourceFile.path && newFile.resolvedPath !== oldSourceFile.path)) { host.onReleaseOldSourceFile(oldSourceFile, oldProgram.getCompilerOptions(), !!getSourceFileByPath(oldSourceFile.path)); @@ -117085,7 +118697,7 @@ var ts; // `result[i]` is either a `ResolvedModuleFull` or a marker. // If it is the former, we can leave it as is. if (result[i] === predictedToResolveToAmbientModuleMarker) { - result[i] = undefined; // TODO: GH#18217 + result[i] = undefined; } } else { @@ -117141,7 +118753,7 @@ var ts; }); } function tryReuseStructureFromOldProgram() { - var _a; + var _a, _b; if (!oldProgram) { return 0 /* StructureIsReused.Not */; } @@ -117182,12 +118794,15 @@ var ts; var seenPackageNames = new ts.Map(); for (var _i = 0, oldSourceFiles_2 = oldSourceFiles; _i < oldSourceFiles_2.length; _i++) { var oldSourceFile = oldSourceFiles_2[_i]; + var sourceFileOptions = getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options); var newSourceFile = host.getSourceFileByPath - ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options), /*onError*/ undefined, shouldCreateNewSourceFile) - : host.getSourceFile(oldSourceFile.fileName, getCreateSourceFileOptions(oldSourceFile.fileName, moduleResolutionCache, host, options), /*onError*/ undefined, shouldCreateNewSourceFile); // TODO: GH#18217 + ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, sourceFileOptions, /*onError*/ undefined, shouldCreateNewSourceFile || sourceFileOptions.impliedNodeFormat !== oldSourceFile.impliedNodeFormat) + : host.getSourceFile(oldSourceFile.fileName, sourceFileOptions, /*onError*/ undefined, shouldCreateNewSourceFile || sourceFileOptions.impliedNodeFormat !== oldSourceFile.impliedNodeFormat); // TODO: GH#18217 if (!newSourceFile) { return 0 /* StructureIsReused.Not */; } + newSourceFile.packageJsonLocations = ((_a = sourceFileOptions.packageJsonLocations) === null || _a === void 0 ? void 0 : _a.length) ? sourceFileOptions.packageJsonLocations : undefined; + newSourceFile.packageJsonScope = sourceFileOptions.packageJsonScope; ts.Debug.assert(!newSourceFile.redirectInfo, "Host should not return a redirect source file from `getSourceFile`"); var fileChanged = void 0; if (oldSourceFile.redirectInfo) { @@ -117227,38 +118842,43 @@ var ts; seenPackageNames.set(packageName, newKind); } if (fileChanged) { + if (oldSourceFile.impliedNodeFormat !== newSourceFile.impliedNodeFormat) { + structureIsReused = 1 /* StructureIsReused.SafeModules */; + } // The `newSourceFile` object was created for the new program. - if (!ts.arrayIsEqualTo(oldSourceFile.libReferenceDirectives, newSourceFile.libReferenceDirectives, fileReferenceIsEqualTo)) { + else if (!ts.arrayIsEqualTo(oldSourceFile.libReferenceDirectives, newSourceFile.libReferenceDirectives, fileReferenceIsEqualTo)) { // 'lib' references has changed. Matches behavior in changesAffectModuleResolution structureIsReused = 1 /* StructureIsReused.SafeModules */; } - if (oldSourceFile.hasNoDefaultLib !== newSourceFile.hasNoDefaultLib) { + else if (oldSourceFile.hasNoDefaultLib !== newSourceFile.hasNoDefaultLib) { // value of no-default-lib has changed // this will affect if default library is injected into the list of files structureIsReused = 1 /* StructureIsReused.SafeModules */; } // check tripleslash references - if (!ts.arrayIsEqualTo(oldSourceFile.referencedFiles, newSourceFile.referencedFiles, fileReferenceIsEqualTo)) { + else if (!ts.arrayIsEqualTo(oldSourceFile.referencedFiles, newSourceFile.referencedFiles, fileReferenceIsEqualTo)) { // tripleslash references has changed structureIsReused = 1 /* StructureIsReused.SafeModules */; } - // check imports and module augmentations - collectExternalModuleReferences(newSourceFile); - if (!ts.arrayIsEqualTo(oldSourceFile.imports, newSourceFile.imports, moduleNameIsEqualTo)) { - // imports has changed - structureIsReused = 1 /* StructureIsReused.SafeModules */; - } - if (!ts.arrayIsEqualTo(oldSourceFile.moduleAugmentations, newSourceFile.moduleAugmentations, moduleNameIsEqualTo)) { - // moduleAugmentations has changed - structureIsReused = 1 /* StructureIsReused.SafeModules */; - } - if ((oldSourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */) !== (newSourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */)) { - // dynamicImport has changed - structureIsReused = 1 /* StructureIsReused.SafeModules */; - } - if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) { - // 'types' references has changed - structureIsReused = 1 /* StructureIsReused.SafeModules */; + else { + // check imports and module augmentations + collectExternalModuleReferences(newSourceFile); + if (!ts.arrayIsEqualTo(oldSourceFile.imports, newSourceFile.imports, moduleNameIsEqualTo)) { + // imports has changed + structureIsReused = 1 /* StructureIsReused.SafeModules */; + } + else if (!ts.arrayIsEqualTo(oldSourceFile.moduleAugmentations, newSourceFile.moduleAugmentations, moduleNameIsEqualTo)) { + // moduleAugmentations has changed + structureIsReused = 1 /* StructureIsReused.SafeModules */; + } + else if ((oldSourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */) !== (newSourceFile.flags & 6291456 /* NodeFlags.PermanentlySetIncrementalFlags */)) { + // dynamicImport has changed + structureIsReused = 1 /* StructureIsReused.SafeModules */; + } + else if (!ts.arrayIsEqualTo(oldSourceFile.typeReferenceDirectives, newSourceFile.typeReferenceDirectives, fileReferenceIsEqualTo)) { + // 'types' references has changed + structureIsReused = 1 /* StructureIsReused.SafeModules */; + } } // tentatively approve the file modifiedSourceFiles.push({ oldFile: oldSourceFile, newFile: newSourceFile }); @@ -117276,18 +118896,18 @@ var ts; return structureIsReused; } var modifiedFiles = modifiedSourceFiles.map(function (f) { return f.oldFile; }); - for (var _b = 0, oldSourceFiles_3 = oldSourceFiles; _b < oldSourceFiles_3.length; _b++) { - var oldFile = oldSourceFiles_3[_b]; + for (var _c = 0, oldSourceFiles_3 = oldSourceFiles; _c < oldSourceFiles_3.length; _c++) { + var oldFile = oldSourceFiles_3[_c]; if (!ts.contains(modifiedFiles, oldFile)) { - for (var _c = 0, _d = oldFile.ambientModuleNames; _c < _d.length; _c++) { - var moduleName = _d[_c]; + for (var _d = 0, _e = oldFile.ambientModuleNames; _d < _e.length; _d++) { + var moduleName = _e[_d]; ambientModuleNameToUnmodifiedFileName.set(moduleName, oldFile.fileName); } } } // try to verify results of module resolution - for (var _e = 0, modifiedSourceFiles_1 = modifiedSourceFiles; _e < modifiedSourceFiles_1.length; _e++) { - var _f = modifiedSourceFiles_1[_e], oldSourceFile = _f.oldFile, newSourceFile = _f.newFile; + for (var _f = 0, modifiedSourceFiles_1 = modifiedSourceFiles; _f < modifiedSourceFiles_1.length; _f++) { + var _g = modifiedSourceFiles_1[_f], oldSourceFile = _g.oldFile, newSourceFile = _g.newFile; var moduleNames = getModuleNames(newSourceFile); var resolutions = resolveModuleNamesReusingOldState(moduleNames, newSourceFile); // ensure that module resolution results are still correct @@ -117314,14 +118934,14 @@ var ts; if (structureIsReused !== 2 /* StructureIsReused.Completely */) { return structureIsReused; } - if (ts.changesAffectingProgramStructure(oldOptions, options) || ((_a = host.hasChangedAutomaticTypeDirectiveNames) === null || _a === void 0 ? void 0 : _a.call(host))) { + if (ts.changesAffectingProgramStructure(oldOptions, options) || ((_b = host.hasChangedAutomaticTypeDirectiveNames) === null || _b === void 0 ? void 0 : _b.call(host))) { return 1 /* StructureIsReused.SafeModules */; } missingFilePaths = oldProgram.getMissingFilePaths(); // update fileName -> file mapping ts.Debug.assert(newSourceFiles.length === oldProgram.getSourceFiles().length); - for (var _g = 0, newSourceFiles_1 = newSourceFiles; _g < newSourceFiles_1.length; _g++) { - var newSourceFile = newSourceFiles_1[_g]; + for (var _h = 0, newSourceFiles_1 = newSourceFiles; _h < newSourceFiles_1.length; _h++) { + var newSourceFile = newSourceFiles_1[_h]; filesByName.set(newSourceFile.path, newSourceFile); } var oldFilesByNameMap = oldProgram.getFilesByNameMap(); @@ -117383,6 +119003,7 @@ var ts; getSourceFileFromReference: function (file, ref) { return program.getSourceFileFromReference(file, ref); }, redirectTargetsMap: redirectTargetsMap, getFileIncludeReasons: program.getFileIncludeReasons, + createHash: ts.maybeBind(host, host.createHash), }; } function writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data) { @@ -117736,7 +119357,7 @@ var ts; } } function walkArray(nodes, parent) { - if (parent.decorators === nodes && !options.experimentalDecorators) { + if (ts.canHaveModifiers(parent) && parent.modifiers === nodes && ts.some(nodes, ts.isDecorator) && !options.experimentalDecorators) { diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)); } switch (parent.kind) { @@ -117767,7 +119388,7 @@ var ts; if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { var modifier = _a[_i]; - if (modifier.kind !== 124 /* SyntaxKind.StaticKeyword */) { + if (ts.isModifier(modifier) && modifier.kind !== 124 /* SyntaxKind.StaticKeyword */) { diagnostics.push(createDiagnosticForNode(modifier, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, ts.tokenToString(modifier.kind))); } } @@ -117776,7 +119397,7 @@ var ts; break; case 164 /* SyntaxKind.Parameter */: // Check modifiers of parameter declaration - if (nodes === parent.modifiers) { + if (nodes === parent.modifiers && ts.some(nodes, ts.isModifier)) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Parameter_modifiers_can_only_be_used_in_TypeScript_files)); return "skip"; } @@ -117895,7 +119516,7 @@ var ts; } function createSyntheticImport(text, file) { var externalHelpersModuleReference = ts.factory.createStringLiteral(text); - var importDecl = ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*importClause*/ undefined, externalHelpersModuleReference, /*assertClause*/ undefined); + var importDecl = ts.factory.createImportDeclaration(/*modifiers*/ undefined, /*importClause*/ undefined, externalHelpersModuleReference, /*assertClause*/ undefined); ts.addEmitFlags(importDecl, 67108864 /* EmitFlags.NeverApplyImportHelper */); ts.setParent(externalHelpersModuleReference, importDecl); ts.setParent(importDecl, file); @@ -118103,13 +119724,16 @@ var ts; addFilePreprocessingFileExplainingDiagnostic(existingFile, reason, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, [fileName, existingFile.fileName]); } } - function createRedirectSourceFile(redirectTarget, unredirected, fileName, path, resolvedPath, originalFileName) { + function createRedirectSourceFile(redirectTarget, unredirected, fileName, path, resolvedPath, originalFileName, sourceFileOptions) { + var _a; var redirect = Object.create(redirectTarget); redirect.fileName = fileName; redirect.path = path; redirect.resolvedPath = resolvedPath; redirect.originalFileName = originalFileName; redirect.redirectInfo = { redirectTarget: redirectTarget, unredirected: unredirected }; + redirect.packageJsonLocations = ((_a = sourceFileOptions.packageJsonLocations) === null || _a === void 0 ? void 0 : _a.length) ? sourceFileOptions.packageJsonLocations : undefined; + redirect.packageJsonScope = sourceFileOptions.packageJsonScope; sourceFilesFoundSearchingNodeModules.set(path, currentNodeModulesDepth > 0); Object.defineProperties(redirect, { id: { @@ -118138,14 +119762,14 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var impliedNodeFormat = getImpliedNodeFormatForFile(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); - return { - languageVersion: ts.getEmitScriptTarget(options), - impliedNodeFormat: impliedNodeFormat, - setExternalModuleIndicator: ts.getSetExternalModuleIndicator(options) - }; + var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var languageVersion = ts.getEmitScriptTarget(options); + var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); + return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : + { languageVersion: languageVersion, impliedNodeFormat: result, setExternalModuleIndicator: setExternalModuleIndicator }; } function findSourceFileWorker(fileName, isDefaultLib, ignoreNoDefaultLib, reason, packageId) { + var _a, _b; var path = toPath(fileName); if (useSourceOfProjectReferenceRedirect) { var source = getSourceOfProjectReferenceRedirect(path); @@ -118232,14 +119856,15 @@ var ts; } } // We haven't looked for this file, do so now and cache result - var file = host.getSourceFile(fileName, getCreateSourceFileOptions(fileName, moduleResolutionCache, host, options), function (hostErrorMessage) { return addFilePreprocessingFileExplainingDiagnostic(/*file*/ undefined, reason, ts.Diagnostics.Cannot_read_file_0_Colon_1, [fileName, hostErrorMessage]); }, shouldCreateNewSourceFile); + var sourceFileOptions = getCreateSourceFileOptions(fileName, moduleResolutionCache, host, options); + var file = host.getSourceFile(fileName, sourceFileOptions, function (hostErrorMessage) { return addFilePreprocessingFileExplainingDiagnostic(/*file*/ undefined, reason, ts.Diagnostics.Cannot_read_file_0_Colon_1, [fileName, hostErrorMessage]); }, shouldCreateNewSourceFile || (((_a = oldProgram === null || oldProgram === void 0 ? void 0 : oldProgram.getSourceFileByPath(toPath(fileName))) === null || _a === void 0 ? void 0 : _a.impliedNodeFormat) !== sourceFileOptions.impliedNodeFormat)); if (packageId) { var packageIdKey = ts.packageIdToString(packageId); var fileFromPackageId = packageIdToSourceFile.get(packageIdKey); if (fileFromPackageId) { // Some other SourceFile already exists with this package name and version. // Instead of creating a duplicate, just redirect to the existing one. - var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path, toPath(fileName), originalFileName); // TODO: GH#18217 + var dupFile = createRedirectSourceFile(fileFromPackageId, file, fileName, path, toPath(fileName), originalFileName, sourceFileOptions); redirectTargetsMap.add(fileFromPackageId.path, fileName); addFileToFilesByName(dupFile, path, redirectedPath); addFileIncludeReason(dupFile, reason); @@ -118260,6 +119885,8 @@ var ts; file.path = path; file.resolvedPath = toPath(fileName); file.originalFileName = originalFileName; + file.packageJsonLocations = ((_b = sourceFileOptions.packageJsonLocations) === null || _b === void 0 ? void 0 : _b.length) ? sourceFileOptions.packageJsonLocations : undefined; + file.packageJsonScope = sourceFileOptions.packageJsonScope; addFileIncludeReason(file, reason); if (host.useCaseSensitiveFileNames()) { var pathLowerCase = ts.toFileNameLowerCase(path); @@ -118399,13 +120026,13 @@ var ts; ts.setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective); var mode = ref.resolutionMode || file.impliedNodeFormat; if (mode && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(options) !== ts.ModuleResolutionKind.NodeNext) { - programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext)); + programDiagnostics.add(ts.createDiagnosticForRange(file, ref, ts.Diagnostics.resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext)); } processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: ts.FileIncludeKind.TypeReferenceDirective, file: file.path, index: index, }); } } function processTypeReferenceDirective(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason) { - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "processTypeReferenceDirective", { directive: typeReferenceDirective, hasResolved: !!resolveModuleNamesReusingOldState, refKind: reason.kind, refPath: isReferencedFile(reason) ? reason.file : undefined }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program" /* tracing.Phase.Program */, "processTypeReferenceDirective", { directive: typeReferenceDirective, hasResolved: !!resolvedTypeReferenceDirective, refKind: reason.kind, refPath: isReferencedFile(reason) ? reason.file : undefined }); processTypeReferenceDirectiveWorker(typeReferenceDirective, mode, resolvedTypeReferenceDirective, reason); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } @@ -118890,7 +120517,7 @@ var ts; fileIncludeReasons = undefined; var location = locationReason && getReferencedFileLocation(getSourceFileByPath, locationReason); var fileIncludeReasonDetails = fileIncludeReasons && ts.chainDiagnosticMessages(fileIncludeReasons, ts.Diagnostics.The_file_is_in_the_program_because_Colon); - var redirectInfo = file && ts.explainIfFileIsRedirect(file); + var redirectInfo = file && ts.explainIfFileIsRedirectAndImpliedFormat(file); var chain = ts.chainDiagnosticMessages.apply(void 0, __spreadArray([redirectInfo ? fileIncludeReasonDetails ? __spreadArray([fileIncludeReasonDetails], redirectInfo, true) : redirectInfo : fileIncludeReasonDetails, diagnostic], args || ts.emptyArray, false)); return location && isReferenceFileLocation(location) ? ts.createFileDiagnosticFromMessageChain(location.file, location.pos, location.end - location.pos, chain, relatedInfo) : @@ -118960,7 +120587,7 @@ var ts; } var matchedByInclude = ts.getMatchedIncludeSpec(program, fileName); // Could be additional files specified as roots - if (!matchedByInclude) + if (!matchedByInclude || !ts.isString(matchedByInclude)) return undefined; configFileNode = ts.getTsConfigPropArrayElementValue(options.configFile, "include", matchedByInclude); message = ts.Diagnostics.File_is_matched_by_include_pattern_specified_here; @@ -119484,8 +121111,8 @@ var ts; (function (ts) { function getFileEmitOutput(program, sourceFile, emitOnlyDtsFiles, cancellationToken, customTransformers, forceDtsEmit) { var outputFiles = []; - var _a = program.emit(sourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers, forceDtsEmit), emitSkipped = _a.emitSkipped, diagnostics = _a.diagnostics, exportedModulesFromDeclarationEmit = _a.exportedModulesFromDeclarationEmit; - return { outputFiles: outputFiles, emitSkipped: emitSkipped, diagnostics: diagnostics, exportedModulesFromDeclarationEmit: exportedModulesFromDeclarationEmit }; + var _a = program.emit(sourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers, forceDtsEmit), emitSkipped = _a.emitSkipped, diagnostics = _a.diagnostics; + return { outputFiles: outputFiles, emitSkipped: emitSkipped, diagnostics: diagnostics }; function writeFile(fileName, text, writeByteOrderMark) { outputFiles.push({ name: fileName, writeByteOrderMark: writeByteOrderMark, text: text }); } @@ -119496,13 +121123,9 @@ var ts; function createManyToManyPathMap() { function create(forward, reverse, deleted) { var map = { - clone: function () { return create(new ts.Map(forward), new ts.Map(reverse), deleted && new ts.Set(deleted)); }, - forEach: function (fn) { return forward.forEach(fn); }, getKeys: function (v) { return reverse.get(v); }, getValues: function (k) { return forward.get(k); }, - hasKey: function (k) { return forward.has(k); }, keys: function () { return forward.keys(); }, - deletedKeys: function () { return deleted; }, deleteKey: function (k) { (deleted || (deleted = new ts.Set())).add(k); var set = forward.get(k); @@ -119529,11 +121152,6 @@ var ts; }); return map; }, - clear: function () { - forward.clear(); - reverse.clear(); - deleted === null || deleted === void 0 ? void 0 : deleted.clear(); - } }; return map; } @@ -119661,18 +121279,21 @@ var ts; * Creates the state of file references and signature for the new program from oldState if it is safe */ function create(newProgram, getCanonicalFileName, oldState, disableUseFileVersionAsSignature) { + var _a, _b, _c; var fileInfos = new ts.Map(); var referencedMap = newProgram.getCompilerOptions().module !== ts.ModuleKind.None ? createManyToManyPathMap() : undefined; var exportedModulesMap = referencedMap ? createManyToManyPathMap() : undefined; - var hasCalledUpdateShapeSignature = new ts.Set(); var useOldState = canReuseOldState(referencedMap, oldState); // Ensure source files have parent pointers set newProgram.getTypeChecker(); // Create the reference map, and set the file infos - for (var _i = 0, _a = newProgram.getSourceFiles(); _i < _a.length; _i++) { - var sourceFile = _a[_i]; + for (var _i = 0, _d = newProgram.getSourceFiles(); _i < _d.length; _i++) { + var sourceFile = _d[_i]; var version_2 = ts.Debug.checkDefined(sourceFile.version, "Program intended to be used with Builder should have source files with versions set"); - var oldInfo = useOldState ? oldState.fileInfos.get(sourceFile.resolvedPath) : undefined; + var oldUncommittedSignature = useOldState ? (_a = oldState.oldSignatures) === null || _a === void 0 ? void 0 : _a.get(sourceFile.resolvedPath) : undefined; + var signature = oldUncommittedSignature === undefined ? + useOldState ? (_b = oldState.fileInfos.get(sourceFile.resolvedPath)) === null || _b === void 0 ? void 0 : _b.signature : undefined : + oldUncommittedSignature || undefined; if (referencedMap) { var newReferences = getReferencedFiles(newProgram, sourceFile, getCanonicalFileName); if (newReferences) { @@ -119680,19 +121301,26 @@ var ts; } // Copy old visible to outside files map if (useOldState) { - var exportedModules = oldState.exportedModulesMap.getValues(sourceFile.resolvedPath); + var oldUncommittedExportedModules = (_c = oldState.oldExportedModulesMap) === null || _c === void 0 ? void 0 : _c.get(sourceFile.resolvedPath); + var exportedModules = oldUncommittedExportedModules === undefined ? + oldState.exportedModulesMap.getValues(sourceFile.resolvedPath) : + oldUncommittedExportedModules || undefined; if (exportedModules) { exportedModulesMap.set(sourceFile.resolvedPath, exportedModules); } } } - fileInfos.set(sourceFile.resolvedPath, { version: version_2, signature: oldInfo && oldInfo.signature, affectsGlobalScope: isFileAffectingGlobalScope(sourceFile) || undefined, impliedFormat: sourceFile.impliedNodeFormat }); + fileInfos.set(sourceFile.resolvedPath, { + version: version_2, + signature: signature, + affectsGlobalScope: isFileAffectingGlobalScope(sourceFile) || undefined, + impliedFormat: sourceFile.impliedNodeFormat + }); } return { fileInfos: fileInfos, referencedMap: referencedMap, exportedModulesMap: exportedModulesMap, - hasCalledUpdateShapeSignature: hasCalledUpdateShapeSignature, useFileVersionAsSignature: !disableUseFileVersionAsSignature && !useOldState }; } @@ -119706,120 +121334,95 @@ var ts; } BuilderState.releaseCache = releaseCache; /** - * Creates a clone of the state + * Gets the files affected by the path from the program */ - function clone(state) { + function getFilesAffectedBy(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { var _a, _b; - // Dont need to backup allFiles info since its cache anyway - return { - fileInfos: new ts.Map(state.fileInfos), - referencedMap: (_a = state.referencedMap) === null || _a === void 0 ? void 0 : _a.clone(), - exportedModulesMap: (_b = state.exportedModulesMap) === null || _b === void 0 ? void 0 : _b.clone(), - hasCalledUpdateShapeSignature: new ts.Set(state.hasCalledUpdateShapeSignature), - useFileVersionAsSignature: state.useFileVersionAsSignature, - }; + var result = getFilesAffectedByWithOldState(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName); + (_a = state.oldSignatures) === null || _a === void 0 ? void 0 : _a.clear(); + (_b = state.oldExportedModulesMap) === null || _b === void 0 ? void 0 : _b.clear(); + return result; } - BuilderState.clone = clone; - /** - * Gets the files affected by the path from the program - */ - function getFilesAffectedBy(state, programOfThisState, path, cancellationToken, computeHash, cacheToUpdateSignature, exportedModulesMapCache) { - // Since the operation could be cancelled, the signatures are always stored in the cache - // They will be committed once it is safe to use them - // eg when calling this api from tsserver, if there is no cancellation of the operation - // In the other cases the affected files signatures are committed only after the iteration through the result is complete - var signatureCache = cacheToUpdateSignature || new ts.Map(); + BuilderState.getFilesAffectedBy = getFilesAffectedBy; + function getFilesAffectedByWithOldState(state, programOfThisState, path, cancellationToken, computeHash, getCanonicalFileName) { var sourceFile = programOfThisState.getSourceFileByPath(path); if (!sourceFile) { return ts.emptyArray; } - if (!updateShapeSignature(state, programOfThisState, sourceFile, signatureCache, cancellationToken, computeHash, exportedModulesMapCache)) { + if (!updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName)) { return [sourceFile]; } - var result = (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, signatureCache, cancellationToken, computeHash, exportedModulesMapCache); - if (!cacheToUpdateSignature) { - // Commit all the signatures in the signature cache - updateSignaturesFromCache(state, signatureCache); - } - return result; - } - BuilderState.getFilesAffectedBy = getFilesAffectedBy; - /** - * Updates the signatures from the cache into state's fileinfo signatures - * This should be called whenever it is safe to commit the state of the builder - */ - function updateSignaturesFromCache(state, signatureCache) { - signatureCache.forEach(function (signature, path) { return updateSignatureOfFile(state, signature, path); }); + return (state.referencedMap ? getFilesAffectedByUpdatedShapeWhenModuleEmit : getFilesAffectedByUpdatedShapeWhenNonModuleEmit)(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName); } - BuilderState.updateSignaturesFromCache = updateSignaturesFromCache; + BuilderState.getFilesAffectedByWithOldState = getFilesAffectedByWithOldState; function updateSignatureOfFile(state, signature, path) { state.fileInfos.get(path).signature = signature; - state.hasCalledUpdateShapeSignature.add(path); + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new ts.Set())).add(path); } BuilderState.updateSignatureOfFile = updateSignatureOfFile; /** * Returns if the shape of the signature has changed since last emit */ - function updateShapeSignature(state, programOfThisState, sourceFile, cacheToUpdateSignature, cancellationToken, computeHash, exportedModulesMapCache, useFileVersionAsSignature) { + function updateShapeSignature(state, programOfThisState, sourceFile, cancellationToken, computeHash, getCanonicalFileName, useFileVersionAsSignature) { + var _a; if (useFileVersionAsSignature === void 0) { useFileVersionAsSignature = state.useFileVersionAsSignature; } - ts.Debug.assert(!!sourceFile); - ts.Debug.assert(!exportedModulesMapCache || !!state.exportedModulesMap, "Compute visible to outside map only if visibleToOutsideReferencedMap present in the state"); // If we have cached the result for this file, that means hence forth we should assume file shape is uptodate - if (state.hasCalledUpdateShapeSignature.has(sourceFile.resolvedPath) || cacheToUpdateSignature.has(sourceFile.resolvedPath)) { + if ((_a = state.hasCalledUpdateShapeSignature) === null || _a === void 0 ? void 0 : _a.has(sourceFile.resolvedPath)) return false; - } var info = state.fileInfos.get(sourceFile.resolvedPath); - if (!info) - return ts.Debug.fail(); var prevSignature = info.signature; var latestSignature; if (!sourceFile.isDeclarationFile && !useFileVersionAsSignature) { - var emitOutput_1 = getFileEmitOutput(programOfThisState, sourceFile, - /*emitOnlyDtsFiles*/ true, cancellationToken, + programOfThisState.emit(sourceFile, function (fileName, text, _writeByteOrderMark, _onError, sourceFiles, data) { + ts.Debug.assert(ts.isDeclarationFileName(fileName), "File extension for signature expected to be dts: Got:: ".concat(fileName)); + latestSignature = ts.computeSignatureWithDiagnostics(sourceFile, text, computeHash, getCanonicalFileName, data); + if (latestSignature !== prevSignature) { + updateExportedModules(state, sourceFile, sourceFiles[0].exportedModulesFromDeclarationEmit); + } + }, cancellationToken, + /*emitOnlyDtsFiles*/ true, /*customTransformers*/ undefined, /*forceDtsEmit*/ true); - var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles); - if (firstDts_1) { - ts.Debug.assert(ts.isDeclarationFileName(firstDts_1.name), "File extension for signature expected to be dts", function () { return "Found: ".concat(ts.getAnyExtensionFromPath(firstDts_1.name), " for ").concat(firstDts_1.name, ":: All output files: ").concat(JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; }))); }); - latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text); - if (exportedModulesMapCache && latestSignature !== prevSignature) { - updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache); - } - } } // Default is to use file version as signature if (latestSignature === undefined) { latestSignature = sourceFile.version; - if (exportedModulesMapCache && latestSignature !== prevSignature) { + if (state.exportedModulesMap && latestSignature !== prevSignature) { + (state.oldExportedModulesMap || (state.oldExportedModulesMap = new ts.Map())).set(sourceFile.resolvedPath, state.exportedModulesMap.getValues(sourceFile.resolvedPath) || false); // All the references in this file are exported var references = state.referencedMap ? state.referencedMap.getValues(sourceFile.resolvedPath) : undefined; if (references) { - exportedModulesMapCache.set(sourceFile.resolvedPath, references); + state.exportedModulesMap.set(sourceFile.resolvedPath, references); } else { - exportedModulesMapCache.deleteKey(sourceFile.resolvedPath); + state.exportedModulesMap.deleteKey(sourceFile.resolvedPath); } } } - cacheToUpdateSignature.set(sourceFile.resolvedPath, latestSignature); + (state.oldSignatures || (state.oldSignatures = new ts.Map())).set(sourceFile.resolvedPath, prevSignature || false); + (state.hasCalledUpdateShapeSignature || (state.hasCalledUpdateShapeSignature = new ts.Set())).add(sourceFile.resolvedPath); + info.signature = latestSignature; return latestSignature !== prevSignature; } BuilderState.updateShapeSignature = updateShapeSignature; /** * Coverts the declaration emit result into exported modules map */ - function updateExportedModules(sourceFile, exportedModulesFromDeclarationEmit, exportedModulesMapCache) { + function updateExportedModules(state, sourceFile, exportedModulesFromDeclarationEmit) { + if (!state.exportedModulesMap) + return; + (state.oldExportedModulesMap || (state.oldExportedModulesMap = new ts.Map())).set(sourceFile.resolvedPath, state.exportedModulesMap.getValues(sourceFile.resolvedPath) || false); if (!exportedModulesFromDeclarationEmit) { - exportedModulesMapCache.deleteKey(sourceFile.resolvedPath); + state.exportedModulesMap.deleteKey(sourceFile.resolvedPath); return; } var exportedModules; exportedModulesFromDeclarationEmit.forEach(function (symbol) { return addExportedModule(getReferencedFilesFromImportedModuleSymbol(symbol)); }); if (exportedModules) { - exportedModulesMapCache.set(sourceFile.resolvedPath, exportedModules); + state.exportedModulesMap.set(sourceFile.resolvedPath, exportedModules); } else { - exportedModulesMapCache.deleteKey(sourceFile.resolvedPath); + state.exportedModulesMap.deleteKey(sourceFile.resolvedPath); } function addExportedModule(exportedModulePaths) { if (exportedModulePaths === null || exportedModulePaths === void 0 ? void 0 : exportedModulePaths.length) { @@ -119831,19 +121434,6 @@ var ts; } } BuilderState.updateExportedModules = updateExportedModules; - /** - * Updates the exported modules from cache into state's exported modules map - * This should be called whenever it is safe to commit the state of the builder - */ - function updateExportedFilesMapFromCache(state, exportedModulesMapCache) { - var _a; - if (exportedModulesMapCache) { - ts.Debug.assert(!!state.exportedModulesMap); - (_a = exportedModulesMapCache.deletedKeys()) === null || _a === void 0 ? void 0 : _a.forEach(function (path) { return state.exportedModulesMap.deleteKey(path); }); - exportedModulesMapCache.forEach(function (exportedModules, path) { return state.exportedModulesMap.set(path, exportedModules); }); - } - } - BuilderState.updateExportedFilesMapFromCache = updateExportedFilesMapFromCache; /** * Get all the dependencies of the sourceFile */ @@ -119964,7 +121554,7 @@ var ts; /** * When program emits modular code, gets the files affected by the sourceFile whose shape has changed */ - function getFilesAffectedByUpdatedShapeWhenModuleEmit(state, programOfThisState, sourceFileWithUpdatedShape, cacheToUpdateSignature, cancellationToken, computeHash, exportedModulesMapCache) { + function getFilesAffectedByUpdatedShapeWhenModuleEmit(state, programOfThisState, sourceFileWithUpdatedShape, cancellationToken, computeHash, getCanonicalFileName) { if (isFileAffectingGlobalScope(sourceFileWithUpdatedShape)) { return getAllFilesExcludingDefaultLibraryFile(state, programOfThisState, sourceFileWithUpdatedShape); } @@ -119984,7 +121574,7 @@ var ts; if (!seenFileNamesMap.has(currentPath)) { var currentSourceFile = programOfThisState.getSourceFileByPath(currentPath); seenFileNamesMap.set(currentPath, currentSourceFile); - if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cacheToUpdateSignature, cancellationToken, computeHash, exportedModulesMapCache)) { + if (currentSourceFile && updateShapeSignature(state, programOfThisState, currentSourceFile, cancellationToken, computeHash, getCanonicalFileName)) { queue.push.apply(queue, getReferencedByPaths(state, currentSourceFile.resolvedPath)); } } @@ -120010,32 +121600,33 @@ var ts; * Create the state so that we can iterate on changedFiles/affected files */ function createBuilderProgramState(newProgram, getCanonicalFileName, oldState, disableUseFileVersionAsSignature) { + var _a, _b; var state = ts.BuilderState.create(newProgram, getCanonicalFileName, oldState, disableUseFileVersionAsSignature); state.program = newProgram; var compilerOptions = newProgram.getCompilerOptions(); state.compilerOptions = compilerOptions; + var outFilePath = ts.outFile(compilerOptions); // With --out or --outFile, any change affects all semantic diagnostics so no need to cache them - if (!ts.outFile(compilerOptions)) { + if (!outFilePath) { state.semanticDiagnosticsPerFile = new ts.Map(); } + else if (compilerOptions.composite && (oldState === null || oldState === void 0 ? void 0 : oldState.outSignature) && outFilePath === ts.outFile(oldState === null || oldState === void 0 ? void 0 : oldState.compilerOptions)) { + state.outSignature = oldState === null || oldState === void 0 ? void 0 : oldState.outSignature; + } state.changedFilesSet = new ts.Set(); + state.latestChangedDtsFile = compilerOptions.composite ? oldState === null || oldState === void 0 ? void 0 : oldState.latestChangedDtsFile : undefined; var useOldState = ts.BuilderState.canReuseOldState(state.referencedMap, oldState); var oldCompilerOptions = useOldState ? oldState.compilerOptions : undefined; var canCopySemanticDiagnostics = useOldState && oldState.semanticDiagnosticsPerFile && !!state.semanticDiagnosticsPerFile && !ts.compilerOptionsAffectSemanticDiagnostics(compilerOptions, oldCompilerOptions); + var canCopyEmitSignatures = compilerOptions.composite && + (oldState === null || oldState === void 0 ? void 0 : oldState.emitSignatures) && + !outFilePath && + !ts.compilerOptionsAffectDeclarationPath(compilerOptions, oldCompilerOptions); if (useOldState) { - // Verify the sanity of old state - if (!oldState.currentChangedFilePath) { - var affectedSignatures = oldState.currentAffectedFilesSignatures; - ts.Debug.assert(!oldState.affectedFiles && (!affectedSignatures || !affectedSignatures.size), "Cannot reuse if only few affected files of currentChangedFile were iterated"); - } - var changedFilesSet = oldState.changedFilesSet; - if (canCopySemanticDiagnostics) { - ts.Debug.assert(!changedFilesSet || !ts.forEachKey(changedFilesSet, function (path) { return oldState.semanticDiagnosticsPerFile.has(path); }), "Semantic diagnostics shouldnt be available for changed files"); - } // Copy old state's changed files set - changedFilesSet === null || changedFilesSet === void 0 ? void 0 : changedFilesSet.forEach(function (value) { return state.changedFilesSet.add(value); }); - if (!ts.outFile(compilerOptions) && oldState.affectedFilesPendingEmit) { + (_a = oldState.changedFilesSet) === null || _a === void 0 ? void 0 : _a.forEach(function (value) { return state.changedFilesSet.add(value); }); + if (!outFilePath && oldState.affectedFilesPendingEmit) { state.affectedFilesPendingEmit = oldState.affectedFilesPendingEmit.slice(); state.affectedFilesPendingEmitKind = oldState.affectedFilesPendingEmitKind && new ts.Map(oldState.affectedFilesPendingEmitKind); state.affectedFilesPendingEmitIndex = oldState.affectedFilesPendingEmitIndex; @@ -120056,6 +121647,8 @@ var ts; !(oldInfo = oldState.fileInfos.get(sourceFilePath)) || // versions dont match oldInfo.version !== info.version || + // Implied formats dont match + oldInfo.impliedFormat !== info.impliedFormat || // Referenced files changed !hasSameKeys(newReferences = referencedMap && referencedMap.getValues(sourceFilePath), oldReferencedMap && oldReferencedMap.getValues(sourceFilePath)) || // Referenced file was deleted in the new program @@ -120079,27 +121672,25 @@ var ts; state.semanticDiagnosticsFromOldState.add(sourceFilePath); } } + if (canCopyEmitSignatures) { + var oldEmitSignature = oldState.emitSignatures.get(sourceFilePath); + if (oldEmitSignature) + (state.emitSignatures || (state.emitSignatures = new ts.Map())).set(sourceFilePath, oldEmitSignature); + } }); // If the global file is removed, add all files as changed if (useOldState && ts.forEachEntry(oldState.fileInfos, function (info, sourceFilePath) { return info.affectsGlobalScope && !state.fileInfos.has(sourceFilePath); })) { ts.BuilderState.getAllFilesExcludingDefaultLibraryFile(state, newProgram, /*firstSourceFile*/ undefined) .forEach(function (file) { return state.changedFilesSet.add(file.resolvedPath); }); } - else if (oldCompilerOptions && !ts.outFile(compilerOptions) && ts.compilerOptionsAffectEmit(compilerOptions, oldCompilerOptions)) { + else if (oldCompilerOptions && !outFilePath && ts.compilerOptionsAffectEmit(compilerOptions, oldCompilerOptions)) { // Add all files to affectedFilesPendingEmit since emit changed newProgram.getSourceFiles().forEach(function (f) { return addToAffectedFilesPendingEmit(state, f.resolvedPath, 1 /* BuilderFileEmit.Full */); }); ts.Debug.assert(!state.seenAffectedFiles || !state.seenAffectedFiles.size); state.seenAffectedFiles = state.seenAffectedFiles || new ts.Set(); } - if (useOldState) { - // Any time the interpretation of a source file changes, mark it as changed - ts.forEachEntry(oldState.fileInfos, function (info, sourceFilePath) { - if (state.fileInfos.has(sourceFilePath) && state.fileInfos.get(sourceFilePath).impliedFormat !== info.impliedFormat) { - state.changedFilesSet.add(sourceFilePath); - } - }); - } - state.buildInfoEmitPending = !!state.changedFilesSet.size; + // Since old states change files set is copied, any additional change means we would need to emit build info + state.buildInfoEmitPending = !useOldState || state.changedFilesSet.size !== (((_b = oldState.changedFilesSet) === null || _b === void 0 ? void 0 : _b.size) || 0); return state; } function convertToDiagnostics(diagnostics, newProgram, getCanonicalFileName) { @@ -120135,30 +121726,35 @@ var ts; ts.BuilderState.releaseCache(state); state.program = undefined; } - /** - * Creates a clone of the state - */ - function cloneBuilderProgramState(state) { - var _a; - var newState = ts.BuilderState.clone(state); - newState.semanticDiagnosticsPerFile = state.semanticDiagnosticsPerFile && new ts.Map(state.semanticDiagnosticsPerFile); - newState.changedFilesSet = new ts.Set(state.changedFilesSet); - newState.affectedFiles = state.affectedFiles; - newState.affectedFilesIndex = state.affectedFilesIndex; - newState.currentChangedFilePath = state.currentChangedFilePath; - newState.currentAffectedFilesSignatures = state.currentAffectedFilesSignatures && new ts.Map(state.currentAffectedFilesSignatures); - newState.currentAffectedFilesExportedModulesMap = (_a = state.currentAffectedFilesExportedModulesMap) === null || _a === void 0 ? void 0 : _a.clone(); - newState.seenAffectedFiles = state.seenAffectedFiles && new ts.Set(state.seenAffectedFiles); - newState.cleanedDiagnosticsOfLibFiles = state.cleanedDiagnosticsOfLibFiles; - newState.semanticDiagnosticsFromOldState = state.semanticDiagnosticsFromOldState && new ts.Set(state.semanticDiagnosticsFromOldState); - newState.program = state.program; - newState.compilerOptions = state.compilerOptions; - newState.affectedFilesPendingEmit = state.affectedFilesPendingEmit && state.affectedFilesPendingEmit.slice(); - newState.affectedFilesPendingEmitKind = state.affectedFilesPendingEmitKind && new ts.Map(state.affectedFilesPendingEmitKind); - newState.affectedFilesPendingEmitIndex = state.affectedFilesPendingEmitIndex; - newState.seenEmittedFiles = state.seenEmittedFiles && new ts.Map(state.seenEmittedFiles); - newState.programEmitComplete = state.programEmitComplete; - return newState; + function backupBuilderProgramEmitState(state) { + var outFilePath = ts.outFile(state.compilerOptions); + // Only in --out changeFileSet is kept around till emit + ts.Debug.assert(!state.changedFilesSet.size || outFilePath); + return { + affectedFilesPendingEmit: state.affectedFilesPendingEmit && state.affectedFilesPendingEmit.slice(), + affectedFilesPendingEmitKind: state.affectedFilesPendingEmitKind && new ts.Map(state.affectedFilesPendingEmitKind), + affectedFilesPendingEmitIndex: state.affectedFilesPendingEmitIndex, + seenEmittedFiles: state.seenEmittedFiles && new ts.Map(state.seenEmittedFiles), + programEmitComplete: state.programEmitComplete, + emitSignatures: state.emitSignatures && new ts.Map(state.emitSignatures), + outSignature: state.outSignature, + latestChangedDtsFile: state.latestChangedDtsFile, + hasChangedEmitSignature: state.hasChangedEmitSignature, + changedFilesSet: outFilePath ? new ts.Set(state.changedFilesSet) : undefined, + }; + } + function restoreBuilderProgramEmitState(state, savedEmitState) { + state.affectedFilesPendingEmit = savedEmitState.affectedFilesPendingEmit; + state.affectedFilesPendingEmitKind = savedEmitState.affectedFilesPendingEmitKind; + state.affectedFilesPendingEmitIndex = savedEmitState.affectedFilesPendingEmitIndex; + state.seenEmittedFiles = savedEmitState.seenEmittedFiles; + state.programEmitComplete = savedEmitState.programEmitComplete; + state.emitSignatures = savedEmitState.emitSignatures; + state.outSignature = savedEmitState.outSignature; + state.latestChangedDtsFile = savedEmitState.latestChangedDtsFile; + state.hasChangedEmitSignature = savedEmitState.hasChangedEmitSignature; + if (savedEmitState.changedFilesSet) + state.changedFilesSet = savedEmitState.changedFilesSet; } /** * Verifies that source file is ok to be used in calls that arent handled by next @@ -120172,8 +121768,8 @@ var ts; * This is to allow the callers to be able to actually remove affected file only when the operation is complete * eg. if during diagnostics check cancellation token ends up cancelling the request, the affected file should be retained */ - function getNextAffectedFile(state, cancellationToken, computeHash, host) { - var _a; + function getNextAffectedFile(state, cancellationToken, computeHash, getCanonicalFileName, host) { + var _a, _b; while (true) { var affectedFiles = state.affectedFiles; if (affectedFiles) { @@ -120184,7 +121780,7 @@ var ts; if (!seenAffectedFiles.has(affectedFile.resolvedPath)) { // Set the next affected file as seen and remove the cached semantic diagnostics state.affectedFilesIndex = affectedFilesIndex; - handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host); + handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash, getCanonicalFileName, host); return affectedFile; } affectedFilesIndex++; @@ -120193,10 +121789,8 @@ var ts; state.changedFilesSet.delete(state.currentChangedFilePath); state.currentChangedFilePath = undefined; // Commit the changes in file signature - ts.BuilderState.updateSignaturesFromCache(state, state.currentAffectedFilesSignatures); - state.currentAffectedFilesSignatures.clear(); - ts.BuilderState.updateExportedFilesMapFromCache(state, state.currentAffectedFilesExportedModulesMap); - (_a = state.currentAffectedFilesExportedModulesMap) === null || _a === void 0 ? void 0 : _a.clear(); + (_a = state.oldSignatures) === null || _a === void 0 ? void 0 : _a.clear(); + (_b = state.oldExportedModulesMap) === null || _b === void 0 ? void 0 : _b.clear(); state.affectedFiles = undefined; } // Get next changed file @@ -120214,12 +121808,7 @@ var ts; return program; } // Get next batch of affected files - if (!state.currentAffectedFilesSignatures) - state.currentAffectedFilesSignatures = new ts.Map(); - if (state.exportedModulesMap) { - state.currentAffectedFilesExportedModulesMap || (state.currentAffectedFilesExportedModulesMap = ts.BuilderState.createManyToManyPathMap()); - } - state.affectedFiles = ts.BuilderState.getFilesAffectedBy(state, program, nextKey.value, cancellationToken, computeHash, state.currentAffectedFilesSignatures, state.currentAffectedFilesExportedModulesMap); + state.affectedFiles = ts.BuilderState.getFilesAffectedByWithOldState(state, program, nextKey.value, cancellationToken, computeHash, getCanonicalFileName); state.currentChangedFilePath = nextKey.value; state.affectedFilesIndex = 0; if (!state.seenAffectedFiles) @@ -120270,8 +121859,7 @@ var ts; * Handles semantic diagnostics and dts emit for affectedFile and files, that are referencing modules that export entities from affected file * This is because even though js emit doesnt change, dts emit / type used can change resulting in need for dts emit and js change */ - function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host) { - var _a; + function handleDtsMayChangeOfAffectedFile(state, affectedFile, cancellationToken, computeHash, getCanonicalFileName, host) { removeSemanticDiagnosticsOf(state, affectedFile.resolvedPath); // If affected files is everything except default library, then nothing more to do if (state.allFilesExcludingDefaultLibraryFile === state.affectedFiles) { @@ -120279,19 +121867,18 @@ var ts; // When a change affects the global scope, all files are considered to be affected without updating their signature // That means when affected file is handled, its signature can be out of date // To avoid this, ensure that we update the signature for any affected file in this scenario. - ts.BuilderState.updateShapeSignature(state, ts.Debug.checkDefined(state.program), affectedFile, ts.Debug.checkDefined(state.currentAffectedFilesSignatures), cancellationToken, computeHash, state.currentAffectedFilesExportedModulesMap); + ts.BuilderState.updateShapeSignature(state, ts.Debug.checkDefined(state.program), affectedFile, cancellationToken, computeHash, getCanonicalFileName); return; } - ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: ".concat(affectedFile.fileName)); if (state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) return; - handleDtsMayChangeOfReferencingExportOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host); + handleDtsMayChangeOfReferencingExportOfAffectedFile(state, affectedFile, cancellationToken, computeHash, getCanonicalFileName, host); } /** * Handle the dts may change, so they need to be added to pending emit if dts emit is enabled, * Also we need to make sure signature is updated for these files */ - function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, host) { + function handleDtsMayChangeOf(state, path, cancellationToken, computeHash, getCanonicalFileName, host) { removeSemanticDiagnosticsOf(state, path); if (!state.changedFilesSet.has(path)) { var program = ts.Debug.checkDefined(state.program); @@ -120302,7 +121889,7 @@ var ts; // This ensures that we dont later during incremental builds considering wrong signature. // Eg where this also is needed to ensure that .tsbuildinfo generated by incremental build should be same as if it was first fresh build // But we avoid expensive full shape computation, as using file version as shape is enough for correctness. - ts.BuilderState.updateShapeSignature(state, program, sourceFile, ts.Debug.checkDefined(state.currentAffectedFilesSignatures), cancellationToken, computeHash, state.currentAffectedFilesExportedModulesMap, !host.disableUseFileVersionAsSignature); + ts.BuilderState.updateShapeSignature(state, program, sourceFile, cancellationToken, computeHash, getCanonicalFileName, !host.disableUseFileVersionAsSignature); // If not dts emit, nothing more to do if (ts.getEmitDeclarations(state.compilerOptions)) { addToAffectedFilesPendingEmit(state, path, 0 /* BuilderFileEmit.DtsOnly */); @@ -120323,41 +121910,25 @@ var ts; return !state.semanticDiagnosticsFromOldState.size; } function isChangedSignature(state, path) { - var newSignature = ts.Debug.checkDefined(state.currentAffectedFilesSignatures).get(path); - var oldSignature = ts.Debug.checkDefined(state.fileInfos.get(path)).signature; + var oldSignature = ts.Debug.checkDefined(state.oldSignatures).get(path) || undefined; + var newSignature = ts.Debug.checkDefined(state.fileInfos.get(path)).signature; return newSignature !== oldSignature; } - function forEachKeyOfExportedModulesMap(state, filePath, fn) { - // Go through exported modules from cache first - var keys = state.currentAffectedFilesExportedModulesMap.getKeys(filePath); - var result = keys && ts.forEachKey(keys, fn); - if (result) - return result; - // If exported from path is not from cache and exported modules has path, all files referencing file exported from are affected - keys = state.exportedModulesMap.getKeys(filePath); - return keys && ts.forEachKey(keys, function (exportedFromPath) { - var _a; - // If the cache had an updated value, skip - return !state.currentAffectedFilesExportedModulesMap.hasKey(exportedFromPath) && - !((_a = state.currentAffectedFilesExportedModulesMap.deletedKeys()) === null || _a === void 0 ? void 0 : _a.has(exportedFromPath)) ? - fn(exportedFromPath) : - undefined; - }); - } - function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, host) { + function handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host) { var _a; if (!((_a = state.fileInfos.get(filePath)) === null || _a === void 0 ? void 0 : _a.affectsGlobalScope)) return false; // Every file needs to be handled ts.BuilderState.getAllFilesExcludingDefaultLibraryFile(state, state.program, /*firstSourceFile*/ undefined) - .forEach(function (file) { return handleDtsMayChangeOf(state, file.resolvedPath, cancellationToken, computeHash, host); }); + .forEach(function (file) { return handleDtsMayChangeOf(state, file.resolvedPath, cancellationToken, computeHash, getCanonicalFileName, host); }); removeDiagnosticsOfLibraryFiles(state); return true; } /** * Iterate on referencing modules that export entities from affected file and delete diagnostics and add pending emit */ - function handleDtsMayChangeOfReferencingExportOfAffectedFile(state, affectedFile, cancellationToken, computeHash, host) { + function handleDtsMayChangeOfReferencingExportOfAffectedFile(state, affectedFile, cancellationToken, computeHash, getCanonicalFileName, host) { + var _a; // If there was change in signature (dts output) for the changed file, // then only we need to handle pending file emit if (!state.exportedModulesMap || !state.changedFilesSet.has(affectedFile.resolvedPath)) @@ -120374,9 +121945,9 @@ var ts; var currentPath = queue.pop(); if (!seenFileNamesMap.has(currentPath)) { seenFileNamesMap.set(currentPath, true); - if (handleDtsMayChangeOfGlobalScope(state, currentPath, cancellationToken, computeHash, host)) + if (handleDtsMayChangeOfGlobalScope(state, currentPath, cancellationToken, computeHash, getCanonicalFileName, host)) return; - handleDtsMayChangeOf(state, currentPath, cancellationToken, computeHash, host); + handleDtsMayChangeOf(state, currentPath, cancellationToken, computeHash, getCanonicalFileName, host); if (isChangedSignature(state, currentPath)) { var currentSourceFile = ts.Debug.checkDefined(state.program).getSourceFileByPath(currentPath); queue.push.apply(queue, ts.BuilderState.getReferencedByPaths(state, currentSourceFile.resolvedPath)); @@ -120384,16 +121955,15 @@ var ts; } } } - ts.Debug.assert(!!state.currentAffectedFilesExportedModulesMap); var seenFileAndExportsOfFile = new ts.Set(); // Go through exported modules from cache first // If exported modules has path, all files referencing file exported from are affected - forEachKeyOfExportedModulesMap(state, affectedFile.resolvedPath, function (exportedFromPath) { - if (handleDtsMayChangeOfGlobalScope(state, exportedFromPath, cancellationToken, computeHash, host)) + (_a = state.exportedModulesMap.getKeys(affectedFile.resolvedPath)) === null || _a === void 0 ? void 0 : _a.forEach(function (exportedFromPath) { + if (handleDtsMayChangeOfGlobalScope(state, exportedFromPath, cancellationToken, computeHash, getCanonicalFileName, host)) return true; var references = state.referencedMap.getKeys(exportedFromPath); return references && ts.forEachKey(references, function (filePath) { - return handleDtsMayChangeOfFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, cancellationToken, computeHash, host); + return handleDtsMayChangeOfFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, cancellationToken, computeHash, getCanonicalFileName, host); }); }); } @@ -120401,23 +121971,22 @@ var ts; * handle dts and semantic diagnostics on file and iterate on anything that exports this file * return true when all work is done and we can exit handling dts emit and semantic diagnostics */ - function handleDtsMayChangeOfFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, cancellationToken, computeHash, host) { - var _a; + function handleDtsMayChangeOfFileAndExportsOfFile(state, filePath, seenFileAndExportsOfFile, cancellationToken, computeHash, getCanonicalFileName, host) { + var _a, _b; if (!ts.tryAddToSet(seenFileAndExportsOfFile, filePath)) return undefined; - if (handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, host)) + if (handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host)) return true; - handleDtsMayChangeOf(state, filePath, cancellationToken, computeHash, host); - ts.Debug.assert(!!state.currentAffectedFilesExportedModulesMap); + handleDtsMayChangeOf(state, filePath, cancellationToken, computeHash, getCanonicalFileName, host); // If exported modules has path, all files referencing file exported from are affected - forEachKeyOfExportedModulesMap(state, filePath, function (exportedFromPath) { - return handleDtsMayChangeOfFileAndExportsOfFile(state, exportedFromPath, seenFileAndExportsOfFile, cancellationToken, computeHash, host); + (_a = state.exportedModulesMap.getKeys(filePath)) === null || _a === void 0 ? void 0 : _a.forEach(function (exportedFromPath) { + return handleDtsMayChangeOfFileAndExportsOfFile(state, exportedFromPath, seenFileAndExportsOfFile, cancellationToken, computeHash, getCanonicalFileName, host); }); // Remove diagnostics of files that import this file (without going to exports of referencing files) - (_a = state.referencedMap.getKeys(filePath)) === null || _a === void 0 ? void 0 : _a.forEach(function (referencingFilePath) { + (_b = state.referencedMap.getKeys(filePath)) === null || _b === void 0 ? void 0 : _b.forEach(function (referencingFilePath) { return !seenFileAndExportsOfFile.has(referencingFilePath) && // Not already removed diagnostic file handleDtsMayChangeOf(// Dont add to seen since this is not yet done with the export removal - state, referencingFilePath, cancellationToken, computeHash, host); + state, referencingFilePath, cancellationToken, computeHash, getCanonicalFileName, host); }); return undefined; } @@ -120435,12 +122004,13 @@ var ts; } else { state.seenAffectedFiles.add(affected.resolvedPath); + // Change in changeSet/affectedFilesPendingEmit, buildInfo needs to be emitted + state.buildInfoEmitPending = true; if (emitKind !== undefined) { (state.seenEmittedFiles || (state.seenEmittedFiles = new ts.Map())).set(affected.resolvedPath, emitKind); } if (isPendingEmit) { state.affectedFilesPendingEmitIndex++; - state.buildInfoEmitPending = true; } else { state.affectedFilesIndex++; @@ -120488,25 +122058,62 @@ var ts; } return ts.filterSemanticDiagnostics(diagnostics, state.compilerOptions); } + function isProgramBundleEmitBuildInfo(info) { + return !!ts.outFile(info.options || {}); + } + ts.isProgramBundleEmitBuildInfo = isProgramBundleEmitBuildInfo; /** * Gets the program information to be emitted in buildInfo so that we can use it to create new program */ function getProgramBuildInfo(state, getCanonicalFileName) { - if (ts.outFile(state.compilerOptions)) - return undefined; + var outFilePath = ts.outFile(state.compilerOptions); + if (outFilePath && !state.compilerOptions.composite) + return; var currentDirectory = ts.Debug.checkDefined(state.program).getCurrentDirectory(); var buildInfoDirectory = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(ts.getTsBuildInfoEmitOutputFilePath(state.compilerOptions), currentDirectory)); + // Convert the file name to Path here if we set the fileName instead to optimize multiple d.ts file emits and having to compute Canonical path + var latestChangedDtsFile = state.latestChangedDtsFile ? relativeToBuildInfoEnsuringAbsolutePath(state.latestChangedDtsFile) : undefined; + if (outFilePath) { + var fileNames_1 = []; + var fileInfos_1 = []; + state.program.getRootFileNames().forEach(function (f) { + var sourceFile = state.program.getSourceFile(f); + if (!sourceFile) + return; + fileNames_1.push(relativeToBuildInfo(sourceFile.resolvedPath)); + fileInfos_1.push(sourceFile.version); + }); + var result_15 = { + fileNames: fileNames_1, + fileInfos: fileInfos_1, + options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, "affectsBundleEmitBuildInfo"), + outSignature: state.outSignature, + latestChangedDtsFile: latestChangedDtsFile, + }; + return result_15; + } var fileNames = []; var fileNameToFileId = new ts.Map(); var fileIdsList; var fileNamesToFileIdListId; + var emitSignatures; var fileInfos = ts.arrayFrom(state.fileInfos.entries(), function (_a) { + var _b, _c; var key = _a[0], value = _a[1]; // Ensure fileId var fileId = toFileId(key); ts.Debug.assert(fileNames[fileId - 1] === relativeToBuildInfo(key)); - var signature = state.currentAffectedFilesSignatures && state.currentAffectedFilesSignatures.get(key); - var actualSignature = signature !== null && signature !== void 0 ? signature : value.signature; + var oldSignature = (_b = state.oldSignatures) === null || _b === void 0 ? void 0 : _b.get(key); + var actualSignature = oldSignature !== undefined ? oldSignature || undefined : value.signature; + if (state.compilerOptions.composite) { + var file = state.program.getSourceFileByPath(key); + if (!ts.isJsonSourceFile(file) && ts.sourceFileMayBeEmitted(file, state.program)) { + var emitSignature = (_c = state.emitSignatures) === null || _c === void 0 ? void 0 : _c.get(key); + if (emitSignature !== actualSignature) { + (emitSignatures || (emitSignatures = [])).push(emitSignature === undefined ? fileId : [fileId, emitSignature]); + } + } + } return value.version === actualSignature ? value.affectsGlobalScope || value.impliedFormat ? // If file version is same as signature, dont serialize signature @@ -120514,11 +122121,11 @@ var ts; // If file info only contains version and signature and both are same we can just write string value.version : actualSignature !== undefined ? // If signature is not same as version, encode signature in the fileInfo - signature === undefined ? + oldSignature === undefined ? // If we havent computed signature, use fileInfo as is value : // Serialize fileInfo with new updated signature - { version: value.version, signature: signature, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat } : + { version: value.version, signature: actualSignature, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat } : // Signature of the FileInfo is undefined, serialize it as false { version: value.version, signature: false, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat }; }); @@ -120533,17 +122140,13 @@ var ts; if (state.exportedModulesMap) { exportedModulesMap = ts.mapDefined(ts.arrayFrom(state.exportedModulesMap.keys()).sort(ts.compareStringsCaseSensitive), function (key) { var _a; - if (state.currentAffectedFilesExportedModulesMap) { - if ((_a = state.currentAffectedFilesExportedModulesMap.deletedKeys()) === null || _a === void 0 ? void 0 : _a.has(key)) { - return undefined; - } - var newValue = state.currentAffectedFilesExportedModulesMap.getValues(key); - if (newValue) { - return [toFileId(key), toFileIdListId(newValue)]; - } - } + var oldValue = (_a = state.oldExportedModulesMap) === null || _a === void 0 ? void 0 : _a.get(key); // Not in temporary cache, use existing value - return [toFileId(key), toFileIdListId(state.exportedModulesMap.getValues(key))]; + if (oldValue === undefined) + return [toFileId(key), toFileIdListId(state.exportedModulesMap.getValues(key))]; + if (oldValue) + return [toFileId(key), toFileIdListId(oldValue)]; + return undefined; }); } var semanticDiagnosticsPerFile; @@ -120554,9 +122157,7 @@ var ts; (semanticDiagnosticsPerFile || (semanticDiagnosticsPerFile = [])).push(value.length ? [ toFileId(key), - state.hasReusableDiagnostic ? - value : - convertToReusableDiagnostics(value, relativeToBuildInfo) + convertToReusableDiagnostics(value, relativeToBuildInfo) ] : toFileId(key)); } @@ -120571,16 +122172,27 @@ var ts; } } } - return { + var changeFileSet; + if (state.changedFilesSet.size) { + for (var _d = 0, _e = ts.arrayFrom(state.changedFilesSet.keys()).sort(ts.compareStringsCaseSensitive); _d < _e.length; _d++) { + var path = _e[_d]; + (changeFileSet || (changeFileSet = [])).push(toFileId(path)); + } + } + var result = { fileNames: fileNames, fileInfos: fileInfos, - options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, relativeToBuildInfoEnsuringAbsolutePath), + options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions, "affectsMultiFileEmitBuildInfo"), fileIdsList: fileIdsList, referencedMap: referencedMap, exportedModulesMap: exportedModulesMap, semanticDiagnosticsPerFile: semanticDiagnosticsPerFile, affectedFilesPendingEmit: affectedFilesPendingEmit, + changeFileSet: changeFileSet, + emitSignatures: emitSignatures, + latestChangedDtsFile: latestChangedDtsFile, }; + return result; function relativeToBuildInfoEnsuringAbsolutePath(path) { return relativeToBuildInfo(ts.getNormalizedAbsolutePath(path, currentDirectory)); } @@ -120605,24 +122217,21 @@ var ts; } return fileIdListId; } - } - function convertToProgramBuildInfoCompilerOptions(options, relativeToBuildInfo) { - var result; - var optionsNameMap = ts.getOptionsNameMap().optionsNameMap; - for (var _i = 0, _a = ts.getOwnKeys(options).sort(ts.compareStringsCaseSensitive); _i < _a.length; _i++) { - var name = _a[_i]; - var optionKey = name.toLowerCase(); - var optionInfo = optionsNameMap.get(optionKey); - if ((optionInfo === null || optionInfo === void 0 ? void 0 : optionInfo.affectsEmit) || (optionInfo === null || optionInfo === void 0 ? void 0 : optionInfo.affectsSemanticDiagnostics) || - // We need to store `strict`, even though it won't be examined directly, so that the - // flags it controls (e.g. `strictNullChecks`) will be retrieved correctly from the buildinfo - optionKey === "strict" || - // We need to store these to determine whether `lib` files need to be rechecked. - optionKey === "skiplibcheck" || optionKey === "skipdefaultlibcheck") { - (result || (result = {}))[name] = convertToReusableCompilerOptionValue(optionInfo, options[name], relativeToBuildInfo); + /** + * @param optionKey key of CommandLineOption to use to determine if the option should be serialized in tsbuildinfo + */ + function convertToProgramBuildInfoCompilerOptions(options, optionKey) { + var result; + var optionsNameMap = ts.getOptionsNameMap().optionsNameMap; + for (var _i = 0, _a = ts.getOwnKeys(options).sort(ts.compareStringsCaseSensitive); _i < _a.length; _i++) { + var name = _a[_i]; + var optionInfo = optionsNameMap.get(name.toLowerCase()); + if (optionInfo === null || optionInfo === void 0 ? void 0 : optionInfo[optionKey]) { + (result || (result = {}))[name] = convertToReusableCompilerOptionValue(optionInfo, options[name], relativeToBuildInfoEnsuringAbsolutePath); + } } + return result; } - return result; } function convertToReusableCompilerOptionValue(option, value, relativeToBuildInfo) { if (option) { @@ -120696,6 +122305,41 @@ var ts; return { host: host, newProgram: newProgram, oldProgram: oldProgram, configFileParsingDiagnostics: configFileParsingDiagnostics || ts.emptyArray }; } ts.getBuilderCreationParameters = getBuilderCreationParameters; + function getTextHandlingSourceMapForSignature(text, data) { + return (data === null || data === void 0 ? void 0 : data.sourceMapUrlPos) !== undefined ? text.substring(0, data.sourceMapUrlPos) : text; + } + function computeSignatureWithDiagnostics(sourceFile, text, computeHash, getCanonicalFileName, data) { + var _a; + text = getTextHandlingSourceMapForSignature(text, data); + var sourceFileDirectory; + if ((_a = data === null || data === void 0 ? void 0 : data.diagnostics) === null || _a === void 0 ? void 0 : _a.length) { + text += data.diagnostics.map(function (diagnostic) { + return "".concat(locationInfo(diagnostic)).concat(ts.DiagnosticCategory[diagnostic.category]).concat(diagnostic.code, ": ").concat(flattenDiagnosticMessageText(diagnostic.messageText)); + }).join("\n"); + } + return (computeHash !== null && computeHash !== void 0 ? computeHash : ts.generateDjb2Hash)(text); + function flattenDiagnosticMessageText(diagnostic) { + return ts.isString(diagnostic) ? + diagnostic : + diagnostic === undefined ? + "" : + !diagnostic.next ? + diagnostic.messageText : + diagnostic.messageText + diagnostic.next.map(flattenDiagnosticMessageText).join("\n"); + } + function locationInfo(diagnostic) { + if (diagnostic.file.resolvedPath === sourceFile.resolvedPath) + return "(".concat(diagnostic.start, ",").concat(diagnostic.length, ")"); + if (sourceFileDirectory === undefined) + sourceFileDirectory = ts.getDirectoryPath(sourceFile.resolvedPath); + return "".concat(ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourceFileDirectory, diagnostic.file.resolvedPath, getCanonicalFileName)), "(").concat(diagnostic.start, ",").concat(diagnostic.length, ")"); + } + } + ts.computeSignatureWithDiagnostics = computeSignatureWithDiagnostics; + function computeSignature(text, computeHash, data) { + return (computeHash !== null && computeHash !== void 0 ? computeHash : ts.generateDjb2Hash)(getTextHandlingSourceMapForSignature(text, data)); + } + ts.computeSignature = computeSignature; function createBuilderProgram(kind, _a) { var newProgram = _a.newProgram, host = _a.host, oldProgram = _a.oldProgram, configFileParsingDiagnostics = _a.configFileParsingDiagnostics; // Return same program if underlying program doesnt change @@ -120714,7 +122358,6 @@ var ts; */ var computeHash = ts.maybeBind(host, host.createHash); var state = createBuilderProgramState(newProgram, getCanonicalFileName, oldState, host.disableUseFileVersionAsSignature); - var backupState; newProgram.getProgramBuildInfo = function () { return getProgramBuildInfo(state, getCanonicalFileName); }; // To ensure that we arent storing any references to old program or new program without state newProgram = undefined; // TODO: GH#18217 @@ -120723,21 +122366,13 @@ var ts; var getState = function () { return state; }; var builderProgram = createRedirectedBuilderProgram(getState, configFileParsingDiagnostics); builderProgram.getState = getState; - builderProgram.backupState = function () { - ts.Debug.assert(backupState === undefined); - backupState = cloneBuilderProgramState(state); - }; - builderProgram.restoreState = function () { - state = ts.Debug.checkDefined(backupState); - backupState = undefined; - }; + builderProgram.saveEmitState = function () { return backupBuilderProgramEmitState(state); }; + builderProgram.restoreEmitState = function (saved) { return restoreBuilderProgramEmitState(state, saved); }; + builderProgram.hasChangedEmitSignature = function () { return !!state.hasChangedEmitSignature; }; builderProgram.getAllDependencies = function (sourceFile) { return ts.BuilderState.getAllDependencies(state, ts.Debug.checkDefined(state.program), sourceFile); }; builderProgram.getSemanticDiagnostics = getSemanticDiagnostics; builderProgram.emit = emit; - builderProgram.releaseProgram = function () { - releaseCache(state); - backupState = undefined; - }; + builderProgram.releaseProgram = function () { return releaseCache(state); }; if (kind === BuilderProgramKind.SemanticDiagnosticsBuilderProgram) { builderProgram.getSemanticDiagnosticsOfNextAffectedFile = getSemanticDiagnosticsOfNextAffectedFile; } @@ -120764,7 +122399,7 @@ var ts; * in that order would be used to write the files */ function emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) { - var affected = getNextAffectedFile(state, cancellationToken, computeHash, host); + var affected = getNextAffectedFile(state, cancellationToken, computeHash, getCanonicalFileName, host); var emitKind = 1 /* BuilderFileEmit.Full */; var isPendingEmitFile = false; if (!affected) { @@ -120795,34 +122430,68 @@ var ts; return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file - ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, affected !== state.program && ts.getEmitDeclarations(state.compilerOptions) && !customTransformers ? - getWriteFileUpdatingSignatureCallback(writeFile) : + ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, ts.getEmitDeclarations(state.compilerOptions) ? + getWriteFileCallback(writeFile, customTransformers) : writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles || emitKind === 0 /* BuilderFileEmit.DtsOnly */, customTransformers), affected, emitKind, isPendingEmitFile); } - function getWriteFileUpdatingSignatureCallback(writeFile) { + function getWriteFileCallback(writeFile, customTransformers) { return function (fileName, text, writeByteOrderMark, onError, sourceFiles, data) { - var _a; + var _a, _b, _c, _d, _e, _f, _g; if (ts.isDeclarationFileName(fileName)) { - ts.Debug.assert((sourceFiles === null || sourceFiles === void 0 ? void 0 : sourceFiles.length) === 1); - var file = sourceFiles[0]; - var info = state.fileInfos.get(file.resolvedPath); - var signature = ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.get(file.resolvedPath)) || info.signature; - if (signature === file.version) { - var newSignature = (computeHash || ts.generateDjb2Hash)((data === null || data === void 0 ? void 0 : data.sourceMapUrlPos) !== undefined ? text.substring(0, data.sourceMapUrlPos) : text); - if (newSignature !== file.version) { // Update it - if (host.storeFilesChangingSignatureDuringEmit) - (state.filesChangingSignature || (state.filesChangingSignature = new ts.Set())).add(file.resolvedPath); - if (state.exportedModulesMap) - ts.BuilderState.updateExportedModules(file, file.exportedModulesFromDeclarationEmit, state.currentAffectedFilesExportedModulesMap || (state.currentAffectedFilesExportedModulesMap = ts.BuilderState.createManyToManyPathMap())); - if (state.affectedFiles && state.affectedFilesIndex < state.affectedFiles.length) { - state.currentAffectedFilesSignatures.set(file.resolvedPath, newSignature); - } - else { - info.signature = newSignature; - if (state.exportedModulesMap) - ts.BuilderState.updateExportedFilesMapFromCache(state, state.currentAffectedFilesExportedModulesMap); + if (!ts.outFile(state.compilerOptions)) { + ts.Debug.assert((sourceFiles === null || sourceFiles === void 0 ? void 0 : sourceFiles.length) === 1); + var emitSignature = void 0; + if (!customTransformers) { + var file = sourceFiles[0]; + var info = state.fileInfos.get(file.resolvedPath); + if (info.signature === file.version) { + var signature = computeSignatureWithDiagnostics(file, text, computeHash, getCanonicalFileName, data); + // With d.ts diagnostics they are also part of the signature so emitSignature will be different from it since its just hash of d.ts + if (!((_a = data === null || data === void 0 ? void 0 : data.diagnostics) === null || _a === void 0 ? void 0 : _a.length)) + emitSignature = signature; + if (signature !== file.version) { // Update it + if (host.storeFilesChangingSignatureDuringEmit) + ((_b = state.filesChangingSignature) !== null && _b !== void 0 ? _b : (state.filesChangingSignature = new ts.Set())).add(file.resolvedPath); + if (state.exportedModulesMap) + ts.BuilderState.updateExportedModules(state, file, file.exportedModulesFromDeclarationEmit); + if (state.affectedFiles) { + // Keep old signature so we know what to undo if cancellation happens + var existing = (_c = state.oldSignatures) === null || _c === void 0 ? void 0 : _c.get(file.resolvedPath); + if (existing === undefined) + ((_d = state.oldSignatures) !== null && _d !== void 0 ? _d : (state.oldSignatures = new ts.Map())).set(file.resolvedPath, info.signature || false); + info.signature = signature; + } + else { + // These are directly commited + info.signature = signature; + (_e = state.oldExportedModulesMap) === null || _e === void 0 ? void 0 : _e.clear(); + } + } } } + // Store d.ts emit hash so later can be compared to check if d.ts has changed. + // Currently we do this only for composite projects since these are the only projects that can be referenced by other projects + // and would need their d.ts change time in --build mode + if (state.compilerOptions.composite) { + var filePath = sourceFiles[0].resolvedPath; + var oldSignature = (_f = state.emitSignatures) === null || _f === void 0 ? void 0 : _f.get(filePath); + emitSignature !== null && emitSignature !== void 0 ? emitSignature : (emitSignature = computeSignature(text, computeHash, data)); + // Dont write dts files if they didn't change + if (emitSignature === oldSignature) + return; + ((_g = state.emitSignatures) !== null && _g !== void 0 ? _g : (state.emitSignatures = new ts.Map())).set(filePath, emitSignature); + state.hasChangedEmitSignature = true; + state.latestChangedDtsFile = fileName; + } + } + else if (state.compilerOptions.composite) { + var newSignature = computeSignature(text, computeHash, data); + // Dont write dts files if they didn't change + if (newSignature === state.outSignature) + return; + state.outSignature = newSignature; + state.hasChangedEmitSignature = true; + state.latestChangedDtsFile = fileName; } } if (writeFile) @@ -120888,8 +122557,8 @@ var ts; } } } - return ts.Debug.checkDefined(state.program).emit(targetSourceFile, !ts.outFile(state.compilerOptions) && ts.getEmitDeclarations(state.compilerOptions) && !customTransformers ? - getWriteFileUpdatingSignatureCallback(writeFile) : + return ts.Debug.checkDefined(state.program).emit(targetSourceFile, ts.getEmitDeclarations(state.compilerOptions) ? + getWriteFileCallback(writeFile, customTransformers) : writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles, customTransformers); } /** @@ -120898,7 +122567,7 @@ var ts; */ function getSemanticDiagnosticsOfNextAffectedFile(cancellationToken, ignoreSourceFile) { while (true) { - var affected = getNextAffectedFile(state, cancellationToken, computeHash, host); + var affected = getNextAffectedFile(state, cancellationToken, computeHash, getCanonicalFileName, host); if (!affected) { // Done return undefined; @@ -120978,29 +122647,59 @@ var ts; { version: fileInfo.version, signature: fileInfo.signature === false ? undefined : fileInfo.version, affectsGlobalScope: fileInfo.affectsGlobalScope, impliedFormat: fileInfo.impliedFormat }; } ts.toBuilderStateFileInfo = toBuilderStateFileInfo; - function createBuildProgramUsingProgramBuildInfo(program, buildInfoPath, host) { - var _a; + function createBuilderProgramUsingProgramBuildInfo(program, buildInfoPath, host) { + var _a, _b, _c, _d; var buildInfoDirectory = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(buildInfoPath, host.getCurrentDirectory())); var getCanonicalFileName = ts.createGetCanonicalFileName(host.useCaseSensitiveFileNames()); - var filePaths = program.fileNames.map(toPath); - var filePathsSetList = (_a = program.fileIdsList) === null || _a === void 0 ? void 0 : _a.map(function (fileIds) { return new ts.Set(fileIds.map(toFilePath)); }); - var fileInfos = new ts.Map(); - program.fileInfos.forEach(function (fileInfo, index) { return fileInfos.set(toFilePath(index + 1), toBuilderStateFileInfo(fileInfo)); }); - var state = { - fileInfos: fileInfos, - compilerOptions: program.options ? ts.convertToOptionsWithAbsolutePaths(program.options, toAbsolutePath) : {}, - referencedMap: toManyToManyPathMap(program.referencedMap), - exportedModulesMap: toManyToManyPathMap(program.exportedModulesMap), - semanticDiagnosticsPerFile: program.semanticDiagnosticsPerFile && ts.arrayToMap(program.semanticDiagnosticsPerFile, function (value) { return toFilePath(ts.isNumber(value) ? value : value[0]); }, function (value) { return ts.isNumber(value) ? ts.emptyArray : value[1]; }), - hasReusableDiagnostic: true, - affectedFilesPendingEmit: ts.map(program.affectedFilesPendingEmit, function (value) { return toFilePath(value[0]); }), - affectedFilesPendingEmitKind: program.affectedFilesPendingEmit && ts.arrayToMap(program.affectedFilesPendingEmit, function (value) { return toFilePath(value[0]); }, function (value) { return value[1]; }), - affectedFilesPendingEmitIndex: program.affectedFilesPendingEmit && 0, - }; + var state; + var filePaths; + var filePathsSetList; + var latestChangedDtsFile = program.latestChangedDtsFile ? toAbsolutePath(program.latestChangedDtsFile) : undefined; + if (isProgramBundleEmitBuildInfo(program)) { + state = { + fileInfos: new ts.Map(), + compilerOptions: program.options ? ts.convertToOptionsWithAbsolutePaths(program.options, toAbsolutePath) : {}, + latestChangedDtsFile: latestChangedDtsFile, + outSignature: program.outSignature, + }; + } + else { + filePaths = (_a = program.fileNames) === null || _a === void 0 ? void 0 : _a.map(toPath); + filePathsSetList = (_b = program.fileIdsList) === null || _b === void 0 ? void 0 : _b.map(function (fileIds) { return new ts.Set(fileIds.map(toFilePath)); }); + var fileInfos_2 = new ts.Map(); + var emitSignatures_1 = ((_c = program.options) === null || _c === void 0 ? void 0 : _c.composite) && !ts.outFile(program.options) ? new ts.Map() : undefined; + program.fileInfos.forEach(function (fileInfo, index) { + var path = toFilePath(index + 1); + var stateFileInfo = toBuilderStateFileInfo(fileInfo); + fileInfos_2.set(path, stateFileInfo); + if (emitSignatures_1 && stateFileInfo.signature) + emitSignatures_1.set(path, stateFileInfo.signature); + }); + (_d = program.emitSignatures) === null || _d === void 0 ? void 0 : _d.forEach(function (value) { + if (ts.isNumber(value)) + emitSignatures_1.delete(toFilePath(value)); + else + emitSignatures_1.set(toFilePath(value[0]), value[1]); + }); + state = { + fileInfos: fileInfos_2, + compilerOptions: program.options ? ts.convertToOptionsWithAbsolutePaths(program.options, toAbsolutePath) : {}, + referencedMap: toManyToManyPathMap(program.referencedMap), + exportedModulesMap: toManyToManyPathMap(program.exportedModulesMap), + semanticDiagnosticsPerFile: program.semanticDiagnosticsPerFile && ts.arrayToMap(program.semanticDiagnosticsPerFile, function (value) { return toFilePath(ts.isNumber(value) ? value : value[0]); }, function (value) { return ts.isNumber(value) ? ts.emptyArray : value[1]; }), + hasReusableDiagnostic: true, + affectedFilesPendingEmit: ts.map(program.affectedFilesPendingEmit, function (value) { return toFilePath(value[0]); }), + affectedFilesPendingEmitKind: program.affectedFilesPendingEmit && ts.arrayToMap(program.affectedFilesPendingEmit, function (value) { return toFilePath(value[0]); }, function (value) { return value[1]; }), + affectedFilesPendingEmitIndex: program.affectedFilesPendingEmit && 0, + changedFilesSet: new ts.Set(ts.map(program.changeFileSet, toFilePath)), + latestChangedDtsFile: latestChangedDtsFile, + emitSignatures: (emitSignatures_1 === null || emitSignatures_1 === void 0 ? void 0 : emitSignatures_1.size) ? emitSignatures_1 : undefined, + }; + } return { getState: function () { return state; }, - backupState: ts.noop, - restoreState: ts.noop, + saveEmitState: ts.noop, + restoreEmitState: ts.noop, getProgram: ts.notImplemented, getProgramOrUndefined: ts.returnUndefined, releaseProgram: ts.noop, @@ -121020,6 +122719,7 @@ var ts; getSemanticDiagnosticsOfNextAffectedFile: ts.notImplemented, emitBuildInfo: ts.notImplemented, close: ts.noop, + hasChangedEmitSignature: ts.returnFalse, }; function toPath(path) { return ts.toPath(path, buildInfoDirectory, getCanonicalFileName); @@ -121045,12 +122745,24 @@ var ts; return map; } } - ts.createBuildProgramUsingProgramBuildInfo = createBuildProgramUsingProgramBuildInfo; + ts.createBuilderProgramUsingProgramBuildInfo = createBuilderProgramUsingProgramBuildInfo; + function getBuildInfoFileVersionMap(program, buildInfoPath, host) { + var buildInfoDirectory = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(buildInfoPath, host.getCurrentDirectory())); + var getCanonicalFileName = ts.createGetCanonicalFileName(host.useCaseSensitiveFileNames()); + var fileInfos = new ts.Map(); + program.fileInfos.forEach(function (fileInfo, index) { + var path = ts.toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); + var version = ts.isString(fileInfo) ? fileInfo : fileInfo.version; // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion + fileInfos.set(path, version); + }); + return fileInfos; + } + ts.getBuildInfoFileVersionMap = getBuildInfoFileVersionMap; function createRedirectedBuilderProgram(getState, configFileParsingDiagnostics) { return { getState: ts.notImplemented, - backupState: ts.noop, - restoreState: ts.noop, + saveEmitState: ts.noop, + restoreEmitState: ts.noop, getProgram: getProgram, getProgramOrUndefined: function () { return getState().program; }, releaseProgram: function () { return getState().program = undefined; }, @@ -121110,7 +122822,7 @@ var ts; * "c:/", "c:/users", "c:/users/username", "c:/users/username/folderAtRoot", "c:/folderAtRoot" * @param dirPath */ - function canWatchDirectory(dirPath) { + function canWatchDirectoryOrFile(dirPath) { var rootLength = ts.getRootLength(dirPath); if (dirPath.length === rootLength) { // Ignore "/", "c:/" @@ -121147,15 +122859,19 @@ var ts; } return true; } - ts.canWatchDirectory = canWatchDirectory; + ts.canWatchDirectoryOrFile = canWatchDirectoryOrFile; function createResolutionCache(resolutionHost, rootDirForResolution, logChangesWhenResolvingModule) { var filesWithChangedSetOfUnresolvedImports; var filesWithInvalidatedResolutions; var filesWithInvalidatedNonRelativeUnresolvedImports; var nonRelativeExternalModuleResolutions = ts.createMultiMap(); var resolutionsWithFailedLookups = []; + var resolutionsWithOnlyAffectingLocations = []; var resolvedFileToResolution = ts.createMultiMap(); + var impliedFormatPackageJsons = new ts.Map(); var hasChangedAutomaticTypeDirectiveNames = false; + var affectingPathChecksForFile; + var affectingPathChecks; var failedLookupChecks; var startsWithPathChecks; var isInDirectoryChecks; @@ -121182,6 +122898,7 @@ var ts; var failedLookupDefaultExtensions = [".ts" /* Extension.Ts */, ".tsx" /* Extension.Tsx */, ".js" /* Extension.Js */, ".jsx" /* Extension.Jsx */, ".json" /* Extension.Json */]; var customFailedLookupPaths = new ts.Map(); var directoryWatchesOfFailedLookups = new ts.Map(); + var fileWatchesOfAffectingLocations = new ts.Map(); var rootDir = rootDirForResolution && ts.removeTrailingDirectorySeparator(ts.getNormalizedAbsolutePath(rootDirForResolution, getCurrentDirectory())); var rootPath = (rootDir && resolutionHost.toPath(rootDir)); // TODO: GH#18217 var rootSplitLength = rootPath !== undefined ? rootPath.split(ts.directorySeparator).length : 0; @@ -121193,7 +122910,7 @@ var ts; finishRecordingFilesWithChangedResolutions: finishRecordingFilesWithChangedResolutions, // perDirectoryResolvedModuleNames and perDirectoryResolvedTypeReferenceDirectives could be non empty if there was exception during program update // (between startCachingPerDirectoryResolution and finishCachingPerDirectoryResolution) - startCachingPerDirectoryResolution: clearPerDirectoryResolutions, + startCachingPerDirectoryResolution: startCachingPerDirectoryResolution, finishCachingPerDirectoryResolution: finishCachingPerDirectoryResolution, resolveModuleNames: resolveModuleNames, getResolvedModuleWithFailedLookupLocationsFromCache: getResolvedModuleWithFailedLookupLocationsFromCache, @@ -121224,6 +122941,7 @@ var ts; } function clear() { ts.clearMap(directoryWatchesOfFailedLookups, ts.closeFileWatcherOf); + ts.clearMap(fileWatchesOfAffectingLocations, ts.closeFileWatcherOf); customFailedLookupPaths.clear(); nonRelativeExternalModuleResolutions.clear(); closeTypeRootsWatch(); @@ -121231,12 +122949,15 @@ var ts; resolvedTypeReferenceDirectives.clear(); resolvedFileToResolution.clear(); resolutionsWithFailedLookups.length = 0; + resolutionsWithOnlyAffectingLocations.length = 0; failedLookupChecks = undefined; startsWithPathChecks = undefined; isInDirectoryChecks = undefined; - // perDirectoryResolvedModuleNames and perDirectoryResolvedTypeReferenceDirectives could be non empty if there was exception during program update - // (between startCachingPerDirectoryResolution and finishCachingPerDirectoryResolution) - clearPerDirectoryResolutions(); + affectingPathChecks = undefined; + affectingPathChecksForFile = undefined; + moduleResolutionCache.clear(); + typeReferenceDirectiveResolutionCache.clear(); + impliedFormatPackageJsons.clear(); hasChangedAutomaticTypeDirectiveNames = false; } function startRecordingFilesWithChangedResolutions() { @@ -121268,25 +122989,60 @@ var ts; return function (path) { return (!!collected && collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } - function clearPerDirectoryResolutions() { - moduleResolutionCache.clear(); - typeReferenceDirectiveResolutionCache.clear(); + function startCachingPerDirectoryResolution() { + moduleResolutionCache.clearAllExceptPackageJsonInfoCache(); + typeReferenceDirectiveResolutionCache.clearAllExceptPackageJsonInfoCache(); + // perDirectoryResolvedModuleNames and perDirectoryResolvedTypeReferenceDirectives could be non empty if there was exception during program update + // (between startCachingPerDirectoryResolution and finishCachingPerDirectoryResolution) nonRelativeExternalModuleResolutions.forEach(watchFailedLookupLocationOfNonRelativeModuleResolutions); nonRelativeExternalModuleResolutions.clear(); } - function finishCachingPerDirectoryResolution() { + function finishCachingPerDirectoryResolution(newProgram, oldProgram) { filesWithInvalidatedNonRelativeUnresolvedImports = undefined; - clearPerDirectoryResolutions(); + nonRelativeExternalModuleResolutions.forEach(watchFailedLookupLocationOfNonRelativeModuleResolutions); + nonRelativeExternalModuleResolutions.clear(); + // Update file watches + if (newProgram !== oldProgram) { + newProgram === null || newProgram === void 0 ? void 0 : newProgram.getSourceFiles().forEach(function (newFile) { + var _a, _b, _c; + var expected = ts.isExternalOrCommonJsModule(newFile) ? (_b = (_a = newFile.packageJsonLocations) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 : 0; + var existing = (_c = impliedFormatPackageJsons.get(newFile.path)) !== null && _c !== void 0 ? _c : ts.emptyArray; + for (var i = existing.length; i < expected; i++) { + createFileWatcherOfAffectingLocation(newFile.packageJsonLocations[i], /*forResolution*/ false); + } + if (existing.length > expected) { + for (var i = expected; i < existing.length; i++) { + fileWatchesOfAffectingLocations.get(existing[i]).files--; + } + } + if (expected) + impliedFormatPackageJsons.set(newFile.path, newFile.packageJsonLocations); + else + impliedFormatPackageJsons.delete(newFile.path); + }); + impliedFormatPackageJsons.forEach(function (existing, path) { + if (!(newProgram === null || newProgram === void 0 ? void 0 : newProgram.getSourceFileByPath(path))) { + existing.forEach(function (location) { return fileWatchesOfAffectingLocations.get(location).files--; }); + impliedFormatPackageJsons.delete(path); + } + }); + } directoryWatchesOfFailedLookups.forEach(function (watcher, path) { if (watcher.refCount === 0) { directoryWatchesOfFailedLookups.delete(path); watcher.watcher.close(); } }); + fileWatchesOfAffectingLocations.forEach(function (watcher, path) { + if (watcher.files === 0 && watcher.resolutions === 0) { + fileWatchesOfAffectingLocations.delete(path); + watcher.watcher.close(); + } + }); hasChangedAutomaticTypeDirectiveNames = false; } function resolveModuleName(moduleName, containingFile, compilerOptions, host, redirectedReference, _containingSourceFile, mode) { - var _a; + var _a, _b; var primaryResult = ts.resolveModuleName(moduleName, containingFile, compilerOptions, host, moduleResolutionCache, redirectedReference, mode); // return result immediately only if global cache support is not enabled or if it is .ts, .tsx or .d.ts if (!resolutionHost.getGlobalCache) { @@ -121297,11 +123053,12 @@ var ts; if (globalCache !== undefined && !ts.isExternalModuleNameRelative(moduleName) && !(primaryResult.resolvedModule && ts.extensionIsTS(primaryResult.resolvedModule.extension))) { // create different collection of failed lookup locations for second pass // if it will fail and we've already found something during the first pass - we don't want to pollute its results - var _b = ts.loadModuleFromGlobalCache(ts.Debug.checkDefined(resolutionHost.globalCacheResolutionModuleName)(moduleName), resolutionHost.projectName, compilerOptions, host, globalCache, moduleResolutionCache), resolvedModule = _b.resolvedModule, failedLookupLocations = _b.failedLookupLocations; + var _c = ts.loadModuleFromGlobalCache(ts.Debug.checkDefined(resolutionHost.globalCacheResolutionModuleName)(moduleName), resolutionHost.projectName, compilerOptions, host, globalCache, moduleResolutionCache), resolvedModule = _c.resolvedModule, failedLookupLocations = _c.failedLookupLocations, affectingLocations = _c.affectingLocations; if (resolvedModule) { // Modify existing resolution so its saved in the directory cache as well primaryResult.resolvedModule = resolvedModule; (_a = primaryResult.failedLookupLocations).push.apply(_a, failedLookupLocations); + (_b = primaryResult.affectingLocations).push.apply(_b, affectingLocations); return primaryResult; } } @@ -121506,7 +123263,7 @@ var ts; } // If the directory is node_modules use it to watch, always watch it recursively if (ts.isNodeModulesDirectory(dirPath)) { - return canWatchDirectory(ts.getDirectoryPath(dirPath)) ? { dir: dir, dirPath: dirPath } : undefined; + return canWatchDirectoryOrFile(ts.getDirectoryPath(dirPath)) ? { dir: dir, dirPath: dirPath } : undefined; } var nonRecursive = true; // Use some ancestor of the root directory @@ -121524,7 +123281,7 @@ var ts; dir = ts.getDirectoryPath(dir); } } - return canWatchDirectory(dirPath) ? { dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath, nonRecursive: nonRecursive } : undefined; + return canWatchDirectoryOrFile(dirPath) ? { dir: subDirectory || dir, dirPath: subDirectoryPath || dirPath, nonRecursive: nonRecursive } : undefined; } function isPathWithDefaultFailedLookupExtension(path) { return ts.fileExtensionIsOneOf(path, failedLookupDefaultExtensions); @@ -121552,10 +123309,11 @@ var ts; } function watchFailedLookupLocationOfResolution(resolution) { ts.Debug.assert(!!resolution.refCount); - var failedLookupLocations = resolution.failedLookupLocations; - if (!failedLookupLocations.length) + var failedLookupLocations = resolution.failedLookupLocations, affectingLocations = resolution.affectingLocations; + if (!failedLookupLocations.length && !affectingLocations.length) return; - resolutionsWithFailedLookups.push(resolution); + if (failedLookupLocations.length) + resolutionsWithFailedLookups.push(resolution); var setAtRoot = false; for (var _i = 0, failedLookupLocations_1 = failedLookupLocations; _i < failedLookupLocations_1.length; _i++) { var failedLookupLocation = failedLookupLocations_1[_i]; @@ -121582,12 +123340,87 @@ var ts; // This is always non recursive setDirectoryWatcher(rootDir, rootPath, /*nonRecursive*/ true); // TODO: GH#18217 } + watchAffectingLocationsOfResolution(resolution, !failedLookupLocations.length); + } + function watchAffectingLocationsOfResolution(resolution, addToResolutionsWithOnlyAffectingLocations) { + ts.Debug.assert(!!resolution.refCount); + var affectingLocations = resolution.affectingLocations; + if (!affectingLocations.length) + return; + if (addToResolutionsWithOnlyAffectingLocations) + resolutionsWithOnlyAffectingLocations.push(resolution); + // Watch package json + for (var _i = 0, affectingLocations_1 = affectingLocations; _i < affectingLocations_1.length; _i++) { + var affectingLocation = affectingLocations_1[_i]; + createFileWatcherOfAffectingLocation(affectingLocation, /*forResolution*/ true); + } + } + function createFileWatcherOfAffectingLocation(affectingLocation, forResolution) { + var fileWatcher = fileWatchesOfAffectingLocations.get(affectingLocation); + if (fileWatcher) { + if (forResolution) + fileWatcher.resolutions++; + else + fileWatcher.files++; + return; + } + var locationToWatch = affectingLocation; + if (resolutionHost.realpath) { + locationToWatch = resolutionHost.realpath(affectingLocation); + if (affectingLocation !== locationToWatch) { + var fileWatcher_1 = fileWatchesOfAffectingLocations.get(locationToWatch); + if (fileWatcher_1) { + if (forResolution) + fileWatcher_1.resolutions++; + else + fileWatcher_1.files++; + fileWatcher_1.paths.add(affectingLocation); + fileWatchesOfAffectingLocations.set(affectingLocation, fileWatcher_1); + return; + } + } + } + var paths = new ts.Set(); + paths.add(locationToWatch); + var actualWatcher = canWatchDirectoryOrFile(resolutionHost.toPath(locationToWatch)) ? + resolutionHost.watchAffectingFileLocation(locationToWatch, function (fileName, eventKind) { + cachedDirectoryStructureHost === null || cachedDirectoryStructureHost === void 0 ? void 0 : cachedDirectoryStructureHost.addOrDeleteFile(fileName, resolutionHost.toPath(locationToWatch), eventKind); + var packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); + paths.forEach(function (path) { + if (watcher.resolutions) + (affectingPathChecks !== null && affectingPathChecks !== void 0 ? affectingPathChecks : (affectingPathChecks = new ts.Set())).add(path); + if (watcher.files) + (affectingPathChecksForFile !== null && affectingPathChecksForFile !== void 0 ? affectingPathChecksForFile : (affectingPathChecksForFile = new ts.Set())).add(path); + packageJsonMap === null || packageJsonMap === void 0 ? void 0 : packageJsonMap.delete(resolutionHost.toPath(path)); + }); + resolutionHost.scheduleInvalidateResolutionsOfFailedLookupLocations(); + }) : ts.noopFileWatcher; + var watcher = { + watcher: actualWatcher !== ts.noopFileWatcher ? { + close: function () { + actualWatcher.close(); + // Ensure when watching symlinked package.json, we can close the actual file watcher only once + actualWatcher = ts.noopFileWatcher; + } + } : actualWatcher, + resolutions: forResolution ? 1 : 0, + files: forResolution ? 0 : 1, + paths: paths, + }; + fileWatchesOfAffectingLocations.set(locationToWatch, watcher); + if (affectingLocation !== locationToWatch) { + fileWatchesOfAffectingLocations.set(affectingLocation, watcher); + paths.add(affectingLocation); + } } function watchFailedLookupLocationOfNonRelativeModuleResolutions(resolutions, name) { var program = resolutionHost.getCurrentProgram(); if (!program || !program.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(name)) { resolutions.forEach(watchFailedLookupLocationOfResolution); } + else { + resolutions.forEach(function (resolution) { return watchAffectingLocationsOfResolution(resolution, /*addToResolutionWithOnlyAffectingLocations*/ true); }); + } } function setDirectoryWatcher(dir, dirPath, nonRecursive) { var dirWatcher = directoryWatchesOfFailedLookups.get(dirPath); @@ -121609,38 +123442,44 @@ var ts; if (resolved && resolved.resolvedFileName) { resolvedFileToResolution.remove(resolutionHost.toPath(resolved.resolvedFileName), resolution); } - if (!ts.unorderedRemoveItem(resolutionsWithFailedLookups, resolution)) { - // If not watching failed lookups, it wont be there in resolutionsWithFailedLookups - return; - } - var failedLookupLocations = resolution.failedLookupLocations; - var removeAtRoot = false; - for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { - var failedLookupLocation = failedLookupLocations_2[_i]; - var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); - var toWatch = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath); - if (toWatch) { - var dirPath = toWatch.dirPath; - var refCount = customFailedLookupPaths.get(failedLookupLocationPath); - if (refCount) { - if (refCount === 1) { - customFailedLookupPaths.delete(failedLookupLocationPath); + var failedLookupLocations = resolution.failedLookupLocations, affectingLocations = resolution.affectingLocations; + if (ts.unorderedRemoveItem(resolutionsWithFailedLookups, resolution)) { + var removeAtRoot = false; + for (var _i = 0, failedLookupLocations_2 = failedLookupLocations; _i < failedLookupLocations_2.length; _i++) { + var failedLookupLocation = failedLookupLocations_2[_i]; + var failedLookupLocationPath = resolutionHost.toPath(failedLookupLocation); + var toWatch = getDirectoryToWatchFailedLookupLocation(failedLookupLocation, failedLookupLocationPath); + if (toWatch) { + var dirPath = toWatch.dirPath; + var refCount = customFailedLookupPaths.get(failedLookupLocationPath); + if (refCount) { + if (refCount === 1) { + customFailedLookupPaths.delete(failedLookupLocationPath); + } + else { + ts.Debug.assert(refCount > 1); + customFailedLookupPaths.set(failedLookupLocationPath, refCount - 1); + } + } + if (dirPath === rootPath) { + removeAtRoot = true; } else { - ts.Debug.assert(refCount > 1); - customFailedLookupPaths.set(failedLookupLocationPath, refCount - 1); + removeDirectoryWatcher(dirPath); } } - if (dirPath === rootPath) { - removeAtRoot = true; - } - else { - removeDirectoryWatcher(dirPath); - } } + if (removeAtRoot) { + removeDirectoryWatcher(rootPath); + } + } + else if (affectingLocations.length) { + ts.unorderedRemoveItem(resolutionsWithOnlyAffectingLocations, resolution); } - if (removeAtRoot) { - removeDirectoryWatcher(rootPath); + for (var _a = 0, affectingLocations_2 = affectingLocations; _a < affectingLocations_2.length; _a++) { + var affectingLocation = affectingLocations_2[_a]; + var watcher = fileWatchesOfAffectingLocations.get(affectingLocation); + watcher.resolutions--; } } function removeDirectoryWatcher(dirPath) { @@ -121694,7 +123533,7 @@ var ts; resolution.isInvalidated = invalidated = true; for (var _a = 0, _b = ts.Debug.checkDefined(resolution.files); _a < _b.length; _a++) { var containingFilePath = _b[_a]; - (filesWithInvalidatedResolutions || (filesWithInvalidatedResolutions = new ts.Set())).add(containingFilePath); + (filesWithInvalidatedResolutions !== null && filesWithInvalidatedResolutions !== void 0 ? filesWithInvalidatedResolutions : (filesWithInvalidatedResolutions = new ts.Set())).add(containingFilePath); // When its a file with inferred types resolution, invalidate type reference directive resolution hasChangedAutomaticTypeDirectiveNames = hasChangedAutomaticTypeDirectiveNames || ts.endsWith(containingFilePath, ts.inferredTypesContainingFile); } @@ -121719,7 +123558,7 @@ var ts; if (isCreatingWatchedDirectory) { // Watching directory is created // Invalidate any resolution has failed lookup in this directory - (isInDirectoryChecks || (isInDirectoryChecks = [])).push(fileOrDirectoryPath); + (isInDirectoryChecks || (isInDirectoryChecks = new ts.Set())).add(fileOrDirectoryPath); } else { // If something to do with folder/file starting with "." in node_modules folder, skip it @@ -121737,7 +123576,7 @@ var ts; if (isNodeModulesAtTypesDirectory(fileOrDirectoryPath) || ts.isNodeModulesDirectory(fileOrDirectoryPath) || isNodeModulesAtTypesDirectory(dirOfFileOrDirectory) || ts.isNodeModulesDirectory(dirOfFileOrDirectory)) { // Invalidate any resolution from this directory - (failedLookupChecks || (failedLookupChecks = [])).push(fileOrDirectoryPath); + (failedLookupChecks || (failedLookupChecks = new ts.Set())).add(fileOrDirectoryPath); (startsWithPathChecks || (startsWithPathChecks = new ts.Set())).add(fileOrDirectoryPath); } else { @@ -121749,7 +123588,7 @@ var ts; return false; } // Resolution need to be invalidated if failed lookup location is same as the file or directory getting created - (failedLookupChecks || (failedLookupChecks = [])).push(fileOrDirectoryPath); + (failedLookupChecks || (failedLookupChecks = new ts.Set())).add(fileOrDirectoryPath); // If the invalidated file is from a node_modules package, invalidate everything else // in the package since we might not get notifications for other files in the package. // This hardens our logic against unreliable file watchers. @@ -121761,22 +123600,46 @@ var ts; resolutionHost.scheduleInvalidateResolutionsOfFailedLookupLocations(); } function invalidateResolutionsOfFailedLookupLocations() { - if (!failedLookupChecks && !startsWithPathChecks && !isInDirectoryChecks) { - return false; + var _a; + var invalidated = false; + if (affectingPathChecksForFile) { + (_a = resolutionHost.getCurrentProgram()) === null || _a === void 0 ? void 0 : _a.getSourceFiles().forEach(function (f) { + if (ts.some(f.packageJsonLocations, function (location) { return affectingPathChecksForFile.has(location); })) { + (filesWithInvalidatedResolutions !== null && filesWithInvalidatedResolutions !== void 0 ? filesWithInvalidatedResolutions : (filesWithInvalidatedResolutions = new ts.Set())).add(f.path); + invalidated = true; + } + }); + affectingPathChecksForFile = undefined; + } + if (!failedLookupChecks && !startsWithPathChecks && !isInDirectoryChecks && !affectingPathChecks) { + return invalidated; + } + invalidated = invalidateResolutions(resolutionsWithFailedLookups, canInvalidateFailedLookupResolution) || invalidated; + var packageJsonMap = moduleResolutionCache.getPackageJsonInfoCache().getInternalMap(); + if (packageJsonMap && (failedLookupChecks || startsWithPathChecks || isInDirectoryChecks)) { + packageJsonMap.forEach(function (_value, path) { return isInvalidatedFailedLookup(path) ? packageJsonMap.delete(path) : undefined; }); } - var invalidated = invalidateResolutions(resolutionsWithFailedLookups, canInvalidateFailedLookupResolution); failedLookupChecks = undefined; startsWithPathChecks = undefined; isInDirectoryChecks = undefined; + invalidated = invalidateResolutions(resolutionsWithOnlyAffectingLocations, canInvalidatedFailedLookupResolutionWithAffectingLocation) || invalidated; + affectingPathChecks = undefined; return invalidated; } function canInvalidateFailedLookupResolution(resolution) { - return resolution.failedLookupLocations.some(function (location) { - var locationPath = resolutionHost.toPath(location); - return ts.contains(failedLookupChecks, locationPath) || - ts.firstDefinedIterator((startsWithPathChecks === null || startsWithPathChecks === void 0 ? void 0 : startsWithPathChecks.keys()) || ts.emptyIterator, function (fileOrDirectoryPath) { return ts.startsWith(locationPath, fileOrDirectoryPath) ? true : undefined; }) || - (isInDirectoryChecks === null || isInDirectoryChecks === void 0 ? void 0 : isInDirectoryChecks.some(function (fileOrDirectoryPath) { return isInDirectoryPath(fileOrDirectoryPath, locationPath); })); - }); + if (canInvalidatedFailedLookupResolutionWithAffectingLocation(resolution)) + return true; + if (!failedLookupChecks && !startsWithPathChecks && !isInDirectoryChecks) + return false; + return resolution.failedLookupLocations.some(function (location) { return isInvalidatedFailedLookup(resolutionHost.toPath(location)); }); + } + function isInvalidatedFailedLookup(locationPath) { + return (failedLookupChecks === null || failedLookupChecks === void 0 ? void 0 : failedLookupChecks.has(locationPath)) || + ts.firstDefinedIterator((startsWithPathChecks === null || startsWithPathChecks === void 0 ? void 0 : startsWithPathChecks.keys()) || ts.emptyIterator, function (fileOrDirectoryPath) { return ts.startsWith(locationPath, fileOrDirectoryPath) ? true : undefined; }) || + ts.firstDefinedIterator((isInDirectoryChecks === null || isInDirectoryChecks === void 0 ? void 0 : isInDirectoryChecks.keys()) || ts.emptyIterator, function (fileOrDirectoryPath) { return isInDirectoryPath(fileOrDirectoryPath, locationPath) ? true : undefined; }); + } + function canInvalidatedFailedLookupResolutionWithAffectingLocation(resolution) { + return !!affectingPathChecks && resolution.affectingLocations.some(function (location) { return affectingPathChecks.has(location); }); } function closeTypeRootsWatch() { ts.clearMap(typeRootsWatches, ts.closeFileWatcher); @@ -121842,7 +123705,7 @@ var ts; function directoryExistsForTypeRootWatch(nodeTypesDirectory) { var dir = ts.getDirectoryPath(ts.getDirectoryPath(nodeTypesDirectory)); var dirPath = resolutionHost.toPath(dir); - return dirPath === rootPath || canWatchDirectory(dirPath); + return dirPath === rootPath || canWatchDirectoryOrFile(dirPath); } } ts.createResolutionCache = createResolutionCache; @@ -121953,7 +123816,7 @@ var ts; var info = getInfo(importingSourceFileName, host); var modulePaths = getAllModulePaths(importingSourceFileName, toFileName, host, userPreferences, options); return ts.firstDefined(modulePaths, function (modulePath) { return tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, userPreferences, /*packageNameOnly*/ undefined, options.overrideImportMode); }) || - getLocalModuleSpecifier(toFileName, info, compilerOptions, host, preferences); + getLocalModuleSpecifier(toFileName, info, compilerOptions, host, options.overrideImportMode || importingSourceFile.impliedNodeFormat, preferences); } function tryGetModuleSpecifiersFromCache(moduleSymbol, importingSourceFile, host, userPreferences, options) { if (options === void 0) { options = {}; } @@ -122036,7 +123899,7 @@ var ts; return nodeModulesSpecifiers; } if (!specifier && !modulePath.isRedirect) { - var local = getLocalModuleSpecifier(modulePath.path, info, compilerOptions, host, preferences); + var local = getLocalModuleSpecifier(modulePath.path, info, compilerOptions, host, options.overrideImportMode || importingSourceFile.impliedNodeFormat, preferences); if (ts.pathIsBareSpecifier(local)) { pathsSpecifiers = ts.append(pathsSpecifiers, local); } @@ -122064,7 +123927,7 @@ var ts; var sourceDirectory = ts.getDirectoryPath(importingSourceFileName); return { getCanonicalFileName: getCanonicalFileName, importingSourceFileName: importingSourceFileName, sourceDirectory: sourceDirectory }; } - function getLocalModuleSpecifier(moduleFileName, info, compilerOptions, host, _a) { + function getLocalModuleSpecifier(moduleFileName, info, compilerOptions, host, importMode, _a) { var ending = _a.ending, relativePreference = _a.relativePreference; var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths, rootDirs = compilerOptions.rootDirs; var sourceDirectory = info.sourceDirectory, getCanonicalFileName = info.getCanonicalFileName; @@ -122078,9 +123941,8 @@ var ts; if (!relativeToBaseUrl) { return relativePath; } - var importRelativeToBaseUrl = removeExtensionAndIndexPostFix(relativeToBaseUrl, ending, compilerOptions); - var fromPaths = paths && tryGetModuleNameFromPaths(ts.removeFileExtension(relativeToBaseUrl), importRelativeToBaseUrl, paths); - var nonRelative = fromPaths === undefined && baseUrl !== undefined ? importRelativeToBaseUrl : fromPaths; + var fromPaths = paths && tryGetModuleNameFromPaths(relativeToBaseUrl, paths, getAllowedEndings(ending, compilerOptions, importMode), host, compilerOptions); + var nonRelative = fromPaths === undefined && baseUrl !== undefined ? removeExtensionAndIndexPostFix(relativeToBaseUrl, ending, compilerOptions) : fromPaths; if (!nonRelative) { return relativePath; } @@ -122166,9 +124028,9 @@ var ts; if (!preferSymlinks) { // Symlinks inside ignored paths are already filtered out of the symlink cache, // so we only need to remove them from the realpath filenames. - var result_15 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); }); - if (result_15) - return result_15; + var result_16 = ts.forEach(targets, function (p) { return !(shouldFilterIgnoredPaths && ts.containsIgnoredPath(p)) && cb(p, referenceRedirect === p); }); + if (result_16) + return result_16; } var symlinkedDirectories = (_a = host.getSymlinkCache) === null || _a === void 0 ? void 0 : _a.call(host).getSymlinkedDirectoriesByRealpath(); var fullImportedFileName = ts.getNormalizedAbsolutePath(importedFileName, cwd); @@ -122188,10 +124050,10 @@ var ts; for (var _i = 0, symlinkDirectories_1 = symlinkDirectories; _i < symlinkDirectories_1.length; _i++) { var symlinkDirectory = symlinkDirectories_1[_i]; var option = ts.resolvePath(symlinkDirectory, relative); - var result_16 = cb(option, target === referenceRedirect); + var result_17 = cb(option, target === referenceRedirect); shouldFilterIgnoredPaths = true; // We found a non-ignored path in symlinks, so we can reject ignored-path realpaths - if (result_16) - return result_16; + if (result_17) + return result_17; } }); }); @@ -122233,7 +124095,7 @@ var ts; }); // Sort by paths closest to importing file Name directory var sortedPaths = []; - var _loop_32 = function (directory) { + var _loop_35 = function (directory) { var directoryStart = ts.ensureTrailingDirectorySeparator(directory); var pathsInDirectory; allFileNames.forEach(function (_a, fileName) { @@ -122257,9 +124119,9 @@ var ts; }; var out_directory_1; for (var directory = ts.getDirectoryPath(importingFileName); allFileNames.size !== 0;) { - var state_10 = _loop_32(directory); + var state_11 = _loop_35(directory); directory = out_directory_1; - if (state_10 === "break") + if (state_11 === "break") break; } if (allFileNames.size) { @@ -122315,28 +124177,102 @@ var ts; return ambientModuleDeclare.name.text; } } - function tryGetModuleNameFromPaths(relativeToBaseUrlWithIndex, relativeToBaseUrl, paths) { + function getAllowedEndings(preferredEnding, compilerOptions, importMode) { + if (ts.getEmitModuleResolutionKind(compilerOptions) >= ts.ModuleResolutionKind.Node16 && importMode === ts.ModuleKind.ESNext) { + return [2 /* Ending.JsExtension */]; + } + switch (preferredEnding) { + case 2 /* Ending.JsExtension */: return [2 /* Ending.JsExtension */, 0 /* Ending.Minimal */, 1 /* Ending.Index */]; + case 1 /* Ending.Index */: return [1 /* Ending.Index */, 0 /* Ending.Minimal */, 2 /* Ending.JsExtension */]; + case 0 /* Ending.Minimal */: return [0 /* Ending.Minimal */, 1 /* Ending.Index */, 2 /* Ending.JsExtension */]; + default: ts.Debug.assertNever(preferredEnding); + } + } + function tryGetModuleNameFromPaths(relativeToBaseUrl, paths, allowedEndings, host, compilerOptions) { for (var key in paths) { - for (var _i = 0, _a = paths[key]; _i < _a.length; _i++) { - var patternText_1 = _a[_i]; - var pattern = ts.removeFileExtension(ts.normalizePath(patternText_1)); + var _loop_36 = function (patternText_1) { + var pattern = ts.normalizePath(patternText_1); var indexOfStar = pattern.indexOf("*"); + // In module resolution, if `pattern` itself has an extension, a file with that extension is looked up directly, + // meaning a '.ts' or '.d.ts' extension is allowed to resolve. This is distinct from the case where a '*' substitution + // causes a module specifier to have an extension, i.e. the extension comes from the module specifier in a JS/TS file + // and matches the '*'. For example: + // + // Module Specifier | Path Mapping (key: [pattern]) | Interpolation | Resolution Action + // ---------------------->------------------------------->--------------------->--------------------------------------------------------------- + // import "@app/foo" -> "@app/*": ["./src/app/*.ts"] -> "./src/app/foo.ts" -> tryFile("./src/app/foo.ts") || [continue resolution algorithm] + // import "@app/foo.ts" -> "@app/*": ["./src/app/*"] -> "./src/app/foo.ts" -> [continue resolution algorithm] + // + // (https://github.com/microsoft/TypeScript/blob/ad4ded80e1d58f0bf36ac16bea71bc10d9f09895/src/compiler/moduleNameResolver.ts#L2509-L2516) + // + // The interpolation produced by both scenarios is identical, but only in the former, where the extension is encoded in + // the path mapping rather than in the module specifier, will we prioritize a file lookup on the interpolation result. + // (In fact, currently, the latter scenario will necessarily fail since no resolution mode recognizes '.ts' as a valid + // extension for a module specifier.) + // + // Here, this means we need to be careful about whether we generate a match from the target filename (typically with a + // .ts extension) or the possible relative module specifiers representing that file: + // + // Filename | Relative Module Specifier Candidates | Path Mapping | Filename Result | Module Specifier Results + // --------------------<----------------------------------------------<------------------------------<-------------------||---------------------------- + // dist/haha.d.ts <- dist/haha, dist/haha.js <- "@app/*": ["./dist/*.d.ts"] <- @app/haha || (none) + // dist/haha.d.ts <- dist/haha, dist/haha.js <- "@app/*": ["./dist/*"] <- (none) || @app/haha, @app/haha.js + // dist/foo/index.d.ts <- dist/foo, dist/foo/index, dist/foo/index.js <- "@app/*": ["./dist/*.d.ts"] <- @app/foo/index || (none) + // dist/foo/index.d.ts <- dist/foo, dist/foo/index, dist/foo/index.js <- "@app/*": ["./dist/*"] <- (none) || @app/foo, @app/foo/index, @app/foo/index.js + // dist/wow.js.js <- dist/wow.js, dist/wow.js.js <- "@app/*": ["./dist/*.js"] <- @app/wow.js || @app/wow, @app/wow.js + // + // The "Filename Result" can be generated only if `pattern` has an extension. Care must be taken that the list of + // relative module specifiers to run the interpolation (a) is actually valid for the module resolution mode, (b) takes + // into account the existence of other files (e.g. 'dist/wow.js' cannot refer to 'dist/wow.js.js' if 'dist/wow.js' + // exists) and (c) that they are ordered by preference. The last row shows that the filename result and module + // specifier results are not mutually exclusive. Note that the filename result is a higher priority in module + // resolution, but as long criteria (b) above is met, I don't think its result needs to be the highest priority result + // in module specifier generation. I have included it last, as it's difficult to tell exactly where it should be + // sorted among the others for a particular value of `importModuleSpecifierEnding`. + var candidates = allowedEndings.map(function (ending) { return ({ + ending: ending, + value: removeExtensionAndIndexPostFix(relativeToBaseUrl, ending, compilerOptions) + }); }); + if (ts.tryGetExtensionFromPath(pattern)) { + candidates.push({ ending: undefined, value: relativeToBaseUrl }); + } if (indexOfStar !== -1) { - var prefix = pattern.substr(0, indexOfStar); - var suffix = pattern.substr(indexOfStar + 1); - if (relativeToBaseUrl.length >= prefix.length + suffix.length && - ts.startsWith(relativeToBaseUrl, prefix) && - ts.endsWith(relativeToBaseUrl, suffix) || - !suffix && relativeToBaseUrl === ts.removeTrailingDirectorySeparator(prefix)) { - var matchedStar = relativeToBaseUrl.substr(prefix.length, relativeToBaseUrl.length - suffix.length - prefix.length); - return key.replace("*", matchedStar); + var prefix = pattern.substring(0, indexOfStar); + var suffix = pattern.substring(indexOfStar + 1); + for (var _b = 0, candidates_3 = candidates; _b < candidates_3.length; _b++) { + var _c = candidates_3[_b], ending = _c.ending, value = _c.value; + if (value.length >= prefix.length + suffix.length && + ts.startsWith(value, prefix) && + ts.endsWith(value, suffix) && + validateEnding({ ending: ending, value: value })) { + var matchedStar = value.substring(prefix.length, value.length - suffix.length); + return { value: key.replace("*", matchedStar) }; + } } } - else if (pattern === relativeToBaseUrl || pattern === relativeToBaseUrlWithIndex) { - return key; + else if (ts.some(candidates, function (c) { return c.ending !== 0 /* Ending.Minimal */ && pattern === c.value; }) || + ts.some(candidates, function (c) { return c.ending === 0 /* Ending.Minimal */ && pattern === c.value && validateEnding(c); })) { + return { value: key }; } + }; + for (var _i = 0, _a = paths[key]; _i < _a.length; _i++) { + var patternText_1 = _a[_i]; + var state_12 = _loop_36(patternText_1); + if (typeof state_12 === "object") + return state_12.value; } } + function validateEnding(_a) { + var ending = _a.ending, value = _a.value; + // Optimization: `removeExtensionAndIndexPostFix` can query the file system (a good bit) if `ending` is `Minimal`, the basename + // is 'index', and a `host` is provided. To avoid that until it's unavoidable, we ran the function with no `host` above. Only + // here, after we've checked that the minimal ending is indeed a match (via the length and prefix/suffix checks / `some` calls), + // do we check that the host-validated result is consistent with the answer we got before. If it's not, it falls back to the + // `Ending.Index` result, which should already be in the list of candidates if `Minimal` was. (Note: the assumption here is + // that every module resolution mode that supports dropping extensions also supports dropping `/index`. Like literally + // everything else in this file, this logic needs to be updated if that's not true in some future module resolution mode.) + return ending !== 0 /* Ending.Minimal */ || value === removeExtensionAndIndexPostFix(relativeToBaseUrl, ending, compilerOptions, host); + } } var MatchingMode; (function (MatchingMode) { @@ -122432,10 +124368,10 @@ var ts; return undefined; } // Simplify the full file path to something that can be resolved by Node. + var preferences = getPreferences(host, userPreferences, options, importingSourceFile); var moduleSpecifier = path; var isPackageRootPath = false; if (!packageNameOnly) { - var preferences = getPreferences(host, userPreferences, options, importingSourceFile); var packageRootIndex = parts.packageRootIndex; var moduleFileName = void 0; while (true) { @@ -122484,15 +124420,13 @@ var ts; var packageRootPath = path.substring(0, packageRootIndex); var packageJsonPath = ts.combinePaths(packageRootPath, "package.json"); var moduleFileToTry = path; + var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { - // `conditions` *could* be made to go against `importingSourceFile.impliedNodeFormat` if something wanted to generate - // an ImportEqualsDeclaration in an ESM-implied file or an ImportCall in a CJS-implied file. But since this function is - // usually called to conjure an import out of thin air, we don't have an existing usage to call `getModeForUsageAtIndex` - // with, so for now we just stick with the mode of the file. - var conditions = ["node", overrideMode || importingSourceFile.impliedNodeFormat === ts.ModuleKind.ESNext ? "import" : "require", "types"]; + var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, ts.getPackageNameFromTypesPackageName(packageJsonContent.name), packageJsonContent.exports, conditions) : undefined; @@ -122511,16 +124445,26 @@ var ts; : undefined; if (versionPaths) { var subModuleName = path.slice(packageRootPath.length + 1); - var fromPaths = tryGetModuleNameFromPaths(ts.removeFileExtension(subModuleName), removeExtensionAndIndexPostFix(subModuleName, 0 /* Ending.Minimal */, options), versionPaths.paths); - if (fromPaths !== undefined) { + var fromPaths = tryGetModuleNameFromPaths(subModuleName, versionPaths.paths, getAllowedEndings(preferences.ending, options, importMode), host, options); + if (fromPaths === undefined) { + maybeBlockedByTypesVersions = true; + } + else { moduleFileToTry = ts.combinePaths(packageRootPath, fromPaths); } } // If the file is the main module, it can be imported by the package name var mainFileRelative = packageJsonContent.typings || packageJsonContent.types || packageJsonContent.main || "index.js"; - if (ts.isString(mainFileRelative)) { + if (ts.isString(mainFileRelative) && !(maybeBlockedByTypesVersions && ts.matchPatternOrExact(ts.tryParsePatterns(versionPaths.paths), mainFileRelative))) { + // The 'main' file is also subject to mapping through typesVersions, and we couldn't come up with a path + // explicitly through typesVersions, so if it matches a key in typesVersions now, it's not reachable. + // (The only way this can happen is if some file in a package that's not resolvable from outside the + // package got pulled into the program anyway, e.g. transitively through a file that *is* reachable. It + // happens very easily in fourslash tests though, since every test file listed gets included. See + // importNameCodeFix_typesVersions.ts for an example.) var mainExportFile = ts.toPath(mainFileRelative, packageRootPath, getCanonicalFileName); if (ts.removeFileExtension(mainExportFile) === ts.removeFileExtension(getCanonicalFileName(moduleFileToTry))) { + // ^ An arbitrary removal of file extension for this comparison is almost certainly wrong return { packageRootPath: packageRootPath, moduleFileToTry: moduleFileToTry }; } } @@ -122815,23 +124759,46 @@ var ts; var file = _c[_i]; write("".concat(toFileName(file, relativeFileName))); (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" ".concat(fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText)); }); - (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); }); + (_b = explainIfFileIsRedirectAndImpliedFormat(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); }); } } ts.explainFiles = explainFiles; - function explainIfFileIsRedirect(file, fileNameConvertor) { + function explainIfFileIsRedirectAndImpliedFormat(file, fileNameConvertor) { + var _a; var result; if (file.path !== file.resolvedPath) { - (result || (result = [])).push(ts.chainDiagnosticMessages( + (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.File_is_output_of_project_reference_source_0, toFileName(file.originalFileName, fileNameConvertor))); } if (file.redirectInfo) { - (result || (result = [])).push(ts.chainDiagnosticMessages( + (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.File_redirects_to_file_0, toFileName(file.redirectInfo.redirectTarget, fileNameConvertor))); } + if (ts.isExternalOrCommonJsModule(file)) { + switch (file.impliedNodeFormat) { + case ts.ModuleKind.ESNext: + if (file.packageJsonScope) { + (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.File_is_ECMAScript_module_because_0_has_field_type_with_value_module, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); + } + break; + case ts.ModuleKind.CommonJS: + if (file.packageJsonScope) { + (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( + /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : + ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); + } + else if ((_a = file.packageJsonLocations) === null || _a === void 0 ? void 0 : _a.length) { + (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( + /*details*/ undefined, ts.Diagnostics.File_is_CommonJS_module_because_package_json_was_not_found)); + } + break; + } + } return result; } - ts.explainIfFileIsRedirect = explainIfFileIsRedirect; + ts.explainIfFileIsRedirectAndImpliedFormat = explainIfFileIsRedirectAndImpliedFormat; function getMatchedFileSpec(program, fileName) { var _a; var configFile = program.getCompilerOptions().configFile; @@ -122848,6 +124815,9 @@ var ts; var configFile = program.getCompilerOptions().configFile; if (!((_a = configFile === null || configFile === void 0 ? void 0 : configFile.configFileSpecs) === null || _a === void 0 ? void 0 : _a.validatedIncludeSpecs)) return undefined; + // Return true if its default include spec + if (configFile.configFileSpecs.isDefaultIncludeSpec) + return true; var isJsonFile = ts.fileExtensionIs(fileName, ".json" /* Extension.Json */); var basePath = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(configFile.fileName, program.getCurrentDirectory())); var useCaseSensitiveFileNames = program.useCaseSensitiveFileNames(); @@ -122913,11 +124883,13 @@ var ts; if (matchedByFiles) return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Part_of_files_list_in_tsconfig_json); var matchedByInclude = getMatchedIncludeSpec(program, fileName); - return matchedByInclude ? + return ts.isString(matchedByInclude) ? ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.Matched_by_include_pattern_0_in_1, matchedByInclude, toFileName(options.configFile, fileNameConvertor)) : - // Could be additional files specified as roots - ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.Root_file_specified_for_compilation); + // Could be additional files specified as roots or matched by default include + ts.chainDiagnosticMessages(/*details*/ undefined, matchedByInclude ? + ts.Diagnostics.Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk : + ts.Diagnostics.Root_file_specified_for_compilation); case ts.FileIncludeKind.SourceFromProjectReference: case ts.FileIncludeKind.OutputFromProjectReference: var isOutput = reason.kind === ts.FileIncludeKind.OutputFromProjectReference; @@ -123036,11 +125008,19 @@ var ts; MissingFile: "Missing file", WildcardDirectory: "Wild card directory", FailedLookupLocations: "Failed Lookup Locations", + AffectingFileLocation: "File location affecting resolution", TypeRoots: "Type roots", ConfigFileOfReferencedProject: "Config file of referened project", ExtendedConfigOfReferencedProject: "Extended config file of referenced project", WildcardDirectoryOfReferencedProject: "Wild card directory of referenced project", PackageJson: "package.json file", + ClosedScriptInfo: "Closed Script info", + ConfigFileForInferredRoot: "Config file for the inferred project root", + NodeModules: "node_modules for closed script infos and package.jsons affecting module specifier cache", + MissingSourceMapFile: "Missing source map file", + NoopConfigFileForInferredRoot: "Noop Config file for the inferred project root", + MissingGeneratedFile: "Missing generated file", + NodeModulesForModuleSpecifierCache: "node_modules for module specifier cache invalidation", }; function createWatchFactory(host, options) { var watchLogLevel = host.trace ? options.extendedDiagnostics ? ts.WatchLogLevel.Verbose : options.diagnostics ? ts.WatchLogLevel.TriggerOnly : ts.WatchLogLevel.None : ts.WatchLogLevel.None; @@ -123149,6 +125129,7 @@ var ts; createProgram: createProgram || ts.createEmitAndSemanticDiagnosticsBuilderProgram, disableUseFileVersionAsSignature: system.disableUseFileVersionAsSignature, storeFilesChangingSignatureDuringEmit: system.storeFilesChangingSignatureDuringEmit, + now: ts.maybeBind(system, system.now), }; } ts.createProgramHost = createProgramHost; @@ -123216,20 +125197,27 @@ var ts; var ts; (function (ts) { function readBuilderProgram(compilerOptions, host) { - if (ts.outFile(compilerOptions)) - return undefined; var buildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(compilerOptions); if (!buildInfoPath) return undefined; - var content = host.readFile(buildInfoPath); - if (!content) - return undefined; - var buildInfo = ts.getBuildInfo(content); + var buildInfo; + if (host.getBuildInfo) { + // host provides buildinfo, get it from there. This allows host to cache it + buildInfo = host.getBuildInfo(buildInfoPath, compilerOptions.configFilePath); + if (!buildInfo) + return undefined; + } + else { + var content = host.readFile(buildInfoPath); + if (!content) + return undefined; + buildInfo = ts.getBuildInfo(content); + } if (buildInfo.version !== ts.version) return undefined; if (!buildInfo.program) return undefined; - return ts.createBuildProgramUsingProgramBuildInfo(buildInfo.program, buildInfoPath, host); + return ts.createBuilderProgramUsingProgramBuildInfo(buildInfo.program, buildInfoPath, host); } ts.readBuilderProgram = readBuilderProgram; function createIncrementalCompilerHost(options, system) { @@ -123282,14 +125270,12 @@ var ts; var builderProgram; var reloadLevel; // level to indicate if the program needs to be reloaded from config file/just filenames etc var missingFilesMap; // Map of file watchers for the missing files - var packageJsonMap; // map of watchers for package json files used in module resolution var watchedWildcardDirectories; // map of watchers for the wild card directories in the config file var timerToUpdateProgram; // timer callback to recompile the program var timerToInvalidateFailedLookupResolutions; // timer callback to invalidate resolutions for changes in failed lookup locations var parsedConfigs; // Parsed commandline and watching cached for referenced projects var sharedExtendedConfigFileWatchers; // Map of file watchers for extended files, shared between different referenced projects var extendedConfigCache = host.extendedConfigCache; // Cache for extended config evaluation - var changesAffectResolution = false; // Flag for indicating non-config changes affect module resolution var reportFileChangeDetectedOnCreateProgram = false; // True if synchronizeProgram should report "File change detected..." when a new program is created var sourceFilesCache = new ts.Map(); // Cache that stores the source file and version info var missingFilePathsRequestedForRelease; // These paths are held temporarily so that we can remove the entry from source file cache if the file is not tracked by missing files @@ -123346,6 +125332,7 @@ var ts; compilerHost.getCompilationSettings = function () { return compilerOptions; }; compilerHost.useSourceOfProjectReferenceRedirect = ts.maybeBind(host, host.useSourceOfProjectReferenceRedirect); compilerHost.watchDirectoryOfFailedLookupLocation = function (dir, cb, flags) { return watchDirectory(dir, cb, flags, watchOptions, ts.WatchType.FailedLookupLocations); }; + compilerHost.watchAffectingFileLocation = function (file, cb) { return watchFile(file, cb, ts.PollingInterval.High, watchOptions, ts.WatchType.AffectingFileLocation); }; compilerHost.watchTypeRootsDirectory = function (dir, cb, flags) { return watchDirectory(dir, cb, flags, watchOptions, ts.WatchType.TypeRoots); }; compilerHost.getCachedDirectoryStructureHost = function () { return cachedDirectoryStructureHost; }; compilerHost.scheduleInvalidateResolutionsOfFailedLookupLocations = scheduleInvalidateResolutionsOfFailedLookupLocations; @@ -123379,6 +125366,9 @@ var ts; return host.resolveTypeReferenceDirectives.apply(host, args); }) : (function (typeDirectiveNames, containingFile, redirectedReference, _options, containingFileMode) { return resolutionCache.resolveTypeReferenceDirectives(typeDirectiveNames, containingFile, redirectedReference, containingFileMode); }); + compilerHost.getModuleResolutionCache = host.resolveModuleNames ? + ts.maybeBind(host, host.getModuleResolutionCache) : + (function () { return resolutionCache.getModuleResolutionCache(); }); var userProvidedResolution = !!host.resolveModuleNames || !!host.resolveTypeReferenceDirectives; builderProgram = readBuilderProgram(compilerOptions, compilerHost); synchronizeProgram(); @@ -123428,10 +125418,6 @@ var ts; }); parsedConfigs = undefined; } - if (packageJsonMap) { - ts.clearMap(packageJsonMap, ts.closeFileWatcher); - packageJsonMap = undefined; - } } function getCurrentBuilderProgram() { return builderProgram; @@ -123445,12 +125431,12 @@ var ts; var program = getCurrentBuilderProgram(); if (hasChangedCompilerOptions) { newLine = updateNewLine(); - if (program && (changesAffectResolution || ts.changesAffectModuleResolution(program.getCompilerOptions(), compilerOptions))) { + if (program && ts.changesAffectModuleResolution(program.getCompilerOptions(), compilerOptions)) { resolutionCache.clear(); } } // All resolutions are invalid if user provided resolutions - var hasInvalidatedResolution = resolutionCache.createHasInvalidatedResolution(userProvidedResolution || changesAffectResolution); + var hasInvalidatedResolution = resolutionCache.createHasInvalidatedResolution(userProvidedResolution); if (ts.isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, getSourceVersion, fileExists, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { if (reportFileChangeDetectedOnCreateProgram) { @@ -123466,7 +125452,6 @@ var ts; } createNewProgram(hasInvalidatedResolution); } - changesAffectResolution = false; // reset for next sync reportFileChangeDetectedOnCreateProgram = false; if (host.afterProgramCreate && program !== builderProgram) { host.afterProgramCreate(builderProgram); @@ -123486,16 +125471,11 @@ var ts; resolutionCache.startCachingPerDirectoryResolution(); compilerHost.hasInvalidatedResolution = hasInvalidatedResolution; compilerHost.hasChangedAutomaticTypeDirectiveNames = hasChangedAutomaticTypeDirectiveNames; + var oldProgram = getCurrentProgram(); builderProgram = createProgram(rootFileNames, compilerOptions, compilerHost, builderProgram, configFileParsingDiagnostics, projectReferences); - // map package json cache entries to their realpaths so we don't try to watch across symlinks - var packageCacheEntries = ts.map(resolutionCache.getModuleResolutionCache().getPackageJsonInfoCache().entries(), function (_a) { - var path = _a[0], data = _a[1]; - return [compilerHost.realpath ? toPath(compilerHost.realpath(path)) : path, data]; - }); - resolutionCache.finishCachingPerDirectoryResolution(); + resolutionCache.finishCachingPerDirectoryResolution(builderProgram.getProgram(), oldProgram); // Update watches ts.updateMissingFilePathsWatch(builderProgram.getProgram(), missingFilesMap || (missingFilesMap = new ts.Map()), watchMissingFilePath); - ts.updatePackageJsonWatch(packageCacheEntries, packageJsonMap || (packageJsonMap = new ts.Map()), watchPackageJsonLookupPath); if (needsUpdateInTypeRootWatch) { resolutionCache.updateTypeRootsWatch(); } @@ -123575,9 +125555,6 @@ var ts; sourceFilesCache.set(path, false); } } - if (sourceFile) { - sourceFile.impliedNodeFormat = ts.getImpliedNodeFormatForFile(path, resolutionCache.getModuleResolutionCache().getPackageJsonInfoCache(), compilerHost, compilerHost.getCompilationSettings()); - } return sourceFile; } return hostSourceFile.sourceFile; @@ -123692,6 +125669,7 @@ var ts; } function reloadFileNamesFromConfigFile() { writeLog("Reloading new file names and options"); + reloadLevel = ts.ConfigFileProgramReloadLevel.None; rootFileNames = ts.getFileNamesFromConfigSpecs(compilerOptions.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions); if (ts.updateErrorForNoInputFiles(rootFileNames, ts.getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile.configFileSpecs, configFileParsingDiagnostics, canConfigFileJsonReportNoInputFiles)) { hasChangedConfigFileParsingErrors = true; @@ -123800,21 +125778,6 @@ var ts; ts.noopFileWatcher : watchFilePath(missingFilePath, missingFilePath, onMissingFileChange, ts.PollingInterval.Medium, watchOptions, ts.WatchType.MissingFile); } - function watchPackageJsonLookupPath(packageJsonPath) { - // If the package.json is pulled into the compilation itself (eg, via json imports), don't add a second watcher here - return sourceFilesCache.has(packageJsonPath) ? - ts.noopFileWatcher : - watchFilePath(packageJsonPath, packageJsonPath, onPackageJsonChange, ts.PollingInterval.High, watchOptions, ts.WatchType.PackageJson); - } - function onPackageJsonChange(fileName, eventKind, path) { - updateCachedSystemWithFile(fileName, path, eventKind); - // package.json changes invalidate module resolution and can change the set of loaded files - // so if we witness a change to one, we have to do a full reload - reloadLevel = ts.ConfigFileProgramReloadLevel.Full; - changesAffectResolution = true; - // Update the program - scheduleProgramUpdate(); - } function onMissingFileChange(fileName, eventKind, missingFilePath) { updateCachedSystemWithFile(fileName, missingFilePath, eventKind); if (eventKind === ts.FileWatcherEventKind.Created && missingFilesMap.has(missingFilePath)) { @@ -123972,14 +125935,17 @@ var ts; UpToDateStatusType[UpToDateStatusType["OutputMissing"] = 4] = "OutputMissing"; UpToDateStatusType[UpToDateStatusType["OutOfDateWithSelf"] = 5] = "OutOfDateWithSelf"; UpToDateStatusType[UpToDateStatusType["OutOfDateWithUpstream"] = 6] = "OutOfDateWithUpstream"; - UpToDateStatusType[UpToDateStatusType["UpstreamOutOfDate"] = 7] = "UpstreamOutOfDate"; - UpToDateStatusType[UpToDateStatusType["UpstreamBlocked"] = 8] = "UpstreamBlocked"; - UpToDateStatusType[UpToDateStatusType["ComputingUpstream"] = 9] = "ComputingUpstream"; - UpToDateStatusType[UpToDateStatusType["TsVersionOutputOfDate"] = 10] = "TsVersionOutputOfDate"; + UpToDateStatusType[UpToDateStatusType["OutOfDateBuildInfo"] = 7] = "OutOfDateBuildInfo"; + UpToDateStatusType[UpToDateStatusType["UpstreamOutOfDate"] = 8] = "UpstreamOutOfDate"; + UpToDateStatusType[UpToDateStatusType["UpstreamBlocked"] = 9] = "UpstreamBlocked"; + UpToDateStatusType[UpToDateStatusType["ComputingUpstream"] = 10] = "ComputingUpstream"; + UpToDateStatusType[UpToDateStatusType["TsVersionOutputOfDate"] = 11] = "TsVersionOutputOfDate"; + UpToDateStatusType[UpToDateStatusType["UpToDateWithInputFileText"] = 12] = "UpToDateWithInputFileText"; /** * Projects with no outputs (i.e. "solution" files) */ - UpToDateStatusType[UpToDateStatusType["ContainerOnly"] = 11] = "ContainerOnly"; + UpToDateStatusType[UpToDateStatusType["ContainerOnly"] = 13] = "ContainerOnly"; + UpToDateStatusType[UpToDateStatusType["ForceBuild"] = 14] = "ForceBuild"; })(UpToDateStatusType = ts.UpToDateStatusType || (ts.UpToDateStatusType = {})); function resolveConfigFileProjectName(project) { if (ts.fileExtensionIs(project, ".json" /* Extension.Json */)) { @@ -124024,9 +125990,12 @@ var ts; function getOrCreateValueMapFromConfigFileMap(configFileMap, resolved) { return getOrCreateValueFromConfigFileMap(configFileMap, resolved, function () { return new ts.Map(); }); } - function newer(date1, date2) { - return date2 > date1 ? date2 : date1; + /*@internal*/ + /** Helper to use now method instead of current date for testing purposes to get consistent baselines */ + function getCurrentTime(host) { + return host.now ? host.now() : new Date(); } + ts.getCurrentTime = getCurrentTime; /*@internal*/ function isCircularBuildOrder(buildOrder) { return !!buildOrder && !!buildOrder.buildOrder; @@ -124101,6 +126070,7 @@ var ts; compilerHost.getParsedCommandLine = function (fileName) { return parseConfigFile(state, fileName, toResolvedConfigFilePath(state, fileName)); }; compilerHost.resolveModuleNames = ts.maybeBind(host, host.resolveModuleNames); compilerHost.resolveTypeReferenceDirectives = ts.maybeBind(host, host.resolveTypeReferenceDirectives); + compilerHost.getModuleResolutionCache = ts.maybeBind(host, host.getModuleResolutionCache); var moduleResolutionCache = !compilerHost.resolveModuleNames ? ts.createModuleResolutionCache(currentDirectory, getCanonicalFileName) : undefined; var typeReferenceDirectiveResolutionCache = !compilerHost.resolveTypeReferenceDirectives ? ts.createTypeReferenceDirectiveResolutionCache(currentDirectory, getCanonicalFileName, /*options*/ undefined, moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache()) : undefined; if (!compilerHost.resolveModuleNames) { @@ -124116,6 +126086,7 @@ var ts; return ts.loadWithTypeDirectiveCache(ts.Debug.checkEachDefined(typeReferenceDirectiveNames), containingFile, redirectedReference, containingFileMode, loader_4); }; } + compilerHost.getBuildInfo = function (fileName, configFilePath) { return getBuildInfo(state, fileName, toResolvedConfigFilePath(state, configFilePath), /*modifiedTime*/ undefined); }; var _a = ts.createWatchFactory(hostWithWatch, options), watchFile = _a.watchFile, watchDirectory = _a.watchDirectory, writeLog = _a.writeLog; var state = { host: host, @@ -124132,8 +126103,9 @@ var ts; resolvedConfigFilePaths: new ts.Map(), configFileCache: new ts.Map(), projectStatus: new ts.Map(), - buildInfoChecked: new ts.Map(), extendedConfigCache: new ts.Map(), + buildInfoCache: new ts.Map(), + outputTimeStamps: new ts.Map(), builderPrograms: new ts.Map(), diagnostics: new ts.Map(), projectPendingBuild: new ts.Map(), @@ -124149,7 +126121,6 @@ var ts; allProjectBuildPending: true, needsSummary: true, watchAllProjectsPending: watch, - currentInvalidatedProject: undefined, // Watch state watch: watch, allWatchedWildcardDirectories: new ts.Map(), @@ -124157,6 +126128,7 @@ var ts; allWatchedConfigFiles: new ts.Map(), allWatchedExtendedConfigFiles: new ts.Map(), allWatchedPackageJsonFiles: new ts.Map(), + filesWatched: new ts.Map(), lastCachedPackageJsonLookups: new ts.Map(), timerToBuildInvalidatedProject: undefined, reportFileChangeDetected: false, @@ -124263,11 +126235,12 @@ var ts; // Config file cache ts.mutateMapSkippingNewValues(state.configFileCache, currentProjects, noopOnDelete); ts.mutateMapSkippingNewValues(state.projectStatus, currentProjects, noopOnDelete); - ts.mutateMapSkippingNewValues(state.buildInfoChecked, currentProjects, noopOnDelete); ts.mutateMapSkippingNewValues(state.builderPrograms, currentProjects, noopOnDelete); ts.mutateMapSkippingNewValues(state.diagnostics, currentProjects, noopOnDelete); ts.mutateMapSkippingNewValues(state.projectPendingBuild, currentProjects, noopOnDelete); ts.mutateMapSkippingNewValues(state.projectErrorsReported, currentProjects, noopOnDelete); + ts.mutateMapSkippingNewValues(state.buildInfoCache, currentProjects, noopOnDelete); + ts.mutateMapSkippingNewValues(state.outputTimeStamps, currentProjects, noopOnDelete); // Remove watches for the program no longer in the solution if (state.watch) { ts.mutateMapSkippingNewValues(state.allWatchedConfigFiles, currentProjects, { onDeleteValue: ts.closeFileWatcher }); @@ -124382,7 +126355,6 @@ var ts; })(InvalidatedProjectKind = ts.InvalidatedProjectKind || (ts.InvalidatedProjectKind = {})); function doneInvalidatedProject(state, projectPath) { state.projectPendingBuild.delete(projectPath); - state.currentInvalidatedProject = undefined; return state.diagnostics.has(projectPath) ? ts.ExitStatus.DiagnosticsPresent_OutputsSkipped : ts.ExitStatus.Success; @@ -124558,21 +126530,21 @@ var ts; } function emit(writeFileCallback, cancellationToken, customTransformers) { var _a; - var _b, _c; + var _b, _c, _d; ts.Debug.assertIsDefined(program); ts.Debug.assert(step === BuildStep.Emit); // Before emitting lets backup state, so we can revert it back if there are declaration errors to handle emit and declaration errors correctly - program.backupState(); + var saved = program.saveEmitState(); var declDiagnostics; var reportDeclarationDiagnostics = function (d) { return (declDiagnostics || (declDiagnostics = [])).push(d); }; var outputFiles = []; var emitResult = ts.emitFilesAndReportErrors(program, reportDeclarationDiagnostics, /*write*/ undefined, - /*reportSummary*/ undefined, function (name, text, writeByteOrderMark) { return outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark }); }, cancellationToken, + /*reportSummary*/ undefined, function (name, text, writeByteOrderMark, _onError, _sourceFiles, data) { return outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark, buildInfo: data === null || data === void 0 ? void 0 : data.buildInfo }); }, cancellationToken, /*emitOnlyDts*/ false, customTransformers || ((_c = (_b = state.host).getCustomTransformers) === null || _c === void 0 ? void 0 : _c.call(_b, project))).emitResult; // Don't emit .d.ts if there are decl file errors if (declDiagnostics) { - program.restoreState(); + program.restoreEmitState(saved); (_a = buildErrors(state, projectPath, program, config, declDiagnostics, BuildResultFlags.DeclarationEmitErrors, "Declaration file"), buildResult = _a.buildResult, step = _a.step); return { emitSkipped: true, @@ -124581,38 +126553,38 @@ var ts; } // Actual Emit var host = state.host, compilerHost = state.compilerHost; - var resultFlags = BuildResultFlags.DeclarationOutputUnchanged; - var newestDeclarationFileContentChangedTime = minimumDate; - var anyDtsChanged = false; + var resultFlags = ((_d = program.hasChangedEmitSignature) === null || _d === void 0 ? void 0 : _d.call(program)) ? BuildResultFlags.None : BuildResultFlags.DeclarationOutputUnchanged; var emitterDiagnostics = ts.createDiagnosticCollection(); var emittedOutputs = new ts.Map(); + var options = program.getCompilerOptions(); + var isIncremental = ts.isIncrementalCompilation(options); + var outputTimeStampMap; + var now; outputFiles.forEach(function (_a) { - var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark; - var priorChangeTime; - if (!anyDtsChanged && ts.isDeclarationFileName(name)) { - // Check for unchanged .d.ts files - if (host.fileExists(name) && state.readFileWithCache(name) === text) { - priorChangeTime = host.getModifiedTime(name); - } - else { - resultFlags &= ~BuildResultFlags.DeclarationOutputUnchanged; - anyDtsChanged = true; - } - } + var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark, buildInfo = _a.buildInfo; + var path = toPath(state, name); emittedOutputs.set(toPath(state, name), name); + if (buildInfo) + setBuildInfo(state, buildInfo, projectPath, options, resultFlags); ts.writeFile(writeFileCallback ? { writeFile: writeFileCallback } : compilerHost, emitterDiagnostics, name, text, writeByteOrderMark); - if (priorChangeTime !== undefined) { - newestDeclarationFileContentChangedTime = newer(priorChangeTime, newestDeclarationFileContentChangedTime); + if (!isIncremental && state.watch) { + (outputTimeStampMap || (outputTimeStampMap = getOutputTimeStampMap(state, projectPath))).set(path, now || (now = getCurrentTime(state.host))); } }); - finishEmit(emitterDiagnostics, emittedOutputs, newestDeclarationFileContentChangedTime, - /*newestDeclarationFileContentChangedTimeIsMaximumDate*/ anyDtsChanged, outputFiles.length ? outputFiles[0].name : ts.getFirstProjectOutput(config, !host.useCaseSensitiveFileNames()), resultFlags); + finishEmit(emitterDiagnostics, emittedOutputs, outputFiles.length ? outputFiles[0].name : ts.getFirstProjectOutput(config, !host.useCaseSensitiveFileNames()), resultFlags); return emitResult; } function emitBuildInfo(writeFileCallback, cancellationToken) { ts.Debug.assertIsDefined(program); ts.Debug.assert(step === BuildStep.EmitBuildInfo); - var emitResult = program.emitBuildInfo(writeFileCallback, cancellationToken); + var emitResult = program.emitBuildInfo(function (name, text, writeByteOrderMark, onError, sourceFiles, data) { + if (data === null || data === void 0 ? void 0 : data.buildInfo) + setBuildInfo(state, data.buildInfo, projectPath, program.getCompilerOptions(), BuildResultFlags.DeclarationOutputUnchanged); + if (writeFileCallback) + writeFileCallback(name, text, writeByteOrderMark, onError, sourceFiles, data); + else + state.compilerHost.writeFile(name, text, writeByteOrderMark, onError, sourceFiles, data); + }, cancellationToken); if (emitResult.diagnostics.length) { reportErrors(state, emitResult.diagnostics); state.diagnostics.set(projectPath, __spreadArray(__spreadArray([], state.diagnostics.get(projectPath), true), emitResult.diagnostics, true)); @@ -124625,7 +126597,7 @@ var ts; step = BuildStep.QueueReferencingProjects; return emitResult; } - function finishEmit(emitterDiagnostics, emittedOutputs, priorNewestUpdateTime, newestDeclarationFileContentChangedTimeIsMaximumDate, oldestOutputFileName, resultFlags) { + function finishEmit(emitterDiagnostics, emittedOutputs, oldestOutputFileName, resultFlags) { var _a; var emitDiagnostics = emitterDiagnostics.getDiagnostics(); if (emitDiagnostics.length) { @@ -124636,13 +126608,10 @@ var ts; emittedOutputs.forEach(function (name) { return listEmittedFile(state, config, name); }); } // Update time stamps for rest of the outputs - var newestDeclarationFileContentChangedTime = updateOutputTimestampsWorker(state, config, priorNewestUpdateTime, ts.Diagnostics.Updating_unchanged_output_timestamps_of_project_0, emittedOutputs); + updateOutputTimestampsWorker(state, config, projectPath, ts.Diagnostics.Updating_unchanged_output_timestamps_of_project_0, emittedOutputs); state.diagnostics.delete(projectPath); state.projectStatus.set(projectPath, { type: ts.UpToDateStatusType.UpToDate, - newestDeclarationFileContentChangedTime: newestDeclarationFileContentChangedTimeIsMaximumDate ? - maximumDate : - newestDeclarationFileContentChangedTime, oldestOutputFileName: oldestOutputFileName }); afterProgramDone(state, program, config); @@ -124677,13 +126646,21 @@ var ts; ts.Debug.assert(!!outputFiles.length); var emitterDiagnostics = ts.createDiagnosticCollection(); var emittedOutputs = new ts.Map(); + var resultFlags = BuildResultFlags.DeclarationOutputUnchanged; + var existingBuildInfo = state.buildInfoCache.get(projectPath).buildInfo; outputFiles.forEach(function (_a) { - var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark; + var _b, _c; + var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark, buildInfo = _a.buildInfo; emittedOutputs.set(toPath(state, name), name); + if (buildInfo) { + if (((_b = buildInfo.program) === null || _b === void 0 ? void 0 : _b.outSignature) !== ((_c = existingBuildInfo.program) === null || _c === void 0 ? void 0 : _c.outSignature)) { + resultFlags &= ~BuildResultFlags.DeclarationOutputUnchanged; + } + setBuildInfo(state, buildInfo, projectPath, config.options, resultFlags); + } ts.writeFile(writeFileCallback ? { writeFile: writeFileCallback } : compilerHost, emitterDiagnostics, name, text, writeByteOrderMark); }); - var emitDiagnostics = finishEmit(emitterDiagnostics, emittedOutputs, minimumDate, - /*newestDeclarationFileContentChangedTimeIsMaximumDate*/ false, outputFiles[0].name, BuildResultFlags.DeclarationOutputUnchanged); + var emitDiagnostics = finishEmit(emitterDiagnostics, emittedOutputs, outputFiles[0].name, resultFlags); return { emitSkipped: false, diagnostics: emitDiagnostics }; } function executeSteps(till, cancellationToken, writeFile, customTransformers) { @@ -124733,17 +126710,11 @@ var ts; !!ts.getConfigFileParsingDiagnostics(config).length || !ts.isIncrementalCompilation(config.options); } - function getNextInvalidatedProject(state, buildOrder, reportQueue) { + function getNextInvalidatedProjectCreateInfo(state, buildOrder, reportQueue) { if (!state.projectPendingBuild.size) return undefined; if (isCircularBuildOrder(buildOrder)) return undefined; - if (state.currentInvalidatedProject) { - // Only if same buildOrder the currentInvalidated project can be sent again - return ts.arrayIsEqualTo(state.currentInvalidatedProject.buildOrder, buildOrder) ? - state.currentInvalidatedProject : - undefined; - } var options = state.options, projectPendingBuild = state.projectPendingBuild; for (var projectIndex = 0; projectIndex < buildOrder.length; projectIndex++) { var project = buildOrder[projectIndex]; @@ -124776,9 +126747,9 @@ var ts; watchPackageJsonFiles(state, project, projectPath, config); } var status = getUpToDateStatus(state, config, projectPath); - verboseReportProjectStatus(state, project, status); if (!options.force) { if (status.type === ts.UpToDateStatusType.UpToDate) { + verboseReportProjectStatus(state, project, status); reportAndStoreErrors(state, projectPath, ts.getConfigFileParsingDiagnostics(config)); projectPendingBuild.delete(projectPath); // Up to date, skip @@ -124788,12 +126759,20 @@ var ts; } continue; } - if (status.type === ts.UpToDateStatusType.UpToDateWithUpstreamTypes) { + if (status.type === ts.UpToDateStatusType.UpToDateWithUpstreamTypes || status.type === ts.UpToDateStatusType.UpToDateWithInputFileText) { reportAndStoreErrors(state, projectPath, ts.getConfigFileParsingDiagnostics(config)); - return createUpdateOutputFileStampsProject(state, project, projectPath, config, buildOrder); + return { + kind: InvalidatedProjectKind.UpdateOutputFileStamps, + status: status, + project: project, + projectPath: projectPath, + projectIndex: projectIndex, + config: config + }; } } if (status.type === ts.UpToDateStatusType.UpstreamBlocked) { + verboseReportProjectStatus(state, project, status); reportAndStoreErrors(state, projectPath, ts.getConfigFileParsingDiagnostics(config)); projectPendingBuild.delete(projectPath); if (options.verbose) { @@ -124804,17 +126783,37 @@ var ts; continue; } if (status.type === ts.UpToDateStatusType.ContainerOnly) { + verboseReportProjectStatus(state, project, status); reportAndStoreErrors(state, projectPath, ts.getConfigFileParsingDiagnostics(config)); projectPendingBuild.delete(projectPath); // Do nothing continue; } - return createBuildOrUpdateInvalidedProject(needsBuild(state, status, config) ? - InvalidatedProjectKind.Build : - InvalidatedProjectKind.UpdateBundle, state, project, projectPath, projectIndex, config, buildOrder); + return { + kind: needsBuild(state, status, config) ? + InvalidatedProjectKind.Build : + InvalidatedProjectKind.UpdateBundle, + status: status, + project: project, + projectPath: projectPath, + projectIndex: projectIndex, + config: config, + }; } return undefined; } + function createInvalidatedProjectWithInfo(state, info, buildOrder) { + verboseReportProjectStatus(state, info.project, info.status); + return info.kind !== InvalidatedProjectKind.UpdateOutputFileStamps ? + createBuildOrUpdateInvalidedProject(info.kind, state, info.project, info.projectPath, info.projectIndex, info.config, buildOrder) : + createUpdateOutputFileStampsProject(state, info.project, info.projectPath, info.config, buildOrder); + } + function getNextInvalidatedProject(state, buildOrder, reportQueue) { + var info = getNextInvalidatedProjectCreateInfo(state, buildOrder, reportQueue); + if (!info) + return info; + return createInvalidatedProjectWithInfo(state, info, buildOrder); + } function listEmittedFile(_a, proj, file) { var write = _a.write; if (write && proj.options.listEmittedFiles) { @@ -124832,7 +126831,7 @@ var ts; } function afterProgramDone(state, program, config) { if (program) { - if (program && state.write) + if (state.write) ts.listFiles(program, state.write); if (state.host.afterProgramEmitAndDiagnostics) { state.host.afterProgramEmitAndDiagnostics(program); @@ -124845,7 +126844,8 @@ var ts; state.projectCompilerOptions = state.baseCompilerOptions; } function buildErrors(state, resolvedPath, program, config, diagnostics, buildResult, errorType) { - var canEmitBuildInfo = !(buildResult & BuildResultFlags.SyntaxErrors) && program && !ts.outFile(program.getCompilerOptions()); + // Since buildinfo has changeset and diagnostics when doing multi file emit, only --out cannot emit buildinfo if it has errors + var canEmitBuildInfo = program && !ts.outFile(program.getCompilerOptions()); reportAndStoreErrors(state, resolvedPath, diagnostics); state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: "".concat(errorType, " errors") }); if (canEmitBuildInfo) @@ -124853,9 +126853,107 @@ var ts; afterProgramDone(state, program, config); return { buildResult: buildResult, step: BuildStep.QueueReferencingProjects }; } + function isFileWatcherWithModifiedTime(value) { + return !!value.watcher; + } + function getModifiedTime(state, fileName) { + var path = toPath(state, fileName); + var existing = state.filesWatched.get(path); + if (state.watch && !!existing) { + if (!isFileWatcherWithModifiedTime(existing)) + return existing; + if (existing.modifiedTime) + return existing.modifiedTime; + } + // In watch mode we store the modified times in the cache + // This is either Date | FileWatcherWithModifiedTime because we query modified times first and + // then after complete compilation of the project, watch the files so we dont want to loose these modified times. + var result = ts.getModifiedTime(state.host, fileName); + if (state.watch) { + if (existing) + existing.modifiedTime = result; + else + state.filesWatched.set(path, result); + } + return result; + } + function watchFile(state, file, callback, pollingInterval, options, watchType, project) { + var path = toPath(state, file); + var existing = state.filesWatched.get(path); + if (existing && isFileWatcherWithModifiedTime(existing)) { + existing.callbacks.push(callback); + } + else { + var watcher = state.watchFile(file, function (fileName, eventKind, modifiedTime) { + var existing = ts.Debug.checkDefined(state.filesWatched.get(path)); + ts.Debug.assert(isFileWatcherWithModifiedTime(existing)); + existing.modifiedTime = modifiedTime; + existing.callbacks.forEach(function (cb) { return cb(fileName, eventKind, modifiedTime); }); + }, pollingInterval, options, watchType, project); + state.filesWatched.set(path, { callbacks: [callback], watcher: watcher, modifiedTime: existing }); + } + return { + close: function () { + var existing = ts.Debug.checkDefined(state.filesWatched.get(path)); + ts.Debug.assert(isFileWatcherWithModifiedTime(existing)); + if (existing.callbacks.length === 1) { + state.filesWatched.delete(path); + ts.closeFileWatcherOf(existing); + } + else { + ts.unorderedRemoveItem(existing.callbacks, callback); + } + } + }; + } + function getOutputTimeStampMap(state, resolvedConfigFilePath) { + // Output timestamps are stored only in watch mode + if (!state.watch) + return undefined; + var result = state.outputTimeStamps.get(resolvedConfigFilePath); + if (!result) + state.outputTimeStamps.set(resolvedConfigFilePath, result = new ts.Map()); + return result; + } + function setBuildInfo(state, buildInfo, resolvedConfigPath, options, resultFlags) { + var buildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(options); + var existing = getBuildInfoCacheEntry(state, buildInfoPath, resolvedConfigPath); + var modifiedTime = getCurrentTime(state.host); + if (existing) { + existing.buildInfo = buildInfo; + existing.modifiedTime = modifiedTime; + if (!(resultFlags & BuildResultFlags.DeclarationOutputUnchanged)) + existing.latestChangedDtsTime = modifiedTime; + } + else { + state.buildInfoCache.set(resolvedConfigPath, { + path: toPath(state, buildInfoPath), + buildInfo: buildInfo, + modifiedTime: modifiedTime, + latestChangedDtsTime: resultFlags & BuildResultFlags.DeclarationOutputUnchanged ? undefined : modifiedTime, + }); + } + } + function getBuildInfoCacheEntry(state, buildInfoPath, resolvedConfigPath) { + var path = toPath(state, buildInfoPath); + var existing = state.buildInfoCache.get(resolvedConfigPath); + return (existing === null || existing === void 0 ? void 0 : existing.path) === path ? existing : undefined; + } + function getBuildInfo(state, buildInfoPath, resolvedConfigPath, modifiedTime) { + var path = toPath(state, buildInfoPath); + var existing = state.buildInfoCache.get(resolvedConfigPath); + if (existing !== undefined && existing.path === path) { + return existing.buildInfo || undefined; + } + var value = state.readFileWithCache(buildInfoPath); + var buildInfo = value ? ts.getBuildInfo(value) : undefined; + ts.Debug.assert(modifiedTime || !buildInfo); + state.buildInfoCache.set(resolvedConfigPath, { path: path, buildInfo: buildInfo || false, modifiedTime: modifiedTime || ts.missingFileModifiedTime }); + return buildInfo; + } function checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName) { // Check tsconfig time - var tsconfigTime = ts.getModifiedTime(state.host, configFile); + var tsconfigTime = getModifiedTime(state, configFile); if (oldestOutputFileTime < tsconfigTime) { return { type: ts.UpToDateStatusType.OutOfDateWithSelf, @@ -124865,88 +126963,24 @@ var ts; } } function getUpToDateStatusWorker(state, project, resolvedPath) { - var force = !!state.options.force; - var newestInputFileName = undefined; - var newestInputFileTime = minimumDate; - var host = state.host; - // Get timestamps of input files - for (var _i = 0, _a = project.fileNames; _i < _a.length; _i++) { - var inputFile = _a[_i]; - if (!host.fileExists(inputFile)) { - return { - type: ts.UpToDateStatusType.Unbuildable, - reason: "".concat(inputFile, " does not exist") - }; - } - if (!force) { - var inputTime = ts.getModifiedTime(host, inputFile); - if (inputTime > newestInputFileTime) { - newestInputFileName = inputFile; - newestInputFileTime = inputTime; - } - } - } + var _a, _b; // Container if no files are specified in the project if (!project.fileNames.length && !ts.canJsonReportNoInputFiles(project.raw)) { return { type: ts.UpToDateStatusType.ContainerOnly }; } - // Collect the expected outputs of this project - var outputs = ts.getAllProjectOutputs(project, !host.useCaseSensitiveFileNames()); - // Now see if all outputs are newer than the newest input - var oldestOutputFileName = "(none)"; - var oldestOutputFileTime = maximumDate; - var newestOutputFileName = "(none)"; - var newestOutputFileTime = minimumDate; - var missingOutputFileName; - var newestDeclarationFileContentChangedTime = minimumDate; - var isOutOfDateWithInputs = false; - if (!force) { - for (var _b = 0, outputs_1 = outputs; _b < outputs_1.length; _b++) { - var output = outputs_1[_b]; - // Output is missing; can stop checking - // Don't immediately return because we can still be upstream-blocked, which is a higher-priority status - if (!host.fileExists(output)) { - missingOutputFileName = output; - break; - } - var outputTime = ts.getModifiedTime(host, output); - if (outputTime < oldestOutputFileTime) { - oldestOutputFileTime = outputTime; - oldestOutputFileName = output; - } - // If an output is older than the newest input, we can stop checking - // Don't immediately return because we can still be upstream-blocked, which is a higher-priority status - if (outputTime < newestInputFileTime) { - isOutOfDateWithInputs = true; - break; - } - if (outputTime > newestOutputFileTime) { - newestOutputFileTime = outputTime; - newestOutputFileName = output; - } - // Keep track of when the most recent time a .d.ts file was changed. - // In addition to file timestamps, we also keep track of when a .d.ts file - // had its file touched but not had its contents changed - this allows us - // to skip a downstream typecheck - if (ts.isDeclarationFileName(output)) { - var outputModifiedTime = ts.getModifiedTime(host, output); - newestDeclarationFileContentChangedTime = newer(newestDeclarationFileContentChangedTime, outputModifiedTime); - } - } - } - var pseudoUpToDate = false; - var usesPrepend = false; - var upstreamChangedProject; + // Fast check to see if reference projects are upto date and error free + var referenceStatuses; + var force = !!state.options.force; if (project.projectReferences) { state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.ComputingUpstream }); - for (var _c = 0, _d = project.projectReferences; _c < _d.length; _c++) { - var ref = _d[_c]; - usesPrepend = usesPrepend || !!(ref.prepend); + for (var _i = 0, _c = project.projectReferences; _i < _c.length; _i++) { + var ref = _c[_i]; var resolvedRef = ts.resolveProjectReferencePath(ref); var resolvedRefPath = toResolvedConfigFilePath(state, resolvedRef); - var refStatus = getUpToDateStatus(state, parseConfigFile(state, resolvedRef, resolvedRefPath), resolvedRefPath); + var resolvedConfig = parseConfigFile(state, resolvedRef, resolvedRefPath); + var refStatus = getUpToDateStatus(state, resolvedConfig, resolvedRefPath); // Its a circular reference ignore the status of this project if (refStatus.type === ts.UpToDateStatusType.ComputingUpstream || refStatus.type === ts.UpToDateStatusType.ContainerOnly) { // Container only ignore this project @@ -124968,75 +127002,192 @@ var ts; upstreamProjectName: ref.path }; } - // Check oldest output file name only if there is no missing output file name - // (a check we will have skipped if this is a forced build) - if (!force && !missingOutputFileName) { - // If the upstream project's newest file is older than our oldest output, we - // can't be out of date because of it - if (refStatus.newestInputFileTime && refStatus.newestInputFileTime <= oldestOutputFileTime) { - continue; - } - // If the upstream project has only change .d.ts files, and we've built - // *after* those files, then we're "psuedo up to date" and eligible for a fast rebuild - if (refStatus.newestDeclarationFileContentChangedTime && refStatus.newestDeclarationFileContentChangedTime <= oldestOutputFileTime) { - pseudoUpToDate = true; - upstreamChangedProject = ref.path; - continue; - } - // We have an output older than an upstream output - we are out of date - ts.Debug.assert(oldestOutputFileName !== undefined, "Should have an oldest output filename here"); + if (!force) + (referenceStatuses || (referenceStatuses = [])).push({ ref: ref, refStatus: refStatus, resolvedRefPath: resolvedRefPath, resolvedConfig: resolvedConfig }); + } + } + if (force) + return { type: ts.UpToDateStatusType.ForceBuild }; + // Check buildinfo first + var host = state.host; + var buildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(project.options); + var oldestOutputFileName; + var oldestOutputFileTime = maximumDate; + var buildInfoTime; + var buildInfoProgram; + var buildInfoVersionMap; + if (buildInfoPath) { + var buildInfoCacheEntry_1 = getBuildInfoCacheEntry(state, buildInfoPath, resolvedPath); + buildInfoTime = (buildInfoCacheEntry_1 === null || buildInfoCacheEntry_1 === void 0 ? void 0 : buildInfoCacheEntry_1.modifiedTime) || ts.getModifiedTime(host, buildInfoPath); + if (buildInfoTime === ts.missingFileModifiedTime) { + if (!buildInfoCacheEntry_1) { + state.buildInfoCache.set(resolvedPath, { + path: toPath(state, buildInfoPath), + buildInfo: false, + modifiedTime: buildInfoTime + }); + } + return { + type: ts.UpToDateStatusType.OutputMissing, + missingOutputFileName: buildInfoPath + }; + } + var buildInfo = ts.Debug.checkDefined(getBuildInfo(state, buildInfoPath, resolvedPath, buildInfoTime)); + if ((buildInfo.bundle || buildInfo.program) && buildInfo.version !== ts.version) { + return { + type: ts.UpToDateStatusType.TsVersionOutputOfDate, + version: buildInfo.version + }; + } + if (buildInfo.program) { + // If there are pending changes that are not emitted, project is out of date + if (((_a = buildInfo.program.changeFileSet) === null || _a === void 0 ? void 0 : _a.length) || + (!project.options.noEmit && ((_b = buildInfo.program.affectedFilesPendingEmit) === null || _b === void 0 ? void 0 : _b.length))) { return { - type: ts.UpToDateStatusType.OutOfDateWithUpstream, - outOfDateOutputFileName: oldestOutputFileName, - newerProjectName: ref.path + type: ts.UpToDateStatusType.OutOfDateBuildInfo, + buildInfoFile: buildInfoPath }; } + buildInfoProgram = buildInfo.program; } + oldestOutputFileTime = buildInfoTime; + oldestOutputFileName = buildInfoPath; } - if (missingOutputFileName !== undefined) { - return { - type: ts.UpToDateStatusType.OutputMissing, - missingOutputFileName: missingOutputFileName - }; + // Check input files + var newestInputFileName = undefined; + var newestInputFileTime = minimumDate; + /** True if input file has changed timestamp but text is not changed, we can then do only timestamp updates on output to make it look up-to-date later */ + var pseudoInputUpToDate = false; + // Get timestamps of input files + for (var _d = 0, _e = project.fileNames; _d < _e.length; _d++) { + var inputFile = _e[_d]; + var inputTime = getModifiedTime(state, inputFile); + if (inputTime === ts.missingFileModifiedTime) { + return { + type: ts.UpToDateStatusType.Unbuildable, + reason: "".concat(inputFile, " does not exist") + }; + } + // If an buildInfo is older than the newest input, we can stop checking + if (buildInfoTime && buildInfoTime < inputTime) { + var version_3 = void 0; + var currentVersion = void 0; + if (buildInfoProgram) { + // Read files and see if they are same, read is anyways cached + if (!buildInfoVersionMap) + buildInfoVersionMap = ts.getBuildInfoFileVersionMap(buildInfoProgram, buildInfoPath, host); + version_3 = buildInfoVersionMap.get(toPath(state, inputFile)); + var text = version_3 ? state.readFileWithCache(inputFile) : undefined; + currentVersion = text && (host.createHash || ts.generateDjb2Hash)(text); + if (version_3 && version_3 === currentVersion) + pseudoInputUpToDate = true; + } + if (!version_3 || version_3 !== currentVersion) { + return { + type: ts.UpToDateStatusType.OutOfDateWithSelf, + outOfDateOutputFileName: buildInfoPath, + newerInputFileName: inputFile + }; + } + } + if (inputTime > newestInputFileTime) { + newestInputFileName = inputFile; + newestInputFileTime = inputTime; + } } - if (isOutOfDateWithInputs) { - return { - type: ts.UpToDateStatusType.OutOfDateWithSelf, - outOfDateOutputFileName: oldestOutputFileName, - newerInputFileName: newestInputFileName - }; + // Now see if all outputs are newer than the newest input + // Dont check output timestamps if we have buildinfo telling us output is uptodate + if (!buildInfoPath) { + // Collect the expected outputs of this project + var outputs = ts.getAllProjectOutputs(project, !host.useCaseSensitiveFileNames()); + var outputTimeStampMap = getOutputTimeStampMap(state, resolvedPath); + for (var _f = 0, outputs_1 = outputs; _f < outputs_1.length; _f++) { + var output = outputs_1[_f]; + var path = toPath(state, output); + // Output is missing; can stop checking + var outputTime = outputTimeStampMap === null || outputTimeStampMap === void 0 ? void 0 : outputTimeStampMap.get(path); + if (!outputTime) { + outputTime = ts.getModifiedTime(state.host, output); + outputTimeStampMap === null || outputTimeStampMap === void 0 ? void 0 : outputTimeStampMap.set(path, outputTime); + } + if (outputTime === ts.missingFileModifiedTime) { + return { + type: ts.UpToDateStatusType.OutputMissing, + missingOutputFileName: output + }; + } + // If an output is older than the newest input, we can stop checking + if (outputTime < newestInputFileTime) { + return { + type: ts.UpToDateStatusType.OutOfDateWithSelf, + outOfDateOutputFileName: output, + newerInputFileName: newestInputFileName + }; + } + // No need to get newestDeclarationFileContentChangedTime since thats needed only for composite projects + // And composite projects are the only ones that can be referenced + if (outputTime < oldestOutputFileTime) { + oldestOutputFileTime = outputTime; + oldestOutputFileName = output; + } + } } - else { - // Check tsconfig time - var configStatus = checkConfigFileUpToDateStatus(state, project.options.configFilePath, oldestOutputFileTime, oldestOutputFileName); - if (configStatus) - return configStatus; - // Check extended config time - var extendedConfigStatus = ts.forEach(project.options.configFile.extendedSourceFiles || ts.emptyArray, function (configFile) { return checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName); }); - if (extendedConfigStatus) - return extendedConfigStatus; - // Check package file time - var dependentPackageFileStatus = ts.forEach(state.lastCachedPackageJsonLookups.get(resolvedPath) || ts.emptyArray, function (_a) { - var path = _a[0]; - return checkConfigFileUpToDateStatus(state, path, oldestOutputFileTime, oldestOutputFileName); - }); - if (dependentPackageFileStatus) - return dependentPackageFileStatus; - } - if (!force && !state.buildInfoChecked.has(resolvedPath)) { - state.buildInfoChecked.set(resolvedPath, true); - var buildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(project.options); - if (buildInfoPath) { - var value = state.readFileWithCache(buildInfoPath); - var buildInfo = value && ts.getBuildInfo(value); - if (buildInfo && (buildInfo.bundle || buildInfo.program) && buildInfo.version !== ts.version) { + var seenRefs = buildInfoPath ? new ts.Set() : undefined; + var buildInfoCacheEntry = state.buildInfoCache.get(resolvedPath); + seenRefs === null || seenRefs === void 0 ? void 0 : seenRefs.add(resolvedPath); + /** Inputs are up-to-date, just need either timestamp update or bundle prepend manipulation to make it look up-to-date */ + var pseudoUpToDate = false; + var usesPrepend = false; + var upstreamChangedProject; + if (referenceStatuses) { + for (var _g = 0, referenceStatuses_1 = referenceStatuses; _g < referenceStatuses_1.length; _g++) { + var _h = referenceStatuses_1[_g], ref = _h.ref, refStatus = _h.refStatus, resolvedConfig = _h.resolvedConfig, resolvedRefPath = _h.resolvedRefPath; + usesPrepend = usesPrepend || !!(ref.prepend); + // If the upstream project's newest file is older than our oldest output, we + // can't be out of date because of it + if (refStatus.newestInputFileTime && refStatus.newestInputFileTime <= oldestOutputFileTime) { + continue; + } + // Check if tsbuildinfo path is shared, then we need to rebuild + if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath)) { return { - type: ts.UpToDateStatusType.TsVersionOutputOfDate, - version: buildInfo.version + type: ts.UpToDateStatusType.OutOfDateWithUpstream, + outOfDateOutputFileName: buildInfoPath, + newerProjectName: ref.path }; } + // If the upstream project has only change .d.ts files, and we've built + // *after* those files, then we're "psuedo up to date" and eligible for a fast rebuild + var newestDeclarationFileContentChangedTime = getLatestChangedDtsTime(state, resolvedConfig.options, resolvedRefPath); + if (newestDeclarationFileContentChangedTime && newestDeclarationFileContentChangedTime <= oldestOutputFileTime) { + pseudoUpToDate = true; + upstreamChangedProject = ref.path; + continue; + } + // We have an output older than an upstream output - we are out of date + ts.Debug.assert(oldestOutputFileName !== undefined, "Should have an oldest output filename here"); + return { + type: ts.UpToDateStatusType.OutOfDateWithUpstream, + outOfDateOutputFileName: oldestOutputFileName, + newerProjectName: ref.path + }; } } + // Check tsconfig time + var configStatus = checkConfigFileUpToDateStatus(state, project.options.configFilePath, oldestOutputFileTime, oldestOutputFileName); + if (configStatus) + return configStatus; + // Check extended config time + var extendedConfigStatus = ts.forEach(project.options.configFile.extendedSourceFiles || ts.emptyArray, function (configFile) { return checkConfigFileUpToDateStatus(state, configFile, oldestOutputFileTime, oldestOutputFileName); }); + if (extendedConfigStatus) + return extendedConfigStatus; + // Check package file time + var dependentPackageFileStatus = ts.forEach(state.lastCachedPackageJsonLookups.get(resolvedPath) || ts.emptyArray, function (_a) { + var path = _a[0]; + return checkConfigFileUpToDateStatus(state, path, oldestOutputFileTime, oldestOutputFileName); + }); + if (dependentPackageFileStatus) + return dependentPackageFileStatus; if (usesPrepend && pseudoUpToDate) { return { type: ts.UpToDateStatusType.OutOfDateWithPrepend, @@ -125046,15 +127197,36 @@ var ts; } // Up to date return { - type: pseudoUpToDate ? ts.UpToDateStatusType.UpToDateWithUpstreamTypes : ts.UpToDateStatusType.UpToDate, - newestDeclarationFileContentChangedTime: newestDeclarationFileContentChangedTime, + type: pseudoUpToDate ? + ts.UpToDateStatusType.UpToDateWithUpstreamTypes : + pseudoInputUpToDate ? + ts.UpToDateStatusType.UpToDateWithInputFileText : + ts.UpToDateStatusType.UpToDate, newestInputFileTime: newestInputFileTime, - newestOutputFileTime: newestOutputFileTime, newestInputFileName: newestInputFileName, - newestOutputFileName: newestOutputFileName, oldestOutputFileName: oldestOutputFileName }; } + function hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath) { + if (seenRefs.has(resolvedRefPath)) + return false; + seenRefs.add(resolvedRefPath); + var refBuildInfo = state.buildInfoCache.get(resolvedRefPath); + if (refBuildInfo.path === buildInfoCacheEntry.path) + return true; + if (resolvedConfig.projectReferences) { + // Check references + for (var _i = 0, _a = resolvedConfig.projectReferences; _i < _a.length; _i++) { + var ref = _a[_i]; + var resolvedRef = ts.resolveProjectReferencePath(ref); + var resolvedRefPath_1 = toResolvedConfigFilePath(state, resolvedRef); + var resolvedConfig_1 = parseConfigFile(state, resolvedRef, resolvedRefPath_1); + if (hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig_1, resolvedRefPath_1)) + return true; + } + } + return false; + } function getUpToDateStatus(state, project, resolvedPath) { if (project === undefined) { return { type: ts.UpToDateStatusType.Unbuildable, reason: "File deleted mid-build" }; @@ -125067,39 +127239,71 @@ var ts; state.projectStatus.set(resolvedPath, actual); return actual; } - function updateOutputTimestampsWorker(state, proj, priorNewestUpdateTime, verboseMessage, skipOutputs) { + function updateOutputTimestampsWorker(state, proj, projectPath, verboseMessage, skipOutputs) { if (proj.options.noEmit) - return priorNewestUpdateTime; + return; + var now; + var buildInfoPath = ts.getTsBuildInfoEmitOutputFilePath(proj.options); + if (buildInfoPath) { + // For incremental projects, only buildinfo needs to be upto date with timestamp check + // as we dont check output files for up-to-date ness + if (!(skipOutputs === null || skipOutputs === void 0 ? void 0 : skipOutputs.has(toPath(state, buildInfoPath)))) { + if (!!state.options.verbose) + reportStatus(state, verboseMessage, proj.options.configFilePath); + state.host.setModifiedTime(buildInfoPath, now = getCurrentTime(state.host)); + getBuildInfoCacheEntry(state, buildInfoPath, projectPath).modifiedTime = now; + } + state.outputTimeStamps.delete(projectPath); + return; + } var host = state.host; var outputs = ts.getAllProjectOutputs(proj, !host.useCaseSensitiveFileNames()); + var outputTimeStampMap = getOutputTimeStampMap(state, projectPath); + var modifiedOutputs = outputTimeStampMap ? new ts.Set() : undefined; if (!skipOutputs || outputs.length !== skipOutputs.size) { var reportVerbose = !!state.options.verbose; - var now = host.now ? host.now() : new Date(); for (var _i = 0, outputs_2 = outputs; _i < outputs_2.length; _i++) { var file = outputs_2[_i]; - if (skipOutputs && skipOutputs.has(toPath(state, file))) { + var path = toPath(state, file); + if (skipOutputs === null || skipOutputs === void 0 ? void 0 : skipOutputs.has(path)) continue; - } if (reportVerbose) { reportVerbose = false; reportStatus(state, verboseMessage, proj.options.configFilePath); } - if (ts.isDeclarationFileName(file)) { - priorNewestUpdateTime = newer(priorNewestUpdateTime, ts.getModifiedTime(host, file)); + host.setModifiedTime(file, now || (now = getCurrentTime(state.host))); + // Store output timestamps in a map because non incremental build will need to check them to determine up-to-dateness + if (outputTimeStampMap) { + outputTimeStampMap.set(path, now); + modifiedOutputs.add(path); } - host.setModifiedTime(file, now); } } - return priorNewestUpdateTime; + // Clear out timestamps not in output list any more + outputTimeStampMap === null || outputTimeStampMap === void 0 ? void 0 : outputTimeStampMap.forEach(function (_value, key) { + if (!(skipOutputs === null || skipOutputs === void 0 ? void 0 : skipOutputs.has(key)) && !modifiedOutputs.has(key)) + outputTimeStampMap.delete(key); + }); + } + function getLatestChangedDtsTime(state, options, resolvedConfigPath) { + if (!options.composite) + return undefined; + var entry = ts.Debug.checkDefined(state.buildInfoCache.get(resolvedConfigPath)); + if (entry.latestChangedDtsTime !== undefined) + return entry.latestChangedDtsTime || undefined; + var latestChangedDtsTime = entry.buildInfo && entry.buildInfo.program && entry.buildInfo.program.latestChangedDtsFile ? + state.host.getModifiedTime(ts.getNormalizedAbsolutePath(entry.buildInfo.program.latestChangedDtsFile, ts.getDirectoryPath(entry.path))) : + undefined; + entry.latestChangedDtsTime = latestChangedDtsTime || false; + return latestChangedDtsTime; } function updateOutputTimestamps(state, proj, resolvedPath) { if (state.options.dry) { return reportStatus(state, ts.Diagnostics.A_non_dry_build_would_update_timestamps_for_output_of_project_0, proj.options.configFilePath); } - var priorNewestUpdateTime = updateOutputTimestampsWorker(state, proj, minimumDate, ts.Diagnostics.Updating_output_timestamps_of_project_0); + updateOutputTimestampsWorker(state, proj, resolvedPath, ts.Diagnostics.Updating_output_timestamps_of_project_0); state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.UpToDate, - newestDeclarationFileContentChangedTime: priorNewestUpdateTime, oldestOutputFileName: ts.getFirstProjectOutput(proj, !state.host.useCaseSensitiveFileNames()) }); } @@ -125145,6 +127349,7 @@ var ts; break; } // falls through + case ts.UpToDateStatusType.UpToDateWithInputFileText: case ts.UpToDateStatusType.UpToDateWithUpstreamTypes: case ts.UpToDateStatusType.OutOfDateWithPrepend: if (!(buildResult & BuildResultFlags.DeclarationOutputUnchanged)) { @@ -125255,9 +127460,9 @@ var ts; function invalidateProjectAndScheduleBuilds(state, resolvedPath, reloadLevel) { state.reportFileChangeDetected = true; invalidateProject(state, resolvedPath, reloadLevel); - scheduleBuildInvalidatedProject(state); + scheduleBuildInvalidatedProject(state, 250, /*changeDetected*/ true); } - function scheduleBuildInvalidatedProject(state) { + function scheduleBuildInvalidatedProject(state, time, changeDetected) { var hostWithWatch = state.hostWithWatch; if (!hostWithWatch.setTimeout || !hostWithWatch.clearTimeout) { return; @@ -125265,25 +127470,38 @@ var ts; if (state.timerToBuildInvalidatedProject) { hostWithWatch.clearTimeout(state.timerToBuildInvalidatedProject); } - state.timerToBuildInvalidatedProject = hostWithWatch.setTimeout(buildNextInvalidatedProject, 250, state); + state.timerToBuildInvalidatedProject = hostWithWatch.setTimeout(buildNextInvalidatedProject, time, state, changeDetected); } - function buildNextInvalidatedProject(state) { + function buildNextInvalidatedProject(state, changeDetected) { state.timerToBuildInvalidatedProject = undefined; if (state.reportFileChangeDetected) { state.reportFileChangeDetected = false; state.projectErrorsReported.clear(); reportWatchStatus(state, ts.Diagnostics.File_change_detected_Starting_incremental_compilation); } + var projectsBuilt = 0; var buildOrder = getBuildOrder(state); var invalidatedProject = getNextInvalidatedProject(state, buildOrder, /*reportQueue*/ false); if (invalidatedProject) { invalidatedProject.done(); - if (state.projectPendingBuild.size) { - // Schedule next project for build - if (state.watch && !state.timerToBuildInvalidatedProject) { - scheduleBuildInvalidatedProject(state); + projectsBuilt++; + while (state.projectPendingBuild.size) { + // If already scheduled, skip + if (state.timerToBuildInvalidatedProject) + return; + // Before scheduling check if the next project needs build + var info = getNextInvalidatedProjectCreateInfo(state, buildOrder, /*reportQueue*/ false); + if (!info) + break; // Nothing to build any more + if (info.kind !== InvalidatedProjectKind.UpdateOutputFileStamps && (changeDetected || projectsBuilt === 5)) { + // Schedule next project for build + scheduleBuildInvalidatedProject(state, 100, /*changeDetected*/ false); + return; } - return; + var project = createInvalidatedProjectWithInfo(state, info, buildOrder); + project.done(); + if (info.kind !== InvalidatedProjectKind.UpdateOutputFileStamps) + projectsBuilt++; } } disableCache(state); @@ -125292,12 +127510,10 @@ var ts; function watchConfigFile(state, resolved, resolvedPath, parsed) { if (!state.watch || state.allWatchedConfigFiles.has(resolvedPath)) return; - state.allWatchedConfigFiles.set(resolvedPath, state.watchFile(resolved, function () { - invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.Full); - }, ts.PollingInterval.High, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.ConfigFile, resolved)); + state.allWatchedConfigFiles.set(resolvedPath, watchFile(state, resolved, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.Full); }, ts.PollingInterval.High, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.ConfigFile, resolved)); } function watchExtendedConfigFiles(state, resolvedPath, parsed) { - ts.updateSharedExtendedConfigFileWatcher(resolvedPath, parsed === null || parsed === void 0 ? void 0 : parsed.options, state.allWatchedExtendedConfigFiles, function (extendedConfigFileName, extendedConfigFilePath) { return state.watchFile(extendedConfigFileName, function () { + ts.updateSharedExtendedConfigFileWatcher(resolvedPath, parsed === null || parsed === void 0 ? void 0 : parsed.options, state.allWatchedExtendedConfigFiles, function (extendedConfigFileName, extendedConfigFilePath) { return watchFile(state, extendedConfigFileName, function () { var _a; return (_a = state.allWatchedExtendedConfigFiles.get(extendedConfigFilePath)) === null || _a === void 0 ? void 0 : _a.projects.forEach(function (projectConfigFilePath) { return invalidateProjectAndScheduleBuilds(state, projectConfigFilePath, ts.ConfigFileProgramReloadLevel.Full); @@ -125329,7 +127545,7 @@ var ts; if (!state.watch) return; ts.mutateMap(getOrCreateValueMapFromConfigFileMap(state.allWatchedInputFiles, resolvedPath), ts.arrayToMap(parsed.fileNames, function (fileName) { return toPath(state, fileName); }), { - createNewValue: function (_path, input) { return state.watchFile(input, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.None); }, ts.PollingInterval.Low, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.SourceFile, resolved); }, + createNewValue: function (_path, input) { return watchFile(state, input, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.None); }, ts.PollingInterval.Low, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.SourceFile, resolved); }, onDeleteValue: ts.closeFileWatcher, }); } @@ -125337,7 +127553,7 @@ var ts; if (!state.watch || !state.lastCachedPackageJsonLookups) return; ts.mutateMap(getOrCreateValueMapFromConfigFileMap(state.allWatchedPackageJsonFiles, resolvedPath), new ts.Map(state.lastCachedPackageJsonLookups.get(resolvedPath)), { - createNewValue: function (path, _input) { return state.watchFile(path, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.None); }, ts.PollingInterval.High, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.PackageJson, resolved); }, + createNewValue: function (path, _input) { return watchFile(state, path, function () { return invalidateProjectAndScheduleBuilds(state, resolvedPath, ts.ConfigFileProgramReloadLevel.None); }, ts.PollingInterval.High, parsed === null || parsed === void 0 ? void 0 : parsed.watchOptions, ts.WatchType.PackageJson, resolved); }, onDeleteValue: ts.closeFileWatcher, }); } @@ -125387,8 +127603,6 @@ var ts; return getUpToDateStatus(state, parseConfigFile(state, configFileName, configFilePath), configFilePath); }, invalidateProject: function (configFilePath, reloadLevel) { return invalidateProject(state, configFilePath, reloadLevel || ts.ConfigFileProgramReloadLevel.None); }, - buildNextInvalidatedProject: function () { return buildNextInvalidatedProject(state); }, - getAllParsedConfigs: function () { return ts.arrayFrom(ts.mapDefinedIterator(state.configFileCache.values(), function (config) { return isParsedCommandLine(config) ? config : undefined; })); }, close: function () { return stopWatching(state); }, }; } @@ -125469,19 +127683,18 @@ var ts; } } function reportUpToDateStatus(state, configFileName, status) { - if (state.options.force && (status.type === ts.UpToDateStatusType.UpToDate || status.type === ts.UpToDateStatusType.UpToDateWithUpstreamTypes)) { - return reportStatus(state, ts.Diagnostics.Project_0_is_being_forcibly_rebuilt, relName(state, configFileName)); - } switch (status.type) { case ts.UpToDateStatusType.OutOfDateWithSelf: - return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerInputFileName)); + return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_1_is_older_than_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerInputFileName)); case ts.UpToDateStatusType.OutOfDateWithUpstream: - return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerProjectName)); + return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_1_is_older_than_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerProjectName)); case ts.UpToDateStatusType.OutputMissing: return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_file_1_does_not_exist, relName(state, configFileName), relName(state, status.missingOutputFileName)); + case ts.UpToDateStatusType.OutOfDateBuildInfo: + return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted, relName(state, configFileName), relName(state, status.buildInfoFile)); case ts.UpToDateStatusType.UpToDate: if (status.newestInputFileTime !== undefined) { - return reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2, relName(state, configFileName), relName(state, status.newestInputFileName || ""), relName(state, status.oldestOutputFileName || "")); + return reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2, relName(state, configFileName), relName(state, status.newestInputFileName || ""), relName(state, status.oldestOutputFileName || "")); } // Don't report anything for "up to date because it was already built" -- too verbose break; @@ -125489,6 +127702,8 @@ var ts; return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed, relName(state, configFileName), relName(state, status.newerProjectName)); case ts.UpToDateStatusType.UpToDateWithUpstreamTypes: return reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies, relName(state, configFileName)); + case ts.UpToDateStatusType.UpToDateWithInputFileText: + return reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files, relName(state, configFileName)); case ts.UpToDateStatusType.UpstreamOutOfDate: return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date, relName(state, configFileName), relName(state, status.upstreamProjectName)); case ts.UpToDateStatusType.UpstreamBlocked: @@ -125499,6 +127714,8 @@ var ts; return reportStatus(state, ts.Diagnostics.Failed_to_parse_file_0_Colon_1, relName(state, configFileName), status.reason); case ts.UpToDateStatusType.TsVersionOutputOfDate: return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2, relName(state, configFileName), status.version, ts.version); + case ts.UpToDateStatusType.ForceBuild: + return reportStatus(state, ts.Diagnostics.Project_0_is_being_forcibly_rebuilt, relName(state, configFileName)); case ts.UpToDateStatusType.ContainerOnly: // Don't report status on "solution" projects // falls through @@ -125665,7 +127882,7 @@ var ts; * @param typeAcquisition is used to customize the typing acquisition process * @param compilerOptions are used as a source for typing inference */ - function discoverTypings(host, log, fileNames, projectRootPath, safeList, packageNameToTypingLocation, typeAcquisition, unresolvedImports, typesRegistry) { + function discoverTypings(host, log, fileNames, projectRootPath, safeList, packageNameToTypingLocation, typeAcquisition, unresolvedImports, typesRegistry, compilerOptions) { if (!typeAcquisition || !typeAcquisition.enable) { return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }; } @@ -125683,12 +127900,14 @@ var ts; addInferredTypings(typeAcquisition.include, "Explicitly included types"); var exclude = typeAcquisition.exclude || []; // Directories to search for package.json, bower.json and other typing information - var possibleSearchDirs = new ts.Set(fileNames.map(ts.getDirectoryPath)); - possibleSearchDirs.add(projectRootPath); - possibleSearchDirs.forEach(function (searchDir) { - getTypingNames(searchDir, "bower.json", "bower_components", filesToWatch); - getTypingNames(searchDir, "package.json", "node_modules", filesToWatch); - }); + if (!compilerOptions.types) { + var possibleSearchDirs = new ts.Set(fileNames.map(ts.getDirectoryPath)); + possibleSearchDirs.add(projectRootPath); + possibleSearchDirs.forEach(function (searchDir) { + getTypingNames(searchDir, "bower.json", "bower_components", filesToWatch); + getTypingNames(searchDir, "package.json", "node_modules", filesToWatch); + }); + } if (!typeAcquisition.disableFilenameBasedTypeAcquisition) { getTypingNamesFromSourceFileNames(fileNames); } @@ -127051,6 +129270,8 @@ var ts; case 256 /* SyntaxKind.FunctionDeclaration */: case 213 /* SyntaxKind.FunctionExpression */: return getAdjustedLocationForFunction(node); + case 171 /* SyntaxKind.Constructor */: + return node; } } if (ts.isNamedDeclaration(node)) { @@ -127139,7 +129360,7 @@ var ts; // // NOTE: If the node is a modifier, we don't adjust its location if it is the `default` modifier as that is handled // specially by `getSymbolAtLocation`. - if (ts.isModifier(node) && (forRename || node.kind !== 88 /* SyntaxKind.DefaultKeyword */) ? ts.contains(parent.modifiers, node) : + if (ts.isModifier(node) && (forRename || node.kind !== 88 /* SyntaxKind.DefaultKeyword */) ? ts.canHaveModifiers(parent) && ts.contains(parent.modifiers, node) : node.kind === 84 /* SyntaxKind.ClassKeyword */ ? ts.isClassDeclaration(parent) || ts.isClassExpression(node) : node.kind === 98 /* SyntaxKind.FunctionKeyword */ ? ts.isFunctionDeclaration(parent) || ts.isFunctionExpression(node) : node.kind === 118 /* SyntaxKind.InterfaceKeyword */ ? ts.isInterfaceDeclaration(parent) : @@ -127378,12 +129599,18 @@ var ts; // flag causes us to return the first node whose end position matches the position and which produces and acceptable token // kind. Meanwhile, if includePrecedingTokenAtEndPosition is unset, we look for the first node whose start is <= the // position and whose end is greater than the position. + // There are more sophisticated end tests later, but this one is very fast + // and allows us to skip a bunch of work + var end = children[middle].getEnd(); + if (end < position) { + return -1 /* Comparison.LessThan */; + } var start = allowPositionInLeadingTrivia ? children[middle].getFullStart() : children[middle].getStart(sourceFile, /*includeJsDoc*/ true); if (start > position) { return 1 /* Comparison.GreaterThan */; } // first element whose start position is before the input and whose end position is after or equal to the input - if (nodeContainsPosition(children[middle])) { + if (nodeContainsPosition(children[middle], start, end)) { if (children[middle - 1]) { // we want the _first_ element that contains the position, so left-recur if the prior node also contains the position if (nodeContainsPosition(children[middle - 1])) { @@ -127415,13 +129642,16 @@ var ts; case "continue-outer": continue outer; } } - function nodeContainsPosition(node) { - var start = allowPositionInLeadingTrivia ? node.getFullStart() : node.getStart(sourceFile, /*includeJsDoc*/ true); + function nodeContainsPosition(node, start, end) { + end !== null && end !== void 0 ? end : (end = node.getEnd()); + if (end < position) { + return false; + } + start !== null && start !== void 0 ? start : (start = allowPositionInLeadingTrivia ? node.getFullStart() : node.getStart(sourceFile, /*includeJsDoc*/ true)); if (start > position) { // If this child begins after position, then all subsequent children will as well. return false; } - var end = node.getEnd(); if (position < end || (position === end && (node.kind === 1 /* SyntaxKind.EndOfFileToken */ || includeEndPosition))) { return true; } @@ -128119,7 +130349,6 @@ var ts; ts.makeImportIfNecessary = makeImportIfNecessary; function makeImport(defaultImport, namedImports, moduleSpecifier, quotePreference, isTypeOnly) { return ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, defaultImport || namedImports ? ts.factory.createImportClause(!!isTypeOnly, defaultImport, namedImports && namedImports.length ? ts.factory.createNamedImports(namedImports) : undefined) : undefined, typeof moduleSpecifier === "string" ? makeStringLiteral(moduleSpecifier, quotePreference) : moduleSpecifier, @@ -128209,7 +130438,7 @@ var ts; node.getEnd() <= ts.textSpanEnd(span); } function findModifier(node, kind) { - return node.modifiers && ts.find(node.modifiers, function (m) { return m.kind === kind; }); + return ts.canHaveModifiers(node) ? ts.find(node.modifiers, function (m) { return m.kind === kind; }) : undefined; } ts.findModifier = findModifier; function insertImports(changes, sourceFile, imports, blankLineBetween) { @@ -128288,6 +130517,41 @@ var ts; return true; } ts.isTextWhiteSpaceLike = isTextWhiteSpaceLike; + function getMappedLocation(location, sourceMapper, fileExists) { + var mapsTo = sourceMapper.tryGetSourcePosition(location); + return mapsTo && (!fileExists || fileExists(ts.normalizePath(mapsTo.fileName)) ? mapsTo : undefined); + } + ts.getMappedLocation = getMappedLocation; + function getMappedDocumentSpan(documentSpan, sourceMapper, fileExists) { + var fileName = documentSpan.fileName, textSpan = documentSpan.textSpan; + var newPosition = getMappedLocation({ fileName: fileName, pos: textSpan.start }, sourceMapper, fileExists); + if (!newPosition) + return undefined; + var newEndPosition = getMappedLocation({ fileName: fileName, pos: textSpan.start + textSpan.length }, sourceMapper, fileExists); + var newLength = newEndPosition + ? newEndPosition.pos - newPosition.pos + : textSpan.length; // This shouldn't happen + return { + fileName: newPosition.fileName, + textSpan: { + start: newPosition.pos, + length: newLength, + }, + originalFileName: documentSpan.fileName, + originalTextSpan: documentSpan.textSpan, + contextSpan: getMappedContextSpan(documentSpan, sourceMapper, fileExists), + originalContextSpan: documentSpan.contextSpan + }; + } + ts.getMappedDocumentSpan = getMappedDocumentSpan; + function getMappedContextSpan(documentSpan, sourceMapper, fileExists) { + var contextSpanStart = documentSpan.contextSpan && getMappedLocation({ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start }, sourceMapper, fileExists); + var contextSpanEnd = documentSpan.contextSpan && getMappedLocation({ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start + documentSpan.contextSpan.length }, sourceMapper, fileExists); + return contextSpanStart && contextSpanEnd ? + { start: contextSpanStart.pos, length: contextSpanEnd.pos - contextSpanStart.pos } : + undefined; + } + ts.getMappedContextSpan = getMappedContextSpan; // #endregion // Display-part writer helpers // #region @@ -128781,7 +131045,7 @@ var ts; for (var _b = 0, textChanges_1 = textChanges_2; _b < textChanges_1.length; _b++) { var change = textChanges_1[_b]; var span = change.span, newText = change.newText; - var index = indexInTextChange(newText, name); + var index = indexInTextChange(newText, ts.escapeString(name)); if (index !== -1) { lastPos = span.start + delta + index; // If the reference comes first, return immediately. @@ -129749,32 +132013,41 @@ var ts; || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent) || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent)); } - function forEachExternalModuleToImportFrom(program, host, useAutoImportProvider, cb) { + function forEachExternalModuleToImportFrom(program, host, preferences, useAutoImportProvider, cb) { var _a, _b; - forEachExternalModule(program.getTypeChecker(), program.getSourceFiles(), function (module, file) { return cb(module, file, program, /*isFromPackageJson*/ false); }); + var useCaseSensitiveFileNames = ts.hostUsesCaseSensitiveFileNames(host); + var excludePatterns = preferences.autoImportFileExcludePatterns && ts.mapDefined(preferences.autoImportFileExcludePatterns, function (spec) { + // The client is expected to send rooted path specs since we don't know + // what directory a relative path is relative to. + var pattern = ts.getPatternFromSpec(spec, "", "exclude"); + return pattern ? ts.getRegexFromPattern(pattern, useCaseSensitiveFileNames) : undefined; + }); + forEachExternalModule(program.getTypeChecker(), program.getSourceFiles(), excludePatterns, function (module, file) { return cb(module, file, program, /*isFromPackageJson*/ false); }); var autoImportProvider = useAutoImportProvider && ((_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host)); if (autoImportProvider) { var start = ts.timestamp(); - forEachExternalModule(autoImportProvider.getTypeChecker(), autoImportProvider.getSourceFiles(), function (module, file) { return cb(module, file, autoImportProvider, /*isFromPackageJson*/ true); }); + forEachExternalModule(autoImportProvider.getTypeChecker(), autoImportProvider.getSourceFiles(), excludePatterns, function (module, file) { return cb(module, file, autoImportProvider, /*isFromPackageJson*/ true); }); (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: ".concat(ts.timestamp() - start)); } } ts.forEachExternalModuleToImportFrom = forEachExternalModuleToImportFrom; - function forEachExternalModule(checker, allSourceFiles, cb) { - for (var _i = 0, _a = checker.getAmbientModules(); _i < _a.length; _i++) { - var ambient = _a[_i]; - if (!ts.stringContains(ambient.name, "*")) { + function forEachExternalModule(checker, allSourceFiles, excludePatterns, cb) { + var _a; + var isExcluded = function (fileName) { return excludePatterns === null || excludePatterns === void 0 ? void 0 : excludePatterns.some(function (p) { return p.test(fileName); }); }; + for (var _i = 0, _b = checker.getAmbientModules(); _i < _b.length; _i++) { + var ambient = _b[_i]; + if (!ts.stringContains(ambient.name, "*") && !(excludePatterns && ((_a = ambient.declarations) === null || _a === void 0 ? void 0 : _a.every(function (d) { return isExcluded(d.getSourceFile().fileName); })))) { cb(ambient, /*sourceFile*/ undefined); } } - for (var _b = 0, allSourceFiles_1 = allSourceFiles; _b < allSourceFiles_1.length; _b++) { - var sourceFile = allSourceFiles_1[_b]; - if (ts.isExternalOrCommonJsModule(sourceFile)) { + for (var _c = 0, allSourceFiles_1 = allSourceFiles; _c < allSourceFiles_1.length; _c++) { + var sourceFile = allSourceFiles_1[_c]; + if (ts.isExternalOrCommonJsModule(sourceFile) && !isExcluded(sourceFile.fileName)) { cb(checker.getMergedSymbol(sourceFile.symbol), sourceFile); } } } - function getExportInfoMap(importingFile, host, program, cancellationToken) { + function getExportInfoMap(importingFile, host, program, preferences, cancellationToken) { var _a, _b, _c, _d, _e; var start = ts.timestamp(); // Pulling the AutoImportProvider project will trigger its updateGraph if pending, @@ -129794,7 +132067,7 @@ var ts; var compilerOptions = program.getCompilerOptions(); var moduleCount = 0; try { - forEachExternalModuleToImportFrom(program, host, /*useAutoImportProvider*/ true, function (moduleSymbol, moduleFile, program, isFromPackageJson) { + forEachExternalModuleToImportFrom(program, host, preferences, /*useAutoImportProvider*/ true, function (moduleSymbol, moduleFile, program, isFromPackageJson) { if (++moduleCount % 100 === 0) cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.throwIfCancellationRequested(); var seenExports = new ts.Map(); @@ -131135,6 +133408,26 @@ var ts; (function (Completions) { var StringCompletions; (function (StringCompletions) { + var _a; + var kindPrecedence = (_a = {}, + _a["directory" /* ScriptElementKind.directory */] = 0, + _a["script" /* ScriptElementKind.scriptElement */] = 1, + _a["external module name" /* ScriptElementKind.externalModuleName */] = 2, + _a); + function createNameAndKindSet() { + var map = new ts.Map(); + function add(value) { + var existing = map.get(value.name); + if (!existing || kindPrecedence[existing.kind] < kindPrecedence[value.kind]) { + map.set(value.name, value); + } + } + return { + add: add, + has: map.has.bind(map), + values: map.values.bind(map), + }; + } function getStringLiteralCompletions(sourceFile, position, contextToken, options, host, program, log, preferences) { if (ts.isInReferenceComment(sourceFile, position)) { var entries = getTripleSlashReferenceCompletion(sourceFile, position, options, host); @@ -131238,11 +133531,11 @@ var ts; var parent = walkUpParentheses(node.parent); switch (parent.kind) { case 196 /* SyntaxKind.LiteralType */: { - var grandParent = walkUpParentheses(parent.parent); - switch (grandParent.kind) { + var grandParent_1 = walkUpParentheses(parent.parent); + switch (grandParent_1.kind) { + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: case 178 /* SyntaxKind.TypeReference */: { - var typeReference_1 = grandParent; - var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; }); + var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === grandParent_1; }); if (typeArgument) { return { kind: 2 /* StringLiteralCompletionKind.Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false }; } @@ -131255,7 +133548,7 @@ var ts; // bar: string; // } // let x: Foo["/*completion position*/"] - var _a = grandParent, indexType = _a.indexType, objectType = _a.objectType; + var _a = grandParent_1, indexType = _a.indexType, objectType = _a.objectType; if (!ts.rangeContainsPosition(indexType, position)) { return undefined; } @@ -131263,11 +133556,11 @@ var ts; case 200 /* SyntaxKind.ImportType */: return { kind: 0 /* StringLiteralCompletionKind.Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; case 187 /* SyntaxKind.UnionType */: { - if (!ts.isTypeReferenceNode(grandParent.parent)) { + if (!ts.isTypeReferenceNode(grandParent_1.parent)) { return undefined; } - var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent, parent); - var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); }); + var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent_1, parent); + var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent_1)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); }); return { kind: 2 /* StringLiteralCompletionKind.Types */, types: types, isNewIdentifier: false }; } default: @@ -131416,11 +133709,12 @@ var ts; } function getStringLiteralCompletionsFromModuleNamesWorker(sourceFile, node, compilerOptions, host, typeChecker, preferences) { var literalValue = ts.normalizeSlashes(node.text); + var mode = ts.isStringLiteralLike(node) ? ts.getModeForUsageLocation(sourceFile, node) : undefined; var scriptPath = sourceFile.path; var scriptDirectory = ts.getDirectoryPath(scriptPath); return isPathRelativeToScript(literalValue) || !compilerOptions.baseUrl && (ts.isRootedDiskPath(literalValue) || ts.isUrl(literalValue)) ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, getIncludeExtensionOption()) - : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, compilerOptions, host, typeChecker); + : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, compilerOptions, host, getIncludeExtensionOption(), typeChecker); function getIncludeExtensionOption() { var mode = ts.isStringLiteralLike(node) ? ts.getModeForUsageLocation(sourceFile, node) : undefined; return preferences.importModuleSpecifierEnding === "js" || mode === ts.ModuleKind.ESNext ? 2 /* IncludeExtensionsOption.ModuleSpecifierCompletion */ : 0 /* IncludeExtensionsOption.Exclude */; @@ -131436,7 +133730,7 @@ var ts; return getCompletionEntriesForDirectoryFragmentWithRootDirs(compilerOptions.rootDirs, literalValue, scriptDirectory, extensionOptions, compilerOptions, host, scriptPath); } else { - return getCompletionEntriesForDirectoryFragment(literalValue, scriptDirectory, extensionOptions, host, scriptPath); + return ts.arrayFrom(getCompletionEntriesForDirectoryFragment(literalValue, scriptDirectory, extensionOptions, host, scriptPath).values()); } } function isEmitResolutionKindUsingNodeModules(compilerOptions) { @@ -131472,7 +133766,7 @@ var ts; var basePath = compilerOptions.project || host.getCurrentDirectory(); var ignoreCase = !(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames()); var baseDirectories = getBaseDirectoriesFromRootDirs(rootDirs, basePath, scriptDirectory, ignoreCase); - return ts.flatMap(baseDirectories, function (baseDirectory) { return getCompletionEntriesForDirectoryFragment(fragment, baseDirectory, extensionOptions, host, exclude); }); + return ts.flatMap(baseDirectories, function (baseDirectory) { return ts.arrayFrom(getCompletionEntriesForDirectoryFragment(fragment, baseDirectory, extensionOptions, host, exclude).values()); }); } var IncludeExtensionsOption; (function (IncludeExtensionsOption) { @@ -131483,9 +133777,9 @@ var ts; /** * Given a path ending at a directory, gets the completions for the path, and filters for those entries containing the basename. */ - function getCompletionEntriesForDirectoryFragment(fragment, scriptPath, _a, host, exclude, result) { - var extensions = _a.extensions, includeExtensionsOption = _a.includeExtensionsOption; - if (result === void 0) { result = []; } + function getCompletionEntriesForDirectoryFragment(fragment, scriptPath, extensionOptions, host, exclude, result) { + var _a; + if (result === void 0) { result = createNameAndKindSet(); } if (fragment === undefined) { fragment = ""; } @@ -131501,92 +133795,124 @@ var ts; fragment = "." + ts.directorySeparator; } fragment = ts.ensureTrailingDirectorySeparator(fragment); - // const absolutePath = normalizeAndPreserveTrailingSlash(isRootedDiskPath(fragment) ? fragment : combinePaths(scriptPath, fragment)); // TODO(rbuckton): should use resolvePaths var absolutePath = ts.resolvePath(scriptPath, fragment); var baseDirectory = ts.hasTrailingDirectorySeparator(absolutePath) ? absolutePath : ts.getDirectoryPath(absolutePath); + // check for a version redirect + var packageJsonPath = ts.findPackageJson(baseDirectory, host); + if (packageJsonPath) { + var packageJson = ts.readJson(packageJsonPath, host); + var typesVersions = packageJson.typesVersions; + if (typeof typesVersions === "object") { + var versionPaths = (_a = ts.getPackageJsonTypesVersionsPaths(typesVersions)) === null || _a === void 0 ? void 0 : _a.paths; + if (versionPaths) { + var packageDirectory = ts.getDirectoryPath(packageJsonPath); + var pathInPackage = absolutePath.slice(ts.ensureTrailingDirectorySeparator(packageDirectory).length); + if (addCompletionEntriesFromPaths(result, pathInPackage, packageDirectory, extensionOptions, host, versionPaths)) { + // A true result means one of the `versionPaths` was matched, which will block relative resolution + // to files and folders from here. All reachable paths given the pattern match are already added. + return result; + } + } + } + } var ignoreCase = !(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames()); if (!ts.tryDirectoryExists(host, baseDirectory)) return result; // Enumerate the available files if possible - var files = ts.tryReadDirectory(host, baseDirectory, extensions, /*exclude*/ undefined, /*include*/ ["./*"]); + var files = ts.tryReadDirectory(host, baseDirectory, extensionOptions.extensions, /*exclude*/ undefined, /*include*/ ["./*"]); if (files) { - /** - * Multiple file entries might map to the same truncated name once we remove extensions - * (happens iff includeExtensionsOption === includeExtensionsOption.Exclude) so we use a set-like data structure. Eg: - * - * both foo.ts and foo.tsx become foo - */ - var foundFiles = new ts.Map(); // maps file to its extension for (var _i = 0, files_1 = files; _i < files_1.length; _i++) { var filePath = files_1[_i]; filePath = ts.normalizePath(filePath); if (exclude && ts.comparePaths(filePath, exclude, scriptPath, ignoreCase) === 0 /* Comparison.EqualTo */) { continue; } - var foundFileName = void 0; - var outputExtension = ts.moduleSpecifiers.tryGetJSExtensionForFile(filePath, host.getCompilationSettings()); - if (includeExtensionsOption === 0 /* IncludeExtensionsOption.Exclude */ && !ts.fileExtensionIsOneOf(filePath, [".json" /* Extension.Json */, ".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */])) { - foundFileName = ts.removeFileExtension(ts.getBaseFileName(filePath)); - foundFiles.set(foundFileName, ts.tryGetExtensionFromPath(filePath)); - } - else if ((ts.fileExtensionIsOneOf(filePath, [".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */]) || includeExtensionsOption === 2 /* IncludeExtensionsOption.ModuleSpecifierCompletion */) && outputExtension) { - foundFileName = ts.changeExtension(ts.getBaseFileName(filePath), outputExtension); - foundFiles.set(foundFileName, outputExtension); - } - else { - foundFileName = ts.getBaseFileName(filePath); - foundFiles.set(foundFileName, ts.tryGetExtensionFromPath(filePath)); - } + var _b = getFilenameWithExtensionOption(ts.getBaseFileName(filePath), host.getCompilationSettings(), extensionOptions.includeExtensionsOption), name = _b.name, extension = _b.extension; + result.add(nameAndKind(name, "script" /* ScriptElementKind.scriptElement */, extension)); } - foundFiles.forEach(function (ext, foundFile) { - result.push(nameAndKind(foundFile, "script" /* ScriptElementKind.scriptElement */, ext)); - }); } // If possible, get folder completion as well var directories = ts.tryGetDirectories(host, baseDirectory); if (directories) { - for (var _b = 0, directories_1 = directories; _b < directories_1.length; _b++) { - var directory = directories_1[_b]; + for (var _c = 0, directories_1 = directories; _c < directories_1.length; _c++) { + var directory = directories_1[_c]; var directoryName = ts.getBaseFileName(ts.normalizePath(directory)); if (directoryName !== "@types") { - result.push(directoryResult(directoryName)); - } - } - } - // check for a version redirect - var packageJsonPath = ts.findPackageJson(baseDirectory, host); - if (packageJsonPath) { - var packageJson = ts.readJson(packageJsonPath, host); - var typesVersions = packageJson.typesVersions; - if (typeof typesVersions === "object") { - var versionResult = ts.getPackageJsonTypesVersionsPaths(typesVersions); - var versionPaths = versionResult && versionResult.paths; - var rest = absolutePath.slice(ts.ensureTrailingDirectorySeparator(baseDirectory).length); - if (versionPaths) { - addCompletionEntriesFromPaths(result, rest, baseDirectory, extensions, versionPaths, host); + result.add(directoryResult(directoryName)); } } } return result; } - function addCompletionEntriesFromPaths(result, fragment, baseDirectory, fileExtensions, paths, host) { - for (var path in paths) { - if (!ts.hasProperty(paths, path)) + function getFilenameWithExtensionOption(name, compilerOptions, includeExtensionsOption) { + var outputExtension = ts.moduleSpecifiers.tryGetJSExtensionForFile(name, compilerOptions); + if (includeExtensionsOption === 0 /* IncludeExtensionsOption.Exclude */ && !ts.fileExtensionIsOneOf(name, [".json" /* Extension.Json */, ".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */])) { + return { name: ts.removeFileExtension(name), extension: ts.tryGetExtensionFromPath(name) }; + } + else if ((ts.fileExtensionIsOneOf(name, [".mts" /* Extension.Mts */, ".cts" /* Extension.Cts */, ".d.mts" /* Extension.Dmts */, ".d.cts" /* Extension.Dcts */, ".mjs" /* Extension.Mjs */, ".cjs" /* Extension.Cjs */]) || includeExtensionsOption === 2 /* IncludeExtensionsOption.ModuleSpecifierCompletion */) && outputExtension) { + return { name: ts.changeExtension(name, outputExtension), extension: outputExtension }; + } + else { + return { name: name, extension: ts.tryGetExtensionFromPath(name) }; + } + } + /** @returns whether `fragment` was a match for any `paths` (which should indicate whether any other path completions should be offered) */ + function addCompletionEntriesFromPaths(result, fragment, baseDirectory, extensionOptions, host, paths) { + var getPatternsForKey = function (key) { return paths[key]; }; + var comparePaths = function (a, b) { + var patternA = ts.tryParsePattern(a); + var patternB = ts.tryParsePattern(b); + var lengthA = typeof patternA === "object" ? patternA.prefix.length : a.length; + var lengthB = typeof patternB === "object" ? patternB.prefix.length : b.length; + return ts.compareValues(lengthB, lengthA); + }; + return addCompletionEntriesFromPathsOrExports(result, fragment, baseDirectory, extensionOptions, host, ts.getOwnKeys(paths), getPatternsForKey, comparePaths); + } + /** @returns whether `fragment` was a match for any `paths` (which should indicate whether any other path completions should be offered) */ + function addCompletionEntriesFromPathsOrExports(result, fragment, baseDirectory, extensionOptions, host, keys, getPatternsForKey, comparePaths) { + var pathResults = []; + var matchedPath; + for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { + var key = keys_1[_i]; + if (key === ".") continue; - var patterns = paths[path]; + var keyWithoutLeadingDotSlash = key.replace(/^\.\//, ""); // remove leading "./" + var patterns = getPatternsForKey(key); if (patterns) { - var _loop_3 = function (name, kind, extension) { - // Path mappings may provide a duplicate way to get to something we've already added, so don't add again. - if (!result.some(function (entry) { return entry.name === name; })) { - result.push(nameAndKind(name, kind, extension)); - } - }; - for (var _i = 0, _a = getCompletionsForPathMapping(path, patterns, fragment, baseDirectory, fileExtensions, host); _i < _a.length; _i++) { - var _b = _a[_i], name = _b.name, kind = _b.kind, extension = _b.extension; - _loop_3(name, kind, extension); + var pathPattern = ts.tryParsePattern(keyWithoutLeadingDotSlash); + if (!pathPattern) + continue; + var isMatch = typeof pathPattern === "object" && ts.isPatternMatch(pathPattern, fragment); + var isLongestMatch = isMatch && (matchedPath === undefined || comparePaths(key, matchedPath) === -1 /* Comparison.LessThan */); + if (isLongestMatch) { + // If this is a higher priority match than anything we've seen so far, previous results from matches are invalid, e.g. + // for `import {} from "some-package/|"` with a typesVersions: + // { + // "bar/*": ["bar/*"], // <-- 1. We add 'bar', but 'bar/*' doesn't match yet. + // "*": ["dist/*"], // <-- 2. We match here and add files from dist. 'bar' is still ok because it didn't come from a match. + // "foo/*": ["foo/*"] // <-- 3. We matched '*' earlier and added results from dist, but if 'foo/*' also matched, + // } results in dist would not be visible. 'bar' still stands because it didn't come from a match. + // This is especially important if `dist/foo` is a folder, because if we fail to clear results + // added by the '*' match, after typing `"some-package/foo/|"` we would get file results from both + // ./dist/foo and ./foo, when only the latter will actually be resolvable. + // See pathCompletionsTypesVersionsWildcard6.ts. + matchedPath = key; + pathResults = pathResults.filter(function (r) { return !r.matchedPattern; }); + } + if (typeof pathPattern === "string" || matchedPath === undefined || comparePaths(key, matchedPath) !== 1 /* Comparison.GreaterThan */) { + pathResults.push({ + matchedPattern: isMatch, + results: getCompletionsForPathMapping(keyWithoutLeadingDotSlash, patterns, fragment, baseDirectory, extensionOptions, host) + .map(function (_a) { + var name = _a.name, kind = _a.kind, extension = _a.extension; + return nameAndKind(name, kind, extension); + }), + }); } } } + pathResults.forEach(function (pathResult) { return pathResult.results.forEach(function (r) { return result.add(r); }); }); + return matchedPath !== undefined; } /** * Check all of the declared modules and those in node modules. Possible sources of modules: @@ -131595,22 +133921,22 @@ var ts; * Modules from node_modules (i.e. those listed in package.json) * This includes all files that are found in node_modules/moduleName/ with acceptable file extensions */ - function getCompletionEntriesForNonRelativeModules(fragment, scriptPath, compilerOptions, host, typeChecker) { + function getCompletionEntriesForNonRelativeModules(fragment, scriptPath, mode, compilerOptions, host, includeExtensionsOption, typeChecker) { var baseUrl = compilerOptions.baseUrl, paths = compilerOptions.paths; - var result = []; - var extensionOptions = getExtensionOptions(compilerOptions); + var result = createNameAndKindSet(); + var extensionOptions = getExtensionOptions(compilerOptions, includeExtensionsOption); if (baseUrl) { var projectDir = compilerOptions.project || host.getCurrentDirectory(); var absolute = ts.normalizePath(ts.combinePaths(projectDir, baseUrl)); getCompletionEntriesForDirectoryFragment(fragment, absolute, extensionOptions, host, /*exclude*/ undefined, result); if (paths) { - addCompletionEntriesFromPaths(result, fragment, absolute, extensionOptions.extensions, paths, host); + addCompletionEntriesFromPaths(result, fragment, absolute, extensionOptions, host, paths); } } var fragmentDirectory = getFragmentDirectory(fragment); for (var _i = 0, _a = getAmbientModuleCompletions(fragment, fragmentDirectory, typeChecker); _i < _a.length; _i++) { var ambientName = _a[_i]; - result.push(nameAndKind(ambientName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); + result.add(nameAndKind(ambientName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); } getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, fragmentDirectory, extensionOptions, result); if (isEmitResolutionKindUsingNodeModules(compilerOptions)) { @@ -131618,15 +133944,13 @@ var ts; // (But do if we didn't find anything, e.g. 'package.json' missing.) var foundGlobal = false; if (fragmentDirectory === undefined) { - var _loop_4 = function (moduleName) { - if (!result.some(function (entry) { return entry.name === moduleName; })) { - foundGlobal = true; - result.push(nameAndKind(moduleName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); - } - }; for (var _b = 0, _c = enumerateNodeModulesVisibleToScript(host, scriptPath); _b < _c.length; _b++) { var moduleName = _c[_b]; - _loop_4(moduleName); + var moduleResult = nameAndKind(moduleName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined); + if (!result.has(moduleResult.name)) { + foundGlobal = true; + result.add(moduleResult); + } } } if (!foundGlobal) { @@ -131652,39 +133976,19 @@ var ts; } packagePath = ts.combinePaths(packagePath, subName); } - var packageFile = ts.combinePaths(ancestor, "node_modules", packagePath, "package.json"); + var packageDirectory = ts.combinePaths(ancestor, "node_modules", packagePath); + var packageFile = ts.combinePaths(packageDirectory, "package.json"); if (ts.tryFileExists(host, packageFile)) { var packageJson = ts.readJson(packageFile, host); - var exports = packageJson.exports; - if (exports) { - if (typeof exports !== "object" || exports === null) { // eslint-disable-line no-null/no-null + var exports_1 = packageJson.exports; + if (exports_1) { + if (typeof exports_1 !== "object" || exports_1 === null) { // eslint-disable-line no-null/no-null return; // null exports or entrypoint only, no sub-modules available } - var keys = ts.getOwnKeys(exports); - var fragmentSubpath_1 = components.join("/"); - var processedKeys = ts.mapDefined(keys, function (k) { - if (k === ".") - return undefined; - if (!ts.startsWith(k, "./")) - return undefined; - var subpath = k.substring(2); - if (!ts.startsWith(subpath, fragmentSubpath_1)) - return undefined; - // subpath is a valid export (barring conditions, which we don't currently check here) - if (!ts.stringContains(subpath, "*")) { - return subpath; - } - // pattern export - only return everything up to the `*`, so the user can autocomplete, then - // keep filling in the pattern (we could speculatively return a list of options by hitting disk, - // but conditions will make that somewhat awkward, as each condition may have a different set of possible - // options for the `*`. - return subpath.slice(0, subpath.indexOf("*")); - }); - ts.forEach(processedKeys, function (k) { - if (k) { - result.push(nameAndKind(k, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); - } - }); + var keys = ts.getOwnKeys(exports_1); + var fragmentSubpath = components.join("/") + (components.length && ts.hasTrailingDirectorySeparator(fragment) ? "/" : ""); + var conditions_1 = mode === ts.ModuleKind.ESNext ? ["node", "import", "types"] : ["node", "require", "types"]; + addCompletionEntriesFromPathsOrExports(result, fragmentSubpath, packageDirectory, extensionOptions, host, keys, function (key) { return ts.singleElementArray(getPatternFromFirstMatchingCondition(exports_1[key], conditions_1)); }, ts.comparePatternKeys); return; } } @@ -131694,26 +133998,44 @@ var ts; ts.forEachAncestorDirectory(scriptPath, ancestorLookup); } } - return result; + return ts.arrayFrom(result.values()); + } + function getPatternFromFirstMatchingCondition(target, conditions) { + if (typeof target === "string") { + return target; + } + if (target && typeof target === "object" && !ts.isArray(target)) { + for (var condition in target) { + if (condition === "default" || conditions.indexOf(condition) > -1 || ts.isApplicableVersionedTypesKey(conditions, condition)) { + var pattern = target[condition]; + return getPatternFromFirstMatchingCondition(pattern, conditions); + } + } + } } function getFragmentDirectory(fragment) { return containsSlash(fragment) ? ts.hasTrailingDirectorySeparator(fragment) ? fragment : ts.getDirectoryPath(fragment) : undefined; } - function getCompletionsForPathMapping(path, patterns, fragment, baseUrl, fileExtensions, host) { + function getCompletionsForPathMapping(path, patterns, fragment, packageDirectory, extensionOptions, host) { if (!ts.endsWith(path, "*")) { // For a path mapping "foo": ["/x/y/z.ts"], add "foo" itself as a completion. - return !ts.stringContains(path, "*") ? justPathMappingName(path) : ts.emptyArray; + return !ts.stringContains(path, "*") ? justPathMappingName(path, "script" /* ScriptElementKind.scriptElement */) : ts.emptyArray; } var pathPrefix = path.slice(0, path.length - 1); var remainingFragment = ts.tryRemovePrefix(fragment, pathPrefix); - return remainingFragment === undefined ? justPathMappingName(pathPrefix) : ts.flatMap(patterns, function (pattern) { - return getModulesForPathsPattern(remainingFragment, baseUrl, pattern, fileExtensions, host); - }); - function justPathMappingName(name) { - return ts.startsWith(name, fragment) ? [directoryResult(name)] : ts.emptyArray; + if (remainingFragment === undefined) { + var starIsFullPathComponent = path[path.length - 2] === "/"; + return starIsFullPathComponent ? justPathMappingName(pathPrefix, "directory" /* ScriptElementKind.directory */) : ts.flatMap(patterns, function (pattern) { var _a; return (_a = getModulesForPathsPattern("", packageDirectory, pattern, extensionOptions, host)) === null || _a === void 0 ? void 0 : _a.map(function (_a) { + var name = _a.name, rest = __rest(_a, ["name"]); + return (__assign({ name: pathPrefix + name }, rest)); + }); }); + } + return ts.flatMap(patterns, function (pattern) { return getModulesForPathsPattern(remainingFragment, packageDirectory, pattern, extensionOptions, host); }); + function justPathMappingName(name, kind) { + return ts.startsWith(name, fragment) ? [{ name: ts.removeTrailingDirectorySeparator(name), kind: kind, extension: undefined }] : ts.emptyArray; } } - function getModulesForPathsPattern(fragment, baseUrl, pattern, fileExtensions, host) { + function getModulesForPathsPattern(fragment, packageDirectory, pattern, extensionOptions, host) { if (!host.readDirectory) { return undefined; } @@ -131732,21 +134054,33 @@ var ts; var expandedPrefixDirectory = fragmentHasPath ? ts.combinePaths(normalizedPrefixDirectory, normalizedPrefixBase + fragmentDirectory) : normalizedPrefixDirectory; var normalizedSuffix = ts.normalizePath(parsed.suffix); // Need to normalize after combining: If we combinePaths("a", "../b"), we want "b" and not "a/../b". - var baseDirectory = ts.normalizePath(ts.combinePaths(baseUrl, expandedPrefixDirectory)); + var baseDirectory = ts.normalizePath(ts.combinePaths(packageDirectory, expandedPrefixDirectory)); var completePrefix = fragmentHasPath ? baseDirectory : ts.ensureTrailingDirectorySeparator(baseDirectory) + normalizedPrefixBase; - // If we have a suffix, then we need to read the directory all the way down. We could create a glob - // that encodes the suffix, but we would have to escape the character "?" which readDirectory - // doesn't support. For now, this is safer but slower - var includeGlob = normalizedSuffix ? "**/*" : "./*"; - var matches = ts.mapDefined(ts.tryReadDirectory(host, baseDirectory, fileExtensions, /*exclude*/ undefined, [includeGlob]), function (match) { - var extension = ts.tryGetExtensionFromPath(match); - var name = trimPrefixAndSuffix(match); - return name === undefined ? undefined : nameAndKind(ts.removeFileExtension(name), "script" /* ScriptElementKind.scriptElement */, extension); - }); - var directories = ts.mapDefined(ts.tryGetDirectories(host, baseDirectory).map(function (d) { return ts.combinePaths(baseDirectory, d); }), function (dir) { - var name = trimPrefixAndSuffix(dir); - return name === undefined ? undefined : directoryResult(name); + // If we have a suffix, then we read the directory all the way down to avoid returning completions for + // directories that don't contain files that would match the suffix. A previous comment here was concerned + // about the case where `normalizedSuffix` includes a `?` character, which should be interpreted literally, + // but will match any single character as part of the `include` pattern in `tryReadDirectory`. This is not + // a problem, because (in the extremely unusual circumstance where the suffix has a `?` in it) a `?` + // interpreted as "any character" can only return *too many* results as compared to the literal + // interpretation, so we can filter those superfluous results out via `trimPrefixAndSuffix` as we've always + // done. + var includeGlob = normalizedSuffix ? "**/*" + normalizedSuffix : "./*"; + var matches = ts.mapDefined(ts.tryReadDirectory(host, baseDirectory, extensionOptions.extensions, /*exclude*/ undefined, [includeGlob]), function (match) { + var trimmedWithPattern = trimPrefixAndSuffix(match); + if (trimmedWithPattern) { + if (containsSlash(trimmedWithPattern)) { + return directoryResult(ts.getPathComponents(removeLeadingDirectorySeparator(trimmedWithPattern))[1]); + } + var _a = getFilenameWithExtensionOption(trimmedWithPattern, host.getCompilationSettings(), extensionOptions.includeExtensionsOption), name = _a.name, extension = _a.extension; + return nameAndKind(name, "script" /* ScriptElementKind.scriptElement */, extension); + } }); + // If we had a suffix, we already recursively searched for all possible files that could match + // it and returned the directories leading to those files. Otherwise, assume any directory could + // have something valid to import. + var directories = normalizedSuffix + ? ts.emptyArray + : ts.mapDefined(ts.tryGetDirectories(host, baseDirectory), function (dir) { return dir === "node_modules" ? undefined : directoryResult(dir); }); return __spreadArray(__spreadArray([], matches, true), directories, true); function trimPrefixAndSuffix(path) { var inner = withoutStartAndEnd(ts.normalizePath(path), completePrefix, normalizedSuffix); @@ -131789,10 +134123,10 @@ var ts; var names = kind === "path" ? getCompletionEntriesForDirectoryFragment(toComplete, scriptPath, getExtensionOptions(compilerOptions, 1 /* IncludeExtensionsOption.Include */), host, sourceFile.path) : kind === "types" ? getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, getFragmentDirectory(toComplete), getExtensionOptions(compilerOptions)) : ts.Debug.fail(); - return addReplacementSpans(toComplete, range.pos + prefix.length, names); + return addReplacementSpans(toComplete, range.pos + prefix.length, ts.arrayFrom(names.values())); } function getCompletionEntriesFromTypings(host, options, scriptPath, fragmentDirectory, extensionOptions, result) { - if (result === void 0) { result = []; } + if (result === void 0) { result = createNameAndKindSet(); } // Check for typings specified in compiler options var seen = new ts.Map(); var typeRoots = ts.tryAndIgnoreErrors(function () { return ts.getEffectiveTypeRoots(options, host); }) || ts.emptyArray; @@ -131817,7 +134151,7 @@ var ts; continue; if (fragmentDirectory === undefined) { if (!seen.has(packageName)) { - result.push(nameAndKind(packageName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); + result.add(nameAndKind(packageName, "external module name" /* ScriptElementKind.externalModuleName */, /*extension*/ undefined)); seen.set(packageName, true); } } @@ -132013,10 +134347,9 @@ var ts; GlobalsSearch[GlobalsSearch["Success"] = 1] = "Success"; GlobalsSearch[GlobalsSearch["Fail"] = 2] = "Fail"; })(GlobalsSearch || (GlobalsSearch = {})); - function resolvingModuleSpecifiers(logPrefix, host, program, sourceFile, position, preferences, isForImportStatementCompletion, isValidTypeOnlyUseSite, cb) { + function resolvingModuleSpecifiers(logPrefix, host, resolver, program, position, preferences, isForImportStatementCompletion, isValidTypeOnlyUseSite, cb) { var _a, _b, _c; var start = ts.timestamp(); - var packageJsonImportFilter = ts.createPackageJsonImportFilter(sourceFile, preferences, host); // Under `--moduleResolution nodenext`, we have to resolve module specifiers up front, because // package.json exports can mean we *can't* resolve a module specifier (that doesn't include a // relative path into node_modules), and we want to filter those completions out entirely. @@ -132041,7 +134374,7 @@ var ts; return result; function tryResolve(exportInfo, symbolName, isFromAmbientModule) { if (isFromAmbientModule) { - var result_1 = ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, sourceFile, program, host, preferences); + var result_1 = resolver.getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite); if (result_1) { ambientCount++; } @@ -132050,7 +134383,7 @@ var ts; var shouldResolveModuleSpecifier = needsFullResolution || preferences.allowIncompleteCompletions && resolvedCount < Completions.moduleSpecifierResolutionLimit; var shouldGetModuleSpecifierFromCache = !shouldResolveModuleSpecifier && preferences.allowIncompleteCompletions && cacheAttemptCount < Completions.moduleSpecifierResolutionCacheAttemptLimit; var result = (shouldResolveModuleSpecifier || shouldGetModuleSpecifierFromCache) - ? ts.codefix.getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, sourceFile, program, host, preferences, packageJsonImportFilter, shouldGetModuleSpecifierFromCache) + ? resolver.getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, shouldGetModuleSpecifierFromCache) : undefined; if (!shouldResolveModuleSpecifier && !shouldGetModuleSpecifierFromCache || shouldGetModuleSpecifierFromCache && !result) { skippedAny = true; @@ -132154,8 +134487,8 @@ var ts; if (!previousResponse) return undefined; var lowerCaseTokenText = location.text.toLowerCase(); - var exportMap = ts.getExportInfoMap(file, host, program, cancellationToken); - var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, program, file, location.getStart(), preferences, + var exportMap = ts.getExportInfoMap(file, host, program, preferences, cancellationToken); + var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, ts.codefix.createImportSpecifierResolver(file, program, host, preferences), program, location.getStart(), preferences, /*isForImportStatementCompletion*/ false, ts.isValidTypeOnlyAliasUseSite(location), function (context) { var entries = ts.mapDefined(previousResponse.entries, function (entry) { var _a; @@ -132239,37 +134572,36 @@ var ts; } } var entries = ts.createSortedArray(); - if (isUncheckedFile(sourceFile, compilerOptions)) { - var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); - getJSCompletionEntries(sourceFile, location.pos, uniqueNames, ts.getEmitScriptTarget(compilerOptions), entries); - } - else { - if (!isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* KeywordCompletionFilters.None */) { - return undefined; - } - getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); + var isChecked = isCheckedFile(sourceFile, compilerOptions); + if (isChecked && !isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* KeywordCompletionFilters.None */) { + return undefined; } + var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, + /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); if (keywordFilters !== 0 /* KeywordCompletionFilters.None */) { - var entryNames_1 = new ts.Set(entries.map(function (e) { return e.name; })); for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) { var keywordEntry = _a[_i]; - if (isTypeOnlyLocation && ts.isTypeKeyword(ts.stringToToken(keywordEntry.name)) || !entryNames_1.has(keywordEntry.name)) { + if (isTypeOnlyLocation && ts.isTypeKeyword(ts.stringToToken(keywordEntry.name)) || !uniqueNames.has(keywordEntry.name)) { + uniqueNames.add(keywordEntry.name); ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true); } } } - var entryNames = new ts.Set(entries.map(function (e) { return e.name; })); for (var _b = 0, _c = getContextualKeywords(contextToken, position); _b < _c.length; _b++) { var keywordEntry = _c[_b]; - if (!entryNames.has(keywordEntry.name)) { + if (!uniqueNames.has(keywordEntry.name)) { + uniqueNames.add(keywordEntry.name); ts.insertSorted(entries, keywordEntry, compareCompletionEntries, /*allowDuplicates*/ true); } } for (var _d = 0, literals_1 = literals; _d < literals_1.length; _d++) { var literal = literals_1[_d]; - ts.insertSorted(entries, createCompletionEntryForLiteral(sourceFile, preferences, literal), compareCompletionEntries, /*allowDuplicates*/ true); + var literalEntry = createCompletionEntryForLiteral(sourceFile, preferences, literal); + uniqueNames.add(literalEntry.name); + ts.insertSorted(entries, literalEntry, compareCompletionEntries, /*allowDuplicates*/ true); + } + if (!isChecked) { + getJSCompletionEntries(sourceFile, location.pos, uniqueNames, ts.getEmitScriptTarget(compilerOptions), entries); } return { flags: completionData.flags, @@ -132281,8 +134613,8 @@ var ts; entries: entries, }; } - function isUncheckedFile(sourceFile, compilerOptions) { - return ts.isSourceFileJS(sourceFile) && !ts.isCheckJsEnabledForFile(sourceFile, compilerOptions); + function isCheckedFile(sourceFile, compilerOptions) { + return !ts.isSourceFileJS(sourceFile) || !!ts.isCheckJsEnabledForFile(sourceFile, compilerOptions); } function isMemberCompletionKind(kind) { switch (kind) { @@ -132651,7 +134983,7 @@ var ts; span = ts.createTextSpanFromNode(contextToken); } if (ts.isPropertyDeclaration(contextToken.parent)) { - modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers); + modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers) & 125951 /* ModifierFlags.Modifier */; span = ts.createTextSpanFromNode(contextToken.parent); } return { modifiers: modifiers, span: span }; @@ -132711,7 +135043,7 @@ var ts; var name = ts.getSynthesizedDeepClone(ts.getNameOfDeclaration(declaration), /*includeTrivia*/ false); var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var quotePreference = ts.getQuotePreference(sourceFile, preferences); - var builderFlags = quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : undefined; + var builderFlags = 33554432 /* NodeBuilderFlags.OmitThisParameter */ | (quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : 0 /* NodeBuilderFlags.None */); switch (declaration.kind) { case 166 /* SyntaxKind.PropertySignature */: case 167 /* SyntaxKind.PropertyDeclaration */: @@ -132750,12 +135082,10 @@ var ts; } var parameters = typeNode.parameters.map(function (typedParam) { return ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, typedParam.questionToken, /*type*/ undefined, typedParam.initializer); }); return ts.factory.createMethodDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, @@ -133242,7 +135572,7 @@ var ts; } function getCompletionData(program, log, sourceFile, compilerOptions, position, preferences, detailsEntryId, host, formatContext, cancellationToken) { var typeChecker = program.getTypeChecker(); - var inUncheckedFile = isUncheckedFile(sourceFile, compilerOptions); + var inCheckedFile = isCheckedFile(sourceFile, compilerOptions); var start = ts.timestamp(); var currentToken = ts.getTokenAtPosition(sourceFile, position); // TODO: GH#15853 // We will check for jsdoc comments with insideComment and getJsDocTagAtPosition. (TODO: that seems rather inefficient to check the same thing so many times.) @@ -133486,6 +135816,7 @@ var ts; var hasUnresolvedAutoImports = false; // This also gets mutated in nested-functions after the return var symbols = []; + var importSpecifierResolver; var symbolToOriginInfoMap = []; var symbolToSortTextMap = []; var seenPropertySymbols = new ts.Map(); @@ -133657,15 +135988,7 @@ var ts; isNewIdentifierLocation = true; } var propertyAccess = node.kind === 200 /* SyntaxKind.ImportType */ ? node : node.parent; - if (inUncheckedFile) { - // In javascript files, for union types, we don't just get the members that - // the individual types have in common, we also include all the members that - // each individual type has. This is because we're going to add all identifiers - // anyways. So we might as well elevate the members that were at least part - // of the individual types to a higher status since we know what they are. - symbols.push.apply(symbols, ts.filter(getPropertiesForCompletion(type, typeChecker), function (s) { return typeChecker.isValidPropertyAccessForCompletions(propertyAccess, type, s); })); - } - else { + if (inCheckedFile) { for (var _i = 0, _a = type.getApparentProperties(); _i < _a.length; _i++) { var symbol = _a[_i]; if (typeChecker.isValidPropertyAccessForCompletions(propertyAccess, type, symbol)) { @@ -133673,6 +135996,14 @@ var ts; } } } + else { + // In javascript files, for union types, we don't just get the members that + // the individual types have in common, we also include all the members that + // each individual type has. This is because we're going to add all identifiers + // anyways. So we might as well elevate the members that were at least part + // of the individual types to a higher status since we know what they are. + symbols.push.apply(symbols, ts.filter(getPropertiesForCompletion(type, typeChecker), function (s) { return typeChecker.isValidPropertyAccessForCompletions(propertyAccess, type, s); })); + } if (insertAwait && preferences.includeCompletionsWithInsertText) { var promiseType = typeChecker.getPromisedTypeOfPromise(type); if (promiseType) { @@ -133707,14 +136038,14 @@ var ts; } else { var fileName = ts.isExternalModuleNameRelative(ts.stripQuotes(moduleSymbol.name)) ? (_a = ts.getSourceFileOfModule(moduleSymbol)) === null || _a === void 0 ? void 0 : _a.fileName : undefined; - var moduleSpecifier = (ts.codefix.getModuleSpecifierForBestExportInfo([{ + var moduleSpecifier = ((importSpecifierResolver || (importSpecifierResolver = ts.codefix.createImportSpecifierResolver(sourceFile, program, host, preferences))).getModuleSpecifierForBestExportInfo([{ exportKind: 0 /* ExportKind.Named */, moduleFileName: fileName, isFromPackageJson: false, moduleSymbol: moduleSymbol, symbol: firstAccessibleSymbol, targetFlags: ts.skipAlias(firstAccessibleSymbol, typeChecker).flags, - }], firstAccessibleSymbol.name, position, ts.isValidTypeOnlyAliasUseSite(location), sourceFile, program, host, preferences) || {}).moduleSpecifier; + }], firstAccessibleSymbol.name, position, ts.isValidTypeOnlyAliasUseSite(location)) || {}).moduleSpecifier; if (moduleSpecifier) { var origin = { kind: getNullableSymbolOriginInfoKind(6 /* SymbolOriginInfoKind.SymbolMemberExport */), @@ -133864,7 +136195,7 @@ var ts; } // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 305 /* SyntaxKind.SourceFile */) { - var thisType = typeChecker.tryGetThisTypeAt(scopeNode, /*includeGlobalThis*/ false); + var thisType = typeChecker.tryGetThisTypeAt(scopeNode, /*includeGlobalThis*/ false, ts.isClassLike(scopeNode.parent) ? scopeNode : undefined); if (thisType && !isProbablyGlobalType(thisType, sourceFile, typeChecker)) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker); _i < _a.length; _i++) { var symbol = _a[_i]; @@ -133967,10 +136298,10 @@ var ts; previousToken && ts.isIdentifier(previousToken) ? previousToken.text.toLowerCase() : ""; var moduleSpecifierCache = (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host); - var exportInfo = ts.getExportInfoMap(sourceFile, host, program, cancellationToken); + var exportInfo = ts.getExportInfoMap(sourceFile, host, program, preferences, cancellationToken); var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host); var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host); - resolvingModuleSpecifiers("collectAutoImports", host, program, sourceFile, position, preferences, !!importCompletionNode, ts.isValidTypeOnlyAliasUseSite(location), function (context) { + resolvingModuleSpecifiers("collectAutoImports", host, importSpecifierResolver || (importSpecifierResolver = ts.codefix.createImportSpecifierResolver(sourceFile, program, host, preferences)), program, position, preferences, !!importCompletionNode, ts.isValidTypeOnlyAliasUseSite(location), function (context) { exportInfo.search(sourceFile.path, /*preferCapitalized*/ isRightOfOpenTag, function (symbolName, targetFlags) { if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings()))) @@ -135067,6 +137398,7 @@ var ts; return kind === 131 /* SyntaxKind.AsyncKeyword */ || kind === 132 /* SyntaxKind.AwaitKeyword */ || kind === 127 /* SyntaxKind.AsKeyword */ + || kind === 152 /* SyntaxKind.TypeKeyword */ || !ts.isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind); } function keywordForNode(node) { @@ -135166,6 +137498,10 @@ var ts; } break; case 79 /* SyntaxKind.Identifier */: { + var originalKeywordKind = location.originalKeywordKind; + if (originalKeywordKind && ts.isKeyword(originalKeywordKind)) { + return undefined; + } // class c { public prop = c| } if (ts.isPropertyDeclaration(location.parent) && location.parent.initializer === location) { return undefined; @@ -135953,60 +138289,64 @@ var ts; } return settingsOrHost; } - function acquireDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind) { + function acquireDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind, languageVersionOrOptions) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); var key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); + return acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind, languageVersionOrOptions); } - function acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind) { - return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ true, scriptKind); + function acquireDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, /*acquiring*/ true, scriptKind, languageVersionOrOptions); } - function updateDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind) { + function updateDocument(fileName, compilationSettings, scriptSnapshot, version, scriptKind, languageVersionOrOptions) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); var key = getKeyForCompilationSettings(getCompilationSettings(compilationSettings)); - return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind); + return updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind, languageVersionOrOptions); } - function updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind) { - return acquireOrUpdateDocument(fileName, path, getCompilationSettings(compilationSettings), key, scriptSnapshot, version, /*acquiring*/ false, scriptKind); + function updateDocumentWithKey(fileName, path, compilationSettings, key, scriptSnapshot, version, scriptKind, languageVersionOrOptions) { + return acquireOrUpdateDocument(fileName, path, getCompilationSettings(compilationSettings), key, scriptSnapshot, version, /*acquiring*/ false, scriptKind, languageVersionOrOptions); } function getDocumentRegistryEntry(bucketEntry, scriptKind) { var entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(ts.Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided")); ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:".concat(scriptKind, " and sourceFile.scriptKind: ").concat(entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind, ", !entry: ").concat(!entry)); return entry; } - function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version, acquiring, scriptKind) { + function acquireOrUpdateDocument(fileName, path, compilationSettingsOrHost, key, scriptSnapshot, version, acquiring, scriptKind, languageVersionOrOptions) { var _a, _b, _c, _d; scriptKind = ts.ensureScriptKind(fileName, scriptKind); var compilationSettings = getCompilationSettings(compilationSettingsOrHost); var host = compilationSettingsOrHost === compilationSettings ? undefined : compilationSettingsOrHost; var scriptTarget = scriptKind === 6 /* ScriptKind.JSON */ ? 100 /* ScriptTarget.JSON */ : ts.getEmitScriptTarget(compilationSettings); - var sourceFileOptions = { - languageVersion: scriptTarget, - impliedNodeFormat: host && ts.getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a = host.getCompilerHost) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getModuleResolutionCache) === null || _c === void 0 ? void 0 : _c.call(_b)) === null || _d === void 0 ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), - setExternalModuleIndicator: ts.getSetExternalModuleIndicator(compilationSettings) - }; + var sourceFileOptions = typeof languageVersionOrOptions === "object" ? + languageVersionOrOptions : + { + languageVersion: scriptTarget, + impliedNodeFormat: host && ts.getImpliedNodeFormatForFile(path, (_d = (_c = (_b = (_a = host.getCompilerHost) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getModuleResolutionCache) === null || _c === void 0 ? void 0 : _c.call(_b)) === null || _d === void 0 ? void 0 : _d.getPackageJsonInfoCache(), host, compilationSettings), + setExternalModuleIndicator: ts.getSetExternalModuleIndicator(compilationSettings) + }; + sourceFileOptions.languageVersion = scriptTarget; var oldBucketCount = buckets.size; - var bucket = ts.getOrUpdate(buckets, key, function () { return new ts.Map(); }); + var keyWithMode = getDocumentRegistryBucketKeyWithMode(key, sourceFileOptions.impliedNodeFormat); + var bucket = ts.getOrUpdate(buckets, keyWithMode, function () { return new ts.Map(); }); if (ts.tracing) { if (buckets.size > oldBucketCount) { // It is interesting, but not definitively problematic if a build requires multiple document registry buckets - // perhaps they are for two projects that don't have any overlap. // Bonus: these events can help us interpret the more interesting event below. - ts.tracing.instant("session" /* tracing.Phase.Session */, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: key }); + ts.tracing.instant("session" /* tracing.Phase.Session */, "createdDocumentRegistryBucket", { configFilePath: compilationSettings.configFilePath, key: keyWithMode }); } // It is fairly suspicious to have one path in two buckets - you'd expect dependencies to have similar configurations. // If this occurs unexpectedly, the fix is likely to synchronize the project settings. // Skip .d.ts files to reduce noise (should also cover most of node_modules). var otherBucketKey = !ts.isDeclarationFileName(path) && - ts.forEachEntry(buckets, function (bucket, bucketKey) { return bucketKey !== key && bucket.has(path) && bucketKey; }); + ts.forEachEntry(buckets, function (bucket, bucketKey) { return bucketKey !== keyWithMode && bucket.has(path) && bucketKey; }); if (otherBucketKey) { - ts.tracing.instant("session" /* tracing.Phase.Session */, "documentRegistryBucketOverlap", { path: path, key1: otherBucketKey, key2: key }); + ts.tracing.instant("session" /* tracing.Phase.Session */, "documentRegistryBucketOverlap", { path: path, key1: otherBucketKey, key2: keyWithMode }); } } var bucketEntry = bucket.get(path); var entry = bucketEntry && getDocumentRegistryEntry(bucketEntry, scriptKind); if (!entry && externalCache) { - var sourceFile = externalCache.getDocument(key, path); + var sourceFile = externalCache.getDocument(keyWithMode, path); if (sourceFile) { ts.Debug.assert(acquiring); entry = { @@ -136020,7 +138360,7 @@ var ts; // Have never seen this file with these settings. Create a new source file for it. var sourceFile = ts.createLanguageServiceSourceFile(fileName, scriptSnapshot, sourceFileOptions, version, /*setNodeParents*/ false, scriptKind); if (externalCache) { - externalCache.setDocument(key, path, sourceFile); + externalCache.setDocument(keyWithMode, path, sourceFile); } entry = { sourceFile: sourceFile, @@ -136035,7 +138375,7 @@ var ts; if (entry.sourceFile.version !== version) { entry.sourceFile = ts.updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, scriptSnapshot.getChangeRange(entry.sourceFile.scriptSnapshot)); // TODO: GH#18217 if (externalCache) { - externalCache.setDocument(key, path, entry.sourceFile); + externalCache.setDocument(keyWithMode, path, entry.sourceFile); } } // If we're acquiring, then this is the first time this LS is asking for this document. @@ -136064,13 +138404,13 @@ var ts; } } } - function releaseDocument(fileName, compilationSettings, scriptKind) { + function releaseDocument(fileName, compilationSettings, scriptKind, impliedNodeFormat) { var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); var key = getKeyForCompilationSettings(compilationSettings); - return releaseDocumentWithKey(path, key, scriptKind); + return releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat); } - function releaseDocumentWithKey(path, key, scriptKind) { - var bucket = ts.Debug.checkDefined(buckets.get(key)); + function releaseDocumentWithKey(path, key, scriptKind, impliedNodeFormat) { + var bucket = ts.Debug.checkDefined(buckets.get(getDocumentRegistryBucketKeyWithMode(key, impliedNodeFormat))); var bucketEntry = bucket.get(path); var entry = getDocumentRegistryEntry(bucketEntry, scriptKind); entry.languageServiceRefCount--; @@ -136118,7 +138458,7 @@ var ts; } var str = "{"; for (var key in value) { - if (ts.hasOwnProperty.call(value, key)) { // eslint-disable-line @typescript-eslint/no-unnecessary-qualifier + if (ts.hasProperty(value, key)) { str += "".concat(key, ": ").concat(compilerOptionValueToString(value[key])); } } @@ -136127,6 +138467,9 @@ var ts; function getKeyForCompilationSettings(settings) { return ts.sourceFileAffectingCompilerOptions.map(function (option) { return compilerOptionValueToString(ts.getCompilerOptionValue(settings, option)); }).join("|") + (settings.pathsBasePath ? "|".concat(settings.pathsBasePath) : undefined); } + function getDocumentRegistryBucketKeyWithMode(key, mode) { + return (mode ? "".concat(key, "|").concat(mode) : key); + } })(ts || (ts = {})); /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ /* @internal */ @@ -136259,7 +138602,7 @@ var ts; return ts.findAncestor(node, function (node) { if (stopAtAmbientModule && isAmbientModuleDeclaration(node)) return "quit"; - return ts.some(node.modifiers, function (mod) { return mod.kind === 93 /* SyntaxKind.ExportKeyword */; }); + return ts.canHaveModifiers(node) && ts.some(node.modifiers, ts.isExportModifier); }); } function handleNamespaceImport(importDeclaration, name, isReExport, alreadyAddedDirect) { @@ -136683,7 +139026,7 @@ var ts; ts.Debug.assert(parent.name === node); return true; case 203 /* SyntaxKind.BindingElement */: - return ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(parent); + return ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(parent.parent.parent); default: return false; } @@ -136942,18 +139285,18 @@ var ts; || node.kind === 106 /* SyntaxKind.SuperKeyword */) { referenceEntries = entries && __spreadArray([], entries, true); } - else { - var queue = entries && __spreadArray([], entries, true); + else if (entries) { + var queue = ts.createQueue(entries); var seenNodes = new ts.Map(); - while (queue && queue.length) { - var entry = queue.shift(); + while (!queue.isEmpty()) { + var entry = queue.dequeue(); if (!ts.addToSeen(seenNodes, ts.getNodeId(entry.node))) { continue; } referenceEntries = ts.append(referenceEntries, entry); var entries_1 = getImplementationReferenceEntries(program, cancellationToken, sourceFiles, entry.node, entry.node.pos); if (entries_1) { - queue.push.apply(queue, entries_1); + queue.enqueue.apply(queue, entries_1); } } } @@ -137209,6 +139552,7 @@ var ts; var commonjsSource = source && ts.isBinaryExpression(source) ? source.left : undefined; return !!(source && ((_a = target.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d === source || d === commonjsSource; }))); } + FindAllReferences.isDeclarationOfSymbol = isDeclarationOfSymbol; /** * True if 'decl' provides a value, as in `function f() {}`; * false if 'decl' is just a location for a future write, as in 'let x;' @@ -137415,7 +139759,7 @@ var ts; result = references; continue; } - var _loop_5 = function (entry) { + var _loop_3 = function (entry) { if (!entry.definition || entry.definition.type !== 0 /* DefinitionKind.Symbol */) { result.push(entry); return "continue"; @@ -137447,7 +139791,7 @@ var ts; }; for (var _b = 0, references_2 = references; _b < references_2.length; _b++) { var entry = references_2[_b]; - _loop_5(entry); + _loop_3(entry); } } return result; @@ -138148,7 +140492,7 @@ var ts; // Use the parent symbol if the location is commonjs require syntax on javascript files only. if (ts.isInJSFile(referenceLocation) && referenceLocation.parent.kind === 203 /* SyntaxKind.BindingElement */ - && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(referenceLocation.parent)) { + && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(referenceLocation.parent.parent.parent)) { referenceSymbol = referenceLocation.parent.symbol; // The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In // this case, just skip it, since the bound identifiers are not an alias of the import. @@ -139028,8 +141372,8 @@ var ts; var declarations; if (symbol && symbol.declarations) { var indices = ts.indicesOf(symbol.declarations); - var keys_1 = ts.map(symbol.declarations, function (decl) { return ({ file: decl.getSourceFile().fileName, pos: decl.pos }); }); - indices.sort(function (a, b) { return ts.compareStringsCaseSensitive(keys_1[a].file, keys_1[b].file) || keys_1[a].pos - keys_1[b].pos; }); + var keys_2 = ts.map(symbol.declarations, function (decl) { return ({ file: decl.getSourceFile().fileName, pos: decl.pos }); }); + indices.sort(function (a, b) { return ts.compareStringsCaseSensitive(keys_2[a].file, keys_2[b].file) || keys_2[a].pos - keys_2[b].pos; }); var sortedDeclarations = ts.map(indices, function (i) { return symbol.declarations[i]; }); var lastDecl = void 0; for (var _i = 0, sortedDeclarations_1 = sortedDeclarations; _i < sortedDeclarations_1.length; _i++) { @@ -139299,14 +141643,16 @@ var ts; collect(node.body); } function collectCallSitesOfClassLikeDeclaration(node, collect) { - ts.forEach(node.decorators, collect); + ts.forEach(node.modifiers, collect); var heritage = ts.getClassExtendsHeritageElement(node); if (heritage) { collect(heritage.expression); } for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - ts.forEach(member.decorators, collect); + if (ts.canHaveModifiers(member)) { + ts.forEach(member.modifiers, collect); + } if (ts.isPropertyDeclaration(member)) { collect(member.initializer); } @@ -139475,7 +141821,7 @@ var ts; } function updateImports(program, changeTracker, oldToNew, newToOld, host, getCanonicalFileName) { var allFiles = program.getSourceFiles(); - var _loop_6 = function (sourceFile) { + var _loop_4 = function (sourceFile) { var newFromOld = oldToNew(sourceFile.fileName); var newImportFromPath = newFromOld !== null && newFromOld !== void 0 ? newFromOld : sourceFile.fileName; var newImportFromDirectory = ts.getDirectoryPath(newImportFromPath); @@ -139507,7 +141853,7 @@ var ts; }; for (var _i = 0, allFiles_1 = allFiles; _i < allFiles_1.length; _i++) { var sourceFile = allFiles_1[_i]; - _loop_6(sourceFile); + _loop_4(sourceFile); } } function combineNormal(pathA, pathB) { @@ -140149,11 +142495,12 @@ var ts; ts.forEachUnique(declarations, function (declaration) { for (var _i = 0, _a = getCommentHavingNodes(declaration); _i < _a.length; _i++) { var jsdoc = _a[_i]; + var inheritDoc = ts.isJSDoc(jsdoc) && jsdoc.tags && ts.find(jsdoc.tags, function (t) { return t.kind === 327 /* SyntaxKind.JSDocTag */ && (t.tagName.escapedText === "inheritDoc" || t.tagName.escapedText === "inheritdoc"); }); // skip comments containing @typedefs since they're not associated with particular declarations // Exceptions: // - @typedefs are themselves declarations with associated comments // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation - if (jsdoc.comment === undefined + if (jsdoc.comment === undefined && !inheritDoc || ts.isJSDoc(jsdoc) && declaration.kind !== 345 /* SyntaxKind.JSDocTypedefTag */ && declaration.kind !== 338 /* SyntaxKind.JSDocCallbackTag */ && jsdoc.tags @@ -140161,7 +142508,10 @@ var ts; && !jsdoc.tags.some(function (t) { return t.kind === 340 /* SyntaxKind.JSDocParameterTag */ || t.kind === 341 /* SyntaxKind.JSDocReturnTag */; })) { continue; } - var newparts = getDisplayPartsFromComment(jsdoc.comment, checker); + var newparts = jsdoc.comment ? getDisplayPartsFromComment(jsdoc.comment, checker) : []; + if (inheritDoc && inheritDoc.comment) { + newparts = newparts.concat(getDisplayPartsFromComment(inheritDoc.comment, checker)); + } if (!ts.contains(parts, newparts, isIdenticalListOfDisplayParts)) { parts.push(newparts); } @@ -140395,8 +142745,12 @@ var ts; return undefined; } var commentOwner = commentOwnerInfo.commentOwner, parameters = commentOwnerInfo.parameters, hasReturn = commentOwnerInfo.hasReturn; - var commentOwnerJSDoc = ts.hasJSDocNodes(commentOwner) && commentOwner.jsDoc ? ts.lastOrUndefined(commentOwner.jsDoc) : undefined; - if (commentOwner.getStart(sourceFile) < position || commentOwnerJSDoc && commentOwnerJSDoc !== existingDocComment) { + var commentOwnerJsDoc = ts.hasJSDocNodes(commentOwner) && commentOwner.jsDoc ? commentOwner.jsDoc : undefined; + var lastJsDoc = ts.lastOrUndefined(commentOwnerJsDoc); + if (commentOwner.getStart(sourceFile) < position + || lastJsDoc + && existingDocComment + && lastJsDoc !== existingDocComment) { return undefined; } var indentationStr = getIndentationStringAtPosition(sourceFile, position); @@ -140413,7 +142767,9 @@ var ts; // * if the caret was directly in front of the object, then we add an extra line and indentation. var openComment = "/**"; var closeComment = " */"; - if (tags) { + // If any of the existing jsDoc has tags, ignore adding new ones. + var hasTag = (commentOwnerJsDoc || []).some(function (jsDoc) { return !!jsDoc.tags; }); + if (tags && !hasTag) { var preamble = openComment + newLine + indentationStr + " * "; var endLine = tokenStart === position ? newLine + indentationStr : ""; var result = preamble + newLine + tags + indentationStr + closeComment + endLine; @@ -140527,7 +142883,7 @@ var ts; if (!patternMatcher) return ts.emptyArray; var rawItems = []; - var _loop_7 = function (sourceFile) { + var _loop_5 = function (sourceFile) { cancellationToken.throwIfCancellationRequested(); if (excludeDtsFiles && sourceFile.isDeclarationFile) { return "continue"; @@ -140539,7 +142895,7 @@ var ts; // Search the declarations in all files and output matched NavigateToItem into array of NavigateToItem[] for (var _i = 0, sourceFiles_4 = sourceFiles; _i < sourceFiles_4.length; _i++) { var sourceFile = sourceFiles_4[_i]; - _loop_7(sourceFile); + _loop_5(sourceFile); } rawItems.sort(compareNavigateToItems); return (maxResultCount === undefined ? rawItems : rawItems.slice(0, maxResultCount)).map(createNavigateToItem); @@ -141135,7 +143491,7 @@ var ts; isPossibleConstructor(b.node) ? b.node : undefined; if (ctorFunction !== undefined) { - var ctorNode = ts.setTextRange(ts.factory.createConstructorDeclaration(/* decorators */ undefined, /* modifiers */ undefined, [], /* body */ undefined), ctorFunction); + var ctorNode = ts.setTextRange(ts.factory.createConstructorDeclaration(/* modifiers */ undefined, [], /* body */ undefined), ctorFunction); var ctor = emptyNavigationBarNode(ctorNode); ctor.indent = a.indent + 1; ctor.children = a.node === ctorFunction ? a.children : b.children; @@ -141151,7 +143507,6 @@ var ts; } } lastANode = a.node = ts.setTextRange(ts.factory.createClassDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), /* typeParameters */ undefined, /* heritageClauses */ undefined, []), a.node); @@ -141176,7 +143531,6 @@ var ts; if (!a.additionalNodes) a.additionalNodes = []; a.additionalNodes.push(ts.setTextRange(ts.factory.createClassDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), /* typeParameters */ undefined, /* heritageClauses */ undefined, []), b.node)); @@ -141685,7 +144039,7 @@ var ts; else if (hasModuleDeclarationMatchingSpecifier(sourceFile, moduleSpecifier)) { // If we’re in a declaration file, it’s safe to remove the import clause from it if (sourceFile.isDeclarationFile) { - usedImports.push(ts.factory.createImportDeclaration(importDecl.decorators, importDecl.modifiers, + usedImports.push(ts.factory.createImportDeclaration(importDecl.modifiers, /*importClause*/ undefined, moduleSpecifier, /*assertClause*/ undefined)); } @@ -141851,7 +144205,7 @@ var ts; newExportSpecifiers.push.apply(newExportSpecifiers, ts.flatMap(exportGroup_1, function (i) { return i.exportClause && ts.isNamedExports(i.exportClause) ? i.exportClause.elements : ts.emptyArray; })); var sortedExportSpecifiers = sortSpecifiers(newExportSpecifiers); var exportDecl = exportGroup_1[0]; - coalescedExports.push(ts.factory.updateExportDeclaration(exportDecl, exportDecl.decorators, exportDecl.modifiers, exportDecl.isTypeOnly, exportDecl.exportClause && (ts.isNamedExports(exportDecl.exportClause) ? + coalescedExports.push(ts.factory.updateExportDeclaration(exportDecl, exportDecl.modifiers, exportDecl.isTypeOnly, exportDecl.exportClause && (ts.isNamedExports(exportDecl.exportClause) ? ts.factory.updateNamedExports(exportDecl.exportClause, sortedExportSpecifiers) : ts.factory.updateNamespaceExport(exportDecl.exportClause, exportDecl.exportClause.name)), exportDecl.moduleSpecifier, exportDecl.assertClause)); } @@ -141888,7 +144242,7 @@ var ts; } OrganizeImports.coalesceExports = coalesceExports; function updateImportDeclarationAndClause(importDeclaration, name, namedBindings) { - return ts.factory.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.factory.updateImportClause(importDeclaration.importClause, importDeclaration.importClause.isTypeOnly, name, namedBindings), // TODO: GH#18217 + return ts.factory.updateImportDeclaration(importDeclaration, importDeclaration.modifiers, ts.factory.updateImportClause(importDeclaration.importClause, importDeclaration.importClause.isTypeOnly, name, namedBindings), // TODO: GH#18217 importDeclaration.moduleSpecifier, importDeclaration.assertClause); } function sortSpecifiers(specifiers) { @@ -142604,13 +144958,13 @@ var ts; // Assumes 'value' is already lowercase. function indexOfIgnoringCase(str, value) { var n = str.length - value.length; - var _loop_8 = function (start) { + var _loop_6 = function (start) { if (every(value, function (valueChar, i) { return toLowerCase(str.charCodeAt(i + start)) === valueChar; })) { return { value: start }; } }; for (var start = 0; start <= n; start++) { - var state_3 = _loop_8(start); + var state_3 = _loop_6(start); if (typeof state_3 === "object") return state_3.value; } @@ -143196,10 +145550,10 @@ var ts; (function (ts) { var Rename; (function (Rename) { - function getRenameInfo(program, sourceFile, position, options) { + function getRenameInfo(program, sourceFile, position, preferences) { var node = ts.getAdjustedRenameLocation(ts.getTouchingPropertyName(sourceFile, position)); if (nodeIsEligibleForRename(node)) { - var renameInfo = getRenameInfoForNode(node, program.getTypeChecker(), sourceFile, program, options); + var renameInfo = getRenameInfoForNode(node, program.getTypeChecker(), sourceFile, program, preferences); if (renameInfo) { return renameInfo; } @@ -143207,7 +145561,7 @@ var ts; return getRenameInfoError(ts.Diagnostics.You_cannot_rename_this_element); } Rename.getRenameInfo = getRenameInfo; - function getRenameInfoForNode(node, typeChecker, sourceFile, program, options) { + function getRenameInfoForNode(node, typeChecker, sourceFile, program, preferences) { var symbol = typeChecker.getSymbolAtLocation(node); if (!symbol) { if (ts.isStringLiteralLike(node)) { @@ -143235,7 +145589,12 @@ var ts; return undefined; } if (ts.isStringLiteralLike(node) && ts.tryGetImportFromModuleSpecifier(node)) { - return options && options.allowRenameOfImportPath ? getRenameInfoForModule(node, sourceFile, symbol) : undefined; + return preferences.allowRenameOfImportPath ? getRenameInfoForModule(node, sourceFile, symbol) : undefined; + } + // Disallow rename for elements that would rename across `*/node_modules/*` packages. + var wouldRenameNodeModules = wouldRenameInOtherNodeModules(sourceFile, symbol, typeChecker, preferences); + if (wouldRenameNodeModules) { + return getRenameInfoError(wouldRenameNodeModules); } var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) @@ -143249,6 +145608,49 @@ var ts; var sourceFile = declaration.getSourceFile(); return program.isSourceFileDefaultLibrary(sourceFile) && ts.fileExtensionIs(sourceFile.fileName, ".d.ts" /* Extension.Dts */); } + function wouldRenameInOtherNodeModules(originalFile, symbol, checker, preferences) { + if (!preferences.providePrefixAndSuffixTextForRename && symbol.flags & 2097152 /* SymbolFlags.Alias */) { + var importSpecifier = symbol.declarations && ts.find(symbol.declarations, function (decl) { return ts.isImportSpecifier(decl); }); + if (importSpecifier && !importSpecifier.propertyName) { + symbol = checker.getAliasedSymbol(symbol); + } + } + var declarations = symbol.declarations; + if (!declarations) { + return undefined; + } + var originalPackage = getPackagePathComponents(originalFile.path); + if (originalPackage === undefined) { // original source file is not in node_modules + if (ts.some(declarations, function (declaration) { return ts.isInsideNodeModules(declaration.getSourceFile().path); })) { + return ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder; + } + else { + return undefined; + } + } + // original source file is in node_modules + for (var _i = 0, declarations_4 = declarations; _i < declarations_4.length; _i++) { + var declaration = declarations_4[_i]; + var declPackage = getPackagePathComponents(declaration.getSourceFile().path); + if (declPackage) { + var length_2 = Math.min(originalPackage.length, declPackage.length); + for (var i = 0; i <= length_2; i++) { + if (ts.compareStringsCaseSensitive(originalPackage[i], declPackage[i]) !== 0 /* Comparison.EqualTo */) { + return ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder; + } + } + } + } + return undefined; + } + function getPackagePathComponents(filePath) { + var components = ts.getPathComponents(filePath); + var nodeModulesIdx = components.lastIndexOf("node_modules"); + if (nodeModulesIdx === -1) { + return undefined; + } + return components.slice(0, nodeModulesIdx + 2); + } function getRenameInfoForModule(node, sourceFile, moduleSymbol) { if (!ts.isExternalModuleNameRelative(node.text)) { return getRenameInfoError(ts.Diagnostics.You_cannot_rename_a_module_via_a_global_import); @@ -143319,7 +145721,7 @@ var ts; var SmartSelectionRange; (function (SmartSelectionRange) { function getSmartSelectionRange(pos, sourceFile) { - var _a; + var _a, _b; var selectionRange = { textSpan: ts.createTextSpanFromBounds(sourceFile.getFullStart(), sourceFile.getEnd()) }; @@ -143371,6 +145773,17 @@ var ts; if (ts.hasJSDocNodes(node) && ((_a = node.jsDoc) === null || _a === void 0 ? void 0 : _a.length)) { pushSelectionRange(ts.first(node.jsDoc).getStart(), end); } + // (#39618 & #49807) + // When the node is a SyntaxList and its first child has a JSDoc comment, then the node's + // `start` (which usually is the result of calling `node.getStart()`) points to the first + // token after the JSDoc comment. So, we have to make sure we'd pushed the selection + // covering the JSDoc comment before diving further. + if (ts.isSyntaxList(node)) { + var firstChild = node.getChildren()[0]; + if (firstChild && ts.hasJSDocNodes(firstChild) && ((_b = firstChild.jsDoc) === null || _b === void 0 ? void 0 : _b.length) && firstChild.getStart() !== node.pos) { + start = Math.min(start, ts.first(firstChild.jsDoc).getStart()); + } + } pushSelectionRange(start, end); // String literals should have a stop both inside and outside their quotes. if (ts.isStringLiteral(node) || ts.isTemplateLiteral(node)) { @@ -143444,6 +145857,7 @@ var ts; * other as well as of other top-level statements and declarations. */ function getSelectionChildren(node) { + var _a; // Group top-level imports if (ts.isSourceFile(node)) { return groupChildren(node.getChildAt(0).getChildren(), isImport); @@ -143459,7 +145873,7 @@ var ts; // because it allows the mapped type to become an object type with a // few keystrokes. if (ts.isMappedTypeNode(node)) { - var _a = node.getChildren(), openBraceToken = _a[0], children = _a.slice(1); + var _b = node.getChildren(), openBraceToken = _b[0], children = _b.slice(1); var closeBraceToken = ts.Debug.checkDefined(children.pop()); ts.Debug.assertEqual(openBraceToken.kind, 18 /* SyntaxKind.OpenBraceToken */); ts.Debug.assertEqual(closeBraceToken.kind, 19 /* SyntaxKind.CloseBraceToken */); @@ -143490,10 +145904,13 @@ var ts; var children = groupChildren(node.getChildren(), function (child) { return child === node.name || ts.contains(node.modifiers, child); }); - return splitChildren(children, function (_a) { + var firstJSDocChild = ((_a = children[0]) === null || _a === void 0 ? void 0 : _a.kind) === 320 /* SyntaxKind.JSDoc */ ? children[0] : undefined; + var withJSDocSeparated = firstJSDocChild ? children.slice(1) : children; + var splittedChildren = splitChildren(withJSDocSeparated, function (_a) { var kind = _a.kind; return kind === 58 /* SyntaxKind.ColonToken */; }); + return firstJSDocChild ? [firstJSDocChild, createSyntaxList(splittedChildren)] : splittedChildren; } // Group the parameter name with its `...`, then that group with its `?`, then pivot on `=`. if (ts.isParameter(node)) { @@ -144029,7 +146446,7 @@ var ts; return ts.createTextSpan(applicableSpanStart, applicableSpanEnd - applicableSpanStart); } function getContainingArgumentInfo(node, position, sourceFile, checker, isManuallyInvoked) { - var _loop_9 = function (n) { + var _loop_7 = function (n) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: ".concat(ts.Debug.formatSyntaxKind(n.kind), ", parent: ").concat(ts.Debug.formatSyntaxKind(n.parent.kind)); }); @@ -144039,7 +146456,7 @@ var ts; } }; for (var n = node; !ts.isSourceFile(n) && (isManuallyInvoked || !ts.isBlock(n)); n = n.parent) { - var state_4 = _loop_9(n); + var state_4 = _loop_7(n); if (typeof state_4 === "object") return state_4.value; } @@ -144238,7 +146655,7 @@ var ts; if (!ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth())) { return; } - if (ts.isTypeNode(node)) { + if (ts.isTypeNode(node) && !ts.isExpressionWithTypeArguments(node)) { return; } if (preferences.includeInlayVariableTypeHints && ts.isVariableDeclaration(node)) { @@ -144303,7 +146720,7 @@ var ts; return type.symbol && (type.symbol.flags & 1536 /* SymbolFlags.Module */); } function visitVariableLikeDeclaration(decl) { - if (!decl.initializer || ts.isBindingPattern(decl.name)) { + if (!decl.initializer || ts.isBindingPattern(decl.name) || ts.isVariableDeclaration(decl) && !isHintableDeclaration(decl)) { return; } var effectiveTypeAnnotation = ts.getEffectiveTypeAnnotationNode(decl); @@ -144316,6 +146733,10 @@ var ts; } var typeDisplayString = printTypeInSingleLine(declarationType); if (typeDisplayString) { + var isVariableNameMatchesType = preferences.includeInlayVariableTypeHintsWhenTypeMatchesName === false && ts.equateStringsCaseInsensitive(decl.name.getText(), typeDisplayString); + if (isVariableNameMatchesType) { + return; + } addTypeHints(typeDisplayString, decl.name.end); } } @@ -144427,6 +146848,9 @@ var ts; } for (var i = 0; i < node.parameters.length && i < signature.parameters.length; ++i) { var param = node.parameters[i]; + if (!isHintableDeclaration(param)) { + continue; + } var effectiveTypeAnnotation = ts.getEffectiveTypeAnnotationNode(param); if (effectiveTypeAnnotation) { continue; @@ -144468,6 +146892,13 @@ var ts; function isUndefined(name) { return name === "undefined"; } + function isHintableDeclaration(node) { + if ((ts.isParameterDeclaration(node) || ts.isVariableDeclaration(node) && ts.isVarConst(node)) && node.initializer) { + var initializer = ts.skipParentheses(node.initializer); + return !(isHintableLiteral(initializer) || ts.isNewExpression(initializer) || ts.isObjectLiteralExpression(initializer) || ts.isAssertionExpression(initializer)); + } + return true; + } } InlayHints.provideInlayHints = provideInlayHints; })(InlayHints = ts.InlayHints || (ts.InlayHints = {})); @@ -145638,7 +148069,7 @@ var ts; commandLineOptionsStringToEnum = commandLineOptionsStringToEnum || ts.filter(ts.optionDeclarations, function (o) { return typeof o.type === "object" && !ts.forEachEntry(o.type, function (v) { return typeof v !== "number"; }); }); options = ts.cloneCompilerOptions(options); - var _loop_10 = function (opt) { + var _loop_8 = function (opt) { if (!ts.hasProperty(options, opt.name)) { return "continue"; } @@ -145657,7 +148088,7 @@ var ts; }; for (var _i = 0, commandLineOptionsStringToEnum_1 = commandLineOptionsStringToEnum; _i < commandLineOptionsStringToEnum_1.length; _i++) { var opt = commandLineOptionsStringToEnum_1[_i]; - _loop_10(opt); + _loop_8(opt); } return options; } @@ -146607,7 +149038,7 @@ var ts; } function isEndOfDecoratorContextOnSameLine(context) { return context.TokensAreOnSameLine() && - !!context.contextNode.decorators && + ts.hasDecorators(context.contextNode) && nodeIsInDecoratorContext(context.currentTokenParent) && !nodeIsInDecoratorContext(context.nextTokenParent); } @@ -147172,6 +149603,7 @@ var ts; var options = _a.options, getRules = _a.getRules, host = _a.host; // formatting context is used by rules provider var formattingContext = new formatting.FormattingContext(sourceFile, requestKind, options); + var previousRangeTriviaEnd; var previousRange; var previousParent; var previousRangeStartLine; @@ -147182,7 +149614,7 @@ var ts; if (formattingScanner.isOnToken()) { var startLine = sourceFile.getLineAndCharacterOfPosition(enclosingNode.getStart(sourceFile)).line; var undecoratedStartLine = startLine; - if (enclosingNode.decorators) { + if (ts.hasDecorators(enclosingNode)) { undecoratedStartLine = sourceFile.getLineAndCharacterOfPosition(ts.getNonDecoratorTokenPosOfNode(enclosingNode, sourceFile)).line; } processNode(enclosingNode, enclosingNode, startLine, undecoratedStartLine, initialIndentation, delta); @@ -147200,10 +149632,30 @@ var ts; } } if (previousRange && formattingScanner.getStartPos() >= originalRange.end) { + // Formatting edits happen by looking at pairs of contiguous tokens (see `processPair`), + // typically inserting or deleting whitespace between them. The recursive `processNode` + // logic above bails out as soon as it encounters a token that is beyond the end of the + // range we're supposed to format (or if we reach the end of the file). But this potentially + // leaves out an edit that would occur *inside* the requested range but cannot be discovered + // without looking at one token *beyond* the end of the range: consider the line `x = { }` + // with a selection from the beginning of the line to the space inside the curly braces, + // inclusive. We would expect a format-selection would delete the space (if rules apply), + // but in order to do that, we need to process the pair ["{", "}"], but we stopped processing + // just before getting there. This block handles this trailing edit. var tokenInfo = formattingScanner.isOnEOF() ? formattingScanner.readEOFTokenRange() : formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(enclosingNode).token : undefined; - if (tokenInfo) { + if (tokenInfo && tokenInfo.pos === previousRangeTriviaEnd) { + // We need to check that tokenInfo and previousRange are contiguous: the `originalRange` + // may have ended in the middle of a token, which means we will have stopped formatting + // on that token, leaving `previousRange` pointing to the token before it, but already + // having moved the formatting scanner (where we just got `tokenInfo`) to the next token. + // If this happens, our supposed pair [previousRange, tokenInfo] actually straddles the + // token that intersects the end of the range we're supposed to format, so the pair will + // produce bogus edits if we try to `processPair`. Recall that the point of this logic is + // to perform a trailing edit at the end of the selection range: but there can be no valid + // edit in the middle of a token where the range ended, so if we have a non-contiguous + // pair here, we're already done and we can ignore it. var parent = ((_b = ts.findPrecedingToken(tokenInfo.end, sourceFile, enclosingNode)) === null || _b === void 0 ? void 0 : _b.parent) || previousParent; processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent, /*dynamicIndentation*/ undefined); @@ -147269,8 +149721,10 @@ var ts; } } function getFirstNonDecoratorTokenOfNode(node) { - if (node.modifiers && node.modifiers.length) { - return node.modifiers[0].kind; + if (ts.canHaveModifiers(node)) { + var modifier = ts.find(node.modifiers, ts.isModifier, ts.findIndex(node.modifiers, ts.isDecorator)); + if (modifier) + return modifier.kind; } switch (node.kind) { case 257 /* SyntaxKind.ClassDeclaration */: return 84 /* SyntaxKind.ClassKeyword */; @@ -147345,7 +149799,6 @@ var ts; case 280 /* SyntaxKind.JsxOpeningElement */: case 281 /* SyntaxKind.JsxClosingElement */: case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: return false; } break; @@ -147359,7 +149812,7 @@ var ts; // if token line equals to the line of containing node (this is a first token in the node) - use node indentation return nodeStartLine !== line // if this token is the first token following the list of decorators, we do not need to indent - && !(node.decorators && kind === getFirstNonDecoratorTokenOfNode(node)); + && !(ts.hasDecorators(node) && kind === getFirstNonDecoratorTokenOfNode(node)); } function getDelta(child) { // Delta value should be zero when the node explicitly prevents indentation of the child node @@ -147399,13 +149852,14 @@ var ts; consumeTokenAndAdvanceScanner(tokenInfo, node, nodeDynamicIndentation, node); } function processChildNode(child, inheritedIndentation, parent, parentDynamicIndentation, parentStartLine, undecoratedParentStartLine, isListItem, isFirstListItem) { + ts.Debug.assert(!ts.nodeIsSynthesized(child)); if (ts.nodeIsMissing(child)) { return inheritedIndentation; } var childStartPos = child.getStart(sourceFile); var childStartLine = sourceFile.getLineAndCharacterOfPosition(childStartPos).line; var undecoratedChildStartLine = childStartLine; - if (child.decorators) { + if (ts.hasDecorators(child)) { undecoratedChildStartLine = sourceFile.getLineAndCharacterOfPosition(ts.getNonDecoratorTokenPosOfNode(child, sourceFile)).line; } // if child is a list item - try to get its indentation, only if parent is within the original range. @@ -147465,6 +149919,7 @@ var ts; } function processChildNodes(nodes, parent, parentStartLine, parentDynamicIndentation) { ts.Debug.assert(ts.isNodeArray(nodes)); + ts.Debug.assert(!ts.nodeIsSynthesized(nodes)); var listStartToken = getOpenTokenForList(parent, nodes); var listDynamicIndentation = parentDynamicIndentation; var startLine = parentStartLine; @@ -147515,12 +149970,10 @@ var ts; var listEndToken = getCloseTokenForOpenToken(listStartToken); if (listEndToken !== 0 /* SyntaxKind.Unknown */ && formattingScanner.isOnToken() && formattingScanner.getStartPos() < originalRange.end) { var tokenInfo = formattingScanner.readTokenInfo(parent); - if (tokenInfo.token.kind === 27 /* SyntaxKind.CommaToken */ && ts.isCallLikeExpression(parent)) { - var commaTokenLine = sourceFile.getLineAndCharacterOfPosition(tokenInfo.token.pos).line; - if (startLine !== commaTokenLine) { - formattingScanner.advance(); - tokenInfo = formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(parent) : undefined; - } + if (tokenInfo.token.kind === 27 /* SyntaxKind.CommaToken */) { + // consume the comma + consumeTokenAndAdvanceScanner(tokenInfo, parent, listDynamicIndentation, parent); + tokenInfo = formattingScanner.isOnToken() ? formattingScanner.readTokenInfo(parent) : undefined; } // consume the list end token only if it is still belong to the parent // there might be the case when current token matches end token but does not considered as one @@ -147560,6 +150013,7 @@ var ts; } } if (currentTokenInfo.trailingTrivia) { + previousRangeTriviaEnd = ts.last(currentTokenInfo.trailingTrivia).end; processTrivia(currentTokenInfo.trailingTrivia, parent, childContextNode, dynamicIndentation); } if (indentToken) { @@ -147630,6 +150084,7 @@ var ts; } } previousRange = range; + previousRangeTriviaEnd = range.end; previousParent = parent; previousRangeStartLine = rangeStart.line; return lineAction; @@ -147921,6 +150376,12 @@ var ts; case 169 /* SyntaxKind.MethodDeclaration */: case 168 /* SyntaxKind.MethodSignature */: case 214 /* SyntaxKind.ArrowFunction */: + case 174 /* SyntaxKind.CallSignature */: + case 175 /* SyntaxKind.ConstructSignature */: + case 179 /* SyntaxKind.FunctionType */: + case 180 /* SyntaxKind.ConstructorType */: + case 172 /* SyntaxKind.GetAccessor */: + case 173 /* SyntaxKind.SetAccessor */: if (node.typeParameters === list) { return 29 /* SyntaxKind.LessThanToken */; } @@ -147937,7 +150398,19 @@ var ts; return 20 /* SyntaxKind.OpenParenToken */; } break; + case 257 /* SyntaxKind.ClassDeclaration */: + case 226 /* SyntaxKind.ClassExpression */: + case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.TypeAliasDeclaration */: + if (node.typeParameters === list) { + return 29 /* SyntaxKind.LessThanToken */; + } + break; case 178 /* SyntaxKind.TypeReference */: + case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 181 /* SyntaxKind.TypeQuery */: + case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 200 /* SyntaxKind.ImportType */: if (node.typeArguments === list) { return 29 /* SyntaxKind.LessThanToken */; } @@ -149201,7 +151674,7 @@ var ts; return { indentation: indentation, prefix: (insertLeadingComma ? "," : "") + this.newLineCharacter, - suffix: insertTrailingComma ? "," : "" + suffix: insertTrailingComma ? "," : ts.isInterfaceDeclaration(node) && isEmpty ? ";" : "" }; }; ChangeTracker.prototype.insertNodeAfterComma = function (sourceFile, after, newNode) { @@ -149405,7 +151878,7 @@ var ts; ChangeTracker.prototype.finishDeleteDeclarations = function () { var _this = this; var deletedNodesInLists = new ts.Set(); // Stores nodes in lists that we already deleted. Used to avoid deleting `, ` twice in `a, b`. - var _loop_11 = function (sourceFile, node) { + var _loop_9 = function (sourceFile, node) { if (!this_1.deletedNodes.some(function (d) { return d.sourceFile === sourceFile && ts.rangeContainsRangeExclusive(d.node, node); })) { if (ts.isArray(node)) { this_1.deleteRange(sourceFile, ts.rangeOfTypeParameters(sourceFile, node)); @@ -149418,7 +151891,7 @@ var ts; var this_1 = this; for (var _i = 0, _a = this.deletedNodes; _i < _a.length; _i++) { var _b = _a[_i], sourceFile = _b.sourceFile, node = _b.node; - _loop_11(sourceFile, node); + _loop_9(sourceFile, node); } deletedNodesInLists.forEach(function (node) { var sourceFile = node.getSourceFile(); @@ -149506,14 +151979,14 @@ var ts; // order changes by start position // If the start position is the same, put the shorter range first, since an empty range (x, x) may precede (x, y) but not vice-versa. var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); }); - var _loop_12 = function (i) { + var _loop_10 = function (i) { ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () { return "".concat(JSON.stringify(normalized[i].range), " and ").concat(JSON.stringify(normalized[i + 1].range)); }); }; // verify that change intervals do not overlap, except possibly at end points. for (var i = 0; i < normalized.length - 1; i++) { - _loop_12(i); + _loop_10(i); } var textChanges = ts.mapDefined(normalized, function (c) { var span = ts.createTextSpanFromRange(c.range); @@ -150224,7 +152697,6 @@ var ts; var sourceFile = context.sourceFile; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { var exportDeclaration = ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([]), /*moduleSpecifier*/ undefined); @@ -150422,7 +152894,7 @@ var ts; } var isCompleteFix = identifiers.isCompleteFix; var initializers; - var _loop_13 = function (identifier) { + var _loop_11 = function (identifier) { var symbol = checker.getSymbolAtLocation(identifier); if (!symbol) { return "continue"; @@ -150455,7 +152927,7 @@ var ts; }; for (var _i = 0, _a = identifiers.identifiers; _i < _a.length; _i++) { var identifier = _a[_i]; - _loop_13(identifier); + _loop_11(identifier); } return initializers && { initializers: initializers, @@ -150754,8 +153226,7 @@ var ts; ts.Debug.assert(!param.type, "Tried to add a parameter name to a parameter that already had one."); ts.Debug.assert(i > -1, "Parameter not found in parent parameter list."); var typeNode = ts.factory.createTypeReferenceNode(param.name, /*typeArguments*/ undefined); - var replacement = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, param.dotDotDotToken ? ts.factory.createArrayTypeNode(typeNode) : typeNode, param.initializer); + var replacement = ts.factory.createParameterDeclaration(param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, param.dotDotDotToken ? ts.factory.createArrayTypeNode(typeNode) : typeNode, param.initializer); changeTracker.replaceNode(sourceFile, param, replacement); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -150980,7 +153451,7 @@ var ts; var isRest = node.type.kind === 318 /* SyntaxKind.JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : node.dotDotDotToken; - return ts.factory.createParameterDeclaration(node.decorators, node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); + return ts.factory.createParameterDeclaration(node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); } function transformJSDocTypeReference(node) { var name = node.typeName; @@ -151015,12 +153486,11 @@ var ts; } function transformJSDocIndexSignature(node) { var index = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "n" : "s", /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "number" : "string", []), /*initializer*/ undefined); - var indexSignature = ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(/*decorators*/ undefined, /*modifiers*/ undefined, [index], node.typeArguments[1])]); + var indexSignature = ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(/*modifiers*/ undefined, [index], node.typeArguments[1])]); ts.setEmitFlags(indexSignature, 1 /* EmitFlags.SingleLine */); return indexSignature; } @@ -151162,7 +153632,7 @@ var ts; ? assignmentBinaryExpression.parent : assignmentBinaryExpression; changes.delete(sourceFile, nodeToDelete); if (!assignmentExpr) { - members.push(ts.factory.createPropertyDeclaration([], modifiers, symbol.name, /*questionToken*/ undefined, + members.push(ts.factory.createPropertyDeclaration(modifiers, symbol.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); return; } @@ -151198,7 +153668,7 @@ var ts; return; if (!ts.isPropertyAccessExpression(memberDeclaration)) return; - var prop = ts.factory.createPropertyDeclaration(/*decorators*/ undefined, modifiers, memberDeclaration.name, /*questionToken*/ undefined, /*type*/ undefined, assignmentExpr); + var prop = ts.factory.createPropertyDeclaration(modifiers, memberDeclaration.name, /*questionToken*/ undefined, /*type*/ undefined, assignmentExpr); ts.copyLeadingComments(assignmentBinaryExpression.parent, prop, sourceFile); members.push(prop); return; @@ -151211,7 +153681,7 @@ var ts; } function createFunctionExpressionMember(members, functionExpression, name) { var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 131 /* SyntaxKind.AsyncKeyword */)); - var method = ts.factory.createMethodDeclaration(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, + var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, functionExpression.parameters, /*type*/ undefined, functionExpression.body); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); members.push(method); @@ -151229,7 +153699,7 @@ var ts; bodyBlock = ts.factory.createBlock([ts.factory.createReturnStatement(arrowFunctionBody)]); } var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(arrowFunction, 131 /* SyntaxKind.AsyncKeyword */)); - var method = ts.factory.createMethodDeclaration(/*decorators*/ undefined, fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, + var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, arrowFunction.parameters, /*type*/ undefined, bodyBlock); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); members.push(method); @@ -151243,10 +153713,10 @@ var ts; } var memberElements = createClassElementsFromSymbol(node.symbol); if (initializer.body) { - memberElements.unshift(ts.factory.createConstructorDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, initializer.parameters, initializer.body)); + memberElements.unshift(ts.factory.createConstructorDeclaration(/*modifiers*/ undefined, initializer.parameters, initializer.body)); } var modifiers = getModifierKindFromSource(node.parent.parent, 93 /* SyntaxKind.ExportKeyword */); - var cls = ts.factory.createClassDeclaration(/*decorators*/ undefined, modifiers, node.name, + var cls = ts.factory.createClassDeclaration(modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place return cls; @@ -151254,17 +153724,17 @@ var ts; function createClassFromFunctionDeclaration(node) { var memberElements = createClassElementsFromSymbol(ctorSymbol); if (node.body) { - memberElements.unshift(ts.factory.createConstructorDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, node.parameters, node.body)); + memberElements.unshift(ts.factory.createConstructorDeclaration(/*modifiers*/ undefined, node.parameters, node.body)); } var modifiers = getModifierKindFromSource(node, 93 /* SyntaxKind.ExportKeyword */); - var cls = ts.factory.createClassDeclaration(/*decorators*/ undefined, modifiers, node.name, + var cls = ts.factory.createClassDeclaration(modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place return cls; } } function getModifierKindFromSource(source, kind) { - return ts.filter(source.modifiers, function (modifier) { return modifier.kind === kind; }); + return ts.canHaveModifiers(source) ? ts.filter(source.modifiers, function (modifier) { return modifier.kind === kind; }) : undefined; } function isConstructorAssignment(x) { if (!x.name) @@ -151340,12 +153810,9 @@ var ts; if (!returnStatements.length) { return; } - var pos = functionToConvert.modifiers ? functionToConvert.modifiers.end : - functionToConvert.decorators ? ts.skipTrivia(sourceFile.text, functionToConvert.decorators.end) : - functionToConvert.getStart(sourceFile); - var options = functionToConvert.modifiers ? { prefix: " " } : { suffix: " " }; - changes.insertModifierAt(sourceFile, pos, 131 /* SyntaxKind.AsyncKeyword */, options); - var _loop_14 = function (returnStatement) { + var pos = ts.skipTrivia(sourceFile.text, ts.moveRangePastModifiers(functionToConvert).pos); + changes.insertModifierAt(sourceFile, pos, 131 /* SyntaxKind.AsyncKeyword */, { suffix: " " }); + var _loop_12 = function (returnStatement) { ts.forEachChild(returnStatement, function visit(node) { if (ts.isCallExpression(node)) { var newNodes = transformExpression(node, node, transformer, /*hasContinuation*/ false); @@ -151367,7 +153834,7 @@ var ts; }; for (var _i = 0, returnStatements_1 = returnStatements; _i < returnStatements_1.length; _i++) { var returnStatement = returnStatements_1[_i]; - var state_5 = _loop_14(returnStatement); + var state_5 = _loop_12(returnStatement); if (typeof state_5 === "object") return state_5.value; } @@ -152470,12 +154937,10 @@ var ts; } // Node helpers function functionExpressionToDeclaration(name, additionalModifiers, fn, useSitesToUnqualify) { - return ts.factory.createFunctionDeclaration(ts.getSynthesizedDeepClones(fn.decorators), // TODO: GH#19915 Don't think this is even legal. - ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(fn.modifiers)), ts.getSynthesizedDeepClone(fn.asteriskToken), name, ts.getSynthesizedDeepClones(fn.typeParameters), ts.getSynthesizedDeepClones(fn.parameters), ts.getSynthesizedDeepClone(fn.type), ts.factory.converters.convertToFunctionBlock(replaceImportUseSites(fn.body, useSitesToUnqualify))); + return ts.factory.createFunctionDeclaration(ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(fn.modifiers)), ts.getSynthesizedDeepClone(fn.asteriskToken), name, ts.getSynthesizedDeepClones(fn.typeParameters), ts.getSynthesizedDeepClones(fn.parameters), ts.getSynthesizedDeepClone(fn.type), ts.factory.converters.convertToFunctionBlock(replaceImportUseSites(fn.body, useSitesToUnqualify))); } function classExpressionToDeclaration(name, additionalModifiers, cls, useSitesToUnqualify) { - return ts.factory.createClassDeclaration(ts.getSynthesizedDeepClones(cls.decorators), // TODO: GH#19915 Don't think this is even legal. - ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(cls.modifiers)), name, ts.getSynthesizedDeepClones(cls.typeParameters), ts.getSynthesizedDeepClones(cls.heritageClauses), replaceImportUseSites(cls.members, useSitesToUnqualify)); + return ts.factory.createClassDeclaration(ts.concatenate(additionalModifiers, ts.getSynthesizedDeepClones(cls.modifiers)), name, ts.getSynthesizedDeepClones(cls.typeParameters), ts.getSynthesizedDeepClones(cls.heritageClauses), replaceImportUseSites(cls.members, useSitesToUnqualify)); } function makeSingleImport(localName, propertyName, moduleSpecifier, quotePreference) { return propertyName === "default" @@ -152490,7 +154955,6 @@ var ts; } function makeExportDeclaration(exportSpecifiers, moduleSpecifier) { return ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, exportSpecifiers && ts.factory.createNamedExports(exportSpecifiers), moduleSpecifier === undefined ? undefined : ts.factory.createStringLiteral(moduleSpecifier)); } @@ -152579,11 +155043,10 @@ var ts; changes.insertModifierBefore(context.sourceFile, 152 /* SyntaxKind.TypeKeyword */, exportClause); } else { - var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.decorators, exportDeclaration.modifiers, + var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.modifiers, /*isTypeOnly*/ false, ts.factory.updateNamedExports(exportClause, ts.filter(exportClause.elements, function (e) { return !ts.contains(typeExportSpecifiers, e); })), exportDeclaration.moduleSpecifier, /*assertClause*/ undefined); var typeExportDeclaration = ts.factory.createExportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ true, ts.factory.createNamedExports(typeExportSpecifiers), exportDeclaration.moduleSpecifier, /*assertClause*/ undefined); @@ -152647,7 +155110,6 @@ var ts; if (importClause.name && importClause.namedBindings) { changes.deleteNodeRangeExcludingEnd(context.sourceFile, importClause.name, importDeclaration.importClause.namedBindings); changes.insertNodeBefore(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause( /*isTypeOnly*/ true, importClause.name, /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, @@ -153001,6 +155463,18 @@ var ts; return addToNamespace.length > 0 || importType.length > 0 || addToExisting.size > 0 || newImports.size > 0; } } + function createImportSpecifierResolver(importingFile, program, host, preferences) { + var packageJsonImportFilter = ts.createPackageJsonImportFilter(importingFile, preferences, host); + var importMap = createExistingImportMap(program.getTypeChecker(), importingFile, program.getCompilerOptions()); + return { getModuleSpecifierForBestExportInfo: getModuleSpecifierForBestExportInfo }; + function getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, fromCacheOnly) { + var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, + /*useRequire*/ false, program, importingFile, host, preferences, importMap, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; + var result = getBestFix(fixes, importingFile, program, packageJsonImportFilter, host); + return result && __assign(__assign({}, result), { computedWithoutCacheCount: computedWithoutCacheCount }); + } + } + codefix.createImportSpecifierResolver = createImportSpecifierResolver; // Sorted with the preferred fix coming first. var ImportFixKind; (function (ImportFixKind) { @@ -153078,7 +155552,7 @@ var ts; var getModuleSpecifierResolutionHost = ts.memoizeOne(function (isFromPackageJson) { return ts.createModuleSpecifierResolutionHost(isFromPackageJson ? host.getPackageJsonAutoImportProvider() : program, host); }); - ts.forEachExternalModuleToImportFrom(program, host, useAutoImportProvider, function (moduleSymbol, moduleFile, program, isFromPackageJson) { + ts.forEachExternalModuleToImportFrom(program, host, preferences, useAutoImportProvider, function (moduleSymbol, moduleFile, program, isFromPackageJson) { var checker = program.getTypeChecker(); // Don't import from a re-export when looking "up" like to `./index` or `../index`. if (moduleFile && moduleSymbol !== exportingModuleSymbol && ts.startsWith(importingFile.fileName, ts.getDirectoryPath(moduleFile.fileName))) { @@ -153101,18 +155575,12 @@ var ts; return !moduleFile || ts.isImportableFile(program, importingFile, moduleFile, preferences, /*packageJsonFilter*/ undefined, getModuleSpecifierResolutionHost(isFromPackageJson), (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host)); } } - function getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, importingFile, program, host, preferences, packageJsonImportFilter, fromCacheOnly) { - var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, - /*useRequire*/ false, program, importingFile, host, preferences, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; - var result = getBestFix(fixes, importingFile, program, packageJsonImportFilter || ts.createPackageJsonImportFilter(importingFile, preferences, host), host); - return result && __assign(__assign({}, result), { computedWithoutCacheCount: computedWithoutCacheCount }); - } - codefix.getModuleSpecifierForBestExportInfo = getModuleSpecifierForBestExportInfo; function getImportFixes(exportInfos, useNamespaceInfo, /** undefined only for missing JSX namespace */ - isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences, fromCacheOnly) { + isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences, importMap, fromCacheOnly) { + if (importMap === void 0) { importMap = createExistingImportMap(program.getTypeChecker(), sourceFile, program.getCompilerOptions()); } var checker = program.getTypeChecker(); - var existingImports = ts.flatMap(exportInfos, function (info) { return getExistingImportDeclarations(info, checker, sourceFile, program.getCompilerOptions()); }); + var existingImports = ts.flatMap(exportInfos, importMap.getImportsForExportInfo); var useNamespace = useNamespaceInfo && tryUseExistingNamespaceImport(existingImports, useNamespaceInfo.symbolName, useNamespaceInfo.position, checker); var addToExisting = tryAddToExistingImport(existingImports, isValidTypeOnlyUseSite, checker, program.getCompilerOptions()); if (addToExisting) { @@ -153240,21 +155708,37 @@ var ts; }; }); } - function getExistingImportDeclarations(_a, checker, importingFile, compilerOptions) { - var moduleSymbol = _a.moduleSymbol, exportKind = _a.exportKind, targetFlags = _a.targetFlags, symbol = _a.symbol; - // Can't use an es6 import for a type in JS. - if (!(targetFlags & 111551 /* SymbolFlags.Value */) && ts.isSourceFileJS(importingFile)) - return ts.emptyArray; - var importKind = getImportKind(importingFile, exportKind, compilerOptions); - return ts.mapDefined(importingFile.imports, function (moduleSpecifier) { + function createExistingImportMap(checker, importingFile, compilerOptions) { + var importMap; + for (var _i = 0, _a = importingFile.imports; _i < _a.length; _i++) { + var moduleSpecifier = _a[_i]; var i = ts.importFromModuleSpecifier(moduleSpecifier); if (ts.isVariableDeclarationInitializedToRequire(i.parent)) { - return checker.resolveExternalModuleName(moduleSpecifier) === moduleSymbol ? { declaration: i.parent, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; + var moduleSymbol = checker.resolveExternalModuleName(moduleSpecifier); + if (moduleSymbol) { + (importMap || (importMap = ts.createMultiMap())).add(ts.getSymbolId(moduleSymbol), i.parent); + } } - if (i.kind === 266 /* SyntaxKind.ImportDeclaration */ || i.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { - return checker.getSymbolAtLocation(moduleSpecifier) === moduleSymbol ? { declaration: i, importKind: importKind, symbol: symbol, targetFlags: targetFlags } : undefined; + else if (i.kind === 266 /* SyntaxKind.ImportDeclaration */ || i.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + var moduleSymbol = checker.getSymbolAtLocation(moduleSpecifier); + if (moduleSymbol) { + (importMap || (importMap = ts.createMultiMap())).add(ts.getSymbolId(moduleSymbol), i); + } } - }); + } + return { + getImportsForExportInfo: function (_a) { + var moduleSymbol = _a.moduleSymbol, exportKind = _a.exportKind, targetFlags = _a.targetFlags, symbol = _a.symbol; + // Can't use an es6 import for a type in JS. + if (!(targetFlags & 111551 /* SymbolFlags.Value */) && ts.isSourceFileJS(importingFile)) + return ts.emptyArray; + var matchingDeclarations = importMap === null || importMap === void 0 ? void 0 : importMap.get(ts.getSymbolId(moduleSymbol)); + if (!matchingDeclarations) + return ts.emptyArray; + var importKind = getImportKind(importingFile, exportKind, compilerOptions); + return matchingDeclarations.map(function (declaration) { return ({ declaration: declaration, importKind: importKind, symbol: symbol, targetFlags: targetFlags }); }); + } + }; } function shouldUseRequire(sourceFile, program) { // 1. TypeScript files don't use require variable declarations @@ -153537,7 +156021,7 @@ var ts; originalSymbolToExportInfos.add(ts.getUniqueSymbolId(exportedSymbol, checker).toString(), { symbol: exportedSymbol, moduleSymbol: moduleSymbol, moduleFileName: toFile === null || toFile === void 0 ? void 0 : toFile.fileName, exportKind: exportKind, targetFlags: ts.skipAlias(exportedSymbol, checker).flags, isFromPackageJson: isFromPackageJson }); } } - ts.forEachExternalModuleToImportFrom(program, host, useAutoImportProvider, function (moduleSymbol, sourceFile, program, isFromPackageJson) { + ts.forEachExternalModuleToImportFrom(program, host, preferences, useAutoImportProvider, function (moduleSymbol, sourceFile, program, isFromPackageJson) { var checker = program.getTypeChecker(); cancellationToken.throwIfCancellationRequested(); var compilerOptions = program.getCompilerOptions(); @@ -153797,10 +156281,8 @@ var ts; if (namespaceLikeImport) { var declaration = namespaceLikeImport.importKind === 3 /* ImportKind.CommonJS */ ? ts.factory.createImportEqualsDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, needsTypeOnly(namespaceLikeImport), ts.factory.createIdentifier(namespaceLikeImport.name), ts.factory.createExternalModuleReference(quotedModuleSpecifier)) : ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(needsTypeOnly(namespaceLikeImport), /*name*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier, /*assertClause*/ undefined); @@ -153880,6 +156362,113 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixId = "addMissingConstraint"; + var errorCodes = [ + // We want errors this could be attached to: + // Diagnostics.This_type_parameter_probably_needs_an_extends_0_constraint + ts.Diagnostics.Type_0_is_not_comparable_to_type_1.code, + ts.Diagnostics.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated.code, + ts.Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code, + ts.Diagnostics.Type_0_is_not_assignable_to_type_1.code, + ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties.code, + ts.Diagnostics.Property_0_is_incompatible_with_index_signature.code, + ts.Diagnostics.Property_0_in_type_1_is_not_assignable_to_type_2.code, + ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1.code, + ]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span, program = context.program, preferences = context.preferences, host = context.host; + var info = getInfo(program, sourceFile, span); + if (info === undefined) + return; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addMissingConstraint(t, program, preferences, host, sourceFile, info); }); + return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Add_extends_constraint, fixId, ts.Diagnostics.Add_extends_constraint_to_all_type_parameters)]; + }, + fixIds: [fixId], + getAllCodeActions: function (context) { + var program = context.program, preferences = context.preferences, host = context.host; + var seen = new ts.Map(); + return codefix.createCombinedCodeActions(ts.textChanges.ChangeTracker.with(context, function (changes) { + codefix.eachDiagnostic(context, errorCodes, function (diag) { + var info = getInfo(program, diag.file, ts.createTextSpan(diag.start, diag.length)); + if (info) { + if (ts.addToSeen(seen, ts.getNodeId(info.declaration))) { + return addMissingConstraint(changes, program, preferences, host, diag.file, info); + } + } + return undefined; + }); + })); + } + }); + function getInfo(program, sourceFile, span) { + var diag = ts.find(program.getSemanticDiagnostics(sourceFile), function (diag) { return diag.start === span.start && diag.length === span.length; }); + if (diag === undefined || diag.relatedInformation === undefined) + return; + var related = ts.find(diag.relatedInformation, function (related) { return related.code === ts.Diagnostics.This_type_parameter_might_need_an_extends_0_constraint.code; }); + if (related === undefined || related.file === undefined || related.start === undefined || related.length === undefined) + return; + var declaration = findAncestorMatchingSpan(related.file, ts.createTextSpan(related.start, related.length)); + if (declaration === undefined) + return; + if (ts.isIdentifier(declaration) && ts.isTypeParameterDeclaration(declaration.parent)) { + declaration = declaration.parent; + } + if (ts.isTypeParameterDeclaration(declaration)) { + // should only issue fix on type parameters written using `extends` + if (ts.isMappedTypeNode(declaration.parent)) + return; + var token = ts.getTokenAtPosition(sourceFile, span.start); + var checker = program.getTypeChecker(); + var constraint = tryGetConstraintType(checker, token) || tryGetConstraintFromDiagnosticMessage(related.messageText); + return { constraint: constraint, declaration: declaration, token: token }; + } + return undefined; + } + function addMissingConstraint(changes, program, preferences, host, sourceFile, info) { + var declaration = info.declaration, constraint = info.constraint; + var checker = program.getTypeChecker(); + if (ts.isString(constraint)) { + changes.insertText(sourceFile, declaration.name.end, " extends ".concat(constraint)); + } + else { + var scriptTarget = ts.getEmitScriptTarget(program.getCompilerOptions()); + var tracker = codefix.getNoopSymbolTrackerWithResolver({ program: program, host: host }); + var importAdder = codefix.createImportAdder(sourceFile, program, preferences, host); + var typeNode = codefix.typeToAutoImportableTypeNode(checker, importAdder, constraint, /*contextNode*/ undefined, scriptTarget, /*flags*/ undefined, tracker); + if (typeNode) { + changes.replaceNode(sourceFile, declaration, ts.factory.updateTypeParameterDeclaration(declaration, /*modifiers*/ undefined, declaration.name, typeNode, declaration.default)); + importAdder.writeFixes(changes); + } + } + } + function findAncestorMatchingSpan(sourceFile, span) { + var end = ts.textSpanEnd(span); + var token = ts.getTokenAtPosition(sourceFile, span.start); + while (token.end < end) { + token = token.parent; + } + return token; + } + function tryGetConstraintFromDiagnosticMessage(messageText) { + var _a = ts.flattenDiagnosticMessageText(messageText, "\n", 0).match(/`extends (.*)`/) || [], _ = _a[0], constraint = _a[1]; + return constraint; + } + function tryGetConstraintType(checker, node) { + if (ts.isTypeNode(node.parent)) { + return checker.getTypeArgumentConstraint(node.parent); + } + var contextualType = ts.isExpression(node) ? checker.getContextualType(node) : undefined; + return contextualType || checker.getTypeAtLocation(node); + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var codefix; (function (codefix) { @@ -154002,10 +156591,11 @@ var ts; var staticModifier = ts.find(modifiers, ts.isStaticModifier); var abstractModifier = ts.find(modifiers, ts.isAbstractModifier); var accessibilityModifier = ts.find(modifiers, function (m) { return ts.isAccessibilityModifier(m.kind); }); + var lastDecorator = ts.findLast(modifiers, ts.isDecorator); var modifierPos = abstractModifier ? abstractModifier.end : staticModifier ? staticModifier.end : accessibilityModifier ? accessibilityModifier.end : - classElement.decorators ? ts.skipTrivia(sourceFile.text, classElement.decorators.end) : classElement.getStart(sourceFile); + lastDecorator ? ts.skipTrivia(sourceFile.text, lastDecorator.end) : classElement.getStart(sourceFile); var options = accessibilityModifier || staticModifier || abstractModifier ? { prefix: " " } : { suffix: " " }; changeTracker.insertModifierAt(sourceFile, modifierPos, 159 /* SyntaxKind.OverrideKeyword */, options); } @@ -154015,7 +156605,7 @@ var ts; changeTracker.filterJSDocTags(sourceFile, classElement, ts.not(ts.isJSDocOverrideTag)); return; } - var overrideModifier = classElement.modifiers && ts.find(classElement.modifiers, function (modifier) { return modifier.kind === 159 /* SyntaxKind.OverrideKeyword */; }); + var overrideModifier = ts.find(classElement.modifiers, ts.isOverrideModifier); ts.Debug.assertIsDefined(overrideModifier); changeTracker.deleteModifier(sourceFile, overrideModifier); } @@ -154615,7 +157205,7 @@ var ts; }); typeDeclToMembers.forEach(function (infos, declaration) { var supers = ts.isTypeLiteralNode(declaration) ? undefined : codefix.getAllSupers(declaration, checker); - var _loop_15 = function (info) { + var _loop_13 = function (info) { // If some superclass added this property, don't add it again. if (supers === null || supers === void 0 ? void 0 : supers.some(function (superClassOrInterface) { var superInfos = typeDeclToMembers.get(superClassOrInterface); @@ -154642,7 +157232,7 @@ var ts; }; for (var _i = 0, infos_1 = infos; _i < infos_1.length; _i++) { var info = infos_1[_i]; - _loop_15(info); + _loop_13(info); } }); })); @@ -154694,7 +157284,7 @@ var ts; return undefined; return { kind: 4 /* InfoKind.JsxAttributes */, token: token, attributes: attributes, parentDeclaration: token.parent }; } - if (ts.isIdentifier(token) && ts.isCallExpression(parent)) { + if (ts.isIdentifier(token) && ts.isCallExpression(parent) && parent.expression === token) { return { kind: 2 /* InfoKind.Function */, token: token, call: parent, sourceFile: sourceFile, modifierFlags: 0 /* ModifierFlags.None */, parentDeclaration: sourceFile }; } if (!ts.isPropertyAccessExpression(parent)) @@ -154771,7 +157361,6 @@ var ts; } else if (ts.isPrivateIdentifier(token)) { var property = ts.factory.createPropertyDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, tokenName, /*questionToken*/ undefined, /*type*/ undefined, @@ -154829,7 +157418,7 @@ var ts; function addPropertyDeclaration(changeTracker, sourceFile, node, tokenName, typeNode, modifierFlags) { var modifiers = modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; var property = ts.isClassLike(node) - ? ts.factory.createPropertyDeclaration(/*decorators*/ undefined, modifiers, tokenName, /*questionToken*/ undefined, typeNode, /*initializer*/ undefined) + ? ts.factory.createPropertyDeclaration(modifiers, tokenName, /*questionToken*/ undefined, typeNode, /*initializer*/ undefined) : ts.factory.createPropertySignature(/*modifiers*/ undefined, tokenName, /*questionToken*/ undefined, typeNode); var lastProp = getNodeToInsertPropertyAfter(node); if (lastProp) { @@ -154854,13 +157443,11 @@ var ts; // Index signatures cannot have the static modifier. var stringTypeNode = ts.factory.createKeywordTypeNode(150 /* SyntaxKind.StringKeyword */); var indexingParameter = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "x", /*questionToken*/ undefined, stringTypeNode, /*initializer*/ undefined); var indexSignature = ts.factory.createIndexSignature( - /*decorators*/ undefined, /*modifiers*/ undefined, [indexingParameter], typeNode); var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return t.insertMemberAtStart(sourceFile, node, indexSignature); }); // No fixId here because code-fix-all currently only works on adding individual named properties. @@ -154908,7 +157495,7 @@ var ts; return !!(type && type.flags & 402653316 /* TypeFlags.StringLike */); }); var enumMember = ts.factory.createEnumMember(token, hasStringInitializer ? ts.factory.createStringLiteral(token.text) : undefined); - changes.replaceNode(parentDeclaration.getSourceFile(), parentDeclaration, ts.factory.updateEnumDeclaration(parentDeclaration, parentDeclaration.decorators, parentDeclaration.modifiers, parentDeclaration.name, ts.concatenate(parentDeclaration.members, ts.singleElementArray(enumMember))), { + changes.replaceNode(parentDeclaration.getSourceFile(), parentDeclaration, ts.factory.updateEnumDeclaration(parentDeclaration, parentDeclaration.modifiers, parentDeclaration.name, ts.concatenate(parentDeclaration.members, ts.singleElementArray(enumMember))), { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.IncludeAll, trailingTriviaOption: ts.textChanges.TrailingTriviaOption.Exclude }); @@ -154917,6 +157504,7 @@ var ts; var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(256 /* SyntaxKind.FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration); changes.insertNodeAtEndOfScope(info.sourceFile, info.parentDeclaration, functionDeclaration); + importAdder.writeFixes(changes); } function addJsxAttributes(changes, context, info) { var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); @@ -154925,7 +157513,7 @@ var ts; var jsxAttributesNode = info.parentDeclaration.attributes; var hasSpreadAttribute = ts.some(jsxAttributesNode.properties, ts.isJsxSpreadAttribute); var attrs = ts.map(info.attributes, function (attr) { - var value = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(attr)); + var value = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(attr), info.parentDeclaration); var name = ts.factory.createIdentifier(attr.name); var jsxAttribute = ts.factory.createJsxAttribute(name, ts.factory.createJsxExpression(/*dotDotDotToken*/ undefined, value)); // formattingScanner requires the Identifier to have a context for scanning attributes with "-" (data-foo). @@ -154935,6 +157523,7 @@ var ts; var jsxAttributes = ts.factory.createJsxAttributes(hasSpreadAttribute ? __spreadArray(__spreadArray([], attrs, true), jsxAttributesNode.properties, true) : __spreadArray(__spreadArray([], jsxAttributesNode.properties, true), attrs, true)); var options = { prefix: jsxAttributesNode.pos === jsxAttributesNode.end ? " " : undefined }; changes.replaceNode(context.sourceFile, jsxAttributesNode, jsxAttributes, options); + importAdder.writeFixes(changes); } function addObjectLiteralProperties(changes, context, info) { var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); @@ -154942,8 +157531,8 @@ var ts; var target = ts.getEmitScriptTarget(context.program.getCompilerOptions()); var checker = context.program.getTypeChecker(); var props = ts.map(info.properties, function (prop) { - var initializer = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(prop)); - return ts.factory.createPropertyAssignment(ts.createPropertyNameNodeForIdentifierOrLiteral(prop.name, target, quotePreference === 0 /* QuotePreference.Single */), initializer); + var initializer = tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeOfSymbol(prop), info.parentDeclaration); + return ts.factory.createPropertyAssignment(createPropertyNameFromSymbol(prop, target, quotePreference, checker), initializer); }); var options = { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude, @@ -154951,8 +157540,9 @@ var ts; indentation: info.indentation }; changes.replaceNode(context.sourceFile, info.parentDeclaration, ts.factory.createObjectLiteralExpression(__spreadArray(__spreadArray([], info.parentDeclaration.properties, true), props, true), /*multiLine*/ true), options); + importAdder.writeFixes(changes); } - function tryGetValueFromType(context, checker, importAdder, quotePreference, type) { + function tryGetValueFromType(context, checker, importAdder, quotePreference, type, enclosingDeclaration) { if (type.flags & 3 /* TypeFlags.AnyOrUnknown */) { return createUndefined(); } @@ -154989,7 +157579,7 @@ var ts; return ts.factory.createNull(); } if (type.flags & 1048576 /* TypeFlags.Union */) { - var expression = ts.firstDefined(type.types, function (t) { return tryGetValueFromType(context, checker, importAdder, quotePreference, t); }); + var expression = ts.firstDefined(type.types, function (t) { return tryGetValueFromType(context, checker, importAdder, quotePreference, t, enclosingDeclaration); }); return expression !== null && expression !== void 0 ? expression : createUndefined(); } if (checker.isArrayLikeType(type)) { @@ -154997,7 +157587,7 @@ var ts; } if (isObjectLiteralType(type)) { var props = ts.map(checker.getPropertiesOfType(type), function (prop) { - var initializer = prop.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(prop.valueDeclaration)) : createUndefined(); + var initializer = prop.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(prop.valueDeclaration), enclosingDeclaration) : createUndefined(); return ts.factory.createPropertyAssignment(prop.name, initializer); }); return ts.factory.createObjectLiteralExpression(props, /*multiLine*/ true); @@ -155009,7 +157599,7 @@ var ts; var signature = checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (signature === undefined) return createUndefined(); - var func = codefix.createSignatureDeclarationFromSignature(213 /* SyntaxKind.FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ undefined, importAdder); + var func = codefix.createSignatureDeclarationFromSignature(213 /* SyntaxKind.FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ enclosingDeclaration, importAdder); return func !== null && func !== void 0 ? func : createUndefined(); } if (ts.getObjectFlags(type) & 1 /* ObjectFlags.Class */) { @@ -155062,6 +157652,15 @@ var ts; var declaration = ts.findAncestor(callExpression, function (n) { return ts.isMethodDeclaration(n) || ts.isConstructorDeclaration(n); }); return declaration && declaration.parent === node ? declaration : undefined; } + function createPropertyNameFromSymbol(symbol, target, quotePreference, checker) { + if (ts.isTransientSymbol(symbol) && symbol.nameType && symbol.nameType.flags & 8192 /* TypeFlags.UniqueESSymbol */) { + var expression = checker.symbolToExpression(symbol.nameType.symbol, 111551 /* SymbolFlags.Value */, symbol.valueDeclaration, 1048576 /* NodeBuilderFlags.AllowUniqueESSymbolType */); + if (expression) { + return ts.factory.createComputedPropertyName(expression); + } + } + return ts.createPropertyNameNodeForIdentifierOrLiteral(symbol.name, target, quotePreference === 0 /* QuotePreference.Single */); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -155987,7 +158586,12 @@ var ts; if (mayDeleteParameter(checker, sourceFile, parameter, sourceFiles, program, cancellationToken, isFixAll)) { if (parameter.modifiers && parameter.modifiers.length > 0 && (!ts.isIdentifier(parameter.name) || ts.FindAllReferences.Core.isSymbolReferencedInFile(parameter.name, checker, sourceFile))) { - parameter.modifiers.forEach(function (modifier) { return changes.deleteModifier(sourceFile, modifier); }); + for (var _i = 0, _a = parameter.modifiers; _i < _a.length; _i++) { + var modifier = _a[_i]; + if (ts.isModifier(modifier)) { + changes.deleteModifier(sourceFile, modifier); + } + } } else if (!parameter.initializer && isNotProvidedArguments(parameter, checker, sourceFiles)) { changes.delete(sourceFile, parameter); @@ -157402,7 +160006,7 @@ var ts; function getSignatureFromCalls(calls) { var parameters = []; var length = Math.max.apply(Math, calls.map(function (c) { return c.argumentTypes.length; })); - var _loop_16 = function (i) { + var _loop_14 = function (i) { var symbol = checker.createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg".concat(i))); symbol.type = combineTypes(calls.map(function (call) { return call.argumentTypes[i] || checker.getUndefinedType(); })); if (calls.some(function (call) { return call.argumentTypes[i] === undefined; })) { @@ -157411,7 +160015,7 @@ var ts; parameters.push(symbol); }; for (var i = 0; i < length; i++) { - _loop_16(i); + _loop_14(i); } var returnType = combineFromUsage(combineUsages(calls.map(function (call) { return call.return_; }))); return checker.createSignature(/*declaration*/ undefined, /*typeParameters*/ undefined, /*thisParameter*/ undefined, parameters, returnType, /*typePredicate*/ undefined, length, 0 /* SignatureFlags.None */); @@ -157601,8 +160205,7 @@ var ts; importSymbols(importAdder, importableReference.symbols); } } - addClassElement(ts.factory.createPropertyDeclaration( - /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, + addClassElement(ts.factory.createPropertyDeclaration(modifiers, name, optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; case 172 /* SyntaxKind.GetAccessor */: @@ -157622,15 +160225,13 @@ var ts; for (var _i = 0, orderedAccessors_1 = orderedAccessors; _i < orderedAccessors_1.length; _i++) { var accessor = orderedAccessors_1[_i]; if (ts.isGetAccessorDeclaration(accessor)) { - addClassElement(ts.factory.createGetAccessorDeclaration( - /*decorators*/ undefined, modifiers, name, ts.emptyArray, typeNode_1, ambient ? undefined : body || createStubbedMethodBody(quotePreference))); + addClassElement(ts.factory.createGetAccessorDeclaration(modifiers, name, ts.emptyArray, typeNode_1, ambient ? undefined : body || createStubbedMethodBody(quotePreference))); } else { ts.Debug.assertNode(accessor, ts.isSetAccessorDeclaration, "The counterpart to a getter should be a setter"); var parameter = ts.getSetAccessorValueParameter(accessor); var parameterName = parameter && ts.isIdentifier(parameter.name) ? ts.idText(parameter.name) : undefined; - addClassElement(ts.factory.createSetAccessorDeclaration( - /*decorators*/ undefined, modifiers, name, createDummyParameters(1, [parameterName], [typeNode_1], 1, /*inJs*/ false), ambient ? undefined : body || createStubbedMethodBody(quotePreference))); + addClassElement(ts.factory.createSetAccessorDeclaration(modifiers, name, createDummyParameters(1, [parameterName], [typeNode_1], 1, /*inJs*/ false), ambient ? undefined : body || createStubbedMethodBody(quotePreference))); } } break; @@ -157644,7 +160245,7 @@ var ts; // If there is more than one overload but no implementation signature // (eg: an abstract method or interface declaration), there is a 1-1 // correspondence of declarations and signatures. - var signatures = checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); + var signatures = type.isUnion() ? ts.flatMap(type.types, function (t) { return t.getCallSignatures(); }) : type.getCallSignatures(); if (!ts.some(signatures)) { break; } @@ -157725,7 +160326,7 @@ var ts; type = importableReference.typeNode; importSymbols(importAdder, importableReference.symbols); } - return ts.factory.updateParameterDeclaration(parameterDecl, parameterDecl.decorators, parameterDecl.modifiers, parameterDecl.dotDotDotToken, parameterDecl.name, parameterDecl.questionToken, type, parameterDecl.initializer); + return ts.factory.updateParameterDeclaration(parameterDecl, parameterDecl.modifiers, parameterDecl.dotDotDotToken, parameterDecl.name, parameterDecl.questionToken, type, parameterDecl.initializer); }); if (parameters !== newParameters) { parameters = ts.setTextRange(ts.factory.createNodeArray(newParameters, parameters.hasTrailingComma), parameters); @@ -157747,7 +160348,7 @@ var ts; return ts.factory.updateArrowFunction(signatureDeclaration, modifiers, typeParameters, parameters, type, signatureDeclaration.equalsGreaterThanToken, body !== null && body !== void 0 ? body : signatureDeclaration.body); } if (ts.isMethodDeclaration(signatureDeclaration)) { - return ts.factory.updateMethodDeclaration(signatureDeclaration, /* decorators */ undefined, modifiers, asteriskToken, name !== null && name !== void 0 ? name : ts.factory.createIdentifier(""), questionToken, typeParameters, parameters, type, body); + return ts.factory.updateMethodDeclaration(signatureDeclaration, modifiers, asteriskToken, name !== null && name !== void 0 ? name : ts.factory.createIdentifier(""), questionToken, typeParameters, parameters, type, body); } return undefined; } @@ -157763,40 +160364,50 @@ var ts; var names = ts.map(args, function (arg) { return ts.isIdentifier(arg) ? arg.text : ts.isPropertyAccessExpression(arg) && ts.isIdentifier(arg.name) ? arg.name.text : undefined; }); - var types = isJs ? [] : ts.map(args, function (arg) { - return typeToAutoImportableTypeNode(checker, importAdder, checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(arg)), contextNode, scriptTarget, /*flags*/ undefined, tracker); - }); + var instanceTypes = isJs ? [] : ts.map(args, function (arg) { return checker.getTypeAtLocation(arg); }); + var _a = getArgumentTypesAndTypeParameters(checker, importAdder, instanceTypes, contextNode, scriptTarget, /*flags*/ undefined, tracker), argumentTypeNodes = _a.argumentTypeNodes, argumentTypeParameters = _a.argumentTypeParameters; var modifiers = modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; var asteriskToken = ts.isYieldExpression(parent) ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined; - var typeParameters = isJs || typeArguments === undefined - ? undefined - : ts.map(typeArguments, function (_, i) { - return ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, 84 /* CharacterCodes.T */ + typeArguments.length - 1 <= 90 /* CharacterCodes.Z */ ? String.fromCharCode(84 /* CharacterCodes.T */ + i) : "T".concat(i)); - }); - var parameters = createDummyParameters(args.length, names, types, /*minArgumentCount*/ undefined, isJs); + var typeParameters = isJs ? undefined : createTypeParametersForArguments(checker, argumentTypeParameters, typeArguments); + var parameters = createDummyParameters(args.length, names, argumentTypeNodes, /*minArgumentCount*/ undefined, isJs); var type = isJs || contextualType === undefined ? undefined : checker.typeToTypeNode(contextualType, contextNode, /*flags*/ undefined, tracker); switch (kind) { case 169 /* SyntaxKind.MethodDeclaration */: - return ts.factory.createMethodDeclaration( - /*decorators*/ undefined, modifiers, asteriskToken, name, + return ts.factory.createMethodDeclaration(modifiers, asteriskToken, name, /*questionToken*/ undefined, typeParameters, parameters, type, createStubbedMethodBody(quotePreference)); case 168 /* SyntaxKind.MethodSignature */: return ts.factory.createMethodSignature(modifiers, name, - /*questionToken*/ undefined, typeParameters, parameters, type); + /*questionToken*/ undefined, typeParameters, parameters, type === undefined ? ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */) : type); case 256 /* SyntaxKind.FunctionDeclaration */: - return ts.factory.createFunctionDeclaration( - /*decorators*/ undefined, modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); + return ts.factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); default: ts.Debug.fail("Unexpected kind"); } } codefix.createSignatureDeclarationFromCallExpression = createSignatureDeclarationFromCallExpression; + function createTypeParametersForArguments(checker, argumentTypeParameters, typeArguments) { + var usedNames = new ts.Set(argumentTypeParameters.map(function (pair) { return pair[0]; })); + var constraintsByName = new ts.Map(argumentTypeParameters); + if (typeArguments) { + var typeArgumentsWithNewTypes = typeArguments.filter(function (typeArgument) { return !argumentTypeParameters.some(function (pair) { var _a; return checker.getTypeAtLocation(typeArgument) === ((_a = pair[1]) === null || _a === void 0 ? void 0 : _a.argumentType); }); }); + var targetSize = usedNames.size + typeArgumentsWithNewTypes.length; + for (var i = 0; usedNames.size < targetSize; i += 1) { + usedNames.add(createTypeParameterName(i)); + } + } + return ts.map(ts.arrayFrom(usedNames.values()), function (usedName) { var _a; return ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, usedName, (_a = constraintsByName.get(usedName)) === null || _a === void 0 ? void 0 : _a.constraint); }); + } + function createTypeParameterName(index) { + return 84 /* CharacterCodes.T */ + index <= 90 /* CharacterCodes.Z */ + ? String.fromCharCode(84 /* CharacterCodes.T */ + index) + : "T".concat(index); + } function typeToAutoImportableTypeNode(checker, importAdder, type, contextNode, scriptTarget, flags, tracker) { var typeNode = checker.typeToTypeNode(type, contextNode, flags, tracker); if (typeNode && ts.isImportTypeNode(typeNode)) { @@ -157810,16 +160421,107 @@ var ts; return ts.getSynthesizedDeepClone(typeNode); } codefix.typeToAutoImportableTypeNode = typeToAutoImportableTypeNode; + function typeContainsTypeParameter(type) { + if (type.isUnionOrIntersection()) { + return type.types.some(typeContainsTypeParameter); + } + return type.flags & 262144 /* TypeFlags.TypeParameter */; + } + function getArgumentTypesAndTypeParameters(checker, importAdder, instanceTypes, contextNode, scriptTarget, flags, tracker) { + // Types to be used as the types of the parameters in the new function + // E.g. from this source: + // added("", 0) + // The value will look like: + // [{ typeName: { text: "string" } }, { typeName: { text: "number" }] + // And in the output function will generate: + // function added(a: string, b: number) { ... } + var argumentTypeNodes = []; + // Names of type parameters provided as arguments to the call + // E.g. from this source: + // added(value); + // The value will look like: + // [ + // ["T", { argumentType: { typeName: { text: "T" } } } ], + // ["U", { argumentType: { typeName: { text: "U" } } } ], + // ] + // And in the output function will generate: + // function added() { ... } + var argumentTypeParameters = new ts.Map(); + for (var i = 0; i < instanceTypes.length; i += 1) { + var instanceType = instanceTypes[i]; + // If the instance type contains a deep reference to an existing type parameter, + // instead of copying the full union or intersection, create a new type parameter + // E.g. from this source: + // function existing(value: T | U & string) { + // added/*1*/(value); + // We don't want to output this: + // function added(value: T | U & string) { ... } + // We instead want to output: + // function added(value: T) { ... } + if (instanceType.isUnionOrIntersection() && instanceType.types.some(typeContainsTypeParameter)) { + var synthesizedTypeParameterName = createTypeParameterName(i); + argumentTypeNodes.push(ts.factory.createTypeReferenceNode(synthesizedTypeParameterName)); + argumentTypeParameters.set(synthesizedTypeParameterName, undefined); + continue; + } + // Widen the type so we don't emit nonsense annotations like "function fn(x: 3) {" + var widenedInstanceType = checker.getBaseTypeOfLiteralType(instanceType); + var argumentTypeNode = typeToAutoImportableTypeNode(checker, importAdder, widenedInstanceType, contextNode, scriptTarget, flags, tracker); + if (!argumentTypeNode) { + continue; + } + argumentTypeNodes.push(argumentTypeNode); + var argumentTypeParameter = getFirstTypeParameterName(instanceType); + // If the instance type is a type parameter with a constraint (other than an anonymous object), + // remember that constraint for when we create the new type parameter + // E.g. from this source: + // function existing(value: T) { + // added/*1*/(value); + // We don't want to output this: + // function added(value: T) { ... } + // We instead want to output: + // function added(value: T) { ... } + var instanceTypeConstraint = instanceType.isTypeParameter() && instanceType.constraint && !isAnonymousObjectConstraintType(instanceType.constraint) + ? typeToAutoImportableTypeNode(checker, importAdder, instanceType.constraint, contextNode, scriptTarget, flags, tracker) + : undefined; + if (argumentTypeParameter) { + argumentTypeParameters.set(argumentTypeParameter, { argumentType: instanceType, constraint: instanceTypeConstraint }); + } + } + return { argumentTypeNodes: argumentTypeNodes, argumentTypeParameters: ts.arrayFrom(argumentTypeParameters.entries()) }; + } + codefix.getArgumentTypesAndTypeParameters = getArgumentTypesAndTypeParameters; + function isAnonymousObjectConstraintType(type) { + return (type.flags & 524288 /* TypeFlags.Object */) && type.objectFlags === 16 /* ObjectFlags.Anonymous */; + } + function getFirstTypeParameterName(type) { + var _a; + if (type.flags & (1048576 /* TypeFlags.Union */ | 2097152 /* TypeFlags.Intersection */)) { + for (var _i = 0, _b = type.types; _i < _b.length; _i++) { + var subType = _b[_i]; + var subTypeName = getFirstTypeParameterName(subType); + if (subTypeName) { + return subTypeName; + } + } + } + return type.flags & 262144 /* TypeFlags.TypeParameter */ + ? (_a = type.getSymbol()) === null || _a === void 0 ? void 0 : _a.getName() + : undefined; + } function createDummyParameters(argCount, names, types, minArgumentCount, inJs) { var parameters = []; + var parameterNameCounts = new ts.Map(); for (var i = 0; i < argCount; i++) { + var parameterName = (names === null || names === void 0 ? void 0 : names[i]) || "arg".concat(i); + var parameterNameCount = parameterNameCounts.get(parameterName); + parameterNameCounts.set(parameterName, (parameterNameCount || 0) + 1); var newParameter = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, - /*name*/ names && names[i] || "arg".concat(i), + /*name*/ parameterName + (parameterNameCount || ""), /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, - /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), + /*type*/ inJs ? undefined : (types === null || types === void 0 ? void 0 : types[i]) || ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), /*initializer*/ undefined); parameters.push(newParameter); } @@ -157848,7 +160550,6 @@ var ts; var parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, /* types */ undefined, minArgumentCount, /*inJs*/ false); if (someSigHasRestParameter) { var restParameter = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)), /*initializer*/ undefined); @@ -157864,8 +160565,7 @@ var ts; } } function createStubbedMethod(modifiers, name, optional, typeParameters, parameters, returnType, quotePreference, body) { - return ts.factory.createMethodDeclaration( - /*decorators*/ undefined, modifiers, + return ts.factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, name, optional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeParameters, parameters, returnType, body || createStubbedMethodBody(quotePreference)); } function createStubbedMethodBody(quotePreference) { @@ -157996,6 +160696,9 @@ var ts; accessorModifiers = ts.createModifiers(prepareModifierFlagsForAccessor(modifierFlags)); fieldModifiers = ts.createModifiers(prepareModifierFlagsForField(modifierFlags)); } + if (ts.canHaveDecorators(declaration)) { + fieldModifiers = ts.concatenate(ts.getDecorators(declaration), fieldModifiers); + } } updateFieldDeclaration(changeTracker, file, declaration, type, fieldName, fieldModifiers); var getAccessor = generateGetAccessor(fieldName, accessorName, type, accessorModifiers, isStatic, container); @@ -158060,7 +160763,7 @@ var ts; error: ts.getLocaleSpecificMessage(ts.Diagnostics.Name_is_not_valid) }; } - if ((ts.getEffectiveModifierFlags(declaration) | meaning) !== meaning) { + if (((ts.getEffectiveModifierFlags(declaration) & 125951 /* ModifierFlags.Modifier */) | meaning) !== meaning) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_property_with_modifier) }; @@ -158083,17 +160786,14 @@ var ts; } codefix.getAccessorConvertiblePropertyAtPosition = getAccessorConvertiblePropertyAtPosition; function generateGetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { - return ts.factory.createGetAccessorDeclaration( - /*decorators*/ undefined, modifiers, accessorName, + return ts.factory.createGetAccessorDeclaration(modifiers, accessorName, /*parameters*/ undefined, // TODO: GH#18217 type, ts.factory.createBlock([ ts.factory.createReturnStatement(createAccessorAccessExpression(fieldName, isStatic, container)) ], /*multiLine*/ true)); } function generateSetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { - return ts.factory.createSetAccessorDeclaration( - /*decorators*/ undefined, modifiers, accessorName, [ts.factory.createParameterDeclaration( - /*decorators*/ undefined, + return ts.factory.createSetAccessorDeclaration(modifiers, accessorName, [ts.factory.createParameterDeclaration( /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, ts.factory.createIdentifier("value"), /*questionToken*/ undefined, type)], ts.factory.createBlock([ @@ -158101,7 +160801,7 @@ var ts; ], /*multiLine*/ true)); } function updatePropertyDeclaration(changeTracker, file, declaration, type, fieldName, modifiers) { - var property = ts.factory.updatePropertyDeclaration(declaration, declaration.decorators, modifiers, fieldName, declaration.questionToken || declaration.exclamationToken, type, declaration.initializer); + var property = ts.factory.updatePropertyDeclaration(declaration, modifiers, fieldName, declaration.questionToken || declaration.exclamationToken, type, declaration.initializer); changeTracker.replaceNode(file, declaration, property); } function updatePropertyAssignmentDeclaration(changeTracker, file, declaration, fieldName) { @@ -158116,7 +160816,7 @@ var ts; updatePropertyAssignmentDeclaration(changeTracker, file, declaration, fieldName); } else { - changeTracker.replaceNode(file, declaration, ts.factory.updateParameterDeclaration(declaration, declaration.decorators, modifiers, declaration.dotDotDotToken, ts.cast(fieldName, ts.isIdentifier), declaration.questionToken, declaration.type, declaration.initializer)); + changeTracker.replaceNode(file, declaration, ts.factory.updateParameterDeclaration(declaration, modifiers, declaration.dotDotDotToken, ts.cast(fieldName, ts.isIdentifier), declaration.questionToken, declaration.type, declaration.initializer)); } } function insertAccessor(changeTracker, file, accessor, declaration, container) { @@ -158190,7 +160890,6 @@ var ts; if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { // import Bluebird = require("bluebird"); variations.push(createAction(context, sourceFile, node, ts.factory.createImportEqualsDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, namespace.name, ts.factory.createExternalModuleReference(node.moduleSpecifier)))); } @@ -158327,7 +161026,7 @@ var ts; } function addDefiniteAssignmentAssertion(changeTracker, propertyDeclarationSourceFile, propertyDeclaration) { ts.suppressLeadingAndTrailingTrivia(propertyDeclaration); - var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, ts.factory.createToken(53 /* SyntaxKind.ExclamationToken */), propertyDeclaration.type, propertyDeclaration.initializer); + var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.modifiers, propertyDeclaration.name, ts.factory.createToken(53 /* SyntaxKind.ExclamationToken */), propertyDeclaration.type, propertyDeclaration.initializer); changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } function getActionForAddMissingUndefinedType(context, info) { @@ -158357,7 +161056,7 @@ var ts; } function addInitializer(changeTracker, propertyDeclarationSourceFile, propertyDeclaration, initializer) { ts.suppressLeadingAndTrailingTrivia(propertyDeclaration); - var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.decorators, propertyDeclaration.modifiers, propertyDeclaration.name, propertyDeclaration.questionToken, propertyDeclaration.type, initializer); + var property = ts.factory.updatePropertyDeclaration(propertyDeclaration, propertyDeclaration.modifiers, propertyDeclaration.name, propertyDeclaration.questionToken, propertyDeclaration.type, initializer); changeTracker.replaceNode(propertyDeclarationSourceFile, propertyDeclaration, property); } function getInitializer(checker, propertyDeclaration) { @@ -158423,8 +161122,8 @@ var ts; function doChange(changes, sourceFile, info) { var allowSyntheticDefaults = info.allowSyntheticDefaults, defaultImportName = info.defaultImportName, namedImports = info.namedImports, statement = info.statement, required = info.required; changes.replaceNode(sourceFile, statement, defaultImportName && !allowSyntheticDefaults - ? ts.factory.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, defaultImportName, ts.factory.createExternalModuleReference(required)) - : ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, namedImports), required, /*assertClause*/ undefined)); + ? ts.factory.createImportEqualsDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, defaultImportName, ts.factory.createExternalModuleReference(required)) + : ts.factory.createImportDeclaration(/*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, namedImports), required, /*assertClause*/ undefined)); } function getInfo(sourceFile, program, pos) { var parent = ts.getTokenAtPosition(sourceFile, pos).parent; @@ -158562,7 +161261,7 @@ var ts; return token.parent; } function doChange(changes, sourceFile, importType) { - var newTypeNode = ts.factory.updateImportTypeNode(importType, importType.argument, importType.qualifier, importType.typeArguments, /* isTypeOf */ true); + var newTypeNode = ts.factory.updateImportTypeNode(importType, importType.argument, importType.assertions, importType.qualifier, importType.typeArguments, /* isTypeOf */ true); changes.replaceNode(sourceFile, importType, newTypeNode); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -158679,7 +161378,7 @@ var ts; return { indexSignature: indexSignature, container: container }; } function createTypeAliasFromInterface(declaration, type) { - return ts.factory.createTypeAliasDeclaration(declaration.decorators, declaration.modifiers, declaration.name, declaration.typeParameters, type); + return ts.factory.createTypeAliasDeclaration(declaration.modifiers, declaration.name, declaration.typeParameters, type); } function doChange(changes, sourceFile, _a) { var indexSignature = _a.indexSignature, container = _a.container; @@ -158795,9 +161494,8 @@ var ts; return; } var importClause = ts.Debug.checkDefined(importDeclaration.importClause); - changes.replaceNode(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, importDeclaration.decorators, importDeclaration.modifiers, ts.factory.updateImportClause(importClause, importClause.isTypeOnly, importClause.name, /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, importDeclaration.assertClause)); + changes.replaceNode(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, importDeclaration.modifiers, ts.factory.updateImportClause(importClause, importClause.isTypeOnly, importClause.name, /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, importDeclaration.assertClause)); changes.insertNodeAfter(context.sourceFile, importDeclaration, ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.updateImportClause(importClause, importClause.isTypeOnly, /*name*/ undefined, importClause.namedBindings), importDeclaration.moduleSpecifier, importDeclaration.assertClause)); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -159019,14 +161717,14 @@ var ts; if (!exportNode || (!ts.isSourceFile(exportNode.parent) && !(ts.isModuleBlock(exportNode.parent) && ts.isAmbientModule(exportNode.parent.parent)))) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_export_statement) }; } - var exportingModuleSymbol = ts.isSourceFile(exportNode.parent) ? exportNode.parent.symbol : exportNode.parent.parent.symbol; + var checker = program.getTypeChecker(); + var exportingModuleSymbol = getExportingModuleSymbol(exportNode, checker); var flags = ts.getSyntacticModifierFlags(exportNode) || ((ts.isExportAssignment(exportNode) && !exportNode.isExportEquals) ? 513 /* ModifierFlags.ExportDefault */ : 0 /* ModifierFlags.None */); var wasDefault = !!(flags & 512 /* ModifierFlags.Default */); // If source file already has a default export, don't offer refactor. if (!(flags & 1 /* ModifierFlags.Export */) || !wasDefault && exportingModuleSymbol.exports.has("default" /* InternalSymbolName.Default */)) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.This_file_already_has_a_default_export) }; } - var checker = program.getTypeChecker(); var noSymbolError = function (id) { return (ts.isIdentifier(id) && checker.getSymbolAtLocation(id)) ? undefined : { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_named_export) }; @@ -159078,7 +161776,7 @@ var ts; if (ts.isExportAssignment(exportNode) && !exportNode.isExportEquals) { var exp = exportNode.expression; var spec = makeExportSpecifier(exp.text, exp.text); - changes.replaceNode(exportingSourceFile, exportNode, ts.factory.createExportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([spec]))); + changes.replaceNode(exportingSourceFile, exportNode, ts.factory.createExportDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([spec]))); } else { changes.delete(exportingSourceFile, ts.Debug.checkDefined(ts.findModifier(exportNode, 88 /* SyntaxKind.DefaultKeyword */), "Should find a default keyword in modifier list")); @@ -159118,6 +161816,8 @@ var ts; var checker = program.getTypeChecker(); var exportSymbol = ts.Debug.checkDefined(checker.getSymbolAtLocation(exportName), "Export name should resolve to a symbol"); ts.FindAllReferences.Core.eachExportReference(program.getSourceFiles(), checker, cancellationToken, exportSymbol, exportingModuleSymbol, exportName.text, wasDefault, function (ref) { + if (exportName === ref) + return; var importingSourceFile = ref.getSourceFile(); if (wasDefault) { changeDefaultToNamedImport(importingSourceFile, ref, changes, exportName.text); @@ -159166,7 +161866,7 @@ var ts; } case 200 /* SyntaxKind.ImportType */: var importTypeNode = parent; - changes.replaceNode(importingSourceFile, parent, ts.factory.createImportTypeNode(importTypeNode.argument, ts.factory.createIdentifier(exportName), importTypeNode.typeArguments, importTypeNode.isTypeOf)); + changes.replaceNode(importingSourceFile, parent, ts.factory.createImportTypeNode(importTypeNode.argument, importTypeNode.assertions, ts.factory.createIdentifier(exportName), importTypeNode.typeArguments, importTypeNode.isTypeOf)); break; default: ts.Debug.failBadSyntaxKind(parent); @@ -159210,6 +161910,17 @@ var ts; function makeExportSpecifier(propertyName, name) { return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, propertyName === name ? undefined : ts.factory.createIdentifier(propertyName), ts.factory.createIdentifier(name)); } + function getExportingModuleSymbol(node, checker) { + var parent = node.parent; + if (ts.isSourceFile(parent)) { + return parent.symbol; + } + var symbol = parent.parent.symbol; + if (symbol.valueDeclaration && ts.isExternalModuleAugmentation(symbol.valueDeclaration)) { + return checker.getMergedSymbol(symbol); + } + return symbol; + } })(refactor = ts.refactor || (ts.refactor = {})); })(ts || (ts = {})); /* @internal */ @@ -159384,7 +162095,7 @@ var ts; // Imports that need to be kept as named imports in the refactored code, to avoid changing the semantics. // More specifically, those are named imports that appear in named exports in the original code, e.g. `a` in `import { a } from "m"; export { a }`. var neededNamedImports = new ts.Set(); - var _loop_17 = function (element) { + var _loop_15 = function (element) { var propertyName = (element.propertyName || element.name).text; ts.FindAllReferences.Core.eachSymbolReferenceInFile(element.name, checker, sourceFile, function (id) { var access = ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier(namespaceImportName), propertyName); @@ -159401,7 +162112,7 @@ var ts; }; for (var _i = 0, _a = toConvert.elements; _i < _a.length; _i++) { var element = _a[_i]; - _loop_17(element); + _loop_15(element); } changes.replaceNode(sourceFile, toConvert, shouldUseDefault ? ts.factory.createIdentifier(namespaceImportName) @@ -159422,7 +162133,7 @@ var ts; return externalModule !== exportEquals; } function updateImport(old, defaultImportName, elements) { - return ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, elements && elements.length ? ts.factory.createNamedImports(elements) : undefined), old.moduleSpecifier, /*assertClause*/ undefined); + return ts.factory.createImportDeclaration(/*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, elements && elements.length ? ts.factory.createNamedImports(elements) : undefined), old.moduleSpecifier, /*assertClause*/ undefined); } })(refactor = ts.refactor || (ts.refactor = {})); })(ts || (ts = {})); @@ -159736,7 +162447,7 @@ var ts; break; } case 169 /* SyntaxKind.MethodDeclaration */: { - updated = ts.factory.updateMethodDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); + updated = ts.factory.updateMethodDeclaration(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } case 174 /* SyntaxKind.CallSignature */: { @@ -159744,7 +162455,7 @@ var ts; break; } case 171 /* SyntaxKind.Constructor */: { - updated = ts.factory.updateConstructorDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.body); + updated = ts.factory.updateConstructorDeclaration(lastDeclaration, lastDeclaration.modifiers, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.body); break; } case 175 /* SyntaxKind.ConstructSignature */: { @@ -159752,7 +162463,7 @@ var ts; break; } case 256 /* SyntaxKind.FunctionDeclaration */: { - updated = ts.factory.updateFunctionDeclaration(lastDeclaration, lastDeclaration.decorators, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); + updated = ts.factory.updateFunctionDeclaration(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } default: return ts.Debug.failBadSyntaxKind(lastDeclaration, "Unhandled signature kind in overload list conversion refactoring"); @@ -159772,7 +162483,6 @@ var ts; } return ts.factory.createNodeArray([ ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), "args", /*questionToken*/ undefined, ts.factory.createUnionTypeNode(ts.map(signatureDeclarations, convertSignatureParametersToTuple))) ]); @@ -159819,6 +162529,9 @@ var ts; if (!containingDecl) { return; } + if (ts.isFunctionLikeDeclaration(containingDecl) && containingDecl.body && ts.rangeContainsPosition(containingDecl.body, startPosition)) { + return; + } var checker = program.getTypeChecker(); var signatureSymbol = containingDecl.symbol; if (!signatureSymbol) { @@ -159839,7 +162552,7 @@ var ts; return; } var signatureDecls = decls; - if (ts.some(signatureDecls, function (d) { return !!d.typeParameters || ts.some(d.parameters, function (p) { return !!p.decorators || !!p.modifiers || !ts.isIdentifier(p.name); }); })) { + if (ts.some(signatureDecls, function (d) { return !!d.typeParameters || ts.some(d.parameters, function (p) { return !!p.modifiers || !ts.isIdentifier(p.name); }); })) { return; } var signatures = ts.mapDefined(signatureDecls, function (d) { return checker.getSignatureFromDeclaration(d); }); @@ -160169,11 +162882,11 @@ var ts; } } else if (ts.isVariableStatement(node) || ts.isVariableDeclarationList(node)) { - var declarations_5 = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations; + var declarations_6 = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations; var numInitializers = 0; var lastInitializer = void 0; - for (var _i = 0, declarations_4 = declarations_5; _i < declarations_4.length; _i++) { - var declaration = declarations_4[_i]; + for (var _i = 0, declarations_5 = declarations_6; _i < declarations_5.length; _i++) { + var declaration = declarations_5[_i]; if (declaration.initializer) { numInitializers++; lastInitializer = declaration.initializer; @@ -160332,7 +163045,7 @@ var ts; var savedPermittedJumps = permittedJumps; switch (node.kind) { case 239 /* SyntaxKind.IfStatement */: - permittedJumps = 0 /* PermittedJumps.None */; + permittedJumps &= ~4 /* PermittedJumps.Return */; break; case 252 /* SyntaxKind.TryStatement */: // forbid all jumps inside try blocks @@ -160624,7 +163337,6 @@ var ts; typeNode = ts.codefix.typeToAutoImportableTypeNode(checker, importAdder, type, scope, scriptTarget, 1 /* NodeBuilderFlags.NoTruncation */); } var paramDecl = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ name, @@ -160664,22 +163376,19 @@ var ts; if (range.facts & RangeFacts.IsAsyncFunction) { modifiers.push(ts.factory.createModifier(131 /* SyntaxKind.AsyncKeyword */)); } - newFunction = ts.factory.createMethodDeclaration( - /*decorators*/ undefined, modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, + newFunction = ts.factory.createMethodDeclaration(modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, /*questionToken*/ undefined, typeParameters, parameters, returnType, body); } else { if (callThis) { parameters.unshift(ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ "this", /*questionToken*/ undefined, checker.typeToTypeNode(checker.getTypeAtLocation(range.thisNode), scope, 1 /* NodeBuilderFlags.NoTruncation */), /*initializer*/ undefined)); } - newFunction = ts.factory.createFunctionDeclaration( - /*decorators*/ undefined, range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(131 /* SyntaxKind.AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); + newFunction = ts.factory.createFunctionDeclaration(range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(131 /* SyntaxKind.AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); } var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); var minInsertionPos = (isReadonlyArray(range.range) ? ts.last(range.range) : range.range).end; @@ -160861,8 +163570,7 @@ var ts; modifiers.push(ts.factory.createModifier(124 /* SyntaxKind.StaticKeyword */)); } modifiers.push(ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */)); - var newVariable = ts.factory.createPropertyDeclaration( - /*decorators*/ undefined, modifiers, localNameText, + var newVariable = ts.factory.createPropertyDeclaration(modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); var localReference = ts.factory.createPropertyAccessExpression(rangeFacts & RangeFacts.InStaticRegion ? ts.factory.createIdentifier(scope.name.getText()) // TODO: GH#18217 @@ -160957,7 +163665,7 @@ var ts; var paramType = checker.getTypeAtLocation(p); if (paramType === checker.getAnyType()) hasAny = true; - parameters.push(ts.factory.updateParameterDeclaration(p, p.decorators, p.modifiers, p.dotDotDotToken, p.name, p.questionToken, p.type || checker.typeToTypeNode(paramType, scope, 1 /* NodeBuilderFlags.NoTruncation */), p.initializer)); + parameters.push(ts.factory.updateParameterDeclaration(p, p.modifiers, p.dotDotDotToken, p.name, p.questionToken, p.type || checker.typeToTypeNode(paramType, scope, 1 /* NodeBuilderFlags.NoTruncation */), p.initializer)); } } // If a parameter was inferred as any we skip adding function parameters at all. @@ -160967,7 +163675,7 @@ var ts; return { variableType: variableType, initializer: initializer }; variableType = undefined; if (ts.isArrowFunction(initializer)) { - initializer = ts.factory.updateArrowFunction(initializer, node.modifiers, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NodeBuilderFlags.NoTruncation */), initializer.equalsGreaterThanToken, initializer.body); + initializer = ts.factory.updateArrowFunction(initializer, ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NodeBuilderFlags.NoTruncation */), initializer.equalsGreaterThanToken, initializer.body); } else { if (functionSignature && !!functionSignature.thisParameter) { @@ -160977,13 +163685,12 @@ var ts; if ((!firstParameter || (ts.isIdentifier(firstParameter.name) && firstParameter.name.escapedText !== "this"))) { var thisType = checker.getTypeOfSymbolAtLocation(functionSignature.thisParameter, node); parameters.splice(0, 0, ts.factory.createParameterDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, /* dotDotDotToken */ undefined, "this", /* questionToken */ undefined, checker.typeToTypeNode(thisType, scope, 1 /* NodeBuilderFlags.NoTruncation */))); } } - initializer = ts.factory.updateFunctionExpression(initializer, node.modifiers, initializer.asteriskToken, initializer.name, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NodeBuilderFlags.NoTruncation */), initializer.body); + initializer = ts.factory.updateFunctionExpression(initializer, ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined, initializer.asteriskToken, initializer.name, initializer.typeParameters, parameters, initializer.type || checker.typeToTypeNode(functionSignature.getReturnType(), scope, 1 /* NodeBuilderFlags.NoTruncation */), initializer.body); } return { variableType: variableType, initializer: initializer }; } @@ -161299,7 +164006,7 @@ var ts; : ts.getEnclosingBlockScopeContainer(scopes[0]); ts.forEachChild(containingLexicalScopeOfExtraction, checkForUsedDeclarations); } - var _loop_18 = function (i) { + var _loop_16 = function (i) { var scopeUsages = usagesPerScope[i]; // Special case: in the innermost scope, all usages are available. // (The computed value reflects the value at the top-level of the scope, but the @@ -161342,7 +164049,7 @@ var ts; } }; for (var i = 0; i < scopes.length; i++) { - _loop_18(i); + _loop_16(i); } return { target: target, usagesPerScope: usagesPerScope, functionErrorsPerScope: functionErrorsPerScope, constantErrorsPerScope: constantErrorsPerScope, exposedVariableDeclarations: exposedVariableDeclarations }; function isInGenericContext(node) { @@ -161778,7 +164485,6 @@ var ts; function doTypeAliasChange(changes, file, name, info) { var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters; var newTypeNode = ts.factory.createTypeAliasDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, name, typeParameters.map(function (id) { return ts.factory.updateTypeParameterDeclaration(id, id.modifiers, id.name, id.constraint, /* defaultType */ undefined); }), selection); changes.insertNodeBefore(file, firstStatement, ts.ignoreSourceNewlines(newTypeNode), /* blankLineBetween */ true); changes.replaceNode(file, selection, ts.factory.createTypeReferenceNode(name, typeParameters.map(function (id) { return ts.factory.createTypeReferenceNode(id.name, /* typeArguments */ undefined); })), { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.Exclude, trailingTriviaOption: ts.textChanges.TrailingTriviaOption.ExcludeWhitespace }); @@ -161787,7 +164493,6 @@ var ts; var _a; var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters, typeElements = info.typeElements; var newTypeNode = ts.factory.createInterfaceDeclaration( - /* decorators */ undefined, /* modifiers */ undefined, name, typeParameters, /* heritageClauses */ undefined, typeElements); ts.setTextRange(newTypeNode, (_a = typeElements[0]) === null || _a === void 0 ? void 0 : _a.parent); @@ -161951,7 +164656,7 @@ var ts; var usage = getUsageInfo(oldFile, toMove.all, checker); var currentDirectory = ts.getDirectoryPath(oldFile.fileName); var extension = ts.extensionFromPath(oldFile.fileName); - var newModuleName = makeUniqueModuleName(getNewModuleName(usage.movedSymbols), extension, currentDirectory, host); + var newModuleName = makeUniqueModuleName(getNewModuleName(usage.oldFileImportsFromNewFile, usage.movedSymbols), extension, currentDirectory, host); var newFileNameWithExtension = newModuleName + extension; // If previous file was global, this is easy. changes.createNewFile(oldFile, ts.combinePaths(currentDirectory, newFileNameWithExtension), getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences)); @@ -162045,10 +164750,10 @@ var ts; } function updateImportsInOtherFiles(changes, program, oldFile, movedSymbols, newModuleName) { var checker = program.getTypeChecker(); - var _loop_19 = function (sourceFile) { + var _loop_17 = function (sourceFile) { if (sourceFile === oldFile) return "continue"; - var _loop_20 = function (statement) { + var _loop_18 = function (statement) { forEachImportInStatement(statement, function (importNode) { if (checker.getSymbolAtLocation(moduleSpecifierFromImport(importNode)) !== oldFile.symbol) return; @@ -162070,12 +164775,12 @@ var ts; }; for (var _b = 0, _c = sourceFile.statements; _b < _c.length; _b++) { var statement = _c[_b]; - _loop_20(statement); + _loop_18(statement); } }; for (var _i = 0, _a = program.getSourceFiles(); _i < _a.length; _i++) { var sourceFile = _a[_i]; - _loop_19(sourceFile); + _loop_17(sourceFile); } } function getNamespaceLikeImport(node) { @@ -162118,10 +164823,10 @@ var ts; switch (node.kind) { case 266 /* SyntaxKind.ImportDeclaration */: return ts.factory.createImportDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, /*assertClause*/ undefined); case 265 /* SyntaxKind.ImportEqualsDeclaration */: - return ts.factory.createImportEqualsDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*isTypeOnly*/ false, newNamespaceId, ts.factory.createExternalModuleReference(newModuleString)); + return ts.factory.createImportEqualsDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, newNamespaceId, ts.factory.createExternalModuleReference(newModuleString)); case 254 /* SyntaxKind.VariableDeclaration */: return ts.factory.createVariableDeclaration(newNamespaceId, /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(newModuleString)); default: @@ -162315,8 +165020,8 @@ var ts; newModuleName = "".concat(moduleName, ".").concat(i); } } - function getNewModuleName(movedSymbols) { - return movedSymbols.forEachEntry(ts.symbolNameNoDefault) || "newFile"; + function getNewModuleName(importsFromNewFile, movedSymbols) { + return importsFromNewFile.forEachEntry(ts.symbolNameNoDefault) || movedSymbols.forEachEntry(ts.symbolNameNoDefault) || "newFile"; } function getUsageInfo(oldFile, toMove, checker) { var movedSymbols = new SymbolSet(); @@ -162409,7 +165114,7 @@ var ts; var defaultImport = clause.name && keep(clause.name) ? clause.name : undefined; var namedBindings = clause.namedBindings && filterNamedBindings(clause.namedBindings, keep); return defaultImport || namedBindings - ? ts.factory.createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined) + ? ts.factory.createImportDeclaration(/*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined) : undefined; } case 265 /* SyntaxKind.ImportEqualsDeclaration */: @@ -162574,24 +165279,25 @@ var ts; return useEs6Exports ? [addEs6Export(decl)] : addCommonjsExport(decl); } function addEs6Export(d) { - var modifiers = ts.concatenate([ts.factory.createModifier(93 /* SyntaxKind.ExportKeyword */)], d.modifiers); + var modifiers = ts.canHaveModifiers(d) ? ts.concatenate([ts.factory.createModifier(93 /* SyntaxKind.ExportKeyword */)], ts.getModifiers(d)) : undefined; switch (d.kind) { case 256 /* SyntaxKind.FunctionDeclaration */: - return ts.factory.updateFunctionDeclaration(d, d.decorators, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); + return ts.factory.updateFunctionDeclaration(d, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); case 257 /* SyntaxKind.ClassDeclaration */: - return ts.factory.updateClassDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); + var decorators = ts.canHaveDecorators(d) ? ts.getDecorators(d) : undefined; + return ts.factory.updateClassDeclaration(d, ts.concatenate(decorators, modifiers), d.name, d.typeParameters, d.heritageClauses, d.members); case 237 /* SyntaxKind.VariableStatement */: return ts.factory.updateVariableStatement(d, modifiers, d.declarationList); case 261 /* SyntaxKind.ModuleDeclaration */: - return ts.factory.updateModuleDeclaration(d, d.decorators, modifiers, d.name, d.body); + return ts.factory.updateModuleDeclaration(d, modifiers, d.name, d.body); case 260 /* SyntaxKind.EnumDeclaration */: - return ts.factory.updateEnumDeclaration(d, d.decorators, modifiers, d.name, d.members); + return ts.factory.updateEnumDeclaration(d, modifiers, d.name, d.members); case 259 /* SyntaxKind.TypeAliasDeclaration */: - return ts.factory.updateTypeAliasDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.type); + return ts.factory.updateTypeAliasDeclaration(d, modifiers, d.name, d.typeParameters, d.type); case 258 /* SyntaxKind.InterfaceDeclaration */: - return ts.factory.updateInterfaceDeclaration(d, d.decorators, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); + return ts.factory.updateInterfaceDeclaration(d, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); case 265 /* SyntaxKind.ImportEqualsDeclaration */: - return ts.factory.updateImportEqualsDeclaration(d, d.decorators, modifiers, d.isTypeOnly, d.name, d.moduleReference); + return ts.factory.updateImportEqualsDeclaration(d, modifiers, d.isTypeOnly, d.name, d.moduleReference); case 238 /* SyntaxKind.ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: @@ -163088,7 +165794,7 @@ var ts; if (!checker.isArrayType(type) && !checker.isTupleType(type)) return false; } - return !parameterDeclaration.modifiers && !parameterDeclaration.decorators && ts.isIdentifier(parameterDeclaration.name); + return !parameterDeclaration.modifiers && ts.isIdentifier(parameterDeclaration.name); } function isValidVariableDeclaration(node) { return ts.isVariableDeclaration(node) && ts.isVarConst(node) && ts.isIdentifier(node.name) && !node.type; // TODO: GH#30113 @@ -163147,14 +165853,12 @@ var ts; objectInitializer = ts.factory.createObjectLiteralExpression(); } var objectParameter = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, objectParameterName, /*questionToken*/ undefined, objectParameterType, objectInitializer); if (hasThisParameter(functionDeclaration.parameters)) { var thisParameter = functionDeclaration.parameters[0]; var newThisParameter = ts.factory.createParameterDeclaration( - /*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, thisParameter.name, /*questionToken*/ undefined, thisParameter.type); @@ -163439,7 +166143,7 @@ var ts; var templateSpans = []; var templateHead = ts.factory.createTemplateHead(headText, rawHeadText); copyCommentFromStringLiterals(headIndexes, templateHead); - var _loop_21 = function (i) { + var _loop_19 = function (i) { var currentNode = getExpressionFromParenthesesOrExpression(nodes[i]); copyOperatorComments(i, currentNode); var _c = concatConsecutiveString(i + 1, nodes), newIndex = _c[0], subsequentText = _c[1], rawSubsequentText = _c[2], stringIndexes = _c[3]; @@ -163468,7 +166172,7 @@ var ts; }; var out_i_1; for (var i = begin; i < nodes.length; i++) { - _loop_21(i); + _loop_19(i); i = out_i_1; } return ts.factory.createTemplateExpression(templateHead, templateSpans); @@ -163675,7 +166379,7 @@ var ts; ts.suppressLeadingTrivia(statement); var modifiersFlags = (ts.getCombinedModifierFlags(variableDeclaration) & 1 /* ModifierFlags.Export */) | ts.getEffectiveModifierFlags(func); var modifiers = ts.factory.createModifiersFromModifierFlags(modifiersFlags); - var newNode = ts.factory.createFunctionDeclaration(func.decorators, ts.length(modifiers) ? modifiers : undefined, func.asteriskToken, name, func.typeParameters, func.parameters, func.type, body); + var newNode = ts.factory.createFunctionDeclaration(ts.length(modifiers) ? modifiers : undefined, func.asteriskToken, name, func.typeParameters, func.parameters, func.type, body); if (variableDeclarationList.declarations.length === 1) { return ts.textChanges.ChangeTracker.with(context, function (t) { return t.replaceNode(file, statement, newNode); }); } @@ -164080,20 +166784,25 @@ var ts; return this.documentationComment; }; SymbolObject.prototype.getContextualDocumentationComment = function (context, checker) { - switch (context === null || context === void 0 ? void 0 : context.kind) { - case 172 /* SyntaxKind.GetAccessor */: + if (context) { + if (ts.isGetAccessor(context)) { if (!this.contextualGetAccessorDocumentationComment) { this.contextualGetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isGetAccessor), checker); } - return this.contextualGetAccessorDocumentationComment; - case 173 /* SyntaxKind.SetAccessor */: + if (ts.length(this.contextualGetAccessorDocumentationComment)) { + return this.contextualGetAccessorDocumentationComment; + } + } + if (ts.isSetAccessor(context)) { if (!this.contextualSetAccessorDocumentationComment) { this.contextualSetAccessorDocumentationComment = getDocumentationComment(ts.filter(this.declarations, ts.isSetAccessor), checker); } - return this.contextualSetAccessorDocumentationComment; - default: - return this.getDocumentationComment(checker); + if (ts.length(this.contextualSetAccessorDocumentationComment)) { + return this.contextualSetAccessorDocumentationComment; + } + } } + return this.getDocumentationComment(checker); }; SymbolObject.prototype.getJsDocTags = function (checker) { if (this.tags === undefined) { @@ -164102,20 +166811,25 @@ var ts; return this.tags; }; SymbolObject.prototype.getContextualJsDocTags = function (context, checker) { - switch (context === null || context === void 0 ? void 0 : context.kind) { - case 172 /* SyntaxKind.GetAccessor */: + if (context) { + if (ts.isGetAccessor(context)) { if (!this.contextualGetAccessorTags) { this.contextualGetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isGetAccessor), checker); } - return this.contextualGetAccessorTags; - case 173 /* SyntaxKind.SetAccessor */: + if (ts.length(this.contextualGetAccessorTags)) { + return this.contextualGetAccessorTags; + } + } + if (ts.isSetAccessor(context)) { if (!this.contextualSetAccessorTags) { this.contextualSetAccessorTags = getJsDocTagsOfDeclarations(ts.filter(this.declarations, ts.isSetAccessor), checker); } - return this.contextualSetAccessorTags; - default: - return this.getJsDocTags(checker); + if (ts.length(this.contextualSetAccessorTags)) { + return this.contextualSetAccessorTags; + } + } } + return this.getJsDocTags(checker); }; return SymbolObject; }()); @@ -164296,7 +167010,7 @@ var ts; * @returns `true` if `node` has a JSDoc "inheritDoc" tag on it, otherwise `false`. */ function hasJSDocInheritDocTag(node) { - return ts.getJSDocTags(node).some(function (tag) { return tag.tagName.text === "inheritDoc"; }); + return ts.getJSDocTags(node).some(function (tag) { return tag.tagName.text === "inheritDoc" || tag.tagName.text === "inheritdoc"; }); } function getJsDocTagsOfDeclarations(declarations, checker) { if (!declarations) @@ -164304,7 +167018,7 @@ var ts; var tags = ts.JsDoc.getJsDocTagsFromDeclarations(declarations, checker); if (checker && (tags.length === 0 || declarations.some(hasJSDocInheritDocTag))) { var seenSymbols_1 = new ts.Set(); - var _loop_22 = function (declaration) { + var _loop_20 = function (declaration) { var inheritedTags = findBaseOfDeclaration(checker, declaration, function (symbol) { var _a; if (!seenSymbols_1.has(symbol)) { @@ -164319,9 +167033,9 @@ var ts; tags = __spreadArray(__spreadArray([], inheritedTags, true), tags, true); } }; - for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { - var declaration = declarations_6[_i]; - _loop_22(declaration); + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; + _loop_20(declaration); } } return tags; @@ -164332,7 +167046,7 @@ var ts; var doc = ts.JsDoc.getJsDocCommentsFromDeclarations(declarations, checker); if (checker && (doc.length === 0 || declarations.some(hasJSDocInheritDocTag))) { var seenSymbols_2 = new ts.Set(); - var _loop_23 = function (declaration) { + var _loop_21 = function (declaration) { var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) { if (!seenSymbols_2.has(symbol)) { seenSymbols_2.add(symbol); @@ -164346,22 +167060,23 @@ var ts; if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); }; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; - _loop_23(declaration); + for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { + var declaration = declarations_8[_i]; + _loop_21(declaration); } } return doc; } function findBaseOfDeclaration(checker, declaration, cb) { var _a; - if (ts.hasStaticModifier(declaration)) - return; var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* SyntaxKind.Constructor */ ? declaration.parent.parent : declaration.parent; if (!classOrInterfaceDeclaration) return; + var isStaticMember = ts.hasStaticModifier(declaration); return ts.firstDefined(ts.getAllSuperTypeNodes(classOrInterfaceDeclaration), function (superTypeNode) { - var symbol = checker.getPropertyOfType(checker.getTypeAtLocation(superTypeNode), declaration.symbol.name); + var baseType = checker.getTypeAtLocation(superTypeNode); + var type = isStaticMember && baseType.symbol ? checker.getTypeOfSymbol(baseType.symbol) : baseType; + var symbol = checker.getPropertyOfType(type, declaration.symbol.name); return symbol ? cb(symbol) : undefined; }); } @@ -164604,70 +167319,6 @@ var ts; return ts.codefix.getSupportedErrorCodes(); } ts.getSupportedCodeFixes = getSupportedCodeFixes; - // Cache host information about script Should be refreshed - // at each language service public entry point, since we don't know when - // the set of scripts handled by the host changes. - var HostCache = /** @class */ (function () { - function HostCache(host, getCanonicalFileName) { - this.host = host; - // script id => script index - this.currentDirectory = host.getCurrentDirectory(); - this.fileNameToEntry = new ts.Map(); - // Initialize the list with the root file names - var rootFileNames = host.getScriptFileNames(); - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("session" /* tracing.Phase.Session */, "initializeHostCache", { count: rootFileNames.length }); - for (var _i = 0, rootFileNames_1 = rootFileNames; _i < rootFileNames_1.length; _i++) { - var fileName = rootFileNames_1[_i]; - this.createEntry(fileName, ts.toPath(fileName, this.currentDirectory, getCanonicalFileName)); - } - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); - } - HostCache.prototype.createEntry = function (fileName, path) { - var entry; - var scriptSnapshot = this.host.getScriptSnapshot(fileName); - if (scriptSnapshot) { - entry = { - hostFileName: fileName, - version: this.host.getScriptVersion(fileName), - scriptSnapshot: scriptSnapshot, - scriptKind: ts.getScriptKind(fileName, this.host) - }; - } - else { - entry = fileName; - } - this.fileNameToEntry.set(path, entry); - return entry; - }; - HostCache.prototype.getEntryByPath = function (path) { - return this.fileNameToEntry.get(path); - }; - HostCache.prototype.getHostFileInformation = function (path) { - var entry = this.fileNameToEntry.get(path); - return !ts.isString(entry) ? entry : undefined; - }; - HostCache.prototype.getOrCreateEntryByPath = function (fileName, path) { - var info = this.getEntryByPath(path) || this.createEntry(fileName, path); - return ts.isString(info) ? undefined : info; // TODO: GH#18217 - }; - HostCache.prototype.getRootFileNames = function () { - var names = []; - this.fileNameToEntry.forEach(function (entry) { - if (ts.isString(entry)) { - names.push(entry); - } - else { - names.push(entry.hostFileName); - } - }); - return names; - }; - HostCache.prototype.getScriptSnapshot = function (path) { - var file = this.getHostFileInformation(path); - return (file && file.scriptSnapshot); // TODO: GH#18217 - }; - return HostCache; - }()); var SyntaxTreeCache = /** @class */ (function () { function SyntaxTreeCache(host) { this.host = host; @@ -164929,32 +167580,16 @@ var ts; program = undefined; // TODO: GH#18217 lastTypesRootVersion = typeRootsVersion; } + // This array is retained by the program and will be used to determine if the program is up to date, + // so we need to make a copy in case the host mutates the underlying array - otherwise it would look + // like every program always has the host's current list of root files. + var rootFileNames = host.getScriptFileNames().slice(); // Get a fresh cache of the host information - var hostCache = new HostCache(host, getCanonicalFileName); - var rootFileNames = hostCache.getRootFileNames(); var newSettings = host.getCompilationSettings() || getDefaultCompilerOptions(); var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; var hasChangedAutomaticTypeDirectiveNames = ts.maybeBind(host, host.hasChangedAutomaticTypeDirectiveNames); var projectReferences = (_b = host.getProjectReferences) === null || _b === void 0 ? void 0 : _b.call(host); var parsedCommandLines; - var parseConfigHost = { - useCaseSensitiveFileNames: useCaseSensitiveFileNames, - fileExists: fileExists, - readFile: readFile, - readDirectory: readDirectory, - trace: ts.maybeBind(host, host.trace), - getCurrentDirectory: function () { return currentDirectory; }, - onUnRecoverableConfigFileDiagnostic: ts.noop, - }; - // If the program is already up-to-date, we can reuse it - if (ts.isProgramUptoDate(program, rootFileNames, newSettings, function (_path, fileName) { return host.getScriptVersion(fileName); }, fileExists, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { - return; - } - // IMPORTANT - It is critical from this moment onward that we do not check - // cancellation tokens. We are about to mutate source files from a previous program - // instance. If we cancel midway through, we may end up in an inconsistent state where - // the program points to old source files that have been invalidated because of - // incremental parsing. // Now create a new compiler var compilerHost = { getSourceFile: getOrCreateSourceFile, @@ -164966,8 +167601,8 @@ var ts; getDefaultLibFileName: function (options) { return host.getDefaultLibFileName(options); }, writeFile: ts.noop, getCurrentDirectory: function () { return currentDirectory; }, - fileExists: fileExists, - readFile: readFile, + fileExists: function (fileName) { return host.fileExists(fileName); }, + readFile: function (fileName) { return host.readFile && host.readFile(fileName); }, getSymlinkCache: ts.maybeBind(host, host.getSymlinkCache), realpath: ts.maybeBind(host, host.realpath), directoryExists: function (directoryName) { @@ -164976,19 +167611,56 @@ var ts; getDirectories: function (path) { return host.getDirectories ? host.getDirectories(path) : []; }, - readDirectory: readDirectory, + readDirectory: function (path, extensions, exclude, include, depth) { + ts.Debug.checkDefined(host.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"); + return host.readDirectory(path, extensions, exclude, include, depth); + }, onReleaseOldSourceFile: onReleaseOldSourceFile, onReleaseParsedCommandLine: onReleaseParsedCommandLine, hasInvalidatedResolution: hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames: hasChangedAutomaticTypeDirectiveNames, - trace: parseConfigHost.trace, + trace: ts.maybeBind(host, host.trace), resolveModuleNames: ts.maybeBind(host, host.resolveModuleNames), getModuleResolutionCache: ts.maybeBind(host, host.getModuleResolutionCache), resolveTypeReferenceDirectives: ts.maybeBind(host, host.resolveTypeReferenceDirectives), useSourceOfProjectReferenceRedirect: ts.maybeBind(host, host.useSourceOfProjectReferenceRedirect), getParsedCommandLine: getParsedCommandLine, }; + var originalGetSourceFile = compilerHost.getSourceFile; + var getSourceFileWithCache = ts.changeCompilerHostLikeToUseCache(compilerHost, function (fileName) { return ts.toPath(fileName, currentDirectory, getCanonicalFileName); }, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return originalGetSourceFile.call.apply(originalGetSourceFile, __spreadArray([compilerHost], args, false)); + }).getSourceFileWithCache; + compilerHost.getSourceFile = getSourceFileWithCache; (_c = host.setCompilerHost) === null || _c === void 0 ? void 0 : _c.call(host, compilerHost); + var parseConfigHost = { + useCaseSensitiveFileNames: useCaseSensitiveFileNames, + fileExists: function (fileName) { return compilerHost.fileExists(fileName); }, + readFile: function (fileName) { return compilerHost.readFile(fileName); }, + readDirectory: function () { + var _a; + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return (_a = compilerHost).readDirectory.apply(_a, args); + }, + trace: compilerHost.trace, + getCurrentDirectory: compilerHost.getCurrentDirectory, + onUnRecoverableConfigFileDiagnostic: ts.noop, + }; + // If the program is already up-to-date, we can reuse it + if (ts.isProgramUptoDate(program, rootFileNames, newSettings, function (_path, fileName) { return host.getScriptVersion(fileName); }, function (fileName) { return compilerHost.fileExists(fileName); }, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + return; + } + // IMPORTANT - It is critical from this moment onward that we do not check + // cancellation tokens. We are about to mutate source files from a previous program + // instance. If we cancel midway through, we may end up in an inconsistent state where + // the program points to old source files that have been invalidated because of + // incremental parsing. var documentRegistryBucketKey = documentRegistry.getKeyForCompilationSettings(newSettings); var options = { rootNames: rootFileNames, @@ -164998,9 +167670,9 @@ var ts; projectReferences: projectReferences }; program = ts.createProgram(options); - // hostCache is captured in the closure for 'getOrCreateSourceFile' but it should not be used past this point. - // It needs to be cleared to allow all collected snapshots to be released - hostCache = undefined; + // 'getOrCreateSourceFile' depends on caching but should be used past this point. + // After this point, the cache needs to be cleared to allow all collected snapshots to be released + compilerHost = undefined; parsedCommandLines = undefined; // We reset this cache on structure invalidation so we don't hold on to outdated files for long; however we can't use the `compilerHost` above, // Because it only functions until `hostCache` is cleared, while we'll potentially need the functionality to lazily read sourcemap files during @@ -165040,44 +167712,26 @@ var ts; onReleaseOldSourceFile(oldResolvedRef.sourceFile, oldOptions); } } - function fileExists(fileName) { - var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var entry = hostCache && hostCache.getEntryByPath(path); - return entry ? - !ts.isString(entry) : - (!!host.fileExists && host.fileExists(fileName)); - } - function readFile(fileName) { - // stub missing host functionality - var path = ts.toPath(fileName, currentDirectory, getCanonicalFileName); - var entry = hostCache && hostCache.getEntryByPath(path); - if (entry) { - return ts.isString(entry) ? undefined : ts.getSnapshotText(entry.scriptSnapshot); - } - return host.readFile && host.readFile(fileName); - } - function readDirectory(path, extensions, exclude, include, depth) { - ts.Debug.checkDefined(host.readDirectory, "'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"); - return host.readDirectory(path, extensions, exclude, include, depth); - } // Release any files we have acquired in the old program but are // not part of the new program. function onReleaseOldSourceFile(oldSourceFile, oldOptions) { var oldSettingsKey = documentRegistry.getKeyForCompilationSettings(oldOptions); - documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, oldSettingsKey, oldSourceFile.scriptKind); + documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, oldSettingsKey, oldSourceFile.scriptKind, oldSourceFile.impliedNodeFormat); } - function getOrCreateSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile) { - return getOrCreateSourceFileByPath(fileName, ts.toPath(fileName, currentDirectory, getCanonicalFileName), languageVersion, onError, shouldCreateNewSourceFile); + function getOrCreateSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) { + return getOrCreateSourceFileByPath(fileName, ts.toPath(fileName, currentDirectory, getCanonicalFileName), languageVersionOrOptions, onError, shouldCreateNewSourceFile); } - function getOrCreateSourceFileByPath(fileName, path, _languageVersion, _onError, shouldCreateNewSourceFile) { - ts.Debug.assert(hostCache !== undefined, "getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host."); + function getOrCreateSourceFileByPath(fileName, path, languageVersionOrOptions, _onError, shouldCreateNewSourceFile) { + ts.Debug.assert(compilerHost, "getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host."); // The program is asking for this file, check first if the host can locate it. // If the host can not locate the file, then it does not exist. return undefined // to the program to allow reporting of errors for missing files. - var hostFileInformation = hostCache && hostCache.getOrCreateEntryByPath(fileName, path); - if (!hostFileInformation) { + var scriptSnapshot = host.getScriptSnapshot(fileName); + if (!scriptSnapshot) { return undefined; } + var scriptKind = ts.getScriptKind(fileName, host); + var scriptVersion = host.getScriptVersion(fileName); // Check if the language version has changed since we last created a program; if they are the same, // it is safe to reuse the sourceFiles; if not, then the shape of the AST can change, and the oldSourceFile // can not be reused. we have to dump all syntax trees and create new ones. @@ -165109,18 +167763,18 @@ var ts; // We do not support the scenario where a host can modify a registered // file's script kind, i.e. in one project some file is treated as ".ts" // and in another as ".js" - if (hostFileInformation.scriptKind === oldSourceFile.scriptKind) { - return documentRegistry.updateDocumentWithKey(fileName, path, host, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); + if (scriptKind === oldSourceFile.scriptKind) { + return documentRegistry.updateDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } else { // Release old source file and fall through to aquire new file with new script kind - documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, documentRegistry.getKeyForCompilationSettings(program.getCompilerOptions()), oldSourceFile.scriptKind); + documentRegistry.releaseDocumentWithKey(oldSourceFile.resolvedPath, documentRegistry.getKeyForCompilationSettings(program.getCompilerOptions()), oldSourceFile.scriptKind, oldSourceFile.impliedNodeFormat); } } // We didn't already have the file. Fall through and acquire it from the registry. } // Could not find this file in the old program, create a new SourceFile for it. - return documentRegistry.acquireDocumentWithKey(fileName, path, host, documentRegistryBucketKey, hostFileInformation.scriptSnapshot, hostFileInformation.version, hostFileInformation.scriptKind); + return documentRegistry.acquireDocumentWithKey(fileName, path, host, documentRegistryBucketKey, scriptSnapshot, scriptVersion, scriptKind, languageVersionOrOptions); } } // TODO: GH#18217 frequently asserted as defined @@ -165136,6 +167790,61 @@ var ts; var _a; return (_a = host.getPackageJsonAutoImportProvider) === null || _a === void 0 ? void 0 : _a.call(host); } + function updateIsDefinitionOfReferencedSymbols(referencedSymbols, knownSymbolSpans) { + var checker = program.getTypeChecker(); + var symbol = getSymbolForProgram(); + if (!symbol) + return false; + for (var _i = 0, referencedSymbols_1 = referencedSymbols; _i < referencedSymbols_1.length; _i++) { + var referencedSymbol = referencedSymbols_1[_i]; + for (var _a = 0, _b = referencedSymbol.references; _a < _b.length; _a++) { + var ref = _b[_a]; + var refNode = getNodeForSpan(ref); + ts.Debug.assertIsDefined(refNode); + if (knownSymbolSpans.has(ref) || ts.FindAllReferences.isDeclarationOfSymbol(refNode, symbol)) { + knownSymbolSpans.add(ref); + ref.isDefinition = true; + var mappedSpan = ts.getMappedDocumentSpan(ref, sourceMapper, ts.maybeBind(host, host.fileExists)); + if (mappedSpan) { + knownSymbolSpans.add(mappedSpan); + } + } + else { + ref.isDefinition = false; + } + } + } + return true; + function getSymbolForProgram() { + for (var _i = 0, referencedSymbols_2 = referencedSymbols; _i < referencedSymbols_2.length; _i++) { + var referencedSymbol = referencedSymbols_2[_i]; + for (var _a = 0, _b = referencedSymbol.references; _a < _b.length; _a++) { + var ref = _b[_a]; + if (knownSymbolSpans.has(ref)) { + var refNode = getNodeForSpan(ref); + ts.Debug.assertIsDefined(refNode); + return checker.getSymbolAtLocation(refNode); + } + var mappedSpan = ts.getMappedDocumentSpan(ref, sourceMapper, ts.maybeBind(host, host.fileExists)); + if (mappedSpan && knownSymbolSpans.has(mappedSpan)) { + var refNode = getNodeForSpan(mappedSpan); + if (refNode) { + return checker.getSymbolAtLocation(refNode); + } + } + } + } + return undefined; + } + function getNodeForSpan(docSpan) { + var sourceFile = program.getSourceFile(docSpan.fileName); + if (!sourceFile) + return undefined; + var rawNode = ts.getTouchingPropertyName(sourceFile, docSpan.textSpan.start); + var adjustedNode = ts.FindAllReferences.Core.getAdjustedNode(rawNode, { use: 1 /* FindAllReferences.FindReferencesUse.References */ }); + return adjustedNode; + } + } function cleanupSemanticCache() { program = undefined; // TODO: GH#18217 } @@ -165144,7 +167853,7 @@ var ts; // Use paths to ensure we are using correct key and paths as document registry could be created with different current directory than host var key_1 = documentRegistry.getKeyForCompilationSettings(program.getCompilerOptions()); ts.forEach(program.getSourceFiles(), function (f) { - return documentRegistry.releaseDocumentWithKey(f.resolvedPath, key_1, f.scriptKind); + return documentRegistry.releaseDocumentWithKey(f.resolvedPath, key_1, f.scriptKind, f.impliedNodeFormat); }); program = undefined; // TODO: GH#18217 } @@ -165932,9 +168641,9 @@ var ts; return ts.stringContains(path, "/node_modules/"); } } - function getRenameInfo(fileName, position, options) { + function getRenameInfo(fileName, position, preferences) { synchronizeHostData(); - return ts.Rename.getRenameInfo(program, getValidSourceFile(fileName), position, options); + return ts.Rename.getRenameInfo(program, getValidSourceFile(fileName), position, preferences || {}); } function getRefactorContext(file, positionOrRange, preferences, formatOptions, triggerReason, kind) { var _a = typeof positionOrRange === "number" ? [positionOrRange, undefined] : [positionOrRange.pos, positionOrRange.end], startPosition = _a[0], endPosition = _a[1]; @@ -166061,7 +168770,9 @@ var ts; getEmitOutput: getEmitOutput, getNonBoundSourceFile: getNonBoundSourceFile, getProgram: getProgram, + getCurrentProgram: function () { return program; }, getAutoImportProvider: getAutoImportProvider, + updateIsDefinitionOfReferencedSymbols: updateIsDefinitionOfReferencedSymbols, getApplicableRefactors: getApplicableRefactors, getEditsForRefactor: getEditsForRefactor, toLineColumnOffset: toLineColumnOffset, @@ -166213,7 +168924,7 @@ var ts; function getDefaultLibFilePath(options) { // Check __dirname is defined and that we are on a node.js system. if (typeof __dirname !== "undefined") { - return __dirname + ts.directorySeparator + ts.getDefaultLibFileName(options); + return ts.combinePaths(__dirname, ts.getDefaultLibFileName(options)); } throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. "); } @@ -166255,8 +168966,9 @@ var ts; // Get the span in the node based on its syntax return spanInNode(tokenAtLocation); function textSpan(startNode, endNode) { - var start = startNode.decorators ? - ts.skipTrivia(sourceFile.text, startNode.decorators.end) : + var lastDecorator = ts.canHaveDecorators(startNode) ? ts.findLast(startNode.modifiers, ts.isDecorator) : undefined; + var start = lastDecorator ? + ts.skipTrivia(sourceFile.text, lastDecorator.end) : startNode.getStart(sourceFile); return ts.createTextSpanFromBounds(start, (endNode || startNode).getEnd()); } @@ -166269,8 +168981,20 @@ var ts; } return spanInNode(otherwiseOnNode); } - function spanInNodeArray(nodeArray) { - return ts.createTextSpanFromBounds(ts.skipTrivia(sourceFile.text, nodeArray.pos), nodeArray.end); + function spanInNodeArray(nodeArray, node, match) { + if (nodeArray) { + var index = nodeArray.indexOf(node); + if (index >= 0) { + var start = index; + var end = index + 1; + while (start > 0 && match(nodeArray[start - 1])) + start--; + while (end < nodeArray.length && match(nodeArray[end])) + end++; + return ts.createTextSpanFromBounds(ts.skipTrivia(sourceFile.text, nodeArray[start].pos), nodeArray[end - 1].end); + } + } + return textSpan(node); } function spanInPreviousNode(node) { return spanInNode(ts.findPrecedingToken(node.pos, sourceFile)); @@ -166383,7 +169107,7 @@ var ts; // span in statement return spanInNode(node.statement); case 165 /* SyntaxKind.Decorator */: - return spanInNodeArray(parent.decorators); + return spanInNodeArray(parent.modifiers, node, ts.isDecorator); case 201 /* SyntaxKind.ObjectBindingPattern */: case 202 /* SyntaxKind.ArrayBindingPattern */: return spanInBindingPattern(node); @@ -166546,7 +169270,7 @@ var ts; } // Breakpoint is possible in variableDeclaration only if there is initialization // or its declaration from 'for of' - if (variableDeclaration.initializer || + if ((ts.hasOnlyExpressionInitializer(variableDeclaration) && variableDeclaration.initializer) || ts.hasSyntacticModifier(variableDeclaration, 1 /* ModifierFlags.Export */) || parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); @@ -167286,9 +170010,9 @@ var ts; var _this = this; return this.forwardJSONCall("getImplementationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getImplementationAtPosition(fileName, position); }); }; - LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position, options) { + LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position, preferences) { var _this = this; - return this.forwardJSONCall("getRenameInfo('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getRenameInfo(fileName, position, options); }); + return this.forwardJSONCall("getRenameInfo('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getRenameInfo(fileName, position, preferences); }); }; LanguageServiceShimObject.prototype.getSmartSelectionRange = function (fileName, position) { var _this = this; @@ -167513,7 +170237,8 @@ var ts; } return { resolvedFileName: resolvedFileName, - failedLookupLocations: result.failedLookupLocations + failedLookupLocations: result.failedLookupLocations, + affectingLocations: result.affectingLocations, }; }); }; @@ -167592,7 +170317,7 @@ var ts; if (_this.safeList === undefined) { _this.safeList = ts.JsTyping.loadSafeList(_this.host, ts.toPath(info.safeListPath, info.safeListPath, getCanonicalFileName)); } - return ts.JsTyping.discoverTypings(_this.host, function (msg) { return _this.logger.log(msg); }, info.fileNames, ts.toPath(info.projectRootPath, info.projectRootPath, getCanonicalFileName), _this.safeList, info.packageNameToTypingLocation, info.typeAcquisition, info.unresolvedImports, info.typesRegistry); + return ts.JsTyping.discoverTypings(_this.host, function (msg) { return _this.logger.log(msg); }, info.fileNames, ts.toPath(info.projectRootPath, info.projectRootPath, getCanonicalFileName), _this.safeList, info.packageNameToTypingLocation, info.typeAcquisition, info.unresolvedImports, info.typesRegistry, ts.emptyOptions); }); }; return CoreServicesShimObject; @@ -167714,23 +170439,80 @@ if (typeof process === "undefined" || process.browser) { if (typeof module !== "undefined" && module.exports) { module.exports = ts; } +// The following are deprecations for the public API. Deprecated exports are removed from the compiler itself +// and compatible implementations are added here, along with an appropriate deprecation warning using +// the `@deprecated` JSDoc tag as well as the `Debug.deprecate` API. +// +// Deprecations fall into one of three categories: +// +// - "soft" - Soft deprecations are indicated with the `@deprecated` JSDoc Tag. +// - "warn" - Warning deprecations are indicated with the `@deprecated` JSDoc Tag and a diagnostic message (assuming a compatible host). +// - "error" - Error deprecations are either indicated with the `@deprecated` JSDoc tag and will throw a `TypeError` when invoked, or removed from the API entirely. +// +// Once we have determined enough time has passed after a deprecation has been marked as `"warn"` or `"error"`, it will be removed from the public API. +/* @internal */ +var ts; +(function (ts) { + function createOverload(name, overloads, binder, deprecations) { + Object.defineProperty(call, "name", __assign(__assign({}, Object.getOwnPropertyDescriptor(call, "name")), { value: name })); + if (deprecations) { + for (var _i = 0, _a = Object.keys(deprecations); _i < _a.length; _i++) { + var key = _a[_i]; + var index = +key; + if (!isNaN(index) && ts.hasProperty(overloads, "".concat(index))) { + overloads[index] = ts.Debug.deprecate(overloads[index], __assign(__assign({}, deprecations[index]), { name: name })); + } + } + } + var bind = createBinder(overloads, binder); + return call; + function call() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var index = bind(args); + var fn = index !== undefined ? overloads[index] : undefined; + if (typeof fn === "function") { + return fn.apply(void 0, args); + } + throw new TypeError("Invalid arguments"); + } + } + ts.createOverload = createOverload; + function createBinder(overloads, binder) { + return function (args) { + for (var i = 0; ts.hasProperty(overloads, "".concat(i)) && ts.hasProperty(binder, "".concat(i)); i++) { + var fn = binder[i]; + if (fn(args)) { + return i; + } + } + }; + } + // NOTE: We only use this "builder" because we don't infer correctly when calling `createOverload` directly in < TS 4.7, + // but lib is currently at TS 4.4. We can switch to directly calling `createOverload` when we update LKG in main. + function buildOverload(name) { + return { + overload: function (overloads) { return ({ + bind: function (binder) { return ({ + finish: function () { return createOverload(name, overloads, binder); }, + deprecate: function (deprecations) { return ({ + finish: function () { return createOverload(name, overloads, binder, deprecations); } + }); } + }); } + }); } + }; + } + ts.buildOverload = buildOverload; +})(ts || (ts = {})); +// DEPRECATION: Node factory top-level exports +// DEPRECATION PLAN: +// - soft: 4.0 +// - warn: 4.1 +// - error: 5.0 var ts; (function (ts) { - // The following are deprecations for the public API. Deprecated exports are removed from the compiler itself - // and compatible implementations are added here, along with an appropriate deprecation warning using - // the `@deprecated` JSDoc tag as well as the `Debug.deprecate` API. - // - // Deprecations fall into one of three categories: - // - // * "soft" - Soft deprecations are indicated with the `@deprecated` JSDoc Tag. - // * "warn" - Warning deprecations are indicated with the `@deprecated` JSDoc Tag and a diagnostic message (assuming a compatible host) - // * "error" - Error deprecations are indicated with the `@deprecated` JSDoc tag and will throw a `TypeError` when invoked. - // DEPRECATION: Node factory top-level exports - // DEPRECATION PLAN: - // - soft: 4.0 - // - warn: 4.1 - // - error: TBD - // #region Node factory top-level exports // NOTE: These exports are deprecated in favor of using a `NodeFactory` instance and exist here purely for backwards compatibility reasons. var factoryDeprecation = { since: "4.0", warnAfter: "4.1", message: "Use the appropriate method on 'ts.factory' or the 'factory' supplied by your transformation context instead." }; /** @deprecated Use `factory.createNodeArray` or the factory supplied by your transformation context instead. */ @@ -168600,13 +171382,14 @@ var ts; ts.setParent(clone, node.parent); return clone; }, { since: "4.0", warnAfter: "4.1", message: "Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`." }); - // #endregion Node Factory top-level exports - // DEPRECATION: Renamed node tests - // DEPRECATION PLAN: - // - soft: 4.0 - // - warn: 4.1 - // - error: TBD - // #region Renamed node Tests +})(ts || (ts = {})); +// DEPRECATION: Renamed node tests +// DEPRECATION PLAN: +// - soft: 4.0 +// - warn: 4.1 +// - error: TBD +var ts; +(function (ts) { /** @deprecated Use `isTypeAssertionExpression` instead. */ ts.isTypeAssertion = ts.Debug.deprecate(function isTypeAssertion(node) { return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */; @@ -168615,13 +171398,14 @@ var ts; warnAfter: "4.1", message: "Use `isTypeAssertionExpression` instead." }); - // #endregion - // DEPRECATION: Renamed node tests - // DEPRECATION PLAN: - // - soft: 4.2 - // - warn: 4.3 - // - error: TBD - // #region Renamed node Tests +})(ts || (ts = {})); +// DEPRECATION: Renamed node tests +// DEPRECATION PLAN: +// - soft: 4.2 +// - warn: 4.3 +// - error: 5.0 +var ts; +(function (ts) { /** * @deprecated Use `isMemberName` instead. */ @@ -168632,8 +171416,1423 @@ var ts; warnAfter: "4.3", message: "Use `isMemberName` instead." }); - // #endregion Renamed node Tests +})(ts || (ts = {})); +// DEPRECATION: Overloads for createConstructorTypeNode/updateConstructorTypeNode that do not accept 'modifiers' +// DEPRECATION PLAN: +// - soft: 4.2 +// - warn: 4.3 +// - error: 5.0 +var ts; +(function (ts) { + function patchNodeFactory(factory) { + var createConstructorTypeNode = factory.createConstructorTypeNode, updateConstructorTypeNode = factory.updateConstructorTypeNode; + factory.createConstructorTypeNode = ts.buildOverload("createConstructorTypeNode") + .overload({ + 0: function (modifiers, typeParameters, parameters, type) { + return createConstructorTypeNode(modifiers, typeParameters, parameters, type); + }, + 1: function (typeParameters, parameters, type) { + return createConstructorTypeNode(/*modifiers*/ undefined, typeParameters, parameters, type); + }, + }) + .bind({ + 0: function (args) { return args.length === 4; }, + 1: function (args) { return args.length === 3; }, + }) + .deprecate({ + 1: { since: "4.2", warnAfter: "4.3", message: "Use the overload that accepts 'modifiers'" } + }) + .finish(); + factory.updateConstructorTypeNode = ts.buildOverload("updateConstructorTypeNode") + .overload({ + 0: function (node, modifiers, typeParameters, parameters, type) { + return updateConstructorTypeNode(node, modifiers, typeParameters, parameters, type); + }, + 1: function (node, typeParameters, parameters, type) { + return updateConstructorTypeNode(node, node.modifiers, typeParameters, parameters, type); + } + }) + .bind({ + 0: function (args) { return args.length === 5; }, + 1: function (args) { return args.length === 4; }, + }) + .deprecate({ + 1: { since: "4.2", warnAfter: "4.3", message: "Use the overload that accepts 'modifiers'" } + }) + .finish(); + } + // Patch `createNodeFactory` because it creates the factories that are provided to transformers + // in the public API. + var prevCreateNodeFactory = ts.createNodeFactory; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-qualifier + ts.createNodeFactory = function (flags, baseFactory) { + var factory = prevCreateNodeFactory(flags, baseFactory); + patchNodeFactory(factory); + return factory; + }; + // Patch `ts.factory` because its public + patchNodeFactory(ts.factory); +})(ts || (ts = {})); +// DEPRECATION: Overloads to createImportTypeNode/updateImportTypeNode that do not accept `assertions` +// DEPRECATION PLAN: +// - soft: 4.6 +// - warn: 4.7 +// - error: 5.0 +var ts; +(function (ts) { + function patchNodeFactory(factory) { + var createImportTypeNode = factory.createImportTypeNode, updateImportTypeNode = factory.updateImportTypeNode; + factory.createImportTypeNode = ts.buildOverload("createImportTypeNode") + .overload({ + 0: function (argument, assertions, qualifier, typeArguments, isTypeOf) { + return createImportTypeNode(argument, assertions, qualifier, typeArguments, isTypeOf); + }, + 1: function (argument, qualifier, typeArguments, isTypeOf) { + return createImportTypeNode(argument, /*assertions*/ undefined, qualifier, typeArguments, isTypeOf); + }, + }) + .bind({ + 0: function (_a) { + var assertions = _a[1], qualifier = _a[2], typeArguments = _a[3], isTypeOf = _a[4]; + return (assertions === undefined || ts.isImportTypeAssertionContainer(assertions)) && + (qualifier === undefined || !ts.isArray(qualifier)) && + (typeArguments === undefined || ts.isArray(typeArguments)) && + (isTypeOf === undefined || typeof isTypeOf === "boolean"); + }, + 1: function (_a) { + var qualifier = _a[1], typeArguments = _a[2], isTypeOf = _a[3], other = _a[4]; + return (other === undefined) && + (qualifier === undefined || ts.isEntityName(qualifier)) && + (typeArguments === undefined || ts.isArray(typeArguments)) && + (isTypeOf === undefined || typeof isTypeOf === "boolean"); + }, + }) + .deprecate({ + 1: { since: "4.6", warnAfter: "4.7", message: "Use the overload that accepts 'assertions'" } + }) + .finish(); + factory.updateImportTypeNode = ts.buildOverload("updateImportTypeNode") + .overload({ + 0: function (node, argument, assertions, qualifier, typeArguments, isTypeOf) { + return updateImportTypeNode(node, argument, assertions, qualifier, typeArguments, isTypeOf); + }, + 1: function (node, argument, qualifier, typeArguments, isTypeOf) { + return updateImportTypeNode(node, argument, node.assertions, qualifier, typeArguments, isTypeOf); + }, + }) + .bind({ + 0: function (_a) { + var assertions = _a[2], qualifier = _a[3], typeArguments = _a[4], isTypeOf = _a[5]; + return (assertions === undefined || ts.isImportTypeAssertionContainer(assertions)) && + (qualifier === undefined || !ts.isArray(qualifier)) && + (typeArguments === undefined || ts.isArray(typeArguments)) && + (isTypeOf === undefined || typeof isTypeOf === "boolean"); + }, + 1: function (_a) { + var qualifier = _a[2], typeArguments = _a[3], isTypeOf = _a[4], other = _a[5]; + return (other === undefined) && + (qualifier === undefined || ts.isEntityName(qualifier)) && + (typeArguments === undefined || ts.isArray(typeArguments)) && + (isTypeOf === undefined || typeof isTypeOf === "boolean"); + }, + }). + deprecate({ + 1: { since: "4.6", warnAfter: "4.7", message: "Use the overload that accepts 'assertions'" } + }) + .finish(); + } + // Patch `createNodeFactory` because it creates the factories that are provided to transformers + // in the public API. + var prevCreateNodeFactory = ts.createNodeFactory; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-qualifier + ts.createNodeFactory = function (flags, baseFactory) { + var factory = prevCreateNodeFactory(flags, baseFactory); + patchNodeFactory(factory); + return factory; + }; + // Patch `ts.factory` because its public + patchNodeFactory(ts.factory); +})(ts || (ts = {})); +// DEPRECATION: Overloads to createTypeParameter/updateTypeParameter that does not accept `modifiers` +// DEPRECATION PLAN: +// - soft: 4.7 +// - warn: 4.8 +// - error: 5.0 +var ts; +(function (ts) { + function patchNodeFactory(factory) { + var createTypeParameterDeclaration = factory.createTypeParameterDeclaration, updateTypeParameterDeclaration = factory.updateTypeParameterDeclaration; + factory.createTypeParameterDeclaration = ts.buildOverload("createTypeParameterDeclaration") + .overload({ + 0: function (modifiers, name, constraint, defaultType) { + return createTypeParameterDeclaration(modifiers, name, constraint, defaultType); + }, + 1: function (name, constraint, defaultType) { + return createTypeParameterDeclaration(/*modifiers*/ undefined, name, constraint, defaultType); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0]; + return (modifiers === undefined || ts.isArray(modifiers)); + }, + 1: function (_a) { + var name = _a[0]; + return (name !== undefined && !ts.isArray(name)); + }, + }) + .deprecate({ + 1: { since: "4.7", warnAfter: "4.8", message: "Use the overload that accepts 'modifiers'" } + }) + .finish(); + factory.updateTypeParameterDeclaration = ts.buildOverload("updateTypeParameterDeclaration") + .overload({ + 0: function (node, modifiers, name, constraint, defaultType) { + return updateTypeParameterDeclaration(node, modifiers, name, constraint, defaultType); + }, + 1: function (node, name, constraint, defaultType) { + return updateTypeParameterDeclaration(node, node.modifiers, name, constraint, defaultType); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1]; + return (modifiers === undefined || ts.isArray(modifiers)); + }, + 1: function (_a) { + var name = _a[1]; + return (name !== undefined && !ts.isArray(name)); + }, + }) + .deprecate({ + 1: { since: "4.7", warnAfter: "4.8", message: "Use the overload that accepts 'modifiers'" } + }) + .finish(); + } + // Patch `createNodeFactory` because it creates the factories that are provided to transformers + // in the public API. + var prevCreateNodeFactory = ts.createNodeFactory; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-qualifier + ts.createNodeFactory = function (flags, baseFactory) { + var factory = prevCreateNodeFactory(flags, baseFactory); + patchNodeFactory(factory); + return factory; + }; + // Patch `ts.factory` because its public + patchNodeFactory(ts.factory); +})(ts || (ts = {})); +// DEPRECATION: Deprecate passing `decorators` separate from `modifiers` +// DEPRECATION PLAN: +// - soft: 4.8 +// - warn: 4.9 +// - error: 5.0 +var ts; +(function (ts) { + var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload without a 'decorators' parameter." }; + var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload without a 'decorators' parameter." }; + var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload without the 'decorators' or 'modifiers' parameters." }; + function patchNodeFactory(factory) { + var createParameterDeclaration = factory.createParameterDeclaration, updateParameterDeclaration = factory.updateParameterDeclaration, createPropertyDeclaration = factory.createPropertyDeclaration, updatePropertyDeclaration = factory.updatePropertyDeclaration, createMethodDeclaration = factory.createMethodDeclaration, updateMethodDeclaration = factory.updateMethodDeclaration, createConstructorDeclaration = factory.createConstructorDeclaration, updateConstructorDeclaration = factory.updateConstructorDeclaration, createGetAccessorDeclaration = factory.createGetAccessorDeclaration, updateGetAccessorDeclaration = factory.updateGetAccessorDeclaration, createSetAccessorDeclaration = factory.createSetAccessorDeclaration, updateSetAccessorDeclaration = factory.updateSetAccessorDeclaration, createIndexSignature = factory.createIndexSignature, updateIndexSignature = factory.updateIndexSignature, createClassStaticBlockDeclaration = factory.createClassStaticBlockDeclaration, updateClassStaticBlockDeclaration = factory.updateClassStaticBlockDeclaration, createClassExpression = factory.createClassExpression, updateClassExpression = factory.updateClassExpression, createFunctionDeclaration = factory.createFunctionDeclaration, updateFunctionDeclaration = factory.updateFunctionDeclaration, createClassDeclaration = factory.createClassDeclaration, updateClassDeclaration = factory.updateClassDeclaration, createInterfaceDeclaration = factory.createInterfaceDeclaration, updateInterfaceDeclaration = factory.updateInterfaceDeclaration, createTypeAliasDeclaration = factory.createTypeAliasDeclaration, updateTypeAliasDeclaration = factory.updateTypeAliasDeclaration, createEnumDeclaration = factory.createEnumDeclaration, updateEnumDeclaration = factory.updateEnumDeclaration, createModuleDeclaration = factory.createModuleDeclaration, updateModuleDeclaration = factory.updateModuleDeclaration, createImportEqualsDeclaration = factory.createImportEqualsDeclaration, updateImportEqualsDeclaration = factory.updateImportEqualsDeclaration, createImportDeclaration = factory.createImportDeclaration, updateImportDeclaration = factory.updateImportDeclaration, createExportAssignment = factory.createExportAssignment, updateExportAssignment = factory.updateExportAssignment, createExportDeclaration = factory.createExportDeclaration, updateExportDeclaration = factory.updateExportDeclaration; + factory.createParameterDeclaration = ts.buildOverload("createParameterDeclaration") + .overload({ + 0: function (modifiers, dotDotDotToken, name, questionToken, type, initializer) { + return createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, type, initializer); + }, + 1: function (decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { + return createParameterDeclaration(ts.concatenate(decorators, modifiers), dotDotDotToken, name, questionToken, type, initializer); + }, + }) + .bind({ + 0: function (_a) { + var dotDotDotToken = _a[1], name = _a[2], questionToken = _a[3], type = _a[4], initializer = _a[5], other = _a[6]; + return (other === undefined) && + (dotDotDotToken === undefined || !ts.isArray(dotDotDotToken)) && + (name === undefined || typeof name === "string" || ts.isBindingName(name)) && + (questionToken === undefined || typeof questionToken === "object" && ts.isQuestionToken(questionToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + 1: function (_a) { + var modifiers = _a[1], dotDotDotToken = _a[2], name = _a[3], questionToken = _a[4], type = _a[5], initializer = _a[6]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (dotDotDotToken === undefined || typeof dotDotDotToken === "object" && ts.isDotDotDotToken(dotDotDotToken)) && + (name === undefined || typeof name === "string" || ts.isBindingName(name)) && + (questionToken === undefined || ts.isQuestionToken(questionToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.updateParameterDeclaration = ts.buildOverload("updateParameterDeclaration") + .overload({ + 0: function (node, modifiers, dotDotDotToken, name, questionToken, type, initializer) { + return updateParameterDeclaration(node, modifiers, dotDotDotToken, name, questionToken, type, initializer); + }, + 1: function (node, decorators, modifiers, dotDotDotToken, name, questionToken, type, initializer) { + return updateParameterDeclaration(node, ts.concatenate(decorators, modifiers), dotDotDotToken, name, questionToken, type, initializer); + }, + }) + .bind({ + 0: function (_a) { + var dotDotDotToken = _a[2], name = _a[3], questionToken = _a[4], type = _a[5], initializer = _a[6], other = _a[7]; + return (other === undefined) && + (dotDotDotToken === undefined || !ts.isArray(dotDotDotToken)) && + (name === undefined || typeof name === "string" || ts.isBindingName(name)) && + (questionToken === undefined || typeof questionToken === "object" && ts.isQuestionToken(questionToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + 1: function (_a) { + var modifiers = _a[2], dotDotDotToken = _a[3], name = _a[4], questionToken = _a[5], type = _a[6], initializer = _a[7]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (dotDotDotToken === undefined || typeof dotDotDotToken === "object" && ts.isDotDotDotToken(dotDotDotToken)) && + (name === undefined || typeof name === "string" || ts.isBindingName(name)) && + (questionToken === undefined || ts.isQuestionToken(questionToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.createPropertyDeclaration = ts.buildOverload("createPropertyDeclaration") + .overload({ + 0: function (modifiers, name, questionOrExclamationToken, type, initializer) { + return createPropertyDeclaration(modifiers, name, questionOrExclamationToken, type, initializer); + }, + 1: function (decorators, modifiers, name, questionOrExclamationToken, type, initializer) { + return createPropertyDeclaration(ts.concatenate(decorators, modifiers), name, questionOrExclamationToken, type, initializer); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[1], questionOrExclamationToken = _a[2], type = _a[3], initializer = _a[4], other = _a[5]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (questionOrExclamationToken === undefined || typeof questionOrExclamationToken === "object" && ts.isQuestionOrExclamationToken(questionOrExclamationToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + 1: function (_a) { + var modifiers = _a[1], name = _a[2], questionOrExclamationToken = _a[3], type = _a[4], initializer = _a[5]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || typeof name === "string" || ts.isPropertyName(name)) && + (questionOrExclamationToken === undefined || ts.isQuestionOrExclamationToken(questionOrExclamationToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.updatePropertyDeclaration = ts.buildOverload("updatePropertyDeclaration") + .overload({ + 0: function (node, modifiers, name, questionOrExclamationToken, type, initializer) { + return updatePropertyDeclaration(node, modifiers, name, questionOrExclamationToken, type, initializer); + }, + 1: function (node, decorators, modifiers, name, questionOrExclamationToken, type, initializer) { + return updatePropertyDeclaration(node, ts.concatenate(decorators, modifiers), name, questionOrExclamationToken, type, initializer); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[2], questionOrExclamationToken = _a[3], type = _a[4], initializer = _a[5], other = _a[6]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (questionOrExclamationToken === undefined || typeof questionOrExclamationToken === "object" && ts.isQuestionOrExclamationToken(questionOrExclamationToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + 1: function (_a) { + var modifiers = _a[2], name = _a[3], questionOrExclamationToken = _a[4], type = _a[5], initializer = _a[6]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || typeof name === "string" || ts.isPropertyName(name)) && + (questionOrExclamationToken === undefined || ts.isQuestionOrExclamationToken(questionOrExclamationToken)) && + (type === undefined || ts.isTypeNode(type)) && + (initializer === undefined || ts.isExpression(initializer)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.createMethodDeclaration = ts.buildOverload("createMethodDeclaration") + .overload({ + 0: function (modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { + return createMethodDeclaration(modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body); + }, + 1: function (decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { + return createMethodDeclaration(ts.concatenate(decorators, modifiers), asteriskToken, name, questionToken, typeParameters, parameters, type, body); + }, + }) + .bind({ + 0: function (_a) { + var asteriskToken = _a[1], name = _a[2], questionToken = _a[3], typeParameters = _a[4], parameters = _a[5], type = _a[6], body = _a[7], other = _a[8]; + return (other === undefined) && + (asteriskToken === undefined || !ts.isArray(asteriskToken)) && + (name === undefined || typeof name === "string" || ts.isPropertyName(name)) && + (questionToken === undefined || typeof questionToken === "object" && ts.isQuestionToken(questionToken)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (parameters === undefined || !ts.some(parameters, ts.isTypeParameterDeclaration)) && + (type === undefined || !ts.isArray(type)) && + (body === undefined || ts.isBlock(body)); + }, + 1: function (_a) { + var modifiers = _a[1], asteriskToken = _a[2], name = _a[3], questionToken = _a[4], typeParameters = _a[5], parameters = _a[6], type = _a[7], body = _a[8]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (asteriskToken === undefined || typeof asteriskToken === "object" && ts.isAsteriskToken(asteriskToken)) && + (name === undefined || typeof name === "string" || ts.isPropertyName(name)) && + (questionToken === undefined || !ts.isArray(questionToken)) && + (typeParameters === undefined || !ts.some(typeParameters, ts.isParameter)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.updateMethodDeclaration = ts.buildOverload("updateMethodDeclaration") + .overload({ + 0: function (node, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { + return updateMethodDeclaration(node, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body); + }, + 1: function (node, decorators, modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { + return updateMethodDeclaration(node, ts.concatenate(decorators, modifiers), asteriskToken, name, questionToken, typeParameters, parameters, type, body); + }, + }) + .bind({ + 0: function (_a) { + var asteriskToken = _a[2], name = _a[3], questionToken = _a[4], typeParameters = _a[5], parameters = _a[6], type = _a[7], body = _a[8], other = _a[9]; + return (other === undefined) && + (asteriskToken === undefined || !ts.isArray(asteriskToken)) && + (name === undefined || typeof name === "string" || ts.isPropertyName(name)) && + (questionToken === undefined || typeof questionToken === "object" && ts.isQuestionToken(questionToken)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (parameters === undefined || !ts.some(parameters, ts.isTypeParameterDeclaration)) && + (type === undefined || !ts.isArray(type)) && + (body === undefined || ts.isBlock(body)); + }, + 1: function (_a) { + var modifiers = _a[2], asteriskToken = _a[3], name = _a[4], questionToken = _a[5], typeParameters = _a[6], parameters = _a[7], type = _a[8], body = _a[9]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (asteriskToken === undefined || typeof asteriskToken === "object" && ts.isAsteriskToken(asteriskToken)) && + (name === undefined || typeof name === "string" || ts.isPropertyName(name)) && + (questionToken === undefined || !ts.isArray(questionToken)) && + (typeParameters === undefined || !ts.some(typeParameters, ts.isParameter)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.createConstructorDeclaration = ts.buildOverload("createConstructorDeclaration") + .overload({ + 0: function (modifiers, parameters, body) { + return createConstructorDeclaration(modifiers, parameters, body); + }, + 1: function (_decorators, modifiers, parameters, body) { + return createConstructorDeclaration(modifiers, parameters, body); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], parameters = _a[1], body = _a[2], other = _a[3]; + return (other === undefined) && + (modifiers === undefined || !ts.some(modifiers, ts.isDecorator)) && + (parameters === undefined || !ts.some(parameters, ts.isModifier)) && + (body === undefined || !ts.isArray(body)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], parameters = _a[2], body = _a[3]; + return (decorators === undefined || !ts.some(decorators, ts.isModifier)) && + (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) && + (parameters === undefined || ts.isArray(parameters)) && + (body === undefined || !ts.isBlock(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateConstructorDeclaration = ts.buildOverload("updateConstructorDeclaration") + .overload({ + 0: function (node, modifiers, parameters, body) { + return updateConstructorDeclaration(node, modifiers, parameters, body); + }, + 1: function (node, _decorators, modifiers, parameters, body) { + return updateConstructorDeclaration(node, modifiers, parameters, body); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], parameters = _a[2], body = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || !ts.some(modifiers, ts.isDecorator)) && + (parameters === undefined || !ts.some(parameters, ts.isModifier)) && + (body === undefined || !ts.isArray(body)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], parameters = _a[3], body = _a[4]; + return (decorators === undefined || !ts.some(decorators, ts.isModifier)) && + (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) && + (parameters === undefined || ts.isArray(parameters)) && + (body === undefined || !ts.isBlock(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createGetAccessorDeclaration = ts.buildOverload("createGetAccessorDeclaration") + .overload({ + 0: function (modifiers, name, parameters, type, body) { + return createGetAccessorDeclaration(modifiers, name, parameters, type, body); + }, + 1: function (decorators, modifiers, name, parameters, type, body) { + return createGetAccessorDeclaration(ts.concatenate(decorators, modifiers), name, parameters, type, body); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[1], parameters = _a[2], type = _a[3], body = _a[4], other = _a[5]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || !ts.isArray(type)) && + (body === undefined || ts.isBlock(body)); + }, + 1: function (_a) { + var modifiers = _a[1], name = _a[2], parameters = _a[3], type = _a[4], body = _a[5]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.updateGetAccessorDeclaration = ts.buildOverload("updateGetAccessorDeclaration") + .overload({ + 0: function (node, modifiers, name, parameters, type, body) { + return updateGetAccessorDeclaration(node, modifiers, name, parameters, type, body); + }, + 1: function (node, decorators, modifiers, name, parameters, type, body) { + return updateGetAccessorDeclaration(node, ts.concatenate(decorators, modifiers), name, parameters, type, body); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[2], parameters = _a[3], type = _a[4], body = _a[5], other = _a[6]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || !ts.isArray(type)) && + (body === undefined || ts.isBlock(body)); + }, + 1: function (_a) { + var modifiers = _a[2], name = _a[3], parameters = _a[4], type = _a[5], body = _a[6]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.createSetAccessorDeclaration = ts.buildOverload("createSetAccessorDeclaration") + .overload({ + 0: function (modifiers, name, parameters, body) { + return createSetAccessorDeclaration(modifiers, name, parameters, body); + }, + 1: function (decorators, modifiers, name, parameters, body) { + return createSetAccessorDeclaration(ts.concatenate(decorators, modifiers), name, parameters, body); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[1], parameters = _a[2], body = _a[3], other = _a[4]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (body === undefined || !ts.isArray(body)); + }, + 1: function (_a) { + var modifiers = _a[1], name = _a[2], parameters = _a[3], body = _a[4]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.updateSetAccessorDeclaration = ts.buildOverload("updateSetAccessorDeclaration") + .overload({ + 0: function (node, modifiers, name, parameters, body) { + return updateSetAccessorDeclaration(node, modifiers, name, parameters, body); + }, + 1: function (node, decorators, modifiers, name, parameters, body) { + return updateSetAccessorDeclaration(node, ts.concatenate(decorators, modifiers), name, parameters, body); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[2], parameters = _a[3], body = _a[4], other = _a[5]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (body === undefined || !ts.isArray(body)); + }, + 1: function (_a) { + var modifiers = _a[2], name = _a[3], parameters = _a[4], body = _a[5]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (parameters === undefined || ts.isArray(parameters)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.createIndexSignature = ts.buildOverload("createIndexSignature") + .overload({ + 0: function (modifiers, parameters, type) { + return createIndexSignature(modifiers, parameters, type); + }, + 1: function (_decorators, modifiers, parameters, type) { + return createIndexSignature(modifiers, parameters, type); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], parameters = _a[1], type = _a[2], other = _a[3]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (parameters === undefined || ts.every(parameters, ts.isParameter)) && + (type === undefined || !ts.isArray(type)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], parameters = _a[2], type = _a[3]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateIndexSignature = ts.buildOverload("updateIndexSignature") + .overload({ + 0: function (node, modifiers, parameters, type) { + return updateIndexSignature(node, modifiers, parameters, type); + }, + 1: function (node, _decorators, modifiers, parameters, type) { + return updateIndexSignature(node, modifiers, parameters, type); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], parameters = _a[2], type = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (parameters === undefined || ts.every(parameters, ts.isParameter)) && + (type === undefined || !ts.isArray(type)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], parameters = _a[3], type = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createClassStaticBlockDeclaration = ts.buildOverload("createClassStaticBlockDeclaration") + .overload({ + 0: function (body) { + return createClassStaticBlockDeclaration(body); + }, + 1: function (_decorators, _modifiers, body) { + return createClassStaticBlockDeclaration(body); + }, + }) + .bind({ + 0: function (_a) { + var body = _a[0], other1 = _a[1], other2 = _a[2]; + return (other1 === undefined) && + (other2 === undefined) && + (body === undefined || !ts.isArray(body)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], body = _a[2]; + return (decorators === undefined || ts.isArray(decorators)) && + (modifiers === undefined || ts.isArray(decorators)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS_AND_MODIFIERS + }) + .finish(); + factory.updateClassStaticBlockDeclaration = ts.buildOverload("updateClassStaticBlockDeclaration") + .overload({ + 0: function (node, body) { + return updateClassStaticBlockDeclaration(node, body); + }, + 1: function (node, _decorators, _modifiers, body) { + return updateClassStaticBlockDeclaration(node, body); + }, + }) + .bind({ + 0: function (_a) { + var body = _a[1], other1 = _a[2], other2 = _a[3]; + return (other1 === undefined) && + (other2 === undefined) && + (body === undefined || !ts.isArray(body)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], body = _a[3]; + return (decorators === undefined || ts.isArray(decorators)) && + (modifiers === undefined || ts.isArray(decorators)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS_AND_MODIFIERS + }) + .finish(); + factory.createClassExpression = ts.buildOverload("createClassExpression") + .overload({ + 0: function (modifiers, name, typeParameters, heritageClauses, members) { + return createClassExpression(modifiers, name, typeParameters, heritageClauses, members); + }, + 1: function (decorators, modifiers, name, typeParameters, heritageClauses, members) { + return createClassExpression(ts.concatenate(decorators, modifiers), name, typeParameters, heritageClauses, members); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[1], typeParameters = _a[2], heritageClauses = _a[3], members = _a[4], other = _a[5]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isClassElement)); + }, + 1: function (_a) { + var modifiers = _a[1], name = _a[2], typeParameters = _a[3], heritageClauses = _a[4], members = _a[5]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.isArray(members)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateClassExpression = ts.buildOverload("updateClassExpression") + .overload({ + 0: function (node, modifiers, name, typeParameters, heritageClauses, members) { + return updateClassExpression(node, modifiers, name, typeParameters, heritageClauses, members); + }, + 1: function (node, decorators, modifiers, name, typeParameters, heritageClauses, members) { + return updateClassExpression(node, ts.concatenate(decorators, modifiers), name, typeParameters, heritageClauses, members); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[2], typeParameters = _a[3], heritageClauses = _a[4], members = _a[5], other = _a[6]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isClassElement)); + }, + 1: function (_a) { + var modifiers = _a[2], name = _a[3], typeParameters = _a[4], heritageClauses = _a[5], members = _a[6]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.isArray(members)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createFunctionDeclaration = ts.buildOverload("createFunctionDeclaration") + .overload({ + 0: function (modifiers, asteriskToken, name, typeParameters, parameters, type, body) { + return createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body); + }, + 1: function (_decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { + return createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body); + }, + }) + .bind({ + 0: function (_a) { + var asteriskToken = _a[1], name = _a[2], typeParameters = _a[3], parameters = _a[4], type = _a[5], body = _a[6], other = _a[7]; + return (other === undefined) && + (asteriskToken === undefined || !ts.isArray(asteriskToken)) && + (name === undefined || typeof name === "string" || ts.isIdentifier(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (parameters === undefined || ts.every(parameters, ts.isParameter)) && + (type === undefined || !ts.isArray(type)) && + (body === undefined || ts.isBlock(body)); + }, + 1: function (_a) { + var modifiers = _a[1], asteriskToken = _a[2], name = _a[3], typeParameters = _a[4], parameters = _a[5], type = _a[6], body = _a[7]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (asteriskToken === undefined || typeof asteriskToken !== "string" && ts.isAsteriskToken(asteriskToken)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateFunctionDeclaration = ts.buildOverload("updateFunctionDeclaration") + .overload({ + 0: function (node, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { + return updateFunctionDeclaration(node, modifiers, asteriskToken, name, typeParameters, parameters, type, body); + }, + 1: function (node, _decorators, modifiers, asteriskToken, name, typeParameters, parameters, type, body) { + return updateFunctionDeclaration(node, modifiers, asteriskToken, name, typeParameters, parameters, type, body); + }, + }) + .bind({ + 0: function (_a) { + var asteriskToken = _a[2], name = _a[3], typeParameters = _a[4], parameters = _a[5], type = _a[6], body = _a[7], other = _a[8]; + return (other === undefined) && + (asteriskToken === undefined || !ts.isArray(asteriskToken)) && + (name === undefined || ts.isIdentifier(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (parameters === undefined || ts.every(parameters, ts.isParameter)) && + (type === undefined || !ts.isArray(type)) && + (body === undefined || ts.isBlock(body)); + }, + 1: function (_a) { + var modifiers = _a[2], asteriskToken = _a[3], name = _a[4], typeParameters = _a[5], parameters = _a[6], type = _a[7], body = _a[8]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (asteriskToken === undefined || typeof asteriskToken !== "string" && ts.isAsteriskToken(asteriskToken)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (parameters === undefined || ts.isArray(parameters)) && + (type === undefined || ts.isTypeNode(type)) && + (body === undefined || ts.isBlock(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createClassDeclaration = ts.buildOverload("createClassDeclaration") + .overload({ + 0: function (modifiers, name, typeParameters, heritageClauses, members) { + return createClassDeclaration(modifiers, name, typeParameters, heritageClauses, members); + }, + 1: function (decorators, modifiers, name, typeParameters, heritageClauses, members) { + return createClassDeclaration(ts.concatenate(decorators, modifiers), name, typeParameters, heritageClauses, members); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[1], typeParameters = _a[2], heritageClauses = _a[3], members = _a[4], other = _a[5]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isClassElement)); + }, + 1: function () { return true; }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.updateClassDeclaration = ts.buildOverload("updateClassDeclaration") + .overload({ + 0: function (node, modifiers, name, typeParameters, heritageClauses, members) { + return updateClassDeclaration(node, modifiers, name, typeParameters, heritageClauses, members); + }, + 1: function (node, decorators, modifiers, name, typeParameters, heritageClauses, members) { + return updateClassDeclaration(node, ts.concatenate(decorators, modifiers), name, typeParameters, heritageClauses, members); + }, + }) + .bind({ + 0: function (_a) { + var name = _a[2], typeParameters = _a[3], heritageClauses = _a[4], members = _a[5], other = _a[6]; + return (other === undefined) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isClassElement)); + }, + 1: function (_a) { + var modifiers = _a[2], name = _a[3], typeParameters = _a[4], heritageClauses = _a[5], members = _a[6]; + return (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.isArray(members)); + }, + }) + .deprecate({ + 1: MUST_MERGE + }) + .finish(); + factory.createInterfaceDeclaration = ts.buildOverload("createInterfaceDeclaration") + .overload({ + 0: function (modifiers, name, typeParameters, heritageClauses, members) { + return createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members); + }, + 1: function (_decorators, modifiers, name, typeParameters, heritageClauses, members) { + return createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], name = _a[1], typeParameters = _a[2], heritageClauses = _a[3], members = _a[4], other = _a[5]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isTypeElement)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], name = _a[2], typeParameters = _a[3], heritageClauses = _a[4], members = _a[5]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isTypeElement)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateInterfaceDeclaration = ts.buildOverload("updateInterfaceDeclaration") + .overload({ + 0: function (node, modifiers, name, typeParameters, heritageClauses, members) { + return updateInterfaceDeclaration(node, modifiers, name, typeParameters, heritageClauses, members); + }, + 1: function (node, _decorators, modifiers, name, typeParameters, heritageClauses, members) { + return updateInterfaceDeclaration(node, modifiers, name, typeParameters, heritageClauses, members); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], name = _a[2], typeParameters = _a[3], heritageClauses = _a[4], members = _a[5], other = _a[6]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isTypeElement)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], name = _a[3], typeParameters = _a[4], heritageClauses = _a[5], members = _a[6]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.every(typeParameters, ts.isTypeParameterDeclaration)) && + (heritageClauses === undefined || ts.every(heritageClauses, ts.isHeritageClause)) && + (members === undefined || ts.every(members, ts.isTypeElement)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createTypeAliasDeclaration = ts.buildOverload("createTypeAliasDeclaration") + .overload({ + 0: function (modifiers, name, typeParameters, type) { + return createTypeAliasDeclaration(modifiers, name, typeParameters, type); + }, + 1: function (_decorators, modifiers, name, typeParameters, type) { + return createTypeAliasDeclaration(modifiers, name, typeParameters, type); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], name = _a[1], typeParameters = _a[2], type = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (type === undefined || !ts.isArray(type)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], name = _a[2], typeParameters = _a[3], type = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (type === undefined || ts.isTypeNode(type)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateTypeAliasDeclaration = ts.buildOverload("updateTypeAliasDeclaration") + .overload({ + 0: function (node, modifiers, name, typeParameters, type) { + return updateTypeAliasDeclaration(node, modifiers, name, typeParameters, type); + }, + 1: function (node, _decorators, modifiers, name, typeParameters, type) { + return updateTypeAliasDeclaration(node, modifiers, name, typeParameters, type); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], name = _a[2], typeParameters = _a[3], type = _a[4], other = _a[5]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (type === undefined || !ts.isArray(type)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], name = _a[3], typeParameters = _a[4], type = _a[5]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (typeParameters === undefined || ts.isArray(typeParameters)) && + (type === undefined || ts.isTypeNode(type)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createEnumDeclaration = ts.buildOverload("createEnumDeclaration") + .overload({ + 0: function (modifiers, name, members) { + return createEnumDeclaration(modifiers, name, members); + }, + 1: function (_decorators, modifiers, name, members) { + return createEnumDeclaration(modifiers, name, members); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], name = _a[1], members = _a[2], other = _a[3]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (members === undefined || ts.isArray(members)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], name = _a[2], members = _a[3]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (members === undefined || ts.isArray(members)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateEnumDeclaration = ts.buildOverload("updateEnumDeclaration") + .overload({ + 0: function (node, modifiers, name, members) { + return updateEnumDeclaration(node, modifiers, name, members); + }, + 1: function (node, _decorators, modifiers, name, members) { + return updateEnumDeclaration(node, modifiers, name, members); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], name = _a[2], members = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (members === undefined || ts.isArray(members)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], name = _a[3], members = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name === undefined || !ts.isArray(name)) && + (members === undefined || ts.isArray(members)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createModuleDeclaration = ts.buildOverload("createModuleDeclaration") + .overload({ + 0: function (modifiers, name, body, flags) { + return createModuleDeclaration(modifiers, name, body, flags); + }, + 1: function (_decorators, modifiers, name, body, flags) { + return createModuleDeclaration(modifiers, name, body, flags); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], name = _a[1], body = _a[2], flags = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name !== undefined && !ts.isArray(name)) && + (body === undefined || ts.isModuleBody(body)) && + (flags === undefined || typeof flags === "number"); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], name = _a[2], body = _a[3], flags = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name !== undefined && ts.isModuleName(name)) && + (body === undefined || typeof body === "object") && + (flags === undefined || typeof flags === "number"); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateModuleDeclaration = ts.buildOverload("updateModuleDeclaration") + .overload({ + 0: function (node, modifiers, name, body) { + return updateModuleDeclaration(node, modifiers, name, body); + }, + 1: function (node, _decorators, modifiers, name, body) { + return updateModuleDeclaration(node, modifiers, name, body); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], name = _a[2], body = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (name === undefined || !ts.isArray(name)) && + (body === undefined || ts.isModuleBody(body)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], name = _a[3], body = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (name !== undefined && ts.isModuleName(name)) && + (body === undefined || ts.isModuleBody(body)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createImportEqualsDeclaration = ts.buildOverload("createImportEqualsDeclaration") + .overload({ + 0: function (modifiers, isTypeOnly, name, moduleReference) { + return createImportEqualsDeclaration(modifiers, isTypeOnly, name, moduleReference); + }, + 1: function (_decorators, modifiers, isTypeOnly, name, moduleReference) { + return createImportEqualsDeclaration(modifiers, isTypeOnly, name, moduleReference); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], isTypeOnly = _a[1], name = _a[2], moduleReference = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (isTypeOnly === undefined || typeof isTypeOnly === "boolean") && + (typeof name !== "boolean") && + (typeof moduleReference !== "string"); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], isTypeOnly = _a[2], name = _a[3], moduleReference = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (isTypeOnly === undefined || typeof isTypeOnly === "boolean") && + (typeof name === "string" || ts.isIdentifier(name)) && + (moduleReference !== undefined && ts.isModuleReference(moduleReference)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateImportEqualsDeclaration = ts.buildOverload("updateImportEqualsDeclaration") + .overload({ + 0: function (node, modifiers, isTypeOnly, name, moduleReference) { + return updateImportEqualsDeclaration(node, modifiers, isTypeOnly, name, moduleReference); + }, + 1: function (node, _decorators, modifiers, isTypeOnly, name, moduleReference) { + return updateImportEqualsDeclaration(node, modifiers, isTypeOnly, name, moduleReference); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], isTypeOnly = _a[2], name = _a[3], moduleReference = _a[4], other = _a[5]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (isTypeOnly === undefined || typeof isTypeOnly === "boolean") && + (typeof name !== "boolean") && + (typeof moduleReference !== "string"); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], isTypeOnly = _a[3], name = _a[4], moduleReference = _a[5]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (isTypeOnly === undefined || typeof isTypeOnly === "boolean") && + (typeof name === "string" || ts.isIdentifier(name)) && + (moduleReference !== undefined && ts.isModuleReference(moduleReference)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createImportDeclaration = ts.buildOverload("createImportDeclaration") + .overload({ + 0: function (modifiers, importClause, moduleSpecifier, assertClause) { + return createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause); + }, + 1: function (_decorators, modifiers, importClause, moduleSpecifier, assertClause) { + return createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], importClause = _a[1], moduleSpecifier = _a[2], assertClause = _a[3], other = _a[4]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (importClause === undefined || !ts.isArray(importClause)) && + (moduleSpecifier !== undefined && ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], importClause = _a[2], moduleSpecifier = _a[3], assertClause = _a[4]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (importClause === undefined || ts.isImportClause(importClause)) && + (moduleSpecifier !== undefined && ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateImportDeclaration = ts.buildOverload("updateImportDeclaration") + .overload({ + 0: function (node, modifiers, importClause, moduleSpecifier, assertClause) { + return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); + }, + 1: function (node, _decorators, modifiers, importClause, moduleSpecifier, assertClause) { + return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], importClause = _a[2], moduleSpecifier = _a[3], assertClause = _a[4], other = _a[5]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (importClause === undefined || !ts.isArray(importClause)) && + (moduleSpecifier === undefined || ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], importClause = _a[3], moduleSpecifier = _a[4], assertClause = _a[5]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (importClause === undefined || ts.isImportClause(importClause)) && + (moduleSpecifier !== undefined && ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createExportAssignment = ts.buildOverload("createExportAssignment") + .overload({ + 0: function (modifiers, isExportEquals, expression) { + return createExportAssignment(modifiers, isExportEquals, expression); + }, + 1: function (_decorators, modifiers, isExportEquals, expression) { + return createExportAssignment(modifiers, isExportEquals, expression); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], isExportEquals = _a[1], expression = _a[2], other = _a[3]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (isExportEquals === undefined || typeof isExportEquals === "boolean") && + (typeof expression === "object"); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], isExportEquals = _a[2], expression = _a[3]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (isExportEquals === undefined || typeof isExportEquals === "boolean") && + (expression !== undefined && ts.isExpression(expression)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateExportAssignment = ts.buildOverload("updateExportAssignment") + .overload({ + 0: function (node, modifiers, expression) { + return updateExportAssignment(node, modifiers, expression); + }, + 1: function (node, _decorators, modifiers, expression) { + return updateExportAssignment(node, modifiers, expression); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], expression = _a[2], other = _a[3]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (expression !== undefined && !ts.isArray(expression)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], expression = _a[3]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (expression !== undefined && ts.isExpression(expression)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.createExportDeclaration = ts.buildOverload("createExportDeclaration") + .overload({ + 0: function (modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { + return createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); + }, + 1: function (_decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { + return createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[0], isTypeOnly = _a[1], exportClause = _a[2], moduleSpecifier = _a[3], assertClause = _a[4], other = _a[5]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (typeof isTypeOnly === "boolean") && + (typeof exportClause !== "boolean") && + (moduleSpecifier === undefined || ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + 1: function (_a) { + var decorators = _a[0], modifiers = _a[1], isTypeOnly = _a[2], exportClause = _a[3], moduleSpecifier = _a[4], assertClause = _a[5]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (typeof isTypeOnly === "boolean") && + (exportClause === undefined || ts.isNamedExportBindings(exportClause)) && + (moduleSpecifier === undefined || ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + factory.updateExportDeclaration = ts.buildOverload("updateExportDeclaration") + .overload({ + 0: function (node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { + return updateExportDeclaration(node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); + }, + 1: function (node, _decorators, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { + return updateExportDeclaration(node, modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); + }, + }) + .bind({ + 0: function (_a) { + var modifiers = _a[1], isTypeOnly = _a[2], exportClause = _a[3], moduleSpecifier = _a[4], assertClause = _a[5], other = _a[6]; + return (other === undefined) && + (modifiers === undefined || ts.every(modifiers, ts.isModifier)) && + (typeof isTypeOnly === "boolean") && + (typeof exportClause !== "boolean") && + (moduleSpecifier === undefined || ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + 1: function (_a) { + var decorators = _a[1], modifiers = _a[2], isTypeOnly = _a[3], exportClause = _a[4], moduleSpecifier = _a[5], assertClause = _a[6]; + return (decorators === undefined || ts.every(decorators, ts.isDecorator)) && + (modifiers === undefined || ts.isArray(modifiers)) && + (typeof isTypeOnly === "boolean") && + (exportClause === undefined || ts.isNamedExportBindings(exportClause)) && + (moduleSpecifier === undefined || ts.isExpression(moduleSpecifier)) && + (assertClause === undefined || ts.isAssertClause(assertClause)); + }, + }) + .deprecate({ + 1: DISALLOW_DECORATORS + }) + .finish(); + } + // Patch `createNodeFactory` because it creates the factories that are provided to transformers + // in the public API. + var prevCreateNodeFactory = ts.createNodeFactory; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-qualifier + ts.createNodeFactory = function (flags, baseFactory) { + var factory = prevCreateNodeFactory(flags, baseFactory); + patchNodeFactory(factory); + return factory; + }; + // Patch `ts.factory` because its public + patchNodeFactory(ts.factory); +})(ts || (ts = {})); +/* @internal */ +var ts; +(function (ts) { + if (typeof console !== "undefined") { + ts.Debug.loggingHost = { + log: function (level, s) { + switch (level) { + case ts.LogLevel.Error: return console.error(s); + case ts.LogLevel.Warning: return console.warn(s); + case ts.LogLevel.Info: return console.log(s); + case ts.LogLevel.Verbose: return console.log(s); + } + } + }; + } })(ts || (ts = {})); -//# sourceMappingURL=typescript.js.map +//# sourceMappingURL=typescript.js.map \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 89d65f2e5ccf..06067a253fd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.1.2.tgz#b23df533791fdc90e856afe032787655f501f19d" - integrity sha512-MwsoAQP2MpxxjX4Jf3SNWEL/gggzT3nRyQR63Z/Z2yNKIzAA62QndDAn6C0aKOiZDOyDhH6LXGn6hAH7fTDsfA== +"@angular/animations@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.2.0-rc.0.tgz#b5a9e9acef68d2dd66172d82cc998822964903f3" + integrity sha512-taWD6Y8/LzPTz31DyudbHKwPydE80RNIlHVdz3GnIfpSHs0AT49hni9UeLsPL7DXkwsrhYJ/6S4BjULQSiwDQA== dependencies: tslib "^2.3.0" @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2": version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" - uid "08f0188fccf98139207fbd5e683533950e9068e2" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2" dependencies: "@angular-devkit/build-angular" "14.2.0-next.0" @@ -165,19 +164,19 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/cdk@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.1.2.tgz#0f046241e51167534718cebf63abdc35408ad972" - integrity sha512-hJMhQmWWXTgwUa51OvEUgSATduEILCmGXpbsvC+REMMOo9rTd3u+cfrJW9OKl7Weq86VhKQ0WSfbn3MVyhUVBg== +"@angular/cdk@14.2.0-next.2": + version "14.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.0-next.2.tgz#30ed3305c6984dadfe5a7305bcd956b427c4a226" + integrity sha512-jmdYDJZuFFcBX5HRdfZRxJyDidFGyjnQS90/bJt7Etwf6/8czINO6gtxc/sIyV0R6UOI+rz6boB5iRuCUE1KXQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.1.2.tgz#8471e2eb1267e80cc55d518260c68c7dbf3612d1" - integrity sha512-ukj/BAF3cH8IDrrMt7MLjosKst005YGD0EpLNpdTNdHN8NrF3OrEYyR7YR7obrucjJ8fowsz9V7a8OrNrHaS4w== +"@angular/common@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.2.0-rc.0.tgz#583dfcc93a62982f5cfcae34a01885f741e7ed04" + integrity sha512-NvJenAMu+1fhxJxviU1olnyMvAR0V327Ce80TtnjGiL+3jxi1jPudxinSYO4tV2iGZgPCSVWp44K3HJ/+C1QnQ== dependencies: tslib "^2.3.0" @@ -197,6 +196,22 @@ tslib "^2.3.0" yargs "^17.2.1" +"@angular/compiler-cli@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.2.0-rc.0.tgz#cf166045b2047039e6b933491ea82a31b37ea25a" + integrity sha512-wH8HUZlJaOgspwIge5T2+xfMqCZ3FXKvsqxm7ebafdC1/527b0rrZcu3hxqxrQYD0qqueAD9s5sU9cPbp/tiLg== + dependencies: + "@babel/core" "^7.17.2" + chokidar "^3.0.0" + convert-source-map "^1.5.1" + dependency-graph "^0.11.0" + magic-string "^0.26.0" + reflect-metadata "^0.1.2" + semver "^7.0.0" + sourcemap-codec "^1.4.8" + tslib "^2.3.0" + yargs "^17.2.1" + "@angular/compiler@14.1.2": version "14.1.2" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.2.tgz#3174fd78accee67358aa62e64492f5f7f3d6b512" @@ -204,78 +219,91 @@ dependencies: tslib "^2.3.0" -"@angular/core@14.1.2", "@angular/core@^13.0.0 || ^14.0.0-0": +"@angular/compiler@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.2.0-rc.0.tgz#c6807fe9631f8d26ee32315203d1307af3cafcef" + integrity sha512-aHn4byWuzjdItORRaR5pjmsXiSv97nv9S6M74ETOpMQbLGlkx/VHL4125APXg0rR+deHeyEn9rHLX1szaajv4Q== + dependencies: + tslib "^2.3.0" + +"@angular/core@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.0-rc.0.tgz#7f83456b63196f67afbc8fde85e3183e59e89c54" + integrity sha512-WVV9LNlsidackk71Tso2i1BDyQ2RinLSjlDE9ZkLbwMEFZ9kKBXz9/d61JGGYTO9kjOWbKUVU4NNeYcoNjlZ6g== + dependencies: + tslib "^2.3.0" + +"@angular/core@^13.0.0 || ^14.0.0-0": version "14.1.2" resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.2.tgz#1defacaad7494a8dca9e9ba1d4c1fe46009d9e4a" integrity sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow== dependencies: tslib "^2.3.0" -"@angular/forms@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.1.2.tgz#b141726d74fa41a08eba6e0787460cdbee41a9d2" - integrity sha512-9qXbYVo3mgz7SiSZzt5y/SonccASLKr8HSLlTGwnXKHlBAWA4tgdAR5Dqs+rKpoJI8VRF29Cu76fqytl60tCVA== +"@angular/forms@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.2.0-rc.0.tgz#1c2eb1af63bc53a7e4ea9acfeedf2656a0b00a85" + integrity sha512-lD+Vxkj0zkcFSbd3+16L9k8gdim50kNLseOVlO1Cw6pwA/pz0jpAzRF3m2MZt13EApg7iH4ApJhwK2ooZ+f+Dw== dependencies: tslib "^2.3.0" -"@angular/localize@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.1.2.tgz#b7dad4d94a895cfae45b4704c2a1f0b1adaa33f4" - integrity sha512-4qktWELw9W3DRqbFasUGXmq4i66shprNp+4G05b6V/sLsy9DnRtPL9tiwqhBS6kwFYLlcsbGqTfCSHgOtBVUeA== +"@angular/localize@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.2.0-rc.0.tgz#a8ca71922e33616edf7678029ec74f7ce03c3de5" + integrity sha512-fs32HBXzdzSXwYcq143J6/4prXhWRHuwdXSJgtcfp1SWNPtzqUgWObB/ulTOvxmb3J48TXbP3XrH3J50PX5J9g== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.1.2.tgz#4754f08755a5d0ae34553bf773ea0d50018e8ddb" - integrity sha512-riDaeOFF+fzjOxeWlqtVAT7lHlqoyzxE24Z7r7qyYriU+EndfEfOv9XQFup5BkqvDvzN9My+1vI562caWM3nfQ== +"@angular/material@14.2.0-next.2": + version "14.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.0-next.2.tgz#1a332074f3420f8e71dee24d906f56a09a23dec6" + integrity sha512-GiqIWmqo8KjqGWBzrNLPl+dL4PQ72zw5UVHVQKTO9av0Qrinln3WKqb14Uc84BxWX4YPmkUWhC18XdYaiZ+/ug== dependencies: tslib "^2.3.0" "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4": version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" - uid a9d380df54092930c4eabbab114c29ac125759f4 resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" -"@angular/platform-browser-dynamic@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.2.tgz#b3fa484fd8c562408e5725d76062d5f7f2d8c049" - integrity sha512-+xzFB1WwjMWaRafk41PEJcwLuzKyZ3SeMlEX2lsrRPySX446YGqdyEyvvpzmbSLwOlcERxTT6Q1j8QYgFKjDSg== +"@angular/platform-browser-dynamic@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.0-rc.0.tgz#eeeb6581416d584f44d69c2934614a31486be132" + integrity sha512-xumsXqZfKZkfEOTZRZHcLimW8V6i15fKiykgEfbnqfexaNVuqA5Kj7TjIuvMEvSLotTVKgGQ3m/InXfQyJ8qnA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.1.2.tgz#7667e8a9dbe514282e493b863fc6f85568077146" - integrity sha512-rxkAEeacnAkWKoyjteldy5/ECOo5wyq9qJwFSXyX8bZJWh9e4d/FzZfTl4Ctk5+Cqm+2GmhBwAYaaIxpo9EgbA== +"@angular/platform-browser@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.2.0-rc.0.tgz#d3b6c0c556ca507490b44d4b08e8c9c04d57b2db" + integrity sha512-wndbJGLtrRJewAzYS6yUIpw6m7gsV9NuWIvVkTticbqSXxwUn78sq68S3LmXb+rMRiE9Ex+KMAvmo9NO5LD0ag== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.1.2.tgz#2b78919f34c9e1b382652ea74bafba0465cfd129" - integrity sha512-swtaAdzYCjFSzo5xNSpsfBc0aPhjdS3flm9K0MZSLdZCU3ozt1ArcvUwdV5UWlkozkXTLpMiRj+t+wiJE/l8XA== +"@angular/platform-server@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.2.0-rc.0.tgz#8d959bb0f338c99cf423450fa3f547035e132961" + integrity sha512-MQnAdj6CM3NHQCCIIu98YW5u727CqBx+u0BbiBZaiA15sIqO0XBBW2way8LqCQSjTc1mXrewB5Usb/ZQOLmOLw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.1.2.tgz#606a37dfc6ad7669b2f7713a794953cc70eb38f6" - integrity sha512-YOHAteYHgM6qX0XaD+D+vMLClff2F7yqff8oVyXyPsvL686GV11ZNJFoBt/qDe8WJiSQ295z6RxFOYfNeFrfhQ== +"@angular/router@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.2.0-rc.0.tgz#a351e1fc4b3f807493538358eebb4b6a333e6ce6" + integrity sha512-mouOjA33nSstsTF2KpciuJfbMO3JJ8gwPfeMneCeih+aCI5sZo02mEvoZl9bzpAXl1Sj2Xd0a5syBfdrBUG7Ng== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.1.2.tgz#950c6299a423392ea926120f0228e1e76262b0cf" - integrity sha512-4gqgdq4dear+jcKHKqTa7hjlcX4fnP39oiOIOGfRT2V2pMzM8hZlunTvSs89CyvDHbmfusmLkXJ/LGO2ExPm1A== +"@angular/service-worker@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.2.0-rc.0.tgz#e4e056ee109d31e46fd9e754d39df58bda8465ce" + integrity sha512-6bIFg55Am2n1ute7Wn06gs4ygWrXrI0Do83tEsVoi2o8WUb8S6c3Lx4o3jKwOvYL8MTn4XlN4bVSnHGY5qPDVQ== dependencies: tslib "^2.3.0" @@ -9764,7 +9792,6 @@ sass@1.54.4, sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -10860,7 +10887,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^4.6.2, typescript@~4.7.2, typescript@~4.7.3: +typescript@4.8.1-rc: + version "4.8.1-rc" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.1-rc.tgz#2baff2b14b916f06a97effbfcf59e46bab93e48a" + integrity sha512-ZoXadPUeEe1XOZe6CHG/QHZ6IFeRjrfzkpraRi9HOpGH0UOG/WaUrKvtSwDFigG8GuDA4zsDQHEZyqhmlCIyEw== + +typescript@^4.6.2, typescript@~4.7.3: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== From f6c0d47ad8d9fce46de9bfb125f83544ccd6289c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 22 Aug 2022 21:37:30 +0000 Subject: [PATCH 0787/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 8 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 540 +++++------------- 7 files changed, 154 insertions(+), 438 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 11daab646018..6a199b7f42af 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@5ffe2357f61a57d16f44a3209cd880c211c575b5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 + - uses: angular/dev-infra/github-actions/post-approval-changes@5ffe2357f61a57d16f44a3209cd880c211c575b5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 713ffe96e4aa..595d2d7012b1 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 + - uses: angular/dev-infra/github-actions/feature-request@5ffe2357f61a57d16f44a3209cd880c211c575b5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index e919a1d5c27f..5f0413372985 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@b158ee64c37844b5bc8fed167815f6f0e99c3ae7 + - uses: angular/dev-infra/github-actions/lock-closed@5ffe2357f61a57d16f44a3209cd880c211c575b5 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index d1b971818e3c..c6177eb271d6 100644 --- a/package.json +++ b/package.json @@ -66,16 +66,16 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "14.2.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2", - "@angular/cdk": "14.2.0-next.2", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484", + "@angular/cdk": "14.2.0-rc.0", "@angular/common": "14.2.0-rc.0", "@angular/compiler": "14.2.0-rc.0", "@angular/compiler-cli": "14.2.0-rc.0", "@angular/core": "14.2.0-rc.0", "@angular/forms": "14.2.0-rc.0", "@angular/localize": "14.2.0-rc.0", - "@angular/material": "14.2.0-next.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4", + "@angular/material": "14.2.0-rc.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#1a7be8a4a108ae0eee5c496072ce865043146d4d", "@angular/platform-browser": "14.2.0-rc.0", "@angular/platform-browser-dynamic": "14.2.0-rc.0", "@angular/platform-server": "14.2.0-rc.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 04bc587c5bc4..53b5f87ef462 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.1.2", - "@angular/compiler-cli": "14.1.2", + "@angular/compiler": "14.1.3", + "@angular/compiler-cli": "14.1.3", "typescript": "4.8.1-rc", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 70200a70e79b..e94312598485 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#989a053608809400c9098dccdb72b3d2ee657a5d", - "@angular/cdk": "github:angular/cdk-builds#5e0dca89a524c025fc0cbf50fffd818e539d99f9", - "@angular/common": "github:angular/common-builds#58a4bdf58291f31d30562cd9f913051f75b9d2f3", - "@angular/compiler": "github:angular/compiler-builds#3231eb72796a0d26c6045cc485e03a2806306d02", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#99aa837d074b5df5466c6a76944b16aa31a33c60", - "@angular/core": "github:angular/core-builds#4b78e9179cf038a9a048f66f1c712ad9f6b4e7e5", - "@angular/forms": "github:angular/forms-builds#14077d439487371d2ee039889c72a6d13e844904", - "@angular/language-service": "github:angular/language-service-builds#aa2b9c8a75568f0b0dceb5800b99357748f28b9d", - "@angular/localize": "github:angular/localize-builds#f70cde306a76a7daf3a62de9f49758d2808c5e5f", - "@angular/material": "github:angular/material-builds#840350f46870961a08fcb1fe57e40fc86736500d", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b09397a47bcee75bc4eceef65c020766b36fcf84", - "@angular/platform-browser": "github:angular/platform-browser-builds#e86b6bb35146314d95a2214f38060c316e18ecba", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a58a2962991687a2f864cdded606fd1c9255cd68", - "@angular/platform-server": "github:angular/platform-server-builds#409025011ce3cdaa470cfe0c7b65fc235618d0ab", - "@angular/router": "github:angular/router-builds#471200021e5f6531ec8cb6d5eac305255f5b2815", - "@angular/service-worker": "github:angular/service-worker-builds#526c2da8854c1e18a25bf4b439182337e914101f" + "@angular/animations": "github:angular/animations-builds#b23a08580f762abc85310e43534313d4c569b7cc", + "@angular/cdk": "github:angular/cdk-builds#23158d83f7e081505f9a7316d11837793acefab2", + "@angular/common": "github:angular/common-builds#8f46661a8dbf2f73ff4d02f412a594e9070576c7", + "@angular/compiler": "github:angular/compiler-builds#bbccd920d1ef81d7fd9ddff8a4e53a590ee87fe2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#fe99b8d49beda4c6b44156c8d88f5da73963c555", + "@angular/core": "github:angular/core-builds#09a17a36f38a76b3bcd516ca841d0af0420c04f4", + "@angular/forms": "github:angular/forms-builds#fc02d281207897c791b6d59c7db34f44e2e0a79c", + "@angular/language-service": "github:angular/language-service-builds#2a15e4910828a94aba005f6ab48a009007e74908", + "@angular/localize": "github:angular/localize-builds#49b48ce276c21b008577b53bef5528622bd34c9b", + "@angular/material": "github:angular/material-builds#644b9ffb7915ad22a1db9ca3a0273711cee22481", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#69eb4c2a840a45b2aec4424366709c12e51bafcf", + "@angular/platform-browser": "github:angular/platform-browser-builds#a947560c49f1627f23f1e4927b41642900812ee7", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6ac12b13e30f13f7799b3492a8bd7492e7b91615", + "@angular/platform-server": "github:angular/platform-server-builds#359234a1db1c06c264744b5e7ae613ed43ad332c", + "@angular/router": "github:angular/router-builds#f721c4458626226d76d5a21f71e5cbbd0f33f8e4", + "@angular/service-worker": "github:angular/service-worker-builds#631334beeced006bbc9df34f31a3f43cd2c4a39a" } } diff --git a/yarn.lock b/yarn.lock index 06067a253fd0..283138007899 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,25 +15,25 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1402.0-next.0": - version "0.1402.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1402.0-next.0.tgz#9f223bccaac17d69e6461cea4620723c24280259" - integrity sha512-L+NsGjIXVHklPjEl5awTxqCddSlnVCQ6QqWnhKOBEU1XgmEViXnpyeWx9ddA3kwPiide3BNI04wdE11vVK5scA== +"@angular-devkit/architect@0.1402.0-rc.0": + version "0.1402.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1402.0-rc.0.tgz#bcea4818b14c920921de76d4cac10e54b70f7278" + integrity sha512-M7xL0eiJZ4yvHT0oc8WgoTTEcW7P488VsW8/S2BD16s/sfDjFROps+IbHDnnHxxwjGWL8fWBqL0uAEupwIuRZg== dependencies: - "@angular-devkit/core" "14.2.0-next.0" + "@angular-devkit/core" "14.2.0-rc.0" rxjs "6.6.7" -"@angular-devkit/build-angular@14.2.0-next.0": - version "14.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.2.0-next.0.tgz#4f90542357bf0b7001c8f3ff7928e4ed3cc57012" - integrity sha512-9M32QRtn6ZuoOcNUHhITO7WcaW8MTgaLIelE2iWh7Gi+fvqB0t/iceqSLaxKWbvXtc3QhvKzlytykusS9Yc3GQ== +"@angular-devkit/build-angular@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.2.0-rc.0.tgz#f7efbc8fb3d516a0c27fa10bfdb26a9260bb274e" + integrity sha512-b1TLzPi9GlGhhb8Il9q3Q1IQAY23J240lMDb9KJzwkjO+SgfRwp2kO5leT9yAwYOZWcGPGH2I1yQbtVFywl9Dw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1402.0-next.0" - "@angular-devkit/build-webpack" "0.1402.0-next.0" - "@angular-devkit/core" "14.2.0-next.0" + "@angular-devkit/architect" "0.1402.0-rc.0" + "@angular-devkit/build-webpack" "0.1402.0-rc.0" + "@angular-devkit/core" "14.2.0-rc.0" "@babel/core" "7.18.10" - "@babel/generator" "7.18.10" + "@babel/generator" "7.18.12" "@babel/helper-annotate-as-pure" "7.18.6" "@babel/plugin-proposal-async-generator-functions" "7.18.10" "@babel/plugin-transform-async-to-generator" "7.18.6" @@ -42,16 +42,16 @@ "@babel/runtime" "7.18.9" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.2.0-next.0" + "@ngtools/webpack" "14.2.0-rc.0" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "16.1.1" + cacache "16.1.2" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.14.53" + esbuild-wasm "0.15.5" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -67,19 +67,19 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.14" + postcss "8.4.16" postcss-import "14.1.0" postcss-loader "7.0.1" - postcss-preset-env "7.7.2" + postcss-preset-env "7.8.0" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.54.1" + sass "1.54.4" sass-loader "13.0.2" semver "7.3.7" source-map-loader "4.0.0" source-map-support "0.5.21" - stylus "0.58.1" + stylus "0.59.0" stylus-loader "7.0.0" terser "5.14.2" text-table "0.2.0" @@ -87,24 +87,24 @@ tslib "2.4.0" webpack "5.74.0" webpack-dev-middleware "5.3.3" - webpack-dev-server "4.9.3" + webpack-dev-server "4.10.0" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.53" + esbuild "0.15.5" -"@angular-devkit/build-webpack@0.1402.0-next.0": - version "0.1402.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1402.0-next.0.tgz#72e08e0d40b57a826de40f8ffb3fe39cb8ce672c" - integrity sha512-w+rsWpntyTIYOYQrbgkIddVO9DuRUiOIVIeYqo4hQ3ixDI7wKE+9nAZRMvFSheUK27AQQlnXY/L3QBr5EcsxZA== +"@angular-devkit/build-webpack@0.1402.0-rc.0": + version "0.1402.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1402.0-rc.0.tgz#dee5a74842324ccd2744a328f52ddd872c2e80d4" + integrity sha512-lo0Pe2ig94fXoWamoFVHfYp3tXxnxbGjj3DlWAt2hqTdn4H+laJ3S5zMvbq8AouprpIrdg3XqZUqiu0FZVfyQA== dependencies: - "@angular-devkit/architect" "0.1402.0-next.0" + "@angular-devkit/architect" "0.1402.0-rc.0" rxjs "6.6.7" -"@angular-devkit/core@14.2.0-next.0": - version "14.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.2.0-next.0.tgz#068c9a3b2e5a10c9eb04c8350693d94d896bd266" - integrity sha512-RLEddHeR4rxhOf4cUKcLVw5EQEHRJyvHjPWMvSLhyvFJXYMZlEEcmuKZbmDbvN5HVwSYrc/f4E+vIdXhStPUrA== +"@angular-devkit/core@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.2.0-rc.0.tgz#6e55a48e59ffc70c0bd67810b0aae37772f2c9a8" + integrity sha512-lMWqU7vvZefXj91ENrTMo+Fmls2SFcDC7wKqfHZkRaC2ryUnxE870lGaMc5m16vHlKj2V0YDLNcNCdtScRxzmg== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -127,11 +127,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2": - version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#08f0188fccf98139207fbd5e683533950e9068e2" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484": + version "0.0.0-5ffe2357f61a57d16f44a3209cd880c211c575b5" + uid "2c68d0f9752df9bdbb185b89630ea085a2e62484" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484" dependencies: - "@angular-devkit/build-angular" "14.2.0-next.0" + "@angular-devkit/build-angular" "14.2.0-rc.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -141,7 +142,7 @@ "@bazel/runfiles" "5.5.3" "@bazel/terser" "5.5.3" "@bazel/typescript" "5.5.3" - "@microsoft/api-extractor" "7.28.4" + "@microsoft/api-extractor" "7.29.3" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -154,7 +155,7 @@ clang-format "1.8.0" prettier "2.7.1" protractor "^7.0.0" - selenium-webdriver "4.3.1" + selenium-webdriver "4.4.0" send "^0.18.0" source-map "^0.7.4" tmp "^0.2.1" @@ -164,10 +165,10 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/cdk@14.2.0-next.2": - version "14.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.0-next.2.tgz#30ed3305c6984dadfe5a7305bcd956b427c4a226" - integrity sha512-jmdYDJZuFFcBX5HRdfZRxJyDidFGyjnQS90/bJt7Etwf6/8czINO6gtxc/sIyV0R6UOI+rz6boB5iRuCUE1KXQ== +"@angular/cdk@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.0-rc.0.tgz#bc70d173ff4d26d2728e9bde9e9c3fbdcad66939" + integrity sha512-E3APqCslpvmKyo+aINI5oDxk04EJcdixOCH/LFHk4SmFCIRJroa2HIl49h5y+yFJHeKY6QYXtRjLIyALQWSwAw== dependencies: tslib "^2.3.0" optionalDependencies: @@ -180,10 +181,10 @@ dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.2.tgz#98f507bf95f960c159af571cb25f7ceaf64edd9b" - integrity sha512-L1gB0ig2T0xz+4KaZCuf07tUitKT8gEqYQCd8evPeomMVgZAZcaCZa5O1FmNjGv7mDb0PrDJ1q0/VqTfet8onw== +"@angular/compiler-cli@14.1.3": + version "14.1.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.3.tgz#ff2b85115599bbdd44264c6ed0f307a864838471" + integrity sha512-GJqUfIKuM7bYeR699ceRSa6LT90vEi2q+s+YIwRrlXSFto7xNCmn5bJsYV6XmslvPPTqiLR5w9K8MNC9qYBbxw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -212,10 +213,10 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.2.tgz#3174fd78accee67358aa62e64492f5f7f3d6b512" - integrity sha512-H0W4kTM7gUizWe5oFgixbnnS6U4pBt7qcmVCe5mdfzuUwoDzp8u/cOUErxzM0gZiCFVT/KBPXgc7TeZ1oNtgHg== +"@angular/compiler@14.1.3": + version "14.1.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.3.tgz#0c8a9c8a8b3e4eb961849ba49a8517659499779d" + integrity sha512-QtBHzhGzym8CwGrZLFYsciaLq/F4lxUxNOBDQdrc5Pd/qYiaJ50rrWfmXpqrFR6CC0E0bgzIj0Uxdf+D/VRmWQ== dependencies: tslib "^2.3.0" @@ -256,16 +257,17 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.0-next.2": - version "14.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.0-next.2.tgz#1a332074f3420f8e71dee24d906f56a09a23dec6" - integrity sha512-GiqIWmqo8KjqGWBzrNLPl+dL4PQ72zw5UVHVQKTO9av0Qrinln3WKqb14Uc84BxWX4YPmkUWhC18XdYaiZ+/ug== +"@angular/material@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.0-rc.0.tgz#3e38cfc2663ec3fcbe013a6ddfb3bd329a510d87" + integrity sha512-j6GCAmUVSyoj88rGMJq0VFY4EMBpSL61zml+YNDITQmIxmEMyxDyQQNlFAhWuNaYIccAUxlYvQdEhZoi8N/fXg== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4": - version "0.0.0-b158ee64c37844b5bc8fed167815f6f0e99c3ae7" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a9d380df54092930c4eabbab114c29ac125759f4" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#1a7be8a4a108ae0eee5c496072ce865043146d4d": + version "0.0.0-5ffe2357f61a57d16f44a3209cd880c211c575b5" + uid "1a7be8a4a108ae0eee5c496072ce865043146d4d" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#1a7be8a4a108ae0eee5c496072ce865043146d4d" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" @@ -366,15 +368,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.10.tgz#794f328bfabdcbaf0ebf9bf91b5b57b61fa77a2a" - integrity sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA== - dependencies: - "@babel/types" "^7.18.10" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/generator@7.18.12", "@babel/generator@^7.18.10", "@babel/generator@^7.18.9": version "7.18.12" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" @@ -1327,7 +1320,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.4", "@csstools/postcss-cascade-layers@^1.0.5": +"@csstools/postcss-cascade-layers@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz#f16f2c4396ace855541e1aa693f5f27ec972e6ad" integrity sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw== @@ -1335,7 +1328,7 @@ "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" -"@csstools/postcss-color-function@^1.1.0", "@csstools/postcss-color-function@^1.1.1": +"@csstools/postcss-color-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== @@ -1343,21 +1336,21 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-font-format-keywords@^1.0.0", "@csstools/postcss-font-format-keywords@^1.0.1": +"@csstools/postcss-font-format-keywords@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-hwb-function@^1.0.1", "@csstools/postcss-hwb-function@^1.0.2": +"@csstools/postcss-hwb-function@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-ic-unit@^1.0.0", "@csstools/postcss-ic-unit@^1.0.1": +"@csstools/postcss-ic-unit@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== @@ -1365,7 +1358,7 @@ "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-is-pseudo-class@^2.0.6", "@csstools/postcss-is-pseudo-class@^2.0.7": +"@csstools/postcss-is-pseudo-class@^2.0.7": version "2.0.7" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== @@ -1380,14 +1373,14 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-normalize-display-values@^1.0.0", "@csstools/postcss-normalize-display-values@^1.0.1": +"@csstools/postcss-normalize-display-values@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^1.1.0", "@csstools/postcss-oklab-function@^1.1.1": +"@csstools/postcss-oklab-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== @@ -1402,7 +1395,7 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-stepped-value-functions@^1.0.0", "@csstools/postcss-stepped-value-functions@^1.0.1": +"@csstools/postcss-stepped-value-functions@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== @@ -1416,14 +1409,14 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^1.0.1", "@csstools/postcss-trigonometric-functions@^1.0.2": +"@csstools/postcss-trigonometric-functions@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-unset-value@^1.0.1", "@csstools/postcss-unset-value@^1.0.2": +"@csstools/postcss-unset-value@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== @@ -1438,11 +1431,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/linux-loong64@0.14.53": - version "0.14.53" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.53.tgz#251b4cd6760fadb4d68a05815e6dc5e432d69cd6" - integrity sha512-W2dAL6Bnyn4xa/QRSU3ilIK4EzD5wgYXKXJiS1HDF5vU3675qc2bvFyLwbUcdmssDveyndy7FbitrCoiV/eMLg== - "@esbuild/linux-loong64@0.14.54": version "0.14.54" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" @@ -1582,32 +1570,32 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.21.0.tgz#2138682e738a14038d40165ec77362e69853f200" - integrity sha512-NN4mXzoQWTuzznIcnLWeV6tGyn6Os9frDK6M/mmTXZ73vUYOvSWoKQ5SYzyzP7HF3YtvTmr1Rs+DsBb0HRx7WQ== +"@microsoft/api-extractor-model@7.23.1": + version "7.23.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.23.1.tgz#d93704882241e7720094d41c7005b07eb593c073" + integrity sha512-axlZ33H2LfYX7goAaWpzABWZl3JtX/EUkfVBsI4SuMn3AZYBJsP5MVpMCq7jt0PCefWGwwO+Rv+lCmmJIjFhlQ== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.49.0" + "@rushstack/node-core-library" "3.50.2" -"@microsoft/api-extractor@7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.28.4.tgz#8e67a69edb4937beda516d42d4f325e6e1258445" - integrity sha512-7JeROBGYTUt4/4HPnpMscsQgLzX0OfGTQR2qOQzzh3kdkMyxmiv2mzpuhoMnwbubb1GvPcyFm+NguoqOqkCVaw== +"@microsoft/api-extractor@7.29.3": + version "7.29.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.29.3.tgz#f91ca61833c170c6c47a0fc064fa010460a11457" + integrity sha512-PHq+Oo8yiXhwi11VQ1Nz36s+aZwgFqjtkd41udWHtSpyMv2slJ74m1cHdpWbs2ovGUCfldayzdpGwnexZLd2bA== dependencies: - "@microsoft/api-extractor-model" "7.21.0" + "@microsoft/api-extractor-model" "7.23.1" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.49.0" - "@rushstack/rig-package" "0.3.13" - "@rushstack/ts-command-line" "4.12.1" + "@rushstack/node-core-library" "3.50.2" + "@rushstack/rig-package" "0.3.14" + "@rushstack/ts-command-line" "4.12.2" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" semver "~7.3.0" source-map "~0.6.1" - typescript "~4.6.3" + typescript "~4.7.4" "@microsoft/tsdoc-config@~0.16.1": version "0.16.1" @@ -1624,10 +1612,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.2.0-next.0": - version "14.2.0-next.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.2.0-next.0.tgz#f0bc91d6a5535c569d25882486024c980d76e5e3" - integrity sha512-V0u75RbeJcxiTl4uV5h5NXXVYSvtlfwoms+6y6sf2dmfJtXEi3wrsk/vsN7IutJF4nakNaMKjlVTpk4D1KsWOQ== +"@ngtools/webpack@14.2.0-rc.0": + version "14.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.2.0-rc.0.tgz#96237f523b2f9d072810f9bfd38d3f74d7662ae6" + integrity sha512-gA0O15Bcvdp5PB3iWew5wYYut1zTxAuCx22z1tn1+/gQbS9mntzKyKhxwOGfYsoK2j6S7TwlBfeMSqjY0HIYiw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1902,10 +1890,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.49.0": - version "3.49.0" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.49.0.tgz#0324c1a5ba5e469967b70e9718d1a90750648503" - integrity sha512-yBJRzGgUNFwulVrwwBARhbGaHsxVMjsZ9JwU1uSBbqPYCdac+t2HYdzi4f4q/Zpgb0eNbwYj2yxgHYpJORNEaw== +"@rushstack/node-core-library@3.50.2": + version "3.50.2" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.50.2.tgz#43df3f8422898a448114fcb9c7d4e967625da585" + integrity sha512-+zpZBcaX5s+wA0avF0Lk3sd5jbGRo5SmsEJpElJbqQd3KGFvc/hcyeNSMqV5+esJ1JuTfnE1QyRt8nvxFNTaQg== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1917,18 +1905,18 @@ timsort "~0.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.13": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.13.tgz#80d7b34bc9b7a7feeba133f317df8dbd1f65a822" - integrity sha512-4/2+yyA/uDl7LQvtYtFs1AkhSWuaIGEKhP9/KK2nNARqOVc5eCXmu1vyOqr5mPvNq7sHoIR+sG84vFbaKYGaDA== +"@rushstack/rig-package@0.3.14": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.14.tgz#f2611b59245fd7cc29c6982566b2fbb4a4192bc5" + integrity sha512-Ic9EN3kWJCK6iOxEDtwED9nrM146zCDrQaUxbeGOF+q/VLZ/HNHPw+aLqrqmTl0ZT66Sf75Qk6OG+rySjTorvQ== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.12.1.tgz#4437ffae6459eb88791625ad9e89b2f0ba254476" - integrity sha512-S1Nev6h/kNnamhHeGdp30WgxZTA+B76SJ/P721ctP7DrnC+rrjAc6h/R80I4V0cA2QuEEcMdVOQCtK2BTjsOiQ== +"@rushstack/ts-command-line@4.12.2": + version "4.12.2" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.12.2.tgz#59b7450c5d75190778cce8b159c7d7043c32cc4e" + integrity sha512-poBtnumLuWmwmhCEkVAgynWgtnF9Kygekxyp4qtQUSbBrkuyPQTL85c8Cva1YfoUpOdOXxezMAkUt0n5SNKGqw== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3434,7 +3422,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.21.0, browserslist@^4.21.3, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.21.3, browserslist@^4.9.1: version "4.21.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== @@ -3530,30 +3518,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.1: - version "16.1.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" - integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^1.1.1" - cacache@16.1.2, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: version "16.1.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.2.tgz#a519519e9fc9e5e904575dcd3b77660cbf03f749" @@ -4125,11 +4089,6 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^6.6.3: - version "6.6.3" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.3.tgz#1f331a2fab30c18d9f087301e6122a878bb1e505" - integrity sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA== - cssdb@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.0.tgz#60cd053b0918fbbe859517f6bddf35979a19e1af" @@ -4724,11 +4683,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.53.tgz#259bc3ef1399a3cad8f4f67c40ee20779c4de675" - integrity sha512-fIL93sOTnEU+NrTAVMIKiAw0YH22HWCAgg4N4Z6zov2t0kY9RAJ50zY9ZMCQ+RT6bnOfDt8gCTnt/RaSNA2yRA== - esbuild-android-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" @@ -4739,11 +4693,6 @@ esbuild-android-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== -esbuild-android-arm64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.53.tgz#2158253d4e8f9fdd2a081bbb4f73b8806178841e" - integrity sha512-PC7KaF1v0h/nWpvlU1UMN7dzB54cBH8qSsm7S9mkwFA1BXpaEOufCg8hdoEI1jep0KeO/rjZVWrsH8+q28T77A== - esbuild-android-arm64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" @@ -4754,11 +4703,6 @@ esbuild-android-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== -esbuild-darwin-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.53.tgz#b4681831fd8f8d06feb5048acbe90d742074cc2a" - integrity sha512-gE7P5wlnkX4d4PKvLBUgmhZXvL7lzGRLri17/+CmmCzfncIgq8lOBvxGMiQ4xazplhxq+72TEohyFMZLFxuWvg== - esbuild-darwin-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" @@ -4769,11 +4713,6 @@ esbuild-darwin-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== -esbuild-darwin-arm64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.53.tgz#d267d957852d121b261b3f76ead86e5b5463acc9" - integrity sha512-otJwDU3hnI15Q98PX4MJbknSZ/WSR1I45il7gcxcECXzfN4Mrpft5hBDHXNRnCh+5858uPXBXA1Vaz2jVWLaIA== - esbuild-darwin-arm64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" @@ -4784,11 +4723,6 @@ esbuild-darwin-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== -esbuild-freebsd-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.53.tgz#aca2af6d72b537fe66a38eb8f374fb66d4c98ca0" - integrity sha512-WkdJa8iyrGHyKiPF4lk0MiOF87Q2SkE+i+8D4Cazq3/iqmGPJ6u49je300MFi5I2eUsQCkaOWhpCVQMTKGww2w== - esbuild-freebsd-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" @@ -4799,11 +4733,6 @@ esbuild-freebsd-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== -esbuild-freebsd-arm64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.53.tgz#76282e19312d914c34343c8a7da6cc5f051580b9" - integrity sha512-9T7WwCuV30NAx0SyQpw8edbKvbKELnnm1FHg7gbSYaatH+c8WJW10g/OdM7JYnv7qkimw2ZTtSA+NokOLd2ydQ== - esbuild-freebsd-arm64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" @@ -4814,11 +4743,6 @@ esbuild-freebsd-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== -esbuild-linux-32@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.53.tgz#1045d34cf7c5faaf2af3b29cc1573b06580c37e5" - integrity sha512-VGanLBg5en2LfGDgLEUxQko2lqsOS7MTEWUi8x91YmsHNyzJVT/WApbFFx3MQGhkf+XdimVhpyo5/G0PBY91zg== - esbuild-linux-32@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" @@ -4829,11 +4753,6 @@ esbuild-linux-32@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== -esbuild-linux-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.53.tgz#ab3f2ee2ebb5a6930c72d9539cb34b428808cbe4" - integrity sha512-pP/FA55j/fzAV7N9DF31meAyjOH6Bjuo3aSKPh26+RW85ZEtbJv9nhoxmGTd9FOqjx59Tc1ZbrJabuiXlMwuZQ== - esbuild-linux-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" @@ -4844,11 +4763,6 @@ esbuild-linux-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== -esbuild-linux-arm64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.53.tgz#1f5530412f6690949e78297122350488d3266cfe" - integrity sha512-GDmWITT+PMsjCA6/lByYk7NyFssW4Q6in32iPkpjZ/ytSyH+xeEx8q7HG3AhWH6heemEYEWpTll/eui3jwlSnw== - esbuild-linux-arm64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" @@ -4859,11 +4773,6 @@ esbuild-linux-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== -esbuild-linux-arm@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.53.tgz#a44ec9b5b42007ab6c0d65a224ccc6bbd97c54cf" - integrity sha512-/u81NGAVZMopbmzd21Nu/wvnKQK3pT4CrvQ8BTje1STXcQAGnfyKgQlj3m0j2BzYbvQxSy+TMck4TNV2onvoPA== - esbuild-linux-arm@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" @@ -4874,11 +4783,6 @@ esbuild-linux-arm@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== -esbuild-linux-mips64le@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.53.tgz#a4d0b6b17cfdeea4e41b0b085a5f73d99311be9f" - integrity sha512-d6/XHIQW714gSSp6tOOX2UscedVobELvQlPMkInhx1NPz4ThZI9uNLQ4qQJHGBGKGfu+rtJsxM4NVHLhnNRdWQ== - esbuild-linux-mips64le@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" @@ -4889,11 +4793,6 @@ esbuild-linux-mips64le@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== -esbuild-linux-ppc64le@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.53.tgz#8c331822c85465434e086e3e6065863770c38139" - integrity sha512-ndnJmniKPCB52m+r6BtHHLAOXw+xBCWIxNnedbIpuREOcbSU/AlyM/2dA3BmUQhsHdb4w3amD5U2s91TJ3MzzA== - esbuild-linux-ppc64le@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" @@ -4904,11 +4803,6 @@ esbuild-linux-ppc64le@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== -esbuild-linux-riscv64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.53.tgz#36fd75543401304bea8a2d63bf8ea18aaa508e00" - integrity sha512-yG2sVH+QSix6ct4lIzJj329iJF3MhloLE6/vKMQAAd26UVPVkhMFqFopY+9kCgYsdeWvXdPgmyOuKa48Y7+/EQ== - esbuild-linux-riscv64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" @@ -4919,11 +4813,6 @@ esbuild-linux-riscv64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== -esbuild-linux-s390x@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.53.tgz#1622677ab6824123f48f75d3afc031cd41936129" - integrity sha512-OCJlgdkB+XPYndHmw6uZT7jcYgzmx9K+28PVdOa/eLjdoYkeAFvH5hTwX4AXGLZLH09tpl4bVsEtvuyUldaNCg== - esbuild-linux-s390x@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" @@ -4934,11 +4823,6 @@ esbuild-linux-s390x@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== -esbuild-netbsd-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.53.tgz#e86d0efd0116658be335492ed12e66b26b4baf52" - integrity sha512-gp2SB+Efc7MhMdWV2+pmIs/Ja/Mi5rjw+wlDmmbIn68VGXBleNgiEZG+eV2SRS0kJEUyHNedDtwRIMzaohWedQ== - esbuild-netbsd-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" @@ -4949,11 +4833,6 @@ esbuild-netbsd-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== -esbuild-openbsd-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.53.tgz#9bcbbe6f86304872c6e91f64c8eb73fc29c3588b" - integrity sha512-eKQ30ZWe+WTZmteDYg8S+YjHV5s4iTxeSGhJKJajFfQx9TLZJvsJX0/paqwP51GicOUruFpSUAs2NCc0a4ivQQ== - esbuild-openbsd-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" @@ -4964,11 +4843,6 @@ esbuild-openbsd-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== -esbuild-sunos-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.53.tgz#f7a872f7460bfb7b131f7188a95fbce3d1c577e8" - integrity sha512-OWLpS7a2FrIRukQqcgQqR1XKn0jSJoOdT+RlhAxUoEQM/IpytS3FXzCJM6xjUYtpO5GMY0EdZJp+ur2pYdm39g== - esbuild-sunos-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" @@ -4979,11 +4853,6 @@ esbuild-sunos-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== -esbuild-wasm@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.53.tgz#80607cbf303ed6fc90a68900cd6be99f9d16cc74" - integrity sha512-7b9EaBu6T16D4++/tEecq60wa1/latTo55U2frlpD5ATZSS2CpJ4Dd64Wck+xRXZp8pMJ5eQHEDiCr5bU2naQA== - esbuild-wasm@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" @@ -4994,11 +4863,6 @@ esbuild-wasm@^0.14.29: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.54.tgz#6e31c86700850664ed9781876cb907c13d230d69" integrity sha512-Lk1Rq6mnHCIgYpUGQGsJn1dgW26w5uV0KYTl6CdoixSF4hD4v8Nyyxmhrqo4lUkV8AQoWLVfIBWYo7l+JTPl9g== -esbuild-windows-32@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.53.tgz#c5e3ca50e2d1439cc2c9fe4defa63bcd474ce709" - integrity sha512-m14XyWQP5rwGW0tbEfp95U6A0wY0DYPInWBB7D69FAXUpBpBObRoGTKRv36lf2RWOdE4YO3TNvj37zhXjVL5xg== - esbuild-windows-32@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" @@ -5009,11 +4873,6 @@ esbuild-windows-32@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== -esbuild-windows-64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.53.tgz#ec2ab4a60c5215f092ffe1eab6d01319e88238af" - integrity sha512-s9skQFF0I7zqnQ2K8S1xdLSfZFsPLuOGmSx57h2btSEswv0N0YodYvqLcJMrNMXh6EynOmWD7rz+0rWWbFpIHQ== - esbuild-windows-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" @@ -5024,11 +4883,6 @@ esbuild-windows-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== -esbuild-windows-arm64@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.53.tgz#f71d403806bdf9f4a1f9d097db9aec949bd675c8" - integrity sha512-E+5Gvb+ZWts+00T9II6wp2L3KG2r3iGxByqd/a1RmLmYWVsSVUjkvIxZuJ3hYTIbhLkH5PRwpldGTKYqVz0nzQ== - esbuild-windows-arm64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" @@ -5039,33 +4893,6 @@ esbuild-windows-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== -esbuild@0.14.53: - version "0.14.53" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.53.tgz#20b1007f686e8584f2a01a1bec5a37aac9498ce4" - integrity sha512-ohO33pUBQ64q6mmheX1mZ8mIXj8ivQY/L4oVuAshr+aJI+zLl+amrp3EodrUNDNYVrKJXGPfIHFGhO8slGRjuw== - optionalDependencies: - "@esbuild/linux-loong64" "0.14.53" - esbuild-android-64 "0.14.53" - esbuild-android-arm64 "0.14.53" - esbuild-darwin-64 "0.14.53" - esbuild-darwin-arm64 "0.14.53" - esbuild-freebsd-64 "0.14.53" - esbuild-freebsd-arm64 "0.14.53" - esbuild-linux-32 "0.14.53" - esbuild-linux-64 "0.14.53" - esbuild-linux-arm "0.14.53" - esbuild-linux-arm64 "0.14.53" - esbuild-linux-mips64le "0.14.53" - esbuild-linux-ppc64le "0.14.53" - esbuild-linux-riscv64 "0.14.53" - esbuild-linux-s390x "0.14.53" - esbuild-netbsd-64 "0.14.53" - esbuild-openbsd-64 "0.14.53" - esbuild-sunos-64 "0.14.53" - esbuild-windows-32 "0.14.53" - esbuild-windows-64 "0.14.53" - esbuild-windows-arm64 "0.14.53" - esbuild@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" @@ -8670,7 +8497,7 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-attribute-case-insensitive@^5.0.1, postcss-attribute-case-insensitive@^5.0.2: +postcss-attribute-case-insensitive@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== @@ -8684,7 +8511,7 @@ postcss-clamp@^4.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^4.2.3, postcss-color-functional-notation@^4.2.4: +postcss-color-functional-notation@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== @@ -8698,7 +8525,7 @@ postcss-color-hex-alpha@^8.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-color-rebeccapurple@^7.1.0, postcss-color-rebeccapurple@^7.1.1: +postcss-color-rebeccapurple@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== @@ -8726,14 +8553,14 @@ postcss-custom-selectors@^6.0.3: dependencies: postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^6.0.4, postcss-dir-pseudo-class@^6.0.5: +postcss-dir-pseudo-class@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== dependencies: postcss-selector-parser "^6.0.10" -postcss-double-position-gradients@^3.1.1, postcss-double-position-gradients@^3.1.2: +postcss-double-position-gradients@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== @@ -8767,12 +8594,12 @@ postcss-font-variant@^5.0.0: resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^3.0.3, postcss-gap-properties@^3.0.5: +postcss-gap-properties@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== -postcss-image-set-function@^4.0.6, postcss-image-set-function@^4.0.7: +postcss-image-set-function@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== @@ -8793,7 +8620,7 @@ postcss-initial@^4.0.1: resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^4.2.0, postcss-lab-function@^4.2.1: +postcss-lab-function@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== @@ -8848,7 +8675,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.10, postcss-nesting@^10.1.9: +postcss-nesting@^10.1.10: version "10.1.10" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.10.tgz#9c396df3d8232cbedfa95baaac6b765b8fd2a817" integrity sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w== @@ -8861,7 +8688,7 @@ postcss-opacity-percentage@^1.1.2: resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== -postcss-overflow-shorthand@^3.0.3, postcss-overflow-shorthand@^3.0.4: +postcss-overflow-shorthand@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== @@ -8873,66 +8700,13 @@ postcss-page-break@^3.0.4: resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^7.0.4, postcss-place@^7.0.5: +postcss-place@^7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.7.2: - version "7.7.2" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz#769f7f21779b4688c9a6082ae1572416cab415cf" - integrity sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA== - dependencies: - "@csstools/postcss-cascade-layers" "^1.0.4" - "@csstools/postcss-color-function" "^1.1.0" - "@csstools/postcss-font-format-keywords" "^1.0.0" - "@csstools/postcss-hwb-function" "^1.0.1" - "@csstools/postcss-ic-unit" "^1.0.0" - "@csstools/postcss-is-pseudo-class" "^2.0.6" - "@csstools/postcss-normalize-display-values" "^1.0.0" - "@csstools/postcss-oklab-function" "^1.1.0" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.1" - "@csstools/postcss-unset-value" "^1.0.1" - autoprefixer "^10.4.7" - browserslist "^4.21.0" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^6.6.3" - postcss-attribute-case-insensitive "^5.0.1" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.3" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.0" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.8" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.4" - postcss-double-position-gradients "^3.1.1" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.3" - postcss-image-set-function "^4.0.6" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.0" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.9" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.3" - postcss-page-break "^3.0.4" - postcss-place "^7.0.4" - postcss-pseudo-class-any-link "^7.1.5" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.0" - postcss-value-parser "^4.2.0" - postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2: version "7.8.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz#5bd3ad53b2ef02edd41645d1ffee1ff8a49f24e5" @@ -8988,7 +8762,7 @@ postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2: postcss-selector-not "^6.0.1" postcss-value-parser "^4.2.0" -postcss-pseudo-class-any-link@^7.1.5, postcss-pseudo-class-any-link@^7.1.6: +postcss-pseudo-class-any-link@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== @@ -9000,7 +8774,7 @@ postcss-replace-overflow-wrap@^4.0.0: resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== -postcss-selector-not@^6.0.0, postcss-selector-not@^6.0.1: +postcss-selector-not@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== @@ -9030,15 +8804,6 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.14: - version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7, postcss@^8.4.8: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" @@ -9772,15 +9537,6 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.54.1: - version "1.54.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.1.tgz#4f72ef57ce2a6c3251f4e2c75eee9a0c19e09eb5" - integrity sha512-GHJJr31Me32RjjUBagyzx8tzjKBUcDwo5239XANIRBq0adDu5iIG0aFO0i/TBb/4I9oyxkEv44nq/kL1DxdDhA== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.54.4, sass@^1.49.9: version "1.54.4" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.4.tgz#803ff2fef5525f1dd01670c3915b4b68b6cba72d" @@ -9856,10 +9612,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.3.1.tgz#5e9c6c4adee65e57776b5bd4c07c59b65b8f056d" - integrity sha512-TjH/ls1WKRQoFEHcqtn6UtwcLnA3yvx08v9cSSFYvyhp8hJWRtbe9ae2I8uXPisEZ2EaGKKoxBZ4EHv0BJM15g== +selenium-webdriver@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.4.0.tgz#3f280504f6c0ac64a24b176304213b5a49ec2553" + integrity sha512-Du+/xfpvNi9zHAeYgXhOWN9yH0hph+cuX+hHDBr7d+SbtQVcfNJwBzLsbdHrB1Wh7MHXFuIkSG88A9TRRQUx3g== dependencies: jszip "^3.10.0" tmp "^0.2.1" @@ -10482,23 +10238,23 @@ stylus-loader@7.0.0: klona "^2.0.5" normalize-path "^3.0.0" -stylus@0.58.1, stylus@^0.58.0: - version "0.58.1" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.58.1.tgz#7e425bb493c10dde94cf427a138d3eae875a3b44" - integrity sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w== +stylus@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" + integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== dependencies: - css "^3.0.0" + "@adobe/css-tools" "^4.0.1" debug "^4.3.2" glob "^7.1.6" sax "~1.2.4" source-map "^0.7.3" -stylus@0.59.0: - version "0.59.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" - integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== +stylus@^0.58.0: + version "0.58.1" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.58.1.tgz#7e425bb493c10dde94cf427a138d3eae875a3b44" + integrity sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w== dependencies: - "@adobe/css-tools" "^4.0.1" + css "^3.0.0" debug "^4.3.2" glob "^7.1.6" sax "~1.2.4" @@ -10892,16 +10648,11 @@ typescript@4.8.1-rc: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.1-rc.tgz#2baff2b14b916f06a97effbfcf59e46bab93e48a" integrity sha512-ZoXadPUeEe1XOZe6CHG/QHZ6IFeRjrfzkpraRi9HOpGH0UOG/WaUrKvtSwDFigG8GuDA4zsDQHEZyqhmlCIyEw== -typescript@^4.6.2, typescript@~4.7.3: +typescript@^4.6.2, typescript@~4.7.3, typescript@~4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== -typescript@~4.6.3: - version "4.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" - integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== - ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" @@ -11306,41 +11057,6 @@ webpack-dev-server@4.10.0: webpack-dev-middleware "^5.3.1" ws "^8.4.2" -webpack-dev-server@4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" - integrity sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.0.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From 147f8c3ebbad883826da1a94f09054938ed9b534 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 22 Aug 2022 06:47:34 +0000 Subject: [PATCH 0788/1388] fix(@angular-devkit/build-angular): correctly handle parenthesis in url PR #23691 introduced a regression that caused paranthesis in url not to be handled correctly. This change correct this behaviour and adds a test case to valid this. Closes #23773 --- .../src/builders/browser/specs/styles_spec.ts | 16 ++++++++++++++++ .../src/webpack/plugins/postcss-cli-resources.ts | 5 ++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 08c4fb6c4673..2d5cc91a3269 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -706,4 +706,20 @@ describe('Browser Builder styles', () => { const result = await browserBuild(architect, host, target, { styles: ['src/styles.css'] }); expect(await result.files['styles.css']).toContain(svgData); }); + + it('works when Data URI has parenthesis', async () => { + const svgData = + '"data:image/svg+xml;charset=utf-8,' + + `` + + '"'; + + host.writeMultipleFiles({ + 'src/styles.css': ` + div { background: url(${svgData}) } + `, + }); + + const result = await browserBuild(architect, host, target, { styles: ['src/styles.css'] }); + expect(await result.files['styles.css']).toContain(svgData); + }); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts index ed78cb632a5b..f130d6c10e75 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts @@ -155,7 +155,7 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { } const value = decl.value; - const urlRegex = /url(?:\(\s*['"]?)(.*?)(?:['"]?\s*\))/g; + const urlRegex = /url(?:\(\s*(['"]?))(.*?)(?:\1\s*\))/g; const segments: string[] = []; let match; @@ -166,9 +166,8 @@ export default function (options?: PostcssCliResourcesOptions): Plugin { const inputFile = decl.source && decl.source.input.file; const context = (inputFile && path.dirname(inputFile)) || loader.context; - // eslint-disable-next-line no-cond-assign while ((match = urlRegex.exec(value))) { - const originalUrl = match[1]; + const originalUrl = match[2]; let processedUrl; try { processedUrl = await process(originalUrl, context, resourceCache); From 4fa09c160cdf31905de133ecfc4d671c7751bd06 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Mon, 15 Aug 2022 16:22:18 -0700 Subject: [PATCH 0789/1388] build: prevent busting bazel analysis cache between build and test --- .bazelrc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.bazelrc b/.bazelrc index 88bfdaac6be4..d5f02adbcdc8 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,5 +1,5 @@ # Disable NG CLI TTY mode -test --action_env=NG_FORCE_TTY=false +build --action_env=NG_FORCE_TTY=false # Make TypeScript compilation fast, by keeping a few copies of the compiler # running as daemons, and cache SourceFile AST's to reduce parse time. @@ -50,6 +50,12 @@ test --incompatible_strict_action_env # Enable remote caching of build/action tree build --experimental_remote_merkle_tree_cache +# Ensure that tags applied in BUILDs propagate to actions +build --incompatible_allow_tags_propagation + +# Don't check if output files have been modified +build --noexperimental_check_output_files + # Ensure sandboxing is enabled even for exclusive tests test --incompatible_exclusive_test_sandboxed @@ -146,6 +152,9 @@ build:remote --google_default_credentials # These settings are required for rules_nodejs ############################### +# Fixes use of npm paths with spaces such as some within the puppeteer module +build --experimental_inprocess_symlink_creation + #################################################### # User bazel configuration # NOTE: This needs to be the *last* entry in the config. @@ -157,4 +166,4 @@ try-import .bazelrc.user # Enable runfiles even on Windows. # Architect resolves output files from data files, and this isn't possible without runfile support. -test --enable_runfiles +build --enable_runfiles From da271addf04832da5176f6a30894b31e49ca86c4 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 22 Aug 2022 14:44:06 -0700 Subject: [PATCH 0790/1388] refactor(@angular/cli): update analytics prompt copy Swapping `anonymous` for `pseudonymous` to align with privacy communication guidelines. --- packages/angular/cli/lib/config/workspace-schema.json | 4 ++-- packages/angular/cli/src/analytics/analytics.ts | 6 +++--- tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index 25cd535a1407..22ca397a958b 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -72,7 +72,7 @@ }, "analytics": { "type": ["boolean", "string"], - "description": "Share anonymous usage data with the Angular Team at Google." + "description": "Share pseudonymous usage data with the Angular Team at Google." }, "analyticsSharing": { "type": "object", @@ -147,7 +147,7 @@ }, "analytics": { "type": ["boolean", "string"], - "description": "Share anonymous usage data with the Angular Team at Google." + "description": "Share pseudonymous usage data with the Angular Team at Google." }, "analyticsSharing": { "type": "object", diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 80723b681940..077fcc295e04 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -103,8 +103,8 @@ export async function promptAnalytics(global: boolean, force = false): Promise Date: Mon, 22 Aug 2022 11:06:14 +0000 Subject: [PATCH 0791/1388] build: update github/codeql-action action to v2.1.20 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3f7bd504a42c..b4345f0d50e4 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@2ca79b6fa8d3ec278944088b4aa5f46912db5d63 # tag=v2.1.18 + uses: github/codeql-action/upload-sarif@7fee4ca032ac341c12486c4c06822c5221c76533 # tag=v2.1.20 with: sarif_file: results.sarif From 4f4f9c9063a60019e242e6ab212c778e63e0f64a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 12 Aug 2022 13:24:47 -0400 Subject: [PATCH 0792/1388] refactor(@angular-devkit/build-angular): move esbuild builder global stylesheet bundling into separate function The global stylesheet bundling and processing code has been moved out of the main builder execution function and into a separate function. This shortens the length of the main execution function for the builder and also allows for further refactoring to allow the code and global stylesheet bundling to be executed at the same time. --- .../src/builders/browser-esbuild/index.ts | 145 +++++++++++------- 1 file changed, 90 insertions(+), 55 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 543da3d6e788..217fcef316ca 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import * as assert from 'assert'; -import type { OutputFile } from 'esbuild'; +import type { Message, OutputFile } from 'esbuild'; import { promises as fs } from 'fs'; import * as path from 'path'; import { NormalizedOptimizationOptions, deleteOutputDir } from '../../utils'; @@ -144,62 +144,22 @@ export async function buildEsbuildBrowser( } // Process global stylesheets - if (options.styles) { - // resolveGlobalStyles is temporarily reused from the Webpack builder code - const { entryPoints: stylesheetEntrypoints, noInjectNames } = resolveGlobalStyles( - options.styles, - workspaceRoot, - // preserveSymlinks is always true here to allow the bundler to handle the option - true, - // skipResolution to leverage the bundler's more comprehensive resolution - true, - ); - for (const [name, files] of Object.entries(stylesheetEntrypoints)) { - const virtualEntryData = files - .map((file) => `@import '${file.replace(/\\/g, '/')}';`) - .join('\n'); - const sheetResult = await bundleStylesheetText( - virtualEntryData, - { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, - { - workspaceRoot, - optimization: !!optimizationOptions.styles.minify, - sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), - outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, - includePaths: options.stylePreprocessorOptions?.includePaths, - preserveSymlinks: options.preserveSymlinks, - externalDependencies: options.externalDependencies, - }, - ); - - await logMessages(context, sheetResult); - if (!sheetResult.path) { - // Failed to process the stylesheet - assert.ok( - sheetResult.errors.length, - `Global stylesheet processing for '${name}' failed with no errors.`, - ); + const styleResults = await bundleGlobalStylesheets( + workspaceRoot, + outputNames, + options, + optimizationOptions, + sourcemapOptions, + ); + outputFiles.push(...styleResults.outputFiles); + initialFiles.push(...styleResults.initialFiles); - return { success: false }; - } + // Log all warnings and errors generated during bundling + await logMessages(context, styleResults); - // The virtual stylesheets will be named `stdin` by esbuild. This must be replaced - // with the actual name of the global style and the leading directory separator must - // also be removed to make the path relative. - const sheetPath = sheetResult.path.replace('stdin', name); - outputFiles.push(createOutputFileFromText(sheetPath, sheetResult.contents)); - if (sheetResult.map) { - outputFiles.push(createOutputFileFromText(sheetPath + '.map', sheetResult.map)); - } - if (!noInjectNames.includes(name)) { - initialFiles.push({ - file: sheetPath, - name, - extension: '.css', - }); - } - outputFiles.push(...sheetResult.resourceFiles); - } + // Return if the bundling has errors + if (styleResults.errors.length) { + return { success: false }; } // Generate index HTML file @@ -366,4 +326,79 @@ async function bundleCode( }); } +async function bundleGlobalStylesheets( + workspaceRoot: string, + outputNames: { bundles: string; media: string }, + options: BrowserBuilderOptions, + optimizationOptions: NormalizedOptimizationOptions, + sourcemapOptions: SourceMapClass, +) { + const outputFiles: OutputFile[] = []; + const initialFiles: FileInfo[] = []; + const errors: Message[] = []; + const warnings: Message[] = []; + + // resolveGlobalStyles is temporarily reused from the Webpack builder code + const { entryPoints: stylesheetEntrypoints, noInjectNames } = resolveGlobalStyles( + options.styles || [], + workspaceRoot, + // preserveSymlinks is always true here to allow the bundler to handle the option + true, + // skipResolution to leverage the bundler's more comprehensive resolution + true, + ); + + for (const [name, files] of Object.entries(stylesheetEntrypoints)) { + const virtualEntryData = files + .map((file) => `@import '${file.replace(/\\/g, '/')}';`) + .join('\n'); + const sheetResult = await bundleStylesheetText( + virtualEntryData, + { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, + { + workspaceRoot, + optimization: !!optimizationOptions.styles.minify, + sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), + outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, + includePaths: options.stylePreprocessorOptions?.includePaths, + preserveSymlinks: options.preserveSymlinks, + externalDependencies: options.externalDependencies, + }, + ); + + errors.push(...sheetResult.errors); + warnings.push(...sheetResult.warnings); + + if (!sheetResult.path) { + // Failed to process the stylesheet + assert.ok( + sheetResult.errors.length, + `Global stylesheet processing for '${name}' failed with no errors.`, + ); + + continue; + } + + // The virtual stylesheets will be named `stdin` by esbuild. This must be replaced + // with the actual name of the global style and the leading directory separator must + // also be removed to make the path relative. + const sheetPath = sheetResult.path.replace('stdin', name); + outputFiles.push(createOutputFileFromText(sheetPath, sheetResult.contents)); + if (sheetResult.map) { + outputFiles.push(createOutputFileFromText(sheetPath + '.map', sheetResult.map)); + } + + if (!noInjectNames.includes(name)) { + initialFiles.push({ + file: sheetPath, + name, + extension: '.css', + }); + } + outputFiles.push(...sheetResult.resourceFiles); + } + + return { outputFiles, initialFiles, errors, warnings }; +} + export default createBuilder(buildEsbuildBrowser); From 823852d8c24086351b7e6180bc88f3760b46ee23 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 22 Aug 2022 12:07:01 -0400 Subject: [PATCH 0793/1388] refactor(@angular-devkit/build-angular): process esbuild builder global stylesheets and code at the same time The global stylesheet processing using esbuild and the code bundling that also uses esbuild are now executed asynchronously. Previously, the global stylesheet processing was required to wait until the code bundling was complete before starting. Any warnings and/or errors for global stylesheets will also now be shown even if there are errors during code bundling. --- .../src/builders/browser-esbuild/index.ts | 71 ++++++++++--------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 217fcef316ca..20a8b9a3f5b7 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -93,32 +93,45 @@ export async function buildEsbuildBrowser( ), ); - // Execute esbuild - const result = await bundleCode( - workspaceRoot, - entryPoints, - outputNames, - options, - optimizationOptions, - sourcemapOptions, - tsconfig, - ); + const [codeResults, styleResults] = await Promise.all([ + // Execute esbuild to bundle the application code + bundleCode( + workspaceRoot, + entryPoints, + outputNames, + options, + optimizationOptions, + sourcemapOptions, + tsconfig, + ), + // Execute esbuild to bundle the global stylesheets + bundleGlobalStylesheets( + workspaceRoot, + outputNames, + options, + optimizationOptions, + sourcemapOptions, + ), + ]); // Log all warnings and errors generated during bundling - await logMessages(context, result); + await logMessages(context, { + errors: [...codeResults.errors, ...styleResults.errors], + warnings: [...codeResults.warnings, ...styleResults.warnings], + }); // Return if the bundling failed to generate output files or there are errors - if (!result.outputFiles || result.errors.length) { + if (!codeResults.outputFiles || codeResults.errors.length) { return { success: false }; } - // Structure the bundling output files + // Structure the code bundling output files const initialFiles: FileInfo[] = []; const outputFiles: OutputFile[] = []; - for (const outputFile of result.outputFiles) { + for (const outputFile of codeResults.outputFiles) { // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot const relativeFilePath = path.relative(workspaceRoot, outputFile.path); - const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; + const entryPoint = codeResults.metafile?.outputs[relativeFilePath]?.entryPoint; outputFile.path = relativeFilePath; @@ -133,6 +146,15 @@ export async function buildEsbuildBrowser( outputFiles.push(outputFile); } + // Add global stylesheets output files + outputFiles.push(...styleResults.outputFiles); + initialFiles.push(...styleResults.initialFiles); + + // Return if the global stylesheet bundling has errors + if (styleResults.errors.length) { + return { success: false }; + } + // Create output directory if needed try { await fs.mkdir(outputPath, { recursive: true }); @@ -143,25 +165,6 @@ export async function buildEsbuildBrowser( return { success: false }; } - // Process global stylesheets - const styleResults = await bundleGlobalStylesheets( - workspaceRoot, - outputNames, - options, - optimizationOptions, - sourcemapOptions, - ); - outputFiles.push(...styleResults.outputFiles); - initialFiles.push(...styleResults.initialFiles); - - // Log all warnings and errors generated during bundling - await logMessages(context, styleResults); - - // Return if the bundling has errors - if (styleResults.errors.length) { - return { success: false }; - } - // Generate index HTML file if (options.index) { const entrypoints = generateEntryPoints({ From a910ae992c94c0987a2f3f5ea0c77173d8e4233d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 23 Aug 2022 13:18:19 -0400 Subject: [PATCH 0794/1388] perf(@angular-devkit/build-angular): avoid extra string creation with no sourcemaps for esbuild sass When using the experimental esbuild-based browser application builder with Sass stylesheets, an additional string creation for each output stylesheet will now be avoided when sourcemaps are disabled. --- .../src/builders/browser-esbuild/sass-plugin.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index a6238493f827..cd315855b119 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -42,7 +42,7 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri return { loader: 'css', - contents: `${css}\n${sourceMapToUrlComment(sourceMap)}`, + contents: sourceMap ? `${css}\n${sourceMapToUrlComment(sourceMap)}` : css, watchFiles: loadedUrls.map((url) => fileURLToPath(url)), warnings, }; @@ -68,11 +68,7 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri }; } -function sourceMapToUrlComment(sourceMap: CompileResult['sourceMap']): string { - if (!sourceMap) { - return ''; - } - +function sourceMapToUrlComment(sourceMap: Exclude): string { const urlSourceMap = Buffer.from(JSON.stringify(sourceMap), 'utf-8').toString('base64'); return `/*# sourceMappingURL=data:application/json;charset=utf-8;base64,${urlSourceMap} */`; From 87a61aac362eb8fc343645b7e6856d8235bb694f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 23 Aug 2022 13:22:02 -0400 Subject: [PATCH 0795/1388] perf(@angular-devkit/build-angular): with esbuild builder only load Sass compiler when needed Previously, the Sass compiler was imported on the start of every build regardless of its usage. The Sass compiler will now only be loaded if a Sass stylesheet is requested. --- .../src/builders/browser-esbuild/sass-plugin.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index cd315855b119..0c820f1ffe1a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -16,12 +16,10 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri setup(build: PluginBuild): void { let sass: typeof import('sass'); - build.onStart(async () => { - // Lazily load Sass - sass = await import('sass'); - }); + build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { + // Lazily load Sass when a Sass file is found + sass ??= await import('sass'); - build.onLoad({ filter: /\.s[ac]ss$/ }, (args) => { try { const warnings: PartialMessage[] = []; // Use sync version as async version is slower. From b647d8069fe5c7e597084a89a238cd507f8ef901 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 24 Aug 2022 20:21:42 -0400 Subject: [PATCH 0796/1388] fix(@angular-devkit/build-angular): correct esbuild builder global stylesheet sourcemap URL The sourcemap URL in the output CSS files for global stylesheets is now correctly updated to reflect the name of the global stylesheet output file and not the internal `stdin` virtual file name. --- .../build_angular/src/builders/browser-esbuild/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 20a8b9a3f5b7..6d8027a660aa 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -386,10 +386,15 @@ async function bundleGlobalStylesheets( // with the actual name of the global style and the leading directory separator must // also be removed to make the path relative. const sheetPath = sheetResult.path.replace('stdin', name); - outputFiles.push(createOutputFileFromText(sheetPath, sheetResult.contents)); + let sheetContents = sheetResult.contents; if (sheetResult.map) { outputFiles.push(createOutputFileFromText(sheetPath + '.map', sheetResult.map)); + sheetContents = sheetContents.replace( + 'sourceMappingURL=stdin.css.map', + `sourceMappingURL=${name}.css.map`, + ); } + outputFiles.push(createOutputFileFromText(sheetPath, sheetContents)); if (!noInjectNames.includes(name)) { initialFiles.push({ From 5172bd395f10f02c98cca4d9933a085d5e5c5792 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Thu, 25 Aug 2022 16:56:47 +0000 Subject: [PATCH 0797/1388] build: update ng-dev version update to the latest version of ng-dev --- package.json | 2 +- yarn.lock | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c6177eb271d6..d4a302be195b 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@angular/forms": "14.2.0-rc.0", "@angular/localize": "14.2.0-rc.0", "@angular/material": "14.2.0-rc.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#1a7be8a4a108ae0eee5c496072ce865043146d4d", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca", "@angular/platform-browser": "14.2.0-rc.0", "@angular/platform-browser-dynamic": "14.2.0-rc.0", "@angular/platform-server": "14.2.0-rc.0", diff --git a/yarn.lock b/yarn.lock index 283138007899..5f096c54a17f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484": version "0.0.0-5ffe2357f61a57d16f44a3209cd880c211c575b5" - uid "2c68d0f9752df9bdbb185b89630ea085a2e62484" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" @@ -264,10 +263,9 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#1a7be8a4a108ae0eee5c496072ce865043146d4d": - version "0.0.0-5ffe2357f61a57d16f44a3209cd880c211c575b5" - uid "1a7be8a4a108ae0eee5c496072ce865043146d4d" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#1a7be8a4a108ae0eee5c496072ce865043146d4d" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca": + version "0.0.0-806c568a439877f69b975aedbf5e4eb26fd7eaaf" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" From 2925f067da487cd75678eba805d835a70c7279bb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 26 Aug 2022 08:27:46 +0000 Subject: [PATCH 0798/1388] test: remove hardcoded worker chunk id This commit changes how we retrieve the worker chunk Id. Prior to this change we hard coded the value, now we get it by reading the file names on disk. --- tests/legacy-cli/e2e/tests/build/worker.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/legacy-cli/e2e/tests/build/worker.ts b/tests/legacy-cli/e2e/tests/build/worker.ts index a930a8ce3ff2..a8dc02e0b4f9 100644 --- a/tests/legacy-cli/e2e/tests/build/worker.ts +++ b/tests/legacy-cli/e2e/tests/build/worker.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { readdir } from 'fs/promises'; import { expectFileToExist, expectFileToMatch, replaceInFile, writeFile } from '../../utils/fs'; import { ng } from '../../utils/process'; @@ -26,7 +27,8 @@ export default async function () { await expectFileToMatch('dist/test-project/main.js', 'src_app_app_worker_ts'); await ng('build', '--output-hashing=none'); - const chunkId = '151'; + + const chunkId = await getWorkerChunkId(); await expectFileToExist(`dist/test-project/${chunkId}.js`); await expectFileToMatch('dist/test-project/main.js', chunkId); @@ -53,3 +55,14 @@ export default async function () { await ng('e2e'); } + +async function getWorkerChunkId(): Promise { + const files = await readdir('dist/test-project'); + const fileName = files.find((f) => /^\d{3}\.js$/.test(f)); + + if (!fileName) { + throw new Error('Cannot determine worker chunk Id.'); + } + + return fileName.substring(0, 3); +} From 7e35e2918b7e86876e7deadb1341cc4a288e8fc6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 26 Aug 2022 09:25:22 +0000 Subject: [PATCH 0799/1388] test: account for module resolution differences In some cases due to module resolution '@ngtools' might already been under `@angular-devkit/build-angular`. --- .../e2e/tests/misc/loaders-resolution.ts | 43 +++++++++++++++---- tests/legacy-cli/e2e/utils/utils.ts | 9 ++++ 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts b/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts index 0bf3fd519471..b411ab60514a 100644 --- a/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts +++ b/tests/legacy-cli/e2e/tests/misc/loaders-resolution.ts @@ -1,18 +1,45 @@ import { createDir, moveFile } from '../../utils/fs'; import { ng } from '../../utils/process'; +import { assertIsError } from '../../utils/utils'; export default async function () { await createDir('node_modules/@angular-devkit/build-angular/node_modules'); - await moveFile( - 'node_modules/@ngtools', - 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', - ); + let originalInRootNodeModules = true; + + try { + await moveFile( + 'node_modules/@ngtools', + 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', + ); + } catch (e) { + assertIsError(e); + + if (e.code !== 'ENOENT') { + throw e; + } + + // In some cases due to module resolution '@ngtools' might already been under `@angular-devkit/build-angular`. + originalInRootNodeModules = false; + await moveFile( + 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', + 'node_modules/@ngtools', + ); + } await ng('build', '--configuration=development'); // Move it back. - await moveFile( - 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', - 'node_modules/@ngtools', - ); + await moveBack(originalInRootNodeModules); +} + +function moveBack(originalInRootNodeModules: Boolean): Promise { + return originalInRootNodeModules + ? moveFile( + 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', + 'node_modules/@ngtools', + ) + : moveFile( + 'node_modules/@ngtools', + 'node_modules/@angular-devkit/build-angular/node_modules/@ngtools', + ); } diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index b6e8374c464c..f157b77ec2c2 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -1,3 +1,4 @@ +import assert from 'assert'; import { mkdtemp, realpath, rm } from 'fs/promises'; import { tmpdir } from 'os'; import path from 'path'; @@ -41,3 +42,11 @@ export async function mockHome(cb: (home: string) => Promise): Promise Date: Thu, 25 Aug 2022 15:27:54 -0700 Subject: [PATCH 0800/1388] docs: release notes for the v14.2.0 release --- CHANGELOG.md | 73 ++++++++++++---------------------------------------- 1 file changed, 17 insertions(+), 56 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4e194d2c57d..2eb906d3ba4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,28 @@ - + -# 14.2.0-rc.0 (2022-08-17) +# 14.2.0 (2022-08-25) - - - +### @angular/cli -# 14.2.0-next.2 (2022-08-17) +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [596037010](https://github.com/angular/angular-cli/commit/596037010a8113809657cebc9385d040922e6d86) | fix | add missing space after period in warning text | -### @angular-devkit/core +### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | -| [db17eac25](https://github.com/angular/angular-cli/commit/db17eac2517e32c3d147ca9e191871b92e6e7888) | fix | update workspace extension warning to use correct phrasing | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | +| [44c25511e](https://github.com/angular/angular-cli/commit/44c25511ea2adbd4fbe82a6122fc00af612be8e8) | feat | add ability to serve service worker when using dev-server | +| [3fb569b5c](https://github.com/angular/angular-cli/commit/3fb569b5c82f22afca4dc59313356f198755827e) | feat | switch to Sass modern API in esbuild builder | +| [5bd03353a](https://github.com/angular/angular-cli/commit/5bd03353ac6bb19c983efb7ff015e7aec3ff61d1) | fix | correct esbuild builder global stylesheet sourcemap URL | +| [c4402b1bd](https://github.com/angular/angular-cli/commit/c4402b1bd32cdb0cdd7aeab14239b57ee700d361) | fix | correctly handle parenthesis in url | +| [50c783307](https://github.com/angular/angular-cli/commit/50c783307eb1253f4f2a87502bd7a19f6a409aeb) | fix | use valid CSS comment for sourcemaps with Sass in esbuild builder | +| [4c251853f](https://github.com/angular/angular-cli/commit/4c251853fbc66c6c9aae171dc75612db31afe2fb) | perf | avoid extra string creation with no sourcemaps for esbuild sass | +| [d97640534](https://github.com/angular/angular-cli/commit/d9764053478620a5f4a3349c377c74415435bcbb) | perf | with esbuild builder only load Sass compiler when needed | ## Special Thanks -AgentEnder, Alan Agius, Charles Lyding and Jason Bedard +Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott, Kristiyan Kostadinov and angular-robot[bot] @@ -36,35 +42,6 @@ AgentEnder, Alan Agius, Charles Lyding and Jason Bedard - - -# 14.2.0-next.1 (2022-08-11) - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- | -| [44c25511e](https://github.com/angular/angular-cli/commit/44c25511ea2adbd4fbe82a6122fc00af612be8e8) | feat | add ability to serve service worker when using dev-server | -| [3fb569b5c](https://github.com/angular/angular-cli/commit/3fb569b5c82f22afca4dc59313356f198755827e) | feat | switch to Sass modern API in esbuild builder | -| [7de9b470c](https://github.com/angular/angular-cli/commit/7de9b470cb54d974027a8baf88b611585fc526c7) | fix | avoid collect stats from chunks with no files | -| [70bc35456](https://github.com/angular/angular-cli/commit/70bc35456aa5b58ce1a0e2440ebb6533c7f5e48b) | fix | correctly handle data URIs with escaped quotes in stylesheets | -| [f474bf532](https://github.com/angular/angular-cli/commit/f474bf532f89a296eb1b47f941998d73c1c51e8a) | fix | process stylesheet resources from url tokens with esbuild browser builder | -| [50c783307](https://github.com/angular/angular-cli/commit/50c783307eb1253f4f2a87502bd7a19f6a409aeb) | fix | use valid CSS comment for sourcemaps with Sass in esbuild builder | -| [3e3dc6962](https://github.com/angular/angular-cli/commit/3e3dc6962d49cb8e8575146b22d134732cfff39f) | perf | reduce babel transformation in esbuild builder | -| [8f9cee351](https://github.com/angular/angular-cli/commit/8f9cee351e5cc7da5a75b1a9b06306bc224e6b56) | perf | use esbuild in esbuild builder to downlevel native async/await | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- | -| [cf9afeec2](https://github.com/angular/angular-cli/commit/cf9afeec20c035386a081fdeec98c9f26f82692e) | fix | elide type only named imports when using `emitDecoratorMetadata` | - -## Special Thanks - -Alan Agius, Charles Lyding and Jason Bedard - - - # 14.1.2 (2022-08-10) @@ -91,22 +68,6 @@ Alan Agius, Charles Lyding and Jason Bedard - - -# 14.2.0-next.0 (2022-08-03) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | -| [596037010](https://github.com/angular/angular-cli/commit/596037010a8113809657cebc9385d040922e6d86) | fix | add missing space after period in warning text | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Jason Bedard and angular-robot[bot] - - - # 14.1.1 (2022-08-03) From 2cfc3f90fad4be17e5bd4c83f81e1853ade914e9 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Fri, 26 Aug 2022 14:52:42 -0700 Subject: [PATCH 0801/1388] docs: release notes for the v14.2.1 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2eb906d3ba4a..265c3c8fde31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.2.1 (2022-08-26) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | +| [e4ca46866](https://github.com/angular/angular-cli/commit/e4ca4686627bd31604cf68bc1d2473337e26864c) | fix | update ng-packagr version to `^14.2.0` | + +## Special Thanks + +Alan Agius + + + # 14.2.0 (2022-08-25) From fd4755d4063f301ada3797afa7391f0f48270c27 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 18 Aug 2022 17:25:21 -0700 Subject: [PATCH 0802/1388] test: watch full stdout when waiting for match --- .../e2e/tests/build/bundle-budgets.ts | 2 +- tests/legacy-cli/e2e/utils/process.ts | 107 +++++++++--------- tests/legacy-cli/e2e/utils/utils.ts | 4 +- 3 files changed, 55 insertions(+), 58 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts b/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts index 2a6909413462..fec3dea7d93e 100644 --- a/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts +++ b/tests/legacy-cli/e2e/tests/build/bundle-budgets.ts @@ -17,7 +17,7 @@ export default async function () { ]; }); - const errorMessage = await expectToFail(() => ng('build')); + const { message: errorMessage } = await expectToFail(() => ng('build')); if (!/Error.+budget/.test(errorMessage)) { throw new Error('Budget error: all, max error.'); } diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index f4f94bc09760..cb635fec5b55 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -29,8 +29,6 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { - stdout += data.toString('utf-8'); - if (options.silent) { - return; - } - data - .toString('utf-8') - .split(/[\n\r]+/) - .filter((line) => line !== '') - .forEach((line) => console.log(' ' + line)); - }); - - childProcess.stderr!.on('data', (data: Buffer) => { - stderr += data.toString('utf-8'); - if (options.silent) { - return; - } - data - .toString('utf-8') - .split(/[\n\r]+/) - .filter((line) => line !== '') - .forEach((line) => console.error(colors.yellow(' ' + line))); - }); _processes.push(childProcess); // Create the error here so the stack shows who called this function. const error = new Error(); - // Return log info about the current process status - function envDump() { - return [ - `ENV:${JSON.stringify(spawnOptions.env, null, 2)}`, - `STDOUT:\n${stdout}`, - `STDERR:\n${stderr}`, - ].join('\n\n'); - } - return new Promise((resolve, reject) => { + let stdout = ''; + let stderr = ''; let matched = false; - childProcess.on('exit', (code: number) => { + // Return log info about the current process status + function envDump() { + return [ + `ENV:${JSON.stringify(spawnOptions.env, null, 2)}`, + `STDOUT:\n${stdout}`, + `STDERR:\n${stderr}`, + ].join('\n\n'); + } + + childProcess.stdout!.on('data', (data: Buffer) => { + stdout += data.toString('utf-8'); + + if (options.waitForMatch && stdout.match(options.waitForMatch)) { + resolve({ stdout, stderr }); + matched = true; + } + + if (options.silent) { + return; + } + + data + .toString('utf-8') + .split(/[\n\r]+/) + .filter((line) => line !== '') + .forEach((line) => console.log(' ' + line)); + }); + + childProcess.stderr!.on('data', (data: Buffer) => { + stderr += data.toString('utf-8'); + + if (options.waitForMatch && stderr.match(options.waitForMatch)) { + resolve({ stdout, stderr }); + matched = true; + } + + if (options.silent) { + return; + } + + data + .toString('utf-8') + .split(/[\n\r]+/) + .filter((line) => line !== '') + .forEach((line) => console.error(colors.yellow(' ' + line))); + }); + + childProcess.on('close', (code: number) => { _processes = _processes.filter((p) => p !== childProcess); if (options.waitForMatch && !matched) { @@ -134,24 +149,6 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { - if (data.toString().match(match)) { - resolve({ stdout, stderr }); - matched = true; - } - }); - - childProcess.stderr!.on('data', (data: Buffer) => { - if (data.toString().match(match)) { - resolve({ stdout, stderr }); - matched = true; - } - }); - } - // Provide input to stdin if given. if (options.stdin) { childProcess.stdin!.write(options.stdin); @@ -192,14 +189,14 @@ export function waitForAnyProcessOutputToMatch( childProcess.stdout!.on('data', (data: Buffer) => { stdout += data.toString(); - if (data.toString().match(match)) { + if (stdout.match(match)) { resolve({ stdout, stderr }); } }); childProcess.stderr!.on('data', (data: Buffer) => { stderr += data.toString(); - if (data.toString().match(match)) { + if (stderr.match(match)) { resolve({ stdout, stderr }); } }); diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index f157b77ec2c2..6e9c8da3e756 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -3,7 +3,7 @@ import { mkdtemp, realpath, rm } from 'fs/promises'; import { tmpdir } from 'os'; import path from 'path'; -export function expectToFail(fn: () => Promise, errorMessage?: string): Promise { +export function expectToFail(fn: () => Promise, errorMessage?: string): Promise { return fn().then( () => { const functionSource = fn.name || (fn).source || fn.toString(); @@ -13,7 +13,7 @@ export function expectToFail(fn: () => Promise, errorMessage?: string): Pro ); }, (err) => { - return err; + return err instanceof Error ? err : new Error(err); }, ); } From 8112d7bae0c41c6f2d77a19cae7deedad3d810d9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 12 Aug 2022 13:33:13 +0000 Subject: [PATCH 0803/1388] test: remove reliance on built tarballs in E2E tests Remove reliance on tarballs during E2E. Instead we always download the package from the private NPM server. --- .../e2e/tests/misc/cli-exit-interop.ts | 8 +++--- .../e2e/tests/packages/webpack/test-app.ts | 4 +-- .../tests/update/update-multiple-versions.ts | 9 +++---- tests/legacy-cli/e2e/tests/update/update.ts | 9 ++++--- tests/legacy-cli/e2e/utils/assets.ts | 26 ++++++++++--------- tests/legacy-cli/e2e/utils/project.ts | 6 ++--- 6 files changed, 32 insertions(+), 30 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts index f0d13c465101..e22ddd5a41f8 100644 --- a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts +++ b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts @@ -1,6 +1,5 @@ import { createProjectFromAsset } from '../../utils/assets'; import { moveFile, replaceInFile } from '../../utils/fs'; -import { setRegistry } from '../../utils/packages'; import { noSilentNg } from '../../utils/process'; import { useCIChrome, useCIDefaults } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; @@ -12,11 +11,12 @@ import { expectToFail } from '../../utils/utils'; */ export default async function () { + let restoreRegistry: (() => Promise) | undefined; + try { // We need to use the public registry because in the local NPM server we don't have // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. - await setRegistry(false); - await createProjectFromAsset('13.0-project', true); + restoreRegistry = await createProjectFromAsset('13.0-project', true); // A missing stylesheet error will trigger the stuck process issue with v13 when building await moveFile('src/styles.css', 'src/styles.scss'); @@ -30,6 +30,6 @@ export default async function () { await useCIDefaults('thirteen-project'); await noSilentNg('test', '--watch=false'); } finally { - await setRegistry(true); + await restoreRegistry?.(); } } diff --git a/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts b/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts index 37546944cb54..2ddcca27f97f 100644 --- a/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts +++ b/tests/legacy-cli/e2e/tests/packages/webpack/test-app.ts @@ -5,8 +5,7 @@ import { execWithEnv } from '../../../utils/process'; export default async function () { const webpackCLIBin = normalize('node_modules/.bin/webpack-cli'); - - await createProjectFromAsset('webpack/test-app'); + const restoreRegistry = await createProjectFromAsset('webpack/test-app'); // DISABLE_V8_COMPILE_CACHE=1 is required to disable the `v8-compile-cache` package. // It currently does not support dynamic import expressions which are now required by the @@ -30,4 +29,5 @@ export default async function () { 'DISABLE_V8_COMPILE_CACHE': '1', }); await expectFileToMatch('dist/app.main.js', 'AppModule'); + await restoreRegistry(); } diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts index afae2e771fb2..02e4bb7daecd 100644 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -1,14 +1,13 @@ import { createProjectFromAsset } from '../../utils/assets'; -import { installWorkspacePackages, setRegistry } from '../../utils/packages'; +import { setRegistry } from '../../utils/packages'; import { ng } from '../../utils/process'; import { isPrereleaseCli } from '../../utils/project'; import { expectToFail } from '../../utils/utils'; export default async function () { + let restoreRegistry: (() => Promise) | undefined; try { - await createProjectFromAsset('12.0-project', true, true); - await setRegistry(false); - await installWorkspacePackages(); + restoreRegistry = await createProjectFromAsset('12.0-project', true); await setRegistry(true); const extraArgs = ['--force']; @@ -38,6 +37,6 @@ export default async function () { ); } } finally { - await setRegistry(true); + await restoreRegistry?.(); } } diff --git a/tests/legacy-cli/e2e/tests/update/update.ts b/tests/legacy-cli/e2e/tests/update/update.ts index 25812d3045a5..989d5910fe60 100644 --- a/tests/legacy-cli/e2e/tests/update/update.ts +++ b/tests/legacy-cli/e2e/tests/update/update.ts @@ -2,16 +2,17 @@ import { appendFile } from 'fs/promises'; import { SemVer } from 'semver'; import { createProjectFromAsset } from '../../utils/assets'; import { expectFileMatchToExist, readFile } from '../../utils/fs'; -import { getActivePackageManager, setRegistry } from '../../utils/packages'; +import { getActivePackageManager } from '../../utils/packages'; import { ng, noSilentNg } from '../../utils/process'; import { isPrereleaseCli, useCIChrome, useCIDefaults, NgCLIVersion } from '../../utils/project'; export default async function () { + let restoreRegistry: (() => Promise) | undefined; + try { // We need to use the public registry because in the local NPM server we don't have // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. - await setRegistry(false); - await createProjectFromAsset('12.0-project', true); + restoreRegistry = await createProjectFromAsset('12.0-project', true); // If using npm, enable legacy peer deps mode to avoid defects in npm 7+'s peer dependency resolution // Example error where 11.2.14 satisfies the SemVer range ^11.0.0 but still fails: @@ -49,7 +50,7 @@ export default async function () { } } } finally { - await setRegistry(true); + await restoreRegistry?.(); } // Update Angular current build diff --git a/tests/legacy-cli/e2e/utils/assets.ts b/tests/legacy-cli/e2e/utils/assets.ts index 6b472d177d62..4fc9fee81537 100644 --- a/tests/legacy-cli/e2e/utils/assets.ts +++ b/tests/legacy-cli/e2e/utils/assets.ts @@ -2,10 +2,10 @@ import { join } from 'path'; import { chmod } from 'fs/promises'; import glob from 'glob'; import { getGlobalVariable } from './env'; -import { relative, resolve } from 'path'; -import { copyFile, writeFile } from './fs'; -import { installWorkspacePackages } from './packages'; -import { useBuiltPackages } from './project'; +import { resolve } from 'path'; +import { copyFile } from './fs'; +import { installWorkspacePackages, setRegistry } from './packages'; +import { useBuiltPackagesVersions } from './project'; export function assetDir(assetName: string) { return join(__dirname, '../assets', assetName); @@ -42,24 +42,26 @@ export function copyAssets(assetName: string, to?: string) { .then(() => tempRoot); } +/** + * @returns a method that once called will restore the environment + * to use the local NPM registry. + * */ export async function createProjectFromAsset( assetName: string, useNpmPackages = false, skipInstall = false, -) { +): Promise<() => Promise> { const dir = await copyAssets(assetName); process.chdir(dir); + + await setRegistry(!useNpmPackages /** useTestRegistry */); + if (!useNpmPackages) { - await useBuiltPackages(); - if (!getGlobalVariable('ci')) { - const testRegistry = getGlobalVariable('package-registry'); - await writeFile('.npmrc', `registry=${testRegistry}`); - } + await useBuiltPackagesVersions(); } - if (!skipInstall) { await installWorkspacePackages(); } - return dir; + return () => setRegistry(true /** useTestRegistry */); } diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 8a06b02b0eae..9704721bfc0c 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -94,16 +94,16 @@ export async function prepareProjectForE2e(name: string) { await gitCommit('prepare-project-for-e2e'); } -export function useBuiltPackages(): Promise { +export function useBuiltPackagesVersions(): Promise { return updateJsonFile('package.json', (json) => { json['dependencies'] ??= {}; json['devDependencies'] ??= {}; for (const packageName of Object.keys(packages)) { if (packageName in json['dependencies']) { - json['dependencies'][packageName] = packages[packageName].tar; + json['dependencies'][packageName] = packages[packageName].version; } else if (packageName in json['devDependencies']) { - json['devDependencies'][packageName] = packages[packageName].tar; + json['devDependencies'][packageName] = packages[packageName].version; } } }); From 4c330b0bc13838da29328046b6e39c79b609c4de Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 23 Aug 2022 12:42:16 -0700 Subject: [PATCH 0804/1388] test: ensure saucelabs tests are not excluded in CI --- .circleci/dynamic_config.yml | 6 ++---- tests/legacy-cli/e2e/tests/misc/browsers.ts | 4 ---- tests/legacy-cli/e2e/utils/process.ts | 10 ++++++++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 5b8a1fe733c9..cbb3046c2156 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -237,7 +237,7 @@ jobs: - run: name: Execute CLI E2E Tests with NPM command: | - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e + node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e --ignore="tests/misc/browsers.ts" - when: condition: equal: ['esbuild', << parameters.subset >>] @@ -259,8 +259,6 @@ jobs: test-browsers: executor: name: test-executor - environment: - E2E_BROWSERS: true resource_class: medium steps: - custom_attach_workspace @@ -355,7 +353,7 @@ jobs: name: Execute E2E Tests command: | mkdir X:/ramdisk/e2e-main - node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main + node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main --ignore="tests/misc/browsers.ts" - fail_fast workflows: diff --git a/tests/legacy-cli/e2e/tests/misc/browsers.ts b/tests/legacy-cli/e2e/tests/misc/browsers.ts index c6a01b2552ba..7f5638250f9f 100644 --- a/tests/legacy-cli/e2e/tests/misc/browsers.ts +++ b/tests/legacy-cli/e2e/tests/misc/browsers.ts @@ -5,10 +5,6 @@ import { replaceInFile } from '../../utils/fs'; import { ng } from '../../utils/process'; export default async function () { - if (!process.env['E2E_BROWSERS']) { - return; - } - // Ensure SauceLabs configuration if (!process.env['SAUCE_USERNAME'] || !process.env['SAUCE_ACCESS_KEY']) { throw new Error('SauceLabs is not configured.'); diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index cb635fec5b55..88ea454543d2 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -169,6 +169,15 @@ export function extractNpmEnv() { }, {}); } +function extractCIEnv(): NodeJS.ProcessEnv { + return Object.keys(process.env) + .filter((v) => v.startsWith('SAUCE_') || v === 'CI' || v === 'CIRCLECI') + .reduce((vars, n) => { + vars[n] = process.env[n]; + return vars; + }, {}); +} + export function waitForAnyProcessOutputToMatch( match: RegExp, timeout = 30000, @@ -372,6 +381,7 @@ export async function launchTestProcess(entry: string, ...args: any[]) { // Extract explicit environment variables for the test process. const env: NodeJS.ProcessEnv = { ...extractNpmEnv(), + ...extractCIEnv(), ...getGlobalVariablesEnv(), }; From cb18f7e9e56830d9aff8136a349e88df1a0134d1 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 24 Aug 2022 18:46:15 +0000 Subject: [PATCH 0805/1388] build: upload build artifacts from PR builds to CircleCI for usage Upload build artifacts from PR builds to the CircleCI storage to allow users to download an in progress version of a change for testing. --- .circleci/dynamic_config.yml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index cbb3046c2156..7ca0d7e491b0 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -37,7 +37,13 @@ var_5: &only_release_branches - main - /\d+\.\d+\.x/ -var_6: &all_e2e_subsets ['npm', 'esbuild', 'yarn'] +var_6: &only_pull_requests + filters: + branches: + only: + - /pull\/\d+/ + +var_7: &all_e2e_subsets ['npm', 'esbuild', 'yarn'] # Executor Definitions # https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors @@ -323,6 +329,23 @@ jobs: yarn admin snapshots --verbose --githubTokenFile=${HOME}/github_token - fail_fast + publish_artifacts: + executor: action-executor + environment: + steps: + - custom_attach_workspace + - run: + name: Create artifacts for packages + command: yarn ng-dev release build + - run: + name: Copy tarballs to folder + command: | + mkdir -p dist/artifacts/ + cp dist/*.tgz dist/artifacts/ + - store_artifacts: + path: dist/artifacts/ + destination: angular + # Windows jobs e2e-cli-win: executor: windows-executor @@ -450,3 +473,8 @@ workflows: requires: - setup - e2e-cli + + - publish_artifacts: + <<: *only_pull_requests + requires: + - build From 2b349357278d967d31dd56bf2d9d6866cbb0d5f5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 25 Aug 2022 11:26:13 -0400 Subject: [PATCH 0806/1388] refactor(@angular-devkit/build-angular): reorganize esbuild builder setup steps This contains several minor adjustments to the setup steps for the experimental esbuild-based browser application builder. It better groups the output directory deletion and creation steps as well as moves entry point normalization into the normalize options helper function. This should reduce the size of the main execution function as well as aid in future profiling of the build phases. --- .../src/builders/browser-esbuild/index.ts | 34 ++++++------------- .../src/builders/browser-esbuild/options.ts | 18 ++++++++-- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 6d8027a660aa..2a2395337d4e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -64,8 +64,8 @@ export async function buildEsbuildBrowser( const { projectRoot, workspaceRoot, - mainEntryPoint, - polyfillsEntryPoint, + entryPoints, + entryPointNameLookup, optimizationOptions, outputPath, sourcemapOptions, @@ -79,19 +79,15 @@ export async function buildEsbuildBrowser( deleteOutputDir(workspaceRoot, options.outputPath); } - // Setup bundler entry points - const entryPoints: Record = { - main: mainEntryPoint, - }; - if (polyfillsEntryPoint) { - entryPoints['polyfills'] = polyfillsEntryPoint; + // Create output directory if needed + try { + await fs.mkdir(outputPath, { recursive: true }); + } catch (e) { + assertIsError(e); + context.logger.error('Unable to create output directory: ' + e.message); + + return { success: false }; } - // Create reverse lookup used during index HTML generation - const entryPointNameLookup: ReadonlyMap = new Map( - Object.entries(entryPoints).map( - ([name, filePath]) => [path.relative(workspaceRoot, filePath), name] as const, - ), - ); const [codeResults, styleResults] = await Promise.all([ // Execute esbuild to bundle the application code @@ -155,16 +151,6 @@ export async function buildEsbuildBrowser( return { success: false }; } - // Create output directory if needed - try { - await fs.mkdir(outputPath, { recursive: true }); - } catch (e) { - assertIsError(e); - context.logger.error('Unable to create output directory: ' + e.message); - - return { success: false }; - } - // Generate index HTML file if (options.index) { const entrypoints = generateEntryPoints({ diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index c07a5a1588ac..3727079d833c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -59,10 +59,24 @@ export async function normalizeOptions( outputNames.media = path.join(options.resourcesOutputPath, outputNames.media); } + // Setup bundler entry points + const entryPoints: Record = { + main: mainEntryPoint, + }; + if (polyfillsEntryPoint) { + entryPoints['polyfills'] = polyfillsEntryPoint; + } + // Create reverse lookup used during index HTML generation + const entryPointNameLookup: ReadonlyMap = new Map( + Object.entries(entryPoints).map( + ([name, filePath]) => [path.relative(workspaceRoot, filePath), name] as const, + ), + ); + return { workspaceRoot, - mainEntryPoint, - polyfillsEntryPoint, + entryPoints, + entryPointNameLookup, optimizationOptions, outputPath, sourcemapOptions, From 0bafddfc407f1e7a38fe41be3da561c4da0b8265 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 24 Aug 2022 14:02:53 -0700 Subject: [PATCH 0807/1388] build: always set bazel nolegacy_external_runfiles to avoid busting analysis cache Use renamed experimental_allow_tags_propagation instead of previous name (incompatible_allow_tags_propagation). --- .bazelrc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.bazelrc b/.bazelrc index d5f02adbcdc8..e3fb14bdabf7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -34,8 +34,7 @@ build --symlink_prefix=dist/ build --nowatchfs # Turn off legacy external runfiles -run --nolegacy_external_runfiles -test --nolegacy_external_runfiles +build --nolegacy_external_runfiles # Turn on --incompatible_strict_action_env which was on by default # in Bazel 0.21.0 but turned off again in 0.22.0. Follow @@ -51,7 +50,7 @@ test --incompatible_strict_action_env build --experimental_remote_merkle_tree_cache # Ensure that tags applied in BUILDs propagate to actions -build --incompatible_allow_tags_propagation +build --experimental_allow_tags_propagation # Don't check if output files have been modified build --noexperimental_check_output_files From 1cc2d655e572d6c8051bd837b5664794a3ebac8b Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 24 Aug 2022 16:38:17 -0700 Subject: [PATCH 0808/1388] build: allow no-remote-exec targets to be cached on CI --- .circleci/dynamic_config.yml | 8 -------- packages/angular_devkit/core/BUILD.bazel | 2 -- 2 files changed, 10 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 7ca0d7e491b0..c02186289c23 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -142,14 +142,6 @@ commands: # cause decryption failures based on the openssl version. https://stackoverflow.com/a/39641378/4317734 openssl aes-256-cbc -d -in .circleci/gcp_token -md md5 -k "${<< parameters.key >>}" -out /home/circleci/.gcp_credentials; sudo bash -c "echo -e 'build --google_credentials=/home/circleci/.gcp_credentials' >> .bazelrc.user"; - # Upload/don't upload local results to cache based on environment - if [[ -n "{$CIRCLE_PULL_REQUEST}" ]]; then - sudo bash -c "echo -e 'build:remote --remote_upload_local_results=false\n' >> .bazelrc.user"; - echo "Not uploading local build results to remote cache."; - else - sudo bash -c "echo -e 'build:remote --remote_upload_local_results=true\n' >> .bazelrc.user"; - echo "Uploading local build results to remote cache."; - fi # Enable remote builds sudo bash -c "echo -e 'build --config=remote' >> .bazelrc.user"; echo "Reading from remote cache for bazel remote jobs."; diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 455df84160b8..a0a81a6837ad 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -70,8 +70,6 @@ ts_library( jasmine_node_test( name = "core_test_" + toolchain_name, srcs = [":core_test_lib"], - # TODO: Audit tests to determine if tests can be run in RBE environments - local = True, toolchain = toolchain, deps = [ # @node_module: ajv From 1c042f38a69cbbf1edaf4cae46f9993a95a28bfb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 26 Aug 2022 12:59:13 +0000 Subject: [PATCH 0809/1388] refactor(@angular-devkit/build-angular): remove deprecated usage of `canParse` All parsers now implement `parser.analyze`. --- .../src/utils/load-translations.ts | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/load-translations.ts b/packages/angular_devkit/build_angular/src/utils/load-translations.ts index 1bef4e0b49f4..d481e6aa83ae 100644 --- a/packages/angular_devkit/build_angular/src/utils/load-translations.ts +++ b/packages/angular_devkit/build_angular/src/utils/load-translations.ts @@ -26,9 +26,11 @@ export async function createTranslationLoader(): Promise { const content = fs.readFileSync(path, 'utf8'); const unusedParsers = new Map(); for (const [format, parser] of Object.entries(parsers)) { - const analysis = analyze(parser, path, content); + const analysis = parser.analyze(path, content); if (analysis.canParse) { - const { locale, translations } = parser.parse(path, content, analysis.hint); + // Types don't overlap here so we need to use any. + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const { locale, translations } = parser.parse(path, content, analysis.hint as any); const integrity = 'sha256-' + createHash('sha256').update(content).digest('base64'); return { format, locale, translations, diagnostics, integrity }; @@ -46,18 +48,6 @@ export async function createTranslationLoader(): Promise { messages.join('\n'), ); }; - - // TODO: `parser.canParse()` is deprecated; remove this polyfill once we are sure all parsers provide the `parser.analyze()` method. - // eslint-disable-next-line @typescript-eslint/no-explicit-any - function analyze(parser: any, path: string, content: string) { - if (parser.analyze !== undefined) { - return parser.analyze(path, content); - } else { - const hint = parser.canParse(path, content); - - return { canParse: hint !== false, hint, diagnostics }; - } - } } async function importParsers() { From d50d09f98da9561bf3faf2df3e843de01b6f2f2b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 26 Aug 2022 10:55:47 -0400 Subject: [PATCH 0810/1388] fix(@angular-devkit/build-angular): allow esbuild-based builder to use SVG Angular templates The experimental esbuild-based browser application builder will now consider SVG files as Angular component templates. Previously, only HTML files were considered templates and this resulted in the esbuild-based builder to try to process the SVG file as a stylesheet. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index a55e95ff4992..40fbe0129d98 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -213,8 +213,8 @@ export function createCompilerPlugin( // The AOT compiler currently requires this hook to allow for a transformResource hook. // Once the AOT compiler allows only a transformResource hook, this can be reevaluated. (host as CompilerHost).readResource = async function (fileName) { - // Template resources (.html) files are not bundled or transformed - if (fileName.endsWith('.html')) { + // Template resources (.html/.svg) files are not bundled or transformed + if (fileName.endsWith('.html') || fileName.endsWith('.svg')) { return this.readFile(fileName) ?? ''; } From ea5edbebb5c34d9650e56a28dc45f0fd1d118530 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 29 Aug 2022 08:44:20 +0000 Subject: [PATCH 0811/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 24 +- packages/angular/cli/package.json | 4 +- .../angular_devkit/build_angular/package.json | 10 +- .../blank/project-files/package.json | 2 +- .../schematic/files/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 479 +++++++++--------- 8 files changed, 254 insertions(+), 275 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 9c254d396085..041f6aaa16d7 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "33332c0cd7b5238b5162b5177da7f45a05641f342cf6d04080b9775233900acf", - strip_prefix = "bazel-lib-1.10.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.10.0.tar.gz", + sha256 = "8ea64f13c6db68356355d6a97dced3d149e9cd7ba3ecb4112960586e914e466d", + strip_prefix = "bazel-lib-1.11.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.11.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index d4a302be195b..97564fc00cd7 100644 --- a/package.json +++ b/package.json @@ -81,8 +81,8 @@ "@angular/platform-server": "14.2.0-rc.0", "@angular/router": "14.2.0-rc.0", "@angular/service-worker": "14.2.0-rc.0", - "@babel/core": "7.18.10", - "@babel/generator": "7.18.12", + "@babel/core": "7.18.13", + "@babel/generator": "7.18.13", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.10", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -105,7 +105,7 @@ "@types/http-proxy": "^1.17.4", "@types/ini": "^1.3.31", "@types/inquirer": "^8.0.0", - "@types/jasmine": "~4.0.0", + "@types/jasmine": "~4.3.0", "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", "@types/minimatch": "3.0.5", @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.33.1", - "@typescript-eslint/parser": "5.33.1", + "@typescript-eslint/eslint-plugin": "5.35.1", + "@typescript-eslint/parser": "5.35.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -134,7 +134,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.1.2", + "cacache": "16.1.3", "chokidar": "^3.5.2", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", @@ -143,7 +143,7 @@ "debug": "^4.1.1", "esbuild": "0.15.5", "esbuild-wasm": "0.15.5", - "eslint": "8.22.0", + "eslint": "8.23.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -152,7 +152,7 @@ "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", "husky": "8.0.1", - "ini": "3.0.0", + "ini": "3.0.1", "inquirer": "8.2.4", "jasmine": "^4.0.0", "jasmine-core": "~4.3.0", @@ -173,7 +173,7 @@ "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "14.1.0", + "ng-packagr": "14.2.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", @@ -191,12 +191,12 @@ "postcss-preset-env": "7.8.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "16.1.1", + "puppeteer": "16.2.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.4", + "sass": "1.54.5", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -209,7 +209,7 @@ "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.14.2", + "terser": "5.15.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index d00bb8f8a03a..f72dfe672681 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -29,11 +29,11 @@ "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "debug": "4.3.4", - "ini": "3.0.0", + "ini": "3.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.1.0", "npm-package-arg": "9.1.0", - "npm-pick-manifest": "7.0.1", + "npm-pick-manifest": "7.0.2", "open": "8.4.0", "ora": "5.4.1", "pacote": "13.6.2", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 22ab242de585..4be94f5d47d1 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,8 +10,8 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.10", - "@babel/generator": "7.18.12", + "@babel/core": "7.18.13", + "@babel/generator": "7.18.13", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.18.10", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -25,7 +25,7 @@ "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.1.2", + "cacache": "16.1.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", @@ -52,14 +52,14 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.4", + "sass": "1.54.5", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "stylus": "0.59.0", "stylus-loader": "7.0.0", - "terser": "5.14.2", + "terser": "5.15.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json b/packages/angular_devkit/schematics_cli/blank/project-files/package.json index ff6f7752da66..a84ab3a9777c 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/package.json +++ b/packages/angular_devkit/schematics_cli/blank/project-files/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^14.15.0", - "@types/jasmine": "~4.0.0", + "@types/jasmine": "~4.3.0", "jasmine": "^4.0.0" } } diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 9dfc0bb9ef35..30d41b70cb6e 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@types/node": "^14.15.0", - "@types/jasmine": "~4.0.0", + "@types/jasmine": "~4.3.0", "jasmine": "~4.3.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 5746d69f8fa1..37b08c1f22f3 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -3,7 +3,7 @@ "comment": "This file is needed so that dependencies are synced by Renovate.", "private": true, "dependencies": { - "@types/jasmine": "~4.0.0", + "@types/jasmine": "~4.3.0", "@types/node": "^14.15.0", "jasmine-core": "~4.3.0", "jasmine-spec-reporter": "~7.0.0", diff --git a/yarn.lock b/yarn.lock index 5f096c54a17f..afc8813defc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -345,6 +345,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" + integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.13" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.13" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.18.13" + "@babel/types" "^7.18.13" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -375,6 +396,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@7.18.13", "@babel/generator@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" + integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== + dependencies: + "@babel/types" "^7.18.13" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -590,6 +620,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== +"@babel/parser@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" + integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -1228,6 +1263,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" + integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.13" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.13" + "@babel/types" "^7.18.13" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" @@ -1237,6 +1288,15 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.18.13": + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" + integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" @@ -1429,24 +1489,19 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/linux-loong64@0.14.54": - version "0.14.54" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" - integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== - "@esbuild/linux-loong64@0.15.5": version "0.15.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz#91aef76d332cdc7c8942b600fa2307f3387e6f82" integrity sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A== -"@eslint/eslintrc@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" - integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== +"@eslint/eslintrc@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" + integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.3.2" + espree "^9.4.0" globals "^13.15.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -1473,6 +1528,11 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" @@ -2157,10 +2217,10 @@ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== -"@types/jasmine@~4.0.0": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.0.3.tgz#097ce710d70eb7f3662e96c1f75824dd22c27d5c" - integrity sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg== +"@types/jasmine@~4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.3.0.tgz#1dfdfb226820911addb1b5a9031422be72c53aac" + integrity sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" @@ -2513,14 +2573,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz#c0a480d05211660221eda963cc844732fe9b1714" - integrity sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ== +"@typescript-eslint/eslint-plugin@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz#0d822bfea7469904dfc1bb8f13cabd362b967c93" + integrity sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg== dependencies: - "@typescript-eslint/scope-manager" "5.33.1" - "@typescript-eslint/type-utils" "5.33.1" - "@typescript-eslint/utils" "5.33.1" + "@typescript-eslint/scope-manager" "5.35.1" + "@typescript-eslint/type-utils" "5.35.1" + "@typescript-eslint/utils" "5.35.1" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2528,69 +2588,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.1.tgz#e4b253105b4d2a4362cfaa4e184e2d226c440ff3" - integrity sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA== +"@typescript-eslint/parser@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.35.1.tgz#bf2ee2ebeaa0a0567213748243fb4eec2857f04f" + integrity sha512-XL2TBTSrh3yWAsMYpKseBYTVpvudNf69rPOWXWVBI08My2JVT5jR66eTt4IgQFHA/giiKJW5dUD4x/ZviCKyGg== dependencies: - "@typescript-eslint/scope-manager" "5.33.1" - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/typescript-estree" "5.33.1" + "@typescript-eslint/scope-manager" "5.35.1" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/typescript-estree" "5.35.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz#8d31553e1b874210018ca069b3d192c6d23bc493" - integrity sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA== +"@typescript-eslint/scope-manager@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz#ccb69d54b7fd0f2d0226a11a75a8f311f525ff9e" + integrity sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q== dependencies: - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/visitor-keys" "5.33.1" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/visitor-keys" "5.35.1" -"@typescript-eslint/type-utils@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz#1a14e94650a0ae39f6e3b77478baff002cec4367" - integrity sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g== +"@typescript-eslint/type-utils@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz#d50903b56758c5c8fc3be52b3be40569f27f9c4a" + integrity sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw== dependencies: - "@typescript-eslint/utils" "5.33.1" + "@typescript-eslint/utils" "5.35.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.1.tgz#3faef41793d527a519e19ab2747c12d6f3741ff7" - integrity sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ== +"@typescript-eslint/types@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.35.1.tgz#af355fe52a0cc88301e889bc4ada72f279b63d61" + integrity sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ== -"@typescript-eslint/typescript-estree@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz#a573bd360790afdcba80844e962d8b2031984f34" - integrity sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA== +"@typescript-eslint/typescript-estree@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz#db878a39a0dbdc9bb133f11cdad451770bfba211" + integrity sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA== dependencies: - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/visitor-keys" "5.33.1" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/visitor-keys" "5.35.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.1.tgz#171725f924fe1fe82bb776522bb85bc034e88575" - integrity sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ== +"@typescript-eslint/utils@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.35.1.tgz#ae1399afbfd6aa7d0ed1b7d941e9758d950250eb" + integrity sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.33.1" - "@typescript-eslint/types" "5.33.1" - "@typescript-eslint/typescript-estree" "5.33.1" + "@typescript-eslint/scope-manager" "5.35.1" + "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/typescript-estree" "5.35.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.33.1": - version "5.33.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz#0155c7571c8cd08956580b880aea327d5c34a18b" - integrity sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg== +"@typescript-eslint/visitor-keys@5.35.1": + version "5.35.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz#285e9e34aed7c876f16ff646a3984010035898e6" + integrity sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g== dependencies: - "@typescript-eslint/types" "5.33.1" + "@typescript-eslint/types" "5.35.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3540,6 +3600,30 @@ cacache@16.1.2, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1 tar "^6.1.11" unique-filename "^1.1.1" +cacache@16.1.3: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4078,15 +4162,6 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -css@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - cssdb@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.0.tgz#60cd053b0918fbbe859517f6bddf35979a19e1af" @@ -4681,217 +4756,112 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" - integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== - esbuild-android-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== -esbuild-android-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" - integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== - esbuild-android-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== -esbuild-darwin-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" - integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== - esbuild-darwin-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== -esbuild-darwin-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" - integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== - esbuild-darwin-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== -esbuild-freebsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" - integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== - esbuild-freebsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== -esbuild-freebsd-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" - integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== - esbuild-freebsd-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== -esbuild-linux-32@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" - integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== - esbuild-linux-32@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== -esbuild-linux-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" - integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== - esbuild-linux-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== -esbuild-linux-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" - integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== - esbuild-linux-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== -esbuild-linux-arm@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" - integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== - esbuild-linux-arm@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== -esbuild-linux-mips64le@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" - integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== - esbuild-linux-mips64le@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== -esbuild-linux-ppc64le@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" - integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== - esbuild-linux-ppc64le@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== -esbuild-linux-riscv64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" - integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== - esbuild-linux-riscv64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== -esbuild-linux-s390x@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" - integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== - esbuild-linux-s390x@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== -esbuild-netbsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" - integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== - esbuild-netbsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== -esbuild-openbsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" - integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== - esbuild-openbsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== -esbuild-sunos-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" - integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== - esbuild-sunos-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== -esbuild-wasm@0.15.5: +esbuild-wasm@0.15.5, esbuild-wasm@^0.15.0: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" integrity sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A== -esbuild-wasm@^0.14.29: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.54.tgz#6e31c86700850664ed9781876cb907c13d230d69" - integrity sha512-Lk1Rq6mnHCIgYpUGQGsJn1dgW26w5uV0KYTl6CdoixSF4hD4v8Nyyxmhrqo4lUkV8AQoWLVfIBWYo7l+JTPl9g== - -esbuild-windows-32@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" - integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== - esbuild-windows-32@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== -esbuild-windows-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" - integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== - esbuild-windows-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== -esbuild-windows-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" - integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== - esbuild-windows-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== -esbuild@0.15.5: +esbuild@0.15.5, esbuild@^0.15.0: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" integrity sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg== @@ -4918,33 +4888,6 @@ esbuild@0.15.5: esbuild-windows-64 "0.15.5" esbuild-windows-arm64 "0.15.5" -esbuild@^0.14.29: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" - integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== - optionalDependencies: - "@esbuild/linux-loong64" "0.14.54" - esbuild-android-64 "0.14.54" - esbuild-android-arm64 "0.14.54" - esbuild-darwin-64 "0.14.54" - esbuild-darwin-arm64 "0.14.54" - esbuild-freebsd-64 "0.14.54" - esbuild-freebsd-arm64 "0.14.54" - esbuild-linux-32 "0.14.54" - esbuild-linux-64 "0.14.54" - esbuild-linux-arm "0.14.54" - esbuild-linux-arm64 "0.14.54" - esbuild-linux-mips64le "0.14.54" - esbuild-linux-ppc64le "0.14.54" - esbuild-linux-riscv64 "0.14.54" - esbuild-linux-s390x "0.14.54" - esbuild-netbsd-64 "0.14.54" - esbuild-openbsd-64 "0.14.54" - esbuild-sunos-64 "0.14.54" - esbuild-windows-32 "0.14.54" - esbuild-windows-64 "0.14.54" - esbuild-windows-arm64 "0.14.54" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5078,14 +5021,15 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.22.0: - version "8.22.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48" - integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== +eslint@8.23.0: + version "8.23.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" + integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== dependencies: - "@eslint/eslintrc" "^1.3.0" + "@eslint/eslintrc" "^1.3.1" "@humanwhocodes/config-array" "^0.10.4" "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -5095,7 +5039,7 @@ eslint@8.22.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.3" + espree "^9.4.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -5121,12 +5065,11 @@ eslint@8.22.0: strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^9.3.2, espree@^9.3.3: - version "9.3.3" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" - integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== +espree@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" + integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" @@ -6158,16 +6101,21 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@3.0.0, ini@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" - integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== +ini@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" + integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" + integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== + init-package-json@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" @@ -7681,10 +7629,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.1.0.tgz#f0d3b291dd3d361b90acd6cebe8af41c35597414" - integrity sha512-08B+bOp53YhmPobI1tK0YwGUAysden/PHtBUtmLaJxIHYVZqzH/RIFVaZLx+k+70TFqs+P2Hjpmo3wblWqFzxg== +ng-packagr@14.2.0: + version "14.2.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.2.0.tgz#c687bfbebaa6624c92bf26755dfadf7ef70e7da5" + integrity sha512-Nb+2/L37CFcWmCz91USwNd87mdTfTXDb4MBl87Dkj2H53KfrAltX2psa+gTRbjE5USCX8bQeu4nRzf/Bp6Vivg== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" @@ -7695,7 +7643,7 @@ ng-packagr@14.1.0: chokidar "^3.5.3" commander "^9.0.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.14.29" + esbuild-wasm "^0.15.0" find-cache-dir "^3.3.2" glob "^8.0.0" injection-js "^2.4.0" @@ -7709,9 +7657,9 @@ ng-packagr@14.1.0: rollup-plugin-sourcemaps "^0.6.3" rxjs "^7.5.5" sass "^1.49.9" - stylus "^0.58.0" + stylus "^0.59.0" optionalDependencies: - esbuild "^0.14.29" + esbuild "^0.15.0" nice-napi@^1.0.2: version "1.0.2" @@ -7850,6 +7798,11 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== +npm-normalize-package-bin@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" + integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== + npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" @@ -7870,7 +7823,17 @@ npm-packlist@^5.1.0: npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@7.0.1, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: +npm-pick-manifest@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" + integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== + dependencies: + npm-install-checks "^5.0.0" + npm-normalize-package-bin "^2.0.0" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== @@ -8465,7 +8428,7 @@ piscina@3.2.0: optionalDependencies: nice-napi "^1.0.2" -pkg-dir@4.2.0, pkg-dir@^4.1.0: +pkg-dir@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== @@ -8979,17 +8942,16 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@16.1.1: - version "16.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.1.1.tgz#1bb8ec3b86f755c34b913421b81e9cd2cfad3588" - integrity sha512-lBneizsNF0zi1/iog9c0ogVnvDHJG4IWpkdIAgE2oiDKhr0MJRV8JeM2xbhUwCwhDJXjjVS2TNCZdLsMp9Ojdg== +puppeteer@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.2.0.tgz#3fc9cc0c461d3166a98562a7dcd0bf3424a0523c" + integrity sha512-7Au6iC98rS6WEAD110V4Bxd0iIbqoFtzz9XzkG1BSofidS1VAJ881E1+GFR7Xn2Yea0hbj8n0ErzRyseMp1Ctg== dependencies: cross-fetch "3.1.5" debug "4.3.4" devtools-protocol "0.0.1019158" extract-zip "2.0.1" https-proxy-agent "5.0.1" - pkg-dir "4.2.0" progress "2.0.3" proxy-from-env "1.1.0" rimraf "3.0.2" @@ -9544,6 +9506,15 @@ sass@1.54.4, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.54.5: + version "1.54.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.5.tgz#93708f5560784f6ff2eab8542ade021a4a947b3a" + integrity sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" @@ -10236,7 +10207,7 @@ stylus-loader@7.0.0: klona "^2.0.5" normalize-path "^3.0.0" -stylus@0.59.0: +stylus@0.59.0, stylus@^0.59.0: version "0.59.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== @@ -10247,17 +10218,6 @@ stylus@0.59.0: sax "~1.2.4" source-map "^0.7.3" -stylus@^0.58.0: - version "0.58.1" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.58.1.tgz#7e425bb493c10dde94cf427a138d3eae875a3b44" - integrity sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w== - dependencies: - css "^3.0.0" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.2.4" - source-map "^0.7.3" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10363,6 +10323,16 @@ terser@5.14.2, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" +terser@5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" + integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10722,6 +10692,13 @@ unique-filename@^1.1.1: dependencies: unique-slug "^2.0.0" +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + unique-slug@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" @@ -10729,6 +10706,13 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -10794,11 +10778,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - v8-to-istanbul@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" From 1193886df5e8110de20ba534e2b4572da72b5e4a Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 25 Aug 2022 15:53:42 -0700 Subject: [PATCH 0812/1388] test: enable rbe on all unit tests --- packages/angular_devkit/build_angular/BUILD.bazel | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index ad46e2c7e5e2..65e53d041db1 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -295,8 +295,6 @@ LARGE_SPECS = { "@npm//puppeteer", "@npm//ts-node", ], - # NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver - "tags": ["no-remote-exec"], }, "dev-server": { "shards": 10, @@ -329,8 +327,6 @@ LARGE_SPECS = { "@npm//puppeteer", "@npm//ts-node", ], - # NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver - "tags": ["no-remote-exec"], # NB: multiple shards will compete for port 4200 so limiting to 1 "shards": 1, }, From 75918e67b13290b27e647b52626ff2416ff8d143 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 26 Aug 2022 15:06:33 +0000 Subject: [PATCH 0813/1388] build: update dependency @types/minimatch to v5 --- package.json | 2 +- yarn.lock | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 97564fc00cd7..467a5f54ab2e 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "@types/jasmine": "~4.3.0", "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", - "@types/minimatch": "3.0.5", + "@types/minimatch": "5.1.0", "@types/node": "^14.15.0", "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", diff --git a/yarn.lock b/yarn.lock index afc8813defc7..bf754e000a84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2270,11 +2270,16 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*", "@types/minimatch@3.0.5": +"@types/minimatch@*": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== +"@types/minimatch@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.0.tgz#c3018161691376002f8a22ebb87f341e0dba3219" + integrity sha512-0RJHq5FqDWo17kdHe+SMDJLfxmLaqHbWnqZ6gNKzDvStUlrmx/eKIY17+ifLS1yybo7X86aUshQMlittDOVNnw== + "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" From 504e9678ed44eaaf2a6ef56df6c3c3bc5c1228ca Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 29 Aug 2022 10:26:39 -0400 Subject: [PATCH 0814/1388] Revert "test: enable rbe on all unit tests" This reverts commit 1193886df5e8110de20ba534e2b4572da72b5e4a. --- packages/angular_devkit/build_angular/BUILD.bazel | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 65e53d041db1..ad46e2c7e5e2 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -295,6 +295,8 @@ LARGE_SPECS = { "@npm//puppeteer", "@npm//ts-node", ], + # NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver + "tags": ["no-remote-exec"], }, "dev-server": { "shards": 10, @@ -327,6 +329,8 @@ LARGE_SPECS = { "@npm//puppeteer", "@npm//ts-node", ], + # NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver + "tags": ["no-remote-exec"], # NB: multiple shards will compete for port 4200 so limiting to 1 "shards": 1, }, From 1bfaca2e17b6305ee29027d5a7ab2d33d6e52440 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 29 Aug 2022 18:06:15 +0000 Subject: [PATCH 0815/1388] build: lock file maintenance --- yarn.lock | 296 ++++++++++++++++++++++++++---------------------------- 1 file changed, 140 insertions(+), 156 deletions(-) diff --git a/yarn.lock b/yarn.lock index bf754e000a84..bc4ed4b1b84a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,6 +129,7 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484": version "0.0.0-5ffe2357f61a57d16f44a3209cd880c211c575b5" + uid "2c68d0f9752df9bdbb185b89630ea085a2e62484" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" @@ -234,9 +235,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.1.2.tgz#1defacaad7494a8dca9e9ba1d4c1fe46009d9e4a" - integrity sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow== + version "14.2.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.0.tgz#51c6b95b423167998aee6d6b942e4155ffe9058e" + integrity sha512-m00WZL+df90QjrNmA43W8oSP1hyePoEXgw36JcFLQ+2ISO1HvqoeuKXIccyIQKpCuQ9VLNv5ptlTio6pjmcCqg== dependencies: tslib "^2.3.0" @@ -265,6 +266,7 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca": version "0.0.0-806c568a439877f69b975aedbf5e4eb26fd7eaaf" + uid da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -320,11 +322,11 @@ "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" - integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483" + integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw== -"@babel/core@7.18.10", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== @@ -345,7 +347,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.13": +"@babel/core@7.18.13", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== @@ -387,7 +389,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.12", "@babel/generator@^7.18.10", "@babel/generator@^7.18.9": +"@babel/generator@7.18.12": version "7.18.12" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== @@ -396,7 +398,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.13", "@babel/generator@^7.18.13": +"@babel/generator@7.18.13", "@babel/generator@^7.18.10", "@babel/generator@^7.18.13", "@babel/generator@^7.18.9": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== @@ -431,9 +433,9 @@ semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" - integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz#63e771187bd06d234f95fdf8bd5f8b6429de6298" + integrity sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" @@ -615,12 +617,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.11", "@babel/parser@^7.18.9": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" - integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== - -"@babel/parser@^7.18.13": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.18.9": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== @@ -927,9 +924,9 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-destructuring@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" - integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== + version "7.18.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" + integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== dependencies: "@babel/helper-plugin-utils" "^7.18.9" @@ -1247,23 +1244,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.9": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" - integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.11" - "@babel/types" "^7.18.10" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.18.13": +"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== @@ -1279,16 +1260,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" - integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.13": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== @@ -1744,9 +1716,9 @@ integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== "@npmcli/config@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.1.tgz#7a4b46f4a315fe369a3f8543c67fae0b89549a40" - integrity sha512-iJEnXNAGGr7sGUcoKmeJNrc943vFiWrDWq6DNK/t+SuqoObmozMb3tN3G5T9yo3uBf5Cw4h+SWgoqSaiwczl0Q== + version "4.2.2" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7" + integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w== dependencies: "@npmcli/map-workspaces" "^2.0.2" ini "^3.0.0" @@ -1848,9 +1820,9 @@ infer-owner "^1.0.4" "@npmcli/query@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.1.1.tgz#462c4268473ae39e89d5fefbad94d9af7e1217c4" - integrity sha512-UF3I0fD94wzQ84vojMO2jDB8ibjRSTqhi8oz2mzVKiJ9gZHbeGlu9kzPvgHuGDK0Hf2cARhWtTfCDHNEwlL9hg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" + integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== dependencies: npm-package-arg "^9.1.0" postcss-selector-parser "^6.0.10" @@ -2139,9 +2111,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.4.5" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4" - integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ== + version "8.4.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" + integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2270,12 +2242,7 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/minimatch@5.1.0": +"@types/minimatch@*", "@types/minimatch@5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.0.tgz#c3018161691376002f8a22ebb87f341e0dba3219" integrity sha512-0RJHq5FqDWo17kdHe+SMDJLfxmLaqHbWnqZ6gNKzDvStUlrmx/eKIY17+ifLS1yybo7X86aUshQMlittDOVNnw== @@ -2294,9 +2261,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.7.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.6.tgz#31743bc5772b6ac223845e18c3fc26f042713c83" - integrity sha512-EdxgKRXgYsNITy5mjjXjVE/CS8YENSdhiagGrLqjG0pvA2owgJ6i4l7wy/PFZGC0B1/H20lWKN7ONVDNYDZm7A== + version "18.7.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.13.tgz#23e6c5168333480d454243378b69e861ab5c011a" + integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw== "@types/node@12.20.24": version "12.20.24" @@ -2314,9 +2281,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.24.tgz#406b220dc748947e1959d8a38a75979e87166704" - integrity sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w== + version "14.18.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.26.tgz#239e19f8b4ea1a9eb710528061c1d733dc561996" + integrity sha512-0b+utRBSYj8L7XAp0d+DX7lI4cSmowNaaTkk6/1SKzbKkG+doLuPusB9EOvzLJ8ahJSk03bTLIL6cWaEd4dBKA== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2515,9 +2482,9 @@ integrity sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA== "@types/uglify-js@*": - version "3.16.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.16.0.tgz#2cf74a0e6ebb6cd54c0d48e509d5bd91160a9602" - integrity sha512-0yeUr92L3r0GLRnBOvtYK1v2SjqMIqQDHMl7GLb+l2L8+6LSFWEEWEIgVsPdMn5ImLM8qzWT8xFPtQYpp8co0g== + version "3.17.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.0.tgz#95271e7abe0bf7094c60284f76ee43232aef43b9" + integrity sha512-3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ== dependencies: source-map "^0.6.1" @@ -3314,13 +3281,13 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== bin-links@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.2.tgz#5c40f14b0742faa2ae952caa76b4a29090befcbb" - integrity sha512-+oSWBdbCUK6X4LOCSrU36fWRzZNaK7/evX7GozR9xwl2dyiVi3UOUwTyyOVYI1FstgugfsM9QESRrWo7gjCYbg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" + integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== dependencies: cmd-shim "^5.0.0" mkdirp-infer-owner "^2.0.0" - npm-normalize-package-bin "^1.0.0" + npm-normalize-package-bin "^2.0.0" read-cmd-shim "^3.0.0" rimraf "^3.0.0" write-file-atomic "^4.0.0" @@ -3581,7 +3548,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.2, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: +cacache@16.1.2: version "16.1.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.2.tgz#a519519e9fc9e5e904575dcd3b77660cbf03f749" integrity sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA== @@ -3605,7 +3572,7 @@ cacache@16.1.2, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1 tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.1.3: +cacache@16.1.3, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== @@ -3648,9 +3615,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001378" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz#3d2159bf5a8f9ca093275b0d3ecc717b00f27b67" - integrity sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA== + version "1.0.30001384" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz#029527c2d781a3cfef13fa63b3a78a6088e35973" + integrity sha512-BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ== caseless@~0.12.0: version "0.12.0" @@ -4042,9 +4009,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.24.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.24.1.tgz#d1af84a17e18dfdd401ee39da9996f9a7ba887de" - integrity sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw== + version "3.25.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.0.tgz#489affbfbf9cb3fa56192fe2dd9ebaee985a66c5" + integrity sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow== dependencies: browserslist "^4.21.3" semver "7.0.0" @@ -4168,9 +4135,9 @@ css-what@^6.0.1: integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== cssdb@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.0.tgz#60cd053b0918fbbe859517f6bddf35979a19e1af" - integrity sha512-HmRYATZ4Gf8naf6sZmwKEyf7MXAC0ZxjsamtNNgmuWpQgoO973zsE/1JMIohEYsSi5e3n7vQauCLv7TWSrOlrw== + version "7.0.1" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617" + integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw== cssesc@^3.0.0: version "3.0.0" @@ -4546,9 +4513,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.202: - version "1.4.222" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.222.tgz#2ba24bef613fc1985dbffea85df8f62f2dec6448" - integrity sha512-gEM2awN5HZknWdLbngk4uQCVfhucFAfFzuchP3wM3NN6eow1eDU0dFy2kts43FB20ZfhVFF0jmFSTb1h5OhyIg== + version "1.4.233" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz#aa142e45468bda111b88abc9cc59d573b75d6a60" + integrity sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw== emoji-regex@^8.0.0: version "8.0.0" @@ -5291,9 +5258,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-redact@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.1.tgz#790fcff8f808c2e12fabbfb2be5cb2deda448fa0" - integrity sha512-odVmjC8x8jNeMZ3C+rPMESzXVSEU8tSWSHv9HFxP2mm89G/1WwqhrerJDQm9Zus8X6aoRgQDThKqptdNA6bt+A== + version "3.1.2" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" + integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: version "2.1.1" @@ -5425,9 +5392,9 @@ flatstr@^1.0.12: integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== flatted@^3.1.0, flatted@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" - integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== follow-redirects@^1.0.0, follow-redirects@^1.14.0: version "1.15.1" @@ -6106,7 +6073,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@3.0.1: +ini@3.0.1, ini@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== @@ -6116,11 +6083,6 @@ ini@^1.3.4: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -ini@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" - integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== - init-package-json@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" @@ -6583,9 +6545,9 @@ jju@~1.4.0: integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== jquery@^3.3.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" - integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== + version "3.6.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16" + integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw== js-base64@^2.4.3: version "2.6.4" @@ -7473,9 +7435,9 @@ minipass-collect@^1.0.2: minipass "^3.0.0" minipass-fetch@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" - integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== dependencies: minipass "^3.1.6" minipass-sized "^1.0.3" @@ -7784,13 +7746,20 @@ npm-audit-report@^3.0.0: dependencies: chalk "^4.0.0" -npm-bundled@^1.1.1, npm-bundled@^1.1.2: +npm-bundled@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" +npm-bundled@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" + integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== + dependencies: + npm-normalize-package-bin "^2.0.0" + npm-install-checks@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" @@ -7819,16 +7788,16 @@ npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-packa validate-npm-package-name "^4.0.0" npm-packlist@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0" - integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== + version "5.1.3" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" + integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== dependencies: glob "^8.0.1" ignore-walk "^5.0.1" - npm-bundled "^1.1.2" - npm-normalize-package-bin "^1.0.1" + npm-bundled "^2.0.0" + npm-normalize-package-bin "^2.0.0" -npm-pick-manifest@7.0.2: +npm-pick-manifest@7.0.2, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: version "7.0.2" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== @@ -7838,16 +7807,6 @@ npm-pick-manifest@7.0.2: npm-package-arg "^9.0.0" semver "^7.3.5" -npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" - integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== - dependencies: - npm-install-checks "^5.0.0" - npm-normalize-package-bin "^1.0.1" - npm-package-arg "^9.0.0" - semver "^7.3.5" - npm-profile@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" @@ -7856,7 +7815,7 @@ npm-profile@^6.2.0: npm-registry-fetch "^13.0.1" proc-log "^2.0.0" -npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.0: +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.1: version "13.3.1" resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== @@ -7882,9 +7841,9 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.17.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.17.0.tgz#05c77fb2794daa3d9b2cd0460859f1f9dc596676" - integrity sha512-tIcfZd541v86Sqrf+t/GW6ivqiT8b/2b3EAjNw3vRe+eVnL4mlkVwu17hjCOrsPVntLb5C6tQG4jPUE5Oveeyw== + version "8.18.0" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.18.0.tgz#bd6ca7f637720441f812370363e2ae67426fb42f" + integrity sha512-G07/yKvNUwhwxYhk8BxcuDPB/4s+y755i6CnH3lf9LQBHP5siUx66WbuNGWEnN3xaBER4+IR3OWApKX7eBO5Dw== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/arborist" "^5.0.4" @@ -7934,12 +7893,12 @@ npm@^8.11.0: npm-package-arg "^9.1.0" npm-pick-manifest "^7.0.1" npm-profile "^6.2.0" - npm-registry-fetch "^13.3.0" + npm-registry-fetch "^13.3.1" npm-user-validate "^1.0.1" npmlog "^6.0.2" opener "^1.5.2" p-map "^4.0.0" - pacote "^13.6.1" + pacote "^13.6.2" parse-conflict-json "^2.0.2" proc-log "^2.0.1" qrcode-terminal "^0.12.0" @@ -8193,7 +8152,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.2, pacote@^13.0.3, pacote@^13.6.1: +pacote@13.6.2, pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: version "13.6.2" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== @@ -9001,6 +8960,11 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -9105,14 +9069,14 @@ read-package-json@^2.0.0: npm-normalize-package-bin "^1.0.0" read-package-json@^5.0.0, read-package-json@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" - integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== + version "5.0.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" + integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== dependencies: glob "^8.0.1" json-parse-even-better-errors "^2.3.1" normalize-package-data "^4.0.0" - npm-normalize-package-bin "^1.0.1" + npm-normalize-package-bin "^2.0.0" read@1, read@^1.0.7, read@~1.0.7: version "1.0.7" @@ -9435,9 +9399,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e" - integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== + version "2.78.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f" + integrity sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg== optionalDependencies: fsevents "~2.3.2" @@ -9502,7 +9466,7 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.54.4, sass@^1.49.9: +sass@1.54.4: version "1.54.4" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.4.tgz#803ff2fef5525f1dd01670c3915b4b68b6cba72d" integrity sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA== @@ -9511,7 +9475,7 @@ sass@1.54.4, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.5: +sass@1.54.5, sass@^1.49.9: version "1.54.5" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.5.tgz#93708f5560784f6ff2eab8542ade021a4a947b3a" integrity sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw== @@ -9522,6 +9486,7 @@ sass@1.54.5: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" + uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: @@ -9973,9 +9938,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== spdx-ranges@^2.0.0: version "2.1.1" @@ -10318,7 +10283,7 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.14.2, terser@^5.14.1: +terser@5.14.2: version "5.14.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== @@ -10328,7 +10293,7 @@ terser@5.14.2, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" -terser@5.15.0: +terser@5.15.0, terser@^5.14.1: version "5.15.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== @@ -10440,13 +10405,14 @@ toidentifier@1.0.1: integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" + integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== dependencies: psl "^1.1.33" punycode "^2.1.1" - universalify "^0.1.2" + universalify "^0.2.0" + url-parse "^1.5.3" tough-cookie@~2.4.3: version "2.4.3" @@ -10621,7 +10587,12 @@ typescript@4.8.1-rc: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.1-rc.tgz#2baff2b14b916f06a97effbfcf59e46bab93e48a" integrity sha512-ZoXadPUeEe1XOZe6CHG/QHZ6IFeRjrfzkpraRi9HOpGH0UOG/WaUrKvtSwDFigG8GuDA4zsDQHEZyqhmlCIyEw== -typescript@^4.6.2, typescript@~4.7.3, typescript@~4.7.4: +typescript@^4.6.2: + version "4.8.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" + integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== + +typescript@~4.7.3, typescript@~4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== @@ -10718,11 +10689,16 @@ unique-slug@^3.0.0: dependencies: imurmurhash "^0.1.4" -universalify@^0.1.0, universalify@^0.1.2: +universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + unix-crypt-td-js@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd" @@ -10753,6 +10729,14 @@ urijs@^1.19.1: resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -11393,9 +11377,9 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== z-schema@~5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.3.tgz#68fafb9b735fc7f3c89eabb3e5a6353b4d7b4935" - integrity sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw== + version "5.0.4" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.4.tgz#ecad8bc5ef3283ae032d603286386cfb1380cce5" + integrity sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA== dependencies: lodash.get "^4.4.2" lodash.isequal "^4.5.0" From de2b549a927df69261ad5c1860589b87be5d6591 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 29 Aug 2022 18:05:30 +0000 Subject: [PATCH 0816/1388] build: update dependency typescript to v4.8.2 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 467a5f54ab2e..90c01b967eb1 100644 --- a/package.json +++ b/package.json @@ -214,7 +214,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.8.1-rc", + "typescript": "4.8.2", "verdaccio": "5.14.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 53b5f87ef462..e91352ea9e02 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "14.1.3", "@angular/compiler-cli": "14.1.3", - "typescript": "4.8.1-rc", + "typescript": "4.8.2", "webpack": "5.74.0" } } diff --git a/yarn.lock b/yarn.lock index bc4ed4b1b84a..72895aae4b41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10582,10 +10582,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.1-rc: - version "4.8.1-rc" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.1-rc.tgz#2baff2b14b916f06a97effbfcf59e46bab93e48a" - integrity sha512-ZoXadPUeEe1XOZe6CHG/QHZ6IFeRjrfzkpraRi9HOpGH0UOG/WaUrKvtSwDFigG8GuDA4zsDQHEZyqhmlCIyEw== +typescript@4.8.2: + version "4.8.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" + integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== typescript@^4.6.2: version "4.8.2" From 22fc5c9bc0d7e716f1a1fd54be4196212128de03 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 29 Aug 2022 18:05:34 +0000 Subject: [PATCH 0817/1388] build: update github/codeql-action action to v2.1.21 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b4345f0d50e4..ec71297efbe9 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@7fee4ca032ac341c12486c4c06822c5221c76533 # tag=v2.1.20 + uses: github/codeql-action/upload-sarif@c7f292ea4f542c473194b33813ccd4c207a6c725 # tag=v2.1.21 with: sarif_file: results.sarif From 83563c8e30a56bd79818bc3620242a24224417da Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 29 Aug 2022 18:05:40 +0000 Subject: [PATCH 0818/1388] build: update dependency puppeteer to v17 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 90c01b967eb1..45b857cf4251 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "postcss-preset-env": "7.8.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "16.2.0", + "puppeteer": "17.0.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 72895aae4b41..2f68948f5b63 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8906,10 +8906,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.2.0.tgz#3fc9cc0c461d3166a98562a7dcd0bf3424a0523c" - integrity sha512-7Au6iC98rS6WEAD110V4Bxd0iIbqoFtzz9XzkG1BSofidS1VAJ881E1+GFR7Xn2Yea0hbj8n0ErzRyseMp1Ctg== +puppeteer@17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.0.0.tgz#85fea801a7b8b8c9e2913b1491e98c867be49a6b" + integrity sha512-T2rdzlPxnPezF218kywFP3O+0YI5/8Kl8riNUicGb+KuMyDTrqRjhSOSDp6coQ1T4QYPBARTFp4EMBepMOzAQA== dependencies: cross-fetch "3.1.5" debug "4.3.4" From 2300be6a412ac7faf576661db2bdf57106261557 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 26 Aug 2022 07:29:33 +0000 Subject: [PATCH 0819/1388] build: update dependencies to Angular `15.0.0-next` --- package.json | 24 ++-- packages/angular/pwa/package.json | 2 +- .../angular_devkit/build_angular/package.json | 6 +- packages/ngtools/webpack/package.json | 6 +- .../angular/utility/latest-versions.ts | 2 +- .../e2e/assets/webpack/test-app/package.json | 18 +-- yarn.lock | 119 +++++++----------- 7 files changed, 77 insertions(+), 100 deletions(-) diff --git a/package.json b/package.json index 45b857cf4251..7020977e1f5a 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "14.2.0-rc.0", + "@angular/animations": "15.0.0-next.0", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484", "@angular/cdk": "14.2.0-rc.0", - "@angular/common": "14.2.0-rc.0", - "@angular/compiler": "14.2.0-rc.0", - "@angular/compiler-cli": "14.2.0-rc.0", - "@angular/core": "14.2.0-rc.0", - "@angular/forms": "14.2.0-rc.0", - "@angular/localize": "14.2.0-rc.0", + "@angular/common": "15.0.0-next.0", + "@angular/compiler": "15.0.0-next.0", + "@angular/compiler-cli": "15.0.0-next.0", + "@angular/core": "15.0.0-next.0", + "@angular/forms": "15.0.0-next.0", + "@angular/localize": "15.0.0-next.0", "@angular/material": "14.2.0-rc.0", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca", - "@angular/platform-browser": "14.2.0-rc.0", - "@angular/platform-browser-dynamic": "14.2.0-rc.0", - "@angular/platform-server": "14.2.0-rc.0", - "@angular/router": "14.2.0-rc.0", - "@angular/service-worker": "14.2.0-rc.0", + "@angular/platform-browser": "15.0.0-next.0", + "@angular/platform-browser-dynamic": "15.0.0-next.0", + "@angular/platform-server": "15.0.0-next.0", + "@angular/router": "15.0.0-next.0", + "@angular/service-worker": "15.0.0-next.0", "@babel/core": "7.18.13", "@babel/generator": "7.18.13", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/angular/pwa/package.json b/packages/angular/pwa/package.json index 04ea0d962822..e4dcfc3d3a4d 100644 --- a/packages/angular/pwa/package.json +++ b/packages/angular/pwa/package.json @@ -17,7 +17,7 @@ "parse5-html-rewriting-stream": "6.0.1" }, "peerDependencies": { - "@angular/cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next" + "@angular/cli": "^15.0.0-next" }, "peerDependenciesMeta": { "@angular/cli": { diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4be94f5d47d1..3525ac43bac6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -73,9 +73,9 @@ "esbuild": "0.15.5" }, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", - "@angular/localize": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", - "@angular/service-worker": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", + "@angular/compiler-cli": "^15.0.0-next", + "@angular/localize": "^15.0.0-next", + "@angular/service-worker": "^15.0.0-next", "karma": "^6.3.0", "ng-packagr": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", "protractor": "^7.0.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index e91352ea9e02..264f5302b2d8 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,14 +22,14 @@ "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack", "dependencies": {}, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", + "@angular/compiler-cli": "^15.0.0-next", "typescript": ">=4.6.2 <4.9", "webpack": "^5.54.0" }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "14.1.3", - "@angular/compiler-cli": "14.1.3", + "@angular/compiler": "15.0.0-next.0", + "@angular/compiler-cli": "15.0.0-next.0", "typescript": "4.8.2", "webpack": "5.74.0" } diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 93b35c68dcf5..c9ea681321fc 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -15,7 +15,7 @@ export const latestVersions: Record & { ...require('./latest-versions/package.json')['dependencies'], // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current - Angular: '^14.0.0-next.0', + Angular: '^15.0.0-next.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both diff --git a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json index d2b815e17012..940cccbca670 100644 --- a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json +++ b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json @@ -2,14 +2,14 @@ "name": "test", "license": "MIT", "dependencies": { - "@angular/common": "^14.0.0-rc", - "@angular/compiler": "^14.0.0-rc", - "@angular/compiler-cli": "^14.0.0-rc", - "@angular/core": "^14.0.0-rc", - "@angular/platform-browser": "^14.0.0-rc", - "@angular/platform-browser-dynamic": "^14.0.0-rc", - "@angular/platform-server": "^14.0.0-rc", - "@angular/router": "^14.0.0-rc", + "@angular/common": "^15.0.0-next", + "@angular/compiler": "^15.0.0-next", + "@angular/compiler-cli": "^15.0.0-next", + "@angular/core": "^15.0.0-next", + "@angular/platform-browser": "^15.0.0-next", + "@angular/platform-browser-dynamic": "^15.0.0-next", + "@angular/platform-server": "^15.0.0-next", + "@angular/router": "^15.0.0-next", "@ngtools/webpack": "0.0.0", "rxjs": "^6.6.7", "zone.js": "^0.11.4" @@ -17,7 +17,7 @@ "devDependencies": { "sass": "^1.32.8", "sass-loader": "^11.0.1", - "typescript": "~4.7.2", + "typescript": "~4.8.2", "webpack": "^5.27.0", "webpack-cli": "^4.5.0" } diff --git a/yarn.lock b/yarn.lock index 2f68948f5b63..a71fe357838f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-14.2.0-rc.0.tgz#b5a9e9acef68d2dd66172d82cc998822964903f3" - integrity sha512-taWD6Y8/LzPTz31DyudbHKwPydE80RNIlHVdz3GnIfpSHs0AT49hni9UeLsPL7DXkwsrhYJ/6S4BjULQSiwDQA== +"@angular/animations@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.0.tgz#97d2b760010ce866f7dbc5cd5f9cb0fa7f1c6a8e" + integrity sha512-0V/7zkeupLzHkpMU9e0kNPwr82n4hyhySsRvn7kQzrcuoQsw5M26020qqbk5drxfkIpkKRDL9K8tEpI3sRmP2g== dependencies: tslib "^2.3.0" @@ -174,17 +174,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-14.2.0-rc.0.tgz#583dfcc93a62982f5cfcae34a01885f741e7ed04" - integrity sha512-NvJenAMu+1fhxJxviU1olnyMvAR0V327Ce80TtnjGiL+3jxi1jPudxinSYO4tV2iGZgPCSVWp44K3HJ/+C1QnQ== +"@angular/common@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.0.tgz#21d6ae5cfaf148c788ec9bcba721aae98ffab27c" + integrity sha512-pLLkShD2tvfT36rCK/fxJKF9yAO6ZjvUZcG+aOqJuNECrd/82AqvbuFutmbuppxRtc8rsyOmde1HsmVynXJNWg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@14.1.3": - version "14.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.1.3.tgz#ff2b85115599bbdd44264c6ed0f307a864838471" - integrity sha512-GJqUfIKuM7bYeR699ceRSa6LT90vEi2q+s+YIwRrlXSFto7xNCmn5bJsYV6XmslvPPTqiLR5w9K8MNC9qYBbxw== +"@angular/compiler-cli@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.0.tgz#2e30c0fc66c08521a8f092df394fc4f94cb0674d" + integrity sha512-hbCbJu6psCYrVUA/03pbFLzySzuAmb3qX2CZ90O7NC2mT9jbwZtexJcwiWzHBTK0ZPc9wzs3iFtVVlBQt0n5wQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -197,40 +197,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler-cli@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-14.2.0-rc.0.tgz#cf166045b2047039e6b933491ea82a31b37ea25a" - integrity sha512-wH8HUZlJaOgspwIge5T2+xfMqCZ3FXKvsqxm7ebafdC1/527b0rrZcu3hxqxrQYD0qqueAD9s5sU9cPbp/tiLg== +"@angular/compiler@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.0.tgz#62cdcbdf39547249770ee18274b1c82214c3482b" + integrity sha512-HkM4GwkIiMxVR5EXg2sqJigrs4a9ULQSeSfA+u0M5/5RmdFT4Tmd/Qx8ibkawlk7HX6S4iTlRCwLW7nP9zmbgg== dependencies: - "@babel/core" "^7.17.2" - chokidar "^3.0.0" - convert-source-map "^1.5.1" - dependency-graph "^0.11.0" - magic-string "^0.26.0" - reflect-metadata "^0.1.2" - semver "^7.0.0" - sourcemap-codec "^1.4.8" tslib "^2.3.0" - yargs "^17.2.1" -"@angular/compiler@14.1.3": - version "14.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.1.3.tgz#0c8a9c8a8b3e4eb961849ba49a8517659499779d" - integrity sha512-QtBHzhGzym8CwGrZLFYsciaLq/F4lxUxNOBDQdrc5Pd/qYiaJ50rrWfmXpqrFR6CC0E0bgzIj0Uxdf+D/VRmWQ== - dependencies: - tslib "^2.3.0" - -"@angular/compiler@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-14.2.0-rc.0.tgz#c6807fe9631f8d26ee32315203d1307af3cafcef" - integrity sha512-aHn4byWuzjdItORRaR5pjmsXiSv97nv9S6M74ETOpMQbLGlkx/VHL4125APXg0rR+deHeyEn9rHLX1szaajv4Q== - dependencies: - tslib "^2.3.0" - -"@angular/core@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.0-rc.0.tgz#7f83456b63196f67afbc8fde85e3183e59e89c54" - integrity sha512-WVV9LNlsidackk71Tso2i1BDyQ2RinLSjlDE9ZkLbwMEFZ9kKBXz9/d61JGGYTO9kjOWbKUVU4NNeYcoNjlZ6g== +"@angular/core@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.0.tgz#3ce2c00596b7c9bdf2cf32a223731e224447aeb2" + integrity sha512-581pY5+ghR3/O2Yj7lVYSiYdGiFPmPVnmr2U//MeTJZdUwHTojE+AymZfW4RXb2Sxm2ufqnGUqk7sQPV/pRzrg== dependencies: tslib "^2.3.0" @@ -241,17 +218,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-14.2.0-rc.0.tgz#1c2eb1af63bc53a7e4ea9acfeedf2656a0b00a85" - integrity sha512-lD+Vxkj0zkcFSbd3+16L9k8gdim50kNLseOVlO1Cw6pwA/pz0jpAzRF3m2MZt13EApg7iH4ApJhwK2ooZ+f+Dw== +"@angular/forms@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.0.tgz#8b24764b7dce0fbcdee1152709753f4e366738c0" + integrity sha512-Ca0+xxg6Se048QReKZWBB4hv/i2a3wfULjqort2e3AYy16YXdtD1Kfb6FK0hIphLiXYbeG99q6r4lRZ4nZqQ1A== dependencies: tslib "^2.3.0" -"@angular/localize@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-14.2.0-rc.0.tgz#a8ca71922e33616edf7678029ec74f7ce03c3de5" - integrity sha512-fs32HBXzdzSXwYcq143J6/4prXhWRHuwdXSJgtcfp1SWNPtzqUgWObB/ulTOvxmb3J48TXbP3XrH3J50PX5J9g== +"@angular/localize@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.0.tgz#07c58bbbd50e9191e600d9d9545141b5ed9dc283" + integrity sha512-OX4x3R8c7Wo+w1Hc8nj+ASorAN2wHaCFkU+PwUbFD1IZ27Bn7j0ZAXDX5DU6pLgYKJlxjsiwrGHcj2S84H4Otw== dependencies: "@babel/core" "7.18.9" glob "8.0.3" @@ -272,40 +249,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.7.3" -"@angular/platform-browser-dynamic@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.0-rc.0.tgz#eeeb6581416d584f44d69c2934614a31486be132" - integrity sha512-xumsXqZfKZkfEOTZRZHcLimW8V6i15fKiykgEfbnqfexaNVuqA5Kj7TjIuvMEvSLotTVKgGQ3m/InXfQyJ8qnA== +"@angular/platform-browser-dynamic@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.0.tgz#dbc1868ebb4e7e82f868ba30d53c3fa752550fe0" + integrity sha512-VEb3JLCbpeQQAeAYvwfu7sVO5iefYbOh24NhKHmzxLS+rr0odRJbh6pMfXnr0ObtA6TgqLluXwVScipKOtjZaw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-14.2.0-rc.0.tgz#d3b6c0c556ca507490b44d4b08e8c9c04d57b2db" - integrity sha512-wndbJGLtrRJewAzYS6yUIpw6m7gsV9NuWIvVkTticbqSXxwUn78sq68S3LmXb+rMRiE9Ex+KMAvmo9NO5LD0ag== +"@angular/platform-browser@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.0.tgz#c18758bf97a9298f7f19ee4362b0cfa350e31031" + integrity sha512-XkIVdHlaFN1AyIpNNX+vsmka+xs1yY//PvgD9MsPWLHLxscPj8sZ4J7yy785lgmxYaVgFn9QYw/PuvMe6IS9aQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-14.2.0-rc.0.tgz#8d959bb0f338c99cf423450fa3f547035e132961" - integrity sha512-MQnAdj6CM3NHQCCIIu98YW5u727CqBx+u0BbiBZaiA15sIqO0XBBW2way8LqCQSjTc1mXrewB5Usb/ZQOLmOLw== +"@angular/platform-server@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.0.tgz#8a88a800a26c51f648ccfc6c61648201a98f553a" + integrity sha512-7BHRkm5AlTrFCv9207UhDjlJ852vrUR0F7/y5z7ipB3OrghDH0gFFIacaK/AWAgkJeeZTy8KkwWve1lROOnp0A== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-14.2.0-rc.0.tgz#a351e1fc4b3f807493538358eebb4b6a333e6ce6" - integrity sha512-mouOjA33nSstsTF2KpciuJfbMO3JJ8gwPfeMneCeih+aCI5sZo02mEvoZl9bzpAXl1Sj2Xd0a5syBfdrBUG7Ng== +"@angular/router@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.0.tgz#2ebd07aac15158d7cb850c26bbd82764ce3bc14a" + integrity sha512-gBM07o2iab/PxkMZwChm33+/auNqhT4zYzuwlaGprYuArXGJCUJgC/9dNUgzBG4m/eWBRV24Y1Arq6fAkLOHjA== dependencies: tslib "^2.3.0" -"@angular/service-worker@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-14.2.0-rc.0.tgz#e4e056ee109d31e46fd9e754d39df58bda8465ce" - integrity sha512-6bIFg55Am2n1ute7Wn06gs4ygWrXrI0Do83tEsVoi2o8WUb8S6c3Lx4o3jKwOvYL8MTn4XlN4bVSnHGY5qPDVQ== +"@angular/service-worker@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.0.tgz#a21b052dd121eda268ccfdefc0e7e2b3dbb50120" + integrity sha512-aO4Xzf3Yg/TDItHaNRj+RoFtnD99SLg6AAtZzOR/aDBiVI99a8f33AQC6hlQWIgx1tuRQMbAa8KkPtkAKN0KYA== dependencies: tslib "^2.3.0" From b91ac67e336eca565a6174e94099f255e138952f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 26 Aug 2022 07:30:13 +0000 Subject: [PATCH 0820/1388] build: bump the next branch to v15.0.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7020977e1f5a..658294af787b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "14.3.0-next.0", + "version": "15.0.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From f155f593615495e523d53bed8d42facdcfd4f994 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Sat, 27 Aug 2022 05:50:41 +0000 Subject: [PATCH 0821/1388] build: update ng-packagr to `15.0.0-next.0` This version supports Angular 15. --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- .../angular/utility/latest-versions/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 658294af787b..06293d0b64f1 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "magic-string": "0.26.2", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "14.2.0", + "ng-packagr": "15.0.0-next.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3525ac43bac6..1570ecc4b755 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -77,7 +77,7 @@ "@angular/localize": "^15.0.0-next", "@angular/service-worker": "^15.0.0-next", "karma": "^6.3.0", - "ng-packagr": "^14.0.0 || ^14.0.0-next || ^14.1.0-next", + "ng-packagr": "^15.0.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", "typescript": ">=4.6.2 <4.9" diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 37b08c1f22f3..cc6e09068fc0 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -12,7 +12,7 @@ "karma-jasmine-html-reporter": "~2.0.0", "karma-jasmine": "~5.1.0", "karma": "~6.4.0", - "ng-packagr": "^14.0.0-next.8", + "ng-packagr": "^15.0.0-next.0", "protractor": "~7.0.0", "rxjs": "~7.5.0", "tslib": "^2.3.0", diff --git a/yarn.lock b/yarn.lock index a71fe357838f..97f5ff2014ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7573,10 +7573,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@14.2.0: - version "14.2.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-14.2.0.tgz#c687bfbebaa6624c92bf26755dfadf7ef70e7da5" - integrity sha512-Nb+2/L37CFcWmCz91USwNd87mdTfTXDb4MBl87Dkj2H53KfrAltX2psa+gTRbjE5USCX8bQeu4nRzf/Bp6Vivg== +ng-packagr@15.0.0-next.0: + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.0.tgz#d4be7a94bb668f3ad0116d18e46b9fd0833eb47a" + integrity sha512-6H+2CSfjLYfTff04MIpPWnGlvNXHfnGdzNhNJh9hLKqLy3HZKXR9+Bn/HtaleNzFAGsRnHwon2VstamF2ng28g== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.1.3" From 9167d888c2ada8c0203d3cb829b742e0ab6def32 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Sat, 27 Aug 2022 06:15:26 +0000 Subject: [PATCH 0822/1388] test(@angular/cli): temporary disable material tests These tests require material version 15.0.0-next to be released due to mismatching peer deps. --- tests/legacy-cli/e2e/tests/build/material.ts | 3 ++ .../e2e/tests/commands/add/add-material.ts | 49 ++++++++++--------- .../misc/invalid-schematic-dependencies.ts | 3 ++ 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index a010ea834791..6882dd108684 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,6 +7,9 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { + // TODO(alanagius): re-enable once material version 15.0.0-next is out. + return; + let tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 3ba5dcfed0c3..f96f6745c5aa 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -1,33 +1,38 @@ +import { assertIsError } from '../../../utils/utils'; import { expectFileToMatch, rimraf } from '../../../utils/fs'; import { uninstallPackage } from '../../../utils/packages'; import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; export default async function () { - // forcibly remove in case another test doesn't clean itself up - await rimraf('node_modules/@angular/material'); + // TODO(alanagius): re-enable material once version 15.0.0-next is out. + return; - const tag = (await isPrereleaseCli()) ? '@next' : ''; + // // forcibly remove in case another test doesn't clean itself up + // await rimraf('node_modules/@angular/material'); - try { - await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); - } catch (error) { - if (!(error instanceof Error && error.message.includes(`Unknown option: '--unknown'`))) { - throw error; - } - } + // const tag = (await isPrereleaseCli()) ? '@next' : ''; - await ng( - 'add', - `@angular/material${tag}`, - '--theme', - 'custom', - '--verbose', - '--skip-confirmation', - ); - await expectFileToMatch('package.json', /@angular\/material/); + // try { + // await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); + // } catch (error) { + // assertIsError(error); + // if (!error.message.includes(`Unknown option: '--unknown'`)) { + // throw error; + // } + // } - // Clean up existing cdk package - // Not doing so can cause adding material to fail if an incompatible cdk is present - await uninstallPackage('@angular/cdk'); + // await ng( + // 'add', + // `@angular/material${tag}`, + // '--theme', + // 'custom', + // '--verbose', + // '--skip-confirmation', + // ); + // await expectFileToMatch('package.json', /@angular\/material/); + + // // Clean up existing cdk package + // // Not doing so can cause adding material to fail if an incompatible cdk is present + // await uninstallPackage('@angular/cdk'); } diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 432f21167cdb..82ec33b94841 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -4,6 +4,9 @@ import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; export default async function () { + // TODO(alanagius): re-enable once material version 15.0.0-next is out. + return; + // Must publish old version to local registry to allow install. This is especially important // for release commits as npm will try to request tooling packages that are not on the npm registry yet await publishOutdated('@schematics/angular@7'); From 56b3299f123d8c93c68b147445081758d6f608de Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 30 Aug 2022 11:39:19 +0000 Subject: [PATCH 0823/1388] build: update all non-major dependencies --- package.json | 18 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 10 +- packages/angular_devkit/core/package.json | 2 +- .../angular_devkit/schematics/package.json | 4 +- packages/schematics/angular/package.json | 2 +- yarn.lock | 312 ++++++++++++++---- 7 files changed, 272 insertions(+), 78 deletions(-) diff --git a/package.json b/package.json index 06293d0b64f1..f7bfe3ff613f 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "@types/jasmine": "~4.3.0", "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", - "@types/minimatch": "5.1.0", + "@types/minimatch": "5.1.1", "@types/node": "^14.15.0", "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.35.1", - "@typescript-eslint/parser": "5.35.1", + "@typescript-eslint/eslint-plugin": "5.36.0", + "@typescript-eslint/parser": "5.36.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.5", - "esbuild-wasm": "0.15.5", + "esbuild": "0.15.6", + "esbuild-wasm": "0.15.6", "eslint": "8.23.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -158,7 +158,7 @@ "jasmine-core": "~4.3.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", @@ -170,7 +170,7 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.26.2", + "magic-string": "0.26.3", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "ng-packagr": "15.0.0-next.0", @@ -196,7 +196,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.5", + "sass": "1.54.6", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -219,7 +219,7 @@ "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.10.0", + "webpack-dev-server": "4.10.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index f72dfe672681..7eba0a1358a7 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -31,7 +31,7 @@ "debug": "4.3.4", "ini": "3.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "npm-package-arg": "9.1.0", "npm-pick-manifest": "7.0.2", "open": "8.4.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1570ecc4b755..e803ae7e2b6f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -29,11 +29,11 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.5", + "esbuild-wasm": "0.15.6", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", "less-loader": "11.0.0", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.5", + "sass": "1.54.6", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", @@ -65,12 +65,12 @@ "tslib": "2.4.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.10.0", + "webpack-dev-server": "4.10.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.5" + "esbuild": "0.15.6" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 31d7fee401fc..5985806f6826 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -10,7 +10,7 @@ "dependencies": { "ajv-formats": "2.1.1", "ajv": "8.11.0", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 29ecb046122d..24172a78061e 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -14,8 +14,8 @@ ], "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "jsonc-parser": "3.1.0", - "magic-string": "0.26.2", + "jsonc-parser": "3.2.0", + "magic-string": "0.26.3", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/packages/schematics/angular/package.json b/packages/schematics/angular/package.json index 22ad349905a4..3163b0dce9f0 100644 --- a/packages/schematics/angular/package.json +++ b/packages/schematics/angular/package.json @@ -20,6 +20,6 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", - "jsonc-parser": "3.1.0" + "jsonc-parser": "3.2.0" } } diff --git a/yarn.lock b/yarn.lock index 97f5ff2014ba..fded8d32e781 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1443,6 +1443,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz#91aef76d332cdc7c8942b600fa2307f3387e6f82" integrity sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A== +"@esbuild/linux-loong64@0.15.6": + version "0.15.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.6.tgz#45be4184f00e505411bc265a05e709764114acd8" + integrity sha512-hqmVU2mUjH6J2ZivHphJ/Pdse2ZD+uGCHK0uvsiLDk/JnSedEVj77CiVUnbMKuU4tih1TZZL8tG9DExQg/GZsw== + "@eslint/eslintrc@^1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" @@ -2219,11 +2224,16 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*", "@types/minimatch@5.1.0": +"@types/minimatch@*": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.0.tgz#c3018161691376002f8a22ebb87f341e0dba3219" integrity sha512-0RJHq5FqDWo17kdHe+SMDJLfxmLaqHbWnqZ6gNKzDvStUlrmx/eKIY17+ifLS1yybo7X86aUshQMlittDOVNnw== +"@types/minimatch@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.1.tgz#b1429c0c016cd50e105f3166bf179f6918b7365f" + integrity sha512-v55NF6Dz0wrj14Rn8iEABTWrhYRmgkJYuokduunSiq++t3hZ9VZ6dvcDt+850Pm5sGJZk8RaHzkFCXPxVINZ+g== + "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" @@ -2522,14 +2532,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz#0d822bfea7469904dfc1bb8f13cabd362b967c93" - integrity sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg== +"@typescript-eslint/eslint-plugin@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.0.tgz#8f159c4cdb3084eb5d4b72619a2ded942aa109e5" + integrity sha512-X3In41twSDnYRES7hO2xna4ZC02SY05UN9sGW//eL1P5k4CKfvddsdC2hOq0O3+WU1wkCPQkiTY9mzSnXKkA0w== dependencies: - "@typescript-eslint/scope-manager" "5.35.1" - "@typescript-eslint/type-utils" "5.35.1" - "@typescript-eslint/utils" "5.35.1" + "@typescript-eslint/scope-manager" "5.36.0" + "@typescript-eslint/type-utils" "5.36.0" + "@typescript-eslint/utils" "5.36.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2537,69 +2547,70 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.35.1.tgz#bf2ee2ebeaa0a0567213748243fb4eec2857f04f" - integrity sha512-XL2TBTSrh3yWAsMYpKseBYTVpvudNf69rPOWXWVBI08My2JVT5jR66eTt4IgQFHA/giiKJW5dUD4x/ZviCKyGg== +"@typescript-eslint/parser@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.0.tgz#c08883073fb65acaafd268a987fd2314ce80c789" + integrity sha512-dlBZj7EGB44XML8KTng4QM0tvjI8swDh8MdpE5NX5iHWgWEfIuqSfSE+GPeCrCdj7m4tQLuevytd57jNDXJ2ZA== dependencies: - "@typescript-eslint/scope-manager" "5.35.1" - "@typescript-eslint/types" "5.35.1" - "@typescript-eslint/typescript-estree" "5.35.1" + "@typescript-eslint/scope-manager" "5.36.0" + "@typescript-eslint/types" "5.36.0" + "@typescript-eslint/typescript-estree" "5.36.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz#ccb69d54b7fd0f2d0226a11a75a8f311f525ff9e" - integrity sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q== +"@typescript-eslint/scope-manager@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.0.tgz#f4f859913add160318c0a5daccd3a030d1311530" + integrity sha512-PZUC9sz0uCzRiuzbkh6BTec7FqgwXW03isumFVkuPw/Ug/6nbAqPUZaRy4w99WCOUuJTjhn3tMjsM94NtEj64g== dependencies: - "@typescript-eslint/types" "5.35.1" - "@typescript-eslint/visitor-keys" "5.35.1" + "@typescript-eslint/types" "5.36.0" + "@typescript-eslint/visitor-keys" "5.36.0" -"@typescript-eslint/type-utils@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz#d50903b56758c5c8fc3be52b3be40569f27f9c4a" - integrity sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw== +"@typescript-eslint/type-utils@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.0.tgz#5d2f94a36a298ae240ceca54b3bc230be9a99f0a" + integrity sha512-W/E3yJFqRYsjPljJ2gy0YkoqLJyViWs2DC6xHkXcWyhkIbCDdaVnl7mPLeQphVI+dXtY05EcXFzWLXhq8Mm/lQ== dependencies: - "@typescript-eslint/utils" "5.35.1" + "@typescript-eslint/typescript-estree" "5.36.0" + "@typescript-eslint/utils" "5.36.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.35.1.tgz#af355fe52a0cc88301e889bc4ada72f279b63d61" - integrity sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ== +"@typescript-eslint/types@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.0.tgz#cde7b94d1c09a4f074f46db99e7bd929fb0a5559" + integrity sha512-3JJuLL1r3ljRpFdRPeOtgi14Vmpx+2JcR6gryeORmW3gPBY7R1jNYoq4yBN1L//ONZjMlbJ7SCIwugOStucYiQ== -"@typescript-eslint/typescript-estree@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz#db878a39a0dbdc9bb133f11cdad451770bfba211" - integrity sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA== +"@typescript-eslint/typescript-estree@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.0.tgz#0acce61b4850bdb0e578f0884402726680608789" + integrity sha512-EW9wxi76delg/FS9+WV+fkPdwygYzRrzEucdqFVWXMQWPOjFy39mmNNEmxuO2jZHXzSQTXzhxiU1oH60AbIw9A== dependencies: - "@typescript-eslint/types" "5.35.1" - "@typescript-eslint/visitor-keys" "5.35.1" + "@typescript-eslint/types" "5.36.0" + "@typescript-eslint/visitor-keys" "5.36.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.35.1.tgz#ae1399afbfd6aa7d0ed1b7d941e9758d950250eb" - integrity sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ== +"@typescript-eslint/utils@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.0.tgz#104c864ecc1448417606359275368bf3872bbabb" + integrity sha512-wAlNhXXYvAAUBbRmoJDywF/j2fhGLBP4gnreFvYvFbtlsmhMJ4qCKVh/Z8OP4SgGR3xbciX2nmG639JX0uw1OQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.35.1" - "@typescript-eslint/types" "5.35.1" - "@typescript-eslint/typescript-estree" "5.35.1" + "@typescript-eslint/scope-manager" "5.36.0" + "@typescript-eslint/types" "5.36.0" + "@typescript-eslint/typescript-estree" "5.36.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.35.1": - version "5.35.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz#285e9e34aed7c876f16ff646a3984010035898e6" - integrity sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g== +"@typescript-eslint/visitor-keys@5.36.0": + version "5.36.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.0.tgz#565d35a5ca00d00a406a942397ead2cb190663ba" + integrity sha512-pdqSJwGKueOrpjYIex0T39xarDt1dn4p7XJ+6FqBWugNQwXlNGC5h62qayAIYZ/RPPtD+ButDWmpXT1eGtiaYg== dependencies: - "@typescript-eslint/types" "5.35.1" + "@typescript-eslint/types" "5.36.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -4710,106 +4721,211 @@ esbuild-android-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== +esbuild-android-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.6.tgz#baaed943ca510c2ad546e116728132e76d1d2044" + integrity sha512-Z1CHSgB1crVQi2LKSBwSkpaGtaloVz0ZIYcRMsvHc3uSXcR/x5/bv9wcZspvH/25lIGTaViosciS/NS09ERmVA== + esbuild-android-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== +esbuild-android-arm64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.6.tgz#1c33c73d4c074969e014e31958116460c8e75a7a" + integrity sha512-mvM+gqNxqKm2pCa3dnjdRzl7gIowuc4ga7P7c3yHzs58Im8v/Lfk1ixSgQ2USgIywT48QWaACRa3F4MG7djpSw== + esbuild-darwin-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== +esbuild-darwin-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.6.tgz#388592ba61bf31993d79f6311f7452aa1ef255b9" + integrity sha512-BsfVt3usScAfGlXJiGtGamwVEOTM8AiYiw1zqDWhGv6BncLXCnTg1As+90mxWewdTZKq3iIy8s9g8CKkrrAXVw== + esbuild-darwin-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== +esbuild-darwin-arm64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.6.tgz#194e987849dc4688654008a1792f26e948f52e74" + integrity sha512-CnrAeJaEpPakUobhqO4wVSA4Zm6TPaI5UY4EsI62j9mTrjIyQPXA1n4Ju6Iu5TVZRnEqV6q8blodgYJ6CJuwCA== + esbuild-freebsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== +esbuild-freebsd-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.6.tgz#daa72faee585ec2ec27cc65e86a6ce0786373e66" + integrity sha512-+qFdmqi+jkAsxsNJkaWVrnxEUUI50nu6c3MBVarv3RCDCbz7ZS1a4ZrdkwEYFnKcVWu6UUE0Kkb1SQ1yGEG6sg== + esbuild-freebsd-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== +esbuild-freebsd-arm64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.6.tgz#70c8a2a30bf6bb9d547a0d8dc93aa015ec4f77f9" + integrity sha512-KtQkQOhnNciXm2yrTYZMD3MOm2zBiiwFSU+dkwNbcfDumzzUprr1x70ClTdGuZwieBS1BM/k0KajRQX7r504Xw== + esbuild-linux-32@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== +esbuild-linux-32@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.6.tgz#d69ed2335b2d68c00b3248254b432172077b7ced" + integrity sha512-IAkDNz3TpxwISTGVdQijwyHBZrbFgLlRi5YXcvaEHtgbmayLSDcJmH5nV1MFgo/x2QdKcHBkOYHdjhKxUAcPwg== + esbuild-linux-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== +esbuild-linux-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.6.tgz#dca821e8f129cccde23ac947fd0d4bea3b333808" + integrity sha512-gQPksyrEYfA4LJwyfTQWAZaVZCx4wpaLrSzo2+Xc9QLC+i/sMWmX31jBjrn4nLJCd79KvwCinto36QC7BEIU/A== + esbuild-linux-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== +esbuild-linux-arm64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.6.tgz#c9e8bc86f3c58a7c8ff1ded5880c6a39ade7621b" + integrity sha512-aovDkclFa6C9EdZVBuOXxqZx83fuoq8097xZKhEPSygwuy4Lxs8J4anHG7kojAsR+31lfUuxzOo2tHxv7EiNHA== + esbuild-linux-arm@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== +esbuild-linux-arm@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.6.tgz#354ecad0223f5b176995cf4462560eec2633de24" + integrity sha512-xZ0Bq2aivsthDjA/ytQZzxrxIZbG0ATJYMJxNeOIBc1zUjpbVpzBKgllOZMsTSXMHFHGrow6TnCcgwqY0+oEoQ== + esbuild-linux-mips64le@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== +esbuild-linux-mips64le@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.6.tgz#f4fb941a4ff0af437deed69a2e0712983c8fff3e" + integrity sha512-wVpW8wkWOGizsCqCwOR/G3SHwhaecpGy3fic9BF1r7vq4djLjUcA8KunDaBCjJ6TgLQFhJ98RjDuyEf8AGjAvw== + esbuild-linux-ppc64le@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== +esbuild-linux-ppc64le@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.6.tgz#19774a8b52c77173f2d4f171b8a8cf839b12e686" + integrity sha512-z6w6gsPH/Y77uchocluDC8tkCg9rfkcPTePzZKNr879bF4tu7j9t255wuNOCE396IYEGxY7y8u2HJ9i7kjCLVw== + esbuild-linux-riscv64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== +esbuild-linux-riscv64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.6.tgz#66bd83b065c4a1e623df02c122bc7e4e15fd8486" + integrity sha512-pfK/3MJcmbfU399TnXW5RTPS1S+ID6ra+CVj9TFZ2s0q9Ja1F5A1VirUUvViPkjiw+Kq3zveyn6U09Wg1zJXrw== + esbuild-linux-s390x@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== +esbuild-linux-s390x@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.6.tgz#1e024bddc75afe8dc70ed48fc9627af770d7f34b" + integrity sha512-OZeeDu32liefcwAE63FhVqM4heWTC8E3MglOC7SK0KYocDdY/6jyApw0UDkDHlcEK9mW6alX/SH9r3PDjcCo/Q== + esbuild-netbsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== +esbuild-netbsd-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.6.tgz#c11477d197f059c8794ee1691e3399201f7c4b9a" + integrity sha512-kaxw61wcHMyiEsSsi5ut1YYs/hvTC2QkxJwyRvC2Cnsz3lfMLEu8zAjpBKWh9aU/N0O/gsRap4wTur5GRuSvBA== + esbuild-openbsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== +esbuild-openbsd-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.6.tgz#b29e7faed5b8d2aeaf3884c47c1a96b1cba8e263" + integrity sha512-CuoY60alzYfIZapUHqFXqXbj88bbRJu8Fp9okCSHRX2zWIcGz4BXAHXiG7dlCye5nFVrY72psesLuWdusyf2qw== + esbuild-sunos-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== +esbuild-sunos-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.6.tgz#9668f39e47179f50c0435040904b9c6e10e84a70" + integrity sha512-1ceefLdPWcd1nW/ZLruPEYxeUEAVX0YHbG7w+BB4aYgfknaLGotI/ZvPWUZpzhC8l1EybrVlz++lm3E6ODIJOg== + esbuild-wasm@0.15.5, esbuild-wasm@^0.15.0: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" integrity sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A== +esbuild-wasm@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.6.tgz#e2360b3eb35c48ea7cdf4adfcd080ee203e7c3d8" + integrity sha512-UiRz1VyslE+xq+1zcij439+pZaqCe8xGDtCzNfo+1jH8ciofyg5A4zwlOOF3JLdNORe/W8ZwY8sJeQsD34dDFQ== + esbuild-windows-32@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== +esbuild-windows-32@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.6.tgz#9ddcd56e3c4fb9729a218c713c4e76bdbc1678b4" + integrity sha512-pBqdOsKqCD5LRYiwF29PJRDJZi7/Wgkz46u3d17MRFmrLFcAZDke3nbdDa1c8YgY78RiemudfCeAemN8EBlIpA== + esbuild-windows-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== +esbuild-windows-64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.6.tgz#1eaadeadfd995e9d065d35cb3e9f02607202f339" + integrity sha512-KpPOh4aTOo//g9Pk2oVAzXMpc9Sz9n5A9sZTmWqDSXCiiachfFhbuFlsKBGATYCVitXfmBIJ4nNYYWSOdz4hQg== + esbuild-windows-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== +esbuild-windows-arm64@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.6.tgz#e18a778d354fc2ca2306688f3fedad8a3e57819e" + integrity sha512-DB3G2x9OvFEa00jV+OkDBYpufq5x/K7a6VW6E2iM896DG4ZnAvJKQksOsCPiM1DUaa+DrijXAQ/ZOcKAqf/3Hg== + esbuild@0.15.5, esbuild@^0.15.0: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" @@ -4837,6 +4953,33 @@ esbuild@0.15.5, esbuild@^0.15.0: esbuild-windows-64 "0.15.5" esbuild-windows-arm64 "0.15.5" +esbuild@0.15.6: + version "0.15.6" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.6.tgz#626e5941b98de506b862047be3c4b33f89278923" + integrity sha512-sgLOv3l4xklvXzzczhRwKRotyrfyZ2i1fCS6PTOLPd9wevDPArGU8HFtHrHCOcsMwTjLjzGm15gvC8uxVzQf+w== + optionalDependencies: + "@esbuild/linux-loong64" "0.15.6" + esbuild-android-64 "0.15.6" + esbuild-android-arm64 "0.15.6" + esbuild-darwin-64 "0.15.6" + esbuild-darwin-arm64 "0.15.6" + esbuild-freebsd-64 "0.15.6" + esbuild-freebsd-arm64 "0.15.6" + esbuild-linux-32 "0.15.6" + esbuild-linux-64 "0.15.6" + esbuild-linux-arm "0.15.6" + esbuild-linux-arm64 "0.15.6" + esbuild-linux-mips64le "0.15.6" + esbuild-linux-ppc64le "0.15.6" + esbuild-linux-riscv64 "0.15.6" + esbuild-linux-s390x "0.15.6" + esbuild-netbsd-64 "0.15.6" + esbuild-openbsd-64 "0.15.6" + esbuild-sunos-64 "0.15.6" + esbuild-windows-32 "0.15.6" + esbuild-windows-64 "0.15.6" + esbuild-windows-arm64 "0.15.6" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6651,6 +6794,11 @@ jsonc-parser@3.1.0, jsonc-parser@^3.0.0: resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + jsonfile@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" @@ -7202,10 +7350,10 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.2, magic-string@^0.26.0: - version "0.26.2" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" - integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== +magic-string@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" + integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== dependencies: sourcemap-codec "^1.4.8" @@ -7216,6 +7364,13 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" +magic-string@^0.26.0: + version "0.26.2" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" + integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -9452,7 +9607,16 @@ sass@1.54.4: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.5, sass@^1.49.9: +sass@1.54.6: + version "1.54.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.6.tgz#5a12c268db26555c335028e355d6b7b1a5b9b4c8" + integrity sha512-DUqJjR2WxXBcZjRSZX5gCVyU+9fuC2qDfFzoKX9rV4rCOcec5mPtEafTcfsyL3YJuLONjWylBne+uXVh5rrmFw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sass@^1.49.9: version "1.54.5" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.5.tgz#93708f5560784f6ff2eab8542ade021a4a947b3a" integrity sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw== @@ -10559,12 +10723,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.2: - version "4.8.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" - integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== - -typescript@^4.6.2: +typescript@4.8.2, typescript@^4.6.2: version "4.8.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== @@ -11000,6 +11159,41 @@ webpack-dev-server@4.10.0: webpack-dev-middleware "^5.3.1" ws "^8.4.2" +webpack-dev-server@4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz#124ac9ac261e75303d74d95ab6712b4aec3e12ed" + integrity sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.0.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From a472d150b523c26816f1c97dbf32cb72953876fd Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 30 Aug 2022 13:19:19 +0000 Subject: [PATCH 0824/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 8 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++++---- yarn.lock | 78 +++++++++---------- 6 files changed, 60 insertions(+), 66 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 6a199b7f42af..5603127b7f0d 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@5ffe2357f61a57d16f44a3209cd880c211c575b5 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@457a350ebc50ec803abecb07c8995c1ec0f111ff with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@5ffe2357f61a57d16f44a3209cd880c211c575b5 + - uses: angular/dev-infra/github-actions/post-approval-changes@457a350ebc50ec803abecb07c8995c1ec0f111ff with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 595d2d7012b1..f85228c4be92 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@5ffe2357f61a57d16f44a3209cd880c211c575b5 + - uses: angular/dev-infra/github-actions/feature-request@457a350ebc50ec803abecb07c8995c1ec0f111ff with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 5f0413372985..04959499c24c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@5ffe2357f61a57d16f44a3209cd880c211c575b5 + - uses: angular/dev-infra/github-actions/lock-closed@457a350ebc50ec803abecb07c8995c1ec0f111ff with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index f7bfe3ff613f..403ae5deae2d 100644 --- a/package.json +++ b/package.json @@ -66,16 +66,16 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484", - "@angular/cdk": "14.2.0-rc.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3a406e5626a3d2edb46ea6bb6533fb4a99b34889", + "@angular/cdk": "14.2.0", "@angular/common": "15.0.0-next.0", "@angular/compiler": "15.0.0-next.0", "@angular/compiler-cli": "15.0.0-next.0", "@angular/core": "15.0.0-next.0", "@angular/forms": "15.0.0-next.0", "@angular/localize": "15.0.0-next.0", - "@angular/material": "14.2.0-rc.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca", + "@angular/material": "14.2.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ea920a8f84ab636a49c2dc08c494120569ae63cf", "@angular/platform-browser": "15.0.0-next.0", "@angular/platform-browser-dynamic": "15.0.0-next.0", "@angular/platform-server": "15.0.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index e94312598485..fd70fa01f6cc 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b23a08580f762abc85310e43534313d4c569b7cc", - "@angular/cdk": "github:angular/cdk-builds#23158d83f7e081505f9a7316d11837793acefab2", - "@angular/common": "github:angular/common-builds#8f46661a8dbf2f73ff4d02f412a594e9070576c7", - "@angular/compiler": "github:angular/compiler-builds#bbccd920d1ef81d7fd9ddff8a4e53a590ee87fe2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#fe99b8d49beda4c6b44156c8d88f5da73963c555", - "@angular/core": "github:angular/core-builds#09a17a36f38a76b3bcd516ca841d0af0420c04f4", - "@angular/forms": "github:angular/forms-builds#fc02d281207897c791b6d59c7db34f44e2e0a79c", - "@angular/language-service": "github:angular/language-service-builds#2a15e4910828a94aba005f6ab48a009007e74908", - "@angular/localize": "github:angular/localize-builds#49b48ce276c21b008577b53bef5528622bd34c9b", - "@angular/material": "github:angular/material-builds#644b9ffb7915ad22a1db9ca3a0273711cee22481", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#69eb4c2a840a45b2aec4424366709c12e51bafcf", - "@angular/platform-browser": "github:angular/platform-browser-builds#a947560c49f1627f23f1e4927b41642900812ee7", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6ac12b13e30f13f7799b3492a8bd7492e7b91615", - "@angular/platform-server": "github:angular/platform-server-builds#359234a1db1c06c264744b5e7ae613ed43ad332c", - "@angular/router": "github:angular/router-builds#f721c4458626226d76d5a21f71e5cbbd0f33f8e4", - "@angular/service-worker": "github:angular/service-worker-builds#631334beeced006bbc9df34f31a3f43cd2c4a39a" + "@angular/animations": "github:angular/animations-builds#814a8be425edce0f32cb82b1fda2705211adb549", + "@angular/cdk": "github:angular/cdk-builds#9264e7d4d9ec02b55b21d1776baa34f8a303e097", + "@angular/common": "github:angular/common-builds#c0984813a4310643f89c9fb5d802eefdabf663a2", + "@angular/compiler": "github:angular/compiler-builds#900b1d0c904a6f03a288a682990ca457b4fb28e4", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#44796b509ae68ce6d2661e63cad23290ef3e039d", + "@angular/core": "github:angular/core-builds#f698b6792a4e7d06d253e7250fcfca7ad6ac26c8", + "@angular/forms": "github:angular/forms-builds#3de8d54a46b1e34602bf46b746b492cfe6e4f6a4", + "@angular/language-service": "github:angular/language-service-builds#be797b2ed05e12cbf1cf097332c396d7db1abdea", + "@angular/localize": "github:angular/localize-builds#2ec1b9aa0fb6d7054f74318029a0f54daa275522", + "@angular/material": "github:angular/material-builds#849b1ea3d4ab8b52552342f0b1dbd4693423f691", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e08f9448dcfe4f8ca572abde0dbb3ce467e0afec", + "@angular/platform-browser": "github:angular/platform-browser-builds#8ca45eb4336108d45838909804a7a82103ab1abd", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a122f4b370210578966ac74dcd6be83973216b25", + "@angular/platform-server": "github:angular/platform-server-builds#4cecce49c49923876c3bdafde87702ef681c84eb", + "@angular/router": "github:angular/router-builds#20217ccca7d04ac90bd170a8f2c4739be86f5068", + "@angular/service-worker": "github:angular/service-worker-builds#90897d78287da7c2951cc03b76b2ce71b3ac2b1c" } } diff --git a/yarn.lock b/yarn.lock index fded8d32e781..9b1012fd5d28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484": - version "0.0.0-5ffe2357f61a57d16f44a3209cd880c211c575b5" - uid "2c68d0f9752df9bdbb185b89630ea085a2e62484" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#2c68d0f9752df9bdbb185b89630ea085a2e62484" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#3a406e5626a3d2edb46ea6bb6533fb4a99b34889": + version "0.0.0-457a350ebc50ec803abecb07c8995c1ec0f111ff" + uid "3a406e5626a3d2edb46ea6bb6533fb4a99b34889" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3a406e5626a3d2edb46ea6bb6533fb4a99b34889" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" "@angular/benchpress" "0.3.0" @@ -142,7 +142,7 @@ "@bazel/runfiles" "5.5.3" "@bazel/terser" "5.5.3" "@bazel/typescript" "5.5.3" - "@microsoft/api-extractor" "7.29.3" + "@microsoft/api-extractor" "7.29.5" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -161,14 +161,14 @@ tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" - typescript "~4.7.3" + typescript "~4.8.0" uuid "^8.3.2" yargs "^17.0.0" -"@angular/cdk@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.0-rc.0.tgz#bc70d173ff4d26d2728e9bde9e9c3fbdcad66939" - integrity sha512-E3APqCslpvmKyo+aINI5oDxk04EJcdixOCH/LFHk4SmFCIRJroa2HIl49h5y+yFJHeKY6QYXtRjLIyALQWSwAw== +"@angular/cdk@14.2.0": + version "14.2.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.0.tgz#27d0b307b1e9361fff21199001ac19f9b107767c" + integrity sha512-rAeQXUSbOJSKLVizueRKoZmRb0An5qJUMigsF8wJwJjySUIcJ8uSIOMV+G1rxkvxVVY0HRAVi2rIkJbeq3+WKQ== dependencies: tslib "^2.3.0" optionalDependencies: @@ -234,20 +234,20 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.0-rc.0.tgz#3e38cfc2663ec3fcbe013a6ddfb3bd329a510d87" - integrity sha512-j6GCAmUVSyoj88rGMJq0VFY4EMBpSL61zml+YNDITQmIxmEMyxDyQQNlFAhWuNaYIccAUxlYvQdEhZoi8N/fXg== +"@angular/material@14.2.0": + version "14.2.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.0.tgz#915a39bd7c6434ac2465964abb93cecd6034e5d7" + integrity sha512-Lh7Ccc6zi5ClFnr5w1ZFVHb5QnOye1si0xWvS5nMQG3e0OPFAt0oOhjILFIBMK7n2jq4kv6erqNX2fLkyRvTQw== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca": - version "0.0.0-806c568a439877f69b975aedbf5e4eb26fd7eaaf" - uid da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#da938be2693c1c05ad7ab74b5f6c0dedc2ffa5ca" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#ea920a8f84ab636a49c2dc08c494120569ae63cf": + version "0.0.0-457a350ebc50ec803abecb07c8995c1ec0f111ff" + uid ea920a8f84ab636a49c2dc08c494120569ae63cf + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ea920a8f84ab636a49c2dc08c494120569ae63cf" dependencies: "@yarnpkg/lockfile" "^1.1.0" - typescript "~4.7.3" + typescript "~4.8.0" "@angular/platform-browser-dynamic@15.0.0-next.0": version "15.0.0-next.0" @@ -1582,24 +1582,24 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.23.1": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.23.1.tgz#d93704882241e7720094d41c7005b07eb593c073" - integrity sha512-axlZ33H2LfYX7goAaWpzABWZl3JtX/EUkfVBsI4SuMn3AZYBJsP5MVpMCq7jt0PCefWGwwO+Rv+lCmmJIjFhlQ== +"@microsoft/api-extractor-model@7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.23.3.tgz#82961ebaddd7427112afbfc4c1d7c76a9932f2fc" + integrity sha512-HpsWzG6jrWHrTlIg53kmp/IVQPBHUZc+8dunnr9VXrmDjVBehaXxp9A6jhTQ/bd7W1m5TYfAvwCmseC1+9FCuA== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.50.2" + "@rushstack/node-core-library" "3.51.1" -"@microsoft/api-extractor@7.29.3": - version "7.29.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.29.3.tgz#f91ca61833c170c6c47a0fc064fa010460a11457" - integrity sha512-PHq+Oo8yiXhwi11VQ1Nz36s+aZwgFqjtkd41udWHtSpyMv2slJ74m1cHdpWbs2ovGUCfldayzdpGwnexZLd2bA== +"@microsoft/api-extractor@7.29.5": + version "7.29.5" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.29.5.tgz#8afafc8b2c27d8334579434971f718b347634f35" + integrity sha512-+vqO/TAGw9xXANpvTjA4y5ADcaRuYuBoJ9IfoAHubrGuxKG6GoW3P2tfdgwteLz95CnlftBxYp+3NG/mf05P9Q== dependencies: - "@microsoft/api-extractor-model" "7.23.1" + "@microsoft/api-extractor-model" "7.23.3" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.50.2" + "@rushstack/node-core-library" "3.51.1" "@rushstack/rig-package" "0.3.14" "@rushstack/ts-command-line" "4.12.2" colors "~1.2.1" @@ -1902,10 +1902,10 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.50.2": - version "3.50.2" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.50.2.tgz#43df3f8422898a448114fcb9c7d4e967625da585" - integrity sha512-+zpZBcaX5s+wA0avF0Lk3sd5jbGRo5SmsEJpElJbqQd3KGFvc/hcyeNSMqV5+esJ1JuTfnE1QyRt8nvxFNTaQg== +"@rushstack/node-core-library@3.51.1": + version "3.51.1" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.51.1.tgz#e123053c4924722cc9614c0091fda5ed7bbc6c9d" + integrity sha512-xLoUztvGpaT5CphDexDPt2WbBx8D68VS5tYOkwfr98p90y0f/wepgXlTA/q5MUeZGGucASiXKp5ysdD+GPYf9A== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -1914,7 +1914,6 @@ jju "~1.4.0" resolve "~1.17.0" semver "~7.3.0" - timsort "~0.3.0" z-schema "~5.0.2" "@rushstack/rig-package@0.3.14": @@ -10492,11 +10491,6 @@ timers-ext@^0.1.7: es5-ext "~0.10.46" next-tick "1" -timsort@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== - tiny-inflate@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" @@ -10723,12 +10717,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.2, typescript@^4.6.2: +typescript@4.8.2, typescript@^4.6.2, typescript@~4.8.0: version "4.8.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== -typescript@~4.7.3, typescript@~4.7.4: +typescript@~4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== From 774d349b73a436a99f2ea932b7509dab7c1d5e45 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 30 Aug 2022 11:28:17 +0000 Subject: [PATCH 0825/1388] refactor(@angular/cli): remove deprecated path handler BREAKING CHANGE: The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead. --- .../cli/src/command-builder/schematics-command-module.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 0e3ec5ccd0e5..7689f016717f 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -178,14 +178,6 @@ export abstract class SchematicsCommandModule return options; } - if (property['format'] === 'path' && !property['$default']) { - (options as Record)['path'] = workingDir || undefined; - this.context.logger.warn( - `The 'path' option in '${schematic?.schema}' is using deprecated behaviour. ` + - `'workingDirectory' smart default provider should be used instead.`, - ); - } - return options; }); From 69b2214987c8fad6efd091782cf28b20be62d244 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 30 Aug 2022 15:51:16 +0000 Subject: [PATCH 0826/1388] refactor(@schematics/angular): remove deprecated appDir option BREAKING CHANGE: Removed unused`appDir` option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect. --- packages/schematics/angular/app-shell/schema.json | 5 ----- packages/schematics/angular/universal/schema.json | 7 ------- 2 files changed, 12 deletions(-) diff --git a/packages/schematics/angular/app-shell/schema.json b/packages/schematics/angular/app-shell/schema.json index 2267d3c3f638..af2e4dec4ff2 100644 --- a/packages/schematics/angular/app-shell/schema.json +++ b/packages/schematics/angular/app-shell/schema.json @@ -29,11 +29,6 @@ "description": "The name of the main entry-point file.", "default": "main.server.ts" }, - "appDir": { - "type": "string", - "description": "The name of the application directory.", - "default": "app" - }, "rootModuleFileName": { "type": "string", "description": "The name of the root module file", diff --git a/packages/schematics/angular/universal/schema.json b/packages/schematics/angular/universal/schema.json index 4027e90cc296..65485bac68ef 100644 --- a/packages/schematics/angular/universal/schema.json +++ b/packages/schematics/angular/universal/schema.json @@ -25,13 +25,6 @@ "description": "The name of the main entry-point file.", "default": "main.server.ts" }, - "appDir": { - "type": "string", - "format": "path", - "description": "The name of the application folder.", - "default": "app", - "x-deprecated": "This option has no effect." - }, "rootModuleFileName": { "type": "string", "format": "path", From 9aab9ad54d1a8de63c42a4e757d65bfb28f881b6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 24 Aug 2022 14:10:43 +0000 Subject: [PATCH 0827/1388] fix(@angular-devkit/build-angular): issue warning when using deprecated tilde imports With this change we add a warning when using deprecated tilde/`~` imports. --- .../src/webpack/configs/styles.ts | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index f522790b68b6..2d5660f134a9 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -9,7 +9,7 @@ import * as fs from 'fs'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import * as path from 'path'; -import { Configuration, RuleSetUseItem } from 'webpack'; +import { Configuration, RuleSetUseItem, WebpackError } from 'webpack'; import { StyleElement } from '../../builders/browser/schema'; import { SassWorkerImplementation } from '../../sass/sass-service'; import { WebpackConfigOptions } from '../../utils/build-options'; @@ -112,11 +112,21 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { } const sassImplementation = new SassWorkerImplementation(); + const sassTildeUsageMessage = new Set(); + extraPlugins.push({ apply(compiler) { compiler.hooks.shutdown.tap('sass-worker', () => { sassImplementation.close(); }); + + compiler.hooks.afterCompile.tap('sass-worker', (compilation) => { + for (const message of sassTildeUsageMessage) { + compilation.warnings.push(new WebpackError(message)); + } + + sassTildeUsageMessage.clear(); + }); }, }); @@ -274,6 +284,15 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { implementation: sassImplementation, sourceMap: true, sassOptions: { + importer: (url: string, from: string) => { + if (url.charAt(0) === '~') { + sassTildeUsageMessage.add( + `'${from}' imports '${url}' with a tilde. Usage of '~' in imports is deprecated.`, + ); + } + + return null; + }, // Prevent use of `fibers` package as it no longer works in newer Node.js versions fiber: false, // bootstrap-sass requires a minimum precision of 8 @@ -306,6 +325,15 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { implementation: sassImplementation, sourceMap: true, sassOptions: { + importer: (url: string, from: string) => { + if (url.charAt(0) === '~') { + sassTildeUsageMessage.add( + `'${from}' imports '${url}' with a tilde. Usage of '~' in imports is deprecated.`, + ); + } + + return null; + }, // Prevent use of `fibers` package as it no longer works in newer Node.js versions fiber: false, indentedSyntax: true, From 10281f373932ff5385d20877904901b68d1a77ff Mon Sep 17 00:00:00 2001 From: "angular-robot[bot]" <56403804+angular-robot[bot]@users.noreply.github.com> Date: Tue, 30 Aug 2022 19:09:25 +0000 Subject: [PATCH 0828/1388] build: update `SECURITY.md` to match the content of `angular/.github` --- SECURITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SECURITY.md b/SECURITY.md index 2cfda1a800cf..3d599f9d423e 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,3 +1,3 @@ -To report vulnerabilities in Angular itself, email us at security@angular.io. +Angular is part of Google [Open Source Software Vulnerability Reward Program](https://bughunters.google.com/about/rules/6521337925468160/google-open-source-software-vulnerability-reward-program-rules), for vulnerabilities in Angular please submit your report [here](https://bughunters.google.com/report). For more information on Angular's security policy visit: https://angular.io/guide/security From e402c2358c3466f10be45abcbbc38ba0d778c6b4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:29:59 -0400 Subject: [PATCH 0829/1388] build: adjust BUILD file external comment markers Improvements to the syncing process allow for reduced usage of the comment markers. --- packages/angular/cli/BUILD.bazel | 11 +++-------- packages/angular/pwa/BUILD.bazel | 1 - packages/angular_devkit/architect/BUILD.bazel | 7 +------ .../angular_devkit/architect/node/BUILD.bazel | 1 - .../angular_devkit/build_angular/BUILD.bazel | 1 - packages/angular_devkit/core/BUILD.bazel | 17 +++-------------- packages/angular_devkit/core/node/BUILD.bazel | 8 +++----- .../core/node/testing/BUILD.bazel | 2 -- packages/angular_devkit/schematics/BUILD.bazel | 10 +++------- .../angular_devkit/schematics/tasks/BUILD.bazel | 2 -- .../schematics/tasks/node/BUILD.bazel | 2 -- .../angular_devkit/schematics/tools/BUILD.bazel | 2 -- .../angular_devkit/schematics_cli/BUILD.bazel | 1 - packages/schematics/angular/BUILD.bazel | 1 - tools/ng_cli_schema_generator.bzl | 4 +--- tools/ts_json_schema.bzl | 6 +----- 16 files changed, 15 insertions(+), 61 deletions(-) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 3628a7cd5e77..3ab6bfb40fea 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -5,12 +5,9 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") +load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") - -# @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") -load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") -# @external_end licenses(["notice"]) # MIT @@ -45,10 +42,11 @@ ts_library( "lib/config/workspace-schema.json", ], ) + [ + # @external_begin "//packages/angular/cli:lib/config/schema.json", + # @external_end ], module_name = "@angular/cli", - # strict_checks = False, deps = [ "//packages/angular_devkit/architect", "//packages/angular_devkit/architect/node", @@ -129,7 +127,6 @@ ts_json_schema( name = "update_schematic_schema", src = "src/commands/update/schematic/schema.json", ) -# @external_end ts_library( name = "angular-cli_test_lib", @@ -141,7 +138,6 @@ ts_library( "node_modules/**", ], ), - # strict_checks = False, deps = [ ":angular-cli", "//packages/angular_devkit/core", @@ -164,7 +160,6 @@ ts_library( ) ] -# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 10c6436ee557..6fb691fbff20 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -55,7 +55,6 @@ ts_library( name = "pwa_test_lib", testonly = True, srcs = glob(["pwa/**/*_spec.ts"]), - # strict_checks = False, deps = [ ":pwa", "//packages/angular_devkit/schematics/testing", diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index 1af259b7006a..cbbe678f9411 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -3,14 +3,11 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") - -# @external_begin load("//tools:ts_json_schema.bzl", "ts_json_schema") -load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -# @external_end licenses(["notice"]) # MIT @@ -60,7 +57,6 @@ ts_library( "//packages/angular_devkit/architect:src/progress-schema.ts", "//packages/angular_devkit/architect:builders/operator-schema.ts", ], - # strict_checks = False, data = glob( include = ["**/*.json"], exclude = [ @@ -82,7 +78,6 @@ ts_library( name = "architect_test_lib", testonly = True, srcs = glob(["src/**/*_spec.ts"]), - # strict_checks = False, deps = [ ":architect", "//packages/angular_devkit/architect/testing", diff --git a/packages/angular_devkit/architect/node/BUILD.bazel b/packages/angular_devkit/architect/node/BUILD.bazel index 672e73d7e44f..19017fc1d602 100644 --- a/packages/angular_devkit/architect/node/BUILD.bazel +++ b/packages/angular_devkit/architect/node/BUILD.bazel @@ -17,7 +17,6 @@ ts_library( ), module_name = "@angular-devkit/architect/node", module_root = "index.d.ts", - # strict_checks = False, deps = [ "//packages/angular_devkit/architect", "//packages/angular_devkit/core", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index ad46e2c7e5e2..a7d4e1b77a67 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -198,7 +198,6 @@ ts_library( ], ), data = glob(["test/**/*"]), - # strict_checks = False, deps = [ ":build_angular", ":build_angular_test_utils", diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index a0a81a6837ad..ced8d0205d0d 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -1,11 +1,8 @@ +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") -# @external_begin -load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -# @external_end - # Copyright Google Inc. All Rights Reserved. # # Use of this source code is governed by an MIT-style license that can be @@ -36,8 +33,6 @@ ts_library( ), module_name = "@angular-devkit/core", module_root = "src/index.d.ts", - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ "@npm//@types/node", "@npm//ajv", @@ -52,13 +47,13 @@ ts_library( ], ) +# @external_begin + ts_library( name = "core_test_lib", testonly = True, srcs = glob(["src/**/*_spec.ts"]), data = glob(["src/workspace/json/test/**/*.json"]), - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ ":core", "//packages/angular_devkit/core/node", @@ -71,11 +66,6 @@ ts_library( name = "core_test_" + toolchain_name, srcs = [":core_test_lib"], toolchain = toolchain, - deps = [ - # @node_module: ajv - # @node_module: fast_json_stable_stringify - # @node_module: source_map - ], ) for toolchain_name, toolchain in zip( TOOLCHAINS_NAMES, @@ -83,7 +73,6 @@ ts_library( ) ] -# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index 60655649cb8e..bde6b9588794 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -24,8 +24,6 @@ ts_library( data = ["package.json"], module_name = "@angular-devkit/core/node", module_root = "index.d.ts", - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ "//packages/angular_devkit/core", "@npm//@types/node", @@ -34,6 +32,8 @@ ts_library( ], ) +# @external_begin + ts_library( name = "node_test_lib", testonly = True, @@ -60,9 +60,6 @@ ts_library( toolchain = toolchain, deps = [ "@npm//chokidar", - # @node_module: ajv - # @node_module: fast_json_stable_stringify - # @node_module: magic_string ], ) for toolchain_name, toolchain in zip( @@ -70,3 +67,4 @@ ts_library( TOOLCHAINS_VERSIONS, ) ] +# @external_end diff --git a/packages/angular_devkit/core/node/testing/BUILD.bazel b/packages/angular_devkit/core/node/testing/BUILD.bazel index 1b5afd401089..d8a0b3958c9f 100644 --- a/packages/angular_devkit/core/node/testing/BUILD.bazel +++ b/packages/angular_devkit/core/node/testing/BUILD.bazel @@ -19,8 +19,6 @@ ts_library( ), module_name = "@angular-devkit/core/node/testing", module_root = "index.d.ts", - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index 63e099da0f6d..e95cae7e00c7 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -1,11 +1,8 @@ +load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") -# @external_begin -load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -# @external_end - # Copyright Google Inc. All Rights Reserved. # # Use of this source code is governed by an MIT-style license that can be @@ -26,8 +23,6 @@ ts_library( "src/**/*_benchmark.ts", ], ), - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, data = glob( include = ["**/*.json"], exclude = [ @@ -47,6 +42,8 @@ ts_library( ], ) +# @external_begin + ts_library( name = "schematics_test_lib", testonly = True, @@ -76,7 +73,6 @@ ts_library( ) ] -# @external_begin genrule( name = "license", srcs = ["//:LICENSE"], diff --git a/packages/angular_devkit/schematics/tasks/BUILD.bazel b/packages/angular_devkit/schematics/tasks/BUILD.bazel index 09f1ba24a6ca..d22d1038b829 100644 --- a/packages/angular_devkit/schematics/tasks/BUILD.bazel +++ b/packages/angular_devkit/schematics/tasks/BUILD.bazel @@ -21,8 +21,6 @@ ts_library( data = ["package.json"], module_name = "@angular-devkit/schematics/tasks", module_root = "index.d.ts", - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", diff --git a/packages/angular_devkit/schematics/tasks/node/BUILD.bazel b/packages/angular_devkit/schematics/tasks/node/BUILD.bazel index 230f2f37cbb0..3b24565cbafa 100644 --- a/packages/angular_devkit/schematics/tasks/node/BUILD.bazel +++ b/packages/angular_devkit/schematics/tasks/node/BUILD.bazel @@ -19,8 +19,6 @@ ts_library( ), module_name = "@angular-devkit/schematics/tasks/node", module_root = "index.d.ts", - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", diff --git a/packages/angular_devkit/schematics/tools/BUILD.bazel b/packages/angular_devkit/schematics/tools/BUILD.bazel index f1686129e502..2eb9b3fdd5aa 100644 --- a/packages/angular_devkit/schematics/tools/BUILD.bazel +++ b/packages/angular_devkit/schematics/tools/BUILD.bazel @@ -23,8 +23,6 @@ ts_library( data = ["package.json"], module_name = "@angular-devkit/schematics/tools", module_root = "index.d.ts", - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index 3e198e43632b..a0920893747d 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -69,7 +69,6 @@ ts_library( "bin/**/*_spec.ts", ], ), - # strict_checks = False, deps = [ ":schematics_cli", ], diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 5d9a5e464b09..a09d3b20d995 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -56,7 +56,6 @@ ts_library( "//packages/schematics/angular:" + src.replace(".json", ".ts") for (src, _) in ALL_SCHEMA_TARGETS ], - # strict_checks = False, data = glob( include = [ "collection.json", diff --git a/tools/ng_cli_schema_generator.bzl b/tools/ng_cli_schema_generator.bzl index 6bffacb296a3..c8904eab7b26 100644 --- a/tools/ng_cli_schema_generator.bzl +++ b/tools/ng_cli_schema_generator.bzl @@ -3,7 +3,6 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license -# @external_begin def _cli_json_schema_interface_impl(ctx): args = [ ctx.files.src[0].path, @@ -36,11 +35,10 @@ cli_json_schema = rule( "_binary": attr.label( default = Label("//tools:ng_cli_schema"), executable = True, - cfg = "host", + cfg = "exec", ), }, outputs = { "json": "%{out}", }, ) -# @external_end diff --git a/tools/ts_json_schema.bzl b/tools/ts_json_schema.bzl index f0e9fa773fb5..00b53c0dd6d1 100644 --- a/tools/ts_json_schema.bzl +++ b/tools/ts_json_schema.bzl @@ -3,7 +3,6 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license -# @external_begin def _ts_json_schema_interface_impl(ctx): args = [ ctx.files.src[0].path, @@ -35,14 +34,13 @@ _ts_json_schema_interface = rule( "_binary": attr.label( default = Label("//tools:quicktype_runner"), executable = True, - cfg = "host", + cfg = "exec", ), }, outputs = { "ts": "%{out}", }, ) -# @external_end # Generates a TS file that contains the interface for a JSON Schema file. Takes a single `src` # argument as input, an optional data field for reference files, and produces a @@ -52,11 +50,9 @@ _ts_json_schema_interface = rule( def ts_json_schema(name, src, data = []): out = src.replace(".json", ".ts") - # @external_begin _ts_json_schema_interface( name = name + ".interface", src = src, out = out, data = data, ) - # @external_end From feb06753d59f782c6ad8fd59a60537863094f498 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 30 Aug 2022 09:34:29 -0400 Subject: [PATCH 0830/1388] perf(@angular-devkit/build-angular): use esbuild-based builder to directly downlevel for await...of esbuild 0.15.6 now supports transforming `for await..of` syntax and will now be used instead of babel when the syntax is found within code that will be bundled. Zone.js requires that all async/await related code be downleveled to properly hook promise callbacks. esbuild does not yet support transforming async generators and so babel is still used when async generator syntax is detected in an input file. esbuild 0.15.6 also adjusted the `supported` option to imply that all dependent features of a disabled feature are disabled as well. For the CLI, this allows only needing to specify that `async-await` is disabled in the esbuild options. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 5 ++--- .../src/builders/browser-esbuild/index.ts | 12 ++++-------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 40fbe0129d98..30b5e829ada5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -342,7 +342,7 @@ export function createCompilerPlugin( } const data = typescriptResult.content ?? ''; - const forceAsyncTransformation = /for\s+await\s*\(|async\s+function\s*\*/.test(data); + const forceAsyncTransformation = /async\s+function\s*\*/.test(data); const useInputSourcemap = pluginOptions.sourcemap && (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); @@ -388,8 +388,7 @@ export function createCompilerPlugin( build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => { const data = await fs.readFile(args.path, 'utf-8'); const forceAsyncTransformation = - !/[\\/][_f]?esm2015[\\/]/.test(args.path) && - /for\s+await\s*\(|async\s+function\s*\*/.test(data); + !/[\\/][_f]?esm2015[\\/]/.test(args.path) && /async\s+function\s*\*/.test(data); const shouldLink = await requiresLinking(args.path, data); const useInputSourcemap = pluginOptions.sourcemap && diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 2a2395337d4e..cf87992d5d76 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -259,15 +259,11 @@ async function bundleCode( target: 'es2020', supported: { // Native async/await is not supported with Zone.js. Disabling support here will cause - // esbuild to downlevel async/await to a Zone.js supported form. + // esbuild to downlevel async/await and for await...of to a Zone.js supported form. However, esbuild + // does not currently support downleveling async generators. Instead babel is used within the JS/TS + // loader to perform the downlevel transformation. + // NOTE: If esbuild adds support in the future, the babel support for async generators can be disabled. 'async-await': false, - // Zone.js also does not support async generators or async iterators. However, esbuild does - // not currently support downleveling either of them. Instead babel is used within the JS/TS - // loader to perform the downlevel transformation. They are both disabled here to allow - // esbuild to handle them in the future if support is ever added. - // NOTE: If esbuild adds support in the future, the babel support for these can be disabled. - 'async-generator': false, - 'for-await': false, }, mainFields: ['es2020', 'browser', 'module', 'main'], conditions: ['es2020', 'es2015', 'module'], From 9fc0eb8b6470e56494ad4c0d85ede10fedf69d50 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 31 Aug 2022 06:05:21 +0000 Subject: [PATCH 0831/1388] build: update dependency @types/glob to v8 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 403ae5deae2d..4333f04d765d 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "@types/cacache": "^15.0.0", "@types/debug": "^4.1.2", "@types/express": "^4.16.0", - "@types/glob": "^7.1.1", + "@types/glob": "^8.0.0", "@types/http-proxy": "^1.17.4", "@types/ini": "^1.3.31", "@types/inquirer": "^8.0.0", diff --git a/yarn.lock b/yarn.lock index 9b1012fd5d28..5c7838ae8833 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2133,10 +2133,10 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== +"@types/glob@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2" + integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA== dependencies: "@types/minimatch" "*" "@types/node" "*" From b9db5841f58a785b74e73590e128e2a8c9fa61ec Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 31 Aug 2022 06:05:27 +0000 Subject: [PATCH 0832/1388] build: update dependency postcss-import to v15 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4333f04d765d..f8a7f06dc04f 100644 --- a/package.json +++ b/package.json @@ -186,7 +186,7 @@ "piscina": "3.2.0", "popper.js": "^1.14.1", "postcss": "8.4.16", - "postcss-import": "14.1.0", + "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "postcss-preset-env": "7.8.0", "prettier": "^2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e803ae7e2b6f..2cea414249c2 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -46,7 +46,7 @@ "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", "postcss": "8.4.16", - "postcss-import": "14.1.0", + "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "postcss-preset-env": "7.8.0", "regenerator-runtime": "0.13.9", diff --git a/yarn.lock b/yarn.lock index 5c7838ae8833..052f6ab3f3f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8671,6 +8671,15 @@ postcss-import@14.1.0: read-cache "^1.0.0" resolve "^1.1.7" +postcss-import@15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.0.0.tgz#0b66c25fdd9c0d19576e63c803cf39e4bad08822" + integrity sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + postcss-initial@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" From 2413abb777af68f40842c8a01ef9788d229bac78 Mon Sep 17 00:00:00 2001 From: Ruslan Lekhman Date: Wed, 20 Oct 2021 15:42:42 -0700 Subject: [PATCH 0833/1388] build: use issue forms for issue creation --- .github/ISSUE_TEMPLATE.md | 10 -- .github/ISSUE_TEMPLATE/1-bug-report.md | 83 -------------- .github/ISSUE_TEMPLATE/1-bug-report.yml | 102 ++++++++++++++++++ .github/ISSUE_TEMPLATE/2-feature-request.md | 48 --------- .github/ISSUE_TEMPLATE/2-feature-request.yml | 55 ++++++++++ .github/ISSUE_TEMPLATE/3-docs-bug.md | 12 --- .../4-security-issue-disclosure.md | 10 -- .github/ISSUE_TEMPLATE/5-support-request.md | 15 --- .github/ISSUE_TEMPLATE/6-angular-framework.md | 12 --- .github/ISSUE_TEMPLATE/7-angular-material.md | 12 --- .github/ISSUE_TEMPLATE/config.yml | 17 +++ .github/PULL_REQUEST_TEMPLATE.md | 43 ++++++++ 12 files changed, 217 insertions(+), 202 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md delete mode 100644 .github/ISSUE_TEMPLATE/1-bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/1-bug-report.yml delete mode 100644 .github/ISSUE_TEMPLATE/2-feature-request.md create mode 100644 .github/ISSUE_TEMPLATE/2-feature-request.yml delete mode 100644 .github/ISSUE_TEMPLATE/3-docs-bug.md delete mode 100644 .github/ISSUE_TEMPLATE/4-security-issue-disclosure.md delete mode 100644 .github/ISSUE_TEMPLATE/5-support-request.md delete mode 100644 .github/ISSUE_TEMPLATE/6-angular-framework.md delete mode 100644 .github/ISSUE_TEMPLATE/7-angular-material.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index b5135def5125..000000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,10 +0,0 @@ -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 - -Please help us process issues more efficiently by filing an -issue using one of the following templates: - -https://github.com/angular/angular-cli/issues/new/choose - -Thank you! - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md deleted file mode 100644 index 66828cd92bb8..000000000000 --- a/.github/ISSUE_TEMPLATE/1-bug-report.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -name: "\U0001F41E Bug report" -about: Report a bug in Angular CLI ---- - - - -# 🐞 Bug report - -### Command (mark with an `x`) - - - - -- [ ] new -- [ ] build -- [ ] serve -- [ ] test -- [ ] e2e -- [ ] generate -- [ ] add -- [ ] update -- [ ] lint -- [ ] extract-i18n -- [ ] run -- [ ] config -- [ ] help -- [ ] version -- [ ] doc - -### Is this a regression? - - - Yes, the previous version in which this bug was not present was: .... - -### Description - - A clear and concise description of the problem... - -## 🔬 Minimal Reproduction - - - -## 🔥 Exception or Error - -

-
-
-
-
- -## 🌍 Your Environment - -

-
-
-
-
- -**Anything else relevant?** - - - - diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.yml b/.github/ISSUE_TEMPLATE/1-bug-report.yml new file mode 100644 index 000000000000..5c4ea7d2cbdb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-bug-report.yml @@ -0,0 +1,102 @@ +name: Bug report +description: Report a bug in Angular CLI +body: + - type: markdown + attributes: + value: | + Oh hi there! + + To expedite issue processing please search open and closed issues before submitting a new one. + Existing issues often contain information about workarounds, resolution, or progress updates. + - type: dropdown + id: command + attributes: + label: Command + description: Can you pin-point the command or commands that are effected by this bug? + options: + - add + - build + - config + - doc + - e2e + - extract-i18n + - generate + - help + - lint + - new + - other + - run + - serve + - test + - update + - version + multiple: true + validations: + required: true + - type: checkboxes + id: is-regression + attributes: + label: Is this a regression? + description: Did this behavior use to work in the previous version? + options: + - label: Yes, this behavior used to work in the previous version + - type: input + id: version-bug-was-not-present + attributes: + label: The previous version in which this bug was not present was + validations: + required: false + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of the problem. + validations: + required: true + - type: textarea + id: minimal-reproduction + attributes: + label: Minimal Reproduction + description: | + Simple steps to reproduce this bug. + + **Please include:** + * commands run (including args) + * packages added + * related code changes + + + If reproduction steps are not enough for reproduction of your issue, please create a minimal GitHub repository with the reproduction of the issue. + A good way to make a minimal reproduction is to create a new app via `ng new repro-app` and add the minimum possible code to show the problem. + Share the link to the repo below along with step-by-step instructions to reproduce the problem, as well as expected and actual behavior. + + Issues that don't have enough info and can't be reproduced will be closed. + + You can read more about issue submission guidelines [here](https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-submitting-an-issue). + validations: + required: true + - type: textarea + id: exception-or-error + attributes: + label: Exception or Error + description: If the issue is accompanied by an exception or an error, please share it below. + render: text + validations: + required: false + - type: textarea + id: environment + attributes: + label: Your Environment + description: Run `ng version` and paste output below. + render: text + validations: + required: true + - type: textarea + id: other + attributes: + label: Anything else relevant? + description: | + Is this a browser specific issue? If so, please specify the browser and version. + Do any of these matter: operating system, IDE, package manager, HTTP server, ...? If so, please mention it below. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.md b/.github/ISSUE_TEMPLATE/2-feature-request.md deleted file mode 100644 index f129bc107360..000000000000 --- a/.github/ISSUE_TEMPLATE/2-feature-request.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -name: "\U0001F680 Feature request" -about: Suggest a feature for Angular CLI ---- - - - -# 🚀 Feature request - -### Command (mark with an `x`) - - - - -- [ ] new -- [ ] build -- [ ] serve -- [ ] test -- [ ] e2e -- [ ] generate -- [ ] add -- [ ] update -- [ ] lint -- [ ] extract-i18n -- [ ] run -- [ ] config -- [ ] help -- [ ] version -- [ ] doc - -### Description - - A clear and concise description of the problem or missing capability... - -### Describe the solution you'd like - - If you have a solution in mind, please describe it. - -### Describe alternatives you've considered - - Have you considered any alternative solutions or workarounds? diff --git a/.github/ISSUE_TEMPLATE/2-feature-request.yml b/.github/ISSUE_TEMPLATE/2-feature-request.yml new file mode 100644 index 000000000000..4a01698e0f37 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-feature-request.yml @@ -0,0 +1,55 @@ +name: Feature request +description: Suggest a feature for Angular CLI +body: + - type: markdown + attributes: + value: | + Oh hi there! + + To expedite issue processing please search open and closed issues before submitting a new one. + Existing issues often contain information about workarounds, resolution, or progress updates. + - type: dropdown + id: command + attributes: + label: Command + description: Can you pin-point the command or commands that are relevant for this feature request? + options: + - add + - build + - config + - doc + - e2e + - extract-i18n + - generate + - help + - lint + - new + - run + - serve + - test + - update + - version + multiple: true + validations: + required: true + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of the problem or missing capability. + validations: + required: true + - type: textarea + id: desired-solution + attributes: + label: Describe the solution you'd like + description: If you have a solution in mind, please describe it. + validations: + required: false + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: Have you considered any alternative solutions or workarounds? + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/3-docs-bug.md b/.github/ISSUE_TEMPLATE/3-docs-bug.md deleted file mode 100644 index 7270bb2a963f..000000000000 --- a/.github/ISSUE_TEMPLATE/3-docs-bug.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: '📚 Docs or angular.io issue report' -about: Report an issue in Angular's documentation or angular.io application ---- - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 - -Please file any Docs or angular.io issues at: https://github.com/angular/angular/issues/new/choose - -For the time being, we keep Angular AIO issues in a separate repository. - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 diff --git a/.github/ISSUE_TEMPLATE/4-security-issue-disclosure.md b/.github/ISSUE_TEMPLATE/4-security-issue-disclosure.md deleted file mode 100644 index a5c2c1707fda..000000000000 --- a/.github/ISSUE_TEMPLATE/4-security-issue-disclosure.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: ⚠️ Security issue disclosure -about: Report a security issue in Angular Framework, Material, or CLI ---- - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 - -Please read https://angular.io/guide/security#report-issues on how to disclose security related issues. - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 diff --git a/.github/ISSUE_TEMPLATE/5-support-request.md b/.github/ISSUE_TEMPLATE/5-support-request.md deleted file mode 100644 index 3d88b3df0daf..000000000000 --- a/.github/ISSUE_TEMPLATE/5-support-request.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: '❓ Support request' -about: Questions and requests for support ---- - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 - -Please do not file questions or support requests on the GitHub issues tracker. - -You can get your questions answered using other communication channels. Please see: -https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#question - -Thank you! - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 diff --git a/.github/ISSUE_TEMPLATE/6-angular-framework.md b/.github/ISSUE_TEMPLATE/6-angular-framework.md deleted file mode 100644 index 8ab207b2389f..000000000000 --- a/.github/ISSUE_TEMPLATE/6-angular-framework.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: '⚡Angular Framework' -about: Issues and feature requests for Angular Framework ---- - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 - -Please file any Angular Framework issues at: https://github.com/angular/angular/issues/new/choose - -For the time being, we keep Angular issues in a separate repository. - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 diff --git a/.github/ISSUE_TEMPLATE/7-angular-material.md b/.github/ISSUE_TEMPLATE/7-angular-material.md deleted file mode 100644 index 10b27db5c86f..000000000000 --- a/.github/ISSUE_TEMPLATE/7-angular-material.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: "\U0001F48E Angular Material" -about: Issues and feature requests for Angular Material ---- - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 - -Please file any Angular Material issues at: https://github.com/angular/material2/issues/new - -For the time being, we keep Angular Material issues in a separate repository. - -🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑 diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000000..5764ed46e6a7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,17 @@ +blank_issues_enabled: false +contact_links: + - name: Docs or angular.io issue report + url: https://github.com/angular/angular/issues/new + about: Report an issue in Angular's documentation or angular.io application + - name: Security issue disclosure + url: https://angular.io/guide/security#report-issues + about: Report a security issue in Angular Framework, Material, or CLI + - name: Support request + url: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#question + about: Questions and requests for support. + - name: Angular Framework + url: https://github.com/angular/angular/issues/new/choose + about: Issues and feature requests for Angular Framework + - name: Angular Material + url: https://github.com/angular/components/issues/new/choose + about: Issues and feature requests for Angular Material diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000000..3214dde0a4f4 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,43 @@ +## PR Checklist + +Please check to confirm your PR fulfills the following requirements: + + + +- [ ] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines +- [ ] Tests for the changes have been added (for bug fixes / features) +- [ ] Docs have been added / updated (for bug fixes / features) + +## PR Type + +What kind of change does this PR introduce? + + + +- [ ] Bugfix +- [ ] Feature +- [ ] Code style update (formatting, local variables) +- [ ] Refactoring (no functional changes, no api changes) +- [ ] Build related changes +- [ ] CI related changes +- [ ] Documentation content changes +- [ ] Other... Please describe: + +## What is the current behavior? + + + +Issue Number: N/A + +## What is the new behavior? + + + +## Does this PR introduce a breaking change? + +- [ ] Yes +- [ ] No + + + +## Other information From 2ef2d543b132500f1010e42664cc7e580d02d92f Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 3 Aug 2022 18:30:37 -0700 Subject: [PATCH 0834/1388] test: remove ci specific logic --- tests/legacy-cli/e2e_runner.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 50471b198bbb..d54373d017b8 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -160,7 +160,6 @@ if (testsToRun.length == allTests.length) { console.log(['Tests:', ...testsToRun].join('\n ')); setGlobalVariable('argv', argv); -setGlobalVariable('ci', process.env['CI']?.toLowerCase() === 'true' || process.env['CI'] === '1'); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); Promise.all([findFreePort(), findFreePort()]) From d974bbb6c4d2c693e76ff86bcfd67b3f2d417bdb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 31 Aug 2022 10:38:36 +0000 Subject: [PATCH 0835/1388] test: remove environment variable from error dump This is bloating the logs with in most cases not needed information and make it harder to find the actual errors. Example output ``` Running test "tests/build/styles/stylus.ts" (8 of 27 [3:8] (60/218))... ========================================================================================== Running `/usr/local/bin/node "/home/circleci/ng/tests/legacy-cli/e2e/utils/run_test_process" "/home/circleci/ng/tests/legacy-cli/e2e/tests/build/styles/stylus"`... CWD: /mnt/ramdisk/e2e/e2e-test/test-project ========================================================================================== Running `ng "build" "--source-map" "--configuration=development"` [silent]... CWD: /mnt/ramdisk/e2e/e2e-test/test-project Test Process error Error: Process exit error - "ng build --source-map --configuration=development": 1... ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } STDOUT: STDERR: Error: Schema validation failed with the following errors: Data path "/styles/0/input" must match pattern "\.(?:css|scss|sass|less)$". Data path "/styles/0" must be string. Data path "/styles/0" must match exactly one schema in oneOf. at _exec (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:76:19) at silentNg (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:269:12) at ng (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:257:16) at /home/circleci/ng/tests/legacy-cli/e2e/tests/build/styles/stylus.ts:29:38 at async /home/circleci/ng/tests/legacy-cli/e2e/utils/test_process.ts:15:9 ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ========================================================================================== Running `git "clean" "-df"` [silent]... CWD: /mnt/ramdisk/e2e/e2e-test/test-project ========================================================================================== Running `git "reset" "--hard"` [silent]... CWD: /mnt/ramdisk/e2e/e2e-test/test-project Test "tests/build/styles/stylus" failed... Process exit error - "/usr/local/bin/node /home/circleci/ng/tests/legacy-cli/e2e/utils/run_test_process /home/circleci/ng/tests/legacy-cli/e2e/tests/build/styles/stylus": 255... ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } STDOUT: ========================================================================================== Running `ng "build" "--source-map" "--configuration=development"` [silent]... CWD: /mnt/ramdisk/e2e/e2e-test/test-project STDERR: Test Process error Error: Process exit error - "ng build --source-map --configuration=development": 1... ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } STDOUT: STDERR: Error: Schema validation failed with the following errors: Data path "/styles/0/input" must match pattern "\.(?:css|scss|sass|less)$". Data path "/styles/0" must be string. Data path "/styles/0" must match exactly one schema in oneOf. at _exec (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:76:19) at silentNg (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:269:12) at ng (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:257:16) at /home/circleci/ng/tests/legacy-cli/e2e/tests/build/styles/stylus.ts:29:38 at async /home/circleci/ng/tests/legacy-cli/e2e/utils/test_process.ts:15:9 ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } Error: Process exit error - "/usr/local/bin/node /home/circleci/ng/tests/legacy-cli/e2e/utils/run_test_process /home/circleci/ng/tests/legacy-cli/e2e/tests/build/styles/stylus": 255... ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } STDOUT: ========================================================================================== Running `ng "build" "--source-map" "--configuration=development"` [silent]... CWD: /mnt/ramdisk/e2e/e2e-test/test-project STDERR: Test Process error Error: Process exit error - "ng build --source-map --configuration=development": 1... ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } STDOUT: STDERR: Error: Schema validation failed with the following errors: Data path "/styles/0/input" must match pattern "\.(?:css|scss|sass|less)$". Data path "/styles/0" must be string. Data path "/styles/0" must match exactly one schema in oneOf. at _exec (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:76:19) at silentNg (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:269:12) at ng (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:257:16) at /home/circleci/ng/tests/legacy-cli/e2e/tests/build/styles/stylus.ts:29:38 at async /home/circleci/ng/tests/legacy-cli/e2e/utils/test_process.ts:15:9 ENV:{ "YARN_VERSION": "1.22.10", "NPM_CONFIG_PREFIX": "/mnt/ramdisk/e2e/npm-global", "NPM_CONFIG_USERCONFIG": "/mnt/ramdisk/e2e/.npmrc", "NPM_CONFIG_REGISTRY": "http://localhost:45091", "YARN_CONFIG_PREFIX": "/mnt/ramdisk/e2e/yarn-global", "CIRCLECI": "true", "SAUCE_TUNNEL_IDENTIFIER": "angular-337964-3", "SAUCE_PID_FILE": "/tmp/angular/sauce-connect-pid-file.lock", "SAUCE_USERNAME": "angular-tooling", "SAUCE_ACCESS_KEY": "e05dabf6fe0e-2c18-abf4-496d-1d010490", "SAUCE_LOG_FILE": "/tmp/angular/sauce-connect.log", "CI": "true", "SAUCE_READY_FILE": "/tmp/angular/sauce-connect-ready-file.lock", "SAUCE_READY_FILE_TIMEOUT": "120", "LEGACY_CLI__argv": "{\"_\":[],\"nb-shards\":8,\"shard\":3,\"tmpdir\":\"/mnt/ramdisk/e2e\",\"ignore\":\"tests/misc/browsers.ts\"}", "LEGACY_CLI__ci": "true", "LEGACY_CLI__package-manager": "\"npm\"", "LEGACY_CLI__package-registry": "\"http://localhost:45091\"", "LEGACY_CLI__package-secure-registry": "\"http://localhost:35403\"", "LEGACY_CLI__tmp-root": "\"/mnt/ramdisk/e2e\"", "LEGACY_CLI__npm-global": "\"/mnt/ramdisk/e2e/npm-global\"", "LEGACY_CLI__yarn-global": "\"/mnt/ramdisk/e2e/yarn-global\"", "LEGACY_CLI__projects-root": "\"/mnt/ramdisk/e2e/e2e-test\"", "PATH": "/mnt/ramdisk/e2e/yarn-global/bin:/mnt/ramdisk/e2e/npm-global/bin:/home/circleci/.npm-global/bin:/home/circleci/bin:/home/circleci/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } at _exec (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:76:19) at launchTestProcess (/home/circleci/ng/tests/legacy-cli/e2e/utils/process.ts:333:12) at runTest (/home/circleci/ng/tests/legacy-cli/e2e_runner.ts:263:47) at runSteps (/home/circleci/ng/tests/legacy-cli/e2e_runner.ts:232:19) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async /home/circleci/ng/tests/legacy-cli/e2e_runner.ts:183:9 Exited with code exit status 1 CircleCI received exit code 1 ``` --- tests/legacy-cli/e2e/utils/process.ts | 6 +----- tests/legacy-cli/e2e/utils/test_process.ts | 1 - 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 88ea454543d2..67fe740b4762 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -80,11 +80,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise { diff --git a/tests/legacy-cli/e2e/utils/test_process.ts b/tests/legacy-cli/e2e/utils/test_process.ts index ac9c99484832..10e41eb17b29 100644 --- a/tests/legacy-cli/e2e/utils/test_process.ts +++ b/tests/legacy-cli/e2e/utils/test_process.ts @@ -16,7 +16,6 @@ const testFunction: () => Promise | void = await testFunction(); } catch (e) { console.error('Test Process error', e); - console.error(`ENV:${JSON.stringify(process.env, null, 2)}`); process.exitCode = -1; } finally { await killAllProcesses(); From b7193d27eeea36e563da7b2357048f02e419c722 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 31 Aug 2022 10:57:35 +0000 Subject: [PATCH 0836/1388] test: don't show stderr and stdout multiple times durning errors Previously, the stderr and stdout were displayed multiple times, This caused a lot of bloat in the output. --- tests/legacy-cli/e2e/utils/process.ts | 41 +++++++++++++++++++-------- 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 67fe740b4762..fbd994530dc6 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -1,5 +1,5 @@ import * as ansiColors from 'ansi-colors'; -import { SpawnOptions } from 'child_process'; +import { spawn, SpawnOptions } from 'child_process'; import * as child_process from 'child_process'; import { concat, defer, EMPTY, from } from 'rxjs'; import { repeat, takeLast } from 'rxjs/operators'; @@ -121,7 +121,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise console.error(colors.yellow(' ' + line))); }); - childProcess.on('close', (code: number) => { + childProcess.on('close', (code) => { _processes = _processes.filter((p) => p !== childProcess); if (options.waitForMatch && !matched) { @@ -371,7 +371,7 @@ export function silentGit(...args: string[]) { * the PATH variable only referencing the local node_modules and local NPM * registry (not the test runner or standard global node_modules). */ -export async function launchTestProcess(entry: string, ...args: any[]) { +export async function launchTestProcess(entry: string, ...args: any[]): Promise { const tempRoot: string = getGlobalVariable('tmp-root'); // Extract explicit environment variables for the test process. @@ -382,13 +382,30 @@ export async function launchTestProcess(entry: string, ...args: any[]) { }; // Modify the PATH environment variable... - let paths = (env.PATH || process.env.PATH)!.split(delimiter); - - // Only include paths within the sandboxed test environment or external - // non angular-cli paths such as /usr/bin for generic commands. - paths = paths.filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')); - - env.PATH = paths.join(delimiter); - - return _exec({ env }, process.execPath, [resolve(__dirname, 'run_test_process'), entry, ...args]); + env.PATH = (env.PATH || process.env.PATH) + ?.split(delimiter) + // Only include paths within the sandboxed test environment or external + // non angular-cli paths such as /usr/bin for generic commands. + .filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')) + .join(delimiter); + + const testProcessArgs = [resolve(__dirname, 'run_test_process'), entry, ...args]; + + return new Promise((resolve, reject) => { + spawn(process.execPath, testProcessArgs, { + stdio: 'inherit', + env, + }) + .on('close', (code) => { + if (!code) { + resolve(); + return; + } + + reject(`Process error - "${testProcessArgs}`); + }) + .on('error', (err) => { + reject(`Process exit error - "${testProcessArgs}]\n\n${err}`); + }); + }); } From 59b10223cc89098f146f5995855ef84b5cd14b1c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 31 Aug 2022 12:09:07 +0000 Subject: [PATCH 0837/1388] build: update angular to 7977a8d --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 5603127b7f0d..791a40fc0482 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@457a350ebc50ec803abecb07c8995c1ec0f111ff + - uses: angular/dev-infra/github-actions/commit-message-based-labels@3238f034456be0ac0fbc94a3333b4ba82a8cbacf with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@457a350ebc50ec803abecb07c8995c1ec0f111ff + - uses: angular/dev-infra/github-actions/post-approval-changes@3238f034456be0ac0fbc94a3333b4ba82a8cbacf with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index f85228c4be92..453d439f711c 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@457a350ebc50ec803abecb07c8995c1ec0f111ff + - uses: angular/dev-infra/github-actions/feature-request@3238f034456be0ac0fbc94a3333b4ba82a8cbacf with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 04959499c24c..0cac686b652c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@457a350ebc50ec803abecb07c8995c1ec0f111ff + - uses: angular/dev-infra/github-actions/lock-closed@3238f034456be0ac0fbc94a3333b4ba82a8cbacf with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index f8a7f06dc04f..a9db429e0f70 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3a406e5626a3d2edb46ea6bb6533fb4a99b34889", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae", "@angular/cdk": "14.2.0", "@angular/common": "15.0.0-next.0", "@angular/compiler": "15.0.0-next.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.0", "@angular/localize": "15.0.0-next.0", "@angular/material": "14.2.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ea920a8f84ab636a49c2dc08c494120569ae63cf", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc", "@angular/platform-browser": "15.0.0-next.0", "@angular/platform-browser-dynamic": "15.0.0-next.0", "@angular/platform-server": "15.0.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index fd70fa01f6cc..9a532f736776 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#814a8be425edce0f32cb82b1fda2705211adb549", - "@angular/cdk": "github:angular/cdk-builds#9264e7d4d9ec02b55b21d1776baa34f8a303e097", - "@angular/common": "github:angular/common-builds#c0984813a4310643f89c9fb5d802eefdabf663a2", - "@angular/compiler": "github:angular/compiler-builds#900b1d0c904a6f03a288a682990ca457b4fb28e4", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#44796b509ae68ce6d2661e63cad23290ef3e039d", - "@angular/core": "github:angular/core-builds#f698b6792a4e7d06d253e7250fcfca7ad6ac26c8", - "@angular/forms": "github:angular/forms-builds#3de8d54a46b1e34602bf46b746b492cfe6e4f6a4", - "@angular/language-service": "github:angular/language-service-builds#be797b2ed05e12cbf1cf097332c396d7db1abdea", - "@angular/localize": "github:angular/localize-builds#2ec1b9aa0fb6d7054f74318029a0f54daa275522", - "@angular/material": "github:angular/material-builds#849b1ea3d4ab8b52552342f0b1dbd4693423f691", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e08f9448dcfe4f8ca572abde0dbb3ce467e0afec", - "@angular/platform-browser": "github:angular/platform-browser-builds#8ca45eb4336108d45838909804a7a82103ab1abd", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a122f4b370210578966ac74dcd6be83973216b25", - "@angular/platform-server": "github:angular/platform-server-builds#4cecce49c49923876c3bdafde87702ef681c84eb", - "@angular/router": "github:angular/router-builds#20217ccca7d04ac90bd170a8f2c4739be86f5068", - "@angular/service-worker": "github:angular/service-worker-builds#90897d78287da7c2951cc03b76b2ce71b3ac2b1c" + "@angular/animations": "github:angular/animations-builds#7977a8db714ddb930368ac6733f3de0ba2391fae", + "@angular/cdk": "github:angular/cdk-builds#27ada72655c0fa16421e1229c7e7b2639b0bb974", + "@angular/common": "github:angular/common-builds#d2ef3b6cae7771aab6588043358071a29b30f188", + "@angular/compiler": "github:angular/compiler-builds#432024e94fa79f5d3d1b77ea5a7790c5ab7d157d", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#4c1e2a5f7c52fed90895f313b836b80eed105124", + "@angular/core": "github:angular/core-builds#27d2f5fcae47963b780698b6f7919585bc5d39e2", + "@angular/forms": "github:angular/forms-builds#42664df41908348245db2a9036559945e9e6c969", + "@angular/language-service": "github:angular/language-service-builds#9c24137691cee3a5c1778104ed31b13e8025b4f9", + "@angular/localize": "github:angular/localize-builds#c992a9478395c34fb4deb6817a60e5d1ddc1b24f", + "@angular/material": "github:angular/material-builds#d9c29d671ab4f96bafca035550c31d5784bc36c6", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#85045af47c0fb03bbf5284b4c8f8e7e77db5afb2", + "@angular/platform-browser": "github:angular/platform-browser-builds#cbe5dabdc2b7d3d19e8e6f56173025139819950d", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0d60f7bc8ef181773f95c5e505c3db12fd325233", + "@angular/platform-server": "github:angular/platform-server-builds#fe11822e9b6718288287905d409040619367bc51", + "@angular/router": "github:angular/router-builds#eb7b58cdfdc4789d685dd061d1bcb5d0a5ba74db", + "@angular/service-worker": "github:angular/service-worker-builds#2c111d931e43bd390e5f04d8eebb323833dd6852" } } diff --git a/yarn.lock b/yarn.lock index 052f6ab3f3f7..947fd3f21114 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#3a406e5626a3d2edb46ea6bb6533fb4a99b34889": - version "0.0.0-457a350ebc50ec803abecb07c8995c1ec0f111ff" - uid "3a406e5626a3d2edb46ea6bb6533fb4a99b34889" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3a406e5626a3d2edb46ea6bb6533fb4a99b34889" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae": + version "0.0.0-3238f034456be0ac0fbc94a3333b4ba82a8cbacf" + uid "1ef843fcf4880c4881a2db7f925c10fa860002ae" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" "@angular/benchpress" "0.3.0" @@ -241,10 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#ea920a8f84ab636a49c2dc08c494120569ae63cf": - version "0.0.0-457a350ebc50ec803abecb07c8995c1ec0f111ff" - uid ea920a8f84ab636a49c2dc08c494120569ae63cf - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ea920a8f84ab636a49c2dc08c494120569ae63cf" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc": + version "0.0.0-3238f034456be0ac0fbc94a3333b4ba82a8cbacf" + uid bc4f1f64acf0ff18f7eab7748e1844260c6530fc + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From f33fb34ae1493ea49d0e65f0a43784a6e970fc37 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 31 Aug 2022 21:50:17 -0400 Subject: [PATCH 0838/1388] build: adjust BUILD file external comment markers Improvements to the syncing process allow for reduced usage of the comment markers. --- BUILD.bazel | 6 +++--- packages/angular_devkit/core/BUILD.bazel | 2 +- packages/angular_devkit/schematics/tools/BUILD.bazel | 4 ++++ packages/angular_devkit/schematics_cli/BUILD.bazel | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index f644722a3569..3fc46c3f3b32 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -10,9 +10,9 @@ licenses(["notice"]) exports_files([ "LICENSE", - "tsconfig.json", # @external - "tsconfig-test.json", # @external - "tsconfig-build.json", # @external + "tsconfig.json", + "tsconfig-test.json", + "tsconfig-build.json", "package.json", ]) diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index ced8d0205d0d..7fcc5b4b0f3c 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -39,7 +39,7 @@ ts_library( "@npm//ajv-formats", "@npm//jsonc-parser", "@npm//rxjs", - "@npm//source-map", # @external + "@npm//source-map", # @node_module: typescript:es2015.proxy # @node_module: typescript:es2015.reflect # @node_module: typescript:es2015.symbol.wellknown diff --git a/packages/angular_devkit/schematics/tools/BUILD.bazel b/packages/angular_devkit/schematics/tools/BUILD.bazel index 2eb9b3fdd5aa..3fe911d536db 100644 --- a/packages/angular_devkit/schematics/tools/BUILD.bazel +++ b/packages/angular_devkit/schematics/tools/BUILD.bazel @@ -35,6 +35,8 @@ ts_library( ], ) +# @external_begin + ts_library( name = "tools_test_lib", testonly = True, @@ -71,3 +73,5 @@ ts_library( TOOLCHAINS_VERSIONS, ) ] + +# @external_end diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index a0920893747d..57a36744da2d 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -55,9 +55,9 @@ ts_library( "@npm//@types/node", "@npm//@types/yargs-parser", "@npm//ansi-colors", - "@npm//inquirer", # @external - "@npm//symbol-observable", # @external - "@npm//yargs-parser", # @external + "@npm//inquirer", + "@npm//symbol-observable", + "@npm//yargs-parser", ], ) From 2d552a14fd071b8bb435ae335d2253f48c0b46fb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 1 Sep 2022 13:26:11 +0000 Subject: [PATCH 0839/1388] build: update vendored TypeScript to v4.8.2 This is needed to update Universal to v4.8.2 --- .../Microsoft/TypeScript/BUILD.bazel | 8 +- .../Microsoft/TypeScript/lib/typescript.d.ts | 178 ++++------- .../Microsoft/TypeScript/lib/typescript.js | 284 ++++++++---------- 3 files changed, 198 insertions(+), 272 deletions(-) diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index 641ef54167f6..ce2a72123a44 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,11 +1,11 @@ load("//tools:defaults.bzl", "ts_library") -# files fetched on 2022-08-18 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.8-rc +# files fetched on 2022-09-01 from +# https://github.com/microsoft/TypeScript/releases/tag/v4.8.2 # Commands to download: -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8-rc/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8-rc/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8.2/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8.2/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js licenses(["notice"]) # Apache 2.0 diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts index 3ea4fe3130e4..0fd60ae88265 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts @@ -4834,6 +4834,8 @@ declare namespace ts { } declare namespace ts { function setTextRange(range: T, location: TextRange | undefined): T; + function canHaveModifiers(node: Node): node is HasModifiers; + function canHaveDecorators(node: Node): node is HasDecorators; } declare namespace ts { /** @@ -7912,9 +7914,27 @@ declare namespace ts { } declare namespace ts { interface Node { - /** @deprecated `decorators` has been merged with `modifiers` on the declarations that support decorators. */ - readonly decorators?: NodeArray | undefined; - /** @deprecated `modifiers` has been removed from `Node` and moved to the specific `Node` subtypes that support them. */ + /** + * @deprecated `decorators` has been removed from `Node` and merged with `modifiers` on the `Node` subtypes that support them. + * Use `ts.canHaveDecorators()` to test whether a `Node` can have decorators. + * Use `ts.getDecorators()` to get the decorators of a `Node`. + * + * For example: + * ```ts + * const decorators = ts.canHaveDecorators(node) ? ts.getDecorators(node) : undefined; + * ``` + */ + readonly decorators?: undefined; + /** + * @deprecated `modifiers` has been removed from `Node` and moved to the `Node` subtypes that support them. + * Use `ts.canHaveModifiers()` to test whether a `Node` can have modifiers. + * Use `ts.getModifiers()` to get the modifiers of a `Node`. + * + * For example: + * ```ts + * const modifiers = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined; + * ``` + */ readonly modifiers?: NodeArray | undefined; } interface PropertySignature { @@ -7941,231 +7961,155 @@ declare namespace ts { } interface NodeFactory { /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createParameterDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updateParameterDeclaration(node: ParameterDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: string | BindingName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): ParameterDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createPropertyDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updatePropertyDeclaration(node: PropertyDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, questionOrExclamationToken: QuestionToken | ExclamationToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined): PropertyDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createMethodDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updateMethodDeclaration(node: MethodDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, questionToken: QuestionToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): MethodDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated This node does not support Decorators. Callers should use an overload that does not accept a `decorators` parameter. */ createConstructorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated This node does not support Decorators. Callers should use an overload that does not accept a `decorators` parameter. */ updateConstructorDeclaration(node: ConstructorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], body: Block | undefined): ConstructorDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createGetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updateGetAccessorDeclaration(node: GetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): GetAccessorDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createSetAccessorDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updateSetAccessorDeclaration(node: SetAccessorDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: PropertyName, parameters: readonly ParameterDeclaration[], body: Block | undefined): SetAccessorDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createIndexSignature(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators and modifiers are no longer supported for this function. Callers should use an overload that does not accept the `decorators` and `modifiers` parameters. */ updateIndexSignature(node: IndexSignatureDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators and modifiers are no longer supported for this function. Callers should use an overload that does not accept the `decorators` and `modifiers` parameters. */ createClassStaticBlockDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, body: Block): ClassStaticBlockDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createClassExpression(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updateClassExpression(node: ClassExpression, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createFunctionDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateFunctionDeclaration(node: FunctionDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: Block | undefined): FunctionDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ createClassDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators have been combined with modifiers. Callers should use an overload that does not accept a `decorators` parameter. */ updateClassDeclaration(node: ClassDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createInterfaceDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateInterfaceDeclaration(node: InterfaceDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createTypeAliasDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateTypeAliasDeclaration(node: TypeAliasDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createEnumDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: string | Identifier, members: readonly EnumMember[]): EnumDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateEnumDeclaration(node: EnumDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createModuleDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined, flags?: NodeFlags): ModuleDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateModuleDeclaration(node: ModuleDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, name: ModuleName, body: ModuleBody | undefined): ModuleDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createImportEqualsDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: string | Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateImportEqualsDeclaration(node: ImportEqualsDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createImportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause?: AssertClause): ImportDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateImportDeclaration(node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createExportAssignment(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isExportEquals: boolean | undefined, expression: Expression): ExportAssignment; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateExportAssignment(node: ExportAssignment, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, expression: Expression): ExportAssignment; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ createExportDeclaration(decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier?: Expression, assertClause?: AssertClause): ExportDeclaration; /** - * @deprecated Decorators have been combined with modifiers. Callers should pass - * `null` to the `decorators` parameter so that a future update can introduce - * an overload that removes the parameter entirely. + * @deprecated Decorators are no longer supported for this function. Callers should use an overload that does not accept a `decorators` parameter. */ updateExportDeclaration(node: ExportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, isTypeOnly: boolean, exportClause: NamedExportBindings | undefined, moduleSpecifier: Expression | undefined, assertClause: AssertClause | undefined): ExportDeclaration; } diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index 82e0c54b0d8b..49899ec44b38 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -294,7 +294,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.1-rc"; + ts.version = "4.8.2"; /* @internal */ var Comparison; (function (Comparison) { @@ -2674,6 +2674,7 @@ var ts; var currentAssertionLevel = 0 /* AssertionLevel.None */; Debug.currentLogLevel = LogLevel.Warning; Debug.isDebugging = false; + Debug.enableDeprecationWarnings = true; function getTypeScriptVersion() { return typeScriptVersion !== null && typeScriptVersion !== void 0 ? typeScriptVersion : (typeScriptVersion = new ts.Version(ts.version)); } @@ -3297,7 +3298,7 @@ var ts; function createWarningDeprecation(name, errorAfter, since, message) { var hasWrittenDeprecation = false; return function () { - if (!hasWrittenDeprecation) { + if (Debug.enableDeprecationWarnings && !hasWrittenDeprecation) { log.warn(formatDeprecationMessage(name, /*error*/ false, errorAfter, since, message)); hasWrittenDeprecation = true; } @@ -7185,7 +7186,6 @@ var ts; // not actually work. var byteOrderMarkIndicator = "\uFEFF"; function getNodeSystem() { - var _a; var nativePattern = /^native |^\([^)]+\)$|^(internal[\\/]|[a-zA-Z0-9_\s]+(\.js)?$)/; var _fs = require("fs"); var _path = require("path"); @@ -7195,7 +7195,7 @@ var ts; try { _crypto = require("crypto"); } - catch (_b) { + catch (_a) { _crypto = undefined; } var activeSession; @@ -7206,10 +7206,10 @@ var ts; var isLinuxOrMacOs = process.platform === "linux" || process.platform === "darwin"; var platform = _os.platform(); var useCaseSensitiveFileNames = isFileSystemCaseSensitive(); - var realpathSync = (_a = _fs.realpathSync.native) !== null && _a !== void 0 ? _a : _fs.realpathSync; + var fsRealpath = !!_fs.realpathSync.native ? process.platform === "win32" ? fsRealPathHandlingLongPath : _fs.realpathSync.native : _fs.realpathSync; var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin"); var getCurrentDirectory = ts.memoize(function () { return process.cwd(); }); - var _c = createSystemWatchFunctions({ + var _b = createSystemWatchFunctions({ pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames), getModifiedTime: getModifiedTime, setTimeout: setTimeout, @@ -7229,7 +7229,7 @@ var ts; defaultWatchFileKind: function () { var _a, _b; return (_b = (_a = sys).defaultWatchFileKind) === null || _b === void 0 ? void 0 : _b.call(_a); }, inodeWatching: isLinuxOrMacOs, sysLog: sysLog, - }), watchFile = _c.watchFile, watchDirectory = _c.watchDirectory; + }), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory; var nodeSystem = { args: process.argv.slice(2), newLine: _os.EOL, @@ -7622,9 +7622,12 @@ var ts; function getDirectories(path) { return getAccessibleFileSystemEntries(path).directories.slice(); } + function fsRealPathHandlingLongPath(path) { + return path.length < 260 ? _fs.realpathSync.native(path) : _fs.realpathSync(path); + } function realpath(path) { try { - return realpathSync(path); + return fsRealpath(path); } catch (_a) { return path; @@ -21552,7 +21555,7 @@ var ts; case 165 /* SyntaxKind.Decorator */: { var parent_2 = node.parent; return ts.canHaveDecorators(parent_2) ? parent_2.modifiers : - ts.canHaveIllegalDecorators(parent_2) ? parent_2.decorators : + ts.canHaveIllegalDecorators(parent_2) ? parent_2.illegalDecorators : undefined; } case 291 /* SyntaxKind.HeritageClause */: @@ -23629,7 +23632,7 @@ var ts; node.body = body; node.transformFlags = propagateChildFlags(body) | 16777216 /* TransformFlags.ContainsClassFields */; // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; node.modifiers = undefined; return node; } @@ -23641,7 +23644,7 @@ var ts; } function finishUpdateClassStaticBlockDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; updated.modifiers = original.modifiers; } return update(updated, original); @@ -23654,7 +23657,7 @@ var ts; /*type*/ undefined, body); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; node.typeParameters = undefined; node.type = undefined; return node; @@ -23669,7 +23672,7 @@ var ts; } function finishUpdateConstructorDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; updated.typeParameters = original.typeParameters; updated.type = original.type; } @@ -25417,7 +25420,7 @@ var ts; } } // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25435,7 +25438,7 @@ var ts; function finishUpdateFunctionDeclaration(updated, original) { if (updated !== original) { // copy children used only for error reporting - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return finishUpdateBaseSignatureDeclaration(updated, original); } @@ -25469,7 +25472,7 @@ var ts; node.members = createNodeArray(members); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25484,7 +25487,7 @@ var ts; } function finishUpdateInterfaceDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25494,7 +25497,7 @@ var ts; node.type = type; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25508,7 +25511,7 @@ var ts; } function finishUpdateTypeAliasDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25521,7 +25524,7 @@ var ts; 1 /* TransformFlags.ContainsTypeScript */; node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Enum declarations cannot contain `await` // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25534,7 +25537,7 @@ var ts; } function finishUpdateEnumDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25558,7 +25561,7 @@ var ts; } node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Module declarations cannot contain `await`. // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25571,7 +25574,7 @@ var ts; } function finishUpdateModuleDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25607,7 +25610,7 @@ var ts; /*modifiers*/ undefined, name); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; node.modifiers = undefined; return node; } @@ -25619,7 +25622,7 @@ var ts; } function finishUpdateNamespaceExportDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; updated.modifiers = original.modifiers; } return update(updated, original); @@ -25634,7 +25637,7 @@ var ts; node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // Import= declaration is always parsed in an Await context // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25648,7 +25651,7 @@ var ts; } function finishUpdateImportEqualsDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25664,7 +25667,7 @@ var ts; propagateChildFlags(node.moduleSpecifier); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25678,7 +25681,7 @@ var ts; } function finishUpdateImportDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25824,7 +25827,7 @@ var ts; node.transformFlags |= propagateChildrenFlags(node.modifiers) | propagateChildFlags(node.expression); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25836,7 +25839,7 @@ var ts; } function finishUpdateExportAssignment(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -25854,7 +25857,7 @@ var ts; propagateChildFlags(node.moduleSpecifier); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; return node; } // @api @@ -25869,7 +25872,7 @@ var ts; } function finishUpdateExportDeclaration(updated, original) { if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; } return update(updated, original); } @@ -26633,7 +26636,7 @@ var ts; propagateChildFlags(node.name) | propagateChildFlags(node.initializer); // The following properties are used only to report grammar errors - node.decorators = undefined; + node.illegalDecorators = undefined; node.modifiers = undefined; node.questionToken = undefined; node.exclamationToken = undefined; @@ -26649,7 +26652,7 @@ var ts; function finishUpdatePropertyAssignment(updated, original) { // copy children used only for error reporting if (updated !== original) { - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; updated.modifiers = original.modifiers; updated.questionToken = original.questionToken; updated.exclamationToken = original.exclamationToken; @@ -26666,7 +26669,7 @@ var ts; 1024 /* TransformFlags.ContainsES2015 */; // The following properties are used only to report grammar errors node.equalsToken = undefined; - node.decorators = undefined; + node.illegalDecorators = undefined; node.modifiers = undefined; node.questionToken = undefined; node.exclamationToken = undefined; @@ -26683,7 +26686,7 @@ var ts; if (updated !== original) { // copy children used only for error reporting updated.equalsToken = original.equalsToken; - updated.decorators = original.decorators; + updated.illegalDecorators = original.illegalDecorators; updated.modifiers = original.modifiers; updated.questionToken = original.questionToken; updated.exclamationToken = original.exclamationToken; @@ -30694,17 +30697,6 @@ var ts; || kind === 173 /* SyntaxKind.SetAccessor */; } ts.canHaveIllegalTypeParameters = canHaveIllegalTypeParameters; - function canHaveDecorators(node) { - var kind = node.kind; - return kind === 164 /* SyntaxKind.Parameter */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 226 /* SyntaxKind.ClassExpression */ - || kind === 257 /* SyntaxKind.ClassDeclaration */; - } - ts.canHaveDecorators = canHaveDecorators; function canHaveIllegalDecorators(node) { var kind = node.kind; return kind === 296 /* SyntaxKind.PropertyAssignment */ @@ -30726,35 +30718,6 @@ var ts; || kind === 271 /* SyntaxKind.ExportAssignment */; } ts.canHaveIllegalDecorators = canHaveIllegalDecorators; - function canHaveModifiers(node) { - var kind = node.kind; - return kind === 163 /* SyntaxKind.TypeParameter */ - || kind === 164 /* SyntaxKind.Parameter */ - || kind === 166 /* SyntaxKind.PropertySignature */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 168 /* SyntaxKind.MethodSignature */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 176 /* SyntaxKind.IndexSignature */ - || kind === 180 /* SyntaxKind.ConstructorType */ - || kind === 213 /* SyntaxKind.FunctionExpression */ - || kind === 214 /* SyntaxKind.ArrowFunction */ - || kind === 226 /* SyntaxKind.ClassExpression */ - || kind === 237 /* SyntaxKind.VariableStatement */ - || kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 257 /* SyntaxKind.ClassDeclaration */ - || kind === 258 /* SyntaxKind.InterfaceDeclaration */ - || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ - || kind === 260 /* SyntaxKind.EnumDeclaration */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ - || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || kind === 266 /* SyntaxKind.ImportDeclaration */ - || kind === 271 /* SyntaxKind.ExportAssignment */ - || kind === 272 /* SyntaxKind.ExportDeclaration */; - } - ts.canHaveModifiers = canHaveModifiers; function canHaveIllegalModifiers(node) { var kind = node.kind; return kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ @@ -31043,6 +31006,46 @@ var ts; return location ? ts.setTextRangePosEnd(range, location.pos, location.end) : range; } ts.setTextRange = setTextRange; + function canHaveModifiers(node) { + var kind = node.kind; + return kind === 163 /* SyntaxKind.TypeParameter */ + || kind === 164 /* SyntaxKind.Parameter */ + || kind === 166 /* SyntaxKind.PropertySignature */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 168 /* SyntaxKind.MethodSignature */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 171 /* SyntaxKind.Constructor */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 176 /* SyntaxKind.IndexSignature */ + || kind === 180 /* SyntaxKind.ConstructorType */ + || kind === 213 /* SyntaxKind.FunctionExpression */ + || kind === 214 /* SyntaxKind.ArrowFunction */ + || kind === 226 /* SyntaxKind.ClassExpression */ + || kind === 237 /* SyntaxKind.VariableStatement */ + || kind === 256 /* SyntaxKind.FunctionDeclaration */ + || kind === 257 /* SyntaxKind.ClassDeclaration */ + || kind === 258 /* SyntaxKind.InterfaceDeclaration */ + || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 260 /* SyntaxKind.EnumDeclaration */ + || kind === 261 /* SyntaxKind.ModuleDeclaration */ + || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 266 /* SyntaxKind.ImportDeclaration */ + || kind === 271 /* SyntaxKind.ExportAssignment */ + || kind === 272 /* SyntaxKind.ExportDeclaration */; + } + ts.canHaveModifiers = canHaveModifiers; + function canHaveDecorators(node) { + var kind = node.kind; + return kind === 164 /* SyntaxKind.Parameter */ + || kind === 167 /* SyntaxKind.PropertyDeclaration */ + || kind === 169 /* SyntaxKind.MethodDeclaration */ + || kind === 172 /* SyntaxKind.GetAccessor */ + || kind === 173 /* SyntaxKind.SetAccessor */ + || kind === 226 /* SyntaxKind.ClassExpression */ + || kind === 257 /* SyntaxKind.ClassDeclaration */; + } + ts.canHaveDecorators = canHaveDecorators; })(ts || (ts = {})); var ts; (function (ts) { @@ -31161,7 +31164,7 @@ var ts; visitNode(cbNode, node.default) || visitNode(cbNode, node.expression); case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || @@ -31191,7 +31194,7 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); case 296 /* SyntaxKind.PropertyAssignment */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || @@ -31208,7 +31211,7 @@ var ts; visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); case 176 /* SyntaxKind.IndexSignature */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.parameters) || @@ -31246,7 +31249,7 @@ var ts; visitNodes(cbNode, cbNodes, node.parameters) || visitNode(cbNode, node.type); case 171 /* SyntaxKind.Constructor */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || @@ -31268,7 +31271,7 @@ var ts; visitNode(cbNode, node.type) || visitNode(cbNode, node.body); case 256 /* SyntaxKind.FunctionDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.name) || @@ -31292,7 +31295,7 @@ var ts; visitNode(cbNode, node.equalsGreaterThanToken) || visitNode(cbNode, node.body); case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.body); case 178 /* SyntaxKind.TypeReference */: @@ -31420,7 +31423,7 @@ var ts; return visitNodes(cbNode, cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); case 237 /* SyntaxKind.VariableStatement */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); case 255 /* SyntaxKind.VariableDeclarationList */: @@ -31491,20 +31494,20 @@ var ts; visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); case 258 /* SyntaxKind.InterfaceDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNodes(cbNode, cbNodes, node.heritageClauses) || visitNodes(cbNode, cbNodes, node.members); case 259 /* SyntaxKind.TypeAliasDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.typeParameters) || visitNode(cbNode, node.type); case 260 /* SyntaxKind.EnumDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNode, cbNodes, node.members); @@ -31512,17 +31515,17 @@ var ts; return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); case 261 /* SyntaxKind.ModuleDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); case 265 /* SyntaxKind.ImportEqualsDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); case 266 /* SyntaxKind.ImportDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.importClause) || visitNode(cbNode, node.moduleSpecifier) || @@ -31536,7 +31539,7 @@ var ts; return visitNode(cbNode, node.name) || visitNode(cbNode, node.value); case 264 /* SyntaxKind.NamespaceExportDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNode(cbNode, node.name); case 268 /* SyntaxKind.NamespaceImport */: return visitNode(cbNode, node.name); @@ -31546,7 +31549,7 @@ var ts; case 273 /* SyntaxKind.NamedExports */: return visitNodes(cbNode, cbNodes, node.elements); case 272 /* SyntaxKind.ExportDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.exportClause) || visitNode(cbNode, node.moduleSpecifier) || @@ -31556,7 +31559,7 @@ var ts; return visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.name); case 271 /* SyntaxKind.ExportAssignment */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers) || visitNode(cbNode, node.expression); case 223 /* SyntaxKind.TemplateExpression */: @@ -31581,7 +31584,7 @@ var ts; case 277 /* SyntaxKind.ExternalModuleReference */: return visitNode(cbNode, node.expression); case 276 /* SyntaxKind.MissingDeclaration */: - return visitNodes(cbNode, cbNodes, node.decorators) || + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers); case 351 /* SyntaxKind.CommaListExpression */: return visitNodes(cbNode, cbNodes, node.elements); @@ -34132,7 +34135,7 @@ var ts; var type = parseTypeAnnotation(); parseTypeMemberSemicolon(); var node = factory.createIndexSignature(modifiers, parameters, type); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parsePropertyOrMethodSignature(pos, hasJSDoc, modifiers) { @@ -36292,7 +36295,7 @@ var ts; node = factory.createPropertyAssignment(name, initializer); } // Decorators, Modifiers, questionToken, and exclamationToken are not supported by property assignments and are reported in the grammar checker - node.decorators = decorators; + node.illegalDecorators = decorators; node.modifiers = modifiers; node.questionToken = questionToken; node.exclamationToken = exclamationToken; @@ -36940,7 +36943,7 @@ var ts; // would follow. For recovery and error reporting purposes, return an incomplete declaration. var missing = createMissingNode(276 /* SyntaxKind.MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); ts.setTextRangePos(missing, pos); - missing.decorators = decorators; + missing.illegalDecorators = decorators; missing.modifiers = modifiers; return missing; } @@ -37083,7 +37086,7 @@ var ts; parseSemicolon(); var node = factory.createVariableStatement(modifiers, declarationList); // Decorators are not allowed on a variable statement, so we keep track of them to report them in the grammar checker. - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseFunctionDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -37103,7 +37106,7 @@ var ts; var body = parseFunctionBlockOrSemicolon(isGenerator | isAsync, ts.Diagnostics.or_expected); setAwaitContext(savedAwaitContext); var node = factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseConstructorName() { @@ -37126,7 +37129,7 @@ var ts; var body = parseFunctionBlockOrSemicolon(0 /* SignatureFlags.None */, ts.Diagnostics.or_expected); var node = factory.createConstructorDeclaration(modifiers, parameters, body); // Attach invalid nodes if they exist so that we can report them in the grammar checker. - node.decorators = decorators; + node.illegalDecorators = decorators; node.typeParameters = typeParameters; node.type = type; return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -37242,7 +37245,7 @@ var ts; parseExpectedToken(124 /* SyntaxKind.StaticKeyword */); var body = parseClassStaticBlockBody(); var node = withJSDoc(finishNode(factory.createClassStaticBlockDeclaration(body), pos), hasJSDoc); - node.decorators = decorators; + node.illegalDecorators = decorators; node.modifiers = modifiers; return node; } @@ -37483,7 +37486,7 @@ var ts; var heritageClauses = parseHeritageClauses(); var members = parseObjectTypeMembers(); var node = factory.createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -37494,7 +37497,7 @@ var ts; var type = token() === 138 /* SyntaxKind.IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType(); parseSemicolon(); var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } // In an ambient declaration, the grammar only allows integer literals as initializers. @@ -37520,7 +37523,7 @@ var ts; members = createMissingList(); } var node = factory.createEnumDeclaration(modifiers, name, members); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseModuleBlock() { @@ -37544,7 +37547,7 @@ var ts; ? parseModuleOrNamespaceDeclaration(getNodePos(), /*hasJSDoc*/ false, /*decorators*/ undefined, /*modifiers*/ undefined, 4 /* NodeFlags.NestedNamespace */ | namespaceFlag) : parseModuleBlock(); var node = factory.createModuleDeclaration(modifiers, name, body, flags); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -37567,7 +37570,7 @@ var ts; parseSemicolon(); } var node = factory.createModuleDeclaration(modifiers, name, body, flags); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { @@ -37607,7 +37610,7 @@ var ts; parseSemicolon(); var node = factory.createNamespaceExportDeclaration(name); // NamespaceExportDeclaration nodes cannot have decorators or modifiers, so we attach them here so we can report them in the grammar checker - node.decorators = decorators; + node.illegalDecorators = decorators; node.modifiers = modifiers; return withJSDoc(finishNode(node, pos), hasJSDoc); } @@ -37647,7 +37650,7 @@ var ts; } parseSemicolon(); var node = factory.createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseAssertEntry() { @@ -37692,7 +37695,7 @@ var ts; var moduleReference = parseModuleReference(); parseSemicolon(); var node = factory.createImportEqualsDeclaration(modifiers, isTypeOnly, identifier, moduleReference); - node.decorators = decorators; + node.illegalDecorators = decorators; var finished = withJSDoc(finishNode(node, pos), hasJSDoc); return finished; } @@ -37882,7 +37885,7 @@ var ts; parseSemicolon(); setAwaitContext(savedAwaitContext); var node = factory.createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseExportAssignment(pos, hasJSDoc, decorators, modifiers) { @@ -37899,7 +37902,7 @@ var ts; parseSemicolon(); setAwaitContext(savedAwaitContext); var node = factory.createExportAssignment(modifiers, isExportEquals, expression); - node.decorators = decorators; + node.illegalDecorators = decorators; return withJSDoc(finishNode(node, pos), hasJSDoc); } var ParsingContext; @@ -43263,10 +43266,12 @@ var ts; if (resolved) { var fileName = resolved.fileName, packageId = resolved.packageId; var resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled); + var pathsAreEqual = arePathsEqual(fileName, resolvedFileName, host); resolvedTypeReferenceDirective = { primary: primary, - resolvedFileName: resolvedFileName, - originalPath: arePathsEqual(fileName, resolvedFileName, host) ? undefined : fileName, + // If the fileName and realpath are differing only in casing prefer fileName so that we can issue correct errors for casing under forceConsistentCasingInFileNames + resolvedFileName: pathsAreEqual ? fileName : resolvedFileName, + originalPath: pathsAreEqual ? undefined : fileName, packageId: packageId, isExternalLibraryImport: pathContainsNodeModules(fileName), }; @@ -44051,8 +44056,10 @@ var ts; var resolvedValue = resolved_1.value; if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) { var path = realPath(resolvedValue.path, host, traceEnabled); - var originalPath = arePathsEqual(path, resolvedValue.path, host) ? undefined : resolvedValue.path; - resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath }); + var pathsAreEqual = arePathsEqual(path, resolvedValue.path, host); + var originalPath = pathsAreEqual ? undefined : resolvedValue.path; + // If the path and realpath are differing only in casing prefer path so that we can issue correct errors for casing under forceConsistentCasingInFileNames + resolvedValue = __assign(__assign({}, resolvedValue), { path: pathsAreEqual ? resolvedValue.path : path, originalPath: originalPath }); } // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files. return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } }; @@ -73705,25 +73712,7 @@ var ts; } function getTypeOfPropertyOfContextualType(type, name, nameType) { return mapType(type, function (t) { - if (t.flags & 2097152 /* TypeFlags.Intersection */) { - var intersection = t; - var newTypes = ts.mapDefined(intersection.types, getTypeOfConcretePropertyOfContextualType); - if (newTypes.length > 0) { - return getIntersectionType(newTypes); - } - newTypes = ts.mapDefined(intersection.types, getTypeOfApplicableIndexInfoOfContextualType); - if (newTypes.length > 0) { - return getIntersectionType(newTypes); - } - return undefined; - } - var concretePropertyType = getTypeOfConcretePropertyOfContextualType(t); - if (concretePropertyType) { - return concretePropertyType; - } - return getTypeOfApplicableIndexInfoOfContextualType(t); - }, /*noReductions*/ true); - function getTypeOfConcretePropertyOfContextualType(t) { + var _a; if (isGenericMappedType(t) && !t.declaration.nameType) { var constraint = getConstraintTypeFromMappedType(t); var constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint; @@ -73731,9 +73720,8 @@ var ts; if (isTypeAssignableTo(propertyNameType, constraintOfConstraint)) { return substituteIndexedMappedType(t, propertyNameType); } - return undefined; } - if (t.flags & 3670016 /* TypeFlags.StructuredType */) { + else if (t.flags & 3670016 /* TypeFlags.StructuredType */) { var prop = getPropertyOfType(t, name); if (prop) { return isCircularMappedProperty(prop) ? undefined : getTypeOfSymbol(prop); @@ -73744,16 +73732,10 @@ var ts; return restType; } } + return (_a = findApplicableIndexInfo(getIndexInfosOfStructuredType(t), nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)))) === null || _a === void 0 ? void 0 : _a.type; } return undefined; - } - function getTypeOfApplicableIndexInfoOfContextualType(t) { - var _a; - if (!(t.flags & 3670016 /* TypeFlags.StructuredType */)) { - return undefined; - } - return (_a = findApplicableIndexInfo(getIndexInfosOfStructuredType(t), nameType || getStringLiteralType(ts.unescapeLeadingUnderscores(name)))) === null || _a === void 0 ? void 0 : _a.type; - } + }, /*noReductions*/ true); } // In an object literal contextually typed by a type T, the contextual type of a property assignment is the type of // the matching property in T, if one exists. Otherwise, it is the type of the numeric index signature in T, if one @@ -88883,7 +88865,7 @@ var ts; return checkGrammarDecorators(node) || checkGrammarModifiers(node); } function checkGrammarDecorators(node) { - if (ts.canHaveIllegalDecorators(node) && ts.some(node.decorators)) { + if (ts.canHaveIllegalDecorators(node) && ts.some(node.illegalDecorators)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } if (!ts.canHaveDecorators(node) || !ts.hasDecorators(node)) { @@ -171628,9 +171610,9 @@ var ts; // - error: 5.0 var ts; (function (ts) { - var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload without a 'decorators' parameter." }; - var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload without a 'decorators' parameter." }; - var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload without the 'decorators' or 'modifiers' parameters." }; + var MUST_MERGE = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators have been combined with modifiers. Callers should switch to an overload that does not accept a 'decorators' parameter." }; + var DISALLOW_DECORATORS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators are no longer supported for this function. Callers should switch to an overload that does not accept a 'decorators' parameter." }; + var DISALLOW_DECORATORS_AND_MODIFIERS = { since: "4.8", warnAfter: "4.9.0-0", message: "Decorators and modifiers are no longer supported for this function. Callers should switch to an overload that does not accept the 'decorators' and 'modifiers' parameters." }; function patchNodeFactory(factory) { var createParameterDeclaration = factory.createParameterDeclaration, updateParameterDeclaration = factory.updateParameterDeclaration, createPropertyDeclaration = factory.createPropertyDeclaration, updatePropertyDeclaration = factory.updatePropertyDeclaration, createMethodDeclaration = factory.createMethodDeclaration, updateMethodDeclaration = factory.updateMethodDeclaration, createConstructorDeclaration = factory.createConstructorDeclaration, updateConstructorDeclaration = factory.updateConstructorDeclaration, createGetAccessorDeclaration = factory.createGetAccessorDeclaration, updateGetAccessorDeclaration = factory.updateGetAccessorDeclaration, createSetAccessorDeclaration = factory.createSetAccessorDeclaration, updateSetAccessorDeclaration = factory.updateSetAccessorDeclaration, createIndexSignature = factory.createIndexSignature, updateIndexSignature = factory.updateIndexSignature, createClassStaticBlockDeclaration = factory.createClassStaticBlockDeclaration, updateClassStaticBlockDeclaration = factory.updateClassStaticBlockDeclaration, createClassExpression = factory.createClassExpression, updateClassExpression = factory.updateClassExpression, createFunctionDeclaration = factory.createFunctionDeclaration, updateFunctionDeclaration = factory.updateFunctionDeclaration, createClassDeclaration = factory.createClassDeclaration, updateClassDeclaration = factory.updateClassDeclaration, createInterfaceDeclaration = factory.createInterfaceDeclaration, updateInterfaceDeclaration = factory.updateInterfaceDeclaration, createTypeAliasDeclaration = factory.createTypeAliasDeclaration, updateTypeAliasDeclaration = factory.updateTypeAliasDeclaration, createEnumDeclaration = factory.createEnumDeclaration, updateEnumDeclaration = factory.updateEnumDeclaration, createModuleDeclaration = factory.createModuleDeclaration, updateModuleDeclaration = factory.updateModuleDeclaration, createImportEqualsDeclaration = factory.createImportEqualsDeclaration, updateImportEqualsDeclaration = factory.updateImportEqualsDeclaration, createImportDeclaration = factory.createImportDeclaration, updateImportDeclaration = factory.updateImportDeclaration, createExportAssignment = factory.createExportAssignment, updateExportAssignment = factory.updateExportAssignment, createExportDeclaration = factory.createExportDeclaration, updateExportDeclaration = factory.updateExportDeclaration; factory.createParameterDeclaration = ts.buildOverload("createParameterDeclaration") @@ -171857,7 +171839,7 @@ var ts; return (decorators === undefined || !ts.some(decorators, ts.isModifier)) && (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) && (parameters === undefined || ts.isArray(parameters)) && - (body === undefined || !ts.isBlock(body)); + (body === undefined || ts.isBlock(body)); }, }) .deprecate({ @@ -171886,7 +171868,7 @@ var ts; return (decorators === undefined || !ts.some(decorators, ts.isModifier)) && (modifiers === undefined || !ts.some(modifiers, ts.isParameter)) && (parameters === undefined || ts.isArray(parameters)) && - (body === undefined || !ts.isBlock(body)); + (body === undefined || ts.isBlock(body)); }, }) .deprecate({ @@ -172835,4 +172817,4 @@ var ts; })(ts || (ts = {})); -//# sourceMappingURL=typescript.js.map \ No newline at end of file +//# sourceMappingURL=typescript.js.map From 7e64b1537d54fadb650559214fbb12707324cd75 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 1 Sep 2022 09:22:18 +0000 Subject: [PATCH 0840/1388] fix(@angular/cli): favor non deprecated packages during update Prior to this change during update deprecated packages that satisfied the version range constrain where being favored over the non-deprecated versions if the version of the deprecated version is greater. Ex: if `14.3.1` is deprecated and `14.3.0` is not the former was being installed. With this change we now change the logic to favor non deprecated version of the package and only use the deprecated package when no satisfying version is found. This fix is needed as in some cases a package which cannot be unpublished from NPM will gave to be to be deprecated, if the version is for a reason or another broken. --- .../src/commands/update/schematic/index.ts | 24 +++++++++++++++---- .../cli/src/utilities/package-metadata.ts | 4 +++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/src/commands/update/schematic/index.ts b/packages/angular/cli/src/commands/update/schematic/index.ts index e2a48d6b01e0..85a6d7c5bfbf 100644 --- a/packages/angular/cli/src/commands/update/schematic/index.ts +++ b/packages/angular/cli/src/commands/update/schematic/index.ts @@ -561,9 +561,26 @@ function _buildPackageInfo( const content = JSON.parse(packageContent.toString()) as JsonSchemaForNpmPackageJsonFiles; installedVersion = content.version; } + + const packageVersionsNonDeprecated: string[] = []; + const packageVersionsDeprecated: string[] = []; + + for (const [version, { deprecated }] of Object.entries(npmPackageJson.versions)) { + if (deprecated) { + packageVersionsDeprecated.push(version); + } else { + packageVersionsNonDeprecated.push(version); + } + } + + const findSatisfyingVersion = (targetVersion: VersionRange): VersionRange | undefined => + ((semver.maxSatisfying(packageVersionsNonDeprecated, targetVersion) ?? + semver.maxSatisfying(packageVersionsDeprecated, targetVersion)) as VersionRange | null) ?? + undefined; + if (!installedVersion) { // Find the version from NPM that fits the range to max. - installedVersion = semver.maxSatisfying(Object.keys(npmPackageJson.versions), packageJsonRange); + installedVersion = findSatisfyingVersion(packageJsonRange); } if (!installedVersion) { @@ -586,10 +603,7 @@ function _buildPackageInfo( } else if (targetVersion == 'next') { targetVersion = npmPackageJson['dist-tags']['latest'] as VersionRange; } else { - targetVersion = semver.maxSatisfying( - Object.keys(npmPackageJson.versions), - targetVersion, - ) as VersionRange; + targetVersion = findSatisfyingVersion(targetVersion); } } diff --git a/packages/angular/cli/src/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts index 9c2891735296..68916bd6b615 100644 --- a/packages/angular/cli/src/utilities/package-metadata.ts +++ b/packages/angular/cli/src/utilities/package-metadata.ts @@ -47,7 +47,9 @@ export interface NgPackageManifestProperties { }; } -export interface PackageManifest extends Manifest, NgPackageManifestProperties {} +export interface PackageManifest extends Manifest, NgPackageManifestProperties { + deprecated?: boolean; +} interface PackageManagerOptions extends Record { forceAuth?: Record; From 7716875e1c9c98d29fa5d5811fdb994aebb743cd Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 2 Sep 2022 05:05:32 +0000 Subject: [PATCH 0841/1388] build: update github/codeql-action action to v2.1.22 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ec71297efbe9..6df15ec96357 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@c7f292ea4f542c473194b33813ccd4c207a6c725 # tag=v2.1.21 + uses: github/codeql-action/upload-sarif@b398f525a5587552e573b247ac661067fafa920b # tag=v2.1.22 with: sarif_file: results.sarif From 130975c2005ed0e500a0abdd93c3a5b640312053 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 2 Sep 2022 13:17:55 +0000 Subject: [PATCH 0842/1388] fix(@angular-devkit/build-angular): watch index file when running build in watch mode Since the index augmentation happens outside of Webpack previously the index html was not being watched during watch mode. Closes #23851 --- .../src/builders/browser/index.ts | 13 +++++ .../tests/behavior/index_watch_spec.ts | 53 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/index_watch_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 34f21b81543c..23c391a3608a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -173,6 +173,19 @@ export function buildWebpackBrowser( // Check and warn about IE browser support checkInternetExplorerSupport(initialization.projectRoot, context.logger); + // Add index file to watched files. + if (options.watch) { + const indexInputFile = path.join(context.workspaceRoot, getIndexInputFile(options.index)); + initialization.config.plugins ??= []; + initialization.config.plugins.push({ + apply: (compiler: webpack.Compiler) => { + compiler.hooks.thisCompilation.tap('build-angular', (compilation) => { + compilation.fileDependencies.add(indexInputFile); + }); + }, + }); + } + return { ...initialization, cacheOptions: normalizeCacheOptions(projectMetadata, context.workspaceRoot), diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/index_watch_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/index_watch_spec.ts new file mode 100644 index 000000000000..b023f6f3833f --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/index_watch_spec.ts @@ -0,0 +1,53 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { concatMap, count, take, timeout } from 'rxjs/operators'; +import { BUILD_TIMEOUT, buildWebpackBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Behavior: "index is updated during watch mode"', () => { + it('index is watched in watch mode', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + watch: true, + }); + + const buildCount = await harness + .execute() + .pipe( + timeout(BUILD_TIMEOUT), + concatMap(async ({ result }, index) => { + expect(result?.success).toBe(true); + + switch (index) { + case 0: { + harness.expectFile('dist/index.html').content.toContain('HelloWorldApp'); + harness.expectFile('dist/index.html').content.not.toContain('UpdatedPageTitle'); + + // Trigger rebuild + await harness.modifyFile('src/index.html', (s) => + s.replace('HelloWorldApp', 'UpdatedPageTitle'), + ); + break; + } + case 1: { + harness.expectFile('dist/index.html').content.toContain('UpdatedPageTitle'); + break; + } + } + }), + take(2), + count(), + ) + .toPromise(); + + expect(buildCount).toBe(2); + }); + }); +}); From 57d93fb7d979e68c2a4e6f6046ff633f69098afe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 2 Sep 2022 08:44:20 +0000 Subject: [PATCH 0843/1388] fix(@schematics/angular): mark project as required option While this option is always required it was not marked as such Closes #23848 --- packages/schematics/angular/class/schema.json | 2 +- packages/schematics/angular/component/schema.json | 2 +- packages/schematics/angular/directive/schema.json | 2 +- packages/schematics/angular/enum/schema.json | 2 +- packages/schematics/angular/guard/schema.json | 2 +- packages/schematics/angular/interceptor/schema.json | 2 +- packages/schematics/angular/interface/schema.json | 2 +- packages/schematics/angular/module/schema.json | 2 +- packages/schematics/angular/pipe/schema.json | 2 +- packages/schematics/angular/resolver/schema.json | 2 +- packages/schematics/angular/service/schema.json | 2 +- packages/schematics/angular/utility/generate-from-files.ts | 4 ++-- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/schematics/angular/class/schema.json b/packages/schematics/angular/class/schema.json index 6bb235b5ddca..b74602a06ac7 100644 --- a/packages/schematics/angular/class/schema.json +++ b/packages/schematics/angular/class/schema.json @@ -42,5 +42,5 @@ "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/component/schema.json b/packages/schematics/angular/component/schema.json index 163461ce2842..6973b36ccfc8 100644 --- a/packages/schematics/angular/component/schema.json +++ b/packages/schematics/angular/component/schema.json @@ -136,5 +136,5 @@ "x-user-analytics": 19 } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/directive/schema.json b/packages/schematics/angular/directive/schema.json index 2caa172ecb7a..7f48375d9843 100644 --- a/packages/schematics/angular/directive/schema.json +++ b/packages/schematics/angular/directive/schema.json @@ -85,5 +85,5 @@ "x-user-analytics": 19 } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/enum/schema.json b/packages/schematics/angular/enum/schema.json index c2b154947a36..80ff3997efdc 100644 --- a/packages/schematics/angular/enum/schema.json +++ b/packages/schematics/angular/enum/schema.json @@ -36,5 +36,5 @@ "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index f66bdc9428cc..8ecbe1659e75 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -55,5 +55,5 @@ "x-prompt": "Which interfaces would you like to implement?" } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/interceptor/schema.json b/packages/schematics/angular/interceptor/schema.json index 506456c89c8f..78aa0de4b94a 100755 --- a/packages/schematics/angular/interceptor/schema.json +++ b/packages/schematics/angular/interceptor/schema.json @@ -43,5 +43,5 @@ "x-user-analytics": 12 } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/interface/schema.json b/packages/schematics/angular/interface/schema.json index 3691716f4fc5..21e735938e30 100644 --- a/packages/schematics/angular/interface/schema.json +++ b/packages/schematics/angular/interface/schema.json @@ -44,5 +44,5 @@ } } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/module/schema.json b/packages/schematics/angular/module/schema.json index 17b3d09e6a34..f0f1268089a6 100644 --- a/packages/schematics/angular/module/schema.json +++ b/packages/schematics/angular/module/schema.json @@ -64,5 +64,5 @@ "alias": "m" } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/pipe/schema.json b/packages/schematics/angular/pipe/schema.json index 3bfab73608c6..1e595e73a95f 100644 --- a/packages/schematics/angular/pipe/schema.json +++ b/packages/schematics/angular/pipe/schema.json @@ -66,5 +66,5 @@ "x-user-analytics": 19 } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/resolver/schema.json b/packages/schematics/angular/resolver/schema.json index 76ad1614c080..bb14a38ac7a6 100644 --- a/packages/schematics/angular/resolver/schema.json +++ b/packages/schematics/angular/resolver/schema.json @@ -43,5 +43,5 @@ } } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/service/schema.json b/packages/schematics/angular/service/schema.json index 70b5aba0264d..ddcafb020512 100644 --- a/packages/schematics/angular/service/schema.json +++ b/packages/schematics/angular/service/schema.json @@ -42,5 +42,5 @@ "x-user-analytics": 12 } }, - "required": ["name"] + "required": ["name", "project"] } diff --git a/packages/schematics/angular/utility/generate-from-files.ts b/packages/schematics/angular/utility/generate-from-files.ts index d62b02bc92ad..eaf8febb54e5 100644 --- a/packages/schematics/angular/utility/generate-from-files.ts +++ b/packages/schematics/angular/utility/generate-from-files.ts @@ -28,7 +28,7 @@ export interface GenerateFromFilesOptions { name: string; path?: string; prefix?: string; - project?: string; + project: string; skipTests?: boolean; } @@ -37,7 +37,7 @@ export function generateFromFiles( extraTemplateValues: Record string)> = {}, ): Rule { return async (host: Tree) => { - options.path ??= await createDefaultPath(host, options.project as string); + options.path ??= await createDefaultPath(host, options.project); options.prefix ??= ''; options.flat ??= true; From f86b384df49bebf337a4e7624514a2bfa008e92d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 2 Sep 2022 08:51:15 +0000 Subject: [PATCH 0844/1388] fix(@angular-devkit/build-angular): handle service-worker serving with localize in dev-server Previously, we tried to read the files from the wrong location as during localize we alter the output directory to a different temporary location. https://github.com/angular/angular-cli/blob/7e64b1537d54fadb650559214fbb12707324cd75/packages/angular_devkit/build_angular/src/utils/i18n-options.ts#L251-L252 Closes #23844 --- .../src/builders/dev-server/index.ts | 1 - .../behavior/serve_service-worker_spec.ts | 44 ++++++++++++++++++- .../webpack/plugins/service-worker-plugin.ts | 13 ++++-- 3 files changed, 53 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index dcc9bccc6496..cdcb41122498 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -242,7 +242,6 @@ export function serveWebpackBrowser( baseHref: browserOptions.baseHref, root: context.workspaceRoot, projectRoot, - outputPath: path.join(context.workspaceRoot, browserOptions.outputPath), ngswConfigPath: browserOptions.ngswConfigPath, }), ); diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts index 13e80c7058c6..bbd5872ad711 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts @@ -42,6 +42,23 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { }; describe('Behavior: "dev-server builder serves service worker"', () => { + beforeEach(() => { + harness.useProject('test', { + root: '.', + sourceRoot: 'src', + cli: { + cache: { + enabled: false, + }, + }, + i18n: { + sourceLocale: { + 'code': 'fr', + }, + }, + }); + }); + it('works with service worker', async () => { setupBrowserTarget(harness, { serviceWorker: true, @@ -99,13 +116,38 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { hashTable: { '/favicon.ico': '84161b857f5c547e3699ddfbffc6d8d737542e01', '/assets/folder-asset.txt': '617f202968a6a81050aa617c2e28e1dca11ce8d4', - '/index.html': 'cb8ad8c81cd422699d6d831b6f25ad4481f2c90a', + '/index.html': '9d232e3e13b4605d197037224a2a6303dd337480', '/spectrum.png': '8d048ece46c0f3af4b598a95fd8e4709b631c3c0', }, }), ); }); + it('works with localize', async () => { + setupBrowserTarget(harness, { + serviceWorker: true, + assets: ['src/favicon.ico', 'src/assets'], + styles: ['src/styles.css'], + localize: ['fr'], + }); + + await harness.writeFiles({ + 'ngsw-config.json': JSON.stringify(manifest), + 'src/assets/folder-asset.txt': 'folder-asset.txt', + 'src/styles.css': `body { background: url(./spectrum.png); }`, + }); + + harness.useTarget('serve', { + ...BASE_OPTIONS, + }); + + const { result, response } = await executeOnceAndFetch(harness, '/ngsw.json'); + + expect(result?.success).toBeTrue(); + + expect(await response?.json()).toBeDefined(); + }); + it('works in watch mode', async () => { setupBrowserTarget(harness, { serviceWorker: true, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts index 0e32faf3749a..8d556ae7e365 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts @@ -12,7 +12,6 @@ import { augmentAppWithServiceWorker } from '../../utils/service-worker'; export interface ServiceWorkerPluginOptions { projectRoot: string; root: string; - outputPath: string; baseHref?: string; ngswConfigPath?: string; } @@ -21,8 +20,16 @@ export class ServiceWorkerPlugin { constructor(private readonly options: ServiceWorkerPluginOptions) {} apply(compiler: Compiler) { - compiler.hooks.done.tapPromise('angular-service-worker', async (_compilation) => { - const { projectRoot, root, baseHref = '', ngswConfigPath, outputPath } = this.options; + compiler.hooks.done.tapPromise('angular-service-worker', async ({ compilation }) => { + const { projectRoot, root, baseHref = '', ngswConfigPath } = this.options; + // We use the output path from the compilation instead of build options since during + // localization the output path is modified to a temp directory. + // See: https://github.com/angular/angular-cli/blob/7e64b1537d54fadb650559214fbb12707324cd75/packages/angular_devkit/build_angular/src/utils/i18n-options.ts#L251-L252 + const outputPath = compilation.outputOptions.path; + + if (!outputPath) { + throw new Error('Compilation output path cannot be empty.'); + } await augmentAppWithServiceWorker( projectRoot, From a39aa0f4997949eb153e75ba00bb8891bc657944 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 6 Sep 2022 05:15:42 +0000 Subject: [PATCH 0845/1388] build: update dependency uuid to v9 --- packages/angular/cli/package.json | 2 +- yarn.lock | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 7eba0a1358a7..2e397196a67a 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -40,7 +40,7 @@ "resolve": "1.22.1", "semver": "7.3.7", "symbol-observable": "4.0.0", - "uuid": "8.3.2", + "uuid": "9.0.0", "yargs": "17.5.1" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 947fd3f21114..1df5017945ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10891,16 +10891,21 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@8.3.2, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" From 71ca4216483a2aff0a57c6dcb47259ed57dcb944 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 5 Sep 2022 20:06:55 +0000 Subject: [PATCH 0846/1388] build: lock file maintenance --- yarn.lock | 725 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 446 insertions(+), 279 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1df5017945ef..c8d5adaa4f35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -298,10 +298,10 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483" - integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" + integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== "@babel/core@7.18.10": version "7.18.10" @@ -324,7 +324,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.13", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.18.13": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== @@ -366,6 +366,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" + integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.0" + "@babel/helper-compilation-targets" "^7.19.0" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.18.12": version "7.18.12" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" @@ -375,7 +396,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.13", "@babel/generator@^7.18.10", "@babel/generator@^7.18.13", "@babel/generator@^7.18.9": +"@babel/generator@7.18.13": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== @@ -384,6 +405,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.18.10", "@babel/generator@^7.18.13", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" + integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== + dependencies: + "@babel/types" "^7.19.0" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -399,33 +429,33 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" - integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" + integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== dependencies: - "@babel/compat-data" "^7.18.8" + "@babel/compat-data" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" browserslist "^4.20.2" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz#63e771187bd06d234f95fdf8bd5f8b6429de6298" - integrity sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" + integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" "@babel/helper-replace-supers" "^7.18.9" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" - integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" + integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" @@ -454,13 +484,13 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" - integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" @@ -483,19 +513,19 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" - integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9", "@babel/helper-module-transforms@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" + integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" "@babel/helper-simple-access" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -504,10 +534,10 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" @@ -567,23 +597,23 @@ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz#bff23ace436e3f6aefb61f85ffae2291c80ed1fb" - integrity sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" + integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== dependencies: - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.11" - "@babel/types" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" -"@babel/helpers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" - integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== +"@babel/helpers@^7.18.9", "@babel/helpers@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" + integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.0" + "@babel/types" "^7.19.0" "@babel/highlight@^7.18.6": version "7.18.6" @@ -594,10 +624,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.18.9": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" - integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" + integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -615,7 +645,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@7.18.10", "@babel/plugin-proposal-async-generator-functions@^7.18.10": +"@babel/plugin-proposal-async-generator-functions@7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952" integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew== @@ -625,6 +655,16 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-async-generator-functions@^7.18.10": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" + integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -880,15 +920,16 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-classes@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" - integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" + integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.19.0" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-replace-supers" "^7.18.9" "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" @@ -980,13 +1021,13 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" - integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" + integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" @@ -999,12 +1040,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" - integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada" + integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" @@ -1070,11 +1111,11 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" - integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" + integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-transform-sticky-regex@^7.18.6": @@ -1205,13 +1246,20 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.18.9", "@babel/runtime@^7.8.4": +"@babel/runtime@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.8.4": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" + integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1221,26 +1269,26 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" - integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== +"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" + integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" + "@babel/generator" "^7.19.0" "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.13" - "@babel/types" "^7.18.13" + "@babel/parser" "^7.19.0" + "@babel/types" "^7.19.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" - integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" + integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== dependencies: "@babel/helper-string-parser" "^7.18.10" "@babel/helper-validator-identifier" "^7.18.6" @@ -1448,6 +1496,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.6.tgz#45be4184f00e505411bc265a05e709764114acd8" integrity sha512-hqmVU2mUjH6J2ZivHphJ/Pdse2ZD+uGCHK0uvsiLDk/JnSedEVj77CiVUnbMKuU4tih1TZZL8tG9DExQg/GZsw== +"@esbuild/linux-loong64@0.15.7": + version "0.15.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" + integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== + "@eslint/eslintrc@^1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" @@ -1650,10 +1703,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.0.tgz#ace635279d0d548df164ac83464237fd5f0175ad" - integrity sha512-gM2AxWCaXTZRZnKOHT6uIUHTkvRf+UPU2iC/3nC1Bj21zemnoKyJh2NvcG69UCcfs+r1jpx6hZ0dL9s2yPssJQ== +"@npmcli/arborist@^5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.1.tgz#8371fe6e38f2d9ebc57a77be9ac0a8276564aa07" + integrity sha512-bFEihRTSzIpJY+EJjyUUiTHkuZfFyn6ROlPzyVVDsHmysN8JRZ0LdgA/cwNuTGndb1ddsUxhSENhLp5pJHhX3Q== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -1663,10 +1716,10 @@ "@npmcli/name-from-folder" "^1.0.1" "@npmcli/node-gyp" "^2.0.0" "@npmcli/package-json" "^2.0.0" - "@npmcli/query" "^1.1.1" + "@npmcli/query" "^1.2.0" "@npmcli/run-script" "^4.1.3" - bin-links "^3.0.0" - cacache "^16.0.6" + bin-links "^3.0.3" + cacache "^16.1.3" common-ancestor-path "^1.0.1" json-parse-even-better-errors "^2.3.1" json-stringify-nice "^1.1.4" @@ -1676,7 +1729,7 @@ nopt "^6.0.0" npm-install-checks "^5.0.0" npm-package-arg "^9.0.0" - npm-pick-manifest "^7.0.0" + npm-pick-manifest "^7.0.2" npm-registry-fetch "^13.0.0" npmlog "^6.0.2" pacote "^13.6.1" @@ -1801,7 +1854,7 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/query@^1.1.1": +"@npmcli/query@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== @@ -2001,9 +2054,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.0.tgz#8134fd78cb39567465be65b9fdc16d378095f41f" - integrity sha512-v4Vwdko+pgymgS+A2UIaJru93zQd85vIGWObM5ekZNdXCKtDYqATlEYnWgfo86Q6I1Lh0oXnksDnMU1cwmlPDw== + version "7.18.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.1.tgz#ce5e2c8c272b99b7a9fd69fa39f0b4cd85028bd9" + integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== dependencies: "@babel/types" "^7.3.0" @@ -2046,11 +2099,6 @@ dependencies: "@types/node" "*" -"@types/component-emitter@^1.2.10": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" - integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ== - "@types/connect-history-api-fallback@^1.3.5": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" @@ -2224,9 +2272,9 @@ integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/minimatch@*": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.0.tgz#c3018161691376002f8a22ebb87f341e0dba3219" - integrity sha512-0RJHq5FqDWo17kdHe+SMDJLfxmLaqHbWnqZ6gNKzDvStUlrmx/eKIY17+ifLS1yybo7X86aUshQMlittDOVNnw== + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/minimatch@5.1.1": version "5.1.1" @@ -2247,9 +2295,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.7.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.13.tgz#23e6c5168333480d454243378b69e861ab5c011a" - integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw== + version "18.7.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.15.tgz#20ae1ec80c57ee844b469f968a1cd511d4088b29" + integrity sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ== "@types/node@12.20.24": version "12.20.24" @@ -2267,9 +2315,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.26" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.26.tgz#239e19f8b4ea1a9eb710528061c1d733dc561996" - integrity sha512-0b+utRBSYj8L7XAp0d+DX7lI4cSmowNaaTkk6/1SKzbKkG+doLuPusB9EOvzLJ8ahJSk03bTLIL6cWaEd4dBKA== + version "14.18.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.27.tgz#940c1d419143fd9fbdc46ae1320b86077aef8155" + integrity sha512-DcTUcwT9xEcf4rp2UHyGAcmlqG4Mhe7acozl5vY2xzSrwP1z19ZVyjzQ6DsNUrvIadpiyZoQCTHFt4t2omYIZQ== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2392,9 +2440,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz#9c6d8d6bea08b312e890aaa5915fb2228fa62486" - integrity sha512-NCn1vqHC2hDgZmOuiDa4xgyo3FBZuqB+wXg5t8YcwnjIi2ufGTowqcnbUAKGHxY7z/OFfv4MnaVfuJ7gJ/xBsw== + version "4.1.3" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.3.tgz#bc4e06c52ee6c3cb1779aebc0da9e1f2bcb51406" + integrity sha512-wbLIzr+fG/JT2qGJUo4YU9oObkKI1TqNSxJZkQIlpK2xllJAAZA7+IcybSnC4537qGQEmhCHwWqFN1GC9r8dgw== dependencies: "@types/ws" "*" @@ -2513,9 +2561,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.11" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.11.tgz#5e10ca33e219807c0eee0f08b5efcba9b6a42c06" - integrity sha512-aB4y9UDUXTSMxmM4MH+YnuR0g5Cph3FLQBoWoMB21DSvFVAxRVEHEMx3TLh+zUZYMCQtKiqazz0Q4Rre31f/OA== + version "17.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526" + integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== dependencies: "@types/yargs-parser" "*" @@ -3267,7 +3315,7 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bin-links@^3.0.0: +bin-links@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== @@ -3319,9 +3367,9 @@ body-parser@1.20.0, body-parser@^1.19.0: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.0.13" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.13.tgz#4ac003dc1626023252d58adf2946f57e5da450c1" - integrity sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA== + version "1.0.14" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" + integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== dependencies: array-flatten "^2.1.2" dns-equal "^1.0.0" @@ -3559,7 +3607,7 @@ cacache@16.1.2: tar "^6.1.11" unique-filename "^1.1.1" -cacache@16.1.3, cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0, cacache@^16.1.1: +cacache@16.1.3, cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== @@ -3602,9 +3650,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001384" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001384.tgz#029527c2d781a3cfef13fa63b3a78a6088e35973" - integrity sha512-BBWt57kqWbc0GYZXb47wTXpmAgqr5LSibPzNjk/AWMdmJMQhLqOl3c/Kd4OAU/tu4NLfYkMx8Tlq3RVBkOBolQ== + version "1.0.30001390" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz#158a43011e7068ef7fc73590e9fd91a7cece5e7f" + integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g== caseless@~0.12.0: version "0.12.0" @@ -3859,11 +3907,6 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== -component-emitter@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -4358,7 +4401,7 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diff@^5.0.0: +diff@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== @@ -4500,9 +4543,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.202: - version "1.4.233" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz#aa142e45468bda111b88abc9cc59d573b75d6a60" - integrity sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw== + version "1.4.241" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz#5aa03ab94db590d8269f4518157c24b1efad34d6" + integrity sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw== emoji-regex@^8.0.0: version "8.0.0" @@ -4583,10 +4626,10 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.1.tgz#c34062a94c865c322f9d67b4384e4169bcede6a4" - integrity sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg== +entities@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== env-paths@^2.2.0: version "2.2.1" @@ -4618,15 +4661,15 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" - integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== + version "1.20.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" + integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.1" + get-intrinsic "^1.1.2" get-symbol-description "^1.0.0" has "^1.0.3" has-property-descriptors "^1.0.0" @@ -4638,9 +4681,9 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 is-shared-array-buffer "^1.0.2" is-string "^1.0.7" is-weakref "^1.0.2" - object-inspect "^1.12.0" + object-inspect "^1.12.2" object-keys "^1.1.1" - object.assign "^4.1.2" + object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" string.prototype.trimend "^1.0.5" string.prototype.trimstart "^1.0.5" @@ -4725,6 +4768,11 @@ esbuild-android-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.6.tgz#baaed943ca510c2ad546e116728132e76d1d2044" integrity sha512-Z1CHSgB1crVQi2LKSBwSkpaGtaloVz0ZIYcRMsvHc3uSXcR/x5/bv9wcZspvH/25lIGTaViosciS/NS09ERmVA== +esbuild-android-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" + integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== + esbuild-android-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" @@ -4735,6 +4783,11 @@ esbuild-android-arm64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.6.tgz#1c33c73d4c074969e014e31958116460c8e75a7a" integrity sha512-mvM+gqNxqKm2pCa3dnjdRzl7gIowuc4ga7P7c3yHzs58Im8v/Lfk1ixSgQ2USgIywT48QWaACRa3F4MG7djpSw== +esbuild-android-arm64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" + integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== + esbuild-darwin-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" @@ -4745,6 +4798,11 @@ esbuild-darwin-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.6.tgz#388592ba61bf31993d79f6311f7452aa1ef255b9" integrity sha512-BsfVt3usScAfGlXJiGtGamwVEOTM8AiYiw1zqDWhGv6BncLXCnTg1As+90mxWewdTZKq3iIy8s9g8CKkrrAXVw== +esbuild-darwin-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" + integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== + esbuild-darwin-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" @@ -4755,6 +4813,11 @@ esbuild-darwin-arm64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.6.tgz#194e987849dc4688654008a1792f26e948f52e74" integrity sha512-CnrAeJaEpPakUobhqO4wVSA4Zm6TPaI5UY4EsI62j9mTrjIyQPXA1n4Ju6Iu5TVZRnEqV6q8blodgYJ6CJuwCA== +esbuild-darwin-arm64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" + integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== + esbuild-freebsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" @@ -4765,6 +4828,11 @@ esbuild-freebsd-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.6.tgz#daa72faee585ec2ec27cc65e86a6ce0786373e66" integrity sha512-+qFdmqi+jkAsxsNJkaWVrnxEUUI50nu6c3MBVarv3RCDCbz7ZS1a4ZrdkwEYFnKcVWu6UUE0Kkb1SQ1yGEG6sg== +esbuild-freebsd-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" + integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== + esbuild-freebsd-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" @@ -4775,6 +4843,11 @@ esbuild-freebsd-arm64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.6.tgz#70c8a2a30bf6bb9d547a0d8dc93aa015ec4f77f9" integrity sha512-KtQkQOhnNciXm2yrTYZMD3MOm2zBiiwFSU+dkwNbcfDumzzUprr1x70ClTdGuZwieBS1BM/k0KajRQX7r504Xw== +esbuild-freebsd-arm64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" + integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== + esbuild-linux-32@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" @@ -4785,6 +4858,11 @@ esbuild-linux-32@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.6.tgz#d69ed2335b2d68c00b3248254b432172077b7ced" integrity sha512-IAkDNz3TpxwISTGVdQijwyHBZrbFgLlRi5YXcvaEHtgbmayLSDcJmH5nV1MFgo/x2QdKcHBkOYHdjhKxUAcPwg== +esbuild-linux-32@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" + integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== + esbuild-linux-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" @@ -4795,6 +4873,11 @@ esbuild-linux-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.6.tgz#dca821e8f129cccde23ac947fd0d4bea3b333808" integrity sha512-gQPksyrEYfA4LJwyfTQWAZaVZCx4wpaLrSzo2+Xc9QLC+i/sMWmX31jBjrn4nLJCd79KvwCinto36QC7BEIU/A== +esbuild-linux-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" + integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== + esbuild-linux-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" @@ -4805,6 +4888,11 @@ esbuild-linux-arm64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.6.tgz#c9e8bc86f3c58a7c8ff1ded5880c6a39ade7621b" integrity sha512-aovDkclFa6C9EdZVBuOXxqZx83fuoq8097xZKhEPSygwuy4Lxs8J4anHG7kojAsR+31lfUuxzOo2tHxv7EiNHA== +esbuild-linux-arm64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" + integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== + esbuild-linux-arm@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" @@ -4815,6 +4903,11 @@ esbuild-linux-arm@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.6.tgz#354ecad0223f5b176995cf4462560eec2633de24" integrity sha512-xZ0Bq2aivsthDjA/ytQZzxrxIZbG0ATJYMJxNeOIBc1zUjpbVpzBKgllOZMsTSXMHFHGrow6TnCcgwqY0+oEoQ== +esbuild-linux-arm@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" + integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== + esbuild-linux-mips64le@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" @@ -4825,6 +4918,11 @@ esbuild-linux-mips64le@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.6.tgz#f4fb941a4ff0af437deed69a2e0712983c8fff3e" integrity sha512-wVpW8wkWOGizsCqCwOR/G3SHwhaecpGy3fic9BF1r7vq4djLjUcA8KunDaBCjJ6TgLQFhJ98RjDuyEf8AGjAvw== +esbuild-linux-mips64le@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" + integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== + esbuild-linux-ppc64le@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" @@ -4835,6 +4933,11 @@ esbuild-linux-ppc64le@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.6.tgz#19774a8b52c77173f2d4f171b8a8cf839b12e686" integrity sha512-z6w6gsPH/Y77uchocluDC8tkCg9rfkcPTePzZKNr879bF4tu7j9t255wuNOCE396IYEGxY7y8u2HJ9i7kjCLVw== +esbuild-linux-ppc64le@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" + integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== + esbuild-linux-riscv64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" @@ -4845,6 +4948,11 @@ esbuild-linux-riscv64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.6.tgz#66bd83b065c4a1e623df02c122bc7e4e15fd8486" integrity sha512-pfK/3MJcmbfU399TnXW5RTPS1S+ID6ra+CVj9TFZ2s0q9Ja1F5A1VirUUvViPkjiw+Kq3zveyn6U09Wg1zJXrw== +esbuild-linux-riscv64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" + integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== + esbuild-linux-s390x@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" @@ -4855,6 +4963,11 @@ esbuild-linux-s390x@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.6.tgz#1e024bddc75afe8dc70ed48fc9627af770d7f34b" integrity sha512-OZeeDu32liefcwAE63FhVqM4heWTC8E3MglOC7SK0KYocDdY/6jyApw0UDkDHlcEK9mW6alX/SH9r3PDjcCo/Q== +esbuild-linux-s390x@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" + integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== + esbuild-netbsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" @@ -4865,6 +4978,11 @@ esbuild-netbsd-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.6.tgz#c11477d197f059c8794ee1691e3399201f7c4b9a" integrity sha512-kaxw61wcHMyiEsSsi5ut1YYs/hvTC2QkxJwyRvC2Cnsz3lfMLEu8zAjpBKWh9aU/N0O/gsRap4wTur5GRuSvBA== +esbuild-netbsd-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" + integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== + esbuild-openbsd-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" @@ -4875,6 +4993,11 @@ esbuild-openbsd-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.6.tgz#b29e7faed5b8d2aeaf3884c47c1a96b1cba8e263" integrity sha512-CuoY60alzYfIZapUHqFXqXbj88bbRJu8Fp9okCSHRX2zWIcGz4BXAHXiG7dlCye5nFVrY72psesLuWdusyf2qw== +esbuild-openbsd-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" + integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== + esbuild-sunos-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" @@ -4885,7 +5008,12 @@ esbuild-sunos-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.6.tgz#9668f39e47179f50c0435040904b9c6e10e84a70" integrity sha512-1ceefLdPWcd1nW/ZLruPEYxeUEAVX0YHbG7w+BB4aYgfknaLGotI/ZvPWUZpzhC8l1EybrVlz++lm3E6ODIJOg== -esbuild-wasm@0.15.5, esbuild-wasm@^0.15.0: +esbuild-sunos-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" + integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== + +esbuild-wasm@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" integrity sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A== @@ -4895,6 +5023,11 @@ esbuild-wasm@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.6.tgz#e2360b3eb35c48ea7cdf4adfcd080ee203e7c3d8" integrity sha512-UiRz1VyslE+xq+1zcij439+pZaqCe8xGDtCzNfo+1jH8ciofyg5A4zwlOOF3JLdNORe/W8ZwY8sJeQsD34dDFQ== +esbuild-wasm@^0.15.0: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" + integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== + esbuild-windows-32@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" @@ -4905,6 +5038,11 @@ esbuild-windows-32@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.6.tgz#9ddcd56e3c4fb9729a218c713c4e76bdbc1678b4" integrity sha512-pBqdOsKqCD5LRYiwF29PJRDJZi7/Wgkz46u3d17MRFmrLFcAZDke3nbdDa1c8YgY78RiemudfCeAemN8EBlIpA== +esbuild-windows-32@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" + integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== + esbuild-windows-64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" @@ -4915,6 +5053,11 @@ esbuild-windows-64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.6.tgz#1eaadeadfd995e9d065d35cb3e9f02607202f339" integrity sha512-KpPOh4aTOo//g9Pk2oVAzXMpc9Sz9n5A9sZTmWqDSXCiiachfFhbuFlsKBGATYCVitXfmBIJ4nNYYWSOdz4hQg== +esbuild-windows-64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" + integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== + esbuild-windows-arm64@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" @@ -4925,7 +5068,12 @@ esbuild-windows-arm64@0.15.6: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.6.tgz#e18a778d354fc2ca2306688f3fedad8a3e57819e" integrity sha512-DB3G2x9OvFEa00jV+OkDBYpufq5x/K7a6VW6E2iM896DG4ZnAvJKQksOsCPiM1DUaa+DrijXAQ/ZOcKAqf/3Hg== -esbuild@0.15.5, esbuild@^0.15.0: +esbuild-windows-arm64@0.15.7: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" + integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== + +esbuild@0.15.5: version "0.15.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" integrity sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg== @@ -4979,6 +5127,33 @@ esbuild@0.15.6: esbuild-windows-64 "0.15.6" esbuild-windows-arm64 "0.15.6" +esbuild@^0.15.0: + version "0.15.7" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" + integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== + optionalDependencies: + "@esbuild/linux-loong64" "0.15.7" + esbuild-android-64 "0.15.7" + esbuild-android-arm64 "0.15.7" + esbuild-darwin-64 "0.15.7" + esbuild-darwin-arm64 "0.15.7" + esbuild-freebsd-64 "0.15.7" + esbuild-freebsd-arm64 "0.15.7" + esbuild-linux-32 "0.15.7" + esbuild-linux-64 "0.15.7" + esbuild-linux-arm "0.15.7" + esbuild-linux-arm64 "0.15.7" + esbuild-linux-mips64le "0.15.7" + esbuild-linux-ppc64le "0.15.7" + esbuild-linux-riscv64 "0.15.7" + esbuild-linux-s390x "0.15.7" + esbuild-netbsd-64 "0.15.7" + esbuild-openbsd-64 "0.15.7" + esbuild-sunos-64 "0.15.7" + esbuild-windows-32 "0.15.7" + esbuild-windows-64 "0.15.7" + esbuild-windows-arm64 "0.15.7" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5301,11 +5476,11 @@ express@4.18.1, express@^4.17.3: vary "~1.1.2" ext@^1.1.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== dependencies: - type "^2.5.0" + type "^2.7.2" extend@^3.0.0, extend@~3.0.2: version "3.0.2" @@ -5677,7 +5852,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== @@ -5935,7 +6110,7 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^5.0.0: +hosted-git-info@^5.0.0, hosted-git-info@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594" integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== @@ -6192,7 +6367,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@3.0.1, ini@^3.0.0: +ini@3.0.1, ini@^3.0.0, ini@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== @@ -6602,16 +6777,21 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.3.0, jasmine-core@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.3.0.tgz#aee841fbe7373c2586ed8d8d48f5cc4a88be8390" - integrity sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg== +jasmine-core@^4.1.0, jasmine-core@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.4.0.tgz#848fe45c1839cacaf1f2429d400d1d4f85d2856a" + integrity sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA== jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== +jasmine-core@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.3.0.tgz#aee841fbe7373c2586ed8d8d48f5cc4a88be8390" + integrity sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg== + jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -6637,12 +6817,12 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.3.0.tgz#f99e9bc2a94e8281d2490482d53a3406760bd7f4" - integrity sha512-ieBmwkd8L1DXnvSnxx7tecXgA0JDgMXPAwBcqM4lLPedJeI9hTHuWifPynTC+dLe4Y+GkSPSlbqqrmYIgGzYUw== + version "4.4.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.4.0.tgz#e3e359723d9679993b70de3e0441517c154b9647" + integrity sha512-xrbOyYkkCvgduNw7CKktDtNb+BwwBv/zvQeHpTkbxqQ37AJL5V4sY3jHoMIJPP/hTc3QxLVwOyxc87AqA+kw5g== dependencies: glob "^7.1.6" - jasmine-core "^4.3.0" + jasmine-core "^4.4.0" jasminewd2@^2.1.0: version "2.2.0" @@ -6788,12 +6968,12 @@ json5@^2.1.2, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== -jsonc-parser@3.1.0, jsonc-parser@^3.0.0: +jsonc-parser@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== -jsonc-parser@3.2.0: +jsonc-parser@3.2.0, jsonc-parser@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== @@ -7010,36 +7190,36 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -libnpmaccess@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.3.tgz#473cc3e4aadb2bc713419d92e45d23b070d8cded" - integrity sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg== +libnpmaccess@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" + integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== dependencies: aproba "^2.0.0" minipass "^3.1.1" npm-package-arg "^9.0.1" npm-registry-fetch "^13.0.0" -libnpmdiff@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.4.tgz#487ccb609dacd7f558f089feef3153933e157d02" - integrity sha512-bUz12309DdkeFL/K0sKhW1mbg8DARMbNI0vQKrJp1J8lxhxqkAjzSQ3eQCacFjSwCz4xaf630ogwuOkSt61ZEQ== +libnpmdiff@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.5.tgz#ffaf93fa9440ea759444b8830fdb5c661b09a7c0" + integrity sha512-9fICQIzmH892UwHHPmb+Seup50UIBWcMIK2FdxvlXm9b4kc1nSH0b/BuY1mORJQtB6ydPMnn+BLzOTmd/SKJmw== dependencies: "@npmcli/disparity-colors" "^2.0.0" "@npmcli/installed-package-contents" "^1.0.7" binary-extensions "^2.2.0" - diff "^5.0.0" + diff "^5.1.0" minimatch "^5.0.1" npm-package-arg "^9.0.1" pacote "^13.6.1" tar "^6.1.0" -libnpmexec@^4.0.2: - version "4.0.11" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.11.tgz#3307fd7b683630268237936a921f5faadd5bfaef" - integrity sha512-uhkAWVT0pA1kVgqgTjIMVebOPl3PpIvVcRQ1IBV47ppVxmQr+JCjDahrV0K/0JUsKSVFozyGEEmg1Kz0HwRwzw== +libnpmexec@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.12.tgz#462955cdc80894122a09720ccb86e074989ab209" + integrity sha512-iGk63HwzPz6U2mDyuUu0AV4f/yWpxxbrly6LUJgZZ3tD00qVgV530oI4sr3baTLzq8VOyQeDJr0wmEdpXJsHjQ== dependencies: - "@npmcli/arborist" "^5.0.0" + "@npmcli/arborist" "^5.6.1" "@npmcli/ci-detect" "^2.0.0" "@npmcli/fs" "^2.1.1" "@npmcli/run-script" "^4.2.0" @@ -7054,42 +7234,42 @@ libnpmexec@^4.0.2: semver "^7.3.7" walk-up-path "^1.0.0" -libnpmfund@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.2.tgz#7da0827950f0db2cce0acb0dc7652d1834a8b239" - integrity sha512-wmFMP/93Wjy+jDg5LaSldDgAhSgCyA64JUUmp806Kae7y3YP9Qv5m1vUhPxT4yebxgB2v/I6G1/RUcNb1y0kVg== +libnpmfund@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.3.tgz#334a3bb58c64ad18803056373545f6528b04dceb" + integrity sha512-vIlrudn2vzCQ8YRiImh/Kcf6/igjITDNqJPm2ifQDLJIrtqHc22BQb1SCyH+bajHL/DVHzGKD4VuxUtLHT641w== dependencies: - "@npmcli/arborist" "^5.0.0" + "@npmcli/arborist" "^5.6.1" -libnpmhook@^8.0.2: - version "8.0.3" - resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.3.tgz#9628518a63455d21dafda312ee46175275707ff5" - integrity sha512-TEdNI1mC5zS+w/juCgxrwwQnpbq9lY76NDOS0N37pn6pWIUxB1Yq8mwy6MUEXR1TgH4HurSQyKT6I6Kp9Wjm4A== +libnpmhook@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.4.tgz#6c58e5fe763ff5d600ae9c20457ea9a69d1f7d87" + integrity sha512-nuD6e+Nx0OprjEi0wOeqASMl6QIH235th/Du2/8upK3evByFhzIgdfOeP1OhstavW4xtsl0hk5Vw4fAWWuSUgA== dependencies: aproba "^2.0.0" npm-registry-fetch "^13.0.0" -libnpmorg@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.3.tgz#a85cbdb3665ad4f7c7279d239a4581ec2eeef5a6" - integrity sha512-r4CpmCEF+e5PbFMBi64xSXmqn0uGgV4T7NWpGL4/A6KT/DTtIxALILQZq+l0ZdN1xm4RjOvqSDR22oT4il8rAQ== +libnpmorg@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.4.tgz#2a01d49372cf0df90d79a61e69bddaf2ed704311" + integrity sha512-1bTpD7iub1rDCsgiBguhJhiDufLQuc8DEti20euqsXz9O0ncXVpCYqf2SMmHR4GEdmAvAj2r7FMiyA9zGdaTpA== dependencies: aproba "^2.0.0" npm-registry-fetch "^13.0.0" -libnpmpack@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.2.tgz#9234a3b1ae433f922c19e97cd3a8a0b135b5f4cc" - integrity sha512-megSAPeZGv9jnDM4KovKbczjyuy/EcPxCIU/iaWsDU1IEAVtBJ0qHqNUm5yN2AgN501Tb3CL6KeFGYdG4E31rQ== +libnpmpack@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.3.tgz#025cfe39829acd8260662bf259e3a9331fc1e4b2" + integrity sha512-rYP4X++ME3ZiFO+2iN3YnXJ4LB4Gsd0z5cgszWJZxaEpDN4lRIXirSyynGNsN/hn4taqnlxD+3DPlFDShvRM8w== dependencies: "@npmcli/run-script" "^4.1.3" npm-package-arg "^9.0.1" pacote "^13.6.1" -libnpmpublish@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b" - integrity sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg== +libnpmpublish@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" + integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== dependencies: normalize-package-data "^4.0.0" npm-package-arg "^9.0.1" @@ -7097,25 +7277,25 @@ libnpmpublish@^6.0.2: semver "^7.3.7" ssri "^9.0.0" -libnpmsearch@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.3.tgz#ed502a4c2c70ea36723180455fae1357546b2184" - integrity sha512-Ofq76qKAPhxbiyzPf/5LPjJln26VTKwU9hIU0ACxQ6tNtBJ1CHmI7iITrdp7vNezhZc0FlkXwrIpqXjhBJZgLQ== +libnpmsearch@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.4.tgz#b32aa2b23051c00cdcc0912274d0d416e6655d81" + integrity sha512-XHDmsvpN5+pufvGnfLRqpy218gcGGbbbXR6wPrDJyd1em6agKdYByzU5ccskDHH9iVm2UeLydpDsW1ksYuU0cg== dependencies: npm-registry-fetch "^13.0.0" -libnpmteam@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.3.tgz#9335fbbd032b3770f5c9b7ffc6203f47d1ed144a" - integrity sha512-LsYYLz4TlTpcqkusInY5MhKjiHFaCx1GV0LmydXJ/QMh+3IWBJpUhes4ynTZuFoJKkDIFjxyMU09ul+RZixgdg== +libnpmteam@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.4.tgz#ac26068808d93b1051d926457db14e4b3ff669ef" + integrity sha512-rzKSwi6MLzwwevbM/vl+BBQTErgn24tCfgPUdzBlszrw3j5necOu7WnTzgvZMDv6maGUwec6Ut1rxszOgH0l+Q== dependencies: aproba "^2.0.0" npm-registry-fetch "^13.0.0" -libnpmversion@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.6.tgz#a4a476d38a44d38db9ac424a5e7334479e7fb8b9" - integrity sha512-+lI+AO7cZwDxyAeWCIR8+n9XEfgSDAqmNbv4zy+H6onGthsk/+E3aa+5zIeBpyG5g268zjpc0qrBch0Q3w0nBA== +libnpmversion@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.7.tgz#e4c6c07ee28cf351ce1e2293a5ac9922b09ea94d" + integrity sha512-O0L4eNMUIMQ+effi1HsZPKp2N6wecwqGqB8PvkvmLPWN7EsdabdzAVG48nv0p/OjlbIai5KQg/L+qMMfCA4ZjA== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/run-script" "^4.1.3" @@ -7349,7 +7529,7 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.3: +magic-string@0.26.3, magic-string@^0.26.0: version "0.26.3" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== @@ -7363,13 +7543,6 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.26.0: - version "0.26.2" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" - integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7928,7 +8101,7 @@ npm-packlist@^5.1.0: npm-bundled "^2.0.0" npm-normalize-package-bin "^2.0.0" -npm-pick-manifest@7.0.2, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: +npm-pick-manifest@7.0.2, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== @@ -7972,46 +8145,49 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.18.0.tgz#bd6ca7f637720441f812370363e2ae67426fb42f" - integrity sha512-G07/yKvNUwhwxYhk8BxcuDPB/4s+y755i6CnH3lf9LQBHP5siUx66WbuNGWEnN3xaBER4+IR3OWApKX7eBO5Dw== + version "8.19.1" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.1.tgz#78bfc5fc1b7bc36881a2d9d1f2c93ad0246f31e5" + integrity sha512-FtWzipzng+NmtTQDXSCvA9D7H4d7vkA7ciahmY89fGK/Eo95pbnKn0hatEUfomj1jUDEXvAEi/tKiQ2nrAc7Jg== dependencies: "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/arborist" "^5.0.4" + "@npmcli/arborist" "^5.6.1" "@npmcli/ci-detect" "^2.0.0" "@npmcli/config" "^4.2.1" "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" - cacache "^16.1.1" + cacache "^16.1.3" chalk "^4.1.2" chownr "^2.0.0" cli-columns "^4.0.0" cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" - hosted-git-info "^5.0.0" - ini "^3.0.0" + hosted-git-info "^5.1.0" + ini "^3.0.1" init-package-json "^3.0.2" is-cidr "^4.0.2" json-parse-even-better-errors "^2.3.1" - libnpmaccess "^6.0.2" - libnpmdiff "^4.0.2" - libnpmexec "^4.0.2" - libnpmfund "^3.0.1" - libnpmhook "^8.0.2" - libnpmorg "^4.0.2" - libnpmpack "^4.0.2" - libnpmpublish "^6.0.2" - libnpmsearch "^5.0.2" - libnpmteam "^4.0.2" - libnpmversion "^3.0.1" + libnpmaccess "^6.0.4" + libnpmdiff "^4.0.5" + libnpmexec "^4.0.12" + libnpmfund "^3.0.3" + libnpmhook "^8.0.4" + libnpmorg "^4.0.4" + libnpmpack "^4.1.3" + libnpmpublish "^6.0.5" + libnpmsearch "^5.0.4" + libnpmteam "^4.0.4" + libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" + minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -8022,7 +8198,7 @@ npm@^8.11.0: npm-audit-report "^3.0.0" npm-install-checks "^5.0.0" npm-package-arg "^9.1.0" - npm-pick-manifest "^7.0.1" + npm-pick-manifest "^7.0.2" npm-profile "^6.2.0" npm-registry-fetch "^13.3.1" npm-user-validate "^1.0.1" @@ -8034,7 +8210,7 @@ npm@^8.11.0: proc-log "^2.0.1" qrcode-terminal "^0.12.0" read "~1.0.7" - read-package-json "^5.0.1" + read-package-json "^5.0.2" read-package-json-fast "^2.0.3" readdir-scoped-modules "^1.1.0" rimraf "^3.0.2" @@ -8066,9 +8242,9 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" - integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== + version "2.2.2" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" + integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== oauth-sign@~0.9.0: version "0.9.0" @@ -8080,7 +8256,7 @@ object-assign@^4, object-assign@^4.0.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.0, object-inspect@^1.9.0: +object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== @@ -8095,7 +8271,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.2: +object.assign@^4.1.0, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -8379,11 +8555,11 @@ parse5-sax-parser@^6.0.1: parse5 "^6.0.1" parse5@*: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" - integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== + version "7.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" + integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== dependencies: - entities "^4.3.0" + entities "^4.4.0" parse5@6.0.1, parse5@^6.0.1: version "6.0.1" @@ -9208,7 +9384,7 @@ read-package-json@^2.0.0: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" -read-package-json@^5.0.0, read-package-json@^5.0.1: +read-package-json@^5.0.0, read-package-json@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== @@ -9539,9 +9715,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.78.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f" - integrity sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg== + version "2.79.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.0.tgz#9177992c9f09eb58c5e56cbfa641607a12b57ce2" + integrity sha512-x4KsrCgwQ7ZJPcFA/SUu6QVcYlO7uRLfLAy0DSA4NS2eG8japdbpM50ToH7z4iObodRYOJ0soneF0iaQRJ6zhA== optionalDependencies: fsevents "~2.3.2" @@ -9625,9 +9801,9 @@ sass@1.54.6: source-map-js ">=0.6.2 <2.0.0" sass@^1.49.9: - version "1.54.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.5.tgz#93708f5560784f6ff2eab8542ade021a4a947b3a" - integrity sha512-p7DTOzxkUPa/63FU0R3KApkRHwcVZYC0PLnLm5iyZACyp15qSi32x7zVUhRdABAATmkALqgGrjCJAcWvobmhHw== + version "1.54.8" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.8.tgz#4adef0dd86ea2b1e4074f551eeda4fc5f812a996" + integrity sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -9919,24 +10095,15 @@ socket.io-adapter@~2.4.0: integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== socket.io-client@^4.4.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.1.tgz#cab8da71976a300d3090414e28c2203a47884d84" - integrity sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA== + version "4.5.2" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.2.tgz#9481518c560388c980c88b01e3cf62f367f04c96" + integrity sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" engine.io-client "~6.2.1" socket.io-parser "~4.2.0" -socket.io-parser@~4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.5.tgz#cb404382c32324cc962f27f3a44058cf6e0552df" - integrity sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig== - dependencies: - "@types/component-emitter" "^1.2.10" - component-emitter "~1.3.0" - debug "~4.3.1" - socket.io-parser@~4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" @@ -9946,16 +10113,16 @@ socket.io-parser@~4.2.0: debug "~4.3.1" socket.io@^4.4.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.1.tgz#aa7e73f8a6ce20ee3c54b2446d321bbb6b1a9029" - integrity sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ== + version "4.5.2" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.2.tgz#1eb25fd380ab3d63470aa8279f8e48d922d443ac" + integrity sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ== dependencies: accepts "~1.3.4" base64id "~2.0.0" debug "~4.3.2" engine.io "~6.2.0" socket.io-adapter "~2.4.0" - socket.io-parser "~4.0.4" + socket.io-parser "~4.2.0" sockjs@^0.3.24: version "0.3.24" @@ -10422,9 +10589,9 @@ tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: yallist "^4.0.0" terser-webpack-plugin@^5.1.3: - version "5.3.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.5.tgz#f7d82286031f915a4f8fb81af4bd35d2e3c011bc" - integrity sha512-AOEDLDxD2zylUGf/wxHxklEkOe2/r+seuyOWujejFrIxHf11brA1/dWQNIgXa1c6/Wkxgu7zvv0JhOWfc2ELEA== + version "5.3.6" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" + integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== dependencies: "@jridgewell/trace-mapping" "^0.3.14" jest-worker "^27.4.5" @@ -10711,7 +10878,7 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== -type@^2.5.0: +type@^2.7.2: version "2.7.2" resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== @@ -10849,9 +11016,9 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" - integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + version "1.0.7" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" + integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" From 1831c76c9d26ae5eafbd2731584b2999eb407f67 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 5 Sep 2022 07:28:30 +0000 Subject: [PATCH 0847/1388] build: update web-driver and puppeteer Updates the above mentioned to the latest version. --- package.json | 4 ++-- yarn.lock | 21 +++++++++------------ 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index a9db429e0f70..474f340ce998 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "validate": "node ./bin/devkit-admin validate", "postinstall": "yarn webdriver-update && yarn husky install", "//webdriver-update-README": "ChromeDriver version must match Puppeteer Chromium version, see https://github.com/GoogleChrome/puppeteer/releases http://chromedriver.chromium.org/downloads", - "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 104.0.5112.79", + "webdriver-update": "webdriver-manager update --standalone false --gecko false --versions.chrome 106.0.5249.21", "public-api:check": "node goldens/public-api/manage.js test", "public-api:update": "node goldens/public-api/manage.js accept", "ts-circular-deps:check": "yarn -s ng-dev ts-circular-deps check --config ./packages/circular-deps-test.conf.js", @@ -191,7 +191,7 @@ "postcss-preset-env": "7.8.0", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "17.0.0", + "puppeteer": "17.1.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index c8d5adaa4f35..4885d1a3db69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae": version "0.0.0-3238f034456be0ac0fbc94a3333b4ba82a8cbacf" - uid "1ef843fcf4880c4881a2db7f925c10fa860002ae" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" @@ -243,7 +242,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc": version "0.0.0-3238f034456be0ac0fbc94a3333b4ba82a8cbacf" - uid bc4f1f64acf0ff18f7eab7748e1844260c6530fc resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -4378,10 +4376,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A== -devtools-protocol@0.0.1019158: - version "0.0.1019158" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz#4b08d06108a784a2134313149626ba55f030a86f" - integrity sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ== +devtools-protocol@0.0.1036444: + version "0.0.1036444" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz#a570d3cdde61527c82f9b03919847b8ac7b1c2b9" + integrity sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw== dezalgo@^1.0.0: version "1.0.4" @@ -9222,14 +9220,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.0.0.tgz#85fea801a7b8b8c9e2913b1491e98c867be49a6b" - integrity sha512-T2rdzlPxnPezF218kywFP3O+0YI5/8Kl8riNUicGb+KuMyDTrqRjhSOSDp6coQ1T4QYPBARTFp4EMBepMOzAQA== +puppeteer@17.1.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.1.0.tgz#27dfc629092a5ac1b6f6c30ec200c4147af2847c" + integrity sha512-cPBHruFaUGNTekw0I8P6vBY4sV9gFyh3WjDDv0UzlwSSRQVSl+igcuPVqa7NKDjKccki9X1nVn6HalIqBoJz6g== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.1019158" + devtools-protocol "0.0.1036444" extract-zip "2.0.1" https-proxy-agent "5.0.1" progress "2.0.3" @@ -9811,7 +9809,6 @@ sass@^1.49.9: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": version "0.0.0" - uid e5d7f82ad98251a653d1b0537f1103e49eda5e11 resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" saucelabs@^1.5.0: From 34479475ada318e658654ff53cf5a2884c929292 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 5 Sep 2022 09:32:22 +0000 Subject: [PATCH 0848/1388] refactor: remove Ivy checks This checks are no longer needed as `enableIvy` option is now meaningless to the compiler --- .../browser-esbuild/compiler-plugin.ts | 1 - .../src/webpack/plugins/typescript.ts | 19 ------------------- packages/ngtools/webpack/src/ivy/plugin.ts | 1 - 3 files changed, 21 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 30b5e829ada5..434c377b6c36 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -166,7 +166,6 @@ export function createCompilerPlugin( rootNames, errors: configurationDiagnostics, } = compilerCli.readConfiguration(pluginOptions.tsconfig, { - enableIvy: true, noEmitOnError: false, suppressOutputPathCheck: true, outDir: undefined, diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index eb3c9b872bfd..6336acc3bbad 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -11,30 +11,11 @@ import { AngularWebpackPlugin } from '@ngtools/webpack'; import { ScriptTarget } from 'typescript'; import { WebpackConfigOptions } from '../../utils/build-options'; -function ensureIvy(wco: WebpackConfigOptions): void { - if (wco.tsConfig.options.enableIvy !== false) { - return; - } - - wco.logger.warn( - 'Project is attempting to disable the Ivy compiler. ' + - 'Angular versions 12 and higher do not support the deprecated View Engine compiler for applications. ' + - 'The Ivy compiler will be used to build this project. ' + - '\nFor additional information or if the build fails, please see https://angular.io/guide/ivy', - ); - - wco.tsConfig.options.enableIvy = true; -} - export function createIvyPlugin( wco: WebpackConfigOptions, aot: boolean, tsconfig: string, ): AngularWebpackPlugin { - if (aot) { - ensureIvy(wco); - } - const { buildOptions } = wco; const optimize = buildOptions.optimization.scripts; diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index a782f7409d6b..fcb132ff0fec 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -454,7 +454,6 @@ export class AngularWebpackPlugin { this.pluginOptions.tsconfig, this.pluginOptions.compilerOptions, ); - compilerOptions.enableIvy = true; compilerOptions.noEmitOnError = false; compilerOptions.suppressOutputPathCheck = true; compilerOptions.outDir = undefined; From 3b1f109a33984d532ced1a8867c8c65588c5aaba Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 6 Sep 2022 16:14:15 +0000 Subject: [PATCH 0849/1388] fix(@angular-devkit/build-angular): change service worker errors to compilation errors Previously, when there was an error during a build that had service workers enabled, the dev-server crashed as the promise was rejected instead of emitting a compilation error. With this change we update the logic so that any errors during the SW augmentation phase are changed to a compilation error and also update the logic so that when there are compilation errors we don't try to generate a SW. --- .../webpack/plugins/service-worker-plugin.ts | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts index 8d556ae7e365..a42a6fa89db9 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/service-worker-plugin.ts @@ -20,8 +20,15 @@ export class ServiceWorkerPlugin { constructor(private readonly options: ServiceWorkerPluginOptions) {} apply(compiler: Compiler) { - compiler.hooks.done.tapPromise('angular-service-worker', async ({ compilation }) => { + compiler.hooks.done.tapPromise('angular-service-worker', async (stats) => { + if (stats.hasErrors()) { + // Don't generate a service worker if the compilation has errors. + // When there are errors some files will not be emitted which would cause other errors down the line such as readdir failures. + return; + } + const { projectRoot, root, baseHref = '', ngswConfigPath } = this.options; + const { compilation } = stats; // We use the output path from the compilation instead of build options since during // localization the output path is modified to a temp directory. // See: https://github.com/angular/angular-cli/blob/7e64b1537d54fadb650559214fbb12707324cd75/packages/angular_devkit/build_angular/src/utils/i18n-options.ts#L251-L252 @@ -31,17 +38,25 @@ export class ServiceWorkerPlugin { throw new Error('Compilation output path cannot be empty.'); } - await augmentAppWithServiceWorker( - projectRoot, - root, - outputPath, - baseHref, - ngswConfigPath, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (compiler.inputFileSystem as any).promises, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (compiler.outputFileSystem as any).promises, - ); + try { + await augmentAppWithServiceWorker( + projectRoot, + root, + outputPath, + baseHref, + ngswConfigPath, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (compiler.inputFileSystem as any).promises, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (compiler.outputFileSystem as any).promises, + ); + } catch (error) { + compilation.errors.push( + new compilation.compiler.webpack.WebpackError( + `Failed to generate service worker - ${error instanceof Error ? error.message : error}`, + ), + ); + } }); } } From d0984148a532002bec620e07210e6afbfd4f1ef1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 6 Sep 2022 12:57:08 +0000 Subject: [PATCH 0850/1388] refactor(@schematics/angular): consolidate `addDeclarationToNgModule` logic This commits extracts all `addDeclarationToNgModule` logic into a common util which is re-used across a number of schematics. --- .../schematics/angular/component/index.ts | 78 +++---------------- .../schematics/angular/directive/index.ts | 71 +++-------------- packages/schematics/angular/module/index.ts | 4 +- packages/schematics/angular/pipe/index.ts | 69 +++------------- .../utility/add-declaration-to-ng-module.ts | 61 +++++++++++++++ 5 files changed, 92 insertions(+), 191 deletions(-) create mode 100644 packages/schematics/angular/utility/add-declaration-to-ng-module.ts diff --git a/packages/schematics/angular/component/index.ts b/packages/schematics/angular/component/index.ts index 84f0e86431f1..638e108deaf2 100644 --- a/packages/schematics/angular/component/index.ts +++ b/packages/schematics/angular/component/index.ts @@ -22,79 +22,13 @@ import { strings, url, } from '@angular-devkit/schematics'; -import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; -import { addDeclarationToModule, addExportToModule } from '../utility/ast-utils'; -import { InsertChange } from '../utility/change'; -import { buildRelativePath, findModuleFromOptions } from '../utility/find-module'; +import { addDeclarationToNgModule } from '../utility/add-declaration-to-ng-module'; +import { findModuleFromOptions } from '../utility/find-module'; import { parseName } from '../utility/parse-name'; import { validateHtmlSelector } from '../utility/validation'; import { buildDefaultPath, getWorkspace } from '../utility/workspace'; import { Schema as ComponentOptions, Style } from './schema'; -function readIntoSourceFile(host: Tree, modulePath: string): ts.SourceFile { - const sourceText = host.readText(modulePath); - - return ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); -} - -function addDeclarationToNgModule(options: ComponentOptions): Rule { - return (host: Tree) => { - if (options.skipImport || options.standalone || !options.module) { - return host; - } - - options.type = options.type != null ? options.type : 'Component'; - - const modulePath = options.module; - const source = readIntoSourceFile(host, modulePath); - - const componentPath = - `/${options.path}/` + - (options.flat ? '' : strings.dasherize(options.name) + '/') + - strings.dasherize(options.name) + - (options.type ? '.' : '') + - strings.dasherize(options.type); - const relativePath = buildRelativePath(modulePath, componentPath); - const classifiedName = strings.classify(options.name) + strings.classify(options.type); - const declarationChanges = addDeclarationToModule( - source, - modulePath, - classifiedName, - relativePath, - ); - - const declarationRecorder = host.beginUpdate(modulePath); - for (const change of declarationChanges) { - if (change instanceof InsertChange) { - declarationRecorder.insertLeft(change.pos, change.toAdd); - } - } - host.commitUpdate(declarationRecorder); - - if (options.export) { - // Need to refresh the AST because we overwrote the file in the host. - const source = readIntoSourceFile(host, modulePath); - - const exportRecorder = host.beginUpdate(modulePath); - const exportChanges = addExportToModule( - source, - modulePath, - strings.classify(options.name) + strings.classify(options.type), - relativePath, - ); - - for (const change of exportChanges) { - if (change instanceof InsertChange) { - exportRecorder.insertLeft(change.pos, change.toAdd); - } - } - host.commitUpdate(exportRecorder); - } - - return host; - }; -} - function buildSelector(options: ComponentOptions, projectPrefix: string) { let selector = strings.dasherize(options.name); if (options.prefix) { @@ -152,6 +86,12 @@ export default function (options: ComponentOptions): Rule { move(parsedPath.path), ]); - return chain([addDeclarationToNgModule(options), mergeWith(templateSource)]); + return chain([ + addDeclarationToNgModule({ + type: 'component', + ...options, + }), + mergeWith(templateSource), + ]); }; } diff --git a/packages/schematics/angular/directive/index.ts b/packages/schematics/angular/directive/index.ts index 429fc59e31b5..1aa513ef50b5 100644 --- a/packages/schematics/angular/directive/index.ts +++ b/packages/schematics/angular/directive/index.ts @@ -20,71 +20,13 @@ import { strings, url, } from '@angular-devkit/schematics'; -import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; -import { addDeclarationToModule, addExportToModule } from '../utility/ast-utils'; -import { InsertChange } from '../utility/change'; -import { buildRelativePath, findModuleFromOptions } from '../utility/find-module'; +import { addDeclarationToNgModule } from '../utility/add-declaration-to-ng-module'; +import { findModuleFromOptions } from '../utility/find-module'; import { parseName } from '../utility/parse-name'; import { validateHtmlSelector } from '../utility/validation'; import { buildDefaultPath, getWorkspace } from '../utility/workspace'; import { Schema as DirectiveOptions } from './schema'; -function addDeclarationToNgModule(options: DirectiveOptions): Rule { - return (host: Tree) => { - if (options.skipImport || options.standalone || !options.module) { - return host; - } - - const modulePath = options.module; - const sourceText = host.readText(modulePath); - const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); - - const directivePath = - `/${options.path}/` + - (options.flat ? '' : strings.dasherize(options.name) + '/') + - strings.dasherize(options.name) + - '.directive'; - const relativePath = buildRelativePath(modulePath, directivePath); - const classifiedName = strings.classify(`${options.name}Directive`); - const declarationChanges = addDeclarationToModule( - source, - modulePath, - classifiedName, - relativePath, - ); - const declarationRecorder = host.beginUpdate(modulePath); - for (const change of declarationChanges) { - if (change instanceof InsertChange) { - declarationRecorder.insertLeft(change.pos, change.toAdd); - } - } - host.commitUpdate(declarationRecorder); - - if (options.export) { - // Need to refresh the AST because we overwrote the file in the host. - const sourceText = host.readText(modulePath); - const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); - - const exportRecorder = host.beginUpdate(modulePath); - const exportChanges = addExportToModule( - source, - modulePath, - strings.classify(`${options.name}Directive`), - relativePath, - ); - - for (const change of exportChanges) { - if (change instanceof InsertChange) { - exportRecorder.insertLeft(change.pos, change.toAdd); - } - } - host.commitUpdate(exportRecorder); - } - - return host; - }; -} - function buildSelector(options: DirectiveOptions, projectPrefix: string) { let selector = options.name; if (options.prefix) { @@ -127,6 +69,13 @@ export default function (options: DirectiveOptions): Rule { move(parsedPath.path), ]); - return chain([addDeclarationToNgModule(options), mergeWith(templateSource)]); + return chain([ + addDeclarationToNgModule({ + type: 'directive', + + ...options, + }), + mergeWith(templateSource), + ]); }; } diff --git a/packages/schematics/angular/module/index.ts b/packages/schematics/angular/module/index.ts index 808ba8201d62..7fd1edf6ae61 100644 --- a/packages/schematics/angular/module/index.ts +++ b/packages/schematics/angular/module/index.ts @@ -47,7 +47,7 @@ function buildRelativeModulePath(options: ModuleOptions, modulePath: string): st return buildRelativePath(modulePath, importModulePath); } -function addDeclarationToNgModule(options: ModuleOptions): Rule { +function addImportToNgModule(options: ModuleOptions): Rule { return (host: Tree) => { if (!options.module) { return host; @@ -179,7 +179,7 @@ export default function (options: ModuleOptions): Rule { }; return chain([ - !isLazyLoadedModuleGen ? addDeclarationToNgModule(options) : noop(), + !isLazyLoadedModuleGen ? addImportToNgModule(options) : noop(), addRouteDeclarationToNgModule(options, routingModulePath), mergeWith(templateSource), isLazyLoadedModuleGen ? schematic('component', componentOptions) : noop(), diff --git a/packages/schematics/angular/pipe/index.ts b/packages/schematics/angular/pipe/index.ts index d7ca4a153c03..d13634ecd642 100644 --- a/packages/schematics/angular/pipe/index.ts +++ b/packages/schematics/angular/pipe/index.ts @@ -19,69 +19,13 @@ import { strings, url, } from '@angular-devkit/schematics'; -import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; -import { addDeclarationToModule, addExportToModule } from '../utility/ast-utils'; -import { InsertChange } from '../utility/change'; -import { buildRelativePath, findModuleFromOptions } from '../utility/find-module'; +import { addDeclarationToNgModule } from '../utility/add-declaration-to-ng-module'; +import { findModuleFromOptions } from '../utility/find-module'; import { parseName } from '../utility/parse-name'; import { validateClassName } from '../utility/validation'; import { createDefaultPath } from '../utility/workspace'; import { Schema as PipeOptions } from './schema'; -function addDeclarationToNgModule(options: PipeOptions): Rule { - return (host: Tree) => { - if (options.skipImport || options.standalone || !options.module) { - return host; - } - - const modulePath = options.module; - const sourceText = host.readText(modulePath); - const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); - - const pipePath = - `/${options.path}/` + - (options.flat ? '' : strings.dasherize(options.name) + '/') + - strings.dasherize(options.name) + - '.pipe'; - const relativePath = buildRelativePath(modulePath, pipePath); - const changes = addDeclarationToModule( - source, - modulePath, - strings.classify(`${options.name}Pipe`), - relativePath, - ); - const recorder = host.beginUpdate(modulePath); - for (const change of changes) { - if (change instanceof InsertChange) { - recorder.insertLeft(change.pos, change.toAdd); - } - } - host.commitUpdate(recorder); - - if (options.export) { - const sourceText = host.readText(modulePath); - const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); - - const exportRecorder = host.beginUpdate(modulePath); - const exportChanges = addExportToModule( - source, - modulePath, - strings.classify(`${options.name}Pipe`), - relativePath, - ); - - for (const change of exportChanges) { - if (change instanceof InsertChange) { - exportRecorder.insertLeft(change.pos, change.toAdd); - } - } - host.commitUpdate(exportRecorder); - } - - return host; - }; -} - export default function (options: PipeOptions): Rule { return async (host: Tree) => { options.path ??= await createDefaultPath(host, options.project as string); @@ -102,6 +46,13 @@ export default function (options: PipeOptions): Rule { move(parsedPath.path), ]); - return chain([addDeclarationToNgModule(options), mergeWith(templateSource)]); + return chain([ + addDeclarationToNgModule({ + type: 'pipe', + + ...options, + }), + mergeWith(templateSource), + ]); }; } diff --git a/packages/schematics/angular/utility/add-declaration-to-ng-module.ts b/packages/schematics/angular/utility/add-declaration-to-ng-module.ts new file mode 100644 index 000000000000..a87b0cd4d248 --- /dev/null +++ b/packages/schematics/angular/utility/add-declaration-to-ng-module.ts @@ -0,0 +1,61 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule, Tree, strings } from '@angular-devkit/schematics'; +import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; +import { addDeclarationToModule, addSymbolToNgModuleMetadata } from './ast-utils'; +import { InsertChange } from './change'; +import { buildRelativePath } from './find-module'; + +export interface DeclarationToNgModuleOptions { + module?: string; + path?: string; + name: string; + flat?: boolean; + export?: boolean; + type: string; + skipImport?: boolean; + standalone?: boolean; +} + +export function addDeclarationToNgModule(options: DeclarationToNgModuleOptions): Rule { + return (host: Tree) => { + const modulePath = options.module; + if (options.skipImport || options.standalone || !modulePath) { + return host; + } + + const sourceText = host.readText(modulePath); + const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); + + const filePath = + `/${options.path}/` + + (options.flat ? '' : strings.dasherize(options.name) + '/') + + strings.dasherize(options.name) + + (options.type ? '.' : '') + + strings.dasherize(options.type); + + const importPath = buildRelativePath(modulePath, filePath); + const classifiedName = strings.classify(options.name) + strings.classify(options.type); + const changes = addDeclarationToModule(source, modulePath, classifiedName, importPath); + + if (options.export) { + changes.push(...addSymbolToNgModuleMetadata(source, modulePath, 'exports', classifiedName)); + } + + const recorder = host.beginUpdate(modulePath); + for (const change of changes) { + if (change instanceof InsertChange) { + recorder.insertLeft(change.pos, change.toAdd); + } + } + host.commitUpdate(recorder); + + return host; + }; +} From f0126429aa00941b55b0aa9d5a0380e010584bd9 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 6 Sep 2022 21:05:25 +0000 Subject: [PATCH 0851/1388] build: update angular to 9b9c2f0 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 14 ++++---- 6 files changed, 30 insertions(+), 28 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 791a40fc0482..6fe57cbb40ae 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@3238f034456be0ac0fbc94a3333b4ba82a8cbacf + - uses: angular/dev-infra/github-actions/commit-message-based-labels@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@3238f034456be0ac0fbc94a3333b4ba82a8cbacf + - uses: angular/dev-infra/github-actions/post-approval-changes@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 453d439f711c..4bdae4d409e7 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@3238f034456be0ac0fbc94a3333b4ba82a8cbacf + - uses: angular/dev-infra/github-actions/feature-request@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 0cac686b652c..8097740221c4 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@3238f034456be0ac0fbc94a3333b4ba82a8cbacf + - uses: angular/dev-infra/github-actions/lock-closed@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 474f340ce998..3422f9d1cdb0 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd", "@angular/cdk": "14.2.0", "@angular/common": "15.0.0-next.0", "@angular/compiler": "15.0.0-next.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.0", "@angular/localize": "15.0.0-next.0", "@angular/material": "14.2.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8", "@angular/platform-browser": "15.0.0-next.0", "@angular/platform-browser-dynamic": "15.0.0-next.0", "@angular/platform-server": "15.0.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 9a532f736776..881241898d71 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7977a8db714ddb930368ac6733f3de0ba2391fae", - "@angular/cdk": "github:angular/cdk-builds#27ada72655c0fa16421e1229c7e7b2639b0bb974", - "@angular/common": "github:angular/common-builds#d2ef3b6cae7771aab6588043358071a29b30f188", - "@angular/compiler": "github:angular/compiler-builds#432024e94fa79f5d3d1b77ea5a7790c5ab7d157d", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#4c1e2a5f7c52fed90895f313b836b80eed105124", - "@angular/core": "github:angular/core-builds#27d2f5fcae47963b780698b6f7919585bc5d39e2", - "@angular/forms": "github:angular/forms-builds#42664df41908348245db2a9036559945e9e6c969", - "@angular/language-service": "github:angular/language-service-builds#9c24137691cee3a5c1778104ed31b13e8025b4f9", - "@angular/localize": "github:angular/localize-builds#c992a9478395c34fb4deb6817a60e5d1ddc1b24f", - "@angular/material": "github:angular/material-builds#d9c29d671ab4f96bafca035550c31d5784bc36c6", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#85045af47c0fb03bbf5284b4c8f8e7e77db5afb2", - "@angular/platform-browser": "github:angular/platform-browser-builds#cbe5dabdc2b7d3d19e8e6f56173025139819950d", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0d60f7bc8ef181773f95c5e505c3db12fd325233", - "@angular/platform-server": "github:angular/platform-server-builds#fe11822e9b6718288287905d409040619367bc51", - "@angular/router": "github:angular/router-builds#eb7b58cdfdc4789d685dd061d1bcb5d0a5ba74db", - "@angular/service-worker": "github:angular/service-worker-builds#2c111d931e43bd390e5f04d8eebb323833dd6852" + "@angular/animations": "github:angular/animations-builds#9b9c2f0b6d2438c8895ec7ea9faf581e7a805d15", + "@angular/cdk": "github:angular/cdk-builds#8dc488ad8afa47a63257ea2630cf66ada4e4820d", + "@angular/common": "github:angular/common-builds#aa3028b3d6a065947d3915cd3f4398c380f3cbd0", + "@angular/compiler": "github:angular/compiler-builds#04cf9cbd3eb3f60a41f6b270229323dc0e41bf98", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#b9dc0d6eff1976e39863348ba6a7e756c4895e97", + "@angular/core": "github:angular/core-builds#f88ba2d777e446939d139482b69f6fc8d5a1850a", + "@angular/forms": "github:angular/forms-builds#2b2c48fe7055bbe3009ef375256a171abf9f577b", + "@angular/language-service": "github:angular/language-service-builds#a6401cdbfc959e35f58e4bcf9b440dad0c64de65", + "@angular/localize": "github:angular/localize-builds#399f65ad1dd2db63cc86a09a53e7496df0d2603c", + "@angular/material": "github:angular/material-builds#89af47116ffea63d52c645ca931440c79516e2e7", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e062a151e8126dd6a7b0670b5f75bbab93fc2b12", + "@angular/platform-browser": "github:angular/platform-browser-builds#f3af636d52a4efb50b9f7c166b2d7d8bcc752fe2", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#39201c1cf514d3e447d5e2fc667dbc2cb33cdd1c", + "@angular/platform-server": "github:angular/platform-server-builds#a623b7911dc0152a0aa87276d6b197bddf449625", + "@angular/router": "github:angular/router-builds#b91f839ef75840e544c41b0b0ce259b7fa365a69", + "@angular/service-worker": "github:angular/service-worker-builds#6bec8a5dbbe3fc6e56af0c420cc5495ea2d076f5" } } diff --git a/yarn.lock b/yarn.lock index 4885d1a3db69..5c58b9de2f6f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,9 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae": - version "0.0.0-3238f034456be0ac0fbc94a3333b4ba82a8cbacf" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1ef843fcf4880c4881a2db7f925c10fa860002ae" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd": + version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923" + uid f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" "@angular/benchpress" "0.3.0" @@ -240,9 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc": - version "0.0.0-3238f034456be0ac0fbc94a3333b4ba82a8cbacf" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bc4f1f64acf0ff18f7eab7748e1844260c6530fc" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8": + version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923" + uid "20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From b3811cb379414cba5db50bf1697b0341fdcbbcf9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 7 Sep 2022 19:46:37 +0200 Subject: [PATCH 0852/1388] test: delete firebase resolution tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We have more generic tests that cover path mappings. Also, currently these are failing as we use a very old firebase version which doesn’t compile anymore. https://app.circleci.com/pipelines/github/angular/angular-cli/25915/workflows/efa3cfcf-b609-43bd-a307-ee2997f05088/jobs/340445/parallel-runs/3/steps/3-105 --- .../module-resolution-firebase.ts | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts diff --git a/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts b/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts deleted file mode 100644 index 329ad2ef6e6a..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/module-resolution/module-resolution-firebase.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { appendToFile, prependToFile } from '../../../utils/fs'; -import { installPackage } from '../../../utils/packages'; -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; -import { expectToFail } from '../../../utils/utils'; - -export default async function () { - await updateJsonFile('tsconfig.json', (tsconfig) => { - delete tsconfig.compilerOptions.paths; - }); - - await prependToFile('src/app/app.module.ts', "import * as firebase from 'firebase';"); - await appendToFile('src/app/app.module.ts', 'firebase.initializeApp({});'); - - await installPackage('firebase@4.9.0'); - await ng('build', '--aot', '--configuration=development'); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = {}; - }); - - await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@app/*': ['*'], - '@lib/*/test': ['*/test'], - }; - }); - - await ng('build', '--configuration=development'); - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@firebase/polyfill': ['./node_modules/@firebase/polyfill/index.ts'], - }; - }); - - await expectToFail(() => ng('build', '--configuration=development')); - - await updateJsonFile('tsconfig.json', (tsconfig) => { - tsconfig.compilerOptions.paths = { - '@firebase/polyfill*': ['./node_modules/@firebase/polyfill/index.ts'], - }; - }); - await expectToFail(() => ng('build', '--configuration=development')); -} From a1e2870337d59ad225e39ea15bde6578000ca666 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 8 Sep 2022 05:04:44 +0000 Subject: [PATCH 0853/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 34 +- .../angular_devkit/build_angular/package.json | 20 +- .../schematic/files/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 543 ++++++++---------- 6 files changed, 287 insertions(+), 320 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 041f6aaa16d7..424317f247a9 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -7,10 +7,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "bazel_skylib", - sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728", + sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz", ], ) diff --git a/package.json b/package.json index 3422f9d1cdb0..c45d8cac2556 100644 --- a/package.json +++ b/package.json @@ -81,14 +81,14 @@ "@angular/platform-server": "15.0.0-next.0", "@angular/router": "15.0.0-next.0", "@angular/service-worker": "15.0.0-next.0", - "@babel/core": "7.18.13", - "@babel/generator": "7.18.13", + "@babel/core": "7.19.0", + "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.10", + "@babel/plugin-proposal-async-generator-functions": "7.19.0", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.18.10", - "@babel/preset-env": "7.18.10", - "@babel/runtime": "7.18.9", + "@babel/preset-env": "7.19.0", + "@babel/runtime": "7.19.0", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", @@ -108,7 +108,7 @@ "@types/jasmine": "~4.3.0", "@types/karma": "^6.3.0", "@types/loader-utils": "^2.0.0", - "@types/minimatch": "5.1.1", + "@types/minimatch": "5.1.2", "@types/node": "^14.15.0", "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.36.0", - "@typescript-eslint/parser": "5.36.0", + "@typescript-eslint/eslint-plugin": "5.36.2", + "@typescript-eslint/parser": "5.36.2", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.6", - "esbuild-wasm": "0.15.6", + "esbuild": "0.15.7", + "esbuild-wasm": "0.15.7", "eslint": "8.23.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -155,7 +155,7 @@ "ini": "3.0.1", "inquirer": "8.2.4", "jasmine": "^4.0.0", - "jasmine-core": "~4.3.0", + "jasmine-core": "~4.4.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", "jsonc-parser": "3.2.0", @@ -173,7 +173,7 @@ "magic-string": "0.26.3", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "15.0.0-next.0", + "ng-packagr": "15.0.0-next.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", @@ -188,15 +188,15 @@ "postcss": "8.4.16", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", - "postcss-preset-env": "7.8.0", + "postcss-preset-env": "7.8.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "17.1.0", + "puppeteer": "17.1.2", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.6", + "sass": "1.54.9", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", "semver": "7.3.7", @@ -215,11 +215,11 @@ "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "4.8.2", - "verdaccio": "5.14.0", + "verdaccio": "5.15.3", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.10.1", + "webpack-dev-server": "4.11.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2cea414249c2..dbe877a966d2 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.18.13", - "@babel/generator": "7.18.13", + "@babel/core": "7.19.0", + "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.10", + "@babel/plugin-proposal-async-generator-functions": "7.19.0", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.18.10", - "@babel/preset-env": "7.18.10", - "@babel/runtime": "7.18.9", + "@babel/preset-env": "7.19.0", + "@babel/runtime": "7.19.0", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -29,7 +29,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.6", + "esbuild-wasm": "0.15.7", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -48,11 +48,11 @@ "postcss": "8.4.16", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", - "postcss-preset-env": "7.8.0", + "postcss-preset-env": "7.8.1", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.6", + "sass": "1.54.9", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", @@ -65,12 +65,12 @@ "tslib": "2.4.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.10.1", + "webpack-dev-server": "4.11.0", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.6" + "esbuild": "0.15.7" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 30d41b70cb6e..cf003fbc0e46 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -20,6 +20,6 @@ "devDependencies": { "@types/node": "^14.15.0", "@types/jasmine": "~4.3.0", - "jasmine": "~4.3.0" + "jasmine": "~4.4.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index cc6e09068fc0..715b86d72621 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -5,7 +5,7 @@ "dependencies": { "@types/jasmine": "~4.3.0", "@types/node": "^14.15.0", - "jasmine-core": "~4.3.0", + "jasmine-core": "~4.4.0", "jasmine-spec-reporter": "~7.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", diff --git a/yarn.lock b/yarn.lock index 5c58b9de2f6f..d144153466d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -324,27 +324,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" - integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.13" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.13" - "@babel/types" "^7.18.13" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -366,7 +345,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.19.0", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== @@ -396,16 +375,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" - integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== - dependencies: - "@babel/types" "^7.18.13" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.18.10", "@babel/generator@^7.18.13", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": +"@babel/generator@7.19.0", "@babel/generator@^7.18.10", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== @@ -624,7 +594,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== @@ -655,7 +625,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@^7.18.10": +"@babel/plugin-proposal-async-generator-functions@7.19.0", "@babel/plugin-proposal-async-generator-functions@^7.18.10", "@babel/plugin-proposal-async-generator-functions@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== @@ -919,7 +889,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.18.9": +"@babel/plugin-transform-classes@^7.18.9", "@babel/plugin-transform-classes@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== @@ -941,7 +911,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.9": +"@babel/plugin-transform-destructuring@^7.18.13", "@babel/plugin-transform-destructuring@^7.18.9": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== @@ -1020,7 +990,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.9": +"@babel/plugin-transform-modules-systemjs@^7.18.9", "@babel/plugin-transform-modules-systemjs@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== @@ -1039,7 +1009,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": +"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada" integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== @@ -1110,7 +1080,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.18.9": +"@babel/plugin-transform-spread@^7.18.9", "@babel/plugin-transform-spread@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== @@ -1235,6 +1205,87 @@ core-js-compat "^3.22.1" semver "^6.3.0" +"@babel/preset-env@7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" + integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== + dependencies: + "@babel/compat-data" "^7.19.0" + "@babel/helper-compilation-targets" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.19.0" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@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.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.18.6" + "@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" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.19.0" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.13" + "@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.18.8" + "@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.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.0" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@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/preset-modules" "^0.1.5" + "@babel/types" "^7.19.0" + babel-plugin-polyfill-corejs2 "^0.3.2" + babel-plugin-polyfill-corejs3 "^0.5.3" + babel-plugin-polyfill-regenerator "^0.4.0" + core-js-compat "^3.22.1" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1253,7 +1304,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.8.4": +"@babel/runtime@7.19.0", "@babel/runtime@^7.8.4": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== @@ -1269,7 +1320,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": +"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== @@ -1285,7 +1336,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== @@ -1383,6 +1434,14 @@ "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" +"@csstools/postcss-cascade-layers@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.6.tgz#a52da13b91fc184a52337b4e938c3d3188e537b0" + integrity sha512-ei4Vh4AJwTCXTNj7uzwduoZDO7nLPksQ0TI7OzUlyFq4P4Uhu6hU7R4AlLimDP/s6D3PQdHmRL4f7UOy370UHA== + dependencies: + "@csstools/selector-specificity" "^2.0.2" + postcss-selector-parser "^6.0.10" + "@csstools/postcss-color-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" @@ -1491,11 +1550,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz#91aef76d332cdc7c8942b600fa2307f3387e6f82" integrity sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A== -"@esbuild/linux-loong64@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.6.tgz#45be4184f00e505411bc265a05e709764114acd8" - integrity sha512-hqmVU2mUjH6J2ZivHphJ/Pdse2ZD+uGCHK0uvsiLDk/JnSedEVj77CiVUnbMKuU4tih1TZZL8tG9DExQg/GZsw== - "@esbuild/linux-loong64@0.15.7": version "0.15.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" @@ -1934,10 +1988,10 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^13.1.3": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c" - integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw== +"@rollup/plugin-node-resolve@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-14.0.0.tgz#373c1a00e7fb3e2a7d2ee109c5b03a5e608f3b8f" + integrity sha512-XkWfpgp/zGiFu8LS+JAiQeZN4oYYA4/ViFJiZhwQegTg5ZbzKTvM9YyKXVBNnmZ8Et76WnlVgwRUu1rhKF4ayw== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -2271,16 +2325,11 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*": +"@types/minimatch@*", "@types/minimatch@5.1.2": version "5.1.2" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/minimatch@5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.1.tgz#b1429c0c016cd50e105f3166bf179f6918b7365f" - integrity sha512-v55NF6Dz0wrj14Rn8iEABTWrhYRmgkJYuokduunSiq++t3hZ9VZ6dvcDt+850Pm5sGJZk8RaHzkFCXPxVINZ+g== - "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" @@ -2579,14 +2628,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.0.tgz#8f159c4cdb3084eb5d4b72619a2ded942aa109e5" - integrity sha512-X3In41twSDnYRES7hO2xna4ZC02SY05UN9sGW//eL1P5k4CKfvddsdC2hOq0O3+WU1wkCPQkiTY9mzSnXKkA0w== +"@typescript-eslint/eslint-plugin@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" + integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== dependencies: - "@typescript-eslint/scope-manager" "5.36.0" - "@typescript-eslint/type-utils" "5.36.0" - "@typescript-eslint/utils" "5.36.0" + "@typescript-eslint/scope-manager" "5.36.2" + "@typescript-eslint/type-utils" "5.36.2" + "@typescript-eslint/utils" "5.36.2" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2594,70 +2643,70 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.0.tgz#c08883073fb65acaafd268a987fd2314ce80c789" - integrity sha512-dlBZj7EGB44XML8KTng4QM0tvjI8swDh8MdpE5NX5iHWgWEfIuqSfSE+GPeCrCdj7m4tQLuevytd57jNDXJ2ZA== +"@typescript-eslint/parser@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" + integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== dependencies: - "@typescript-eslint/scope-manager" "5.36.0" - "@typescript-eslint/types" "5.36.0" - "@typescript-eslint/typescript-estree" "5.36.0" + "@typescript-eslint/scope-manager" "5.36.2" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/typescript-estree" "5.36.2" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.0.tgz#f4f859913add160318c0a5daccd3a030d1311530" - integrity sha512-PZUC9sz0uCzRiuzbkh6BTec7FqgwXW03isumFVkuPw/Ug/6nbAqPUZaRy4w99WCOUuJTjhn3tMjsM94NtEj64g== +"@typescript-eslint/scope-manager@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" + integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== dependencies: - "@typescript-eslint/types" "5.36.0" - "@typescript-eslint/visitor-keys" "5.36.0" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/type-utils@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.0.tgz#5d2f94a36a298ae240ceca54b3bc230be9a99f0a" - integrity sha512-W/E3yJFqRYsjPljJ2gy0YkoqLJyViWs2DC6xHkXcWyhkIbCDdaVnl7mPLeQphVI+dXtY05EcXFzWLXhq8Mm/lQ== +"@typescript-eslint/type-utils@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" + integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== dependencies: - "@typescript-eslint/typescript-estree" "5.36.0" - "@typescript-eslint/utils" "5.36.0" + "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/utils" "5.36.2" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.0.tgz#cde7b94d1c09a4f074f46db99e7bd929fb0a5559" - integrity sha512-3JJuLL1r3ljRpFdRPeOtgi14Vmpx+2JcR6gryeORmW3gPBY7R1jNYoq4yBN1L//ONZjMlbJ7SCIwugOStucYiQ== +"@typescript-eslint/types@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" + integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== -"@typescript-eslint/typescript-estree@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.0.tgz#0acce61b4850bdb0e578f0884402726680608789" - integrity sha512-EW9wxi76delg/FS9+WV+fkPdwygYzRrzEucdqFVWXMQWPOjFy39mmNNEmxuO2jZHXzSQTXzhxiU1oH60AbIw9A== +"@typescript-eslint/typescript-estree@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" + integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== dependencies: - "@typescript-eslint/types" "5.36.0" - "@typescript-eslint/visitor-keys" "5.36.0" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/visitor-keys" "5.36.2" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.0.tgz#104c864ecc1448417606359275368bf3872bbabb" - integrity sha512-wAlNhXXYvAAUBbRmoJDywF/j2fhGLBP4gnreFvYvFbtlsmhMJ4qCKVh/Z8OP4SgGR3xbciX2nmG639JX0uw1OQ== +"@typescript-eslint/utils@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" + integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.36.0" - "@typescript-eslint/types" "5.36.0" - "@typescript-eslint/typescript-estree" "5.36.0" + "@typescript-eslint/scope-manager" "5.36.2" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/typescript-estree" "5.36.2" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.36.0": - version "5.36.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.0.tgz#565d35a5ca00d00a406a942397ead2cb190663ba" - integrity sha512-pdqSJwGKueOrpjYIex0T39xarDt1dn4p7XJ+6FqBWugNQwXlNGC5h62qayAIYZ/RPPtD+ButDWmpXT1eGtiaYg== +"@typescript-eslint/visitor-keys@5.36.2": + version "5.36.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" + integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== dependencies: - "@typescript-eslint/types" "5.36.0" + "@typescript-eslint/types" "5.36.2" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -2703,10 +2752,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.25": - version "6.0.0-6-next.25" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.25.tgz#cbdd27c2455882b8e5e7a66596938887476bb2bd" - integrity sha512-zN+72MBsRLzpAzH7NWLQlWEM3k+L+k2Mt08foySELQtN+a2UFHlqkJWDnX7mQNcOiml8eV+ukPUt7wQNn+ziXw== +"@verdaccio/ui-theme@6.0.0-6-next.28": + version "6.0.0-6-next.28" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.28.tgz#bf8ff0e90f3d292741440c7e6ab6744b97d96a98" + integrity sha512-1sJ28aVGMiRJrSz0e8f4t+IUgt/cyYmuDLhogXHOEjEIIEcfMNyQ5bVYqq03wLVoKWEh5D6gHo1hQnVKQl1L5g== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -4164,7 +4213,7 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -cssdb@^7.0.0: +cssdb@^7.0.0, cssdb@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617" integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw== @@ -4230,10 +4279,10 @@ date-format@^4.0.13: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.13.tgz#87c3aab3a4f6f37582c5f5f63692d2956fa67890" integrity sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ== -dayjs@1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.3.tgz#4754eb694a624057b9ad2224b67b15d552589258" - integrity sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A== +dayjs@1.11.5: + version "1.11.5" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" + integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -4763,11 +4812,6 @@ esbuild-android-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== -esbuild-android-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.6.tgz#baaed943ca510c2ad546e116728132e76d1d2044" - integrity sha512-Z1CHSgB1crVQi2LKSBwSkpaGtaloVz0ZIYcRMsvHc3uSXcR/x5/bv9wcZspvH/25lIGTaViosciS/NS09ERmVA== - esbuild-android-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" @@ -4778,11 +4822,6 @@ esbuild-android-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== -esbuild-android-arm64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.6.tgz#1c33c73d4c074969e014e31958116460c8e75a7a" - integrity sha512-mvM+gqNxqKm2pCa3dnjdRzl7gIowuc4ga7P7c3yHzs58Im8v/Lfk1ixSgQ2USgIywT48QWaACRa3F4MG7djpSw== - esbuild-android-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" @@ -4793,11 +4832,6 @@ esbuild-darwin-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== -esbuild-darwin-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.6.tgz#388592ba61bf31993d79f6311f7452aa1ef255b9" - integrity sha512-BsfVt3usScAfGlXJiGtGamwVEOTM8AiYiw1zqDWhGv6BncLXCnTg1As+90mxWewdTZKq3iIy8s9g8CKkrrAXVw== - esbuild-darwin-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" @@ -4808,11 +4842,6 @@ esbuild-darwin-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== -esbuild-darwin-arm64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.6.tgz#194e987849dc4688654008a1792f26e948f52e74" - integrity sha512-CnrAeJaEpPakUobhqO4wVSA4Zm6TPaI5UY4EsI62j9mTrjIyQPXA1n4Ju6Iu5TVZRnEqV6q8blodgYJ6CJuwCA== - esbuild-darwin-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" @@ -4823,11 +4852,6 @@ esbuild-freebsd-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== -esbuild-freebsd-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.6.tgz#daa72faee585ec2ec27cc65e86a6ce0786373e66" - integrity sha512-+qFdmqi+jkAsxsNJkaWVrnxEUUI50nu6c3MBVarv3RCDCbz7ZS1a4ZrdkwEYFnKcVWu6UUE0Kkb1SQ1yGEG6sg== - esbuild-freebsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" @@ -4838,11 +4862,6 @@ esbuild-freebsd-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== -esbuild-freebsd-arm64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.6.tgz#70c8a2a30bf6bb9d547a0d8dc93aa015ec4f77f9" - integrity sha512-KtQkQOhnNciXm2yrTYZMD3MOm2zBiiwFSU+dkwNbcfDumzzUprr1x70ClTdGuZwieBS1BM/k0KajRQX7r504Xw== - esbuild-freebsd-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" @@ -4853,11 +4872,6 @@ esbuild-linux-32@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== -esbuild-linux-32@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.6.tgz#d69ed2335b2d68c00b3248254b432172077b7ced" - integrity sha512-IAkDNz3TpxwISTGVdQijwyHBZrbFgLlRi5YXcvaEHtgbmayLSDcJmH5nV1MFgo/x2QdKcHBkOYHdjhKxUAcPwg== - esbuild-linux-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" @@ -4868,11 +4882,6 @@ esbuild-linux-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== -esbuild-linux-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.6.tgz#dca821e8f129cccde23ac947fd0d4bea3b333808" - integrity sha512-gQPksyrEYfA4LJwyfTQWAZaVZCx4wpaLrSzo2+Xc9QLC+i/sMWmX31jBjrn4nLJCd79KvwCinto36QC7BEIU/A== - esbuild-linux-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" @@ -4883,11 +4892,6 @@ esbuild-linux-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== -esbuild-linux-arm64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.6.tgz#c9e8bc86f3c58a7c8ff1ded5880c6a39ade7621b" - integrity sha512-aovDkclFa6C9EdZVBuOXxqZx83fuoq8097xZKhEPSygwuy4Lxs8J4anHG7kojAsR+31lfUuxzOo2tHxv7EiNHA== - esbuild-linux-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" @@ -4898,11 +4902,6 @@ esbuild-linux-arm@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== -esbuild-linux-arm@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.6.tgz#354ecad0223f5b176995cf4462560eec2633de24" - integrity sha512-xZ0Bq2aivsthDjA/ytQZzxrxIZbG0ATJYMJxNeOIBc1zUjpbVpzBKgllOZMsTSXMHFHGrow6TnCcgwqY0+oEoQ== - esbuild-linux-arm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" @@ -4913,11 +4912,6 @@ esbuild-linux-mips64le@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== -esbuild-linux-mips64le@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.6.tgz#f4fb941a4ff0af437deed69a2e0712983c8fff3e" - integrity sha512-wVpW8wkWOGizsCqCwOR/G3SHwhaecpGy3fic9BF1r7vq4djLjUcA8KunDaBCjJ6TgLQFhJ98RjDuyEf8AGjAvw== - esbuild-linux-mips64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" @@ -4928,11 +4922,6 @@ esbuild-linux-ppc64le@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== -esbuild-linux-ppc64le@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.6.tgz#19774a8b52c77173f2d4f171b8a8cf839b12e686" - integrity sha512-z6w6gsPH/Y77uchocluDC8tkCg9rfkcPTePzZKNr879bF4tu7j9t255wuNOCE396IYEGxY7y8u2HJ9i7kjCLVw== - esbuild-linux-ppc64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" @@ -4943,11 +4932,6 @@ esbuild-linux-riscv64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== -esbuild-linux-riscv64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.6.tgz#66bd83b065c4a1e623df02c122bc7e4e15fd8486" - integrity sha512-pfK/3MJcmbfU399TnXW5RTPS1S+ID6ra+CVj9TFZ2s0q9Ja1F5A1VirUUvViPkjiw+Kq3zveyn6U09Wg1zJXrw== - esbuild-linux-riscv64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" @@ -4958,11 +4942,6 @@ esbuild-linux-s390x@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== -esbuild-linux-s390x@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.6.tgz#1e024bddc75afe8dc70ed48fc9627af770d7f34b" - integrity sha512-OZeeDu32liefcwAE63FhVqM4heWTC8E3MglOC7SK0KYocDdY/6jyApw0UDkDHlcEK9mW6alX/SH9r3PDjcCo/Q== - esbuild-linux-s390x@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" @@ -4973,11 +4952,6 @@ esbuild-netbsd-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== -esbuild-netbsd-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.6.tgz#c11477d197f059c8794ee1691e3399201f7c4b9a" - integrity sha512-kaxw61wcHMyiEsSsi5ut1YYs/hvTC2QkxJwyRvC2Cnsz3lfMLEu8zAjpBKWh9aU/N0O/gsRap4wTur5GRuSvBA== - esbuild-netbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" @@ -4988,11 +4962,6 @@ esbuild-openbsd-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== -esbuild-openbsd-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.6.tgz#b29e7faed5b8d2aeaf3884c47c1a96b1cba8e263" - integrity sha512-CuoY60alzYfIZapUHqFXqXbj88bbRJu8Fp9okCSHRX2zWIcGz4BXAHXiG7dlCye5nFVrY72psesLuWdusyf2qw== - esbuild-openbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" @@ -5003,11 +4972,6 @@ esbuild-sunos-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== -esbuild-sunos-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.6.tgz#9668f39e47179f50c0435040904b9c6e10e84a70" - integrity sha512-1ceefLdPWcd1nW/ZLruPEYxeUEAVX0YHbG7w+BB4aYgfknaLGotI/ZvPWUZpzhC8l1EybrVlz++lm3E6ODIJOg== - esbuild-sunos-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" @@ -5018,12 +4982,7 @@ esbuild-wasm@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" integrity sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A== -esbuild-wasm@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.6.tgz#e2360b3eb35c48ea7cdf4adfcd080ee203e7c3d8" - integrity sha512-UiRz1VyslE+xq+1zcij439+pZaqCe8xGDtCzNfo+1jH8ciofyg5A4zwlOOF3JLdNORe/W8ZwY8sJeQsD34dDFQ== - -esbuild-wasm@^0.15.0: +esbuild-wasm@0.15.7, esbuild-wasm@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== @@ -5033,11 +4992,6 @@ esbuild-windows-32@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== -esbuild-windows-32@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.6.tgz#9ddcd56e3c4fb9729a218c713c4e76bdbc1678b4" - integrity sha512-pBqdOsKqCD5LRYiwF29PJRDJZi7/Wgkz46u3d17MRFmrLFcAZDke3nbdDa1c8YgY78RiemudfCeAemN8EBlIpA== - esbuild-windows-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" @@ -5048,11 +5002,6 @@ esbuild-windows-64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== -esbuild-windows-64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.6.tgz#1eaadeadfd995e9d065d35cb3e9f02607202f339" - integrity sha512-KpPOh4aTOo//g9Pk2oVAzXMpc9Sz9n5A9sZTmWqDSXCiiachfFhbuFlsKBGATYCVitXfmBIJ4nNYYWSOdz4hQg== - esbuild-windows-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" @@ -5063,11 +5012,6 @@ esbuild-windows-arm64@0.15.5: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== -esbuild-windows-arm64@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.6.tgz#e18a778d354fc2ca2306688f3fedad8a3e57819e" - integrity sha512-DB3G2x9OvFEa00jV+OkDBYpufq5x/K7a6VW6E2iM896DG4ZnAvJKQksOsCPiM1DUaa+DrijXAQ/ZOcKAqf/3Hg== - esbuild-windows-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" @@ -5100,34 +5044,7 @@ esbuild@0.15.5: esbuild-windows-64 "0.15.5" esbuild-windows-arm64 "0.15.5" -esbuild@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.6.tgz#626e5941b98de506b862047be3c4b33f89278923" - integrity sha512-sgLOv3l4xklvXzzczhRwKRotyrfyZ2i1fCS6PTOLPd9wevDPArGU8HFtHrHCOcsMwTjLjzGm15gvC8uxVzQf+w== - optionalDependencies: - "@esbuild/linux-loong64" "0.15.6" - esbuild-android-64 "0.15.6" - esbuild-android-arm64 "0.15.6" - esbuild-darwin-64 "0.15.6" - esbuild-darwin-arm64 "0.15.6" - esbuild-freebsd-64 "0.15.6" - esbuild-freebsd-arm64 "0.15.6" - esbuild-linux-32 "0.15.6" - esbuild-linux-64 "0.15.6" - esbuild-linux-arm "0.15.6" - esbuild-linux-arm64 "0.15.6" - esbuild-linux-mips64le "0.15.6" - esbuild-linux-ppc64le "0.15.6" - esbuild-linux-riscv64 "0.15.6" - esbuild-linux-s390x "0.15.6" - esbuild-netbsd-64 "0.15.6" - esbuild-openbsd-64 "0.15.6" - esbuild-sunos-64 "0.15.6" - esbuild-windows-32 "0.15.6" - esbuild-windows-64 "0.15.6" - esbuild-windows-arm64 "0.15.6" - -esbuild@^0.15.0: +esbuild@0.15.7, esbuild@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== @@ -6777,7 +6694,7 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.4.0: +jasmine-core@^4.1.0, jasmine-core@^4.4.0, jasmine-core@~4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.4.0.tgz#848fe45c1839cacaf1f2429d400d1d4f85d2856a" integrity sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA== @@ -6787,11 +6704,6 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== -jasmine-core@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.3.0.tgz#aee841fbe7373c2586ed8d8d48f5cc4a88be8390" - integrity sha512-qybtBUesniQdW6n+QIHMng2vDOHscIC/dEXjW+JzO9+LoAZMb03RCUC5xFOv/btSKPm1xL42fn+RjlU4oB42Lg== - jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" @@ -7493,10 +7405,10 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.13.1: - version "7.13.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" - integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== +lru-cache@7.14.0, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.14.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" + integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== lru-cache@^6.0.0: version "6.0.0" @@ -7505,11 +7417,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.14.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" - integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -7590,6 +7497,11 @@ marked@4.0.18: resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw== +marked@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.0.tgz#3fc6e7485f21c1ca5d6ec4a39de820e146954796" + integrity sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -7900,13 +7812,13 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0-next.0: - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.0.tgz#d4be7a94bb668f3ad0116d18e46b9fd0833eb47a" - integrity sha512-6H+2CSfjLYfTff04MIpPWnGlvNXHfnGdzNhNJh9hLKqLy3HZKXR9+Bn/HtaleNzFAGsRnHwon2VstamF2ng28g== +ng-packagr@15.0.0-next.1: + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.1.tgz#4b3e6e3acd30d4dc878cd90373738dd2667178ad" + integrity sha512-WzMXe2WWqBMYLiCPkhn75eDgnoMJU2iZBnVvML6MEH7jD39IoqD3Nh1sLLNk/FC82SXP+JptRcbX7jx0FaseGg== dependencies: "@rollup/plugin-json" "^4.1.0" - "@rollup/plugin-node-resolve" "^13.1.3" + "@rollup/plugin-node-resolve" "^14.0.0" ajv "^8.10.0" ansi-colors "^4.1.1" browserslist "^4.20.0" @@ -9003,6 +8915,61 @@ postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2: postcss-selector-not "^6.0.1" postcss-value-parser "^4.2.0" +postcss-preset-env@7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.1.tgz#2bfe935736727ab601a5c718bf24fc9f858eceb0" + integrity sha512-8884CHxQaoN1i4iEK+JvzOe8emODb5R4p/0dw4yEdo7QM4RdUk2sBx0fnzFyJt8BLfZSCGeVkKZ4HC564waBpQ== + dependencies: + "@csstools/postcss-cascade-layers" "^1.0.6" + "@csstools/postcss-color-function" "^1.1.1" + "@csstools/postcss-font-format-keywords" "^1.0.1" + "@csstools/postcss-hwb-function" "^1.0.2" + "@csstools/postcss-ic-unit" "^1.0.1" + "@csstools/postcss-is-pseudo-class" "^2.0.7" + "@csstools/postcss-nested-calc" "^1.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.1" + "@csstools/postcss-oklab-function" "^1.1.1" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.1" + "@csstools/postcss-text-decoration-shorthand" "^1.0.0" + "@csstools/postcss-trigonometric-functions" "^1.0.2" + "@csstools/postcss-unset-value" "^1.0.2" + autoprefixer "^10.4.8" + browserslist "^4.21.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^7.0.1" + postcss-attribute-case-insensitive "^5.0.2" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.4" + postcss-color-hex-alpha "^8.0.4" + postcss-color-rebeccapurple "^7.1.1" + postcss-custom-media "^8.0.2" + postcss-custom-properties "^12.1.8" + postcss-custom-selectors "^6.0.3" + postcss-dir-pseudo-class "^6.0.5" + postcss-double-position-gradients "^3.1.2" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.5" + postcss-image-set-function "^4.0.7" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.10" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.4" + postcss-page-break "^3.0.4" + postcss-place "^7.0.5" + postcss-pseudo-class-any-link "^7.1.6" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^6.0.1" + postcss-value-parser "^4.2.0" + postcss-pseudo-class-any-link@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" @@ -9222,10 +9189,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@17.1.0: - version "17.1.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.1.0.tgz#27dfc629092a5ac1b6f6c30ec200c4147af2847c" - integrity sha512-cPBHruFaUGNTekw0I8P6vBY4sV9gFyh3WjDDv0UzlwSSRQVSl+igcuPVqa7NKDjKccki9X1nVn6HalIqBoJz6g== +puppeteer@17.1.2: + version "17.1.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.1.2.tgz#1e8ea8b0eee0e6afc5d95e2db6ae828a51ad63c9" + integrity sha512-xgFOxUl4hRjwQpODZSeJlE/rUzi8OmHtc3T4ir4CRYGzVmaTVHAl8VGpI0ooy752u2DFeMxvQdHmxNnLqPImIg== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -9791,10 +9758,10 @@ sass@1.54.4: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.54.6: - version "1.54.6" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.6.tgz#5a12c268db26555c335028e355d6b7b1a5b9b4c8" - integrity sha512-DUqJjR2WxXBcZjRSZX5gCVyU+9fuC2qDfFzoKX9rV4rCOcec5mPtEafTcfsyL3YJuLONjWylBne+uXVh5rrmFw== +sass@1.54.9: + version "1.54.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" + integrity sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -11139,16 +11106,16 @@ verdaccio-htpasswd@10.5.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.14.0: - version "5.14.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.14.0.tgz#aef0c2ece6bd2dc2e1fca6f5dcb4e031fe0b33cd" - integrity sha512-++YTBxeUvBcsZb3e77x2lH+bdg5xrETi7h+5xtd2KPHrcW+MlpwCWDcwyHdCVZ7LhOgkzSSJD9L/0i1BkbwB8Q== +verdaccio@5.15.3: + version "5.15.3" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.15.3.tgz#4953471c0130c8e88b3d5562b5c63b38b575ed3d" + integrity sha512-8oEtepXF1oksGVYahi2HS1Yx9u6HD/4ukBDNDfwISmlNp7HVKJL2+kjzmDJWam88BpDNxOBU/LFXWSsEAFKFCQ== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" "@verdaccio/readme" "10.4.1" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.25" + "@verdaccio/ui-theme" "6.0.0-6-next.28" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.0" @@ -11156,7 +11123,7 @@ verdaccio@5.14.0: compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.3" + dayjs "1.11.5" debug "^4.3.3" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" @@ -11169,9 +11136,9 @@ verdaccio@5.14.0: jsonwebtoken "8.5.1" kleur "4.1.5" lodash "4.17.21" - lru-cache "7.13.1" + lru-cache "7.14.0" lunr-mutable-indexes "2.3.2" - marked "4.0.18" + marked "4.1.0" memoizee "0.4.15" mime "3.0.0" minimatch "5.1.0" @@ -11333,10 +11300,10 @@ webpack-dev-server@4.10.0: webpack-dev-middleware "^5.3.1" ws "^8.4.2" -webpack-dev-server@4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz#124ac9ac261e75303d74d95ab6712b4aec3e12ed" - integrity sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw== +webpack-dev-server@4.11.0: + version "4.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" + integrity sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" From 0f4fc969d46b61c5ae31e29b53ff144a6a0e0083 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Sep 2022 07:30:05 +0000 Subject: [PATCH 0854/1388] docs: release notes for the v14.2.2 release --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 265c3c8fde31..41acd61c141d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ + + +# 14.2.2 (2022-09-08) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | +| [5405a9b3b](https://github.com/angular/angular-cli/commit/5405a9b3b56675dc671e1ef27410e632f3f6f536) | fix | favor non deprecated packages during update | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- | +| [6bfd6a7fb](https://github.com/angular/angular-cli/commit/6bfd6a7fbcaf433bd2c380087803044df4c6d8ee) | fix | update minimum Angular version to 14.2 | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [2b00bca61](https://github.com/angular/angular-cli/commit/2b00bca615a2c79b0a0311c83cb9f1450b6f1745) | fix | allow esbuild-based builder to use SVG Angular templates | +| [45c95e1bf](https://github.com/angular/angular-cli/commit/45c95e1bf1327532ceeb1277fa6f4ce7c3a45581) | fix | change service worker errors to compilation errors | +| [ecc014d66](https://github.com/angular/angular-cli/commit/ecc014d669efe9609177354c465f24a1c94279cd) | fix | handle service-worker serving with localize in dev-server | +| [39ea128c1](https://github.com/angular/angular-cli/commit/39ea128c1294046525a8c098ed6a776407990365) | fix | handling of `@media` queries inside css layers | +| [17b7e1bdf](https://github.com/angular/angular-cli/commit/17b7e1bdfce5823718d1fa915d25858f4b0d7110) | fix | issue warning when using deprecated tilde imports | +| [3afd784f1](https://github.com/angular/angular-cli/commit/3afd784f1f00ee07f68ba112bea7786ccb2d4f35) | fix | watch index file when running build in watch mode | + +## Special Thanks + +Alan Agius, Charles Lyding, Jason Bedard and Joey Perrott + + + # 14.2.1 (2022-08-26) From 1c06b1d639f918692adf628681962bc260296499 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Sep 2022 07:50:45 +0000 Subject: [PATCH 0855/1388] release: cut the v15.0.0-next.0 release --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41acd61c141d..55cb63affb54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,42 @@ + + +# 15.0.0-next.0 (2022-09-08) + +## Breaking Changes + +### @angular/cli + +- The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead. + +### @schematics/angular + +- Removed unused`appDir` option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------- | +| [57d93fb7d](https://github.com/angular/angular-cli/commit/57d93fb7d979e68c2a4e6f6046ff633f69098afe) | fix | mark project as required option | +| [69b221498](https://github.com/angular/angular-cli/commit/69b2214987c8fad6efd091782cf28b20be62d244) | refactor | remove deprecated appDir option | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------ | +| [774d349b7](https://github.com/angular/angular-cli/commit/774d349b73a436a99f2ea932b7509dab7c1d5e45) | refactor | remove deprecated path handler | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | +| [feb06753d](https://github.com/angular/angular-cli/commit/feb06753d59f782c6ad8fd59a60537863094f498) | perf | use esbuild-based builder to directly downlevel for await...of | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Ruslan Lekhman and angular-robot[bot] + + + # 14.2.2 (2022-09-08) From f0c67e43239aad0338fa6b88be23dcee69a1091d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 8 Sep 2022 12:06:14 +0000 Subject: [PATCH 0856/1388] build: update angular --- package.json | 28 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 112 +++++++++--------- 4 files changed, 88 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index c45d8cac2556..f720dba78cb3 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.0", + "@angular/animations": "15.0.0-next.1", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd", - "@angular/cdk": "14.2.0", - "@angular/common": "15.0.0-next.0", - "@angular/compiler": "15.0.0-next.0", - "@angular/compiler-cli": "15.0.0-next.0", - "@angular/core": "15.0.0-next.0", - "@angular/forms": "15.0.0-next.0", - "@angular/localize": "15.0.0-next.0", - "@angular/material": "14.2.0", + "@angular/cdk": "14.2.1", + "@angular/common": "15.0.0-next.1", + "@angular/compiler": "15.0.0-next.1", + "@angular/compiler-cli": "15.0.0-next.1", + "@angular/core": "15.0.0-next.1", + "@angular/forms": "15.0.0-next.1", + "@angular/localize": "15.0.0-next.1", + "@angular/material": "14.2.1", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8", - "@angular/platform-browser": "15.0.0-next.0", - "@angular/platform-browser-dynamic": "15.0.0-next.0", - "@angular/platform-server": "15.0.0-next.0", - "@angular/router": "15.0.0-next.0", - "@angular/service-worker": "15.0.0-next.0", + "@angular/platform-browser": "15.0.0-next.1", + "@angular/platform-browser-dynamic": "15.0.0-next.1", + "@angular/platform-server": "15.0.0-next.1", + "@angular/router": "15.0.0-next.1", + "@angular/service-worker": "15.0.0-next.1", "@babel/core": "7.19.0", "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 264f5302b2d8..c176fa77c0de 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.0", - "@angular/compiler-cli": "15.0.0-next.0", + "@angular/compiler": "15.0.0-next.1", + "@angular/compiler-cli": "15.0.0-next.1", "typescript": "4.8.2", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 881241898d71..e37761539fa8 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#9b9c2f0b6d2438c8895ec7ea9faf581e7a805d15", - "@angular/cdk": "github:angular/cdk-builds#8dc488ad8afa47a63257ea2630cf66ada4e4820d", - "@angular/common": "github:angular/common-builds#aa3028b3d6a065947d3915cd3f4398c380f3cbd0", - "@angular/compiler": "github:angular/compiler-builds#04cf9cbd3eb3f60a41f6b270229323dc0e41bf98", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#b9dc0d6eff1976e39863348ba6a7e756c4895e97", - "@angular/core": "github:angular/core-builds#f88ba2d777e446939d139482b69f6fc8d5a1850a", - "@angular/forms": "github:angular/forms-builds#2b2c48fe7055bbe3009ef375256a171abf9f577b", - "@angular/language-service": "github:angular/language-service-builds#a6401cdbfc959e35f58e4bcf9b440dad0c64de65", - "@angular/localize": "github:angular/localize-builds#399f65ad1dd2db63cc86a09a53e7496df0d2603c", - "@angular/material": "github:angular/material-builds#89af47116ffea63d52c645ca931440c79516e2e7", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e062a151e8126dd6a7b0670b5f75bbab93fc2b12", - "@angular/platform-browser": "github:angular/platform-browser-builds#f3af636d52a4efb50b9f7c166b2d7d8bcc752fe2", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#39201c1cf514d3e447d5e2fc667dbc2cb33cdd1c", - "@angular/platform-server": "github:angular/platform-server-builds#a623b7911dc0152a0aa87276d6b197bddf449625", - "@angular/router": "github:angular/router-builds#b91f839ef75840e544c41b0b0ce259b7fa365a69", - "@angular/service-worker": "github:angular/service-worker-builds#6bec8a5dbbe3fc6e56af0c420cc5495ea2d076f5" + "@angular/animations": "github:angular/animations-builds#e53758ac01f8702faebbc660a3cd6a15b42e2162", + "@angular/cdk": "github:angular/cdk-builds#8fc6df68d20e573a121d270c8aec9b6e5b8e8379", + "@angular/common": "github:angular/common-builds#e44bbf62b96113f6bbd9d33c65e22c408b04abcf", + "@angular/compiler": "github:angular/compiler-builds#cc8b13b0e29f91d8686b74d3e8f134c38340c960", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#cc8b3d64d8788c0fe96ea4ee165b43e2068f6e1d", + "@angular/core": "github:angular/core-builds#9922935854dfaf260ade57353ac15d0849d62127", + "@angular/forms": "github:angular/forms-builds#9bdd3be0754a5c966abba243dd2c106b9004d63c", + "@angular/language-service": "github:angular/language-service-builds#e18bc65307fed24098261ae094eaa8ea021a68f4", + "@angular/localize": "github:angular/localize-builds#3ef545cb1ca9a71de5978535eeb788ceb3307196", + "@angular/material": "github:angular/material-builds#157b93a9912f081ab5c5619ee3760314aba11841", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#03d965cfd917974516dc8f701c336fb24fb7d586", + "@angular/platform-browser": "github:angular/platform-browser-builds#7697edca4a7444fbb7cddd7000503a964c974398", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6f2acf6bf51c5042ae9f0b6347d62bc65a3a63d6", + "@angular/platform-server": "github:angular/platform-server-builds#46ac724609ec8e4718c969dc182db51e8cdf4826", + "@angular/router": "github:angular/router-builds#bcb1b4f019af95aceffa8c489136c36d4d6279e0", + "@angular/service-worker": "github:angular/service-worker-builds#64a83790990319b767947765eff3d2c85efb15fb" } } diff --git a/yarn.lock b/yarn.lock index d144153466d1..0abb06f95f02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.0.tgz#97d2b760010ce866f7dbc5cd5f9cb0fa7f1c6a8e" - integrity sha512-0V/7zkeupLzHkpMU9e0kNPwr82n4hyhySsRvn7kQzrcuoQsw5M26020qqbk5drxfkIpkKRDL9K8tEpI3sRmP2g== +"@angular/animations@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.1.tgz#e55a6818bd3100182d0e69da087dae7db54e15d7" + integrity sha512-sZiEJL8mvUe+KlP/TK5QBJ6w22Wh0iXn8OpT2yVtHKm+kEmMDCyTp+9/xtUmbzY0KeNYtPfDKC5Px65vVdEaEA== dependencies: tslib "^2.3.0" @@ -165,26 +165,26 @@ uuid "^8.3.2" yargs "^17.0.0" -"@angular/cdk@14.2.0": - version "14.2.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.0.tgz#27d0b307b1e9361fff21199001ac19f9b107767c" - integrity sha512-rAeQXUSbOJSKLVizueRKoZmRb0An5qJUMigsF8wJwJjySUIcJ8uSIOMV+G1rxkvxVVY0HRAVi2rIkJbeq3+WKQ== +"@angular/cdk@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.1.tgz#3035bb8481ff75b41a4a1e54fb5d882ef98c0b1b" + integrity sha512-saLFOZeyYQ6ELvPYqePsC8yXzDYjrCXGKGLtwAG/1mUlXcVTC0V1c3SabU4JR7Z+Zo1tOmzkWxuUkrw7uvaJHA== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.0.tgz#21d6ae5cfaf148c788ec9bcba721aae98ffab27c" - integrity sha512-pLLkShD2tvfT36rCK/fxJKF9yAO6ZjvUZcG+aOqJuNECrd/82AqvbuFutmbuppxRtc8rsyOmde1HsmVynXJNWg== +"@angular/common@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.1.tgz#8969cfb55acbe8c6b4bbae1ce0cccc563324044d" + integrity sha512-hqmFvfRQgyYEDToWHX4dHlFgGmcokwShwxrd7GamT2psP2qpF/b7sNF0kKJJLdkgyF2JfhDcUzV45H0klk0pxw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.0.tgz#2e30c0fc66c08521a8f092df394fc4f94cb0674d" - integrity sha512-hbCbJu6psCYrVUA/03pbFLzySzuAmb3qX2CZ90O7NC2mT9jbwZtexJcwiWzHBTK0ZPc9wzs3iFtVVlBQt0n5wQ== +"@angular/compiler-cli@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.1.tgz#226b0e014f27dd5cd0af9fde68f759ec58b8b0e8" + integrity sha512-l0X92SHvWbCEv/vFnexOYdFbn/YdrXT0e43PLRwNh+yIK/GwmIZJdNKXCClI55YvIN8ivnFDFI2NR/nheC8zUQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -197,17 +197,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.0.tgz#62cdcbdf39547249770ee18274b1c82214c3482b" - integrity sha512-HkM4GwkIiMxVR5EXg2sqJigrs4a9ULQSeSfA+u0M5/5RmdFT4Tmd/Qx8ibkawlk7HX6S4iTlRCwLW7nP9zmbgg== +"@angular/compiler@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.1.tgz#cfa04a1cacd3cf6ed521aa27fe6acdda60926aba" + integrity sha512-OhRAVjEslzaLdv/YhgRyA6aWCGup/XmtUYW80ge5EN/QNJgHyU1RPF3k2e6Habt++n4/BUcp01kW34rSGjsO2Q== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.0.tgz#3ce2c00596b7c9bdf2cf32a223731e224447aeb2" - integrity sha512-581pY5+ghR3/O2Yj7lVYSiYdGiFPmPVnmr2U//MeTJZdUwHTojE+AymZfW4RXb2Sxm2ufqnGUqk7sQPV/pRzrg== +"@angular/core@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.1.tgz#3b85b5a3d0cfe4f734129d4ad6b0b77bd80793fa" + integrity sha512-uclBAjeoeRiAt7Fw3v6AoCgTBTFcrkqdZ7K1kqT3ihpmNWkITqylwUzaT9geX1ZY2Yfzn2wbmfS+iPSy4xPaYg== dependencies: tslib "^2.3.0" @@ -218,26 +218,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.0.tgz#8b24764b7dce0fbcdee1152709753f4e366738c0" - integrity sha512-Ca0+xxg6Se048QReKZWBB4hv/i2a3wfULjqort2e3AYy16YXdtD1Kfb6FK0hIphLiXYbeG99q6r4lRZ4nZqQ1A== +"@angular/forms@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.1.tgz#3bd762f6d044c4281c3ff328b7e122ab6770b5f0" + integrity sha512-afVs848s4XnmqW2xSCOAZmNDWPXggp+xEoHQZeV6dSVFdA46fdWXoR+9w0FOU5UdLQ9KBG9d3iNIsstjW1kNsQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.0.tgz#07c58bbbd50e9191e600d9d9545141b5ed9dc283" - integrity sha512-OX4x3R8c7Wo+w1Hc8nj+ASorAN2wHaCFkU+PwUbFD1IZ27Bn7j0ZAXDX5DU6pLgYKJlxjsiwrGHcj2S84H4Otw== +"@angular/localize@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.1.tgz#c68ea73285efd7ffe534066ad88dc90f2c62ae38" + integrity sha512-8XEYCAv/lT3sXU5I2B+Dd4Oi/UpZ83IkosnJQ6K7o2ScyBLJTlC61nqjwF3QrllC1P/zrOQGScLAYRTKrk56Ww== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.0": - version "14.2.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.0.tgz#915a39bd7c6434ac2465964abb93cecd6034e5d7" - integrity sha512-Lh7Ccc6zi5ClFnr5w1ZFVHb5QnOye1si0xWvS5nMQG3e0OPFAt0oOhjILFIBMK7n2jq4kv6erqNX2fLkyRvTQw== +"@angular/material@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.1.tgz#841d1100a1a64ae258c76d206ba9417f041a74a2" + integrity sha512-e7DkKJTuqrSpKPhxahrqkZt6AeU5ld5/aSeCamq2dcdqfZ8otmgiajzN0cXZGwSCT2Lth6c+QV3yn8ufTJQpTw== dependencies: tslib "^2.3.0" @@ -249,40 +249,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.0.tgz#dbc1868ebb4e7e82f868ba30d53c3fa752550fe0" - integrity sha512-VEb3JLCbpeQQAeAYvwfu7sVO5iefYbOh24NhKHmzxLS+rr0odRJbh6pMfXnr0ObtA6TgqLluXwVScipKOtjZaw== +"@angular/platform-browser-dynamic@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.1.tgz#08a03799cb544b8ba258221cc5f00b155adc5148" + integrity sha512-IVMQyc3jH47yDPBOtsULjzKdta6Nu75j/XElE2zAJQwhHTU/Uy5VRTGlGpOQ+HcQ5NNHW2jGsgj73Pi4UY/rQQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.0.tgz#c18758bf97a9298f7f19ee4362b0cfa350e31031" - integrity sha512-XkIVdHlaFN1AyIpNNX+vsmka+xs1yY//PvgD9MsPWLHLxscPj8sZ4J7yy785lgmxYaVgFn9QYw/PuvMe6IS9aQ== +"@angular/platform-browser@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.1.tgz#5f1f3240ae7438a60c84433274567748fd3fda6d" + integrity sha512-9h/VlANVt+BHPGghMTTlYgDp6FJSSWppNrMRg6QWxDn3nvEc1l9vFnsqNudzy5MWy+kIxueyAbdfqv3JVr1nyg== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.0.tgz#8a88a800a26c51f648ccfc6c61648201a98f553a" - integrity sha512-7BHRkm5AlTrFCv9207UhDjlJ852vrUR0F7/y5z7ipB3OrghDH0gFFIacaK/AWAgkJeeZTy8KkwWve1lROOnp0A== +"@angular/platform-server@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.1.tgz#2609f477e59eacdd5020dd8066b1829feec9314d" + integrity sha512-xjhZPLglrYGn5cZeysIJMDZLacRrZ1cd/Mi8gghEFguCNWOA5/5G5sVFvtXg0RB72JO05PBUh29mxB/wBPeFDQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.0.tgz#2ebd07aac15158d7cb850c26bbd82764ce3bc14a" - integrity sha512-gBM07o2iab/PxkMZwChm33+/auNqhT4zYzuwlaGprYuArXGJCUJgC/9dNUgzBG4m/eWBRV24Y1Arq6fAkLOHjA== +"@angular/router@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.1.tgz#41af562c0d0c22ed72497931480f29e32e52dd4a" + integrity sha512-K2H1d6mKc/Q92HkoKOVO2dMNQ+/t6alVSXZVndElWVuOvLW0wZy0So97jHj7SdKtZf+tBssb6eH5B/8SfDPpKw== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.0.tgz#a21b052dd121eda268ccfdefc0e7e2b3dbb50120" - integrity sha512-aO4Xzf3Yg/TDItHaNRj+RoFtnD99SLg6AAtZzOR/aDBiVI99a8f33AQC6hlQWIgx1tuRQMbAa8KkPtkAKN0KYA== +"@angular/service-worker@15.0.0-next.1": + version "15.0.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.1.tgz#07ff39d8787fcf6f6dd6961283fdf6b3a1ce9a00" + integrity sha512-m5UT3B6dSUPfcIqJVoYnZcrSQqDrcQkoCNHiPAuC99wUa+AIgGtPmub3cymP6Hrz9MDQG6zv7dWA8bHkTbTtfw== dependencies: tslib "^2.3.0" From 98bde526b4e2fc4e6b16854bce8527d14f6f0197 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Sep 2022 08:36:39 +0000 Subject: [PATCH 0857/1388] refactor(@angular-devkit/build-angular): remove `postcss-preset-env` This change removes the usage of `postcss-preset-env` as this is no longer needed since Angular no longer supports browsers that require polyfills for CSS stage 3 features https://preset-env.cssdb.org/features/#stage-3. We replace this and use autoprefixer directly which is still needed. ``` npx autoprefixer --info Browsers: Chrome: 105 Edge: 105, 104 Firefox: 104, 102, 91 iOS Safari: 15.6, 15.5, 15.4, 15.2-15.3, 15.0-15.1, 14.5-14.8, 14.0-14.4 Safari: 15.6, 15.5, 15.4, 15.2-15.3, 15.1, 15, 14.1, 14 These browsers account for 20.38% of all users globally At-Rules: @resolution: webkit Selectors: ::backdrop: webkit ::file-selector-button: webkit :autofill: webkit :fullscreen: webkit Properties: appearance: webkit backdrop-filter: webkit backface-visibility: webkit background-clip: webkit box-decoration-break: webkit color-adjust: webkit, moz hyphens: webkit mask-border-outset: webkit mask-border-repeat: webkit mask-border-slice: webkit mask-border-source: webkit mask-border-width: webkit mask-border: webkit mask-clip: webkit mask-composite: webkit mask-image: webkit mask-origin: webkit mask-position: webkit mask-repeat: webkit mask-size: webkit mask: webkit print-color-adjust: webkit, moz text-decoration-color: webkit text-decoration-line: webkit text-decoration-skip-ink: webkit text-decoration-skip: webkit text-decoration-style: webkit text-decoration: webkit text-size-adjust: webkit user-select: webkit Values: cross-fade: webkit element: moz fill-available: webkit fill: webkit fit-content: moz image-set: webkit isolate: webkit stretch: webkit, moz ``` --- package.json | 3 +- .../angular_devkit/build_angular/BUILD.bazel | 3 +- .../angular_devkit/build_angular/package.json | 2 +- .../src/webpack/configs/styles.ts | 16 ++-- .../e2e/tests/build/styles/preset-env.ts | 17 ---- yarn.lock | 82 +------------------ 6 files changed, 13 insertions(+), 110 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/styles/preset-env.ts diff --git a/package.json b/package.json index f720dba78cb3..aa916077f02b 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,6 @@ "@types/pacote": "^11.1.3", "@types/parse5-html-rewriting-stream": "^5.1.2", "@types/pidusage": "^2.0.1", - "@types/postcss-preset-env": "^7.0.0", "@types/progress": "^2.0.3", "@types/resolve": "^1.17.1", "@types/semver": "^7.3.12", @@ -130,6 +129,7 @@ "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", + "autoprefixer": "10.4.8", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", @@ -188,7 +188,6 @@ "postcss": "8.4.16", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", - "postcss-preset-env": "7.8.1", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "17.1.2", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index a7d4e1b77a67..95a3117765dc 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -128,11 +128,11 @@ ts_library( "@npm//@types/minimatch", "@npm//@types/node", "@npm//@types/parse5-html-rewriting-stream", - "@npm//@types/postcss-preset-env", "@npm//@types/semver", "@npm//@types/text-table", "@npm//ajv", "@npm//ansi-colors", + "@npm//autoprefixer", "@npm//babel-loader", "@npm//babel-plugin-istanbul", "@npm//browserslist", @@ -162,7 +162,6 @@ ts_library( "@npm//postcss", "@npm//postcss-import", "@npm//postcss-loader", - "@npm//postcss-preset-env", "@npm//regenerator-runtime", "@npm//resolve-url-loader", "@npm//rxjs", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index dbe877a966d2..d8d783abb819 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -22,6 +22,7 @@ "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", + "autoprefixer": "10.4.8", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", @@ -48,7 +49,6 @@ "postcss": "8.4.16", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", - "postcss-preset-env": "7.8.1", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 2d5660f134a9..2e76a09251b8 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -76,9 +76,6 @@ export function resolveGlobalStyles( // eslint-disable-next-line max-lines-per-function export function getStylesConfig(wco: WebpackConfigOptions): Configuration { - const postcssImports = require('postcss-import'); - const postcssPresetEnv: typeof import('postcss-preset-env') = require('postcss-preset-env'); - const { root, buildOptions } = wco; const extraPlugins: Configuration['plugins'] = []; @@ -156,11 +153,9 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { } } - const postcssPresetEnvPlugin = postcssPresetEnv({ - browsers: buildOptions.supportedBrowsers, - autoprefixer: true, - stage: 3, - }); + const postcssImports = require('postcss-import'); + const autoprefixer: typeof import('autoprefixer') = require('autoprefixer'); + const postcssOptionsCreator = (inlineSourcemaps: boolean, extracted: boolean) => { // eslint-disable-next-line @typescript-eslint/no-explicit-any const optionGenerator = (loader: any) => ({ @@ -198,7 +193,10 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { extracted, }), ...extraPostcssPlugins, - postcssPresetEnvPlugin, + autoprefixer({ + ignoreUnknownVersions: true, + overrideBrowserslist: buildOptions.supportedBrowsers, + }), ], }); // postcss-loader fails when trying to determine configuration files for data URIs diff --git a/tests/legacy-cli/e2e/tests/build/styles/preset-env.ts b/tests/legacy-cli/e2e/tests/build/styles/preset-env.ts deleted file mode 100644 index f455e509ea49..000000000000 --- a/tests/legacy-cli/e2e/tests/build/styles/preset-env.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { appendToFile, expectFileToMatch, writeMultipleFiles } from '../../../utils/fs'; -import { ng } from '../../../utils/process'; - -export default async function () { - await writeMultipleFiles({ - 'src/styles.css': `a { - all: initial; - }`, - }); - - // Enable IE 11 support - await appendToFile('.browserslistrc', 'IE 11'); - - await ng('build', '--configuration=development'); - await expectFileToMatch('dist/test-project/styles.css', 'z-index: auto'); - await expectFileToMatch('dist/test-project/styles.css', 'all: initial'); -} diff --git a/yarn.lock b/yarn.lock index 0abb06f95f02..8cfff09e0a13 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd": version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923" - uid f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" @@ -243,7 +242,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8": version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923" - uid "20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -1434,14 +1432,6 @@ "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" -"@csstools/postcss-cascade-layers@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.6.tgz#a52da13b91fc184a52337b4e938c3d3188e537b0" - integrity sha512-ei4Vh4AJwTCXTNj7uzwduoZDO7nLPksQ0TI7OzUlyFq4P4Uhu6hU7R4AlLimDP/s6D3PQdHmRL4f7UOy370UHA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - "@csstools/postcss-color-function@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" @@ -2436,14 +2426,6 @@ resolved "https://registry.yarnpkg.com/@types/pidusage/-/pidusage-2.0.2.tgz#3f8c4b19ba7ea438a733d093661e92b60e5f88ee" integrity sha512-lHgpGZjXDfjggZDLkgp4zQTYkvXq4S7RxjBjrDcPe1MBU72hESWxubutx8+AM4QkJdRxAhrQyxSA6pzHKJKlsQ== -"@types/postcss-preset-env@^7.0.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@types/postcss-preset-env/-/postcss-preset-env-7.7.0.tgz#b58c07c304b3c3439bf9ce7eba5c9d46db4f2677" - integrity sha512-biD8MwSiZo1Nztn1cIBPMcKNKzgFyU05AB96HIF9y3G4f9vdx2O60DHCSpWXChTp6mOEGu15fqIw2DetVVjghw== - dependencies: - autoprefixer "^10.4.7" - postcss "^8.4.14" - "@types/progress@2.0.5", "@types/progress@^2.0.3": version "2.0.5" resolved "https://registry.yarnpkg.com/@types/progress/-/progress-2.0.5.tgz#6e0febf3a82cc0ffdc1cebb4e56d6949fd108775" @@ -3246,7 +3228,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@^10.4.7, autoprefixer@^10.4.8: +autoprefixer@10.4.8, autoprefixer@^10.4.8: version "10.4.8" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== @@ -4213,7 +4195,7 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -cssdb@^7.0.0, cssdb@^7.0.1: +cssdb@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617" integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw== @@ -8068,7 +8050,6 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8079,7 +8060,6 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" - fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8099,7 +8079,6 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" - minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -8915,61 +8894,6 @@ postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2: postcss-selector-not "^6.0.1" postcss-value-parser "^4.2.0" -postcss-preset-env@7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.1.tgz#2bfe935736727ab601a5c718bf24fc9f858eceb0" - integrity sha512-8884CHxQaoN1i4iEK+JvzOe8emODb5R4p/0dw4yEdo7QM4RdUk2sBx0fnzFyJt8BLfZSCGeVkKZ4HC564waBpQ== - dependencies: - "@csstools/postcss-cascade-layers" "^1.0.6" - "@csstools/postcss-color-function" "^1.1.1" - "@csstools/postcss-font-format-keywords" "^1.0.1" - "@csstools/postcss-hwb-function" "^1.0.2" - "@csstools/postcss-ic-unit" "^1.0.1" - "@csstools/postcss-is-pseudo-class" "^2.0.7" - "@csstools/postcss-nested-calc" "^1.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.1" - "@csstools/postcss-oklab-function" "^1.1.1" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.1" - "@csstools/postcss-text-decoration-shorthand" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.2" - "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.8" - browserslist "^4.21.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^7.0.1" - postcss-attribute-case-insensitive "^5.0.2" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.4" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.1" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.8" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.5" - postcss-double-position-gradients "^3.1.2" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.5" - postcss-image-set-function "^4.0.7" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.10" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.4" - postcss-page-break "^3.0.4" - postcss-place "^7.0.5" - postcss-pseudo-class-any-link "^7.1.6" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.1" - postcss-value-parser "^4.2.0" - postcss-pseudo-class-any-link@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" @@ -9012,7 +8936,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.14, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== From 4f8a3d258230d6b6645600f9d17e8582a36c8682 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Sep 2022 07:44:48 +0000 Subject: [PATCH 0858/1388] fix(@angular-devkit/build-angular): correctly display error messages that contain "at" text. Previously, the regexp was incorrectly matching messages which contained "at" as part of the text. Closes #23865 --- .../angular_devkit/build_angular/src/webpack/utils/stats.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index d39dfcc2f643..f747b7bd6bb1 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -397,7 +397,7 @@ export function statsErrorsToString( // See: https://github.com/webpack/webpack/issues/15980 const message = statsConfig.errorStack ? error.message - : /[\s\S]+?(?=[\n\s]+at)/.exec(error.message)?.[0] ?? error.message; + : /[\s\S]+?(?=\n+\s+at\s)/.exec(error.message)?.[0] ?? error.message; if (!/^error/i.test(message)) { output += r('Error: '); From 7f1017e60f82389568065478d666ae4be6ebfea2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 30 Aug 2022 19:03:48 +0000 Subject: [PATCH 0859/1388] refactor(@angular-devkit/build-angular): remove old `bundleDependencies` enum logic BREAKING CHANGE: server builder `bundleDependencies` option now only accept a boolean value. --- .../angular_devkit/build_angular/index.md | 2 +- .../src/builders/server/index.ts | 23 ------------------- .../src/builders/server/schema.json | 10 +------- 3 files changed, 2 insertions(+), 33 deletions(-) diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index bfd2d1f2c2f4..e47d0218f21c 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -244,7 +244,7 @@ export interface ProtractorBuilderOptions { // @public (undocumented) export interface ServerBuilderOptions { - bundleDependencies?: BundleDependenciesUnion; + bundleDependencies?: boolean; deleteOutputPath?: boolean; // @deprecated deployUrl?: string; diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 10a920f64fbf..7d6cba729c9d 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -66,29 +66,6 @@ export function execute( const baseOutputPath = path.resolve(root, options.outputPath); let outputPaths: undefined | Map; - if (typeof options.bundleDependencies === 'string') { - options.bundleDependencies = options.bundleDependencies === 'all'; - context.logger.warn( - `Option 'bundleDependencies' string value is deprecated since version 9. Use a boolean value instead.`, - ); - } - - if (!options.bundleDependencies) { - // eslint-disable-next-line import/no-extraneous-dependencies - const { __processed_by_ivy_ngcc__, main = '' } = require('@angular/core/package.json'); - if ( - !__processed_by_ivy_ngcc__ || - !__processed_by_ivy_ngcc__.main || - (main as string).includes('__ivy_ngcc__') - ) { - context.logger.warn(tags.stripIndent` - Warning: Turning off 'bundleDependencies' with Ivy may result in undefined behaviour - unless 'node_modules' are transformed using the standalone Angular compatibility compiler (NGCC). - See: https://angular.io/guide/ivy#ivy-and-universal-app-shell - `); - } - } - return from(initialize(options, context, transforms.webpackConfiguration)).pipe( concatMap(({ config, i18n, target }) => { return runWebpack(config, context, { diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index 0a99ee857ef8..f3ce0c52f0cf 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -184,15 +184,7 @@ "bundleDependencies": { "description": "Which external dependencies to bundle into the bundle. By default, all of node_modules will be bundled.", "default": true, - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "string", - "enum": ["none", "all"] - } - ] + "type": "boolean" }, "externalDependencies": { "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime.", From 5e790db96c354844356a833d389438e6dfed5b8e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Sep 2022 16:48:09 +0000 Subject: [PATCH 0860/1388] test: update NGRX packages to version 14 --- .../e2e/tests/misc/third-party-decorators.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts index f57580ff2b5e..75cfd64063af 100644 --- a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts +++ b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts @@ -5,14 +5,11 @@ import { updateJsonFile } from '../../utils/project'; export default async function () { await updateJsonFile('package.json', (packageJson) => { - // Install ngrx - packageJson['dependencies']['@ngrx/effects'] = '^13.2.0'; - packageJson['dependencies']['@ngrx/schematics'] = '^13.2.0'; - packageJson['dependencies']['@ngrx/store'] = '^13.2.0'; - packageJson['dependencies']['@ngrx/store-devtools'] = '^13.2.0'; - - // TODO(crisbeto): ngrx hasn't been updated for TS 4.7 yet. - packageJson['devDependencies']['typescript'] = '~4.6.2'; + // Install NGRX + packageJson['dependencies']['@ngrx/effects'] = '^14.3.0'; + packageJson['dependencies']['@ngrx/schematics'] = '^14.3.0'; + packageJson['dependencies']['@ngrx/store'] = '^14.3.0'; + packageJson['dependencies']['@ngrx/store-devtools'] = '^14.3.0'; }); // Force is need to prevent npm 7+ from failing due to potential peer dependency resolution range errors. From 5b49afc84a73e69daf2bdf7f1fa0c15c5677b04f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 9 Sep 2022 06:14:25 +0000 Subject: [PATCH 0861/1388] build: update dependency typescript to v4.8.3 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index aa916077f02b..70e0a647abe4 100644 --- a/package.json +++ b/package.json @@ -213,7 +213,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.8.2", + "typescript": "4.8.3", "verdaccio": "5.15.3", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index c176fa77c0de..84d08868f493 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "15.0.0-next.1", "@angular/compiler-cli": "15.0.0-next.1", - "typescript": "4.8.2", + "typescript": "4.8.3", "webpack": "5.74.0" } } diff --git a/yarn.lock b/yarn.lock index 8cfff09e0a13..8b24e9a80a6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10783,7 +10783,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.2, typescript@^4.6.2, typescript@~4.8.0: +typescript@4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" + integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== + +typescript@^4.6.2, typescript@~4.8.0: version "4.8.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== From 656f9db7d8621a5c2672cf6c9cf58b11b95a5e58 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 9 Sep 2022 06:14:32 +0000 Subject: [PATCH 0862/1388] build: update ossf/scorecard-action action to v2 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 6df15ec96357..84c2fa7fda9b 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@ce330fde6b1a5c9c75b417e7efc510b822a35564 # tag=v1.1.2 + uses: ossf/scorecard-action@13ec8c77e8a5dae7e0a0d47bde3e3004df15d34f # tag=v2.0.0 with: results_file: results.sarif results_format: sarif From 4fa8392a138122bc2c8ed5e433cfbf9786da8baa Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 8 Sep 2022 14:43:47 -0400 Subject: [PATCH 0863/1388] perf(@ngtools/webpack): avoid bootstrap conversion AST traversal where possible To support AOT compilation the Angular bootstrap call needs to be converted from using `platform-browser-dynamic` to `platform-browser`. This transform was previously being executed against every source file within the program regardless of the presence of `platformBrowserDynamic`. An initial check is now performed that can avoid AST traversal when the bootstrapping call is not present in a file. --- packages/ngtools/webpack/src/ivy/transformation.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/src/ivy/transformation.ts b/packages/ngtools/webpack/src/ivy/transformation.ts index 927afd7b58c6..40d0f7a9d3b6 100644 --- a/packages/ngtools/webpack/src/ivy/transformation.ts +++ b/packages/ngtools/webpack/src/ivy/transformation.ts @@ -74,6 +74,12 @@ export function mergeTransformers( return result; } +/** + * The name of the Angular platform that should be replaced within + * bootstrap call expressions to support AOT. + */ +const PLATFORM_BROWSER_DYNAMIC_NAME = 'platformBrowserDynamic'; + export function replaceBootstrap( getTypeChecker: () => ts.TypeChecker, ): ts.TransformerFactory { @@ -86,7 +92,7 @@ export function replaceBootstrap( const visitNode: ts.Visitor = (node: ts.Node) => { if (ts.isCallExpression(node) && ts.isIdentifier(node.expression)) { const target = node.expression; - if (target.text === 'platformBrowserDynamic') { + if (target.text === PLATFORM_BROWSER_DYNAMIC_NAME) { if (!bootstrapNamespace) { bootstrapNamespace = nodeFactory.createUniqueName('__NgCli_bootstrap_'); bootstrapImport = nodeFactory.createImportDeclaration( @@ -115,6 +121,10 @@ export function replaceBootstrap( }; return (sourceFile: ts.SourceFile) => { + if (!sourceFile.text.includes(PLATFORM_BROWSER_DYNAMIC_NAME)) { + return sourceFile; + } + let updatedSourceFile = ts.visitEachChild(sourceFile, visitNode, context); if (bootstrapImport) { From 1229dfb1ad949db361f275eaf5e601ba33a57439 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 9 Sep 2022 09:14:29 +0000 Subject: [PATCH 0864/1388] build: update Bazel to 5.3 and rules_pkg to 0.7.1 These updates have been combined as rules_pkg 0.7.1 requires support for non string labels which older versions of Bazel do not support which would cause the below failure ``` Error in select: select: got Label for dict key, want a label string ``` --- .bazelversion | 2 +- WORKSPACE | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.bazelversion b/.bazelversion index 0062ac971805..03f488b076ae 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -5.0.0 +5.3.0 diff --git a/WORKSPACE b/WORKSPACE index 424317f247a9..6bc36c67214c 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -32,8 +32,8 @@ build_bazel_rules_nodejs_dependencies() http_archive( name = "rules_pkg", - sha256 = "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2", - urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz"], + sha256 = "451e08a4d78988c06fa3f9306ec813b836b1d076d0f055595444ba4ff22b867f", + urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz"], ) load("@bazel_tools//tools/sh:sh_configure.bzl", "sh_configure") From 6a8511d1f93bf2eebba0a75903e91ebff385115f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 9 Sep 2022 07:44:16 +0000 Subject: [PATCH 0865/1388] test: don't run git clean on test failure This allows debugging the test failures when running in debug mode. (cherry picked from commit e8e9df875722d23bbfd11c70ad17c492353976ce) --- tests/legacy-cli/e2e_runner.ts | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index d54373d017b8..548f0a10da24 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -250,37 +250,29 @@ async function runSteps( } } -async function runSetup(absoluteName: string) { +function runSetup(absoluteName: string): Promise { const module = require(absoluteName); - await (typeof module === 'function' ? module : module.default)(); + return (typeof module === 'function' ? module : module.default)(); } /** * Run a file from the projects root directory in a subprocess via launchTestProcess(). */ -async function runInitializer(absoluteName: string) { +function runInitializer(absoluteName: string): Promise { process.chdir(getGlobalVariable('projects-root')); - await launchTestProcess(absoluteName); + return launchTestProcess(absoluteName); } /** * Run a file from the main 'test-project' directory in a subprocess via launchTestProcess(). */ -async function runTest(absoluteName: string) { +async function runTest(absoluteName: string): Promise { process.chdir(join(getGlobalVariable('projects-root'), 'test-project')); - try { - await launchTestProcess(absoluteName); - } finally { - logStack.push(new logging.NullLogger()); - try { - await gitClean(); - } finally { - logStack.pop(); - } - } + await launchTestProcess(absoluteName); + await gitClean(); } function printHeader( From 74db9818dbf381d07d6366e377f69bcdbd099a6c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 9 Sep 2022 12:08:34 +0000 Subject: [PATCH 0866/1388] refactor: remove unused file --- .../build_angular/test/build-browser-features/.browserslistrc | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/test/build-browser-features/.browserslistrc diff --git a/packages/angular_devkit/build_angular/test/build-browser-features/.browserslistrc b/packages/angular_devkit/build_angular/test/build-browser-features/.browserslistrc deleted file mode 100644 index 7fd7c3b8783f..000000000000 --- a/packages/angular_devkit/build_angular/test/build-browser-features/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -# We want to run tests large with ever green browser so that -# we never trigger differential loading as this will slow down the tests. - -last 2 Chrome versions \ No newline at end of file From 8bf4298eed4ea9085eca0dd547f042733a5db92d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 9 Sep 2022 05:02:11 +0000 Subject: [PATCH 0867/1388] build: update angular to 699c90f --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index e37761539fa8..994401562bb8 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e53758ac01f8702faebbc660a3cd6a15b42e2162", - "@angular/cdk": "github:angular/cdk-builds#8fc6df68d20e573a121d270c8aec9b6e5b8e8379", - "@angular/common": "github:angular/common-builds#e44bbf62b96113f6bbd9d33c65e22c408b04abcf", - "@angular/compiler": "github:angular/compiler-builds#cc8b13b0e29f91d8686b74d3e8f134c38340c960", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#cc8b3d64d8788c0fe96ea4ee165b43e2068f6e1d", - "@angular/core": "github:angular/core-builds#9922935854dfaf260ade57353ac15d0849d62127", - "@angular/forms": "github:angular/forms-builds#9bdd3be0754a5c966abba243dd2c106b9004d63c", - "@angular/language-service": "github:angular/language-service-builds#e18bc65307fed24098261ae094eaa8ea021a68f4", - "@angular/localize": "github:angular/localize-builds#3ef545cb1ca9a71de5978535eeb788ceb3307196", - "@angular/material": "github:angular/material-builds#157b93a9912f081ab5c5619ee3760314aba11841", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#03d965cfd917974516dc8f701c336fb24fb7d586", - "@angular/platform-browser": "github:angular/platform-browser-builds#7697edca4a7444fbb7cddd7000503a964c974398", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6f2acf6bf51c5042ae9f0b6347d62bc65a3a63d6", - "@angular/platform-server": "github:angular/platform-server-builds#46ac724609ec8e4718c969dc182db51e8cdf4826", - "@angular/router": "github:angular/router-builds#bcb1b4f019af95aceffa8c489136c36d4d6279e0", - "@angular/service-worker": "github:angular/service-worker-builds#64a83790990319b767947765eff3d2c85efb15fb" + "@angular/animations": "github:angular/animations-builds#699c90f3b299f44f090117f5cb10d9b5e641c757", + "@angular/cdk": "github:angular/cdk-builds#58902d13b9fde1c57f75df81677aa9bcb2df55f3", + "@angular/common": "github:angular/common-builds#7bbb65ed33ea716ad5565b396ba036d21b94ba04", + "@angular/compiler": "github:angular/compiler-builds#57fc50bab66e36f558cb815169907192bc016f98", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#4ebd4f8acb13a70f8ff65ac67434b766a80d28f2", + "@angular/core": "github:angular/core-builds#84fd8d7907a235721db4fd05457f75c4e211acf6", + "@angular/forms": "github:angular/forms-builds#a9fe0be9811cf32538c5b959c3b0fe335d8653d8", + "@angular/language-service": "github:angular/language-service-builds#56a0befedb9570668ade432a976f706cfa5006f7", + "@angular/localize": "github:angular/localize-builds#1d3649a90c16330ee3ae0c9c1118c4acb30c4727", + "@angular/material": "github:angular/material-builds#9404213c26a296c88f776c93936e700a44301311", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2d3645d5c6177647a891057d2b733ca7145677e3", + "@angular/platform-browser": "github:angular/platform-browser-builds#fce48bc44c444d7fe0d7a2f1194f2831714b397b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aaebc9329d0a4b3ff856e53a36d69deb8e5ea53b", + "@angular/platform-server": "github:angular/platform-server-builds#7333991c1445f5959246a490c0c4eb871eb39d19", + "@angular/router": "github:angular/router-builds#da24571dbbb8856b1df9593ba6aa592c9f81e1c6", + "@angular/service-worker": "github:angular/service-worker-builds#559cddb0bee3bdae7930387abf045bb9e343349d" } } From 3be0f5f96c2ffb4aa9a0430bf545dd977e090e6c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 9 Sep 2022 15:07:07 +0000 Subject: [PATCH 0868/1388] build: update all non-major dependencies --- package.json | 4 ++-- yarn.lock | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 70e0a647abe4..48563134281c 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "magic-string": "0.26.3", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "15.0.0-next.1", + "ng-packagr": "15.0.0-next.2", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", @@ -190,7 +190,7 @@ "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "17.1.2", + "puppeteer": "17.1.3", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 8b24e9a80a6c..19eaf2d3af2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7794,15 +7794,16 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0-next.1: - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.1.tgz#4b3e6e3acd30d4dc878cd90373738dd2667178ad" - integrity sha512-WzMXe2WWqBMYLiCPkhn75eDgnoMJU2iZBnVvML6MEH7jD39IoqD3Nh1sLLNk/FC82SXP+JptRcbX7jx0FaseGg== +ng-packagr@15.0.0-next.2: + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.2.tgz#f2a9f8188965f37a905ef662ad204af00b18429e" + integrity sha512-jk/ACtIzFeYwa63k4S7qssIExZL0ofyhQw4iBhs8TRTfxiM8/ucdJKeTptQoWnM5dNgeKqU99wyLzgsoxWVdNA== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^14.0.0" ajv "^8.10.0" ansi-colors "^4.1.1" + autoprefixer "^10.4.8" browserslist "^4.20.0" cacache "^16.0.0" chokidar "^3.5.3" @@ -7816,7 +7817,6 @@ ng-packagr@15.0.0-next.1: less "^4.1.2" ora "^5.1.0" postcss "^8.4.8" - postcss-preset-env "^7.4.2" postcss-url "^10.1.3" rollup "^2.70.0" rollup-plugin-sourcemaps "^0.6.3" @@ -8839,7 +8839,7 @@ postcss-place@^7.0.5: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.8.0, postcss-preset-env@^7.4.2: +postcss-preset-env@7.8.0: version "7.8.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz#5bd3ad53b2ef02edd41645d1ffee1ff8a49f24e5" integrity sha512-leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA== @@ -9113,10 +9113,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@17.1.2: - version "17.1.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.1.2.tgz#1e8ea8b0eee0e6afc5d95e2db6ae828a51ad63c9" - integrity sha512-xgFOxUl4hRjwQpODZSeJlE/rUzi8OmHtc3T4ir4CRYGzVmaTVHAl8VGpI0ooy752u2DFeMxvQdHmxNnLqPImIg== +puppeteer@17.1.3: + version "17.1.3" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.1.3.tgz#2814cf221925e19c681c69aa97401a68b30240c9" + integrity sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw== dependencies: cross-fetch "3.1.5" debug "4.3.4" From 13eaa3916d70686940ef8af342e2a473601fb58b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 12 Sep 2022 15:42:15 +0000 Subject: [PATCH 0869/1388] build: update ossf/scorecard-action action to v2.0.3 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 84c2fa7fda9b..cd96e6cf0f22 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -28,7 +28,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@13ec8c77e8a5dae7e0a0d47bde3e3004df15d34f # tag=v2.0.0 + uses: ossf/scorecard-action@865b4092859256271290c77adbd10a43f4779972 # tag=v2.0.3 with: results_file: results.sarif results_format: sarif From aae30d5a8411c768f77eeeda0651936755a4cc4d Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 7 Sep 2022 17:55:48 -0700 Subject: [PATCH 0870/1388] test: suppress npm update warnings --- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 5 +++++ tests/legacy-cli/e2e/tests/misc/npm-7.ts | 12 +----------- tests/legacy-cli/e2e/utils/process.ts | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index e1629552df23..295a89ec1df0 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -41,6 +41,11 @@ export default async function () { setGlobalVariable('npm-global', npmModulesPrefix); setGlobalVariable('yarn-global', yarnModulesPrefix); + // Disable all update/notification related npm/yarn features such as the NPM updater notifier. + // The NPM updater notifier may prevent the child process from closing until it timeouts after 3 minutes. + process.env.NO_UPDATE_NOTIFIER = '1'; + process.env.NPM_CONFIG_UPDATE_NOTIFIER = 'false'; + console.log(` Using "${npmModulesPrefix}" as e2e test global npm bin dir.`); console.log(` Using "${yarnModulesPrefix}" as e2e test global yarn bin dir.`); } diff --git a/tests/legacy-cli/e2e/tests/misc/npm-7.ts b/tests/legacy-cli/e2e/tests/misc/npm-7.ts index 31cf1a3ad668..deabdc21270a 100644 --- a/tests/legacy-cli/e2e/tests/misc/npm-7.ts +++ b/tests/legacy-cli/e2e/tests/misc/npm-7.ts @@ -1,5 +1,4 @@ import * as assert from 'assert'; -import { execSync } from 'child_process'; import { valid as validSemVer } from 'semver'; import { rimraf } from '../../utils/fs'; import { getActivePackageManager } from '../../utils/packages'; @@ -21,16 +20,7 @@ export default async function () { } // Get current package manager version to restore after tests - const initialVersionText = execSync('npm --version', { - encoding: 'utf8', - stdio: ['ignore', 'pipe', 'ignore'], - env: { - ...process.env, - // NPM updater notifier will prevent the child process from closing until it timeouts after 3 minutes. - NO_UPDATE_NOTIFIER: '1', - NPM_CONFIG_UPDATE_NOTIFIER: 'false', - }, - }).trim(); + const initialVersionText = (await npm('--version')).stdout.trim(); const initialVersion = validSemVer(initialVersionText); assert.ok( initialVersion, diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index fbd994530dc6..ea697ac822b4 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -16,7 +16,7 @@ interface ExecOptions { cwd?: string; } -const NPM_CONFIG_RE = /^(npm_config_|yarn_)/i; +const NPM_CONFIG_RE = /^(npm_config_|yarn_|no_update_notifier)/i; let _processes: child_process.ChildProcess[] = []; From b2add316e72431d2b75f81ea38b6321848cec1db Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 13 Sep 2022 10:52:45 -0400 Subject: [PATCH 0871/1388] build: remove unneeded BUILD file licenses rule comments --- packages/angular/cli/BUILD.bazel | 2 +- packages/angular/create/BUILD.bazel | 2 +- packages/angular/pwa/BUILD.bazel | 2 +- packages/angular_devkit/architect/BUILD.bazel | 2 +- packages/angular_devkit/architect/node/BUILD.bazel | 2 +- packages/angular_devkit/architect/testing/BUILD.bazel | 2 +- packages/angular_devkit/architect_cli/BUILD.bazel | 2 +- packages/angular_devkit/benchmark/BUILD.bazel | 2 +- packages/angular_devkit/build_angular/BUILD.bazel | 2 +- packages/angular_devkit/build_webpack/BUILD.bazel | 2 +- packages/angular_devkit/core/BUILD.bazel | 2 +- packages/angular_devkit/core/node/BUILD.bazel | 2 +- packages/angular_devkit/core/node/testing/BUILD.bazel | 2 +- packages/ngtools/webpack/BUILD.bazel | 2 +- packages/schematics/angular/BUILD.bazel | 2 +- tests/angular_devkit/core/node/jobs/BUILD.bazel | 2 +- .../schematics/tools/file-system-engine-host/BUILD.bazel | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 3ab6bfb40fea..296ad86ddfc4 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -9,7 +9,7 @@ load("//tools:ng_cli_schema_generator.bzl", "cli_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("//tools:ts_json_schema.bzl", "ts_json_schema") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular/create/BUILD.bazel b/packages/angular/create/BUILD.bazel index 53ac6a3d9ced..0b547661c54d 100644 --- a/packages/angular/create/BUILD.bazel +++ b/packages/angular/create/BUILD.bazel @@ -5,7 +5,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") -licenses(["notice"]) # MIT +licenses(["notice"]) ts_library( name = "create", diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 6fb691fbff20..426aec7333ee 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -8,7 +8,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index cbbe678f9411..114487de724f 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -9,7 +9,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("//tools:ts_json_schema.bzl", "ts_json_schema") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/architect/node/BUILD.bazel b/packages/angular_devkit/architect/node/BUILD.bazel index 19017fc1d602..91a53d8938d0 100644 --- a/packages/angular_devkit/architect/node/BUILD.bazel +++ b/packages/angular_devkit/architect/node/BUILD.bazel @@ -5,7 +5,7 @@ load("//tools:defaults.bzl", "ts_library") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/architect/testing/BUILD.bazel b/packages/angular_devkit/architect/testing/BUILD.bazel index 1b8dfa63d5dd..4c0a8ba2647e 100644 --- a/packages/angular_devkit/architect/testing/BUILD.bazel +++ b/packages/angular_devkit/architect/testing/BUILD.bazel @@ -5,7 +5,7 @@ load("//tools:defaults.bzl", "ts_library") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/architect_cli/BUILD.bazel b/packages/angular_devkit/architect_cli/BUILD.bazel index 7e047aa10182..fee4938a4ae6 100644 --- a/packages/angular_devkit/architect_cli/BUILD.bazel +++ b/packages/angular_devkit/architect_cli/BUILD.bazel @@ -4,7 +4,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") # # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/benchmark/BUILD.bazel b/packages/angular_devkit/benchmark/BUILD.bazel index cdffb4b76612..11a6bf8bcd60 100644 --- a/packages/angular_devkit/benchmark/BUILD.bazel +++ b/packages/angular_devkit/benchmark/BUILD.bazel @@ -7,7 +7,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 95a3117765dc..21f77f166a39 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -9,7 +9,7 @@ load("//tools:ts_json_schema.bzl", "ts_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/build_webpack/BUILD.bazel b/packages/angular_devkit/build_webpack/BUILD.bazel index 28f067d32ba4..a5b073ea5fd7 100644 --- a/packages/angular_devkit/build_webpack/BUILD.bazel +++ b/packages/angular_devkit/build_webpack/BUILD.bazel @@ -9,7 +9,7 @@ load("//tools:ts_json_schema.bzl", "ts_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 7fcc5b4b0f3c..500f9e69a840 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -9,7 +9,7 @@ load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # found in the LICENSE file at https://angular.io/license package(default_visibility = ["//visibility:public"]) -licenses(["notice"]) # MIT License +licenses(["notice"]) # @angular-devkit/core diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index bde6b9588794..41b4fe25bc14 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -7,7 +7,7 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") -licenses(["notice"]) # MIT License +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/angular_devkit/core/node/testing/BUILD.bazel b/packages/angular_devkit/core/node/testing/BUILD.bazel index d8a0b3958c9f..b290e69eb16e 100644 --- a/packages/angular_devkit/core/node/testing/BUILD.bazel +++ b/packages/angular_devkit/core/node/testing/BUILD.bazel @@ -4,7 +4,7 @@ load("//tools:defaults.bzl", "ts_library") # # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license -licenses(["notice"]) # MIT License +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/ngtools/webpack/BUILD.bazel b/packages/ngtools/webpack/BUILD.bazel index f62420dddc16..918053524a8a 100644 --- a/packages/ngtools/webpack/BUILD.bazel +++ b/packages/ngtools/webpack/BUILD.bazel @@ -8,7 +8,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") load("@npm//@angular/build-tooling/bazel/api-golden:index.bzl", "api_golden_test_npm_package") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index a09d3b20d995..c07252e79e43 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -8,7 +8,7 @@ load("//tools:defaults.bzl", "pkg_npm", "ts_library") load("//tools:ts_json_schema.bzl", "ts_json_schema") load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") -licenses(["notice"]) # MIT +licenses(["notice"]) package(default_visibility = ["//visibility:public"]) diff --git a/tests/angular_devkit/core/node/jobs/BUILD.bazel b/tests/angular_devkit/core/node/jobs/BUILD.bazel index 3614dd5b09f1..5af4057d3dfb 100644 --- a/tests/angular_devkit/core/node/jobs/BUILD.bazel +++ b/tests/angular_devkit/core/node/jobs/BUILD.bazel @@ -6,7 +6,7 @@ load("//tools:defaults.bzl", "ts_library") # found in the LICENSE file at https://angular.io/license package(default_visibility = ["//visibility:public"]) -licenses(["notice"]) # MIT License +licenses(["notice"]) ts_library( name = "jobs_test_lib", diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel index 38d1670e2448..bbe3650c86aa 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel @@ -6,7 +6,7 @@ load("//tools:defaults.bzl", "ts_library") # found in the LICENSE file at https://angular.io/license package(default_visibility = ["//visibility:public"]) -licenses(["notice"]) # MIT License +licenses(["notice"]) ts_library( name = "file_system_engine_host_test_lib", From acd2e92bc4aaaa35fe00e553863acfa525b4a6f8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 13 Sep 2022 17:45:31 +0000 Subject: [PATCH 0872/1388] build: update all non-major dependencies --- WORKSPACE | 10 +- package.json | 12 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 157 +++++++++++------- 4 files changed, 106 insertions(+), 75 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 6bc36c67214c..10bc30fc1d59 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "f10a3a12894fc3c9bf578ee5a5691769f6805c4be84359681a785a0c12e8d2b6", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.3/rules_nodejs-5.5.3.tar.gz"], + sha256 = "493bb318d98bb7492cb30e534ad33df2fc5539b43d4dcc4e294a5cc60a126902", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.4/rules_nodejs-5.5.4.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "8ea64f13c6db68356355d6a97dced3d149e9cd7ba3ecb4112960586e914e466d", - strip_prefix = "bazel-lib-1.11.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.11.1.tar.gz", + sha256 = "cb8ef14aa104e91936697f8fb07a6ce844c73b25126fe2287a0242f7324c14c0", + strip_prefix = "bazel-lib-1.11.6", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.11.6.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 48563134281c..559aef9985b8 100644 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.5.3", - "@bazel/jasmine": "5.5.3", + "@bazel/concatjs": "5.5.4", + "@bazel/jasmine": "5.5.4", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -123,13 +123,13 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.36.2", - "@typescript-eslint/parser": "5.36.2", + "@typescript-eslint/eslint-plugin": "5.37.0", + "@typescript-eslint/parser": "5.37.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.8", + "autoprefixer": "10.4.10", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", @@ -143,7 +143,7 @@ "debug": "^4.1.1", "esbuild": "0.15.7", "esbuild-wasm": "0.15.7", - "eslint": "8.23.0", + "eslint": "8.23.1", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index d8d783abb819..4b62c5c985d0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -22,7 +22,7 @@ "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.8", + "autoprefixer": "10.4.10", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", diff --git a/yarn.lock b/yarn.lock index 19eaf2d3af2f..fffe558d5f0c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1362,15 +1362,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.4.tgz#8d307e50e88305d176b5ab83b106cbe7e9b922c9" + integrity sha512-C2EQM4HECsw7JKhPqeH+36hROExTxNgi25jItmVqF1ap2Z2F2sAdfDdBJTCCCiFLKv1+2TQLSej/wmoS4MvrSw== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.5.3": version "5.5.3" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.3.tgz#2172ecad5f5729d5d71c34a836b28cd081f84e6d" integrity sha512-A+mVZfJsnTYc4dvrmGy/Sxu4pt2jvJFRFONP+ngve4qont3K1xK3LF3C6uOEFk4lMNoykUptr7/bvhGRr/j9Vw== -"@bazel/jasmine@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.3.tgz#90aa34218287ce1cc79e08274f4aa63460a4a1b2" - integrity sha512-dEgppnYPPot9c5EudnsaMKQHi8Su7rpKO5ENXWOqRxwuGCm1TvkyDvJghUbxpq9TpFqn7L39mJ+LB7IPYNF9TQ== +"@bazel/jasmine@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.4.tgz#fc300ba9c7f3e76a838ef27a8bc7ac55ccd681cc" + integrity sha512-bJmQ4najURqtzqlW8IsM+wA/oDvrFcdNoQVEuF14j9wURKrJJNPZhTDkbexqvVevBsYnBwdaNiv3vkBydFrBgw== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1545,10 +1554,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== -"@eslint/eslintrc@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" - integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== +"@eslint/eslintrc@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" + integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -2610,14 +2619,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" - integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== +"@typescript-eslint/eslint-plugin@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz#5ccdd5d9004120f28fc6e717fb4b5c9bddcfbc04" + integrity sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/type-utils" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/scope-manager" "5.37.0" + "@typescript-eslint/type-utils" "5.37.0" + "@typescript-eslint/utils" "5.37.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -2625,70 +2634,70 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" - integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== +"@typescript-eslint/parser@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.37.0.tgz#c382077973f3a4ede7453fb14cadcad3970cbf3b" + integrity sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/scope-manager" "5.37.0" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/typescript-estree" "5.37.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" - integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== +"@typescript-eslint/scope-manager@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz#044980e4f1516a774a418dafe701a483a6c9f9ca" + integrity sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q== dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/visitor-keys" "5.37.0" -"@typescript-eslint/type-utils@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" - integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== +"@typescript-eslint/type-utils@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz#43ed2f567ada49d7e33a6e4b6f9babd060445fe5" + integrity sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ== dependencies: - "@typescript-eslint/typescript-estree" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/utils" "5.37.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" - integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== +"@typescript-eslint/types@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.37.0.tgz#09e4870a5f3af7af3f84e08d792644a87d232261" + integrity sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA== -"@typescript-eslint/typescript-estree@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" - integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== +"@typescript-eslint/typescript-estree@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz#956dcf5c98363bcb97bdd5463a0a86072ff79355" + integrity sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA== dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/visitor-keys" "5.37.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" - integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== +"@typescript-eslint/utils@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.37.0.tgz#7784cb8e91390c4f90ccaffd24a0cf9874df81b2" + integrity sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/scope-manager" "5.37.0" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/typescript-estree" "5.37.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" - integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== +"@typescript-eslint/visitor-keys@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz#7b72dd343295ea11e89b624995abc7103c554eee" + integrity sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA== dependencies: - "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/types" "5.37.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3228,7 +3237,19 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.8, autoprefixer@^10.4.8: +autoprefixer@10.4.10: + version "10.4.10" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.10.tgz#a1d8891d1516155eb13a772b1289efdc61de14ef" + integrity sha512-nMaiDARyp1e74c8IeAXkr+BmFKa8By4Zak7tyaNPF09Iu39WFpNXOWrVirmXjKr+5cOyERwvtbMOLYz6iBJYgQ== + dependencies: + browserslist "^4.21.3" + caniuse-lite "^1.0.30001399" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +autoprefixer@^10.4.8: version "10.4.8" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== @@ -3685,6 +3706,11 @@ caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz#158a43011e7068ef7fc73590e9fd91a7cece5e7f" integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g== +caniuse-lite@^1.0.30001399: + version "1.0.30001399" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz#1bf994ca375d7f33f8d01ce03b7d5139e8587873" + integrity sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -5186,12 +5212,12 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.23.0: - version "8.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" - integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== +eslint@8.23.1: + version "8.23.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.1.tgz#cfd7b3f7fdd07db8d16b4ac0516a29c8d8dca5dc" + integrity sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg== dependencies: - "@eslint/eslintrc" "^1.3.1" + "@eslint/eslintrc" "^1.3.2" "@humanwhocodes/config-array" "^0.10.4" "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" "@humanwhocodes/module-importer" "^1.0.1" @@ -5210,7 +5236,6 @@ eslint@8.23.0: fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" globals "^13.15.0" globby "^11.1.0" @@ -5219,6 +5244,7 @@ eslint@8.23.0: import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" @@ -6747,6 +6773,11 @@ js-base64@^2.4.3: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== +js-sdsl@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" + integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" From 6b6eb9c5058018a380f35137175366b966d7ef46 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 13 Sep 2022 19:09:20 +0000 Subject: [PATCH 0873/1388] build: update angular to 505f8a2 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 14 ++++---- 6 files changed, 30 insertions(+), 28 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 6fe57cbb40ae..9fbe8a831a40 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@bf4bb09bb2d32015f71943371c7484cb845f8c33 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 + - uses: angular/dev-infra/github-actions/post-approval-changes@bf4bb09bb2d32015f71943371c7484cb845f8c33 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 4bdae4d409e7..fa2a3f97dd20 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 + - uses: angular/dev-infra/github-actions/feature-request@bf4bb09bb2d32015f71943371c7484cb845f8c33 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 8097740221c4..c127660ca126 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@1c648b45459fa32ffd7de8a8fc07bde6bdbef923 + - uses: angular/dev-infra/github-actions/lock-closed@bf4bb09bb2d32015f71943371c7484cb845f8c33 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 559aef9985b8..c0ab40986ab8 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.1", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937", "@angular/cdk": "14.2.1", "@angular/common": "15.0.0-next.1", "@angular/compiler": "15.0.0-next.1", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.1", "@angular/localize": "15.0.0-next.1", "@angular/material": "14.2.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a", "@angular/platform-browser": "15.0.0-next.1", "@angular/platform-browser-dynamic": "15.0.0-next.1", "@angular/platform-server": "15.0.0-next.1", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 994401562bb8..b36c33bb6fcd 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#699c90f3b299f44f090117f5cb10d9b5e641c757", - "@angular/cdk": "github:angular/cdk-builds#58902d13b9fde1c57f75df81677aa9bcb2df55f3", - "@angular/common": "github:angular/common-builds#7bbb65ed33ea716ad5565b396ba036d21b94ba04", - "@angular/compiler": "github:angular/compiler-builds#57fc50bab66e36f558cb815169907192bc016f98", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#4ebd4f8acb13a70f8ff65ac67434b766a80d28f2", - "@angular/core": "github:angular/core-builds#84fd8d7907a235721db4fd05457f75c4e211acf6", - "@angular/forms": "github:angular/forms-builds#a9fe0be9811cf32538c5b959c3b0fe335d8653d8", - "@angular/language-service": "github:angular/language-service-builds#56a0befedb9570668ade432a976f706cfa5006f7", - "@angular/localize": "github:angular/localize-builds#1d3649a90c16330ee3ae0c9c1118c4acb30c4727", - "@angular/material": "github:angular/material-builds#9404213c26a296c88f776c93936e700a44301311", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2d3645d5c6177647a891057d2b733ca7145677e3", - "@angular/platform-browser": "github:angular/platform-browser-builds#fce48bc44c444d7fe0d7a2f1194f2831714b397b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aaebc9329d0a4b3ff856e53a36d69deb8e5ea53b", - "@angular/platform-server": "github:angular/platform-server-builds#7333991c1445f5959246a490c0c4eb871eb39d19", - "@angular/router": "github:angular/router-builds#da24571dbbb8856b1df9593ba6aa592c9f81e1c6", - "@angular/service-worker": "github:angular/service-worker-builds#559cddb0bee3bdae7930387abf045bb9e343349d" + "@angular/animations": "github:angular/animations-builds#505f8a2d2be6586e89acd246d2050a8b500a57a3", + "@angular/cdk": "github:angular/cdk-builds#147db6e77fb118c3b0e5f7bf46769cab8d219613", + "@angular/common": "github:angular/common-builds#c171283d4694df186a9bd0ccdb8627172a42eead", + "@angular/compiler": "github:angular/compiler-builds#db96e5bb9b07480ee6589dcdeb82f88a54467c04", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#004f5e81c96bb2deb3c363b22c19738594abfa8b", + "@angular/core": "github:angular/core-builds#95970adf4382baad891c38ba2b06dbad519c7a23", + "@angular/forms": "github:angular/forms-builds#ef7df208ae0ca43b6fb5d818ebdc174969e0eeee", + "@angular/language-service": "github:angular/language-service-builds#a519d59ff410471ac6dd4f8dcc817af777a71d6f", + "@angular/localize": "github:angular/localize-builds#55ba186c15dd613908dd7e2893fd5a861034d4b0", + "@angular/material": "github:angular/material-builds#25a8d45f3b1dc8f959a29c4c8f60d23d30bd7dd8", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6b45289b7e34329ed0b1bea2d61984751aee7cdb", + "@angular/platform-browser": "github:angular/platform-browser-builds#c60de4ee2bea59155d5123d572ee553daa984301", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#81f0ae73265a73e9f9ad201d953a1d3b4ff33114", + "@angular/platform-server": "github:angular/platform-server-builds#971c4d5ad5e0aa689d76ba928522549ad64f0d0e", + "@angular/router": "github:angular/router-builds#fa50da1f896bb52c4016c2d73736faf26dce6e08", + "@angular/service-worker": "github:angular/service-worker-builds#e9358b171567c8914153ffbbfb93db8e60374fdc" } } diff --git a/yarn.lock b/yarn.lock index fffe558d5f0c..c47ec280618b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,9 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd": - version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f2a04c81f9cfbf8a86e595ca5d1ca1da50ddf9dd" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937": + version "0.0.0-bf4bb09bb2d32015f71943371c7484cb845f8c33" + uid "6f2cb5cf1860e75368528cf2216798db6f94d937" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" "@angular/benchpress" "0.3.0" @@ -240,9 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8": - version "0.0.0-1c648b45459fa32ffd7de8a8fc07bde6bdbef923" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#20aa4d8a5ec774e1f21fbc50bca511c229a1a7f8" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a": + version "0.0.0-bf4bb09bb2d32015f71943371c7484cb845f8c33" + uid "170605f156be18f179ad0024d386d4a7c05efa9a" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From c3129520e7a58c876315eb29db7d0202d15a805b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 14 Sep 2022 12:18:27 -0400 Subject: [PATCH 0874/1388] ci: remove manually specifying GITHUB_TOKEN in scorecard action The `ossf/scorecard-action` action will automatically use the builtin GITHUB_TOKEN as needed. --- .github/workflows/scorecard.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index cd96e6cf0f22..1bbb8b450810 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -32,7 +32,6 @@ jobs: with: results_file: results.sarif results_format: sarif - repo_token: ${{ secrets.GITHUB_TOKEN }} publish_results: true # Upload the results as artifacts. From 25ef9e789081a18a3fc48a4af374697c9a0b6a2b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 14 Sep 2022 08:37:00 +0000 Subject: [PATCH 0875/1388] test: re-enable Angular material tests Now that `@angular/material` has been released as `15.0.0-next` we can re-enable these tests. --- tests/legacy-cli/e2e/tests/build/material.ts | 3 -- .../e2e/tests/commands/add/add-material.ts | 49 +++++++++---------- .../misc/invalid-schematic-dependencies.ts | 3 -- 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 6882dd108684..a010ea834791 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,9 +7,6 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - // TODO(alanagius): re-enable once material version 15.0.0-next is out. - return; - let tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index f96f6745c5aa..724b521519a1 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -5,34 +5,31 @@ import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; export default async function () { - // TODO(alanagius): re-enable material once version 15.0.0-next is out. - return; + // forcibly remove in case another test doesn't clean itself up + await rimraf('node_modules/@angular/material'); - // // forcibly remove in case another test doesn't clean itself up - // await rimraf('node_modules/@angular/material'); + const tag = (await isPrereleaseCli()) ? '@next' : ''; - // const tag = (await isPrereleaseCli()) ? '@next' : ''; + try { + await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); + } catch (error) { + assertIsError(error); + if (!error.message.includes(`Unknown option: '--unknown'`)) { + throw error; + } + } - // try { - // await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); - // } catch (error) { - // assertIsError(error); - // if (!error.message.includes(`Unknown option: '--unknown'`)) { - // throw error; - // } - // } + await ng( + 'add', + `@angular/material${tag}`, + '--theme', + 'custom', + '--verbose', + '--skip-confirmation', + ); + await expectFileToMatch('package.json', /@angular\/material/); - // await ng( - // 'add', - // `@angular/material${tag}`, - // '--theme', - // 'custom', - // '--verbose', - // '--skip-confirmation', - // ); - // await expectFileToMatch('package.json', /@angular\/material/); - - // // Clean up existing cdk package - // // Not doing so can cause adding material to fail if an incompatible cdk is present - // await uninstallPackage('@angular/cdk'); + // Clean up existing cdk package + // Not doing so can cause adding material to fail if an incompatible cdk is present + await uninstallPackage('@angular/cdk'); } diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 82ec33b94841..432f21167cdb 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -4,9 +4,6 @@ import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; export default async function () { - // TODO(alanagius): re-enable once material version 15.0.0-next is out. - return; - // Must publish old version to local registry to allow install. This is especially important // for release commits as npm will try to request tooling packages that are not on the npm registry yet await publishOutdated('@schematics/angular@7'); From 2021e66a12fb873140d54cff82968a10e3ffa010 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 14 Sep 2022 07:31:44 +0000 Subject: [PATCH 0876/1388] fix(@angular-devkit/build-angular): watch symbolic links This commit addresses an issue which caused symbolic links not to be watched properly. Closes #15100 --- .../src/webpack/configs/common.ts | 9 ++++++ .../e2e/tests/build/rebuild-symlink.ts | 31 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/build/rebuild-symlink.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 17268046b483..636e9ef073da 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -334,8 +334,17 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise { + configJson.projects['test-project'].architect.build.options.preserveSymlinks = true; + }); + + await writeMultipleFiles({ + 'src/link-source.ts': '// empty file', + 'src/main.ts': `import './link-dest';`, + }); + + await symlink(resolve('src/link-source.ts'), resolve('src/link-dest.ts')); + + await execAndWaitForOutputToMatch( + 'ng', + ['build', '--watch', '--configuration=development'], + buildReadyRegEx, + ); + + // Trigger a rebuild + await appendToFile('src/link-source.ts', `console.log('foo-bar');`); + await waitForAnyProcessOutputToMatch(buildReadyRegEx); + await expectFileToMatch('dist/test-project/main.js', `console.log('foo-bar')`); +} From 4de9045de806537cc02f711e3f61366399a27807 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 9 Aug 2022 16:35:51 -0700 Subject: [PATCH 0877/1388] test: unit test multiple node versions in separate jobs --- .circleci/dynamic_config.yml | 42 +++++++++++++++---- packages/angular/cli/BUILD.bazel | 1 + packages/angular/pwa/BUILD.bazel | 1 + packages/angular_devkit/architect/BUILD.bazel | 1 + packages/angular_devkit/benchmark/BUILD.bazel | 1 + .../angular_devkit/build_angular/BUILD.bazel | 12 ++++-- .../angular_devkit/build_webpack/BUILD.bazel | 1 + packages/angular_devkit/core/BUILD.bazel | 1 + packages/angular_devkit/core/node/BUILD.bazel | 1 + .../angular_devkit/schematics/BUILD.bazel | 1 + .../schematics/tools/BUILD.bazel | 1 + .../angular_devkit/schematics_cli/BUILD.bazel | 1 + packages/ngtools/webpack/BUILD.bazel | 1 + packages/schematics/angular/BUILD.bazel | 2 + tools/toolchain_info.bzl | 14 +++---- 15 files changed, 63 insertions(+), 18 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index c02186289c23..e34bf206fc0b 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -25,6 +25,10 @@ parameters: var_1: &cache_key v1-angular_devkit-14.19-{{ checksum "yarn.lock" }} var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }} var_3: &default_nodeversion '14.19' +var_3_major: &default_nodeversion_major '14' +# The major version of node toolchains. See tools/toolchain_info.bzl +# NOTE: entries in this array may be repeated elsewhere in the file, find them before adding more +var_3_all_major: &all_nodeversion_major ['14', '16'] # Workspace initially persisted by the `setup` job, and then enhanced by `setup-and-build-win`. # https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs # https://circleci.com/blog/deep-diving-into-circleci-workspaces/ @@ -287,19 +291,39 @@ jobs: - custom_attach_workspace - run: yarn bazel build //tests/legacy-cli/... - test: + unit-test: executor: test-executor resource_class: xlarge + parameters: + nodeversion: + type: string + default: *default_nodeversion_major steps: - custom_attach_workspace - browser-tools/install-chrome - setup_bazel_rbe - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - - run: - command: yarn bazel:test - # This timeout provides time for the actual tests to timeout and report status - # instead of CircleCI stopping the job without test failure information. - no_output_timeout: 40m + - when: + # The default nodeversion runs all *excluding* other versions + condition: + equal: [*default_nodeversion_major, << parameters.nodeversion >>] + steps: + - run: + command: yarn bazel test --test_tag_filters=-node16,-node<< parameters.nodeversion >>-broken //packages/... + # This timeout provides time for the actual tests to timeout and report status + # instead of CircleCI stopping the job without test failure information. + no_output_timeout: 40m + - when: + # Non-default nodeversion runs only that specific nodeversion + condition: + not: + equal: [*default_nodeversion_major, << parameters.nodeversion >>] + steps: + - run: + command: yarn bazel test --test_tag_filters=node<< parameters.nodeversion >>,-node<< parameters.nodeversion >>-broken //packages/... + # This timeout provides time for the actual tests to timeout and report status + # instead of CircleCI stopping the job without test failure information. + no_output_timeout: 40m - fail_fast snapshot_publish: @@ -446,7 +470,11 @@ workflows: # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and # will catch any build errors before proceeding to the more lengthy and resource intensive # Bazel jobs. - - test: + - unit-test: + name: test-node<< matrix.nodeversion >> + matrix: + parameters: + nodeversion: *all_nodeversion_major requires: - build diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 296ad86ddfc4..d9ae936ad37b 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -152,6 +152,7 @@ ts_library( jasmine_node_test( name = "angular-cli_test_" + toolchain_name, srcs = [":angular-cli_test_lib"], + tags = [toolchain_name], toolchain = toolchain, ) for toolchain_name, toolchain in zip( diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 426aec7333ee..eeaf57c76d2a 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -66,6 +66,7 @@ ts_library( jasmine_node_test( name = "pwa_test_" + toolchain_name, srcs = [":pwa_test_lib"], + tags = [toolchain_name], toolchain = toolchain, ) for toolchain_name, toolchain in zip( diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index 114487de724f..a6e9f961bdc4 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -90,6 +90,7 @@ ts_library( jasmine_node_test( name = "architect_test_" + toolchain_name, srcs = [":architect_test_lib"], + tags = [toolchain_name], toolchain = toolchain, ) for toolchain_name, toolchain in zip( diff --git a/packages/angular_devkit/benchmark/BUILD.bazel b/packages/angular_devkit/benchmark/BUILD.bazel index 11a6bf8bcd60..2e0bd223f95d 100644 --- a/packages/angular_devkit/benchmark/BUILD.bazel +++ b/packages/angular_devkit/benchmark/BUILD.bazel @@ -60,6 +60,7 @@ ts_library( jasmine_node_test( name = "benchmark_test_" + toolchain_name, srcs = [":benchmark_test_lib"], + tags = [toolchain_name], toolchain = toolchain, deps = [ "@npm//jasmine", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 21f77f166a39..915348be18fe 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -212,6 +212,7 @@ ts_library( jasmine_node_test( name = "build_angular_test_" + toolchain_name, srcs = [":build_angular_test_lib"], + tags = [toolchain_name], toolchain = toolchain, ) for toolchain_name, toolchain in zip( @@ -293,8 +294,10 @@ LARGE_SPECS = { "@npm//puppeteer", "@npm//ts-node", ], - # NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver - "tags": ["no-remote-exec"], + "tags": [ + # TODO: node crashes with an internal error on node16 + "node16-broken", + ], }, "dev-server": { "shards": 10, @@ -398,7 +401,10 @@ LARGE_SPECS = { # These tests are resource intensive and should not be over-parallized as they will # compete for the resources of other parallel tests slowing everything down. # Ask Bazel to allocate multiple CPUs for these tests with "cpu:n" tag. - tags = ["cpu:2"] + LARGE_SPECS[spec].get("tags", []), + tags = [ + "cpu:2", + toolchain_name, + ] + LARGE_SPECS[spec].get("tags", []), toolchain = toolchain, deps = [":build_angular_" + spec + "_test_lib"], ) diff --git a/packages/angular_devkit/build_webpack/BUILD.bazel b/packages/angular_devkit/build_webpack/BUILD.bazel index a5b073ea5fd7..9d1cf4bb25e1 100644 --- a/packages/angular_devkit/build_webpack/BUILD.bazel +++ b/packages/angular_devkit/build_webpack/BUILD.bazel @@ -92,6 +92,7 @@ ts_library( jasmine_node_test( name = "build_webpack_test_" + toolchain_name, srcs = [":build_webpack_test_lib"], + tags = [toolchain_name], # Turns off nodejs require patches and turns on the linker, which sets up up node_modules # so that standard node module resolution work. templated_args = ["--nobazel_patch_module_resolver"], diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 500f9e69a840..b791f6d05844 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -65,6 +65,7 @@ ts_library( jasmine_node_test( name = "core_test_" + toolchain_name, srcs = [":core_test_lib"], + tags = [toolchain_name], toolchain = toolchain, ) for toolchain_name, toolchain in zip( diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index 41b4fe25bc14..9d89f0f7e239 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -57,6 +57,7 @@ ts_library( jasmine_node_test( name = "node_test_" + toolchain_name, srcs = [":node_test_lib"], + tags = [toolchain_name], toolchain = toolchain, deps = [ "@npm//chokidar", diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index e95cae7e00c7..9f56a7377905 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -61,6 +61,7 @@ ts_library( jasmine_node_test( name = "schematics_test_" + toolchain_name, srcs = [":schematics_test_lib"], + tags = [toolchain_name], toolchain = toolchain, deps = [ "@npm//jasmine", diff --git a/packages/angular_devkit/schematics/tools/BUILD.bazel b/packages/angular_devkit/schematics/tools/BUILD.bazel index 3fe911d536db..3b3d9d8660a0 100644 --- a/packages/angular_devkit/schematics/tools/BUILD.bazel +++ b/packages/angular_devkit/schematics/tools/BUILD.bazel @@ -62,6 +62,7 @@ ts_library( jasmine_node_test( name = "tools_test_" + toolchain_name, srcs = [":tools_test_lib"], + tags = [toolchain_name], toolchain = toolchain, deps = [ "@npm//jasmine", diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index 57a36744da2d..9e4af505cfeb 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -78,6 +78,7 @@ ts_library( jasmine_node_test( name = "schematics_cli_test_" + toolchain_name, srcs = [":schematics_cli_test_lib"], + tags = [toolchain_name], toolchain = toolchain, ) for toolchain_name, toolchain in zip( diff --git a/packages/ngtools/webpack/BUILD.bazel b/packages/ngtools/webpack/BUILD.bazel index 918053524a8a..53b8a5d12abf 100644 --- a/packages/ngtools/webpack/BUILD.bazel +++ b/packages/ngtools/webpack/BUILD.bazel @@ -62,6 +62,7 @@ ts_library( jasmine_node_test( name = "webpack_test_" + toolchain_name, srcs = [":webpack_test_lib"], + tags = [toolchain_name], toolchain = toolchain, deps = [ "@npm//jasmine", diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index c07252e79e43..d9ca542310eb 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -86,6 +86,7 @@ ts_library( jasmine_node_test( name = "no_typescript_runtime_dep_test_" + toolchain_name, srcs = ["no_typescript_runtime_dep_spec.js"], + tags = [toolchain_name], toolchain = toolchain, deps = [ ":angular", @@ -129,6 +130,7 @@ ts_library( jasmine_node_test( name = "angular_test_" + toolchain_name, srcs = [":angular_test_lib"], + tags = [toolchain_name], toolchain = toolchain, deps = [ "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", diff --git a/tools/toolchain_info.bzl b/tools/toolchain_info.bzl index 79c2ddfc3313..505fbc713168 100644 --- a/tools/toolchain_info.bzl +++ b/tools/toolchain_info.bzl @@ -4,8 +4,7 @@ # the order will match against the order in the TOOLCHAIN_VERSION list. TOOLCHAINS_NAMES = [ "node14", - # TODO enable one we know more why there is a memory usage increase and app-shell tests work with Node.js 16. - # "node16", + "node16", ] # this is the list of toolchains that should be used and are registered with nodejs_register_toolchains in the WORKSPACE file @@ -15,12 +14,11 @@ TOOLCHAINS_VERSIONS = [ "@bazel_tools//src/conditions:darwin": "@node14_darwin_amd64//:node_toolchain", "@bazel_tools//src/conditions:windows": "@node14_windows_amd64//:node_toolchain", }), - # TODO enable one we know more why there is a memory usage increase and app-shell tests work with Node.js 16. - # select({ - # "@bazel_tools//src/conditions:linux_x86_64": "@node16_linux_amd64//:node_toolchain", - # "@bazel_tools//src/conditions:darwin": "@node16_darwin_amd64//:node_toolchain", - # "@bazel_tools//src/conditions:windows": "@node16_windows_amd64//:node_toolchain", - # }), + select({ + "@bazel_tools//src/conditions:linux_x86_64": "@node16_linux_amd64//:node_toolchain", + "@bazel_tools//src/conditions:darwin": "@node16_darwin_amd64//:node_toolchain", + "@bazel_tools//src/conditions:windows": "@node16_windows_amd64//:node_toolchain", + }), ] # A default toolchain for use when only one is necessary From 71ff22cc0c93e100d9d5ff489bb16f4e46c50f17 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 12 Sep 2022 06:11:58 +0000 Subject: [PATCH 0878/1388] refactor(@schematics/angular): remove migrations for version 14 This migrations are no longer needed as multiple versions update is not allowed. --- .../migrations/migration-collection.json | 33 +--- .../angular-packages-version-prefix.ts | 67 -------- .../angular-packages-version-prefix_spec.ts | 153 ------------------ .../remove-default-project-option.ts | 17 -- .../remove-default-project-option_spec.ts | 51 ------ ...emove-show-circular-dependencies-option.ts | 28 ---- ...-show-circular-dependencies-option_spec.ts | 82 ---------- .../replace-default-collection-option.ts | 35 ---- .../replace-default-collection-option_spec.ts | 101 ------------ .../update-libraries-secondary-entrypoints.ts | 65 -------- ...te-libraries-secondary-entrypoints_spec.ts | 122 -------------- .../update-14/update-tsconfig-target.ts | 56 ------- .../update-14/update-tsconfig-target_spec.ts | 127 --------------- 13 files changed, 1 insertion(+), 936 deletions(-) delete mode 100644 packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts delete mode 100644 packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-14/remove-default-project-option.ts delete mode 100644 packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option.ts delete mode 100644 packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts delete mode 100644 packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts delete mode 100644 packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts delete mode 100644 packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts delete mode 100644 packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 61d935a1595e..63001b445889 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -1,34 +1,3 @@ { - "schematics": { - "update-angular-packages-version-prefix": { - "version": "14.0.0", - "factory": "./update-14/angular-packages-version-prefix", - "description": "Update Angular packages 'dependencies' and 'devDependencies' version prefix to '^' instead of '~'." - }, - "update-tsconfig-target": { - "version": "14.0.0", - "factory": "./update-14/update-tsconfig-target", - "description": "Update TypeScript compilation target to 'ES2020'." - }, - "remove-show-circular-dependencies-option": { - "version": "14.0.0", - "factory": "./update-14/remove-show-circular-dependencies-option", - "description": "Remove 'showCircularDependencies' option from browser and server builders." - }, - "remove-default-project-option": { - "version": "14.0.0", - "factory": "./update-14/remove-default-project-option", - "description": "Remove 'defaultProject' option from workspace configuration. The project to use will be determined from the current working directory." - }, - "replace-default-collection-option": { - "version": "14.0.0", - "factory": "./update-14/replace-default-collection-option", - "description": "Replace 'defaultCollection' option in workspace configuration with 'schematicCollections'." - }, - "update-libraries-secondary-entrypoints": { - "version": "14.0.0", - "factory": "./update-14/update-libraries-secondary-entrypoints", - "description": "Remove 'package.json' files from library projects secondary entrypoints." - } - } + "schematics": {} } diff --git a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts deleted file mode 100644 index 621d94981bec..000000000000 --- a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule } from '@angular-devkit/schematics'; -import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; -import { NodeDependencyType } from '../../utility/dependencies'; -import { JSONFile } from '../../utility/json-file'; - -const PACKAGES_REGEXP = /^@(?:angular|nguniversal|schematics|angular-devkit)\/|^ng-packagr$/; - -/** - * This migrations updates Angular packages 'dependencies' and 'devDependencies' version prefix to '^' instead of '~'. - * - * @example - * **Before** - * ```json - * dependencies: { - * "@angular/animations": "~13.1.0", - * "@angular/common": "~13.1.0" - * } - * ``` - * - * **After** - * ```json - * dependencies: { - * "@angular/animations": "^13.1.0", - * "@angular/common": "^13.1.0" - * } - * ``` - */ -export default function (): Rule { - return (tree, context) => { - const json = new JSONFile(tree, '/package.json'); - updateVersionPrefixToTilde(json, NodeDependencyType.Default); - updateVersionPrefixToTilde(json, NodeDependencyType.Dev); - - context.addTask(new NodePackageInstallTask()); - }; -} - -function updateVersionPrefixToTilde(json: JSONFile, dependencyType: NodeDependencyType): void { - const dependencyTypePath = [dependencyType]; - const dependencies = json.get(dependencyTypePath); - - if (!dependencies || typeof dependencies !== 'object') { - return; - } - - const updatedDependencies = new Map(); - for (const [name, version] of Object.entries(dependencies)) { - if (typeof version === 'string' && version.charAt(0) === '~' && PACKAGES_REGEXP.test(name)) { - updatedDependencies.set(name, `^${version.substring(1)}`); - } - } - - if (updatedDependencies.size) { - json.modify(dependencyTypePath, { - ...dependencies, - ...Object.fromEntries(updatedDependencies), - }); - } -} diff --git a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts b/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts deleted file mode 100644 index 07156623389b..000000000000 --- a/packages/schematics/angular/migrations/update-14/angular-packages-version-prefix_spec.ts +++ /dev/null @@ -1,153 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; - -describe('Migration to update Angular packages version prefix to `^` instead of `~`', () => { - const packageJsonPath = '/package.json'; - const schematicName = 'update-angular-packages-version-prefix'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - }); - - it(`should replace Angular packages versioned with '~' to '^'`, async () => { - tree.create( - packageJsonPath, - JSON.stringify({ - dependencies: { - '@angular/animations': '~13.1.0', - '@angular/common': '~13.1.0', - '@angular/compiler': '~13.1.0', - '@angular/core': '~13.1.0', - '@angular/forms': '~13.1.0', - '@angular/platform-browser': '~13.1.0', - '@angular/platform-browser-dynamic': '~13.1.0', - '@angular/router': '~13.1.0', - '@nguniversal/commom': '^13.1.0', - 'rxjs': '~7.4.0', - 'tslib': '^2.3.0', - 'zone.js': '~0.11.4', - }, - devDependencies: { - '@angular-devkit/build-angular': '~13.1.3', - '@angular/cli': '~13.1.3', - '@angular/compiler-cli': '~13.1.0', - '@angular/localize': '^13.1.3', - '@types/jasmine': '~3.10.0', - '@types/node': '^14.15.0', - 'jasmine-core': '~3.10.0', - 'karma': '~6.3.0', - 'karma-chrome-launcher': '~3.1.0', - 'karma-coverage': '~2.1.0', - 'karma-jasmine': '~4.0.0', - 'karma-jasmine-html-reporter': '~1.7.0', - 'ng-packagr': '~13.1.3', - 'typescript': '~4.5.2', - }, - }), - ); - - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const pkg = JSON.parse(newTree.readContent(packageJsonPath)); - - expect(pkg['dependencies']).toEqual({ - '@angular/animations': '^13.1.0', - '@angular/common': '^13.1.0', - '@angular/compiler': '^13.1.0', - '@angular/core': '^13.1.0', - '@angular/forms': '^13.1.0', - '@angular/platform-browser': '^13.1.0', - '@angular/platform-browser-dynamic': '^13.1.0', - '@angular/router': '^13.1.0', - '@nguniversal/commom': '^13.1.0', - 'rxjs': '~7.4.0', - 'tslib': '^2.3.0', - 'zone.js': '~0.11.4', - }); - - expect(pkg['devDependencies']).toEqual({ - '@angular-devkit/build-angular': '^13.1.3', - '@angular/cli': '^13.1.3', - '@angular/compiler-cli': '^13.1.0', - '@angular/localize': '^13.1.3', - '@types/jasmine': '~3.10.0', - '@types/node': '^14.15.0', - 'jasmine-core': '~3.10.0', - 'karma': '~6.3.0', - 'karma-chrome-launcher': '~3.1.0', - 'karma-coverage': '~2.1.0', - 'karma-jasmine': '~4.0.0', - 'karma-jasmine-html-reporter': '~1.7.0', - 'ng-packagr': '^13.1.3', - 'typescript': '~4.5.2', - }); - }); - - it('should not replace pinned Angular packages versions', async () => { - tree.create( - packageJsonPath, - JSON.stringify({ - dependencies: { - '@angular/animations': '13.1.0', - '@angular/core': '~13.1.0', - }, - devDependencies: { - '@angular-devkit/build-angular': '13.1.3', - }, - }), - ); - - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const pkg = JSON.parse(newTree.readContent(packageJsonPath)); - - expect(pkg['dependencies']['@angular/animations']).toBe('13.1.0'); - expect(pkg['dependencies']['@angular/core']).toBe('^13.1.0'); - expect(pkg['devDependencies']['@angular-devkit/build-angular']).toBe('13.1.3'); - }); - - it('should not error when `dependencies` is missing', async () => { - tree.create( - packageJsonPath, - JSON.stringify({ - devDependencies: { - '@angular-devkit/build-angular': '~13.1.3', - }, - }), - ); - - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const pkg = JSON.parse(newTree.readContent(packageJsonPath)); - - expect(pkg['dependencies']).toBeUndefined(); - expect(pkg['devDependencies']['@angular-devkit/build-angular']).toBe('^13.1.3'); - }); - - it('should not error when `devDependencies` is missing', async () => { - tree.create( - packageJsonPath, - JSON.stringify({ - dependencies: { - '@angular-devkit/build-angular': '~13.1.3', - }, - }), - ); - - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const pkg = JSON.parse(newTree.readContent(packageJsonPath)); - - expect(pkg['dependencies']['@angular-devkit/build-angular']).toBe('^13.1.3'); - expect(pkg['devDependencies']).toBeUndefined(); - }); -}); diff --git a/packages/schematics/angular/migrations/update-14/remove-default-project-option.ts b/packages/schematics/angular/migrations/update-14/remove-default-project-option.ts deleted file mode 100644 index 2a7c04475e17..000000000000 --- a/packages/schematics/angular/migrations/update-14/remove-default-project-option.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule } from '@angular-devkit/schematics'; -import { updateWorkspace } from '../../utility/workspace'; - -/** Migration to remove 'defaultProject' option from angular.json. */ -export default function (): Rule { - return updateWorkspace((workspace) => { - delete workspace.extensions['defaultProject']; - }); -} diff --git a/packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts b/packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts deleted file mode 100644 index 7b6eef0c4b30..000000000000 --- a/packages/schematics/angular/migrations/update-14/remove-default-project-option_spec.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { WorkspaceSchema } from '../../utility/workspace-models'; - -describe(`Migration to remove 'defaultProject' option.`, () => { - const schematicName = 'remove-default-project-option'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - }); - - it(`should remove 'defaultProject'`, async () => { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: {}, - defaultProject: 'foo', - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { defaultProject } = JSON.parse(newTree.readContent('/angular.json')); - - expect(defaultProject).toBeUndefined(); - }); - - it(`should not error when 'defaultProject' is not defined`, async () => { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: {}, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { defaultProject } = JSON.parse(newTree.readContent('/angular.json')); - - expect(defaultProject).toBeUndefined(); - }); -}); diff --git a/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option.ts b/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option.ts deleted file mode 100644 index b9ab8ae74bb6..000000000000 --- a/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule } from '@angular-devkit/schematics'; -import { allTargetOptions, updateWorkspace } from '../../utility/workspace'; - -/** Migration to remove 'showCircularDependencies' option from browser and server builders. */ -export default function (): Rule { - return updateWorkspace((workspace) => { - for (const project of workspace.projects.values()) { - for (const target of project.targets.values()) { - if ( - target.builder === '@angular-devkit/build-angular:server' || - target.builder === '@angular-devkit/build-angular:browser' - ) { - for (const [, options] of allTargetOptions(target)) { - delete options.showCircularDependencies; - } - } - } - } - }); -} diff --git a/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts b/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts deleted file mode 100644 index e8b05dd05ce0..000000000000 --- a/packages/schematics/angular/migrations/update-14/remove-show-circular-dependencies-option_spec.ts +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonObject } from '@angular-devkit/core'; -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { - BuilderTarget, - Builders, - ProjectType, - WorkspaceSchema, -} from '../../utility/workspace-models'; - -function getBuildTarget(tree: UnitTestTree): BuilderTarget { - return JSON.parse(tree.readContent('/angular.json')).projects.app.architect.build; -} - -function createWorkSpaceConfig(tree: UnitTestTree) { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: { - app: { - root: '', - sourceRoot: 'src', - projectType: ProjectType.Application, - prefix: 'app', - architect: { - build: { - builder: Builders.Browser, - options: { - extractCss: false, - showCircularDependencies: true, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any, - configurations: { - one: { - showCircularDependencies: false, - aot: true, - }, - two: { - showCircularDependencies: false, - aot: true, - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } as any, - }, - }, - }, - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); -} - -describe(`Migration to remove 'showCircularDependencies' option.`, () => { - const schematicName = 'remove-show-circular-dependencies-option'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - createWorkSpaceConfig(tree); - }); - - it(`should remove 'showCircularDependencies'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { options, configurations } = getBuildTarget(newTree); - - expect(options.showCircularDependencies).toBeUndefined(); - expect(configurations).toBeDefined(); - expect(configurations?.one.showCircularDependencies).toBeUndefined(); - expect(configurations?.two.showCircularDependencies).toBeUndefined(); - }); -}); diff --git a/packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts b/packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts deleted file mode 100644 index 0bb7d2f16d3b..000000000000 --- a/packages/schematics/angular/migrations/update-14/replace-default-collection-option.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonValue, isJsonObject } from '@angular-devkit/core'; -import { Rule } from '@angular-devkit/schematics'; -import { updateWorkspace } from '../../utility/workspace'; - -/** Migration to replace 'defaultCollection' option in angular.json. */ -export default function (): Rule { - return updateWorkspace((workspace) => { - // workspace level - replaceDefaultCollection(workspace.extensions['cli']); - - // Project level - for (const project of workspace.projects.values()) { - replaceDefaultCollection(project.extensions['cli']); - } - }); -} - -function replaceDefaultCollection(cliExtension: JsonValue | undefined): void { - if (cliExtension && isJsonObject(cliExtension) && cliExtension['defaultCollection']) { - // If `schematicsCollection` defined `defaultCollection` is ignored hence no need to warn. - if (!cliExtension['schematicCollections']) { - cliExtension['schematicCollections'] = [cliExtension['defaultCollection']]; - } - - delete cliExtension['defaultCollection']; - } -} diff --git a/packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts b/packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts deleted file mode 100644 index 4a31fbbeea42..000000000000 --- a/packages/schematics/angular/migrations/update-14/replace-default-collection-option_spec.ts +++ /dev/null @@ -1,101 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; - -describe(`Migration to replace 'defaultCollection' option.`, () => { - const schematicName = 'replace-default-collection-option'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - }); - - it(`should replace 'defaultCollection' with 'schematicCollections' at the root level`, async () => { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: {}, - cli: { - defaultCollection: 'foo', - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { cli } = JSON.parse(newTree.readContent('/angular.json')); - - expect(cli.defaultCollection).toBeUndefined(); - expect(cli.schematicCollections).toEqual(['foo']); - }); - - it(`should not error when 'cli' is not defined`, async () => { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: {}, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { cli } = JSON.parse(newTree.readContent('/angular.json')); - - expect(cli).toBeUndefined(); - }); - - it(`should replace 'defaultCollection' with 'schematicCollections' at the project level`, async () => { - const angularConfig: WorkspaceSchema = { - version: 1, - cli: { - defaultCollection: 'foo', - }, - projects: { - test: { - sourceRoot: '', - root: '', - prefix: '', - projectType: ProjectType.Application, - cli: { - defaultCollection: 'bar', - }, - }, - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { - projects: { test }, - } = JSON.parse(newTree.readContent('/angular.json')); - - expect(test.cli.defaultCollection).toBeUndefined(); - expect(test.cli.schematicCollections).toEqual(['bar']); - }); - - it(`should not replace 'defaultCollection' with 'schematicCollections', when it is already defined`, async () => { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: {}, - cli: { - defaultCollection: 'foo', - schematicCollections: ['bar'], - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { cli } = JSON.parse(newTree.readContent('/angular.json')); - - expect(cli.defaultCollection).toBeUndefined(); - expect(cli.schematicCollections).toEqual(['bar']); - }); -}); diff --git a/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts b/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts deleted file mode 100644 index 758fb2e93e3f..000000000000 --- a/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { dirname, isJsonObject, join, normalize } from '@angular-devkit/core'; -import { DirEntry, Rule } from '@angular-devkit/schematics'; -import { getWorkspace } from '../../utility/workspace'; - -function* visitPackageJsonFiles( - directory: DirEntry, - includedInLookup = false, -): IterableIterator { - if (includedInLookup) { - for (const path of directory.subfiles) { - if (path !== 'package.json') { - continue; - } - - yield join(directory.path, path); - } - } - - for (const path of directory.subdirs) { - if (path === 'node_modules' || path.startsWith('.')) { - continue; - } - - yield* visitPackageJsonFiles(directory.dir(path), true); - } -} - -/** Migration to remove secondary entrypoints 'package.json' files and migrate ng-packagr configurations. */ -export default function (): Rule { - return async (tree) => { - const workspace = await getWorkspace(tree); - - for (const project of workspace.projects.values()) { - if ( - project.extensions['projectType'] !== 'library' || - ![...project.targets.values()].some( - ({ builder }) => builder === '@angular-devkit/build-angular:ng-packagr', - ) - ) { - // Project is not a library or doesn't use ng-packagr, skip. - continue; - } - - for (const path of visitPackageJsonFiles(tree.getDir(project.root))) { - const json = tree.readJson(path); - if (isJsonObject(json) && json['ngPackage']) { - // Migrate ng-packagr config to an ng-packagr config file. - const configFilePath = join(dirname(normalize(path)), 'ng-package.json'); - tree.create(configFilePath, JSON.stringify(json['ngPackage'], undefined, 2)); - } - - // Delete package.json as it is no longer needed in APF 14. - tree.delete(path); - } - } - }; -} diff --git a/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts b/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts deleted file mode 100644 index ee82c885a606..000000000000 --- a/packages/schematics/angular/migrations/update-14/update-libraries-secondary-entrypoints_spec.ts +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; - -function createFileStructure(tree: UnitTestTree) { - const angularConfig: WorkspaceSchema = { - version: 1, - projects: { - foo: { - root: 'projects/foo', - sourceRoot: 'projects/foo/src', - projectType: ProjectType.Library, - prefix: 'lib', - architect: { - build: { - builder: Builders.NgPackagr, - options: { - project: '', - tsConfig: '', - }, - }, - }, - }, - bar: { - root: 'projects/bar', - sourceRoot: 'projects/bar/src', - projectType: ProjectType.Library, - prefix: 'lib', - architect: { - test: { - builder: Builders.Karma, - options: { - karmaConfig: '', - tsConfig: '', - }, - }, - }, - }, - }, - }; - - tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); - - // Library foo - tree.create('/projects/foo/package.json', JSON.stringify({ version: '0.0.0' }, undefined, 2)); - // Library foo/secondary - tree.create( - '/projects/foo/secondary/package.json', - JSON.stringify( - { version: '0.0.0', ngPackage: { lib: { entryFile: 'src/public-api.ts' } } }, - undefined, - 2, - ), - ); - - // Library bar - tree.create('/projects/bar/package.json', JSON.stringify({ version: '0.0.0' }, undefined, 2)); - // Library bar/secondary - tree.create( - '/projects/bar/secondary/package.json', - JSON.stringify({ version: '0.0.0' }, undefined, 2), - ); -} - -describe(`Migration to update Angular libraries secondary entrypoints.`, () => { - const schematicName = 'update-libraries-secondary-entrypoints'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - let tree: UnitTestTree; - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - createFileStructure(tree); - }); - - describe(`when library has '@angular-devkit/build-angular:ng-packagr' as a builder`, () => { - it(`should not delete 'package.json' of primary entry-point`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - - expect(newTree.exists('/projects/foo/package.json')).toBeTrue(); - }); - - it(`should delete 'package.json' of secondary entry-point`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.exists('/projects/foo/secondary/package.json')).toBeFalse(); - }); - - it(`should move ng-packagr configuration from 'package.json' to 'ng-package.json'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.readJson('projects/foo/secondary/ng-package.json')).toEqual({ - lib: { entryFile: 'src/public-api.ts' }, - }); - }); - }); - - describe(`when library doesn't have '@angular-devkit/build-angular:ng-packagr' as a builder`, () => { - it(`should not delete 'package.json' of primary entry-point`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.exists('/projects/bar/package.json')).toBeTrue(); - }); - - it(`should not delete 'package.json' of secondary entry-point`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.exists('/projects/bar/package.json')).toBeTrue(); - }); - - it(`should not create ng-packagr configuration`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - expect(newTree.exists('projects/bar/secondary/ng-package.json')).toBeFalse(); - }); - }); -}); diff --git a/packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts b/packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts deleted file mode 100644 index 9ffaf3a198db..000000000000 --- a/packages/schematics/angular/migrations/update-14/update-tsconfig-target.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Rule } from '@angular-devkit/schematics'; -import { JSONFile } from '../../utility/json-file'; -import { getWorkspace } from '../../utility/workspace'; -import { Builders } from '../../utility/workspace-models'; - -/** Migration to update tsconfig compilation target option to es2020. */ -export default function (): Rule { - return async (host) => { - /** Builders for which the migration will run. */ - const supportedBuilders = [Builders.Karma, Builders.NgPackagr, Builders.Browser]; - - /** Compilation targets values that should not be amended. */ - const skipTargets = ['es2020', 'es2021', 'es2022', 'esnext']; - - const uniqueTsConfigs = new Set(['/tsconfig.json']); - - // Find all tsconfig files which are refereced by the builders. - const workspace = await getWorkspace(host); - for (const project of workspace.projects.values()) { - for (const target of project.targets.values()) { - if (!supportedBuilders.includes(target.builder as Builders)) { - // Unknown builder. - continue; - } - - // Update all other known CLI builders that use a tsconfig. - const allOptions = [target.options ?? {}, ...Object.values(target.configurations ?? {})]; - for (const opt of allOptions) { - if (typeof opt?.tsConfig === 'string') { - uniqueTsConfigs.add(opt.tsConfig); - } - } - } - } - - // Modify tsconfig files - const targetJsonPath = ['compilerOptions', 'target']; - for (const tsConfigPath of uniqueTsConfigs) { - const json = new JSONFile(host, tsConfigPath); - const target = json.get(targetJsonPath); - - // Update compilation target when it's current set lower than es2020. - if (typeof target === 'string' && !skipTargets.includes(target.toLowerCase())) { - json.modify(targetJsonPath, 'es2020'); - } - } - }; -} diff --git a/packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts b/packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts deleted file mode 100644 index 63c303244a58..000000000000 --- a/packages/schematics/angular/migrations/update-14/update-tsconfig-target_spec.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { EmptyTree } from '@angular-devkit/schematics'; -import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { parse as parseJson } from 'jsonc-parser'; -import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; - -describe('Migration to update target compiler options', () => { - const schematicName = 'update-tsconfig-target'; - const schematicRunner = new SchematicTestRunner( - 'migrations', - require.resolve('../migration-collection.json'), - ); - - function createJsonFile(tree: UnitTestTree, filePath: string, content: {}) { - tree.create(filePath, JSON.stringify(content, undefined, 2)); - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - function readJsonFile(tree: UnitTestTree, filePath: string): any { - return parseJson(tree.readContent(filePath).toString()); - } - - let tree: UnitTestTree; - - beforeEach(() => { - tree = new UnitTestTree(new EmptyTree()); - - // Workspace configuration - const angularConfig: WorkspaceSchema = { - version: 1, - projects: { - app: { - root: '', - sourceRoot: 'src', - projectType: ProjectType.Application, - prefix: 'app', - architect: { - build: { - builder: Builders.Browser, - options: { - tsConfig: 'src/tsconfig.app.json', - main: '', - polyfills: '', - }, - configurations: { - production: { - tsConfig: 'src/tsconfig.app.prod.json', - }, - }, - }, - test: { - builder: Builders.Karma, - options: { - karmaConfig: '', - tsConfig: 'src/tsconfig.spec.json', - }, - }, - server: { - builder: Builders.Server, - options: { - tsConfig: 'src/tsconfig.server.json', - outputPath: '', - main: '', - }, - }, - }, - }, - }, - }; - - createJsonFile(tree, 'angular.json', angularConfig); - - // Create tsconfigs - const compilerOptions = { target: 'es5', module: 'esnext' }; - - // Workspace - createJsonFile(tree, 'tsconfig.json', { compilerOptions }); - - // Application - createJsonFile(tree, 'src/tsconfig.app.json', { compilerOptions }); - createJsonFile(tree, 'src/tsconfig.app.prod.json', { compilerOptions }); - createJsonFile(tree, 'src/tsconfig.spec.json', { compilerOptions }); - - // Server - createJsonFile(tree, 'src/tsconfig.server.json', { compilerOptions }); - }); - - it(`should update target in workspace 'tsconfig.json'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { target } = readJsonFile(newTree, 'tsconfig.json').compilerOptions; - expect(target).toBe('es2020'); - }); - - it(`should update target in 'tsconfig.json' which is referenced in option`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { target } = readJsonFile(newTree, 'src/tsconfig.spec.json').compilerOptions; - expect(target).toBe('es2020'); - }); - - it(`should update target in 'tsconfig.json' which is referenced in a configuration`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { target } = readJsonFile(newTree, 'src/tsconfig.app.prod.json').compilerOptions; - expect(target).toBe('es2020'); - }); - - it(`should not update target in 'tsconfig.server.json'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { target } = readJsonFile(newTree, 'src/tsconfig.server.json').compilerOptions; - expect(target).toBe('es5'); - }); - - it('should not update target if it is greater than es2020', async () => { - const tsConfigPath = 'src/tsconfig.app.json'; - tree.delete(tsConfigPath); - createJsonFile(tree, tsConfigPath, { compilerOptions: { target: 'es2021' } }); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); - const { target } = readJsonFile(newTree, tsConfigPath).compilerOptions; - expect(target).toBe('es2021'); - }); -}); From 9beb878e2eecd32e499c8af557f22f46548248fc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 14 Sep 2022 07:48:19 +0000 Subject: [PATCH 0879/1388] feat(@schematics/angular): remove Browserslist configuration files from projects The Browserslist configuration file is redundant as we set the defaults directly in @angular-devkit/build-angular. https://github.com/angular/angular-cli/blob/8da926966e9f414ceecf60b89acd475ce1b55fc5/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts#L12-L19 With this commit, we remove the `.browserlistrc` configuration file from the schematics application template and through a migration in existing projects when the Browserslist query result matches the default. Users needing a finer grain support should still create a `.browserlistrc` in the root directory of the project. --- .../browser/specs/browser-support_spec.ts | 4 +- packages/schematics/angular/BUILD.bazel | 1 + .../files/.browserslistrc.template | 16 ---- .../angular/application/index_spec.ts | 11 ++- .../migrations/migration-collection.json | 8 +- .../update-15/remove-browserslist-config.ts | 90 +++++++++++++++++++ .../remove-browserslist-config_spec.ts | 84 +++++++++++++++++ 7 files changed, 190 insertions(+), 24 deletions(-) delete mode 100644 packages/schematics/angular/application/files/.browserslistrc.template create mode 100644 packages/schematics/angular/migrations/update-15/remove-browserslist-config.ts create mode 100644 packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts index d6649879cd32..c812c3227671 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts @@ -21,7 +21,9 @@ describe('Browser Builder browser support', () => { afterEach(async () => host.restore().toPromise()); it('warns when IE is present in browserslist', async () => { - host.appendToFile('.browserslistrc', '\nIE 9'); + host.writeMultipleFiles({ + '.browserslistrc': '\nIE 9', + }); const logger = new logging.Logger(''); const logs: string[] = []; diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index d9ca542310eb..8210ad2207ab 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -78,6 +78,7 @@ ts_library( "//packages/angular_devkit/schematics/tasks", "//packages/schematics/angular/third_party/github.com/Microsoft/TypeScript", "@npm//@types/node", + "@npm//browserslist", "@npm//jsonc-parser", ], ) diff --git a/packages/schematics/angular/application/files/.browserslistrc.template b/packages/schematics/angular/application/files/.browserslistrc.template deleted file mode 100644 index 4f9ac26980c1..000000000000 --- a/packages/schematics/angular/application/files/.browserslistrc.template +++ /dev/null @@ -1,16 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# For the full list of supported browsers by the Angular framework, please see: -# https://angular.io/guide/browser-support - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major versions -last 2 iOS major versions -Firefox ESR diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 458f106d1d8f..0e1bfc6f0665 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -547,7 +547,7 @@ describe('Application Schematic', () => { const tree = await schematicRunner .runSchematicAsync('application', options, workspaceTree) .toPromise(); - const exists = tree.exists('/projects/my-cool/.browserslistrc'); + const exists = tree.exists('/projects/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); @@ -556,7 +556,7 @@ describe('Application Schematic', () => { const tree = await schematicRunner .runSchematicAsync('application', options, workspaceTree) .toPromise(); - const exists = tree.exists('/projects/foo/my-cool/.browserslistrc'); + const exists = tree.exists('/projects/foo/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); @@ -565,7 +565,7 @@ describe('Application Schematic', () => { const tree = await schematicRunner .runSchematicAsync('application', options, workspaceTree) .toPromise(); - const exists = tree.exists('/projects/my-cool/.browserslistrc'); + const exists = tree.exists('/projects/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); @@ -574,7 +574,7 @@ describe('Application Schematic', () => { const tree = await schematicRunner .runSchematicAsync('application', options, workspaceTree) .toPromise(); - const exists = tree.exists('/projects/foo/my-cool/.browserslistrc'); + const exists = tree.exists('/projects/foo/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); @@ -584,8 +584,7 @@ describe('Application Schematic', () => { .runSchematicAsync('application', options, workspaceTree) .toPromise(); - const exists = tree.exists('/projects/foo.bar_buz/.browserslistrc'); - expect(exists).toBeTrue(); + expect(tree.exists('/projects/foo.bar_buz/tsconfig.app.json')).toBeTrue(); }); it('should support creating scoped application', async () => { diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 63001b445889..0e5d79a4bf99 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -1,3 +1,9 @@ { - "schematics": {} + "schematics": { + "remove-browserslist-config": { + "version": "15.0.0", + "factory": "./update-15/remove-browserslist-config", + "description": "Remove Browserslist configuration files that matches the Angular CLI default configuration." + } + } } diff --git a/packages/schematics/angular/migrations/update-15/remove-browserslist-config.ts b/packages/schematics/angular/migrations/update-15/remove-browserslist-config.ts new file mode 100644 index 000000000000..0d17ecd80301 --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/remove-browserslist-config.ts @@ -0,0 +1,90 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Path, join } from '@angular-devkit/core'; +import { DirEntry, Rule } from '@angular-devkit/schematics'; + +const validBrowserslistConfigFilenames = new Set(['browserslist', '.browserslistrc']); + +export const DEFAULT_BROWSERS = [ + 'last 1 Chrome version', + 'last 1 Firefox version', + 'last 2 Edge major versions', + 'last 2 Safari major versions', + 'last 2 iOS major versions', + 'Firefox ESR', +]; + +function* visit(directory: DirEntry): IterableIterator { + for (const path of directory.subfiles) { + if (validBrowserslistConfigFilenames.has(path)) { + yield join(directory.path, path); + } + } + + for (const path of directory.subdirs) { + if (path === 'node_modules') { + continue; + } + + yield* visit(directory.dir(path)); + } +} + +export default function (): Rule { + return async (tree, { logger }) => { + let browserslist: typeof import('browserslist') | undefined; + + try { + browserslist = (await import('browserslist')).default; + } catch { + logger.warn('Skipping migration because the "browserslist" package could not be loaded.'); + + return; + } + + // Set the defaults to match the defaults in build-angular. + browserslist.defaults = DEFAULT_BROWSERS; + + const defaultSupportedBrowsers = new Set(browserslist(DEFAULT_BROWSERS)); + const es5Browsers = new Set(browserslist(['supports es6-module'])); + + for (const path of visit(tree.root)) { + const { defaults: browsersListConfig, ...otherConfigs } = browserslist.parseConfig( + tree.readText(path), + ); + + if (Object.keys(otherConfigs).length) { + // The config contains additional sections. + continue; + } + + const browserslistInProject = browserslist( + // Exclude from the list ES5 browsers which are not supported. + browsersListConfig.map((s) => `${s} and supports es6-module`), + { + ignoreUnknownVersions: true, + }, + ); + + if (defaultSupportedBrowsers.size !== browserslistInProject.length) { + continue; + } + + const shouldDelete = browserslistInProject.every((browser) => + defaultSupportedBrowsers.has(browser), + ); + + if (shouldDelete) { + // All browsers are the same as the default config. + // Delete file as it's redundant. + tree.delete(path); + } + } + }; +} diff --git a/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts b/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts new file mode 100644 index 000000000000..755aa32ad82a --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts @@ -0,0 +1,84 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { DEFAULT_BROWSERS } from './remove-browserslist-config'; + +describe('Migration to delete Browserslist configurations', () => { + const schematicName = 'remove-browserslist-config'; + + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + }); + + describe('given the Browserslist config matches the default', () => { + it('should delete ".browserslistrc" file', async () => { + tree.create('/src/app/.browserslistrc', DEFAULT_BROWSERS.join('\n')); + expect(tree.exists('/src/app/.browserslistrc')).toBeTrue(); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/src/app/.browserslistrc')).toBeFalse(); + }); + + it(`should not delete "browserslist" in 'node_modules'`, async () => { + tree.create('/node_modules/browserslist', DEFAULT_BROWSERS.join('\n')); + tree.create('/node_modules/.browserslistrc', DEFAULT_BROWSERS.join('\n')); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/node_modules/browserslist')).toBeTrue(); + expect(newTree.exists('/node_modules/.browserslistrc')).toBeTrue(); + }); + }); + + describe('given the Browserslist config does not match the default', () => { + it('should not delete "browserslist"', async () => { + tree.create('/src/app/browserslist', 'last 1 Chrome version'); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/src/app/browserslist')).toBeTrue(); + }); + + it('should not delete ".browserslistrc"', async () => { + tree.create('/src/app/.browserslistrc', 'last 1 Chrome version'); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/src/app/.browserslistrc')).toBeTrue(); + }); + + it('should delete ".browserslistrc" file when it only includes non supported ES5 browsers', async () => { + tree.create('/src/app/.browserslistrc', [...DEFAULT_BROWSERS, 'IE 10'].join('\n')); + expect(tree.exists('/src/app/.browserslistrc')).toBeTrue(); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/src/app/.browserslistrc')).toBeFalse(); + }); + + it('should not delete ".browserslistrc" file when it includes additional config sections', async () => { + tree.create( + '/src/app/.browserslistrc', + ` + ${DEFAULT_BROWSERS.join('\n')} + [modern] + last 1 chrome version + `, + ); + expect(tree.exists('/src/app/.browserslistrc')).toBeTrue(); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.exists('/src/app/.browserslistrc')).toBeTrue(); + }); + }); +}); From 82649bc6c27d5b9c9f07d5c877a61da8a7d1e61b Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 14 Sep 2022 16:09:13 +0000 Subject: [PATCH 0880/1388] build: update saucelabs connect version Update to saucelabs connect 4.8.1 --- package.json | 2 +- yarn.lock | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c0ab40986ab8..4a64c615d502 100644 --- a/package.json +++ b/package.json @@ -197,7 +197,7 @@ "rxjs": "6.6.7", "sass": "1.54.9", "sass-loader": "13.0.2", - "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz", + "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.7", "shelljs": "^0.8.5", "source-map": "0.7.4", diff --git a/yarn.lock b/yarn.lock index c47ec280618b..6e9f2644d665 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937": version "0.0.0-bf4bb09bb2d32015f71943371c7484cb845f8c33" - uid "6f2cb5cf1860e75368528cf2216798db6f94d937" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937" dependencies: "@angular-devkit/build-angular" "14.2.0-rc.0" @@ -243,7 +242,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a": version "0.0.0-bf4bb09bb2d32015f71943371c7484cb845f8c33" - uid "170605f156be18f179ad0024d386d4a7c05efa9a" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -9733,9 +9731,9 @@ sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -"sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz": +"sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11" + resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: version "1.5.0" From fdc315d3359a55380820257c40be5f7f58a79521 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 15 Sep 2022 07:48:05 +0000 Subject: [PATCH 0881/1388] test(@angular-devkit/build-angular): rewrite app-shell unit test into e2e This particular unit tests was really an e2e test. --- .../angular_devkit/build_angular/BUILD.bazel | 7 - .../src/builders/app-shell/app-shell_spec.ts | 123 +----------------- .../app-shell-with-schematic.ts} | 12 +- .../app-shell-with-service-worker.ts | 56 ++++++++ 4 files changed, 63 insertions(+), 135 deletions(-) rename tests/legacy-cli/e2e/tests/build/{build-app-shell-with-schematic.ts => app-shell/app-shell-with-schematic.ts} (76%) create mode 100644 tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-service-worker.ts diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 915348be18fe..bb814dcd8448 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -285,14 +285,7 @@ ts_library( LARGE_SPECS = { "app-shell": { "extra_deps": [ - "@npm//@angular/animations", "@npm//@angular/platform-server", - "@npm//@types/express", - "@npm//express", - "@npm//jasmine-spec-reporter", - "@npm//protractor", - "@npm//puppeteer", - "@npm//ts-node", ], "tags": [ # TODO: node crashes with an internal error on node16 diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts index 209654a2b9cf..8b2ba1734e64 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts @@ -7,10 +7,7 @@ */ import { Architect } from '@angular-devkit/architect'; -import { getSystemPath, join, normalize, virtualFs } from '@angular-devkit/core'; -import express from 'express'; // eslint-disable-line import/no-extraneous-dependencies -import * as http from 'http'; -import { AddressInfo } from 'net'; +import { normalize, virtualFs } from '@angular-devkit/core'; import { createArchitect, host } from '../../testing/test-utils'; describe('AppShell Builder', () => { @@ -160,124 +157,6 @@ describe('AppShell Builder', () => { expect(content).toContain('app-shell works!'); }); - it('works with route and service-worker', async () => { - host.writeMultipleFiles(appShellRouteFiles); - host.writeMultipleFiles({ - 'src/ngsw-config.json': ` - { - "index": "/index.html", - "assetGroups": [{ - "name": "app", - "installMode": "prefetch", - "resources": { - "files": [ - "/favicon.ico", - "/index.html", - "/*.css", - "/*.js" - ] - } - }, { - "name": "assets", - "installMode": "lazy", - "updateMode": "prefetch", - "resources": { - "files": [ - "/assets/**" - ] - } - }] - } - `, - 'src/app/app.module.ts': ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - - import { AppRoutingModule } from './app-routing.module'; - import { AppComponent } from './app.component'; - import { ServiceWorkerModule } from '@angular/service-worker'; - import { environment } from '../environments/environment'; - import { RouterModule } from '@angular/router'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule.withServerTransition({ appId: 'serverApp' }), - AppRoutingModule, - ServiceWorkerModule.register('/ngsw-worker.js', { enabled: environment.production }), - RouterModule - ], - providers: [], - bootstrap: [AppComponent] - }) - export class AppModule { } - `, - 'e2e/app.e2e-spec.ts': ` - import { browser, by, element } from 'protractor'; - - it('should have ngsw in normal state', () => { - browser.get('/'); - // Wait for service worker to load. - browser.sleep(2000); - browser.waitForAngularEnabled(false); - browser.get('/ngsw/state'); - // Should have updated, and be in normal state. - expect(element(by.css('pre')).getText()).not.toContain('Last update check: never'); - expect(element(by.css('pre')).getText()).toContain('Driver state: NORMAL'); - }); - `, - }); - // This should match the browser target prod config. - host.replaceInFile( - 'angular.json', - '"buildOptimizer": true', - '"buildOptimizer": true, "serviceWorker": true', - ); - - // We're changing the workspace file so we need to recreate the Architect instance. - architect = (await createArchitect(host.root())).architect; - - const overrides = { route: 'shell' }; - const run = await architect.scheduleTarget( - { ...target, configuration: 'production' }, - overrides, - ); - const output = await run.result; - await run.stop(); - - expect(output.success).toBe(true); - - // Make sure the index is pre-rendering the route. - const fileName = 'dist/index.html'; - const content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName))); - expect(content).toContain('app-shell works!'); - - // Serve the app using a simple static server. - const app = express(); - app.use('/', express.static(getSystemPath(join(host.root(), 'dist')) + '/')); - const server = await new Promise((resolve) => { - const innerServer = app.listen(0, 'localhost', () => resolve(innerServer)); - }); - try { - const serverPort = (server.address() as AddressInfo).port; - // Load app in protractor, then check service worker status. - const protractorRun = await architect.scheduleTarget( - { project: 'app-e2e', target: 'e2e' }, - { baseUrl: `http://localhost:${serverPort}/`, devServerTarget: '' }, - ); - - const protractorOutput = await protractorRun.result; - await protractorRun.stop(); - - expect(protractorOutput.success).toBe(true); - } finally { - // Close the express server. - await new Promise((resolve) => server.close(() => resolve())); - } - }); - it('critical CSS is inlined', async () => { host.writeMultipleFiles(appShellRouteFiles); const overrides = { diff --git a/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts b/tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-schematic.ts similarity index 76% rename from tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts rename to tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-schematic.ts index 8a51686f72eb..6aa407d4981b 100644 --- a/tests/legacy-cli/e2e/tests/build/build-app-shell-with-schematic.ts +++ b/tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-schematic.ts @@ -1,10 +1,10 @@ -import { getGlobalVariable } from '../../utils/env'; -import { appendToFile, expectFileToMatch } from '../../utils/fs'; -import { installPackage } from '../../utils/packages'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; +import { getGlobalVariable } from '../../../utils/env'; +import { appendToFile, expectFileToMatch } from '../../../utils/fs'; +import { installPackage } from '../../../utils/packages'; +import { ng } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; -const snapshots = require('../../ng-snapshot/package.json'); +const snapshots = require('../../../ng-snapshot/package.json'); export default async function () { await appendToFile('src/app/app.component.html', ''); diff --git a/tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-service-worker.ts b/tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-service-worker.ts new file mode 100644 index 000000000000..08566a1e1639 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/app-shell/app-shell-with-service-worker.ts @@ -0,0 +1,56 @@ +import { getGlobalVariable } from '../../../utils/env'; +import { appendToFile, expectFileToMatch, writeFile } from '../../../utils/fs'; +import { installPackage } from '../../../utils/packages'; +import { ng } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; + +const snapshots = require('../../../ng-snapshot/package.json'); + +export default async function () { + await appendToFile('src/app/app.component.html', ''); + await ng('generate', 'service-worker', '--project', 'test-project'); + await ng('generate', 'app-shell', '--project', 'test-project'); + + const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; + if (isSnapshotBuild) { + const packagesToInstall: string[] = []; + await updateJsonFile('package.json', (packageJson) => { + const dependencies = packageJson['dependencies']; + // Iterate over all of the packages to update them to the snapshot version. + for (const [name, version] of Object.entries( + snapshots.dependencies as { [p: string]: string }, + )) { + if (name in dependencies && dependencies[name] !== version) { + packagesToInstall.push(version); + } + } + }); + + for (const pkg of packagesToInstall) { + await installPackage(pkg); + } + } + + await writeFile( + 'e2e/app.e2e-spec.ts', + ` + import { browser, by, element } from 'protractor'; + + it('should have ngsw in normal state', () => { + browser.get('/'); + // Wait for service worker to load. + browser.sleep(2000); + browser.waitForAngularEnabled(false); + browser.get('/ngsw/state'); + // Should have updated, and be in normal state. + expect(element(by.css('pre')).getText()).not.toContain('Last update check: never'); + expect(element(by.css('pre')).getText()).toContain('Driver state: NORMAL'); + }); + `, + ); + + await ng('run', 'test-project:app-shell:production'); + await expectFileToMatch('dist/test-project/browser/index.html', /app-shell works!/); + + await ng('e2e', '--configuration=production'); +} From 02e85bda2d4347fff8c82a0059379cbfdd85f143 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 15 Sep 2022 11:03:08 -0400 Subject: [PATCH 0882/1388] ci: adjust workflow permissions for OpenSSF Scorecard results publishing Version 2 of the `openssf/scorecard-action` GitHub action requires the `id-token: write` permission to publish results. --- .github/workflows/scorecard.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 1bbb8b450810..aec3d807302f 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -16,10 +16,12 @@ jobs: name: Scorecards analysis runs-on: ubuntu-latest permissions: - # Needed to upload the results to code-scanning dashboard. - security-events: write actions: read contents: read + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results + id-token: write steps: - name: 'Checkout code' From 625e8141e9edffa026cdad0d5b79247fe71aa178 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 15 Sep 2022 09:09:26 +0000 Subject: [PATCH 0883/1388] build: update github/codeql-action action to v2.1.23 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index aec3d807302f..380f7584fffd 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@b398f525a5587552e573b247ac661067fafa920b # tag=v2.1.22 + uses: github/codeql-action/upload-sarif@6a38b7d4a1af70deb1b561eb77db2b5e5a6a1e69 # tag=v2.1.23 with: sarif_file: results.sarif From 15124d7eb11f74a192732708b64b1f32eaf4cdaf Mon Sep 17 00:00:00 2001 From: "angular-robot[bot]" <56403804+angular-robot[bot]@users.noreply.github.com> Date: Thu, 15 Sep 2022 17:26:47 +0000 Subject: [PATCH 0884/1388] build: update `CODE_OF_CONDUCT.md` to match the content of `angular/.github` --- CODE_OF_CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index ea62c6239d4c..fcdbb25c5369 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -2,7 +2,7 @@ ## Our Pledge -In the interest of fostering an safe and welcoming environment, we as +In the interest of fostering a safe and welcoming environment, we as the Angular team pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity, gender expression, From 5cb815c04aa5ad3836e0f3523d9cee8bf31a3738 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 15 Sep 2022 11:40:40 -0700 Subject: [PATCH 0885/1388] docs: release notes for the v14.2.3 release --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55cb63affb54..c9e10f7a35cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ + + +# 14.2.3 (2022-09-15) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [e7e0cb78f](https://github.com/angular/angular-cli/commit/e7e0cb78f4c6d684fdf25e23a11599b82807cd25) | fix | correctly display error messages that contain "at" text. | +| [4756d7e06](https://github.com/angular/angular-cli/commit/4756d7e0675aa9a8bed11b830b66288141fa6e16) | fix | watch symbolic links | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- | +| [1e3ecbdb1](https://github.com/angular/angular-cli/commit/1e3ecbdb138861eff550e05d9662a10d106c0990) | perf | avoid bootstrap conversion AST traversal where possible | + +## Special Thanks + +Alan Agius, Charles Lyding, Jason Bedard and Joey Perrott + + + # 15.0.0-next.0 (2022-09-08) From ca5648975cde34065c977029fdf0c39a70e24211 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 15 Sep 2022 12:18:09 -0700 Subject: [PATCH 0886/1388] release: cut the v15.0.0-next.1 release --- CHANGELOG.md | 36 ++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9e10f7a35cd..2812cdfffeaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,39 @@ + + +# 15.0.0-next.1 (2022-09-15) + +## Breaking Changes + +### @angular-devkit/build-angular + +- server builder `bundleDependencies` option now only accept a boolean value. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [9beb878e2](https://github.com/angular/angular-cli/commit/9beb878e2eecd32e499c8af557f22f46548248fc) | feat | remove Browserslist configuration files from projects | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------- | +| [4f8a3d258](https://github.com/angular/angular-cli/commit/4f8a3d258230d6b6645600f9d17e8582a36c8682) | fix | correctly display error messages that contain "at" text. | +| [2021e66a1](https://github.com/angular/angular-cli/commit/2021e66a12fb873140d54cff82968a10e3ffa010) | fix | watch symbolic links | +| [7f1017e60](https://github.com/angular/angular-cli/commit/7f1017e60f82389568065478d666ae4be6ebfea2) | refactor | remove old `bundleDependencies` enum logic | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- | +| [4fa8392a1](https://github.com/angular/angular-cli/commit/4fa8392a138122bc2c8ed5e433cfbf9786da8baa) | perf | avoid bootstrap conversion AST traversal where possible | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott and angular-robot[bot] + + + # 14.2.3 (2022-09-15) diff --git a/package.json b/package.json index 4a64c615d502..bb69f1c9b7a8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.0.0-next.0", + "version": "15.0.0-next.1", "private": true, "description": "Software Development Kit for Angular", "bin": { From 1c527a9da5b55a8421ebca787fd322e879f6d29d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 16 Sep 2022 10:21:18 -0400 Subject: [PATCH 0887/1388] feat(@angular-devkit/build-angular): add esbuild-based builder initial support for fileReplacements Support for the `fileReplacements` option from the Webpack-based builder has now been integrated into the experimental esbuild-based browser application builder. The option will no longer be ignored during builds. Only the officially supported form of the option (`replace`/`with` fields) is implemented. --- .../browser-esbuild/compiler-plugin.ts | 12 +++++- .../browser-esbuild/experimental-warnings.ts | 1 - .../src/builders/browser-esbuild/index.ts | 12 ++++++ .../src/builders/browser-esbuild/schema.json | 41 +++++-------------- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 434c377b6c36..9125b013228a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -128,6 +128,7 @@ export function createCompilerPlugin( tsconfig: string; advancedOptimizations?: boolean; thirdPartySourcemaps?: boolean; + fileReplacements?: Record; }, styleOptions: BundleStylesheetOptions, ): Plugin { @@ -256,6 +257,13 @@ export function createCompilerPlugin( return { content: contents }; }; + // Augment TypeScript Host for file replacements option + if (pluginOptions.fileReplacements) { + // Temporary deep import for file replacements support + const { augmentHostWithReplacements } = require('@ngtools/webpack/src/ivy/host'); + augmentHostWithReplacements(host, pluginOptions.fileReplacements); + } + // Create the Angular specific program that contains the Angular compiler const angularProgram = new compilerCli.NgtscProgram(rootNames, compilerOptions, host); const angularCompiler = angularProgram.compiler; @@ -316,7 +324,9 @@ export function createCompilerPlugin( async (args) => { assert.ok(fileEmitter, 'Invalid plugin execution order'); - const typescriptResult = await fileEmitter(args.path); + const typescriptResult = await fileEmitter( + pluginOptions.fileReplacements?.[args.path] ?? args.path, + ); if (!typescriptResult) { // No TS result indicates the file is not part of the TypeScript program. // If allowJs is enabled and the file is JS then defer to the next load hook. diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index 4fb4e5e12115..e7f200e9f2e6 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -13,7 +13,6 @@ const UNSUPPORTED_OPTIONS: Array = [ 'allowedCommonJsDependencies', 'budgets', 'extractLicenses', - 'fileReplacements', 'progress', 'scripts', 'statsJson', diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index cf87992d5d76..07a1880e2bb2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -249,6 +249,17 @@ async function bundleCode( sourcemapOptions: SourceMapClass, tsconfig: string, ) { + let fileReplacements: Record | undefined; + if (options.fileReplacements) { + for (const replacement of options.fileReplacements) { + fileReplacements ??= {}; + fileReplacements[path.join(workspaceRoot, replacement.replace)] = path.join( + workspaceRoot, + replacement.with, + ); + } + } + return bundle({ absWorkingDir: workspaceRoot, bundle: true, @@ -288,6 +299,7 @@ async function bundleCode( thirdPartySourcemaps: sourcemapOptions.vendor, tsconfig, advancedOptimizations: options.buildOptimizer, + fileReplacements, }, // Component stylesheet options { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json index c392bd055d51..2fbb75a62927 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -461,38 +461,19 @@ ] }, "fileReplacement": { - "oneOf": [ - { - "type": "object", - "properties": { - "src": { - "type": "string", - "pattern": "\\.(([cm]?j|t)sx?|json)$" - }, - "replaceWith": { - "type": "string", - "pattern": "\\.(([cm]?j|t)sx?|json)$" - } - }, - "additionalProperties": false, - "required": ["src", "replaceWith"] + "type": "object", + "properties": { + "replace": { + "type": "string", + "pattern": "\\.(([cm]?j|t)sx?|json)$" }, - { - "type": "object", - "properties": { - "replace": { - "type": "string", - "pattern": "\\.(([cm]?j|t)sx?|json)$" - }, - "with": { - "type": "string", - "pattern": "\\.(([cm]?j|t)sx?|json)$" - } - }, - "additionalProperties": false, - "required": ["replace", "with"] + "with": { + "type": "string", + "pattern": "\\.(([cm]?j|t)sx?|json)$" } - ] + }, + "additionalProperties": false, + "required": ["replace", "with"] }, "budget": { "type": "object", From 9798323d5ef694dd65c292142b2a2af5e6e2037e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Sep 2022 11:59:11 +0000 Subject: [PATCH 0888/1388] refactor(@angular-devkit/build-angular): simplify configuration of `inlineStyleFileExtension` Remove redundant switch statement. --- .../src/webpack/plugins/typescript.ts | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index 6336acc3bbad..6ef15d705e34 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -46,29 +46,12 @@ export function createIvyPlugin( } } - let inlineStyleFileExtension; - switch (buildOptions.inlineStyleLanguage) { - case 'less': - inlineStyleFileExtension = 'less'; - break; - case 'sass': - inlineStyleFileExtension = 'sass'; - break; - case 'scss': - inlineStyleFileExtension = 'scss'; - break; - case 'css': - default: - inlineStyleFileExtension = 'css'; - break; - } - return new AngularWebpackPlugin({ tsconfig, compilerOptions, fileReplacements, jitMode: !aot, emitNgModuleScope: !optimize, - inlineStyleFileExtension, + inlineStyleFileExtension: buildOptions.inlineStyleLanguage ?? 'css', }); } From 3315d8c22cf0372d506f044ac099561b2469c84a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 15 Sep 2022 16:46:36 +0000 Subject: [PATCH 0889/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 714 +++++------------- 7 files changed, 206 insertions(+), 584 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 9fbe8a831a40..16f5671ebf61 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@bf4bb09bb2d32015f71943371c7484cb845f8c33 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@3c526cbb36b8517829dbbf02a7833fa3081479bb with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@bf4bb09bb2d32015f71943371c7484cb845f8c33 + - uses: angular/dev-infra/github-actions/post-approval-changes@3c526cbb36b8517829dbbf02a7833fa3081479bb with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index fa2a3f97dd20..2be9bc611bfe 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@bf4bb09bb2d32015f71943371c7484cb845f8c33 + - uses: angular/dev-infra/github-actions/feature-request@3c526cbb36b8517829dbbf02a7833fa3081479bb with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index c127660ca126..19d1393c1950 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@bf4bb09bb2d32015f71943371c7484cb845f8c33 + - uses: angular/dev-infra/github-actions/lock-closed@3c526cbb36b8517829dbbf02a7833fa3081479bb with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index bb69f1c9b7a8..a9de99df2c24 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.1", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937", - "@angular/cdk": "14.2.1", - "@angular/common": "15.0.0-next.1", - "@angular/compiler": "15.0.0-next.1", - "@angular/compiler-cli": "15.0.0-next.1", - "@angular/core": "15.0.0-next.1", - "@angular/forms": "15.0.0-next.1", - "@angular/localize": "15.0.0-next.1", - "@angular/material": "14.2.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a", - "@angular/platform-browser": "15.0.0-next.1", - "@angular/platform-browser-dynamic": "15.0.0-next.1", - "@angular/platform-server": "15.0.0-next.1", - "@angular/router": "15.0.0-next.1", - "@angular/service-worker": "15.0.0-next.1", + "@angular/animations": "15.0.0-next.2", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c6e22890605f308ccfd504fa9cce7d16662aaa85", + "@angular/cdk": "14.2.2", + "@angular/common": "15.0.0-next.2", + "@angular/compiler": "15.0.0-next.2", + "@angular/compiler-cli": "15.0.0-next.2", + "@angular/core": "15.0.0-next.2", + "@angular/forms": "15.0.0-next.2", + "@angular/localize": "15.0.0-next.2", + "@angular/material": "14.2.2", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#44bb94e2925b5288b6fbd46a7ed9162262cdfbdd", + "@angular/platform-browser": "15.0.0-next.2", + "@angular/platform-browser-dynamic": "15.0.0-next.2", + "@angular/platform-server": "15.0.0-next.2", + "@angular/router": "15.0.0-next.2", + "@angular/service-worker": "15.0.0-next.2", "@babel/core": "7.19.0", "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 84d08868f493..0392ba9d391a 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.1", - "@angular/compiler-cli": "15.0.0-next.1", + "@angular/compiler": "15.0.0-next.2", + "@angular/compiler-cli": "15.0.0-next.2", "typescript": "4.8.3", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index b36c33bb6fcd..c1dc18444042 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#505f8a2d2be6586e89acd246d2050a8b500a57a3", - "@angular/cdk": "github:angular/cdk-builds#147db6e77fb118c3b0e5f7bf46769cab8d219613", - "@angular/common": "github:angular/common-builds#c171283d4694df186a9bd0ccdb8627172a42eead", - "@angular/compiler": "github:angular/compiler-builds#db96e5bb9b07480ee6589dcdeb82f88a54467c04", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#004f5e81c96bb2deb3c363b22c19738594abfa8b", - "@angular/core": "github:angular/core-builds#95970adf4382baad891c38ba2b06dbad519c7a23", - "@angular/forms": "github:angular/forms-builds#ef7df208ae0ca43b6fb5d818ebdc174969e0eeee", - "@angular/language-service": "github:angular/language-service-builds#a519d59ff410471ac6dd4f8dcc817af777a71d6f", - "@angular/localize": "github:angular/localize-builds#55ba186c15dd613908dd7e2893fd5a861034d4b0", - "@angular/material": "github:angular/material-builds#25a8d45f3b1dc8f959a29c4c8f60d23d30bd7dd8", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6b45289b7e34329ed0b1bea2d61984751aee7cdb", - "@angular/platform-browser": "github:angular/platform-browser-builds#c60de4ee2bea59155d5123d572ee553daa984301", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#81f0ae73265a73e9f9ad201d953a1d3b4ff33114", - "@angular/platform-server": "github:angular/platform-server-builds#971c4d5ad5e0aa689d76ba928522549ad64f0d0e", - "@angular/router": "github:angular/router-builds#fa50da1f896bb52c4016c2d73736faf26dce6e08", - "@angular/service-worker": "github:angular/service-worker-builds#e9358b171567c8914153ffbbfb93db8e60374fdc" + "@angular/animations": "github:angular/animations-builds#5cd577a7a37f6c9209adc030d09bf7bcd503e664", + "@angular/cdk": "github:angular/cdk-builds#a1a7816f96be8e2df6dc45fc82fbcf9404470414", + "@angular/common": "github:angular/common-builds#81b999d134c7b80eae48422c0eb338be5ca8eb3b", + "@angular/compiler": "github:angular/compiler-builds#79461b329a9dbf20a14f52d1eaf9b104f953c971", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#46b43ce2b1e6d31783b5abc689370e69186f2ed9", + "@angular/core": "github:angular/core-builds#fdca3416e5f081403ab468a79a066a45e686e263", + "@angular/forms": "github:angular/forms-builds#7ee9dd32be3ba1167172def8717cd2d5fa3d654c", + "@angular/language-service": "github:angular/language-service-builds#4f4f8824df3f78296dc4036d81e2d085107e0426", + "@angular/localize": "github:angular/localize-builds#2612fd6e8c385624d61c4f00b3c09d7f9d68d001", + "@angular/material": "github:angular/material-builds#29d487f620de38f038e7589a5891647c6ae5603a", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a02fbd703ac0bfdbf4c0470e3861dbee2848c9c0", + "@angular/platform-browser": "github:angular/platform-browser-builds#6f84beeae42784cfda2f0c3356e723aed1a6ee18", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7e6a975726b9551fa1ee964b67807d47327f483c", + "@angular/platform-server": "github:angular/platform-server-builds#c244c808644152058e78100a87fafd04e22f7549", + "@angular/router": "github:angular/router-builds#3322f30ff099a24cd6f7a8d9994b28ddcb05a8a7", + "@angular/service-worker": "github:angular/service-worker-builds#2b79ed4797bd3e3f9b3e551ea7e0768dd18ab0f8" } } diff --git a/yarn.lock b/yarn.lock index 6e9f2644d665..313cb6a98417 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,47 +15,47 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1402.0-rc.0": - version "0.1402.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1402.0-rc.0.tgz#bcea4818b14c920921de76d4cac10e54b70f7278" - integrity sha512-M7xL0eiJZ4yvHT0oc8WgoTTEcW7P488VsW8/S2BD16s/sfDjFROps+IbHDnnHxxwjGWL8fWBqL0uAEupwIuRZg== +"@angular-devkit/architect@0.1500.0-next.0": + version "0.1500.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-next.0.tgz#71bb79523f5bbff7745d1ecee6aab831589c7dd6" + integrity sha512-xXxgzkDeD5H1Ia7sKXIekYfeMgSArxB6TOhyDd3F8h/ku7hQaMVnpV98g5ZOU8vIFpXGJ1YiH9al7rq6w+yGWw== dependencies: - "@angular-devkit/core" "14.2.0-rc.0" + "@angular-devkit/core" "15.0.0-next.0" rxjs "6.6.7" -"@angular-devkit/build-angular@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.2.0-rc.0.tgz#f7efbc8fb3d516a0c27fa10bfdb26a9260bb274e" - integrity sha512-b1TLzPi9GlGhhb8Il9q3Q1IQAY23J240lMDb9KJzwkjO+SgfRwp2kO5leT9yAwYOZWcGPGH2I1yQbtVFywl9Dw== +"@angular-devkit/build-angular@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-next.0.tgz#e3968b52b90af7f2b110e054a2d9d3f396da5f3d" + integrity sha512-uTrjZC62DUnXRdEQAd0spKqzHeQ99CE1sUCGSvQocx4mPHQSOyQx5+sxtxThVYXR2KI3syetE/jZSWSCYYrcMQ== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1402.0-rc.0" - "@angular-devkit/build-webpack" "0.1402.0-rc.0" - "@angular-devkit/core" "14.2.0-rc.0" - "@babel/core" "7.18.10" - "@babel/generator" "7.18.12" + "@angular-devkit/architect" "0.1500.0-next.0" + "@angular-devkit/build-webpack" "0.1500.0-next.0" + "@angular-devkit/core" "15.0.0-next.0" + "@babel/core" "7.19.0" + "@babel/generator" "7.19.0" "@babel/helper-annotate-as-pure" "7.18.6" - "@babel/plugin-proposal-async-generator-functions" "7.18.10" + "@babel/plugin-proposal-async-generator-functions" "7.19.0" "@babel/plugin-transform-async-to-generator" "7.18.6" "@babel/plugin-transform-runtime" "7.18.10" - "@babel/preset-env" "7.18.10" - "@babel/runtime" "7.18.9" + "@babel/preset-env" "7.19.0" + "@babel/runtime" "7.19.0" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "14.2.0-rc.0" + "@ngtools/webpack" "15.0.0-next.0" ansi-colors "4.1.3" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "16.1.2" + cacache "16.1.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.15.5" + esbuild-wasm "0.15.7" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" - jsonc-parser "3.1.0" + jsonc-parser "3.2.0" karma-source-map-support "1.4.0" less "4.1.3" less-loader "11.0.0" @@ -68,54 +68,54 @@ parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" postcss "8.4.16" - postcss-import "14.1.0" + postcss-import "15.0.0" postcss-loader "7.0.1" - postcss-preset-env "7.8.0" + postcss-preset-env "7.8.1" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.54.4" + sass "1.54.9" sass-loader "13.0.2" semver "7.3.7" source-map-loader "4.0.0" source-map-support "0.5.21" stylus "0.59.0" stylus-loader "7.0.0" - terser "5.14.2" + terser "5.15.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.0" webpack "5.74.0" webpack-dev-middleware "5.3.3" - webpack-dev-server "4.10.0" + webpack-dev-server "4.11.0" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.5" + esbuild "0.15.7" -"@angular-devkit/build-webpack@0.1402.0-rc.0": - version "0.1402.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1402.0-rc.0.tgz#dee5a74842324ccd2744a328f52ddd872c2e80d4" - integrity sha512-lo0Pe2ig94fXoWamoFVHfYp3tXxnxbGjj3DlWAt2hqTdn4H+laJ3S5zMvbq8AouprpIrdg3XqZUqiu0FZVfyQA== +"@angular-devkit/build-webpack@0.1500.0-next.0": + version "0.1500.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-next.0.tgz#85e68ddbce5979d3bc577d1bbb29e1b5584787d4" + integrity sha512-R4uuPu2sptJGcgv/eTmUcHCqEbdhdAOAD18+/QdWW9g24HGtu3sAbSWN8uvJyiNAJ0jT0+PXc+iavOtjiDVUdA== dependencies: - "@angular-devkit/architect" "0.1402.0-rc.0" + "@angular-devkit/architect" "0.1500.0-next.0" rxjs "6.6.7" -"@angular-devkit/core@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.2.0-rc.0.tgz#6e55a48e59ffc70c0bd67810b0aae37772f2c9a8" - integrity sha512-lMWqU7vvZefXj91ENrTMo+Fmls2SFcDC7wKqfHZkRaC2ryUnxE870lGaMc5m16vHlKj2V0YDLNcNCdtScRxzmg== +"@angular-devkit/core@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-next.0.tgz#fc8a78db96a21e105c1948ef65e5210edca223ea" + integrity sha512-QNLLgMKSGBNh5iy99F0lzUYBkERft2Qk5CQvYe07AWuQkvzIp+SYDfjugiSnBJbzK79Wja728KETtIz6X9bLaA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" - jsonc-parser "3.1.0" + jsonc-parser "3.2.0" rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.1.tgz#e55a6818bd3100182d0e69da087dae7db54e15d7" - integrity sha512-sZiEJL8mvUe+KlP/TK5QBJ6w22Wh0iXn8OpT2yVtHKm+kEmMDCyTp+9/xtUmbzY0KeNYtPfDKC5Px65vVdEaEA== +"@angular/animations@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.2.tgz#5e9c69e18316598bba11e7a4f2d6ba8cdaa7129a" + integrity sha512-fgjqdwLHKG4H/fYuCWvT0yVmf5TKNdphBrZd0fWdPLEWpzsX732JCkDfMKl1Y8YUm0M5c0Rcz2gYbm7taTEaJQ== dependencies: tslib "^2.3.0" @@ -127,21 +127,22 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937": - version "0.0.0-bf4bb09bb2d32015f71943371c7484cb845f8c33" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6f2cb5cf1860e75368528cf2216798db6f94d937" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#c6e22890605f308ccfd504fa9cce7d16662aaa85": + version "0.0.0-3c526cbb36b8517829dbbf02a7833fa3081479bb" + uid c6e22890605f308ccfd504fa9cce7d16662aaa85 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c6e22890605f308ccfd504fa9cce7d16662aaa85" dependencies: - "@angular-devkit/build-angular" "14.2.0-rc.0" + "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.5.3" - "@bazel/esbuild" "5.5.3" - "@bazel/protractor" "5.5.3" - "@bazel/runfiles" "5.5.3" - "@bazel/terser" "5.5.3" - "@bazel/typescript" "5.5.3" - "@microsoft/api-extractor" "7.29.5" + "@bazel/concatjs" "5.5.4" + "@bazel/esbuild" "5.5.4" + "@bazel/protractor" "5.5.4" + "@bazel/runfiles" "5.5.4" + "@bazel/terser" "5.5.4" + "@bazel/typescript" "5.5.4" + "@microsoft/api-extractor" "7.31.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -161,29 +162,29 @@ "true-case-path" "^2.2.1" tslib "^2.3.0" typescript "~4.8.0" - uuid "^8.3.2" + uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.1": - version "14.2.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.1.tgz#3035bb8481ff75b41a4a1e54fb5d882ef98c0b1b" - integrity sha512-saLFOZeyYQ6ELvPYqePsC8yXzDYjrCXGKGLtwAG/1mUlXcVTC0V1c3SabU4JR7Z+Zo1tOmzkWxuUkrw7uvaJHA== +"@angular/cdk@14.2.2": + version "14.2.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.2.tgz#9e49620c816b7f34e7c59b0dee705e7c1b1260df" + integrity sha512-PXEnhX+QDOsmHVVnqTuoGaK7Wn9hFd5kWAmHTTU7lZr3XVu/AtDcEU+LB19wOFU0fY+kSYHMgN+BYo1TiR8vbw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.1.tgz#8969cfb55acbe8c6b4bbae1ce0cccc563324044d" - integrity sha512-hqmFvfRQgyYEDToWHX4dHlFgGmcokwShwxrd7GamT2psP2qpF/b7sNF0kKJJLdkgyF2JfhDcUzV45H0klk0pxw== +"@angular/common@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.2.tgz#c407caf0be57fb9df1301c87b835e5304231af44" + integrity sha512-5NLimbpaUSjJdvx+DbEwh6RQURG3Rs2lR4I2pAiqsgJqK7H0CgCNurw0SaJn+GczM7nrMoSIxMBhn2uKv4EARA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.1.tgz#226b0e014f27dd5cd0af9fde68f759ec58b8b0e8" - integrity sha512-l0X92SHvWbCEv/vFnexOYdFbn/YdrXT0e43PLRwNh+yIK/GwmIZJdNKXCClI55YvIN8ivnFDFI2NR/nheC8zUQ== +"@angular/compiler-cli@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.2.tgz#eb5ebd44547f9656de46ccee3eca85998f55ed82" + integrity sha512-j6LhKwCDsrh4zRpBHhWKnnNeLDh8xih3IHam8Z7AXQw6thpHzR86q0vCKihiu78zoZV1/K4D4MmvUNQZcn/oIA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -196,17 +197,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.1.tgz#cfa04a1cacd3cf6ed521aa27fe6acdda60926aba" - integrity sha512-OhRAVjEslzaLdv/YhgRyA6aWCGup/XmtUYW80ge5EN/QNJgHyU1RPF3k2e6Habt++n4/BUcp01kW34rSGjsO2Q== +"@angular/compiler@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.2.tgz#e3a867a8b6114f0bf44fb07ec3151c1f31228fe6" + integrity sha512-2UfnrC2fhVs89CaUqdp214C8AxvTjcOTJNp5IJc6EbP66SUoBB3dR6VLNiAcjwXNiNHoiJU/6xYEGGDpy73M4w== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.1.tgz#3b85b5a3d0cfe4f734129d4ad6b0b77bd80793fa" - integrity sha512-uclBAjeoeRiAt7Fw3v6AoCgTBTFcrkqdZ7K1kqT3ihpmNWkITqylwUzaT9geX1ZY2Yfzn2wbmfS+iPSy4xPaYg== +"@angular/core@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.2.tgz#9e88fb2dbd8b03afbf84bcba4c43210256d82051" + integrity sha512-v72b9mFkIRDLw8+Ath82v2uoEpkKpcHRRewqYWHijMVsOZoUXSEQ9lR2i5Z5YpqI7TqxhaF3j44dXqnr3ZSTfg== dependencies: tslib "^2.3.0" @@ -217,70 +218,71 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.1.tgz#3bd762f6d044c4281c3ff328b7e122ab6770b5f0" - integrity sha512-afVs848s4XnmqW2xSCOAZmNDWPXggp+xEoHQZeV6dSVFdA46fdWXoR+9w0FOU5UdLQ9KBG9d3iNIsstjW1kNsQ== +"@angular/forms@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.2.tgz#38f452f77b6d79bca5d7958c620601c9b4c17a25" + integrity sha512-4tCBykO42aFWtP0oAFSo/jLOiiNDciRPWm63gETAMKlbBX3W4tSziiFQO1m3DzrKBqYYkgjGifopq9UtxRyXzg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.1.tgz#c68ea73285efd7ffe534066ad88dc90f2c62ae38" - integrity sha512-8XEYCAv/lT3sXU5I2B+Dd4Oi/UpZ83IkosnJQ6K7o2ScyBLJTlC61nqjwF3QrllC1P/zrOQGScLAYRTKrk56Ww== +"@angular/localize@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.2.tgz#2163bf7d8e419e8e27db95329a8789d4d0539e2d" + integrity sha512-onk2+a9jkLCaThqd7U5UkdjU5iZ13Owva6axH+fFWmMWNdFcsrfjySU6Nanwa6RoQcMKmTcrdzGLHhkbBfnT3Q== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.1": - version "14.2.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.1.tgz#841d1100a1a64ae258c76d206ba9417f041a74a2" - integrity sha512-e7DkKJTuqrSpKPhxahrqkZt6AeU5ld5/aSeCamq2dcdqfZ8otmgiajzN0cXZGwSCT2Lth6c+QV3yn8ufTJQpTw== +"@angular/material@14.2.2": + version "14.2.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.2.tgz#b9d834180eb0bba07a6aa946c090a6155b9716e7" + integrity sha512-jVCaESSTTkLjRvMzSQj294s0Lz1YMVFkl0svrMtWgkUMXHEfx2Vjw6FXdrVrBXlxEIrpfhkTEXVN2DC1kkAkQw== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a": - version "0.0.0-bf4bb09bb2d32015f71943371c7484cb845f8c33" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#170605f156be18f179ad0024d386d4a7c05efa9a" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#44bb94e2925b5288b6fbd46a7ed9162262cdfbdd": + version "0.0.0-3c526cbb36b8517829dbbf02a7833fa3081479bb" + uid "44bb94e2925b5288b6fbd46a7ed9162262cdfbdd" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#44bb94e2925b5288b6fbd46a7ed9162262cdfbdd" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.1.tgz#08a03799cb544b8ba258221cc5f00b155adc5148" - integrity sha512-IVMQyc3jH47yDPBOtsULjzKdta6Nu75j/XElE2zAJQwhHTU/Uy5VRTGlGpOQ+HcQ5NNHW2jGsgj73Pi4UY/rQQ== +"@angular/platform-browser-dynamic@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.2.tgz#9c3ec08ba75a3938ccf302e6723bdfffadae73c9" + integrity sha512-dShqDUNX0qTb4FrhqETYfaOqV4nby2FtSMjkHGYKHw50gzBfGxcRuZOdCD4cG7OMeSuJTL4FYvQtRKcfpqpatw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.1.tgz#5f1f3240ae7438a60c84433274567748fd3fda6d" - integrity sha512-9h/VlANVt+BHPGghMTTlYgDp6FJSSWppNrMRg6QWxDn3nvEc1l9vFnsqNudzy5MWy+kIxueyAbdfqv3JVr1nyg== +"@angular/platform-browser@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.2.tgz#a915e8c2d44615a1d2de6f8962d75e6f3b63da38" + integrity sha512-aDazzfD9PKImzP8xNQNQ0ebAbfb9wV+5D/omo5Ir0ATIYER4p/dEnspnBW1axCCwHl6zlFV1jNGaoL3EntsBRg== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.1.tgz#2609f477e59eacdd5020dd8066b1829feec9314d" - integrity sha512-xjhZPLglrYGn5cZeysIJMDZLacRrZ1cd/Mi8gghEFguCNWOA5/5G5sVFvtXg0RB72JO05PBUh29mxB/wBPeFDQ== +"@angular/platform-server@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.2.tgz#c49821801fa4ce16807e6d00123f30640b369da2" + integrity sha512-X4mgXjTpnKcD9P/QwvneL7lQ+kkSCe88TMvhlotqGsFGL/5HQZtnmCLY67R0X47c8WqyQ2DCzkr87T+8lOEYoQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.1.tgz#41af562c0d0c22ed72497931480f29e32e52dd4a" - integrity sha512-K2H1d6mKc/Q92HkoKOVO2dMNQ+/t6alVSXZVndElWVuOvLW0wZy0So97jHj7SdKtZf+tBssb6eH5B/8SfDPpKw== +"@angular/router@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.2.tgz#204d7b3c45f85c8ce6b15a349fc0b021a6809d00" + integrity sha512-9B80sF6LlmkY7p5jvhbGZihrdvK0lPIBTswPmidku+bKrU6AgdYpMQAmWsPjmRbtvGZZvof4gaMPdSq9BizWvg== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.1": - version "15.0.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.1.tgz#07ff39d8787fcf6f6dd6961283fdf6b3a1ce9a00" - integrity sha512-m5UT3B6dSUPfcIqJVoYnZcrSQqDrcQkoCNHiPAuC99wUa+AIgGtPmub3cymP6Hrz9MDQG6zv7dWA8bHkTbTtfw== +"@angular/service-worker@15.0.0-next.2": + version "15.0.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.2.tgz#0c835d1f8707cd9d45f3ac5125e6864210468333" + integrity sha512-s4goiESnArTqQobZwopLQt3JMbD6FPYWquyB0DdKLKXU8cxxknVquXqawU0u+5QacjgeJJx2QsWCgisYTjrNhw== dependencies: tslib "^2.3.0" @@ -301,27 +303,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== -"@babel/core@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" - integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.10" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.10" - "@babel/types" "^7.18.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -364,16 +345,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.18.12": - version "7.18.12" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4" - integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg== - dependencies: - "@babel/types" "^7.18.10" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@7.19.0", "@babel/generator@^7.18.10", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": +"@babel/generator@7.19.0", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== @@ -613,17 +585,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952" - integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@7.19.0", "@babel/plugin-proposal-async-generator-functions@^7.18.10", "@babel/plugin-proposal-async-generator-functions@^7.19.0": +"@babel/plugin-proposal-async-generator-functions@7.19.0", "@babel/plugin-proposal-async-generator-functions@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== @@ -887,7 +849,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.18.9", "@babel/plugin-transform-classes@^7.19.0": +"@babel/plugin-transform-classes@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== @@ -909,7 +871,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.13", "@babel/plugin-transform-destructuring@^7.18.9": +"@babel/plugin-transform-destructuring@^7.18.13": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== @@ -988,7 +950,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.18.9", "@babel/plugin-transform-modules-systemjs@^7.19.0": +"@babel/plugin-transform-modules-systemjs@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== @@ -1007,7 +969,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada" integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== @@ -1078,7 +1040,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.18.9", "@babel/plugin-transform-spread@^7.19.0": +"@babel/plugin-transform-spread@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== @@ -1122,87 +1084,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.10.tgz#83b8dfe70d7eea1aae5a10635ab0a5fe60dfc0f4" - integrity sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA== - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.18.10" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@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.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@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.18.6" - "@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" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.18.9" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.9" - "@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.18.8" - "@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.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.9" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.9" - "@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/preset-modules" "^0.1.5" - "@babel/types" "^7.18.10" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - core-js-compat "^3.22.1" - semver "^6.3.0" - "@babel/preset-env@7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" @@ -1295,13 +1176,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" - integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.19.0", "@babel/runtime@^7.8.4": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" @@ -1318,7 +1192,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": +"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== @@ -1353,15 +1227,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.3.tgz#5d5704db97d0014f700dbbd77ef4a4b3666ce865" - integrity sha512-YR8agkKikd/1pzFM9re5AFeFY6o8QA/C22RzVAYnZaKd7YMf19L7NchKKYwPTiDTy6lLhPqWMliYijR8RZ9ECA== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.5.4": version "5.5.4" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.4.tgz#8d307e50e88305d176b5ab83b106cbe7e9b922c9" @@ -1371,10 +1236,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.3.tgz#2172ecad5f5729d5d71c34a836b28cd081f84e6d" - integrity sha512-A+mVZfJsnTYc4dvrmGy/Sxu4pt2jvJFRFONP+ngve4qont3K1xK3LF3C6uOEFk4lMNoykUptr7/bvhGRr/j9Vw== +"@bazel/esbuild@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.4.tgz#d08b3f8127d3efb1085dce2f7039969fcb61b113" + integrity sha512-C9R5hTgYmP/GU7yNzgOus6SaS7tyS5J5ptWruM3ERKaw5CIEPTi0hlBLmPpM9Wo8xIDNlF0BhGvM59T7bKs2iQ== "@bazel/jasmine@5.5.4": version "5.5.4" @@ -1384,35 +1249,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.3.tgz#1c30b4b063b7c65809907ef8d08c0fa455449f9b" - integrity sha512-VvZ/WOVoZxuuMm+4ZQwDgY+Hl8ptcyteje9hORsrukhHOuTjYdxPfejtTRBdYi26dMggxx8mqaM4UzFD/XR/yA== +"@bazel/protractor@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.4.tgz#f4acd761aa94cecb5799e4eb933570796d9c6773" + integrity sha512-U0j43bxLXSXl0FFyCxT6hGPAfMg9fN9gSkRQnZZiEX2cEoqeJOBP4/6A6qYcl9esAQ4zIiNEzHhmDLpAWImVsA== -"@bazel/runfiles@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.3.tgz#da394adc895f694e3075ba292009163c28b1ee7d" - integrity sha512-c/2vCJvcmNYhbcqwBrQPV3BSxCIETXCzuMsqEXgudOK5EL70/DtqSOQN1veJW/KUBoMljcxM7DN4gvWEItA2Dg== +"@bazel/runfiles@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.4.tgz#20ce1395062c947dfa083a2ec79c5460e8b013ab" + integrity sha512-LMw+i0VtI//+7lNNR0cKs3UgQlGprDJmh8QUu+2io7++MWt96Mqww08QOEvnuyuGpTEEgfU4EE14n4jSSZl2Aw== -"@bazel/terser@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.3.tgz#d8471bb2b2c2f81f31a13545c17090fb7de78208" - integrity sha512-4QNPwlGJk+fdL4gLIdMPB72XfKPbcvcWmnDBGvRB6TfdTXRt3+78AdZD5Q6Cw9U6Ov67sHRCXqtybWQnTCxF9g== +"@bazel/terser@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.4.tgz#4304ca003a6606a22d3d2c0e28e4aa982a4ceb6b" + integrity sha512-M+UncSFXmPo+c2uqFfXUrfpsx0mSb1PaMYWaXi1U484SIbAr135QLRShuPmuQGaAWr6Ec3VrFTJKbDHHgTFpwQ== -"@bazel/typescript@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.3.tgz#3505f92c0bb9598e7ef090dec75f52a1eceab26b" - integrity sha512-DGlzz2RmzRrNWhoL1ynr62qsTk5cUzjIJj2MreeQVoYHQZfB3FCCu/TGtDS5xyEbfWhsn7Zwo5qpOxvdYiPWng== +"@bazel/typescript@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.4.tgz#0e1ed2b930a98e88e471235fb90acd82121e0520" + integrity sha512-UyLcon6kiUMcr1PE/Sdyk9D9QEE5WaHPWI6cmaC8kQH0D64fWUWl9BiVwuox9N3DklfaNn9hlK/7SJ6p00gPQw== dependencies: - "@bazel/worker" "5.5.3" + "@bazel/worker" "5.5.4" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.5.3": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.3.tgz#3c23135a4e9d6c8ef05f1de85bc3c0c30df2ad38" - integrity sha512-Wm0istBBko5w2ddDwCK4rvDQrWfeFGaWdG3iTNkYAHKfQrkgYeMucMoAbFB6LZ87KZKuBEN9KSDq+fi8MXtGlw== +"@bazel/worker@5.5.4": + version "5.5.4" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.4.tgz#2949361a44ac20eb6571525bdbf2ecd099cc1394" + integrity sha512-d6jOWaR44c1WEDpgGdB0qJyaacwm7HF5yrM+15iirqxnSi2Uuk9FBGJ+O3TniSKZsRzgaA/4if2tkRikFnO9Ng== dependencies: google-protobuf "^3.6.1" @@ -1433,10 +1298,10 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz#f16f2c4396ace855541e1aa693f5f27ec972e6ad" - integrity sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw== +"@csstools/postcss-cascade-layers@^1.0.6": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.0.tgz#05a820357aac0de097b4acac43f85a55973220e7" + integrity sha512-XpA7g2KViA2ia23A5kZ/EQw+Sy308kLbvMlDPjFZmojwaJ9DYdJuwujFcDGK9v1QhHRmMEHbV2brVSQSLkN/7A== dependencies: "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" @@ -1544,11 +1409,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/linux-loong64@0.15.5": - version "0.15.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz#91aef76d332cdc7c8942b600fa2307f3387e6f82" - integrity sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A== - "@esbuild/linux-loong64@0.15.7": version "0.15.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" @@ -1688,21 +1548,21 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@microsoft/api-extractor-model@7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.23.3.tgz#82961ebaddd7427112afbfc4c1d7c76a9932f2fc" - integrity sha512-HpsWzG6jrWHrTlIg53kmp/IVQPBHUZc+8dunnr9VXrmDjVBehaXxp9A6jhTQ/bd7W1m5TYfAvwCmseC1+9FCuA== +"@microsoft/api-extractor-model@7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.24.0.tgz#df71615f7c7d2c4f520c8b179d03a85efcdaf452" + integrity sha512-lFzF5h+quTyVB7eaKJkqrbQRDGSkrHzXyF8iMVvHdlaNrodGeyhtQeBFDuRVvBXTW2ILBiOV6ZWwUM1eGKcD+A== dependencies: "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.51.1" -"@microsoft/api-extractor@7.29.5": - version "7.29.5" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.29.5.tgz#8afafc8b2c27d8334579434971f718b347634f35" - integrity sha512-+vqO/TAGw9xXANpvTjA4y5ADcaRuYuBoJ9IfoAHubrGuxKG6GoW3P2tfdgwteLz95CnlftBxYp+3NG/mf05P9Q== +"@microsoft/api-extractor@7.31.0": + version "7.31.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.31.0.tgz#a4dd2af2e176a330652a19f9254f77d4fdcea06f" + integrity sha512-1gVDvm/eKmntBn5X5Rc+XDREm9gfxQ/BQfGFf7Rf4uWvJc4Q4GxidC3lBODYDOcikjG983bzbo0xTu5BS8J93Q== dependencies: - "@microsoft/api-extractor-model" "7.23.3" + "@microsoft/api-extractor-model" "7.24.0" "@microsoft/tsdoc" "0.14.1" "@microsoft/tsdoc-config" "~0.16.1" "@rushstack/node-core-library" "3.51.1" @@ -1730,10 +1590,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== -"@ngtools/webpack@14.2.0-rc.0": - version "14.2.0-rc.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.2.0-rc.0.tgz#96237f523b2f9d072810f9bfd38d3f74d7662ae6" - integrity sha512-gA0O15Bcvdp5PB3iWew5wYYut1zTxAuCx22z1tn1+/gQbS9mntzKyKhxwOGfYsoK2j6S7TwlBfeMSqjY0HIYiw== +"@ngtools/webpack@15.0.0-next.0": + version "15.0.0-next.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.0.tgz#04dedb7355fd788a0c5f8a89829c455b6ac9f298" + integrity sha512-7Ut/3QzzpvdGNmGhEmZx4i/gXjcRXx+SflJ9TH0KWxsem6R7AFBYcaqNajukUnPaNNZYdOilUhPTY/ebMm74Lg== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3635,30 +3495,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.2: - version "16.1.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.2.tgz#a519519e9fc9e5e904575dcd3b77660cbf03f749" - integrity sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^1.1.1" - cacache@16.1.3, cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -4221,7 +4057,7 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -cssdb@^7.0.0: +cssdb@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617" integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw== @@ -4815,243 +4651,111 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" - integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== - esbuild-android-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== -esbuild-android-arm64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" - integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== - esbuild-android-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== -esbuild-darwin-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" - integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== - esbuild-darwin-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== -esbuild-darwin-arm64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" - integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== - esbuild-darwin-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== -esbuild-freebsd-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" - integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== - esbuild-freebsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== -esbuild-freebsd-arm64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" - integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== - esbuild-freebsd-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== -esbuild-linux-32@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" - integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== - esbuild-linux-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== -esbuild-linux-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" - integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== - esbuild-linux-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== -esbuild-linux-arm64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" - integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== - esbuild-linux-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== -esbuild-linux-arm@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" - integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== - esbuild-linux-arm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== -esbuild-linux-mips64le@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" - integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== - esbuild-linux-mips64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== -esbuild-linux-ppc64le@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" - integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== - esbuild-linux-ppc64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== -esbuild-linux-riscv64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" - integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== - esbuild-linux-riscv64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== -esbuild-linux-s390x@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" - integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== - esbuild-linux-s390x@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== -esbuild-netbsd-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" - integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== - esbuild-netbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== -esbuild-openbsd-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" - integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== - esbuild-openbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== -esbuild-sunos-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" - integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== - esbuild-sunos-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== -esbuild-wasm@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz#d59878b097d2da024a532da94acce6384de9e314" - integrity sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A== - esbuild-wasm@0.15.7, esbuild-wasm@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== -esbuild-windows-32@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" - integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== - esbuild-windows-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== -esbuild-windows-64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" - integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== - esbuild-windows-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== -esbuild-windows-arm64@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" - integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== - esbuild-windows-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== -esbuild@0.15.5: - version "0.15.5" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" - integrity sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg== - optionalDependencies: - "@esbuild/linux-loong64" "0.15.5" - esbuild-android-64 "0.15.5" - esbuild-android-arm64 "0.15.5" - esbuild-darwin-64 "0.15.5" - esbuild-darwin-arm64 "0.15.5" - esbuild-freebsd-64 "0.15.5" - esbuild-freebsd-arm64 "0.15.5" - esbuild-linux-32 "0.15.5" - esbuild-linux-64 "0.15.5" - esbuild-linux-arm "0.15.5" - esbuild-linux-arm64 "0.15.5" - esbuild-linux-mips64le "0.15.5" - esbuild-linux-ppc64le "0.15.5" - esbuild-linux-riscv64 "0.15.5" - esbuild-linux-s390x "0.15.5" - esbuild-netbsd-64 "0.15.5" - esbuild-openbsd-64 "0.15.5" - esbuild-sunos-64 "0.15.5" - esbuild-windows-32 "0.15.5" - esbuild-windows-64 "0.15.5" - esbuild-windows-arm64 "0.15.5" - esbuild@0.15.7, esbuild@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" @@ -6893,11 +6597,6 @@ json5@^2.1.2, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== -jsonc-parser@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" - integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== - jsonc-parser@3.2.0, jsonc-parser@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" @@ -8760,15 +8459,6 @@ postcss-image-set-function@^4.0.7: dependencies: postcss-value-parser "^4.2.0" -postcss-import@14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - postcss-import@15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.0.0.tgz#0b66c25fdd9c0d19576e63c803cf39e4bad08822" @@ -8870,12 +8560,12 @@ postcss-place@^7.0.5: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz#5bd3ad53b2ef02edd41645d1ffee1ff8a49f24e5" - integrity sha512-leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA== +postcss-preset-env@7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.1.tgz#2bfe935736727ab601a5c718bf24fc9f858eceb0" + integrity sha512-8884CHxQaoN1i4iEK+JvzOe8emODb5R4p/0dw4yEdo7QM4RdUk2sBx0fnzFyJt8BLfZSCGeVkKZ4HC564waBpQ== dependencies: - "@csstools/postcss-cascade-layers" "^1.0.5" + "@csstools/postcss-cascade-layers" "^1.0.6" "@csstools/postcss-color-function" "^1.1.1" "@csstools/postcss-font-format-keywords" "^1.0.1" "@csstools/postcss-hwb-function" "^1.0.2" @@ -8894,7 +8584,7 @@ postcss-preset-env@7.8.0: css-blank-pseudo "^3.0.3" css-has-pseudo "^3.0.4" css-prefers-color-scheme "^6.0.3" - cssdb "^7.0.0" + cssdb "^7.0.1" postcss-attribute-case-insensitive "^5.0.2" postcss-clamp "^4.1.0" postcss-color-functional-notation "^4.2.4" @@ -9704,15 +9394,6 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.54.4: - version "1.54.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.4.tgz#803ff2fef5525f1dd01670c3915b4b68b6cba72d" - integrity sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.54.9: version "1.54.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" @@ -10520,16 +10201,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.14.2: - version "5.14.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" - integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.15.0, terser@^5.14.1: version "5.15.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" @@ -10893,13 +10564,6 @@ unicode-trie@^0.3.0: pako "^0.2.5" tiny-inflate "^1.0.0" -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - unique-filename@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" @@ -10907,13 +10571,6 @@ unique-filename@^2.0.0: dependencies: unique-slug "^3.0.0" -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - unique-slug@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" @@ -10984,7 +10641,7 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@9.0.0: +uuid@9.0.0, uuid@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== @@ -11225,41 +10882,6 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.10.0.tgz#de270d0009eba050546912be90116e7fd740a9ca" - integrity sha512-7dezwAs+k6yXVFZ+MaL8VnE+APobiO3zvpp3rBHe/HmWQ+avwh0Q3d0xxacOiBybZZ3syTZw9HXzpa3YNbAZDQ== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.0.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-dev-server@4.11.0: version "4.11.0" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" From 074c7cb97c7b2fe2373ce843545a7ff6ec1c2f0c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 15 Sep 2022 17:35:19 +0000 Subject: [PATCH 0890/1388] test: update core golden files --- .../angular_devkit/core/node/index.md | 1258 +---------------- 1 file changed, 23 insertions(+), 1235 deletions(-) diff --git a/goldens/public-api/angular_devkit/core/node/index.md b/goldens/public-api/angular_devkit/core/node/index.md index 6fa77ee73107..00edd946a816 100644 --- a/goldens/public-api/angular_devkit/core/node/index.md +++ b/goldens/public-api/angular_devkit/core/node/index.md @@ -18,858 +18,20 @@ import { SubscribableOrPromise } from 'rxjs'; import { Subscription } from 'rxjs'; import { ValidateFunction } from 'ajv'; -// @public (undocumented) -function addUndefinedDefaults(value: JsonValue, _pointer: JsonPointer, schema?: JsonSchema): JsonValue; - -// @public -class AliasHost extends ResolverHost { - // (undocumented) - get aliases(): Map; - // (undocumented) - protected _aliases: Map; - // (undocumented) - protected _resolve(path: Path): Path; -} - -// @public (undocumented) -function buildJsonPointer(fragments: string[]): JsonPointer; - -// @public (undocumented) -class ChannelAlreadyExistException extends BaseException { - constructor(name: string); -} - -// @public -class CordHost extends SimpleMemoryHost { - constructor(_back: ReadonlyHost); - // (undocumented) - protected _back: ReadonlyHost; - // (undocumented) - get backend(): ReadonlyHost; - // (undocumented) - get capabilities(): HostCapabilities; - clone(): CordHost; - commit(host: Host, force?: boolean): Observable; - create(path: Path, content: FileBuffer): Observable; - // (undocumented) - delete(path: Path): Observable; - // (undocumented) - exists(path: Path): Observable; - // (undocumented) - protected _filesToCreate: Set; - // (undocumented) - protected _filesToDelete: Set; - // (undocumented) - protected _filesToOverwrite: Set; - // (undocumented) - protected _filesToRename: Map; - // (undocumented) - protected _filesToRenameRevert: Map; - // (undocumented) - isDirectory(path: Path): Observable; - // (undocumented) - isFile(path: Path): Observable; - // (undocumented) - list(path: Path): Observable; - // (undocumented) - overwrite(path: Path, content: FileBuffer): Observable; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - records(): CordHostRecord[]; - // (undocumented) - rename(from: Path, to: Path): Observable; - // (undocumented) - stat(path: Path): Observable | null; - // (undocumented) - watch(path: Path, options?: HostWatchOptions): null; - // (undocumented) - willCreate(path: Path): boolean; - // (undocumented) - willDelete(path: Path): boolean; - // (undocumented) - willOverwrite(path: Path): boolean; - // (undocumented) - willRename(path: Path): boolean; - // (undocumented) - willRenameTo(path: Path, to: Path): boolean; - // (undocumented) - write(path: Path, content: FileBuffer): Observable; -} - -// @public (undocumented) -interface CordHostCreate { - // (undocumented) - content: FileBuffer; - // (undocumented) - kind: 'create'; - // (undocumented) - path: Path; -} - -// @public (undocumented) -interface CordHostDelete { - // (undocumented) - kind: 'delete'; - // (undocumented) - path: Path; -} - -// @public (undocumented) -interface CordHostOverwrite { - // (undocumented) - content: FileBuffer; - // (undocumented) - kind: 'overwrite'; - // (undocumented) - path: Path; -} - -// @public (undocumented) -type CordHostRecord = CordHostCreate | CordHostOverwrite | CordHostRename | CordHostDelete; - -// @public (undocumented) -interface CordHostRename { - // (undocumented) - from: Path; - // (undocumented) - kind: 'rename'; - // (undocumented) - to: Path; -} - -// @public (undocumented) -class CoreSchemaRegistry implements SchemaRegistry { - constructor(formats?: SchemaFormat[]); - // (undocumented) - addFormat(format: SchemaFormat): void; - addPostTransform(visitor: JsonVisitor, deps?: JsonVisitor[]): void; - addPreTransform(visitor: JsonVisitor, deps?: JsonVisitor[]): void; - // (undocumented) - addSmartDefaultProvider(source: string, provider: SmartDefaultProvider): void; - compile(schema: JsonSchema): Observable; - // @deprecated - flatten(schema: JsonObject): Observable; - // (undocumented) - registerUriHandler(handler: UriHandler): void; - // (undocumented) - protected _resolver(ref: string, validate?: ValidateFunction): { - context?: ValidateFunction; - schema?: JsonObject; - }; - // (undocumented) - usePromptProvider(provider: PromptProvider): void; - // (undocumented) - useXDeprecatedProvider(onUsage: (message: string) => void): void; -} - -// @public -export function createConsoleLogger(verbose?: boolean, stdout?: ProcessOutput, stderr?: ProcessOutput, colors?: Partial string>>): logging.Logger; - -// @public -function createDispatcher(options?: Partial>): JobDispatcher; - -// @public -function createJobFactory(loader: () => Promise>, options?: Partial): JobHandler; - -// @public -function createJobHandler(fn: SimpleJobHandlerFn, options?: Partial): JobHandler; - -// @public -function createLoggerJob(job: JobHandler, logger: LoggerApi): JobHandler; - -// @public (undocumented) -function createSyncHost(handler: SyncHostHandler): Host; - -// @public (undocumented) -class Empty implements ReadonlyHost { - // (undocumented) - readonly capabilities: HostCapabilities; - // (undocumented) - exists(path: Path): Observable; - // (undocumented) - isDirectory(path: Path): Observable; - // (undocumented) - isFile(path: Path): Observable; - // (undocumented) - list(path: Path): Observable; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - stat(path: Path): Observable | null>; -} - -declare namespace experimental { - export { - NodeModuleJobRegistry - } -} -export { experimental } - -// @public -class FallbackRegistry implements Registry { - constructor(_fallbacks?: Registry[]); - // (undocumented) - addFallback(registry: Registry): void; - // (undocumented) - protected _fallbacks: Registry[]; - // (undocumented) - get(name: JobName): Observable | null>; -} - -// @public (undocumented) -type FileBuffer = ArrayBuffer; - -// @public (undocumented) -const fileBuffer: TemplateTag; - -// @public (undocumented) -type FileBufferLike = ArrayBufferLike; - -// @public (undocumented) -function fileBufferToString(fileBuffer: FileBuffer): string; - -// @public (undocumented) -function getTypesOfSchema(schema: JsonSchema): Set; - -// @public (undocumented) -interface Host extends ReadonlyHost { - // (undocumented) - delete(path: Path): Observable; - // (undocumented) - rename(from: Path, to: Path): Observable; - // (undocumented) - watch(path: Path, options?: HostWatchOptions): Observable | null; - // (undocumented) - write(path: Path, content: FileBufferLike): Observable; -} - -// @public (undocumented) -interface HostCapabilities { - // (undocumented) - synchronous: boolean; -} - -// @public (undocumented) -interface HostWatchEvent { - // (undocumented) - readonly path: Path; - // (undocumented) - readonly time: Date; - // (undocumented) - readonly type: HostWatchEventType; -} - -// @public (undocumented) -const enum HostWatchEventType { - // (undocumented) - Changed = 0, - // (undocumented) - Created = 1, - // (undocumented) - Deleted = 2, - // (undocumented) - Renamed = 3 -} - -// @public (undocumented) -interface HostWatchOptions { - // (undocumented) - readonly persistent?: boolean; - // (undocumented) - readonly recursive?: boolean; -} - -// @public (undocumented) -class IndentLogger extends Logger { - constructor(name: string, parent?: Logger | null, indentation?: string); -} - -// @public (undocumented) -function isJobHandler(value: unknown): value is JobHandler; - -// @public (undocumented) -function isJsonSchema(value: unknown): value is JsonSchema; - -// @public -interface Job { - readonly argument: ArgumentT; - readonly description: Observable; - getChannel(name: string, schema?: schema.JsonSchema): Observable; - readonly inboundBus: Observer>; - readonly input: Observer; - readonly outboundBus: Observable>; - readonly output: Observable; - ping(): Observable; - readonly state: JobState; - stop(): void; -} - -// @public (undocumented) -class JobArgumentSchemaValidationError extends schema.SchemaValidationException { - constructor(errors?: schema.SchemaValidatorError[]); -} - -// @public -interface JobDescription extends JsonObject { - // (undocumented) - readonly argument: DeepReadonly; - // (undocumented) - readonly input: DeepReadonly; - // (undocumented) - readonly name: JobName; - // (undocumented) - readonly output: DeepReadonly; -} - -// @public -interface JobDispatcher extends JobHandler { - addConditionalJob(predicate: (args: A) => boolean, name: string): void; - setDefaultJob(name: JobName | null | JobHandler): void; -} - -// @public (undocumented) -class JobDoesNotExistException extends BaseException { - constructor(name: JobName); -} - -// @public -interface JobHandler { - // (undocumented) - (argument: ArgT, context: JobHandlerContext): Observable>; - // (undocumented) - jobDescription: Partial; -} - -// @public -interface JobHandlerContext { - // (undocumented) - readonly dependencies: Job[]; - // (undocumented) - readonly description: JobDescription; - // (undocumented) - readonly inboundBus: Observable>; - // (undocumented) - readonly scheduler: Scheduler; -} - -// @public (undocumented) -type JobInboundMessage = JobInboundMessagePing | JobInboundMessageStop | JobInboundMessageInput; - -// @public -interface JobInboundMessageBase extends JsonObject { - readonly kind: JobInboundMessageKind; -} - -// @public -interface JobInboundMessageInput extends JobInboundMessageBase { - // (undocumented) - readonly kind: JobInboundMessageKind.Input; - readonly value: InputT; -} - -// @public -enum JobInboundMessageKind { - // (undocumented) - Input = "in", - // (undocumented) - Ping = "ip", - // (undocumented) - Stop = "is" -} - -// @public -interface JobInboundMessagePing extends JobInboundMessageBase { - readonly id: number; - // (undocumented) - readonly kind: JobInboundMessageKind.Ping; -} - -// @public (undocumented) -class JobInboundMessageSchemaValidationError extends schema.SchemaValidationException { - constructor(errors?: schema.SchemaValidatorError[]); -} - -// @public -interface JobInboundMessageStop extends JobInboundMessageBase { - // (undocumented) - readonly kind: JobInboundMessageKind.Stop; -} - -// @public -type JobName = string; - -// @public (undocumented) -class JobNameAlreadyRegisteredException extends BaseException { - constructor(name: JobName); -} - -// @public -type JobOutboundMessage = JobOutboundMessageOnReady | JobOutboundMessageStart | JobOutboundMessageOutput | JobOutboundMessageChannelCreate | JobOutboundMessageChannelMessage | JobOutboundMessageChannelError | JobOutboundMessageChannelComplete | JobOutboundMessageEnd | JobOutboundMessagePong; - -// @public -interface JobOutboundMessageBase { - readonly description: JobDescription; - readonly kind: JobOutboundMessageKind; -} - -// @public -interface JobOutboundMessageChannelBase extends JobOutboundMessageBase { - readonly name: string; -} - -// @public -interface JobOutboundMessageChannelComplete extends JobOutboundMessageChannelBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelComplete; -} - -// @public -interface JobOutboundMessageChannelCreate extends JobOutboundMessageChannelBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelCreate; -} - -// @public -interface JobOutboundMessageChannelError extends JobOutboundMessageChannelBase { - readonly error: JsonValue; - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelError; -} - -// @public -interface JobOutboundMessageChannelMessage extends JobOutboundMessageChannelBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelMessage; - readonly message: JsonValue; -} - -// @public -interface JobOutboundMessageEnd extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.End; -} - -// @public -enum JobOutboundMessageKind { - // (undocumented) - ChannelComplete = "cc", - // (undocumented) - ChannelCreate = "cn", - // (undocumented) - ChannelError = "ce", - // (undocumented) - ChannelMessage = "cm", - // (undocumented) - End = "e", - // (undocumented) - OnReady = "c", - // (undocumented) - Output = "o", - // (undocumented) - Pong = "p", - // (undocumented) - Start = "s" -} - -// @public -interface JobOutboundMessageOnReady extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.OnReady; -} - -// @public -interface JobOutboundMessageOutput extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.Output; - readonly value: OutputT; -} - -// @public -interface JobOutboundMessagePong extends JobOutboundMessageBase { - readonly id: number; - // (undocumented) - readonly kind: JobOutboundMessageKind.Pong; -} - -// @public -interface JobOutboundMessageStart extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.Start; -} - -// @public (undocumented) -class JobOutputSchemaValidationError extends schema.SchemaValidationException { - constructor(errors?: schema.SchemaValidatorError[]); -} - -declare namespace jobs { - export { - isJobHandler, - JobName, - JobHandler, - JobHandlerContext, - JobDescription, - JobInboundMessageKind, - JobInboundMessageBase, - JobInboundMessagePing, - JobInboundMessageStop, - JobInboundMessageInput, - JobInboundMessage, - JobOutboundMessageKind, - JobOutboundMessageBase, - JobOutboundMessageOnReady, - JobOutboundMessageStart, - JobOutboundMessageOutput, - JobOutboundMessageChannelBase, - JobOutboundMessageChannelMessage, - JobOutboundMessageChannelError, - JobOutboundMessageChannelCreate, - JobOutboundMessageChannelComplete, - JobOutboundMessageEnd, - JobOutboundMessagePong, - JobOutboundMessage, - JobState, - Job, - ScheduleJobOptions, - Registry, - Scheduler, - createJobHandler, - createJobFactory, - createLoggerJob, - ChannelAlreadyExistException, - SimpleJobHandlerContext, - SimpleJobHandlerFn, - JobNameAlreadyRegisteredException, - JobDoesNotExistException, - createDispatcher, - JobDispatcher, - FallbackRegistry, - RegisterJobOptions, - SimpleJobRegistry, - JobArgumentSchemaValidationError, - JobInboundMessageSchemaValidationError, - JobOutputSchemaValidationError, - SimpleScheduler, - strategy - } -} - -// @public -enum JobState { - Ended = "ended", - Errored = "errored", - Queued = "queued", - Ready = "ready", - Started = "started" -} - -// @public (undocumented) -function joinJsonPointer(root: JsonPointer, ...others: string[]): JsonPointer; - -// @public (undocumented) -type JsonPointer = string & { - __PRIVATE_DEVKIT_JSON_POINTER: void; -}; - -// @public -type JsonSchema = JsonObject | boolean; - -// @public (undocumented) -interface JsonSchemaVisitor { - // (undocumented) - (current: JsonObject | JsonArray, pointer: JsonPointer, parentSchema?: JsonObject | JsonArray, index?: string): void; -} - -// @public (undocumented) -interface JsonVisitor { - // (undocumented) - (value: JsonValue, pointer: JsonPointer, schema?: JsonObject, root?: JsonObject | JsonArray): Observable | JsonValue; -} - -// @public (undocumented) -class LevelCapLogger extends LevelTransformLogger { - constructor(name: string, parent: Logger | null, levelCap: LogLevel); - // (undocumented) - readonly levelCap: LogLevel; - // (undocumented) - static levelMap: { - [cap: string]: { - [level: string]: string; - }; - }; - // (undocumented) - readonly name: string; - // (undocumented) - readonly parent: Logger | null; -} - -// @public (undocumented) -class LevelTransformLogger extends Logger { - constructor(name: string, parent: Logger | null, levelTransform: (level: LogLevel) => LogLevel); - // (undocumented) - createChild(name: string): Logger; - // (undocumented) - readonly levelTransform: (level: LogLevel) => LogLevel; - // (undocumented) - log(level: LogLevel, message: string, metadata?: JsonObject): void; - // (undocumented) - readonly name: string; - // (undocumented) - readonly parent: Logger | null; -} - -// @public (undocumented) -interface LogEntry extends LoggerMetadata { - // (undocumented) - level: LogLevel; - // (undocumented) - message: string; - // (undocumented) - timestamp: number; -} - -// @public (undocumented) -class Logger extends Observable implements LoggerApi { - constructor(name: string, parent?: Logger | null); - // (undocumented) - asApi(): LoggerApi; - // (undocumented) - complete(): void; - // (undocumented) - createChild(name: string): Logger; - // (undocumented) - debug(message: string, metadata?: JsonObject): void; - // (undocumented) - error(message: string, metadata?: JsonObject): void; - // (undocumented) - fatal(message: string, metadata?: JsonObject): void; - // (undocumented) - forEach(next: (value: LogEntry) => void, PromiseCtor?: typeof Promise): Promise; - // (undocumented) - info(message: string, metadata?: JsonObject): void; - // (undocumented) - lift(operator: Operator): Observable; - // (undocumented) - log(level: LogLevel, message: string, metadata?: JsonObject): void; - // (undocumented) - protected _metadata: LoggerMetadata; - // (undocumented) - readonly name: string; - // (undocumented) - next(entry: LogEntry): void; - // (undocumented) - protected get _observable(): Observable; - protected set _observable(v: Observable); - // (undocumented) - readonly parent: Logger | null; - // (undocumented) - protected readonly _subject: Subject; - // (undocumented) - subscribe(): Subscription; - // (undocumented) - subscribe(observer: PartialObserver): Subscription; - // (undocumented) - subscribe(next?: (value: LogEntry) => void, error?: (error: Error) => void, complete?: () => void): Subscription; - // (undocumented) - toString(): string; - // (undocumented) - warn(message: string, metadata?: JsonObject): void; -} - -// @public (undocumented) -interface LoggerApi { - // (undocumented) - createChild(name: string): Logger; - // (undocumented) - debug(message: string, metadata?: JsonObject): void; - // (undocumented) - error(message: string, metadata?: JsonObject): void; - // (undocumented) - fatal(message: string, metadata?: JsonObject): void; - // (undocumented) - info(message: string, metadata?: JsonObject): void; - // (undocumented) - log(level: LogLevel, message: string, metadata?: JsonObject): void; - // (undocumented) - warn(message: string, metadata?: JsonObject): void; -} - -// @public (undocumented) -interface LoggerMetadata extends JsonObject { - // (undocumented) - name: string; - // (undocumented) - path: string[]; -} - -// @public (undocumented) -type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'; - -// @public -function mergeSchemas(...schemas: (JsonSchema | undefined)[]): JsonSchema; - -// @public -export class NodeJsAsyncHost implements virtualFs.Host { - // (undocumented) - get capabilities(): virtualFs.HostCapabilities; - // (undocumented) - delete(path: Path): Observable; - // (undocumented) - exists(path: Path): Observable; - // (undocumented) - isDirectory(path: Path): Observable; - // (undocumented) - isFile(path: Path): Observable; - // (undocumented) - list(path: Path): Observable; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - rename(from: Path, to: Path): Observable; - // (undocumented) - stat(path: Path): Observable>; - // (undocumented) - watch(path: Path, _options?: virtualFs.HostWatchOptions): Observable | null; - // (undocumented) - write(path: Path, content: virtualFs.FileBuffer): Observable; -} - -// @public -export class NodeJsSyncHost implements virtualFs.Host { - // (undocumented) - get capabilities(): virtualFs.HostCapabilities; - // (undocumented) - delete(path: Path): Observable; - // (undocumented) - exists(path: Path): Observable; - // (undocumented) - isDirectory(path: Path): Observable; - // (undocumented) - isFile(path: Path): Observable; - // (undocumented) - list(path: Path): Observable; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - rename(from: Path, to: Path): Observable; - // (undocumented) - stat(path: Path): Observable>; - // (undocumented) - watch(path: Path, _options?: virtualFs.HostWatchOptions): Observable | null; - // (undocumented) - write(path: Path, content: virtualFs.FileBuffer): Observable; -} - -// @public (undocumented) -class NodeModuleJobRegistry implements experimental_2.jobs.Registry { - get(name: experimental_2.jobs.JobName): Observable | null>; - // (undocumented) - protected _resolve(name: string): string | null; -} - -// @public (undocumented) -class NullLogger extends Logger { - constructor(parent?: Logger | null); - // (undocumented) - asApi(): LoggerApi; -} - -// @public (undocumented) -function parseJsonPointer(pointer: JsonPointer): string[]; - -// @public (undocumented) -class PatternMatchingHost extends ResolverHost { - // (undocumented) - addPattern(pattern: string | string[], replacementFn: ReplacementFunction): void; - // (undocumented) - protected _patterns: Map; - // (undocumented) - protected _resolve(path: Path): Path; -} - -// @public (undocumented) -export interface ProcessOutput { - // (undocumented) - write(buffer: string | Buffer): boolean; -} - -// @public (undocumented) -interface PromptDefinition { - // (undocumented) - default?: string | string[] | number | boolean | null; - // (undocumented) - id: string; - // (undocumented) - items?: Array; - // (undocumented) - message: string; - // (undocumented) - multiselect?: boolean; - // (undocumented) - propertyTypes: Set; - // (undocumented) - raw?: string | JsonObject; - // (undocumented) - type: string; - // (undocumented) - validator?: (value: JsonValue) => boolean | string | Promise; -} - -// @public (undocumented) -type PromptProvider = (definitions: Array) => SubscribableOrPromise<{ - [id: string]: JsonValue; -}>; - -// @public (undocumented) -interface ReadonlyHost { - // (undocumented) - readonly capabilities: HostCapabilities; - // (undocumented) - exists(path: Path): Observable; - // (undocumented) - isDirectory(path: Path): Observable; - // (undocumented) - isFile(path: Path): Observable; - // (undocumented) - list(path: Path): Observable; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - stat(path: Path): Observable | null> | null; -} - -// @public (undocumented) -interface ReferenceResolver { - // (undocumented) - (ref: string, context?: ContextT): { - context?: ContextT; - schema?: JsonObject; - }; -} - // @public -interface RegisterJobOptions extends Partial { -} +export function createConsoleLogger(verbose?: boolean, stdout?: ProcessOutput, stderr?: ProcessOutput, colors?: Partial string>>): logging.Logger; -// @public (undocumented) -interface Registry { - get(name: JobName): Observable | null>; +declare namespace experimental { + export { + NodeModuleJobRegistry + } } - -// @public (undocumented) -type ReplacementFunction = (path: Path) => Path; +export { experimental } // @public -abstract class ResolverHost implements Host { - constructor(_delegate: Host); - // (undocumented) - get capabilities(): HostCapabilities; +export class NodeJsAsyncHost implements virtualFs.Host { // (undocumented) - protected _delegate: Host; + get capabilities(): virtualFs.HostCapabilities; // (undocumented) delete(path: Path): Observable; // (undocumented) @@ -881,430 +43,56 @@ abstract class ResolverHost implements Host { // (undocumented) list(path: Path): Observable; // (undocumented) - read(path: Path): Observable; + read(path: Path): Observable; // (undocumented) rename(from: Path, to: Path): Observable; // (undocumented) - protected abstract _resolve(path: Path): Path; - // (undocumented) - stat(path: Path): Observable | null> | null; - // (undocumented) - watch(path: Path, options?: HostWatchOptions): Observable | null; - // (undocumented) - write(path: Path, content: FileBuffer): Observable; -} - -// @public -class SafeReadonlyHost implements ReadonlyHost { - constructor(_delegate: ReadonlyHost); - // (undocumented) - get capabilities(): HostCapabilities; - // (undocumented) - exists(path: Path): Observable; - // (undocumented) - isDirectory(path: Path): Observable; - // (undocumented) - isFile(path: Path): Observable; - // (undocumented) - list(path: Path): Observable; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - stat(path: Path): Observable | null> | null; -} - -// @public -interface ScheduleJobOptions { - dependencies?: Job | Job[]; -} - -// @public -interface Scheduler { - getDescription(name: JobName): Observable; - has(name: JobName): Observable; - pause(): () => void; - schedule(name: JobName, argument: A, options?: ScheduleJobOptions): Job; -} - -// @public (undocumented) -interface SchemaFormat { - // (undocumented) - formatter: SchemaFormatter; - // (undocumented) - name: string; -} - -// @public (undocumented) -type SchemaFormatter = Format; - -// @public (undocumented) -interface SchemaKeywordValidator { - // (undocumented) - (data: JsonValue, schema: JsonValue, parent: JsonObject | JsonArray | undefined, parentProperty: string | number | undefined, pointer: JsonPointer, rootData: JsonValue): boolean | Observable; -} - -// @public (undocumented) -interface SchemaRegistry { - // (undocumented) - addFormat(format: SchemaFormat): void; - addPostTransform(visitor: JsonVisitor, deps?: JsonVisitor[]): void; - addPreTransform(visitor: JsonVisitor, deps?: JsonVisitor[]): void; - // (undocumented) - addSmartDefaultProvider(source: string, provider: SmartDefaultProvider): void; - // (undocumented) - compile(schema: Object): Observable; - // @deprecated (undocumented) - flatten(schema: JsonObject | string): Observable; - // (undocumented) - usePromptProvider(provider: PromptProvider): void; - // (undocumented) - useXDeprecatedProvider(onUsage: (message: string) => void): void; -} - -// @public (undocumented) -class SchemaValidationException extends BaseException { - constructor(errors?: SchemaValidatorError[], baseMessage?: string); - // (undocumented) - static createMessages(errors?: SchemaValidatorError[]): string[]; - // (undocumented) - readonly errors: SchemaValidatorError[]; -} - -// @public (undocumented) -interface SchemaValidator { - // (undocumented) - (data: JsonValue, options?: SchemaValidatorOptions): Observable; -} - -// @public (undocumented) -type SchemaValidatorError = Partial; - -// @public (undocumented) -interface SchemaValidatorOptions { - // (undocumented) - applyPostTransforms?: boolean; - // (undocumented) - applyPreTransforms?: boolean; - // (undocumented) - withPrompts?: boolean; -} - -// @public (undocumented) -interface SchemaValidatorResult { - // (undocumented) - data: JsonValue; - // (undocumented) - errors?: SchemaValidatorError[]; - // (undocumented) - success: boolean; -} - -// @public (undocumented) -class ScopedHost extends ResolverHost { - constructor(delegate: Host, _root?: Path); - // (undocumented) - protected _resolve(path: Path): Path; - // (undocumented) - protected _root: Path; -} - -// @public -interface SimpleJobHandlerContext extends JobHandlerContext { + stat(path: Path): Observable>; // (undocumented) - createChannel: (name: string) => Observer; + watch(path: Path, _options?: virtualFs.HostWatchOptions): Observable | null; // (undocumented) - input: Observable; + write(path: Path, content: virtualFs.FileBuffer): Observable; } // @public -type SimpleJobHandlerFn = (input: A, context: SimpleJobHandlerContext) => O | Promise | Observable; - -// @public -class SimpleJobRegistry implements Registry { - // (undocumented) - get(name: JobName): Observable | null>; - getJobNames(): JobName[]; - register(name: JobName, handler: JobHandler, options?: RegisterJobOptions): void; - register(handler: JobHandler, options?: RegisterJobOptions & { - name: string; - }): void; - // (undocumented) - protected _register(name: JobName, handler: JobHandler, options: RegisterJobOptions): void; -} - -// @public (undocumented) -class SimpleMemoryHost implements Host<{}> { - constructor(); - // (undocumented) - protected _cache: Map>; +export class NodeJsSyncHost implements virtualFs.Host { // (undocumented) - get capabilities(): HostCapabilities; + get capabilities(): virtualFs.HostCapabilities; // (undocumented) delete(path: Path): Observable; // (undocumented) - protected _delete(path: Path): void; - // (undocumented) exists(path: Path): Observable; // (undocumented) - protected _exists(path: Path): boolean; - // (undocumented) isDirectory(path: Path): Observable; // (undocumented) - protected _isDirectory(path: Path): boolean; - // (undocumented) isFile(path: Path): Observable; // (undocumented) - protected _isFile(path: Path): boolean; - // (undocumented) list(path: Path): Observable; // (undocumented) - protected _list(path: Path): PathFragment[]; - // (undocumented) - protected _newDirStats(): { - inspect(): string; - isFile(): boolean; - isDirectory(): boolean; - size: number; - atime: Date; - ctime: Date; - mtime: Date; - birthtime: Date; - content: null; - }; - // (undocumented) - protected _newFileStats(content: FileBuffer, oldStats?: Stats): { - inspect(): string; - isFile(): boolean; - isDirectory(): boolean; - size: number; - atime: Date; - ctime: Date; - mtime: Date; - birthtime: Date; - content: ArrayBuffer; - }; - // (undocumented) - read(path: Path): Observable; - // (undocumented) - protected _read(path: Path): FileBuffer; + read(path: Path): Observable; // (undocumented) rename(from: Path, to: Path): Observable; // (undocumented) - protected _rename(from: Path, to: Path): void; - // (undocumented) - reset(): void; - // (undocumented) - stat(path: Path): Observable | null> | null; - // (undocumented) - protected _stat(path: Path): Stats | null; - // (undocumented) - protected _toAbsolute(path: Path): Path; - // (undocumented) - protected _updateWatchers(path: Path, type: HostWatchEventType): void; - // (undocumented) - watch(path: Path, options?: HostWatchOptions): Observable | null; - // (undocumented) - protected _watch(path: Path, options?: HostWatchOptions): Observable; - // (undocumented) - write(path: Path, content: FileBuffer): Observable; - protected _write(path: Path, content: FileBuffer): void; -} - -// @public (undocumented) -interface SimpleMemoryHostStats { - // (undocumented) - readonly content: FileBuffer | null; -} - -// @public -class SimpleScheduler implements Scheduler { - constructor(_jobRegistry: Registry, _schemaRegistry?: schema.SchemaRegistry); - getDescription(name: JobName): Observable; - has(name: JobName): Observable; - // (undocumented) - protected _jobRegistry: Registry; - pause(): () => void; - schedule(name: JobName, argument: A, options?: ScheduleJobOptions): Job; - // (undocumented) - protected _scheduleJob(name: JobName, argument: A, options: ScheduleJobOptions, waitable: Observable): Job; - // (undocumented) - protected _schemaRegistry: schema.SchemaRegistry; -} - -// @public (undocumented) -interface SmartDefaultProvider { - // (undocumented) - (schema: JsonObject): T | Observable; -} - -// @public (undocumented) -type Stats = T & { - isFile(): boolean; - isDirectory(): boolean; - readonly size: number; - readonly atime: Date; - readonly mtime: Date; - readonly ctime: Date; - readonly birthtime: Date; -}; - -// @public (undocumented) -namespace strategy { - // (undocumented) - type JobStrategy = (handler: JobHandler, options?: Partial>) => JobHandler; - function memoize(replayMessages?: boolean): JobStrategy; - function reuse(replayMessages?: boolean): JobStrategy; - function serialize(): JobStrategy; -} - -// @public (undocumented) -function stringToFileBuffer(str: string): FileBuffer; - -// @public -class SyncDelegateHost { - constructor(_delegate: Host); - // (undocumented) - get capabilities(): HostCapabilities; - // (undocumented) - get delegate(): Host; - // (undocumented) - protected _delegate: Host; - // (undocumented) - delete(path: Path): void; - // (undocumented) - protected _doSyncCall(observable: Observable): ResultT; - // (undocumented) - exists(path: Path): boolean; - // (undocumented) - isDirectory(path: Path): boolean; - // (undocumented) - isFile(path: Path): boolean; - // (undocumented) - list(path: Path): PathFragment[]; - // (undocumented) - read(path: Path): FileBuffer; - // (undocumented) - rename(from: Path, to: Path): void; - // (undocumented) - stat(path: Path): Stats | null; + stat(path: Path): Observable>; // (undocumented) - watch(path: Path, options?: HostWatchOptions): Observable | null; + watch(path: Path, _options?: virtualFs.HostWatchOptions): Observable | null; // (undocumented) - write(path: Path, content: FileBufferLike): void; + write(path: Path, content: virtualFs.FileBuffer): Observable; } // @public (undocumented) -interface SyncHostHandler { - // (undocumented) - delete(path: Path): void; - // (undocumented) - exists(path: Path): boolean; - // (undocumented) - isDirectory(path: Path): boolean; - // (undocumented) - isFile(path: Path): boolean; - // (undocumented) - list(path: Path): PathFragment[]; - // (undocumented) - read(path: Path): FileBuffer; - // (undocumented) - rename(from: Path, to: Path): void; - // (undocumented) - stat(path: Path): Stats | null; +class NodeModuleJobRegistry implements experimental_2.jobs.Registry { + get(name: experimental_2.jobs.JobName): Observable | null>; // (undocumented) - write(path: Path, content: FileBufferLike): void; -} - -// @public (undocumented) -class SynchronousDelegateExpectedException extends BaseException { - constructor(); + protected _resolve(name: string): string | null; } // @public (undocumented) -namespace test { - // (undocumented) - class TestHost extends SimpleMemoryHost { - // (undocumented) - $exists(path: string): boolean; - // (undocumented) - $isDirectory(path: string): boolean; - // (undocumented) - $isFile(path: string): boolean; - // (undocumented) - $list(path: string): PathFragment[]; - // (undocumented) - $read(path: string): string; - // (undocumented) - $write(path: string, content: string): void; - constructor(map?: { - [path: string]: string; - }); - // (undocumented) - clearRecords(): void; - // (undocumented) - clone(): TestHost; - // (undocumented) - protected _delete(path: Path): void; - // (undocumented) - protected _exists(path: Path): boolean; - // (undocumented) - get files(): Path[]; - // (undocumented) - protected _isDirectory(path: Path): boolean; - // (undocumented) - protected _isFile(path: Path): boolean; - // (undocumented) - protected _list(path: Path): PathFragment[]; - // (undocumented) - protected _read(path: Path): ArrayBuffer; - // (undocumented) - get records(): TestLogRecord[]; - // (undocumented) - protected _records: TestLogRecord[]; - // (undocumented) - protected _rename(from: Path, to: Path): void; - // (undocumented) - protected _stat(path: Path): Stats | null; - // (undocumented) - get sync(): SyncDelegateHost<{}>; - // (undocumented) - protected _sync: SyncDelegateHost<{}> | null; - // (undocumented) - protected _watch(path: Path, options?: HostWatchOptions): Observable; - // (undocumented) - protected _write(path: Path, content: FileBuffer): void; - } +export interface ProcessOutput { // (undocumented) - type TestLogRecord = { - kind: 'write' | 'read' | 'delete' | 'list' | 'exists' | 'isDirectory' | 'isFile' | 'stat' | 'watch'; - path: Path; - } | { - kind: 'rename'; - from: Path; - to: Path; - }; -} - -// @public (undocumented) -class TransformLogger extends Logger { - constructor(name: string, transform: (stream: Observable) => Observable, parent?: Logger | null); -} - -declare namespace transforms { - export { - addUndefinedDefaults - } + write(buffer: string | Buffer): boolean; } -// @public (undocumented) -type UriHandler = (uri: string) => Observable | Promise | null | undefined; - -// @public -function visitJson(json: JsonValue, visitor: JsonVisitor, schema?: JsonSchema, refResolver?: ReferenceResolver, context?: ContextT): Observable; - -// @public (undocumented) -function visitJsonSchema(schema: JsonSchema, visitor: JsonSchemaVisitor): void; - // (No @packageDocumentation comment for this package) ``` From 1c21e470c76d69d08e5096b46b952dbce330f7ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Thu, 15 Sep 2022 11:03:07 +0200 Subject: [PATCH 0891/1388] feat(@schematics/angular): enable error on unknown properties and elements in tests These new options have been introduced in Angular v14. The commit enables the option in a new project, as we did when we introduced the `destroyAfterOption`, with the same long term goal to have these options enabled by default. --- .../build_angular/test/hello-world-app/src/test.ts | 8 ++++---- .../test/hello-world-lib/projects/lib/src/test.ts | 8 ++++---- .../angular/application/files/src/test.ts.template | 8 ++++---- .../schematics/angular/library/files/src/test.ts.template | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts index d2dd986c8a58..149a98c3c157 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts @@ -23,10 +23,10 @@ declare const require: { }; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting(), -); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts index 2e06d42dae8a..a24258af75ba 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts @@ -24,10 +24,10 @@ declare const require: { }; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting(), -); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); // And load the modules. diff --git a/packages/schematics/angular/application/files/src/test.ts.template b/packages/schematics/angular/application/files/src/test.ts.template index c04c876075f9..cac5aa3ea352 100644 --- a/packages/schematics/angular/application/files/src/test.ts.template +++ b/packages/schematics/angular/application/files/src/test.ts.template @@ -15,10 +15,10 @@ declare const require: { }; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting(), -); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); diff --git a/packages/schematics/angular/library/files/src/test.ts.template b/packages/schematics/angular/library/files/src/test.ts.template index 5775317abc9f..29e4db3829fe 100644 --- a/packages/schematics/angular/library/files/src/test.ts.template +++ b/packages/schematics/angular/library/files/src/test.ts.template @@ -16,10 +16,10 @@ declare const require: { }; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting(), -); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { + errorOnUnknownElements: true, + errorOnUnknownProperties: true +}); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); From 12931ba8c3772b1dd65846cbd6146804b08eab31 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 15 Sep 2022 18:03:23 +0000 Subject: [PATCH 0892/1388] refactor(@angular-devkit/build-angular): remove deprecated ES5 support Remove deprecated support for ES5 output. BREAKING CHANGE: Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+ --- .../src/babel/presets/application.ts | 10 +- .../build_angular/src/babel/webpack-loader.ts | 10 +- .../src/builders/browser/index.ts | 25 +- .../builders/browser/specs/allow-js_spec.ts | 26 +- .../browser/specs/browser-support_spec.ts | 41 --- .../browser/specs/optimization-level_spec.ts | 8 - .../browser/specs/resolve-json-module_spec.ts | 2 +- .../src/builders/browser/specs/styles_spec.ts | 55 ++-- .../tests/behavior/browser-support_spec.ts | 119 ++++++++ .../tests/behavior/typescript-target_spec.ts | 253 ------------------ .../browser/tests/options/tsconfig_spec.ts | 27 -- .../src/builders/server/index.ts | 24 +- .../build_angular/src/utils/i18n-inlining.ts | 4 - .../src/utils/normalize-builder-schema.ts | 5 +- .../build_angular/src/utils/process-bundle.ts | 91 ++----- .../src/utils/supported-browsers.ts | 27 +- .../src/utils/webpack-browser-config.ts | 10 +- .../plugins/javascript-optimizer-worker.ts | 62 ++--- .../src/webpack/plugins/typescript.ts | 18 +- .../e2e/tests/i18n/ivy-localize-es5.ts | 30 --- .../e2e/tests/misc/es2015-nometa.ts | 5 +- .../e2e/tests/misc/forwardref-es2015.ts | 5 +- 22 files changed, 268 insertions(+), 589 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts delete mode 100644 packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts delete mode 100644 tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index ca1a6caf960d..366f07e48a10 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -11,7 +11,6 @@ import type { DiagnosticHandlingStrategy, Diagnostics, makeEs2015TranslatePlugin, - makeEs5TranslatePlugin, makeLocalePlugin, } from '@angular/localize/tools'; import { strict as assert } from 'assert'; @@ -28,7 +27,6 @@ export type DiagnosticReporter = (type: 'error' | 'warning' | 'info', message: s */ export interface I18nPluginCreators { makeEs2015TranslatePlugin: typeof makeEs2015TranslatePlugin; - makeEs5TranslatePlugin: typeof makeEs5TranslatePlugin; makeLocalePlugin: typeof makeLocalePlugin; } @@ -117,7 +115,7 @@ function createI18nPlugins( const diagnostics = createI18nDiagnostics(diagnosticReporter); const plugins = []; - const { makeEs5TranslatePlugin, makeEs2015TranslatePlugin, makeLocalePlugin } = pluginCreators; + const { makeEs2015TranslatePlugin, makeLocalePlugin } = pluginCreators; if (translation) { plugins.push( @@ -125,12 +123,6 @@ function createI18nPlugins( missingTranslation: missingTranslationBehavior, }), ); - - plugins.push( - makeEs5TranslatePlugin(diagnostics, translation, { - missingTranslation: missingTranslationBehavior, - }), - ); } plugins.push(makeLocalePlugin(locale)); diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index 14b0e817da8b..6d23d24c25cb 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -117,15 +117,7 @@ export default custom(() => { const esTarget = scriptTarget as ScriptTarget | undefined; const isJsFile = /\.[cm]?js$/.test(this.resourcePath); - // The below should be dropped when we no longer support ES5 TypeScript output. - if (esTarget === ScriptTarget.ES5) { - // This is needed because when target is ES5 we change the TypeScript target to ES2015 - // because it simplifies build-optimization passes. - // @see https://github.com/angular/angular-cli/blob/22af6520834171d01413d4c7e4a9f13fb752252e/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts#L51-L56 - customOptions.forcePresetEnv = true; - // Comparable behavior to tsconfig target of ES5 - customOptions.supportedBrowsers = ['IE 9']; - } else if (isJsFile && customOptions.supportedBrowsers?.length) { + if (isJsFile && customOptions.supportedBrowsers?.length) { // Applications code ES version can be controlled using TypeScript's `target` option. // However, this doesn't effect libraries and hence we use preset-env to downlevel ES fetaures // based on the supported browsers in browserlist. diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 23c391a3608a..6a310a4d45a6 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -8,12 +8,10 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { EmittedFiles, WebpackLoggingCallback, runWebpack } from '@angular-devkit/build-webpack'; -import { logging } from '@angular-devkit/core'; import * as fs from 'fs'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { concatMap, map, switchMap } from 'rxjs/operators'; -import { ScriptTarget } from 'typescript'; import webpack from 'webpack'; import { ExecutionTransformer } from '../../transforms'; import { @@ -43,7 +41,6 @@ import { generateEntryPoints } from '../../utils/package-chunk-sort'; import { purgeStaleBuildCache } from '../../utils/purge-cache'; import { augmentAppWithServiceWorker } from '../../utils/service-worker'; import { Spinner } from '../../utils/spinner'; -import { getSupportedBrowsers } from '../../utils/supported-browsers'; import { assertCompatibleAngularVersion } from '../../utils/version'; import { generateI18nBrowserWebpackConfigFromContext, @@ -98,14 +95,13 @@ async function initialize( projectRoot: string; projectSourceRoot?: string; i18n: I18nOptions; - target: ScriptTarget; }> { const originalOutputPath = options.outputPath; // Assets are processed directly by the builder except when watching const adjustedOptions = options.watch ? options : { ...options, assets: [] }; - const { config, projectRoot, projectSourceRoot, i18n, target } = + const { config, projectRoot, projectSourceRoot, i18n } = await generateI18nBrowserWebpackConfigFromContext(adjustedOptions, context, (wco) => [ getCommonConfig(wco), getStylesConfig(wco), @@ -135,7 +131,7 @@ async function initialize( deleteOutputDir(context.workspaceRoot, originalOutputPath); } - return { config: transformedConfig || config, projectRoot, projectSourceRoot, i18n, target }; + return { config: transformedConfig || config, projectRoot, projectSourceRoot, i18n }; } /** @@ -170,9 +166,6 @@ export function buildWebpackBrowser( // Initialize builder const initialization = await initialize(options, context, transforms.webpackConfiguration); - // Check and warn about IE browser support - checkInternetExplorerSupport(initialization.projectRoot, context.logger); - // Add index file to watched files. if (options.watch) { const indexInputFile = path.join(context.workspaceRoot, getIndexInputFile(options.index)); @@ -193,7 +186,7 @@ export function buildWebpackBrowser( }), switchMap( // eslint-disable-next-line max-lines-per-function - ({ config, projectRoot, projectSourceRoot, i18n, target, cacheOptions }) => { + ({ config, projectRoot, projectSourceRoot, i18n, cacheOptions }) => { const normalizedOptimization = normalizeOptimization(options.optimization); return runWebpack(config, context, { @@ -255,7 +248,6 @@ export function buildWebpackBrowser( Array.from(outputPaths.values()), scriptsEntryPointName, webpackOutputPath, - target <= ScriptTarget.ES5, options.i18nMissingTranslation, ); if (!success) { @@ -458,15 +450,4 @@ function mapEmittedFilesToFileInfo(files: EmittedFiles[] = []): FileInfo[] { return filteredFiles; } -function checkInternetExplorerSupport(projectRoot: string, logger: logging.LoggerApi): void { - const supportedBrowsers = getSupportedBrowsers(projectRoot); - if (supportedBrowsers.some((b) => b === 'ie 9' || b === 'ie 10' || b === 'ie 11')) { - logger.warn( - `Warning: Support was requested for Internet Explorer in the project's browserslist configuration. ` + - 'Internet Explorer is no longer officially supported.' + - '\nFor more information, see https://angular.io/guide/browser-support', - ); - } -} - export default createBuilder(buildWebpackBrowser); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts index 6f856d5441ad..4f5ab84c0eff 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts @@ -29,7 +29,11 @@ describe('Browser Builder allow js', () => { 'src/main.ts': `import { a } from './my-js-file'; console.log(a);`, }); - host.replaceInFile('tsconfig.json', '"target": "es2020"', '"target": "es5", "allowJs": true'); + host.replaceInFile( + 'tsconfig.json', + '"target": "es2020"', + '"target": "es2020", "allowJs": true', + ); const run = await architect.scheduleTarget(targetSpec); const output = (await run.result) as BrowserBuilderOutput; @@ -39,7 +43,7 @@ describe('Browser Builder allow js', () => { await host.read(join(normalize(output.outputPath), 'main.js')).toPromise(), ); - expect(content).toContain('var a = 2'); + expect(content).toContain('const a = 2'); await run.stop(); }); @@ -50,7 +54,11 @@ describe('Browser Builder allow js', () => { 'src/main.ts': `import { a } from './my-js-file'; console.log(a);`, }); - host.replaceInFile('tsconfig.json', '"target": "es2020"', '"target": "es5", "allowJs": true'); + host.replaceInFile( + 'tsconfig.json', + '"target": "es2020"', + '"target": "es2020", "allowJs": true', + ); const overrides = { aot: true }; @@ -62,7 +70,7 @@ describe('Browser Builder allow js', () => { await host.read(join(normalize(output.outputPath), 'main.js')).toPromise(), ); - expect(content).toContain('var a = 2'); + expect(content).toContain('const a = 2'); await run.stop(); }); @@ -73,7 +81,11 @@ describe('Browser Builder allow js', () => { 'src/main.ts': `import { a } from './my-js-file'; console.log(a);`, }); - host.replaceInFile('tsconfig.json', '"target": "es2020"', '"target": "es5", "allowJs": true'); + host.replaceInFile( + 'tsconfig.json', + '"target": "es2020"', + '"target": "es2020", "allowJs": true', + ); const overrides = { watch: true }; @@ -88,13 +100,13 @@ describe('Browser Builder allow js', () => { switch (buildCount) { case 1: - expect(content).toContain('var a = 2'); + expect(content).toContain('const a = 2'); host.writeMultipleFiles({ 'src/my-js-file.js': `console.log(1); export const a = 1;`, }); break; case 2: - expect(content).toContain('var a = 1'); + expect(content).toContain('const a = 1'); break; } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts deleted file mode 100644 index c812c3227671..000000000000 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/browser-support_spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Architect } from '@angular-devkit/architect'; -import { logging } from '@angular-devkit/core'; -import { createArchitect, host } from '../../../testing/test-utils'; - -describe('Browser Builder browser support', () => { - const targetSpec = { project: 'app', target: 'build' }; - let architect: Architect; - - beforeEach(async () => { - await host.initialize().toPromise(); - architect = (await createArchitect(host.root())).architect; - }); - afterEach(async () => host.restore().toPromise()); - - it('warns when IE is present in browserslist', async () => { - host.writeMultipleFiles({ - '.browserslistrc': '\nIE 9', - }); - - const logger = new logging.Logger(''); - const logs: string[] = []; - logger.subscribe((e) => logs.push(e.message)); - - const run = await architect.scheduleTarget(targetSpec, undefined, { logger }); - const output = await run.result; - expect(output.success).toBe(true); - - expect(logs.join()).toContain( - "Warning: Support was requested for Internet Explorer in the project's browserslist configuration", - ); - await run.stop(); - }); -}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/optimization-level_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/optimization-level_spec.ts index 6db2db347594..f5450529db01 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/optimization-level_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/optimization-level_spec.ts @@ -26,14 +26,6 @@ describe('Browser Builder optimization level', () => { expect(await files['main.js']).not.toContain('AppComponent'); }); - it('tsconfig target changes optimizations to use es2017', async () => { - host.replaceInFile('tsconfig.json', '"target": "es5"', '"target": "es2017"'); - - const overrides = { optimization: true }; - const { files } = await browserBuild(architect, host, target, overrides); - expect(await files['vendor.js']).toMatch(/class \w{1,3}{constructor\(\){/); - }); - it('supports styles only optimizations', async () => { const overrides = { optimization: { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts index 7f24650c806e..7cee64ef8497 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts @@ -30,7 +30,7 @@ describe('Browser Builder resolve json module', () => { host.replaceInFile( 'tsconfig.json', '"target": "es2020"', - '"target": "es5", "resolveJsonModule": true', + '"target": "es2020", "resolveJsonModule": true', ); const overrides = { watch: true }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 2d5cc91a3269..1cde4893122a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -94,18 +94,22 @@ describe('Browser Builder styles', () => { @Component({ selector: 'app-root', templateUrl: './app.component.html', - styles: ['div { flex: 1 }'], + styles: ['div { mask-composite: add; }'], }) export class AppComponent { title = 'app'; } `, - '.browserslistrc': 'IE 10', + '.browserslistrc': ` + Safari 15.4 + Edge 104 + Firefox 91 + `, }); const { files } = await browserBuild(architect, host, target, { aot: false }); - expect(await files['main.js']).toContain('-ms-flex: 1;'); + expect(await files['main.js']).toContain('-webkit-mask-composite'); }); it('supports autoprefixer with inline component styles in AOT mode', async () => { @@ -116,18 +120,22 @@ describe('Browser Builder styles', () => { @Component({ selector: 'app-root', templateUrl: './app.component.html', - styles: ['div { flex: 1 }'], + styles: ['div { mask-composite: add; }'], }) export class AppComponent { title = 'app'; } `, - '.browserslistrc': 'IE 10', + '.browserslistrc': ` + Safari 15.4 + Edge 104 + Firefox 91 + `, }); const { files } = await browserBuild(architect, host, target, { aot: true }); - expect(await files['main.js']).toContain('-ms-flex: 1;'); + expect(await files['main.js']).toContain('-webkit-mask-composite'); }); extensionsWithImportSupport.forEach((ext) => { @@ -302,12 +310,16 @@ describe('Browser Builder styles', () => { @import url(imported-styles.css); /* normal-comment */ /*! important-comment */ - div { flex: 1 }`, + div { mask-composite: add; }`, 'src/imported-styles.css': tags.stripIndents` /* normal-comment */ /*! important-comment */ - section { flex: 1 }`, - '.browserslistrc': 'IE 10', + section { mask-composite: add; }`, + '.browserslistrc': ` + Safari 15.4 + Edge 104 + Firefox 91 + `, }); const overrides = { optimization: false }; @@ -315,10 +327,10 @@ describe('Browser Builder styles', () => { expect(await files['styles.css']).toContain(tags.stripIndents` /* normal-comment */ /*! important-comment */ - section { -ms-flex: 1; flex: 1 } + section { -webkit-mask-composite: source-over; mask-composite: add; } /* normal-comment */ /*! important-comment */ - div { -ms-flex: 1; flex: 1 }`); + div { -webkit-mask-composite: source-over; mask-composite: add; }`); }); it(`minimizes css`, async () => { @@ -334,24 +346,6 @@ describe('Browser Builder styles', () => { expect(await files['styles.css']).toContain('/*! important-comment */'); }); - it('supports autoprefixer grid comments in SCSS with optimization true', async () => { - host.writeMultipleFiles({ - 'src/styles.scss': tags.stripIndents` - /* autoprefixer grid: autoplace */ - .css-grid-container { - display: grid; - row-gap: 10px; - grid-template-columns: 100px; - } - `, - '.browserslistrc': 'IE 10', - }); - - const overrides = { optimization: true, styles: ['src/styles.scss'] }; - const { files } = await browserBuild(architect, host, target, overrides); - expect(await files['styles.css']).toContain('-ms-grid-columns:100px;'); - }); - // TODO: consider making this a unit test in the url processing plugins. it( `supports baseHref/deployUrl in resource urls`, @@ -665,10 +659,11 @@ describe('Browser Builder styles', () => { 'src/styles.css': ` div { box-shadow: 0 3px 10px, rgba(0, 0, 0, 0.15); } `, - '.browserslistrc': 'edge 17', + '.browserslistrc': `edge 18`, }); result = await browserBuild(architect, host, target, { optimization: true }); + expect(await result.files['styles.css']).toContain('rgba(0,0,0,.15)'); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts new file mode 100644 index 000000000000..e1f46f8efc69 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts @@ -0,0 +1,119 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildWebpackBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Behavior: "Browser support"', () => { + it('creates correct sourcemaps when downleveling async functions', async () => { + // Add a JavaScript file with async code + await harness.writeFile( + 'src/async-test.js', + 'async function testJs() { console.log("from-async-js-function"); }', + ); + + // Add an async function to the project as well as JavaScript file + // The type `Void123` is used as a unique identifier for the final sourcemap + // If sourcemaps are not properly propagated then it will not be in the final sourcemap + await harness.modifyFile( + 'src/main.ts', + (content) => + 'import "./async-test";\n' + + content + + '\ntype Void123 = void;' + + `\nasync function testApp(): Promise { console.log("from-async-app-function"); }`, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + vendorChunk: true, + sourceMap: { + scripts: true, + }, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s/); + harness.expectFile('dist/main.js.map').content.toContain('Promise'); + }); + + it('downlevels async functions ', async () => { + // Add an async function to the project + await harness.writeFile( + 'src/main.ts', + 'async function test(): Promise { console.log("from-async-function"); }', + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + vendorChunk: true, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s/); + harness.expectFile('dist/main.js').content.toContain('"from-async-function"'); + }); + + it('warns when IE is present in browserslist', async () => { + await harness.writeFile( + '.browserslistrc', + ` + IE 9 + IE 11 + `, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + + expect(logs).toContain( + jasmine.objectContaining({ + level: 'warn', + message: + `One or more browsers which are configured in the project's Browserslist configuration ` + + 'will be ignored as ES5 output is not supported by the Angular CLI.\n' + + `Ignored browsers: ie 11, ie 9`, + }), + ); + }); + + it('downlevels "for await...of"', async () => { + // Add an async function to the project + await harness.writeFile( + 'src/main.ts', + ` + (async () => { + for await (const o of [1, 2, 3]) { + console.log("for await...of"); + } + })(); + `, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + vendorChunk: true, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.not.toMatch(/\sawait\s/); + harness.expectFile('dist/main.js').content.toContain('"for await...of"'); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts deleted file mode 100644 index 0b1f1877cc03..000000000000 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/typescript-target_spec.ts +++ /dev/null @@ -1,253 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging } from '@angular-devkit/core'; -import { buildWebpackBrowser } from '../../index'; -import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; - -describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { - describe('Behavior: "TypeScript Configuration - target"', () => { - it('downlevels async functions when targetting ES2017', async () => { - // Set TypeScript configuration target to ES2017 to enable native async - await harness.modifyFile('src/tsconfig.app.json', (content) => { - const tsconfig = JSON.parse(content); - if (!tsconfig.compilerOptions) { - tsconfig.compilerOptions = {}; - } - tsconfig.compilerOptions.target = 'es2017'; - - return JSON.stringify(tsconfig); - }); - - // Add a JavaScript file with async code - await harness.writeFile( - 'src/async-test.js', - 'async function testJs() { console.log("from-async-js-function"); }', - ); - - // Add an async function to the project as well as JavaScript file - await harness.modifyFile( - 'src/main.ts', - (content) => - 'import "./async-test";\n' + - content + - `\nasync function testApp(): Promise { console.log("from-async-app-function"); }`, - ); - - harness.useTarget('build', { - ...BASE_OPTIONS, - vendorChunk: true, - }); - - const { result } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s/); - harness.expectFile('dist/main.js').content.toContain('"from-async-app-function"'); - harness.expectFile('dist/main.js').content.toContain('"from-async-js-function"'); - }); - - it('creates correct sourcemaps when downleveling async functions', async () => { - // Set TypeScript configuration target to ES2017 to enable native async - await harness.modifyFile('src/tsconfig.app.json', (content) => { - const tsconfig = JSON.parse(content); - if (!tsconfig.compilerOptions) { - tsconfig.compilerOptions = {}; - } - tsconfig.compilerOptions.target = 'es2017'; - - return JSON.stringify(tsconfig); - }); - - // Add a JavaScript file with async code - await harness.writeFile( - 'src/async-test.js', - 'async function testJs() { console.log("from-async-js-function"); }', - ); - - // Add an async function to the project as well as JavaScript file - // The type `Void123` is used as a unique identifier for the final sourcemap - // If sourcemaps are not properly propagated then it will not be in the final sourcemap - await harness.modifyFile( - 'src/main.ts', - (content) => - 'import "./async-test";\n' + - content + - '\ntype Void123 = void;' + - `\nasync function testApp(): Promise { console.log("from-async-app-function"); }`, - ); - - harness.useTarget('build', { - ...BASE_OPTIONS, - vendorChunk: true, - sourceMap: { - scripts: true, - }, - }); - - const { result } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s/); - harness.expectFile('dist/main.js.map').content.toContain('Promise'); - }); - - it('downlevels async functions when targetting greater than ES2017', async () => { - // Set TypeScript configuration target greater than ES2017 to enable native async - await harness.modifyFile('src/tsconfig.app.json', (content) => { - const tsconfig = JSON.parse(content); - if (!tsconfig.compilerOptions) { - tsconfig.compilerOptions = {}; - } - tsconfig.compilerOptions.target = 'es2020'; - - return JSON.stringify(tsconfig); - }); - - // Add an async function to the project - await harness.writeFile( - 'src/main.ts', - 'async function test(): Promise { console.log("from-async-function"); }', - ); - - harness.useTarget('build', { - ...BASE_OPTIONS, - vendorChunk: true, - }); - - const { result } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s/); - harness.expectFile('dist/main.js').content.toContain('"from-async-function"'); - }); - - it('downlevels "for await...of" when targetting ES2018+', async () => { - await harness.modifyFile('src/tsconfig.app.json', (content) => { - const tsconfig = JSON.parse(content); - if (!tsconfig.compilerOptions) { - tsconfig.compilerOptions = {}; - } - tsconfig.compilerOptions.target = 'es2020'; - - return JSON.stringify(tsconfig); - }); - - // Add an async function to the project - await harness.writeFile( - 'src/main.ts', - ` - (async () => { - for await (const o of [1, 2, 3]) { - console.log("for await...of"); - } - })(); - `, - ); - - harness.useTarget('build', { - ...BASE_OPTIONS, - vendorChunk: true, - }); - - const { result } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.not.toMatch(/\sawait\s/); - harness.expectFile('dist/main.js').content.toContain('"for await...of"'); - }); - - it('allows optimizing global scripts with ES2015+ syntax when targetting ES5', async () => { - await harness.modifyFile('src/tsconfig.app.json', (content) => { - const tsconfig = JSON.parse(content); - if (!tsconfig.compilerOptions) { - tsconfig.compilerOptions = {}; - } - tsconfig.compilerOptions.target = 'es5'; - - return JSON.stringify(tsconfig); - }); - - // Add global script with ES2015+ syntax to the project - await harness.writeFile( - 'src/es2015-syntax.js', - ` - class foo { - bar() { - console.log('baz'); - } - } - - (new foo()).bar(); - `, - ); - - harness.useTarget('build', { - ...BASE_OPTIONS, - optimization: { - scripts: true, - }, - scripts: ['src/es2015-syntax.js'], - }); - - const { result } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - }); - - it('a deprecation warning should be issued when targetting ES5', async () => { - await harness.modifyFile('src/tsconfig.app.json', (content) => { - const tsconfig = JSON.parse(content); - if (!tsconfig.compilerOptions) { - tsconfig.compilerOptions = {}; - } - tsconfig.compilerOptions.target = 'es5'; - - return JSON.stringify(tsconfig); - }); - await harness.writeFiles({ - 'src/tsconfig.worker.json': `{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/worker", - "lib": [ - "es2018", - "webworker" - ], - "types": [] - }, - "include": [ - "**/*.worker.ts", - ] - }`, - 'src/app/app.worker.ts': ` - /// - - const prefix: string = 'Data: '; - addEventListener('message', ({ data }) => { - postMessage(prefix + data); - }); - `, - }); - - harness.useTarget('build', { - ...BASE_OPTIONS, - webWorkerTsConfig: 'src/tsconfig.worker.json', - }); - - const { result, logs } = await harness.executeOnce(); - expect(result?.success).toBeTrue(); - - expect(logs).toContain( - jasmine.objectContaining({ - message: jasmine.stringMatching('DEPRECATED: ES5 output is deprecated'), - }), - ); - }); - }); -}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/tsconfig_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/tsconfig_spec.ts index 06ceb617be02..77bc192af4b9 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/tsconfig_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/tsconfig_spec.ts @@ -11,33 +11,6 @@ import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { describe('Option: "tsConfig"', () => { - it('uses a provided TypeScript configuration file', async () => { - // Setup a TS file that uses ES2015+ const and then target ES5. - // The const usage should be downleveled in the output if the TS config is used. - await harness.writeFile('src/main.ts', 'const a = 5; console.log(a);'); - await harness.writeFile( - 'src/tsconfig.option.json', - JSON.stringify({ - compilerOptions: { - target: 'es5', - types: [], - }, - files: ['main.ts'], - }), - ); - - harness.useTarget('build', { - ...BASE_OPTIONS, - tsConfig: 'src/tsconfig.option.json', - }); - - const { result } = await harness.executeOnce(); - - expect(result?.success).toBe(true); - - harness.expectFile('dist/main.js').content.not.toContain('const'); - }); - it('throws an exception when TypeScript Configuration file does not exist', async () => { harness.useTarget('build', { ...BASE_OPTIONS, diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 7d6cba729c9d..e9f424769f43 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -12,7 +12,6 @@ import { tags } from '@angular-devkit/core'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { concatMap, map } from 'rxjs/operators'; -import { ScriptTarget } from 'typescript'; import webpack from 'webpack'; import { ExecutionTransformer } from '../../transforms'; import { NormalizedBrowserBuilderSchema, deleteOutputDir } from '../../utils'; @@ -67,7 +66,7 @@ export function execute( let outputPaths: undefined | Map; return from(initialize(options, context, transforms.webpackConfiguration)).pipe( - concatMap(({ config, i18n, target }) => { + concatMap(({ config, i18n }) => { return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, logging: (stats, config) => { @@ -94,7 +93,6 @@ export function execute( Array.from(outputPaths.values()), [], outputPath, - target <= ScriptTarget.ES5, options.i18nMissingTranslation, ); } @@ -136,13 +134,13 @@ async function initialize( ): Promise<{ config: webpack.Configuration; i18n: I18nOptions; - target: ScriptTarget; }> { // Purge old build disk cache. await purgeStaleBuildCache(context); + const browserslist = (await import('browserslist')).default; const originalOutputPath = options.outputPath; - const { config, i18n, target } = await generateI18nBrowserWebpackConfigFromContext( + const { config, i18n } = await generateI18nBrowserWebpackConfigFromContext( { ...options, buildOptimizer: false, @@ -150,17 +148,19 @@ async function initialize( platform: 'server', } as NormalizedBrowserBuilderSchema, context, - (wco) => [getCommonConfig(wco), getStylesConfig(wco)], - ); + (wco) => { + // We use the platform to determine the JavaScript syntax output. + wco.buildOptions.supportedBrowsers.push(...browserslist('maintained node versions')); - let transformedConfig; - if (webpackConfigurationTransform) { - transformedConfig = await webpackConfigurationTransform(config); - } + return [getCommonConfig(wco), getStylesConfig(wco)]; + }, + ); if (options.deleteOutputPath) { deleteOutputDir(context.workspaceRoot, originalOutputPath); } - return { config: transformedConfig || config, i18n, target }; + const transformedConfig = (await webpackConfigurationTransform?.(config)) ?? config; + + return { config: transformedConfig, i18n }; } diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts index fec3322f168d..beb5734db539 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts @@ -22,7 +22,6 @@ function emittedFilesToInlineOptions( scriptsEntryPointName: string[], emittedPath: string, outputPath: string, - es5: boolean, missingTranslation: 'error' | 'warning' | 'ignore' | undefined, context: BuilderContext, ): { options: InlineOptions[]; originalFiles: string[] } { @@ -41,7 +40,6 @@ function emittedFilesToInlineOptions( const action: InlineOptions = { filename: emittedFile.file, code: fs.readFileSync(originalPath, 'utf8'), - es5, outputPath, missingTranslation, setLocale: emittedFile.name === 'main' || emittedFile.name === 'vendor', @@ -75,7 +73,6 @@ export async function i18nInlineEmittedFiles( outputPaths: string[], scriptsEntryPointName: string[], emittedPath: string, - es5: boolean, missingTranslation: 'error' | 'warning' | 'ignore' | undefined, ): Promise { const executor = new BundleActionExecutor({ i18n }); @@ -89,7 +86,6 @@ export async function i18nInlineEmittedFiles( scriptsEntryPointName, emittedPath, baseOutputPath, - es5, missingTranslation, context, ); diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts index 1c3af36dded5..138b25bc4aaa 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { json } from '@angular-devkit/core'; +import { json, logging } from '@angular-devkit/core'; import { AssetPatternClass, Schema as BrowserBuilderSchema, @@ -40,6 +40,7 @@ export function normalizeBrowserSchema( projectSourceRoot: string | undefined, options: BrowserBuilderSchema, metadata: json.JsonObject, + logger: logging.LoggerApi, ): NormalizedBrowserBuilderSchema { const normalizedSourceMapOptions = normalizeSourceMaps(options.sourceMap || false); @@ -71,6 +72,6 @@ export function normalizeBrowserSchema( // A value of 0 is falsy and will disable polling rather then enable // 500 ms is a sensible default in this case poll: options.poll === 0 ? 500 : options.poll, - supportedBrowsers: getSupportedBrowsers(projectRoot), + supportedBrowsers: getSupportedBrowsers(projectRoot, logger), }; } diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index e9fe997d02b4..5faecf6acde2 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -17,7 +17,7 @@ import { types, } from '@babel/core'; import templateBuilder from '@babel/template'; -import * as fs from 'fs'; +import * as fs from 'fs/promises'; import * as path from 'path'; import { workerData } from 'worker_threads'; import { allowMinify, shouldBeautify } from './environment-options'; @@ -72,8 +72,7 @@ export async function createI18nPlugins( shouldInline: boolean, localeDataContent?: string, ) { - const { Diagnostics, makeEs2015TranslatePlugin, makeEs5TranslatePlugin, makeLocalePlugin } = - await loadLocalizeTools(); + const { Diagnostics, makeEs2015TranslatePlugin, makeLocalePlugin } = await loadLocalizeTools(); const plugins = []; const diagnostics = new Diagnostics(); @@ -85,13 +84,6 @@ export async function createI18nPlugins( missingTranslation: translation === undefined ? 'ignore' : missingTranslation, }), ); - - plugins.push( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - makeEs5TranslatePlugin(diagnostics, (translation || {}) as any, { - missingTranslation: translation === undefined ? 'ignore' : missingTranslation, - }), - ); } plugins.push(makeLocalePlugin(locale)); @@ -113,7 +105,6 @@ export interface InlineOptions { filename: string; code: string; map?: string; - es5: boolean; outputPath: string; missingTranslation?: 'warning' | 'error' | 'ignore'; setLocale?: boolean; @@ -180,7 +171,7 @@ export async function inlineLocales(options: InlineOptions) { // If locale data is provided, load it and prepend to file const localeDataPath = i18n.locales[locale]?.dataPath; if (localeDataPath) { - localeDataContent = await loadLocaleData(localeDataPath, true, options.es5); + localeDataContent = await loadLocaleData(localeDataPath, true); } } @@ -215,12 +206,12 @@ export async function inlineLocales(options: InlineOptions) { i18n.flatOutput ? '' : locale, options.filename, ); - fs.writeFileSync(outputPath, transformResult.code); + await fs.writeFile(outputPath, transformResult.code); if (options.map && transformResult.map) { const outputMap = remapping([transformResult.map as SourceMapInput, options.map], () => null); - fs.writeFileSync(outputPath + '.map', JSON.stringify(outputMap)); + await fs.writeFile(outputPath + '.map', JSON.stringify(outputMap)); } } @@ -287,7 +278,7 @@ async function inlineLocalesDirect(ast: ParseResult, options: InlineOptions) { let localeDataSource; const localeDataPath = i18n.locales[locale] && i18n.locales[locale].dataPath; if (localeDataPath) { - const localeDataContent = await loadLocaleData(localeDataPath, true, options.es5); + const localeDataContent = await loadLocaleData(localeDataPath, true); localeDataSource = new OriginalSource(localeDataContent, path.basename(localeDataPath)); } @@ -306,21 +297,21 @@ async function inlineLocalesDirect(ast: ParseResult, options: InlineOptions) { i18n.flatOutput ? '' : locale, options.filename, ); - fs.writeFileSync(outputPath, outputCode); + await fs.writeFile(outputPath, outputCode); if (inputMap && outputMap) { outputMap.file = options.filename; if (mapSourceRoot) { outputMap.sourceRoot = mapSourceRoot; } - fs.writeFileSync(outputPath + '.map', JSON.stringify(outputMap)); + await fs.writeFile(outputPath + '.map', JSON.stringify(outputMap)); } } return { file: options.filename, diagnostics: diagnostics.messages, count: positions.length }; } -function inlineCopyOnly(options: InlineOptions) { +async function inlineCopyOnly(options: InlineOptions) { if (!i18n) { throw new Error('i18n options are missing'); } @@ -331,9 +322,9 @@ function inlineCopyOnly(options: InlineOptions) { i18n.flatOutput ? '' : locale, options.filename, ); - fs.writeFileSync(outputPath, options.code); + await fs.writeFile(outputPath, options.code); if (options.map) { - fs.writeFileSync(outputPath + '.map', options.map); + await fs.writeFile(outputPath + '.map', options.map); } } @@ -351,44 +342,21 @@ function findLocalizePositions( const { File } = require('@babel/core'); const file = new File({}, { code: options.code, ast }); - if (options.es5) { - traverse(file.ast, { - CallExpression(path) { - const callee = path.get('callee'); - if ( - callee.isIdentifier() && - callee.node.name === localizeName && - utils.isGlobalIdentifier(callee) - ) { - const [messageParts, expressions] = unwrapLocalizeCall(path, utils); - positions.push({ - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - start: path.node.start!, - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - end: path.node.end!, - messageParts, - expressions, - }); - } - }, - }); - } else { - traverse(file.ast, { - TaggedTemplateExpression(path) { - if (types.isIdentifier(path.node.tag) && path.node.tag.name === localizeName) { - const [messageParts, expressions] = unwrapTemplateLiteral(path, utils); - positions.push({ - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - start: path.node.start!, - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - end: path.node.end!, - messageParts, - expressions, - }); - } - }, - }); - } + traverse(file.ast, { + TaggedTemplateExpression(path) { + if (types.isIdentifier(path.node.tag) && path.node.tag.name === localizeName) { + const [messageParts, expressions] = unwrapTemplateLiteral(path, utils); + positions.push({ + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + start: path.node.start!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + end: path.node.end!, + messageParts, + expressions, + }); + } + }, + }); return positions; } @@ -415,9 +383,9 @@ function unwrapLocalizeCall( return [messageParts, expressions]; } -async function loadLocaleData(path: string, optimize: boolean, es5: boolean): Promise { +async function loadLocaleData(path: string, optimize: boolean): Promise { // The path is validated during option processing before the build starts - const content = fs.readFileSync(path, 'utf8'); + const content = await fs.readFile(path, 'utf8'); // Downlevel and optimize the data const transformResult = await transformAsync(content, { @@ -432,8 +400,7 @@ async function loadLocaleData(path: string, optimize: boolean, es5: boolean): Pr require.resolve('@babel/preset-env'), { bugfixes: true, - // IE 11 is the oldest supported browser - targets: es5 ? { ie: '11' } : { esmodules: true }, + targets: { esmodules: true }, }, ], ], diff --git a/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts b/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts index a3e750a29806..2aa537e8b2a1 100644 --- a/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts +++ b/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts @@ -6,9 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ +import { logging } from '@angular-devkit/core'; import browserslist from 'browserslist'; -export function getSupportedBrowsers(projectRoot: string): string[] { +export function getSupportedBrowsers(projectRoot: string, logger: logging.LoggerApi): string[] { browserslist.defaults = [ 'last 1 Chrome version', 'last 1 Firefox version', @@ -18,5 +19,27 @@ export function getSupportedBrowsers(projectRoot: string): string[] { 'Firefox ESR', ]; - return browserslist(undefined, { path: projectRoot }); + // Get browsers from config or default. + const browsersFromConfigOrDefault = new Set(browserslist(undefined, { path: projectRoot })); + + // Get browsers that support ES6 modules. + const browsersThatSupportEs6 = new Set(browserslist('supports es6-module')); + + const unsupportedBrowsers: string[] = []; + for (const browser of browsersFromConfigOrDefault) { + if (!browsersThatSupportEs6.has(browser)) { + browsersFromConfigOrDefault.delete(browser); + unsupportedBrowsers.push(browser); + } + } + + if (unsupportedBrowsers.length) { + logger.warn( + `One or more browsers which are configured in the project's Browserslist configuration ` + + 'will be ignored as ES5 output is not supported by the Angular CLI.\n' + + `Ignored browsers: ${unsupportedBrowsers.join(', ')}`, + ); + } + + return Array.from(browsersFromConfigOrDefault); } diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts index 850beeffc8b8..b0d2686dbd36 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts @@ -9,7 +9,6 @@ import { BuilderContext } from '@angular-devkit/architect'; import { logging } from '@angular-devkit/core'; import * as path from 'path'; -import { ScriptTarget } from 'typescript'; import { Configuration, javascript } from 'webpack'; import { merge as webpackMerge } from 'webpack-merge'; import { Schema as BrowserBuilderSchema } from '../builders/browser/schema'; @@ -44,7 +43,7 @@ export async function generateWebpackConfig( const tsConfig = await readTsconfig(tsConfigPath); const ts = await import('typescript'); - const scriptTarget = tsConfig.options.target || ts.ScriptTarget.ES5; + const scriptTarget = tsConfig.options.target || ts.ScriptTarget.ES2015; const buildOptions: NormalizedBrowserBuilderSchema = { ...options, ...extraBuildOptions }; const wco: BrowserWebpackConfigOptions = { @@ -77,16 +76,12 @@ export async function generateI18nBrowserWebpackConfigFromContext( projectRoot: string; projectSourceRoot?: string; i18n: I18nOptions; - target: ScriptTarget; }> { const { buildOptions, i18n } = await configureI18nBuild(context, options); - let target = ScriptTarget.ES5; const result = await generateBrowserWebpackConfigFromContext( buildOptions, context, (wco) => { - target = wco.scriptTarget; - return webpackPartialGenerator(wco); }, extraBuildOptions, @@ -133,7 +128,7 @@ export async function generateI18nBrowserWebpackConfigFromContext( }); } - return { ...result, i18n, target }; + return { ...result, i18n }; } export async function generateBrowserWebpackConfigFromContext( options: BrowserBuilderSchema, @@ -158,6 +153,7 @@ export async function generateBrowserWebpackConfigFromContext( projectSourceRoot, options, projectMetadata, + context.logger, ); const config = await generateWebpackConfig( diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts index 8ac77a8400e7..3fedc9daad40 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts @@ -7,7 +7,7 @@ */ import remapping from '@ampproject/remapping'; -import type { TransformFailure, TransformResult } from 'esbuild'; +import type { TransformResult } from 'esbuild'; import { minify } from 'terser'; import { EsbuildExecutor } from './esbuild-executor'; @@ -150,49 +150,23 @@ async function optimizeWithEsbuild( esbuild = new EsbuildExecutor(options.alwaysUseWasm); } - let result: TransformResult; - try { - result = await esbuild.transform(content, { - minifyIdentifiers: !options.keepIdentifierNames, - minifySyntax: true, - // NOTE: Disabling whitespace ensures unused pure annotations are kept - minifyWhitespace: false, - pure: ['forwardRef'], - legalComments: options.removeLicenses ? 'none' : 'inline', - sourcefile: name, - sourcemap: options.sourcemap && 'external', - define: options.define, - // This option should always be disabled for browser builds as we don't rely on `.name` - // and causes deadcode to be retained which makes `NG_BUILD_MANGLE` unusable to investigate tree-shaking issues. - // We enable `keepNames` only for server builds as Domino relies on `.name`. - // Once we no longer rely on Domino for SSR we should be able to remove this. - keepNames: options.keepNames, - target: `es${options.target}`, - }); - } catch (error) { - const failure = error as TransformFailure; - - // If esbuild fails with only ES5 support errors, fallback to just terser. - // This will only happen if ES5 is the output target and a global script contains ES2015+ syntax. - // In that case, the global script is technically already invalid for the target environment but - // this is and has been considered a configuration issue. Global scripts must be compatible with - // the target environment. - if ( - failure.errors?.every((error) => - error.text.includes('to the configured target environment ("es5") is not supported yet'), - ) - ) { - result = { - code: content, - map: '', - warnings: [], - }; - } else { - throw error; - } - } - - return result; + return esbuild.transform(content, { + minifyIdentifiers: !options.keepIdentifierNames, + minifySyntax: true, + // NOTE: Disabling whitespace ensures unused pure annotations are kept + minifyWhitespace: false, + pure: ['forwardRef'], + legalComments: options.removeLicenses ? 'none' : 'inline', + sourcefile: name, + sourcemap: options.sourcemap && 'external', + define: options.define, + // This option should always be disabled for browser builds as we don't rely on `.name` + // and causes deadcode to be retained which makes `NG_BUILD_MANGLE` unusable to investigate tree-shaking issues. + // We enable `keepNames` only for server builds as Domino relies on `.name`. + // Once we no longer rely on Domino for SSR we should be able to remove this. + keepNames: options.keepNames, + target: `es${options.target}`, + }); } /** diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index 6ef15d705e34..7aa644732d05 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -16,7 +16,7 @@ export function createIvyPlugin( aot: boolean, tsconfig: string, ): AngularWebpackPlugin { - const { buildOptions } = wco; + const { buildOptions, tsConfig } = wco; const optimize = buildOptions.optimization.scripts; const compilerOptions: CompilerOptions = { @@ -25,18 +25,14 @@ export function createIvyPlugin( declarationMap: false, }; - if (buildOptions.preserveSymlinks !== undefined) { - compilerOptions.preserveSymlinks = buildOptions.preserveSymlinks; + if (tsConfig.options.target === undefined || tsConfig.options.target <= ScriptTarget.ES5) { + throw new Error( + 'ES output older than ES2015 is not supported. Please update TypeScript "target" compiler option to ES2015 or later.', + ); } - // Outputting ES2015 from TypeScript is the required minimum for the build optimizer passes. - // Downleveling to ES5 will occur after the build optimizer passes via babel which is the same - // as for third-party libraries. This greatly reduces the complexity of static analysis. - if (wco.scriptTarget < ScriptTarget.ES2015) { - compilerOptions.target = ScriptTarget.ES2015; - wco.logger.warn( - 'DEPRECATED: ES5 output is deprecated. Please update TypeScript `target` compiler option to ES2015 or later.', - ); + if (buildOptions.preserveSymlinks !== undefined) { + compilerOptions.preserveSymlinks = buildOptions.preserveSymlinks; } const fileReplacements: Record = {}; diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts deleted file mode 100644 index 88bfac2d9cc1..000000000000 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es5.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { expectFileToMatch } from '../../utils/fs'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; -import { expectToFail } from '../../utils/utils'; -import { langTranslations, setupI18nConfig } from './setup'; - -export default async function () { - // Setup i18n tests and config. - await setupI18nConfig(); - - // Ensure a es5 build is used. - await updateJsonFile('tsconfig.json', (config) => { - config.compilerOptions.target = 'es5'; - }); - - // Build each locale and verify the output. - await ng('build'); - - for (const { lang, outputPath, translation } of langTranslations) { - await expectFileToMatch(`${outputPath}/main.js`, translation.helloPartial); - await expectToFail(() => expectFileToMatch(`${outputPath}/main.js`, '$localize`')); - - // Ensure locale is inlined (@angular/localize plugin inlines `$localize.locale` references) - // The only reference in a new application is in @angular/core - await expectFileToMatch(`${outputPath}/vendor.js`, lang); - - // Verify the HTML lang attribute is present - await expectFileToMatch(`${outputPath}/index.html`, `lang="${lang}"`); - } -} diff --git a/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts b/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts index 8926df2445ab..3973636e07f5 100644 --- a/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts +++ b/tests/legacy-cli/e2e/tests/misc/es2015-nometa.ts @@ -1,10 +1,7 @@ -import { prependToFile, replaceInFile, writeFile } from '../../utils/fs'; +import { prependToFile, replaceInFile } from '../../utils/fs'; import { ng } from '../../utils/process'; export default async function () { - // Ensure an ES2015 build is used in test - await writeFile('.browserslistrc', 'Chrome 65'); - await ng('generate', 'service', 'user'); // Update the application to use the new service diff --git a/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts b/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts index a17859577cee..cdf3eef6a313 100644 --- a/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts +++ b/tests/legacy-cli/e2e/tests/misc/forwardref-es2015.ts @@ -1,11 +1,8 @@ -import { appendToFile, replaceInFile, writeFile } from '../../utils/fs'; +import { appendToFile, replaceInFile } from '../../utils/fs'; import { ng } from '../../utils/process'; import { expectToFail } from '../../utils/utils'; export default async function () { - // Ensure an ES2015 build is used in test - await writeFile('.browserslistrc', 'Chrome 65'); - // Update the application to use a forward reference await replaceInFile( 'src/app/app.component.ts', From 2ba44a433c827413a53d12de0ef203f8988ddc2a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 16 Sep 2022 11:51:27 +0000 Subject: [PATCH 0893/1388] refactor(@angular-devkit/build-angular): remove support for Stylus The usage of Stylus in the CLI is minimal and this package never reached version 1. BREAKING CHANGE: Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports. --- docs/design/build-system-overview.dot | 3 +- docs/design/build-system.md | 4 +- package.json | 2 - .../angular_devkit/build_angular/BUILD.bazel | 2 - .../angular_devkit/build_angular/package.json | 2 - .../src/builders/browser-esbuild/schema.json | 4 +- .../src/builders/browser/schema.json | 4 +- .../src/builders/browser/specs/styles_spec.ts | 7 +-- .../tests/options/bundle-budgets_spec.ts | 2 +- .../options/inline-style-language_spec.ts | 23 --------- .../src/builders/extract-i18n/index.ts | 2 +- .../src/builders/karma/schema.json | 4 +- .../src/webpack/configs/styles.ts | 23 --------- .../any-component-style-budget-checker.ts | 2 +- .../webpack/plugins/css-optimizer-plugin.ts | 2 +- .../e2e/tests/build/styles/include-paths.ts | 24 ++------- .../e2e/tests/build/styles/stylus.ts | 51 ------------------- 17 files changed, 18 insertions(+), 143 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/build/styles/stylus.ts diff --git a/docs/design/build-system-overview.dot b/docs/design/build-system-overview.dot index a337d917364e..e792d7b42d81 100644 --- a/docs/design/build-system-overview.dot +++ b/docs/design/build-system-overview.dot @@ -8,9 +8,8 @@ digraph G { "*.css" -> "postcss-loader with postcss-import, ./postcss-cli-resources.ts, autoprefixer"; "*.scss\|sass" -> "sass-loader" -> "postcss-loader with postcss-import, ./postcss-cli-resources.ts, autoprefixer"; "*.less" -> "less-loader" -> "postcss-loader with postcss-import, ./postcss-cli-resources.ts, autoprefixer"; - "*.styl" -> "stylus-loader" -> "postcss-loader with postcss-import, ./postcss-cli-resources.ts, autoprefixer"; "postcss-loader with postcss-import, ./postcss-cli-resources.ts, autoprefixer" -> "raw-loader, ./optimize-css-webpack-plugin.ts" [label="component style?"]; "raw-loader" -> "./optimize-css-webpack-plugin.ts" "postcss-loader with postcss-import, ./postcss-cli-resources.ts, autoprefixer" -> "style-loader, ./raw-css-loader.ts, and mini-css-extract-plugin" [label="global style?"]; "style-loader, ./raw-css-loader.ts, and mini-css-extract-plugin" -> "./optimize-css-webpack-plugin.ts" -} \ No newline at end of file +} diff --git a/docs/design/build-system.md b/docs/design/build-system.md index fbe437ee5157..771bb61fb6c6 100644 --- a/docs/design/build-system.md +++ b/docs/design/build-system.md @@ -54,8 +54,8 @@ This is used for conditional loading of code at build time. Two types of stylesheets are used in the build system: global stylesheets and component stylesheets. Global stylesheets are injected into the `index.html` file, while component stylesheets are loaded directly into compiled Angular components. -The build system supports plain CSS stylesheets as well as the Sass, LESS and Stylus CSS pre-processors. -Stylesheet processing functionality is provided by `sass-loader`, `less-loader`, `stylus-loader`, `postcss-loader`, `postcss-import`, augmented in the build system by custom webpack plugins. +The build system supports plain CSS stylesheets as well as the Sass and LESS CSS pre-processors. +Stylesheet processing functionality is provided by `sass-loader`, `less-loader`, `postcss-loader`, `postcss-import`, augmented in the build system by custom webpack plugins. ### Assets diff --git a/package.json b/package.json index a9de99df2c24..18f6f8c23dc6 100644 --- a/package.json +++ b/package.json @@ -204,8 +204,6 @@ "source-map-loader": "4.0.0", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", - "stylus": "0.59.0", - "stylus-loader": "7.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", "terser": "5.15.0", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index bb814dcd8448..d9d738ef6907 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -170,8 +170,6 @@ ts_library( "@npm//semver", "@npm//source-map-loader", "@npm//source-map-support", - "@npm//stylus", - "@npm//stylus-loader", "@npm//terser", "@npm//text-table", "@npm//tree-kill", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4b62c5c985d0..0ebc99830e33 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -57,8 +57,6 @@ "semver": "7.3.7", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", - "stylus": "0.59.0", - "stylus-loader": "7.0.0", "terser": "5.15.0", "text-table": "0.2.0", "tree-kill": "1.2.2", diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json index 2fbb75a62927..ce8d5d1d510a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -72,7 +72,7 @@ "input": { "type": "string", "description": "The file to include.", - "pattern": "\\.(?:css|scss|sass|less|styl)$" + "pattern": "\\.(?:css|scss|sass|less)$" }, "bundleName": { "type": "string", @@ -91,7 +91,7 @@ { "type": "string", "description": "The file to include.", - "pattern": "\\.(?:css|scss|sass|less|styl)$" + "pattern": "\\.(?:css|scss|sass|less)$" } ] } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 7a7dc42b8a73..35168f55a59d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -72,7 +72,7 @@ "input": { "type": "string", "description": "The file to include.", - "pattern": "\\.(?:css|scss|sass|less|styl)$" + "pattern": "\\.(?:css|scss|sass|less)$" }, "bundleName": { "type": "string", @@ -91,7 +91,7 @@ { "type": "string", "description": "The file to include.", - "pattern": "\\.(?:css|scss|sass|less|styl)$" + "pattern": "\\.(?:css|scss|sass|less)$" } ] } diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 1cde4893122a..7c0015d02e99 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -13,8 +13,8 @@ import { dirname } from 'path'; import { browserBuild, createArchitect, host } from '../../../testing/test-utils'; describe('Browser Builder styles', () => { - const extensionsWithImportSupport = ['css', 'scss', 'less', 'styl']; - const extensionsWithVariableSupport = ['scss', 'less', 'styl']; + const extensionsWithImportSupport = ['css', 'scss', 'less']; + const extensionsWithVariableSupport = ['scss', 'less']; const imgSvg = ` @@ -223,9 +223,6 @@ describe('Browser Builder styles', () => { if (ext === 'scss') { variableAssignment = '$primary-color:'; variablereference = '$primary-color'; - } else if (ext === 'styl') { - variableAssignment = '$primary-color ='; - variablereference = '$primary-color'; } else if (ext === 'less') { variableAssignment = '@primary-color:'; variablereference = '@primary-color'; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/bundle-budgets_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/bundle-budgets_spec.ts index 9fa3a66852b6..a0ced423407c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/bundle-budgets_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/bundle-budgets_spec.ts @@ -13,7 +13,7 @@ import { Type } from '../../schema'; import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { - const CSS_EXTENSIONS = ['css', 'scss', 'less', 'styl']; + const CSS_EXTENSIONS = ['css', 'scss', 'less']; const BUDGET_NOT_MET_REGEXP = /Budget .+ was not met by/; describe('Option: "bundleBudgets"', () => { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts index f1ad0e8f104c..ea9d0032a2f9 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts @@ -58,29 +58,6 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { harness.expectFile('dist/main.js').content.toContain('color: green'); }); - // Stylus currently does not function due to the sourcemap logic within the `stylus-loader` - // which tries to read each stylesheet directly from disk. In this case, each stylesheet is - // virtual and cannot be read from disk. This issue affects data URIs in general. - // xit('supports Stylus inline component styles when set to "stylus"', async () => { - // harness.useTarget('build', { - // ...BASE_OPTIONS, - // inlineStyleLanguage: InlineStyleLanguage.Stylus, - // aot, - // }); - - // await harness.modifyFile('src/app/app.component.ts', (content) => - // content.replace( - // '__STYLE_MARKER__', - // '$primary = green;\\nh1 { color: $primary; }', - // ), - // ); - - // const { result } = await harness.executeOnce(); - - // expect(result?.success).toBe(true); - // harness.expectFile('dist/main.js').content.toContain('color: green'); - // }); - it('supports Less inline component styles when set to "less"', async () => { harness.useTarget('build', { ...BASE_OPTIONS, diff --git a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts index 2c14aba79659..8f7e54708894 100644 --- a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts @@ -224,7 +224,7 @@ export async function execute( module: { rules: [ { - test: /\.(css|scss|sass|styl|less)$/, + test: /\.(css|scss|sass|less)$/, loader: require.resolve('./empty-loader'), }, ], diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index 388070a1451c..033b4712ca90 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -76,7 +76,7 @@ "input": { "type": "string", "description": "The file to include.", - "pattern": "\\.(?:css|scss|sass|less|styl)$" + "pattern": "\\.(?:css|scss|sass|less)$" }, "bundleName": { "type": "string", @@ -95,7 +95,7 @@ { "type": "string", "description": "The file to include.", - "pattern": "\\.(?:css|scss|sass|less|styl)$" + "pattern": "\\.(?:css|scss|sass|less)$" } ] } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 2e76a09251b8..abbc2b779aeb 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -101,13 +101,6 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { extraPlugins.push(new RemoveHashPlugin({ chunkNames: noInjectNames, hashFormat })); } - if (globalStylePaths.some((p) => p.endsWith('.styl'))) { - wco.logger.warn( - 'Stylus usage is deprecated and will be removed in a future major version. ' + - 'To opt-out of the deprecated behaviour, please migrate to another stylesheet language.', - ); - } - const sassImplementation = new SassWorkerImplementation(); const sassTildeUsageMessage = new Set(); @@ -366,22 +359,6 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { }, ], }, - { - extensions: ['styl'], - use: [ - { - loader: require.resolve('stylus-loader'), - options: { - sourceMap: cssSourceMap, - stylusOptions: { - compress: false, - sourceMap: { comment: false }, - paths: includePaths, - }, - }, - }, - ], - }, ]; return { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts index ee5fb36691ff..eb18e0917777 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/any-component-style-budget-checker.ts @@ -47,7 +47,7 @@ export class AnyComponentStyleBudgetChecker { return; } - const cssExtensions = ['.css', '.scss', '.less', '.styl', '.sass']; + const cssExtensions = ['.css', '.scss', '.less', '.sass']; const componentStyles = Object.keys(compilation.assets) .filter((name) => cssExtensions.includes(path.extname(name))) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts index bd1f6744d341..cb9023fa4fa4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/css-optimizer-plugin.ts @@ -52,7 +52,7 @@ export class CssOptimizerPlugin { logger.time('optimize css assets'); for (const assetName of Object.keys(compilationAssets)) { - if (!/\.(?:css|scss|sass|less|styl)$/.test(assetName)) { + if (!/\.(?:css|scss|sass|less)$/.test(assetName)) { continue; } diff --git a/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts b/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts index 5a21491e7fa1..711bb7d3b8dc 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/include-paths.ts @@ -18,17 +18,6 @@ export default async function () { @import 'variables'; h2 { background-color: $primary-color; } `, - 'src/style-paths/variables.styl': '$primary-color = green', - 'src/styles.styl': ` - @import 'variables' - h3 - color: $primary-color - `, - 'src/app/app.component.styl': ` - @import 'variables' - h4 - background-color: $primary-color - `, 'src/style-paths/variables.less': '@primary-color: #ADDADD;', 'src/styles.less': ` @import 'variables'; @@ -43,17 +32,14 @@ export default async function () { await replaceInFile( 'src/app/app.component.ts', `'./app.component.css\'`, - `'./app.component.scss'` + (esbuild ? '' : `, './app.component.styl', './app.component.less'`), + `'./app.component.scss'` + (esbuild ? '' : `, './app.component.less'`), ); await updateJsonFile('angular.json', (workspaceJson) => { const appArchitect = workspaceJson.projects['test-project'].architect; appArchitect.build.options.styles = [{ input: 'src/styles.scss' }]; if (!esbuild) { - appArchitect.build.options.styles.push( - { input: 'src/styles.styl' }, - { input: 'src/styles.less' }, - ); + appArchitect.build.options.styles.push({ input: 'src/styles.less' }); } appArchitect.build.options.stylePreprocessorOptions = { includePaths: ['src/style-paths'], @@ -64,9 +50,7 @@ export default async function () { await expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); await expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); if (!esbuild) { - // These checks are for the less and stylus files - await expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); - await expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); + // These checks are for the less files await expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); await expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); } @@ -77,8 +61,6 @@ export default async function () { await expectFileToMatch('dist/test-project/styles.css', /h1\s*{\s*color: red;\s*}/); await expectFileToMatch('dist/test-project/main.js', /h2.*{.*color: red;.*}/); - await expectFileToMatch('dist/test-project/styles.css', /h3\s*{\s*color: #008000;\s*}/); - await expectFileToMatch('dist/test-project/main.js', /h4.*{.*color: #008000;.*}/); await expectFileToMatch('dist/test-project/styles.css', /h5\s*{\s*color: #ADDADD;\s*}/); await expectFileToMatch('dist/test-project/main.js', /h6.*{.*color: #ADDADD;.*}/); } diff --git a/tests/legacy-cli/e2e/tests/build/styles/stylus.ts b/tests/legacy-cli/e2e/tests/build/styles/stylus.ts deleted file mode 100644 index 9cca9ab3afac..000000000000 --- a/tests/legacy-cli/e2e/tests/build/styles/stylus.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { - writeMultipleFiles, - deleteFile, - expectFileToMatch, - replaceInFile, -} from '../../../utils/fs'; -import { expectToFail } from '../../../utils/utils'; -import { ng } from '../../../utils/process'; -import { updateJsonFile } from '../../../utils/project'; - -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - return writeMultipleFiles({ - 'src/styles.styl': ` - @import './imported-styles.styl'; - body { background-color: blue; } - `, - 'src/imported-styles.styl': 'p { background-color: red; }', - 'src/app/app.component.styl': ` - .outer { - .inner { - background: #fff; - } - } - `, - }) - .then(() => deleteFile('src/app/app.component.css')) - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [{ input: 'src/styles.styl' }]; - }), - ) - .then(() => - replaceInFile('src/app/app.component.ts', './app.component.css', './app.component.styl'), - ) - .then(() => ng('build', '--source-map', '--configuration=development')) - .then(() => - expectFileToMatch('dist/test-project/styles.css', /body\s*{\s*background-color: #00f;\s*}/), - ) - .then(() => - expectFileToMatch('dist/test-project/styles.css', /p\s*{\s*background-color: #f00;\s*}/), - ) - .then(() => - expectToFail(() => expectFileToMatch('dist/test-project/styles.css', '"mappings":""')), - ) - .then(() => - expectFileToMatch('dist/test-project/main.js', /.outer.*.inner.*background:\s*#[fF]+/), - ); -} From be57f267c95604f2bbc5b34a2c371397cb63d4f1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 16 Sep 2022 18:43:50 +0000 Subject: [PATCH 0894/1388] build: update angular to fb966e5 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 16f5671ebf61..24991dbd8291 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@3c526cbb36b8517829dbbf02a7833fa3081479bb + - uses: angular/dev-infra/github-actions/commit-message-based-labels@c849b3ec4531dd4cde26917d6d6decb5f1d1387c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@3c526cbb36b8517829dbbf02a7833fa3081479bb + - uses: angular/dev-infra/github-actions/post-approval-changes@c849b3ec4531dd4cde26917d6d6decb5f1d1387c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 2be9bc611bfe..7f8b8c730731 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@3c526cbb36b8517829dbbf02a7833fa3081479bb + - uses: angular/dev-infra/github-actions/feature-request@c849b3ec4531dd4cde26917d6d6decb5f1d1387c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 19d1393c1950..018ef761af22 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@3c526cbb36b8517829dbbf02a7833fa3081479bb + - uses: angular/dev-infra/github-actions/lock-closed@c849b3ec4531dd4cde26917d6d6decb5f1d1387c with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 18f6f8c23dc6..f004f59ac690 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c6e22890605f308ccfd504fa9cce7d16662aaa85", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7bf937f492118868524e92d6e23aaafc636ade90", "@angular/cdk": "14.2.2", "@angular/common": "15.0.0-next.2", "@angular/compiler": "15.0.0-next.2", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.2", "@angular/localize": "15.0.0-next.2", "@angular/material": "14.2.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#44bb94e2925b5288b6fbd46a7ed9162262cdfbdd", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4a1526a6ba5c34b016d9c460676d145cbd5e547b", "@angular/platform-browser": "15.0.0-next.2", "@angular/platform-browser-dynamic": "15.0.0-next.2", "@angular/platform-server": "15.0.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c1dc18444042..c94453c9917c 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#5cd577a7a37f6c9209adc030d09bf7bcd503e664", - "@angular/cdk": "github:angular/cdk-builds#a1a7816f96be8e2df6dc45fc82fbcf9404470414", - "@angular/common": "github:angular/common-builds#81b999d134c7b80eae48422c0eb338be5ca8eb3b", - "@angular/compiler": "github:angular/compiler-builds#79461b329a9dbf20a14f52d1eaf9b104f953c971", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#46b43ce2b1e6d31783b5abc689370e69186f2ed9", - "@angular/core": "github:angular/core-builds#fdca3416e5f081403ab468a79a066a45e686e263", - "@angular/forms": "github:angular/forms-builds#7ee9dd32be3ba1167172def8717cd2d5fa3d654c", - "@angular/language-service": "github:angular/language-service-builds#4f4f8824df3f78296dc4036d81e2d085107e0426", - "@angular/localize": "github:angular/localize-builds#2612fd6e8c385624d61c4f00b3c09d7f9d68d001", - "@angular/material": "github:angular/material-builds#29d487f620de38f038e7589a5891647c6ae5603a", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a02fbd703ac0bfdbf4c0470e3861dbee2848c9c0", - "@angular/platform-browser": "github:angular/platform-browser-builds#6f84beeae42784cfda2f0c3356e723aed1a6ee18", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7e6a975726b9551fa1ee964b67807d47327f483c", - "@angular/platform-server": "github:angular/platform-server-builds#c244c808644152058e78100a87fafd04e22f7549", - "@angular/router": "github:angular/router-builds#3322f30ff099a24cd6f7a8d9994b28ddcb05a8a7", - "@angular/service-worker": "github:angular/service-worker-builds#2b79ed4797bd3e3f9b3e551ea7e0768dd18ab0f8" + "@angular/animations": "github:angular/animations-builds#fb966e5f7eec76aa7bbadb846115e9b3496e0486", + "@angular/cdk": "github:angular/cdk-builds#448693875560c1944cdcfcef2038fc995d583848", + "@angular/common": "github:angular/common-builds#eaebaf1cb19f52931e2a0638c5864f306cc67165", + "@angular/compiler": "github:angular/compiler-builds#25c510a501234fbec10492fece268617889ba81b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f2898b7626baf6a5a12c5238ab3a23a5d639887f", + "@angular/core": "github:angular/core-builds#c89004382747491ecafcc936396db2c5e1b5a1dc", + "@angular/forms": "github:angular/forms-builds#407f59bd9965bc60e4be24147caaf4bda8dd9a51", + "@angular/language-service": "github:angular/language-service-builds#1c4137eabc9b0f57735d34f6724fc616c6f5f1aa", + "@angular/localize": "github:angular/localize-builds#c852723ba6eeec56e4f5ec2f6bfe714df2f1ce10", + "@angular/material": "github:angular/material-builds#3391432ba532820ad16f80f7f1cc7077bfc31104", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c3b92753aaf497f40f250bead545fc4bd142f163", + "@angular/platform-browser": "github:angular/platform-browser-builds#40f44cc5f343877694cd04182554c9e900a69c59", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#935cfc42f47ebdb404574cb8174a22b0ed35d0af", + "@angular/platform-server": "github:angular/platform-server-builds#6846809eb1a4edfcbbbc8718d84675a68f3f8016", + "@angular/router": "github:angular/router-builds#877a2fc613ccf3ad4d20540212d697ce4f7c0d2a", + "@angular/service-worker": "github:angular/service-worker-builds#1ad0ac77122fb928d5d3545fc560f0decc6b733b" } } diff --git a/yarn.lock b/yarn.lock index 313cb6a98417..b64bf99ac699 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#c6e22890605f308ccfd504fa9cce7d16662aaa85": - version "0.0.0-3c526cbb36b8517829dbbf02a7833fa3081479bb" - uid c6e22890605f308ccfd504fa9cce7d16662aaa85 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#c6e22890605f308ccfd504fa9cce7d16662aaa85" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#7bf937f492118868524e92d6e23aaafc636ade90": + version "0.0.0-c849b3ec4531dd4cde26917d6d6decb5f1d1387c" + uid "7bf937f492118868524e92d6e23aaafc636ade90" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7bf937f492118868524e92d6e23aaafc636ade90" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" @@ -241,10 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#44bb94e2925b5288b6fbd46a7ed9162262cdfbdd": - version "0.0.0-3c526cbb36b8517829dbbf02a7833fa3081479bb" - uid "44bb94e2925b5288b6fbd46a7ed9162262cdfbdd" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#44bb94e2925b5288b6fbd46a7ed9162262cdfbdd" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#4a1526a6ba5c34b016d9c460676d145cbd5e547b": + version "0.0.0-c849b3ec4531dd4cde26917d6d6decb5f1d1387c" + uid "4a1526a6ba5c34b016d9c460676d145cbd5e547b" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4a1526a6ba5c34b016d9c460676d145cbd5e547b" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From 91133fc2445d83d0f9a8cbfae820f54adf56277c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 16 Sep 2022 20:40:27 +0000 Subject: [PATCH 0895/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 10 +- .../angular_devkit/build_angular/package.json | 10 +- yarn.lock | 219 +++++++++++++++++- 4 files changed, 228 insertions(+), 17 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 10bc30fc1d59..ea75408dbe75 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "cb8ef14aa104e91936697f8fb07a6ce844c73b25126fe2287a0242f7324c14c0", - strip_prefix = "bazel-lib-1.11.6", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.11.6.tar.gz", + sha256 = "229a6d65b8b30af0dcaeb77c723b568ef7a2e4ad54dd65168a16992b6b6fe4c7", + strip_prefix = "bazel-lib-1.12.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.12.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index f004f59ac690..e332e954d42a 100644 --- a/package.json +++ b/package.json @@ -81,13 +81,13 @@ "@angular/platform-server": "15.0.0-next.2", "@angular/router": "15.0.0-next.2", "@angular/service-worker": "15.0.0-next.2", - "@babel/core": "7.19.0", + "@babel/core": "7.19.1", "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.19.0", + "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.10", - "@babel/preset-env": "7.19.0", + "@babel/plugin-transform-runtime": "7.19.1", + "@babel/preset-env": "7.19.1", "@babel/runtime": "7.19.0", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", @@ -129,7 +129,7 @@ "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.10", + "autoprefixer": "10.4.11", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0ebc99830e33..979601989db4 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,19 +10,19 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.19.0", + "@babel/core": "7.19.1", "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.19.0", + "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.10", - "@babel/preset-env": "7.19.0", + "@babel/plugin-transform-runtime": "7.19.1", + "@babel/preset-env": "7.19.1", "@babel/runtime": "7.19.0", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.10", + "autoprefixer": "10.4.11", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", diff --git a/yarn.lock b/yarn.lock index b64bf99ac699..390e9902b840 100644 --- a/yarn.lock +++ b/yarn.lock @@ -303,6 +303,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== +"@babel/compat-data@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" + integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== + "@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -345,6 +350,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.1.tgz#c8fa615c5e88e272564ace3d42fbc8b17bfeb22b" + integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.0" + "@babel/helper-compilation-targets" "^7.19.1" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.1" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.1" + "@babel/types" "^7.19.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.19.0", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" @@ -379,6 +405,16 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" + integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== + dependencies: + "@babel/compat-data" "^7.19.1" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" @@ -412,6 +448,18 @@ resolve "^1.14.2" semver "^6.1.2" +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" @@ -569,6 +617,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== +"@babel/parser@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" + integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -595,6 +648,16 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-async-generator-functions@7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -977,6 +1040,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.19.0" "@babel/helper-plugin-utils" "^7.19.0" +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" + integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.19.0" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" @@ -1033,6 +1104,18 @@ babel-plugin-polyfill-regenerator "^0.4.0" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz#a3df2d7312eea624c7889a2dcd37fd1dfd25b2c6" + integrity sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" @@ -1165,6 +1248,87 @@ core-js-compat "^3.22.1" semver "^6.3.0" +"@babel/preset-env@7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.1.tgz#9f04c916f9c0205a48ebe5cc1be7768eb1983f67" + integrity sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA== + dependencies: + "@babel/compat-data" "^7.19.1" + "@babel/helper-compilation-targets" "^7.19.1" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.19.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@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.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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.18.6" + "@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" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-classes" "^7.19.0" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.18.13" + "@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.18.8" + "@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.18.6" + "@babel/plugin-transform-modules-commonjs" "^7.18.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.0" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@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/preset-modules" "^0.1.5" + "@babel/types" "^7.19.0" + 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" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1208,6 +1372,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" + integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.19.1" + "@babel/types" "^7.19.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" @@ -3097,10 +3277,10 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.10: - version "10.4.10" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.10.tgz#a1d8891d1516155eb13a772b1289efdc61de14ef" - integrity sha512-nMaiDARyp1e74c8IeAXkr+BmFKa8By4Zak7tyaNPF09Iu39WFpNXOWrVirmXjKr+5cOyERwvtbMOLYz6iBJYgQ== +autoprefixer@10.4.11: + version "10.4.11" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.11.tgz#835136aff1d9cd43640151e0d2dba00f8eac7c1c" + integrity sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg== dependencies: browserslist "^4.21.3" caniuse-lite "^1.0.30001399" @@ -3175,6 +3355,15 @@ babel-plugin-polyfill-corejs2@^0.3.2: "@babel/helper-define-polyfill-provider" "^0.3.2" semver "^6.1.1" +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + babel-plugin-polyfill-corejs3@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" @@ -3183,6 +3372,14 @@ babel-plugin-polyfill-corejs3@^0.5.3: "@babel/helper-define-polyfill-provider" "^0.3.2" core-js-compat "^3.21.0" +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + babel-plugin-polyfill-regenerator@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" @@ -3190,6 +3387,13 @@ babel-plugin-polyfill-regenerator@^0.4.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.2" +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -3939,6 +4143,13 @@ core-js-compat@^3.21.0, core-js-compat@^3.22.1: browserslist "^4.21.3" semver "7.0.0" +core-js-compat@^3.25.1: + version "3.25.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.1.tgz#6f13a90de52f89bbe6267e5620a412c7f7ff7e42" + integrity sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw== + dependencies: + browserslist "^4.21.3" + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" From 2a8534aa09daf857cad127ce87bc3934a55afc6d Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 15 Sep 2022 13:22:31 -0700 Subject: [PATCH 0896/1388] docs: clarify that version bumps must happen separately from the release PR In `14.2.0`, we learned that we can't bump peer deps / `latest-versions.ts` in a release PR, because the released NPM artifact is actually built *before* an opportunity to edit the PR appears. We need to do a separate before the CLI release to make this change. See: https://angular-team.slack.com/archives/C46U16D4Z/p1661482133013029 --- docs/process/release.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index 9d9f5ad7fe5c..c8825eb5fbac 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -71,19 +71,20 @@ Releasing is performed using Angular's unified release tooling. Each week, two r **For a minor OR major release:** -After FW releases `-rc.0` for an upcoming minor/major version, update the corresponding version in -[`latest-versions.ts`](/packages/schematics/angular/utility/latest-versions.ts#L=18) **and** peer -dependencies on FW ([here](/packages/angular_devkit/build_angular/package.json) and -[here](/packages/ngtools/webpack/package.json)) to match. This ensures that CLI `-rc.0` depends on -FW `-rc.0`. +After FW releases `-rc.0` for an upcoming minor/major version, update the corresponding version in: + +- [`latest-versions.ts`](/packages/schematics/angular/utility/latest-versions.ts#L=18) +- [`@angular-devkit/build-angular`](/packages/angular_devkit/build_angular/package.json) +- [`@ngtools/webpack`](/packages/ngtools/webpack/package.json) The same needs to be done for a `-next.0` release, and needs to be done for both minor _and_ major releases. Once FW releases the actual minor/major release (for example: `13.0.0` or `13.1.0`), these versions -should be updated to match (remove `-rc.0` and `-next.0`). This can be done as part of the release -PR ([example](https://github.com/angular/angular-cli/pull/22580/files#diff-53a0da39e6b029472ba808fdd567f8706e752434fa51be6009f0140532b9fe2f)) -or a separate PR after FW releases but before CLI releases. +should be updated to match (remove `-rc.0` and `-next.0`). This **must** be done as a separate PR +which lands after FW releases (or else CI will fail) but _before_ the CLI release PR. Releases are +built before the PR is sent for review, so any changes after that point won't be included in the +release. **For a major release:** From 7627b3b5aba1acc23ead9ad7362de9646a8f0ec1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 17 Sep 2022 05:20:44 +0000 Subject: [PATCH 0897/1388] build: update github/codeql-action action to v2.1.24 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 380f7584fffd..5bd12a40a5d4 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@6a38b7d4a1af70deb1b561eb77db2b5e5a6a1e69 # tag=v2.1.23 + uses: github/codeql-action/upload-sarif@904260d7d935dff982205cbdb42025ce30b7a34f # tag=v2.1.24 with: sarif_file: results.sarif From 6bd789049deabb03aa7d7fc43f10855611f38eca Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 16 Sep 2022 23:04:50 +0000 Subject: [PATCH 0898/1388] build: lock file maintenance --- yarn.lock | 403 ++++++++++++++++++++---------------------------------- 1 file changed, 148 insertions(+), 255 deletions(-) diff --git a/yarn.lock b/yarn.lock index 390e9902b840..b94f2674a821 100644 --- a/yarn.lock +++ b/yarn.lock @@ -212,9 +212,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "14.2.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.0.tgz#51c6b95b423167998aee6d6b942e4155ffe9058e" - integrity sha512-m00WZL+df90QjrNmA43W8oSP1hyePoEXgw36JcFLQ+2ISO1HvqoeuKXIccyIQKpCuQ9VLNv5ptlTio6pjmcCqg== + version "14.2.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.2.tgz#7fe8afc0ea11cb0798359ee7902f377fd6b3a888" + integrity sha512-kG30b4RqjgWvaH9y4g95JRCzoROV+9/xgFH4hSRejFa/IcapMfvCmONJtJzwTjdsEUQAbiFohF/z9bx3QA/Yvw== dependencies: tslib "^2.3.0" @@ -298,12 +298,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" - integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== - -"@babel/compat-data@^7.19.1": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0", "@babel/compat-data@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== @@ -329,7 +324,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.0", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== @@ -350,7 +345,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.1": +"@babel/core@7.19.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.1.tgz#c8fa615c5e88e272564ace3d42fbc8b17bfeb22b" integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== @@ -395,17 +390,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" - integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== - dependencies: - "@babel/compat-data" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.19.1": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== @@ -436,19 +421,7 @@ "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" -"@babel/helper-define-polyfill-provider@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" - integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-define-polyfill-provider@^0.3.3": +"@babel/helper-define-polyfill-provider@^0.3.2", "@babel/helper-define-polyfill-provider@^0.3.3": version "0.3.3" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== @@ -538,15 +511,15 @@ "@babel/types" "^7.18.9" "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" - integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" + integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" + "@babel/traverse" "^7.19.1" + "@babel/types" "^7.19.0" "@babel/helper-simple-access@^7.18.6": version "7.18.6" @@ -575,9 +548,9 @@ integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== "@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": version "7.18.6" @@ -612,12 +585,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" - integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== - -"@babel/parser@^7.19.1": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0", "@babel/parser@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== @@ -638,7 +606,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@7.19.0", "@babel/plugin-proposal-async-generator-functions@^7.19.0": +"@babel/plugin-proposal-async-generator-functions@7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== @@ -648,7 +616,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.19.1": +"@babel/plugin-proposal-async-generator-functions@7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.19.0", "@babel/plugin-proposal-async-generator-functions@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== @@ -1032,15 +1000,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz#58c52422e4f91a381727faed7d513c89d7f41ada" - integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== @@ -1356,23 +1316,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" - integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.0" - "@babel/types" "^7.19.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.19.1": +"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== @@ -1756,11 +1700,11 @@ typescript "~4.7.4" "@microsoft/tsdoc-config@~0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.1.tgz#4de11976c1202854c4618f364bf499b4be33e657" - integrity sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ== + version "0.16.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf" + integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw== dependencies: - "@microsoft/tsdoc" "0.14.1" + "@microsoft/tsdoc" "0.14.2" ajv "~6.12.6" jju "~1.4.0" resolve "~1.19.0" @@ -1770,6 +1714,11 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== +"@microsoft/tsdoc@0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" + integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== + "@ngtools/webpack@15.0.0-next.0": version "15.0.0-next.0" resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.0.tgz#04dedb7355fd788a0c5f8a89829c455b6ac9f298" @@ -1796,10 +1745,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/arborist@^5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.1.tgz#8371fe6e38f2d9ebc57a77be9ac0a8276564aa07" - integrity sha512-bFEihRTSzIpJY+EJjyUUiTHkuZfFyn6ROlPzyVVDsHmysN8JRZ0LdgA/cwNuTGndb1ddsUxhSENhLp5pJHhX3Q== +"@npmcli/arborist@^5.6.2": + version "5.6.2" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.2.tgz#552b554f34777e5dcc8e68ad86cdaeebc0788790" + integrity sha512-Lyj2g+foWKzrwW2bT/RGO982VR9vb5tlvfD88n4PwWJRrDttQbJoIdcQzN9b+NIBhI1/8iEhC5b8far9U0fQxA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -2028,9 +1977,9 @@ "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-14.0.0.tgz#373c1a00e7fb3e2a7d2ee109c5b03a5e608f3b8f" - integrity sha512-XkWfpgp/zGiFu8LS+JAiQeZN4oYYA4/ViFJiZhwQegTg5ZbzKTvM9YyKXVBNnmZ8Et76WnlVgwRUu1rhKF4ayw== + version "14.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-14.1.0.tgz#f2fa475405cd7fed6420bf438fe393f988a9bc96" + integrity sha512-5G2niJroNCz/1zqwXtk0t9+twOSDlG00k1Wfd7bkbbXmwg8H8dvgHdIWAun53Ps/rckfvOC7scDBjuGFg5OaWw== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -2256,18 +2205,18 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.30" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz#0f2f99617fa8f9696170c46152ccf7500b34ac04" - integrity sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ== + version "4.17.31" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.16.0", "@types/express@^4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + version "4.17.14" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -2383,9 +2332,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.7.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.15.tgz#20ae1ec80c57ee844b469f968a1cd511d4088b29" - integrity sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ== + version "18.7.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" + integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== "@types/node@12.20.24": version "12.20.24" @@ -2403,9 +2352,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.27" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.27.tgz#940c1d419143fd9fbdc46ae1320b86077aef8155" - integrity sha512-DcTUcwT9xEcf4rp2UHyGAcmlqG4Mhe7acozl5vY2xzSrwP1z19ZVyjzQ6DsNUrvIadpiyZoQCTHFt4t2omYIZQ== + version "14.18.29" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.29.tgz#a0c58d67a42f8953c13d32f0acda47ed26dfce40" + integrity sha512-LhF+9fbIX4iPzhsRLpK5H7iPdvW8L4IwGciXQIOEcuF62+9nw/VQVsOViAOOGxY3OlOKGLFv0sWwJXdwQeTn6A== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2520,9 +2469,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.3.tgz#bc4e06c52ee6c3cb1779aebc0da9e1f2bcb51406" - integrity sha512-wbLIzr+fG/JT2qGJUo4YU9oObkKI1TqNSxJZkQIlpK2xllJAAZA7+IcybSnC4537qGQEmhCHwWqFN1GC9r8dgw== + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.5.tgz#ea16f2c0ff7f15828016ef62ef4623e0c7b31cfd" + integrity sha512-Lfu97JK5b2jAxCUHH8uMjmhUiQZCGDyVzSAskFFZuWcprtcwjMkEPZE/SiIM5hOGQJVs982BAF26a3kmw8iiJw== dependencies: "@types/ws" "*" @@ -3277,7 +3226,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.11: +autoprefixer@10.4.11, autoprefixer@^10.4.8: version "10.4.11" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.11.tgz#835136aff1d9cd43640151e0d2dba00f8eac7c1c" integrity sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg== @@ -3289,18 +3238,6 @@ autoprefixer@10.4.11: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -autoprefixer@^10.4.8: - version "10.4.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" - integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== - dependencies: - browserslist "^4.21.3" - caniuse-lite "^1.0.30001373" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3346,16 +3283,7 @@ babel-plugin-istanbul@6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" - integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.2" - semver "^6.1.1" - -babel-plugin-polyfill-corejs2@^0.3.3: +babel-plugin-polyfill-corejs2@^0.3.2, babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== @@ -3380,14 +3308,7 @@ babel-plugin-polyfill-corejs3@^0.6.0: "@babel/helper-define-polyfill-provider" "^0.3.3" core-js-compat "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" - integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - -babel-plugin-polyfill-regenerator@^0.4.1: +babel-plugin-polyfill-regenerator@^0.4.0, babel-plugin-polyfill-regenerator@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== @@ -3603,15 +3524,15 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.20.2, browserslist@^4.21.3, browserslist@^4.9.1: - version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.21.3, browserslist@^4.9.1: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== dependencies: - caniuse-lite "^1.0.30001370" - electron-to-chromium "^1.4.202" + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" node-releases "^2.0.6" - update-browserslist-db "^1.0.5" + update-browserslist-db "^1.0.9" browserstack@^1.5.1: version "1.6.1" @@ -3741,15 +3662,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: - version "1.0.30001390" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz#158a43011e7068ef7fc73590e9fd91a7cece5e7f" - integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g== - -caniuse-lite@^1.0.30001399: - version "1.0.30001399" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz#1bf994ca375d7f33f8d01ce03b7d5139e8587873" - integrity sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA== +caniuse-lite@^1.0.30001399, caniuse-lite@^1.0.30001400: + version "1.0.30001402" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz#aa29e1f47f5055b0d0c07696a67b8b08023d14c8" + integrity sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew== caseless@~0.12.0: version "0.12.0" @@ -3861,9 +3777,9 @@ cli-spinners@^2.5.0: integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== cli-table3@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" - integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== dependencies: string-width "^4.2.0" optionalDependencies: @@ -4135,15 +4051,7 @@ copy-webpack-plugin@11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.25.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.0.tgz#489affbfbf9cb3fa56192fe2dd9ebaee985a66c5" - integrity sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow== - dependencies: - browserslist "^4.21.3" - semver "7.0.0" - -core-js-compat@^3.25.1: +core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.25.1: version "3.25.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.1.tgz#6f13a90de52f89bbe6267e5620a412c7f7ff7e42" integrity sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw== @@ -4378,9 +4286,9 @@ decamelize@^1.2.0: integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decimal.js@^10.2.1: - version "10.4.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.0.tgz#97a7448873b01e92e5ff9117d89a7bca8e63e0fe" - integrity sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg== + version "10.4.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.1.tgz#be75eeac4a2281aace80c1a8753587c27ef053e7" + integrity sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw== decode-uri-component@^0.2.0: version "0.2.0" @@ -4646,10 +4554,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.202: - version "1.4.241" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz#5aa03ab94db590d8269f4518157c24b1efad34d6" - integrity sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw== +electron-to-chromium@^1.4.251: + version "1.4.254" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz#c6203583890abf88dfc0be046cd72d3b48f8beb6" + integrity sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q== emoji-regex@^8.0.0: version "8.0.0" @@ -5371,9 +5279,9 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -5531,9 +5439,9 @@ flatted@^3.1.0, flatted@^3.2.6: integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" - integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== foreground-child@^2.0.0: version "2.0.0" @@ -5693,9 +5601,9 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -6327,9 +6235,9 @@ is-builtin-module@^3.1.0: builtin-modules "^3.3.0" is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + version "1.2.6" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.6.tgz#fd6170b0b8c7e2cc73de342ef8284a2202023c44" + integrity sha512-krO72EO2NptOGAX2KYyqbP9vYMlNAXdB53rq6f8LXY6RY7JdSR/3BD6wLUlPHSAesmY9vstNrjvqGaCiRK/91Q== is-cidr@^4.0.2: version "4.0.2" @@ -7049,12 +6957,12 @@ libnpmdiff@^4.0.5: pacote "^13.6.1" tar "^6.1.0" -libnpmexec@^4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.12.tgz#462955cdc80894122a09720ccb86e074989ab209" - integrity sha512-iGk63HwzPz6U2mDyuUu0AV4f/yWpxxbrly6LUJgZZ3tD00qVgV530oI4sr3baTLzq8VOyQeDJr0wmEdpXJsHjQ== +libnpmexec@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.13.tgz#6688bd6c02cac31a32d2e56680c3884948cbf453" + integrity sha512-MGi6eD6zqZ1V8VCJenWRc2+rWaFiW/Vkr5Aa/cQAd3duWNvXen9sm101M6ww5ER5PmsT+qX2aZOA3A9ZPfJQXg== dependencies: - "@npmcli/arborist" "^5.6.1" + "@npmcli/arborist" "^5.6.2" "@npmcli/ci-detect" "^2.0.0" "@npmcli/fs" "^2.1.1" "@npmcli/run-script" "^4.2.0" @@ -7069,12 +6977,12 @@ libnpmexec@^4.0.12: semver "^7.3.7" walk-up-path "^1.0.0" -libnpmfund@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.3.tgz#334a3bb58c64ad18803056373545f6528b04dceb" - integrity sha512-vIlrudn2vzCQ8YRiImh/Kcf6/igjITDNqJPm2ifQDLJIrtqHc22BQb1SCyH+bajHL/DVHzGKD4VuxUtLHT641w== +libnpmfund@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.4.tgz#be1fd46bcfa9432660f98d935135d7ee3e620239" + integrity sha512-azKUVFkL27AsvzEzLKMHX/L8j/GE2TL6eZ6KIdc9hsvleoNLT+Y6XO9w9v7JWwg03smZK9dbqwvnYZzO3vzrIA== dependencies: - "@npmcli/arborist" "^5.6.1" + "@npmcli/arborist" "^5.6.2" libnpmhook@^8.0.4: version "8.0.4" @@ -7980,17 +7888,18 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.19.1" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.1.tgz#78bfc5fc1b7bc36881a2d9d1f2c93ad0246f31e5" - integrity sha512-FtWzipzng+NmtTQDXSCvA9D7H4d7vkA7ciahmY89fGK/Eo95pbnKn0hatEUfomj1jUDEXvAEi/tKiQ2nrAc7Jg== + version "8.19.2" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.2.tgz#db90e88584d065f51b069ab46b4f02f5cf4898b7" + integrity sha512-MWkISVv5f7iZbfNkry5/5YBqSYJEDAKSJdL+uzSQuyLg+hgLQUyZynu3SH6bOZlvR9ZvJYk2EiJO6B1r+ynwHg== dependencies: "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/arborist" "^5.6.1" + "@npmcli/arborist" "^5.6.2" "@npmcli/ci-detect" "^2.0.0" "@npmcli/config" "^4.2.1" "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8001,6 +7910,7 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8010,8 +7920,8 @@ npm@^8.11.0: json-parse-even-better-errors "^2.3.1" libnpmaccess "^6.0.4" libnpmdiff "^4.0.5" - libnpmexec "^4.0.12" - libnpmfund "^3.0.3" + libnpmexec "^4.0.13" + libnpmfund "^3.0.4" libnpmhook "^8.0.4" libnpmorg "^4.0.4" libnpmpack "^4.1.3" @@ -8020,6 +7930,7 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" + minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -8604,9 +8515,9 @@ postcss-custom-media@^8.0.2: postcss-value-parser "^4.2.0" postcss-custom-properties@^12.1.8: - version "12.1.8" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz#aa003e1885c5bd28e2e32496cd597e389ca889e4" - integrity sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA== + version "12.1.9" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz#0883429a7ef99f1ba239d1fea29ce84906daa8bd" + integrity sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg== dependencies: postcss-value-parser "^4.2.0" @@ -8740,9 +8651,9 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nesting@^10.1.10: - version "10.1.10" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.10.tgz#9c396df3d8232cbedfa95baaac6b765b8fd2a817" - integrity sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w== + version "10.2.0" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" + integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== dependencies: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" @@ -9288,10 +9199,10 @@ reflect-metadata@^0.1.13, reflect-metadata@^0.1.2: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== dependencies: regenerate "^1.4.2" @@ -9332,26 +9243,26 @@ regexpp@^3.2.0: integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" - integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== + version "5.2.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" + integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== dependencies: regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" @@ -9605,7 +9516,7 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.54.9: +sass@1.54.9, sass@^1.49.9: version "1.54.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" integrity sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q== @@ -9614,17 +9525,9 @@ sass@1.54.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.49.9: - version "1.54.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.8.tgz#4adef0dd86ea2b1e4074f551eeda4fc5f812a996" - integrity sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -9699,9 +9602,9 @@ selenium-webdriver@4.4.0: ws ">=8.7.0" selfsigned@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" - integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== dependencies: node-forge "^1" @@ -9715,11 +9618,6 @@ semver@5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -10640,9 +10538,9 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== typanion@^3.3.1: - version "3.9.0" - resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.9.0.tgz#071a31a0f81c3c31226e190d0a6513ff1c8ae1a3" - integrity sha512-7yPk67IIquhKQcUXOBM27vDuGmZf6oJbEmzgVfDniHCkT6+z4JnKY85nKqbstoec8Kp7hD06TP3Kc98ij43PIg== + version "3.12.0" + resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.12.0.tgz#8352830e5cf26ebfc5832da265886c9fb3ebb323" + integrity sha512-o59ZobUBsG+2dHnGVI2shscqqzHdzCOixCU0t8YXLxM2Su42J2ha7hY9V5+6SIBjVsw6aLqrlYznCgQGJN4Kag== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -10696,16 +10594,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.3: +typescript@4.8.3, typescript@^4.6.2, typescript@~4.8.0: version "4.8.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== -typescript@^4.6.2, typescript@~4.8.0: - version "4.8.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" - integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== - typescript@~4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" @@ -10763,9 +10656,9 @@ unicode-match-property-value-ecmascript@^2.0.0: integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unicode-trie@^0.3.0: version "0.3.1" @@ -10809,10 +10702,10 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" - integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== +update-browserslist-db@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" + integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" From ba296e9df2b52942916b1a89eab666de0202c98c Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 19 Sep 2022 12:48:23 -0400 Subject: [PATCH 0899/1388] test: remove unused E2E size tracking artifact generation test These files are no longer used to perform any size tracking and are also no longer stored as artifacts within CircleCI. --- .../e2e/tests/basic/size-tracking.ts | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 tests/legacy-cli/e2e/tests/basic/size-tracking.ts diff --git a/tests/legacy-cli/e2e/tests/basic/size-tracking.ts b/tests/legacy-cli/e2e/tests/basic/size-tracking.ts deleted file mode 100644 index 76efe2fbe0a7..000000000000 --- a/tests/legacy-cli/e2e/tests/basic/size-tracking.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { - appendToFile, - moveDirectory, - prependToFile, - replaceInFile, - writeFile, -} from '../../utils/fs'; -import { ng } from '../../utils/process'; - -export default async function () { - // Store the production build for artifact storage on CircleCI - if (process.env['CIRCLECI']) { - // Add initial app routing. - // This is done automatically on a new app with --routing but must be done manually on - // existing apps. - const appRoutingModulePath = 'src/app/app-routing.module.ts'; - await writeFile( - appRoutingModulePath, - ` - import { NgModule } from '@angular/core'; - import { Routes, RouterModule } from '@angular/router'; - - const routes: Routes = []; - - @NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] - }) - export class AppRoutingModule { } - `, - ); - await prependToFile( - 'src/app/app.module.ts', - `import { AppRoutingModule } from './app-routing.module';`, - ); - await replaceInFile('src/app/app.module.ts', `imports: [`, `imports: [ AppRoutingModule,`); - await appendToFile('src/app/app.component.html', ''); - - // Add a lazy module. - await ng('generate', 'module', 'lazy', '--route=lazy', '--module=app.module'); - - // Build without hashing and with named chunks to keep have consistent file names. - await ng('build', '--output-hashing=none', '--named-chunks=true'); - - // Upload to the store_artifacts dir listed in .circleci/config.yml - await moveDirectory('dist', '/tmp/dist'); - } -} From a4075c967d145c95cbe036dd38a22678529f8de2 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 15 Sep 2022 10:30:11 -0700 Subject: [PATCH 0900/1388] test: enable git core.longpaths option --- .circleci/dynamic_config.yml | 1 - tests/legacy-cli/e2e/utils/project.ts | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index e34bf206fc0b..71ffa33e5f7b 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -129,7 +129,6 @@ commands: - run: npm install -g yarn@1.22.10 - run: node --version - run: yarn --version - - run: git config --global core.longpaths true setup_bazel_rbe: parameters: diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 9704721bfc0c..22e7d7892035 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -41,6 +41,7 @@ export async function prepareProjectForE2e(name: string) { await git('config', 'user.email', 'angular-core+e2e@google.com'); await git('config', 'user.name', 'Angular CLI E2E'); await git('config', 'commit.gpgSign', 'false'); + await git('config', 'core.longpaths', 'true'); if (argv['ng-snapshots'] || argv['ng-tag']) { await useSha(); From decd4692bef4f71ee02a9bd8d3c4036dfe36bd37 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 7 Sep 2022 17:55:35 -0700 Subject: [PATCH 0901/1388] test: catch and log all errors include test setup --- tests/legacy-cli/e2e_runner.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 548f0a10da24..d0beca151b94 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -181,6 +181,8 @@ Promise.all([findFreePort(), findFreePort()]) } else { console.log(colors.green('Done.')); } + + process.exitCode = 0; } catch (err) { if (err instanceof Error) { console.log('\n'); @@ -202,16 +204,16 @@ Promise.all([findFreePort(), findFreePort()]) } } - throw err; + process.exitCode = 1; } finally { registryProcess.kill(); secureRegistryProcess.kill(); } }) - .then( - () => process.exit(0), - () => process.exit(1), - ); + .catch((err) => { + console.error(colors.red(`Unkown Error: ${err}`)); + process.exitCode = 1; + }); async function runSteps( run: (name: string) => Promise | void, From 113e2c0f55f72dab37354fe6adb563c4cd3a83a8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 19 Sep 2022 17:45:37 +0000 Subject: [PATCH 0902/1388] build: update angular to 3dfd4b3 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 24991dbd8291..ceb0ff90947b 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@c849b3ec4531dd4cde26917d6d6decb5f1d1387c + - uses: angular/dev-infra/github-actions/commit-message-based-labels@5b747aa0f3198901823476ace4e0ffc4ba2dd61f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@c849b3ec4531dd4cde26917d6d6decb5f1d1387c + - uses: angular/dev-infra/github-actions/post-approval-changes@5b747aa0f3198901823476ace4e0ffc4ba2dd61f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 7f8b8c730731..242e6ba63c85 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@c849b3ec4531dd4cde26917d6d6decb5f1d1387c + - uses: angular/dev-infra/github-actions/feature-request@5b747aa0f3198901823476ace4e0ffc4ba2dd61f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 018ef761af22..07e30fc48065 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@c849b3ec4531dd4cde26917d6d6decb5f1d1387c + - uses: angular/dev-infra/github-actions/lock-closed@5b747aa0f3198901823476ace4e0ffc4ba2dd61f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index e332e954d42a..5a432d819a86 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7bf937f492118868524e92d6e23aaafc636ade90", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0e6b17b87b5f1a9ad8e9c386c531c32f71778c70", "@angular/cdk": "14.2.2", "@angular/common": "15.0.0-next.2", "@angular/compiler": "15.0.0-next.2", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.2", "@angular/localize": "15.0.0-next.2", "@angular/material": "14.2.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4a1526a6ba5c34b016d9c460676d145cbd5e547b", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62", "@angular/platform-browser": "15.0.0-next.2", "@angular/platform-browser-dynamic": "15.0.0-next.2", "@angular/platform-server": "15.0.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c94453c9917c..19d5ae5a9bd2 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#fb966e5f7eec76aa7bbadb846115e9b3496e0486", - "@angular/cdk": "github:angular/cdk-builds#448693875560c1944cdcfcef2038fc995d583848", - "@angular/common": "github:angular/common-builds#eaebaf1cb19f52931e2a0638c5864f306cc67165", - "@angular/compiler": "github:angular/compiler-builds#25c510a501234fbec10492fece268617889ba81b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f2898b7626baf6a5a12c5238ab3a23a5d639887f", - "@angular/core": "github:angular/core-builds#c89004382747491ecafcc936396db2c5e1b5a1dc", - "@angular/forms": "github:angular/forms-builds#407f59bd9965bc60e4be24147caaf4bda8dd9a51", - "@angular/language-service": "github:angular/language-service-builds#1c4137eabc9b0f57735d34f6724fc616c6f5f1aa", - "@angular/localize": "github:angular/localize-builds#c852723ba6eeec56e4f5ec2f6bfe714df2f1ce10", - "@angular/material": "github:angular/material-builds#3391432ba532820ad16f80f7f1cc7077bfc31104", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c3b92753aaf497f40f250bead545fc4bd142f163", - "@angular/platform-browser": "github:angular/platform-browser-builds#40f44cc5f343877694cd04182554c9e900a69c59", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#935cfc42f47ebdb404574cb8174a22b0ed35d0af", - "@angular/platform-server": "github:angular/platform-server-builds#6846809eb1a4edfcbbbc8718d84675a68f3f8016", - "@angular/router": "github:angular/router-builds#877a2fc613ccf3ad4d20540212d697ce4f7c0d2a", - "@angular/service-worker": "github:angular/service-worker-builds#1ad0ac77122fb928d5d3545fc560f0decc6b733b" + "@angular/animations": "github:angular/animations-builds#3dfd4b35d3f0ffdbf7fb7d867191fc59858fd0b9", + "@angular/cdk": "github:angular/cdk-builds#f3501468c716c4ad45b93993ba1268c8e13ea672", + "@angular/common": "github:angular/common-builds#a0a5f3131b09484a9d85f9ffeb4840632312ce04", + "@angular/compiler": "github:angular/compiler-builds#7a210c2e03ca30fae81b604d71c1ea30b8b30366", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#90a4333c28bd9dad8b4e26bd9c718a67a74a0698", + "@angular/core": "github:angular/core-builds#712b10797c2f8405f832829f1d1c6d9c873af949", + "@angular/forms": "github:angular/forms-builds#3784980fe329627537467e51d24989ac21ad465c", + "@angular/language-service": "github:angular/language-service-builds#1586bbeb56d52f6c5ca415e776177cf04088ec91", + "@angular/localize": "github:angular/localize-builds#951931c29de685bb4d6ef2aa751d3ea827451fae", + "@angular/material": "github:angular/material-builds#29166fe3a6719ffdf3ac09d4c2913f5a7bf6f930", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1b270e169ffb7751ccf6fe89b4ba408cd9d0a6c9", + "@angular/platform-browser": "github:angular/platform-browser-builds#b7dad368b8417acc4c58b786479b18836d8f6ed5", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#39753e3748e717f53e08326f171e3933e5c3fd10", + "@angular/platform-server": "github:angular/platform-server-builds#ff09b3370b9710ac8534b5781108819f5af20809", + "@angular/router": "github:angular/router-builds#14fbdc183e65dd769fb06e5e1a7c537f241dfe8c", + "@angular/service-worker": "github:angular/service-worker-builds#3da09af2b61165d7aa22c71ec3c587aae8303590" } } diff --git a/yarn.lock b/yarn.lock index b94f2674a821..007536481480 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#7bf937f492118868524e92d6e23aaafc636ade90": - version "0.0.0-c849b3ec4531dd4cde26917d6d6decb5f1d1387c" - uid "7bf937f492118868524e92d6e23aaafc636ade90" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7bf937f492118868524e92d6e23aaafc636ade90" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0e6b17b87b5f1a9ad8e9c386c531c32f71778c70": + version "0.0.0-5b747aa0f3198901823476ace4e0ffc4ba2dd61f" + uid "0e6b17b87b5f1a9ad8e9c386c531c32f71778c70" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0e6b17b87b5f1a9ad8e9c386c531c32f71778c70" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" @@ -241,10 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#4a1526a6ba5c34b016d9c460676d145cbd5e547b": - version "0.0.0-c849b3ec4531dd4cde26917d6d6decb5f1d1387c" - uid "4a1526a6ba5c34b016d9c460676d145cbd5e547b" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4a1526a6ba5c34b016d9c460676d145cbd5e547b" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62": + version "0.0.0-5b747aa0f3198901823476ace4e0ffc4ba2dd61f" + uid "8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From 326e9234c4a0c9b9a99398e7db75f608ce112cb2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 19 Sep 2022 15:40:06 -0400 Subject: [PATCH 0903/1388] refactor(@angular/cli): remove use of global require resolve The global require function is not present in Node.js ESM mode. To support the eventual transition of the `@angular/cli` package to ESM, usage of the `require.resolve` function has been converted to use locally created `require` functions via `createRequire` from the `module` builtin. --- packages/angular/cli/lib/init.ts | 4 +++- .../utilities/schematic-engine-host.ts | 9 +++++---- packages/angular/cli/src/commands/add/cli.ts | 13 ++++++------- packages/angular/cli/src/commands/update/cli.ts | 14 ++++++++------ 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index ce4014a4db80..401fb06485a2 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -9,6 +9,7 @@ import 'symbol-observable'; // symbol polyfill must go first import { promises as fs } from 'fs'; +import { createRequire } from 'module'; import * as path from 'path'; import { SemVer, major } from 'semver'; import { colors } from '../src/utilities/color'; @@ -47,7 +48,8 @@ let forceExit = false; try { // No error implies a projectLocalCli, which will load whatever // version of ng-cli you have installed in a local package.json - const projectLocalCli = require.resolve('@angular/cli', { paths: [process.cwd()] }); + const cwdRequire = createRequire(process.cwd() + '/'); + const projectLocalCli = cwdRequire.resolve('@angular/cli'); cli = await import(projectLocalCli); const globalVersion = new SemVer(VERSION.full); diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts index 19af7c6bb8ed..0007ffe2f673 100644 --- a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts +++ b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts @@ -10,7 +10,7 @@ import { RuleFactory, SchematicsException, Tree } from '@angular-devkit/schemati import { FileSystemCollectionDesc, NodeModulesEngineHost } from '@angular-devkit/schematics/tools'; import { readFileSync } from 'fs'; import { parse as parseJson } from 'jsonc-parser'; -import nodeModule from 'module'; +import { createRequire } from 'module'; import { dirname, resolve } from 'path'; import { Script } from 'vm'; import { assertIsError } from '../../utilities/error'; @@ -63,7 +63,8 @@ export class SchematicEngineHost extends NodeModulesEngineHost { // Mimic behavior of ExportStringRef class used in default behavior const fullPath = path[0] === '.' ? resolve(parentPath ?? process.cwd(), path) : path; - const schematicFile = require.resolve(fullPath, { paths: [parentPath] }); + const referenceRequire = createRequire(__filename); + const schematicFile = referenceRequire.resolve(fullPath, { paths: [parentPath] }); if (shouldWrapSchematic(schematicFile, !!collectionDescription?.encapsulation)) { const schematicPath = dirname(schematicFile); @@ -128,8 +129,8 @@ function wrap( moduleCache: Map, exportName?: string, ): () => unknown { - const hostRequire = nodeModule.createRequire(__filename); - const schematicRequire = nodeModule.createRequire(schematicFile); + const hostRequire = createRequire(__filename); + const schematicRequire = createRequire(schematicFile); const customRequire = function (id: string) { if (legacyModules[id]) { diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index d65cd78e4278..3e62345b9b89 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -8,6 +8,7 @@ import { analytics, tags } from '@angular-devkit/core'; import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/tools'; +import { createRequire } from 'module'; import npa from 'npm-package-arg'; import { dirname, join } from 'path'; import { compare, intersects, prerelease, satisfies, valid } from 'semver'; @@ -61,6 +62,7 @@ export class AddCommandModule longDescriptionPath = join(__dirname, 'long-description.md'); protected override allowPrivateSchematics = true; private readonly schematicName = 'ng-add'; + private rootRequire = createRequire(this.context.root + '/'); override async builder(argv: Argv): Promise> { const localYargs = (await super.builder(argv)) @@ -276,9 +278,8 @@ export class AddCommandModule packageIdentifier.raw, registry ? [`--registry="${registry}"`] : undefined, ); - const resolvedCollectionPath = require.resolve(join(collectionName, 'package.json'), { - paths: [tempNodeModules], - }); + const tempRequire = createRequire(tempNodeModules + '/'); + const resolvedCollectionPath = tempRequire.resolve(join(collectionName, 'package.json')); if (!success) { return 1; @@ -341,7 +342,7 @@ export class AddCommandModule private isPackageInstalled(name: string): boolean { try { - require.resolve(join(name, 'package.json'), { paths: [this.context.root] }); + this.rootRequire.resolve(join(name, 'package.json')); return true; } catch (e) { @@ -400,9 +401,7 @@ export class AddCommandModule const { logger, root } = this.context; let installedPackage; try { - installedPackage = require.resolve(join(name, 'package.json'), { - paths: [root], - }); + installedPackage = this.rootRequire.resolve(join(name, 'package.json')); } catch {} if (installedPackage) { diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index e652b708d52e..c25b2f4a8020 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -10,6 +10,7 @@ import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; import { NodeWorkflow } from '@angular-devkit/schematics/tools'; import { SpawnSyncReturns, execSync, spawnSync } from 'child_process'; import { existsSync, promises as fs } from 'fs'; +import { createRequire } from 'module'; import npa from 'npm-package-arg'; import pickManifest from 'npm-pick-manifest'; import * as path from 'path'; @@ -483,7 +484,8 @@ export class UpdateCommandModule extends CommandModule { // Try to resolve from package location. // This avoids issues with package hoisting. try { - migrations = require.resolve(migrations, { paths: [packagePath] }); + const packageRequire = createRequire(packagePath + '/'); + migrations = packageRequire.resolve(migrations); } catch (e) { assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { @@ -717,6 +719,7 @@ export class UpdateCommandModule extends CommandModule { }[]; if (success && migrations) { + const rootRequire = createRequire(this.context.root + '/'); for (const migration of migrations) { // Resolve the package from the workspace root, as otherwise it will be resolved from the temp // installed CLI version. @@ -728,15 +731,13 @@ export class UpdateCommandModule extends CommandModule { try { packagePath = path.dirname( // This may fail if the `package.json` is not exported as an entry point - require.resolve(path.join(migration.package, 'package.json'), { - paths: [this.context.root], - }), + rootRequire.resolve(path.join(migration.package, 'package.json')), ); } catch (e) { assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { // Fallback to trying to resolve the package's main entry point - packagePath = require.resolve(migration.package, { paths: [this.context.root] }); + packagePath = rootRequire.resolve(migration.package); } else { throw e; } @@ -768,7 +769,8 @@ export class UpdateCommandModule extends CommandModule { // Try to resolve from package location. // This avoids issues with package hoisting. try { - migrations = require.resolve(migration.collection, { paths: [packagePath] }); + const packageRequire = createRequire(packagePath + '/'); + migrations = packageRequire.resolve(migration.collection); } catch (e) { assertIsError(e); if (e.code === 'MODULE_NOT_FOUND') { From 15d3fc6dc3f74462818b3745f6fb4995212a4d22 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Sep 2022 17:51:40 +0000 Subject: [PATCH 0904/1388] feat(@angular-devkit/build-angular): export `@angular/platform-server` symbols in server bundle This commit adds an internal file to export needed symbols from `@angular/platform-server` when building a server bundle. This is needed. This is needed so that DI tokens can be referenced and set at runtime outside of the bundle. Also, it adds a migration to remove these exports from the users files as otherwise an export collision would occur due to the same symbol being exported multiple times. --- .../src/builders/server/index.ts | 38 ++++++- .../server/platform-server-exports-loader.ts | 28 ++++++ .../src/webpack/configs/dev-server.ts | 2 +- .../src/webpack/plugins/hmr/hmr-loader.ts | 11 +-- .../test/hello-world-app/src/main.server.ts | 1 - .../migrations/migration-collection.json | 5 + .../remove-platform-server-exports.ts | 99 +++++++++++++++++++ .../remove-platform-server-exports_spec.ts | 85 ++++++++++++++++ .../src/__main@stripTsExtension__.ts.template | 1 - .../e2e/tests/build/platform-server.ts | 3 +- 10 files changed, 258 insertions(+), 15 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/server/platform-server-exports-loader.ts create mode 100644 packages/schematics/angular/migrations/update-15/remove-platform-server-exports.ts create mode 100644 packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index e9f424769f43..554d7d333e0a 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -8,11 +8,10 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { runWebpack } from '@angular-devkit/build-webpack'; -import { tags } from '@angular-devkit/core'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { concatMap, map } from 'rxjs/operators'; -import webpack from 'webpack'; +import webpack, { Configuration } from 'webpack'; import { ExecutionTransformer } from '../../transforms'; import { NormalizedBrowserBuilderSchema, deleteOutputDir } from '../../utils'; import { i18nInlineEmittedFiles } from '../../utils/i18n-inlining'; @@ -20,7 +19,10 @@ import { I18nOptions } from '../../utils/i18n-options'; import { ensureOutputPaths } from '../../utils/output-paths'; import { purgeStaleBuildCache } from '../../utils/purge-cache'; import { assertCompatibleAngularVersion } from '../../utils/version'; -import { generateI18nBrowserWebpackConfigFromContext } from '../../utils/webpack-browser-config'; +import { + BrowserWebpackConfigOptions, + generateI18nBrowserWebpackConfigFromContext, +} from '../../utils/webpack-browser-config'; import { getCommonConfig, getStylesConfig } from '../../webpack/configs'; import { webpackStatsLogger } from '../../webpack/utils/stats'; import { Schema as ServerBuilderOptions } from './schema'; @@ -152,7 +154,7 @@ async function initialize( // We use the platform to determine the JavaScript syntax output. wco.buildOptions.supportedBrowsers.push(...browserslist('maintained node versions')); - return [getCommonConfig(wco), getStylesConfig(wco)]; + return [getPlatformServerExportsConfig(wco), getCommonConfig(wco), getStylesConfig(wco)]; }, ); @@ -164,3 +166,31 @@ async function initialize( return { config: transformedConfig, i18n }; } + +/** + * Add `@angular/platform-server` exports. + * This is needed so that DI tokens can be referenced and set at runtime outside of the bundle. + */ +function getPlatformServerExportsConfig(wco: BrowserWebpackConfigOptions): Partial { + // Add `@angular/platform-server` exports. + // This is needed so that DI tokens can be referenced and set at runtime outside of the bundle. + try { + // Only add `@angular/platform-server` exports when it is installed. + // In some cases this builder is used when `@angular/platform-server` is not installed. + // Example: when using `@nguniversal/common/clover` which does not need `@angular/platform-server`. + require.resolve('@angular/platform-server', { paths: [wco.root] }); + } catch { + return {}; + } + + return { + module: { + rules: [ + { + loader: require.resolve('./platform-server-exports-loader'), + include: [path.resolve(wco.root, wco.buildOptions.main)], + }, + ], + }, + }; +} diff --git a/packages/angular_devkit/build_angular/src/builders/server/platform-server-exports-loader.ts b/packages/angular_devkit/build_angular/src/builders/server/platform-server-exports-loader.ts new file mode 100644 index 000000000000..51b0c5741374 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/server/platform-server-exports-loader.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/** + * This loader is needed to add additional exports and is a workaround for a Webpack bug that doesn't + * allow exports from multiple files in the same entry. + * @see https://github.com/webpack/webpack/issues/15936. + */ +export default function ( + this: import('webpack').LoaderContext<{}>, + content: string, + map: Parameters[1], +) { + const source = `${content} + + // EXPORTS added by @angular-devkit/build-angular + export { renderModule, ɵSERVER_CONTEXT } from '@angular/platform-server'; + `; + + this.callback(null, source, map); + + return; +} diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts index 1f994be74b7f..6d542ca46c1a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts @@ -33,7 +33,7 @@ export async function getDevServerConfig( if (hmr) { extraRules.push({ loader: HmrLoader, - include: [main].map((p) => resolve(wco.root, p)), + include: [resolve(wco.root, main)], }); } diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts index 8526b447f5e7..45e80733f695 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/hmr/hmr-loader.ts @@ -11,14 +11,11 @@ import { join } from 'path'; export const HmrLoader = __filename; const hmrAcceptPath = join(__dirname, './hmr-accept.js').replace(/\\/g, '/'); -export default function ( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - this: any, +export default function localizeExtractLoader( + this: import('webpack').LoaderContext<{}>, content: string, - // Source map types are broken in the webpack type definitions - // eslint-disable-next-line @typescript-eslint/no-explicit-any - map: any, -): void { + map: Parameters[1], +) { const source = `${content} // HMR Accept Code diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts index 97e03b7b47fb..817a21636ff6 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts @@ -16,4 +16,3 @@ if (environment.production) { } export { AppServerModule } from './app/app.server.module'; -export { renderModule } from '@angular/platform-server'; diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index 0e5d79a4bf99..ac1dcc473d78 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -4,6 +4,11 @@ "version": "15.0.0", "factory": "./update-15/remove-browserslist-config", "description": "Remove Browserslist configuration files that matches the Angular CLI default configuration." + }, + "remove-platform-server-exports": { + "version": "15.0.0", + "factory": "./update-15/remove-platform-server-exports", + "description": "Remove exported `@angular/platform-server` `renderModule` method. The `renderModule` method is now exported by the Angular CLI." } } } diff --git a/packages/schematics/angular/migrations/update-15/remove-platform-server-exports.ts b/packages/schematics/angular/migrations/update-15/remove-platform-server-exports.ts new file mode 100644 index 000000000000..11ccd3fa7dfc --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/remove-platform-server-exports.ts @@ -0,0 +1,99 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { DirEntry, Rule, UpdateRecorder } from '@angular-devkit/schematics'; +import * as ts from '../../third_party/github.com/Microsoft/TypeScript/lib/typescript'; + +function* visit(directory: DirEntry): IterableIterator { + for (const path of directory.subfiles) { + if (path.endsWith('.ts') && !path.endsWith('.d.ts')) { + const entry = directory.file(path); + if (entry) { + const content = entry.content; + if (content.includes('@angular/platform-server') && content.includes('renderModule')) { + const source = ts.createSourceFile( + entry.path, + content.toString().replace(/^\uFEFF/, ''), + ts.ScriptTarget.Latest, + true, + ); + + yield source; + } + } + } + } + + for (const path of directory.subdirs) { + if (path === 'node_modules' || path.startsWith('.')) { + continue; + } + + yield* visit(directory.dir(path)); + } +} + +export default function (): Rule { + return (tree) => { + for (const sourceFile of visit(tree.root)) { + let recorder: UpdateRecorder | undefined; + let printer: ts.Printer | undefined; + + ts.forEachChild(sourceFile, function analyze(node) { + if ( + !( + ts.isExportDeclaration(node) && + node.moduleSpecifier && + ts.isStringLiteral(node.moduleSpecifier) && + node.moduleSpecifier.text === '@angular/platform-server' && + node.exportClause && + ts.isNamedExports(node.exportClause) + ) + ) { + // Not a @angular/platform-server named export. + return; + } + + const exportClause = node.exportClause; + const newElements: ts.ExportSpecifier[] = []; + for (const element of exportClause.elements) { + if (element.name.text !== 'renderModule') { + newElements.push(element); + } + } + + if (newElements.length === exportClause.elements.length) { + // No changes + return; + } + + recorder ??= tree.beginUpdate(sourceFile.fileName); + + if (newElements.length) { + // Update named exports as there are leftovers. + const newExportClause = ts.factory.updateNamedExports(exportClause, newElements); + printer ??= ts.createPrinter(); + const fix = printer.printNode(ts.EmitHint.Unspecified, newExportClause, sourceFile); + + const index = exportClause.getStart(); + const length = exportClause.getWidth(); + recorder.remove(index, length).insertLeft(index, fix); + } else { + // Delete export as no exports remain. + recorder.remove(node.getStart(), node.getWidth()); + } + + ts.forEachChild(node, analyze); + }); + + if (recorder) { + tree.commitUpdate(recorder); + } + } + }; +} diff --git a/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts b/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts new file mode 100644 index 000000000000..12a57ee1f450 --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts @@ -0,0 +1,85 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner } from '@angular-devkit/schematics/testing'; + +describe('Migration to delete platform-server exports', () => { + const schematicName = 'remove-platform-server-exports'; + + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: EmptyTree; + + beforeEach(() => { + tree = new EmptyTree(); + }); + + const testTypeScriptFilePath = './test.ts'; + + describe(`Migration to remove '@angular/platform-server' exports`, () => { + it(`should delete '@angular/platform-server' export when 'renderModule' is the only exported symbol`, async () => { + tree.create( + testTypeScriptFilePath, + ` + import { Path, join } from '@angular-devkit/core'; + export { renderModule } from '@angular/platform-server'; + `, + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const content = newTree.readText(testTypeScriptFilePath); + expect(content).not.toContain('@angular/platform-server'); + expect(content).toContain(`import { Path, join } from '@angular-devkit/core';`); + }); + + it(`should delete only 'renderModule' when there are additional exports`, async () => { + tree.create( + testTypeScriptFilePath, + ` + import { Path, join } from '@angular-devkit/core'; + export { renderModule, ServerModule } from '@angular/platform-server'; + `, + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const content = newTree.readContent(testTypeScriptFilePath); + expect(content).toContain(`import { Path, join } from '@angular-devkit/core';`); + expect(content).toContain(`export { ServerModule } from '@angular/platform-server';`); + }); + + it(`should not delete 'renderModule' when it's exported from another module`, async () => { + tree.create( + testTypeScriptFilePath, + ` + export { renderModule } from '@angular/core'; + `, + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const content = newTree.readText(testTypeScriptFilePath); + expect(content).toContain(`export { renderModule } from '@angular/core';`); + }); + + it(`should not delete 'renderModule' when it's imported from '@angular/platform-server'`, async () => { + tree.create( + testTypeScriptFilePath, + ` + import { renderModule } from '@angular/platform-server'; + `, + ); + + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const content = newTree.readText(testTypeScriptFilePath); + expect(content).toContain(`import { renderModule } from '@angular/platform-server'`); + }); + }); +}); diff --git a/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template b/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template index 53e6ea3bb6e7..5f14d1441931 100644 --- a/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template +++ b/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template @@ -21,4 +21,3 @@ if (environment.production) { } export { <%= rootModuleClassName %> } from './app/<%= stripTsExtension(rootModuleFileName) %>'; -export { renderModule } from '@angular/platform-server'; diff --git a/tests/legacy-cli/e2e/tests/build/platform-server.ts b/tests/legacy-cli/e2e/tests/build/platform-server.ts index 8f5f1627c061..dd10b7bafd80 100644 --- a/tests/legacy-cli/e2e/tests/build/platform-server.ts +++ b/tests/legacy-cli/e2e/tests/build/platform-server.ts @@ -32,7 +32,8 @@ export default async function () { './server.ts', ` import 'zone.js/dist/zone-node'; import * as fs from 'fs'; - import { AppServerModule, renderModule } from './src/main.server'; + import { renderModule } from '@angular/platform-server'; + import { AppServerModule } from './src/main.server'; renderModule(AppServerModule, { url: '/', From bdb3745fe5cdfe9a2483c28562ee0706a063a294 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 21 Sep 2022 09:07:21 +0000 Subject: [PATCH 0905/1388] build: update dependency puppeteer to v18 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5a432d819a86..bea3f71009c5 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "17.1.3", + "puppeteer": "18.0.4", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 007536481480..198d19bb6bc8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8956,10 +8956,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@17.1.3: - version "17.1.3" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-17.1.3.tgz#2814cf221925e19c681c69aa97401a68b30240c9" - integrity sha512-tVtvNSOOqlq75rUgwLeDAEQoLIiBqmRg0/zedpI6fuqIocIkuxG23A7FIl1oVSkuSMMLgcOP5kVhNETmsmjvPw== +puppeteer@18.0.4: + version "18.0.4" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.0.4.tgz#0fd8840840dde9147e7db4b2a796aa27f3ecf0ee" + integrity sha512-42WMdCu2wJdrkWijox/ZWsgNdv3+H+9xhLmiIl7KZIvDwMJWGz28HMgG1Ey5J6xb8wcwzjF9uI1Iw4UNyXXf5A== dependencies: cross-fetch "3.1.5" debug "4.3.4" From 1e5d4a75084dfd2aeebb6a0c0b3039417e14bc84 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 21 Sep 2022 07:12:06 +0000 Subject: [PATCH 0906/1388] feat(@angular-devkit/build-angular): use Browserslist to determine ECMA output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With this change we reduce the reliance on the TypeScript target compiler option to output a certain ECMA version. Instead we now use the browsers that are configured in the Browserslist configuration to determine which ECMA features and version are needed. This is done by passing the transpiled TypeScript to Babel preset-env. **Note about useDefineForClassFields**: while setting this to `false` will output JavaScript which is not spec compliant, this is needed because TypeScript introduced class fields many years before it was ratified in TC39. The latest version of the spec have a different runtime behavior to TypeScript’s implementation but the same syntax. Therefore, we opt-out from using upcoming ECMA runtime behavior to better support the ECO system and libraries that depend on the non spec compliant output. One of biggest case is usages of the deprecated `@Effect` decorator by NGRX and potentially other existing code as well which otherwise would cause runtime failures. Dropping `useDefineForClassFields` will be considered in a future major releases. For more information see: https://github.com/microsoft/TypeScript/issues/45995. BREAKING CHANGE: Internally the Angular CLI now always set the TypeScript `target` to `ES2022` and `useDefineForClassFields` to `false` unless the target is set to `ES2022` or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration. --- .../build_angular/src/babel/webpack-loader.ts | 31 ++-- .../browser-esbuild/compiler-plugin.ts | 17 +- .../src/builders/browser-esbuild/index.ts | 14 +- .../builders/browser-esbuild/stylesheets.ts | 2 + .../builders/browser/specs/allow-js_spec.ts | 12 +- .../src/builders/browser/specs/aot_spec.ts | 6 +- .../browser/specs/lazy-module_spec.ts | 15 +- .../browser/specs/resolve-json-module_spec.ts | 4 +- .../tests/behavior/browser-support_spec.ts | 26 ++-- .../behavior/serve_service-worker_spec.ts | 6 +- .../src/builders/server/index.ts | 1 + .../build_angular/src/utils/build-options.ts | 3 +- .../src/utils/esbuild-targets.ts | 43 +++++ .../src/utils/webpack-browser-config.ts | 4 - .../src/webpack/configs/common.ts | 25 +-- .../webpack/plugins/css-optimizer-plugin.ts | 35 +---- .../plugins/javascript-optimizer-plugin.ts | 30 ++-- .../plugins/javascript-optimizer-worker.ts | 14 +- .../src/webpack/plugins/typescript.ts | 14 +- .../src/webpack/utils/helpers.ts | 21 --- .../test/hello-world-app/tsconfig.json | 7 +- .../test/hello-world-lib/tsconfig.json | 5 +- .../test/angular-app/src/tsconfig.app.json | 2 +- .../test/angular-app/tsconfig.json | 4 +- .../test/basic-app/tsconfig.json | 4 +- .../migrations/migration-collection.json | 5 + .../update-15/update-typescript-target.ts | 77 +++++++++ .../update-typescript-target_spec.ts | 147 ++++++++++++++++++ .../workspace/files/tsconfig.json.template | 7 +- .../e2e/assets/12.0-project/tsconfig.json | 7 +- .../e2e/assets/webpack/test-app/tsconfig.json | 2 +- .../e2e/tests/build/scripts-output-hashing.ts | 20 ++- 32 files changed, 411 insertions(+), 199 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts create mode 100644 packages/schematics/angular/migrations/update-15/update-typescript-target.ts create mode 100644 packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index 6d23d24c25cb..78af1b28d480 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -7,7 +7,6 @@ */ import { custom } from 'babel-loader'; -import { ScriptTarget } from 'typescript'; import { loadEsmModule } from '../utils/load-esm'; import { VERSION } from '../utils/package-version'; import { ApplicationPresetOptions, I18nPluginCreators } from './presets/application'; @@ -72,15 +71,8 @@ export default custom(() => { return { async customOptions(options, { source, map }) { - const { - i18n, - scriptTarget, - aot, - optimize, - instrumentCode, - supportedBrowsers, - ...rawOptions - } = options as AngularBabelLoaderOptions; + const { i18n, aot, optimize, instrumentCode, supportedBrowsers, ...rawOptions } = + options as AngularBabelLoaderOptions; // Must process file if plugins are added let shouldProcess = Array.isArray(rawOptions.plugins) && rawOptions.plugins.length > 0; @@ -114,24 +106,19 @@ export default custom(() => { } // Analyze for ES target processing - const esTarget = scriptTarget as ScriptTarget | undefined; - const isJsFile = /\.[cm]?js$/.test(this.resourcePath); - - if (isJsFile && customOptions.supportedBrowsers?.length) { + if (customOptions.supportedBrowsers?.length) { // Applications code ES version can be controlled using TypeScript's `target` option. // However, this doesn't effect libraries and hence we use preset-env to downlevel ES fetaures // based on the supported browsers in browserlist. customOptions.forcePresetEnv = true; } - if ((esTarget !== undefined && esTarget >= ScriptTarget.ES2017) || isJsFile) { - // Application code (TS files) will only contain native async if target is ES2017+. - // However, third-party libraries can regardless of the target option. - // APF packages with code in [f]esm2015 directories is downlevelled to ES2015 and - // will not have native async. - customOptions.forceAsyncTransformation = - !/[\\/][_f]?esm2015[\\/]/.test(this.resourcePath) && source.includes('async'); - } + // Application code (TS files) will only contain native async if target is ES2017+. + // However, third-party libraries can regardless of the target option. + // APF packages with code in [f]esm2015 directories is downlevelled to ES2015 and + // will not have native async. + customOptions.forceAsyncTransformation = + !/[\\/][_f]?esm2015[\\/]/.test(this.resourcePath) && source.includes('async'); shouldProcess ||= customOptions.forceAsyncTransformation || customOptions.forcePresetEnv || false; diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 9125b013228a..59202089ea47 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -182,16 +182,13 @@ export function createCompilerPlugin( enableResourceInlining: false, }); - // Adjust the esbuild output target based on the tsconfig target - if ( - compilerOptions.target === undefined || - compilerOptions.target <= ts.ScriptTarget.ES2015 - ) { - build.initialOptions.target = 'es2015'; - } else if (compilerOptions.target >= ts.ScriptTarget.ESNext) { - build.initialOptions.target = 'esnext'; - } else { - build.initialOptions.target = ts.ScriptTarget[compilerOptions.target].toLowerCase(); + if (compilerOptions.target === undefined || compilerOptions.target < ts.ScriptTarget.ES2022) { + // If 'useDefineForClassFields' is already defined in the users project leave the value as is. + // Otherwise fallback to false due to https://github.com/microsoft/TypeScript/issues/45995 + // which breaks the deprecated `@Effects` NGRX decorator and potentially other existing code as well. + compilerOptions.target = ts.ScriptTarget.ES2022; + compilerOptions.useDefineForClassFields ??= false; + // TODO: show warning about this override when we have access to the logger. } // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 07a1880e2bb2..fb858a9e3e33 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -14,10 +14,12 @@ import * as path from 'path'; import { NormalizedOptimizationOptions, deleteOutputDir } from '../../utils'; import { copyAssets } from '../../utils/copy-assets'; import { assertIsError } from '../../utils/error'; +import { transformSupportedBrowsersToTargets } from '../../utils/esbuild-targets'; import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; import { generateEntryPoints } from '../../utils/package-chunk-sort'; import { augmentAppWithServiceWorker } from '../../utils/service-worker'; +import { getSupportedBrowsers } from '../../utils/supported-browsers'; import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; import { resolveGlobalStyles } from '../../webpack/configs'; import { createCompilerPlugin } from './compiler-plugin'; @@ -89,6 +91,10 @@ export async function buildEsbuildBrowser( return { success: false }; } + const target = transformSupportedBrowsersToTargets( + getSupportedBrowsers(projectRoot, context.logger), + ); + const [codeResults, styleResults] = await Promise.all([ // Execute esbuild to bundle the application code bundleCode( @@ -99,6 +105,7 @@ export async function buildEsbuildBrowser( optimizationOptions, sourcemapOptions, tsconfig, + target, ), // Execute esbuild to bundle the global stylesheets bundleGlobalStylesheets( @@ -107,6 +114,7 @@ export async function buildEsbuildBrowser( options, optimizationOptions, sourcemapOptions, + target, ), ]); @@ -248,6 +256,7 @@ async function bundleCode( optimizationOptions: NormalizedOptimizationOptions, sourcemapOptions: SourceMapClass, tsconfig: string, + target: string[], ) { let fileReplacements: Record | undefined; if (options.fileReplacements) { @@ -267,7 +276,7 @@ async function bundleCode( entryPoints, entryNames: outputNames.bundles, assetNames: outputNames.media, - target: 'es2020', + target, supported: { // Native async/await is not supported with Zone.js. Disabling support here will cause // esbuild to downlevel async/await and for await...of to a Zone.js supported form. However, esbuild @@ -313,6 +322,7 @@ async function bundleCode( outputNames, includePaths: options.stylePreprocessorOptions?.includePaths, externalDependencies: options.externalDependencies, + target, }, ), ], @@ -329,6 +339,7 @@ async function bundleGlobalStylesheets( options: BrowserBuilderOptions, optimizationOptions: NormalizedOptimizationOptions, sourcemapOptions: SourceMapClass, + target: string[], ) { const outputFiles: OutputFile[] = []; const initialFiles: FileInfo[] = []; @@ -360,6 +371,7 @@ async function bundleGlobalStylesheets( includePaths: options.stylePreprocessorOptions?.includePaths, preserveSymlinks: options.preserveSymlinks, externalDependencies: options.externalDependencies, + target, }, ); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 0f932bd12849..2bfaf70f867c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -20,6 +20,7 @@ export interface BundleStylesheetOptions { outputNames?: { bundles?: string; media?: string }; includePaths?: string[]; externalDependencies?: string[]; + target: string[]; } async function bundleStylesheet( @@ -43,6 +44,7 @@ async function bundleStylesheet( outdir: options.workspaceRoot, write: false, platform: 'browser', + target: options.target, preserveSymlinks: options.preserveSymlinks, external: options.externalDependencies, conditions: ['style', 'sass'], diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts index 4f5ab84c0eff..049b95ee8e42 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts @@ -31,8 +31,8 @@ describe('Browser Builder allow js', () => { host.replaceInFile( 'tsconfig.json', - '"target": "es2020"', - '"target": "es2020", "allowJs": true', + '"target": "es2022"', + '"target": "es2022", "allowJs": true', ); const run = await architect.scheduleTarget(targetSpec); @@ -56,8 +56,8 @@ describe('Browser Builder allow js', () => { host.replaceInFile( 'tsconfig.json', - '"target": "es2020"', - '"target": "es2020", "allowJs": true', + '"target": "es2022"', + '"target": "es2022", "allowJs": true', ); const overrides = { aot: true }; @@ -83,8 +83,8 @@ describe('Browser Builder allow js', () => { host.replaceInFile( 'tsconfig.json', - '"target": "es2020"', - '"target": "es2020", "allowJs": true', + '"target": "es2022"', + '"target": "es2022", "allowJs": true', ); const overrides = { watch: true }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/aot_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/aot_spec.ts index 44f2cba1eca4..ae6b620aa37c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/aot_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/aot_spec.ts @@ -27,11 +27,11 @@ describe('Browser Builder AOT', () => { const run = await architect.scheduleTarget(targetSpec, overrides); const output = (await run.result) as BrowserBuilderOutput; - expect(output.success).toBe(true); + expect(output.success).toBeTrue(); - const fileName = join(normalize(output.outputPath), 'main.js'); + const fileName = join(normalize(output.outputs[0].path), 'main.js'); const content = virtualFs.fileBufferToString(await host.read(normalize(fileName)).toPromise()); - expect(content).toContain('AppComponent.ɵcmp'); + expect(content).toContain('AppComponent_Factory'); await run.stop(); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts index 5e025a65cb81..fa0f7c381b1a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/lazy-module_spec.ts @@ -65,8 +65,7 @@ describe('Browser Builder lazy modules', () => { const { files } = await browserBuild(architect, host, target, { aot: true }); const data = await files['src_app_lazy_lazy_module_ts.js']; - expect(data).not.toBeUndefined(); - expect(data).toContain('LazyModule.ɵmod'); + expect(data).toContain('this.ɵmod'); }); }); @@ -126,7 +125,7 @@ describe('Browser Builder lazy modules', () => { }); const { files } = await browserBuild(architect, host, target); - expect(files['src_lazy-module_ts.js']).not.toBeUndefined(); + expect(files['src_lazy-module_ts.js']).toBeDefined(); }); it(`supports lazy bundle for dynamic import() calls`, async () => { @@ -140,7 +139,7 @@ describe('Browser Builder lazy modules', () => { host.replaceInFile('src/tsconfig.app.json', '"main.ts"', `"main.ts","lazy-module.ts"`); const { files } = await browserBuild(architect, host, target); - expect(files['lazy-module.js']).not.toBeUndefined(); + expect(files['lazy-module.js']).toBeDefined(); }); it(`supports making a common bundle for shared lazy modules`, async () => { @@ -151,8 +150,8 @@ describe('Browser Builder lazy modules', () => { }); const { files } = await browserBuild(architect, host, target); - expect(files['src_one_ts.js']).not.toBeUndefined(); - expect(files['src_two_ts.js']).not.toBeUndefined(); + expect(files['src_one_ts.js']).toBeDefined(); + expect(files['src_two_ts.js']).toBeDefined(); expect(files['default-node_modules_angular_common_fesm2020_http_mjs.js']).toBeDefined(); }); @@ -164,8 +163,8 @@ describe('Browser Builder lazy modules', () => { }); const { files } = await browserBuild(architect, host, target, { commonChunk: false }); - expect(files['src_one_ts.js']).not.toBeUndefined(); - expect(files['src_two_ts.js']).not.toBeUndefined(); + expect(files['src_one_ts.js']).toBeDefined(); + expect(files['src_two_ts.js']).toBeDefined(); expect(files['default-node_modules_angular_common_fesm2020_http_mjs.js']).toBeUndefined(); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts index 7cee64ef8497..c47fd03462e7 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts @@ -29,8 +29,8 @@ describe('Browser Builder resolve json module', () => { host.replaceInFile( 'tsconfig.json', - '"target": "es2020"', - '"target": "es2020", "resolveJsonModule": true', + '"target": "es2022"', + '"target": "es2022", "resolveJsonModule": true', ); const overrides = { watch: true }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts index e1f46f8efc69..7e488ddcbc2b 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/behavior/browser-support_spec.ts @@ -65,12 +65,12 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { }); it('warns when IE is present in browserslist', async () => { - await harness.writeFile( + await harness.appendToFile( '.browserslistrc', ` - IE 9 - IE 11 - `, + IE 9 + IE 11 + `, ); harness.useTarget('build', { @@ -84,9 +84,9 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { jasmine.objectContaining({ level: 'warn', message: - `One or more browsers which are configured in the project's Browserslist configuration ` + - 'will be ignored as ES5 output is not supported by the Angular CLI.\n' + - `Ignored browsers: ie 11, ie 9`, + `One or more browsers which are configured in the project's Browserslist ` + + 'configuration will be ignored as ES5 output is not supported by the Angular CLI.\n' + + 'Ignored browsers: ie 11, ie 9', }), ); }); @@ -96,12 +96,12 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { await harness.writeFile( 'src/main.ts', ` - (async () => { - for await (const o of [1, 2, 3]) { - console.log("for await...of"); - } - })(); - `, + (async () => { + for await (const o of [1, 2, 3]) { + console.log("for await...of"); + } + })(); + `, ); harness.useTarget('build', { diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts index bbd5872ad711..51d663d61dcf 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/behavior/serve_service-worker_spec.ts @@ -42,7 +42,11 @@ describeBuilder(serveWebpackBrowser, DEV_SERVER_BUILDER_INFO, (harness) => { }; describe('Behavior: "dev-server builder serves service worker"', () => { - beforeEach(() => { + beforeEach(async () => { + // Application code is not needed for these tests + await harness.writeFile('src/main.ts', ''); + await harness.writeFile('src/polyfills.ts', ''); + harness.useProject('test', { root: '.', sourceRoot: 'src', diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 554d7d333e0a..62737cbbb14c 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -152,6 +152,7 @@ async function initialize( context, (wco) => { // We use the platform to determine the JavaScript syntax output. + wco.buildOptions.supportedBrowsers ??= []; wco.buildOptions.supportedBrowsers.push(...browserslist('maintained node versions')); return [getPlatformServerExportsConfig(wco), getCommonConfig(wco), getStylesConfig(wco)]; diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 9282353cc1a2..a986b9786415 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -72,7 +72,7 @@ export interface BuildOptions { cache: NormalizedCachedOptions; codeCoverage?: boolean; codeCoverageExclude?: string[]; - supportedBrowsers: string[]; + supportedBrowsers?: string[]; } export interface WebpackDevServerOptions @@ -87,6 +87,5 @@ export interface WebpackConfigOptions { buildOptions: T; tsConfig: ParsedConfiguration; tsConfigPath: string; - scriptTarget: import('typescript').ScriptTarget; projectName: string; } diff --git a/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts b/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts new file mode 100644 index 000000000000..276adf234690 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts @@ -0,0 +1,43 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/** + * Transform browserlists result to esbuild target. + * @see https://esbuild.github.io/api/#target + */ +export function transformSupportedBrowsersToTargets(supportedBrowsers: string[]): string[] { + const transformed: string[] = []; + + // https://esbuild.github.io/api/#target + const esBuildSupportedBrowsers = new Set(['safari', 'firefox', 'edge', 'chrome', 'ios', 'node']); + + for (const browser of supportedBrowsers) { + let [browserName, version] = browser.split(' '); + + // browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios` + if (browserName === 'ios_saf') { + browserName = 'ios'; + } + + // browserslist uses ranges `15.2-15.3` versions but only the lowest is required + // to perform minimum supported feature checks. esbuild also expects a single version. + [version] = version.split('-'); + + if (esBuildSupportedBrowsers.has(browserName)) { + if (browserName === 'safari' && version === 'TP') { + // esbuild only supports numeric versions so `TP` is converted to a high number (999) since + // a Technology Preview (TP) of Safari is assumed to support all currently known features. + version = '999'; + } + + transformed.push(browserName + version); + } + } + + return transformed; +} diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts index b0d2686dbd36..abdcfa35c863 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-browser-config.ts @@ -42,9 +42,6 @@ export async function generateWebpackConfig( const tsConfigPath = path.resolve(workspaceRoot, options.tsConfig); const tsConfig = await readTsconfig(tsConfigPath); - const ts = await import('typescript'); - const scriptTarget = tsConfig.options.target || ts.ScriptTarget.ES2015; - const buildOptions: NormalizedBrowserBuilderSchema = { ...options, ...extraBuildOptions }; const wco: BrowserWebpackConfigOptions = { root: workspaceRoot, @@ -55,7 +52,6 @@ export async function generateWebpackConfig( tsConfig, tsConfigPath, projectName, - scriptTarget, }; wco.buildOptions.progress = defaultProgress(wco.buildOptions.progress); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 636e9ef073da..be04758a5bc6 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -40,7 +40,6 @@ import { externalizePackages, getCacheSettings, getInstrumentationExcludedPaths, - getMainFieldsAndConditionNames, getOutputHashFormat, getStatsOptions, globalScriptsByBundleName, @@ -50,16 +49,7 @@ const VENDORS_TEST = /[\\/]node_modules[\\/]/; // eslint-disable-next-line max-lines-per-function export async function getCommonConfig(wco: WebpackConfigOptions): Promise { - const { - root, - projectRoot, - buildOptions, - tsConfig, - projectName, - sourceRoot, - tsConfigPath, - scriptTarget, - } = wco; + const { root, projectRoot, buildOptions, tsConfig, projectName, sourceRoot, tsConfigPath } = wco; const { cache, codeCoverage, @@ -270,7 +260,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise, advanced: boolean | undefined, ): Promise<{ code: string; map?: object }> { const result = await minify( @@ -193,7 +190,8 @@ async function optimizeWithTerser( passes: advanced ? 2 : 1, pure_getters: advanced, }, - ecma: target, + // terser only supports up to ES2020 + ecma: 2020, // esbuild in the first pass is used to minify identifiers instead of mangle here mangle: false, // esbuild in the first pass is used to minify function names diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index 7aa644732d05..5aaf77f3362e 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -25,9 +25,17 @@ export function createIvyPlugin( declarationMap: false, }; - if (tsConfig.options.target === undefined || tsConfig.options.target <= ScriptTarget.ES5) { - throw new Error( - 'ES output older than ES2015 is not supported. Please update TypeScript "target" compiler option to ES2015 or later.', + if (tsConfig.options.target === undefined || tsConfig.options.target < ScriptTarget.ES2022) { + tsConfig.options.target = ScriptTarget.ES2022; + // If 'useDefineForClassFields' is already defined in the users project leave the value as is. + // Otherwise fallback to false due to https://github.com/microsoft/TypeScript/issues/45995 + // which breaks the deprecated `@Effects` NGRX decorator and potentially other existing code as well. + tsConfig.options.useDefineForClassFields ??= false; + + wco.logger.warn( + 'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' + + '"false" respectively by the Angular CLI. To control ECMA version and features use the Browerslist configuration. ' + + 'For more information, see https://github.com/browserslist/browserslist', ); } diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index 9fc774bb8369..022842e0239a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -11,7 +11,6 @@ import { createHash } from 'crypto'; import { existsSync } from 'fs'; import glob from 'glob'; import * as path from 'path'; -import { ScriptTarget } from 'typescript'; import type { Configuration, WebpackOptionsNormalized } from 'webpack'; import { AssetPatternClass, @@ -317,23 +316,3 @@ export function getStatsOptions(verbose = false): WebpackStatsOptions { ? { ...webpackOutputOptions, ...verboseWebpackOutputOptions } : webpackOutputOptions; } - -export function getMainFieldsAndConditionNames( - target: ScriptTarget, - platformServer: boolean, -): Pick { - const mainFields = platformServer - ? ['es2015', 'module', 'main'] - : ['es2015', 'browser', 'module', 'main']; - const conditionNames = ['es2015', '...']; - - if (target >= ScriptTarget.ES2020) { - mainFields.unshift('es2020'); - conditionNames.unshift('es2020'); - } - - return { - mainFields, - conditionNames, - }; -} diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json b/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json index 91d00e2ae8f7..26bec6bf178a 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/tsconfig.json @@ -8,13 +8,14 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es2020", - "module": "es2020", + "target": "es2022", + "module": "es2022", + "useDefineForClassFields": false, "typeRoots": [ "node_modules/@types" ], "lib": [ - "es2020", + "es2022", "dom" ] }, diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json b/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json index 455f55ed0b41..26bfbc225506 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/tsconfig.json @@ -8,12 +8,13 @@ "moduleResolution": "node", "experimentalDecorators": true, "target": "es2015", - "module": "es2020", + "module": "es2022", + "useDefineForClassFields": false, "typeRoots": [ "node_modules/@types" ], "lib": [ - "es2020", + "es2022", "dom" ] }, diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/tsconfig.app.json b/packages/angular_devkit/build_webpack/test/angular-app/src/tsconfig.app.json index c1ec1d179974..4191001bb4d4 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/tsconfig.app.json +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/tsconfig.app.json @@ -2,7 +2,7 @@ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/app", - "module": "es2020", + "module": "es2022", "types": [] }, "exclude": ["test.ts", "**/*.spec.ts"] diff --git a/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json b/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json index aa337c9e758d..5e7ab16f0c42 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json +++ b/packages/angular_devkit/build_webpack/test/angular-app/tsconfig.json @@ -8,9 +8,9 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es2020", + "target": "es2022", "typeRoots": ["node_modules/@types"], - "lib": ["es2020", "dom"] + "lib": ["es2022", "dom"] }, "angularCompilerOptions": { "enableIvy": true, diff --git a/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json b/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json index caa9637b15dc..985646bca926 100644 --- a/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json +++ b/packages/angular_devkit/build_webpack/test/basic-app/tsconfig.json @@ -7,10 +7,10 @@ "declaration": false, "moduleResolution": "node", "experimentalDecorators": true, - "target": "es2020", + "target": "es2022", "module": "esnext", "typeRoots": ["node_modules/@types"], - "lib": ["es2020", "dom"] + "lib": ["es2022", "dom"] }, "angularCompilerOptions": { "disableTypeScriptVersionCheck": true diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index ac1dcc473d78..a19748126b49 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -9,6 +9,11 @@ "version": "15.0.0", "factory": "./update-15/remove-platform-server-exports", "description": "Remove exported `@angular/platform-server` `renderModule` method. The `renderModule` method is now exported by the Angular CLI." + }, + "update-typescript-target": { + "version": "15.0.0", + "factory": "./update-15/update-typescript-target", + "description": "Update TypeScript compiler `target` and set `useDefineForClassFields`. These changes are for IDE purposes as TypeScript compiler options `target` and `useDefineForClassFields` are set to `ES2022` and `false` respectively by the Angular CLI. To control ECMA version and features use the Browerslist configuration." } } } diff --git a/packages/schematics/angular/migrations/update-15/update-typescript-target.ts b/packages/schematics/angular/migrations/update-15/update-typescript-target.ts new file mode 100644 index 000000000000..008bf26e893d --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/update-typescript-target.ts @@ -0,0 +1,77 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { JsonObject } from '@angular-devkit/core'; +import { Rule, Tree } from '@angular-devkit/schematics'; +import { JSONFile } from '../../utility/json-file'; +import { getWorkspace } from '../../utility/workspace'; +import { Builders } from '../../utility/workspace-models'; + +export default function (): Rule { + return async (host) => { + // Workspace level tsconfig + updateTarget(host, 'tsconfig.json'); + + const workspace = await getWorkspace(host); + + // Find all tsconfig which are refereces used by builders + for (const [, project] of workspace.projects) { + for (const [, target] of project.targets) { + // Update all other known CLI builders that use a tsconfig + const tsConfigs = [target.options || {}, ...Object.values(target.configurations || {})] + .filter((opt) => typeof opt?.tsConfig === 'string') + .map((opt) => (opt as { tsConfig: string }).tsConfig); + + const uniqueTsConfigs = [...new Set(tsConfigs)]; + + if (uniqueTsConfigs.length < 1) { + continue; + } + + switch (target.builder as Builders) { + case Builders.Server: + case Builders.Karma: + case Builders.Browser: + case Builders.NgPackagr: + for (const tsConfig of uniqueTsConfigs) { + removeOrUpdateTarget(host, tsConfig); + } + break; + } + } + } + }; +} + +function removeOrUpdateTarget(host: Tree, tsConfigPath: string): void { + const json = new JSONFile(host, tsConfigPath); + if (typeof json.get(['extends']) === 'string') { + json.remove(['compilerOptions', 'target']); + } else { + updateTarget(host, tsConfigPath); + } +} + +const ESNEXT_ES2022_REGEXP = /^es(?:next|2022)$/i; +function updateTarget(host: Tree, tsConfigPath: string): void { + const json = new JSONFile(host, tsConfigPath); + const jsonPath = ['compilerOptions']; + const compilerOptions = json.get(jsonPath); + + if (compilerOptions && typeof compilerOptions === 'object') { + const { target } = compilerOptions as JsonObject; + + if (typeof target === 'string' && !ESNEXT_ES2022_REGEXP.test(target)) { + json.modify(jsonPath, { + ...compilerOptions, + 'target': 'ES2022', + 'useDefineForClassFields': false, + }); + } + } +} diff --git a/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts b/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts new file mode 100644 index 000000000000..87b4e0b9fa7d --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts @@ -0,0 +1,147 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { isJsonObject } from '@angular-devkit/core'; +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; + +describe('Migration to update target and add useDefineForClassFields', () => { + const schematicName = 'update-typescript-target'; + + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + function createJsonFile(tree: EmptyTree, filePath: string, content: {}): void { + const stringifiedContent = JSON.stringify(content, undefined, 2); + if (tree.exists(filePath)) { + tree.overwrite(filePath, stringifiedContent); + } else { + tree.create(filePath, stringifiedContent); + } + } + + function getCompilerOptionsValue(tree: UnitTestTree, filePath: string): Record { + const json = tree.readJson(filePath); + if (isJsonObject(json) && isJsonObject(json.compilerOptions)) { + return json.compilerOptions; + } + + throw new Error(`Cannot retrieve 'compilerOptions'.`); + } + + function createWorkSpaceConfig(tree: EmptyTree) { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: { + app: { + root: '', + sourceRoot: 'src', + projectType: ProjectType.Application, + prefix: 'app', + architect: { + build: { + builder: Builders.Browser, + options: { + tsConfig: 'src/tsconfig.app.json', + main: '', + polyfills: '', + }, + configurations: { + production: { + tsConfig: 'src/tsconfig.app.prod.json', + }, + }, + }, + test: { + builder: Builders.Karma, + options: { + karmaConfig: '', + tsConfig: 'src/tsconfig.spec.json', + }, + }, + }, + }, + }, + }; + + createJsonFile(tree, 'angular.json', angularConfig); + } + + let tree: EmptyTree; + beforeEach(() => { + tree = new EmptyTree(); + createWorkSpaceConfig(tree); + + // Create tsconfigs + const compilerOptions = { target: 'es2015', module: 'es2020' }; + const configWithExtends = { extends: './tsconfig.json', compilerOptions }; + + // Workspace + createJsonFile(tree, 'tsconfig.json', { compilerOptions }); + + // Application + createJsonFile(tree, 'src/tsconfig.app.json', configWithExtends); + createJsonFile(tree, 'src/tsconfig.app.prod.json', configWithExtends); + createJsonFile(tree, 'src/tsconfig.spec.json', { compilerOptions }); + }); + + it(`should update target and add useDefineForClassFields in workspace 'tsconfig.json'`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const compilerOptions = getCompilerOptionsValue(newTree, 'tsconfig.json'); + expect(compilerOptions).toEqual( + jasmine.objectContaining({ + target: 'ES2022', + useDefineForClassFields: false, + }), + ); + }); + + it(`should remove target value from tsconfig referenced in options and configuration`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + { + const compilerOptions = getCompilerOptionsValue(newTree, 'src/tsconfig.app.prod.json'); + expect(compilerOptions['target']).toBeUndefined(); + expect(compilerOptions['useDefineForClassFields']).toBeUndefined(); + } + { + const compilerOptions = getCompilerOptionsValue(newTree, 'src/tsconfig.app.json'); + expect(compilerOptions['target']).toBeUndefined(); + expect(compilerOptions['useDefineForClassFields']).toBeUndefined(); + } + }); + + it('should add target and useDefineForClassFields when tsconfig is not extended', async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const compilerOptions = getCompilerOptionsValue(newTree, 'src/tsconfig.spec.json'); + expect(compilerOptions).toEqual( + jasmine.objectContaining({ + target: 'ES2022', + useDefineForClassFields: false, + }), + ); + }); + + it('should not add useDefineForClassFields when tsconfig target is ES2022', async () => { + createJsonFile(tree, 'tsconfig.json', { compilerOptions: { 'target': 'es2022' } }); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + + const compilerOptions = getCompilerOptionsValue(newTree, 'tsconfig.json'); + expect(compilerOptions).toEqual({ target: 'es2022' }); + }); + + it('should not add useDefineForClassFields when tsconfig target is ESNEXT', async () => { + createJsonFile(tree, 'tsconfig.json', { compilerOptions: { 'target': 'esnext' } }); + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + + const compilerOptions = getCompilerOptionsValue(newTree, 'tsconfig.json'); + expect(compilerOptions).toEqual({ target: 'esnext' }); + }); +}); diff --git a/packages/schematics/angular/workspace/files/tsconfig.json.template b/packages/schematics/angular/workspace/files/tsconfig.json.template index 81dfa6bef428..cac9dd40cf28 100644 --- a/packages/schematics/angular/workspace/files/tsconfig.json.template +++ b/packages/schematics/angular/workspace/files/tsconfig.json.template @@ -16,10 +16,11 @@ "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, - "target": "es2020", - "module": "es2020", + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, "lib": [ - "es2020", + "ES2022", "dom" ] }, diff --git a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json index 6df828326e3f..4977e18060ed 100644 --- a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json +++ b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json @@ -14,10 +14,11 @@ "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, - "target": "es2017", - "module": "es2020", + "target": "es2022", + "module": "es2022", + "useDefineForClassFields": false, "lib": [ - "es2018", + "ES2022", "dom" ] }, diff --git a/tests/legacy-cli/e2e/assets/webpack/test-app/tsconfig.json b/tests/legacy-cli/e2e/assets/webpack/test-app/tsconfig.json index 46d83664cba4..0102307af01b 100644 --- a/tests/legacy-cli/e2e/assets/webpack/test-app/tsconfig.json +++ b/tests/legacy-cli/e2e/assets/webpack/test-app/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "baseUrl": "", - "module": "es2020", + "module": "es2022", "moduleResolution": "node", "target": "es2015", "noImplicitAny": false, diff --git a/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts b/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts index 430b7a8478ac..925969b68da8 100644 --- a/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts +++ b/tests/legacy-cli/e2e/tests/build/scripts-output-hashing.ts @@ -1,4 +1,9 @@ -import { expectFileMatchToExist, expectFileToMatch, writeMultipleFiles } from '../../utils/fs'; +import { + expectFileMatchToExist, + expectFileToMatch, + writeFile, + writeMultipleFiles, +} from '../../utils/fs'; import { ng } from '../../utils/process'; import { updateJsonFile, updateTsConfig } from '../../utils/project'; @@ -23,17 +28,16 @@ export default async function () { build.configurations['production'].outputHashing = 'all'; configJson['cli'] = { cache: { enabled: 'false' } }; }); - await updateTsConfig((json) => { - json['compilerOptions']['target'] = 'es2017'; - json['compilerOptions']['module'] = 'es2020'; - }); + + // Chrome 65 does not support optional catch in try/catch blocks. + await writeFile('.browserslistrc', 'Chrome 65'); + await ng('build', '--configuration=production'); const filenameBuild1 = await getScriptsFilename(); await expectFileToMatch(`dist/test-project/${filenameBuild1}`, 'try{console.log()}catch(c){}'); - await updateTsConfig((json) => { - json['compilerOptions']['target'] = 'es2019'; - }); + await writeFile('.browserslistrc', 'last 1 Chrome version'); + await ng('build', '--configuration=production'); const filenameBuild2 = await getScriptsFilename(); await expectFileToMatch(`dist/test-project/${filenameBuild2}`, 'try{console.log()}catch{}'); From fd9c3f1ccae3c4da598ace93b6df3a0844e4f25a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 21 Sep 2022 07:12:25 +0000 Subject: [PATCH 0907/1388] ci: update saucelabs browsers This commit updates the browsers versions to reflect the what's currently supported. --- .../e2e/assets/protractor-saucelabs.conf.js | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/tests/legacy-cli/e2e/assets/protractor-saucelabs.conf.js b/tests/legacy-cli/e2e/assets/protractor-saucelabs.conf.js index 1461c52f355a..12837a7d0c95 100644 --- a/tests/legacy-cli/e2e/assets/protractor-saucelabs.conf.js +++ b/tests/legacy-cli/e2e/assets/protractor-saucelabs.conf.js @@ -1,6 +1,7 @@ // @ts-check // Protractor configuration file, see link for more information // https://github.com/angular/protractor/blob/master/lib/config.ts +// https://saucelabs.com/platform/platform-configurator const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); @@ -19,20 +20,26 @@ exports.config = { multiCapabilities: [ { browserName: 'chrome', - platform: 'Windows 10', - version: '89.0', + platform: 'Windows 11', + version: '105', tunnelIdentifier, }, { browserName: 'firefox', - version: '86.0', - platform: 'Windows 10', + version: '104', + platform: 'Windows 11', tunnelIdentifier, }, { browserName: 'firefox', - version: '78.0', // Latest Firefox ESR version - platform: 'Windows 10', + version: '91', // Latest Firefox ESR version + platform: 'Windows 11', + tunnelIdentifier, + }, + { + browserName: 'safari', + platform: 'macOS 12', + version: '15', tunnelIdentifier, }, { @@ -42,15 +49,15 @@ exports.config = { tunnelIdentifier, }, { - browserName: 'safari', - platform: 'macOS 10.15', - version: '13.1', + browserName: 'MicrosoftEdge', + platform: 'Windows 11', + version: '103', tunnelIdentifier, }, { browserName: 'MicrosoftEdge', - platform: 'Windows 10', - version: '88.0', + platform: 'Windows 11', + version: '104', tunnelIdentifier, }, ], @@ -68,9 +75,6 @@ exports.config = { }, onPrepare() { - // Fix for Safari 12 -- https://github.com/angular/protractor/issues/4964 - browser.resetUrl = 'about:blank'; - require('ts-node').register({ project: require('path').join(__dirname, './tsconfig.json'), }); From 6ddcc364a144f9ef78505f05512549a60bed07b4 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 20 Sep 2022 23:06:09 +0000 Subject: [PATCH 0908/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 307 ++++++++++++++---- 3 files changed, 260 insertions(+), 67 deletions(-) diff --git a/package.json b/package.json index bea3f71009c5..a401ff238014 100644 --- a/package.json +++ b/package.json @@ -123,13 +123,13 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.37.0", - "@typescript-eslint/parser": "5.37.0", + "@typescript-eslint/eslint-plugin": "5.38.0", + "@typescript-eslint/parser": "5.38.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.11", + "autoprefixer": "10.4.12", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.7", - "esbuild-wasm": "0.15.7", + "esbuild": "0.15.8", + "esbuild-wasm": "0.15.8", "eslint": "8.23.1", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -216,7 +216,7 @@ "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.11.0", + "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.5.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 979601989db4..33ed32e8dd76 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -22,7 +22,7 @@ "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.11", + "autoprefixer": "10.4.12", "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", @@ -30,7 +30,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.7", + "esbuild-wasm": "0.15.8", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -63,12 +63,12 @@ "tslib": "2.4.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.11.0", + "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.7" + "esbuild": "0.15.8" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index 198d19bb6bc8..dbe0adce29cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1533,11 +1533,23 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/android-arm@0.15.8": + version "0.15.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.8.tgz#52b094c98e415ec72fab39827c12f2051ac9c550" + integrity sha512-CyEWALmn+no/lbgbAJsbuuhT8s2J19EJGHkeyAwjbFJMrj80KJ9zuYsoAvidPTU7BgBf87r/sgae8Tw0dbOc4Q== + dependencies: + esbuild-wasm "0.15.8" + "@esbuild/linux-loong64@0.15.7": version "0.15.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== +"@esbuild/linux-loong64@0.15.8": + version "0.15.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.8.tgz#d64575fc46bf4eb689352aa9f8a139271b6e1647" + integrity sha512-pE5RQsOTSERCtfZdfCT25wzo7dfhOSlhAXcsZmuvRYhendOv7djcdvtINdnDp2DAjP17WXlBB4nBO6sHLczmsg== + "@eslint/eslintrc@^1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" @@ -2608,85 +2620,84 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz#5ccdd5d9004120f28fc6e717fb4b5c9bddcfbc04" - integrity sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og== +"@typescript-eslint/eslint-plugin@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz#ac919a199548861012e8c1fb2ec4899ac2bc22ae" + integrity sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ== dependencies: - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/type-utils" "5.37.0" - "@typescript-eslint/utils" "5.37.0" + "@typescript-eslint/scope-manager" "5.38.0" + "@typescript-eslint/type-utils" "5.38.0" + "@typescript-eslint/utils" "5.38.0" debug "^4.3.4" - functional-red-black-tree "^1.0.1" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.37.0.tgz#c382077973f3a4ede7453fb14cadcad3970cbf3b" - integrity sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw== +"@typescript-eslint/parser@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.0.tgz#5a59a1ff41a7b43aacd1bb2db54f6bf1c02b2ff8" + integrity sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA== dependencies: - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/scope-manager" "5.38.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/typescript-estree" "5.38.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz#044980e4f1516a774a418dafe701a483a6c9f9ca" - integrity sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q== +"@typescript-eslint/scope-manager@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz#8f0927024b6b24e28671352c93b393a810ab4553" + integrity sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA== dependencies: - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/visitor-keys" "5.37.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/visitor-keys" "5.38.0" -"@typescript-eslint/type-utils@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz#43ed2f567ada49d7e33a6e4b6f9babd060445fe5" - integrity sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ== +"@typescript-eslint/type-utils@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz#c8b7f681da825fcfc66ff2b63d70693880496876" + integrity sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA== dependencies: - "@typescript-eslint/typescript-estree" "5.37.0" - "@typescript-eslint/utils" "5.37.0" + "@typescript-eslint/typescript-estree" "5.38.0" + "@typescript-eslint/utils" "5.38.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.37.0.tgz#09e4870a5f3af7af3f84e08d792644a87d232261" - integrity sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA== +"@typescript-eslint/types@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.0.tgz#8cd15825e4874354e31800dcac321d07548b8a5f" + integrity sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA== -"@typescript-eslint/typescript-estree@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz#956dcf5c98363bcb97bdd5463a0a86072ff79355" - integrity sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA== +"@typescript-eslint/typescript-estree@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz#89f86b2279815c6fb7f57d68cf9b813f0dc25d98" + integrity sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg== dependencies: - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/visitor-keys" "5.37.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/visitor-keys" "5.38.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.37.0.tgz#7784cb8e91390c4f90ccaffd24a0cf9874df81b2" - integrity sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ== +"@typescript-eslint/utils@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.0.tgz#5b31f4896471818153790700eb02ac869a1543f4" + integrity sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/scope-manager" "5.38.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/typescript-estree" "5.38.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz#7b72dd343295ea11e89b624995abc7103c554eee" - integrity sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA== +"@typescript-eslint/visitor-keys@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz#60591ca3bf78aa12b25002c0993d067c00887e34" + integrity sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w== dependencies: - "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/types" "5.38.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3226,7 +3237,19 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.11, autoprefixer@^10.4.8: +autoprefixer@10.4.12: + version "10.4.12" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" + integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001407" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +autoprefixer@^10.4.8: version "10.4.11" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.11.tgz#835136aff1d9cd43640151e0d2dba00f8eac7c1c" integrity sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg== @@ -3524,7 +3547,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.21.3, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.9.1: version "4.21.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== @@ -3667,6 +3690,11 @@ caniuse-lite@^1.0.30001399, caniuse-lite@^1.0.30001400: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz#aa29e1f47f5055b0d0c07696a67b8b08023d14c8" integrity sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew== +caniuse-lite@^1.0.30001407: + version "1.0.30001407" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001407.tgz#92281a6ee67cb90bfd8a6a1201fcc2dc19b60a15" + integrity sha512-4ydV+t4P7X3zH83fQWNDX/mQEzYomossfpViCOx9zHBSMV+rIe3LFqglHHtVyvNl1FhTNxPxs3jei82iqOW04w== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -4775,106 +4803,213 @@ esbuild-android-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== +esbuild-android-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.8.tgz#625863e705d4ed32a3b4c0b997dbf9454d50a455" + integrity sha512-bVh8FIKOolF7/d4AMzt7xHlL0Ljr+mYKSHI39TJWDkybVWHdn6+4ODL3xZGHOxPpdRpitemXA1WwMKYBsw8dGw== + dependencies: + esbuild-wasm "0.15.8" + esbuild-android-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== +esbuild-android-arm64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.8.tgz#cd62afe08652ac146014386d3adbe7a9d33db1b0" + integrity sha512-ReAMDAHuo0H1h9LxRabI6gwYPn8k6WiUeyxuMvx17yTrJO+SCnIfNc/TSPFvDwtK9MiyiKG/2dBYHouT/M0BXQ== + esbuild-darwin-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== +esbuild-darwin-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.8.tgz#eb668dc973165f85aefecdca8aa60231acb2f705" + integrity sha512-KaKcGfJ+yto7Fo5gAj3xwxHMd1fBIKatpCHK8znTJLVv+9+NN2/tIPBqA4w5rBwjX0UqXDeIE2v1xJP+nGEXgA== + esbuild-darwin-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== +esbuild-darwin-arm64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.8.tgz#91c110daa46074fdfc18f411247ca0d1228aacc3" + integrity sha512-8tjEaBgAKnXCkP7bhEJmEqdG9HEV6oLkF36BrMzpfW2rgaw0c48Zrxe+9RlfeGvs6gDF4w+agXyTjikzsS3izw== + esbuild-freebsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== +esbuild-freebsd-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.8.tgz#22270945a9bf9107c340eb73922e122bbe84f8ad" + integrity sha512-jaxcsGHYzn2L0/lffON2WfH4Nc+d/EwozVTP5K2v016zxMb5UQMhLoJzvLgBqHT1SG0B/mO+a+THnJCMVg15zw== + esbuild-freebsd-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== +esbuild-freebsd-arm64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.8.tgz#0efe2741fbcaa2cfd31b9f94bd3ca7385b68c469" + integrity sha512-2xp2UlljMvX8HExtcg7VHaeQk8OBU0CSl1j18B5CcZmSDkLF9p3utuMXIopG3a08fr9Hv+Dz6+seSXUow/G51w== + esbuild-linux-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== +esbuild-linux-32@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.8.tgz#6fc98659105da5c0d1fedfce3b7b9fa24ebee0d4" + integrity sha512-9u1E54BRz1FQMl86iaHK146+4ID2KYNxL3trLZT4QLLx3M7Q9n4lGG3lrzqUatGR2cKy8c33b0iaCzsItZWkFg== + esbuild-linux-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== +esbuild-linux-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.8.tgz#8e738c926d145cdd4e9bcb2febc96d89dc27dc09" + integrity sha512-4HxrsN9eUzJXdVGMTYA5Xler82FuZUu21bXKN42zcLHHNKCAMPUzD62I+GwDhsdgUBAUj0tRXDdsQHgaP6v0HA== + esbuild-linux-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== +esbuild-linux-arm64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.8.tgz#a12675e5a56e8ef08dea49da8eed51a87b0e60d6" + integrity sha512-1OCm7Aq0tEJT70PbxmHSGYDLYP8DKH8r4Nk7/XbVzWaduo9beCjGBB+tGZIHK6DdTQ3h00/4Tb/70YMH/bOtKg== + esbuild-linux-arm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== +esbuild-linux-arm@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.8.tgz#6424da1e8a3ece78681ebee4a70477b40c36ab35" + integrity sha512-7DVBU9SFjX4+vBwt8tHsUCbE6Vvl6y6FQWHAgyw1lybC5gULqn/WnjHYHN2/LJaZRsDBvxWT4msEgwLGq1Wd3Q== + esbuild-linux-mips64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== +esbuild-linux-mips64le@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.8.tgz#5b39a16272cb4eaaad1f24938c057b19fb5a0ee5" + integrity sha512-yeFoNPVFPEzZvFYBfUQNG2TjGRaCyV1E27OcOg4LOtnGrxb2wA+mkW3luckyv1CEyd00mpAg7UdHx8nlx3ghgA== + esbuild-linux-ppc64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== +esbuild-linux-ppc64le@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.8.tgz#98ea8cfae8227180b45b2d952b2cbb072900944f" + integrity sha512-CEyMMUUNabXibw8OSNmBXhOIGhnjNVl5Lpseiuf00iKN0V47oqDrbo4dsHz1wH62m49AR8iG8wpDlTqfYgKbtg== + esbuild-linux-riscv64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== +esbuild-linux-riscv64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.8.tgz#6334607025eb449d8dd402d7810721dc15a6210f" + integrity sha512-OCGSOaspMUjexSCU8ZiA0UnV/NiRU+s2vIfEcAQWQ6u32R+2luyfh/4ZaY6jFbylJE07Esc/yRvb9Q5fXuClXA== + esbuild-linux-s390x@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== +esbuild-linux-s390x@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.8.tgz#874f1a3507c32cce1d2ce0d2f28ac1496c094eab" + integrity sha512-RHdpdfxRTSrZXZJlFSLazFU4YwXLB5Rgf6Zr5rffqSsO4y9JybgtKO38bFwxZNlDXliYISXN/YROKrG9s7mZQA== + esbuild-netbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== +esbuild-netbsd-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.8.tgz#2e03d87ed811400d5d1fa8c7629b9fd97a574231" + integrity sha512-VolFFRatBH09T5QMWhiohAWCOien1R1Uz9K0BRVVTBgBaVBt7eArsXTKxVhUgRf2vwu2c2SXkuP0r7HLG0eozw== + esbuild-openbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== +esbuild-openbsd-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.8.tgz#8fdbc6399563ac61ff546449e2226a2b1477216c" + integrity sha512-HTAPlg+n4kUeE/isQxlCfsOz0xJGNoT5LJ9oYZWFKABfVf4Ycu7Zlf5ITgOnrdheTkz8JeL/gISIOCFAoOXrSA== + esbuild-sunos-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== +esbuild-sunos-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.8.tgz#db657b5c09c0c0161d67ddafca1b710a2e7ce96b" + integrity sha512-qMP/jR/FzcIOwKj+W+Lb+8Cfr8GZHbHUJxAPi7DUhNZMQ/6y7sOgRzlOSpRrbbUntrRZh0MqOyDhJ3Gpo6L1QA== + esbuild-wasm@0.15.7, esbuild-wasm@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== +esbuild-wasm@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.8.tgz#60fb8c5dc1a5538421857a2fa5fbb9eab908dcbb" + integrity sha512-Y7uCl5RNO4URjlemjdx++ukVHEMt5s5AfMWYUnMiK4Sry+pPCvQIctzXq6r6FKCyGKjX6/NGMCqR2OX6aLxj0w== + esbuild-windows-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== +esbuild-windows-32@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.8.tgz#bbb9fe20a8b6bba4428642cacf45a0fb7b2f3783" + integrity sha512-RKR1QHh4iWzjUhkP8Yqi75PPz/KS+b8zw3wUrzw6oAkj+iU5Qtyj61ZDaSG3Qf2vc6hTIUiPqVTqBH0NpXFNwg== + esbuild-windows-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== +esbuild-windows-64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.8.tgz#cedee65505209c8d371d7228b60785c08f43e04d" + integrity sha512-ag9ptYrsizgsR+PQE8QKeMqnosLvAMonQREpLw4evA4FFgOBMLEat/dY/9txbpozTw9eEOYyD3a4cE9yTu20FA== + esbuild-windows-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== +esbuild-windows-arm64@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.8.tgz#1d75235290bf23a111e6c0b03febd324af115cb1" + integrity sha512-dbpAb0VyPaUs9mgw65KRfQ9rqiWCHpNzrJusoPu+LpEoswosjt/tFxN7cd2l68AT4qWdBkzAjDLRon7uqMeWcg== + esbuild@0.15.7, esbuild@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" @@ -4902,6 +5037,34 @@ esbuild@0.15.7, esbuild@^0.15.0: esbuild-windows-64 "0.15.7" esbuild-windows-arm64 "0.15.7" +esbuild@0.15.8: + version "0.15.8" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.8.tgz#75daa25d03f6dd9cc9355030eba2b93555b42cd4" + integrity sha512-Remsk2dmr1Ia65sU+QasE6svJbsHe62lzR+CnjpUvbZ+uSYo1SitiOWPRfZQkCu82YWZBBKXiD/j0i//XWMZ+Q== + optionalDependencies: + "@esbuild/android-arm" "0.15.8" + "@esbuild/linux-loong64" "0.15.8" + esbuild-android-64 "0.15.8" + esbuild-android-arm64 "0.15.8" + esbuild-darwin-64 "0.15.8" + esbuild-darwin-arm64 "0.15.8" + esbuild-freebsd-64 "0.15.8" + esbuild-freebsd-arm64 "0.15.8" + esbuild-linux-32 "0.15.8" + esbuild-linux-64 "0.15.8" + esbuild-linux-arm "0.15.8" + esbuild-linux-arm64 "0.15.8" + esbuild-linux-mips64le "0.15.8" + esbuild-linux-ppc64le "0.15.8" + esbuild-linux-riscv64 "0.15.8" + esbuild-linux-s390x "0.15.8" + esbuild-netbsd-64 "0.15.8" + esbuild-openbsd-64 "0.15.8" + esbuild-sunos-64 "0.15.8" + esbuild-windows-32 "0.15.8" + esbuild-windows-64 "0.15.8" + esbuild-windows-arm64 "0.15.8" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5558,11 +5721,6 @@ function.prototype.name@^1.1.5: es-abstract "^1.19.0" functions-have-names "^1.2.2" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -9601,7 +9759,7 @@ selenium-webdriver@4.4.0: tmp "^0.2.1" ws ">=8.7.0" -selfsigned@^2.0.1: +selfsigned@^2.0.1, selfsigned@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== @@ -11021,6 +11179,41 @@ webpack-dev-server@4.11.0: webpack-dev-middleware "^5.3.1" ws "^8.4.2" +webpack-dev-server@4.11.1: + version "4.11.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" + integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.1" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" + webpack-merge@5.8.0: version "5.8.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" From d829d73f1886819bc3726d912198da72f2fbd12f Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Sat, 17 Sep 2022 13:22:24 +0000 Subject: [PATCH 0909/1388] build: use shared circleci dev-infra for common circleci code This allows us to remove the `rebase-pr.js` script so that we can maintain this script in a single place. --- .circleci/dynamic_config.yml | 28 +++++------ tools/rebase-pr.js | 95 ------------------------------------ 2 files changed, 14 insertions(+), 109 deletions(-) delete mode 100644 tools/rebase-pr.js diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 71ffa33e5f7b..b55d441872ac 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -11,6 +11,7 @@ version: 2.1 orbs: browser-tools: circleci/browser-tools@1.1.3 + devinfra: angular/dev-infra@1.0.1 parameters: snapshot_changed: @@ -102,19 +103,18 @@ commands: rebase_pr: steps: - - run: - name: Rebase PR on target branch - shell: bash - command: > - if [[ -n "${CIRCLE_PR_NUMBER}" ]]; then - # User is required for rebase. - git config user.name "angular-ci" - git config user.email "angular-ci" - # Rebase PR on top of target branch. - node tools/rebase-pr.js angular/angular-cli ${CIRCLE_PR_NUMBER} - else - echo "This build is not over a PR, nothing to do." - fi + - devinfra/rebase-pr-on-target-branch: + base_revision: << pipeline.git.base_revision >> + head_revision: << pipeline.git.revision >> + + rebase_pr_win: + steps: + - devinfra/rebase-pr-on-target-branch: + base_revision: << pipeline.git.base_revision >> + head_revision: << pipeline.git.revision >> + # Use `bash.exe` as Shell because the CircleCI-orb command is an + # included Bash script and expects Bash as shell. + shell: bash.exe custom_attach_workspace: description: Attach workspace at a predefined location @@ -367,7 +367,7 @@ jobs: parallelism: 16 steps: - checkout - - rebase_pr + - rebase_pr_win - setup_windows - restore_cache: keys: diff --git a/tools/rebase-pr.js b/tools/rebase-pr.js deleted file mode 100644 index 01e916defaad..000000000000 --- a/tools/rebase-pr.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// tslint:disable:no-console -// ** IMPORTANT ** -// This script cannot use external dependencies because it needs to run before they are installed. - -const util = require('util'); -const https = require('https'); -const child_process = require('child_process'); -const exec = util.promisify(child_process.exec); - -function determineTargetBranch(repository, prNumber) { - const pullsUrl = `https://api.github.com/repos/${repository}/pulls/${prNumber}`; - // GitHub requires a user agent: https://developer.github.com/v3/#user-agent-required - const options = { headers: { 'User-Agent': repository } }; - - return new Promise((resolve, reject) => { - https - .get(pullsUrl, options, (res) => { - const { statusCode } = res; - const contentType = res.headers['content-type']; - - let error; - if (statusCode !== 200) { - error = new Error(`Request Failed.\nStatus Code: ${statusCode}.\nResponse: ${res}.\n' +`); - } else if (!/^application\/json/.test(contentType)) { - error = new Error( - 'Invalid content-type.\n' + `Expected application/json but received ${contentType}`, - ); - } - if (error) { - reject(error); - res.resume(); - return; - } - - res.setEncoding('utf8'); - let rawData = ''; - res.on('data', (chunk) => { - rawData += chunk; - }); - res.on('end', () => { - try { - const parsedData = JSON.parse(rawData); - resolve(parsedData['base']['ref']); - } catch (e) { - reject(e); - } - }); - }) - .on('error', (e) => { - reject(e); - }); - }); -} - -if (process.argv.length != 4) { - console.error(`This script requires the GitHub repository and PR number as arguments.`); - console.error(`Example: node scripts/rebase-pr.js angular/angular 123`); - process.exitCode = 1; - return; -} - -const repository = process.argv[2]; -const prNumber = process.argv[3]; -let targetBranch; - -return Promise.resolve() - .then(() => { - console.log(`Determining target branch for PR ${prNumber} on ${repository}.`); - return determineTargetBranch(repository, prNumber); - }) - .then((target) => { - targetBranch = target; - console.log(`Target branch is ${targetBranch}.`); - }) - .then(() => { - console.log(`Fetching ${targetBranch} from origin.`); - return exec(`git fetch origin ${targetBranch}`); - }) - .then((target) => { - console.log(`Rebasing current branch on ${targetBranch}.`); - return exec(`git rebase origin/${targetBranch}`); - }) - .then(() => console.log('Rebase successfull.')) - .catch((err) => { - console.log('Failed to rebase on top or target branch.\n'); - console.error(err); - process.exitCode = 1; - }); From ea4c0aa2e84d48be37b75e37c99ad381122297c3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 30 Aug 2022 10:39:11 +0000 Subject: [PATCH 0910/1388] fix(@angular-devkit/core): throw error when project has missing root property BREAKING CHANGE: Workspace projects with missing `root` is now an error. --- packages/angular_devkit/core/src/workspace/json/reader.ts | 6 +----- .../angular_devkit/core/src/workspace/json/reader_spec.ts | 7 ++----- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index 71035e28b08d..75038787154b 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -190,11 +190,7 @@ function parseProject( const projectNodeValue = getNodeValue(projectNode); if (!('root' in projectNodeValue)) { - // TODO(alan-agius4): change this to error in v15. - context.warn( - `Project "${projectName}" is missing a required property "root". This will become an error in the next major version.`, - projectNodeValue, - ); + throw new Error(`Project "${projectName}" is missing a required property "root".`); } for (const [name, value] of Object.entries(projectNodeValue)) { diff --git a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts index 0d5728770a03..5b80cc50d92b 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader_spec.ts @@ -148,11 +148,8 @@ describe('readJsonWorkpace Parsing', () => { } `); - const consoleWarnSpy = spyOn(console, 'warn').and.callFake(() => undefined); - await expectAsync(readJsonWorkspace('', host)); - - expect(consoleWarnSpy).toHaveBeenCalledWith( - `Project "foo" is missing a required property "root". This will become an error in the next major version.`, + await expectAsync(readJsonWorkspace('', host)).toBeRejectedWithError( + /Project "foo" is missing a required property "root"/, ); }); }); From 404afb80ced0c4f49b8089368be7a4c064a9d1c6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 21 Sep 2022 17:49:11 -0400 Subject: [PATCH 0911/1388] release: cut the v15.0.0-next.2 release --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2812cdfffeaa..88cd2c52d3ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,47 @@ + + +# 15.0.0-next.2 (2022-09-21) + +## Breaking Changes + +### @angular-devkit/build-angular + +- Internally the Angular CLI now always sets the TypeScript `target` to `ES2022` and `useDefineForClassFields` to `false` unless the target is set to `ES2022` or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration. +- Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+ +- Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports. + +### @angular-devkit/core + +- Workspace projects with missing `root` is now an error. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | +| [1c21e470c](https://github.com/angular/angular-cli/commit/1c21e470c76d69d08e5096b46b952dbce330f7ef) | feat | enable error on unknown properties and elements in tests | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------- | +| [1c527a9da](https://github.com/angular/angular-cli/commit/1c527a9da5b55a8421ebca787fd322e879f6d29d) | feat | add esbuild-based builder initial support for fileReplacements | +| [15d3fc6dc](https://github.com/angular/angular-cli/commit/15d3fc6dc3f74462818b3745f6fb4995212a4d22) | feat | export `@angular/platform-server` symbols in server bundle | +| [1e5d4a750](https://github.com/angular/angular-cli/commit/1e5d4a75084dfd2aeebb6a0c0b3039417e14bc84) | feat | use Browserslist to determine ECMA output | +| [12931ba8c](https://github.com/angular/angular-cli/commit/12931ba8c3772b1dd65846cbd6146804b08eab31) | refactor | remove deprecated ES5 support | +| [2ba44a433](https://github.com/angular/angular-cli/commit/2ba44a433c827413a53d12de0ef203f8988ddc2a) | refactor | remove support for Stylus | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [ea4c0aa2e](https://github.com/angular/angular-cli/commit/ea4c0aa2e84d48be37b75e37c99ad381122297c3) | fix | throw error when project has missing root property | + +## Special Thanks + +Alan Agius, Charles Lyding, Cédric Exbrayat, Doug Parker, Jason Bedard and Paul Gschwendtner + + + # 15.0.0-next.1 (2022-09-15) diff --git a/package.json b/package.json index a401ff238014..3a0289ac9875 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.0.0-next.1", + "version": "15.0.0-next.2", "private": true, "description": "Software Development Kit for Angular", "bin": { From d09da83d265d2a475a75116d13f6f177116630f8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 22 Sep 2022 07:50:17 +0000 Subject: [PATCH 0912/1388] refactor: use `addWarning` and `addError` helpers to push Webpack diagnostics With this change we replace all usage of `compilation.errors `and `compilation.warnings.push` with `addError` and `addWarning` respectively. Also, we update the helpers in build-angular to use `WebpackError` from the current compilation to avoid mismatching instances. --- .../build_angular/src/utils/webpack-diagnostics.ts | 6 +++--- .../build_angular/src/webpack/configs/styles.ts | 5 +++-- .../webpack/plugins/javascript-optimizer-plugin.ts | 6 +++--- .../src/webpack/plugins/transfer-size-plugin.ts | 8 ++++---- packages/ngtools/webpack/src/ivy/plugin.ts | 11 +++++------ packages/ngtools/webpack/src/resource_loader.ts | 3 ++- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts b/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts index 41584a617e82..d04c34f3ef04 100644 --- a/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts +++ b/packages/angular_devkit/build_angular/src/utils/webpack-diagnostics.ts @@ -6,12 +6,12 @@ * found in the LICENSE file at https://angular.io/license */ -import { Compilation, WebpackError } from 'webpack'; +import type { Compilation } from 'webpack'; export function addWarning(compilation: Compilation, message: string): void { - compilation.warnings.push(new WebpackError(message)); + compilation.warnings.push(new compilation.compiler.webpack.WebpackError(message)); } export function addError(compilation: Compilation, message: string): void { - compilation.errors.push(new WebpackError(message)); + compilation.errors.push(new compilation.compiler.webpack.WebpackError(message)); } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index abbc2b779aeb..dd1a318055dc 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -9,10 +9,11 @@ import * as fs from 'fs'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import * as path from 'path'; -import { Configuration, RuleSetUseItem, WebpackError } from 'webpack'; +import type { Configuration, RuleSetUseItem } from 'webpack'; import { StyleElement } from '../../builders/browser/schema'; import { SassWorkerImplementation } from '../../sass/sass-service'; import { WebpackConfigOptions } from '../../utils/build-options'; +import { addWarning } from '../../utils/webpack-diagnostics'; import { AnyComponentStyleBudgetChecker, PostcssCliResources, @@ -112,7 +113,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { compiler.hooks.afterCompile.tap('sass-worker', (compilation) => { for (const message of sassTildeUsageMessage) { - compilation.warnings.push(new WebpackError(message)); + addWarning(compilation, message); } sassTildeUsageMessage.clear(); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts index 9e8f98ee5891..b6f02d40a544 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts @@ -7,10 +7,10 @@ */ import Piscina from 'piscina'; -import { ScriptTarget } from 'typescript'; import type { Compiler, sources } from 'webpack'; import { maxWorkers } from '../../utils/environment-options'; import { transformSupportedBrowsersToTargets } from '../../utils/esbuild-targets'; +import { addError } from '../../utils/webpack-diagnostics'; import { EsbuildExecutor } from './esbuild-executor'; import type { OptimizeRequestOptions } from './javascript-optimizer-worker'; @@ -220,10 +220,10 @@ export class JavaScriptOptimizerPlugin { }); }, (error) => { - const optimizationError = new compiler.webpack.WebpackError( + addError( + compilation, `Optimization error [${name}]: ${error.stack || error.message}`, ); - compilation.errors.push(optimizationError); }, ), ); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts index 246bab0db6fc..461a08967eec 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/transfer-size-plugin.ts @@ -9,6 +9,7 @@ import { promisify } from 'util'; import { Compiler } from 'webpack'; import { brotliCompress } from 'zlib'; +import { addWarning } from '../../utils/webpack-diagnostics'; const brotliCompressAsync = promisify(brotliCompress); @@ -49,10 +50,9 @@ export class TransferSizePlugin { ); }) .catch((error) => { - compilation.warnings.push( - new compilation.compiler.webpack.WebpackError( - `Unable to calculate estimated transfer size for '${assetName}'. Reason: ${error.message}`, - ), + addWarning( + compilation, + `Unable to calculate estimated transfer size for '${assetName}'. Reason: ${error.message}`, ); }), ); diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index fcb132ff0fec..1a508def403c 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -189,12 +189,11 @@ export class AngularWebpackPlugin { try { this.setupCompilation(compilation, compilationState); } catch (error) { - compilation.errors.push( - new WebpackError( - `Failed to initialize Angular compilation - ${ - error instanceof Error ? error.message : error - }`, - ), + addError( + compilation, + `Failed to initialize Angular compilation - ${ + error instanceof Error ? error.message : error + }`, ); } }); diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index 17bd64b64eb0..e0279a8fbd31 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -10,6 +10,7 @@ import assert from 'assert'; import * as path from 'path'; import * as vm from 'vm'; import type { Asset, Compilation } from 'webpack'; +import { addError } from './ivy/diagnostics'; import { normalizePath } from './ivy/paths'; import { CompilationWithInlineAngularResource, @@ -212,7 +213,7 @@ export class WebpackResourceLoader { } catch (error) { assert(error instanceof Error, 'catch clause variable is not an Error instance'); // Use compilation errors, as otherwise webpack will choke - compilation.errors.push(new WebpackError(error.message)); + addError(compilation, error.message); } }); }, From f567ffa6f3b41e4a98b9230def74d255c0e3b7bf Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 22 Sep 2022 17:11:46 +0000 Subject: [PATCH 0913/1388] build: update dev-infra orb for recent rebase command fixes --- .circleci/dynamic_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index b55d441872ac..2d62c578e902 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -11,7 +11,7 @@ version: 2.1 orbs: browser-tools: circleci/browser-tools@1.1.3 - devinfra: angular/dev-infra@1.0.1 + devinfra: angular/dev-infra@1.0.2 parameters: snapshot_changed: From 609d635a72d195d1e7d90be629ca2b05e9418a46 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 23 Sep 2022 09:07:44 +0000 Subject: [PATCH 0914/1388] build: update github/codeql-action action to v2.1.25 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 5bd12a40a5d4..ed7f256fe792 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@904260d7d935dff982205cbdb42025ce30b7a34f # tag=v2.1.24 + uses: github/codeql-action/upload-sarif@86f3159a697a097a813ad9bfa0002412d97690a4 # tag=v2.1.25 with: sarif_file: results.sarif From 23c233c296d4e264b36241fbba0b92ec00a00374 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 11 Aug 2022 18:32:40 +0000 Subject: [PATCH 0915/1388] fix(@angular/cli): add builders and schematic names as page titles in collected analytics With this commit the builder and schematic names are added as page title to page events. Also, we address a bug where during a watch or error in some cases analytics where not flushed. Examples when the builder has a watch mode. --- .../architect-base-command-module.ts | 13 ++++++--- .../cli/src/command-builder/command-module.ts | 28 ++++++++++++++++++- .../schematics-command-module.ts | 15 +++++----- 3 files changed, 43 insertions(+), 13 deletions(-) diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index dd83af5d921f..a92083947eaf 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -53,10 +53,15 @@ export abstract class ArchitectBaseCommandModule return this.onMissingTarget(e.message); } - await this.reportAnalytics({ - ...(await architectHost.getOptionsForTarget(target)), - ...options, - }); + await this.reportAnalytics( + { + ...(await architectHost.getOptionsForTarget(target)), + ...options, + }, + undefined /** paths */, + undefined /** dimensions */, + builderName, + ); const { logger } = this.context; diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 7d772e50cd06..81135cd27ebc 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -140,8 +140,11 @@ export abstract class CommandModule implements CommandModuleI // Gather and report analytics. const analytics = await this.getAnalytics(); + let stopPeriodicFlushes: (() => Promise) | undefined; + if (this.shouldReportAnalytics) { await this.reportAnalytics(camelCasedOptions); + stopPeriodicFlushes = this.periodicAnalyticsFlush(analytics); } let exitCode: number | void | undefined; @@ -151,7 +154,6 @@ export abstract class CommandModule implements CommandModuleI exitCode = await this.run(camelCasedOptions as Options & OtherOptions); const endTime = Date.now(); analytics.timing(this.commandName, 'duration', endTime - startTime); - await analytics.flush(); } catch (e) { if (e instanceof schema.SchemaValidationException) { this.context.logger.fatal(`Error: ${e.message}`); @@ -160,6 +162,8 @@ export abstract class CommandModule implements CommandModuleI throw e; } } finally { + await stopPeriodicFlushes?.(); + if (typeof exitCode === 'number' && exitCode > 0) { process.exitCode = exitCode; } @@ -170,6 +174,7 @@ export abstract class CommandModule implements CommandModuleI options: (Options & OtherOptions) | OtherOptions, paths: string[] = [], dimensions: (boolean | number | string)[] = [], + title?: string, ): Promise { for (const [name, ua] of this.optionsWithAnalytics) { const value = options[name]; @@ -183,6 +188,7 @@ export abstract class CommandModule implements CommandModuleI analytics.pageview('/command/' + [this.commandName, ...paths].join('/'), { dimensions, metrics: [], + title, }); } @@ -275,6 +281,26 @@ export abstract class CommandModule implements CommandModuleI return workspace; } + + /** + * Flush on an interval (if the event loop is waiting). + * + * @returns a method that when called will terminate the periodic + * flush and call flush one last time. + */ + private periodicAnalyticsFlush(analytics: analytics.Analytics): () => Promise { + let analyticsFlushPromise = Promise.resolve(); + const analyticsFlushInterval = setInterval(() => { + analyticsFlushPromise = analyticsFlushPromise.then(() => analytics.flush()); + }, 2000); + + return () => { + clearInterval(analyticsFlushInterval); + + // Flush one last time. + return analyticsFlushPromise.then(() => analytics.flush()); + }; + } } /** diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 7689f016717f..2580b313a05d 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -147,14 +147,13 @@ export abstract class SchematicsCommandModule workflow.engineHost.registerOptionsTransform(async (schematic, options) => { if (shouldReportAnalytics) { shouldReportAnalytics = false; - // ng generate lib -> ng generate - const commandName = this.command?.split(' ', 1)[0]; - - await this.reportAnalytics(options as {}, [ - commandName, - schematic.collection.name.replace(/\//g, '_'), - schematic.name.replace(/\//g, '_'), - ]); + + await this.reportAnalytics( + options as {}, + undefined /** paths */, + undefined /** dimensions */, + schematic.collection.name + ':' + schematic.name, + ); } // TODO: The below should be removed in version 15 when we change 1P schematics to use the `workingDirectory smart default`. From f0933d3fd1f69750232665536432217ffe3ddd92 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 23 Sep 2022 17:17:39 +0000 Subject: [PATCH 0916/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 112 +++++++++--------- 7 files changed, 92 insertions(+), 92 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ceb0ff90947b..c84d85b87213 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@5b747aa0f3198901823476ace4e0ffc4ba2dd61f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@989b9f572138afc4d89d7489cc19a39919b056ef with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@5b747aa0f3198901823476ace4e0ffc4ba2dd61f + - uses: angular/dev-infra/github-actions/post-approval-changes@989b9f572138afc4d89d7489cc19a39919b056ef with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 242e6ba63c85..b323259740c2 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@5b747aa0f3198901823476ace4e0ffc4ba2dd61f + - uses: angular/dev-infra/github-actions/feature-request@989b9f572138afc4d89d7489cc19a39919b056ef with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 07e30fc48065..49f61827c183 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@5b747aa0f3198901823476ace4e0ffc4ba2dd61f + - uses: angular/dev-infra/github-actions/lock-closed@989b9f572138afc4d89d7489cc19a39919b056ef with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 3a0289ac9875..3d125707a424 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0e6b17b87b5f1a9ad8e9c386c531c32f71778c70", + "@angular/animations": "15.0.0-next.3", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45eb138d11717825be793d6ccc9820f0e771bf0a", "@angular/cdk": "14.2.2", - "@angular/common": "15.0.0-next.2", - "@angular/compiler": "15.0.0-next.2", - "@angular/compiler-cli": "15.0.0-next.2", - "@angular/core": "15.0.0-next.2", - "@angular/forms": "15.0.0-next.2", - "@angular/localize": "15.0.0-next.2", + "@angular/common": "15.0.0-next.3", + "@angular/compiler": "15.0.0-next.3", + "@angular/compiler-cli": "15.0.0-next.3", + "@angular/core": "15.0.0-next.3", + "@angular/forms": "15.0.0-next.3", + "@angular/localize": "15.0.0-next.3", "@angular/material": "14.2.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62", - "@angular/platform-browser": "15.0.0-next.2", - "@angular/platform-browser-dynamic": "15.0.0-next.2", - "@angular/platform-server": "15.0.0-next.2", - "@angular/router": "15.0.0-next.2", - "@angular/service-worker": "15.0.0-next.2", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26", + "@angular/platform-browser": "15.0.0-next.3", + "@angular/platform-browser-dynamic": "15.0.0-next.3", + "@angular/platform-server": "15.0.0-next.3", + "@angular/router": "15.0.0-next.3", + "@angular/service-worker": "15.0.0-next.3", "@babel/core": "7.19.1", "@babel/generator": "7.19.0", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 0392ba9d391a..3141af6261c0 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.2", - "@angular/compiler-cli": "15.0.0-next.2", + "@angular/compiler": "15.0.0-next.3", + "@angular/compiler-cli": "15.0.0-next.3", "typescript": "4.8.3", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 19d5ae5a9bd2..953fcd482b99 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#3dfd4b35d3f0ffdbf7fb7d867191fc59858fd0b9", - "@angular/cdk": "github:angular/cdk-builds#f3501468c716c4ad45b93993ba1268c8e13ea672", - "@angular/common": "github:angular/common-builds#a0a5f3131b09484a9d85f9ffeb4840632312ce04", - "@angular/compiler": "github:angular/compiler-builds#7a210c2e03ca30fae81b604d71c1ea30b8b30366", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#90a4333c28bd9dad8b4e26bd9c718a67a74a0698", - "@angular/core": "github:angular/core-builds#712b10797c2f8405f832829f1d1c6d9c873af949", - "@angular/forms": "github:angular/forms-builds#3784980fe329627537467e51d24989ac21ad465c", - "@angular/language-service": "github:angular/language-service-builds#1586bbeb56d52f6c5ca415e776177cf04088ec91", - "@angular/localize": "github:angular/localize-builds#951931c29de685bb4d6ef2aa751d3ea827451fae", - "@angular/material": "github:angular/material-builds#29166fe3a6719ffdf3ac09d4c2913f5a7bf6f930", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1b270e169ffb7751ccf6fe89b4ba408cd9d0a6c9", - "@angular/platform-browser": "github:angular/platform-browser-builds#b7dad368b8417acc4c58b786479b18836d8f6ed5", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#39753e3748e717f53e08326f171e3933e5c3fd10", - "@angular/platform-server": "github:angular/platform-server-builds#ff09b3370b9710ac8534b5781108819f5af20809", - "@angular/router": "github:angular/router-builds#14fbdc183e65dd769fb06e5e1a7c537f241dfe8c", - "@angular/service-worker": "github:angular/service-worker-builds#3da09af2b61165d7aa22c71ec3c587aae8303590" + "@angular/animations": "github:angular/animations-builds#3b6c75347591c4864e5e75cc5d13183460cc223e", + "@angular/cdk": "github:angular/cdk-builds#03740d9cf287be2151e9c30c6adb4ac1e3a2408d", + "@angular/common": "github:angular/common-builds#4c175f67bd0336df418af19203056471a5732af6", + "@angular/compiler": "github:angular/compiler-builds#b39a85d95153ea30c765e6298eb3eea37932aa89", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#5741cf24c884597a3c60f7b94bee7dc3b930412c", + "@angular/core": "github:angular/core-builds#67544918f831ac24120a477615e0f4a9781bcc43", + "@angular/forms": "github:angular/forms-builds#2a738e006c74bd48f7ff8ed2982a6bf252feae3e", + "@angular/language-service": "github:angular/language-service-builds#f5ae29681e3e626b1876df5c0e078d6526c97a56", + "@angular/localize": "github:angular/localize-builds#07f59d8367164a29f754516de4d8bf6b692bac0b", + "@angular/material": "github:angular/material-builds#9ce06ce16ec3d2947abac177b94f60f571ff0c7b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1476ae5244b21baecdcb1185bf78e30d282eba5c", + "@angular/platform-browser": "github:angular/platform-browser-builds#d10ab8a01f968ec2206bbeeedf3894ee5ad132cd", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#70a1caf3e4c1c832018e6aad600e275806b2c14e", + "@angular/platform-server": "github:angular/platform-server-builds#50c534abfba3c4600744434a28f0df73ce829e06", + "@angular/router": "github:angular/router-builds#9f75324a54c93ebcb4509caef7d773a0353a8d90", + "@angular/service-worker": "github:angular/service-worker-builds#68c6342e7e1bc5c769a01c059e310f1adf106496" } } diff --git a/yarn.lock b/yarn.lock index dbe0adce29cd..f57b05f75b95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.2.tgz#5e9c69e18316598bba11e7a4f2d6ba8cdaa7129a" - integrity sha512-fgjqdwLHKG4H/fYuCWvT0yVmf5TKNdphBrZd0fWdPLEWpzsX732JCkDfMKl1Y8YUm0M5c0Rcz2gYbm7taTEaJQ== +"@angular/animations@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.3.tgz#979ae63b7642a7efa30c0d6ae5de2330312bf730" + integrity sha512-J+H8ySPQgQ3mcmTJSlkwRNVsDbTB2HQuKFHx3oVsWhXxR2CcI4fWdoC+0Gn6MbYsIcqq0DmA94XUDqkPjDHn1g== dependencies: tslib "^2.3.0" @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0e6b17b87b5f1a9ad8e9c386c531c32f71778c70": - version "0.0.0-5b747aa0f3198901823476ace4e0ffc4ba2dd61f" - uid "0e6b17b87b5f1a9ad8e9c386c531c32f71778c70" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0e6b17b87b5f1a9ad8e9c386c531c32f71778c70" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#45eb138d11717825be793d6ccc9820f0e771bf0a": + version "0.0.0-989b9f572138afc4d89d7489cc19a39919b056ef" + uid "45eb138d11717825be793d6ccc9820f0e771bf0a" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45eb138d11717825be793d6ccc9820f0e771bf0a" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" @@ -174,17 +174,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.2.tgz#c407caf0be57fb9df1301c87b835e5304231af44" - integrity sha512-5NLimbpaUSjJdvx+DbEwh6RQURG3Rs2lR4I2pAiqsgJqK7H0CgCNurw0SaJn+GczM7nrMoSIxMBhn2uKv4EARA== +"@angular/common@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.3.tgz#65d670cdcdf8c031fdbd2e4f51490b67f902c666" + integrity sha512-01oGk9NNBEXgAI8aDwxxbY0ivDuMGM8auMm/DMWJh1udZgBWtZRbPJ454S+Rk2LEV4NK0IKAbppcixQ7H42dcQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.2.tgz#eb5ebd44547f9656de46ccee3eca85998f55ed82" - integrity sha512-j6LhKwCDsrh4zRpBHhWKnnNeLDh8xih3IHam8Z7AXQw6thpHzR86q0vCKihiu78zoZV1/K4D4MmvUNQZcn/oIA== +"@angular/compiler-cli@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.3.tgz#c3dadf2e4fed6eb841ced5c6577a55b91b778383" + integrity sha512-ORv+FBH6GbJ8iter7nmJKPGzehnM3GAmHEn6h41/N5YzuRW+bRWmhSgWtG46H7yzD5n4CXJllyxbi9AtMXAkKg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -197,17 +197,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.2.tgz#e3a867a8b6114f0bf44fb07ec3151c1f31228fe6" - integrity sha512-2UfnrC2fhVs89CaUqdp214C8AxvTjcOTJNp5IJc6EbP66SUoBB3dR6VLNiAcjwXNiNHoiJU/6xYEGGDpy73M4w== +"@angular/compiler@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.3.tgz#505657908b7d8c65f0b1233f0beed9f8dbb559d6" + integrity sha512-O4kZ7pjHz3+SKOBTcSGGaCbobU6BMNzIIGpMbm1+0CRxh1WAJ5a8HmSVlppZW2qb7yE3xGrl7BAA3uIDVFHtkQ== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.2.tgz#9e88fb2dbd8b03afbf84bcba4c43210256d82051" - integrity sha512-v72b9mFkIRDLw8+Ath82v2uoEpkKpcHRRewqYWHijMVsOZoUXSEQ9lR2i5Z5YpqI7TqxhaF3j44dXqnr3ZSTfg== +"@angular/core@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.3.tgz#72cf4f00dd324da5b52ef243f1b5177e949498c9" + integrity sha512-NysJXSnCOugnA7Mb88v9pnoDKJGInjpuDsr6+Ge13bbMyW1cP7R7POGH2RSj333fMoynhHDJE8T7IF39xbhZOQ== dependencies: tslib "^2.3.0" @@ -218,17 +218,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.2.tgz#38f452f77b6d79bca5d7958c620601c9b4c17a25" - integrity sha512-4tCBykO42aFWtP0oAFSo/jLOiiNDciRPWm63gETAMKlbBX3W4tSziiFQO1m3DzrKBqYYkgjGifopq9UtxRyXzg== +"@angular/forms@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.3.tgz#e730258f0e30a522927a8545aab6e2544db843c6" + integrity sha512-B0vzHK8CWMerN81kBZEwtHV8WIZhd1brvQbYI2S3LT7DSoWXYvU/8b3HIREkw4T1+e6lVXgx+1KSQ8F/zZY9Aw== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.2.tgz#2163bf7d8e419e8e27db95329a8789d4d0539e2d" - integrity sha512-onk2+a9jkLCaThqd7U5UkdjU5iZ13Owva6axH+fFWmMWNdFcsrfjySU6Nanwa6RoQcMKmTcrdzGLHhkbBfnT3Q== +"@angular/localize@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.3.tgz#ac6a2ad1830654891afb6cb4468a61bd153aeacd" + integrity sha512-99zlY1far7d4SHaemXwb7yuqQlr5x41ulx4t1V06cnd7H5qrK15zNVTqacCZy7pPyAYmb4lx2hvBPQQxG11Wxg== dependencies: "@babel/core" "7.18.9" glob "8.0.3" @@ -241,48 +241,48 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62": - version "0.0.0-5b747aa0f3198901823476ace4e0ffc4ba2dd61f" - uid "8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8bc02dd0c0ca1fd1260a3295fe0fa139e4283a62" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26": + version "0.0.0-989b9f572138afc4d89d7489cc19a39919b056ef" + uid "0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.2.tgz#9c3ec08ba75a3938ccf302e6723bdfffadae73c9" - integrity sha512-dShqDUNX0qTb4FrhqETYfaOqV4nby2FtSMjkHGYKHw50gzBfGxcRuZOdCD4cG7OMeSuJTL4FYvQtRKcfpqpatw== +"@angular/platform-browser-dynamic@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.3.tgz#dd17bd284f74f8de3bb53c82b7d825b6f1e9ddc9" + integrity sha512-YpANGz9v/hja5TTp4bvCKSrJZGgUfxLMLS6fMyd8AOmTijzShUxUwL5PuTLUHLAkvy5PkC+V8cUw4m/2+mUlEQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.2.tgz#a915e8c2d44615a1d2de6f8962d75e6f3b63da38" - integrity sha512-aDazzfD9PKImzP8xNQNQ0ebAbfb9wV+5D/omo5Ir0ATIYER4p/dEnspnBW1axCCwHl6zlFV1jNGaoL3EntsBRg== +"@angular/platform-browser@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.3.tgz#a5f99dc3d3197cfe7a49074ea48de856de0c9719" + integrity sha512-tAEzZ+84RLxOYqjqPszDs0AvJcs6kH9lNinAF9nZJjZSgUhwY+IAI04fNjw6TPSXRQgurNwiyVTf+J+yx/Ifyw== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.2.tgz#c49821801fa4ce16807e6d00123f30640b369da2" - integrity sha512-X4mgXjTpnKcD9P/QwvneL7lQ+kkSCe88TMvhlotqGsFGL/5HQZtnmCLY67R0X47c8WqyQ2DCzkr87T+8lOEYoQ== +"@angular/platform-server@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.3.tgz#f3cc9c49c56c59be7287f40d6dfadced3bac1593" + integrity sha512-SDR+VIprZdBHEOM40dNFABGRbLCs466G56GaPmw5q2Fgbcnm+zd+6DgLhqpn/mq9hdnjeTp2ivER8m9vtvH+Rw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.2.tgz#204d7b3c45f85c8ce6b15a349fc0b021a6809d00" - integrity sha512-9B80sF6LlmkY7p5jvhbGZihrdvK0lPIBTswPmidku+bKrU6AgdYpMQAmWsPjmRbtvGZZvof4gaMPdSq9BizWvg== +"@angular/router@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.3.tgz#bae31d3a47341796da96ccfd853b6016d4ef17e9" + integrity sha512-Obr0P62m1DVDzHErLRLdNFgjL0/AE7ciwqNc93eBNnOh4OzDqTGCkuoWj1ooHwChmqEjyidFQ1PaHss2uI3uSw== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.2": - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.2.tgz#0c835d1f8707cd9d45f3ac5125e6864210468333" - integrity sha512-s4goiESnArTqQobZwopLQt3JMbD6FPYWquyB0DdKLKXU8cxxknVquXqawU0u+5QacjgeJJx2QsWCgisYTjrNhw== +"@angular/service-worker@15.0.0-next.3": + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.3.tgz#ddadc2110b11cca721c40fced8328b831a4aa1d6" + integrity sha512-hB6c0ZqS8zW/rfDK5YFKn5X7L1seoTpnNAEX1oM8pnmoYBYaxpS14YH9GcfAGxlJ97OLQ0pQwRXrjy0jnirrPQ== dependencies: tslib "^2.3.0" From 4ead45caba08cb0b67dc7df2f6a9b304c75fff7d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 23 Sep 2022 13:44:44 +0000 Subject: [PATCH 0917/1388] feat(@angular-devkit/build-angular): add `ng-server-context` when using app-shell builder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With this change we configure the app-shell builder to set the `ɵSERVER_CONTEXT` private provider. --- .../angular_devkit/build_angular/BUILD.bazel | 4 +-- .../src/builders/app-shell/app-shell_spec.ts | 3 +- .../src/builders/app-shell/index.ts | 31 ++++++++++++------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index d9d738ef6907..848c0072b16c 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -106,6 +106,7 @@ ts_library( "@npm//@angular/compiler-cli", "@npm//@angular/core", "@npm//@angular/localize", + "@npm//@angular/platform-server", "@npm//@angular/service-worker", "@npm//@babel/core", "@npm//@babel/generator", @@ -282,9 +283,6 @@ ts_library( LARGE_SPECS = { "app-shell": { - "extra_deps": [ - "@npm//@angular/platform-server", - ], "tags": [ # TODO: node crashes with an internal error on node16 "node16-broken", diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts index 8b2ba1734e64..592cbbdfe2e8 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts @@ -140,7 +140,8 @@ describe('AppShell Builder', () => { const fileName = 'dist/index.html'; const content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName))); - expect(content).toMatch(/Welcome to app!/); + expect(content).toMatch('Welcome to app'); + expect(content).toMatch('ng-server-context="app-shell"'); }); it('works with route', async () => { diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index 37b1c7cb29e5..84085370c0db 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -13,6 +13,9 @@ import { targetFromTargetString, } from '@angular-devkit/architect'; import { JsonObject } from '@angular-devkit/core'; +import type { Type } from '@angular/core'; +import type * as platformServer from '@angular/platform-server'; +import assert from 'assert'; import * as fs from 'fs'; import * as path from 'path'; import { normalizeOptimization } from '../../utils'; @@ -74,24 +77,28 @@ async function _renderUniversal( localeDirectory, ); - const { AppServerModule, renderModule } = await import(serverBundlePath); + const { AppServerModule, renderModule, ɵSERVER_CONTEXT } = (await import(serverBundlePath)) as { + renderModule: typeof platformServer.renderModule | undefined; + ɵSERVER_CONTEXT: typeof platformServer.ɵSERVER_CONTEXT | undefined; + AppServerModule: Type | undefined; + }; - const renderModuleFn: ((module: unknown, options: {}) => Promise) | undefined = - renderModule; - - if (!(renderModuleFn && AppServerModule)) { - throw new Error( - `renderModule method and/or AppServerModule were not exported from: ${serverBundlePath}.`, - ); - } + assert(renderModule, `renderModule was not exported from: ${serverBundlePath}.`); + assert(AppServerModule, `AppServerModule was not exported from: ${serverBundlePath}.`); + assert(ɵSERVER_CONTEXT, `ɵSERVER_CONTEXT was not exported from: ${serverBundlePath}.`); // Load platform server module renderer - const renderOpts = { + let html = await renderModule(AppServerModule, { document: indexHtml, url: options.route, - }; + extraProviders: [ + { + provide: ɵSERVER_CONTEXT, + useValue: 'app-shell', + }, + ], + }); - let html = await renderModuleFn(AppServerModule, renderOpts); // Overwrite the client index file. const outputIndexPath = options.outputIndexPath ? path.join(root, options.outputIndexPath) From 9c13fce162eff8d01d1fa6a7f0e0029da2887c86 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 23 Sep 2022 18:53:41 +0000 Subject: [PATCH 0918/1388] feat(@angular-devkit/build-angular): remove `bundleDependencies` from server builder This commit removes the usages of `bundleDependencies` which does not correctly work as webpack will use `require` to import ESM module since we configure the server bundle to be outputted in CJS. Migrating fully to ESM is also currently not viable due to the lack of support from Domino. Even if full ESM was possible, using this option would have resulted in a runtime overhead as Angular libraries would be linked during runtime instead of compile time. BREAKING CHANGE: The server builder `bundleDependencies` option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles. The `externalDependencies` option can be used instead to exclude specific node_module packages from the final bundle. Closes #23905 --- .../angular_devkit/build_angular/index.md | 1 - .../src/builders/server/schema.json | 5 -- .../build_angular/src/utils/build-options.ts | 1 - .../src/webpack/configs/common.ts | 12 +-- .../src/webpack/utils/helpers.ts | 25 ------ .../migrations/migration-collection.json | 5 ++ .../update-15/update-workspace-config.ts | 27 ++++++ .../update-15/update-workspace-config_spec.ts | 86 +++++++++++++++++++ .../e2e/tests/build/platform-server.ts | 4 +- .../misc/universal-bundle-dependencies.ts | 66 -------------- 10 files changed, 121 insertions(+), 111 deletions(-) create mode 100644 packages/schematics/angular/migrations/update-15/update-workspace-config.ts create mode 100644 packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts delete mode 100644 tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index e47d0218f21c..a8f748bc8504 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -244,7 +244,6 @@ export interface ProtractorBuilderOptions { // @public (undocumented) export interface ServerBuilderOptions { - bundleDependencies?: boolean; deleteOutputPath?: boolean; // @deprecated deployUrl?: string; diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index f3ce0c52f0cf..283d25363f37 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -181,11 +181,6 @@ "description": "Use file name for lazy loaded chunks.", "default": false }, - "bundleDependencies": { - "description": "Which external dependencies to bundle into the bundle. By default, all of node_modules will be bundled.", - "default": true, - "type": "boolean" - }, "externalDependencies": { "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime.", "type": "array", diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index a986b9786415..49e1212bd2c3 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -41,7 +41,6 @@ export interface BuildOptions { progress?: boolean; localize?: Localize; i18nMissingTranslation?: I18NTranslation; - bundleDependencies?: boolean; externalDependencies?: string[]; watch?: boolean; outputHashing?: OutputHashing; diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index be04758a5bc6..7cbfe39404ec 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -9,7 +9,6 @@ import { AngularWebpackLoaderPath } from '@ngtools/webpack'; import CopyWebpackPlugin from 'copy-webpack-plugin'; import * as path from 'path'; -import { ScriptTarget } from 'typescript'; import { Compiler, Configuration, @@ -37,7 +36,6 @@ import { createIvyPlugin } from '../plugins/typescript'; import { WatchFilesLogsPlugin } from '../plugins/watch-files-logs-plugin'; import { assetPatterns, - externalizePackages, getCacheSettings, getInstrumentationExcludedPaths, getOutputHashFormat, @@ -74,7 +72,6 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise - externalizePackages(context ?? wco.projectRoot, request, callback), - ); - } - let crossOriginLoading: NonNullable['crossOriginLoading'] = false; if (subresourceIntegrity && crossOrigin === 'none') { crossOriginLoading = 'anonymous'; @@ -307,7 +297,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise void, -): void { - if (!request) { - return; - } - - // Absolute & Relative paths are not externals - if (request.startsWith('.') || path.isAbsolute(request)) { - callback(); - - return; - } - - try { - require.resolve(request, { paths: [context] }); - callback(undefined, request); - } catch { - // Node couldn't find it, so it must be user-aliased - callback(); - } -} - export function getStatsOptions(verbose = false): WebpackStatsOptions { const webpackOutputOptions: WebpackStatsOptions = { all: false, // Fallback value for stats options when an option is not defined. It has precedence over local webpack defaults. diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index a19748126b49..d402927d5f6b 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -14,6 +14,11 @@ "version": "15.0.0", "factory": "./update-15/update-typescript-target", "description": "Update TypeScript compiler `target` and set `useDefineForClassFields`. These changes are for IDE purposes as TypeScript compiler options `target` and `useDefineForClassFields` are set to `ES2022` and `false` respectively by the Angular CLI. To control ECMA version and features use the Browerslist configuration." + }, + "update-workspace-config": { + "version": "15.0.0", + "factory": "./update-15/update-workspace-config", + "description": "Remove options from 'angular.json' that are no longer supported by the official builders." } } } diff --git a/packages/schematics/angular/migrations/update-15/update-workspace-config.ts b/packages/schematics/angular/migrations/update-15/update-workspace-config.ts new file mode 100644 index 000000000000..2b8686e8cf5a --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/update-workspace-config.ts @@ -0,0 +1,27 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule } from '@angular-devkit/schematics'; +import { allTargetOptions, updateWorkspace } from '../../utility/workspace'; +import { Builders } from '../../utility/workspace-models'; + +export default function (): Rule { + return updateWorkspace((workspace) => { + for (const project of workspace.projects.values()) { + for (const target of project.targets.values()) { + if (target.builder !== Builders.Server) { + continue; + } + + for (const [, options] of allTargetOptions(target)) { + delete options.bundleDependencies; + } + } + } + }); +} diff --git a/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts b/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts new file mode 100644 index 000000000000..553ad9ef4d43 --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts @@ -0,0 +1,86 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { JsonObject } from '@angular-devkit/core'; +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { + BuilderTarget, + Builders, + ProjectType, + WorkspaceSchema, +} from '../../utility/workspace-models'; + +function getServerTarget(tree: UnitTestTree): BuilderTarget { + const target = (tree.readJson('/angular.json') as unknown as WorkspaceSchema).projects.app + .architect?.server; + + return target as unknown as BuilderTarget; +} + +function createWorkSpaceConfig(tree: UnitTestTree) { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: { + app: { + root: '', + sourceRoot: 'src', + projectType: ProjectType.Application, + prefix: 'app', + architect: { + server: { + builder: Builders.Server, + options: { + main: './server.ts', + bundleDependencies: false, + sourceMaps: true, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any, + configurations: { + one: { + aot: true, + }, + two: { + bundleDependencies: true, + aot: true, + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } as any, + }, + }, + }, + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); +} + +const schematicName = 'update-workspace-config'; + +describe(`Migration to update 'angular.json'. ${schematicName}`, () => { + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + createWorkSpaceConfig(tree); + }); + + it(`should remove 'bundleDependencies'`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { options, configurations } = getServerTarget(newTree); + + expect(options.bundleDependencies).toBeUndefined(); + expect(configurations).toBeDefined(); + expect(configurations?.one.bundleDependencies).toBeUndefined(); + expect(configurations?.two.bundleDependencies).toBeUndefined(); + }); +}); diff --git a/tests/legacy-cli/e2e/tests/build/platform-server.ts b/tests/legacy-cli/e2e/tests/build/platform-server.ts index dd10b7bafd80..7dedb5e06966 100644 --- a/tests/legacy-cli/e2e/tests/build/platform-server.ts +++ b/tests/legacy-cli/e2e/tests/build/platform-server.ts @@ -59,8 +59,8 @@ export default async function () { /Here are some links to help you get started:<\/p>/, ); - // works with optimization and bundleDependencies enabled - await ng('run', 'test-project:server', '--optimization', '--bundle-dependencies'); + // works with optimization + await ng('run', 'test-project:server', '--optimization'); await exec(normalize('node'), 'dist/test-project/server/main.js'); await expectFileToMatch( 'dist/test-project/server/index.html', diff --git a/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts deleted file mode 100644 index 570179b83456..000000000000 --- a/tests/legacy-cli/e2e/tests/misc/universal-bundle-dependencies.ts +++ /dev/null @@ -1,66 +0,0 @@ -import * as path from 'path'; -import { - createDir, - expectFileToMatch, - rimraf, - symlinkFile, - writeMultipleFiles, -} from '../../utils/fs'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; - -export default async function () { - await updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect['server'] = { - builder: '@angular-devkit/build-angular:server', - options: { - bundleDependencies: false, - outputPath: 'dist/test-project-server', - main: 'src/main.server.ts', - tsConfig: 'tsconfig.server.json', - }, - }; - }); - - await createDir('./dummy-lib'); - - await writeMultipleFiles({ - './tsconfig.server.json': ` - { - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../dist-server", - "baseUrl": "./", - "module": "commonjs", - "types": [] - }, - "include": [ - "src/main.server.ts" - ] - } - `, - './src/main.server.ts': ` - import { dummyVersion } from 'dummy-lib'; - console.log(dummyVersion); - `, - // create a dummy library - './dummy-lib/package.json': `{ - "name": "dummy-lib", - "version": "0.0.0", - "typings": "./main.d.ts", - "main": "./main.js" - }`, - './dummy-lib/main.js': 'export const dummyVersion = 1', - './dummy-lib/main.d.ts': 'export declare const dummyVersion = 1', - }); - - await symlinkFile(path.resolve('./dummy-lib'), path.resolve('./node_modules/dummy-lib'), 'dir'); - - await ng('run', 'test-project:server'); - // when preserve symlinks is true, it should not included node_modules in the bundle - await expectFileToMatch('dist/test-project-server/main.js', 'require("dummy-lib")'); - - // cleanup the package - await rimraf('node_modules/dummy-lib'); -} From dbcea96274122db128099967fec3d1ecceafe1ab Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 23 Sep 2022 19:46:16 +0000 Subject: [PATCH 0919/1388] refactor(@angular-devkit/build-angular): simplify how specs are found and loaded Prior to this change specs where found and loaded using Webpack's `require.context` API. The `require.context` is found in the users project `test.ts`. This resulted in a complex and hacky setup especially to filter tests when the `include` builder option is provided, were we had to amend the `test.ts` in memory. With this change we find all the specs files and add them as part of the main entrypoint. Closes #23751 and closes #22531 --- .../{find-tests.ts => find-tests-plugin.ts} | 70 ++++++++++++++++++- .../build_angular/src/builders/karma/index.ts | 59 +++++----------- .../src/builders/karma/schema.json | 1 + .../karma/tests/options/include_spec.ts | 14 ++-- .../src/webpack/configs/common.ts | 2 + .../src/webpack/plugins/karma/karma.ts | 8 +-- .../webpack/plugins/single-test-transform.ts | 57 --------------- .../test/hello-world-app/src/test.ts | 11 --- .../hello-world-lib/projects/lib/src/test.ts | 11 --- .../application/files/src/test.ts.template | 12 ---- .../library/files/src/test.ts.template | 12 ---- 11 files changed, 99 insertions(+), 158 deletions(-) rename packages/angular_devkit/build_angular/src/builders/karma/{find-tests.ts => find-tests-plugin.ts} (55%) delete mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts diff --git a/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts similarity index 55% rename from packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts rename to packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts index 8c3fd18d3acc..256f4506c0c4 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/find-tests.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts @@ -6,15 +6,73 @@ * found in the LICENSE file at https://angular.io/license */ +import assert from 'assert'; import { PathLike, constants, promises as fs } from 'fs'; import glob, { hasMagic } from 'glob'; import { basename, dirname, extname, join, relative } from 'path'; import { promisify } from 'util'; +import type { Compilation, Compiler } from 'webpack'; +import { addError } from '../../utils/webpack-diagnostics'; const globPromise = promisify(glob); +/** + * The name of the plugin provided to Webpack when tapping Webpack compiler hooks. + */ +const PLUGIN_NAME = 'angular-find-tests-plugin'; + +export interface FindTestsPluginOptions { + include?: string[]; + workspaceRoot: string; + projectSourceRoot: string; +} + +export class FindTestsPlugin { + private compilation: Compilation | undefined; + + constructor(private options: FindTestsPluginOptions) {} + + apply(compiler: Compiler): void { + const { include = ['**/*.spec.ts'], projectSourceRoot, workspaceRoot } = this.options; + const webpackOptions = compiler.options; + const entry = + typeof webpackOptions.entry === 'function' ? webpackOptions.entry() : webpackOptions.entry; + + let originalImport: string[] | undefined; + + // Add tests files are part of the entry-point. + webpackOptions.entry = async () => { + const specFiles = await findTests(include, workspaceRoot, projectSourceRoot); + + if (!specFiles.length) { + assert(this.compilation, 'Compilation cannot be undefined.'); + addError( + this.compilation, + `Specified patterns: "${include.join(', ')}" did not match any spec files.`, + ); + } + + const entrypoints = await entry; + const entrypoint = entrypoints['main']; + if (!entrypoint.import) { + throw new Error(`Cannot find 'main' entrypoint.`); + } + + originalImport ??= entrypoint.import; + entrypoint.import = [...originalImport, ...specFiles]; + + return entrypoints; + }; + + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { + this.compilation = compilation; + compilation.contextDependencies.add(projectSourceRoot); + }); + } +} + // go through all patterns and find unique list of files -export async function findTests( +async function findTests( patterns: string[], workspaceRoot: string, projectSourceRoot: string, @@ -37,6 +95,10 @@ async function findMatchingTests( ): Promise { // normalize pattern, glob lib only accepts forward slashes let normalizedPattern = normalizePath(pattern); + if (normalizedPattern.charAt(0) === '/') { + normalizedPattern = normalizedPattern.substring(1); + } + const relativeProjectRoot = normalizePath(relative(workspaceRoot, projectSourceRoot) + '/'); // remove relativeProjectRoot to support relative paths from root @@ -54,12 +116,13 @@ async function findMatchingTests( const fileExt = extname(normalizedPattern); // Replace extension to `.spec.ext`. Example: `src/app/app.component.ts`-> `src/app/app.component.spec.ts` const potentialSpec = join( + projectSourceRoot, dirname(normalizedPattern), `${basename(normalizedPattern, fileExt)}.spec${fileExt}`, ); - if (await exists(join(projectSourceRoot, potentialSpec))) { - return [normalizePath(potentialSpec)]; + if (await exists(potentialSpec)) { + return [potentialSpec]; } } } @@ -68,6 +131,7 @@ async function findMatchingTests( cwd: projectSourceRoot, root: projectSourceRoot, nomount: true, + absolute: true, }); } diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index db58042a8406..d8ca058507d8 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -17,9 +17,8 @@ import { purgeStaleBuildCache } from '../../utils/purge-cache'; import { assertCompatibleAngularVersion } from '../../utils/version'; import { generateBrowserWebpackConfigFromContext } from '../../utils/webpack-browser-config'; import { getCommonConfig, getStylesConfig } from '../../webpack/configs'; -import { SingleTestTransformLoader } from '../../webpack/plugins/single-test-transform'; import { Schema as BrowserBuilderOptions, OutputHashing } from '../browser/schema'; -import { findTests } from './find-tests'; +import { FindTestsPlugin } from './find-tests-plugin'; import { Schema as KarmaBuilderOptions } from './schema'; export type KarmaConfigOptions = ConfigOptions & { @@ -62,10 +61,7 @@ async function initialize( const karma = await import('karma'); - return [ - karma, - webpackConfigurationTransformer ? await webpackConfigurationTransformer(config) : config, - ]; + return [karma, (await webpackConfigurationTransformer?.(config)) ?? config]; } /** @@ -110,45 +106,22 @@ export function execute( } } - // prepend special webpack loader that will transform test.ts - if (options.include?.length) { - const projectName = context.target?.project; - if (!projectName) { - throw new Error('The builder requires a target.'); - } + const projectName = context.target?.project; + if (!projectName) { + throw new Error('The builder requires a target.'); + } - const projectMetadata = await context.getProjectMetadata(projectName); - const sourceRoot = (projectMetadata.sourceRoot ?? projectMetadata.root ?? '') as string; - const projectSourceRoot = path.join(context.workspaceRoot, sourceRoot); + const projectMetadata = await context.getProjectMetadata(projectName); + const sourceRoot = (projectMetadata.sourceRoot ?? projectMetadata.root ?? '') as string; - const files = await findTests(options.include, context.workspaceRoot, projectSourceRoot); - // early exit, no reason to start karma - if (!files.length) { - throw new Error( - `Specified patterns: "${options.include.join(', ')}" did not match any spec files.`, - ); - } - - // Get the rules and ensure the Webpack configuration is setup properly - const rules = webpackConfig.module?.rules || []; - if (!webpackConfig.module) { - webpackConfig.module = { rules }; - } else if (!webpackConfig.module.rules) { - webpackConfig.module.rules = rules; - } - - rules.unshift({ - test: path.resolve(context.workspaceRoot, options.main), - use: { - // cannot be a simple path as it differs between environments - loader: SingleTestTransformLoader, - options: { - files, - logger: context.logger, - }, - }, - }); - } + webpackConfig.plugins ??= []; + webpackConfig.plugins.push( + new FindTestsPlugin({ + include: options.include, + workspaceRoot: context.workspaceRoot, + projectSourceRoot: path.join(context.workspaceRoot, sourceRoot), + }), + ); karmaOptions.buildWebpack = { options, diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index 033b4712ca90..b5e44c9dace5 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -126,6 +126,7 @@ "items": { "type": "string" }, + "default": ["**/*.spec.ts"], "description": "Globs of files to include, relative to workspace or project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead." }, "sourceMap": { diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts index bf0484eb28a6..0d9370b971a4 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts @@ -17,11 +17,15 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { include: ['abc.spec.ts', 'def.spec.ts'], }); - const { error } = await harness.executeOnce({ - outputLogsOnException: false, - }); - expect(error?.message).toBe( - 'Specified patterns: "abc.spec.ts, def.spec.ts" did not match any spec files.', + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + level: 'error', + message: jasmine.stringContaining( + 'Specified patterns: "abc.spec.ts, def.spec.ts" did not match any spec files.', + ), + }), ); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 7cbfe39404ec..dc65d1b85078 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -342,6 +342,8 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise { logger.error(statsErrorsToString(statsJson, { colors: true })); - // Notify potential listeners of the compile error. - emitter.emit('compile_error', { - errors: statsJson.errors?.map((e) => e.message), - }); + if (config.singleRun) { + // Notify potential listeners of the compile error. + emitter.emit('load_error'); + } // Finish Karma run early in case of compilation error. emitter.emit('run_complete', [], { exitCode: 1 }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts deleted file mode 100644 index c3f10ac56dd2..000000000000 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/single-test-transform.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging, tags } from '@angular-devkit/core'; -import { extname } from 'path'; - -export interface SingleTestTransformLoaderOptions { - /* list of paths relative to the entry-point */ - files?: string[]; - logger?: logging.Logger; -} - -export const SingleTestTransformLoader = __filename; - -/** - * This loader transforms the default test file to only run tests - * for some specs instead of all specs. - * It works by replacing the known content of the auto-generated test file: - * const context = require.context('./', true, /\.spec\.ts$/); - * context.keys().map(context); - * with: - * const context = { keys: () => ({ map: (_a) => { } }) }; - * context.keys().map(context); - * So that it does nothing. - * Then it adds import statements for each file in the files options - * array to import them directly, and thus run the tests there. - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export default function loader( - this: import('webpack').LoaderContext, - source: string, -): string { - const { files = [], logger = console } = this.getOptions(); - // signal the user that expected content is not present. - if (!source.includes('require.context(')) { - logger.error(tags.stripIndent`The 'include' option requires that the 'main' file for tests includes the below line: - const context = require.context('./', true, /\.spec\.ts$/); - Arguments passed to require.context are not strict and can be changed.`); - - return source; - } - - const targettedImports = files - .map((path) => `require('./${path.replace('.' + extname(path), '')}');`) - .join('\n'); - - const mockedRequireContext = - 'Object.assign(() => { }, { keys: () => [], resolve: () => undefined });\n'; - source = source.replace(/require\.context\(.*/, mockedRequireContext + targettedImports); - - return source; -} diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts index 149a98c3c157..a1358960f3e7 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts @@ -15,19 +15,8 @@ import { platformBrowserDynamicTesting, } from '@angular/platform-browser-dynamic/testing'; -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - keys(): string[]; - (id: string): T; - }; -}; - // First, initialize the Angular testing environment. getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { errorOnUnknownElements: true, errorOnUnknownProperties: true }); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().forEach(context); diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts index a24258af75ba..88ee02586b8d 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts @@ -16,19 +16,8 @@ import { platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - keys(): string[]; - (id: string): T; - }; -}; - // First, initialize the Angular testing environment. getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { errorOnUnknownElements: true, errorOnUnknownProperties: true }); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().forEach(context); diff --git a/packages/schematics/angular/application/files/src/test.ts.template b/packages/schematics/angular/application/files/src/test.ts.template index cac5aa3ea352..863549a71308 100644 --- a/packages/schematics/angular/application/files/src/test.ts.template +++ b/packages/schematics/angular/application/files/src/test.ts.template @@ -7,20 +7,8 @@ import { platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - (id: string): T; - keys(): string[]; - }; -}; - // First, initialize the Angular testing environment. getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { errorOnUnknownElements: true, errorOnUnknownProperties: true }); - -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().forEach(context); diff --git a/packages/schematics/angular/library/files/src/test.ts.template b/packages/schematics/angular/library/files/src/test.ts.template index 29e4db3829fe..406f37d5a7a5 100644 --- a/packages/schematics/angular/library/files/src/test.ts.template +++ b/packages/schematics/angular/library/files/src/test.ts.template @@ -8,20 +8,8 @@ import { platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - (id: string): T; - keys(): string[]; - }; -}; - // First, initialize the Angular testing environment. getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { errorOnUnknownElements: true, errorOnUnknownProperties: true }); - -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().forEach(context); From 45e39426a9f7b40287bd49a6eec949ac1b8ec2e3 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 23 Sep 2022 23:39:38 +0000 Subject: [PATCH 0920/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 6 +- .../angular_devkit/schematics/package.json | 2 +- yarn.lock | 290 +++++++++--------- 4 files changed, 161 insertions(+), 149 deletions(-) diff --git a/package.json b/package.json index 3d125707a424..576165d3f5d9 100644 --- a/package.json +++ b/package.json @@ -141,9 +141,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.8", - "esbuild-wasm": "0.15.8", - "eslint": "8.23.1", + "esbuild": "0.15.9", + "esbuild-wasm": "0.15.9", + "eslint": "8.24.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -170,7 +170,7 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.26.3", + "magic-string": "0.26.4", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "ng-packagr": "15.0.0-next.2", @@ -190,12 +190,12 @@ "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "18.0.4", + "puppeteer": "18.0.5", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.9", + "sass": "1.55.0", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.7", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 33ed32e8dd76..f1beedd42cd9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.8", + "esbuild-wasm": "0.15.9", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.54.9", + "sass": "1.55.0", "sass-loader": "13.0.2", "semver": "7.3.7", "source-map-loader": "4.0.0", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.8" + "esbuild": "0.15.9" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 24172a78061e..a6ebbb427076 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.2.0", - "magic-string": "0.26.3", + "magic-string": "0.26.4", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/yarn.lock b/yarn.lock index f57b05f75b95..2870faf33c94 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1533,22 +1533,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm@0.15.8": - version "0.15.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.8.tgz#52b094c98e415ec72fab39827c12f2051ac9c550" - integrity sha512-CyEWALmn+no/lbgbAJsbuuhT8s2J19EJGHkeyAwjbFJMrj80KJ9zuYsoAvidPTU7BgBf87r/sgae8Tw0dbOc4Q== - dependencies: - esbuild-wasm "0.15.8" +"@esbuild/android-arm@0.15.9": + version "0.15.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431" + integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ== "@esbuild/linux-loong64@0.15.7": version "0.15.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== -"@esbuild/linux-loong64@0.15.8": - version "0.15.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.8.tgz#d64575fc46bf4eb689352aa9f8a139271b6e1647" - integrity sha512-pE5RQsOTSERCtfZdfCT25wzo7dfhOSlhAXcsZmuvRYhendOv7djcdvtINdnDp2DAjP17WXlBB4nBO6sHLczmsg== +"@esbuild/linux-loong64@0.15.9": + version "0.15.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3" + integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA== "@eslint/eslintrc@^1.3.2": version "1.3.2" @@ -1570,10 +1568,10 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== +"@humanwhocodes/config-array@^0.10.5": + version "0.10.5" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.5.tgz#bb679745224745fff1e9a41961c1d45a49f81c04" + integrity sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -4803,212 +4801,210 @@ esbuild-android-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== -esbuild-android-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.8.tgz#625863e705d4ed32a3b4c0b997dbf9454d50a455" - integrity sha512-bVh8FIKOolF7/d4AMzt7xHlL0Ljr+mYKSHI39TJWDkybVWHdn6+4ODL3xZGHOxPpdRpitemXA1WwMKYBsw8dGw== - dependencies: - esbuild-wasm "0.15.8" +esbuild-android-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0" + integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw== esbuild-android-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== -esbuild-android-arm64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.8.tgz#cd62afe08652ac146014386d3adbe7a9d33db1b0" - integrity sha512-ReAMDAHuo0H1h9LxRabI6gwYPn8k6WiUeyxuMvx17yTrJO+SCnIfNc/TSPFvDwtK9MiyiKG/2dBYHouT/M0BXQ== +esbuild-android-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985" + integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg== esbuild-darwin-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== -esbuild-darwin-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.8.tgz#eb668dc973165f85aefecdca8aa60231acb2f705" - integrity sha512-KaKcGfJ+yto7Fo5gAj3xwxHMd1fBIKatpCHK8znTJLVv+9+NN2/tIPBqA4w5rBwjX0UqXDeIE2v1xJP+nGEXgA== +esbuild-darwin-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4" + integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ== esbuild-darwin-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== -esbuild-darwin-arm64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.8.tgz#91c110daa46074fdfc18f411247ca0d1228aacc3" - integrity sha512-8tjEaBgAKnXCkP7bhEJmEqdG9HEV6oLkF36BrMzpfW2rgaw0c48Zrxe+9RlfeGvs6gDF4w+agXyTjikzsS3izw== +esbuild-darwin-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86" + integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw== esbuild-freebsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== -esbuild-freebsd-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.8.tgz#22270945a9bf9107c340eb73922e122bbe84f8ad" - integrity sha512-jaxcsGHYzn2L0/lffON2WfH4Nc+d/EwozVTP5K2v016zxMb5UQMhLoJzvLgBqHT1SG0B/mO+a+THnJCMVg15zw== +esbuild-freebsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e" + integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A== esbuild-freebsd-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== -esbuild-freebsd-arm64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.8.tgz#0efe2741fbcaa2cfd31b9f94bd3ca7385b68c469" - integrity sha512-2xp2UlljMvX8HExtcg7VHaeQk8OBU0CSl1j18B5CcZmSDkLF9p3utuMXIopG3a08fr9Hv+Dz6+seSXUow/G51w== +esbuild-freebsd-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57" + integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA== esbuild-linux-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== -esbuild-linux-32@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.8.tgz#6fc98659105da5c0d1fedfce3b7b9fa24ebee0d4" - integrity sha512-9u1E54BRz1FQMl86iaHK146+4ID2KYNxL3trLZT4QLLx3M7Q9n4lGG3lrzqUatGR2cKy8c33b0iaCzsItZWkFg== +esbuild-linux-32@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b" + integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg== esbuild-linux-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== -esbuild-linux-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.8.tgz#8e738c926d145cdd4e9bcb2febc96d89dc27dc09" - integrity sha512-4HxrsN9eUzJXdVGMTYA5Xler82FuZUu21bXKN42zcLHHNKCAMPUzD62I+GwDhsdgUBAUj0tRXDdsQHgaP6v0HA== +esbuild-linux-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4" + integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ== esbuild-linux-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== -esbuild-linux-arm64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.8.tgz#a12675e5a56e8ef08dea49da8eed51a87b0e60d6" - integrity sha512-1OCm7Aq0tEJT70PbxmHSGYDLYP8DKH8r4Nk7/XbVzWaduo9beCjGBB+tGZIHK6DdTQ3h00/4Tb/70YMH/bOtKg== +esbuild-linux-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24" + integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ== esbuild-linux-arm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== -esbuild-linux-arm@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.8.tgz#6424da1e8a3ece78681ebee4a70477b40c36ab35" - integrity sha512-7DVBU9SFjX4+vBwt8tHsUCbE6Vvl6y6FQWHAgyw1lybC5gULqn/WnjHYHN2/LJaZRsDBvxWT4msEgwLGq1Wd3Q== +esbuild-linux-arm@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506" + integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ== esbuild-linux-mips64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== -esbuild-linux-mips64le@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.8.tgz#5b39a16272cb4eaaad1f24938c057b19fb5a0ee5" - integrity sha512-yeFoNPVFPEzZvFYBfUQNG2TjGRaCyV1E27OcOg4LOtnGrxb2wA+mkW3luckyv1CEyd00mpAg7UdHx8nlx3ghgA== +esbuild-linux-mips64le@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd" + integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw== esbuild-linux-ppc64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== -esbuild-linux-ppc64le@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.8.tgz#98ea8cfae8227180b45b2d952b2cbb072900944f" - integrity sha512-CEyMMUUNabXibw8OSNmBXhOIGhnjNVl5Lpseiuf00iKN0V47oqDrbo4dsHz1wH62m49AR8iG8wpDlTqfYgKbtg== +esbuild-linux-ppc64le@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9" + integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw== esbuild-linux-riscv64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== -esbuild-linux-riscv64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.8.tgz#6334607025eb449d8dd402d7810721dc15a6210f" - integrity sha512-OCGSOaspMUjexSCU8ZiA0UnV/NiRU+s2vIfEcAQWQ6u32R+2luyfh/4ZaY6jFbylJE07Esc/yRvb9Q5fXuClXA== +esbuild-linux-riscv64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6" + integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA== esbuild-linux-s390x@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== -esbuild-linux-s390x@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.8.tgz#874f1a3507c32cce1d2ce0d2f28ac1496c094eab" - integrity sha512-RHdpdfxRTSrZXZJlFSLazFU4YwXLB5Rgf6Zr5rffqSsO4y9JybgtKO38bFwxZNlDXliYISXN/YROKrG9s7mZQA== +esbuild-linux-s390x@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f" + integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw== esbuild-netbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== -esbuild-netbsd-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.8.tgz#2e03d87ed811400d5d1fa8c7629b9fd97a574231" - integrity sha512-VolFFRatBH09T5QMWhiohAWCOien1R1Uz9K0BRVVTBgBaVBt7eArsXTKxVhUgRf2vwu2c2SXkuP0r7HLG0eozw== +esbuild-netbsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54" + integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw== esbuild-openbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== -esbuild-openbsd-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.8.tgz#8fdbc6399563ac61ff546449e2226a2b1477216c" - integrity sha512-HTAPlg+n4kUeE/isQxlCfsOz0xJGNoT5LJ9oYZWFKABfVf4Ycu7Zlf5ITgOnrdheTkz8JeL/gISIOCFAoOXrSA== +esbuild-openbsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0" + integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A== esbuild-sunos-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== -esbuild-sunos-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.8.tgz#db657b5c09c0c0161d67ddafca1b710a2e7ce96b" - integrity sha512-qMP/jR/FzcIOwKj+W+Lb+8Cfr8GZHbHUJxAPi7DUhNZMQ/6y7sOgRzlOSpRrbbUntrRZh0MqOyDhJ3Gpo6L1QA== +esbuild-sunos-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" + integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== esbuild-wasm@0.15.7, esbuild-wasm@^0.15.0: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== -esbuild-wasm@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.8.tgz#60fb8c5dc1a5538421857a2fa5fbb9eab908dcbb" - integrity sha512-Y7uCl5RNO4URjlemjdx++ukVHEMt5s5AfMWYUnMiK4Sry+pPCvQIctzXq6r6FKCyGKjX6/NGMCqR2OX6aLxj0w== +esbuild-wasm@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.9.tgz#5c20523a1fae7f90f55787108b35fad8a9c9d0dd" + integrity sha512-5ST4pyUZMRnYg/D6zxPxmCovDSPtxHcckLNf8uPU4YkqBr4xsSSkcaijBB5dcy7gu1DqRS0uDaK5j+cZLrtbdg== esbuild-windows-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== -esbuild-windows-32@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.8.tgz#bbb9fe20a8b6bba4428642cacf45a0fb7b2f3783" - integrity sha512-RKR1QHh4iWzjUhkP8Yqi75PPz/KS+b8zw3wUrzw6oAkj+iU5Qtyj61ZDaSG3Qf2vc6hTIUiPqVTqBH0NpXFNwg== +esbuild-windows-32@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df" + integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA== esbuild-windows-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== -esbuild-windows-64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.8.tgz#cedee65505209c8d371d7228b60785c08f43e04d" - integrity sha512-ag9ptYrsizgsR+PQE8QKeMqnosLvAMonQREpLw4evA4FFgOBMLEat/dY/9txbpozTw9eEOYyD3a4cE9yTu20FA== +esbuild-windows-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2" + integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg== esbuild-windows-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== -esbuild-windows-arm64@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.8.tgz#1d75235290bf23a111e6c0b03febd324af115cb1" - integrity sha512-dbpAb0VyPaUs9mgw65KRfQ9rqiWCHpNzrJusoPu+LpEoswosjt/tFxN7cd2l68AT4qWdBkzAjDLRon7uqMeWcg== +esbuild-windows-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" + integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== esbuild@0.15.7, esbuild@^0.15.0: version "0.15.7" @@ -5037,33 +5033,33 @@ esbuild@0.15.7, esbuild@^0.15.0: esbuild-windows-64 "0.15.7" esbuild-windows-arm64 "0.15.7" -esbuild@0.15.8: - version "0.15.8" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.8.tgz#75daa25d03f6dd9cc9355030eba2b93555b42cd4" - integrity sha512-Remsk2dmr1Ia65sU+QasE6svJbsHe62lzR+CnjpUvbZ+uSYo1SitiOWPRfZQkCu82YWZBBKXiD/j0i//XWMZ+Q== +esbuild@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" + integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== optionalDependencies: - "@esbuild/android-arm" "0.15.8" - "@esbuild/linux-loong64" "0.15.8" - esbuild-android-64 "0.15.8" - esbuild-android-arm64 "0.15.8" - esbuild-darwin-64 "0.15.8" - esbuild-darwin-arm64 "0.15.8" - esbuild-freebsd-64 "0.15.8" - esbuild-freebsd-arm64 "0.15.8" - esbuild-linux-32 "0.15.8" - esbuild-linux-64 "0.15.8" - esbuild-linux-arm "0.15.8" - esbuild-linux-arm64 "0.15.8" - esbuild-linux-mips64le "0.15.8" - esbuild-linux-ppc64le "0.15.8" - esbuild-linux-riscv64 "0.15.8" - esbuild-linux-s390x "0.15.8" - esbuild-netbsd-64 "0.15.8" - esbuild-openbsd-64 "0.15.8" - esbuild-sunos-64 "0.15.8" - esbuild-windows-32 "0.15.8" - esbuild-windows-64 "0.15.8" - esbuild-windows-arm64 "0.15.8" + "@esbuild/android-arm" "0.15.9" + "@esbuild/linux-loong64" "0.15.9" + esbuild-android-64 "0.15.9" + esbuild-android-arm64 "0.15.9" + esbuild-darwin-64 "0.15.9" + esbuild-darwin-arm64 "0.15.9" + esbuild-freebsd-64 "0.15.9" + esbuild-freebsd-arm64 "0.15.9" + esbuild-linux-32 "0.15.9" + esbuild-linux-64 "0.15.9" + esbuild-linux-arm "0.15.9" + esbuild-linux-arm64 "0.15.9" + esbuild-linux-mips64le "0.15.9" + esbuild-linux-ppc64le "0.15.9" + esbuild-linux-riscv64 "0.15.9" + esbuild-linux-s390x "0.15.9" + esbuild-netbsd-64 "0.15.9" + esbuild-openbsd-64 "0.15.9" + esbuild-sunos-64 "0.15.9" + esbuild-windows-32 "0.15.9" + esbuild-windows-64 "0.15.9" + esbuild-windows-arm64 "0.15.9" escalade@^3.1.1: version "3.1.1" @@ -5198,13 +5194,13 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.23.1: - version "8.23.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.1.tgz#cfd7b3f7fdd07db8d16b4ac0516a29c8d8dca5dc" - integrity sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg== +eslint@8.24.0: + version "8.24.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" + integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== dependencies: "@eslint/eslintrc" "^1.3.2" - "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/config-array" "^0.10.5" "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" @@ -7425,10 +7421,10 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.3, magic-string@^0.26.0: - version "0.26.3" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" - integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== +magic-string@0.26.4: + version "0.26.4" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.4.tgz#3d057d3d0234c3b179aa3f421b33fe5d8a4044a8" + integrity sha512-e5uXtVJ22aEpK9u1+eQf0fSxHeqwyV19K+uGnlROCxUhzwRip9tBsaMViK/0vC3viyPd5Gtucp3UmEp/Q2cPTQ== dependencies: sourcemap-codec "^1.4.8" @@ -7439,6 +7435,13 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" +magic-string@^0.26.0: + version "0.26.3" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" + integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -9114,10 +9117,10 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@18.0.4: - version "18.0.4" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.0.4.tgz#0fd8840840dde9147e7db4b2a796aa27f3ecf0ee" - integrity sha512-42WMdCu2wJdrkWijox/ZWsgNdv3+H+9xhLmiIl7KZIvDwMJWGz28HMgG1Ey5J6xb8wcwzjF9uI1Iw4UNyXXf5A== +puppeteer@18.0.5: + version "18.0.5" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.0.5.tgz#873223b17b92345182c5b5e8cfbd6f3117f1547d" + integrity sha512-s4erjxU0VtKojPvF+KvLKG6OHUPw7gO2YV1dtOsoryyCbhrs444fXb4QZqGWuTv3V/rgSCUzeixxu34g0ZkSMA== dependencies: cross-fetch "3.1.5" debug "4.3.4" @@ -9683,6 +9686,15 @@ sass@1.54.9, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.55.0: + version "1.55.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" + integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" uid "9c16682e4c9716734432789884f868212f95f563" From 1ab2dff646f87ae5ec803266f6d8c079f96e1970 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Sat, 24 Sep 2022 09:17:17 +0000 Subject: [PATCH 0921/1388] build: setup remote execution through shared command Sets up remote execution through a shared org-wide command. --- .circleci/dynamic_config.yml | 16 +++------------- .circleci/gcp_token | Bin 2352 -> 0 bytes 2 files changed, 3 insertions(+), 13 deletions(-) delete mode 100644 .circleci/gcp_token diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 2d62c578e902..38b26536bf28 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -11,7 +11,7 @@ version: 2.1 orbs: browser-tools: circleci/browser-tools@1.1.3 - devinfra: angular/dev-infra@1.0.2 + devinfra: angular/dev-infra@1.0.7 parameters: snapshot_changed: @@ -136,18 +136,8 @@ commands: type: env_var_name default: CIRCLE_PROJECT_REPONAME steps: - - run: - name: 'Setup bazel RBE remote execution' - command: | - touch .bazelrc.user; - # We need ensure that the same default digest is used for encoding and decoding - # with openssl. Openssl versions might have different default digests which can - # cause decryption failures based on the openssl version. https://stackoverflow.com/a/39641378/4317734 - openssl aes-256-cbc -d -in .circleci/gcp_token -md md5 -k "${<< parameters.key >>}" -out /home/circleci/.gcp_credentials; - sudo bash -c "echo -e 'build --google_credentials=/home/circleci/.gcp_credentials' >> .bazelrc.user"; - # Enable remote builds - sudo bash -c "echo -e 'build --config=remote' >> .bazelrc.user"; - echo "Reading from remote cache for bazel remote jobs."; + - devinfra/setup-bazel-remote-exec: + bazelrc: ./.bazelrc.user install_python: steps: diff --git a/.circleci/gcp_token b/.circleci/gcp_token deleted file mode 100644 index 06773903e8d854c81189f19d5db30380de71c5f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2352 zcmV-03D5RZVQh3|WM5xLFak`XkkRX1|29dfyw?5eewT>mKEM8Y^Z70anA#cpL~ z1w~VTBsjj^dQJy(yTVmnI^_OhHwzHa#{6&wC}E1CCt)D%w#>7qf=HD69$jUp*gdI~ zm>P!IeQihhLi#S!-XOADbRsWWnDggItO(JNx3yOf=YUBI1p^XlS-?6nDYL@H0Qz~z z$Jn%LTX?dV)n!WIcRYgEROMgI?QC8m_nX0~(q^oW^#JFmb#zUw;Fzj$ABYnDK_W&1 zpOCk4wvN_-Vh{jk7>QZ5Z_prIRgu0JwEuug+bG8x%$L@LRJU^kR=~at@x45Ry8(dc zP;1<1mSy(8DZ$j(K(0!>!YF>fMwwk@zv$bp6|!o@q@FY=ZR?y6_;Ui&7RtAzvd`Tr zZ z`GPTuDR~t16Ol`K1@S=_FOs2%`byotftll`B20LV1+~*BzOfYCe2?jR`6HC5$hn?2 zG$ZO?Pk$e$?efB{IJmDz?tI|m-powtB3_QUCc32PiM-9dC=bSXY%|L}1_|u>lMDE( zla#^L7Z-%AW-MvSV9iZ-<-O#2GRoVX%Pwn)#fbjY8CY}Gr9$FV4s?hH+1N@dD4^2a z@uRn_`N!?7t&S1X$ik=(tLQE^TO~`9atvqdr%+5yDwMytvgd$=(bd06Xz60b^PAJa z28uRMJ%MW_0|UBk$gjlDB~p0OC@HL3tSlT~o2-=RcO2A#&F!RH%(f$jO9xGP8thg`u{nFi{q4lrIB}_ir;QOz6fx*%a3D`yZ@fWn#iZNO0hGa2bvSxnm+O%yO{Y+i z_Ql*P@odkEu^JHuyzQ+A^26D1%fjPdnr@MS^$+nLi3FCQ=5U{w7dBi-{O2oAl$LEy zy;WPX#4MqFSb&dQ!E@|vFm)HRCYDSnIy<^Luzy5qtA};U%^x2ivd<26(1NCie^o1U z(ypIdIS(J@WT+VJ{-a8$ouDh;k6=U@yvBYDo=;PP&omT+sWr2=Z zWLa)ELHsDy4q@A_7Uy_rt+$=!Ot>$m^$b&a@471wYi39i`7JZ5!`9PMB50ACwX26u z{$%0>?|sOGXgGEFq(%cX2{D0>{%1Bf3;t39xbyZjp1>}8=NfVtH)k-)?WsH!nNrr( z74_XwRsuBTjM(}C*Mh~eKn+pno?oK{V+N&nGlm30xOW}gzh9CiXD47FE9AV&4t8S= zx$Td>X1wWK70BV_ETQop{n@~KQOe!*mDNZ%Ff|AhhT z5ddSN^CGhAB(pzW)+%EltwIDZ8BGO^+(_f)*`}qaLhw8_hZhimjw?4!5i8kQRLo%& z)mrRARx&BN*>04^9K_n_RF~&|y$P*Dju=z#PRZ(x4aw#`gme7a-Ldgh3S zu@_jM@m$L*7$?JjPvfkHz@(gA;qk1vo3wF@afaZA0!*Z8$@%#Xr5azxQIs}}^0fEm zMBd@shSZHW93?Lr+-#;n#+zh7bggosPF9#b@^Vze>efjmXz)X(zA)}VsM+IBam{p zcqPe!Lup`?$yrC0@5pXQ@*cTnx}oGlmCxO>DS6jJnK&s{;I%Cp`Zt=x7=K< zYyz&i+qBY@OEa6H=}MO^kf1%y&5}-4?5h+m{&9QHpym=AAt%BmIrY+lf*RVrT-`I6jx!>IXBaaKBC$H From 7ea2608f8b3542214fbc1681014128ef781a042d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 25 Sep 2022 13:16:19 +0000 Subject: [PATCH 0922/1388] build: update angular to f547c40 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c84d85b87213..e4b14b6d954f 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@989b9f572138afc4d89d7489cc19a39919b056ef + - uses: angular/dev-infra/github-actions/commit-message-based-labels@dbe78a59d7b9b93dbb3d85de1096982568156620 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@989b9f572138afc4d89d7489cc19a39919b056ef + - uses: angular/dev-infra/github-actions/post-approval-changes@dbe78a59d7b9b93dbb3d85de1096982568156620 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index b323259740c2..ea2365020ddb 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@989b9f572138afc4d89d7489cc19a39919b056ef + - uses: angular/dev-infra/github-actions/feature-request@dbe78a59d7b9b93dbb3d85de1096982568156620 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 49f61827c183..7f336c928303 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@989b9f572138afc4d89d7489cc19a39919b056ef + - uses: angular/dev-infra/github-actions/lock-closed@dbe78a59d7b9b93dbb3d85de1096982568156620 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 576165d3f5d9..6bd49609d721 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45eb138d11717825be793d6ccc9820f0e771bf0a", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f16e4a67c021baa8770fb785e9488d1c516e2eb7", "@angular/cdk": "14.2.2", "@angular/common": "15.0.0-next.3", "@angular/compiler": "15.0.0-next.3", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.3", "@angular/localize": "15.0.0-next.3", "@angular/material": "14.2.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#590095872509df3bc23bc2f0608c8386fee7c30c", "@angular/platform-browser": "15.0.0-next.3", "@angular/platform-browser-dynamic": "15.0.0-next.3", "@angular/platform-server": "15.0.0-next.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 953fcd482b99..ebf31bbe0356 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#3b6c75347591c4864e5e75cc5d13183460cc223e", - "@angular/cdk": "github:angular/cdk-builds#03740d9cf287be2151e9c30c6adb4ac1e3a2408d", - "@angular/common": "github:angular/common-builds#4c175f67bd0336df418af19203056471a5732af6", - "@angular/compiler": "github:angular/compiler-builds#b39a85d95153ea30c765e6298eb3eea37932aa89", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#5741cf24c884597a3c60f7b94bee7dc3b930412c", - "@angular/core": "github:angular/core-builds#67544918f831ac24120a477615e0f4a9781bcc43", - "@angular/forms": "github:angular/forms-builds#2a738e006c74bd48f7ff8ed2982a6bf252feae3e", - "@angular/language-service": "github:angular/language-service-builds#f5ae29681e3e626b1876df5c0e078d6526c97a56", - "@angular/localize": "github:angular/localize-builds#07f59d8367164a29f754516de4d8bf6b692bac0b", - "@angular/material": "github:angular/material-builds#9ce06ce16ec3d2947abac177b94f60f571ff0c7b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1476ae5244b21baecdcb1185bf78e30d282eba5c", - "@angular/platform-browser": "github:angular/platform-browser-builds#d10ab8a01f968ec2206bbeeedf3894ee5ad132cd", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#70a1caf3e4c1c832018e6aad600e275806b2c14e", - "@angular/platform-server": "github:angular/platform-server-builds#50c534abfba3c4600744434a28f0df73ce829e06", - "@angular/router": "github:angular/router-builds#9f75324a54c93ebcb4509caef7d773a0353a8d90", - "@angular/service-worker": "github:angular/service-worker-builds#68c6342e7e1bc5c769a01c059e310f1adf106496" + "@angular/animations": "github:angular/animations-builds#f547c405441f10da7c50278abf5a22b5ddf53218", + "@angular/cdk": "github:angular/cdk-builds#6d46f7406646342920d836e229c64aa5bc36495c", + "@angular/common": "github:angular/common-builds#eb341921406d5f1fd529af42e15a2ea55310972b", + "@angular/compiler": "github:angular/compiler-builds#7002df0327ed4d6d752b549f17096afecb865fd0", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#aa033bd439fa5d96b07249c295ec38eaf379d27d", + "@angular/core": "github:angular/core-builds#24af6a5f1a5cf16ad8b4dce7002ec38021b66898", + "@angular/forms": "github:angular/forms-builds#6657165fb9ececdbf6d0cf66ec7e6e8767ad3616", + "@angular/language-service": "github:angular/language-service-builds#fc14e05eb307878f93e92cab054d122944d9328a", + "@angular/localize": "github:angular/localize-builds#ebd36d3f2907395d6924d5c02073cd294ccd3396", + "@angular/material": "github:angular/material-builds#1c7be1e8afffb3f85b6c39b809972f5ec9eb6f0f", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#763d12ba2ab6f66e075e5c0061f24d7685f3f741", + "@angular/platform-browser": "github:angular/platform-browser-builds#d4a8ca54239b3ccde2759f5fdd555362930b0b30", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9fd1ac05e1189f7826788da1c24fe3feb84d869f", + "@angular/platform-server": "github:angular/platform-server-builds#9f295480e42816c21928ffe88142bcfc43df4af4", + "@angular/router": "github:angular/router-builds#30d09ac8172792a7dec245631cb23335bca309cc", + "@angular/service-worker": "github:angular/service-worker-builds#d3d86aa50f36f8a6ca27a12d759d8f0d13aa39cc" } } diff --git a/yarn.lock b/yarn.lock index 2870faf33c94..54241dbdadea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#45eb138d11717825be793d6ccc9820f0e771bf0a": - version "0.0.0-989b9f572138afc4d89d7489cc19a39919b056ef" - uid "45eb138d11717825be793d6ccc9820f0e771bf0a" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45eb138d11717825be793d6ccc9820f0e771bf0a" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f16e4a67c021baa8770fb785e9488d1c516e2eb7": + version "0.0.0-dbe78a59d7b9b93dbb3d85de1096982568156620" + uid f16e4a67c021baa8770fb785e9488d1c516e2eb7 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f16e4a67c021baa8770fb785e9488d1c516e2eb7" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" @@ -241,10 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26": - version "0.0.0-989b9f572138afc4d89d7489cc19a39919b056ef" - uid "0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0cb02ba1aa76c7071c5046fb068b64bf6d6b3d26" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#590095872509df3bc23bc2f0608c8386fee7c30c": + version "0.0.0-dbe78a59d7b9b93dbb3d85de1096982568156620" + uid "590095872509df3bc23bc2f0608c8386fee7c30c" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#590095872509df3bc23bc2f0608c8386fee7c30c" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From b8a4c02ffe8feea1009d9f7826c88cfd7831ea72 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 26 Sep 2022 09:08:07 +0000 Subject: [PATCH 0923/1388] build: lock file maintenance (cherry picked from commit c17fb9602ca6d325c1e85ecfc3bff01c355d3606) --- yarn.lock | 159 ++++++++++++++++++++++++++---------------------------- 1 file changed, 75 insertions(+), 84 deletions(-) diff --git a/yarn.lock b/yarn.lock index 54241dbdadea..51800512de90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -212,9 +212,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "14.2.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.2.tgz#7fe8afc0ea11cb0798359ee7902f377fd6b3a888" - integrity sha512-kG30b4RqjgWvaH9y4g95JRCzoROV+9/xgFH4hSRejFa/IcapMfvCmONJtJzwTjdsEUQAbiFohF/z9bx3QA/Yvw== + version "14.2.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.3.tgz#a958687cf3bcc1a0af2c1f0791af20d4ed31c931" + integrity sha512-neW2n5Ts2purYEVh0Lf207otZbhYH4C4lwwu8ffxdRiXahQiTCbmyM3IQFrQZbLDb/ZeD2KhoCl6p0hlyg14cA== dependencies: tslib "^2.3.0" @@ -1423,9 +1423,9 @@ "@jridgewell/trace-mapping" "0.3.9" "@csstools/postcss-cascade-layers@^1.0.6": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.0.tgz#05a820357aac0de097b4acac43f85a55973220e7" - integrity sha512-XpA7g2KViA2ia23A5kZ/EQw+Sy308kLbvMlDPjFZmojwaJ9DYdJuwujFcDGK9v1QhHRmMEHbV2brVSQSLkN/7A== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" + integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== dependencies: "@csstools/selector-specificity" "^2.0.2" postcss-selector-parser "^6.0.10" @@ -2106,9 +2106,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.18.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.1.tgz#ce5e2c8c272b99b7a9fd69fa39f0b4cd85028bd9" - integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== + version "7.18.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" + integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== dependencies: "@babel/types" "^7.3.0" @@ -2342,9 +2342,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.7.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" - integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== + version "18.7.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.21.tgz#63ee6688070e456325b6748dc492a7b948593871" + integrity sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA== "@types/node@12.20.24": version "12.20.24" @@ -2362,9 +2362,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.29" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.29.tgz#a0c58d67a42f8953c13d32f0acda47ed26dfce40" - integrity sha512-LhF+9fbIX4iPzhsRLpK5H7iPdvW8L4IwGciXQIOEcuF62+9nw/VQVsOViAOOGxY3OlOKGLFv0sWwJXdwQeTn6A== + version "14.18.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.30.tgz#34c8d934fe86b6ee5c21c08fc1b7858599c84a5a" + integrity sha512-8OEyg4oc/CqN5+LbInKNLA8MfbGzbC+k8lVPePXazuwEVrVeQ9gwMDX00HJwWbC7syc1FWRU6Mow0Lm+mibHAQ== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2600,9 +2600,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526" - integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== dependencies: "@types/yargs-parser" "*" @@ -3235,7 +3235,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.12: +autoprefixer@10.4.12, autoprefixer@^10.4.8: version "10.4.12" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== @@ -3247,18 +3247,6 @@ autoprefixer@10.4.12: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -autoprefixer@^10.4.8: - version "10.4.11" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.11.tgz#835136aff1d9cd43640151e0d2dba00f8eac7c1c" - integrity sha512-5lHp6DgRodxlBLSkzHOTcufWFflH1ewfy2hvFQyjrblBFlP/0Yh4O/Wrg4ow8WRlN3AAUFFLAQwX8hTptzqVHg== - dependencies: - browserslist "^4.21.3" - caniuse-lite "^1.0.30001399" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3683,15 +3671,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001399, caniuse-lite@^1.0.30001400: - version "1.0.30001402" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz#aa29e1f47f5055b0d0c07696a67b8b08023d14c8" - integrity sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew== - -caniuse-lite@^1.0.30001407: - version "1.0.30001407" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001407.tgz#92281a6ee67cb90bfd8a6a1201fcc2dc19b60a15" - integrity sha512-4ydV+t4P7X3zH83fQWNDX/mQEzYomossfpViCOx9zHBSMV+rIe3LFqglHHtVyvNl1FhTNxPxs3jei82iqOW04w== +caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: + version "1.0.30001412" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz#30f67d55a865da43e0aeec003f073ea8764d5d7c" + integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== caseless@~0.12.0: version "0.12.0" @@ -4078,11 +4061,11 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.25.1: - version "3.25.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.1.tgz#6f13a90de52f89bbe6267e5620a412c7f7ff7e42" - integrity sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw== + version "3.25.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.3.tgz#d6a442a03f4eade4555d4e640e6a06151dd95d38" + integrity sha512-xVtYpJQ5grszDHEUU9O7XbjjcZ0ccX3LgQsyqSvTnjX97ZqEgn9F5srmrwwwMtbKzDllyFPL+O+2OFMl1lU4TQ== dependencies: - browserslist "^4.21.3" + browserslist "^4.21.4" core-util-is@1.0.2: version "1.0.2" @@ -4581,9 +4564,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.251: - version "1.4.254" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz#c6203583890abf88dfc0be046cd72d3b48f8beb6" - integrity sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q== + version "1.4.262" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.262.tgz#25715dfbae4c2e0640517cba184715241ecd8e63" + integrity sha512-Ckn5haqmGh/xS8IbcgK3dnwAVnhDyo/WQnklWn6yaMucYTq7NNxwlGE8ElzEOnonzRLzUCo2Ot3vUb2GYUF2Hw== emoji-regex@^8.0.0: version "8.0.0" @@ -4699,21 +4682,21 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" - integrity sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ== + version "1.20.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.3.tgz#90b143ff7aedc8b3d189bcfac7f1e3e3f81e9da1" + integrity sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" - get-intrinsic "^1.1.2" + get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" has "^1.0.3" has-property-descriptors "^1.0.0" has-symbols "^1.0.3" internal-slot "^1.0.3" - is-callable "^1.2.4" + is-callable "^1.2.6" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" @@ -4723,6 +4706,7 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 object-keys "^1.1.1" object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" string.prototype.trimend "^1.0.5" string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" @@ -4966,12 +4950,12 @@ esbuild-sunos-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== -esbuild-wasm@0.15.7, esbuild-wasm@^0.15.0: +esbuild-wasm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== -esbuild-wasm@0.15.9: +esbuild-wasm@0.15.9, esbuild-wasm@^0.15.0: version "0.15.9" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.9.tgz#5c20523a1fae7f90f55787108b35fad8a9c9d0dd" integrity sha512-5ST4pyUZMRnYg/D6zxPxmCovDSPtxHcckLNf8uPU4YkqBr4xsSSkcaijBB5dcy7gu1DqRS0uDaK5j+cZLrtbdg== @@ -5006,7 +4990,7 @@ esbuild-windows-arm64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== -esbuild@0.15.7, esbuild@^0.15.0: +esbuild@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== @@ -5033,7 +5017,7 @@ esbuild@0.15.7, esbuild@^0.15.0: esbuild-windows-64 "0.15.7" esbuild-windows-arm64 "0.15.7" -esbuild@0.15.9: +esbuild@0.15.9, esbuild@^0.15.0: version "0.15.9" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== @@ -5754,7 +5738,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== @@ -6388,10 +6372,10 @@ is-builtin-module@^3.1.0: dependencies: builtin-modules "^3.3.0" -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.6" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.6.tgz#fd6170b0b8c7e2cc73de342ef8284a2202023c44" - integrity sha512-krO72EO2NptOGAX2KYyqbP9vYMlNAXdB53rq6f8LXY6RY7JdSR/3BD6wLUlPHSAesmY9vstNrjvqGaCiRK/91Q== +is-callable@^1.1.4, is-callable@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-cidr@^4.0.2: version "4.0.2" @@ -6996,9 +6980,9 @@ karma-source-map-support@1.4.0: source-map-support "^0.5.5" karma@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.0.tgz#82652dfecdd853ec227b74ed718a997028a99508" - integrity sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w== + version "6.4.1" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.1.tgz#f2253716dd3a41aaa813fa9f54b6ee047e1127d9" + integrity sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -7421,7 +7405,7 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.4: +magic-string@0.26.4, magic-string@^0.26.0: version "0.26.4" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.4.tgz#3d057d3d0234c3b179aa3f421b33fe5d8a4044a8" integrity sha512-e5uXtVJ22aEpK9u1+eQf0fSxHeqwyV19K+uGnlROCxUhzwRip9tBsaMViK/0vC3viyPd5Gtucp3UmEp/Q2cPTQ== @@ -7435,13 +7419,6 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.26.0: - version "0.26.3" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" - integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -9610,9 +9587,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.70.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.0.tgz#9177992c9f09eb58c5e56cbfa641607a12b57ce2" - integrity sha512-x4KsrCgwQ7ZJPcFA/SUu6QVcYlO7uRLfLAy0DSA4NS2eG8japdbpM50ToH7z4iObodRYOJ0soneF0iaQRJ6zhA== + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: fsevents "~2.3.2" @@ -9648,9 +9625,9 @@ rxjs@^5.5.6: symbol-observable "1.0.1" rxjs@^7.5.5: - version "7.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== + version "7.5.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" + integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== dependencies: tslib "^2.1.0" @@ -9664,6 +9641,15 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -9677,7 +9663,7 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" -sass@1.54.9, sass@^1.49.9: +sass@1.54.9: version "1.54.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" integrity sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q== @@ -9686,7 +9672,7 @@ sass@1.54.9, sass@^1.49.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.55.0: +sass@1.55.0, sass@^1.49.9: version "1.55.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== @@ -10785,9 +10771,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.17.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85" - integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg== + version "3.17.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.2.tgz#f55f668b9a64b213977ae688703b6bbb7ca861c6" + integrity sha512-bbxglRjsGQMchfvXZNusUcYgiB9Hx2K4AHYXQy2DITZ9Rd+JzhX7+hoocE5Winr7z2oHvPsekkBwXtigvxevXg== unbox-primitive@^1.0.2: version "1.0.2" @@ -11407,11 +11393,16 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.8.1, ws@>=8.7.0, ws@^8.4.2: +ws@8.8.1: version "8.8.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== +ws@>=8.7.0, ws@^8.4.2: + version "8.9.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" + integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== + ws@^7.4.6: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" From aeb52338b30d1030b7d370a3414cad12228b488f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Sep 2022 09:33:28 +0000 Subject: [PATCH 0924/1388] test: update schematics API golden file --- goldens/public-api/angular_devkit/schematics/tasks/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/tasks/index.md b/goldens/public-api/angular_devkit/schematics/tasks/index.md index 8b25367a822a..4864c6fc35d7 100644 --- a/goldens/public-api/angular_devkit/schematics/tasks/index.md +++ b/goldens/public-api/angular_devkit/schematics/tasks/index.md @@ -4,8 +4,6 @@ ```ts -/// - // @public (undocumented) export class NodePackageInstallTask implements TaskConfigurationGenerator { constructor(workingDirectory?: string); From 2624d8941f1ee1453c805d7229c262e7c0af7078 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Tue, 16 Aug 2022 17:21:29 -0700 Subject: [PATCH 0925/1388] test: run e2e tests on pre-compiled packages The NPM packages being tested must be pre-compiled and the tar packages specified via --package. This way the real packages such as snapshots, release artifacts or cached packages can be tested. Previously the e2e tests compiled and packaged during test execution. --- .circleci/dynamic_config.yml | 8 +++- docs/DEVELOPER.md | 4 +- lib/BUILD.bazel | 12 ------ package.json | 1 + .../legacy-cli/e2e/setup/010-local-publish.ts | 40 ++++++++++--------- tests/legacy-cli/e2e/tests/update/update.ts | 4 +- tests/legacy-cli/e2e/utils/BUILD.bazel | 3 +- tests/legacy-cli/e2e/utils/packages.ts | 6 +++ tests/legacy-cli/e2e/utils/project.ts | 13 ++++-- tests/legacy-cli/e2e/utils/tar.ts | 39 ++++++++++++++++++ tests/legacy-cli/e2e_runner.ts | 34 +++++++++++++++- yarn.lock | 15 +++++++ 12 files changed, 138 insertions(+), 41 deletions(-) delete mode 100644 lib/BUILD.bazel create mode 100644 tests/legacy-cli/e2e/utils/tar.ts diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 38b26536bf28..c924383532d8 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -264,7 +264,7 @@ jobs: # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests # too early without Saucelabs not being ready. - run: ./scripts/saucelabs/wait-for-tunnel.sh - - run: node ./tests/legacy-cli/run_e2e ./tests/legacy-cli/e2e/tests/misc/browsers.ts + - run: node ./tests/legacy-cli/run_e2e --glob="tests/misc/browsers.ts" - run: ./scripts/saucelabs/stop-tunnel.sh - fail_fast @@ -273,6 +273,10 @@ jobs: steps: - custom_attach_workspace - run: yarn build + - persist_to_workspace: + root: *workspace_location + paths: + - dist/_*.tgz build-bazel-e2e: executor: action-executor @@ -376,6 +380,8 @@ jobs: # Path where Arsenal Image Mounter files are downloaded. # Must match path in .circleci/win-ram-disk.ps1 - ./aim + # Build the npm packages for the e2e tests + - run: yarn build # Run partial e2e suite on PRs only. Release branches will run the full e2e suite. - run: name: Execute E2E Tests diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index ab0ba45a46c9..496d354f30c8 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -82,8 +82,10 @@ You can find more info about debugging [tests with Bazel in the docs.](https://g ### End to end tests -- Run: `node tests/legacy-cli/run_e2e.js` +- Compile the packages being tested: `yarn build` +- Run all tests: `node tests/legacy-cli/run_e2e.js` - Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` +- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz ...` When running the debug commands, Node will stop and wait for a debugger to attach. You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a diff --git a/lib/BUILD.bazel b/lib/BUILD.bazel deleted file mode 100644 index 6f80a75580f2..000000000000 --- a/lib/BUILD.bazel +++ /dev/null @@ -1,12 +0,0 @@ -load("//tools:defaults.bzl", "ts_library") - -ts_library( - name = "lib", - srcs = ["packages.ts"], - visibility = ["//visibility:public"], - deps = [ - "//packages/angular_devkit/core", - "@npm//@types/node", - "@npm//typescript", - ], -) diff --git a/package.json b/package.json index 6bd49609d721..50ebde2cf93f 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "@types/progress": "^2.0.3", "@types/resolve": "^1.17.1", "@types/semver": "^7.3.12", + "@types/tar": "^6.1.2", "@types/text-table": "^0.2.1", "@types/uuid": "^8.0.0", "@types/yargs": "^17.0.8", diff --git a/tests/legacy-cli/e2e/setup/010-local-publish.ts b/tests/legacy-cli/e2e/setup/010-local-publish.ts index e13665c6adae..44f70161f4f6 100644 --- a/tests/legacy-cli/e2e/setup/010-local-publish.ts +++ b/tests/legacy-cli/e2e/setup/010-local-publish.ts @@ -1,26 +1,30 @@ import { getGlobalVariable } from '../utils/env'; +import { PkgInfo } from '../utils/packages'; import { globalNpm, extractNpmEnv } from '../utils/process'; import { isPrereleaseCli } from '../utils/project'; export default async function () { const testRegistry: string = getGlobalVariable('package-registry'); - await globalNpm( - [ - 'run', - 'admin', - '--', - 'publish', - '--no-versionCheck', - '--no-branchCheck', - `--registry=${testRegistry}`, - '--tag', - isPrereleaseCli() ? 'next' : 'latest', - ], - { - ...extractNpmEnv(), - // Also set an auth token value for the local test registry which is required by npm 7+ - // even though it is never actually used. - 'NPM_CONFIG__AUTH': 'e2e-testing', - }, + const packageTars: PkgInfo[] = Object.values(getGlobalVariable('package-tars')); + + // Publish packages specified with --package + await Promise.all( + packageTars.map(({ path: p }) => + globalNpm( + [ + 'publish', + `--registry=${testRegistry}`, + '--tag', + isPrereleaseCli() ? 'next' : 'latest', + p, + ], + { + ...extractNpmEnv(), + // Also set an auth token value for the local test registry which is required by npm 7+ + // even though it is never actually used. + 'NPM_CONFIG__AUTH': 'e2e-testing', + }, + ), + ), ); } diff --git a/tests/legacy-cli/e2e/tests/update/update.ts b/tests/legacy-cli/e2e/tests/update/update.ts index 989d5910fe60..72acc819cc30 100644 --- a/tests/legacy-cli/e2e/tests/update/update.ts +++ b/tests/legacy-cli/e2e/tests/update/update.ts @@ -4,7 +4,7 @@ import { createProjectFromAsset } from '../../utils/assets'; import { expectFileMatchToExist, readFile } from '../../utils/fs'; import { getActivePackageManager } from '../../utils/packages'; import { ng, noSilentNg } from '../../utils/process'; -import { isPrereleaseCli, useCIChrome, useCIDefaults, NgCLIVersion } from '../../utils/project'; +import { isPrereleaseCli, useCIChrome, useCIDefaults, getNgCLIVersion } from '../../utils/project'; export default async function () { let restoreRegistry: (() => Promise) | undefined; @@ -32,7 +32,7 @@ export default async function () { const cliMajorProjectVersion = new SemVer(cliVersion).major; // CLI current version. - const cliMajorVersion = NgCLIVersion.major; + const cliMajorVersion = getNgCLIVersion().major; for (let version = cliMajorProjectVersion + 1; version < cliMajorVersion; version++) { // Run all the migrations until the current build major version - 1. diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel index 6b3e9e6329af..7a242b4bd137 100644 --- a/tests/legacy-cli/e2e/utils/BUILD.bazel +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -6,11 +6,11 @@ ts_library( srcs = glob(["**/*.ts"]), visibility = ["//visibility:public"], deps = [ - "//lib", "//tests/legacy-cli/e2e/ng-snapshot", "@npm//@types/glob", "@npm//@types/node-fetch", "@npm//@types/semver", + "@npm//@types/tar", "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//glob", @@ -19,6 +19,7 @@ ts_library( "@npm//puppeteer", "@npm//rxjs", "@npm//semver", + "@npm//tar", "@npm//tree-kill", "@npm//verdaccio", "@npm//verdaccio-auth-memory", diff --git a/tests/legacy-cli/e2e/utils/packages.ts b/tests/legacy-cli/e2e/utils/packages.ts index c666b097ad16..20313d194cbb 100644 --- a/tests/legacy-cli/e2e/utils/packages.ts +++ b/tests/legacy-cli/e2e/utils/packages.ts @@ -1,6 +1,12 @@ import { getGlobalVariable } from './env'; import { ProcessOutput, silentNpm, silentYarn } from './process'; +export interface PkgInfo { + readonly name: string; + readonly version: string; + readonly path: string; +} + export function getActivePackageManager(): 'npm' | 'yarn' { const value = getGlobalVariable('package-manager'); if (value && value !== 'npm' && value !== 'yarn') { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 22e7d7892035..b360ebdf2bc0 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -2,12 +2,11 @@ import * as fs from 'fs'; import * as path from 'path'; import { prerelease, SemVer } from 'semver'; import yargsParser from 'yargs-parser'; -import { packages } from '../../../../lib/packages'; import { getGlobalVariable } from './env'; import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; import { findFreePort } from './network'; -import { installWorkspacePackages } from './packages'; +import { installWorkspacePackages, PkgInfo } from './packages'; import { exec, execAndWaitForOutputToMatch, git, ng } from './process'; export function updateJsonFile(filePath: string, fn: (json: any) => any | void) { @@ -96,6 +95,8 @@ export async function prepareProjectForE2e(name: string) { } export function useBuiltPackagesVersions(): Promise { + const packages: { [name: string]: PkgInfo } = getGlobalVariable('package-tars'); + return updateJsonFile('package.json', (json) => { json['dependencies'] ??= {}; json['devDependencies'] ??= {}; @@ -221,8 +222,12 @@ export async function useCIChrome(projectDir: string = ''): Promise { } } -export const NgCLIVersion = new SemVer(packages['@angular/cli'].version); +export function getNgCLIVersion(): SemVer { + const packages: { [name: string]: PkgInfo } = getGlobalVariable('package-tars'); + + return new SemVer(packages['@angular/cli'].version); +} export function isPrereleaseCli(): boolean { - return (prerelease(NgCLIVersion)?.length ?? 0) > 0; + return (prerelease(getNgCLIVersion())?.length ?? 0) > 0; } diff --git a/tests/legacy-cli/e2e/utils/tar.ts b/tests/legacy-cli/e2e/utils/tar.ts new file mode 100644 index 000000000000..9c5fbdb0406e --- /dev/null +++ b/tests/legacy-cli/e2e/utils/tar.ts @@ -0,0 +1,39 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import fs from 'fs'; +import { normalize } from 'path'; +import { Parse } from 'tar'; + +/** + * Extract and return the contents of a single file out of a tar file. + * + * @param tarball the tar file to extract from + * @param filePath the path of the file to extract + * @returns the Buffer of file or an error on fs/tar error or file not found + */ +export async function extractFile(tarball: string, filePath: string): Promise { + return new Promise((resolve, reject) => { + fs.createReadStream(tarball) + .pipe( + new Parse({ + strict: true, + filter: (p) => normalize(p) === normalize(filePath), + // TODO: @types/tar 'entry' does not have ReadEntry.on + onentry: (entry: any) => { + const chunks: Buffer[] = []; + + entry.on('data', (chunk: any) => chunks!.push(chunk)); + entry.on('error', reject); + entry.on('finish', () => resolve(Buffer.concat(chunks!))); + }, + }), + ) + .on('close', () => reject(`${tarball} does not contain ${filePath}`)); + }); +} diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index d0beca151b94..6cbc0b3b63b8 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -10,6 +10,9 @@ import { createNpmRegistry } from './e2e/utils/registry'; import { launchTestProcess } from './e2e/utils/process'; import { join } from 'path'; import { findFreePort } from './e2e/utils/network'; +import { extractFile } from './e2e/utils/tar'; +import { realpathSync } from 'fs'; +import { PkgInfo } from './e2e/utils/packages'; Error.stackTraceLimit = Infinity; @@ -34,6 +37,8 @@ Error.stackTraceLimit = Infinity; * --shard Index of this processes' shard. * --tmpdir=path Override temporary directory to use for new projects. * --yarn Use yarn as package manager. + * --package=path An npm package to be published before running tests + * * If unnamed flags are passed in, the list of tests will be filtered to include only those passed. */ const argv = yargsParser(process.argv.slice(2), { @@ -49,10 +54,14 @@ const argv = yargsParser(process.argv.slice(2), { ], string: ['devkit', 'glob', 'ignore', 'reuse', 'ng-tag', 'tmpdir', 'ng-version'], number: ['nb-shards', 'shard'], + array: ['package'], configuration: { 'dot-notation': false, 'camel-case-expansion': false, }, + default: { + 'package': ['./dist/_*.tgz'], + }, }); /** @@ -162,10 +171,11 @@ console.log(['Tests:', ...testsToRun].join('\n ')); setGlobalVariable('argv', argv); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -Promise.all([findFreePort(), findFreePort()]) - .then(async ([httpPort, httpsPort]) => { +Promise.all([findFreePort(), findFreePort(), findPackageTars()]) + .then(async ([httpPort, httpsPort, packageTars]) => { setGlobalVariable('package-registry', 'http://localhost:' + httpPort); setGlobalVariable('package-secure-registry', 'http://localhost:' + httpsPort); + setGlobalVariable('package-tars', packageTars); // NPM registries for the lifetime of the test execution const registryProcess = await createNpmRegistry(httpPort, httpPort); @@ -308,3 +318,23 @@ function printFooter(testName: string, type: 'setup' | 'initializer' | 'test', s ); console.log(''); } + +// Collect the packages passed as arguments and return as {package-name => pkg-path} +async function findPackageTars(): Promise<{ [pkg: string]: PkgInfo }> { + const pkgs: string[] = (getGlobalVariable('argv').package as string[]).flatMap((p) => + glob.sync(p, { realpath: true }), + ); + + const pkgJsons = await Promise.all(pkgs.map((pkg) => extractFile(pkg, './package/package.json'))); + + return pkgs.reduce((all, pkg, i) => { + const json = pkgJsons[i].toString('utf8'); + const { name, version } = JSON.parse(json); + if (!name) { + throw new Error(`Package ${pkg} - package.json name/version not found`); + } + + all[name] = { path: realpathSync(pkg), name, version }; + return all; + }, {} as { [pkg: string]: PkgInfo }); +} diff --git a/yarn.lock b/yarn.lock index 51800512de90..2a70252e2e9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2537,6 +2537,14 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== +"@types/tar@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@types/tar/-/tar-6.1.2.tgz#e60108a7d1b08cc91bf2faf1286cc08fdad48bbe" + integrity sha512-bnX3RRm70/n1WMwmevdOAeDU4YP7f5JSubgnuU+yrO+xQQjwDboJj3u2NTJI5ngCQhXihqVVAH5h5J8YpdpEvg== + dependencies: + "@types/node" "*" + minipass "^3.3.5" + "@types/text-table@^0.2.1": version "0.2.2" resolved "https://registry.yarnpkg.com/@types/text-table/-/text-table-0.2.2.tgz#774c90cfcfbc8b4b0ebb00fecbe861dc8b1e8e26" @@ -7666,6 +7674,13 @@ minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: dependencies: yallist "^4.0.0" +minipass@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.5.tgz#6da7e53a48db8a856eeb9153d85b230a2119e819" + integrity sha512-rQ/p+KfKBkeNwo04U15i+hOwoVBVmekmm/HcfTkTN2t9pbQKCMm4eN5gFeqgrrSp/kH/7BYYhTIHOxGqzbBPaA== + dependencies: + yallist "^4.0.0" + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" From 766d4a0895e7895211e93bc73ff131c6e47613a7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Sep 2022 09:23:38 +0000 Subject: [PATCH 0926/1388] feat(@schematics/angular): add migration to remove require calls from karma builder main file With the recent changes in build-angular the `require.context` calls have become unneeded. --- .../migrations/migration-collection.json | 5 + .../update-15/update-karma-main-file.ts | 101 ++++++++++++ .../update-15/update-karma-main-file_spec.ts | 151 ++++++++++++++++++ 3 files changed, 257 insertions(+) create mode 100644 packages/schematics/angular/migrations/update-15/update-karma-main-file.ts create mode 100644 packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts diff --git a/packages/schematics/angular/migrations/migration-collection.json b/packages/schematics/angular/migrations/migration-collection.json index d402927d5f6b..40ec225245ed 100644 --- a/packages/schematics/angular/migrations/migration-collection.json +++ b/packages/schematics/angular/migrations/migration-collection.json @@ -19,6 +19,11 @@ "version": "15.0.0", "factory": "./update-15/update-workspace-config", "description": "Remove options from 'angular.json' that are no longer supported by the official builders." + }, + "update-karma-main-file": { + "version": "15.0.0", + "factory": "./update-15/update-karma-main-file", + "description": "Remove no longer needed require calls in Karma builder main file." } } } diff --git a/packages/schematics/angular/migrations/update-15/update-karma-main-file.ts b/packages/schematics/angular/migrations/update-15/update-karma-main-file.ts new file mode 100644 index 000000000000..0a7e08ba10f1 --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/update-karma-main-file.ts @@ -0,0 +1,101 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule, Tree } from '@angular-devkit/schematics'; +import * as ts from '../../third_party/github.com/Microsoft/TypeScript/lib/typescript'; +import { readWorkspace } from '../../utility'; +import { allTargetOptions } from '../../utility/workspace'; +import { Builders } from '../../utility/workspace-models'; + +export default function (): Rule { + return async (host) => { + for (const file of await findTestMainFiles(host)) { + updateTestFile(host, file); + } + }; +} + +async function findTestMainFiles(host: Tree): Promise> { + const testFiles = new Set(); + const workspace = await readWorkspace(host); + + // find all test.ts files. + for (const project of workspace.projects.values()) { + for (const target of project.targets.values()) { + if (target.builder !== Builders.Karma) { + continue; + } + + for (const [, options] of allTargetOptions(target)) { + if (typeof options.main === 'string') { + testFiles.add(options.main); + } + } + } + } + + return testFiles; +} + +function updateTestFile(host: Tree, file: string): void { + const content = host.readText(file); + if (!content.includes('require.context')) { + return; + } + + const sourceFile = ts.createSourceFile( + file, + content.replace(/^\uFEFF/, ''), + ts.ScriptTarget.Latest, + true, + ); + + const usedVariableNames = new Set(); + const recorder = host.beginUpdate(sourceFile.fileName); + + ts.forEachChild(sourceFile, (node) => { + if (ts.isVariableStatement(node)) { + const variableDeclaration = node.declarationList.declarations[0]; + + if (ts.getModifiers(node)?.some((m) => m.kind === ts.SyntaxKind.DeclareKeyword)) { + // `declare const require` + if (variableDeclaration.name.getText() !== 'require') { + return; + } + } else { + // `const context = require.context('./', true, /\.spec\.ts$/);` + if (!variableDeclaration.initializer?.getText().startsWith('require.context')) { + return; + } + + // add variable name as used. + usedVariableNames.add(variableDeclaration.name.getText()); + } + + // Delete node. + recorder.remove(node.getFullStart(), node.getFullWidth()); + } + + if ( + usedVariableNames.size && + ts.isExpressionStatement(node) && // context.keys().map(context); + ts.isCallExpression(node.expression) && // context.keys().map(context); + ts.isPropertyAccessExpression(node.expression.expression) && // context.keys().map + ts.isCallExpression(node.expression.expression.expression) && // context.keys() + ts.isPropertyAccessExpression(node.expression.expression.expression.expression) && // context.keys + ts.isIdentifier(node.expression.expression.expression.expression.expression) && // context + usedVariableNames.has(node.expression.expression.expression.expression.expression.getText()) + ) { + // `context.keys().map(context);` + // `context.keys().forEach(context);` + recorder.remove(node.getFullStart(), node.getFullWidth()); + } + }); + + host.commitUpdate(recorder); +} diff --git a/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts b/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts new file mode 100644 index 000000000000..d8da17b2a1c6 --- /dev/null +++ b/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts @@ -0,0 +1,151 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { tags } from '@angular-devkit/core'; +import { EmptyTree } from '@angular-devkit/schematics'; +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { Builders, ProjectType, WorkspaceSchema } from '../../utility/workspace-models'; + +function createWorkspace(tree: UnitTestTree): void { + const angularConfig: WorkspaceSchema = { + version: 1, + projects: { + app: { + root: '', + sourceRoot: 'src', + projectType: ProjectType.Application, + prefix: 'app', + architect: { + test: { + builder: Builders.Karma, + options: { + main: 'test.ts', + karmaConfig: './karma.config.js', + tsConfig: 'test-spec.json', + }, + configurations: { + production: { + main: 'test-multiple-context.ts', + }, + }, + }, + }, + }, + }, + }; + + tree.create('/angular.json', JSON.stringify(angularConfig, undefined, 2)); + tree.create( + 'test.ts', + tags.stripIndents` + import { getTestBed } from '@angular/core/testing'; + import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting + } from '@angular/platform-browser-dynamic/testing'; + + declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + (id: string): T; + keys(): string[]; + }; + }; + + // First, initialize the Angular testing environment. + getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), + ); + + // Then we find all the tests. + const context = require.context('./', true, /\.spec\.ts$/); + // And load the modules. + context.keys().map(context); + `, + ); + + tree.create( + 'test-multiple-context.ts', + tags.stripIndents` + import { getTestBed } from '@angular/core/testing'; + import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting + } from '@angular/platform-browser-dynamic/testing'; + + declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + (id: string): T; + keys(): string[]; + }; + }; + + // First, initialize the Angular testing environment. + getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), + ); + + // Then we find all the tests. + const context1 = require.context('./', true, /\.spec\.ts$/); + const context2 = require.context('./', true, /\.spec\.ts$/); + // And load the modules. + context2.keys().forEach(context2); + context1.keys().map(context1); + `, + ); +} + +describe(`Migration to karma builder main file (test.ts)`, () => { + const schematicName = 'update-karma-main-file'; + + const schematicRunner = new SchematicTestRunner( + 'migrations', + require.resolve('../migration-collection.json'), + ); + + let tree: UnitTestTree; + beforeEach(() => { + tree = new UnitTestTree(new EmptyTree()); + createWorkspace(tree); + }); + + it(`should remove 'declare const require' and 'require.context' usages`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.readText('test.ts')).toBe(tags.stripIndents` + import { getTestBed } from '@angular/core/testing'; + import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting + } from '@angular/platform-browser-dynamic/testing'; + + // First, initialize the Angular testing environment. + getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), + ); + `); + }); + + it(`should remove multiple 'require.context' usages`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + expect(newTree.readText('test-multiple-context.ts')).toBe(tags.stripIndents` + import { getTestBed } from '@angular/core/testing'; + import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting + } from '@angular/platform-browser-dynamic/testing'; + + // First, initialize the Angular testing environment. + getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), + ); + `); + }); +}); From f393b09282582da47db683344e037fd1434b32a8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Sep 2022 14:48:14 +0000 Subject: [PATCH 0927/1388] refactor(@angular-devkit/build-angular): disable `requireContext` parsing `require.context` is a webpack specific feature which was only needed to support the old Karma test setup. BREAKING CHANGE: `require.context` are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future. --- .../angular_devkit/build_angular/src/webpack/configs/common.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index dc65d1b85078..50a8ba90c61f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -342,8 +342,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Wed, 21 Sep 2022 08:41:06 +0000 Subject: [PATCH 0928/1388] feat(@angular-devkit/build-angular): amend `polyfills` option in all builders to support an array of module specifiers This is the ground work to be able to remove the `polyfills.ts` file which today is primarily used to add `zone.js`. Usage examples: ```js polyfills: ['zone.js'], polyfills: ['zone.js', 'zone.js/testing', 'src/polyfills.ts'], ``` --- .../angular_devkit/build_angular/index.md | 4 +-- .../src/builders/browser-esbuild/options.ts | 16 +++++++++-- .../src/builders/browser-esbuild/schema.json | 18 ++++++++++-- .../src/builders/browser/schema.json | 18 ++++++++++-- .../browser/tests/options/polyfills_spec.ts | 11 ++++++++ .../src/builders/karma/schema.json | 18 ++++++++++-- .../build_angular/src/utils/build-options.ts | 2 +- .../src/utils/normalize-builder-schema.ts | 7 +++-- .../src/utils/normalize-polyfills.ts | 28 +++++++++++++++++++ .../src/webpack/configs/common.ts | 15 ++++------ 10 files changed, 114 insertions(+), 23 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/utils/normalize-polyfills.ts diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index a8f748bc8504..e7a6a890e1a1 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -53,7 +53,7 @@ export interface BrowserBuilderOptions { outputHashing?: OutputHashing; outputPath: string; poll?: number; - polyfills?: string; + polyfills?: Polyfills; preserveSymlinks?: boolean; progress?: boolean; resourcesOutputPath?: string; @@ -180,7 +180,7 @@ export interface KarmaBuilderOptions { karmaConfig: string; main: string; poll?: number; - polyfills?: string; + polyfills?: Polyfills_2; preserveSymlinks?: boolean; progress?: boolean; reporters?: string[]; diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 3727079d833c..55433039db7c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -9,6 +9,7 @@ import { BuilderContext } from '@angular-devkit/architect'; import * as path from 'path'; import { normalizeAssetPatterns, normalizeOptimization, normalizeSourceMaps } from '../../utils'; +import { normalizePolyfills } from '../../utils/normalize-polyfills'; import { Schema as BrowserBuilderOptions, OutputHashing } from '../browser/schema'; /** @@ -33,10 +34,21 @@ export async function normalizeOptions( workspaceRoot, (projectMetadata.sourceRoot as string | undefined) ?? 'src', ); - // Normalize options const mainEntryPoint = path.join(workspaceRoot, options.main); - const polyfillsEntryPoint = options.polyfills && path.join(workspaceRoot, options.polyfills); + + // Currently esbuild do not support multiple files per entry-point + const [polyfillsEntryPoint, ...remainingPolyfills] = normalizePolyfills( + options.polyfills, + workspaceRoot, + ); + + if (remainingPolyfills.length) { + context.logger.warn( + `The 'polyfills' option currently does not support multiple entries by this experimental builder. The first entry will be used.`, + ); + } + const tsconfig = path.join(workspaceRoot, options.tsConfig); const outputPath = path.join(workspaceRoot, options.outputPath); const optimizationOptions = normalizeOptimization(options.optimization); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json index ce8d5d1d510a..ea0ec43e5598 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -17,8 +17,22 @@ "description": "The full path for the main entry point to the app, relative to the current workspace." }, "polyfills": { - "type": "string", - "description": "The full path for the polyfills file, relative to the current workspace." + "description": "Polyfills to be included in the build.", + "oneOf": [ + { + "type": "array", + "description": "A list of polyfills to include in the build. Can be a full path for a file, relative to the current workspace or module specifier. Example: 'zone.js'.", + "items": { + "type": "string", + "uniqueItems": true + }, + "default": [] + }, + { + "type": "string", + "description": "The full path for the polyfills file, relative to the current workspace or a module specifier. Example: 'zone.js'." + } + ] }, "tsConfig": { "type": "string", diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 35168f55a59d..12c9d6792afe 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -17,8 +17,22 @@ "description": "The full path for the main entry point to the app, relative to the current workspace." }, "polyfills": { - "type": "string", - "description": "The full path for the polyfills file, relative to the current workspace." + "description": "Polyfills to be included in the build.", + "oneOf": [ + { + "type": "array", + "description": "A list of polyfills to include in the build. Can be a full path for a file, relative to the current workspace or module specifier. Example: 'zone.js'.", + "items": { + "type": "string", + "uniqueItems": true + }, + "default": [] + }, + { + "type": "string", + "description": "The full path for the polyfills file, relative to the current workspace or a module specifier. Example: 'zone.js'." + } + ] }, "tsConfig": { "type": "string", diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/polyfills_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/polyfills_spec.ts index e47b22531437..fbf3e5ad850a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/polyfills_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/polyfills_spec.ts @@ -54,5 +54,16 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { harness.expectFile('dist/polyfills.js').toNotExist(); }); + + it('resolves module specifiers in array', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + polyfills: ['zone.js', 'zone.js/testing'], + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + harness.expectFile('dist/polyfills.js').toExist(); + }); }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index b5e44c9dace5..35a9de5054ee 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -17,8 +17,22 @@ "description": "The name of the Karma configuration file." }, "polyfills": { - "type": "string", - "description": "The name of the polyfills file." + "description": "Polyfills to be included in the build.", + "oneOf": [ + { + "type": "array", + "description": "A list of polyfills to include in the build. Can be a full path for a file, relative to the current workspace or module specifier. Example: 'zone.js'.", + "items": { + "type": "string", + "uniqueItems": true + }, + "default": [] + }, + { + "type": "string", + "description": "The full path for the polyfills file, relative to the current workspace or a module specifier. Example: 'zone.js'." + } + ] }, "assets": { "type": "array", diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index 49e1212bd2c3..cacfd5746da2 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -58,7 +58,7 @@ export interface BuildOptions { statsJson: boolean; hmr?: boolean; main: string; - polyfills?: string; + polyfills: string[]; budgets: Budget[]; assets: AssetPatternClass[]; scripts: ScriptElement[]; diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts index 138b25bc4aaa..43189d3a370c 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-builder-schema.ts @@ -20,6 +20,7 @@ import { normalizeFileReplacements, } from './normalize-file-replacements'; import { NormalizedOptimizationOptions, normalizeOptimization } from './normalize-optimization'; +import { normalizePolyfills } from './normalize-polyfills'; import { normalizeSourceMaps } from './normalize-source-maps'; import { getSupportedBrowsers } from './supported-browsers'; @@ -32,6 +33,7 @@ export type NormalizedBrowserBuilderSchema = BrowserBuilderSchema & assets: AssetPatternClass[]; fileReplacements: NormalizedFileReplacement[]; optimization: NormalizedOptimizationOptions; + polyfills: string[]; }; export function normalizeBrowserSchema( @@ -42,8 +44,6 @@ export function normalizeBrowserSchema( metadata: json.JsonObject, logger: logging.LoggerApi, ): NormalizedBrowserBuilderSchema { - const normalizedSourceMapOptions = normalizeSourceMaps(options.sourceMap || false); - return { ...options, cache: normalizeCacheOptions(metadata, workspaceRoot), @@ -55,7 +55,8 @@ export function normalizeBrowserSchema( ), fileReplacements: normalizeFileReplacements(options.fileReplacements || [], workspaceRoot), optimization: normalizeOptimization(options.optimization), - sourceMap: normalizedSourceMapOptions, + sourceMap: normalizeSourceMaps(options.sourceMap || false), + polyfills: normalizePolyfills(options.polyfills, workspaceRoot), preserveSymlinks: options.preserveSymlinks === undefined ? process.execArgv.includes('--preserve-symlinks') diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-polyfills.ts b/packages/angular_devkit/build_angular/src/utils/normalize-polyfills.ts new file mode 100644 index 000000000000..8eb75745b0b9 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/utils/normalize-polyfills.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { existsSync } from 'fs'; +import { resolve } from 'path'; + +export function normalizePolyfills( + polyfills: string[] | string | undefined, + root: string, +): string[] { + if (!polyfills) { + return []; + } + + const polyfillsList = Array.isArray(polyfills) ? polyfills : [polyfills]; + + return polyfillsList.map((p) => { + const resolvedPath = resolve(root, p); + + // If file doesn't exist, let the bundle resolve it using node module resolution. + return existsSync(resolvedPath) ? resolvedPath : p; + }); +} diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 50a8ba90c61f..51c13f4e3ba4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -77,7 +77,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Mon, 26 Sep 2022 15:44:48 +0000 Subject: [PATCH 0929/1388] feat(@schematics/angular): drop `polyfills.ts` file from new templates With this change we drop the `polyfills.ts` from new application projects and add the polyfills directly in the `angular.json`. This is possible as now the `polyfills` option accept an array of module specifiers. This change also fixes another open issue (#14432) which was caused by the missing polyfills file in the library test setup. Closes #14432 --- .../src/webpack/configs/common.ts | 28 ++++++++-- .../files/src/polyfills.ts.template | 53 ------------------- .../application/files/src/test.ts.template | 2 - .../files/tsconfig.app.json.template | 3 +- .../files/tsconfig.spec.json.template | 3 +- .../schematics/angular/application/index.ts | 4 +- .../angular/application/index_spec.ts | 15 ++---- .../library/files/src/test.ts.template | 3 -- packages/schematics/angular/library/index.ts | 1 + .../e2e/tests/build/disk-cache-purge.ts | 1 - .../legacy-cli/e2e/tests/build/disk-cache.ts | 1 - 11 files changed, 35 insertions(+), 79 deletions(-) delete mode 100644 packages/schematics/angular/application/files/src/polyfills.ts.template diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 51c13f4e3ba4..98f5dd550c50 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -105,11 +105,33 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise jasmine -> zone.js/testing. + const zoneTestingEntryPoint = 'zone.js/testing'; + const polyfillsExludingZoneTesting = polyfills.filter((p) => p !== zoneTestingEntryPoint); + if (Array.isArray(entryPoints['polyfills'])) { - entryPoints['polyfills'].push(...buildOptions.polyfills); + entryPoints['polyfills'].push(...polyfillsExludingZoneTesting); } else { - entryPoints['polyfills'] = buildOptions.polyfills; + entryPoints['polyfills'] = polyfillsExludingZoneTesting; + } + + if (polyfillsExludingZoneTesting.length !== polyfills.length) { + if (Array.isArray(entryPoints['main'])) { + entryPoints['main'].unshift(zoneTestingEntryPoint); + } else { + entryPoints['main'] = [zoneTestingEntryPoint, entryPoints['main'] as string]; + } } } diff --git a/packages/schematics/angular/application/files/src/polyfills.ts.template b/packages/schematics/angular/application/files/src/polyfills.ts.template deleted file mode 100644 index 429bb9ef2d34..000000000000 --- a/packages/schematics/angular/application/files/src/polyfills.ts.template +++ /dev/null @@ -1,53 +0,0 @@ -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes recent versions of Safari, Chrome (including - * Opera), Edge on the desktop, and iOS and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - * because those flags need to be set before `zone.js` being loaded, and webpack - * will put import in the top of bundle, so user need to create a separate file - * in this directory (for example: zone-flags.ts), and put the following flags - * into that file, and then add the following code before importing zone.js. - * import './zone-flags'; - * - * The flags allowed in zone-flags.ts are listed here. - * - * The following flags will work for all browsers. - * - * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - * - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - * - * (window as any).__Zone_enable_cross_context_check = true; - * - */ - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ diff --git a/packages/schematics/angular/application/files/src/test.ts.template b/packages/schematics/angular/application/files/src/test.ts.template index 863549a71308..0e689016906e 100644 --- a/packages/schematics/angular/application/files/src/test.ts.template +++ b/packages/schematics/angular/application/files/src/test.ts.template @@ -1,6 +1,4 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, diff --git a/packages/schematics/angular/application/files/tsconfig.app.json.template b/packages/schematics/angular/application/files/tsconfig.app.json.template index 1966d893bf6d..7e2267cbe2d5 100644 --- a/packages/schematics/angular/application/files/tsconfig.app.json.template +++ b/packages/schematics/angular/application/files/tsconfig.app.json.template @@ -6,8 +6,7 @@ "types": [] }, "files": [ - "src/main.ts", - "src/polyfills.ts" + "src/main.ts" ], "include": [ "src/**/*.d.ts" diff --git a/packages/schematics/angular/application/files/tsconfig.spec.json.template b/packages/schematics/angular/application/files/tsconfig.spec.json.template index 0e856e624157..c9c241170103 100644 --- a/packages/schematics/angular/application/files/tsconfig.spec.json.template +++ b/packages/schematics/angular/application/files/tsconfig.spec.json.template @@ -8,8 +8,7 @@ ] }, "files": [ - "src/test.ts", - "src/polyfills.ts" + "src/test.ts" ], "include": [ "src/**/*.spec.ts", diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 88485f9cc3ff..e804269d4545 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -158,7 +158,7 @@ function addAppToWorkspaceFile( outputPath: `dist/${folderName}`, index: `${sourceRoot}/index.html`, main: `${sourceRoot}/main.ts`, - polyfills: `${sourceRoot}/polyfills.ts`, + polyfills: ['zone.js'], tsConfig: `${projectRoot}tsconfig.app.json`, inlineStyleLanguage, assets: [`${sourceRoot}/favicon.ico`, `${sourceRoot}/assets`], @@ -211,7 +211,7 @@ function addAppToWorkspaceFile( builder: Builders.Karma, options: { main: `${sourceRoot}/test.ts`, - polyfills: `${sourceRoot}/polyfills.ts`, + polyfills: ['zone.js', 'zone.js/testing'], tsConfig: `${projectRoot}tsconfig.spec.json`, karmaConfig: `${projectRoot}karma.conf.js`, inlineStyleLanguage, diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 0e1bfc6f0665..7055f485e7ca 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -60,7 +60,6 @@ describe('Application Schematic', () => { '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', - '/projects/foo/src/polyfills.ts', '/projects/foo/src/styles.css', '/projects/foo/src/test.ts', '/projects/foo/src/app/app.module.ts', @@ -157,7 +156,7 @@ describe('Application Schematic', () => { .runSchematicAsync('application', defaultOptions, workspaceTree) .toPromise(); const { files, extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.app.json'); - expect(files).toEqual(['src/main.ts', 'src/polyfills.ts']); + expect(files).toEqual(['src/main.ts']); expect(_extends).toBe('../../tsconfig.json'); }); @@ -166,7 +165,7 @@ describe('Application Schematic', () => { .runSchematicAsync('application', defaultOptions, workspaceTree) .toPromise(); const { files, extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.spec.json'); - expect(files).toEqual(['src/test.ts', 'src/polyfills.ts']); + expect(files).toEqual(['src/test.ts']); expect(_extends).toBe('../../tsconfig.json'); }); @@ -270,7 +269,6 @@ describe('Application Schematic', () => { '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', - '/projects/foo/src/polyfills.ts', '/projects/foo/src/styles.css', '/projects/foo/src/app/app.module.ts', '/projects/foo/src/app/app.component.ts', @@ -300,7 +298,6 @@ describe('Application Schematic', () => { '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', - '/projects/foo/src/polyfills.ts', '/projects/foo/src/styles.css', '/projects/foo/src/app/app.module.ts', '/projects/foo/src/app/app.component.css', @@ -331,7 +328,6 @@ describe('Application Schematic', () => { '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', - '/projects/foo/src/polyfills.ts', '/projects/foo/src/styles.css', '/projects/foo/src/app/app.module.ts', '/projects/foo/src/app/app.component.html', @@ -413,7 +409,6 @@ describe('Application Schematic', () => { '/src/favicon.ico', '/src/index.html', '/src/main.ts', - '/src/polyfills.ts', '/src/styles.css', '/src/test.ts', '/src/app/app.module.ts', @@ -437,7 +432,7 @@ describe('Application Schematic', () => { const buildOpt = prj.architect.build.options; expect(buildOpt.index).toEqual('src/index.html'); expect(buildOpt.main).toEqual('src/main.ts'); - expect(buildOpt.polyfills).toEqual('src/polyfills.ts'); + expect(buildOpt.polyfills).toEqual(['zone.js']); expect(buildOpt.tsConfig).toEqual('tsconfig.app.json'); const testOpt = prj.architect.test.options; @@ -515,7 +510,7 @@ describe('Application Schematic', () => { expect(appTsConfig.extends).toEqual('./tsconfig.json'); const specTsConfig = readJsonFile(tree, '/tsconfig.spec.json'); expect(specTsConfig.extends).toEqual('./tsconfig.json'); - expect(specTsConfig.files).toEqual(['src/test.ts', 'src/polyfills.ts']); + expect(specTsConfig.files).toEqual(['src/test.ts']); }); it(`should create correct paths when 'newProjectRoot' is blank`, async () => { @@ -532,7 +527,7 @@ describe('Application Schematic', () => { const buildOpt = project.architect.build.options; expect(buildOpt.index).toEqual('foo/src/index.html'); expect(buildOpt.main).toEqual('foo/src/main.ts'); - expect(buildOpt.polyfills).toEqual('foo/src/polyfills.ts'); + expect(buildOpt.polyfills).toEqual(['zone.js']); expect(buildOpt.tsConfig).toEqual('foo/tsconfig.app.json'); const appTsConfig = readJsonFile(tree, '/foo/tsconfig.app.json'); diff --git a/packages/schematics/angular/library/files/src/test.ts.template b/packages/schematics/angular/library/files/src/test.ts.template index 406f37d5a7a5..0e689016906e 100644 --- a/packages/schematics/angular/library/files/src/test.ts.template +++ b/packages/schematics/angular/library/files/src/test.ts.template @@ -1,7 +1,4 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js'; -import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index a6959bdf70cb..69524593bcc2 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -110,6 +110,7 @@ function addLibToWorkspaceFile( options: { main: `${projectRoot}/src/test.ts`, tsConfig: `${projectRoot}/tsconfig.spec.json`, + polyfills: ['zone.js', 'zone.js/testing'], karmaConfig: `${projectRoot}/karma.conf.js`, }, }, diff --git a/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts b/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts index 5cc3b6d0606c..bba2ad7e826b 100644 --- a/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts +++ b/tests/legacy-cli/e2e/tests/build/disk-cache-purge.ts @@ -9,7 +9,6 @@ export default async function () { // No need to include all applications code to verify disk cache existence. await writeFile('src/main.ts', 'console.log(1);'); - await writeFile('src/polyfills.ts', 'console.log(1);'); // Enable cache for all environments await updateJsonFile('angular.json', (config) => { diff --git a/tests/legacy-cli/e2e/tests/build/disk-cache.ts b/tests/legacy-cli/e2e/tests/build/disk-cache.ts index 559313163187..1873905646ca 100644 --- a/tests/legacy-cli/e2e/tests/build/disk-cache.ts +++ b/tests/legacy-cli/e2e/tests/build/disk-cache.ts @@ -10,7 +10,6 @@ export default async function () { // No need to include all applications code to verify disk cache existence. await writeFile('src/main.ts', 'console.log(1);'); - await writeFile('src/polyfills.ts', 'console.log(1);'); try { // Should be enabled by default. From 308e3a017f876bfc727e68803bfbce11e9d3396e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Sep 2022 07:30:04 +0000 Subject: [PATCH 0930/1388] feat(@angular-devkit/build-angular): switch to use Sass modern API Sass modern API provides faster compilations times when used in an async manner. |Application compilation duration | Sass API and Compiler| |-- | --| |60852ms | dart-sass legacy sync API| |52666ms | dart-sass modern API| Note: https://github.com/johannesjo/super-productivity was used for benchmarking. Prior art: http://docs/document/d/1CvEceWMpBoEBd8SfvksGMdVHxaZMH93b0EGS3XbR3_Q?resourcekey=0-vFm-xMspT65FZLIyX7xWFQ BREAKING CHANGE: - Deprecated support for tilde import has been removed. Please update the imports by removing the `~`. Before ```scss @import "~font-awesome/scss/font-awesome"; ``` After ```scss @import "font-awesome/scss/font-awesome"; ``` - By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting `NG_BUILD_LEGACY_SASS=1`. --- .../src/builders/browser/specs/styles_spec.ts | 26 +- .../src/sass/sass-service-legacy.ts | 251 ++++++++++++++++++ .../build_angular/src/sass/sass-service.ts | 177 ++++++------ .../build_angular/src/sass/worker-legacy.ts | 69 +++++ .../build_angular/src/sass/worker.ts | 77 ++++-- .../src/utils/environment-options.ts | 18 ++ .../src/webpack/configs/styles.ts | 158 ++++++----- .../e2e/tests/build/styles/scss-legacy.ts | 55 ++++ .../legacy-cli/e2e/tests/build/styles/scss.ts | 46 ++-- 9 files changed, 662 insertions(+), 215 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/sass/sass-service-legacy.ts create mode 100644 packages/angular_devkit/build_angular/src/sass/worker-legacy.ts create mode 100644 tests/legacy-cli/e2e/tests/build/styles/scss-legacy.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 7c0015d02e99..2b2d8eb9e9d1 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -195,11 +195,9 @@ describe('Browser Builder styles', () => { it(`supports material imports in ${ext} files`, async () => { host.writeMultipleFiles({ [`src/styles.${ext}`]: ` - @import "~@angular/material/prebuilt-themes/indigo-pink.css"; @import "@angular/material/prebuilt-themes/indigo-pink.css"; `, [`src/app/app.component.${ext}`]: ` - @import "~@angular/material/prebuilt-themes/indigo-pink.css"; @import "@angular/material/prebuilt-themes/indigo-pink.css"; `, }); @@ -265,19 +263,14 @@ describe('Browser Builder styles', () => { }); }); - /** - * font-awesome mock to avoid having an extra dependency. - */ - function mockFontAwesomePackage(host: TestProjectHost): void { + it(`supports font-awesome imports`, async () => { + // font-awesome mock to avoid having an extra dependency. host.writeMultipleFiles({ 'node_modules/font-awesome/scss/font-awesome.scss': ` - * { color: red } + * { color: red } `, }); - } - it(`supports font-awesome imports`, async () => { - mockFontAwesomePackage(host); host.writeMultipleFiles({ 'src/styles.scss': ` @import "font-awesome/scss/font-awesome"; @@ -288,19 +281,6 @@ describe('Browser Builder styles', () => { await browserBuild(architect, host, target, overrides); }); - it(`supports font-awesome imports (tilde)`, async () => { - mockFontAwesomePackage(host); - host.writeMultipleFiles({ - 'src/styles.scss': ` - $fa-font-path: "~font-awesome/fonts"; - @import "~font-awesome/scss/font-awesome"; - `, - }); - - const overrides = { styles: [`src/styles.scss`] }; - await browserBuild(architect, host, target, overrides); - }); - it(`uses autoprefixer`, async () => { host.writeMultipleFiles({ 'src/styles.css': tags.stripIndents` diff --git a/packages/angular_devkit/build_angular/src/sass/sass-service-legacy.ts b/packages/angular_devkit/build_angular/src/sass/sass-service-legacy.ts new file mode 100644 index 000000000000..e1f64abad2d7 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/sass/sass-service-legacy.ts @@ -0,0 +1,251 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { join } from 'path'; +import { + LegacyAsyncImporter as AsyncImporter, + LegacyResult as CompileResult, + LegacyException as Exception, + LegacyImporterResult as ImporterResult, + LegacyImporterThis as ImporterThis, + LegacyOptions as Options, + LegacySyncImporter as SyncImporter, +} from 'sass'; +import { MessageChannel, Worker } from 'worker_threads'; +import { maxWorkers } from '../utils/environment-options'; + +/** + * The maximum number of Workers that will be created to execute render requests. + */ +const MAX_RENDER_WORKERS = maxWorkers; + +/** + * The callback type for the `dart-sass` asynchronous render function. + */ +type RenderCallback = (error?: Exception, result?: CompileResult) => void; + +/** + * An object containing the contextual information for a specific render request. + */ +interface RenderRequest { + id: number; + workerIndex: number; + callback: RenderCallback; + importers?: (SyncImporter | AsyncImporter)[]; +} + +/** + * A response from the Sass render Worker containing the result of the operation. + */ +interface RenderResponseMessage { + id: number; + error?: Exception; + result?: CompileResult; +} + +/** + * A Sass renderer implementation that provides an interface that can be used by Webpack's + * `sass-loader`. The implementation uses a Worker thread to perform the Sass rendering + * with the `dart-sass` package. The `dart-sass` synchronous render function is used within + * the worker which can be up to two times faster than the asynchronous variant. + */ +export class SassLegacyWorkerImplementation { + private readonly workers: Worker[] = []; + private readonly availableWorkers: number[] = []; + private readonly requests = new Map(); + private readonly workerPath = join(__dirname, './worker-legacy.js'); + private idCounter = 1; + private nextWorkerIndex = 0; + + /** + * Provides information about the Sass implementation. + * This mimics enough of the `dart-sass` value to be used with the `sass-loader`. + */ + get info(): string { + return 'dart-sass\tworker'; + } + + /** + * The synchronous render function is not used by the `sass-loader`. + */ + renderSync(): never { + throw new Error('Sass renderSync is not supported.'); + } + + /** + * Asynchronously request a Sass stylesheet to be renderered. + * + * @param options The `dart-sass` options to use when rendering the stylesheet. + * @param callback The function to execute when the rendering is complete. + */ + render(options: Options<'async'>, callback: RenderCallback): void { + // The `functions`, `logger` and `importer` options are JavaScript functions that cannot be transferred. + // If any additional function options are added in the future, they must be excluded as well. + const { functions, importer, logger, ...serializableOptions } = options; + + // The CLI's configuration does not use or expose the ability to defined custom Sass functions + if (functions && Object.keys(functions).length > 0) { + throw new Error('Sass custom functions are not supported.'); + } + + let workerIndex = this.availableWorkers.pop(); + if (workerIndex === undefined) { + if (this.workers.length < MAX_RENDER_WORKERS) { + workerIndex = this.workers.length; + this.workers.push(this.createWorker()); + } else { + workerIndex = this.nextWorkerIndex++; + if (this.nextWorkerIndex >= this.workers.length) { + this.nextWorkerIndex = 0; + } + } + } + + const request = this.createRequest(workerIndex, callback, importer); + this.requests.set(request.id, request); + + this.workers[workerIndex].postMessage({ + id: request.id, + hasImporter: !!importer, + options: serializableOptions, + }); + } + + /** + * Shutdown the Sass render worker. + * Executing this method will stop any pending render requests. + */ + close(): void { + for (const worker of this.workers) { + try { + void worker.terminate(); + } catch {} + } + this.requests.clear(); + } + + private createWorker(): Worker { + const { port1: mainImporterPort, port2: workerImporterPort } = new MessageChannel(); + const importerSignal = new Int32Array(new SharedArrayBuffer(4)); + + const worker = new Worker(this.workerPath, { + workerData: { workerImporterPort, importerSignal }, + transferList: [workerImporterPort], + }); + + worker.on('message', (response: RenderResponseMessage) => { + const request = this.requests.get(response.id); + if (!request) { + return; + } + + this.requests.delete(response.id); + this.availableWorkers.push(request.workerIndex); + + if (response.result) { + // The results are expected to be Node.js `Buffer` objects but will each be transferred as + // a Uint8Array that does not have the expected `toString` behavior of a `Buffer`. + const { css, map, stats } = response.result; + const result: CompileResult = { + // This `Buffer.from` override will use the memory directly and avoid making a copy + css: Buffer.from(css.buffer, css.byteOffset, css.byteLength), + stats, + }; + if (map) { + // This `Buffer.from` override will use the memory directly and avoid making a copy + result.map = Buffer.from(map.buffer, map.byteOffset, map.byteLength); + } + request.callback(undefined, result); + } else { + request.callback(response.error); + } + }); + + mainImporterPort.on( + 'message', + ({ + id, + url, + prev, + fromImport, + }: { + id: number; + url: string; + prev: string; + fromImport: boolean; + }) => { + const request = this.requests.get(id); + if (!request?.importers) { + mainImporterPort.postMessage(null); + Atomics.store(importerSignal, 0, 1); + Atomics.notify(importerSignal, 0); + + return; + } + + this.processImporters(request.importers, url, prev, fromImport) + .then((result) => { + mainImporterPort.postMessage(result); + }) + .catch((error) => { + mainImporterPort.postMessage(error); + }) + .finally(() => { + Atomics.store(importerSignal, 0, 1); + Atomics.notify(importerSignal, 0); + }); + }, + ); + + mainImporterPort.unref(); + + return worker; + } + + private async processImporters( + importers: Iterable, + url: string, + prev: string, + fromImport: boolean, + ): Promise { + let result = null; + for (const importer of importers) { + result = await new Promise((resolve) => { + // Importers can be both sync and async + const innerResult = (importer as AsyncImporter).call( + { fromImport } as ImporterThis, + url, + prev, + resolve, + ); + if (innerResult !== undefined) { + resolve(innerResult); + } + }); + + if (result) { + break; + } + } + + return result; + } + + private createRequest( + workerIndex: number, + callback: RenderCallback, + importer: SyncImporter | AsyncImporter | (SyncImporter | AsyncImporter)[] | undefined, + ): RenderRequest { + return { + id: this.idCounter++, + workerIndex, + callback, + importers: !importer || Array.isArray(importer) ? importer : [importer], + }; + } +} diff --git a/packages/angular_devkit/build_angular/src/sass/sass-service.ts b/packages/angular_devkit/build_angular/src/sass/sass-service.ts index 4a40334412d8..ae3dd99335b8 100644 --- a/packages/angular_devkit/build_angular/src/sass/sass-service.ts +++ b/packages/angular_devkit/build_angular/src/sass/sass-service.ts @@ -6,15 +6,16 @@ * found in the LICENSE file at https://angular.io/license */ +import { join } from 'path'; import { - LegacyAsyncImporter as AsyncImporter, - LegacyResult as CompileResult, - LegacyException as Exception, - LegacyImporterResult as ImporterResult, - LegacyImporterThis as ImporterThis, - LegacyOptions as Options, - LegacySyncImporter as SyncImporter, + CompileResult, + Exception, + FileImporter, + Importer, + StringOptionsWithImporter, + StringOptionsWithoutImporter, } from 'sass'; +import { fileURLToPath, pathToFileURL } from 'url'; import { MessageChannel, Worker } from 'worker_threads'; import { maxWorkers } from '../utils/environment-options'; @@ -28,6 +29,8 @@ const MAX_RENDER_WORKERS = maxWorkers; */ type RenderCallback = (error?: Exception, result?: CompileResult) => void; +type FileImporterOptions = Parameters[1]; + /** * An object containing the contextual information for a specific render request. */ @@ -35,16 +38,25 @@ interface RenderRequest { id: number; workerIndex: number; callback: RenderCallback; - importers?: (SyncImporter | AsyncImporter)[]; + importers?: Importers[]; } +/** + * All available importer types. + */ +type Importers = + | Importer<'sync'> + | Importer<'async'> + | FileImporter<'sync'> + | FileImporter<'async'>; + /** * A response from the Sass render Worker containing the result of the operation. */ interface RenderResponseMessage { id: number; error?: Exception; - result?: CompileResult; + result?: Omit & { loadedUrls: string[] }; } /** @@ -57,6 +69,7 @@ export class SassWorkerImplementation { private readonly workers: Worker[] = []; private readonly availableWorkers: number[] = []; private readonly requests = new Map(); + private readonly workerPath = join(__dirname, './worker.js'); private idCounter = 1; private nextWorkerIndex = 0; @@ -71,46 +84,77 @@ export class SassWorkerImplementation { /** * The synchronous render function is not used by the `sass-loader`. */ - renderSync(): never { - throw new Error('Sass renderSync is not supported.'); + compileString(): never { + throw new Error('Sass compileString is not supported.'); } /** * Asynchronously request a Sass stylesheet to be renderered. * + * @param source The contents to compile. * @param options The `dart-sass` options to use when rendering the stylesheet. - * @param callback The function to execute when the rendering is complete. */ - render(options: Options<'async'>, callback: RenderCallback): void { + compileStringAsync( + source: string, + options: StringOptionsWithImporter<'async'> | StringOptionsWithoutImporter<'async'>, + ): Promise { // The `functions`, `logger` and `importer` options are JavaScript functions that cannot be transferred. // If any additional function options are added in the future, they must be excluded as well. - const { functions, importer, logger, ...serializableOptions } = options; + const { functions, importers, url, logger, ...serializableOptions } = options; // The CLI's configuration does not use or expose the ability to defined custom Sass functions if (functions && Object.keys(functions).length > 0) { throw new Error('Sass custom functions are not supported.'); } - let workerIndex = this.availableWorkers.pop(); - if (workerIndex === undefined) { - if (this.workers.length < MAX_RENDER_WORKERS) { - workerIndex = this.workers.length; - this.workers.push(this.createWorker()); - } else { - workerIndex = this.nextWorkerIndex++; - if (this.nextWorkerIndex >= this.workers.length) { - this.nextWorkerIndex = 0; + return new Promise((resolve, reject) => { + let workerIndex = this.availableWorkers.pop(); + if (workerIndex === undefined) { + if (this.workers.length < MAX_RENDER_WORKERS) { + workerIndex = this.workers.length; + this.workers.push(this.createWorker()); + } else { + workerIndex = this.nextWorkerIndex++; + if (this.nextWorkerIndex >= this.workers.length) { + this.nextWorkerIndex = 0; + } } } - } - const request = this.createRequest(workerIndex, callback, importer); - this.requests.set(request.id, request); + const callback: RenderCallback = (error, result) => { + if (error) { + const url = error?.span.url as string | undefined; + if (url) { + error.span.url = pathToFileURL(url); + } - this.workers[workerIndex].postMessage({ - id: request.id, - hasImporter: !!importer, - options: serializableOptions, + reject(error); + + return; + } + + if (!result) { + reject(new Error('No result.')); + + return; + } + + resolve(result); + }; + + const request = this.createRequest(workerIndex, callback, importers); + this.requests.set(request.id, request); + + this.workers[workerIndex].postMessage({ + id: request.id, + source, + hasImporter: !!importers?.length, + options: { + ...serializableOptions, + // URL is not serializable so to convert to string here and back to URL in the worker. + url: url ? fileURLToPath(url) : undefined, + }, + }); }); } @@ -131,8 +175,7 @@ export class SassWorkerImplementation { const { port1: mainImporterPort, port2: workerImporterPort } = new MessageChannel(); const importerSignal = new Int32Array(new SharedArrayBuffer(4)); - const workerPath = require.resolve('./worker'); - const worker = new Worker(workerPath, { + const worker = new Worker(this.workerPath, { workerData: { workerImporterPort, importerSignal }, transferList: [workerImporterPort], }); @@ -147,19 +190,11 @@ export class SassWorkerImplementation { this.availableWorkers.push(request.workerIndex); if (response.result) { - // The results are expected to be Node.js `Buffer` objects but will each be transferred as - // a Uint8Array that does not have the expected `toString` behavior of a `Buffer`. - const { css, map, stats } = response.result; - const result: CompileResult = { - // This `Buffer.from` override will use the memory directly and avoid making a copy - css: Buffer.from(css.buffer, css.byteOffset, css.byteLength), - stats, - }; - if (map) { - // This `Buffer.from` override will use the memory directly and avoid making a copy - result.map = Buffer.from(map.buffer, map.byteOffset, map.byteLength); - } - request.callback(undefined, result); + request.callback(undefined, { + ...response.result, + // URL is not serializable so in the worker we convert to string and here back to URL. + loadedUrls: response.result.loadedUrls.map((p) => pathToFileURL(p)), + }); } else { request.callback(response.error); } @@ -167,17 +202,7 @@ export class SassWorkerImplementation { mainImporterPort.on( 'message', - ({ - id, - url, - prev, - fromImport, - }: { - id: number; - url: string; - prev: string; - fromImport: boolean; - }) => { + ({ id, url, options }: { id: number; url: string; options: FileImporterOptions }) => { const request = this.requests.get(id); if (!request?.importers) { mainImporterPort.postMessage(null); @@ -187,7 +212,7 @@ export class SassWorkerImplementation { return; } - this.processImporters(request.importers, url, prev, fromImport) + this.processImporters(request.importers, url, options) .then((result) => { mainImporterPort.postMessage(result); }) @@ -207,44 +232,40 @@ export class SassWorkerImplementation { } private async processImporters( - importers: Iterable, + importers: Iterable, url: string, - prev: string, - fromImport: boolean, - ): Promise { - let result = null; + options: FileImporterOptions, + ): Promise { for (const importer of importers) { - result = await new Promise((resolve) => { - // Importers can be both sync and async - const innerResult = (importer as AsyncImporter).call( - { fromImport } as ImporterThis, - url, - prev, - resolve, - ); - if (innerResult !== undefined) { - resolve(innerResult); - } - }); + if (this.isImporter(importer)) { + // Importer + throw new Error('Only File Importers are supported.'); + } + // File importer (Can be sync or aync). + const result = await importer.findFileUrl(url, options); if (result) { - break; + return fileURLToPath(result); } } - return result; + return null; } private createRequest( workerIndex: number, callback: RenderCallback, - importer: SyncImporter | AsyncImporter | (SyncImporter | AsyncImporter)[] | undefined, + importers: Importers[] | undefined, ): RenderRequest { return { id: this.idCounter++, workerIndex, callback, - importers: !importer || Array.isArray(importer) ? importer : [importer], + importers, }; } + + private isImporter(value: Importers): value is Importer { + return 'canonicalize' in value && 'load' in value; + } } diff --git a/packages/angular_devkit/build_angular/src/sass/worker-legacy.ts b/packages/angular_devkit/build_angular/src/sass/worker-legacy.ts new file mode 100644 index 000000000000..bcd978b3258b --- /dev/null +++ b/packages/angular_devkit/build_angular/src/sass/worker-legacy.ts @@ -0,0 +1,69 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { ImporterResult, LegacyOptions as Options, renderSync } from 'sass'; +import { MessagePort, parentPort, receiveMessageOnPort, workerData } from 'worker_threads'; + +/** + * A request to render a Sass stylesheet using the supplied options. + */ +interface RenderRequestMessage { + /** + * The unique request identifier that links the render action with a callback and optional + * importer on the main thread. + */ + id: number; + /** + * The Sass options to provide to the `dart-sass` render function. + */ + options: Options<'sync'>; + /** + * Indicates the request has a custom importer function on the main thread. + */ + hasImporter: boolean; +} + +if (!parentPort || !workerData) { + throw new Error('Sass worker must be executed as a Worker.'); +} + +// The importer variables are used to proxy import requests to the main thread +const { workerImporterPort, importerSignal } = workerData as { + workerImporterPort: MessagePort; + importerSignal: Int32Array; +}; + +parentPort.on('message', ({ id, hasImporter, options }: RenderRequestMessage) => { + try { + if (hasImporter) { + // When a custom importer function is present, the importer request must be proxied + // back to the main thread where it can be executed. + // This process must be synchronous from the perspective of dart-sass. The `Atomics` + // functions combined with the shared memory `importSignal` and the Node.js + // `receiveMessageOnPort` function are used to ensure synchronous behavior. + options.importer = function (url, prev) { + Atomics.store(importerSignal, 0, 0); + const { fromImport } = this; + workerImporterPort.postMessage({ id, url, prev, fromImport }); + Atomics.wait(importerSignal, 0, 0); + + return receiveMessageOnPort(workerImporterPort)?.message as ImporterResult; + }; + } + + // The synchronous Sass render function can be up to two times faster than the async variant + const result = renderSync(options); + + parentPort?.postMessage({ id, result }); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + } catch (error: any) { + // Needed because V8 will only serialize the message and stack properties of an Error instance. + const { formatted, file, line, column, message, stack } = error; + parentPort?.postMessage({ id, error: { formatted, file, line, column, message, stack } }); + } +}); diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index bcd978b3258b..65d168e009d0 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -6,7 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { ImporterResult, LegacyOptions as Options, renderSync } from 'sass'; +import { Exception, StringOptionsWithImporter, compileString } from 'sass'; +import { fileURLToPath, pathToFileURL } from 'url'; import { MessagePort, parentPort, receiveMessageOnPort, workerData } from 'worker_threads'; /** @@ -19,9 +20,13 @@ interface RenderRequestMessage { */ id: number; /** - * The Sass options to provide to the `dart-sass` render function. + * The contents to compile. */ - options: Options<'sync'>; + source: string; + /** + * The Sass options to provide to the `dart-sass` compile function. + */ + options: Omit, 'url'> & { url?: string }; /** * Indicates the request has a custom importer function on the main thread. */ @@ -38,7 +43,11 @@ const { workerImporterPort, importerSignal } = workerData as { importerSignal: Int32Array; }; -parentPort.on('message', ({ id, hasImporter, options }: RenderRequestMessage) => { +parentPort.on('message', ({ id, hasImporter, source, options }: RenderRequestMessage) => { + if (!parentPort) { + throw new Error('"parentPort" is not defined. Sass worker must be executed as a Worker.'); + } + try { if (hasImporter) { // When a custom importer function is present, the importer request must be proxied @@ -46,24 +55,58 @@ parentPort.on('message', ({ id, hasImporter, options }: RenderRequestMessage) => // This process must be synchronous from the perspective of dart-sass. The `Atomics` // functions combined with the shared memory `importSignal` and the Node.js // `receiveMessageOnPort` function are used to ensure synchronous behavior. - options.importer = function (url, prev) { - Atomics.store(importerSignal, 0, 0); - const { fromImport } = this; - workerImporterPort.postMessage({ id, url, prev, fromImport }); - Atomics.wait(importerSignal, 0, 0); + options.importers = [ + { + findFileUrl: (url, options) => { + Atomics.store(importerSignal, 0, 0); + workerImporterPort.postMessage({ id, url, options }); + Atomics.wait(importerSignal, 0, 0); + + const result = receiveMessageOnPort(workerImporterPort)?.message as string | null; - return receiveMessageOnPort(workerImporterPort)?.message as ImporterResult; - }; + return result ? pathToFileURL(result) : null; + }, + }, + ]; } // The synchronous Sass render function can be up to two times faster than the async variant - const result = renderSync(options); + const result = compileString(source, { + ...options, + // URL is not serializable so to convert to string in the parent and back to URL here. + url: options.url ? pathToFileURL(options.url) : undefined, + }); - parentPort?.postMessage({ id, result }); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - } catch (error: any) { + parentPort.postMessage({ + id, + result: { + ...result, + // URL is not serializable so to convert to string here and back to URL in the parent. + loadedUrls: result.loadedUrls.map((p) => fileURLToPath(p)), + }, + }); + } catch (error) { // Needed because V8 will only serialize the message and stack properties of an Error instance. - const { formatted, file, line, column, message, stack } = error; - parentPort?.postMessage({ id, error: { formatted, file, line, column, message, stack } }); + if (error instanceof Exception) { + const { span, message, stack, sassMessage, sassStack } = error; + parentPort.postMessage({ + id, + error: { + span: { + ...span, + url: span.url ? fileURLToPath(span.url) : undefined, + }, + message, + stack, + sassMessage, + sassStack, + }, + }); + } else if (error instanceof Error) { + const { message, stack } = error; + parentPort.postMessage({ id, error: { message, stack } }); + } else { + parentPort.postMessage({ id, error: { message: 'An unknown error has occurred.' } }); + } } }); diff --git a/packages/angular_devkit/build_angular/src/utils/environment-options.ts b/packages/angular_devkit/build_angular/src/utils/environment-options.ts index d896cef0d87b..6cf761a4bf5d 100644 --- a/packages/angular_devkit/build_angular/src/utils/environment-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/environment-options.ts @@ -6,6 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ +import { colors } from './color'; + function isDisabled(variable: string): boolean { return variable === '0' || variable.toLowerCase() === 'false'; } @@ -75,3 +77,19 @@ export const allowMinify = debugOptimize.minify; */ const maxWorkersVariable = process.env['NG_BUILD_MAX_WORKERS']; export const maxWorkers = isPresent(maxWorkersVariable) ? +maxWorkersVariable : 4; + +const legacySassVariable = process.env['NG_BUILD_LEGACY_SASS']; +export const useLegacySass: boolean = (() => { + if (!isPresent(legacySassVariable)) { + return false; + } + + // eslint-disable-next-line no-console + console.warn( + colors.yellow( + `Warning: 'NG_BUILD_LEGACY_SASS' environment variable support will be removed in version 16.`, + ), + ); + + return isEnabled(legacySassVariable); +})(); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index dd1a318055dc..85f420f356ed 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -9,11 +9,12 @@ import * as fs from 'fs'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import * as path from 'path'; -import type { Configuration, RuleSetUseItem } from 'webpack'; +import { Configuration, RuleSetUseItem } from 'webpack'; import { StyleElement } from '../../builders/browser/schema'; import { SassWorkerImplementation } from '../../sass/sass-service'; +import { SassLegacyWorkerImplementation } from '../../sass/sass-service-legacy'; import { WebpackConfigOptions } from '../../utils/build-options'; -import { addWarning } from '../../utils/webpack-diagnostics'; +import { useLegacySass } from '../../utils/environment-options'; import { AnyComponentStyleBudgetChecker, PostcssCliResources, @@ -77,7 +78,7 @@ export function resolveGlobalStyles( // eslint-disable-next-line max-lines-per-function export function getStylesConfig(wco: WebpackConfigOptions): Configuration { - const { root, buildOptions } = wco; + const { root, projectRoot, buildOptions } = wco; const extraPlugins: Configuration['plugins'] = []; extraPlugins.push(new AnyComponentStyleBudgetChecker(buildOptions.budgets)); @@ -102,22 +103,15 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { extraPlugins.push(new RemoveHashPlugin({ chunkNames: noInjectNames, hashFormat })); } - const sassImplementation = new SassWorkerImplementation(); - const sassTildeUsageMessage = new Set(); + const sassImplementation = useLegacySass + ? new SassLegacyWorkerImplementation() + : new SassWorkerImplementation(); extraPlugins.push({ apply(compiler) { compiler.hooks.shutdown.tap('sass-worker', () => { sassImplementation.close(); }); - - compiler.hooks.afterCompile.tap('sass-worker', (compilation) => { - for (const message of sassTildeUsageMessage) { - addWarning(compilation, message); - } - - sassTildeUsageMessage.clear(); - }); }, }); @@ -161,7 +155,6 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { : undefined, plugins: [ postcssImports({ - resolve: (url: string) => (url.startsWith('~') ? url.slice(1) : url), load: (filename: string) => { return new Promise((resolve, reject) => { loader.fs.readFile(filename, (err: Error, data: Buffer) => { @@ -272,33 +265,14 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { }, { loader: require.resolve('sass-loader'), - options: { - implementation: sassImplementation, - sourceMap: true, - sassOptions: { - importer: (url: string, from: string) => { - if (url.charAt(0) === '~') { - sassTildeUsageMessage.add( - `'${from}' imports '${url}' with a tilde. Usage of '~' in imports is deprecated.`, - ); - } - - return null; - }, - // Prevent use of `fibers` package as it no longer works in newer Node.js versions - fiber: false, - // bootstrap-sass requires a minimum precision of 8 - precision: 8, - includePaths, - // Use expanded as otherwise sass will remove comments that are needed for autoprefixer - // Ex: /* autoprefixer grid: autoplace */ - // See: https://github.com/webpack-contrib/sass-loader/blob/45ad0be17264ceada5f0b4fb87e9357abe85c4ff/src/getSassOptions.js#L68-L70 - outputStyle: 'expanded', - // Silences compiler warnings from 3rd party stylesheets - quietDeps: !buildOptions.verbose, - verbose: buildOptions.verbose, - }, - }, + options: getSassLoaderOptions( + root, + projectRoot, + sassImplementation, + includePaths, + false, + !buildOptions.verbose, + ), }, ], }, @@ -313,34 +287,14 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { }, { loader: require.resolve('sass-loader'), - options: { - implementation: sassImplementation, - sourceMap: true, - sassOptions: { - importer: (url: string, from: string) => { - if (url.charAt(0) === '~') { - sassTildeUsageMessage.add( - `'${from}' imports '${url}' with a tilde. Usage of '~' in imports is deprecated.`, - ); - } - - return null; - }, - // Prevent use of `fibers` package as it no longer works in newer Node.js versions - fiber: false, - indentedSyntax: true, - // bootstrap-sass requires a minimum precision of 8 - precision: 8, - includePaths, - // Use expanded as otherwise sass will remove comments that are needed for autoprefixer - // Ex: /* autoprefixer grid: autoplace */ - // See: https://github.com/webpack-contrib/sass-loader/blob/45ad0be17264ceada5f0b4fb87e9357abe85c4ff/src/getSassOptions.js#L68-L70 - outputStyle: 'expanded', - // Silences compiler warnings from 3rd party stylesheets - quietDeps: !buildOptions.verbose, - verbose: buildOptions.verbose, - }, - }, + options: getSassLoaderOptions( + root, + projectRoot, + sassImplementation, + includePaths, + true, + !buildOptions.verbose, + ), }, ], }, @@ -419,3 +373,69 @@ function getTailwindConfigPath({ projectRoot, root }: WebpackConfigOptions): str return undefined; } + +function getSassLoaderOptions( + root: string, + projectRoot: string, + implementation: SassWorkerImplementation | SassLegacyWorkerImplementation, + includePaths: string[], + indentedSyntax: boolean, + verbose: boolean, +): Record { + return implementation instanceof SassWorkerImplementation + ? { + sourceMap: true, + api: 'modern', + implementation, + // Webpack importer is only implemented in the legacy API. + // See: https://github.com/webpack-contrib/sass-loader/blob/997f3eb41d86dd00d5fa49c395a1aeb41573108c/src/utils.js#L642-L651 + webpackImporter: false, + sassOptions: { + loadPaths: [ + ...includePaths, + // Needed to resolve node packages and retain the same behaviour of with the legacy API as sass-loader resolves + // scss also from the cwd and project root. + // See: https://github.com/webpack-contrib/sass-loader/blob/997f3eb41d86dd00d5fa49c395a1aeb41573108c/src/utils.js#L307 + projectRoot, + path.join(root, 'node_modules'), + ], + // Use expanded as otherwise sass will remove comments that are needed for autoprefixer + // Ex: /* autoprefixer grid: autoplace */ + // See: https://github.com/webpack-contrib/sass-loader/blob/45ad0be17264ceada5f0b4fb87e9357abe85c4ff/src/getSassOptions.js#L68-L70 + style: 'expanded', + // Silences compiler warnings from 3rd party stylesheets + quietDeps: !verbose, + verbose, + syntax: indentedSyntax ? 'indented' : 'scss', + }, + } + : { + sourceMap: true, + api: 'legacy', + implementation, + sassOptions: { + importer: (url: string, from: string) => { + if (url.charAt(0) === '~') { + throw new Error( + `'${from}' imports '${url}' with a tilde. Usage of '~' in imports is no longer supported.`, + ); + } + + return null; + }, + // Prevent use of `fibers` package as it no longer works in newer Node.js versions + fiber: false, + indentedSyntax, + // bootstrap-sass requires a minimum precision of 8 + precision: 8, + includePaths, + // Use expanded as otherwise sass will remove comments that are needed for autoprefixer + // Ex: /* autoprefixer grid: autoplace */ + // See: https://github.com/webpack-contrib/sass-loader/blob/45ad0be17264ceada5f0b4fb87e9357abe85c4ff/src/getSassOptions.js#L68-L70 + outputStyle: 'expanded', + // Silences compiler warnings from 3rd party stylesheets + quietDeps: !verbose, + verbose, + }, + }; +} diff --git a/tests/legacy-cli/e2e/tests/build/styles/scss-legacy.ts b/tests/legacy-cli/e2e/tests/build/styles/scss-legacy.ts new file mode 100644 index 000000000000..c872d3170d53 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/styles/scss-legacy.ts @@ -0,0 +1,55 @@ +import { + writeMultipleFiles, + deleteFile, + expectFileToMatch, + replaceInFile, +} from '../../../utils/fs'; +import { expectToFail } from '../../../utils/utils'; +import { execWithEnv } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; +import assert from 'assert'; + +export default async function () { + await writeMultipleFiles({ + 'src/styles.scss': ` + @import './imported-styles.scss'; + body { background-color: blue; } + `, + 'src/imported-styles.scss': 'p { background-color: red; }', + 'src/app/app.component.scss': ` + .outer { + .inner { + background: #fff; + } + } + `, + }); + + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.styles = [{ input: 'src/styles.scss' }]; + }); + + await deleteFile('src/app/app.component.css'); + await replaceInFile('src/app/app.component.ts', './app.component.css', './app.component.scss'); + + const { stderr } = await execWithEnv( + 'ng', + ['build', '--source-map', '--configuration=development'], + { + ...process.env, + NG_BUILD_LEGACY_SASS: '1', + }, + ); + + assert.match( + stderr, + /Warning: 'NG_BUILD_LEGACY_SASS'/, + `Expected stderr to contain 'NG_BUILD_LEGACY_SASS' usage warning`, + ); + + await expectFileToMatch('dist/test-project/styles.css', /body\s*{\s*background-color: blue;\s*}/); + await expectFileToMatch('dist/test-project/styles.css', /p\s*{\s*background-color: red;\s*}/); + await expectToFail(() => expectFileToMatch('dist/test-project/styles.css', '"mappings":""')); + await expectFileToMatch('dist/test-project/main.js', /.outer.*.inner.*background:\s*#[fF]+/); +} diff --git a/tests/legacy-cli/e2e/tests/build/styles/scss.ts b/tests/legacy-cli/e2e/tests/build/styles/scss.ts index 1fc269f38830..6c68c1fc8240 100644 --- a/tests/legacy-cli/e2e/tests/build/styles/scss.ts +++ b/tests/legacy-cli/e2e/tests/build/styles/scss.ts @@ -8,10 +8,8 @@ import { expectToFail } from '../../../utils/utils'; import { ng } from '../../../utils/process'; import { updateJsonFile } from '../../../utils/project'; -export default function () { - // TODO(architect): Delete this test. It is now in devkit/build-angular. - - return writeMultipleFiles({ +export default async function () { + await writeMultipleFiles({ 'src/styles.scss': ` @import './imported-styles.scss'; body { background-color: blue; } @@ -24,28 +22,20 @@ export default function () { } } `, - }) - .then(() => deleteFile('src/app/app.component.css')) - .then(() => - updateJsonFile('angular.json', (workspaceJson) => { - const appArchitect = workspaceJson.projects['test-project'].architect; - appArchitect.build.options.styles = [{ input: 'src/styles.scss' }]; - }), - ) - .then(() => - replaceInFile('src/app/app.component.ts', './app.component.css', './app.component.scss'), - ) - .then(() => ng('build', '--source-map', '--configuration=development')) - .then(() => - expectFileToMatch('dist/test-project/styles.css', /body\s*{\s*background-color: blue;\s*}/), - ) - .then(() => - expectFileToMatch('dist/test-project/styles.css', /p\s*{\s*background-color: red;\s*}/), - ) - .then(() => - expectToFail(() => expectFileToMatch('dist/test-project/styles.css', '"mappings":""')), - ) - .then(() => - expectFileToMatch('dist/test-project/main.js', /.outer.*.inner.*background:\s*#[fF]+/), - ); + }); + + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.styles = [{ input: 'src/styles.scss' }]; + }); + + await deleteFile('src/app/app.component.css'); + await replaceInFile('src/app/app.component.ts', './app.component.css', './app.component.scss'); + + await ng('build', '--source-map', '--configuration=development'); + + await expectFileToMatch('dist/test-project/styles.css', /body\s*{\s*background-color: blue;\s*}/); + await expectFileToMatch('dist/test-project/styles.css', /p\s*{\s*background-color: red;\s*}/); + await expectToFail(() => expectFileToMatch('dist/test-project/styles.css', '"mappings":""')); + await expectFileToMatch('dist/test-project/main.js', /.outer.*.inner.*background:\s*#[fF]+/); } From ade007b05d5600f5af96548462d09aa9ef94380a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Sep 2022 07:46:37 +0000 Subject: [PATCH 0931/1388] ci: remove test-executor This is a copy of action-executor with a different `resource_class`. This is a bit redundant since it is overridden in most of the cases. --- .circleci/dynamic_config.yml | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index c924383532d8..3eb96251b66b 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -63,16 +63,6 @@ executors: working_directory: ~/ng resource_class: small - test-executor: - parameters: - nodeversion: - type: string - default: *default_nodeversion - docker: - - image: cimg/node:<< parameters.nodeversion >> - working_directory: ~/ng - resource_class: large - windows-executor: # Same as https://circleci.com/orbs/registry/orb/circleci/windows, but named. working_directory: ~/ng @@ -213,9 +203,10 @@ jobs: enum: *all_e2e_subsets default: 'npm' executor: - name: test-executor + name: action-executor nodeversion: << parameters.nodeversion >> parallelism: 8 + resource_class: large steps: - custom_attach_workspace - browser-tools/install-chrome @@ -249,7 +240,7 @@ jobs: test-browsers: executor: - name: test-executor + name: action-executor resource_class: medium steps: - custom_attach_workspace @@ -285,7 +276,7 @@ jobs: - run: yarn bazel build //tests/legacy-cli/... unit-test: - executor: test-executor + executor: action-executor resource_class: xlarge parameters: nodeversion: From 5d608b7dcfca7154344d842912884b8c69c18203 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Sep 2022 07:58:59 +0000 Subject: [PATCH 0932/1388] ci: increase the `resource_class` of `build-bazel-e2e` This commit changes the build-bazel-e2e `resource_class` from small to medium as currently this step is failing due to the lack of resources. The increase in resources is needed due to the increase in targets ``` yarn bazel query "//tests/legacy-cli/..." ts_library rule //tests/legacy-cli:runner _js_library rule //tests/legacy-cli/e2e/assets:assets ts_library rule //tests/legacy-cli/e2e/initialize:initialize ts_library rule //tests/legacy-cli/e2e/ng-snapshot:ng-snapshot ts_library rule //tests/legacy-cli/e2e/setup:setup ts_library rule //tests/legacy-cli/e2e/tests:tests ts_library rule //tests/legacy-cli/e2e/utils:utils ``` --- .circleci/dynamic_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 3eb96251b66b..0ecc28f51b54 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -271,6 +271,7 @@ jobs: build-bazel-e2e: executor: action-executor + resource_class: medium steps: - custom_attach_workspace - run: yarn bazel build //tests/legacy-cli/... From 198ddd773ae1434c528f0c870ea9a112301033ff Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 27 Sep 2022 09:12:23 +0000 Subject: [PATCH 0933/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 8 ++-- yarn.lock | 113 +++++++++++++++++++++++++++------------------------ 3 files changed, 67 insertions(+), 58 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index ea75408dbe75..37aa8a32d69c 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "493bb318d98bb7492cb30e534ad33df2fc5539b43d4dcc4e294a5cc60a126902", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.5.4/rules_nodejs-5.5.4.tar.gz"], + sha256 = "b011d6206e4e76696eda8287618a2b6375ff862317847cdbe38f8d0cd206e9ce", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.6.0/rules_nodejs-5.6.0.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 50ebde2cf93f..cb2a9988564c 100644 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.5.4", - "@bazel/jasmine": "5.5.4", + "@bazel/concatjs": "5.6.0", + "@bazel/jasmine": "5.6.0", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.38.0", - "@typescript-eslint/parser": "5.38.0", + "@typescript-eslint/eslint-plugin": "5.38.1", + "@typescript-eslint/parser": "5.38.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/yarn.lock b/yarn.lock index 2a70252e2e9e..55edcb37fb72 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1360,15 +1360,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.6.0.tgz#a699a38d084e9e1b6c9ed8b231f0cc88881aba49" + integrity sha512-bmVui+LGakpBn6KmyysB1TbYBhxIYnQ/bqQ46DI1e/Ar/0cFb9Dqp5a9dh6WNHUNcQDCr+iCjXnpar3rkH/irQ== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.5.4": version "5.5.4" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.4.tgz#d08b3f8127d3efb1085dce2f7039969fcb61b113" integrity sha512-C9R5hTgYmP/GU7yNzgOus6SaS7tyS5J5ptWruM3ERKaw5CIEPTi0hlBLmPpM9Wo8xIDNlF0BhGvM59T7bKs2iQ== -"@bazel/jasmine@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.5.4.tgz#fc300ba9c7f3e76a838ef27a8bc7ac55ccd681cc" - integrity sha512-bJmQ4najURqtzqlW8IsM+wA/oDvrFcdNoQVEuF14j9wURKrJJNPZhTDkbexqvVevBsYnBwdaNiv3vkBydFrBgw== +"@bazel/jasmine@5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.6.0.tgz#cf697395931910e329d99e7752fd266dbff32e54" + integrity sha512-82/m2C6CMP9OBRUQ6BVQnuE7zn+b2CBLzJccqw4oDVbRauLAM4W6KAHAjjoZAgXhWKw1NrKToEfcVGrjuz278w== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -2626,84 +2635,84 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz#ac919a199548861012e8c1fb2ec4899ac2bc22ae" - integrity sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ== +"@typescript-eslint/eslint-plugin@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz#9f05d42fa8fb9f62304cc2f5c2805e03c01c2620" + integrity sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ== dependencies: - "@typescript-eslint/scope-manager" "5.38.0" - "@typescript-eslint/type-utils" "5.38.0" - "@typescript-eslint/utils" "5.38.0" + "@typescript-eslint/scope-manager" "5.38.1" + "@typescript-eslint/type-utils" "5.38.1" + "@typescript-eslint/utils" "5.38.1" debug "^4.3.4" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.0.tgz#5a59a1ff41a7b43aacd1bb2db54f6bf1c02b2ff8" - integrity sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA== +"@typescript-eslint/parser@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.1.tgz#c577f429f2c32071b92dff4af4f5fbbbd2414bd0" + integrity sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw== dependencies: - "@typescript-eslint/scope-manager" "5.38.0" - "@typescript-eslint/types" "5.38.0" - "@typescript-eslint/typescript-estree" "5.38.0" + "@typescript-eslint/scope-manager" "5.38.1" + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/typescript-estree" "5.38.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz#8f0927024b6b24e28671352c93b393a810ab4553" - integrity sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA== +"@typescript-eslint/scope-manager@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz#f87b289ef8819b47189351814ad183e8801d5764" + integrity sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ== dependencies: - "@typescript-eslint/types" "5.38.0" - "@typescript-eslint/visitor-keys" "5.38.0" + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/visitor-keys" "5.38.1" -"@typescript-eslint/type-utils@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz#c8b7f681da825fcfc66ff2b63d70693880496876" - integrity sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA== +"@typescript-eslint/type-utils@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz#7f038fcfcc4ade4ea76c7c69b2aa25e6b261f4c1" + integrity sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw== dependencies: - "@typescript-eslint/typescript-estree" "5.38.0" - "@typescript-eslint/utils" "5.38.0" + "@typescript-eslint/typescript-estree" "5.38.1" + "@typescript-eslint/utils" "5.38.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.0.tgz#8cd15825e4874354e31800dcac321d07548b8a5f" - integrity sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA== +"@typescript-eslint/types@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.1.tgz#74f9d6dcb8dc7c58c51e9fbc6653ded39e2e225c" + integrity sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg== -"@typescript-eslint/typescript-estree@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz#89f86b2279815c6fb7f57d68cf9b813f0dc25d98" - integrity sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg== +"@typescript-eslint/typescript-estree@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz#657d858d5d6087f96b638ee383ee1cff52605a1e" + integrity sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g== dependencies: - "@typescript-eslint/types" "5.38.0" - "@typescript-eslint/visitor-keys" "5.38.0" + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/visitor-keys" "5.38.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.0.tgz#5b31f4896471818153790700eb02ac869a1543f4" - integrity sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA== +"@typescript-eslint/utils@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.1.tgz#e3ac37d7b33d1362bb5adf4acdbe00372fb813ef" + integrity sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.38.0" - "@typescript-eslint/types" "5.38.0" - "@typescript-eslint/typescript-estree" "5.38.0" + "@typescript-eslint/scope-manager" "5.38.1" + "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/typescript-estree" "5.38.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.38.0": - version "5.38.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz#60591ca3bf78aa12b25002c0993d067c00887e34" - integrity sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w== +"@typescript-eslint/visitor-keys@5.38.1": + version "5.38.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz#508071bfc6b96d194c0afe6a65ad47029059edbc" + integrity sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA== dependencies: - "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/types" "5.38.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 05e6f24d392375359df76db9bd16d8cd0a3abd5a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 27 Sep 2022 09:12:59 +0000 Subject: [PATCH 0934/1388] build: lock file maintenance --- yarn.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/yarn.lock b/yarn.lock index 55edcb37fb72..4b433b4c4ec3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2351,9 +2351,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.7.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.21.tgz#63ee6688070e456325b6748dc492a7b948593871" - integrity sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA== + version "18.7.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f" + integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== "@types/node@12.20.24": version "12.20.24" @@ -2371,9 +2371,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.30" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.30.tgz#34c8d934fe86b6ee5c21c08fc1b7858599c84a5a" - integrity sha512-8OEyg4oc/CqN5+LbInKNLA8MfbGzbC+k8lVPePXazuwEVrVeQ9gwMDX00HJwWbC7syc1FWRU6Mow0Lm+mibHAQ== + version "14.18.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.31.tgz#4b873dea3122e71af4f77e65ec5841397ff254d3" + integrity sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2547,9 +2547,9 @@ integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/tar@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@types/tar/-/tar-6.1.2.tgz#e60108a7d1b08cc91bf2faf1286cc08fdad48bbe" - integrity sha512-bnX3RRm70/n1WMwmevdOAeDU4YP7f5JSubgnuU+yrO+xQQjwDboJj3u2NTJI5ngCQhXihqVVAH5h5J8YpdpEvg== + version "6.1.3" + resolved "https://registry.yarnpkg.com/@types/tar/-/tar-6.1.3.tgz#46a2ce7617950c4852dfd7e9cd41aa8161b9d750" + integrity sha512-YzDOr5kdAeqS8dcO6NTTHTMJ44MUCBDoLEIyPtwEn7PssKqUYL49R1iCVJPeiPzPlKi6DbH33eZkpeJ27e4vHg== dependencies: "@types/node" "*" minipass "^3.3.5" @@ -4264,9 +4264,9 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" date-format@^4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.13.tgz#87c3aab3a4f6f37582c5f5f63692d2956fa67890" - integrity sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ== + version "4.0.14" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== dayjs@1.11.5: version "1.11.5" @@ -4581,9 +4581,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.251: - version "1.4.262" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.262.tgz#25715dfbae4c2e0640517cba184715241ecd8e63" - integrity sha512-Ckn5haqmGh/xS8IbcgK3dnwAVnhDyo/WQnklWn6yaMucYTq7NNxwlGE8ElzEOnonzRLzUCo2Ot3vUb2GYUF2Hw== + version "1.4.264" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.264.tgz#2f68a062c38b7a04bf57f3e6954b868672fbdcd3" + integrity sha512-AZ6ZRkucHOQT8wke50MktxtmcWZr67kE17X/nAXFf62NIdMdgY6xfsaJD5Szoy84lnkuPWH+4tTNE3s2+bPCiw== emoji-regex@^8.0.0: version "8.0.0" From 05a98c02924f656be3257d5f459ae88c1ae29fba Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 26 Sep 2022 10:41:08 +0000 Subject: [PATCH 0935/1388] feat(@angular-devkit/build-angular): karma builder `main` option is now optional The Karma builder `main` option is now optional. The default test bootstrapping is injected automatically in the bundle. --- .../angular_devkit/build_angular/index.md | 2 +- .../build_angular/src/builders/karma/index.ts | 31 +++++++++++++++++++ .../src/builders/karma/schema.json | 2 +- .../src/builders/karma/tests/setup.ts | 1 - .../src/webpack/configs/common.ts | 2 +- .../test/hello-world-app/angular.json | 1 - .../test/hello-world-app/src/test.ts | 22 ------------- .../hello-world-app/src/tsconfig.spec.json | 1 - .../hello-world-lib/projects/lib/src/test.ts | 23 -------------- .../projects/lib/tsconfig.lib.json | 1 - .../projects/lib/tsconfig.spec.json | 3 -- 11 files changed, 34 insertions(+), 55 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/test/hello-world-app/src/test.ts delete mode 100644 packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/test.ts diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index e7a6a890e1a1..5a7c1a144a75 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -178,7 +178,7 @@ export interface KarmaBuilderOptions { include?: string[]; inlineStyleLanguage?: InlineStyleLanguage_2; karmaConfig: string; - main: string; + main?: string; poll?: number; polyfills?: Polyfills_2; preserveSymlinks?: boolean; diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index d8ca058507d8..f406fa769047 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -111,6 +111,17 @@ export function execute( throw new Error('The builder requires a target.'); } + if (!options.main) { + webpackConfig.entry ??= {}; + if (typeof webpackConfig.entry === 'object' && !Array.isArray(webpackConfig.entry)) { + if (Array.isArray(webpackConfig.entry['main'])) { + webpackConfig.entry['main'].push(getBuiltInMainFile()); + } else { + webpackConfig.entry['main'] = [getBuiltInMainFile()]; + } + } + } + const projectMetadata = await context.getProjectMetadata(projectName); const sourceRoot = (projectMetadata.sourceRoot ?? projectMetadata.root ?? '') as string; @@ -169,3 +180,23 @@ export function execute( export { KarmaBuilderOptions }; export default createBuilder & KarmaBuilderOptions>(execute); + +function getBuiltInMainFile(): string { + const content = Buffer.from( + ` + import { getTestBed } from '@angular/core/testing'; + import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, + } from '@angular/platform-browser-dynamic/testing'; + + // Initialize the Angular testing environment. + getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { + errorOnUnknownElements: true, + errorOnUnknownProperties: true + }); +`, + ).toString('base64'); + + return `ng-virtual-main.js!=!data:text/javascript;base64,${content}`; +} diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index 35a9de5054ee..1d55ee6434c9 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -255,7 +255,7 @@ } }, "additionalProperties": false, - "required": ["main", "tsConfig", "karmaConfig"], + "required": ["tsConfig", "karmaConfig"], "definitions": { "assetPattern": { "oneOf": [ diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts index 03693ac3e9b3..3197a12e8aba 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts @@ -20,7 +20,6 @@ export const KARMA_BUILDER_INFO = Object.freeze({ * Also disables progress reporting to minimize logging output. */ export const BASE_OPTIONS = Object.freeze({ - main: 'src/test.ts', polyfills: 'src/polyfills.ts', tsConfig: 'src/tsconfig.spec.json', karmaConfig: 'karma.conf.js', diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 98f5dd550c50..2b585b8e71e5 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -130,7 +130,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Tue, 27 Sep 2022 16:30:12 +0000 Subject: [PATCH 0936/1388] feat(@schematics/angular): remove test.ts file from new projects The test.ts is now included in `@angular-devkit/build-angular` and unless this needs to be customized is no longer needed to be provided. Default config: ```js // This file is required by karma.conf.js and loads recursively all the .spec and framework files import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { errorOnUnknownElements: true, errorOnUnknownProperties: true }); ``` --- .../build_angular/src/builders/karma/tests/setup.ts | 2 +- .../build_angular/test/hello-world-app/angular.json | 3 ++- .../angular/application/files/src/test.ts.template | 12 ------------ .../application/files/tsconfig.spec.json.template | 3 --- packages/schematics/angular/application/index.ts | 3 +-- .../schematics/angular/application/index_spec.ts | 11 ++--------- .../angular/library/files/src/test.ts.template | 12 ------------ .../angular/library/files/tsconfig.lib.json.template | 1 - .../library/files/tsconfig.spec.json.template | 3 --- packages/schematics/angular/library/index.ts | 1 - packages/schematics/angular/library/index_spec.ts | 1 - 11 files changed, 6 insertions(+), 46 deletions(-) delete mode 100644 packages/schematics/angular/application/files/src/test.ts.template delete mode 100644 packages/schematics/angular/library/files/src/test.ts.template diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts index 3197a12e8aba..49d0633f7a21 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts @@ -20,7 +20,7 @@ export const KARMA_BUILDER_INFO = Object.freeze({ * Also disables progress reporting to minimize logging output. */ export const BASE_OPTIONS = Object.freeze({ - polyfills: 'src/polyfills.ts', + polyfills: ['zone.js', 'zone.js/testing', '@angular/localize/init'], tsConfig: 'src/tsconfig.spec.json', karmaConfig: 'karma.conf.js', browsers: 'ChromeHeadlessCI', diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json index adae68d5f1d0..87edec62bceb 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json @@ -117,7 +117,8 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": "src/polyfills.ts", + "polyfills": ["zone.js", "zone.js/testing", "@angular/localize/init"], + "tsConfig": "src/tsconfig.spec.json", "karmaConfig": "karma.conf.js", "browsers": "ChromeHeadlessCI", diff --git a/packages/schematics/angular/application/files/src/test.ts.template b/packages/schematics/angular/application/files/src/test.ts.template deleted file mode 100644 index 0e689016906e..000000000000 --- a/packages/schematics/angular/application/files/src/test.ts.template +++ /dev/null @@ -1,12 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { - errorOnUnknownElements: true, - errorOnUnknownProperties: true -}); diff --git a/packages/schematics/angular/application/files/tsconfig.spec.json.template b/packages/schematics/angular/application/files/tsconfig.spec.json.template index c9c241170103..7d40e67dd989 100644 --- a/packages/schematics/angular/application/files/tsconfig.spec.json.template +++ b/packages/schematics/angular/application/files/tsconfig.spec.json.template @@ -7,9 +7,6 @@ "jasmine" ] }, - "files": [ - "src/test.ts" - ], "include": [ "src/**/*.spec.ts", "src/**/*.d.ts" diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index e804269d4545..48ed9bb63239 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -210,7 +210,6 @@ function addAppToWorkspaceFile( : { builder: Builders.Karma, options: { - main: `${sourceRoot}/test.ts`, polyfills: ['zone.js', 'zone.js/testing'], tsConfig: `${projectRoot}tsconfig.spec.json`, karmaConfig: `${projectRoot}karma.conf.js`, @@ -231,7 +230,7 @@ function addAppToWorkspaceFile( }); } function minimalPathFilter(path: string): boolean { - const toRemoveList = /(test.ts|tsconfig.spec.json|karma.conf.js).template$/; + const toRemoveList = /(tsconfig.spec.json|karma.conf.js).template$/; return !toRemoveList.test(path); } diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 7055f485e7ca..cbc5764331cd 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -61,7 +61,6 @@ describe('Application Schematic', () => { '/projects/foo/src/index.html', '/projects/foo/src/main.ts', '/projects/foo/src/styles.css', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.module.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.html', @@ -164,8 +163,7 @@ describe('Application Schematic', () => { const tree = await schematicRunner .runSchematicAsync('application', defaultOptions, workspaceTree) .toPromise(); - const { files, extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.spec.json'); - expect(files).toEqual(['src/test.ts']); + const { extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.spec.json'); expect(_extends).toBe('../../tsconfig.json'); }); @@ -255,7 +253,6 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.html', '/projects/foo/src/app/app.component.spec.ts', @@ -285,7 +282,6 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.html', '/projects/foo/src/app/app.component.spec.ts', ].forEach((x) => expect(files).not.toContain(x)); @@ -315,7 +311,6 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', - '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.spec.ts', ].forEach((x) => expect(files).not.toContain(x)); @@ -410,7 +405,6 @@ describe('Application Schematic', () => { '/src/index.html', '/src/main.ts', '/src/styles.css', - '/src/test.ts', '/src/app/app.module.ts', '/src/app/app.component.css', '/src/app/app.component.html', @@ -436,7 +430,6 @@ describe('Application Schematic', () => { expect(buildOpt.tsConfig).toEqual('tsconfig.app.json'); const testOpt = prj.architect.test.options; - expect(testOpt.main).toEqual('src/test.ts'); expect(testOpt.tsConfig).toEqual('tsconfig.spec.json'); expect(testOpt.karmaConfig).toEqual('karma.conf.js'); expect(testOpt.styles).toEqual(['src/styles.css']); @@ -510,13 +503,13 @@ describe('Application Schematic', () => { expect(appTsConfig.extends).toEqual('./tsconfig.json'); const specTsConfig = readJsonFile(tree, '/tsconfig.spec.json'); expect(specTsConfig.extends).toEqual('./tsconfig.json'); - expect(specTsConfig.files).toEqual(['src/test.ts']); }); it(`should create correct paths when 'newProjectRoot' is blank`, async () => { const workspaceTree = await schematicRunner .runSchematicAsync('workspace', { ...workspaceOptions, newProjectRoot: '' }) .toPromise(); + const options = { ...defaultOptions, projectRoot: undefined }; const tree = await schematicRunner .runSchematicAsync('application', options, workspaceTree) diff --git a/packages/schematics/angular/library/files/src/test.ts.template b/packages/schematics/angular/library/files/src/test.ts.template deleted file mode 100644 index 0e689016906e..000000000000 --- a/packages/schematics/angular/library/files/src/test.ts.template +++ /dev/null @@ -1,12 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { - errorOnUnknownElements: true, - errorOnUnknownProperties: true -}); diff --git a/packages/schematics/angular/library/files/tsconfig.lib.json.template b/packages/schematics/angular/library/files/tsconfig.lib.json.template index 353a24b4ac75..d8d4b0b23347 100644 --- a/packages/schematics/angular/library/files/tsconfig.lib.json.template +++ b/packages/schematics/angular/library/files/tsconfig.lib.json.template @@ -9,7 +9,6 @@ "types": [] }, "exclude": [ - "src/test.ts", "**/*.spec.ts" ] } diff --git a/packages/schematics/angular/library/files/tsconfig.spec.json.template b/packages/schematics/angular/library/files/tsconfig.spec.json.template index 2108b9b916f1..2490345bafff 100644 --- a/packages/schematics/angular/library/files/tsconfig.spec.json.template +++ b/packages/schematics/angular/library/files/tsconfig.spec.json.template @@ -7,9 +7,6 @@ "jasmine" ] }, - "files": [ - "src/test.ts" - ], "include": [ "**/*.spec.ts", "**/*.d.ts" diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 69524593bcc2..70e77f788836 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -108,7 +108,6 @@ function addLibToWorkspaceFile( test: { builder: Builders.Karma, options: { - main: `${projectRoot}/src/test.ts`, tsConfig: `${projectRoot}/tsconfig.spec.json`, polyfills: ['zone.js', 'zone.js/testing'], karmaConfig: `${projectRoot}/karma.conf.js`, diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 3b775211a904..e2ec7a47b2a5 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -57,7 +57,6 @@ describe('Library Schematic', () => { '/projects/foo/README.md', '/projects/foo/tsconfig.lib.json', '/projects/foo/tsconfig.lib.prod.json', - '/projects/foo/src/test.ts', '/projects/foo/src/my-index.ts', '/projects/foo/src/lib/foo.module.ts', '/projects/foo/src/lib/foo.component.spec.ts', From 283b564d1de985f0af8c2fcb6192801a90baacda Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 27 Sep 2022 16:42:36 +0000 Subject: [PATCH 0937/1388] feat(@schematics/angular): remove environment files in new applications This commit removes the usage of environment files and `fileReplacements` in new application projects. Previously, the environment files was used to distinguish between a prod build to invoke `enableProdMode`. The `enableProdMode` however needed only for the case of JIT mode in production mode, which is a rare case as JIT mode is recommanded to be used in production. In the CLI, calling `enableProdMode` is not needed as `ngDevMode` it's set using the minifier. --- .../src/builders/app-shell/app-shell_spec.ts | 8 -- .../builders/browser/specs/rebuild_spec.ts | 7 -- .../specs/unused-files-warning_spec.ts | 12 +-- .../browser/specs/vendor-source-map_spec.ts | 1 - .../builders/browser/specs/web-worker_spec.ts | 3 - .../test/hello-world-app/angular.json | 6 -- .../src/environments/environment.prod.ts | 11 --- .../src/environments/environment.ts | 16 ---- .../test/hello-world-app/src/main.server.ts | 7 -- .../test/hello-world-app/src/main.ts | 6 -- .../src/environments/environment.prod.ts | 11 --- .../src/environments/environment.ts | 16 ---- .../test/angular-app/src/main.ts | 7 -- .../environments/environment.prod.ts.template | 3 - .../src/environments/environment.ts.template | 16 ---- .../application/files/src/main.ts.template | 8 +- .../schematics/angular/application/index.ts | 6 -- .../angular/application/index_spec.ts | 12 +-- .../angular/service-worker/index.ts | 57 ++++-------- .../angular/service-worker/index_spec.ts | 86 +------------------ .../src/__main@stripTsExtension__.ts.template | 9 +- .../angular/universal/index_spec.ts | 13 --- .../schematics/angular/utility/ast-utils.ts | 45 ---------- .../legacy-cli/e2e/tests/basic/environment.ts | 22 ----- tests/legacy-cli/e2e/tests/basic/rebuild.ts | 7 -- .../e2e/tests/build/rebuild-replacements.ts | 25 +++++- .../e2e/tests/i18n/ivy-localize-app-shell.ts | 14 --- tests/legacy-cli/e2e/tests/i18n/setup.ts | 6 -- .../e2e/tests/misc/third-party-decorators.ts | 3 +- .../e2e/tests/test/test-environment.ts | 26 ++++-- 30 files changed, 68 insertions(+), 401 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts delete mode 100644 packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts delete mode 100644 packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts delete mode 100644 packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts delete mode 100644 packages/schematics/angular/application/files/src/environments/environment.prod.ts.template delete mode 100644 packages/schematics/angular/application/files/src/environments/environment.ts.template delete mode 100644 tests/legacy-cli/e2e/tests/basic/environment.ts diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts index 592cbbdfe2e8..d47e786630ac 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/app-shell_spec.ts @@ -51,7 +51,6 @@ describe('AppShell Builder', () => { import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; - import { environment } from '../environments/environment'; import { RouterModule } from '@angular/router'; @NgModule({ @@ -91,15 +90,8 @@ describe('AppShell Builder', () => { export class AppServerModule {} `, 'src/main.ts': ` - import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; - - if (environment.production) { - enableProdMode(); - } document.addEventListener('DOMContentLoaded', () => { platformBrowserDynamic().bootstrapModule(AppModule) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts index 1146d0a036a4..3fd1698e08d2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts @@ -55,15 +55,8 @@ describe('Browser Builder rebuilds', () => { export let X = '$$_E2E_GOLDEN_VALUE_2'; `, 'src/main.ts': ` - import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; - - if (environment.production) { - enableProdMode(); - } platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts index bb30ba52de09..5ff6302007f5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts @@ -38,11 +38,11 @@ describe('Browser Builder unused files warnings', () => { }); it('should show warning when some files are unused', async () => { - host.replaceInFile( - 'src/tsconfig.app.json', - '"main.ts"', - '"main.ts", "environments/environment.prod.ts"', - ); + host.writeMultipleFiles({ + 'src/unused-file.ts': `export const unused = '1';`, + }); + + host.replaceInFile('src/tsconfig.app.json', '"main.ts"', '"main.ts", "unused-file.ts"'); const logger = new logging.Logger(''); const logs: string[] = []; @@ -51,7 +51,7 @@ describe('Browser Builder unused files warnings', () => { const run = await architect.scheduleTarget(targetSpec, undefined, { logger }); const output = (await run.result) as BrowserBuilderOutput; expect(output.success).toBe(true); - expect(logs.join().includes(`environment.prod.ts ${warningMessageSuffix}`)).toBe(true); + expect(logs.join().includes(`unused-file.ts ${warningMessageSuffix}`)).toBe(true); await run.stop(); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts index 4087e97ac9e4..6774ea793dcd 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts @@ -107,7 +107,6 @@ describe('Identifying third-party code in source maps', () => { expect(mainMap.sources.filter((_, i) => !mainMap[IGNORE_LIST].includes(i))).toEqual([ './src/app/app.component.ts', './src/app/app.module.ts', - './src/environments/environment.ts', './src/main.ts', ]); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts index 8dd061cbcdda..489e1a392aee 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts @@ -37,11 +37,8 @@ describe('Browser Builder Web Worker support', () => { }); `, 'src/main.ts': ` - import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; - if (environment.production) { enableProdMode(); } platformBrowserDynamic().bootstrapModule(AppModule).catch(err => console.error(err)); const worker = new Worker(new URL('./app/app.worker', import.meta.url), { type: 'module' }); diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json index 87edec62bceb..a07d22ad3216 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json @@ -43,12 +43,6 @@ }, "configurations": { "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], "optimization": true, "outputHashing": "all", "sourceMap": false, diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts deleted file mode 100644 index e0818f2e9056..000000000000 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.prod.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export const environment = { - production: true, -}; diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts deleted file mode 100644 index 4d557376ecf6..000000000000 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/environments/environment.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -// The file contents for the current environment will overwrite these during build. -// The build system defaults to the dev environment which uses `environment.ts`, but if you do -// `ng build --env=prod` then `environment.prod.ts` will be used instead. -// The list of which env maps to which file can be found in `angular.json`. - -export const environment = { - production: false, -}; diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts index 817a21636ff6..11c93d4085fd 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts @@ -7,12 +7,5 @@ */ import '@angular/localize/init'; -import { enableProdMode } from '@angular/core'; - -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} export { AppServerModule } from './app/app.server.module'; diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts index fdde6bed1f3f..2a16fe2683e5 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.ts @@ -6,15 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} platformBrowserDynamic() .bootstrapModule(AppModule) diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts deleted file mode 100644 index e0818f2e9056..000000000000 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.prod.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export const environment = { - production: true, -}; diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts deleted file mode 100644 index a922b2b6e660..000000000000 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/environments/environment.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -// The file contents for the current environment will overwrite these during build. -// The build system defaults to the dev environment which uses `environment.ts`, but if you do -// `ng build --env=prod` then `environment.prod.ts` will be used instead. -// The list of which env maps to which file can be found in `.angular-cli.json`. - -export const environment = { - production: false, -}; diff --git a/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts b/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts index d591155b22cd..8fd2558a6c7b 100644 --- a/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts +++ b/packages/angular_devkit/build_webpack/test/angular-app/src/main.ts @@ -6,15 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} platformBrowserDynamic() .bootstrapModule(AppModule) diff --git a/packages/schematics/angular/application/files/src/environments/environment.prod.ts.template b/packages/schematics/angular/application/files/src/environments/environment.prod.ts.template deleted file mode 100644 index 3612073bc31c..000000000000 --- a/packages/schematics/angular/application/files/src/environments/environment.prod.ts.template +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true -}; diff --git a/packages/schematics/angular/application/files/src/environments/environment.ts.template b/packages/schematics/angular/application/files/src/environments/environment.ts.template deleted file mode 100644 index f56ff47022c7..000000000000 --- a/packages/schematics/angular/application/files/src/environments/environment.ts.template +++ /dev/null @@ -1,16 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - -export const environment = { - production: false -}; - -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/packages/schematics/angular/application/files/src/main.ts.template b/packages/schematics/angular/application/files/src/main.ts.template index 3d492bb9626b..0a0fb9fb0927 100644 --- a/packages/schematics/angular/application/files/src/main.ts.template +++ b/packages/schematics/angular/application/files/src/main.ts.template @@ -1,12 +1,8 @@ -import { enableProdMode<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%> } from '@angular/core'; +<% if(!!viewEncapsulation) { %>import { ViewEncapsulation } from '@angular/core';<% }%> import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; -if (environment.production) { - enableProdMode(); -} <% if(!!viewEncapsulation) { %> platformBrowserDynamic().bootstrapModule(AppModule, { defaultEncapsulation: ViewEncapsulation.<%= viewEncapsulation %> @@ -15,4 +11,4 @@ platformBrowserDynamic().bootstrapModule(AppModule, { <% } else { %> platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.error(err)); -<% } %> \ No newline at end of file +<% } %> diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 48ed9bb63239..050154a7355f 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -168,12 +168,6 @@ function addAppToWorkspaceFile( configurations: { production: { budgets, - fileReplacements: [ - { - replace: `${sourceRoot}/environments/environment.ts`, - with: `${sourceRoot}/environments/environment.prod.ts`, - }, - ], outputHashing: 'all', }, development: { diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index cbc5764331cd..4a21828f0aa8 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -55,8 +55,6 @@ describe('Application Schematic', () => { '/projects/foo/karma.conf.js', '/projects/foo/tsconfig.app.json', '/projects/foo/tsconfig.spec.json', - '/projects/foo/src/environments/environment.ts', - '/projects/foo/src/environments/environment.prod.ts', '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', @@ -147,7 +145,7 @@ describe('Application Schematic', () => { const path = '/projects/foo/src/main.ts'; const content = tree.readContent(path); expect(content).toContain('defaultEncapsulation: ViewEncapsulation.ShadowDom'); - expect(content).toContain(`import { enableProdMode, ViewEncapsulation } from '@angular/core'`); + expect(content).toContain(`import { ViewEncapsulation } from '@angular/core'`); }); it('should set the right paths in the tsconfig.app.json', async () => { @@ -261,8 +259,6 @@ describe('Application Schematic', () => { expect(files).toEqual( jasmine.arrayContaining([ '/projects/foo/tsconfig.app.json', - '/projects/foo/src/environments/environment.ts', - '/projects/foo/src/environments/environment.prod.ts', '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', @@ -289,8 +285,6 @@ describe('Application Schematic', () => { expect(files).toEqual( jasmine.arrayContaining([ '/projects/foo/tsconfig.app.json', - '/projects/foo/src/environments/environment.ts', - '/projects/foo/src/environments/environment.prod.ts', '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', @@ -318,8 +312,6 @@ describe('Application Schematic', () => { expect(files).toEqual( jasmine.arrayContaining([ '/projects/foo/tsconfig.app.json', - '/projects/foo/src/environments/environment.ts', - '/projects/foo/src/environments/environment.prod.ts', '/projects/foo/src/favicon.ico', '/projects/foo/src/index.html', '/projects/foo/src/main.ts', @@ -399,8 +391,6 @@ describe('Application Schematic', () => { '/karma.conf.js', '/tsconfig.app.json', '/tsconfig.spec.json', - '/src/environments/environment.ts', - '/src/environments/environment.prod.ts', '/src/favicon.ico', '/src/index.html', '/src/main.ts', diff --git a/packages/schematics/angular/service-worker/index.ts b/packages/schematics/angular/service-worker/index.ts index 765bad7c4f9d..21dc767e7faf 100644 --- a/packages/schematics/angular/service-worker/index.ts +++ b/packages/schematics/angular/service-worker/index.ts @@ -22,12 +22,7 @@ import { import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; import { readWorkspace, writeWorkspace } from '../utility'; -import { - addSymbolToNgModuleMetadata, - getEnvironmentExportName, - insertImport, - isImported, -} from '../utility/ast-utils'; +import { addSymbolToNgModuleMetadata, insertImport } from '../utility/ast-utils'; import { applyToUpdateRecorder } from '../utility/change'; import { addPackageJsonDependency, getPackageJsonDependency } from '../utility/dependencies'; import { getAppModulePath } from '../utility/ng-ast-utils'; @@ -61,50 +56,19 @@ function updateAppModule(mainPath: string): Rule { const modulePath = getAppModulePath(host, mainPath); context.logger.debug(`module path: ${modulePath}`); - // add import - let moduleSource = getTsSourceFile(host, modulePath); - let importModule = 'ServiceWorkerModule'; - let importPath = '@angular/service-worker'; - if (!isImported(moduleSource, importModule, importPath)) { - const change = insertImport(moduleSource, modulePath, importModule, importPath); - if (change) { - const recorder = host.beginUpdate(modulePath); - applyToUpdateRecorder(recorder, [change]); - host.commitUpdate(recorder); - } - } - - // add import for environments - // import { environment } from '../environments/environment'; - moduleSource = getTsSourceFile(host, modulePath); - const environmentExportName = getEnvironmentExportName(moduleSource); - // if environemnt import already exists then use the found one - // otherwise use the default name - importModule = environmentExportName || 'environment'; - // TODO: dynamically find environments relative path - importPath = '../environments/environment'; - - if (!environmentExportName) { - // if environment import was not found then insert the new one - // with default path and default export name - const change = insertImport(moduleSource, modulePath, importModule, importPath); - if (change) { - const recorder = host.beginUpdate(modulePath); - applyToUpdateRecorder(recorder, [change]); - host.commitUpdate(recorder); - } - } + addImport(host, modulePath, 'ServiceWorkerModule', '@angular/service-worker'); + addImport(host, modulePath, 'isDevMode', '@angular/core'); // register SW in application module const importText = tags.stripIndent` ServiceWorkerModule.register('ngsw-worker.js', { - enabled: ${importModule}.production, + enabled: !isDevMode(), // Register the ServiceWorker as soon as the application is stable // or after 30 seconds (whichever comes first). registrationStrategy: 'registerWhenStable:30000' }) `; - moduleSource = getTsSourceFile(host, modulePath); + const moduleSource = getTsSourceFile(host, modulePath); const metadataChanges = addSymbolToNgModuleMetadata( moduleSource, modulePath, @@ -172,3 +136,14 @@ export default function (options: ServiceWorkerOptions): Rule { ]); }; } + +function addImport(host: Tree, filePath: string, symbolName: string, moduleName: string): void { + const moduleSource = getTsSourceFile(host, filePath); + const change = insertImport(moduleSource, filePath, symbolName, moduleName); + + if (change) { + const recorder = host.beginUpdate(filePath); + applyToUpdateRecorder(recorder, [change]); + host.commitUpdate(recorder); + } +} diff --git a/packages/schematics/angular/service-worker/index_spec.ts b/packages/schematics/angular/service-worker/index_spec.ts index aa16cd4c2246..48c088ed897a 100644 --- a/packages/schematics/angular/service-worker/index_spec.ts +++ b/packages/schematics/angular/service-worker/index_spec.ts @@ -73,14 +73,6 @@ describe('Service Worker Schematic', () => { expect(pkgText).toMatch(/import \{ ServiceWorkerModule \} from '@angular\/service-worker'/); }); - it('should import environment', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); - const pkgText = tree.readContent('/projects/bar/src/app/app.module.ts'); - expect(pkgText).toMatch(/import \{ environment \} from '\.\.\/environments\/environment'/); - }); - it('should add the SW import to the NgModule imports', async () => { const tree = await schematicRunner .runSchematicAsync('service-worker', defaultOptions, appTree) @@ -89,83 +81,7 @@ describe('Service Worker Schematic', () => { expect(pkgText).toMatch( new RegExp( "(\\s+)ServiceWorkerModule\\.register\\('ngsw-worker\\.js', \\{\\n" + - '\\1 enabled: environment\\.production,\\n' + - '\\1 // Register the ServiceWorker as soon as the application is stable\\n' + - '\\1 // or after 30 seconds \\(whichever comes first\\)\\.\\n' + - "\\1 registrationStrategy: 'registerWhenStable:30000'\\n" + - '\\1}\\)', - ), - ); - }); - - it('should add the SW import to the NgModule imports with aliased environment', async () => { - const moduleContent = ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - - import { AppComponent } from './app.component'; - import { environment as env } from '../environments/environment'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule - ], - bootstrap: [AppComponent] - }) - export class AppModule {} - `; - - appTree.overwrite('/projects/bar/src/app/app.module.ts', moduleContent); - - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); - const pkgText = tree.readContent('/projects/bar/src/app/app.module.ts'); - expect(pkgText).toMatch( - new RegExp( - "(\\s+)ServiceWorkerModule\\.register\\('ngsw-worker\\.js', \\{\\n" + - '\\1 enabled: env\\.production,\\n' + - '\\1 // Register the ServiceWorker as soon as the application is stable\\n' + - '\\1 // or after 30 seconds \\(whichever comes first\\)\\.\\n' + - "\\1 registrationStrategy: 'registerWhenStable:30000'\\n" + - '\\1}\\)', - ), - ); - }); - - it('should add the SW import to the NgModule imports with existing environment', async () => { - const moduleContent = ` - import { BrowserModule } from '@angular/platform-browser'; - import { NgModule } from '@angular/core'; - - import { AppComponent } from './app.component'; - import { environment } from '../environments/environment'; - - @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule - ], - bootstrap: [AppComponent] - }) - export class AppModule {} - `; - - appTree.overwrite('/projects/bar/src/app/app.module.ts', moduleContent); - - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); - const pkgText = tree.readContent('/projects/bar/src/app/app.module.ts'); - expect(pkgText).toMatch( - new RegExp( - "(\\s+)ServiceWorkerModule\\.register\\('ngsw-worker\\.js', \\{\\n" + - '\\1 enabled: environment\\.production,\\n' + + '\\1 enabled: !isDevMode\\(\\),\\n' + '\\1 // Register the ServiceWorker as soon as the application is stable\\n' + '\\1 // or after 30 seconds \\(whichever comes first\\)\\.\\n' + "\\1 registrationStrategy: 'registerWhenStable:30000'\\n" + diff --git a/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template b/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template index 5f14d1441931..a820cfb07611 100644 --- a/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template +++ b/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template @@ -12,12 +12,5 @@ import '@angular/platform-server/init'; */ import '@angular/localize/init'; -<% } %>import { enableProdMode } from '@angular/core'; - -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - +<% } %> export { <%= rootModuleClassName %> } from './app/<%= stripTsExtension(rootModuleFileName) %>'; diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index a9e64dc40be3..85a8b5bfa658 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -149,14 +149,6 @@ describe('Universal Schematic', () => { expect(opts.outputPath).toEqual('dist/bar/server'); expect(opts.main).toEqual('projects/bar/src/main.server.ts'); expect(opts.tsConfig).toEqual('projects/bar/tsconfig.server.json'); - const configurations = targets.server.configurations; - expect(configurations.production.fileReplacements.length).toEqual(1); - expect(configurations.production.fileReplacements[0].replace).toEqual( - 'projects/bar/src/environments/environment.ts', - ); - expect(configurations.production.fileReplacements[0].with).toEqual( - 'projects/bar/src/environments/environment.prod.ts', - ); }); it('should update workspace with a build target outputPath', async () => { @@ -193,16 +185,11 @@ describe('Universal Schematic', () => { appTree.overwrite( filePath, ` - import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; import { hmrBootstrap } from './hmr'; - if (environment.production) { - enableProdMode(); - } - const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule); if (!hmrBootstrap) { diff --git a/packages/schematics/angular/utility/ast-utils.ts b/packages/schematics/angular/utility/ast-utils.ts index 56bde71bc187..ecb6f6d36f7c 100644 --- a/packages/schematics/angular/utility/ast-utils.ts +++ b/packages/schematics/angular/utility/ast-utils.ts @@ -553,51 +553,6 @@ export function isImported( return matchingNodes.length > 0; } -/** - * This function returns the name of the environment export - * whether this export is aliased or not. If the environment file - * is not imported, then it will return `null`. - */ -export function getEnvironmentExportName(source: ts.SourceFile): string | null { - // Initial value is `null` as we don't know yet if the user - // has imported `environment` into the root module or not. - let environmentExportName: string | null = null; - - const allNodes = getSourceNodes(source); - - allNodes - .filter(ts.isImportDeclaration) - .filter( - (declaration) => - declaration.moduleSpecifier.kind === ts.SyntaxKind.StringLiteral && - declaration.importClause !== undefined, - ) - .map((declaration) => - // If `importClause` property is defined then the first - // child will be `NamedImports` object (or `namedBindings`). - (declaration.importClause as ts.ImportClause).getChildAt(0), - ) - // Find those `NamedImports` object that contains `environment` keyword - // in its text. E.g. `{ environment as env }`. - .filter(ts.isNamedImports) - .filter((namedImports) => namedImports.getText().includes('environment')) - .forEach((namedImports) => { - for (const specifier of namedImports.elements) { - // `propertyName` is defined if the specifier - // has an aliased import. - const name = specifier.propertyName || specifier.name; - - // Find specifier that contains `environment` keyword in its text. - // Whether it's `environment` or `environment as env`. - if (name.text.includes('environment')) { - environmentExportName = specifier.name.text; - } - } - }); - - return environmentExportName; -} - /** * Returns the RouterModule declaration from NgModule metadata, if any. */ diff --git a/tests/legacy-cli/e2e/tests/basic/environment.ts b/tests/legacy-cli/e2e/tests/basic/environment.ts deleted file mode 100644 index 5f376f8cc3db..000000000000 --- a/tests/legacy-cli/e2e/tests/basic/environment.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { expectFileToMatch } from '../../utils/fs'; -import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; - -export default async function () { - // Try a prod build. - await updateJsonFile('angular.json', (configJson) => { - const appArchitect = configJson.projects['test-project'].architect; - appArchitect.build.configurations['prod-env'] = { - ...appArchitect.build.configurations['development'], - fileReplacements: [ - { - src: 'src/environments/environment.ts', - replaceWith: 'src/environments/environment.prod.ts', - }, - ], - }; - }); - - await ng('build', '--configuration=prod-env'); - await expectFileToMatch('dist/test-project/main.js', /production:\s*true/); -} diff --git a/tests/legacy-cli/e2e/tests/basic/rebuild.ts b/tests/legacy-cli/e2e/tests/basic/rebuild.ts index 8b507f6a19bd..2506f2ac0f61 100644 --- a/tests/legacy-cli/e2e/tests/basic/rebuild.ts +++ b/tests/legacy-cli/e2e/tests/basic/rebuild.ts @@ -73,15 +73,8 @@ export default async function () { export let X = '$$_E2E_GOLDEN_VALUE_2'; `, 'src/main.ts': ` - import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; - - if (environment.production) { - enableProdMode(); - } platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts index f5c2b978ef84..50e46afd8e65 100644 --- a/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts +++ b/tests/legacy-cli/e2e/tests/build/rebuild-replacements.ts @@ -1,6 +1,6 @@ -import { appendToFile } from '../../utils/fs'; +import { appendToFile, createDir, writeMultipleFiles } from '../../utils/fs'; import { killAllProcesses, waitForAnyProcessOutputToMatch } from '../../utils/process'; -import { ngServe } from '../../utils/project'; +import { ngServe, updateJsonFile } from '../../utils/project'; const webpackGoodRegEx = / Compiled successfully./; @@ -9,7 +9,28 @@ export default async function () { return; } + await createDir('src/environments'); + try { + await writeMultipleFiles({ + 'src/environments/environment.ts': `export const env = 'dev';`, + 'src/environments/environment.prod.ts': `export const env = 'prod';`, + 'src/main.ts': ` + import { env } from './environments/environment'; + console.log(env); + `, + }); + + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.configurations.production.fileReplacements = [ + { + replace: 'src/environments/environment.ts', + with: 'src/environments/environment.prod.ts', + }, + ]; + }); + await ngServe('--configuration=production'); // Should trigger a rebuild. diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts index a0f828e8c800..9dac69df0190 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-app-shell.ts @@ -54,20 +54,6 @@ export default async function () { buildOptions.optimization = true; buildOptions.buildOptimizer = true; buildOptions.aot = true; - buildOptions.fileReplacements = [ - { - replace: 'src/environments/environment.ts', - with: 'src/environments/environment.prod.ts', - }, - ]; - - serverOptions.optimization = true; - serverOptions.fileReplacements = [ - { - replace: 'src/environments/environment.ts', - with: 'src/environments/environment.prod.ts', - }, - ]; // Enable localization for all locales buildOptions.localize = true; diff --git a/tests/legacy-cli/e2e/tests/i18n/setup.ts b/tests/legacy-cli/e2e/tests/i18n/setup.ts index 00279b6910bf..90e5f93e4c48 100644 --- a/tests/legacy-cli/e2e/tests/i18n/setup.ts +++ b/tests/legacy-cli/e2e/tests/i18n/setup.ts @@ -216,12 +216,6 @@ export async function setupI18nConfig() { appArchitect['build'].options.optimization = true; appArchitect['build'].options.buildOptimizer = true; appArchitect['build'].options.aot = true; - appArchitect['build'].options.fileReplacements = [ - { - replace: 'src/environments/environment.ts', - with: 'src/environments/environment.prod.ts', - }, - ]; appArchitect['build'].options.i18nMissingTranslation = 'error'; appArchitect['build'].options.vendorChunk = true; appArchitect['build'].options.sourceMap = true; diff --git a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts index 75cfd64063af..8aac6af53eb4 100644 --- a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts +++ b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts @@ -114,7 +114,6 @@ export default async function () { import { AppComponent } from './app.component'; import { StoreModule } from '@ngrx/store'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; - import { environment } from '../environments/environment'; import { EffectsModule } from '@ngrx/effects'; import { AppEffects } from './app.effects'; import { counterReducer } from './counter.reducer'; @@ -126,7 +125,7 @@ export default async function () { imports: [ BrowserModule, StoreModule.forRoot({ count: counterReducer }), - !environment.production ? StoreDevtoolsModule.instrument() : [], + StoreDevtoolsModule.instrument(), EffectsModule.forRoot([AppEffects]) ], providers: [], diff --git a/tests/legacy-cli/e2e/tests/test/test-environment.ts b/tests/legacy-cli/e2e/tests/test/test-environment.ts index 0342a6a5b982..e699a7ceb298 100644 --- a/tests/legacy-cli/e2e/tests/test/test-environment.ts +++ b/tests/legacy-cli/e2e/tests/test/test-environment.ts @@ -1,14 +1,22 @@ import { ng } from '../../utils/process'; -import { writeFile } from '../../utils/fs'; +import { writeFile, writeMultipleFiles } from '../../utils/fs'; import { updateJsonFile } from '../../utils/project'; export default function () { // Tests run in 'dev' environment by default. return ( - writeFile( - 'src/app/environment.spec.ts', - ` - import { environment } from '../environments/environment'; + writeMultipleFiles({ + 'src/environment.prod.ts': ` + export const environment = { + production: true + };`, + 'src/environment.ts': ` + export const environment = { + production: false + }; + `, + 'src/app/environment.spec.ts': ` + import { environment } from '../environment'; describe('Test environment', () => { it('should have production disabled', () => { @@ -16,7 +24,7 @@ export default function () { }); }); `, - ) + }) .then(() => ng('test', '--watch=false')) .then(() => updateJsonFile('angular.json', (configJson) => { @@ -25,8 +33,8 @@ export default function () { production: { fileReplacements: [ { - src: 'src/environments/environment.ts', - replaceWith: 'src/environments/environment.prod.ts', + src: 'src/environment.ts', + replaceWith: 'src/environment.prod.ts', }, ], }, @@ -39,7 +47,7 @@ export default function () { writeFile( 'src/app/environment.spec.ts', ` - import { environment } from '../environments/environment'; + import { environment } from '../environment'; describe('Test environment', () => { it('should have production enabled', () => { From 8f3617e657540f12413b9da5c8a809731ba4b415 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 28 Sep 2022 06:01:48 +0000 Subject: [PATCH 0938/1388] build: update ossf/scorecard-action action to v2.0.4 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index ed7f256fe792..f1fea5772e00 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -30,7 +30,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@865b4092859256271290c77adbd10a43f4779972 # tag=v2.0.3 + uses: ossf/scorecard-action@e363bfca00e752f91de7b7d2a77340e2e523cb18 # tag=v2.0.4 with: results_file: results.sarif results_format: sarif From 5990324b71dd10bff6bf0a5b18d72335473175d6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 28 Sep 2022 05:33:15 +0000 Subject: [PATCH 0939/1388] build: update angular to f90a310 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index e4b14b6d954f..8802c22df7b8 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@dbe78a59d7b9b93dbb3d85de1096982568156620 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@40aaf3831425d472965dd61e58cbd5854abd7214 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@dbe78a59d7b9b93dbb3d85de1096982568156620 + - uses: angular/dev-infra/github-actions/post-approval-changes@40aaf3831425d472965dd61e58cbd5854abd7214 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ea2365020ddb..ee715aa07d81 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@dbe78a59d7b9b93dbb3d85de1096982568156620 + - uses: angular/dev-infra/github-actions/feature-request@40aaf3831425d472965dd61e58cbd5854abd7214 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 7f336c928303..c1f9cf88ad55 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@dbe78a59d7b9b93dbb3d85de1096982568156620 + - uses: angular/dev-infra/github-actions/lock-closed@40aaf3831425d472965dd61e58cbd5854abd7214 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index cb2a9988564c..62ce8b9f016c 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f16e4a67c021baa8770fb785e9488d1c516e2eb7", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3", "@angular/cdk": "14.2.2", "@angular/common": "15.0.0-next.3", "@angular/compiler": "15.0.0-next.3", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.3", "@angular/localize": "15.0.0-next.3", "@angular/material": "14.2.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#590095872509df3bc23bc2f0608c8386fee7c30c", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9", "@angular/platform-browser": "15.0.0-next.3", "@angular/platform-browser-dynamic": "15.0.0-next.3", "@angular/platform-server": "15.0.0-next.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index ebf31bbe0356..eaf1267433c4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#f547c405441f10da7c50278abf5a22b5ddf53218", - "@angular/cdk": "github:angular/cdk-builds#6d46f7406646342920d836e229c64aa5bc36495c", - "@angular/common": "github:angular/common-builds#eb341921406d5f1fd529af42e15a2ea55310972b", - "@angular/compiler": "github:angular/compiler-builds#7002df0327ed4d6d752b549f17096afecb865fd0", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#aa033bd439fa5d96b07249c295ec38eaf379d27d", - "@angular/core": "github:angular/core-builds#24af6a5f1a5cf16ad8b4dce7002ec38021b66898", - "@angular/forms": "github:angular/forms-builds#6657165fb9ececdbf6d0cf66ec7e6e8767ad3616", - "@angular/language-service": "github:angular/language-service-builds#fc14e05eb307878f93e92cab054d122944d9328a", - "@angular/localize": "github:angular/localize-builds#ebd36d3f2907395d6924d5c02073cd294ccd3396", - "@angular/material": "github:angular/material-builds#1c7be1e8afffb3f85b6c39b809972f5ec9eb6f0f", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#763d12ba2ab6f66e075e5c0061f24d7685f3f741", - "@angular/platform-browser": "github:angular/platform-browser-builds#d4a8ca54239b3ccde2759f5fdd555362930b0b30", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#9fd1ac05e1189f7826788da1c24fe3feb84d869f", - "@angular/platform-server": "github:angular/platform-server-builds#9f295480e42816c21928ffe88142bcfc43df4af4", - "@angular/router": "github:angular/router-builds#30d09ac8172792a7dec245631cb23335bca309cc", - "@angular/service-worker": "github:angular/service-worker-builds#d3d86aa50f36f8a6ca27a12d759d8f0d13aa39cc" + "@angular/animations": "github:angular/animations-builds#f90a31082dbcce8b15121d9d5ae696cb1ada494f", + "@angular/cdk": "github:angular/cdk-builds#290c4561309a41912e80ed350ae78bbca85d0d3e", + "@angular/common": "github:angular/common-builds#dece5efabb4843c72c31424376b43e9258418bfe", + "@angular/compiler": "github:angular/compiler-builds#d017d8b63e2c2604608ed7336bacb54402113b71", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#fd1d10e5d12941997c7cfc855a1f1f9f0be23ceb", + "@angular/core": "github:angular/core-builds#fefa40be9c28b1465d05f5b0d3c93054b4f6283c", + "@angular/forms": "github:angular/forms-builds#86958d17ec801cfa534ac0a9a82bc96a1aab2047", + "@angular/language-service": "github:angular/language-service-builds#a2d6d6ca9264a38f2014237b6c5d8463fd37dfda", + "@angular/localize": "github:angular/localize-builds#e04905903b90fb31d9b612d434d02d3152ab7472", + "@angular/material": "github:angular/material-builds#8122b1ff168af286a7eb45190de639cb759047f7", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1c5e023c99c0aadb5c78379ee7d1a00ec79d6204", + "@angular/platform-browser": "github:angular/platform-browser-builds#cde288475ac0486debac0c292d62e4fb525175fa", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#077b3bba7be82a82a2ba0411871e3b6eb8095c4f", + "@angular/platform-server": "github:angular/platform-server-builds#2b062e6597d9d5bf9a8f10522cea4b54b891b2f2", + "@angular/router": "github:angular/router-builds#399cfa396d0131c65cea039b26cf47a1094c4cb1", + "@angular/service-worker": "github:angular/service-worker-builds#d59c4307578d4bc3f075681384a941a5e79764b3" } } diff --git a/yarn.lock b/yarn.lock index 4b433b4c4ec3..164ed0bf8146 100644 --- a/yarn.lock +++ b/yarn.lock @@ -127,10 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f16e4a67c021baa8770fb785e9488d1c516e2eb7": - version "0.0.0-dbe78a59d7b9b93dbb3d85de1096982568156620" - uid f16e4a67c021baa8770fb785e9488d1c516e2eb7 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f16e4a67c021baa8770fb785e9488d1c516e2eb7" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3": + version "0.0.0-40aaf3831425d472965dd61e58cbd5854abd7214" + uid "6df2d555d326fe6282de28db80c49dd439b42af3" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" @@ -241,10 +241,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#590095872509df3bc23bc2f0608c8386fee7c30c": - version "0.0.0-dbe78a59d7b9b93dbb3d85de1096982568156620" - uid "590095872509df3bc23bc2f0608c8386fee7c30c" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#590095872509df3bc23bc2f0608c8386fee7c30c" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9": + version "0.0.0-40aaf3831425d472965dd61e58cbd5854abd7214" + uid "8c3a9ec4176a7315d24977cfefb6edee22b724d9" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From 2f02c30d46e20a96e89ce7691710b38517efb8e5 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 28 Sep 2022 05:33:26 +0000 Subject: [PATCH 0940/1388] build: update dependency typescript to v4.8.4 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 62ce8b9f016c..6be396f4a90e 100644 --- a/package.json +++ b/package.json @@ -212,7 +212,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.0", - "typescript": "4.8.3", + "typescript": "4.8.4", "verdaccio": "5.15.3", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 3141af6261c0..9bffd79becf6 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "15.0.0-next.3", "@angular/compiler-cli": "15.0.0-next.3", - "typescript": "4.8.3", + "typescript": "4.8.4", "webpack": "5.74.0" } } diff --git a/yarn.lock b/yarn.lock index 164ed0bf8146..00a99c829223 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10774,7 +10774,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.3, typescript@^4.6.2, typescript@~4.8.0: +typescript@4.8.4: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +typescript@^4.6.2, typescript@~4.8.0: version "4.8.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== From 89b86f37dcfcf2bd57a9a45661e6ffd0d5859afa Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 28 Sep 2022 05:33:20 +0000 Subject: [PATCH 0941/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 93 +++++++++++++++++-- 4 files changed, 93 insertions(+), 18 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 37aa8a32d69c..9f674c7d731c 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "229a6d65b8b30af0dcaeb77c723b568ef7a2e4ad54dd65168a16992b6b6fe4c7", - strip_prefix = "bazel-lib-1.12.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.12.0.tar.gz", + sha256 = "79381b0975ba7d2d5653239e5bab12cf54d89b10217fe771b8edd95047a2e44b", + strip_prefix = "bazel-lib-1.12.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.12.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 6be396f4a90e..7f85a416f30b 100644 --- a/package.json +++ b/package.json @@ -81,13 +81,13 @@ "@angular/platform-server": "15.0.0-next.3", "@angular/router": "15.0.0-next.3", "@angular/service-worker": "15.0.0-next.3", - "@babel/core": "7.19.1", - "@babel/generator": "7.19.0", + "@babel/core": "7.19.3", + "@babel/generator": "7.19.3", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.1", - "@babel/preset-env": "7.19.1", + "@babel/preset-env": "7.19.3", "@babel/runtime": "7.19.0", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index f1beedd42cd9..92632d75adc9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,13 +10,13 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.19.1", - "@babel/generator": "7.19.0", + "@babel/core": "7.19.3", + "@babel/generator": "7.19.3", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.1", - "@babel/preset-env": "7.19.1", + "@babel/preset-env": "7.19.3", "@babel/runtime": "7.19.0", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", diff --git a/yarn.lock b/yarn.lock index 00a99c829223..7c7d621d806f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -303,6 +303,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== +"@babel/compat-data@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" + integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== + "@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -345,7 +350,28 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" + integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.0" + "@babel/helpers" "^7.19.0" + "@babel/parser" "^7.19.3" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.3" + "@babel/types" "^7.19.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.1.tgz#c8fa615c5e88e272564ace3d42fbc8b17bfeb22b" integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== @@ -375,6 +401,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@7.19.3", "@babel/generator@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== + dependencies: + "@babel/types" "^7.19.3" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -400,6 +435,16 @@ browserslist "^4.21.3" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" + integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== + dependencies: + "@babel/compat-data" "^7.19.3" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" @@ -547,7 +592,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== -"@babel/helper-validator-identifier@^7.18.6": +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== @@ -590,6 +635,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== +"@babel/parser@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" + integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -1208,13 +1258,13 @@ core-js-compat "^3.22.1" semver "^6.3.0" -"@babel/preset-env@7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.1.tgz#9f04c916f9c0205a48ebe5cc1be7768eb1983f67" - integrity sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA== +"@babel/preset-env@7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" + integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== dependencies: - "@babel/compat-data" "^7.19.1" - "@babel/helper-compilation-targets" "^7.19.1" + "@babel/compat-data" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" @@ -1282,7 +1332,7 @@ "@babel/plugin-transform-unicode-escapes" "^7.18.10" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.0" + "@babel/types" "^7.19.3" babel-plugin-polyfill-corejs2 "^0.3.3" babel-plugin-polyfill-corejs3 "^0.6.0" babel-plugin-polyfill-regenerator "^0.4.1" @@ -1332,6 +1382,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" + integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.19.3" + "@babel/types" "^7.19.3" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" @@ -1341,6 +1407,15 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@babel/types@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" + integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" From c2ac8c07904dbd59f414839655058539a170814a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Sep 2022 10:17:41 +0000 Subject: [PATCH 0942/1388] docs: release notes for the v14.2.4 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88cd2c52d3ec..c8c9c7dead99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.2.4 (2022-09-28) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [05b18f4e4](https://github.com/angular/angular-cli/commit/05b18f4e4b39d73c8a3532507c4b7bba8722bf80) | fix | add builders and schematic names as page titles in collected analytics | + +## Special Thanks + +Alan Agius, Jason Bedard and Paul Gschwendtner + + + # 15.0.0-next.2 (2022-09-21) From 91a6bd403d04ed6179d465fccc270116aa26c23d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 28 Sep 2022 10:06:02 +0000 Subject: [PATCH 0943/1388] build: update dependency ng-packagr to v15.0.0-next.3 --- package.json | 2 +- yarn.lock | 73 ++++++++++++++++++++++++++-------------------------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 7f85a416f30b..aabf5bdcfc16 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "magic-string": "0.26.4", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "15.0.0-next.2", + "ng-packagr": "15.0.0-next.3", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.0", diff --git a/yarn.lock b/yarn.lock index 7c7d621d806f..06800abb0940 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2070,7 +2070,7 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^14.0.0": +"@rollup/plugin-node-resolve@^14.1.0": version "14.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-14.1.0.tgz#f2fa475405cd7fed6420bf438fe393f988a9bc96" integrity sha512-5G2niJroNCz/1zqwXtk0t9+twOSDlG00k1Wfd7bkbbXmwg8H8dvgHdIWAun53Ps/rckfvOC7scDBjuGFg5OaWw== @@ -3106,7 +3106,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.0, ajv@^8.0.0, ajv@^8.10.0, ajv@^8.8.0: +ajv@8.11.0, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== @@ -3126,7 +3126,7 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@4.1.3, ansi-colors@^4.1.1: +ansi-colors@4.1.3, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== @@ -3327,7 +3327,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.12, autoprefixer@^10.4.8: +autoprefixer@10.4.12, autoprefixer@^10.4.12, autoprefixer@^10.4.8: version "10.4.12" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== @@ -3625,7 +3625,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.20.0, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.9.1: +browserslist@*, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.9.1: version "4.21.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== @@ -4006,7 +4006,7 @@ commander@^2.2.0, commander@^2.20.0, commander@^2.20.3: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^9.0.0: +commander@^9.4.0: version "9.4.0" resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== @@ -5047,7 +5047,7 @@ esbuild-wasm@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== -esbuild-wasm@0.15.9, esbuild-wasm@^0.15.0: +esbuild-wasm@0.15.9, esbuild-wasm@^0.15.9: version "0.15.9" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.9.tgz#5c20523a1fae7f90f55787108b35fad8a9c9d0dd" integrity sha512-5ST4pyUZMRnYg/D6zxPxmCovDSPtxHcckLNf8uPU4YkqBr4xsSSkcaijBB5dcy7gu1DqRS0uDaK5j+cZLrtbdg== @@ -5109,7 +5109,7 @@ esbuild@0.15.7: esbuild-windows-64 "0.15.7" esbuild-windows-arm64 "0.15.7" -esbuild@0.15.9, esbuild@^0.15.0: +esbuild@0.15.9, esbuild@^0.15.9: version "0.15.9" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== @@ -5890,7 +5890,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.3, glob@^8.0.0, glob@^8.0.1: +glob@8.0.3, glob@^8.0.1, glob@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== @@ -6946,7 +6946,7 @@ json5@^2.1.2, json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== -jsonc-parser@3.2.0, jsonc-parser@^3.0.0: +jsonc-parser@3.2.0, jsonc-parser@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== @@ -7130,7 +7130,7 @@ less-loader@11.0.0: dependencies: klona "^2.0.4" -less@4.1.3, less@^4.1.2: +less@4.1.3, less@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== @@ -7880,37 +7880,36 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0-next.2: - version "15.0.0-next.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.2.tgz#f2a9f8188965f37a905ef662ad204af00b18429e" - integrity sha512-jk/ACtIzFeYwa63k4S7qssIExZL0ofyhQw4iBhs8TRTfxiM8/ucdJKeTptQoWnM5dNgeKqU99wyLzgsoxWVdNA== +ng-packagr@15.0.0-next.3: + version "15.0.0-next.3" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.3.tgz#c3542c55012f7f745cc74776cec72bc2863bc52f" + integrity sha512-hYye1leBdyFiKc0+MzhhS8Kr3Wa3FohmA0mK+UWRMsu/H9J0zEtKkwsVxcq6S7tqlqRpem3D+9Spz6Fy7/E31w== dependencies: "@rollup/plugin-json" "^4.1.0" - "@rollup/plugin-node-resolve" "^14.0.0" - ajv "^8.10.0" - ansi-colors "^4.1.1" - autoprefixer "^10.4.8" - browserslist "^4.20.0" - cacache "^16.0.0" + "@rollup/plugin-node-resolve" "^14.1.0" + ajv "^8.11.0" + ansi-colors "^4.1.3" + autoprefixer "^10.4.12" + browserslist "^4.21.4" + cacache "^16.1.3" chokidar "^3.5.3" - commander "^9.0.0" + commander "^9.4.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.15.0" + esbuild-wasm "^0.15.9" find-cache-dir "^3.3.2" - glob "^8.0.0" + glob "^8.0.3" injection-js "^2.4.0" - jsonc-parser "^3.0.0" - less "^4.1.2" + jsonc-parser "^3.2.0" + less "^4.1.3" ora "^5.1.0" - postcss "^8.4.8" + postcss "^8.4.16" postcss-url "^10.1.3" - rollup "^2.70.0" + rollup "^2.79.1" rollup-plugin-sourcemaps "^0.6.3" - rxjs "^7.5.5" - sass "^1.49.9" - stylus "^0.59.0" + rxjs "^7.5.6" + sass "^1.55.0" optionalDependencies: - esbuild "^0.15.0" + esbuild "^0.15.9" nice-napi@^1.0.2: version "1.0.2" @@ -9016,7 +9015,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.7, postcss@^8.4.8: +postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== @@ -9685,7 +9684,7 @@ rollup-plugin-sourcemaps@^0.6.3: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@^2.70.0: +rollup@^2.79.1: version "2.79.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== @@ -9723,7 +9722,7 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.5.5: +rxjs@^7.5.5, rxjs@^7.5.6: version "7.5.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== @@ -9771,7 +9770,7 @@ sass@1.54.9: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.55.0, sass@^1.49.9: +sass@1.55.0, sass@^1.55.0: version "1.55.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== @@ -10459,7 +10458,7 @@ stylus-loader@7.0.0: klona "^2.0.5" normalize-path "^3.0.0" -stylus@0.59.0, stylus@^0.59.0: +stylus@0.59.0: version "0.59.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== From fb5a66ae66b595602d2a8aea8e938efe5df6d13c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Sep 2022 11:44:59 +0000 Subject: [PATCH 0944/1388] fix(@angular-devkit/build-angular): fix crash when Sass error occurs In some cases the build will crash when there is a Sass error due to the fact that the `span` property on the Error instance cannot be cloned. ``` process.nextTick(() => { throw err; }); ^ DataCloneError: function StaticClosure() { } could not be cloned. at MessagePort. (/node_modules/@angular-devkit/build-angular/src/sass/worker.js:61:41) ``` --- .../angular_devkit/build_angular/src/sass/worker.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index 65d168e009d0..a8e909edbb2f 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -93,7 +93,18 @@ parentPort.on('message', ({ id, hasImporter, source, options }: RenderRequestMes id, error: { span: { - ...span, + text: span.text, + context: span.context, + end: { + column: span.end.column, + offset: span.end.offset, + line: span.end.line, + }, + start: { + column: span.start.column, + offset: span.start.offset, + line: span.start.line, + }, url: span.url ? fileURLToPath(span.url) : undefined, }, message, From 73c07ed4c94aa174f186a870c2b539219a1e142f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Sep 2022 14:38:10 +0000 Subject: [PATCH 0945/1388] release: cut the v15.0.0-next.3 release --- CHANGELOG.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8c9c7dead99..fc403f979569 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,66 @@ + + +# 15.0.0-next.3 (2022-09-28) + +## Breaking Changes + +### @angular-devkit/build-angular + +- The server builder `bundleDependencies` option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles. + + The `externalDependencies` option can be used instead to exclude specific node_module packages from the final bundle. + +- - Deprecated support for tilde import has been removed. Please update the imports by removing the `~`. + + Before + + ```scss + @import '~font-awesome/scss/font-awesome'; + ``` + + After + + ```scss + @import 'font-awesome/scss/font-awesome'; + ``` + + - By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting `NG_BUILD_LEGACY_SASS=1`. + +- `require.context` are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | +| [766d4a089](https://github.com/angular/angular-cli/commit/766d4a0895e7895211e93bc73ff131c6e47613a7) | feat | add migration to remove require calls from karma builder main file | +| [597bfea1b](https://github.com/angular/angular-cli/commit/597bfea1b29cc7b25d1f466eb313cbeeb6dffc98) | feat | drop `polyfills.ts` file from new templates | +| [283b564d1](https://github.com/angular/angular-cli/commit/283b564d1de985f0af8c2fcb6192801a90baacda) | feat | remove environment files in new applications | +| [56a1e8f9f](https://github.com/angular/angular-cli/commit/56a1e8f9f52658488afb9d36007e96c96d08a03b) | feat | remove test.ts file from new projects | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | +| [23c233c29](https://github.com/angular/angular-cli/commit/23c233c296d4e264b36241fbba0b92ec00a00374) | fix | add builders and schematic names as page titles in collected analytics | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------- | +| [4ead45cab](https://github.com/angular/angular-cli/commit/4ead45caba08cb0b67dc7df2f6a9b304c75fff7d) | feat | add `ng-server-context` when using app-shell builder | +| [c592ec584](https://github.com/angular/angular-cli/commit/c592ec584f1c0b126a2045e5ea1b01cb1569ce4d) | feat | amend `polyfills` option in all builders to support an array of module specifiers | +| [05a98c029](https://github.com/angular/angular-cli/commit/05a98c02924f656be3257d5f459ae88c1ae29fba) | feat | karma builder `main` option is now optional | +| [9c13fce16](https://github.com/angular/angular-cli/commit/9c13fce162eff8d01d1fa6a7f0e0029da2887c86) | feat | remove `bundleDependencies` from server builder | +| [308e3a017](https://github.com/angular/angular-cli/commit/308e3a017f876bfc727e68803bfbce11e9d3396e) | feat | switch to use Sass modern API | +| [fb5a66ae6](https://github.com/angular/angular-cli/commit/fb5a66ae66b595602d2a8aea8e938efe5df6d13c) | fix | fix crash when Sass error occurs | +| [f393b0928](https://github.com/angular/angular-cli/commit/f393b09282582da47db683344e037fd1434b32a8) | refactor | disable `requireContext` parsing | + +## Special Thanks + +Alan Agius, Jason Bedard and Paul Gschwendtner + + + # 14.2.4 (2022-09-28) diff --git a/package.json b/package.json index aabf5bdcfc16..427f53b5e452 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.0.0-next.2", + "version": "15.0.0-next.3", "private": true, "description": "Software Development Kit for Angular", "bin": { From 15355a857652ba563b5c60ff468d0e9e59c4ef19 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Sep 2022 13:25:55 +0000 Subject: [PATCH 0946/1388] test: reduce polling test median greatest value This is an effort to reduce the flakiness of this test. --- .../build_angular/src/builders/browser/specs/poll_spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts index 7a067e01152d..74ed6da46d43 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/poll_spec.ts @@ -46,7 +46,7 @@ describe('Browser Builder poll', () => { intervals.sort(); const median = intervals[Math.trunc(intervals.length / 2)]; - expect(median).toBeGreaterThan(3000); + expect(median).toBeGreaterThan(2950); expect(median).toBeLessThan(12000); await run.stop(); From 8f8e02c3221c9477ec931bb6983daf6a2c8dc8be Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Sep 2022 09:26:17 +0000 Subject: [PATCH 0947/1388] fix(@angular-devkit/build-angular): support Yarn PNP resolution in modern SASS API This change add a Sass File importer that uses Webpack resolvers to better support scenarios when node packages are not stored in node_modules, such as Yarn PNP. --- .../src/webpack/configs/styles.ts | 65 ++++++++++++++----- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 85f420f356ed..3e57ebfe52de 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -9,7 +9,9 @@ import * as fs from 'fs'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import * as path from 'path'; -import { Configuration, RuleSetUseItem } from 'webpack'; +import type { FileImporter } from 'sass'; +import { pathToFileURL } from 'url'; +import type { Configuration, LoaderContext, RuleSetUseItem } from 'webpack'; import { StyleElement } from '../../builders/browser/schema'; import { SassWorkerImplementation } from '../../sass/sass-service'; import { SassLegacyWorkerImplementation } from '../../sass/sass-service-legacy'; @@ -267,11 +269,11 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { loader: require.resolve('sass-loader'), options: getSassLoaderOptions( root, - projectRoot, sassImplementation, includePaths, false, !buildOptions.verbose, + !!buildOptions.preserveSymlinks, ), }, ], @@ -289,11 +291,11 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { loader: require.resolve('sass-loader'), options: getSassLoaderOptions( root, - projectRoot, sassImplementation, includePaths, true, !buildOptions.verbose, + !!buildOptions.preserveSymlinks, ), }, ], @@ -376,29 +378,23 @@ function getTailwindConfigPath({ projectRoot, root }: WebpackConfigOptions): str function getSassLoaderOptions( root: string, - projectRoot: string, implementation: SassWorkerImplementation | SassLegacyWorkerImplementation, includePaths: string[], indentedSyntax: boolean, verbose: boolean, + preserveSymlinks: boolean, ): Record { return implementation instanceof SassWorkerImplementation ? { sourceMap: true, api: 'modern', implementation, - // Webpack importer is only implemented in the legacy API. + // Webpack importer is only implemented in the legacy API and we have our own custom Webpack importer. // See: https://github.com/webpack-contrib/sass-loader/blob/997f3eb41d86dd00d5fa49c395a1aeb41573108c/src/utils.js#L642-L651 webpackImporter: false, - sassOptions: { - loadPaths: [ - ...includePaths, - // Needed to resolve node packages and retain the same behaviour of with the legacy API as sass-loader resolves - // scss also from the cwd and project root. - // See: https://github.com/webpack-contrib/sass-loader/blob/997f3eb41d86dd00d5fa49c395a1aeb41573108c/src/utils.js#L307 - projectRoot, - path.join(root, 'node_modules'), - ], + sassOptions: (loaderContext: LoaderContext<{}>) => ({ + importers: [getSassResolutionImporter(loaderContext, root, preserveSymlinks)], + loadPaths: includePaths, // Use expanded as otherwise sass will remove comments that are needed for autoprefixer // Ex: /* autoprefixer grid: autoplace */ // See: https://github.com/webpack-contrib/sass-loader/blob/45ad0be17264ceada5f0b4fb87e9357abe85c4ff/src/getSassOptions.js#L68-L70 @@ -407,7 +403,7 @@ function getSassLoaderOptions( quietDeps: !verbose, verbose, syntax: indentedSyntax ? 'indented' : 'scss', - }, + }), } : { sourceMap: true, @@ -439,3 +435,42 @@ function getSassLoaderOptions( }, }; } + +function getSassResolutionImporter( + loaderContext: LoaderContext<{}>, + root: string, + preserveSymlinks: boolean, +): FileImporter<'async'> { + const commonResolverOptions: Parameters[0] = { + conditionNames: ['sass', 'style'], + mainFields: ['sass', 'style', 'main', '...'], + extensions: ['.scss', '.sass', '.css'], + restrictions: [/\.((sa|sc|c)ss)$/i], + preferRelative: true, + symlinks: !preserveSymlinks, + }; + + // Sass also supports import-only files. If you name a file .import.scss, it will only be loaded for imports, not for @uses. + // See: https://sass-lang.com/documentation/at-rules/import#import-only-files + const resolveImport = loaderContext.getResolve({ + ...commonResolverOptions, + dependencyType: 'sass-import', + mainFiles: ['_index.import', '_index', 'index.import', 'index', '...'], + }); + + const resolveModule = loaderContext.getResolve({ + ...commonResolverOptions, + dependencyType: 'sass-module', + mainFiles: ['_index', 'index', '...'], + }); + + return { + findFileUrl: (url, { fromImport }): Promise => { + const resolve = fromImport ? resolveImport : resolveModule; + + return resolve(root, url) + .then((file) => pathToFileURL(file)) + .catch(() => null); + }, + }; +} From 2b602924538bf987e92f806c25c2a3d008a3f0a9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 23 Sep 2022 13:11:41 +0000 Subject: [PATCH 0948/1388] feat(@angular-devkit/build-angular): providing a karma config is now optional Karma will now use a builtin config when the `karmaConfig` is not specified. --- .../angular_devkit/build_angular/index.md | 2 +- .../build_angular/src/builders/karma/index.ts | 71 +++++++++++++++---- .../src/builders/karma/schema.json | 2 +- 3 files changed, 61 insertions(+), 14 deletions(-) diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 5a7c1a144a75..e34dfbd7cad7 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -177,7 +177,7 @@ export interface KarmaBuilderOptions { fileReplacements?: FileReplacement_2[]; include?: string[]; inlineStyleLanguage?: InlineStyleLanguage_2; - karmaConfig: string; + karmaConfig?: string; main?: string; poll?: number; polyfills?: Polyfills_2; diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index f406fa769047..87b322e2ac87 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -7,7 +7,9 @@ */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import { Config, ConfigOptions } from 'karma'; +import { strings } from '@angular-devkit/core'; +import { Config, ConfigOptions, config, constants } from 'karma'; +import { createRequire } from 'module'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { defaultIfEmpty, switchMap } from 'rxjs/operators'; @@ -86,9 +88,17 @@ export function execute( return from(initialize(options, context, transforms.webpackConfiguration)).pipe( switchMap(async ([karma, webpackConfig]) => { - const karmaOptions: KarmaConfigOptions = { - singleRun, - }; + // Determine project name from builder context target + const projectName = context.target?.project; + if (!projectName) { + throw new Error(`The 'karma' builder requires a target to be specified.`); + } + + const karmaOptions: KarmaConfigOptions = options.karmaConfig + ? {} + : getBuiltInKarmaConfig(context.workspaceRoot, projectName); + + karmaOptions.singleRun = singleRun; // Convert browsers from a string to an array if (options.browsers) { @@ -106,11 +116,6 @@ export function execute( } } - const projectName = context.target?.project; - if (!projectName) { - throw new Error('The builder requires a target.'); - } - if (!options.main) { webpackConfig.entry ??= {}; if (typeof webpackConfig.entry === 'object' && !Array.isArray(webpackConfig.entry)) { @@ -140,13 +145,13 @@ export function execute( logger: context.logger, }; - const config = await karma.config.parseConfig( - path.resolve(context.workspaceRoot, options.karmaConfig), + const parsedKarmaConfig = await config.parseConfig( + options.karmaConfig && path.resolve(context.workspaceRoot, options.karmaConfig), transforms.karmaOptions ? transforms.karmaOptions(karmaOptions) : karmaOptions, { promiseConfig: true, throwErrors: true }, ); - return [karma, config] as [typeof karma, KarmaConfigOptions]; + return [karma, parsedKarmaConfig] as [typeof karma, KarmaConfigOptions]; }), switchMap( ([karma, karmaConfig]) => @@ -178,6 +183,48 @@ export function execute( ); } +function getBuiltInKarmaConfig( + workspaceRoot: string, + projectName: string, +): ConfigOptions & Record { + let coverageFolderName = projectName.charAt(0) === '@' ? projectName.slice(1) : projectName; + if (/[A-Z]/.test(coverageFolderName)) { + coverageFolderName = strings.dasherize(coverageFolderName); + } + + const workspaceRootRequire = createRequire(workspaceRoot + '/'); + + return { + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + 'karma-jasmine', + 'karma-chrome-launcher', + 'karma-jasmine-html-reporter', + 'karma-coverage', + '@angular-devkit/build-angular/plugins/karma', + ].map((p) => workspaceRootRequire(p)), + client: { + clearContext: false, // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true, // removes the duplicated traces + }, + coverageReporter: { + dir: path.join(workspaceRoot, 'coverage', coverageFolderName), + subdir: '.', + reporters: [{ type: 'html' }, { type: 'text-summary' }], + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: constants.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + restartOnFileChange: true, + }; +} + export { KarmaBuilderOptions }; export default createBuilder & KarmaBuilderOptions>(execute); diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index 1d55ee6434c9..f9a081b5bdd5 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -255,7 +255,7 @@ } }, "additionalProperties": false, - "required": ["tsConfig", "karmaConfig"], + "required": ["tsConfig"], "definitions": { "assetPattern": { "oneOf": [ From b6897dbb0a1ef287644e117251c1c76cc8afcae0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 28 Sep 2022 07:05:15 +0000 Subject: [PATCH 0949/1388] feat(@schematics/angular): remove `karma.conf.js` from newly generated projects `@angular-devkit/build-angular` now has a built in Karma config. Users can still create their own Karma configuration if they want to override the default configuration. --- .../application/files/karma.conf.js.template | 44 ------------------- .../schematics/angular/application/index.ts | 5 +-- .../angular/application/index_spec.ts | 21 ++------- .../library/files/karma.conf.js.template | 44 ------------------- packages/schematics/angular/library/index.ts | 1 - .../schematics/angular/library/index_spec.ts | 14 ------ tests/legacy-cli/e2e/tests/basic/test.ts | 42 +++++++++++++++--- .../generate/application/application-basic.ts | 2 +- .../generate/directive/directive-prefix.ts | 2 +- .../e2e/tests/misc/cli-exit-interop.ts | 2 +- tests/legacy-cli/e2e/tests/update/update.ts | 4 +- tests/legacy-cli/e2e/utils/process.ts | 2 +- tests/legacy-cli/e2e/utils/project.ts | 21 +++++---- tests/legacy-cli/e2e_runner.ts | 3 ++ 14 files changed, 60 insertions(+), 147 deletions(-) delete mode 100644 packages/schematics/angular/application/files/karma.conf.js.template delete mode 100644 packages/schematics/angular/library/files/karma.conf.js.template diff --git a/packages/schematics/angular/application/files/karma.conf.js.template b/packages/schematics/angular/application/files/karma.conf.js.template deleted file mode 100644 index 3cf2cece8d82..000000000000 --- a/packages/schematics/angular/application/files/karma.conf.js.template +++ /dev/null @@ -1,44 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - jasmine: { - // you can add configuration options for Jasmine here - // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html - // for example, you can disable the random execution with `random: false` - // or set a specific seed with `seed: 4321` - }, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, '<%= relativePathToWorkspaceRoot %>/coverage/<%= folderName%>'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 050154a7355f..680c2b80912a 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -206,7 +206,6 @@ function addAppToWorkspaceFile( options: { polyfills: ['zone.js', 'zone.js/testing'], tsConfig: `${projectRoot}tsconfig.spec.json`, - karmaConfig: `${projectRoot}karma.conf.js`, inlineStyleLanguage, assets: [`${sourceRoot}/favicon.ico`, `${sourceRoot}/assets`], styles: [`${sourceRoot}/styles.${options.style}`], @@ -224,9 +223,7 @@ function addAppToWorkspaceFile( }); } function minimalPathFilter(path: string): boolean { - const toRemoveList = /(tsconfig.spec.json|karma.conf.js).template$/; - - return !toRemoveList.test(path); + return !path.endsWith('tsconfig.spec.json.template'); } export default function (options: ApplicationOptions): Rule { diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 4a21828f0aa8..5919b254b6a6 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -9,7 +9,6 @@ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; import { parse as parseJson } from 'jsonc-parser'; import { latestVersions } from '../utility/latest-versions'; -import { getFileContent } from '../utility/test'; import { Schema as WorkspaceOptions } from '../workspace/schema'; import { Schema as ApplicationOptions, Style, ViewEncapsulation } from './schema'; @@ -52,7 +51,6 @@ describe('Application Schematic', () => { const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ - '/projects/foo/karma.conf.js', '/projects/foo/tsconfig.app.json', '/projects/foo/tsconfig.spec.json', '/projects/foo/src/favicon.ico', @@ -165,14 +163,6 @@ describe('Application Schematic', () => { expect(_extends).toBe('../../tsconfig.json'); }); - it('should set the right coverage folder in the karma.json file', async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); - const karmaConf = getFileContent(tree, '/projects/foo/karma.conf.js'); - expect(karmaConf).toContain(`dir: require('path').join(__dirname, '../../coverage/foo')`); - }); - it('should set the skipTests flag for other schematics when using --skipTests=true', async () => { const options: ApplicationOptions = { ...defaultOptions, skipTests: true }; const tree = await schematicRunner @@ -250,7 +240,6 @@ describe('Application Schematic', () => { const files = tree.files; [ '/projects/foo/tsconfig.spec.json', - '/projects/foo/karma.conf.js', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.html', '/projects/foo/src/app/app.component.spec.ts', @@ -278,6 +267,7 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', + '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.html', '/projects/foo/src/app/app.component.spec.ts', ].forEach((x) => expect(files).not.toContain(x)); @@ -305,6 +295,7 @@ describe('Application Schematic', () => { [ '/projects/foo/tsconfig.spec.json', '/projects/foo/karma.conf.js', + '/projects/foo/src/test.ts', '/projects/foo/src/app/app.component.css', '/projects/foo/src/app/app.component.spec.ts', ].forEach((x) => expect(files).not.toContain(x)); @@ -388,7 +379,6 @@ describe('Application Schematic', () => { const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ - '/karma.conf.js', '/tsconfig.app.json', '/tsconfig.spec.json', '/src/favicon.ico', @@ -421,7 +411,7 @@ describe('Application Schematic', () => { const testOpt = prj.architect.test.options; expect(testOpt.tsConfig).toEqual('tsconfig.spec.json'); - expect(testOpt.karmaConfig).toEqual('karma.conf.js'); + expect(testOpt.karmaConfig).toBeUndefined(); expect(testOpt.styles).toEqual(['src/styles.css']); }); @@ -574,10 +564,5 @@ describe('Application Schematic', () => { const cfg = JSON.parse(tree.readContent('/angular.json')); expect(cfg.projects['@myscope/myapp']).toBeDefined(); - - const karmaConf = getFileContent(tree, '/projects/myscope/myapp/karma.conf.js'); - expect(karmaConf).toContain( - `dir: require('path').join(__dirname, '../../../coverage/myscope/myapp')`, - ); }); }); diff --git a/packages/schematics/angular/library/files/karma.conf.js.template b/packages/schematics/angular/library/files/karma.conf.js.template deleted file mode 100644 index 0cefa1c1d13a..000000000000 --- a/packages/schematics/angular/library/files/karma.conf.js.template +++ /dev/null @@ -1,44 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - jasmine: { - // you can add configuration options for Jasmine here - // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html - // for example, you can disable the random execution with `random: false` - // or set a specific seed with `seed: 4321` - }, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, '<%= relativePathToWorkspaceRoot %>/coverage/<%= folderName %>'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 70e77f788836..dfeb2e477cff 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -110,7 +110,6 @@ function addLibToWorkspaceFile( options: { tsConfig: `${projectRoot}/tsconfig.spec.json`, polyfills: ['zone.js', 'zone.js/testing'], - karmaConfig: `${projectRoot}/karma.conf.js`, }, }, }, diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index e2ec7a47b2a5..bd129d2982a3 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -51,7 +51,6 @@ describe('Library Schematic', () => { const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ - '/projects/foo/karma.conf.js', '/projects/foo/ng-package.json', '/projects/foo/package.json', '/projects/foo/README.md', @@ -310,11 +309,6 @@ describe('Library Schematic', () => { const rootTsCfg = getJsonFileContent(tree, '/tsconfig.json'); expect(rootTsCfg.compilerOptions.paths['@myscope/mylib']).toEqual(['dist/myscope/mylib']); - - const karmaConf = getFileContent(tree, '/projects/myscope/mylib/karma.conf.js'); - expect(karmaConf).toContain( - `dir: require('path').join(__dirname, '../../../coverage/myscope/mylib')`, - ); }); it(`should dasherize scoped libraries`, async () => { @@ -339,14 +333,6 @@ describe('Library Schematic', () => { expect(cfg.projects['@myScope/myLib']).toBeDefined(); }); - it(`should set coverage folder to "coverage/foo"`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); - const karmaConf = getFileContent(tree, '/projects/foo/karma.conf.js'); - expect(karmaConf).toContain(`dir: require('path').join(__dirname, '../../coverage/foo')`); - }); - it(`should create correct paths when 'newProjectRoot' is blank`, async () => { const workspaceTree = await schematicRunner .runSchematicAsync('workspace', { ...workspaceOptions, newProjectRoot: '' }) diff --git a/tests/legacy-cli/e2e/tests/basic/test.ts b/tests/legacy-cli/e2e/tests/basic/test.ts index 6010b335035e..3c0c2d99ee68 100644 --- a/tests/legacy-cli/e2e/tests/basic/test.ts +++ b/tests/legacy-cli/e2e/tests/basic/test.ts @@ -1,9 +1,41 @@ import { ng } from '../../utils/process'; -import { moveFile } from '../../utils/fs'; +import { writeMultipleFiles } from '../../utils/fs'; -export default function () { +export default async function () { // make sure both --watch=false work - return ng('test', '--watch=false') - .then(() => moveFile('./karma.conf.js', './karma.conf.bis.js')) - .then(() => ng('test', '--watch=false', '--karma-config=karma.conf.bis.js')); + await ng('test', '--watch=false'); + + // Works with custom config + await writeMultipleFiles({ + './karma.conf.bis.js': ` + // Karma configuration file, see link for more information + // https://karma-runner.github.io/1.0/config/configuration-file.html + module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['ChromeHeadless'], + singleRun: false, + restartOnFileChange: true + }); + }; + `, + }); + + await ng('test', '--watch=false', '--karma-config=karma.conf.bis.js'); } diff --git a/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts b/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts index 3e9664d697c4..615e08426c2b 100644 --- a/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts +++ b/tests/legacy-cli/e2e/tests/generate/application/application-basic.ts @@ -5,6 +5,6 @@ import { useCIChrome } from '../../../utils/project'; export default function () { return ng('generate', 'application', 'app2') .then(() => expectFileToMatch('angular.json', /\"app2\":/)) - .then(() => useCIChrome('projects/app2')) + .then(() => useCIChrome('app2', 'projects/app2')) .then(() => ng('test', 'app2', '--watch=false')); } diff --git a/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts b/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts index e3a65abd376b..1d6c272fe9e2 100644 --- a/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts +++ b/tests/legacy-cli/e2e/tests/generate/directive/directive-prefix.ts @@ -21,7 +21,7 @@ export default function () { ) .then(() => ng('generate', 'application', 'app-two', '--skip-install')) .then(() => useCIDefaults('app-two')) - .then(() => useCIChrome('./projects/app-two')) + .then(() => useCIChrome('app-two', './projects/app-two')) .then(() => updateJsonFile('angular.json', (configJson) => { configJson.projects['test-project'].schematics = { diff --git a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts index e22ddd5a41f8..ed0fd050b5e9 100644 --- a/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts +++ b/tests/legacy-cli/e2e/tests/misc/cli-exit-interop.ts @@ -26,7 +26,7 @@ export default async function () { // Simulates issue https://github.com/angular/angular-cli/issues/23289 await replaceInFile('angular.json', /styles\.css/g, 'styles.scss'); - await useCIChrome(); + await useCIChrome('thirteen-project'); await useCIDefaults('thirteen-project'); await noSilentNg('test', '--watch=false'); } finally { diff --git a/tests/legacy-cli/e2e/tests/update/update.ts b/tests/legacy-cli/e2e/tests/update/update.ts index 72acc819cc30..b0fbbfe9df15 100644 --- a/tests/legacy-cli/e2e/tests/update/update.ts +++ b/tests/legacy-cli/e2e/tests/update/update.ts @@ -72,8 +72,8 @@ export default async function () { await ng('update', '@angular/cli', ...extraUpdateArgs); // Setup testing to use CI Chrome. - await useCIChrome('./'); - await useCIChrome('./e2e/'); + await useCIChrome('twelve-project', './'); + await useCIChrome('twelve-project', './e2e/'); await useCIDefaults('twelve-project'); // Run CLI commands. diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index ea697ac822b4..541aaf31a6a6 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -167,7 +167,7 @@ export function extractNpmEnv() { function extractCIEnv(): NodeJS.ProcessEnv { return Object.keys(process.env) - .filter((v) => v.startsWith('SAUCE_') || v === 'CI' || v === 'CIRCLECI') + .filter((v) => v.startsWith('SAUCE_') || v === 'CI' || v === 'CIRCLECI' || v === 'CHROME_BIN') .reduce((vars, n) => { vars[n] = process.env[n]; return vars; diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index b360ebdf2bc0..d48d6e6340be 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -83,8 +83,8 @@ export async function prepareProjectForE2e(name: string) { await runWebdriverUpdate(); } - await useCIChrome('e2e'); - await useCIChrome(''); + await useCIChrome(name, 'e2e'); + await useCIChrome(name, ''); await useCIDefaults(name); // Force sourcemaps to be from the root of the filesystem. @@ -160,7 +160,7 @@ export function useSha() { } } -export function useCIDefaults(projectName = 'test-project') { +export function useCIDefaults(projectName = 'test-project'): Promise { return updateJsonFile('angular.json', (workspaceJson) => { // Disable progress reporting on CI to reduce spam. const project = workspaceJson.projects[projectName]; @@ -182,10 +182,8 @@ export function useCIDefaults(projectName = 'test-project') { }); } -export async function useCIChrome(projectDir: string = ''): Promise { +export async function useCIChrome(projectName: string, projectDir = ''): Promise { const protractorConf = path.join(projectDir, 'protractor.conf.js'); - const karmaConf = path.join(projectDir, 'karma.conf.js'); - const chromePath = require('puppeteer').executablePath(); // Use Puppeteer in protractor if a config is found on the project. @@ -215,11 +213,12 @@ export async function useCIChrome(projectDir: string = ''): Promise { ); } - // Use Puppeteer in karma if a config is found on the project. - if (fs.existsSync(karmaConf)) { - await prependToFile(karmaConf, `process.env.CHROME_BIN = String.raw\`${chromePath}\`;`); - await replaceInFile(karmaConf, `browsers: ['Chrome']`, `browsers: ['ChromeHeadless']`); - } + // Use ChromeHeadless. + return updateJsonFile('angular.json', (workspaceJson) => { + const project = workspaceJson.projects[projectName]; + const appTargets = project.targets || project.architect; + appTargets.test.options.browsers = 'ChromeHeadless'; + }); } export function getNgCLIVersion(): SemVer { diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index 6cbc0b3b63b8..fa5ecd74bb23 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -170,6 +170,9 @@ console.log(['Tests:', ...testsToRun].join('\n ')); setGlobalVariable('argv', argv); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); +// This is needed by karma-chrome-launcher +// https://github.com/karma-runner/karma-chrome-launcher#headless-chromium-with-puppeteer +process.env['CHROME_BIN'] = require('puppeteer').executablePath(); Promise.all([findFreePort(), findFreePort(), findPackageTars()]) .then(async ([httpPort, httpsPort, packageTars]) => { From 8c3577d07c39bcb88d3171114075ec961e49fbf2 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 29 Sep 2022 06:36:08 +0000 Subject: [PATCH 0950/1388] build: update all non-major dependencies --- package.json | 4 ++-- packages/angular/cli/package.json | 2 +- yarn.lock | 30 ++++++++++++++++++++---------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 427f53b5e452..4f2cdb0fb618 100644 --- a/package.json +++ b/package.json @@ -177,7 +177,7 @@ "ng-packagr": "15.0.0-next.3", "node-fetch": "^2.2.0", "npm": "^8.11.0", - "npm-package-arg": "9.1.0", + "npm-package-arg": "9.1.2", "open": "8.4.0", "ora": "5.4.1", "pacote": "13.6.2", @@ -213,7 +213,7 @@ "ts-node": "^10.0.0", "tslib": "2.4.0", "typescript": "4.8.4", - "verdaccio": "5.15.3", + "verdaccio": "5.15.4", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 2e397196a67a..15e0fc07717b 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -32,7 +32,7 @@ "ini": "3.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", - "npm-package-arg": "9.1.0", + "npm-package-arg": "9.1.2", "npm-pick-manifest": "7.0.2", "open": "8.4.0", "ora": "5.4.1", diff --git a/yarn.lock b/yarn.lock index 06800abb0940..3d1881294909 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2833,10 +2833,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.28": - version "6.0.0-6-next.28" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.28.tgz#bf8ff0e90f3d292741440c7e6ab6744b97d96a98" - integrity sha512-1sJ28aVGMiRJrSz0e8f4t+IUgt/cyYmuDLhogXHOEjEIIEcfMNyQ5bVYqq03wLVoKWEh5D6gHo1hQnVKQl1L5g== +"@verdaccio/ui-theme@6.0.0-6-next.48": + version "6.0.0-6-next.48" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.48.tgz#23bbc8037bf9e1b27600f5160a0ff716982db48b" + integrity sha512-1jls+cpfEXqXc1ZzqLGGNs6YCyG6B6QwDCezEkSvgKm+9A49FnSJ2n2dNIGcQYOszwHmd8EvwN98OEIx3Bbtrw== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -8060,7 +8060,17 @@ npm-normalize-package-bin@^2.0.0: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== -npm-package-arg@9.1.0, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: +npm-package-arg@9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== @@ -11086,16 +11096,16 @@ verdaccio-htpasswd@10.5.0: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.15.3: - version "5.15.3" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.15.3.tgz#4953471c0130c8e88b3d5562b5c63b38b575ed3d" - integrity sha512-8oEtepXF1oksGVYahi2HS1Yx9u6HD/4ukBDNDfwISmlNp7HVKJL2+kjzmDJWam88BpDNxOBU/LFXWSsEAFKFCQ== +verdaccio@5.15.4: + version "5.15.4" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.15.4.tgz#23b2b97b33b14ca30a6fc18b1226a1f082f7e476" + integrity sha512-yYMqpEQCv/BfYW5K/Nq57dbx68ICP1GfK7RJ0A3SlhKgl6idT8x4cJyLjH7C4k1Tln3LIQk1/X6ZtSl7xhzwOg== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" "@verdaccio/readme" "10.4.1" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.28" + "@verdaccio/ui-theme" "6.0.0-6-next.48" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.0" From 84e3f7727dc1de31484704c7c06d51ff5392a34a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Thu, 29 Sep 2022 15:39:22 +0200 Subject: [PATCH 0951/1388] fix(@schematics/angular): remove empty lines The recet removal of enableProdMode in 283b564d1de985f0af8c2fcb6192801a90baacda introduced unnecessary empty lines in main.ts --- .../angular/application/files/src/main.ts.template | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/schematics/angular/application/files/src/main.ts.template b/packages/schematics/angular/application/files/src/main.ts.template index 0a0fb9fb0927..e830262f190f 100644 --- a/packages/schematics/angular/application/files/src/main.ts.template +++ b/packages/schematics/angular/application/files/src/main.ts.template @@ -1,5 +1,5 @@ -<% if(!!viewEncapsulation) { %>import { ViewEncapsulation } from '@angular/core';<% }%> -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +<% if(!!viewEncapsulation) { %>import { ViewEncapsulation } from '@angular/core'; +<% }%>import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; @@ -7,8 +7,7 @@ import { AppModule } from './app/app.module'; platformBrowserDynamic().bootstrapModule(AppModule, { defaultEncapsulation: ViewEncapsulation.<%= viewEncapsulation %> }) - .catch(err => console.error(err)); -<% } else { %> + .catch(err => console.error(err));<% } else { %> platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.error(err)); -<% } %> +<% } %> \ No newline at end of file From c76f9a337f64ee9cbd5a7c547a16049b13387fc5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Sep 2022 12:52:23 +0000 Subject: [PATCH 0952/1388] docs(@angular/cli): update platform support information in auto-completion Closes #23980 --- .../cli/src/commands/completion/long-description.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/angular/cli/src/commands/completion/long-description.md b/packages/angular/cli/src/commands/completion/long-description.md index 2b458433d6ac..26569cff5097 100644 --- a/packages/angular/cli/src/commands/completion/long-description.md +++ b/packages/angular/cli/src/commands/completion/long-description.md @@ -51,11 +51,8 @@ flexibility in their environments when desired. ## Platform support Angular CLI supports autocompletion for the Bash and Zsh shells on MacOS and Linux operating -systems. - -Windows does not support autocompletion in native shells, such as Cmd and Powershell. However, -the Angular CLI supports Git Bash and -[Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/) using Bash or Zsh. +systems. On Windows, Git Bash and [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/) +using Bash or Zsh are supported. ## Global install From f64c3bc7dc785897a66a7763bc9eefb2e11c88de Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 30 Sep 2022 00:13:11 +0000 Subject: [PATCH 0953/1388] build: update angular --- package.json | 28 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 112 +++++++++--------- 4 files changed, 88 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index 4f2cdb0fb618..70b2086eb313 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.3", + "@angular/animations": "15.0.0-next.4", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3", - "@angular/cdk": "14.2.2", - "@angular/common": "15.0.0-next.3", - "@angular/compiler": "15.0.0-next.3", - "@angular/compiler-cli": "15.0.0-next.3", - "@angular/core": "15.0.0-next.3", - "@angular/forms": "15.0.0-next.3", - "@angular/localize": "15.0.0-next.3", - "@angular/material": "14.2.2", + "@angular/cdk": "14.2.3", + "@angular/common": "15.0.0-next.4", + "@angular/compiler": "15.0.0-next.4", + "@angular/compiler-cli": "15.0.0-next.4", + "@angular/core": "15.0.0-next.4", + "@angular/forms": "15.0.0-next.4", + "@angular/localize": "15.0.0-next.4", + "@angular/material": "14.2.3", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9", - "@angular/platform-browser": "15.0.0-next.3", - "@angular/platform-browser-dynamic": "15.0.0-next.3", - "@angular/platform-server": "15.0.0-next.3", - "@angular/router": "15.0.0-next.3", - "@angular/service-worker": "15.0.0-next.3", + "@angular/platform-browser": "15.0.0-next.4", + "@angular/platform-browser-dynamic": "15.0.0-next.4", + "@angular/platform-server": "15.0.0-next.4", + "@angular/router": "15.0.0-next.4", + "@angular/service-worker": "15.0.0-next.4", "@babel/core": "7.19.3", "@babel/generator": "7.19.3", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 9bffd79becf6..0f8347fe37ef 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.3", - "@angular/compiler-cli": "15.0.0-next.3", + "@angular/compiler": "15.0.0-next.4", + "@angular/compiler-cli": "15.0.0-next.4", "typescript": "4.8.4", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index eaf1267433c4..8ef6e72f8152 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#f90a31082dbcce8b15121d9d5ae696cb1ada494f", - "@angular/cdk": "github:angular/cdk-builds#290c4561309a41912e80ed350ae78bbca85d0d3e", - "@angular/common": "github:angular/common-builds#dece5efabb4843c72c31424376b43e9258418bfe", - "@angular/compiler": "github:angular/compiler-builds#d017d8b63e2c2604608ed7336bacb54402113b71", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#fd1d10e5d12941997c7cfc855a1f1f9f0be23ceb", - "@angular/core": "github:angular/core-builds#fefa40be9c28b1465d05f5b0d3c93054b4f6283c", - "@angular/forms": "github:angular/forms-builds#86958d17ec801cfa534ac0a9a82bc96a1aab2047", - "@angular/language-service": "github:angular/language-service-builds#a2d6d6ca9264a38f2014237b6c5d8463fd37dfda", - "@angular/localize": "github:angular/localize-builds#e04905903b90fb31d9b612d434d02d3152ab7472", - "@angular/material": "github:angular/material-builds#8122b1ff168af286a7eb45190de639cb759047f7", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1c5e023c99c0aadb5c78379ee7d1a00ec79d6204", - "@angular/platform-browser": "github:angular/platform-browser-builds#cde288475ac0486debac0c292d62e4fb525175fa", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#077b3bba7be82a82a2ba0411871e3b6eb8095c4f", - "@angular/platform-server": "github:angular/platform-server-builds#2b062e6597d9d5bf9a8f10522cea4b54b891b2f2", - "@angular/router": "github:angular/router-builds#399cfa396d0131c65cea039b26cf47a1094c4cb1", - "@angular/service-worker": "github:angular/service-worker-builds#d59c4307578d4bc3f075681384a941a5e79764b3" + "@angular/animations": "github:angular/animations-builds#ff48c3b013d1462d156997b40c917d1dcc4d4997", + "@angular/cdk": "github:angular/cdk-builds#640054c36f46b5f50bb6351bc7f987e72c0e769a", + "@angular/common": "github:angular/common-builds#402d21c9d62d22af03074577f51321749f2bcbbc", + "@angular/compiler": "github:angular/compiler-builds#01e38e28c81ca091684bc6e555ddad7e1d0f0ec1", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#ac332dbabfecbf346d6ade272a8a8118a7565fc6", + "@angular/core": "github:angular/core-builds#1b9f6a0f13112c2c90e3e5f35519a5ca6a1f59ad", + "@angular/forms": "github:angular/forms-builds#c725c64fd34835812954559a5f84030b7b90aeb2", + "@angular/language-service": "github:angular/language-service-builds#3736255654be7a0f53dce1527b4371b205280e99", + "@angular/localize": "github:angular/localize-builds#c47a670d230d27286a7432a4a68ce6d1f81ffde0", + "@angular/material": "github:angular/material-builds#887608f4879faa4c7f6405762698c3a6987ac02c", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ff64fa2fbed793b9d9fc5b38f1ccaf92e352ccb3", + "@angular/platform-browser": "github:angular/platform-browser-builds#4a5f5eabfa4d700495c77243067927bed58a33f2", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#044a414d58c9f8f01227537eddf8716abf290c1f", + "@angular/platform-server": "github:angular/platform-server-builds#4b426c4d53197b49dd680d3aa172e6c4ad684a1a", + "@angular/router": "github:angular/router-builds#a4fb5401d9d056a478b38be036c1f4c3cef8164d", + "@angular/service-worker": "github:angular/service-worker-builds#41f502fd5ee9768e6048a3acb5618914cdbe05f4" } } diff --git a/yarn.lock b/yarn.lock index 3d1881294909..3a8fc789d321 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.3.tgz#979ae63b7642a7efa30c0d6ae5de2330312bf730" - integrity sha512-J+H8ySPQgQ3mcmTJSlkwRNVsDbTB2HQuKFHx3oVsWhXxR2CcI4fWdoC+0Gn6MbYsIcqq0DmA94XUDqkPjDHn1g== +"@angular/animations@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.4.tgz#e4d2fa1d614b389506b0a7dc890db65e7f432203" + integrity sha512-g02tKpmh/WbxV684A2O3BemxDht/x7gxOeC60/vgomlEhBwQEHVlD7hjl84nCOBY8aX/wVuOL1Zt4ODM2PKi7A== dependencies: tslib "^2.3.0" @@ -165,26 +165,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.2": - version "14.2.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.2.tgz#9e49620c816b7f34e7c59b0dee705e7c1b1260df" - integrity sha512-PXEnhX+QDOsmHVVnqTuoGaK7Wn9hFd5kWAmHTTU7lZr3XVu/AtDcEU+LB19wOFU0fY+kSYHMgN+BYo1TiR8vbw== +"@angular/cdk@14.2.3": + version "14.2.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.3.tgz#0357923ba3798d8e49b56edfce9344fc9f9aeb6d" + integrity sha512-ej8LZOlND4x5w18R930gtXBgvyUAGapiz0romp4Q5NXGdvin/D9fjBHT6t+WzcWZTckWFsgOVtTHhjSTb6KF+g== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.3.tgz#65d670cdcdf8c031fdbd2e4f51490b67f902c666" - integrity sha512-01oGk9NNBEXgAI8aDwxxbY0ivDuMGM8auMm/DMWJh1udZgBWtZRbPJ454S+Rk2LEV4NK0IKAbppcixQ7H42dcQ== +"@angular/common@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.4.tgz#92bb8666610f828cd976547beb78c6a979cb944c" + integrity sha512-9/W+xvYrWtR9cU8DjV0WiAFu/7ojWJzCRjBBdc4VURCusWQtmTpZ/5RTl2wxy/HQbKQl7RigY3sKO773lyTdFw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.3.tgz#c3dadf2e4fed6eb841ced5c6577a55b91b778383" - integrity sha512-ORv+FBH6GbJ8iter7nmJKPGzehnM3GAmHEn6h41/N5YzuRW+bRWmhSgWtG46H7yzD5n4CXJllyxbi9AtMXAkKg== +"@angular/compiler-cli@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.4.tgz#213b9a59d2da9e8c6bbe6af3aaea02572f026943" + integrity sha512-OERQq3HkKi6HI5GslZWA3RV5PM2URLhVkd6S8ocLt/2wTPZCVK8zkfm1bMltMY1OfCNfVeYO9wfzsEd5rBPwYg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -197,17 +197,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.3.tgz#505657908b7d8c65f0b1233f0beed9f8dbb559d6" - integrity sha512-O4kZ7pjHz3+SKOBTcSGGaCbobU6BMNzIIGpMbm1+0CRxh1WAJ5a8HmSVlppZW2qb7yE3xGrl7BAA3uIDVFHtkQ== +"@angular/compiler@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.4.tgz#ccd03d3a4a98441c020f75c46aa501bcf89ee092" + integrity sha512-DPeIAXhaEJFkz9UHD05JbC5PNZqvZwer9tK/TRr7PcK8Vtv8mcXe0laxa4fA4aQH8cqJaALKyBN6v4YRJx/OKA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.3.tgz#72cf4f00dd324da5b52ef243f1b5177e949498c9" - integrity sha512-NysJXSnCOugnA7Mb88v9pnoDKJGInjpuDsr6+Ge13bbMyW1cP7R7POGH2RSj333fMoynhHDJE8T7IF39xbhZOQ== +"@angular/core@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.4.tgz#2632c382f35986ef23e86a42241b7575dfda57d0" + integrity sha512-241A7CBWpQrp0NXFozr5UbTzZWWmoBe1O4r2yPEW47Q5xVCeaKwTaeSuOqu2QgwpLuC7uSNyalRBe33qQyoEKA== dependencies: tslib "^2.3.0" @@ -218,26 +218,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.3.tgz#e730258f0e30a522927a8545aab6e2544db843c6" - integrity sha512-B0vzHK8CWMerN81kBZEwtHV8WIZhd1brvQbYI2S3LT7DSoWXYvU/8b3HIREkw4T1+e6lVXgx+1KSQ8F/zZY9Aw== +"@angular/forms@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.4.tgz#2fe84858b7ea640d16453a9c586bb0f461ea13fe" + integrity sha512-FikgJY7xdUE1Me6zQ146Wj8Jjo91/wEy2EqQGzUMbfn88ZTvs1zQhn2GP/4bdniuF+D9TVkrRJShHMOKTszLlg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.3.tgz#ac6a2ad1830654891afb6cb4468a61bd153aeacd" - integrity sha512-99zlY1far7d4SHaemXwb7yuqQlr5x41ulx4t1V06cnd7H5qrK15zNVTqacCZy7pPyAYmb4lx2hvBPQQxG11Wxg== +"@angular/localize@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.4.tgz#d87819899e4bc27fc14436567caed198f054ae29" + integrity sha512-THc4vABtCBblInkb4gHDfm3WWJg2lSRQ+JgU4JaBbHJfnSwNsXibr+o0CatcT/RPFHvK+m1MkggHtzxiDTpu3w== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.2": - version "14.2.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.2.tgz#b9d834180eb0bba07a6aa946c090a6155b9716e7" - integrity sha512-jVCaESSTTkLjRvMzSQj294s0Lz1YMVFkl0svrMtWgkUMXHEfx2Vjw6FXdrVrBXlxEIrpfhkTEXVN2DC1kkAkQw== +"@angular/material@14.2.3": + version "14.2.3" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.3.tgz#07738b5ad297d422f92f5271c45d1ca57fb0e8d1" + integrity sha512-25MjTXE3XBfDjsDh1+CH13o8q1fhC6QiRdzB/0soDAn6NLi3dGlH7at68WFrt894kvXwBC37sM0A2VE6J2mk1A== dependencies: tslib "^2.3.0" @@ -249,40 +249,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.3.tgz#dd17bd284f74f8de3bb53c82b7d825b6f1e9ddc9" - integrity sha512-YpANGz9v/hja5TTp4bvCKSrJZGgUfxLMLS6fMyd8AOmTijzShUxUwL5PuTLUHLAkvy5PkC+V8cUw4m/2+mUlEQ== +"@angular/platform-browser-dynamic@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.4.tgz#8e9013b6aaf3e7b7f324b0bab654ef9607314370" + integrity sha512-gCNKZPY9cZyogGv6R8fi4Uh0ZuqaHR3deqLXr1PC4Sbg7KJeGvKVATkVAFRvczEUrykGixmCHi1/6pRfSCV5aA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.3.tgz#a5f99dc3d3197cfe7a49074ea48de856de0c9719" - integrity sha512-tAEzZ+84RLxOYqjqPszDs0AvJcs6kH9lNinAF9nZJjZSgUhwY+IAI04fNjw6TPSXRQgurNwiyVTf+J+yx/Ifyw== +"@angular/platform-browser@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.4.tgz#fed614e79fe4d85dd18615269bfa216b82291938" + integrity sha512-9rVw40U/gj4Azewr9UHEUtIgcW5cZSXoSvk8kKyzLOphTDQMqeMW2hHabQ9wpllf4M5fVe7VzENEaMU3VxFHGA== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.3.tgz#f3cc9c49c56c59be7287f40d6dfadced3bac1593" - integrity sha512-SDR+VIprZdBHEOM40dNFABGRbLCs466G56GaPmw5q2Fgbcnm+zd+6DgLhqpn/mq9hdnjeTp2ivER8m9vtvH+Rw== +"@angular/platform-server@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.4.tgz#be504f7e52fc9f31e341a0311bf23559b83c77db" + integrity sha512-9bgCmJY6HopPmaZxUBrDiNbww/6AYVrux5dHrR7BR/9uICUYTy5/8slVnH/gQLXd+1/I8vKWhy/08rKyhbxy8Q== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.3.tgz#bae31d3a47341796da96ccfd853b6016d4ef17e9" - integrity sha512-Obr0P62m1DVDzHErLRLdNFgjL0/AE7ciwqNc93eBNnOh4OzDqTGCkuoWj1ooHwChmqEjyidFQ1PaHss2uI3uSw== +"@angular/router@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.4.tgz#03b1aec6929ba83a55d6e800124ae883d7421eda" + integrity sha512-gwJcMAJkP+O166zQQGGR0IcQF/N5p7XdsbXAi4k7nyoAkgATbKLMY8hkp+1RgXMg3b4rJyHe786/ms6XMlz/iQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.3": - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.3.tgz#ddadc2110b11cca721c40fced8328b831a4aa1d6" - integrity sha512-hB6c0ZqS8zW/rfDK5YFKn5X7L1seoTpnNAEX1oM8pnmoYBYaxpS14YH9GcfAGxlJ97OLQ0pQwRXrjy0jnirrPQ== +"@angular/service-worker@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.4.tgz#19c92da7739f64a7b6e846c1f6adf36cdd0cc991" + integrity sha512-94y0bNBwIyg7/HwxsVXLNRRfAt7nVw+7cZ/uAeuOqDsatMjMj1v+KGqmI5l0KM7+Qvp20a4uui+A6+GQZxD4iA== dependencies: tslib "^2.3.0" From b6df9c1367ae5795a3895628ec9822d432b315bb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 29 Sep 2022 08:42:58 +0000 Subject: [PATCH 0954/1388] fix(@angular-devkit/build-angular): handle conditional exports in `scripts` and `styles` option With this change scripts and styles options better support Yarn PNP resolution. Closes #23568 --- .../src/builders/browser-esbuild/index.ts | 9 +-- .../browser/specs/scripts-array_spec.ts | 8 -- .../browser/tests/options/scripts_spec.ts | 11 +-- .../browser/tests/options/styles_spec.ts | 5 +- .../src/webpack/configs/common.ts | 7 +- .../src/webpack/configs/styles.ts | 76 ++++-------------- .../webpack/plugins/scripts-webpack-plugin.ts | 32 ++++++-- .../webpack/plugins/styles-webpack-plugin.ts | 79 +++++++++++++++++++ .../src/webpack/utils/helpers.ts | 39 ++++++--- 9 files changed, 163 insertions(+), 103 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index fb858a9e3e33..e99446d5fee9 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -21,7 +21,7 @@ import { generateEntryPoints } from '../../utils/package-chunk-sort'; import { augmentAppWithServiceWorker } from '../../utils/service-worker'; import { getSupportedBrowsers } from '../../utils/supported-browsers'; import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; -import { resolveGlobalStyles } from '../../webpack/configs'; +import { normalizeGlobalStyles } from '../../webpack/utils/helpers'; import { createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; @@ -347,13 +347,8 @@ async function bundleGlobalStylesheets( const warnings: Message[] = []; // resolveGlobalStyles is temporarily reused from the Webpack builder code - const { entryPoints: stylesheetEntrypoints, noInjectNames } = resolveGlobalStyles( + const { entryPoints: stylesheetEntrypoints, noInjectNames } = normalizeGlobalStyles( options.styles || [], - workspaceRoot, - // preserveSymlinks is always true here to allow the bundler to handle the option - true, - // skipResolution to leverage the bundler's more comprehensive resolution - true, ); for (const [name, files] of Object.entries(stylesheetEntrypoints)) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/scripts-array_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/scripts-array_spec.ts index dfa0aaa44cfd..ee55a57b2fc4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/scripts-array_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/scripts-array_spec.ts @@ -145,12 +145,4 @@ describe('Browser Builder scripts array', () => { expect(joinedLogs).toMatch(/renamed-lazy-script.+\d+ bytes/); expect(joinedLogs).not.toContain('Lazy Chunks'); }); - - it(`should error when a script doesn't exist`, async () => { - await expectAsync( - browserBuild(architect, host, target, { - scripts: ['./invalid.js'], - }), - ).toBeRejectedWithError(`Script file ./invalid.js does not exist.`); - }); }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts index 036cc58970b9..610c72263056 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts @@ -93,18 +93,19 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { ); }); - it('throws an exception if script does not exist', async () => { + it('fails and shows an error if script does not exist', async () => { harness.useTarget('build', { ...BASE_OPTIONS, scripts: ['src/test-script-a.js'], }); - const { result, error } = await harness.executeOnce({ outputLogsOnException: false }); + const { result, logs } = await harness.executeOnce(); - expect(result).toBeUndefined(); - expect(error).toEqual( + expect(result?.success).toBeFalse(); + expect(logs).toContain( jasmine.objectContaining({ - message: jasmine.stringMatching(`Script file src/test-script-a.js does not exist.`), + level: 'error', + message: jasmine.stringMatching(`Can't resolve 'src/test-script-a.js'`), }), ); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/styles_spec.ts index 1b110454fba0..7a7ba7f52392 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/styles_spec.ts @@ -121,7 +121,10 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { expect(result?.success).toBeFalse(); expect(logs).toContain( - jasmine.objectContaining({ message: jasmine.stringMatching('Module not found:') }), + jasmine.objectContaining({ + level: 'error', + message: jasmine.stringMatching(`Can't resolve 'src/test-style-a.css'`), + }), ); harness.expectFile('dist/styles.css').toNotExist(); diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 2b585b8e71e5..6076a970c2f3 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -147,10 +147,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise; noInjectNames: string[]; paths: string[] } { - const entryPoints: Record = {}; - const noInjectNames: string[] = []; - const paths: string[] = []; - - if (styleEntrypoints.length === 0) { - return { entryPoints, noInjectNames, paths }; - } - - for (const style of normalizeExtraEntryPoints(styleEntrypoints, 'styles')) { - let stylesheetPath = style.input; - if (!skipResolution) { - stylesheetPath = path.resolve(root, stylesheetPath); - if (!fs.existsSync(stylesheetPath)) { - try { - stylesheetPath = require.resolve(style.input, { paths: [root] }); - } catch {} - } - } - - if (!preserveSymlinks) { - stylesheetPath = fs.realpathSync(stylesheetPath); - } - - // Add style entry points. - if (entryPoints[style.bundleName]) { - entryPoints[style.bundleName].push(stylesheetPath); - } else { - entryPoints[style.bundleName] = [stylesheetPath]; - } - - // Add non injected styles to the list. - if (!style.inject) { - noInjectNames.push(style.bundleName); - } - - // Add global css paths. - paths.push(stylesheetPath); - } - - return { entryPoints, noInjectNames, paths }; -} - // eslint-disable-next-line max-lines-per-function export function getStylesConfig(wco: WebpackConfigOptions): Configuration { const { root, projectRoot, buildOptions } = wco; @@ -95,14 +49,20 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { buildOptions.stylePreprocessorOptions?.includePaths?.map((p) => path.resolve(root, p)) ?? []; // Process global styles. - const { - entryPoints, - noInjectNames, - paths: globalStylePaths, - } = resolveGlobalStyles(buildOptions.styles, root, !!buildOptions.preserveSymlinks); - if (noInjectNames.length > 0) { - // Add plugin to remove hashes from lazy styles. - extraPlugins.push(new RemoveHashPlugin({ chunkNames: noInjectNames, hashFormat })); + if (buildOptions.styles.length > 0) { + const { entryPoints, noInjectNames } = normalizeGlobalStyles(buildOptions.styles); + extraPlugins.push( + new StylesWebpackPlugin({ + root, + entryPoints, + preserveSymlinks: buildOptions.preserveSymlinks, + }), + ); + + if (noInjectNames.length > 0) { + // Add plugin to remove hashes from lazy styles. + extraPlugins.push(new RemoveHashPlugin({ chunkNames: noInjectNames, hashFormat })); + } } const sassImplementation = useLegacySass @@ -319,7 +279,6 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { ]; return { - entry: entryPoints, module: { rules: styleLanguages.map(({ extensions, use }) => ({ test: new RegExp(`\\.(?:${extensions.join('|')})$`, 'i'), @@ -330,8 +289,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { // Global styles are only defined global styles { use: globalStyleLoaders, - include: globalStylePaths, - resourceQuery: { not: [/\?ngResource/] }, + resourceQuery: /\?ngGlobalStyle/, }, // Component styles are all styles except defined global styles { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts index b62f045fe234..7c477fcf8d19 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts @@ -9,6 +9,8 @@ import { interpolateName } from 'loader-utils'; import * as path from 'path'; import { Chunk, Compilation, Compiler, sources as webpackSources } from 'webpack'; +import { assertIsError } from '../../utils/error'; +import { addError } from '../../utils/webpack-diagnostics'; const Entrypoint = require('webpack/lib/Entrypoint'); @@ -35,6 +37,7 @@ function addDependencies(compilation: Compilation, scripts: string[]): void { compilation.fileDependencies.add(script); } } + export class ScriptsWebpackPlugin { private _lastBuildTime?: number; private _cachedOutput?: ScriptOutput; @@ -88,21 +91,38 @@ export class ScriptsWebpackPlugin { compilation.entrypoints.set(this.options.name, entrypoint); compilation.chunks.add(chunk); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - compilation.assets[filename] = source as any; + compilation.assets[filename] = source; compilation.hooks.chunkAsset.call(chunk, filename); } apply(compiler: Compiler): void { - if (!this.options.scripts || this.options.scripts.length === 0) { + if (this.options.scripts.length === 0) { return; } - const scripts = this.options.scripts - .filter((script) => !!script) - .map((script) => path.resolve(this.options.basePath || '', script)); + const resolver = compiler.resolverFactory.get('normal', { + preferRelative: true, + useSyncFileSystemCalls: true, + fileSystem: compiler.inputFileSystem, + }); compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { + const scripts: string[] = []; + + for (const script of this.options.scripts) { + try { + const resolvedPath = resolver.resolveSync({}, this.options.basePath, script); + if (resolvedPath) { + scripts.push(resolvedPath); + } else { + addError(compilation, `Cannot resolve '${script}'.`); + } + } catch (error) { + assertIsError(error); + addError(compilation, error.message); + } + } + compilation.hooks.additionalAssets.tapPromise(PLUGIN_NAME, async () => { if (await this.shouldSkip(compilation, scripts)) { if (this._cachedOutput) { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts new file mode 100644 index 000000000000..bb44a4232826 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts @@ -0,0 +1,79 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import assert from 'assert'; +import { pluginName } from 'mini-css-extract-plugin'; +import type { Compilation, Compiler } from 'webpack'; +import { assertIsError } from '../../utils/error'; +import { addError } from '../../utils/webpack-diagnostics'; + +export interface StylesWebpackPluginOptions { + preserveSymlinks?: boolean; + root: string; + entryPoints: Record; +} + +/** + * The name of the plugin provided to Webpack when tapping Webpack compiler hooks. + */ +const PLUGIN_NAME = 'styles-webpack-plugin'; + +export class StylesWebpackPlugin { + private compilation: Compilation | undefined; + + constructor(private readonly options: StylesWebpackPluginOptions) {} + + apply(compiler: Compiler): void { + const { entryPoints, preserveSymlinks, root } = this.options; + const webpackOptions = compiler.options; + const entry = + typeof webpackOptions.entry === 'function' ? webpackOptions.entry() : webpackOptions.entry; + + const resolver = compiler.resolverFactory.get('global-styles', { + conditionNames: ['sass', 'less', 'style'], + mainFields: ['sass', 'less', 'style', 'main', '...'], + extensions: ['.scss', '.sass', '.less', '.css'], + restrictions: [/\.((le|sa|sc|c)ss)$/i], + preferRelative: true, + useSyncFileSystemCalls: true, + symlinks: !preserveSymlinks, + fileSystem: compiler.inputFileSystem, + }); + + webpackOptions.entry = async () => { + const entrypoints = await entry; + + for (const [bundleName, paths] of Object.entries(entryPoints)) { + entrypoints[bundleName] ??= {}; + const entryImport = (entrypoints[bundleName].import ??= []); + + for (const path of paths) { + try { + const resolvedPath = resolver.resolveSync({}, root, path); + if (resolvedPath) { + entryImport.push(`${resolvedPath}?ngGlobalStyle`); + } else { + assert(this.compilation, 'Compilation cannot be undefined.'); + addError(this.compilation, `Cannot resolve '${path}'.`); + } + } catch (error) { + assert(this.compilation, 'Compilation cannot be undefined.'); + assertIsError(error); + addError(this.compilation, error.message); + } + } + } + + return entrypoints; + }; + + compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { + this.compilation = compilation; + }); + } +} diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts index d3e0d2aae082..2dd42e1cc4b2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/helpers.ts @@ -134,6 +134,31 @@ export function getInstrumentationExcludedPaths( return excluded; } +export function normalizeGlobalStyles(styleEntrypoints: StyleElement[]): { + entryPoints: Record; + noInjectNames: string[]; +} { + const entryPoints: Record = {}; + const noInjectNames: string[] = []; + + if (styleEntrypoints.length === 0) { + return { entryPoints, noInjectNames }; + } + + for (const style of normalizeExtraEntryPoints(styleEntrypoints, 'styles')) { + // Add style entry points. + entryPoints[style.bundleName] ??= []; + entryPoints[style.bundleName].push(style.input); + + // Add non injected styles to the list. + if (!style.inject) { + noInjectNames.push(style.bundleName); + } + } + + return { entryPoints, noInjectNames }; +} + export function getCacheSettings( wco: WebpackConfigOptions, angularVersion: string, @@ -176,21 +201,11 @@ export function getCacheSettings( } export function globalScriptsByBundleName( - root: string, scripts: ScriptElement[], ): { bundleName: string; inject: boolean; paths: string[] }[] { return normalizeExtraEntryPoints(scripts, 'scripts').reduce( (prev: { bundleName: string; paths: string[]; inject: boolean }[], curr) => { const { bundleName, inject, input } = curr; - let resolvedPath = path.resolve(root, input); - - if (!existsSync(resolvedPath)) { - try { - resolvedPath = require.resolve(input, { paths: [root] }); - } catch { - throw new Error(`Script file ${input} does not exist.`); - } - } const existingEntry = prev.find((el) => el.bundleName === bundleName); if (existingEntry) { @@ -199,12 +214,12 @@ export function globalScriptsByBundleName( throw new Error(`The ${bundleName} bundle is mixing injected and non-injected scripts.`); } - existingEntry.paths.push(resolvedPath); + existingEntry.paths.push(input); } else { prev.push({ bundleName, inject, - paths: [resolvedPath], + paths: [input], }); } From f9a2c3a1216cf9510e122df44a64ddd11d47226b Mon Sep 17 00:00:00 2001 From: minijus <3633549+minijus@users.noreply.github.com> Date: Thu, 29 Sep 2022 15:08:29 +0300 Subject: [PATCH 0955/1388] fix(@angular-devkit/build-angular): allow both script and module sourceTypes to be localized --- .../angular_devkit/build_angular/src/utils/process-bundle.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 5faecf6acde2..3017163e7ce4 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -139,7 +139,7 @@ export async function inlineLocales(options: InlineOptions) { ast = parseSync(options.code, { babelrc: false, configFile: false, - sourceType: 'script', + sourceType: 'unambiguous', filename: options.filename, }); } catch (error) { From 1a4615c787eef33e148dec7903bdef2673fa6ec9 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 30 Sep 2022 11:38:58 +0000 Subject: [PATCH 0956/1388] build: update all non-major dependencies --- package.json | 8 +- .../angular_devkit/build_angular/package.json | 6 +- .../angular_devkit/schematics/package.json | 2 +- yarn.lock | 171 +++++++++++++++++- 4 files changed, 173 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 70b2086eb313..a8eab389b418 100644 --- a/package.json +++ b/package.json @@ -142,8 +142,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.9", - "esbuild-wasm": "0.15.9", + "esbuild": "0.15.10", + "esbuild-wasm": "0.15.10", "eslint": "8.24.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -171,7 +171,7 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.26.4", + "magic-string": "0.26.5", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "ng-packagr": "15.0.0-next.3", @@ -186,7 +186,7 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.16", + "postcss": "8.4.17", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "prettier": "^2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 92632d75adc9..b8dfafc887e8 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.9", + "esbuild-wasm": "0.15.10", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -46,7 +46,7 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.16", + "postcss": "8.4.17", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "regenerator-runtime": "0.13.9", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.9" + "esbuild": "0.15.10" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index a6ebbb427076..bc7dacbb160f 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.2.0", - "magic-string": "0.26.4", + "magic-string": "0.26.5", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/yarn.lock b/yarn.lock index 3a8fc789d321..a2bd2b207e4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1617,11 +1617,21 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/android-arm@0.15.10": + version "0.15.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.10.tgz#a5f9432eb221afc243c321058ef25fe899886892" + integrity sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg== + "@esbuild/android-arm@0.15.9": version "0.15.9" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431" integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ== +"@esbuild/linux-loong64@0.15.10": + version "0.15.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7" + integrity sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg== + "@esbuild/linux-loong64@0.15.7": version "0.15.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" @@ -4872,6 +4882,11 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +esbuild-android-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz#8a59a84acbf2eca96996cadc35642cf055c494f0" + integrity sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA== + esbuild-android-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" @@ -4882,6 +4897,11 @@ esbuild-android-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0" integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw== +esbuild-android-arm64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz#f453851dc1d8c5409a38cf7613a33852faf4915d" + integrity sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg== + esbuild-android-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" @@ -4892,6 +4912,11 @@ esbuild-android-arm64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985" integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg== +esbuild-darwin-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz#778bd29c8186ff47b176c8af58c08cf0fb8e6b86" + integrity sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA== + esbuild-darwin-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" @@ -4902,6 +4927,11 @@ esbuild-darwin-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4" integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ== +esbuild-darwin-arm64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz#b30bbefb46dc3c5d4708b0435e52f6456578d6df" + integrity sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ== + esbuild-darwin-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" @@ -4912,6 +4942,11 @@ esbuild-darwin-arm64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86" integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw== +esbuild-freebsd-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz#ab301c5f6ded5110dbdd611140bef1a7c2e99236" + integrity sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w== + esbuild-freebsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" @@ -4922,6 +4957,11 @@ esbuild-freebsd-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e" integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A== +esbuild-freebsd-arm64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz#a5b09b867a6ff49110f52343b6f12265db63d43f" + integrity sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg== + esbuild-freebsd-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" @@ -4932,6 +4972,11 @@ esbuild-freebsd-arm64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57" integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA== +esbuild-linux-32@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz#5282fe9915641caf9c8070e4ba2c3e16d358f837" + integrity sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w== + esbuild-linux-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" @@ -4942,6 +4987,11 @@ esbuild-linux-32@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b" integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg== +esbuild-linux-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz#f3726e85a00149580cb19f8abfabcbb96f5d52bb" + integrity sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA== + esbuild-linux-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" @@ -4952,6 +5002,11 @@ esbuild-linux-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4" integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ== +esbuild-linux-arm64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz#2f0056e9d5286edb0185b56655caa8c574d8dbe7" + integrity sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A== + esbuild-linux-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" @@ -4962,6 +5017,11 @@ esbuild-linux-arm64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24" integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ== +esbuild-linux-arm@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz#40a9270da3c8ffa32cf72e24a79883e323dff08d" + integrity sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A== + esbuild-linux-arm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" @@ -4972,6 +5032,11 @@ esbuild-linux-arm@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506" integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ== +esbuild-linux-mips64le@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz#90ce1c4ee0202edb4ac69807dea77f7e5804abc4" + integrity sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q== + esbuild-linux-mips64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" @@ -4982,6 +5047,11 @@ esbuild-linux-mips64le@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd" integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw== +esbuild-linux-ppc64le@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz#782837ae7bd5b279178106c9dd801755a21fabdf" + integrity sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ== + esbuild-linux-ppc64le@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" @@ -4992,6 +5062,11 @@ esbuild-linux-ppc64le@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9" integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw== +esbuild-linux-riscv64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz#d7420d806ece5174f24f4634303146f915ab4207" + integrity sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q== + esbuild-linux-riscv64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" @@ -5002,6 +5077,11 @@ esbuild-linux-riscv64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6" integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA== +esbuild-linux-s390x@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz#21fdf0cb3494a7fb520a71934e4dffce67fe47be" + integrity sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA== + esbuild-linux-s390x@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" @@ -5012,6 +5092,11 @@ esbuild-linux-s390x@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f" integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw== +esbuild-netbsd-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz#6c06b3107e3df53de381e6299184d4597db0440f" + integrity sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw== + esbuild-netbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" @@ -5022,6 +5107,11 @@ esbuild-netbsd-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54" integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw== +esbuild-openbsd-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz#4daef5f5d8e74bbda53b65160029445d582570cf" + integrity sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ== + esbuild-openbsd-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" @@ -5032,6 +5122,11 @@ esbuild-openbsd-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0" integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A== +esbuild-sunos-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz#5fe7bef267a02f322fd249a8214d0274937388a7" + integrity sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg== + esbuild-sunos-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" @@ -5042,16 +5137,26 @@ esbuild-sunos-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== +esbuild-wasm@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" + integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== + esbuild-wasm@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== -esbuild-wasm@0.15.9, esbuild-wasm@^0.15.9: +esbuild-wasm@^0.15.9: version "0.15.9" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.9.tgz#5c20523a1fae7f90f55787108b35fad8a9c9d0dd" integrity sha512-5ST4pyUZMRnYg/D6zxPxmCovDSPtxHcckLNf8uPU4YkqBr4xsSSkcaijBB5dcy7gu1DqRS0uDaK5j+cZLrtbdg== +esbuild-windows-32@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz#48e3dde25ab0135579a288b30ab6ddef6d1f0b28" + integrity sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg== + esbuild-windows-32@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" @@ -5062,6 +5167,11 @@ esbuild-windows-32@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df" integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA== +esbuild-windows-64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz#387a9515bef3fee502d277a5d0a2db49a4ecda05" + integrity sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA== + esbuild-windows-64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" @@ -5072,6 +5182,11 @@ esbuild-windows-64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2" integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg== +esbuild-windows-arm64@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz#5a6fcf2fa49e895949bf5495cf088ab1b43ae879" + integrity sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw== + esbuild-windows-arm64@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" @@ -5082,6 +5197,34 @@ esbuild-windows-arm64@0.15.9: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== +esbuild@0.15.10: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" + integrity sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng== + optionalDependencies: + "@esbuild/android-arm" "0.15.10" + "@esbuild/linux-loong64" "0.15.10" + esbuild-android-64 "0.15.10" + esbuild-android-arm64 "0.15.10" + esbuild-darwin-64 "0.15.10" + esbuild-darwin-arm64 "0.15.10" + esbuild-freebsd-64 "0.15.10" + esbuild-freebsd-arm64 "0.15.10" + esbuild-linux-32 "0.15.10" + esbuild-linux-64 "0.15.10" + esbuild-linux-arm "0.15.10" + esbuild-linux-arm64 "0.15.10" + esbuild-linux-mips64le "0.15.10" + esbuild-linux-ppc64le "0.15.10" + esbuild-linux-riscv64 "0.15.10" + esbuild-linux-s390x "0.15.10" + esbuild-netbsd-64 "0.15.10" + esbuild-openbsd-64 "0.15.10" + esbuild-sunos-64 "0.15.10" + esbuild-windows-32 "0.15.10" + esbuild-windows-64 "0.15.10" + esbuild-windows-arm64 "0.15.10" + esbuild@0.15.7: version "0.15.7" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" @@ -5109,7 +5252,7 @@ esbuild@0.15.7: esbuild-windows-64 "0.15.7" esbuild-windows-arm64 "0.15.7" -esbuild@0.15.9, esbuild@^0.15.9: +esbuild@^0.15.9: version "0.15.9" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== @@ -7497,10 +7640,10 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.4, magic-string@^0.26.0: - version "0.26.4" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.4.tgz#3d057d3d0234c3b179aa3f421b33fe5d8a4044a8" - integrity sha512-e5uXtVJ22aEpK9u1+eQf0fSxHeqwyV19K+uGnlROCxUhzwRip9tBsaMViK/0vC3viyPd5Gtucp3UmEp/Q2cPTQ== +magic-string@0.26.5: + version "0.26.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.5.tgz#3ceb5c60f546ba4e21e3865ab8de4d32bd8ed07f" + integrity sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg== dependencies: sourcemap-codec "^1.4.8" @@ -7511,6 +7654,13 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" +magic-string@^0.26.0: + version "0.26.4" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.4.tgz#3d057d3d0234c3b179aa3f421b33fe5d8a4044a8" + integrity sha512-e5uXtVJ22aEpK9u1+eQf0fSxHeqwyV19K+uGnlROCxUhzwRip9tBsaMViK/0vC3viyPd5Gtucp3UmEp/Q2cPTQ== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -9034,6 +9184,15 @@ postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.17: + version "8.4.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" + integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" From e781a260f00c8383cadfac1bbeb859fd36bb7c87 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 30 Sep 2022 05:09:48 +0000 Subject: [PATCH 0957/1388] build: update github/codeql-action action to v2.1.26 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f1fea5772e00..f07719cb371e 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@86f3159a697a097a813ad9bfa0002412d97690a4 # tag=v2.1.25 + uses: github/codeql-action/upload-sarif@e0e5ded33cabb451ae0a9768fc7b0410bad9ad44 # tag=v2.1.26 with: sarif_file: results.sarif From 033e8ca8ddedf9003cbae3fcc35f9c5fa12d9237 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 1 Oct 2022 05:29:15 +0000 Subject: [PATCH 0958/1388] build: update dependency yargs to v17.6.0 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 32 ++++++++++++++++++++++++++----- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index a8eab389b418..d9f5d2ab5b75 100644 --- a/package.json +++ b/package.json @@ -220,7 +220,7 @@ "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", - "yargs": "17.5.1", + "yargs": "17.6.0", "yargs-parser": "21.1.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 15e0fc07717b..ac7b50f6ecf4 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -41,7 +41,7 @@ "semver": "7.3.7", "symbol-observable": "4.0.0", "uuid": "9.0.0", - "yargs": "17.5.1" + "yargs": "17.6.0" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/yarn.lock b/yarn.lock index a2bd2b207e4d..a4f9057cad38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3926,6 +3926,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -11781,12 +11790,12 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.5.1, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== +yargs@17.6.0: + version "17.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" + integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" @@ -11824,6 +11833,19 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 3d94ca21bbb7496a2ff588166fd93c5f2339b823 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 23 Sep 2022 13:15:37 -0400 Subject: [PATCH 0959/1388] feat(@angular-devkit/build-angular): add initial watch support to esbuild-based builder The experimental esbuild-based browser application builder now contains initial support for watching input files and rebuilding the application via the `--watch` option. This initial implemention is not yet optimized for incremental rebuilds and will perform a full rebuild upon detection of a change. Incremental rebuild support will be added in followup changes and will significantly improve the rebuild speed. The `chokidar` npm package is used to perform the file watching which allows for native file- system event based watching. Polling is also support via the `--poll` option for environments that require it. --- package.json | 2 +- .../angular_devkit/build_angular/BUILD.bazel | 1 + .../angular_devkit/build_angular/package.json | 1 + .../browser-esbuild/experimental-warnings.ts | 4 - .../src/builders/browser-esbuild/index.ts | 138 ++++++++++++------ .../src/builders/browser-esbuild/watcher.ts | 110 ++++++++++++++ yarn.lock | 8 +- 7 files changed, 207 insertions(+), 57 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts diff --git a/package.json b/package.json index d9f5d2ab5b75..abfa2cfc0253 100644 --- a/package.json +++ b/package.json @@ -136,7 +136,7 @@ "bootstrap": "^4.0.0", "browserslist": "^4.9.1", "cacache": "16.1.3", - "chokidar": "^3.5.2", + "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 848c0072b16c..3bc212e68ecb 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -138,6 +138,7 @@ ts_library( "@npm//babel-plugin-istanbul", "@npm//browserslist", "@npm//cacache", + "@npm//chokidar", "@npm//copy-webpack-plugin", "@npm//critters", "@npm//css-loader", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b8dfafc887e8..fe697d629104 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -27,6 +27,7 @@ "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "16.1.3", + "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index e7f200e9f2e6..dac13da1e40e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -28,10 +28,6 @@ const UNSUPPORTED_OPTIONS: Array = [ // The following option has no effect until preprocessors are supported // 'stylePreprocessorOptions', - // * Watch mode - 'watch', - 'poll', - // * Deprecated 'deployUrl', diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index e99446d5fee9..8437774c74c4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -28,41 +28,15 @@ import { logExperimentalWarnings } from './experimental-warnings'; import { normalizeOptions } from './options'; import { Schema as BrowserBuilderOptions, SourceMapClass } from './schema'; import { bundleStylesheetText } from './stylesheets'; +import { createWatcher } from './watcher'; -/** - * Main execution function for the esbuild-based application builder. - * The options are compatible with the Webpack-based builder. - * @param options The browser builder options to use when setting up the application build - * @param context The Architect builder context object - * @returns A promise with the builder result output - */ -// eslint-disable-next-line max-lines-per-function -export async function buildEsbuildBrowser( +async function execute( options: BrowserBuilderOptions, + normalizedOptions: Awaited>, context: BuilderContext, ): Promise { const startTime = Date.now(); - // Only AOT is currently supported - if (options.aot !== true) { - context.logger.error( - 'JIT mode is currently not supported by this experimental builder. AOT mode must be used.', - ); - - return { success: false }; - } - - // Inform user of experimental status of builder and options - logExperimentalWarnings(options, context); - - // Determine project name from builder context target - const projectName = context.target?.project; - if (!projectName) { - context.logger.error(`The 'browser-esbuild' builder requires a target to be specified.`); - - return { success: false }; - } - const { projectRoot, workspaceRoot, @@ -74,22 +48,7 @@ export async function buildEsbuildBrowser( tsconfig, assets, outputNames, - } = await normalizeOptions(context, projectName, options); - - // Clean output path if enabled - if (options.deleteOutputPath) { - deleteOutputDir(workspaceRoot, options.outputPath); - } - - // Create output directory if needed - try { - await fs.mkdir(outputPath, { recursive: true }); - } catch (e) { - assertIsError(e); - context.logger.error('Unable to create output directory: ' + e.message); - - return { success: false }; - } + } = normalizedOptions; const target = transformSupportedBrowsersToTargets( getSupportedBrowsers(projectRoot, context.logger), @@ -410,4 +369,93 @@ async function bundleGlobalStylesheets( return { outputFiles, initialFiles, errors, warnings }; } +/** + * Main execution function for the esbuild-based application builder. + * The options are compatible with the Webpack-based builder. + * @param initialOptions The browser builder options to use when setting up the application build + * @param context The Architect builder context object + * @returns An async iterable with the builder result output + */ +export async function* buildEsbuildBrowser( + initialOptions: BrowserBuilderOptions, + context: BuilderContext, +): AsyncIterable { + // Only AOT is currently supported + if (initialOptions.aot !== true) { + context.logger.error( + 'JIT mode is currently not supported by this experimental builder. AOT mode must be used.', + ); + + return { success: false }; + } + + // Inform user of experimental status of builder and options + logExperimentalWarnings(initialOptions, context); + + // Determine project name from builder context target + const projectName = context.target?.project; + if (!projectName) { + context.logger.error(`The 'browser-esbuild' builder requires a target to be specified.`); + + return { success: false }; + } + + const normalizedOptions = await normalizeOptions(context, projectName, initialOptions); + + // Clean output path if enabled + if (initialOptions.deleteOutputPath) { + deleteOutputDir(normalizedOptions.workspaceRoot, initialOptions.outputPath); + } + + // Create output directory if needed + try { + await fs.mkdir(normalizedOptions.outputPath, { recursive: true }); + } catch (e) { + assertIsError(e); + context.logger.error('Unable to create output directory: ' + e.message); + + return { success: false }; + } + + // Initial build + yield await execute(initialOptions, normalizedOptions, context); + + // Finish if watch mode is not enabled + if (!initialOptions.watch) { + return; + } + + // Setup a watcher + const watcher = createWatcher({ + polling: typeof initialOptions.poll === 'number', + interval: initialOptions.poll, + // Ignore the output path to avoid infinite rebuild cycles + ignored: [normalizedOptions.outputPath], + }); + + // Temporarily watch the entire project + watcher.add(normalizedOptions.projectRoot); + + // Watch workspace root node modules + // Includes Yarn PnP manifest files (https://yarnpkg.com/advanced/pnp-spec/) + watcher.add(path.join(normalizedOptions.workspaceRoot, 'node_modules')); + watcher.add(path.join(normalizedOptions.workspaceRoot, '.pnp.cjs')); + watcher.add(path.join(normalizedOptions.workspaceRoot, '.pnp.data.json')); + + // Wait for changes and rebuild as needed + try { + for await (const changes of watcher) { + context.logger.info('Changes detected. Rebuilding...'); + + if (initialOptions.verbose) { + context.logger.info(changes.toDebugString()); + } + + yield await execute(initialOptions, normalizedOptions, context); + } + } finally { + await watcher.close(); + } +} + export default createBuilder(buildEsbuildBrowser); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts new file mode 100644 index 000000000000..4d11fb5e7bf6 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts @@ -0,0 +1,110 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { FSWatcher } from 'chokidar'; + +export class ChangedFiles { + readonly added = new Set(); + readonly modified = new Set(); + readonly removed = new Set(); + + toDebugString(): string { + const content = { + added: Array.from(this.added), + modified: Array.from(this.modified), + removed: Array.from(this.removed), + }; + + return JSON.stringify(content, null, 2); + } +} + +export interface BuildWatcher extends AsyncIterableIterator { + add(paths: string | string[]): void; + remove(paths: string | string[]): void; + close(): Promise; +} + +export function createWatcher(options?: { + polling?: boolean; + interval?: number; + ignored?: string[]; +}): BuildWatcher { + const watcher = new FSWatcher({ + ...options, + disableGlobbing: true, + ignoreInitial: true, + }); + + const nextQueue: ((value?: ChangedFiles) => void)[] = []; + let currentChanges: ChangedFiles | undefined; + + watcher.on('all', (event, path) => { + switch (event) { + case 'add': + currentChanges ??= new ChangedFiles(); + currentChanges.added.add(path); + break; + case 'change': + currentChanges ??= new ChangedFiles(); + currentChanges.modified.add(path); + break; + case 'unlink': + currentChanges ??= new ChangedFiles(); + currentChanges.removed.add(path); + break; + default: + return; + } + + const next = nextQueue.shift(); + if (next) { + const value = currentChanges; + currentChanges = undefined; + next(value); + } + }); + + return { + [Symbol.asyncIterator]() { + return this; + }, + + async next() { + if (currentChanges && nextQueue.length === 0) { + const result = { value: currentChanges }; + currentChanges = undefined; + + return result; + } + + return new Promise((resolve) => { + nextQueue.push((value) => resolve(value ? { value } : { done: true, value })); + }); + }, + + add(paths) { + watcher.add(paths); + }, + + remove(paths) { + watcher.unwatch(paths); + }, + + async close() { + try { + await watcher.close(); + } finally { + let next; + while ((next = nextQueue.shift()) !== undefined) { + next(); + } + } + }, + }; +} diff --git a/yarn.lock b/yarn.lock index a4f9057cad38..cf7a5fde0852 100644 --- a/yarn.lock +++ b/yarn.lock @@ -129,7 +129,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3": version "0.0.0-40aaf3831425d472965dd61e58cbd5854abd7214" - uid "6df2d555d326fe6282de28db80c49dd439b42af3" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" @@ -243,7 +242,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9": version "0.0.0-40aaf3831425d472965dd61e58cbd5854abd7214" - uid "8c3a9ec4176a7315d24977cfefb6edee22b724d9" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -3816,7 +3814,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1, chokidar@^3.5.2, chokidar@^3.5.3: +chokidar@3.5.3, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -8304,7 +8302,6 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8315,7 +8312,6 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" - fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8335,7 +8331,6 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" - minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -9959,7 +9954,6 @@ sass@1.55.0, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From 7f27908a7ebfb77f38352a090a891cd4572bfa71 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 27 Sep 2022 12:40:50 -0400 Subject: [PATCH 0960/1388] refactor(@angular-devkit/build-angular): centralize babel transformation in esbuild-based builder The Babel transformation code was mostly duplicated in two places within the esbuild-based browser application builder. The code has now been extracted into a helper function and used where needed. --- .../browser-esbuild/compiler-plugin.ts | 178 ++++++++---------- 1 file changed, 76 insertions(+), 102 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 59202089ea47..477d6bf0219e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -37,7 +37,7 @@ type FileEmitter = (file: string) => Promise; * Converts TypeScript Diagnostic related information into an esbuild compatible note object. * Related information is a subset of a full TypeScript Diagnostic and also used for diagnostic * notes associated with the main Diagnostic. - * @param diagnostic The TypeScript diagnostic relative information to convert. + * @param info The TypeScript diagnostic relative information to convert. * @param host A TypeScript FormatDiagnosticsHost instance to use during conversion. * @returns An esbuild diagnostic message as a PartialMessage object */ @@ -120,16 +120,18 @@ function convertTypeScriptDiagnostic( return message; } +export interface CompilerPluginOptions { + sourcemap: boolean; + tsconfig: string; + advancedOptimizations?: boolean; + thirdPartySourcemaps?: boolean; + fileReplacements?: Record; +} + // This is a non-watch version of the compiler code from `@ngtools/webpack` augmented for esbuild // eslint-disable-next-line max-lines-per-function export function createCompilerPlugin( - pluginOptions: { - sourcemap: boolean; - tsconfig: string; - advancedOptimizations?: boolean; - thirdPartySourcemaps?: boolean; - fileReplacements?: Record; - }, + pluginOptions: CompilerPluginOptions, styleOptions: BundleStylesheetOptions, ): Plugin { return { @@ -335,8 +337,7 @@ export function createCompilerPlugin( return { errors: [ { - text: 'File is missing from the TypeScript compilation.', - location: { file: args.path }, + text: `File '${args.path}' is missing from the TypeScript compilation.`, notes: [ { text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, @@ -347,45 +348,12 @@ export function createCompilerPlugin( }; } - const data = typescriptResult.content ?? ''; - const forceAsyncTransformation = /async\s+function\s*\*/.test(data); - const useInputSourcemap = - pluginOptions.sourcemap && - (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); - - // If no additional transformations are needed, return the TypeScript output directly - if (!forceAsyncTransformation && !pluginOptions.advancedOptimizations) { - return { - // Strip sourcemaps if they should not be used - contents: useInputSourcemap - ? data - : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''), - loader: 'js', - }; - } - - const babelResult = await transformAsync(data, { - filename: args.path, - inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, - sourceMaps: pluginOptions.sourcemap ? 'inline' : false, - compact: false, - configFile: false, - babelrc: false, - browserslistConfigFile: false, - plugins: [], - presets: [ - [ - angularApplicationPreset, - { - forceAsyncTransformation, - optimize: pluginOptions.advancedOptimizations && {}, - }, - ], - ], - }); - return { - contents: babelResult?.code ?? '', + contents: await transformWithBabel( + args.path, + typescriptResult.content ?? '', + pluginOptions, + ), loader: 'js', }; }, @@ -393,62 +361,9 @@ export function createCompilerPlugin( build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => { const data = await fs.readFile(args.path, 'utf-8'); - const forceAsyncTransformation = - !/[\\/][_f]?esm2015[\\/]/.test(args.path) && /async\s+function\s*\*/.test(data); - const shouldLink = await requiresLinking(args.path, data); - const useInputSourcemap = - pluginOptions.sourcemap && - (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(args.path)); - - // If no additional transformations are needed, return the TypeScript output directly - if (!forceAsyncTransformation && !pluginOptions.advancedOptimizations && !shouldLink) { - return { - // Strip sourcemaps if they should not be used - contents: useInputSourcemap - ? data - : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''), - loader: 'js', - }; - } - - const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(args.path); - - const linkerPluginCreator = ( - await loadEsmModule( - '@angular/compiler-cli/linker/babel', - ) - ).createEs2015LinkerPlugin; - - const result = await transformAsync(data, { - filename: args.path, - inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, - sourceMaps: pluginOptions.sourcemap ? 'inline' : false, - compact: false, - configFile: false, - babelrc: false, - browserslistConfigFile: false, - plugins: [], - presets: [ - [ - angularApplicationPreset, - { - angularLinker: { - shouldLink, - jitMode: false, - linkerPluginCreator, - }, - forceAsyncTransformation, - optimize: pluginOptions.advancedOptimizations && { - looseEnums: angularPackage, - pureTopLevel: angularPackage, - }, - }, - ], - ], - }); return { - contents: result?.code ?? data, + contents: await transformWithBabel(args.path, data, pluginOptions), loader: 'js', }; }); @@ -491,3 +406,62 @@ function createFileEmitter( return { content, dependencies: [] }; }; } + +async function transformWithBabel( + filename: string, + data: string, + pluginOptions: CompilerPluginOptions, +): Promise { + const forceAsyncTransformation = + !/[\\/][_f]?esm2015[\\/]/.test(filename) && /async\s+function\s*\*/.test(data); + const shouldLink = await requiresLinking(filename, data); + const useInputSourcemap = + pluginOptions.sourcemap && + (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename)); + + // If no additional transformations are needed, return the data directly + if (!forceAsyncTransformation && !pluginOptions.advancedOptimizations && !shouldLink) { + // Strip sourcemaps if they should not be used + return useInputSourcemap ? data : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''); + } + + const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(filename); + + const linkerPluginCreator = shouldLink + ? ( + await loadEsmModule( + '@angular/compiler-cli/linker/babel', + ) + ).createEs2015LinkerPlugin + : undefined; + + const result = await transformAsync(data, { + filename, + inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, + sourceMaps: pluginOptions.sourcemap ? 'inline' : false, + compact: false, + configFile: false, + babelrc: false, + browserslistConfigFile: false, + plugins: [], + presets: [ + [ + angularApplicationPreset, + { + angularLinker: { + shouldLink, + jitMode: false, + linkerPluginCreator, + }, + forceAsyncTransformation, + optimize: pluginOptions.advancedOptimizations && { + looseEnums: angularPackage, + pureTopLevel: angularPackage, + }, + }, + ], + ], + }); + + return result?.code ?? data; +} From 648e6d6b868db034fb2051726023d239622b92df Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 30 Sep 2022 08:14:29 -0400 Subject: [PATCH 0961/1388] refactor(@angular-devkit/build-angular): prepare esbuild angular plugin for incremental rebuilds This adds the initial infrastructure to support incremental esbuild rebuilds within the Angular compiler plugin. Currently, these changes will not yet have an effect on the watch mode rebuild performance. Integration of esbuild's incremental rebuild mode will be needed within the builder itself to take advantage of these changes. --- .../browser-esbuild/compiler-plugin.ts | 76 ++++++++++++++++--- 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 477d6bf0219e..391d7d3c9f70 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import type { CompilerHost } from '@angular/compiler-cli'; +import type { CompilerHost, NgtscProgram } from '@angular/compiler-cli'; import { transformAsync } from '@babel/core'; import * as assert from 'assert'; import type { @@ -199,6 +199,10 @@ export function createCompilerPlugin( // The stylesheet resources from component stylesheets that will be added to the build results output files let stylesheetResourceFiles: OutputFile[]; + let previousBuilder: ts.EmitAndSemanticDiagnosticsBuilderProgram | undefined; + let previousAngularProgram: NgtscProgram | undefined; + const babelMemoryCache = new Map(); + build.onStart(async () => { const result: OnStartResult = {}; @@ -256,26 +260,43 @@ export function createCompilerPlugin( return { content: contents }; }; + // Temporary deep import for host augmentation support + const { + augmentHostWithReplacements, + augmentProgramWithVersioning, + } = require('@ngtools/webpack/src/ivy/host'); + // Augment TypeScript Host for file replacements option if (pluginOptions.fileReplacements) { - // Temporary deep import for file replacements support - const { augmentHostWithReplacements } = require('@ngtools/webpack/src/ivy/host'); augmentHostWithReplacements(host, pluginOptions.fileReplacements); } // Create the Angular specific program that contains the Angular compiler - const angularProgram = new compilerCli.NgtscProgram(rootNames, compilerOptions, host); + const angularProgram = new compilerCli.NgtscProgram( + rootNames, + compilerOptions, + host, + previousAngularProgram, + ); + previousAngularProgram = angularProgram; const angularCompiler = angularProgram.compiler; const { ignoreForDiagnostics } = angularCompiler; const typeScriptProgram = angularProgram.getTsProgram(); + augmentProgramWithVersioning(typeScriptProgram); - const builder = ts.createAbstractBuilder(typeScriptProgram, host); + const builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram( + typeScriptProgram, + host, + previousBuilder, + configurationDiagnostics, + ); + previousBuilder = builder; await angularCompiler.analyzeAsync(); - function* collectDiagnostics() { + function* collectDiagnostics(): Iterable { // Collect program level diagnostics - yield* configurationDiagnostics; + yield* builder.getConfigFileParsingDiagnostics(); yield* angularCompiler.getOptionDiagnostics(); yield* builder.getOptionsDiagnostics(); yield* builder.getGlobalDiagnostics(); @@ -312,7 +333,7 @@ export function createCompilerPlugin( mergeTransformers(angularCompiler.prepareEmit().transformers, { before: [replaceBootstrap(() => builder.getProgram().getTypeChecker())], }), - () => [], + (sourceFile) => angularCompiler.incrementalDriver.recordSuccessfulEmit(sourceFile), ); return result; @@ -349,10 +370,11 @@ export function createCompilerPlugin( } return { - contents: await transformWithBabel( + contents: await transformWithBabelCached( args.path, typescriptResult.content ?? '', pluginOptions, + babelMemoryCache, ), loader: 'js', }; @@ -363,7 +385,12 @@ export function createCompilerPlugin( const data = await fs.readFile(args.path, 'utf-8'); return { - contents: await transformWithBabel(args.path, data, pluginOptions), + contents: await transformWithBabelCached( + args.path, + data, + pluginOptions, + babelMemoryCache, + ), loader: 'js', }; }); @@ -465,3 +492,32 @@ async function transformWithBabel( return result?.code ?? data; } + +/** + * Transforms JavaScript file data using the babel transforms setup in transformWithBabel. The + * supplied cache will be used to avoid repeating the transforms for data that has previously + * been transformed such as in a previous rebuild cycle. + * @param filename The file path of the data to be transformed. + * @param data The file data that will be transformed. + * @param pluginOptions Compiler plugin options that will be used to control the transformation. + * @param cache A cache of previously transformed data that will be used to avoid repeat transforms. + * @returns A promise containing the transformed data. + */ +async function transformWithBabelCached( + filename: string, + data: string, + pluginOptions: CompilerPluginOptions, + cache: Map, +): Promise { + // The pre-transformed data is used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well. + let result = cache.get(data); + if (result === undefined) { + result = await transformWithBabel(filename, data, pluginOptions); + cache.set(data, result); + } + + return result; +} From fc1164b5fd0bde5cdcab568cd77c0841be8de777 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 3 Oct 2022 10:38:11 -0400 Subject: [PATCH 0962/1388] refactor(@angular-devkit/build-angular): move more esbuild option setup into normalize option helper The initial global stylesheet, file replacement, index HTML, and service worker option analysis and cleanup has now been moved into the `normalizeOptions` helper for the esbuild-based browser application builder. This better organizes the option related setup steps as well as reduces the amount of code in the main builder source file. --- .../src/builders/browser-esbuild/index.ts | 61 +++++++------------ .../src/builders/browser-esbuild/options.ts | 59 +++++++++++++++--- .../build_angular/src/utils/service-worker.ts | 46 ++++++++++++++ 3 files changed, 119 insertions(+), 47 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 8437774c74c4..214970565408 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -9,7 +9,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import * as assert from 'assert'; import type { Message, OutputFile } from 'esbuild'; -import { promises as fs } from 'fs'; +import * as fs from 'fs/promises'; import * as path from 'path'; import { NormalizedOptimizationOptions, deleteOutputDir } from '../../utils'; import { copyAssets } from '../../utils/copy-assets'; @@ -17,11 +17,8 @@ import { assertIsError } from '../../utils/error'; import { transformSupportedBrowsersToTargets } from '../../utils/esbuild-targets'; import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; -import { generateEntryPoints } from '../../utils/package-chunk-sort'; -import { augmentAppWithServiceWorker } from '../../utils/service-worker'; +import { augmentAppWithServiceWorkerEsbuild } from '../../utils/service-worker'; import { getSupportedBrowsers } from '../../utils/supported-browsers'; -import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; -import { normalizeGlobalStyles } from '../../webpack/utils/helpers'; import { createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; @@ -41,13 +38,16 @@ async function execute( projectRoot, workspaceRoot, entryPoints, - entryPointNameLookup, optimizationOptions, outputPath, sourcemapOptions, tsconfig, assets, outputNames, + fileReplacements, + globalStyles, + serviceWorkerOptions, + indexHtmlOptions, } = normalizedOptions; const target = transformSupportedBrowsersToTargets( @@ -64,12 +64,14 @@ async function execute( optimizationOptions, sourcemapOptions, tsconfig, + fileReplacements, target, ), // Execute esbuild to bundle the global stylesheets bundleGlobalStylesheets( workspaceRoot, outputNames, + globalStyles, options, optimizationOptions, sourcemapOptions, @@ -102,7 +104,8 @@ async function execute( // An entryPoint value indicates an initial file initialFiles.push({ file: outputFile.path, - name: entryPointNameLookup.get(entryPoint) ?? '', + // The first part of the filename is the name of file (e.g., "polyfills" for "polyfills.7S5G3MDY.js") + name: path.basename(outputFile.path).split('.')[0], extension: path.extname(outputFile.path), }); } @@ -119,16 +122,11 @@ async function execute( } // Generate index HTML file - if (options.index) { - const entrypoints = generateEntryPoints({ - scripts: options.scripts ?? [], - styles: options.styles ?? [], - }); - + if (indexHtmlOptions) { // Create an index HTML generator that reads from the in-memory output files const indexHtmlGenerator = new IndexHtmlGenerator({ - indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), - entrypoints, + indexPath: indexHtmlOptions.input, + entrypoints: indexHtmlOptions.insertionOrder, sri: options.subresourceIntegrity, optimization: optimizationOptions, crossOrigin: options.crossOrigin, @@ -161,7 +159,7 @@ async function execute( context.logger.warn(warning); } - outputFiles.push(createOutputFileFromText(getIndexOutputFile(options.index), content)); + outputFiles.push(createOutputFileFromText(indexHtmlOptions.output, content)); } // Copy assets @@ -176,14 +174,13 @@ async function execute( // Augment the application with service worker support // TODO: This should eventually operate on the in-memory files prior to writing the output files - if (options.serviceWorker) { + if (serviceWorkerOptions) { try { - await augmentAppWithServiceWorker( - projectRoot, + await augmentAppWithServiceWorkerEsbuild( workspaceRoot, + serviceWorkerOptions, outputPath, options.baseHref || '/', - options.ngswConfigPath, ); } catch (error) { context.logger.error(error instanceof Error ? error.message : `${error}`); @@ -215,19 +212,9 @@ async function bundleCode( optimizationOptions: NormalizedOptimizationOptions, sourcemapOptions: SourceMapClass, tsconfig: string, + fileReplacements: Record | undefined, target: string[], ) { - let fileReplacements: Record | undefined; - if (options.fileReplacements) { - for (const replacement of options.fileReplacements) { - fileReplacements ??= {}; - fileReplacements[path.join(workspaceRoot, replacement.replace)] = path.join( - workspaceRoot, - replacement.with, - ); - } - } - return bundle({ absWorkingDir: workspaceRoot, bundle: true, @@ -295,6 +282,7 @@ async function bundleCode( async function bundleGlobalStylesheets( workspaceRoot: string, outputNames: { bundles: string; media: string }, + globalStyles: { name: string; files: string[]; initial: boolean }[], options: BrowserBuilderOptions, optimizationOptions: NormalizedOptimizationOptions, sourcemapOptions: SourceMapClass, @@ -305,12 +293,7 @@ async function bundleGlobalStylesheets( const errors: Message[] = []; const warnings: Message[] = []; - // resolveGlobalStyles is temporarily reused from the Webpack builder code - const { entryPoints: stylesheetEntrypoints, noInjectNames } = normalizeGlobalStyles( - options.styles || [], - ); - - for (const [name, files] of Object.entries(stylesheetEntrypoints)) { + for (const { name, files, initial } of globalStyles) { const virtualEntryData = files .map((file) => `@import '${file.replace(/\\/g, '/')}';`) .join('\n'); @@ -321,7 +304,7 @@ async function bundleGlobalStylesheets( workspaceRoot, optimization: !!optimizationOptions.styles.minify, sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), - outputNames: noInjectNames.includes(name) ? { media: outputNames.media } : outputNames, + outputNames: initial ? outputNames : { media: outputNames.media }, includePaths: options.stylePreprocessorOptions?.includePaths, preserveSymlinks: options.preserveSymlinks, externalDependencies: options.externalDependencies, @@ -356,7 +339,7 @@ async function bundleGlobalStylesheets( } outputFiles.push(createOutputFileFromText(sheetPath, sheetContents)); - if (!noInjectNames.includes(name)) { + if (initial) { initialFiles.push({ file: sheetPath, name, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 55433039db7c..8d36bf9ae5c9 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -10,7 +10,10 @@ import { BuilderContext } from '@angular-devkit/architect'; import * as path from 'path'; import { normalizeAssetPatterns, normalizeOptimization, normalizeSourceMaps } from '../../utils'; import { normalizePolyfills } from '../../utils/normalize-polyfills'; -import { Schema as BrowserBuilderOptions, OutputHashing } from '../browser/schema'; +import { generateEntryPoints } from '../../utils/package-chunk-sort'; +import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; +import { normalizeGlobalStyles } from '../../webpack/utils/helpers'; +import { Schema as BrowserBuilderOptions, OutputHashing } from './schema'; /** * Normalize the user provided options by creating full paths for all path based options @@ -71,6 +74,35 @@ export async function normalizeOptions( outputNames.media = path.join(options.resourcesOutputPath, outputNames.media); } + let fileReplacements: Record | undefined; + if (options.fileReplacements) { + for (const replacement of options.fileReplacements) { + fileReplacements ??= {}; + fileReplacements[path.join(workspaceRoot, replacement.replace)] = path.join( + workspaceRoot, + replacement.with, + ); + } + } + + const globalStyles: { name: string; files: string[]; initial: boolean }[] = []; + if (options.styles?.length) { + const { entryPoints: stylesheetEntrypoints, noInjectNames } = normalizeGlobalStyles( + options.styles || [], + ); + for (const [name, files] of Object.entries(stylesheetEntrypoints)) { + globalStyles.push({ name, files, initial: !noInjectNames.includes(name) }); + } + } + + let serviceWorkerOptions; + if (options.serviceWorker) { + // If ngswConfigPath is not specified, the default is 'ngsw-config.json' within the project root + serviceWorkerOptions = options.ngswConfigPath + ? path.join(workspaceRoot, options.ngswConfigPath) + : path.join(projectRoot, 'ngsw-config.json'); + } + // Setup bundler entry points const entryPoints: Record = { main: mainEntryPoint, @@ -78,17 +110,24 @@ export async function normalizeOptions( if (polyfillsEntryPoint) { entryPoints['polyfills'] = polyfillsEntryPoint; } - // Create reverse lookup used during index HTML generation - const entryPointNameLookup: ReadonlyMap = new Map( - Object.entries(entryPoints).map( - ([name, filePath]) => [path.relative(workspaceRoot, filePath), name] as const, - ), - ); + + let indexHtmlOptions; + if (options.index) { + indexHtmlOptions = { + input: path.join(workspaceRoot, getIndexInputFile(options.index)), + // The output file will be created within the configured output path + output: getIndexOutputFile(options.index), + // TODO: Use existing information from above to create the insertion order + insertionOrder: generateEntryPoints({ + scripts: options.scripts ?? [], + styles: options.styles ?? [], + }), + }; + } return { workspaceRoot, entryPoints, - entryPointNameLookup, optimizationOptions, outputPath, sourcemapOptions, @@ -96,5 +135,9 @@ export async function normalizeOptions( projectRoot, assets, outputNames, + fileReplacements, + globalStyles, + serviceWorkerOptions, + indexHtmlOptions, }; } diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index 95fe08123031..1d3b1bd1eb36 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -93,6 +93,52 @@ export async function augmentAppWithServiceWorker( } } + return augmentAppWithServiceWorkerCore( + config, + outputPath, + baseHref, + inputputFileSystem, + outputFileSystem, + ); +} + +// This is currently used by the esbuild-based builder +export async function augmentAppWithServiceWorkerEsbuild( + workspaceRoot: string, + configPath: string, + outputPath: string, + baseHref: string, +): Promise { + // Read the configuration file + let config: Config | undefined; + try { + const configurationData = await fsPromises.readFile(configPath, 'utf-8'); + config = JSON.parse(configurationData) as Config; + } catch (error) { + assertIsError(error); + if (error.code === 'ENOENT') { + // TODO: Generate an error object that can be consumed by the esbuild-based builder + const message = `Service worker configuration file "${path.relative( + workspaceRoot, + configPath, + )}" could not be found.`; + throw new Error(message); + } else { + throw error; + } + } + + // TODO: Return the output files and any errors/warnings + return augmentAppWithServiceWorkerCore(config, outputPath, baseHref); +} + +export async function augmentAppWithServiceWorkerCore( + config: Config, + outputPath: string, + baseHref: string, + inputputFileSystem = fsPromises, + outputFileSystem = fsPromises, +): Promise { // Load ESM `@angular/service-worker/config` using the TypeScript dynamic import workaround. // Once TypeScript provides support for keeping the dynamic import this workaround can be // changed to a direct dynamic import. From e02d718170c1169f12f11c8a361d2a68625d5a1f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 3 Oct 2022 17:42:20 -0400 Subject: [PATCH 0963/1388] refactor(@angular-devkit/build-angular): use single normalized options object in esbuild builder A single options object is now used within the experimental esbuild-based browser application builder. This removes the need to pass around two different options objects with potentially overlapping properties throughout the build process. --- .../src/builders/browser-esbuild/index.ts | 106 ++++++++---------- .../src/builders/browser-esbuild/options.ts | 23 ++++ 2 files changed, 67 insertions(+), 62 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 214970565408..face505e3cfa 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -11,7 +11,7 @@ import * as assert from 'assert'; import type { Message, OutputFile } from 'esbuild'; import * as fs from 'fs/promises'; import * as path from 'path'; -import { NormalizedOptimizationOptions, deleteOutputDir } from '../../utils'; +import { deleteOutputDir } from '../../utils'; import { copyAssets } from '../../utils/copy-assets'; import { assertIsError } from '../../utils/error'; import { transformSupportedBrowsersToTargets } from '../../utils/esbuild-targets'; @@ -22,14 +22,13 @@ import { getSupportedBrowsers } from '../../utils/supported-browsers'; import { createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; -import { normalizeOptions } from './options'; -import { Schema as BrowserBuilderOptions, SourceMapClass } from './schema'; +import { NormalizedBrowserOptions, normalizeOptions } from './options'; +import { Schema as BrowserBuilderOptions } from './schema'; import { bundleStylesheetText } from './stylesheets'; import { createWatcher } from './watcher'; async function execute( - options: BrowserBuilderOptions, - normalizedOptions: Awaited>, + options: NormalizedBrowserOptions, context: BuilderContext, ): Promise { const startTime = Date.now(); @@ -37,18 +36,12 @@ async function execute( const { projectRoot, workspaceRoot, - entryPoints, optimizationOptions, outputPath, - sourcemapOptions, - tsconfig, assets, - outputNames, - fileReplacements, - globalStyles, serviceWorkerOptions, indexHtmlOptions, - } = normalizedOptions; + } = options; const target = transformSupportedBrowsersToTargets( getSupportedBrowsers(projectRoot, context.logger), @@ -56,27 +49,9 @@ async function execute( const [codeResults, styleResults] = await Promise.all([ // Execute esbuild to bundle the application code - bundleCode( - workspaceRoot, - entryPoints, - outputNames, - options, - optimizationOptions, - sourcemapOptions, - tsconfig, - fileReplacements, - target, - ), + bundleCode(options, target), // Execute esbuild to bundle the global stylesheets - bundleGlobalStylesheets( - workspaceRoot, - outputNames, - globalStyles, - options, - optimizationOptions, - sourcemapOptions, - target, - ), + bundleGlobalStylesheets(options, target), ]); // Log all warnings and errors generated during bundling @@ -204,17 +179,21 @@ function createOutputFileFromText(path: string, text: string): OutputFile { }; } -async function bundleCode( - workspaceRoot: string, - entryPoints: Record, - outputNames: { bundles: string; media: string }, - options: BrowserBuilderOptions, - optimizationOptions: NormalizedOptimizationOptions, - sourcemapOptions: SourceMapClass, - tsconfig: string, - fileReplacements: Record | undefined, - target: string[], -) { +async function bundleCode(options: NormalizedBrowserOptions, target: string[]) { + const { + workspaceRoot, + entryPoints, + optimizationOptions, + sourcemapOptions, + tsconfig, + outputNames, + fileReplacements, + externalDependencies, + preserveSymlinks, + stylePreprocessorOptions, + advancedOptimizations, + } = options; + return bundle({ absWorkingDir: workspaceRoot, bundle: true, @@ -242,10 +221,10 @@ async function bundleCode( sourcemap: sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true), splitting: true, tsconfig, - external: options.externalDependencies, + external: externalDependencies, write: false, platform: 'browser', - preserveSymlinks: options.preserveSymlinks, + preserveSymlinks, plugins: [ createCompilerPlugin( // JS/TS options @@ -253,7 +232,7 @@ async function bundleCode( sourcemap: !!sourcemapOptions.scripts, thirdPartySourcemaps: sourcemapOptions.vendor, tsconfig, - advancedOptimizations: options.buildOptimizer, + advancedOptimizations, fileReplacements, }, // Component stylesheet options @@ -266,8 +245,8 @@ async function bundleCode( // of sourcemap processing. !!sourcemapOptions.styles && (sourcemapOptions.hidden ? false : 'inline'), outputNames, - includePaths: options.stylePreprocessorOptions?.includePaths, - externalDependencies: options.externalDependencies, + includePaths: stylePreprocessorOptions?.includePaths, + externalDependencies, target, }, ), @@ -279,15 +258,18 @@ async function bundleCode( }); } -async function bundleGlobalStylesheets( - workspaceRoot: string, - outputNames: { bundles: string; media: string }, - globalStyles: { name: string; files: string[]; initial: boolean }[], - options: BrowserBuilderOptions, - optimizationOptions: NormalizedOptimizationOptions, - sourcemapOptions: SourceMapClass, - target: string[], -) { +async function bundleGlobalStylesheets(options: NormalizedBrowserOptions, target: string[]) { + const { + workspaceRoot, + optimizationOptions, + sourcemapOptions, + outputNames, + globalStyles, + preserveSymlinks, + externalDependencies, + stylePreprocessorOptions, + } = options; + const outputFiles: OutputFile[] = []; const initialFiles: FileInfo[] = []; const errors: Message[] = []; @@ -305,9 +287,9 @@ async function bundleGlobalStylesheets( optimization: !!optimizationOptions.styles.minify, sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), outputNames: initial ? outputNames : { media: outputNames.media }, - includePaths: options.stylePreprocessorOptions?.includePaths, - preserveSymlinks: options.preserveSymlinks, - externalDependencies: options.externalDependencies, + includePaths: stylePreprocessorOptions?.includePaths, + preserveSymlinks, + externalDependencies, target, }, ); @@ -401,7 +383,7 @@ export async function* buildEsbuildBrowser( } // Initial build - yield await execute(initialOptions, normalizedOptions, context); + yield await execute(normalizedOptions, context); // Finish if watch mode is not enabled if (!initialOptions.watch) { @@ -434,7 +416,7 @@ export async function* buildEsbuildBrowser( context.logger.info(changes.toDebugString()); } - yield await execute(initialOptions, normalizedOptions, context); + yield await execute(normalizedOptions, context); } } finally { await watcher.close(); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 8d36bf9ae5c9..941dc867d0f9 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -15,6 +15,8 @@ import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-brows import { normalizeGlobalStyles } from '../../webpack/utils/helpers'; import { Schema as BrowserBuilderOptions, OutputHashing } from './schema'; +export type NormalizedBrowserOptions = Awaited>; + /** * Normalize the user provided options by creating full paths for all path based options * and converting multi-form options into a single form that can be directly used @@ -125,7 +127,28 @@ export async function normalizeOptions( }; } + // Initial options to keep + const { + baseHref, + buildOptimizer, + crossOrigin, + externalDependencies, + preserveSymlinks, + stylePreprocessorOptions, + subresourceIntegrity, + verbose, + } = options; + + // Return all the normalized options return { + advancedOptimizations: buildOptimizer, + baseHref, + crossOrigin, + externalDependencies, + preserveSymlinks, + stylePreprocessorOptions, + subresourceIntegrity, + verbose, workspaceRoot, entryPoints, optimizationOptions, From 4a2f4dcaac2b6d8b53e75b0e903ca8badf0118a9 Mon Sep 17 00:00:00 2001 From: Brent Schmidt Date: Mon, 3 Oct 2022 16:48:31 -0400 Subject: [PATCH 0964/1388] refactor(@angular-devkit/schematics): Delete 'rename' rule - Based on discussion in closed PR #23673, delete `rename` rule. --- .../schematics/src/rules/rename.ts | 25 ------- .../schematics/src/rules/rename_spec.ts | 74 ------------------- .../schematics/src/rules/template.ts | 15 ++-- 3 files changed, 10 insertions(+), 104 deletions(-) delete mode 100644 packages/angular_devkit/schematics/src/rules/rename.ts delete mode 100644 packages/angular_devkit/schematics/src/rules/rename_spec.ts diff --git a/packages/angular_devkit/schematics/src/rules/rename.ts b/packages/angular_devkit/schematics/src/rules/rename.ts deleted file mode 100644 index ff04b5580197..000000000000 --- a/packages/angular_devkit/schematics/src/rules/rename.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { normalize } from '@angular-devkit/core'; -import { Rule } from '../engine/interface'; -import { FilePredicate } from '../tree/interface'; -import { forEach } from './base'; - -export function rename(match: FilePredicate, to: FilePredicate): Rule { - return forEach((entry) => { - if (match(entry.path, entry)) { - return { - content: entry.content, - path: normalize(to(entry.path, entry)), - }; - } else { - return entry; - } - }); -} diff --git a/packages/angular_devkit/schematics/src/rules/rename_spec.ts b/packages/angular_devkit/schematics/src/rules/rename_spec.ts deleted file mode 100644 index 1d72125d8326..000000000000 --- a/packages/angular_devkit/schematics/src/rules/rename_spec.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -/* eslint-disable @typescript-eslint/no-non-null-assertion */ -import { of as observableOf } from 'rxjs'; -import { SchematicContext } from '../engine/interface'; -import { HostTree } from '../tree/host-tree'; -import { callRule } from './call'; -import { rename } from './rename'; - -const context: SchematicContext = null!; - -describe('rename', () => { - it('works', (done) => { - const tree = new HostTree(); - tree.create('a/b/file1', 'hello world'); - tree.create('a/b/file2', 'hello world'); - tree.create('a/c/file3', 'hello world'); - - let i = 0; - - // Rename all files that contain 'b' to 'hello'. - callRule( - rename( - (x) => !!x.match(/b/), - () => 'hello' + i++, - ), - observableOf(tree), - context, - ) - .toPromise() - .then((result) => { - expect(result.exists('a/b/file1')).toBe(false); - expect(result.exists('a/b/file2')).toBe(false); - expect(result.exists('hello0')).toBe(true); - expect(result.exists('hello1')).toBe(true); - expect(result.exists('a/c/file3')).toBe(true); - }) - .then(done, done.fail); - }); - - it('works (2)', (done) => { - const tree = new HostTree(); - tree.create('a/b/file1', 'hello world'); - tree.create('a/b/file2', 'hello world'); - tree.create('a/c/file3', 'hello world'); - - let i = 0; - - // Rename all files that contain 'b' to 'hello'. - callRule( - rename( - (x) => !!x.match(/b/), - (x) => x + i++, - ), - observableOf(tree), - context, - ) - .toPromise() - .then((result) => { - expect(result.exists('a/b/file1')).toBe(false); - expect(result.exists('a/b/file2')).toBe(false); - expect(result.exists('a/b/file10')).toBe(true); - expect(result.exists('a/b/file21')).toBe(true); - expect(result.exists('a/c/file3')).toBe(true); - }) - .then(done, done.fail); - }); -}); diff --git a/packages/angular_devkit/schematics/src/rules/template.ts b/packages/angular_devkit/schematics/src/rules/template.ts index bc5b3258f358..a45bcbb494b1 100644 --- a/packages/angular_devkit/schematics/src/rules/template.ts +++ b/packages/angular_devkit/schematics/src/rules/template.ts @@ -11,7 +11,6 @@ import { TextDecoder } from 'util'; import { FileOperator, Rule } from '../engine/interface'; import { FileEntry } from '../tree/interface'; import { chain, composeFileOperators, forEach, when } from './base'; -import { rename } from './rename'; export const TEMPLATE_FILENAME_RE = /\.template$/; @@ -157,10 +156,16 @@ export function pathTemplate(options: T): Rule { * Remove every `.template` suffix from file names. */ export function renameTemplateFiles(): Rule { - return rename( - (path) => !!path.match(TEMPLATE_FILENAME_RE), - (path) => path.replace(TEMPLATE_FILENAME_RE, ''), - ); + return forEach((entry) => { + if (entry.path.match(TEMPLATE_FILENAME_RE)) { + return { + content: entry.content, + path: normalize(entry.path.replace(TEMPLATE_FILENAME_RE, '')), + }; + } else { + return entry; + } + }); } export function template(options: T): Rule { From 59488244e0c2df3ff26d78ce7cd779d40f4ea473 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 4 Oct 2022 09:42:05 +0000 Subject: [PATCH 0965/1388] build: update actions/checkout action to v3.1.0 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f07719cb371e..22de225902c2 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -25,7 +25,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false From 676a0b36491611afc5c9421b3e7982e84994120c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 4 Oct 2022 09:42:14 +0000 Subject: [PATCH 0966/1388] build: update all non-major dependencies --- .github/workflows/dev-infra.yml | 4 +- package.json | 4 +- yarn.lock | 98 ++++++++++++++++----------------- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8802c22df7b8..69f73138254b 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,14 +12,14 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@40aaf3831425d472965dd61e58cbd5854abd7214 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - uses: angular/dev-infra/github-actions/post-approval-changes@40aaf3831425d472965dd61e58cbd5854abd7214 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index abfa2cfc0253..171a1031ed34 100644 --- a/package.json +++ b/package.json @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.38.1", - "@typescript-eslint/parser": "5.38.1", + "@typescript-eslint/eslint-plugin": "5.39.0", + "@typescript-eslint/parser": "5.39.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/yarn.lock b/yarn.lock index cf7a5fde0852..c135f4ed7938 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2718,84 +2718,84 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz#9f05d42fa8fb9f62304cc2f5c2805e03c01c2620" - integrity sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ== - dependencies: - "@typescript-eslint/scope-manager" "5.38.1" - "@typescript-eslint/type-utils" "5.38.1" - "@typescript-eslint/utils" "5.38.1" +"@typescript-eslint/eslint-plugin@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz#778b2d9e7f293502c7feeea6c74dca8eb3e67511" + integrity sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A== + dependencies: + "@typescript-eslint/scope-manager" "5.39.0" + "@typescript-eslint/type-utils" "5.39.0" + "@typescript-eslint/utils" "5.39.0" debug "^4.3.4" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.1.tgz#c577f429f2c32071b92dff4af4f5fbbbd2414bd0" - integrity sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw== +"@typescript-eslint/parser@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.39.0.tgz#93fa0bc980a3a501e081824f6097f7ca30aaa22b" + integrity sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA== dependencies: - "@typescript-eslint/scope-manager" "5.38.1" - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/typescript-estree" "5.38.1" + "@typescript-eslint/scope-manager" "5.39.0" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/typescript-estree" "5.39.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz#f87b289ef8819b47189351814ad183e8801d5764" - integrity sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ== +"@typescript-eslint/scope-manager@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz#873e1465afa3d6c78d8ed2da68aed266a08008d0" + integrity sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw== dependencies: - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/visitor-keys" "5.38.1" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/visitor-keys" "5.39.0" -"@typescript-eslint/type-utils@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz#7f038fcfcc4ade4ea76c7c69b2aa25e6b261f4c1" - integrity sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw== +"@typescript-eslint/type-utils@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz#0a8c00f95dce4335832ad2dc6bc431c14e32a0a6" + integrity sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA== dependencies: - "@typescript-eslint/typescript-estree" "5.38.1" - "@typescript-eslint/utils" "5.38.1" + "@typescript-eslint/typescript-estree" "5.39.0" + "@typescript-eslint/utils" "5.39.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.1.tgz#74f9d6dcb8dc7c58c51e9fbc6653ded39e2e225c" - integrity sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg== +"@typescript-eslint/types@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.39.0.tgz#f4e9f207ebb4579fd854b25c0bf64433bb5ed78d" + integrity sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw== -"@typescript-eslint/typescript-estree@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz#657d858d5d6087f96b638ee383ee1cff52605a1e" - integrity sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g== +"@typescript-eslint/typescript-estree@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz#c0316aa04a1a1f4f7f9498e3c13ef1d3dc4cf88b" + integrity sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA== dependencies: - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/visitor-keys" "5.38.1" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/visitor-keys" "5.39.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.1.tgz#e3ac37d7b33d1362bb5adf4acdbe00372fb813ef" - integrity sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA== +"@typescript-eslint/utils@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.39.0.tgz#b7063cca1dcf08d1d21b0d91db491161ad0be110" + integrity sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.38.1" - "@typescript-eslint/types" "5.38.1" - "@typescript-eslint/typescript-estree" "5.38.1" + "@typescript-eslint/scope-manager" "5.39.0" + "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/typescript-estree" "5.39.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.38.1": - version "5.38.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz#508071bfc6b96d194c0afe6a65ad47029059edbc" - integrity sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA== +"@typescript-eslint/visitor-keys@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz#8f41f7d241b47257b081ddba5d3ce80deaae61e2" + integrity sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg== dependencies: - "@typescript-eslint/types" "5.38.1" + "@typescript-eslint/types" "5.39.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 4b623461a4a938ba320b5e019f9c715d634a46c4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 4 Oct 2022 13:29:03 +0000 Subject: [PATCH 0967/1388] feat(@angular/cli): drop support for Node.js versions older than 14.20 Node.js 14.20 and newer support generating UUID using the crypto module. See: https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_crypto_randomuuid_options BREAKING CHANGE: Node.js versions older than 14.20 are no longer supported. --- .circleci/dynamic_config.yml | 8 ++++---- .nvmrc | 2 +- WORKSPACE | 4 ++-- constants.bzl | 2 +- docs/DEVELOPER.md | 2 +- lib/packages.ts | 2 +- package.json | 3 +-- packages/angular/cli/BUILD.bazel | 1 - packages/angular/cli/bin/ng.js | 4 ++-- packages/angular/cli/package.json | 1 - packages/angular/cli/src/analytics/analytics.ts | 4 ++-- packages/angular/cli/src/commands/config/cli.ts | 4 ++-- tools/test/expected_package.json | 2 +- yarn.lock | 12 ++++++------ 14 files changed, 24 insertions(+), 27 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 0ecc28f51b54..0eda0235edd9 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -23,9 +23,9 @@ parameters: ## IMPORTANT # Windows needs its own cache key because binaries in node_modules are different. # See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI. -var_1: &cache_key v1-angular_devkit-14.19-{{ checksum "yarn.lock" }} +var_1: &cache_key v1-angular_devkit-14.20-{{ checksum "yarn.lock" }} var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }} -var_3: &default_nodeversion '14.19' +var_3: &default_nodeversion '14.20' var_3_major: &default_nodeversion_major '14' # The major version of node toolchains. See tools/toolchain_info.bzl # NOTE: entries in this array may be repeated elsewhere in the file, find them before adding more @@ -404,7 +404,7 @@ workflows: - e2e-tests: name: e2e-cli-<< matrix.subset >> - nodeversion: '14.15' + nodeversion: '14.20' matrix: parameters: subset: *all_e2e_subsets @@ -421,7 +421,7 @@ workflows: matrix: alias: e2e-cli parameters: - nodeversion: ['14.15', '16.10'] + nodeversion: ['14.20', '16.10'] subset: *all_e2e_subsets requires: - build diff --git a/.nvmrc b/.nvmrc index 62df50f1eefe..a3eb5a03fa6a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -14.17.0 +14.20.0 diff --git a/WORKSPACE b/WORKSPACE index 9f674c7d731c..04ed63936572 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -53,7 +53,7 @@ load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") nodejs_register_toolchains( name = "nodejs", - node_version = "14.17.1", + node_version = "14.20.0", ) load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install") @@ -91,7 +91,7 @@ register_jq_toolchains(version = "1.6") nodejs_register_toolchains( name = "node14", - node_version = "14.17.1", + node_version = "14.20.0", ) nodejs_register_toolchains( diff --git a/constants.bzl b/constants.bzl index b45e2db7819a..684c0d92a47c 100644 --- a/constants.bzl +++ b/constants.bzl @@ -1,5 +1,5 @@ # Engine versions to stamp in a release package.json -RELEASE_ENGINES_NODE = "^14.15.0 || >=16.10.0" +RELEASE_ENGINES_NODE = "^14.20.0 || >=16.10.0" RELEASE_ENGINES_NPM = "^6.11.0 || ^7.5.6 || >=8.0.0" RELEASE_ENGINES_YARN = ">= 1.13.0" diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index 496d354f30c8..bc4cc1477b34 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -6,7 +6,7 @@ To get started locally, follow these instructions: 1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork). 1. Clone to your local computer using `git`. -1. Make sure that you have Node `v14.15`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/). +1. Make sure that you have Node `v14.20`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/). 1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/). 1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies. diff --git a/lib/packages.ts b/lib/packages.ts index 37012d70537d..01a85e4ff6a2 100644 --- a/lib/packages.ts +++ b/lib/packages.ts @@ -85,7 +85,7 @@ function loadPackageJson(p: string) { // Overwrite engines to a common default. case 'engines': pkg['engines'] = { - 'node': '^14.15.0 || >=16.10.0', + 'node': '^14.20.0 || >=16.10.0', 'npm': '^6.11.0 || ^7.5.6 || >=8.0.0', 'yarn': '>= 1.13.0', }; diff --git a/package.json b/package.json index 171a1031ed34..59c76fafd2de 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "url": "https://github.com/angular/angular-cli.git" }, "engines": { - "node": "^14.15.0 || ^16.10.0", + "node": "^14.20.0 || ^16.10.0", "yarn": ">=1.21.1 <2", "npm": "Please use yarn instead of NPM to install dependencies" }, @@ -120,7 +120,6 @@ "@types/semver": "^7.3.12", "@types/tar": "^6.1.2", "@types/text-table": "^0.2.1", - "@types/uuid": "^8.0.0", "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index d9ae936ad37b..119df1d848f3 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -64,7 +64,6 @@ ts_library( "@npm//@types/pacote", "@npm//@types/resolve", "@npm//@types/semver", - "@npm//@types/uuid", "@npm//@types/yargs", "@npm//@types/yarnpkg__lockfile", "@npm//@yarnpkg/lockfile", diff --git a/packages/angular/cli/bin/ng.js b/packages/angular/cli/bin/ng.js index 5d5744b4c0ed..5399becd99d9 100755 --- a/packages/angular/cli/bin/ng.js +++ b/packages/angular/cli/bin/ng.js @@ -41,12 +41,12 @@ if (version[0] % 2 === 1 && version[0] > 16) { (version[0] === 14 && version[1] < 15) || (version[0] === 16 && version[1] < 10) ) { - // Error and exit if less than 14.15 or 15.x or less than 16.10 + // Error and exit if less than 14.20 or 15.x or less than 16.10 console.error( 'Node.js version ' + process.version + ' detected.\n' + - 'The Angular CLI requires a minimum Node.js version of either v14.15, or v16.10.\n\n' + + 'The Angular CLI requires a minimum Node.js version of either v14.20, or v16.10.\n\n' + 'Please update your Node.js version or visit https://nodejs.org/ for additional instructions.\n', ); diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index ac7b50f6ecf4..5160c2a0715d 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -40,7 +40,6 @@ "resolve": "1.22.1", "semver": "7.3.7", "symbol-observable": "4.0.0", - "uuid": "9.0.0", "yargs": "17.6.0" }, "devDependencies": { diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 077fcc295e04..a177a71571cb 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -7,8 +7,8 @@ */ import { analytics, json, tags } from '@angular-devkit/core'; +import { randomUUID } from 'crypto'; import debug from 'debug'; -import { v4 as uuidV4 } from 'uuid'; import { colors } from '../utilities/color'; import { getWorkspace } from '../utilities/config'; import { analyticsDisabled, analyticsShareDisabled } from '../utilities/environment-options'; @@ -78,7 +78,7 @@ export async function setAnalyticsConfig(global: boolean, value: string | boolea throw new Error(`Invalid config found at ${workspace.filePath}. CLI should be an object.`); } - cli.analytics = value === true ? uuidV4() : value; + cli.analytics = value === true ? randomUUID() : value; await workspace.save(); analyticsDebug('done'); } diff --git a/packages/angular/cli/src/commands/config/cli.ts b/packages/angular/cli/src/commands/config/cli.ts index 33c3d6439f09..5977d8cfa02d 100644 --- a/packages/angular/cli/src/commands/config/cli.ts +++ b/packages/angular/cli/src/commands/config/cli.ts @@ -7,8 +7,8 @@ */ import { JsonValue } from '@angular-devkit/core'; +import { randomUUID } from 'crypto'; import { join } from 'path'; -import { v4 as uuidV4 } from 'uuid'; import { Argv } from 'yargs'; import { CommandModule, @@ -104,7 +104,7 @@ export class ConfigCommandModule throw new CommandModuleError('Confguration file cannot be found.'); } - const normalizeUUIDValue = (v: string | undefined) => (v === '' ? uuidV4() : `${v}`); + const normalizeUUIDValue = (v: string | undefined) => (v === '' ? randomUUID() : `${v}`); const value = options.jsonPath === 'cli.analyticsSharing.uuid' diff --git a/tools/test/expected_package.json b/tools/test/expected_package.json index cfa3aec33047..cccb2ed63ac2 100644 --- a/tools/test/expected_package.json +++ b/tools/test/expected_package.json @@ -35,7 +35,7 @@ } }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || >=16.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } diff --git a/yarn.lock b/yarn.lock index c135f4ed7938..7ab0c1c9ca9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2661,7 +2661,7 @@ dependencies: source-map "^0.6.1" -"@types/uuid@^8.0.0", "@types/uuid@^8.3.1": +"@types/uuid@^8.3.1": version "8.3.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== @@ -11176,11 +11176,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@9.0.0, uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" @@ -11191,6 +11186,11 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" From 301b5669a724261d53444d5172334966903078c0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 4 Oct 2022 13:49:25 +0000 Subject: [PATCH 0968/1388] feat(@schematics/angular): remove `ngOnInit` from component template This commit removes the `constructor` and `ngOnInit` as most of the users prefer to add this manually if needed. Closes #23678 --- .../__name@dasherize__.__type@dasherize__.ts.template | 9 ++------- packages/schematics/angular/component/index_spec.ts | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template index c033cca53af0..826be9629e26 100644 --- a/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +++ b/packages/schematics/angular/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template @@ -1,4 +1,4 @@ -import { <% if(changeDetection !== 'Default') { %>ChangeDetectionStrategy, <% }%>Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%> } from '@angular/core';<% if(standalone) {%> +import { <% if(changeDetection !== 'Default') { %>ChangeDetectionStrategy, <% }%>Component<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%> } from '@angular/core';<% if(standalone) {%> import { CommonModule } from '@angular/common';<% } %> @Component({<% if(!skipSelector) {%> @@ -22,11 +22,6 @@ import { CommonModule } from '@angular/common';<% } %> encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> }) -export class <%= classify(name) %><%= classify(type) %> implements OnInit { - - constructor() { } - - ngOnInit(): void { - } +export class <%= classify(name) %><%= classify(type) %> { } diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index d887a524b0d7..ef8ab68f3ddf 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -297,7 +297,7 @@ describe('Component Schematic', () => { const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); const content = tree.readContent('/projects/bar/src/app/foo/foo.route.ts'); const testContent = tree.readContent('/projects/bar/src/app/foo/foo.route.spec.ts'); - expect(content).toContain('export class FooRoute implements OnInit'); + expect(content).toContain('export class FooRoute'); expect(testContent).toContain("describe('FooRoute'"); expect(tree.files).toContain('/projects/bar/src/app/foo/foo.route.css'); expect(tree.files).toContain('/projects/bar/src/app/foo/foo.route.html'); @@ -308,7 +308,7 @@ describe('Component Schematic', () => { const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); const content = tree.readContent('/projects/bar/src/app/foo/foo.ts'); const testContent = tree.readContent('/projects/bar/src/app/foo/foo.spec.ts'); - expect(content).toContain('export class Foo implements OnInit'); + expect(content).toContain('export class Foo'); expect(testContent).toContain("describe('Foo'"); expect(tree.files).toContain('/projects/bar/src/app/foo/foo.css'); expect(tree.files).toContain('/projects/bar/src/app/foo/foo.html'); From 67324b3e5861510b1df9641bb4b10bb67e3a2325 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 4 Oct 2022 09:57:21 -0400 Subject: [PATCH 0969/1388] feat(@angular-devkit/build-angular): add initial incremental code rebuilding to esbuild builder The experimental esbuild-based browser application builder will now support incremental JavaScript bundling when run in watch mode via the `watch` option. This initial implementation integrates the esbuild incremental rebuild functionality. TypeScript source file caching has also been added to improve the rebuild initialization time for the TypeScript and Angular compilation steps. This initial support is not yet fully optimized and additional work is planned to further improve the rebuild performance. --- .../browser-esbuild/compiler-plugin.ts | 32 +++++++ .../src/builders/browser-esbuild/esbuild.ts | 18 ++-- .../src/builders/browser-esbuild/index.ts | 83 +++++++++++++++---- .../src/builders/browser-esbuild/options.ts | 4 + 4 files changed, 117 insertions(+), 20 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 391d7d3c9f70..0726513dbb4a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -18,6 +18,7 @@ import type { PluginBuild, } from 'esbuild'; import { promises as fs } from 'fs'; +import { platform } from 'os'; import * as path from 'path'; import ts from 'typescript'; import angularApplicationPreset from '../../babel/presets/application'; @@ -120,12 +121,33 @@ function convertTypeScriptDiagnostic( return message; } +const USING_WINDOWS = platform() === 'win32'; +const WINDOWS_SEP_REGEXP = new RegExp(`\\${path.win32.sep}`, 'g'); + +export class SourceFileCache extends Map { + readonly modifiedFiles = new Set(); + + invalidate(files: Iterable): void { + this.modifiedFiles.clear(); + for (let file of files) { + // Normalize separators to allow matching TypeScript Host paths + if (USING_WINDOWS) { + file = file.replace(WINDOWS_SEP_REGEXP, path.posix.sep); + } + + this.delete(file); + this.modifiedFiles.add(file); + } + } +} + export interface CompilerPluginOptions { sourcemap: boolean; tsconfig: string; advancedOptimizations?: boolean; thirdPartySourcemaps?: boolean; fileReplacements?: Record; + sourceFileCache?: SourceFileCache; } // This is a non-watch version of the compiler code from `@ngtools/webpack` augmented for esbuild @@ -262,6 +284,7 @@ export function createCompilerPlugin( // Temporary deep import for host augmentation support const { + augmentHostWithCaching, augmentHostWithReplacements, augmentProgramWithVersioning, } = require('@ngtools/webpack/src/ivy/host'); @@ -271,6 +294,15 @@ export function createCompilerPlugin( augmentHostWithReplacements(host, pluginOptions.fileReplacements); } + // Augment TypeScript Host with source file caching if provided + if (pluginOptions.sourceFileCache) { + augmentHostWithCaching(host, pluginOptions.sourceFileCache); + // Allow the AOT compiler to request the set of changed templates and styles + (host as CompilerHost).getModifiedResourceFiles = function () { + return pluginOptions.sourceFileCache?.modifiedFiles; + }; + } + // Create the Angular specific program that contains the Angular compiler const angularProgram = new compilerCli.NgtscProgram( rootNames, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts index 62f592cd6b54..a7d5dc9fd726 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -9,6 +9,7 @@ import { BuilderContext } from '@angular-devkit/architect'; import { BuildFailure, + BuildInvalidate, BuildOptions, BuildResult, Message, @@ -32,20 +33,25 @@ export function isEsBuildFailure(value: unknown): value is BuildFailure { * All builds use the `write` option with a value of `false` to allow for the output files * build result array to be populated. * - * @param options The esbuild options object to use when building. + * @param optionsOrInvalidate The esbuild options object to use when building or the invalidate object + * returned from an incremental build to perform an additional incremental build. * @returns If output files are generated, the full esbuild BuildResult; if not, the * warnings and errors for the attempted build. */ export async function bundle( - options: BuildOptions, + optionsOrInvalidate: BuildOptions | BuildInvalidate, ): Promise< (BuildResult & { outputFiles: OutputFile[] }) | (BuildFailure & { outputFiles?: never }) > { try { - return await build({ - ...options, - write: false, - }); + if (typeof optionsOrInvalidate === 'function') { + return (await optionsOrInvalidate()) as BuildResult & { outputFiles: OutputFile[] }; + } else { + return await build({ + ...optionsOrInvalidate, + write: false, + }); + } } catch (failure) { // Build failures will throw an exception which contains errors/warnings if (isEsBuildFailure(failure)) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index face505e3cfa..36f714362bc5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import * as assert from 'assert'; -import type { Message, OutputFile } from 'esbuild'; +import type { BuildInvalidate, BuildOptions, Message, OutputFile } from 'esbuild'; import * as fs from 'fs/promises'; import * as path from 'path'; import { deleteOutputDir } from '../../utils'; @@ -19,18 +19,56 @@ import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; import { augmentAppWithServiceWorkerEsbuild } from '../../utils/service-worker'; import { getSupportedBrowsers } from '../../utils/supported-browsers'; -import { createCompilerPlugin } from './compiler-plugin'; +import { SourceFileCache, createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; import { NormalizedBrowserOptions, normalizeOptions } from './options'; import { Schema as BrowserBuilderOptions } from './schema'; import { bundleStylesheetText } from './stylesheets'; -import { createWatcher } from './watcher'; +import { ChangedFiles, createWatcher } from './watcher'; + +interface RebuildState { + codeRebuild?: BuildInvalidate; + codeBundleCache?: SourceFileCache; + fileChanges: ChangedFiles; +} + +/** + * Represents the result of a single builder execute call. + */ +class ExecutionResult { + constructor( + private success: boolean, + private codeRebuild?: BuildInvalidate, + private codeBundleCache?: SourceFileCache, + ) {} + + get output() { + return { + success: this.success, + }; + } + + createRebuildState(fileChanges: ChangedFiles): RebuildState { + this.codeBundleCache?.invalidate([...fileChanges.modified, ...fileChanges.removed]); + + return { + codeRebuild: this.codeRebuild, + codeBundleCache: this.codeBundleCache, + fileChanges, + }; + } + + dispose(): void { + this.codeRebuild?.dispose(); + } +} async function execute( options: NormalizedBrowserOptions, context: BuilderContext, -): Promise { + rebuildState?: RebuildState, +): Promise { const startTime = Date.now(); const { @@ -47,9 +85,13 @@ async function execute( getSupportedBrowsers(projectRoot, context.logger), ); + const codeBundleCache = options.watch + ? rebuildState?.codeBundleCache ?? new SourceFileCache() + : undefined; + const [codeResults, styleResults] = await Promise.all([ // Execute esbuild to bundle the application code - bundleCode(options, target), + bundle(rebuildState?.codeRebuild ?? createCodeBundleOptions(options, target, codeBundleCache)), // Execute esbuild to bundle the global stylesheets bundleGlobalStylesheets(options, target), ]); @@ -62,7 +104,7 @@ async function execute( // Return if the bundling failed to generate output files or there are errors if (!codeResults.outputFiles || codeResults.errors.length) { - return { success: false }; + return new ExecutionResult(false, rebuildState?.codeRebuild, codeBundleCache); } // Structure the code bundling output files @@ -93,7 +135,7 @@ async function execute( // Return if the global stylesheet bundling has errors if (styleResults.errors.length) { - return { success: false }; + return new ExecutionResult(false, codeResults.rebuild, codeBundleCache); } // Generate index HTML file @@ -160,13 +202,13 @@ async function execute( } catch (error) { context.logger.error(error instanceof Error ? error.message : `${error}`); - return { success: false }; + return new ExecutionResult(false, codeResults.rebuild, codeBundleCache); } } context.logger.info(`Complete. [${(Date.now() - startTime) / 1000} seconds]`); - return { success: true }; + return new ExecutionResult(true, codeResults.rebuild, codeBundleCache); } function createOutputFileFromText(path: string, text: string): OutputFile { @@ -179,7 +221,11 @@ function createOutputFileFromText(path: string, text: string): OutputFile { }; } -async function bundleCode(options: NormalizedBrowserOptions, target: string[]) { +function createCodeBundleOptions( + options: NormalizedBrowserOptions, + target: string[], + sourceFileCache?: SourceFileCache, +): BuildOptions { const { workspaceRoot, entryPoints, @@ -194,9 +240,10 @@ async function bundleCode(options: NormalizedBrowserOptions, target: string[]) { advancedOptimizations, } = options; - return bundle({ + return { absWorkingDir: workspaceRoot, bundle: true, + incremental: options.watch, format: 'esm', entryPoints, entryNames: outputNames.bundles, @@ -234,6 +281,7 @@ async function bundleCode(options: NormalizedBrowserOptions, target: string[]) { tsconfig, advancedOptimizations, fileReplacements, + sourceFileCache, }, // Component stylesheet options { @@ -255,7 +303,7 @@ async function bundleCode(options: NormalizedBrowserOptions, target: string[]) { ...(optimizationOptions.scripts ? { 'ngDevMode': 'false' } : undefined), 'ngJitMode': 'false', }, - }); + }; } async function bundleGlobalStylesheets(options: NormalizedBrowserOptions, target: string[]) { @@ -383,13 +431,16 @@ export async function* buildEsbuildBrowser( } // Initial build - yield await execute(normalizedOptions, context); + let result = await execute(normalizedOptions, context); + yield result.output; // Finish if watch mode is not enabled if (!initialOptions.watch) { return; } + context.logger.info('Watch mode enabled. Watching for file changes...'); + // Setup a watcher const watcher = createWatcher({ polling: typeof initialOptions.poll === 'number', @@ -416,10 +467,14 @@ export async function* buildEsbuildBrowser( context.logger.info(changes.toDebugString()); } - yield await execute(normalizedOptions, context); + result = await execute(normalizedOptions, context, result.createRebuildState(changes)); + yield result.output; } } finally { + // Stop the watcher await watcher.close(); + // Cleanup incremental rebuild state + result.dispose(); } } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 941dc867d0f9..29f86f867320 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -133,10 +133,12 @@ export async function normalizeOptions( buildOptimizer, crossOrigin, externalDependencies, + poll, preserveSymlinks, stylePreprocessorOptions, subresourceIntegrity, verbose, + watch, } = options; // Return all the normalized options @@ -145,10 +147,12 @@ export async function normalizeOptions( baseHref, crossOrigin, externalDependencies, + poll, preserveSymlinks, stylePreprocessorOptions, subresourceIntegrity, verbose, + watch, workspaceRoot, entryPoints, optimizationOptions, From 24bcfaaca19a749abf1e91b8dc6a30182d3fa2ae Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 5 Oct 2022 11:38:26 +0000 Subject: [PATCH 0970/1388] build: update all non-major dependencies --- package.json | 6 +-- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 44 ++++++++++++------- 4 files changed, 34 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 59c76fafd2de..98315d60cf01 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "18.0.5", + "puppeteer": "18.1.0", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", @@ -198,7 +198,7 @@ "sass": "1.55.0", "sass-loader": "13.0.2", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", - "semver": "7.3.7", + "semver": "7.3.8", "shelljs": "^0.8.5", "source-map": "0.7.4", "source-map-loader": "4.0.0", @@ -206,7 +206,7 @@ "spdx-satisfies": "^5.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.15.0", + "terser": "5.15.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 5160c2a0715d..70cff21e8247 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -38,7 +38,7 @@ "ora": "5.4.1", "pacote": "13.6.2", "resolve": "1.22.1", - "semver": "7.3.7", + "semver": "7.3.8", "symbol-observable": "4.0.0", "yargs": "17.6.0" }, diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index fe697d629104..89df97293177 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -55,10 +55,10 @@ "rxjs": "6.6.7", "sass": "1.55.0", "sass-loader": "13.0.2", - "semver": "7.3.7", + "semver": "7.3.8", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", - "terser": "5.15.0", + "terser": "5.15.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.0", diff --git a/yarn.lock b/yarn.lock index 7ab0c1c9ca9e..21e2255931e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4508,10 +4508,10 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A== -devtools-protocol@0.0.1036444: - version "0.0.1036444" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz#a570d3cdde61527c82f9b03919847b8ac7b1c2b9" - integrity sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw== +devtools-protocol@0.0.1045489: + version "0.0.1045489" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1045489.tgz#f959ad560b05acd72d55644bc3fb8168a83abf28" + integrity sha512-D+PTmWulkuQW4D1NTiCRCFxF7pQPn0hgp4YyX4wAQ6xYXKOadSWPR3ENGDQ47MW/Ewc9v2rpC/UEEGahgBYpSQ== dezalgo@^1.0.0: version "1.0.4" @@ -9365,14 +9365,14 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@18.0.5: - version "18.0.5" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.0.5.tgz#873223b17b92345182c5b5e8cfbd6f3117f1547d" - integrity sha512-s4erjxU0VtKojPvF+KvLKG6OHUPw7gO2YV1dtOsoryyCbhrs444fXb4QZqGWuTv3V/rgSCUzeixxu34g0ZkSMA== +puppeteer@18.1.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.1.0.tgz#7fa53b29f87dfb3192d415f38a46e35b107ec907" + integrity sha512-2RCVWIF+pZOSfksWlQU0Hh6CeUT5NYt66CDDgRyuReu6EvBAk1y+/Q7DuzYNvGChSecGMb7QPN0hkxAa3guAog== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.1036444" + devtools-protocol "0.0.1045489" extract-zip "2.0.1" https-proxy-agent "5.0.1" progress "2.0.3" @@ -9380,7 +9380,7 @@ puppeteer@18.0.5: rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" - ws "8.8.1" + ws "8.9.0" q@1.4.1: version "1.4.1" @@ -10051,6 +10051,13 @@ semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver dependencies: lru-cache "^6.0.0" +semver@7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -10746,6 +10753,16 @@ terser@5.15.0, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" +terser@5.15.1: + version "5.15.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" + integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -11668,12 +11685,7 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.8.1: - version "8.8.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" - integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== - -ws@>=8.7.0, ws@^8.4.2: +ws@8.9.0, ws@>=8.7.0, ws@^8.4.2: version "8.9.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== From 8eb58bdbe034e2cbae9cdae058ad4633c8f2a761 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 5 Oct 2022 09:56:29 -0400 Subject: [PATCH 0971/1388] fix(@angular-devkit/schematics): throw more relevant error when Rule returns invalid null value A `null` value is not considered a valid return value for a schematics Rule. While the Rule type should prevent this, casting could allow this to potentially occur. Previously, this would accidentally be treated the same as a void return due to incomplete result checking. However, recent refactoring caused the `null` case to fail with a non-obvious error message when it should have failed with the existing `InvalidRuleResultException`. Non-tree result objects including `null` will now fail with `InvalidRuleResultException`. --- .../schematics/src/rules/call.ts | 2 +- .../schematics/src/rules/call_spec.ts | 36 ++++++------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/packages/angular_devkit/schematics/src/rules/call.ts b/packages/angular_devkit/schematics/src/rules/call.ts index 9f8655a88f5d..346517f98cef 100644 --- a/packages/angular_devkit/schematics/src/rules/call.ts +++ b/packages/angular_devkit/schematics/src/rules/call.ts @@ -91,7 +91,7 @@ async function callRuleAsync(rule: Rule, tree: Tree, context: SchematicContext): result = await result.pipe(defaultIfEmpty(tree)).toPromise(); } - if (TreeSymbol in result) { + if (result && TreeSymbol in result) { return result as Tree; } diff --git a/packages/angular_devkit/schematics/src/rules/call_spec.ts b/packages/angular_devkit/schematics/src/rules/call_spec.ts index 283dcd68aea0..a8c8ea5896af 100644 --- a/packages/angular_devkit/schematics/src/rules/call_spec.ts +++ b/packages/angular_devkit/schematics/src/rules/call_spec.ts @@ -20,11 +20,11 @@ import { callSource, } from './call'; -const context: SchematicContext = ({ +const context: SchematicContext = { engine: null, debug: false, strategy: MergeStrategy.Default, -} as {}) as SchematicContext; +} as {} as SchematicContext; describe('callSource', () => { it('errors if undefined source', (done) => { @@ -95,34 +95,20 @@ describe('callSource', () => { }); describe('callRule', () => { - it('errors if invalid source object', (done) => { - const tree0 = observableOf(empty()); + it('should throw InvalidRuleResultException when rule result is non-Tree object', async () => { const rule0: Rule = () => ({} as Tree); - callRule(rule0, tree0, context) - .toPromise() - .then( - () => done.fail(), - (err) => { - expect(err).toEqual(new InvalidRuleResultException({})); - }, - ) - .then(done, done.fail); + await expectAsync(callRule(rule0, empty(), context).toPromise()).toBeRejectedWithError( + InvalidRuleResultException, + ); }); - it('errors if Observable of invalid source object', (done) => { - const tree0 = observableOf(empty()); - const rule0: Rule = () => observableOf({} as Tree); + it('should throw InvalidRuleResultException when rule result is null', async () => { + const rule0: Rule = () => null as unknown as Tree; - callRule(rule0, tree0, context) - .toPromise() - .then( - () => done.fail(), - (err) => { - expect(err).toEqual(new InvalidRuleResultException({})); - }, - ) - .then(done, done.fail); + await expectAsync(callRule(rule0, empty(), context).toPromise()).toBeRejectedWithError( + InvalidRuleResultException, + ); }); it('works with undefined result', (done) => { From 0e399485fbd7a0e75126fc16617a3ec9ad740018 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 5 Oct 2022 19:38:33 -0400 Subject: [PATCH 0972/1388] docs: release notes for the v14.2.5 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc403f979569..f5cce07313ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.2.5 (2022-10-05) + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | +| [17eb20c77](https://github.com/angular/angular-cli/commit/17eb20c77098841d45f0444f5f047c4d44fc614f) | fix | throw more relevant error when Rule returns invalid null value | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.0.0-next.3 (2022-09-28) From 6197a2d548aeaba9ffe9b1c2572f46e3afe58f26 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 5 Oct 2022 19:42:11 -0400 Subject: [PATCH 0973/1388] release: cut the v15.0.0-next.4 release --- CHANGELOG.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5cce07313ea..74e63ea942a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,50 @@ + + +# 15.0.0-next.4 (2022-10-05) + +## Breaking Changes + +### @angular/cli + +- Node.js versions older than 14.20 are no longer supported. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [b6897dbb0](https://github.com/angular/angular-cli/commit/b6897dbb0a1ef287644e117251c1c76cc8afcae0) | feat | remove `karma.conf.js` from newly generated projects | +| [301b5669a](https://github.com/angular/angular-cli/commit/301b5669a724261d53444d5172334966903078c0) | feat | remove `ngOnInit` from component template | +| [84e3f7727](https://github.com/angular/angular-cli/commit/84e3f7727dc1de31484704c7c06d51ff5392a34a) | fix | remove empty lines | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [4b623461a](https://github.com/angular/angular-cli/commit/4b623461a4a938ba320b5e019f9c715d634a46c4) | feat | drop support for Node.js versions older than 14.20 | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [67324b3e5](https://github.com/angular/angular-cli/commit/67324b3e5861510b1df9641bb4b10bb67e3a2325) | feat | add initial incremental code rebuilding to esbuild builder | +| [3d94ca21b](https://github.com/angular/angular-cli/commit/3d94ca21bbb7496a2ff588166fd93c5f2339b823) | feat | add initial watch support to esbuild-based builder | +| [2b6029245](https://github.com/angular/angular-cli/commit/2b602924538bf987e92f806c25c2a3d008a3f0a9) | feat | providing a karma config is now optional | +| [f9a2c3a12](https://github.com/angular/angular-cli/commit/f9a2c3a1216cf9510e122df44a64ddd11d47226b) | fix | allow both script and module sourceTypes to be localized | +| [b6df9c136](https://github.com/angular/angular-cli/commit/b6df9c1367ae5795a3895628ec9822d432b315bb) | fix | handle conditional exports in `scripts` and `styles` option | +| [8f8e02c32](https://github.com/angular/angular-cli/commit/8f8e02c3221c9477ec931bb6983daf6a2c8dc8be) | fix | support Yarn PNP resolution in modern SASS API | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | +| [8eb58bdbe](https://github.com/angular/angular-cli/commit/8eb58bdbe034e2cbae9cdae058ad4633c8f2a761) | fix | throw more relevant error when Rule returns invalid null value | + +## Special Thanks + +Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat and minijus + + + # 14.2.5 (2022-10-05) diff --git a/package.json b/package.json index 98315d60cf01..1cec6ab90bc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.0.0-next.3", + "version": "15.0.0-next.4", "private": true, "description": "Software Development Kit for Angular", "bin": { From 8c915d41496c99fb42ae3992d9c91de542260bf2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:38:37 -0400 Subject: [PATCH 0974/1388] perf(@angular-devkit/build-angular): avoid extra babel file reads in esbuild builder rebuilds To further improve incremental rebuild performance of the experimental esbuild-based browser application builder, the output of JS file babel transformations are now cached in memory by the input file name and invalidated via the file watching events. This allows an additional file read per JS input file to be avoided if the file has not changed. Previously the content of the JS input file was used as the basis of the cache key for the transformation output which necessitated reading the file. With the file change information available, the content based method is no longer necessary. --- .../browser-esbuild/compiler-plugin.ts | 70 +++++++------------ 1 file changed, 27 insertions(+), 43 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 0726513dbb4a..3075e4fb58b2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -126,10 +126,13 @@ const WINDOWS_SEP_REGEXP = new RegExp(`\\${path.win32.sep}`, 'g'); export class SourceFileCache extends Map { readonly modifiedFiles = new Set(); + readonly babelFileCache = new Map(); invalidate(files: Iterable): void { this.modifiedFiles.clear(); for (let file of files) { + this.babelFileCache.delete(file); + // Normalize separators to allow matching TypeScript Host paths if (USING_WINDOWS) { file = file.replace(WINDOWS_SEP_REGEXP, path.posix.sep); @@ -223,7 +226,7 @@ export function createCompilerPlugin( let previousBuilder: ts.EmitAndSemanticDiagnosticsBuilderProgram | undefined; let previousAngularProgram: NgtscProgram | undefined; - const babelMemoryCache = new Map(); + const babelDataCache = new Map(); build.onStart(async () => { const result: OnStartResult = {}; @@ -401,28 +404,38 @@ export function createCompilerPlugin( }; } + const data = typescriptResult.content ?? ''; + // The pre-transformed data is used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well. + let contents = babelDataCache.get(data); + if (contents === undefined) { + contents = await transformWithBabel(args.path, data, pluginOptions); + babelDataCache.set(data, contents); + } + return { - contents: await transformWithBabelCached( - args.path, - typescriptResult.content ?? '', - pluginOptions, - babelMemoryCache, - ), + contents, loader: 'js', }; }, ); build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => { - const data = await fs.readFile(args.path, 'utf-8'); + // The filename is currently used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well as a check for any change of content. + let contents = pluginOptions.sourceFileCache?.babelFileCache.get(args.path); + if (contents === undefined) { + const data = await fs.readFile(args.path, 'utf-8'); + contents = await transformWithBabel(args.path, data, pluginOptions); + pluginOptions.sourceFileCache?.babelFileCache.set(args.path, contents); + } return { - contents: await transformWithBabelCached( - args.path, - data, - pluginOptions, - babelMemoryCache, - ), + contents, loader: 'js', }; }); @@ -524,32 +537,3 @@ async function transformWithBabel( return result?.code ?? data; } - -/** - * Transforms JavaScript file data using the babel transforms setup in transformWithBabel. The - * supplied cache will be used to avoid repeating the transforms for data that has previously - * been transformed such as in a previous rebuild cycle. - * @param filename The file path of the data to be transformed. - * @param data The file data that will be transformed. - * @param pluginOptions Compiler plugin options that will be used to control the transformation. - * @param cache A cache of previously transformed data that will be used to avoid repeat transforms. - * @returns A promise containing the transformed data. - */ -async function transformWithBabelCached( - filename: string, - data: string, - pluginOptions: CompilerPluginOptions, - cache: Map, -): Promise { - // The pre-transformed data is used as a cache key. Since the cache is memory only, - // the options cannot change and do not need to be represented in the key. If the - // cache is later stored to disk, then the options that affect transform output - // would need to be added to the key as well. - let result = cache.get(data); - if (result === undefined) { - result = await transformWithBabel(filename, data, pluginOptions); - cache.set(data, result); - } - - return result; -} From 0ad0e0c3eb4da2e7d5e3846aafbddae13ed24094 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 6 Oct 2022 11:09:58 +0000 Subject: [PATCH 0975/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 126 +++++++++--------- 7 files changed, 102 insertions(+), 100 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 69f73138254b..c891f3e83fad 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@40aaf3831425d472965dd61e58cbd5854abd7214 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@40aaf3831425d472965dd61e58cbd5854abd7214 + - uses: angular/dev-infra/github-actions/post-approval-changes@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ee715aa07d81..e7c536e90413 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@40aaf3831425d472965dd61e58cbd5854abd7214 + - uses: angular/dev-infra/github-actions/feature-request@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index c1f9cf88ad55..046d294e867e 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@40aaf3831425d472965dd61e58cbd5854abd7214 + - uses: angular/dev-infra/github-actions/lock-closed@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 1cec6ab90bc8..2b4082c49ea9 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.4", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3", - "@angular/cdk": "14.2.3", - "@angular/common": "15.0.0-next.4", - "@angular/compiler": "15.0.0-next.4", - "@angular/compiler-cli": "15.0.0-next.4", - "@angular/core": "15.0.0-next.4", - "@angular/forms": "15.0.0-next.4", - "@angular/localize": "15.0.0-next.4", - "@angular/material": "14.2.3", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9", - "@angular/platform-browser": "15.0.0-next.4", - "@angular/platform-browser-dynamic": "15.0.0-next.4", - "@angular/platform-server": "15.0.0-next.4", - "@angular/router": "15.0.0-next.4", - "@angular/service-worker": "15.0.0-next.4", + "@angular/animations": "15.0.0-next.5", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1c1c375aff396f7f5eaa22d6d5bc112b255bd45a", + "@angular/cdk": "14.2.4", + "@angular/common": "15.0.0-next.5", + "@angular/compiler": "15.0.0-next.5", + "@angular/compiler-cli": "15.0.0-next.5", + "@angular/core": "15.0.0-next.5", + "@angular/forms": "15.0.0-next.5", + "@angular/localize": "15.0.0-next.5", + "@angular/material": "14.2.4", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5d7a73b39c1357c571dc1478caa495bc30195d6f", + "@angular/platform-browser": "15.0.0-next.5", + "@angular/platform-browser-dynamic": "15.0.0-next.5", + "@angular/platform-server": "15.0.0-next.5", + "@angular/router": "15.0.0-next.5", + "@angular/service-worker": "15.0.0-next.5", "@babel/core": "7.19.3", "@babel/generator": "7.19.3", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 0f8347fe37ef..78c5c7d6d2fd 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.4", - "@angular/compiler-cli": "15.0.0-next.4", + "@angular/compiler": "15.0.0-next.5", + "@angular/compiler-cli": "15.0.0-next.5", "typescript": "4.8.4", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 8ef6e72f8152..d9b211cd5dff 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#ff48c3b013d1462d156997b40c917d1dcc4d4997", - "@angular/cdk": "github:angular/cdk-builds#640054c36f46b5f50bb6351bc7f987e72c0e769a", - "@angular/common": "github:angular/common-builds#402d21c9d62d22af03074577f51321749f2bcbbc", - "@angular/compiler": "github:angular/compiler-builds#01e38e28c81ca091684bc6e555ddad7e1d0f0ec1", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#ac332dbabfecbf346d6ade272a8a8118a7565fc6", - "@angular/core": "github:angular/core-builds#1b9f6a0f13112c2c90e3e5f35519a5ca6a1f59ad", - "@angular/forms": "github:angular/forms-builds#c725c64fd34835812954559a5f84030b7b90aeb2", - "@angular/language-service": "github:angular/language-service-builds#3736255654be7a0f53dce1527b4371b205280e99", - "@angular/localize": "github:angular/localize-builds#c47a670d230d27286a7432a4a68ce6d1f81ffde0", - "@angular/material": "github:angular/material-builds#887608f4879faa4c7f6405762698c3a6987ac02c", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ff64fa2fbed793b9d9fc5b38f1ccaf92e352ccb3", - "@angular/platform-browser": "github:angular/platform-browser-builds#4a5f5eabfa4d700495c77243067927bed58a33f2", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#044a414d58c9f8f01227537eddf8716abf290c1f", - "@angular/platform-server": "github:angular/platform-server-builds#4b426c4d53197b49dd680d3aa172e6c4ad684a1a", - "@angular/router": "github:angular/router-builds#a4fb5401d9d056a478b38be036c1f4c3cef8164d", - "@angular/service-worker": "github:angular/service-worker-builds#41f502fd5ee9768e6048a3acb5618914cdbe05f4" + "@angular/animations": "github:angular/animations-builds#7d21f0ef4c15e13549766d9e03eb9a32623f0a0f", + "@angular/cdk": "github:angular/cdk-builds#86c0ce53f8683b2a0d4b167c958c8469ebf2da30", + "@angular/common": "github:angular/common-builds#4cd49af30405e80702a70e545d9e1fce1d8059e8", + "@angular/compiler": "github:angular/compiler-builds#75047ef9a3d24556fdcf7493de04dd5ad9439fdc", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#acf1618f6995d90b672b72b6a2bc1b800f3afe8c", + "@angular/core": "github:angular/core-builds#52d1a5544724110eb4b22c830725dd7469a14127", + "@angular/forms": "github:angular/forms-builds#3482826a860e0fca0f8bfdb9e44b91c8fc15f095", + "@angular/language-service": "github:angular/language-service-builds#c46713a04136373a46d985d8331a6055c81d0fcd", + "@angular/localize": "github:angular/localize-builds#6ad9067353fa6d8e2f6a2d333e984e85dbd77511", + "@angular/material": "github:angular/material-builds#8b434e283f363d787ffee215158eec3f96ad9141", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6208d8e31941c4966b4338f21a2d3eb47fc396ab", + "@angular/platform-browser": "github:angular/platform-browser-builds#0abee5d5c311a38124adb061af4a1d51059cbd90", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e741feaedf03af28930c3fd25fbebab35f4b5516", + "@angular/platform-server": "github:angular/platform-server-builds#1f7135ce8aa1b57042a267f2bb9ae4e5326bf083", + "@angular/router": "github:angular/router-builds#5369d2faa10d1c31d0a828224e2f6f8ef980fd6a", + "@angular/service-worker": "github:angular/service-worker-builds#31997f018d1148952bd733775d23a8c5d096622c" } } diff --git a/yarn.lock b/yarn.lock index 21e2255931e0..a99e2cb45341 100644 --- a/yarn.lock +++ b/yarn.lock @@ -112,10 +112,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.4.tgz#e4d2fa1d614b389506b0a7dc890db65e7f432203" - integrity sha512-g02tKpmh/WbxV684A2O3BemxDht/x7gxOeC60/vgomlEhBwQEHVlD7hjl84nCOBY8aX/wVuOL1Zt4ODM2PKi7A== +"@angular/animations@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.5.tgz#152a71ece368183edce31b660ba10708c6a4f40b" + integrity sha512-xwRiAkNosnV/+UXbRuBq9jWMzstgeurk+w+1RyvbV/tOIgi85W4dA2h5NjGOuNkG+w5oQbALCaZ61fS6BUuUiQ== dependencies: tslib "^2.3.0" @@ -127,9 +127,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3": - version "0.0.0-40aaf3831425d472965dd61e58cbd5854abd7214" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6df2d555d326fe6282de28db80c49dd439b42af3" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1c1c375aff396f7f5eaa22d6d5bc112b255bd45a": + version "0.0.0-c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd" + uid "1c1c375aff396f7f5eaa22d6d5bc112b255bd45a" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1c1c375aff396f7f5eaa22d6d5bc112b255bd45a" dependencies: "@angular-devkit/build-angular" "15.0.0-next.0" "@angular/benchpress" "0.3.0" @@ -164,26 +165,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.3": - version "14.2.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.3.tgz#0357923ba3798d8e49b56edfce9344fc9f9aeb6d" - integrity sha512-ej8LZOlND4x5w18R930gtXBgvyUAGapiz0romp4Q5NXGdvin/D9fjBHT6t+WzcWZTckWFsgOVtTHhjSTb6KF+g== +"@angular/cdk@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.4.tgz#f858ff928206c24c1bbd38610444a5214990017d" + integrity sha512-5jngZcOyC2n9pRYec/D0iCw72QSnCkGYjtfgIlOK/FZYGhpOa34GMGObPuv4F0u7J2TEtbO6xIFsCFaK0FLIWQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.4.tgz#92bb8666610f828cd976547beb78c6a979cb944c" - integrity sha512-9/W+xvYrWtR9cU8DjV0WiAFu/7ojWJzCRjBBdc4VURCusWQtmTpZ/5RTl2wxy/HQbKQl7RigY3sKO773lyTdFw== +"@angular/common@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.5.tgz#aef83a95efa6e00a76ebde7ce6bea5daa56bd52b" + integrity sha512-uigrbcBBcElwzYs1TouFu1BCNig9xjPVBbeTUmqkjvyN8hoqOsTOqHytBdp6yYLjOCx8IE9tMjCFNmqTTu94ow== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.4.tgz#213b9a59d2da9e8c6bbe6af3aaea02572f026943" - integrity sha512-OERQq3HkKi6HI5GslZWA3RV5PM2URLhVkd6S8ocLt/2wTPZCVK8zkfm1bMltMY1OfCNfVeYO9wfzsEd5rBPwYg== +"@angular/compiler-cli@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.5.tgz#65ce7e8e2c3869fd1edfbd3c0439f39a20ab6204" + integrity sha512-fePBmWQaxuEP2ZxwDsK30CHs8QSczebE6WLCBfNhaNPTamVhWDsdOJNnW0nDCRLPlQ9CY0LQIHO9z0q1RdPPsg== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -196,17 +197,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.4.tgz#ccd03d3a4a98441c020f75c46aa501bcf89ee092" - integrity sha512-DPeIAXhaEJFkz9UHD05JbC5PNZqvZwer9tK/TRr7PcK8Vtv8mcXe0laxa4fA4aQH8cqJaALKyBN6v4YRJx/OKA== +"@angular/compiler@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.5.tgz#0fd3092f7d9467ed5de77f1bb9ce7595eee49da0" + integrity sha512-E99YAt4pXnw5V7IGmgnkHjtXSCaSHbo+lFryD3mW3lxSsWnHqIYbbFesEL9OwGg/xekwz0wsXLG//tZO4ozjlA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.4.tgz#2632c382f35986ef23e86a42241b7575dfda57d0" - integrity sha512-241A7CBWpQrp0NXFozr5UbTzZWWmoBe1O4r2yPEW47Q5xVCeaKwTaeSuOqu2QgwpLuC7uSNyalRBe33qQyoEKA== +"@angular/core@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.5.tgz#4d820740c9eba83cb2bf119cc47c7df302640733" + integrity sha512-9hZvOjK9enVMlX5NShkAgwlk6eSH3GHSLt8KuX/MveQTfSyxwuSxvw7K8y5drXp0oni4zCpt2e9FmWweuPb99Q== dependencies: tslib "^2.3.0" @@ -217,70 +218,71 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.4.tgz#2fe84858b7ea640d16453a9c586bb0f461ea13fe" - integrity sha512-FikgJY7xdUE1Me6zQ146Wj8Jjo91/wEy2EqQGzUMbfn88ZTvs1zQhn2GP/4bdniuF+D9TVkrRJShHMOKTszLlg== +"@angular/forms@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.5.tgz#b20a55c445367d76c2386b53d73f573c13f430b6" + integrity sha512-GHMYqtvEn0YSMuhg4GhcrdbQS5zNPanWQCj9SvL+TZbLfgJXrl+W1tUnI/LMxcZiM26w/zA+Y+HHhV/elpnrdg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.4.tgz#d87819899e4bc27fc14436567caed198f054ae29" - integrity sha512-THc4vABtCBblInkb4gHDfm3WWJg2lSRQ+JgU4JaBbHJfnSwNsXibr+o0CatcT/RPFHvK+m1MkggHtzxiDTpu3w== +"@angular/localize@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.5.tgz#3f46a46ee25ca86c466cad2fce2d28619a224b42" + integrity sha512-W9hdfRyQtok7xzi+tbXlIOzfUJ9BFRDxytzJv2n1iHosF1T4kEfhI6cCX85mjqPbkoHooqS4Xi902hcZ8sigzw== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.3": - version "14.2.3" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.3.tgz#07738b5ad297d422f92f5271c45d1ca57fb0e8d1" - integrity sha512-25MjTXE3XBfDjsDh1+CH13o8q1fhC6QiRdzB/0soDAn6NLi3dGlH7at68WFrt894kvXwBC37sM0A2VE6J2mk1A== +"@angular/material@14.2.4": + version "14.2.4" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.4.tgz#9a6902fbe06a93abcfa2152ea2300d09fed06305" + integrity sha512-vS7dyrnr2YpZPjFFmnSZ9W0dFpBQ5cWf4CH5AI0/KfbCGC+2ybkFZ61oMNBf1xXdoyf4Ob16Dm3xerKWFwJ4sQ== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9": - version "0.0.0-40aaf3831425d472965dd61e58cbd5854abd7214" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8c3a9ec4176a7315d24977cfefb6edee22b724d9" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#5d7a73b39c1357c571dc1478caa495bc30195d6f": + version "0.0.0-c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd" + uid "5d7a73b39c1357c571dc1478caa495bc30195d6f" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5d7a73b39c1357c571dc1478caa495bc30195d6f" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.4.tgz#8e9013b6aaf3e7b7f324b0bab654ef9607314370" - integrity sha512-gCNKZPY9cZyogGv6R8fi4Uh0ZuqaHR3deqLXr1PC4Sbg7KJeGvKVATkVAFRvczEUrykGixmCHi1/6pRfSCV5aA== +"@angular/platform-browser-dynamic@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.5.tgz#63b1955da113eb0b819413def8187f69a95a861a" + integrity sha512-cN4EWl8RI+bfUb2iBt+leKuB+XonQQ7JEkTQmZW2rtePZ3GiPzPJWAJciHe57Mu0eccXC7pXUqJKpbQK9NJQLw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.4.tgz#fed614e79fe4d85dd18615269bfa216b82291938" - integrity sha512-9rVw40U/gj4Azewr9UHEUtIgcW5cZSXoSvk8kKyzLOphTDQMqeMW2hHabQ9wpllf4M5fVe7VzENEaMU3VxFHGA== +"@angular/platform-browser@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.5.tgz#947bd1a7bbcf1a086b2a775a0b33b782acac6191" + integrity sha512-LGV7MeZbMjYut8Pn3u0Ay8P2DmRk00ywJFFPidzxLTqIlS9ykG6v1MRm4bnPDwLlWVtC/gg0xpOuSGjxDKgxiQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.4.tgz#be504f7e52fc9f31e341a0311bf23559b83c77db" - integrity sha512-9bgCmJY6HopPmaZxUBrDiNbww/6AYVrux5dHrR7BR/9uICUYTy5/8slVnH/gQLXd+1/I8vKWhy/08rKyhbxy8Q== +"@angular/platform-server@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.5.tgz#8fbc6219855d65f68a1776eb7ea2d7f707b7d2f6" + integrity sha512-RZkk5E/kvOWwc2jhomHUdhlEXjA50YhqLCj97quFB1SyxdkSl88KTRB+CWIwLBjgc9xaGCKe7BaGW/sLzJ1S8Q== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.4.tgz#03b1aec6929ba83a55d6e800124ae883d7421eda" - integrity sha512-gwJcMAJkP+O166zQQGGR0IcQF/N5p7XdsbXAi4k7nyoAkgATbKLMY8hkp+1RgXMg3b4rJyHe786/ms6XMlz/iQ== +"@angular/router@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.5.tgz#91fd0f10d6b82ec1ffa19935f1f0dd66920c052f" + integrity sha512-FgYePen10oYbFyTBTi8noKy7PRZAs1TAEhJAF/dO749rj+eeWkAoGIcIlUwH6asToYtiwfpz0KmZ+/Aibt7IDQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.4.tgz#19c92da7739f64a7b6e846c1f6adf36cdd0cc991" - integrity sha512-94y0bNBwIyg7/HwxsVXLNRRfAt7nVw+7cZ/uAeuOqDsatMjMj1v+KGqmI5l0KM7+Qvp20a4uui+A6+GQZxD4iA== +"@angular/service-worker@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.5.tgz#2b3af0216e67b456e5e5b15c21726eb139fb7cfd" + integrity sha512-gzIfxWudrl70BQawwMBULaJ37zUdUznS6mda4OYPuSRcztXUhXf+FVxkWx7zQx5a4oR6VPrAzpCXzMTuwKpvKw== dependencies: tslib "^2.3.0" From f79f8b1d717e866494e1f1a1aae7a9c8fd6f2831 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 6 Oct 2022 14:48:44 +0000 Subject: [PATCH 0976/1388] test: update colors in inlineStyleLanguage test `color: green` is not part of the compiler code https://github.com/angular/angular/compare/15.0.0-next.4...15.0.0-next.5#diff-6051c2c8a3dc4a133880a8344097be738955132464028402155390c38e0ad18aR197 which causes our tests to fail. This replaces color `green` with another color `indianred`. --- .../options/inline-style-language_spec.ts | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts index ea9d0032a2f9..7bd712dd422b 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/inline-style-language_spec.ts @@ -32,13 +32,13 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { }); await harness.modifyFile('src/app/app.component.ts', (content) => - content.replace('__STYLE_MARKER__', '$primary: green;\\nh1 { color: $primary; }'), + content.replace('__STYLE_MARKER__', '$primary: indianred;\\nh1 { color: $primary; }'), ); const { result } = await harness.executeOnce(); expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.toContain('color: green'); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); }); it('supports Sass inline component styles when set to "sass"', async () => { @@ -49,13 +49,13 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { }); await harness.modifyFile('src/app/app.component.ts', (content) => - content.replace('__STYLE_MARKER__', '$primary: green\\nh1\\n\\tcolor: $primary'), + content.replace('__STYLE_MARKER__', '$primary: indianred\\nh1\\n\\tcolor: $primary'), ); const { result } = await harness.executeOnce(); expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.toContain('color: green'); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); }); it('supports Less inline component styles when set to "less"', async () => { @@ -66,13 +66,13 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { }); await harness.modifyFile('src/app/app.component.ts', (content) => - content.replace('__STYLE_MARKER__', '@primary: green;\\nh1 { color: @primary; }'), + content.replace('__STYLE_MARKER__', '@primary: indianred;\\nh1 { color: @primary; }'), ); const { result } = await harness.executeOnce(); expect(result?.success).toBe(true); - harness.expectFile('dist/main.js').content.toContain('color: green'); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); }); it('updates produced stylesheet in watch mode', async () => { @@ -85,7 +85,7 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { }); await harness.modifyFile('src/app/app.component.ts', (content) => - content.replace('__STYLE_MARKER__', '$primary: green;\\nh1 { color: $primary; }'), + content.replace('__STYLE_MARKER__', '$primary: indianred;\\nh1 { color: $primary; }'), ); const buildCount = await harness @@ -97,18 +97,18 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { switch (index) { case 0: - harness.expectFile('dist/main.js').content.toContain('color: green'); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); harness.expectFile('dist/main.js').content.not.toContain('color: aqua'); await harness.modifyFile('src/app/app.component.ts', (content) => content.replace( - '$primary: green;\\nh1 { color: $primary; }', + '$primary: indianred;\\nh1 { color: $primary; }', '$primary: aqua;\\nh1 { color: $primary; }', ), ); break; case 1: - harness.expectFile('dist/main.js').content.not.toContain('color: green'); + harness.expectFile('dist/main.js').content.not.toContain('color: indianred'); harness.expectFile('dist/main.js').content.toContain('color: aqua'); await harness.modifyFile('src/app/app.component.ts', (content) => @@ -119,7 +119,7 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { ); break; case 2: - harness.expectFile('dist/main.js').content.not.toContain('color: green'); + harness.expectFile('dist/main.js').content.not.toContain('color: indianred'); harness.expectFile('dist/main.js').content.not.toContain('color: aqua'); harness.expectFile('dist/main.js').content.toContain('color: blue'); break; From f313f4fb044052af577abbc79d4d3768612b24ff Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 6 Oct 2022 15:10:00 +0000 Subject: [PATCH 0977/1388] refactor(@angular/cli): remove leftover schematics path handling Remove interim handling of `"format": "path"`. workingDirectory smart default provider should be used instead. --- .../schematics-command-module.ts | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 2580b313a05d..4439616b1d3e 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { normalize as devkitNormalize, isJsonObject, schema, tags } from '@angular-devkit/core'; +import { normalize as devkitNormalize, schema, tags } from '@angular-devkit/core'; import { Collection, UnsuccessfulWorkflowExecution, formats } from '@angular-devkit/schematics'; import { FileSystemCollectionDescription, @@ -143,7 +143,6 @@ export abstract class SchematicsCommandModule ); let shouldReportAnalytics = true; - workflow.engineHost.registerOptionsTransform(async (schematic, options) => { if (shouldReportAnalytics) { shouldReportAnalytics = false; @@ -156,27 +155,6 @@ export abstract class SchematicsCommandModule ); } - // TODO: The below should be removed in version 15 when we change 1P schematics to use the `workingDirectory smart default`. - // Handle `"format": "path"` options. - const schema = schematic?.schemaJson; - if (!options || !schema || !isJsonObject(schema)) { - return options; - } - - if (!('path' in options && (options as Record)['path'] === undefined)) { - return options; - } - - const properties = schema?.['properties']; - if (!properties || !isJsonObject(properties)) { - return options; - } - - const property = properties['path']; - if (!property || !isJsonObject(property)) { - return options; - } - return options; }); From d69f6ecb9c209a390af101175260b9015b4f7d93 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 6 Oct 2022 19:39:17 +0000 Subject: [PATCH 0978/1388] build: update angular to 19cc6f7 --- tests/legacy-cli/e2e/ng-snapshot/package.json | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index d9b211cd5dff..4be270b6a4f1 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7d21f0ef4c15e13549766d9e03eb9a32623f0a0f", + "@angular/animations": "github:angular/animations-builds#19cc6f7bf036fbf3646fd5dc64c9c1752fc805af", "@angular/cdk": "github:angular/cdk-builds#86c0ce53f8683b2a0d4b167c958c8469ebf2da30", - "@angular/common": "github:angular/common-builds#4cd49af30405e80702a70e545d9e1fce1d8059e8", - "@angular/compiler": "github:angular/compiler-builds#75047ef9a3d24556fdcf7493de04dd5ad9439fdc", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#acf1618f6995d90b672b72b6a2bc1b800f3afe8c", - "@angular/core": "github:angular/core-builds#52d1a5544724110eb4b22c830725dd7469a14127", - "@angular/forms": "github:angular/forms-builds#3482826a860e0fca0f8bfdb9e44b91c8fc15f095", - "@angular/language-service": "github:angular/language-service-builds#c46713a04136373a46d985d8331a6055c81d0fcd", - "@angular/localize": "github:angular/localize-builds#6ad9067353fa6d8e2f6a2d333e984e85dbd77511", + "@angular/common": "github:angular/common-builds#fdeb4cb6a94bf7f91763e9131e055710984f1977", + "@angular/compiler": "github:angular/compiler-builds#c60df3787d7794392feef2ff0185e8f419a1f7da", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#ccf20731bfdd6efcdefcfef5909e0a53d1341557", + "@angular/core": "github:angular/core-builds#29185deb168b81c30674a10a78db0d54ce9431f8", + "@angular/forms": "github:angular/forms-builds#099462c1bc73c2054b20eb0c04e8c56aadab1528", + "@angular/language-service": "github:angular/language-service-builds#e4c64d1561464bc8f2da015d62ab5e9b962a472a", + "@angular/localize": "github:angular/localize-builds#d6e4de9bc462f2b45886ed0d438a0b322948c227", "@angular/material": "github:angular/material-builds#8b434e283f363d787ffee215158eec3f96ad9141", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6208d8e31941c4966b4338f21a2d3eb47fc396ab", - "@angular/platform-browser": "github:angular/platform-browser-builds#0abee5d5c311a38124adb061af4a1d51059cbd90", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e741feaedf03af28930c3fd25fbebab35f4b5516", - "@angular/platform-server": "github:angular/platform-server-builds#1f7135ce8aa1b57042a267f2bb9ae4e5326bf083", - "@angular/router": "github:angular/router-builds#5369d2faa10d1c31d0a828224e2f6f8ef980fd6a", - "@angular/service-worker": "github:angular/service-worker-builds#31997f018d1148952bd733775d23a8c5d096622c" + "@angular/platform-browser": "github:angular/platform-browser-builds#a8d5c511789c6254130053f6fa9b4dbd86045a8c", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d61676cf01e804ce4b994415950a933c98691fd1", + "@angular/platform-server": "github:angular/platform-server-builds#89cd54fc37453827d31fdbcc8d075e834fb3ab39", + "@angular/router": "github:angular/router-builds#523e90b22c913c59c3072ce523f26c6349b8b2af", + "@angular/service-worker": "github:angular/service-worker-builds#9159f72785cb4f2d099f8bdedf33d22186179819" } } From 320241010eeb189de820f9abb3959b34f63a300d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 6 Oct 2022 17:38:41 +0000 Subject: [PATCH 0979/1388] fix(@angular/cli): skip downloading temp CLI when running `ng update` without package names In the case when `ng update` is ran without a package name, an update is not be performed. In this case using the current installed version of the CLI is good enough. Closes #24024 --- packages/angular/cli/src/commands/update/cli.ts | 5 +++-- packages/angular/cli/src/utilities/package-metadata.ts | 9 +-------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index c25b2f4a8020..53e657498a45 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -165,7 +165,8 @@ export class UpdateCommandModule extends CommandModule { packageManager.ensureCompatibility(); // Check if the current installed CLI version is older than the latest compatible version. - if (!disableVersionCheck) { + // Skip when running `ng update` without a package name as this will not trigger an actual update. + if (!disableVersionCheck && options.packages?.length) { const cliVersionToInstall = await this.checkCLIVersion( options.packages, options.verbose, @@ -882,7 +883,7 @@ export class UpdateCommandModule extends CommandModule { * @returns the version to install or null when there is no update to install. */ private async checkCLIVersion( - packagesToUpdate: string[] | undefined, + packagesToUpdate: string[], verbose = false, next = false, ): Promise { diff --git a/packages/angular/cli/src/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts index 68916bd6b615..e7a448aa8d61 100644 --- a/packages/angular/cli/src/utilities/package-metadata.ts +++ b/packages/angular/cli/src/utilities/package-metadata.ts @@ -292,19 +292,12 @@ export async function getNpmPackageJson( const { usingYarn = false, verbose = false, registry } = options; ensureNpmrc(logger, usingYarn, verbose); const { packument } = await import('pacote'); - const resultPromise = packument(packageName, { + const response = packument(packageName, { fullMetadata: true, ...npmrc, ...(registry ? { registry } : {}), }); - // TODO: find some way to test this - const response = resultPromise.catch((err) => { - logger.warn(err.message || err); - - return { requestedName: packageName }; - }); - npmPackageJsonCache.set(packageName, response); return response; From 86150d9ddcbc16e35c1912754c8fb50443724074 Mon Sep 17 00:00:00 2001 From: AgentEnder Date: Thu, 29 Sep 2022 17:16:26 -0400 Subject: [PATCH 0980/1388] fix(@angular-devkit/core): project extension warning message should identify concerned project --- packages/angular_devkit/core/src/workspace/json/reader.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/workspace/json/reader.ts b/packages/angular_devkit/core/src/workspace/json/reader.ts index 75038787154b..1b60ff10231a 100644 --- a/packages/angular_devkit/core/src/workspace/json/reader.ts +++ b/packages/angular_devkit/core/src/workspace/json/reader.ts @@ -218,7 +218,10 @@ function parseProject( break; default: if (!context.unprefixedProjectExtensions.has(name) && !/^[a-z]{1,3}-.*/.test(name)) { - context.warn(`Project extension with invalid name (${name}) found.`, name); + context.warn( + `Project '${projectName}' contains extension with invalid name (${name}).`, + name, + ); } if (extensions) { extensions[name] = value; From bdbcd0488e6e88f089c1816b0f3dc8c56f81b4ac Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 7 Oct 2022 05:16:07 +0000 Subject: [PATCH 0981/1388] build: update github/codeql-action action to v2.1.27 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 22de225902c2..237fdf4e4ab4 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@e0e5ded33cabb451ae0a9768fc7b0410bad9ad44 # tag=v2.1.26 + uses: github/codeql-action/upload-sarif@807578363a7869ca324a79039e6db9c843e0e100 # tag=v2.1.27 with: sarif_file: results.sarif From 212609e81e8f8388352fa476c58b38dc80c384eb Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 6 Oct 2022 15:23:24 -0400 Subject: [PATCH 0982/1388] refactor(@angular-devkit/build-angular): use high resolution time for esbuild builder completion time Update the build time calculation for the experimental esbuild-based browser application builder to use the `process.hrtime` time source. The high resolution time provides a more accurate time source and allows for nanosecond level timings if needed. Currently the console output is rounded to the nearest millisecond. Future performance monitoring capabilities may leverage the more fine-grained values. --- .../build_angular/src/builders/browser-esbuild/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 36f714362bc5..3103dff14f63 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -69,7 +69,7 @@ async function execute( context: BuilderContext, rebuildState?: RebuildState, ): Promise { - const startTime = Date.now(); + const startTime = process.hrtime.bigint(); const { projectRoot, @@ -206,7 +206,8 @@ async function execute( } } - context.logger.info(`Complete. [${(Date.now() - startTime) / 1000} seconds]`); + const buildTime = Number(process.hrtime.bigint() - startTime) / 10 ** 9; + context.logger.info(`Complete. [${buildTime.toFixed(3)} seconds]`); return new ExecutionResult(true, codeResults.rebuild, codeBundleCache); } From cd1ae437e3c631b6129f03512d9e4114fc7a8a29 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 6 Oct 2022 21:38:51 +0000 Subject: [PATCH 0983/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 12 ++-- .../angular_devkit/build_angular/package.json | 4 +- .../angular_devkit/schematics/package.json | 2 +- yarn.lock | 58 +++++++++++++------ 5 files changed, 52 insertions(+), 28 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 04ed63936572..78b2b2853af0 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "b011d6206e4e76696eda8287618a2b6375ff862317847cdbe38f8d0cd206e9ce", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.6.0/rules_nodejs-5.6.0.tar.gz"], + sha256 = "c29944ba9b0b430aadcaf3bf2570fece6fc5ebfb76df145c6cdad40d65c20811", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.0/rules_nodejs-5.7.0.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 2b4082c49ea9..d30bfa189a1d 100644 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.6.0", - "@bazel/jasmine": "5.6.0", + "@bazel/concatjs": "5.7.0", + "@bazel/jasmine": "5.7.0", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -166,11 +166,11 @@ "karma-jasmine-html-reporter": "~2.0.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", - "less-loader": "11.0.0", + "less-loader": "11.1.0", "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.26.5", + "magic-string": "0.26.6", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "ng-packagr": "15.0.0-next.3", @@ -190,13 +190,13 @@ "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", - "puppeteer": "18.1.0", + "puppeteer": "18.2.1", "quicktype-core": "6.0.69", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.55.0", - "sass-loader": "13.0.2", + "sass-loader": "13.1.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", "shelljs": "^0.8.5", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 89df97293177..4ec09fb8a5c8 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -38,7 +38,7 @@ "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", - "less-loader": "11.0.0", + "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", "mini-css-extract-plugin": "2.6.1", @@ -54,7 +54,7 @@ "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.55.0", - "sass-loader": "13.0.2", + "sass-loader": "13.1.0", "semver": "7.3.8", "source-map-loader": "4.0.0", "source-map-support": "0.5.21", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index bc7dacbb160f..da0ddc1fd909 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.2.0", - "magic-string": "0.26.5", + "magic-string": "0.26.6", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/yarn.lock b/yarn.lock index a99e2cb45341..12782bd722d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1435,10 +1435,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/concatjs@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.6.0.tgz#a699a38d084e9e1b6c9ed8b231f0cc88881aba49" - integrity sha512-bmVui+LGakpBn6KmyysB1TbYBhxIYnQ/bqQ46DI1e/Ar/0cFb9Dqp5a9dh6WNHUNcQDCr+iCjXnpar3rkH/irQ== +"@bazel/concatjs@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.0.tgz#ee9e2369ceabca7fdba9ee1539ddcdf0fc57a283" + integrity sha512-FlUthrDl9oq8HYP6mXVvhJ1dGCEgZ9TOsHJ6aab56bwBJWNDRwWuCYElozZO/Lgu7NB6GkD3CGG8HBjxYM+ZZg== dependencies: protobufjs "6.8.8" source-map-support "0.5.9" @@ -1449,10 +1449,10 @@ resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.4.tgz#d08b3f8127d3efb1085dce2f7039969fcb61b113" integrity sha512-C9R5hTgYmP/GU7yNzgOus6SaS7tyS5J5ptWruM3ERKaw5CIEPTi0hlBLmPpM9Wo8xIDNlF0BhGvM59T7bKs2iQ== -"@bazel/jasmine@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.6.0.tgz#cf697395931910e329d99e7752fd266dbff32e54" - integrity sha512-82/m2C6CMP9OBRUQ6BVQnuE7zn+b2CBLzJccqw4oDVbRauLAM4W6KAHAjjoZAgXhWKw1NrKToEfcVGrjuz278w== +"@bazel/jasmine@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.0.tgz#85b136f0e671e17d7907ab7bc725648c3267dc1d" + integrity sha512-ZUFyNk1PxMtbeQkF3JshuOpdEpNczKLP2es70Kp7oLZfPQ5DySpGX07utuM/o3gkawdZGVtRMFF+UbQa/wG5mA== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -7282,6 +7282,13 @@ less-loader@11.0.0: dependencies: klona "^2.0.4" +less-loader@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" + integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== + dependencies: + klona "^2.0.4" + less@4.1.3, less@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" @@ -7649,10 +7656,10 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.5: - version "0.26.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.5.tgz#3ceb5c60f546ba4e21e3865ab8de4d32bd8ed07f" - integrity sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg== +magic-string@0.26.6: + version "0.26.6" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.6.tgz#b61e417c9f40b7b53bf7e73c0a803258e20d25ee" + integrity sha512-6d+3bFybzyQFJYSoRsl9ZC0wheze8M1LrQC7tNMRqXR4izUTDOLMd9BtSuExK9iAukFh+s5K0WAhc/dlQ+HKYA== dependencies: sourcemap-codec "^1.4.8" @@ -9367,23 +9374,32 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.1.0.tgz#7fa53b29f87dfb3192d415f38a46e35b107ec907" - integrity sha512-2RCVWIF+pZOSfksWlQU0Hh6CeUT5NYt66CDDgRyuReu6EvBAk1y+/Q7DuzYNvGChSecGMb7QPN0hkxAa3guAog== +puppeteer-core@18.2.1: + version "18.2.1" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-18.2.1.tgz#9b7827bb2bf478bb615e2c21425e4659555dc1fe" + integrity sha512-MRtTAZfQTluz3U2oU/X2VqVWPcR1+94nbA2V6ZrSZRVEwLqZ8eclZ551qGFQD/vD2PYqHJwWOW/fpC721uznVw== dependencies: cross-fetch "3.1.5" debug "4.3.4" devtools-protocol "0.0.1045489" extract-zip "2.0.1" https-proxy-agent "5.0.1" - progress "2.0.3" proxy-from-env "1.1.0" rimraf "3.0.2" tar-fs "2.1.1" unbzip2-stream "1.4.3" ws "8.9.0" +puppeteer@18.2.1: + version "18.2.1" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-18.2.1.tgz#08967cd423efe511ee4c6e3a5c882ffaf2e6bbf3" + integrity sha512-7+UhmYa7wxPh2oMRwA++k8UGVDxh3YdWFB52r9C3tM81T6BU7cuusUSxImz0GEYSOYUKk/YzIhkQ6+vc0gHbxQ== + dependencies: + https-proxy-agent "5.0.1" + progress "2.0.3" + proxy-from-env "1.1.0" + puppeteer-core "18.2.1" + q@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" @@ -9936,6 +9952,14 @@ sass-loader@13.0.2: klona "^2.0.4" neo-async "^2.6.2" +sass-loader@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.1.0.tgz#e5b9acf14199a9bc6eaed7a0b8b23951c2cebf6f" + integrity sha512-tZS1RJQ2n2+QNyf3CCAo1H562WjL/5AM6Gi8YcPVVoNxQX8d19mx8E+8fRrMWsyc93ZL6Q8vZDSM0FHVTJaVnQ== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + sass@1.54.9: version "1.54.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" From fd41753579affa78328bfc4b6108db15ff5053f9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 13:31:04 +0000 Subject: [PATCH 0984/1388] feat(@angular-devkit/build-angular): drop support for TypeScript 4.6 and 4.7 This commit drops support for TypeScript 4.6 and 4.7 BREAKING CHANGE: TypeScript versions older than 4.8.2 are no longer supported. --- packages/angular_devkit/build_angular/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4ec09fb8a5c8..b975348b5cf7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -79,7 +79,7 @@ "ng-packagr": "^15.0.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.6.2 <4.9" + "typescript": "~4.8.2" }, "peerDependenciesMeta": { "@angular/localize": { From 43bd0abc147cf3177e707624bf6163b3dc9e06f8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 13:31:36 +0000 Subject: [PATCH 0985/1388] feat(@ngtools/webpack): drop support for TypeScript 4.6 and 4.7 This commit drops support for TypeScript 4.6 and 4.7 BREAKING CHANGE: TypeScript versions older than 4.8.2 are no longer supported. --- packages/ngtools/webpack/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 78c5c7d6d2fd..a08931ce720b 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -23,7 +23,7 @@ "dependencies": {}, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", - "typescript": ">=4.6.2 <4.9", + "typescript": "~4.8.2", "webpack": "^5.54.0" }, "devDependencies": { From f2a0682dc82afa23a3d3481df59e4aaca5e90c78 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 13:32:20 +0000 Subject: [PATCH 0986/1388] feat(@schematics/angular): generate new projects using TypeScript 4.8.2 Older versions of TypeScript are no longer supported. --- .../schematics/angular/utility/latest-versions/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 715b86d72621..f154225c58f0 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -17,7 +17,7 @@ "rxjs": "~7.5.0", "tslib": "^2.3.0", "ts-node": "~10.9.0", - "typescript": "~4.7.2", + "typescript": "~4.8.2", "zone.js": "~0.11.4" } } From 9b07b469b622e083a9915ed3c24e1d53d8abf38f Mon Sep 17 00:00:00 2001 From: Lukas Spirig Date: Fri, 7 Oct 2022 13:26:08 +0200 Subject: [PATCH 0987/1388] refactor(@angular-devkit/schematics): remove `UpdateBuffer` and rename `UpdateBuffer2` to `UpdateBuffer` This PR removes the internally built `UpdateBuffer` and renames `UpdateBuffer2` (based on magic-string) to `UpdateBuffer`. This should have little to no impact for consumers. BREAKING CHANGE: The depracated `UpdateBuffer` has been removed and `UpdateBuffer2` is renamed to `UpdateBuffer`. With this change the related and deprecated symbols `ContentCannotBeRemovedException` and `Chunk` have also been removed. --- .../schematics/src/tree/recorder_spec.ts | 6 - .../src/utility/environment-options.ts | 20 -- .../schematics/src/utility/linked-list.ts | 72 ----- .../schematics/src/utility/update-buffer.ts | 287 +----------------- .../src/utility/update-buffer_spec.ts | 229 +------------- 5 files changed, 11 insertions(+), 603 deletions(-) delete mode 100644 packages/angular_devkit/schematics/src/utility/environment-options.ts delete mode 100644 packages/angular_devkit/schematics/src/utility/linked-list.ts diff --git a/packages/angular_devkit/schematics/src/tree/recorder_spec.ts b/packages/angular_devkit/schematics/src/tree/recorder_spec.ts index 465b0c1a8394..1ed091c25f54 100644 --- a/packages/angular_devkit/schematics/src/tree/recorder_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/recorder_spec.ts @@ -7,7 +7,6 @@ */ import { normalize } from '@angular-devkit/core'; -import { UpdateBuffer2, UpdateBufferBase } from '../utility/update-buffer'; import { SimpleFileEntry } from './entry'; import { UpdateRecorderBase, UpdateRecorderBom } from './recorder'; @@ -36,11 +35,6 @@ describe('UpdateRecorderBase', () => { const buffer = Buffer.from('Hello beautiful World'); const entry = new SimpleFileEntry(normalize('/some/path'), buffer); - // TODO: Remove once UpdateBufferBase.create defaults to UpdateBuffer2 - spyOn(UpdateBufferBase, 'create').and.callFake( - (originalContent) => new UpdateBuffer2(originalContent), - ); - const recorder = new UpdateRecorderBase(entry); recorder.remove(6, 9); recorder.insertRight(6, 'amazing'); diff --git a/packages/angular_devkit/schematics/src/utility/environment-options.ts b/packages/angular_devkit/schematics/src/utility/environment-options.ts deleted file mode 100644 index cc6042ca8b72..000000000000 --- a/packages/angular_devkit/schematics/src/utility/environment-options.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -function isEnabled(variable: string): boolean { - return variable === '1' || variable.toLowerCase() === 'true'; -} - -function isPresent(variable: string | undefined): variable is string { - return typeof variable === 'string' && variable !== ''; -} - -// Use UpdateBuffer2, which uses magic-string internally. -// TODO: Switch this for the next major release to use UpdateBuffer2 by default. -const updateBufferV2 = process.env['NG_UPDATE_BUFFER_V2']; -export const updateBufferV2Enabled = isPresent(updateBufferV2) && isEnabled(updateBufferV2); diff --git a/packages/angular_devkit/schematics/src/utility/linked-list.ts b/packages/angular_devkit/schematics/src/utility/linked-list.ts deleted file mode 100644 index 8e4b20681ee1..000000000000 --- a/packages/angular_devkit/schematics/src/utility/linked-list.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export class LinkedList { - constructor(private _head: T) {} - - get(l: number) { - let c: T | null = this._head; - while (c && l > 0) { - l--; - c = c.next; - } - - return c; - } - - get head() { - return this._head; - } - get length() { - let c: T | null = this._head; - let i = 0; - while (c) { - i++; - c = c.next; - } - - return i; - } - - reduce(accumulator: (acc: R, value: T, index?: number) => R, seed: R) { - let c: T | null = this._head; - let acc = seed; - let i = 0; - while (c) { - acc = accumulator(acc, c, i); - i++; - c = c.next; - } - - return acc; - } - - find(predicate: (value: T, index?: number) => boolean) { - let c: T | null = this._head; - let i = 0; - while (c) { - if (predicate(c, i)) { - break; - } - i++; - c = c.next; - } - - return c; - } - - forEach(visitor: (value: T, index?: number) => void) { - let c: T | null = this._head; - let i = 0; - while (c) { - visitor(c, i); - i++; - c = c.next; - } - } -} diff --git a/packages/angular_devkit/schematics/src/utility/update-buffer.ts b/packages/angular_devkit/schematics/src/utility/update-buffer.ts index 6062e83d2e27..d520e4dd4805 100644 --- a/packages/angular_devkit/schematics/src/utility/update-buffer.ts +++ b/packages/angular_devkit/schematics/src/utility/update-buffer.ts @@ -8,177 +8,12 @@ import { BaseException } from '@angular-devkit/core'; import MagicString from 'magic-string'; -import { updateBufferV2Enabled } from './environment-options'; -import { LinkedList } from './linked-list'; export class IndexOutOfBoundException extends BaseException { constructor(index: number, min: number, max = Infinity) { super(`Index ${index} outside of range [${min}, ${max}].`); } } -/** @deprecated Since v13.0 */ -export class ContentCannotBeRemovedException extends BaseException { - constructor() { - super(`User tried to remove content that was marked essential.`); - } -} - -/** - * A Chunk description, including left/right content that has been inserted. - * If _left/_right is null, this means that content was deleted. If the _content is null, - * it means the content itself was deleted. - * - * @see UpdateBuffer - * @deprecated Since v13.0 - */ -export class Chunk { - private _content: Buffer | null; - private _left: Buffer | null = Buffer.alloc(0); - private _right: Buffer | null = Buffer.alloc(0); - - private _assertLeft = false; - private _assertRight = false; - - next: Chunk | null = null; - - constructor(public start: number, public end: number, public originalContent: Buffer) { - this._content = originalContent.slice(start, end); - } - - get length() { - return ( - (this._left ? this._left.length : 0) + - (this._content ? this._content.length : 0) + - (this._right ? this._right.length : 0) - ); - } - toString(encoding: BufferEncoding = 'utf-8') { - return ( - (this._left ? this._left.toString(encoding) : '') + - (this._content ? this._content.toString(encoding) : '') + - (this._right ? this._right.toString(encoding) : '') - ); - } - - slice(start: number) { - if (start < this.start || start > this.end) { - throw new IndexOutOfBoundException(start, this.start, this.end); - } - - // Update _content to the new indices. - const newChunk = new Chunk(start, this.end, this.originalContent); - - // If this chunk has _content, reslice the original _content. We move the _right so we are not - // losing any data here. If this chunk has been deleted, the next chunk should also be deleted. - if (this._content) { - this._content = this.originalContent.slice(this.start, start); - } else { - newChunk._content = this._content; - if (this._right === null) { - newChunk._left = null; - } - } - this.end = start; - - // Move _right to the new chunk. - newChunk._right = this._right; - this._right = this._right && Buffer.alloc(0); - - // Update essentials. - if (this._assertRight) { - newChunk._assertRight = true; - this._assertRight = false; - } - - // Update the linked list. - newChunk.next = this.next; - this.next = newChunk; - - return newChunk; - } - - append(buffer: Buffer, essential: boolean) { - if (!this._right) { - if (essential) { - throw new ContentCannotBeRemovedException(); - } - - return; - } - - const outro = this._right; - this._right = Buffer.alloc(outro.length + buffer.length); - outro.copy(this._right, 0); - buffer.copy(this._right, outro.length); - - if (essential) { - this._assertRight = true; - } - } - prepend(buffer: Buffer, essential: boolean) { - if (!this._left) { - if (essential) { - throw new ContentCannotBeRemovedException(); - } - - return; - } - - const intro = this._left; - this._left = Buffer.alloc(intro.length + buffer.length); - intro.copy(this._left, 0); - buffer.copy(this._left, intro.length); - - if (essential) { - this._assertLeft = true; - } - } - - assert(left: boolean, _content: boolean, right: boolean) { - if (left && this._assertLeft) { - throw new ContentCannotBeRemovedException(); - } - - if (right && this._assertRight) { - throw new ContentCannotBeRemovedException(); - } - } - - remove(left: boolean, content: boolean, right: boolean) { - if (left) { - if (this._assertLeft) { - throw new ContentCannotBeRemovedException(); - } - this._left = null; - } - if (content) { - this._content = null; - } - if (right) { - if (this._assertRight) { - throw new ContentCannotBeRemovedException(); - } - this._right = null; - } - } - - copy(target: Buffer, start: number) { - if (this._left) { - this._left.copy(target, start); - start += this._left.length; - } - if (this._content) { - this._content.copy(target, start); - start += this._content.length; - } - if (this._right) { - this._right.copy(target, start); - start += this._right.length; - } - - return start; - } -} /** * Base class for an update buffer implementation that allows buffers to be inserted to the _right @@ -195,139 +30,21 @@ export abstract class UpdateBufferBase { abstract remove(index: number, length: number): void; /** - * Creates an UpdateBufferBase instance. Depending on the NG_UPDATE_BUFFER_V2 - * environment variable, will either create an UpdateBuffer or an UpdateBuffer2 - * instance. - * - * See: https://github.com/angular/angular-cli/issues/21110 + * Creates an UpdateBufferBase instance. * * @param originalContent The original content of the update buffer instance. * @returns An UpdateBufferBase instance. */ static create(originalContent: Buffer): UpdateBufferBase { - return updateBufferV2Enabled - ? new UpdateBuffer2(originalContent) - : new UpdateBuffer(originalContent); + return new UpdateBuffer(originalContent); } } /** * An utility class that allows buffers to be inserted to the _right or _left, or deleted, while * keeping indices to the original buffer. - * - * The constructor takes an original buffer, and keeps it into a linked list of chunks, smaller - * buffers that keep track of _content inserted to the _right or _left of it. - * - * Since the Node Buffer structure is non-destructive when slicing, we try to use slicing to create - * new chunks, and always keep chunks pointing to the original content. - * - * @deprecated Since v13.0 */ export class UpdateBuffer extends UpdateBufferBase { - protected _linkedList: LinkedList; - - constructor(originalContent: Buffer) { - super(originalContent); - this._linkedList = new LinkedList(new Chunk(0, originalContent.length, originalContent)); - } - - protected _assertIndex(index: number) { - if (index < 0 || index > this._originalContent.length) { - throw new IndexOutOfBoundException(index, 0, this._originalContent.length); - } - } - - protected _slice(start: number): [Chunk, Chunk] { - let index: number; - - if (start >= this._originalContent.length) { - index = start; - } else if (start < 0) { - index = this._originalContent.length + start; - } else { - index = this._getTextPosition(start); - } - - this._assertIndex(index); - - // Find the chunk by going through the list. - const h = this._linkedList.find((chunk) => index <= chunk.end); - if (!h) { - throw Error('Chunk cannot be found.'); - } - - if (index == h.end && h.next !== null) { - return [h, h.next]; - } - - return [h, h.slice(index)]; - } - - /** - * Gets the position in the content based on the position in the string. - * Some characters might be wider than one byte, thus we have to determine the position using - * string functions. - */ - protected _getTextPosition(index: number): number { - return Buffer.from(this._originalContent.toString().substring(0, index)).length; - } - - get length(): number { - return this._linkedList.reduce((acc, chunk) => acc + chunk.length, 0); - } - get original(): Buffer { - return this._originalContent; - } - - toString(encoding: BufferEncoding = 'utf-8'): string { - return this._linkedList.reduce((acc, chunk) => acc + chunk.toString(encoding), ''); - } - generate(): Buffer { - const result = Buffer.allocUnsafe(this.length); - let i = 0; - this._linkedList.forEach((chunk) => { - chunk.copy(result, i); - i += chunk.length; - }); - - return result; - } - - insertLeft(index: number, content: Buffer, assert = false) { - this._slice(index)[0].append(content, assert); - } - insertRight(index: number, content: Buffer, assert = false) { - this._slice(index)[1].prepend(content, assert); - } - - remove(index: number, length: number) { - if (length === 0) { - return; - } - - const end = index + length; - const first = this._slice(index)[1]; - const last = this._slice(end)[1]; - - let curr: Chunk | null; - for (curr = first; curr && curr !== last; curr = curr.next) { - curr.assert(curr !== first, curr !== last, curr === first); - } - for (curr = first; curr && curr !== last; curr = curr.next) { - curr.remove(curr !== first, curr !== last, curr === first); - } - - if (curr) { - curr.remove(true, false, false); - } - } -} - -/** - * An utility class that allows buffers to be inserted to the _right or _left, or deleted, while - * keeping indices to the original buffer. - */ -export class UpdateBuffer2 extends UpdateBufferBase { protected _mutatableContent: MagicString = new MagicString(this._originalContent.toString()); protected _assertIndex(index: number) { diff --git a/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts b/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts index c0b120bc363c..a39de1fca71f 100644 --- a/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts +++ b/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { UpdateBuffer, UpdateBuffer2 } from './update-buffer'; +import { UpdateBuffer } from './update-buffer'; describe('UpdateBuffer', () => { describe('inserts', () => { @@ -71,222 +71,11 @@ describe('UpdateBuffer', () => { }); }); - describe('delete', () => { - it('works for non-overlapping ranges', () => { - // 111111111122222222223333333333444444 - // 0123456789012345678901234567890123456789012345 - const mb = new UpdateBuffer(Buffer.from('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd ')); - - mb.remove(43, 2); - expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rld'); - mb.remove(33, 2); - expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wo3 5 rld'); - mb.remove(8, 2); - expect(mb.toString()).toBe('1 4 Ha ello2 Beautiful Great Wo3 5 rld'); - mb.remove(5, 2); - expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 5 rld'); - mb.remove(38, 2); - expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 rld'); - mb.remove(2, 2); - expect(mb.toString()).toBe('1 Hello2 Beautiful Great Wo3 rld'); - mb.remove(36, 2); - expect(mb.toString()).toBe('1 Hello2 Beautiful Great World'); - mb.remove(13, 2); - expect(mb.toString()).toBe('1 Hello Beautiful Great World'); - mb.remove(0, 2); - expect(mb.toString()).toBe('Hello Beautiful Great World'); - mb.remove(26, 6); - expect(mb.toString()).toBe('Hello Beautiful World'); - mb.remove(16, 10); - expect(mb.toString()).toBe('Hello World'); - }); - - it('handles overlapping ranges', () => { - // 0123456789012 - const mb = new UpdateBuffer(Buffer.from('ABCDEFGHIJKLM')); - - // Overlapping. - mb.remove(2, 5); - expect(mb.toString()).toBe('ABHIJKLM'); - mb.remove(3, 2); - expect(mb.toString()).toBe('ABHIJKLM'); - mb.remove(3, 6); - expect(mb.toString()).toBe('ABJKLM'); - mb.remove(3, 6); - expect(mb.toString()).toBe('ABJKLM'); - mb.remove(10, 1); - expect(mb.toString()).toBe('ABJLM'); - mb.remove(1, 11); - expect(mb.toString()).toBe('AM'); - }); - }); - - describe('inserts and deletes', () => { - it('works for non-overlapping indices', () => { - // 1 - // 01234567890 - const mb = new UpdateBuffer(Buffer.from('01234567890')); - - mb.insertRight(6, Buffer.from('A')); - expect(mb.toString()).toBe('012345A67890'); - mb.insertRight(2, Buffer.from('B')); - expect(mb.toString()).toBe('01B2345A67890'); - - mb.remove(3, 4); - expect(mb.toString()).toBe('01B27890'); - mb.insertRight(4, Buffer.from('C')); - expect(mb.toString()).toBe('01B27890'); - - mb.remove(2, 6); - expect(mb.toString()).toBe('01B890'); - }); - - it('works for _left/_right inserts', () => { - // 0123456789 - const mb = new UpdateBuffer(Buffer.from('0123456789')); - - mb.insertLeft(5, Buffer.from('A')); - expect(mb.toString()).toBe('01234A56789'); - mb.insertRight(5, Buffer.from('B')); - expect(mb.toString()).toBe('01234AB56789'); - mb.insertRight(10, Buffer.from('C')); - expect(mb.toString()).toBe('01234AB56789C'); - mb.remove(5, 5); - expect(mb.toString()).toBe('01234AB'); - mb.remove(0, 5); - expect(mb.toString()).toBe(''); - }); - - it('supports essential', () => { - const mb = new UpdateBuffer(Buffer.from('0123456789')); - - mb.insertLeft(5, Buffer.from('A'), true); - expect(mb.toString()).toBe('01234A56789'); - mb.remove(5, 5); - expect(mb.toString()).toBe('01234A'); - expect(() => mb.remove(0, 5)).toThrow(); - expect(mb.toString()).toBe('01234A'); - - expect(() => mb.insertRight(6, Buffer.from('B'), true)).toThrow(); - expect(mb.toString()).toBe('01234A'); - }); - - it('works for content at start/end of buffer', () => { - const buffer = new UpdateBuffer(Buffer.from('012345')); - buffer.insertLeft(0, Buffer.from('ABC')); - buffer.insertRight(6, Buffer.from('DEF')); - buffer.remove(0, 6); - expect(buffer.toString()).toBe('ABC'); - }); - - it('is able to insert after a zero-length removal', () => { - const mb = new UpdateBuffer(Buffer.from('123')); - - mb.remove(0, 0); - expect(mb.toString()).toBe('123'); - - mb.insertRight(0, Buffer.from('0')); - expect(mb.toString()).toBe('0123'); - }); - - it('is able to insert after a negative-length removal', () => { - const mb = new UpdateBuffer(Buffer.from('123')); - - mb.remove(0, -1); - expect(mb.toString()).toBe('3'); - - mb.insertRight(0, Buffer.from('0')); - expect(mb.toString()).toBe('03'); - }); - }); - - describe('generate', () => { - it('works', () => { - // 0123456789 - const mb = new UpdateBuffer(Buffer.from('0123456789')); - - mb.insertLeft(5, Buffer.from('A')); - expect(mb.toString()).toBe('01234A56789'); - mb.remove(5, 5); - expect(mb.toString()).toBe('01234A'); - mb.remove(0, 5); - expect(mb.toString()).toBe(''); - - const buffer = mb.generate(); - expect(buffer.toString()).toBe(''); - expect(buffer.length).toBe(0); - }); - }); -}); - -describe('UpdateBuffer2', () => { - describe('inserts', () => { - it('works', () => { - const mb = new UpdateBuffer2(Buffer.from('Hello World')); - - mb.insertRight(6, Buffer.from('Beautiful ')); - expect(mb.toString()).toBe('Hello Beautiful World'); - - mb.insertRight(6, Buffer.from('Great ')); - expect(mb.toString()).toBe('Hello Beautiful Great World'); - - mb.insertRight(0, Buffer.from('1 ')); - expect(mb.toString()).toBe('1 Hello Beautiful Great World'); - - mb.insertRight(5, Buffer.from('2 ')); - expect(mb.toString()).toBe('1 Hello2 Beautiful Great World'); - - mb.insertRight(8, Buffer.from('3 ')); - expect(mb.toString()).toBe('1 Hello2 Beautiful Great Wo3 rld'); - - mb.insertRight(0, Buffer.from('4 ')); - expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 rld'); - - mb.insertRight(8, Buffer.from('5 ')); - expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 5 rld'); - - mb.insertRight(1, Buffer.from('a ')); - expect(mb.toString()).toBe('1 4 Ha ello2 Beautiful Great Wo3 5 rld'); - - mb.insertRight(2, Buffer.from('b ')); - expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wo3 5 rld'); - - mb.insertRight(7, Buffer.from('c ')); - expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rld'); - - mb.insertRight(11, Buffer.from('d ')); - expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd '); - }); - - it('works _left and _right', () => { - const mb = new UpdateBuffer2(Buffer.from('Hello World')); - - mb.insertRight(6, Buffer.from('Beautiful ')); - expect(mb.toString()).toBe('Hello Beautiful World'); - - mb.insertLeft(6, Buffer.from('Great ')); - expect(mb.toString()).toBe('Hello Great Beautiful World'); - - mb.insertLeft(6, Buffer.from('Awesome ')); - expect(mb.toString()).toBe('Hello Great Awesome Beautiful World'); - }); - - it('works with special characters', () => { - const mb = new UpdateBuffer2(Buffer.from('Ülaut')); - - mb.insertLeft(1, Buffer.from('m')); - expect(mb.toString()).toBe('Ümlaut'); - - mb.insertLeft(0, Buffer.from('Hello ')); - expect(mb.toString()).toBe('Hello Ümlaut'); - }); - }); - describe('delete', () => { it('works for non-overlapping ranges', () => { // 111111111122222222223333333333444444 // 0123456789012345678901234567890123456789012345 - const mb = new UpdateBuffer2(Buffer.from('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd ')); + const mb = new UpdateBuffer(Buffer.from('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd ')); mb.remove(43, 2); expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rld'); @@ -314,7 +103,7 @@ describe('UpdateBuffer2', () => { it('handles overlapping ranges', () => { // 0123456789012 - const mb = new UpdateBuffer2(Buffer.from('ABCDEFGHIJKLM')); + const mb = new UpdateBuffer(Buffer.from('ABCDEFGHIJKLM')); // Overlapping. mb.remove(2, 5); @@ -336,7 +125,7 @@ describe('UpdateBuffer2', () => { it('works for non-overlapping indices', () => { // 1 // 01234567890 - const mb = new UpdateBuffer2(Buffer.from('01234567890')); + const mb = new UpdateBuffer(Buffer.from('01234567890')); mb.insertRight(6, Buffer.from('A')); expect(mb.toString()).toBe('012345A67890'); @@ -354,7 +143,7 @@ describe('UpdateBuffer2', () => { it('works for _left/_right inserts', () => { // 0123456789 - const mb = new UpdateBuffer2(Buffer.from('0123456789')); + const mb = new UpdateBuffer(Buffer.from('0123456789')); mb.insertLeft(5, Buffer.from('A')); expect(mb.toString()).toBe('01234A56789'); @@ -369,7 +158,7 @@ describe('UpdateBuffer2', () => { }); it('works for content at start/end of buffer', () => { - const buffer = new UpdateBuffer2(Buffer.from('012345')); + const buffer = new UpdateBuffer(Buffer.from('012345')); buffer.insertLeft(0, Buffer.from('ABC')); buffer.insertRight(6, Buffer.from('DEF')); buffer.remove(0, 6); @@ -377,7 +166,7 @@ describe('UpdateBuffer2', () => { }); it('is able to insert after a zero-length removal', () => { - const mb = new UpdateBuffer2(Buffer.from('123')); + const mb = new UpdateBuffer(Buffer.from('123')); mb.remove(0, 0); expect(mb.toString()).toBe('123'); @@ -387,7 +176,7 @@ describe('UpdateBuffer2', () => { }); it('is able to insert after a negative-length removal', () => { - const mb = new UpdateBuffer2(Buffer.from('123')); + const mb = new UpdateBuffer(Buffer.from('123')); mb.remove(0, -1); expect(mb.toString()).toBe('3'); @@ -400,7 +189,7 @@ describe('UpdateBuffer2', () => { describe('generate', () => { it('works', () => { // 0123456789 - const mb = new UpdateBuffer2(Buffer.from('0123456789')); + const mb = new UpdateBuffer(Buffer.from('0123456789')); mb.insertLeft(5, Buffer.from('A')); expect(mb.toString()).toBe('01234A56789'); From d8bff4f1e68a76da1983f9d0774f415e73dfd8c3 Mon Sep 17 00:00:00 2001 From: Dariusz Ostolski Date: Sat, 1 Oct 2022 22:35:00 +0200 Subject: [PATCH 0988/1388] feat(@schematics/angular): Added --project-root option to the library schematics With this change user is able to specify different project root for libraries than default one. Closes: #11927 --- packages/schematics/angular/library/index.ts | 16 ++++--- .../schematics/angular/library/index_spec.ts | 43 +++++++++++++++++++ .../schematics/angular/library/schema.json | 4 ++ 3 files changed, 57 insertions(+), 6 deletions(-) diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index dfeb2e477cff..9101741bdbfd 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -136,29 +136,33 @@ export default function (options: LibraryOptions): Rule { folderName = strings.dasherize(folderName); } - const projectRoot = join(normalize(newProjectRoot), folderName); + const libDir = + options.projectRoot !== undefined + ? normalize(options.projectRoot) + : join(normalize(newProjectRoot), folderName); + const distRoot = `dist/${folderName}`; - const sourceDir = `${projectRoot}/src/lib`; + const sourceDir = `${libDir}/src/lib`; const templateSource = apply(url('./files'), [ applyTemplates({ ...strings, ...options, packageName, - projectRoot, + libDir, distRoot, - relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(projectRoot), + relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(libDir), prefix, angularLatestVersion: latestVersions.Angular.replace(/~|\^/, ''), tsLibLatestVersion: latestVersions['tslib'].replace(/~|\^/, ''), folderName, }), - move(projectRoot), + move(libDir), ]); return chain([ mergeWith(templateSource), - addLibToWorkspaceFile(options, projectRoot, packageName), + addLibToWorkspaceFile(options, libDir, packageName), options.skipPackageJson ? noop() : addDependenciesToPackageJson(), options.skipTsConfig ? noop() : updateTsConfig(packageName, distRoot), schematic('module', { diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index bd129d2982a3..8e5cc7d1e398 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -31,6 +31,7 @@ describe('Library Schematic', () => { skipTsConfig: false, skipInstall: false, }; + const workspaceOptions: WorkspaceOptions = { name: 'workspace', newProjectRoot: 'projects', @@ -66,6 +67,48 @@ describe('Library Schematic', () => { ); }); + describe('custom projectRoot', () => { + const customProjectRootOptions: GenerateLibrarySchema = { + name: 'foo', + entryFile: 'my-index', + skipPackageJson: false, + skipTsConfig: false, + skipInstall: false, + projectRoot: 'some/other/directory/bar', + }; + + it('should create files in /some/other/directory/bar', async () => { + const tree = await schematicRunner + .runSchematicAsync('library', customProjectRootOptions, workspaceTree) + .toPromise(); + const files = tree.files; + expect(files).toEqual( + jasmine.arrayContaining([ + '/some/other/directory/bar/ng-package.json', + '/some/other/directory/bar/package.json', + '/some/other/directory/bar/README.md', + '/some/other/directory/bar/tsconfig.lib.json', + '/some/other/directory/bar/tsconfig.lib.prod.json', + '/some/other/directory/bar/src/my-index.ts', + '/some/other/directory/bar/src/lib/foo.module.ts', + '/some/other/directory/bar/src/lib/foo.component.spec.ts', + '/some/other/directory/bar/src/lib/foo.component.ts', + '/some/other/directory/bar/src/lib/foo.service.spec.ts', + '/some/other/directory/bar/src/lib/foo.service.ts', + ]), + ); + }); + + it(`should add library to workspace`, async () => { + const tree = await schematicRunner + .runSchematicAsync('library', customProjectRootOptions, workspaceTree) + .toPromise(); + + const workspace = getJsonFileContent(tree, '/angular.json'); + expect(workspace.projects.foo).toBeDefined(); + }); + }); + it('should create a package.json named "foo"', async () => { const tree = await schematicRunner .runSchematicAsync('library', defaultOptions, workspaceTree) diff --git a/packages/schematics/angular/library/schema.json b/packages/schematics/angular/library/schema.json index cb0083e60a06..95c97f1732d4 100644 --- a/packages/schematics/angular/library/schema.json +++ b/packages/schematics/angular/library/schema.json @@ -43,6 +43,10 @@ "type": "boolean", "default": false, "description": "Do not update \"tsconfig.json\" to add a path mapping for the new library. The path mapping is needed to use the library in an app, but can be disabled here to simplify development." + }, + "projectRoot": { + "type": "string", + "description": "The root directory of the new library." } }, "required": ["name"] From b06421d15e4b5e6daffcb73ee1c2c8703b72cb47 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 11:27:14 +0000 Subject: [PATCH 0989/1388] feat(@schematics/angular): mark `projectRoot` as non hidden option in application schematic This option is useful to create an application outside of the `newProjectRoot`. Related to https://github.com/angular/angular-cli/pull/23994 --- packages/schematics/angular/application/index.ts | 10 +++++----- packages/schematics/angular/application/schema.json | 7 +++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index 680c2b80912a..fdf7ae347c2a 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -247,7 +247,6 @@ export default function (options: ApplicationOptions): Rule { const workspace = await getWorkspace(host); const newProjectRoot = (workspace.extensions.newProjectRoot as string | undefined) || ''; - const isRootApp = options.projectRoot !== undefined; // If scoped project (i.e. "@foo/bar"), convert dir to "foo/bar". let folderName = options.name.startsWith('@') ? options.name.slice(1) : options.name; @@ -255,9 +254,11 @@ export default function (options: ApplicationOptions): Rule { folderName = strings.dasherize(folderName); } - const appDir = isRootApp - ? normalize(options.projectRoot || '') - : join(normalize(newProjectRoot), folderName); + const appDir = + options.projectRoot === undefined + ? join(normalize(newProjectRoot), folderName) + : normalize(options.projectRoot); + const sourceDir = `${appDir}/src/app`; return chain([ @@ -270,7 +271,6 @@ export default function (options: ApplicationOptions): Rule { ...options, relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(appDir), appName: options.name, - isRootApp, folderName, }), move(appDir), diff --git a/packages/schematics/angular/application/schema.json b/packages/schematics/angular/application/schema.json index f98934c0f70b..b4ffa981cb18 100644 --- a/packages/schematics/angular/application/schema.json +++ b/packages/schematics/angular/application/schema.json @@ -7,12 +7,11 @@ "additionalProperties": false, "properties": { "projectRoot": { - "description": "The root directory of the new app.", - "type": "string", - "visible": false + "description": "The root directory of the new application.", + "type": "string" }, "name": { - "description": "The name of the new app.", + "description": "The name of the new application.", "type": "string", "pattern": "^(?:@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$", "$default": { From 93adeeb798f1ae4d88478b447ded862909cc7475 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 14:24:06 +0000 Subject: [PATCH 0990/1388] refactor: move experimental `jobs` API from `@angular-devkit/core` to `@angular-devkit/architect` With this change we move `jobs` APIs to `@angular-devkit/architect` as this are intended to used with `@angular-devkit/architect`. --- .../angular_devkit/architect/index.md | 387 ++++++++++++++++- .../public-api/angular_devkit/core/index.md | 399 ------------------ .../angular_devkit/core/node/index.md | 19 - .../angular_devkit/architect/node/BUILD.bazel | 30 ++ .../angular_devkit/architect/node/index.ts | 4 + .../node}/jobs/job-registry.ts | 10 +- .../node}/jobs/job-registry_spec.ts | 9 +- packages/angular_devkit/architect/src/api.ts | 9 +- .../angular_devkit/architect/src/architect.ts | 54 ++- .../architect/src/create-builder.ts | 9 +- .../angular_devkit/architect/src/index.ts | 4 + .../angular_devkit/architect/src/internal.ts | 11 +- .../src}/jobs/README.md | 4 +- .../src}/jobs/api.ts | 16 +- .../src}/jobs/architecture.md | 0 .../src}/jobs/create-job-handler.ts | 7 +- .../src}/jobs/dispatcher.ts | 8 +- .../src}/jobs/dispatcher_spec.ts | 2 +- .../src}/jobs/exception.ts | 2 +- .../src}/jobs/fallback-registry.ts | 9 +- .../src}/jobs/index.ts | 0 .../src}/jobs/simple-registry.ts | 19 +- .../src}/jobs/simple-registry_spec.ts | 0 .../src}/jobs/simple-scheduler.ts | 11 +- .../src}/jobs/simple-scheduler_spec.ts | 0 .../src}/jobs/strategy.ts | 2 +- .../src}/jobs/strategy_spec.ts | 0 .../architect/src/jobs/types.ts | 26 ++ .../architect/src/schedule-by-name.ts | 11 +- packages/angular_devkit/core/BUILD.bazel | 2 - packages/angular_devkit/core/node/BUILD.bazel | 1 - .../core/node/experimental/index.ts | 11 - .../core/node/experimental/jobs/index.ts | 9 - packages/angular_devkit/core/node/index.ts | 4 - .../angular_devkit/core/src/experimental.ts | 11 - packages/angular_devkit/core/src/index.ts | 3 +- .../angular_devkit/core/src/utils/index.ts | 20 - .../{core => architect}/node/jobs/BUILD.bazel | 2 +- .../angular_devkit/architect/node/jobs/add.ts | 20 + tests/angular_devkit/core/node/jobs/add.ts | 19 - 40 files changed, 570 insertions(+), 594 deletions(-) rename packages/angular_devkit/{core/node/experimental => architect/node}/jobs/job-registry.ts (85%) rename packages/angular_devkit/{core/node/experimental => architect/node}/jobs/job-registry_spec.ts (66%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/README.md (99%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/api.ts (97%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/architecture.md (100%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/create-job-handler.ts (96%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/dispatcher.ts (93%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/dispatcher_spec.ts (96%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/exception.ts (91%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/fallback-registry.ts (86%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/index.ts (100%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/simple-registry.ts (89%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/simple-registry_spec.ts (100%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/simple-scheduler.ts (98%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/simple-scheduler_spec.ts (100%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/strategy.ts (98%) rename packages/angular_devkit/{core/src/experimental => architect/src}/jobs/strategy_spec.ts (100%) create mode 100644 packages/angular_devkit/architect/src/jobs/types.ts delete mode 100644 packages/angular_devkit/core/node/experimental/index.ts delete mode 100644 packages/angular_devkit/core/node/experimental/jobs/index.ts delete mode 100644 packages/angular_devkit/core/src/experimental.ts rename tests/angular_devkit/{core => architect}/node/jobs/BUILD.bazel (90%) create mode 100644 tests/angular_devkit/architect/node/jobs/add.ts delete mode 100644 tests/angular_devkit/core/node/jobs/add.ts diff --git a/goldens/public-api/angular_devkit/architect/index.md b/goldens/public-api/angular_devkit/architect/index.md index 3c61b83eb5c3..0a7756b87f1f 100644 --- a/goldens/public-api/angular_devkit/architect/index.md +++ b/goldens/public-api/angular_devkit/architect/index.md @@ -5,17 +5,21 @@ ```ts import { analytics } from '@angular-devkit/core'; -import { experimental } from '@angular-devkit/core'; +import { BaseException } from '@angular-devkit/core'; import { json } from '@angular-devkit/core'; +import { JsonObject } from '@angular-devkit/core'; +import { JsonValue } from '@angular-devkit/core'; import { logging } from '@angular-devkit/core'; import { Observable } from 'rxjs'; +import { Observer } from 'rxjs'; +import { schema } from '@angular-devkit/core'; import { SubscribableOrPromise } from 'rxjs'; // @public (undocumented) export class Architect { - constructor(_host: ArchitectHost, registry?: json.schema.SchemaRegistry, additionalJobRegistry?: experimental.jobs.Registry); + constructor(_host: ArchitectHost, registry?: json.schema.SchemaRegistry, additionalJobRegistry?: Registry); // (undocumented) - has(name: experimental.jobs.JobName): Observable; + has(name: JobName): Observable; // (undocumented) scheduleBuilder(name: string, options: json.JsonObject, scheduleOptions?: ScheduleOptions): Promise; // (undocumented) @@ -89,7 +93,7 @@ export enum BuilderProgressState { } // @public (undocumented) -export type BuilderRegistry = experimental.jobs.Registry; +export type BuilderRegistry = Registry; // @public export interface BuilderRun { @@ -101,15 +105,334 @@ export interface BuilderRun { stop(): Promise; } +// @public (undocumented) +class ChannelAlreadyExistException extends BaseException { + constructor(name: string); +} + // @public (undocumented) export function createBuilder(fn: BuilderHandlerFn): Builder; +// @public +function createDispatcher(options?: Partial>): JobDispatcher; + +// @public +function createJobFactory(loader: () => Promise>, options?: Partial): JobHandler; + +// @public +function createJobHandler(fn: SimpleJobHandlerFn, options?: Partial): JobHandler; + +// @public +function createLoggerJob(job: JobHandler, logger: logging.LoggerApi): JobHandler; + +// @public +class FallbackRegistry implements Registry { + constructor(_fallbacks?: Registry[]); + // (undocumented) + addFallback(registry: Registry): void; + // (undocumented) + protected _fallbacks: Registry[]; + // (undocumented) + get(name: JobName): Observable | null>; +} + // @public (undocumented) export function fromAsyncIterable(iterable: AsyncIterable): Observable; // @public (undocumented) export function isBuilderOutput(obj: any): obj is BuilderOutput; +// @public (undocumented) +function isJobHandler(value: unknown): value is JobHandler; + +// @public +interface Job { + readonly argument: ArgumentT; + readonly description: Observable; + getChannel(name: string, schema?: schema.JsonSchema): Observable; + readonly inboundBus: Observer>; + readonly input: Observer; + readonly outboundBus: Observable>; + readonly output: Observable; + ping(): Observable; + readonly state: JobState; + stop(): void; +} + +// @public (undocumented) +class JobArgumentSchemaValidationError extends schema.SchemaValidationException { + constructor(errors?: schema.SchemaValidatorError[]); +} + +// @public +interface JobDescription extends JsonObject { + // (undocumented) + readonly argument: DeepReadonly; + // (undocumented) + readonly input: DeepReadonly; + // (undocumented) + readonly name: JobName; + // (undocumented) + readonly output: DeepReadonly; +} + +// @public +interface JobDispatcher extends JobHandler { + addConditionalJob(predicate: (args: A) => boolean, name: string): void; + setDefaultJob(name: JobName | null | JobHandler): void; +} + +// @public (undocumented) +class JobDoesNotExistException extends BaseException { + constructor(name: JobName); +} + +// @public +interface JobHandler { + // (undocumented) + (argument: ArgT, context: JobHandlerContext): Observable>; + // (undocumented) + jobDescription: Partial; +} + +// @public +interface JobHandlerContext { + // (undocumented) + readonly dependencies: Job[]; + // (undocumented) + readonly description: JobDescription; + // (undocumented) + readonly inboundBus: Observable>; + // (undocumented) + readonly scheduler: Scheduler; +} + +// @public (undocumented) +type JobInboundMessage = JobInboundMessagePing | JobInboundMessageStop | JobInboundMessageInput; + +// @public +interface JobInboundMessageBase extends JsonObject { + readonly kind: JobInboundMessageKind; +} + +// @public +interface JobInboundMessageInput extends JobInboundMessageBase { + // (undocumented) + readonly kind: JobInboundMessageKind.Input; + readonly value: InputT; +} + +// @public +enum JobInboundMessageKind { + // (undocumented) + Input = "in", + // (undocumented) + Ping = "ip", + // (undocumented) + Stop = "is" +} + +// @public +interface JobInboundMessagePing extends JobInboundMessageBase { + readonly id: number; + // (undocumented) + readonly kind: JobInboundMessageKind.Ping; +} + +// @public (undocumented) +class JobInboundMessageSchemaValidationError extends schema.SchemaValidationException { + constructor(errors?: schema.SchemaValidatorError[]); +} + +// @public +interface JobInboundMessageStop extends JobInboundMessageBase { + // (undocumented) + readonly kind: JobInboundMessageKind.Stop; +} + +// @public +type JobName = string; + +// @public (undocumented) +class JobNameAlreadyRegisteredException extends BaseException { + constructor(name: JobName); +} + +// @public +type JobOutboundMessage = JobOutboundMessageOnReady | JobOutboundMessageStart | JobOutboundMessageOutput | JobOutboundMessageChannelCreate | JobOutboundMessageChannelMessage | JobOutboundMessageChannelError | JobOutboundMessageChannelComplete | JobOutboundMessageEnd | JobOutboundMessagePong; + +// @public +interface JobOutboundMessageBase { + readonly description: JobDescription; + readonly kind: JobOutboundMessageKind; +} + +// @public +interface JobOutboundMessageChannelBase extends JobOutboundMessageBase { + readonly name: string; +} + +// @public +interface JobOutboundMessageChannelComplete extends JobOutboundMessageChannelBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.ChannelComplete; +} + +// @public +interface JobOutboundMessageChannelCreate extends JobOutboundMessageChannelBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.ChannelCreate; +} + +// @public +interface JobOutboundMessageChannelError extends JobOutboundMessageChannelBase { + readonly error: JsonValue; + // (undocumented) + readonly kind: JobOutboundMessageKind.ChannelError; +} + +// @public +interface JobOutboundMessageChannelMessage extends JobOutboundMessageChannelBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.ChannelMessage; + readonly message: JsonValue; +} + +// @public +interface JobOutboundMessageEnd extends JobOutboundMessageBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.End; +} + +// @public +enum JobOutboundMessageKind { + // (undocumented) + ChannelComplete = "cc", + // (undocumented) + ChannelCreate = "cn", + // (undocumented) + ChannelError = "ce", + // (undocumented) + ChannelMessage = "cm", + // (undocumented) + End = "e", + // (undocumented) + OnReady = "c", + // (undocumented) + Output = "o", + // (undocumented) + Pong = "p", + // (undocumented) + Start = "s" +} + +// @public +interface JobOutboundMessageOnReady extends JobOutboundMessageBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.OnReady; +} + +// @public +interface JobOutboundMessageOutput extends JobOutboundMessageBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.Output; + readonly value: OutputT; +} + +// @public +interface JobOutboundMessagePong extends JobOutboundMessageBase { + readonly id: number; + // (undocumented) + readonly kind: JobOutboundMessageKind.Pong; +} + +// @public +interface JobOutboundMessageStart extends JobOutboundMessageBase { + // (undocumented) + readonly kind: JobOutboundMessageKind.Start; +} + +// @public (undocumented) +class JobOutputSchemaValidationError extends schema.SchemaValidationException { + constructor(errors?: schema.SchemaValidatorError[]); +} + +declare namespace jobs { + export { + isJobHandler, + JobName, + JobHandler, + JobHandlerContext, + JobDescription, + JobInboundMessageKind, + JobInboundMessageBase, + JobInboundMessagePing, + JobInboundMessageStop, + JobInboundMessageInput, + JobInboundMessage, + JobOutboundMessageKind, + JobOutboundMessageBase, + JobOutboundMessageOnReady, + JobOutboundMessageStart, + JobOutboundMessageOutput, + JobOutboundMessageChannelBase, + JobOutboundMessageChannelMessage, + JobOutboundMessageChannelError, + JobOutboundMessageChannelCreate, + JobOutboundMessageChannelComplete, + JobOutboundMessageEnd, + JobOutboundMessagePong, + JobOutboundMessage, + JobState, + Job, + ScheduleJobOptions, + Registry, + Scheduler, + createJobHandler, + createJobFactory, + createLoggerJob, + ChannelAlreadyExistException, + SimpleJobHandlerContext, + SimpleJobHandlerFn, + JobNameAlreadyRegisteredException, + JobDoesNotExistException, + createDispatcher, + JobDispatcher, + FallbackRegistry, + RegisterJobOptions, + SimpleJobRegistry, + JobArgumentSchemaValidationError, + JobInboundMessageSchemaValidationError, + JobOutputSchemaValidationError, + SimpleScheduler, + strategy + } +} +export { jobs } + +// @public +enum JobState { + Ended = "ended", + Errored = "errored", + Queued = "queued", + Ready = "ready", + Started = "started" +} + +// @public +interface RegisterJobOptions extends Partial { +} + +// @public (undocumented) +interface Registry { + get(name: JobName): Observable | null>; +} + +// @public +interface ScheduleJobOptions { + dependencies?: Job | Job[]; +} + // @public (undocumented) export interface ScheduleOptions { // (undocumented) @@ -118,9 +441,65 @@ export interface ScheduleOptions { logger?: logging.Logger; } +// @public +interface Scheduler { + getDescription(name: JobName): Observable; + has(name: JobName): Observable; + pause(): () => void; + schedule(name: JobName, argument: A, options?: ScheduleJobOptions): Job; +} + // @public export function scheduleTargetAndForget(context: BuilderContext, target: Target, overrides?: json.JsonObject, scheduleOptions?: ScheduleOptions_2): Observable; +// @public +interface SimpleJobHandlerContext extends JobHandlerContext { + // (undocumented) + createChannel: (name: string) => Observer; + // (undocumented) + input: Observable; +} + +// @public +type SimpleJobHandlerFn = (input: A, context: SimpleJobHandlerContext) => O | Promise | Observable; + +// @public +class SimpleJobRegistry implements Registry { + // (undocumented) + get(name: JobName): Observable | null>; + getJobNames(): JobName[]; + register(name: JobName, handler: JobHandler, options?: RegisterJobOptions): void; + register(handler: JobHandler, options?: RegisterJobOptions & { + name: string; + }): void; + // (undocumented) + protected _register(name: JobName, handler: JobHandler, options: RegisterJobOptions): void; +} + +// @public +class SimpleScheduler implements Scheduler { + constructor(_jobRegistry: Registry, _schemaRegistry?: schema.SchemaRegistry); + getDescription(name: JobName): Observable; + has(name: JobName): Observable; + // (undocumented) + protected _jobRegistry: Registry; + pause(): () => void; + schedule(name: JobName, argument: A, options?: ScheduleJobOptions): Job; + // (undocumented) + protected _scheduleJob(name: JobName, argument: A, options: ScheduleJobOptions, waitable: Observable): Job; + // (undocumented) + protected _schemaRegistry: schema.SchemaRegistry; +} + +// @public (undocumented) +namespace strategy { + // (undocumented) + type JobStrategy = (handler: JobHandler, options?: Partial>) => JobHandler; + function memoize(replayMessages?: boolean): JobStrategy; + function reuse(replayMessages?: boolean): JobStrategy; + function serialize(): JobStrategy; +} + // @public (undocumented) export type Target = json.JsonObject & Target_2; diff --git a/goldens/public-api/angular_devkit/core/index.md b/goldens/public-api/angular_devkit/core/index.md index 37c432c8db3e..386dc9b364e7 100644 --- a/goldens/public-api/angular_devkit/core/index.md +++ b/goldens/public-api/angular_devkit/core/index.md @@ -7,7 +7,6 @@ import { ErrorObject } from 'ajv'; import { Format } from 'ajv'; import { Observable } from 'rxjs'; -import { Observer } from 'rxjs'; import { Operator } from 'rxjs'; import { PartialObserver } from 'rxjs'; import { Position } from 'source-map'; @@ -176,11 +175,6 @@ function camelize(str: string): string; // @public function capitalize(str: string): string; -// @public (undocumented) -class ChannelAlreadyExistException extends BaseException { - constructor(name: string); -} - // @public (undocumented) export class CircularDependencyFoundException extends BaseException { constructor(); @@ -318,18 +312,6 @@ class CoreSchemaRegistry implements SchemaRegistry { useXDeprecatedProvider(onUsage: (message: string) => void): void; } -// @public -function createDispatcher(options?: Partial>): JobDispatcher; - -// @public -function createJobFactory(loader: () => Promise>, options?: Partial): JobHandler; - -// @public -function createJobHandler(fn: SimpleJobHandlerFn, options?: Partial): JobHandler; - -// @public -function createLoggerJob(job: JobHandler, logger: LoggerApi): JobHandler; - // @public (undocumented) function createSyncHost(handler: SyncHostHandler): Host; @@ -353,18 +335,6 @@ function decamelize(str: string): string; // @public export function deepCopy(value: T): T; -// @public (undocumented) -export type DeepReadonly = T extends (infer R)[] ? DeepReadonlyArray : T extends Function ? T : T extends object ? DeepReadonlyObject : T; - -// @public (undocumented) -export interface DeepReadonlyArray extends Array> { -} - -// @public (undocumented) -export type DeepReadonlyObject = { - readonly [P in keyof T]: DeepReadonly; -}; - // @public (undocumented) type DefinitionCollectionListener = (name: string, newValue: V | undefined, collection: DefinitionCollection) => void; @@ -402,27 +372,9 @@ interface EventOptions extends CustomDimensionsAndMetricsOptions { value?: string; } -declare namespace experimental { - export { - jobs - } -} -export { experimental } - // @public (undocumented) export function extname(path: Path): string; -// @public -class FallbackRegistry implements Registry { - constructor(_fallbacks?: Registry[]); - // (undocumented) - addFallback(registry: Registry): void; - // (undocumented) - protected _fallbacks: Registry[]; - // (undocumented) - get(name: JobName): Observable | null>; -} - // @public (undocumented) export class FileAlreadyExistException extends BaseException { constructor(path: string); @@ -540,9 +492,6 @@ export class InvalidUpdateRecordException extends BaseException { // @public export function isAbsolute(p: Path): boolean; -// @public (undocumented) -function isJobHandler(value: unknown): value is JobHandler; - // @public (undocumented) export function isJsonArray(value: JsonValue): value is JsonArray; @@ -555,279 +504,6 @@ function isJsonSchema(value: unknown): value is JsonSchema; // @public export function isPromise(obj: any): obj is Promise; -// @public -interface Job { - readonly argument: ArgumentT; - readonly description: Observable; - getChannel(name: string, schema?: schema.JsonSchema): Observable; - readonly inboundBus: Observer>; - readonly input: Observer; - readonly outboundBus: Observable>; - readonly output: Observable; - ping(): Observable; - readonly state: JobState; - stop(): void; -} - -// @public (undocumented) -class JobArgumentSchemaValidationError extends schema.SchemaValidationException { - constructor(errors?: schema.SchemaValidatorError[]); -} - -// @public -interface JobDescription extends JsonObject { - // (undocumented) - readonly argument: DeepReadonly; - // (undocumented) - readonly input: DeepReadonly; - // (undocumented) - readonly name: JobName; - // (undocumented) - readonly output: DeepReadonly; -} - -// @public -interface JobDispatcher extends JobHandler { - addConditionalJob(predicate: (args: A) => boolean, name: string): void; - setDefaultJob(name: JobName | null | JobHandler): void; -} - -// @public (undocumented) -class JobDoesNotExistException extends BaseException { - constructor(name: JobName); -} - -// @public -interface JobHandler { - // (undocumented) - (argument: ArgT, context: JobHandlerContext): Observable>; - // (undocumented) - jobDescription: Partial; -} - -// @public -interface JobHandlerContext { - // (undocumented) - readonly dependencies: Job[]; - // (undocumented) - readonly description: JobDescription; - // (undocumented) - readonly inboundBus: Observable>; - // (undocumented) - readonly scheduler: Scheduler; -} - -// @public (undocumented) -type JobInboundMessage = JobInboundMessagePing | JobInboundMessageStop | JobInboundMessageInput; - -// @public -interface JobInboundMessageBase extends JsonObject { - readonly kind: JobInboundMessageKind; -} - -// @public -interface JobInboundMessageInput extends JobInboundMessageBase { - // (undocumented) - readonly kind: JobInboundMessageKind.Input; - readonly value: InputT; -} - -// @public -enum JobInboundMessageKind { - // (undocumented) - Input = "in", - // (undocumented) - Ping = "ip", - // (undocumented) - Stop = "is" -} - -// @public -interface JobInboundMessagePing extends JobInboundMessageBase { - readonly id: number; - // (undocumented) - readonly kind: JobInboundMessageKind.Ping; -} - -// @public (undocumented) -class JobInboundMessageSchemaValidationError extends schema.SchemaValidationException { - constructor(errors?: schema.SchemaValidatorError[]); -} - -// @public -interface JobInboundMessageStop extends JobInboundMessageBase { - // (undocumented) - readonly kind: JobInboundMessageKind.Stop; -} - -// @public -type JobName = string; - -// @public (undocumented) -class JobNameAlreadyRegisteredException extends BaseException { - constructor(name: JobName); -} - -// @public -type JobOutboundMessage = JobOutboundMessageOnReady | JobOutboundMessageStart | JobOutboundMessageOutput | JobOutboundMessageChannelCreate | JobOutboundMessageChannelMessage | JobOutboundMessageChannelError | JobOutboundMessageChannelComplete | JobOutboundMessageEnd | JobOutboundMessagePong; - -// @public -interface JobOutboundMessageBase { - readonly description: JobDescription; - readonly kind: JobOutboundMessageKind; -} - -// @public -interface JobOutboundMessageChannelBase extends JobOutboundMessageBase { - readonly name: string; -} - -// @public -interface JobOutboundMessageChannelComplete extends JobOutboundMessageChannelBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelComplete; -} - -// @public -interface JobOutboundMessageChannelCreate extends JobOutboundMessageChannelBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelCreate; -} - -// @public -interface JobOutboundMessageChannelError extends JobOutboundMessageChannelBase { - readonly error: JsonValue; - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelError; -} - -// @public -interface JobOutboundMessageChannelMessage extends JobOutboundMessageChannelBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.ChannelMessage; - readonly message: JsonValue; -} - -// @public -interface JobOutboundMessageEnd extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.End; -} - -// @public -enum JobOutboundMessageKind { - // (undocumented) - ChannelComplete = "cc", - // (undocumented) - ChannelCreate = "cn", - // (undocumented) - ChannelError = "ce", - // (undocumented) - ChannelMessage = "cm", - // (undocumented) - End = "e", - // (undocumented) - OnReady = "c", - // (undocumented) - Output = "o", - // (undocumented) - Pong = "p", - // (undocumented) - Start = "s" -} - -// @public -interface JobOutboundMessageOnReady extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.OnReady; -} - -// @public -interface JobOutboundMessageOutput extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.Output; - readonly value: OutputT; -} - -// @public -interface JobOutboundMessagePong extends JobOutboundMessageBase { - readonly id: number; - // (undocumented) - readonly kind: JobOutboundMessageKind.Pong; -} - -// @public -interface JobOutboundMessageStart extends JobOutboundMessageBase { - // (undocumented) - readonly kind: JobOutboundMessageKind.Start; -} - -// @public (undocumented) -class JobOutputSchemaValidationError extends schema.SchemaValidationException { - constructor(errors?: schema.SchemaValidatorError[]); -} - -declare namespace jobs { - export { - isJobHandler, - JobName, - JobHandler, - JobHandlerContext, - JobDescription, - JobInboundMessageKind, - JobInboundMessageBase, - JobInboundMessagePing, - JobInboundMessageStop, - JobInboundMessageInput, - JobInboundMessage, - JobOutboundMessageKind, - JobOutboundMessageBase, - JobOutboundMessageOnReady, - JobOutboundMessageStart, - JobOutboundMessageOutput, - JobOutboundMessageChannelBase, - JobOutboundMessageChannelMessage, - JobOutboundMessageChannelError, - JobOutboundMessageChannelCreate, - JobOutboundMessageChannelComplete, - JobOutboundMessageEnd, - JobOutboundMessagePong, - JobOutboundMessage, - JobState, - Job, - ScheduleJobOptions, - Registry, - Scheduler, - createJobHandler, - createJobFactory, - createLoggerJob, - ChannelAlreadyExistException, - SimpleJobHandlerContext, - SimpleJobHandlerFn, - JobNameAlreadyRegisteredException, - JobDoesNotExistException, - createDispatcher, - JobDispatcher, - FallbackRegistry, - RegisterJobOptions, - SimpleJobRegistry, - JobArgumentSchemaValidationError, - JobInboundMessageSchemaValidationError, - JobOutputSchemaValidationError, - SimpleScheduler, - strategy - } -} - -// @public -enum JobState { - Ended = "ended", - Errored = "errored", - Queued = "queued", - Ready = "ready", - Started = "started" -} - // @public export function join(p1: Path, ...others: string[]): Path; @@ -1343,11 +1019,6 @@ function readWorkspace(path: string, host: WorkspaceHost, format?: WorkspaceForm workspace: WorkspaceDefinition; }>; -// @public (undocumented) -export type Readwrite = { - -readonly [P in keyof T]: T[P]; -}; - // @public (undocumented) interface ReferenceResolver { // (undocumented) @@ -1357,15 +1028,6 @@ interface ReferenceResolver { }; } -// @public -interface RegisterJobOptions extends Partial { -} - -// @public (undocumented) -interface Registry { - get(name: JobName): Observable | null>; -} - // @public export function relative(from: Path, to: Path): Path; @@ -1428,19 +1090,6 @@ class SafeReadonlyHost implements ReadonlyHost | null> | null; } -// @public -interface ScheduleJobOptions { - dependencies?: Job | Job[]; -} - -// @public -interface Scheduler { - getDescription(name: JobName): Observable; - has(name: JobName): Observable; - pause(): () => void; - schedule(name: JobName, argument: A, options?: ScheduleJobOptions): Job; -} - declare namespace schema { export { transforms, @@ -1567,30 +1216,6 @@ interface ScreenviewOptions extends CustomDimensionsAndMetricsOptions { appVersion?: string; } -// @public -interface SimpleJobHandlerContext extends JobHandlerContext { - // (undocumented) - createChannel: (name: string) => Observer; - // (undocumented) - input: Observable; -} - -// @public -type SimpleJobHandlerFn = (input: A, context: SimpleJobHandlerContext) => O | Promise | Observable; - -// @public -class SimpleJobRegistry implements Registry { - // (undocumented) - get(name: JobName): Observable | null>; - getJobNames(): JobName[]; - register(name: JobName, handler: JobHandler, options?: RegisterJobOptions): void; - register(handler: JobHandler, options?: RegisterJobOptions & { - name: string; - }): void; - // (undocumented) - protected _register(name: JobName, handler: JobHandler, options: RegisterJobOptions): void; -} - // @public (undocumented) class SimpleMemoryHost implements Host<{}> { constructor(); @@ -1675,21 +1300,6 @@ interface SimpleMemoryHostStats { readonly content: FileBuffer | null; } -// @public -class SimpleScheduler implements Scheduler { - constructor(_jobRegistry: Registry, _schemaRegistry?: schema.SchemaRegistry); - getDescription(name: JobName): Observable; - has(name: JobName): Observable; - // (undocumented) - protected _jobRegistry: Registry; - pause(): () => void; - schedule(name: JobName, argument: A, options?: ScheduleJobOptions): Job; - // (undocumented) - protected _scheduleJob(name: JobName, argument: A, options: ScheduleJobOptions, waitable: Observable): Job; - // (undocumented) - protected _schemaRegistry: schema.SchemaRegistry; -} - // @public (undocumented) interface SmartDefaultProvider { // (undocumented) @@ -1710,15 +1320,6 @@ type Stats = T & { readonly birthtime: Date; }; -// @public (undocumented) -namespace strategy { - // (undocumented) - type JobStrategy = (handler: JobHandler, options?: Partial>) => JobHandler; - function memoize(replayMessages?: boolean): JobStrategy; - function reuse(replayMessages?: boolean): JobStrategy; - function serialize(): JobStrategy; -} - declare namespace strings { export { decamelize, diff --git a/goldens/public-api/angular_devkit/core/node/index.md b/goldens/public-api/angular_devkit/core/node/index.md index 00edd946a816..59cda60a3ad8 100644 --- a/goldens/public-api/angular_devkit/core/node/index.md +++ b/goldens/public-api/angular_devkit/core/node/index.md @@ -6,28 +6,16 @@ /// -import { ErrorObject } from 'ajv'; -import { Format } from 'ajv'; import { Observable } from 'rxjs'; -import { Observer } from 'rxjs'; import { Operator } from 'rxjs'; import { PartialObserver } from 'rxjs'; import { Stats as Stats_2 } from 'fs'; import { Subject } from 'rxjs'; -import { SubscribableOrPromise } from 'rxjs'; import { Subscription } from 'rxjs'; -import { ValidateFunction } from 'ajv'; // @public export function createConsoleLogger(verbose?: boolean, stdout?: ProcessOutput, stderr?: ProcessOutput, colors?: Partial string>>): logging.Logger; -declare namespace experimental { - export { - NodeModuleJobRegistry - } -} -export { experimental } - // @public export class NodeJsAsyncHost implements virtualFs.Host { // (undocumented) @@ -80,13 +68,6 @@ export class NodeJsSyncHost implements virtualFs.Host { write(path: Path, content: virtualFs.FileBuffer): Observable; } -// @public (undocumented) -class NodeModuleJobRegistry implements experimental_2.jobs.Registry { - get(name: experimental_2.jobs.JobName): Observable | null>; - // (undocumented) - protected _resolve(name: string): string | null; -} - // @public (undocumented) export interface ProcessOutput { // (undocumented) diff --git a/packages/angular_devkit/architect/node/BUILD.bazel b/packages/angular_devkit/architect/node/BUILD.bazel index 91a53d8938d0..ab98536ca739 100644 --- a/packages/angular_devkit/architect/node/BUILD.bazel +++ b/packages/angular_devkit/architect/node/BUILD.bazel @@ -3,7 +3,9 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license +load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "ts_library") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") licenses(["notice"]) @@ -21,7 +23,35 @@ ts_library( "//packages/angular_devkit/architect", "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", + "//tests/angular_devkit/architect/node/jobs:jobs_test_lib", "@npm//@types/node", "@npm//rxjs", ], ) + +ts_library( + name = "node_test_lib", + testonly = True, + srcs = glob( + include = [ + "**/*_spec.ts", + ], + ), + deps = [ + ":node", + "//packages/angular_devkit/architect", + ], +) + +[ + jasmine_node_test( + name = "node_test_" + toolchain_name, + srcs = [":node_test_lib"], + tags = [toolchain_name], + toolchain = toolchain, + ) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ) +] diff --git a/packages/angular_devkit/architect/node/index.ts b/packages/angular_devkit/architect/node/index.ts index 81709330752e..4c320e575351 100644 --- a/packages/angular_devkit/architect/node/index.ts +++ b/packages/angular_devkit/architect/node/index.ts @@ -6,4 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ +import * as jobs from './jobs/job-registry'; + export * from './node-modules-architect-host'; + +export { jobs }; diff --git a/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts b/packages/angular_devkit/architect/node/jobs/job-registry.ts similarity index 85% rename from packages/angular_devkit/core/node/experimental/jobs/job-registry.ts rename to packages/angular_devkit/architect/node/jobs/job-registry.ts index 84a8cda51af3..76b0e7b8f6a5 100644 --- a/packages/angular_devkit/core/node/experimental/jobs/job-registry.ts +++ b/packages/angular_devkit/architect/node/jobs/job-registry.ts @@ -6,15 +6,15 @@ * found in the LICENSE file at https://angular.io/license */ +import { jobs } from '@angular-devkit/architect'; +import { JsonValue, schema } from '@angular-devkit/core'; import { Observable, of } from 'rxjs'; -import { JsonValue, experimental as core_experimental, schema } from '../../../src'; export class NodeModuleJobRegistry< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, MinimumOutputValueT extends JsonValue = JsonValue, -> implements - core_experimental.jobs.Registry +> implements jobs.Registry { protected _resolve(name: string): string | null { try { @@ -34,8 +34,8 @@ export class NodeModuleJobRegistry< * @returns A description, or null if the job is not registered. */ get( - name: core_experimental.jobs.JobName, - ): Observable | null> { + name: jobs.JobName, + ): Observable | null> { const [moduleName, exportName] = name.split(/#/, 2); const resolvedPath = this._resolve(moduleName); diff --git a/packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts b/packages/angular_devkit/architect/node/jobs/job-registry_spec.ts similarity index 66% rename from packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts rename to packages/angular_devkit/architect/node/jobs/job-registry_spec.ts index 087f38109b6c..38e3d07c252a 100644 --- a/packages/angular_devkit/core/node/experimental/jobs/job-registry_spec.ts +++ b/packages/angular_devkit/architect/node/jobs/job-registry_spec.ts @@ -6,19 +6,16 @@ * found in the LICENSE file at https://angular.io/license */ +import { jobs } from '@angular-devkit/architect'; import * as path from 'path'; -import { experimental as core_experimental } from '../../../src'; import { NodeModuleJobRegistry } from './job-registry'; -const root = path.join( - path.dirname(require.resolve(__filename)), - '../../../../../../tests/angular_devkit/core/node/jobs', -); +const root = path.join(__dirname, '../../../../../tests/angular_devkit/architect/node/jobs'); describe('NodeModuleJobScheduler', () => { it('works', async () => { const registry = new NodeModuleJobRegistry(); - const scheduler = new core_experimental.jobs.SimpleScheduler(registry); + const scheduler = new jobs.SimpleScheduler(registry); const job = scheduler.schedule(path.join(root, 'add'), [1, 2, 3]); expect(await job.output.toPromise()).toBe(6); diff --git a/packages/angular_devkit/architect/src/api.ts b/packages/angular_devkit/architect/src/api.ts index 415666892435..ebe538a99dbf 100644 --- a/packages/angular_devkit/architect/src/api.ts +++ b/packages/angular_devkit/architect/src/api.ts @@ -6,10 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, experimental, json, logging } from '@angular-devkit/core'; +import { analytics, json, logging } from '@angular-devkit/core'; import { Observable, SubscribableOrPromise, Subscriber, from } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { Schema as RealBuilderInput, Target as RealTarget } from './input-schema'; +import { Registry } from './jobs'; import { Schema as RealBuilderOutput } from './output-schema'; import { State as BuilderProgressState, Schema as RealBuilderProgress } from './progress-schema'; @@ -17,11 +18,7 @@ export type Target = json.JsonObject & RealTarget; export { BuilderProgressState }; // Type short hands. -export type BuilderRegistry = experimental.jobs.Registry< - json.JsonObject, - BuilderInput, - BuilderOutput ->; +export type BuilderRegistry = Registry; /** * An API typed BuilderProgress. The interface generated from the schema is too permissive, diff --git a/packages/angular_devkit/architect/src/architect.ts b/packages/angular_devkit/architect/src/architect.ts index d852a3113c8b..d8ced621b008 100644 --- a/packages/angular_devkit/architect/src/architect.ts +++ b/packages/angular_devkit/architect/src/architect.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, experimental, json, logging } from '@angular-devkit/core'; +import { analytics, json, logging } from '@angular-devkit/core'; import { Observable, from, merge, of, onErrorResumeNext } from 'rxjs'; import { concatMap, @@ -28,6 +28,20 @@ import { targetStringFromTarget, } from './api'; import { ArchitectHost, BuilderDescription, BuilderJobHandler } from './internal'; +import { + FallbackRegistry, + JobHandler, + JobHandlerContext, + JobInboundMessage, + JobInboundMessageKind, + JobName, + JobOutboundMessageKind, + Registry, + Scheduler, + SimpleJobRegistry, + SimpleScheduler, + createJobHandler, +} from './jobs'; import { scheduleByName, scheduleByTarget } from './schedule-by-name'; const inputSchema = require('./input-schema.json'); @@ -48,11 +62,11 @@ function _createJobHandlerFromBuilderInfo( info, }; - function handler(argument: json.JsonObject, context: experimental.jobs.JobHandlerContext) { + function handler(argument: json.JsonObject, context: JobHandlerContext) { // Add input validation to the inbound bus. const inboundBusWithInputValidation = context.inboundBus.pipe( concatMap((message) => { - if (message.kind === experimental.jobs.JobInboundMessageKind.Input) { + if (message.kind === JobInboundMessageKind.Input) { const v = message.value as BuilderInput; const options = { ...baseOptions, @@ -73,7 +87,7 @@ function _createJobHandlerFromBuilderInfo( map((value) => ({ ...message, value })), ); } else { - return of(message as experimental.jobs.JobInboundMessage); + return of(message as JobInboundMessage); } }), // Using a share replay because the job might be synchronously sending input, but @@ -93,7 +107,7 @@ function _createJobHandlerFromBuilderInfo( return builder.handler(argument, { ...context, inboundBus }).pipe( map((output) => { - if (output.kind === experimental.jobs.JobOutboundMessageKind.Output) { + if (output.kind === JobOutboundMessageKind.Output) { // Add target to it. return { ...output, @@ -198,7 +212,7 @@ class ArchitectBuilderJobRegistry implements BuilderRegistry { get( name: string, - ): Observable | null> { + ): Observable | null> { const m = name.match(/^([^:]+):([^:]+)$/i); if (!m) { return of(null); @@ -207,7 +221,7 @@ class ArchitectBuilderJobRegistry implements BuilderRegistry { return from(this._resolveBuilder(name)).pipe( concatMap((builderInfo) => (builderInfo ? this._createBuilder(builderInfo) : of(null))), first(null, null), - ) as Observable | null>; + ) as Observable | null>; } } @@ -217,7 +231,7 @@ class ArchitectBuilderJobRegistry implements BuilderRegistry { class ArchitectTargetJobRegistry extends ArchitectBuilderJobRegistry { override get( name: string, - ): Observable | null> { + ): Observable | null> { const m = name.match(/^{([^:]+):([^:]+)(?::([^:]*))?}$/i); if (!m) { return of(null); @@ -251,12 +265,12 @@ class ArchitectTargetJobRegistry extends ArchitectBuilderJobRegistry { ); }), first(null, null), - ) as Observable | null>; + ) as Observable | null>; } } function _getTargetOptionsFactory(host: ArchitectHost) { - return experimental.jobs.createJobHandler( + return createJobHandler( (target) => { return host.getOptionsForTarget(target).then((options) => { if (options === null) { @@ -275,7 +289,7 @@ function _getTargetOptionsFactory(host: ArchitectHost) { } function _getProjectMetadataFactory(host: ArchitectHost) { - return experimental.jobs.createJobHandler( + return createJobHandler( (target) => { return host.getProjectMetadata(target).then((options) => { if (options === null) { @@ -296,7 +310,7 @@ function _getProjectMetadataFactory(host: ArchitectHost) { } function _getBuilderNameForTargetFactory(host: ArchitectHost) { - return experimental.jobs.createJobHandler( + return createJobHandler( async (target) => { const builderName = await host.getBuilderNameForTarget(target); if (!builderName) { @@ -314,7 +328,7 @@ function _getBuilderNameForTargetFactory(host: ArchitectHost) { } function _validateOptionsFactory(host: ArchitectHost, registry: json.schema.SchemaRegistry) { - return experimental.jobs.createJobHandler<[string, json.JsonObject], never, json.JsonObject>( + return createJobHandler<[string, json.JsonObject], never, json.JsonObject>( async ([builderName, options]) => { // Get option schema from the host. const builderInfo = await host.resolveBuilder(builderName); @@ -348,33 +362,33 @@ function _validateOptionsFactory(host: ArchitectHost, registry: json.schema.Sche } export class Architect { - private readonly _scheduler: experimental.jobs.Scheduler; + private readonly _scheduler: Scheduler; private readonly _jobCache = new Map>(); private readonly _infoCache = new Map>(); constructor( private _host: ArchitectHost, registry: json.schema.SchemaRegistry = new json.schema.CoreSchemaRegistry(), - additionalJobRegistry?: experimental.jobs.Registry, + additionalJobRegistry?: Registry, ) { - const privateArchitectJobRegistry = new experimental.jobs.SimpleJobRegistry(); + const privateArchitectJobRegistry = new SimpleJobRegistry(); // Create private jobs. privateArchitectJobRegistry.register(_getTargetOptionsFactory(_host)); privateArchitectJobRegistry.register(_getBuilderNameForTargetFactory(_host)); privateArchitectJobRegistry.register(_validateOptionsFactory(_host, registry)); privateArchitectJobRegistry.register(_getProjectMetadataFactory(_host)); - const jobRegistry = new experimental.jobs.FallbackRegistry([ + const jobRegistry = new FallbackRegistry([ new ArchitectTargetJobRegistry(_host, registry, this._jobCache, this._infoCache), new ArchitectBuilderJobRegistry(_host, registry, this._jobCache, this._infoCache), privateArchitectJobRegistry, ...(additionalJobRegistry ? [additionalJobRegistry] : []), - ] as experimental.jobs.Registry[]); + ] as Registry[]); - this._scheduler = new experimental.jobs.SimpleScheduler(jobRegistry, registry); + this._scheduler = new SimpleScheduler(jobRegistry, registry); } - has(name: experimental.jobs.JobName) { + has(name: JobName) { return this._scheduler.has(name); } diff --git a/packages/angular_devkit/architect/src/create-builder.ts b/packages/angular_devkit/architect/src/create-builder.ts index 6aa83bd36cab..ad1ad5073950 100644 --- a/packages/angular_devkit/architect/src/create-builder.ts +++ b/packages/angular_devkit/architect/src/create-builder.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, experimental, json, logging } from '@angular-devkit/core'; +import { analytics, json, logging } from '@angular-devkit/core'; import { Observable, Subscription, from, isObservable, of, throwError } from 'rxjs'; import { mergeMap, tap } from 'rxjs/operators'; import { @@ -24,13 +24,14 @@ import { targetStringFromTarget, } from './api'; import { Builder, BuilderSymbol, BuilderVersionSymbol } from './internal'; +import { JobInboundMessageKind, createJobHandler } from './jobs'; import { scheduleByName, scheduleByTarget } from './schedule-by-name'; // eslint-disable-next-line max-lines-per-function export function createBuilder( fn: BuilderHandlerFn, ): Builder { - const cjh = experimental.jobs.createJobHandler; + const cjh = createJobHandler; // eslint-disable-next-line max-lines-per-function const handler = cjh((options, context) => { const scheduler = context.scheduler; @@ -73,7 +74,7 @@ export function createBuilder { switch (i.kind) { - case experimental.jobs.JobInboundMessageKind.Stop: + case JobInboundMessageKind.Stop: // Run teardown logic then complete. tearingDown = true; Promise.all(teardownLogics.map((fn) => fn() || Promise.resolve())).then( @@ -81,7 +82,7 @@ export function createBuilder observer.error(err), ); break; - case experimental.jobs.JobInboundMessageKind.Input: + case JobInboundMessageKind.Input: if (!tearingDown) { onInput(i.value); } diff --git a/packages/angular_devkit/architect/src/index.ts b/packages/angular_devkit/architect/src/index.ts index 210a7b794a28..fa7faa55c2ee 100644 --- a/packages/angular_devkit/architect/src/index.ts +++ b/packages/angular_devkit/architect/src/index.ts @@ -6,6 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ +import * as jobs from './jobs'; + export * from './api'; export { Architect, ScheduleOptions } from './architect'; export { createBuilder } from './create-builder'; + +export { jobs }; diff --git a/packages/angular_devkit/architect/src/internal.ts b/packages/angular_devkit/architect/src/internal.ts index 0d4d972f1556..72bf285fe556 100644 --- a/packages/angular_devkit/architect/src/internal.ts +++ b/packages/angular_devkit/architect/src/internal.ts @@ -6,8 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { experimental, json } from '@angular-devkit/core'; +import { json } from '@angular-devkit/core'; import { BuilderInfo, BuilderInput, BuilderOutput, Target } from './api'; +import { JobDescription, JobHandler } from './jobs'; // Internal types that should not be exported directly. These are used by the host and architect // itself. Host implementations should import the host.ts file. @@ -35,14 +36,14 @@ export const BuilderVersionSymbol = Symbol.for('@angular-devkit/architect:versio export type BuilderJobHandler< A extends json.JsonObject = json.JsonObject, I extends BuilderInput = BuilderInput, - O extends BuilderOutput = BuilderOutput -> = experimental.jobs.JobHandler & { jobDescription: BuilderDescription }; + O extends BuilderOutput = BuilderOutput, +> = JobHandler & { jobDescription: BuilderDescription }; /** * A Builder description, which is used internally. Adds the builder info which is the * metadata attached to a builder in Architect. */ -export interface BuilderDescription extends experimental.jobs.JobDescription { +export interface BuilderDescription extends JobDescription { info: BuilderInfo; } @@ -51,7 +52,7 @@ export interface BuilderDescription extends experimental.jobs.JobDescription { */ export interface Builder { // A fully compatible job handler. - handler: experimental.jobs.JobHandler; + handler: JobHandler; // Metadata associated with this builder. [BuilderSymbol]: true; diff --git a/packages/angular_devkit/core/src/experimental/jobs/README.md b/packages/angular_devkit/architect/src/jobs/README.md similarity index 99% rename from packages/angular_devkit/core/src/experimental/jobs/README.md rename to packages/angular_devkit/architect/src/jobs/README.md index ebb0f90a0578..8620e877dca8 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/README.md +++ b/packages/angular_devkit/architect/src/jobs/README.md @@ -205,9 +205,7 @@ declare const scheduler: jobs.Scheduler; const job = scheduler.schedule('count', 0); job.getChannel('side').subscribe((x) => console.log(x)); // You can type a channel too. Messages will be filtered out. -job - .getChannel('progress', { type: 'number' }) - .subscribe((x) => console.log(x)); +job.getChannel('progress', { type: 'number' }).subscribe((x) => console.log(x)); ``` ## Communicating With Jobs diff --git a/packages/angular_devkit/core/src/experimental/jobs/api.ts b/packages/angular_devkit/architect/src/jobs/api.ts similarity index 97% rename from packages/angular_devkit/core/src/experimental/jobs/api.ts rename to packages/angular_devkit/architect/src/jobs/api.ts index d46c34c4ed8a..c7696b0076f1 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/api.ts +++ b/packages/angular_devkit/architect/src/jobs/api.ts @@ -6,9 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonObject, JsonValue, schema } from '@angular-devkit/core'; import { Observable, Observer } from 'rxjs'; -import { JsonObject, JsonValue, schema } from '../../json/index'; -import { DeepReadonly } from '../../utils/index'; +import { DeepReadonly } from './types'; /** * A job name is just a string (needs to be serializable). @@ -21,7 +21,7 @@ export type JobName = string; export interface JobHandler< ArgT extends JsonValue, InputT extends JsonValue, - OutputT extends JsonValue + OutputT extends JsonValue, > { (argument: ArgT, context: JobHandlerContext): Observable< JobOutboundMessage @@ -36,7 +36,7 @@ export interface JobHandler< export interface JobHandlerContext< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, - MinimumOutputValueT extends JsonValue = JsonValue + MinimumOutputValueT extends JsonValue = JsonValue, > { readonly description: JobDescription; readonly scheduler: Scheduler; @@ -300,7 +300,7 @@ export enum JobState { export interface Job< ArgumentT extends JsonValue = JsonValue, InputT extends JsonValue = JsonValue, - OutputT extends JsonValue = JsonValue + OutputT extends JsonValue = JsonValue, > { /** * Description of the job. Resolving the job's description can be done asynchronously, so this @@ -371,7 +371,7 @@ export interface ScheduleJobOptions { export interface Registry< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, - MinimumOutputValueT extends JsonValue = JsonValue + MinimumOutputValueT extends JsonValue = JsonValue, > { /** * Get a job handler. @@ -388,7 +388,7 @@ export interface Registry< export interface Scheduler< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, - MinimumOutputValueT extends JsonValue = JsonValue + MinimumOutputValueT extends JsonValue = JsonValue, > { /** * Get a job description for a named job. @@ -429,7 +429,7 @@ export interface Scheduler< schedule< A extends MinimumArgumentValueT, I extends MinimumInputValueT, - O extends MinimumOutputValueT + O extends MinimumOutputValueT, >( name: JobName, argument: A, diff --git a/packages/angular_devkit/core/src/experimental/jobs/architecture.md b/packages/angular_devkit/architect/src/jobs/architecture.md similarity index 100% rename from packages/angular_devkit/core/src/experimental/jobs/architecture.md rename to packages/angular_devkit/architect/src/jobs/architecture.md diff --git a/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts b/packages/angular_devkit/architect/src/jobs/create-job-handler.ts similarity index 96% rename from packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts rename to packages/angular_devkit/architect/src/jobs/create-job-handler.ts index 98fd40323bfa..ba5684741c9c 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/create-job-handler.ts +++ b/packages/angular_devkit/architect/src/jobs/create-job-handler.ts @@ -6,12 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ +import { BaseException, JsonValue, isPromise, logging } from '@angular-devkit/core'; import { Observable, Observer, Subject, Subscription, from, isObservable, of } from 'rxjs'; import { switchMap, tap } from 'rxjs/operators'; -import { BaseException } from '../../exception'; -import { JsonValue } from '../../json/index'; -import { LoggerApi } from '../../logger'; -import { isPromise } from '../../utils/index'; import { JobDescription, JobHandler, @@ -182,7 +179,7 @@ export function createJobFactory( job: JobHandler, - logger: LoggerApi, + logger: logging.LoggerApi, ): JobHandler { const handler = (argument: A, context: JobHandlerContext) => { context.inboundBus diff --git a/packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts b/packages/angular_devkit/architect/src/jobs/dispatcher.ts similarity index 93% rename from packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts rename to packages/angular_devkit/architect/src/jobs/dispatcher.ts index ff43cd35fac2..00ffecc310a3 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/dispatcher.ts +++ b/packages/angular_devkit/architect/src/jobs/dispatcher.ts @@ -6,10 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonValue } from '../../json/index'; -import { Readwrite } from '../../utils/index'; +import { JsonValue } from '@angular-devkit/core'; import { Job, JobDescription, JobHandler, JobHandlerContext, JobName, isJobHandler } from './api'; import { JobDoesNotExistException } from './exception'; +import { Readwrite } from './types'; /** * A JobDispatcher can be used to dispatch between multiple jobs. @@ -62,7 +62,7 @@ export function createDispatcher) { if (isJobHandler(name)) { name = name.jobDescription.name === undefined ? null : name.jobDescription.name; @@ -74,5 +74,5 @@ export function createDispatcher; + }) as unknown as JobDispatcher; } diff --git a/packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts b/packages/angular_devkit/architect/src/jobs/dispatcher_spec.ts similarity index 96% rename from packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts rename to packages/angular_devkit/architect/src/jobs/dispatcher_spec.ts index 86f121c791ec..641c8d835cb7 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/dispatcher_spec.ts +++ b/packages/angular_devkit/architect/src/jobs/dispatcher_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonValue } from '../../json'; +import { JsonValue } from '@angular-devkit/core'; import { JobHandler } from './api'; import { createJobHandler } from './create-job-handler'; import { createDispatcher } from './dispatcher'; diff --git a/packages/angular_devkit/core/src/experimental/jobs/exception.ts b/packages/angular_devkit/architect/src/jobs/exception.ts similarity index 91% rename from packages/angular_devkit/core/src/experimental/jobs/exception.ts rename to packages/angular_devkit/architect/src/jobs/exception.ts index 266cc512cec5..67ce61a1044f 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/exception.ts +++ b/packages/angular_devkit/architect/src/jobs/exception.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { BaseException } from '../../exception'; +import { BaseException } from '@angular-devkit/core'; import { JobName } from './api'; export class JobNameAlreadyRegisteredException extends BaseException { diff --git a/packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts b/packages/angular_devkit/architect/src/jobs/fallback-registry.ts similarity index 86% rename from packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts rename to packages/angular_devkit/architect/src/jobs/fallback-registry.ts index 899912275e24..ce6d980a0b5e 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/fallback-registry.ts +++ b/packages/angular_devkit/architect/src/jobs/fallback-registry.ts @@ -6,9 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonValue } from '@angular-devkit/core'; import { Observable, from } from 'rxjs'; import { concatMap, first } from 'rxjs/operators'; -import { JsonValue } from '../../json'; import { JobHandler, JobName, Registry } from './api'; /** @@ -17,8 +17,9 @@ import { JobHandler, JobName, Registry } from './api'; export class FallbackRegistry< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, - MinimumOutputValueT extends JsonValue = JsonValue -> implements Registry { + MinimumOutputValueT extends JsonValue = JsonValue, +> implements Registry +{ constructor( protected _fallbacks: Registry< MinimumArgumentValueT, @@ -34,7 +35,7 @@ export class FallbackRegistry< get< A extends MinimumArgumentValueT = MinimumArgumentValueT, I extends MinimumInputValueT = MinimumInputValueT, - O extends MinimumOutputValueT = MinimumOutputValueT + O extends MinimumOutputValueT = MinimumOutputValueT, >(name: JobName): Observable | null> { return from(this._fallbacks).pipe( concatMap((fb) => fb.get(name)), diff --git a/packages/angular_devkit/core/src/experimental/jobs/index.ts b/packages/angular_devkit/architect/src/jobs/index.ts similarity index 100% rename from packages/angular_devkit/core/src/experimental/jobs/index.ts rename to packages/angular_devkit/architect/src/jobs/index.ts diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts b/packages/angular_devkit/architect/src/jobs/simple-registry.ts similarity index 89% rename from packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts rename to packages/angular_devkit/architect/src/jobs/simple-registry.ts index b2f89a65c83f..e77c4331a6eb 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-registry.ts +++ b/packages/angular_devkit/architect/src/jobs/simple-registry.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonValue, schema } from '@angular-devkit/core'; import { Observable, of } from 'rxjs'; -import { JsonValue, schema } from '../../json'; import { JobDescription, JobHandler, JobName, Registry, isJobHandler } from './api'; import { JobNameAlreadyRegisteredException } from './exception'; @@ -23,8 +23,9 @@ export interface RegisterJobOptions extends Partial {} export class SimpleJobRegistry< MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, - MinimumOutputValueT extends JsonValue = JsonValue -> implements Registry { + MinimumOutputValueT extends JsonValue = JsonValue, +> implements Registry +{ private _jobNames = new Map< JobName, JobHandler @@ -33,9 +34,9 @@ export class SimpleJobRegistry< get< A extends MinimumArgumentValueT = MinimumArgumentValueT, I extends MinimumInputValueT = MinimumInputValueT, - O extends MinimumOutputValueT = MinimumOutputValueT + O extends MinimumOutputValueT = MinimumOutputValueT, >(name: JobName): Observable | null> { - return of(((this._jobNames.get(name) as unknown) as JobHandler | null) || null); + return of((this._jobNames.get(name) as unknown as JobHandler | null) || null); } /** @@ -48,7 +49,7 @@ export class SimpleJobRegistry< register< A extends MinimumArgumentValueT, I extends MinimumInputValueT, - O extends MinimumOutputValueT + O extends MinimumOutputValueT, >(name: JobName, handler: JobHandler, options?: RegisterJobOptions): void; /** @@ -96,7 +97,7 @@ export class SimpleJobRegistry< protected _register< ArgumentT extends JsonValue, InputT extends JsonValue, - OutputT extends JsonValue + OutputT extends JsonValue, >( name: JobName, handler: JobHandler, @@ -120,9 +121,9 @@ export class SimpleJobRegistry< input, }; - const jobHandler = (Object.assign(handler.bind(undefined), { + const jobHandler = Object.assign(handler.bind(undefined), { jobDescription, - }) as unknown) as JobHandler; + }) as unknown as JobHandler; this._jobNames.set(name, jobHandler); } diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-registry_spec.ts b/packages/angular_devkit/architect/src/jobs/simple-registry_spec.ts similarity index 100% rename from packages/angular_devkit/core/src/experimental/jobs/simple-registry_spec.ts rename to packages/angular_devkit/architect/src/jobs/simple-registry_spec.ts diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts b/packages/angular_devkit/architect/src/jobs/simple-scheduler.ts similarity index 98% rename from packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts rename to packages/angular_devkit/architect/src/jobs/simple-scheduler.ts index 2c3e673d4d3c..b2c4058e38c0 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler.ts +++ b/packages/angular_devkit/architect/src/jobs/simple-scheduler.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonValue, schema } from '@angular-devkit/core'; import { EMPTY, MonoTypeOperatorFunction, @@ -28,7 +29,6 @@ import { switchMap, tap, } from 'rxjs/operators'; -import { JsonValue, schema } from '../../json'; import { Job, JobDescription, @@ -121,8 +121,9 @@ function _jobShare(): MonoTypeOperatorFunction { export class SimpleScheduler< MinimumArgumentT extends JsonValue = JsonValue, MinimumInputT extends JsonValue = JsonValue, - MinimumOutputT extends JsonValue = JsonValue -> implements Scheduler { + MinimumOutputT extends JsonValue = JsonValue, +> implements Scheduler +{ private _internalJobDescriptionMap = new Map(); private _queue: (() => void)[] = []; private _pauseCounter = 0; @@ -447,7 +448,7 @@ export class SimpleScheduler< let maybeObservable = channels.get(name); if (!maybeObservable) { const s = new Subject(); - channelsSubject.set(name, (s as unknown) as Subject); + channelsSubject.set(name, s as unknown as Subject); channels.set(name, s.asObservable()); maybeObservable = s.asObservable(); @@ -486,7 +487,7 @@ export class SimpleScheduler< protected _scheduleJob< A extends MinimumArgumentT, I extends MinimumInputT, - O extends MinimumOutputT + O extends MinimumOutputT, >( name: JobName, argument: A, diff --git a/packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts b/packages/angular_devkit/architect/src/jobs/simple-scheduler_spec.ts similarity index 100% rename from packages/angular_devkit/core/src/experimental/jobs/simple-scheduler_spec.ts rename to packages/angular_devkit/architect/src/jobs/simple-scheduler_spec.ts diff --git a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts b/packages/angular_devkit/architect/src/jobs/strategy.ts similarity index 98% rename from packages/angular_devkit/core/src/experimental/jobs/strategy.ts rename to packages/angular_devkit/architect/src/jobs/strategy.ts index 92f8c6995f4d..cbd9ad13531c 100644 --- a/packages/angular_devkit/core/src/experimental/jobs/strategy.ts +++ b/packages/angular_devkit/architect/src/jobs/strategy.ts @@ -6,9 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ +import { JsonObject, JsonValue, isJsonObject } from '@angular-devkit/core'; import { Observable, Subject, concat, of } from 'rxjs'; import { finalize, ignoreElements, share, shareReplay, tap } from 'rxjs/operators'; -import { JsonObject, JsonValue, isJsonObject } from '../../json'; import { JobDescription, JobHandler, diff --git a/packages/angular_devkit/core/src/experimental/jobs/strategy_spec.ts b/packages/angular_devkit/architect/src/jobs/strategy_spec.ts similarity index 100% rename from packages/angular_devkit/core/src/experimental/jobs/strategy_spec.ts rename to packages/angular_devkit/architect/src/jobs/strategy_spec.ts diff --git a/packages/angular_devkit/architect/src/jobs/types.ts b/packages/angular_devkit/architect/src/jobs/types.ts new file mode 100644 index 000000000000..457d79c06e9e --- /dev/null +++ b/packages/angular_devkit/architect/src/jobs/types.ts @@ -0,0 +1,26 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export type DeepReadonly = T extends (infer R)[] + ? DeepReadonlyArray + : T extends Function + ? T + : T extends object + ? DeepReadonlyObject + : T; + +// This should be ReadonlyArray but it has implications. +export type DeepReadonlyArray = Array>; + +export type DeepReadonlyObject = { + readonly [P in keyof T]: DeepReadonly; +}; + +export type Readwrite = { + -readonly [P in keyof T]: T[P]; +}; diff --git a/packages/angular_devkit/architect/src/schedule-by-name.ts b/packages/angular_devkit/architect/src/schedule-by-name.ts index f583a7721567..8e86aa836035 100644 --- a/packages/angular_devkit/architect/src/schedule-by-name.ts +++ b/packages/angular_devkit/architect/src/schedule-by-name.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, experimental, json, logging } from '@angular-devkit/core'; +import { analytics, json, logging } from '@angular-devkit/core'; import { EMPTY, Subscription } from 'rxjs'; import { catchError, first, ignoreElements, map, shareReplay } from 'rxjs/operators'; import { @@ -18,6 +18,7 @@ import { Target, targetStringFromTarget, } from './api'; +import { JobOutboundMessageKind, JobState, Scheduler } from './jobs'; const progressSchema = require('./progress-schema.json'); @@ -28,7 +29,7 @@ export async function scheduleByName( buildOptions: json.JsonObject, options: { target?: Target; - scheduler: experimental.jobs.Scheduler; + scheduler: Scheduler; logger: logging.LoggerApi; workspaceRoot: string | Promise; currentDirectory: string | Promise; @@ -57,10 +58,10 @@ export async function scheduleByName( }; // Wait for the job to be ready. - if (job.state !== experimental.jobs.JobState.Started) { + if (job.state !== JobState.Started) { stateSubscription = job.outboundBus.subscribe( (event) => { - if (event.kind === experimental.jobs.JobOutboundMessageKind.Start) { + if (event.kind === JobOutboundMessageKind.Start) { job.input.next(message); } }, @@ -139,7 +140,7 @@ export async function scheduleByTarget( target: Target, overrides: json.JsonObject, options: { - scheduler: experimental.jobs.Scheduler; + scheduler: Scheduler; logger: logging.LoggerApi; workspaceRoot: string | Promise; currentDirectory: string | Promise; diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index b791f6d05844..8592428c20c4 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -87,8 +87,6 @@ pkg_npm( ":README.md", ":core", ":license", - ":src/experimental/jobs/README.md", - ":src/experimental/jobs/architecture.md", "//packages/angular_devkit/core/node", "//packages/angular_devkit/core/node:package.json", "//packages/angular_devkit/core/node/testing", diff --git a/packages/angular_devkit/core/node/BUILD.bazel b/packages/angular_devkit/core/node/BUILD.bazel index 9d89f0f7e239..68bd7f28d27f 100644 --- a/packages/angular_devkit/core/node/BUILD.bazel +++ b/packages/angular_devkit/core/node/BUILD.bazel @@ -48,7 +48,6 @@ ts_library( deps = [ ":node", "//packages/angular_devkit/core", - "//tests/angular_devkit/core/node/jobs:jobs_test_lib", "@npm//rxjs", ], ) diff --git a/packages/angular_devkit/core/node/experimental/index.ts b/packages/angular_devkit/core/node/experimental/index.ts deleted file mode 100644 index 5e70f7eeba46..000000000000 --- a/packages/angular_devkit/core/node/experimental/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as jobs from './jobs'; - -export { jobs }; diff --git a/packages/angular_devkit/core/node/experimental/jobs/index.ts b/packages/angular_devkit/core/node/experimental/jobs/index.ts deleted file mode 100644 index 1038877cd091..000000000000 --- a/packages/angular_devkit/core/node/experimental/jobs/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export * from './job-registry'; diff --git a/packages/angular_devkit/core/node/index.ts b/packages/angular_devkit/core/node/index.ts index b80139dc672e..faedea608b52 100644 --- a/packages/angular_devkit/core/node/index.ts +++ b/packages/angular_devkit/core/node/index.ts @@ -6,9 +6,5 @@ * found in the LICENSE file at https://angular.io/license */ -import * as experimental from './experimental/jobs/job-registry'; - export * from './cli-logger'; export * from './host'; - -export { experimental }; diff --git a/packages/angular_devkit/core/src/experimental.ts b/packages/angular_devkit/core/src/experimental.ts deleted file mode 100644 index 628c78be71a2..000000000000 --- a/packages/angular_devkit/core/src/experimental.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import * as jobs from './experimental/jobs/index'; - -export { jobs }; diff --git a/packages/angular_devkit/core/src/index.ts b/packages/angular_devkit/core/src/index.ts index 1e5747ead37d..d06b06019d44 100644 --- a/packages/angular_devkit/core/src/index.ts +++ b/packages/angular_devkit/core/src/index.ts @@ -7,7 +7,6 @@ */ import * as analytics from './analytics'; -import * as experimental from './experimental'; import * as json from './json/index'; import * as logging from './logger/index'; import * as workspaces from './workspace'; @@ -17,4 +16,4 @@ export * from './json/index'; export * from './utils/index'; export * from './virtual-fs/index'; -export { analytics, experimental, json, logging, workspaces }; +export { analytics, json, logging, workspaces }; diff --git a/packages/angular_devkit/core/src/utils/index.ts b/packages/angular_devkit/core/src/utils/index.ts index 72da748049e1..f5873285e487 100644 --- a/packages/angular_devkit/core/src/utils/index.ts +++ b/packages/angular_devkit/core/src/utils/index.ts @@ -16,23 +16,3 @@ export * from './priority-queue'; export * from './lang'; export { tags, strings }; - -export type DeepReadonly = T extends (infer R)[] - ? DeepReadonlyArray - : T extends Function - ? T - : T extends object - ? DeepReadonlyObject - : T; - -// This should be ReadonlyArray but it has implications. -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface DeepReadonlyArray extends Array> {} - -export type DeepReadonlyObject = { - readonly [P in keyof T]: DeepReadonly; -}; - -export type Readwrite = { - -readonly [P in keyof T]: T[P]; -}; diff --git a/tests/angular_devkit/core/node/jobs/BUILD.bazel b/tests/angular_devkit/architect/node/jobs/BUILD.bazel similarity index 90% rename from tests/angular_devkit/core/node/jobs/BUILD.bazel rename to tests/angular_devkit/architect/node/jobs/BUILD.bazel index 5af4057d3dfb..a1cc494784fe 100644 --- a/tests/angular_devkit/core/node/jobs/BUILD.bazel +++ b/tests/angular_devkit/architect/node/jobs/BUILD.bazel @@ -16,7 +16,7 @@ ts_library( ], ), deps = [ - "//packages/angular_devkit/core", + "//packages/angular_devkit/architect", "@npm//@types/node", ], ) diff --git a/tests/angular_devkit/architect/node/jobs/add.ts b/tests/angular_devkit/architect/node/jobs/add.ts new file mode 100644 index 000000000000..d5d9f27cfbb1 --- /dev/null +++ b/tests/angular_devkit/architect/node/jobs/add.ts @@ -0,0 +1,20 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { jobs } from '@angular-devkit/architect'; + +// Export the job using a createJob. We use our own spec file here to do the job. +export default jobs.createJobHandler( + (input) => { + return input.reduce((a, c) => a + c, 0); + }, + { + input: { items: { type: 'number' } }, + output: { type: 'number' }, + }, +); diff --git a/tests/angular_devkit/core/node/jobs/add.ts b/tests/angular_devkit/core/node/jobs/add.ts deleted file mode 100644 index 1529ab48bae0..000000000000 --- a/tests/angular_devkit/core/node/jobs/add.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -// tslint:disable:no-global-tslint-disable -// tslint:disable:no-implicit-dependencies -import { experimental } from '@angular-devkit/core'; - -// Export the job using a createJob. We use our own spec file here to do the job. -export default experimental.jobs.createJobHandler(input => { - return input.reduce((a, c) => a + c, 0); -}, { - input: { items: { type: 'number' } }, - output: { type: 'number' }, -}); From 4827d1b23e564e4e4a8684c5e8ff035d8fa855a2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 6 Oct 2022 12:48:35 +0000 Subject: [PATCH 0991/1388] feat(@angular/cli): add support for Node.js version 18 Pacote version 14 does requires `14.17.x` or `16.13.x`. BREAKING CHANGE: The Angular CLI no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`. --- .circleci/dynamic_config.yml | 10 +++++----- constants.bzl | 2 +- docs/DEVELOPER.md | 2 +- lib/packages.ts | 2 +- package.json | 2 +- packages/angular/cli/bin/ng.js | 12 ++++++------ packages/angular/cli/src/commands/version/cli.ts | 4 ++-- tools/test/expected_package.json | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 0eda0235edd9..46b8a56a22ba 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -24,7 +24,7 @@ parameters: # Windows needs its own cache key because binaries in node_modules are different. # See https://circleci.com/docs/2.0/caching/#restoring-cache for how prefixes work in CircleCI. var_1: &cache_key v1-angular_devkit-14.20-{{ checksum "yarn.lock" }} -var_1_win: &cache_key_win v1-angular_devkit-win-16.10-{{ checksum "yarn.lock" }} +var_1_win: &cache_key_win v1-angular_devkit-win-16.13-{{ checksum "yarn.lock" }} var_3: &default_nodeversion '14.20' var_3_major: &default_nodeversion_major '14' # The major version of node toolchains. See tools/toolchain_info.bzl @@ -114,8 +114,8 @@ commands: setup_windows: steps: - initialize_env - - run: nvm install 16.10 - - run: nvm use 16.10 + - run: nvm install 16.13 + - run: nvm use 16.13 - run: npm install -g yarn@1.22.10 - run: node --version - run: yarn --version @@ -421,7 +421,7 @@ workflows: matrix: alias: e2e-cli parameters: - nodeversion: ['14.20', '16.10'] + nodeversion: ['14.20', '16.13', '18.10'] subset: *all_e2e_subsets requires: - build @@ -429,7 +429,7 @@ workflows: - e2e-tests: name: e2e-snapshots-<< matrix.subset >> - nodeversion: '16.10' + nodeversion: '16.13' matrix: parameters: subset: *all_e2e_subsets diff --git a/constants.bzl b/constants.bzl index 684c0d92a47c..9f47a5f3c13c 100644 --- a/constants.bzl +++ b/constants.bzl @@ -1,5 +1,5 @@ # Engine versions to stamp in a release package.json -RELEASE_ENGINES_NODE = "^14.20.0 || >=16.10.0" +RELEASE_ENGINES_NODE = "^14.20.0 || ^16.13.0 || >=18.10.0" RELEASE_ENGINES_NPM = "^6.11.0 || ^7.5.6 || >=8.0.0" RELEASE_ENGINES_YARN = ">= 1.13.0" diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index bc4cc1477b34..cc06b685550c 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -6,7 +6,7 @@ To get started locally, follow these instructions: 1. If you haven't done it already, [make a fork of this repo](https://github.com/angular/angular-cli/fork). 1. Clone to your local computer using `git`. -1. Make sure that you have Node `v14.20`, or `v16.10` installed. See instructions [here](https://nodejs.org/en/download/). +1. Make sure that you have Node `v14.20`, `v16.13` or `v18.10` installed. See instructions [here](https://nodejs.org/en/download/). 1. Make sure that you have `yarn` installed; see instructions [here](https://yarnpkg.com/lang/en/docs/install/). 1. Run `yarn` (no arguments) from the root of your clone of this project to install dependencies. diff --git a/lib/packages.ts b/lib/packages.ts index 01a85e4ff6a2..7b7f534970b4 100644 --- a/lib/packages.ts +++ b/lib/packages.ts @@ -85,7 +85,7 @@ function loadPackageJson(p: string) { // Overwrite engines to a common default. case 'engines': pkg['engines'] = { - 'node': '^14.20.0 || >=16.10.0', + 'node': '^14.20.0 || ^16.13.0 || >=18.10.0', 'npm': '^6.11.0 || ^7.5.6 || >=8.0.0', 'yarn': '>= 1.13.0', }; diff --git a/package.json b/package.json index d30bfa189a1d..8ac1e3200bef 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "url": "https://github.com/angular/angular-cli.git" }, "engines": { - "node": "^14.20.0 || ^16.10.0", + "node": "^14.20.0 || ^16.13.0 || ^18.10.0", "yarn": ">=1.21.1 <2", "npm": "Please use yarn instead of NPM to install dependencies" }, diff --git a/packages/angular/cli/bin/ng.js b/packages/angular/cli/bin/ng.js index 5399becd99d9..b540e4bcf93f 100755 --- a/packages/angular/cli/bin/ng.js +++ b/packages/angular/cli/bin/ng.js @@ -24,7 +24,7 @@ try { // These may not support ES2015 features such as const/let/async/await/etc. // These would then crash with a hard to diagnose error message. var version = process.versions.node.split('.').map((part) => Number(part)); -if (version[0] % 2 === 1 && version[0] > 16) { +if (version[0] % 2 === 1) { // Allow new odd numbered releases with a warning (currently v17+) console.warn( 'Node.js version ' + @@ -37,16 +37,16 @@ if (version[0] % 2 === 1 && version[0] > 16) { require('./bootstrap'); } else if ( version[0] < 14 || - version[0] === 15 || - (version[0] === 14 && version[1] < 15) || - (version[0] === 16 && version[1] < 10) + (version[0] === 14 && version[1] < 20) || + (version[0] === 16 && version[1] < 13) || + (version[0] === 18 && version[1] < 10) ) { - // Error and exit if less than 14.20 or 15.x or less than 16.10 + // Error and exit if less than 14.20, 16.13 or 18.10 console.error( 'Node.js version ' + process.version + ' detected.\n' + - 'The Angular CLI requires a minimum Node.js version of either v14.20, or v16.10.\n\n' + + 'The Angular CLI requires a minimum Node.js version of either v14.20, v16.13 or v18.10.\n\n' + 'Please update your Node.js version or visit https://nodejs.org/ for additional instructions.\n', ); diff --git a/packages/angular/cli/src/commands/version/cli.ts b/packages/angular/cli/src/commands/version/cli.ts index 46c882ed6fa6..863b9e2102f4 100644 --- a/packages/angular/cli/src/commands/version/cli.ts +++ b/packages/angular/cli/src/commands/version/cli.ts @@ -22,7 +22,7 @@ interface PartialPackageInfo { /** * Major versions of Node.js that are officially supported by Angular. */ -const SUPPORTED_NODE_MAJORS = [14, 16]; +const SUPPORTED_NODE_MAJORS = [14, 16, 18]; const PACKAGE_PATTERNS = [ /^@angular\/.*/, @@ -118,7 +118,7 @@ export class VersionCommandModule extends CommandModule implements CommandModule ` Angular CLI: ${ngCliVersion} Node: ${process.versions.node}${unsupportedNodeVersion ? ' (Unsupported)' : ''} - Package Manager: ${packageManager.name} ${packageManager.version ?? ''} + Package Manager: ${packageManager.name} ${packageManager.version ?? ''} OS: ${process.platform} ${process.arch} Angular: ${angularCoreVersion} diff --git a/tools/test/expected_package.json b/tools/test/expected_package.json index cccb2ed63ac2..52e6f6e1ca50 100644 --- a/tools/test/expected_package.json +++ b/tools/test/expected_package.json @@ -35,7 +35,7 @@ } }, "engines": { - "node": "^14.20.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } From 4fa5b526e53fb9b142295ef361c3709151aa17da Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 11:59:11 +0000 Subject: [PATCH 0992/1388] fix(@angular/cli): handle missing `which` binary in path This change updates the `hasGlobalCliInstall` logic so that a pending promise is not created. Closes #23997 --- .../angular/cli/src/utilities/completion.ts | 50 ++++++++----------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/packages/angular/cli/src/utilities/completion.ts b/packages/angular/cli/src/utilities/completion.ts index 11cfdc6ce281..5f79f5be8a3c 100644 --- a/packages/angular/cli/src/utilities/completion.ts +++ b/packages/angular/cli/src/utilities/completion.ts @@ -81,7 +81,7 @@ Appended \`source <(ng completion script)\` to \`${rcFile}\`. Restart your termi `.trim(), ); - if ((await hasGlobalCliInstall()) === false) { + if (!(await hasGlobalCliInstall())) { logger.warn( 'Setup completed successfully, but there does not seem to be a global install of the' + ' Angular CLI. For autocompletion to work, the CLI will need to be on your `$PATH`, which' + @@ -268,27 +268,30 @@ function getShellRunCommandCandidates(shell: string, home: string): string[] | u } /** - * Returns whether the user has a global CLI install or `undefined` if this can't be determined. + * Returns whether the user has a global CLI install. * Execution from `npx` is *not* considered a global CLI install. * * This does *not* mean the current execution is from a global CLI install, only that a global * install exists on the system. */ -export async function hasGlobalCliInstall(): Promise { +export function hasGlobalCliInstall(): Promise { // List all binaries with the `ng` name on the user's `$PATH`. - const proc = execFile('which', ['-a', 'ng']); - let stdout = ''; - proc.stdout?.addListener('data', (content) => { - stdout += content; - }); - const exitCode = await new Promise((resolve) => { - proc.addListener('exit', (exitCode) => { - resolve(exitCode); - }); - }); + return new Promise((resolve) => { + execFile('which', ['-a', 'ng'], (error, stdout) => { + if (error) { + // No instances of `ng` on the user's `$PATH` + + // `which` returns exit code 2 if an invalid option is specified and `-a` doesn't appear to be + // supported on all systems. Other exit codes mean unknown errors occurred. Can't tell whether + // CLI is globally installed, so treat this as inconclusive. + + // `which` was killed by a signal and did not exit gracefully. Maybe it hung or something else + // went very wrong, so treat this as inconclusive. + resolve(false); + + return; + } - switch (exitCode) { - case 0: // Successfully listed all `ng` binaries on the `$PATH`. Look for at least one line which is a // global install. We can't easily identify global installs, but local installs are typically // placed in `node_modules/.bin` by NPM / Yarn. `npx` also currently caches files at @@ -303,18 +306,7 @@ export async function hasGlobalCliInstall(): Promise { return !localInstall; }); - return hasGlobalInstall; - case 1: - // No instances of `ng` on the user's `$PATH`. - return false; - case null: - // `which` was killed by a signal and did not exit gracefully. Maybe it hung or something else - // went very wrong, so treat this as inconclusive. - return undefined; - default: - // `which` returns exit code 2 if an invalid option is specified and `-a` doesn't appear to be - // supported on all systems. Other exit codes mean unknown errors occurred. Can't tell whether - // CLI is globally installed, so treat this as inconclusive. - return undefined; - } + return resolve(hasGlobalInstall); + }); + }); } From c7ca61290c4d24e88fe74fcd65c6b59d7e138355 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 7 Oct 2022 15:43:26 +0000 Subject: [PATCH 0993/1388] build: update dependency pacote to v14 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 36 ++++++++++++++++++++++++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 8ac1e3200bef..5308e42250eb 100644 --- a/package.json +++ b/package.json @@ -179,7 +179,7 @@ "npm-package-arg": "9.1.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.2", + "pacote": "14.0.0", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 70cff21e8247..341cf0527d6d 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -36,7 +36,7 @@ "npm-pick-manifest": "7.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.2", + "pacote": "14.0.0", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/yarn.lock b/yarn.lock index 12782bd722d9..a59d375d4688 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8256,6 +8256,13 @@ npm-packlist@^5.1.0: npm-bundled "^2.0.0" npm-normalize-package-bin "^2.0.0" +npm-packlist@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.0.tgz#d451b7d797d4b05128796d9573d69be51fdf8f31" + integrity sha512-8GRMzWQmFdUrRmc6tPPCd9Umm9g2qDR6X6Rik+9nYvoDQTLs/0IcCKv6iUdAmgr9sgJCm24QovwozCHWMDriOg== + dependencies: + ignore-walk "^5.0.1" + npm-pick-manifest@7.0.2, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" @@ -8611,7 +8618,34 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@13.6.2, pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: +pacote@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-14.0.0.tgz#aff1d9ac0fb420eb79187b291ecded20b370d8d3" + integrity sha512-SYXfAQi7Bj+suydMz7lVnEF4/xNIvP+uobXGPwIUdFPkUxoOBHYxCakMXHGQQZ9lIHLj2IXTJ6BeWSe6U/uAYg== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^4.1.0" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^7.0.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + +pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: version "13.6.2" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== From cdf78d4641eaebaa4238faf677be5e37487764d0 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 9 Oct 2022 22:06:20 +0000 Subject: [PATCH 0994/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 8 +- .../angular_devkit/build_angular/package.json | 2 +- .../angular_devkit/schematics/package.json | 2 +- yarn.lock | 103 ++++++++++++++---- 5 files changed, 93 insertions(+), 28 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 78b2b2853af0..86523398dfeb 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "79381b0975ba7d2d5653239e5bab12cf54d89b10217fe771b8edd95047a2e44b", - strip_prefix = "bazel-lib-1.12.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.12.1.tar.gz", + sha256 = "0154b46f350c7941919eaa30a4f2284a0128ac13c706901a5c768a829af49e11", + strip_prefix = "bazel-lib-1.13.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.13.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 5308e42250eb..57110c09fecc 100644 --- a/package.json +++ b/package.json @@ -143,11 +143,11 @@ "debug": "^4.1.1", "esbuild": "0.15.10", "esbuild-wasm": "0.15.10", - "eslint": "8.24.0", + "eslint": "8.25.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", - "express": "4.18.1", + "express": "4.18.2", "glob": "8.0.3", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", @@ -170,7 +170,7 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", - "magic-string": "0.26.6", + "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "ng-packagr": "15.0.0-next.3", @@ -201,7 +201,7 @@ "semver": "7.3.8", "shelljs": "^0.8.5", "source-map": "0.7.4", - "source-map-loader": "4.0.0", + "source-map-loader": "4.0.1", "source-map-support": "0.5.21", "spdx-satisfies": "^5.0.0", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b975348b5cf7..58cc20fd7ff9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -56,7 +56,7 @@ "sass": "1.55.0", "sass-loader": "13.1.0", "semver": "7.3.8", - "source-map-loader": "4.0.0", + "source-map-loader": "4.0.1", "source-map-support": "0.5.21", "terser": "5.15.1", "text-table": "0.2.0", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index da0ddc1fd909..9c26a6570c65 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.2.0", - "magic-string": "0.26.6", + "magic-string": "0.26.7", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/yarn.lock b/yarn.lock index a59d375d4688..66201485c511 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1642,10 +1642,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3" integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA== -"@eslint/eslintrc@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" - integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== +"@eslint/eslintrc@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" + integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1671,11 +1671,6 @@ debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" @@ -3514,6 +3509,24 @@ body-parser@1.20.0, body-parser@^1.19.0: type-is "~1.6.18" unpipe "1.0.0" +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + bonjour-service@^1.0.11: version "1.0.14" resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" @@ -5422,14 +5435,13 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.24.0: - version "8.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" - integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== +eslint@8.25.0: + version "8.25.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.25.0.tgz#00eb962f50962165d0c4ee3327708315eaa8058b" + integrity sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A== dependencies: - "@eslint/eslintrc" "^1.3.2" + "@eslint/eslintrc" "^1.3.3" "@humanwhocodes/config-array" "^0.10.5" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" chalk "^4.0.0" @@ -5610,6 +5622,43 @@ express@4.18.1, express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" +express@4.18.2: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + ext@^1.1.2: version "1.7.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" @@ -7656,10 +7705,10 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.6: - version "0.26.6" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.6.tgz#b61e417c9f40b7b53bf7e73c0a803258e20d25ee" - integrity sha512-6d+3bFybzyQFJYSoRsl9ZC0wheze8M1LrQC7tNMRqXR4izUTDOLMd9BtSuExK9iAukFh+s5K0WAhc/dlQ+HKYA== +magic-string@0.26.7: + version "0.26.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== dependencies: sourcemap-codec "^1.4.8" @@ -9461,6 +9510,13 @@ qs@6.10.3: dependencies: side-channel "^1.0.4" +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + qs@6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" @@ -10376,6 +10432,15 @@ source-map-loader@4.0.0: iconv-lite "^0.6.3" source-map-js "^1.0.2" +source-map-loader@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.1.tgz#72f00d05f5d1f90f80974eda781cbd7107c125f2" + integrity sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA== + dependencies: + abab "^2.0.6" + iconv-lite "^0.6.3" + source-map-js "^1.0.2" + source-map-resolve@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" From 2230374e18275088162d1a20507ec860512b554f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnhan=20G=C3=BClsoy?= Date: Wed, 5 Oct 2022 13:38:28 -0700 Subject: [PATCH 0995/1388] refactor: remove add implicate types for better code readability When strictNullChecks in enabled in TS compiler, the following files cause some failures in certain environments. Fix these failures. Also update outdated goldens. --- goldens/public-api/angular_devkit/core/index.md | 2 +- packages/angular_devkit/core/src/logger/logger.ts | 5 +++-- .../angular_devkit/core/src/utils/partially-ordered-set.ts | 2 +- packages/angular_devkit/core/src/utils/strings.ts | 2 +- packages/angular_devkit/core/src/utils/template.ts | 2 +- packages/angular_devkit/core/src/virtual-fs/host/memory.ts | 2 +- packages/angular_devkit/schematics/src/sink/sink.ts | 7 +++---- packages/angular_devkit/schematics/src/tree/scoped.ts | 2 +- packages/schematics/angular/utility/ast-utils.ts | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/goldens/public-api/angular_devkit/core/index.md b/goldens/public-api/angular_devkit/core/index.md index 386dc9b364e7..f3a2a1b5bc32 100644 --- a/goldens/public-api/angular_devkit/core/index.md +++ b/goldens/public-api/angular_devkit/core/index.md @@ -616,7 +616,7 @@ class Logger extends Observable implements LoggerApi { // (undocumented) fatal(message: string, metadata?: JsonObject): void; // (undocumented) - forEach(next: (value: LogEntry) => void, PromiseCtor?: typeof Promise): Promise; + forEach(next: (value: LogEntry) => void, promiseCtor?: typeof Promise): Promise; // (undocumented) info(message: string, metadata?: JsonObject): void; // (undocumented) diff --git a/packages/angular_devkit/core/src/logger/logger.ts b/packages/angular_devkit/core/src/logger/logger.ts index dd014dee6bdc..195cf23aebfb 100644 --- a/packages/angular_devkit/core/src/logger/logger.ts +++ b/packages/angular_devkit/core/src/logger/logger.ts @@ -161,7 +161,8 @@ export class Logger extends Observable implements LoggerApi { arguments as unknown as Parameters['subscribe']>, ); } - override forEach(next: (value: LogEntry) => void, PromiseCtor?: typeof Promise): Promise { - return this._observable.forEach(next, PromiseCtor); + + override forEach(next: (value: LogEntry) => void, promiseCtor?: typeof Promise): Promise { + return this._observable.forEach(next, promiseCtor); } } diff --git a/packages/angular_devkit/core/src/utils/partially-ordered-set.ts b/packages/angular_devkit/core/src/utils/partially-ordered-set.ts index 0640c7dc4de1..d9bc4c4e9933 100644 --- a/packages/angular_devkit/core/src/utils/partially-ordered-set.ts +++ b/packages/angular_devkit/core/src/utils/partially-ordered-set.ts @@ -138,7 +138,7 @@ export class PartiallyOrderedSet implements Set { } while (copy.size > 0) { - const run = []; + const run: T[] = []; // Take the first item without dependencies. for (const [item, deps] of copy.entries()) { if (deps.size == 0) { diff --git a/packages/angular_devkit/core/src/utils/strings.ts b/packages/angular_devkit/core/src/utils/strings.ts index f265b1bc6328..40c420da2b26 100644 --- a/packages/angular_devkit/core/src/utils/strings.ts +++ b/packages/angular_devkit/core/src/utils/strings.ts @@ -152,7 +152,7 @@ export function levenshtein(a: string, b: string): number { return a.length; } - const matrix = []; + const matrix: number[][] = []; // increment along the first column of each row for (let i = 0; i <= b.length; i++) { diff --git a/packages/angular_devkit/core/src/utils/template.ts b/packages/angular_devkit/core/src/utils/template.ts index 389938eb66cf..015f426973c6 100644 --- a/packages/angular_devkit/core/src/utils/template.ts +++ b/packages/angular_devkit/core/src/utils/template.ts @@ -128,7 +128,7 @@ export type TemplateAstNode = * Given a source text (and a fileName), returns a TemplateAst. */ export function templateParser(sourceText: string, fileName: string): TemplateAst { - const children = []; + const children: TemplateAstNode[] = []; // Compile the regexp to match each delimiter. const reExpressions = [kEscapeRe, kCommentRe, kInterpolateRe, kEvaluateRe]; diff --git a/packages/angular_devkit/core/src/virtual-fs/host/memory.ts b/packages/angular_devkit/core/src/virtual-fs/host/memory.ts index 33c210b638eb..d1d08825ddff 100644 --- a/packages/angular_devkit/core/src/virtual-fs/host/memory.ts +++ b/packages/angular_devkit/core/src/virtual-fs/host/memory.ts @@ -224,7 +224,7 @@ export class SimpleMemoryHost implements Host<{}> { const content = this._cache.get(from); if (content) { const fragments = split(to); - const newDirectories = []; + const newDirectories: Path[] = []; let curr: Path = normalize('/'); for (const fr of fragments) { curr = join(curr, fr); diff --git a/packages/angular_devkit/schematics/src/sink/sink.ts b/packages/angular_devkit/schematics/src/sink/sink.ts index 2d02c6d9dc88..95b31a2f54bb 100644 --- a/packages/angular_devkit/schematics/src/sink/sink.ts +++ b/packages/angular_devkit/schematics/src/sink/sink.ts @@ -33,9 +33,8 @@ export interface Sink { const Noop = function () {}; export abstract class SimpleSinkBase implements Sink { - preCommitAction: ( - action: Action, - ) => void | Action | PromiseLike | Observable = Noop; + preCommitAction: (action: Action) => void | Action | PromiseLike | Observable = + Noop; postCommitAction: (action: Action) => void | Observable = Noop; preCommit: () => void | Observable = Noop; postCommit: () => void | Observable = Noop; @@ -118,7 +117,7 @@ export abstract class SimpleSinkBase implements Sink { return concat( this.validateSingleAction(action), new Observable((observer) => { - let committed = null; + let committed: Observable | null = null; switch (action.kind) { case 'o': committed = this._overwriteFile(action.path, action.content); diff --git a/packages/angular_devkit/schematics/src/tree/scoped.ts b/packages/angular_devkit/schematics/src/tree/scoped.ts index 205769204439..4e96561625e7 100644 --- a/packages/angular_devkit/schematics/src/tree/scoped.ts +++ b/packages/angular_devkit/schematics/src/tree/scoped.ts @@ -164,7 +164,7 @@ export class ScopedTree implements Tree { } get actions(): Action[] { - const scopedActions = []; + const scopedActions: Action[] = []; for (const action of this._base.actions) { if (!action.path.startsWith(this._root.scope + '/')) { diff --git a/packages/schematics/angular/utility/ast-utils.ts b/packages/schematics/angular/utility/ast-utils.ts index ecb6f6d36f7c..ac91b51cb239 100644 --- a/packages/schematics/angular/utility/ast-utils.ts +++ b/packages/schematics/angular/utility/ast-utils.ts @@ -171,7 +171,7 @@ export function findNodes( */ export function getSourceNodes(sourceFile: ts.SourceFile): ts.Node[] { const nodes: ts.Node[] = [sourceFile]; - const result = []; + const result: ts.Node[] = []; while (nodes.length > 0) { const node = nodes.shift(); From 484cda5f9ee90ab17807eb7f5cfb4a40ea6cd264 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 10 Oct 2022 09:34:01 -0400 Subject: [PATCH 0996/1388] fix(@angular-devkit/build-angular): isolate zone.js usage when rendering server bundles When generating an app-shell via the app-shell builder, the server application rendering will now take place within a Node.js Worker. Since the rendering requires the presence of Zone.js, this change allows for the Zone.js patching to be isolated from the remainder of the builder and Angular CLI code. This prevents Zone.js from persisting past the needed render operation. This also allows for a workaround to a Zone.js/Node.js v18 problem where the TypeScript dynamic import workaround involving the Function constructor to ensure a native dynamic import expression will cause a failure when running on Node.js v18.10. --- .../src/builders/app-shell/index.ts | 115 ++++++++---------- .../src/builders/app-shell/render-worker.ts | 89 ++++++++++++++ 2 files changed, 142 insertions(+), 62 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/app-shell/render-worker.ts diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts index 84085370c0db..208c3d5c611d 100644 --- a/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/index.ts @@ -13,11 +13,9 @@ import { targetFromTargetString, } from '@angular-devkit/architect'; import { JsonObject } from '@angular-devkit/core'; -import type { Type } from '@angular/core'; -import type * as platformServer from '@angular/platform-server'; -import assert from 'assert'; import * as fs from 'fs'; import * as path from 'path'; +import Piscina from 'piscina'; import { normalizeOptimization } from '../../utils'; import { assertIsError } from '../../utils/error'; import { InlineCriticalCssProcessor } from '../../utils/index-file/inline-critical-css'; @@ -45,10 +43,9 @@ async function _renderUniversal( browserBuilderName, ); - // Initialize zone.js + // Locate zone.js to load in the render worker const root = context.workspaceRoot; const zonePackage = require.resolve('zone.js', { paths: [root] }); - await import(zonePackage); const projectName = context.target && context.target.project; if (!projectName) { @@ -66,69 +63,63 @@ async function _renderUniversal( }) : undefined; - for (const { path: outputPath, baseHref } of browserResult.outputs) { - const localeDirectory = path.relative(browserResult.baseOutputPath, outputPath); - const browserIndexOutputPath = path.join(outputPath, 'index.html'); - const indexHtml = await fs.promises.readFile(browserIndexOutputPath, 'utf8'); - const serverBundlePath = await _getServerModuleBundlePath( - options, - context, - serverResult, - localeDirectory, - ); - - const { AppServerModule, renderModule, ɵSERVER_CONTEXT } = (await import(serverBundlePath)) as { - renderModule: typeof platformServer.renderModule | undefined; - ɵSERVER_CONTEXT: typeof platformServer.ɵSERVER_CONTEXT | undefined; - AppServerModule: Type | undefined; - }; - - assert(renderModule, `renderModule was not exported from: ${serverBundlePath}.`); - assert(AppServerModule, `AppServerModule was not exported from: ${serverBundlePath}.`); - assert(ɵSERVER_CONTEXT, `ɵSERVER_CONTEXT was not exported from: ${serverBundlePath}.`); - - // Load platform server module renderer - let html = await renderModule(AppServerModule, { - document: indexHtml, - url: options.route, - extraProviders: [ - { - provide: ɵSERVER_CONTEXT, - useValue: 'app-shell', - }, - ], - }); - - // Overwrite the client index file. - const outputIndexPath = options.outputIndexPath - ? path.join(root, options.outputIndexPath) - : browserIndexOutputPath; - - if (inlineCriticalCssProcessor) { - const { content, warnings, errors } = await inlineCriticalCssProcessor.process(html, { - outputPath, + const renderWorker = new Piscina({ + filename: require.resolve('./render-worker'), + maxThreads: 1, + workerData: { zonePackage }, + }); + + try { + for (const { path: outputPath, baseHref } of browserResult.outputs) { + const localeDirectory = path.relative(browserResult.baseOutputPath, outputPath); + const browserIndexOutputPath = path.join(outputPath, 'index.html'); + const indexHtml = await fs.promises.readFile(browserIndexOutputPath, 'utf8'); + const serverBundlePath = await _getServerModuleBundlePath( + options, + context, + serverResult, + localeDirectory, + ); + + let html: string = await renderWorker.run({ + serverBundlePath, + document: indexHtml, + url: options.route, }); - html = content; - if (warnings.length || errors.length) { - spinner.stop(); - warnings.forEach((m) => context.logger.warn(m)); - errors.forEach((m) => context.logger.error(m)); - spinner.start(); + // Overwrite the client index file. + const outputIndexPath = options.outputIndexPath + ? path.join(root, options.outputIndexPath) + : browserIndexOutputPath; + + if (inlineCriticalCssProcessor) { + const { content, warnings, errors } = await inlineCriticalCssProcessor.process(html, { + outputPath, + }); + html = content; + + if (warnings.length || errors.length) { + spinner.stop(); + warnings.forEach((m) => context.logger.warn(m)); + errors.forEach((m) => context.logger.error(m)); + spinner.start(); + } } - } - await fs.promises.writeFile(outputIndexPath, html); + await fs.promises.writeFile(outputIndexPath, html); - if (browserOptions.serviceWorker) { - await augmentAppWithServiceWorker( - projectRoot, - root, - outputPath, - baseHref ?? '/', - browserOptions.ngswConfigPath, - ); + if (browserOptions.serviceWorker) { + await augmentAppWithServiceWorker( + projectRoot, + root, + outputPath, + baseHref ?? '/', + browserOptions.ngswConfigPath, + ); + } } + } finally { + await renderWorker.destroy(); } return browserResult; diff --git a/packages/angular_devkit/build_angular/src/builders/app-shell/render-worker.ts b/packages/angular_devkit/build_angular/src/builders/app-shell/render-worker.ts new file mode 100644 index 000000000000..28af48b5849c --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/app-shell/render-worker.ts @@ -0,0 +1,89 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { Type } from '@angular/core'; +import type * as platformServer from '@angular/platform-server'; +import assert from 'node:assert'; +import { workerData } from 'node:worker_threads'; + +/** + * The fully resolved path to the zone.js package that will be loaded during worker initialization. + * This is passed as workerData when setting up the worker via the `piscina` package. + */ +const { zonePackage } = workerData as { + zonePackage: string; +}; + +/** + * A request to render a Server bundle generate by the universal server builder. + */ +interface RenderRequest { + /** + * The path to the server bundle that should be loaded and rendered. + */ + serverBundlePath: string; + /** + * The existing HTML document as a string that will be augmented with the rendered application. + */ + document: string; + /** + * An optional URL path that represents the Angular route that should be rendered. + */ + url: string | undefined; +} + +/** + * Renders an application based on a provided server bundle path, initial document, and optional URL route. + * @param param0 A request to render a server bundle. + * @returns A promise that resolves to the render HTML document for the application. + */ +async function render({ serverBundlePath, document, url }: RenderRequest): Promise { + const { AppServerModule, renderModule, ɵSERVER_CONTEXT } = (await import(serverBundlePath)) as { + renderModule: typeof platformServer.renderModule | undefined; + ɵSERVER_CONTEXT: typeof platformServer.ɵSERVER_CONTEXT | undefined; + AppServerModule: Type | undefined; + }; + + assert(renderModule, `renderModule was not exported from: ${serverBundlePath}.`); + assert(AppServerModule, `AppServerModule was not exported from: ${serverBundlePath}.`); + assert(ɵSERVER_CONTEXT, `ɵSERVER_CONTEXT was not exported from: ${serverBundlePath}.`); + + // Render platform server module + const html = await renderModule(AppServerModule, { + document, + url, + extraProviders: [ + { + provide: ɵSERVER_CONTEXT, + useValue: 'app-shell', + }, + ], + }); + + return html; +} + +/** + * Initializes the worker when it is first created by loading the Zone.js package + * into the worker instance. + * + * @returns A promise resolving to the render function of the worker. + */ +async function initialize() { + // Setup Zone.js + await import(zonePackage); + + // Return the render function for use + return render; +} + +/** + * The default export will be the promise returned by the initialize function. + * This is awaited by piscina prior to using the Worker. + */ +export default initialize(); From b6a04057763d12833abf9ae371da0a5e48821a29 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 10 Oct 2022 10:44:19 +0000 Subject: [PATCH 0997/1388] build: lock file maintenance --- yarn.lock | 451 ++++++++++++------------------------------------------ 1 file changed, 102 insertions(+), 349 deletions(-) diff --git a/yarn.lock b/yarn.lock index 66201485c511..5e1e983cb515 100644 --- a/yarn.lock +++ b/yarn.lock @@ -212,9 +212,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "14.2.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.3.tgz#a958687cf3bcc1a0af2c1f0791af20d4ed31c931" - integrity sha512-neW2n5Ts2purYEVh0Lf207otZbhYH4C4lwwu8ffxdRiXahQiTCbmyM3IQFrQZbLDb/ZeD2KhoCl6p0hlyg14cA== + version "14.2.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.5.tgz#d2a4b5bb36fc9dda3318eeab197a051d170b8706" + integrity sha512-Ok78Abq0puMGlolvNVzKFvsX7ePDkyxpZzztDzXDdRA4x4o6bAuuDG9Y7Wab2+wsdY6NktO+dFQjq1UBWClgSg== dependencies: tslib "^2.3.0" @@ -298,12 +298,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0", "@babel/compat-data@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" - integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== - -"@babel/compat-data@^7.19.3": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0", "@babel/compat-data@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== @@ -350,7 +345,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.3": +"@babel/core@7.19.3", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== @@ -371,28 +366,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.1.tgz#c8fa615c5e88e272564ace3d42fbc8b17bfeb22b" - integrity sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.1" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.1" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@7.19.0", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0": +"@babel/generator@7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== @@ -401,7 +375,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.19.3", "@babel/generator@^7.19.3": +"@babel/generator@7.19.3", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0", "@babel/generator@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== @@ -425,17 +399,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" - integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== - dependencies: - "@babel/compat-data" "^7.19.1" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.19.3": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== @@ -630,12 +594,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0", "@babel/parser@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" - integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== - -"@babel/parser@^7.19.3": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0", "@babel/parser@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== @@ -1366,23 +1325,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" - integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.1" - "@babel/types" "^7.19.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.19.3": +"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== @@ -1398,16 +1341,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.19.3": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== @@ -1622,11 +1556,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.10.tgz#a5f9432eb221afc243c321058ef25fe899886892" integrity sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg== -"@esbuild/android-arm@0.15.9": - version "0.15.9" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431" - integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ== - "@esbuild/linux-loong64@0.15.10": version "0.15.10" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7" @@ -1637,11 +1566,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== -"@esbuild/linux-loong64@0.15.9": - version "0.15.9" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3" - integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA== - "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -1663,9 +1587,9 @@ integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.10.5": - version "0.10.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.5.tgz#bb679745224745fff1e9a41961c1d45a49f81c04" - integrity sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug== + version "0.10.7" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc" + integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1719,7 +1643,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== @@ -1737,7 +1661,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -1751,12 +1675,12 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + version "0.3.16" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz#a7982f16c18cae02be36274365433e5b49d7b23f" + integrity sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" @@ -2343,9 +2267,9 @@ integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== "@types/inquirer@^8.0.0": - version "8.2.3" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.3.tgz#985515d04879a0d0c1f5f49ec375767410ba9dab" - integrity sha512-ZlBqD+8WIVNy3KIVkl+Qne6bGLW2erwN0GJXY9Ri/9EMbyupee3xw3H0Mmv5kJoLyNpfd/oHlwKxO0DUDH7yWA== + version "8.2.4" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.4.tgz#f7f0c76c65870c7bbc80a112c9c77ffcf7f158c1" + integrity sha512-Pxxx3i3AyK7vKAj3LRM/vF7ETcHKiLJ/u5CnNgbz/eYj/vB3xGAYtRxI5IKtq0hpe5iFHD22BKV3n6WHUu0k4Q== dependencies: "@types/through" "*" @@ -2431,9 +2355,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.7.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f" - integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== + version "18.8.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.8.3.tgz#ce750ab4017effa51aed6a7230651778d54e327c" + integrity sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w== "@types/node@12.20.24": version "12.20.24" @@ -3491,7 +3415,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.20.0, body-parser@^1.19.0: +body-parser@1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== @@ -3509,7 +3433,7 @@ body-parser@1.20.0, body-parser@^1.19.0: type-is "~1.6.18" unpipe "1.0.0" -body-parser@1.20.1: +body-parser@1.20.1, body-parser@^1.19.0: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== @@ -3787,9 +3711,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: - version "1.0.30001412" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz#30f67d55a865da43e0aeec003f073ea8764d5d7c" - integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== + version "1.0.30001418" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz#5f459215192a024c99e3e3a53aac310fc7cf24e6" + integrity sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg== caseless@~0.12.0: version "0.12.0" @@ -4039,9 +3963,9 @@ commander@^2.2.0, commander@^2.20.0, commander@^2.20.3: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" - integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== common-ancestor-path@^1.0.1: version "1.0.1" @@ -4185,9 +4109,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.25.1: - version "3.25.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.3.tgz#d6a442a03f4eade4555d4e640e6a06151dd95d38" - integrity sha512-xVtYpJQ5grszDHEUU9O7XbjjcZ0ccX3LgQsyqSvTnjX97ZqEgn9F5srmrwwwMtbKzDllyFPL+O+2OFMl1lU4TQ== + version "3.25.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9" + integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== dependencies: browserslist "^4.21.4" @@ -4370,7 +4294,7 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-format@^4.0.13: +date-format@^4.0.14: version "4.0.14" resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== @@ -4446,9 +4370,9 @@ default-gateway@^6.0.3: execa "^5.0.0" defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== dependencies: clone "^1.0.2" @@ -4688,9 +4612,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.251: - version "1.4.264" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.264.tgz#2f68a062c38b7a04bf57f3e6954b868672fbdcd3" - integrity sha512-AZ6ZRkucHOQT8wke50MktxtmcWZr67kE17X/nAXFf62NIdMdgY6xfsaJD5Szoy84lnkuPWH+4tTNE3s2+bPCiw== + version "1.4.276" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz#17837b19dafcc43aba885c4689358b298c19b520" + integrity sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ== emoji-regex@^8.0.0: version "8.0.0" @@ -4806,9 +4730,9 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: - version "1.20.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.3.tgz#90b143ff7aedc8b3d189bcfac7f1e3e3f81e9da1" - integrity sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw== + version "1.20.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" + integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -4820,7 +4744,7 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 has-property-descriptors "^1.0.0" has-symbols "^1.0.3" internal-slot "^1.0.3" - is-callable "^1.2.6" + is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" @@ -4914,11 +4838,6 @@ esbuild-android-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== -esbuild-android-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0" - integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw== - esbuild-android-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz#f453851dc1d8c5409a38cf7613a33852faf4915d" @@ -4929,11 +4848,6 @@ esbuild-android-arm64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== -esbuild-android-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985" - integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg== - esbuild-darwin-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz#778bd29c8186ff47b176c8af58c08cf0fb8e6b86" @@ -4944,11 +4858,6 @@ esbuild-darwin-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== -esbuild-darwin-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4" - integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ== - esbuild-darwin-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz#b30bbefb46dc3c5d4708b0435e52f6456578d6df" @@ -4959,11 +4868,6 @@ esbuild-darwin-arm64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== -esbuild-darwin-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86" - integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw== - esbuild-freebsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz#ab301c5f6ded5110dbdd611140bef1a7c2e99236" @@ -4974,11 +4878,6 @@ esbuild-freebsd-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== -esbuild-freebsd-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e" - integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A== - esbuild-freebsd-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz#a5b09b867a6ff49110f52343b6f12265db63d43f" @@ -4989,11 +4888,6 @@ esbuild-freebsd-arm64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== -esbuild-freebsd-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57" - integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA== - esbuild-linux-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz#5282fe9915641caf9c8070e4ba2c3e16d358f837" @@ -5004,11 +4898,6 @@ esbuild-linux-32@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== -esbuild-linux-32@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b" - integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg== - esbuild-linux-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz#f3726e85a00149580cb19f8abfabcbb96f5d52bb" @@ -5019,11 +4908,6 @@ esbuild-linux-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== -esbuild-linux-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4" - integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ== - esbuild-linux-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz#2f0056e9d5286edb0185b56655caa8c574d8dbe7" @@ -5034,11 +4918,6 @@ esbuild-linux-arm64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== -esbuild-linux-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24" - integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ== - esbuild-linux-arm@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz#40a9270da3c8ffa32cf72e24a79883e323dff08d" @@ -5049,11 +4928,6 @@ esbuild-linux-arm@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== -esbuild-linux-arm@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506" - integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ== - esbuild-linux-mips64le@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz#90ce1c4ee0202edb4ac69807dea77f7e5804abc4" @@ -5064,11 +4938,6 @@ esbuild-linux-mips64le@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== -esbuild-linux-mips64le@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd" - integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw== - esbuild-linux-ppc64le@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz#782837ae7bd5b279178106c9dd801755a21fabdf" @@ -5079,11 +4948,6 @@ esbuild-linux-ppc64le@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== -esbuild-linux-ppc64le@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9" - integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw== - esbuild-linux-riscv64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz#d7420d806ece5174f24f4634303146f915ab4207" @@ -5094,11 +4958,6 @@ esbuild-linux-riscv64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== -esbuild-linux-riscv64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6" - integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA== - esbuild-linux-s390x@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz#21fdf0cb3494a7fb520a71934e4dffce67fe47be" @@ -5109,11 +4968,6 @@ esbuild-linux-s390x@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== -esbuild-linux-s390x@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f" - integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw== - esbuild-netbsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz#6c06b3107e3df53de381e6299184d4597db0440f" @@ -5124,11 +4978,6 @@ esbuild-netbsd-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== -esbuild-netbsd-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54" - integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw== - esbuild-openbsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz#4daef5f5d8e74bbda53b65160029445d582570cf" @@ -5139,11 +4988,6 @@ esbuild-openbsd-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== -esbuild-openbsd-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0" - integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A== - esbuild-sunos-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz#5fe7bef267a02f322fd249a8214d0274937388a7" @@ -5154,12 +4998,7 @@ esbuild-sunos-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== -esbuild-sunos-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" - integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== - -esbuild-wasm@0.15.10: +esbuild-wasm@0.15.10, esbuild-wasm@^0.15.9: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== @@ -5169,11 +5008,6 @@ esbuild-wasm@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== -esbuild-wasm@^0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.9.tgz#5c20523a1fae7f90f55787108b35fad8a9c9d0dd" - integrity sha512-5ST4pyUZMRnYg/D6zxPxmCovDSPtxHcckLNf8uPU4YkqBr4xsSSkcaijBB5dcy7gu1DqRS0uDaK5j+cZLrtbdg== - esbuild-windows-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz#48e3dde25ab0135579a288b30ab6ddef6d1f0b28" @@ -5184,11 +5018,6 @@ esbuild-windows-32@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== -esbuild-windows-32@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df" - integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA== - esbuild-windows-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz#387a9515bef3fee502d277a5d0a2db49a4ecda05" @@ -5199,11 +5028,6 @@ esbuild-windows-64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== -esbuild-windows-64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2" - integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg== - esbuild-windows-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz#5a6fcf2fa49e895949bf5495cf088ab1b43ae879" @@ -5214,12 +5038,7 @@ esbuild-windows-arm64@0.15.7: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== -esbuild-windows-arm64@0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" - integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== - -esbuild@0.15.10: +esbuild@0.15.10, esbuild@^0.15.9: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" integrity sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng== @@ -5274,34 +5093,6 @@ esbuild@0.15.7: esbuild-windows-64 "0.15.7" esbuild-windows-arm64 "0.15.7" -esbuild@^0.15.9: - version "0.15.9" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" - integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== - optionalDependencies: - "@esbuild/android-arm" "0.15.9" - "@esbuild/linux-loong64" "0.15.9" - esbuild-android-64 "0.15.9" - esbuild-android-arm64 "0.15.9" - esbuild-darwin-64 "0.15.9" - esbuild-darwin-arm64 "0.15.9" - esbuild-freebsd-64 "0.15.9" - esbuild-freebsd-arm64 "0.15.9" - esbuild-linux-32 "0.15.9" - esbuild-linux-64 "0.15.9" - esbuild-linux-arm "0.15.9" - esbuild-linux-arm64 "0.15.9" - esbuild-linux-mips64le "0.15.9" - esbuild-linux-ppc64le "0.15.9" - esbuild-linux-riscv64 "0.15.9" - esbuild-linux-s390x "0.15.9" - esbuild-netbsd-64 "0.15.9" - esbuild-openbsd-64 "0.15.9" - esbuild-sunos-64 "0.15.9" - esbuild-windows-32 "0.15.9" - esbuild-windows-64 "0.15.9" - esbuild-windows-arm64 "0.15.9" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5585,7 +5376,7 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.18.1, express@^4.17.3: +express@4.18.1: version "4.18.1" resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== @@ -5622,7 +5413,7 @@ express@4.18.1, express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -express@4.18.2: +express@4.18.2, express@^4.17.3: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== @@ -5869,7 +5660,7 @@ flatstr@^1.0.12: resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== -flatted@^3.1.0, flatted@^3.2.6: +flatted@^3.1.0, flatted@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== @@ -6173,9 +5964,9 @@ globby@^5.0.0: pinkie-promise "^2.0.0" google-protobuf@^3.6.1: - version "3.21.0" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.0.tgz#8dfa3fca16218618d373d414d3c1139e28034d6e" - integrity sha512-byR7MBTK4tZ5PZEb+u5ZTzpt4SfrTxv5682MjPlHN16XeqgZE2/8HOIWeiXe8JKnT9OVbtBGhbq8mtvkK8cd5g== + version "3.21.1" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.1.tgz#bb73c6e1471afdadc0a312da27ef0a68c875414f" + integrity sha512-iiQnqsR7nzdYfJjo2yOpJJ2bsAaOvV/85HjDx/sxcOJcNMgyj3iK00HsbZbhKS+EixWdu9fPn7quaBvb4IQHtw== graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" @@ -6665,7 +6456,7 @@ is-builtin-module@^3.1.0: dependencies: builtin-modules "^3.3.0" -is-callable@^1.1.4, is-callable@^1.2.6: +is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -6920,9 +6711,9 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" - integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -7028,9 +6819,9 @@ js-base64@^2.4.3: integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-sdsl@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" - integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== + version "4.1.5" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" + integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== js-tokens@^4.0.0: version "4.0.0" @@ -7648,15 +7439,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.6.1.tgz#48f23de8a87d2f5ffd3d913f24ca9ce77895272f" - integrity sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A== + version "6.7.0" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.7.0.tgz#fff671a74b2f6e956d135c3c756c79072809a23b" + integrity sha512-KA0W9ffgNBLDj6fZCq/lRbgR6ABAodRIDHrZnS48vOtfKa4PzWImb0Md1lmGCdO3n3sbCm/n1/WmrNlZ8kCI3Q== dependencies: - date-format "^4.0.13" + date-format "^4.0.14" debug "^4.3.4" - flatted "^3.2.6" + flatted "^3.2.7" rfdc "^1.3.0" - streamroller "^3.1.2" + streamroller "^3.1.3" long@^4.0.0: version "4.0.0" @@ -7705,7 +7496,7 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.7: +magic-string@0.26.7, magic-string@^0.26.0: version "0.26.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== @@ -7719,13 +7510,6 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.26.0: - version "0.26.4" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.4.tgz#3d057d3d0234c3b179aa3f421b33fe5d8a4044a8" - integrity sha512-e5uXtVJ22aEpK9u1+eQf0fSxHeqwyV19K+uGnlROCxUhzwRip9tBsaMViK/0vC3viyPd5Gtucp3UmEp/Q2cPTQ== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -8165,15 +7949,15 @@ node-gyp-build@^4.2.2: integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== node-gyp@^9.0.0, node-gyp@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8" - integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g== + version "9.2.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.2.0.tgz#b3b56144828a98018a4cfb3033095e0f5b874d72" + integrity sha512-/+/YxGfIJOh/fnMsr4Ep0v6oOIjnO1BgLd2dcDspBX1spTkQU7xSIox5RdRE/2/Uq3ZwK8Z5swRIbMUmPlslmg== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.6" make-fetch-happen "^10.0.3" - nopt "^5.0.0" + nopt "^6.0.0" npmlog "^6.0.0" rimraf "^3.0.2" semver "^7.3.5" @@ -8193,13 +7977,6 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - nopt@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" @@ -8275,7 +8052,7 @@ npm-normalize-package-bin@^2.0.0: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== -npm-package-arg@9.1.2: +npm-package-arg@9.1.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== @@ -8285,16 +8062,6 @@ npm-package-arg@9.1.2: semver "^7.3.5" validate-npm-package-name "^4.0.0" -npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" - integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== - dependencies: - hosted-git-info "^5.0.0" - proc-log "^2.0.1" - semver "^7.3.5" - validate-npm-package-name "^4.0.0" - npm-packlist@^5.1.0: version "5.1.3" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" @@ -8367,6 +8134,7 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8377,6 +8145,7 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8396,6 +8165,7 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" + minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -9271,7 +9041,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: +postcss@8.4.16: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== @@ -9280,7 +9050,7 @@ postcss@8.4.16, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.17: +postcss@8.4.17, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: version "8.4.17" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== @@ -10070,6 +9840,7 @@ sass@1.55.0, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -10160,14 +9931,14 @@ semver@5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: +semver@7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -semver@7.3.8: +semver@7.3.8, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== @@ -10403,9 +10174,9 @@ socks-proxy-agent@^7.0.0: socks "^2.6.2" socks@^2.6.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0" - integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA== + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== dependencies: ip "^2.0.0" smart-buffer "^4.2.0" @@ -10662,12 +10433,12 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.2.tgz#abd444560768b340f696307cf84d3f46e86c0e63" - integrity sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A== +streamroller@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.3.tgz#d95689a8c29b30d093525d0baffe6616fd62ca7e" + integrity sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w== dependencies: - date-format "^4.0.13" + date-format "^4.0.14" debug "^4.3.4" fs-extra "^8.1.0" @@ -10868,7 +10639,7 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.15.0, terser@^5.14.1: +terser@5.15.0: version "5.15.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== @@ -10878,7 +10649,7 @@ terser@5.15.0, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" -terser@5.15.1: +terser@5.15.1, terser@^5.14.1: version "5.15.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== @@ -11162,16 +10933,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.4: +typescript@4.8.4, typescript@^4.6.2, typescript@~4.8.0: version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== -typescript@^4.6.2, typescript@~4.8.0: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== - typescript@~4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" @@ -11188,9 +10954,9 @@ ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.17.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.2.tgz#f55f668b9a64b213977ae688703b6bbb7ca861c6" - integrity sha512-bbxglRjsGQMchfvXZNusUcYgiB9Hx2K4AHYXQy2DITZ9Rd+JzhX7+hoocE5Winr7z2oHvPsekkBwXtigvxevXg== + version "3.17.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.3.tgz#f0feedf019c4510f164099e8d7e72ff2d7304377" + integrity sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg== unbox-primitive@^1.0.2: version "1.0.2" @@ -11276,9 +11042,9 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" - integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -11921,7 +11687,7 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.6.0: +yargs@17.6.0, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: version "17.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== @@ -11964,19 +11730,6 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From f3475388676ac436d3eeeefe8c8ba598ae3d49b2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 10 Oct 2022 20:13:10 +0200 Subject: [PATCH 0998/1388] Revert "refactor(@angular-devkit/schematics): remove `UpdateBuffer` and rename `UpdateBuffer2` to `UpdateBuffer`" This reverts commit 9b07b469b622e083a9915ed3c24e1d53d8abf38f. --- .../schematics/src/tree/recorder_spec.ts | 6 + .../src/utility/environment-options.ts | 20 ++ .../schematics/src/utility/linked-list.ts | 72 +++++ .../schematics/src/utility/update-buffer.ts | 287 +++++++++++++++++- .../src/utility/update-buffer_spec.ts | 229 +++++++++++++- 5 files changed, 603 insertions(+), 11 deletions(-) create mode 100644 packages/angular_devkit/schematics/src/utility/environment-options.ts create mode 100644 packages/angular_devkit/schematics/src/utility/linked-list.ts diff --git a/packages/angular_devkit/schematics/src/tree/recorder_spec.ts b/packages/angular_devkit/schematics/src/tree/recorder_spec.ts index 1ed091c25f54..465b0c1a8394 100644 --- a/packages/angular_devkit/schematics/src/tree/recorder_spec.ts +++ b/packages/angular_devkit/schematics/src/tree/recorder_spec.ts @@ -7,6 +7,7 @@ */ import { normalize } from '@angular-devkit/core'; +import { UpdateBuffer2, UpdateBufferBase } from '../utility/update-buffer'; import { SimpleFileEntry } from './entry'; import { UpdateRecorderBase, UpdateRecorderBom } from './recorder'; @@ -35,6 +36,11 @@ describe('UpdateRecorderBase', () => { const buffer = Buffer.from('Hello beautiful World'); const entry = new SimpleFileEntry(normalize('/some/path'), buffer); + // TODO: Remove once UpdateBufferBase.create defaults to UpdateBuffer2 + spyOn(UpdateBufferBase, 'create').and.callFake( + (originalContent) => new UpdateBuffer2(originalContent), + ); + const recorder = new UpdateRecorderBase(entry); recorder.remove(6, 9); recorder.insertRight(6, 'amazing'); diff --git a/packages/angular_devkit/schematics/src/utility/environment-options.ts b/packages/angular_devkit/schematics/src/utility/environment-options.ts new file mode 100644 index 000000000000..cc6042ca8b72 --- /dev/null +++ b/packages/angular_devkit/schematics/src/utility/environment-options.ts @@ -0,0 +1,20 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +function isEnabled(variable: string): boolean { + return variable === '1' || variable.toLowerCase() === 'true'; +} + +function isPresent(variable: string | undefined): variable is string { + return typeof variable === 'string' && variable !== ''; +} + +// Use UpdateBuffer2, which uses magic-string internally. +// TODO: Switch this for the next major release to use UpdateBuffer2 by default. +const updateBufferV2 = process.env['NG_UPDATE_BUFFER_V2']; +export const updateBufferV2Enabled = isPresent(updateBufferV2) && isEnabled(updateBufferV2); diff --git a/packages/angular_devkit/schematics/src/utility/linked-list.ts b/packages/angular_devkit/schematics/src/utility/linked-list.ts new file mode 100644 index 000000000000..8e4b20681ee1 --- /dev/null +++ b/packages/angular_devkit/schematics/src/utility/linked-list.ts @@ -0,0 +1,72 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export class LinkedList { + constructor(private _head: T) {} + + get(l: number) { + let c: T | null = this._head; + while (c && l > 0) { + l--; + c = c.next; + } + + return c; + } + + get head() { + return this._head; + } + get length() { + let c: T | null = this._head; + let i = 0; + while (c) { + i++; + c = c.next; + } + + return i; + } + + reduce(accumulator: (acc: R, value: T, index?: number) => R, seed: R) { + let c: T | null = this._head; + let acc = seed; + let i = 0; + while (c) { + acc = accumulator(acc, c, i); + i++; + c = c.next; + } + + return acc; + } + + find(predicate: (value: T, index?: number) => boolean) { + let c: T | null = this._head; + let i = 0; + while (c) { + if (predicate(c, i)) { + break; + } + i++; + c = c.next; + } + + return c; + } + + forEach(visitor: (value: T, index?: number) => void) { + let c: T | null = this._head; + let i = 0; + while (c) { + visitor(c, i); + i++; + c = c.next; + } + } +} diff --git a/packages/angular_devkit/schematics/src/utility/update-buffer.ts b/packages/angular_devkit/schematics/src/utility/update-buffer.ts index d520e4dd4805..6062e83d2e27 100644 --- a/packages/angular_devkit/schematics/src/utility/update-buffer.ts +++ b/packages/angular_devkit/schematics/src/utility/update-buffer.ts @@ -8,12 +8,177 @@ import { BaseException } from '@angular-devkit/core'; import MagicString from 'magic-string'; +import { updateBufferV2Enabled } from './environment-options'; +import { LinkedList } from './linked-list'; export class IndexOutOfBoundException extends BaseException { constructor(index: number, min: number, max = Infinity) { super(`Index ${index} outside of range [${min}, ${max}].`); } } +/** @deprecated Since v13.0 */ +export class ContentCannotBeRemovedException extends BaseException { + constructor() { + super(`User tried to remove content that was marked essential.`); + } +} + +/** + * A Chunk description, including left/right content that has been inserted. + * If _left/_right is null, this means that content was deleted. If the _content is null, + * it means the content itself was deleted. + * + * @see UpdateBuffer + * @deprecated Since v13.0 + */ +export class Chunk { + private _content: Buffer | null; + private _left: Buffer | null = Buffer.alloc(0); + private _right: Buffer | null = Buffer.alloc(0); + + private _assertLeft = false; + private _assertRight = false; + + next: Chunk | null = null; + + constructor(public start: number, public end: number, public originalContent: Buffer) { + this._content = originalContent.slice(start, end); + } + + get length() { + return ( + (this._left ? this._left.length : 0) + + (this._content ? this._content.length : 0) + + (this._right ? this._right.length : 0) + ); + } + toString(encoding: BufferEncoding = 'utf-8') { + return ( + (this._left ? this._left.toString(encoding) : '') + + (this._content ? this._content.toString(encoding) : '') + + (this._right ? this._right.toString(encoding) : '') + ); + } + + slice(start: number) { + if (start < this.start || start > this.end) { + throw new IndexOutOfBoundException(start, this.start, this.end); + } + + // Update _content to the new indices. + const newChunk = new Chunk(start, this.end, this.originalContent); + + // If this chunk has _content, reslice the original _content. We move the _right so we are not + // losing any data here. If this chunk has been deleted, the next chunk should also be deleted. + if (this._content) { + this._content = this.originalContent.slice(this.start, start); + } else { + newChunk._content = this._content; + if (this._right === null) { + newChunk._left = null; + } + } + this.end = start; + + // Move _right to the new chunk. + newChunk._right = this._right; + this._right = this._right && Buffer.alloc(0); + + // Update essentials. + if (this._assertRight) { + newChunk._assertRight = true; + this._assertRight = false; + } + + // Update the linked list. + newChunk.next = this.next; + this.next = newChunk; + + return newChunk; + } + + append(buffer: Buffer, essential: boolean) { + if (!this._right) { + if (essential) { + throw new ContentCannotBeRemovedException(); + } + + return; + } + + const outro = this._right; + this._right = Buffer.alloc(outro.length + buffer.length); + outro.copy(this._right, 0); + buffer.copy(this._right, outro.length); + + if (essential) { + this._assertRight = true; + } + } + prepend(buffer: Buffer, essential: boolean) { + if (!this._left) { + if (essential) { + throw new ContentCannotBeRemovedException(); + } + + return; + } + + const intro = this._left; + this._left = Buffer.alloc(intro.length + buffer.length); + intro.copy(this._left, 0); + buffer.copy(this._left, intro.length); + + if (essential) { + this._assertLeft = true; + } + } + + assert(left: boolean, _content: boolean, right: boolean) { + if (left && this._assertLeft) { + throw new ContentCannotBeRemovedException(); + } + + if (right && this._assertRight) { + throw new ContentCannotBeRemovedException(); + } + } + + remove(left: boolean, content: boolean, right: boolean) { + if (left) { + if (this._assertLeft) { + throw new ContentCannotBeRemovedException(); + } + this._left = null; + } + if (content) { + this._content = null; + } + if (right) { + if (this._assertRight) { + throw new ContentCannotBeRemovedException(); + } + this._right = null; + } + } + + copy(target: Buffer, start: number) { + if (this._left) { + this._left.copy(target, start); + start += this._left.length; + } + if (this._content) { + this._content.copy(target, start); + start += this._content.length; + } + if (this._right) { + this._right.copy(target, start); + start += this._right.length; + } + + return start; + } +} /** * Base class for an update buffer implementation that allows buffers to be inserted to the _right @@ -30,21 +195,139 @@ export abstract class UpdateBufferBase { abstract remove(index: number, length: number): void; /** - * Creates an UpdateBufferBase instance. + * Creates an UpdateBufferBase instance. Depending on the NG_UPDATE_BUFFER_V2 + * environment variable, will either create an UpdateBuffer or an UpdateBuffer2 + * instance. + * + * See: https://github.com/angular/angular-cli/issues/21110 * * @param originalContent The original content of the update buffer instance. * @returns An UpdateBufferBase instance. */ static create(originalContent: Buffer): UpdateBufferBase { - return new UpdateBuffer(originalContent); + return updateBufferV2Enabled + ? new UpdateBuffer2(originalContent) + : new UpdateBuffer(originalContent); } } /** * An utility class that allows buffers to be inserted to the _right or _left, or deleted, while * keeping indices to the original buffer. + * + * The constructor takes an original buffer, and keeps it into a linked list of chunks, smaller + * buffers that keep track of _content inserted to the _right or _left of it. + * + * Since the Node Buffer structure is non-destructive when slicing, we try to use slicing to create + * new chunks, and always keep chunks pointing to the original content. + * + * @deprecated Since v13.0 */ export class UpdateBuffer extends UpdateBufferBase { + protected _linkedList: LinkedList; + + constructor(originalContent: Buffer) { + super(originalContent); + this._linkedList = new LinkedList(new Chunk(0, originalContent.length, originalContent)); + } + + protected _assertIndex(index: number) { + if (index < 0 || index > this._originalContent.length) { + throw new IndexOutOfBoundException(index, 0, this._originalContent.length); + } + } + + protected _slice(start: number): [Chunk, Chunk] { + let index: number; + + if (start >= this._originalContent.length) { + index = start; + } else if (start < 0) { + index = this._originalContent.length + start; + } else { + index = this._getTextPosition(start); + } + + this._assertIndex(index); + + // Find the chunk by going through the list. + const h = this._linkedList.find((chunk) => index <= chunk.end); + if (!h) { + throw Error('Chunk cannot be found.'); + } + + if (index == h.end && h.next !== null) { + return [h, h.next]; + } + + return [h, h.slice(index)]; + } + + /** + * Gets the position in the content based on the position in the string. + * Some characters might be wider than one byte, thus we have to determine the position using + * string functions. + */ + protected _getTextPosition(index: number): number { + return Buffer.from(this._originalContent.toString().substring(0, index)).length; + } + + get length(): number { + return this._linkedList.reduce((acc, chunk) => acc + chunk.length, 0); + } + get original(): Buffer { + return this._originalContent; + } + + toString(encoding: BufferEncoding = 'utf-8'): string { + return this._linkedList.reduce((acc, chunk) => acc + chunk.toString(encoding), ''); + } + generate(): Buffer { + const result = Buffer.allocUnsafe(this.length); + let i = 0; + this._linkedList.forEach((chunk) => { + chunk.copy(result, i); + i += chunk.length; + }); + + return result; + } + + insertLeft(index: number, content: Buffer, assert = false) { + this._slice(index)[0].append(content, assert); + } + insertRight(index: number, content: Buffer, assert = false) { + this._slice(index)[1].prepend(content, assert); + } + + remove(index: number, length: number) { + if (length === 0) { + return; + } + + const end = index + length; + const first = this._slice(index)[1]; + const last = this._slice(end)[1]; + + let curr: Chunk | null; + for (curr = first; curr && curr !== last; curr = curr.next) { + curr.assert(curr !== first, curr !== last, curr === first); + } + for (curr = first; curr && curr !== last; curr = curr.next) { + curr.remove(curr !== first, curr !== last, curr === first); + } + + if (curr) { + curr.remove(true, false, false); + } + } +} + +/** + * An utility class that allows buffers to be inserted to the _right or _left, or deleted, while + * keeping indices to the original buffer. + */ +export class UpdateBuffer2 extends UpdateBufferBase { protected _mutatableContent: MagicString = new MagicString(this._originalContent.toString()); protected _assertIndex(index: number) { diff --git a/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts b/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts index a39de1fca71f..c0b120bc363c 100644 --- a/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts +++ b/packages/angular_devkit/schematics/src/utility/update-buffer_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { UpdateBuffer } from './update-buffer'; +import { UpdateBuffer, UpdateBuffer2 } from './update-buffer'; describe('UpdateBuffer', () => { describe('inserts', () => { @@ -71,11 +71,222 @@ describe('UpdateBuffer', () => { }); }); + describe('delete', () => { + it('works for non-overlapping ranges', () => { + // 111111111122222222223333333333444444 + // 0123456789012345678901234567890123456789012345 + const mb = new UpdateBuffer(Buffer.from('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd ')); + + mb.remove(43, 2); + expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rld'); + mb.remove(33, 2); + expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wo3 5 rld'); + mb.remove(8, 2); + expect(mb.toString()).toBe('1 4 Ha ello2 Beautiful Great Wo3 5 rld'); + mb.remove(5, 2); + expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 5 rld'); + mb.remove(38, 2); + expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 rld'); + mb.remove(2, 2); + expect(mb.toString()).toBe('1 Hello2 Beautiful Great Wo3 rld'); + mb.remove(36, 2); + expect(mb.toString()).toBe('1 Hello2 Beautiful Great World'); + mb.remove(13, 2); + expect(mb.toString()).toBe('1 Hello Beautiful Great World'); + mb.remove(0, 2); + expect(mb.toString()).toBe('Hello Beautiful Great World'); + mb.remove(26, 6); + expect(mb.toString()).toBe('Hello Beautiful World'); + mb.remove(16, 10); + expect(mb.toString()).toBe('Hello World'); + }); + + it('handles overlapping ranges', () => { + // 0123456789012 + const mb = new UpdateBuffer(Buffer.from('ABCDEFGHIJKLM')); + + // Overlapping. + mb.remove(2, 5); + expect(mb.toString()).toBe('ABHIJKLM'); + mb.remove(3, 2); + expect(mb.toString()).toBe('ABHIJKLM'); + mb.remove(3, 6); + expect(mb.toString()).toBe('ABJKLM'); + mb.remove(3, 6); + expect(mb.toString()).toBe('ABJKLM'); + mb.remove(10, 1); + expect(mb.toString()).toBe('ABJLM'); + mb.remove(1, 11); + expect(mb.toString()).toBe('AM'); + }); + }); + + describe('inserts and deletes', () => { + it('works for non-overlapping indices', () => { + // 1 + // 01234567890 + const mb = new UpdateBuffer(Buffer.from('01234567890')); + + mb.insertRight(6, Buffer.from('A')); + expect(mb.toString()).toBe('012345A67890'); + mb.insertRight(2, Buffer.from('B')); + expect(mb.toString()).toBe('01B2345A67890'); + + mb.remove(3, 4); + expect(mb.toString()).toBe('01B27890'); + mb.insertRight(4, Buffer.from('C')); + expect(mb.toString()).toBe('01B27890'); + + mb.remove(2, 6); + expect(mb.toString()).toBe('01B890'); + }); + + it('works for _left/_right inserts', () => { + // 0123456789 + const mb = new UpdateBuffer(Buffer.from('0123456789')); + + mb.insertLeft(5, Buffer.from('A')); + expect(mb.toString()).toBe('01234A56789'); + mb.insertRight(5, Buffer.from('B')); + expect(mb.toString()).toBe('01234AB56789'); + mb.insertRight(10, Buffer.from('C')); + expect(mb.toString()).toBe('01234AB56789C'); + mb.remove(5, 5); + expect(mb.toString()).toBe('01234AB'); + mb.remove(0, 5); + expect(mb.toString()).toBe(''); + }); + + it('supports essential', () => { + const mb = new UpdateBuffer(Buffer.from('0123456789')); + + mb.insertLeft(5, Buffer.from('A'), true); + expect(mb.toString()).toBe('01234A56789'); + mb.remove(5, 5); + expect(mb.toString()).toBe('01234A'); + expect(() => mb.remove(0, 5)).toThrow(); + expect(mb.toString()).toBe('01234A'); + + expect(() => mb.insertRight(6, Buffer.from('B'), true)).toThrow(); + expect(mb.toString()).toBe('01234A'); + }); + + it('works for content at start/end of buffer', () => { + const buffer = new UpdateBuffer(Buffer.from('012345')); + buffer.insertLeft(0, Buffer.from('ABC')); + buffer.insertRight(6, Buffer.from('DEF')); + buffer.remove(0, 6); + expect(buffer.toString()).toBe('ABC'); + }); + + it('is able to insert after a zero-length removal', () => { + const mb = new UpdateBuffer(Buffer.from('123')); + + mb.remove(0, 0); + expect(mb.toString()).toBe('123'); + + mb.insertRight(0, Buffer.from('0')); + expect(mb.toString()).toBe('0123'); + }); + + it('is able to insert after a negative-length removal', () => { + const mb = new UpdateBuffer(Buffer.from('123')); + + mb.remove(0, -1); + expect(mb.toString()).toBe('3'); + + mb.insertRight(0, Buffer.from('0')); + expect(mb.toString()).toBe('03'); + }); + }); + + describe('generate', () => { + it('works', () => { + // 0123456789 + const mb = new UpdateBuffer(Buffer.from('0123456789')); + + mb.insertLeft(5, Buffer.from('A')); + expect(mb.toString()).toBe('01234A56789'); + mb.remove(5, 5); + expect(mb.toString()).toBe('01234A'); + mb.remove(0, 5); + expect(mb.toString()).toBe(''); + + const buffer = mb.generate(); + expect(buffer.toString()).toBe(''); + expect(buffer.length).toBe(0); + }); + }); +}); + +describe('UpdateBuffer2', () => { + describe('inserts', () => { + it('works', () => { + const mb = new UpdateBuffer2(Buffer.from('Hello World')); + + mb.insertRight(6, Buffer.from('Beautiful ')); + expect(mb.toString()).toBe('Hello Beautiful World'); + + mb.insertRight(6, Buffer.from('Great ')); + expect(mb.toString()).toBe('Hello Beautiful Great World'); + + mb.insertRight(0, Buffer.from('1 ')); + expect(mb.toString()).toBe('1 Hello Beautiful Great World'); + + mb.insertRight(5, Buffer.from('2 ')); + expect(mb.toString()).toBe('1 Hello2 Beautiful Great World'); + + mb.insertRight(8, Buffer.from('3 ')); + expect(mb.toString()).toBe('1 Hello2 Beautiful Great Wo3 rld'); + + mb.insertRight(0, Buffer.from('4 ')); + expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 rld'); + + mb.insertRight(8, Buffer.from('5 ')); + expect(mb.toString()).toBe('1 4 Hello2 Beautiful Great Wo3 5 rld'); + + mb.insertRight(1, Buffer.from('a ')); + expect(mb.toString()).toBe('1 4 Ha ello2 Beautiful Great Wo3 5 rld'); + + mb.insertRight(2, Buffer.from('b ')); + expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wo3 5 rld'); + + mb.insertRight(7, Buffer.from('c ')); + expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rld'); + + mb.insertRight(11, Buffer.from('d ')); + expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd '); + }); + + it('works _left and _right', () => { + const mb = new UpdateBuffer2(Buffer.from('Hello World')); + + mb.insertRight(6, Buffer.from('Beautiful ')); + expect(mb.toString()).toBe('Hello Beautiful World'); + + mb.insertLeft(6, Buffer.from('Great ')); + expect(mb.toString()).toBe('Hello Great Beautiful World'); + + mb.insertLeft(6, Buffer.from('Awesome ')); + expect(mb.toString()).toBe('Hello Great Awesome Beautiful World'); + }); + + it('works with special characters', () => { + const mb = new UpdateBuffer2(Buffer.from('Ülaut')); + + mb.insertLeft(1, Buffer.from('m')); + expect(mb.toString()).toBe('Ümlaut'); + + mb.insertLeft(0, Buffer.from('Hello ')); + expect(mb.toString()).toBe('Hello Ümlaut'); + }); + }); + describe('delete', () => { it('works for non-overlapping ranges', () => { // 111111111122222222223333333333444444 // 0123456789012345678901234567890123456789012345 - const mb = new UpdateBuffer(Buffer.from('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd ')); + const mb = new UpdateBuffer2(Buffer.from('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rldd ')); mb.remove(43, 2); expect(mb.toString()).toBe('1 4 Ha eb llo2 Beautiful Great Wc o3 5 rld'); @@ -103,7 +314,7 @@ describe('UpdateBuffer', () => { it('handles overlapping ranges', () => { // 0123456789012 - const mb = new UpdateBuffer(Buffer.from('ABCDEFGHIJKLM')); + const mb = new UpdateBuffer2(Buffer.from('ABCDEFGHIJKLM')); // Overlapping. mb.remove(2, 5); @@ -125,7 +336,7 @@ describe('UpdateBuffer', () => { it('works for non-overlapping indices', () => { // 1 // 01234567890 - const mb = new UpdateBuffer(Buffer.from('01234567890')); + const mb = new UpdateBuffer2(Buffer.from('01234567890')); mb.insertRight(6, Buffer.from('A')); expect(mb.toString()).toBe('012345A67890'); @@ -143,7 +354,7 @@ describe('UpdateBuffer', () => { it('works for _left/_right inserts', () => { // 0123456789 - const mb = new UpdateBuffer(Buffer.from('0123456789')); + const mb = new UpdateBuffer2(Buffer.from('0123456789')); mb.insertLeft(5, Buffer.from('A')); expect(mb.toString()).toBe('01234A56789'); @@ -158,7 +369,7 @@ describe('UpdateBuffer', () => { }); it('works for content at start/end of buffer', () => { - const buffer = new UpdateBuffer(Buffer.from('012345')); + const buffer = new UpdateBuffer2(Buffer.from('012345')); buffer.insertLeft(0, Buffer.from('ABC')); buffer.insertRight(6, Buffer.from('DEF')); buffer.remove(0, 6); @@ -166,7 +377,7 @@ describe('UpdateBuffer', () => { }); it('is able to insert after a zero-length removal', () => { - const mb = new UpdateBuffer(Buffer.from('123')); + const mb = new UpdateBuffer2(Buffer.from('123')); mb.remove(0, 0); expect(mb.toString()).toBe('123'); @@ -176,7 +387,7 @@ describe('UpdateBuffer', () => { }); it('is able to insert after a negative-length removal', () => { - const mb = new UpdateBuffer(Buffer.from('123')); + const mb = new UpdateBuffer2(Buffer.from('123')); mb.remove(0, -1); expect(mb.toString()).toBe('3'); @@ -189,7 +400,7 @@ describe('UpdateBuffer', () => { describe('generate', () => { it('works', () => { // 0123456789 - const mb = new UpdateBuffer(Buffer.from('0123456789')); + const mb = new UpdateBuffer2(Buffer.from('0123456789')); mb.insertLeft(5, Buffer.from('A')); expect(mb.toString()).toBe('01234A56789'); From da73d3bb36094a26de2d57cd79f2ed42f2dae627 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 10 Oct 2022 18:24:58 -0400 Subject: [PATCH 0999/1388] refactor(@ngtools/webpack): use new name of Angular compiler incremental compilation property The Angular compiler's `incrementalDriver` property has been renamed to `incrementalCompilation`. To facilitate the removal of the old property, the `@ngtools/webpack` package now uses the new name for the property. --- packages/ngtools/webpack/src/ivy/plugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index 1a508def403c..0d51e5580695 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -595,7 +595,7 @@ export class AngularWebpackPlugin { // Collect sources that are required to be emitted if ( !ignoreForEmit.has(sourceFile) && - !angularCompiler.incrementalDriver.safeToSkipEmit(sourceFile) + !angularCompiler.incrementalCompilation.safeToSkipEmit(sourceFile) ) { this.requiredFilesToEmit.add(normalizePath(sourceFile.fileName)); @@ -638,7 +638,7 @@ export class AngularWebpackPlugin { getDependencies, (sourceFile) => { this.requiredFilesToEmit.delete(normalizePath(sourceFile.fileName)); - angularCompiler.incrementalDriver.recordSuccessfulEmit(sourceFile); + angularCompiler.incrementalCompilation.recordSuccessfulEmit(sourceFile); }, ), }; From 8ccf87308e5a2141bd75bb31c2c02805da08f997 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 11 Oct 2022 05:04:11 +0000 Subject: [PATCH 1000/1388] build: update all non-major dependencies --- package.json | 10 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 177 ++++++++++++------ 3 files changed, 127 insertions(+), 66 deletions(-) diff --git a/package.json b/package.json index 57110c09fecc..8a8eefb204bd 100644 --- a/package.json +++ b/package.json @@ -82,13 +82,13 @@ "@angular/router": "15.0.0-next.5", "@angular/service-worker": "15.0.0-next.5", "@babel/core": "7.19.3", - "@babel/generator": "7.19.3", + "@babel/generator": "7.19.5", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.1", - "@babel/preset-env": "7.19.3", - "@babel/runtime": "7.19.0", + "@babel/preset-env": "7.19.4", + "@babel/runtime": "7.19.4", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", @@ -123,8 +123,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.39.0", - "@typescript-eslint/parser": "5.39.0", + "@typescript-eslint/eslint-plugin": "5.40.0", + "@typescript-eslint/parser": "5.40.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 58cc20fd7ff9..12e2b737cf3f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,13 +11,13 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.19.3", - "@babel/generator": "7.19.3", + "@babel/generator": "7.19.5", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.1", - "@babel/preset-env": "7.19.3", - "@babel/runtime": "7.19.0", + "@babel/preset-env": "7.19.4", + "@babel/runtime": "7.19.4", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", diff --git a/yarn.lock b/yarn.lock index 5e1e983cb515..cbfa32d997fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -303,6 +303,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== +"@babel/compat-data@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" + integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== + "@babel/core@7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" @@ -375,7 +380,16 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.19.3", "@babel/generator@^7.18.9", "@babel/generator@^7.19.0", "@babel/generator@^7.19.3": +"@babel/generator@7.19.5": + version "7.19.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" + integrity sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg== + dependencies: + "@babel/types" "^7.19.4" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/generator@^7.18.9", "@babel/generator@^7.19.0", "@babel/generator@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== @@ -556,6 +570,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" @@ -711,6 +730,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.18.8" +"@babel/plugin-proposal-object-rest-spread@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d" + integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q== + dependencies: + "@babel/compat-data" "^7.19.4" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.18.8" + "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" @@ -889,6 +919,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" +"@babel/plugin-transform-block-scoping@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz#315d70f68ce64426db379a3d830e7ac30be02e9b" + integrity sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-transform-classes@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" @@ -918,6 +955,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" +"@babel/plugin-transform-destructuring@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz#46890722687b9b89e1369ad0bd8dc6c5a3b4319d" + integrity sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" @@ -1217,12 +1261,12 @@ core-js-compat "^3.22.1" semver "^6.3.0" -"@babel/preset-env@7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" - integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== +"@babel/preset-env@7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b" + integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg== dependencies: - "@babel/compat-data" "^7.19.3" + "@babel/compat-data" "^7.19.4" "@babel/helper-compilation-targets" "^7.19.3" "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" @@ -1237,7 +1281,7 @@ "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" + "@babel/plugin-proposal-object-rest-spread" "^7.19.4" "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" "@babel/plugin-proposal-optional-chaining" "^7.18.9" "@babel/plugin-proposal-private-methods" "^7.18.6" @@ -1261,10 +1305,10 @@ "@babel/plugin-transform-arrow-functions" "^7.18.6" "@babel/plugin-transform-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" + "@babel/plugin-transform-block-scoping" "^7.19.4" "@babel/plugin-transform-classes" "^7.19.0" "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.13" + "@babel/plugin-transform-destructuring" "^7.19.4" "@babel/plugin-transform-dotall-regex" "^7.18.6" "@babel/plugin-transform-duplicate-keys" "^7.18.9" "@babel/plugin-transform-exponentiation-operator" "^7.18.6" @@ -1291,7 +1335,7 @@ "@babel/plugin-transform-unicode-escapes" "^7.18.10" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.3" + "@babel/types" "^7.19.4" babel-plugin-polyfill-corejs2 "^0.3.3" babel-plugin-polyfill-corejs3 "^0.6.0" babel-plugin-polyfill-regenerator "^0.4.1" @@ -1316,6 +1360,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" + integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1350,6 +1401,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" + integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" @@ -2639,84 +2699,85 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz#778b2d9e7f293502c7feeea6c74dca8eb3e67511" - integrity sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A== +"@typescript-eslint/eslint-plugin@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz#0159bb71410eec563968288a17bd4478cdb685bd" + integrity sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q== dependencies: - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/type-utils" "5.39.0" - "@typescript-eslint/utils" "5.39.0" + "@typescript-eslint/scope-manager" "5.40.0" + "@typescript-eslint/type-utils" "5.40.0" + "@typescript-eslint/utils" "5.40.0" debug "^4.3.4" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.39.0.tgz#93fa0bc980a3a501e081824f6097f7ca30aaa22b" - integrity sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA== +"@typescript-eslint/parser@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.40.0.tgz#432bddc1fe9154945660f67c1ba6d44de5014840" + integrity sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw== dependencies: - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/typescript-estree" "5.39.0" + "@typescript-eslint/scope-manager" "5.40.0" + "@typescript-eslint/types" "5.40.0" + "@typescript-eslint/typescript-estree" "5.40.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz#873e1465afa3d6c78d8ed2da68aed266a08008d0" - integrity sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw== +"@typescript-eslint/scope-manager@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz#d6ea782c8e3a2371ba3ea31458dcbdc934668fc4" + integrity sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw== dependencies: - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/visitor-keys" "5.39.0" + "@typescript-eslint/types" "5.40.0" + "@typescript-eslint/visitor-keys" "5.40.0" -"@typescript-eslint/type-utils@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz#0a8c00f95dce4335832ad2dc6bc431c14e32a0a6" - integrity sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA== +"@typescript-eslint/type-utils@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz#4964099d0158355e72d67a370249d7fc03331126" + integrity sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw== dependencies: - "@typescript-eslint/typescript-estree" "5.39.0" - "@typescript-eslint/utils" "5.39.0" + "@typescript-eslint/typescript-estree" "5.40.0" + "@typescript-eslint/utils" "5.40.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.39.0.tgz#f4e9f207ebb4579fd854b25c0bf64433bb5ed78d" - integrity sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw== +"@typescript-eslint/types@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.40.0.tgz#8de07e118a10b8f63c99e174a3860f75608c822e" + integrity sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw== -"@typescript-eslint/typescript-estree@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz#c0316aa04a1a1f4f7f9498e3c13ef1d3dc4cf88b" - integrity sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA== +"@typescript-eslint/typescript-estree@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz#e305e6a5d65226efa5471ee0f12e0ffaab6d3075" + integrity sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg== dependencies: - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/visitor-keys" "5.39.0" + "@typescript-eslint/types" "5.40.0" + "@typescript-eslint/visitor-keys" "5.40.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.39.0.tgz#b7063cca1dcf08d1d21b0d91db491161ad0be110" - integrity sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg== +"@typescript-eslint/utils@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.40.0.tgz#647f56a875fd09d33c6abd70913c3dd50759b772" + integrity sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/typescript-estree" "5.39.0" + "@typescript-eslint/scope-manager" "5.40.0" + "@typescript-eslint/types" "5.40.0" + "@typescript-eslint/typescript-estree" "5.40.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" + semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz#8f41f7d241b47257b081ddba5d3ce80deaae61e2" - integrity sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg== +"@typescript-eslint/visitor-keys@5.40.0": + version "5.40.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz#dd2d38097f68e0d2e1e06cb9f73c0173aca54b68" + integrity sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ== dependencies: - "@typescript-eslint/types" "5.39.0" + "@typescript-eslint/types" "5.40.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 0d97c0511567ea13531a1561057774ae974805f2 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 10 Oct 2022 13:41:08 -0400 Subject: [PATCH 1001/1388] refactor(@angular-devkit/build-angular): add debug profiling support to esbuild angular compiler plugin When using the experimental esbuild-based browser application builder, initial debug performance profiling information can now be output to the console by using the `NG_BUILD_DEBUG_PERF` environment variable. When enabled, duration information for elements of the Angular build pipeline will be shown on the console. Certain elements marked with an asterisk postfix represent the total parallel execution time and will not correlate directly to the total build time. This information is useful for both experimentation with build process improvements as well as diagnosing slow builds. --- .../browser-esbuild/compiler-plugin.ts | 214 ++++++++++-------- .../src/builders/browser-esbuild/profiling.ts | 67 ++++++ .../src/utils/environment-options.ts | 3 + 3 files changed, 194 insertions(+), 90 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 3075e4fb58b2..2604746fb0ad 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -24,6 +24,12 @@ import ts from 'typescript'; import angularApplicationPreset from '../../babel/presets/application'; import { requiresLinking } from '../../babel/webpack-loader'; import { loadEsmModule } from '../../utils/load-esm'; +import { + logCumulativeDurations, + profileAsync, + profileSync, + resetCumulativeDurations, +} from './profiling'; import { BundleStylesheetOptions, bundleStylesheetFile, bundleStylesheetText } from './stylesheets'; interface EmitFileResult { @@ -193,21 +199,23 @@ export function createCompilerPlugin( options: compilerOptions, rootNames, errors: configurationDiagnostics, - } = compilerCli.readConfiguration(pluginOptions.tsconfig, { - noEmitOnError: false, - suppressOutputPathCheck: true, - outDir: undefined, - inlineSources: pluginOptions.sourcemap, - inlineSourceMap: pluginOptions.sourcemap, - sourceMap: false, - mapRoot: undefined, - sourceRoot: undefined, - declaration: false, - declarationMap: false, - allowEmptyCodegenFiles: false, - annotationsAs: 'decorators', - enableResourceInlining: false, - }); + } = profileSync('NG_READ_CONFIG', () => + compilerCli.readConfiguration(pluginOptions.tsconfig, { + noEmitOnError: false, + suppressOutputPathCheck: true, + outDir: undefined, + inlineSources: pluginOptions.sourcemap, + inlineSourceMap: pluginOptions.sourcemap, + sourceMap: false, + mapRoot: undefined, + sourceRoot: undefined, + declaration: false, + declarationMap: false, + allowEmptyCodegenFiles: false, + annotationsAs: 'decorators', + enableResourceInlining: false, + }), + ); if (compilerOptions.target === undefined || compilerOptions.target < ts.ScriptTarget.ES2022) { // If 'useDefineForClassFields' is already defined in the users project leave the value as is. @@ -231,6 +239,9 @@ export function createCompilerPlugin( build.onStart(async () => { const result: OnStartResult = {}; + // Reset debug performance tracking + resetCumulativeDurations(); + // Reset stylesheet resource output files stylesheetResourceFiles = []; @@ -307,11 +318,10 @@ export function createCompilerPlugin( } // Create the Angular specific program that contains the Angular compiler - const angularProgram = new compilerCli.NgtscProgram( - rootNames, - compilerOptions, - host, - previousAngularProgram, + const angularProgram = profileSync( + 'NG_CREATE_PROGRAM', + () => + new compilerCli.NgtscProgram(rootNames, compilerOptions, host, previousAngularProgram), ); previousAngularProgram = angularProgram; const angularCompiler = angularProgram.compiler; @@ -327,7 +337,7 @@ export function createCompilerPlugin( ); previousBuilder = builder; - await angularCompiler.analyzeAsync(); + await profileAsync('NG_ANALYZE_PROGRAM', () => angularCompiler.analyzeAsync()); function* collectDiagnostics(): Iterable { // Collect program level diagnostics @@ -343,25 +353,36 @@ export function createCompilerPlugin( continue; } - yield* builder.getSyntacticDiagnostics(sourceFile); - yield* builder.getSemanticDiagnostics(sourceFile); + yield* profileSync( + 'NG_DIAGNOSTICS_SYNTACTIC', + () => builder.getSyntacticDiagnostics(sourceFile), + true, + ); + yield* profileSync( + 'NG_DIAGNOSTICS_SEMANTIC', + () => builder.getSemanticDiagnostics(sourceFile), + true, + ); - const angularDiagnostics = angularCompiler.getDiagnosticsForFile( - sourceFile, - OptimizeFor.WholeProgram, + const angularDiagnostics = profileSync( + 'NG_DIAGNOSTICS_TEMPLATE', + () => angularCompiler.getDiagnosticsForFile(sourceFile, OptimizeFor.WholeProgram), + true, ); yield* angularDiagnostics; } } - for (const diagnostic of collectDiagnostics()) { - const message = convertTypeScriptDiagnostic(diagnostic, host); - if (diagnostic.category === ts.DiagnosticCategory.Error) { - (result.errors ??= []).push(message); - } else { - (result.warnings ??= []).push(message); + profileSync('NG_DIAGNOSTICS_TOTAL', () => { + for (const diagnostic of collectDiagnostics()) { + const message = convertTypeScriptDiagnostic(diagnostic, host); + if (diagnostic.category === ts.DiagnosticCategory.Error) { + (result.errors ??= []).push(message); + } else { + (result.warnings ??= []).push(message); + } } - } + }); fileEmitter = createFileEmitter( builder, @@ -376,74 +397,87 @@ export function createCompilerPlugin( build.onLoad( { filter: compilerOptions.allowJs ? /\.[cm]?[jt]sx?$/ : /\.[cm]?tsx?$/ }, - async (args) => { - assert.ok(fileEmitter, 'Invalid plugin execution order'); - - const typescriptResult = await fileEmitter( - pluginOptions.fileReplacements?.[args.path] ?? args.path, - ); - if (!typescriptResult) { - // No TS result indicates the file is not part of the TypeScript program. - // If allowJs is enabled and the file is JS then defer to the next load hook. - if (compilerOptions.allowJs && /\.[cm]?js$/.test(args.path)) { - return undefined; - } - - // Otherwise return an error - return { - errors: [ - { - text: `File '${args.path}' is missing from the TypeScript compilation.`, - notes: [ + (args) => + profileAsync( + 'NG_EMIT_TS*', + async () => { + assert.ok(fileEmitter, 'Invalid plugin execution order'); + + const typescriptResult = await fileEmitter( + pluginOptions.fileReplacements?.[args.path] ?? args.path, + ); + if (!typescriptResult) { + // No TS result indicates the file is not part of the TypeScript program. + // If allowJs is enabled and the file is JS then defer to the next load hook. + if (compilerOptions.allowJs && /\.[cm]?js$/.test(args.path)) { + return undefined; + } + + // Otherwise return an error + return { + errors: [ { - text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, + text: `File '${args.path}' is missing from the TypeScript compilation.`, + notes: [ + { + text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, + }, + ], }, ], - }, - ], - }; - } - - const data = typescriptResult.content ?? ''; - // The pre-transformed data is used as a cache key. Since the cache is memory only, - // the options cannot change and do not need to be represented in the key. If the - // cache is later stored to disk, then the options that affect transform output - // would need to be added to the key as well. - let contents = babelDataCache.get(data); - if (contents === undefined) { - contents = await transformWithBabel(args.path, data, pluginOptions); - babelDataCache.set(data, contents); - } - - return { - contents, - loader: 'js', - }; - }, + }; + } + + const data = typescriptResult.content ?? ''; + // The pre-transformed data is used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well. + let contents = babelDataCache.get(data); + if (contents === undefined) { + contents = await transformWithBabel(args.path, data, pluginOptions); + babelDataCache.set(data, contents); + } + + return { + contents, + loader: 'js', + }; + }, + true, + ), ); - build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => { - // The filename is currently used as a cache key. Since the cache is memory only, - // the options cannot change and do not need to be represented in the key. If the - // cache is later stored to disk, then the options that affect transform output - // would need to be added to the key as well as a check for any change of content. - let contents = pluginOptions.sourceFileCache?.babelFileCache.get(args.path); - if (contents === undefined) { - const data = await fs.readFile(args.path, 'utf-8'); - contents = await transformWithBabel(args.path, data, pluginOptions); - pluginOptions.sourceFileCache?.babelFileCache.set(args.path, contents); - } + build.onLoad({ filter: /\.[cm]?js$/ }, (args) => + profileAsync( + 'NG_EMIT_JS*', + async () => { + // The filename is currently used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well as a check for any change of content. + let contents = pluginOptions.sourceFileCache?.babelFileCache.get(args.path); + if (contents === undefined) { + const data = await fs.readFile(args.path, 'utf-8'); + contents = await transformWithBabel(args.path, data, pluginOptions); + pluginOptions.sourceFileCache?.babelFileCache.set(args.path, contents); + } - return { - contents, - loader: 'js', - }; - }); + return { + contents, + loader: 'js', + }; + }, + true, + ), + ); build.onEnd((result) => { if (stylesheetResourceFiles.length) { result.outputFiles?.push(...stylesheetResourceFiles); } + + logCumulativeDurations(); }); }, }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts new file mode 100644 index 000000000000..690adfa7e8bc --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts @@ -0,0 +1,67 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { debugPerformance } from '../../utils/environment-options'; + +let cumulativeDurations: Map | undefined; + +export function resetCumulativeDurations(): void { + cumulativeDurations?.clear(); +} + +export function logCumulativeDurations(): void { + if (!debugPerformance || !cumulativeDurations) { + return; + } + + for (const [name, duration] of cumulativeDurations) { + // eslint-disable-next-line no-console + console.log(`DURATION[${name}]: ${duration} seconds`); + } +} + +function recordDuration(name: string, startTime: bigint, cumulative?: boolean): void { + const duration = Number(process.hrtime.bigint() - startTime) / 10 ** 9; + if (cumulative) { + cumulativeDurations ??= new Map(); + cumulativeDurations.set(name, (cumulativeDurations.get(name) ?? 0) + duration); + } else { + // eslint-disable-next-line no-console + console.log(`DURATION[${name}]: ${duration} seconds`); + } +} + +export async function profileAsync( + name: string, + action: () => Promise, + cumulative?: boolean, +): Promise { + if (!debugPerformance) { + return action(); + } + + const startTime = process.hrtime.bigint(); + try { + return await action(); + } finally { + recordDuration(name, startTime, cumulative); + } +} + +export function profileSync(name: string, action: () => T, cumulative?: boolean): T { + if (!debugPerformance) { + return action(); + } + + const startTime = process.hrtime.bigint(); + try { + return action(); + } finally { + recordDuration(name, startTime, cumulative); + } +} diff --git a/packages/angular_devkit/build_angular/src/utils/environment-options.ts b/packages/angular_devkit/build_angular/src/utils/environment-options.ts index 6cf761a4bf5d..ff82810d74da 100644 --- a/packages/angular_devkit/build_angular/src/utils/environment-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/environment-options.ts @@ -93,3 +93,6 @@ export const useLegacySass: boolean = (() => { return isEnabled(legacySassVariable); })(); + +const debugPerfVariable = process.env['NG_BUILD_DEBUG_PERF']; +export const debugPerformance = isPresent(debugPerfVariable) && isEnabled(debugPerfVariable); From 0a196f87605256af12ab06b2f5a20005c77dd36f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 11 Oct 2022 09:08:48 +0000 Subject: [PATCH 1002/1388] build: update angular to 3ed86f4 --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 883 +++--------------- 6 files changed, 132 insertions(+), 795 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c891f3e83fad..8b594c938033 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2e999e1982762a32f68ba8afa02b8bfdac8495b8 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd + - uses: angular/dev-infra/github-actions/post-approval-changes@2e999e1982762a32f68ba8afa02b8bfdac8495b8 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index e7c536e90413..c2242e9c3144 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd + - uses: angular/dev-infra/github-actions/feature-request@2e999e1982762a32f68ba8afa02b8bfdac8495b8 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 046d294e867e..957ec6ff7942 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd + - uses: angular/dev-infra/github-actions/lock-closed@2e999e1982762a32f68ba8afa02b8bfdac8495b8 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 8a8eefb204bd..4312b1f1fc5e 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.5", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1c1c375aff396f7f5eaa22d6d5bc112b255bd45a", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45ba3918d1656d4e746300bdc4d5ab8b4b825c71", "@angular/cdk": "14.2.4", "@angular/common": "15.0.0-next.5", "@angular/compiler": "15.0.0-next.5", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.5", "@angular/localize": "15.0.0-next.5", "@angular/material": "14.2.4", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5d7a73b39c1357c571dc1478caa495bc30195d6f", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#7297d58b25df3e1ed4f01e00e4eaae00444411d8", "@angular/platform-browser": "15.0.0-next.5", "@angular/platform-browser-dynamic": "15.0.0-next.5", "@angular/platform-server": "15.0.0-next.5", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 4be270b6a4f1..0fdbe97733ba 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#19cc6f7bf036fbf3646fd5dc64c9c1752fc805af", - "@angular/cdk": "github:angular/cdk-builds#86c0ce53f8683b2a0d4b167c958c8469ebf2da30", - "@angular/common": "github:angular/common-builds#fdeb4cb6a94bf7f91763e9131e055710984f1977", - "@angular/compiler": "github:angular/compiler-builds#c60df3787d7794392feef2ff0185e8f419a1f7da", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#ccf20731bfdd6efcdefcfef5909e0a53d1341557", - "@angular/core": "github:angular/core-builds#29185deb168b81c30674a10a78db0d54ce9431f8", - "@angular/forms": "github:angular/forms-builds#099462c1bc73c2054b20eb0c04e8c56aadab1528", - "@angular/language-service": "github:angular/language-service-builds#e4c64d1561464bc8f2da015d62ab5e9b962a472a", - "@angular/localize": "github:angular/localize-builds#d6e4de9bc462f2b45886ed0d438a0b322948c227", - "@angular/material": "github:angular/material-builds#8b434e283f363d787ffee215158eec3f96ad9141", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6208d8e31941c4966b4338f21a2d3eb47fc396ab", - "@angular/platform-browser": "github:angular/platform-browser-builds#a8d5c511789c6254130053f6fa9b4dbd86045a8c", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#d61676cf01e804ce4b994415950a933c98691fd1", - "@angular/platform-server": "github:angular/platform-server-builds#89cd54fc37453827d31fdbcc8d075e834fb3ab39", - "@angular/router": "github:angular/router-builds#523e90b22c913c59c3072ce523f26c6349b8b2af", - "@angular/service-worker": "github:angular/service-worker-builds#9159f72785cb4f2d099f8bdedf33d22186179819" + "@angular/animations": "github:angular/animations-builds#3ed86f4b6cc3171cfd4c5846842f79db3753f13a", + "@angular/cdk": "github:angular/cdk-builds#013a386a025e4563a24a7bcd529cebcce104b992", + "@angular/common": "github:angular/common-builds#c7f249ce247e6d30f3941616300d53146a74c152", + "@angular/compiler": "github:angular/compiler-builds#95a2310265d772c154664209e470fad6d6217a2b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#6d71cf0eaffe8d16c5e21fe9de233f46d069ed7d", + "@angular/core": "github:angular/core-builds#2757f84dd78e40e502958f1a2d2e9421baa87243", + "@angular/forms": "github:angular/forms-builds#4e44cccdc0a13dab83a657566c1cae17d059f4b0", + "@angular/language-service": "github:angular/language-service-builds#4607fde03a3c69dedeca487d66a06bae72228d4b", + "@angular/localize": "github:angular/localize-builds#153dc711710154909a7c846298a8451ab9fa4269", + "@angular/material": "github:angular/material-builds#7bfc2fbf10c43218df7b1a30ea38c578a0a19171", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a24440916ae9e04ec75d50911573dbf15ef23af2", + "@angular/platform-browser": "github:angular/platform-browser-builds#540b149b8e9384116d696a7bc1d90567576735b0", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e5d3f519589035aa8c58124fe54ab8048c3f9fa1", + "@angular/platform-server": "github:angular/platform-server-builds#e1a0c99c7382c4e453910f6a5af798f61dad3a66", + "@angular/router": "github:angular/router-builds#fc4f38d7efb8f226d1d84877ca1e0426946f5e58", + "@angular/service-worker": "github:angular/service-worker-builds#57ebca9bbf44f60376ddcee62c94d53383236d3d" } } diff --git a/yarn.lock b/yarn.lock index cbfa32d997fd..018343012512 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== - "@ampproject/remapping@2.2.0", "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -15,43 +10,45 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0-next.0": - version "0.1500.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-next.0.tgz#71bb79523f5bbff7745d1ecee6aab831589c7dd6" - integrity sha512-xXxgzkDeD5H1Ia7sKXIekYfeMgSArxB6TOhyDd3F8h/ku7hQaMVnpV98g5ZOU8vIFpXGJ1YiH9al7rq6w+yGWw== +"@angular-devkit/architect@0.1500.0-next.4": + version "0.1500.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-next.4.tgz#bac2c68e6a531e1d489df7b50cdbbc5c08bd3c73" + integrity sha512-heFf4Jx9yXjS9s2vcP4YbYwWD73px4EQFWktjlCn7xdV17Ko7oON44G8lO1r7t6vykRewUJesH/K0zI+rB07hA== dependencies: - "@angular-devkit/core" "15.0.0-next.0" + "@angular-devkit/core" "15.0.0-next.4" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-next.0.tgz#e3968b52b90af7f2b110e054a2d9d3f396da5f3d" - integrity sha512-uTrjZC62DUnXRdEQAd0spKqzHeQ99CE1sUCGSvQocx4mPHQSOyQx5+sxtxThVYXR2KI3syetE/jZSWSCYYrcMQ== +"@angular-devkit/build-angular@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-next.4.tgz#cbb149a452d5f8bbdcd068acf6aa51b148592744" + integrity sha512-rheXmttX2JNmmQ7RU7V06OyEy8plW/+vL57RwatH4xCr4tL1S9Iwehx5gvPqzdITsgSrejv419StgIJRdxlusw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0-next.0" - "@angular-devkit/build-webpack" "0.1500.0-next.0" - "@angular-devkit/core" "15.0.0-next.0" - "@babel/core" "7.19.0" - "@babel/generator" "7.19.0" + "@angular-devkit/architect" "0.1500.0-next.4" + "@angular-devkit/build-webpack" "0.1500.0-next.4" + "@angular-devkit/core" "15.0.0-next.4" + "@babel/core" "7.19.3" + "@babel/generator" "7.19.3" "@babel/helper-annotate-as-pure" "7.18.6" - "@babel/plugin-proposal-async-generator-functions" "7.19.0" + "@babel/plugin-proposal-async-generator-functions" "7.19.1" "@babel/plugin-transform-async-to-generator" "7.18.6" - "@babel/plugin-transform-runtime" "7.18.10" - "@babel/preset-env" "7.19.0" + "@babel/plugin-transform-runtime" "7.19.1" + "@babel/preset-env" "7.19.3" "@babel/runtime" "7.19.0" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0-next.0" + "@ngtools/webpack" "15.0.0-next.4" ansi-colors "4.1.3" + autoprefixer "10.4.12" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" cacache "16.1.3" + chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.15.7" + esbuild-wasm "0.15.10" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -67,44 +64,41 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.16" + postcss "8.4.17" postcss-import "15.0.0" postcss-loader "7.0.1" - postcss-preset-env "7.8.1" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.54.9" + sass "1.55.0" sass-loader "13.0.2" - semver "7.3.7" + semver "7.3.8" source-map-loader "4.0.0" source-map-support "0.5.21" - stylus "0.59.0" - stylus-loader "7.0.0" - terser "5.15.0" + terser "5.15.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.0" webpack "5.74.0" webpack-dev-middleware "5.3.3" - webpack-dev-server "4.11.0" + webpack-dev-server "4.11.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.7" + esbuild "0.15.10" -"@angular-devkit/build-webpack@0.1500.0-next.0": - version "0.1500.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-next.0.tgz#85e68ddbce5979d3bc577d1bbb29e1b5584787d4" - integrity sha512-R4uuPu2sptJGcgv/eTmUcHCqEbdhdAOAD18+/QdWW9g24HGtu3sAbSWN8uvJyiNAJ0jT0+PXc+iavOtjiDVUdA== +"@angular-devkit/build-webpack@0.1500.0-next.4": + version "0.1500.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-next.4.tgz#3148f7cc23a46b2e9a2155ee8c6d76e93d08ce16" + integrity sha512-PthvLjYxjyQ51pHFq42zggKjcc6HU8Pt7PKJA6pqLVHxY+I4taDfKOmVs+Bw43tCEypMs2UdCDrubU9368L7qw== dependencies: - "@angular-devkit/architect" "0.1500.0-next.0" + "@angular-devkit/architect" "0.1500.0-next.4" rxjs "6.6.7" -"@angular-devkit/core@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-next.0.tgz#fc8a78db96a21e105c1948ef65e5210edca223ea" - integrity sha512-QNLLgMKSGBNh5iy99F0lzUYBkERft2Qk5CQvYe07AWuQkvzIp+SYDfjugiSnBJbzK79Wja728KETtIz6X9bLaA== +"@angular-devkit/core@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-next.4.tgz#19af8b29478a9a7119e24b21ace7460e79911b2d" + integrity sha512-ei3cWpzhWHmLlSYIQIGpo9btvAopIaFETlbt5fnmOHBK3LcH7U9HUbNg3iNtSoEQm4bfyEzKpO38xreTwlbMIQ== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -127,21 +121,21 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1c1c375aff396f7f5eaa22d6d5bc112b255bd45a": - version "0.0.0-c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd" - uid "1c1c375aff396f7f5eaa22d6d5bc112b255bd45a" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1c1c375aff396f7f5eaa22d6d5bc112b255bd45a" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#45ba3918d1656d4e746300bdc4d5ab8b4b825c71": + version "0.0.0-2e999e1982762a32f68ba8afa02b8bfdac8495b8" + uid "45ba3918d1656d4e746300bdc4d5ab8b4b825c71" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45ba3918d1656d4e746300bdc4d5ab8b4b825c71" dependencies: - "@angular-devkit/build-angular" "15.0.0-next.0" + "@angular-devkit/build-angular" "15.0.0-next.4" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.5.4" - "@bazel/esbuild" "5.5.4" - "@bazel/protractor" "5.5.4" - "@bazel/runfiles" "5.5.4" - "@bazel/terser" "5.5.4" - "@bazel/typescript" "5.5.4" + "@bazel/concatjs" "5.7.0" + "@bazel/esbuild" "5.7.0" + "@bazel/protractor" "5.7.0" + "@bazel/runfiles" "5.7.0" + "@bazel/terser" "5.7.0" + "@bazel/typescript" "5.7.0" "@microsoft/api-extractor" "7.31.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -241,10 +235,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#5d7a73b39c1357c571dc1478caa495bc30195d6f": - version "0.0.0-c9b2ff083a50d0eac742da1e69e0cbdb98bf53dd" - uid "5d7a73b39c1357c571dc1478caa495bc30195d6f" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5d7a73b39c1357c571dc1478caa495bc30195d6f" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#7297d58b25df3e1ed4f01e00e4eaae00444411d8": + version "0.0.0-2e999e1982762a32f68ba8afa02b8bfdac8495b8" + uid "7297d58b25df3e1ed4f01e00e4eaae00444411d8" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#7297d58b25df3e1ed4f01e00e4eaae00444411d8" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" @@ -298,7 +292,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0", "@babel/compat-data@^7.19.3": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== @@ -329,27 +323,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" - integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.19.3", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" @@ -371,12 +344,12 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" - integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== +"@babel/generator@7.19.3", "@babel/generator@^7.18.9", "@babel/generator@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== dependencies: - "@babel/types" "^7.19.0" + "@babel/types" "^7.19.3" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -389,15 +362,6 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.18.9", "@babel/generator@^7.19.0", "@babel/generator@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" - integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== - dependencies: - "@babel/types" "^7.19.3" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -444,7 +408,7 @@ "@babel/helper-annotate-as-pure" "^7.18.6" regexpu-core "^5.1.0" -"@babel/helper-define-polyfill-provider@^0.3.2", "@babel/helper-define-polyfill-provider@^0.3.3": +"@babel/helper-define-polyfill-provider@^0.3.3": version "0.3.3" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== @@ -613,7 +577,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.0", "@babel/parser@^7.19.3": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== @@ -634,17 +598,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz#cf5740194f170467df20581712400487efc79ff1" - integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.19.0", "@babel/plugin-proposal-async-generator-functions@^7.19.1": +"@babel/plugin-proposal-async-generator-functions@7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== @@ -1053,7 +1007,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== @@ -1105,18 +1059,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-runtime@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz#37d14d1fa810a368fd635d4d1476c0154144a96f" - integrity sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz#a3df2d7312eea624c7889a2dcd37fd1dfd25b2c6" @@ -1180,18 +1122,18 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" - integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== +"@babel/preset-env@7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" + integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== dependencies: - "@babel/compat-data" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" + "@babel/compat-data" "^7.19.3" + "@babel/helper-compilation-targets" "^7.19.3" "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.0" + "@babel/plugin-proposal-async-generator-functions" "^7.19.1" "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-class-static-block" "^7.18.6" "@babel/plugin-proposal-dynamic-import" "^7.18.6" @@ -1239,7 +1181,7 @@ "@babel/plugin-transform-modules-commonjs" "^7.18.6" "@babel/plugin-transform-modules-systemjs" "^7.19.0" "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" "@babel/plugin-transform-new-target" "^7.18.6" "@babel/plugin-transform-object-super" "^7.18.6" "@babel/plugin-transform-parameters" "^7.18.8" @@ -1254,11 +1196,11 @@ "@babel/plugin-transform-unicode-escapes" "^7.18.10" "@babel/plugin-transform-unicode-regex" "^7.18.6" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - core-js-compat "^3.22.1" + "@babel/types" "^7.19.3" + 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" semver "^6.3.0" "@babel/preset-env@7.19.4": @@ -1420,15 +1362,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.5.4.tgz#8d307e50e88305d176b5ab83b106cbe7e9b922c9" - integrity sha512-C2EQM4HECsw7JKhPqeH+36hROExTxNgi25jItmVqF1ap2Z2F2sAdfDdBJTCCCiFLKv1+2TQLSej/wmoS4MvrSw== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.0.tgz#ee9e2369ceabca7fdba9ee1539ddcdf0fc57a283" @@ -1438,10 +1371,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.5.4.tgz#d08b3f8127d3efb1085dce2f7039969fcb61b113" - integrity sha512-C9R5hTgYmP/GU7yNzgOus6SaS7tyS5J5ptWruM3ERKaw5CIEPTi0hlBLmPpM9Wo8xIDNlF0BhGvM59T7bKs2iQ== +"@bazel/esbuild@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.0.tgz#8eb01e18994553f24e08df175fd43d0298bfc51d" + integrity sha512-5QQVa9gZ7sOVA7b9HdSXLvDuZ8crqubGJkEsNUjSh1pSzHuyMIqKYbYaEhCFrhfk4M/XoTy/BkIER0bJSZYjMw== "@bazel/jasmine@5.7.0": version "5.7.0" @@ -1451,35 +1384,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.5.4.tgz#f4acd761aa94cecb5799e4eb933570796d9c6773" - integrity sha512-U0j43bxLXSXl0FFyCxT6hGPAfMg9fN9gSkRQnZZiEX2cEoqeJOBP4/6A6qYcl9esAQ4zIiNEzHhmDLpAWImVsA== +"@bazel/protractor@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.0.tgz#b367a5c24bad3dbfe833ab4747013cb741602130" + integrity sha512-I5N9SFf5xY8XQyIiBRGKAsTn284+pRVWqdrtICk8KehPjcRjEX/sB78Tsw02XB3ZmMw7pIrofu2HPXlGftzQIg== -"@bazel/runfiles@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.5.4.tgz#20ce1395062c947dfa083a2ec79c5460e8b013ab" - integrity sha512-LMw+i0VtI//+7lNNR0cKs3UgQlGprDJmh8QUu+2io7++MWt96Mqww08QOEvnuyuGpTEEgfU4EE14n4jSSZl2Aw== +"@bazel/runfiles@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.0.tgz#e0ea75267808f78d0dedaff5e772e6a088250d8f" + integrity sha512-BfmbGuMpqkBNtAmllCrl70YAHo6OrCtcGzakV6KMBUBXzeGl22qRWHFhDvoWgeMKTjhbcywMooPg2Udq9MoVfQ== -"@bazel/terser@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.5.4.tgz#4304ca003a6606a22d3d2c0e28e4aa982a4ceb6b" - integrity sha512-M+UncSFXmPo+c2uqFfXUrfpsx0mSb1PaMYWaXi1U484SIbAr135QLRShuPmuQGaAWr6Ec3VrFTJKbDHHgTFpwQ== +"@bazel/terser@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.0.tgz#0b47c950fd1f7355ba98eb013683d399f1f5f106" + integrity sha512-oCsRtQjkCXJlisXXuM5bQjrvS12Y5HUWPAEOP1E3PjobTsMf9wxUpvrTMYi+vDt9F+6qpU25ooiPegY6SFV5qA== -"@bazel/typescript@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.5.4.tgz#0e1ed2b930a98e88e471235fb90acd82121e0520" - integrity sha512-UyLcon6kiUMcr1PE/Sdyk9D9QEE5WaHPWI6cmaC8kQH0D64fWUWl9BiVwuox9N3DklfaNn9hlK/7SJ6p00gPQw== +"@bazel/typescript@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.0.tgz#3f888c603bf5f159dfb4c0c38584fb31d248d5a2" + integrity sha512-5c06vi2rQqd75GieqYGsNVon3tnkvbjMlVLJuwJ5/VtC9uOXKlCwrqxV8tbx789PTTtACNYzwKJTVW++58tgDA== dependencies: - "@bazel/worker" "5.5.4" + "@bazel/worker" "5.7.0" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.5.4": - version "5.5.4" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.5.4.tgz#2949361a44ac20eb6571525bdbf2ecd099cc1394" - integrity sha512-d6jOWaR44c1WEDpgGdB0qJyaacwm7HF5yrM+15iirqxnSi2Uuk9FBGJ+O3TniSKZsRzgaA/4if2tkRikFnO9Ng== +"@bazel/worker@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.0.tgz#d121261ee1833c5f5858f818f0e4d9a2d8e2c3c5" + integrity sha512-VqTG+0gsgXM07q+HiQcSAggNnAzjLei8lzlJQ+mey12KGI4AbNJ1vxlk2pnw9BZdckfe2rRzwkF44B5SNqIgSQ== dependencies: google-protobuf "^3.6.1" @@ -1500,112 +1433,6 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@csstools/postcss-cascade-layers@^1.0.6": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" - integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-color-function@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-font-format-keywords@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" - integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" - integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-ic-unit@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" - integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-is-pseudo-class@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" - integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-nested-calc@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" - integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" - integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" - integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" - integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-stepped-value-functions@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" - integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-text-decoration-shorthand@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" - integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" - integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-unset-value@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" - integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== - -"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" - integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== - "@discoveryjs/json-ext@0.5.7": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" @@ -1621,11 +1448,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7" integrity sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg== -"@esbuild/linux-loong64@0.15.7": - version "0.15.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" - integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== - "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -1802,10 +1624,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0-next.0": - version "15.0.0-next.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.0.tgz#04dedb7355fd788a0c5f8a89829c455b6ac9f298" - integrity sha512-7Ut/3QzzpvdGNmGhEmZx4i/gXjcRXx+SflJ9TH0KWxsem6R7AFBYcaqNajukUnPaNNZYdOilUhPTY/ebMm74Lg== +"@ngtools/webpack@15.0.0-next.4": + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.4.tgz#dcd325d4aed87d7f0ab0bcbeeb600386e4289810" + integrity sha512-XDcl42OGXy2ap3+yl3gTnaFV/A5Tmt2mqRvT1lE9DmwLIOII7+vU4/LzpKfdNlHpsSEaiXof6GBMsu5CVfynrA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3317,7 +3139,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.12, autoprefixer@^10.4.12, autoprefixer@^10.4.8: +autoprefixer@10.4.12, autoprefixer@^10.4.12: version "10.4.12" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== @@ -3374,7 +3196,7 @@ babel-plugin-istanbul@6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-polyfill-corejs2@^0.3.2, babel-plugin-polyfill-corejs2@^0.3.3: +babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== @@ -3383,14 +3205,6 @@ babel-plugin-polyfill-corejs2@^0.3.2, babel-plugin-polyfill-corejs2@^0.3.3: "@babel/helper-define-polyfill-provider" "^0.3.3" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" - integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - core-js-compat "^3.21.0" - babel-plugin-polyfill-corejs3@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" @@ -3399,7 +3213,7 @@ babel-plugin-polyfill-corejs3@^0.6.0: "@babel/helper-define-polyfill-provider" "^0.3.3" core-js-compat "^3.25.1" -babel-plugin-polyfill-regenerator@^0.4.0, babel-plugin-polyfill-regenerator@^0.4.1: +babel-plugin-polyfill-regenerator@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== @@ -4169,7 +3983,7 @@ copy-webpack-plugin@11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.25.1: +core-js-compat@^3.25.1: version "3.25.5" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9" integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== @@ -4245,20 +4059,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-blank-pseudo@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" - integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== - dependencies: - postcss-selector-parser "^6.0.9" - -css-has-pseudo@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== - dependencies: - postcss-selector-parser "^6.0.9" - css-loader@6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" @@ -4273,11 +4073,6 @@ css-loader@6.7.1: postcss-value-parser "^4.2.0" semver "^7.3.5" -css-prefers-color-scheme@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" - integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== - css-select@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" @@ -4294,11 +4089,6 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -cssdb@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617" - integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw== - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -4894,211 +4684,106 @@ esbuild-android-64@0.15.10: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz#8a59a84acbf2eca96996cadc35642cf055c494f0" integrity sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA== -esbuild-android-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" - integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== - esbuild-android-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz#f453851dc1d8c5409a38cf7613a33852faf4915d" integrity sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg== -esbuild-android-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" - integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== - esbuild-darwin-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz#778bd29c8186ff47b176c8af58c08cf0fb8e6b86" integrity sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA== -esbuild-darwin-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" - integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== - esbuild-darwin-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz#b30bbefb46dc3c5d4708b0435e52f6456578d6df" integrity sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ== -esbuild-darwin-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" - integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== - esbuild-freebsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz#ab301c5f6ded5110dbdd611140bef1a7c2e99236" integrity sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w== -esbuild-freebsd-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" - integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== - esbuild-freebsd-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz#a5b09b867a6ff49110f52343b6f12265db63d43f" integrity sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg== -esbuild-freebsd-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" - integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== - esbuild-linux-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz#5282fe9915641caf9c8070e4ba2c3e16d358f837" integrity sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w== -esbuild-linux-32@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" - integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== - esbuild-linux-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz#f3726e85a00149580cb19f8abfabcbb96f5d52bb" integrity sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA== -esbuild-linux-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" - integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== - esbuild-linux-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz#2f0056e9d5286edb0185b56655caa8c574d8dbe7" integrity sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A== -esbuild-linux-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" - integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== - esbuild-linux-arm@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz#40a9270da3c8ffa32cf72e24a79883e323dff08d" integrity sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A== -esbuild-linux-arm@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" - integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== - esbuild-linux-mips64le@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz#90ce1c4ee0202edb4ac69807dea77f7e5804abc4" integrity sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q== -esbuild-linux-mips64le@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" - integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== - esbuild-linux-ppc64le@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz#782837ae7bd5b279178106c9dd801755a21fabdf" integrity sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ== -esbuild-linux-ppc64le@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" - integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== - esbuild-linux-riscv64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz#d7420d806ece5174f24f4634303146f915ab4207" integrity sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q== -esbuild-linux-riscv64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" - integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== - esbuild-linux-s390x@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz#21fdf0cb3494a7fb520a71934e4dffce67fe47be" integrity sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA== -esbuild-linux-s390x@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" - integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== - esbuild-netbsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz#6c06b3107e3df53de381e6299184d4597db0440f" integrity sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw== -esbuild-netbsd-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" - integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== - esbuild-openbsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz#4daef5f5d8e74bbda53b65160029445d582570cf" integrity sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ== -esbuild-openbsd-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" - integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== - esbuild-sunos-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz#5fe7bef267a02f322fd249a8214d0274937388a7" integrity sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg== -esbuild-sunos-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" - integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== - esbuild-wasm@0.15.10, esbuild-wasm@^0.15.9: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== -esbuild-wasm@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.7.tgz#e635831f0b3fb3bcce53bccfde43c6d16db4e114" - integrity sha512-CBtlw6nnCYuyD83yjZCi778nTZXJzvzomwaxwhkNMcOGDiD56/5uKQZI8FjxAH3vAV09hRb17oN3gmp+bKnguw== - esbuild-windows-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz#48e3dde25ab0135579a288b30ab6ddef6d1f0b28" integrity sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg== -esbuild-windows-32@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" - integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== - esbuild-windows-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz#387a9515bef3fee502d277a5d0a2db49a4ecda05" integrity sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA== -esbuild-windows-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" - integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== - esbuild-windows-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz#5a6fcf2fa49e895949bf5495cf088ab1b43ae879" integrity sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw== -esbuild-windows-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" - integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== - esbuild@0.15.10, esbuild@^0.15.9: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" @@ -5127,33 +4812,6 @@ esbuild@0.15.10, esbuild@^0.15.9: esbuild-windows-64 "0.15.10" esbuild-windows-arm64 "0.15.10" -esbuild@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" - integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== - optionalDependencies: - "@esbuild/linux-loong64" "0.15.7" - esbuild-android-64 "0.15.7" - esbuild-android-arm64 "0.15.7" - esbuild-darwin-64 "0.15.7" - esbuild-darwin-arm64 "0.15.7" - esbuild-freebsd-64 "0.15.7" - esbuild-freebsd-arm64 "0.15.7" - esbuild-linux-32 "0.15.7" - esbuild-linux-64 "0.15.7" - esbuild-linux-arm "0.15.7" - esbuild-linux-arm64 "0.15.7" - esbuild-linux-mips64le "0.15.7" - esbuild-linux-ppc64le "0.15.7" - esbuild-linux-riscv64 "0.15.7" - esbuild-linux-s390x "0.15.7" - esbuild-netbsd-64 "0.15.7" - esbuild-openbsd-64 "0.15.7" - esbuild-sunos-64 "0.15.7" - esbuild-windows-32 "0.15.7" - esbuild-windows-64 "0.15.7" - esbuild-windows-arm64 "0.15.7" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -8795,115 +8453,6 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-attribute-case-insensitive@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" - integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" - integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" - integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-media@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.8: - version "12.1.9" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz#0883429a7ef99f1ba239d1fea29ce84906daa8bd" - integrity sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-dir-pseudo-class@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" - integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-double-position-gradients@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" - integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-env-function@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" - integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-focus-visible@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" - integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-focus-within@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" - integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-font-variant@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== - -postcss-image-set-function@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" - integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== - dependencies: - postcss-value-parser "^4.2.0" - postcss-import@15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.0.0.tgz#0b66c25fdd9c0d19576e63c803cf39e4bad08822" @@ -8913,19 +8462,6 @@ postcss-import@15.0.0: read-cache "^1.0.0" resolve "^1.1.7" -postcss-initial@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== - -postcss-lab-function@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - postcss-loader@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.1.tgz#4c883cc0a1b2bfe2074377b7a74c1cd805684395" @@ -8935,16 +8471,6 @@ postcss-loader@7.0.1: klona "^2.0.5" semver "^7.3.7" -postcss-logical@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== - -postcss-media-minmax@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== - postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -8973,113 +8499,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^10.1.10: - version "10.2.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-opacity-percentage@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" - integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== - -postcss-overflow-shorthand@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.1.tgz#2bfe935736727ab601a5c718bf24fc9f858eceb0" - integrity sha512-8884CHxQaoN1i4iEK+JvzOe8emODb5R4p/0dw4yEdo7QM4RdUk2sBx0fnzFyJt8BLfZSCGeVkKZ4HC564waBpQ== - dependencies: - "@csstools/postcss-cascade-layers" "^1.0.6" - "@csstools/postcss-color-function" "^1.1.1" - "@csstools/postcss-font-format-keywords" "^1.0.1" - "@csstools/postcss-hwb-function" "^1.0.2" - "@csstools/postcss-ic-unit" "^1.0.1" - "@csstools/postcss-is-pseudo-class" "^2.0.7" - "@csstools/postcss-nested-calc" "^1.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.1" - "@csstools/postcss-oklab-function" "^1.1.1" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.1" - "@csstools/postcss-text-decoration-shorthand" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.2" - "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.8" - browserslist "^4.21.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^7.0.1" - postcss-attribute-case-insensitive "^5.0.2" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.4" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.1" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.8" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.5" - postcss-double-position-gradients "^3.1.2" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.5" - postcss-image-set-function "^4.0.7" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.1.10" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.4" - postcss-page-break "^3.0.4" - postcss-place "^7.0.5" - postcss-pseudo-class-any-link "^7.1.6" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" - integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" - integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.10" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== @@ -9102,15 +8522,6 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.16: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - postcss@8.4.17, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: version "8.4.17" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" @@ -9881,15 +9292,6 @@ sass-loader@13.1.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.54.9: - version "1.54.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.54.9.tgz#b05f14ed572869218d1a76961de60cd647221762" - integrity sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.55.0, sass@^1.55.0: version "1.55.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" @@ -9911,7 +9313,7 @@ saucelabs@^1.5.0: dependencies: https-proxy-agent "^2.2.1" -sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -9975,7 +9377,7 @@ selenium-webdriver@4.4.0: tmp "^0.2.1" ws ">=8.7.0" -selfsigned@^2.0.1, selfsigned@^2.1.1: +selfsigned@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== @@ -10585,26 +9987,6 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -stylus-loader@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.0.0.tgz#31fb929cd3a7c447a07a0b0148b48480eb2c3f4a" - integrity sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A== - dependencies: - fast-glob "^3.2.11" - klona "^2.0.5" - normalize-path "^3.0.0" - -stylus@0.59.0: - version "0.59.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" - integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== - dependencies: - "@adobe/css-tools" "^4.0.1" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.2.4" - source-map "^0.7.3" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10700,16 +10082,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" - integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.15.1, terser@^5.14.1: version "5.15.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" @@ -11386,41 +10758,6 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.11.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz#290ee594765cd8260adfe83b2d18115ea04484e7" - integrity sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.0.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - webpack-dev-server@4.11.1: version "4.11.1" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" From 6c3f281d927c9ae2d4ec76ff9f920752e2cb73d1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 11 Oct 2022 14:46:30 +0000 Subject: [PATCH 1003/1388] fix(@angular-devkit/build-angular): show warning when using TypeScript target older then ES2022 in esbuild builder This commits adds a warning similar to that in the Webpack builder. --- .../browser-esbuild/compiler-plugin.ts | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 2604746fb0ad..7a949c5084cb 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -169,6 +169,8 @@ export function createCompilerPlugin( name: 'angular-compiler', // eslint-disable-next-line max-lines-per-function async setup(build: PluginBuild): Promise { + let setupWarnings: PartialMessage[] | undefined; + // This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM. // Once TypeScript provides support for retaining dynamic imports this workaround can be dropped. const compilerCli = await loadEsmModule( @@ -223,7 +225,19 @@ export function createCompilerPlugin( // which breaks the deprecated `@Effects` NGRX decorator and potentially other existing code as well. compilerOptions.target = ts.ScriptTarget.ES2022; compilerOptions.useDefineForClassFields ??= false; - // TODO: show warning about this override when we have access to the logger. + + (setupWarnings ??= []).push({ + text: + 'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' + + '"false" respectively by the Angular CLI.', + location: { file: pluginOptions.tsconfig }, + notes: [ + { + text: `To control ECMA version and features use the Browerslist configuration. ' + + 'For more information, see https://github.com/browserslist/browserslist#queries'`, + }, + ], + }); } // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files @@ -237,7 +251,12 @@ export function createCompilerPlugin( const babelDataCache = new Map(); build.onStart(async () => { - const result: OnStartResult = {}; + const result: OnStartResult = { + warnings: setupWarnings, + }; + + // Reset the setup warnings so that they are only shown during the first build. + setupWarnings = undefined; // Reset debug performance tracking resetCumulativeDurations(); From 639a3071c3630c1ccdf7e3c015e81e9423ab2678 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 5 Oct 2022 08:40:35 +0000 Subject: [PATCH 1004/1388] refactor: migrate analytics collector to use GA4 This change updates the analytics collector collector to use GA4 instead of UA. The motivation behind this change is that UA will stop collecting data in 2023. BREAKING CHANGE: `analyticsSharing` option in the global angular configuration has been removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data. If this option is used, it can be removed using `ng config --global cli.analyticsSharing undefined`. --- docs/design/analytics.md | 127 +++--- goldens/circular-deps/packages.json | 8 + .../cli/lib/config/workspace-schema.json | 32 -- .../cli/src/analytics/analytics-collector.ts | 392 ++++++------------ .../cli/src/analytics/analytics-parameters.ts | 97 +++++ .../angular/cli/src/analytics/analytics.ts | 223 +++------- .../architect-base-command-module.ts | 22 +- .../cli/src/command-builder/command-module.ts | 104 ++--- .../schematics-command-module.ts | 24 +- .../command-builder/utilities/json-schema.ts | 4 +- packages/angular/cli/src/commands/add/cli.ts | 14 +- .../cli/src/commands/analytics/info/cli.ts | 2 +- .../src/commands/analytics/settings/cli.ts | 6 +- .../cli/src/utilities/environment-options.ts | 1 - .../src/builders/browser-esbuild/schema.json | 3 +- .../src/builders/browser/schema.json | 3 +- .../src/builders/server/schema.json | 2 +- .../angular/application/schema.json | 20 +- packages/schematics/angular/class/schema.json | 3 +- .../schematics/angular/component/schema.json | 20 +- .../schematics/angular/directive/schema.json | 11 +- packages/schematics/angular/guard/schema.json | 3 +- .../angular/interceptor/schema.json | 3 +- .../schematics/angular/module/schema.json | 2 +- .../schematics/angular/ng-new/schema.json | 20 +- packages/schematics/angular/pipe/schema.json | 11 +- .../schematics/angular/resolver/schema.json | 3 +- .../schematics/angular/service/schema.json | 3 +- .../schematics/angular/workspace/schema.json | 6 +- scripts/templates/user-analytics-table.ejs | 8 +- scripts/validate-user-analytics.ts | 172 ++++---- .../e2e/tests/commands/config/config-set.ts | 13 - 32 files changed, 555 insertions(+), 807 deletions(-) create mode 100644 packages/angular/cli/src/analytics/analytics-parameters.ts diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 251c17af98a7..de136fd071c6 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -4,7 +4,7 @@ This document list exactly what is gathered and how. Any change to analytics should most probably include a change to this document. -# Pageview +## Pageview Each command creates a pageview with the path `/command/${commandName}/${subcommandName}`. IE. `ng generate component my-component --dryRun` would create a page view with the path @@ -16,7 +16,7 @@ Project names and target names will be removed. The command `ng run some-project:lint:some-configuration` will create a page view with the path `/command/run`. -# Dimensions +## Dimensions and Metrics Google Analytics Custom Dimensions are used to track system values and flag values. These dimensions are aggregated automatically on the backend. @@ -25,94 +25,83 @@ One dimension per flag, and although technically there can be an overlap between simplicity it should remain unique across all CLI commands. The dimension is the value of the `x-user-analytics` field in the `schema.json` files. -To create a new dimension (tracking a new flag): - -1. Create the dimension on analytics.google.com first. Dimensions are not tracked if they aren't - defined on GA. +### Adding dimension or metic. +1. Create the dimension or metric in (https://analytics.google.com/)[Google Analytics] first. These are not tracked if they aren't + defined in Google Analytics. 1. Use the ID of the dimension as the `x-user-analytics` value in the `schema.json` file. -1. Add a new row to the table below in the same PR as the one adding the dimension to the code. -1. New dimension PRs need to be approved by the tooling and DevRel leads. - **This is not negotiable.** +1. New dimension and metrics PRs need to be approved by the tooling lead and require a new (http://go/launch)[Launch]. + +### Deleting a dimension or metic. +1. Archive the dimension and metric in (https://analytics.google.com/)[Google Analytics]. + **DO NOT ADD `x-user-analytics` FOR VALUES THAT ARE USER IDENTIFIABLE (PII), FOR EXAMPLE A PROJECT NAME TO BUILD OR A MODULE NAME.** -Note: There's a limit of 20 custom dimensions. +### Limits +| Item | Standard property limits | +|-------------------------------- |-------------------------- | +| Event-scoped custom dimensions | 50 | +| User-scoped custom dimensions | 25 | +| All custom metrics | 50 | -### List Of All Dimensions +### List Of User Custom Dimensions + + +| Name | Parameter | Type | +|:---:|:---|:---| +| Command | `ep.ng_command` | `string` | +| SchematicCollectionName | `ep.ng_schematic_collection_name` | `string` | +| SchematicName | `ep.ng_schematic_name` | `string` | +| Standalone | `ep.ng_standalone` | `string` | +| Style | `ep.ng_style` | `string` | +| Routing | `ep.ng_routing` | `string` | +| InlineTemplate | `ep.ng_inline_template` | `string` | +| InlineStyle | `ep.ng_inline_style` | `string` | +| BuilderTarget | `ep.ng_builder_target` | `string` | +| Aot | `ep.ng_aot` | `string` | +| Optimization | `ep.ng_optimization` | `string` | + + +### List Of Event Custom Dimensions -| Id | Flag | Type | +| Name | Parameter | Type | |:---:|:---|:---| -| 1 | `CPU Count` | `number` | -| 2 | `CPU Speed` | `number` | -| 3 | `RAM (In GB)` | `number` | -| 4 | `Node Version` | `number` | -| 5 | `Flag: --style` | `string` | -| 6 | `--collection` | `string` | -| 7 | `Flag: --strict` | `boolean` | -| 8 | `Angular CLI Major Version` | `string` | -| 9 | `Flag: --inline-style` | `boolean` | -| 10 | `Flag: --inline-template` | `boolean` | -| 11 | `Flag: --view-encapsulation` | `string` | -| 12 | `Flag: --skip-tests` | `boolean` | -| 13 | `Flag: --aot` | `boolean` | -| 14 | `Flag: --minimal` | `boolean` | -| 15 | `Flag: --standalone` | `boolean` | -| 16 | `Flag: --optimization` | `boolean` | -| 17 | `Flag: --routing` | `boolean` | -| 18 | `Flag: --skip-import` | `boolean` | -| 19 | `Flag: --export` | `boolean` | -| 20 | `Build Errors (comma separated)` | `string` | +| Command | `ep.ng_command` | `string` | +| SchematicCollectionName | `ep.ng_schematic_collection_name` | `string` | +| SchematicName | `ep.ng_schematic_name` | `string` | +| Standalone | `ep.ng_standalone` | `string` | +| Style | `ep.ng_style` | `string` | +| Routing | `ep.ng_routing` | `string` | +| InlineTemplate | `ep.ng_inline_template` | `string` | +| InlineStyle | `ep.ng_inline_style` | `string` | +| BuilderTarget | `ep.ng_builder_target` | `string` | +| Aot | `ep.ng_aot` | `string` | +| Optimization | `ep.ng_optimization` | `string` | -# Metrics - -### List of All Metrics +### List Of Event Custom Metrics -| Id | Flag | Type | +| Name | Parameter | Type | |:---:|:---|:---| -| 1 | `NgComponentCount` | `number` | -| 2 | `UNUSED_2` | `none` | -| 3 | `UNUSED_3` | `none` | -| 4 | `UNUSED_4` | `none` | -| 5 | `Build Time` | `number` | -| 6 | `NgOnInit Count` | `number` | -| 7 | `Initial Chunk Size` | `number` | -| 8 | `Total Chunk Count` | `number` | -| 9 | `Total Chunk Size` | `number` | -| 10 | `Lazy Chunk Count` | `number` | -| 11 | `Lazy Chunk Size` | `number` | -| 12 | `Asset Count` | `number` | -| 13 | `Asset Size` | `number` | -| 14 | ` Polyfill Size` | `number` | -| 15 | ` Css Size` | `number` | +| AllChunksCount | `epn.ng_all_chunks_count` | `number` | +| LazyChunksCount | `epn.ng_lazy_chunks_count` | `number` | +| InitialChunksCount | `epn.ng_initial_chunks_count` | `number` | +| ChangedChunksCount | `epn.ng_changed_chunks_count` | `number` | +| DurationInMs | `epn.ng_duration_ms` | `number` | -# Operating System and Node Version - -A User Agent string is built to "fool" Google Analytics into reading the Operating System and -version fields from it. The base dimensions are used for those. - -Node version is our App ID, but a dimension is also used to get the numeric MAJOR.MINOR of node. - -# Debugging - -Using `DEBUG=ng:analytics` will report additional information regarding initialization and -decisions made during the usage analytics process, e.g. if the user has analytics disabled. - -Using `DEBUG=ng:analytics:command` will show the decisions made by the command runner. - -Using `DEBUG=ng:analytics:log` will show what we actually send to GA. +## Debugging -See [the `debug` NPM library](https://www.npmjs.com/package/debug) for more information. +Using `NG_DEBUG=1` will enable Google Analytics debug mode, To view the debug events, in Google Analytics go to `Configure > DebugView`. -# Disabling Usage Analytics +## Disabling Usage Analytics There are 2 ways of disabling usage analytics: -1. using `ng analytics off --global` (or changing the global configuration file yourself). This is the same +1. using `ng analytics disable --global` (or changing the global configuration file yourself). This is the same as answering "No" to the prompt. 1. There is an `NG_CLI_ANALYTICS` environment variable that overrides the global configuration. That flag is a string that represents the User ID. If the string `"false"` is used it will diff --git a/goldens/circular-deps/packages.json b/goldens/circular-deps/packages.json index f47d35c030b4..7cfa45ae1df0 100644 --- a/goldens/circular-deps/packages.json +++ b/goldens/circular-deps/packages.json @@ -2,5 +2,13 @@ [ "packages/angular_devkit/build_angular/src/utils/bundle-calculator.ts", "packages/angular_devkit/build_angular/src/webpack/utils/stats.ts" + ], + [ + "packages/angular/cli/src/analytics/analytics-collector.ts", + "packages/angular/cli/src/command-builder/command-module.ts" + ], + [ + "packages/angular/cli/src/analytics/analytics.ts", + "packages/angular/cli/src/command-builder/command-module.ts" ] ] diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index 22ca397a958b..433fbea32501 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -74,22 +74,6 @@ "type": ["boolean", "string"], "description": "Share pseudonymous usage data with the Angular Team at Google." }, - "analyticsSharing": { - "type": "object", - "properties": { - "tracking": { - "description": "Analytics sharing info tracking ID.", - "type": "string", - "pattern": "^(GA|UA)?-\\d+-\\d+$" - }, - "uuid": { - "description": "Analytics sharing info universally unique identifier.", - "type": "string", - "format": "uuid" - } - }, - "additionalProperties": false - }, "cache": { "description": "Control disk cache.", "type": "object", @@ -149,22 +133,6 @@ "type": ["boolean", "string"], "description": "Share pseudonymous usage data with the Angular Team at Google." }, - "analyticsSharing": { - "type": "object", - "properties": { - "tracking": { - "description": "Analytics sharing info tracking ID.", - "type": "string", - "pattern": "^(GA|UA)?-\\d+-\\d+$" - }, - "uuid": { - "description": "Analytics sharing info universally unique identifier.", - "type": "string", - "format": "uuid" - } - }, - "additionalProperties": false - }, "completion": { "type": "object", "description": "Angular CLI completion settings.", diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index c8f932f51336..2d6a98b33775 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -6,330 +6,174 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics } from '@angular-devkit/core'; -import { execSync } from 'child_process'; -import debug from 'debug'; +import { randomUUID } from 'crypto'; import * as https from 'https'; import * as os from 'os'; import * as querystring from 'querystring'; +import type { CommandContext } from '../command-builder/command-module'; +import { ngDebug } from '../utilities/environment-options'; +import { assertIsError } from '../utilities/error'; import { VERSION } from '../utilities/version'; +import { + EventCustomDimension, + EventCustomMetric, + PrimitiveTypes, + RequestParameter, + UserCustomDimension, +} from './analytics-parameters'; + +const TRACKING_ID_PROD = 'G-VETNJBW8L4'; +const TRACKING_ID_STAGING = 'G-TBMPRL1BTM'; + +export class AnalyticsCollector { + private trackingEventsQueue: Record[] | undefined; + private readonly requestParameterStringified: string; + private readonly userParameters: Record; + + constructor(private context: CommandContext, userId: string) { + const requestParameters: Partial> = { + [RequestParameter.ProtocolVersion]: 2, + [RequestParameter.ClientId]: userId, + [RequestParameter.TrackingId]: + /^\d+\.\d+\.\d+$/.test(VERSION.full) && VERSION.full !== '0.0.0' + ? TRACKING_ID_PROD + : TRACKING_ID_STAGING, + + // Built-in user properties + [RequestParameter.SessionId]: randomUUID(), + [RequestParameter.UserAgentArchitecture]: os.arch(), + [RequestParameter.UserAgentPlatform]: os.platform(), + [RequestParameter.UserAgentPlatformVersion]: os.version(), + + // Set undefined to disable debug view. + [RequestParameter.DebugView]: ngDebug ? 1 : undefined, + }; -interface BaseParameters extends analytics.CustomDimensionsAndMetricsOptions { - [key: string]: string | number | boolean | undefined | (string | number | boolean | undefined)[]; -} - -interface ScreenviewParameters extends BaseParameters { - /** Screen Name */ - cd?: string; - /** Application Name */ - an?: string; - /** Application Version */ - av?: string; - /** Application ID */ - aid?: string; - /** Application Installer ID */ - aiid?: string; -} - -interface TimingParameters extends BaseParameters { - /** User timing category */ - utc?: string; - /** User timing variable name */ - utv?: string; - /** User timing time */ - utt?: string | number; - /** User timing label */ - utl?: string; -} - -interface PageviewParameters extends BaseParameters { - /** - * Document Path - * The path portion of the page URL. Should begin with '/'. - */ - dp?: string; - /** Document Host Name */ - dh?: string; - /** Document Title */ - dt?: string; - /** - * Document location URL - * Use this parameter to send the full URL (document location) of the page on which content resides. - */ - dl?: string; -} - -interface EventParameters extends BaseParameters { - /** Event Category */ - ec: string; - /** Event Action */ - ea: string; - /** Event Label */ - el?: string; - /** - * Event Value - * Specifies the event value. Values must be non-negative. - */ - ev?: string | number; - /** Page Path */ - p?: string; - /** Page */ - dp?: string; -} - -/** - * See: https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide - */ -export class AnalyticsCollector implements analytics.Analytics { - private trackingEventsQueue: Record[] = []; - private readonly parameters: Record = {}; - private readonly analyticsLogDebug = debug('ng:analytics:log'); - - constructor(trackingId: string, userId: string) { - // API Version - this.parameters['v'] = '1'; - // User ID - this.parameters['cid'] = userId; - // Tracking - this.parameters['tid'] = trackingId; - - this.parameters['ds'] = 'cli'; - this.parameters['ua'] = _buildUserAgentString(); - this.parameters['ul'] = _getLanguage(); - - // @angular/cli with version. - this.parameters['an'] = '@angular/cli'; - this.parameters['av'] = VERSION.full; + this.requestParameterStringified = querystring.stringify(requestParameters); + + // Remove the `v` at the beginning. + const nodeVersion = process.version.substring(1); + const packageManagerVersion = context.packageManager.version; + + this.userParameters = { + // While architecture is being collect by GA as UserAgentArchitecture. + // It doesn't look like there is a way to query this. Therefore we collect this as a custom user dimension too. + [UserCustomDimension.OsArchitecture]: os.arch(), + [UserCustomDimension.NodeVersion]: nodeVersion, + [UserCustomDimension.NodeMajorVersion]: +nodeVersion.split('.', 1)[0], + [UserCustomDimension.PackageManager]: context.packageManager.name, + [UserCustomDimension.PackageManagerVersion]: packageManagerVersion, + [UserCustomDimension.PackageManagerMajorVersion]: packageManagerVersion + ? +packageManagerVersion.split('.', 1)[0] + : undefined, + [UserCustomDimension.AngularCLIVersion]: VERSION.full, + [UserCustomDimension.AngularCLIMajorVersion]: VERSION.major, + }; + } - // We use the application ID for the Node version. This should be "node v12.10.0". - const nodeVersion = `node ${process.version}`; - this.parameters['aid'] = nodeVersion; + reportRebuildRunEvent( + parameters: Partial< + Record + >, + ): void { + this.event('run_rebuild', parameters); + } - // Custom dimentions - // We set custom metrics for values we care about. - this.parameters['cd' + analytics.NgCliAnalyticsDimensions.CpuCount] = os.cpus().length; - // Get the first CPU's speed. It's very rare to have multiple CPUs of different speed (in most - // non-ARM configurations anyway), so that's all we care about. - this.parameters['cd' + analytics.NgCliAnalyticsDimensions.CpuSpeed] = Math.floor( - os.cpus()[0].speed, - ); - this.parameters['cd' + analytics.NgCliAnalyticsDimensions.RamInGigabytes] = Math.round( - os.totalmem() / (1024 * 1024 * 1024), - ); - this.parameters['cd' + analytics.NgCliAnalyticsDimensions.NodeVersion] = nodeVersion; + reportBuildRunEvent( + parameters: Partial< + Record + >, + ): void { + this.event('run_build', parameters); + } - this.parameters['cd' + analytics.NgCliAnalyticsDimensions.AngularCLIMajorVersion] = - VERSION.major; + reportArchitectRunEvent(parameters: Partial>): void { + this.event('run_architect', parameters); } - event(ec: string, ea: string, options: analytics.EventOptions = {}): void { - const { label: el, value: ev, metrics, dimensions } = options; - this.addToQueue('event', { ec, ea, el, ev, metrics, dimensions }); + reportSchematicRunEvent(parameters: Partial>): void { + this.event('run_schematic', parameters); } - pageview(dp: string, options: analytics.PageviewOptions = {}): void { - const { hostname: dh, title: dt, metrics, dimensions } = options; - this.addToQueue('pageview', { dp, dh, dt, metrics, dimensions }); + reportCommandRunEvent(command: string): void { + this.event('run_command', { [EventCustomDimension.Command]: command }); } - timing( - utc: string, - utv: string, - utt: string | number, - options: analytics.TimingOptions = {}, - ): void { - const { label: utl, metrics, dimensions } = options; - this.addToQueue('timing', { utc, utv, utt, utl, metrics, dimensions }); + private event(eventName: string, parameters?: Record): void { + this.trackingEventsQueue ??= []; + this.trackingEventsQueue.push({ + ...this.userParameters, + ...parameters, + 'en': eventName, + }); } - screenview(cd: string, an: string, options: analytics.ScreenviewOptions = {}): void { - const { appVersion: av, appId: aid, appInstallerId: aiid, metrics, dimensions } = options; - this.addToQueue('screenview', { cd, an, av, aid, aiid, metrics, dimensions }); + /** + * Flush on an interval (if the event loop is waiting). + * + * @returns a method that when called will terminate the periodic + * flush and call flush one last time. + */ + periodFlush(): () => Promise { + let analyticsFlushPromise = Promise.resolve(); + const analyticsFlushInterval = setInterval(() => { + if (this.trackingEventsQueue?.length) { + analyticsFlushPromise = analyticsFlushPromise.then(() => this.flush()); + } + }, 4000); + + return () => { + clearInterval(analyticsFlushInterval); + + // Flush one last time. + return analyticsFlushPromise.then(() => this.flush()); + }; } async flush(): Promise { - const pending = this.trackingEventsQueue.length; - this.analyticsLogDebug(`flush queue size: ${pending}`); + const pendingTrackingEvents = this.trackingEventsQueue; + this.context.logger.debug(`Analytics flush size. ${pendingTrackingEvents?.length}.`); - if (!pending) { + if (!pendingTrackingEvents?.length) { return; } // The below is needed so that if flush is called multiple times, // we don't report the same event multiple times. - const pendingTrackingEvents = this.trackingEventsQueue; - this.trackingEventsQueue = []; + this.trackingEventsQueue = undefined; try { await this.send(pendingTrackingEvents); } catch (error) { // Failure to report analytics shouldn't crash the CLI. - this.analyticsLogDebug('send error: %j', error); + assertIsError(error); + this.context.logger.debug(`Send analytics error. ${error.message}.`); } } - private addToQueue(eventType: 'event', parameters: EventParameters): void; - private addToQueue(eventType: 'pageview', parameters: PageviewParameters): void; - private addToQueue(eventType: 'timing', parameters: TimingParameters): void; - private addToQueue(eventType: 'screenview', parameters: ScreenviewParameters): void; - private addToQueue( - eventType: 'event' | 'pageview' | 'timing' | 'screenview', - parameters: BaseParameters, - ): void { - const { metrics, dimensions, ...restParameters } = parameters; - const data = { - ...this.parameters, - ...restParameters, - ...this.customVariables({ metrics, dimensions }), - t: eventType, - }; - - this.analyticsLogDebug('add event to queue: %j', data); - this.trackingEventsQueue.push(data); - } - - private async send(data: Record[]): Promise { - this.analyticsLogDebug('send event: %j', data); - + private async send(data: Record[]): Promise { return new Promise((resolve, reject) => { const request = https.request( { host: 'www.google-analytics.com', method: 'POST', - path: data.length > 1 ? '/batch' : '/collect', + path: '/g/collect?' + this.requestParameterStringified, }, (response) => { - if (response.statusCode !== 200) { + if (response.statusCode !== 200 && response.statusCode !== 204) { reject( new Error(`Analytics reporting failed with status code: ${response.statusCode}.`), ); - - return; + } else { + resolve(); } }, ); request.on('error', reject); - const queryParameters = data.map((p) => querystring.stringify(p)).join('\n'); request.write(queryParameters); - request.end(resolve); + request.end(); }); } - - /** - * Creates the dimension and metrics variables to add to the queue. - * @private - */ - private customVariables( - options: analytics.CustomDimensionsAndMetricsOptions, - ): Record { - const additionals: Record = {}; - - const { dimensions, metrics } = options; - dimensions?.forEach((v, i) => (additionals[`cd${i}`] = v)); - metrics?.forEach((v, i) => (additionals[`cm${i}`] = v)); - - return additionals; - } -} - -// These are just approximations of UA strings. We just try to fool Google Analytics to give us the -// data we want. -// See https://developers.whatismybrowser.com/useragents/ -const osVersionMap: Readonly<{ [os: string]: { [release: string]: string } }> = { - darwin: { - '1.3.1': '10_0_4', - '1.4.1': '10_1_0', - '5.1': '10_1_1', - '5.2': '10_1_5', - '6.0.1': '10_2', - '6.8': '10_2_8', - '7.0': '10_3_0', - '7.9': '10_3_9', - '8.0': '10_4_0', - '8.11': '10_4_11', - '9.0': '10_5_0', - '9.8': '10_5_8', - '10.0': '10_6_0', - '10.8': '10_6_8', - // We stop here because we try to math out the version for anything greater than 10, and it - // works. Those versions are standardized using a calculation now. - }, - win32: { - '6.3.9600': 'Windows 8.1', - '6.2.9200': 'Windows 8', - '6.1.7601': 'Windows 7 SP1', - '6.1.7600': 'Windows 7', - '6.0.6002': 'Windows Vista SP2', - '6.0.6000': 'Windows Vista', - '5.1.2600': 'Windows XP', - }, -}; - -/** - * Build a fake User Agent string. This gets sent to Analytics so it shows the proper OS version. - * @private - */ -function _buildUserAgentString() { - switch (os.platform()) { - case 'darwin': { - let v = osVersionMap.darwin[os.release()]; - - if (!v) { - // Remove 4 to tie Darwin version to OSX version, add other info. - const x = parseFloat(os.release()); - if (x > 10) { - v = `10_` + (x - 4).toString().replace('.', '_'); - } - } - - const cpuModel = os.cpus()[0].model.match(/^[a-z]+/i); - const cpu = cpuModel ? cpuModel[0] : os.cpus()[0].model; - - return `(Macintosh; ${cpu} Mac OS X ${v || os.release()})`; - } - - case 'win32': - return `(Windows NT ${os.release()})`; - - case 'linux': - return `(X11; Linux i686; ${os.release()}; ${os.cpus()[0].model})`; - - default: - return os.platform() + ' ' + os.release(); - } -} - -/** - * Get a language code. - * @private - */ -function _getLanguage() { - // Note: Windows does not expose the configured language by default. - return ( - process.env.LANG || // Default Unix env variable. - process.env.LC_CTYPE || // For C libraries. Sometimes the above isn't set. - process.env.LANGSPEC || // For Windows, sometimes this will be set (not always). - _getWindowsLanguageCode() || - '??' - ); // ¯\_(ツ)_/¯ -} - -/** - * Attempt to get the Windows Language Code string. - * @private - */ -function _getWindowsLanguageCode(): string | undefined { - if (!os.platform().startsWith('win')) { - return undefined; - } - - try { - // This is true on Windows XP, 7, 8 and 10 AFAIK. Would return empty string or fail if it - // doesn't work. - return execSync('wmic.exe os get locale').toString().trim(); - } catch {} - - return undefined; } diff --git a/packages/angular/cli/src/analytics/analytics-parameters.ts b/packages/angular/cli/src/analytics/analytics-parameters.ts new file mode 100644 index 000000000000..471590b73381 --- /dev/null +++ b/packages/angular/cli/src/analytics/analytics-parameters.ts @@ -0,0 +1,97 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export type PrimitiveTypes = string | number | boolean; + +/** + * GA built-in request parameters + * @see https://www.thyngster.com/ga4-measurement-protocol-cheatsheet + * @see http://go/depot/google3/analytics/container_tag/templates/common/gold/mpv2_schema.js + */ +export enum RequestParameter { + ClientId = 'cid', + DebugView = '_dbg', + GtmVersion = 'gtm', + Language = 'ul', + NewToSite = '_nsi', + NonInteraction = 'ni', + PageLocation = 'dl', + PageTitle = 'dt', + ProtocolVersion = 'v', + SessionEngaged = 'seg', + SessionId = 'sid', + SessionNumber = 'sct', + SessionStart = '_ss', + TrackingId = 'tid', + TrafficType = 'tt', + UserAgentArchitecture = 'uaa', + UserAgentBitness = 'uab', + UserAgentFullVersionList = 'uafvl', + UserAgentMobile = 'uamb', + UserAgentModel = 'uam', + UserAgentPlatform = 'uap', + UserAgentPlatformVersion = 'uapv', + UserId = 'uid', +} + +/** + * User scoped custom dimensions. + * @notes + * - User custom dimensions limit is 25. + * - `up.*` string type. + * - `upn.*` number type. + * @see https://support.google.com/analytics/answer/10075209?hl=en + */ +export enum UserCustomDimension { + OsArchitecture = 'up.ng_os_architecture', + NodeVersion = 'up.ng_node_version', + NodeMajorVersion = 'upn.ng_node_major_version', + AngularCLIVersion = 'up.ng_cli_version', + AngularCLIMajorVersion = 'upn.ng_cli_major_version', + PackageManager = 'up.ng_package_manager', + PackageManagerVersion = 'up.ng_package_manager_version', + PackageManagerMajorVersion = 'upn.ng_package_manager_major_version', +} + +/** + * Event scoped custom dimensions. + * @notes + * - Event custom dimensions limit is 50. + * - `ep.*` string type. + * - `epn.*` number type. + * @see https://support.google.com/analytics/answer/10075209?hl=en + */ +export enum EventCustomDimension { + Command = 'ep.ng_command', + SchematicCollectionName = 'ep.ng_schematic_collection_name', + SchematicName = 'ep.ng_schematic_name', + Standalone = 'ep.ng_standalone', + Style = 'ep.ng_style', + Routing = 'ep.ng_routing', + InlineTemplate = 'ep.ng_inline_template', + InlineStyle = 'ep.ng_inline_style', + BuilderTarget = 'ep.ng_builder_target', + Aot = 'ep.ng_aot', + Optimization = 'ep.ng_optimization', +} + +/** + * Event scoped custom mertics. + * @notes + * - Event scoped custom mertics limit is 50. + * - `ep.*` string type. + * - `epn.*` number type. + * @see https://support.google.com/analytics/answer/10075209?hl=en + */ +export enum EventCustomMetric { + AllChunksCount = 'epn.ng_all_chunks_count', + LazyChunksCount = 'epn.ng_lazy_chunks_count', + InitialChunksCount = 'epn.ng_initial_chunks_count', + ChangedChunksCount = 'epn.ng_changed_chunks_count', + DurationInMs = 'epn.ng_duration_ms', +} diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index a177a71571cb..1f37d21bb50d 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -6,39 +6,15 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, json, tags } from '@angular-devkit/core'; +import { json, tags } from '@angular-devkit/core'; import { randomUUID } from 'crypto'; -import debug from 'debug'; +import type { CommandContext } from '../command-builder/command-module'; import { colors } from '../utilities/color'; import { getWorkspace } from '../utilities/config'; -import { analyticsDisabled, analyticsShareDisabled } from '../utilities/environment-options'; -import { assertIsError } from '../utilities/error'; +import { analyticsDisabled } from '../utilities/environment-options'; import { isTTY } from '../utilities/tty'; -import { VERSION } from '../utilities/version'; -import { AnalyticsCollector } from './analytics-collector'; /* eslint-disable no-console */ -const analyticsDebug = debug('ng:analytics'); // Generate analytics, including settings and users. - -let _defaultAngularCliPropertyCache: string; -export const AnalyticsProperties = { - AngularCliProd: 'UA-8594346-29', - AngularCliStaging: 'UA-8594346-32', - get AngularCliDefault(): string { - if (_defaultAngularCliPropertyCache) { - return _defaultAngularCliPropertyCache; - } - - const v = VERSION.full; - // The logic is if it's a full version then we should use the prod GA property. - _defaultAngularCliPropertyCache = - /^\d+\.\d+\.\d+$/.test(v) && v !== '0.0.0' - ? AnalyticsProperties.AngularCliProd - : AnalyticsProperties.AngularCliStaging; - - return _defaultAngularCliPropertyCache; - }, -}; /** * This is the ultimate safelist for checking if a package name is safe to report to analytics. @@ -46,7 +22,7 @@ export const AnalyticsProperties = { export const analyticsPackageSafelist = [ /^@angular\//, /^@angular-devkit\//, - /^@ngtools\//, + /^@nguniversal\//, '@schematics/angular', ]; @@ -67,7 +43,6 @@ export function isPackageNameSafeForAnalytics(name: string): boolean { */ export async function setAnalyticsConfig(global: boolean, value: string | boolean): Promise { const level = global ? 'global' : 'local'; - analyticsDebug('setting %s level analytics to: %s', level, value); const workspace = await getWorkspace(level); if (!workspace) { throw new Error(`Could not find ${level} workspace.`); @@ -80,7 +55,6 @@ export async function setAnalyticsConfig(global: boolean, value: string | boolea cli.analytics = value === true ? randomUUID() : value; await workspace.save(); - analyticsDebug('done'); } /** @@ -88,8 +62,11 @@ export async function setAnalyticsConfig(global: boolean, value: string | boolea * @param force Whether to ask regardless of whether or not the user is using an interactive shell. * @return Whether or not the user was shown a prompt. */ -export async function promptAnalytics(global: boolean, force = false): Promise { - analyticsDebug('prompting user'); +export async function promptAnalytics( + context: CommandContext, + global: boolean, + force = false, +): Promise { const level = global ? 'global' : 'local'; const workspace = await getWorkspace(level); if (!workspace) { @@ -103,11 +80,11 @@ export async function promptAnalytics(global: boolean, force = false): Promise { - analyticsDebug('getAnalytics'); - +): Promise { if (analyticsDisabled) { - analyticsDebug('NG_CLI_ANALYTICS is false'); - - return new analytics.NoopAnalytics(); - } - - try { - const workspace = await getWorkspace(level); - const analyticsConfig: string | undefined | null | { uid?: string } = - workspace?.getCli()?.['analytics']; - analyticsDebug('Workspace Analytics config found: %j', analyticsConfig); - - if (analyticsConfig === false) { - return new analytics.NoopAnalytics(); - } else if (analyticsConfig === undefined || analyticsConfig === null) { - return undefined; - } else { - let uid: string | undefined = undefined; - - if (typeof analyticsConfig == 'string') { - uid = analyticsConfig; - } else if (typeof analyticsConfig == 'object' && typeof analyticsConfig['uid'] == 'string') { - uid = analyticsConfig['uid']; - } - - analyticsDebug('client id: %j', uid); - if (uid == undefined) { - return undefined; - } - - return new AnalyticsCollector(AnalyticsProperties.AngularCliDefault, uid); - } - } catch (err) { - assertIsError(err); - analyticsDebug('Error happened during reading of analytics config: %s', err.message); - - return undefined; + return false; } -} - -/** - * Return the usage analytics sharing setting, which is either a property string (GA-XXXXXXX-XX), - * or undefined if no sharing. - */ -export async function getSharedAnalytics(): Promise { - analyticsDebug('getSharedAnalytics'); - if (analyticsShareDisabled) { - analyticsDebug('NG_CLI_ANALYTICS is false'); + const workspace = await getWorkspace(level); + const analyticsConfig: string | undefined | null | { uid?: string } = + workspace?.getCli()?.['analytics']; + if (analyticsConfig === false) { + return false; + } else if (analyticsConfig === undefined || analyticsConfig === null) { return undefined; - } - - // If anything happens we just keep the NOOP analytics. - try { - const globalWorkspace = await getWorkspace('global'); - const analyticsConfig = globalWorkspace?.getCli()?.['analyticsSharing']; - - if (!analyticsConfig || !analyticsConfig.tracking || !analyticsConfig.uuid) { - return undefined; - } else { - analyticsDebug('Analytics sharing info: %j', analyticsConfig); - - return new AnalyticsCollector(analyticsConfig.tracking, analyticsConfig.uuid); + } else { + if (typeof analyticsConfig == 'string') { + return analyticsConfig; + } else if (typeof analyticsConfig == 'object' && typeof analyticsConfig['uid'] == 'string') { + return analyticsConfig['uid']; } - } catch (err) { - assertIsError(err); - analyticsDebug('Error happened during reading of analytics sharing config: %s', err.message); return undefined; } } -export async function createAnalytics( - workspace: boolean, +export async function getAnalyticsUserId( + context: CommandContext, skipPrompt = false, -): Promise { +): Promise { + const { workspace } = context; // Global config takes precedence over local config only for the disabled check. // IE: // global: disabled & local: enabled = disabled // global: id: 123 & local: id: 456 = 456 // check global - const globalConfig = await getAnalytics('global'); - if (globalConfig instanceof analytics.NoopAnalytics) { - return globalConfig; + const globalConfig = await getAnalyticsUserIdForLevel('global'); + if (globalConfig === false) { + return undefined; } - let config = globalConfig; // Not disabled globally, check locally or not set globally and command is run outside of workspace example: `ng new` if (workspace || globalConfig === undefined) { const level = workspace ? 'local' : 'global'; - let localOrGlobalConfig = await getAnalytics(level); + let localOrGlobalConfig = await getAnalyticsUserIdForLevel(level); if (localOrGlobalConfig === undefined) { if (!skipPrompt) { // config is unset, prompt user. // TODO: This should honor the `no-interactive` option. // It is currently not an `ng` option but rather only an option for specific commands. // The concept of `ng`-wide options are needed to cleanly handle this. - await promptAnalytics(!workspace /** global */); - localOrGlobalConfig = await getAnalytics(level); + await promptAnalytics(context, !workspace /** global */); + localOrGlobalConfig = await getAnalyticsUserIdForLevel(level); } } - if (localOrGlobalConfig instanceof analytics.NoopAnalytics) { + if (localOrGlobalConfig === false) { + return undefined; + } else if (typeof localOrGlobalConfig === 'string') { return localOrGlobalConfig; - } else if (localOrGlobalConfig) { - // Favor local settings over global when defined. - config = localOrGlobalConfig; } } - // Get shared analytics - // TODO: evalute if this should be completly removed. - const maybeSharedAnalytics = await getSharedAnalytics(); - if (config && maybeSharedAnalytics) { - return new analytics.MultiAnalytics([config, maybeSharedAnalytics]); - } - - return config ?? maybeSharedAnalytics ?? new analytics.NoopAnalytics(); + return globalConfig || randomUUID(); } function analyticsConfigValueToHumanFormat(value: unknown): 'enabled' | 'disabled' | 'not set' { @@ -290,28 +197,22 @@ function analyticsConfigValueToHumanFormat(value: unknown): 'enabled' | 'disable } } -export async function getAnalyticsInfoString(): Promise { - const globalWorkspace = await getWorkspace('global'); - const localWorkspace = await getWorkspace('local'); - const globalSetting = globalWorkspace?.getCli()?.['analytics']; - const localSetting = localWorkspace?.getCli()?.['analytics']; +export async function getAnalyticsInfoString(context: CommandContext): Promise { + const analyticsInstance = await getAnalyticsUserId(context, true /** skipPrompt */); - const analyticsInstance = await createAnalytics( - !!localWorkspace /** workspace */, - true /** skipPrompt */, - ); + const { globalConfiguration, workspace: localWorkspace } = context; + const globalSetting = globalConfiguration?.getCli()?.['analytics']; + const localSetting = localWorkspace?.getCli()?.['analytics']; return ( tags.stripIndents` - Global setting: ${analyticsConfigValueToHumanFormat(globalSetting)} - Local setting: ${ - localWorkspace - ? analyticsConfigValueToHumanFormat(localSetting) - : 'No local workspace configuration file.' - } - Effective status: ${ - analyticsInstance instanceof analytics.NoopAnalytics ? 'disabled' : 'enabled' - } - ` + '\n' + Global setting: ${analyticsConfigValueToHumanFormat(globalSetting)} + Local setting: ${ + localWorkspace + ? analyticsConfigValueToHumanFormat(localSetting) + : 'No local workspace configuration file.' + } + Effective status: ${analyticsInstance ? 'enabled' : 'disabled'} + ` + '\n' ); } diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index a92083947eaf..017dfc57e0d2 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -16,6 +16,7 @@ import { spawnSync } from 'child_process'; import { existsSync } from 'fs'; import { resolve } from 'path'; import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; +import { EventCustomDimension } from '../analytics/analytics-collector'; import { assertIsError } from '../utilities/error'; import { askConfirmation, askQuestion } from '../utilities/prompt'; import { isTTY } from '../utilities/tty'; @@ -38,7 +39,6 @@ export abstract class ArchitectBaseCommandModule implements CommandModuleImplementation { override scope = CommandScope.In; - protected override shouldReportAnalytics = false; protected readonly missingTargetChoices: MissingTargetChoice[] | undefined; protected async runSingleTarget(target: Target, options: OtherOptions): Promise { @@ -53,21 +53,17 @@ export abstract class ArchitectBaseCommandModule return this.onMissingTarget(e.message); } - await this.reportAnalytics( - { - ...(await architectHost.getOptionsForTarget(target)), - ...options, - }, - undefined /** paths */, - undefined /** dimensions */, - builderName, - ); - const { logger } = this.context; - const run = await this.getArchitect().scheduleTarget(target, options as json.JsonObject, { logger, - analytics: isPackageNameSafeForAnalytics(builderName) ? await this.getAnalytics() : undefined, + }); + + const analytics = isPackageNameSafeForAnalytics(builderName) + ? await this.getAnalytics() + : undefined; + + analytics?.reportArchitectRunEvent({ + [EventCustomDimension.BuilderTarget]: builderName, }); const { error, success } = await run.output.toPromise(); diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 81135cd27ebc..8cb7469fa4a5 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -6,10 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging, schema, strings } from '@angular-devkit/core'; +import { logging, schema, strings } from '@angular-devkit/core'; import { readFileSync } from 'fs'; import * as path from 'path'; -import { +import yargs, { Arguments, ArgumentsCamelCase, Argv, @@ -19,7 +19,9 @@ import { Options as YargsOptions, } from 'yargs'; import { Parser as yargsParser } from 'yargs/helpers'; -import { createAnalytics } from '../analytics/analytics'; +import { getAnalyticsUserId } from '../analytics/analytics'; +import { AnalyticsCollector } from '../analytics/analytics-collector'; +import { EventCustomDimension, EventCustomMetric } from '../analytics/analytics-parameters'; import { considerSettingUpAutocompletion } from '../utilities/completion'; import { AngularWorkspace } from '../utilities/config'; import { memoize } from '../utilities/memoize'; @@ -82,7 +84,7 @@ export abstract class CommandModule implements CommandModuleI protected readonly shouldReportAnalytics: boolean = true; readonly scope: CommandScope = CommandScope.Both; - private readonly optionsWithAnalytics = new Map(); + private readonly optionsWithAnalytics = new Map(); constructor(protected readonly context: CommandContext) {} @@ -140,20 +142,29 @@ export abstract class CommandModule implements CommandModuleI // Gather and report analytics. const analytics = await this.getAnalytics(); - let stopPeriodicFlushes: (() => Promise) | undefined; - - if (this.shouldReportAnalytics) { - await this.reportAnalytics(camelCasedOptions); - stopPeriodicFlushes = this.periodicAnalyticsFlush(analytics); - } + const stopPeriodicFlushes = analytics && analytics.periodFlush(); let exitCode: number | void | undefined; try { // Run and time command. - const startTime = Date.now(); + if (analytics) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const internalMethods = (yargs as any).getInternalMethods(); + // $0 generate component [name] -> generate_component + // $0 add -> add + const fullCommand = (internalMethods.getUsageInstance().getUsage()[0][0] as string) + .split(' ') + .filter((x) => { + const code = x.charCodeAt(0); + + return code >= 97 && code <= 122; + }) + .join('_'); + + analytics.reportCommandRunEvent(fullCommand); + } + exitCode = await this.run(camelCasedOptions as Options & OtherOptions); - const endTime = Date.now(); - analytics.timing(this.commandName, 'duration', endTime - startTime); } catch (e) { if (e instanceof schema.SchemaValidationException) { this.context.logger.fatal(`Error: ${e.message}`); @@ -170,35 +181,19 @@ export abstract class CommandModule implements CommandModuleI } } - async reportAnalytics( - options: (Options & OtherOptions) | OtherOptions, - paths: string[] = [], - dimensions: (boolean | number | string)[] = [], - title?: string, - ): Promise { - for (const [name, ua] of this.optionsWithAnalytics) { - const value = options[name]; - - if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { - dimensions[ua] = value; - } + @memoize + protected async getAnalytics(): Promise { + if (!this.shouldReportAnalytics) { + return undefined; } - const analytics = await this.getAnalytics(); - analytics.pageview('/command/' + [this.commandName, ...paths].join('/'), { - dimensions, - metrics: [], - title, - }); - } - - @memoize - protected getAnalytics(): Promise { - return createAnalytics( - !!this.context.workspace, + const userId = await getAnalyticsUserId( + this.context, // Don't prompt for `ng update` and `ng analytics` commands. ['update', 'analytics'].includes(this.commandName), ); + + return userId ? new AnalyticsCollector(this.context, userId) : undefined; } /** @@ -288,18 +283,29 @@ export abstract class CommandModule implements CommandModuleI * @returns a method that when called will terminate the periodic * flush and call flush one last time. */ - private periodicAnalyticsFlush(analytics: analytics.Analytics): () => Promise { - let analyticsFlushPromise = Promise.resolve(); - const analyticsFlushInterval = setInterval(() => { - analyticsFlushPromise = analyticsFlushPromise.then(() => analytics.flush()); - }, 2000); - - return () => { - clearInterval(analyticsFlushInterval); - - // Flush one last time. - return analyticsFlushPromise.then(() => analytics.flush()); - }; + protected getAnalyticsParameters( + options: (Options & OtherOptions) | OtherOptions, + ): Partial> { + const parameters: Partial< + Record + > = {}; + + const validEventCustomDimensionAndMetrics = new Set([ + ...Object.values(EventCustomDimension), + ...Object.values(EventCustomMetric), + ]); + + for (const [name, ua] of this.optionsWithAnalytics) { + const value = options[name]; + if ( + (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') && + validEventCustomDimensionAndMetrics.has(ua as EventCustomDimension | EventCustomMetric) + ) { + parameters[ua as EventCustomDimension | EventCustomMetric] = value; + } + } + + return parameters; } } diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 4439616b1d3e..59f4b1cda89f 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -16,6 +16,8 @@ import { import type { CheckboxQuestion, Question } from 'inquirer'; import { relative, resolve } from 'path'; import { Argv } from 'yargs'; +import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; +import { EventCustomDimension } from '../analytics/analytics-parameters'; import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; import { assertIsError } from '../utilities/error'; import { memoize } from '../utilities/memoize'; @@ -50,7 +52,6 @@ export abstract class SchematicsCommandModule { override scope = CommandScope.In; protected readonly allowPrivateSchematics: boolean = false; - protected override readonly shouldReportAnalytics = false; async builder(argv: Argv): Promise> { return argv @@ -144,15 +145,24 @@ export abstract class SchematicsCommandModule let shouldReportAnalytics = true; workflow.engineHost.registerOptionsTransform(async (schematic, options) => { + // Report analytics if (shouldReportAnalytics) { shouldReportAnalytics = false; - await this.reportAnalytics( - options as {}, - undefined /** paths */, - undefined /** dimensions */, - schematic.collection.name + ':' + schematic.name, - ); + const { + collection: { name: collectionName }, + name: schematicName, + } = schematic; + + const analytics = isPackageNameSafeForAnalytics(collectionName) + ? await this.getAnalytics() + : undefined; + + analytics?.reportSchematicRunEvent({ + [EventCustomDimension.SchematicCollectionName]: collectionName, + [EventCustomDimension.SchematicName]: schematicName, + ...this.getAnalyticsParameters(options as unknown as {}), + }); } return options; diff --git a/packages/angular/cli/src/command-builder/utilities/json-schema.ts b/packages/angular/cli/src/command-builder/utilities/json-schema.ts index 8146cd71dbfd..b62619ced20d 100644 --- a/packages/angular/cli/src/command-builder/utilities/json-schema.ts +++ b/packages/angular/cli/src/command-builder/utilities/json-schema.ts @@ -42,7 +42,7 @@ export interface Option extends yargs.Options { * Whether or not to report this option to the Angular Team, and which custom field to use. * If this is falsey, do not report this option. */ - userAnalytics?: number; + userAnalytics?: string; } export async function parseJsonSchemaToOptions( @@ -172,7 +172,7 @@ export async function parseJsonSchemaToOptions( const hidden = !!current.hidden || !visible; const xUserAnalytics = current['x-user-analytics']; - const userAnalytics = typeof xUserAnalytics == 'number' ? xUserAnalytics : undefined; + const userAnalytics = typeof xUserAnalytics === 'string' ? xUserAnalytics : undefined; // Deprecated is set only if it's true or a string. const xDeprecated = current['x-deprecated']; diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index 3e62345b9b89..e861a45ab76f 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, tags } from '@angular-devkit/core'; +import { tags } from '@angular-devkit/core'; import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/tools'; import { createRequire } from 'module'; import npa from 'npm-package-arg'; @@ -14,7 +14,6 @@ import { dirname, join } from 'path'; import { compare, intersects, prerelease, satisfies, valid } from 'semver'; import { Argv } from 'yargs'; import { PackageManager } from '../../../lib/config/workspace-schema'; -import { isPackageNameSafeForAnalytics } from '../../analytics/analytics'; import { CommandModuleImplementation, Options, @@ -323,17 +322,6 @@ export class AddCommandModule return validVersion; } - override async reportAnalytics(options: OtherOptions, paths: string[]): Promise { - const collection = await this.getCollectionName(); - const dimensions: string[] = []; - // Add the collection if it's safe listed. - if (collection && isPackageNameSafeForAnalytics(collection)) { - dimensions[analytics.NgCliAnalyticsDimensions.NgAddCollection] = collection; - } - - return super.reportAnalytics(options, paths, dimensions); - } - private async getCollectionName(): Promise { const [, collectionName] = this.context.args.positional; diff --git a/packages/angular/cli/src/commands/analytics/info/cli.ts b/packages/angular/cli/src/commands/analytics/info/cli.ts index 271cbb210328..bfcba4a3da0e 100644 --- a/packages/angular/cli/src/commands/analytics/info/cli.ts +++ b/packages/angular/cli/src/commands/analytics/info/cli.ts @@ -27,6 +27,6 @@ export class AnalyticsInfoCommandModule } async run(_options: Options<{}>): Promise { - this.context.logger.info(await getAnalyticsInfoString()); + this.context.logger.info(await getAnalyticsInfoString(this.context)); } } diff --git a/packages/angular/cli/src/commands/analytics/settings/cli.ts b/packages/angular/cli/src/commands/analytics/settings/cli.ts index f37d1b948618..ff965e228781 100644 --- a/packages/angular/cli/src/commands/analytics/settings/cli.ts +++ b/packages/angular/cli/src/commands/analytics/settings/cli.ts @@ -52,7 +52,7 @@ export class AnalyticsDisableModule async run({ global }: Options): Promise { await setAnalyticsConfig(global, false); - process.stderr.write(await getAnalyticsInfoString()); + process.stderr.write(await getAnalyticsInfoString(this.context)); } } @@ -65,7 +65,7 @@ export class AnalyticsEnableModule describe = 'Enables analytics gathering and reporting for the user.'; async run({ global }: Options): Promise { await setAnalyticsConfig(global, true); - process.stderr.write(await getAnalyticsInfoString()); + process.stderr.write(await getAnalyticsInfoString(this.context)); } } @@ -77,6 +77,6 @@ export class AnalyticsPromptModule describe = 'Prompts the user to set the analytics gathering status interactively.'; async run({ global }: Options): Promise { - await promptAnalytics(global, true); + await promptAnalytics(this.context, global, true); } } diff --git a/packages/angular/cli/src/utilities/environment-options.ts b/packages/angular/cli/src/utilities/environment-options.ts index 7febd351b06e..264984bb432a 100644 --- a/packages/angular/cli/src/utilities/environment-options.ts +++ b/packages/angular/cli/src/utilities/environment-options.ts @@ -27,7 +27,6 @@ function optional(variable: string | undefined): boolean | undefined { } export const analyticsDisabled = isDisabled(process.env['NG_CLI_ANALYTICS']); -export const analyticsShareDisabled = isDisabled(process.env['NG_CLI_ANALYTICS_SHARE']); export const isCI = isEnabled(process.env['CI']); export const disableVersionCheck = isEnabled(process.env['NG_DISABLE_VERSION_CHECK']); export const ngDebug = isEnabled(process.env['NG_DEBUG']); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json index ea0ec43e5598..c1174d0368ee 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -141,7 +141,6 @@ }, "optimization": { "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.", - "x-user-analytics": 16, "default": true, "oneOf": [ { @@ -224,7 +223,7 @@ "aot": { "type": "boolean", "description": "Build using Ahead of Time compilation.", - "x-user-analytics": 13, + "x-user-analytics": "ep.ng_aot", "default": true }, "sourceMap": { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 12c9d6792afe..248abe80037a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -133,7 +133,6 @@ }, "optimization": { "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.", - "x-user-analytics": 16, "default": true, "oneOf": [ { @@ -216,7 +215,7 @@ "aot": { "type": "boolean", "description": "Build using Ahead of Time compilation.", - "x-user-analytics": 13, + "x-user-analytics": "ep.ng_aot", "default": true }, "sourceMap": { diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index 283d25363f37..196af202b80e 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -36,8 +36,8 @@ }, "optimization": { "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking and dead-code elimination. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.", - "x-user-analytics": 16, "default": true, + "x-user-analytics": "ep.ng_optimization", "oneOf": [ { "type": "object", diff --git a/packages/schematics/angular/application/schema.json b/packages/schematics/angular/application/schema.json index b4ffa981cb18..42cf17920d5f 100644 --- a/packages/schematics/angular/application/schema.json +++ b/packages/schematics/angular/application/schema.json @@ -24,26 +24,25 @@ "description": "Include styles inline in the root component.ts file. Only CSS styles can be included inline. Default is false, meaning that an external styles file is created and referenced in the root component.ts file.", "type": "boolean", "alias": "s", - "x-user-analytics": 9 + "x-user-analytics": "ep.ng_inline_style" }, "inlineTemplate": { "description": "Include template inline in the root component.ts file. Default is false, meaning that an external template file is created and referenced in the root component.ts file. ", "type": "boolean", "alias": "t", - "x-user-analytics": 10 + "x-user-analytics": "ep.ng_inline_template" }, "viewEncapsulation": { "description": "The view encapsulation strategy to use in the new application.", "enum": ["Emulated", "None", "ShadowDom"], - "type": "string", - "x-user-analytics": 11 + "type": "string" }, "routing": { "type": "boolean", "description": "Create a routing NgModule.", "default": false, "x-prompt": "Would you like to add Angular routing?", - "x-user-analytics": 17 + "x-user-analytics": "ep.ng_routing" }, "prefix": { "type": "string", @@ -76,14 +75,13 @@ } ] }, - "x-user-analytics": 5 + "x-user-analytics": "ep.ng_style" }, "skipTests": { "description": "Do not create \"spec.ts\" test files for the application.", "type": "boolean", "default": false, - "alias": "S", - "x-user-analytics": 12 + "alias": "S" }, "skipPackageJson": { "type": "boolean", @@ -93,8 +91,7 @@ "minimal": { "description": "Create a bare-bones project without any testing frameworks. (Use for learning purposes only.)", "type": "boolean", - "default": false, - "x-user-analytics": 14 + "default": false }, "skipInstall": { "description": "Skip installing dependency packages.", @@ -104,8 +101,7 @@ "strict": { "description": "Creates an application with stricter bundle budgets settings.", "type": "boolean", - "default": true, - "x-user-analytics": 7 + "default": true } }, "required": ["name"] diff --git a/packages/schematics/angular/class/schema.json b/packages/schematics/angular/class/schema.json index b74602a06ac7..97f24d8baf10 100644 --- a/packages/schematics/angular/class/schema.json +++ b/packages/schematics/angular/class/schema.json @@ -34,8 +34,7 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new class.", - "default": false, - "x-user-analytics": 12 + "default": false }, "type": { "type": "string", diff --git a/packages/schematics/angular/component/schema.json b/packages/schematics/angular/component/schema.json index 6973b36ccfc8..30ed7facecf8 100644 --- a/packages/schematics/angular/component/schema.json +++ b/packages/schematics/angular/component/schema.json @@ -42,27 +42,26 @@ "type": "boolean", "default": false, "alias": "s", - "x-user-analytics": 9 + "x-user-analytics": "ep.ng_inline_style" }, "inlineTemplate": { "description": "Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file.", "type": "boolean", "default": false, "alias": "t", - "x-user-analytics": 10 + "x-user-analytics": "ep.ng_inline_template" }, "standalone": { "description": "Whether the generated component is standalone.", "type": "boolean", "default": false, - "x-user-analytics": 15 + "x-user-analytics": "ep.ng_standalone" }, "viewEncapsulation": { "description": "The view encapsulation strategy to use in the new component.", "enum": ["Emulated", "None", "ShadowDom"], "type": "string", - "alias": "v", - "x-user-analytics": 11 + "alias": "v" }, "changeDetection": { "description": "The change detection strategy to use in the new component.", @@ -90,7 +89,7 @@ "type": "string", "default": "css", "enum": ["css", "scss", "sass", "less", "none"], - "x-user-analytics": 5 + "x-user-analytics": "ep.ng_style" }, "type": { "type": "string", @@ -100,8 +99,7 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new component.", - "default": false, - "x-user-analytics": 12 + "default": false }, "flat": { "type": "boolean", @@ -111,8 +109,7 @@ "skipImport": { "type": "boolean", "description": "Do not import this component into the owning NgModule.", - "default": false, - "x-user-analytics": 18 + "default": false }, "selector": { "type": "string", @@ -132,8 +129,7 @@ "export": { "type": "boolean", "default": false, - "description": "The declaring NgModule exports this component.", - "x-user-analytics": 19 + "description": "The declaring NgModule exports this component." } }, "required": ["name", "project"] diff --git a/packages/schematics/angular/directive/schema.json b/packages/schematics/angular/directive/schema.json index 7f48375d9843..bc754b45a9ca 100644 --- a/packages/schematics/angular/directive/schema.json +++ b/packages/schematics/angular/directive/schema.json @@ -48,14 +48,12 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new class.", - "default": false, - "x-user-analytics": 12 + "default": false }, "skipImport": { "type": "boolean", "description": "Do not import this directive into the owning NgModule.", - "default": false, - "x-user-analytics": 18 + "default": false }, "selector": { "type": "string", @@ -66,7 +64,7 @@ "description": "Whether the generated directive is standalone.", "type": "boolean", "default": false, - "x-user-analytics": 15 + "x-user-analytics": "ep.ng_standalone" }, "flat": { "type": "boolean", @@ -81,8 +79,7 @@ "export": { "type": "boolean", "default": false, - "description": "The declaring NgModule exports this directive.", - "x-user-analytics": 19 + "description": "The declaring NgModule exports this directive." } }, "required": ["name", "project"] diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index 8ecbe1659e75..ed79e62ee560 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -18,8 +18,7 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new guard.", - "default": false, - "x-user-analytics": 12 + "default": false }, "flat": { "type": "boolean", diff --git a/packages/schematics/angular/interceptor/schema.json b/packages/schematics/angular/interceptor/schema.json index 78aa0de4b94a..d8be90335908 100755 --- a/packages/schematics/angular/interceptor/schema.json +++ b/packages/schematics/angular/interceptor/schema.json @@ -39,8 +39,7 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new interceptor.", - "default": false, - "x-user-analytics": 12 + "default": false } }, "required": ["name", "project"] diff --git a/packages/schematics/angular/module/schema.json b/packages/schematics/angular/module/schema.json index f0f1268089a6..c58176674142 100644 --- a/packages/schematics/angular/module/schema.json +++ b/packages/schematics/angular/module/schema.json @@ -35,7 +35,7 @@ "type": "boolean", "description": "Create a routing module.", "default": false, - "x-user-analytics": 17 + "x-user-analytics": "ep.ng_routing" }, "routingScope": { "enum": ["Child", "Root"], diff --git a/packages/schematics/angular/ng-new/schema.json b/packages/schematics/angular/ng-new/schema.json index 3ed52ab150d9..4e069a3ce2af 100644 --- a/packages/schematics/angular/ng-new/schema.json +++ b/packages/schematics/angular/ng-new/schema.json @@ -68,19 +68,18 @@ "description": "Include styles inline in the component TS file. By default, an external styles file is created and referenced in the component TypeScript file.", "type": "boolean", "alias": "s", - "x-user-analytics": 9 + "x-user-analytics": "ep.ng_inline_style" }, "inlineTemplate": { "description": "Include template inline in the component TS file. By default, an external template file is created and referenced in the component TypeScript file.", "type": "boolean", "alias": "t", - "x-user-analytics": 10 + "x-user-analytics": "ep.ng_inline_template" }, "viewEncapsulation": { "description": "The view encapsulation strategy to use in the initial project.", "enum": ["Emulated", "None", "ShadowDom"], - "type": "string", - "x-user-analytics": 11 + "type": "string" }, "version": { "type": "string", @@ -93,7 +92,7 @@ "routing": { "type": "boolean", "description": "Generate a routing module for the initial project.", - "x-user-analytics": 17 + "x-user-analytics": "ep.ng_routing" }, "prefix": { "type": "string", @@ -107,14 +106,13 @@ "description": "The file extension or preprocessor to use for style files.", "type": "string", "enum": ["css", "scss", "sass", "less"], - "x-user-analytics": 5 + "x-user-analytics": "ep.ng_style" }, "skipTests": { "description": "Do not generate \"spec.ts\" test files for the new project.", "type": "boolean", "default": false, - "alias": "S", - "x-user-analytics": 12 + "alias": "S" }, "createApplication": { "description": "Create a new initial application project in the 'src' folder of the new workspace. When false, creates an empty workspace with no initial application. You can then use the generate application command so that all applications are created in the projects folder.", @@ -124,14 +122,12 @@ "minimal": { "description": "Create a workspace without any testing frameworks. (Use for learning purposes only.)", "type": "boolean", - "default": false, - "x-user-analytics": 14 + "default": false }, "strict": { "description": "Creates a workspace with stricter type checking and stricter bundle budgets settings. This setting helps improve maintainability and catch bugs ahead of time. For more information, see https://angular.io/guide/strict-mode", "type": "boolean", - "default": true, - "x-user-analytics": 7 + "default": true }, "packageManager": { "description": "The package manager used to install dependencies.", diff --git a/packages/schematics/angular/pipe/schema.json b/packages/schematics/angular/pipe/schema.json index 1e595e73a95f..ded30bbeb50a 100644 --- a/packages/schematics/angular/pipe/schema.json +++ b/packages/schematics/angular/pipe/schema.json @@ -39,20 +39,18 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new pipe.", - "default": false, - "x-user-analytics": 12 + "default": false }, "skipImport": { "type": "boolean", "default": false, - "description": "Do not import this pipe into the owning NgModule.", - "x-user-analytics": 18 + "description": "Do not import this pipe into the owning NgModule." }, "standalone": { "description": "Whether the generated pipe is standalone.", "type": "boolean", "default": false, - "x-user-analytics": 15 + "x-user-analytics": "ep.ng_standalone" }, "module": { "type": "string", @@ -62,8 +60,7 @@ "export": { "type": "boolean", "default": false, - "description": "The declaring NgModule exports this pipe.", - "x-user-analytics": 19 + "description": "The declaring NgModule exports this pipe." } }, "required": ["name", "project"] diff --git a/packages/schematics/angular/resolver/schema.json b/packages/schematics/angular/resolver/schema.json index bb14a38ac7a6..72b5620630c1 100644 --- a/packages/schematics/angular/resolver/schema.json +++ b/packages/schematics/angular/resolver/schema.json @@ -18,8 +18,7 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new resolver.", - "default": false, - "x-user-analytics": 12 + "default": false }, "flat": { "type": "boolean", diff --git a/packages/schematics/angular/service/schema.json b/packages/schematics/angular/service/schema.json index ddcafb020512..f14420631a59 100644 --- a/packages/schematics/angular/service/schema.json +++ b/packages/schematics/angular/service/schema.json @@ -38,8 +38,7 @@ "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new service.", - "default": false, - "x-user-analytics": 12 + "default": false } }, "required": ["name", "project"] diff --git a/packages/schematics/angular/workspace/schema.json b/packages/schematics/angular/workspace/schema.json index 4477294bd5c9..4944eddf14fd 100644 --- a/packages/schematics/angular/workspace/schema.json +++ b/packages/schematics/angular/workspace/schema.json @@ -30,14 +30,12 @@ "minimal": { "description": "Create a workspace without any testing frameworks. (Use for learning purposes only.)", "type": "boolean", - "default": false, - "x-user-analytics": 14 + "default": false }, "strict": { "description": "Create a workspace with stricter type checking options. This setting helps improve maintainability and catch bugs ahead of time. For more information, see https://angular.io/strict", "type": "boolean", - "default": true, - "x-user-analytics": 7 + "default": true }, "packageManager": { "description": "The package manager used to install dependencies.", diff --git a/scripts/templates/user-analytics-table.ejs b/scripts/templates/user-analytics-table.ejs index c6dda68bfed9..2d62d0d301be 100644 --- a/scripts/templates/user-analytics-table.ejs +++ b/scripts/templates/user-analytics-table.ejs @@ -1,9 +1,5 @@ <% -%>| Id | Flag | Type | +%>| Name | Parameter | Type | |:---:|:---|:---| -<% for (const flag of flags) { - if (flag === undefined) { - continue; - } -%>| <%= flag.userAnalytics %> | `<%= flag.name %>` | `<%= flag.type %>` | +<% for (const { parameter, name, type } of data) {%>| <%= name %> | `<%= parameter %>` | `<%= type %>` | <%}%> diff --git a/scripts/validate-user-analytics.ts b/scripts/validate-user-analytics.ts index ced9ab28460e..dec90139e35b 100644 --- a/scripts/validate-user-analytics.ts +++ b/scripts/validate-user-analytics.ts @@ -6,80 +6,76 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, logging, schema, strings, tags } from '@angular-devkit/core'; +import { logging } from '@angular-devkit/core'; +import assert from 'assert'; import * as fs from 'fs'; import { glob as globCb } from 'glob'; import * as path from 'path'; import { promisify } from 'util'; import { packages } from '../lib/packages'; +import { + EventCustomDimension, + EventCustomMetric, + UserCustomDimension, +} from '../packages/angular/cli/src/analytics/analytics-parameters'; const userAnalyticsTable = require('./templates/user-analytics-table').default; const dimensionsTableRe = /([\s\S]*)/m; +const userDimensionsTableRe = + /([\s\S]*)/m; const metricsTableRe = /([\s\S]*)/m; -async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) { - const data: { userAnalytics: number; type: string; name: string }[] = new Array(200); +async function _checkUserDimensions(dimensionsTable: string, logger: logging.Logger) { + logger.info('Gathering user dimensions from @angular/cli...'); + const eventCustomDimensionValues = new Set(Object.values(UserCustomDimension)); - function updateData(userAnalytics: number, name: string, type: string) { - if (data[userAnalytics]) { - if (data[userAnalytics].name !== name) { - logger.error(tags.stripIndents` - User analytics clash with the same name: ${data[userAnalytics].name} and - ${name} both have userAnalytics of ${userAnalytics} - `); + const data = Object.entries(EventCustomDimension).map(([key, value]) => ({ + parameter: value, + name: key, + type: value.charAt(2) === 'n' ? 'number' : 'string', + })); - return 2; - } - } else { - data[userAnalytics] = { userAnalytics, name, type }; - } + if (data.length > 25) { + throw new Error( + 'GA has a limit of 25 custom user dimensions. Delete and archive the ones that are not needed.', + ); } - logger.info('Gathering fixed dimension from @angular-devkit/core...'); + const generatedTable = userAnalyticsTable({ data }).trim(); + if (dimensionsTable !== generatedTable) { + logger.error( + 'Expected user dimensions table to be the same as generated. Copy the lines below:', + ); + logger.error(generatedTable); - // Create the data with dimensions missing from schema.json: - const allFixedDimensions = Object.keys(analytics.NgCliAnalyticsDimensions) - // eslint-disable-next-line @typescript-eslint/no-explicit-any - .filter((x) => typeof analytics.NgCliAnalyticsDimensions[x as any] === 'number'); + return 3; + } - for (const name of allFixedDimensions) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const userAnalytics = analytics.NgCliAnalyticsDimensions[name as any]; - if (!(name in analytics.NgCliAnalyticsDimensionsFlagInfo)) { - throw new Error( - `Flag ${name} is in NgCliAnalyticsDimensions but not NgCliAnalyticsDimensionsFlagInfo`, - ); - } + return 0; +} - const [flagName, type] = analytics.NgCliAnalyticsDimensionsFlagInfo[name]; - if (typeof userAnalytics !== 'number') { - throw new Error( - `Invalid value found in enum AnalyticsDimensions: ${JSON.stringify(userAnalytics)}`, - ); - } - updateData(userAnalytics, flagName, type); - } +async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) { + logger.info('Gathering event dimensions from @angular/cli...'); + const eventCustomDimensionValues = new Set(Object.values(EventCustomDimension)); logger.info('Gathering options for user-analytics...'); - - const userAnalyticsGatherer = (obj: Object) => { + const schemaUserAnalyticsValidator = (obj: Object) => { for (const [key, value] of Object.entries(obj)) { if (value && typeof value === 'object') { - if ('x-user-analytics' in value) { - const type = - [...schema.getTypesOfSchema(value)].find((type) => type !== 'object') ?? 'string'; - - updateData(value['x-user-analytics'], 'Flag: --' + strings.dasherize(key), type); + const userAnalytics = value['x-user-analytics']; + if (userAnalytics && !eventCustomDimensionValues.has(userAnalytics)) { + throw new Error( + `Invalid value found in enum AnalyticsDimensions: ${JSON.stringify(userAnalytics)}`, + ); } else { - userAnalyticsGatherer(value); + schemaUserAnalyticsValidator(value); } } } }; const glob = promisify(globCb); - // Find all the schemas const packagesPaths = Object.values(packages).map(({ root }) => root); for (const packagePath of packagesPaths) { @@ -87,13 +83,27 @@ async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) for (const schemaPath of schemasPaths) { const schema = await fs.promises.readFile(path.join(packagePath, schemaPath), 'utf8'); - userAnalyticsGatherer(JSON.parse(schema)); + schemaUserAnalyticsValidator(JSON.parse(schema)); } } - const generatedTable = userAnalyticsTable({ flags: data }).trim(); + const data = Object.entries(EventCustomDimension).map(([key, value]) => ({ + parameter: value, + name: key, + type: value.charAt(2) === 'n' ? 'number' : 'string', + })); + + if (data.length > 50) { + throw new Error( + 'GA has a limit of 50 custom event dimensions. Delete and archive the ones that are not needed.', + ); + } + + const generatedTable = userAnalyticsTable({ data }).trim(); if (dimensionsTable !== generatedTable) { - logger.error('Expected dimensions table to be the same as generated. Copy the lines below:'); + logger.error( + 'Expected event dimensions table to be the same as generated. Copy the lines below:', + ); logger.error(generatedTable); return 3; @@ -103,49 +113,20 @@ async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) } async function _checkMetrics(metricsTable: string, logger: logging.Logger) { - const data: { userAnalytics: number; type: string; name: string }[] = new Array(200); - - function _updateData(userAnalytics: number, name: string, type: string) { - if (data[userAnalytics]) { - if (data[userAnalytics].name !== name) { - logger.error(tags.stripIndents` - User analytics clash with the same name: ${data[userAnalytics].name} and - ${name} both have userAnalytics of ${userAnalytics} - `); - - return 2; - } - } else { - data[userAnalytics] = { userAnalytics, name, type }; - } - } - - logger.info('Gathering fixed metrics from @angular-devkit/core...'); - - // Create the data with dimensions missing from schema.json: - const allFixedMetrics = Object.keys(analytics.NgCliAnalyticsMetrics) - // eslint-disable-next-line @typescript-eslint/no-explicit-any - .filter((x) => typeof analytics.NgCliAnalyticsMetrics[x as any] === 'number'); - - for (const name of allFixedMetrics) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const userAnalytics = analytics.NgCliAnalyticsMetrics[name as any]; - if (!(name in analytics.NgCliAnalyticsMetricsFlagInfo)) { - throw new Error( - `Flag ${name} is in NgCliAnalyticsMetrics but not NgCliAnalyticsMetricsFlagInfo`, - ); - } - - const [flagName, type] = analytics.NgCliAnalyticsMetricsFlagInfo[name]; - if (typeof userAnalytics !== 'number') { - throw new Error( - `Invalid value found in enum NgCliAnalyticsMetrics: ${JSON.stringify(userAnalytics)}`, - ); - } - _updateData(userAnalytics, flagName, type); + logger.info('Gathering metrics from @angular/cli...'); + const data = Object.entries(EventCustomMetric).map(([key, value]) => ({ + parameter: value, + name: key, + type: value.charAt(2) === 'n' ? 'number' : 'string', + })); + + if (data.length > 50) { + throw new Error( + 'GA has a limit of 50 custom metrics. Delete and archive the ones that are not needed.', + ); } - const generatedTable = userAnalyticsTable({ flags: data }).trim(); + const generatedTable = userAnalyticsTable({ data }).trim(); if (metricsTable !== generatedTable) { logger.error('Expected metrics table to be the same as generated. Copy the lines below:'); logger.error(generatedTable); @@ -164,16 +145,21 @@ export default async function (_options: {}, logger: logging.Logger): Promise ng('config', 'schematics')); - - /** - * `ng config cli.analyticsSharing.uuid ""` should generate new random user ID. - * @see: https://angular.io/cli/usage-analytics-gathering#per-user-tracking - */ - await ng('config', 'cli.analyticsSharing.uuid', ''); - const { stdout: stdout4 } = await ng('config', 'cli.analyticsSharing.uuid'); - console.log(stdout4); - if (!/(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}/i.test(stdout4)) { - throw new Error( - `Expected "cli.analyticsSharing.uuid" to be a UUID, received "${JSON.stringify(stdout4)}".`, - ); - } } From c969152de630a9afdef44ba2342e728b9353c8e7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 5 Oct 2022 09:59:18 +0000 Subject: [PATCH 1005/1388] refactor: remove analytics API from core and architect All analytics is now in the @angular/cli package BREAKING CHANGE: analytics APIs have been removed without replacement from `@angular-devkit/core` and `@angular-devkit/architect`. --- .../angular_devkit/architect/index.md | 4 - .../public-api/angular_devkit/core/index.md | 293 ------------------ packages/angular_devkit/architect/src/api.ts | 8 +- .../angular_devkit/architect/src/architect.ts | 5 +- .../architect/src/create-builder.ts | 4 +- .../architect/src/schedule-by-name.ts | 11 +- .../src/builders/browser/index.ts | 3 +- .../src/builders/dev-server/index.ts | 14 +- .../src/testing/builder-harness.ts | 7 +- .../src/webpack/configs/analytics.ts | 33 -- .../src/webpack/configs/index.ts | 1 - .../src/webpack/plugins/analytics.ts | 267 ---------------- .../src/webpack/plugins/analytics_spec.ts | 105 ------- .../angular_devkit/core/src/analytics/api.ts | 53 ---- .../core/src/analytics/forwarder.ts | 129 -------- .../core/src/analytics/index.ts | 82 ----- .../core/src/analytics/logging.ts | 35 --- .../core/src/analytics/multi.ts | 37 --- .../angular_devkit/core/src/analytics/noop.ts | 22 -- packages/angular_devkit/core/src/index.ts | 3 +- 20 files changed, 9 insertions(+), 1107 deletions(-) delete mode 100644 packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts delete mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts delete mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts delete mode 100644 packages/angular_devkit/core/src/analytics/api.ts delete mode 100644 packages/angular_devkit/core/src/analytics/forwarder.ts delete mode 100644 packages/angular_devkit/core/src/analytics/index.ts delete mode 100644 packages/angular_devkit/core/src/analytics/logging.ts delete mode 100644 packages/angular_devkit/core/src/analytics/multi.ts delete mode 100644 packages/angular_devkit/core/src/analytics/noop.ts diff --git a/goldens/public-api/angular_devkit/architect/index.md b/goldens/public-api/angular_devkit/architect/index.md index 0a7756b87f1f..89796d9bc3db 100644 --- a/goldens/public-api/angular_devkit/architect/index.md +++ b/goldens/public-api/angular_devkit/architect/index.md @@ -4,7 +4,6 @@ ```ts -import { analytics } from '@angular-devkit/core'; import { BaseException } from '@angular-devkit/core'; import { json } from '@angular-devkit/core'; import { JsonObject } from '@angular-devkit/core'; @@ -29,7 +28,6 @@ export class Architect { // @public export interface BuilderContext { addTeardown(teardown: () => Promise | void): void; - readonly analytics: analytics.Analytics; builder: BuilderInfo; currentDirectory: string; getBuilderNameForTarget(target: Target): Promise; @@ -435,8 +433,6 @@ interface ScheduleJobOptions { // @public (undocumented) export interface ScheduleOptions { - // (undocumented) - analytics?: analytics.Analytics; // (undocumented) logger?: logging.Logger; } diff --git a/goldens/public-api/angular_devkit/core/index.md b/goldens/public-api/angular_devkit/core/index.md index f3a2a1b5bc32..23cda881f1fb 100644 --- a/goldens/public-api/angular_devkit/core/index.md +++ b/goldens/public-api/angular_devkit/core/index.md @@ -28,130 +28,6 @@ class AliasHost extends ResolverHost { protected _resolve(path: Path): Path; } -// @public -interface Analytics { - // (undocumented) - event(category: string, action: string, options?: EventOptions): void; - // (undocumented) - flush(): Promise; - // (undocumented) - pageview(path: string, options?: PageviewOptions): void; - // (undocumented) - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void; - // (undocumented) - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void; -} - -declare namespace analytics { - export { - NgCliAnalyticsDimensions, - NgCliAnalyticsMetrics, - NgCliAnalyticsDimensionsFlagInfo, - NgCliAnalyticsMetricsFlagInfo, - CustomDimensionsAndMetricsOptions, - EventOptions, - ScreenviewOptions, - PageviewOptions, - TimingOptions, - Analytics, - AnalyticsReportKind, - AnalyticsReportBase, - AnalyticsReportEvent, - AnalyticsReportScreenview, - AnalyticsReportPageview, - AnalyticsReportTiming, - AnalyticsReport, - AnalyticsForwarderFn, - ForwardingAnalytics, - AnalyticsReporter, - LoggingAnalytics, - MultiAnalytics, - NoopAnalytics - } -} -export { analytics } - -// @public -type AnalyticsForwarderFn = (report: JsonObject & AnalyticsReport) => void; - -// @public (undocumented) -type AnalyticsReport = AnalyticsReportEvent | AnalyticsReportScreenview | AnalyticsReportPageview | AnalyticsReportTiming; - -// @public (undocumented) -interface AnalyticsReportBase extends JsonObject { - // (undocumented) - kind: AnalyticsReportKind; -} - -// @public (undocumented) -class AnalyticsReporter { - constructor(_analytics: Analytics); - // (undocumented) - protected _analytics: Analytics; - // (undocumented) - report(report: AnalyticsReport): void; -} - -// @public (undocumented) -interface AnalyticsReportEvent extends AnalyticsReportBase { - // (undocumented) - action: string; - // (undocumented) - category: string; - // (undocumented) - kind: AnalyticsReportKind.Event; - // (undocumented) - options: JsonObject & EventOptions; -} - -// @public (undocumented) -enum AnalyticsReportKind { - // (undocumented) - Event = "event", - // (undocumented) - Pageview = "pageview", - // (undocumented) - Screenview = "screenview", - // (undocumented) - Timing = "timing" -} - -// @public (undocumented) -interface AnalyticsReportPageview extends AnalyticsReportBase { - // (undocumented) - kind: AnalyticsReportKind.Pageview; - // (undocumented) - options: JsonObject & PageviewOptions; - // (undocumented) - path: string; -} - -// @public (undocumented) -interface AnalyticsReportScreenview extends AnalyticsReportBase { - // (undocumented) - appName: string; - // (undocumented) - kind: AnalyticsReportKind.Screenview; - // (undocumented) - options: JsonObject & ScreenviewOptions; - // (undocumented) - screenName: string; -} - -// @public (undocumented) -interface AnalyticsReportTiming extends AnalyticsReportBase { - // (undocumented) - category: string; - // (undocumented) - kind: AnalyticsReportKind.Timing; - // (undocumented) - options: JsonObject & TimingOptions; - // (undocumented) - time: string | number; - // (undocumented) - variable: string; -} - // @public (undocumented) export function asPosixPath(path: Path): PosixPath; @@ -318,14 +194,6 @@ function createSyncHost(handler: SyncHostHandler | null>; } -// @public (undocumented) -interface EventOptions extends CustomDimensionsAndMetricsOptions { - // (undocumented) - label?: string; - // (undocumented) - value?: string; -} - // @public (undocumented) export function extname(path: Path): string; @@ -397,23 +257,6 @@ export class FileDoesNotExistException extends BaseException { constructor(path: string); } -// @public -class ForwardingAnalytics implements Analytics { - constructor(_fn: AnalyticsForwarderFn); - // (undocumented) - event(category: string, action: string, options?: EventOptions): void; - // (undocumented) - flush(): Promise; - // (undocumented) - protected _fn: AnalyticsForwarderFn; - // (undocumented) - pageview(path: string, options?: PageviewOptions): void; - // (undocumented) - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void; - // (undocumented) - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void; -} - // @public (undocumented) export function fragment(path: string): PathFragment; @@ -690,23 +533,6 @@ declare namespace logging { } export { logging } -// @public -class LoggingAnalytics implements Analytics { - constructor(_logger: Logger); - // (undocumented) - event(category: string, action: string, options?: EventOptions): void; - // (undocumented) - flush(): Promise; - // (undocumented) - protected _logger: Logger; - // (undocumented) - pageview(path: string, options?: PageviewOptions): void; - // (undocumented) - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void; - // (undocumented) - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void; -} - // @public (undocumented) type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal'; @@ -718,104 +544,9 @@ export class MergeConflictException extends BaseException { // @public function mergeSchemas(...schemas: (JsonSchema | undefined)[]): JsonSchema; -// @public -class MultiAnalytics implements Analytics { - constructor(_backends?: Analytics[]); - // (undocumented) - protected _backends: Analytics[]; - // (undocumented) - event(category: string, action: string, options?: EventOptions): void; - // (undocumented) - flush(): Promise; - // (undocumented) - pageview(path: string, options?: PageviewOptions): void; - // (undocumented) - push(...backend: Analytics[]): void; - // (undocumented) - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void; - // (undocumented) - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void; -} - -// @public -enum NgCliAnalyticsDimensions { - // (undocumented) - AngularCLIMajorVersion = 8, - // (undocumented) - BuildErrors = 20, - // (undocumented) - CpuCount = 1, - // (undocumented) - CpuSpeed = 2, - // (undocumented) - NgAddCollection = 6, - // (undocumented) - NodeVersion = 4, - // (undocumented) - RamInGigabytes = 3 -} - -// @public (undocumented) -const NgCliAnalyticsDimensionsFlagInfo: { - [name: string]: [string, string]; -}; - -// @public (undocumented) -enum NgCliAnalyticsMetrics { - // (undocumented) - AssetCount = 12, - // (undocumented) - AssetSize = 13, - // (undocumented) - BuildTime = 5, - // (undocumented) - CssSize = 15, - // (undocumented) - InitialChunkSize = 7, - // (undocumented) - LazyChunkCount = 10, - // (undocumented) - LazyChunkSize = 11, - // (undocumented) - NgComponentCount = 1, - // (undocumented) - NgOnInitCount = 6, - // (undocumented) - PolyfillSize = 14, - // (undocumented) - TotalChunkCount = 8, - // (undocumented) - TotalChunkSize = 9, - // (undocumented) - UNUSED_2 = 2, - // (undocumented) - UNUSED_3 = 3, - // (undocumented) - UNUSED_4 = 4 -} - -// @public (undocumented) -const NgCliAnalyticsMetricsFlagInfo: { - [name: string]: [string, string]; -}; - // @public export function noCacheNormalize(path: string): Path; -// @public -class NoopAnalytics implements Analytics { - // (undocumented) - event(): void; - // (undocumented) - flush(): Promise; - // (undocumented) - pageview(): void; - // (undocumented) - screenview(): void; - // (undocumented) - timing(): void; -} - // @public export function normalize(path: string): Path; @@ -835,14 +566,6 @@ class NullLogger extends Logger { // @public (undocumented) function oneLine(strings: TemplateStringsArray, ...values: any[]): string; -// @public (undocumented) -interface PageviewOptions extends CustomDimensionsAndMetricsOptions { - // (undocumented) - hostname?: string; - // (undocumented) - title?: string; -} - // @public (undocumented) function parseJsonPointer(pointer: JsonPointer): string[]; @@ -1206,16 +929,6 @@ class ScopedHost extends ResolverHost { protected _root: Path; } -// @public (undocumented) -interface ScreenviewOptions extends CustomDimensionsAndMetricsOptions { - // (undocumented) - appId?: string; - // (undocumented) - appInstallerId?: string; - // (undocumented) - appVersion?: string; -} - // @public (undocumented) class SimpleMemoryHost implements Host<{}> { constructor(); @@ -1591,12 +1304,6 @@ namespace test { }; } -// @public (undocumented) -interface TimingOptions extends CustomDimensionsAndMetricsOptions { - // (undocumented) - label?: string; -} - // @public (undocumented) class TransformLogger extends Logger { constructor(name: string, transform: (stream: Observable) => Observable, parent?: Logger | null); diff --git a/packages/angular_devkit/architect/src/api.ts b/packages/angular_devkit/architect/src/api.ts index ebe538a99dbf..0b0bd9d2f131 100644 --- a/packages/angular_devkit/architect/src/api.ts +++ b/packages/angular_devkit/architect/src/api.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, json, logging } from '@angular-devkit/core'; +import { json, logging } from '@angular-devkit/core'; import { Observable, SubscribableOrPromise, Subscriber, from } from 'rxjs'; import { switchMap } from 'rxjs/operators'; import { Schema as RealBuilderInput, Target as RealTarget } from './input-schema'; @@ -239,12 +239,6 @@ export interface BuilderContext { */ reportProgress(current: number, total?: number, status?: string): void; - /** - * API to report analytics. This might be undefined if the feature is unsupported. This might - * not be undefined, but the backend could also not report anything. - */ - readonly analytics: analytics.Analytics; - /** * Add teardown logic to this Context, so that when it's being stopped it will execute teardown. */ diff --git a/packages/angular_devkit/architect/src/architect.ts b/packages/angular_devkit/architect/src/architect.ts index d8ced621b008..407e01c541e9 100644 --- a/packages/angular_devkit/architect/src/architect.ts +++ b/packages/angular_devkit/architect/src/architect.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, json, logging } from '@angular-devkit/core'; +import { json, logging } from '@angular-devkit/core'; import { Observable, from, merge, of, onErrorResumeNext } from 'rxjs'; import { concatMap, @@ -142,7 +142,6 @@ function _createJobHandlerFromBuilderInfo( export interface ScheduleOptions { logger?: logging.Logger; - analytics?: analytics.Analytics; } /** @@ -407,7 +406,6 @@ export class Architect { logger: scheduleOptions.logger || new logging.NullLogger(), currentDirectory: this._host.getCurrentDirectory(), workspaceRoot: this._host.getWorkspaceRoot(), - analytics: scheduleOptions.analytics, }); } scheduleTarget( @@ -420,7 +418,6 @@ export class Architect { logger: scheduleOptions.logger || new logging.NullLogger(), currentDirectory: this._host.getCurrentDirectory(), workspaceRoot: this._host.getWorkspaceRoot(), - analytics: scheduleOptions.analytics, }); } } diff --git a/packages/angular_devkit/architect/src/create-builder.ts b/packages/angular_devkit/architect/src/create-builder.ts index ad1ad5073950..b52b3d970123 100644 --- a/packages/angular_devkit/architect/src/create-builder.ts +++ b/packages/angular_devkit/architect/src/create-builder.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, json, logging } from '@angular-devkit/core'; +import { json, logging } from '@angular-devkit/core'; import { Observable, Subscription, from, isObservable, of, throwError } from 'rxjs'; import { mergeMap, tap } from 'rxjs/operators'; import { @@ -37,7 +37,6 @@ export function createBuilder PromiseLike | void> = []; let tearingDown = false; @@ -194,7 +193,6 @@ export function createBuilder analyticsChannel.next(report)), addTeardown(teardown: () => Promise | void): void { teardownLogics.push(teardown); }, diff --git a/packages/angular_devkit/architect/src/schedule-by-name.ts b/packages/angular_devkit/architect/src/schedule-by-name.ts index 8e86aa836035..f28138a6d5fb 100644 --- a/packages/angular_devkit/architect/src/schedule-by-name.ts +++ b/packages/angular_devkit/architect/src/schedule-by-name.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { analytics, json, logging } from '@angular-devkit/core'; +import { json, logging } from '@angular-devkit/core'; import { EMPTY, Subscription } from 'rxjs'; import { catchError, first, ignoreElements, map, shareReplay } from 'rxjs/operators'; import { @@ -33,7 +33,6 @@ export async function scheduleByName( logger: logging.LoggerApi; workspaceRoot: string | Promise; currentDirectory: string | Promise; - analytics?: analytics.Analytics; }, ): Promise { const childLoggerName = options.target ? `{${targetStringFromTarget(options.target)}}` : name; @@ -100,13 +99,6 @@ export async function scheduleByName( shareReplay(), ); - // If there's an analytics object, take the job channel and report it to the analytics. - if (options.analytics) { - const reporter = new analytics.AnalyticsReporter(options.analytics); - job - .getChannel('analytics') - .subscribe((report) => reporter.report(report)); - } // Start the builder. output.pipe(first()).subscribe({ error() {}, @@ -144,7 +136,6 @@ export async function scheduleByTarget( logger: logging.LoggerApi; workspaceRoot: string | Promise; currentDirectory: string | Promise; - analytics?: analytics.Analytics; }, ): Promise { return scheduleByName(`{${targetStringFromTarget(target)}}`, overrides, { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 6a310a4d45a6..ee338c0c3447 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -47,7 +47,7 @@ import { getIndexInputFile, getIndexOutputFile, } from '../../utils/webpack-browser-config'; -import { getAnalyticsConfig, getCommonConfig, getStylesConfig } from '../../webpack/configs'; +import { getCommonConfig, getStylesConfig } from '../../webpack/configs'; import { markAsyncChunksNonInitial } from '../../webpack/utils/async-chunks'; import { normalizeExtraEntryPoints } from '../../webpack/utils/helpers'; import { @@ -105,7 +105,6 @@ async function initialize( await generateI18nBrowserWebpackConfigFromContext(adjustedOptions, context, (wco) => [ getCommonConfig(wco), getStylesConfig(wco), - getAnalyticsConfig(wco, context), ]); // Validate asset option values if processed directly diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index cdcb41122498..cf76d3610edf 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -36,12 +36,7 @@ import { getIndexOutputFile, } from '../../utils/webpack-browser-config'; import { addError, addWarning } from '../../utils/webpack-diagnostics'; -import { - getAnalyticsConfig, - getCommonConfig, - getDevServerConfig, - getStylesConfig, -} from '../../webpack/configs'; +import { getCommonConfig, getDevServerConfig, getStylesConfig } from '../../webpack/configs'; import { IndexHtmlWebpackPlugin } from '../../webpack/plugins/index-html-webpack-plugin'; import { ServiceWorkerPlugin } from '../../webpack/plugins/service-worker-plugin'; import { createWebpackLoggingCallback } from '../../webpack/utils/stats'; @@ -167,12 +162,7 @@ export function serveWebpackBrowser( const { config, projectRoot, i18n } = await generateI18nBrowserWebpackConfigFromContext( browserOptions, context, - (wco) => [ - getDevServerConfig(wco), - getCommonConfig(wco), - getStylesConfig(wco), - getAnalyticsConfig(wco, context), - ], + (wco) => [getDevServerConfig(wco), getCommonConfig(wco), getStylesConfig(wco)], options, ); diff --git a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts index 4a930039d33e..3bfbb686244e 100644 --- a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts +++ b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts @@ -21,7 +21,7 @@ import { } from '@angular-devkit/architect'; import { WorkspaceHost } from '@angular-devkit/architect/node'; import { TestProjectHost } from '@angular-devkit/architect/testing'; -import { analytics, getSystemPath, join, json, logging, normalize } from '@angular-devkit/core'; +import { getSystemPath, join, json, logging, normalize } from '@angular-devkit/core'; import { Observable, Subject, from as observableFrom, of as observableOf } from 'rxjs'; import { catchError, finalize, first, map, mergeMap, shareReplay } from 'rxjs/operators'; import { BuilderWatcherFactory, WatcherNotifier } from './file-watching'; @@ -379,11 +379,6 @@ class HarnessBuilderContext implements BuilderContext { this.workspaceRoot = this.currentDirectory = basePath; } - get analytics(): analytics.Analytics { - // Can be undefined even though interface does not allow it - return undefined as unknown as analytics.Analytics; - } - addTeardown(teardown: () => Promise | void): void { this.teardowns.push(teardown); } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts deleted file mode 100644 index 05a8e7aa3831..000000000000 --- a/packages/angular_devkit/build_angular/src/webpack/configs/analytics.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { BuilderContext } from '@angular-devkit/architect'; -import { Configuration } from 'webpack'; -import { WebpackConfigOptions } from '../../utils/build-options'; -import { NgBuildAnalyticsPlugin } from '../plugins/analytics'; - -export function getAnalyticsConfig( - wco: WebpackConfigOptions, - context: BuilderContext, -): Configuration { - if (!context.analytics) { - return {}; - } - - // If there's analytics, add our plugin. Otherwise no need to slow down the build. - let category = 'build'; - if (context.builder) { - // We already vetted that this is a "safe" package, otherwise the analytics would be noop. - category = context.builder.builderName.split(':')[1] || context.builder.builderName || 'build'; - } - - // The category is the builder name if it's an angular builder. - return { - plugins: [new NgBuildAnalyticsPlugin(wco.projectRoot, context.analytics, category)], - }; -} diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/index.ts b/packages/angular_devkit/build_angular/src/webpack/configs/index.ts index 14a1ba5e822b..b57c5fe13fb4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/index.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -export * from './analytics'; export * from './common'; export * from './dev-server'; export * from './styles'; diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts deleted file mode 100644 index f79e1c471c72..000000000000 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics.ts +++ /dev/null @@ -1,267 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { analytics } from '@angular-devkit/core'; -import { Compilation, Compiler, Module, NormalModule, Stats } from 'webpack'; - -const webpackAllErrorMessageRe = /^([^(]+)\(\d+,\d\): (.*)$/gm; -const webpackTsErrorMessageRe = /^[^(]+\(\d+,\d\): error (TS\d+):/; - -/** - * Faster than using a RegExp, so we use this to count occurences in source code. - * @param source The source to look into. - * @param match The match string to look for. - * @param wordBreak Whether to check for word break before and after a match was found. - * @return The number of matches found. - * @private - */ -export function countOccurrences(source: string, match: string, wordBreak = false): number { - if (match.length == 0) { - return source.length + 1; - } - - let count = 0; - // We condition here so branch prediction happens out of the loop, not in it. - if (wordBreak) { - const re = /\w/; - for (let pos = source.lastIndexOf(match); pos >= 0; pos = source.lastIndexOf(match, pos)) { - if (!(re.test(source[pos - 1] || '') || re.test(source[pos + match.length] || ''))) { - count++; // 1 match, AH! AH! AH! 2 matches, AH! AH! AH! - } - - pos -= match.length; - if (pos < 0) { - break; - } - } - } else { - for (let pos = source.lastIndexOf(match); pos >= 0; pos = source.lastIndexOf(match, pos)) { - count++; // 1 match, AH! AH! AH! 2 matches, AH! AH! AH! - pos -= match.length; - if (pos < 0) { - break; - } - } - } - - return count; -} - -/** - * Holder of statistics related to the build. - */ -class AnalyticsBuildStats { - public errors: string[] = []; - public numberOfNgOnInit = 0; - public numberOfComponents = 0; - public initialChunkSize = 0; - public totalChunkCount = 0; - public totalChunkSize = 0; - public lazyChunkCount = 0; - public lazyChunkSize = 0; - public assetCount = 0; - public assetSize = 0; - public polyfillSize = 0; - public cssSize = 0; -} - -/** - * Analytics plugin that reports the analytics we want from the CLI. - */ -export class NgBuildAnalyticsPlugin { - protected _built = false; - protected _stats = new AnalyticsBuildStats(); - - constructor( - protected _projectRoot: string, - protected _analytics: analytics.Analytics, - protected _category: string, - ) {} - - protected _reset() { - this._stats = new AnalyticsBuildStats(); - } - - protected _getMetrics(stats: Stats) { - const startTime = +(stats.startTime || 0); - const endTime = +(stats.endTime || 0); - const metrics: (string | number)[] = []; - metrics[analytics.NgCliAnalyticsMetrics.BuildTime] = endTime - startTime; - metrics[analytics.NgCliAnalyticsMetrics.NgOnInitCount] = this._stats.numberOfNgOnInit; - metrics[analytics.NgCliAnalyticsMetrics.NgComponentCount] = this._stats.numberOfComponents; - metrics[analytics.NgCliAnalyticsMetrics.InitialChunkSize] = this._stats.initialChunkSize; - metrics[analytics.NgCliAnalyticsMetrics.TotalChunkCount] = this._stats.totalChunkCount; - metrics[analytics.NgCliAnalyticsMetrics.TotalChunkSize] = this._stats.totalChunkSize; - metrics[analytics.NgCliAnalyticsMetrics.LazyChunkCount] = this._stats.lazyChunkCount; - metrics[analytics.NgCliAnalyticsMetrics.LazyChunkSize] = this._stats.lazyChunkSize; - metrics[analytics.NgCliAnalyticsMetrics.AssetCount] = this._stats.assetCount; - metrics[analytics.NgCliAnalyticsMetrics.AssetSize] = this._stats.assetSize; - metrics[analytics.NgCliAnalyticsMetrics.PolyfillSize] = this._stats.polyfillSize; - metrics[analytics.NgCliAnalyticsMetrics.CssSize] = this._stats.cssSize; - - return metrics; - } - protected _getDimensions() { - const dimensions: (string | number | boolean)[] = []; - - if (this._stats.errors.length) { - // Adding commas before and after so the regex are easier to define filters. - dimensions[analytics.NgCliAnalyticsDimensions.BuildErrors] = `,${this._stats.errors.join()},`; - } - - return dimensions; - } - - protected _reportBuildMetrics(stats: Stats) { - const dimensions = this._getDimensions(); - const metrics = this._getMetrics(stats); - this._analytics.event(this._category, 'build', { dimensions, metrics }); - } - - protected _reportRebuildMetrics(stats: Stats) { - const dimensions = this._getDimensions(); - const metrics = this._getMetrics(stats); - this._analytics.event(this._category, 'rebuild', { dimensions, metrics }); - } - - protected _checkTsNormalModule(module: NormalModule) { - const originalSource = module.originalSource(); - if (!originalSource) { - return; - } - - const originalContent = originalSource.source().toString(); - - // PLEASE REMEMBER: - // We're dealing with ES5 _or_ ES2015 JavaScript at this point (we don't know for sure). - - // Just count the ngOnInit occurences. Comments/Strings/calls occurences should be sparse - // so we just consider them within the margin of error. We do break on word break though. - this._stats.numberOfNgOnInit += countOccurrences(originalContent, 'ngOnInit', true); - - // Count the number of `Component({` strings (case sensitive), which happens in __decorate(). - this._stats.numberOfComponents += countOccurrences(originalContent, 'Component({'); - // For Ivy we just count ɵcmp. - this._stats.numberOfComponents += countOccurrences(originalContent, '.ɵcmp', true); - // for ascii_only true - this._stats.numberOfComponents += countOccurrences(originalContent, '.\u0275cmp', true); - } - - protected _collectErrors(stats: Stats) { - if (stats.hasErrors()) { - for (const errObject of stats.compilation.errors) { - if (errObject instanceof Error) { - const allErrors = errObject.message.match(webpackAllErrorMessageRe); - for (const err of [...(allErrors || [])].slice(1)) { - const message = (err.match(webpackTsErrorMessageRe) || [])[1]; - if (message) { - // At this point this should be a TS1234. - this._stats.errors.push(message); - } - } - } - } - } - } - - protected _collectBundleStats(compilation: Compilation) { - const chunkAssets = new Set(); - for (const chunk of compilation.chunks) { - if (!chunk.rendered || chunk.files.size === 0) { - continue; - } - - const firstFile = Array.from(chunk.files)[0]; - const size = compilation.getAsset(firstFile)?.source.size() ?? 0; - chunkAssets.add(firstFile); - - if (chunk.canBeInitial()) { - this._stats.initialChunkSize += size; - } else { - this._stats.lazyChunkCount++; - this._stats.lazyChunkSize += size; - } - - this._stats.totalChunkCount++; - this._stats.totalChunkSize += size; - - if (firstFile.endsWith('.css')) { - this._stats.cssSize += size; - } - } - - for (const asset of compilation.getAssets()) { - // Only count non-JavaScript related files - if (chunkAssets.has(asset.name)) { - continue; - } - - this._stats.assetSize += asset.source.size(); - this._stats.assetCount++; - - if (asset.name == 'polyfill') { - this._stats.polyfillSize += asset.source.size(); - } - } - } - - /** ********************************************************************************************** - * The next section is all the different Webpack hooks for this plugin. - */ - - /** - * Reports a succeed module. - * @private - */ - protected _succeedModule(module: Module) { - // Only report NormalModule instances. - if (!(module instanceof NormalModule)) { - return; - } - - // Only reports modules that are part of the user's project. We also don't do node_modules. - // There is a chance that someone name a file path `hello_node_modules` or something and we - // will ignore that file for the purpose of gathering, but we're willing to take the risk. - if ( - !module.resource || - !module.resource.startsWith(this._projectRoot) || - module.resource.indexOf('node_modules') >= 0 - ) { - return; - } - - // Check that it's a source file from the project. - if (module.resource.endsWith('.ts')) { - this._checkTsNormalModule(module); - } - } - - protected _compilation(compiler: Compiler, compilation: Compilation) { - this._reset(); - compilation.hooks.succeedModule.tap('NgBuildAnalyticsPlugin', this._succeedModule.bind(this)); - } - - protected _done(stats: Stats) { - this._collectErrors(stats); - this._collectBundleStats(stats.compilation); - if (this._built) { - this._reportRebuildMetrics(stats); - } else { - this._reportBuildMetrics(stats); - this._built = true; - } - } - - apply(compiler: Compiler): void { - compiler.hooks.compilation.tap( - 'NgBuildAnalyticsPlugin', - this._compilation.bind(this, compiler), - ); - compiler.hooks.done.tap('NgBuildAnalyticsPlugin', this._done.bind(this)); - } -} diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts deleted file mode 100644 index a19c020fc63c..000000000000 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/analytics_spec.ts +++ /dev/null @@ -1,105 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { countOccurrences } from './analytics'; - -function _randomString(len: number) { - const charSpace = `0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`; - - let s = ''; - for (let i = 0; i < len; i++) { - s += charSpace[Math.floor(Math.random() * charSpace.length)]; - } - - return s; -} - -describe('countOccurrences', () => { - // Every use cases is a text, search, word break or not, and expected result. - const useCases: [string, string, boolean, number][] = [ - ['abc1def1ghi1jkl1mno1pqrs1tuvw1xyz', '1', false, 7], // 0 - ['abc1def12ghi1jkl1mno12pqrs12tuvw1xyz12', '12', false, 4], // 1 - ['abc', 'abc', false, 1], // 2 - ['abc', 'abc', true, 1], // 3 - ['aaaaa', 'aaa', false, 1], // 4 - ['aa aaa', 'aaa', true, 1], // 5 - ['aaaaaa', 'aaa', false, 2], // 6 - ['aaa aaa', 'aaa', true, 2], // 7 - ['a', 'a', false, 1], // 8 - ['a', 'a', true, 1], // 9 - ]; - - useCases.forEach(([text, search, wordBreak, expected], i) => { - it(`works (${i})`, () => { - expect(countOccurrences(text, search, wordBreak)).toBe(expected); - }); - }); - - // Random testing. - it('can count (random, wordBreak=false)', () => { - // Generate a random string with injected search strings in it. - let text = _randomString(10000); - const search = _randomString(100).toLowerCase(); - const nb = Math.floor(Math.random() * 200 + 100); - - // Insert nb search string in. - new Array(nb) - .fill(0) - // Map it with a random position. - .map(() => Math.floor(Math.random() * text.length)) - // Sort from highest to lowest. - .sort((a, b) => b - a) - // Insert the search string for each position created this way. - .forEach((pos) => { - text = text.slice(0, pos) + search + text.slice(pos); - }); - - expect(countOccurrences(text, search, false)).toBe(nb); - expect(countOccurrences(text, search, true)).toBe(0); - }); - - it('can count (random, wordBreak=true)', () => { - // Generate a random string with injected search strings in it. - let text = _randomString(10000); - const search = _randomString(100).toLowerCase(); - let nb = Math.floor(Math.random() * 200 + 100); - - // Insert nb search string in. - new Array(nb) - .fill(0) - // Map it with a random position. - .map(() => Math.floor(Math.random() * text.length)) - // Sort from highest to lowest. - .sort((a, b) => b - a) - // Insert the search string for each position created this way. - .forEach((pos) => { - switch (Math.floor(Math.random() * 5)) { - case 0: - // Do not insert a wordbreak. - text = text.slice(0, pos) + search + text.slice(pos); - nb--; - break; - - case 1: - text = text.slice(0, pos) + ' ' + search + ' ' + text.slice(pos); - break; - case 2: - text = text.slice(0, pos) + '(' + search + '$' + text.slice(pos); - break; - case 3: - text = text.slice(0, pos) + '|' + search + ')' + text.slice(pos); - break; - case 4: - text = text.slice(0, pos) + '-' + search + '.' + text.slice(pos); - break; - } - }); - - expect(countOccurrences(text, search, true)).toBe(nb); - }); -}); diff --git a/packages/angular_devkit/core/src/analytics/api.ts b/packages/angular_devkit/core/src/analytics/api.ts deleted file mode 100644 index 5bce57099418..000000000000 --- a/packages/angular_devkit/core/src/analytics/api.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export interface CustomDimensionsAndMetricsOptions { - dimensions?: (boolean | number | string)[]; - metrics?: (boolean | number | string)[]; -} - -export interface EventOptions extends CustomDimensionsAndMetricsOptions { - label?: string; - value?: string; -} - -export interface ScreenviewOptions extends CustomDimensionsAndMetricsOptions { - appVersion?: string; - appId?: string; - appInstallerId?: string; -} - -export interface PageviewOptions extends CustomDimensionsAndMetricsOptions { - hostname?: string; - title?: string; -} - -export interface TimingOptions extends CustomDimensionsAndMetricsOptions { - label?: string; -} - -/** - * Interface for managing analytics. This is highly platform dependent, and mostly matches - * Google Analytics. The reason the interface is here is to remove the dependency to an - * implementation from most other places. - * - * The methods exported from this interface more or less match those needed by us in the - * universal analytics package, see https://unpkg.com/@types/universal-analytics@0.4.2/index.d.ts - * for typings. We mostly named arguments to make it easier to follow, but didn't change or - * add any semantics to those methods. They're mapping GA and u-a one for one. - * - * The Angular CLI (or any other kind of backend) should forward it to some compatible backend. - */ -export interface Analytics { - event(category: string, action: string, options?: EventOptions): void; - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void; - pageview(path: string, options?: PageviewOptions): void; - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void; - - flush(): Promise; -} diff --git a/packages/angular_devkit/core/src/analytics/forwarder.ts b/packages/angular_devkit/core/src/analytics/forwarder.ts deleted file mode 100644 index 31e5fb373a28..000000000000 --- a/packages/angular_devkit/core/src/analytics/forwarder.ts +++ /dev/null @@ -1,129 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { JsonObject } from '../json'; -import { Analytics, EventOptions, PageviewOptions, ScreenviewOptions, TimingOptions } from './api'; - -export enum AnalyticsReportKind { - Event = 'event', - Screenview = 'screenview', - Pageview = 'pageview', - Timing = 'timing', -} - -export interface AnalyticsReportBase extends JsonObject { - kind: AnalyticsReportKind; -} - -export interface AnalyticsReportEvent extends AnalyticsReportBase { - kind: AnalyticsReportKind.Event; - options: JsonObject & EventOptions; - category: string; - action: string; -} -export interface AnalyticsReportScreenview extends AnalyticsReportBase { - kind: AnalyticsReportKind.Screenview; - options: JsonObject & ScreenviewOptions; - screenName: string; - appName: string; -} -export interface AnalyticsReportPageview extends AnalyticsReportBase { - kind: AnalyticsReportKind.Pageview; - options: JsonObject & PageviewOptions; - path: string; -} -export interface AnalyticsReportTiming extends AnalyticsReportBase { - kind: AnalyticsReportKind.Timing; - options: JsonObject & TimingOptions; - category: string; - variable: string; - time: string | number; -} - -export type AnalyticsReport = - | AnalyticsReportEvent - | AnalyticsReportScreenview - | AnalyticsReportPageview - | AnalyticsReportTiming; - -/** - * A function that can forward analytics along some stream. AnalyticsReport is already a - * JsonObject descendant, but we force it here so the user knows it's safe to serialize. - */ -export type AnalyticsForwarderFn = (report: JsonObject & AnalyticsReport) => void; - -/** - * A class that follows the Analytics interface and forwards analytic reports (JavaScript objects). - * AnalyticsReporter is the counterpart which takes analytic reports and report them to another - * Analytics interface. - */ -export class ForwardingAnalytics implements Analytics { - constructor(protected _fn: AnalyticsForwarderFn) {} - - event(category: string, action: string, options?: EventOptions) { - this._fn({ - kind: AnalyticsReportKind.Event, - category, - action, - options: { ...options } as JsonObject, - }); - } - screenview(screenName: string, appName: string, options?: ScreenviewOptions) { - this._fn({ - kind: AnalyticsReportKind.Screenview, - screenName, - appName, - options: { ...options } as JsonObject, - }); - } - pageview(path: string, options?: PageviewOptions) { - this._fn({ - kind: AnalyticsReportKind.Pageview, - path, - options: { ...options } as JsonObject, - }); - } - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void { - this._fn({ - kind: AnalyticsReportKind.Timing, - category, - variable, - time, - options: { ...options } as JsonObject, - }); - } - - // We do not support flushing. - flush() { - return Promise.resolve(); - } -} - -export class AnalyticsReporter { - constructor(protected _analytics: Analytics) {} - - report(report: AnalyticsReport) { - switch (report.kind) { - case AnalyticsReportKind.Event: - this._analytics.event(report.category, report.action, report.options); - break; - case AnalyticsReportKind.Screenview: - this._analytics.screenview(report.screenName, report.appName, report.options); - break; - case AnalyticsReportKind.Pageview: - this._analytics.pageview(report.path, report.options); - break; - case AnalyticsReportKind.Timing: - this._analytics.timing(report.category, report.variable, report.time, report.options); - break; - - default: - throw new Error('Unexpected analytics report: ' + JSON.stringify(report)); - } - } -} diff --git a/packages/angular_devkit/core/src/analytics/index.ts b/packages/angular_devkit/core/src/analytics/index.ts deleted file mode 100644 index 223c79b93aca..000000000000 --- a/packages/angular_devkit/core/src/analytics/index.ts +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -export * from './api'; -export * from './forwarder'; -export * from './logging'; -export * from './multi'; -export * from './noop'; - -/** - * MAKE SURE TO KEEP THIS IN SYNC WITH THE TABLE AND CONTENT IN `/docs/design/analytics.md`. - * WE LIST THOSE DIMENSIONS (AND MORE). - * - * These cannot be in their respective schema.json file because we either change the type - * (e.g. --buildEventLog is string, but we want to know the usage of it, not its value), or - * some validation needs to be done (we cannot record ng add --collection if it's not marked as - * allowed). - */ -export enum NgCliAnalyticsDimensions { - CpuCount = 1, - CpuSpeed = 2, - RamInGigabytes = 3, - NodeVersion = 4, - NgAddCollection = 6, - AngularCLIMajorVersion = 8, - BuildErrors = 20, -} - -export enum NgCliAnalyticsMetrics { - NgComponentCount = 1, - UNUSED_2 = 2, - UNUSED_3 = 3, - UNUSED_4 = 4, - BuildTime = 5, - NgOnInitCount = 6, - InitialChunkSize = 7, - TotalChunkCount = 8, - TotalChunkSize = 9, - LazyChunkCount = 10, - LazyChunkSize = 11, - AssetCount = 12, - AssetSize = 13, - PolyfillSize = 14, - CssSize = 15, -} - -// This table is used when generating the analytics.md file. It should match the enum above -// or the validate-user-analytics script will fail. -export const NgCliAnalyticsDimensionsFlagInfo: { [name: string]: [string, string] } = { - CpuCount: ['CPU Count', 'number'], - CpuSpeed: ['CPU Speed', 'number'], - RamInGigabytes: ['RAM (In GB)', 'number'], - NodeVersion: ['Node Version', 'number'], - NgAddCollection: ['--collection', 'string'], - AngularCLIMajorVersion: ['Angular CLI Major Version', 'string'], - BuildErrors: ['Build Errors (comma separated)', 'string'], -}; - -// This table is used when generating the analytics.md file. It should match the enum above -// or the validate-user-analytics script will fail. -export const NgCliAnalyticsMetricsFlagInfo: { [name: string]: [string, string] } = { - NgComponentCount: ['NgComponentCount', 'number'], - UNUSED_2: ['UNUSED_2', 'none'], - UNUSED_3: ['UNUSED_3', 'none'], - UNUSED_4: ['UNUSED_4', 'none'], - BuildTime: ['Build Time', 'number'], - NgOnInitCount: ['NgOnInit Count', 'number'], - InitialChunkSize: ['Initial Chunk Size', 'number'], - TotalChunkCount: ['Total Chunk Count', 'number'], - TotalChunkSize: ['Total Chunk Size', 'number'], - LazyChunkCount: ['Lazy Chunk Count', 'number'], - LazyChunkSize: ['Lazy Chunk Size', 'number'], - AssetCount: ['Asset Count', 'number'], - AssetSize: ['Asset Size', 'number'], - PolyfillSize: [' Polyfill Size', 'number'], - CssSize: [' Css Size', 'number'], -}; diff --git a/packages/angular_devkit/core/src/analytics/logging.ts b/packages/angular_devkit/core/src/analytics/logging.ts deleted file mode 100644 index 2811d8b47717..000000000000 --- a/packages/angular_devkit/core/src/analytics/logging.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Logger } from '../logger'; -import { Analytics, EventOptions, PageviewOptions, ScreenviewOptions, TimingOptions } from './api'; - -/** - * Analytics implementation that logs analytics events to a logger. This should be used for - * debugging mainly. - */ -export class LoggingAnalytics implements Analytics { - constructor(protected _logger: Logger) {} - - event(category: string, action: string, options?: EventOptions): void { - this._logger.info('event ' + JSON.stringify({ category, action, ...options })); - } - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void { - this._logger.info('screenview ' + JSON.stringify({ screenName, appName, ...options })); - } - pageview(path: string, options?: PageviewOptions): void { - this._logger.info('pageview ' + JSON.stringify({ path, ...options })); - } - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void { - this._logger.info('timing ' + JSON.stringify({ category, variable, time, ...options })); - } - - flush(): Promise { - return Promise.resolve(); - } -} diff --git a/packages/angular_devkit/core/src/analytics/multi.ts b/packages/angular_devkit/core/src/analytics/multi.ts deleted file mode 100644 index d5019ba3fd99..000000000000 --- a/packages/angular_devkit/core/src/analytics/multi.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Analytics, EventOptions, PageviewOptions, ScreenviewOptions, TimingOptions } from './api'; - -/** - * Analytics implementation that reports to multiple analytics backend. - */ -export class MultiAnalytics implements Analytics { - constructor(protected _backends: Analytics[] = []) {} - - push(...backend: Analytics[]) { - this._backends.push(...backend); - } - - event(category: string, action: string, options?: EventOptions): void { - this._backends.forEach((be) => be.event(category, action, options)); - } - screenview(screenName: string, appName: string, options?: ScreenviewOptions): void { - this._backends.forEach((be) => be.screenview(screenName, appName, options)); - } - pageview(path: string, options?: PageviewOptions): void { - this._backends.forEach((be) => be.pageview(path, options)); - } - timing(category: string, variable: string, time: string | number, options?: TimingOptions): void { - this._backends.forEach((be) => be.timing(category, variable, time, options)); - } - - flush(): Promise { - return Promise.all(this._backends.map((x) => x.flush())).then(() => {}); - } -} diff --git a/packages/angular_devkit/core/src/analytics/noop.ts b/packages/angular_devkit/core/src/analytics/noop.ts deleted file mode 100644 index cba315a3dd2c..000000000000 --- a/packages/angular_devkit/core/src/analytics/noop.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { Analytics } from './api'; - -/** - * Analytics implementation that does nothing. - */ -export class NoopAnalytics implements Analytics { - event() {} - screenview() {} - pageview() {} - timing() {} - flush(): Promise { - return Promise.resolve(); - } -} diff --git a/packages/angular_devkit/core/src/index.ts b/packages/angular_devkit/core/src/index.ts index d06b06019d44..4f85dca195e7 100644 --- a/packages/angular_devkit/core/src/index.ts +++ b/packages/angular_devkit/core/src/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import * as analytics from './analytics'; import * as json from './json/index'; import * as logging from './logger/index'; import * as workspaces from './workspace'; @@ -16,4 +15,4 @@ export * from './json/index'; export * from './utils/index'; export * from './virtual-fs/index'; -export { analytics, json, logging, workspaces }; +export { json, logging, workspaces }; From 124be1cc9c6b166a9266c13232ddff8dd9c195c7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 6 Oct 2022 12:50:17 +0000 Subject: [PATCH 1006/1388] refactor: add build and rebuild related statistics and analytics The new build and rebuild statistics are used by the CLI to submit build related information to GA. --- docs/design/analytics.md | 9 +- .../angular_devkit/build_angular/index.md | 2 + .../angular_devkit/build_webpack/index.md | 1 + .../cli/src/analytics/analytics-collector.ts | 1 + .../cli/src/analytics/analytics-parameters.ts | 3 + .../architect-base-command-module.ts | 79 +++- .../src/builders/browser-esbuild/schema.json | 1 + .../src/builders/browser/index.ts | 377 ++++++++++-------- .../src/builders/browser/schema.json | 1 + .../src/builders/dev-server/index.ts | 18 +- .../src/webpack/configs/common.ts | 11 +- .../src/webpack/plugins/occurrences-plugin.ts | 98 +++++ .../build_angular/src/webpack/utils/stats.ts | 87 +++- .../src/webpack-dev-server/index.ts | 6 + 14 files changed, 499 insertions(+), 195 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/webpack/plugins/occurrences-plugin.ts diff --git a/docs/design/analytics.md b/docs/design/analytics.md index de136fd071c6..3eeb19bb3b4e 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -45,7 +45,7 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | User-scoped custom dimensions | 25 | | All custom metrics | 50 | -### List Of User Custom Dimensions +### List of User Custom Dimensions | Name | Parameter | Type | @@ -63,7 +63,7 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | Optimization | `ep.ng_optimization` | `string` | -### List Of Event Custom Dimensions +### List of Event Custom Dimensions | Name | Parameter | Type | @@ -81,7 +81,7 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | Optimization | `ep.ng_optimization` | `string` | -### List Of Event Custom Metrics +### List of Event Custom Metrics | Name | Parameter | Type | @@ -91,6 +91,9 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | InitialChunksCount | `epn.ng_initial_chunks_count` | `number` | | ChangedChunksCount | `epn.ng_changed_chunks_count` | `number` | | DurationInMs | `epn.ng_duration_ms` | `number` | +| CssSizeInBytes | `epn.ng_css_size_bytes` | `number` | +| JsSizeInBytes | `epn.ng_js_size_bytes` | `number` | +| NgComponentCount | `epn.ng_component_count` | `number` | ## Debugging diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index e34dfbd7cad7..1fdb8b73e0e3 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -73,6 +73,7 @@ export interface BrowserBuilderOptions { // @public export type BrowserBuilderOutput = BuilderOutput & { + stats: BuildEventStats; baseOutputPath: string; outputPaths: string[]; outputPath: string; @@ -112,6 +113,7 @@ export type DevServerBuilderOptions = Schema; // @public export type DevServerBuilderOutput = DevServerBuildOutput & { baseUrl: string; + stats: BuildEventStats; }; // @public diff --git a/goldens/public-api/angular_devkit/build_webpack/index.md b/goldens/public-api/angular_devkit/build_webpack/index.md index 312a1a6d319c..8a3fe489f1c1 100644 --- a/goldens/public-api/angular_devkit/build_webpack/index.md +++ b/goldens/public-api/angular_devkit/build_webpack/index.md @@ -49,6 +49,7 @@ export function runWebpack(config: webpack.Configuration, context: BuilderContex // @public (undocumented) export function runWebpackDevServer(config: webpack.Configuration, context: BuilderContext, options?: { + shouldProvideStats?: boolean; devServerConfig?: WebpackDevServer.Configuration; logging?: WebpackLoggingCallback; webpackFactory?: WebpackFactory; diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 2d6a98b33775..e80f23814fa6 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -34,6 +34,7 @@ export class AnalyticsCollector { const requestParameters: Partial> = { [RequestParameter.ProtocolVersion]: 2, [RequestParameter.ClientId]: userId, + [RequestParameter.UserId]: userId, [RequestParameter.TrackingId]: /^\d+\.\d+\.\d+$/.test(VERSION.full) && VERSION.full !== '0.0.0' ? TRACKING_ID_PROD diff --git a/packages/angular/cli/src/analytics/analytics-parameters.ts b/packages/angular/cli/src/analytics/analytics-parameters.ts index 471590b73381..d05918e51020 100644 --- a/packages/angular/cli/src/analytics/analytics-parameters.ts +++ b/packages/angular/cli/src/analytics/analytics-parameters.ts @@ -94,4 +94,7 @@ export enum EventCustomMetric { InitialChunksCount = 'epn.ng_initial_chunks_count', ChangedChunksCount = 'epn.ng_changed_chunks_count', DurationInMs = 'epn.ng_duration_ms', + CssSizeInBytes = 'epn.ng_css_size_bytes', + JsSizeInBytes = 'epn.ng_js_size_bytes', + NgComponentCount = 'epn.ng_component_count', } diff --git a/packages/angular/cli/src/command-builder/architect-base-command-module.ts b/packages/angular/cli/src/command-builder/architect-base-command-module.ts index 017dfc57e0d2..59e0852402c4 100644 --- a/packages/angular/cli/src/command-builder/architect-base-command-module.ts +++ b/packages/angular/cli/src/command-builder/architect-base-command-module.ts @@ -16,7 +16,7 @@ import { spawnSync } from 'child_process'; import { existsSync } from 'fs'; import { resolve } from 'path'; import { isPackageNameSafeForAnalytics } from '../analytics/analytics'; -import { EventCustomDimension } from '../analytics/analytics-collector'; +import { EventCustomDimension, EventCustomMetric } from '../analytics/analytics-parameters'; import { assertIsError } from '../utilities/error'; import { askConfirmation, askQuestion } from '../utilities/prompt'; import { isTTY } from '../utilities/tty'; @@ -62,18 +62,79 @@ export abstract class ArchitectBaseCommandModule ? await this.getAnalytics() : undefined; - analytics?.reportArchitectRunEvent({ - [EventCustomDimension.BuilderTarget]: builderName, - }); + let outputSubscription; + if (analytics) { + analytics.reportArchitectRunEvent({ + [EventCustomDimension.BuilderTarget]: builderName, + }); + + let firstRun = true; + outputSubscription = run.output.subscribe(({ stats }) => { + const parameters = this.builderStatsToAnalyticsParameters(stats, builderName); + if (!parameters) { + return; + } - const { error, success } = await run.output.toPromise(); - await run.stop(); + if (firstRun) { + firstRun = false; + analytics.reportBuildRunEvent(parameters); + } else { + analytics.reportRebuildRunEvent(parameters); + } + }); + } + + try { + const { error, success } = await run.output.toPromise(); - if (error) { - logger.error(error); + if (error) { + logger.error(error); + } + + return success ? 0 : 1; + } finally { + await run.stop(); + outputSubscription?.unsubscribe(); + } + } + + private builderStatsToAnalyticsParameters( + stats: json.JsonValue, + builderName: string, + ): Partial< + | Record + | undefined + > { + if (!stats || typeof stats !== 'object' || !('durationInMs' in stats)) { + return undefined; } - return success ? 0 : 1; + const { + optimization, + allChunksCount, + aot, + lazyChunksCount, + initialChunksCount, + durationInMs, + changedChunksCount, + cssSizeInBytes, + jsSizeInBytes, + ngComponentCount, + } = stats; + + return { + [EventCustomDimension.BuilderTarget]: builderName, + [EventCustomDimension.Aot]: aot, + [EventCustomDimension.Optimization]: optimization, + [EventCustomMetric.AllChunksCount]: allChunksCount, + [EventCustomMetric.LazyChunksCount]: lazyChunksCount, + [EventCustomMetric.InitialChunksCount]: initialChunksCount, + [EventCustomMetric.ChangedChunksCount]: changedChunksCount, + [EventCustomMetric.DurationInMs]: durationInMs, + [EventCustomMetric.JsSizeInBytes]: jsSizeInBytes, + [EventCustomMetric.CssSizeInBytes]: cssSizeInBytes, + [EventCustomMetric.NgComponentCount]: ngComponentCount, + }; } private _architectHost: WorkspaceNodeModulesArchitectHost | undefined; diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json index c1174d0368ee..bd78395f3128 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -142,6 +142,7 @@ "optimization": { "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.", "default": true, + "x-user-analytics": "ep.ng_optimization", "oneOf": [ { "type": "object", diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index ee338c0c3447..30bf61c8896c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -12,7 +12,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { Observable, from } from 'rxjs'; import { concatMap, map, switchMap } from 'rxjs/operators'; -import webpack from 'webpack'; +import webpack, { StatsCompilation } from 'webpack'; import { ExecutionTransformer } from '../../transforms'; import { deleteOutputDir, @@ -51,6 +51,8 @@ import { getCommonConfig, getStylesConfig } from '../../webpack/configs'; import { markAsyncChunksNonInitial } from '../../webpack/utils/async-chunks'; import { normalizeExtraEntryPoints } from '../../webpack/utils/helpers'; import { + BuildEventStats, + generateBuildEventStats, statsErrorsToString, statsHasErrors, statsHasWarnings, @@ -63,6 +65,8 @@ import { Schema as BrowserBuilderSchema } from './schema'; * @experimental Direct usage of this type is considered experimental. */ export type BrowserBuilderOutput = BuilderOutput & { + stats: BuildEventStats; + baseOutputPath: string; /** * @deprecated in version 14. Use 'outputs' instead. @@ -198,196 +202,231 @@ export function buildWebpackBrowser( } }), }).pipe( - concatMap(async (buildEvent) => { - const spinner = new Spinner(); - spinner.enabled = options.progress !== false; - - const { success, emittedFiles = [], outputPath: webpackOutputPath } = buildEvent; - const webpackRawStats = buildEvent.webpackStats; - if (!webpackRawStats) { - throw new Error('Webpack stats build result is required.'); - } - - // Fix incorrectly set `initial` value on chunks. - const extraEntryPoints = [ - ...normalizeExtraEntryPoints(options.styles || [], 'styles'), - ...normalizeExtraEntryPoints(options.scripts || [], 'scripts'), - ]; - - const webpackStats = { - ...webpackRawStats, - chunks: markAsyncChunksNonInitial(webpackRawStats, extraEntryPoints), - }; - - if (!success) { - // If using bundle downleveling then there is only one build - // If it fails show any diagnostic messages and bail - if (statsHasWarnings(webpackStats)) { - context.logger.warn(statsWarningsToString(webpackStats, { colors: true })); - } - if (statsHasErrors(webpackStats)) { - context.logger.error(statsErrorsToString(webpackStats, { colors: true })); + concatMap( + // eslint-disable-next-line max-lines-per-function + async ( + buildEvent, + ): Promise<{ output: BuilderOutput; webpackStats: StatsCompilation }> => { + const spinner = new Spinner(); + spinner.enabled = options.progress !== false; + + const { success, emittedFiles = [], outputPath: webpackOutputPath } = buildEvent; + const webpackRawStats = buildEvent.webpackStats; + if (!webpackRawStats) { + throw new Error('Webpack stats build result is required.'); } - return { success }; - } else { - outputPaths = ensureOutputPaths(baseOutputPath, i18n); - - const scriptsEntryPointName = normalizeExtraEntryPoints( - options.scripts || [], - 'scripts', - ).map((x) => x.bundleName); - - if (i18n.shouldInline) { - const success = await i18nInlineEmittedFiles( - context, - emittedFiles, - i18n, - baseOutputPath, - Array.from(outputPaths.values()), - scriptsEntryPointName, - webpackOutputPath, - options.i18nMissingTranslation, - ); - if (!success) { - return { success: false }; + // Fix incorrectly set `initial` value on chunks. + const extraEntryPoints = [ + ...normalizeExtraEntryPoints(options.styles || [], 'styles'), + ...normalizeExtraEntryPoints(options.scripts || [], 'scripts'), + ]; + + const webpackStats = { + ...webpackRawStats, + chunks: markAsyncChunksNonInitial(webpackRawStats, extraEntryPoints), + }; + + if (!success) { + // If using bundle downleveling then there is only one build + // If it fails show any diagnostic messages and bail + if (statsHasWarnings(webpackStats)) { + context.logger.warn(statsWarningsToString(webpackStats, { colors: true })); + } + if (statsHasErrors(webpackStats)) { + context.logger.error(statsErrorsToString(webpackStats, { colors: true })); } - } - // Check for budget errors and display them to the user. - const budgets = options.budgets; - let budgetFailures: BudgetCalculatorResult[] | undefined; - if (budgets?.length) { - budgetFailures = [...checkBudgets(budgets, webpackStats)]; - for (const { severity, message } of budgetFailures) { - switch (severity) { - case ThresholdSeverity.Warning: - webpackStats.warnings?.push({ message }); - break; - case ThresholdSeverity.Error: - webpackStats.errors?.push({ message }); - break; - default: - assertNever(severity); + return { + webpackStats: webpackRawStats, + output: { success: false }, + }; + } else { + outputPaths = ensureOutputPaths(baseOutputPath, i18n); + + const scriptsEntryPointName = normalizeExtraEntryPoints( + options.scripts || [], + 'scripts', + ).map((x) => x.bundleName); + + if (i18n.shouldInline) { + const success = await i18nInlineEmittedFiles( + context, + emittedFiles, + i18n, + baseOutputPath, + Array.from(outputPaths.values()), + scriptsEntryPointName, + webpackOutputPath, + options.i18nMissingTranslation, + ); + if (!success) { + return { + webpackStats: webpackRawStats, + output: { success: false }, + }; } } - } - const buildSuccess = success && !statsHasErrors(webpackStats); - if (buildSuccess) { - // Copy assets - if (!options.watch && options.assets?.length) { - spinner.start('Copying assets...'); - try { - await copyAssets( - normalizeAssetPatterns( - options.assets, - context.workspaceRoot, - projectRoot, - projectSourceRoot, - ), - Array.from(outputPaths.values()), - context.workspaceRoot, - ); - spinner.succeed('Copying assets complete.'); - } catch (err) { - spinner.fail(colors.redBright('Copying of assets failed.')); - assertIsError(err); - - return { success: false, error: 'Unable to copy assets: ' + err.message }; + // Check for budget errors and display them to the user. + const budgets = options.budgets; + let budgetFailures: BudgetCalculatorResult[] | undefined; + if (budgets?.length) { + budgetFailures = [...checkBudgets(budgets, webpackStats)]; + for (const { severity, message } of budgetFailures) { + switch (severity) { + case ThresholdSeverity.Warning: + webpackStats.warnings?.push({ message }); + break; + case ThresholdSeverity.Error: + webpackStats.errors?.push({ message }); + break; + default: + assertNever(severity); + } } } - if (options.index) { - spinner.start('Generating index html...'); - - const entrypoints = generateEntryPoints({ - scripts: options.scripts ?? [], - styles: options.styles ?? [], - }); - - const indexHtmlGenerator = new IndexHtmlGenerator({ - cache: cacheOptions, - indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), - entrypoints, - deployUrl: options.deployUrl, - sri: options.subresourceIntegrity, - optimization: normalizedOptimization, - crossOrigin: options.crossOrigin, - postTransform: transforms.indexHtml, - }); - - let hasErrors = false; - for (const [locale, outputPath] of outputPaths.entries()) { + const buildSuccess = success && !statsHasErrors(webpackStats); + if (buildSuccess) { + // Copy assets + if (!options.watch && options.assets?.length) { + spinner.start('Copying assets...'); try { - const { content, warnings, errors } = await indexHtmlGenerator.process({ - baseHref: getLocaleBaseHref(i18n, locale) ?? options.baseHref, - // i18nLocale is used when Ivy is disabled - lang: locale || undefined, - outputPath, - files: mapEmittedFilesToFileInfo(emittedFiles), - }); - - if (warnings.length || errors.length) { - spinner.stop(); - warnings.forEach((m) => context.logger.warn(m)); - errors.forEach((m) => { - context.logger.error(m); - hasErrors = true; + await copyAssets( + normalizeAssetPatterns( + options.assets, + context.workspaceRoot, + projectRoot, + projectSourceRoot, + ), + Array.from(outputPaths.values()), + context.workspaceRoot, + ); + spinner.succeed('Copying assets complete.'); + } catch (err) { + spinner.fail(colors.redBright('Copying of assets failed.')); + assertIsError(err); + + return { + output: { + success: false, + error: 'Unable to copy assets: ' + err.message, + }, + webpackStats: webpackRawStats, + }; + } + } + + if (options.index) { + spinner.start('Generating index html...'); + + const entrypoints = generateEntryPoints({ + scripts: options.scripts ?? [], + styles: options.styles ?? [], + }); + + const indexHtmlGenerator = new IndexHtmlGenerator({ + cache: cacheOptions, + indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)), + entrypoints, + deployUrl: options.deployUrl, + sri: options.subresourceIntegrity, + optimization: normalizedOptimization, + crossOrigin: options.crossOrigin, + postTransform: transforms.indexHtml, + }); + + let hasErrors = false; + for (const [locale, outputPath] of outputPaths.entries()) { + try { + const { content, warnings, errors } = await indexHtmlGenerator.process({ + baseHref: getLocaleBaseHref(i18n, locale) ?? options.baseHref, + // i18nLocale is used when Ivy is disabled + lang: locale || undefined, + outputPath, + files: mapEmittedFilesToFileInfo(emittedFiles), }); - spinner.start(); + + if (warnings.length || errors.length) { + spinner.stop(); + warnings.forEach((m) => context.logger.warn(m)); + errors.forEach((m) => { + context.logger.error(m); + hasErrors = true; + }); + spinner.start(); + } + + const indexOutput = path.join( + outputPath, + getIndexOutputFile(options.index), + ); + await fs.promises.mkdir(path.dirname(indexOutput), { recursive: true }); + await fs.promises.writeFile(indexOutput, content); + } catch (error) { + spinner.fail('Index html generation failed.'); + assertIsError(error); + + return { + webpackStats: webpackRawStats, + output: { success: false, error: error.message }, + }; } + } - const indexOutput = path.join(outputPath, getIndexOutputFile(options.index)); - await fs.promises.mkdir(path.dirname(indexOutput), { recursive: true }); - await fs.promises.writeFile(indexOutput, content); - } catch (error) { + if (hasErrors) { spinner.fail('Index html generation failed.'); - return { success: false, error: mapErrorToMessage(error) }; + return { + webpackStats: webpackRawStats, + output: { success: false }, + }; + } else { + spinner.succeed('Index html generation complete.'); } } - if (hasErrors) { - spinner.fail('Index html generation failed.'); + if (options.serviceWorker) { + spinner.start('Generating service worker...'); + for (const [locale, outputPath] of outputPaths.entries()) { + try { + await augmentAppWithServiceWorker( + projectRoot, + context.workspaceRoot, + outputPath, + getLocaleBaseHref(i18n, locale) ?? options.baseHref ?? '/', + options.ngswConfigPath, + ); + } catch (error) { + spinner.fail('Service worker generation failed.'); + assertIsError(error); + + return { + webpackStats: webpackRawStats, + output: { success: false, error: error.message }, + }; + } + } - return { success: false }; - } else { - spinner.succeed('Index html generation complete.'); + spinner.succeed('Service worker generation complete.'); } } - if (options.serviceWorker) { - spinner.start('Generating service worker...'); - for (const [locale, outputPath] of outputPaths.entries()) { - try { - await augmentAppWithServiceWorker( - projectRoot, - context.workspaceRoot, - outputPath, - getLocaleBaseHref(i18n, locale) ?? options.baseHref ?? '/', - options.ngswConfigPath, - ); - } catch (error) { - spinner.fail('Service worker generation failed.'); - - return { success: false, error: mapErrorToMessage(error) }; - } - } + webpackStatsLogger(context.logger, webpackStats, config, budgetFailures); - spinner.succeed('Service worker generation complete.'); - } + return { + webpackStats: webpackRawStats, + output: { success: buildSuccess }, + }; } - - webpackStatsLogger(context.logger, webpackStats, config, budgetFailures); - - return { success: buildSuccess }; - } - }), + }, + ), map( - (event) => + ({ output: event, webpackStats }) => ({ ...event, + stats: generateBuildEventStats(webpackStats, options), baseOutputPath, outputPath: baseOutputPath, outputPaths: (outputPaths && Array.from(outputPaths.values())) || [baseOutputPath], @@ -416,18 +455,6 @@ export function buildWebpackBrowser( } } -function mapErrorToMessage(error: unknown): string | undefined { - if (error instanceof Error) { - return error.message; - } - - if (typeof error === 'string') { - return error; - } - - return undefined; -} - function assertNever(input: never): never { throw new Error( `Unexpected call to assertNever() with input: ${JSON.stringify( diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index 248abe80037a..c0dc1e719e54 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -134,6 +134,7 @@ "optimization": { "description": "Enables optimization of the build output. Including minification of scripts and styles, tree-shaking, dead-code elimination, inlining of critical CSS and fonts inlining. For more information, see https://angular.io/guide/workspace-config#optimization-configuration.", "default": true, + "x-user-analytics": "ep.ng_optimization", "oneOf": [ { "type": "object", diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index cf76d3610edf..bf8b74cf315b 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -39,7 +39,11 @@ import { addError, addWarning } from '../../utils/webpack-diagnostics'; import { getCommonConfig, getDevServerConfig, getStylesConfig } from '../../webpack/configs'; import { IndexHtmlWebpackPlugin } from '../../webpack/plugins/index-html-webpack-plugin'; import { ServiceWorkerPlugin } from '../../webpack/plugins/service-worker-plugin'; -import { createWebpackLoggingCallback } from '../../webpack/utils/stats'; +import { + BuildEventStats, + createWebpackLoggingCallback, + generateBuildEventStats, +} from '../../webpack/utils/stats'; import { Schema as BrowserBuilderSchema, OutputHashing } from '../browser/schema'; import { Schema } from './schema'; @@ -50,6 +54,7 @@ export type DevServerBuilderOptions = Schema; */ export type DevServerBuilderOutput = DevServerBuildOutput & { baseUrl: string; + stats: BuildEventStats; }; /** @@ -252,6 +257,11 @@ export function serveWebpackBrowser( webpackDevServerFactory: require('webpack-dev-server') as typeof webpackDevServer, }).pipe( concatMap(async (buildEvent, index) => { + const webpackRawStats = buildEvent.webpackStats; + if (!webpackRawStats) { + throw new Error('Webpack stats build result is required.'); + } + // Resolve serve address. const publicPath = webpackConfig.devServer?.devMiddleware?.publicPath; @@ -286,7 +296,11 @@ export function serveWebpackBrowser( logger.info(`\n${colors.redBright(colors.symbols.cross)} Failed to compile.`); } - return { ...buildEvent, baseUrl: serverAddress } as DevServerBuilderOutput; + return { + ...buildEvent, + baseUrl: serverAddress, + stats: generateBuildEventStats(webpackRawStats, browserOptions), + } as DevServerBuilderOutput; }), ); }), diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 6076a970c2f3..6b7c85c021f3 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -30,6 +30,7 @@ import { } from '../plugins'; import { DevToolsIgnorePlugin } from '../plugins/devtools-ignore-plugin'; import { NamedChunksPlugin } from '../plugins/named-chunks-plugin'; +import { OccurrencesPlugin } from '../plugins/occurrences-plugin'; import { ProgressPlugin } from '../plugins/progress-plugin'; import { TransferSizePlugin } from '../plugins/transfer-size-plugin'; import { createIvyPlugin } from '../plugins/typescript'; @@ -449,7 +450,15 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise { + compilation.hooks.processAssets.tapPromise( + { + name: PLUGIN_NAME, + stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ANALYSE, + }, + async (compilationAssets) => { + for (const assetName of Object.keys(compilationAssets)) { + if (!assetName.endsWith('.js')) { + continue; + } + + const scriptAsset = compilation.getAsset(assetName); + if (!scriptAsset || scriptAsset.source.size() <= 0) { + continue; + } + + const src = scriptAsset.source.source().toString('utf-8'); + + let ngComponentCount = 0; + + if (!this.options.aot) { + // Count the number of `Component({` strings (case sensitive), which happens in __decorate(). + ngComponentCount += this.countOccurrences(src, 'Component({'); + } + + if (this.options.scriptsOptimization) { + // for ascii_only true + ngComponentCount += this.countOccurrences(src, '.\\u0275cmp', false); + } else { + // For Ivy we just count ɵcmp.src + ngComponentCount += this.countOccurrences(src, '.ɵcmp', true); + } + + compilation.updateAsset( + assetName, + (s) => s, + (assetInfo) => ({ + ...assetInfo, + ngComponentCount, + }), + ); + } + }, + ); + }); + } + + private countOccurrences(source: string, match: string, wordBreak = false): number { + let count = 0; + + // We condition here so branch prediction happens out of the loop, not in it. + if (wordBreak) { + const re = /\w/; + for (let pos = source.lastIndexOf(match); pos >= 0; pos = source.lastIndexOf(match, pos)) { + if (!(re.test(source[pos - 1] || '') || re.test(source[pos + match.length] || ''))) { + count++; // 1 match, AH! AH! AH! 2 matches, AH! AH! AH! + } + + pos -= match.length; + if (pos < 0) { + break; + } + } + } else { + for (let pos = source.lastIndexOf(match); pos >= 0; pos = source.lastIndexOf(match, pos)) { + count++; // 1 match, AH! AH! AH! 2 matches, AH! AH! AH! + pos -= match.length; + if (pos < 0) { + break; + } + } + } + + return count; + } +} diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index f747b7bd6bb1..8b45ea38a0d7 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -8,10 +8,12 @@ import { WebpackLoggingCallback } from '@angular-devkit/build-webpack'; import { logging, tags } from '@angular-devkit/core'; +import assert from 'assert'; import * as path from 'path'; import textTable from 'text-table'; import { Configuration, StatsCompilation } from 'webpack'; import { Schema as BrowserBuilderOptions } from '../../builders/browser/schema'; +import { normalizeOptimization } from '../../utils'; import { BudgetCalculatorResult } from '../../utils/bundle-calculator'; import { colors as ansiColors, removeColor } from '../../utils/color'; import { markAsyncChunksNonInitial } from './async-chunks'; @@ -42,7 +44,14 @@ export interface BundleStats { stats: BundleStatsData; } -export function generateBundleStats(info: { +function getBuildDuration(webpackStats: StatsCompilation): number { + assert(webpackStats.builtAt, 'buildAt cannot be undefined'); + assert(webpackStats.time, 'time cannot be undefined'); + + return Date.now() - webpackStats.builtAt + webpackStats.time; +} + +function generateBundleStats(info: { rawSize?: number; estimatedTransferSize?: number; files?: string[]; @@ -289,10 +298,8 @@ function statsToString( // In some cases we do things outside of webpack context // Such us index generation, service worker augmentation etc... // This will correct the time and include these. - let time = 0; - if (json.builtAt !== undefined && json.time !== undefined) { - time = Date.now() - json.builtAt + json.time; - } + + const time = getBuildDuration(json); if (unchangedChunkNumber > 0) { return ( @@ -442,6 +449,76 @@ export function createWebpackLoggingCallback( }; } +export interface BuildEventStats { + aot: boolean; + optimization: boolean; + allChunksCount: number; + lazyChunksCount: number; + initialChunksCount: number; + changedChunksCount?: number; + durationInMs: number; + cssSizeInBytes: number; + jsSizeInBytes: number; + ngComponentCount: number; +} + +export function generateBuildEventStats( + webpackStats: StatsCompilation, + browserBuilderOptions: BrowserBuilderOptions, +): BuildEventStats { + const { chunks = [], assets = [] } = webpackStats; + + let jsSizeInBytes = 0; + let cssSizeInBytes = 0; + let initialChunksCount = 0; + let ngComponentCount = 0; + let changedChunksCount = 0; + + const allChunksCount = chunks.length; + const isFirstRun = !runsCache.has(webpackStats.outputPath || ''); + + const chunkFiles = new Set(); + for (const chunk of chunks) { + if (!isFirstRun && chunk.rendered) { + changedChunksCount++; + } + + if (chunk.initial) { + initialChunksCount++; + } + + for (const file of chunk.files ?? []) { + chunkFiles.add(file); + } + } + + for (const asset of assets) { + if (asset.name.endsWith('.map') || !chunkFiles.has(asset.name)) { + continue; + } + + if (asset.name.endsWith('.js')) { + jsSizeInBytes += asset.size; + ngComponentCount += asset.info.ngComponentCount ?? 0; + } else if (asset.name.endsWith('.css')) { + cssSizeInBytes += asset.size; + } + } + + return { + optimization: !!normalizeOptimization(browserBuilderOptions.optimization).scripts, + aot: browserBuilderOptions.aot !== false, + allChunksCount, + lazyChunksCount: allChunksCount - initialChunksCount, + initialChunksCount, + changedChunksCount, + durationInMs: getBuildDuration(webpackStats), + cssSizeInBytes, + jsSizeInBytes, + ngComponentCount, + }; +} + export function webpackStatsLogger( logger: logging.LoggerApi, json: StatsCompilation, diff --git a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts index 43569f916a9e..8cd9febfd58e 100644 --- a/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts +++ b/packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts @@ -28,6 +28,7 @@ export function runWebpackDevServer( config: webpack.Configuration, context: BuilderContext, options: { + shouldProvideStats?: boolean; devServerConfig?: WebpackDevServer.Configuration; logging?: WebpackLoggingCallback; webpackFactory?: WebpackFactory; @@ -61,6 +62,8 @@ export function runWebpackDevServer( const log: WebpackLoggingCallback = options.logging || ((stats, config) => context.logger.info(stats.toString(config.stats))); + const shouldProvideStats = options.shouldProvideStats ?? true; + return createWebpack({ ...config, watch: false }).pipe( switchMap( (webpackCompiler) => @@ -70,11 +73,14 @@ export function runWebpackDevServer( let result: Partial; + const statsOptions = typeof config.stats === 'boolean' ? undefined : config.stats; + webpackCompiler.hooks.done.tap('build-webpack', (stats) => { // Log stats. log(stats, config); obs.next({ ...result, + webpackStats: shouldProvideStats ? stats.toJson(statsOptions) : undefined, emittedFiles: getEmittedFiles(stats.compilation), success: !stats.hasErrors(), outputPath: stats.compilation.outputOptions.path, From 5228c23763dc08459e4a44f0e3a85d71b5b1e102 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 6 Oct 2022 12:51:24 +0000 Subject: [PATCH 1007/1388] refactor(@angular/cli): remove debug package from dependencies --- package.json | 1 - packages/angular/cli/BUILD.bazel | 1 - packages/angular/cli/package.json | 1 - yarn.lock | 12 ------------ 4 files changed, 15 deletions(-) diff --git a/package.json b/package.json index 4312b1f1fc5e..ee40ddf3ee82 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,6 @@ "@types/babel__template": "7.4.1", "@types/browserslist": "^4.15.0", "@types/cacache": "^15.0.0", - "@types/debug": "^4.1.2", "@types/express": "^4.16.0", "@types/glob": "^8.0.0", "@types/http-proxy": "^1.17.4", diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index 119df1d848f3..e315e76af3dc 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -56,7 +56,6 @@ ts_library( "//packages/angular_devkit/schematics/tasks", "//packages/angular_devkit/schematics/tools", "@npm//@angular/core", - "@npm//@types/debug", "@npm//@types/ini", "@npm//@types/inquirer", "@npm//@types/node", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 341cf0527d6d..6d6f2a84eee2 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -28,7 +28,6 @@ "@schematics/angular": "0.0.0-PLACEHOLDER", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", - "debug": "4.3.4", "ini": "3.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", diff --git a/yarn.lock b/yarn.lock index 018343012512..33c8105c2a98 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2071,13 +2071,6 @@ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== -"@types/debug@^4.1.2": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== - dependencies: - "@types/ms" "*" - "@types/eslint-scope@^3.7.3": version "3.7.4" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" @@ -2223,11 +2216,6 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - "@types/node-fetch@*", "@types/node-fetch@^2.1.6": version "2.6.2" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" From 4fcb0a82b5fa8a092d8c374cdea448edd80270d4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 11 Oct 2022 14:15:08 +0000 Subject: [PATCH 1008/1388] fix(@angular-devkit/build-angular): correctly resolve Sass partial files in node packages Prior to this change non relative partial files were not resolved properly. Example we did not try to resolve `@material/button/button` as `@material/button/_button` which caused the compilation to fail. --- .../src/webpack/configs/styles.ts | 26 +++++++++++++--- .../build/styles/scss-partial-resolution.ts | 31 +++++++++++++++++++ 2 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/build/styles/scss-partial-resolution.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 2a9385641126..5c2d1fbb7f16 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -423,12 +423,30 @@ function getSassResolutionImporter( }); return { - findFileUrl: (url, { fromImport }): Promise => { + findFileUrl: async (url, { fromImport }): Promise => { + if (url.charAt(0) === '.') { + // Let Sass handle relative imports. + return null; + } + + let file: string | undefined; const resolve = fromImport ? resolveImport : resolveModule; - return resolve(root, url) - .then((file) => pathToFileURL(file)) - .catch(() => null); + try { + file = await resolve(root, url); + } catch { + // Try to resolve a partial file + // @use '@material/button/button' as mdc-button; + // `@material/button/button` -> `@material/button/_button` + const lastSlashIndex = url.lastIndexOf('/'); + const underscoreIndex = lastSlashIndex + 1; + if (underscoreIndex > 0 && url.charAt(underscoreIndex) !== '_') { + const partialFileUrl = `${url.slice(0, underscoreIndex)}_${url.slice(underscoreIndex)}`; + file = await resolve(root, partialFileUrl).catch(() => undefined); + } + } + + return file ? pathToFileURL(file) : null; }, }; } diff --git a/tests/legacy-cli/e2e/tests/build/styles/scss-partial-resolution.ts b/tests/legacy-cli/e2e/tests/build/styles/scss-partial-resolution.ts new file mode 100644 index 000000000000..f3863ad72adb --- /dev/null +++ b/tests/legacy-cli/e2e/tests/build/styles/scss-partial-resolution.ts @@ -0,0 +1,31 @@ +import { installPackage } from '../../../utils/packages'; +import { writeMultipleFiles, deleteFile, replaceInFile } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; + +export default async function () { + // Supports resolving node_modules with are pointing to partial files partial files. + // @material/button/button below points to @material/button/_button.scss + // https://unpkg.com/browse/@material/button@14.0.0/_button.scss + + await installPackage('@material/button@14.0.0'); + + await writeMultipleFiles({ + 'src/styles.scss': ` + @use '@material/button/button' as mat; + `, + 'src/app/app.component.scss': ` + @use '@material/button/button' as mat; + `, + }); + + await updateJsonFile('angular.json', (workspaceJson) => { + const appArchitect = workspaceJson.projects['test-project'].architect; + appArchitect.build.options.styles = ['src/styles.scss']; + }); + + await deleteFile('src/app/app.component.css'); + await replaceInFile('src/app/app.component.ts', './app.component.css', './app.component.scss'); + + await ng('build', '--configuration=development'); +} From 1518133db3b1c710500786f9f1fcfa05a016862e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:52:24 -0400 Subject: [PATCH 1009/1388] fix(@angular-devkit/build-angular): use relative sourcemap source paths for Sass in esbuild builder The Sass preprocessor's modern API will generate absolute file URLs for the `sources` field of generated sourcemaps. These URLs will not be properly processed by esbuild and will not be correctly adjusted to be relative to the workspace root directory for the built application. To correct this behavior, the Sass generated sourcemaps are now adjusted to remove the `file:` protocol prefix and to make each path relative to its input file. This allows esbuild to properly resolve and process the paths. --- .../src/builders/browser-esbuild/sass-plugin.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 0c820f1ffe1a..2a044d5bb587 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -7,8 +7,9 @@ */ import type { PartialMessage, Plugin, PluginBuild } from 'esbuild'; +import { dirname, relative } from 'node:path'; +import { fileURLToPath } from 'node:url'; import type { CompileResult } from 'sass'; -import { fileURLToPath } from 'url'; export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: string[] }): Plugin { return { @@ -40,7 +41,9 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri return { loader: 'css', - contents: sourceMap ? `${css}\n${sourceMapToUrlComment(sourceMap)}` : css, + contents: sourceMap + ? `${css}\n${sourceMapToUrlComment(sourceMap, dirname(args.path))}` + : css, watchFiles: loadedUrls.map((url) => fileURLToPath(url)), warnings, }; @@ -66,7 +69,14 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri }; } -function sourceMapToUrlComment(sourceMap: Exclude): string { +function sourceMapToUrlComment( + sourceMap: Exclude, + root: string, +): string { + // Remove `file` protocol from all sourcemap sources and adjust to be relative to the input file. + // This allows esbuild to correctly process the paths. + sourceMap.sources = sourceMap.sources.map((source) => relative(root, fileURLToPath(source))); + const urlSourceMap = Buffer.from(JSON.stringify(sourceMap), 'utf-8').toString('base64'); return `/*# sourceMappingURL=data:application/json;charset=utf-8;base64,${urlSourceMap} */`; From 52db3c00076dfe118cd39d7724229210c30665e0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 10 Oct 2022 11:28:00 -0400 Subject: [PATCH 1010/1388] perf(@angular-devkit/build-angular): minimize Angular diagnostics incremental analysis in esbuild-based builder When using the experimental esbuild-based browser application builder, the Angular diagnostic analysis performed per rebuild is now reduced to only the affected files for that rebuild. A rebuild will now query the TypeScript compiler and the Angular compiler to determine the list of potentially affected files. The Angular compiler will then only be queried for diagnostics for this set of affected files instead of the entirety of the program. --- .../browser-esbuild/compiler-plugin.ts | 95 +++++++++++++++---- .../src/builders/browser-esbuild/profiling.ts | 4 +- 2 files changed, 80 insertions(+), 19 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 7a949c5084cb..601de304be04 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -173,9 +173,8 @@ export function createCompilerPlugin( // This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM. // Once TypeScript provides support for retaining dynamic imports this workaround can be dropped. - const compilerCli = await loadEsmModule( - '@angular/compiler-cli', - ); + const { GLOBAL_DEFS_FOR_TERSER_WITH_AOT, NgtscProgram, OptimizeFor, readConfiguration } = + await loadEsmModule('@angular/compiler-cli'); // Temporary deep import for transformer support const { @@ -185,7 +184,7 @@ export function createCompilerPlugin( // Setup defines based on the values provided by the Angular compiler-cli build.initialOptions.define ??= {}; - for (const [key, value] of Object.entries(compilerCli.GLOBAL_DEFS_FOR_TERSER_WITH_AOT)) { + for (const [key, value] of Object.entries(GLOBAL_DEFS_FOR_TERSER_WITH_AOT)) { if (key in build.initialOptions.define) { // Skip keys that have been manually provided continue; @@ -202,7 +201,7 @@ export function createCompilerPlugin( rootNames, errors: configurationDiagnostics, } = profileSync('NG_READ_CONFIG', () => - compilerCli.readConfiguration(pluginOptions.tsconfig, { + readConfiguration(pluginOptions.tsconfig, { noEmitOnError: false, suppressOutputPathCheck: true, outDir: undefined, @@ -249,6 +248,7 @@ export function createCompilerPlugin( let previousBuilder: ts.EmitAndSemanticDiagnosticsBuilderProgram | undefined; let previousAngularProgram: NgtscProgram | undefined; const babelDataCache = new Map(); + const diagnosticCache = new WeakMap(); build.onStart(async () => { const result: OnStartResult = { @@ -339,12 +339,10 @@ export function createCompilerPlugin( // Create the Angular specific program that contains the Angular compiler const angularProgram = profileSync( 'NG_CREATE_PROGRAM', - () => - new compilerCli.NgtscProgram(rootNames, compilerOptions, host, previousAngularProgram), + () => new NgtscProgram(rootNames, compilerOptions, host, previousAngularProgram), ); previousAngularProgram = angularProgram; const angularCompiler = angularProgram.compiler; - const { ignoreForDiagnostics } = angularCompiler; const typeScriptProgram = angularProgram.getTsProgram(); augmentProgramWithVersioning(typeScriptProgram); @@ -366,12 +364,16 @@ export function createCompilerPlugin( yield* builder.getGlobalDiagnostics(); // Collect source file specific diagnostics - const OptimizeFor = compilerCli.OptimizeFor; + const affectedFiles = findAffectedFiles(builder, angularCompiler); + const optimizeFor = + affectedFiles.size > 1 ? OptimizeFor.WholeProgram : OptimizeFor.SingleFile; for (const sourceFile of builder.getSourceFiles()) { - if (ignoreForDiagnostics.has(sourceFile)) { + if (angularCompiler.ignoreForDiagnostics.has(sourceFile)) { continue; } + // TypeScript will use cached diagnostics for files that have not been + // changed or affected for this build when using incremental building. yield* profileSync( 'NG_DIAGNOSTICS_SYNTACTIC', () => builder.getSyntacticDiagnostics(sourceFile), @@ -383,12 +385,22 @@ export function createCompilerPlugin( true, ); - const angularDiagnostics = profileSync( - 'NG_DIAGNOSTICS_TEMPLATE', - () => angularCompiler.getDiagnosticsForFile(sourceFile, OptimizeFor.WholeProgram), - true, - ); - yield* angularDiagnostics; + // Only request Angular template diagnostics for affected files to avoid + // overhead of template diagnostics for unchanged files. + if (affectedFiles.has(sourceFile)) { + const angularDiagnostics = profileSync( + 'NG_DIAGNOSTICS_TEMPLATE', + () => angularCompiler.getDiagnosticsForFile(sourceFile, optimizeFor), + true, + ); + diagnosticCache.set(sourceFile, angularDiagnostics); + yield* angularDiagnostics; + } else { + const angularDiagnostics = diagnosticCache.get(sourceFile); + if (angularDiagnostics) { + yield* angularDiagnostics; + } + } } } @@ -408,7 +420,7 @@ export function createCompilerPlugin( mergeTransformers(angularCompiler.prepareEmit().transformers, { before: [replaceBootstrap(() => builder.getProgram().getTypeChecker())], }), - (sourceFile) => angularCompiler.incrementalDriver.recordSuccessfulEmit(sourceFile), + (sourceFile) => angularCompiler.incrementalCompilation.recordSuccessfulEmit(sourceFile), ); return result; @@ -590,3 +602,52 @@ async function transformWithBabel( return result?.code ?? data; } + +function findAffectedFiles( + builder: ts.EmitAndSemanticDiagnosticsBuilderProgram, + { ignoreForDiagnostics, ignoreForEmit, incrementalCompilation }: NgtscProgram['compiler'], +): Set { + const affectedFiles = new Set(); + + // eslint-disable-next-line no-constant-condition + while (true) { + const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => { + // If the affected file is a TTC shim, add the shim's original source file. + // This ensures that changes that affect TTC are typechecked even when the changes + // are otherwise unrelated from a TS perspective and do not result in Ivy codegen changes. + // For example, changing @Input property types of a directive used in another component's + // template. + // A TTC shim is a file that has been ignored for diagnostics and has a filename ending in `.ngtypecheck.ts`. + if (ignoreForDiagnostics.has(sourceFile) && sourceFile.fileName.endsWith('.ngtypecheck.ts')) { + // This file name conversion relies on internal compiler logic and should be converted + // to an official method when available. 15 is length of `.ngtypecheck.ts` + const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts'; + const originalSourceFile = builder.getSourceFile(originalFilename); + if (originalSourceFile) { + affectedFiles.add(originalSourceFile); + } + + return true; + } + + return false; + }); + + if (!result) { + break; + } + + affectedFiles.add(result.affected as ts.SourceFile); + } + + // A file is also affected if the Angular compiler requires it to be emitted + for (const sourceFile of builder.getSourceFiles()) { + if (ignoreForEmit.has(sourceFile) || incrementalCompilation.safeToSkipEmit(sourceFile)) { + continue; + } + + affectedFiles.add(sourceFile); + } + + return affectedFiles; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts index 690adfa7e8bc..c7a0cceff4b5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts @@ -21,7 +21,7 @@ export function logCumulativeDurations(): void { for (const [name, duration] of cumulativeDurations) { // eslint-disable-next-line no-console - console.log(`DURATION[${name}]: ${duration} seconds`); + console.log(`DURATION[${name}]: ${duration.toFixed(9)} seconds`); } } @@ -32,7 +32,7 @@ function recordDuration(name: string, startTime: bigint, cumulative?: boolean): cumulativeDurations.set(name, (cumulativeDurations.get(name) ?? 0) + duration); } else { // eslint-disable-next-line no-console - console.log(`DURATION[${name}]: ${duration} seconds`); + console.log(`DURATION[${name}]: ${duration.toFixed(9)} seconds`); } } From a95d130ef4249457ed2433d52eb43c94a1169782 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 09:37:04 +0000 Subject: [PATCH 1011/1388] feat(@angular-devkit/build-angular): auto include `@angular/localize/init` when found in `types` With this change we remove the need to include the `@angular/localize/init` package as polyfills in `polyfills.ts`, `angular.json` and `main.server.ts`. Instead when `@angular/localize/init` is included in the TypeScript `types` we add this as entry-point. The `@angular/localize/init` will be added as a parts of the `types` array in a seperate PR to address https://github.com/angular/angular/issues/47677 which is caused by the fact that `@angular/localize/init` types are no longer imported when `@angular/localize/init` is added as a polyfill in `angular.json`. --- .../src/builders/karma/tests/setup.ts | 2 +- .../src/webpack/configs/common.ts | 15 +++++++++- .../test/hello-world-app/angular.json | 2 +- .../test/hello-world-app/src/main.server.ts | 2 -- .../test/hello-world-app/src/polyfills.ts | 3 -- .../hello-world-app/src/tsconfig.app.json | 2 +- .../hello-world-app/src/tsconfig.server.json | 2 +- .../hello-world-app/src/tsconfig.spec.json | 3 +- .../files/root/tsconfig.server.json.template | 3 +- .../src/__main@stripTsExtension__.ts.template | 6 ---- .../schematics/angular/universal/index.ts | 2 +- .../angular/universal/index_spec.ts | 30 ++++++++----------- 12 files changed, 35 insertions(+), 37 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts index 49d0633f7a21..86449d8c9d0a 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/setup.ts @@ -20,7 +20,7 @@ export const KARMA_BUILDER_INFO = Object.freeze({ * Also disables progress reporting to minimize logging output. */ export const BASE_OPTIONS = Object.freeze({ - polyfills: ['zone.js', 'zone.js/testing', '@angular/localize/init'], + polyfills: ['zone.js', 'zone.js/testing'], tsConfig: 'src/tsconfig.spec.json', karmaConfig: 'karma.conf.js', browsers: 'ChromeHeadlessCI', diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 6b7c85c021f3..faa0f4d1fb08 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -96,9 +96,22 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise t === '@angular/localize' || t === localizePackageInitEntryPoint, + ); + + if (hasLocalizeType) { + entryPoints['main'] = [localizePackageInitEntryPoint]; + } + if (buildOptions.main) { const mainPath = path.resolve(root, buildOptions.main); - entryPoints['main'] = [mainPath]; + if (Array.isArray(entryPoints['main'])) { + entryPoints['main'].push(mainPath); + } else { + entryPoints['main'] = [mainPath]; + } } if (isPlatformServer) { diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json index a07d22ad3216..ffb889dc2573 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/angular.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/angular.json @@ -111,7 +111,7 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": ["zone.js", "zone.js/testing", "@angular/localize/init"], + "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "src/tsconfig.spec.json", "karmaConfig": "karma.conf.js", diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts index 11c93d4085fd..4448f40d8a49 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/main.server.ts @@ -6,6 +6,4 @@ * found in the LICENSE file at https://angular.io/license */ -import '@angular/localize/init'; - export { AppServerModule } from './app/app.server.module'; diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts b/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts index eb6530df1887..f530c61c1167 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/polyfills.ts @@ -36,9 +36,6 @@ */ // import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -import '@angular/localize/init'; - /** * By default, zone.js will patch all possible macroTask and DomEvents * user can disable parts of macroTask/DomEvents patch by setting following flags diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json index f761e8b2c4fc..0fd75806850e 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json @@ -2,7 +2,7 @@ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/app", - "types": [] + "types": ["@angular/localize/init"] }, "files": [ "main.ts", diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json index 0b0bc22e90b6..9599811a5803 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json @@ -4,7 +4,7 @@ "outDir": "../dist-server", "target": "es2016", "baseUrl": "./", - "types": [] + "types": ["@angular/localize/init"] }, "files": [ "main.server.ts" diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json index 7ece4f757a0d..13749f5c0c0c 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json @@ -3,7 +3,8 @@ "compilerOptions": { "outDir": "../out-tsc/spec", "types": [ - "jasmine" + "jasmine", + "@angular/localize/init" ] }, "files": [ diff --git a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template index f43b41cae4ad..20751626f84d 100644 --- a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template +++ b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template @@ -5,7 +5,8 @@ "outDir": "<%= relativePathToWorkspaceRoot %>/out-tsc/server", "target": "es2019", "types": [ - "node" + "node"<% if (hasLocalizePackage) { %>, + "@angular/localize/init"<% } %> ] }, "files": [ diff --git a/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template b/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template index a820cfb07611..eb18bd2fffbf 100644 --- a/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template +++ b/packages/schematics/angular/universal/files/src/__main@stripTsExtension__.ts.template @@ -7,10 +7,4 @@ */ import '@angular/platform-server/init'; -<% if (hasLocalizePackage) { %>/*************************************************************************************************** - * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates. - */ -import '@angular/localize/init'; - -<% } %> export { <%= rootModuleClassName %> } from './app/<%= stripTsExtension(rootModuleFileName) %>'; diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index 2eae32dcd947..471ca3b61126 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -258,7 +258,6 @@ export default function (options: UniversalOptions): Rule { ...strings, ...options, stripTsExtension: (s: string) => s.replace(/\.ts$/, ''), - hasLocalizePackage: !!getPackageJsonDependency(host, '@angular/localize'), }), move(join(normalize(clientProject.root), 'src')), ]); @@ -273,6 +272,7 @@ export default function (options: UniversalOptions): Rule { ...options, stripTsExtension: (s: string) => s.replace(/\.ts$/, ''), tsConfigExtends, + hasLocalizePackage: !!getPackageJsonDependency(host, '@angular/localize'), relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(tsConfigDirectory), }), move(tsConfigDirectory), diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 85a8b5bfa658..56efc3ae9ee4 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -9,6 +9,7 @@ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; import { parse as parseJson } from 'jsonc-parser'; import { Schema as ApplicationOptions, Style } from '../application/schema'; +import { CompilerOptions } from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; import { NodeDependencyType, addPackageJsonDependency } from '../utility/dependencies'; import { Schema as WorkspaceOptions } from '../workspace/schema'; import { Schema as UniversalOptions } from './schema'; @@ -225,36 +226,29 @@ describe('Universal Schematic', () => { expect(tree.exists(filePath)).toEqual(true); }); - it(`should add import to '@angular/platform-server/init' in main file`, async () => { + it(`should not add import to '@angular/localize' as type in 'tsconfig.server.json' when it's not a depedency`, async () => { const tree = await schematicRunner .runSchematicAsync('universal', defaultOptions, appTree) .toPromise(); - const filePath = '/projects/bar/src/main.server.ts'; - const contents = tree.readContent(filePath); - expect(contents).toContain("import '@angular/platform-server/init'"); + const { compilerOptions } = tree.readJson('/projects/bar/tsconfig.server.json') as { + compilerOptions: CompilerOptions; + }; + expect(compilerOptions.types).not.toContain('@angular/localize/init'); }); - it(`should not add import to '@angular/localize' in main file when it's not a depedency`, async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); - const filePath = '/projects/bar/src/main.server.ts'; - const contents = tree.readContent(filePath); - expect(contents).not.toContain('@angular/localize'); - }); - - it(`should add import to '@angular/localize' in main file when it's a depedency`, async () => { + it(`should add import to '@angular/localize' as type in 'tsconfig.server.json' when it's not a depedency`, async () => { addPackageJsonDependency(appTree, { name: '@angular/localize', type: NodeDependencyType.Default, version: 'latest', }); - const tree = await schematicRunner .runSchematicAsync('universal', defaultOptions, appTree) .toPromise(); - const filePath = '/projects/bar/src/main.server.ts'; - const contents = tree.readContent(filePath); - expect(contents).toContain('@angular/localize/init'); + + const { compilerOptions } = tree.readJson('/projects/bar/tsconfig.server.json') as { + compilerOptions: CompilerOptions; + }; + expect(compilerOptions.types).toContain('@angular/localize/init'); }); }); From 979bce45e63eda9ac5402869ef3dc4c63aaca3f1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 7 Oct 2022 09:38:40 +0000 Subject: [PATCH 1012/1388] feat(@angular-devkit/build-angular): auto include `@angular/platform-server/init` during server builds This changes removes the need to import `@angular/platform-server/init` in the `main.server.ts` instead we now include this as an entry-point when we are bundling as server bundle. --- .../build_angular/src/webpack/configs/common.ts | 6 ++++++ .../files/src/__main@stripTsExtension__.ts.template | 8 -------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index faa0f4d1fb08..8e98c191e91b 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -117,6 +117,12 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise } from './app/<%= stripTsExtension(rootModuleFileName) %>'; From a1d596cdee1122b82f51e0c55f0cecf874c0df44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Exbrayat?= Date: Wed, 12 Oct 2022 11:12:49 +0200 Subject: [PATCH 1013/1388] test(@schematics/angular): test names typos --- packages/schematics/angular/universal/index_spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 56efc3ae9ee4..31aaff944ede 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -163,7 +163,7 @@ describe('Universal Schematic', () => { expect(targets.build.options.outputPath).toEqual('dist/bar/browser'); }); - it('should add a server transition to BrowerModule import', async () => { + it('should add a server transition to BrowserModule import', async () => { const tree = await schematicRunner .runSchematicAsync('universal', defaultOptions, appTree) .toPromise(); @@ -226,7 +226,7 @@ describe('Universal Schematic', () => { expect(tree.exists(filePath)).toEqual(true); }); - it(`should not add import to '@angular/localize' as type in 'tsconfig.server.json' when it's not a depedency`, async () => { + it(`should not add import to '@angular/localize' as type in 'tsconfig.server.json' when it's not a dependency`, async () => { const tree = await schematicRunner .runSchematicAsync('universal', defaultOptions, appTree) .toPromise(); @@ -236,7 +236,7 @@ describe('Universal Schematic', () => { expect(compilerOptions.types).not.toContain('@angular/localize/init'); }); - it(`should add import to '@angular/localize' as type in 'tsconfig.server.json' when it's not a depedency`, async () => { + it(`should add import to '@angular/localize' as type in 'tsconfig.server.json' when it's a dependency`, async () => { addPackageJsonDependency(appTree, { name: '@angular/localize', type: NodeDependencyType.Default, From 678eb583467fd94328c97ef7cf842c0d1715e142 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 12 Oct 2022 09:09:16 +0000 Subject: [PATCH 1014/1388] build: update dependency ng-packagr to v15.0.0-next.4 --- package.json | 2 +- yarn.lock | 76 ++++++++++++++++++++++++++++------------------------ 2 files changed, 42 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index ee40ddf3ee82..1556baca4d6e 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "15.0.0-next.3", + "ng-packagr": "15.0.0-next.4", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.2", diff --git a/yarn.lock b/yarn.lock index 33c8105c2a98..a55fa5d1bc1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1874,26 +1874,26 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@rollup/plugin-json@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== +"@rollup/plugin-json@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-5.0.0.tgz#1e3e18302637760353c83a41d1f3c4e760afb20d" + integrity sha512-LsWDA5wJs/ggzakVuKQhZo7HPRcQZgBa3jWIVxQSFxaRToUGNi8ZBh3+k/gQ+1eInVYJgn4WBRCUkmoDrmmGzw== dependencies: - "@rollup/pluginutils" "^3.0.8" + "@rollup/pluginutils" "^4.2.1" -"@rollup/plugin-node-resolve@^14.1.0": - version "14.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-14.1.0.tgz#f2fa475405cd7fed6420bf438fe393f988a9bc96" - integrity sha512-5G2niJroNCz/1zqwXtk0t9+twOSDlG00k1Wfd7bkbbXmwg8H8dvgHdIWAun53Ps/rckfvOC7scDBjuGFg5OaWw== +"@rollup/plugin-node-resolve@^15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.0.tgz#44ded58b36702de27bf36bbf19ca420bbd1d0c27" + integrity sha512-iwJbzfTzlzDDQcGmkS7EkCKwe2kSkdBrjX87Fy/KrNjr6UNnLpod0t6X66e502LRe5JJCA4FFqrEscWPnZAkig== dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" + "@rollup/pluginutils" "^4.2.1" + "@types/resolve" "1.20.2" deepmerge "^4.2.2" - is-builtin-module "^3.1.0" + is-builtin-module "^3.2.0" is-module "^1.0.0" - resolve "^1.19.0" + resolve "^1.22.1" -"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": +"@rollup/pluginutils@^3.0.9": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== @@ -1902,6 +1902,14 @@ estree-walker "^1.0.1" picomatch "^2.2.2" +"@rollup/pluginutils@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + "@rushstack/node-core-library@3.51.1": version "3.51.1" resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.51.1.tgz#e123053c4924722cc9614c0091fda5ed7bbc6c9d" @@ -2339,14 +2347,7 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/resolve@^1.17.1": +"@types/resolve@1.20.2", "@types/resolve@^1.17.1": version "1.20.2" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== @@ -5025,6 +5026,11 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6156,7 +6162,7 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-builtin-module@^3.1.0: +is-builtin-module@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== @@ -7586,13 +7592,13 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0-next.3: - version "15.0.0-next.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.3.tgz#c3542c55012f7f745cc74776cec72bc2863bc52f" - integrity sha512-hYye1leBdyFiKc0+MzhhS8Kr3Wa3FohmA0mK+UWRMsu/H9J0zEtKkwsVxcq6S7tqlqRpem3D+9Spz6Fy7/E31w== +ng-packagr@15.0.0-next.4: + version "15.0.0-next.4" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.4.tgz#5a00a6c99efc3946b79d9ec8f9eeb4f247f01cb2" + integrity sha512-6qA5Ymalhw3hDF9JDF+WUdVZE6hiyVT/8QwMALmOQ6vjh61aIfzeeFmXDf3AuahS/inprNl0l85l0jH2qP0rEA== dependencies: - "@rollup/plugin-json" "^4.1.0" - "@rollup/plugin-node-resolve" "^14.1.0" + "@rollup/plugin-json" "^5.0.0" + "@rollup/plugin-node-resolve" "^15.0.0" ajv "^8.11.0" ansi-colors "^4.1.3" autoprefixer "^10.4.12" @@ -7610,7 +7616,7 @@ ng-packagr@15.0.0-next.3: ora "^5.1.0" postcss "^8.4.16" postcss-url "^10.1.3" - rollup "^2.79.1" + rollup "^3.0.0" rollup-plugin-sourcemaps "^0.6.3" rxjs "^7.5.6" sass "^1.55.0" @@ -9106,7 +9112,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: +resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -9195,10 +9201,10 @@ rollup-plugin-sourcemaps@^0.6.3: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@^2.79.1: - version "2.79.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== +rollup@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.1.0.tgz#1310c764ee3187cd39d936c85107f4bfb0cae3d7" + integrity sha512-GEvr+COcXicr4nuih6mpt2Eydq5lZ72z0RrKx1H4/Q2ouT34OHrIIJ9OUj2sZqUhq7QL8Hp8Q8BoWbjL/6ccRQ== optionalDependencies: fsevents "~2.3.2" From 3d253e3b4a585cd430c4372cc70b4606170544cb Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 06:24:45 +0000 Subject: [PATCH 1015/1388] test: remove `node16-broken` from app-shell unit test This is no longer the case and thus this test can be enabled. --- packages/angular_devkit/build_angular/BUILD.bazel | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 3bc212e68ecb..c11602c5b8fd 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -284,10 +284,6 @@ ts_library( LARGE_SPECS = { "app-shell": { - "tags": [ - # TODO: node crashes with an internal error on node16 - "node16-broken", - ], }, "dev-server": { "shards": 10, @@ -328,7 +324,6 @@ LARGE_SPECS = { "server": { "extra_deps": [ "@npm//@angular/animations", - "@npm//@angular/platform-server", ], }, "ng-packagr": {}, From 2fb9a4dc091280db146f437d5cbb6e439c259e81 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 06:33:17 +0000 Subject: [PATCH 1016/1388] docs: remove page view section from analytics doc Page views are no longer used in GA4. --- docs/design/analytics.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 3eeb19bb3b4e..81eb081ea02e 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -4,18 +4,6 @@ This document list exactly what is gathered and how. Any change to analytics should most probably include a change to this document. -## Pageview - -Each command creates a pageview with the path `/command/${commandName}/${subcommandName}`. IE. -`ng generate component my-component --dryRun` would create a page view with the path -`/command/generate/@schematics_angular/component`. - -We use page views to keep track of sessions more effectively, and to tag events to a page. - -Project names and target names will be removed. -The command `ng run some-project:lint:some-configuration` will create a page view with the path -`/command/run`. - ## Dimensions and Metrics Google Analytics Custom Dimensions are used to track system values and flag values. These From bf7ed0d3e5053d9d81e29c79bb9690770c706e4e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 07:06:17 +0000 Subject: [PATCH 1017/1388] ci: correct analytics validation script to print user custom dimensions Prior to this user custom dimensions were not added to `docs/design/analytics.md` --- docs/design/analytics.md | 19 ++++++++----------- scripts/validate-user-analytics.ts | 4 +--- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 81eb081ea02e..c5eafad41f08 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -38,17 +38,14 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | Name | Parameter | Type | |:---:|:---|:---| -| Command | `ep.ng_command` | `string` | -| SchematicCollectionName | `ep.ng_schematic_collection_name` | `string` | -| SchematicName | `ep.ng_schematic_name` | `string` | -| Standalone | `ep.ng_standalone` | `string` | -| Style | `ep.ng_style` | `string` | -| Routing | `ep.ng_routing` | `string` | -| InlineTemplate | `ep.ng_inline_template` | `string` | -| InlineStyle | `ep.ng_inline_style` | `string` | -| BuilderTarget | `ep.ng_builder_target` | `string` | -| Aot | `ep.ng_aot` | `string` | -| Optimization | `ep.ng_optimization` | `string` | +| OsArchitecture | `up.ng_os_architecture` | `string` | +| NodeVersion | `up.ng_node_version` | `string` | +| NodeMajorVersion | `upn.ng_node_major_version` | `number` | +| AngularCLIVersion | `up.ng_cli_version` | `string` | +| AngularCLIMajorVersion | `upn.ng_cli_major_version` | `number` | +| PackageManager | `up.ng_package_manager` | `string` | +| PackageManagerVersion | `up.ng_package_manager_version` | `string` | +| PackageManagerMajorVersion | `upn.ng_package_manager_major_version` | `number` | ### List of Event Custom Dimensions diff --git a/scripts/validate-user-analytics.ts b/scripts/validate-user-analytics.ts index dec90139e35b..a41367c7d6b2 100644 --- a/scripts/validate-user-analytics.ts +++ b/scripts/validate-user-analytics.ts @@ -28,9 +28,7 @@ const metricsTableRe = /([\s\S]*) ### List of Event Custom Dimensions diff --git a/packages/angular/cli/src/analytics/analytics-parameters.ts b/packages/angular/cli/src/analytics/analytics-parameters.ts index d05918e51020..04aa550b8cf0 100644 --- a/packages/angular/cli/src/analytics/analytics-parameters.ts +++ b/packages/angular/cli/src/analytics/analytics-parameters.ts @@ -54,8 +54,8 @@ export enum UserCustomDimension { AngularCLIVersion = 'up.ng_cli_version', AngularCLIMajorVersion = 'upn.ng_cli_major_version', PackageManager = 'up.ng_package_manager', - PackageManagerVersion = 'up.ng_package_manager_version', - PackageManagerMajorVersion = 'upn.ng_package_manager_major_version', + PackageManagerVersion = 'up.ng_pkg_manager_version', + PackageManagerMajorVersion = 'upn.ng_pkg_manager_major_v', } /** diff --git a/scripts/validate-user-analytics.ts b/scripts/validate-user-analytics.ts index a41367c7d6b2..e35822c90326 100644 --- a/scripts/validate-user-analytics.ts +++ b/scripts/validate-user-analytics.ts @@ -40,6 +40,13 @@ async function _checkUserDimensions(dimensionsTable: string, logger: logging.Log ); } + for (const { parameter } of data) { + const param = parameter.split('.')[1]; + if (param.length > 24) { + throw new Error(`User dimension parameter ${param} is more than 24 characters.`); + } + } + const generatedTable = userAnalyticsTable({ data }).trim(); if (dimensionsTable !== generatedTable) { logger.error( @@ -59,7 +66,7 @@ async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) logger.info('Gathering options for user-analytics...'); const schemaUserAnalyticsValidator = (obj: Object) => { - for (const [key, value] of Object.entries(obj)) { + for (const value of Object.values(obj)) { if (value && typeof value === 'object') { const userAnalytics = value['x-user-analytics']; if (userAnalytics && !eventCustomDimensionValues.has(userAnalytics)) { @@ -97,6 +104,13 @@ async function _checkDimensions(dimensionsTable: string, logger: logging.Logger) ); } + for (const { parameter } of data) { + const param = parameter.split('.')[1]; + if (param.length > 40) { + throw new Error(`Event dimension parameter ${param} is more than 40 characters.`); + } + } + const generatedTable = userAnalyticsTable({ data }).trim(); if (dimensionsTable !== generatedTable) { logger.error( @@ -124,6 +138,13 @@ async function _checkMetrics(metricsTable: string, logger: logging.Logger) { ); } + for (const { parameter } of data) { + const param = parameter.split('.')[1]; + if (param.length > 40) { + throw new Error(`Event metric parameter ${param} is more than 40 characters.`); + } + } + const generatedTable = userAnalyticsTable({ data }).trim(); if (metricsTable !== generatedTable) { logger.error('Expected metrics table to be the same as generated. Copy the lines below:'); From e34bfe5eb1a559cbf53449ce213503e32fa27ae4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 13:44:18 +0000 Subject: [PATCH 1019/1388] fix(@angular-devkit/build-angular): ignore specs in node_modules when finding specs Some libraries ship spec in node_modules which might result errors such ``` ./node_modules/comment-parser/tests/unit/spacer-description-joiner.spec.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js): Error: /Users/kkostadinov/Projects/material.angular.io/node_modules/comment-parser/tests/unit/spacer-description-joiner.spec.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property. ``` --- .../build_angular/src/builders/karma/find-tests-plugin.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts index 256f4506c0c4..6fc935393ed8 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts @@ -132,6 +132,7 @@ async function findMatchingTests( root: projectSourceRoot, nomount: true, absolute: true, + ignore: ['**/node_modules/**'], }); } From 96ac74e1f88cbb1033807cbf5d4069e216772af6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 14:46:03 +0000 Subject: [PATCH 1020/1388] release: bump the next branch to v15.1.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1556baca4d6e..2df5c58bde64 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.0.0-next.4", + "version": "15.1.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From e66283168a71abf6b641b81e2d1e6e0ce086e640 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 14:46:06 +0000 Subject: [PATCH 1021/1388] docs: release notes for the v15.0.0-next.5 release --- CHANGELOG.md | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74e63ea942a0..9711c110caa9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,99 @@ + + +# 15.0.0-next.5 (2022-10-12) + +## Breaking Changes + +### @angular/cli + +- The Angular CLI no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`. + +### + +- `analyticsSharing` option in the global angular configuration has been + removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data. + + If this option is used, it can be removed using `ng config --global cli.analyticsSharing undefined`. + +- analytics APIs have been removed without replacement from `@angular-devkit/core` and `@angular-devkit/architect`. + +### @angular-devkit/build-angular + +- TypeScript versions older than 4.8.2 are no longer supported. + +### @angular-devkit/schematics + +- The depracated `UpdateBuffer` has been removed and `UpdateBuffer2` + is renamed to `UpdateBuffer`. With this change the related and + deprecated symbols `ContentCannotBeRemovedException` and `Chunk` + have also been removed. + +### @ngtools/webpack + +- TypeScript versions older than 4.8.2 are no longer supported. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- | +| [d8bff4f1e](https://github.com/angular/angular-cli/commit/d8bff4f1e68a76da1983f9d0774f415e73dfd8c3) | feat | Added --project-root option to the library schematics | +| [f2a0682dc](https://github.com/angular/angular-cli/commit/f2a0682dc82afa23a3d3481df59e4aaca5e90c78) | feat | generate new projects using TypeScript 4.8.2 | +| [b06421d15](https://github.com/angular/angular-cli/commit/b06421d15e4b5e6daffcb73ee1c2c8703b72cb47) | feat | mark `projectRoot` as non hidden option in application schematic | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------ | +| [4827d1b23](https://github.com/angular/angular-cli/commit/4827d1b23e564e4e4a8684c5e8ff035d8fa855a2) | feat | add support for Node.js version 18 | +| [4fa5b526e](https://github.com/angular/angular-cli/commit/4fa5b526e53fb9b142295ef361c3709151aa17da) | fix | handle missing `which` binary in path | +| [320241010](https://github.com/angular/angular-cli/commit/320241010eeb189de820f9abb3959b34f63a300d) | fix | skip downloading temp CLI when running `ng update` without package names | + +### + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | +| [639a3071c](https://github.com/angular/angular-cli/commit/639a3071c3630c1ccdf7e3c015e81e9423ab2678) | refactor | migrate analytics collector to use GA4 | +| [c969152de](https://github.com/angular/angular-cli/commit/c969152de630a9afdef44ba2342e728b9353c8e7) | refactor | remove analytics API from core and architect | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------ | +| [a95d130ef](https://github.com/angular/angular-cli/commit/a95d130ef4249457ed2433d52eb43c94a1169782) | feat | auto include `@angular/localize/init` when found in `types` | +| [979bce45e](https://github.com/angular/angular-cli/commit/979bce45e63eda9ac5402869ef3dc4c63aaca3f1) | feat | auto include `@angular/platform-server/init` during server builds | +| [fd4175357](https://github.com/angular/angular-cli/commit/fd41753579affa78328bfc4b6108db15ff5053f9) | feat | drop support for TypeScript 4.6 and 4.7 | +| [4fcb0a82b](https://github.com/angular/angular-cli/commit/4fcb0a82b5fa8a092d8c374cdea448edd80270d4) | fix | correctly resolve Sass partial files in node packages | +| [e34bfe5eb](https://github.com/angular/angular-cli/commit/e34bfe5eb1a559cbf53449ce213503e32fa27ae4) | fix | ignore specs in node_modules when finding specs | +| [484cda5f9](https://github.com/angular/angular-cli/commit/484cda5f9ee90ab17807eb7f5cfb4a40ea6cd264) | fix | isolate zone.js usage when rendering server bundles | +| [6c3f281d9](https://github.com/angular/angular-cli/commit/6c3f281d927c9ae2d4ec76ff9f920752e2cb73d1) | fix | show warning when using TypeScript target older then ES2022 in esbuild builder | +| [1518133db](https://github.com/angular/angular-cli/commit/1518133db3b1c710500786f9f1fcfa05a016862e) | fix | use relative sourcemap source paths for Sass in esbuild builder | +| [8c915d414](https://github.com/angular/angular-cli/commit/8c915d41496c99fb42ae3992d9c91de542260bf2) | perf | avoid extra babel file reads in esbuild builder rebuilds | +| [52db3c000](https://github.com/angular/angular-cli/commit/52db3c00076dfe118cd39d7724229210c30665e0) | perf | minimize Angular diagnostics incremental analysis in esbuild-based builder | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [86150d9dd](https://github.com/angular/angular-cli/commit/86150d9ddcbc16e35c1912754c8fb50443724074) | fix | project extension warning message should identify concerned project | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------ | +| [9b07b469b](https://github.com/angular/angular-cli/commit/9b07b469b622e083a9915ed3c24e1d53d8abf38f) | refactor | remove `UpdateBuffer` and rename `UpdateBuffer2` to `UpdateBuffer` | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------- | +| [43bd0abc1](https://github.com/angular/angular-cli/commit/43bd0abc147cf3177e707624bf6163b3dc9e06f8) | feat | drop support for TypeScript 4.6 and 4.7 | + +## Special Thanks + +AgentEnder, Alan Agius, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, Günhan Gülsoy and Lukas Spirig + + + # 15.0.0-next.4 (2022-10-05) From 95adf11131bb6d2a1ec0030fd8d42b1c0a92aa08 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 13:55:42 +0000 Subject: [PATCH 1022/1388] docs: fix markdown links in analytics docs --- docs/design/analytics.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 7d439853ecf9..68bbd388295f 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -14,13 +14,13 @@ simplicity it should remain unique across all CLI commands. The dimension is the `x-user-analytics` field in the `schema.json` files. ### Adding dimension or metic. -1. Create the dimension or metric in (https://analytics.google.com/)[Google Analytics] first. These are not tracked if they aren't +1. Create the dimension or metric in [Google Analytics](https://analytics.google.com/) first. These are not tracked if they aren't defined in Google Analytics. 1. Use the ID of the dimension as the `x-user-analytics` value in the `schema.json` file. -1. New dimension and metrics PRs need to be approved by the tooling lead and require a new (http://go/launch)[Launch]. +1. New dimension and metrics PRs need to be approved by the tooling lead and require a new [Launch](http://go/launch). ### Deleting a dimension or metic. -1. Archive the dimension and metric in (https://analytics.google.com/)[Google Analytics]. +1. Archive the dimension and metric in [Google Analytics](https://analytics.google.com/). **DO NOT ADD `x-user-analytics` FOR VALUES THAT ARE USER IDENTIFIABLE (PII), FOR EXAMPLE A From 59d64c9be1ebc1f1b5d2e7053652309f2ab90def Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 12 Oct 2022 16:34:59 +0000 Subject: [PATCH 1023/1388] docs: release notes for the v14.2.6 release --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9711c110caa9..2d763ba70159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ + + +# 14.2.6 (2022-10-12) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------ | +| [1c9cf594f](https://github.com/angular/angular-cli/commit/1c9cf594f7a855ea4b462fad53acd3bf3a2e7622) | fix | handle missing `which` binary in path | +| [28b2cd18e](https://github.com/angular/angular-cli/commit/28b2cd18e3c490cf2db64d4a6744bbd26c0aeabb) | fix | skip downloading temp CLI when running `ng update` without package names | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [ad6928184](https://github.com/angular/angular-cli/commit/ad692818413a97afe54aee6a39f0447ee9239343) | fix | project extension warning message should identify concerned project | + +## Special Thanks + +AgentEnder and Alan Agius + + + # 15.0.0-next.5 (2022-10-12) From 49ce98ad57fa39304e339fbad460a161a66c73c5 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 12 Oct 2022 16:38:36 +0000 Subject: [PATCH 1024/1388] build: update labels to match standardized labels --- .ng-dev/pull-request.mts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.ng-dev/pull-request.mts b/.ng-dev/pull-request.mts index 6bbdae4b8783..c8e9c2e9aa99 100644 --- a/.ng-dev/pull-request.mts +++ b/.ng-dev/pull-request.mts @@ -7,9 +7,9 @@ import { PullRequestConfig } from '@angular/ng-dev'; export const pullRequest: PullRequestConfig = { githubApiMerge: { default: 'rebase', - labels: [{ pattern: 'squash commits', method: 'squash' }], + labels: [{ pattern: 'merge: squash commits', method: 'squash' }], }, mergeReadyLabel: 'action: merge', - caretakerNoteLabel: 'action: merge-assistance', - commitMessageFixupLabel: 'needs commit fixup', + caretakerNoteLabel: 'action: caretaker note', + commitMessageFixupLabel: 'merge: fix commit message', }; From 57d076b04fc9509d44fda6bd1e4fbcb279cf6923 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 12 Oct 2022 17:21:08 +0000 Subject: [PATCH 1025/1388] build: update to the latest version of the feature triage action --- .github/workflows/feature-requests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index c2242e9c3144..ed39ca522a07 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@2e999e1982762a32f68ba8afa02b8bfdac8495b8 + - uses: angular/dev-infra/github-actions/feature-request@a64f3515ea822a8b228ebaab1c52e76e557a580c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From b455787842b3974c495f581ea8508b53e0b2fb35 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 12 Oct 2022 17:36:28 +0000 Subject: [PATCH 1026/1388] build: update comp labels to be area instead --- .github/angular-robot.yml | 12 ++++++------ .github/dependabot.yml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index d5105974613c..3e3a56a25603 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -67,21 +67,21 @@ triage: defaultMilestone: 12, # arrays of labels that determine if an issue has been triaged by the caretaker l1TriageLabels: - - - 'comp: *' + - - 'area: *' # arrays of labels that determine if an issue has been fully triaged l2TriageLabels: - - 'type: bug/fix' - 'severity*' - 'freq*' - - 'comp: *' + - 'area: *' - - 'type: feature' - - 'comp: *' + - 'area: *' - - 'type: refactor' - - 'comp: *' + - 'area: *' - - 'type: RFC / Discussion / question' - - 'comp: *' + - 'area: *' - - 'type: docs' - - 'comp: *' + - 'area: *' # Size checking size: diff --git a/.github/dependabot.yml b/.github/dependabot.yml index cc8aa2b2c506..a01353b6bcf0 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,7 +8,7 @@ updates: commit-message: prefix: 'build' labels: - - 'comp: build & ci' + - 'area: build & ci' - 'target: patch' - 'action: merge' # Disable version updates From 253199adc4d07dbe91d147f49df02432bd1899cf Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Wed, 12 Oct 2022 19:12:53 +0000 Subject: [PATCH 1027/1388] build: update commit message based labels action --- .github/workflows/dev-infra.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 8b594c938033..040200f56510 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@2e999e1982762a32f68ba8afa02b8bfdac8495b8 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@604d67220ea3a92d23e603873b2a9d3d217973f5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: From e7189f6e88a5adb05bbf8e93887a71b874bf9e43 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 13 Oct 2022 05:05:43 +0000 Subject: [PATCH 1028/1388] build: update dependency postcss to v8.4.18 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2df5c58bde64..d2faa3e10f0e 100644 --- a/package.json +++ b/package.json @@ -184,7 +184,7 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.17", + "postcss": "8.4.18", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "prettier": "^2.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 12e2b737cf3f..c4c1f7f1bd4f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -47,7 +47,7 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.17", + "postcss": "8.4.18", "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "regenerator-runtime": "0.13.9", diff --git a/yarn.lock b/yarn.lock index a55fa5d1bc1e..1d9b2f4b41f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8525,6 +8525,15 @@ postcss@8.4.17, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.18: + version "8.4.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" + integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" From 2adeb6fbf2a02e66e000c46339574f759ed2547a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 12 Oct 2022 10:24:09 -0400 Subject: [PATCH 1029/1388] perf(@angular-devkit/build-angular): use Uint8Arrays for incremental caching with esbuild-based builder When using the experimental esbuild-based browser application builder in watch mode, the in-memory incremental caching will now use Uint8Arrays where possible to limit the amount of encoding needed when passing data to esbuild. When passing a string to esbuild, it must encode the string prior to sending it. By providing the pre-encoded data from the in-memory cache, this step can be skipped for rebuilds of input files that have not changed. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 601de304be04..1ffc346a62bc 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -132,7 +132,7 @@ const WINDOWS_SEP_REGEXP = new RegExp(`\\${path.win32.sep}`, 'g'); export class SourceFileCache extends Map { readonly modifiedFiles = new Set(); - readonly babelFileCache = new Map(); + readonly babelFileCache = new Map(); invalidate(files: Iterable): void { this.modifiedFiles.clear(); @@ -247,7 +247,7 @@ export function createCompilerPlugin( let previousBuilder: ts.EmitAndSemanticDiagnosticsBuilderProgram | undefined; let previousAngularProgram: NgtscProgram | undefined; - const babelDataCache = new Map(); + const babelDataCache = new Map(); const diagnosticCache = new WeakMap(); build.onStart(async () => { @@ -466,7 +466,8 @@ export function createCompilerPlugin( // would need to be added to the key as well. let contents = babelDataCache.get(data); if (contents === undefined) { - contents = await transformWithBabel(args.path, data, pluginOptions); + const transformedData = await transformWithBabel(args.path, data, pluginOptions); + contents = Buffer.from(transformedData, 'utf-8'); babelDataCache.set(data, contents); } @@ -490,7 +491,8 @@ export function createCompilerPlugin( let contents = pluginOptions.sourceFileCache?.babelFileCache.get(args.path); if (contents === undefined) { const data = await fs.readFile(args.path, 'utf-8'); - contents = await transformWithBabel(args.path, data, pluginOptions); + const transformedData = await transformWithBabel(args.path, data, pluginOptions); + contents = Buffer.from(transformedData, 'utf-8'); pluginOptions.sourceFileCache?.babelFileCache.set(args.path, contents); } From 5954d240fa8033b7a4e8fac4395517ea2c82762d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 13 Oct 2022 09:48:48 +0000 Subject: [PATCH 1030/1388] fix(@angular-devkit/build-angular): only import karma when running karma builder Karma is an optional peer dependency, but with the recent changes we broke this as we imported karma outside of the execution method, which made this package to be always imported even when the Karma builder was not invoked. --- goldens/public-api/angular_devkit/build_angular/index.md | 2 +- .../build_angular/src/builders/karma/index.ts | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 1fdb8b73e0e3..0a551d617d09 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -7,7 +7,7 @@ import { BuilderContext } from '@angular-devkit/architect'; import { BuilderOutput } from '@angular-devkit/architect'; import { BuildResult } from '@angular-devkit/build-webpack'; -import { ConfigOptions } from 'karma'; +import type { ConfigOptions } from 'karma'; import { Configuration } from 'webpack'; import { DevServerBuildOutput } from '@angular-devkit/build-webpack'; import { Observable } from 'rxjs'; diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 87b322e2ac87..50da6fe0f24c 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -8,7 +8,7 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; import { strings } from '@angular-devkit/core'; -import { Config, ConfigOptions, config, constants } from 'karma'; +import type { Config, ConfigOptions } from 'karma'; import { createRequire } from 'module'; import * as path from 'path'; import { Observable, from } from 'rxjs'; @@ -96,7 +96,7 @@ export function execute( const karmaOptions: KarmaConfigOptions = options.karmaConfig ? {} - : getBuiltInKarmaConfig(context.workspaceRoot, projectName); + : getBuiltInKarmaConfig(karma, context.workspaceRoot, projectName); karmaOptions.singleRun = singleRun; @@ -145,7 +145,7 @@ export function execute( logger: context.logger, }; - const parsedKarmaConfig = await config.parseConfig( + const parsedKarmaConfig = await karma.config.parseConfig( options.karmaConfig && path.resolve(context.workspaceRoot, options.karmaConfig), transforms.karmaOptions ? transforms.karmaOptions(karmaOptions) : karmaOptions, { promiseConfig: true, throwErrors: true }, @@ -184,6 +184,7 @@ export function execute( } function getBuiltInKarmaConfig( + karma: typeof import('karma'), workspaceRoot: string, projectName: string, ): ConfigOptions & Record { @@ -218,7 +219,7 @@ function getBuiltInKarmaConfig( reporters: ['progress', 'kjhtml'], port: 9876, colors: true, - logLevel: constants.LOG_INFO, + logLevel: karma.constants.LOG_INFO, autoWatch: true, browsers: ['Chrome'], restartOnFileChange: true, From 6f9c84bbd14d15375efec79a009e5b538b450b30 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 13 Oct 2022 13:24:20 +0000 Subject: [PATCH 1031/1388] build: update angular --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 358 ++++++------------ 7 files changed, 151 insertions(+), 281 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 040200f56510..b505438350c1 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -20,6 +20,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@2e999e1982762a32f68ba8afa02b8bfdac8495b8 + - uses: angular/dev-infra/github-actions/post-approval-changes@604d67220ea3a92d23e603873b2a9d3d217973f5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ed39ca522a07..2f74b55bc4c4 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@a64f3515ea822a8b228ebaab1c52e76e557a580c + - uses: angular/dev-infra/github-actions/feature-request@604d67220ea3a92d23e603873b2a9d3d217973f5 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 957ec6ff7942..88870fbbf3ea 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@2e999e1982762a32f68ba8afa02b8bfdac8495b8 + - uses: angular/dev-infra/github-actions/lock-closed@604d67220ea3a92d23e603873b2a9d3d217973f5 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index d2faa3e10f0e..276a00e07f21 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.5", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45ba3918d1656d4e746300bdc4d5ab8b4b825c71", - "@angular/cdk": "14.2.4", - "@angular/common": "15.0.0-next.5", - "@angular/compiler": "15.0.0-next.5", - "@angular/compiler-cli": "15.0.0-next.5", - "@angular/core": "15.0.0-next.5", - "@angular/forms": "15.0.0-next.5", - "@angular/localize": "15.0.0-next.5", - "@angular/material": "14.2.4", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#7297d58b25df3e1ed4f01e00e4eaae00444411d8", - "@angular/platform-browser": "15.0.0-next.5", - "@angular/platform-browser-dynamic": "15.0.0-next.5", - "@angular/platform-server": "15.0.0-next.5", - "@angular/router": "15.0.0-next.5", - "@angular/service-worker": "15.0.0-next.5", + "@angular/animations": "15.0.0-next.6", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#b53c70a1c14c5b662d4477e170964a922b8744d3", + "@angular/cdk": "14.2.5", + "@angular/common": "15.0.0-next.6", + "@angular/compiler": "15.0.0-next.6", + "@angular/compiler-cli": "15.0.0-next.6", + "@angular/core": "15.0.0-next.6", + "@angular/forms": "15.0.0-next.6", + "@angular/localize": "15.0.0-next.6", + "@angular/material": "14.2.5", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#cfca1372f089d9d8aa675808391f7a3072fd5055", + "@angular/platform-browser": "15.0.0-next.6", + "@angular/platform-browser-dynamic": "15.0.0-next.6", + "@angular/platform-server": "15.0.0-next.6", + "@angular/router": "15.0.0-next.6", + "@angular/service-worker": "15.0.0-next.6", "@babel/core": "7.19.3", "@babel/generator": "7.19.5", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a08931ce720b..4788bfe0d4fe 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.5", - "@angular/compiler-cli": "15.0.0-next.5", + "@angular/compiler": "15.0.0-next.6", + "@angular/compiler-cli": "15.0.0-next.6", "typescript": "4.8.4", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 0fdbe97733ba..3e01cb7778e4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#3ed86f4b6cc3171cfd4c5846842f79db3753f13a", - "@angular/cdk": "github:angular/cdk-builds#013a386a025e4563a24a7bcd529cebcce104b992", - "@angular/common": "github:angular/common-builds#c7f249ce247e6d30f3941616300d53146a74c152", - "@angular/compiler": "github:angular/compiler-builds#95a2310265d772c154664209e470fad6d6217a2b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#6d71cf0eaffe8d16c5e21fe9de233f46d069ed7d", - "@angular/core": "github:angular/core-builds#2757f84dd78e40e502958f1a2d2e9421baa87243", - "@angular/forms": "github:angular/forms-builds#4e44cccdc0a13dab83a657566c1cae17d059f4b0", - "@angular/language-service": "github:angular/language-service-builds#4607fde03a3c69dedeca487d66a06bae72228d4b", - "@angular/localize": "github:angular/localize-builds#153dc711710154909a7c846298a8451ab9fa4269", - "@angular/material": "github:angular/material-builds#7bfc2fbf10c43218df7b1a30ea38c578a0a19171", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a24440916ae9e04ec75d50911573dbf15ef23af2", - "@angular/platform-browser": "github:angular/platform-browser-builds#540b149b8e9384116d696a7bc1d90567576735b0", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#e5d3f519589035aa8c58124fe54ab8048c3f9fa1", - "@angular/platform-server": "github:angular/platform-server-builds#e1a0c99c7382c4e453910f6a5af798f61dad3a66", - "@angular/router": "github:angular/router-builds#fc4f38d7efb8f226d1d84877ca1e0426946f5e58", - "@angular/service-worker": "github:angular/service-worker-builds#57ebca9bbf44f60376ddcee62c94d53383236d3d" + "@angular/animations": "github:angular/animations-builds#badcd9416faa9ba4dc685ddaccf42aaa11d1f0fc", + "@angular/cdk": "github:angular/cdk-builds#fef3e665d7d6513e3d38ccfa820f9b00fe08d200", + "@angular/common": "github:angular/common-builds#bc8f87bae70d32be5c9c3b61bdc209dbf4c597e4", + "@angular/compiler": "github:angular/compiler-builds#2e1e3b8facf8c5be5ef260f12fb59d627f0f4908", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#34a7f52f0117981496a2a97b3820caddfbcbb372", + "@angular/core": "github:angular/core-builds#c36a3a5f604ee967c05e6d31f48c4c099920b9be", + "@angular/forms": "github:angular/forms-builds#d2a69a2c165f62e30b4f9ccc3b3f77a24302cf79", + "@angular/language-service": "github:angular/language-service-builds#014f8d6289b700ab84d9d2ed22fff154b02f9a06", + "@angular/localize": "github:angular/localize-builds#5e54075de7cdb156429936e63a6c2441ab610b1e", + "@angular/material": "github:angular/material-builds#ae0227b3c5b3fb1bd3711bc7219386631530049f", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#09e6847b99fb3159d8fbc70d75d00962b9ed1320", + "@angular/platform-browser": "github:angular/platform-browser-builds#0380302d9d836eacc16e64bffd64dbe32b30ea66", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a52f017ac3b7aa2b6a170ebd49d07953cf7a4aca", + "@angular/platform-server": "github:angular/platform-server-builds#14ba32f777e2085ef2d8957a340a8ab8ed11a65f", + "@angular/router": "github:angular/router-builds#81bab257e11b54b1b4289dd2e3783bed6296250f", + "@angular/service-worker": "github:angular/service-worker-builds#109cd01b7e4652494a760d7359f4f44bcc9f975e" } } diff --git a/yarn.lock b/yarn.lock index 1d9b2f4b41f9..a38bcff8e1b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,34 +10,34 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0-next.4": - version "0.1500.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-next.4.tgz#bac2c68e6a531e1d489df7b50cdbbc5c08bd3c73" - integrity sha512-heFf4Jx9yXjS9s2vcP4YbYwWD73px4EQFWktjlCn7xdV17Ko7oON44G8lO1r7t6vykRewUJesH/K0zI+rB07hA== +"@angular-devkit/architect@0.1500.0-next.5": + version "0.1500.0-next.5" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-next.5.tgz#74a5a30791779df287d46c792b482196ca6c6dbe" + integrity sha512-0KIJ7bwmHiv8kMBjYTyyxmvz/OSSIlHmSn8iYtBjlRiaNa2uPrfFz8OBT4gFCYsHt4V8UEyFSW0Oy/04+xqZ6g== dependencies: - "@angular-devkit/core" "15.0.0-next.4" + "@angular-devkit/core" "15.0.0-next.5" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-next.4.tgz#cbb149a452d5f8bbdcd068acf6aa51b148592744" - integrity sha512-rheXmttX2JNmmQ7RU7V06OyEy8plW/+vL57RwatH4xCr4tL1S9Iwehx5gvPqzdITsgSrejv419StgIJRdxlusw== +"@angular-devkit/build-angular@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-next.5.tgz#8232da6d98cdae4264346ffaee3de67e38e1a1e4" + integrity sha512-ZAeB4c8esjNK+1fa0OIFfb0Q3sc8yCDNaCDrjDm4AKVwQk8FQRF6WbxX4GXDRzKFM53V5aAHBu4pcT6E69DRZA== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0-next.4" - "@angular-devkit/build-webpack" "0.1500.0-next.4" - "@angular-devkit/core" "15.0.0-next.4" + "@angular-devkit/architect" "0.1500.0-next.5" + "@angular-devkit/build-webpack" "0.1500.0-next.5" + "@angular-devkit/core" "15.0.0-next.5" "@babel/core" "7.19.3" - "@babel/generator" "7.19.3" + "@babel/generator" "7.19.5" "@babel/helper-annotate-as-pure" "7.18.6" "@babel/plugin-proposal-async-generator-functions" "7.19.1" "@babel/plugin-transform-async-to-generator" "7.18.6" "@babel/plugin-transform-runtime" "7.19.1" - "@babel/preset-env" "7.19.3" - "@babel/runtime" "7.19.0" + "@babel/preset-env" "7.19.4" + "@babel/runtime" "7.19.4" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0-next.4" + "@ngtools/webpack" "15.0.0-next.5" ansi-colors "4.1.3" autoprefixer "10.4.12" babel-loader "8.2.5" @@ -55,7 +55,7 @@ jsonc-parser "3.2.0" karma-source-map-support "1.4.0" less "4.1.3" - less-loader "11.0.0" + less-loader "11.1.0" license-webpack-plugin "4.0.2" loader-utils "3.2.0" mini-css-extract-plugin "2.6.1" @@ -71,9 +71,9 @@ resolve-url-loader "5.0.0" rxjs "6.6.7" sass "1.55.0" - sass-loader "13.0.2" + sass-loader "13.1.0" semver "7.3.8" - source-map-loader "4.0.0" + source-map-loader "4.0.1" source-map-support "0.5.21" terser "5.15.1" text-table "0.2.0" @@ -87,18 +87,18 @@ optionalDependencies: esbuild "0.15.10" -"@angular-devkit/build-webpack@0.1500.0-next.4": - version "0.1500.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-next.4.tgz#3148f7cc23a46b2e9a2155ee8c6d76e93d08ce16" - integrity sha512-PthvLjYxjyQ51pHFq42zggKjcc6HU8Pt7PKJA6pqLVHxY+I4taDfKOmVs+Bw43tCEypMs2UdCDrubU9368L7qw== +"@angular-devkit/build-webpack@0.1500.0-next.5": + version "0.1500.0-next.5" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-next.5.tgz#607afe7e4daab6a17b14b6ec2f700df44d5a6e47" + integrity sha512-dPmg97gh6c/Y5WC30QYL9NiQ+iMd0EWu1ZNyjcEYmOPV0NJYJTv9bR1fum9hQ3WrTGX+Rte8u2vQz6LZKFhjUw== dependencies: - "@angular-devkit/architect" "0.1500.0-next.4" + "@angular-devkit/architect" "0.1500.0-next.5" rxjs "6.6.7" -"@angular-devkit/core@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-next.4.tgz#19af8b29478a9a7119e24b21ace7460e79911b2d" - integrity sha512-ei3cWpzhWHmLlSYIQIGpo9btvAopIaFETlbt5fnmOHBK3LcH7U9HUbNg3iNtSoEQm4bfyEzKpO38xreTwlbMIQ== +"@angular-devkit/core@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-next.5.tgz#cdadcb6fa1a505807b66bf71ef44c45f0a70baf1" + integrity sha512-krjFGTCN7od0nHFkNqbAwR+rL6QdbqLxJJd4uesQFYCujjo+A9z6HkI3Zu6rIOwgu37RuTexGVlRcOcHUYj1yA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -106,10 +106,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.5.tgz#152a71ece368183edce31b660ba10708c6a4f40b" - integrity sha512-xwRiAkNosnV/+UXbRuBq9jWMzstgeurk+w+1RyvbV/tOIgi85W4dA2h5NjGOuNkG+w5oQbALCaZ61fS6BUuUiQ== +"@angular/animations@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.6.tgz#ef3e6deb49d2ba428ff9fb628393bff92c31aa0a" + integrity sha512-jPUL8JpzAx68qoUH95Cv/vPkTvV7krXLmmkSDSvwAqctlgQfSZKRlrlWg94JZH1f9B7RfPVCTAJqc2lr9ndhsg== dependencies: tslib "^2.3.0" @@ -121,12 +121,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#45ba3918d1656d4e746300bdc4d5ab8b4b825c71": - version "0.0.0-2e999e1982762a32f68ba8afa02b8bfdac8495b8" - uid "45ba3918d1656d4e746300bdc4d5ab8b4b825c71" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#45ba3918d1656d4e746300bdc4d5ab8b4b825c71" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#b53c70a1c14c5b662d4477e170964a922b8744d3": + version "0.0.0-604d67220ea3a92d23e603873b2a9d3d217973f5" + uid b53c70a1c14c5b662d4477e170964a922b8744d3 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#b53c70a1c14c5b662d4477e170964a922b8744d3" dependencies: - "@angular-devkit/build-angular" "15.0.0-next.4" + "@angular-devkit/build-angular" "15.0.0-next.5" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -159,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.4": - version "14.2.4" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.4.tgz#f858ff928206c24c1bbd38610444a5214990017d" - integrity sha512-5jngZcOyC2n9pRYec/D0iCw72QSnCkGYjtfgIlOK/FZYGhpOa34GMGObPuv4F0u7J2TEtbO6xIFsCFaK0FLIWQ== +"@angular/cdk@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.5.tgz#12cec1b890775cc9b041a2ae85d638068b5e90bb" + integrity sha512-kKneb9Z/2E+EXMsHuH8MWy8aygKhdFlKXYltEG7r4W/B6FJC012kJfe+Euj8X0O26akOVW9Q0X7nczCqHqU4tQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.5.tgz#aef83a95efa6e00a76ebde7ce6bea5daa56bd52b" - integrity sha512-uigrbcBBcElwzYs1TouFu1BCNig9xjPVBbeTUmqkjvyN8hoqOsTOqHytBdp6yYLjOCx8IE9tMjCFNmqTTu94ow== +"@angular/common@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.6.tgz#6b3c7d42c8ef45ba5521b86f1c8527176a63a634" + integrity sha512-KPI/t788Tr95J9cOKYfuDZcp3ekKdCOwNlIA/tIjIEclNZCzJ0xNmWpCqEjYqwrdAEeDhXimuDeEwG1z4EQ5Mg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.5.tgz#65ce7e8e2c3869fd1edfbd3c0439f39a20ab6204" - integrity sha512-fePBmWQaxuEP2ZxwDsK30CHs8QSczebE6WLCBfNhaNPTamVhWDsdOJNnW0nDCRLPlQ9CY0LQIHO9z0q1RdPPsg== +"@angular/compiler-cli@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.6.tgz#bad526d667c7baff5285bde0d2a48ef4e841dfbc" + integrity sha512-VmPznczahQpoYZwN4G+IifdYrv8N1XMJCIWLkrGI8MMQ3/EdpK4swCBwJPIkE6qWZzMm1YNm92PIB211WsQX9A== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -191,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.5.tgz#0fd3092f7d9467ed5de77f1bb9ce7595eee49da0" - integrity sha512-E99YAt4pXnw5V7IGmgnkHjtXSCaSHbo+lFryD3mW3lxSsWnHqIYbbFesEL9OwGg/xekwz0wsXLG//tZO4ozjlA== +"@angular/compiler@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.6.tgz#b5e18a644e629b58579560fc377b4ed23b0449b2" + integrity sha512-9EkadZksgfvtTsqNWsvgAE7pdMyyUEbVYgPjDPFRlzKzygkQMv1mjAvatsko+h5saqS1Mn8LFMugnv3PoUFh2A== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.5.tgz#4d820740c9eba83cb2bf119cc47c7df302640733" - integrity sha512-9hZvOjK9enVMlX5NShkAgwlk6eSH3GHSLt8KuX/MveQTfSyxwuSxvw7K8y5drXp0oni4zCpt2e9FmWweuPb99Q== +"@angular/core@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.6.tgz#bd9f44b12c898f75927297ef5fedf33da9d3c8bd" + integrity sha512-Dam2tF2WUnnH/wpzONVGCWGklfIlIdcciAIrZK1i3HyR5GF3Gsb+fXfVaGNt4VCdbzxTkO5KCetCUpcBWkC4dg== dependencies: tslib "^2.3.0" @@ -212,71 +212,71 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.5.tgz#b20a55c445367d76c2386b53d73f573c13f430b6" - integrity sha512-GHMYqtvEn0YSMuhg4GhcrdbQS5zNPanWQCj9SvL+TZbLfgJXrl+W1tUnI/LMxcZiM26w/zA+Y+HHhV/elpnrdg== +"@angular/forms@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.6.tgz#b8946fa55e841db38327949635086832d86a41d2" + integrity sha512-WYg5/g4Lr3U00aIxtXRDReszs4eoH2y0oZguZIk/d+wUNMhwpjtn78Cvd9HhZNWK+3/++YmCJuCB2wS+MFRkxQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.5.tgz#3f46a46ee25ca86c466cad2fce2d28619a224b42" - integrity sha512-W9hdfRyQtok7xzi+tbXlIOzfUJ9BFRDxytzJv2n1iHosF1T4kEfhI6cCX85mjqPbkoHooqS4Xi902hcZ8sigzw== +"@angular/localize@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.6.tgz#18fdb21dbfd349520fb9ede16d954024043874bf" + integrity sha512-nugM+SevFUBbAoYy1CMGoPbL//tsdxtChauQO9P2DzqoCKwf+rge5P7P+TjKyokQDv8uBM49IVJNyZAX76d1FQ== dependencies: "@babel/core" "7.18.9" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.4": - version "14.2.4" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.4.tgz#9a6902fbe06a93abcfa2152ea2300d09fed06305" - integrity sha512-vS7dyrnr2YpZPjFFmnSZ9W0dFpBQ5cWf4CH5AI0/KfbCGC+2ybkFZ61oMNBf1xXdoyf4Ob16Dm3xerKWFwJ4sQ== +"@angular/material@14.2.5": + version "14.2.5" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.5.tgz#f2592222ffbfe603d0cc311eed36addd5f014d04" + integrity sha512-vC3F1r8WHclL1BbQVxOc9Ite1xH/pCOLnYYcx8HK1T2jlzeX7NxU1A58iBZC3rLj494tsMnRQDSZPXfazBiw0g== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#7297d58b25df3e1ed4f01e00e4eaae00444411d8": - version "0.0.0-2e999e1982762a32f68ba8afa02b8bfdac8495b8" - uid "7297d58b25df3e1ed4f01e00e4eaae00444411d8" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#7297d58b25df3e1ed4f01e00e4eaae00444411d8" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#cfca1372f089d9d8aa675808391f7a3072fd5055": + version "0.0.0-604d67220ea3a92d23e603873b2a9d3d217973f5" + uid cfca1372f089d9d8aa675808391f7a3072fd5055 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#cfca1372f089d9d8aa675808391f7a3072fd5055" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.5.tgz#63b1955da113eb0b819413def8187f69a95a861a" - integrity sha512-cN4EWl8RI+bfUb2iBt+leKuB+XonQQ7JEkTQmZW2rtePZ3GiPzPJWAJciHe57Mu0eccXC7pXUqJKpbQK9NJQLw== +"@angular/platform-browser-dynamic@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.6.tgz#118bfbd246a2071fd77caa7048b4ac9b58bfa154" + integrity sha512-rO61ef/JinLEdhJzzvadbdaUrn4/8DxQioKRLx66hMZgXi6dP0FRfz/lhHdCB7ppyMI1p2uIRcLKJtB4DHJEvg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.5.tgz#947bd1a7bbcf1a086b2a775a0b33b782acac6191" - integrity sha512-LGV7MeZbMjYut8Pn3u0Ay8P2DmRk00ywJFFPidzxLTqIlS9ykG6v1MRm4bnPDwLlWVtC/gg0xpOuSGjxDKgxiQ== +"@angular/platform-browser@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.6.tgz#101721e05a8e5498c8bea3944d7ec7fa228d77c9" + integrity sha512-Hbl9xqulhl3adEnjbKNrSMB70vp6NgqshoiKssowRhSLt4agbYw3Vp6/4opYpL6H4z/nF0/jjwKGoaUt6fVZyw== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.5.tgz#8fbc6219855d65f68a1776eb7ea2d7f707b7d2f6" - integrity sha512-RZkk5E/kvOWwc2jhomHUdhlEXjA50YhqLCj97quFB1SyxdkSl88KTRB+CWIwLBjgc9xaGCKe7BaGW/sLzJ1S8Q== +"@angular/platform-server@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.6.tgz#676bf236ad5394f075fb3dfa42b719a15e5b0af3" + integrity sha512-eeSZPHTJx+GYijFNkx8Bhu44Gcj6bLYMXH9fNLbmkTmg8V7wQMoxCINFkFEJu6yE9D1tnJT+eomw8GIkYZpcVA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.5.tgz#91fd0f10d6b82ec1ffa19935f1f0dd66920c052f" - integrity sha512-FgYePen10oYbFyTBTi8noKy7PRZAs1TAEhJAF/dO749rj+eeWkAoGIcIlUwH6asToYtiwfpz0KmZ+/Aibt7IDQ== +"@angular/router@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.6.tgz#cfe6d1f8f2200d5f07d668cf5b686ff208769d5f" + integrity sha512-n66L2nNeJEadAsBl7U1owUU+GU/daEjFG9PQ640piJm8LKUXQRrIGMWvg661bWRC3bn01cMZwDE8tlQq2P144Q== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.5.tgz#2b3af0216e67b456e5e5b15c21726eb139fb7cfd" - integrity sha512-gzIfxWudrl70BQawwMBULaJ37zUdUznS6mda4OYPuSRcztXUhXf+FVxkWx7zQx5a4oR6VPrAzpCXzMTuwKpvKw== +"@angular/service-worker@15.0.0-next.6": + version "15.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.6.tgz#4afef248e72581b5c2253995785eb8e6dba36521" + integrity sha512-E0xUtA83c4PCzbiJlkKR11CheyNS+/aFfkp9EIa+u5IlvmHJMFr1lO0JSUXapkCPj9co9k8WU9/kfKsxrMxcug== dependencies: tslib "^2.3.0" @@ -292,7 +292,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.3": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== @@ -344,15 +344,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.19.3", "@babel/generator@^7.18.9", "@babel/generator@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" - integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== - dependencies: - "@babel/types" "^7.19.3" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/generator@7.19.5": version "7.19.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" @@ -362,6 +353,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.18.9", "@babel/generator@^7.19.3": + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" + integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== + dependencies: + "@babel/types" "^7.19.3" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -673,17 +673,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" - integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-proposal-object-rest-spread@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d" @@ -866,13 +855,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" - integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-transform-block-scoping@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz#315d70f68ce64426db379a3d830e7ac30be02e9b" @@ -902,13 +884,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" - integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-transform-destructuring@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz#46890722687b9b89e1369ad0bd8dc6c5a3b4319d" @@ -1122,87 +1097,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" - integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== - dependencies: - "@babel/compat-data" "^7.19.3" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@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.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@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.18.6" - "@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" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.19.0" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.13" - "@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.18.8" - "@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.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.0" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@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/preset-modules" "^0.1.5" - "@babel/types" "^7.19.3" - 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" - semver "^6.3.0" - "@babel/preset-env@7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b" @@ -1295,13 +1189,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.19.0", "@babel/runtime@^7.8.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" @@ -1309,6 +1196,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.8.4": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" + integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1624,10 +1518,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0-next.4": - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.4.tgz#dcd325d4aed87d7f0ab0bcbeeb600386e4289810" - integrity sha512-XDcl42OGXy2ap3+yl3gTnaFV/A5Tmt2mqRvT1lE9DmwLIOII7+vU4/LzpKfdNlHpsSEaiXof6GBMsu5CVfynrA== +"@ngtools/webpack@15.0.0-next.5": + version "15.0.0-next.5" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.5.tgz#a0dbca5b31368a4f78c113926d30c96eb7ac92e5" + integrity sha512-OArRDeec4CswdXBezxBWa6Nl/Szzd+nqYi4g8qwjxWDGMhXpGAeDncgiH0HMOTla8+NXf4EOWd173dj5hXWlkg== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -6828,13 +6722,6 @@ klona@^2.0.4, klona@^2.0.5: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -less-loader@11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.0.0.tgz#a31b2bc5cdfb62f1c7de9b2d01cd944c22b1a024" - integrity sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw== - dependencies: - klona "^2.0.4" - less-loader@11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" @@ -9279,14 +9166,6 @@ safe-regex-test@^1.0.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@13.0.2: - version "13.0.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.0.2.tgz#e81a909048e06520e9f2ff25113a801065adb3fe" - integrity sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - sass-loader@13.1.0: version "13.1.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.1.0.tgz#e5b9acf14199a9bc6eaed7a0b8b23951c2cebf6f" @@ -9660,15 +9539,6 @@ sonic-boom@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.0.tgz#bdc6b118bc6c87ee4d8d851f2d4efcc5abdb2ef5" - integrity sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw== - dependencies: - abab "^2.0.6" - iconv-lite "^0.6.3" - source-map-js "^1.0.2" - source-map-loader@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.1.tgz#72f00d05f5d1f90f80974eda781cbd7107c125f2" From 45418bc1e72f7a107b46069aaf554df053306c01 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 06:21:37 +0000 Subject: [PATCH 1032/1388] build: remove labels from pull-requests config As part of the labels standardization across repos these options has been removed. --- .ng-dev/pull-request.mts | 3 --- 1 file changed, 3 deletions(-) diff --git a/.ng-dev/pull-request.mts b/.ng-dev/pull-request.mts index c8e9c2e9aa99..1bf246fdcdce 100644 --- a/.ng-dev/pull-request.mts +++ b/.ng-dev/pull-request.mts @@ -9,7 +9,4 @@ export const pullRequest: PullRequestConfig = { default: 'rebase', labels: [{ pattern: 'merge: squash commits', method: 'squash' }], }, - mergeReadyLabel: 'action: merge', - caretakerNoteLabel: 'action: caretaker note', - commitMessageFixupLabel: 'merge: fix commit message', }; From ae8b237970ba200326c009066a1ce09f166e6a18 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 14 Oct 2022 07:15:22 +0000 Subject: [PATCH 1033/1388] build: update angular to dc779d1 --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index b505438350c1..404466356cda 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@604d67220ea3a92d23e603873b2a9d3d217973f5 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@604d67220ea3a92d23e603873b2a9d3d217973f5 + - uses: angular/dev-infra/github-actions/post-approval-changes@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 2f74b55bc4c4..e253fbf7fff5 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@604d67220ea3a92d23e603873b2a9d3d217973f5 + - uses: angular/dev-infra/github-actions/feature-request@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 88870fbbf3ea..b011217916b2 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@604d67220ea3a92d23e603873b2a9d3d217973f5 + - uses: angular/dev-infra/github-actions/lock-closed@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 276a00e07f21..c381cd1beaab 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-next.6", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#b53c70a1c14c5b662d4477e170964a922b8744d3", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1bbdc56f904821ec2524bfe97715323bd694974c", "@angular/cdk": "14.2.5", "@angular/common": "15.0.0-next.6", "@angular/compiler": "15.0.0-next.6", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-next.6", "@angular/localize": "15.0.0-next.6", "@angular/material": "14.2.5", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#cfca1372f089d9d8aa675808391f7a3072fd5055", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7", "@angular/platform-browser": "15.0.0-next.6", "@angular/platform-browser-dynamic": "15.0.0-next.6", "@angular/platform-server": "15.0.0-next.6", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 3e01cb7778e4..caec91a0c7d2 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#badcd9416faa9ba4dc685ddaccf42aaa11d1f0fc", - "@angular/cdk": "github:angular/cdk-builds#fef3e665d7d6513e3d38ccfa820f9b00fe08d200", - "@angular/common": "github:angular/common-builds#bc8f87bae70d32be5c9c3b61bdc209dbf4c597e4", - "@angular/compiler": "github:angular/compiler-builds#2e1e3b8facf8c5be5ef260f12fb59d627f0f4908", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#34a7f52f0117981496a2a97b3820caddfbcbb372", - "@angular/core": "github:angular/core-builds#c36a3a5f604ee967c05e6d31f48c4c099920b9be", - "@angular/forms": "github:angular/forms-builds#d2a69a2c165f62e30b4f9ccc3b3f77a24302cf79", - "@angular/language-service": "github:angular/language-service-builds#014f8d6289b700ab84d9d2ed22fff154b02f9a06", - "@angular/localize": "github:angular/localize-builds#5e54075de7cdb156429936e63a6c2441ab610b1e", - "@angular/material": "github:angular/material-builds#ae0227b3c5b3fb1bd3711bc7219386631530049f", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#09e6847b99fb3159d8fbc70d75d00962b9ed1320", - "@angular/platform-browser": "github:angular/platform-browser-builds#0380302d9d836eacc16e64bffd64dbe32b30ea66", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a52f017ac3b7aa2b6a170ebd49d07953cf7a4aca", - "@angular/platform-server": "github:angular/platform-server-builds#14ba32f777e2085ef2d8957a340a8ab8ed11a65f", - "@angular/router": "github:angular/router-builds#81bab257e11b54b1b4289dd2e3783bed6296250f", - "@angular/service-worker": "github:angular/service-worker-builds#109cd01b7e4652494a760d7359f4f44bcc9f975e" + "@angular/animations": "github:angular/animations-builds#dc779d15c92fdba16c790f2b95289068852440c3", + "@angular/cdk": "github:angular/cdk-builds#f86c648c45b82571ddf4e2abc89ef25263849ab9", + "@angular/common": "github:angular/common-builds#974e796f47a29859fc9847ceece1596b5372a1e8", + "@angular/compiler": "github:angular/compiler-builds#95661f6134fff3fe025ba334e2d0a53c27f870c7", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#84740073efdcd1e0336fdd3a86bcce5e47e5c55d", + "@angular/core": "github:angular/core-builds#a8e40007ec5d14a1534cbbbaa2cc3d93fbae5706", + "@angular/forms": "github:angular/forms-builds#43eae6008422a37c9e9fd884d0352544e1f8bf44", + "@angular/language-service": "github:angular/language-service-builds#a9fd70ccad88c6e83314a2b32c37bed67b9a1614", + "@angular/localize": "github:angular/localize-builds#fa9504de16aa4881abe9963fac7c0f4156487742", + "@angular/material": "github:angular/material-builds#de2f1bf4bd74b762b0832314ee1507a6ba79013b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e649eb2e87c2c34387187d04b6a8247de62f1475", + "@angular/platform-browser": "github:angular/platform-browser-builds#4435dd56ced3bb647122af6bf4f368232f79d0ad", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#53e9f608a56f9db7de13addc686b935299bac0df", + "@angular/platform-server": "github:angular/platform-server-builds#d6edd56c1a2dcd89e43782253b37838735873a38", + "@angular/router": "github:angular/router-builds#6c2869c6f57ea95731ad8ef2c13a0e74d3e0d169", + "@angular/service-worker": "github:angular/service-worker-builds#ba8f15ae5d1b0dcdccaf0891f2fc6eb0ef1bdae8" } } diff --git a/yarn.lock b/yarn.lock index a38bcff8e1b1..17126805584a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,10 +121,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#b53c70a1c14c5b662d4477e170964a922b8744d3": - version "0.0.0-604d67220ea3a92d23e603873b2a9d3d217973f5" - uid b53c70a1c14c5b662d4477e170964a922b8744d3 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#b53c70a1c14c5b662d4477e170964a922b8744d3" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1bbdc56f904821ec2524bfe97715323bd694974c": + version "0.0.0-798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6" + uid "1bbdc56f904821ec2524bfe97715323bd694974c" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1bbdc56f904821ec2524bfe97715323bd694974c" dependencies: "@angular-devkit/build-angular" "15.0.0-next.5" "@angular/benchpress" "0.3.0" @@ -235,10 +235,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#cfca1372f089d9d8aa675808391f7a3072fd5055": - version "0.0.0-604d67220ea3a92d23e603873b2a9d3d217973f5" - uid cfca1372f089d9d8aa675808391f7a3072fd5055 - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#cfca1372f089d9d8aa675808391f7a3072fd5055" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7": + version "0.0.0-798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6" + uid "093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From 717bd03de6afe0c1f1a0f44f1a4a48e882dd07da Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 12 Oct 2022 12:47:57 -0400 Subject: [PATCH 1034/1388] fix(@angular-devkit/build-angular): account for package.json exports fields with CSS import statements The `postcss-imports` package was previously used to support `@import` within CSS files. Unfortunately, the package does not account for `package.json` exports fields. This prevents imports defined within that field from working when used within a build. The `css-loader` package does provide this functionality and is now used to provide support for CSS `@import` instead of `postcss-imports`. This change does not affect preprocessors that provide their own import behavior. --- package.json | 1 - .../angular_devkit/build_angular/BUILD.bazel | 1 - .../angular_devkit/build_angular/package.json | 1 - .../src/builders/browser/specs/styles_spec.ts | 8 +++-- .../browser/specs/vendor-source-map_spec.ts | 1 + .../server/tests/options/source-map_spec.ts | 3 +- .../src/webpack/configs/styles.ts | 36 +++++++------------ 7 files changed, 22 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index c381cd1beaab..b2aeda7ba6a4 100644 --- a/package.json +++ b/package.json @@ -185,7 +185,6 @@ "piscina": "3.2.0", "popper.js": "^1.14.1", "postcss": "8.4.18", - "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index c11602c5b8fd..6ad91a71dd2a 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -162,7 +162,6 @@ ts_library( "@npm//parse5-html-rewriting-stream", "@npm//piscina", "@npm//postcss", - "@npm//postcss-import", "@npm//postcss-loader", "@npm//regenerator-runtime", "@npm//resolve-url-loader", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c4c1f7f1bd4f..58620f18ebcf 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -48,7 +48,6 @@ "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", "postcss": "8.4.18", - "postcss-import": "15.0.0", "postcss-loader": "7.0.1", "regenerator-runtime": "0.13.9", "resolve-url-loader": "5.0.0", diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts index 2b2d8eb9e9d1..964d5deac850 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/styles_spec.ts @@ -174,6 +174,7 @@ describe('Browser Builder styles', () => { }; const overrides = { + aot: true, sourceMap: true, styles: [`src/styles.${ext}`], }; @@ -301,10 +302,13 @@ describe('Browser Builder styles', () => { const overrides = { optimization: false }; const { files } = await browserBuild(architect, host, target, overrides); - expect(await files['styles.css']).toContain(tags.stripIndents` + const content = await files['styles.css']; + expect(content).toContain(tags.stripIndents` /* normal-comment */ /*! important-comment */ - section { -webkit-mask-composite: source-over; mask-composite: add; } + section { -webkit-mask-composite: source-over; mask-composite: add; }`); + // Check separately because Webpack may add source file comments inbetween the rules + expect(content).toContain(tags.stripIndents` /* normal-comment */ /*! important-comment */ div { -webkit-mask-composite: source-over; mask-composite: add; }`); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts index 6774ea793dcd..024003369ac8 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/vendor-source-map_spec.ts @@ -108,6 +108,7 @@ describe('Identifying third-party code in source maps', () => { './src/app/app.component.ts', './src/app/app.module.ts', './src/main.ts', + './src/app/app.component.css', ]); // Only some sources in the polyfills map are first-party. diff --git a/packages/angular_devkit/build_angular/src/builders/server/tests/options/source-map_spec.ts b/packages/angular_devkit/build_angular/src/builders/server/tests/options/source-map_spec.ts index 4e0a38dd0b4d..9171304bfd5c 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/tests/options/source-map_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/tests/options/source-map_spec.ts @@ -11,7 +11,8 @@ import { BASE_OPTIONS, SERVER_BUILDER_INFO, describeBuilder } from '../setup'; describeBuilder(execute, SERVER_BUILDER_INFO, (harness) => { describe('Option: "sourceMap"', () => { - const INLINE_SOURCEMAP_MARKER = '/*# sourceMappingURL=data:application/json;base64,'; + const INLINE_SOURCEMAP_MARKER = + '/*# sourceMappingURL=data:application/json;charset=utf-8;base64,'; beforeEach(async () => { await harness.writeFiles({ diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 5c2d1fbb7f16..a38bd2929d76 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -12,7 +12,6 @@ import * as path from 'path'; import type { FileImporter } from 'sass'; import { pathToFileURL } from 'url'; import type { Configuration, LoaderContext, RuleSetUseItem } from 'webpack'; -import { StyleElement } from '../../builders/browser/schema'; import { SassWorkerImplementation } from '../../sass/sass-service'; import { SassLegacyWorkerImplementation } from '../../sass/sass-service-legacy'; import { WebpackConfigOptions } from '../../utils/build-options'; @@ -28,13 +27,12 @@ import { StylesWebpackPlugin } from '../plugins/styles-webpack-plugin'; import { assetNameTemplateFactory, getOutputHashFormat, - normalizeExtraEntryPoints, normalizeGlobalStyles, } from '../utils/helpers'; // eslint-disable-next-line max-lines-per-function export function getStylesConfig(wco: WebpackConfigOptions): Configuration { - const { root, projectRoot, buildOptions } = wco; + const { root, buildOptions } = wco; const extraPlugins: Configuration['plugins'] = []; extraPlugins.push(new AnyComponentStyleBudgetChecker(buildOptions.budgets)); @@ -103,12 +101,10 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { } } - const postcssImports = require('postcss-import'); const autoprefixer: typeof import('autoprefixer') = require('autoprefixer'); const postcssOptionsCreator = (inlineSourcemaps: boolean, extracted: boolean) => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const optionGenerator = (loader: any) => ({ + const optionGenerator = (loader: LoaderContext) => ({ map: inlineSourcemaps ? { inline: true, @@ -116,22 +112,6 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { } : undefined, plugins: [ - postcssImports({ - load: (filename: string) => { - return new Promise((resolve, reject) => { - loader.fs.readFile(filename, (err: Error, data: Buffer) => { - if (err) { - reject(err); - - return; - } - - const content = data.toString(); - resolve(content); - }); - }); - }, - }), PostcssCliResources({ baseHref: buildOptions.baseHref, deployUrl: buildOptions.deployUrl, @@ -178,6 +158,16 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { const postCssLoaderPath = require.resolve('postcss-loader'); const componentStyleLoaders: RuleSetUseItem[] = [ + { + loader: require.resolve('css-loader'), + options: { + url: false, + sourceMap: componentsSourceMap, + importLoaders: 1, + exportType: 'string', + esModule: false, + }, + }, { loader: postCssLoaderPath, options: { @@ -196,6 +186,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { options: { url: false, sourceMap: !!cssSourceMap, + importLoaders: 1, }, }, { @@ -294,7 +285,6 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { // Component styles are all styles except defined global styles { use: componentStyleLoaders, - type: 'asset/source', resourceQuery: /\?ngResource/, }, ], From 55d3d6c61644abf9df2f9c57f66b668d9fda4ed1 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 13 Oct 2022 19:57:16 -0400 Subject: [PATCH 1035/1388] fix(@ngtools/webpack): support inline style sourcemaps when using css-loader for component styles When using the `css-loader` as the final entry in the Webpack loader chain, sourcemaps will not be generated and inlined by the Webpack stylesheet runtime unless the `btoa` global function exists. Now that the Angular CLI uses the `css-loader` to handle `@import`, the `btoa` function must be provided within the custom VM execution context used to evaluate the output of the Webpack component stylesheet processing pipeline. --- packages/ngtools/webpack/src/resource_loader.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index e0279a8fbd31..9df156710337 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -6,9 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ -import assert from 'assert'; -import * as path from 'path'; -import * as vm from 'vm'; +import assert from 'node:assert'; +import { Buffer } from 'node:buffer'; +import * as path from 'node:path'; +import * as vm from 'node:vm'; import type { Asset, Compilation } from 'webpack'; import { addError } from './ivy/diagnostics'; import { normalizePath } from './ivy/paths'; @@ -317,7 +318,13 @@ export class WebpackResourceLoader { private _evaluate(filename: string, source: string): string | null { // Evaluate code - const context: { resource?: string | { default?: string } } = {}; + + // css-loader requires the btoa function to exist to correctly generate inline sourcemaps + const context: { btoa: (input: string) => string; resource?: string | { default?: string } } = { + btoa(input) { + return Buffer.from(input).toString('base64'); + }, + }; try { vm.runInNewContext(source, context, { filename }); From c95bab80d07ae7036ef0d1b4054f7f2575a38b79 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 14 Oct 2022 07:15:31 +0000 Subject: [PATCH 1036/1388] build: update dependency cacache to v17 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 27 +++++++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b2aeda7ba6a4..ac48ab5b46ec 100644 --- a/package.json +++ b/package.json @@ -133,7 +133,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "16.1.3", + "cacache": "17.0.0", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 58620f18ebcf..0297f5769cd9 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,7 +26,7 @@ "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "16.1.3", + "cacache": "17.0.0", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", diff --git a/yarn.lock b/yarn.lock index 17126805584a..d68178a09b41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1620,6 +1620,13 @@ "@gar/promisify" "^1.1.3" semver "^7.3.5" +"@npmcli/fs@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.0.0.tgz#00d13fd40d9144fb0ca40faf04f755625856ccd2" + integrity sha512-GdeVD+dnBxzMslTFvnctLX5yIqV4ZNZBWNbo1OejQ++bZpnFNQ1AjOn9Sboi+LzheQbCBU1ts1mhEVduHrcZOQ== + dependencies: + semver "^7.3.5" + "@npmcli/git@^3.0.0": version "3.0.2" resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" @@ -3450,6 +3457,26 @@ cacache@16.1.3, cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: tar "^6.1.11" unique-filename "^2.0.0" +cacache@17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.0.tgz#76be0cc410879a37ec08426cbfcc216a5c2f26a6" + integrity sha512-5hYD+c8Ytmymo9b8tPgYWrWfHOzaO8M8jMUkyiEYfeLTwo70MUaD/yA1pNONi3upx02JIn3mtpDuSCXoQgtlHw== + dependencies: + "@npmcli/fs" "^3.0.0" + "@npmcli/move-file" "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" From ef5b40f7e4fcfa103bf19525cbb29ac943f5a169 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 14 Oct 2022 07:15:26 +0000 Subject: [PATCH 1037/1388] build: update all non-major dependencies --- package.json | 2 +- packages/angular_devkit/benchmark/package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 14 +++++++++++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index ac48ab5b46ec..042b5a241888 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "protractor": "~7.0.0", "puppeteer": "18.2.1", "quicktype-core": "6.0.69", - "regenerator-runtime": "0.13.9", + "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.55.0", diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index 9b37f980afe4..f1be84cb45ce 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -12,7 +12,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", - "pidusage": "3.0.0", + "pidusage": "3.0.1", "pidtree": "0.6.0", "rxjs": "6.6.7", "tree-kill": "^1.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0297f5769cd9..309a6da31edd 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -49,7 +49,7 @@ "piscina": "3.2.0", "postcss": "8.4.18", "postcss-loader": "7.0.1", - "regenerator-runtime": "0.13.9", + "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.55.0", diff --git a/yarn.lock b/yarn.lock index d68178a09b41..c6133a877c7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8268,7 +8268,14 @@ pidtree@0.6.0, pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pidusage@3.0.0, pidusage@^3.0.0: +pidusage@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.1.tgz#b8383319aca2ed810d1bcc4207c1c5c377d94f5f" + integrity sha512-/UlE6DQIe6yuDvm3v6756U0ErEsj60FLQTRZ4qPQF9b5yZKhf4c0llzD0tZpyE03nn8HQoLniFgKsL0ABB3nCg== + dependencies: + safe-buffer "^5.2.1" + +pidusage@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.0.tgz#69108079724c9afdd958644b920bc40bac964044" integrity sha512-8VJLToXhj+RYZGNVw8oxc7dS54iCQXUJ+MDFHezQ/fwF5B8W4OWodAMboc1wb08S/4LiHwAmkT4ohf/d3YPPsw== @@ -8887,6 +8894,11 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +regenerator-runtime@0.13.10: + version "0.13.10" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" + integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== + regenerator-runtime@0.13.9, regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" From 1cd53d6be17d6199b6af74a5a1686b3cb8f52268 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 14 Oct 2022 08:06:50 +0000 Subject: [PATCH 1038/1388] build: update dependency pacote to v15 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 31 ++++++++++++++++++++----------- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 042b5a241888..95401b30b0db 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,7 @@ "npm-package-arg": "9.1.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "14.0.0", + "pacote": "15.0.0", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 6d6f2a84eee2..8fbae6885b90 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "npm-pick-manifest": "7.0.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "14.0.0", + "pacote": "15.0.0", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/yarn.lock b/yarn.lock index c6133a877c7c..b41108106eea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3457,7 +3457,7 @@ cacache@16.1.3, cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: tar "^6.1.11" unique-filename "^2.0.0" -cacache@17.0.0: +cacache@17.0.0, cacache@^17.0.0: version "17.0.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.0.tgz#76be0cc410879a37ec08426cbfcc216a5c2f26a6" integrity sha512-5hYD+c8Ytmymo9b8tPgYWrWfHOzaO8M8jMUkyiEYfeLTwo70MUaD/yA1pNONi3upx02JIn3mtpDuSCXoQgtlHw== @@ -6530,6 +6530,11 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-parse-even-better-errors@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7" + integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -8064,21 +8069,18 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-14.0.0.tgz#aff1d9ac0fb420eb79187b291ecded20b370d8d3" - integrity sha512-SYXfAQi7Bj+suydMz7lVnEF4/xNIvP+uobXGPwIUdFPkUxoOBHYxCakMXHGQQZ9lIHLj2IXTJ6BeWSe6U/uAYg== +pacote@15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.0.tgz#32f6f7e9b59f4dd17e48c5f957c0d777f2d59021" + integrity sha512-YsMK5om14r2rf4Ukum5R43zKFoJe0swrsZRbG4fUfTJUxHpdMrie6+Js/jaNtn7Bq0YRL9SnAajPqz6n4wgi6g== dependencies: "@npmcli/git" "^3.0.0" "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.1.0" - cacache "^16.0.0" - chownr "^2.0.0" + cacache "^17.0.0" fs-minipass "^2.1.0" - infer-owner "^1.0.4" minipass "^3.1.6" - mkdirp "^1.0.4" npm-package-arg "^9.0.0" npm-packlist "^7.0.0" npm-pick-manifest "^7.0.0" @@ -8086,8 +8088,7 @@ pacote@14.0.0: proc-log "^2.0.0" promise-retry "^2.0.1" read-package-json "^5.0.0" - read-package-json-fast "^2.0.3" - rimraf "^3.0.2" + read-package-json-fast "^3.0.0" ssri "^9.0.0" tar "^6.1.11" @@ -8791,6 +8792,14 @@ read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: json-parse-even-better-errors "^2.3.0" npm-normalize-package-bin "^1.0.1" +read-package-json-fast@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.0.tgz#1931be7e06ab0e1e11223f5bb4ce0da2d4dbcc36" + integrity sha512-dVZMRA86XfZYNxQu18el+HG18L92Rn9CyOhOiQRPFR6ygigZwnmPg1DEVPNFBesp8JeISYYLvvD8DaEkUSTFkQ== + dependencies: + json-parse-even-better-errors "^3.0.0" + npm-normalize-package-bin "^2.0.0" + read-package-json@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" From cf1b7789a5055f0fe3a17ae34de48ac3d9869b06 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 06:53:29 +0000 Subject: [PATCH 1039/1388] fix(@angular-devkit/core): update logger `forEach` `promiseCtor` type `typeof Promise` and `PromiseConstructorLike` are not the same thing. This causes issues in G3 when `strictNullChecks` are being enabled using RXJS 7. --- goldens/public-api/angular_devkit/core/index.md | 2 +- packages/angular_devkit/core/src/logger/logger.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/goldens/public-api/angular_devkit/core/index.md b/goldens/public-api/angular_devkit/core/index.md index 23cda881f1fb..626dc8eaf772 100644 --- a/goldens/public-api/angular_devkit/core/index.md +++ b/goldens/public-api/angular_devkit/core/index.md @@ -459,7 +459,7 @@ class Logger extends Observable implements LoggerApi { // (undocumented) fatal(message: string, metadata?: JsonObject): void; // (undocumented) - forEach(next: (value: LogEntry) => void, promiseCtor?: typeof Promise): Promise; + forEach(next: (value: LogEntry) => void, promiseCtor?: PromiseConstructorLike): Promise; // (undocumented) info(message: string, metadata?: JsonObject): void; // (undocumented) diff --git a/packages/angular_devkit/core/src/logger/logger.ts b/packages/angular_devkit/core/src/logger/logger.ts index 195cf23aebfb..77ef48ef1763 100644 --- a/packages/angular_devkit/core/src/logger/logger.ts +++ b/packages/angular_devkit/core/src/logger/logger.ts @@ -162,7 +162,10 @@ export class Logger extends Observable implements LoggerApi { ); } - override forEach(next: (value: LogEntry) => void, promiseCtor?: typeof Promise): Promise { + override forEach( + next: (value: LogEntry) => void, + promiseCtor?: PromiseConstructorLike, + ): Promise { return this._observable.forEach(next, promiseCtor); } } From c59c1e7e6d0a0b9515b29c721e5c492612e42b85 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 13 Oct 2022 11:28:31 +0000 Subject: [PATCH 1040/1388] fix(@angular/cli): add workspace information as part of analytics collection With this change we collect 3 additional metrics - `all_projects_count` Count of all project in a workspace - `libs_projects_count` Count of library projects in a workspace - `apps_projects_count` Count of application projects in a workspace --- docs/design/analytics.md | 3 + .../cli/src/analytics/analytics-collector.ts | 6 ++ .../cli/src/analytics/analytics-parameters.ts | 3 + .../cli/src/command-builder/command-module.ts | 60 ++++++++++++++----- 4 files changed, 57 insertions(+), 15 deletions(-) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index 68bbd388295f..d35be19436f3 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -79,6 +79,9 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | CssSizeInBytes | `epn.ng_css_size_bytes` | `number` | | JsSizeInBytes | `epn.ng_js_size_bytes` | `number` | | NgComponentCount | `epn.ng_component_count` | `number` | +| AllProjectsCount | `epn.all_projects_count` | `number` | +| LibraryProjectsCount | `epn.libs_projects_count` | `number` | +| ApplicationProjectsCount | `epn.apps_projects_count` | `number` | ## Debugging diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index e80f23814fa6..486aab0f1318 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -72,6 +72,12 @@ export class AnalyticsCollector { }; } + reportWorkspaceInfoEvent( + parameters: Partial>, + ): void { + this.event('workspace_info', parameters); + } + reportRebuildRunEvent( parameters: Partial< Record diff --git a/packages/angular/cli/src/analytics/analytics-parameters.ts b/packages/angular/cli/src/analytics/analytics-parameters.ts index 04aa550b8cf0..10683e80a1f7 100644 --- a/packages/angular/cli/src/analytics/analytics-parameters.ts +++ b/packages/angular/cli/src/analytics/analytics-parameters.ts @@ -97,4 +97,7 @@ export enum EventCustomMetric { CssSizeInBytes = 'epn.ng_css_size_bytes', JsSizeInBytes = 'epn.ng_js_size_bytes', NgComponentCount = 'epn.ng_component_count', + AllProjectsCount = 'epn.all_projects_count', + LibraryProjectsCount = 'epn.libs_projects_count', + ApplicationProjectsCount = 'epn.apps_projects_count', } diff --git a/packages/angular/cli/src/command-builder/command-module.ts b/packages/angular/cli/src/command-builder/command-module.ts index 8cb7469fa4a5..3e3a13e3ce38 100644 --- a/packages/angular/cli/src/command-builder/command-module.ts +++ b/packages/angular/cli/src/command-builder/command-module.ts @@ -146,22 +146,9 @@ export abstract class CommandModule implements CommandModuleI let exitCode: number | void | undefined; try { - // Run and time command. if (analytics) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const internalMethods = (yargs as any).getInternalMethods(); - // $0 generate component [name] -> generate_component - // $0 add -> add - const fullCommand = (internalMethods.getUsageInstance().getUsage()[0][0] as string) - .split(' ') - .filter((x) => { - const code = x.charCodeAt(0); - - return code >= 97 && code <= 122; - }) - .join('_'); - - analytics.reportCommandRunEvent(fullCommand); + this.reportCommandRunAnalytics(analytics); + this.reportWorkspaceInfoAnalytics(analytics); } exitCode = await this.run(camelCasedOptions as Options & OtherOptions); @@ -307,6 +294,49 @@ export abstract class CommandModule implements CommandModuleI return parameters; } + + private reportCommandRunAnalytics(analytics: AnalyticsCollector): void { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const internalMethods = (yargs as any).getInternalMethods(); + // $0 generate component [name] -> generate_component + // $0 add -> add + const fullCommand = (internalMethods.getUsageInstance().getUsage()[0][0] as string) + .split(' ') + .filter((x) => { + const code = x.charCodeAt(0); + + return code >= 97 && code <= 122; + }) + .join('_'); + + analytics.reportCommandRunEvent(fullCommand); + } + + private reportWorkspaceInfoAnalytics(analytics: AnalyticsCollector): void { + const { workspace } = this.context; + if (!workspace) { + return; + } + + let applicationProjectsCount = 0; + let librariesProjectsCount = 0; + for (const project of workspace.projects.values()) { + switch (project.extensions['projectType']) { + case 'application': + applicationProjectsCount++; + break; + case 'library': + librariesProjectsCount++; + break; + } + } + + analytics.reportWorkspaceInfoEvent({ + [EventCustomMetric.AllProjectsCount]: librariesProjectsCount + applicationProjectsCount, + [EventCustomMetric.ApplicationProjectsCount]: applicationProjectsCount, + [EventCustomMetric.LibraryProjectsCount]: librariesProjectsCount, + }); + } } /** From f41d609ae868340f0d93142a99f06864c1a66bbf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 13 Oct 2022 12:59:01 +0000 Subject: [PATCH 1041/1388] fix(@angular/cli): add unique user id as user parameter in GA While, GA collects the user id, this cannot be used for reporting and filtering purpose. This can be --- docs/design/analytics.md | 1 + packages/angular/cli/src/analytics/analytics-collector.ts | 2 ++ packages/angular/cli/src/analytics/analytics-parameters.ts | 1 + 3 files changed, 4 insertions(+) diff --git a/docs/design/analytics.md b/docs/design/analytics.md index d35be19436f3..3b7928320f9b 100644 --- a/docs/design/analytics.md +++ b/docs/design/analytics.md @@ -38,6 +38,7 @@ PROJECT NAME TO BUILD OR A MODULE NAME.** | Name | Parameter | Type | |:---:|:---|:---| +| UserId | `up.ng_user_id` | `string` | | OsArchitecture | `up.ng_os_architecture` | `string` | | NodeVersion | `up.ng_node_version` | `string` | | NodeMajorVersion | `upn.ng_node_major_version` | `number` | diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 486aab0f1318..d9f998a0056a 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -60,6 +60,8 @@ export class AnalyticsCollector { // While architecture is being collect by GA as UserAgentArchitecture. // It doesn't look like there is a way to query this. Therefore we collect this as a custom user dimension too. [UserCustomDimension.OsArchitecture]: os.arch(), + // While User ID is being collected by GA, this is not visible in reports/for filtering. + [UserCustomDimension.UserId]: userId, [UserCustomDimension.NodeVersion]: nodeVersion, [UserCustomDimension.NodeMajorVersion]: +nodeVersion.split('.', 1)[0], [UserCustomDimension.PackageManager]: context.packageManager.name, diff --git a/packages/angular/cli/src/analytics/analytics-parameters.ts b/packages/angular/cli/src/analytics/analytics-parameters.ts index 10683e80a1f7..f6902eb33b2e 100644 --- a/packages/angular/cli/src/analytics/analytics-parameters.ts +++ b/packages/angular/cli/src/analytics/analytics-parameters.ts @@ -48,6 +48,7 @@ export enum RequestParameter { * @see https://support.google.com/analytics/answer/10075209?hl=en */ export enum UserCustomDimension { + UserId = 'up.ng_user_id', OsArchitecture = 'up.ng_os_architecture', NodeVersion = 'up.ng_node_version', NodeMajorVersion = 'upn.ng_node_major_version', From 474d5e3cd7d24318eb73c0c224af88916f77aee6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 14 Oct 2022 10:41:38 +0000 Subject: [PATCH 1042/1388] build: update angular to 50842c0 --- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index caec91a0c7d2..9ab031b95e30 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#dc779d15c92fdba16c790f2b95289068852440c3", - "@angular/cdk": "github:angular/cdk-builds#f86c648c45b82571ddf4e2abc89ef25263849ab9", + "@angular/cdk": "github:angular/cdk-builds#50842c09147da4fbee55cdafc1c04bfcd78ba253", "@angular/common": "github:angular/common-builds#974e796f47a29859fc9847ceece1596b5372a1e8", "@angular/compiler": "github:angular/compiler-builds#95661f6134fff3fe025ba334e2d0a53c27f870c7", "@angular/compiler-cli": "github:angular/compiler-cli-builds#84740073efdcd1e0336fdd3a86bcce5e47e5c55d", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#43eae6008422a37c9e9fd884d0352544e1f8bf44", "@angular/language-service": "github:angular/language-service-builds#a9fd70ccad88c6e83314a2b32c37bed67b9a1614", "@angular/localize": "github:angular/localize-builds#fa9504de16aa4881abe9963fac7c0f4156487742", - "@angular/material": "github:angular/material-builds#de2f1bf4bd74b762b0832314ee1507a6ba79013b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e649eb2e87c2c34387187d04b6a8247de62f1475", + "@angular/material": "github:angular/material-builds#1b2ad847c21aaaf37645354692d9ea403d345f13", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#18495010aa1a721bc4804586a87b6f50025a79a5", "@angular/platform-browser": "github:angular/platform-browser-builds#4435dd56ced3bb647122af6bf4f368232f79d0ad", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#53e9f608a56f9db7de13addc686b935299bac0df", "@angular/platform-server": "github:angular/platform-server-builds#d6edd56c1a2dcd89e43782253b37838735873a38", From 96551365e2709f48ba8ef5cfb7820cb4a126e641 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 12:18:48 +0000 Subject: [PATCH 1043/1388] fix(@angular-devkit/build-angular): add `@angular/platform-server` as an optional peer dependency `@angular/platform-server` is now an optional peer dep due to the recent changes in https://github.com/angular/angular-cli/blob/1cd53d6be17d6199b6af74a5a1686b3cb8f52268/packages/angular_devkit/build_angular/src/builders/server/index.ts#L182 --- packages/angular_devkit/build_angular/package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 309a6da31edd..60c9c4245e6f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -73,6 +73,7 @@ "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", "@angular/localize": "^15.0.0-next", + "@angular/platform-server": "^15.0.0-next", "@angular/service-worker": "^15.0.0-next", "karma": "^6.3.0", "ng-packagr": "^15.0.0-next", @@ -84,6 +85,9 @@ "@angular/localize": { "optional": true }, + "@angular/platform-server": { + "optional": true + }, "@angular/service-worker": { "optional": true }, From 61fab6413ab5c92602ee670d7c320734d41875fc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 13:25:03 +0000 Subject: [PATCH 1044/1388] fix(@angular/cli): do not collect analytics when running in non TTY mode Prior to this change we collected analytics when config was not present and the CLI was running in non TTY mode. --- .../angular/cli/src/analytics/analytics.ts | 2 +- .../analytics/analytics-enable-disable.ts | 11 ++++++++ .../commands/analytics/analytics-info.ts | 27 +++++++++++++++++++ .../analytics}/ask-analytics-command.ts | 4 +-- 4 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/commands/analytics/analytics-enable-disable.ts create mode 100644 tests/legacy-cli/e2e/tests/commands/analytics/analytics-info.ts rename tests/legacy-cli/e2e/tests/{misc => commands/analytics}/ask-analytics-command.ts (93%) diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index 1f37d21bb50d..ea4dff1a5546 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -184,7 +184,7 @@ export async function getAnalyticsUserId( } } - return globalConfig || randomUUID(); + return globalConfig; } function analyticsConfigValueToHumanFormat(value: unknown): 'enabled' | 'disabled' | 'not set' { diff --git a/tests/legacy-cli/e2e/tests/commands/analytics/analytics-enable-disable.ts b/tests/legacy-cli/e2e/tests/commands/analytics/analytics-enable-disable.ts new file mode 100644 index 000000000000..94bd8f95edb2 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/analytics/analytics-enable-disable.ts @@ -0,0 +1,11 @@ +import assert from 'node:assert'; +import { readFile } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; + +export default async function () { + await ng('analytics', 'enable'); + assert.ok(JSON.parse(await readFile('angular.json')).cli.analytics); + + await ng('analytics', 'disable'); + assert.strictEqual(JSON.parse(await readFile('angular.json')).cli.analytics, false); +} diff --git a/tests/legacy-cli/e2e/tests/commands/analytics/analytics-info.ts b/tests/legacy-cli/e2e/tests/commands/analytics/analytics-info.ts new file mode 100644 index 000000000000..68d15db2358e --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/analytics/analytics-info.ts @@ -0,0 +1,27 @@ +import { execAndWaitForOutputToMatch } from '../../../utils/process'; +import { updateJsonFile } from '../../../utils/project'; + +export default async function () { + // Should be disabled by default. + await configureTest(undefined /** analytics */); + await execAndWaitForOutputToMatch('ng', ['analytics', 'info'], /Effective status: disabled/, { + NG_FORCE_TTY: '0', // Disable prompts + }); + + await configureTest('1dba0835-38a3-4957-bf34-9974e2df0df3' /** analytics */); + await execAndWaitForOutputToMatch('ng', ['analytics', 'info'], /Effective status: enabled/, { + NG_FORCE_TTY: '0', // Disable prompts + }); + + await configureTest(false /** analytics */); + await execAndWaitForOutputToMatch('ng', ['analytics', 'info'], /Effective status: disabled/, { + NG_FORCE_TTY: '0', // Disable prompts + }); +} + +async function configureTest(analytics: false | string | undefined): Promise { + await updateJsonFile('angular.json', (config) => { + config.cli ??= {}; + config.cli.analytics = analytics; + }); +} diff --git a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts b/tests/legacy-cli/e2e/tests/commands/analytics/ask-analytics-command.ts similarity index 93% rename from tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts rename to tests/legacy-cli/e2e/tests/commands/analytics/ask-analytics-command.ts index 6844bba6f314..1bfff89b448c 100644 --- a/tests/legacy-cli/e2e/tests/misc/ask-analytics-command.ts +++ b/tests/legacy-cli/e2e/tests/commands/analytics/ask-analytics-command.ts @@ -1,5 +1,5 @@ -import { execWithEnv } from '../../utils/process'; -import { mockHome } from '../../utils/utils'; +import { execWithEnv } from '../../../utils/process'; +import { mockHome } from '../../../utils/utils'; const ANALYTICS_PROMPT = /Would you like to share pseudonymous usage data/; From c49f1eea62860ad19ba4b8641d5f3b522898d45a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 10:15:27 +0000 Subject: [PATCH 1045/1388] fix(@angular-devkit/build-angular): resolve transitive dependencies in Sass when using Yarn PNP Enhanced resolver is unable to resolve transitive dependencies in Sass when using Yarn PNP. The main reason for this is that Sass doesn't provide context on which file is requesting the module. See: sass/sass#3247. As a workaround for this we store previously resolved paths and when a new request comes in we try to resolve this from the previously resolved files if we are unable to resolve the request from the workspace root. --- .../build_angular/src/sass/sass-service.ts | 29 +++++++-- .../src/webpack/configs/styles.ts | 64 +++++++++++++------ 2 files changed, 69 insertions(+), 24 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/sass/sass-service.ts b/packages/angular_devkit/build_angular/src/sass/sass-service.ts index ae3dd99335b8..3126871d8e57 100644 --- a/packages/angular_devkit/build_angular/src/sass/sass-service.ts +++ b/packages/angular_devkit/build_angular/src/sass/sass-service.ts @@ -6,7 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import { join } from 'path'; +import { dirname, join } from 'node:path'; +import { fileURLToPath, pathToFileURL } from 'node:url'; +import { MessageChannel, Worker } from 'node:worker_threads'; import { CompileResult, Exception, @@ -15,8 +17,6 @@ import { StringOptionsWithImporter, StringOptionsWithoutImporter, } from 'sass'; -import { fileURLToPath, pathToFileURL } from 'url'; -import { MessageChannel, Worker } from 'worker_threads'; import { maxWorkers } from '../utils/environment-options'; /** @@ -31,6 +31,16 @@ type RenderCallback = (error?: Exception, result?: CompileResult) => void; type FileImporterOptions = Parameters[1]; +export interface FileImporterWithRequestContextOptions extends FileImporterOptions { + /** + * This is a custom option and is required as SASS does not provide context from which the file is being resolved. + * This breaks Yarn PNP as transitive deps cannot be resolved from the workspace root. + * + * Workaround until https://github.com/sass/sass/issues/3247 is addressed. + */ + previousResolvedModules?: Set; +} + /** * An object containing the contextual information for a specific render request. */ @@ -39,6 +49,7 @@ interface RenderRequest { workerIndex: number; callback: RenderCallback; importers?: Importers[]; + previousResolvedModules?: Set; } /** @@ -212,8 +223,16 @@ export class SassWorkerImplementation { return; } - this.processImporters(request.importers, url, options) + this.processImporters(request.importers, url, { + ...options, + previousResolvedModules: request.previousResolvedModules, + }) .then((result) => { + if (result) { + request.previousResolvedModules ??= new Set(); + request.previousResolvedModules.add(dirname(result)); + } + mainImporterPort.postMessage(result); }) .catch((error) => { @@ -234,7 +253,7 @@ export class SassWorkerImplementation { private async processImporters( importers: Iterable, url: string, - options: FileImporterOptions, + options: FileImporterWithRequestContextOptions, ): Promise { for (const importer of importers) { if (this.isImporter(importer)) { diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index a38bd2929d76..08a690d928b4 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -6,13 +6,16 @@ * found in the LICENSE file at https://angular.io/license */ -import * as fs from 'fs'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; -import * as path from 'path'; +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { pathToFileURL } from 'node:url'; import type { FileImporter } from 'sass'; -import { pathToFileURL } from 'url'; import type { Configuration, LoaderContext, RuleSetUseItem } from 'webpack'; -import { SassWorkerImplementation } from '../../sass/sass-service'; +import { + FileImporterWithRequestContextOptions, + SassWorkerImplementation, +} from '../../sass/sass-service'; import { SassLegacyWorkerImplementation } from '../../sass/sass-service-legacy'; import { WebpackConfigOptions } from '../../utils/build-options'; import { useLegacySass } from '../../utils/environment-options'; @@ -413,30 +416,53 @@ function getSassResolutionImporter( }); return { - findFileUrl: async (url, { fromImport }): Promise => { + findFileUrl: async ( + url, + { fromImport, previousResolvedModules }: FileImporterWithRequestContextOptions, + ): Promise => { if (url.charAt(0) === '.') { // Let Sass handle relative imports. return null; } - let file: string | undefined; const resolve = fromImport ? resolveImport : resolveModule; - - try { - file = await resolve(root, url); - } catch { - // Try to resolve a partial file - // @use '@material/button/button' as mdc-button; - // `@material/button/button` -> `@material/button/_button` - const lastSlashIndex = url.lastIndexOf('/'); - const underscoreIndex = lastSlashIndex + 1; - if (underscoreIndex > 0 && url.charAt(underscoreIndex) !== '_') { - const partialFileUrl = `${url.slice(0, underscoreIndex)}_${url.slice(underscoreIndex)}`; - file = await resolve(root, partialFileUrl).catch(() => undefined); + // Try to resolve from root of workspace + let result = await tryResolve(resolve, root, url); + + // Try to resolve from previously resolved modules. + if (!result && previousResolvedModules) { + for (const path of previousResolvedModules) { + result = await tryResolve(resolve, path, url); + if (result) { + break; + } } } - return file ? pathToFileURL(file) : null; + return result ? pathToFileURL(result) : null; }, }; } + +async function tryResolve( + resolve: ReturnType['getResolve']>, + root: string, + url: string, +): Promise { + try { + return await resolve(root, url); + } catch { + // Try to resolve a partial file + // @use '@material/button/button' as mdc-button; + // `@material/button/button` -> `@material/button/_button` + const lastSlashIndex = url.lastIndexOf('/'); + const underscoreIndex = lastSlashIndex + 1; + if (underscoreIndex > 0 && url.charAt(underscoreIndex) !== '_') { + const partialFileUrl = `${url.slice(0, underscoreIndex)}_${url.slice(underscoreIndex)}`; + + return resolve(root, partialFileUrl).catch(() => undefined); + } + } + + return undefined; +} From ce3f1bd6b9bd4f584fba9abe9bd7d6bb81670bda Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 14:11:07 +0000 Subject: [PATCH 1046/1388] docs: release notes for the v15.0.0-next.6 release --- CHANGELOG.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d763ba70159..13caa838a175 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,43 @@ + + +# 15.0.0-next.6 (2022-10-14) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [3dea1fa71](https://github.com/angular/angular-cli/commit/3dea1fa7173e846aff5b0d15b919d9786bbf7198) | fix | add unique user id as user parameter in GA | +| [af07aa340](https://github.com/angular/angular-cli/commit/af07aa340a1c3c9f3d42446981be59a73effa498) | fix | add workspace information as part of analytics collection | +| [22955f245](https://github.com/angular/angular-cli/commit/22955f24592df8044dbdeeb8e635beb1cc770c75) | fix | do not collect analytics when running in non TTY mode | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | +| [3ff391738](https://github.com/angular/angular-cli/commit/3ff39173808f2beed97ee5deb91be541205f9a03) | fix | account for package.json exports fields with CSS import statements | +| [6280741ce](https://github.com/angular/angular-cli/commit/6280741ce4a89882595c834f48a45cca6f9534e0) | fix | add `@angular/platform-server` as an optional peer dependency | +| [3a1970b76](https://github.com/angular/angular-cli/commit/3a1970b76e4da7424e2661664a1e9e669bd279b4) | fix | only import karma when running karma builder | +| [2105964af](https://github.com/angular/angular-cli/commit/2105964afc0285cc40c16d32c47d1eb60be5e279) | fix | resolve transitive dependencies in Sass when using Yarn PNP | +| [45a94228f](https://github.com/angular/angular-cli/commit/45a94228fb23acbd0d1a9329448f07b759c8654b) | perf | use Uint8Arrays for incremental caching with esbuild-based builder | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------ | +| [de467f46d](https://github.com/angular/angular-cli/commit/de467f46de63059f9c701dfe8695513c742f22b5) | fix | update logger `forEach` `promiseCtor` type | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------- | +| [1c1f985b9](https://github.com/angular/angular-cli/commit/1c1f985b9c9913f28915f101ee1717c0da540362) | fix | support inline style sourcemaps when using css-loader for component styles | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 14.2.6 (2022-10-12) From e9cd7f35c6a3d1f21c461dca573023fd2001d7a8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 15 Oct 2022 06:13:06 +0000 Subject: [PATCH 1047/1388] build: update dependency npm-pick-manifest to v8 --- packages/angular/cli/package.json | 2 +- yarn.lock | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 8fbae6885b90..efb6f5f843c9 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -32,7 +32,7 @@ "inquirer": "8.2.4", "jsonc-parser": "3.2.0", "npm-package-arg": "9.1.2", - "npm-pick-manifest": "7.0.2", + "npm-pick-manifest": "8.0.0", "open": "8.4.0", "ora": "5.4.1", "pacote": "15.0.0", diff --git a/yarn.lock b/yarn.lock index b41108106eea..a1ba77ba8dd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7674,6 +7674,13 @@ npm-install-checks@^5.0.0: dependencies: semver "^7.1.1" +npm-install-checks@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.0.0.tgz#9a021d8e8b3956d61fd265c2eda4735bcd3d9b83" + integrity sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q== + dependencies: + semver "^7.1.1" + npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" @@ -7684,6 +7691,11 @@ npm-normalize-package-bin@^2.0.0: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== +npm-normalize-package-bin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz#6097436adb4ef09e2628b59a7882576fe53ce485" + integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q== + npm-package-arg@9.1.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" @@ -7711,7 +7723,17 @@ npm-packlist@^7.0.0: dependencies: ignore-walk "^5.0.1" -npm-pick-manifest@7.0.2, npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: +npm-pick-manifest@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.0.tgz#cf7743b00ae777215fa0c4233a346b5df8bc2af0" + integrity sha512-Tcy/Mdf9L5f09vaBZo/z9+eb+ZTDeXWZFuPD5PZ6grobO9E3tjaPH+jQOFXZNn3EcqaiRcROzKU1UU7mLTtC2w== + dependencies: + npm-install-checks "^6.0.0" + npm-normalize-package-bin "^3.0.0" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== From 30ce7435d6b76dd18a2b0d894b5b79f27dabc3eb Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 15 Oct 2022 05:03:14 +0000 Subject: [PATCH 1048/1388] build: update all non-major dependencies to v0.15.11 --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 143 ++++++++++++++++++ 3 files changed, 147 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 95401b30b0db..7180d8b5e799 100644 --- a/package.json +++ b/package.json @@ -140,8 +140,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.10", - "esbuild-wasm": "0.15.10", + "esbuild": "0.15.11", + "esbuild-wasm": "0.15.11", "eslint": "8.25.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 60c9c4245e6f..65a31c55e721 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.10", + "esbuild-wasm": "0.15.11", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.10" + "esbuild": "0.15.11" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index a1ba77ba8dd3..95346c95e70e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1337,11 +1337,21 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.10.tgz#a5f9432eb221afc243c321058ef25fe899886892" integrity sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg== +"@esbuild/android-arm@0.15.11": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.11.tgz#bdd9c3e098183bdca97075aa4c3e0152ed3e10ee" + integrity sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA== + "@esbuild/linux-loong64@0.15.10": version "0.15.10" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7" integrity sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg== +"@esbuild/linux-loong64@0.15.11": + version "0.15.11" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz#2f4f9a1083dcb4fc65233b6f59003c406abf32e5" + integrity sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -4594,106 +4604,211 @@ esbuild-android-64@0.15.10: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz#8a59a84acbf2eca96996cadc35642cf055c494f0" integrity sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA== +esbuild-android-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz#50402129c3e85bb06434e212374c5f693e4c5f01" + integrity sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw== + esbuild-android-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz#f453851dc1d8c5409a38cf7613a33852faf4915d" integrity sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg== +esbuild-android-arm64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz#49bee35218ea2ccf1a0c5f187af77c1c0a5dee71" + integrity sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ== + esbuild-darwin-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz#778bd29c8186ff47b176c8af58c08cf0fb8e6b86" integrity sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA== +esbuild-darwin-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz#89a90c8cf6f0029ac4169bfedd012a0412c1575f" + integrity sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA== + esbuild-darwin-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz#b30bbefb46dc3c5d4708b0435e52f6456578d6df" integrity sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ== +esbuild-darwin-arm64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz#556f4385c6de806cc81132dd7b8af00fe9d292df" + integrity sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ== + esbuild-freebsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz#ab301c5f6ded5110dbdd611140bef1a7c2e99236" integrity sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w== +esbuild-freebsd-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz#fd86fd1b3b65366048f35b996d9cdf3547384eee" + integrity sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg== + esbuild-freebsd-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz#a5b09b867a6ff49110f52343b6f12265db63d43f" integrity sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg== +esbuild-freebsd-arm64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz#d346bcacfe9779ebc1a11edac1bdedeff6dda3b1" + integrity sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ== + esbuild-linux-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz#5282fe9915641caf9c8070e4ba2c3e16d358f837" integrity sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w== +esbuild-linux-32@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz#64b50e774bf75af7dcc6a73ad509f2eb0ac4487b" + integrity sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA== + esbuild-linux-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz#f3726e85a00149580cb19f8abfabcbb96f5d52bb" integrity sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA== +esbuild-linux-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz#fba3a78b95769772863f8f6dc316abca55cf8416" + integrity sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA== + esbuild-linux-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz#2f0056e9d5286edb0185b56655caa8c574d8dbe7" integrity sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A== +esbuild-linux-arm64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz#c0cb31980eee066bfd39a4593660a0ecebe926cb" + integrity sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw== + esbuild-linux-arm@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz#40a9270da3c8ffa32cf72e24a79883e323dff08d" integrity sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A== +esbuild-linux-arm@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz#7824d20099977aa671016c7de7a5038c9870010f" + integrity sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A== + esbuild-linux-mips64le@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz#90ce1c4ee0202edb4ac69807dea77f7e5804abc4" integrity sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q== +esbuild-linux-mips64le@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz#10627331c90164e553429ed25e025184bba485b6" + integrity sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA== + esbuild-linux-ppc64le@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz#782837ae7bd5b279178106c9dd801755a21fabdf" integrity sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ== +esbuild-linux-ppc64le@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz#be42679a36a5246b893fc8b898135ebacb5a0a14" + integrity sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg== + esbuild-linux-riscv64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz#d7420d806ece5174f24f4634303146f915ab4207" integrity sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q== +esbuild-linux-riscv64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz#3ac2f328e3db73cbff833ada94314d8e79503e54" + integrity sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw== + esbuild-linux-s390x@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz#21fdf0cb3494a7fb520a71934e4dffce67fe47be" integrity sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA== +esbuild-linux-s390x@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz#e774e0df061b6847d86783bf3c8c4300a72e03ad" + integrity sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg== + esbuild-netbsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz#6c06b3107e3df53de381e6299184d4597db0440f" integrity sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw== +esbuild-netbsd-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz#55e265fa4489e3f396b16c81f6f5a11d6ca2a9a4" + integrity sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A== + esbuild-openbsd-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz#4daef5f5d8e74bbda53b65160029445d582570cf" integrity sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ== +esbuild-openbsd-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz#bc04103ccfd8c2f2241e1add0b51a095955b73c4" + integrity sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ== + esbuild-sunos-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz#5fe7bef267a02f322fd249a8214d0274937388a7" integrity sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg== +esbuild-sunos-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz#ccd580305d31fde07b5c386da79c942aaf069013" + integrity sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw== + esbuild-wasm@0.15.10, esbuild-wasm@^0.15.9: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== +esbuild-wasm@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.11.tgz#3e4c3f32caa8685f7ddf3ee7e23373a0b5d24c53" + integrity sha512-65iqJNZ+QRosxjtGfQad6By7iXEgil/KRoXb9KTquxIbiBjBowOtOIITAlTaqaBO2ufIyRTYc4t1JIObq+c/mQ== + esbuild-windows-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz#48e3dde25ab0135579a288b30ab6ddef6d1f0b28" integrity sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg== +esbuild-windows-32@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz#40fe1d48f9b20a76f6db5109aaaf1511aed58c71" + integrity sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q== + esbuild-windows-64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz#387a9515bef3fee502d277a5d0a2db49a4ecda05" integrity sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA== +esbuild-windows-64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz#80c58b1ef2ff030c78e3a06e7a922776cc4cb687" + integrity sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ== + esbuild-windows-arm64@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz#5a6fcf2fa49e895949bf5495cf088ab1b43ae879" integrity sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw== +esbuild-windows-arm64@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz#018624023b5c3f0cca334cc99f5ef7134d396333" + integrity sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw== + esbuild@0.15.10, esbuild@^0.15.9: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" @@ -4722,6 +4837,34 @@ esbuild@0.15.10, esbuild@^0.15.9: esbuild-windows-64 "0.15.10" esbuild-windows-arm64 "0.15.10" +esbuild@0.15.11: + version "0.15.11" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.11.tgz#524d48612a9aa7edc1753c83459cb6fcae0cb66e" + integrity sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg== + optionalDependencies: + "@esbuild/android-arm" "0.15.11" + "@esbuild/linux-loong64" "0.15.11" + esbuild-android-64 "0.15.11" + esbuild-android-arm64 "0.15.11" + esbuild-darwin-64 "0.15.11" + esbuild-darwin-arm64 "0.15.11" + esbuild-freebsd-64 "0.15.11" + esbuild-freebsd-arm64 "0.15.11" + esbuild-linux-32 "0.15.11" + esbuild-linux-64 "0.15.11" + esbuild-linux-arm "0.15.11" + esbuild-linux-arm64 "0.15.11" + esbuild-linux-mips64le "0.15.11" + esbuild-linux-ppc64le "0.15.11" + esbuild-linux-riscv64 "0.15.11" + esbuild-linux-s390x "0.15.11" + esbuild-netbsd-64 "0.15.11" + esbuild-openbsd-64 "0.15.11" + esbuild-sunos-64 "0.15.11" + esbuild-windows-32 "0.15.11" + esbuild-windows-64 "0.15.11" + esbuild-windows-arm64 "0.15.11" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" From 850827216c6759430a0d83415c8b11abbfde9b0f Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 20 Oct 2022 10:49:38 +0200 Subject: [PATCH 1049/1388] docs: release notes for the v15.0.0-rc.0 release --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13caa838a175..7f4427bdc5c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ + + +# 15.0.0-rc.0 (2022-10-20) + + + # 15.0.0-next.6 (2022-10-14) From 428b76b7aa1e8d373b7919292c310b775e2684c2 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 21 Oct 2022 00:11:23 +0000 Subject: [PATCH 1050/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 311 +++++++++--------- 7 files changed, 183 insertions(+), 200 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 404466356cda..9c04f8f67313 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@a67b5841243da494fe3cecd486adac1544b2a7f6 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 + - uses: angular/dev-infra/github-actions/post-approval-changes@a67b5841243da494fe3cecd486adac1544b2a7f6 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index e253fbf7fff5..8cf737965d41 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 + - uses: angular/dev-infra/github-actions/feature-request@a67b5841243da494fe3cecd486adac1544b2a7f6 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index b011217916b2..7dcc5ccc5484 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6 + - uses: angular/dev-infra/github-actions/lock-closed@a67b5841243da494fe3cecd486adac1544b2a7f6 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 7180d8b5e799..a01d72e74219 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-next.6", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1bbdc56f904821ec2524bfe97715323bd694974c", + "@angular/animations": "15.0.0-rc.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a", "@angular/cdk": "14.2.5", - "@angular/common": "15.0.0-next.6", - "@angular/compiler": "15.0.0-next.6", - "@angular/compiler-cli": "15.0.0-next.6", - "@angular/core": "15.0.0-next.6", - "@angular/forms": "15.0.0-next.6", - "@angular/localize": "15.0.0-next.6", + "@angular/common": "15.0.0-rc.0", + "@angular/compiler": "15.0.0-rc.0", + "@angular/compiler-cli": "15.0.0-rc.0", + "@angular/core": "15.0.0-rc.0", + "@angular/forms": "15.0.0-rc.0", + "@angular/localize": "15.0.0-rc.0", "@angular/material": "14.2.5", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7", - "@angular/platform-browser": "15.0.0-next.6", - "@angular/platform-browser-dynamic": "15.0.0-next.6", - "@angular/platform-server": "15.0.0-next.6", - "@angular/router": "15.0.0-next.6", - "@angular/service-worker": "15.0.0-next.6", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80", + "@angular/platform-browser": "15.0.0-rc.0", + "@angular/platform-browser-dynamic": "15.0.0-rc.0", + "@angular/platform-server": "15.0.0-rc.0", + "@angular/router": "15.0.0-rc.0", + "@angular/service-worker": "15.0.0-rc.0", "@babel/core": "7.19.3", "@babel/generator": "7.19.5", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 4788bfe0d4fe..17b92e972a0c 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-next.6", - "@angular/compiler-cli": "15.0.0-next.6", + "@angular/compiler": "15.0.0-rc.0", + "@angular/compiler-cli": "15.0.0-rc.0", "typescript": "4.8.4", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 9ab031b95e30..0386b0751d41 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#dc779d15c92fdba16c790f2b95289068852440c3", - "@angular/cdk": "github:angular/cdk-builds#50842c09147da4fbee55cdafc1c04bfcd78ba253", - "@angular/common": "github:angular/common-builds#974e796f47a29859fc9847ceece1596b5372a1e8", - "@angular/compiler": "github:angular/compiler-builds#95661f6134fff3fe025ba334e2d0a53c27f870c7", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#84740073efdcd1e0336fdd3a86bcce5e47e5c55d", - "@angular/core": "github:angular/core-builds#a8e40007ec5d14a1534cbbbaa2cc3d93fbae5706", - "@angular/forms": "github:angular/forms-builds#43eae6008422a37c9e9fd884d0352544e1f8bf44", - "@angular/language-service": "github:angular/language-service-builds#a9fd70ccad88c6e83314a2b32c37bed67b9a1614", - "@angular/localize": "github:angular/localize-builds#fa9504de16aa4881abe9963fac7c0f4156487742", - "@angular/material": "github:angular/material-builds#1b2ad847c21aaaf37645354692d9ea403d345f13", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#18495010aa1a721bc4804586a87b6f50025a79a5", - "@angular/platform-browser": "github:angular/platform-browser-builds#4435dd56ced3bb647122af6bf4f368232f79d0ad", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#53e9f608a56f9db7de13addc686b935299bac0df", - "@angular/platform-server": "github:angular/platform-server-builds#d6edd56c1a2dcd89e43782253b37838735873a38", - "@angular/router": "github:angular/router-builds#6c2869c6f57ea95731ad8ef2c13a0e74d3e0d169", - "@angular/service-worker": "github:angular/service-worker-builds#ba8f15ae5d1b0dcdccaf0891f2fc6eb0ef1bdae8" + "@angular/animations": "github:angular/animations-builds#dabe51f5a08ad6c7150fad4561b9581d62a07395", + "@angular/cdk": "github:angular/cdk-builds#806f6bbe56f97ee64f26ec8cbe9c2362aec2fa17", + "@angular/common": "github:angular/common-builds#71a08b91fe296ed6981155857858f2870c635f62", + "@angular/compiler": "github:angular/compiler-builds#5a69baf02fa05ab759897b40b313b877c6fa76e0", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#36bcaf41ff7d370bd3bd94a0c0022b45677bfd22", + "@angular/core": "github:angular/core-builds#cf87a170aa4ffac1eaa8de7c297778a7b76594b3", + "@angular/forms": "github:angular/forms-builds#b6f141dc1be5d358d0e6dd1880fc7d101eb9ea8d", + "@angular/language-service": "github:angular/language-service-builds#a2fcc4e2195c0ae2f23ec7dfcb8fe8b12878d05c", + "@angular/localize": "github:angular/localize-builds#bf7744082b0a69f7493bed5fbf5ea6b736916090", + "@angular/material": "github:angular/material-builds#2769f1f82c3f09f9f4b60cbe8b03ee8e2119da90", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b2d507a09a2cc25937e279376a3f30410043da12", + "@angular/platform-browser": "github:angular/platform-browser-builds#f394dba304458f904dc1c2e9ad5f7583fd86e612", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2b888b95d1707031538b0386673a0cdf99e147bb", + "@angular/platform-server": "github:angular/platform-server-builds#9e5f3e8c44a165880f29ffb83744650f70319021", + "@angular/router": "github:angular/router-builds#7588cebec4eb50e72084bed808c7becfc1d9f526", + "@angular/service-worker": "github:angular/service-worker-builds#c563ebaeb793500d2590dd58693538b520211593" } } diff --git a/yarn.lock b/yarn.lock index 95346c95e70e..a633eb47ef85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0-next.5": - version "0.1500.0-next.5" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-next.5.tgz#74a5a30791779df287d46c792b482196ca6c6dbe" - integrity sha512-0KIJ7bwmHiv8kMBjYTyyxmvz/OSSIlHmSn8iYtBjlRiaNa2uPrfFz8OBT4gFCYsHt4V8UEyFSW0Oy/04+xqZ6g== +"@angular-devkit/architect@0.1500.0-rc.0": + version "0.1500.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-rc.0.tgz#6f5b52d6ac8e40ff6f350569881c2c5df1a84050" + integrity sha512-vDNWjrLlKCWMhS3YY3L2oUskpen0L/AmY22SA19+GgprhB/gkm7irMYK23Uz6McNja5oB50tUY+b7VVXXtifjg== dependencies: - "@angular-devkit/core" "15.0.0-next.5" + "@angular-devkit/core" "15.0.0-rc.0" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-next.5.tgz#8232da6d98cdae4264346ffaee3de67e38e1a1e4" - integrity sha512-ZAeB4c8esjNK+1fa0OIFfb0Q3sc8yCDNaCDrjDm4AKVwQk8FQRF6WbxX4GXDRzKFM53V5aAHBu4pcT6E69DRZA== +"@angular-devkit/build-angular@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-rc.0.tgz#756c95eea8cc4a4eee7654a088190b905346f0ba" + integrity sha512-JZKCIS1zbEfscUR++OiL2CkrRNfvkmDfJoxNMl4qJ2AzuIoj2KD4H9mGumfS5miRhcqFt57Q2oJJn3FnMsv2uA== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0-next.5" - "@angular-devkit/build-webpack" "0.1500.0-next.5" - "@angular-devkit/core" "15.0.0-next.5" + "@angular-devkit/architect" "0.1500.0-rc.0" + "@angular-devkit/build-webpack" "0.1500.0-rc.0" + "@angular-devkit/core" "15.0.0-rc.0" "@babel/core" "7.19.3" "@babel/generator" "7.19.5" "@babel/helper-annotate-as-pure" "7.18.6" @@ -37,18 +37,18 @@ "@babel/runtime" "7.19.4" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0-next.5" + "@ngtools/webpack" "15.0.0-rc.0" ansi-colors "4.1.3" autoprefixer "10.4.12" babel-loader "8.2.5" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "16.1.3" + cacache "17.0.0" chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.15.10" + esbuild-wasm "0.15.11" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -64,10 +64,9 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.17" - postcss-import "15.0.0" + postcss "8.4.18" postcss-loader "7.0.1" - regenerator-runtime "0.13.9" + regenerator-runtime "0.13.10" resolve-url-loader "5.0.0" rxjs "6.6.7" sass "1.55.0" @@ -85,20 +84,20 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.10" + esbuild "0.15.11" -"@angular-devkit/build-webpack@0.1500.0-next.5": - version "0.1500.0-next.5" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-next.5.tgz#607afe7e4daab6a17b14b6ec2f700df44d5a6e47" - integrity sha512-dPmg97gh6c/Y5WC30QYL9NiQ+iMd0EWu1ZNyjcEYmOPV0NJYJTv9bR1fum9hQ3WrTGX+Rte8u2vQz6LZKFhjUw== +"@angular-devkit/build-webpack@0.1500.0-rc.0": + version "0.1500.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-rc.0.tgz#eac435068194a1a86e11d2fc3db8abce13b870ea" + integrity sha512-uPzq5l2tweznSUBakuqoQmhPnB9S+7RJ2px0lNzfqqZderAP5qvoitL47umhnw9hazzGhAtksdHNcvS9rvDS2A== dependencies: - "@angular-devkit/architect" "0.1500.0-next.5" + "@angular-devkit/architect" "0.1500.0-rc.0" rxjs "6.6.7" -"@angular-devkit/core@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-next.5.tgz#cdadcb6fa1a505807b66bf71ef44c45f0a70baf1" - integrity sha512-krjFGTCN7od0nHFkNqbAwR+rL6QdbqLxJJd4uesQFYCujjo+A9z6HkI3Zu6rIOwgu37RuTexGVlRcOcHUYj1yA== +"@angular-devkit/core@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-rc.0.tgz#0db18f5dd1c2bf0ff2f12a1ae4590f7c6f2aec17" + integrity sha512-JmUsF7+zmgyfSbmTNNKoKIjOSBcD1kIKd72NK9ZIsISqHJTqeOKBhMQ/Ns78FQGcAOhTKo9nDsZifpXJ7mRDCA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -106,10 +105,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-next.6.tgz#ef3e6deb49d2ba428ff9fb628393bff92c31aa0a" - integrity sha512-jPUL8JpzAx68qoUH95Cv/vPkTvV7krXLmmkSDSvwAqctlgQfSZKRlrlWg94JZH1f9B7RfPVCTAJqc2lr9ndhsg== +"@angular/animations@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.0.tgz#3a057ee5c34f4f0def2d2446cefe4e7c68a5fd03" + integrity sha512-yW7OMo2Z9qcJfHPkzykJ+rUTQ02VWnIIUQlTgbqO/1Klb00+TuCeVkvtewDTMoJ2wWZgf+g4WN25XCpmA5qEOA== dependencies: tslib "^2.3.0" @@ -121,12 +120,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#1bbdc56f904821ec2524bfe97715323bd694974c": - version "0.0.0-798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6" - uid "1bbdc56f904821ec2524bfe97715323bd694974c" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#1bbdc56f904821ec2524bfe97715323bd694974c" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a": + version "0.0.0-a67b5841243da494fe3cecd486adac1544b2a7f6" + uid cd36e1f15d5f4aa1bab2202d33f17f6184484e8a + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a" dependencies: - "@angular-devkit/build-angular" "15.0.0-next.5" + "@angular-devkit/build-angular" "15.0.0-rc.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "5.1.0" @@ -168,17 +167,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-next.6.tgz#6b3c7d42c8ef45ba5521b86f1c8527176a63a634" - integrity sha512-KPI/t788Tr95J9cOKYfuDZcp3ekKdCOwNlIA/tIjIEclNZCzJ0xNmWpCqEjYqwrdAEeDhXimuDeEwG1z4EQ5Mg== +"@angular/common@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.0.tgz#43ca4f6464d3504335905bae1fdf567c54338c66" + integrity sha512-ZK/TEa8aFsk5J97Ow1XpQAJgC81HxC8Tu6COZDiXL7QY/GFRCshFYcQNnsLy2evVRjbSGY1lyvOaF732/lBuYw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-next.6.tgz#bad526d667c7baff5285bde0d2a48ef4e841dfbc" - integrity sha512-VmPznczahQpoYZwN4G+IifdYrv8N1XMJCIWLkrGI8MMQ3/EdpK4swCBwJPIkE6qWZzMm1YNm92PIB211WsQX9A== +"@angular/compiler-cli@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.0.tgz#fd650fb60b71f32a990147e958b642d2701f4c39" + integrity sha512-r3fvmjoSs/ImZyzlsc7YdE4CTojKVVGtjKXMAmPdkSIL6Bf8sS1So7i4UrzWfMDm3xaGGcXFnHAtTQus0n2Cbw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -191,17 +190,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-next.6.tgz#b5e18a644e629b58579560fc377b4ed23b0449b2" - integrity sha512-9EkadZksgfvtTsqNWsvgAE7pdMyyUEbVYgPjDPFRlzKzygkQMv1mjAvatsko+h5saqS1Mn8LFMugnv3PoUFh2A== +"@angular/compiler@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.0.tgz#8edb44678e351d0c0d7af5ca9925010ba8001b1d" + integrity sha512-2Vp3F4SpIyt3Kv7B1skwYAHBrQtAR5ER+KvTV4sreNGMFpzDpa/mZFari5pwOfzXlIGqTXsHVe5uggcmY6p9eA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-next.6.tgz#bd9f44b12c898f75927297ef5fedf33da9d3c8bd" - integrity sha512-Dam2tF2WUnnH/wpzONVGCWGklfIlIdcciAIrZK1i3HyR5GF3Gsb+fXfVaGNt4VCdbzxTkO5KCetCUpcBWkC4dg== +"@angular/core@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.0.tgz#6e63b3e57eed2daab418008d4d2ecc5c590c6f0f" + integrity sha512-SWs0YOpgSgTECHl9wgTaSpvwOOp0tmx01YtOLUcWc5M+AixU4RrwKAWYiCR+CzAViKTrL9LoZMowThuF3aqbgA== dependencies: tslib "^2.3.0" @@ -212,17 +211,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-next.6.tgz#b8946fa55e841db38327949635086832d86a41d2" - integrity sha512-WYg5/g4Lr3U00aIxtXRDReszs4eoH2y0oZguZIk/d+wUNMhwpjtn78Cvd9HhZNWK+3/++YmCJuCB2wS+MFRkxQ== +"@angular/forms@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.0.tgz#348464b740f513646d8ae707952c7bd050d485bc" + integrity sha512-0VzSayomxa4ONBbnLLnbnHcxZltDOUgsM1AITp5CEbRNEKTkzuPVbSSRE7piEnjVVA7feRkkR2frpZQYzltk7Q== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-next.6.tgz#18fdb21dbfd349520fb9ede16d954024043874bf" - integrity sha512-nugM+SevFUBbAoYy1CMGoPbL//tsdxtChauQO9P2DzqoCKwf+rge5P7P+TjKyokQDv8uBM49IVJNyZAX76d1FQ== +"@angular/localize@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.0.tgz#5e10e012f5724741ba5dcd8aa100173343998cb2" + integrity sha512-9e8sqrWZ36viI/Eykjj+biMxAs/AGaYdgfe02yaOtoKeGxNwL9riyJ7erJbK5pXtRwSdo91SheEUr2zSr1wnyQ== dependencies: "@babel/core" "7.18.9" glob "8.0.3" @@ -235,48 +234,48 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7": - version "0.0.0-798dbd9f8e53691cb3cf0daf0cb39c0eb9f141b6" - uid "093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#093d0916eb5a1b4997fa0cfe419c5d9d7c1a38e7" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80": + version "0.0.0-a67b5841243da494fe3cecd486adac1544b2a7f6" + uid bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-next.6.tgz#118bfbd246a2071fd77caa7048b4ac9b58bfa154" - integrity sha512-rO61ef/JinLEdhJzzvadbdaUrn4/8DxQioKRLx66hMZgXi6dP0FRfz/lhHdCB7ppyMI1p2uIRcLKJtB4DHJEvg== +"@angular/platform-browser-dynamic@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.0.tgz#788af9f6e6fafd5e4f63ca3159bc9dd916285ef4" + integrity sha512-zP/6qSeTtil6zAgzMv3H0fPd/kw+GmtVMPwa9aXYyzrN4eYBCSrdsFt1hKiCrciRnXa5VNH4zbWKjst6MwNlJA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-next.6.tgz#101721e05a8e5498c8bea3944d7ec7fa228d77c9" - integrity sha512-Hbl9xqulhl3adEnjbKNrSMB70vp6NgqshoiKssowRhSLt4agbYw3Vp6/4opYpL6H4z/nF0/jjwKGoaUt6fVZyw== +"@angular/platform-browser@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.0.tgz#2c57966ba3d7e94f15127eb5558795af66c42752" + integrity sha512-TJigzCI5/wYjDPaeyzpfsjULSfpBQrhwNj8HvRrlDqyOb/N+iZYm2TTHg5qhdk/63kghBkyGcsJEPSeniwO/1g== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-next.6.tgz#676bf236ad5394f075fb3dfa42b719a15e5b0af3" - integrity sha512-eeSZPHTJx+GYijFNkx8Bhu44Gcj6bLYMXH9fNLbmkTmg8V7wQMoxCINFkFEJu6yE9D1tnJT+eomw8GIkYZpcVA== +"@angular/platform-server@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.0.tgz#e0207c6c4295cded411a9ab96b9d72a5cf204784" + integrity sha512-j7MTd01Pyh79C+9ihWHQ3Ybkg566ajP1IsQTzRgZZfR9mkmtZyT0UMK/j3+1zpwykcvUZSyhy4L68eBvmz7G4Q== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-next.6.tgz#cfe6d1f8f2200d5f07d668cf5b686ff208769d5f" - integrity sha512-n66L2nNeJEadAsBl7U1owUU+GU/daEjFG9PQ640piJm8LKUXQRrIGMWvg661bWRC3bn01cMZwDE8tlQq2P144Q== +"@angular/router@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.0.tgz#7eb5b639d0a981050c060dfb1ba0b69c57d51e9a" + integrity sha512-AuJBXwlAYx8nhw8E/S3hba9PDq3DhGDuYtw3wLtuW6/pHTtzWMbZLHzfBXckoq8NEI8a29qe0BYvJq3LwwD5iQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-next.6": - version "15.0.0-next.6" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-next.6.tgz#4afef248e72581b5c2253995785eb8e6dba36521" - integrity sha512-E0xUtA83c4PCzbiJlkKR11CheyNS+/aFfkp9EIa+u5IlvmHJMFr1lO0JSUXapkCPj9co9k8WU9/kfKsxrMxcug== +"@angular/service-worker@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.0.tgz#ebc7b02ba6676bf0e6bea0f838d1a8c216676d80" + integrity sha512-I0TZyfFxnlEwKfBeVSZdHBfTv+/WcstVx6xdNGH/OzblvQpoXHLWKchylCpsnTZjTc2UvO7AS7pKhmrWUMMtIw== dependencies: tslib "^2.3.0" @@ -1528,10 +1527,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0-next.5": - version "15.0.0-next.5" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-next.5.tgz#a0dbca5b31368a4f78c113926d30c96eb7ac92e5" - integrity sha512-OArRDeec4CswdXBezxBWa6Nl/Szzd+nqYi4g8qwjxWDGMhXpGAeDncgiH0HMOTla8+NXf4EOWd173dj5hXWlkg== +"@ngtools/webpack@15.0.0-rc.0": + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-rc.0.tgz#7624aa13f078812d6b9943428818ce115ddef6d0" + integrity sha512-g9evmRCMhjVRecNaPbYJjKcJvkZrcyv4V/MblxnaImxOmMd806xRUWsyGZ/Ck9Dk/dLbj/JCRHuAI+Xrstz/NA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3443,46 +3442,46 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@16.1.3, cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: - version "16.1.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" - integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== +cacache@17.0.0, cacache@^17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.0.tgz#76be0cc410879a37ec08426cbfcc216a5c2f26a6" + integrity sha512-5hYD+c8Ytmymo9b8tPgYWrWfHOzaO8M8jMUkyiEYfeLTwo70MUaD/yA1pNONi3upx02JIn3mtpDuSCXoQgtlHw== dependencies: - "@npmcli/fs" "^2.1.0" + "@npmcli/fs" "^3.0.0" "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" fs-minipass "^2.1.0" glob "^8.0.1" - infer-owner "^1.0.4" lru-cache "^7.7.1" minipass "^3.1.6" minipass-collect "^1.0.2" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" p-map "^4.0.0" promise-inflight "^1.0.1" - rimraf "^3.0.2" ssri "^9.0.0" tar "^6.1.11" unique-filename "^2.0.0" -cacache@17.0.0, cacache@^17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.0.tgz#76be0cc410879a37ec08426cbfcc216a5c2f26a6" - integrity sha512-5hYD+c8Ytmymo9b8tPgYWrWfHOzaO8M8jMUkyiEYfeLTwo70MUaD/yA1pNONi3upx02JIn3mtpDuSCXoQgtlHw== +cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== dependencies: - "@npmcli/fs" "^3.0.0" + "@npmcli/fs" "^2.1.0" "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" fs-minipass "^2.1.0" glob "^8.0.1" + infer-owner "^1.0.4" lru-cache "^7.7.1" minipass "^3.1.6" minipass-collect "^1.0.2" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" p-map "^4.0.0" promise-inflight "^1.0.1" + rimraf "^3.0.2" ssri "^9.0.0" tar "^6.1.11" unique-filename "^2.0.0" @@ -4769,16 +4768,16 @@ esbuild-sunos-64@0.15.11: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz#ccd580305d31fde07b5c386da79c942aaf069013" integrity sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw== -esbuild-wasm@0.15.10, esbuild-wasm@^0.15.9: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" - integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== - esbuild-wasm@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.11.tgz#3e4c3f32caa8685f7ddf3ee7e23373a0b5d24c53" integrity sha512-65iqJNZ+QRosxjtGfQad6By7iXEgil/KRoXb9KTquxIbiBjBowOtOIITAlTaqaBO2ufIyRTYc4t1JIObq+c/mQ== +esbuild-wasm@^0.15.9: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" + integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== + esbuild-windows-32@0.15.10: version "0.15.10" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz#48e3dde25ab0135579a288b30ab6ddef6d1f0b28" @@ -4809,34 +4808,6 @@ esbuild-windows-arm64@0.15.11: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz#018624023b5c3f0cca334cc99f5ef7134d396333" integrity sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw== -esbuild@0.15.10, esbuild@^0.15.9: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" - integrity sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng== - optionalDependencies: - "@esbuild/android-arm" "0.15.10" - "@esbuild/linux-loong64" "0.15.10" - esbuild-android-64 "0.15.10" - esbuild-android-arm64 "0.15.10" - esbuild-darwin-64 "0.15.10" - esbuild-darwin-arm64 "0.15.10" - esbuild-freebsd-64 "0.15.10" - esbuild-freebsd-arm64 "0.15.10" - esbuild-linux-32 "0.15.10" - esbuild-linux-64 "0.15.10" - esbuild-linux-arm "0.15.10" - esbuild-linux-arm64 "0.15.10" - esbuild-linux-mips64le "0.15.10" - esbuild-linux-ppc64le "0.15.10" - esbuild-linux-riscv64 "0.15.10" - esbuild-linux-s390x "0.15.10" - esbuild-netbsd-64 "0.15.10" - esbuild-openbsd-64 "0.15.10" - esbuild-sunos-64 "0.15.10" - esbuild-windows-32 "0.15.10" - esbuild-windows-64 "0.15.10" - esbuild-windows-arm64 "0.15.10" - esbuild@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.11.tgz#524d48612a9aa7edc1753c83459cb6fcae0cb66e" @@ -4865,6 +4836,34 @@ esbuild@0.15.11: esbuild-windows-64 "0.15.11" esbuild-windows-arm64 "0.15.11" +esbuild@^0.15.9: + version "0.15.10" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" + integrity sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng== + optionalDependencies: + "@esbuild/android-arm" "0.15.10" + "@esbuild/linux-loong64" "0.15.10" + esbuild-android-64 "0.15.10" + esbuild-android-arm64 "0.15.10" + esbuild-darwin-64 "0.15.10" + esbuild-darwin-arm64 "0.15.10" + esbuild-freebsd-64 "0.15.10" + esbuild-freebsd-arm64 "0.15.10" + esbuild-linux-32 "0.15.10" + esbuild-linux-64 "0.15.10" + esbuild-linux-arm "0.15.10" + esbuild-linux-arm64 "0.15.10" + esbuild-linux-mips64le "0.15.10" + esbuild-linux-ppc64le "0.15.10" + esbuild-linux-riscv64 "0.15.10" + esbuild-linux-s390x "0.15.10" + esbuild-netbsd-64 "0.15.10" + esbuild-openbsd-64 "0.15.10" + esbuild-sunos-64 "0.15.10" + esbuild-windows-32 "0.15.10" + esbuild-windows-64 "0.15.10" + esbuild-windows-arm64 "0.15.10" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -8448,7 +8447,7 @@ pidusage@^3.0.0: dependencies: safe-buffer "^5.2.1" -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== @@ -8534,15 +8533,6 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-import@15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.0.0.tgz#0b66c25fdd9c0d19576e63c803cf39e4bad08822" - integrity sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - postcss-loader@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.1.tgz#4c883cc0a1b2bfe2074377b7a74c1cd805684395" @@ -8598,24 +8588,24 @@ postcss-url@^10.1.3: minimatch "~3.0.4" xxhashjs "~0.2.2" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.17, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: - version "8.4.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" - integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== +postcss@8.4.18: + version "8.4.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" + integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.18: - version "8.4.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" - integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== +postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: + version "8.4.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" + integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -8923,13 +8913,6 @@ raw-body@2.5.1, raw-body@^2.3.2: iconv-lite "0.4.24" unpipe "1.0.0" -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - read-cmd-shim@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" @@ -9073,7 +9056,7 @@ regenerator-runtime@0.13.10: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== -regenerator-runtime@0.13.9, regenerator-runtime@^0.13.4: +regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== @@ -9221,7 +9204,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: +resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== From 3128598324f032ddf24dbb8378cf9acb5ea1ac39 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 19 Oct 2022 05:09:19 +0000 Subject: [PATCH 1051/1388] build: update scorecard action dependencies --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 237fdf4e4ab4..df5d4ce55793 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -30,7 +30,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@e363bfca00e752f91de7b7d2a77340e2e523cb18 # tag=v2.0.4 + uses: ossf/scorecard-action@99c53751e09b9529366343771cc321ec74e9bd3d # tag=v2.0.6 with: results_file: results.sarif results_format: sarif @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@807578363a7869ca324a79039e6db9c843e0e100 # tag=v2.1.27 + uses: github/codeql-action/upload-sarif@cc7986c02bac29104a72998e67239bb5ee2ee110 # tag=v2.1.28 with: sarif_file: results.sarif From 708011ea8ec515afac1a06962c037ce8d00648cd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 21 Oct 2022 09:59:44 +0000 Subject: [PATCH 1052/1388] build: update all non-major dependencies --- package.json | 18 +- packages/angular/cli/package.json | 4 +- .../angular_devkit/build_angular/package.json | 12 +- .../adjust-static-class-members_spec.ts | 31 +- .../plugins/adjust-typescript-enums_spec.ts | 10 - yarn.lock | 957 +++++++++++------- 6 files changed, 585 insertions(+), 447 deletions(-) diff --git a/package.json b/package.json index a01d72e74219..864befba4417 100644 --- a/package.json +++ b/package.json @@ -81,12 +81,12 @@ "@angular/platform-server": "15.0.0-rc.0", "@angular/router": "15.0.0-rc.0", "@angular/service-worker": "15.0.0-rc.0", - "@babel/core": "7.19.3", - "@babel/generator": "7.19.5", + "@babel/core": "7.19.6", + "@babel/generator": "7.19.6", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.19.1", + "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.19.4", "@babel/runtime": "7.19.4", "@babel/template": "7.18.10", @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.40.0", - "@typescript-eslint/parser": "5.40.0", + "@typescript-eslint/eslint-plugin": "5.40.1", + "@typescript-eslint/parser": "5.40.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -133,15 +133,15 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "17.0.0", + "cacache": "17.0.1", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.11", - "esbuild-wasm": "0.15.11", + "esbuild": "0.15.12", + "esbuild-wasm": "0.15.12", "eslint": "8.25.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -178,7 +178,7 @@ "npm-package-arg": "9.1.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.0", + "pacote": "15.0.3", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index efb6f5f843c9..2add2f07bdea 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -32,10 +32,10 @@ "inquirer": "8.2.4", "jsonc-parser": "3.2.0", "npm-package-arg": "9.1.2", - "npm-pick-manifest": "8.0.0", + "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.0", + "pacote": "15.0.3", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 65a31c55e721..ec3383610eb6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,12 +10,12 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.19.3", - "@babel/generator": "7.19.5", + "@babel/core": "7.19.6", + "@babel/generator": "7.19.6", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.19.1", + "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.19.4", "@babel/runtime": "7.19.4", "@babel/template": "7.18.10", @@ -26,12 +26,12 @@ "babel-loader": "8.2.5", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "17.0.0", + "cacache": "17.0.1", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.11", + "esbuild-wasm": "0.15.12", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.11" + "esbuild": "0.15.12" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts index e58c1818fbec..228bf57ea2a6 100644 --- a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts +++ b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts @@ -89,7 +89,6 @@ describe('adjust-static-class-members Babel plugin', () => { expected: ` export let SomeClass = /*#__PURE__*/ (() => { class SomeClass {} - SomeClass.ctorParameters = 42; return SomeClass; })(); @@ -126,7 +125,6 @@ describe('adjust-static-class-members Babel plugin', () => { expected: ` export let SomeClass = /*#__PURE__*/ (() => { class SomeClass {} - SomeClass.decorators = 42; return SomeClass; })(); @@ -163,7 +161,6 @@ describe('adjust-static-class-members Babel plugin', () => { expected: ` export let SomeClass = /*#__PURE__*/ (() => { class SomeClass {} - SomeClass.propDecorators = 42; return SomeClass; })(); @@ -202,7 +199,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someFieldWithSideEffects = console.log('foo'); `); }); @@ -226,7 +222,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someFieldWithSideEffects = /*#__PURE__*/ console.log('foo'); return CustomComponentEffects; })(); @@ -253,7 +248,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someFieldWithSideEffects = /*@__PURE__*/ console.log('foo'); return CustomComponentEffects; })(); @@ -280,10 +274,8 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someFieldWithSideEffects = - /**@pureOrBreakMyCode*/ - console.log('foo'); + /**@pureOrBreakMyCode*/ console.log('foo'); return CustomComponentEffects; })(); `, @@ -309,10 +301,8 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someFieldWithSideEffects = - /* @pureOrBreakMyCode */ - console.log('foo'); + /* @pureOrBreakMyCode */ console.log('foo'); return CustomComponentEffects; })(); `, @@ -338,7 +328,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someField = 42; return CustomComponentEffects; })(); @@ -365,7 +354,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someField = 42; return CustomComponentEffects; })(); @@ -386,7 +374,6 @@ describe('adjust-static-class-members Babel plugin', () => { const SWITCH_TEMPLATE_REF_FACTORY = SWITCH_TEMPLATE_REF_FACTORY__POST_R3__; let TemplateRef = /*#__PURE__*/ (() => { class TemplateRef {} - TemplateRef.__NG_ELEMENT_ID__ = SWITCH_TEMPLATE_REF_FACTORY; return TemplateRef; })(); @@ -408,7 +395,6 @@ describe('adjust-static-class-members Babel plugin', () => { const SWITCH_TEMPLATE_REF_FACTORY = SWITCH_TEMPLATE_REF_FACTORY__POST_R3__; let TemplateRef = /*#__PURE__*/ (() => { class TemplateRef {} - TemplateRef.__NG_ELEMENT_ID__ = SWITCH_TEMPLATE_REF_FACTORY; TemplateRef.someField = 42; return TemplateRef; @@ -425,7 +411,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someField = 42; CustomComponentEffects.someFieldWithSideEffects = console.log('foo'); `); @@ -514,7 +499,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.foo = 42; } } - __decorate([ SomeDecorator ], SomeClass.prototype, "foo", void 0); @@ -542,11 +526,9 @@ describe('adjust-static-class-members Babel plugin', () => { this.foo = 42; } } - __decorate([ SomeDecorator ], SomeClass.prototype, "foo", void 0); - return SomeClass; })(); `, @@ -565,9 +547,7 @@ describe('adjust-static-class-members Babel plugin', () => { let CommonModule = /*#__PURE__*/ (() => { class CommonModule { } - CommonModule.ɵfac = function CommonModule_Factory(t) { return new (t || CommonModule)(); }; - return CommonModule; })(); `, @@ -585,7 +565,6 @@ describe('adjust-static-class-members Babel plugin', () => { let CommonModule = /*#__PURE__*/ (() => { class CommonModule { } - CommonModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CommonModule }); return CommonModule; })(); @@ -606,7 +585,6 @@ describe('adjust-static-class-members Babel plugin', () => { let CommonModule = /*#__PURE__*/ (() => { class CommonModule { } - CommonModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [ { provide: NgLocalization, @@ -634,16 +612,14 @@ describe('adjust-static-class-members Babel plugin', () => { let CommonModule = /*#__PURE__*/ (() => { class CommonModule { } - CommonModule.ɵfac = function CommonModule_Factory(t) { return new (t || CommonModule)(); }; - CommonModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CommonModule }); CommonModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [ { provide: NgLocalization, useClass: NgLocaleLocalization }, - ] }); + ]}); return CommonModule; })(); `, @@ -669,7 +645,6 @@ describe('adjust-static-class-members Babel plugin', () => { this.doThis = this._actions; } } - CustomComponentEffects.someField = 42; return CustomComponentEffects; })(); diff --git a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-typescript-enums_spec.ts b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-typescript-enums_spec.ts index ef8f9d6a3013..e8de81334c5d 100644 --- a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-typescript-enums_spec.ts +++ b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-typescript-enums_spec.ts @@ -55,7 +55,6 @@ describe('adjust-typescript-enums Babel plugin', () => { ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush"; ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {})); - return ChangeDetectionStrategy; })(); `, @@ -77,7 +76,6 @@ describe('adjust-typescript-enums Babel plugin', () => { ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush"; ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {})); - return ChangeDetectionStrategy; })(); `, @@ -99,7 +97,6 @@ describe('adjust-typescript-enums Babel plugin', () => { ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 5] = "OnPush"; ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 8] = "Default"; })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {})); - return ChangeDetectionStrategy; })(); `, @@ -123,7 +120,6 @@ describe('adjust-typescript-enums Babel plugin', () => { NotificationKind["ERROR"] = "E"; NotificationKind["COMPLETE"] = "C"; })(NotificationKind || (NotificationKind = {})); - return NotificationKind; })(); `, @@ -147,7 +143,6 @@ describe('adjust-typescript-enums Babel plugin', () => { NotificationKind["ERROR"] = "E"; NotificationKind["COMPLETE"] = "C"; })(NotificationKind$1 || (NotificationKind$1 = {})); - return NotificationKind$1; })(); `, @@ -187,7 +182,6 @@ describe('adjust-typescript-enums Babel plugin', () => { RequestMethod[RequestMethod["Head"] = 5] = "Head"; RequestMethod[RequestMethod["Patch"] = 6] = "Patch"; })(RequestMethod || (RequestMethod = {})); - return RequestMethod; })(); `, @@ -197,7 +191,6 @@ describe('adjust-typescript-enums Babel plugin', () => { it('does not wrap TypeScript enums with side effect values', () => { testCaseNoChange(` export var ChangeDetectionStrategy; - (function (ChangeDetectionStrategy) { ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = console.log('foo'); ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default"; @@ -211,11 +204,9 @@ describe('adjust-typescript-enums Babel plugin', () => { Important: 1, DashCase: 2, }; - if (typeof RendererStyleFlags3 === 'object') { RendererStyleFlags3[RendererStyleFlags3.Important] = 'DashCase'; } - RendererStyleFlags3[RendererStyleFlags3.Important] = 'Important'; `); }); @@ -259,7 +250,6 @@ describe('adjust-typescript-enums Babel plugin', () => { ChangeDetectionStrategy[(ChangeDetectionStrategy["OnPush"] = 0)] = "OnPush"; ChangeDetectionStrategy[(ChangeDetectionStrategy["Default"] = 1)] = "Default"; })(ChangeDetectionStrategy$1 || (ChangeDetectionStrategy$1 = {})); - return ChangeDetectionStrategy$1; })(); `, diff --git a/yarn.lock b/yarn.lock index a633eb47ef85..525270b78950 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,7 +122,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a": version "0.0.0-a67b5841243da494fe3cecd486adac1544b2a7f6" - uid cd36e1f15d5f4aa1bab2202d33f17f6184484e8a resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a" dependencies: "@angular-devkit/build-angular" "15.0.0-rc.0" @@ -205,9 +204,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "14.2.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.5.tgz#d2a4b5bb36fc9dda3318eeab197a051d170b8706" - integrity sha512-Ok78Abq0puMGlolvNVzKFvsX7ePDkyxpZzztDzXDdRA4x4o6bAuuDG9Y7Wab2+wsdY6NktO+dFQjq1UBWClgSg== + version "14.2.7" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.7.tgz#a39fbfc4520debf34996d25d8451f3d66b4ce7d2" + integrity sha512-9u2eeKS90YPh2b0pK5LKFSxKfLIzHnzkIKQFh6bEPGj43Fl2v8CwiVJu1CAKo1Or4qBY8zspSowM6S1kgGwfeg== dependencies: tslib "^2.3.0" @@ -236,7 +235,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80": version "0.0.0-a67b5841243da494fe3cecd486adac1544b2a7f6" - uid bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80 resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -291,12 +289,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" - integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== - -"@babel/compat-data@^7.19.4": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3", "@babel/compat-data@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== @@ -322,7 +315,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.3", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== @@ -343,6 +336,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.19.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" + integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.6" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helpers" "^7.19.4" + "@babel/parser" "^7.19.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.19.5": version "7.19.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" @@ -352,12 +366,12 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.18.9", "@babel/generator@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" - integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== +"@babel/generator@7.19.6", "@babel/generator@^7.18.9", "@babel/generator@^7.19.3", "@babel/generator@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.6.tgz#9e481a3fe9ca6261c972645ae3904ec0f9b34a1d" + integrity sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA== dependencies: - "@babel/types" "^7.19.3" + "@babel/types" "^7.19.4" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -460,19 +474,19 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9", "@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" + integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-simple-access" "^7.19.4" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -507,12 +521,12 @@ "@babel/traverse" "^7.19.1" "@babel/types" "^7.19.0" -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== +"@babel/helper-simple-access@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" + integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.19.4" "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": version "7.18.9" @@ -528,11 +542,6 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - "@babel/helper-string-parser@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" @@ -558,14 +567,14 @@ "@babel/traverse" "^7.19.0" "@babel/types" "^7.19.0" -"@babel/helpers@^7.18.9", "@babel/helpers@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" - integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== +"@babel/helpers@^7.18.9", "@babel/helpers@^7.19.0", "@babel/helpers@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.4.tgz#42154945f87b8148df7203a25c31ba9a73be46c5" + integrity sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw== dependencies: "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/traverse" "^7.19.4" + "@babel/types" "^7.19.4" "@babel/highlight@^7.18.6": version "7.18.6" @@ -576,10 +585,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" - integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.3", "@babel/parser@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.6.tgz#b923430cb94f58a7eae8facbffa9efd19130e7f8" + integrity sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -944,34 +953,31 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" - integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" + integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" + integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-simple-access" "^7.19.4" "@babel/plugin-transform-modules-systemjs@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" - integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" + integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.0" + "@babel/helper-module-transforms" "^7.19.6" "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" @@ -1045,6 +1051,18 @@ babel-plugin-polyfill-regenerator "^0.4.1" semver "^6.3.0" +"@babel/plugin-transform-runtime@7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz#9d2a9dbf4e12644d6f46e5e75bfbf02b5d6e9194" + integrity sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" @@ -1188,20 +1206,13 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.19.4": +"@babel/runtime@7.19.4", "@babel/runtime@^7.8.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.8.4": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1211,32 +1222,23 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" - integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== +"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.19.4", "@babel/traverse@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.6.tgz#7b4c865611df6d99cb131eec2e8ac71656a490dc" + integrity sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" + "@babel/generator" "^7.19.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.3" - "@babel/types" "^7.19.3" + "@babel/parser" "^7.19.6" + "@babel/types" "^7.19.4" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" - integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.19.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.19.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw== @@ -1331,26 +1333,26 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm@0.15.10": - version "0.15.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.10.tgz#a5f9432eb221afc243c321058ef25fe899886892" - integrity sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg== - "@esbuild/android-arm@0.15.11": version "0.15.11" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.11.tgz#bdd9c3e098183bdca97075aa4c3e0152ed3e10ee" integrity sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA== -"@esbuild/linux-loong64@0.15.10": - version "0.15.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7" - integrity sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg== +"@esbuild/android-arm@0.15.12": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769" + integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA== "@esbuild/linux-loong64@0.15.11": version "0.15.11" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz#2f4f9a1083dcb4fc65233b6f59003c406abf32e5" integrity sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw== +"@esbuild/linux-loong64@0.15.12": + version "0.15.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1" + integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -1460,9 +1462,9 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.16" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz#a7982f16c18cae02be36274365433e5b49d7b23f" - integrity sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA== + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" @@ -1651,6 +1653,21 @@ semver "^7.3.5" which "^2.0.2" +"@npmcli/git@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.0.1.tgz#b369e10e9961809e1dc71b429e290653336e022d" + integrity sha512-sfaCFyZO7Zsxia2TNHW8TeHFIUnK63896EZFA5K0vCReOMFi9aELB5RZyFveRLaBE/pT1BS6RxbTWZGjulNgSg== + dependencies: + "@npmcli/promise-spawn" "^4.0.0" + lru-cache "^7.4.4" + mkdirp "^1.0.4" + npm-pick-manifest "^8.0.0" + proc-log "^3.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + "@npmcli/installed-package-contents@^1.0.7": version "1.0.7" resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" @@ -1659,6 +1676,14 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" +"@npmcli/installed-package-contents@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz#3cad3141c95613426820128757a3549bef1b346b" + integrity sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA== + dependencies: + npm-bundled "^3.0.0" + npm-normalize-package-bin "^3.0.0" + "@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": version "2.0.4" resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" @@ -1687,6 +1712,14 @@ mkdirp "^1.0.4" rimraf "^3.0.2" +"@npmcli/move-file@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-3.0.0.tgz#3e1be5c880c9ba2d9c6453709d3ffd2d7a4cf192" + integrity sha512-mOUBUIXsqAQBfn87vGIjBAve6JmD9PkP9Vdq2SayDqQh2Ol60hnXaBSvT4V6IQiho1otw6SipnVV1fulvOiyKQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + "@npmcli/name-from-folder@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" @@ -1697,6 +1730,11 @@ resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== +"@npmcli/node-gyp@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" + integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== + "@npmcli/package-json@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" @@ -1711,6 +1749,13 @@ dependencies: infer-owner "^1.0.4" +"@npmcli/promise-spawn@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-4.0.0.tgz#d1c0b1078f0b342220a3c2b56852d468dd6f02b2" + integrity sha512-LM/GRZSwkxar1jgd58yW5WspFWrFefh8a/KVy+sbOMa0pCwqlXWxXEjQRQzbtWExyhwPb2XSK/4mJnLeiVOYng== + dependencies: + infer-owner "^1.0.4" + "@npmcli/query@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" @@ -1731,6 +1776,17 @@ read-package-json-fast "^2.0.3" which "^2.0.2" +"@npmcli/run-script@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-5.0.0.tgz#39d10916b1f4a1e3ebc871e805bc5cdf05639aa4" + integrity sha512-AuqcoTOt7v4D2JqC7mCa+eUQHb64vWbwyu9o1hoJiq2kfZNwCB71f0s7tvUw+v+1B5XMdqcr98aGzjKIg7s6Vw== + dependencies: + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/promise-spawn" "^4.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^3.0.0" + which "^2.0.2" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -1998,9 +2054,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.4.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.7.tgz#0f05a2677d1a394ff70c21a964a32d3efa05f966" + integrity sha512-ehM7cCt2RSFs42mb+lcmhFT9ouIlV92PuaeRGn8N8c98oMjG4Z5pJHA9b1QiCcuqnbPSHcyfiD3mlhqMaHsQIw== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2143,9 +2199,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.8.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.8.3.tgz#ce750ab4017effa51aed6a7230651778d54e327c" - integrity sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w== + version "18.11.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.3.tgz#78a6d7ec962b596fc2d2ec102c4dd3ef073fea6a" + integrity sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A== "@types/node@12.20.24": version "12.20.24" @@ -2163,9 +2219,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.31.tgz#4b873dea3122e71af4f77e65ec5841397ff254d3" - integrity sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw== + version "14.18.32" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.32.tgz#8074f7106731f1a12ba993fe8bad86ee73905014" + integrity sha512-Y6S38pFr04yb13qqHf8uk1nHE3lXgQ30WZbv1mLliV9pt0NjvqdWttLcrOYLnXbOafknVYRHZGoMSpR9UwfYow== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -2273,9 +2329,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.5.tgz#ea16f2c0ff7f15828016ef62ef4623e0c7b31cfd" - integrity sha512-Lfu97JK5b2jAxCUHH8uMjmhUiQZCGDyVzSAskFFZuWcprtcwjMkEPZE/SiIM5hOGQJVs982BAF26a3kmw8iiJw== + version "4.1.6" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.6.tgz#a23b15abc8023db5cd56dad736cbb8d830d38c71" + integrity sha512-qK1UbVws7APzKmL2pP1ypVXCdMrJko32anuz5Fl6qrU/1AWM/mVVY7cOM7FhsOVrIqLXo+YoKJf6+LLNtXgbSw== dependencies: "@types/ws" "*" @@ -2378,9 +2434,9 @@ source-map "^0.7.3" "@types/webpack@^4": - version "4.41.32" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" - integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== + version "4.41.33" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.33.tgz#16164845a5be6a306bcbe554a8e67f9cac215ffc" + integrity sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g== dependencies: "@types/node" "*" "@types/tapable" "^1" @@ -2420,85 +2476,86 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz#0159bb71410eec563968288a17bd4478cdb685bd" - integrity sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q== +"@typescript-eslint/eslint-plugin@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.1.tgz#3203a6ff396b1194083faaa6e5110c401201d7d5" + integrity sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg== dependencies: - "@typescript-eslint/scope-manager" "5.40.0" - "@typescript-eslint/type-utils" "5.40.0" - "@typescript-eslint/utils" "5.40.0" + "@typescript-eslint/scope-manager" "5.40.1" + "@typescript-eslint/type-utils" "5.40.1" + "@typescript-eslint/utils" "5.40.1" debug "^4.3.4" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.40.0.tgz#432bddc1fe9154945660f67c1ba6d44de5014840" - integrity sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw== +"@typescript-eslint/parser@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.40.1.tgz#e7f8295dd8154d0d37d661ddd8e2f0ecfdee28dd" + integrity sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg== dependencies: - "@typescript-eslint/scope-manager" "5.40.0" - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/typescript-estree" "5.40.0" + "@typescript-eslint/scope-manager" "5.40.1" + "@typescript-eslint/types" "5.40.1" + "@typescript-eslint/typescript-estree" "5.40.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz#d6ea782c8e3a2371ba3ea31458dcbdc934668fc4" - integrity sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw== +"@typescript-eslint/scope-manager@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.40.1.tgz#a7a5197dfd234622a2421ea590ee0ccc02e18dfe" + integrity sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg== dependencies: - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/visitor-keys" "5.40.0" + "@typescript-eslint/types" "5.40.1" + "@typescript-eslint/visitor-keys" "5.40.1" -"@typescript-eslint/type-utils@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz#4964099d0158355e72d67a370249d7fc03331126" - integrity sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw== +"@typescript-eslint/type-utils@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.40.1.tgz#091e4ce3bebbdb68f4980bae9dee2e4e1725f601" + integrity sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q== dependencies: - "@typescript-eslint/typescript-estree" "5.40.0" - "@typescript-eslint/utils" "5.40.0" + "@typescript-eslint/typescript-estree" "5.40.1" + "@typescript-eslint/utils" "5.40.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.40.0.tgz#8de07e118a10b8f63c99e174a3860f75608c822e" - integrity sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw== +"@typescript-eslint/types@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.40.1.tgz#de37f4f64de731ee454bb2085d71030aa832f749" + integrity sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw== -"@typescript-eslint/typescript-estree@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz#e305e6a5d65226efa5471ee0f12e0ffaab6d3075" - integrity sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg== +"@typescript-eslint/typescript-estree@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.1.tgz#9a7d25492f02c69882ce5e0cd1857b0c55645d72" + integrity sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA== dependencies: - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/visitor-keys" "5.40.0" + "@typescript-eslint/types" "5.40.1" + "@typescript-eslint/visitor-keys" "5.40.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.40.0.tgz#647f56a875fd09d33c6abd70913c3dd50759b772" - integrity sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA== +"@typescript-eslint/utils@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.40.1.tgz#3204fb73a559d3b7bab7dc9d3c44487c2734a9ca" + integrity sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.40.0" - "@typescript-eslint/types" "5.40.0" - "@typescript-eslint/typescript-estree" "5.40.0" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.40.1" + "@typescript-eslint/types" "5.40.1" + "@typescript-eslint/typescript-estree" "5.40.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.40.0": - version "5.40.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz#dd2d38097f68e0d2e1e06cb9f73c0173aca54b68" - integrity sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ== +"@typescript-eslint/visitor-keys@5.40.1": + version "5.40.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.1.tgz#f3d2bf5af192f4432b84cec6fdcb387193518754" + integrity sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw== dependencies: - "@typescript-eslint/types" "5.40.0" + "@typescript-eslint/types" "5.40.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -2671,9 +2728,9 @@ "@xtuc/long" "4.2.2" "@xmldom/xmldom@^0.7.3": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" - integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A== + version "0.7.6" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.6.tgz#6f55073fa73e65776bd85826958b98c8cd1457b5" + integrity sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -3077,13 +3134,6 @@ babel-loader@8.2.5: make-dir "^3.1.0" schema-utils "^2.6.5" -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - babel-plugin-istanbul@6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -3442,7 +3492,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.0, cacache@^17.0.0: +cacache@17.0.0: version "17.0.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.0.tgz#76be0cc410879a37ec08426cbfcc216a5c2f26a6" integrity sha512-5hYD+c8Ytmymo9b8tPgYWrWfHOzaO8M8jMUkyiEYfeLTwo70MUaD/yA1pNONi3upx02JIn3mtpDuSCXoQgtlHw== @@ -3462,6 +3512,26 @@ cacache@17.0.0, cacache@^17.0.0: tar "^6.1.11" unique-filename "^2.0.0" +cacache@17.0.1, cacache@^17.0.0: + version "17.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.1.tgz#bcba581a1b311b552b21f71d6205c67551a8d6d5" + integrity sha512-HRnDSZUXB5hdCQc2wuB8eBQPe1a9PVU2Ow8zMTi82NGJZmBGNTSjEGzetlndKlqpVYBa4esdaJ2LH6/uOB4sFQ== + dependencies: + "@npmcli/fs" "^3.0.0" + "@npmcli/move-file" "^3.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -3505,9 +3575,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: - version "1.0.30001418" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz#5f459215192a024c99e3e3a53aac310fc7cf24e6" - integrity sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg== + version "1.0.30001423" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001423.tgz#57176d460aa8cd85ee1a72016b961eb9aca55d91" + integrity sha512-09iwWGOlifvE1XuHokFMP7eR38a0JnajoyL3/i87c8ZjRWRrdKo1fqjNfugfBD0UDBIOz0U+jtNhJ0EPm1VleQ== caseless@~0.12.0: version "0.12.0" @@ -3854,11 +3924,9 @@ content-type@~1.0.4: integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== cookie-signature@1.0.6: version "1.0.6" @@ -4113,9 +4181,9 @@ decamelize@^1.2.0: integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decimal.js@^10.2.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.1.tgz#be75eeac4a2281aace80c1a8753587c27ef053e7" - integrity sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw== + version "10.4.2" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.2.tgz#0341651d1d997d86065a2ce3a441fbd0d8e8b98e" + integrity sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA== decode-uri-component@^0.2.0: version "0.2.0" @@ -4382,9 +4450,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.251: - version "1.4.276" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.276.tgz#17837b19dafcc43aba885c4689358b298c19b520" - integrity sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ== + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== emoji-regex@^8.0.0: version "8.0.0" @@ -4415,10 +4483,10 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -engine.io-client@~6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.2.2.tgz#c6c5243167f5943dcd9c4abee1bfc634aa2cbdd0" - integrity sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ== +engine.io-client@~6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.2.3.tgz#a8cbdab003162529db85e9de31575097f6d29458" + integrity sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" @@ -4598,216 +4666,216 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz#8a59a84acbf2eca96996cadc35642cf055c494f0" - integrity sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA== - esbuild-android-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz#50402129c3e85bb06434e212374c5f693e4c5f01" integrity sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw== -esbuild-android-arm64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz#f453851dc1d8c5409a38cf7613a33852faf4915d" - integrity sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg== +esbuild-android-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc" + integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q== esbuild-android-arm64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz#49bee35218ea2ccf1a0c5f187af77c1c0a5dee71" integrity sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ== -esbuild-darwin-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz#778bd29c8186ff47b176c8af58c08cf0fb8e6b86" - integrity sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA== +esbuild-android-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666" + integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA== esbuild-darwin-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz#89a90c8cf6f0029ac4169bfedd012a0412c1575f" integrity sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA== -esbuild-darwin-arm64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz#b30bbefb46dc3c5d4708b0435e52f6456578d6df" - integrity sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ== +esbuild-darwin-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25" + integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q== esbuild-darwin-arm64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz#556f4385c6de806cc81132dd7b8af00fe9d292df" integrity sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ== -esbuild-freebsd-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz#ab301c5f6ded5110dbdd611140bef1a7c2e99236" - integrity sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w== +esbuild-darwin-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04" + integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw== esbuild-freebsd-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz#fd86fd1b3b65366048f35b996d9cdf3547384eee" integrity sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg== -esbuild-freebsd-arm64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz#a5b09b867a6ff49110f52343b6f12265db63d43f" - integrity sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg== +esbuild-freebsd-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0" + integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw== esbuild-freebsd-arm64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz#d346bcacfe9779ebc1a11edac1bdedeff6dda3b1" integrity sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ== -esbuild-linux-32@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz#5282fe9915641caf9c8070e4ba2c3e16d358f837" - integrity sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w== +esbuild-freebsd-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e" + integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g== esbuild-linux-32@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz#64b50e774bf75af7dcc6a73ad509f2eb0ac4487b" integrity sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA== -esbuild-linux-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz#f3726e85a00149580cb19f8abfabcbb96f5d52bb" - integrity sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA== +esbuild-linux-32@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4" + integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA== esbuild-linux-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz#fba3a78b95769772863f8f6dc316abca55cf8416" integrity sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA== -esbuild-linux-arm64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz#2f0056e9d5286edb0185b56655caa8c574d8dbe7" - integrity sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A== +esbuild-linux-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931" + integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA== esbuild-linux-arm64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz#c0cb31980eee066bfd39a4593660a0ecebe926cb" integrity sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw== -esbuild-linux-arm@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz#40a9270da3c8ffa32cf72e24a79883e323dff08d" - integrity sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A== +esbuild-linux-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5" + integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ== esbuild-linux-arm@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz#7824d20099977aa671016c7de7a5038c9870010f" integrity sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A== -esbuild-linux-mips64le@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz#90ce1c4ee0202edb4ac69807dea77f7e5804abc4" - integrity sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q== +esbuild-linux-arm@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67" + integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A== esbuild-linux-mips64le@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz#10627331c90164e553429ed25e025184bba485b6" integrity sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA== -esbuild-linux-ppc64le@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz#782837ae7bd5b279178106c9dd801755a21fabdf" - integrity sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ== +esbuild-linux-mips64le@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2" + integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A== esbuild-linux-ppc64le@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz#be42679a36a5246b893fc8b898135ebacb5a0a14" integrity sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg== -esbuild-linux-riscv64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz#d7420d806ece5174f24f4634303146f915ab4207" - integrity sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q== +esbuild-linux-ppc64le@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7" + integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg== esbuild-linux-riscv64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz#3ac2f328e3db73cbff833ada94314d8e79503e54" integrity sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw== -esbuild-linux-s390x@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz#21fdf0cb3494a7fb520a71934e4dffce67fe47be" - integrity sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA== +esbuild-linux-riscv64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693" + integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA== esbuild-linux-s390x@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz#e774e0df061b6847d86783bf3c8c4300a72e03ad" integrity sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg== -esbuild-netbsd-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz#6c06b3107e3df53de381e6299184d4597db0440f" - integrity sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw== +esbuild-linux-s390x@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f" + integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww== esbuild-netbsd-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz#55e265fa4489e3f396b16c81f6f5a11d6ca2a9a4" integrity sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A== -esbuild-openbsd-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz#4daef5f5d8e74bbda53b65160029445d582570cf" - integrity sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ== +esbuild-netbsd-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42" + integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w== esbuild-openbsd-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz#bc04103ccfd8c2f2241e1add0b51a095955b73c4" integrity sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ== -esbuild-sunos-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz#5fe7bef267a02f322fd249a8214d0274937388a7" - integrity sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg== +esbuild-openbsd-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae" + integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw== esbuild-sunos-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz#ccd580305d31fde07b5c386da79c942aaf069013" integrity sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw== +esbuild-sunos-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e" + integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg== + esbuild-wasm@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.11.tgz#3e4c3f32caa8685f7ddf3ee7e23373a0b5d24c53" integrity sha512-65iqJNZ+QRosxjtGfQad6By7iXEgil/KRoXb9KTquxIbiBjBowOtOIITAlTaqaBO2ufIyRTYc4t1JIObq+c/mQ== -esbuild-wasm@^0.15.9: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.10.tgz#9ab5ba7b1cb6389c669bc04e62a0ab985ccfa4f1" - integrity sha512-FqZ/Gmja4La52IMfmIexResqA5xtU9tV8QFevDuYX38Aw8pNwxKeMu1chjhfPa2teVhhVjpoRcI5ADmUQkSm8g== - -esbuild-windows-32@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz#48e3dde25ab0135579a288b30ab6ddef6d1f0b28" - integrity sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg== +esbuild-wasm@0.15.12, esbuild-wasm@^0.15.9: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" + integrity sha512-mm6ouQxg27wHHIBc7ii8x4v2eu67O14wfa7OM0gfwmrHVzuQCLd6hATK/tvR73Pif/WS+/OvhcV4hY0REfHeUw== esbuild-windows-32@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz#40fe1d48f9b20a76f6db5109aaaf1511aed58c71" integrity sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q== -esbuild-windows-64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz#387a9515bef3fee502d277a5d0a2db49a4ecda05" - integrity sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA== +esbuild-windows-32@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0" + integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw== esbuild-windows-64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz#80c58b1ef2ff030c78e3a06e7a922776cc4cb687" integrity sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ== -esbuild-windows-arm64@0.15.10: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz#5a6fcf2fa49e895949bf5495cf088ab1b43ae879" - integrity sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw== +esbuild-windows-64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6" + integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA== esbuild-windows-arm64@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz#018624023b5c3f0cca334cc99f5ef7134d396333" integrity sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw== +esbuild-windows-arm64@0.15.12: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328" + integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA== + esbuild@0.15.11: version "0.15.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.11.tgz#524d48612a9aa7edc1753c83459cb6fcae0cb66e" @@ -4836,33 +4904,33 @@ esbuild@0.15.11: esbuild-windows-64 "0.15.11" esbuild-windows-arm64 "0.15.11" -esbuild@^0.15.9: - version "0.15.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.10.tgz#85c2f8446e9b1fe04fae68daceacba033eedbd42" - integrity sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng== +esbuild@0.15.12, esbuild@^0.15.9: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" + integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng== optionalDependencies: - "@esbuild/android-arm" "0.15.10" - "@esbuild/linux-loong64" "0.15.10" - esbuild-android-64 "0.15.10" - esbuild-android-arm64 "0.15.10" - esbuild-darwin-64 "0.15.10" - esbuild-darwin-arm64 "0.15.10" - esbuild-freebsd-64 "0.15.10" - esbuild-freebsd-arm64 "0.15.10" - esbuild-linux-32 "0.15.10" - esbuild-linux-64 "0.15.10" - esbuild-linux-arm "0.15.10" - esbuild-linux-arm64 "0.15.10" - esbuild-linux-mips64le "0.15.10" - esbuild-linux-ppc64le "0.15.10" - esbuild-linux-riscv64 "0.15.10" - esbuild-linux-s390x "0.15.10" - esbuild-netbsd-64 "0.15.10" - esbuild-openbsd-64 "0.15.10" - esbuild-sunos-64 "0.15.10" - esbuild-windows-32 "0.15.10" - esbuild-windows-64 "0.15.10" - esbuild-windows-arm64 "0.15.10" + "@esbuild/android-arm" "0.15.12" + "@esbuild/linux-loong64" "0.15.12" + esbuild-android-64 "0.15.12" + esbuild-android-arm64 "0.15.12" + esbuild-darwin-64 "0.15.12" + esbuild-darwin-arm64 "0.15.12" + esbuild-freebsd-64 "0.15.12" + esbuild-freebsd-arm64 "0.15.12" + esbuild-linux-32 "0.15.12" + esbuild-linux-64 "0.15.12" + esbuild-linux-arm "0.15.12" + esbuild-linux-arm64 "0.15.12" + esbuild-linux-mips64le "0.15.12" + esbuild-linux-ppc64le "0.15.12" + esbuild-linux-riscv64 "0.15.12" + esbuild-linux-s390x "0.15.12" + esbuild-netbsd-64 "0.15.12" + esbuild-openbsd-64 "0.15.12" + esbuild-sunos-64 "0.15.12" + esbuild-windows-32 "0.15.12" + esbuild-windows-64 "0.15.12" + esbuild-windows-arm64 "0.15.12" escalade@^3.1.1: version "3.1.1" @@ -5740,9 +5808,9 @@ globby@^5.0.0: pinkie-promise "^2.0.0" google-protobuf@^3.6.1: - version "3.21.1" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.1.tgz#bb73c6e1471afdadc0a312da27ef0a68c875414f" - integrity sha512-iiQnqsR7nzdYfJjo2yOpJJ2bsAaOvV/85HjDx/sxcOJcNMgyj3iK00HsbZbhKS+EixWdu9fPn7quaBvb4IQHtw== + version "3.21.2" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4" + integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" @@ -5863,6 +5931,13 @@ hosted-git-info@^5.0.0, hosted-git-info@^5.1.0: dependencies: lru-cache "^7.5.1" +hosted-git-info@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.0.0.tgz#2e9b726a8ac0d68a907c6a8dc4abecac5e0ed69a" + integrity sha512-NURrKJX36ihI69iCqcvN4uuIk9fHcc1C+uax/5fPh4Tr5WJnATir+QM/CMJNKrcOOvxQDsAdS5C9oJliM80X7g== + dependencies: + lru-cache "^7.5.1" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -6042,6 +6117,13 @@ ignore-walk@^5.0.1: dependencies: minimatch "^5.0.1" +ignore-walk@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.0.tgz#1dd41c6eb4f661a49750a510a10c2cd934583fd8" + integrity sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg== + dependencies: + minimatch "^5.0.1" + ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" @@ -6245,9 +6327,9 @@ is-cidr@^4.0.2: cidr-regex "^3.1.1" is-core-module@^2.1.0, is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" @@ -7100,9 +7182,9 @@ loader-utils@3.2.0: integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== loader-utils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + version "2.0.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.3.tgz#d4b15b8504c63d1fc3f2ade52d41bc8459d6ede1" + integrity sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -7326,6 +7408,28 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: socks-proxy-agent "^7.0.0" ssri "^9.0.0" +make-fetch-happen@^11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.0.1.tgz#b3c51663d018d9e11d57fdd4393a4c5a1a7d56eb" + integrity sha512-clv3IblugXn2CDUmqFhNzii3rjKa46u5wNeivc+QlLXkGI5FjLX3rGboo+y2kwf1pd8W0iDiC384cemeDtw9kw== + dependencies: + agentkeepalive "^4.2.1" + cacache "^17.0.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^3.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^10.0.0" + marked@4.0.18: version "4.0.18" resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" @@ -7473,9 +7577,9 @@ minimatch@~3.0.4: brace-expansion "^1.1.7" minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== minipass-collect@^1.0.2: version "1.0.2" @@ -7495,6 +7599,17 @@ minipass-fetch@^2.0.3: optionalDependencies: encoding "^0.1.13" +minipass-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.0.tgz#02481219ddbd3d30eb0e354016f680b10c6f2bcb" + integrity sha512-NSx3k5gR4Q5Ts2poCM/19d45VwhVLBtJZ6ypYcthj2BwmDx/e7lW8Aadnyt3edd2W0ecb+b0o7FYLRYE2AGcQg== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" @@ -7723,9 +7838,9 @@ node-gyp-build@^4.2.2: integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== node-gyp@^9.0.0, node-gyp@^9.1.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.2.0.tgz#b3b56144828a98018a4cfb3033095e0f5b874d72" - integrity sha512-/+/YxGfIJOh/fnMsr4Ep0v6oOIjnO1BgLd2dcDspBX1spTkQU7xSIox5RdRE/2/Uq3ZwK8Z5swRIbMUmPlslmg== + version "9.3.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.0.tgz#f8eefe77f0ad8edb3b3b898409b53e697642b319" + integrity sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q== dependencies: env-paths "^2.2.0" glob "^7.1.4" @@ -7778,6 +7893,16 @@ normalize-package-data@^4.0.0: semver "^7.3.5" validate-npm-package-license "^3.0.4" +normalize-package-data@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588" + integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== + dependencies: + hosted-git-info "^6.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -7809,6 +7934,13 @@ npm-bundled@^2.0.0: dependencies: npm-normalize-package-bin "^2.0.0" +npm-bundled@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" + integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== + dependencies: + npm-normalize-package-bin "^3.0.0" + npm-install-checks@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" @@ -7848,6 +7980,16 @@ npm-package-arg@9.1.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-packa semver "^7.3.5" validate-npm-package-name "^4.0.0" +npm-package-arg@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.0.0.tgz#a34f4a4208a937074b1fff0943a684fbacc83977" + integrity sha512-7dkh8mRp7s0KwVHKIVJnFCJQ2B34gOGnzgBjDGyprycmARq/82SX/lhilQ95ZuacP/G/1gsS345iAkKmxWBQ2Q== + dependencies: + hosted-git-info "^6.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + npm-packlist@^5.1.0: version "5.1.3" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" @@ -7859,20 +8001,20 @@ npm-packlist@^5.1.0: npm-normalize-package-bin "^2.0.0" npm-packlist@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.0.tgz#d451b7d797d4b05128796d9573d69be51fdf8f31" - integrity sha512-8GRMzWQmFdUrRmc6tPPCd9Umm9g2qDR6X6Rik+9nYvoDQTLs/0IcCKv6iUdAmgr9sgJCm24QovwozCHWMDriOg== + version "7.0.1" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.1.tgz#984455991f12fed40d7018b8d012ed17a37303c0" + integrity sha512-XddbYutimy7hdmP7S1tHMjFwghn64lvgdnhYG0KLGFBWjEvMt1/jg95OR3vPNNCjkakHS+k4a//3XOO8JOGI2A== dependencies: - ignore-walk "^5.0.1" + ignore-walk "^6.0.0" -npm-pick-manifest@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.0.tgz#cf7743b00ae777215fa0c4233a346b5df8bc2af0" - integrity sha512-Tcy/Mdf9L5f09vaBZo/z9+eb+ZTDeXWZFuPD5PZ6grobO9E3tjaPH+jQOFXZNn3EcqaiRcROzKU1UU7mLTtC2w== +npm-pick-manifest@8.0.1, npm-pick-manifest@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz#c6acd97d1ad4c5dbb80eac7b386b03ffeb289e5f" + integrity sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA== dependencies: npm-install-checks "^6.0.0" npm-normalize-package-bin "^3.0.0" - npm-package-arg "^9.0.0" + npm-package-arg "^10.0.0" semver "^7.3.5" npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: @@ -7906,6 +8048,19 @@ npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3 npm-package-arg "^9.0.1" proc-log "^2.0.0" +npm-registry-fetch@^14.0.0: + version "14.0.2" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.2.tgz#f637630d9005aeebe4d7411226fb11fa1628c5e8" + integrity sha512-TMenrMagFA9KF81E2bkS5XRyzERK4KXu70vgXt5+i8FcrFeLNgNsc6e5hekTqjDwPDkL3HGn/holWcXDMfnFgw== + dependencies: + make-fetch-happen "^11.0.0" + minipass "^3.1.6" + minipass-fetch "^3.0.0" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^10.0.0" + proc-log "^3.0.0" + npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -7930,7 +8085,6 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -7941,7 +8095,6 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" - fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -7961,7 +8114,6 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" - minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -8045,7 +8197,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0, object.assign@^4.1.4: +object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -8233,27 +8385,27 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.0.tgz#32f6f7e9b59f4dd17e48c5f957c0d777f2d59021" - integrity sha512-YsMK5om14r2rf4Ukum5R43zKFoJe0swrsZRbG4fUfTJUxHpdMrie6+Js/jaNtn7Bq0YRL9SnAajPqz6n4wgi6g== +pacote@15.0.3: + version "15.0.3" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.3.tgz#fbd32b0af56e716b5e14203a7f8eb81860d522b5" + integrity sha512-lKUWO5xpSBH6gPBQEJZwn7RBWMRA5VDbRUurxqjs0/5Zp8PWbxga1yIVAmM0ILMamwDQOVhdBp+ZQDVErXQb4g== dependencies: - "@npmcli/git" "^3.0.0" - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/promise-spawn" "^3.0.0" - "@npmcli/run-script" "^4.1.0" + "@npmcli/git" "^4.0.0" + "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/promise-spawn" "^4.0.0" + "@npmcli/run-script" "^5.0.0" cacache "^17.0.0" fs-minipass "^2.1.0" minipass "^3.1.6" - npm-package-arg "^9.0.0" + npm-package-arg "^10.0.0" npm-packlist "^7.0.0" - npm-pick-manifest "^7.0.0" - npm-registry-fetch "^13.0.1" - proc-log "^2.0.0" + npm-pick-manifest "^8.0.0" + npm-registry-fetch "^14.0.0" + proc-log "^3.0.0" promise-retry "^2.0.1" - read-package-json "^5.0.0" + read-package-json "^6.0.0" read-package-json-fast "^3.0.0" - ssri "^9.0.0" + ssri "^10.0.0" tar "^6.1.11" pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: @@ -8433,20 +8585,13 @@ pidtree@0.6.0, pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pidusage@3.0.1: +pidusage@3.0.1, pidusage@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.1.tgz#b8383319aca2ed810d1bcc4207c1c5c377d94f5f" integrity sha512-/UlE6DQIe6yuDvm3v6756U0ErEsj60FLQTRZ4qPQF9b5yZKhf4c0llzD0tZpyE03nn8HQoLniFgKsL0ABB3nCg== dependencies: safe-buffer "^5.2.1" -pidusage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.0.tgz#69108079724c9afdd958644b920bc40bac964044" - integrity sha512-8VJLToXhj+RYZGNVw8oxc7dS54iCQXUJ+MDFHezQ/fwF5B8W4OWodAMboc1wb08S/4LiHwAmkT4ohf/d3YPPsw== - dependencies: - safe-buffer "^5.2.1" - pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8593,7 +8738,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.18: +postcss@8.4.18, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: version "8.4.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== @@ -8602,15 +8747,6 @@ postcss@8.4.18: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: - version "8.4.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" - integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8648,6 +8784,11 @@ proc-log@^2.0.0, proc-log@^2.0.1: resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" @@ -8941,12 +9082,12 @@ read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: npm-normalize-package-bin "^1.0.1" read-package-json-fast@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.0.tgz#1931be7e06ab0e1e11223f5bb4ce0da2d4dbcc36" - integrity sha512-dVZMRA86XfZYNxQu18el+HG18L92Rn9CyOhOiQRPFR6ygigZwnmPg1DEVPNFBesp8JeISYYLvvD8DaEkUSTFkQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.1.tgz#de13ae1c591850534daf77e083e851f94af67733" + integrity sha512-8+HW7Yo+cjfF+md8DqsZHgats2mxf7gGYow/+2JjxrftoHFZz9v4dzd0EubzYbkNaLxrTVcnllHwklXN2+7aTQ== dependencies: json-parse-even-better-errors "^3.0.0" - npm-normalize-package-bin "^2.0.0" + npm-normalize-package-bin "^3.0.0" read-package-json@^2.0.0: version "2.1.2" @@ -8968,6 +9109,16 @@ read-package-json@^5.0.0, read-package-json@^5.0.2: normalize-package-data "^4.0.0" npm-normalize-package-bin "^2.0.0" +read-package-json@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.0.tgz#6a741841ad72a40e77a82b9c3c8c10e865bbc519" + integrity sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w== + dependencies: + glob "^8.0.1" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^5.0.0" + npm-normalize-package-bin "^3.0.0" + read@1, read@^1.0.7, read@~1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -9051,16 +9202,11 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@0.13.10: +regenerator-runtime@0.13.10, regenerator-runtime@^0.13.4: version "0.13.10" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" @@ -9294,9 +9440,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.1.0.tgz#1310c764ee3187cd39d936c85107f4bfb0cae3d7" - integrity sha512-GEvr+COcXicr4nuih6mpt2Eydq5lZ72z0RrKx1H4/Q2ouT34OHrIIJ9OUj2sZqUhq7QL8Hp8Q8BoWbjL/6ccRQ== + version "3.2.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.2.3.tgz#67d894c981ad50cc811779748e52c05742560c64" + integrity sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg== optionalDependencies: fsevents "~2.3.2" @@ -9381,7 +9527,6 @@ sass@1.55.0, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -9667,13 +9812,13 @@ socket.io-adapter@~2.4.0: integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== socket.io-client@^4.4.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.2.tgz#9481518c560388c980c88b01e3cf62f367f04c96" - integrity sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg== + version "4.5.3" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.3.tgz#bed69209d001465b2fea650d2e95c1e82768ab5e" + integrity sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" - engine.io-client "~6.2.1" + engine.io-client "~6.2.3" socket.io-parser "~4.2.0" socket.io-parser@~4.2.0: @@ -9685,9 +9830,9 @@ socket.io-parser@~4.2.0: debug "~4.3.1" socket.io@^4.4.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.2.tgz#1eb25fd380ab3d63470aa8279f8e48d922d443ac" - integrity sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ== + version "4.5.3" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.3.tgz#44dffea48d7f5aa41df4a66377c386b953bc521c" + integrity sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg== dependencies: accepts "~1.3.4" base64id "~2.0.0" @@ -9896,6 +10041,13 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +ssri@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.0.tgz#1e34554cbbc4728f5290674264e21b64aaf27ca7" + integrity sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw== + dependencies: + minipass "^3.1.1" + ssri@^9.0.0, ssri@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" @@ -10379,9 +10531,9 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== typanion@^3.3.1: - version "3.12.0" - resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.12.0.tgz#8352830e5cf26ebfc5832da265886c9fb3ebb323" - integrity sha512-o59ZobUBsG+2dHnGVI2shscqqzHdzCOixCU0t8YXLxM2Su42J2ha7hY9V5+6SIBjVsw6aLqrlYznCgQGJN4Kag== + version "3.12.1" + resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.12.1.tgz#d33deb130aba23ef6f2a3c69e7fb28148dd9089a" + integrity sha512-3SJF/czpzqq6G3lprGFLa6ps12yb1uQ1EmitNnep2fDMNh1aO/Zbq9sWY+3lem0zYb2oHJnQWyabTGUZ+L1ScQ== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -10451,9 +10603,9 @@ ua-parser-js@1.0.2: integrity sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg== ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + version "0.7.32" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.32.tgz#cd8c639cdca949e30fa68c44b7813ef13e36d211" + integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== uglify-js@^3.1.4: version "3.17.3" @@ -10516,6 +10668,13 @@ unique-filename@^2.0.0: dependencies: unique-slug "^3.0.0" +unique-filename@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" + integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== + dependencies: + unique-slug "^4.0.0" + unique-slug@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" @@ -10523,6 +10682,13 @@ unique-slug@^3.0.0: dependencies: imurmurhash "^0.1.4" +unique-slug@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" + integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== + dependencies: + imurmurhash "^0.1.4" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -10630,6 +10796,13 @@ validate-npm-package-name@^4.0.0: dependencies: builtins "^5.0.0" +validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + validator@13.7.0, validator@^13.7.0: version "13.7.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" From b29ae2feda00b076f27a16bd61b2a5d951126b9b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 14 Oct 2022 12:11:41 +0000 Subject: [PATCH 1053/1388] fix(@schematics/angular): add `@angular/localize` as type when localize package is installed The `@angular/localize` entrypoint now exposes the global `$localize` method type. See: https://github.com/angular/angular/pull/47763 --- .../build_angular/test/hello-world-app/src/tsconfig.app.json | 2 +- .../test/hello-world-app/src/tsconfig.server.json | 2 +- .../build_angular/test/hello-world-app/src/tsconfig.spec.json | 2 +- .../universal/files/root/tsconfig.server.json.template | 2 +- packages/schematics/angular/universal/index_spec.ts | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json index 0fd75806850e..a76843b689fb 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.app.json @@ -2,7 +2,7 @@ "extends": "../tsconfig.json", "compilerOptions": { "outDir": "../out-tsc/app", - "types": ["@angular/localize/init"] + "types": ["@angular/localize"] }, "files": [ "main.ts", diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json index 9599811a5803..314d4221c240 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json @@ -4,7 +4,7 @@ "outDir": "../dist-server", "target": "es2016", "baseUrl": "./", - "types": ["@angular/localize/init"] + "types": ["@angular/localize"] }, "files": [ "main.server.ts" diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json index 13749f5c0c0c..a42459f71db5 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.spec.json @@ -4,7 +4,7 @@ "outDir": "../out-tsc/spec", "types": [ "jasmine", - "@angular/localize/init" + "@angular/localize" ] }, "files": [ diff --git a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template index 20751626f84d..e073793ceead 100644 --- a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template +++ b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template @@ -6,7 +6,7 @@ "target": "es2019", "types": [ "node"<% if (hasLocalizePackage) { %>, - "@angular/localize/init"<% } %> + "@angular/localize"<% } %> ] }, "files": [ diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 31aaff944ede..9f276e011b5c 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -233,7 +233,7 @@ describe('Universal Schematic', () => { const { compilerOptions } = tree.readJson('/projects/bar/tsconfig.server.json') as { compilerOptions: CompilerOptions; }; - expect(compilerOptions.types).not.toContain('@angular/localize/init'); + expect(compilerOptions.types).not.toContain('@angular/localize'); }); it(`should add import to '@angular/localize' as type in 'tsconfig.server.json' when it's a dependency`, async () => { @@ -249,6 +249,6 @@ describe('Universal Schematic', () => { const { compilerOptions } = tree.readJson('/projects/bar/tsconfig.server.json') as { compilerOptions: CompilerOptions; }; - expect(compilerOptions.types).toContain('@angular/localize/init'); + expect(compilerOptions.types).toContain('@angular/localize'); }); }); From 80846b21e44f09c5ddf2fbc6cd4e5fe8d3bc934f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 21 Oct 2022 16:10:30 +0000 Subject: [PATCH 1054/1388] build: update angular to 66fc8de --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 14 ++++---- 6 files changed, 30 insertions(+), 28 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 9c04f8f67313..93db6e65175c 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@a67b5841243da494fe3cecd486adac1544b2a7f6 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@a67b5841243da494fe3cecd486adac1544b2a7f6 + - uses: angular/dev-infra/github-actions/post-approval-changes@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 8cf737965d41..d4d0d37821e6 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@a67b5841243da494fe3cecd486adac1544b2a7f6 + - uses: angular/dev-infra/github-actions/feature-request@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 7dcc5ccc5484..6f990d011594 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@a67b5841243da494fe3cecd486adac1544b2a7f6 + - uses: angular/dev-infra/github-actions/lock-closed@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 864befba4417..7a9ae0c17e42 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a77422e3464d0cefe58fc384437816ae1d4e8db6", "@angular/cdk": "14.2.5", "@angular/common": "15.0.0-rc.0", "@angular/compiler": "15.0.0-rc.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-rc.0", "@angular/localize": "15.0.0-rc.0", "@angular/material": "14.2.5", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#98c8d24b938eac36acabf7fbbb96e9dae94fbb7f", "@angular/platform-browser": "15.0.0-rc.0", "@angular/platform-browser-dynamic": "15.0.0-rc.0", "@angular/platform-server": "15.0.0-rc.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 0386b0751d41..75fe2d093339 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#dabe51f5a08ad6c7150fad4561b9581d62a07395", - "@angular/cdk": "github:angular/cdk-builds#806f6bbe56f97ee64f26ec8cbe9c2362aec2fa17", - "@angular/common": "github:angular/common-builds#71a08b91fe296ed6981155857858f2870c635f62", - "@angular/compiler": "github:angular/compiler-builds#5a69baf02fa05ab759897b40b313b877c6fa76e0", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#36bcaf41ff7d370bd3bd94a0c0022b45677bfd22", - "@angular/core": "github:angular/core-builds#cf87a170aa4ffac1eaa8de7c297778a7b76594b3", - "@angular/forms": "github:angular/forms-builds#b6f141dc1be5d358d0e6dd1880fc7d101eb9ea8d", - "@angular/language-service": "github:angular/language-service-builds#a2fcc4e2195c0ae2f23ec7dfcb8fe8b12878d05c", - "@angular/localize": "github:angular/localize-builds#bf7744082b0a69f7493bed5fbf5ea6b736916090", - "@angular/material": "github:angular/material-builds#2769f1f82c3f09f9f4b60cbe8b03ee8e2119da90", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#b2d507a09a2cc25937e279376a3f30410043da12", - "@angular/platform-browser": "github:angular/platform-browser-builds#f394dba304458f904dc1c2e9ad5f7583fd86e612", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2b888b95d1707031538b0386673a0cdf99e147bb", - "@angular/platform-server": "github:angular/platform-server-builds#9e5f3e8c44a165880f29ffb83744650f70319021", - "@angular/router": "github:angular/router-builds#7588cebec4eb50e72084bed808c7becfc1d9f526", - "@angular/service-worker": "github:angular/service-worker-builds#c563ebaeb793500d2590dd58693538b520211593" + "@angular/animations": "github:angular/animations-builds#66fc8de0548cc9fb0441fa208b866a0dd8f6077c", + "@angular/cdk": "github:angular/cdk-builds#189431dd0820dbb0b860a7aee5ec3d1c2f9882b5", + "@angular/common": "github:angular/common-builds#48408709ef57df822deb2fbe16ef6b8446d26c3e", + "@angular/compiler": "github:angular/compiler-builds#a5ceb97e6bbd14eeea166fd7caeaa727c1c069d2", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#c89f0ed5028b64ea8334cf8a41b1cc093c5b92e9", + "@angular/core": "github:angular/core-builds#8543bb8d3869822a0ede860848e1f2cdcaa9a748", + "@angular/forms": "github:angular/forms-builds#6749415024dcdbf6aaf08e25b93723196336254b", + "@angular/language-service": "github:angular/language-service-builds#b4b28fd031329a5cb5ef13a700e213a0369b072b", + "@angular/localize": "github:angular/localize-builds#8a3d244b61cadd4dba1dcd34cd3aedb56a708050", + "@angular/material": "github:angular/material-builds#a1217deb52e60a82296b7ef9e3eed8ab44096cca", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#de3492dd39c117466336f271b4cbc2b238182bf4", + "@angular/platform-browser": "github:angular/platform-browser-builds#f4aac7ae7e85ab01172fa4f04f7969530cc6ccaa", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ff75a09c8c76e62833f92cc1ddd02a6921d22785", + "@angular/platform-server": "github:angular/platform-server-builds#378acfaa49bd57aa6c158e391a26713e97ebcaef", + "@angular/router": "github:angular/router-builds#de13b83e8aff93207607e5cde67d79085a5ff1da", + "@angular/service-worker": "github:angular/service-worker-builds#74d513b9b56e966ae2d138bdfb91e7cad5a28208" } } diff --git a/yarn.lock b/yarn.lock index 525270b78950..a0c4b47f8915 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,9 +120,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a": - version "0.0.0-a67b5841243da494fe3cecd486adac1544b2a7f6" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#cd36e1f15d5f4aa1bab2202d33f17f6184484e8a" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#a77422e3464d0cefe58fc384437816ae1d4e8db6": + version "0.0.0-19e3093ab74acad0d21aca43935f2dbd1f2c3c7e" + uid a77422e3464d0cefe58fc384437816ae1d4e8db6 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a77422e3464d0cefe58fc384437816ae1d4e8db6" dependencies: "@angular-devkit/build-angular" "15.0.0-rc.0" "@angular/benchpress" "0.3.0" @@ -233,9 +234,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80": - version "0.0.0-a67b5841243da494fe3cecd486adac1544b2a7f6" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#bfcaac16cd7fe00f33ee916db3d8b7b6989c9d80" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#98c8d24b938eac36acabf7fbbb96e9dae94fbb7f": + version "0.0.0-19e3093ab74acad0d21aca43935f2dbd1f2c3c7e" + uid "98c8d24b938eac36acabf7fbbb96e9dae94fbb7f" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#98c8d24b938eac36acabf7fbbb96e9dae94fbb7f" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From b106ed7ab43dc6e58a09106bf32ee424fb6f8d3d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 21 Oct 2022 16:45:50 +0000 Subject: [PATCH 1055/1388] build: update dependency ng-packagr to v15.0.0-rc.0 --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 7a9ae0c17e42..6a1459fc3d93 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", - "ng-packagr": "15.0.0-next.4", + "ng-packagr": "15.0.0-rc.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "9.1.2", diff --git a/yarn.lock b/yarn.lock index a0c4b47f8915..a339c5cb20e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7770,10 +7770,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0-next.4: - version "15.0.0-next.4" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-next.4.tgz#5a00a6c99efc3946b79d9ec8f9eeb4f247f01cb2" - integrity sha512-6qA5Ymalhw3hDF9JDF+WUdVZE6hiyVT/8QwMALmOQ6vjh61aIfzeeFmXDf3AuahS/inprNl0l85l0jH2qP0rEA== +ng-packagr@15.0.0-rc.0: + version "15.0.0-rc.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-rc.0.tgz#379c49828d19a5a652b1a111a58f5c093174164f" + integrity sha512-EfhfrH3qFteiBpV5GBFguhVlq8RAyuud0pTmMDv/T2ckHCIQJs97GQKGj+E2lwMOi8bQKhfvcgd10uSeHDGp4w== dependencies: "@rollup/plugin-json" "^5.0.0" "@rollup/plugin-node-resolve" "^15.0.0" @@ -7781,7 +7781,7 @@ ng-packagr@15.0.0-next.4: ansi-colors "^4.1.3" autoprefixer "^10.4.12" browserslist "^4.21.4" - cacache "^16.1.3" + cacache "^17.0.0" chokidar "^3.5.3" commander "^9.4.0" dependency-graph "^0.11.0" From 1c87de6d8b0b7f2dca4eeaf16a10f9ac9f268aee Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 21 Oct 2022 16:01:59 -0400 Subject: [PATCH 1056/1388] perf(@angular-devkit/build-angular): avoid extra TypeScript emits with esbuild rebuilds To further improve incremental rebuild performance of the experimental esbuild-based browser application builder, the output of the TypeScript file loader within the Angular compiler plugin are now cached in memory by the input file name and invalidated via the file watching events. This allows an additional TypeScript emit including the associated transformations per input file to be avoided if the file has not changed or has not been affected by other files within the TypeScript program. --- .../browser-esbuild/compiler-plugin.ts | 100 +++++++++++------- 1 file changed, 64 insertions(+), 36 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 1ffc346a62bc..0f70fd42e142 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -8,7 +8,6 @@ import type { CompilerHost, NgtscProgram } from '@angular/compiler-cli'; import { transformAsync } from '@babel/core'; -import * as assert from 'assert'; import type { OnStartResult, OutputFile, @@ -17,9 +16,11 @@ import type { Plugin, PluginBuild, } from 'esbuild'; -import { promises as fs } from 'fs'; -import { platform } from 'os'; -import * as path from 'path'; +import * as assert from 'node:assert'; +import * as fs from 'node:fs/promises'; +import { platform } from 'node:os'; +import * as path from 'node:path'; +import { pathToFileURL } from 'node:url'; import ts from 'typescript'; import angularApplicationPreset from '../../babel/presets/application'; import { requiresLinking } from '../../babel/webpack-loader'; @@ -133,11 +134,13 @@ const WINDOWS_SEP_REGEXP = new RegExp(`\\${path.win32.sep}`, 'g'); export class SourceFileCache extends Map { readonly modifiedFiles = new Set(); readonly babelFileCache = new Map(); + readonly typeScriptFileCache = new Map(); invalidate(files: Iterable): void { this.modifiedFiles.clear(); for (let file of files) { this.babelFileCache.delete(file); + this.typeScriptFileCache.delete(pathToFileURL(file).href); // Normalize separators to allow matching TypeScript Host paths if (USING_WINDOWS) { @@ -355,6 +358,17 @@ export function createCompilerPlugin( previousBuilder = builder; await profileAsync('NG_ANALYZE_PROGRAM', () => angularCompiler.analyzeAsync()); + const affectedFiles = profileSync('NG_FIND_AFFECTED', () => + findAffectedFiles(builder, angularCompiler), + ); + + if (pluginOptions.sourceFileCache) { + for (const affected of affectedFiles) { + pluginOptions.sourceFileCache.typeScriptFileCache.delete( + pathToFileURL(affected.fileName).href, + ); + } + } function* collectDiagnostics(): Iterable { // Collect program level diagnostics @@ -364,7 +378,6 @@ export function createCompilerPlugin( yield* builder.getGlobalDiagnostics(); // Collect source file specific diagnostics - const affectedFiles = findAffectedFiles(builder, angularCompiler); const optimizeFor = affectedFiles.size > 1 ? OptimizeFor.WholeProgram : OptimizeFor.SingleFile; for (const sourceFile of builder.getSourceFiles()) { @@ -434,41 +447,56 @@ export function createCompilerPlugin( async () => { assert.ok(fileEmitter, 'Invalid plugin execution order'); - const typescriptResult = await fileEmitter( - pluginOptions.fileReplacements?.[args.path] ?? args.path, + // The filename is currently used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well as a check for any change of content. + let contents = pluginOptions.sourceFileCache?.typeScriptFileCache.get( + pathToFileURL(args.path).href, ); - if (!typescriptResult) { - // No TS result indicates the file is not part of the TypeScript program. - // If allowJs is enabled and the file is JS then defer to the next load hook. - if (compilerOptions.allowJs && /\.[cm]?js$/.test(args.path)) { - return undefined; + + if (contents === undefined) { + const typescriptResult = await fileEmitter( + pluginOptions.fileReplacements?.[args.path] ?? args.path, + ); + if (!typescriptResult) { + // No TS result indicates the file is not part of the TypeScript program. + // If allowJs is enabled and the file is JS then defer to the next load hook. + if (compilerOptions.allowJs && /\.[cm]?js$/.test(args.path)) { + return undefined; + } + + // Otherwise return an error + return { + errors: [ + { + text: `File '${args.path}' is missing from the TypeScript compilation.`, + notes: [ + { + text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, + }, + ], + }, + ], + }; } - // Otherwise return an error - return { - errors: [ - { - text: `File '${args.path}' is missing from the TypeScript compilation.`, - notes: [ - { - text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, - }, - ], - }, - ], - }; - } + const data = typescriptResult.content ?? ''; + // The pre-transformed data is used as a cache key. Since the cache is memory only, + // the options cannot change and do not need to be represented in the key. If the + // cache is later stored to disk, then the options that affect transform output + // would need to be added to the key as well. + contents = babelDataCache.get(data); + if (contents === undefined) { + const transformedData = await transformWithBabel(args.path, data, pluginOptions); + contents = Buffer.from(transformedData, 'utf-8'); + babelDataCache.set(data, contents); + } - const data = typescriptResult.content ?? ''; - // The pre-transformed data is used as a cache key. Since the cache is memory only, - // the options cannot change and do not need to be represented in the key. If the - // cache is later stored to disk, then the options that affect transform output - // would need to be added to the key as well. - let contents = babelDataCache.get(data); - if (contents === undefined) { - const transformedData = await transformWithBabel(args.path, data, pluginOptions); - contents = Buffer.from(transformedData, 'utf-8'); - babelDataCache.set(data, contents); + pluginOptions.sourceFileCache?.typeScriptFileCache.set( + pathToFileURL(args.path).href, + contents, + ); } return { From 2b27679d9c85d3ffceb923189c4150df5f734c7a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 21 Oct 2022 16:08:21 -0400 Subject: [PATCH 1057/1388] refactor(@angular-devkit/build-angular): show more cumulative metrics for esbuild perf debug output When the `NG_BUILD_DEBUG_PERF` environment variable is used to debug performance of the experimental esbuild-based browser application builder, additional information will be logged for cumulative profiling actions. This includes the count, minimum, maximum, and average. --- .../src/builders/browser-esbuild/profiling.ts | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts index c7a0cceff4b5..82b852e997ee 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/profiling.ts @@ -8,7 +8,7 @@ import { debugPerformance } from '../../utils/environment-options'; -let cumulativeDurations: Map | undefined; +let cumulativeDurations: Map | undefined; export function resetCumulativeDurations(): void { cumulativeDurations?.clear(); @@ -19,20 +19,39 @@ export function logCumulativeDurations(): void { return; } - for (const [name, duration] of cumulativeDurations) { + for (const [name, durations] of cumulativeDurations) { + let total = 0; + let min; + let max; + for (const duration of durations) { + total += duration; + if (min === undefined || duration < min) { + min = duration; + } + if (max === undefined || duration > max) { + max = duration; + } + } + const average = total / durations.length; // eslint-disable-next-line no-console - console.log(`DURATION[${name}]: ${duration.toFixed(9)} seconds`); + console.log( + `DURATION[${name}]: ${total.toFixed(9)}s [count: ${durations.length}; avg: ${average.toFixed( + 9, + )}s; min: ${min?.toFixed(9)}s; max: ${max?.toFixed(9)}s]`, + ); } } function recordDuration(name: string, startTime: bigint, cumulative?: boolean): void { const duration = Number(process.hrtime.bigint() - startTime) / 10 ** 9; if (cumulative) { - cumulativeDurations ??= new Map(); - cumulativeDurations.set(name, (cumulativeDurations.get(name) ?? 0) + duration); + cumulativeDurations ??= new Map(); + const durations = cumulativeDurations.get(name) ?? []; + durations.push(duration); + cumulativeDurations.set(name, durations); } else { // eslint-disable-next-line no-console - console.log(`DURATION[${name}]: ${duration.toFixed(9)} seconds`); + console.log(`DURATION[${name}]: ${duration.toFixed(9)}s`); } } From 3d6428c01aec8e708d521fffd93f9be28c4a697c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 22 Oct 2022 05:23:26 +0000 Subject: [PATCH 1058/1388] build: update actions/upload-artifact action to v3.1.1 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index df5d4ce55793..543c60edd9aa 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -38,7 +38,7 @@ jobs: # Upload the results as artifacts. - name: 'Upload artifact' - uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3.1.0 + uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # tag=v3.1.1 with: name: SARIF file path: results.sarif From e7d46f302e2ccf7238b2bd6c5ca36302fdaa5f6f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 22 Oct 2022 05:23:32 +0000 Subject: [PATCH 1059/1388] build: update all non-major dependencies --- WORKSPACE | 6 +++--- package.json | 2 +- yarn.lock | 32 +++++++++++++++++++------------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 86523398dfeb..40079a8a930e 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "0154b46f350c7941919eaa30a4f2284a0128ac13c706901a5c768a829af49e11", - strip_prefix = "bazel-lib-1.13.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.13.0.tar.gz", + sha256 = "c15e3bdb626973728c375ef78c58fdee27c9b9affea5c9db57c78eafda8395bf", + strip_prefix = "bazel-lib-1.13.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.13.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 6a1459fc3d93..4d736260d61b 100644 --- a/package.json +++ b/package.json @@ -142,7 +142,7 @@ "debug": "^4.1.1", "esbuild": "0.15.12", "esbuild-wasm": "0.15.12", - "eslint": "8.25.0", + "eslint": "8.26.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", diff --git a/yarn.lock b/yarn.lock index a339c5cb20e9..5b5682829e9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1375,10 +1375,10 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@humanwhocodes/config-array@^0.10.5": - version "0.10.7" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc" - integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== +"@humanwhocodes/config-array@^0.11.6": + version "0.11.6" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.6.tgz#6a51d603a3aaf8d4cf45b42b3f2ac9318a4adc4b" + integrity sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1549,7 +1549,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -5067,14 +5067,15 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.25.0: - version "8.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.25.0.tgz#00eb962f50962165d0c4ee3327708315eaa8058b" - integrity sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A== +eslint@8.26.0: + version "8.26.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.26.0.tgz#2bcc8836e6c424c4ac26a5674a70d44d84f2181d" + integrity sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg== dependencies: "@eslint/eslintrc" "^1.3.3" - "@humanwhocodes/config-array" "^0.10.5" + "@humanwhocodes/config-array" "^0.11.6" "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -5090,14 +5091,14 @@ eslint@8.25.0: fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - glob-parent "^6.0.1" + glob-parent "^6.0.2" globals "^13.15.0" - globby "^11.1.0" grapheme-splitter "^1.0.4" 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" @@ -5716,7 +5717,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -6422,6 +6423,11 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" From 040de8012e9e70e898ee6901f1ca0d1bfc0c83ea Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 21 Oct 2022 16:46:35 +0000 Subject: [PATCH 1060/1388] build: lock file maintenance --- yarn.lock | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yarn.lock b/yarn.lock index 5b5682829e9c..74d297f0373a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8093,6 +8093,7 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8103,6 +8104,7 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8122,6 +8124,7 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" + minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -9535,6 +9538,7 @@ sass@1.55.0, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From 82cb04927f45d1eb078dc0b5bfb6c8a8d0f727ae Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 24 Oct 2022 18:32:26 +0000 Subject: [PATCH 1061/1388] docs(@angular/cli): update add long description to analytics command With this change we add a long description to analytics command with the information that is currently contained in https://angular.io/analytics which will be deleted at a later stage. --- .../angular/cli/src/commands/analytics/cli.ts | 6 +++--- .../commands/analytics/long-description.md | 20 +++++++++++++++++++ .../src/commands/config/long-description.md | 2 +- .../e2e/tests/commands/help/help-json.ts | 2 +- 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 packages/angular/cli/src/commands/analytics/long-description.md diff --git a/packages/angular/cli/src/commands/analytics/cli.ts b/packages/angular/cli/src/commands/analytics/cli.ts index 828f2d6cb4c3..bdba1ccafd11 100644 --- a/packages/angular/cli/src/commands/analytics/cli.ts +++ b/packages/angular/cli/src/commands/analytics/cli.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { join } from 'node:path'; import { Argv } from 'yargs'; import { CommandModule, @@ -25,9 +26,8 @@ import { export class AnalyticsCommandModule extends CommandModule implements CommandModuleImplementation { command = 'analytics'; - describe = - 'Configures the gathering of Angular CLI usage metrics. See https://angular.io/cli/usage-analytics-gathering'; - longDescriptionPath?: string; + describe = 'Configures the gathering of Angular CLI usage metrics.'; + longDescriptionPath = join(__dirname, 'long-description.md'); builder(localYargs: Argv): Argv { const subcommands = [ diff --git a/packages/angular/cli/src/commands/analytics/long-description.md b/packages/angular/cli/src/commands/analytics/long-description.md new file mode 100644 index 000000000000..69ee9ad7ee00 --- /dev/null +++ b/packages/angular/cli/src/commands/analytics/long-description.md @@ -0,0 +1,20 @@ +You can help the Angular Team to prioritize features and improvements by permitting the Angular team to send command-line command usage statistics to Google. +The Angular Team does not collect usage statistics unless you explicitly opt in. When installing the Angular CLI you are prompted to allow global collection of usage statistics. +If you say no or skip the prompt, no data is collected. + +### What is collected? + +Usage analytics include the commands and selected flags for each execution. +Usage analytics may include the following information: + +- Your operating system \(macOS, Linux distribution, Windows\) and its version. +- Package manager name and version \(local version only\). +- Node.js version \(local version only\). +- Angular CLI version \(local version only\). +- Command name that was run. +- Workspace information, the number of application and library projects. +- For schematics commands \(add, generate and new\), the schematic collection and name and a list of selected flags. +- For build commands \(build, serve\), the builder name, the number and size of bundles \(initial and lazy\), compilation units, the time it took to build and rebuild, and basic Angular-specific API usage. + +Only Angular owned and developed schematics and builders are reported. +Third-party schematics and builders do not send data to the Angular Team. diff --git a/packages/angular/cli/src/commands/config/long-description.md b/packages/angular/cli/src/commands/config/long-description.md index 78cc49e45662..94ebfca237eb 100644 --- a/packages/angular/cli/src/commands/config/long-description.md +++ b/packages/angular/cli/src/commands/config/long-description.md @@ -10,4 +10,4 @@ while on the command line options can be given dash-case. For further details, see [Workspace Configuration](guide/workspace-config). -For configuration of CLI usage analytics, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering). +For configuration of CLI usage analytics, see [ng analytics](cli/analytics). diff --git a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts index 4711d44e013e..7b3e1c74e6b4 100644 --- a/tests/legacy-cli/e2e/tests/commands/help/help-json.ts +++ b/tests/legacy-cli/e2e/tests/commands/help/help-json.ts @@ -9,7 +9,7 @@ export default async function () { 'Retrieves or sets Angular configuration values in the angular.json file for the workspace.', 'longDescriptionRelativePath': '@angular/cli/src/commands/config/long-description.md', 'longDescription': - 'A workspace has a single CLI configuration file, `angular.json`, at the top level.\nThe `projects` object contains a configuration object for each project in the workspace.\n\nYou can edit the configuration directly in a code editor,\nor indirectly on the command line using this command.\n\nThe configurable property names match command option names,\nexcept that in the configuration file, all names must use camelCase,\nwhile on the command line options can be given dash-case.\n\nFor further details, see [Workspace Configuration](guide/workspace-config).\n\nFor configuration of CLI usage analytics, see [Gathering an Viewing CLI Usage Analytics](cli/usage-analytics-gathering).\n', + 'A workspace has a single CLI configuration file, `angular.json`, at the top level.\nThe `projects` object contains a configuration object for each project in the workspace.\n\nYou can edit the configuration directly in a code editor,\nor indirectly on the command line using this command.\n\nThe configurable property names match command option names,\nexcept that in the configuration file, all names must use camelCase,\nwhile on the command line options can be given dash-case.\n\nFor further details, see [Workspace Configuration](guide/workspace-config).\n\nFor configuration of CLI usage analytics, see [ng analytics](cli/analytics).\n', 'options': [ { 'name': 'global', From 1e4dbfdf4afb03a215db620fb0e0db6f86cdac63 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 24 Oct 2022 14:18:29 +0000 Subject: [PATCH 1062/1388] fix(@angular/cli): skip node.js compatibility checks when running completion A warning at this stage could cause a broken source action (`source <(ng completion script)`) when in the shell init script. Closes #24104 --- packages/angular/cli/bin/ng.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/angular/cli/bin/ng.js b/packages/angular/cli/bin/ng.js index b540e4bcf93f..f5175ea22d29 100755 --- a/packages/angular/cli/bin/ng.js +++ b/packages/angular/cli/bin/ng.js @@ -20,6 +20,16 @@ try { process.title = 'ng'; } +const rawCommandName = process.argv[2]; + +if (rawCommandName === '--get-yargs-completions' || rawCommandName === 'completion') { + // Skip Node.js supported checks when running ng completion. + // A warning at this stage could cause a broken source action (`source <(ng completion script)`) when in the shell init script. + require('./bootstrap'); + + return; +} + // This node version check ensures that extremely old versions of node are not used. // These may not support ES2015 features such as const/let/async/await/etc. // These would then crash with a hard to diagnose error message. From de8d846b98771144c589c644bed3775cd0a93c19 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 24 Oct 2022 09:05:35 +0000 Subject: [PATCH 1063/1388] docs: replace browserslist with AIO link https://angular.io/guide/build#configuring-browser-compatibility will be updated to include additional information. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 2 +- .../build_angular/src/webpack/plugins/typescript.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 0f70fd42e142..6aa8e5065f28 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -236,7 +236,7 @@ export function createCompilerPlugin( notes: [ { text: `To control ECMA version and features use the Browerslist configuration. ' + - 'For more information, see https://github.com/browserslist/browserslist#queries'`, + 'For more information, see https://angular.io/guide/build#configuring-browser-compatibility'`, }, ], }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index 5aaf77f3362e..0d9b3714cdd2 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -35,7 +35,7 @@ export function createIvyPlugin( wco.logger.warn( 'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' + '"false" respectively by the Angular CLI. To control ECMA version and features use the Browerslist configuration. ' + - 'For more information, see https://github.com/browserslist/browserslist', + 'For more information, see https://angular.io/guide/build#configuring-browser-compatibility', ); } From d1977aad28444a1da4a255007352f6acf8f25090 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 24 Oct 2022 18:48:05 +0000 Subject: [PATCH 1064/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 93db6e65175c..c45db3aa5d10 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e + - uses: angular/dev-infra/github-actions/commit-message-based-labels@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e + - uses: angular/dev-infra/github-actions/post-approval-changes@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index d4d0d37821e6..bdde6c145afd 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e + - uses: angular/dev-infra/github-actions/feature-request@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6f990d011594..9bf0b45c9fdb 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@19e3093ab74acad0d21aca43935f2dbd1f2c3c7e + - uses: angular/dev-infra/github-actions/lock-closed@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4d736260d61b..73df200aabb8 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a77422e3464d0cefe58fc384437816ae1d4e8db6", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5e329e398545db34bbfe5ebfba28c9c714e7be2e", "@angular/cdk": "14.2.5", "@angular/common": "15.0.0-rc.0", "@angular/compiler": "15.0.0-rc.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-rc.0", "@angular/localize": "15.0.0-rc.0", "@angular/material": "14.2.5", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#98c8d24b938eac36acabf7fbbb96e9dae94fbb7f", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f6a96b581ce5c44629664888502a5aa40bcf4305", "@angular/platform-browser": "15.0.0-rc.0", "@angular/platform-browser-dynamic": "15.0.0-rc.0", "@angular/platform-server": "15.0.0-rc.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 75fe2d093339..08cd21f666a9 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#66fc8de0548cc9fb0441fa208b866a0dd8f6077c", - "@angular/cdk": "github:angular/cdk-builds#189431dd0820dbb0b860a7aee5ec3d1c2f9882b5", - "@angular/common": "github:angular/common-builds#48408709ef57df822deb2fbe16ef6b8446d26c3e", - "@angular/compiler": "github:angular/compiler-builds#a5ceb97e6bbd14eeea166fd7caeaa727c1c069d2", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#c89f0ed5028b64ea8334cf8a41b1cc093c5b92e9", - "@angular/core": "github:angular/core-builds#8543bb8d3869822a0ede860848e1f2cdcaa9a748", - "@angular/forms": "github:angular/forms-builds#6749415024dcdbf6aaf08e25b93723196336254b", - "@angular/language-service": "github:angular/language-service-builds#b4b28fd031329a5cb5ef13a700e213a0369b072b", - "@angular/localize": "github:angular/localize-builds#8a3d244b61cadd4dba1dcd34cd3aedb56a708050", - "@angular/material": "github:angular/material-builds#a1217deb52e60a82296b7ef9e3eed8ab44096cca", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#de3492dd39c117466336f271b4cbc2b238182bf4", - "@angular/platform-browser": "github:angular/platform-browser-builds#f4aac7ae7e85ab01172fa4f04f7969530cc6ccaa", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ff75a09c8c76e62833f92cc1ddd02a6921d22785", - "@angular/platform-server": "github:angular/platform-server-builds#378acfaa49bd57aa6c158e391a26713e97ebcaef", - "@angular/router": "github:angular/router-builds#de13b83e8aff93207607e5cde67d79085a5ff1da", - "@angular/service-worker": "github:angular/service-worker-builds#74d513b9b56e966ae2d138bdfb91e7cad5a28208" + "@angular/animations": "github:angular/animations-builds#8a6f7f8b90a014acec9377c16b8467606573e389", + "@angular/cdk": "github:angular/cdk-builds#49e7d5ab57421920bd34048b2ba66057dee8aac0", + "@angular/common": "github:angular/common-builds#05c049e04058d038e96dcd6fedde487b1bb6f5d9", + "@angular/compiler": "github:angular/compiler-builds#78f8f033fcc9797909ea030ee182245ef6e2faeb", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#71a1b4d024773713061514e83aae39a704116fa6", + "@angular/core": "github:angular/core-builds#a340ac42170d00e48e4c6093f0247bb3b7cc5ed4", + "@angular/forms": "github:angular/forms-builds#0092444a33d72eb68a48eaedcf1c7d2c2dd3256c", + "@angular/language-service": "github:angular/language-service-builds#8baaa02fdc8c8e8a8fb3990a7d5f4bc5919d1956", + "@angular/localize": "github:angular/localize-builds#962034bd95255c0828a69cfdf1c0292374ecba67", + "@angular/material": "github:angular/material-builds#83871e03f81b723257045aff729036118e03ac4f", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4834663fe6bdd1f25a8c2db4c461ac2aff388da2", + "@angular/platform-browser": "github:angular/platform-browser-builds#19449e090fa213b44d811115f70ea267b122498b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7e0603209a3ad2b2835fa0fe5be42aa3e67ed92c", + "@angular/platform-server": "github:angular/platform-server-builds#c181672729e9e7dd86893a120e634f8862eaa2ce", + "@angular/router": "github:angular/router-builds#8508934b0b3aaa319948a1a77c07c569a3059f2c", + "@angular/service-worker": "github:angular/service-worker-builds#8f51a56d60dfad24fef5ae28276677f53d0b5bbc" } } diff --git a/yarn.lock b/yarn.lock index 74d297f0373a..01c307ed48e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,10 +120,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#a77422e3464d0cefe58fc384437816ae1d4e8db6": - version "0.0.0-19e3093ab74acad0d21aca43935f2dbd1f2c3c7e" - uid a77422e3464d0cefe58fc384437816ae1d4e8db6 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#a77422e3464d0cefe58fc384437816ae1d4e8db6" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5e329e398545db34bbfe5ebfba28c9c714e7be2e": + version "0.0.0-329aaf4c0225ab82d4914552e4a6ffa8db82faa3" + uid "5e329e398545db34bbfe5ebfba28c9c714e7be2e" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5e329e398545db34bbfe5ebfba28c9c714e7be2e" dependencies: "@angular-devkit/build-angular" "15.0.0-rc.0" "@angular/benchpress" "0.3.0" @@ -234,10 +234,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#98c8d24b938eac36acabf7fbbb96e9dae94fbb7f": - version "0.0.0-19e3093ab74acad0d21aca43935f2dbd1f2c3c7e" - uid "98c8d24b938eac36acabf7fbbb96e9dae94fbb7f" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#98c8d24b938eac36acabf7fbbb96e9dae94fbb7f" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#f6a96b581ce5c44629664888502a5aa40bcf4305": + version "0.0.0-329aaf4c0225ab82d4914552e4a6ffa8db82faa3" + uid f6a96b581ce5c44629664888502a5aa40bcf4305 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f6a96b581ce5c44629664888502a5aa40bcf4305" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From ca7ca1bdfd55842ec87b61b063f5cadb1c91005d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 25 Oct 2022 12:34:04 +0000 Subject: [PATCH 1065/1388] fix(@angular/cli): disable version check during auto completion This causes sub broken DX ``` ng bui[TAB]Your global Angular CLI version (14.2.6) is greater than your local version (14.1.3). The local Angular CLI version is used. To disable this warning use "ng config -g cli.warnings.versionMismatch false". ld --conf[TAB]Your global Angular CLI version (14.2.6) is greater than your local version (14.1.3). The local Angular CLI version is used. To disable this warning use "ng config -g cli.warnings.versionMismatch false". iguration dev[TAB]Your global Angular CLI version (14.2.6) is greater than your local version (14.1.3). The local Angular CLI version is used. To disable this warning use "ng config -g cli.warnings.versionMismatch false". elopment ``` Closes #24133 --- packages/angular/cli/lib/init.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 401fb06485a2..0ec6c94c071a 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -88,7 +88,11 @@ let forceExit = false; } // When using the completion command, don't show the warning as otherwise this will break completion. - if (isGlobalGreater && rawCommandName !== 'completion') { + if ( + isGlobalGreater && + rawCommandName !== '--get-yargs-completions' && + rawCommandName !== 'completion' + ) { // If using the update command and the global version is greater, use the newer update command // This allows improvements in update to be used in older versions that do not have bootstrapping if ( From 62121f89abce54e0a1c2b816cdd32b57f2b5a5d1 Mon Sep 17 00:00:00 2001 From: Felix Hamann Date: Tue, 25 Oct 2022 10:22:37 +0200 Subject: [PATCH 1066/1388] feat(@schematics/angular): add sideEffects:false to library package.json --- .../angular/library/files/package.json.template | 5 +++-- packages/schematics/angular/library/index_spec.ts | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/schematics/angular/library/files/package.json.template b/packages/schematics/angular/library/files/package.json.template index dde7d4962122..1d50c8cbcc34 100644 --- a/packages/schematics/angular/library/files/package.json.template +++ b/packages/schematics/angular/library/files/package.json.template @@ -7,5 +7,6 @@ }, "dependencies": { "tslib": "^<%= tsLibLatestVersion %>" - } -} \ No newline at end of file + }, + "sideEffects": false +} diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 8e5cc7d1e398..7a009b6ac236 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -126,6 +126,14 @@ describe('Library Schematic', () => { expect(fileContent.peerDependencies['@angular/core']).toBe(`^${angularVersion}`); }); + it('should add sideEffects: false flag to package.json named "foo"', async () => { + const tree = await schematicRunner + .runSchematicAsync('library', defaultOptions, workspaceTree) + .toPromise(); + const fileContent = getFileContent(tree, '/projects/foo/package.json'); + expect(fileContent).toMatch(/"sideEffects": false/); + }); + it('should create a README.md named "foo"', async () => { const tree = await schematicRunner .runSchematicAsync('library', defaultOptions, workspaceTree) From 60086dbd016f856f9944224e8bfafdb453b82e20 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 25 Oct 2022 09:52:00 -0400 Subject: [PATCH 1067/1388] perf(@angular-devkit/build-angular): avoid template diagnostics for declaration files in esbuild builder The experimental esbuild-based browser application builder will now avoid trying to query the Angular Compiler for template diagnostics when a TypeScript source file is a declaration file (`.d.ts`). This avoids the overhead of the in-memory diagnostics caching logic as well as any Angular Compiler logic to determine if the file has any template diagnostics. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 6aa8e5065f28..ac37bff3df7e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -398,6 +398,11 @@ export function createCompilerPlugin( true, ); + // Declaration files cannot have template diagnostics + if (sourceFile.isDeclarationFile) { + continue; + } + // Only request Angular template diagnostics for affected files to avoid // overhead of template diagnostics for unchanged files. if (affectedFiles.has(sourceFile)) { From 9260087bf7980fe4e7e216b7ddbadb2344022112 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 25 Oct 2022 12:04:25 -0400 Subject: [PATCH 1068/1388] fix(@angular/cli): exclude `@angular/material@7.x` from ng add package discovery `@angular/material@7.x` uses unbounded ranges for its framework peer dependencies. This can cause `ng add` to pick these versions of the package if the newer versions are not compatible since the peer dependency ranges would match any newer stable framework version. --- packages/angular/cli/src/commands/add/cli.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index e861a45ab76f..c5aabc134031 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -50,6 +50,8 @@ interface AddCommandArgs extends SchematicsCommandArgs { const packageVersionExclusions: Record = { // @angular/localize@9.x versions do not have peer dependencies setup '@angular/localize': '9.x', + // @angular/material@7.x versions have unbounded peer dependency ranges (>=7.0.0) + '@angular/material': '7.x', }; export class AddCommandModule From 56cb7679dbfa9614297b2d126602274d9f56b847 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 25 Oct 2022 12:30:08 -0400 Subject: [PATCH 1069/1388] fix(@angular/cli): allow `ng add` to find prerelease versions when CLI is prerelease When the CLI is a prerelease version, the `ng add` command will now consider the use of prerelease versions of requested packages. Without this behavior, attempting to install a package without a version specifier (e.g., `ng add @angular/material`) will install an older stable version of the requested package instead of the expected prerelease version compatible with the prerelease Angular project. --- packages/angular/cli/src/commands/add/cli.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index c5aabc134031..5af1d18ec87d 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -34,6 +34,7 @@ import { import { askConfirmation } from '../../utilities/prompt'; import { Spinner } from '../../utilities/spinner'; import { isTTY } from '../../utilities/tty'; +import { VERSION } from '../../utilities/version'; interface AddCommandArgs extends SchematicsCommandArgs { collection: string; @@ -178,11 +179,15 @@ export class AddCommandModule ); } else if (!latestManifest || (await this.hasMismatchedPeer(latestManifest))) { // 'latest' is invalid so search for most recent matching package + + // Allow prelease versions if the CLI itself is a prerelease + const allowPrereleases = prerelease(VERSION.full); + const versionExclusions = packageVersionExclusions[packageMetadata.name]; const versionManifests = Object.values(packageMetadata.versions).filter( (value: PackageManifest) => { // Prerelease versions are not stable and should not be considered by default - if (prerelease(value.version)) { + if (!allowPrereleases && prerelease(value.version)) { return false; } // Deprecated versions should not be used or considered @@ -198,7 +203,8 @@ export class AddCommandModule }, ); - versionManifests.sort((a, b) => compare(a.version, b.version, true)); + // Sort in reverse SemVer order so that the newest compatible version is chosen + versionManifests.sort((a, b) => compare(b.version, a.version, true)); let newIdentifier; for (const versionManifest of versionManifests) { From c3a38713124051b1f71850057f6a0195c3e57bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnhan=20G=C3=BClsoy?= Date: Tue, 25 Oct 2022 09:27:05 -0700 Subject: [PATCH 1070/1388] refactor: Make Logger.forEach compatible with both rxjs 6 and 7. Some build environments build angular with rxjs 7, and see build failures due to this file. --- packages/angular_devkit/core/src/logger/logger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/core/src/logger/logger.ts b/packages/angular_devkit/core/src/logger/logger.ts index 77ef48ef1763..4eb090cdb129 100644 --- a/packages/angular_devkit/core/src/logger/logger.ts +++ b/packages/angular_devkit/core/src/logger/logger.ts @@ -164,7 +164,7 @@ export class Logger extends Observable implements LoggerApi { override forEach( next: (value: LogEntry) => void, - promiseCtor?: PromiseConstructorLike, + promiseCtor: PromiseConstructorLike = Promise, ): Promise { return this._observable.forEach(next, promiseCtor); } From f4189e498ee08b3f05287c7051fc109a7668fe08 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 25 Oct 2022 16:51:05 +0000 Subject: [PATCH 1071/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c45db3aa5d10..18f8eec3263b 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 + - uses: angular/dev-infra/github-actions/post-approval-changes@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index bdde6c145afd..5c20d6a248dd 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 + - uses: angular/dev-infra/github-actions/feature-request@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 9bf0b45c9fdb..298b757764bf 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@329aaf4c0225ab82d4914552e4a6ffa8db82faa3 + - uses: angular/dev-infra/github-actions/lock-closed@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 73df200aabb8..a9388ac9f5f9 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5e329e398545db34bbfe5ebfba28c9c714e7be2e", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7409e8d53f270f57ba27671ac69cd088d12d2ce2", "@angular/cdk": "14.2.5", "@angular/common": "15.0.0-rc.0", "@angular/compiler": "15.0.0-rc.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-rc.0", "@angular/localize": "15.0.0-rc.0", "@angular/material": "14.2.5", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f6a96b581ce5c44629664888502a5aa40bcf4305", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ad8fa4794060deeea034e21af4cd166fde772abb", "@angular/platform-browser": "15.0.0-rc.0", "@angular/platform-browser-dynamic": "15.0.0-rc.0", "@angular/platform-server": "15.0.0-rc.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 08cd21f666a9..8a177438f684 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#8a6f7f8b90a014acec9377c16b8467606573e389", - "@angular/cdk": "github:angular/cdk-builds#49e7d5ab57421920bd34048b2ba66057dee8aac0", - "@angular/common": "github:angular/common-builds#05c049e04058d038e96dcd6fedde487b1bb6f5d9", - "@angular/compiler": "github:angular/compiler-builds#78f8f033fcc9797909ea030ee182245ef6e2faeb", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#71a1b4d024773713061514e83aae39a704116fa6", - "@angular/core": "github:angular/core-builds#a340ac42170d00e48e4c6093f0247bb3b7cc5ed4", - "@angular/forms": "github:angular/forms-builds#0092444a33d72eb68a48eaedcf1c7d2c2dd3256c", - "@angular/language-service": "github:angular/language-service-builds#8baaa02fdc8c8e8a8fb3990a7d5f4bc5919d1956", - "@angular/localize": "github:angular/localize-builds#962034bd95255c0828a69cfdf1c0292374ecba67", - "@angular/material": "github:angular/material-builds#83871e03f81b723257045aff729036118e03ac4f", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#4834663fe6bdd1f25a8c2db4c461ac2aff388da2", - "@angular/platform-browser": "github:angular/platform-browser-builds#19449e090fa213b44d811115f70ea267b122498b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7e0603209a3ad2b2835fa0fe5be42aa3e67ed92c", - "@angular/platform-server": "github:angular/platform-server-builds#c181672729e9e7dd86893a120e634f8862eaa2ce", - "@angular/router": "github:angular/router-builds#8508934b0b3aaa319948a1a77c07c569a3059f2c", - "@angular/service-worker": "github:angular/service-worker-builds#8f51a56d60dfad24fef5ae28276677f53d0b5bbc" + "@angular/animations": "github:angular/animations-builds#e04e57fde817f66a192b2afb68ee3cce611b9e15", + "@angular/cdk": "github:angular/cdk-builds#6f51ce8d5003c75ef298603af5e32e04b54f2cd8", + "@angular/common": "github:angular/common-builds#72237bf16b8b8db061cbf166ccccdff655cba50b", + "@angular/compiler": "github:angular/compiler-builds#01a513b9f28f1bd3644b0f04a33fc8e7a8f7cf6a", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#67504c7ec608b730dc5cdba21419628a9ca5e50b", + "@angular/core": "github:angular/core-builds#77ea287d62ecef23beb4cc97710ae31a29d0ca93", + "@angular/forms": "github:angular/forms-builds#796497b7fb4b4cd03afd5c5651d9e900d6f68290", + "@angular/language-service": "github:angular/language-service-builds#a430481b33f2b5fa64e5864b43193a572766dc71", + "@angular/localize": "github:angular/localize-builds#286c9afb0654412165dc7d6b49d98b4d53a4c359", + "@angular/material": "github:angular/material-builds#17cda8d14c042222388b4848572a951655e6df36", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#69f566666eb9483ae190a0476be0f4e55147a0ae", + "@angular/platform-browser": "github:angular/platform-browser-builds#5c24960807dd63c55c45b9ae453cc3e7413ae7e3", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#4015aef25542c6e89d6f679e5feb892c0a80125b", + "@angular/platform-server": "github:angular/platform-server-builds#5c18c657bd1447d9ec8988bb36065f092526b849", + "@angular/router": "github:angular/router-builds#da45fa9c3bd50787f139171f7df86b4f7d7b0007", + "@angular/service-worker": "github:angular/service-worker-builds#66cae64e824209a86befe90bac5bcf58c1f4834a" } } diff --git a/yarn.lock b/yarn.lock index 01c307ed48e0..fb1b015e683f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,10 +120,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5e329e398545db34bbfe5ebfba28c9c714e7be2e": - version "0.0.0-329aaf4c0225ab82d4914552e4a6ffa8db82faa3" - uid "5e329e398545db34bbfe5ebfba28c9c714e7be2e" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5e329e398545db34bbfe5ebfba28c9c714e7be2e" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#7409e8d53f270f57ba27671ac69cd088d12d2ce2": + version "0.0.0-f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7" + uid "7409e8d53f270f57ba27671ac69cd088d12d2ce2" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7409e8d53f270f57ba27671ac69cd088d12d2ce2" dependencies: "@angular-devkit/build-angular" "15.0.0-rc.0" "@angular/benchpress" "0.3.0" @@ -234,10 +234,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#f6a96b581ce5c44629664888502a5aa40bcf4305": - version "0.0.0-329aaf4c0225ab82d4914552e4a6ffa8db82faa3" - uid f6a96b581ce5c44629664888502a5aa40bcf4305 - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f6a96b581ce5c44629664888502a5aa40bcf4305" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#ad8fa4794060deeea034e21af4cd166fde772abb": + version "0.0.0-f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7" + uid ad8fa4794060deeea034e21af4cd166fde772abb + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ad8fa4794060deeea034e21af4cd166fde772abb" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From ba62f8043a17587644db886fedd466a5d00b60f1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 25 Oct 2022 14:19:24 +0000 Subject: [PATCH 1072/1388] build: update all non-major dependencies --- package.json | 4 +- .../angular_devkit/benchmark/package.json | 2 +- yarn.lock | 107 ++++++++++-------- 3 files changed, 60 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index a9388ac9f5f9..1b85b8bd4852 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.40.1", - "@typescript-eslint/parser": "5.40.1", + "@typescript-eslint/eslint-plugin": "5.41.0", + "@typescript-eslint/parser": "5.41.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/packages/angular_devkit/benchmark/package.json b/packages/angular_devkit/benchmark/package.json index f1be84cb45ce..34e781d1bc24 100644 --- a/packages/angular_devkit/benchmark/package.json +++ b/packages/angular_devkit/benchmark/package.json @@ -12,7 +12,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", - "pidusage": "3.0.1", + "pidusage": "3.0.2", "pidtree": "0.6.0", "rxjs": "6.6.7", "tree-kill": "^1.2.0", diff --git a/yarn.lock b/yarn.lock index fb1b015e683f..076218637d7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2478,86 +2478,86 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.1.tgz#3203a6ff396b1194083faaa6e5110c401201d7d5" - integrity sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg== - dependencies: - "@typescript-eslint/scope-manager" "5.40.1" - "@typescript-eslint/type-utils" "5.40.1" - "@typescript-eslint/utils" "5.40.1" +"@typescript-eslint/eslint-plugin@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz#f8eeb1c6bb2549f795f3ba71aec3b38d1ab6b1e1" + integrity sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA== + dependencies: + "@typescript-eslint/scope-manager" "5.41.0" + "@typescript-eslint/type-utils" "5.41.0" + "@typescript-eslint/utils" "5.41.0" debug "^4.3.4" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.40.1.tgz#e7f8295dd8154d0d37d661ddd8e2f0ecfdee28dd" - integrity sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg== +"@typescript-eslint/parser@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.41.0.tgz#0414a6405007e463dc527b459af1f19430382d67" + integrity sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA== dependencies: - "@typescript-eslint/scope-manager" "5.40.1" - "@typescript-eslint/types" "5.40.1" - "@typescript-eslint/typescript-estree" "5.40.1" + "@typescript-eslint/scope-manager" "5.41.0" + "@typescript-eslint/types" "5.41.0" + "@typescript-eslint/typescript-estree" "5.41.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.40.1.tgz#a7a5197dfd234622a2421ea590ee0ccc02e18dfe" - integrity sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg== +"@typescript-eslint/scope-manager@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz#28e3a41d626288d0628be14cf9de8d49fc30fadf" + integrity sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ== dependencies: - "@typescript-eslint/types" "5.40.1" - "@typescript-eslint/visitor-keys" "5.40.1" + "@typescript-eslint/types" "5.41.0" + "@typescript-eslint/visitor-keys" "5.41.0" -"@typescript-eslint/type-utils@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.40.1.tgz#091e4ce3bebbdb68f4980bae9dee2e4e1725f601" - integrity sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q== +"@typescript-eslint/type-utils@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz#2371601171e9f26a4e6da918a7913f7266890cdf" + integrity sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA== dependencies: - "@typescript-eslint/typescript-estree" "5.40.1" - "@typescript-eslint/utils" "5.40.1" + "@typescript-eslint/typescript-estree" "5.41.0" + "@typescript-eslint/utils" "5.41.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.40.1.tgz#de37f4f64de731ee454bb2085d71030aa832f749" - integrity sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw== +"@typescript-eslint/types@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.41.0.tgz#6800abebc4e6abaf24cdf220fb4ce28f4ab09a85" + integrity sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA== -"@typescript-eslint/typescript-estree@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.1.tgz#9a7d25492f02c69882ce5e0cd1857b0c55645d72" - integrity sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA== +"@typescript-eslint/typescript-estree@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz#bf5c6b3138adbdc73ba4871d060ae12c59366c61" + integrity sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg== dependencies: - "@typescript-eslint/types" "5.40.1" - "@typescript-eslint/visitor-keys" "5.40.1" + "@typescript-eslint/types" "5.41.0" + "@typescript-eslint/visitor-keys" "5.41.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.40.1.tgz#3204fb73a559d3b7bab7dc9d3c44487c2734a9ca" - integrity sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw== +"@typescript-eslint/utils@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.41.0.tgz#f41ae5883994a249d00b2ce69f4188f3a23fa0f9" + integrity sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.40.1" - "@typescript-eslint/types" "5.40.1" - "@typescript-eslint/typescript-estree" "5.40.1" + "@typescript-eslint/scope-manager" "5.41.0" + "@typescript-eslint/types" "5.41.0" + "@typescript-eslint/typescript-estree" "5.41.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.40.1": - version "5.40.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.1.tgz#f3d2bf5af192f4432b84cec6fdcb387193518754" - integrity sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw== +"@typescript-eslint/visitor-keys@5.41.0": + version "5.41.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz#d3510712bc07d5540160ed3c0f8f213b73e3bcd9" + integrity sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw== dependencies: - "@typescript-eslint/types" "5.40.1" + "@typescript-eslint/types" "5.41.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -8596,7 +8596,14 @@ pidtree@0.6.0, pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pidusage@3.0.1, pidusage@^3.0.0: +pidusage@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.2.tgz#6faa5402b2530b3af2cf93d13bcf202889724a53" + integrity sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w== + dependencies: + safe-buffer "^5.2.1" + +pidusage@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.1.tgz#b8383319aca2ed810d1bcc4207c1c5c377d94f5f" integrity sha512-/UlE6DQIe6yuDvm3v6756U0ErEsj60FLQTRZ4qPQF9b5yZKhf4c0llzD0tZpyE03nn8HQoLniFgKsL0ABB3nCg== From 0fcc603ae7945e5a4eb9afebce42597b33a8f7aa Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 26 Oct 2022 10:02:28 -0400 Subject: [PATCH 1073/1388] fix(@angular-devkit/build-angular): issue dev-server support warning when using esbuild builder The dev-server builder currently does not support the experimental esbuild-based browser application builder and will use the Webpack-based builder instead. To better inform users of this behavior, a warning is now issued upon executing the dev-server. --- .../build_angular/src/builders/dev-server/index.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts index bf8b74cf315b..637f0f75229e 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/index.ts @@ -141,6 +141,16 @@ export function serveWebpackBrowser( const cacheOptions = normalizeCacheOptions(metadata, context.workspaceRoot); const browserName = await context.getBuilderNameForTarget(browserTarget); + + // Issue a warning that the dev-server does not currently support the experimental esbuild- + // based builder and will use Webpack. + if (browserName === '@angular-devkit/build-angular:browser-esbuild') { + logger.warn( + 'WARNING: The experimental esbuild-based builder is not currently supported ' + + 'by the dev-server. The stable Webpack-based builder will be used instead.', + ); + } + const browserOptions = (await context.validateOptions( { ...rawBrowserOptions, From 3ea658818ddb1c13f81a1b1f6f0377b4f3b28ba9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 26 Oct 2022 08:22:38 +0000 Subject: [PATCH 1074/1388] fix(@schematics/angular): remove TypeScript target from universal schematic This is no longer needed due to the recent changes in the CLI which always use ES2022. --- .../angular/universal/files/root/tsconfig.server.json.template | 1 - packages/schematics/angular/universal/index_spec.ts | 2 -- 2 files changed, 3 deletions(-) diff --git a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template index e073793ceead..3bbf001a5b1c 100644 --- a/packages/schematics/angular/universal/files/root/tsconfig.server.json.template +++ b/packages/schematics/angular/universal/files/root/tsconfig.server.json.template @@ -3,7 +3,6 @@ "extends": "./<%= tsConfigExtends %>", "compilerOptions": { "outDir": "<%= relativePathToWorkspaceRoot %>/out-tsc/server", - "target": "es2019", "types": [ "node"<% if (hasLocalizePackage) { %>, "@angular/localize"<% } %> diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 9f276e011b5c..22d14694d06c 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -94,7 +94,6 @@ describe('Universal Schematic', () => { extends: './tsconfig.app.json', compilerOptions: { outDir: './out-tsc/server', - target: 'es2019', types: ['node'], }, files: ['src/main.server.ts'], @@ -116,7 +115,6 @@ describe('Universal Schematic', () => { extends: './tsconfig.app.json', compilerOptions: { outDir: '../../out-tsc/server', - target: 'es2019', types: ['node'], }, files: ['src/main.server.ts'], From e21ee326e018e8292bc2e3f8b51645c3622c6fbf Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 25 Oct 2022 13:46:04 -0400 Subject: [PATCH 1075/1388] fix(@angular-devkit/build-angular): ignore cache path when watching with esbuild builder When using the experimental esbuild-based browser application builder in watch mode, the base cache path defined within the `angular.json` file will now be ignored when detecting file changes. While the builder currently does not persist cache to disk, it may in the future and other builders may currently be run in parallel. --- .../build_angular/src/builders/browser-esbuild/index.ts | 4 ++-- .../build_angular/src/builders/browser-esbuild/options.ts | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 3103dff14f63..56db48229dab 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -446,8 +446,8 @@ export async function* buildEsbuildBrowser( const watcher = createWatcher({ polling: typeof initialOptions.poll === 'number', interval: initialOptions.poll, - // Ignore the output path to avoid infinite rebuild cycles - ignored: [normalizedOptions.outputPath], + // Ignore the output and cache paths to avoid infinite rebuild cycles + ignored: [normalizedOptions.outputPath, normalizedOptions.cacheOptions.basePath], }); // Temporarily watch the entire project diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 29f86f867320..7a36796a95a2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -9,6 +9,7 @@ import { BuilderContext } from '@angular-devkit/architect'; import * as path from 'path'; import { normalizeAssetPatterns, normalizeOptimization, normalizeSourceMaps } from '../../utils'; +import { normalizeCacheOptions } from '../../utils/normalize-cache'; import { normalizePolyfills } from '../../utils/normalize-polyfills'; import { generateEntryPoints } from '../../utils/package-chunk-sort'; import { getIndexInputFile, getIndexOutputFile } from '../../utils/webpack-browser-config'; @@ -39,7 +40,9 @@ export async function normalizeOptions( workspaceRoot, (projectMetadata.sourceRoot as string | undefined) ?? 'src', ); - // Normalize options + + const cacheOptions = normalizeCacheOptions(projectMetadata, workspaceRoot); + const mainEntryPoint = path.join(workspaceRoot, options.main); // Currently esbuild do not support multiple files per entry-point @@ -145,6 +148,7 @@ export async function normalizeOptions( return { advancedOptimizations: buildOptimizer, baseHref, + cacheOptions, crossOrigin, externalDependencies, poll, From 38485a274abc0ac1554e6d01886b14aa86db0ccc Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 26 Oct 2022 09:04:59 +0000 Subject: [PATCH 1076/1388] build: update github/codeql-action action to v2.1.29 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 543c60edd9aa..918deacde6ea 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@cc7986c02bac29104a72998e67239bb5ee2ee110 # tag=v2.1.28 + uses: github/codeql-action/upload-sarif@ec3cf9c605b848da5f1e41e8452719eb1ccfb9a6 # tag=v2.1.29 with: sarif_file: results.sarif From 8209dbb3f2981008699f1cac3a37218a037f3ca9 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 26 Oct 2022 11:02:02 -0700 Subject: [PATCH 1077/1388] docs: release notes for the v14.2.7 release --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f4427bdc5c3..5908f0b28ef8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ + + +# 14.2.7 (2022-10-26) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [91b5bcbb3](https://github.com/angular/angular-cli/commit/91b5bcbb31715a3c2e183e264ebd5ec1188d5437) | fix | disable version check during auto completion | +| [02a3d7b71](https://github.com/angular/angular-cli/commit/02a3d7b715f4069650389ba26a3601747e67d9c2) | fix | skip node.js compatibility checks when running completion | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [bebed9df8](https://github.com/angular/angular-cli/commit/bebed9df834d01f72753aa0e60dc104f1781bd67) | fix | issue dev-server support warning when using esbuild builder | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.0.0-rc.0 (2022-10-20) From 0211886aa4ea2c3efa1c7c0609dcc17363ae3bde Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 26 Oct 2022 13:42:00 -0700 Subject: [PATCH 1078/1388] docs: release notes for the v15.0.0-rc.1 release --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5908f0b28ef8..18329f6d3080 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ + + +# 15.0.0-rc.1 (2022-10-26) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | +| [83524f625](https://github.com/angular/angular-cli/commit/83524f62533f9a6bda0c1dbc76c6b16e730a7397) | fix | allow `ng add` to find prerelease versions when CLI is prerelease | +| [948cc4da5](https://github.com/angular/angular-cli/commit/948cc4da5b85b0e788f641ce6d8a51290661c54d) | fix | disable version check during auto completion | +| [1a584364e](https://github.com/angular/angular-cli/commit/1a584364e70cafd84770ef45f3da9ad58a46083f) | fix | exclude `@angular/material@7.x` from ng add package discovery | +| [952fe7fbc](https://github.com/angular/angular-cli/commit/952fe7fbcf411b6e141fa38f6b7ee6ea5e8aa2ce) | fix | skip node.js compatibility checks when running completion | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | +| [4e69e8050](https://github.com/angular/angular-cli/commit/4e69e80501dd2a9394b7df4518e0d6b0f2ebb7d9) | fix | add `@angular/localize` as type when localize package is installed | +| [316a50d75](https://github.com/angular/angular-cli/commit/316a50d75e45962ea3efe4108aa48d9479245dd5) | fix | remove TypeScript target from universal schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [0ee7625d6](https://github.com/angular/angular-cli/commit/0ee7625d6b4bd84be6fca0df82f3e74e4b94728c) | fix | ignore cache path when watching with esbuild builder | +| [84f1f638a](https://github.com/angular/angular-cli/commit/84f1f638addb6eaa255af48ea61e1436eb49d32e) | fix | issue dev-server support warning when using esbuild builder | +| [919fe2148](https://github.com/angular/angular-cli/commit/919fe2148885c44655ce36085768b1eab2c8c246) | perf | avoid extra TypeScript emits with esbuild rebuilds | +| [92145c4a7](https://github.com/angular/angular-cli/commit/92145c4a7d2c835b703319676bafd8ea3b4a19f0) | perf | avoid template diagnostics for declaration files in esbuild builder | + +## Special Thanks + +Alan Agius, Charles Lyding and Günhan Gülsoy + + + # 14.2.7 (2022-10-26) From 65a0983a416067d160103ce244a580cf04929905 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 27 Oct 2022 21:25:15 +0200 Subject: [PATCH 1079/1388] =?UTF-8?q?fix(@angular/cli):=20exclude=20`@angu?= =?UTF-8?q?lar/localize@<10.0.0`=20from=20ng=20add=20pa=E2=80=A6=20(#24152?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(@angular/cli): exclude `@angular/localize@<10.0.0` from ng add package discovery `@angular/localize@<10.0.0` has no peer dependencies. This can cause `ng add` to pick these versions of the package if the newer versions. See: https://app.circleci.com/pipelines/github/angular/angular-cli/27402/workflows/faa64532-541a-4bea-b599-3c53afe42019/jobs/364822 ``` Test Process error Error: Process exit error - "ng add @angular/localize --skip-confirmation": 1... STDOUT: STDERR: npm version 7.4.0 detected. When using npm 7 with the Angular CLI, npm version 7.5.6 or higher is recommended. - Determining package manager... ℹ Using package manager: npm - Searching for compatible package version... ✔ Found compatible package version: @angular/localize@10.0.0-next.7. - Loading package information from registry... ✔ Package information loaded. - Installing packages... ✔ Packages successfully installed. NOT SUPPORTED: keyword "id", use "$id" for schema ID ``` * fixup! fix(@angular/cli): exclude `@angular/localize@<10.0.0` from ng add package discovery Co-authored-by: Charles <19598772+clydin@users.noreply.github.com> Co-authored-by: Charles <19598772+clydin@users.noreply.github.com> --- packages/angular/cli/src/commands/add/cli.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index 5af1d18ec87d..e0d67391127f 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -11,7 +11,7 @@ import { NodePackageDoesNotSupportSchematics } from '@angular-devkit/schematics/ import { createRequire } from 'module'; import npa from 'npm-package-arg'; import { dirname, join } from 'path'; -import { compare, intersects, prerelease, satisfies, valid } from 'semver'; +import { Range, compare, intersects, prerelease, satisfies, valid } from 'semver'; import { Argv } from 'yargs'; import { PackageManager } from '../../../lib/config/workspace-schema'; import { @@ -48,10 +48,10 @@ interface AddCommandArgs extends SchematicsCommandArgs { * when attempting to find a compatible version for a package. * The key is a package name and the value is a SemVer range of versions to exclude. */ -const packageVersionExclusions: Record = { - // @angular/localize@9.x versions do not have peer dependencies setup - '@angular/localize': '9.x', - // @angular/material@7.x versions have unbounded peer dependency ranges (>=7.0.0) +const packageVersionExclusions: Record = { + // @angular/localize@9.x and earlier versions as well as @angular/localize@10.0 prereleases do not have peer dependencies setup. + '@angular/localize': '<10.0.0', + // @angular/material@7.x versions have unbounded peer dependency ranges (>=7.0.0). '@angular/material': '7.x', }; @@ -195,7 +195,10 @@ export class AddCommandModule return false; } // Excluded package versions should not be considered - if (versionExclusions && satisfies(value.version, versionExclusions)) { + if ( + versionExclusions && + satisfies(value.version, versionExclusions, { includePrerelease: true }) + ) { return false; } From 503682766fa80bf324462ee700b86b2f477413ef Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 27 Oct 2022 16:49:46 +0000 Subject: [PATCH 1080/1388] build: update all non-major dependencies --- WORKSPACE | 10 +-- package.json | 10 +-- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 61 +++++++++++++++---- 5 files changed, 63 insertions(+), 24 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 40079a8a930e..6e2aee400592 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "c29944ba9b0b430aadcaf3bf2570fece6fc5ebfb76df145c6cdad40d65c20811", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.0/rules_nodejs-5.7.0.tar.gz"], + sha256 = "5aae76dced38f784b58d9776e4ab12278bc156a9ed2b1d9fcd3e39921dc88fda", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.1/rules_nodejs-5.7.1.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "c15e3bdb626973728c375ef78c58fdee27c9b9affea5c9db57c78eafda8395bf", - strip_prefix = "bazel-lib-1.13.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.13.1.tar.gz", + sha256 = "9305799c6d9e425e6b73270a0f9eb0aa1082050823a7eefad95edcece545e77b", + strip_prefix = "bazel-lib-1.14.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.14.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 1b85b8bd4852..b1129dc81aee 100644 --- a/package.json +++ b/package.json @@ -82,18 +82,18 @@ "@angular/router": "15.0.0-rc.0", "@angular/service-worker": "15.0.0-rc.0", "@babel/core": "7.19.6", - "@babel/generator": "7.19.6", + "@babel/generator": "7.20.0", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.19.4", - "@babel/runtime": "7.19.4", + "@babel/runtime": "7.20.0", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.7.0", - "@bazel/jasmine": "5.7.0", + "@bazel/concatjs": "5.7.1", + "@bazel/jasmine": "5.7.1", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.19", "@types/babel__template": "7.4.1", @@ -178,7 +178,7 @@ "npm-package-arg": "9.1.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.3", + "pacote": "15.0.4", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 2add2f07bdea..18f05a9c3351 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.3", + "pacote": "15.0.4", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ec3383610eb6..a21b197ba2a0 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,13 +11,13 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.19.6", - "@babel/generator": "7.19.6", + "@babel/generator": "7.20.0", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.19.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.19.4", - "@babel/runtime": "7.19.4", + "@babel/runtime": "7.20.0", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", diff --git a/yarn.lock b/yarn.lock index 076218637d7b..41ac01f6a848 100644 --- a/yarn.lock +++ b/yarn.lock @@ -368,7 +368,16 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.19.6", "@babel/generator@^7.18.9", "@babel/generator@^7.19.3", "@babel/generator@^7.19.6": +"@babel/generator@7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.0.tgz#0bfc5379e0efb05ca6092091261fcdf7ec36249d" + integrity sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w== + dependencies: + "@babel/types" "^7.20.0" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/generator@^7.18.9", "@babel/generator@^7.19.3", "@babel/generator@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.6.tgz#9e481a3fe9ca6261c972645ae3904ec0f9b34a1d" integrity sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA== @@ -1215,6 +1224,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.0.tgz#824a9ef325ffde6f78056059db3168c08785e24a" + integrity sha512-NDYdls71fTXoU8TZHfbBWg7DiZfNzClcKui/+kyi6ppD2L1qnWW3VV6CjtaBXSUGGhiTWJ6ereOIkUvenif66Q== + dependencies: + regenerator-runtime "^0.13.10" + "@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -1249,6 +1265,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" + integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" @@ -1268,15 +1293,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.1.tgz#fe76bf0064382d7640651b210a97d5af35e50e39" + integrity sha512-h6PHntgP8PY5DOjl73zt4zeXcbRYX1Zk3vwpP/QYUk0APlwCHE3ZU+u7whrsV3LPAhlPg1c+t9cmHBxfmb2q7w== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.0.tgz#8eb01e18994553f24e08df175fd43d0298bfc51d" integrity sha512-5QQVa9gZ7sOVA7b9HdSXLvDuZ8crqubGJkEsNUjSh1pSzHuyMIqKYbYaEhCFrhfk4M/XoTy/BkIER0bJSZYjMw== -"@bazel/jasmine@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.0.tgz#85b136f0e671e17d7907ab7bc725648c3267dc1d" - integrity sha512-ZUFyNk1PxMtbeQkF3JshuOpdEpNczKLP2es70Kp7oLZfPQ5DySpGX07utuM/o3gkawdZGVtRMFF+UbQa/wG5mA== +"@bazel/jasmine@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.1.tgz#114797c8c2871255d32e2c154f7e354028efbdcc" + integrity sha512-OZ3u8CuC1HBv7Ph3Io46A1sRA9pSGHrbrFE/VbZGzPPLd2epyi4EvKnhrrRXpw1/jZ+0z5DXeLbnk6uJOvIuRw== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1758,6 +1792,11 @@ dependencies: infer-owner "^1.0.4" +"@npmcli/promise-spawn@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-5.0.0.tgz#8cd47aa85ad206ac0e2ae6005cbfbe5340bd0134" + integrity sha512-q+Le2urM3NdxSFHj+VZXLTHKgmWxqHXUSqM5m9bjnV3EtThtJor64f5inmBkO9uEGZnhpjW0wL67Qf5qcgZkxw== + "@npmcli/query@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" @@ -8396,14 +8435,14 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@15.0.3: - version "15.0.3" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.3.tgz#fbd32b0af56e716b5e14203a7f8eb81860d522b5" - integrity sha512-lKUWO5xpSBH6gPBQEJZwn7RBWMRA5VDbRUurxqjs0/5Zp8PWbxga1yIVAmM0ILMamwDQOVhdBp+ZQDVErXQb4g== +pacote@15.0.4: + version "15.0.4" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.4.tgz#cd95d89523f3233ab32360ee15f909186fecb7b1" + integrity sha512-6lSP0ly54fKrPIvXmVcmslqrcF8DL3y/RlNLwBWG1A3wd8sWcPF8hikTJDWqXUPMw6L04p6gqsJ/iLgRjth+6A== dependencies: "@npmcli/git" "^4.0.0" "@npmcli/installed-package-contents" "^2.0.1" - "@npmcli/promise-spawn" "^4.0.0" + "@npmcli/promise-spawn" "^5.0.0" "@npmcli/run-script" "^5.0.0" cacache "^17.0.0" fs-minipass "^2.1.0" @@ -9220,7 +9259,7 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@0.13.10, regenerator-runtime@^0.13.4: +regenerator-runtime@0.13.10, regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.4: version "0.13.10" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== From 2a6b585d1802436e671e242312895132b0614c98 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 27 Oct 2022 16:30:42 -0400 Subject: [PATCH 1081/1388] fix(@angular-devkit/build-angular): correct escaping of target warning text in esbuild builder The warning text note for the TypeScript target was incorrectly escaped within a template literal which resulted in a badly formatted error message. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index ac37bff3df7e..76336f92bcd9 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -235,8 +235,9 @@ export function createCompilerPlugin( location: { file: pluginOptions.tsconfig }, notes: [ { - text: `To control ECMA version and features use the Browerslist configuration. ' + - 'For more information, see https://angular.io/guide/build#configuring-browser-compatibility'`, + text: + 'To control ECMA version and features use the Browerslist configuration. ' + + 'For more information, see https://angular.io/guide/build#configuring-browser-compatibility', }, ], }); From 7d5a81608768968ab08e4c8c11768ed791665b5c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 28 Oct 2022 05:14:39 +0000 Subject: [PATCH 1082/1388] build: update dependency babel-loader to v9 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b1129dc81aee..9069e5abae39 100644 --- a/package.json +++ b/package.json @@ -129,7 +129,7 @@ "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.12", - "babel-loader": "8.2.5", + "babel-loader": "9.0.0", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index a21b197ba2a0..80bb7a31724a 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -23,7 +23,7 @@ "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", "autoprefixer": "10.4.12", - "babel-loader": "8.2.5", + "babel-loader": "9.0.0", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "17.0.1", diff --git a/yarn.lock b/yarn.lock index 41ac01f6a848..1c0e593236dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3175,6 +3175,14 @@ babel-loader@8.2.5: make-dir "^3.1.0" schema-utils "^2.6.5" +babel-loader@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.0.0.tgz#b90f48b49f5360e4678733755d1413e16cfee48e" + integrity sha512-qVGQb0PNw/B1sGhPf0/KKsHZAPfa2Bk+JbjkW7yGjAHZyvjAULXYq0et0+/+7DL/rGYU+y8UoGPzA32NP29pVQ== + dependencies: + find-cache-dir "^3.3.2" + schema-utils "^4.0.0" + babel-plugin-istanbul@6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" From 7c2b846199324426c17c41f31d0989f464221403 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 28 Oct 2022 13:58:58 -0400 Subject: [PATCH 1083/1388] fix(@angular-devkit/build-angular): wait during file watching to improve multi-save rebuilds for esbuild builder When using the experimental esbuild-based browser application builder in watch mode, the file watcher will now wait 250ms from a reported file event before triggering a rebuild. The change allows the rebuild to better capture groups of file changes. This can happen when using an IDE while editing multiple files and would otherwise result in multiple rebuilds where a single rebuild would be ideal. --- .../src/builders/browser-esbuild/watcher.ts | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts index 4d11fb5e7bf6..2fd26ee56f2e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/watcher.ts @@ -43,6 +43,7 @@ export function createWatcher(options?: { const nextQueue: ((value?: ChangedFiles) => void)[] = []; let currentChanges: ChangedFiles | undefined; + let nextWaitTimeout: NodeJS.Timeout | undefined; watcher.on('all', (event, path) => { switch (event) { @@ -62,11 +63,18 @@ export function createWatcher(options?: { return; } - const next = nextQueue.shift(); - if (next) { - const value = currentChanges; - currentChanges = undefined; - next(value); + // Wait 250ms from next change to better capture groups of file save operations. + if (!nextWaitTimeout) { + nextWaitTimeout = setTimeout(() => { + nextWaitTimeout = undefined; + const next = nextQueue.shift(); + if (next) { + const value = currentChanges; + currentChanges = undefined; + next(value); + } + }, 250); + nextWaitTimeout?.unref(); } }); @@ -99,6 +107,9 @@ export function createWatcher(options?: { async close() { try { await watcher.close(); + if (nextWaitTimeout) { + clearTimeout(nextWaitTimeout); + } } finally { let next; while ((next = nextQueue.shift()) !== undefined) { From e1ca87890a3719738013390604e0ce391f411bc4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 28 Oct 2022 11:27:23 -0400 Subject: [PATCH 1084/1388] perf(@angular-devkit/build-angular): use Sass worker pool for Sass support in esbuild builder When using the experimental esbuild-based browser application builder, Sass stylesheets will now be processed using a worker pool that is currently also used by the default Webpack-based builder. This allows up to four stylesheets to be processed in parallel and keeps the main thread available for other build tasks. On projects with a large amount of Sass stylesheets, this change provided up to a 25% improvement in build times based on initial testing. --- .../src/builders/browser-esbuild/index.ts | 4 + .../builders/browser-esbuild/sass-plugin.ts | 44 +++++++--- .../build_angular/src/sass/sass-service.ts | 26 +++++- .../build_angular/src/sass/worker.ts | 83 ++++++++++++++----- 4 files changed, 125 insertions(+), 32 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 56db48229dab..070bc472f379 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -23,6 +23,7 @@ import { SourceFileCache, createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; import { NormalizedBrowserOptions, normalizeOptions } from './options'; +import { shutdownSassWorkerPool } from './sass-plugin'; import { Schema as BrowserBuilderOptions } from './schema'; import { bundleStylesheetText } from './stylesheets'; import { ChangedFiles, createWatcher } from './watcher'; @@ -437,6 +438,8 @@ export async function* buildEsbuildBrowser( // Finish if watch mode is not enabled if (!initialOptions.watch) { + shutdownSassWorkerPool(); + return; } @@ -476,6 +479,7 @@ export async function* buildEsbuildBrowser( await watcher.close(); // Cleanup incremental rebuild state result.dispose(); + shutdownSassWorkerPool(); } } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 2a044d5bb587..7baeba226de5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -7,33 +7,52 @@ */ import type { PartialMessage, Plugin, PluginBuild } from 'esbuild'; +import { readFile } from 'node:fs/promises'; import { dirname, relative } from 'node:path'; -import { fileURLToPath } from 'node:url'; -import type { CompileResult } from 'sass'; +import { fileURLToPath, pathToFileURL } from 'node:url'; +import type { CompileResult, Exception } from 'sass'; +import { SassWorkerImplementation } from '../../sass/sass-service'; + +let sassWorkerPool: SassWorkerImplementation; + +function isSassException(error: unknown): error is Exception { + return !!error && typeof error === 'object' && 'sassMessage' in error; +} + +export function shutdownSassWorkerPool(): void { + sassWorkerPool?.close(); +} export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: string[] }): Plugin { return { name: 'angular-sass', setup(build: PluginBuild): void { - let sass: typeof import('sass'); - build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { // Lazily load Sass when a Sass file is found - sass ??= await import('sass'); + sassWorkerPool ??= new SassWorkerImplementation(); + const warnings: PartialMessage[] = []; try { - const warnings: PartialMessage[] = []; - // Use sync version as async version is slower. - const { css, sourceMap, loadedUrls } = sass.compile(args.path, { + const data = await readFile(args.path, 'utf-8'); + const { css, sourceMap, loadedUrls } = await sassWorkerPool.compileStringAsync(data, { + url: pathToFileURL(args.path), style: 'expanded', loadPaths: options.loadPaths, sourceMap: options.sourcemap, sourceMapIncludeSources: options.sourcemap, quietDeps: true, logger: { - warn: (text, _options) => { + warn: (text, { deprecation, span }) => { warnings.push({ - text, + text: deprecation ? 'Deprecation' : text, + location: span && { + file: span.url && fileURLToPath(span.url), + lineText: span.context, + // Sass line numbers are 0-based while esbuild's are 1-based + line: span.start.line + 1, + column: span.start.column, + }, + notes: deprecation ? [{ text }] : undefined, }); }, }, @@ -48,16 +67,17 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri warnings, }; } catch (error) { - if (error instanceof sass.Exception) { + if (isSassException(error)) { const file = error.span.url ? fileURLToPath(error.span.url) : undefined; return { loader: 'css', errors: [ { - text: error.toString(), + text: error.message, }, ], + warnings, watchFiles: file ? [file] : undefined, }; } diff --git a/packages/angular_devkit/build_angular/src/sass/sass-service.ts b/packages/angular_devkit/build_angular/src/sass/sass-service.ts index 3126871d8e57..c59326fef111 100644 --- a/packages/angular_devkit/build_angular/src/sass/sass-service.ts +++ b/packages/angular_devkit/build_angular/src/sass/sass-service.ts @@ -14,6 +14,8 @@ import { Exception, FileImporter, Importer, + Logger, + SourceSpan, StringOptionsWithImporter, StringOptionsWithoutImporter, } from 'sass'; @@ -48,6 +50,7 @@ interface RenderRequest { id: number; workerIndex: number; callback: RenderCallback; + logger?: Logger; importers?: Importers[]; previousResolvedModules?: Set; } @@ -68,6 +71,12 @@ interface RenderResponseMessage { id: number; error?: Exception; result?: Omit & { loadedUrls: string[] }; + warnings?: { + message: string; + deprecation: boolean; + stack?: string; + span?: Omit & { url?: string }; + }[]; } /** @@ -153,13 +162,14 @@ export class SassWorkerImplementation { resolve(result); }; - const request = this.createRequest(workerIndex, callback, importers); + const request = this.createRequest(workerIndex, callback, logger, importers); this.requests.set(request.id, request); this.workers[workerIndex].postMessage({ id: request.id, source, hasImporter: !!importers?.length, + hasLogger: !!logger, options: { ...serializableOptions, // URL is not serializable so to convert to string here and back to URL in the worker. @@ -200,6 +210,18 @@ export class SassWorkerImplementation { this.requests.delete(response.id); this.availableWorkers.push(request.workerIndex); + if (response.warnings && request.logger?.warn) { + for (const { message, span, ...options } of response.warnings) { + request.logger.warn(message, { + ...options, + span: span && { + ...span, + url: span.url ? pathToFileURL(span.url) : undefined, + }, + }); + } + } + if (response.result) { request.callback(undefined, { ...response.result, @@ -274,12 +296,14 @@ export class SassWorkerImplementation { private createRequest( workerIndex: number, callback: RenderCallback, + logger: Logger | undefined, importers: Importers[] | undefined, ): RenderRequest { return { id: this.idCounter++, workerIndex, callback, + logger, importers, }; } diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index a8e909edbb2f..079beb6ff351 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Exception, StringOptionsWithImporter, compileString } from 'sass'; +import { Exception, SourceSpan, StringOptionsWithImporter, compileString } from 'sass'; import { fileURLToPath, pathToFileURL } from 'url'; import { MessagePort, parentPort, receiveMessageOnPort, workerData } from 'worker_threads'; @@ -31,6 +31,10 @@ interface RenderRequestMessage { * Indicates the request has a custom importer function on the main thread. */ hasImporter: boolean; + /** + * Indicates the request has a custom logger for warning messages. + */ + hasLogger: boolean; } if (!parentPort || !workerData) { @@ -43,11 +47,20 @@ const { workerImporterPort, importerSignal } = workerData as { importerSignal: Int32Array; }; -parentPort.on('message', ({ id, hasImporter, source, options }: RenderRequestMessage) => { +parentPort.on('message', (message: RenderRequestMessage) => { if (!parentPort) { throw new Error('"parentPort" is not defined. Sass worker must be executed as a Worker.'); } + const { id, hasImporter, hasLogger, source, options } = message; + let warnings: + | { + message: string; + deprecation: boolean; + stack?: string; + span?: Omit & { url?: string }; + }[] + | undefined; try { if (hasImporter) { // When a custom importer function is present, the importer request must be proxied @@ -75,10 +88,24 @@ parentPort.on('message', ({ id, hasImporter, source, options }: RenderRequestMes ...options, // URL is not serializable so to convert to string in the parent and back to URL here. url: options.url ? pathToFileURL(options.url) : undefined, + logger: hasLogger + ? { + warn(message, { deprecation, span, stack }) { + warnings ??= []; + warnings.push({ + message, + deprecation, + stack, + span: span && convertSourceSpan(span), + }); + }, + } + : undefined, }); parentPort.postMessage({ id, + warnings, result: { ...result, // URL is not serializable so to convert to string here and back to URL in the parent. @@ -91,22 +118,9 @@ parentPort.on('message', ({ id, hasImporter, source, options }: RenderRequestMes const { span, message, stack, sassMessage, sassStack } = error; parentPort.postMessage({ id, + warnings, error: { - span: { - text: span.text, - context: span.context, - end: { - column: span.end.column, - offset: span.end.offset, - line: span.end.line, - }, - start: { - column: span.start.column, - offset: span.start.offset, - line: span.start.line, - }, - url: span.url ? fileURLToPath(span.url) : undefined, - }, + span: convertSourceSpan(span), message, stack, sassMessage, @@ -115,9 +129,40 @@ parentPort.on('message', ({ id, hasImporter, source, options }: RenderRequestMes }); } else if (error instanceof Error) { const { message, stack } = error; - parentPort.postMessage({ id, error: { message, stack } }); + parentPort.postMessage({ id, warnings, error: { message, stack } }); } else { - parentPort.postMessage({ id, error: { message: 'An unknown error has occurred.' } }); + parentPort.postMessage({ + id, + warnings, + error: { message: 'An unknown error has occurred.' }, + }); } } }); + +/** + * Converts a Sass SourceSpan object into a serializable form. + * The SourceSpan object contains a URL property which must be converted into a string. + * Also, most of the interface's properties are get accessors and are not automatically + * serialized when sent back from the worker. + * + * @param span The Sass SourceSpan object to convert. + * @returns A serializable form of the SourceSpan object. + */ +function convertSourceSpan(span: SourceSpan): Omit & { url?: string } { + return { + text: span.text, + context: span.context, + end: { + column: span.end.column, + offset: span.end.offset, + line: span.end.line, + }, + start: { + column: span.start.column, + offset: span.start.offset, + line: span.start.line, + }, + url: span.url ? fileURLToPath(span.url) : undefined, + }; +} From 469ad87499f35204f7fbfee2fc6d067a69f4fa6a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 29 Oct 2022 22:40:26 +0000 Subject: [PATCH 1085/1388] build: update all non-major dependencies --- WORKSPACE | 6 ++--- package.json | 4 ++-- .../angular_devkit/build_angular/package.json | 2 +- .../schematic/files/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 24 ++++++++++++++++++- 6 files changed, 31 insertions(+), 9 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 6e2aee400592..13ac4a654383 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "9305799c6d9e425e6b73270a0f9eb0aa1082050823a7eefad95edcece545e77b", - strip_prefix = "bazel-lib-1.14.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.14.0.tar.gz", + sha256 = "eae670935704ce5f9d050b2c23d426b4ae453458830eebdaac1f11a6a9da150b", + strip_prefix = "bazel-lib-1.15.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.15.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 9069e5abae39..2e4d4d04050e 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.12", + "autoprefixer": "10.4.13", "babel-loader": "9.0.0", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", @@ -154,7 +154,7 @@ "ini": "3.0.1", "inquirer": "8.2.4", "jasmine": "^4.0.0", - "jasmine-core": "~4.4.0", + "jasmine-core": "~4.5.0", "jasmine-spec-reporter": "~7.0.0", "jquery": "^3.3.1", "jsonc-parser": "3.2.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 80bb7a31724a..379c6a665fe4 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -22,7 +22,7 @@ "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.12", + "autoprefixer": "10.4.13", "babel-loader": "9.0.0", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index cf003fbc0e46..4996bb4a543f 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -20,6 +20,6 @@ "devDependencies": { "@types/node": "^14.15.0", "@types/jasmine": "~4.3.0", - "jasmine": "~4.4.0" + "jasmine": "~4.5.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index f154225c58f0..4b51b4ca13f9 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -5,7 +5,7 @@ "dependencies": { "@types/jasmine": "~4.3.0", "@types/node": "^14.15.0", - "jasmine-core": "~4.4.0", + "jasmine-core": "~4.5.0", "jasmine-spec-reporter": "~7.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", diff --git a/yarn.lock b/yarn.lock index 1c0e593236dd..aaa007221848 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3148,6 +3148,18 @@ autoprefixer@10.4.12, autoprefixer@^10.4.12: picocolors "^1.0.0" postcss-value-parser "^4.2.0" +autoprefixer@10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3628,6 +3640,11 @@ caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001423.tgz#57176d460aa8cd85ee1a72016b961eb9aca55d91" integrity sha512-09iwWGOlifvE1XuHokFMP7eR38a0JnajoyL3/i87c8ZjRWRrdKo1fqjNfugfBD0UDBIOz0U+jtNhJ0EPm1VleQ== +caniuse-lite@^1.0.30001426: + version "1.0.30001426" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001426.tgz#58da20446ccd0cb1dfebd11d2350c907ee7c2eaa" + integrity sha512-n7cosrHLl8AWt0wwZw/PJZgUg3lV0gk9LMI7ikGJwhyhgsd2Nb65vKvmSexCqq/J7rbH3mFG6yZZiPR5dLPW5A== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -6660,7 +6677,7 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.4.0, jasmine-core@~4.4.0: +jasmine-core@^4.1.0, jasmine-core@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.4.0.tgz#848fe45c1839cacaf1f2429d400d1d4f85d2856a" integrity sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA== @@ -6670,6 +6687,11 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== +jasmine-core@~4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.5.0.tgz#1a6bd0bde3f60996164311c88a0995d67ceda7c3" + integrity sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw== + jasmine-reporters@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" From 942d555cf5861fa668f82327ef4543ae421f67e0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 31 Oct 2022 13:18:15 -0400 Subject: [PATCH 1086/1388] fix(@angular-devkit/build-angular): provide workaround for V8 object spread performance defect V8 currently has a performance defect involving object spread operations that can cause degradation in runtime performance. By specifically not supporting the object spread language feature when using the esbuild-based browser application builder, a downlevel form will be used instead which provides a workaround for the performance issue. The downlevel form can cause up to a 600 byte increase in file size if an object spread operation would otherwise be present in an output file. For more details: https://bugs.chromium.org/p/v8/issues/detail?id=11536 --- .../build_angular/src/builders/browser-esbuild/index.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 070bc472f379..01a14ec5e551 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -258,6 +258,11 @@ function createCodeBundleOptions( // loader to perform the downlevel transformation. // NOTE: If esbuild adds support in the future, the babel support for async generators can be disabled. 'async-await': false, + // V8 currently has a performance defect involving object spread operations that can cause signficant + // degradation in runtime performance. By not supporting the language feature here, a downlevel form + // will be used instead which provides a workaround for the performance issue. + // For more details: https://bugs.chromium.org/p/v8/issues/detail?id=11536 + 'object-rest-spread': false, }, mainFields: ['es2020', 'browser', 'module', 'main'], conditions: ['es2020', 'es2015', 'module'], From 430186706ed06c6e85c0b762b5e35fd25b3a5531 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 1 Nov 2022 05:01:02 +0000 Subject: [PATCH 1087/1388] build: update dependency tslib to v2.4.1 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2e4d4d04050e..fec031b172cb 100644 --- a/package.json +++ b/package.json @@ -208,7 +208,7 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", - "tslib": "2.4.0", + "tslib": "2.4.1", "typescript": "4.8.4", "verdaccio": "5.15.4", "verdaccio-auth-memory": "^10.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 379c6a665fe4..7e752f693e9f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -60,7 +60,7 @@ "terser": "5.15.1", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.4.0", + "tslib": "2.4.1", "webpack": "5.74.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.11.1", diff --git a/yarn.lock b/yarn.lock index aaa007221848..0b7f14a29125 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10589,6 +10589,11 @@ tslib@2.4.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" From ab589543b8edbd2f7c7d80143cfd7c0ccd32ed9a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 1 Nov 2022 11:39:11 +0000 Subject: [PATCH 1088/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 136 ++++++++++-------- 3 files changed, 86 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index fec031b172cb..f8e37b582d3e 100644 --- a/package.json +++ b/package.json @@ -82,13 +82,13 @@ "@angular/router": "15.0.0-rc.0", "@angular/service-worker": "15.0.0-rc.0", "@babel/core": "7.19.6", - "@babel/generator": "7.20.0", + "@babel/generator": "7.20.1", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.19.1", + "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.19.4", - "@babel/runtime": "7.20.0", + "@babel/runtime": "7.20.1", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", @@ -122,14 +122,14 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.41.0", - "@typescript-eslint/parser": "5.41.0", + "@typescript-eslint/eslint-plugin": "5.42.0", + "@typescript-eslint/parser": "5.42.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", - "babel-loader": "9.0.0", + "babel-loader": "9.0.1", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 7e752f693e9f..3980549a2643 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,19 +11,19 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.19.6", - "@babel/generator": "7.20.0", + "@babel/generator": "7.20.1", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.19.1", + "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.19.4", - "@babel/runtime": "7.20.0", + "@babel/runtime": "7.20.1", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", - "babel-loader": "9.0.0", + "babel-loader": "9.0.1", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", "cacache": "17.0.1", diff --git a/yarn.lock b/yarn.lock index 0b7f14a29125..9e1b9c0fe354 100644 --- a/yarn.lock +++ b/yarn.lock @@ -368,10 +368,10 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.0.tgz#0bfc5379e0efb05ca6092091261fcdf7ec36249d" - integrity sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w== +"@babel/generator@7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" + integrity sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg== dependencies: "@babel/types" "^7.20.0" "@jridgewell/gen-mapping" "^0.3.2" @@ -627,6 +627,16 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-async-generator-functions@7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" + integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -1224,10 +1234,10 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.0.tgz#824a9ef325ffde6f78056059db3168c08785e24a" - integrity sha512-NDYdls71fTXoU8TZHfbBWg7DiZfNzClcKui/+kyi6ppD2L1qnWW3VV6CjtaBXSUGGhiTWJ6ereOIkUvenif66Q== +"@babel/runtime@7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" + integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== dependencies: regenerator-runtime "^0.13.10" @@ -2517,86 +2527,87 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz#f8eeb1c6bb2549f795f3ba71aec3b38d1ab6b1e1" - integrity sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA== +"@typescript-eslint/eslint-plugin@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz#36a8c0c379870127059889a9cc7e05c260d2aaa5" + integrity sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ== dependencies: - "@typescript-eslint/scope-manager" "5.41.0" - "@typescript-eslint/type-utils" "5.41.0" - "@typescript-eslint/utils" "5.41.0" + "@typescript-eslint/scope-manager" "5.42.0" + "@typescript-eslint/type-utils" "5.42.0" + "@typescript-eslint/utils" "5.42.0" debug "^4.3.4" ignore "^5.2.0" + natural-compare-lite "^1.4.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.41.0.tgz#0414a6405007e463dc527b459af1f19430382d67" - integrity sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA== +"@typescript-eslint/parser@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.0.tgz#be0ffbe279e1320e3d15e2ef0ad19262f59e9240" + integrity sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA== dependencies: - "@typescript-eslint/scope-manager" "5.41.0" - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/typescript-estree" "5.41.0" + "@typescript-eslint/scope-manager" "5.42.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/typescript-estree" "5.42.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz#28e3a41d626288d0628be14cf9de8d49fc30fadf" - integrity sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ== +"@typescript-eslint/scope-manager@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz#e1f2bb26d3b2a508421ee2e3ceea5396b192f5ef" + integrity sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow== dependencies: - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/visitor-keys" "5.41.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/visitor-keys" "5.42.0" -"@typescript-eslint/type-utils@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz#2371601171e9f26a4e6da918a7913f7266890cdf" - integrity sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA== +"@typescript-eslint/type-utils@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz#4206d7192d4fe903ddf99d09b41d4ac31b0b7dca" + integrity sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg== dependencies: - "@typescript-eslint/typescript-estree" "5.41.0" - "@typescript-eslint/utils" "5.41.0" + "@typescript-eslint/typescript-estree" "5.42.0" + "@typescript-eslint/utils" "5.42.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.41.0.tgz#6800abebc4e6abaf24cdf220fb4ce28f4ab09a85" - integrity sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA== +"@typescript-eslint/types@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.0.tgz#5aeff9b5eced48f27d5b8139339bf1ef805bad7a" + integrity sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw== -"@typescript-eslint/typescript-estree@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz#bf5c6b3138adbdc73ba4871d060ae12c59366c61" - integrity sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg== +"@typescript-eslint/typescript-estree@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz#2592d24bb5f89bf54a63384ff3494870f95b3fd8" + integrity sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg== dependencies: - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/visitor-keys" "5.41.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/visitor-keys" "5.42.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.41.0.tgz#f41ae5883994a249d00b2ce69f4188f3a23fa0f9" - integrity sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ== +"@typescript-eslint/utils@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.0.tgz#f06bd43b9a9a06ed8f29600273240e84a53f2f15" + integrity sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.41.0" - "@typescript-eslint/types" "5.41.0" - "@typescript-eslint/typescript-estree" "5.41.0" + "@typescript-eslint/scope-manager" "5.42.0" + "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/typescript-estree" "5.42.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.41.0": - version "5.41.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz#d3510712bc07d5540160ed3c0f8f213b73e3bcd9" - integrity sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw== +"@typescript-eslint/visitor-keys@5.42.0": + version "5.42.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz#ee8d62d486f41cfe646632fab790fbf0c1db5bb0" + integrity sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg== dependencies: - "@typescript-eslint/types" "5.41.0" + "@typescript-eslint/types" "5.42.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3187,10 +3198,10 @@ babel-loader@8.2.5: make-dir "^3.1.0" schema-utils "^2.6.5" -babel-loader@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.0.0.tgz#b90f48b49f5360e4678733755d1413e16cfee48e" - integrity sha512-qVGQb0PNw/B1sGhPf0/KKsHZAPfa2Bk+JbjkW7yGjAHZyvjAULXYq0et0+/+7DL/rGYU+y8UoGPzA32NP29pVQ== +babel-loader@9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.0.1.tgz#d473f30a6ffc2f2abca610c01775c40fc5c2a970" + integrity sha512-szYjslOXFlj/po5KfrVmiuBAcI6GVHFuAgC96Qd6mMPHdwl4lmAJkYtvjQ1RxxPjgdkKjd3LQgXDE4jxEutNuw== dependencies: find-cache-dir "^3.3.2" schema-utils "^4.0.0" @@ -7811,6 +7822,11 @@ nanoid@^3.3.4: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" From f837f6dab46510346964c2ad6be64b68fac32a41 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 1 Nov 2022 10:50:41 -0700 Subject: [PATCH 1089/1388] fix(@schematics/angular): guard schematics should include all guards (CanMatch) The `CanMatch` guard was added in v14.1 but not added to the list of possible interfaces to implement. This commit adds `CanMatch` to the list of possible interfaces to implement. It has the same type imports as the CanLoad interface. --- .../guard/files/__name@dasherize__.guard.ts.template | 6 +++++- packages/schematics/angular/guard/index.ts | 5 ++++- packages/schematics/angular/guard/index_spec.ts | 10 ++++++++++ packages/schematics/angular/guard/schema.json | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template b/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template index 3dc36a017893..8d83bc7498b4 100644 --- a/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template +++ b/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template @@ -23,7 +23,11 @@ export class <%= classify(name) %>Guard implements <%= implementations %> { nextState?: RouterStateSnapshot): Observable | Promise | boolean | UrlTree { return true; } - <% } %><% if (implements.includes('CanLoad')) { %>canLoad( + <% } %><% if (implements.includes('CanMatch')) { %>canMatch( + route: Route, + segments: UrlSegment[]): Observable | Promise | boolean | UrlTree { + return true; + }<% } %><% if (implements.includes('CanLoad')) { %>canLoad( route: Route, segments: UrlSegment[]): Observable | Promise | boolean | UrlTree { return true; diff --git a/packages/schematics/angular/guard/index.ts b/packages/schematics/angular/guard/index.ts index f8a35b9947bf..efb377216684 100644 --- a/packages/schematics/angular/guard/index.ts +++ b/packages/schematics/angular/guard/index.ts @@ -21,7 +21,10 @@ export default function (options: GuardOptions): Rule { const commonRouterNameImports = ['ActivatedRouteSnapshot', 'RouterStateSnapshot']; const routerNamedImports: string[] = [...options.implements, 'UrlTree']; - if (options.implements.includes(GuardInterface.CanLoad)) { + if ( + options.implements.includes(GuardInterface.CanLoad) || + options.implements.includes(GuardInterface.CanMatch) + ) { routerNamedImports.push('Route', 'UrlSegment'); if (options.implements.length > 1) { diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index eba8e654982b..45326eba1862 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -126,6 +126,16 @@ describe('Guard Schematic', () => { expect(fileString).toContain(expectedImports); }); + it('should add correct imports based on CanMatch implementation', async () => { + const implementationOptions = ['CanMatch']; + const options = { ...defaultOptions, implements: implementationOptions }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + const expectedImports = `import { CanMatch, Route, UrlSegment, UrlTree } from '@angular/router';`; + + expect(fileString).toContain(expectedImports); + }); + it('should add correct imports based on CanActivate implementation', async () => { const implementationOptions = ['CanActivate']; const options = { ...defaultOptions, implements: implementationOptions }; diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index ed79e62ee560..d49d12778803 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -47,7 +47,7 @@ "uniqueItems": true, "minItems": 1, "items": { - "enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanLoad"], + "enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanLoad", "CanMatch"], "type": "string" }, "default": ["CanActivate"], From 4f0ee26b14be79de99bb395682bd968e1eecbeba Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 2 Nov 2022 05:22:07 +0000 Subject: [PATCH 1090/1388] build: update dependency pacote to v15.0.6 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 41 +++++++++++++++++++------------ 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index f8e37b582d3e..431c6830ecb4 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,7 @@ "npm-package-arg": "9.1.2", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.4", + "pacote": "15.0.6", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 18f05a9c3351..984c0931f196 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.4", + "pacote": "15.0.6", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/yarn.lock b/yarn.lock index 9e1b9c0fe354..e69bdfccdb2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1802,10 +1802,12 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/promise-spawn@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-5.0.0.tgz#8cd47aa85ad206ac0e2ae6005cbfbe5340bd0134" - integrity sha512-q+Le2urM3NdxSFHj+VZXLTHKgmWxqHXUSqM5m9bjnV3EtThtJor64f5inmBkO9uEGZnhpjW0wL67Qf5qcgZkxw== +"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.1.tgz#2bf718579ad0ca2c5bd364c6a9de3e2fa6be2b00" + integrity sha512-+hcUpxgx0vEpDJI9Cn+lkTdKLoqKBXFCVps5H7FujEU2vLOp6KwqjLlxbnz8Wzgm8oEqW/u5FeNAXSFjLdCD0A== + dependencies: + which "^3.0.0" "@npmcli/query@^1.2.0": version "1.2.0" @@ -1827,16 +1829,16 @@ read-package-json-fast "^2.0.3" which "^2.0.2" -"@npmcli/run-script@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-5.0.0.tgz#39d10916b1f4a1e3ebc871e805bc5cdf05639aa4" - integrity sha512-AuqcoTOt7v4D2JqC7mCa+eUQHb64vWbwyu9o1hoJiq2kfZNwCB71f0s7tvUw+v+1B5XMdqcr98aGzjKIg7s6Vw== +"@npmcli/run-script@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.0.tgz#f89e322c729e26ae29db6cc8cc76559074aac208" + integrity sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ== dependencies: "@npmcli/node-gyp" "^3.0.0" - "@npmcli/promise-spawn" "^4.0.0" + "@npmcli/promise-spawn" "^6.0.0" node-gyp "^9.0.0" read-package-json-fast "^3.0.0" - which "^2.0.2" + which "^3.0.0" "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" @@ -8481,15 +8483,15 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@15.0.4: - version "15.0.4" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.4.tgz#cd95d89523f3233ab32360ee15f909186fecb7b1" - integrity sha512-6lSP0ly54fKrPIvXmVcmslqrcF8DL3y/RlNLwBWG1A3wd8sWcPF8hikTJDWqXUPMw6L04p6gqsJ/iLgRjth+6A== +pacote@15.0.6: + version "15.0.6" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.6.tgz#8c498b5c23270da4f4c87f7eeba0248a3ae61342" + integrity sha512-dQwcz/sME7QIL+cdrw/jftQfMMXxSo17i2kJ/gnhBhUvvBAsxoBu1lw9B5IzCH/Ce8CvEkG/QYZ6txzKfn0bTw== dependencies: "@npmcli/git" "^4.0.0" "@npmcli/installed-package-contents" "^2.0.1" - "@npmcli/promise-spawn" "^5.0.0" - "@npmcli/run-script" "^5.0.0" + "@npmcli/promise-spawn" "^6.0.1" + "@npmcli/run-script" "^6.0.0" cacache "^17.0.0" fs-minipass "^2.1.0" minipass "^3.1.6" @@ -11272,6 +11274,13 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" +which@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/which/-/which-3.0.0.tgz#a9efd016db59728758a390d23f1687b6e8f59f8e" + integrity sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ== + dependencies: + isexe "^2.0.0" + wide-align@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" From 0f48e8f2d424c496a115a6b6f41b45d2f67d0c24 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 2 Nov 2022 10:17:20 -0700 Subject: [PATCH 1091/1388] docs: release notes for the v14.2.8 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18329f6d3080..57932f5bcb05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 14.2.8 (2022-11-02) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [4b0ee8ad1](https://github.com/angular/angular-cli/commit/4b0ee8ad15efcb513ab5d9e38bf9b1e08857e798) | fix | guard schematics should include all guards (CanMatch) | + +## Special Thanks + +Andrew Scott + + + # 15.0.0-rc.1 (2022-10-26) From 2a9a1e422e4240dcf420652f8d9e3f9b4bcdc46d Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 2 Nov 2022 13:36:45 -0700 Subject: [PATCH 1092/1388] docs: release notes for the v15.0.0-rc.2 release --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57932f5bcb05..a418be332499 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ + + +# 15.0.0-rc.2 (2022-11-02) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------------------------------- | +| [35e5f4278](https://github.com/angular/angular-cli/commit/35e5f4278145b7ef55a75f1692c8e92d6bcd59db) | fix | exclude `@angular/localize@<10.0.0` from ng add pa… ([#24152](https://github.com/angular/angular-cli/pull/24152)) | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [c33cc0a7a](https://github.com/angular/angular-cli/commit/c33cc0a7abb224899792afaffb5dab1504178d89) | fix | guard schematics should include all guards (CanMatch) | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------------- | +| [192e0e6d7](https://github.com/angular/angular-cli/commit/192e0e6d77d4f0f20af3f88b653c5196a2c1e052) | fix | correct escaping of target warning text in esbuild builder | +| [8b84c18ed](https://github.com/angular/angular-cli/commit/8b84c18edd01e91c7ebf4327dde8ce60f7f700ca) | fix | provide workaround for V8 object spread performance defect | +| [fb4ead2ce](https://github.com/angular/angular-cli/commit/fb4ead2ce0de824eef46ce8e27a8f6cc1d08c744) | fix | wait during file watching to improve multi-save rebuilds for esbuild builder | +| [9d83fb91b](https://github.com/angular/angular-cli/commit/9d83fb91b654eed79a5c9c9691d0f1c094f37771) | perf | use Sass worker pool for Sass support in esbuild builder | + +## Special Thanks + +Alan Agius, Andrew Scott and Charles Lyding + + + # 14.2.8 (2022-11-02) From e3cb34936ed811c91cb095abf005c10d1fb4f34b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 3 Nov 2022 05:10:39 +0000 Subject: [PATCH 1093/1388] build: update github/codeql-action action to v2.1.30 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 918deacde6ea..a24a93c34619 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@ec3cf9c605b848da5f1e41e8452719eb1ccfb9a6 # tag=v2.1.29 + uses: github/codeql-action/upload-sarif@18fe527fa8b29f134bb91f32f1a5dc5abb15ed7f # tag=v2.1.30 with: sarif_file: results.sarif From 18b72a8cb53ae242348f8b248e8a0a173647401c Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 4 Nov 2022 10:44:40 -0400 Subject: [PATCH 1094/1388] refactor(@angular-devkit/core): remove unneeded import statements from Node.js file host This reduces the number of imports for the Node.js file host classes. The `fs` default import was only used in one place and named imports were already in use for `node:fs` which allowed the one use to be converted to a named import. The type only import for `chokidar` was also only used in one type annotation and was moved to the type annotation directly. --- .../public-api/angular_devkit/core/node/index.md | 2 +- packages/angular_devkit/core/node/host.ts | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/goldens/public-api/angular_devkit/core/node/index.md b/goldens/public-api/angular_devkit/core/node/index.md index 59cda60a3ad8..23d7c5f98c79 100644 --- a/goldens/public-api/angular_devkit/core/node/index.md +++ b/goldens/public-api/angular_devkit/core/node/index.md @@ -9,7 +9,7 @@ import { Observable } from 'rxjs'; import { Operator } from 'rxjs'; import { PartialObserver } from 'rxjs'; -import { Stats as Stats_2 } from 'fs'; +import { Stats as Stats_2 } from 'node:fs'; import { Subject } from 'rxjs'; import { Subscription } from 'rxjs'; diff --git a/packages/angular_devkit/core/node/host.ts b/packages/angular_devkit/core/node/host.ts index 744eb4f1b211..00dc05dda331 100644 --- a/packages/angular_devkit/core/node/host.ts +++ b/packages/angular_devkit/core/node/host.ts @@ -6,8 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import type { FSWatcher as ChokidarWatcher } from 'chokidar'; -import fs, { +import { PathLike, Stats, constants, @@ -17,10 +16,11 @@ import fs, { readFileSync, readdirSync, renameSync, + rmSync, statSync, writeFileSync, -} from 'fs'; -import { dirname as pathDirname } from 'path'; +} from 'node:fs'; +import { dirname as pathDirname } from 'node:path'; import { Observable, from as observableFrom } from 'rxjs'; import { map, mergeMap, publish, refCount } from 'rxjs/operators'; import { Path, PathFragment, dirname, fragment, getSystemPath, normalize, virtualFs } from '../src'; @@ -38,11 +38,10 @@ async function exists(path: PathLike): Promise { // This will only be initialized if the watch() method is called. // Otherwise chokidar appears only in type positions, and shouldn't be referenced // in the JavaScript output. -let FSWatcher: typeof ChokidarWatcher; +let FSWatcher: typeof import('chokidar').FSWatcher; function loadFSWatcher() { if (!FSWatcher) { try { - // eslint-disable-next-line import/no-extraneous-dependencies FSWatcher = require('chokidar').FSWatcher; } catch (e) { if ((e as NodeJS.ErrnoException).code !== 'MODULE_NOT_FOUND') { @@ -176,7 +175,7 @@ export class NodeJsSyncHost implements virtualFs.Host { delete(path: Path): Observable { return new Observable((obs) => { - fs.rmSync(getSystemPath(path), { force: true, recursive: true, maxRetries: 3 }); + rmSync(getSystemPath(path), { force: true, recursive: true, maxRetries: 3 }); obs.complete(); }); From 0662a2e9eb116915718d512876bdacab929a6ed9 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 3 Nov 2022 15:56:59 -0400 Subject: [PATCH 1095/1388] fix(@angular-devkit/build-angular): account for package.json exports with Sass in esbuild builder When using the experimental esbuild-based browser application builder, Sass module imports will now resolve using esbuild's resolve methods. This allows for package.json exports and main fields to be recognized when resolving an import or use rules in Sass files (scss or sass file extensions). --- .../builders/browser-esbuild/sass-plugin.ts | 65 ++++++++++++++++++- .../builders/browser-esbuild/stylesheets.ts | 6 +- 2 files changed, 63 insertions(+), 8 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 7baeba226de5..1f7aab5a38f4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -8,12 +8,15 @@ import type { PartialMessage, Plugin, PluginBuild } from 'esbuild'; import { readFile } from 'node:fs/promises'; -import { dirname, relative } from 'node:path'; +import { dirname, join, relative } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import type { CompileResult, Exception } from 'sass'; -import { SassWorkerImplementation } from '../../sass/sass-service'; +import { + FileImporterWithRequestContextOptions, + SassWorkerImplementation, +} from '../../sass/sass-service'; -let sassWorkerPool: SassWorkerImplementation; +let sassWorkerPool: SassWorkerImplementation | undefined; function isSassException(error: unknown): error is Exception { return !!error && typeof error === 'object' && 'sassMessage' in error; @@ -21,6 +24,7 @@ function isSassException(error: unknown): error is Exception { export function shutdownSassWorkerPool(): void { sassWorkerPool?.close(); + sassWorkerPool = undefined; } export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: string[] }): Plugin { @@ -41,6 +45,61 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri sourceMap: options.sourcemap, sourceMapIncludeSources: options.sourcemap, quietDeps: true, + importers: [ + { + findFileUrl: async ( + url, + { previousResolvedModules }: FileImporterWithRequestContextOptions, + ): Promise => { + let result = await build.resolve(url, { + kind: 'import-rule', + // This should ideally be the directory of the importer file from Sass + // but that is not currently available from the Sass importer API. + resolveDir: build.initialOptions.absWorkingDir, + }); + + // Workaround to support Yarn PnP without access to the importer file from Sass + if (!result.path && previousResolvedModules?.size) { + for (const previous of previousResolvedModules) { + result = await build.resolve(url, { + kind: 'import-rule', + resolveDir: previous, + }); + } + } + + // Check for package deep imports + if (!result.path) { + const parts = url.split('/'); + const hasScope = parts.length > 2 && parts[0].startsWith('@'); + if (hasScope || parts.length > 1) { + const [nameOrScope, nameOrFirstPath, ...pathPart] = parts; + const packageName = hasScope + ? `${nameOrScope}/${nameOrFirstPath}` + : nameOrScope; + const packageResult = await build.resolve(packageName + '/package.json', { + kind: 'import-rule', + // This should ideally be the directory of the importer file from Sass + // but that is not currently available from the Sass importer API. + resolveDir: build.initialOptions.absWorkingDir, + }); + + if (packageResult.path) { + return pathToFileURL( + join( + dirname(packageResult.path), + !hasScope ? nameOrFirstPath : '', + ...pathPart, + ), + ); + } + } + } + + return result.path ? pathToFileURL(result.path) : null; + }, + }, + ], logger: { warn: (text, { deprecation, span }) => { warnings.push({ diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 2bfaf70f867c..7c58c8aaaaa4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -27,10 +27,6 @@ async function bundleStylesheet( entry: Required | Pick>, options: BundleStylesheetOptions, ) { - const loadPaths = options.includePaths ?? []; - // Needed to resolve node packages. - loadPaths.push(path.join(options.workspaceRoot, 'node_modules')); - // Execute esbuild const result = await bundle({ ...entry, @@ -50,7 +46,7 @@ async function bundleStylesheet( conditions: ['style', 'sass'], mainFields: ['style', 'sass'], plugins: [ - createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths }), + createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths: options.includePaths }), createCssResourcePlugin(), ], }); From bf9516e017939288c1b64f0fe90a0f0f1a7a8be6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 3 Nov 2022 09:56:12 +0000 Subject: [PATCH 1096/1388] build: update dependency npm-package-arg to v10 This commit updates the npm-package-arg to v10 and applies the changes needed due to the breaking change in https://github.com/npm/npm-package-arg/commit/d2b87c083f6f83d01d869281631a0d544190edcf --- package.json | 2 +- packages/angular/cli/package.json | 2 +- packages/angular/cli/src/commands/add/cli.ts | 40 +++++++++++++------ .../angular/cli/src/commands/update/cli.ts | 4 +- yarn.lock | 22 +++++----- 5 files changed, 42 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 431c6830ecb4..78f8a5e82a6b 100644 --- a/package.json +++ b/package.json @@ -175,7 +175,7 @@ "ng-packagr": "15.0.0-rc.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", - "npm-package-arg": "9.1.2", + "npm-package-arg": "10.0.0", "open": "8.4.0", "ora": "5.4.1", "pacote": "15.0.6", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 984c0931f196..c4d5f43db518 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -31,7 +31,7 @@ "ini": "3.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", - "npm-package-arg": "9.1.2", + "npm-package-arg": "10.0.0", "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts index e0d67391127f..16bcc2d9f30a 100644 --- a/packages/angular/cli/src/commands/add/cli.ts +++ b/packages/angular/cli/src/commands/add/cli.ts @@ -144,7 +144,11 @@ export class AddCommandModule const usingYarn = packageManager.name === PackageManager.Yarn; spinner.info(`Using package manager: ${colors.grey(packageManager.name)}`); - if (packageIdentifier.name && packageIdentifier.type === 'tag' && !packageIdentifier.rawSpec) { + if ( + packageIdentifier.name && + packageIdentifier.type === 'range' && + packageIdentifier.rawSpec === '*' + ) { // only package name provided; search for viable version // plus special cases for packages that did not have peer deps setup spinner.start('Searching for compatible package version...'); @@ -316,21 +320,31 @@ export class AddCommandModule return false; } - let validVersion = false; const installedVersion = await this.findProjectVersion(packageIdentifier.name); - if (installedVersion) { - if (packageIdentifier.type === 'range' && packageIdentifier.fetchSpec) { - validVersion = satisfies(installedVersion, packageIdentifier.fetchSpec); - } else if (packageIdentifier.type === 'version') { - const v1 = valid(packageIdentifier.fetchSpec); - const v2 = valid(installedVersion); - validVersion = v1 !== null && v1 === v2; - } else if (!packageIdentifier.rawSpec) { - validVersion = true; - } + if (!installedVersion) { + return false; + } + + if (packageIdentifier.rawSpec === '*') { + return true; } - return validVersion; + if ( + packageIdentifier.type === 'range' && + packageIdentifier.fetchSpec && + packageIdentifier.fetchSpec !== '*' + ) { + return satisfies(installedVersion, packageIdentifier.fetchSpec); + } + + if (packageIdentifier.type === 'version') { + const v1 = valid(packageIdentifier.fetchSpec); + const v2 = valid(installedVersion); + + return v1 !== null && v1 === v2; + } + + return false; } private async getCollectionName(): Promise { diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 53e657498a45..cfa32dd36f33 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -201,12 +201,12 @@ export class UpdateCommandModule extends CommandModule { return 1; } - if (options.migrateOnly && packageIdentifier.rawSpec) { + if (options.migrateOnly && packageIdentifier.rawSpec !== '*') { logger.warn('Package specifier has no effect when using "migrate-only" option.'); } // If next option is used and no specifier supplied, use next tag - if (options.next && !packageIdentifier.rawSpec) { + if (options.next && packageIdentifier.rawSpec === '*') { packageIdentifier.fetchSpec = 'next'; } diff --git a/yarn.lock b/yarn.lock index e69bdfccdb2d..505f645444f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8065,17 +8065,7 @@ npm-normalize-package-bin@^3.0.0: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz#6097436adb4ef09e2628b59a7882576fe53ce485" integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q== -npm-package-arg@9.1.2, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" - integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== - dependencies: - hosted-git-info "^5.0.0" - proc-log "^2.0.1" - semver "^7.3.5" - validate-npm-package-name "^4.0.0" - -npm-package-arg@^10.0.0: +npm-package-arg@10.0.0, npm-package-arg@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.0.0.tgz#a34f4a4208a937074b1fff0943a684fbacc83977" integrity sha512-7dkh8mRp7s0KwVHKIVJnFCJQ2B34gOGnzgBjDGyprycmARq/82SX/lhilQ95ZuacP/G/1gsS345iAkKmxWBQ2Q== @@ -8085,6 +8075,16 @@ npm-package-arg@^10.0.0: semver "^7.3.5" validate-npm-package-name "^5.0.0" +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + npm-packlist@^5.1.0: version "5.1.3" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" From a563c5738fdeb1b001710e3ced83b40e46b609fd Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 4 Nov 2022 17:09:43 +0000 Subject: [PATCH 1097/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 580 ++++++------------ 7 files changed, 212 insertions(+), 444 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 18f8eec3263b..b5d8aba6f064 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 + - uses: angular/dev-infra/github-actions/post-approval-changes@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 5c20d6a248dd..cddd5cc4a3a7 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 + - uses: angular/dev-infra/github-actions/feature-request@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 298b757764bf..df57f9daf83c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7 + - uses: angular/dev-infra/github-actions/lock-closed@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 78f8a5e82a6b..11c45c763396 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7409e8d53f270f57ba27671ac69cd088d12d2ce2", - "@angular/cdk": "14.2.5", - "@angular/common": "15.0.0-rc.0", - "@angular/compiler": "15.0.0-rc.0", - "@angular/compiler-cli": "15.0.0-rc.0", - "@angular/core": "15.0.0-rc.0", - "@angular/forms": "15.0.0-rc.0", - "@angular/localize": "15.0.0-rc.0", - "@angular/material": "14.2.5", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ad8fa4794060deeea034e21af4cd166fde772abb", - "@angular/platform-browser": "15.0.0-rc.0", - "@angular/platform-browser-dynamic": "15.0.0-rc.0", - "@angular/platform-server": "15.0.0-rc.0", - "@angular/router": "15.0.0-rc.0", - "@angular/service-worker": "15.0.0-rc.0", + "@angular/animations": "15.0.0-rc.2", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#17772156defc8e91a8b28459f9fca389391ba117", + "@angular/cdk": "14.2.6", + "@angular/common": "15.0.0-rc.2", + "@angular/compiler": "15.0.0-rc.2", + "@angular/compiler-cli": "15.0.0-rc.2", + "@angular/core": "15.0.0-rc.2", + "@angular/forms": "15.0.0-rc.2", + "@angular/localize": "15.0.0-rc.2", + "@angular/material": "14.2.6", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#513257942cca4ad33a9a7ed141f8c6840f45545c", + "@angular/platform-browser": "15.0.0-rc.2", + "@angular/platform-browser-dynamic": "15.0.0-rc.2", + "@angular/platform-server": "15.0.0-rc.2", + "@angular/router": "15.0.0-rc.2", + "@angular/service-worker": "15.0.0-rc.2", "@babel/core": "7.19.6", "@babel/generator": "7.20.1", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 17b92e972a0c..8cd5d3055d78 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-rc.0", - "@angular/compiler-cli": "15.0.0-rc.0", + "@angular/compiler": "15.0.0-rc.2", + "@angular/compiler-cli": "15.0.0-rc.2", "typescript": "4.8.4", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 8a177438f684..1d0184f2e456 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e04e57fde817f66a192b2afb68ee3cce611b9e15", - "@angular/cdk": "github:angular/cdk-builds#6f51ce8d5003c75ef298603af5e32e04b54f2cd8", - "@angular/common": "github:angular/common-builds#72237bf16b8b8db061cbf166ccccdff655cba50b", - "@angular/compiler": "github:angular/compiler-builds#01a513b9f28f1bd3644b0f04a33fc8e7a8f7cf6a", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#67504c7ec608b730dc5cdba21419628a9ca5e50b", - "@angular/core": "github:angular/core-builds#77ea287d62ecef23beb4cc97710ae31a29d0ca93", - "@angular/forms": "github:angular/forms-builds#796497b7fb4b4cd03afd5c5651d9e900d6f68290", - "@angular/language-service": "github:angular/language-service-builds#a430481b33f2b5fa64e5864b43193a572766dc71", - "@angular/localize": "github:angular/localize-builds#286c9afb0654412165dc7d6b49d98b4d53a4c359", - "@angular/material": "github:angular/material-builds#17cda8d14c042222388b4848572a951655e6df36", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#69f566666eb9483ae190a0476be0f4e55147a0ae", - "@angular/platform-browser": "github:angular/platform-browser-builds#5c24960807dd63c55c45b9ae453cc3e7413ae7e3", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#4015aef25542c6e89d6f679e5feb892c0a80125b", - "@angular/platform-server": "github:angular/platform-server-builds#5c18c657bd1447d9ec8988bb36065f092526b849", - "@angular/router": "github:angular/router-builds#da45fa9c3bd50787f139171f7df86b4f7d7b0007", - "@angular/service-worker": "github:angular/service-worker-builds#66cae64e824209a86befe90bac5bcf58c1f4834a" + "@angular/animations": "github:angular/animations-builds#7e38c3d11d26f0d622fb4a60c5a40df01d754bd4", + "@angular/cdk": "github:angular/cdk-builds#92130ad3eecdec26392ad518d74b9259aead0bb3", + "@angular/common": "github:angular/common-builds#9f364feae82d6f059de18c8ff41dc8aa56bc92e6", + "@angular/compiler": "github:angular/compiler-builds#2f994dfbff5de854549b93ea0640b6119311ba9f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#1430797f66cd44618200af6dbea24a1462c015d9", + "@angular/core": "github:angular/core-builds#a7a149da0efb7ab3960f52a2a828c9b4fd952f72", + "@angular/forms": "github:angular/forms-builds#29212ac2f8376782be290ba108d35417c4352152", + "@angular/language-service": "github:angular/language-service-builds#eb70897d9b2b765b765e9db01401a008cfc99902", + "@angular/localize": "github:angular/localize-builds#6b80647cf2ade1dcf4d716e84eeb305b783f1788", + "@angular/material": "github:angular/material-builds#be53de1519fa448b74b817ead393e1a3a649f194", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0f74f8e18c997a9bb30cf4d6cf7dec50632c7f83", + "@angular/platform-browser": "github:angular/platform-browser-builds#09bbab7f82d5cb67c5af394e393df0b314369808", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#5a23b34350d73670809c2441b9e704b1f77244a0", + "@angular/platform-server": "github:angular/platform-server-builds#fbe99db08b15bbfa2eadd220ee5e0216b95d2b43", + "@angular/router": "github:angular/router-builds#3e6659c83749118fe3a1af42936a7a04a7c85e13", + "@angular/service-worker": "github:angular/service-worker-builds#cd499aa60982beb754988e5766cf2c94e5941060" } } diff --git a/yarn.lock b/yarn.lock index 505f645444f8..551059daa969 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,45 +10,45 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0-rc.0": - version "0.1500.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-rc.0.tgz#6f5b52d6ac8e40ff6f350569881c2c5df1a84050" - integrity sha512-vDNWjrLlKCWMhS3YY3L2oUskpen0L/AmY22SA19+GgprhB/gkm7irMYK23Uz6McNja5oB50tUY+b7VVXXtifjg== +"@angular-devkit/architect@0.1500.0-rc.2": + version "0.1500.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-rc.2.tgz#90ad1c55851491d2eb3c2c34e0b99130b0c8d504" + integrity sha512-lt1CkX3GFCCyF1rB21JvEwJjrhorO93AcAKxy1x/2xNQg/6BxMpdoptFaHeQVEcpCsq/i0pHTLZuCncyhVDUQA== dependencies: - "@angular-devkit/core" "15.0.0-rc.0" + "@angular-devkit/core" "15.0.0-rc.2" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-rc.0.tgz#756c95eea8cc4a4eee7654a088190b905346f0ba" - integrity sha512-JZKCIS1zbEfscUR++OiL2CkrRNfvkmDfJoxNMl4qJ2AzuIoj2KD4H9mGumfS5miRhcqFt57Q2oJJn3FnMsv2uA== +"@angular-devkit/build-angular@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-rc.2.tgz#1ab8f0431278e435d1c6238ad4aff933d50e88be" + integrity sha512-4RvkQF64de5zebVtun404FOKQtnjWuye3VwLlR9RjIqx0U3aIrmvDUmE15qG166A6eOA2+I2U1LifVh8Rh88mw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0-rc.0" - "@angular-devkit/build-webpack" "0.1500.0-rc.0" - "@angular-devkit/core" "15.0.0-rc.0" - "@babel/core" "7.19.3" - "@babel/generator" "7.19.5" + "@angular-devkit/architect" "0.1500.0-rc.2" + "@angular-devkit/build-webpack" "0.1500.0-rc.2" + "@angular-devkit/core" "15.0.0-rc.2" + "@babel/core" "7.19.6" + "@babel/generator" "7.20.1" "@babel/helper-annotate-as-pure" "7.18.6" - "@babel/plugin-proposal-async-generator-functions" "7.19.1" + "@babel/plugin-proposal-async-generator-functions" "7.20.1" "@babel/plugin-transform-async-to-generator" "7.18.6" - "@babel/plugin-transform-runtime" "7.19.1" + "@babel/plugin-transform-runtime" "7.19.6" "@babel/preset-env" "7.19.4" - "@babel/runtime" "7.19.4" + "@babel/runtime" "7.20.1" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0-rc.0" + "@ngtools/webpack" "15.0.0-rc.2" ansi-colors "4.1.3" - autoprefixer "10.4.12" - babel-loader "8.2.5" + autoprefixer "10.4.13" + babel-loader "9.0.1" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "17.0.0" + cacache "17.0.1" chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.15.11" + esbuild-wasm "0.15.12" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -77,27 +77,27 @@ terser "5.15.1" text-table "0.2.0" tree-kill "1.2.2" - tslib "2.4.0" + tslib "2.4.1" webpack "5.74.0" webpack-dev-middleware "5.3.3" webpack-dev-server "4.11.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.11" + esbuild "0.15.12" -"@angular-devkit/build-webpack@0.1500.0-rc.0": - version "0.1500.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-rc.0.tgz#eac435068194a1a86e11d2fc3db8abce13b870ea" - integrity sha512-uPzq5l2tweznSUBakuqoQmhPnB9S+7RJ2px0lNzfqqZderAP5qvoitL47umhnw9hazzGhAtksdHNcvS9rvDS2A== +"@angular-devkit/build-webpack@0.1500.0-rc.2": + version "0.1500.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-rc.2.tgz#f0da40fe2e4f858e5a1552594d762010f42fd545" + integrity sha512-Shl5ch9CfDWH2vODI3Eas0dEwEhLxSIgTDIvTQO1BOTr/lJFHxUafOYxBBtTsDVvvVeJDNlRkmrNtyUsLKd+lA== dependencies: - "@angular-devkit/architect" "0.1500.0-rc.0" + "@angular-devkit/architect" "0.1500.0-rc.2" rxjs "6.6.7" -"@angular-devkit/core@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-rc.0.tgz#0db18f5dd1c2bf0ff2f12a1ae4590f7c6f2aec17" - integrity sha512-JmUsF7+zmgyfSbmTNNKoKIjOSBcD1kIKd72NK9ZIsISqHJTqeOKBhMQ/Ns78FQGcAOhTKo9nDsZifpXJ7mRDCA== +"@angular-devkit/core@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-rc.2.tgz#9aac72f792b9cf5a966fd02beaec941aa0b28988" + integrity sha512-sCEh1XY9Vr5qg9wp6UGIXtlTaEWxKuFkfaSkhtM+ZCdRU/SgYr18ndFMjlQzBY73hhS7hQnC31rX6GSGtG4DrA== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -105,10 +105,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.0.tgz#3a057ee5c34f4f0def2d2446cefe4e7c68a5fd03" - integrity sha512-yW7OMo2Z9qcJfHPkzykJ+rUTQ02VWnIIUQlTgbqO/1Klb00+TuCeVkvtewDTMoJ2wWZgf+g4WN25XCpmA5qEOA== +"@angular/animations@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.2.tgz#7365fa049c76a121d3a28fe9921903b40206a4aa" + integrity sha512-J5Cvi58S9A1YhGYMLc1WvsV9sB/oyg7aMb90Duwjt8CEFn7PZXXV6KeduoSE0URJhgoJyDdxgizWVQZXPnuulQ== dependencies: tslib "^2.3.0" @@ -120,21 +120,22 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#7409e8d53f270f57ba27671ac69cd088d12d2ce2": - version "0.0.0-f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7" - uid "7409e8d53f270f57ba27671ac69cd088d12d2ce2" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#7409e8d53f270f57ba27671ac69cd088d12d2ce2" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#17772156defc8e91a8b28459f9fca389391ba117": + version "0.0.0-f5eff76f2cca985a7cf2ed81df0f79e8848bc686" + uid "17772156defc8e91a8b28459f9fca389391ba117" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#17772156defc8e91a8b28459f9fca389391ba117" dependencies: - "@angular-devkit/build-angular" "15.0.0-rc.0" + "@angular-devkit/build-angular" "15.0.0-rc.2" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.18.6" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.7.0" - "@bazel/esbuild" "5.7.0" - "@bazel/protractor" "5.7.0" - "@bazel/runfiles" "5.7.0" - "@bazel/terser" "5.7.0" - "@bazel/typescript" "5.7.0" + "@bazel/concatjs" "5.7.1" + "@bazel/esbuild" "5.7.1" + "@bazel/protractor" "5.7.1" + "@bazel/runfiles" "5.7.1" + "@bazel/terser" "5.7.1" + "@bazel/typescript" "5.7.1" "@microsoft/api-extractor" "7.31.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -158,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.5": - version "14.2.5" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.5.tgz#12cec1b890775cc9b041a2ae85d638068b5e90bb" - integrity sha512-kKneb9Z/2E+EXMsHuH8MWy8aygKhdFlKXYltEG7r4W/B6FJC012kJfe+Euj8X0O26akOVW9Q0X7nczCqHqU4tQ== +"@angular/cdk@14.2.6": + version "14.2.6" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.6.tgz#5d78f7eebd228b1d71910e9e3703e02bee84ddcf" + integrity sha512-sihrwk/0emYbE2X+DOIlan7mohED9pKiH2gQh2hk3Ud8jjeW6VmbaGtTCkjs+HRbFc9/44uDHasizxrKnjseyw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.0.tgz#43ca4f6464d3504335905bae1fdf567c54338c66" - integrity sha512-ZK/TEa8aFsk5J97Ow1XpQAJgC81HxC8Tu6COZDiXL7QY/GFRCshFYcQNnsLy2evVRjbSGY1lyvOaF732/lBuYw== +"@angular/common@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.2.tgz#81838b35fd3f4d26ef4a2d9cee9c8516b5455acd" + integrity sha512-izjMOepbQwpzPhj9ZDRZ7V1CZRsGs8uC3N4J0xEbtg7ivIlfY7Y80byXW5W1FwYGDjr5OWB3p/3wYkQ64Iffhg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.0.tgz#fd650fb60b71f32a990147e958b642d2701f4c39" - integrity sha512-r3fvmjoSs/ImZyzlsc7YdE4CTojKVVGtjKXMAmPdkSIL6Bf8sS1So7i4UrzWfMDm3xaGGcXFnHAtTQus0n2Cbw== +"@angular/compiler-cli@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.2.tgz#a7cc1b43cfbf7ecf79a3f35a5e5d22715a7d0371" + integrity sha512-kCeIByvyke98KvmSMv9YZRZwii3Yyb2BLjaEegvZ0on/nnZQEPTqWCaNrY4jWFwIVSXIvYpcQtcZ/rLoJjbigA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -190,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.0.tgz#8edb44678e351d0c0d7af5ca9925010ba8001b1d" - integrity sha512-2Vp3F4SpIyt3Kv7B1skwYAHBrQtAR5ER+KvTV4sreNGMFpzDpa/mZFari5pwOfzXlIGqTXsHVe5uggcmY6p9eA== +"@angular/compiler@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.2.tgz#ef451c49e7df85c97021f84a3fa1f34c0c178e2c" + integrity sha512-eHyb5FK5bs7k1mlAIfTK374U2e6csfCbZY+Xi00S4MmQDQEXTODJkE4sRcnOkwKsydJXeqWaYWoJJht0n9PhbQ== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.0.tgz#6e63b3e57eed2daab418008d4d2ecc5c590c6f0f" - integrity sha512-SWs0YOpgSgTECHl9wgTaSpvwOOp0tmx01YtOLUcWc5M+AixU4RrwKAWYiCR+CzAViKTrL9LoZMowThuF3aqbgA== +"@angular/core@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.2.tgz#0cb80b7928c041188c625053808afc8c34ab73e6" + integrity sha512-xiHbN0HP4TI0dQOeMpuGlcYYxxFGrnAcvIjl3w0VC9miBvuQW9x/VsE3esR7Z/H9LXwWn7qO7OLH8FWtCKQh3A== dependencies: tslib "^2.3.0" @@ -211,71 +212,71 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.0.tgz#348464b740f513646d8ae707952c7bd050d485bc" - integrity sha512-0VzSayomxa4ONBbnLLnbnHcxZltDOUgsM1AITp5CEbRNEKTkzuPVbSSRE7piEnjVVA7feRkkR2frpZQYzltk7Q== +"@angular/forms@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.2.tgz#949f5ea256613c225dff36f5d33882f3aabaee50" + integrity sha512-x37Fn2etSVUxnONSa/JNMH5oxIX8joilJawp+Oq2Bt4zu/uoZHe5AOajfsoscSnWo0Kp6R9aGRWnsExDQuHaVg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.0.tgz#5e10e012f5724741ba5dcd8aa100173343998cb2" - integrity sha512-9e8sqrWZ36viI/Eykjj+biMxAs/AGaYdgfe02yaOtoKeGxNwL9riyJ7erJbK5pXtRwSdo91SheEUr2zSr1wnyQ== +"@angular/localize@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.2.tgz#5ad6729e5415c337f3aff2a680ee8b24d7fe4858" + integrity sha512-m11eRcqQkvg2PBgwjKrY+jUa8VN8TS/PGfPY+OLUDn+D1gOUC2MibTqXhg3e+fF2mNhH2iIw+zurHtjUKGlHBA== dependencies: - "@babel/core" "7.18.9" + "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.5": - version "14.2.5" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.5.tgz#f2592222ffbfe603d0cc311eed36addd5f014d04" - integrity sha512-vC3F1r8WHclL1BbQVxOc9Ite1xH/pCOLnYYcx8HK1T2jlzeX7NxU1A58iBZC3rLj494tsMnRQDSZPXfazBiw0g== +"@angular/material@14.2.6": + version "14.2.6" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.6.tgz#ecaa8dd22c9970a0534bdcff741ad54fcb7f0951" + integrity sha512-HykrjDdDoH03oJkV6REW4cx8mVku38LPAagnfJVtqaKsNxG2KtF+LkSlkumeL2cqacFGen/Pf3QV8hxo4FLWhQ== dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#ad8fa4794060deeea034e21af4cd166fde772abb": - version "0.0.0-f8cb0ad4eb1f17a222dbd5b5910ec4694ea138b7" - uid ad8fa4794060deeea034e21af4cd166fde772abb - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ad8fa4794060deeea034e21af4cd166fde772abb" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#513257942cca4ad33a9a7ed141f8c6840f45545c": + version "0.0.0-f5eff76f2cca985a7cf2ed81df0f79e8848bc686" + uid "513257942cca4ad33a9a7ed141f8c6840f45545c" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#513257942cca4ad33a9a7ed141f8c6840f45545c" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.0.tgz#788af9f6e6fafd5e4f63ca3159bc9dd916285ef4" - integrity sha512-zP/6qSeTtil6zAgzMv3H0fPd/kw+GmtVMPwa9aXYyzrN4eYBCSrdsFt1hKiCrciRnXa5VNH4zbWKjst6MwNlJA== +"@angular/platform-browser-dynamic@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.2.tgz#c093a0c3da06a9acd2cb068c319f04d8c1162ffa" + integrity sha512-ALXP7RoresEJom+wt6AWvrgSQ0i+Bc1JAsXTTsKiMit0KLN8W/Uh1ZxoSjbcLJ1+CS/hS7ro1PwBIShuI8q8oA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.0.tgz#2c57966ba3d7e94f15127eb5558795af66c42752" - integrity sha512-TJigzCI5/wYjDPaeyzpfsjULSfpBQrhwNj8HvRrlDqyOb/N+iZYm2TTHg5qhdk/63kghBkyGcsJEPSeniwO/1g== +"@angular/platform-browser@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.2.tgz#473a3ea2fe841be3553427a234e86bad624294a0" + integrity sha512-xp01C38a+ADoM0a7Q1cmpHv/yacWLcvS35LdzOp0K853Pz6DZoatVcZgsZRk0NVwt/P1khvcBbl05Tg97Tbz5A== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.0.tgz#e0207c6c4295cded411a9ab96b9d72a5cf204784" - integrity sha512-j7MTd01Pyh79C+9ihWHQ3Ybkg566ajP1IsQTzRgZZfR9mkmtZyT0UMK/j3+1zpwykcvUZSyhy4L68eBvmz7G4Q== +"@angular/platform-server@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.2.tgz#9e3bcd72699932cb21dedab0afe626221da6576b" + integrity sha512-52Cy5HrhpbIDpB+/zSkkkuOEF2Nf+8jbVo63GOdnhEAwWttJ1+76mniYp44xv3mg3qFfAsKMZbm1vcHlRQo9Sg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.0.tgz#7eb5b639d0a981050c060dfb1ba0b69c57d51e9a" - integrity sha512-AuJBXwlAYx8nhw8E/S3hba9PDq3DhGDuYtw3wLtuW6/pHTtzWMbZLHzfBXckoq8NEI8a29qe0BYvJq3LwwD5iQ== +"@angular/router@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.2.tgz#89db44ea14aae4a83b0a647e3ed19f7494ad9473" + integrity sha512-uj/XcfZ1XiQ0tpx6TlY5Xak36XKf44w0r+EvjUCF6YlwAoObMtEiyXpqpahMoJRL6eMh02SulZVVA4rXqrw+aQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.0.tgz#ebc7b02ba6676bf0e6bea0f838d1a8c216676d80" - integrity sha512-I0TZyfFxnlEwKfBeVSZdHBfTv+/WcstVx6xdNGH/OzblvQpoXHLWKchylCpsnTZjTc2UvO7AS7pKhmrWUMMtIw== +"@angular/service-worker@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.2.tgz#5a6c4c19efa8838bbe9d54895c29199993e9faf9" + integrity sha512-37HhBxirnWgvYGW4/LRpJ3FWu2j/MyZol/a9QXKp1JAbFSGBK8fwj/cM/z7It3k8md6YN5i3BPm57TtuPW4pjg== dependencies: tslib "^2.3.0" @@ -296,27 +297,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== -"@babel/core@7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" - integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.9" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.9" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" @@ -359,15 +339,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.19.5": - version "7.19.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.5.tgz#da3f4b301c8086717eee9cab14da91b1fa5dcca7" - integrity sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg== - dependencies: - "@babel/types" "^7.19.4" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/generator@7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" @@ -377,7 +348,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.18.9", "@babel/generator@^7.19.3", "@babel/generator@^7.19.6": +"@babel/generator@^7.19.3", "@babel/generator@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.6.tgz#9e481a3fe9ca6261c972645ae3904ec0f9b34a1d" integrity sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA== @@ -485,7 +456,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.19.6": +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== @@ -578,7 +549,7 @@ "@babel/traverse" "^7.19.0" "@babel/types" "^7.19.0" -"@babel/helpers@^7.18.9", "@babel/helpers@^7.19.0", "@babel/helpers@^7.19.4": +"@babel/helpers@^7.19.0", "@babel/helpers@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.4.tgz#42154945f87b8148df7203a25c31ba9a73be46c5" integrity sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw== @@ -596,7 +567,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.9", "@babel/parser@^7.19.3", "@babel/parser@^7.19.6": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.6.tgz#b923430cb94f58a7eae8facbffa9efd19130e7f8" integrity sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA== @@ -617,20 +588,20 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@7.19.1", "@babel/plugin-proposal-async-generator-functions@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== +"@babel/plugin-proposal-async-generator-functions@7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" + integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" - integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== +"@babel/plugin-proposal-async-generator-functions@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" + integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-plugin-utils" "^7.19.0" @@ -1060,18 +1031,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-runtime@7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz#a3df2d7312eea624c7889a2dcd37fd1dfd25b2c6" - integrity sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz#9d2a9dbf4e12644d6f46e5e75bfbf02b5d6e9194" @@ -1227,13 +1186,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.19.4", "@babel/runtime@^7.8.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" - integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/runtime@7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" @@ -1241,7 +1193,14 @@ dependencies: regenerator-runtime "^0.13.10" -"@babel/template@7.18.10", "@babel/template@^7.18.10", "@babel/template@^7.18.6": +"@babel/runtime@^7.8.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" + integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@7.18.10", "@babel/template@^7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== @@ -1250,7 +1209,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.19.4", "@babel/traverse@^7.19.6": +"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.19.4", "@babel/traverse@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.6.tgz#7b4c865611df6d99cb131eec2e8ac71656a490dc" integrity sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ== @@ -1294,15 +1253,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.0.tgz#ee9e2369ceabca7fdba9ee1539ddcdf0fc57a283" - integrity sha512-FlUthrDl9oq8HYP6mXVvhJ1dGCEgZ9TOsHJ6aab56bwBJWNDRwWuCYElozZO/Lgu7NB6GkD3CGG8HBjxYM+ZZg== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.7.1": version "5.7.1" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.1.tgz#fe76bf0064382d7640651b210a97d5af35e50e39" @@ -1312,10 +1262,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.0.tgz#8eb01e18994553f24e08df175fd43d0298bfc51d" - integrity sha512-5QQVa9gZ7sOVA7b9HdSXLvDuZ8crqubGJkEsNUjSh1pSzHuyMIqKYbYaEhCFrhfk4M/XoTy/BkIER0bJSZYjMw== +"@bazel/esbuild@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.1.tgz#3e72ad6d71ab868429a7f02f914bba8958c2e05e" + integrity sha512-mNi5AaXQ5h6kwIkgXCtwZIvzhf+iEgj54PS4riHyWmk3qwFa+XqgLK+b//9tdjNVtisrIoyiZ0+J2Q6dU5YQsA== "@bazel/jasmine@5.7.1": version "5.7.1" @@ -1325,35 +1275,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.0.tgz#b367a5c24bad3dbfe833ab4747013cb741602130" - integrity sha512-I5N9SFf5xY8XQyIiBRGKAsTn284+pRVWqdrtICk8KehPjcRjEX/sB78Tsw02XB3ZmMw7pIrofu2HPXlGftzQIg== +"@bazel/protractor@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.1.tgz#4f9e95ea7b54e02910efdc52807bfaf226cb303e" + integrity sha512-zskjl1yBVNTUPcdxmvi13h2+KT9YY/1+7SSaG/PkutmZVeJhp9JL2s43Rdp2DQhjVaWhTDWNHyRur6dSMImmVg== -"@bazel/runfiles@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.0.tgz#e0ea75267808f78d0dedaff5e772e6a088250d8f" - integrity sha512-BfmbGuMpqkBNtAmllCrl70YAHo6OrCtcGzakV6KMBUBXzeGl22qRWHFhDvoWgeMKTjhbcywMooPg2Udq9MoVfQ== +"@bazel/runfiles@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.1.tgz#1929078bebafcea7a813a0ea8db8720dcf67a6dd" + integrity sha512-lMovXi/ENs+I8OWcUwAiV+0ZAv5pZJfKM70i2KdVZ5vU3Roc+pgPntH77ArEcPfFh0bJjuiSAgidr6KAMdTZiQ== -"@bazel/terser@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.0.tgz#0b47c950fd1f7355ba98eb013683d399f1f5f106" - integrity sha512-oCsRtQjkCXJlisXXuM5bQjrvS12Y5HUWPAEOP1E3PjobTsMf9wxUpvrTMYi+vDt9F+6qpU25ooiPegY6SFV5qA== +"@bazel/terser@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.1.tgz#2f247472d65fd53350f1366009b8c5245e23f705" + integrity sha512-WAy2LG7lU6M4CLHBe7UWAFpILCb0k4KpLnBp8uiQFCovSYgmhB7kThWGNwkx/dgmr8mI+aSZ8tBcv0CQc+C0ZQ== -"@bazel/typescript@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.0.tgz#3f888c603bf5f159dfb4c0c38584fb31d248d5a2" - integrity sha512-5c06vi2rQqd75GieqYGsNVon3tnkvbjMlVLJuwJ5/VtC9uOXKlCwrqxV8tbx789PTTtACNYzwKJTVW++58tgDA== +"@bazel/typescript@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.1.tgz#e585bcdc54a4ccb23d99c3e1206abf4853cf0682" + integrity sha512-MAnAtFxA2znadm81+rbYXcyWX1DEF/urzZ1F4LBq+w27EQ4PGyqIqCM5om7JcoSZJwjjMoBJc3SflRsMrZZ6+g== dependencies: - "@bazel/worker" "5.7.0" + "@bazel/worker" "5.7.1" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.0.tgz#d121261ee1833c5f5858f818f0e4d9a2d8e2c3c5" - integrity sha512-VqTG+0gsgXM07q+HiQcSAggNnAzjLei8lzlJQ+mey12KGI4AbNJ1vxlk2pnw9BZdckfe2rRzwkF44B5SNqIgSQ== +"@bazel/worker@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.1.tgz#2c4a9bd0e0ef75e496aec9599ff64a87307e7dad" + integrity sha512-UndmQVRqK0t0NMNl8I1P5XmxzdPvMA0X6jufszpfwy5gyzjOxeiOIzmC0ALCOx78CuJqOB/8WOI1pwTRmhd0tg== dependencies: google-protobuf "^3.6.1" @@ -1379,21 +1329,11 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm@0.15.11": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.11.tgz#bdd9c3e098183bdca97075aa4c3e0152ed3e10ee" - integrity sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA== - "@esbuild/android-arm@0.15.12": version "0.15.12" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769" integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA== -"@esbuild/linux-loong64@0.15.11": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.11.tgz#2f4f9a1083dcb4fc65233b6f59003c406abf32e5" - integrity sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw== - "@esbuild/linux-loong64@0.15.12": version "0.15.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1" @@ -1575,10 +1515,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0-rc.0": - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-rc.0.tgz#7624aa13f078812d6b9943428818ce115ddef6d0" - integrity sha512-g9evmRCMhjVRecNaPbYJjKcJvkZrcyv4V/MblxnaImxOmMd806xRUWsyGZ/Ck9Dk/dLbj/JCRHuAI+Xrstz/NA== +"@ngtools/webpack@15.0.0-rc.2": + version "15.0.0-rc.2" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-rc.2.tgz#92c3e20da96f738fa41142d896bff3247c1d1a42" + integrity sha512-YZ+vYVb7iXZyETYuS3X8xGi3I6WpgX07TAG/89LJOnqoOEvk1uk8sIzzKcXEOZkGI+0nFlFWj0sPGQXrUvAR1Q== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2190,7 +2130,7 @@ resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.3.0.tgz#1dfdfb226820911addb1b5a9031422be72c53aac" integrity sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA== -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== @@ -3149,25 +3089,25 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.12, autoprefixer@^10.4.12: - version "10.4.12" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" - integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== +autoprefixer@10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== dependencies: browserslist "^4.21.4" - caniuse-lite "^1.0.30001407" + caniuse-lite "^1.0.30001426" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" -autoprefixer@10.4.13: - version "10.4.13" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" - integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== +autoprefixer@^10.4.12: + version "10.4.12" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" + integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== dependencies: browserslist "^4.21.4" - caniuse-lite "^1.0.30001426" + caniuse-lite "^1.0.30001407" fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3190,16 +3130,6 @@ axios@0.21.4: dependencies: follow-redirects "^1.14.0" -babel-loader@8.2.5: - version "8.2.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" - integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - babel-loader@9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.0.1.tgz#d473f30a6ffc2f2abca610c01775c40fc5c2a970" @@ -3566,26 +3496,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.0.tgz#76be0cc410879a37ec08426cbfcc216a5c2f26a6" - integrity sha512-5hYD+c8Ytmymo9b8tPgYWrWfHOzaO8M8jMUkyiEYfeLTwo70MUaD/yA1pNONi3upx02JIn3mtpDuSCXoQgtlHw== - dependencies: - "@npmcli/fs" "^3.0.0" - "@npmcli/move-file" "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^2.0.0" - cacache@17.0.1, cacache@^17.0.0: version "17.0.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.1.tgz#bcba581a1b311b552b21f71d6205c67551a8d6d5" @@ -4745,244 +4655,111 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.11.tgz#50402129c3e85bb06434e212374c5f693e4c5f01" - integrity sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw== - esbuild-android-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc" integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q== -esbuild-android-arm64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.11.tgz#49bee35218ea2ccf1a0c5f187af77c1c0a5dee71" - integrity sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ== - esbuild-android-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666" integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA== -esbuild-darwin-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.11.tgz#89a90c8cf6f0029ac4169bfedd012a0412c1575f" - integrity sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA== - esbuild-darwin-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25" integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q== -esbuild-darwin-arm64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.11.tgz#556f4385c6de806cc81132dd7b8af00fe9d292df" - integrity sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ== - esbuild-darwin-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04" integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw== -esbuild-freebsd-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.11.tgz#fd86fd1b3b65366048f35b996d9cdf3547384eee" - integrity sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg== - esbuild-freebsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0" integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw== -esbuild-freebsd-arm64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.11.tgz#d346bcacfe9779ebc1a11edac1bdedeff6dda3b1" - integrity sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ== - esbuild-freebsd-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e" integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g== -esbuild-linux-32@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.11.tgz#64b50e774bf75af7dcc6a73ad509f2eb0ac4487b" - integrity sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA== - esbuild-linux-32@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4" integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA== -esbuild-linux-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.11.tgz#fba3a78b95769772863f8f6dc316abca55cf8416" - integrity sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA== - esbuild-linux-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931" integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA== -esbuild-linux-arm64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.11.tgz#c0cb31980eee066bfd39a4593660a0ecebe926cb" - integrity sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw== - esbuild-linux-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5" integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ== -esbuild-linux-arm@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.11.tgz#7824d20099977aa671016c7de7a5038c9870010f" - integrity sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A== - esbuild-linux-arm@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67" integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A== -esbuild-linux-mips64le@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.11.tgz#10627331c90164e553429ed25e025184bba485b6" - integrity sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA== - esbuild-linux-mips64le@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2" integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A== -esbuild-linux-ppc64le@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.11.tgz#be42679a36a5246b893fc8b898135ebacb5a0a14" - integrity sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg== - esbuild-linux-ppc64le@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7" integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg== -esbuild-linux-riscv64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.11.tgz#3ac2f328e3db73cbff833ada94314d8e79503e54" - integrity sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw== - esbuild-linux-riscv64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693" integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA== -esbuild-linux-s390x@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.11.tgz#e774e0df061b6847d86783bf3c8c4300a72e03ad" - integrity sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg== - esbuild-linux-s390x@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f" integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww== -esbuild-netbsd-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.11.tgz#55e265fa4489e3f396b16c81f6f5a11d6ca2a9a4" - integrity sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A== - esbuild-netbsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42" integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w== -esbuild-openbsd-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.11.tgz#bc04103ccfd8c2f2241e1add0b51a095955b73c4" - integrity sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ== - esbuild-openbsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae" integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw== -esbuild-sunos-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.11.tgz#ccd580305d31fde07b5c386da79c942aaf069013" - integrity sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw== - esbuild-sunos-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e" integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg== -esbuild-wasm@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.11.tgz#3e4c3f32caa8685f7ddf3ee7e23373a0b5d24c53" - integrity sha512-65iqJNZ+QRosxjtGfQad6By7iXEgil/KRoXb9KTquxIbiBjBowOtOIITAlTaqaBO2ufIyRTYc4t1JIObq+c/mQ== - esbuild-wasm@0.15.12, esbuild-wasm@^0.15.9: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" integrity sha512-mm6ouQxg27wHHIBc7ii8x4v2eu67O14wfa7OM0gfwmrHVzuQCLd6hATK/tvR73Pif/WS+/OvhcV4hY0REfHeUw== -esbuild-windows-32@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.11.tgz#40fe1d48f9b20a76f6db5109aaaf1511aed58c71" - integrity sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q== - esbuild-windows-32@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0" integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw== -esbuild-windows-64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.11.tgz#80c58b1ef2ff030c78e3a06e7a922776cc4cb687" - integrity sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ== - esbuild-windows-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6" integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA== -esbuild-windows-arm64@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.11.tgz#018624023b5c3f0cca334cc99f5ef7134d396333" - integrity sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw== - esbuild-windows-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328" integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA== -esbuild@0.15.11: - version "0.15.11" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.11.tgz#524d48612a9aa7edc1753c83459cb6fcae0cb66e" - integrity sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg== - optionalDependencies: - "@esbuild/android-arm" "0.15.11" - "@esbuild/linux-loong64" "0.15.11" - esbuild-android-64 "0.15.11" - esbuild-android-arm64 "0.15.11" - esbuild-darwin-64 "0.15.11" - esbuild-darwin-arm64 "0.15.11" - esbuild-freebsd-64 "0.15.11" - esbuild-freebsd-arm64 "0.15.11" - esbuild-linux-32 "0.15.11" - esbuild-linux-64 "0.15.11" - esbuild-linux-arm "0.15.11" - esbuild-linux-arm64 "0.15.11" - esbuild-linux-mips64le "0.15.11" - esbuild-linux-ppc64le "0.15.11" - esbuild-linux-riscv64 "0.15.11" - esbuild-linux-s390x "0.15.11" - esbuild-netbsd-64 "0.15.11" - esbuild-openbsd-64 "0.15.11" - esbuild-sunos-64 "0.15.11" - esbuild-windows-32 "0.15.11" - esbuild-windows-64 "0.15.11" - esbuild-windows-arm64 "0.15.11" - esbuild@0.15.12, esbuild@^0.15.9: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" @@ -5546,7 +5323,7 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: +find-cache-dir@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== @@ -7464,7 +7241,7 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0, make-dir@~3.1.0: +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -9654,15 +9431,6 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" @@ -10602,11 +10370,6 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - tslib@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" @@ -10617,6 +10380,11 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" From 7f4c252eb5b84a161473f09a7991f14bbb32b7ff Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 6 Nov 2022 06:40:27 +0000 Subject: [PATCH 1098/1388] build: update all non-major dependencies --- WORKSPACE | 10 +- package.json | 20 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 16 +- yarn.lock | 474 +++++++++++++++++- 5 files changed, 483 insertions(+), 39 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 13ac4a654383..c3ae41f177b8 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -32,8 +32,8 @@ build_bazel_rules_nodejs_dependencies() http_archive( name = "rules_pkg", - sha256 = "451e08a4d78988c06fa3f9306ec813b836b1d076d0f055595444ba4ff22b867f", - urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.7.1/rules_pkg-0.7.1.tar.gz"], + sha256 = "eea0f59c28a9241156a47d7a8e32db9122f3d50b505fae0f33de6ce4d9b61834", + urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz"], ) load("@bazel_tools//tools/sh:sh_configure.bzl", "sh_configure") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "eae670935704ce5f9d050b2c23d426b4ae453458830eebdaac1f11a6a9da150b", - strip_prefix = "bazel-lib-1.15.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.15.0.tar.gz", + sha256 = "88ac1874c9930c5f01482d25a4f25104a788a178bf1c20053c00322ea7059bd6", + strip_prefix = "bazel-lib-1.16.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.16.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 11c45c763396..e2603d8c0b2a 100644 --- a/package.json +++ b/package.json @@ -81,13 +81,13 @@ "@angular/platform-server": "15.0.0-rc.2", "@angular/router": "15.0.0-rc.2", "@angular/service-worker": "15.0.0-rc.2", - "@babel/core": "7.19.6", - "@babel/generator": "7.20.1", + "@babel/core": "7.20.2", + "@babel/generator": "7.20.2", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", - "@babel/preset-env": "7.19.4", + "@babel/preset-env": "7.20.2", "@babel/runtime": "7.20.1", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", @@ -129,20 +129,20 @@ "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", - "babel-loader": "9.0.1", + "babel-loader": "9.1.0", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "^4.9.1", - "cacache": "17.0.1", + "cacache": "17.0.2", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", "css-loader": "6.7.1", "debug": "^4.1.1", - "esbuild": "0.15.12", - "esbuild-wasm": "0.15.12", - "eslint": "8.26.0", + "esbuild": "0.15.13", + "esbuild-wasm": "0.15.13", + "eslint": "8.27.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -193,7 +193,7 @@ "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.55.0", + "sass": "1.56.0", "sass-loader": "13.1.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", @@ -217,7 +217,7 @@ "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", - "yargs": "17.6.0", + "yargs": "17.6.2", "yargs-parser": "21.1.1", "zone.js": "^0.11.3" } diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index c4d5f43db518..b267a585d5d0 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -39,7 +39,7 @@ "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", - "yargs": "17.6.0" + "yargs": "17.6.2" }, "devDependencies": { "rxjs": "6.6.7" diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 3980549a2643..14cc32c8570f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,28 +10,28 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.19.6", - "@babel/generator": "7.20.1", + "@babel/core": "7.20.2", + "@babel/generator": "7.20.2", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", - "@babel/preset-env": "7.19.4", + "@babel/preset-env": "7.20.2", "@babel/runtime": "7.20.1", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", - "babel-loader": "9.0.1", + "babel-loader": "9.1.0", "babel-plugin-istanbul": "6.1.1", "browserslist": "^4.9.1", - "cacache": "17.0.1", + "cacache": "17.0.2", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.1", - "esbuild-wasm": "0.15.12", + "esbuild-wasm": "0.15.13", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -52,7 +52,7 @@ "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.55.0", + "sass": "1.56.0", "sass-loader": "13.1.0", "semver": "7.3.8", "source-map-loader": "4.0.1", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.12" + "esbuild": "0.15.13" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index 551059daa969..0cafcebe7b1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -297,6 +297,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== +"@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30" + integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== + "@babel/core@7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" @@ -339,6 +344,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92" + integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.2" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.1" + "@babel/parser" "^7.20.2" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" @@ -348,6 +374,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@7.20.2", "@babel/generator@^7.20.1", "@babel/generator@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.2.tgz#c2e89e22613a039285c1e7b749e2cd0b30b9a481" + integrity sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q== + dependencies: + "@babel/types" "^7.20.2" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/generator@^7.19.3", "@babel/generator@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.6.tgz#9e481a3fe9ca6261c972645ae3904ec0f9b34a1d" @@ -382,6 +417,16 @@ browserslist "^4.21.3" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" + integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== + dependencies: + "@babel/compat-data" "^7.20.0" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" @@ -470,6 +515,20 @@ "@babel/traverse" "^7.19.6" "@babel/types" "^7.19.4" +"@babel/helper-module-transforms@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" + integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== + 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.18.10" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.2" + "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" @@ -482,6 +541,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== +"@babel/helper-plugin-utils@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" @@ -492,7 +556,7 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9", "@babel/helper-replace-supers@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== @@ -510,6 +574,13 @@ dependencies: "@babel/types" "^7.19.4" +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" @@ -558,6 +629,15 @@ "@babel/traverse" "^7.19.4" "@babel/types" "^7.19.4" +"@babel/helpers@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9" + integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.0" + "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -572,6 +652,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.6.tgz#b923430cb94f58a7eae8facbffa9efd19130e7f8" integrity sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA== +"@babel/parser@^7.20.1", "@babel/parser@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.2.tgz#9aeb9b92f64412b5f81064d46f6a1ac0881337f4" + integrity sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -588,7 +673,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@7.20.1": +"@babel/plugin-proposal-async-generator-functions@7.20.1", "@babel/plugin-proposal-async-generator-functions@^7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== @@ -684,6 +769,17 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.18.8" +"@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz#a556f59d555f06961df1e572bb5eca864c84022d" + integrity sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" @@ -769,6 +865,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -862,6 +965,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz#f59b1767e6385c663fd0bce655db6ca9c8b236ed" + integrity sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-classes@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" @@ -877,6 +987,21 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz#c0033cf1916ccf78202d04be4281d161f6709bb2" + integrity sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" @@ -891,6 +1016,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.19.0" +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz#c23741cfa44ddd35f5e53896e88c75331b8b2792" + integrity sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" @@ -944,7 +1076,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.18.6": +"@babel/plugin-transform-modules-amd@^7.18.6", "@babel/plugin-transform-modules-amd@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== @@ -952,7 +1084,7 @@ "@babel/helper-module-transforms" "^7.19.6" "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-modules-commonjs@^7.18.6": +"@babel/plugin-transform-modules-commonjs@^7.18.6", "@babel/plugin-transform-modules-commonjs@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== @@ -961,7 +1093,7 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-simple-access" "^7.19.4" -"@babel/plugin-transform-modules-systemjs@^7.19.0": +"@babel/plugin-transform-modules-systemjs@^7.19.0", "@babel/plugin-transform-modules-systemjs@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== @@ -1009,6 +1141,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-transform-parameters@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz#9a5aa370fdcce36f110455e9369db7afca0f9eeb" + integrity sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" @@ -1175,6 +1314,87 @@ core-js-compat "^3.25.1" semver "^6.3.0" +"@babel/preset-env@7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@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.18.9" + "@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.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@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-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@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.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@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.18.8" + "@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.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@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/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + 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" + semver "^6.3.0" + "@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" @@ -1225,6 +1445,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" + integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.1" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.1" + "@babel/types" "^7.20.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.19.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" @@ -1243,6 +1479,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842" + integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bazel/bazelisk@1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" @@ -1334,11 +1579,21 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769" integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA== +"@esbuild/android-arm@0.15.13": + version "0.15.13" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" + integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== + "@esbuild/linux-loong64@0.15.12": version "0.15.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1" integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw== +"@esbuild/linux-loong64@0.15.13": + version "0.15.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" + integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -1624,6 +1879,13 @@ dependencies: semver "^7.3.5" +"@npmcli/fs@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" + integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== + dependencies: + semver "^7.3.5" + "@npmcli/git@^3.0.0": version "3.0.2" resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" @@ -3138,6 +3400,14 @@ babel-loader@9.0.1: find-cache-dir "^3.3.2" schema-utils "^4.0.0" +babel-loader@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.0.tgz#839e9ae88aea930864ef9ec0f356dfca96ecf238" + integrity sha512-Antt61KJPinUMwHwIIz9T5zfMgevnfZkEVWYDWlG888fgdvRRGD0JTuf/fFozQnfT+uq64sk1bmdHDy/mOEWnA== + dependencies: + find-cache-dir "^3.3.2" + schema-utils "^4.0.0" + babel-plugin-istanbul@6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -3516,6 +3786,25 @@ cacache@17.0.1, cacache@^17.0.0: tar "^6.1.11" unique-filename "^3.0.0" +cacache@17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.2.tgz#ff2bd029bf45099b3fe711f56fbf138b846c8d6d" + integrity sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -4660,106 +4949,211 @@ esbuild-android-64@0.15.12: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc" integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q== +esbuild-android-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" + integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== + esbuild-android-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666" integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA== +esbuild-android-arm64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" + integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== + esbuild-darwin-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25" integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q== +esbuild-darwin-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" + integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== + esbuild-darwin-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04" integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw== +esbuild-darwin-arm64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" + integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== + esbuild-freebsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0" integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw== +esbuild-freebsd-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" + integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== + esbuild-freebsd-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e" integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g== +esbuild-freebsd-arm64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" + integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== + esbuild-linux-32@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4" integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA== +esbuild-linux-32@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" + integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== + esbuild-linux-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931" integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA== +esbuild-linux-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" + integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== + esbuild-linux-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5" integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ== +esbuild-linux-arm64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" + integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== + esbuild-linux-arm@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67" integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A== +esbuild-linux-arm@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" + integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== + esbuild-linux-mips64le@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2" integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A== +esbuild-linux-mips64le@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" + integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== + esbuild-linux-ppc64le@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7" integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg== +esbuild-linux-ppc64le@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" + integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== + esbuild-linux-riscv64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693" integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA== +esbuild-linux-riscv64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" + integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== + esbuild-linux-s390x@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f" integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww== +esbuild-linux-s390x@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" + integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== + esbuild-netbsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42" integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w== +esbuild-netbsd-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" + integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== + esbuild-openbsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae" integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw== +esbuild-openbsd-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" + integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== + esbuild-sunos-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e" integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg== +esbuild-sunos-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" + integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== + esbuild-wasm@0.15.12, esbuild-wasm@^0.15.9: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" integrity sha512-mm6ouQxg27wHHIBc7ii8x4v2eu67O14wfa7OM0gfwmrHVzuQCLd6hATK/tvR73Pif/WS+/OvhcV4hY0REfHeUw== +esbuild-wasm@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz#c4d7f771679b2e14f7a456403751d908db1c07d1" + integrity sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw== + esbuild-windows-32@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0" integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw== +esbuild-windows-32@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" + integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== + esbuild-windows-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6" integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA== +esbuild-windows-64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" + integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== + esbuild-windows-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328" integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA== +esbuild-windows-arm64@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" + integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== + esbuild@0.15.12, esbuild@^0.15.9: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" @@ -4788,6 +5182,34 @@ esbuild@0.15.12, esbuild@^0.15.9: esbuild-windows-64 "0.15.12" esbuild-windows-arm64 "0.15.12" +esbuild@0.15.13: + version "0.15.13" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.13.tgz#7293480038feb2bafa91d3f6a20edab3ba6c108a" + integrity sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ== + optionalDependencies: + "@esbuild/android-arm" "0.15.13" + "@esbuild/linux-loong64" "0.15.13" + esbuild-android-64 "0.15.13" + esbuild-android-arm64 "0.15.13" + esbuild-darwin-64 "0.15.13" + esbuild-darwin-arm64 "0.15.13" + esbuild-freebsd-64 "0.15.13" + esbuild-freebsd-arm64 "0.15.13" + esbuild-linux-32 "0.15.13" + esbuild-linux-64 "0.15.13" + esbuild-linux-arm "0.15.13" + esbuild-linux-arm64 "0.15.13" + esbuild-linux-mips64le "0.15.13" + esbuild-linux-ppc64le "0.15.13" + esbuild-linux-riscv64 "0.15.13" + esbuild-linux-s390x "0.15.13" + esbuild-netbsd-64 "0.15.13" + esbuild-openbsd-64 "0.15.13" + esbuild-sunos-64 "0.15.13" + esbuild-windows-32 "0.15.13" + esbuild-windows-64 "0.15.13" + esbuild-windows-arm64 "0.15.13" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4921,10 +5343,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.26.0: - version "8.26.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.26.0.tgz#2bcc8836e6c424c4ac26a5674a70d44d84f2181d" - integrity sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg== +eslint@8.27.0: + version "8.27.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.27.0.tgz#d547e2f7239994ad1faa4bb5d84e5d809db7cf64" + integrity sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ== dependencies: "@eslint/eslintrc" "^1.3.3" "@humanwhocodes/config-array" "^0.11.6" @@ -9407,6 +9829,15 @@ sass@1.55.0, sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.56.0: + version "1.56.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.0.tgz#134032075a3223c8d49cb5c35e091e5ba1de8e0a" + integrity sha512-WFJ9XrpkcnqZcYuLRJh5qiV6ibQOR4AezleeEjTjMsCocYW59dEG19U3fwTTXxzi2Ed3yjPBp727hbbj53pHFw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" uid "9c16682e4c9716734432789884f868212f95f563" @@ -11182,7 +11613,7 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@21.1.1, yargs-parser@^21.0.0: +yargs-parser@21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -11213,10 +11644,10 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.6.0, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" - integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== +yargs@17.6.2: + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== dependencies: cliui "^8.0.1" escalade "^3.1.1" @@ -11224,7 +11655,7 @@ yargs@17.6.0, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: require-directory "^2.1.1" string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^21.0.0" + yargs-parser "^21.1.1" yargs@^15.3.1: version "15.4.1" @@ -11256,6 +11687,19 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: + version "17.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" + integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From e1eb1a985d65cfe76a719c5007b22222f62928b0 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 5 Nov 2022 05:05:10 +0000 Subject: [PATCH 1099/1388] build: update github/codeql-action action to v2.1.31 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index a24a93c34619..dc000d103db7 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@18fe527fa8b29f134bb91f32f1a5dc5abb15ed7f # tag=v2.1.30 + uses: github/codeql-action/upload-sarif@c3b6fce4ee2ca25bc1066aa3bf73962fda0e8898 # tag=v2.1.31 with: sarif_file: results.sarif From aaad35b0ac4b82a07c8b351e3be5d1d77326f31d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 3 Nov 2022 16:12:25 -0400 Subject: [PATCH 1100/1388] fix(@angular-devkit/build-angular): rebase Sass url() values when using esbuild-based builder When using the experimental esbuild-based browser application builder with Sass, paths contained in `url()` CSS functions will now be rebased to reflect their final location relative to the output of the Sass compiler. This allows the bundler to locate and process any resource files such as images or fonts used within the stylesheet. The implementation of the rebasing functionality uses a series of custom Sass importers to transform the input stylesheets (from import or use rules) when they are loaded from the file system. However, for the Sass compiler to use the load functionality of an importer, the `canonicalize` function (used to resolve an import) of the same importer must return a resolved path to the requested stylesheet. To support this requirement, all stylesheet resolution has been implemented in three new importers: relative, module, and load path. An additional benefit of these resolvers is that they have been implemented to minimize the volume of filesystem calls and also cache directory entry information (currently per request) to further reduce file system access. The reduction in filesystem calls provides a small performance benefit for projects containing a large amount of Sass file imports. --- .../builders/browser-esbuild/sass-plugin.ts | 2 +- .../src/sass/rebasing-importer.ts | 299 ++++++++++++++++++ .../build_angular/src/sass/sass-service.ts | 3 + .../build_angular/src/sass/worker.ts | 78 ++++- 4 files changed, 366 insertions(+), 16 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 1f7aab5a38f4..0d3fd62e4ec0 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -33,7 +33,7 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri setup(build: PluginBuild): void { build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { // Lazily load Sass when a Sass file is found - sassWorkerPool ??= new SassWorkerImplementation(); + sassWorkerPool ??= new SassWorkerImplementation(true); const warnings: PartialMessage[] = []; try { diff --git a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts new file mode 100644 index 000000000000..4e4943bbabbc --- /dev/null +++ b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts @@ -0,0 +1,299 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Dirent, readFileSync, readdirSync } from 'node:fs'; +import { basename, dirname, extname, join, relative } from 'node:path'; +import { fileURLToPath, pathToFileURL } from 'node:url'; +import type { FileImporter, Importer, ImporterResult, Syntax } from 'sass'; + +/** + * A Regular expression used to find all `url()` functions within a stylesheet. + * From packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts + */ +const URL_REGEXP = /url(?:\(\s*(['"]?))(.*?)(?:\1\s*\))/g; + +/** + * A Sass Importer base class that provides the load logic to rebase all `url()` functions + * within a stylesheet. The rebasing will ensure that the URLs in the output of the Sass compiler + * reflect the final filesystem location of the output CSS file. + * + * This class provides the core of the rebasing functionality. To ensure that each file is processed + * by this importer's load implementation, the Sass compiler requires the importer's canonicalize + * function to return a non-null value with the resolved location of the requested stylesheet. + * Concrete implementations of this class must provide this canonicalize functionality for rebasing + * to be effective. + */ +abstract class UrlRebasingImporter implements Importer<'sync'> { + /** + * @param entryDirectory The directory of the entry stylesheet that was passed to the Sass compiler. + */ + constructor(private entryDirectory: string) {} + + abstract canonicalize(url: string, options: { fromImport: boolean }): URL | null; + + load(canonicalUrl: URL): ImporterResult | null { + const stylesheetPath = fileURLToPath(canonicalUrl); + let contents = readFileSync(stylesheetPath, 'utf-8'); + + // Rebase any URLs that are found + if (contents.includes('url(')) { + const stylesheetDirectory = dirname(stylesheetPath); + + let match; + URL_REGEXP.lastIndex = 0; + while ((match = URL_REGEXP.exec(contents))) { + const originalUrl = match[2]; + + // If root-relative, absolute or protocol relative url, leave as-is + if (/^((?:\w+:)?\/\/|data:|chrome:|#|\/)/.test(originalUrl)) { + continue; + } + + const rebasedPath = relative(this.entryDirectory, join(stylesheetDirectory, originalUrl)); + + // Normalize path separators and escape characters + // https://developer.mozilla.org/en-US/docs/Web/CSS/url#syntax + const rebasedUrl = './' + rebasedPath.replace(/\\/g, '/').replace(/[()\s'"]/g, '\\$&'); + + contents = + contents.slice(0, match.index) + + `url(${rebasedUrl})` + + contents.slice(match.index + match[0].length); + } + } + + let syntax: Syntax | undefined; + switch (extname(stylesheetPath).toLowerCase()) { + case 'css': + syntax = 'css'; + break; + case 'sass': + syntax = 'indented'; + break; + default: + syntax = 'scss'; + break; + } + + return { + contents, + syntax, + sourceMapUrl: canonicalUrl, + }; + } +} + +/** + * Provides the Sass importer logic to resolve relative stylesheet imports via both import and use rules + * and also rebase any `url()` function usage within those stylesheets. The rebasing will ensure that + * the URLs in the output of the Sass compiler reflect the final filesystem location of the output CSS file. + */ +export class RelativeUrlRebasingImporter extends UrlRebasingImporter { + constructor(entryDirectory: string, private directoryCache = new Map()) { + super(entryDirectory); + } + + canonicalize(url: string, options: { fromImport: boolean }): URL | null { + return this.resolveImport(url, options.fromImport, true); + } + + /** + * Attempts to resolve a provided URL to a stylesheet file using the Sass compiler's resolution algorithm. + * Based on https://github.com/sass/dart-sass/blob/44d6bb6ac72fe6b93f5bfec371a1fffb18e6b76d/lib/src/importer/utils.dart + * @param url The file protocol URL to resolve. + * @param fromImport If true, URL was from an import rule; otherwise from a use rule. + * @param checkDirectory If true, try checking for a directory with the base name containing an index file. + * @returns A full resolved URL of the stylesheet file or `null` if not found. + */ + private resolveImport(url: string, fromImport: boolean, checkDirectory: boolean): URL | null { + let stylesheetPath; + try { + stylesheetPath = fileURLToPath(url); + } catch { + // Only file protocol URLs are supported by this importer + return null; + } + + const directory = dirname(stylesheetPath); + const extension = extname(stylesheetPath); + const hasStyleExtension = + extension === '.scss' || extension === '.sass' || extension === '.css'; + // Remove the style extension if present to allow adding the `.import` suffix + const filename = basename(stylesheetPath, hasStyleExtension ? extension : undefined); + + let entries; + try { + entries = this.directoryCache.get(directory); + if (!entries) { + entries = readdirSync(directory, { withFileTypes: true }); + this.directoryCache.set(directory, entries); + } + } catch { + return null; + } + + const importPotentials = new Set(); + const defaultPotentials = new Set(); + + if (hasStyleExtension) { + if (fromImport) { + importPotentials.add(filename + '.import' + extension); + importPotentials.add('_' + filename + '.import' + extension); + } + defaultPotentials.add(filename + extension); + defaultPotentials.add('_' + filename + extension); + } else { + if (fromImport) { + importPotentials.add(filename + '.import.scss'); + importPotentials.add(filename + '.import.sass'); + importPotentials.add(filename + '.import.css'); + importPotentials.add('_' + filename + '.import.scss'); + importPotentials.add('_' + filename + '.import.sass'); + importPotentials.add('_' + filename + '.import.css'); + } + defaultPotentials.add(filename + '.scss'); + defaultPotentials.add(filename + '.sass'); + defaultPotentials.add(filename + '.css'); + defaultPotentials.add('_' + filename + '.scss'); + defaultPotentials.add('_' + filename + '.sass'); + defaultPotentials.add('_' + filename + '.css'); + } + + const foundDefaults: string[] = []; + const foundImports: string[] = []; + let hasPotentialIndex = false; + for (const entry of entries) { + // Record if the name should be checked as a directory with an index file + if (checkDirectory && !hasStyleExtension && entry.name === filename && entry.isDirectory()) { + hasPotentialIndex = true; + } + + if (!entry.isFile()) { + continue; + } + + if (importPotentials.has(entry.name)) { + foundImports.push(join(directory, entry.name)); + } + + if (defaultPotentials.has(entry.name)) { + foundDefaults.push(join(directory, entry.name)); + } + } + + // `foundImports` will only contain elements if `options.fromImport` is true + const result = this.checkFound(foundImports) ?? this.checkFound(foundDefaults); + + if (result === null && hasPotentialIndex) { + // Check for index files using filename as a directory + return this.resolveImport(url + '/index', fromImport, false); + } + + return result; + } + + /** + * Checks an array of potential stylesheet files to determine if there is a valid + * stylesheet file. More than one discovered file may indicate an error. + * @param found An array of discovered stylesheet files. + * @returns A fully resolved URL for a stylesheet file or `null` if not found. + * @throws If there are ambiguous files discovered. + */ + private checkFound(found: string[]): URL | null { + if (found.length === 0) { + // Not found + return null; + } + + // More than one found file may be an error + if (found.length > 1) { + // Presence of CSS files alongside a Sass file does not cause an error + const foundWithoutCss = found.filter((element) => extname(element) !== '.css'); + // If the length is zero then there are two or more css files + // If the length is more than one than there are two or more sass/scss files + if (foundWithoutCss.length !== 1) { + throw new Error('Ambiguous import detected.'); + } + + // Return the non-CSS file (sass/scss files have priority) + // https://github.com/sass/dart-sass/blob/44d6bb6ac72fe6b93f5bfec371a1fffb18e6b76d/lib/src/importer/utils.dart#L44-L47 + return pathToFileURL(foundWithoutCss[0]); + } + + return pathToFileURL(found[0]); + } +} + +/** + * Provides the Sass importer logic to resolve module (npm package) stylesheet imports via both import and + * use rules and also rebase any `url()` function usage within those stylesheets. The rebasing will ensure that + * the URLs in the output of the Sass compiler reflect the final filesystem location of the output CSS file. + */ +export class ModuleUrlRebasingImporter extends RelativeUrlRebasingImporter { + constructor( + entryDirectory: string, + directoryCache: Map, + private finder: FileImporter<'sync'>['findFileUrl'], + ) { + super(entryDirectory, directoryCache); + } + + override canonicalize(url: string, options: { fromImport: boolean }): URL | null { + if (url.startsWith('file://')) { + return super.canonicalize(url, options); + } + + const result = this.finder(url, options); + + return result ? super.canonicalize(result.href, options) : null; + } +} + +/** + * Provides the Sass importer logic to resolve load paths located stylesheet imports via both import and + * use rules and also rebase any `url()` function usage within those stylesheets. The rebasing will ensure that + * the URLs in the output of the Sass compiler reflect the final filesystem location of the output CSS file. + */ +export class LoadPathsUrlRebasingImporter extends RelativeUrlRebasingImporter { + constructor( + entryDirectory: string, + directoryCache: Map, + private loadPaths: Iterable, + ) { + super(entryDirectory, directoryCache); + } + + override canonicalize(url: string, options: { fromImport: boolean }): URL | null { + if (url.startsWith('file://')) { + return super.canonicalize(url, options); + } + + let result = null; + for (const loadPath of this.loadPaths) { + result = super.canonicalize(pathToFileURL(join(loadPath, url)).href, options); + if (result !== null) { + break; + } + } + + return result; + } +} + +/** + * Workaround for Sass not calling instance methods with `this`. + * The `canonicalize` and `load` methods will be bound to the class instance. + * @param importer A Sass importer to bind. + * @returns The bound Sass importer. + */ +export function sassBindWorkaround(importer: T): T { + importer.canonicalize = importer.canonicalize.bind(importer); + importer.load = importer.load.bind(importer); + + return importer; +} diff --git a/packages/angular_devkit/build_angular/src/sass/sass-service.ts b/packages/angular_devkit/build_angular/src/sass/sass-service.ts index c59326fef111..1db3b507098c 100644 --- a/packages/angular_devkit/build_angular/src/sass/sass-service.ts +++ b/packages/angular_devkit/build_angular/src/sass/sass-service.ts @@ -93,6 +93,8 @@ export class SassWorkerImplementation { private idCounter = 1; private nextWorkerIndex = 0; + constructor(private rebase = false) {} + /** * Provides information about the Sass implementation. * This mimics enough of the `dart-sass` value to be used with the `sass-loader`. @@ -170,6 +172,7 @@ export class SassWorkerImplementation { source, hasImporter: !!importers?.length, hasLogger: !!logger, + rebase: this.rebase, options: { ...serializableOptions, // URL is not serializable so to convert to string here and back to URL in the worker. diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index 079beb6ff351..3723f91c2c49 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -6,9 +6,23 @@ * found in the LICENSE file at https://angular.io/license */ -import { Exception, SourceSpan, StringOptionsWithImporter, compileString } from 'sass'; -import { fileURLToPath, pathToFileURL } from 'url'; -import { MessagePort, parentPort, receiveMessageOnPort, workerData } from 'worker_threads'; +import { Dirent } from 'node:fs'; +import { dirname } from 'node:path'; +import { fileURLToPath, pathToFileURL } from 'node:url'; +import { MessagePort, parentPort, receiveMessageOnPort, workerData } from 'node:worker_threads'; +import { + Exception, + FileImporter, + SourceSpan, + StringOptionsWithImporter, + compileString, +} from 'sass'; +import { + LoadPathsUrlRebasingImporter, + ModuleUrlRebasingImporter, + RelativeUrlRebasingImporter, + sassBindWorkaround, +} from './rebasing-importer'; /** * A request to render a Sass stylesheet using the supplied options. @@ -26,7 +40,7 @@ interface RenderRequestMessage { /** * The Sass options to provide to the `dart-sass` compile function. */ - options: Omit, 'url'> & { url?: string }; + options: Omit, 'url'> & { url: string }; /** * Indicates the request has a custom importer function on the main thread. */ @@ -35,6 +49,10 @@ interface RenderRequestMessage { * Indicates the request has a custom logger for warning messages. */ hasLogger: boolean; + /** + * Indicates paths within url() CSS functions should be rebased. + */ + rebase: boolean; } if (!parentPort || !workerData) { @@ -52,7 +70,8 @@ parentPort.on('message', (message: RenderRequestMessage) => { throw new Error('"parentPort" is not defined. Sass worker must be executed as a Worker.'); } - const { id, hasImporter, hasLogger, source, options } = message; + const { id, hasImporter, hasLogger, source, options, rebase } = message; + const entryDirectory = dirname(options.url); let warnings: | { message: string; @@ -62,32 +81,61 @@ parentPort.on('message', (message: RenderRequestMessage) => { }[] | undefined; try { + const directoryCache = new Map(); if (hasImporter) { // When a custom importer function is present, the importer request must be proxied // back to the main thread where it can be executed. // This process must be synchronous from the perspective of dart-sass. The `Atomics` // functions combined with the shared memory `importSignal` and the Node.js // `receiveMessageOnPort` function are used to ensure synchronous behavior. - options.importers = [ - { - findFileUrl: (url, options) => { - Atomics.store(importerSignal, 0, 0); - workerImporterPort.postMessage({ id, url, options }); - Atomics.wait(importerSignal, 0, 0); + const proxyImporter: FileImporter<'sync'> = { + findFileUrl: (url, options) => { + Atomics.store(importerSignal, 0, 0); + workerImporterPort.postMessage({ id, url, options }); + Atomics.wait(importerSignal, 0, 0); - const result = receiveMessageOnPort(workerImporterPort)?.message as string | null; + const result = receiveMessageOnPort(workerImporterPort)?.message as string | null; - return result ? pathToFileURL(result) : null; - }, + return result ? pathToFileURL(result) : null; }, + }; + options.importers = [ + rebase + ? sassBindWorkaround( + new ModuleUrlRebasingImporter( + entryDirectory, + directoryCache, + proxyImporter.findFileUrl, + ), + ) + : proxyImporter, ]; } + if (rebase && options.loadPaths?.length) { + options.importers ??= []; + options.importers.push( + sassBindWorkaround( + new LoadPathsUrlRebasingImporter(entryDirectory, directoryCache, options.loadPaths), + ), + ); + options.loadPaths = undefined; + } + + let relativeImporter; + if (rebase) { + relativeImporter = sassBindWorkaround( + new RelativeUrlRebasingImporter(entryDirectory, directoryCache), + ); + } + // The synchronous Sass render function can be up to two times faster than the async variant const result = compileString(source, { ...options, // URL is not serializable so to convert to string in the parent and back to URL here. - url: options.url ? pathToFileURL(options.url) : undefined, + url: pathToFileURL(options.url), + // The `importer` option (singular) handles relative imports + importer: relativeImporter, logger: hasLogger ? { warn(message, { deprecation, span, stack }) { From b4e45126f31812a9acf7cb2f8403d310941eee2a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 7 Nov 2022 12:48:09 +0000 Subject: [PATCH 1101/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index b5d8aba6f064..64748530c427 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@7d103b83a07f132629592fc9918ce17d42a5e382 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 + - uses: angular/dev-infra/github-actions/post-approval-changes@7d103b83a07f132629592fc9918ce17d42a5e382 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index cddd5cc4a3a7..7ed7afd86084 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 + - uses: angular/dev-infra/github-actions/feature-request@7d103b83a07f132629592fc9918ce17d42a5e382 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index df57f9daf83c..23eaf698e908 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@f5eff76f2cca985a7cf2ed81df0f79e8848bc686 + - uses: angular/dev-infra/github-actions/lock-closed@7d103b83a07f132629592fc9918ce17d42a5e382 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index e2603d8c0b2a..bb9942269738 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0-rc.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#17772156defc8e91a8b28459f9fca389391ba117", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0", "@angular/cdk": "14.2.6", "@angular/common": "15.0.0-rc.2", "@angular/compiler": "15.0.0-rc.2", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0-rc.2", "@angular/localize": "15.0.0-rc.2", "@angular/material": "14.2.6", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#513257942cca4ad33a9a7ed141f8c6840f45545c", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad", "@angular/platform-browser": "15.0.0-rc.2", "@angular/platform-browser-dynamic": "15.0.0-rc.2", "@angular/platform-server": "15.0.0-rc.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 1d0184f2e456..95029e4de7d0 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#7e38c3d11d26f0d622fb4a60c5a40df01d754bd4", - "@angular/cdk": "github:angular/cdk-builds#92130ad3eecdec26392ad518d74b9259aead0bb3", - "@angular/common": "github:angular/common-builds#9f364feae82d6f059de18c8ff41dc8aa56bc92e6", - "@angular/compiler": "github:angular/compiler-builds#2f994dfbff5de854549b93ea0640b6119311ba9f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#1430797f66cd44618200af6dbea24a1462c015d9", - "@angular/core": "github:angular/core-builds#a7a149da0efb7ab3960f52a2a828c9b4fd952f72", - "@angular/forms": "github:angular/forms-builds#29212ac2f8376782be290ba108d35417c4352152", - "@angular/language-service": "github:angular/language-service-builds#eb70897d9b2b765b765e9db01401a008cfc99902", - "@angular/localize": "github:angular/localize-builds#6b80647cf2ade1dcf4d716e84eeb305b783f1788", - "@angular/material": "github:angular/material-builds#be53de1519fa448b74b817ead393e1a3a649f194", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0f74f8e18c997a9bb30cf4d6cf7dec50632c7f83", - "@angular/platform-browser": "github:angular/platform-browser-builds#09bbab7f82d5cb67c5af394e393df0b314369808", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#5a23b34350d73670809c2441b9e704b1f77244a0", - "@angular/platform-server": "github:angular/platform-server-builds#fbe99db08b15bbfa2eadd220ee5e0216b95d2b43", - "@angular/router": "github:angular/router-builds#3e6659c83749118fe3a1af42936a7a04a7c85e13", - "@angular/service-worker": "github:angular/service-worker-builds#cd499aa60982beb754988e5766cf2c94e5941060" + "@angular/animations": "github:angular/animations-builds#71b050feeee2deb379646f95d78b158ed18eb8db", + "@angular/cdk": "github:angular/cdk-builds#f2e4fb714ea73fddb8f046c23afc67bb2b4509e6", + "@angular/common": "github:angular/common-builds#c3a44d2b7bea286cbeef6c107b7cfe854e1db6e0", + "@angular/compiler": "github:angular/compiler-builds#f92ca59a2c44b28c32bbe405bb1c35d256a3a1ce", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#d9b5546e9882f3869875648897cd36c17c26e7ca", + "@angular/core": "github:angular/core-builds#93aa387e52c94a036835f133b2ddc099392433bd", + "@angular/forms": "github:angular/forms-builds#8f1e1d6bf55407370173ad64d3ea9b364c4c8a6d", + "@angular/language-service": "github:angular/language-service-builds#913a0dd1177a23f501dde162c708e155e83b28f2", + "@angular/localize": "github:angular/localize-builds#3481346b0dcc78a4f27b5a9bcc002acb9c86a0c3", + "@angular/material": "github:angular/material-builds#60e0e4165df225436d9da3ad948585f87e79232b", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a5e0f0dcc566f0f9372021189ac0f661f32a4bf8", + "@angular/platform-browser": "github:angular/platform-browser-builds#62161614c9ebc946d3602e671c77b398e3f479eb", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a17f48c36e716bfc9c601b22fe8f0476fd40bb45", + "@angular/platform-server": "github:angular/platform-server-builds#4b1042c726f5419e3f6d623d343a67953560ae70", + "@angular/router": "github:angular/router-builds#18fa0c5c2b986835d8a8702221d2369f947c8f0a", + "@angular/service-worker": "github:angular/service-worker-builds#684a523287cdee2325cb48367939882ccada7910" } } diff --git a/yarn.lock b/yarn.lock index 0cafcebe7b1d..b188ceaabc41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,10 +120,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#17772156defc8e91a8b28459f9fca389391ba117": - version "0.0.0-f5eff76f2cca985a7cf2ed81df0f79e8848bc686" - uid "17772156defc8e91a8b28459f9fca389391ba117" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#17772156defc8e91a8b28459f9fca389391ba117" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0": + version "0.0.0-7d103b83a07f132629592fc9918ce17d42a5e382" + uid fb42478534df7d48ec23a6834fea94a776cb89a0 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0" dependencies: "@angular-devkit/build-angular" "15.0.0-rc.2" "@angular/benchpress" "0.3.0" @@ -235,10 +235,10 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#513257942cca4ad33a9a7ed141f8c6840f45545c": - version "0.0.0-f5eff76f2cca985a7cf2ed81df0f79e8848bc686" - uid "513257942cca4ad33a9a7ed141f8c6840f45545c" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#513257942cca4ad33a9a7ed141f8c6840f45545c" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad": + version "0.0.0-7d103b83a07f132629592fc9918ce17d42a5e382" + uid d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From d754b72d4e7c9b5cb5c466af730b353d41fc4b83 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 7 Nov 2022 17:42:53 +0000 Subject: [PATCH 1102/1388] fix(@angular-devkit/build-angular): only add `@angular/platform-server/init` when package is installed. This commit fixes an issue where `@angular/platform-server/init` was added as an entry-point during the server build even when this was not installed. Closes #24188 --- .../src/builders/server/index.ts | 33 +++++++++---------- .../src/webpack/configs/common.ts | 3 +- .../src/webpack/utils/helpers.ts | 15 ++++++++- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 62737cbbb14c..dd38c82af7d2 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -24,6 +24,7 @@ import { generateI18nBrowserWebpackConfigFromContext, } from '../../utils/webpack-browser-config'; import { getCommonConfig, getStylesConfig } from '../../webpack/configs'; +import { isPlatformServerInstalled } from '../../webpack/utils/helpers'; import { webpackStatsLogger } from '../../webpack/utils/stats'; import { Schema as ServerBuilderOptions } from './schema'; @@ -175,23 +176,21 @@ async function initialize( function getPlatformServerExportsConfig(wco: BrowserWebpackConfigOptions): Partial { // Add `@angular/platform-server` exports. // This is needed so that DI tokens can be referenced and set at runtime outside of the bundle. - try { - // Only add `@angular/platform-server` exports when it is installed. - // In some cases this builder is used when `@angular/platform-server` is not installed. - // Example: when using `@nguniversal/common/clover` which does not need `@angular/platform-server`. - require.resolve('@angular/platform-server', { paths: [wco.root] }); - } catch { - return {}; - } - return { - module: { - rules: [ - { - loader: require.resolve('./platform-server-exports-loader'), - include: [path.resolve(wco.root, wco.buildOptions.main)], + // Only add `@angular/platform-server` exports when it is installed. + // In some cases this builder is used when `@angular/platform-server` is not installed. + // Example: when using `@nguniversal/common/clover` which does not need `@angular/platform-server`. + + return isPlatformServerInstalled(wco.root) + ? { + module: { + rules: [ + { + loader: require.resolve('./platform-server-exports-loader'), + include: [path.resolve(wco.root, wco.buildOptions.main)], + }, + ], }, - ], - }, - }; + } + : {}; } diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts index 8e98c191e91b..84fba1774ead 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/common.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/common.ts @@ -42,6 +42,7 @@ import { getOutputHashFormat, getStatsOptions, globalScriptsByBundleName, + isPlatformServerInstalled, } from '../utils/helpers'; const VENDORS_TEST = /[\\/]node_modules[\\/]/; @@ -118,7 +119,7 @@ export async function getCommonConfig(wco: WebpackConfigOptions): Promise Date: Mon, 7 Nov 2022 18:08:11 +0000 Subject: [PATCH 1103/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 113 ++++++++++-------- 3 files changed, 65 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index bb9942269738..67c232db8ad9 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "@angular/router": "15.0.0-rc.2", "@angular/service-worker": "15.0.0-rc.2", "@babel/core": "7.20.2", - "@babel/generator": "7.20.2", + "@babel/generator": "7.20.3", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.42.0", - "@typescript-eslint/parser": "5.42.0", + "@typescript-eslint/eslint-plugin": "5.42.1", + "@typescript-eslint/parser": "5.42.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.0", "ajv-formats": "2.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 14cc32c8570f..7ded8a0f2c67 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,7 +11,7 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.20.2", - "@babel/generator": "7.20.2", + "@babel/generator": "7.20.3", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", diff --git a/yarn.lock b/yarn.lock index b188ceaabc41..ba61de3020f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -374,10 +374,10 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.20.2", "@babel/generator@^7.20.1", "@babel/generator@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.2.tgz#c2e89e22613a039285c1e7b749e2cd0b30b9a481" - integrity sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q== +"@babel/generator@7.20.3": + version "7.20.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.3.tgz#e58c9ae2f7bf7fdf4899160cf1e04400a82cd641" + integrity sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A== dependencies: "@babel/types" "^7.20.2" "@jridgewell/gen-mapping" "^0.3.2" @@ -392,6 +392,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.20.1", "@babel/generator@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.2.tgz#c2e89e22613a039285c1e7b749e2cd0b30b9a481" + integrity sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q== + dependencies: + "@babel/types" "^7.20.2" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -2731,14 +2740,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz#36a8c0c379870127059889a9cc7e05c260d2aaa5" - integrity sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ== +"@typescript-eslint/eslint-plugin@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz#696b9cc21dfd4749c1c8ad1307f76a36a00aa0e3" + integrity sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg== dependencies: - "@typescript-eslint/scope-manager" "5.42.0" - "@typescript-eslint/type-utils" "5.42.0" - "@typescript-eslint/utils" "5.42.0" + "@typescript-eslint/scope-manager" "5.42.1" + "@typescript-eslint/type-utils" "5.42.1" + "@typescript-eslint/utils" "5.42.1" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -2746,72 +2755,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.0.tgz#be0ffbe279e1320e3d15e2ef0ad19262f59e9240" - integrity sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA== +"@typescript-eslint/parser@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.1.tgz#3e66156f2f74b11690b45950d8f5f28a62751d35" + integrity sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q== dependencies: - "@typescript-eslint/scope-manager" "5.42.0" - "@typescript-eslint/types" "5.42.0" - "@typescript-eslint/typescript-estree" "5.42.0" + "@typescript-eslint/scope-manager" "5.42.1" + "@typescript-eslint/types" "5.42.1" + "@typescript-eslint/typescript-estree" "5.42.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz#e1f2bb26d3b2a508421ee2e3ceea5396b192f5ef" - integrity sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow== +"@typescript-eslint/scope-manager@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz#05e5e1351485637d466464237e5259b49f609b18" + integrity sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ== dependencies: - "@typescript-eslint/types" "5.42.0" - "@typescript-eslint/visitor-keys" "5.42.0" + "@typescript-eslint/types" "5.42.1" + "@typescript-eslint/visitor-keys" "5.42.1" -"@typescript-eslint/type-utils@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz#4206d7192d4fe903ddf99d09b41d4ac31b0b7dca" - integrity sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg== +"@typescript-eslint/type-utils@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz#21328feb2d4b193c5852b35aabd241ccc1449daa" + integrity sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg== dependencies: - "@typescript-eslint/typescript-estree" "5.42.0" - "@typescript-eslint/utils" "5.42.0" + "@typescript-eslint/typescript-estree" "5.42.1" + "@typescript-eslint/utils" "5.42.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.0.tgz#5aeff9b5eced48f27d5b8139339bf1ef805bad7a" - integrity sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw== +"@typescript-eslint/types@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.1.tgz#0d4283c30e9b70d2aa2391c36294413de9106df2" + integrity sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA== -"@typescript-eslint/typescript-estree@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz#2592d24bb5f89bf54a63384ff3494870f95b3fd8" - integrity sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg== +"@typescript-eslint/typescript-estree@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz#f9a223ecb547a781d37e07a5ac6ba9ff681eaef0" + integrity sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw== dependencies: - "@typescript-eslint/types" "5.42.0" - "@typescript-eslint/visitor-keys" "5.42.0" + "@typescript-eslint/types" "5.42.1" + "@typescript-eslint/visitor-keys" "5.42.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.0.tgz#f06bd43b9a9a06ed8f29600273240e84a53f2f15" - integrity sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ== +"@typescript-eslint/utils@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.1.tgz#2789b1cd990f0c07aaa3e462dbe0f18d736d5071" + integrity sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.42.0" - "@typescript-eslint/types" "5.42.0" - "@typescript-eslint/typescript-estree" "5.42.0" + "@typescript-eslint/scope-manager" "5.42.1" + "@typescript-eslint/types" "5.42.1" + "@typescript-eslint/typescript-estree" "5.42.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.42.0": - version "5.42.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz#ee8d62d486f41cfe646632fab790fbf0c1db5bb0" - integrity sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg== +"@typescript-eslint/visitor-keys@5.42.1": + version "5.42.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz#df10839adf6605e1cdb79174cf21e46df9be4872" + integrity sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A== dependencies: - "@typescript-eslint/types" "5.42.0" + "@typescript-eslint/types" "5.42.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From f7ad20c4652956f9f47ac200027d8c144fed6d6d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 7 Nov 2022 12:05:38 -0500 Subject: [PATCH 1104/1388] fix(@angular-devkit/build-angular): update sourcemaps when rebasing Sass url() functions in esbuild builder When using the experimental esbuild-based browser application builder with Sass and sourcemaps, the final sourcemap for an input Sass stylesheet will now contain the original content for any `url` functions that were rebased to support bundling. This required generating internal intermediate source maps for each imported stylesheet that was modified with rebased URLs and then merging these intermediate source maps with the final Sass generated source map. This process only occurs when stylesheet sourcemaps are enabled. --- .../angular_devkit/build_angular/BUILD.bazel | 1 + .../angular_devkit/build_angular/package.json | 1 + .../src/sass/rebasing-importer.ts | 43 +++++++++++++++---- .../build_angular/src/sass/sass-service.ts | 2 +- .../build_angular/src/sass/worker.ts | 23 +++++++++- 5 files changed, 58 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 6ad91a71dd2a..966d0346bb8d 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -154,6 +154,7 @@ ts_library( "@npm//less-loader", "@npm//license-webpack-plugin", "@npm//loader-utils", + "@npm//magic-string", "@npm//mini-css-extract-plugin", "@npm//minimatch", "@npm//ng-packagr", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 7ded8a0f2c67..e1c94cce182a 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -41,6 +41,7 @@ "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.0", + "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", "open": "8.4.0", diff --git a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts index 4e4943bbabbc..976b59f5c782 100644 --- a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts +++ b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts @@ -6,6 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ +import { RawSourceMap } from '@ampproject/remapping'; +import MagicString from 'magic-string'; import { Dirent, readFileSync, readdirSync } from 'node:fs'; import { basename, dirname, extname, join, relative } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; @@ -31,8 +33,13 @@ const URL_REGEXP = /url(?:\(\s*(['"]?))(.*?)(?:\1\s*\))/g; abstract class UrlRebasingImporter implements Importer<'sync'> { /** * @param entryDirectory The directory of the entry stylesheet that was passed to the Sass compiler. + * @param rebaseSourceMaps When provided, rebased files will have an intermediate sourcemap added to the Map + * which can be used to generate a final sourcemap that contains original sources. */ - constructor(private entryDirectory: string) {} + constructor( + private entryDirectory: string, + private rebaseSourceMaps?: Map, + ) {} abstract canonicalize(url: string, options: { fromImport: boolean }): URL | null; @@ -46,6 +53,7 @@ abstract class UrlRebasingImporter implements Importer<'sync'> { let match; URL_REGEXP.lastIndex = 0; + let updatedContents; while ((match = URL_REGEXP.exec(contents))) { const originalUrl = match[2]; @@ -60,10 +68,21 @@ abstract class UrlRebasingImporter implements Importer<'sync'> { // https://developer.mozilla.org/en-US/docs/Web/CSS/url#syntax const rebasedUrl = './' + rebasedPath.replace(/\\/g, '/').replace(/[()\s'"]/g, '\\$&'); - contents = - contents.slice(0, match.index) + - `url(${rebasedUrl})` + - contents.slice(match.index + match[0].length); + updatedContents ??= new MagicString(contents); + updatedContents.update(match.index, match.index + match[0].length, `url(${rebasedUrl})`); + } + + if (updatedContents) { + contents = updatedContents.toString(); + if (this.rebaseSourceMaps) { + // Generate an intermediate source map for the rebasing changes + const map = updatedContents.generateMap({ + hires: true, + includeContent: true, + source: canonicalUrl.href, + }); + this.rebaseSourceMaps.set(canonicalUrl.href, map as RawSourceMap); + } } } @@ -94,8 +113,12 @@ abstract class UrlRebasingImporter implements Importer<'sync'> { * the URLs in the output of the Sass compiler reflect the final filesystem location of the output CSS file. */ export class RelativeUrlRebasingImporter extends UrlRebasingImporter { - constructor(entryDirectory: string, private directoryCache = new Map()) { - super(entryDirectory); + constructor( + entryDirectory: string, + private directoryCache = new Map(), + rebaseSourceMaps?: Map, + ) { + super(entryDirectory, rebaseSourceMaps); } canonicalize(url: string, options: { fromImport: boolean }): URL | null { @@ -238,9 +261,10 @@ export class ModuleUrlRebasingImporter extends RelativeUrlRebasingImporter { constructor( entryDirectory: string, directoryCache: Map, + rebaseSourceMaps: Map | undefined, private finder: FileImporter<'sync'>['findFileUrl'], ) { - super(entryDirectory, directoryCache); + super(entryDirectory, directoryCache, rebaseSourceMaps); } override canonicalize(url: string, options: { fromImport: boolean }): URL | null { @@ -263,9 +287,10 @@ export class LoadPathsUrlRebasingImporter extends RelativeUrlRebasingImporter { constructor( entryDirectory: string, directoryCache: Map, + rebaseSourceMaps: Map | undefined, private loadPaths: Iterable, ) { - super(entryDirectory, directoryCache); + super(entryDirectory, directoryCache, rebaseSourceMaps); } override canonicalize(url: string, options: { fromImport: boolean }): URL | null { diff --git a/packages/angular_devkit/build_angular/src/sass/sass-service.ts b/packages/angular_devkit/build_angular/src/sass/sass-service.ts index 1db3b507098c..abdf6e76aa68 100644 --- a/packages/angular_devkit/build_angular/src/sass/sass-service.ts +++ b/packages/angular_devkit/build_angular/src/sass/sass-service.ts @@ -145,7 +145,7 @@ export class SassWorkerImplementation { const callback: RenderCallback = (error, result) => { if (error) { - const url = error?.span.url as string | undefined; + const url = error.span?.url as string | undefined; if (url) { error.span.url = pathToFileURL(url); } diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index 3723f91c2c49..160ccf3f89b0 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import mergeSourceMaps, { RawSourceMap } from '@ampproject/remapping'; import { Dirent } from 'node:fs'; import { dirname } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; @@ -82,6 +83,7 @@ parentPort.on('message', (message: RenderRequestMessage) => { | undefined; try { const directoryCache = new Map(); + const rebaseSourceMaps = options.sourceMap ? new Map() : undefined; if (hasImporter) { // When a custom importer function is present, the importer request must be proxied // back to the main thread where it can be executed. @@ -105,6 +107,7 @@ parentPort.on('message', (message: RenderRequestMessage) => { new ModuleUrlRebasingImporter( entryDirectory, directoryCache, + rebaseSourceMaps, proxyImporter.findFileUrl, ), ) @@ -116,7 +119,12 @@ parentPort.on('message', (message: RenderRequestMessage) => { options.importers ??= []; options.importers.push( sassBindWorkaround( - new LoadPathsUrlRebasingImporter(entryDirectory, directoryCache, options.loadPaths), + new LoadPathsUrlRebasingImporter( + entryDirectory, + directoryCache, + rebaseSourceMaps, + options.loadPaths, + ), ), ); options.loadPaths = undefined; @@ -125,7 +133,7 @@ parentPort.on('message', (message: RenderRequestMessage) => { let relativeImporter; if (rebase) { relativeImporter = sassBindWorkaround( - new RelativeUrlRebasingImporter(entryDirectory, directoryCache), + new RelativeUrlRebasingImporter(entryDirectory, directoryCache, rebaseSourceMaps), ); } @@ -151,6 +159,17 @@ parentPort.on('message', (message: RenderRequestMessage) => { : undefined, }); + if (result.sourceMap && rebaseSourceMaps?.size) { + // Merge the intermediate rebasing source maps into the final Sass generated source map. + // Casting is required due to small but compatible differences in typings between the packages. + result.sourceMap = mergeSourceMaps( + result.sourceMap as unknown as RawSourceMap, + // To prevent an infinite lookup loop, skip getting the source when the rebasing source map + // is referencing its original self. + (file, context) => (file !== context.importer ? rebaseSourceMaps.get(file) : null), + ) as unknown as typeof result.sourceMap; + } + parentPort.postMessage({ id, warnings, From 774e83df8b6c7d854881519c46458f73994f0dc0 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 7 Nov 2022 16:23:00 -0500 Subject: [PATCH 1105/1388] fix(@angular-devkit/architect): default to failure if no builder result is provided Currently, if an architect builder does not provide any results, the CLI will crash trying to access an error message property on the result. Instead architect will now provide a default failure result `{ success: false }` in the event that the builder exits prior to generating a result. Thrown errors continue to be propagated as before. --- packages/angular_devkit/architect/src/create-builder.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/architect/src/create-builder.ts b/packages/angular_devkit/architect/src/create-builder.ts index b52b3d970123..245fe7d895d2 100644 --- a/packages/angular_devkit/architect/src/create-builder.ts +++ b/packages/angular_devkit/architect/src/create-builder.ts @@ -8,7 +8,7 @@ import { json, logging } from '@angular-devkit/core'; import { Observable, Subscription, from, isObservable, of, throwError } from 'rxjs'; -import { mergeMap, tap } from 'rxjs/operators'; +import { defaultIfEmpty, mergeMap, tap } from 'rxjs/operators'; import { BuilderContext, BuilderHandlerFn, @@ -218,6 +218,7 @@ export function createBuilder { progress({ state: BuilderProgressState.Running, current: total }, context); progress({ state: BuilderProgressState.Stopped }, context); From 932a4f4a1480da60a5a546ddb91f83a9d11744da Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 8 Nov 2022 09:12:16 -0500 Subject: [PATCH 1106/1388] fix(@angular-devkit/build-angular): avoid attempted resolve of external CSS URLs with esbuild builder When using the experimental esbuild-based browser application builder, `url()` functions within stylesheets will no longer cause a build failure due to an attempted local file resolution of URLs that do not represent on-disk resources. This includes absolute, protocol-relative, and root-relative URLs as well as SVG path identifiers. --- .../src/builders/browser-esbuild/css-resource-plugin.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts index 0445c0fd776f..5cdad4e52e15 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts @@ -34,6 +34,15 @@ export function createCssResourcePlugin(): Plugin { return null; } + // If root-relative, absolute or protocol relative url, mark as external to leave the + // path/URL in place. + if (/^((?:\w+:)?\/\/|data:|chrome:|#|\/)/.test(args.path)) { + return { + path: args.path, + external: true, + }; + } + const { importer, kind, resolveDir, namespace, pluginData = {} } = args; pluginData[CSS_RESOURCE_RESOLUTION] = true; From c83aaedb2975c8ff26375af1842b823a409c5868 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 8 Nov 2022 18:06:53 +0000 Subject: [PATCH 1107/1388] fix(@angular-devkit/build-angular): warn when components styles sourcemaps are not generated when styles optimization is enabled With this change we add a warning to inform the users that sourcemaps are not generated when both styles sourcemaps and optimization are enabled. This is because component style sourcemaps are inline which would drastically increase the bundle size. Closes #22834 --- .../src/webpack/configs/styles.ts | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index 08a690d928b4..b396c329cb29 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -35,7 +35,7 @@ import { // eslint-disable-next-line max-lines-per-function export function getStylesConfig(wco: WebpackConfigOptions): Configuration { - const { root, buildOptions } = wco; + const { root, buildOptions, logger } = wco; const extraPlugins: Configuration['plugins'] = []; extraPlugins.push(new AnyComponentStyleBudgetChecker(buildOptions.budgets)); @@ -93,7 +93,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { tailwindPackagePath = require.resolve('tailwindcss', { paths: [wco.root] }); } catch { const relativeTailwindConfigPath = path.relative(wco.root, tailwindConfigPath); - wco.logger.warn( + logger.warn( `Tailwind CSS configuration file found (${relativeTailwindConfigPath})` + ` but the 'tailwindcss' package is not installed.` + ` To enable Tailwind CSS, please install the 'tailwindcss' package.`, @@ -137,16 +137,22 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { return optionGenerator; }; - // load component css as raw strings - const componentsSourceMap = !!( - cssSourceMap && - // Never use component css sourcemap when style optimizations are on. - // It will just increase bundle size without offering good debug experience. - !buildOptions.optimization.styles.minify && - // Inline all sourcemap types except hidden ones, which are the same as no sourcemaps - // for component css. - !buildOptions.sourceMap.hidden - ); + let componentsSourceMap = !!cssSourceMap; + if (cssSourceMap) { + if (buildOptions.optimization.styles.minify) { + // Never use component css sourcemap when style optimizations are on. + // It will just increase bundle size without offering good debug experience. + logger.warn( + 'Components styles sourcemaps are not generated when styles optimization is enabled.', + ); + componentsSourceMap = false; + } else if (buildOptions.sourceMap.hidden) { + // Inline all sourcemap types except hidden ones, which are the same as no sourcemaps + // for component css. + logger.warn('Components styles sourcemaps are not generated when sourcemaps are hidden.'); + componentsSourceMap = false; + } + } // extract global css from js files into own css file. extraPlugins.push(new MiniCssExtractPlugin({ filename: `[name]${hashFormat.extract}.css` })); From 827fecceccdff7781a5ce27093163f29fbddd197 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 8 Nov 2022 09:59:19 -0500 Subject: [PATCH 1108/1388] build: remove unused dependency `minimatch` from `@angular-devkit/build-angular` `minimatch` was unused within the `@angular-devkit/build-angular` package. It is still used in a repository level development script and has been kept in the root `package.json`. --- packages/angular_devkit/build_angular/BUILD.bazel | 2 -- packages/angular_devkit/build_angular/package.json | 1 - 2 files changed, 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 966d0346bb8d..07781e79d52f 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -126,7 +126,6 @@ ts_library( "@npm//@types/inquirer", "@npm//@types/karma", "@npm//@types/loader-utils", - "@npm//@types/minimatch", "@npm//@types/node", "@npm//@types/parse5-html-rewriting-stream", "@npm//@types/semver", @@ -156,7 +155,6 @@ ts_library( "@npm//loader-utils", "@npm//magic-string", "@npm//mini-css-extract-plugin", - "@npm//minimatch", "@npm//ng-packagr", "@npm//open", "@npm//ora", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e1c94cce182a..d291f2f3893b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -43,7 +43,6 @@ "loader-utils": "3.2.0", "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", - "minimatch": "5.1.0", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", From 6c39a162bec67083bf6c11b54e84612f1d68c384 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 1 Nov 2022 13:19:42 -0700 Subject: [PATCH 1109/1388] feat(@schematics/angular): Add schematics for generating functional router guards and resolvers Functional guards and resolvers were introduced in the Angular router in v14.2. This commit adds the ability to generate functional router guards by specifying `--guardType` instead of `--implements`. These guards are also accompanied by a test that includes a helper function for executing the guard in the `TestBed` environment so that any `inject` calls in the guard will work properly. Functional resolvers are generated by adding the `--functional` flag. --- packages/schematics/angular/BUILD.bazel | 8 +++ .../__name@dasherize__.guard.spec.ts.template | 0 .../__name@dasherize__.guard.ts.template | 2 +- packages/schematics/angular/guard/index.ts | 59 ++++++++++------- .../schematics/angular/guard/index_spec.ts | 63 +++++++++++++++---- packages/schematics/angular/guard/schema.json | 9 ++- .../__name@dasherize__.guard.spec.ts.template | 18 ++++++ .../__name@dasherize__.guard.ts.template | 9 +++ ...name@dasherize__.resolver.spec.ts.template | 0 .../__name@dasherize__.resolver.ts.template | 0 ...name@dasherize__.resolver.spec.ts.template | 17 +++++ .../__name@dasherize__.resolver.ts.template | 5 ++ packages/schematics/angular/resolver/index.ts | 4 +- .../schematics/angular/resolver/index_spec.ts | 23 +++++++ .../schematics/angular/resolver/schema.json | 5 ++ .../angular/utility/generate-from-files.ts | 4 +- 16 files changed, 186 insertions(+), 40 deletions(-) rename packages/schematics/angular/guard/{files => implements-files}/__name@dasherize__.guard.spec.ts.template (100%) rename packages/schematics/angular/guard/{files => implements-files}/__name@dasherize__.guard.ts.template (95%) create mode 100644 packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template create mode 100644 packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template rename packages/schematics/angular/resolver/{files => class-files}/__name@dasherize__.resolver.spec.ts.template (100%) rename packages/schematics/angular/resolver/{files => class-files}/__name@dasherize__.resolver.ts.template (100%) create mode 100644 packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template create mode 100644 packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 8210ad2207ab..83da30a8bacc 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -47,6 +47,10 @@ ts_library( # Also exclude templated files. "*/files/**/*.ts", "*/other-files/**/*.ts", + "*/implements-files/**/*", + "*/type-files/**/*", + "*/functional-files/**/*", + "*/class-files/**/*", # Exclude test helpers. "utility/test/**/*.ts", # NB: we need to exclude the nested node_modules that is laid out by yarn workspaces @@ -65,6 +69,10 @@ ts_library( "*/schema.json", "*/files/**/*", "*/other-files/**/*", + "*/implements-files/**/*", + "*/type-files/**/*", + "*/functional-files/**/*", + "*/class-files/**/*", ], exclude = [ # NB: we need to exclude the nested node_modules that is laid out by yarn workspaces diff --git a/packages/schematics/angular/guard/files/__name@dasherize__.guard.spec.ts.template b/packages/schematics/angular/guard/implements-files/__name@dasherize__.guard.spec.ts.template similarity index 100% rename from packages/schematics/angular/guard/files/__name@dasherize__.guard.spec.ts.template rename to packages/schematics/angular/guard/implements-files/__name@dasherize__.guard.spec.ts.template diff --git a/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template b/packages/schematics/angular/guard/implements-files/__name@dasherize__.guard.ts.template similarity index 95% rename from packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template rename to packages/schematics/angular/guard/implements-files/__name@dasherize__.guard.ts.template index 8d83bc7498b4..5f9dac95d0b4 100644 --- a/packages/schematics/angular/guard/files/__name@dasherize__.guard.ts.template +++ b/packages/schematics/angular/guard/implements-files/__name@dasherize__.guard.ts.template @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { <%= implementationImports %> } from '@angular/router'; +import { <%= routerImports %> } from '@angular/router'; import { Observable } from 'rxjs'; @Injectable({ diff --git a/packages/schematics/angular/guard/index.ts b/packages/schematics/angular/guard/index.ts index efb377216684..f5b4e5fea664 100644 --- a/packages/schematics/angular/guard/index.ts +++ b/packages/schematics/angular/guard/index.ts @@ -7,39 +7,54 @@ */ import { Rule, SchematicsException } from '@angular-devkit/schematics'; + import { generateFromFiles } from '../utility/generate-from-files'; + import { Implement as GuardInterface, Schema as GuardOptions } from './schema'; export default function (options: GuardOptions): Rule { - if (!options.implements) { - throw new SchematicsException('Option "implements" is required.'); + if (options.implements && options.implements.length > 0 && options.guardType) { + throw new SchematicsException('Options "implements" and "guardType" cannot be used together.'); } - const implementations = options.implements - .map((implement) => (implement === 'CanDeactivate' ? 'CanDeactivate' : implement)) - .join(', '); - const commonRouterNameImports = ['ActivatedRouteSnapshot', 'RouterStateSnapshot']; - const routerNamedImports: string[] = [...options.implements, 'UrlTree']; + if (options.guardType) { + const guardType = options.guardType.replace(/^can/, 'Can') + 'Fn'; - if ( - options.implements.includes(GuardInterface.CanLoad) || - options.implements.includes(GuardInterface.CanMatch) - ) { - routerNamedImports.push('Route', 'UrlSegment'); + return generateFromFiles({ ...options, templateFilesDirectory: './type-files' }, { guardType }); + } else { + if (!options.implements || options.implements.length < 1) { + options.implements = [GuardInterface.CanActivate]; + } - if (options.implements.length > 1) { + const implementations = options.implements + .map((implement) => (implement === 'CanDeactivate' ? 'CanDeactivate' : implement)) + .join(', '); + const commonRouterNameImports = ['ActivatedRouteSnapshot', 'RouterStateSnapshot']; + const routerNamedImports: string[] = [...options.implements, 'UrlTree']; + + if ( + options.implements.includes(GuardInterface.CanLoad) || + options.implements.includes(GuardInterface.CanMatch) + ) { + routerNamedImports.push('Route', 'UrlSegment'); + + if (options.implements.length > 1) { + routerNamedImports.push(...commonRouterNameImports); + } + } else { routerNamedImports.push(...commonRouterNameImports); } - } else { - routerNamedImports.push(...commonRouterNameImports); - } - routerNamedImports.sort(); + routerNamedImports.sort(); - const implementationImports = routerNamedImports.join(', '); + const routerImports = routerNamedImports.join(', '); - return generateFromFiles(options, { - implementations, - implementationImports, - }); + return generateFromFiles( + { ...options, templateFilesDirectory: './implements-files' }, + { + implementations, + routerImports, + }, + ); + } } diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index 45326eba1862..fdb136701891 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -7,8 +7,10 @@ */ import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; + import { Schema as ApplicationOptions } from '../application/schema'; import { Schema as WorkspaceOptions } from '../workspace/schema'; + import { Schema as GuardOptions } from './schema'; describe('Guard Schematic', () => { @@ -90,6 +92,37 @@ describe('Guard Schematic', () => { expect(fileString).not.toContain('canLoad'); }); + it('should respect the guardType value', async () => { + const options = { ...defaultOptions, guardType: 'canActivate' }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + expect(fileString).toContain('export const fooGuard: CanActivateFn = (route, state) => {'); + expect(fileString).not.toContain('CanActivateChild'); + expect(fileString).not.toContain('canActivateChild'); + expect(fileString).not.toContain('CanLoad'); + expect(fileString).not.toContain('canLoad'); + }); + + it('should generate a helper function to execute the guard in a test', async () => { + const options = { ...defaultOptions, guardType: 'canActivate' }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.spec.ts'); + expect(fileString).toContain('const executeGuard: CanActivateFn = (...guardParameters) => '); + expect(fileString).toContain( + 'TestBed.inject(EnvironmentInjector).runInContext(() => fooGuard(...guardParameters));', + ); + }); + + it('should generate CanDeactivateFn with unknown guardType', async () => { + const options = { ...defaultOptions, guardType: 'canDeactivate' }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + expect(fileString).toContain( + 'export const fooGuard: CanDeactivateFn = ' + + '(component, currentRoute, currentState, nextState) => {', + ); + }); + it('should respect the implements values', async () => { const implementationOptions = ['CanActivate', 'CanLoad', 'CanActivateChild']; const options = { ...defaultOptions, implements: implementationOptions }; @@ -104,18 +137,6 @@ describe('Guard Schematic', () => { }); }); - it('should use CanActivate if no implements value', async () => { - const options = { ...defaultOptions, implements: undefined }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); - const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); - expect(fileString).toContain('CanActivate'); - expect(fileString).toContain('canActivate'); - expect(fileString).not.toContain('CanActivateChild'); - expect(fileString).not.toContain('canActivateChild'); - expect(fileString).not.toContain('CanLoad'); - expect(fileString).not.toContain('canLoad'); - }); - it('should add correct imports based on CanLoad implementation', async () => { const implementationOptions = ['CanLoad']; const options = { ...defaultOptions, implements: implementationOptions }; @@ -136,6 +157,15 @@ describe('Guard Schematic', () => { expect(fileString).toContain(expectedImports); }); + it('should add correct imports based on canLoad guardType', async () => { + const options = { ...defaultOptions, guardType: 'canLoad' }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + const expectedImports = `import { CanLoadFn } from '@angular/router';`; + + expect(fileString).toContain(expectedImports); + }); + it('should add correct imports based on CanActivate implementation', async () => { const implementationOptions = ['CanActivate']; const options = { ...defaultOptions, implements: implementationOptions }; @@ -146,6 +176,15 @@ describe('Guard Schematic', () => { expect(fileString).toContain(expectedImports); }); + it('should add correct imports based on canActivate guardType', async () => { + const options = { ...defaultOptions, guardType: 'canActivate' }; + const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); + const expectedImports = `import { CanActivateFn } from '@angular/router';`; + + expect(fileString).toContain(expectedImports); + }); + it('should add correct imports if multiple implementations was selected', async () => { const implementationOptions = ['CanActivate', 'CanLoad', 'CanActivateChild']; const options = { ...defaultOptions, implements: implementationOptions }; diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index d49d12778803..f25a55f17437 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -49,9 +49,12 @@ "items": { "enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanLoad", "CanMatch"], "type": "string" - }, - "default": ["CanActivate"], - "x-prompt": "Which interfaces would you like to implement?" + } + }, + "guardType": { + "type": "string", + "description": "Specifies type of guard to generate.", + "enum": ["canActivate", "canActivateChild", "canDeactivate", "canLoad", "canMatch"] } }, "required": ["name", "project"] diff --git a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template new file mode 100644 index 000000000000..4cbcd9b606d6 --- /dev/null +++ b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template @@ -0,0 +1,18 @@ +import { EnvironmentInjector } from '@angular/core'; +import { TestBed } from '@angular/core/testing'; +import { <%= guardType %> } from '@angular/router'; + +import { <%= camelize(name) %>Guard } from './<%= dasherize(name) %>.guard'; + +describe('<%= camelize(name) %>Guard', () => { + const executeGuard: <%= guardType %> = (...guardParameters) => + TestBed.inject(EnvironmentInjector).runInContext(() => <%= camelize(name) %>Guard(...guardParameters)); + + beforeEach(() => { + TestBed.configureTestingModule({}); + }); + + it('should be created', () => { + expect(<%= camelize(name) %>Guard).toBeTruthy(); + }); +}); diff --git a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template new file mode 100644 index 000000000000..9f82b7681ecd --- /dev/null +++ b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template @@ -0,0 +1,9 @@ +import { <%= guardType %> } from '@angular/router'; + +export const <%= camelize(name) %>Guard: <%= guardType %><% if (guardType === 'CanDeactivateFn') { %><% } %> = <% + if (guardType === 'CanMatchFn' || guardType === 'CanLoadFn') { %>(route, segments)<% } + %><% if (guardType === 'CanActivateFn') { %>(route, state)<% } + %><% if (guardType === 'CanActivateChildFn') { %>(childRoute, state)<% } + %><% if (guardType === 'CanDeactivateFn') { %>(component, currentRoute, currentState, nextState)<% } %> => { + return true; +} diff --git a/packages/schematics/angular/resolver/files/__name@dasherize__.resolver.spec.ts.template b/packages/schematics/angular/resolver/class-files/__name@dasherize__.resolver.spec.ts.template similarity index 100% rename from packages/schematics/angular/resolver/files/__name@dasherize__.resolver.spec.ts.template rename to packages/schematics/angular/resolver/class-files/__name@dasherize__.resolver.spec.ts.template diff --git a/packages/schematics/angular/resolver/files/__name@dasherize__.resolver.ts.template b/packages/schematics/angular/resolver/class-files/__name@dasherize__.resolver.ts.template similarity index 100% rename from packages/schematics/angular/resolver/files/__name@dasherize__.resolver.ts.template rename to packages/schematics/angular/resolver/class-files/__name@dasherize__.resolver.ts.template diff --git a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template new file mode 100644 index 000000000000..9b521b298d4d --- /dev/null +++ b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template @@ -0,0 +1,17 @@ +import { TestBed } from '@angular/core/testing'; +import { ResolveFn } from '@angular/router'; + +import { <%= camelize(name) %>Resolver } from './<%= dasherize(name) %>.resolver'; + +describe('<%= camelize(name) %>Resolver', () => { + const executeResolver: ResolveFn = (...resolverParameters) => + TestBed.inject(EnvironmentInjector).runInContext(() => <%= camelize(name) %>Resolver(...resolverParameters)); + + beforeEach(() => { + TestBed.configureTestingModule({}); + }); + + it('should be created', () => { + expect(resolver).toBeTruthy(); + }); +}); diff --git a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template new file mode 100644 index 000000000000..64ceec5c4272 --- /dev/null +++ b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template @@ -0,0 +1,5 @@ +import { ResolveFn } from '@angular/router'; + +export const <%= camelize(name) %>Resolver: ResolveFn = (route, state) => { + return true; +} diff --git a/packages/schematics/angular/resolver/index.ts b/packages/schematics/angular/resolver/index.ts index 35ae7dd27503..2a08b956cae8 100644 --- a/packages/schematics/angular/resolver/index.ts +++ b/packages/schematics/angular/resolver/index.ts @@ -11,5 +11,7 @@ import { generateFromFiles } from '../utility/generate-from-files'; import { Schema } from './schema'; export default function (options: Schema): Rule { - return generateFromFiles(options); + return options.functional + ? generateFromFiles({ ...options, templateFilesDirectory: './functional-files' }) + : generateFromFiles({ ...options, templateFilesDirectory: './class-files' }); } diff --git a/packages/schematics/angular/resolver/index_spec.ts b/packages/schematics/angular/resolver/index_spec.ts index af2fdd22087e..95f1bdde8305 100644 --- a/packages/schematics/angular/resolver/index_spec.ts +++ b/packages/schematics/angular/resolver/index_spec.ts @@ -79,4 +79,27 @@ describe('resolver Schematic', () => { .toPromise(); expect(appTree.files).toContain('/projects/bar/custom/app/foo.resolver.ts'); }); + + it('should create a functional resolver', async () => { + const tree = await schematicRunner + .runSchematicAsync('resolver', { ...defaultOptions, functional: true }, appTree) + .toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.resolver.ts'); + expect(fileString).toContain( + 'export const fooResolver: ResolveFn = (route, state) => {', + ); + }); + + it('should create a helper function to run a functional resolver in a test', async () => { + const tree = await schematicRunner + .runSchematicAsync('resolver', { ...defaultOptions, functional: true }, appTree) + .toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo.resolver.spec.ts'); + expect(fileString).toContain( + 'const executeResolver: ResolveFn = (...resolverParameters) => ', + ); + expect(fileString).toContain( + 'TestBed.inject(EnvironmentInjector).runInContext(() => fooResolver(...resolverParameters));', + ); + }); }); diff --git a/packages/schematics/angular/resolver/schema.json b/packages/schematics/angular/resolver/schema.json index 72b5620630c1..f6f3d97987ee 100644 --- a/packages/schematics/angular/resolver/schema.json +++ b/packages/schematics/angular/resolver/schema.json @@ -25,6 +25,11 @@ "description": "When true (the default), creates the new files at the top level of the current project.", "default": true }, + "functional": { + "type": "boolean", + "description": "Creates the resolver as a `ResolveFn`.", + "default": false + }, "path": { "type": "string", "format": "path", diff --git a/packages/schematics/angular/utility/generate-from-files.ts b/packages/schematics/angular/utility/generate-from-files.ts index eaf8febb54e5..a4e34b6bd188 100644 --- a/packages/schematics/angular/utility/generate-from-files.ts +++ b/packages/schematics/angular/utility/generate-from-files.ts @@ -30,6 +30,7 @@ export interface GenerateFromFilesOptions { prefix?: string; project: string; skipTests?: boolean; + templateFilesDirectory?: string; } export function generateFromFiles( @@ -47,7 +48,8 @@ export function generateFromFiles( validateClassName(strings.classify(options.name)); - const templateSource = apply(url('./files'), [ + const templateFilesDirectory = options.templateFilesDirectory ?? './files'; + const templateSource = apply(url(templateFilesDirectory), [ options.skipTests ? filter((path) => !path.endsWith('.spec.ts.template')) : noop(), applyTemplates({ ...strings, From b34c719769edc3dbf66a2db0e9b282a8ae2bce9b Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 8 Nov 2022 10:58:21 -0800 Subject: [PATCH 1110/1388] fixup! feat(@schematics/angular): Add schematics for generating functional router guards and resolvers --- packages/schematics/angular/guard/index.ts | 17 +++++++++-------- .../schematics/angular/guard/index_spec.ts | 18 +++++++++--------- packages/schematics/angular/guard/schema.json | 16 +++++++++------- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/packages/schematics/angular/guard/index.ts b/packages/schematics/angular/guard/index.ts index f5b4e5fea664..a0fdc3c3e18d 100644 --- a/packages/schematics/angular/guard/index.ts +++ b/packages/schematics/angular/guard/index.ts @@ -13,19 +13,20 @@ import { generateFromFiles } from '../utility/generate-from-files'; import { Implement as GuardInterface, Schema as GuardOptions } from './schema'; export default function (options: GuardOptions): Rule { - if (options.implements && options.implements.length > 0 && options.guardType) { - throw new SchematicsException('Options "implements" and "guardType" cannot be used together.'); + if (!options.implements) { + throw new SchematicsException('Option "implements" is required.'); + } + if (options.implements.length > 1 && options.functional) { + throw new SchematicsException( + 'Can only specify one value for implements when generating a functional guard.', + ); } - if (options.guardType) { - const guardType = options.guardType.replace(/^can/, 'Can') + 'Fn'; + if (options.functional) { + const guardType = options.implements[0] + 'Fn'; return generateFromFiles({ ...options, templateFilesDirectory: './type-files' }, { guardType }); } else { - if (!options.implements || options.implements.length < 1) { - options.implements = [GuardInterface.CanActivate]; - } - const implementations = options.implements .map((implement) => (implement === 'CanDeactivate' ? 'CanDeactivate' : implement)) .join(', '); diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index fdb136701891..ebf85dd23529 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -92,8 +92,8 @@ describe('Guard Schematic', () => { expect(fileString).not.toContain('canLoad'); }); - it('should respect the guardType value', async () => { - const options = { ...defaultOptions, guardType: 'canActivate' }; + it('should respect the functional guard value', async () => { + const options = { ...defaultOptions, implements: ['CanActivate'], functional: true }; const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain('export const fooGuard: CanActivateFn = (route, state) => {'); @@ -104,7 +104,7 @@ describe('Guard Schematic', () => { }); it('should generate a helper function to execute the guard in a test', async () => { - const options = { ...defaultOptions, guardType: 'canActivate' }; + const options = { ...defaultOptions, implements: ['CanActivate'], functional: true }; const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.spec.ts'); expect(fileString).toContain('const executeGuard: CanActivateFn = (...guardParameters) => '); @@ -113,8 +113,8 @@ describe('Guard Schematic', () => { ); }); - it('should generate CanDeactivateFn with unknown guardType', async () => { - const options = { ...defaultOptions, guardType: 'canDeactivate' }; + it('should generate CanDeactivateFn with unknown functional guard', async () => { + const options = { ...defaultOptions, implements: ['CanDeactivate'], functional: true }; const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain( @@ -157,8 +157,8 @@ describe('Guard Schematic', () => { expect(fileString).toContain(expectedImports); }); - it('should add correct imports based on canLoad guardType', async () => { - const options = { ...defaultOptions, guardType: 'canLoad' }; + it('should add correct imports based on canLoad functional guard', async () => { + const options = { ...defaultOptions, implements: ['CanLoad'], functional: true }; const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { CanLoadFn } from '@angular/router';`; @@ -176,8 +176,8 @@ describe('Guard Schematic', () => { expect(fileString).toContain(expectedImports); }); - it('should add correct imports based on canActivate guardType', async () => { - const options = { ...defaultOptions, guardType: 'canActivate' }; + it('should add correct imports based on canActivate functional guard', async () => { + const options = { ...defaultOptions, implements: ['CanActivate'], functional: true }; const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { CanActivateFn } from '@angular/router';`; diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index f25a55f17437..d2df59cb0446 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -41,20 +41,22 @@ "$source": "projectName" } }, + "functional": { + "type": "boolean", + "description": "Specifies whether to generate a guard as a function.", + "default": false + }, "implements": { "type": "array", - "description": "Specifies which interfaces to implement.", + "description": "Specifies which type of guard to create.", "uniqueItems": true, "minItems": 1, "items": { "enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanLoad", "CanMatch"], "type": "string" - } - }, - "guardType": { - "type": "string", - "description": "Specifies type of guard to generate.", - "enum": ["canActivate", "canActivateChild", "canDeactivate", "canLoad", "canMatch"] + }, + "default": ["CanActivate"], + "x-prompt": "Which type of guard would you like to create?" } }, "required": ["name", "project"] From 8b8d653f18a9394581afb3e5ccb445d822be0daf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Nov 2022 10:36:46 +0000 Subject: [PATCH 1111/1388] docs: release notes for the v14.2.9 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a418be332499..e42f999405b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 14.2.9 (2022-11-09) + +### @angular-devkit/architect + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | +| [e3e787767](https://github.com/angular/angular-cli/commit/e3e78776782da9d933f7b0e4c6bf391a62585bee) | fix | default to failure if no builder result is provided | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | +| [12b2dc5a2](https://github.com/angular/angular-cli/commit/12b2dc5a2374f992df151af32cc80e2c2d7c4dee) | fix | isolate zone.js usage when rendering server bundles | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.0.0-rc.2 (2022-11-02) From e8237a75ef8ed05921183e1fcc016271124ea26d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Nov 2022 10:50:43 +0000 Subject: [PATCH 1112/1388] docs: release notes for the v15.0.0-rc.3 release --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e42f999405b0..91eb39e8fca4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,30 @@ + + +# 15.0.0-rc.3 (2022-11-09) + +### @angular-devkit/architect + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | +| [24770f4e7](https://github.com/angular/angular-cli/commit/24770f4e75b4347428ef66d4171f5a73e254003e) | fix | default to failure if no builder result is provided | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------- | +| [001445982](https://github.com/angular/angular-cli/commit/0014459820dc1c127e93993414c154947a7f8da6) | fix | account for package.json exports with Sass in esbuild builder | +| [4cb27b803](https://github.com/angular/angular-cli/commit/4cb27b8031d0f36e687c5116538ebe473acaa149) | fix | avoid attempted resolve of external CSS URLs with esbuild builder | +| [f143171fd](https://github.com/angular/angular-cli/commit/f143171fd030fa1cc8df84ed5f0b96f5ad0f9e10) | fix | only add `@angular/platform-server/init` when package is installed. | +| [7dd122ad5](https://github.com/angular/angular-cli/commit/7dd122ad5f34a488f3784326b579b8a93511af7e) | fix | rebase Sass url() values when using esbuild-based builder | +| [0d62157a3](https://github.com/angular/angular-cli/commit/0d62157a30a246c1e00273c2300b9251574e75ae) | fix | update sourcemaps when rebasing Sass url() functions in esbuild builder | +| [b059fc735](https://github.com/angular/angular-cli/commit/b059fc73597c12330a96fca5f6ab9b1ca226136c) | fix | warn when components styles sourcemaps are not generated when styles optimization is enabled | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 14.2.9 (2022-11-09) From aa5fbec4563eb55ab28847002b545c15b2ee44e0 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 10 Nov 2022 00:08:08 +0000 Subject: [PATCH 1113/1388] build: update angular --- package.json | 28 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 112 +++++++++--------- 4 files changed, 88 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index 67c232db8ad9..c4826f07356c 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-rc.2", + "@angular/animations": "15.0.0-rc.3", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0", - "@angular/cdk": "14.2.6", - "@angular/common": "15.0.0-rc.2", - "@angular/compiler": "15.0.0-rc.2", - "@angular/compiler-cli": "15.0.0-rc.2", - "@angular/core": "15.0.0-rc.2", - "@angular/forms": "15.0.0-rc.2", - "@angular/localize": "15.0.0-rc.2", - "@angular/material": "14.2.6", + "@angular/cdk": "14.2.7", + "@angular/common": "15.0.0-rc.3", + "@angular/compiler": "15.0.0-rc.3", + "@angular/compiler-cli": "15.0.0-rc.3", + "@angular/core": "15.0.0-rc.3", + "@angular/forms": "15.0.0-rc.3", + "@angular/localize": "15.0.0-rc.3", + "@angular/material": "14.2.7", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad", - "@angular/platform-browser": "15.0.0-rc.2", - "@angular/platform-browser-dynamic": "15.0.0-rc.2", - "@angular/platform-server": "15.0.0-rc.2", - "@angular/router": "15.0.0-rc.2", - "@angular/service-worker": "15.0.0-rc.2", + "@angular/platform-browser": "15.0.0-rc.3", + "@angular/platform-browser-dynamic": "15.0.0-rc.3", + "@angular/platform-server": "15.0.0-rc.3", + "@angular/router": "15.0.0-rc.3", + "@angular/service-worker": "15.0.0-rc.3", "@babel/core": "7.20.2", "@babel/generator": "7.20.3", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 8cd5d3055d78..f706529212f0 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-rc.2", - "@angular/compiler-cli": "15.0.0-rc.2", + "@angular/compiler": "15.0.0-rc.3", + "@angular/compiler-cli": "15.0.0-rc.3", "typescript": "4.8.4", "webpack": "5.74.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 95029e4de7d0..17d534d13eb4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#71b050feeee2deb379646f95d78b158ed18eb8db", - "@angular/cdk": "github:angular/cdk-builds#f2e4fb714ea73fddb8f046c23afc67bb2b4509e6", - "@angular/common": "github:angular/common-builds#c3a44d2b7bea286cbeef6c107b7cfe854e1db6e0", - "@angular/compiler": "github:angular/compiler-builds#f92ca59a2c44b28c32bbe405bb1c35d256a3a1ce", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#d9b5546e9882f3869875648897cd36c17c26e7ca", - "@angular/core": "github:angular/core-builds#93aa387e52c94a036835f133b2ddc099392433bd", - "@angular/forms": "github:angular/forms-builds#8f1e1d6bf55407370173ad64d3ea9b364c4c8a6d", - "@angular/language-service": "github:angular/language-service-builds#913a0dd1177a23f501dde162c708e155e83b28f2", - "@angular/localize": "github:angular/localize-builds#3481346b0dcc78a4f27b5a9bcc002acb9c86a0c3", - "@angular/material": "github:angular/material-builds#60e0e4165df225436d9da3ad948585f87e79232b", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a5e0f0dcc566f0f9372021189ac0f661f32a4bf8", - "@angular/platform-browser": "github:angular/platform-browser-builds#62161614c9ebc946d3602e671c77b398e3f479eb", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a17f48c36e716bfc9c601b22fe8f0476fd40bb45", - "@angular/platform-server": "github:angular/platform-server-builds#4b1042c726f5419e3f6d623d343a67953560ae70", - "@angular/router": "github:angular/router-builds#18fa0c5c2b986835d8a8702221d2369f947c8f0a", - "@angular/service-worker": "github:angular/service-worker-builds#684a523287cdee2325cb48367939882ccada7910" + "@angular/animations": "github:angular/animations-builds#308d7b7d757f546b83b728d12386baf85bd3ffe9", + "@angular/cdk": "github:angular/cdk-builds#77c9aa1205fc7801734c31696112788a80682bbb", + "@angular/common": "github:angular/common-builds#0db861aba9bc1cfff655bad28032b4008b1caf03", + "@angular/compiler": "github:angular/compiler-builds#4e7196578e1e3c579037deaabef449a4a563f629", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#d95c059dbb2384f665f8187a27c0eaf329306200", + "@angular/core": "github:angular/core-builds#9c902b50e27cafa0ead164c4bf7befb7276b9311", + "@angular/forms": "github:angular/forms-builds#c3cbf7af3d226b0423de0b4548ceb415050f941e", + "@angular/language-service": "github:angular/language-service-builds#783bb1a80b84c6486674f9932ed0cbfeb69b7364", + "@angular/localize": "github:angular/localize-builds#880b45d4fd9f6fba2ef290fb71896a1525a6f564", + "@angular/material": "github:angular/material-builds#340b8518b632f10b44ce6c6b88a094297c5a3c72", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ac98847e058f9b99fca5b0c279514736b7055b59", + "@angular/platform-browser": "github:angular/platform-browser-builds#e1ea7161759ec22316359fdec03a62e28f4839ea", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#8970c572287aa5b16fc8b0db8e5bb3f2d501ae89", + "@angular/platform-server": "github:angular/platform-server-builds#aae0729159443f05e632edb5948666793111d55c", + "@angular/router": "github:angular/router-builds#daf5c9f178439601ff0db3b53f7fc9194679ca65", + "@angular/service-worker": "github:angular/service-worker-builds#c666f7e3b51215c7e6649540e301653ab32606f7" } } diff --git a/yarn.lock b/yarn.lock index ba61de3020f2..69e8be4497e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -105,10 +105,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.2.tgz#7365fa049c76a121d3a28fe9921903b40206a4aa" - integrity sha512-J5Cvi58S9A1YhGYMLc1WvsV9sB/oyg7aMb90Duwjt8CEFn7PZXXV6KeduoSE0URJhgoJyDdxgizWVQZXPnuulQ== +"@angular/animations@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.3.tgz#b0c1bc24fc86ea01b0d6ee23aa00bbf905a1264d" + integrity sha512-YalrwFa01rzWh9JhufHoOY1cUMYW9JCq9x2av3OYjtIxw36srkeBe09CwjBeO3zRhIo5ieK45Ix0YgWCjhqg5A== dependencies: tslib "^2.3.0" @@ -159,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.6": - version "14.2.6" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.6.tgz#5d78f7eebd228b1d71910e9e3703e02bee84ddcf" - integrity sha512-sihrwk/0emYbE2X+DOIlan7mohED9pKiH2gQh2hk3Ud8jjeW6VmbaGtTCkjs+HRbFc9/44uDHasizxrKnjseyw== +"@angular/cdk@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.7.tgz#65eb6fbbeed6120fad4e3913aa66f8b74c853ac3" + integrity sha512-/tEsYaUbDSnfEmKVvAMramIptmhI67O+9STjOV0i+74XR2NospeK0fkbywIANu1n3w6AHGMotvRWJrjmbCElFg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.2.tgz#81838b35fd3f4d26ef4a2d9cee9c8516b5455acd" - integrity sha512-izjMOepbQwpzPhj9ZDRZ7V1CZRsGs8uC3N4J0xEbtg7ivIlfY7Y80byXW5W1FwYGDjr5OWB3p/3wYkQ64Iffhg== +"@angular/common@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.3.tgz#a53f6891846fea6ad7d5f0461c30464ea4461909" + integrity sha512-/b0qi7S/hoEZQrpD7gvWwzVOQYiXrAWMSnSoYd6dnKTroN+jt2XeLDHsbVxAPKO5yRhbH6409d2YFTD3ZaU0Vg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.2.tgz#a7cc1b43cfbf7ecf79a3f35a5e5d22715a7d0371" - integrity sha512-kCeIByvyke98KvmSMv9YZRZwii3Yyb2BLjaEegvZ0on/nnZQEPTqWCaNrY4jWFwIVSXIvYpcQtcZ/rLoJjbigA== +"@angular/compiler-cli@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.3.tgz#43603809ec9ce290d5902acb6df992d428e7ee52" + integrity sha512-0qRtcRmSOLECtXzauAAJSgJ4S+ZwS2VxUd4pdLu7OlIEMD2KKjmZhb2dgCFg385kP2LCSuwDqOoU97NlbsM4zQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -191,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.2.tgz#ef451c49e7df85c97021f84a3fa1f34c0c178e2c" - integrity sha512-eHyb5FK5bs7k1mlAIfTK374U2e6csfCbZY+Xi00S4MmQDQEXTODJkE4sRcnOkwKsydJXeqWaYWoJJht0n9PhbQ== +"@angular/compiler@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.3.tgz#ff66b449653dc653cc571a4e929957396632aead" + integrity sha512-G4H7XBLhYl3Ra8BIFzWwvH8K3fIYQi2MZ76EAMIlsG6sdMogViyeC3HJ4pwO3fjG6gKXHwEMrHKa9ktxp+Q+mA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.2.tgz#0cb80b7928c041188c625053808afc8c34ab73e6" - integrity sha512-xiHbN0HP4TI0dQOeMpuGlcYYxxFGrnAcvIjl3w0VC9miBvuQW9x/VsE3esR7Z/H9LXwWn7qO7OLH8FWtCKQh3A== +"@angular/core@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.3.tgz#b223ccd694164741b8b6a1d045ed0f5354237a59" + integrity sha512-jlJzF1gUR2hO6xVLmBMZEpgetTwJnV3DuZgFRzZKV+VIm8nD55V8J68/stlHZobYde564jCbq/to+FziVQdQaQ== dependencies: tslib "^2.3.0" @@ -212,26 +212,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.2.tgz#949f5ea256613c225dff36f5d33882f3aabaee50" - integrity sha512-x37Fn2etSVUxnONSa/JNMH5oxIX8joilJawp+Oq2Bt4zu/uoZHe5AOajfsoscSnWo0Kp6R9aGRWnsExDQuHaVg== +"@angular/forms@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.3.tgz#ae95913af337aca7f84f472cf27855db68892407" + integrity sha512-/wW8pdaGP7fOGg2HgiHFOutE8FtQn6hfX3ZrAORCCgrNGBS9WH8I5coISogTKd+FM7gQMz0F6TxREx/EAElfzw== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.2.tgz#5ad6729e5415c337f3aff2a680ee8b24d7fe4858" - integrity sha512-m11eRcqQkvg2PBgwjKrY+jUa8VN8TS/PGfPY+OLUDn+D1gOUC2MibTqXhg3e+fF2mNhH2iIw+zurHtjUKGlHBA== +"@angular/localize@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.3.tgz#dcf7cae1626602fbcba1e79982a09a04b48c5a84" + integrity sha512-6OFHkCH/WvMjAKxICYbbhwdyYADzJwCny1HVKgk3ezMUnBaVbOfWzMCIFJyhU7k8kdzjGmQx+FNPL2O6M98FMg== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.6": - version "14.2.6" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.6.tgz#ecaa8dd22c9970a0534bdcff741ad54fcb7f0951" - integrity sha512-HykrjDdDoH03oJkV6REW4cx8mVku38LPAagnfJVtqaKsNxG2KtF+LkSlkumeL2cqacFGen/Pf3QV8hxo4FLWhQ== +"@angular/material@14.2.7": + version "14.2.7" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.7.tgz#678c657197268eba6814c757152f8d178ff08866" + integrity sha512-WXHh8pEStpgkXZJmYOg2cI8BSHkV82ET4XTJCNPdveumaCn1UYnaNzsXD13kw5z+zmy8CufhFEzdXTrv/yt7KQ== dependencies: tslib "^2.3.0" @@ -243,40 +243,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.2.tgz#c093a0c3da06a9acd2cb068c319f04d8c1162ffa" - integrity sha512-ALXP7RoresEJom+wt6AWvrgSQ0i+Bc1JAsXTTsKiMit0KLN8W/Uh1ZxoSjbcLJ1+CS/hS7ro1PwBIShuI8q8oA== +"@angular/platform-browser-dynamic@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.3.tgz#775e6526a78b78bf239e9302a22318f7820fe16a" + integrity sha512-fSEHJHLR6YrRgCUaWGBEvUh0w86hVAbWXkG4NHKgJ2c1xCLIxst0/x3u7GOVNSbHoOQCN7bzMoCro2girX6Snw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.2.tgz#473a3ea2fe841be3553427a234e86bad624294a0" - integrity sha512-xp01C38a+ADoM0a7Q1cmpHv/yacWLcvS35LdzOp0K853Pz6DZoatVcZgsZRk0NVwt/P1khvcBbl05Tg97Tbz5A== +"@angular/platform-browser@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.3.tgz#55955bb91c4429d14cee919fb9b69ecd29243360" + integrity sha512-FRasOfU/fDqO76SeDy3pVP2YbtgOcbyL/r/vODDQ+CiKfDLHFmghfBJCIS+CmWrzOrd/JUlN7a7+AfqwbJRLyA== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.2.tgz#9e3bcd72699932cb21dedab0afe626221da6576b" - integrity sha512-52Cy5HrhpbIDpB+/zSkkkuOEF2Nf+8jbVo63GOdnhEAwWttJ1+76mniYp44xv3mg3qFfAsKMZbm1vcHlRQo9Sg== +"@angular/platform-server@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.3.tgz#a9062604a80993630413f813fdf7e837c62e5e33" + integrity sha512-71e7Ku7NCl2cTGcqrdHdtd7PSJup/xHj1kez87Vxzr5/X9kGo444ZeEs/uqTFMnL3rnb7OqqZREK5dvlGEAvTw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.2.tgz#89db44ea14aae4a83b0a647e3ed19f7494ad9473" - integrity sha512-uj/XcfZ1XiQ0tpx6TlY5Xak36XKf44w0r+EvjUCF6YlwAoObMtEiyXpqpahMoJRL6eMh02SulZVVA4rXqrw+aQ== +"@angular/router@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.3.tgz#7fad7cd8fca8ea2e3c9cb137dca09da67c255056" + integrity sha512-tpzTyrDr2GRdWP0XyfWYMekFVXU9yTmKaM67UzdZGIDVMkZCsR3FBT6hYb1K4iG/v/rtu1TRL2Xawj3tRTTMTQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.2.tgz#5a6c4c19efa8838bbe9d54895c29199993e9faf9" - integrity sha512-37HhBxirnWgvYGW4/LRpJ3FWu2j/MyZol/a9QXKp1JAbFSGBK8fwj/cM/z7It3k8md6YN5i3BPm57TtuPW4pjg== +"@angular/service-worker@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.3.tgz#ab5706f48ba3767a5ab014aaac18096f47fc08f9" + integrity sha512-JdyvtlGjJF1FdwHjLE4JFyJIUmlLg/v7mfJdZQg1E0xQwucUt1d1hSDv297MOeaDZOKIV680gMK5Y3y8mwkDnw== dependencies: tslib "^2.3.0" From 363721bc889dc529f11b86fac02f203bd55b0d6f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 10 Nov 2022 08:45:50 +0000 Subject: [PATCH 1114/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 16 +- .../angular_devkit/build_angular/package.json | 8 +- .../angular_devkit/build_webpack/package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 245 ++++++++---------- 7 files changed, 126 insertions(+), 155 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index c3ae41f177b8..3a6c4aba9175 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "88ac1874c9930c5f01482d25a4f25104a788a178bf1c20053c00322ea7059bd6", - strip_prefix = "bazel-lib-1.16.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.16.0.tar.gz", + sha256 = "3534a27621725fbbf1d3e53daa0c1dda055a2732d9031b8c579f917d7347b6c4", + strip_prefix = "bazel-lib-1.16.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.16.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index c4826f07356c..07914ba1b4f0 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "@angular/router": "15.0.0-rc.3", "@angular/service-worker": "15.0.0-rc.3", "@babel/core": "7.20.2", - "@babel/generator": "7.20.3", + "@babel/generator": "7.20.4", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -95,7 +95,7 @@ "@bazel/concatjs": "5.7.1", "@bazel/jasmine": "5.7.1", "@discoveryjs/json-ext": "0.5.7", - "@types/babel__core": "7.1.19", + "@types/babel__core": "7.1.20", "@types/babel__template": "7.4.1", "@types/browserslist": "^4.15.0", "@types/cacache": "^15.0.0", @@ -150,7 +150,7 @@ "glob": "8.0.3", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", - "husky": "8.0.1", + "husky": "8.0.2", "ini": "3.0.1", "inquirer": "8.2.4", "jasmine": "^4.0.0", @@ -193,8 +193,8 @@ "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.56.0", - "sass-loader": "13.1.0", + "sass": "1.56.1", + "sass-loader": "13.2.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", "shelljs": "^0.8.5", @@ -210,15 +210,15 @@ "ts-node": "^10.0.0", "tslib": "2.4.1", "typescript": "4.8.4", - "verdaccio": "5.15.4", + "verdaccio": "5.16.3", "verdaccio-auth-memory": "^10.0.0", - "webpack": "5.74.0", + "webpack": "5.75.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", "yargs": "17.6.2", "yargs-parser": "21.1.1", - "zone.js": "^0.11.3" + "zone.js": "^0.12.0" } } diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index d291f2f3893b..25d464df229b 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,7 +11,7 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.20.2", - "@babel/generator": "7.20.3", + "@babel/generator": "7.20.4", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", @@ -52,8 +52,8 @@ "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.56.0", - "sass-loader": "13.1.0", + "sass": "1.56.1", + "sass-loader": "13.2.0", "semver": "7.3.8", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", @@ -61,7 +61,7 @@ "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.1", - "webpack": "5.74.0", + "webpack": "5.75.0", "webpack-dev-middleware": "5.3.3", "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json index cf5d07bee2dd..c566017e1f9f 100644 --- a/packages/angular_devkit/build_webpack/package.json +++ b/packages/angular_devkit/build_webpack/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "node-fetch": "2.6.7", - "webpack": "5.74.0" + "webpack": "5.75.0" }, "peerDependencies": { "webpack": "^5.30.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index f706529212f0..50a71fec87ee 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -31,6 +31,6 @@ "@angular/compiler": "15.0.0-rc.3", "@angular/compiler-cli": "15.0.0-rc.3", "typescript": "4.8.4", - "webpack": "5.74.0" + "webpack": "5.75.0" } } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 4b51b4ca13f9..f428fbf1cd47 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -18,6 +18,6 @@ "tslib": "^2.3.0", "ts-node": "~10.9.0", "typescript": "~4.8.2", - "zone.js": "~0.11.4" + "zone.js": "~0.12.0" } } diff --git a/yarn.lock b/yarn.lock index 69e8be4497e5..ad3f671889d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -374,10 +374,10 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.20.3": - version "7.20.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.3.tgz#e58c9ae2f7bf7fdf4899160cf1e04400a82cd641" - integrity sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A== +"@babel/generator@7.20.4": + version "7.20.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8" + integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA== dependencies: "@babel/types" "^7.20.2" "@jridgewell/gen-mapping" "^0.3.2" @@ -2212,10 +2212,10 @@ resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== -"@types/babel__core@7.1.19": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== +"@types/babel__core@7.1.20": + version "7.1.20" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" + integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -2852,24 +2852,24 @@ lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.4.1": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.1.tgz#c568d158c36ca7dd742b1abef890383918f621b2" - integrity sha512-OZ6R+HF2bIU3WFFdPxgUgyglaIfZzGSqyUfM2m1TFNfDCK84qJvRIgQJ1HG/82KVOpGuz/nxVyw2ZyEZDkP1vA== +"@verdaccio/readme@10.4.2": + version "10.4.2" + resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.2.tgz#144c6a9a569684220f8d37ce05ee0efd6fd86214" + integrity sha512-b5ABzEBee+up0apyExg9y/aGLoMbkSwnMOY2JWIsNnJf7EiXs1phJIzEEFaQGoor/yZQuPD0HqKUl40175srDQ== dependencies: - dompurify "2.3.9" + dompurify "2.4.0" jsdom "16.7.0" - marked "4.0.18" + marked "4.2.2" "@verdaccio/streams@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.48": - version "6.0.0-6-next.48" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.48.tgz#23bbc8037bf9e1b27600f5160a0ff716982db48b" - integrity sha512-1jls+cpfEXqXc1ZzqLGGNs6YCyG6B6QwDCezEkSvgKm+9A49FnSJ2n2dNIGcQYOszwHmd8EvwN98OEIx3Bbtrw== +"@verdaccio/ui-theme@6.0.0-6-next.50": + version "6.0.0-6-next.50" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.50.tgz#95bce41e1a04a8db283712e0d41d59c1f846a1e6" + integrity sha512-hHku5x9weS0neJ5Qb+akibPoSCmlZqRtbmLqdGPdZANmcF1r6WLPu8zxPOwV5+FLofCN81JcIq8aAmvsrdWULg== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3213,10 +3213,10 @@ anymatch@^3.0.0, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apache-md5@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.7.tgz#dcef1802700cc231d60c5e08fd088f2f9b36375a" - integrity sha512-JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw== +apache-md5@1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.8.tgz#ea79c6feb03abfed42b2830dde06f75df5e3bbd9" + integrity sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA== "aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: version "2.0.0" @@ -3522,24 +3522,6 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -body-parser@1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" - integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.10.3" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - body-parser@1.20.1, body-parser@^1.19.0: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -4424,10 +4406,10 @@ date-format@^4.0.14: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== -dayjs@1.11.5: - version "1.11.5" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" - integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== +dayjs@1.11.6: + version "1.11.6" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.6.tgz#2e79a226314ec3ec904e3ee1dd5a4f5e5b1c7afb" + integrity sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -4681,10 +4663,10 @@ domino@^2.1.2: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.9.tgz#a4be5e7278338d6db09922dffcf6182cd099d70a" - integrity sha512-3zOnuTwup4lPV/GfGS6UzG4ub9nhSYagR/5tB3AvDEwqyy5dtyCM2dVjwGDCnrPerXifBKTYh/UWCGKK7ydhhw== +dompurify@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.0.tgz#c9c88390f024c2823332615c9e20a453cf3825dd" + integrity sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA== domutils@^2.8.0: version "2.8.0" @@ -5508,43 +5490,6 @@ express-rate-limit@5.5.1: resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== -express@4.18.1: - version "4.18.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" - integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.0" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.10.3" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - express@4.18.2, express@^4.17.3: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" @@ -6369,10 +6314,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" - integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== +husky@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.2.tgz#5816a60db02650f1f22c8b69b928fd6bcd77a236" + integrity sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg== iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" @@ -7728,15 +7673,10 @@ make-fetch-happen@^11.0.0: socks-proxy-agent "^7.0.0" ssri "^10.0.0" -marked@4.0.18: - version "4.0.18" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" - integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw== - -marked@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.0.tgz#3fc6e7485f21c1ca5d6ec4a39de820e146954796" - integrity sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA== +marked@4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.2.tgz#1d2075ad6cdfe42e651ac221c32d949a26c0672a" + integrity sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ== media-typer@0.3.0: version "0.3.0" @@ -9279,13 +9219,6 @@ qrcode-terminal@^0.12.0: resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== -qs@6.10.3: - version "6.10.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== - dependencies: - side-channel "^1.0.4" - qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -9829,6 +9762,14 @@ sass-loader@13.1.0: klona "^2.0.4" neo-async "^2.6.2" +sass-loader@13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.2.0.tgz#80195050f58c9aac63b792fa52acb6f5e0f6bdc3" + integrity sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + sass@1.55.0, sass@^1.55.0: version "1.55.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" @@ -9838,10 +9779,10 @@ sass@1.55.0, sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.56.0: - version "1.56.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.0.tgz#134032075a3223c8d49cb5c35e091e5ba1de8e0a" - integrity sha512-WFJ9XrpkcnqZcYuLRJh5qiV6ibQOR4AezleeEjTjMsCocYW59dEG19U3fwTTXxzi2Ed3yjPBp727hbbj53pHFw== +sass@1.56.1: + version "1.56.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.1.tgz#94d3910cd468fd075fa87f5bb17437a0b617d8a7" + integrity sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -11132,13 +11073,13 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -verdaccio-audit@10.2.2: - version "10.2.2" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.2.tgz#254380e57932fda64b45cb739e9c42cc9fb2dfdf" - integrity sha512-f2uZlKD7vi0yEB0wN8WOf+eA/3SCyKD9cvK17Hh7Wm8f/bl7k1B3hHOTtUCn/yu85DGsj2pcNzrAfp2wMVgz9Q== +verdaccio-audit@10.2.3: + version "10.2.3" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.3.tgz#a0746541a3bc733174775f75961a9102f551d6b6" + integrity sha512-mXOT6EiB9hK5dMjRTtJlL+hu2YswXuGSw28xOAPyZLWLTASDJy6Zs++o4P/6FyQ03yB0peK2KX7gHZ7APGZk2Q== dependencies: - body-parser "1.20.0" - express "4.18.1" + body-parser "1.20.1" + express "4.18.2" https-proxy-agent "5.0.1" node-fetch "2.6.7" @@ -11149,39 +11090,39 @@ verdaccio-auth-memory@^10.0.0: dependencies: "@verdaccio/commons-api" "10.2.0" -verdaccio-htpasswd@10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.5.0.tgz#de9ea2967856af765178b08485dc8e83f544a12c" - integrity sha512-olBsT3uy1TT2ZqmMCJUsMHrztJzoEpa8pxxvYrDZdWnEksl6mHV10lTeLbH9BUwbEheOeKkkdsERqUOs+if0jg== +verdaccio-htpasswd@10.5.1: + version "10.5.1" + resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.5.1.tgz#d49e13dec82d17a1f6aa491285e914e3535467e9" + integrity sha512-DCUOITs+Ta4Hep429BjopYrUw9hEJsJ1mbMP0l9Glan1S2YvTPanhtm5Ahw/joljUlt3xawKz9Gmt1QJujfMew== dependencies: "@verdaccio/file-locking" "10.3.0" - apache-md5 "1.1.7" + apache-md5 "1.1.8" bcryptjs "2.4.3" http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.15.4: - version "5.15.4" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.15.4.tgz#23b2b97b33b14ca30a6fc18b1226a1f082f7e476" - integrity sha512-yYMqpEQCv/BfYW5K/Nq57dbx68ICP1GfK7RJ0A3SlhKgl6idT8x4cJyLjH7C4k1Tln3LIQk1/X6ZtSl7xhzwOg== +verdaccio@5.16.3: + version "5.16.3" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.16.3.tgz#441aeffb55453905f6acfcb03ce7aa228aab77fa" + integrity sha512-2MWGcInH4wR1zSWQpsr51sAZjOzAMvtbi5IrqD4+1VCU2VB1VI5kAwte+ic8DA09thX1xaKGQgOsjMdT6p3jNQ== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" - "@verdaccio/readme" "10.4.1" + "@verdaccio/readme" "10.4.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.48" + "@verdaccio/ui-theme" "6.0.0-6-next.50" JSONStream "1.3.5" async "3.2.4" - body-parser "1.20.0" + body-parser "1.20.1" clipanion "3.1.0" compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.5" - debug "^4.3.3" + dayjs "1.11.6" + debug "^4.3.4" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" - express "4.18.1" + express "4.18.2" express-rate-limit "5.5.1" fast-safe-stringify "2.1.1" handlebars "4.7.7" @@ -11192,7 +11133,7 @@ verdaccio@5.15.4: lodash "4.17.21" lru-cache "7.14.0" lunr-mutable-indexes "2.3.2" - marked "4.1.0" + marked "4.2.2" memoizee "0.4.15" mime "3.0.0" minimatch "5.1.0" @@ -11205,8 +11146,8 @@ verdaccio@5.15.4: request "2.88.0" semver "7.3.7" validator "13.7.0" - verdaccio-audit "10.2.2" - verdaccio-htpasswd "10.5.0" + verdaccio-audit "10.2.3" + verdaccio-htpasswd "10.5.1" verror@1.10.0: version "1.10.0" @@ -11404,6 +11345,36 @@ webpack@5.74.0: watchpack "^2.4.0" webpack-sources "^3.2.3" +webpack@5.75.0: + version "5.75.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.75.0.tgz#1e440468647b2505860e94c9ff3e44d5b582c152" + integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.7.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.10.0" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" @@ -11738,9 +11709,9 @@ z-schema@~5.0.2: optionalDependencies: commander "^2.20.3" -zone.js@^0.11.3: - version "0.11.8" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.8.tgz#40dea9adc1ad007b5effb2bfed17f350f1f46a21" - integrity sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA== +zone.js@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.12.0.tgz#a4a6e5fab6d34bd37d89c77e89ac2e6f4a3d2c30" + integrity sha512-XtC+I5dXU14HrzidAKBNMqneIVUykLEAA1x+v4KVrd6AUPWlwYORF8KgsVqvgdHiKZ4BkxxjvYi/ksEixTPR0Q== dependencies: tslib "^2.3.0" From 32b1a103052b88980de0a25d772e328a446b5077 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 11 Nov 2022 06:06:20 +0000 Subject: [PATCH 1115/1388] build: update all non-major dependencies --- package.json | 4 ++-- packages/angular_devkit/build_angular/package.json | 4 ++-- yarn.lock | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 07914ba1b4f0..4c08b8f302f5 100644 --- a/package.json +++ b/package.json @@ -168,7 +168,7 @@ "less-loader": "11.1.0", "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", + "loader-utils": "3.2.1", "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", "minimatch": "5.1.0", @@ -184,7 +184,7 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.18", + "postcss": "8.4.19", "postcss-loader": "7.0.1", "prettier": "^2.0.0", "protractor": "~7.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 25d464df229b..e900aad93b93 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -40,14 +40,14 @@ "less": "4.1.3", "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", + "loader-utils": "3.2.1", "magic-string": "0.26.7", "mini-css-extract-plugin": "2.6.1", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.18", + "postcss": "8.4.19", "postcss-loader": "7.0.1", "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", diff --git a/yarn.lock b/yarn.lock index ad3f671889d1..fc36a07dd1aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7424,6 +7424,11 @@ loader-utils@3.2.0: resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== +loader-utils@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" + integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + loader-utils@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.3.tgz#d4b15b8504c63d1fc3f2ade52d41bc8459d6ede1" @@ -9000,6 +9005,15 @@ postcss@8.4.18, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.19: + version "8.4.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" + integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" From 678b0d2c05979439fcaa038cbe2204011d1408b1 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 11 Nov 2022 10:09:33 +0000 Subject: [PATCH 1116/1388] fix(@angular-devkit/build-angular): update browerslist package The `supports` query was added in version `4.13`, while `^4.9.1` does match this version is some cases an older version might be used to the presence of a lock file during the update which would cause the package not to be update. Closes #24212 --- package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 8 +------- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 4c08b8f302f5..2c7a10dd7865 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "babel-loader": "9.1.0", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", - "browserslist": "^4.9.1", + "browserslist": "4.21.4", "cacache": "17.0.2", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e900aad93b93..b89a0e19d539 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -25,7 +25,7 @@ "autoprefixer": "10.4.13", "babel-loader": "9.1.0", "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", + "browserslist": "4.21.4", "cacache": "17.0.2", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", diff --git a/yarn.lock b/yarn.lock index fc36a07dd1aa..50cb1c0994e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,7 +122,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0": version "0.0.0-7d103b83a07f132629592fc9918ce17d42a5e382" - uid fb42478534df7d48ec23a6834fea94a776cb89a0 resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0" dependencies: "@angular-devkit/build-angular" "15.0.0-rc.2" @@ -237,7 +236,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad": version "0.0.0-7d103b83a07f132629592fc9918ce17d42a5e382" - uid d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -3661,7 +3659,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.9.1: +browserslist@*, browserslist@4.21.4, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.9.1: version "4.21.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== @@ -8333,7 +8331,6 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8344,7 +8341,6 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" - fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8364,7 +8360,6 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" - minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -9804,7 +9799,6 @@ sass@1.56.1: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From 0dcb1998ad970747b7f4d7de1976e6a8ca3c5765 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 9 Nov 2022 13:40:43 +0000 Subject: [PATCH 1117/1388] fix(@angular/cli): respect registry in RC when running update through yarn This commit fixes an issue where when `ng update` was ran using `yarn` (`yarn ng update`) the registry was always being overridden to `https://registry.yarnpkg.com`. This is because yarn will set the `npm_config_registry` env variable to `https://registry.yarnpkg.com` even when an RC file is present with a different repository. --- .../angular/cli/src/utilities/package-metadata.ts | 12 ++++++++++++ .../e2e/tests/update/update-secure-registry.ts | 13 ++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/src/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts index e7a448aa8d61..faded207495f 100644 --- a/packages/angular/cli/src/utilities/package-metadata.ts +++ b/packages/angular/cli/src/utilities/package-metadata.ts @@ -139,6 +139,18 @@ function readOptions( continue; } + if ( + normalizedName === 'registry' && + rcOptions['registry'] && + value === 'https://registry.yarnpkg.com' && + process.env['npm_config_user_agent']?.includes('yarn') + ) { + // When running `ng update` using yarn (`yarn ng update`), yarn will set the `npm_config_registry` env variable to `https://registry.yarnpkg.com` + // even when an RC file is present with a different repository. + // This causes the registry specified in the RC to always be overridden with the below logic. + continue; + } + normalizedName = normalizedName.replace(/(?!^)_/g, '-'); // don't replace _ at the start of the key.s envVariablesOptions[normalizedName] = value; } diff --git a/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts b/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts index 18ab56859984..a06929f22fbd 100644 --- a/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts +++ b/tests/legacy-cli/e2e/tests/update/update-secure-registry.ts @@ -1,7 +1,9 @@ -import { ng } from '../../utils/process'; +import { exec, ng } from '../../utils/process'; import { createNpmConfigForAuthentication } from '../../utils/registry'; import { expectToFail } from '../../utils/utils'; import { isPrereleaseCli } from '../../utils/project'; +import { getActivePackageManager } from '../../utils/packages'; +import assert from 'node:assert'; export default async function () { // The environment variable has priority over the .npmrc @@ -32,4 +34,13 @@ export default async function () { await createNpmConfigForAuthentication(true, true); await expectToFail(() => ng('update', ...extraArgs)); + + if (getActivePackageManager() === 'yarn') { + // When running `ng update` using yarn (`yarn ng update`), yarn will set the `npm_config_registry` env variable to `https://registry.yarnpkg.com` + // Validate the the registry in the RC is used. + await createNpmConfigForAuthentication(true, true); + + const error = await expectToFail(() => exec('yarn', 'ng', 'update', ...extraArgs)); + assert.match(error.message, /not allowed to access package/); + } } From 4e42261609b0a77712695dcafe1eb53f0018fb6d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:53:53 -0500 Subject: [PATCH 1118/1388] refactor(@angular-devkit/build-angular): move internal bundle output processing into esbuild bundle helper The path adjustments and initial file logic for index file generation are now centralized in the esbuild build helper function. This allows usage of the functionality in multiple areas of the build system. --- .../src/builders/browser-esbuild/esbuild.ts | 33 ++++++++++++++++-- .../src/builders/browser-esbuild/index.ts | 34 ++++--------------- .../builders/browser-esbuild/stylesheets.ts | 3 +- 3 files changed, 38 insertions(+), 32 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts index a7d5dc9fd726..984c145117c4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -17,6 +17,8 @@ import { build, formatMessages, } from 'esbuild'; +import { basename, extname, relative } from 'node:path'; +import { FileInfo } from '../../utils/index-file/augment-index-html'; /** * Determines if an unknown value is an esbuild BuildFailure error object thrown by esbuild. @@ -39,16 +41,20 @@ export function isEsBuildFailure(value: unknown): value is BuildFailure { * warnings and errors for the attempted build. */ export async function bundle( + workspaceRoot: string, optionsOrInvalidate: BuildOptions | BuildInvalidate, ): Promise< - (BuildResult & { outputFiles: OutputFile[] }) | (BuildFailure & { outputFiles?: never }) + | (BuildResult & { outputFiles: OutputFile[]; initialFiles: FileInfo[] }) + | (BuildFailure & { outputFiles?: never }) > { + let result; try { if (typeof optionsOrInvalidate === 'function') { - return (await optionsOrInvalidate()) as BuildResult & { outputFiles: OutputFile[] }; + result = (await optionsOrInvalidate()) as BuildResult & { outputFiles: OutputFile[] }; } else { - return await build({ + result = await build({ ...optionsOrInvalidate, + metafile: true, write: false, }); } @@ -60,6 +66,27 @@ export async function bundle( throw failure; } } + + const initialFiles: FileInfo[] = []; + for (const outputFile of result.outputFiles) { + // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot + const relativeFilePath = relative(workspaceRoot, outputFile.path); + const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; + + outputFile.path = relativeFilePath; + + if (entryPoint) { + // An entryPoint value indicates an initial file + initialFiles.push({ + file: outputFile.path, + // The first part of the filename is the name of file (e.g., "polyfills" for "polyfills.7S5G3MDY.js") + name: basename(outputFile.path).split('.')[0], + extension: extname(outputFile.path), + }); + } + } + + return { ...result, initialFiles }; } export async function logMessages( diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 01a14ec5e551..ce186616098b 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -92,7 +92,10 @@ async function execute( const [codeResults, styleResults] = await Promise.all([ // Execute esbuild to bundle the application code - bundle(rebuildState?.codeRebuild ?? createCodeBundleOptions(options, target, codeBundleCache)), + bundle( + workspaceRoot, + rebuildState?.codeRebuild ?? createCodeBundleOptions(options, target, codeBundleCache), + ), // Execute esbuild to bundle the global stylesheets bundleGlobalStylesheets(options, target), ]); @@ -108,31 +111,9 @@ async function execute( return new ExecutionResult(false, rebuildState?.codeRebuild, codeBundleCache); } - // Structure the code bundling output files - const initialFiles: FileInfo[] = []; - const outputFiles: OutputFile[] = []; - for (const outputFile of codeResults.outputFiles) { - // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot - const relativeFilePath = path.relative(workspaceRoot, outputFile.path); - const entryPoint = codeResults.metafile?.outputs[relativeFilePath]?.entryPoint; - - outputFile.path = relativeFilePath; - - if (entryPoint) { - // An entryPoint value indicates an initial file - initialFiles.push({ - file: outputFile.path, - // The first part of the filename is the name of file (e.g., "polyfills" for "polyfills.7S5G3MDY.js") - name: path.basename(outputFile.path).split('.')[0], - extension: path.extname(outputFile.path), - }); - } - outputFiles.push(outputFile); - } - - // Add global stylesheets output files - outputFiles.push(...styleResults.outputFiles); - initialFiles.push(...styleResults.initialFiles); + // Combine the bundling output files + const initialFiles: FileInfo[] = [...codeResults.initialFiles, ...styleResults.initialFiles]; + const outputFiles: OutputFile[] = [...codeResults.outputFiles, ...styleResults.outputFiles]; // Return if the global stylesheet bundling has errors if (styleResults.errors.length) { @@ -268,7 +249,6 @@ function createCodeBundleOptions( conditions: ['es2020', 'es2015', 'module'], resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], logLevel: options.verbose ? 'debug' : 'silent', - metafile: true, minify: optimizationOptions.scripts, pure: ['forwardRef'], outdir: workspaceRoot, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 7c58c8aaaaa4..b51eaf5b12eb 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -28,7 +28,7 @@ async function bundleStylesheet( options: BundleStylesheetOptions, ) { // Execute esbuild - const result = await bundle({ + const result = await bundle(options.workspaceRoot, { ...entry, absWorkingDir: options.workspaceRoot, bundle: true, @@ -58,7 +58,6 @@ async function bundleStylesheet( const resourceFiles: OutputFile[] = []; if (result.outputFiles) { for (const outputFile of result.outputFiles) { - outputFile.path = path.relative(options.workspaceRoot, outputFile.path); const filename = path.basename(outputFile.path); if (filename.endsWith('.css')) { outputPath = outputFile.path; From 3f193be775cd2904fa382047069e7c587e4a1ade Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 10 Nov 2022 18:53:08 -0500 Subject: [PATCH 1119/1388] perf(@angular-devkit/build-angular): add initial global styles incremental rebuilds with esbuild builder When using the experimental esbuild-based browser application builder in watch mode, global stylesheets configured with the `styles` option will now use the incremental rebuild mode of esbuild. This allows for a reduction in processing when rebuilding the global styles. CSS stylesheets benefit the most currently. Sass stylesheets will benefit more once preprocessor output caching is implemented. --- .../src/builders/browser-esbuild/index.ts | 154 +++++++++--------- .../builders/browser-esbuild/stylesheets.ts | 20 ++- 2 files changed, 95 insertions(+), 79 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index ce186616098b..53159f520fb2 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -7,10 +7,10 @@ */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import * as assert from 'assert'; -import type { BuildInvalidate, BuildOptions, Message, OutputFile } from 'esbuild'; -import * as fs from 'fs/promises'; -import * as path from 'path'; +import type { BuildInvalidate, BuildOptions, OutputFile } from 'esbuild'; +import assert from 'node:assert'; +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { deleteOutputDir } from '../../utils'; import { copyAssets } from '../../utils/copy-assets'; import { assertIsError } from '../../utils/error'; @@ -25,11 +25,12 @@ import { logExperimentalWarnings } from './experimental-warnings'; import { NormalizedBrowserOptions, normalizeOptions } from './options'; import { shutdownSassWorkerPool } from './sass-plugin'; import { Schema as BrowserBuilderOptions } from './schema'; -import { bundleStylesheetText } from './stylesheets'; +import { createStylesheetBundleOptions } from './stylesheets'; import { ChangedFiles, createWatcher } from './watcher'; interface RebuildState { codeRebuild?: BuildInvalidate; + globalStylesRebuild?: BuildInvalidate; codeBundleCache?: SourceFileCache; fileChanges: ChangedFiles; } @@ -41,6 +42,7 @@ class ExecutionResult { constructor( private success: boolean, private codeRebuild?: BuildInvalidate, + private globalStylesRebuild?: BuildInvalidate, private codeBundleCache?: SourceFileCache, ) {} @@ -55,6 +57,7 @@ class ExecutionResult { return { codeRebuild: this.codeRebuild, + globalStylesRebuild: this.globalStylesRebuild, codeBundleCache: this.codeBundleCache, fileChanges, }; @@ -97,7 +100,10 @@ async function execute( rebuildState?.codeRebuild ?? createCodeBundleOptions(options, target, codeBundleCache), ), // Execute esbuild to bundle the global stylesheets - bundleGlobalStylesheets(options, target), + bundle( + workspaceRoot, + rebuildState?.globalStylesRebuild ?? createGlobalStylesBundleOptions(options, target), + ), ]); // Log all warnings and errors generated during bundling @@ -108,18 +114,33 @@ async function execute( // Return if the bundling failed to generate output files or there are errors if (!codeResults.outputFiles || codeResults.errors.length) { - return new ExecutionResult(false, rebuildState?.codeRebuild, codeBundleCache); + return new ExecutionResult( + false, + rebuildState?.codeRebuild, + (styleResults.outputFiles && styleResults.rebuild) ?? rebuildState?.globalStylesRebuild, + codeBundleCache, + ); + } + + // Return if the global stylesheet bundling has errors + if (!styleResults.outputFiles || styleResults.errors.length) { + return new ExecutionResult( + false, + codeResults.rebuild, + rebuildState?.globalStylesRebuild, + codeBundleCache, + ); } + // Filter global stylesheet initial files + styleResults.initialFiles = styleResults.initialFiles.filter( + ({ name }) => options.globalStyles.find((style) => style.name === name)?.initial, + ); + // Combine the bundling output files const initialFiles: FileInfo[] = [...codeResults.initialFiles, ...styleResults.initialFiles]; const outputFiles: OutputFile[] = [...codeResults.outputFiles, ...styleResults.outputFiles]; - // Return if the global stylesheet bundling has errors - if (styleResults.errors.length) { - return new ExecutionResult(false, codeResults.rebuild, codeBundleCache); - } - // Generate index HTML file if (indexHtmlOptions) { // Create an index HTML generator that reads from the in-memory output files @@ -184,14 +205,14 @@ async function execute( } catch (error) { context.logger.error(error instanceof Error ? error.message : `${error}`); - return new ExecutionResult(false, codeResults.rebuild, codeBundleCache); + return new ExecutionResult(false, codeResults.rebuild, styleResults.rebuild, codeBundleCache); } } const buildTime = Number(process.hrtime.bigint() - startTime) / 10 ** 9; context.logger.info(`Complete. [${buildTime.toFixed(3)} seconds]`); - return new ExecutionResult(true, codeResults.rebuild, codeBundleCache); + return new ExecutionResult(true, codeResults.rebuild, styleResults.rebuild, codeBundleCache); } function createOutputFileFromText(path: string, text: string): OutputFile { @@ -293,7 +314,10 @@ function createCodeBundleOptions( }; } -async function bundleGlobalStylesheets(options: NormalizedBrowserOptions, target: string[]) { +function createGlobalStylesBundleOptions( + options: NormalizedBrowserOptions, + target: string[], +): BuildOptions { const { workspaceRoot, optimizationOptions, @@ -303,70 +327,54 @@ async function bundleGlobalStylesheets(options: NormalizedBrowserOptions, target preserveSymlinks, externalDependencies, stylePreprocessorOptions, + watch, } = options; - const outputFiles: OutputFile[] = []; - const initialFiles: FileInfo[] = []; - const errors: Message[] = []; - const warnings: Message[] = []; - - for (const { name, files, initial } of globalStyles) { - const virtualEntryData = files - .map((file) => `@import '${file.replace(/\\/g, '/')}';`) - .join('\n'); - const sheetResult = await bundleStylesheetText( - virtualEntryData, - { virtualName: `angular:style/global;${name}`, resolvePath: workspaceRoot }, - { - workspaceRoot, - optimization: !!optimizationOptions.styles.minify, - sourcemap: !!sourcemapOptions.styles && (sourcemapOptions.hidden ? 'external' : true), - outputNames: initial ? outputNames : { media: outputNames.media }, - includePaths: stylePreprocessorOptions?.includePaths, - preserveSymlinks, - externalDependencies, - target, - }, - ); - - errors.push(...sheetResult.errors); - warnings.push(...sheetResult.warnings); - - if (!sheetResult.path) { - // Failed to process the stylesheet - assert.ok( - sheetResult.errors.length, - `Global stylesheet processing for '${name}' failed with no errors.`, - ); - - continue; - } + const buildOptions = createStylesheetBundleOptions({ + workspaceRoot, + optimization: !!optimizationOptions.styles.minify, + sourcemap: !!sourcemapOptions.styles, + preserveSymlinks, + target, + externalDependencies, + outputNames, + includePaths: stylePreprocessorOptions?.includePaths, + }); + buildOptions.incremental = watch; - // The virtual stylesheets will be named `stdin` by esbuild. This must be replaced - // with the actual name of the global style and the leading directory separator must - // also be removed to make the path relative. - const sheetPath = sheetResult.path.replace('stdin', name); - let sheetContents = sheetResult.contents; - if (sheetResult.map) { - outputFiles.push(createOutputFileFromText(sheetPath + '.map', sheetResult.map)); - sheetContents = sheetContents.replace( - 'sourceMappingURL=stdin.css.map', - `sourceMappingURL=${name}.css.map`, - ); - } - outputFiles.push(createOutputFileFromText(sheetPath, sheetContents)); + const namespace = 'angular:styles/global'; + buildOptions.entryPoints = {}; + for (const { name } of globalStyles) { + buildOptions.entryPoints[name] = `${namespace};${name}`; + } - if (initial) { - initialFiles.push({ - file: sheetPath, - name, - extension: '.css', + buildOptions.plugins.unshift({ + name: 'angular-global-styles', + setup(build) { + build.onResolve({ filter: /^angular:styles\/global;/ }, (args) => { + if (args.kind !== 'entry-point') { + return null; + } + + return { + path: args.path.split(';', 2)[1], + namespace, + }; }); - } - outputFiles.push(...sheetResult.resourceFiles); - } + build.onLoad({ filter: /./, namespace }, (args) => { + const files = globalStyles.find(({ name }) => name === args.path)?.files; + assert(files, `global style name should always be found [${args.path}]`); + + return { + contents: files.map((file) => `@import '${file.replace(/\\/g, '/')}';`).join('\n'), + loader: 'css', + resolveDir: workspaceRoot, + }; + }); + }, + }); - return { outputFiles, initialFiles, errors, warnings }; + return buildOptions; } /** diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index b51eaf5b12eb..a34a624cea76 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -23,13 +23,10 @@ export interface BundleStylesheetOptions { target: string[]; } -async function bundleStylesheet( - entry: Required | Pick>, +export function createStylesheetBundleOptions( options: BundleStylesheetOptions, -) { - // Execute esbuild - const result = await bundle(options.workspaceRoot, { - ...entry, +): BuildOptions & { plugins: NonNullable } { + return { absWorkingDir: options.workspaceRoot, bundle: true, entryNames: options.outputNames?.bundles, @@ -49,6 +46,17 @@ async function bundleStylesheet( createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths: options.includePaths }), createCssResourcePlugin(), ], + }; +} + +async function bundleStylesheet( + entry: Required | Pick>, + options: BundleStylesheetOptions, +) { + // Execute esbuild + const result = await bundle(options.workspaceRoot, { + ...createStylesheetBundleOptions(options), + ...entry, }); // Extract the result of the bundling from the output files From 4143016f3ee344b7b745b72e903d72cc2b60c9c8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 14 Nov 2022 12:02:22 +0000 Subject: [PATCH 1120/1388] test(@angular/cli): remove version 12 update tests Version 12 is no longer in LTS. --- .../e2e/assets/12.0-project/.browserslistrc | 17 - .../e2e/assets/12.0-project/.editorconfig | 16 - .../e2e/assets/12.0-project/.gitignore | 45 -- .../e2e/assets/12.0-project/README.md | 27 - .../e2e/assets/12.0-project/angular.json | 118 ---- .../12.0-project/e2e/protractor.conf.js | 36 -- .../12.0-project/e2e/src/app.e2e-spec.ts | 25 - .../e2e/assets/12.0-project/e2e/src/app.po.ts | 11 - .../e2e/assets/12.0-project/e2e/tsconfig.json | 10 - .../e2e/assets/12.0-project/karma.conf.js | 44 -- .../e2e/assets/12.0-project/package.json | 43 -- .../src/app/app-routing.module.ts | 10 - .../12.0-project/src/app/app.component.css | 0 .../12.0-project/src/app/app.component.html | 509 ------------------ .../src/app/app.component.spec.ts | 35 -- .../12.0-project/src/app/app.component.ts | 10 - .../assets/12.0-project/src/app/app.module.ts | 18 - .../assets/12.0-project/src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 3 - .../src/environments/environment.ts | 16 - .../e2e/assets/12.0-project/src/favicon.ico | Bin 948 -> 0 bytes .../e2e/assets/12.0-project/src/index.html | 13 - .../e2e/assets/12.0-project/src/main.ts | 12 - .../e2e/assets/12.0-project/src/polyfills.ts | 65 --- .../e2e/assets/12.0-project/src/styles.css | 1 - .../e2e/assets/12.0-project/src/test.ts | 25 - .../e2e/assets/12.0-project/tsconfig.app.json | 15 - .../e2e/assets/12.0-project/tsconfig.json | 31 -- .../assets/12.0-project/tsconfig.spec.json | 18 - .../e2e/assets/13.0-project/package.json | 3 + .../tests/update/update-multiple-versions.ts | 8 +- tests/legacy-cli/e2e/tests/update/update.ts | 10 +- 32 files changed, 12 insertions(+), 1182 deletions(-) delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/.editorconfig delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/.gitignore delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/README.md delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/angular.json delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.po.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/e2e/tsconfig.json delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/package.json delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.css delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/assets/.gitkeep delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/favicon.ico delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/index.html delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/main.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/styles.css delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/src/test.ts delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json delete mode 100644 tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json diff --git a/tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc b/tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc deleted file mode 100644 index 427441dc9308..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/.browserslistrc +++ /dev/null @@ -1,17 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# For the full list of supported browsers by the Angular framework, please see: -# https://angular.io/guide/browser-support - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major versions -last 2 iOS major versions -Firefox ESR -not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/tests/legacy-cli/e2e/assets/12.0-project/.editorconfig b/tests/legacy-cli/e2e/assets/12.0-project/.editorconfig deleted file mode 100644 index 59d9a3a3e73f..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/tests/legacy-cli/e2e/assets/12.0-project/.gitignore b/tests/legacy-cli/e2e/assets/12.0-project/.gitignore deleted file mode 100644 index de51f68a2cda..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/.gitignore +++ /dev/null @@ -1,45 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -/dist -/tmp -/out-tsc -# Only exists if Bazel was run -/bazel-out - -# dependencies -/node_modules - -# profiling files -chrome-profiler-events*.json - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history/* - -# misc -/.sass-cache -/connect.lock -/coverage -/libpeerconnection.log -npm-debug.log -yarn-error.log -testem.log -/typings - -# System Files -.DS_Store -Thumbs.db diff --git a/tests/legacy-cli/e2e/assets/12.0-project/README.md b/tests/legacy-cli/e2e/assets/12.0-project/README.md deleted file mode 100644 index e5ad9d504c52..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# TwelveProject - -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.5. - -## Development server - -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. - -## Code scaffolding - -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. - -## Build - -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. - -## Running unit tests - -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). - -## Running end-to-end tests - -Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. - -## Further help - -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/tests/legacy-cli/e2e/assets/12.0-project/angular.json b/tests/legacy-cli/e2e/assets/12.0-project/angular.json deleted file mode 100644 index 7c5d8e218668..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/angular.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "twelve-project": { - "projectType": "application", - "schematics": { - "@schematics/angular:application": { - "strict": true - } - }, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "outputPath": "dist/twelve-project", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "500kb", - "maximumError": "1mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kb", - "maximumError": "4kb" - } - ], - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], - "outputHashing": "all" - }, - "development": { - "buildOptimizer": false, - "optimization": false, - "vendorChunk": true, - "extractLicenses": false, - "sourceMap": true, - "namedChunks": true - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "configurations": { - "production": { - "browserTarget": "twelve-project:build:production" - }, - "development": { - "browserTarget": "twelve-project:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "twelve-project:build" - } - }, - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "twelve-project:serve" - }, - "configurations": { - "production": { - "devServerTarget": "twelve-project:serve:production" - } - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - } - } - } - } - }, - "defaultProject": "twelve-project" -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js b/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js deleted file mode 100644 index f07dcd519768..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js +++ /dev/null @@ -1,36 +0,0 @@ -// @ts-check -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); - -/** - * @type { import("protractor").Config } - */ -exports.config = { - allScriptsTimeout: 11000, - specs: ['./src/**/*.e2e-spec.ts'], - capabilities: { - browserName: 'chrome', - }, - directConnect: true, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 30000, - print: function () {}, - }, - onPrepare() { - require('ts-node').register({ - project: require('path').join(__dirname, './tsconfig.json'), - }); - jasmine.getEnv().addReporter( - new SpecReporter({ - spec: { - displayStacktrace: StacktraceOption.PRETTY, - }, - }), - ); - }, -}; diff --git a/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts b/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts deleted file mode 100644 index 2c278bbb44db..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.e2e-spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { AppPage } from './app.po'; -import { browser, logging } from 'protractor'; - -describe('workspace-project App', () => { - let page: AppPage; - - beforeEach(() => { - page = new AppPage(); - }); - - it('should display welcome message', async () => { - page.navigateTo(); - expect(await page.getTitleText()).toMatch(/app is running/); - }); - - afterEach(async () => { - // Assert that there are no errors emitted from the browser - const logs = await browser.manage().logs().get(logging.Type.BROWSER); - expect(logs).not.toContain( - jasmine.objectContaining({ - level: logging.Level.SEVERE, - } as logging.Entry), - ); - }); -}); diff --git a/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.po.ts b/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.po.ts deleted file mode 100644 index b68475e0fc0c..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/e2e/src/app.po.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { browser, by, element } from 'protractor'; - -export class AppPage { - navigateTo(): Promise { - return browser.get(browser.baseUrl) as Promise; - } - - getTitleText(): Promise { - return element(by.css('app-root .content span')).getText() as Promise; - } -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/e2e/tsconfig.json b/tests/legacy-cli/e2e/assets/12.0-project/e2e/tsconfig.json deleted file mode 100644 index eddd492c3de8..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/e2e", - "module": "commonjs", - "target": "es2018", - "types": ["jasmine", "jasminewd2", "node"] - } -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js deleted file mode 100644 index 23f103f11d79..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/karma.conf.js +++ /dev/null @@ -1,44 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - jasmine: { - // you can add configuration options for Jasmine here - // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html - // for example, you can disable the random execution with `random: false` - // or set a specific seed with `seed: 4321` - }, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, './coverage/twelve-project'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/tests/legacy-cli/e2e/assets/12.0-project/package.json b/tests/legacy-cli/e2e/assets/12.0-project/package.json deleted file mode 100644 index 086bb4308355..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "twelve-project", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "dependencies": { - "@angular/animations": "~12.0.5", - "@angular/common": "~12.0.5", - "@angular/compiler": "~12.0.5", - "@angular/core": "~12.0.5", - "@angular/forms": "~12.0.5", - "@angular/platform-browser": "~12.0.5", - "@angular/platform-browser-dynamic": "~12.0.5", - "@angular/router": "~12.0.5", - "rxjs": "~6.6.0", - "tslib": "^2.1.0", - "zone.js": "~0.11.4" - }, - "devDependencies": { - "@angular-devkit/build-angular": "~12.0.5", - "@angular/cli": "~12.0.5", - "@angular/compiler-cli": "~12.0.5", - "@types/node": "^12.11.1", - "@types/jasmine": "~3.6.0", - "jasmine-core": "~3.7.0", - "jasmine-spec-reporter": "~7.0.0", - "karma": "~6.3.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "~1.5.0", - "protractor": "~7.0.0", - "ts-node": "~8.3.0", - "tslint": "~6.1.0", - "typescript": "~4.2.3" - } -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts deleted file mode 100644 index 02972627f8df..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app-routing.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -const routes: Routes = []; - -@NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] -}) -export class AppRoutingModule { } diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.css b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.css deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html deleted file mode 100644 index a751c67c5f2d..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.html +++ /dev/null @@ -1,509 +0,0 @@ - - - - - - - - - - - - - - -
- - -
- - - Rocket Ship - - - - - - - - - - {{ title }} app is running! - - - Rocket Ship Smoke - - - -
- - -

Resources

-

Here are some links to help you get started:

- - - - -

Next Steps

-

What do you want to do next with your app?

- - - -
-
- - - New Component -
- -
- - - Angular Material -
- -
- - - Add PWA Support -
- -
- - - Add Dependency -
- -
- - - Run and Watch Tests -
- -
- - - Build for Production -
-
- - -
-
ng generate component xyz
-
ng add @angular/material
-
ng add @angular/pwa
-
ng add _____
-
ng test
-
ng build
-
- - - - - - - - - Gray Clouds Background - - - -
- - - - - - - - - - diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts deleted file mode 100644 index c7060eb77ad5..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - RouterTestingModule - ], - declarations: [ - AppComponent - ], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have as title 'twelve-project'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('twelve-project'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement; - expect(compiled.querySelector('.content span').textContent).toContain('twelve-project app is running!'); - }); -}); diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts deleted file mode 100644 index 2e27024b0e44..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'] -}) -export class AppComponent { - title = 'twelve-project'; -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts deleted file mode 100644 index b1c6c96a9de8..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/app/app.module.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; - -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - AppRoutingModule - ], - providers: [], - bootstrap: [AppComponent] -}) -export class AppModule { } diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/assets/.gitkeep b/tests/legacy-cli/e2e/assets/12.0-project/src/assets/.gitkeep deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts deleted file mode 100644 index 3612073bc31c..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.prod.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true -}; diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts deleted file mode 100644 index f56ff47022c7..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/environments/environment.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - -export const environment = { - production: false -}; - -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/favicon.ico b/tests/legacy-cli/e2e/assets/12.0-project/src/favicon.ico deleted file mode 100644 index 997406ad22c29aae95893fb3d666c30258a09537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 - - - - TwelveProject - - - - - - - - diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/main.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/main.ts deleted file mode 100644 index c7b673cf44b3..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/main.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts deleted file mode 100644 index 373f538a7197..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/polyfills.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** - * IE11 requires the following for NgClass support on SVG elements - */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - * because those flags need to be set before `zone.js` being loaded, and webpack - * will put import in the top of bundle, so user need to create a separate file - * in this directory (for example: zone-flags.ts), and put the following flags - * into that file, and then add the following code before importing zone.js. - * import './zone-flags'; - * - * The flags allowed in zone-flags.ts are listed here. - * - * The following flags will work for all browsers. - * - * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - * - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - * - * (window as any).__Zone_enable_cross_context_check = true; - * - */ - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js'; // Included with Angular CLI. - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/styles.css b/tests/legacy-cli/e2e/assets/12.0-project/src/styles.css deleted file mode 100644 index 90d4ee0072ce..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/styles.css +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/tests/legacy-cli/e2e/assets/12.0-project/src/test.ts b/tests/legacy-cli/e2e/assets/12.0-project/src/test.ts deleted file mode 100644 index 2042356408ff..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/src/test.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/testing'; -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - keys(): string[]; - (id: string): T; - }; -}; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json deleted file mode 100644 index 82d91dc4a4de..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.app.json +++ /dev/null @@ -1,15 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": [ - "src/main.ts", - "src/polyfills.ts" - ], - "include": [ - "src/**/*.d.ts" - ] -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json deleted file mode 100644 index 4977e18060ed..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.json +++ /dev/null @@ -1,31 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "compileOnSave": false, - "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, - "experimentalDecorators": true, - "moduleResolution": "node", - "importHelpers": true, - "target": "es2022", - "module": "es2022", - "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] - }, - "angularCompilerOptions": { - "enableI18nLegacyMessageIdFormat": false, - "strictInjectionParameters": true, - "strictInputAccessModifiers": true, - "strictTemplates": true - } -} diff --git a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json b/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json deleted file mode 100644 index 092345b02e80..000000000000 --- a/tests/legacy-cli/e2e/assets/12.0-project/tsconfig.spec.json +++ /dev/null @@ -1,18 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine" - ] - }, - "files": [ - "src/test.ts", - "src/polyfills.ts" - ], - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/tests/legacy-cli/e2e/assets/13.0-project/package.json b/tests/legacy-cli/e2e/assets/13.0-project/package.json index 70f6e70e3fae..8610cc3e9cfd 100644 --- a/tests/legacy-cli/e2e/assets/13.0-project/package.json +++ b/tests/legacy-cli/e2e/assets/13.0-project/package.json @@ -29,11 +29,14 @@ "@types/jasmine": "~3.10.0", "@types/node": "^12.11.1", "jasmine-core": "~3.10.0", + "jasmine-spec-reporter": "~7.0.0", "karma": "~6.3.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "~1.7.0", + "protractor": "~7.0.0", + "ts-node": "~8.3.0", "typescript": "~4.4.3" } } diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts index 02e4bb7daecd..3f359f90bc6b 100644 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -7,7 +7,7 @@ import { expectToFail } from '../../utils/utils'; export default async function () { let restoreRegistry: (() => Promise) | undefined; try { - restoreRegistry = await createProjectFromAsset('12.0-project', true); + restoreRegistry = await createProjectFromAsset('13.0-project', true); await setRegistry(true); const extraArgs = ['--force']; @@ -17,10 +17,10 @@ export default async function () { // Update Angular from v12 to 13 const { stdout } = await ng('update', ...extraArgs); - if (!/@angular\/core\s+12\.\d\.\d+ -> 13\.\d\.\d+\s+ng update @angular\/core@13/.test(stdout)) { - // @angular/core 12.x.x -> 13.x.x ng update @angular/core@13 + if (!/@angular\/core\s+13\.\d\.\d+ -> 14\.\d\.\d+\s+ng update @angular\/core@14/.test(stdout)) { + // @angular/core 13.x.x -> 14.x.x ng update @angular/core@14 throw new Error( - `Output didn't match "@angular/core 12.x.x -> 13.x.x ng update @angular/core@13". OUTPUT: \n` + + `Output didn't match "@angular/core 13.x.x -> 14.x.x ng update @angular/core@14". OUTPUT: \n` + stdout, ); } diff --git a/tests/legacy-cli/e2e/tests/update/update.ts b/tests/legacy-cli/e2e/tests/update/update.ts index b0fbbfe9df15..bb8b9467292d 100644 --- a/tests/legacy-cli/e2e/tests/update/update.ts +++ b/tests/legacy-cli/e2e/tests/update/update.ts @@ -12,7 +12,7 @@ export default async function () { try { // We need to use the public registry because in the local NPM server we don't have // older versions @angular/cli packages which would cause `npm install` during `ng update` to fail. - restoreRegistry = await createProjectFromAsset('12.0-project', true); + restoreRegistry = await createProjectFromAsset('13.0-project', true); // If using npm, enable legacy peer deps mode to avoid defects in npm 7+'s peer dependency resolution // Example error where 11.2.14 satisfies the SemVer range ^11.0.0 but still fails: @@ -72,9 +72,9 @@ export default async function () { await ng('update', '@angular/cli', ...extraUpdateArgs); // Setup testing to use CI Chrome. - await useCIChrome('twelve-project', './'); - await useCIChrome('twelve-project', './e2e/'); - await useCIDefaults('twelve-project'); + await useCIChrome('thirteen-project', './'); + await useCIChrome('thirteen-project', './e2e/'); + await useCIDefaults('thirteen-project'); // Run CLI commands. await ng('generate', 'component', 'my-comp'); @@ -85,5 +85,5 @@ export default async function () { // Verify project now creates bundles await noSilentNg('build', '--configuration=production'); - await expectFileMatchToExist('dist/twelve-project/', /main\.[0-9a-f]{16}\.js/); + await expectFileMatchToExist('dist/thirteen-project/', /main\.[0-9a-f]{16}\.js/); } From 76569cb500e1f7ab84850b3e409a8b9eec3fafa1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 21 Oct 2022 16:46:35 +0000 Subject: [PATCH 1121/1388] build: lock file maintenance --- yarn.lock | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yarn.lock b/yarn.lock index 50cb1c0994e9..743787285e13 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8331,6 +8331,7 @@ npm@^8.11.0: "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8341,6 +8342,7 @@ npm@^8.11.0: cli-table3 "^0.6.2" columnify "^1.6.0" fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" hosted-git-info "^5.1.0" @@ -8360,6 +8362,7 @@ npm@^8.11.0: libnpmteam "^4.0.4" libnpmversion "^3.0.7" make-fetch-happen "^10.2.0" + minimatch "^5.1.0" minipass "^3.1.6" minipass-pipeline "^1.2.4" mkdirp "^1.0.4" @@ -9799,6 +9802,7 @@ sass@1.56.1: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From e333eabef96b404e5ad7737590840eb110ff6b34 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 13 Nov 2022 22:37:58 +0000 Subject: [PATCH 1122/1388] build: update all non-major dependencies --- package.json | 6 ++-- .../angular_devkit/build_angular/package.json | 2 +- packages/angular_devkit/core/package.json | 2 +- yarn.lock | 30 +++++++++++++++++-- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2c7a10dd7865..7583690a084d 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ ] }, "resolutions": { - "**/ajv-formats/ajv": "8.11.0", + "**/ajv-formats/ajv": "8.11.2", "@types/parse5-html-rewriting-stream/@types/parse5-sax-parser": "^5.0.2" }, "devDependencies": { @@ -125,7 +125,7 @@ "@typescript-eslint/eslint-plugin": "5.42.1", "@typescript-eslint/parser": "5.42.1", "@yarnpkg/lockfile": "1.1.0", - "ajv": "8.11.0", + "ajv": "8.11.2", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", @@ -138,7 +138,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", - "css-loader": "6.7.1", + "css-loader": "6.7.2", "debug": "^4.1.1", "esbuild": "0.15.13", "esbuild-wasm": "0.15.13", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b89a0e19d539..9eb5e7cbdc9f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,7 +30,7 @@ "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", - "css-loader": "6.7.1", + "css-loader": "6.7.2", "esbuild-wasm": "0.15.13", "glob": "8.0.3", "https-proxy-agent": "5.0.1", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 5985806f6826..5ce8e35e0a36 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -9,7 +9,7 @@ ], "dependencies": { "ajv-formats": "2.1.1", - "ajv": "8.11.0", + "ajv": "8.11.2", "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" diff --git a/yarn.lock b/yarn.lock index 743787285e13..c39581400077 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3137,7 +3137,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.0, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: +ajv@8.11.0, ajv@^8.11.0, ajv@^8.8.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== @@ -3147,6 +3147,16 @@ ajv@8.11.0, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@8.11.2, ajv@^8.0.0: + version "8.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -4327,6 +4337,20 @@ css-loader@6.7.1: postcss-value-parser "^4.2.0" semver "^7.3.5" +css-loader@6.7.2: + version "6.7.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.2.tgz#26bc22401b5921686a10fbeba75d124228302304" + integrity sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.18" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" + css-select@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" @@ -9003,7 +9027,7 @@ postcss@8.4.18, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7 picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.19: +postcss@8.4.19, postcss@^8.4.18: version "8.4.19" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== @@ -9891,7 +9915,7 @@ semver@7.3.7: dependencies: lru-cache "^6.0.0" -semver@7.3.8, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@~7.3.0: +semver@7.3.8, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@~7.3.0: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== From 6cc45f69b85dbdfb8ff40e643400cdbd91524b15 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 11 Nov 2022 10:52:31 -0500 Subject: [PATCH 1123/1388] fix(@angular-devkit/build-angular): show file replacement in TS missing file error in esbuild builder When using the experimental esbuild-based browser application builder with the `fileReplacements` option, TypeScript missing compilation file errors will now contain a note that the requested file was a replacement for another file and show the path of the file. --- .../browser-esbuild/compiler-plugin.ts | 46 +++++++++++++------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 76336f92bcd9..d7bb28518f92 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -453,36 +453,33 @@ export function createCompilerPlugin( async () => { assert.ok(fileEmitter, 'Invalid plugin execution order'); + const request = pluginOptions.fileReplacements?.[args.path] ?? args.path; + // The filename is currently used as a cache key. Since the cache is memory only, // the options cannot change and do not need to be represented in the key. If the // cache is later stored to disk, then the options that affect transform output // would need to be added to the key as well as a check for any change of content. let contents = pluginOptions.sourceFileCache?.typeScriptFileCache.get( - pathToFileURL(args.path).href, + pathToFileURL(request).href, ); if (contents === undefined) { - const typescriptResult = await fileEmitter( - pluginOptions.fileReplacements?.[args.path] ?? args.path, - ); + const typescriptResult = await fileEmitter(request); if (!typescriptResult) { // No TS result indicates the file is not part of the TypeScript program. // If allowJs is enabled and the file is JS then defer to the next load hook. - if (compilerOptions.allowJs && /\.[cm]?js$/.test(args.path)) { + if (compilerOptions.allowJs && /\.[cm]?js$/.test(request)) { return undefined; } // Otherwise return an error return { errors: [ - { - text: `File '${args.path}' is missing from the TypeScript compilation.`, - notes: [ - { - text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, - }, - ], - }, + createMissingFileError( + request, + args.path, + build.initialOptions.absWorkingDir ?? '', + ), ], }; } @@ -494,13 +491,13 @@ export function createCompilerPlugin( // would need to be added to the key as well. contents = babelDataCache.get(data); if (contents === undefined) { - const transformedData = await transformWithBabel(args.path, data, pluginOptions); + const transformedData = await transformWithBabel(request, data, pluginOptions); contents = Buffer.from(transformedData, 'utf-8'); babelDataCache.set(data, contents); } pluginOptions.sourceFileCache?.typeScriptFileCache.set( - pathToFileURL(args.path).href, + pathToFileURL(request).href, contents, ); } @@ -687,3 +684,22 @@ function findAffectedFiles( return affectedFiles; } + +function createMissingFileError(request: string, original: string, root: string): PartialMessage { + const error = { + text: `File '${path.relative(root, request)}' is missing from the TypeScript compilation.`, + notes: [ + { + text: `Ensure the file is part of the TypeScript program via the 'files' or 'include' property.`, + }, + ], + }; + + if (request !== original) { + error.notes.push({ + text: `File is requested from a file replacement of '${path.relative(root, original)}'.`, + }); + } + + return error; +} From b2ab3fc85c41431a6551313ce945797eda4dfd6b Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Mon, 14 Nov 2022 16:32:01 -0800 Subject: [PATCH 1124/1388] docs: release notes for the v15.0.0-rc.4 release --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91eb39e8fca4..14add3b1a42c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ + + +# 15.0.0-rc.4 (2022-11-14) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- | +| [ff0382718](https://github.com/angular/angular-cli/commit/ff0382718af60923fe71f8b224d36a50449484e6) | fix | respect registry in RC when running update through yarn | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [54e1c01d8](https://github.com/angular/angular-cli/commit/54e1c01d8b608ff240f7559ca176cd50e991952c) | fix | show file replacement in TS missing file error in esbuild builder | +| [fc82e3bec](https://github.com/angular/angular-cli/commit/fc82e3bec3f188d449e952d9955b845b2efdcd6b) | fix | update browerslist package | +| [9d0872fb5](https://github.com/angular/angular-cli/commit/9d0872fb5e369f714633387d9ae39c4242ba1ea1) | perf | add initial global styles incremental rebuilds with esbuild builder | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.0.0-rc.3 (2022-11-09) From 11bb8ce26f77c5e4cb88a4bd9fffcd6b67ade178 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Nov 2022 07:50:04 +0000 Subject: [PATCH 1125/1388] perf(@angular-devkit/build-angular): add vendor chunking to server builder With this change we add the `vendorChunk` option in the server builder. This option should only be used in development as it is intended to be used to improve the incremental re-build time. This improves the rebuild time as Webpack will have less modules to analyse during a change in the application. Below, we can see the impact this change has in a `ng new` application. Without vendor chunking ``` $ ng run ssr-vendor:server:development --watch --no-vendor-chunk Build at: 2022-11-14T08:42:27.089Z - Hash: 0325905b63e43ddb - Time: 15357ms Build at: 2022-11-14T08:42:37.565Z - Hash: 05cb180a02524656 - Time: 2498ms Build at: 2022-11-14T08:42:40.325Z - Hash: c5a6996ed1924088 - Time: 1862ms Build at: 2022-11-14T08:42:43.043Z - Hash: 92ce99f38a769c19 - Time: 1516ms ``` With vendor chunking ``` $ ng run ssr-vendor:server:development --watch --vendor-chunk Build at: 2022-11-14T08:43:13.631Z - Hash: 28bdfea879d01a31 - Time: 15561ms Build at: 2022-11-14T08:43:19.396Z - Hash: cc95e2b6cb403111 - Time: 1705ms Build at: 2022-11-14T08:43:21.296Z - Hash: 204138490668a16c - Time: 848ms Build at: 2022-11-14T08:43:23.835Z - Hash: 4fa294b261917944 - Time: 824ms ``` --- .../angular_devkit/build_angular/index.md | 1 + .../src/builders/browser-esbuild/schema.json | 2 +- .../build_angular/src/builders/browser/schema.json | 2 +- .../build_angular/src/builders/server/schema.json | 5 +++++ .../migrations/update-15/update-workspace-config.ts | 6 +++++- .../update-15/update-workspace-config_spec.ts | 13 +++++++++++++ packages/schematics/angular/universal/index.ts | 1 + 7 files changed, 27 insertions(+), 3 deletions(-) diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 0a551d617d09..a5e253c337a2 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -269,6 +269,7 @@ export interface ServerBuilderOptions { statsJson?: boolean; stylePreprocessorOptions?: StylePreprocessorOptions_3; tsConfig: string; + vendorChunk?: boolean; verbose?: boolean; watch?: boolean; } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json index bd78395f3128..0c184a854d5d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/schema.json @@ -264,7 +264,7 @@ }, "vendorChunk": { "type": "boolean", - "description": "Generate a seperate bundle containing only vendor libraries. This option should only used for development.", + "description": "Generate a seperate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.", "default": false }, "commonChunk": { diff --git a/packages/angular_devkit/build_angular/src/builders/browser/schema.json b/packages/angular_devkit/build_angular/src/builders/browser/schema.json index c0dc1e719e54..b45065bb7df0 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/browser/schema.json @@ -256,7 +256,7 @@ }, "vendorChunk": { "type": "boolean", - "description": "Generate a seperate bundle containing only vendor libraries. This option should only used for development.", + "description": "Generate a seperate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.", "default": false }, "commonChunk": { diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index 196af202b80e..73d6088c1f38 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -116,6 +116,11 @@ "description": "URL where files will be deployed.", "x-deprecated": "Use \"baseHref\" browser builder option, \"APP_BASE_HREF\" DI token or a combination of both instead. For more information, see https://angular.io/guide/deployment#the-deploy-url." }, + "vendorChunk": { + "type": "boolean", + "description": "Generate a seperate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.", + "default": false + }, "verbose": { "type": "boolean", "description": "Adds more details to output logging.", diff --git a/packages/schematics/angular/migrations/update-15/update-workspace-config.ts b/packages/schematics/angular/migrations/update-15/update-workspace-config.ts index 2b8686e8cf5a..f2d6721846e8 100644 --- a/packages/schematics/angular/migrations/update-15/update-workspace-config.ts +++ b/packages/schematics/angular/migrations/update-15/update-workspace-config.ts @@ -18,8 +18,12 @@ export default function (): Rule { continue; } - for (const [, options] of allTargetOptions(target)) { + for (const [name, options] of allTargetOptions(target)) { delete options.bundleDependencies; + + if (name === 'development') { + options.vendorChunk ??= true; + } } } } diff --git a/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts b/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts index 553ad9ef4d43..f447f67ac2ad 100644 --- a/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts +++ b/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts @@ -49,6 +49,9 @@ function createWorkSpaceConfig(tree: UnitTestTree) { bundleDependencies: true, aot: true, }, + development: { + bundleDependencies: true, + }, // eslint-disable-next-line @typescript-eslint/no-explicit-any } as any, }, @@ -83,4 +86,14 @@ describe(`Migration to update 'angular.json'. ${schematicName}`, () => { expect(configurations?.one.bundleDependencies).toBeUndefined(); expect(configurations?.two.bundleDependencies).toBeUndefined(); }); + + it(`should add 'vendorChunk: true' to development configuration`, async () => { + const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const { options, configurations } = getServerTarget(newTree); + + expect(options.bundleDependencies).toBeUndefined(); + expect(configurations).toBeDefined(); + expect(configurations?.development.vendorChunk).toBeTrue(); + expect(configurations?.one.vendorChunk).toBeUndefined(); + }); }); diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index 471ca3b61126..a8273e21054f 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -60,6 +60,7 @@ function updateConfigFile(options: UniversalOptions, tsConfigDirectory: Path): R preserveSymlinks: options?.preserveSymlinks, extractLicenses: options?.extractLicenses, inlineStyleLanguage: options?.inlineStyleLanguage, + vendorChunk: options?.vendorChunk, }; }; From 22e1b7fcf7bc9ec0fdff748569621e65146eca61 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 15 Nov 2022 13:21:26 +0000 Subject: [PATCH 1126/1388] build: update github/codeql-action action to v2.1.32 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index dc000d103db7..babfcc602cf0 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@c3b6fce4ee2ca25bc1066aa3bf73962fda0e8898 # tag=v2.1.31 + uses: github/codeql-action/upload-sarif@4238421316c33d73aeea2801274dd286f157c2bb # tag=v2.1.32 with: sarif_file: results.sarif From 2397eed123375773db3ce81f048ff714aaaa1ac7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 14 Nov 2022 15:06:45 -0500 Subject: [PATCH 1127/1388] refactor(@angular-devkit/build-angular): move esbuild angular compiler host creation to separate function The creation of the esbuild Angular plugin's Angular compiler host has now been consolidated in a separate function. This refactor reduces the amount of code within the plugin's main start function as well as centralizing all initialization of the host into one location. --- .../builders/browser-esbuild/angular-host.ts | 89 +++++++++++++++ .../browser-esbuild/compiler-plugin.ts | 105 ++++++------------ 2 files changed, 123 insertions(+), 71 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-host.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-host.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-host.ts new file mode 100644 index 000000000000..d0d1dd91466d --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-host.ts @@ -0,0 +1,89 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import ng from '@angular/compiler-cli'; +import ts from 'typescript'; + +export type AngularCompilerOptions = ng.CompilerOptions; +export type AngularCompilerHost = ng.CompilerHost; + +export interface AngularHostOptions { + fileReplacements?: Record; + sourceFileCache?: Map; + modifiedFiles?: Set; + transformStylesheet( + data: string, + containingFile: string, + stylesheetFile?: string, + ): Promise; +} + +// Temporary deep import for host augmentation support. +// TODO: Move these to a private exports location or move the implementation into this package. +const { + augmentHostWithCaching, + augmentHostWithReplacements, + augmentProgramWithVersioning, +} = require('@ngtools/webpack/src/ivy/host'); + +/** + * Patches in-place the `getSourceFiles` function on an instance of a TypeScript + * `Program` to ensure that all returned SourceFile instances have a `version` + * field. The `version` field is required when used with a TypeScript BuilderProgram. + * @param program The TypeScript Program instance to patch. + */ +export function ensureSourceFileVersions(program: ts.Program): void { + augmentProgramWithVersioning(program); +} + +export function createAngularCompilerHost( + compilerOptions: AngularCompilerOptions, + hostOptions: AngularHostOptions, +): AngularCompilerHost { + // Create TypeScript compiler host + const host: AngularCompilerHost = ts.createIncrementalCompilerHost(compilerOptions); + + // The AOT compiler currently requires this hook to allow for a transformResource hook. + // Once the AOT compiler allows only a transformResource hook, this can be reevaluated. + host.readResource = async function (filename) { + return this.readFile(filename) ?? ''; + }; + + // Add an AOT compiler resource transform hook + host.transformResource = async function (data, context) { + // Only style resources are transformed currently + if (context.type !== 'style') { + return null; + } + + const result = await hostOptions.transformStylesheet( + data, + context.containingFile, + context.resourceFile ?? undefined, + ); + + return result ? { content: result } : null; + }; + + // Allow the AOT compiler to request the set of changed templates and styles + host.getModifiedResourceFiles = function () { + return hostOptions.modifiedFiles; + }; + + // Augment TypeScript Host for file replacements option + if (hostOptions.fileReplacements) { + augmentHostWithReplacements(host, hostOptions.fileReplacements); + } + + // Augment TypeScript Host with source file caching if provided + if (hostOptions.sourceFileCache) { + augmentHostWithCaching(host, hostOptions.sourceFileCache); + } + + return host; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index d7bb28518f92..1f67ff1523f3 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import type { CompilerHost, NgtscProgram } from '@angular/compiler-cli'; +import type { NgtscProgram } from '@angular/compiler-cli'; import { transformAsync } from '@babel/core'; import type { OnStartResult, @@ -25,6 +25,7 @@ import ts from 'typescript'; import angularApplicationPreset from '../../babel/presets/application'; import { requiresLinking } from '../../babel/webpack-loader'; import { loadEsmModule } from '../../utils/load-esm'; +import { createAngularCompilerHost, ensureSourceFileVersions } from './angular-host'; import { logCumulativeDurations, profileAsync, @@ -268,77 +269,39 @@ export function createCompilerPlugin( // Reset stylesheet resource output files stylesheetResourceFiles = []; - // Create TypeScript compiler host - const host = ts.createIncrementalCompilerHost(compilerOptions); - - // Temporarily process external resources via readResource. - // The AOT compiler currently requires this hook to allow for a transformResource hook. - // Once the AOT compiler allows only a transformResource hook, this can be reevaluated. - (host as CompilerHost).readResource = async function (fileName) { - // Template resources (.html/.svg) files are not bundled or transformed - if (fileName.endsWith('.html') || fileName.endsWith('.svg')) { - return this.readFile(fileName) ?? ''; - } - - const { contents, resourceFiles, errors, warnings } = await bundleStylesheetFile( - fileName, - styleOptions, - ); - - (result.errors ??= []).push(...errors); - (result.warnings ??= []).push(...warnings); - stylesheetResourceFiles.push(...resourceFiles); - - return contents; - }; - - // Add an AOT compiler resource transform hook - (host as CompilerHost).transformResource = async function (data, context) { - // Only inline style resources are transformed separately currently - if (context.resourceFile || context.type !== 'style') { - return null; - } - - // The file with the resource content will either be an actual file (resourceFile) - // or the file containing the inline component style text (containingFile). - const file = context.resourceFile ?? context.containingFile; - - const { contents, resourceFiles, errors, warnings } = await bundleStylesheetText( - data, - { - resolvePath: path.dirname(file), - virtualName: file, - }, - styleOptions, - ); - - (result.errors ??= []).push(...errors); - (result.warnings ??= []).push(...warnings); - stylesheetResourceFiles.push(...resourceFiles); - - return { content: contents }; - }; - - // Temporary deep import for host augmentation support - const { - augmentHostWithCaching, - augmentHostWithReplacements, - augmentProgramWithVersioning, - } = require('@ngtools/webpack/src/ivy/host'); + // Create Angular compiler host + const host = createAngularCompilerHost(compilerOptions, { + fileReplacements: pluginOptions.fileReplacements, + modifiedFiles: pluginOptions.sourceFileCache?.modifiedFiles, + sourceFileCache: pluginOptions.sourceFileCache, + async transformStylesheet(data, containingFile, stylesheetFile) { + // Stylesheet file only exists for external stylesheets + const filename = stylesheetFile ?? containingFile; + + // Temporary workaround for lack of virtual file support in the Sass plugin. + // External Sass stylesheets are transformed using the file instead of the already read content. + let stylesheetResult; + if (filename.endsWith('.scss') || filename.endsWith('.sass')) { + stylesheetResult = await bundleStylesheetFile(filename, styleOptions); + } else { + stylesheetResult = await bundleStylesheetText( + data, + { + resolvePath: path.dirname(filename), + virtualName: filename, + }, + styleOptions, + ); + } - // Augment TypeScript Host for file replacements option - if (pluginOptions.fileReplacements) { - augmentHostWithReplacements(host, pluginOptions.fileReplacements); - } + const { contents, resourceFiles, errors, warnings } = stylesheetResult; + (result.errors ??= []).push(...errors); + (result.warnings ??= []).push(...warnings); + stylesheetResourceFiles.push(...resourceFiles); - // Augment TypeScript Host with source file caching if provided - if (pluginOptions.sourceFileCache) { - augmentHostWithCaching(host, pluginOptions.sourceFileCache); - // Allow the AOT compiler to request the set of changed templates and styles - (host as CompilerHost).getModifiedResourceFiles = function () { - return pluginOptions.sourceFileCache?.modifiedFiles; - }; - } + return contents; + }, + }); // Create the Angular specific program that contains the Angular compiler const angularProgram = profileSync( @@ -348,7 +311,7 @@ export function createCompilerPlugin( previousAngularProgram = angularProgram; const angularCompiler = angularProgram.compiler; const typeScriptProgram = angularProgram.getTsProgram(); - augmentProgramWithVersioning(typeScriptProgram); + ensureSourceFileVersions(typeScriptProgram); const builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram( typeScriptProgram, From 6a65c8a582e50f6b0ac2d87b2a8e8be2cde75736 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 15 Nov 2022 13:21:21 +0000 Subject: [PATCH 1128/1388] build: update angular --- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 520 +++++++----------- 7 files changed, 225 insertions(+), 367 deletions(-) diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 64748530c427..ec2c8cdea10e 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@7d103b83a07f132629592fc9918ce17d42a5e382 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@0c06b3d1a58ab12f4f9933efc78e33083d008d17 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@7d103b83a07f132629592fc9918ce17d42a5e382 + - uses: angular/dev-infra/github-actions/post-approval-changes@0c06b3d1a58ab12f4f9933efc78e33083d008d17 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 7ed7afd86084..ad8e732afe6e 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@7d103b83a07f132629592fc9918ce17d42a5e382 + - uses: angular/dev-infra/github-actions/feature-request@0c06b3d1a58ab12f4f9933efc78e33083d008d17 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 23eaf698e908..07a5dbac8c41 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@7d103b83a07f132629592fc9918ce17d42a5e382 + - uses: angular/dev-infra/github-actions/lock-closed@0c06b3d1a58ab12f4f9933efc78e33083d008d17 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 7583690a084d..99203c28bdb3 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-rc.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0", + "@angular/animations": "15.0.0-rc.4", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c736a62ffb607b59e3e948efb921dbbdeb0b9fd", "@angular/cdk": "14.2.7", - "@angular/common": "15.0.0-rc.3", - "@angular/compiler": "15.0.0-rc.3", - "@angular/compiler-cli": "15.0.0-rc.3", - "@angular/core": "15.0.0-rc.3", - "@angular/forms": "15.0.0-rc.3", - "@angular/localize": "15.0.0-rc.3", + "@angular/common": "15.0.0-rc.4", + "@angular/compiler": "15.0.0-rc.4", + "@angular/compiler-cli": "15.0.0-rc.4", + "@angular/core": "15.0.0-rc.4", + "@angular/forms": "15.0.0-rc.4", + "@angular/localize": "15.0.0-rc.4", "@angular/material": "14.2.7", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad", - "@angular/platform-browser": "15.0.0-rc.3", - "@angular/platform-browser-dynamic": "15.0.0-rc.3", - "@angular/platform-server": "15.0.0-rc.3", - "@angular/router": "15.0.0-rc.3", - "@angular/service-worker": "15.0.0-rc.3", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#eee012108f9b93e0952d657386adc2804b9211c7", + "@angular/platform-browser": "15.0.0-rc.4", + "@angular/platform-browser-dynamic": "15.0.0-rc.4", + "@angular/platform-server": "15.0.0-rc.4", + "@angular/router": "15.0.0-rc.4", + "@angular/service-worker": "15.0.0-rc.4", "@babel/core": "7.20.2", "@babel/generator": "7.20.4", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 50a71fec87ee..84bd8d1764a8 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-rc.3", - "@angular/compiler-cli": "15.0.0-rc.3", + "@angular/compiler": "15.0.0-rc.4", + "@angular/compiler-cli": "15.0.0-rc.4", "typescript": "4.8.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 17d534d13eb4..955a1798572d 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#308d7b7d757f546b83b728d12386baf85bd3ffe9", - "@angular/cdk": "github:angular/cdk-builds#77c9aa1205fc7801734c31696112788a80682bbb", - "@angular/common": "github:angular/common-builds#0db861aba9bc1cfff655bad28032b4008b1caf03", - "@angular/compiler": "github:angular/compiler-builds#4e7196578e1e3c579037deaabef449a4a563f629", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#d95c059dbb2384f665f8187a27c0eaf329306200", - "@angular/core": "github:angular/core-builds#9c902b50e27cafa0ead164c4bf7befb7276b9311", - "@angular/forms": "github:angular/forms-builds#c3cbf7af3d226b0423de0b4548ceb415050f941e", - "@angular/language-service": "github:angular/language-service-builds#783bb1a80b84c6486674f9932ed0cbfeb69b7364", - "@angular/localize": "github:angular/localize-builds#880b45d4fd9f6fba2ef290fb71896a1525a6f564", - "@angular/material": "github:angular/material-builds#340b8518b632f10b44ce6c6b88a094297c5a3c72", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ac98847e058f9b99fca5b0c279514736b7055b59", - "@angular/platform-browser": "github:angular/platform-browser-builds#e1ea7161759ec22316359fdec03a62e28f4839ea", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#8970c572287aa5b16fc8b0db8e5bb3f2d501ae89", - "@angular/platform-server": "github:angular/platform-server-builds#aae0729159443f05e632edb5948666793111d55c", - "@angular/router": "github:angular/router-builds#daf5c9f178439601ff0db3b53f7fc9194679ca65", - "@angular/service-worker": "github:angular/service-worker-builds#c666f7e3b51215c7e6649540e301653ab32606f7" + "@angular/animations": "github:angular/animations-builds#9f9e6f2aea38abb7ea6bf0b7c28aa88191b94c4e", + "@angular/cdk": "github:angular/cdk-builds#3f5d149571ab8b4218ffd5c7fe7ad23c2e4168c6", + "@angular/common": "github:angular/common-builds#d88b9be9f6ec12bcaec6f45984c3dde74b66693f", + "@angular/compiler": "github:angular/compiler-builds#67a06d4816519d017e4bd040b554f62409821610", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a0ff16418781385465b3e356aa4b52409dd8e13d", + "@angular/core": "github:angular/core-builds#bf50219624c702ea4879941568d6916d314edb12", + "@angular/forms": "github:angular/forms-builds#5d0106307b2bc70c36a1a1e6226e1a4564155ed6", + "@angular/language-service": "github:angular/language-service-builds#adf7f2c45451d0c3586e793f17050cd0174919e7", + "@angular/localize": "github:angular/localize-builds#e67e39cfa57978b38b3ebb04fec3b11f483901c4", + "@angular/material": "github:angular/material-builds#448a6510def1862958e6f447e9ef07d472e2ed95", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#00bddab1694d337474118b1a805f0f2012d1a413", + "@angular/platform-browser": "github:angular/platform-browser-builds#59476fb04ceb9737a73be1695e492f981a3b7fa4", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7a55d4db549d09a38bf148c3396ecde75e36edf1", + "@angular/platform-server": "github:angular/platform-server-builds#4c98ba40707096f2d4aa4c072577a2cf5207bb54", + "@angular/router": "github:angular/router-builds#c0a976400d9d5d569dc40688677c96965bae8d48", + "@angular/service-worker": "github:angular/service-worker-builds#48c8e2a4cc1d72c959b348d8443eeae54a40e147" } } diff --git a/yarn.lock b/yarn.lock index c39581400077..266f9772704b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,45 +10,45 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0-rc.2": - version "0.1500.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-rc.2.tgz#90ad1c55851491d2eb3c2c34e0b99130b0c8d504" - integrity sha512-lt1CkX3GFCCyF1rB21JvEwJjrhorO93AcAKxy1x/2xNQg/6BxMpdoptFaHeQVEcpCsq/i0pHTLZuCncyhVDUQA== +"@angular-devkit/architect@0.1500.0-rc.3": + version "0.1500.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-rc.3.tgz#fed8c285de2e10f588be855ec55e5b3f3fdbbfd4" + integrity sha512-XcScZsQF49/adaD4O48C3xpWFO4KxJ09s1eZNWhA3fGeXTknEBqWiBbqYtqoUjSK0t0qOUkjjGfodIyrrOrcUw== dependencies: - "@angular-devkit/core" "15.0.0-rc.2" + "@angular-devkit/core" "15.0.0-rc.3" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-rc.2.tgz#1ab8f0431278e435d1c6238ad4aff933d50e88be" - integrity sha512-4RvkQF64de5zebVtun404FOKQtnjWuye3VwLlR9RjIqx0U3aIrmvDUmE15qG166A6eOA2+I2U1LifVh8Rh88mw== +"@angular-devkit/build-angular@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-rc.3.tgz#0cadf4b9151ece22a96ac1538aad8bb009eb3709" + integrity sha512-6l3TDLZlfjISQBSsKMmK4XiTiMyzAl8g9R0/EzH56XecKNSfnB/oq3Bl4Pjak9wXp5xhxokil6YjRtcuGO9Q9Q== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0-rc.2" - "@angular-devkit/build-webpack" "0.1500.0-rc.2" - "@angular-devkit/core" "15.0.0-rc.2" - "@babel/core" "7.19.6" - "@babel/generator" "7.20.1" + "@angular-devkit/architect" "0.1500.0-rc.3" + "@angular-devkit/build-webpack" "0.1500.0-rc.3" + "@angular-devkit/core" "15.0.0-rc.3" + "@babel/core" "7.20.2" + "@babel/generator" "7.20.3" "@babel/helper-annotate-as-pure" "7.18.6" "@babel/plugin-proposal-async-generator-functions" "7.20.1" "@babel/plugin-transform-async-to-generator" "7.18.6" "@babel/plugin-transform-runtime" "7.19.6" - "@babel/preset-env" "7.19.4" + "@babel/preset-env" "7.20.2" "@babel/runtime" "7.20.1" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0-rc.2" + "@ngtools/webpack" "15.0.0-rc.3" ansi-colors "4.1.3" autoprefixer "10.4.13" - babel-loader "9.0.1" + babel-loader "9.1.0" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "17.0.1" + cacache "17.0.2" chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.1" - esbuild-wasm "0.15.12" + esbuild-wasm "0.15.13" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -58,8 +58,8 @@ less-loader "11.1.0" license-webpack-plugin "4.0.2" loader-utils "3.2.0" + magic-string "0.26.7" mini-css-extract-plugin "2.6.1" - minimatch "5.1.0" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" @@ -69,7 +69,7 @@ regenerator-runtime "0.13.10" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.55.0" + sass "1.56.0" sass-loader "13.1.0" semver "7.3.8" source-map-loader "4.0.1" @@ -84,20 +84,20 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.12" + esbuild "0.15.13" -"@angular-devkit/build-webpack@0.1500.0-rc.2": - version "0.1500.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-rc.2.tgz#f0da40fe2e4f858e5a1552594d762010f42fd545" - integrity sha512-Shl5ch9CfDWH2vODI3Eas0dEwEhLxSIgTDIvTQO1BOTr/lJFHxUafOYxBBtTsDVvvVeJDNlRkmrNtyUsLKd+lA== +"@angular-devkit/build-webpack@0.1500.0-rc.3": + version "0.1500.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-rc.3.tgz#fb200ea0a4a5e4ce0496b5c31265092c836bdde9" + integrity sha512-LaGMcjTc0Mby2FLItrT0jtayFKXLZXtXVWoJpa8DDcWFrhgx95IakenJKk7Eminfu55R+YsdLFC0MEJGlHh4Rg== dependencies: - "@angular-devkit/architect" "0.1500.0-rc.2" + "@angular-devkit/architect" "0.1500.0-rc.3" rxjs "6.6.7" -"@angular-devkit/core@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-rc.2.tgz#9aac72f792b9cf5a966fd02beaec941aa0b28988" - integrity sha512-sCEh1XY9Vr5qg9wp6UGIXtlTaEWxKuFkfaSkhtM+ZCdRU/SgYr18ndFMjlQzBY73hhS7hQnC31rX6GSGtG4DrA== +"@angular-devkit/core@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-rc.3.tgz#030ba8052335713262849be5b70c1fe78ce0e67f" + integrity sha512-p0uoQMdJVmQKWnPg58dkRztcAMXOjJ2aOFChS5FZ3nYsni+U4dQGkjmxnNNAJU469WGUPI9or6SiomEvdD/fgQ== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -105,10 +105,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.3.tgz#b0c1bc24fc86ea01b0d6ee23aa00bbf905a1264d" - integrity sha512-YalrwFa01rzWh9JhufHoOY1cUMYW9JCq9x2av3OYjtIxw36srkeBe09CwjBeO3zRhIo5ieK45Ix0YgWCjhqg5A== +"@angular/animations@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.4.tgz#58a68c3c523d7501ba93f68ccc8f2283d004fe47" + integrity sha512-OeUKoZ6t/KSdQxvZGe4VXUwSAn8kf1GmrS14KMcVmcHnZdbe3KEIyxIXLRg09QiQmfxilcLuETnoD86Hac0xlw== dependencies: tslib "^2.3.0" @@ -120,11 +120,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0": - version "0.0.0-7d103b83a07f132629592fc9918ce17d42a5e382" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#fb42478534df7d48ec23a6834fea94a776cb89a0" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c736a62ffb607b59e3e948efb921dbbdeb0b9fd": + version "0.0.0-0c06b3d1a58ab12f4f9933efc78e33083d008d17" + uid "9c736a62ffb607b59e3e948efb921dbbdeb0b9fd" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c736a62ffb607b59e3e948efb921dbbdeb0b9fd" dependencies: - "@angular-devkit/build-angular" "15.0.0-rc.2" + "@angular-devkit/build-angular" "15.0.0-rc.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" @@ -167,17 +168,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.3.tgz#a53f6891846fea6ad7d5f0461c30464ea4461909" - integrity sha512-/b0qi7S/hoEZQrpD7gvWwzVOQYiXrAWMSnSoYd6dnKTroN+jt2XeLDHsbVxAPKO5yRhbH6409d2YFTD3ZaU0Vg== +"@angular/common@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.4.tgz#520b916239e4b377873fd2879573524ce921daf5" + integrity sha512-aNxY0P4fYdDqRqlde4i+xmJcyc4NgOt5I2MKTwQQK3MHJVV/qTYr4Wra51pW/xcDrMhH+bkBXHiG44TqtALnAQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.3.tgz#43603809ec9ce290d5902acb6df992d428e7ee52" - integrity sha512-0qRtcRmSOLECtXzauAAJSgJ4S+ZwS2VxUd4pdLu7OlIEMD2KKjmZhb2dgCFg385kP2LCSuwDqOoU97NlbsM4zQ== +"@angular/compiler-cli@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.4.tgz#418e1c5ffc0b44786e8ae569542e7c8fe6285722" + integrity sha512-tL97H5y8nEXmqejOn242eq0Mu2iL6Btk9buvQ6jZNhewbTVoUwKwFcgHNHdyo0MrByE5jQyfQI/qtx/+FdfavA== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -190,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.3.tgz#ff66b449653dc653cc571a4e929957396632aead" - integrity sha512-G4H7XBLhYl3Ra8BIFzWwvH8K3fIYQi2MZ76EAMIlsG6sdMogViyeC3HJ4pwO3fjG6gKXHwEMrHKa9ktxp+Q+mA== +"@angular/compiler@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.4.tgz#8ff3ac2e8d9478054668a1feb2d493cec7928811" + integrity sha512-6H4IyKIs+7JssZ7OqXGgFlxN0WhjMQ5ih1VcUo/zLizsfe/XNIhi6l7WY//iKIMObnysLJ+BoAN8NMVoCdadiA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.3.tgz#b223ccd694164741b8b6a1d045ed0f5354237a59" - integrity sha512-jlJzF1gUR2hO6xVLmBMZEpgetTwJnV3DuZgFRzZKV+VIm8nD55V8J68/stlHZobYde564jCbq/to+FziVQdQaQ== +"@angular/core@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.4.tgz#c45eb3edbad9848c0166381de3523e0aaa5b8291" + integrity sha512-3kjqY71AHomUqHfOBNN37bIowAojYUdpldHdDXvwvIjlWp6TDwzXpq0Y6y6cH+ShqRrljv5qQqae4VuLkF83ng== dependencies: tslib "^2.3.0" @@ -211,17 +212,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.3.tgz#ae95913af337aca7f84f472cf27855db68892407" - integrity sha512-/wW8pdaGP7fOGg2HgiHFOutE8FtQn6hfX3ZrAORCCgrNGBS9WH8I5coISogTKd+FM7gQMz0F6TxREx/EAElfzw== +"@angular/forms@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.4.tgz#566f9715001923250ba345c94102b09034847016" + integrity sha512-1kf0GJHcENDX455bjy5XslO+DM3UkpTaNEkCwdBiclwiY5adc+CxluhaK7pNDrqdQ69nKsC8qd4mug6uO1N7Cg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.3.tgz#dcf7cae1626602fbcba1e79982a09a04b48c5a84" - integrity sha512-6OFHkCH/WvMjAKxICYbbhwdyYADzJwCny1HVKgk3ezMUnBaVbOfWzMCIFJyhU7k8kdzjGmQx+FNPL2O6M98FMg== +"@angular/localize@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.4.tgz#f61aee6da054c340bfe837a12541a212b65a5c01" + integrity sha512-rlqLHBozuLDQfiEZ1pJVGEDKnV6TS8Ceirai2e5mGlbjqmpOdFOGC0vB+3YeM/2z1Vhjrp3+Uqbcd1HToN3efg== dependencies: "@babel/core" "7.19.3" glob "8.0.3" @@ -234,47 +235,48 @@ dependencies: tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad": - version "0.0.0-7d103b83a07f132629592fc9918ce17d42a5e382" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d1b5e1929c8b01f7621d65c54a52ac6a9adb22ad" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#eee012108f9b93e0952d657386adc2804b9211c7": + version "0.0.0-0c06b3d1a58ab12f4f9933efc78e33083d008d17" + uid eee012108f9b93e0952d657386adc2804b9211c7 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#eee012108f9b93e0952d657386adc2804b9211c7" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.3.tgz#775e6526a78b78bf239e9302a22318f7820fe16a" - integrity sha512-fSEHJHLR6YrRgCUaWGBEvUh0w86hVAbWXkG4NHKgJ2c1xCLIxst0/x3u7GOVNSbHoOQCN7bzMoCro2girX6Snw== +"@angular/platform-browser-dynamic@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.4.tgz#62e9110d594c87c2fedb0fb18ca2b59bf74e93f2" + integrity sha512-0W9lvZpahCZLlczEBNxHkAR1oEli0yGVT7xX9ng74HeJuElu6C23qWrLt+VZsZbJMs6ENDMmrBBuxr7s9f5iMw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.3.tgz#55955bb91c4429d14cee919fb9b69ecd29243360" - integrity sha512-FRasOfU/fDqO76SeDy3pVP2YbtgOcbyL/r/vODDQ+CiKfDLHFmghfBJCIS+CmWrzOrd/JUlN7a7+AfqwbJRLyA== +"@angular/platform-browser@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.4.tgz#b94b9a01ddd74213294a1962eeb05f5a13d51de5" + integrity sha512-UlWzeOzReOtJdg4mfY4kgc4w7JqEnQay2tdcdP1HJR3fJgn8pH9EKvPCt/bjNOA5qmDBAStEqHplAxBaMFouQw== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.3.tgz#a9062604a80993630413f813fdf7e837c62e5e33" - integrity sha512-71e7Ku7NCl2cTGcqrdHdtd7PSJup/xHj1kez87Vxzr5/X9kGo444ZeEs/uqTFMnL3rnb7OqqZREK5dvlGEAvTw== +"@angular/platform-server@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.4.tgz#9914fc019423ab55bc3cc87c25a01e222b0ebd0a" + integrity sha512-7fPgDrUJf5y6VysQ9MEQBZBrjjg2KwEesPHkKE3PfkQ/ospCBtjBbFSnAy1iO8fMgSgUEzKxEGt/zIYl3MCeqQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.3.tgz#7fad7cd8fca8ea2e3c9cb137dca09da67c255056" - integrity sha512-tpzTyrDr2GRdWP0XyfWYMekFVXU9yTmKaM67UzdZGIDVMkZCsR3FBT6hYb1K4iG/v/rtu1TRL2Xawj3tRTTMTQ== +"@angular/router@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.4.tgz#26cd02d85723a8a2127fb63da170024e93de2c33" + integrity sha512-48eHagnIGibuBNpzybEF3WEKOTZz50nfo0j8basg0y0ohi8xZhaiYQeBNt+WCcUCr8JrzhGH5p7UlYgz8aSOaQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.3.tgz#ab5706f48ba3767a5ab014aaac18096f47fc08f9" - integrity sha512-JdyvtlGjJF1FdwHjLE4JFyJIUmlLg/v7mfJdZQg1E0xQwucUt1d1hSDv297MOeaDZOKIV680gMK5Y3y8mwkDnw== +"@angular/service-worker@15.0.0-rc.4": + version "15.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.4.tgz#5128cd5b0ea63b431d5e7284ea6e513fdc02aada" + integrity sha512-7MMNAFUn0EfsbwcznZeqI83HZiZm/ysRH/K1ZSCl5ZSXBj3LV6SNmbRZ/6Oae3EriWM/5N13yYRj0Nt5r2CvrA== dependencies: tslib "^2.3.0" @@ -290,7 +292,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3", "@babel/compat-data@^7.19.4": +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== @@ -321,27 +323,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.19.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" - integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.6" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helpers" "^7.19.4" - "@babel/parser" "^7.19.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.6" - "@babel/types" "^7.19.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92" @@ -363,12 +344,33 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" - integrity sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg== +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" + integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== dependencies: - "@babel/types" "^7.20.0" + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.6" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helpers" "^7.19.4" + "@babel/parser" "^7.19.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@7.20.3": + version "7.20.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.3.tgz#e58c9ae2f7bf7fdf4899160cf1e04400a82cd641" + integrity sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A== + dependencies: + "@babel/types" "^7.20.2" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -414,7 +416,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== @@ -690,16 +692,6 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -765,17 +757,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz#a8fc86e8180ff57290c91a75d83fe658189b642d" - integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q== - dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-proposal-object-rest-spread@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz#a556f59d555f06961df1e572bb5eca864c84022d" @@ -865,13 +846,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" - integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-import-assertions@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" @@ -965,13 +939,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz#315d70f68ce64426db379a3d830e7ac30be02e9b" - integrity sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-transform-block-scoping@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz#f59b1767e6385c663fd0bce655db6ca9c8b236ed" @@ -979,21 +946,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" - integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - "@babel/plugin-transform-classes@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz#c0033cf1916ccf78202d04be4281d161f6709bb2" @@ -1016,13 +968,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz#46890722687b9b89e1369ad0bd8dc6c5a3b4319d" - integrity sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-transform-destructuring@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz#c23741cfa44ddd35f5e53896e88c75331b8b2792" @@ -1083,7 +1028,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.18.6", "@babel/plugin-transform-modules-amd@^7.19.6": +"@babel/plugin-transform-modules-amd@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== @@ -1091,7 +1036,7 @@ "@babel/helper-module-transforms" "^7.19.6" "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-modules-commonjs@^7.18.6", "@babel/plugin-transform-modules-commonjs@^7.19.6": +"@babel/plugin-transform-modules-commonjs@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== @@ -1100,7 +1045,7 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/helper-simple-access" "^7.19.4" -"@babel/plugin-transform-modules-systemjs@^7.19.0", "@babel/plugin-transform-modules-systemjs@^7.19.6": +"@babel/plugin-transform-modules-systemjs@^7.19.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== @@ -1141,13 +1086,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-transform-parameters@^7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz#9a5aa370fdcce36f110455e9369db7afca0f9eeb" @@ -1240,87 +1178,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-env@7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.4.tgz#4c91ce2e1f994f717efb4237891c3ad2d808c94b" - integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg== - dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@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.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.19.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@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.18.6" - "@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" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@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.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.19.4" - "@babel/plugin-transform-classes" "^7.19.0" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.19.4" - "@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.18.8" - "@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.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.0" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@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/preset-modules" "^0.1.5" - "@babel/types" "^7.19.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" - semver "^6.3.0" - "@babel/preset-env@7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" @@ -1777,10 +1634,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0-rc.2": - version "15.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-rc.2.tgz#92c3e20da96f738fa41142d896bff3247c1d1a42" - integrity sha512-YZ+vYVb7iXZyETYuS3X8xGi3I6WpgX07TAG/89LJOnqoOEvk1uk8sIzzKcXEOZkGI+0nFlFWj0sPGQXrUvAR1Q== +"@ngtools/webpack@15.0.0-rc.3": + version "15.0.0-rc.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-rc.3.tgz#58729a90c56fe8371f1c4682add79bec921ccf2e" + integrity sha512-QmMJk5VRUJ7ubD/fxhxC3c79HiurIP5sBpKHkBzqKrlHIY/c1QMTzjk/d+2wHoCZrBSa1UjJmI9W/GL1LxM4Ig== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3409,14 +3266,6 @@ axios@0.21.4: dependencies: follow-redirects "^1.14.0" -babel-loader@9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.0.1.tgz#d473f30a6ffc2f2abca610c01775c40fc5c2a970" - integrity sha512-szYjslOXFlj/po5KfrVmiuBAcI6GVHFuAgC96Qd6mMPHdwl4lmAJkYtvjQ1RxxPjgdkKjd3LQgXDE4jxEutNuw== - dependencies: - find-cache-dir "^3.3.2" - schema-utils "^4.0.0" - babel-loader@9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.0.tgz#839e9ae88aea930864ef9ec0f356dfca96ecf238" @@ -3765,26 +3614,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.1, cacache@^17.0.0: - version "17.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.1.tgz#bcba581a1b311b552b21f71d6205c67551a8d6d5" - integrity sha512-HRnDSZUXB5hdCQc2wuB8eBQPe1a9PVU2Ow8zMTi82NGJZmBGNTSjEGzetlndKlqpVYBa4esdaJ2LH6/uOB4sFQ== - dependencies: - "@npmcli/fs" "^3.0.0" - "@npmcli/move-file" "^3.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - cacache@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.2.tgz#ff2bd029bf45099b3fe711f56fbf138b846c8d6d" @@ -3828,6 +3657,26 @@ cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: tar "^6.1.11" unique-filename "^2.0.0" +cacache@^17.0.0: + version "17.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.1.tgz#bcba581a1b311b552b21f71d6205c67551a8d6d5" + integrity sha512-HRnDSZUXB5hdCQc2wuB8eBQPe1a9PVU2Ow8zMTi82NGJZmBGNTSjEGzetlndKlqpVYBa4esdaJ2LH6/uOB4sFQ== + dependencies: + "@npmcli/fs" "^3.0.0" + "@npmcli/move-file" "^3.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -5127,16 +4976,16 @@ esbuild-sunos-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== -esbuild-wasm@0.15.12, esbuild-wasm@^0.15.9: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" - integrity sha512-mm6ouQxg27wHHIBc7ii8x4v2eu67O14wfa7OM0gfwmrHVzuQCLd6hATK/tvR73Pif/WS+/OvhcV4hY0REfHeUw== - esbuild-wasm@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz#c4d7f771679b2e14f7a456403751d908db1c07d1" integrity sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw== +esbuild-wasm@^0.15.9: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" + integrity sha512-mm6ouQxg27wHHIBc7ii8x4v2eu67O14wfa7OM0gfwmrHVzuQCLd6hATK/tvR73Pif/WS+/OvhcV4hY0REfHeUw== + esbuild-windows-32@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0" @@ -5167,34 +5016,6 @@ esbuild-windows-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== -esbuild@0.15.12, esbuild@^0.15.9: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" - integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng== - optionalDependencies: - "@esbuild/android-arm" "0.15.12" - "@esbuild/linux-loong64" "0.15.12" - esbuild-android-64 "0.15.12" - esbuild-android-arm64 "0.15.12" - esbuild-darwin-64 "0.15.12" - esbuild-darwin-arm64 "0.15.12" - esbuild-freebsd-64 "0.15.12" - esbuild-freebsd-arm64 "0.15.12" - esbuild-linux-32 "0.15.12" - esbuild-linux-64 "0.15.12" - esbuild-linux-arm "0.15.12" - esbuild-linux-arm64 "0.15.12" - esbuild-linux-mips64le "0.15.12" - esbuild-linux-ppc64le "0.15.12" - esbuild-linux-riscv64 "0.15.12" - esbuild-linux-s390x "0.15.12" - esbuild-netbsd-64 "0.15.12" - esbuild-openbsd-64 "0.15.12" - esbuild-sunos-64 "0.15.12" - esbuild-windows-32 "0.15.12" - esbuild-windows-64 "0.15.12" - esbuild-windows-arm64 "0.15.12" - esbuild@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.13.tgz#7293480038feb2bafa91d3f6a20edab3ba6c108a" @@ -5223,6 +5044,34 @@ esbuild@0.15.13: esbuild-windows-64 "0.15.13" esbuild-windows-arm64 "0.15.13" +esbuild@^0.15.9: + version "0.15.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" + integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng== + optionalDependencies: + "@esbuild/android-arm" "0.15.12" + "@esbuild/linux-loong64" "0.15.12" + esbuild-android-64 "0.15.12" + esbuild-android-arm64 "0.15.12" + esbuild-darwin-64 "0.15.12" + esbuild-darwin-arm64 "0.15.12" + esbuild-freebsd-64 "0.15.12" + esbuild-freebsd-arm64 "0.15.12" + esbuild-linux-32 "0.15.12" + esbuild-linux-64 "0.15.12" + esbuild-linux-arm "0.15.12" + esbuild-linux-arm64 "0.15.12" + esbuild-linux-mips64le "0.15.12" + esbuild-linux-ppc64le "0.15.12" + esbuild-linux-riscv64 "0.15.12" + esbuild-linux-s390x "0.15.12" + esbuild-netbsd-64 "0.15.12" + esbuild-openbsd-64 "0.15.12" + esbuild-sunos-64 "0.15.12" + esbuild-windows-32 "0.15.12" + esbuild-windows-64 "0.15.12" + esbuild-windows-arm64 "0.15.12" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -9806,10 +9655,10 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.55.0, sass@^1.55.0: - version "1.55.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" - integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== +sass@1.56.0: + version "1.56.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.0.tgz#134032075a3223c8d49cb5c35e091e5ba1de8e0a" + integrity sha512-WFJ9XrpkcnqZcYuLRJh5qiV6ibQOR4AezleeEjTjMsCocYW59dEG19U3fwTTXxzi2Ed3yjPBp727hbbj53pHFw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -9824,6 +9673,15 @@ sass@1.56.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@^1.55.0: + version "1.55.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" + integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" uid "9c16682e4c9716734432789884f868212f95f563" From df9674bd361b46b1275eed98e503f8897e701af5 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 15 Nov 2022 11:08:59 -0800 Subject: [PATCH 1129/1388] refactor: temporaily disable sending analytics --- packages/angular/cli/src/analytics/analytics-collector.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index d9f998a0056a..72759ee10d2e 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -161,6 +161,11 @@ export class AnalyticsCollector { } private async send(data: Record[]): Promise { + // Temporarily disable sending analytics. + if (true as boolean) { + return Promise.resolve(); + } + return new Promise((resolve, reject) => { const request = https.request( { From 1866e5e478e7b0b1d8db8c0d5e935f5e7b2ea9cf Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Tue, 15 Nov 2022 13:58:04 -0800 Subject: [PATCH 1130/1388] docs: release notes for the v15.0.0-rc.5 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14add3b1a42c..ed05d7ca9674 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 15.0.0-rc.5 (2022-11-15) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | +| [0fe6b3b75](https://github.com/angular/angular-cli/commit/0fe6b3b75b87f6f8050b196615e1c1543b707841) | perf | add vendor chunking to server builder | + +## Special Thanks + +Alan Agius and Doug Parker + + + # 15.0.0-rc.4 (2022-11-14) From d7927172f47213a2b3e0e89e0cf611198336f98c Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 16 Nov 2022 12:13:32 -0800 Subject: [PATCH 1131/1388] docs: release notes for the v15.0.0 release --- CHANGELOG.md | 633 +++++++++++++-------------------------------------- 1 file changed, 158 insertions(+), 475 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed05d7ca9674..0b428c517c92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,67 +1,187 @@ - + -# 15.0.0-rc.5 (2022-11-15) +# 15.0.0 (2022-11-16) -### @angular-devkit/build-angular +## Breaking Changes -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | -| [0fe6b3b75](https://github.com/angular/angular-cli/commit/0fe6b3b75b87f6f8050b196615e1c1543b707841) | perf | add vendor chunking to server builder | +### @angular/cli -## Special Thanks +- The Angular CLI no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current minimum versions of Node.js are `14.20.0`, `16.13.0` and `18.10.0`. +- Node.js versions older than 14.20 are no longer supported. +- The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead. -Alan Agius and Doug Parker +### @schematics/angular - +- Removed unused `appDir` option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect. - +### -# 15.0.0-rc.4 (2022-11-14) +- `analyticsSharing` option in the global angular configuration has been + removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data. -### @angular/cli + If this option is used, it can be removed using `ng config --global cli.analyticsSharing undefined`. -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- | -| [ff0382718](https://github.com/angular/angular-cli/commit/ff0382718af60923fe71f8b224d36a50449484e6) | fix | respect registry in RC when running update through yarn | +- analytics APIs have been removed without replacement from `@angular-devkit/core` and `@angular-devkit/architect`. ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | -| [54e1c01d8](https://github.com/angular/angular-cli/commit/54e1c01d8b608ff240f7559ca176cd50e991952c) | fix | show file replacement in TS missing file error in esbuild builder | -| [fc82e3bec](https://github.com/angular/angular-cli/commit/fc82e3bec3f188d449e952d9955b845b2efdcd6b) | fix | update browerslist package | -| [9d0872fb5](https://github.com/angular/angular-cli/commit/9d0872fb5e369f714633387d9ae39c4242ba1ea1) | perf | add initial global styles incremental rebuilds with esbuild builder | +- TypeScript versions older than 4.8.2 are no longer supported. +- The server builder `bundleDependencies` option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles. -## Special Thanks + The `externalDependencies` option can be used instead to exclude specific node_module packages from the final bundle. -Alan Agius and Charles Lyding +- - Deprecated support for tilde import has been removed. Please update the imports by removing the `~`. - + Before - + ```scss + @import '~font-awesome/scss/font-awesome'; + ``` -# 15.0.0-rc.3 (2022-11-09) + After -### @angular-devkit/architect + ```scss + @import 'font-awesome/scss/font-awesome'; + ``` -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | -| [24770f4e7](https://github.com/angular/angular-cli/commit/24770f4e75b4347428ef66d4171f5a73e254003e) | fix | default to failure if no builder result is provided | + - By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting `NG_BUILD_LEGACY_SASS=1`. + +- Internally the Angular CLI now always set the TypeScript `target` to `ES2022` and `useDefineForClassFields` to `false` unless the target is set to `ES2022` or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration. +- `require.context` are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future. +- Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+ +- server builder `bundleDependencies` option now only accept a boolean value. +- Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports. + +### @angular-devkit/core + +- Workspace projects with missing `root` is now an error. + +### @ngtools/webpack + +- TypeScript versions older than 4.8.2 are no longer supported. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------ | +| [766d4a089](https://github.com/angular/angular-cli/commit/766d4a0895e7895211e93bc73ff131c6e47613a7) | feat | add migration to remove require calls from karma builder main file | +| [d8bff4f1e](https://github.com/angular/angular-cli/commit/d8bff4f1e68a76da1983f9d0774f415e73dfd8c3) | feat | Added --project-root option to the library schematics | +| [597bfea1b](https://github.com/angular/angular-cli/commit/597bfea1b29cc7b25d1f466eb313cbeeb6dffc98) | feat | drop `polyfills.ts` file from new templates | +| [1c21e470c](https://github.com/angular/angular-cli/commit/1c21e470c76d69d08e5096b46b952dbce330f7ef) | feat | enable error on unknown properties and elements in tests | +| [f2a0682dc](https://github.com/angular/angular-cli/commit/f2a0682dc82afa23a3d3481df59e4aaca5e90c78) | feat | generate new projects using TypeScript 4.8.2 | +| [b06421d15](https://github.com/angular/angular-cli/commit/b06421d15e4b5e6daffcb73ee1c2c8703b72cb47) | feat | mark `projectRoot` as non hidden option in application schematic | +| [b6897dbb0](https://github.com/angular/angular-cli/commit/b6897dbb0a1ef287644e117251c1c76cc8afcae0) | feat | remove `karma.conf.js` from newly generated projects | +| [301b5669a](https://github.com/angular/angular-cli/commit/301b5669a724261d53444d5172334966903078c0) | feat | remove `ngOnInit` from component template | +| [9beb878e2](https://github.com/angular/angular-cli/commit/9beb878e2eecd32e499c8af557f22f46548248fc) | feat | remove Browserslist configuration files from projects | +| [283b564d1](https://github.com/angular/angular-cli/commit/283b564d1de985f0af8c2fcb6192801a90baacda) | feat | remove environment files in new applications | +| [56a1e8f9f](https://github.com/angular/angular-cli/commit/56a1e8f9f52658488afb9d36007e96c96d08a03b) | feat | remove test.ts file from new projects | +| [4e69e8050](https://github.com/angular/angular-cli/commit/4e69e80501dd2a9394b7df4518e0d6b0f2ebb7d9) | fix | add `@angular/localize` as type when localize package is installed | +| [57d93fb7d](https://github.com/angular/angular-cli/commit/57d93fb7d979e68c2a4e6f6046ff633f69098afe) | fix | mark project as required option | +| [84e3f7727](https://github.com/angular/angular-cli/commit/84e3f7727dc1de31484704c7c06d51ff5392a34a) | fix | remove empty lines | +| [316a50d75](https://github.com/angular/angular-cli/commit/316a50d75e45962ea3efe4108aa48d9479245dd5) | fix | remove TypeScript target from universal schematic | +| [69b221498](https://github.com/angular/angular-cli/commit/69b2214987c8fad6efd091782cf28b20be62d244) | refactor | remove deprecated appDir option | + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- | +| [4827d1b23](https://github.com/angular/angular-cli/commit/4827d1b23e564e4e4a8684c5e8ff035d8fa855a2) | feat | add support for Node.js version 18 | +| [4b623461a](https://github.com/angular/angular-cli/commit/4b623461a4a938ba320b5e019f9c715d634a46c4) | feat | drop support for Node.js versions older than 14.20 | +| [3dea1fa71](https://github.com/angular/angular-cli/commit/3dea1fa7173e846aff5b0d15b919d9786bbf7198) | fix | add unique user id as user parameter in GA | +| [af07aa340](https://github.com/angular/angular-cli/commit/af07aa340a1c3c9f3d42446981be59a73effa498) | fix | add workspace information as part of analytics collection | +| [83524f625](https://github.com/angular/angular-cli/commit/83524f62533f9a6bda0c1dbc76c6b16e730a7397) | fix | allow `ng add` to find prerelease versions when CLI is prerelease | +| [22955f245](https://github.com/angular/angular-cli/commit/22955f24592df8044dbdeeb8e635beb1cc770c75) | fix | do not collect analytics when running in non TTY mode | +| [35e5f4278](https://github.com/angular/angular-cli/commit/35e5f4278145b7ef55a75f1692c8e92d6bcd59db) | fix | exclude `@angular/localize@<10.0.0` from ng add pa… ([#24152](https://github.com/angular/angular-cli/pull/24152)) | +| [1a584364e](https://github.com/angular/angular-cli/commit/1a584364e70cafd84770ef45f3da9ad58a46083f) | fix | exclude `@angular/material@7.x` from ng add package discovery | +| [ff0382718](https://github.com/angular/angular-cli/commit/ff0382718af60923fe71f8b224d36a50449484e6) | fix | respect registry in RC when running update through yarn | +| [774d349b7](https://github.com/angular/angular-cli/commit/774d349b73a436a99f2ea932b7509dab7c1d5e45) | refactor | remove deprecated path handler | + +### + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | +| [639a3071c](https://github.com/angular/angular-cli/commit/639a3071c3630c1ccdf7e3c015e81e9423ab2678) | refactor | migrate analytics collector to use GA4 | +| [c969152de](https://github.com/angular/angular-cli/commit/c969152de630a9afdef44ba2342e728b9353c8e7) | refactor | remove analytics API from core and architect | ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------- | -| [001445982](https://github.com/angular/angular-cli/commit/0014459820dc1c127e93993414c154947a7f8da6) | fix | account for package.json exports with Sass in esbuild builder | -| [4cb27b803](https://github.com/angular/angular-cli/commit/4cb27b8031d0f36e687c5116538ebe473acaa149) | fix | avoid attempted resolve of external CSS URLs with esbuild builder | -| [f143171fd](https://github.com/angular/angular-cli/commit/f143171fd030fa1cc8df84ed5f0b96f5ad0f9e10) | fix | only add `@angular/platform-server/init` when package is installed. | -| [7dd122ad5](https://github.com/angular/angular-cli/commit/7dd122ad5f34a488f3784326b579b8a93511af7e) | fix | rebase Sass url() values when using esbuild-based builder | -| [0d62157a3](https://github.com/angular/angular-cli/commit/0d62157a30a246c1e00273c2300b9251574e75ae) | fix | update sourcemaps when rebasing Sass url() functions in esbuild builder | -| [b059fc735](https://github.com/angular/angular-cli/commit/b059fc73597c12330a96fca5f6ab9b1ca226136c) | fix | warn when components styles sourcemaps are not generated when styles optimization is enabled | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------- | +| [4ead45cab](https://github.com/angular/angular-cli/commit/4ead45caba08cb0b67dc7df2f6a9b304c75fff7d) | feat | add `ng-server-context` when using app-shell builder | +| [1c527a9da](https://github.com/angular/angular-cli/commit/1c527a9da5b55a8421ebca787fd322e879f6d29d) | feat | add esbuild-based builder initial support for fileReplacements | +| [67324b3e5](https://github.com/angular/angular-cli/commit/67324b3e5861510b1df9641bb4b10bb67e3a2325) | feat | add initial incremental code rebuilding to esbuild builder | +| [3d94ca21b](https://github.com/angular/angular-cli/commit/3d94ca21bbb7496a2ff588166fd93c5f2339b823) | feat | add initial watch support to esbuild-based builder | +| [c592ec584](https://github.com/angular/angular-cli/commit/c592ec584f1c0b126a2045e5ea1b01cb1569ce4d) | feat | amend `polyfills` option in all builders to support an array of module specifiers | +| [a95d130ef](https://github.com/angular/angular-cli/commit/a95d130ef4249457ed2433d52eb43c94a1169782) | feat | auto include `@angular/localize/init` when found in `types` | +| [979bce45e](https://github.com/angular/angular-cli/commit/979bce45e63eda9ac5402869ef3dc4c63aaca3f1) | feat | auto include `@angular/platform-server/init` during server builds | +| [fd4175357](https://github.com/angular/angular-cli/commit/fd41753579affa78328bfc4b6108db15ff5053f9) | feat | drop support for TypeScript 4.6 and 4.7 | +| [15d3fc6dc](https://github.com/angular/angular-cli/commit/15d3fc6dc3f74462818b3745f6fb4995212a4d22) | feat | export `@angular/platform-server` symbols in server bundle | +| [05a98c029](https://github.com/angular/angular-cli/commit/05a98c02924f656be3257d5f459ae88c1ae29fba) | feat | karma builder `main` option is now optional | +| [2b6029245](https://github.com/angular/angular-cli/commit/2b602924538bf987e92f806c25c2a3d008a3f0a9) | feat | providing a karma config is now optional | +| [9c13fce16](https://github.com/angular/angular-cli/commit/9c13fce162eff8d01d1fa6a7f0e0029da2887c86) | feat | remove `bundleDependencies` from server builder | +| [308e3a017](https://github.com/angular/angular-cli/commit/308e3a017f876bfc727e68803bfbce11e9d3396e) | feat | switch to use Sass modern API | +| [1e5d4a750](https://github.com/angular/angular-cli/commit/1e5d4a75084dfd2aeebb6a0c0b3039417e14bc84) | feat | use Browserslist to determine ECMA output | +| [3ff391738](https://github.com/angular/angular-cli/commit/3ff39173808f2beed97ee5deb91be541205f9a03) | fix | account for package.json exports fields with CSS import statements | +| [001445982](https://github.com/angular/angular-cli/commit/0014459820dc1c127e93993414c154947a7f8da6) | fix | account for package.json exports with Sass in esbuild builder | +| [6280741ce](https://github.com/angular/angular-cli/commit/6280741ce4a89882595c834f48a45cca6f9534e0) | fix | add `@angular/platform-server` as an optional peer dependency | +| [f9a2c3a12](https://github.com/angular/angular-cli/commit/f9a2c3a1216cf9510e122df44a64ddd11d47226b) | fix | allow both script and module sourceTypes to be localized | +| [4cb27b803](https://github.com/angular/angular-cli/commit/4cb27b8031d0f36e687c5116538ebe473acaa149) | fix | avoid attempted resolve of external CSS URLs with esbuild builder | +| [192e0e6d7](https://github.com/angular/angular-cli/commit/192e0e6d77d4f0f20af3f88b653c5196a2c1e052) | fix | correct escaping of target warning text in esbuild builder | +| [4fcb0a82b](https://github.com/angular/angular-cli/commit/4fcb0a82b5fa8a092d8c374cdea448edd80270d4) | fix | correctly resolve Sass partial files in node packages | +| [fb5a66ae6](https://github.com/angular/angular-cli/commit/fb5a66ae66b595602d2a8aea8e938efe5df6d13c) | fix | fix crash when Sass error occurs | +| [b6df9c136](https://github.com/angular/angular-cli/commit/b6df9c1367ae5795a3895628ec9822d432b315bb) | fix | handle conditional exports in `scripts` and `styles` option | +| [0ee7625d6](https://github.com/angular/angular-cli/commit/0ee7625d6b4bd84be6fca0df82f3e74e4b94728c) | fix | ignore cache path when watching with esbuild builder | +| [e34bfe5eb](https://github.com/angular/angular-cli/commit/e34bfe5eb1a559cbf53449ce213503e32fa27ae4) | fix | ignore specs in node_modules when finding specs | +| [f143171fd](https://github.com/angular/angular-cli/commit/f143171fd030fa1cc8df84ed5f0b96f5ad0f9e10) | fix | only add `@angular/platform-server/init` when package is installed. | +| [3a1970b76](https://github.com/angular/angular-cli/commit/3a1970b76e4da7424e2661664a1e9e669bd279b4) | fix | only import karma when running karma builder | +| [8b84c18ed](https://github.com/angular/angular-cli/commit/8b84c18edd01e91c7ebf4327dde8ce60f7f700ca) | fix | provide workaround for V8 object spread performance defect | +| [7dd122ad5](https://github.com/angular/angular-cli/commit/7dd122ad5f34a488f3784326b579b8a93511af7e) | fix | rebase Sass url() values when using esbuild-based builder | +| [2105964af](https://github.com/angular/angular-cli/commit/2105964afc0285cc40c16d32c47d1eb60be5e279) | fix | resolve transitive dependencies in Sass when using Yarn PNP | +| [54e1c01d8](https://github.com/angular/angular-cli/commit/54e1c01d8b608ff240f7559ca176cd50e991952c) | fix | show file replacement in TS missing file error in esbuild builder | +| [6c3f281d9](https://github.com/angular/angular-cli/commit/6c3f281d927c9ae2d4ec76ff9f920752e2cb73d1) | fix | show warning when using TypeScript target older then ES2022 in esbuild builder | +| [8f8e02c32](https://github.com/angular/angular-cli/commit/8f8e02c3221c9477ec931bb6983daf6a2c8dc8be) | fix | support Yarn PNP resolution in modern SASS API | +| [fc82e3bec](https://github.com/angular/angular-cli/commit/fc82e3bec3f188d449e952d9955b845b2efdcd6b) | fix | update browerslist package | +| [0d62157a3](https://github.com/angular/angular-cli/commit/0d62157a30a246c1e00273c2300b9251574e75ae) | fix | update sourcemaps when rebasing Sass url() functions in esbuild builder | +| [1518133db](https://github.com/angular/angular-cli/commit/1518133db3b1c710500786f9f1fcfa05a016862e) | fix | use relative sourcemap source paths for Sass in esbuild builder | +| [fb4ead2ce](https://github.com/angular/angular-cli/commit/fb4ead2ce0de824eef46ce8e27a8f6cc1d08c744) | fix | wait during file watching to improve multi-save rebuilds for esbuild builder | +| [b059fc735](https://github.com/angular/angular-cli/commit/b059fc73597c12330a96fca5f6ab9b1ca226136c) | fix | warn when components styles sourcemaps are not generated when styles optimization is enabled | +| [9d0872fb5](https://github.com/angular/angular-cli/commit/9d0872fb5e369f714633387d9ae39c4242ba1ea1) | perf | add initial global styles incremental rebuilds with esbuild builder | +| [0fe6b3b75](https://github.com/angular/angular-cli/commit/0fe6b3b75b87f6f8050b196615e1c1543b707841) | perf | add vendor chunking to server builder | +| [8c915d414](https://github.com/angular/angular-cli/commit/8c915d41496c99fb42ae3992d9c91de542260bf2) | perf | avoid extra babel file reads in esbuild builder rebuilds | +| [919fe2148](https://github.com/angular/angular-cli/commit/919fe2148885c44655ce36085768b1eab2c8c246) | perf | avoid extra TypeScript emits with esbuild rebuilds | +| [92145c4a7](https://github.com/angular/angular-cli/commit/92145c4a7d2c835b703319676bafd8ea3b4a19f0) | perf | avoid template diagnostics for declaration files in esbuild builder | +| [52db3c000](https://github.com/angular/angular-cli/commit/52db3c00076dfe118cd39d7724229210c30665e0) | perf | minimize Angular diagnostics incremental analysis in esbuild-based builder | +| [feb06753d](https://github.com/angular/angular-cli/commit/feb06753d59f782c6ad8fd59a60537863094f498) | perf | use esbuild-based builder to directly downlevel for await...of | +| [9d83fb91b](https://github.com/angular/angular-cli/commit/9d83fb91b654eed79a5c9c9691d0f1c094f37771) | perf | use Sass worker pool for Sass support in esbuild builder | +| [45a94228f](https://github.com/angular/angular-cli/commit/45a94228fb23acbd0d1a9329448f07b759c8654b) | perf | use Uint8Arrays for incremental caching with esbuild-based builder | +| [f393b0928](https://github.com/angular/angular-cli/commit/f393b09282582da47db683344e037fd1434b32a8) | refactor | disable `requireContext` parsing | +| [12931ba8c](https://github.com/angular/angular-cli/commit/12931ba8c3772b1dd65846cbd6146804b08eab31) | refactor | remove deprecated ES5 support | +| [7f1017e60](https://github.com/angular/angular-cli/commit/7f1017e60f82389568065478d666ae4be6ebfea2) | refactor | remove old `bundleDependencies` enum logic | +| [2ba44a433](https://github.com/angular/angular-cli/commit/2ba44a433c827413a53d12de0ef203f8988ddc2a) | refactor | remove support for Stylus | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [ea4c0aa2e](https://github.com/angular/angular-cli/commit/ea4c0aa2e84d48be37b75e37c99ad381122297c3) | fix | throw error when project has missing root property | +| [de467f46d](https://github.com/angular/angular-cli/commit/de467f46de63059f9c701dfe8695513c742f22b5) | fix | update logger `forEach` `promiseCtor` type | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------ | +| [9b07b469b](https://github.com/angular/angular-cli/commit/9b07b469b622e083a9915ed3c24e1d53d8abf38f) | refactor | remove `UpdateBuffer` and rename `UpdateBuffer2` to `UpdateBuffer` | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------- | +| [43bd0abc1](https://github.com/angular/angular-cli/commit/43bd0abc147cf3177e707624bf6163b3dc9e06f8) | feat | drop support for TypeScript 4.6 and 4.7 | +| [1c1f985b9](https://github.com/angular/angular-cli/commit/1c1f985b9c9913f28915f101ee1717c0da540362) | fix | support inline style sourcemaps when using css-loader for component styles | ## Special Thanks -Alan Agius and Charles Lyding +Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, Doug Parker, Günhan Gülsoy, Jason Bedard, Lukas Spirig, Ruslan Lekhman, angular-robot[bot] and minijus @@ -87,37 +207,6 @@ Alan Agius and Charles Lyding - - -# 15.0.0-rc.2 (2022-11-02) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------------------------------- | -| [35e5f4278](https://github.com/angular/angular-cli/commit/35e5f4278145b7ef55a75f1692c8e92d6bcd59db) | fix | exclude `@angular/localize@<10.0.0` from ng add pa… ([#24152](https://github.com/angular/angular-cli/pull/24152)) | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | -| [c33cc0a7a](https://github.com/angular/angular-cli/commit/c33cc0a7abb224899792afaffb5dab1504178d89) | fix | guard schematics should include all guards (CanMatch) | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------------- | -| [192e0e6d7](https://github.com/angular/angular-cli/commit/192e0e6d77d4f0f20af3f88b653c5196a2c1e052) | fix | correct escaping of target warning text in esbuild builder | -| [8b84c18ed](https://github.com/angular/angular-cli/commit/8b84c18edd01e91c7ebf4327dde8ce60f7f700ca) | fix | provide workaround for V8 object spread performance defect | -| [fb4ead2ce](https://github.com/angular/angular-cli/commit/fb4ead2ce0de824eef46ce8e27a8f6cc1d08c744) | fix | wait during file watching to improve multi-save rebuilds for esbuild builder | -| [9d83fb91b](https://github.com/angular/angular-cli/commit/9d83fb91b654eed79a5c9c9691d0f1c094f37771) | perf | use Sass worker pool for Sass support in esbuild builder | - -## Special Thanks - -Alan Agius, Andrew Scott and Charles Lyding - - - # 14.2.8 (2022-11-02) @@ -134,41 +223,6 @@ Andrew Scott - - -# 15.0.0-rc.1 (2022-10-26) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | -| [83524f625](https://github.com/angular/angular-cli/commit/83524f62533f9a6bda0c1dbc76c6b16e730a7397) | fix | allow `ng add` to find prerelease versions when CLI is prerelease | -| [948cc4da5](https://github.com/angular/angular-cli/commit/948cc4da5b85b0e788f641ce6d8a51290661c54d) | fix | disable version check during auto completion | -| [1a584364e](https://github.com/angular/angular-cli/commit/1a584364e70cafd84770ef45f3da9ad58a46083f) | fix | exclude `@angular/material@7.x` from ng add package discovery | -| [952fe7fbc](https://github.com/angular/angular-cli/commit/952fe7fbcf411b6e141fa38f6b7ee6ea5e8aa2ce) | fix | skip node.js compatibility checks when running completion | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | -| [4e69e8050](https://github.com/angular/angular-cli/commit/4e69e80501dd2a9394b7df4518e0d6b0f2ebb7d9) | fix | add `@angular/localize` as type when localize package is installed | -| [316a50d75](https://github.com/angular/angular-cli/commit/316a50d75e45962ea3efe4108aa48d9479245dd5) | fix | remove TypeScript target from universal schematic | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | -| [0ee7625d6](https://github.com/angular/angular-cli/commit/0ee7625d6b4bd84be6fca0df82f3e74e4b94728c) | fix | ignore cache path when watching with esbuild builder | -| [84f1f638a](https://github.com/angular/angular-cli/commit/84f1f638addb6eaa255af48ea61e1436eb49d32e) | fix | issue dev-server support warning when using esbuild builder | -| [919fe2148](https://github.com/angular/angular-cli/commit/919fe2148885c44655ce36085768b1eab2c8c246) | perf | avoid extra TypeScript emits with esbuild rebuilds | -| [92145c4a7](https://github.com/angular/angular-cli/commit/92145c4a7d2c835b703319676bafd8ea3b4a19f0) | perf | avoid template diagnostics for declaration files in esbuild builder | - -## Special Thanks - -Alan Agius, Charles Lyding and Günhan Gülsoy - - - # 14.2.7 (2022-10-26) @@ -192,52 +246,6 @@ Alan Agius and Charles Lyding - - -# 15.0.0-rc.0 (2022-10-20) - - - - - -# 15.0.0-next.6 (2022-10-14) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | -| [3dea1fa71](https://github.com/angular/angular-cli/commit/3dea1fa7173e846aff5b0d15b919d9786bbf7198) | fix | add unique user id as user parameter in GA | -| [af07aa340](https://github.com/angular/angular-cli/commit/af07aa340a1c3c9f3d42446981be59a73effa498) | fix | add workspace information as part of analytics collection | -| [22955f245](https://github.com/angular/angular-cli/commit/22955f24592df8044dbdeeb8e635beb1cc770c75) | fix | do not collect analytics when running in non TTY mode | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | -| [3ff391738](https://github.com/angular/angular-cli/commit/3ff39173808f2beed97ee5deb91be541205f9a03) | fix | account for package.json exports fields with CSS import statements | -| [6280741ce](https://github.com/angular/angular-cli/commit/6280741ce4a89882595c834f48a45cca6f9534e0) | fix | add `@angular/platform-server` as an optional peer dependency | -| [3a1970b76](https://github.com/angular/angular-cli/commit/3a1970b76e4da7424e2661664a1e9e669bd279b4) | fix | only import karma when running karma builder | -| [2105964af](https://github.com/angular/angular-cli/commit/2105964afc0285cc40c16d32c47d1eb60be5e279) | fix | resolve transitive dependencies in Sass when using Yarn PNP | -| [45a94228f](https://github.com/angular/angular-cli/commit/45a94228fb23acbd0d1a9329448f07b759c8654b) | perf | use Uint8Arrays for incremental caching with esbuild-based builder | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------ | -| [de467f46d](https://github.com/angular/angular-cli/commit/de467f46de63059f9c701dfe8695513c742f22b5) | fix | update logger `forEach` `promiseCtor` type | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------- | -| [1c1f985b9](https://github.com/angular/angular-cli/commit/1c1f985b9c9913f28915f101ee1717c0da540362) | fix | support inline style sourcemaps when using css-loader for component styles | - -## Special Thanks - -Alan Agius and Charles Lyding - - - # 14.2.6 (2022-10-12) @@ -261,149 +269,6 @@ AgentEnder and Alan Agius - - -# 15.0.0-next.5 (2022-10-12) - -## Breaking Changes - -### @angular/cli - -- The Angular CLI no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`. - -### - -- `analyticsSharing` option in the global angular configuration has been - removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data. - - If this option is used, it can be removed using `ng config --global cli.analyticsSharing undefined`. - -- analytics APIs have been removed without replacement from `@angular-devkit/core` and `@angular-devkit/architect`. - -### @angular-devkit/build-angular - -- TypeScript versions older than 4.8.2 are no longer supported. - -### @angular-devkit/schematics - -- The depracated `UpdateBuffer` has been removed and `UpdateBuffer2` - is renamed to `UpdateBuffer`. With this change the related and - deprecated symbols `ContentCannotBeRemovedException` and `Chunk` - have also been removed. - -### @ngtools/webpack - -- TypeScript versions older than 4.8.2 are no longer supported. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- | -| [d8bff4f1e](https://github.com/angular/angular-cli/commit/d8bff4f1e68a76da1983f9d0774f415e73dfd8c3) | feat | Added --project-root option to the library schematics | -| [f2a0682dc](https://github.com/angular/angular-cli/commit/f2a0682dc82afa23a3d3481df59e4aaca5e90c78) | feat | generate new projects using TypeScript 4.8.2 | -| [b06421d15](https://github.com/angular/angular-cli/commit/b06421d15e4b5e6daffcb73ee1c2c8703b72cb47) | feat | mark `projectRoot` as non hidden option in application schematic | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------ | -| [4827d1b23](https://github.com/angular/angular-cli/commit/4827d1b23e564e4e4a8684c5e8ff035d8fa855a2) | feat | add support for Node.js version 18 | -| [4fa5b526e](https://github.com/angular/angular-cli/commit/4fa5b526e53fb9b142295ef361c3709151aa17da) | fix | handle missing `which` binary in path | -| [320241010](https://github.com/angular/angular-cli/commit/320241010eeb189de820f9abb3959b34f63a300d) | fix | skip downloading temp CLI when running `ng update` without package names | - -### - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | -| [639a3071c](https://github.com/angular/angular-cli/commit/639a3071c3630c1ccdf7e3c015e81e9423ab2678) | refactor | migrate analytics collector to use GA4 | -| [c969152de](https://github.com/angular/angular-cli/commit/c969152de630a9afdef44ba2342e728b9353c8e7) | refactor | remove analytics API from core and architect | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------ | -| [a95d130ef](https://github.com/angular/angular-cli/commit/a95d130ef4249457ed2433d52eb43c94a1169782) | feat | auto include `@angular/localize/init` when found in `types` | -| [979bce45e](https://github.com/angular/angular-cli/commit/979bce45e63eda9ac5402869ef3dc4c63aaca3f1) | feat | auto include `@angular/platform-server/init` during server builds | -| [fd4175357](https://github.com/angular/angular-cli/commit/fd41753579affa78328bfc4b6108db15ff5053f9) | feat | drop support for TypeScript 4.6 and 4.7 | -| [4fcb0a82b](https://github.com/angular/angular-cli/commit/4fcb0a82b5fa8a092d8c374cdea448edd80270d4) | fix | correctly resolve Sass partial files in node packages | -| [e34bfe5eb](https://github.com/angular/angular-cli/commit/e34bfe5eb1a559cbf53449ce213503e32fa27ae4) | fix | ignore specs in node_modules when finding specs | -| [484cda5f9](https://github.com/angular/angular-cli/commit/484cda5f9ee90ab17807eb7f5cfb4a40ea6cd264) | fix | isolate zone.js usage when rendering server bundles | -| [6c3f281d9](https://github.com/angular/angular-cli/commit/6c3f281d927c9ae2d4ec76ff9f920752e2cb73d1) | fix | show warning when using TypeScript target older then ES2022 in esbuild builder | -| [1518133db](https://github.com/angular/angular-cli/commit/1518133db3b1c710500786f9f1fcfa05a016862e) | fix | use relative sourcemap source paths for Sass in esbuild builder | -| [8c915d414](https://github.com/angular/angular-cli/commit/8c915d41496c99fb42ae3992d9c91de542260bf2) | perf | avoid extra babel file reads in esbuild builder rebuilds | -| [52db3c000](https://github.com/angular/angular-cli/commit/52db3c00076dfe118cd39d7724229210c30665e0) | perf | minimize Angular diagnostics incremental analysis in esbuild-based builder | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | -| [86150d9dd](https://github.com/angular/angular-cli/commit/86150d9ddcbc16e35c1912754c8fb50443724074) | fix | project extension warning message should identify concerned project | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------ | -| [9b07b469b](https://github.com/angular/angular-cli/commit/9b07b469b622e083a9915ed3c24e1d53d8abf38f) | refactor | remove `UpdateBuffer` and rename `UpdateBuffer2` to `UpdateBuffer` | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------- | -| [43bd0abc1](https://github.com/angular/angular-cli/commit/43bd0abc147cf3177e707624bf6163b3dc9e06f8) | feat | drop support for TypeScript 4.6 and 4.7 | - -## Special Thanks - -AgentEnder, Alan Agius, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, Günhan Gülsoy and Lukas Spirig - - - - - -# 15.0.0-next.4 (2022-10-05) - -## Breaking Changes - -### @angular/cli - -- Node.js versions older than 14.20 are no longer supported. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | -| [b6897dbb0](https://github.com/angular/angular-cli/commit/b6897dbb0a1ef287644e117251c1c76cc8afcae0) | feat | remove `karma.conf.js` from newly generated projects | -| [301b5669a](https://github.com/angular/angular-cli/commit/301b5669a724261d53444d5172334966903078c0) | feat | remove `ngOnInit` from component template | -| [84e3f7727](https://github.com/angular/angular-cli/commit/84e3f7727dc1de31484704c7c06d51ff5392a34a) | fix | remove empty lines | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | -| [4b623461a](https://github.com/angular/angular-cli/commit/4b623461a4a938ba320b5e019f9c715d634a46c4) | feat | drop support for Node.js versions older than 14.20 | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | -| [67324b3e5](https://github.com/angular/angular-cli/commit/67324b3e5861510b1df9641bb4b10bb67e3a2325) | feat | add initial incremental code rebuilding to esbuild builder | -| [3d94ca21b](https://github.com/angular/angular-cli/commit/3d94ca21bbb7496a2ff588166fd93c5f2339b823) | feat | add initial watch support to esbuild-based builder | -| [2b6029245](https://github.com/angular/angular-cli/commit/2b602924538bf987e92f806c25c2a3d008a3f0a9) | feat | providing a karma config is now optional | -| [f9a2c3a12](https://github.com/angular/angular-cli/commit/f9a2c3a1216cf9510e122df44a64ddd11d47226b) | fix | allow both script and module sourceTypes to be localized | -| [b6df9c136](https://github.com/angular/angular-cli/commit/b6df9c1367ae5795a3895628ec9822d432b315bb) | fix | handle conditional exports in `scripts` and `styles` option | -| [8f8e02c32](https://github.com/angular/angular-cli/commit/8f8e02c3221c9477ec931bb6983daf6a2c8dc8be) | fix | support Yarn PNP resolution in modern SASS API | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | -| [8eb58bdbe](https://github.com/angular/angular-cli/commit/8eb58bdbe034e2cbae9cdae058ad4633c8f2a761) | fix | throw more relevant error when Rule returns invalid null value | - -## Special Thanks - -Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat and minijus - - - # 14.2.5 (2022-10-05) @@ -420,69 +285,6 @@ Alan Agius and Charles Lyding - - -# 15.0.0-next.3 (2022-09-28) - -## Breaking Changes - -### @angular-devkit/build-angular - -- The server builder `bundleDependencies` option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles. - - The `externalDependencies` option can be used instead to exclude specific node_module packages from the final bundle. - -- - Deprecated support for tilde import has been removed. Please update the imports by removing the `~`. - - Before - - ```scss - @import '~font-awesome/scss/font-awesome'; - ``` - - After - - ```scss - @import 'font-awesome/scss/font-awesome'; - ``` - - - By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting `NG_BUILD_LEGACY_SASS=1`. - -- `require.context` are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ | -| [766d4a089](https://github.com/angular/angular-cli/commit/766d4a0895e7895211e93bc73ff131c6e47613a7) | feat | add migration to remove require calls from karma builder main file | -| [597bfea1b](https://github.com/angular/angular-cli/commit/597bfea1b29cc7b25d1f466eb313cbeeb6dffc98) | feat | drop `polyfills.ts` file from new templates | -| [283b564d1](https://github.com/angular/angular-cli/commit/283b564d1de985f0af8c2fcb6192801a90baacda) | feat | remove environment files in new applications | -| [56a1e8f9f](https://github.com/angular/angular-cli/commit/56a1e8f9f52658488afb9d36007e96c96d08a03b) | feat | remove test.ts file from new projects | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------- | -| [23c233c29](https://github.com/angular/angular-cli/commit/23c233c296d4e264b36241fbba0b92ec00a00374) | fix | add builders and schematic names as page titles in collected analytics | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------- | -| [4ead45cab](https://github.com/angular/angular-cli/commit/4ead45caba08cb0b67dc7df2f6a9b304c75fff7d) | feat | add `ng-server-context` when using app-shell builder | -| [c592ec584](https://github.com/angular/angular-cli/commit/c592ec584f1c0b126a2045e5ea1b01cb1569ce4d) | feat | amend `polyfills` option in all builders to support an array of module specifiers | -| [05a98c029](https://github.com/angular/angular-cli/commit/05a98c02924f656be3257d5f459ae88c1ae29fba) | feat | karma builder `main` option is now optional | -| [9c13fce16](https://github.com/angular/angular-cli/commit/9c13fce162eff8d01d1fa6a7f0e0029da2887c86) | feat | remove `bundleDependencies` from server builder | -| [308e3a017](https://github.com/angular/angular-cli/commit/308e3a017f876bfc727e68803bfbce11e9d3396e) | feat | switch to use Sass modern API | -| [fb5a66ae6](https://github.com/angular/angular-cli/commit/fb5a66ae66b595602d2a8aea8e938efe5df6d13c) | fix | fix crash when Sass error occurs | -| [f393b0928](https://github.com/angular/angular-cli/commit/f393b09282582da47db683344e037fd1434b32a8) | refactor | disable `requireContext` parsing | - -## Special Thanks - -Alan Agius, Jason Bedard and Paul Gschwendtner - - - # 14.2.4 (2022-09-28) @@ -499,86 +301,6 @@ Alan Agius, Jason Bedard and Paul Gschwendtner - - -# 15.0.0-next.2 (2022-09-21) - -## Breaking Changes - -### @angular-devkit/build-angular - -- Internally the Angular CLI now always sets the TypeScript `target` to `ES2022` and `useDefineForClassFields` to `false` unless the target is set to `ES2022` or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration. -- Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+ -- Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports. - -### @angular-devkit/core - -- Workspace projects with missing `root` is now an error. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------- | -| [1c21e470c](https://github.com/angular/angular-cli/commit/1c21e470c76d69d08e5096b46b952dbce330f7ef) | feat | enable error on unknown properties and elements in tests | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------- | -| [1c527a9da](https://github.com/angular/angular-cli/commit/1c527a9da5b55a8421ebca787fd322e879f6d29d) | feat | add esbuild-based builder initial support for fileReplacements | -| [15d3fc6dc](https://github.com/angular/angular-cli/commit/15d3fc6dc3f74462818b3745f6fb4995212a4d22) | feat | export `@angular/platform-server` symbols in server bundle | -| [1e5d4a750](https://github.com/angular/angular-cli/commit/1e5d4a75084dfd2aeebb6a0c0b3039417e14bc84) | feat | use Browserslist to determine ECMA output | -| [12931ba8c](https://github.com/angular/angular-cli/commit/12931ba8c3772b1dd65846cbd6146804b08eab31) | refactor | remove deprecated ES5 support | -| [2ba44a433](https://github.com/angular/angular-cli/commit/2ba44a433c827413a53d12de0ef203f8988ddc2a) | refactor | remove support for Stylus | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | -| [ea4c0aa2e](https://github.com/angular/angular-cli/commit/ea4c0aa2e84d48be37b75e37c99ad381122297c3) | fix | throw error when project has missing root property | - -## Special Thanks - -Alan Agius, Charles Lyding, Cédric Exbrayat, Doug Parker, Jason Bedard and Paul Gschwendtner - - - - - -# 15.0.0-next.1 (2022-09-15) - -## Breaking Changes - -### @angular-devkit/build-angular - -- server builder `bundleDependencies` option now only accept a boolean value. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | -| [9beb878e2](https://github.com/angular/angular-cli/commit/9beb878e2eecd32e499c8af557f22f46548248fc) | feat | remove Browserslist configuration files from projects | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------- | -| [4f8a3d258](https://github.com/angular/angular-cli/commit/4f8a3d258230d6b6645600f9d17e8582a36c8682) | fix | correctly display error messages that contain "at" text. | -| [2021e66a1](https://github.com/angular/angular-cli/commit/2021e66a12fb873140d54cff82968a10e3ffa010) | fix | watch symbolic links | -| [7f1017e60](https://github.com/angular/angular-cli/commit/7f1017e60f82389568065478d666ae4be6ebfea2) | refactor | remove old `bundleDependencies` enum logic | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- | -| [4fa8392a1](https://github.com/angular/angular-cli/commit/4fa8392a138122bc2c8ed5e433cfbf9786da8baa) | perf | avoid bootstrap conversion AST traversal where possible | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott and angular-robot[bot] - - - # 14.2.3 (2022-09-15) @@ -602,45 +324,6 @@ Alan Agius, Charles Lyding, Jason Bedard and Joey Perrott - - -# 15.0.0-next.0 (2022-09-08) - -## Breaking Changes - -### @angular/cli - -- The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead. - -### @schematics/angular - -- Removed unused`appDir` option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------- | -| [57d93fb7d](https://github.com/angular/angular-cli/commit/57d93fb7d979e68c2a4e6f6046ff633f69098afe) | fix | mark project as required option | -| [69b221498](https://github.com/angular/angular-cli/commit/69b2214987c8fad6efd091782cf28b20be62d244) | refactor | remove deprecated appDir option | - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------ | -| [774d349b7](https://github.com/angular/angular-cli/commit/774d349b73a436a99f2ea932b7509dab7c1d5e45) | refactor | remove deprecated path handler | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | -| [feb06753d](https://github.com/angular/angular-cli/commit/feb06753d59f782c6ad8fd59a60537863094f498) | perf | use esbuild-based builder to directly downlevel for await...of | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Ruslan Lekhman and angular-robot[bot] - - - # 14.2.2 (2022-09-08) From 412cb3e61f7f0c05004a76d2955fdf65451eac88 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Nov 2022 13:57:20 +0000 Subject: [PATCH 1132/1388] fix(@angular/cli): use global version of the CLI when running `ng new` In some cases orphan `node_modules` would cause the non global CLI to be used to generate a new workspace. Closes #14603 --- packages/angular/cli/lib/init.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/angular/cli/lib/init.ts b/packages/angular/cli/lib/init.ts index 0ec6c94c071a..feed3a56d901 100644 --- a/packages/angular/cli/lib/init.ts +++ b/packages/angular/cli/lib/init.ts @@ -33,17 +33,21 @@ let forceExit = false; * See: https://github.com/browserslist/browserslist/blob/819c4337456996d19db6ba953014579329e9c6e1/node.js#L324 */ process.env.BROWSERSLIST_IGNORE_OLD_DATA = '1'; + const rawCommandName = process.argv[2]; /** * Disable CLI version mismatch checks and forces usage of the invoked CLI * instead of invoking the local installed version. + * + * When running `ng new` always favor the global version. As in some + * cases orphan `node_modules` would cause the non global CLI to be used. + * @see: https://github.com/angular/angular-cli/issues/14603 */ - if (disableVersionCheck) { + if (disableVersionCheck || rawCommandName === 'new') { return (await import('./cli')).default; } let cli; - const rawCommandName = process.argv[2]; try { // No error implies a projectLocalCli, which will load whatever From 69306ddb0eed5c849de8ad466d5da592b4b99051 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 16 Nov 2022 20:40:47 +0000 Subject: [PATCH 1133/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 254 ++++++++++++++---- 3 files changed, 211 insertions(+), 61 deletions(-) diff --git a/package.json b/package.json index 99203c28bdb3..c0a9bc86ebf9 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.42.1", - "@typescript-eslint/parser": "5.42.1", + "@typescript-eslint/eslint-plugin": "5.43.0", + "@typescript-eslint/parser": "5.43.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.2", "ajv-formats": "2.1.1", @@ -140,8 +140,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.2", "debug": "^4.1.1", - "esbuild": "0.15.13", - "esbuild-wasm": "0.15.13", + "esbuild": "0.15.14", + "esbuild-wasm": "0.15.14", "eslint": "8.27.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -170,9 +170,9 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", "magic-string": "0.26.7", - "mini-css-extract-plugin": "2.6.1", + "mini-css-extract-plugin": "2.7.0", "minimatch": "5.1.0", - "ng-packagr": "15.0.0-rc.0", + "ng-packagr": "15.0.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9eb5e7cbdc9f..abb805838024 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.2", - "esbuild-wasm": "0.15.13", + "esbuild-wasm": "0.15.14", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -42,7 +42,7 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", "magic-string": "0.26.7", - "mini-css-extract-plugin": "2.6.1", + "mini-css-extract-plugin": "2.7.0", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.13" + "esbuild": "0.15.14" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index 266f9772704b..66b8502be3a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1448,6 +1448,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== +"@esbuild/android-arm@0.15.14": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.14.tgz#5d0027f920eeeac313c01fd6ecb8af50c306a466" + integrity sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA== + "@esbuild/linux-loong64@0.15.12": version "0.15.12" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1" @@ -1458,6 +1463,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== +"@esbuild/linux-loong64@0.15.14": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz#1221684955c44385f8af34f7240088b7dc08d19d" + integrity sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -2595,14 +2605,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz#696b9cc21dfd4749c1c8ad1307f76a36a00aa0e3" - integrity sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg== +"@typescript-eslint/eslint-plugin@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz#4a5248eb31b454715ddfbf8cfbf497529a0a78bc" + integrity sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA== dependencies: - "@typescript-eslint/scope-manager" "5.42.1" - "@typescript-eslint/type-utils" "5.42.1" - "@typescript-eslint/utils" "5.42.1" + "@typescript-eslint/scope-manager" "5.43.0" + "@typescript-eslint/type-utils" "5.43.0" + "@typescript-eslint/utils" "5.43.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -2610,72 +2620,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.1.tgz#3e66156f2f74b11690b45950d8f5f28a62751d35" - integrity sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q== +"@typescript-eslint/parser@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.43.0.tgz#9c86581234b88f2ba406f0b99a274a91c11630fd" + integrity sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug== dependencies: - "@typescript-eslint/scope-manager" "5.42.1" - "@typescript-eslint/types" "5.42.1" - "@typescript-eslint/typescript-estree" "5.42.1" + "@typescript-eslint/scope-manager" "5.43.0" + "@typescript-eslint/types" "5.43.0" + "@typescript-eslint/typescript-estree" "5.43.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz#05e5e1351485637d466464237e5259b49f609b18" - integrity sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ== +"@typescript-eslint/scope-manager@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz#566e46303392014d5d163704724872e1f2dd3c15" + integrity sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw== dependencies: - "@typescript-eslint/types" "5.42.1" - "@typescript-eslint/visitor-keys" "5.42.1" + "@typescript-eslint/types" "5.43.0" + "@typescript-eslint/visitor-keys" "5.43.0" -"@typescript-eslint/type-utils@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz#21328feb2d4b193c5852b35aabd241ccc1449daa" - integrity sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg== +"@typescript-eslint/type-utils@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz#91110fb827df5161209ecca06f70d19a96030be6" + integrity sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg== dependencies: - "@typescript-eslint/typescript-estree" "5.42.1" - "@typescript-eslint/utils" "5.42.1" + "@typescript-eslint/typescript-estree" "5.43.0" + "@typescript-eslint/utils" "5.43.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.1.tgz#0d4283c30e9b70d2aa2391c36294413de9106df2" - integrity sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA== +"@typescript-eslint/types@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578" + integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg== -"@typescript-eslint/typescript-estree@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz#f9a223ecb547a781d37e07a5ac6ba9ff681eaef0" - integrity sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw== +"@typescript-eslint/typescript-estree@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz#b6883e58ba236a602c334be116bfc00b58b3b9f2" + integrity sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg== dependencies: - "@typescript-eslint/types" "5.42.1" - "@typescript-eslint/visitor-keys" "5.42.1" + "@typescript-eslint/types" "5.43.0" + "@typescript-eslint/visitor-keys" "5.43.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.1.tgz#2789b1cd990f0c07aaa3e462dbe0f18d736d5071" - integrity sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ== +"@typescript-eslint/utils@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.43.0.tgz#00fdeea07811dbdf68774a6f6eacfee17fcc669f" + integrity sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.42.1" - "@typescript-eslint/types" "5.42.1" - "@typescript-eslint/typescript-estree" "5.42.1" + "@typescript-eslint/scope-manager" "5.43.0" + "@typescript-eslint/types" "5.43.0" + "@typescript-eslint/typescript-estree" "5.43.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.42.1": - version "5.42.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz#df10839adf6605e1cdb79174cf21e46df9be4872" - integrity sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A== +"@typescript-eslint/visitor-keys@5.43.0": + version "5.43.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz#cbbdadfdfea385310a20a962afda728ea106befa" + integrity sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg== dependencies: - "@typescript-eslint/types" "5.42.1" + "@typescript-eslint/types" "5.43.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -4816,6 +4826,11 @@ esbuild-android-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== +esbuild-android-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz#114e55b0d58fb7b45d7fa3d93516bd13fc8869cc" + integrity sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg== + esbuild-android-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666" @@ -4826,6 +4841,11 @@ esbuild-android-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== +esbuild-android-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz#8541f38a9aacf88e574fb13f5ad4ca51a04c12bb" + integrity sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg== + esbuild-darwin-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25" @@ -4836,6 +4856,11 @@ esbuild-darwin-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== +esbuild-darwin-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz#b40b334db81ff1e3677a6712b23761748a157c57" + integrity sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg== + esbuild-darwin-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04" @@ -4846,6 +4871,11 @@ esbuild-darwin-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== +esbuild-darwin-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz#44b5c1477bb7bdb852dd905e906f68765e2828bc" + integrity sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A== + esbuild-freebsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0" @@ -4856,6 +4886,11 @@ esbuild-freebsd-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== +esbuild-freebsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz#8c57315d238690f34b6ed0c94e5cfc04c858247a" + integrity sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA== + esbuild-freebsd-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e" @@ -4866,6 +4901,11 @@ esbuild-freebsd-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== +esbuild-freebsd-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz#2e92acca09258daa849e635565f52469266f0b7b" + integrity sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg== + esbuild-linux-32@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4" @@ -4876,6 +4916,11 @@ esbuild-linux-32@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== +esbuild-linux-32@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz#ca5ed3e9dff82df486ddde362d7e00775a597dfd" + integrity sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA== + esbuild-linux-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931" @@ -4886,6 +4931,11 @@ esbuild-linux-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== +esbuild-linux-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz#42952e1d08a299d5f573c567639fb37b033befbf" + integrity sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw== + esbuild-linux-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5" @@ -4896,6 +4946,11 @@ esbuild-linux-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== +esbuild-linux-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz#0c0d788099703327ec0ae70758cb2639ef6c5d88" + integrity sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg== + esbuild-linux-arm@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67" @@ -4906,6 +4961,11 @@ esbuild-linux-arm@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== +esbuild-linux-arm@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz#751a5ca5042cd60f669b07c3bcec3dd6c4f8151c" + integrity sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q== + esbuild-linux-mips64le@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2" @@ -4916,6 +4976,11 @@ esbuild-linux-mips64le@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== +esbuild-linux-mips64le@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz#da8ac35f2704de0b52bf53a99c12f604fbe9b916" + integrity sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA== + esbuild-linux-ppc64le@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7" @@ -4926,6 +4991,11 @@ esbuild-linux-ppc64le@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== +esbuild-linux-ppc64le@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz#a315b5016917429080c3d32e03319f1ff876ac55" + integrity sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w== + esbuild-linux-riscv64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693" @@ -4936,6 +5006,11 @@ esbuild-linux-riscv64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== +esbuild-linux-riscv64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz#9f2e0a935e5086d398fc19c7ff5d217bfefe3e12" + integrity sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q== + esbuild-linux-s390x@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f" @@ -4946,6 +5021,11 @@ esbuild-linux-s390x@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== +esbuild-linux-s390x@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz#53108112faff5a4e1bad17f7b0b0ffa1df4b7efb" + integrity sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw== + esbuild-netbsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42" @@ -4956,6 +5036,11 @@ esbuild-netbsd-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== +esbuild-netbsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz#5330efc41fe4f1c2bab5462bcfe7a4ffce7ba00a" + integrity sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ== + esbuild-openbsd-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae" @@ -4966,6 +5051,11 @@ esbuild-openbsd-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== +esbuild-openbsd-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz#ee64944d863e937611fc31adf349e9bb4f5f7eac" + integrity sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA== + esbuild-sunos-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e" @@ -4976,11 +5066,21 @@ esbuild-sunos-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== +esbuild-sunos-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz#29b0b20de6fe6ef50f9fbe533ec20dc4b595f9aa" + integrity sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q== + esbuild-wasm@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz#c4d7f771679b2e14f7a456403751d908db1c07d1" integrity sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw== +esbuild-wasm@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.14.tgz#21dd6fdab705b0711baa4befb5c64fd5d0158d36" + integrity sha512-xGgXmOvECJ52gEGTLy0d6BrkYhI0kuBAHjVouqf/oH1TxwMuXw2oa8SyEr7R7Zyjq1m089y4lRLG4MXHvSoLNA== + esbuild-wasm@^0.15.9: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" @@ -4996,6 +5096,11 @@ esbuild-windows-32@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== +esbuild-windows-32@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz#05e9b159d664809f7a4a8a68ed048d193457b27d" + integrity sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg== + esbuild-windows-64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6" @@ -5006,6 +5111,11 @@ esbuild-windows-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== +esbuild-windows-64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz#d5ae086728ab30b72969e40ed0a7a0d9082f2cdd" + integrity sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog== + esbuild-windows-arm64@0.15.12: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328" @@ -5016,6 +5126,11 @@ esbuild-windows-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== +esbuild-windows-arm64@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz#8eb50ab9a0ecaf058593fbad17502749306f801d" + integrity sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw== + esbuild@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.13.tgz#7293480038feb2bafa91d3f6a20edab3ba6c108a" @@ -5044,6 +5159,34 @@ esbuild@0.15.13: esbuild-windows-64 "0.15.13" esbuild-windows-arm64 "0.15.13" +esbuild@0.15.14: + version "0.15.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.14.tgz#09202b811f1710363d5088a3401a351351c79875" + integrity sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ== + optionalDependencies: + "@esbuild/android-arm" "0.15.14" + "@esbuild/linux-loong64" "0.15.14" + esbuild-android-64 "0.15.14" + esbuild-android-arm64 "0.15.14" + esbuild-darwin-64 "0.15.14" + esbuild-darwin-arm64 "0.15.14" + esbuild-freebsd-64 "0.15.14" + esbuild-freebsd-arm64 "0.15.14" + esbuild-linux-32 "0.15.14" + esbuild-linux-64 "0.15.14" + esbuild-linux-arm "0.15.14" + esbuild-linux-arm64 "0.15.14" + esbuild-linux-mips64le "0.15.14" + esbuild-linux-ppc64le "0.15.14" + esbuild-linux-riscv64 "0.15.14" + esbuild-linux-s390x "0.15.14" + esbuild-netbsd-64 "0.15.14" + esbuild-openbsd-64 "0.15.14" + esbuild-sunos-64 "0.15.14" + esbuild-windows-32 "0.15.14" + esbuild-windows-64 "0.15.14" + esbuild-windows-arm64 "0.15.14" + esbuild@^0.15.9: version "0.15.12" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" @@ -7664,6 +7807,13 @@ mini-css-extract-plugin@2.6.1: dependencies: schema-utils "^4.0.0" +mini-css-extract-plugin@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.0.tgz#d7d9ba0c5b596d155e36e2b174082fc7f010dd64" + integrity sha512-auqtVo8KhTScMsba7MbijqZTfibbXiBNlPAQbsVt7enQfcDYLdgG57eGxMqwVU3mfeWANY4F1wUg+rMF+ycZgw== + dependencies: + schema-utils "^4.0.0" + minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -7887,10 +8037,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0-rc.0: - version "15.0.0-rc.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0-rc.0.tgz#379c49828d19a5a652b1a111a58f5c093174164f" - integrity sha512-EfhfrH3qFteiBpV5GBFguhVlq8RAyuud0pTmMDv/T2ckHCIQJs97GQKGj+E2lwMOi8bQKhfvcgd10uSeHDGp4w== +ng-packagr@15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0.tgz#ab5b1e4c9d862ad41283d71006242154d86ac6c6" + integrity sha512-moEVwbkZm9XnnIt4k1tNDwORCEW0CtfC243Mv+1FUTTVmEjebSVNDLNyzKa0WjwpOrrUP/n/M7xNnxbWp6zI4w== dependencies: "@rollup/plugin-json" "^5.0.0" "@rollup/plugin-node-resolve" "^15.0.0" From 0795453e4bd9c3a5fe119a53ef10a986da551ce1 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 17 Nov 2022 11:57:53 -0800 Subject: [PATCH 1134/1388] docs: release notes for the v14.2.10 release --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b428c517c92..0063e3b5102d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -185,6 +185,30 @@ Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, D + + +# 14.2.10 (2022-11-17) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------------------------------- | +| [9ce386caf](https://github.com/angular/angular-cli/commit/9ce386caf6037f21f422a785fec977634406d208) | fix | exclude `@angular/localize@<10.0.0` from ng add pa… ([#24152](https://github.com/angular/angular-cli/pull/24152)) | +| [6446091a3](https://github.com/angular/angular-cli/commit/6446091a310f327ceeb68ae85f3673f6e3e83286) | fix | exclude `@angular/material@7.x` from ng add package discovery | +| [7541e04f3](https://github.com/angular/angular-cli/commit/7541e04f36ff32118e93588be38dcbb5cc2c92a9) | fix | respect registry in RC when running update through yarn | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------- | +| [21cea0b42](https://github.com/angular/angular-cli/commit/21cea0b42f08bf56990bdade82e2daa7c33011ed) | fix | update `loader-utils` to `3.2.1` | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 14.2.9 (2022-11-09) From 3f17fb806f11921580d39c5c1acf95f9c3257f1c Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 17 Nov 2022 14:46:35 -0800 Subject: [PATCH 1135/1388] docs: release notes for the v13.3.10 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0063e3b5102d..7a28eb914dfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -209,6 +209,22 @@ Alan Agius and Charles Lyding + + +# 13.3.10 (2022-11-17) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------- | +| [f298ebbd5](https://github.com/angular/angular-cli/commit/f298ebbd5f86077985d994662314379df92b6771) | fix | update `loader-utils` to `3.2.1` | + +## Special Thanks + +Alan Agius + + + # 14.2.9 (2022-11-09) From 99b258d929d0fdb1fa4963fe271498a6511474e7 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 16 Nov 2022 10:35:32 -0800 Subject: [PATCH 1136/1388] docs: updates release documentation to include `latest-versions/package.json` and clarify what can be done in the release PR --- docs/process/release.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/docs/process/release.md b/docs/process/release.md index c8825eb5fbac..bbef11e8c151 100644 --- a/docs/process/release.md +++ b/docs/process/release.md @@ -74,6 +74,7 @@ Releasing is performed using Angular's unified release tooling. Each week, two r After FW releases `-rc.0` for an upcoming minor/major version, update the corresponding version in: - [`latest-versions.ts`](/packages/schematics/angular/utility/latest-versions.ts#L=18) +- [`latest-versions/package.json`](/packages/schematics/angular/utility/latest-versions/package.json) - [`@angular-devkit/build-angular`](/packages/angular_devkit/build_angular/package.json) - [`@ngtools/webpack`](/packages/ngtools/webpack/package.json) @@ -86,18 +87,7 @@ which lands after FW releases (or else CI will fail) but _before_ the CLI releas built before the PR is sent for review, so any changes after that point won't be included in the release. -**For a major release:** - -**As part of the release PR**, make sure to: - -- modify - [`latest-versions.ts`](https://github.com/angular/angular-cli/blob/main/packages/schematics/angular/utility/latest-versions.ts#L18) - so the Angular semver is updated from `~13.0.0-rc` to just `~13.0.0`. - - This is the version generated in `ng new` schematics and needs to be updated to avoid having - users generate projects with `-rc` in the dependencies. -- update the - [`ng-packagr`](https://github.com/angular/angular-cli/blob/main/packages/schematics/angular/utility/latest-versions/package.json#L15) - dependency to a stable version (ex. from `^13.0.0-next.0` to `^13.0.0`). +**Following a major release:** When a release is transitioning from a prerelease to a stable release, the semver ranges for Angular dependencies within the packages' `package.json` files will need to be updated to remove the From 6ecfcf486e07bd15a8f6c053dff08ffbfe0a0247 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 17 Nov 2022 06:05:51 +0000 Subject: [PATCH 1137/1388] build: update github/codeql-action action to v2.1.33 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index babfcc602cf0..1ab9094a4e70 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@4238421316c33d73aeea2801274dd286f157c2bb # tag=v2.1.32 + uses: github/codeql-action/upload-sarif@678fc3afe258fb2e0cdc165ccf77b85719de7b3c # tag=v2.1.33 with: sarif_file: results.sarif From bc8578cb13393a9488644e284d6bdbc9b01ea335 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 16 Nov 2022 13:14:31 -0500 Subject: [PATCH 1138/1388] refactor(@angular-devkit/build-angular): preprocess Sass resolve cache entries in esbuild Sass plugin When performing Sass import resolution within the experimental esbuild-based browser application builder, the directory cache entries will now be preprocessed during the first directory search operation. This will allow a more streamlined search operation on later resolution attempts for the same directory. The caching is still limited to sharing per render request but this change provides for cache entries that can more easily be serialized and shared between workers in the future. --- .../src/sass/rebasing-importer.ts | 103 ++++++++++++------ .../build_angular/src/sass/worker.ts | 4 +- 2 files changed, 70 insertions(+), 37 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts index 976b59f5c782..eb4476a9b825 100644 --- a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts +++ b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts @@ -8,7 +8,7 @@ import { RawSourceMap } from '@ampproject/remapping'; import MagicString from 'magic-string'; -import { Dirent, readFileSync, readdirSync } from 'node:fs'; +import { readFileSync, readdirSync } from 'node:fs'; import { basename, dirname, extname, join, relative } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import type { FileImporter, Importer, ImporterResult, Syntax } from 'sass'; @@ -19,6 +19,15 @@ import type { FileImporter, Importer, ImporterResult, Syntax } from 'sass'; */ const URL_REGEXP = /url(?:\(\s*(['"]?))(.*?)(?:\1\s*\))/g; +/** + * A preprocessed cache entry for the files and directories within a previously searched + * directory when performing Sass import resolution. + */ +export interface DirectoryEntry { + files: Set; + directories: Set; +} + /** * A Sass Importer base class that provides the load logic to rebase all `url()` functions * within a stylesheet. The rebasing will ensure that the URLs in the output of the Sass compiler @@ -115,7 +124,7 @@ abstract class UrlRebasingImporter implements Importer<'sync'> { export class RelativeUrlRebasingImporter extends UrlRebasingImporter { constructor( entryDirectory: string, - private directoryCache = new Map(), + private directoryCache = new Map(), rebaseSourceMaps?: Map, ) { super(entryDirectory, rebaseSourceMaps); @@ -149,17 +158,6 @@ export class RelativeUrlRebasingImporter extends UrlRebasingImporter { // Remove the style extension if present to allow adding the `.import` suffix const filename = basename(stylesheetPath, hasStyleExtension ? extension : undefined); - let entries; - try { - entries = this.directoryCache.get(directory); - if (!entries) { - entries = readdirSync(directory, { withFileTypes: true }); - this.directoryCache.set(directory, entries); - } - } catch { - return null; - } - const importPotentials = new Set(); const defaultPotentials = new Set(); @@ -187,47 +185,82 @@ export class RelativeUrlRebasingImporter extends UrlRebasingImporter { defaultPotentials.add('_' + filename + '.css'); } - const foundDefaults: string[] = []; - const foundImports: string[] = []; + let foundDefaults; + let foundImports; let hasPotentialIndex = false; - for (const entry of entries) { - // Record if the name should be checked as a directory with an index file - if (checkDirectory && !hasStyleExtension && entry.name === filename && entry.isDirectory()) { - hasPotentialIndex = true; - } - if (!entry.isFile()) { - continue; + let cachedEntries = this.directoryCache.get(directory); + if (cachedEntries) { + // If there is a preprocessed cache of the directory, perform an intersection of the potentials + // and the directory files. + const { files, directories } = cachedEntries; + foundDefaults = [...defaultPotentials].filter((potential) => files.has(potential)); + foundImports = [...importPotentials].filter((potential) => files.has(potential)); + hasPotentialIndex = checkDirectory && !hasStyleExtension && directories.has(filename); + } else { + // If no preprocessed cache exists, get the entries from the file system and, while searching, + // generate the cache for later requests. + let entries; + try { + entries = readdirSync(directory, { withFileTypes: true }); + } catch { + return null; } - if (importPotentials.has(entry.name)) { - foundImports.push(join(directory, entry.name)); - } + foundDefaults = []; + foundImports = []; + cachedEntries = { files: new Set(), directories: new Set() }; + for (const entry of entries) { + const isDirectory = entry.isDirectory(); + if (isDirectory) { + cachedEntries.directories.add(entry.name); + } + + // Record if the name should be checked as a directory with an index file + if (checkDirectory && !hasStyleExtension && entry.name === filename && isDirectory) { + hasPotentialIndex = true; + } + + if (!entry.isFile()) { + continue; + } - if (defaultPotentials.has(entry.name)) { - foundDefaults.push(join(directory, entry.name)); + cachedEntries.files.add(entry.name); + + if (importPotentials.has(entry.name)) { + foundImports.push(entry.name); + } + + if (defaultPotentials.has(entry.name)) { + foundDefaults.push(entry.name); + } } + + this.directoryCache.set(directory, cachedEntries); } // `foundImports` will only contain elements if `options.fromImport` is true const result = this.checkFound(foundImports) ?? this.checkFound(foundDefaults); + if (result !== null) { + return pathToFileURL(join(directory, result)); + } - if (result === null && hasPotentialIndex) { + if (hasPotentialIndex) { // Check for index files using filename as a directory return this.resolveImport(url + '/index', fromImport, false); } - return result; + return null; } /** * Checks an array of potential stylesheet files to determine if there is a valid * stylesheet file. More than one discovered file may indicate an error. * @param found An array of discovered stylesheet files. - * @returns A fully resolved URL for a stylesheet file or `null` if not found. + * @returns A fully resolved path for a stylesheet file or `null` if not found. * @throws If there are ambiguous files discovered. */ - private checkFound(found: string[]): URL | null { + private checkFound(found: string[]): string | null { if (found.length === 0) { // Not found return null; @@ -245,10 +278,10 @@ export class RelativeUrlRebasingImporter extends UrlRebasingImporter { // Return the non-CSS file (sass/scss files have priority) // https://github.com/sass/dart-sass/blob/44d6bb6ac72fe6b93f5bfec371a1fffb18e6b76d/lib/src/importer/utils.dart#L44-L47 - return pathToFileURL(foundWithoutCss[0]); + return foundWithoutCss[0]; } - return pathToFileURL(found[0]); + return found[0]; } } @@ -260,7 +293,7 @@ export class RelativeUrlRebasingImporter extends UrlRebasingImporter { export class ModuleUrlRebasingImporter extends RelativeUrlRebasingImporter { constructor( entryDirectory: string, - directoryCache: Map, + directoryCache: Map, rebaseSourceMaps: Map | undefined, private finder: FileImporter<'sync'>['findFileUrl'], ) { @@ -286,7 +319,7 @@ export class ModuleUrlRebasingImporter extends RelativeUrlRebasingImporter { export class LoadPathsUrlRebasingImporter extends RelativeUrlRebasingImporter { constructor( entryDirectory: string, - directoryCache: Map, + directoryCache: Map, rebaseSourceMaps: Map | undefined, private loadPaths: Iterable, ) { diff --git a/packages/angular_devkit/build_angular/src/sass/worker.ts b/packages/angular_devkit/build_angular/src/sass/worker.ts index 160ccf3f89b0..a942e374a4ae 100644 --- a/packages/angular_devkit/build_angular/src/sass/worker.ts +++ b/packages/angular_devkit/build_angular/src/sass/worker.ts @@ -7,7 +7,6 @@ */ import mergeSourceMaps, { RawSourceMap } from '@ampproject/remapping'; -import { Dirent } from 'node:fs'; import { dirname } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import { MessagePort, parentPort, receiveMessageOnPort, workerData } from 'node:worker_threads'; @@ -19,6 +18,7 @@ import { compileString, } from 'sass'; import { + DirectoryEntry, LoadPathsUrlRebasingImporter, ModuleUrlRebasingImporter, RelativeUrlRebasingImporter, @@ -82,7 +82,7 @@ parentPort.on('message', (message: RenderRequestMessage) => { }[] | undefined; try { - const directoryCache = new Map(); + const directoryCache = new Map(); const rebaseSourceMaps = options.sourceMap ? new Map() : undefined; if (hasImporter) { // When a custom importer function is present, the importer request must be proxied From 5a123a61eab913b8856341d30196de5c0210d4cd Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 17 Nov 2022 13:43:01 +0000 Subject: [PATCH 1139/1388] fix(@schematics/angular): show warning when a TS Config is not found during migrations Prior to this change an error was shown when a non existing tsconfig was referenced in the angular.json. This causes the update to fail. Closes #24264 --- .../update-15/update-typescript-target.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/migrations/update-15/update-typescript-target.ts b/packages/schematics/angular/migrations/update-15/update-typescript-target.ts index 008bf26e893d..faef903ca83c 100644 --- a/packages/schematics/angular/migrations/update-15/update-typescript-target.ts +++ b/packages/schematics/angular/migrations/update-15/update-typescript-target.ts @@ -13,7 +13,7 @@ import { getWorkspace } from '../../utility/workspace'; import { Builders } from '../../utility/workspace-models'; export default function (): Rule { - return async (host) => { + return async (host, context) => { // Workspace level tsconfig updateTarget(host, 'tsconfig.json'); @@ -21,15 +21,25 @@ export default function (): Rule { // Find all tsconfig which are refereces used by builders for (const [, project] of workspace.projects) { - for (const [, target] of project.targets) { + for (const [targetName, target] of project.targets) { // Update all other known CLI builders that use a tsconfig const tsConfigs = [target.options || {}, ...Object.values(target.configurations || {})] .filter((opt) => typeof opt?.tsConfig === 'string') .map((opt) => (opt as { tsConfig: string }).tsConfig); - const uniqueTsConfigs = [...new Set(tsConfigs)]; + const uniqueTsConfigs = new Set(tsConfigs); + for (const tsConfig of uniqueTsConfigs) { + if (host.exists(tsConfig)) { + continue; + } - if (uniqueTsConfigs.length < 1) { + uniqueTsConfigs.delete(tsConfig); + context.logger.warn( + `'${tsConfig}' referenced in the '${targetName}' target does not exist.`, + ); + } + + if (!uniqueTsConfigs.size) { continue; } From 4a7ea230b92732ba105317cfdfb08e0f3cf1cd81 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 17 Nov 2022 12:38:05 -0800 Subject: [PATCH 1140/1388] ci: fix update test to work when `@angular/cli` and `@angular/core` majors diverge During releases, there is a brief time where `@angular/core` has released the next version, but `@angular/cli` has not. This test currently fails in such a situation because `@angular/cli` wasn't new enough to trigger the multiple versions upgrade. This fix upgrades `@angular/core` instead, so it will always be consistent. (cherry picked from commit 8f1613d3587087ec6b0b191420f469b14ac7050d) --- .../e2e/tests/update/update-multiple-versions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts index 3f359f90bc6b..3f11413fd39c 100644 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -15,7 +15,7 @@ export default async function () { extraArgs.push('--next'); } - // Update Angular from v12 to 13 + // Update Angular from v13 to 14 const { stdout } = await ng('update', ...extraArgs); if (!/@angular\/core\s+13\.\d\.\d+ -> 14\.\d\.\d+\s+ng update @angular\/core@14/.test(stdout)) { // @angular/core 13.x.x -> 14.x.x ng update @angular/core@14 @@ -25,14 +25,14 @@ export default async function () { ); } - const { message } = await expectToFail(() => ng('update', '@angular/cli', ...extraArgs)); + const { message } = await expectToFail(() => ng('update', '@angular/core', ...extraArgs)); if ( !message.includes( - `Updating multiple major versions of '@angular/cli' at once is not supported`, + `Updating multiple major versions of '@angular/core' at once is not supported`, ) ) { throw new Error( - `Expected error message to include "Updating multiple major versions of '@angular/cli' at once is not supported" but didn't. OUTPUT: \n` + + `Expected error message to include "Updating multiple major versions of '@angular/core' at once is not supported" but didn't. OUTPUT: \n` + message, ); } From 50113b81973a67db400bf4448292bf4d5688fd40 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Fri, 18 Nov 2022 17:09:48 +0000 Subject: [PATCH 1141/1388] build: enable the assistant-to-the-branch-manager github action --- .../assistant-to-the-branch-manager.yml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/assistant-to-the-branch-manager.yml diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml new file mode 100644 index 000000000000..592e79f60eac --- /dev/null +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -0,0 +1,21 @@ +name: DevInfra + +on: + push: + pull_request_target: + types: [opened, synchronize, reopened, ready_for_review, labeled] + +# Declare default permissions as read only. +permissions: + contents: read + +jobs: + assistant_to_the_branch_manager: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + with: + persist-credentials: false + - uses: angular/dev-infra/github-actions/branch-manager@0c06b3d1a58ab12f4f9933efc78e33083d008d17 + with: + angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From 78ce78cc7e30225a0b3cf9b00259f4251060c310 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 18 Nov 2022 13:22:10 +0000 Subject: [PATCH 1142/1388] build: remove `regenerator-runtime` from dependencies This dependency is no longer needed since we no longer generate es5 output. --- package.json | 1 - packages/angular_devkit/build_angular/BUILD.bazel | 1 - packages/angular_devkit/build_angular/package.json | 1 - 3 files changed, 3 deletions(-) diff --git a/package.json b/package.json index c0a9bc86ebf9..534f11a29b63 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,6 @@ "protractor": "~7.0.0", "puppeteer": "18.2.1", "quicktype-core": "6.0.69", - "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.56.1", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 07781e79d52f..0565125a6ad4 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -162,7 +162,6 @@ ts_library( "@npm//piscina", "@npm//postcss", "@npm//postcss-loader", - "@npm//regenerator-runtime", "@npm//resolve-url-loader", "@npm//rxjs", "@npm//sass", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index abb805838024..18712318ef72 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -49,7 +49,6 @@ "piscina": "3.2.0", "postcss": "8.4.19", "postcss-loader": "7.0.1", - "regenerator-runtime": "0.13.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.56.1", From c29df695467c41feccd3846a55c91c6784af87b2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Nov 2022 13:04:04 +0000 Subject: [PATCH 1143/1388] feat(@angular-devkit/build-angular): add `assets` option to server builder This commits adds the `assets` option to the server builder. This can be useful to copy server specific assets such as config files. Closes #24203 --- .../angular_devkit/build_angular/index.md | 1 + .../src/builders/browser/index.ts | 14 - .../browser/tests/options/assets_spec.ts | 24 +- .../src/builders/server/index.ts | 104 +++-- .../src/builders/server/schema.json | 46 +++ .../server/tests/options/assets_spec.ts | 382 ++++++++++++++++++ .../options/resources-output-path_spec.ts | 8 +- .../src/builders/server/tests/setup.ts | 3 + .../src/utils/normalize-asset-patterns.ts | 12 +- 9 files changed, 528 insertions(+), 66 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/server/tests/options/assets_spec.ts diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index a5e253c337a2..2a53da0543bd 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -246,6 +246,7 @@ export interface ProtractorBuilderOptions { // @public (undocumented) export interface ServerBuilderOptions { + assets?: AssetPattern_3[]; deleteOutputPath?: boolean; // @deprecated deployUrl?: string; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/index.ts b/packages/angular_devkit/build_angular/src/builders/browser/index.ts index 30bf61c8896c..c7361ffdb311 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/index.ts @@ -111,20 +111,6 @@ async function initialize( getStylesConfig(wco), ]); - // Validate asset option values if processed directly - if (options.assets?.length && !adjustedOptions.assets?.length) { - normalizeAssetPatterns( - options.assets, - context.workspaceRoot, - projectRoot, - projectSourceRoot, - ).forEach(({ output }) => { - if (output.startsWith('..')) { - throw new Error('An asset cannot be written to a location outside of the output path.'); - } - }); - } - let transformedConfig; if (webpackConfigurationTransform) { transformedConfig = await webpackConfigurationTransform(config); diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts index 0029b6b1e8ca..16394d1f7004 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts @@ -107,7 +107,7 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { harness.expectFile('dist/test.svg').toNotExist(); }); - it('throws exception if asset path is not within project source root', async () => { + it('fail if asset path is not within project source root', async () => { await harness.writeFile('test.svg', ''); harness.useTarget('build', { @@ -115,14 +115,9 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { assets: ['test.svg'], }); - const { result, error } = await harness.executeOnce({ outputLogsOnException: false }); + const { result } = await harness.executeOnce(); - expect(result).toBeUndefined(); - expect(error).toEqual( - jasmine.objectContaining({ - message: jasmine.stringMatching('path must start with the project source root'), - }), - ); + expect(result?.error).toMatch('path must start with the project source root'); harness.expectFile('dist/test.svg').toNotExist(); }); @@ -364,7 +359,7 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); }); - it('throws exception if output option is not within project output path', async () => { + it('fails if output option is not within project output path', async () => { await harness.writeFile('test.svg', ''); harness.useTarget('build', { @@ -372,15 +367,10 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { assets: [{ glob: 'test.svg', input: 'src', output: '..' }], }); - const { result, error } = await harness.executeOnce({ outputLogsOnException: false }); + const { result } = await harness.executeOnce(); - expect(result).toBeUndefined(); - expect(error).toEqual( - jasmine.objectContaining({ - message: jasmine.stringMatching( - 'An asset cannot be written to a location outside of the output path', - ), - }), + expect(result?.error).toMatch( + 'An asset cannot be written to a location outside of the output path', ); harness.expectFile('dist/test.svg').toNotExist(); diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index dd38c82af7d2..011a42088805 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -10,14 +10,22 @@ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/ar import { runWebpack } from '@angular-devkit/build-webpack'; import * as path from 'path'; import { Observable, from } from 'rxjs'; -import { concatMap, map } from 'rxjs/operators'; +import { concatMap } from 'rxjs/operators'; import webpack, { Configuration } from 'webpack'; import { ExecutionTransformer } from '../../transforms'; -import { NormalizedBrowserBuilderSchema, deleteOutputDir } from '../../utils'; +import { + NormalizedBrowserBuilderSchema, + deleteOutputDir, + normalizeAssetPatterns, +} from '../../utils'; +import { colors } from '../../utils/color'; +import { copyAssets } from '../../utils/copy-assets'; +import { assertIsError } from '../../utils/error'; import { i18nInlineEmittedFiles } from '../../utils/i18n-inlining'; import { I18nOptions } from '../../utils/i18n-options'; import { ensureOutputPaths } from '../../utils/output-paths'; import { purgeStaleBuildCache } from '../../utils/purge-cache'; +import { Spinner } from '../../utils/spinner'; import { assertCompatibleAngularVersion } from '../../utils/version'; import { BrowserWebpackConfigOptions, @@ -69,7 +77,7 @@ export function execute( let outputPaths: undefined | Map; return from(initialize(options, context, transforms.webpackConfiguration)).pipe( - concatMap(({ config, i18n }) => { + concatMap(({ config, i18n, projectRoot, projectSourceRoot }) => { return runWebpack(config, context, { webpackFactory: require('webpack') as typeof webpack, logging: (stats, config) => { @@ -84,11 +92,43 @@ export function execute( throw new Error('Webpack stats build result is required.'); } - let success = output.success; - if (success && i18n.shouldInline) { - outputPaths = ensureOutputPaths(baseOutputPath, i18n); + if (!output.success) { + return output; + } - success = await i18nInlineEmittedFiles( + const spinner = new Spinner(); + spinner.enabled = options.progress !== false; + outputPaths = ensureOutputPaths(baseOutputPath, i18n); + + // Copy assets + if (!options.watch && options.assets?.length) { + spinner.start('Copying assets...'); + try { + await copyAssets( + normalizeAssetPatterns( + options.assets, + context.workspaceRoot, + projectRoot, + projectSourceRoot, + ), + Array.from(outputPaths.values()), + context.workspaceRoot, + ); + spinner.succeed('Copying assets complete.'); + } catch (err) { + spinner.fail(colors.redBright('Copying of assets failed.')); + assertIsError(err); + + return { + ...output, + success: false, + error: 'Unable to copy assets: ' + err.message, + }; + } + } + + if (i18n.shouldInline) { + const success = await i18nInlineEmittedFiles( context, emittedFiles, i18n, @@ -98,15 +138,21 @@ export function execute( outputPath, options.i18nMissingTranslation, ); + if (!success) { + return { + ...output, + success: false, + }; + } } webpackStatsLogger(context.logger, webpackStats, config); - return { ...output, success }; + return output; }), ); }), - map((output) => { + concatMap(async (output) => { if (!output.success) { return output as ServerBuilderOutput; } @@ -137,28 +183,34 @@ async function initialize( ): Promise<{ config: webpack.Configuration; i18n: I18nOptions; + projectRoot: string; + projectSourceRoot?: string; }> { // Purge old build disk cache. await purgeStaleBuildCache(context); const browserslist = (await import('browserslist')).default; const originalOutputPath = options.outputPath; - const { config, i18n } = await generateI18nBrowserWebpackConfigFromContext( - { - ...options, - buildOptimizer: false, - aot: true, - platform: 'server', - } as NormalizedBrowserBuilderSchema, - context, - (wco) => { - // We use the platform to determine the JavaScript syntax output. - wco.buildOptions.supportedBrowsers ??= []; - wco.buildOptions.supportedBrowsers.push(...browserslist('maintained node versions')); - - return [getPlatformServerExportsConfig(wco), getCommonConfig(wco), getStylesConfig(wco)]; - }, - ); + // Assets are processed directly by the builder except when watching + const adjustedOptions = options.watch ? options : { ...options, assets: [] }; + + const { config, projectRoot, projectSourceRoot, i18n } = + await generateI18nBrowserWebpackConfigFromContext( + { + ...adjustedOptions, + buildOptimizer: false, + aot: true, + platform: 'server', + } as NormalizedBrowserBuilderSchema, + context, + (wco) => { + // We use the platform to determine the JavaScript syntax output. + wco.buildOptions.supportedBrowsers ??= []; + wco.buildOptions.supportedBrowsers.push(...browserslist('maintained node versions')); + + return [getPlatformServerExportsConfig(wco), getCommonConfig(wco), getStylesConfig(wco)]; + }, + ); if (options.deleteOutputPath) { deleteOutputDir(context.workspaceRoot, originalOutputPath); @@ -166,7 +218,7 @@ async function initialize( const transformedConfig = (await webpackConfigurationTransform?.(config)) ?? config; - return { config: transformedConfig, i18n }; + return { config: transformedConfig, i18n, projectRoot, projectSourceRoot }; } /** diff --git a/packages/angular_devkit/build_angular/src/builders/server/schema.json b/packages/angular_devkit/build_angular/src/builders/server/schema.json index 73d6088c1f38..8506cff635b3 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/server/schema.json @@ -4,6 +4,14 @@ "title": "Universal Target", "type": "object", "properties": { + "assets": { + "type": "array", + "description": "List of static application assets.", + "default": [], + "items": { + "$ref": "#/definitions/assetPattern" + } + }, "main": { "type": "string", "description": "The name of the main entry-point file." @@ -212,6 +220,44 @@ "additionalProperties": false, "required": ["outputPath", "main", "tsConfig"], "definitions": { + "assetPattern": { + "oneOf": [ + { + "type": "object", + "properties": { + "followSymlinks": { + "type": "boolean", + "default": false, + "description": "Allow glob patterns to follow symlink directories. This allows subdirectories of the symlink to be searched." + }, + "glob": { + "type": "string", + "description": "The pattern to match." + }, + "input": { + "type": "string", + "description": "The input directory path in which to apply 'glob'. Defaults to the project root." + }, + "ignore": { + "description": "An array of globs to ignore.", + "type": "array", + "items": { + "type": "string" + } + }, + "output": { + "type": "string", + "description": "Absolute path within the output." + } + }, + "additionalProperties": false, + "required": ["glob", "input", "output"] + }, + { + "type": "string" + } + ] + }, "fileReplacement": { "oneOf": [ { diff --git a/packages/angular_devkit/build_angular/src/builders/server/tests/options/assets_spec.ts b/packages/angular_devkit/build_angular/src/builders/server/tests/options/assets_spec.ts new file mode 100644 index 000000000000..1a79f6b79d6a --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/server/tests/options/assets_spec.ts @@ -0,0 +1,382 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { execute } from '../../index'; +import { BASE_OPTIONS, SERVER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(execute, SERVER_BUILDER_INFO, (harness) => { + describe('Option: "assets"', () => { + beforeEach(async () => { + // Application code is not needed for asset tests + await harness.writeFile('src/main.server.ts', ''); + }); + + it('supports an empty array value', async () => { + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + }); + + it('supports mixing shorthand and longhand syntax', async () => { + await harness.writeFile('src/files/test.svg', ''); + await harness.writeFile('src/files/another.file', 'asset file'); + await harness.writeFile('src/extra.file', 'extra file'); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: ['src/extra.file', { glob: '*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/extra.file').content.toBe('extra file'); + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + describe('shorthand syntax', () => { + it('copies a single asset', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: ['src/test.svg'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('copies multiple assets', async () => { + await harness.writeFile('src/test.svg', ''); + await harness.writeFile('src/another.file', 'asset file'); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: ['src/test.svg', 'src/another.file'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies an asset with directory and maintains directory in output', async () => { + await harness.writeFile('src/subdirectory/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: ['src/subdirectory/test.svg'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); + }); + + it('does not fail if asset does not exist', async () => { + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: ['src/test.svg'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + + it('fails if output option is not within project output path', async () => { + await harness.writeFile('test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '..' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.error).toMatch( + 'An asset cannot be written to a location outside of the output path', + ); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + }); + + describe('longhand syntax', () => { + it('copies a single asset', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('copies multiple assets as separate entries', async () => { + await harness.writeFile('src/test.svg', ''); + await harness.writeFile('src/another.file', 'asset file'); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [ + { glob: 'test.svg', input: 'src', output: '.' }, + { glob: 'another.file', input: 'src', output: '.' }, + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies multiple assets with a single entry glob pattern', async () => { + await harness.writeFile('src/test.svg', ''); + await harness.writeFile('src/another.file', 'asset file'); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: '{test.svg,another.file}', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies multiple assets with a wildcard glob pattern', async () => { + await harness.writeFile('src/files/test.svg', ''); + await harness.writeFile('src/files/another.file', 'asset file'); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: '*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies multiple assets with a recursive wildcard glob pattern', async () => { + await harness.writeFiles({ + 'src/files/test.svg': '', + 'src/files/another.file': 'asset file', + 'src/files/nested/extra.file': 'extra file', + }); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: '**/*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + harness.expectFile('dist/nested/extra.file').content.toBe('extra file'); + }); + + it('automatically ignores "." prefixed files when using wildcard glob pattern', async () => { + await harness.writeFile('src/files/.gitkeep', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: '*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/.gitkeep').toNotExist(); + }); + + it('supports ignoring a specific file when using a glob pattern', async () => { + await harness.writeFiles({ + 'src/files/test.svg': '', + 'src/files/another.file': 'asset file', + 'src/files/nested/extra.file': 'extra file', + }); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: '**/*', input: 'src/files', output: '.', ignore: ['another.file'] }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').toNotExist(); + harness.expectFile('dist/nested/extra.file').content.toBe('extra file'); + }); + + it('supports ignoring with a glob pattern when using a glob pattern', async () => { + await harness.writeFiles({ + 'src/files/test.svg': '', + 'src/files/another.file': 'asset file', + 'src/files/nested/extra.file': 'extra file', + }); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: '**/*', input: 'src/files', output: '.', ignore: ['**/*.file'] }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').toNotExist(); + harness.expectFile('dist/nested/extra.file').toNotExist(); + }); + + it('copies an asset with directory and maintains directory in output', async () => { + await harness.writeFile('src/subdirectory/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'subdirectory/test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); + }); + + it('does not fail if asset does not exist', async () => { + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + + it('uses project output path when output option is empty string', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('uses project output path when output option is "."', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('uses project output path when output option is "/"', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '/' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('creates a project output sub-path when output option path does not exist', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: 'subdirectory' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBeTrue(); + + harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); + }); + + it('fails if output option is not within project output path', async () => { + await harness.writeFile('test.svg', ''); + + harness.useTarget('server', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '..' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.error).toMatch( + 'An asset cannot be written to a location outside of the output path', + ); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/server/tests/options/resources-output-path_spec.ts b/packages/angular_devkit/build_angular/src/builders/server/tests/options/resources-output-path_spec.ts index 581207ce4468..42568d4bfb2e 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/tests/options/resources-output-path_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/tests/options/resources-output-path_spec.ts @@ -35,10 +35,10 @@ describeBuilder(execute, SERVER_BUILDER_INFO, (harness) => { harness .expectFile('dist/main.js') - .content.toContain(`url(/assets/component-img-absolute.png)`); + .content.toContain(`url('/assets/component-img-absolute.png')`); harness .expectFile('dist/main.js') - .content.toContain(`url(out-assets/component-img-relative.png)`); + .content.toContain(`url('out-assets/component-img-relative.png')`); // Assets are not emitted during a server builds. harness.expectFile('dist/out-assets/component-img-relative.png').toNotExist(); @@ -54,8 +54,8 @@ describeBuilder(execute, SERVER_BUILDER_INFO, (harness) => { harness .expectFile('dist/main.js') - .content.toContain(`url(/assets/component-img-absolute.png)`); - harness.expectFile('dist/main.js').content.toContain(`url(component-img-relative.png)`); + .content.toContain(`url('/assets/component-img-absolute.png')`); + harness.expectFile('dist/main.js').content.toContain(`url('component-img-relative.png')`); // Assets are not emitted during a server builds. harness.expectFile('dist/component-img-relative.png').toNotExist(); diff --git a/packages/angular_devkit/build_angular/src/builders/server/tests/setup.ts b/packages/angular_devkit/build_angular/src/builders/server/tests/setup.ts index e2fa33445afc..21670dc0616d 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/tests/setup.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/tests/setup.ts @@ -25,4 +25,7 @@ export const BASE_OPTIONS = Object.freeze({ progress: false, watch: false, outputPath: 'dist', + + // Disable optimizations + optimization: false, }); diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts index 02a6529d112c..58c0cf5f09a2 100644 --- a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts +++ b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts @@ -66,11 +66,13 @@ export function normalizeAssetPatterns( // Output directory for both is the relative path from source root to input. const output = path.relative(resolvedSourceRoot, path.resolve(workspaceRoot, input)); - // Return the asset pattern in object format. - return { glob, input, output }; - } else { - // It's already an AssetPatternObject, no need to convert. - return assetPattern; + assetPattern = { glob, input, output }; } + + if (assetPattern.output.startsWith('..')) { + throw new Error('An asset cannot be written to a location outside of the output path.'); + } + + return assetPattern; }); } From 012746e759356ada338db281f00526d14afdbb6c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 15 Nov 2022 16:30:55 +0000 Subject: [PATCH 1144/1388] test: remove `target` in `tsconfig.server.json` This is no longer needed as the CLI uses es2022 internally. --- .../build_angular/test/hello-world-app/src/tsconfig.server.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json index 314d4221c240..3b71d541f537 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json +++ b/packages/angular_devkit/build_angular/test/hello-world-app/src/tsconfig.server.json @@ -2,7 +2,6 @@ "extends": "./tsconfig.app.json", "compilerOptions": { "outDir": "../dist-server", - "target": "es2016", "baseUrl": "./", "types": ["@angular/localize"] }, From 5ba64014718be0193933f3850af327b6252e62ad Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Fri, 18 Nov 2022 17:06:26 +0000 Subject: [PATCH 1145/1388] build: enable the ng-dev auth service --- .ng-dev/github.mts | 1 + 1 file changed, 1 insertion(+) diff --git a/.ng-dev/github.mts b/.ng-dev/github.mts index b7d89780ba4b..408c672bb8a4 100644 --- a/.ng-dev/github.mts +++ b/.ng-dev/github.mts @@ -8,4 +8,5 @@ export const github: GithubConfig = { owner: 'angular', name: 'angular-cli', mainBranchName: 'main', + useNgDevAuthService: true, }; From 0c01532cb5a3072b96cd65845a38b88ed4543de6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 17 Nov 2022 11:58:43 -0500 Subject: [PATCH 1146/1388] perf(@angular-devkit/build-angular): use worker pool for JavaScript transforms in esbuild builder When using the experimental esbuild-based browser application builder, the JavaScript transformation steps of the build process will now be performed within a worker pool to allow for the steps to be executed in parallel when possible. This also moves the steps off of the main thread which provides more time for the build orchestration and esbuild integration code to execute. --- .../browser-esbuild/compiler-plugin.ts | 91 +++-------------- .../javascript-transformer-worker.ts | 97 +++++++++++++++++++ .../browser-esbuild/javascript-transformer.ts | 91 +++++++++++++++++ 3 files changed, 200 insertions(+), 79 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 1f67ff1523f3..ff2b07d95615 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -7,7 +7,6 @@ */ import type { NgtscProgram } from '@angular/compiler-cli'; -import { transformAsync } from '@babel/core'; import type { OnStartResult, OutputFile, @@ -17,15 +16,14 @@ import type { PluginBuild, } from 'esbuild'; import * as assert from 'node:assert'; -import * as fs from 'node:fs/promises'; import { platform } from 'node:os'; import * as path from 'node:path'; import { pathToFileURL } from 'node:url'; import ts from 'typescript'; -import angularApplicationPreset from '../../babel/presets/application'; -import { requiresLinking } from '../../babel/webpack-loader'; +import { maxWorkers } from '../../utils/environment-options'; import { loadEsmModule } from '../../utils/load-esm'; import { createAngularCompilerHost, ensureSourceFileVersions } from './angular-host'; +import { JavaScriptTransformer } from './javascript-transformer'; import { logCumulativeDurations, profileAsync, @@ -175,6 +173,9 @@ export function createCompilerPlugin( async setup(build: PluginBuild): Promise { let setupWarnings: PartialMessage[] | undefined; + // Initialize a worker pool for JavaScript transformations + const javascriptTransformer = new JavaScriptTransformer(pluginOptions, maxWorkers); + // This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM. // Once TypeScript provides support for retaining dynamic imports this workaround can be dropped. const { GLOBAL_DEFS_FOR_TERSER_WITH_AOT, NgtscProgram, OptimizeFor, readConfiguration } = @@ -252,7 +253,6 @@ export function createCompilerPlugin( let previousBuilder: ts.EmitAndSemanticDiagnosticsBuilderProgram | undefined; let previousAngularProgram: NgtscProgram | undefined; - const babelDataCache = new Map(); const diagnosticCache = new WeakMap(); build.onStart(async () => { @@ -428,7 +428,7 @@ export function createCompilerPlugin( if (contents === undefined) { const typescriptResult = await fileEmitter(request); - if (!typescriptResult) { + if (!typescriptResult?.content) { // No TS result indicates the file is not part of the TypeScript program. // If allowJs is enabled and the file is JS then defer to the next load hook. if (compilerOptions.allowJs && /\.[cm]?js$/.test(request)) { @@ -447,17 +447,11 @@ export function createCompilerPlugin( }; } - const data = typescriptResult.content ?? ''; - // The pre-transformed data is used as a cache key. Since the cache is memory only, - // the options cannot change and do not need to be represented in the key. If the - // cache is later stored to disk, then the options that affect transform output - // would need to be added to the key as well. - contents = babelDataCache.get(data); - if (contents === undefined) { - const transformedData = await transformWithBabel(request, data, pluginOptions); - contents = Buffer.from(transformedData, 'utf-8'); - babelDataCache.set(data, contents); - } + contents = await javascriptTransformer.transformData( + request, + typescriptResult.content, + true /* skipLinker */, + ); pluginOptions.sourceFileCache?.typeScriptFileCache.set( pathToFileURL(request).href, @@ -484,9 +478,7 @@ export function createCompilerPlugin( // would need to be added to the key as well as a check for any change of content. let contents = pluginOptions.sourceFileCache?.babelFileCache.get(args.path); if (contents === undefined) { - const data = await fs.readFile(args.path, 'utf-8'); - const transformedData = await transformWithBabel(args.path, data, pluginOptions); - contents = Buffer.from(transformedData, 'utf-8'); + contents = await javascriptTransformer.transformFile(args.path); pluginOptions.sourceFileCache?.babelFileCache.set(args.path, contents); } @@ -540,65 +532,6 @@ function createFileEmitter( }; } -async function transformWithBabel( - filename: string, - data: string, - pluginOptions: CompilerPluginOptions, -): Promise { - const forceAsyncTransformation = - !/[\\/][_f]?esm2015[\\/]/.test(filename) && /async\s+function\s*\*/.test(data); - const shouldLink = await requiresLinking(filename, data); - const useInputSourcemap = - pluginOptions.sourcemap && - (!!pluginOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename)); - - // If no additional transformations are needed, return the data directly - if (!forceAsyncTransformation && !pluginOptions.advancedOptimizations && !shouldLink) { - // Strip sourcemaps if they should not be used - return useInputSourcemap ? data : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''); - } - - const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(filename); - - const linkerPluginCreator = shouldLink - ? ( - await loadEsmModule( - '@angular/compiler-cli/linker/babel', - ) - ).createEs2015LinkerPlugin - : undefined; - - const result = await transformAsync(data, { - filename, - inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, - sourceMaps: pluginOptions.sourcemap ? 'inline' : false, - compact: false, - configFile: false, - babelrc: false, - browserslistConfigFile: false, - plugins: [], - presets: [ - [ - angularApplicationPreset, - { - angularLinker: { - shouldLink, - jitMode: false, - linkerPluginCreator, - }, - forceAsyncTransformation, - optimize: pluginOptions.advancedOptimizations && { - looseEnums: angularPackage, - pureTopLevel: angularPackage, - }, - }, - ], - ], - }); - - return result?.code ?? data; -} - function findAffectedFiles( builder: ts.EmitAndSemanticDiagnosticsBuilderProgram, { ignoreForDiagnostics, ignoreForEmit, incrementalCompilation }: NgtscProgram['compiler'], diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts new file mode 100644 index 000000000000..65e8efb2a5d0 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts @@ -0,0 +1,97 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { transformAsync } from '@babel/core'; +import { readFile } from 'node:fs/promises'; +import angularApplicationPreset from '../../babel/presets/application'; +import { requiresLinking } from '../../babel/webpack-loader'; +import { loadEsmModule } from '../../utils/load-esm'; + +interface JavaScriptTransformRequest { + filename: string; + data: string; + sourcemap: boolean; + thirdPartySourcemaps: boolean; + advancedOptimizations: boolean; + forceAsyncTransformation?: boolean; + skipLinker: boolean; +} + +export default async function transformJavaScript( + request: JavaScriptTransformRequest, +): Promise { + request.data ??= await readFile(request.filename, 'utf-8'); + const transformedData = await transformWithBabel(request); + + return Buffer.from(transformedData, 'utf-8'); +} + +let linkerPluginCreator: + | typeof import('@angular/compiler-cli/linker/babel').createEs2015LinkerPlugin + | undefined; + +async function transformWithBabel({ + filename, + data, + ...options +}: JavaScriptTransformRequest): Promise { + const forceAsyncTransformation = + options.forceAsyncTransformation ?? + (!/[\\/][_f]?esm2015[\\/]/.test(filename) && /async\s+function\s*\*/.test(data)); + const shouldLink = !options.skipLinker && (await requiresLinking(filename, data)); + const useInputSourcemap = + options.sourcemap && + (!!options.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename)); + + // If no additional transformations are needed, return the data directly + if (!forceAsyncTransformation && !options.advancedOptimizations && !shouldLink) { + // Strip sourcemaps if they should not be used + return useInputSourcemap ? data : data.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, ''); + } + + const angularPackage = /[\\/]node_modules[\\/]@angular[\\/]/.test(filename); + + // Lazy load the linker plugin only when linking is required + if (shouldLink) { + linkerPluginCreator ??= ( + await loadEsmModule( + '@angular/compiler-cli/linker/babel', + ) + ).createEs2015LinkerPlugin; + } + + const result = await transformAsync(data, { + filename, + inputSourceMap: (useInputSourcemap ? undefined : false) as undefined, + sourceMaps: options.sourcemap ? 'inline' : false, + compact: false, + configFile: false, + babelrc: false, + browserslistConfigFile: false, + plugins: [], + presets: [ + [ + angularApplicationPreset, + { + angularLinker: linkerPluginCreator && { + shouldLink, + jitMode: false, + linkerPluginCreator, + }, + forceAsyncTransformation, + optimize: options.advancedOptimizations && { + looseEnums: angularPackage, + pureTopLevel: angularPackage, + }, + }, + ], + ], + }); + + return result?.code ?? data; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts new file mode 100644 index 000000000000..382bcc0fc436 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts @@ -0,0 +1,91 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import Piscina from 'piscina'; + +/** + * Transformation options that should apply to all transformed files and data. + */ +export interface JavaScriptTransformerOptions { + sourcemap: boolean; + thirdPartySourcemaps?: boolean; + advancedOptimizations?: boolean; +} + +/** + * A class that performs transformation of JavaScript files and raw data. + * A worker pool is used to distribute the transformation actions and allow + * parallel processing. Transformation behavior is based on the filename and + * data. Transformations may include: async downleveling, Angular linking, + * and advanced optimizations. + */ +export class JavaScriptTransformer { + #workerPool: Piscina; + + constructor(private options: JavaScriptTransformerOptions, maxThreads?: number) { + this.#workerPool = new Piscina({ + filename: require.resolve('./javascript-transformer-worker'), + maxThreads, + }); + } + + /** + * Performs JavaScript transformations on a file from the filesystem. + * If no transformations are required, the data for the original file will be returned. + * @param filename The full path to the file. + * @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result. + */ + transformFile(filename: string): Promise { + // Always send the request to a worker. Files are almost always from node modules which measn + // they may need linking. The data is also not yet available to perform most transformation checks. + return this.#workerPool.run({ + filename, + ...this.options, + }); + } + + /** + * Performs JavaScript transformations on the provided data of a file. The file does not need + * to exist on the filesystem. + * @param filename The full path of the file represented by the data. + * @param data The data of the file that should be transformed. + * @param skipLinker If true, bypass all Angular linker processing; if false, attempt linking. + * @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result. + */ + async transformData(filename: string, data: string, skipLinker: boolean): Promise { + // Perform a quick test to determine if the data needs any transformations. + // This allows directly returning the data without the worker communication overhead. + let forceAsyncTransformation; + if (skipLinker && !this.options.advancedOptimizations) { + // If the linker is being skipped and no optimizations are needed, only async transformation is left. + // This checks for async generator functions. All other async transformation is handled by esbuild. + forceAsyncTransformation = data.includes('async') && /async\s+function\s*\*/.test(data); + + if (!forceAsyncTransformation) { + return Buffer.from(data, 'utf-8'); + } + } + + return this.#workerPool.run({ + filename, + data, + // Send the async check result if present to avoid rechecking in the worker + forceAsyncTransformation, + skipLinker, + ...this.options, + }); + } + + /** + * Stops all active transformation tasks and shuts down all workers. + * @returns A void promise that resolves when closing is complete. + */ + close(): Promise { + return this.#workerPool.destroy(); + } +} From 67752a4104ccaf35e6baef24b2b22441b22cbe2a Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 17 Nov 2022 18:54:45 -0500 Subject: [PATCH 1147/1388] fix(@angular-devkit/build-angular): improve package deep import Sass index resolution in esbuild plugin When resolving Sass imports in the experimental esbuild-based browser application builder's Sass plugin, previously imported modules are used as the base for resolution attempts to workaround the lack of the importer file provided by Sass. When attempting to resolve a deep import into a package (including the potential Sass index files), these previously imported modules also need to be checked. This is particularly relevant when using the Yarn PnP or pnpm package managers which enforce strict dependency resolution. Fixes #24271 --- .../builders/browser-esbuild/sass-plugin.ts | 82 ++++++++++--------- 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 0d3fd62e4ec0..1ef2613e1302 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -31,6 +31,30 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri return { name: 'angular-sass', setup(build: PluginBuild): void { + const resolveUrl = async (url: string, previousResolvedModules?: Set) => { + let result = await build.resolve(url, { + kind: 'import-rule', + // This should ideally be the directory of the importer file from Sass + // but that is not currently available from the Sass importer API. + resolveDir: build.initialOptions.absWorkingDir, + }); + + // Workaround to support Yarn PnP without access to the importer file from Sass + if (!result.path && previousResolvedModules?.size) { + for (const previous of previousResolvedModules) { + result = await build.resolve(url, { + kind: 'import-rule', + resolveDir: previous, + }); + if (result.path) { + break; + } + } + } + + return result; + }; + build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { // Lazily load Sass when a Sass file is found sassWorkerPool ??= new SassWorkerImplementation(true); @@ -51,48 +75,30 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri url, { previousResolvedModules }: FileImporterWithRequestContextOptions, ): Promise => { - let result = await build.resolve(url, { - kind: 'import-rule', - // This should ideally be the directory of the importer file from Sass - // but that is not currently available from the Sass importer API. - resolveDir: build.initialOptions.absWorkingDir, - }); - - // Workaround to support Yarn PnP without access to the importer file from Sass - if (!result.path && previousResolvedModules?.size) { - for (const previous of previousResolvedModules) { - result = await build.resolve(url, { - kind: 'import-rule', - resolveDir: previous, - }); - } - } + const result = await resolveUrl(url, previousResolvedModules); // Check for package deep imports if (!result.path) { const parts = url.split('/'); - const hasScope = parts.length > 2 && parts[0].startsWith('@'); - if (hasScope || parts.length > 1) { - const [nameOrScope, nameOrFirstPath, ...pathPart] = parts; - const packageName = hasScope - ? `${nameOrScope}/${nameOrFirstPath}` - : nameOrScope; - const packageResult = await build.resolve(packageName + '/package.json', { - kind: 'import-rule', - // This should ideally be the directory of the importer file from Sass - // but that is not currently available from the Sass importer API. - resolveDir: build.initialOptions.absWorkingDir, - }); - - if (packageResult.path) { - return pathToFileURL( - join( - dirname(packageResult.path), - !hasScope ? nameOrFirstPath : '', - ...pathPart, - ), - ); - } + const hasScope = parts.length >= 2 && parts[0].startsWith('@'); + const [nameOrScope, nameOrFirstPath, ...pathPart] = parts; + const packageName = hasScope + ? `${nameOrScope}/${nameOrFirstPath}` + : nameOrScope; + + const packageResult = await resolveUrl( + packageName + '/package.json', + previousResolvedModules, + ); + + if (packageResult.path) { + return pathToFileURL( + join( + dirname(packageResult.path), + !hasScope ? nameOrFirstPath : '', + ...pathPart, + ), + ); } } From 4e3c62b6d0ff3ac687f5e665f0a4ddfb89014f86 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 21 Nov 2022 05:05:23 +0000 Subject: [PATCH 1148/1388] build: update all non-major dependencies --- .../assistant-to-the-branch-manager.yml | 2 +- WORKSPACE | 6 +- package.json | 8 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 534 +++++------------- 5 files changed, 150 insertions(+), 404 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 592e79f60eac..07ae142b06a7 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -13,7 +13,7 @@ jobs: assistant_to_the_branch_manager: runs-on: ubuntu-latest steps: - - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - uses: angular/dev-infra/github-actions/branch-manager@0c06b3d1a58ab12f4f9933efc78e33083d008d17 diff --git a/WORKSPACE b/WORKSPACE index 3a6c4aba9175..af01de409336 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "3534a27621725fbbf1d3e53daa0c1dda055a2732d9031b8c579f917d7347b6c4", - strip_prefix = "bazel-lib-1.16.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.16.1.tar.gz", + sha256 = "695d319362b227725e4daa60d863b4d1969b167889902511f1fd3051cea1071f", + strip_prefix = "bazel-lib-1.16.3", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.16.3.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 534f11a29b63..0c976ca8b83f 100644 --- a/package.json +++ b/package.json @@ -140,9 +140,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.2", "debug": "^4.1.1", - "esbuild": "0.15.14", - "esbuild-wasm": "0.15.14", - "eslint": "8.27.0", + "esbuild": "0.15.15", + "esbuild-wasm": "0.15.15", + "eslint": "8.28.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -209,7 +209,7 @@ "ts-node": "^10.0.0", "tslib": "2.4.1", "typescript": "4.8.4", - "verdaccio": "5.16.3", + "verdaccio": "5.17.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", "webpack-dev-middleware": "5.3.3", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 18712318ef72..4cabc7a48642 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.2", - "esbuild-wasm": "0.15.14", + "esbuild-wasm": "0.15.15", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.14" + "esbuild": "0.15.15" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index 66b8502be3a2..1f0a087397dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1448,10 +1448,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== -"@esbuild/android-arm@0.15.14": - version "0.15.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.14.tgz#5d0027f920eeeac313c01fd6ecb8af50c306a466" - integrity sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA== +"@esbuild/android-arm@0.15.15": + version "0.15.15" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.15.tgz#35b3cc0f9e69cb53932d44f60b99dd440335d2f0" + integrity sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw== "@esbuild/linux-loong64@0.15.12": version "0.15.12" @@ -1463,10 +1463,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== -"@esbuild/linux-loong64@0.15.14": - version "0.15.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.14.tgz#1221684955c44385f8af34f7240088b7dc08d19d" - integrity sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg== +"@esbuild/linux-loong64@0.15.15": + version "0.15.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1" + integrity sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA== "@eslint/eslintrc@^1.3.3": version "1.3.3" @@ -2042,11 +2042,6 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -2717,24 +2712,15 @@ lowdb "1.0.0" mkdirp "1.0.4" -"@verdaccio/readme@10.4.2": - version "10.4.2" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.2.tgz#144c6a9a569684220f8d37ce05ee0efd6fd86214" - integrity sha512-b5ABzEBee+up0apyExg9y/aGLoMbkSwnMOY2JWIsNnJf7EiXs1phJIzEEFaQGoor/yZQuPD0HqKUl40175srDQ== - dependencies: - dompurify "2.4.0" - jsdom "16.7.0" - marked "4.2.2" - "@verdaccio/streams@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.50": - version "6.0.0-6-next.50" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.50.tgz#95bce41e1a04a8db283712e0d41d59c1f846a1e6" - integrity sha512-hHku5x9weS0neJ5Qb+akibPoSCmlZqRtbmLqdGPdZANmcF1r6WLPu8zxPOwV5+FLofCN81JcIq8aAmvsrdWULg== +"@verdaccio/ui-theme@6.0.0-6-next.51": + version "6.0.0-6-next.51" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.51.tgz#fef3bd64fac09cd1126846040c1fef1834d99669" + integrity sha512-koDx4VeTXdAz51XAjrNc3cQO/LeyNl3aQHmYGviozMVPly/nXj2XXqVdPfPZZDMtbmtMRJ+ychCkhqrJPN3Vng== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -2885,7 +2871,7 @@ JSONStream@1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.3, abab@^2.0.5, abab@^2.0.6: +abab@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== @@ -2903,14 +2889,6 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - acorn-import-assertions@^1.7.6: version "1.8.0" resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" @@ -2921,11 +2899,6 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" @@ -2936,7 +2909,7 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: version "8.8.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== @@ -3464,11 +3437,6 @@ browser-or-node@^1.2.1: resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-1.3.0.tgz#f2a4e8568f60263050a6714b2cc236bb976647a7" integrity sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg== -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - browser-sync-client@^2.27.10: version "2.27.10" resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.10.tgz#f06233ea66bd873b96664f001cbc49035022634d" @@ -4231,23 +4199,6 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - cuint@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" @@ -4273,15 +4224,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - date-format@^4.0.14: version "4.0.14" resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" @@ -4330,11 +4272,6 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decimal.js@^10.2.1: - version "10.4.2" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.2.tgz#0341651d1d997d86065a2ce3a441fbd0d8e8b98e" - integrity sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA== - decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -4525,13 +4462,6 @@ domelementtype@^2.0.1, domelementtype@^2.2.0: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" @@ -4544,11 +4474,6 @@ domino@^2.1.2: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.0.tgz#c9c88390f024c2823332615c9e20a453cf3825dd" - integrity sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA== - domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -4826,10 +4751,10 @@ esbuild-android-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== -esbuild-android-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.14.tgz#114e55b0d58fb7b45d7fa3d93516bd13fc8869cc" - integrity sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg== +esbuild-android-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.15.tgz#fd959b034dd761d14e13dda6214b6948841ff4ff" + integrity sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q== esbuild-android-arm64@0.15.12: version "0.15.12" @@ -4841,10 +4766,10 @@ esbuild-android-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== -esbuild-android-arm64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.14.tgz#8541f38a9aacf88e574fb13f5ad4ca51a04c12bb" - integrity sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg== +esbuild-android-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz#9733b71cf0229b4356f106a455b2cfdf7884aa59" + integrity sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ== esbuild-darwin-64@0.15.12: version "0.15.12" @@ -4856,10 +4781,10 @@ esbuild-darwin-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== -esbuild-darwin-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.14.tgz#b40b334db81ff1e3677a6712b23761748a157c57" - integrity sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg== +esbuild-darwin-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz#fc3482fdf5e798dbc0b8b2fe13287d257a45efc6" + integrity sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ== esbuild-darwin-arm64@0.15.12: version "0.15.12" @@ -4871,10 +4796,10 @@ esbuild-darwin-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== -esbuild-darwin-arm64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.14.tgz#44b5c1477bb7bdb852dd905e906f68765e2828bc" - integrity sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A== +esbuild-darwin-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz#e922ec387c00fa84d664e14b5722fe13613f4adc" + integrity sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag== esbuild-freebsd-64@0.15.12: version "0.15.12" @@ -4886,10 +4811,10 @@ esbuild-freebsd-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== -esbuild-freebsd-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.14.tgz#8c57315d238690f34b6ed0c94e5cfc04c858247a" - integrity sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA== +esbuild-freebsd-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz#69a42d79137d7d3ea718414c432bc10e8bb97c68" + integrity sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA== esbuild-freebsd-arm64@0.15.12: version "0.15.12" @@ -4901,10 +4826,10 @@ esbuild-freebsd-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== -esbuild-freebsd-arm64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.14.tgz#2e92acca09258daa849e635565f52469266f0b7b" - integrity sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg== +esbuild-freebsd-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz#63b6d0dd492f7394f8d07a0e2b931151eb9d60c4" + integrity sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g== esbuild-linux-32@0.15.12: version "0.15.12" @@ -4916,10 +4841,10 @@ esbuild-linux-32@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== -esbuild-linux-32@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.14.tgz#ca5ed3e9dff82df486ddde362d7e00775a597dfd" - integrity sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA== +esbuild-linux-32@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz#7f295795fd7e61ea57d1135f717424a6771a7472" + integrity sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q== esbuild-linux-64@0.15.12: version "0.15.12" @@ -4931,10 +4856,10 @@ esbuild-linux-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== -esbuild-linux-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.14.tgz#42952e1d08a299d5f573c567639fb37b033befbf" - integrity sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw== +esbuild-linux-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz#11a430a86403b0411ca0a355b891f1cb8c4c4ec6" + integrity sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg== esbuild-linux-arm64@0.15.12: version "0.15.12" @@ -4946,10 +4871,10 @@ esbuild-linux-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== -esbuild-linux-arm64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.14.tgz#0c0d788099703327ec0ae70758cb2639ef6c5d88" - integrity sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg== +esbuild-linux-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz#b65f9a2c60e8e5b62f6cfd392cd0410f22e8c390" + integrity sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g== esbuild-linux-arm@0.15.12: version "0.15.12" @@ -4961,10 +4886,10 @@ esbuild-linux-arm@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== -esbuild-linux-arm@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.14.tgz#751a5ca5042cd60f669b07c3bcec3dd6c4f8151c" - integrity sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q== +esbuild-linux-arm@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz#c8e13e45a0a6f0cb145ce13ae26ce1d2551d9bcc" + integrity sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w== esbuild-linux-mips64le@0.15.12: version "0.15.12" @@ -4976,10 +4901,10 @@ esbuild-linux-mips64le@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== -esbuild-linux-mips64le@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.14.tgz#da8ac35f2704de0b52bf53a99c12f604fbe9b916" - integrity sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA== +esbuild-linux-mips64le@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz#d4c24d47e43966fcac748c90621be7edd53456c0" + integrity sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A== esbuild-linux-ppc64le@0.15.12: version "0.15.12" @@ -4991,10 +4916,10 @@ esbuild-linux-ppc64le@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== -esbuild-linux-ppc64le@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.14.tgz#a315b5016917429080c3d32e03319f1ff876ac55" - integrity sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w== +esbuild-linux-ppc64le@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz#2eba53fe2282438ceca5471bdb57ba2e00216ed6" + integrity sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA== esbuild-linux-riscv64@0.15.12: version "0.15.12" @@ -5006,10 +4931,10 @@ esbuild-linux-riscv64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== -esbuild-linux-riscv64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.14.tgz#9f2e0a935e5086d398fc19c7ff5d217bfefe3e12" - integrity sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q== +esbuild-linux-riscv64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz#1afa8dfe55a6c312f1904ee608b81417205f5027" + integrity sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw== esbuild-linux-s390x@0.15.12: version "0.15.12" @@ -5021,10 +4946,10 @@ esbuild-linux-s390x@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== -esbuild-linux-s390x@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.14.tgz#53108112faff5a4e1bad17f7b0b0ffa1df4b7efb" - integrity sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw== +esbuild-linux-s390x@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz#1f7b3c4429c8ca99920ba6bf356ccc5b38fabd34" + integrity sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ== esbuild-netbsd-64@0.15.12: version "0.15.12" @@ -5036,10 +4961,10 @@ esbuild-netbsd-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== -esbuild-netbsd-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.14.tgz#5330efc41fe4f1c2bab5462bcfe7a4ffce7ba00a" - integrity sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ== +esbuild-netbsd-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz#d72c7155686c938c1aff126209b689c22823347c" + integrity sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw== esbuild-openbsd-64@0.15.12: version "0.15.12" @@ -5051,10 +4976,10 @@ esbuild-openbsd-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== -esbuild-openbsd-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.14.tgz#ee64944d863e937611fc31adf349e9bb4f5f7eac" - integrity sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA== +esbuild-openbsd-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz#761bd87ecab97386948eaf667a065cb0ecaa0f76" + integrity sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ== esbuild-sunos-64@0.15.12: version "0.15.12" @@ -5066,20 +4991,20 @@ esbuild-sunos-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== -esbuild-sunos-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.14.tgz#29b0b20de6fe6ef50f9fbe533ec20dc4b595f9aa" - integrity sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q== +esbuild-sunos-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c" + integrity sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA== esbuild-wasm@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz#c4d7f771679b2e14f7a456403751d908db1c07d1" integrity sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw== -esbuild-wasm@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.14.tgz#21dd6fdab705b0711baa4befb5c64fd5d0158d36" - integrity sha512-xGgXmOvECJ52gEGTLy0d6BrkYhI0kuBAHjVouqf/oH1TxwMuXw2oa8SyEr7R7Zyjq1m089y4lRLG4MXHvSoLNA== +esbuild-wasm@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.15.tgz#410abc538e8091c6dbb0e373b54738f4505351aa" + integrity sha512-B8OfZ0cm/zvbznYXbHnLRRp31hBObFiDAKnbTeUMHOZkyAbEClHETxSgZ/0fjm4XdkZGcBI/ZTpCa5JSTZVA7A== esbuild-wasm@^0.15.9: version "0.15.12" @@ -5096,10 +5021,10 @@ esbuild-windows-32@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== -esbuild-windows-32@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.14.tgz#05e9b159d664809f7a4a8a68ed048d193457b27d" - integrity sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg== +esbuild-windows-32@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz#130d1982cc41fb67461e9f8a65c6ebd13a1f35bb" + integrity sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA== esbuild-windows-64@0.15.12: version "0.15.12" @@ -5111,10 +5036,10 @@ esbuild-windows-64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== -esbuild-windows-64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.14.tgz#d5ae086728ab30b72969e40ed0a7a0d9082f2cdd" - integrity sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog== +esbuild-windows-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz#638bdf495c109c1882e8b0529cb8e2fea11383fb" + integrity sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA== esbuild-windows-arm64@0.15.12: version "0.15.12" @@ -5126,10 +5051,10 @@ esbuild-windows-arm64@0.15.13: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== -esbuild-windows-arm64@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.14.tgz#8eb50ab9a0ecaf058593fbad17502749306f801d" - integrity sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw== +esbuild-windows-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31" + integrity sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ== esbuild@0.15.13: version "0.15.13" @@ -5159,33 +5084,33 @@ esbuild@0.15.13: esbuild-windows-64 "0.15.13" esbuild-windows-arm64 "0.15.13" -esbuild@0.15.14: - version "0.15.14" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.14.tgz#09202b811f1710363d5088a3401a351351c79875" - integrity sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ== +esbuild@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.15.tgz#503b70bdc18d72d8fc2962ed3ab9219249e58bbe" + integrity sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w== optionalDependencies: - "@esbuild/android-arm" "0.15.14" - "@esbuild/linux-loong64" "0.15.14" - esbuild-android-64 "0.15.14" - esbuild-android-arm64 "0.15.14" - esbuild-darwin-64 "0.15.14" - esbuild-darwin-arm64 "0.15.14" - esbuild-freebsd-64 "0.15.14" - esbuild-freebsd-arm64 "0.15.14" - esbuild-linux-32 "0.15.14" - esbuild-linux-64 "0.15.14" - esbuild-linux-arm "0.15.14" - esbuild-linux-arm64 "0.15.14" - esbuild-linux-mips64le "0.15.14" - esbuild-linux-ppc64le "0.15.14" - esbuild-linux-riscv64 "0.15.14" - esbuild-linux-s390x "0.15.14" - esbuild-netbsd-64 "0.15.14" - esbuild-openbsd-64 "0.15.14" - esbuild-sunos-64 "0.15.14" - esbuild-windows-32 "0.15.14" - esbuild-windows-64 "0.15.14" - esbuild-windows-arm64 "0.15.14" + "@esbuild/android-arm" "0.15.15" + "@esbuild/linux-loong64" "0.15.15" + esbuild-android-64 "0.15.15" + esbuild-android-arm64 "0.15.15" + esbuild-darwin-64 "0.15.15" + esbuild-darwin-arm64 "0.15.15" + esbuild-freebsd-64 "0.15.15" + esbuild-freebsd-arm64 "0.15.15" + esbuild-linux-32 "0.15.15" + esbuild-linux-64 "0.15.15" + esbuild-linux-arm "0.15.15" + esbuild-linux-arm64 "0.15.15" + esbuild-linux-mips64le "0.15.15" + esbuild-linux-ppc64le "0.15.15" + esbuild-linux-riscv64 "0.15.15" + esbuild-linux-s390x "0.15.15" + esbuild-netbsd-64 "0.15.15" + esbuild-openbsd-64 "0.15.15" + esbuild-sunos-64 "0.15.15" + esbuild-windows-32 "0.15.15" + esbuild-windows-64 "0.15.15" + esbuild-windows-arm64 "0.15.15" esbuild@^0.15.9: version "0.15.12" @@ -5247,18 +5172,6 @@ escodegen@^1.11.1: optionalDependencies: source-map "~0.6.1" -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - escodegen@~1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" @@ -5348,10 +5261,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.27.0: - version "8.27.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.27.0.tgz#d547e2f7239994ad1faa4bb5d84e5d809db7cf64" - integrity sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ== +eslint@8.28.0: + version "8.28.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.28.0.tgz#81a680732634677cc890134bcdd9fdfea8e63d6e" + integrity sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ== dependencies: "@eslint/eslintrc" "^1.3.3" "@humanwhocodes/config-array" "^0.11.6" @@ -6195,13 +6108,6 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - html-entities@^2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" @@ -6248,15 +6154,6 @@ http-parser-js@>=0.5.1: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - http-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" @@ -6684,11 +6581,6 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - is-promise@^2.1.0, is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -6963,39 +6855,6 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== -jsdom@16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -7543,7 +7402,7 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: +lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8439,11 +8298,6 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -8782,16 +8636,16 @@ parse5@*: dependencies: entities "^4.4.0" -parse5@6.0.1, parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - parse5@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -9185,7 +9039,7 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -psl@^1.1.24, psl@^1.1.28, psl@^1.1.33: +psl@^1.1.24, psl@^1.1.28: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== @@ -9271,11 +9125,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -9849,13 +9698,6 @@ sax@>=0.6.0, sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" @@ -10548,11 +10390,6 @@ symbol-observable@4.0.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" @@ -10708,16 +10545,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -10734,13 +10561,6 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -10998,11 +10818,6 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - unix-crypt-td-js@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd" @@ -11033,14 +10848,6 @@ urijs@^1.19.1: resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -11145,16 +10952,15 @@ verdaccio-htpasswd@10.5.1: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.16.3: - version "5.16.3" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.16.3.tgz#441aeffb55453905f6acfcb03ce7aa228aab77fa" - integrity sha512-2MWGcInH4wR1zSWQpsr51sAZjOzAMvtbi5IrqD4+1VCU2VB1VI5kAwte+ic8DA09thX1xaKGQgOsjMdT6p3jNQ== +verdaccio@5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.17.0.tgz#cfac00afc7984181e297a8092fff8ef983bdc3c0" + integrity sha512-is5ivFhZ8RUmafkIXWvOh/lDzu9Ooa9njP/sgfOVBKDgajOYEzn58YO6aOgmhw6WrYhGsBs8ocaEht48yjcTwA== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" - "@verdaccio/readme" "10.4.2" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.50" + "@verdaccio/ui-theme" "6.0.0-6-next.51" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.1" @@ -11212,20 +11018,6 @@ void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - walk-up-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" @@ -11283,16 +11075,6 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: version "5.3.3" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" @@ -11433,23 +11215,11 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - whatwg-fetch@>=0.10.0: version "3.6.2" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -11458,15 +11228,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -11562,11 +11323,6 @@ ws@8.9.0, ws@>=8.7.0, ws@^8.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - ws@~8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" @@ -11577,11 +11333,6 @@ xhr2@^0.2.0: resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93" integrity sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw== -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - xml2js@^0.4.17: version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" @@ -11595,11 +11346,6 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - xmlhttprequest-ssl@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" From 70a7c96e120dc96221a147d743c259d18296d26e Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 20 Nov 2022 18:38:48 +0000 Subject: [PATCH 1149/1388] build: update dependency webpack-dev-middleware to v6 --- package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0c976ca8b83f..e59797050aae 100644 --- a/package.json +++ b/package.json @@ -212,7 +212,7 @@ "verdaccio": "5.17.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", - "webpack-dev-middleware": "5.3.3", + "webpack-dev-middleware": "6.0.0", "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4cabc7a48642..2df846c93b93 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -61,7 +61,7 @@ "tree-kill": "1.2.2", "tslib": "2.4.1", "webpack": "5.75.0", - "webpack-dev-middleware": "5.3.3", + "webpack-dev-middleware": "6.0.0", "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" diff --git a/yarn.lock b/yarn.lock index 1f0a087397dd..0b91afe46e14 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7561,6 +7561,13 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== +memfs@^3.4.12: + version "3.4.12" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.12.tgz#d00f8ad8dab132dc277c659dc85bfd14b07d03bd" + integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== + dependencies: + fs-monkey "^1.0.3" + memfs@^3.4.3: version "3.4.7" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" @@ -11086,6 +11093,17 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" +webpack-dev-middleware@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.0.0.tgz#e860862f04e364348a3483da7bb9f0b957147bbb" + integrity sha512-A7jSXBifCJsJqUCVISlcbx9pkmCuP0KriMRcOJ13pOb6/xMXZvh4/ygeJeSArjRd50IT5IVbBFuejGDA/zWrNQ== + dependencies: + colorette "^2.0.10" + memfs "^3.4.12" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + webpack-dev-server@4.11.1: version "4.11.1" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" From 2da123fad46a097d6c70f523be73f95085f7a86a Mon Sep 17 00:00:00 2001 From: Piotr Wysocki <86244209+piwysocki@users.noreply.github.com> Date: Sat, 19 Nov 2022 00:54:56 +0100 Subject: [PATCH 1150/1388] ci: update browser-tools --- .circleci/dynamic_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 46b8a56a22ba..5dbea5ebedca 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -10,7 +10,7 @@ version: 2.1 orbs: - browser-tools: circleci/browser-tools@1.1.3 + browser-tools: circleci/browser-tools@1.4.0 devinfra: angular/dev-infra@1.0.7 parameters: From 489d4df0ed17481492728624735a235f25a418db Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 21 Nov 2022 14:05:44 +0000 Subject: [PATCH 1151/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- .../hello-world-lib/projects/lib/package.json | 4 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 1023 ++++++++++++++--- 9 files changed, 896 insertions(+), 209 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 07ae142b06a7..07577bb49fb5 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@0c06b3d1a58ab12f4f9933efc78e33083d008d17 + - uses: angular/dev-infra/github-actions/branch-manager@eb2379bd20e0829520dfa52345223fa341e2f6b9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ec2c8cdea10e..36f8aed60f10 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@0c06b3d1a58ab12f4f9933efc78e33083d008d17 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@eb2379bd20e0829520dfa52345223fa341e2f6b9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@0c06b3d1a58ab12f4f9933efc78e33083d008d17 + - uses: angular/dev-infra/github-actions/post-approval-changes@eb2379bd20e0829520dfa52345223fa341e2f6b9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ad8e732afe6e..ae4dc944a1ca 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@0c06b3d1a58ab12f4f9933efc78e33083d008d17 + - uses: angular/dev-infra/github-actions/feature-request@eb2379bd20e0829520dfa52345223fa341e2f6b9 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 07a5dbac8c41..6d8f9dd227f4 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@0c06b3d1a58ab12f4f9933efc78e33083d008d17 + - uses: angular/dev-infra/github-actions/lock-closed@eb2379bd20e0829520dfa52345223fa341e2f6b9 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index e59797050aae..6e31ba0148f4 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0-rc.4", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c736a62ffb607b59e3e948efb921dbbdeb0b9fd", - "@angular/cdk": "14.2.7", - "@angular/common": "15.0.0-rc.4", - "@angular/compiler": "15.0.0-rc.4", - "@angular/compiler-cli": "15.0.0-rc.4", - "@angular/core": "15.0.0-rc.4", - "@angular/forms": "15.0.0-rc.4", - "@angular/localize": "15.0.0-rc.4", - "@angular/material": "14.2.7", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#eee012108f9b93e0952d657386adc2804b9211c7", - "@angular/platform-browser": "15.0.0-rc.4", - "@angular/platform-browser-dynamic": "15.0.0-rc.4", - "@angular/platform-server": "15.0.0-rc.4", - "@angular/router": "15.0.0-rc.4", - "@angular/service-worker": "15.0.0-rc.4", + "@angular/animations": "15.0.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#15abe38cda99cc03ac90cc2c6b034cbcbdb053e6", + "@angular/cdk": "15.0.0", + "@angular/common": "15.0.0", + "@angular/compiler": "15.0.0", + "@angular/compiler-cli": "15.0.0", + "@angular/core": "15.0.0", + "@angular/forms": "15.0.0", + "@angular/localize": "15.0.0", + "@angular/material": "15.0.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d33ce23aa126d20f2b90965fb452b2daa7b4d160", + "@angular/platform-browser": "15.0.0", + "@angular/platform-browser-dynamic": "15.0.0", + "@angular/platform-server": "15.0.0", + "@angular/router": "15.0.0", + "@angular/service-worker": "15.0.0", "@babel/core": "7.20.2", "@babel/generator": "7.20.4", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json index 290796b86da7..c66c01208de7 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/package.json @@ -2,7 +2,7 @@ "name": "lib", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^14.0.0", - "@angular/core": "^14.0.0" + "@angular/common": "^15.0.0", + "@angular/core": "^15.0.0" } } \ No newline at end of file diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 84bd8d1764a8..df2cfc7ce84e 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0-rc.4", - "@angular/compiler-cli": "15.0.0-rc.4", + "@angular/compiler": "15.0.0", + "@angular/compiler-cli": "15.0.0", "typescript": "4.8.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 955a1798572d..67046939ee15 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#9f9e6f2aea38abb7ea6bf0b7c28aa88191b94c4e", - "@angular/cdk": "github:angular/cdk-builds#3f5d149571ab8b4218ffd5c7fe7ad23c2e4168c6", - "@angular/common": "github:angular/common-builds#d88b9be9f6ec12bcaec6f45984c3dde74b66693f", - "@angular/compiler": "github:angular/compiler-builds#67a06d4816519d017e4bd040b554f62409821610", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a0ff16418781385465b3e356aa4b52409dd8e13d", - "@angular/core": "github:angular/core-builds#bf50219624c702ea4879941568d6916d314edb12", - "@angular/forms": "github:angular/forms-builds#5d0106307b2bc70c36a1a1e6226e1a4564155ed6", - "@angular/language-service": "github:angular/language-service-builds#adf7f2c45451d0c3586e793f17050cd0174919e7", - "@angular/localize": "github:angular/localize-builds#e67e39cfa57978b38b3ebb04fec3b11f483901c4", - "@angular/material": "github:angular/material-builds#448a6510def1862958e6f447e9ef07d472e2ed95", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#00bddab1694d337474118b1a805f0f2012d1a413", - "@angular/platform-browser": "github:angular/platform-browser-builds#59476fb04ceb9737a73be1695e492f981a3b7fa4", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#7a55d4db549d09a38bf148c3396ecde75e36edf1", - "@angular/platform-server": "github:angular/platform-server-builds#4c98ba40707096f2d4aa4c072577a2cf5207bb54", - "@angular/router": "github:angular/router-builds#c0a976400d9d5d569dc40688677c96965bae8d48", - "@angular/service-worker": "github:angular/service-worker-builds#48c8e2a4cc1d72c959b348d8443eeae54a40e147" + "@angular/animations": "github:angular/animations-builds#36a4ff31968a7aacd2cf2dbe83042bcdcc73a81b", + "@angular/cdk": "github:angular/cdk-builds#507f9eb96e9c3b41300b0f0d037591ebfd1a2d9c", + "@angular/common": "github:angular/common-builds#bd12824d26a713baf8562c437e3c86b171475e9c", + "@angular/compiler": "github:angular/compiler-builds#f418d12d8ceac365c1608c2141bcbef06b869f6c", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#0b6868b62923a0c915374e4501663497ecc04062", + "@angular/core": "github:angular/core-builds#23def6a8f592277aac22c48a205e4a0884dd42f2", + "@angular/forms": "github:angular/forms-builds#57ceb794f47524790b9b5176630b97c0453298f4", + "@angular/language-service": "github:angular/language-service-builds#4d252acc85b54cb61584e5ff45f659f5b58b756b", + "@angular/localize": "github:angular/localize-builds#f67d4051b4970ff225911bdf2ea31277631077e7", + "@angular/material": "github:angular/material-builds#8cb45d0df9fb133dfd0da8a890a817836016f3a7", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6a715efc94fadf53db7d4eea4158c5b2fbd9407c", + "@angular/platform-browser": "github:angular/platform-browser-builds#bbf88246f92a40d66c8a63b955840e7fec80e42f", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#b6124283688826b707cc17a8985426278c7b4569", + "@angular/platform-server": "github:angular/platform-server-builds#6c4ed639a0da46fc8c1b9a14d94c63b270f13812", + "@angular/router": "github:angular/router-builds#34e061c181b0de52f408efb7bc58bd3175dfe61a", + "@angular/service-worker": "github:angular/service-worker-builds#734d42f8ebb515f746c0cd7ad24d85aaa41d432a" } } diff --git a/yarn.lock b/yarn.lock index 0b91afe46e14..a83d2e18928e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,25 +10,25 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0-rc.3": - version "0.1500.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0-rc.3.tgz#fed8c285de2e10f588be855ec55e5b3f3fdbbfd4" - integrity sha512-XcScZsQF49/adaD4O48C3xpWFO4KxJ09s1eZNWhA3fGeXTknEBqWiBbqYtqoUjSK0t0qOUkjjGfodIyrrOrcUw== +"@angular-devkit/architect@0.1500.0": + version "0.1500.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0.tgz#50e0037268b5848bef3cb9d4766b0648dba67a87" + integrity sha512-jruRPfGQ2IU6TALyZcNTZG0MiOg5G/0axcqAmrb/1rJt5qb1vr74HQ8v0nBNQSVnk8swU+nXOdj3lX+xY7y4WA== dependencies: - "@angular-devkit/core" "15.0.0-rc.3" + "@angular-devkit/core" "15.0.0" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0-rc.3.tgz#0cadf4b9151ece22a96ac1538aad8bb009eb3709" - integrity sha512-6l3TDLZlfjISQBSsKMmK4XiTiMyzAl8g9R0/EzH56XecKNSfnB/oq3Bl4Pjak9wXp5xhxokil6YjRtcuGO9Q9Q== +"@angular-devkit/build-angular@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0.tgz#fa24acfa308eae74ff8fcd7a74663fe081e54b62" + integrity sha512-sF8c4oewwpKPlLkMMDBIM/qQ+LQHv308JvyWV2VKaph3IWI2TZQP4n5024/XaFvBEz0/2sHDWTMcGTKlZ7ZC0w== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0-rc.3" - "@angular-devkit/build-webpack" "0.1500.0-rc.3" - "@angular-devkit/core" "15.0.0-rc.3" + "@angular-devkit/architect" "0.1500.0" + "@angular-devkit/build-webpack" "0.1500.0" + "@angular-devkit/core" "15.0.0" "@babel/core" "7.20.2" - "@babel/generator" "7.20.3" + "@babel/generator" "7.20.4" "@babel/helper-annotate-as-pure" "7.18.6" "@babel/plugin-proposal-async-generator-functions" "7.20.1" "@babel/plugin-transform-async-to-generator" "7.18.6" @@ -37,12 +37,12 @@ "@babel/runtime" "7.20.1" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0-rc.3" + "@ngtools/webpack" "15.0.0" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.0" babel-plugin-istanbul "6.1.1" - browserslist "^4.9.1" + browserslist "4.21.4" cacache "17.0.2" chokidar "3.5.3" copy-webpack-plugin "11.0.0" @@ -57,20 +57,20 @@ less "4.1.3" less-loader "11.1.0" license-webpack-plugin "4.0.2" - loader-utils "3.2.0" + loader-utils "3.2.1" magic-string "0.26.7" mini-css-extract-plugin "2.6.1" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.18" + postcss "8.4.19" postcss-loader "7.0.1" regenerator-runtime "0.13.10" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.56.0" - sass-loader "13.1.0" + sass "1.56.1" + sass-loader "13.2.0" semver "7.3.8" source-map-loader "4.0.1" source-map-support "0.5.21" @@ -78,7 +78,7 @@ text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.1" - webpack "5.74.0" + webpack "5.75.0" webpack-dev-middleware "5.3.3" webpack-dev-server "4.11.1" webpack-merge "5.8.0" @@ -86,18 +86,18 @@ optionalDependencies: esbuild "0.15.13" -"@angular-devkit/build-webpack@0.1500.0-rc.3": - version "0.1500.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0-rc.3.tgz#fb200ea0a4a5e4ce0496b5c31265092c836bdde9" - integrity sha512-LaGMcjTc0Mby2FLItrT0jtayFKXLZXtXVWoJpa8DDcWFrhgx95IakenJKk7Eminfu55R+YsdLFC0MEJGlHh4Rg== +"@angular-devkit/build-webpack@0.1500.0": + version "0.1500.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0.tgz#e8361e510c4d0740e695e20722d837d965d65e67" + integrity sha512-PFLd4LrKcZosdMKZSIPsEb9AsFiTqYhspSMyKApt3mfuO0LkcW46n+KOixg+aWgiJQdlfeMSaW9IgdrgP0y8/Q== dependencies: - "@angular-devkit/architect" "0.1500.0-rc.3" + "@angular-devkit/architect" "0.1500.0" rxjs "6.6.7" -"@angular-devkit/core@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0-rc.3.tgz#030ba8052335713262849be5b70c1fe78ce0e67f" - integrity sha512-p0uoQMdJVmQKWnPg58dkRztcAMXOjJ2aOFChS5FZ3nYsni+U4dQGkjmxnNNAJU469WGUPI9or6SiomEvdD/fgQ== +"@angular-devkit/core@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0.tgz#6b6db4ca7998167f1fb58086e9b4349c7774ddc9" + integrity sha512-2Mg1+eyodO7od2Ax0EaArmm3rDzI2O00pBNU2Upz5hTfHcsqXlPzX5aYjWBiL1lBM0xYLY99dZqSdcQBMZy/Qg== dependencies: ajv "8.11.0" ajv-formats "2.1.1" @@ -105,10 +105,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0-rc.4.tgz#58a68c3c523d7501ba93f68ccc8f2283d004fe47" - integrity sha512-OeUKoZ6t/KSdQxvZGe4VXUwSAn8kf1GmrS14KMcVmcHnZdbe3KEIyxIXLRg09QiQmfxilcLuETnoD86Hac0xlw== +"@angular/animations@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0.tgz#6dfa27e8e5f056b38c6a3477242fbbc97e80c61e" + integrity sha512-AEtVjsmKb/kFLlnP3/+wuEgrL8bJD0L4gpetU6QCWR1G3im6yEbatbn2OkWenTS65F9maZNc9T5yK09ZRPwr9Q== dependencies: tslib "^2.3.0" @@ -120,12 +120,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c736a62ffb607b59e3e948efb921dbbdeb0b9fd": - version "0.0.0-0c06b3d1a58ab12f4f9933efc78e33083d008d17" - uid "9c736a62ffb607b59e3e948efb921dbbdeb0b9fd" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c736a62ffb607b59e3e948efb921dbbdeb0b9fd" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#15abe38cda99cc03ac90cc2c6b034cbcbdb053e6": + version "0.0.0-eb2379bd20e0829520dfa52345223fa341e2f6b9" + uid "15abe38cda99cc03ac90cc2c6b034cbcbdb053e6" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#15abe38cda99cc03ac90cc2c6b034cbcbdb053e6" dependencies: - "@angular-devkit/build-angular" "15.0.0-rc.3" + "@angular-devkit/build-angular" "15.0.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" @@ -159,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@14.2.7": - version "14.2.7" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-14.2.7.tgz#65eb6fbbeed6120fad4e3913aa66f8b74c853ac3" - integrity sha512-/tEsYaUbDSnfEmKVvAMramIptmhI67O+9STjOV0i+74XR2NospeK0fkbywIANu1n3w6AHGMotvRWJrjmbCElFg== +"@angular/cdk@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.0.tgz#584bc424eff1856db3f517b22a0f1cb81cb854dc" + integrity sha512-a4AUGfd1iNEGR5A9jmwzEfdRDpOh9KWypFqo85ivC3/KDW4+Z5AGxZpzwqAsRz2WQVdK+8biaz83VBQTMC5IOw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0-rc.4.tgz#520b916239e4b377873fd2879573524ce921daf5" - integrity sha512-aNxY0P4fYdDqRqlde4i+xmJcyc4NgOt5I2MKTwQQK3MHJVV/qTYr4Wra51pW/xcDrMhH+bkBXHiG44TqtALnAQ== +"@angular/common@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0.tgz#ca53ce53f34be45b44163a185271681c7169a03c" + integrity sha512-8NVZE4tSDFQ8YzCFb1BiDDfVdVDZWoP4Z35K0PcjpGromTFs3qKk/Ho0JCdmFTU+yfXLMZe/OsYZoE2mMKGChQ== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0-rc.4.tgz#418e1c5ffc0b44786e8ae569542e7c8fe6285722" - integrity sha512-tL97H5y8nEXmqejOn242eq0Mu2iL6Btk9buvQ6jZNhewbTVoUwKwFcgHNHdyo0MrByE5jQyfQI/qtx/+FdfavA== +"@angular/compiler-cli@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0.tgz#40bec0189134c6739b1504708523d928140e2e01" + integrity sha512-q0NS3xLZAB/rak486lOqJd6IT1pIYsUBuYgPXyqjrq/iKt7t+T4juVZMJZpNZOxeBurPeGWpPpJ1Kn1BeqlAmQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -191,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0-rc.4.tgz#8ff3ac2e8d9478054668a1feb2d493cec7928811" - integrity sha512-6H4IyKIs+7JssZ7OqXGgFlxN0WhjMQ5ih1VcUo/zLizsfe/XNIhi6l7WY//iKIMObnysLJ+BoAN8NMVoCdadiA== +"@angular/compiler@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0.tgz#b7420fc078a2a36569b3e10a6e183c15649ae5c7" + integrity sha512-k+tsyKpbPvumBr0qtGZ/bisoq/1evvTa6dCUR126Yb1bX0HlBodwIqu9Xjh3nY90hMak+3zHznj6kJB83LoLeA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0-rc.4.tgz#c45eb3edbad9848c0166381de3523e0aaa5b8291" - integrity sha512-3kjqY71AHomUqHfOBNN37bIowAojYUdpldHdDXvwvIjlWp6TDwzXpq0Y6y6cH+ShqRrljv5qQqae4VuLkF83ng== +"@angular/core@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0.tgz#82338ff7fc736997d5f6f5ec22644e8549194e5d" + integrity sha512-Hek8L/1XrU1LPN4qmKJiNdYz96ju/yPWvrFjqvrDHjWEenIfxjJohjRwL+ZzICZiEwfnR6y3QGvv4OBY96oTGw== dependencies: tslib "^2.3.0" @@ -212,71 +212,118 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0-rc.4.tgz#566f9715001923250ba345c94102b09034847016" - integrity sha512-1kf0GJHcENDX455bjy5XslO+DM3UkpTaNEkCwdBiclwiY5adc+CxluhaK7pNDrqdQ69nKsC8qd4mug6uO1N7Cg== +"@angular/forms@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0.tgz#050bb379184ab93fdc18ff6f93d32c6bbdce3db4" + integrity sha512-/l6oiSNrBnaLlqHxTlrb0pNW41fUFDB+ctohKKVT3AOe/79xfUCQwyzEUjOMdoo5TBJUoRT8EhKaOgSUHfPymQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0-rc.4.tgz#f61aee6da054c340bfe837a12541a212b65a5c01" - integrity sha512-rlqLHBozuLDQfiEZ1pJVGEDKnV6TS8Ceirai2e5mGlbjqmpOdFOGC0vB+3YeM/2z1Vhjrp3+Uqbcd1HToN3efg== +"@angular/localize@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0.tgz#8dbf9a7853fff0afd705b277572f8e4691ff5fe8" + integrity sha512-vU720UopgCrsNLgFINY4U1gtIueews4JyDMuN0JFAL5L+HV5L9KEX21GTmJ+lJ5EVdKfma1wZneKHHKeU7Eujg== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@14.2.7": - version "14.2.7" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-14.2.7.tgz#678c657197268eba6814c757152f8d178ff08866" - integrity sha512-WXHh8pEStpgkXZJmYOg2cI8BSHkV82ET4XTJCNPdveumaCn1UYnaNzsXD13kw5z+zmy8CufhFEzdXTrv/yt7KQ== - dependencies: +"@angular/material@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.0.tgz#f22841b73baad114f4e7dfc827dafc6458d21b25" + integrity sha512-DONpBABa8r0YW8uwUOR1D14vlUnKNmUhKjPHnf0iDKOK3FS0oS/gzwc49iU/o8JtovatJYGa+mcm1i55Piz7Rg== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/auto-init" "15.0.0-canary.ecfee946f.0" + "@material/banner" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/button" "15.0.0-canary.ecfee946f.0" + "@material/card" "15.0.0-canary.ecfee946f.0" + "@material/checkbox" "15.0.0-canary.ecfee946f.0" + "@material/chips" "15.0.0-canary.ecfee946f.0" + "@material/circular-progress" "15.0.0-canary.ecfee946f.0" + "@material/data-table" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dialog" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/drawer" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/fab" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/floating-label" "15.0.0-canary.ecfee946f.0" + "@material/form-field" "15.0.0-canary.ecfee946f.0" + "@material/icon-button" "15.0.0-canary.ecfee946f.0" + "@material/image-list" "15.0.0-canary.ecfee946f.0" + "@material/layout-grid" "15.0.0-canary.ecfee946f.0" + "@material/line-ripple" "15.0.0-canary.ecfee946f.0" + "@material/linear-progress" "15.0.0-canary.ecfee946f.0" + "@material/list" "15.0.0-canary.ecfee946f.0" + "@material/menu" "15.0.0-canary.ecfee946f.0" + "@material/menu-surface" "15.0.0-canary.ecfee946f.0" + "@material/notched-outline" "15.0.0-canary.ecfee946f.0" + "@material/radio" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/segmented-button" "15.0.0-canary.ecfee946f.0" + "@material/select" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/slider" "15.0.0-canary.ecfee946f.0" + "@material/snackbar" "15.0.0-canary.ecfee946f.0" + "@material/switch" "15.0.0-canary.ecfee946f.0" + "@material/tab" "15.0.0-canary.ecfee946f.0" + "@material/tab-bar" "15.0.0-canary.ecfee946f.0" + "@material/tab-indicator" "15.0.0-canary.ecfee946f.0" + "@material/tab-scroller" "15.0.0-canary.ecfee946f.0" + "@material/textfield" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tooltip" "15.0.0-canary.ecfee946f.0" + "@material/top-app-bar" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#eee012108f9b93e0952d657386adc2804b9211c7": - version "0.0.0-0c06b3d1a58ab12f4f9933efc78e33083d008d17" - uid eee012108f9b93e0952d657386adc2804b9211c7 - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#eee012108f9b93e0952d657386adc2804b9211c7" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#d33ce23aa126d20f2b90965fb452b2daa7b4d160": + version "0.0.0-eb2379bd20e0829520dfa52345223fa341e2f6b9" + uid d33ce23aa126d20f2b90965fb452b2daa7b4d160 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d33ce23aa126d20f2b90965fb452b2daa7b4d160" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0-rc.4.tgz#62e9110d594c87c2fedb0fb18ca2b59bf74e93f2" - integrity sha512-0W9lvZpahCZLlczEBNxHkAR1oEli0yGVT7xX9ng74HeJuElu6C23qWrLt+VZsZbJMs6ENDMmrBBuxr7s9f5iMw== +"@angular/platform-browser-dynamic@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0.tgz#31074bc561986d00fdc6c9d2a0af887749c0c8cf" + integrity sha512-1Nlwakhr2tZVjgzS4dywJpmqoeyQNImheR6yQ/7E5qAeCawu13SiK4z1ZojiVZ4wrmrtpivzJs7JonXWdMOzag== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0-rc.4.tgz#b94b9a01ddd74213294a1962eeb05f5a13d51de5" - integrity sha512-UlWzeOzReOtJdg4mfY4kgc4w7JqEnQay2tdcdP1HJR3fJgn8pH9EKvPCt/bjNOA5qmDBAStEqHplAxBaMFouQw== +"@angular/platform-browser@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0.tgz#09574eea34a9219336b4ad826b950252d59858ea" + integrity sha512-N+Ct6c3gj17a/X5MDi+Zc3BFnHv0AnGQ5k5pvo3BasesEf0dmXSXzTtv28Z/gS5qFK/0i9h8QvfKrRsNSPM78A== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0-rc.4.tgz#9914fc019423ab55bc3cc87c25a01e222b0ebd0a" - integrity sha512-7fPgDrUJf5y6VysQ9MEQBZBrjjg2KwEesPHkKE3PfkQ/ospCBtjBbFSnAy1iO8fMgSgUEzKxEGt/zIYl3MCeqQ== +"@angular/platform-server@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0.tgz#e2fc7403221ab9f138ad7ba0cb6e4b1a1277b593" + integrity sha512-cmzVaBhg7y8gqkijGeJjNnYI/GbfdQVNmpxLfGPkpukThH84n37MQ4dNBcLtbZHtJEZE01G4i3/juKjCUU3iEA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0-rc.4.tgz#26cd02d85723a8a2127fb63da170024e93de2c33" - integrity sha512-48eHagnIGibuBNpzybEF3WEKOTZz50nfo0j8basg0y0ohi8xZhaiYQeBNt+WCcUCr8JrzhGH5p7UlYgz8aSOaQ== +"@angular/router@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0.tgz#f8e6a0be1bb15492226aeca0de89642211bd59f1" + integrity sha512-dm70pydJKmYsb52BWGeemfRHYUcizszAgCZ/XRfooS9t82dn7rr4f/Mz6bTPadT6sGCO/asOKLYo7gxeEZTQaQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0-rc.4": - version "15.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0-rc.4.tgz#5128cd5b0ea63b431d5e7284ea6e513fdc02aada" - integrity sha512-7MMNAFUn0EfsbwcznZeqI83HZiZm/ysRH/K1ZSCl5ZSXBj3LV6SNmbRZ/6Oae3EriWM/5N13yYRj0Nt5r2CvrA== +"@angular/service-worker@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0.tgz#31321b7fa55bb9987fe700166a8df5142fd2d3fe" + integrity sha512-Il3kzib8+iWby+b8NohDNKuzHiC4HPYM4bjoaFO0pLbH+hXPk3YpBRoBaEN3jfKauNKX6X/m8bvo9Ud8nU2gqg== dependencies: tslib "^2.3.0" @@ -365,15 +412,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.20.3": - version "7.20.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.3.tgz#e58c9ae2f7bf7fdf4899160cf1e04400a82cd641" - integrity sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A== - dependencies: - "@babel/types" "^7.20.2" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/generator@7.20.4": version "7.20.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8" @@ -1597,6 +1635,702 @@ brfs "^1.4.0" unicode-trie "^0.3.0" +"@material/animation@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.ecfee946f.0.tgz#1e1228e28e50ddcff19163847d8011d20060da34" + integrity sha512-95aC/UYnCr/1g18VYPK/fX6eCNVGFBkd4JP6zT6wkh8PDL0gp52U+PCCp8bYq8i8oxrKTBa4MqFyzHB5brBFgg== + dependencies: + tslib "^2.1.0" + +"@material/auto-init@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.ecfee946f.0.tgz#cc683fdd30a60715f7397981543b08aac30b5fd8" + integrity sha512-WvmAlRrh4no3ewh3E6b+CLM6UC0w6xaFhzk7jkTFcSopDxf6cNieIM6oXlmVjN9bg33ngxEHBOfz7JYJZQOA+Q== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/banner@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.ecfee946f.0.tgz#9cc992716b73f4518995cbad090357524f0b1f44" + integrity sha512-aFHC/9hHiAOw2b/1jsndV+qDlNqpGrLGGTNvxow5WQ9XbG2nVinvz/L4ZPF7+gPvRrSWiXVHOTQoaudF4eZm+w== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/button" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/base@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.ecfee946f.0.tgz#a4adad19ed54bd7e1013821842ee64094efd45da" + integrity sha512-Es6oTUxRzeHzu3HBz0qGTheMtDj6ovGfEOr9sQmt0YnAKwleUD2i+CbWBq8R9VG6p8nkQenUm8Q+Fifb0GxaYw== + dependencies: + tslib "^2.1.0" + +"@material/button@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.ecfee946f.0.tgz#26d0c439e772cafde039f9998dab821a4c176e25" + integrity sha512-Yvy5sneKGWNXF1iuwaQT+TYKdOqCEDwmT7OLB5SPtJRqBYKiqFpMg7e1X47rf/LfogQ1mc1JU9zibwDahFBbGw== + dependencies: + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/card@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.ecfee946f.0.tgz#a1d5b9c34f4a7c82fbda795edadef3b36518b764" + integrity sha512-gYcV1qWjsg2w471vC/CnHXrKYK1VEVot/ONOJXd2ahh7AbRGZ/hZ8aV4WSizgq0RHI6CJj15BAKQyCSlJzE9iA== + dependencies: + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/checkbox@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.ecfee946f.0.tgz#e99a601fce56de9076dffffaef09bc70b44d2814" + integrity sha512-gU4mUwF8rUc5s64PuIOHNQN4VwRfsZ1l7jiMQzBJu1Kp3tf9jbqsMRtEQCd+mWN5w+DFESVEnvNr2fluY1Jsww== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/chips@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.ecfee946f.0.tgz#a9aa3add4f6fbd82aa08b8db08a948ec97351e3d" + integrity sha512-iVEAM7I5AD5nYGdD0JeSkT66b2vLWk2TaH+DElwTNoURE7A6llRcWPYG7muE6+4AbWOXAI491B+qzAQqpJJHnQ== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/checkbox" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + safevalues "^0.3.4" + tslib "^2.1.0" + +"@material/circular-progress@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.ecfee946f.0.tgz#9224c48591a1a12616da3baf0302cc5cbc014e2a" + integrity sha512-qZkOtKg7Aurr66O9AHPRfhI3lpPyZF+eH7C6S94NY1DZ+CkSWecNXPlgbuTQNl34WuwnpdY1o44+ypmnM7UnEg== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/progress-indicator" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/data-table@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.ecfee946f.0.tgz#a557176c4455e82e18d6e81052428654e5e3564e" + integrity sha512-Ncu5VpQKuT5TiqqPg9OKo2HMHa7Q8CS66Rn8P6rNsQGQXvAynpQUFTp6cySUn3ktZqXBdDUfnwyJJEfyKO2iDw== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/checkbox" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/icon-button" "15.0.0-canary.ecfee946f.0" + "@material/linear-progress" "15.0.0-canary.ecfee946f.0" + "@material/list" "15.0.0-canary.ecfee946f.0" + "@material/menu" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/select" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/density@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.ecfee946f.0.tgz#c7bc8664a5c98421bc0b9118c706bf3c5fbd02ae" + integrity sha512-WhhAb1jt+1VCKMbHD3XDmgbEAAzVjOjJcmmA59rQA1lbXvKn7ZSDYPK5meRIFUjGBjWh11B05tdkMOHbizeI5Q== + dependencies: + tslib "^2.1.0" + +"@material/dialog@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.ecfee946f.0.tgz#84ca883239ae09738fa270da7307b3b38eea23b4" + integrity sha512-rt72Z01XqIorzU9ZGEhuLAluVuu65m/4fhtCzX1+5AEZRfZdr9N27xb/RneoJ63VdjxbumixpGdZUycHNDg2WA== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/button" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/icon-button" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/dom@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.ecfee946f.0.tgz#8aec7d9d623f7b6c83ef2a63f135cac5473880ac" + integrity sha512-SyT9xi+dBur0Vj1Cyrp8b5tW4j3gtuTXwz8UiHFAkZKAG0m441XQjCClhPhpdywPXYE+ycHcd1cAMhLQvopH4g== + dependencies: + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/drawer@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.ecfee946f.0.tgz#badea3410e52f32ded2e087d5b6216a087062acd" + integrity sha512-26dqb8sQuQCieaUbU4g/BKneCaqtnKnAbumTnEtr/7aOn7PaiYvO11viUja2FnW5C5ZpvWDW13v7dG6ymP6Ucw== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/list" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/elevation@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.ecfee946f.0.tgz#9963e80d38baf80f3711689e187386dc0ee03f84" + integrity sha512-IETsNzrcmagBe3RkuT4TvZHm3wjRSxqdtkuxH5DKcc7jfx9vZ//8bw8/q7G+SVKQym17entvpQfgQOgpHAxm5A== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/fab@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.ecfee946f.0.tgz#6c96bfbd8991fd4d72f07174c528cd48f69a2a8d" + integrity sha512-EAQL64nL/mp9TY8c6WTRcqJQPnISZAO+0c2bvWyrG4Xj0r/QGx2NkMKy1MG+JGkcLR5K1RKneLbe92xCIujf0Q== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/feature-targeting@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.ecfee946f.0.tgz#7b5e7e2d0b75f3639eef7af5d987e0fcdb0567a2" + integrity sha512-f2cvfeW6OpG+1QQgilktUKsF1vkg3x6w8R0yg3OPMzIbGVxGsgp4AY6mSLjLw23jDdRIW+J7UnZztE6PDwrFTg== + dependencies: + tslib "^2.1.0" + +"@material/floating-label@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.ecfee946f.0.tgz#2a8351cd96ea2a955067409a3f8deba7417e0fa7" + integrity sha512-3FQMYxUE1EFZzBmml5mqdHCnEoGD9FP0PEeaD15etm/gyCdaf+d6r+rZADDWe7In7qMos2W9uW4v0+sS1H34SQ== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/focus-ring@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.ecfee946f.0.tgz#b09f64fc84e57e683aa2881e1542ffc70b63e4c8" + integrity sha512-pZlMdg8f4izZuAi/v6paUcrSrQwDsNJgcYf+R+hcS57sjNcOT/4uRMTe4parTaKyjgkBKBZlXpLFJaW7yzWgYw== + dependencies: + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + +"@material/form-field@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.ecfee946f.0.tgz#4890093d64be7ea2203863ac99bc7f10511d7479" + integrity sha512-+RV+iwUVxGocOdnR03YyPcyc6scAJIqfrDH3xU9XAl6rkMDWbJvRF4ujySbLfh9FzffrwUN7QqSee7ZxZQO+WQ== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/icon-button@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.ecfee946f.0.tgz#3a190e2278fac415e9fcc0e8bcdf412ab5b92bee" + integrity sha512-3RxjLPrDEFWPW2GinoaTx4Hc4jy842h8j8+2OsY1AqWm4Ejp+NblyBsRSBdZC4APs0GDXQcOskY2y1FYeA+fbQ== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/image-list@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.ecfee946f.0.tgz#5ec4b698338c55f3ea12f5a57b628c208cbf2fbf" + integrity sha512-O371n2xiU9HPlzRw3dNmtJJuSoTA9ZSTePWnZTWJT3O9pTEbctK2Z2Tmnk6MacDHjDRn770YdquA/dGhrWkx0A== + dependencies: + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/layout-grid@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.ecfee946f.0.tgz#010f17f1f3a92d5f46c3f7bf2c833d9457575f08" + integrity sha512-4ECt2uEL1OFhDnFYZsfzTbE8yabsGIwOwYdo5WtvK7Op31QKNMrgTLmu+3Zvap0H4TUsuARxsqnMQVMHLDGD5g== + dependencies: + tslib "^2.1.0" + +"@material/line-ripple@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.ecfee946f.0.tgz#508c47ffbfb171a7878cc10692c3be2f24349087" + integrity sha512-ri+4VQDvlJr7nfP9DpCElqJqpXIAt5HQjzNPDpx0Wc7KOZuQ4yK6C2MGZTWV1wRZctV6WXX14bB9QUUr0r2yTg== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/linear-progress@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.ecfee946f.0.tgz#b367ea9eae41bd75aa49f2dc102cece43d53897c" + integrity sha512-LE9capqTnH/9T2mmW3g9aZD/bdlv4bVrukehXB9EmfmC5EuM6aLpBZLoQmWtAYyt6OxMjZbYvEaZbzsQ4KBu7A== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/progress-indicator" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/list@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.ecfee946f.0.tgz#fd2435a424fe92c8529ed95f9563f990557bad95" + integrity sha512-/kZaFahvJCz4y/zkis9NQUEGUQIk8Ptq6LGm8JYj2PXpO2Avh/neKQwas1edi7CxUf7sBZbHDZLrJeeD1CF20A== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/menu-surface@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.ecfee946f.0.tgz#8ecddac781473808aa5b23f08bc77500e00dcdd5" + integrity sha512-Qxsh0/oQv4DPnz0NuWnZMbGfTH6LmXk41xLi6tE9y8HajzlVpec26fpIDgqWyz97WK7rqUHvsTKskruppHisEQ== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/menu@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.ecfee946f.0.tgz#065fa0093cd7b26e571ceab8654b67f95944158e" + integrity sha512-AKoh4CkyA5DPXoR2ThEeVnMkKM+PYhipbviAFEmukHIOcqWOzC0/GX0XOZUHegstCEvfpsUWT/h2RN6vGamc3w== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/list" "15.0.0-canary.ecfee946f.0" + "@material/menu-surface" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/notched-outline@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.ecfee946f.0.tgz#0a420d6b9c49fe7249e97417692925e5e30f5f1a" + integrity sha512-FsnzeLXRw91Yh4B0Fusu57p3rEj+5OYVkvkr7jML6/YS/4ptkIe/vjgHBxM2DThySOqjBVE7EY9gUMIedMQrNg== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/floating-label" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/progress-indicator@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.ecfee946f.0.tgz#ccda47e90ea124cec20e9b5b0d6e9ab1fe637d8a" + integrity sha512-19RdSUbE+rEoYPoO6qtp2W24wkGVuK14+5XrqnYdoyBnjd0CSmn1DXp27G+Bx5q6Q6Mj/esavTpwFYNWW7OenQ== + dependencies: + tslib "^2.1.0" + +"@material/radio@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.ecfee946f.0.tgz#44e368adb08633df47c5af5dd18b847cff49984b" + integrity sha512-jUihnBlxPpfUCD9o/77qtJZ0t0MaUs8CbdRsYjkuywnY3bH3vZuarJGnYT86HJu/zYTSHfqrnpZKwnRm47MXQg== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/ripple@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.ecfee946f.0.tgz#62a4eb331f0015adcba817fce7db84a620baa8d6" + integrity sha512-midz7yzrccRXnguTpmX9tzGTOSHb2CyhAMnSvnOaSaO2LJyHD0UvFIOiBaWXwjHa5iMhbMkoUe9hosD4llQt/A== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/rtl@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.ecfee946f.0.tgz#ca274a2dab3031a049f499a5de5f0997bc4b2b1d" + integrity sha512-0PHfRqm5mgaXDarQQXVvPpZVXkc7e1DXVPZR2DaPMNc+N2OWeZoA50546p691JIAEAPLQIxassGLMIngBIJl1g== + dependencies: + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/segmented-button@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.ecfee946f.0.tgz#f3e12023d3d9120d07c137201ac198b9014f71fb" + integrity sha512-aCafnCnZel6ZOkA1y9T/OhySfqCjpmzrfNifYIuC1d1fFv7Gkfc6rMZr+ocGb2d1GdRwYCPhwvEq5/kn8Hnr9w== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/touch-target" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/select@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.ecfee946f.0.tgz#d1739379504c5e436762b7d35a98b2b9f6cb6c87" + integrity sha512-ASaX3bl7cu0OLirhyDd4lOmDkwHBLuWjLKK8GwDosTXf+Lb+8OPH8sVsXfAfBv6ORplQZ8B1bVnEb+O8wrBjHA== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/floating-label" "15.0.0-canary.ecfee946f.0" + "@material/line-ripple" "15.0.0-canary.ecfee946f.0" + "@material/list" "15.0.0-canary.ecfee946f.0" + "@material/menu" "15.0.0-canary.ecfee946f.0" + "@material/menu-surface" "15.0.0-canary.ecfee946f.0" + "@material/notched-outline" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/shape@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.ecfee946f.0.tgz#52b32e00ca53ae5f0ab979515de3b30197ba38ef" + integrity sha512-eRMm29A85dFkGzcq/eIZSX2vss/YoWCh8o8ACKF0Dd2yVoSfbclWirrSL1cYAkMLnCzcJ+tLDGBLnJ+RISXU0Q== + dependencies: + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/slider@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.ecfee946f.0.tgz#12c238943a18a29309fa6b4ef3327684278026b6" + integrity sha512-NwFZ8FSH5NCx4dlmNF+ReFzQcaXStRCRaTCuPNshgvAdHSYI5NuswUv1pRnECBKPK1QrT0LSuw/Pltoz2jP/lQ== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/snackbar@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.ecfee946f.0.tgz#27ea1587db28ad5811963561f542bb9887613881" + integrity sha512-AllQg4iAkoCryVW9NzTK5dgyftC6po/D3ZK08IqOXxCTjw/cGE7WpXoXRDleECer9DVqQ4IK7cGsTUQrT18trw== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/button" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/icon-button" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/switch@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.ecfee946f.0.tgz#7680ce935d1a436ed8316d5f33be487e243ddc87" + integrity sha512-ddFG+4Un+AYkQVRP62zhxcc9wd1mZIxGe/vzOzAyZYpRuZQ60cqTQItOYpysYqc9LG4QG470DJemtNFGspiypA== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + safevalues "^0.3.4" + tslib "^2.1.0" + +"@material/tab-bar@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.ecfee946f.0.tgz#ec0d79fa0fee4e6fd3c8b2b77e8e3cddddaf956e" + integrity sha512-1SfhxOkoyeEPq/SlhIVP/Eiuhr46jqmvYSZOugTurL3TiK6Zilk+n5fAQCwElcvK/Dyf+n5mFR2RDFWdu+CZkA== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/tab" "15.0.0-canary.ecfee946f.0" + "@material/tab-indicator" "15.0.0-canary.ecfee946f.0" + "@material/tab-scroller" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/tab-indicator@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.ecfee946f.0.tgz#e006706455516cf1c69acc4e4bf2bc3cc2b6c38b" + integrity sha512-yhfU8Jhbrk4tmdYLAGWfKTmJjE8SqWnZSCFNrcEB9jz/z8CDiH5X1I8FLPNfDgQRpbPnMyDCWwc7xeG4xHcnzA== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/tab-scroller@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.ecfee946f.0.tgz#7b4775fcaa908856ade88c0b858c3976458e277a" + integrity sha512-ZpmqxgO3yAolCz1WvBnG9t002XvpPYWnVN5fbLtGNqE5B30AJwSxoAAkNjDQEZ3TzxcYGN8PhhdG3jY4KiQfbg== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/tab" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/tab@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.ecfee946f.0.tgz#4c3200e3e25cf303e977cde1d375f06dfd4b36bf" + integrity sha512-XASQrQ6gVmz/XpzwtqlfJtYV3QFqxToWiCJsiVwZNE35bg8MvbWQOb9xllvVjIaTvaTgplwG5xOcYOxk4jzR0Q== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/focus-ring" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/tab-indicator" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/textfield@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.ecfee946f.0.tgz#b7b5695565b5fb87bd06a2604cbcdfe3bf80342a" + integrity sha512-npbX0f3C3v46L8/O3/90ExrKNBNCos+Qe/GCgXSO+AbSciPLHhoP+FVjlxfGI1IZtwjg9pd0O78Kymv6h6f9cQ== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/density" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/floating-label" "15.0.0-canary.ecfee946f.0" + "@material/line-ripple" "15.0.0-canary.ecfee946f.0" + "@material/notched-outline" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/theme@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.ecfee946f.0.tgz#99cf7c947dea6ffc0884be850739c18024654c85" + integrity sha512-H8HDrJBZp6kIUYxdfMPYpin7G18/ZI2yp7kSSJfhyir4sYgr7irNWl9DunSI2s90StYmz3m8SiK7XmMhpm2w2A== + dependencies: + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/tokens@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.ecfee946f.0.tgz#dd565b75fef287654f70620604cb4d14f5e3a939" + integrity sha512-hHBGM/UsqsSkmujYTe8k0VEtB0tdhF0IOnpMeRCi0CHwbJBmo4nMEhEK7uhwGfR4HwJNlrNKr2XV7EvsZgOnig== + dependencies: + "@material/elevation" "15.0.0-canary.ecfee946f.0" + +"@material/tooltip@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.ecfee946f.0.tgz#ce0e97fa3a0dc4f9045b59d25554d749dcf1431c" + integrity sha512-AUp5R7RRCY6uryhNbgIx8ayBraWcXw66RHDz7SnFqqEZKT8nj3S9yAMJwGiePhw/CyCghB0yc4mYJreL+fP9qQ== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/button" "15.0.0-canary.ecfee946f.0" + "@material/dom" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/tokens" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + safevalues "^0.3.4" + tslib "^2.1.0" + +"@material/top-app-bar@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.ecfee946f.0.tgz#805b89acfdc1aba858525ca2f473fa392e2afaa4" + integrity sha512-JQiP4l9GhbQgVB3k+EsNbxXc1Uuitvi7wMRnPSwoTjw2wZsbRF5BZHdkAuMXdBHt1iWkneRq6JayMv7B56cD9Q== + dependencies: + "@material/animation" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/elevation" "15.0.0-canary.ecfee946f.0" + "@material/ripple" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/shape" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/typography" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/touch-target@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.ecfee946f.0.tgz#f7f0fa3f1de77a4305fa9947a54f00859e0ec158" + integrity sha512-SfV5EIqbulciOtFoZtuiFkep8jcNcEoEe/nz2h26zZvC4ozbX6Sd4gd0gphLMrWMJajMDj/Zg+awEOfLESNnjA== + dependencies: + "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/rtl" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + +"@material/typography@15.0.0-canary.ecfee946f.0": + version "15.0.0-canary.ecfee946f.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.ecfee946f.0.tgz#064abfcda6102e3bb1765a54f8b06364359f25c1" + integrity sha512-hjX4M4Y1AuhchpkyhmMmG5ulGXqknKOQvsGq/w1fEK5xKmBEXoQK5bQ1xwcFE+NS2k3CMujCkoHe/biz/eHX4Q== + dependencies: + "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.ecfee946f.0" + tslib "^2.1.0" + "@microsoft/api-extractor-model@7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.24.0.tgz#df71615f7c7d2c4f520c8b179d03a85efcdaf452" @@ -1644,10 +2378,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0-rc.3": - version "15.0.0-rc.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0-rc.3.tgz#58729a90c56fe8371f1c4682add79bec921ccf2e" - integrity sha512-QmMJk5VRUJ7ubD/fxhxC3c79HiurIP5sBpKHkBzqKrlHIY/c1QMTzjk/d+2wHoCZrBSa1UjJmI9W/GL1LxM4Ig== +"@ngtools/webpack@15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0.tgz#0ec9002c90328dff48d7fde91ec3e15f375b17d2" + integrity sha512-pI/Ul9mgE98bjPkUiNRLXIn3ulmUgJMD4Zj8RUUk55gTg3IJygyaag/l/C5e7StKMWygHdnvQgU63U360zqEiQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3496,7 +4230,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@4.21.4, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.9.1: +browserslist@*, browserslist@4.21.4, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4: version "4.21.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== @@ -7292,11 +8026,6 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" - integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== - loader-utils@3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" @@ -8878,19 +9607,19 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.18, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: - version "8.4.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" - integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== +postcss@8.4.19, postcss@^8.4.18: + version "8.4.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" + integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.19, postcss@^8.4.18: - version "8.4.19" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" - integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== +postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: + version "8.4.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" + integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -9645,13 +10374,10 @@ safe-regex-test@^1.0.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-13.1.0.tgz#e5b9acf14199a9bc6eaed7a0b8b23951c2cebf6f" - integrity sha512-tZS1RJQ2n2+QNyf3CCAo1H562WjL/5AM6Gi8YcPVVoNxQX8d19mx8E+8fRrMWsyc93ZL6Q8vZDSM0FHVTJaVnQ== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" +safevalues@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/safevalues/-/safevalues-0.3.4.tgz#82e846a02b6956d7d40bf9f41e92e13fce0186db" + integrity sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw== sass-loader@13.2.0: version "13.2.0" @@ -9661,15 +10387,6 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.56.0: - version "1.56.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.0.tgz#134032075a3223c8d49cb5c35e091e5ba1de8e0a" - integrity sha512-WFJ9XrpkcnqZcYuLRJh5qiV6ibQOR4AezleeEjTjMsCocYW59dEG19U3fwTTXxzi2Ed3yjPBp727hbbj53pHFw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.56.1: version "1.56.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.1.tgz#94d3910cd468fd075fa87f5bb17437a0b617d8a7" @@ -11159,36 +11876,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.74.0: - version "5.74.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - webpack@5.75.0: version "5.75.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.75.0.tgz#1e440468647b2505860e94c9ff3e44d5b582c152" From b5d42f4221009d47ebcc604390a14d1d61ae740d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 22 Nov 2022 06:07:16 +0000 Subject: [PATCH 1152/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 07577bb49fb5..f2914303c16b 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@eb2379bd20e0829520dfa52345223fa341e2f6b9 + - uses: angular/dev-infra/github-actions/branch-manager@fcdcc612303a4564848a9935582ba75a6316afae with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 36f8aed60f10..ed05b9cc8dd3 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@eb2379bd20e0829520dfa52345223fa341e2f6b9 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fcdcc612303a4564848a9935582ba75a6316afae with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@eb2379bd20e0829520dfa52345223fa341e2f6b9 + - uses: angular/dev-infra/github-actions/post-approval-changes@fcdcc612303a4564848a9935582ba75a6316afae with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ae4dc944a1ca..796f8ef764b8 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@eb2379bd20e0829520dfa52345223fa341e2f6b9 + - uses: angular/dev-infra/github-actions/feature-request@fcdcc612303a4564848a9935582ba75a6316afae with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6d8f9dd227f4..02ccd61eb5e2 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@eb2379bd20e0829520dfa52345223fa341e2f6b9 + - uses: angular/dev-infra/github-actions/lock-closed@fcdcc612303a4564848a9935582ba75a6316afae with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 6e31ba0148f4..191bac669c9f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#15abe38cda99cc03ac90cc2c6b034cbcbdb053e6", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90", "@angular/cdk": "15.0.0", "@angular/common": "15.0.0", "@angular/compiler": "15.0.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.0", "@angular/localize": "15.0.0", "@angular/material": "15.0.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d33ce23aa126d20f2b90965fb452b2daa7b4d160", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3", "@angular/platform-browser": "15.0.0", "@angular/platform-browser-dynamic": "15.0.0", "@angular/platform-server": "15.0.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 67046939ee15..400a7068aaf8 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#36a4ff31968a7aacd2cf2dbe83042bcdcc73a81b", - "@angular/cdk": "github:angular/cdk-builds#507f9eb96e9c3b41300b0f0d037591ebfd1a2d9c", - "@angular/common": "github:angular/common-builds#bd12824d26a713baf8562c437e3c86b171475e9c", - "@angular/compiler": "github:angular/compiler-builds#f418d12d8ceac365c1608c2141bcbef06b869f6c", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#0b6868b62923a0c915374e4501663497ecc04062", - "@angular/core": "github:angular/core-builds#23def6a8f592277aac22c48a205e4a0884dd42f2", - "@angular/forms": "github:angular/forms-builds#57ceb794f47524790b9b5176630b97c0453298f4", - "@angular/language-service": "github:angular/language-service-builds#4d252acc85b54cb61584e5ff45f659f5b58b756b", - "@angular/localize": "github:angular/localize-builds#f67d4051b4970ff225911bdf2ea31277631077e7", - "@angular/material": "github:angular/material-builds#8cb45d0df9fb133dfd0da8a890a817836016f3a7", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6a715efc94fadf53db7d4eea4158c5b2fbd9407c", - "@angular/platform-browser": "github:angular/platform-browser-builds#bbf88246f92a40d66c8a63b955840e7fec80e42f", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#b6124283688826b707cc17a8985426278c7b4569", - "@angular/platform-server": "github:angular/platform-server-builds#6c4ed639a0da46fc8c1b9a14d94c63b270f13812", - "@angular/router": "github:angular/router-builds#34e061c181b0de52f408efb7bc58bd3175dfe61a", - "@angular/service-worker": "github:angular/service-worker-builds#734d42f8ebb515f746c0cd7ad24d85aaa41d432a" + "@angular/animations": "github:angular/animations-builds#581cf27cca7c805188d11877ca70d50f773e3700", + "@angular/cdk": "github:angular/cdk-builds#37916f0c797f04729fb5125995a41d8685d1b8cd", + "@angular/common": "github:angular/common-builds#9fcae515f2c85d5709cf232de9b04c999430e47d", + "@angular/compiler": "github:angular/compiler-builds#41a17c7ba4b968c4c0b531df1bae9bdbd58aadc7", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#ed5339790bff9102ef587b2c283fd6e95ad04e16", + "@angular/core": "github:angular/core-builds#e11471cb2fd664c12283e036e6cae9182fe327b0", + "@angular/forms": "github:angular/forms-builds#2da4f41f60bb6d4a2bced4e0e5db671e93dee11a", + "@angular/language-service": "github:angular/language-service-builds#700fcf63ad9621a1cd060060bb3d50391f5b3d23", + "@angular/localize": "github:angular/localize-builds#537caedbc1755fac1aa90f4733cae1b232044ab6", + "@angular/material": "github:angular/material-builds#3a489b4adaf98e3d25ea9c28727d0f3056e54987", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#76ead74f8e714e023b363d0e7034ef06787d1652", + "@angular/platform-browser": "github:angular/platform-browser-builds#0662d32ca675ed73b428ec6cb60b08b49f339a31", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#cff8b5bc2b6138abac9993a4272db19dde3fdc1e", + "@angular/platform-server": "github:angular/platform-server-builds#12fb08a29b3c851ffbb41abb7b122ca13a5899c5", + "@angular/router": "github:angular/router-builds#d74ae8b26c3af68ee39487d38755622cfb77c7e2", + "@angular/service-worker": "github:angular/service-worker-builds#70e11a3722b3e896532eef2bf12477e446df83a4" } } diff --git a/yarn.lock b/yarn.lock index a83d2e18928e..ae4bceeabc1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,10 +120,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#15abe38cda99cc03ac90cc2c6b034cbcbdb053e6": - version "0.0.0-eb2379bd20e0829520dfa52345223fa341e2f6b9" - uid "15abe38cda99cc03ac90cc2c6b034cbcbdb053e6" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#15abe38cda99cc03ac90cc2c6b034cbcbdb053e6" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90": + version "0.0.0-fcdcc612303a4564848a9935582ba75a6316afae" + uid "6016be38e96c3fbc098cc451b651e7aedbe2eb90" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90" dependencies: "@angular-devkit/build-angular" "15.0.0" "@angular/benchpress" "0.3.0" @@ -282,10 +282,10 @@ "@material/typography" "15.0.0-canary.ecfee946f.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#d33ce23aa126d20f2b90965fb452b2daa7b4d160": - version "0.0.0-eb2379bd20e0829520dfa52345223fa341e2f6b9" - uid d33ce23aa126d20f2b90965fb452b2daa7b4d160 - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#d33ce23aa126d20f2b90965fb452b2daa7b4d160" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3": + version "0.0.0-fcdcc612303a4564848a9935582ba75a6316afae" + uid "183ef3004a595de30b14bd9b736034d9c57f20e3" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From ecd6ec4a54a766b0b07f45bd4cc4f7d195d776d6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 15 Nov 2022 10:48:04 -0500 Subject: [PATCH 1153/1388] refactor(@angular-devkit/build-angular): encapsulate Angular compilation within esbuild compiler plugin The creation of the esbuild Angular plugin's Angular compilation has now been consolidated in a separate class. This refactor reduces the amount of code within the plugin's main start function as well as centralizing initialization, analysis, and source file emitting for the Angular build process. --- .../browser-esbuild/angular-compilation.ts | 245 ++++++++++++++++++ .../browser-esbuild/compiler-plugin.ts | 225 ++-------------- 2 files changed, 272 insertions(+), 198 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-compilation.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-compilation.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-compilation.ts new file mode 100644 index 000000000000..69b0e860c92f --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular-compilation.ts @@ -0,0 +1,245 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type ng from '@angular/compiler-cli'; +import assert from 'node:assert'; +import ts from 'typescript'; +import { loadEsmModule } from '../../utils/load-esm'; +import { + AngularHostOptions, + createAngularCompilerHost, + ensureSourceFileVersions, +} from './angular-host'; +import { profileAsync, profileSync } from './profiling'; + +// Temporary deep import for transformer support +// TODO: Move these to a private exports location or move the implementation into this package. +const { mergeTransformers, replaceBootstrap } = require('@ngtools/webpack/src/ivy/transformation'); + +class AngularCompilationState { + constructor( + public readonly angularProgram: ng.NgtscProgram, + public readonly typeScriptProgram: ts.EmitAndSemanticDiagnosticsBuilderProgram, + public readonly affectedFiles: ReadonlySet, + public readonly templateDiagnosticsOptimization: ng.OptimizeFor, + public readonly diagnosticCache = new WeakMap(), + ) {} + + get angularCompiler() { + return this.angularProgram.compiler; + } +} + +export interface EmitFileResult { + content?: string; + map?: string; + dependencies: readonly string[]; +} +export type FileEmitter = (file: string) => Promise; + +export class AngularCompilation { + static #angularCompilerCliModule?: typeof ng; + + #state?: AngularCompilationState; + + static async loadCompilerCli(): Promise { + // This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM. + // Once TypeScript provides support for retaining dynamic imports this workaround can be dropped. + this.#angularCompilerCliModule ??= await loadEsmModule('@angular/compiler-cli'); + + return this.#angularCompilerCliModule; + } + + constructor() {} + + async initialize( + rootNames: string[], + compilerOptions: ng.CompilerOptions, + hostOptions: AngularHostOptions, + configurationDiagnostics?: ts.Diagnostic[], + ): Promise<{ affectedFiles: ReadonlySet }> { + // Dynamically load the Angular compiler CLI package + const { NgtscProgram, OptimizeFor } = await AngularCompilation.loadCompilerCli(); + + // Create Angular compiler host + const host = createAngularCompilerHost(compilerOptions, hostOptions); + + // Create the Angular specific program that contains the Angular compiler + const angularProgram = profileSync( + 'NG_CREATE_PROGRAM', + () => new NgtscProgram(rootNames, compilerOptions, host, this.#state?.angularProgram), + ); + const angularCompiler = angularProgram.compiler; + const angularTypeScriptProgram = angularProgram.getTsProgram(); + ensureSourceFileVersions(angularTypeScriptProgram); + + const typeScriptProgram = ts.createEmitAndSemanticDiagnosticsBuilderProgram( + angularTypeScriptProgram, + host, + this.#state?.typeScriptProgram, + configurationDiagnostics, + ); + + await profileAsync('NG_ANALYZE_PROGRAM', () => angularCompiler.analyzeAsync()); + const affectedFiles = profileSync('NG_FIND_AFFECTED', () => + findAffectedFiles(typeScriptProgram, angularCompiler), + ); + + this.#state = new AngularCompilationState( + angularProgram, + typeScriptProgram, + affectedFiles, + affectedFiles.size === 1 ? OptimizeFor.SingleFile : OptimizeFor.WholeProgram, + this.#state?.diagnosticCache, + ); + + return { affectedFiles }; + } + + *collectDiagnostics(): Iterable { + assert(this.#state, 'Angular compilation must be initialized prior to collecting diagnostics.'); + const { + affectedFiles, + angularCompiler, + diagnosticCache, + templateDiagnosticsOptimization, + typeScriptProgram, + } = this.#state; + + // Collect program level diagnostics + yield* typeScriptProgram.getConfigFileParsingDiagnostics(); + yield* angularCompiler.getOptionDiagnostics(); + yield* typeScriptProgram.getOptionsDiagnostics(); + yield* typeScriptProgram.getGlobalDiagnostics(); + + // Collect source file specific diagnostics + for (const sourceFile of typeScriptProgram.getSourceFiles()) { + if (angularCompiler.ignoreForDiagnostics.has(sourceFile)) { + continue; + } + + // TypeScript will use cached diagnostics for files that have not been + // changed or affected for this build when using incremental building. + yield* profileSync( + 'NG_DIAGNOSTICS_SYNTACTIC', + () => typeScriptProgram.getSyntacticDiagnostics(sourceFile), + true, + ); + yield* profileSync( + 'NG_DIAGNOSTICS_SEMANTIC', + () => typeScriptProgram.getSemanticDiagnostics(sourceFile), + true, + ); + + // Declaration files cannot have template diagnostics + if (sourceFile.isDeclarationFile) { + continue; + } + + // Only request Angular template diagnostics for affected files to avoid + // overhead of template diagnostics for unchanged files. + if (affectedFiles.has(sourceFile)) { + const angularDiagnostics = profileSync( + 'NG_DIAGNOSTICS_TEMPLATE', + () => angularCompiler.getDiagnosticsForFile(sourceFile, templateDiagnosticsOptimization), + true, + ); + diagnosticCache.set(sourceFile, angularDiagnostics); + yield* angularDiagnostics; + } else { + const angularDiagnostics = diagnosticCache.get(sourceFile); + if (angularDiagnostics) { + yield* angularDiagnostics; + } + } + } + } + + createFileEmitter(onAfterEmit?: (sourceFile: ts.SourceFile) => void): FileEmitter { + assert(this.#state, 'Angular compilation must be initialized prior to emitting files.'); + const { angularCompiler, typeScriptProgram } = this.#state; + + const transformers = mergeTransformers(angularCompiler.prepareEmit().transformers, { + before: [replaceBootstrap(() => typeScriptProgram.getProgram().getTypeChecker())], + }); + + return async (file: string) => { + const sourceFile = typeScriptProgram.getSourceFile(file); + if (!sourceFile) { + return undefined; + } + + let content: string | undefined; + typeScriptProgram.emit( + sourceFile, + (filename, data) => { + if (/\.[cm]?js$/.test(filename)) { + content = data; + } + }, + undefined /* cancellationToken */, + undefined /* emitOnlyDtsFiles */, + transformers, + ); + + angularCompiler.incrementalCompilation.recordSuccessfulEmit(sourceFile); + onAfterEmit?.(sourceFile); + + return { content, dependencies: [] }; + }; + } +} + +function findAffectedFiles( + builder: ts.EmitAndSemanticDiagnosticsBuilderProgram, + { ignoreForDiagnostics, ignoreForEmit, incrementalCompilation }: ng.NgtscProgram['compiler'], +): Set { + const affectedFiles = new Set(); + + // eslint-disable-next-line no-constant-condition + while (true) { + const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => { + // If the affected file is a TTC shim, add the shim's original source file. + // This ensures that changes that affect TTC are typechecked even when the changes + // are otherwise unrelated from a TS perspective and do not result in Ivy codegen changes. + // For example, changing @Input property types of a directive used in another component's + // template. + // A TTC shim is a file that has been ignored for diagnostics and has a filename ending in `.ngtypecheck.ts`. + if (ignoreForDiagnostics.has(sourceFile) && sourceFile.fileName.endsWith('.ngtypecheck.ts')) { + // This file name conversion relies on internal compiler logic and should be converted + // to an official method when available. 15 is length of `.ngtypecheck.ts` + const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts'; + const originalSourceFile = builder.getSourceFile(originalFilename); + if (originalSourceFile) { + affectedFiles.add(originalSourceFile); + } + + return true; + } + + return false; + }); + + if (!result) { + break; + } + + affectedFiles.add(result.affected as ts.SourceFile); + } + + // A file is also affected if the Angular compiler requires it to be emitted + for (const sourceFile of builder.getSourceFiles()) { + if (ignoreForEmit.has(sourceFile) || incrementalCompilation.safeToSkipEmit(sourceFile)) { + continue; + } + + affectedFiles.add(sourceFile); + } + + return affectedFiles; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index ff2b07d95615..5c4875acc4fb 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import type { NgtscProgram } from '@angular/compiler-cli'; import type { OnStartResult, OutputFile, @@ -21,8 +20,8 @@ import * as path from 'node:path'; import { pathToFileURL } from 'node:url'; import ts from 'typescript'; import { maxWorkers } from '../../utils/environment-options'; -import { loadEsmModule } from '../../utils/load-esm'; -import { createAngularCompilerHost, ensureSourceFileVersions } from './angular-host'; +import { AngularCompilation, FileEmitter } from './angular-compilation'; +import { AngularHostOptions } from './angular-host'; import { JavaScriptTransformer } from './javascript-transformer'; import { logCumulativeDurations, @@ -32,28 +31,19 @@ import { } from './profiling'; import { BundleStylesheetOptions, bundleStylesheetFile, bundleStylesheetText } from './stylesheets'; -interface EmitFileResult { - content?: string; - map?: string; - dependencies: readonly string[]; - hash?: Uint8Array; -} -type FileEmitter = (file: string) => Promise; - /** * Converts TypeScript Diagnostic related information into an esbuild compatible note object. * Related information is a subset of a full TypeScript Diagnostic and also used for diagnostic * notes associated with the main Diagnostic. * @param info The TypeScript diagnostic relative information to convert. - * @param host A TypeScript FormatDiagnosticsHost instance to use during conversion. * @returns An esbuild diagnostic message as a PartialMessage object */ function convertTypeScriptDiagnosticInfo( info: ts.DiagnosticRelatedInformation, - host: ts.FormatDiagnosticsHost, textPrefix?: string, ): PartialNote { - let text = ts.flattenDiagnosticMessageText(info.messageText, host.getNewLine()); + const newLine = platform() === 'win32' ? '\r\n' : '\n'; + let text = ts.flattenDiagnosticMessageText(info.messageText, newLine); if (textPrefix) { text = textPrefix + text; } @@ -97,13 +87,9 @@ function convertTypeScriptDiagnosticInfo( /** * Converts a TypeScript Diagnostic message into an esbuild compatible message object. * @param diagnostic The TypeScript diagnostic to convert. - * @param host A TypeScript FormatDiagnosticsHost instance to use during conversion. * @returns An esbuild diagnostic message as a PartialMessage object */ -function convertTypeScriptDiagnostic( - diagnostic: ts.Diagnostic, - host: ts.FormatDiagnosticsHost, -): PartialMessage { +function convertTypeScriptDiagnostic(diagnostic: ts.Diagnostic): PartialMessage { let codePrefix = 'TS'; let code = `${diagnostic.code}`; if (diagnostic.source === 'ngtsc') { @@ -113,14 +99,14 @@ function convertTypeScriptDiagnostic( } const message: PartialMessage = { - ...convertTypeScriptDiagnosticInfo(diagnostic, host, `${codePrefix}${code}: `), + ...convertTypeScriptDiagnosticInfo(diagnostic, `${codePrefix}${code}: `), // Store original diagnostic for reference if needed downstream detail: diagnostic, }; if (diagnostic.relatedInformation?.length) { message.notes = diagnostic.relatedInformation.map((info) => - convertTypeScriptDiagnosticInfo(info, host), + convertTypeScriptDiagnosticInfo(info), ); } @@ -161,7 +147,6 @@ export interface CompilerPluginOptions { sourceFileCache?: SourceFileCache; } -// This is a non-watch version of the compiler code from `@ngtools/webpack` augmented for esbuild // eslint-disable-next-line max-lines-per-function export function createCompilerPlugin( pluginOptions: CompilerPluginOptions, @@ -176,16 +161,8 @@ export function createCompilerPlugin( // Initialize a worker pool for JavaScript transformations const javascriptTransformer = new JavaScriptTransformer(pluginOptions, maxWorkers); - // This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM. - // Once TypeScript provides support for retaining dynamic imports this workaround can be dropped. - const { GLOBAL_DEFS_FOR_TERSER_WITH_AOT, NgtscProgram, OptimizeFor, readConfiguration } = - await loadEsmModule('@angular/compiler-cli'); - - // Temporary deep import for transformer support - const { - mergeTransformers, - replaceBootstrap, - } = require('@ngtools/webpack/src/ivy/transformation'); + const { GLOBAL_DEFS_FOR_TERSER_WITH_AOT, readConfiguration } = + await AngularCompilation.loadCompilerCli(); // Setup defines based on the values provided by the Angular compiler-cli build.initialOptions.define ??= {}; @@ -251,9 +228,7 @@ export function createCompilerPlugin( // The stylesheet resources from component stylesheets that will be added to the build results output files let stylesheetResourceFiles: OutputFile[]; - let previousBuilder: ts.EmitAndSemanticDiagnosticsBuilderProgram | undefined; - let previousAngularProgram: NgtscProgram | undefined; - const diagnosticCache = new WeakMap(); + let compilation: AngularCompilation | undefined; build.onStart(async () => { const result: OnStartResult = { @@ -269,8 +244,8 @@ export function createCompilerPlugin( // Reset stylesheet resource output files stylesheetResourceFiles = []; - // Create Angular compiler host - const host = createAngularCompilerHost(compilerOptions, { + // Create Angular compiler host options + const hostOptions: AngularHostOptions = { fileReplacements: pluginOptions.fileReplacements, modifiedFiles: pluginOptions.sourceFileCache?.modifiedFiles, sourceFileCache: pluginOptions.sourceFileCache, @@ -301,31 +276,21 @@ export function createCompilerPlugin( return contents; }, - }); + }; - // Create the Angular specific program that contains the Angular compiler - const angularProgram = profileSync( - 'NG_CREATE_PROGRAM', - () => new NgtscProgram(rootNames, compilerOptions, host, previousAngularProgram), - ); - previousAngularProgram = angularProgram; - const angularCompiler = angularProgram.compiler; - const typeScriptProgram = angularProgram.getTsProgram(); - ensureSourceFileVersions(typeScriptProgram); - - const builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram( - typeScriptProgram, - host, - previousBuilder, - configurationDiagnostics, - ); - previousBuilder = builder; + // Create new compilation if first build; otherwise, use existing for rebuilds + compilation ??= new AngularCompilation(); - await profileAsync('NG_ANALYZE_PROGRAM', () => angularCompiler.analyzeAsync()); - const affectedFiles = profileSync('NG_FIND_AFFECTED', () => - findAffectedFiles(builder, angularCompiler), + // Initialize the Angular compilation for the current build. + // In watch mode, previous build state will be reused. + const { affectedFiles } = await compilation.initialize( + rootNames, + compilerOptions, + hostOptions, + configurationDiagnostics, ); + // Clear affected files from the cache (if present) if (pluginOptions.sourceFileCache) { for (const affected of affectedFiles) { pluginOptions.sourceFileCache.typeScriptFileCache.delete( @@ -334,61 +299,10 @@ export function createCompilerPlugin( } } - function* collectDiagnostics(): Iterable { - // Collect program level diagnostics - yield* builder.getConfigFileParsingDiagnostics(); - yield* angularCompiler.getOptionDiagnostics(); - yield* builder.getOptionsDiagnostics(); - yield* builder.getGlobalDiagnostics(); - - // Collect source file specific diagnostics - const optimizeFor = - affectedFiles.size > 1 ? OptimizeFor.WholeProgram : OptimizeFor.SingleFile; - for (const sourceFile of builder.getSourceFiles()) { - if (angularCompiler.ignoreForDiagnostics.has(sourceFile)) { - continue; - } - - // TypeScript will use cached diagnostics for files that have not been - // changed or affected for this build when using incremental building. - yield* profileSync( - 'NG_DIAGNOSTICS_SYNTACTIC', - () => builder.getSyntacticDiagnostics(sourceFile), - true, - ); - yield* profileSync( - 'NG_DIAGNOSTICS_SEMANTIC', - () => builder.getSemanticDiagnostics(sourceFile), - true, - ); - - // Declaration files cannot have template diagnostics - if (sourceFile.isDeclarationFile) { - continue; - } - - // Only request Angular template diagnostics for affected files to avoid - // overhead of template diagnostics for unchanged files. - if (affectedFiles.has(sourceFile)) { - const angularDiagnostics = profileSync( - 'NG_DIAGNOSTICS_TEMPLATE', - () => angularCompiler.getDiagnosticsForFile(sourceFile, optimizeFor), - true, - ); - diagnosticCache.set(sourceFile, angularDiagnostics); - yield* angularDiagnostics; - } else { - const angularDiagnostics = diagnosticCache.get(sourceFile); - if (angularDiagnostics) { - yield* angularDiagnostics; - } - } - } - } - profileSync('NG_DIAGNOSTICS_TOTAL', () => { - for (const diagnostic of collectDiagnostics()) { - const message = convertTypeScriptDiagnostic(diagnostic, host); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + for (const diagnostic of compilation!.collectDiagnostics()) { + const message = convertTypeScriptDiagnostic(diagnostic); if (diagnostic.category === ts.DiagnosticCategory.Error) { (result.errors ??= []).push(message); } else { @@ -397,13 +311,7 @@ export function createCompilerPlugin( } }); - fileEmitter = createFileEmitter( - builder, - mergeTransformers(angularCompiler.prepareEmit().transformers, { - before: [replaceBootstrap(() => builder.getProgram().getTypeChecker())], - }), - (sourceFile) => angularCompiler.incrementalCompilation.recordSuccessfulEmit(sourceFile), - ); + fileEmitter = compilation.createFileEmitter(); return result; }); @@ -502,85 +410,6 @@ export function createCompilerPlugin( }; } -function createFileEmitter( - program: ts.BuilderProgram, - transformers: ts.CustomTransformers = {}, - onAfterEmit?: (sourceFile: ts.SourceFile) => void, -): FileEmitter { - return async (file: string) => { - const sourceFile = program.getSourceFile(file); - if (!sourceFile) { - return undefined; - } - - let content: string | undefined; - program.emit( - sourceFile, - (filename, data) => { - if (/\.[cm]?js$/.test(filename)) { - content = data; - } - }, - undefined /* cancellationToken */, - undefined /* emitOnlyDtsFiles */, - transformers, - ); - - onAfterEmit?.(sourceFile); - - return { content, dependencies: [] }; - }; -} - -function findAffectedFiles( - builder: ts.EmitAndSemanticDiagnosticsBuilderProgram, - { ignoreForDiagnostics, ignoreForEmit, incrementalCompilation }: NgtscProgram['compiler'], -): Set { - const affectedFiles = new Set(); - - // eslint-disable-next-line no-constant-condition - while (true) { - const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => { - // If the affected file is a TTC shim, add the shim's original source file. - // This ensures that changes that affect TTC are typechecked even when the changes - // are otherwise unrelated from a TS perspective and do not result in Ivy codegen changes. - // For example, changing @Input property types of a directive used in another component's - // template. - // A TTC shim is a file that has been ignored for diagnostics and has a filename ending in `.ngtypecheck.ts`. - if (ignoreForDiagnostics.has(sourceFile) && sourceFile.fileName.endsWith('.ngtypecheck.ts')) { - // This file name conversion relies on internal compiler logic and should be converted - // to an official method when available. 15 is length of `.ngtypecheck.ts` - const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts'; - const originalSourceFile = builder.getSourceFile(originalFilename); - if (originalSourceFile) { - affectedFiles.add(originalSourceFile); - } - - return true; - } - - return false; - }); - - if (!result) { - break; - } - - affectedFiles.add(result.affected as ts.SourceFile); - } - - // A file is also affected if the Angular compiler requires it to be emitted - for (const sourceFile of builder.getSourceFiles()) { - if (ignoreForEmit.has(sourceFile) || incrementalCompilation.safeToSkipEmit(sourceFile)) { - continue; - } - - affectedFiles.add(sourceFile); - } - - return affectedFiles; -} - function createMissingFileError(request: string, original: string, root: string): PartialMessage { const error = { text: `File '${path.relative(root, request)}' is missing from the TypeScript compilation.`, From 5fee7c54deb72587d1a82a65f0710ecd93df5267 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 23 Nov 2022 12:06:14 +0000 Subject: [PATCH 1154/1388] build: update all non-major dependencies --- package.json | 8 ++-- yarn.lock | 114 +++++++++++++++++++++++++-------------------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/package.json b/package.json index 191bac669c9f..1f3d609fe6d3 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.43.0", - "@typescript-eslint/parser": "5.43.0", + "@typescript-eslint/eslint-plugin": "5.44.0", + "@typescript-eslint/parser": "5.44.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.2", "ajv-formats": "2.1.1", @@ -172,7 +172,7 @@ "magic-string": "0.26.7", "mini-css-extract-plugin": "2.7.0", "minimatch": "5.1.0", - "ng-packagr": "15.0.0", + "ng-packagr": "15.0.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.0.0", @@ -209,7 +209,7 @@ "ts-node": "^10.0.0", "tslib": "2.4.1", "typescript": "4.8.4", - "verdaccio": "5.17.0", + "verdaccio": "5.18.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", "webpack-dev-middleware": "6.0.0", diff --git a/yarn.lock b/yarn.lock index ae4bceeabc1b..4fae22282c0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3334,14 +3334,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.43.0.tgz#4a5248eb31b454715ddfbf8cfbf497529a0a78bc" - integrity sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA== - dependencies: - "@typescript-eslint/scope-manager" "5.43.0" - "@typescript-eslint/type-utils" "5.43.0" - "@typescript-eslint/utils" "5.43.0" +"@typescript-eslint/eslint-plugin@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz#105788f299050c917eb85c4d9fd04b089e3740de" + integrity sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw== + dependencies: + "@typescript-eslint/scope-manager" "5.44.0" + "@typescript-eslint/type-utils" "5.44.0" + "@typescript-eslint/utils" "5.44.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3349,72 +3349,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.43.0.tgz#9c86581234b88f2ba406f0b99a274a91c11630fd" - integrity sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug== +"@typescript-eslint/parser@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.44.0.tgz#99e2c710a2252191e7a79113264f438338b846ad" + integrity sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA== dependencies: - "@typescript-eslint/scope-manager" "5.43.0" - "@typescript-eslint/types" "5.43.0" - "@typescript-eslint/typescript-estree" "5.43.0" + "@typescript-eslint/scope-manager" "5.44.0" + "@typescript-eslint/types" "5.44.0" + "@typescript-eslint/typescript-estree" "5.44.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz#566e46303392014d5d163704724872e1f2dd3c15" - integrity sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw== +"@typescript-eslint/scope-manager@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz#988c3f34b45b3474eb9ff0674c18309dedfc3e04" + integrity sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g== dependencies: - "@typescript-eslint/types" "5.43.0" - "@typescript-eslint/visitor-keys" "5.43.0" + "@typescript-eslint/types" "5.44.0" + "@typescript-eslint/visitor-keys" "5.44.0" -"@typescript-eslint/type-utils@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.43.0.tgz#91110fb827df5161209ecca06f70d19a96030be6" - integrity sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg== +"@typescript-eslint/type-utils@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz#bc5a6e8a0269850714a870c9268c038150dfb3c7" + integrity sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w== dependencies: - "@typescript-eslint/typescript-estree" "5.43.0" - "@typescript-eslint/utils" "5.43.0" + "@typescript-eslint/typescript-estree" "5.44.0" + "@typescript-eslint/utils" "5.44.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.43.0.tgz#e4ddd7846fcbc074325293515fa98e844d8d2578" - integrity sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg== +"@typescript-eslint/types@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.44.0.tgz#f3f0b89aaff78f097a2927fe5688c07e786a0241" + integrity sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ== -"@typescript-eslint/typescript-estree@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz#b6883e58ba236a602c334be116bfc00b58b3b9f2" - integrity sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg== +"@typescript-eslint/typescript-estree@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz#0461b386203e8d383bb1268b1ed1da9bc905b045" + integrity sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw== dependencies: - "@typescript-eslint/types" "5.43.0" - "@typescript-eslint/visitor-keys" "5.43.0" + "@typescript-eslint/types" "5.44.0" + "@typescript-eslint/visitor-keys" "5.44.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.43.0.tgz#00fdeea07811dbdf68774a6f6eacfee17fcc669f" - integrity sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A== +"@typescript-eslint/utils@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.44.0.tgz#d733da4d79d6c30f1a68b531cdda1e0c1f00d52d" + integrity sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.43.0" - "@typescript-eslint/types" "5.43.0" - "@typescript-eslint/typescript-estree" "5.43.0" + "@typescript-eslint/scope-manager" "5.44.0" + "@typescript-eslint/types" "5.44.0" + "@typescript-eslint/typescript-estree" "5.44.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.43.0": - version "5.43.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz#cbbdadfdfea385310a20a962afda728ea106befa" - integrity sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg== +"@typescript-eslint/visitor-keys@5.44.0": + version "5.44.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz#10740dc28902bb903d12ee3a005cc3a70207d433" + integrity sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ== dependencies: - "@typescript-eslint/types" "5.43.0" + "@typescript-eslint/types" "5.44.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -8632,10 +8632,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.0.tgz#ab5b1e4c9d862ad41283d71006242154d86ac6c6" - integrity sha512-moEVwbkZm9XnnIt4k1tNDwORCEW0CtfC243Mv+1FUTTVmEjebSVNDLNyzKa0WjwpOrrUP/n/M7xNnxbWp6zI4w== +ng-packagr@15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.1.tgz#bbb2e05658fb4368002e83f71fd4ca68fe1ece92" + integrity sha512-O0e0mf88XVyWAt69YJivjzC5jJVurwLHHpNxdZNZDvqt05N7SfCJI1HAbRbGBvpWmSYTgAnmdjF3XEpPgAd0EA== dependencies: "@rollup/plugin-json" "^5.0.0" "@rollup/plugin-node-resolve" "^15.0.0" @@ -11676,10 +11676,10 @@ verdaccio-htpasswd@10.5.1: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.17.0.tgz#cfac00afc7984181e297a8092fff8ef983bdc3c0" - integrity sha512-is5ivFhZ8RUmafkIXWvOh/lDzu9Ooa9njP/sgfOVBKDgajOYEzn58YO6aOgmhw6WrYhGsBs8ocaEht48yjcTwA== +verdaccio@5.18.0: + version "5.18.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.18.0.tgz#4342346c8ad6148596e1e0b3033fceb99ca2ecef" + integrity sha512-z6akeVQS08iXXz0yqi6gMMOoSI2SHocQI+NMMtaVo2MFJaYvhoPSLf66MyXIS3vyCIOu108R6Ncknt0oTIUk1A== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" From 84dc05d28abdecf9312d91931d155139f1e8ff1f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 18 Nov 2022 19:22:57 -0500 Subject: [PATCH 1155/1388] fix(@angular-devkit/build-angular): use url function lexer to rebase Sass URLs When rebasing URLs found within Sass files (sass/scss), the previous regular expression based searching has been replaced with a lexer that scans the Sass files for CSS url() functions and extracts URL values. This change allows for more accurate discovery of URLs as well as reducing the amount of content traversals per file. The lexer logic is based on CSS Syntax Module Level 3 (https://www.w3.org/TR/css-syntax-3/). --- .../src/sass/rebasing-importer.ts | 222 +++++++++++++++--- 1 file changed, 186 insertions(+), 36 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts index eb4476a9b825..e1faac8f2547 100644 --- a/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts +++ b/packages/angular_devkit/build_angular/src/sass/rebasing-importer.ts @@ -13,12 +13,6 @@ import { basename, dirname, extname, join, relative } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import type { FileImporter, Importer, ImporterResult, Syntax } from 'sass'; -/** - * A Regular expression used to find all `url()` functions within a stylesheet. - * From packages/angular_devkit/build_angular/src/webpack/plugins/postcss-cli-resources.ts - */ -const URL_REGEXP = /url(?:\(\s*(['"]?))(.*?)(?:\1\s*\))/g; - /** * A preprocessed cache entry for the files and directories within a previously searched * directory when performing Sass import resolution. @@ -54,44 +48,42 @@ abstract class UrlRebasingImporter implements Importer<'sync'> { load(canonicalUrl: URL): ImporterResult | null { const stylesheetPath = fileURLToPath(canonicalUrl); + const stylesheetDirectory = dirname(stylesheetPath); let contents = readFileSync(stylesheetPath, 'utf-8'); // Rebase any URLs that are found - if (contents.includes('url(')) { - const stylesheetDirectory = dirname(stylesheetPath); - - let match; - URL_REGEXP.lastIndex = 0; - let updatedContents; - while ((match = URL_REGEXP.exec(contents))) { - const originalUrl = match[2]; + let updatedContents; + for (const { start, end, value } of findUrls(contents)) { + // Skip if value is empty or a Sass variable + if (value.length === 0 || value.startsWith('$')) { + continue; + } - // If root-relative, absolute or protocol relative url, leave as-is - if (/^((?:\w+:)?\/\/|data:|chrome:|#|\/)/.test(originalUrl)) { - continue; - } + // Skip if root-relative, absolute or protocol relative url + if (/^((?:\w+:)?\/\/|data:|chrome:|#|\/)/.test(value)) { + continue; + } - const rebasedPath = relative(this.entryDirectory, join(stylesheetDirectory, originalUrl)); + const rebasedPath = relative(this.entryDirectory, join(stylesheetDirectory, value)); - // Normalize path separators and escape characters - // https://developer.mozilla.org/en-US/docs/Web/CSS/url#syntax - const rebasedUrl = './' + rebasedPath.replace(/\\/g, '/').replace(/[()\s'"]/g, '\\$&'); + // Normalize path separators and escape characters + // https://developer.mozilla.org/en-US/docs/Web/CSS/url#syntax + const rebasedUrl = './' + rebasedPath.replace(/\\/g, '/').replace(/[()\s'"]/g, '\\$&'); - updatedContents ??= new MagicString(contents); - updatedContents.update(match.index, match.index + match[0].length, `url(${rebasedUrl})`); - } + updatedContents ??= new MagicString(contents); + updatedContents.update(start, end, rebasedUrl); + } - if (updatedContents) { - contents = updatedContents.toString(); - if (this.rebaseSourceMaps) { - // Generate an intermediate source map for the rebasing changes - const map = updatedContents.generateMap({ - hires: true, - includeContent: true, - source: canonicalUrl.href, - }); - this.rebaseSourceMaps.set(canonicalUrl.href, map as RawSourceMap); - } + if (updatedContents) { + contents = updatedContents.toString(); + if (this.rebaseSourceMaps) { + // Generate an intermediate source map for the rebasing changes + const map = updatedContents.generateMap({ + hires: true, + includeContent: true, + source: canonicalUrl.href, + }); + this.rebaseSourceMaps.set(canonicalUrl.href, map as RawSourceMap); } } @@ -116,6 +108,164 @@ abstract class UrlRebasingImporter implements Importer<'sync'> { } } +/** + * Determines if a unicode code point is a CSS whitespace character. + * @param code The unicode code point to test. + * @returns true, if the code point is CSS whitespace; false, otherwise. + */ +function isWhitespace(code: number): boolean { + // Based on https://www.w3.org/TR/css-syntax-3/#whitespace + switch (code) { + case 0x0009: // tab + case 0x0020: // space + case 0x000a: // line feed + case 0x000c: // form feed + case 0x000d: // carriage return + return true; + default: + return false; + } +} + +/** + * Scans a CSS or Sass file and locates all valid url function values as defined by the CSS + * syntax specification. + * @param contents A string containing a CSS or Sass file to scan. + * @returns An iterable that yields each CSS url function value found. + */ +function* findUrls(contents: string): Iterable<{ start: number; end: number; value: string }> { + let pos = 0; + let width = 1; + let current = -1; + const next = () => { + pos += width; + current = contents.codePointAt(pos) ?? -1; + width = current > 0xffff ? 2 : 1; + + return current; + }; + + // Based on https://www.w3.org/TR/css-syntax-3/#consume-ident-like-token + while ((pos = contents.indexOf('url(', pos)) !== -1) { + // Set to position of the ( + pos += 3; + width = 1; + + // Consume all leading whitespace + while (isWhitespace(next())) { + /* empty */ + } + + // Initialize URL state + const url = { start: pos, end: -1, value: '' }; + let complete = false; + + // If " or ', then consume the value as a string + if (current === 0x0022 || current === 0x0027) { + const ending = current; + // Based on https://www.w3.org/TR/css-syntax-3/#consume-string-token + while (!complete) { + switch (next()) { + case -1: // EOF + return; + case 0x000a: // line feed + case 0x000c: // form feed + case 0x000d: // carriage return + // Invalid + complete = true; + break; + case 0x005c: // \ -- character escape + // If not EOF or newline, add the character after the escape + switch (next()) { + case -1: + return; + case 0x000a: // line feed + case 0x000c: // form feed + case 0x000d: // carriage return + // Skip when inside a string + break; + default: + // TODO: Handle hex escape codes + url.value += String.fromCodePoint(current); + break; + } + break; + case ending: + // Full string position should include the quotes for replacement + url.end = pos + 1; + complete = true; + yield url; + break; + default: + url.value += String.fromCodePoint(current); + break; + } + } + + next(); + continue; + } + + // Based on https://www.w3.org/TR/css-syntax-3/#consume-url-token + while (!complete) { + switch (current) { + case -1: // EOF + return; + case 0x0022: // " + case 0x0027: // ' + case 0x0028: // ( + // Invalid + complete = true; + break; + case 0x0029: // ) + // URL is valid and complete + url.end = pos; + complete = true; + break; + case 0x005c: // \ -- character escape + // If not EOF or newline, add the character after the escape + switch (next()) { + case -1: // EOF + return; + case 0x000a: // line feed + case 0x000c: // form feed + case 0x000d: // carriage return + // Invalid + complete = true; + break; + default: + // TODO: Handle hex escape codes + url.value += String.fromCodePoint(current); + break; + } + break; + default: + if (isWhitespace(current)) { + while (isWhitespace(next())) { + /* empty */ + } + // Unescaped whitespace is only valid before the closing ) + if (current === 0x0029) { + // URL is valid + url.end = pos; + } + complete = true; + } else { + // Add the character to the url value + url.value += String.fromCodePoint(current); + } + break; + } + next(); + } + + // An end position indicates a URL was found + if (url.end !== -1) { + yield url; + } + } +} + /** * Provides the Sass importer logic to resolve relative stylesheet imports via both import and use rules * and also rebase any `url()` function usage within those stylesheets. The rebasing will ensure that From da714a1ad1a61aab95ebae3f811582cf7a15a582 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 23 Nov 2022 06:05:14 +0000 Subject: [PATCH 1156/1388] build: update angular --- package.json | 24 ++--- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 26 ++--- yarn.lock | 96 +++++++++---------- 4 files changed, 75 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 1f3d609fe6d3..4a4bdadd964f 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.0", + "@angular/animations": "15.0.1", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90", "@angular/cdk": "15.0.0", - "@angular/common": "15.0.0", - "@angular/compiler": "15.0.0", - "@angular/compiler-cli": "15.0.0", - "@angular/core": "15.0.0", - "@angular/forms": "15.0.0", - "@angular/localize": "15.0.0", + "@angular/common": "15.0.1", + "@angular/compiler": "15.0.1", + "@angular/compiler-cli": "15.0.1", + "@angular/core": "15.0.1", + "@angular/forms": "15.0.1", + "@angular/localize": "15.0.1", "@angular/material": "15.0.0", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3", - "@angular/platform-browser": "15.0.0", - "@angular/platform-browser-dynamic": "15.0.0", - "@angular/platform-server": "15.0.0", - "@angular/router": "15.0.0", - "@angular/service-worker": "15.0.0", + "@angular/platform-browser": "15.0.1", + "@angular/platform-browser-dynamic": "15.0.1", + "@angular/platform-server": "15.0.1", + "@angular/router": "15.0.1", + "@angular/service-worker": "15.0.1", "@babel/core": "7.20.2", "@babel/generator": "7.20.4", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index df2cfc7ce84e..77b7bb409e3e 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.0", - "@angular/compiler-cli": "15.0.0", + "@angular/compiler": "15.0.1", + "@angular/compiler-cli": "15.0.1", "typescript": "4.8.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 400a7068aaf8..b52b52ea5bea 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#581cf27cca7c805188d11877ca70d50f773e3700", + "@angular/animations": "github:angular/animations-builds#28a5dfff649e955618915047d7e2d180ab7b58b9", "@angular/cdk": "github:angular/cdk-builds#37916f0c797f04729fb5125995a41d8685d1b8cd", - "@angular/common": "github:angular/common-builds#9fcae515f2c85d5709cf232de9b04c999430e47d", - "@angular/compiler": "github:angular/compiler-builds#41a17c7ba4b968c4c0b531df1bae9bdbd58aadc7", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#ed5339790bff9102ef587b2c283fd6e95ad04e16", - "@angular/core": "github:angular/core-builds#e11471cb2fd664c12283e036e6cae9182fe327b0", - "@angular/forms": "github:angular/forms-builds#2da4f41f60bb6d4a2bced4e0e5db671e93dee11a", - "@angular/language-service": "github:angular/language-service-builds#700fcf63ad9621a1cd060060bb3d50391f5b3d23", - "@angular/localize": "github:angular/localize-builds#537caedbc1755fac1aa90f4733cae1b232044ab6", + "@angular/common": "github:angular/common-builds#c2b962d3f98644998d925292e26e3e0880e584fd", + "@angular/compiler": "github:angular/compiler-builds#98a61733b92c761273dc0a2d6aafcc8716c0ef9b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#6abfb42eea14b872ec30452a86189ee925173980", + "@angular/core": "github:angular/core-builds#0e363c861e0022f7a29b5f0fb2d0d96ec4891e46", + "@angular/forms": "github:angular/forms-builds#39ad92a9e2ac6e8fd2ac7ef71c2158f984a9fa0f", + "@angular/language-service": "github:angular/language-service-builds#fd3e3584b48d4570edd721fcc90535912b2c2931", + "@angular/localize": "github:angular/localize-builds#7833d88acad72e7c8181cb66e1313a34a7eac414", "@angular/material": "github:angular/material-builds#3a489b4adaf98e3d25ea9c28727d0f3056e54987", "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#76ead74f8e714e023b363d0e7034ef06787d1652", - "@angular/platform-browser": "github:angular/platform-browser-builds#0662d32ca675ed73b428ec6cb60b08b49f339a31", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#cff8b5bc2b6138abac9993a4272db19dde3fdc1e", - "@angular/platform-server": "github:angular/platform-server-builds#12fb08a29b3c851ffbb41abb7b122ca13a5899c5", - "@angular/router": "github:angular/router-builds#d74ae8b26c3af68ee39487d38755622cfb77c7e2", - "@angular/service-worker": "github:angular/service-worker-builds#70e11a3722b3e896532eef2bf12477e446df83a4" + "@angular/platform-browser": "github:angular/platform-browser-builds#d3c49d245e5f2479cdca2baae625fd832d7a0891", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#4af4e39085a25769a7558fc4af8cbc026d86abff", + "@angular/platform-server": "github:angular/platform-server-builds#39c76056579d987219611fef9cf870e0dbfacd3b", + "@angular/router": "github:angular/router-builds#466e6b6a2cf31538a22655c19f9907c186d34489", + "@angular/service-worker": "github:angular/service-worker-builds#d905944477568ae127b044d4bf5c0432910bb943" } } diff --git a/yarn.lock b/yarn.lock index 4fae22282c0e..d0434330e23a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -105,10 +105,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.0.tgz#6dfa27e8e5f056b38c6a3477242fbbc97e80c61e" - integrity sha512-AEtVjsmKb/kFLlnP3/+wuEgrL8bJD0L4gpetU6QCWR1G3im6yEbatbn2OkWenTS65F9maZNc9T5yK09ZRPwr9Q== +"@angular/animations@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.1.tgz#6181ab315504035b981fe4db85e96bbcd3b6d660" + integrity sha512-GfxqpRcoRfQNS1pVA+PadcgCGJSFag07jFJIQUHX3HZkI/4PyXGn/7ptgebN3tBjy+ASk4PBOQP/ntGbrr55zw== dependencies: tslib "^2.3.0" @@ -168,17 +168,17 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/common@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.0.tgz#ca53ce53f34be45b44163a185271681c7169a03c" - integrity sha512-8NVZE4tSDFQ8YzCFb1BiDDfVdVDZWoP4Z35K0PcjpGromTFs3qKk/Ho0JCdmFTU+yfXLMZe/OsYZoE2mMKGChQ== +"@angular/common@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.1.tgz#500141a1e6a900d8cc5a08748cee64329c36fa78" + integrity sha512-XRD1Dj2aINyp5yYueCuwLU1y84z+ZFXeO84oNfwIu0unHszuo02iIzrV+yCm/ATwt6qUkIbe6xhZNjUorZecyA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.0.tgz#40bec0189134c6739b1504708523d928140e2e01" - integrity sha512-q0NS3xLZAB/rak486lOqJd6IT1pIYsUBuYgPXyqjrq/iKt7t+T4juVZMJZpNZOxeBurPeGWpPpJ1Kn1BeqlAmQ== +"@angular/compiler-cli@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.1.tgz#a08a24aae772afbf491aa463749c1651619bf103" + integrity sha512-M2VsKBw8dQMC5p3PmpM+EBZAZ9Qk/rGX+aIHYBGzsgGFqYMEcz6Nxrj4v6I3Hta7tW7QEVXf883rXiWxHlwtbw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -191,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.0.tgz#b7420fc078a2a36569b3e10a6e183c15649ae5c7" - integrity sha512-k+tsyKpbPvumBr0qtGZ/bisoq/1evvTa6dCUR126Yb1bX0HlBodwIqu9Xjh3nY90hMak+3zHznj6kJB83LoLeA== +"@angular/compiler@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.1.tgz#7c8b748868088e6219f8c04f4c7a3e5f681854aa" + integrity sha512-4talkxip79XPfoj69qgY8VXV1KIBKOyZCRWHhNVqMdECyw/fceVWN4r8kDL0qOTBh1CKmhoQFXQilr9g7nFatA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.0.tgz#82338ff7fc736997d5f6f5ec22644e8549194e5d" - integrity sha512-Hek8L/1XrU1LPN4qmKJiNdYz96ju/yPWvrFjqvrDHjWEenIfxjJohjRwL+ZzICZiEwfnR6y3QGvv4OBY96oTGw== +"@angular/core@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.1.tgz#5bc910a0db9579114b878fed22c1e09bebf7a69d" + integrity sha512-idaKf9hhguyGn/yj5KMHIUEvW4PpeYcwlRUSoEskQC1799BsXwJyV0AwZ67GH1ltnAj34gbhMhDedcCLdhOffA== dependencies: tslib "^2.3.0" @@ -212,17 +212,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.0.tgz#050bb379184ab93fdc18ff6f93d32c6bbdce3db4" - integrity sha512-/l6oiSNrBnaLlqHxTlrb0pNW41fUFDB+ctohKKVT3AOe/79xfUCQwyzEUjOMdoo5TBJUoRT8EhKaOgSUHfPymQ== +"@angular/forms@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.1.tgz#8a9396990d7d5a253c8df07673fe45001de02357" + integrity sha512-gNj/fY7B7swczWI3jpJK4904W0WHCrYviZB8m97P4MkcxdMfQezp4VoRsj+vIkKGtUPUWje3uIjzqodhJlxIJA== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.0.tgz#8dbf9a7853fff0afd705b277572f8e4691ff5fe8" - integrity sha512-vU720UopgCrsNLgFINY4U1gtIueews4JyDMuN0JFAL5L+HV5L9KEX21GTmJ+lJ5EVdKfma1wZneKHHKeU7Eujg== +"@angular/localize@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.1.tgz#edbb964a00fd7bfef6ba6dc353175c5051fe0653" + integrity sha512-z1pNeDPZSeG++bL42uSouOcEj6YxaGd01ujNo1OiZUEgkqMRZRBHscXLFdXQ0dUm0kNWtjfAevesrI/vA9259w== dependencies: "@babel/core" "7.19.3" glob "8.0.3" @@ -290,40 +290,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.0.tgz#31074bc561986d00fdc6c9d2a0af887749c0c8cf" - integrity sha512-1Nlwakhr2tZVjgzS4dywJpmqoeyQNImheR6yQ/7E5qAeCawu13SiK4z1ZojiVZ4wrmrtpivzJs7JonXWdMOzag== +"@angular/platform-browser-dynamic@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.1.tgz#06a6147f159bdde83aa70b71f013d62b1039afb2" + integrity sha512-GyD7BIWGiKGA9KgXmSQLEWiIZjGMacBdvJ8KsRKFpKfxA9bfaC5J6dwTqNy+l/Z9IcT2VQJ8Ba0gEHHtkfemPA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.0.tgz#09574eea34a9219336b4ad826b950252d59858ea" - integrity sha512-N+Ct6c3gj17a/X5MDi+Zc3BFnHv0AnGQ5k5pvo3BasesEf0dmXSXzTtv28Z/gS5qFK/0i9h8QvfKrRsNSPM78A== +"@angular/platform-browser@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.1.tgz#dac0abb8519e434e04e277c4ba555b3cfb7e10dd" + integrity sha512-fH0EfRgbQC0ql8V1ZWVfF75H9lSjT2T6uGfR8cBdRAO/RWwWgx/TfFsjdWAZtjuKRZnKY3wRQ/yVYeQarC3n0Q== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.0.tgz#e2fc7403221ab9f138ad7ba0cb6e4b1a1277b593" - integrity sha512-cmzVaBhg7y8gqkijGeJjNnYI/GbfdQVNmpxLfGPkpukThH84n37MQ4dNBcLtbZHtJEZE01G4i3/juKjCUU3iEA== +"@angular/platform-server@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.1.tgz#986bea4bae180e844c8c525c6f031959dd4ce364" + integrity sha512-sYbqpy6QbH8DEmykjCKes7n/rkgu7Y9Y5OliLiWj8tamZwPubod4E2Ik+FSDx6c4+G+hNVwXSCLb9abG56yrEQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.0.tgz#f8e6a0be1bb15492226aeca0de89642211bd59f1" - integrity sha512-dm70pydJKmYsb52BWGeemfRHYUcizszAgCZ/XRfooS9t82dn7rr4f/Mz6bTPadT6sGCO/asOKLYo7gxeEZTQaQ== +"@angular/router@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.1.tgz#cf0a006bddf928385dc3a5305d4997ef9eb20c69" + integrity sha512-L+GgFNAgITyyD7CTTtOjz1OgFu00+xzjANLfOMs8wGW8OsqSS68lsXF9QexbPGm+e0n+rmQjYOZcsi0Bti4sCQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.0.tgz#31321b7fa55bb9987fe700166a8df5142fd2d3fe" - integrity sha512-Il3kzib8+iWby+b8NohDNKuzHiC4HPYM4bjoaFO0pLbH+hXPk3YpBRoBaEN3jfKauNKX6X/m8bvo9Ud8nU2gqg== +"@angular/service-worker@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.1.tgz#b56112cf0f6f8a14489f218bf956159d2415322b" + integrity sha512-kmB/aP7mkfnbdruwCB5XtuI3O3WG/CqtEgL824VXaycSlLoHprT/+YBVM+kNvmM9S7+70IxEZmqEvd/hjHUDeA== dependencies: tslib "^2.3.0" From 6e9008c37ac6b874586a47474ea1e782a53a291b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Nov 2022 11:30:01 +0000 Subject: [PATCH 1157/1388] fix(@angular-devkit/build-angular): hide loader paths in webpack warnings Similar to errors messages we now hide webpack paths in warnings to reduce clutter. Before ``` ./src/styles.scss.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle - Warning: Module Warning (from ./node_modules/sass-loader/dist/cjs.js): Deprecation $weight: Passing a number without unit % (60) is deprecated. To preserve current behavior: $weight * 1% More info: https://sass-lang.com/d/function-units @material/slider/_slider-theme.scss 77:5 @use node_modules/@angular/material/slider/_slider-theme.scss 3:1 @use node_modules/@angular/material/core/density/private/_all-density.scss 25:1 @forward @angular/_index.scss 18:1 @use src/styles.scss 2:1 root stylesheet ``` After ``` ./src/styles.scss - Warning: Module Warning (from ./node_modules/sass-loader/dist/cjs.js): Deprecation $weight: Passing a number without unit % (60) is deprecated. To preserve current behavior: $weight * 1% More info: https://sass-lang.com/d/function-units @material/slider/_slider-theme.scss 77:5 @use node_modules/@angular/material/slider/_slider-theme.scss 3:1 @use node_modules/@angular/material/core/density/private/_all-density.scss 25:1 @forward @angular/_index.scss 18:1 @use src/styles.scss 2:1 root stylesheet ``` --- .../build_angular/src/webpack/utils/stats.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 8b45ea38a0d7..3e3a64407316 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -343,7 +343,17 @@ export function statsWarningsToString( if (typeof warning === 'string') { output += yb(`Warning: ${warning}\n\n`); } else { - const file = warning.file || warning.moduleName; + let file = warning.file || warning.moduleName; + // Clean up warning paths + // Ex: ./src/app/styles.scss.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js.... + // to ./src/app/styles.scss.webpack + if (file && !statsConfig.errorDetails) { + const webpackPathIndex = file.indexOf('.webpack['); + if (webpackPathIndex !== -1) { + file = file.substring(0, webpackPathIndex); + } + } + if (file) { output += c(file); if (warning.loc) { From 4973c6f4a0ba52893935ed14be3e68e65197bcc8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 23 Nov 2022 11:58:49 -0500 Subject: [PATCH 1158/1388] docs: release notes for the v15.0.1 release --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a28eb914dfc..56ddfa8bd726 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ + + +# 15.0.1 (2022-11-23) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------- | +| [eda96def4](https://github.com/angular/angular-cli/commit/eda96def48e11533cd0a3353c96b7eac9a881e1e) | fix | use global version of the CLI when running `ng new` | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [48426852b](https://github.com/angular/angular-cli/commit/48426852b0c1d5541a3e7369dc2b343e33856968) | fix | show warning when a TS Config is not found during migrations | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------- | +| [2af32fd3a](https://github.com/angular/angular-cli/commit/2af32fd3a981b1c29e1cf77b442982e1e07aae38) | fix | hide loader paths in webpack warnings | +| [19f5cc746](https://github.com/angular/angular-cli/commit/19f5cc746ec724f15d1b89126c7c1b8a343818fe) | fix | improve package deep import Sass index resolution in esbuild plugin | +| [2220a907d](https://github.com/angular/angular-cli/commit/2220a907daf9ccd9e22dfc8e5ddc259b9d495997) | fix | use url function lexer to rebase Sass URLs | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Joey Perrott and Piotr Wysocki + + + # 15.0.0 (2022-11-16) From 534921c29cdc02f0f314539510d019952824f9fc Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 23 Nov 2022 12:04:18 -0500 Subject: [PATCH 1159/1388] release: cut the v15.1.0-next.0 release --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56ddfa8bd726..7cfee387ae21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ + + +# 15.1.0-next.0 (2022-11-23) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------- | +| [6c39a162b](https://github.com/angular/angular-cli/commit/6c39a162bec67083bf6c11b54e84612f1d68c384) | feat | Add schematics for generating functional router guards and resolvers | +| [62121f89a](https://github.com/angular/angular-cli/commit/62121f89abce54e0a1c2b816cdd32b57f2b5a5d1) | feat | add sideEffects:false to library package.json | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [c29df6954](https://github.com/angular/angular-cli/commit/c29df695467c41feccd3846a55c91c6784af87b2) | feat | add `assets` option to server builder | +| [0c01532cb](https://github.com/angular/angular-cli/commit/0c01532cb5a3072b96cd65845a38b88ed4543de6) | perf | use worker pool for JavaScript transforms in esbuild builder | + +## Special Thanks + +Alan Agius, Andrew Scott, Charles Lyding, Doug Parker, Felix Hamann and Joey Perrott + + + # 15.0.1 (2022-11-23) From 9299dea6492527bcaea24c9c7f3116ee2779405b Mon Sep 17 00:00:00 2001 From: ced Date: Fri, 25 Nov 2022 13:47:27 +0100 Subject: [PATCH 1160/1388] feat(@schematics/angular): generate functional interceptors Adds a `--functional` flag to the interceptor schematic to generate a functional interceptor (as we can now do for guards and resolvers) --- ...e@dasherize__.interceptor.spec.ts.template | 0 ...__name@dasherize__.interceptor.ts.template | 0 ...e@dasherize__.interceptor.spec.ts.template | 16 ++++++++++++++++ ...__name@dasherize__.interceptor.ts.template | 5 +++++ .../schematics/angular/interceptor/index.ts | 15 ++++++++++++--- .../angular/interceptor/index_spec.ts | 19 +++++++++++++++++++ .../angular/interceptor/schema.json | 5 +++++ 7 files changed, 57 insertions(+), 3 deletions(-) rename packages/schematics/angular/interceptor/{files => class-files}/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template (100%) rename packages/schematics/angular/interceptor/{files => class-files}/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template (100%) create mode 100755 packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template create mode 100755 packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template diff --git a/packages/schematics/angular/interceptor/files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template b/packages/schematics/angular/interceptor/class-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template similarity index 100% rename from packages/schematics/angular/interceptor/files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template rename to packages/schematics/angular/interceptor/class-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template diff --git a/packages/schematics/angular/interceptor/files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template b/packages/schematics/angular/interceptor/class-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template similarity index 100% rename from packages/schematics/angular/interceptor/files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template rename to packages/schematics/angular/interceptor/class-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template diff --git a/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template new file mode 100755 index 000000000000..270759cc765d --- /dev/null +++ b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { <%= camelize(name) %>Interceptor } from './<%= dasherize(name) %>.interceptor'; + +describe('<%= camelize(name) %>Interceptor', () => { + const interceptor: HttpInterceptorFn = (req, next) => + TestBed.runInInjectionContext(() => <%= camelize(name) %>Interceptor(req, next)); + + beforeEach(() => { + TestBed.configureTestingModule({}); + }); + + it('should be created', () => { + expect(interceptor).toBeTruthy(); + }); +}); diff --git a/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template new file mode 100755 index 000000000000..a7759ca3a199 --- /dev/null +++ b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template @@ -0,0 +1,5 @@ +import { HttpInterceptorFn } from '@angular/common/http'; + +export const <%= camelize(name) %>Interceptor: HttpInterceptorFn = (req, next) => { + return next(req); +} diff --git a/packages/schematics/angular/interceptor/index.ts b/packages/schematics/angular/interceptor/index.ts index 11bbe8bf106a..990721b90d30 100755 --- a/packages/schematics/angular/interceptor/index.ts +++ b/packages/schematics/angular/interceptor/index.ts @@ -14,8 +14,17 @@ export default function (options: InterceptorOptions): Rule { // This schematic uses an older method to implement the flat option const flat = options.flat; options.flat = true; - - return generateFromFiles(options, { + const extraTemplateValues = { 'if-flat': (s: string) => (flat ? '' : s), - }); + }; + + return options.functional + ? generateFromFiles( + { ...options, templateFilesDirectory: './functional-files' }, + extraTemplateValues, + ) + : generateFromFiles( + { ...options, templateFilesDirectory: './class-files' }, + extraTemplateValues, + ); } diff --git a/packages/schematics/angular/interceptor/index_spec.ts b/packages/schematics/angular/interceptor/index_spec.ts index 8b540a7ecbd8..b1237a9c83ac 100755 --- a/packages/schematics/angular/interceptor/index_spec.ts +++ b/packages/schematics/angular/interceptor/index_spec.ts @@ -74,4 +74,23 @@ describe('Interceptor Schematic', () => { .toPromise(); expect(appTree.files).toContain('/projects/bar/custom/app/foo/foo.interceptor.ts'); }); + + it('should create a functional interceptor', async () => { + const tree = await schematicRunner + .runSchematicAsync('interceptor', { ...defaultOptions, functional: true }, appTree) + .toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo/foo.interceptor.ts'); + expect(fileString).toContain( + 'export const fooInterceptor: HttpInterceptorFn = (req, next) => {', + ); + }); + + it('should create a helper function to run a functional interceptor in a test', async () => { + const tree = await schematicRunner + .runSchematicAsync('interceptor', { ...defaultOptions, functional: true }, appTree) + .toPromise(); + const fileString = tree.readContent('/projects/bar/src/app/foo/foo.interceptor.spec.ts'); + expect(fileString).toContain('const interceptor: HttpInterceptorFn = (req, next) => '); + expect(fileString).toContain('TestBed.runInInjectionContext(() => fooInterceptor(req, next));'); + }); }); diff --git a/packages/schematics/angular/interceptor/schema.json b/packages/schematics/angular/interceptor/schema.json index d8be90335908..6d344b05b1c3 100755 --- a/packages/schematics/angular/interceptor/schema.json +++ b/packages/schematics/angular/interceptor/schema.json @@ -40,6 +40,11 @@ "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new interceptor.", "default": false + }, + "functional": { + "type": "boolean", + "description": "Creates the interceptor as a `HttpInterceptorFn`.", + "default": false } }, "required": ["name", "project"] From 978274cb0b81926a1abd3ea5df93b772a8b111c7 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Wed, 23 Nov 2022 09:17:30 -0800 Subject: [PATCH 1161/1388] refactor(@schematics/angular): Use runInInjectionContext shorthand The runInInjectionContext helper was added in https://github.com/angular/angular/commit/6acae1477a212bbd85d0670913c2925fa3bc0c24. This is a shorthand for TestBed.inject(EnvironmentInjector).runInContext. --- packages/schematics/angular/guard/index_spec.ts | 2 +- .../guard/type-files/__name@dasherize__.guard.spec.ts.template | 2 +- .../__name@dasherize__.resolver.spec.ts.template | 2 +- packages/schematics/angular/resolver/index_spec.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index ebf85dd23529..1712894e4098 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -109,7 +109,7 @@ describe('Guard Schematic', () => { const fileString = tree.readContent('/projects/bar/src/app/foo.guard.spec.ts'); expect(fileString).toContain('const executeGuard: CanActivateFn = (...guardParameters) => '); expect(fileString).toContain( - 'TestBed.inject(EnvironmentInjector).runInContext(() => fooGuard(...guardParameters));', + 'TestBed.runInInjectionContext(() => fooGuard(...guardParameters));', ); }); diff --git a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template index 4cbcd9b606d6..b0fec06cf415 100644 --- a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template +++ b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template @@ -6,7 +6,7 @@ import { <%= camelize(name) %>Guard } from './<%= dasherize(name) %>.guard'; describe('<%= camelize(name) %>Guard', () => { const executeGuard: <%= guardType %> = (...guardParameters) => - TestBed.inject(EnvironmentInjector).runInContext(() => <%= camelize(name) %>Guard(...guardParameters)); + TestBed.runInInjectionContext(() => <%= camelize(name) %>Guard(...guardParameters)); beforeEach(() => { TestBed.configureTestingModule({}); diff --git a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template index 9b521b298d4d..32cc699ae35d 100644 --- a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template +++ b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template @@ -5,7 +5,7 @@ import { <%= camelize(name) %>Resolver } from './<%= dasherize(name) %>.resolver describe('<%= camelize(name) %>Resolver', () => { const executeResolver: ResolveFn = (...resolverParameters) => - TestBed.inject(EnvironmentInjector).runInContext(() => <%= camelize(name) %>Resolver(...resolverParameters)); + TestBed.runInInjectionContext(() => <%= camelize(name) %>Resolver(...resolverParameters)); beforeEach(() => { TestBed.configureTestingModule({}); diff --git a/packages/schematics/angular/resolver/index_spec.ts b/packages/schematics/angular/resolver/index_spec.ts index 95f1bdde8305..01c17bda6668 100644 --- a/packages/schematics/angular/resolver/index_spec.ts +++ b/packages/schematics/angular/resolver/index_spec.ts @@ -99,7 +99,7 @@ describe('resolver Schematic', () => { 'const executeResolver: ResolveFn = (...resolverParameters) => ', ); expect(fileString).toContain( - 'TestBed.inject(EnvironmentInjector).runInContext(() => fooResolver(...resolverParameters));', + 'TestBed.runInInjectionContext(() => fooResolver(...resolverParameters));', ); }); }); From 012393d37924a2afd172bfd80ee5e4bcd1c9abdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juuso=20Valkeej=C3=A4rvi?= Date: Fri, 25 Nov 2022 10:43:13 +0200 Subject: [PATCH 1162/1388] fix(@angular-devkit/build-angular): correctly set Sass quietDeps and verbose options The logic to set these options was flipped which caused the warnings to be displayed when verbose was disabled. --- .../build_angular/src/webpack/configs/styles.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index b396c329cb29..b1ec2fcec2d0 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -232,7 +232,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { sassImplementation, includePaths, false, - !buildOptions.verbose, + !!buildOptions.verbose, !!buildOptions.preserveSymlinks, ), }, @@ -254,7 +254,7 @@ export function getStylesConfig(wco: WebpackConfigOptions): Configuration { sassImplementation, includePaths, true, - !buildOptions.verbose, + !!buildOptions.verbose, !!buildOptions.preserveSymlinks, ), }, From 41b5780cbd09962bd73c4a7e46a041af94e3f3f3 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 26 Nov 2022 06:05:26 +0000 Subject: [PATCH 1163/1388] build: update github/codeql-action action to v2.1.34 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 1ab9094a4e70..239e21f94210 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@678fc3afe258fb2e0cdc165ccf77b85719de7b3c # tag=v2.1.33 + uses: github/codeql-action/upload-sarif@312e093a1892bd801f026f1090904ee8e460b9b6 # tag=v2.1.34 with: sarif_file: results.sarif From 07af1a00da6136bcbdbdc28456e4cfaa1d784669 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 28 Nov 2022 10:06:11 +0000 Subject: [PATCH 1164/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index f2914303c16b..138976bf7e02 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@fcdcc612303a4564848a9935582ba75a6316afae + - uses: angular/dev-infra/github-actions/branch-manager@361be062e6820a94ba3d7e7709dd50ba3c370c89 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index ed05b9cc8dd3..c1a11c64c911 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fcdcc612303a4564848a9935582ba75a6316afae + - uses: angular/dev-infra/github-actions/commit-message-based-labels@361be062e6820a94ba3d7e7709dd50ba3c370c89 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@fcdcc612303a4564848a9935582ba75a6316afae + - uses: angular/dev-infra/github-actions/post-approval-changes@361be062e6820a94ba3d7e7709dd50ba3c370c89 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 796f8ef764b8..35b70368fb4e 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fcdcc612303a4564848a9935582ba75a6316afae + - uses: angular/dev-infra/github-actions/feature-request@361be062e6820a94ba3d7e7709dd50ba3c370c89 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 02ccd61eb5e2..6fea9914dc37 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fcdcc612303a4564848a9935582ba75a6316afae + - uses: angular/dev-infra/github-actions/lock-closed@361be062e6820a94ba3d7e7709dd50ba3c370c89 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4a4bdadd964f..0d46373dd8a5 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.1", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5", "@angular/cdk": "15.0.0", "@angular/common": "15.0.1", "@angular/compiler": "15.0.1", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.1", "@angular/localize": "15.0.1", "@angular/material": "15.0.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca", "@angular/platform-browser": "15.0.1", "@angular/platform-browser-dynamic": "15.0.1", "@angular/platform-server": "15.0.1", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index b52b52ea5bea..6143f0a741e2 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#28a5dfff649e955618915047d7e2d180ab7b58b9", - "@angular/cdk": "github:angular/cdk-builds#37916f0c797f04729fb5125995a41d8685d1b8cd", - "@angular/common": "github:angular/common-builds#c2b962d3f98644998d925292e26e3e0880e584fd", - "@angular/compiler": "github:angular/compiler-builds#98a61733b92c761273dc0a2d6aafcc8716c0ef9b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#6abfb42eea14b872ec30452a86189ee925173980", - "@angular/core": "github:angular/core-builds#0e363c861e0022f7a29b5f0fb2d0d96ec4891e46", - "@angular/forms": "github:angular/forms-builds#39ad92a9e2ac6e8fd2ac7ef71c2158f984a9fa0f", - "@angular/language-service": "github:angular/language-service-builds#fd3e3584b48d4570edd721fcc90535912b2c2931", - "@angular/localize": "github:angular/localize-builds#7833d88acad72e7c8181cb66e1313a34a7eac414", - "@angular/material": "github:angular/material-builds#3a489b4adaf98e3d25ea9c28727d0f3056e54987", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#76ead74f8e714e023b363d0e7034ef06787d1652", - "@angular/platform-browser": "github:angular/platform-browser-builds#d3c49d245e5f2479cdca2baae625fd832d7a0891", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#4af4e39085a25769a7558fc4af8cbc026d86abff", - "@angular/platform-server": "github:angular/platform-server-builds#39c76056579d987219611fef9cf870e0dbfacd3b", - "@angular/router": "github:angular/router-builds#466e6b6a2cf31538a22655c19f9907c186d34489", - "@angular/service-worker": "github:angular/service-worker-builds#d905944477568ae127b044d4bf5c0432910bb943" + "@angular/animations": "github:angular/animations-builds#e61ecd53eb4181f3078efeb140e4f3b2b751d0f4", + "@angular/cdk": "github:angular/cdk-builds#5d275abcb5c5d9d497d6f1134bad5e7ba6934c2a", + "@angular/common": "github:angular/common-builds#05474f76e11143f5a874a52d71cdee0db57213e1", + "@angular/compiler": "github:angular/compiler-builds#e4a71e95765dc3013c84ea501ccc3957b7ac133f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#f67d1f0ee99e250831b4f9028fa82c9f037616e8", + "@angular/core": "github:angular/core-builds#2bef4789f39a28794a71cfa0b931f87ae5eba0e0", + "@angular/forms": "github:angular/forms-builds#53eabac9b79052314f4dbf830e19d114d9db8a06", + "@angular/language-service": "github:angular/language-service-builds#03ecf80766d28c480a3f5c3e2e3f18ce9a4ad90b", + "@angular/localize": "github:angular/localize-builds#f4f8dbdb2f6d791f2cd78eef4626f85a37b51cd2", + "@angular/material": "github:angular/material-builds#8d46e153c8b0e814e56d0782a4b16e4e6c1803e6", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1c32483880a122c835e049b75810f360c3313fb8", + "@angular/platform-browser": "github:angular/platform-browser-builds#3428773fc4e6612471062575f4f234ee28d3453d", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#02cc4d580b8ffdff1c23bf6839d1eb6ce4a8cf94", + "@angular/platform-server": "github:angular/platform-server-builds#5536a73992a890009c903debc733bc2f9dd9d21a", + "@angular/router": "github:angular/router-builds#2fe95cea77e1f361f7861248a944b0c837fbd753", + "@angular/service-worker": "github:angular/service-worker-builds#2fdd0df78703a5d13a731dc379c86d456cf247fa" } } diff --git a/yarn.lock b/yarn.lock index d0434330e23a..565f41983f6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,10 +120,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90": - version "0.0.0-fcdcc612303a4564848a9935582ba75a6316afae" - uid "6016be38e96c3fbc098cc451b651e7aedbe2eb90" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6016be38e96c3fbc098cc451b651e7aedbe2eb90" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5": + version "0.0.0-361be062e6820a94ba3d7e7709dd50ba3c370c89" + uid e03dd7495dce207abd647fdde7d6918302c0b4b5 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5" dependencies: "@angular-devkit/build-angular" "15.0.0" "@angular/benchpress" "0.3.0" @@ -282,10 +282,10 @@ "@material/typography" "15.0.0-canary.ecfee946f.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3": - version "0.0.0-fcdcc612303a4564848a9935582ba75a6316afae" - uid "183ef3004a595de30b14bd9b736034d9c57f20e3" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#183ef3004a595de30b14bd9b736034d9c57f20e3" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca": + version "0.0.0-361be062e6820a94ba3d7e7709dd50ba3c370c89" + uid c8a5691ccbc3eab2c364ec547c9aec24ceba2eca + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From 9b6d190f4a082c166d253b0f00162e0286238e45 Mon Sep 17 00:00:00 2001 From: ced Date: Mon, 28 Nov 2022 14:33:23 +0100 Subject: [PATCH 1165/1388] fix(@schematics/angular): remove EnvironmentInjector import in functional guard spec It is unnecessary now that the spec uses `runInInjectionContext` The resolver spec does not have this issue as the import was missing in the spec in the first place. --- .../guard/type-files/__name@dasherize__.guard.spec.ts.template | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template index b0fec06cf415..b94ec6a60f30 100644 --- a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template +++ b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template @@ -1,4 +1,3 @@ -import { EnvironmentInjector } from '@angular/core'; import { TestBed } from '@angular/core/testing'; import { <%= guardType %> } from '@angular/router'; From f3fd1e4ed86a940bd10cea8e386c86dbc117037d Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 8 Sep 2022 13:57:37 -0700 Subject: [PATCH 1166/1388] build: update bazel pkg tars to .tgz file extension --- scripts/build-bazel.ts | 2 +- tools/defaults.bzl | 6 +++--- tools/link_package_json_to_tarballs.bzl | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts index e38dd8622c41..32d73bf86dde 100644 --- a/scripts/build-bazel.ts +++ b/scripts/build-bazel.ts @@ -139,7 +139,7 @@ export default async function ( for (const target of targets) { const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); - const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tar.gz`; + const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; const packageJsonPath = `${bazelOutDir}/package.json`; const packageName = require(packageJsonPath).name; const destDir = `${distRoot}/${packageName}`; diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 50c21b3c82db..2b7f8bea67f0 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -59,7 +59,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): in the same folder to exist. Args: - name: Name of the pkg_npm rule. '_archive.tar.gz' is appended to create the tarball. + name: Name of the pkg_npm rule. '_archive.tgz' is appended to create the tarball. pkg_deps: package.json files of dependent packages. These are used for local path substitutions when --config=local is set. use_prodmode_output: False to ship ES5 devmode output, True to ship ESM output. Defaults to False. **kwargs: Additional arguments passed to the real pkg_npm. @@ -116,7 +116,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): ) # Copy package.json files to bazel-out so we can use their bazel-out paths to determine - # the corresponding package npm package tar.gz path for substitutions. + # the corresponding package npm package tgz path for substitutions. copy_to_bin( name = "package_json_copy", srcs = [pkg_json], @@ -195,7 +195,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): pkg_tar( name = name + "_archive", srcs = [":%s" % name], - extension = "tar.gz", + extension = "tgz", strip_prefix = "./%s" % name, visibility = visibility, ) diff --git a/tools/link_package_json_to_tarballs.bzl b/tools/link_package_json_to_tarballs.bzl index 809e3a50add9..a793d7875757 100644 --- a/tools/link_package_json_to_tarballs.bzl +++ b/tools/link_package_json_to_tarballs.bzl @@ -8,7 +8,7 @@ load("@aspect_bazel_lib//lib:utils.bzl", "to_label") def link_package_json_to_tarballs(name, src, pkg_deps, out): """Substitute tar paths into a package.json file for the packages it depends on. - src and pkg_deps must be labels in the bazel-out tree for the derived path to the npm_package_archive.tar.gz to be correct. + src and pkg_deps must be labels in the bazel-out tree for the derived path to the npm_package_archive.tgz to be correct. Args: name: Name of the rule @@ -41,7 +41,7 @@ def link_package_json_to_tarballs(name, src, pkg_deps, out): # for the tar for this package as that would create a circular dependency. pkg_label = to_label(pkg_dep) if pkg_label.package != src_pkg: - pkg_tar = "@%s//%s:npm_package_archive.tar.gz" % (pkg_label.workspace_name, pkg_label.package) + pkg_tar = "@%s//%s:npm_package_archive.tgz" % (pkg_label.workspace_name, pkg_label.package) srcs.append(pkg_tar) # Deriving the absolute path to the tar in the execroot requries different @@ -53,7 +53,7 @@ def link_package_json_to_tarballs(name, src, pkg_deps, out): name = "%s_%s_filter" % (name, i), srcs = srcs, cmd = """ - TAR=$$(dirname $$({abs_path_sandbox} || {abs_path_nosandbox}))/npm_package_archive.tar.gz + TAR=$$(dirname $$({abs_path_sandbox} || {abs_path_nosandbox}))/npm_package_archive.tgz PKGNAME=$$(cat $(execpath {pkg_name})) if [[ "$$TAR" != *bazel-out* ]]; then echo "ERROR: package.json passed to substitute_tar_deps must be in the output tree. You can use copy_to_bin to copy a source file to the output tree." From b8e68eb28aefa8c629fefb542db3860838110b43 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Mon, 29 Aug 2022 20:12:23 -0700 Subject: [PATCH 1167/1388] test: use execPath to launch child node processes Using execPath ensures the child processes are the same node binary without depending on PATH. --- tests/legacy-cli/e2e/utils/process.ts | 4 ++-- tests/legacy-cli/e2e/utils/project.ts | 2 +- tests/legacy-cli/e2e/utils/registry.ts | 12 ++++++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 541aaf31a6a6..9ce14fb939f2 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -345,7 +345,7 @@ export function globalNpm(args: string[], env?: NodeJS.ProcessEnv) { ); } - return _exec({ silent: true, env }, 'node', [require.resolve('npm'), ...args]); + return _exec({ silent: true, env }, process.execPath, [require.resolve('npm'), ...args]); } export function npm(...args: string[]) { @@ -353,7 +353,7 @@ export function npm(...args: string[]) { } export function node(...args: string[]) { - return _exec({}, 'node', args); + return _exec({}, process.execPath, args); } export function git(...args: string[]) { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index d48d6e6340be..1f25eb78105f 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -67,7 +67,7 @@ export async function prepareProjectForE2e(name: string) { // Often fails the first time so attempt twice if necessary. const runWebdriverUpdate = () => exec( - 'node', + process.execPath, 'node_modules/protractor/bin/webdriver-manager', 'update', '--standalone', diff --git a/tests/legacy-cli/e2e/utils/registry.ts b/tests/legacy-cli/e2e/utils/registry.ts index 3cfee5f71405..143d398093f1 100644 --- a/tests/legacy-cli/e2e/utils/registry.ts +++ b/tests/legacy-cli/e2e/utils/registry.ts @@ -19,10 +19,14 @@ export async function createNpmRegistry( configContent = configContent.replace(/\$\{HTTPS_PORT\}/g, String(httpsPort)); await writeFile(join(registryPath, 'verdaccio.yaml'), configContent); - return spawn('node', [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], { - cwd: registryPath, - stdio: 'inherit', - }); + return spawn( + process.execPath, + [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], + { + cwd: registryPath, + stdio: 'inherit', + }, + ); } // Token was generated using `echo -n 'testing:s3cret' | openssl base64`. From 794e33ae72c15a628f308260020bc4da608c4996 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Wed, 7 Sep 2022 17:56:13 -0700 Subject: [PATCH 1168/1388] test: run legacy-cli e2e tests via bazel --- .bazelrc | 4 + .circleci/dynamic_config.yml | 189 ++++++++++++++++-- .circleci/env.sh | 5 + .circleci/win-ram-disk.ps1 | 3 +- BUILD.bazel | 9 + WORKSPACE | 11 + docs/DEVELOPER.md | 2 +- packages/angular/cli/src/utilities/version.ts | 2 +- tests/legacy-cli/BUILD.bazel | 12 +- tests/legacy-cli/e2e.bzl | 158 +++++++++++++++ tests/legacy-cli/e2e/assets/BUILD.bazel | 8 +- .../e2e/initialize/500-create-project.ts | 13 +- tests/legacy-cli/e2e/initialize/BUILD.bazel | 2 +- tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel | 7 +- .../e2e/setup/001-create-tmp-dir.ts | 2 +- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 4 + tests/legacy-cli/e2e/tests/BUILD.bazel | 4 +- tests/legacy-cli/e2e/tests/basic/test.ts | 13 +- .../e2e/tests/build/esbuild-unsupported.ts | 6 + tests/legacy-cli/e2e/utils/BUILD.bazel | 5 +- tests/legacy-cli/e2e/utils/bazel.ts | 3 + tests/legacy-cli/e2e/utils/process.ts | 55 ++++- tests/legacy-cli/e2e/utils/project.ts | 153 +++++++++----- tests/legacy-cli/e2e/utils/utils.ts | 4 +- tests/legacy-cli/e2e_runner.ts | 95 +++++++-- tools/defaults.bzl | 2 +- 26 files changed, 652 insertions(+), 119 deletions(-) create mode 100644 tests/legacy-cli/e2e.bzl create mode 100644 tests/legacy-cli/e2e/utils/bazel.ts diff --git a/.bazelrc b/.bazelrc index e3fb14bdabf7..339e2d7fb22b 100644 --- a/.bazelrc +++ b/.bazelrc @@ -90,6 +90,10 @@ build:snapshot --workspace_status_command="yarn -s ng-dev release build-env-stam build:snapshot --stamp build:snapshot --//:enable_snapshot_repo_deps +build:e2e --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=release" +build:e2e --stamp +test:e2e --test_timeout=3600 + build:local --//:enable_package_json_tar_deps ############################### diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 5dbea5ebedca..8074cad85793 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -48,7 +48,9 @@ var_6: &only_pull_requests only: - /pull\/\d+/ +# All e2e test suites var_7: &all_e2e_subsets ['npm', 'esbuild', 'yarn'] +var_8: &all_e2e_build_types ['e2e', 'snapshot'] # Executor Definitions # https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors @@ -63,10 +65,20 @@ executors: working_directory: ~/ng resource_class: small + bazel-executor: + parameters: + nodeversion: + type: string + default: *default_nodeversion + docker: + - image: cimg/node:<< parameters.nodeversion >>-browsers + working_directory: ~/ng + resource_class: xlarge + windows-executor: # Same as https://circleci.com/orbs/registry/orb/circleci/windows, but named. working_directory: ~/ng - resource_class: windows.medium + resource_class: windows.large shell: powershell.exe -ExecutionPolicy Bypass machine: # Contents of this image: @@ -116,7 +128,7 @@ commands: - initialize_env - run: nvm install 16.13 - run: nvm use 16.13 - - run: npm install -g yarn@1.22.10 + - run: npm install -g yarn@1.22.10 @bazel/bazelisk@${BAZELISK_VERSION} - run: node --version - run: yarn --version @@ -126,6 +138,7 @@ commands: type: env_var_name default: CIRCLE_PROJECT_REPONAME steps: + - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - devinfra/setup-bazel-remote-exec: bazelrc: ./.bazelrc.user @@ -269,23 +282,24 @@ jobs: paths: - dist/_*.tgz - build-bazel-e2e: - executor: action-executor - resource_class: medium + bazel-build: + executor: bazel-executor steps: - custom_attach_workspace - - run: yarn bazel build //tests/legacy-cli/... + - setup_bazel_rbe + - run: + name: Bazel Build Packages + command: yarn bazel build //... + - fail_fast - unit-test: - executor: action-executor - resource_class: xlarge + bazel-test: + executor: bazel-executor parameters: nodeversion: type: string default: *default_nodeversion_major steps: - custom_attach_workspace - - browser-tools/install-chrome - setup_bazel_rbe - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - when: @@ -311,6 +325,59 @@ jobs: no_output_timeout: 40m - fail_fast + bazel-e2e-tests: + executor: bazel-executor + parallelism: 8 + parameters: + build_type: + type: enum + enum: *all_e2e_build_types + default: 'e2e' + subset: + type: enum + enum: *all_e2e_subsets + default: 'npm' + steps: + - custom_attach_workspace + - initialize_env + - setup_bazel_rbe + - run: mkdir /mnt/ramdisk/e2e + - run: + name: Test << parameters.build_type >> << parameters.subset >> + command: yarn bazel test --define=E2E_TEMP=/mnt/ramdisk/e2e --define=E2E_SHARD_TOTAL=${CIRCLE_NODE_TOTAL} --define=E2E_SHARD_INDEX=${CIRCLE_NODE_INDEX} --config=<< parameters.build_type >> //tests/legacy-cli:e2e.<< parameters.subset >> + no_output_timeout: 40m + - store_artifacts: + path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> + - store_test_results: + path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> + - fail_fast + + bazel-test-browsers: + executor: bazel-executor + steps: + - custom_attach_workspace + - initialize_env + - setup_bazel_rbe + - run: + name: Initialize Saucelabs + command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) + - run: + name: Start Saucelabs Tunnel + command: ./scripts/saucelabs/start-tunnel.sh + background: true + # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests + # too early without Saucelabs not being ready. + - run: ./scripts/saucelabs/wait-for-tunnel.sh + - run: + name: E2E Saucelabs Tests + command: yarn bazel test --config=saucelabs //tests/legacy-cli:e2e.saucelabs + - run: ./scripts/saucelabs/stop-tunnel.sh + - store_artifacts: + path: dist/testlogs/tests/legacy-cli/e2e.saucelabs + - store_test_results: + path: dist/testlogs/tests/legacy-cli/e2e.saucelabs + - fail_fast + snapshot_publish: executor: action-executor resource_class: medium @@ -382,6 +449,48 @@ jobs: node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main --ignore="tests/misc/browsers.ts" - fail_fast + bazel-e2e-cli-win: + executor: windows-executor + parallelism: 12 + steps: + - checkout + - rebase_pr_win + - setup_windows + - restore_cache: + keys: + - *cache_key_win + - run: + # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 + # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 + name: 'Arsenal Image Mounter (RAM Disk)' + command: | + pwsh ./.circleci/win-ram-disk.ps1 + - run: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn + - save_cache: + key: *cache_key_win + paths: + - ~/.cache/yarn + # Path where Arsenal Image Mounter files are downloaded. + # Must match path in .circleci/win-ram-disk.ps1 + - ./aim + - run: + name: Execute E2E Tests + environment: + # Required by `yarn ng-dev` + # See https://github.com/angular/angular/issues/46858 + PWD: . + command: | + mkdir X:/ramdisk/e2e + bazel test --define=E2E_TEMP=X:/ramdisk/e2e --define=E2E_SHARD_TOTAL=$env:CIRCLE_NODE_TOTAL --define=E2E_SHARD_INDEX=$env:CIRCLE_NODE_INDEX --config=e2e //tests/legacy-cli:e2e.npm + # This timeout provides time for the actual tests to timeout and report status + # instead of CircleCI stopping the job without test failure information. + no_output_timeout: 40m + - fail_fast + - store_artifacts: + path: dist/testlogs/tests/legacy-cli/e2e.npm + - store_test_results: + path: dist/testlogs/tests/legacy-cli/e2e.npm + workflows: version: 2 default_workflow: @@ -457,23 +566,67 @@ workflows: # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and # will catch any build errors before proceeding to the more lengthy and resource intensive # Bazel jobs. - - unit-test: + - bazel-test: name: test-node<< matrix.nodeversion >> matrix: parameters: nodeversion: *all_nodeversion_major requires: - - build - - # Compile the e2e tests with bazel to ensure the non-runtime typescript - # compilation completes succesfully. - - build-bazel-e2e: - requires: - - build + - bazel-build # Windows jobs - e2e-cli-win + - bazel-e2e-cli-win + + # Bazel jobs + - bazel-build: + requires: + - setup + + - bazel-e2e-tests: + name: bazel-e2e-cli-<< matrix.subset >> + matrix: + parameters: + subset: *all_e2e_subsets + build_type: 'e2e' + filters: + branches: + ignore: + - main + - /\d+\.\d+\.x/ + requires: + - bazel-build + + - bazel-e2e-tests: + name: bazel-e2e-snapshots-<< matrix.subset >> + matrix: + parameters: + subset: *all_e2e_subsets + build_type: 'snapshot' + pre-steps: + - when: + condition: + and: + - not: + equal: [main, << pipeline.git.branch >>] + - not: << pipeline.parameters.snapshot_changed >> + steps: + # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. + - run: circleci-agent step halt + requires: + - bazel-build + filters: + branches: + only: + - main + # This is needed to run this steps on Renovate PRs that amend the snapshots package.json + - /^pull\/.*/ + + - bazel-test-browsers: + requires: + - bazel-build + # Publish jobs - snapshot_publish: <<: *only_release_branches diff --git a/.circleci/env.sh b/.circleci/env.sh index 6ec09ef85153..e6ae354a6a7c 100755 --- a/.circleci/env.sh +++ b/.circleci/env.sh @@ -36,3 +36,8 @@ source $BASH_ENV; # Disable husky. setPublicVar HUSKY 0 + +# Expose the Bazelisk version. We need to run Bazelisk globally since Windows has problems launching +# Bazel from a node modules directoy that might be modified by the Bazel Yarn install then. +setPublicVar BAZELISK_VERSION \ + "$(cd ${PROJECT_ROOT}; node -p 'require("./package.json").devDependencies["@bazel/bazelisk"]')" \ No newline at end of file diff --git a/.circleci/win-ram-disk.ps1 b/.circleci/win-ram-disk.ps1 index 5d16d8b8a11d..a73bdcdb06b7 100644 --- a/.circleci/win-ram-disk.ps1 +++ b/.circleci/win-ram-disk.ps1 @@ -26,5 +26,6 @@ if (-not (Test-Path -Path $aimContents)) { ./aim/cli/x64/aim_ll.exe --install ./aim/drivers # Setup RAM disk mount. Same parameters as ImDisk +# Ensure size is large enough to support the bazel 'shard_count's such as for e2e tests. # See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk -./aim/cli/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" +./aim/cli/x64/aim_ll.exe -a -s 12G -m X: -p "/fs:ntfs /q /y" diff --git a/BUILD.bazel b/BUILD.bazel index 3fc46c3f3b32..b498ed4a3e94 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -3,6 +3,7 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") package(default_visibility = ["//visibility:public"]) @@ -16,6 +17,14 @@ exports_files([ "package.json", ]) +# Files required by e2e tests +copy_to_bin( + name = "config-files", + srcs = [ + "package.json", + ], +) + # Detect if the build is running under --stamp config_setting( name = "stamp", diff --git a/WORKSPACE b/WORKSPACE index af01de409336..fcb463c04996 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -98,3 +98,14 @@ nodejs_register_toolchains( name = "node16", node_version = "16.13.1", ) + +register_toolchains( + "@npm//@angular/build-tooling/bazel/git-toolchain:git_linux_toolchain", + "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_x86_toolchain", + "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_arm64_toolchain", + "@npm//@angular/build-tooling/bazel/git-toolchain:git_windows_toolchain", +) + +load("@npm//@angular/build-tooling/bazel/browsers:browser_repositories.bzl", "browser_repositories") + +browser_repositories() diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index cc06b685550c..fef7faa06eae 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -85,7 +85,7 @@ You can find more info about debugging [tests with Bazel in the docs.](https://g - Compile the packages being tested: `yarn build` - Run all tests: `node tests/legacy-cli/run_e2e.js` - Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` -- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz ...` +- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` When running the debug commands, Node will stop and wait for a debugger to attach. You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a diff --git a/packages/angular/cli/src/utilities/version.ts b/packages/angular/cli/src/utilities/version.ts index 2c9db37d69a9..777c3de165f6 100644 --- a/packages/angular/cli/src/utilities/version.ts +++ b/packages/angular/cli/src/utilities/version.ts @@ -23,7 +23,7 @@ class Version { } } -// TODO: Convert this to use build-time version stamping after flipping the build script to use bazel +// TODO(bazel): Convert this to use build-time version stamping after flipping the build script to use bazel // export const VERSION = new Version('0.0.0-PLACEHOLDER'); export const VERSION = new Version( ( diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel index cbd1ea4fc4ca..00be22b4442e 100644 --- a/tests/legacy-cli/BUILD.bazel +++ b/tests/legacy-cli/BUILD.bazel @@ -1,4 +1,5 @@ load("//tools:defaults.bzl", "ts_library") +load(":e2e.bzl", "e2e_suites") ts_library( name = "runner", @@ -11,16 +12,25 @@ ts_library( deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", - "//tests/legacy-cli/e2e/assets", "//tests/legacy-cli/e2e/utils", "@npm//@types/glob", "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//yargs-parser", + ], +) +e2e_suites( + name = "e2e", + data = [ + ":runner", + + # Tests + setup # Loaded dynamically at runtime, not compiletime deps + "//tests/legacy-cli/e2e/assets", "//tests/legacy-cli/e2e/setup", "//tests/legacy-cli/e2e/initialize", "//tests/legacy-cli/e2e/tests", ], + runner = ":e2e_runner.ts", ) diff --git a/tests/legacy-cli/e2e.bzl b/tests/legacy-cli/e2e.bzl new file mode 100644 index 000000000000..9df4beca88f0 --- /dev/null +++ b/tests/legacy-cli/e2e.bzl @@ -0,0 +1,158 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_test") + +# bazel query --output=label "kind('pkg_tar', //packages/...)" +TESTED_PACKAGES = [ + "//packages/angular/cli:npm_package_archive.tgz", + "//packages/angular/create:npm_package_archive.tgz", + "//packages/angular/pwa:npm_package_archive.tgz", + "//packages/angular_devkit/architect:npm_package_archive.tgz", + "//packages/angular_devkit/architect_cli:npm_package_archive.tgz", + # this is private so don't use here + # "//packages/angular_devkit/benchmark:npm_package_archive.tgz", + "//packages/angular_devkit/build_angular:npm_package_archive.tgz", + "//packages/angular_devkit/build_webpack:npm_package_archive.tgz", + "//packages/angular_devkit/core:npm_package_archive.tgz", + "//packages/angular_devkit/schematics:npm_package_archive.tgz", + "//packages/angular_devkit/schematics_cli:npm_package_archive.tgz", + "//packages/ngtools/webpack:npm_package_archive.tgz", + "//packages/schematics/angular:npm_package_archive.tgz", +] + +# Number of bazel shards per test target +TEST_SHARD_COUNT = 4 + +# NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver +# Requires network to fetch npm packages. +TEST_TAGS = ["no-remote-exec", "requires-network"] + +# Subset of tests for yarn/esbuild +BROWSER_TESTS = ["tests/misc/browsers.js"] +YARN_TESTS = ["tests/basic/**", "tests/update/**", "tests/commands/add/**"] +ESBUILD_TESTS = ["tests/basic/**", "tests/build/prod-build.js"] + +# Tests excluded for esbuild +ESBUILD_IGNORE_TESTS = [ + "tests/basic/environment.js", + "tests/basic/rebuild.js", + "tests/basic/serve.js", + "tests/basic/scripts-array.js", +] + +def _to_glob(patterns): + if len(patterns) == 1: + return patterns[0] + + return "\"{%s}\"" % ",".join(patterns) + +def e2e_suites(name, runner, data): + """ + Construct all e2e test suite targets + + Args: + name: the prefix to all rules + runner: the e2e test runner entry point + data: runtime deps such as tests and test data + """ + + # Default target meant to be run manually for debugging, customizing test cli via bazel + _e2e_tests(name, runner = runner, data = data, tags = ["manual"]) + + # Pre-configured test suites + # TODO: add node 14 + 16 + _e2e_suite(name, runner, "npm", data) + _e2e_suite(name, runner, "yarn", data) + _e2e_suite(name, runner, "esbuild", data) + _e2e_suite(name, runner, "saucelabs", data) + +def _e2e_tests(name, runner, **kwargs): + # Always specify all the npm packages + args = kwargs.pop("templated_args", []) + ["--package"] + [ + "$(rootpath %s)" % p + for p in TESTED_PACKAGES + ] + + # Always add all the npm packages as data + data = kwargs.pop("data", []) + TESTED_PACKAGES + + # Tags that must always be applied + tags = kwargs.pop("tags", []) + TEST_TAGS + + # Passthru E2E variables in case it is customized by CI etc + configuration_env_vars = kwargs.pop("configuration_env_vars", []) + ["E2E_TEMP", "E2E_SHARD_INDEX", "E2E_SHARD_TOTAL"] + + env = kwargs.pop("env", {}) + toolchains = kwargs.pop("toolchains", []) + + # The git toolchain + env + env.update({"GIT_BIN": "$(GIT_BIN_PATH)"}) + toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/git-toolchain:current_git_toolchain"] + + # Chromium browser toolchain + env.update({ + "CHROME_BIN": "$(CHROMIUM)", + "CHROMEDRIVER_BIN": "$(CHROMEDRIVER)", + }) + toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/browsers/chromium:toolchain_alias"] + data = data + ["@npm//@angular/build-tooling/bazel/browsers/chromium"] + + nodejs_test( + name = name, + templated_args = args, + data = data, + entry_point = runner, + env = env, + configuration_env_vars = configuration_env_vars, + tags = tags, + toolchains = toolchains, + **kwargs + ) + +def _e2e_suite(name, runner, type, data): + """ + Setup a predefined test suite (yarn|esbuild|saucelabs|npm). + """ + args = [] + tests = None + ignore = None + + if type == "yarn": + args.append("--yarn") + tests = YARN_TESTS + ignore = BROWSER_TESTS + elif type == "esbuild": + args.append("--esbuild") + tests = ESBUILD_TESTS + ignore = BROWSER_TESTS + ESBUILD_IGNORE_TESTS + elif type == "saucelabs": + tests = BROWSER_TESTS + ignore = None + elif type == "npm": + tests = None + ignore = BROWSER_TESTS + + # Standard e2e tests + _e2e_tests( + name = "%s.%s" % (name, type), + runner = runner, + size = "enormous", + data = data, + shard_count = TEST_SHARD_COUNT, + templated_args = [ + "--glob=%s" % _to_glob(tests) if tests else "", + "--ignore=%s" % _to_glob(ignore) if ignore else "", + ], + ) + + # e2e tests of snapshot builds + _e2e_tests( + name = "%s.snapshot.%s" % (name, type), + runner = runner, + size = "enormous", + data = data, + shard_count = TEST_SHARD_COUNT, + templated_args = [ + "--ng-snapshots", + "--glob=%s" % _to_glob(tests) if tests else "", + "--ignore=%s" % _to_glob(ignore) if ignore else "", + ], + ) diff --git a/tests/legacy-cli/e2e/assets/BUILD.bazel b/tests/legacy-cli/e2e/assets/BUILD.bazel index c5067a937896..a2889b56559f 100644 --- a/tests/legacy-cli/e2e/assets/BUILD.bazel +++ b/tests/legacy-cli/e2e/assets/BUILD.bazel @@ -1,11 +1,7 @@ -load("//tools:defaults.bzl", "js_library") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") -js_library( +copy_to_bin( name = "assets", srcs = glob(["**"]), visibility = ["//visibility:public"], - deps = [ - "@npm//jasmine-spec-reporter", - "@npm//ts-node", - ], ) diff --git a/tests/legacy-cli/e2e/initialize/500-create-project.ts b/tests/legacy-cli/e2e/initialize/500-create-project.ts index d53bae11acea..b5ce6bd074d0 100644 --- a/tests/legacy-cli/e2e/initialize/500-create-project.ts +++ b/tests/legacy-cli/e2e/initialize/500-create-project.ts @@ -1,5 +1,6 @@ import { join } from 'path'; import yargsParser from 'yargs-parser'; +import { IS_BAZEL } from '../utils/bazel'; import { getGlobalVariable } from '../utils/env'; import { expectFileToExist } from '../utils/fs'; import { gitClean } from '../utils/git'; @@ -23,11 +24,13 @@ export default async function () { // Install puppeteer in the parent directory for use by the CLI within any test project. // Align the version with the primary project package.json. - const puppeteerVersion = require('../../../../package.json').devDependencies.puppeteer.replace( - /^[\^~]/, - '', - ); - await installPackage(`puppeteer@${puppeteerVersion}`); + // Bazel has own browser toolchains + // TODO(bazel): remove non-bazel + if (!IS_BAZEL) { + const puppeteerVersion = + require('../../../../package.json').devDependencies.puppeteer.replace(/^[\^~]/, ''); + await installPackage(`puppeteer@${puppeteerVersion}`); + } await ng('new', 'test-project', '--skip-install'); await expectFileToExist(join(process.cwd(), 'test-project')); diff --git a/tests/legacy-cli/e2e/initialize/BUILD.bazel b/tests/legacy-cli/e2e/initialize/BUILD.bazel index 00735969e9ab..5beccd6620af 100644 --- a/tests/legacy-cli/e2e/initialize/BUILD.bazel +++ b/tests/legacy-cli/e2e/initialize/BUILD.bazel @@ -5,7 +5,7 @@ ts_library( testonly = True, srcs = glob(["**/*.ts"]), data = [ - "//:package.json", + "//:config-files", ], visibility = ["//visibility:public"], deps = [ diff --git a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel index 5a929766ca6f..079ffeb1accc 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel +++ b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel @@ -1,8 +1,7 @@ -load("//tools:defaults.bzl", "ts_library") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") -ts_library( +copy_to_bin( name = "ng-snapshot", - srcs = [], - data = ["package.json"], + srcs = ["package.json"], visibility = ["//visibility:public"], ) diff --git a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts index 07c5855a8394..29c403be85de 100644 --- a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts +++ b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts @@ -12,7 +12,7 @@ export default async function () { } else if (argv.tmpdir) { tempRoot = argv.tmpdir; } else { - tempRoot = await mktempd('angular-cli-e2e-'); + tempRoot = await mktempd('angular-cli-e2e-', process.env.E2E_TEMP); } console.log(` Using "${tempRoot}" as temporary directory for a new project.`); setGlobalVariable('tmp-root', tempRoot); diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 295a89ec1df0..98d7f04dda21 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -24,6 +24,10 @@ export default async function () { process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; process.env.YARN_CONFIG_PREFIX = yarnModulesPrefix; + // Put the npm+yarn caches in the temp dir + process.env.NPM_CONFIG_CACHE = join(tempRoot, 'npm-cache'); + process.env.YARN_CACHE_FOLDER = join(tempRoot, 'yarn-cache'); + // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. // To support this case, legacy peer dependency mode is enabled for snapshot builds. diff --git a/tests/legacy-cli/e2e/tests/BUILD.bazel b/tests/legacy-cli/e2e/tests/BUILD.bazel index 4f01d7fc3887..308544663f00 100644 --- a/tests/legacy-cli/e2e/tests/BUILD.bazel +++ b/tests/legacy-cli/e2e/tests/BUILD.bazel @@ -4,9 +4,11 @@ ts_library( name = "tests", testonly = True, srcs = glob(["**/*.ts"]), + data = [ + "//tests/legacy-cli/e2e/ng-snapshot", + ], visibility = ["//visibility:public"], deps = [ - "//tests/legacy-cli/e2e/ng-snapshot", "//tests/legacy-cli/e2e/utils", "@npm//@types/express", "@npm//@types/glob", diff --git a/tests/legacy-cli/e2e/tests/basic/test.ts b/tests/legacy-cli/e2e/tests/basic/test.ts index 3c0c2d99ee68..d9066946ae8e 100644 --- a/tests/legacy-cli/e2e/tests/basic/test.ts +++ b/tests/legacy-cli/e2e/tests/basic/test.ts @@ -29,7 +29,18 @@ export default async function () { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['ChromeHeadless'], + browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + ], + } + }, singleRun: false, restartOnFileChange: true }); diff --git a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts index 0a3681549d3d..b2dab3bbac07 100644 --- a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts +++ b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts @@ -1,7 +1,13 @@ import { join } from 'path'; +import { IS_BAZEL } from '../../utils/bazel'; import { execWithEnv } from '../../utils/process'; export default async function () { + // TODO(bazel): fails with bazel on windows + if (IS_BAZEL && process.platform.startsWith('win')) { + return; + } + // Set the esbuild native binary path to a non-existent file to simulate a spawn error. // The build should still succeed by falling back to the WASM variant of esbuild. await execWithEnv('ng', ['build'], { diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel index 7a242b4bd137..68301d92bb69 100644 --- a/tests/legacy-cli/e2e/utils/BUILD.bazel +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -4,9 +4,11 @@ ts_library( name = "utils", testonly = True, srcs = glob(["**/*.ts"]), + data = [ + "//tests/legacy-cli/e2e/ng-snapshot", + ], visibility = ["//visibility:public"], deps = [ - "//tests/legacy-cli/e2e/ng-snapshot", "@npm//@types/glob", "@npm//@types/node-fetch", "@npm//@types/semver", @@ -16,7 +18,6 @@ ts_library( "@npm//glob", "@npm//npm", "@npm//protractor", - "@npm//puppeteer", "@npm//rxjs", "@npm//semver", "@npm//tar", diff --git a/tests/legacy-cli/e2e/utils/bazel.ts b/tests/legacy-cli/e2e/utils/bazel.ts new file mode 100644 index 000000000000..06a99f9023d5 --- /dev/null +++ b/tests/legacy-cli/e2e/utils/bazel.ts @@ -0,0 +1,3 @@ +// TODO(bazel): remove this along with any non-bazel specific logic using it. + +export const IS_BAZEL = !!process.env.BAZEL_TARGET; diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 9ce14fb939f2..fa5f8afc3e2c 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -7,6 +7,7 @@ import { getGlobalVariable, getGlobalVariablesEnv } from './env'; import { catchError } from 'rxjs/operators'; import treeKill from 'tree-kill'; import { delimiter, join, resolve } from 'path'; +import { IS_BAZEL } from './bazel'; interface ExecOptions { silent?: boolean; @@ -167,7 +168,23 @@ export function extractNpmEnv() { function extractCIEnv(): NodeJS.ProcessEnv { return Object.keys(process.env) - .filter((v) => v.startsWith('SAUCE_') || v === 'CI' || v === 'CIRCLECI' || v === 'CHROME_BIN') + .filter( + (v) => + v.startsWith('SAUCE_') || + v === 'CI' || + v === 'CIRCLECI' || + v === 'CHROME_BIN' || + v === 'CHROMEDRIVER_BIN', + ) + .reduce((vars, n) => { + vars[n] = process.env[n]; + return vars; + }, {}); +} + +function extractNgEnv() { + return Object.keys(process.env) + .filter((v) => v.startsWith('NG_')) .reduce((vars, n) => { vars[n] = process.env[n]; return vars; @@ -357,11 +374,11 @@ export function node(...args: string[]) { } export function git(...args: string[]) { - return _exec({}, 'git', args); + return _exec({}, process.env.GIT_BIN || 'git', args); } export function silentGit(...args: string[]) { - return _exec({ silent: true }, 'git', args); + return _exec({ silent: true }, process.env.GIT_BIN || 'git', args); } /** @@ -372,24 +389,42 @@ export function silentGit(...args: string[]) { * registry (not the test runner or standard global node_modules). */ export async function launchTestProcess(entry: string, ...args: any[]): Promise { + // NOTE: do NOT use the bazel TEST_TMPDIR. When sandboxing is not enabled the + // TEST_TMPDIR is not sandboxed and has symlinks into the src dir in a + // parent directory. Symlinks into the src dir will include package.json, + // .git and other files/folders that may effect e2e tests. + const tempRoot: string = getGlobalVariable('tmp-root'); + const TEMP = process.env.TEMP ?? process.env.TMPDIR ?? tempRoot; // Extract explicit environment variables for the test process. const env: NodeJS.ProcessEnv = { + TEMP, + TMPDIR: TEMP, + HOME: TEMP, + + // Use BAZEL_TARGET as a metadata variable to show it is a + // process managed by bazel + BAZEL_TARGET: process.env.BAZEL_TARGET, + ...extractNpmEnv(), ...extractCIEnv(), + ...extractNgEnv(), ...getGlobalVariablesEnv(), }; - // Modify the PATH environment variable... - env.PATH = (env.PATH || process.env.PATH) - ?.split(delimiter) - // Only include paths within the sandboxed test environment or external - // non angular-cli paths such as /usr/bin for generic commands. - .filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')) + // Only include paths within the sandboxed test environment or external + // non angular-cli paths such as /usr/bin for generic commands. + env.PATH = process.env + .PATH!.split(delimiter) + .filter((p) => p.startsWith(tempRoot) || p.startsWith(TEMP) || !p.includes('angular-cli')) .join(delimiter); - const testProcessArgs = [resolve(__dirname, 'run_test_process'), entry, ...args]; + const testProcessArgs = [ + resolve(__dirname, IS_BAZEL ? 'test_process' : 'run_test_process'), + entry, + ...args, + ]; return new Promise((resolve, reject) => { spawn(process.execPath, testProcessArgs, { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 1f25eb78105f..791bb3e07f6a 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -2,8 +2,9 @@ import * as fs from 'fs'; import * as path from 'path'; import { prerelease, SemVer } from 'semver'; import yargsParser from 'yargs-parser'; +import { IS_BAZEL } from './bazel'; import { getGlobalVariable } from './env'; -import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; +import { readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; import { findFreePort } from './network'; import { installWorkspacePackages, PkgInfo } from './packages'; @@ -50,37 +51,41 @@ export async function prepareProjectForE2e(name: string) { await installWorkspacePackages(); await ng('generate', 'e2e', '--related-app-name', name); - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; + // bazel will use its own sandboxed browser + webdriver + // TODO(bazel): remove non-bazel + if (!IS_BAZEL) { + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { + chrome: { last: string }; + }; - const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; - if (!chromeDriverVersion) { - throw new Error('Could not extract chrome webdriver version.'); - } + const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; + if (!chromeDriverVersion) { + throw new Error('Could not extract chrome webdriver version.'); + } - // Initialize selenium webdriver. - // Often fails the first time so attempt twice if necessary. - const runWebdriverUpdate = () => - exec( - process.execPath, - 'node_modules/protractor/bin/webdriver-manager', - 'update', - '--standalone', - 'false', - '--gecko', - 'false', - '--versions.chrome', - chromeDriverVersion, - ); - try { - await runWebdriverUpdate(); - } catch { - await runWebdriverUpdate(); + // Initialize selenium webdriver. + // Often fails the first time so attempt twice if necessary. + const runWebdriverUpdate = () => + exec( + process.execPath, + 'node_modules/protractor/bin/webdriver-manager', + 'update', + '--standalone', + 'false', + '--gecko', + 'false', + '--versions.chrome', + chromeDriverVersion, + ); + try { + await runWebdriverUpdate(); + } catch { + await runWebdriverUpdate(); + } } await useCIChrome(name, 'e2e'); @@ -182,42 +187,96 @@ export function useCIDefaults(projectName = 'test-project'): Promise { }); } +const KARMA_CONF_DEFAULT = ` + module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: {}, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/$PROJECT_NAME$'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); + }; +`; + export async function useCIChrome(projectName: string, projectDir = ''): Promise { const protractorConf = path.join(projectDir, 'protractor.conf.js'); - const chromePath = require('puppeteer').executablePath(); - - // Use Puppeteer in protractor if a config is found on the project. if (fs.existsSync(protractorConf)) { - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; - const chromeDriverPath = webdriverUpdate.chrome.last; - await replaceInFile( protractorConf, `browserName: 'chrome'`, `browserName: 'chrome', chromeOptions: { - args: ['--headless'], - binary: String.raw\`${chromePath}\`, + args: ['--headless', '--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage'], + binary: String.raw\`${process.env.CHROME_BIN}\`, }`, ); await replaceInFile( protractorConf, 'directConnect: true,', - `directConnect: true, chromeDriver: String.raw\`${chromeDriverPath}\`,`, + `directConnect: true, chromeDriver: String.raw\`${process.env.CHROMEDRIVER_BIN}\`,`, ); } - // Use ChromeHeadless. + const karmaConf = path.join(projectDir, 'karma.conf.js'); + + // Create one with default config if it doesn't exist + if (!fs.existsSync(karmaConf)) { + await writeFile(karmaConf, KARMA_CONF_DEFAULT.replace('$PROJECT_NAME$', projectName)); + } + + // Update to use the headless sandboxed chrome + await replaceInFile( + karmaConf, + /browsers:.*\]\s*,/, + ` + browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + ], + } + }, + `, + ); + return updateJsonFile('angular.json', (workspaceJson) => { const project = workspaceJson.projects[projectName]; const appTargets = project.targets || project.architect; - appTargets.test.options.browsers = 'ChromeHeadless'; + appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox'; + appTargets.test.options.karmaConfig = karmaConf; }); } diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index 6e9c8da3e756..b5a9901b448d 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -24,8 +24,8 @@ export function wait(msecs: number): Promise { }); } -export async function mktempd(prefix: string): Promise { - return realpath(await mkdtemp(path.join(tmpdir(), prefix))); +export async function mktempd(prefix: string, tempRoot?: string): Promise { + return realpath(await mkdtemp(path.join(tempRoot ?? tmpdir(), prefix))); } export async function mockHome(cb: (home: string) => Promise): Promise { diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index fa5ecd74bb23..ef28132e58c9 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -8,10 +8,11 @@ import { getGlobalVariable, setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; import { launchTestProcess } from './e2e/utils/process'; -import { join } from 'path'; +import { delimiter, dirname, join } from 'path'; +import { IS_BAZEL } from './e2e/utils/bazel'; import { findFreePort } from './e2e/utils/network'; import { extractFile } from './e2e/utils/tar'; -import { realpathSync } from 'fs'; +import { readFileSync, realpathSync } from 'fs'; import { PkgInfo } from './e2e/utils/packages'; Error.stackTraceLimit = Infinity; @@ -61,6 +62,16 @@ const argv = yargsParser(process.argv.slice(2), { }, default: { 'package': ['./dist/_*.tgz'], + + 'debug': !!process.env.BUILD_WORKSPACE_DIRECTORY, + 'glob': process.env.TESTBRIDGE_TEST_ONLY, + 'nb-shards': + Number(process.env.E2E_SHARD_TOTAL ?? 1) * Number(process.env.TEST_TOTAL_SHARDS ?? 1) || 1, + 'shard': + process.env.E2E_SHARD_INDEX === undefined && process.env.TEST_SHARD_INDEX === undefined + ? undefined + : Number(process.env.E2E_SHARD_INDEX ?? 0) * Number(process.env.TEST_TOTAL_SHARDS ?? 1) + + Number(process.env.TEST_SHARD_INDEX ?? 0), }, }); @@ -80,6 +91,20 @@ process.exitCode = 255; */ process.env.LEGACY_CLI_RUNNER = '1'; +/** + * Add external git toolchain onto PATH + */ +if (process.env.GIT_BIN) { + process.env.PATH = process.env.PATH! + delimiter + dirname(process.env.GIT_BIN!); +} + +/** + * Add external browser toolchains onto PATH + */ +if (process.env.CHROME_BIN) { + process.env.PATH = process.env.PATH! + delimiter + dirname(process.env.CHROME_BIN!); +} + const logger = createConsoleLogger(argv.verbose, process.stdout, process.stderr, { info: (s) => s, debug: (s) => s, @@ -93,17 +118,27 @@ function lastLogger() { return logStack[logStack.length - 1]; } -const testGlob = argv.glob || 'tests/**/*.ts'; +// Under bazel the compiled file (.js) and types (.d.ts) are available. +// Outside bazel the source .ts files are available. +const SRC_FILE_EXT = IS_BAZEL ? 'js' : 'ts'; +const SRC_FILE_EXT_RE = new RegExp(`\.${SRC_FILE_EXT}$`); + +const testGlob = argv.glob || `tests/**/*.${SRC_FILE_EXT}`; const e2eRoot = path.join(__dirname, 'e2e'); -const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); -const allInitializers = glob.sync('initialize/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); +const allSetups = glob.sync(`setup/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }).sort(); +const allInitializers = glob + .sync(`initialize/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }) + .sort(); const allTests = glob .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. .map((name) => name.replace(/\\/g, '/')) .filter((name) => { - if (name.endsWith('/setup.ts')) { + if (name.endsWith(`/setup.${SRC_FILE_EXT}`)) { + return false; + } + if (!SRC_FILE_EXT_RE.test(name)) { return false; } @@ -122,8 +157,8 @@ const allTests = glob }) .sort(); -const shardId = 'shard' in argv ? argv['shard'] : null; -const nbShards = (shardId === null ? 1 : argv['nb-shards']) || 2; +const shardId = argv['shard'] !== undefined ? Number(argv['shard']) : null; +const nbShards = shardId === null ? 1 : Number(argv['nb-shards']); const tests = allTests.filter((name) => { // Check for naming tests on command line. if (argv._.length == 0) { @@ -134,7 +169,7 @@ const tests = allTests.filter((name) => { return ( path.join(process.cwd(), argName + '') == path.join(__dirname, 'e2e', name) || argName == name || - argName == name.replace(/\.ts$/, '') + argName == name.replace(SRC_FILE_EXT_RE, '') ); }); }); @@ -143,7 +178,7 @@ const tests = allTests.filter((name) => { const testsToRun = tests.filter((name, i) => shardId === null || i % nbShards == shardId); if (testsToRun.length === 0) { - if (shardId !== null && tests.length >= shardId ? 1 : 0) { + if (shardId !== null && tests.length <= shardId) { console.log(`No tests to run on shard ${shardId}, exiting.`); process.exit(0); } else { @@ -170,9 +205,28 @@ console.log(['Tests:', ...testsToRun].join('\n ')); setGlobalVariable('argv', argv); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -// This is needed by karma-chrome-launcher + +// Use the chrome supplied by bazel or the puppeteer chrome and webdriver-manager driver outside. +// This is needed by karma-chrome-launcher, protractor etc. // https://github.com/karma-runner/karma-chrome-launcher#headless-chromium-with-puppeteer -process.env['CHROME_BIN'] = require('puppeteer').executablePath(); +// +// Resolve from relative paths to absolute paths within the bazel runfiles tree +// so subprocesses spawned in a different working directory can still find them. +process.env.CHROME_BIN = IS_BAZEL + ? path.resolve(process.env.CHROME_BIN!) + : require('puppeteer').executablePath(); +process.env.CHROMEDRIVER_BIN = IS_BAZEL + ? path.resolve(process.env.CHROMEDRIVER_BIN!) + : (function () { + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(readFileSync(webdriverUpdatePath).toString()) as { + chrome: { last: string }; + }; + return webdriverUpdate.chrome.last; + })(); Promise.all([findFreePort(), findFreePort(), findPackageTars()]) .then(async ([httpPort, httpsPort, packageTars]) => { @@ -237,12 +291,12 @@ async function runSteps( for (const [stepIndex, relativeName] of steps.entries()) { // Make sure this is a windows compatible path. - let absoluteName = path.join(e2eRoot, relativeName).replace(/\.ts$/, ''); + let absoluteName = path.join(e2eRoot, relativeName).replace(SRC_FILE_EXT_RE, ''); if (/^win/.test(process.platform)) { absoluteName = absoluteName.replace(/\\/g, path.posix.sep); } - const name = relativeName.replace(/\.ts$/, ''); + const name = relativeName.replace(SRC_FILE_EXT_RE, ''); const start = Date.now(); printHeader(relativeName, stepIndex, steps.length, type); @@ -297,7 +351,7 @@ function printHeader( type: 'setup' | 'initializer' | 'test', ) { const text = `${testIndex + 1} of ${count}`; - const fullIndex = testIndex * nbShards + shardId + 1; + const fullIndex = testIndex * nbShards + (shardId ?? 0) + 1; const shard = shardId === null || type !== 'test' ? '' @@ -328,7 +382,16 @@ async function findPackageTars(): Promise<{ [pkg: string]: PkgInfo }> { glob.sync(p, { realpath: true }), ); - const pkgJsons = await Promise.all(pkgs.map((pkg) => extractFile(pkg, './package/package.json'))); + const pkgJsons = await Promise.all( + pkgs.map(async (pkg) => { + try { + return await extractFile(pkg, './package/package.json'); + } catch (e) { + // TODO(bazel): currently the bazel npm packaging does not contain the standard npm ./package directory + return await extractFile(pkg, './package.json'); + } + }), + ); return pkgs.reduce((all, pkg, i) => { const json = pkgJsons[i].toString('utf8'); diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 2b7f8bea67f0..e73154d3a2a2 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -1,6 +1,6 @@ """Re-export of some bazel rules with repository-wide defaults.""" -load("@npm//@bazel/concatjs/internal:build_defs.bzl", _ts_library = "ts_library_macro") +load("@npm//@bazel/concatjs:index.bzl", _ts_library = "ts_library") load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _js_library = "js_library", _pkg_npm = "pkg_npm") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@npm//@angular/build-tooling/bazel:extract_js_module_output.bzl", "extract_js_module_output") From 9e5777052d7436b879e3c8f64c123fd0f70a3c9a Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 18 Nov 2022 03:29:08 -0800 Subject: [PATCH 1169/1388] fixup! test: run legacy-cli e2e tests via bazel fixup: add ChromeHeadlessNoSandbox browser to to karma builder --- .../build_angular/src/builders/karma/index.ts | 6 ++ .../e2e/assets/13.0-project/karma.conf.js | 13 +++- tests/legacy-cli/e2e/utils/project.ts | 66 ------------------- 3 files changed, 18 insertions(+), 67 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 50da6fe0f24c..ca105f161f96 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -222,6 +222,12 @@ function getBuiltInKarmaConfig( logLevel: karma.constants.LOG_INFO, autoWatch: true, browsers: ['Chrome'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'], + }, + }, restartOnFileChange: true, }; } diff --git a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js index ccec87ca2b1f..1d0cda7c76fc 100644 --- a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js +++ b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js @@ -37,7 +37,18 @@ module.exports = function (config) { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['Chrome'], + browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + ], + } + }, singleRun: false, restartOnFileChange: true }); diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 791bb3e07f6a..736b42634afd 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -187,45 +187,6 @@ export function useCIDefaults(projectName = 'test-project'): Promise { }); } -const KARMA_CONF_DEFAULT = ` - module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - jasmine: {}, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, './coverage/$PROJECT_NAME$'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); - }; -`; - export async function useCIChrome(projectName: string, projectDir = ''): Promise { const protractorConf = path.join(projectDir, 'protractor.conf.js'); if (fs.existsSync(protractorConf)) { @@ -245,38 +206,11 @@ export async function useCIChrome(projectName: string, projectDir = ''): Promise ); } - const karmaConf = path.join(projectDir, 'karma.conf.js'); - - // Create one with default config if it doesn't exist - if (!fs.existsSync(karmaConf)) { - await writeFile(karmaConf, KARMA_CONF_DEFAULT.replace('$PROJECT_NAME$', projectName)); - } - // Update to use the headless sandboxed chrome - await replaceInFile( - karmaConf, - /browsers:.*\]\s*,/, - ` - browsers: ['ChromeHeadlessNoSandbox'], - customLaunchers: { - ChromeHeadlessNoSandbox: { - base: 'ChromeHeadless', - flags: [ - '--no-sandbox', - '--headless', - '--disable-gpu', - '--disable-dev-shm-usage', - ], - } - }, - `, - ); - return updateJsonFile('angular.json', (workspaceJson) => { const project = workspaceJson.projects[projectName]; const appTargets = project.targets || project.architect; appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox'; - appTargets.test.options.karmaConfig = karmaConf; }); } From 451975f7650041a83994e1308f85fe7e33a31e32 Mon Sep 17 00:00:00 2001 From: ced Date: Thu, 24 Nov 2022 14:08:54 +0100 Subject: [PATCH 1170/1388] fix(@schematics/angular): use proper variable in resolver functional spec --- .../__name@dasherize__.resolver.spec.ts.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template index 32cc699ae35d..4e03cb15174e 100644 --- a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template +++ b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.spec.ts.template @@ -12,6 +12,6 @@ describe('<%= camelize(name) %>Resolver', () => { }); it('should be created', () => { - expect(resolver).toBeTruthy(); + expect(executeResolver).toBeTruthy(); }); }); From b11d3f6442d38f609471ab19c08a1c9a871e0ae3 Mon Sep 17 00:00:00 2001 From: ced Date: Mon, 28 Nov 2022 14:41:57 +0100 Subject: [PATCH 1171/1388] fix(@schematics/angular): use proper variable in functional guard spec --- .../guard/type-files/__name@dasherize__.guard.spec.ts.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template index b94ec6a60f30..cac21bb020d3 100644 --- a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template +++ b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.spec.ts.template @@ -12,6 +12,6 @@ describe('<%= camelize(name) %>Guard', () => { }); it('should be created', () => { - expect(<%= camelize(name) %>Guard).toBeTruthy(); + expect(executeGuard).toBeTruthy(); }); }); From c9608f5ec9d1b76f3183e56131641319f7e1718d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Nov 2022 15:05:06 +0100 Subject: [PATCH 1172/1388] Revert "fixup! test: run legacy-cli e2e tests via bazel" This reverts commit 9e5777052d7436b879e3c8f64c123fd0f70a3c9a. --- .../build_angular/src/builders/karma/index.ts | 6 -- .../e2e/assets/13.0-project/karma.conf.js | 13 +--- tests/legacy-cli/e2e/utils/project.ts | 66 +++++++++++++++++++ 3 files changed, 67 insertions(+), 18 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index ca105f161f96..50da6fe0f24c 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -222,12 +222,6 @@ function getBuiltInKarmaConfig( logLevel: karma.constants.LOG_INFO, autoWatch: true, browsers: ['Chrome'], - customLaunchers: { - ChromeHeadlessNoSandbox: { - base: 'ChromeHeadless', - flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'], - }, - }, restartOnFileChange: true, }; } diff --git a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js index 1d0cda7c76fc..ccec87ca2b1f 100644 --- a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js +++ b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js @@ -37,18 +37,7 @@ module.exports = function (config) { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['ChromeHeadlessNoSandbox'], - customLaunchers: { - ChromeHeadlessNoSandbox: { - base: 'ChromeHeadless', - flags: [ - '--no-sandbox', - '--headless', - '--disable-gpu', - '--disable-dev-shm-usage', - ], - } - }, + browsers: ['Chrome'], singleRun: false, restartOnFileChange: true }); diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 736b42634afd..791bb3e07f6a 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -187,6 +187,45 @@ export function useCIDefaults(projectName = 'test-project'): Promise { }); } +const KARMA_CONF_DEFAULT = ` + module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: {}, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/$PROJECT_NAME$'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); + }; +`; + export async function useCIChrome(projectName: string, projectDir = ''): Promise { const protractorConf = path.join(projectDir, 'protractor.conf.js'); if (fs.existsSync(protractorConf)) { @@ -206,11 +245,38 @@ export async function useCIChrome(projectName: string, projectDir = ''): Promise ); } + const karmaConf = path.join(projectDir, 'karma.conf.js'); + + // Create one with default config if it doesn't exist + if (!fs.existsSync(karmaConf)) { + await writeFile(karmaConf, KARMA_CONF_DEFAULT.replace('$PROJECT_NAME$', projectName)); + } + // Update to use the headless sandboxed chrome + await replaceInFile( + karmaConf, + /browsers:.*\]\s*,/, + ` + browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + ], + } + }, + `, + ); + return updateJsonFile('angular.json', (workspaceJson) => { const project = workspaceJson.projects[projectName]; const appTargets = project.targets || project.architect; appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox'; + appTargets.test.options.karmaConfig = karmaConf; }); } From 2589df0be18b33837c4a9cbe10bf21c212122c32 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Nov 2022 15:05:06 +0100 Subject: [PATCH 1173/1388] Revert "test: run legacy-cli e2e tests via bazel" This reverts commit 794e33ae72c15a628f308260020bc4da608c4996. --- .bazelrc | 4 - .circleci/dynamic_config.yml | 189 ++---------------- .circleci/env.sh | 5 - .circleci/win-ram-disk.ps1 | 3 +- BUILD.bazel | 9 - WORKSPACE | 11 - docs/DEVELOPER.md | 2 +- packages/angular/cli/src/utilities/version.ts | 2 +- tests/legacy-cli/BUILD.bazel | 12 +- tests/legacy-cli/e2e.bzl | 158 --------------- tests/legacy-cli/e2e/assets/BUILD.bazel | 8 +- .../e2e/initialize/500-create-project.ts | 13 +- tests/legacy-cli/e2e/initialize/BUILD.bazel | 2 +- tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel | 7 +- .../e2e/setup/001-create-tmp-dir.ts | 2 +- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 4 - tests/legacy-cli/e2e/tests/BUILD.bazel | 4 +- tests/legacy-cli/e2e/tests/basic/test.ts | 13 +- .../e2e/tests/build/esbuild-unsupported.ts | 6 - tests/legacy-cli/e2e/utils/BUILD.bazel | 5 +- tests/legacy-cli/e2e/utils/bazel.ts | 3 - tests/legacy-cli/e2e/utils/process.ts | 55 +---- tests/legacy-cli/e2e/utils/project.ts | 153 +++++--------- tests/legacy-cli/e2e/utils/utils.ts | 4 +- tests/legacy-cli/e2e_runner.ts | 95 ++------- tools/defaults.bzl | 2 +- 26 files changed, 119 insertions(+), 652 deletions(-) delete mode 100644 tests/legacy-cli/e2e.bzl delete mode 100644 tests/legacy-cli/e2e/utils/bazel.ts diff --git a/.bazelrc b/.bazelrc index 339e2d7fb22b..e3fb14bdabf7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -90,10 +90,6 @@ build:snapshot --workspace_status_command="yarn -s ng-dev release build-env-stam build:snapshot --stamp build:snapshot --//:enable_snapshot_repo_deps -build:e2e --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=release" -build:e2e --stamp -test:e2e --test_timeout=3600 - build:local --//:enable_package_json_tar_deps ############################### diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 8074cad85793..5dbea5ebedca 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -48,9 +48,7 @@ var_6: &only_pull_requests only: - /pull\/\d+/ -# All e2e test suites var_7: &all_e2e_subsets ['npm', 'esbuild', 'yarn'] -var_8: &all_e2e_build_types ['e2e', 'snapshot'] # Executor Definitions # https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors @@ -65,20 +63,10 @@ executors: working_directory: ~/ng resource_class: small - bazel-executor: - parameters: - nodeversion: - type: string - default: *default_nodeversion - docker: - - image: cimg/node:<< parameters.nodeversion >>-browsers - working_directory: ~/ng - resource_class: xlarge - windows-executor: # Same as https://circleci.com/orbs/registry/orb/circleci/windows, but named. working_directory: ~/ng - resource_class: windows.large + resource_class: windows.medium shell: powershell.exe -ExecutionPolicy Bypass machine: # Contents of this image: @@ -128,7 +116,7 @@ commands: - initialize_env - run: nvm install 16.13 - run: nvm use 16.13 - - run: npm install -g yarn@1.22.10 @bazel/bazelisk@${BAZELISK_VERSION} + - run: npm install -g yarn@1.22.10 - run: node --version - run: yarn --version @@ -138,7 +126,6 @@ commands: type: env_var_name default: CIRCLE_PROJECT_REPONAME steps: - - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - devinfra/setup-bazel-remote-exec: bazelrc: ./.bazelrc.user @@ -282,24 +269,23 @@ jobs: paths: - dist/_*.tgz - bazel-build: - executor: bazel-executor + build-bazel-e2e: + executor: action-executor + resource_class: medium steps: - custom_attach_workspace - - setup_bazel_rbe - - run: - name: Bazel Build Packages - command: yarn bazel build //... - - fail_fast + - run: yarn bazel build //tests/legacy-cli/... - bazel-test: - executor: bazel-executor + unit-test: + executor: action-executor + resource_class: xlarge parameters: nodeversion: type: string default: *default_nodeversion_major steps: - custom_attach_workspace + - browser-tools/install-chrome - setup_bazel_rbe - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - when: @@ -325,59 +311,6 @@ jobs: no_output_timeout: 40m - fail_fast - bazel-e2e-tests: - executor: bazel-executor - parallelism: 8 - parameters: - build_type: - type: enum - enum: *all_e2e_build_types - default: 'e2e' - subset: - type: enum - enum: *all_e2e_subsets - default: 'npm' - steps: - - custom_attach_workspace - - initialize_env - - setup_bazel_rbe - - run: mkdir /mnt/ramdisk/e2e - - run: - name: Test << parameters.build_type >> << parameters.subset >> - command: yarn bazel test --define=E2E_TEMP=/mnt/ramdisk/e2e --define=E2E_SHARD_TOTAL=${CIRCLE_NODE_TOTAL} --define=E2E_SHARD_INDEX=${CIRCLE_NODE_INDEX} --config=<< parameters.build_type >> //tests/legacy-cli:e2e.<< parameters.subset >> - no_output_timeout: 40m - - store_artifacts: - path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> - - store_test_results: - path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> - - fail_fast - - bazel-test-browsers: - executor: bazel-executor - steps: - - custom_attach_workspace - - initialize_env - - setup_bazel_rbe - - run: - name: Initialize Saucelabs - command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) - - run: - name: Start Saucelabs Tunnel - command: ./scripts/saucelabs/start-tunnel.sh - background: true - # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests - # too early without Saucelabs not being ready. - - run: ./scripts/saucelabs/wait-for-tunnel.sh - - run: - name: E2E Saucelabs Tests - command: yarn bazel test --config=saucelabs //tests/legacy-cli:e2e.saucelabs - - run: ./scripts/saucelabs/stop-tunnel.sh - - store_artifacts: - path: dist/testlogs/tests/legacy-cli/e2e.saucelabs - - store_test_results: - path: dist/testlogs/tests/legacy-cli/e2e.saucelabs - - fail_fast - snapshot_publish: executor: action-executor resource_class: medium @@ -449,48 +382,6 @@ jobs: node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main --ignore="tests/misc/browsers.ts" - fail_fast - bazel-e2e-cli-win: - executor: windows-executor - parallelism: 12 - steps: - - checkout - - rebase_pr_win - - setup_windows - - restore_cache: - keys: - - *cache_key_win - - run: - # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 - # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 - name: 'Arsenal Image Mounter (RAM Disk)' - command: | - pwsh ./.circleci/win-ram-disk.ps1 - - run: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn - - save_cache: - key: *cache_key_win - paths: - - ~/.cache/yarn - # Path where Arsenal Image Mounter files are downloaded. - # Must match path in .circleci/win-ram-disk.ps1 - - ./aim - - run: - name: Execute E2E Tests - environment: - # Required by `yarn ng-dev` - # See https://github.com/angular/angular/issues/46858 - PWD: . - command: | - mkdir X:/ramdisk/e2e - bazel test --define=E2E_TEMP=X:/ramdisk/e2e --define=E2E_SHARD_TOTAL=$env:CIRCLE_NODE_TOTAL --define=E2E_SHARD_INDEX=$env:CIRCLE_NODE_INDEX --config=e2e //tests/legacy-cli:e2e.npm - # This timeout provides time for the actual tests to timeout and report status - # instead of CircleCI stopping the job without test failure information. - no_output_timeout: 40m - - fail_fast - - store_artifacts: - path: dist/testlogs/tests/legacy-cli/e2e.npm - - store_test_results: - path: dist/testlogs/tests/legacy-cli/e2e.npm - workflows: version: 2 default_workflow: @@ -566,66 +457,22 @@ workflows: # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and # will catch any build errors before proceeding to the more lengthy and resource intensive # Bazel jobs. - - bazel-test: + - unit-test: name: test-node<< matrix.nodeversion >> matrix: parameters: nodeversion: *all_nodeversion_major requires: - - bazel-build - - # Windows jobs - - e2e-cli-win - - - bazel-e2e-cli-win - - # Bazel jobs - - bazel-build: - requires: - - setup - - - bazel-e2e-tests: - name: bazel-e2e-cli-<< matrix.subset >> - matrix: - parameters: - subset: *all_e2e_subsets - build_type: 'e2e' - filters: - branches: - ignore: - - main - - /\d+\.\d+\.x/ - requires: - - bazel-build + - build - - bazel-e2e-tests: - name: bazel-e2e-snapshots-<< matrix.subset >> - matrix: - parameters: - subset: *all_e2e_subsets - build_type: 'snapshot' - pre-steps: - - when: - condition: - and: - - not: - equal: [main, << pipeline.git.branch >>] - - not: << pipeline.parameters.snapshot_changed >> - steps: - # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. - - run: circleci-agent step halt + # Compile the e2e tests with bazel to ensure the non-runtime typescript + # compilation completes succesfully. + - build-bazel-e2e: requires: - - bazel-build - filters: - branches: - only: - - main - # This is needed to run this steps on Renovate PRs that amend the snapshots package.json - - /^pull\/.*/ + - build - - bazel-test-browsers: - requires: - - bazel-build + # Windows jobs + - e2e-cli-win # Publish jobs - snapshot_publish: diff --git a/.circleci/env.sh b/.circleci/env.sh index e6ae354a6a7c..6ec09ef85153 100755 --- a/.circleci/env.sh +++ b/.circleci/env.sh @@ -36,8 +36,3 @@ source $BASH_ENV; # Disable husky. setPublicVar HUSKY 0 - -# Expose the Bazelisk version. We need to run Bazelisk globally since Windows has problems launching -# Bazel from a node modules directoy that might be modified by the Bazel Yarn install then. -setPublicVar BAZELISK_VERSION \ - "$(cd ${PROJECT_ROOT}; node -p 'require("./package.json").devDependencies["@bazel/bazelisk"]')" \ No newline at end of file diff --git a/.circleci/win-ram-disk.ps1 b/.circleci/win-ram-disk.ps1 index a73bdcdb06b7..5d16d8b8a11d 100644 --- a/.circleci/win-ram-disk.ps1 +++ b/.circleci/win-ram-disk.ps1 @@ -26,6 +26,5 @@ if (-not (Test-Path -Path $aimContents)) { ./aim/cli/x64/aim_ll.exe --install ./aim/drivers # Setup RAM disk mount. Same parameters as ImDisk -# Ensure size is large enough to support the bazel 'shard_count's such as for e2e tests. # See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk -./aim/cli/x64/aim_ll.exe -a -s 12G -m X: -p "/fs:ntfs /q /y" +./aim/cli/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" diff --git a/BUILD.bazel b/BUILD.bazel index b498ed4a3e94..3fc46c3f3b32 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -3,7 +3,6 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") -load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") package(default_visibility = ["//visibility:public"]) @@ -17,14 +16,6 @@ exports_files([ "package.json", ]) -# Files required by e2e tests -copy_to_bin( - name = "config-files", - srcs = [ - "package.json", - ], -) - # Detect if the build is running under --stamp config_setting( name = "stamp", diff --git a/WORKSPACE b/WORKSPACE index fcb463c04996..af01de409336 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -98,14 +98,3 @@ nodejs_register_toolchains( name = "node16", node_version = "16.13.1", ) - -register_toolchains( - "@npm//@angular/build-tooling/bazel/git-toolchain:git_linux_toolchain", - "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_x86_toolchain", - "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_arm64_toolchain", - "@npm//@angular/build-tooling/bazel/git-toolchain:git_windows_toolchain", -) - -load("@npm//@angular/build-tooling/bazel/browsers:browser_repositories.bzl", "browser_repositories") - -browser_repositories() diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index fef7faa06eae..cc06b685550c 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -85,7 +85,7 @@ You can find more info about debugging [tests with Bazel in the docs.](https://g - Compile the packages being tested: `yarn build` - Run all tests: `node tests/legacy-cli/run_e2e.js` - Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` -- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` +- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz ...` When running the debug commands, Node will stop and wait for a debugger to attach. You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a diff --git a/packages/angular/cli/src/utilities/version.ts b/packages/angular/cli/src/utilities/version.ts index 777c3de165f6..2c9db37d69a9 100644 --- a/packages/angular/cli/src/utilities/version.ts +++ b/packages/angular/cli/src/utilities/version.ts @@ -23,7 +23,7 @@ class Version { } } -// TODO(bazel): Convert this to use build-time version stamping after flipping the build script to use bazel +// TODO: Convert this to use build-time version stamping after flipping the build script to use bazel // export const VERSION = new Version('0.0.0-PLACEHOLDER'); export const VERSION = new Version( ( diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel index 00be22b4442e..cbd1ea4fc4ca 100644 --- a/tests/legacy-cli/BUILD.bazel +++ b/tests/legacy-cli/BUILD.bazel @@ -1,5 +1,4 @@ load("//tools:defaults.bzl", "ts_library") -load(":e2e.bzl", "e2e_suites") ts_library( name = "runner", @@ -12,25 +11,16 @@ ts_library( deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", + "//tests/legacy-cli/e2e/assets", "//tests/legacy-cli/e2e/utils", "@npm//@types/glob", "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//yargs-parser", - ], -) -e2e_suites( - name = "e2e", - data = [ - ":runner", - - # Tests + setup # Loaded dynamically at runtime, not compiletime deps - "//tests/legacy-cli/e2e/assets", "//tests/legacy-cli/e2e/setup", "//tests/legacy-cli/e2e/initialize", "//tests/legacy-cli/e2e/tests", ], - runner = ":e2e_runner.ts", ) diff --git a/tests/legacy-cli/e2e.bzl b/tests/legacy-cli/e2e.bzl deleted file mode 100644 index 9df4beca88f0..000000000000 --- a/tests/legacy-cli/e2e.bzl +++ /dev/null @@ -1,158 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_test") - -# bazel query --output=label "kind('pkg_tar', //packages/...)" -TESTED_PACKAGES = [ - "//packages/angular/cli:npm_package_archive.tgz", - "//packages/angular/create:npm_package_archive.tgz", - "//packages/angular/pwa:npm_package_archive.tgz", - "//packages/angular_devkit/architect:npm_package_archive.tgz", - "//packages/angular_devkit/architect_cli:npm_package_archive.tgz", - # this is private so don't use here - # "//packages/angular_devkit/benchmark:npm_package_archive.tgz", - "//packages/angular_devkit/build_angular:npm_package_archive.tgz", - "//packages/angular_devkit/build_webpack:npm_package_archive.tgz", - "//packages/angular_devkit/core:npm_package_archive.tgz", - "//packages/angular_devkit/schematics:npm_package_archive.tgz", - "//packages/angular_devkit/schematics_cli:npm_package_archive.tgz", - "//packages/ngtools/webpack:npm_package_archive.tgz", - "//packages/schematics/angular:npm_package_archive.tgz", -] - -# Number of bazel shards per test target -TEST_SHARD_COUNT = 4 - -# NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver -# Requires network to fetch npm packages. -TEST_TAGS = ["no-remote-exec", "requires-network"] - -# Subset of tests for yarn/esbuild -BROWSER_TESTS = ["tests/misc/browsers.js"] -YARN_TESTS = ["tests/basic/**", "tests/update/**", "tests/commands/add/**"] -ESBUILD_TESTS = ["tests/basic/**", "tests/build/prod-build.js"] - -# Tests excluded for esbuild -ESBUILD_IGNORE_TESTS = [ - "tests/basic/environment.js", - "tests/basic/rebuild.js", - "tests/basic/serve.js", - "tests/basic/scripts-array.js", -] - -def _to_glob(patterns): - if len(patterns) == 1: - return patterns[0] - - return "\"{%s}\"" % ",".join(patterns) - -def e2e_suites(name, runner, data): - """ - Construct all e2e test suite targets - - Args: - name: the prefix to all rules - runner: the e2e test runner entry point - data: runtime deps such as tests and test data - """ - - # Default target meant to be run manually for debugging, customizing test cli via bazel - _e2e_tests(name, runner = runner, data = data, tags = ["manual"]) - - # Pre-configured test suites - # TODO: add node 14 + 16 - _e2e_suite(name, runner, "npm", data) - _e2e_suite(name, runner, "yarn", data) - _e2e_suite(name, runner, "esbuild", data) - _e2e_suite(name, runner, "saucelabs", data) - -def _e2e_tests(name, runner, **kwargs): - # Always specify all the npm packages - args = kwargs.pop("templated_args", []) + ["--package"] + [ - "$(rootpath %s)" % p - for p in TESTED_PACKAGES - ] - - # Always add all the npm packages as data - data = kwargs.pop("data", []) + TESTED_PACKAGES - - # Tags that must always be applied - tags = kwargs.pop("tags", []) + TEST_TAGS - - # Passthru E2E variables in case it is customized by CI etc - configuration_env_vars = kwargs.pop("configuration_env_vars", []) + ["E2E_TEMP", "E2E_SHARD_INDEX", "E2E_SHARD_TOTAL"] - - env = kwargs.pop("env", {}) - toolchains = kwargs.pop("toolchains", []) - - # The git toolchain + env - env.update({"GIT_BIN": "$(GIT_BIN_PATH)"}) - toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/git-toolchain:current_git_toolchain"] - - # Chromium browser toolchain - env.update({ - "CHROME_BIN": "$(CHROMIUM)", - "CHROMEDRIVER_BIN": "$(CHROMEDRIVER)", - }) - toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/browsers/chromium:toolchain_alias"] - data = data + ["@npm//@angular/build-tooling/bazel/browsers/chromium"] - - nodejs_test( - name = name, - templated_args = args, - data = data, - entry_point = runner, - env = env, - configuration_env_vars = configuration_env_vars, - tags = tags, - toolchains = toolchains, - **kwargs - ) - -def _e2e_suite(name, runner, type, data): - """ - Setup a predefined test suite (yarn|esbuild|saucelabs|npm). - """ - args = [] - tests = None - ignore = None - - if type == "yarn": - args.append("--yarn") - tests = YARN_TESTS - ignore = BROWSER_TESTS - elif type == "esbuild": - args.append("--esbuild") - tests = ESBUILD_TESTS - ignore = BROWSER_TESTS + ESBUILD_IGNORE_TESTS - elif type == "saucelabs": - tests = BROWSER_TESTS - ignore = None - elif type == "npm": - tests = None - ignore = BROWSER_TESTS - - # Standard e2e tests - _e2e_tests( - name = "%s.%s" % (name, type), - runner = runner, - size = "enormous", - data = data, - shard_count = TEST_SHARD_COUNT, - templated_args = [ - "--glob=%s" % _to_glob(tests) if tests else "", - "--ignore=%s" % _to_glob(ignore) if ignore else "", - ], - ) - - # e2e tests of snapshot builds - _e2e_tests( - name = "%s.snapshot.%s" % (name, type), - runner = runner, - size = "enormous", - data = data, - shard_count = TEST_SHARD_COUNT, - templated_args = [ - "--ng-snapshots", - "--glob=%s" % _to_glob(tests) if tests else "", - "--ignore=%s" % _to_glob(ignore) if ignore else "", - ], - ) diff --git a/tests/legacy-cli/e2e/assets/BUILD.bazel b/tests/legacy-cli/e2e/assets/BUILD.bazel index a2889b56559f..c5067a937896 100644 --- a/tests/legacy-cli/e2e/assets/BUILD.bazel +++ b/tests/legacy-cli/e2e/assets/BUILD.bazel @@ -1,7 +1,11 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") +load("//tools:defaults.bzl", "js_library") -copy_to_bin( +js_library( name = "assets", srcs = glob(["**"]), visibility = ["//visibility:public"], + deps = [ + "@npm//jasmine-spec-reporter", + "@npm//ts-node", + ], ) diff --git a/tests/legacy-cli/e2e/initialize/500-create-project.ts b/tests/legacy-cli/e2e/initialize/500-create-project.ts index b5ce6bd074d0..d53bae11acea 100644 --- a/tests/legacy-cli/e2e/initialize/500-create-project.ts +++ b/tests/legacy-cli/e2e/initialize/500-create-project.ts @@ -1,6 +1,5 @@ import { join } from 'path'; import yargsParser from 'yargs-parser'; -import { IS_BAZEL } from '../utils/bazel'; import { getGlobalVariable } from '../utils/env'; import { expectFileToExist } from '../utils/fs'; import { gitClean } from '../utils/git'; @@ -24,13 +23,11 @@ export default async function () { // Install puppeteer in the parent directory for use by the CLI within any test project. // Align the version with the primary project package.json. - // Bazel has own browser toolchains - // TODO(bazel): remove non-bazel - if (!IS_BAZEL) { - const puppeteerVersion = - require('../../../../package.json').devDependencies.puppeteer.replace(/^[\^~]/, ''); - await installPackage(`puppeteer@${puppeteerVersion}`); - } + const puppeteerVersion = require('../../../../package.json').devDependencies.puppeteer.replace( + /^[\^~]/, + '', + ); + await installPackage(`puppeteer@${puppeteerVersion}`); await ng('new', 'test-project', '--skip-install'); await expectFileToExist(join(process.cwd(), 'test-project')); diff --git a/tests/legacy-cli/e2e/initialize/BUILD.bazel b/tests/legacy-cli/e2e/initialize/BUILD.bazel index 5beccd6620af..00735969e9ab 100644 --- a/tests/legacy-cli/e2e/initialize/BUILD.bazel +++ b/tests/legacy-cli/e2e/initialize/BUILD.bazel @@ -5,7 +5,7 @@ ts_library( testonly = True, srcs = glob(["**/*.ts"]), data = [ - "//:config-files", + "//:package.json", ], visibility = ["//visibility:public"], deps = [ diff --git a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel index 079ffeb1accc..5a929766ca6f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel +++ b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel @@ -1,7 +1,8 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") +load("//tools:defaults.bzl", "ts_library") -copy_to_bin( +ts_library( name = "ng-snapshot", - srcs = ["package.json"], + srcs = [], + data = ["package.json"], visibility = ["//visibility:public"], ) diff --git a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts index 29c403be85de..07c5855a8394 100644 --- a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts +++ b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts @@ -12,7 +12,7 @@ export default async function () { } else if (argv.tmpdir) { tempRoot = argv.tmpdir; } else { - tempRoot = await mktempd('angular-cli-e2e-', process.env.E2E_TEMP); + tempRoot = await mktempd('angular-cli-e2e-'); } console.log(` Using "${tempRoot}" as temporary directory for a new project.`); setGlobalVariable('tmp-root', tempRoot); diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 98d7f04dda21..295a89ec1df0 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -24,10 +24,6 @@ export default async function () { process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; process.env.YARN_CONFIG_PREFIX = yarnModulesPrefix; - // Put the npm+yarn caches in the temp dir - process.env.NPM_CONFIG_CACHE = join(tempRoot, 'npm-cache'); - process.env.YARN_CACHE_FOLDER = join(tempRoot, 'yarn-cache'); - // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. // To support this case, legacy peer dependency mode is enabled for snapshot builds. diff --git a/tests/legacy-cli/e2e/tests/BUILD.bazel b/tests/legacy-cli/e2e/tests/BUILD.bazel index 308544663f00..4f01d7fc3887 100644 --- a/tests/legacy-cli/e2e/tests/BUILD.bazel +++ b/tests/legacy-cli/e2e/tests/BUILD.bazel @@ -4,11 +4,9 @@ ts_library( name = "tests", testonly = True, srcs = glob(["**/*.ts"]), - data = [ - "//tests/legacy-cli/e2e/ng-snapshot", - ], visibility = ["//visibility:public"], deps = [ + "//tests/legacy-cli/e2e/ng-snapshot", "//tests/legacy-cli/e2e/utils", "@npm//@types/express", "@npm//@types/glob", diff --git a/tests/legacy-cli/e2e/tests/basic/test.ts b/tests/legacy-cli/e2e/tests/basic/test.ts index d9066946ae8e..3c0c2d99ee68 100644 --- a/tests/legacy-cli/e2e/tests/basic/test.ts +++ b/tests/legacy-cli/e2e/tests/basic/test.ts @@ -29,18 +29,7 @@ export default async function () { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['ChromeHeadlessNoSandbox'], - customLaunchers: { - ChromeHeadlessNoSandbox: { - base: 'ChromeHeadless', - flags: [ - '--no-sandbox', - '--headless', - '--disable-gpu', - '--disable-dev-shm-usage', - ], - } - }, + browsers: ['ChromeHeadless'], singleRun: false, restartOnFileChange: true }); diff --git a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts index b2dab3bbac07..0a3681549d3d 100644 --- a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts +++ b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts @@ -1,13 +1,7 @@ import { join } from 'path'; -import { IS_BAZEL } from '../../utils/bazel'; import { execWithEnv } from '../../utils/process'; export default async function () { - // TODO(bazel): fails with bazel on windows - if (IS_BAZEL && process.platform.startsWith('win')) { - return; - } - // Set the esbuild native binary path to a non-existent file to simulate a spawn error. // The build should still succeed by falling back to the WASM variant of esbuild. await execWithEnv('ng', ['build'], { diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel index 68301d92bb69..7a242b4bd137 100644 --- a/tests/legacy-cli/e2e/utils/BUILD.bazel +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -4,11 +4,9 @@ ts_library( name = "utils", testonly = True, srcs = glob(["**/*.ts"]), - data = [ - "//tests/legacy-cli/e2e/ng-snapshot", - ], visibility = ["//visibility:public"], deps = [ + "//tests/legacy-cli/e2e/ng-snapshot", "@npm//@types/glob", "@npm//@types/node-fetch", "@npm//@types/semver", @@ -18,6 +16,7 @@ ts_library( "@npm//glob", "@npm//npm", "@npm//protractor", + "@npm//puppeteer", "@npm//rxjs", "@npm//semver", "@npm//tar", diff --git a/tests/legacy-cli/e2e/utils/bazel.ts b/tests/legacy-cli/e2e/utils/bazel.ts deleted file mode 100644 index 06a99f9023d5..000000000000 --- a/tests/legacy-cli/e2e/utils/bazel.ts +++ /dev/null @@ -1,3 +0,0 @@ -// TODO(bazel): remove this along with any non-bazel specific logic using it. - -export const IS_BAZEL = !!process.env.BAZEL_TARGET; diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index fa5f8afc3e2c..9ce14fb939f2 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -7,7 +7,6 @@ import { getGlobalVariable, getGlobalVariablesEnv } from './env'; import { catchError } from 'rxjs/operators'; import treeKill from 'tree-kill'; import { delimiter, join, resolve } from 'path'; -import { IS_BAZEL } from './bazel'; interface ExecOptions { silent?: boolean; @@ -168,23 +167,7 @@ export function extractNpmEnv() { function extractCIEnv(): NodeJS.ProcessEnv { return Object.keys(process.env) - .filter( - (v) => - v.startsWith('SAUCE_') || - v === 'CI' || - v === 'CIRCLECI' || - v === 'CHROME_BIN' || - v === 'CHROMEDRIVER_BIN', - ) - .reduce((vars, n) => { - vars[n] = process.env[n]; - return vars; - }, {}); -} - -function extractNgEnv() { - return Object.keys(process.env) - .filter((v) => v.startsWith('NG_')) + .filter((v) => v.startsWith('SAUCE_') || v === 'CI' || v === 'CIRCLECI' || v === 'CHROME_BIN') .reduce((vars, n) => { vars[n] = process.env[n]; return vars; @@ -374,11 +357,11 @@ export function node(...args: string[]) { } export function git(...args: string[]) { - return _exec({}, process.env.GIT_BIN || 'git', args); + return _exec({}, 'git', args); } export function silentGit(...args: string[]) { - return _exec({ silent: true }, process.env.GIT_BIN || 'git', args); + return _exec({ silent: true }, 'git', args); } /** @@ -389,42 +372,24 @@ export function silentGit(...args: string[]) { * registry (not the test runner or standard global node_modules). */ export async function launchTestProcess(entry: string, ...args: any[]): Promise { - // NOTE: do NOT use the bazel TEST_TMPDIR. When sandboxing is not enabled the - // TEST_TMPDIR is not sandboxed and has symlinks into the src dir in a - // parent directory. Symlinks into the src dir will include package.json, - // .git and other files/folders that may effect e2e tests. - const tempRoot: string = getGlobalVariable('tmp-root'); - const TEMP = process.env.TEMP ?? process.env.TMPDIR ?? tempRoot; // Extract explicit environment variables for the test process. const env: NodeJS.ProcessEnv = { - TEMP, - TMPDIR: TEMP, - HOME: TEMP, - - // Use BAZEL_TARGET as a metadata variable to show it is a - // process managed by bazel - BAZEL_TARGET: process.env.BAZEL_TARGET, - ...extractNpmEnv(), ...extractCIEnv(), - ...extractNgEnv(), ...getGlobalVariablesEnv(), }; - // Only include paths within the sandboxed test environment or external - // non angular-cli paths such as /usr/bin for generic commands. - env.PATH = process.env - .PATH!.split(delimiter) - .filter((p) => p.startsWith(tempRoot) || p.startsWith(TEMP) || !p.includes('angular-cli')) + // Modify the PATH environment variable... + env.PATH = (env.PATH || process.env.PATH) + ?.split(delimiter) + // Only include paths within the sandboxed test environment or external + // non angular-cli paths such as /usr/bin for generic commands. + .filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')) .join(delimiter); - const testProcessArgs = [ - resolve(__dirname, IS_BAZEL ? 'test_process' : 'run_test_process'), - entry, - ...args, - ]; + const testProcessArgs = [resolve(__dirname, 'run_test_process'), entry, ...args]; return new Promise((resolve, reject) => { spawn(process.execPath, testProcessArgs, { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 791bb3e07f6a..1f25eb78105f 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -2,9 +2,8 @@ import * as fs from 'fs'; import * as path from 'path'; import { prerelease, SemVer } from 'semver'; import yargsParser from 'yargs-parser'; -import { IS_BAZEL } from './bazel'; import { getGlobalVariable } from './env'; -import { readFile, replaceInFile, writeFile } from './fs'; +import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; import { findFreePort } from './network'; import { installWorkspacePackages, PkgInfo } from './packages'; @@ -51,41 +50,37 @@ export async function prepareProjectForE2e(name: string) { await installWorkspacePackages(); await ng('generate', 'e2e', '--related-app-name', name); - // bazel will use its own sandboxed browser + webdriver - // TODO(bazel): remove non-bazel - if (!IS_BAZEL) { - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { + chrome: { last: string }; + }; - const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; - if (!chromeDriverVersion) { - throw new Error('Could not extract chrome webdriver version.'); - } + const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; + if (!chromeDriverVersion) { + throw new Error('Could not extract chrome webdriver version.'); + } - // Initialize selenium webdriver. - // Often fails the first time so attempt twice if necessary. - const runWebdriverUpdate = () => - exec( - process.execPath, - 'node_modules/protractor/bin/webdriver-manager', - 'update', - '--standalone', - 'false', - '--gecko', - 'false', - '--versions.chrome', - chromeDriverVersion, - ); - try { - await runWebdriverUpdate(); - } catch { - await runWebdriverUpdate(); - } + // Initialize selenium webdriver. + // Often fails the first time so attempt twice if necessary. + const runWebdriverUpdate = () => + exec( + process.execPath, + 'node_modules/protractor/bin/webdriver-manager', + 'update', + '--standalone', + 'false', + '--gecko', + 'false', + '--versions.chrome', + chromeDriverVersion, + ); + try { + await runWebdriverUpdate(); + } catch { + await runWebdriverUpdate(); } await useCIChrome(name, 'e2e'); @@ -187,96 +182,42 @@ export function useCIDefaults(projectName = 'test-project'): Promise { }); } -const KARMA_CONF_DEFAULT = ` - module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - jasmine: {}, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, './coverage/$PROJECT_NAME$'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); - }; -`; - export async function useCIChrome(projectName: string, projectDir = ''): Promise { const protractorConf = path.join(projectDir, 'protractor.conf.js'); + const chromePath = require('puppeteer').executablePath(); + + // Use Puppeteer in protractor if a config is found on the project. if (fs.existsSync(protractorConf)) { + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { + chrome: { last: string }; + }; + const chromeDriverPath = webdriverUpdate.chrome.last; + await replaceInFile( protractorConf, `browserName: 'chrome'`, `browserName: 'chrome', chromeOptions: { - args: ['--headless', '--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage'], - binary: String.raw\`${process.env.CHROME_BIN}\`, + args: ['--headless'], + binary: String.raw\`${chromePath}\`, }`, ); await replaceInFile( protractorConf, 'directConnect: true,', - `directConnect: true, chromeDriver: String.raw\`${process.env.CHROMEDRIVER_BIN}\`,`, + `directConnect: true, chromeDriver: String.raw\`${chromeDriverPath}\`,`, ); } - const karmaConf = path.join(projectDir, 'karma.conf.js'); - - // Create one with default config if it doesn't exist - if (!fs.existsSync(karmaConf)) { - await writeFile(karmaConf, KARMA_CONF_DEFAULT.replace('$PROJECT_NAME$', projectName)); - } - - // Update to use the headless sandboxed chrome - await replaceInFile( - karmaConf, - /browsers:.*\]\s*,/, - ` - browsers: ['ChromeHeadlessNoSandbox'], - customLaunchers: { - ChromeHeadlessNoSandbox: { - base: 'ChromeHeadless', - flags: [ - '--no-sandbox', - '--headless', - '--disable-gpu', - '--disable-dev-shm-usage', - ], - } - }, - `, - ); - + // Use ChromeHeadless. return updateJsonFile('angular.json', (workspaceJson) => { const project = workspaceJson.projects[projectName]; const appTargets = project.targets || project.architect; - appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox'; - appTargets.test.options.karmaConfig = karmaConf; + appTargets.test.options.browsers = 'ChromeHeadless'; }); } diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index b5a9901b448d..6e9c8da3e756 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -24,8 +24,8 @@ export function wait(msecs: number): Promise { }); } -export async function mktempd(prefix: string, tempRoot?: string): Promise { - return realpath(await mkdtemp(path.join(tempRoot ?? tmpdir(), prefix))); +export async function mktempd(prefix: string): Promise { + return realpath(await mkdtemp(path.join(tmpdir(), prefix))); } export async function mockHome(cb: (home: string) => Promise): Promise { diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index ef28132e58c9..fa5ecd74bb23 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -8,11 +8,10 @@ import { getGlobalVariable, setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; import { launchTestProcess } from './e2e/utils/process'; -import { delimiter, dirname, join } from 'path'; -import { IS_BAZEL } from './e2e/utils/bazel'; +import { join } from 'path'; import { findFreePort } from './e2e/utils/network'; import { extractFile } from './e2e/utils/tar'; -import { readFileSync, realpathSync } from 'fs'; +import { realpathSync } from 'fs'; import { PkgInfo } from './e2e/utils/packages'; Error.stackTraceLimit = Infinity; @@ -62,16 +61,6 @@ const argv = yargsParser(process.argv.slice(2), { }, default: { 'package': ['./dist/_*.tgz'], - - 'debug': !!process.env.BUILD_WORKSPACE_DIRECTORY, - 'glob': process.env.TESTBRIDGE_TEST_ONLY, - 'nb-shards': - Number(process.env.E2E_SHARD_TOTAL ?? 1) * Number(process.env.TEST_TOTAL_SHARDS ?? 1) || 1, - 'shard': - process.env.E2E_SHARD_INDEX === undefined && process.env.TEST_SHARD_INDEX === undefined - ? undefined - : Number(process.env.E2E_SHARD_INDEX ?? 0) * Number(process.env.TEST_TOTAL_SHARDS ?? 1) + - Number(process.env.TEST_SHARD_INDEX ?? 0), }, }); @@ -91,20 +80,6 @@ process.exitCode = 255; */ process.env.LEGACY_CLI_RUNNER = '1'; -/** - * Add external git toolchain onto PATH - */ -if (process.env.GIT_BIN) { - process.env.PATH = process.env.PATH! + delimiter + dirname(process.env.GIT_BIN!); -} - -/** - * Add external browser toolchains onto PATH - */ -if (process.env.CHROME_BIN) { - process.env.PATH = process.env.PATH! + delimiter + dirname(process.env.CHROME_BIN!); -} - const logger = createConsoleLogger(argv.verbose, process.stdout, process.stderr, { info: (s) => s, debug: (s) => s, @@ -118,27 +93,17 @@ function lastLogger() { return logStack[logStack.length - 1]; } -// Under bazel the compiled file (.js) and types (.d.ts) are available. -// Outside bazel the source .ts files are available. -const SRC_FILE_EXT = IS_BAZEL ? 'js' : 'ts'; -const SRC_FILE_EXT_RE = new RegExp(`\.${SRC_FILE_EXT}$`); - -const testGlob = argv.glob || `tests/**/*.${SRC_FILE_EXT}`; +const testGlob = argv.glob || 'tests/**/*.ts'; const e2eRoot = path.join(__dirname, 'e2e'); -const allSetups = glob.sync(`setup/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }).sort(); -const allInitializers = glob - .sync(`initialize/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }) - .sort(); +const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); +const allInitializers = glob.sync('initialize/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); const allTests = glob .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. .map((name) => name.replace(/\\/g, '/')) .filter((name) => { - if (name.endsWith(`/setup.${SRC_FILE_EXT}`)) { - return false; - } - if (!SRC_FILE_EXT_RE.test(name)) { + if (name.endsWith('/setup.ts')) { return false; } @@ -157,8 +122,8 @@ const allTests = glob }) .sort(); -const shardId = argv['shard'] !== undefined ? Number(argv['shard']) : null; -const nbShards = shardId === null ? 1 : Number(argv['nb-shards']); +const shardId = 'shard' in argv ? argv['shard'] : null; +const nbShards = (shardId === null ? 1 : argv['nb-shards']) || 2; const tests = allTests.filter((name) => { // Check for naming tests on command line. if (argv._.length == 0) { @@ -169,7 +134,7 @@ const tests = allTests.filter((name) => { return ( path.join(process.cwd(), argName + '') == path.join(__dirname, 'e2e', name) || argName == name || - argName == name.replace(SRC_FILE_EXT_RE, '') + argName == name.replace(/\.ts$/, '') ); }); }); @@ -178,7 +143,7 @@ const tests = allTests.filter((name) => { const testsToRun = tests.filter((name, i) => shardId === null || i % nbShards == shardId); if (testsToRun.length === 0) { - if (shardId !== null && tests.length <= shardId) { + if (shardId !== null && tests.length >= shardId ? 1 : 0) { console.log(`No tests to run on shard ${shardId}, exiting.`); process.exit(0); } else { @@ -205,28 +170,9 @@ console.log(['Tests:', ...testsToRun].join('\n ')); setGlobalVariable('argv', argv); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); - -// Use the chrome supplied by bazel or the puppeteer chrome and webdriver-manager driver outside. -// This is needed by karma-chrome-launcher, protractor etc. +// This is needed by karma-chrome-launcher // https://github.com/karma-runner/karma-chrome-launcher#headless-chromium-with-puppeteer -// -// Resolve from relative paths to absolute paths within the bazel runfiles tree -// so subprocesses spawned in a different working directory can still find them. -process.env.CHROME_BIN = IS_BAZEL - ? path.resolve(process.env.CHROME_BIN!) - : require('puppeteer').executablePath(); -process.env.CHROMEDRIVER_BIN = IS_BAZEL - ? path.resolve(process.env.CHROMEDRIVER_BIN!) - : (function () { - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(readFileSync(webdriverUpdatePath).toString()) as { - chrome: { last: string }; - }; - return webdriverUpdate.chrome.last; - })(); +process.env['CHROME_BIN'] = require('puppeteer').executablePath(); Promise.all([findFreePort(), findFreePort(), findPackageTars()]) .then(async ([httpPort, httpsPort, packageTars]) => { @@ -291,12 +237,12 @@ async function runSteps( for (const [stepIndex, relativeName] of steps.entries()) { // Make sure this is a windows compatible path. - let absoluteName = path.join(e2eRoot, relativeName).replace(SRC_FILE_EXT_RE, ''); + let absoluteName = path.join(e2eRoot, relativeName).replace(/\.ts$/, ''); if (/^win/.test(process.platform)) { absoluteName = absoluteName.replace(/\\/g, path.posix.sep); } - const name = relativeName.replace(SRC_FILE_EXT_RE, ''); + const name = relativeName.replace(/\.ts$/, ''); const start = Date.now(); printHeader(relativeName, stepIndex, steps.length, type); @@ -351,7 +297,7 @@ function printHeader( type: 'setup' | 'initializer' | 'test', ) { const text = `${testIndex + 1} of ${count}`; - const fullIndex = testIndex * nbShards + (shardId ?? 0) + 1; + const fullIndex = testIndex * nbShards + shardId + 1; const shard = shardId === null || type !== 'test' ? '' @@ -382,16 +328,7 @@ async function findPackageTars(): Promise<{ [pkg: string]: PkgInfo }> { glob.sync(p, { realpath: true }), ); - const pkgJsons = await Promise.all( - pkgs.map(async (pkg) => { - try { - return await extractFile(pkg, './package/package.json'); - } catch (e) { - // TODO(bazel): currently the bazel npm packaging does not contain the standard npm ./package directory - return await extractFile(pkg, './package.json'); - } - }), - ); + const pkgJsons = await Promise.all(pkgs.map((pkg) => extractFile(pkg, './package/package.json'))); return pkgs.reduce((all, pkg, i) => { const json = pkgJsons[i].toString('utf8'); diff --git a/tools/defaults.bzl b/tools/defaults.bzl index e73154d3a2a2..2b7f8bea67f0 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -1,6 +1,6 @@ """Re-export of some bazel rules with repository-wide defaults.""" -load("@npm//@bazel/concatjs:index.bzl", _ts_library = "ts_library") +load("@npm//@bazel/concatjs/internal:build_defs.bzl", _ts_library = "ts_library_macro") load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _js_library = "js_library", _pkg_npm = "pkg_npm") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@npm//@angular/build-tooling/bazel:extract_js_module_output.bzl", "extract_js_module_output") From 9978b2c6a00063e61aeb2835580da11e552db3e0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Nov 2022 15:05:06 +0100 Subject: [PATCH 1174/1388] Revert "test: use execPath to launch child node processes" This reverts commit b8e68eb28aefa8c629fefb542db3860838110b43. --- tests/legacy-cli/e2e/utils/process.ts | 4 ++-- tests/legacy-cli/e2e/utils/project.ts | 2 +- tests/legacy-cli/e2e/utils/registry.ts | 12 ++++-------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 9ce14fb939f2..541aaf31a6a6 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -345,7 +345,7 @@ export function globalNpm(args: string[], env?: NodeJS.ProcessEnv) { ); } - return _exec({ silent: true, env }, process.execPath, [require.resolve('npm'), ...args]); + return _exec({ silent: true, env }, 'node', [require.resolve('npm'), ...args]); } export function npm(...args: string[]) { @@ -353,7 +353,7 @@ export function npm(...args: string[]) { } export function node(...args: string[]) { - return _exec({}, process.execPath, args); + return _exec({}, 'node', args); } export function git(...args: string[]) { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 1f25eb78105f..d48d6e6340be 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -67,7 +67,7 @@ export async function prepareProjectForE2e(name: string) { // Often fails the first time so attempt twice if necessary. const runWebdriverUpdate = () => exec( - process.execPath, + 'node', 'node_modules/protractor/bin/webdriver-manager', 'update', '--standalone', diff --git a/tests/legacy-cli/e2e/utils/registry.ts b/tests/legacy-cli/e2e/utils/registry.ts index 143d398093f1..3cfee5f71405 100644 --- a/tests/legacy-cli/e2e/utils/registry.ts +++ b/tests/legacy-cli/e2e/utils/registry.ts @@ -19,14 +19,10 @@ export async function createNpmRegistry( configContent = configContent.replace(/\$\{HTTPS_PORT\}/g, String(httpsPort)); await writeFile(join(registryPath, 'verdaccio.yaml'), configContent); - return spawn( - process.execPath, - [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], - { - cwd: registryPath, - stdio: 'inherit', - }, - ); + return spawn('node', [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], { + cwd: registryPath, + stdio: 'inherit', + }); } // Token was generated using `echo -n 'testing:s3cret' | openssl base64`. From b6f4b54acebad01269345f090e56c8f9f8b5a50e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Nov 2022 15:05:06 +0100 Subject: [PATCH 1175/1388] Revert "build: update bazel pkg tars to .tgz file extension" This reverts commit f3fd1e4ed86a940bd10cea8e386c86dbc117037d. --- scripts/build-bazel.ts | 2 +- tools/defaults.bzl | 6 +++--- tools/link_package_json_to_tarballs.bzl | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts index 32d73bf86dde..e38dd8622c41 100644 --- a/scripts/build-bazel.ts +++ b/scripts/build-bazel.ts @@ -139,7 +139,7 @@ export default async function ( for (const target of targets) { const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); - const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; + const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tar.gz`; const packageJsonPath = `${bazelOutDir}/package.json`; const packageName = require(packageJsonPath).name; const destDir = `${distRoot}/${packageName}`; diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 2b7f8bea67f0..50c21b3c82db 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -59,7 +59,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): in the same folder to exist. Args: - name: Name of the pkg_npm rule. '_archive.tgz' is appended to create the tarball. + name: Name of the pkg_npm rule. '_archive.tar.gz' is appended to create the tarball. pkg_deps: package.json files of dependent packages. These are used for local path substitutions when --config=local is set. use_prodmode_output: False to ship ES5 devmode output, True to ship ESM output. Defaults to False. **kwargs: Additional arguments passed to the real pkg_npm. @@ -116,7 +116,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): ) # Copy package.json files to bazel-out so we can use their bazel-out paths to determine - # the corresponding package npm package tgz path for substitutions. + # the corresponding package npm package tar.gz path for substitutions. copy_to_bin( name = "package_json_copy", srcs = [pkg_json], @@ -195,7 +195,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): pkg_tar( name = name + "_archive", srcs = [":%s" % name], - extension = "tgz", + extension = "tar.gz", strip_prefix = "./%s" % name, visibility = visibility, ) diff --git a/tools/link_package_json_to_tarballs.bzl b/tools/link_package_json_to_tarballs.bzl index a793d7875757..809e3a50add9 100644 --- a/tools/link_package_json_to_tarballs.bzl +++ b/tools/link_package_json_to_tarballs.bzl @@ -8,7 +8,7 @@ load("@aspect_bazel_lib//lib:utils.bzl", "to_label") def link_package_json_to_tarballs(name, src, pkg_deps, out): """Substitute tar paths into a package.json file for the packages it depends on. - src and pkg_deps must be labels in the bazel-out tree for the derived path to the npm_package_archive.tgz to be correct. + src and pkg_deps must be labels in the bazel-out tree for the derived path to the npm_package_archive.tar.gz to be correct. Args: name: Name of the rule @@ -41,7 +41,7 @@ def link_package_json_to_tarballs(name, src, pkg_deps, out): # for the tar for this package as that would create a circular dependency. pkg_label = to_label(pkg_dep) if pkg_label.package != src_pkg: - pkg_tar = "@%s//%s:npm_package_archive.tgz" % (pkg_label.workspace_name, pkg_label.package) + pkg_tar = "@%s//%s:npm_package_archive.tar.gz" % (pkg_label.workspace_name, pkg_label.package) srcs.append(pkg_tar) # Deriving the absolute path to the tar in the execroot requries different @@ -53,7 +53,7 @@ def link_package_json_to_tarballs(name, src, pkg_deps, out): name = "%s_%s_filter" % (name, i), srcs = srcs, cmd = """ - TAR=$$(dirname $$({abs_path_sandbox} || {abs_path_nosandbox}))/npm_package_archive.tgz + TAR=$$(dirname $$({abs_path_sandbox} || {abs_path_nosandbox}))/npm_package_archive.tar.gz PKGNAME=$$(cat $(execpath {pkg_name})) if [[ "$$TAR" != *bazel-out* ]]; then echo "ERROR: package.json passed to substitute_tar_deps must be in the output tree. You can use copy_to_bin to copy a source file to the output tree." From a07d701280dee7fd1d6519ee5a5a3ac48c313b15 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 28 Nov 2022 13:15:39 +0000 Subject: [PATCH 1176/1388] build: update all non-major dependencies (cherry picked from commit 2dad0e7829325a69747fb702fa614bd73281ceb0) --- WORKSPACE | 10 +- package.json | 16 +- .../angular_devkit/build_angular/package.json | 12 +- yarn.lock | 1294 +++++++---------- 4 files changed, 506 insertions(+), 826 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index af01de409336..26ca382600e1 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "5aae76dced38f784b58d9776e4ab12278bc156a9ed2b1d9fcd3e39921dc88fda", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.1/rules_nodejs-5.7.1.tar.gz"], + sha256 = "0e8a818724c0d5dcc10c31f9452ebd54b2ab94c452d4dcbb0d45a6636d2d5a44", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.2/rules_nodejs-5.7.2.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "695d319362b227725e4daa60d863b4d1969b167889902511f1fd3051cea1071f", - strip_prefix = "bazel-lib-1.16.3", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.16.3.tar.gz", + sha256 = "dee6d20f7c250a3808d601044ea187e41369a544f53f440b3bdafe0a7f53e553", + strip_prefix = "bazel-lib-1.17.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.17.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 0d46373dd8a5..393da74074b9 100644 --- a/package.json +++ b/package.json @@ -81,19 +81,19 @@ "@angular/platform-server": "15.0.1", "@angular/router": "15.0.1", "@angular/service-worker": "15.0.1", - "@babel/core": "7.20.2", - "@babel/generator": "7.20.4", + "@babel/core": "7.20.5", + "@babel/generator": "7.20.5", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.1", + "@babel/runtime": "7.20.6", "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.7.1", - "@bazel/jasmine": "5.7.1", + "@bazel/concatjs": "5.7.2", + "@bazel/jasmine": "5.7.2", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.20", "@types/babel__template": "7.4.1", @@ -140,8 +140,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.2", "debug": "^4.1.1", - "esbuild": "0.15.15", - "esbuild-wasm": "0.15.15", + "esbuild": "0.15.16", + "esbuild-wasm": "0.15.16", "eslint": "8.28.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -203,7 +203,7 @@ "spdx-satisfies": "^5.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.15.1", + "terser": "5.16.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 2df846c93b93..0ca5dd7e377e 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,14 +10,14 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.20.2", - "@babel/generator": "7.20.4", + "@babel/core": "7.20.5", + "@babel/generator": "7.20.5", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.1", "@babel/plugin-transform-async-to-generator": "7.18.6", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.1", + "@babel/runtime": "7.20.6", "@babel/template": "7.18.10", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.2", - "esbuild-wasm": "0.15.15", + "esbuild-wasm": "0.15.16", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -56,7 +56,7 @@ "semver": "7.3.8", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "terser": "5.15.1", + "terser": "5.16.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.1", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.15" + "esbuild": "0.15.16" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index 565f41983f6e..1305a22596f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,7 +122,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5": version "0.0.0-361be062e6820a94ba3d7e7709dd50ba3c370c89" - uid e03dd7495dce207abd647fdde7d6918302c0b4b5 resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5" dependencies: "@angular-devkit/build-angular" "15.0.0" @@ -206,9 +205,9 @@ tslib "^2.3.0" "@angular/core@^13.0.0 || ^14.0.0-0": - version "14.2.7" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.7.tgz#a39fbfc4520debf34996d25d8451f3d66b4ce7d2" - integrity sha512-9u2eeKS90YPh2b0pK5LKFSxKfLIzHnzkIKQFh6bEPGj43Fl2v8CwiVJu1CAKo1Or4qBY8zspSowM6S1kgGwfeg== + version "14.2.12" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-14.2.12.tgz#118467ec4e8ea082931a84e8cefe722a0e110dc9" + integrity sha512-sGQxU5u4uawwvJa6jOTmGoisJiQ5HIN/RoBw99CmoqZIVyUSg9IRJJC1KVdH8gbpWBNLkElZv21lwJTL/msWyg== dependencies: tslib "^2.3.0" @@ -284,7 +283,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca": version "0.0.0-361be062e6820a94ba3d7e7709dd50ba3c370c89" - uid c8a5691ccbc3eab2c364ec547c9aec24ceba2eca resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -339,15 +337,10 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.3": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" - integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== - -"@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30" - integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733" + integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g== "@babel/core@7.19.3": version "7.19.3" @@ -391,21 +384,21 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" - integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== +"@babel/core@7.20.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" + integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.6" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helpers" "^7.19.4" - "@babel/parser" "^7.19.6" + "@babel/generator" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.5" + "@babel/parser" "^7.20.5" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.6" - "@babel/types" "^7.19.4" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -421,21 +414,12 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.19.3", "@babel/generator@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.6.tgz#9e481a3fe9ca6261c972645ae3904ec0f9b34a1d" - integrity sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA== - dependencies: - "@babel/types" "^7.19.4" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.20.1", "@babel/generator@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.2.tgz#c2e89e22613a039285c1e7b749e2cd0b30b9a481" - integrity sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q== +"@babel/generator@7.20.5", "@babel/generator@^7.19.3", "@babel/generator@^7.20.2", "@babel/generator@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" + integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== dependencies: - "@babel/types" "^7.20.2" + "@babel/types" "^7.20.5" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -454,17 +438,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" - integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== - dependencies: - "@babel/compat-data" "^7.19.3" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.20.0": +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== @@ -474,26 +448,26 @@ browserslist "^4.21.3" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.18.6": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" - integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz#327154eedfb12e977baa4ecc72e5806720a85a06" + integrity sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-member-expression-to-functions" "^7.18.9" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-replace-supers" "^7.19.1" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" + integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" + regexpu-core "^5.2.1" "@babel/helper-define-polyfill-provider@^0.3.3": version "0.3.3" @@ -548,21 +522,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" - integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.19.4" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.6" - "@babel/types" "^7.19.4" - -"@babel/helper-module-transforms@^7.20.2": +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== @@ -583,12 +543,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-plugin-utils@^7.20.2": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== @@ -603,7 +558,7 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9", "@babel/helper-replace-supers@^7.19.1": +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== @@ -614,14 +569,7 @@ "@babel/traverse" "^7.19.1" "@babel/types" "^7.19.0" -"@babel/helper-simple-access@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" - integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== - dependencies: - "@babel/types" "^7.19.4" - -"@babel/helper-simple-access@^7.20.2": +"@babel/helper-simple-access@^7.19.4", "@babel/helper-simple-access@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== @@ -629,11 +577,11 @@ "@babel/types" "^7.20.2" "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" - integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: - "@babel/types" "^7.18.9" + "@babel/types" "^7.20.0" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" @@ -658,32 +606,23 @@ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" - integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" -"@babel/helpers@^7.19.0", "@babel/helpers@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.4.tgz#42154945f87b8148df7203a25c31ba9a73be46c5" - integrity sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.4" - "@babel/types" "^7.19.4" - -"@babel/helpers@^7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9" - integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== +"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.1", "@babel/helpers@^7.20.5": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" + integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== dependencies: "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.0" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" "@babel/highlight@^7.18.6": version "7.18.6" @@ -694,15 +633,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.6.tgz#b923430cb94f58a7eae8facbffa9efd19130e7f8" - integrity sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA== - -"@babel/parser@^7.20.1", "@babel/parser@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.2.tgz#9aeb9b92f64412b5f81064d46f6a1ac0881337f4" - integrity sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.20.2", "@babel/parser@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" + integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -832,13 +766,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" + integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": @@ -978,9 +912,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz#f59b1767e6385c663fd0bce655db6ca9c8b236ed" - integrity sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz#401215f9dc13dc5262940e2e527c9536b3d7f237" + integrity sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -1102,12 +1036,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" @@ -1125,11 +1059,11 @@ "@babel/helper-replace-supers" "^7.18.6" "@babel/plugin-transform-parameters@^7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz#9a5aa370fdcce36f110455e9369db7afca0f9eeb" - integrity sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz#f8f9186c681d10c3de7620c916156d893c8a019e" + integrity sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" @@ -1139,12 +1073,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" @@ -1315,12 +1249,12 @@ dependencies: regenerator-runtime "^0.13.10" -"@babel/runtime@^7.8.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" - integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== +"@babel/runtime@7.20.6", "@babel/runtime@^7.8.4": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" + integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.13.11" "@babel/template@7.18.10", "@babel/template@^7.18.10": version "7.18.10" @@ -1331,60 +1265,26 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.19.4", "@babel/traverse@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.6.tgz#7b4c865611df6d99cb131eec2e8ac71656a490dc" - integrity sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.6" - "@babel/types" "^7.19.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" - integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== +"@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" + integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.1" + "@babel/generator" "^7.20.5" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.1" - "@babel/types" "^7.20.0" + "@babel/parser" "^7.20.5" + "@babel/types" "^7.20.5" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.19.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" - integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" - integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842" - integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" + integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" @@ -1409,15 +1309,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.2.tgz#24298c5607cd670a390743c962d5f3e6dbeea5b5" + integrity sha512-ynU3CvbdaNcYEyw6GylHkhBe21ZXUVIGbmTD/Lmz8iMpnr0YfZWDbg6pVcP6yv08TUMf1sc/BSiZf4ALKF4wOQ== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.7.1": version "5.7.1" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.1.tgz#3e72ad6d71ab868429a7f02f914bba8958c2e05e" integrity sha512-mNi5AaXQ5h6kwIkgXCtwZIvzhf+iEgj54PS4riHyWmk3qwFa+XqgLK+b//9tdjNVtisrIoyiZ0+J2Q6dU5YQsA== -"@bazel/jasmine@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.1.tgz#114797c8c2871255d32e2c154f7e354028efbdcc" - integrity sha512-OZ3u8CuC1HBv7Ph3Io46A1sRA9pSGHrbrFE/VbZGzPPLd2epyi4EvKnhrrRXpw1/jZ+0z5DXeLbnk6uJOvIuRw== +"@bazel/jasmine@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.2.tgz#438f272e66e939106cbdd58db709cd6aa008131b" + integrity sha512-RJruOB6S9e0efTNIE2JVdaslguUXh5KcmLUCq/xLCt0zENP44ssp9OooDIrZ8H+Sp4mLDNBX7CMMA9WTsbsxTQ== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1476,35 +1385,25 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm@0.15.12": - version "0.15.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769" - integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA== - "@esbuild/android-arm@0.15.13": version "0.15.13" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== -"@esbuild/android-arm@0.15.15": - version "0.15.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.15.tgz#35b3cc0f9e69cb53932d44f60b99dd440335d2f0" - integrity sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw== - -"@esbuild/linux-loong64@0.15.12": - version "0.15.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1" - integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw== +"@esbuild/android-arm@0.15.16": + version "0.15.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" + integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== "@esbuild/linux-loong64@0.15.13": version "0.15.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== -"@esbuild/linux-loong64@0.15.15": - version "0.15.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1" - integrity sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA== +"@esbuild/linux-loong64@0.15.16": + version "0.15.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" + integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ== "@eslint/eslintrc@^1.3.3": version "1.3.3" @@ -1527,13 +1426,13 @@ integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.11.6": - version "0.11.6" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.6.tgz#6a51d603a3aaf8d4cf45b42b3f2ac9318a4adc4b" - integrity sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg== + version "0.11.7" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f" + integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" - minimatch "^3.0.4" + minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" @@ -2404,10 +2303,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/arborist@^5.6.2": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.2.tgz#552b554f34777e5dcc8e68ad86cdaeebc0788790" - integrity sha512-Lyj2g+foWKzrwW2bT/RGO982VR9vb5tlvfD88n4PwWJRrDttQbJoIdcQzN9b+NIBhI1/8iEhC5b8far9U0fQxA== +"@npmcli/arborist@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.3.tgz#40810080272e097b4a7a4f56108f4a31638a9874" + integrity sha512-/7hbqEM6YuRjwTcQXkK1+xKslEblY5kFQe0tZ7jKyMlIR6x4iOmhLErIkBBGtTKvYxRKdpcxnFXjCobg3UqmsA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" @@ -2422,6 +2321,7 @@ bin-links "^3.0.3" cacache "^16.1.3" common-ancestor-path "^1.0.1" + hosted-git-info "^5.2.1" json-parse-even-better-errors "^2.3.1" json-stringify-nice "^1.1.4" minimatch "^5.1.0" @@ -2480,13 +2380,6 @@ "@gar/promisify" "^1.1.3" semver "^7.3.5" -"@npmcli/fs@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.0.0.tgz#00d13fd40d9144fb0ca40faf04f755625856ccd2" - integrity sha512-GdeVD+dnBxzMslTFvnctLX5yIqV4ZNZBWNbo1OejQ++bZpnFNQ1AjOn9Sboi+LzheQbCBU1ts1mhEVduHrcZOQ== - dependencies: - semver "^7.3.5" - "@npmcli/fs@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" @@ -2510,11 +2403,11 @@ which "^2.0.2" "@npmcli/git@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.0.1.tgz#b369e10e9961809e1dc71b429e290653336e022d" - integrity sha512-sfaCFyZO7Zsxia2TNHW8TeHFIUnK63896EZFA5K0vCReOMFi9aELB5RZyFveRLaBE/pT1BS6RxbTWZGjulNgSg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.0.3.tgz#354db5fe1f29696303638e191d8538ee9b01b4bb" + integrity sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA== dependencies: - "@npmcli/promise-spawn" "^4.0.0" + "@npmcli/promise-spawn" "^6.0.0" lru-cache "^7.4.4" mkdirp "^1.0.4" npm-pick-manifest "^8.0.0" @@ -2522,7 +2415,7 @@ promise-inflight "^1.0.1" promise-retry "^2.0.1" semver "^7.3.5" - which "^2.0.2" + which "^3.0.0" "@npmcli/installed-package-contents@^1.0.7": version "1.0.7" @@ -2568,14 +2461,6 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@npmcli/move-file@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-3.0.0.tgz#3e1be5c880c9ba2d9c6453709d3ffd2d7a4cf192" - integrity sha512-mOUBUIXsqAQBfn87vGIjBAve6JmD9PkP9Vdq2SayDqQh2Ol60hnXaBSvT4V6IQiho1otw6SipnVV1fulvOiyKQ== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - "@npmcli/name-from-folder@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" @@ -2605,13 +2490,6 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/promise-spawn@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-4.0.0.tgz#d1c0b1078f0b342220a3c2b56852d468dd6f02b2" - integrity sha512-LM/GRZSwkxar1jgd58yW5WspFWrFefh8a/KVy+sbOMa0pCwqlXWxXEjQRQzbtWExyhwPb2XSK/4mJnLeiVOYng== - dependencies: - infer-owner "^1.0.4" - "@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.1.tgz#2bf718579ad0ca2c5bd364c6a9de3e2fa6be2b00" @@ -2704,18 +2582,18 @@ integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== "@rollup/plugin-json@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-5.0.0.tgz#1e3e18302637760353c83a41d1f3c4e760afb20d" - integrity sha512-LsWDA5wJs/ggzakVuKQhZo7HPRcQZgBa3jWIVxQSFxaRToUGNi8ZBh3+k/gQ+1eInVYJgn4WBRCUkmoDrmmGzw== + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-5.0.2.tgz#d7dbbac62ff74064876b3e5d0d863cb3ad1e7cdb" + integrity sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA== dependencies: - "@rollup/pluginutils" "^4.2.1" + "@rollup/pluginutils" "^5.0.1" "@rollup/plugin-node-resolve@^15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.0.tgz#44ded58b36702de27bf36bbf19ca420bbd1d0c27" - integrity sha512-iwJbzfTzlzDDQcGmkS7EkCKwe2kSkdBrjX87Fy/KrNjr6UNnLpod0t6X66e502LRe5JJCA4FFqrEscWPnZAkig== + version "15.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" + integrity sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg== dependencies: - "@rollup/pluginutils" "^4.2.1" + "@rollup/pluginutils" "^5.0.1" "@types/resolve" "1.20.2" deepmerge "^4.2.2" is-builtin-module "^3.2.0" @@ -2731,13 +2609,14 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" - integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== +"@rollup/pluginutils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== dependencies: - estree-walker "^2.0.1" - picomatch "^2.2.2" + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" "@rushstack/node-core-library@3.51.1": version "3.51.1" @@ -2912,14 +2791,14 @@ "@types/estree" "*" "@types/eslint@*": - version "8.4.7" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.7.tgz#0f05a2677d1a394ff70c21a964a32d3efa05f966" - integrity sha512-ehM7cCt2RSFs42mb+lcmhFT9ouIlV92PuaeRGn8N8c98oMjG4Z5pJHA9b1QiCcuqnbPSHcyfiD3mlhqMaHsQIw== + version "8.4.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.10.tgz#19731b9685c19ed1552da7052b6f668ed7eb64bb" + integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": +"@types/estree@*", "@types/estree@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== @@ -2974,9 +2853,9 @@ integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== "@types/inquirer@^8.0.0": - version "8.2.4" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.4.tgz#f7f0c76c65870c7bbc80a112c9c77ffcf7f158c1" - integrity sha512-Pxxx3i3AyK7vKAj3LRM/vF7ETcHKiLJ/u5CnNgbz/eYj/vB3xGAYtRxI5IKtq0hpe5iFHD22BKV3n6WHUu0k4Q== + version "8.2.5" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-8.2.5.tgz#c508423bcc11126db278170ab07347783ac2300c" + integrity sha512-QXlzybid60YtAwfgG3cpykptRYUx2KomzNutMlWsQC64J/WG/gQSl+P4w7A21sGN0VIxRVava4rgnT7FQmFCdg== dependencies: "@types/through" "*" @@ -3057,9 +2936,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.11.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.3.tgz#78a6d7ec962b596fc2d2ec102c4dd3ef073fea6a" - integrity sha512-fNjDQzzOsZeKZu5NATgXUPsaFaTxeRgFXoosrHivTl8RGeV733OLawXsGfEk9a8/tySyZUyiZ6E8LcjPFZ2y1A== + version "18.11.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" + integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== "@types/node@12.20.24": version "12.20.24" @@ -3077,9 +2956,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.32" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.32.tgz#8074f7106731f1a12ba993fe8bad86ee73905014" - integrity sha512-Y6S38pFr04yb13qqHf8uk1nHE3lXgQ30WZbv1mLliV9pt0NjvqdWttLcrOYLnXbOafknVYRHZGoMSpR9UwfYow== + version "14.18.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.33.tgz#8c29a0036771569662e4635790ffa9e057db379b" + integrity sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -3187,16 +3066,16 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.6.tgz#a23b15abc8023db5cd56dad736cbb8d830d38c71" - integrity sha512-qK1UbVws7APzKmL2pP1ypVXCdMrJko32anuz5Fl6qrU/1AWM/mVVY7cOM7FhsOVrIqLXo+YoKJf6+LLNtXgbSw== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.9.tgz#90b24668bf1ec0a049fbc7aeebd4f7ab672440fa" + integrity sha512-QNCYI3Rgjf3bZ2GZwXnUpOJUPR8p7+c9Um9MEKggLaUaF8UfjitH5aPCV1PF0DHVEiPYsXayGVS6+67DO3VILw== dependencies: "@types/ws" "*" "@types/semver@^7.3.12": - version "7.3.12" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" - integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== + version "7.3.13" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== "@types/send@^0.17.1": version "0.17.1" @@ -3271,9 +3150,9 @@ integrity sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA== "@types/uglify-js@*": - version "3.17.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.0.tgz#95271e7abe0bf7094c60284f76ee43232aef43b9" - integrity sha512-3HO6rm0y+/cqvOyA8xcYLweF0TKXlAxmQASjbOi49Co51A1N4nR4bEwBgRoD9kNM+rqFGArjKr654SLp2CoGmQ== + version "3.17.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.1.tgz#e0ffcef756476410e5bce2cb01384ed878a195b5" + integrity sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g== dependencies: source-map "^0.6.1" @@ -3316,9 +3195,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + version "17.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.14.tgz#0943473052c24bd8cf2d1de25f1a710259327237" + integrity sha512-9Pj7abXoW1RSTcZaL2Hk6G2XyLMlp5ECdVC/Zf2p/KBjC3srijLGgRAXOBjtFrJoIrvxdTKyKDA14bEcbxBaWw== dependencies: "@types/yargs-parser" "*" @@ -3577,10 +3456,10 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@xmldom/xmldom@^0.7.3": - version "0.7.6" - resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.6.tgz#6f55073fa73e65776bd85826958b98c8cd1457b5" - integrity sha512-HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ== +"@xmldom/xmldom@^0.8.5": + version "0.8.6" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.6.tgz#8a1524eb5bd5e965c1e3735476f0262469f71440" + integrity sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -3644,9 +3523,9 @@ acorn@^7.1.1: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -3711,7 +3590,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.0, ajv@^8.11.0, ajv@^8.8.0: +ajv@8.11.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== @@ -3721,7 +3600,7 @@ ajv@8.11.0, ajv@^8.11.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@8.11.2, ajv@^8.0.0: +ajv@8.11.2, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: version "8.11.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== @@ -3788,9 +3667,9 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: color-convert "^2.0.1" anymatch@^3.0.0, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -3851,14 +3730,14 @@ array-flatten@^2.1.2: integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-includes@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" is-string "^1.0.7" array-union@^1.0.1: @@ -3879,13 +3758,13 @@ array-uniq@^1.0.1: integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" arrify@^1.0.0: @@ -3942,7 +3821,7 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autoprefixer@10.4.13: +autoprefixer@10.4.13, autoprefixer@^10.4.12: version "10.4.13" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== @@ -3954,18 +3833,6 @@ autoprefixer@10.4.13: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -autoprefixer@^10.4.12: - version "10.4.12" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" - integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== - dependencies: - browserslist "^4.21.4" - caniuse-lite "^1.0.30001407" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -4326,7 +4193,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.2: +cacache@17.0.2, cacache@^17.0.0: version "17.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.2.tgz#ff2bd029bf45099b3fe711f56fbf138b846c8d6d" integrity sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ== @@ -4369,26 +4236,6 @@ cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: tar "^6.1.11" unique-filename "^2.0.0" -cacache@^17.0.0: - version "17.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.1.tgz#bcba581a1b311b552b21f71d6205c67551a8d6d5" - integrity sha512-HRnDSZUXB5hdCQc2wuB8eBQPe1a9PVU2Ow8zMTi82NGJZmBGNTSjEGzetlndKlqpVYBa4esdaJ2LH6/uOB4sFQ== - dependencies: - "@npmcli/fs" "^3.0.0" - "@npmcli/move-file" "^3.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -4407,15 +4254,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: - version "1.0.30001423" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001423.tgz#57176d460aa8cd85ee1a72016b961eb9aca55d91" - integrity sha512-09iwWGOlifvE1XuHokFMP7eR38a0JnajoyL3/i87c8ZjRWRrdKo1fqjNfugfBD0UDBIOz0U+jtNhJ0EPm1VleQ== - -caniuse-lite@^1.0.30001426: - version "1.0.30001426" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001426.tgz#58da20446ccd0cb1dfebd11d2350c907ee7c2eaa" - integrity sha512-n7cosrHLl8AWt0wwZw/PJZgUg3lV0gk9LMI7ikGJwhyhgsd2Nb65vKvmSexCqq/J7rbH3mFG6yZZiPR5dLPW5A== +caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: + version "1.0.30001434" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz#ec1ec1cfb0a93a34a0600d37903853030520a4e5" + integrity sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA== caseless@~0.12.0: version "0.12.0" @@ -4809,9 +4651,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.25.1: - version "3.25.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9" - integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== + version "3.26.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.26.1.tgz#0e710b09ebf689d719545ac36e49041850f943df" + integrity sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A== dependencies: browserslist "^4.21.4" @@ -4834,9 +4676,9 @@ cors@2.8.5, cors@~2.8.5: vary "^1" cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -5308,10 +5150,10 @@ engine.io-parser@~5.0.3: resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== -engine.io@~6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" - integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== +engine.io@~6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.1.tgz#e3f7826ebc4140db9bbaa9021ad6b1efb175878f" + integrity sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -5325,9 +5167,9 @@ engine.io@~6.2.0: ws "~8.2.3" enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5376,7 +5218,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: +es-abstract@^1.19.0, es-abstract@^1.20.4: version "1.20.4" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== @@ -5475,320 +5317,215 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc" - integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q== - esbuild-android-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== -esbuild-android-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.15.tgz#fd959b034dd761d14e13dda6214b6948841ff4ff" - integrity sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q== - -esbuild-android-arm64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666" - integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA== +esbuild-android-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" + integrity sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA== esbuild-android-arm64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== -esbuild-android-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz#9733b71cf0229b4356f106a455b2cfdf7884aa59" - integrity sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ== - -esbuild-darwin-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25" - integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q== +esbuild-android-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" + integrity sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg== esbuild-darwin-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== -esbuild-darwin-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz#fc3482fdf5e798dbc0b8b2fe13287d257a45efc6" - integrity sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ== - -esbuild-darwin-arm64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04" - integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw== +esbuild-darwin-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" + integrity sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g== esbuild-darwin-arm64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== -esbuild-darwin-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz#e922ec387c00fa84d664e14b5722fe13613f4adc" - integrity sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag== - -esbuild-freebsd-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0" - integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw== +esbuild-darwin-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" + integrity sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw== esbuild-freebsd-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== -esbuild-freebsd-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz#69a42d79137d7d3ea718414c432bc10e8bb97c68" - integrity sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA== - -esbuild-freebsd-arm64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e" - integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g== +esbuild-freebsd-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" + integrity sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ== esbuild-freebsd-arm64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== -esbuild-freebsd-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz#63b6d0dd492f7394f8d07a0e2b931151eb9d60c4" - integrity sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g== - -esbuild-linux-32@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4" - integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA== +esbuild-freebsd-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" + integrity sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g== esbuild-linux-32@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== -esbuild-linux-32@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz#7f295795fd7e61ea57d1135f717424a6771a7472" - integrity sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q== - -esbuild-linux-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931" - integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA== +esbuild-linux-32@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" + integrity sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w== esbuild-linux-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== -esbuild-linux-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz#11a430a86403b0411ca0a355b891f1cb8c4c4ec6" - integrity sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg== - -esbuild-linux-arm64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5" - integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ== +esbuild-linux-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" + integrity sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g== esbuild-linux-arm64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== -esbuild-linux-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz#b65f9a2c60e8e5b62f6cfd392cd0410f22e8c390" - integrity sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g== - -esbuild-linux-arm@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67" - integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A== +esbuild-linux-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" + integrity sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A== esbuild-linux-arm@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== -esbuild-linux-arm@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz#c8e13e45a0a6f0cb145ce13ae26ce1d2551d9bcc" - integrity sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w== - -esbuild-linux-mips64le@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2" - integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A== +esbuild-linux-arm@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" + integrity sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ== esbuild-linux-mips64le@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== -esbuild-linux-mips64le@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz#d4c24d47e43966fcac748c90621be7edd53456c0" - integrity sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A== - -esbuild-linux-ppc64le@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7" - integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg== +esbuild-linux-mips64le@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" + integrity sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A== esbuild-linux-ppc64le@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== -esbuild-linux-ppc64le@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz#2eba53fe2282438ceca5471bdb57ba2e00216ed6" - integrity sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA== - -esbuild-linux-riscv64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693" - integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA== +esbuild-linux-ppc64le@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" + integrity sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA== esbuild-linux-riscv64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== -esbuild-linux-riscv64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz#1afa8dfe55a6c312f1904ee608b81417205f5027" - integrity sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw== - -esbuild-linux-s390x@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f" - integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww== +esbuild-linux-riscv64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" + integrity sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw== esbuild-linux-s390x@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== -esbuild-linux-s390x@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz#1f7b3c4429c8ca99920ba6bf356ccc5b38fabd34" - integrity sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ== - -esbuild-netbsd-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42" - integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w== +esbuild-linux-s390x@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" + integrity sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w== esbuild-netbsd-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== -esbuild-netbsd-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz#d72c7155686c938c1aff126209b689c22823347c" - integrity sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw== - -esbuild-openbsd-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae" - integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw== +esbuild-netbsd-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" + integrity sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg== esbuild-openbsd-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== -esbuild-openbsd-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz#761bd87ecab97386948eaf667a065cb0ecaa0f76" - integrity sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ== - -esbuild-sunos-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e" - integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg== +esbuild-openbsd-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" + integrity sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA== esbuild-sunos-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== -esbuild-sunos-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c" - integrity sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA== +esbuild-sunos-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" + integrity sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ== esbuild-wasm@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz#c4d7f771679b2e14f7a456403751d908db1c07d1" integrity sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw== -esbuild-wasm@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.15.tgz#410abc538e8091c6dbb0e373b54738f4505351aa" - integrity sha512-B8OfZ0cm/zvbznYXbHnLRRp31hBObFiDAKnbTeUMHOZkyAbEClHETxSgZ/0fjm4XdkZGcBI/ZTpCa5JSTZVA7A== - -esbuild-wasm@^0.15.9: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.12.tgz#66fa2f18459f59f0da74876dacfdf71dc6f06e4b" - integrity sha512-mm6ouQxg27wHHIBc7ii8x4v2eu67O14wfa7OM0gfwmrHVzuQCLd6hATK/tvR73Pif/WS+/OvhcV4hY0REfHeUw== - -esbuild-windows-32@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0" - integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw== +esbuild-wasm@0.15.16, esbuild-wasm@^0.15.9: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" + integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== esbuild-windows-32@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== -esbuild-windows-32@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz#130d1982cc41fb67461e9f8a65c6ebd13a1f35bb" - integrity sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA== - -esbuild-windows-64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6" - integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA== +esbuild-windows-32@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" + integrity sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ== esbuild-windows-64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== -esbuild-windows-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz#638bdf495c109c1882e8b0529cb8e2fea11383fb" - integrity sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA== - -esbuild-windows-arm64@0.15.12: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328" - integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA== +esbuild-windows-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" + integrity sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw== esbuild-windows-arm64@0.15.13: version "0.15.13" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== -esbuild-windows-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31" - integrity sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ== +esbuild-windows-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" + integrity sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA== esbuild@0.15.13: version "0.15.13" @@ -5818,61 +5555,33 @@ esbuild@0.15.13: esbuild-windows-64 "0.15.13" esbuild-windows-arm64 "0.15.13" -esbuild@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.15.tgz#503b70bdc18d72d8fc2962ed3ab9219249e58bbe" - integrity sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w== - optionalDependencies: - "@esbuild/android-arm" "0.15.15" - "@esbuild/linux-loong64" "0.15.15" - esbuild-android-64 "0.15.15" - esbuild-android-arm64 "0.15.15" - esbuild-darwin-64 "0.15.15" - esbuild-darwin-arm64 "0.15.15" - esbuild-freebsd-64 "0.15.15" - esbuild-freebsd-arm64 "0.15.15" - esbuild-linux-32 "0.15.15" - esbuild-linux-64 "0.15.15" - esbuild-linux-arm "0.15.15" - esbuild-linux-arm64 "0.15.15" - esbuild-linux-mips64le "0.15.15" - esbuild-linux-ppc64le "0.15.15" - esbuild-linux-riscv64 "0.15.15" - esbuild-linux-s390x "0.15.15" - esbuild-netbsd-64 "0.15.15" - esbuild-openbsd-64 "0.15.15" - esbuild-sunos-64 "0.15.15" - esbuild-windows-32 "0.15.15" - esbuild-windows-64 "0.15.15" - esbuild-windows-arm64 "0.15.15" - -esbuild@^0.15.9: - version "0.15.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c" - integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng== +esbuild@0.15.16, esbuild@^0.15.9: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.16.tgz#59324e5667985bf6aee8a91ea576baef6872cf21" + integrity sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ== optionalDependencies: - "@esbuild/android-arm" "0.15.12" - "@esbuild/linux-loong64" "0.15.12" - esbuild-android-64 "0.15.12" - esbuild-android-arm64 "0.15.12" - esbuild-darwin-64 "0.15.12" - esbuild-darwin-arm64 "0.15.12" - esbuild-freebsd-64 "0.15.12" - esbuild-freebsd-arm64 "0.15.12" - esbuild-linux-32 "0.15.12" - esbuild-linux-64 "0.15.12" - esbuild-linux-arm "0.15.12" - esbuild-linux-arm64 "0.15.12" - esbuild-linux-mips64le "0.15.12" - esbuild-linux-ppc64le "0.15.12" - esbuild-linux-riscv64 "0.15.12" - esbuild-linux-s390x "0.15.12" - esbuild-netbsd-64 "0.15.12" - esbuild-openbsd-64 "0.15.12" - esbuild-sunos-64 "0.15.12" - esbuild-windows-32 "0.15.12" - esbuild-windows-64 "0.15.12" - esbuild-windows-arm64 "0.15.12" + "@esbuild/android-arm" "0.15.16" + "@esbuild/linux-loong64" "0.15.16" + esbuild-android-64 "0.15.16" + esbuild-android-arm64 "0.15.16" + esbuild-darwin-64 "0.15.16" + esbuild-darwin-arm64 "0.15.16" + esbuild-freebsd-64 "0.15.16" + esbuild-freebsd-arm64 "0.15.16" + esbuild-linux-32 "0.15.16" + esbuild-linux-64 "0.15.16" + esbuild-linux-arm "0.15.16" + esbuild-linux-arm64 "0.15.16" + esbuild-linux-mips64le "0.15.16" + esbuild-linux-ppc64le "0.15.16" + esbuild-linux-riscv64 "0.15.16" + esbuild-linux-s390x "0.15.16" + esbuild-netbsd-64 "0.15.16" + esbuild-openbsd-64 "0.15.16" + esbuild-sunos-64 "0.15.16" + esbuild-windows-32 "0.15.16" + esbuild-windows-64 "0.15.16" + esbuild-windows-arm64 "0.15.16" escalade@^3.1.1: version "3.1.1" @@ -6041,9 +5750,9 @@ eslint@8.28.0: text-table "^0.2.0" espree@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" @@ -6088,7 +5797,7 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1: +estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== @@ -6660,9 +6369,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== + version "13.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.18.0.tgz#fb224daeeb2bb7d254cd2c640f003528b8d0c1dc" + integrity sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A== dependencies: type-fest "^0.20.2" @@ -6818,17 +6527,17 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^5.0.0, hosted-git-info@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594" - integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== +hosted-git-info@^5.0.0, hosted-git-info@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== dependencies: lru-cache "^7.5.1" hosted-git-info@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.0.0.tgz#2e9b726a8ac0d68a907c6a8dc4abecac5e0ed69a" - integrity sha512-NURrKJX36ihI69iCqcvN4uuIk9fHcc1C+uax/5fPh4Tr5WJnATir+QM/CMJNKrcOOvxQDsAdS5C9oJliM80X7g== + version "6.1.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" + integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== dependencies: lru-cache "^7.5.1" @@ -7003,9 +6712,9 @@ ignore-walk@^6.0.0: minimatch "^5.0.1" ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + version "5.2.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c" + integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== image-size@~0.5.0: version "0.5.5" @@ -7483,27 +7192,22 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.0.5: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jasmine-core@^4.1.0, jasmine-core@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.4.0.tgz#848fe45c1839cacaf1f2429d400d1d4f85d2856a" - integrity sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA== +jasmine-core@^4.1.0, jasmine-core@^4.5.0, jasmine-core@~4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.5.0.tgz#1a6bd0bde3f60996164311c88a0995d67ceda7c3" + integrity sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw== jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ== -jasmine-core@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.5.0.tgz#1a6bd0bde3f60996164311c88a0995d67ceda7c3" - integrity sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw== - jasmine-reporters@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" - integrity sha512-J69peyTR8j6SzvIPP6aO1Y00wwCqXuIvhwTYvE/di14roCf6X3wDZ4/cKGZ2fGgufjhP2FKjpgrUIKjwau4e/Q== + version "2.5.2" + resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.2.tgz#b5dfa1d9c40b8020c5225e0e1e2b9953d66a4d69" + integrity sha512-qdewRUuFOSiWhiyWZX8Yx3YNQ9JG51ntBEO4ekLQRpktxFTwUHy24a86zD/Oi2BRTKksEdfWQZcQFqzjqIkPig== dependencies: - "@xmldom/xmldom" "^0.7.3" + "@xmldom/xmldom" "^0.8.5" mkdirp "^1.0.4" jasmine-spec-reporter@~7.0.0: @@ -7523,12 +7227,12 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.4.0.tgz#e3e359723d9679993b70de3e0441517c154b9647" - integrity sha512-xrbOyYkkCvgduNw7CKktDtNb+BwwBv/zvQeHpTkbxqQ37AJL5V4sY3jHoMIJPP/hTc3QxLVwOyxc87AqA+kw5g== + version "4.5.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-4.5.0.tgz#8d3c0d0a33a61e4d05c9f9747ee5dfaf6f7b5d3d" + integrity sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ== dependencies: glob "^7.1.6" - jasmine-core "^4.4.0" + jasmine-core "^4.5.0" jasminewd2@^2.1.0: version "2.2.0" @@ -7560,9 +7264,9 @@ js-base64@^2.4.3: integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-sdsl@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" - integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== + version "4.2.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" + integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== js-tokens@^4.0.0: version "4.0.0" @@ -7892,12 +7596,12 @@ libnpmdiff@^4.0.5: pacote "^13.6.1" tar "^6.1.0" -libnpmexec@^4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.13.tgz#6688bd6c02cac31a32d2e56680c3884948cbf453" - integrity sha512-MGi6eD6zqZ1V8VCJenWRc2+rWaFiW/Vkr5Aa/cQAd3duWNvXen9sm101M6ww5ER5PmsT+qX2aZOA3A9ZPfJQXg== +libnpmexec@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.14.tgz#9ad44232434b374e477eb2c2e4548baaf698f773" + integrity sha512-dwmzv2K29SdoAHBOa7QR6CfQbFG/PiZDRF6HZrlI6C4DLt2hNgOHTFaUGOpqE2C+YGu0ZwYTDywxRe0eOnf0ZA== dependencies: - "@npmcli/arborist" "^5.6.2" + "@npmcli/arborist" "^5.6.3" "@npmcli/ci-detect" "^2.0.0" "@npmcli/fs" "^2.1.1" "@npmcli/run-script" "^4.2.0" @@ -7912,12 +7616,12 @@ libnpmexec@^4.0.13: semver "^7.3.7" walk-up-path "^1.0.0" -libnpmfund@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.4.tgz#be1fd46bcfa9432660f98d935135d7ee3e620239" - integrity sha512-azKUVFkL27AsvzEzLKMHX/L8j/GE2TL6eZ6KIdc9hsvleoNLT+Y6XO9w9v7JWwg03smZK9dbqwvnYZzO3vzrIA== +libnpmfund@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.5.tgz#817f9e2120889beb483d9ba8eda142bb84293e4e" + integrity sha512-KdeRoG/dem8H3PcEU2/0SKi3ip7AWwczgS72y/3PE+PBrz/s/G52FNIA9jeLnBirkLC0sOyQHfeM3b7e24ZM+g== dependencies: - "@npmcli/arborist" "^5.6.2" + "@npmcli/arborist" "^5.6.3" libnpmhook@^8.0.4: version "8.0.4" @@ -8032,9 +7736,9 @@ loader-utils@3.2.1: integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== loader-utils@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.3.tgz#d4b15b8504c63d1fc3f2ade52d41bc8459d6ede1" - integrity sha512-THWqIsn8QRnvLl0shHYVBN9syumU8pYWEHPTmkiVGd+7K5eFNVSY6AJhRvgGF70gg1Dz+l/k8WicvFCxdEs60A== + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -8145,9 +7849,9 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.7.0" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.7.0.tgz#fff671a74b2f6e956d135c3c756c79072809a23b" - integrity sha512-KA0W9ffgNBLDj6fZCq/lRbgR6ABAodRIDHrZnS48vOtfKa4PzWImb0Md1lmGCdO3n3sbCm/n1/WmrNlZ8kCI3Q== + version "6.7.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.7.1.tgz#06e12b1ac915dd1067146ffad8215f666f7d2c51" + integrity sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ== dependencies: date-format "^4.0.14" debug "^4.3.4" @@ -8171,7 +7875,7 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.14.0, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: +lru-cache@7.14.0: version "7.14.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== @@ -8183,6 +7887,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.14.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea" + integrity sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -8290,20 +7999,13 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memfs@^3.4.12: +memfs@^3.4.12, memfs@^3.4.3: version "3.4.12" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.12.tgz#d00f8ad8dab132dc277c659dc85bfd14b07d03bd" integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== dependencies: fs-monkey "^1.0.3" -memfs@^3.4.3: - version "3.4.7" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" - integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== - dependencies: - fs-monkey "^1.0.3" - memoizee@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" @@ -8414,7 +8116,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -8498,17 +8200,10 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: - version "3.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" - integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== - dependencies: - yallist "^4.0.0" - -minipass@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.5.tgz#6da7e53a48db8a856eeb9153d85b230a2119e819" - integrity sha512-rQ/p+KfKBkeNwo04U15i+hOwoVBVmekmm/HcfTkTN2t9pbQKCMm4eN5gFeqgrrSp/kH/7BYYhTIHOxGqzbBPaA== +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6, minipass@^3.3.5: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" @@ -8609,9 +8304,9 @@ ncp@~2.0.0: integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== needle@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-3.1.0.tgz#3bf5cd090c28eb15644181ab6699e027bd6c53c9" - integrity sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.2.0.tgz#07d240ebcabfd65c76c03afae7f6defe6469df44" + integrity sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ== dependencies: debug "^3.2.6" iconv-lite "^0.6.3" @@ -8865,9 +8560,9 @@ npm-packlist@^5.1.0: npm-normalize-package-bin "^2.0.0" npm-packlist@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.1.tgz#984455991f12fed40d7018b8d012ed17a37303c0" - integrity sha512-XddbYutimy7hdmP7S1tHMjFwghn64lvgdnhYG0KLGFBWjEvMt1/jg95OR3vPNNCjkakHS+k4a//3XOO8JOGI2A== + version "7.0.2" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.2.tgz#f24177ce5b3593223348157bcc3eff1db8fae7d6" + integrity sha512-d2+7RMySjVXssww23rV5NuIq1NzGvM04OlI5kwnvtYKfFTAPVs6Zxmxns2HRtJEA1oNj7D/BbFXeVAOLmW3N3Q== dependencies: ignore-walk "^6.0.0" @@ -8938,18 +8633,17 @@ npm-user-validate@^1.0.1: integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== npm@^8.11.0: - version "8.19.2" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.2.tgz#db90e88584d065f51b069ab46b4f02f5cf4898b7" - integrity sha512-MWkISVv5f7iZbfNkry5/5YBqSYJEDAKSJdL+uzSQuyLg+hgLQUyZynu3SH6bOZlvR9ZvJYk2EiJO6B1r+ynwHg== + version "8.19.3" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.3.tgz#adb51bf8886d519dd4df162726d0ad157ecfa272" + integrity sha512-0QjmyPtDxSyMWWD8I91QGbrgx9KzbV6C9FK1liEb/K0zppiZkr5KxXc990G+LzPwBHDfRjUBlO9T1qZ08vl9mA== dependencies: "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/arborist" "^5.6.2" + "@npmcli/arborist" "^5.6.3" "@npmcli/ci-detect" "^2.0.0" "@npmcli/config" "^4.2.1" "@npmcli/fs" "^2.1.0" "@npmcli/map-workspaces" "^2.0.3" "@npmcli/package-json" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" "@npmcli/run-script" "^4.2.1" abbrev "~1.1.1" archy "~1.0.0" @@ -8963,15 +8657,15 @@ npm@^8.11.0: fs-minipass "^2.1.0" glob "^8.0.1" graceful-fs "^4.2.10" - hosted-git-info "^5.1.0" + hosted-git-info "^5.2.1" ini "^3.0.1" init-package-json "^3.0.2" is-cidr "^4.0.2" json-parse-even-better-errors "^2.3.1" libnpmaccess "^6.0.4" libnpmdiff "^4.0.5" - libnpmexec "^4.0.13" - libnpmfund "^3.0.4" + libnpmexec "^4.0.14" + libnpmfund "^3.0.5" libnpmhook "^8.0.4" libnpmorg "^4.0.4" libnpmpack "^4.1.3" @@ -9070,13 +8764,13 @@ object.assign@^4.1.4: object-keys "^1.1.1" object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -9366,9 +9060,9 @@ parse5-sax-parser@^6.0.1: parse5 "^6.0.1" parse5@*: - version "7.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" - integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" @@ -9447,20 +9141,13 @@ pidtree@0.6.0, pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pidusage@3.0.2: +pidusage@3.0.2, pidusage@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.2.tgz#6faa5402b2530b3af2cf93d13bcf202889724a53" integrity sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w== dependencies: safe-buffer "^5.2.1" -pidusage@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-3.0.1.tgz#b8383319aca2ed810d1bcc4207c1c5c377d94f5f" - integrity sha512-/UlE6DQIe6yuDvm3v6756U0ErEsj60FLQTRZ4qPQF9b5yZKhf4c0llzD0tZpyE03nn8HQoLniFgKsL0ABB3nCg== - dependencies: - safe-buffer "^5.2.1" - pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -9585,9 +9272,9 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.10" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" - integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -9607,7 +9294,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.19, postcss@^8.4.18: +postcss@8.4.19, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18, postcss@^8.4.7: version "8.4.19" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== @@ -9616,15 +9303,6 @@ postcss@8.4.19, postcss@^8.4.18: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.7: - version "8.4.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2" - integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9640,11 +9318,16 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.7.1, prettier@^2.0.0: +prettier@2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== +prettier@^2.0.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.0.tgz#c7df58393c9ba77d6fba3921ae01faf994fb9dc9" + integrity sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA== + pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -10068,15 +9751,20 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@0.13.10, regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.4: +regenerator-runtime@0.13.10: version "0.13.10" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== +regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" @@ -10099,17 +9787,17 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" - integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== +regexpu-core@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" + integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.1.0" regjsgen "^0.7.1" regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" regjsgen@^0.7.1: version "0.7.1" @@ -10306,9 +9994,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^3.0.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.2.3.tgz#67d894c981ad50cc811779748e52c05742560c64" - integrity sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg== + version "3.5.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.5.0.tgz#dfe5cba22c2c074691b4c25b9b8e9cfd90ac712b" + integrity sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ== optionalDependencies: fsevents "~2.3.2" @@ -10387,7 +10075,7 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.56.1: +sass@1.56.1, sass@^1.55.0: version "1.56.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.1.tgz#94d3910cd468fd075fa87f5bb17437a0b617d8a7" integrity sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ== @@ -10396,18 +10084,8 @@ sass@1.56.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.55.0: - version "1.55.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" - integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -10677,16 +10355,16 @@ socket.io-adapter@~2.4.0: integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== socket.io-client@^4.4.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.3.tgz#bed69209d001465b2fea650d2e95c1e82768ab5e" - integrity sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A== + version "4.5.4" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.4.tgz#d3cde8a06a6250041ba7390f08d2468ccebc5ac9" + integrity sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" engine.io-client "~6.2.3" - socket.io-parser "~4.2.0" + socket.io-parser "~4.2.1" -socket.io-parser@~4.2.0: +socket.io-parser@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== @@ -10695,16 +10373,16 @@ socket.io-parser@~4.2.0: debug "~4.3.1" socket.io@^4.4.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.3.tgz#44dffea48d7f5aa41df4a66377c386b953bc521c" - integrity sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg== + version "4.5.4" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.4.tgz#a4513f06e87451c17013b8d13fdfaf8da5a86a90" + integrity sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ== dependencies: accepts "~1.3.4" base64id "~2.0.0" debug "~4.3.2" - engine.io "~6.2.0" + engine.io "~6.2.1" socket.io-adapter "~2.4.0" - socket.io-parser "~4.2.0" + socket.io-parser "~4.2.1" sockjs@^0.3.24: version "0.3.24" @@ -11006,22 +10684,22 @@ string-argv@~0.3.1: strip-ansi "^6.0.1" string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" - es-abstract "^1.19.5" + es-abstract "^1.20.4" string_decoder@^1.1.1: version "1.3.0" @@ -11141,9 +10819,9 @@ tar-stream@^2.1.4: readable-stream "^3.1.1" tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + version "6.1.12" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.12.tgz#3b742fb05669b55671fb769ab67a7791ea1a62e6" + integrity sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -11163,7 +10841,7 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.15.1, terser@^5.14.1: +terser@5.15.1: version "5.15.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== @@ -11173,6 +10851,16 @@ terser@5.15.1, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" +terser@5.16.0, terser@^5.14.1: + version "5.16.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.0.tgz#29362c6f5506e71545c73b069ccd199bb28f7f54" + integrity sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -11339,7 +11027,7 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.1: +tslib@2.4.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: version "2.4.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== @@ -11349,11 +11037,6 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" @@ -11435,11 +11118,16 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.4, typescript@^4.6.2, typescript@~4.8.0: +typescript@4.8.4, typescript@~4.8.0: version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== +typescript@^4.6.2: + version "4.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== + typescript@~4.7.4: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" @@ -11456,9 +11144,9 @@ ua-parser-js@^0.7.30: integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== uglify-js@^3.1.4: - version "3.17.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.3.tgz#f0feedf019c4510f164099e8d7e72ff2d7304377" - integrity sha512-JmMFDME3iufZnBpyKL+uS78LRiC+mK55zWfM5f/pWBJfpOttXAqYfdDGRukYhJuyRinvPVAtUhvy7rlDybNtFg== + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== unbox-primitive@^1.0.2: version "1.0.2" @@ -11491,10 +11179,10 @@ unicode-match-property-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" @@ -12023,11 +11711,16 @@ write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.9.0, ws@>=8.7.0, ws@^8.4.2: +ws@8.9.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== +ws@>=8.7.0, ws@^8.4.2: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + ws@~8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" @@ -12088,7 +11781,7 @@ yaml@^1.10.0, yaml@^1.5.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@21.1.1, yargs-parser@^21.0.0, yargs-parser@^21.1.1: +yargs-parser@21.1.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -12119,7 +11812,7 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@17.6.2: +yargs@17.6.2, yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: version "17.6.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== @@ -12162,19 +11855,6 @@ yargs@^16.0.0, yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.0.tgz#e134900fc1f218bc230192bdec06a0a5f973e46c" - integrity sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From dfb0c883da27bc5a78a6fbfde676ad339b04036c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 24 Nov 2022 08:59:57 +0000 Subject: [PATCH 1177/1388] refactor: remove usages of deprecated version of `createImportDeclaration` The overload of `createImportDeclaration` with the `decorators` parameter is deprecated. This change removes the deprecated usage. --- packages/ngtools/webpack/src/ivy/transformation.ts | 1 - packages/ngtools/webpack/src/transformers/replace_resources.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/ngtools/webpack/src/ivy/transformation.ts b/packages/ngtools/webpack/src/ivy/transformation.ts index 40d0f7a9d3b6..57563e19c584 100644 --- a/packages/ngtools/webpack/src/ivy/transformation.ts +++ b/packages/ngtools/webpack/src/ivy/transformation.ts @@ -96,7 +96,6 @@ export function replaceBootstrap( if (!bootstrapNamespace) { bootstrapNamespace = nodeFactory.createUniqueName('__NgCli_bootstrap_'); bootstrapImport = nodeFactory.createImportDeclaration( - undefined, undefined, nodeFactory.createImportClause( false, diff --git a/packages/ngtools/webpack/src/transformers/replace_resources.ts b/packages/ngtools/webpack/src/transformers/replace_resources.ts index efa5acee25b6..f2ca2ca713f3 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources.ts @@ -325,7 +325,6 @@ function createResourceImport( ); resourceImportDeclarations.push( nodeFactory.createImportDeclaration( - undefined, undefined, nodeFactory.createImportClause(false, importName, undefined), urlLiteral, From 856720b913ec1ba82b96db2d3a61628cb3795f11 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 24 Nov 2022 12:21:50 +0000 Subject: [PATCH 1178/1388] fix(@ngtools/webpack): elide unused type references In the case the import declaration has an unused import we did not properly elide type references when `emitDecoratorMetadata` is disabled. Closes #24295 --- .../webpack/src/transformers/elide_imports.ts | 49 ++++++++++--------- .../src/transformers/elide_imports_spec.ts | 40 +++++++++++++++ 2 files changed, 66 insertions(+), 23 deletions(-) diff --git a/packages/ngtools/webpack/src/transformers/elide_imports.ts b/packages/ngtools/webpack/src/transformers/elide_imports.ts index babfd93904f5..3c8bed0e944e 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports.ts @@ -54,31 +54,34 @@ export function elideImports( return; } - if (!ts.isTypeReferenceNode(node)) { - let symbol: ts.Symbol | undefined; - switch (node.kind) { - case ts.SyntaxKind.Identifier: - const parent = node.parent; - if (parent && ts.isShorthandPropertyAssignment(parent)) { - const shorthandSymbol = typeChecker.getShorthandAssignmentValueSymbol(parent); - if (shorthandSymbol) { - symbol = shorthandSymbol; - } - } else { - symbol = typeChecker.getSymbolAtLocation(node); + // Type reference imports do not need to be emitted when emitDecoratorMetadata is disabled. + if (ts.isTypeReferenceNode(node) && !compilerOptions.emitDecoratorMetadata) { + return; + } + + let symbol: ts.Symbol | undefined; + switch (node.kind) { + case ts.SyntaxKind.Identifier: + const parent = node.parent; + if (parent && ts.isShorthandPropertyAssignment(parent)) { + const shorthandSymbol = typeChecker.getShorthandAssignmentValueSymbol(parent); + if (shorthandSymbol) { + symbol = shorthandSymbol; } - break; - case ts.SyntaxKind.ExportSpecifier: - symbol = typeChecker.getExportSpecifierLocalTargetSymbol(node as ts.ExportSpecifier); - break; - case ts.SyntaxKind.ShorthandPropertyAssignment: - symbol = typeChecker.getShorthandAssignmentValueSymbol(node); - break; - } + } else { + symbol = typeChecker.getSymbolAtLocation(node); + } + break; + case ts.SyntaxKind.ExportSpecifier: + symbol = typeChecker.getExportSpecifierLocalTargetSymbol(node as ts.ExportSpecifier); + break; + case ts.SyntaxKind.ShorthandPropertyAssignment: + symbol = typeChecker.getShorthandAssignmentValueSymbol(node); + break; + } - if (symbol) { - usedSymbols.add(symbol); - } + if (symbol) { + usedSymbols.add(symbol); } ts.forEachChild(node, visit); diff --git a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts index 196cbf3b6d8b..9e6a51e80c1b 100644 --- a/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts +++ b/packages/ngtools/webpack/src/transformers/elide_imports_spec.ts @@ -66,6 +66,7 @@ describe('@ngtools/webpack transformers', () => { `, 'service.ts': ` export class Service { } + export class Service2 { } `, 'type.ts': ` export interface OnChanges { @@ -385,6 +386,45 @@ describe('@ngtools/webpack transformers', () => { expect(tags.oneLine`${result}`).toEqual(tags.oneLine`${output}`); }); + + it('should remove ctor parameter type reference and unused named import from same declaration', () => { + const input = tags.stripIndent` + import { Decorator } from './decorator'; + import { Service, Service2 as ServiceUnused } from './service'; + + @Decorator() + export class Foo { + constructor(param: Service) { + } + } + + ${dummyNode} + `; + + const output = tags.stripIndent` + import { __decorate } from "tslib"; + import { Decorator } from './decorator'; + + let Foo = class Foo { constructor(param) { } }; + Foo = __decorate([ Decorator() ], Foo); + export { Foo }; + `; + + const { program, compilerHost } = createTypescriptContext( + input, + additionalFiles, + true, + extraCompilerOptions, + ); + const result = transformTypescript( + undefined, + [transformer(program)], + program, + compilerHost, + ); + + expect(tags.oneLine`${result}`).toEqual(tags.oneLine`${output}`); + }); }); it('keeps jsxFactory imports when configured', () => { From 14a95d8eb933acf09cebee1cca4d93e679cb6e8e Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 8 Sep 2022 13:57:37 -0700 Subject: [PATCH 1179/1388] build: update bazel pkg tars to .tgz file extension --- scripts/build-bazel.ts | 2 +- tools/defaults.bzl | 6 +++--- tools/link_package_json_to_tarballs.bzl | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts index e38dd8622c41..32d73bf86dde 100644 --- a/scripts/build-bazel.ts +++ b/scripts/build-bazel.ts @@ -139,7 +139,7 @@ export default async function ( for (const target of targets) { const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); - const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tar.gz`; + const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; const packageJsonPath = `${bazelOutDir}/package.json`; const packageName = require(packageJsonPath).name; const destDir = `${distRoot}/${packageName}`; diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 50c21b3c82db..2b7f8bea67f0 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -59,7 +59,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): in the same folder to exist. Args: - name: Name of the pkg_npm rule. '_archive.tar.gz' is appended to create the tarball. + name: Name of the pkg_npm rule. '_archive.tgz' is appended to create the tarball. pkg_deps: package.json files of dependent packages. These are used for local path substitutions when --config=local is set. use_prodmode_output: False to ship ES5 devmode output, True to ship ESM output. Defaults to False. **kwargs: Additional arguments passed to the real pkg_npm. @@ -116,7 +116,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): ) # Copy package.json files to bazel-out so we can use their bazel-out paths to determine - # the corresponding package npm package tar.gz path for substitutions. + # the corresponding package npm package tgz path for substitutions. copy_to_bin( name = "package_json_copy", srcs = [pkg_json], @@ -195,7 +195,7 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): pkg_tar( name = name + "_archive", srcs = [":%s" % name], - extension = "tar.gz", + extension = "tgz", strip_prefix = "./%s" % name, visibility = visibility, ) diff --git a/tools/link_package_json_to_tarballs.bzl b/tools/link_package_json_to_tarballs.bzl index 809e3a50add9..a793d7875757 100644 --- a/tools/link_package_json_to_tarballs.bzl +++ b/tools/link_package_json_to_tarballs.bzl @@ -8,7 +8,7 @@ load("@aspect_bazel_lib//lib:utils.bzl", "to_label") def link_package_json_to_tarballs(name, src, pkg_deps, out): """Substitute tar paths into a package.json file for the packages it depends on. - src and pkg_deps must be labels in the bazel-out tree for the derived path to the npm_package_archive.tar.gz to be correct. + src and pkg_deps must be labels in the bazel-out tree for the derived path to the npm_package_archive.tgz to be correct. Args: name: Name of the rule @@ -41,7 +41,7 @@ def link_package_json_to_tarballs(name, src, pkg_deps, out): # for the tar for this package as that would create a circular dependency. pkg_label = to_label(pkg_dep) if pkg_label.package != src_pkg: - pkg_tar = "@%s//%s:npm_package_archive.tar.gz" % (pkg_label.workspace_name, pkg_label.package) + pkg_tar = "@%s//%s:npm_package_archive.tgz" % (pkg_label.workspace_name, pkg_label.package) srcs.append(pkg_tar) # Deriving the absolute path to the tar in the execroot requries different @@ -53,7 +53,7 @@ def link_package_json_to_tarballs(name, src, pkg_deps, out): name = "%s_%s_filter" % (name, i), srcs = srcs, cmd = """ - TAR=$$(dirname $$({abs_path_sandbox} || {abs_path_nosandbox}))/npm_package_archive.tar.gz + TAR=$$(dirname $$({abs_path_sandbox} || {abs_path_nosandbox}))/npm_package_archive.tgz PKGNAME=$$(cat $(execpath {pkg_name})) if [[ "$$TAR" != *bazel-out* ]]; then echo "ERROR: package.json passed to substitute_tar_deps must be in the output tree. You can use copy_to_bin to copy a source file to the output tree." From 816cb631dd382906ee872ef130a14c9d021be884 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Mon, 29 Aug 2022 20:12:23 -0700 Subject: [PATCH 1180/1388] test: use execPath to launch child node processes Using execPath ensures the child processes are the same node binary without depending on PATH. --- tests/legacy-cli/e2e/utils/process.ts | 4 ++-- tests/legacy-cli/e2e/utils/project.ts | 2 +- tests/legacy-cli/e2e/utils/registry.ts | 12 ++++++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 541aaf31a6a6..9ce14fb939f2 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -345,7 +345,7 @@ export function globalNpm(args: string[], env?: NodeJS.ProcessEnv) { ); } - return _exec({ silent: true, env }, 'node', [require.resolve('npm'), ...args]); + return _exec({ silent: true, env }, process.execPath, [require.resolve('npm'), ...args]); } export function npm(...args: string[]) { @@ -353,7 +353,7 @@ export function npm(...args: string[]) { } export function node(...args: string[]) { - return _exec({}, 'node', args); + return _exec({}, process.execPath, args); } export function git(...args: string[]) { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index d48d6e6340be..1f25eb78105f 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -67,7 +67,7 @@ export async function prepareProjectForE2e(name: string) { // Often fails the first time so attempt twice if necessary. const runWebdriverUpdate = () => exec( - 'node', + process.execPath, 'node_modules/protractor/bin/webdriver-manager', 'update', '--standalone', diff --git a/tests/legacy-cli/e2e/utils/registry.ts b/tests/legacy-cli/e2e/utils/registry.ts index 3cfee5f71405..143d398093f1 100644 --- a/tests/legacy-cli/e2e/utils/registry.ts +++ b/tests/legacy-cli/e2e/utils/registry.ts @@ -19,10 +19,14 @@ export async function createNpmRegistry( configContent = configContent.replace(/\$\{HTTPS_PORT\}/g, String(httpsPort)); await writeFile(join(registryPath, 'verdaccio.yaml'), configContent); - return spawn('node', [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], { - cwd: registryPath, - stdio: 'inherit', - }); + return spawn( + process.execPath, + [require.resolve('verdaccio/bin/verdaccio'), '-c', './verdaccio.yaml'], + { + cwd: registryPath, + stdio: 'inherit', + }, + ); } // Token was generated using `echo -n 'testing:s3cret' | openssl base64`. From 80a78878839705507258cc420955dc8d7ea37f05 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 28 Nov 2022 17:41:09 +0000 Subject: [PATCH 1181/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 106 +++++++++--------- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index 393da74074b9..56a047106a9d 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.44.0", - "@typescript-eslint/parser": "5.44.0", + "@typescript-eslint/eslint-plugin": "5.45.0", + "@typescript-eslint/parser": "5.45.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.2", "ajv-formats": "2.1.1", @@ -212,7 +212,7 @@ "verdaccio": "5.18.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", - "webpack-dev-middleware": "6.0.0", + "webpack-dev-middleware": "6.0.1", "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 0ca5dd7e377e..65ec10a9f8ad 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -61,7 +61,7 @@ "tree-kill": "1.2.2", "tslib": "2.4.1", "webpack": "5.75.0", - "webpack-dev-middleware": "6.0.0", + "webpack-dev-middleware": "6.0.1", "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" diff --git a/yarn.lock b/yarn.lock index 1305a22596f3..71b9b0328482 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3213,14 +3213,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz#105788f299050c917eb85c4d9fd04b089e3740de" - integrity sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw== - dependencies: - "@typescript-eslint/scope-manager" "5.44.0" - "@typescript-eslint/type-utils" "5.44.0" - "@typescript-eslint/utils" "5.44.0" +"@typescript-eslint/eslint-plugin@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz#ffa505cf961d4844d38cfa19dcec4973a6039e41" + integrity sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA== + dependencies: + "@typescript-eslint/scope-manager" "5.45.0" + "@typescript-eslint/type-utils" "5.45.0" + "@typescript-eslint/utils" "5.45.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3228,72 +3228,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.44.0.tgz#99e2c710a2252191e7a79113264f438338b846ad" - integrity sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA== +"@typescript-eslint/parser@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.45.0.tgz#b18a5f6b3cf1c2b3e399e9d2df4be40d6b0ddd0e" + integrity sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ== dependencies: - "@typescript-eslint/scope-manager" "5.44.0" - "@typescript-eslint/types" "5.44.0" - "@typescript-eslint/typescript-estree" "5.44.0" + "@typescript-eslint/scope-manager" "5.45.0" + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/typescript-estree" "5.45.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz#988c3f34b45b3474eb9ff0674c18309dedfc3e04" - integrity sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g== +"@typescript-eslint/scope-manager@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz#7a4ac1bfa9544bff3f620ab85947945938319a96" + integrity sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw== dependencies: - "@typescript-eslint/types" "5.44.0" - "@typescript-eslint/visitor-keys" "5.44.0" + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/visitor-keys" "5.45.0" -"@typescript-eslint/type-utils@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz#bc5a6e8a0269850714a870c9268c038150dfb3c7" - integrity sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w== +"@typescript-eslint/type-utils@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz#aefbc954c40878fcebeabfb77d20d84a3da3a8b2" + integrity sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q== dependencies: - "@typescript-eslint/typescript-estree" "5.44.0" - "@typescript-eslint/utils" "5.44.0" + "@typescript-eslint/typescript-estree" "5.45.0" + "@typescript-eslint/utils" "5.45.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.44.0.tgz#f3f0b89aaff78f097a2927fe5688c07e786a0241" - integrity sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ== +"@typescript-eslint/types@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5" + integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA== -"@typescript-eslint/typescript-estree@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz#0461b386203e8d383bb1268b1ed1da9bc905b045" - integrity sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw== +"@typescript-eslint/typescript-estree@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz#f70a0d646d7f38c0dfd6936a5e171a77f1e5291d" + integrity sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ== dependencies: - "@typescript-eslint/types" "5.44.0" - "@typescript-eslint/visitor-keys" "5.44.0" + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/visitor-keys" "5.45.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.44.0.tgz#d733da4d79d6c30f1a68b531cdda1e0c1f00d52d" - integrity sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw== +"@typescript-eslint/utils@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.0.tgz#9cca2996eee1b8615485a6918a5c763629c7acf5" + integrity sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.44.0" - "@typescript-eslint/types" "5.44.0" - "@typescript-eslint/typescript-estree" "5.44.0" + "@typescript-eslint/scope-manager" "5.45.0" + "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/typescript-estree" "5.45.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.44.0": - version "5.44.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz#10740dc28902bb903d12ee3a005cc3a70207d433" - integrity sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ== +"@typescript-eslint/visitor-keys@5.45.0": + version "5.45.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz#e0d160e9e7fdb7f8da697a5b78e7a14a22a70528" + integrity sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg== dependencies: - "@typescript-eslint/types" "5.44.0" + "@typescript-eslint/types" "5.45.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -11498,10 +11498,10 @@ webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-middleware@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.0.0.tgz#e860862f04e364348a3483da7bb9f0b957147bbb" - integrity sha512-A7jSXBifCJsJqUCVISlcbx9pkmCuP0KriMRcOJ13pOb6/xMXZvh4/ygeJeSArjRd50IT5IVbBFuejGDA/zWrNQ== +webpack-dev-middleware@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz#fd585127ed44dab3f253daf0d98f4d58a5088cc2" + integrity sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw== dependencies: colorette "^2.0.10" memfs "^3.4.12" From a38650d4a46773a3535633be300427806a5c840e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 29 Nov 2022 12:04:19 +0100 Subject: [PATCH 1182/1388] Revert "docs: remove `@latest` reference from `npm init` command" This reverts commit 467ba5af8278399c1fcf11137644f7c61af8f59c. --- packages/angular/create/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/create/README.md b/packages/angular/create/README.md index ea76ef2a6a62..ce573fd52580 100644 --- a/packages/angular/create/README.md +++ b/packages/angular/create/README.md @@ -9,7 +9,7 @@ Scaffold an Angular CLI workspace without needing to install the Angular CLI glo ### npm ``` -npm init @angular [project-name] -- [...options] +npm init @angular@latest [project-name] -- [...options] ``` ### yarn From c333c4dcb3d0215b6f38560ba94f06406b00e2c9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Nov 2022 13:59:45 +0000 Subject: [PATCH 1183/1388] docs: release notes for the v15.0.2 release --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cfee387ae21..d0c9865b0ff4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ + + +# 15.0.2 (2022-11-30) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | +| [2891d5bc9](https://github.com/angular/angular-cli/commit/2891d5bc9eecf7fa8e3b80906d9c56e6a49f3d15) | fix | correctly set Sass quietDeps and verbose options | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [d9cc4b028](https://github.com/angular/angular-cli/commit/d9cc4b0289eaf382782a994a15497e9526c5a4a2) | fix | elide unused type references | + +## Special Thanks + +Alan Agius and Juuso Valkeejärvi + + + # 15.1.0-next.0 (2022-11-23) From 64c89439dcac9247491939fd27133128c26aaf84 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 30 Nov 2022 13:46:41 +0000 Subject: [PATCH 1184/1388] build: update all non-major dependencies --- package.json | 6 ++--- .../angular_devkit/build_angular/package.json | 4 ++-- yarn.lock | 24 +++++++++++++++---- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 56a047106a9d..2b5d4c6efb01 100644 --- a/package.json +++ b/package.json @@ -170,8 +170,8 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", "magic-string": "0.26.7", - "mini-css-extract-plugin": "2.7.0", - "minimatch": "5.1.0", + "mini-css-extract-plugin": "2.7.1", + "minimatch": "5.1.1", "ng-packagr": "15.0.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", @@ -185,7 +185,7 @@ "piscina": "3.2.0", "popper.js": "^1.14.1", "postcss": "8.4.19", - "postcss-loader": "7.0.1", + "postcss-loader": "7.0.2", "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 65ec10a9f8ad..1aefed4bb313 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -42,13 +42,13 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", "magic-string": "0.26.7", - "mini-css-extract-plugin": "2.7.0", + "mini-css-extract-plugin": "2.7.1", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", "postcss": "8.4.19", - "postcss-loader": "7.0.1", + "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.56.1", diff --git a/yarn.lock b/yarn.lock index 71b9b0328482..e80cebf0c235 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8104,10 +8104,10 @@ mini-css-extract-plugin@2.6.1: dependencies: schema-utils "^4.0.0" -mini-css-extract-plugin@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.0.tgz#d7d9ba0c5b596d155e36e2b174082fc7f010dd64" - integrity sha512-auqtVo8KhTScMsba7MbijqZTfibbXiBNlPAQbsVt7enQfcDYLdgG57eGxMqwVU3mfeWANY4F1wUg+rMF+ycZgw== +mini-css-extract-plugin@2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.1.tgz#ec924df783cff32ce6183fceb653028f70128643" + integrity sha512-viOoaUFy+Z2w43VsGPbtfwFrr0tKwDctK9dUofG5MBViYhD1noGFUzzDIVw0KPwCGUP+c7zqLxm+acuQs7zLzw== dependencies: schema-utils "^4.0.0" @@ -8130,6 +8130,13 @@ minimatch@5.1.0, minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" +minimatch@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" + integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== + dependencies: + brace-expansion "^2.0.1" + minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -9243,6 +9250,15 @@ postcss-loader@7.0.1: klona "^2.0.5" semver "^7.3.7" +postcss-loader@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.2.tgz#b53ff44a26fba3688eee92a048c7f2d4802e23bb" + integrity sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.8" + postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" From 5ca73170db68efd4d92daf1e7e756af5c798d2c3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 30 Nov 2022 14:20:37 +0000 Subject: [PATCH 1185/1388] release: cut the v15.1.0-next.1 release --- CHANGELOG.md | 31 +++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0c9865b0ff4..8edd148445a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ + + +# 15.1.0-next.1 (2022-11-30) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | +| [9299dea64](https://github.com/angular/angular-cli/commit/9299dea6492527bcaea24c9c7f3116ee2779405b) | feat | generate functional interceptors | +| [9b6d190f4](https://github.com/angular/angular-cli/commit/9b6d190f4a082c166d253b0f00162e0286238e45) | fix | remove EnvironmentInjector import in functional guard spec | +| [b11d3f644](https://github.com/angular/angular-cli/commit/b11d3f6442d38f609471ab19c08a1c9a871e0ae3) | fix | use proper variable in functional guard spec | +| [451975f76](https://github.com/angular/angular-cli/commit/451975f7650041a83994e1308f85fe7e33a31e32) | fix | use proper variable in resolver functional spec | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | +| [012393d37](https://github.com/angular/angular-cli/commit/012393d37924a2afd172bfd80ee5e4bcd1c9abdf) | fix | correctly set Sass quietDeps and verbose options | + +### @ngtools/webpack + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | +| [856720b91](https://github.com/angular/angular-cli/commit/856720b913ec1ba82b96db2d3a61628cb3795f11) | fix | elide unused type references | + +## Special Thanks + +Alan Agius, Andrew Scott, Cédric Exbrayat, Jason Bedard and Juuso Valkeejärvi + + + # 15.0.2 (2022-11-30) diff --git a/package.json b/package.json index 2b5d4c6efb01..b20b7de1b059 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.1.0-next.0", + "version": "15.1.0-next.1", "private": true, "description": "Software Development Kit for Angular", "bin": { From ef99a68b46c992c1988c5ca4c6fb066e89762d64 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 30 Nov 2022 11:36:06 -0500 Subject: [PATCH 1186/1388] fix(@angular-devkit/build-angular): prevent optimization adding unsupported ECMASCript features When optimization is enabled with the `@angular-devkit/build-angular:browser` builder, terser is used as a second phase optimizer. The terser configuration previously set its `ecma` option to `es2020` due to all officially supported browsers supporting the version. However, it is possible to add browsers to the browserslist configuration that are not officially supported that still may work but do not support es2020 syntax features. By setting the terser `ecma` option to `es2015`, terser will not turn existing syntax into newer syntax features that might be unsupported. Terser will also not downlevel any code based on this option. Fixes #24347 --- .../src/webpack/plugins/javascript-optimizer-worker.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts index 2c7c4652e62c..240519f33218 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts @@ -190,8 +190,9 @@ async function optimizeWithTerser( passes: advanced ? 2 : 1, pure_getters: advanced, }, - // terser only supports up to ES2020 - ecma: 2020, + // Set to ES2015 to prevent higher level features from being introduced when browserslist + // contains older browsers. The build system requires browsers to support ES2015 at a minimum. + ecma: 2015, // esbuild in the first pass is used to minify identifiers instead of mangle here mangle: false, // esbuild in the first pass is used to minify function names From 41fb45027b97898c951b0b292bb7f2c8e8cae6de Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 30 Nov 2022 23:36:58 +0000 Subject: [PATCH 1187/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 1835 ++++++++--------- 8 files changed, 942 insertions(+), 971 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 138976bf7e02..f030a6e0490b 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@361be062e6820a94ba3d7e7709dd50ba3c370c89 + - uses: angular/dev-infra/github-actions/branch-manager@3bc93449e11b733260d0294305bf57240d7e0a81 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c1a11c64c911..268c15a279b5 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@361be062e6820a94ba3d7e7709dd50ba3c370c89 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@3bc93449e11b733260d0294305bf57240d7e0a81 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@361be062e6820a94ba3d7e7709dd50ba3c370c89 + - uses: angular/dev-infra/github-actions/post-approval-changes@3bc93449e11b733260d0294305bf57240d7e0a81 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 35b70368fb4e..4a95d6d87848 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@361be062e6820a94ba3d7e7709dd50ba3c370c89 + - uses: angular/dev-infra/github-actions/feature-request@3bc93449e11b733260d0294305bf57240d7e0a81 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6fea9914dc37..928a9c40398f 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@361be062e6820a94ba3d7e7709dd50ba3c370c89 + - uses: angular/dev-infra/github-actions/lock-closed@3bc93449e11b733260d0294305bf57240d7e0a81 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index b20b7de1b059..2a324c8de3e4 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.1", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5", - "@angular/cdk": "15.0.0", - "@angular/common": "15.0.1", - "@angular/compiler": "15.0.1", - "@angular/compiler-cli": "15.0.1", - "@angular/core": "15.0.1", - "@angular/forms": "15.0.1", - "@angular/localize": "15.0.1", - "@angular/material": "15.0.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca", - "@angular/platform-browser": "15.0.1", - "@angular/platform-browser-dynamic": "15.0.1", - "@angular/platform-server": "15.0.1", - "@angular/router": "15.0.1", - "@angular/service-worker": "15.0.1", + "@angular/animations": "15.0.2", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#700b1eb865783a6dc733206bd9b3eadf1a43042f", + "@angular/cdk": "15.0.1", + "@angular/common": "15.0.2", + "@angular/compiler": "15.0.2", + "@angular/compiler-cli": "15.0.2", + "@angular/core": "15.0.2", + "@angular/forms": "15.0.2", + "@angular/localize": "15.0.2", + "@angular/material": "15.0.1", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a", + "@angular/platform-browser": "15.0.2", + "@angular/platform-browser-dynamic": "15.0.2", + "@angular/platform-server": "15.0.2", + "@angular/router": "15.0.2", + "@angular/service-worker": "15.0.2", "@babel/core": "7.20.5", "@babel/generator": "7.20.5", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 77b7bb409e3e..7b55207c68b1 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.1", - "@angular/compiler-cli": "15.0.1", + "@angular/compiler": "15.0.2", + "@angular/compiler-cli": "15.0.2", "typescript": "4.8.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 6143f0a741e2..548408f41eef 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e61ecd53eb4181f3078efeb140e4f3b2b751d0f4", - "@angular/cdk": "github:angular/cdk-builds#5d275abcb5c5d9d497d6f1134bad5e7ba6934c2a", - "@angular/common": "github:angular/common-builds#05474f76e11143f5a874a52d71cdee0db57213e1", - "@angular/compiler": "github:angular/compiler-builds#e4a71e95765dc3013c84ea501ccc3957b7ac133f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#f67d1f0ee99e250831b4f9028fa82c9f037616e8", - "@angular/core": "github:angular/core-builds#2bef4789f39a28794a71cfa0b931f87ae5eba0e0", - "@angular/forms": "github:angular/forms-builds#53eabac9b79052314f4dbf830e19d114d9db8a06", - "@angular/language-service": "github:angular/language-service-builds#03ecf80766d28c480a3f5c3e2e3f18ce9a4ad90b", - "@angular/localize": "github:angular/localize-builds#f4f8dbdb2f6d791f2cd78eef4626f85a37b51cd2", - "@angular/material": "github:angular/material-builds#8d46e153c8b0e814e56d0782a4b16e4e6c1803e6", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1c32483880a122c835e049b75810f360c3313fb8", - "@angular/platform-browser": "github:angular/platform-browser-builds#3428773fc4e6612471062575f4f234ee28d3453d", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#02cc4d580b8ffdff1c23bf6839d1eb6ce4a8cf94", - "@angular/platform-server": "github:angular/platform-server-builds#5536a73992a890009c903debc733bc2f9dd9d21a", - "@angular/router": "github:angular/router-builds#2fe95cea77e1f361f7861248a944b0c837fbd753", - "@angular/service-worker": "github:angular/service-worker-builds#2fdd0df78703a5d13a731dc379c86d456cf247fa" + "@angular/animations": "github:angular/animations-builds#29a40cb3156835d99f75ed97b97c0a72d202c01c", + "@angular/cdk": "github:angular/cdk-builds#7250998fcb18d850c58db5d3d95bc567761fade9", + "@angular/common": "github:angular/common-builds#cb06ba91133f95824dde25d2d855a057ab160665", + "@angular/compiler": "github:angular/compiler-builds#e82af8594adec08e85a80080083aa087baf586a9", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#90835b7422dcd82f9df821240b41aa18e24cda4b", + "@angular/core": "github:angular/core-builds#004dcae91553bc19d405af257349e1997de6bc47", + "@angular/forms": "github:angular/forms-builds#d1ce91dc40497e59513ab77745488a278abf07d1", + "@angular/language-service": "github:angular/language-service-builds#627f4826984b547f4fdf22ece953688c15f93537", + "@angular/localize": "github:angular/localize-builds#918ffd6a11a1ea77a6f45f0cc9234ab7cb5f536c", + "@angular/material": "github:angular/material-builds#c6cd1104499828ddc93f53d13ff81307f9bd2ac5", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a7fce23ed0a09a1eadb1e44d1b51ffb8f27c1db6", + "@angular/platform-browser": "github:angular/platform-browser-builds#82d5991224ba8a4136462cec436b259278c057c7", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2209d5e210be8571268b984b891f21cd4d7eda90", + "@angular/platform-server": "github:angular/platform-server-builds#6e06a8596a38e8f2f1cc1d0adc608239ae65ea75", + "@angular/router": "github:angular/router-builds#92d5133d224c488d3049124f6b2706380fbb2a81", + "@angular/service-worker": "github:angular/service-worker-builds#05a07d91e6f5e2e2787b9eff989193ef3e3f303a" } } diff --git a/yarn.lock b/yarn.lock index e80cebf0c235..e24090614dad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1500.0": - version "0.1500.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1500.0.tgz#50e0037268b5848bef3cb9d4766b0648dba67a87" - integrity sha512-jruRPfGQ2IU6TALyZcNTZG0MiOg5G/0axcqAmrb/1rJt5qb1vr74HQ8v0nBNQSVnk8swU+nXOdj3lX+xY7y4WA== +"@angular-devkit/architect@0.1501.0-next.0": + version "0.1501.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.0.tgz#7555582c991d2c7fcb34c9cc6f1a3ce7cf860edf" + integrity sha512-3H7W6ECEiBsRLIApm6yYz7RkTpGxmm1erhrNp8hFKWu+kYZNKbX8PfdPnTLbu9QO5vCJhpEnXSHkLrUpw9gIzg== dependencies: - "@angular-devkit/core" "15.0.0" + "@angular-devkit/core" "15.1.0-next.0" rxjs "6.6.7" -"@angular-devkit/build-angular@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.0.0.tgz#fa24acfa308eae74ff8fcd7a74663fe081e54b62" - integrity sha512-sF8c4oewwpKPlLkMMDBIM/qQ+LQHv308JvyWV2VKaph3IWI2TZQP4n5024/XaFvBEz0/2sHDWTMcGTKlZ7ZC0w== +"@angular-devkit/build-angular@15.1.0-next.0": + version "15.1.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.0.tgz#20aa490ff0bed373f14904a9b4b220ede6692451" + integrity sha512-wX3WMWLiYgzQIb0/BLNjRbdreHPwqEGnDApPaCJBXKPATk8HUB54FOp7BwBo35wElUkeIE3p/OODiD+ZUYuZHg== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1500.0" - "@angular-devkit/build-webpack" "0.1500.0" - "@angular-devkit/core" "15.0.0" + "@angular-devkit/architect" "0.1501.0-next.0" + "@angular-devkit/build-webpack" "0.1501.0-next.0" + "@angular-devkit/core" "15.1.0-next.0" "@babel/core" "7.20.2" "@babel/generator" "7.20.4" "@babel/helper-annotate-as-pure" "7.18.6" @@ -37,7 +37,7 @@ "@babel/runtime" "7.20.1" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.0.0" + "@ngtools/webpack" "15.1.0-next.0" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.0" @@ -47,8 +47,8 @@ chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" - css-loader "6.7.1" - esbuild-wasm "0.15.13" + css-loader "6.7.2" + esbuild-wasm "0.15.15" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -59,14 +59,13 @@ license-webpack-plugin "4.0.2" loader-utils "3.2.1" magic-string "0.26.7" - mini-css-extract-plugin "2.6.1" + mini-css-extract-plugin "2.7.0" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" postcss "8.4.19" postcss-loader "7.0.1" - regenerator-runtime "0.13.10" resolve-url-loader "5.0.0" rxjs "6.6.7" sass "1.56.1" @@ -79,36 +78,36 @@ tree-kill "1.2.2" tslib "2.4.1" webpack "5.75.0" - webpack-dev-middleware "5.3.3" + webpack-dev-middleware "6.0.0" webpack-dev-server "4.11.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.13" + esbuild "0.15.15" -"@angular-devkit/build-webpack@0.1500.0": - version "0.1500.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1500.0.tgz#e8361e510c4d0740e695e20722d837d965d65e67" - integrity sha512-PFLd4LrKcZosdMKZSIPsEb9AsFiTqYhspSMyKApt3mfuO0LkcW46n+KOixg+aWgiJQdlfeMSaW9IgdrgP0y8/Q== +"@angular-devkit/build-webpack@0.1501.0-next.0": + version "0.1501.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.0.tgz#65089e390b1d4d123f85c91adac7178dfbd4384b" + integrity sha512-E4VDrm5KoEWF4tR5vlxpa/0NLD5IsR+38UcPf5vfpm1/NkiWfmgTRwIR3Tt2jIINhrWCbtXr9qYFX2ppV8d3NA== dependencies: - "@angular-devkit/architect" "0.1500.0" + "@angular-devkit/architect" "0.1501.0-next.0" rxjs "6.6.7" -"@angular-devkit/core@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.0.0.tgz#6b6db4ca7998167f1fb58086e9b4349c7774ddc9" - integrity sha512-2Mg1+eyodO7od2Ax0EaArmm3rDzI2O00pBNU2Upz5hTfHcsqXlPzX5aYjWBiL1lBM0xYLY99dZqSdcQBMZy/Qg== +"@angular-devkit/core@15.1.0-next.0": + version "15.1.0-next.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.0.tgz#60590383dfc37b1b35fe373cda94bb61bf4baf76" + integrity sha512-rv4c3pAw6P9A0/30psLrLPP8ATJf0Y/bifLeEblW+sbckEnk3Cu9wbw1nOWfh852dpt8XDRxcgpXdX+ysQOCvA== dependencies: - ajv "8.11.0" + ajv "8.11.2" ajv-formats "2.1.1" jsonc-parser "3.2.0" rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.1.tgz#6181ab315504035b981fe4db85e96bbcd3b6d660" - integrity sha512-GfxqpRcoRfQNS1pVA+PadcgCGJSFag07jFJIQUHX3HZkI/4PyXGn/7ptgebN3tBjy+ASk4PBOQP/ntGbrr55zw== +"@angular/animations@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.2.tgz#13617cf4ae98b555955c474c11b4e88e6d0259b9" + integrity sha512-bghNrTPbRaxL1SqiKFFUdDFDClGFzES6AkGbtBj1kE6IOC3tNbTSc2ozsuVAGOi96zqumnonaA000dIIqfvYMw== dependencies: tslib "^2.3.0" @@ -120,28 +119,29 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5": - version "0.0.0-361be062e6820a94ba3d7e7709dd50ba3c370c89" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#e03dd7495dce207abd647fdde7d6918302c0b4b5" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#700b1eb865783a6dc733206bd9b3eadf1a43042f": + version "0.0.0-3bc93449e11b733260d0294305bf57240d7e0a81" + uid "700b1eb865783a6dc733206bd9b3eadf1a43042f" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#700b1eb865783a6dc733206bd9b3eadf1a43042f" dependencies: - "@angular-devkit/build-angular" "15.0.0" + "@angular-devkit/build-angular" "15.1.0-next.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.7.1" - "@bazel/esbuild" "5.7.1" - "@bazel/protractor" "5.7.1" - "@bazel/runfiles" "5.7.1" - "@bazel/terser" "5.7.1" - "@bazel/typescript" "5.7.1" + "@bazel/concatjs" "5.7.2" + "@bazel/esbuild" "5.7.2" + "@bazel/protractor" "5.7.2" + "@bazel/runfiles" "5.7.2" + "@bazel/terser" "5.7.2" + "@bazel/typescript" "5.7.2" "@microsoft/api-extractor" "7.31.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" "@types/send" "^0.17.1" "@types/tmp" "^0.2.1" - "@types/uuid" "^8.3.1" + "@types/uuid" "^9.0.0" "@types/ws" "8.5.3" "@types/yargs" "^17.0.0" browser-sync "^2.27.7" @@ -158,26 +158,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.0.tgz#584bc424eff1856db3f517b22a0f1cb81cb854dc" - integrity sha512-a4AUGfd1iNEGR5A9jmwzEfdRDpOh9KWypFqo85ivC3/KDW4+Z5AGxZpzwqAsRz2WQVdK+8biaz83VBQTMC5IOw== +"@angular/cdk@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.1.tgz#45208c42ab929e42104faa64c70de978788fceda" + integrity sha512-yV/nietivRC8JJrEt0M3RXo+4PMk8cReZVhbV0ME6MOehJ7NBw7uIBjfIbLWE9YGEHZi+TCzdxqDuWqH5RCiog== dependencies: tslib "^2.3.0" optionalDependencies: - parse5 "^5.0.0" + parse5 "^7.1.2" -"@angular/common@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.1.tgz#500141a1e6a900d8cc5a08748cee64329c36fa78" - integrity sha512-XRD1Dj2aINyp5yYueCuwLU1y84z+ZFXeO84oNfwIu0unHszuo02iIzrV+yCm/ATwt6qUkIbe6xhZNjUorZecyA== +"@angular/common@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.2.tgz#386244daea7d832b28ffdbcda3cc057eacb32a27" + integrity sha512-BZkaUdFv6A0a8m3R/HEYmwZrULMHwRWQh+ukSQEz9reVNUiH0/mNvj9I4iYYCfYXHPiyMIRfAeu/fqdl14DBFg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.1.tgz#a08a24aae772afbf491aa463749c1651619bf103" - integrity sha512-M2VsKBw8dQMC5p3PmpM+EBZAZ9Qk/rGX+aIHYBGzsgGFqYMEcz6Nxrj4v6I3Hta7tW7QEVXf883rXiWxHlwtbw== +"@angular/compiler-cli@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.2.tgz#2a83fb5ffb55a2bf6bd2a1e694a10288dc981fcd" + integrity sha512-WZCULskbuoMA0iQ36H2nGgKj017JENR+wDnwuQ+/1ECtBN2PpjJiws/m5bntBzQe96w2fue6tOLh09WESQgRHw== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" @@ -190,17 +190,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.1.tgz#7c8b748868088e6219f8c04f4c7a3e5f681854aa" - integrity sha512-4talkxip79XPfoj69qgY8VXV1KIBKOyZCRWHhNVqMdECyw/fceVWN4r8kDL0qOTBh1CKmhoQFXQilr9g7nFatA== +"@angular/compiler@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.2.tgz#2e7b1c3c5e4a9c34e2f88a26d9a391955edf8b06" + integrity sha512-dD1Vv2txp09V7RaJK2tvGRWpM2RsDARVAGL65hfJY2txeEFRyajcle6jOI11NfGpgsZvptN7o5oc8ozQI1hgTA== dependencies: tslib "^2.3.0" -"@angular/core@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.1.tgz#5bc910a0db9579114b878fed22c1e09bebf7a69d" - integrity sha512-idaKf9hhguyGn/yj5KMHIUEvW4PpeYcwlRUSoEskQC1799BsXwJyV0AwZ67GH1ltnAj34gbhMhDedcCLdhOffA== +"@angular/core@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.2.tgz#2c399e5a122a2a633093ec6d5c9ca0ce0dddd030" + integrity sha512-qM0T4r3Z3Qfk+5+M5JRB1qr3AUKgabbC0kARY+R+QvwbQBE6UoeWw5eRuUbTGDP70Ikeeg0xZebpkr7Oghp9/A== dependencies: tslib "^2.3.0" @@ -211,117 +211,118 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.1.tgz#8a9396990d7d5a253c8df07673fe45001de02357" - integrity sha512-gNj/fY7B7swczWI3jpJK4904W0WHCrYviZB8m97P4MkcxdMfQezp4VoRsj+vIkKGtUPUWje3uIjzqodhJlxIJA== +"@angular/forms@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.2.tgz#a404c8d3f4227b1d4b56bad65a85aa3e4eed396c" + integrity sha512-c7t2pk1nzXIibIaIo4wsDd+VipiuDXqV1bolluAVaRjnS80BEQqOkudNNBgodx8sVkjEYI+cpLp+vE7FEOjHdg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.1.tgz#edbb964a00fd7bfef6ba6dc353175c5051fe0653" - integrity sha512-z1pNeDPZSeG++bL42uSouOcEj6YxaGd01ujNo1OiZUEgkqMRZRBHscXLFdXQ0dUm0kNWtjfAevesrI/vA9259w== +"@angular/localize@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.2.tgz#c62bab9a94b1c842de901e1438508998bb01e6e1" + integrity sha512-7qZcEl9ZscCwGzmCviUQvkeGyaH58xSrW7eZ2nQPVKCwU9DGLtSXd0xTqTe6nmjigO7BG0u4D2yt1c6/Q+X8yQ== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.0.tgz#f22841b73baad114f4e7dfc827dafc6458d21b25" - integrity sha512-DONpBABa8r0YW8uwUOR1D14vlUnKNmUhKjPHnf0iDKOK3FS0oS/gzwc49iU/o8JtovatJYGa+mcm1i55Piz7Rg== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/auto-init" "15.0.0-canary.ecfee946f.0" - "@material/banner" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/button" "15.0.0-canary.ecfee946f.0" - "@material/card" "15.0.0-canary.ecfee946f.0" - "@material/checkbox" "15.0.0-canary.ecfee946f.0" - "@material/chips" "15.0.0-canary.ecfee946f.0" - "@material/circular-progress" "15.0.0-canary.ecfee946f.0" - "@material/data-table" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dialog" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/drawer" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/fab" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/floating-label" "15.0.0-canary.ecfee946f.0" - "@material/form-field" "15.0.0-canary.ecfee946f.0" - "@material/icon-button" "15.0.0-canary.ecfee946f.0" - "@material/image-list" "15.0.0-canary.ecfee946f.0" - "@material/layout-grid" "15.0.0-canary.ecfee946f.0" - "@material/line-ripple" "15.0.0-canary.ecfee946f.0" - "@material/linear-progress" "15.0.0-canary.ecfee946f.0" - "@material/list" "15.0.0-canary.ecfee946f.0" - "@material/menu" "15.0.0-canary.ecfee946f.0" - "@material/menu-surface" "15.0.0-canary.ecfee946f.0" - "@material/notched-outline" "15.0.0-canary.ecfee946f.0" - "@material/radio" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/segmented-button" "15.0.0-canary.ecfee946f.0" - "@material/select" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/slider" "15.0.0-canary.ecfee946f.0" - "@material/snackbar" "15.0.0-canary.ecfee946f.0" - "@material/switch" "15.0.0-canary.ecfee946f.0" - "@material/tab" "15.0.0-canary.ecfee946f.0" - "@material/tab-bar" "15.0.0-canary.ecfee946f.0" - "@material/tab-indicator" "15.0.0-canary.ecfee946f.0" - "@material/tab-scroller" "15.0.0-canary.ecfee946f.0" - "@material/textfield" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tooltip" "15.0.0-canary.ecfee946f.0" - "@material/top-app-bar" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@angular/material@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.1.tgz#44e5ae2eb768c09bf16f082a3c662df7eb1ec543" + integrity sha512-JXMcRf27HgXwjoNOKD04YubJ14M9Y66g5Ol4R5EDShnwvvzU1OKLjaYN3SYpH5iMauZztjljsVBsLlO8n/TVFA== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/auto-init" "15.0.0-canary.7971d6ad5.0" + "@material/banner" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/button" "15.0.0-canary.7971d6ad5.0" + "@material/card" "15.0.0-canary.7971d6ad5.0" + "@material/checkbox" "15.0.0-canary.7971d6ad5.0" + "@material/chips" "15.0.0-canary.7971d6ad5.0" + "@material/circular-progress" "15.0.0-canary.7971d6ad5.0" + "@material/data-table" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dialog" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/drawer" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/fab" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/floating-label" "15.0.0-canary.7971d6ad5.0" + "@material/form-field" "15.0.0-canary.7971d6ad5.0" + "@material/icon-button" "15.0.0-canary.7971d6ad5.0" + "@material/image-list" "15.0.0-canary.7971d6ad5.0" + "@material/layout-grid" "15.0.0-canary.7971d6ad5.0" + "@material/line-ripple" "15.0.0-canary.7971d6ad5.0" + "@material/linear-progress" "15.0.0-canary.7971d6ad5.0" + "@material/list" "15.0.0-canary.7971d6ad5.0" + "@material/menu" "15.0.0-canary.7971d6ad5.0" + "@material/menu-surface" "15.0.0-canary.7971d6ad5.0" + "@material/notched-outline" "15.0.0-canary.7971d6ad5.0" + "@material/radio" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/segmented-button" "15.0.0-canary.7971d6ad5.0" + "@material/select" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/slider" "15.0.0-canary.7971d6ad5.0" + "@material/snackbar" "15.0.0-canary.7971d6ad5.0" + "@material/switch" "15.0.0-canary.7971d6ad5.0" + "@material/tab" "15.0.0-canary.7971d6ad5.0" + "@material/tab-bar" "15.0.0-canary.7971d6ad5.0" + "@material/tab-indicator" "15.0.0-canary.7971d6ad5.0" + "@material/tab-scroller" "15.0.0-canary.7971d6ad5.0" + "@material/textfield" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tooltip" "15.0.0-canary.7971d6ad5.0" + "@material/top-app-bar" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca": - version "0.0.0-361be062e6820a94ba3d7e7709dd50ba3c370c89" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c8a5691ccbc3eab2c364ec547c9aec24ceba2eca" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a": + version "0.0.0-3bc93449e11b733260d0294305bf57240d7e0a81" + uid "0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.1.tgz#06a6147f159bdde83aa70b71f013d62b1039afb2" - integrity sha512-GyD7BIWGiKGA9KgXmSQLEWiIZjGMacBdvJ8KsRKFpKfxA9bfaC5J6dwTqNy+l/Z9IcT2VQJ8Ba0gEHHtkfemPA== +"@angular/platform-browser-dynamic@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.2.tgz#93026eab5b4b8956e88c69452baeef5d676cfcc3" + integrity sha512-OJ3WevyoR/rEYs9zqY2NzYX+2OqcWrmATFnvdFNMztjl8HO/SVak1URz8phZeSRslWjILlJ4nxPORVwV8TlW+w== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.1.tgz#dac0abb8519e434e04e277c4ba555b3cfb7e10dd" - integrity sha512-fH0EfRgbQC0ql8V1ZWVfF75H9lSjT2T6uGfR8cBdRAO/RWwWgx/TfFsjdWAZtjuKRZnKY3wRQ/yVYeQarC3n0Q== +"@angular/platform-browser@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.2.tgz#eb9812b16e8f38fae03a4499c9d80269b40397a1" + integrity sha512-Dau9Ip5ub35lyJ+Bl2sUMQ4CoCgj8tdcNWDyQrfYynllKZfbQNaNY60To48P4u7pVGwN/Ib8Wb+jcloZJUXm4Q== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.1.tgz#986bea4bae180e844c8c525c6f031959dd4ce364" - integrity sha512-sYbqpy6QbH8DEmykjCKes7n/rkgu7Y9Y5OliLiWj8tamZwPubod4E2Ik+FSDx6c4+G+hNVwXSCLb9abG56yrEQ== +"@angular/platform-server@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.2.tgz#e9bbc0a72c8d15f48e6fbb10e388c5af8136bb5b" + integrity sha512-a25zn1puSJYAPHbdBTPWwU6xptvfjkkd5un4Mk07Twa7x9hxV6me91bV3u7Ce/t2GGYJ8shp1KHMWAxriH7O2A== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.1.tgz#cf0a006bddf928385dc3a5305d4997ef9eb20c69" - integrity sha512-L+GgFNAgITyyD7CTTtOjz1OgFu00+xzjANLfOMs8wGW8OsqSS68lsXF9QexbPGm+e0n+rmQjYOZcsi0Bti4sCQ== +"@angular/router@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.2.tgz#20895e06c8efbc92123276341a8cb988618bfd38" + integrity sha512-uRf/OTGHt7Ysxw1IgrzCTvtwoYwwDPJxsZm/jXfrILPxHYqsSvYNXgcGqOp1kXY1/ByotM0P2+5CA6h2VICFHg== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.1.tgz#b56112cf0f6f8a14489f218bf956159d2415322b" - integrity sha512-kmB/aP7mkfnbdruwCB5XtuI3O3WG/CqtEgL824VXaycSlLoHprT/+YBVM+kNvmM9S7+70IxEZmqEvd/hjHUDeA== +"@angular/service-worker@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.2.tgz#9a6b12260e13d9279162405c65bd6a2657935990" + integrity sha512-r+9qS3ZoLkNutukzJLchZtr/NG16DGTcLu/Q2K84gTi/ybf88OCphL3uKwefF8BFguXoMNL+LLHEulrE1UzWaA== dependencies: tslib "^2.3.0" @@ -1300,15 +1301,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.1.tgz#fe76bf0064382d7640651b210a97d5af35e50e39" - integrity sha512-h6PHntgP8PY5DOjl73zt4zeXcbRYX1Zk3vwpP/QYUk0APlwCHE3ZU+u7whrsV3LPAhlPg1c+t9cmHBxfmb2q7w== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.7.2": version "5.7.2" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.2.tgz#24298c5607cd670a390743c962d5f3e6dbeea5b5" @@ -1318,10 +1310,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.1.tgz#3e72ad6d71ab868429a7f02f914bba8958c2e05e" - integrity sha512-mNi5AaXQ5h6kwIkgXCtwZIvzhf+iEgj54PS4riHyWmk3qwFa+XqgLK+b//9tdjNVtisrIoyiZ0+J2Q6dU5YQsA== +"@bazel/esbuild@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.2.tgz#d3086cd8474f20f6be0689e3b8ae852a311cbc45" + integrity sha512-YseNk23x30bynpXOvx0BdvPX2WSuI+6sDtx+Cn7Q27cBZw41438qjciuE2UlGME26p/5VULyduOqp0a3T3ZTjQ== "@bazel/jasmine@5.7.2": version "5.7.2" @@ -1331,35 +1323,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.1.tgz#4f9e95ea7b54e02910efdc52807bfaf226cb303e" - integrity sha512-zskjl1yBVNTUPcdxmvi13h2+KT9YY/1+7SSaG/PkutmZVeJhp9JL2s43Rdp2DQhjVaWhTDWNHyRur6dSMImmVg== +"@bazel/protractor@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.2.tgz#2393cd41f0ba436d131d13783913d8340b66a71d" + integrity sha512-pDkTLC+3hDGtIz42N8UXMkHbTcU5U8duvpiq4xvsP36VH9H5c/wSQQ9MYZojFkrOoVd7SHr/3Ojm/d2H9qqe2w== -"@bazel/runfiles@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.1.tgz#1929078bebafcea7a813a0ea8db8720dcf67a6dd" - integrity sha512-lMovXi/ENs+I8OWcUwAiV+0ZAv5pZJfKM70i2KdVZ5vU3Roc+pgPntH77ArEcPfFh0bJjuiSAgidr6KAMdTZiQ== +"@bazel/runfiles@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.2.tgz#18d6d69b0efced65b2b01f5bc002ac5ccf7ac260" + integrity sha512-vHogrmEaKVqyqB6z6m4lzBw2Ns9c3RCvw9i/LECjhimueOXOhLuTYsHoe25u3008W53ZDAkD1RyeTbvakjRIpQ== -"@bazel/terser@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.1.tgz#2f247472d65fd53350f1366009b8c5245e23f705" - integrity sha512-WAy2LG7lU6M4CLHBe7UWAFpILCb0k4KpLnBp8uiQFCovSYgmhB7kThWGNwkx/dgmr8mI+aSZ8tBcv0CQc+C0ZQ== +"@bazel/terser@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.2.tgz#3b086bbbacd5dabb3588f60c6123248809b18ff5" + integrity sha512-2P/P6+ctdQHeChlUNNyuIaE3aQNknUUYrCoCRfhUHbOW/3N2N2dZV9FBjKLHhmYE+oYaYe1WB3X+lJS9/ljTjw== -"@bazel/typescript@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.1.tgz#e585bcdc54a4ccb23d99c3e1206abf4853cf0682" - integrity sha512-MAnAtFxA2znadm81+rbYXcyWX1DEF/urzZ1F4LBq+w27EQ4PGyqIqCM5om7JcoSZJwjjMoBJc3SflRsMrZZ6+g== +"@bazel/typescript@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.2.tgz#a341215dc93ce28794e8430b311756816140bd78" + integrity sha512-tarBJBEIirnq/YaeYu18vXcDxjzlq4xhCXvXUxA0lhHX5oArjEcAEn4tmO0jF+t/7cbkAdMT7daG6vIHSz0QAA== dependencies: - "@bazel/worker" "5.7.1" + "@bazel/worker" "5.7.2" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.1.tgz#2c4a9bd0e0ef75e496aec9599ff64a87307e7dad" - integrity sha512-UndmQVRqK0t0NMNl8I1P5XmxzdPvMA0X6jufszpfwy5gyzjOxeiOIzmC0ALCOx78CuJqOB/8WOI1pwTRmhd0tg== +"@bazel/worker@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.2.tgz#43d800dc1b5a3707340a4eb0102da81c53fc6f63" + integrity sha512-H+auDA0QKF4mtZxKkZ2OKJvD7hGXVsVKtvcf4lbb93ur0ldpb5k810PcDxngmIGBcIX5kmyxniNTIiGFNobWTg== dependencies: google-protobuf "^3.6.1" @@ -1385,20 +1377,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm@0.15.13": - version "0.15.13" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" - integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== +"@esbuild/android-arm@0.15.15": + version "0.15.15" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.15.tgz#35b3cc0f9e69cb53932d44f60b99dd440335d2f0" + integrity sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw== "@esbuild/android-arm@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== -"@esbuild/linux-loong64@0.15.13": - version "0.15.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" - integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== +"@esbuild/linux-loong64@0.15.15": + version "0.15.15" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1" + integrity sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA== "@esbuild/linux-loong64@0.15.16": version "0.15.16" @@ -1534,700 +1526,702 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@material/animation@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.ecfee946f.0.tgz#1e1228e28e50ddcff19163847d8011d20060da34" - integrity sha512-95aC/UYnCr/1g18VYPK/fX6eCNVGFBkd4JP6zT6wkh8PDL0gp52U+PCCp8bYq8i8oxrKTBa4MqFyzHB5brBFgg== +"@material/animation@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.7971d6ad5.0.tgz#055a797de6ef0868cc518083eac7a9fb1ed8c1cb" + integrity sha512-nOCOgzp/Vdgloyw/SjFCEtpcxXWtXUjvX+JCVg7o+EEtaGLBQdgjJUj5lt+RQ6e9r0eiMYKJ6l1+1TGGebsIfA== dependencies: tslib "^2.1.0" -"@material/auto-init@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.ecfee946f.0.tgz#cc683fdd30a60715f7397981543b08aac30b5fd8" - integrity sha512-WvmAlRrh4no3ewh3E6b+CLM6UC0w6xaFhzk7jkTFcSopDxf6cNieIM6oXlmVjN9bg33ngxEHBOfz7JYJZQOA+Q== +"@material/auto-init@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.7971d6ad5.0.tgz#1b143e55937e6116fef8ee20c339104d95f58500" + integrity sha512-JmST/NkQpdJ1+nyAU8qbV1eRXbOwvpaTRy096Y5mOK1CeUsagUyrKkCeLsO56pmvayxnOIkJCOhH/8gzIsmiJA== dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/banner@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.ecfee946f.0.tgz#9cc992716b73f4518995cbad090357524f0b1f44" - integrity sha512-aFHC/9hHiAOw2b/1jsndV+qDlNqpGrLGGTNvxow5WQ9XbG2nVinvz/L4ZPF7+gPvRrSWiXVHOTQoaudF4eZm+w== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/button" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/banner@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.7971d6ad5.0.tgz#0410720a25f801e34461dcfcdca1f46715aea7bd" + integrity sha512-OA23YGt9qTz5i+FdGgk4QpRkmby/w+k12YMlL7u+TmwWIiGom2AaOy/DbBCr2/uNJEJ6o0h+wcNBEmGe7bJutw== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/button" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/base@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.ecfee946f.0.tgz#a4adad19ed54bd7e1013821842ee64094efd45da" - integrity sha512-Es6oTUxRzeHzu3HBz0qGTheMtDj6ovGfEOr9sQmt0YnAKwleUD2i+CbWBq8R9VG6p8nkQenUm8Q+Fifb0GxaYw== +"@material/base@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.7971d6ad5.0.tgz#d467a79a81dc329edbf6cc4d5bf177caac8cfca0" + integrity sha512-wXgoWl8NG4BZ2U8MCg4BLQLNla3IdyxBJIMSsJ1qvP2YswmG9HXTkS8y9mHTAhzzQEFQtlwDOyp4Ntq2Ep4WZA== dependencies: tslib "^2.1.0" -"@material/button@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.ecfee946f.0.tgz#26d0c439e772cafde039f9998dab821a4c176e25" - integrity sha512-Yvy5sneKGWNXF1iuwaQT+TYKdOqCEDwmT7OLB5SPtJRqBYKiqFpMg7e1X47rf/LfogQ1mc1JU9zibwDahFBbGw== - dependencies: - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/button@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.7971d6ad5.0.tgz#98462efdc38e862e8a1c137b4c14da434d411ba6" + integrity sha512-lyV4unJUG/onzNSLL5TjTGJxscBReG6+lNBvGSfgCafW2bfHW278BbqPDbPr52ONe6vg5INptZJ6bZx4FStGIQ== + dependencies: + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/card@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.ecfee946f.0.tgz#a1d5b9c34f4a7c82fbda795edadef3b36518b764" - integrity sha512-gYcV1qWjsg2w471vC/CnHXrKYK1VEVot/ONOJXd2ahh7AbRGZ/hZ8aV4WSizgq0RHI6CJj15BAKQyCSlJzE9iA== - dependencies: - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" +"@material/card@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.7971d6ad5.0.tgz#9656b5f76f1a06833dc36b5ca955dfb4ee1a8b3f" + integrity sha512-0YNba4Keg+a0U4JK+siLDbTyO13s40hm88kX7uQ46SmsQlY3fbMsdOpX9+y/PaOkOXIJIgX6g+c7ASM7c/6Zyw== + dependencies: + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/checkbox@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.ecfee946f.0.tgz#e99a601fce56de9076dffffaef09bc70b44d2814" - integrity sha512-gU4mUwF8rUc5s64PuIOHNQN4VwRfsZ1l7jiMQzBJu1Kp3tf9jbqsMRtEQCd+mWN5w+DFESVEnvNr2fluY1Jsww== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" +"@material/checkbox@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.7971d6ad5.0.tgz#3c82738ce8c1f36cee645a6aaeca8c71dc3bc004" + integrity sha512-RSFJhMtU28BhXWyQHMrThqkGMtYb16JOuKkZ54bc1AzIndQnniQoGpkb5tHx1hOCGhOUyAGVh/w8BHczWRsLbw== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/chips@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.ecfee946f.0.tgz#a9aa3add4f6fbd82aa08b8db08a948ec97351e3d" - integrity sha512-iVEAM7I5AD5nYGdD0JeSkT66b2vLWk2TaH+DElwTNoURE7A6llRcWPYG7muE6+4AbWOXAI491B+qzAQqpJJHnQ== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/checkbox" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/chips@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.7971d6ad5.0.tgz#6e3a47bcff2dbfe1b635d3c1f9b6cd4af45af3ae" + integrity sha512-W8e90cxnERoP/OvsYSSkjP/HEeogYH1YJVBemKfTOQyAAMh3DmetBGdO6Gdf65/Jt7iYrvab5IPn0D7DWoMZlQ== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/checkbox" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/circular-progress@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.ecfee946f.0.tgz#9224c48591a1a12616da3baf0302cc5cbc014e2a" - integrity sha512-qZkOtKg7Aurr66O9AHPRfhI3lpPyZF+eH7C6S94NY1DZ+CkSWecNXPlgbuTQNl34WuwnpdY1o44+ypmnM7UnEg== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/progress-indicator" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" +"@material/circular-progress@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.7971d6ad5.0.tgz#28c2cb45c8c1bfd26fb99baefee70922400ae2bf" + integrity sha512-dE66rFNI9T2khLejoTyONQZqnHjUXsmdzDx1lI3qO918gtdkwdBVWvFm0U7+1VdHAB9sjP4o+mVL/3rNss2Jtg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/progress-indicator" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/data-table@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.ecfee946f.0.tgz#a557176c4455e82e18d6e81052428654e5e3564e" - integrity sha512-Ncu5VpQKuT5TiqqPg9OKo2HMHa7Q8CS66Rn8P6rNsQGQXvAynpQUFTp6cySUn3ktZqXBdDUfnwyJJEfyKO2iDw== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/checkbox" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/icon-button" "15.0.0-canary.ecfee946f.0" - "@material/linear-progress" "15.0.0-canary.ecfee946f.0" - "@material/list" "15.0.0-canary.ecfee946f.0" - "@material/menu" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/select" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/data-table@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.7971d6ad5.0.tgz#8d908e93cc02000d5f8f05b2f1981d9d7a63dbc8" + integrity sha512-JIg3GqnWGoiP5OXRkM7xjpoYIcal3a2vcvx8qUBK8rJZUXXShMcrFD8bpoEK+VIo7NXp5oR3baR3g063sTmv7g== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/checkbox" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/icon-button" "15.0.0-canary.7971d6ad5.0" + "@material/linear-progress" "15.0.0-canary.7971d6ad5.0" + "@material/list" "15.0.0-canary.7971d6ad5.0" + "@material/menu" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/select" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/density@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.ecfee946f.0.tgz#c7bc8664a5c98421bc0b9118c706bf3c5fbd02ae" - integrity sha512-WhhAb1jt+1VCKMbHD3XDmgbEAAzVjOjJcmmA59rQA1lbXvKn7ZSDYPK5meRIFUjGBjWh11B05tdkMOHbizeI5Q== +"@material/density@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.7971d6ad5.0.tgz#049319a0597296d54a3b3de97431d3df09148fbb" + integrity sha512-JfRRdyewKuVGDLTxm0Bn/5MFgkPHo5fZ0JU6kCqI+SdOER/ceRti6xJtNfgV/lBPqstftARcKv116nQRy2085Q== dependencies: tslib "^2.1.0" -"@material/dialog@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.ecfee946f.0.tgz#84ca883239ae09738fa270da7307b3b38eea23b4" - integrity sha512-rt72Z01XqIorzU9ZGEhuLAluVuu65m/4fhtCzX1+5AEZRfZdr9N27xb/RneoJ63VdjxbumixpGdZUycHNDg2WA== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/button" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/icon-button" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/dialog@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.7971d6ad5.0.tgz#673aead99599b9770ce6c2ba78a6d30ff3606823" + integrity sha512-P7+nNN1YdPISSOIECyECiYNcmAJn4ezogpkcGkGBKc0KZAzG47Y1prgLNFaHat5mE20GjLL50M7T4SU7F64dqA== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/button" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/icon-button" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/dom@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.ecfee946f.0.tgz#8aec7d9d623f7b6c83ef2a63f135cac5473880ac" - integrity sha512-SyT9xi+dBur0Vj1Cyrp8b5tW4j3gtuTXwz8UiHFAkZKAG0m441XQjCClhPhpdywPXYE+ycHcd1cAMhLQvopH4g== +"@material/dom@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.7971d6ad5.0.tgz#43dd17a18c12c6cfee62b0712c58d70075b4ae24" + integrity sha512-h+KV0egRy7zniZElzDW5duh/VDZUTO9SmMeC8FFiqJMvPe3V8xcH0zB+jL67hueLqFixSSJebbdXMbVce4nwOA== dependencies: - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/drawer@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.ecfee946f.0.tgz#badea3410e52f32ded2e087d5b6216a087062acd" - integrity sha512-26dqb8sQuQCieaUbU4g/BKneCaqtnKnAbumTnEtr/7aOn7PaiYvO11viUja2FnW5C5ZpvWDW13v7dG6ymP6Ucw== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/list" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/drawer@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.7971d6ad5.0.tgz#420fa2a50b39770c0c3b9770434648282fb5aae1" + integrity sha512-LYuriNp3lecXXIj3lK22z0ym5bGHHIturofEV60BK9uHi4baBWS/ovTPAw5T8YvpADv5kyidg4mkgkPY9Ydexg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/list" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/elevation@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.ecfee946f.0.tgz#9963e80d38baf80f3711689e187386dc0ee03f84" - integrity sha512-IETsNzrcmagBe3RkuT4TvZHm3wjRSxqdtkuxH5DKcc7jfx9vZ//8bw8/q7G+SVKQym17entvpQfgQOgpHAxm5A== +"@material/elevation@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.7971d6ad5.0.tgz#2a124a952c0ae5962a9428c2a8412961be247819" + integrity sha512-M9SZKJI5wjbOwq0o8eknDrI27YE63wLg8qJHLvJWrWXdlm6yN0INilihExzmGHXpVHQ6sUdI4oyoAx1qr+vorQ== dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/fab@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.ecfee946f.0.tgz#6c96bfbd8991fd4d72f07174c528cd48f69a2a8d" - integrity sha512-EAQL64nL/mp9TY8c6WTRcqJQPnISZAO+0c2bvWyrG4Xj0r/QGx2NkMKy1MG+JGkcLR5K1RKneLbe92xCIujf0Q== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/fab@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.7971d6ad5.0.tgz#5aa91c4c058655259ecf03122927cf85b5384f3a" + integrity sha512-G58ZFK7M9r9xkLFP0Gufh1VKdcvRcTvYwEjBuG3+XOMDMjFzCDEMY4c54RG+tbwIiHmB8lw1Yl/dN3kFVc3kTA== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/feature-targeting@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.ecfee946f.0.tgz#7b5e7e2d0b75f3639eef7af5d987e0fcdb0567a2" - integrity sha512-f2cvfeW6OpG+1QQgilktUKsF1vkg3x6w8R0yg3OPMzIbGVxGsgp4AY6mSLjLw23jDdRIW+J7UnZztE6PDwrFTg== +"@material/feature-targeting@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7971d6ad5.0.tgz#9762b6882da5947cf793f8b694455d17ba2ae16a" + integrity sha512-xH8pdvB5oKO6OTY61vEs44eQJQY3GTobpzaxp+CIBH0UMobSl5KFee+j7MxpEbTkRGtMqWkzAA+vviT8hvmH+A== dependencies: tslib "^2.1.0" -"@material/floating-label@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.ecfee946f.0.tgz#2a8351cd96ea2a955067409a3f8deba7417e0fa7" - integrity sha512-3FQMYxUE1EFZzBmml5mqdHCnEoGD9FP0PEeaD15etm/gyCdaf+d6r+rZADDWe7In7qMos2W9uW4v0+sS1H34SQ== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/floating-label@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.7971d6ad5.0.tgz#8d7153e225df7807b9f26a9ab755a8d9c3841a69" + integrity sha512-Tjv2xnYr+VvsojRbRBVVmjxmut/y4hJrRCBMjU1982cTUYQlfqMaM7BUObt49jwRBKDLr2NjM+fwNIo0//YItA== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/focus-ring@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.ecfee946f.0.tgz#b09f64fc84e57e683aa2881e1542ffc70b63e4c8" - integrity sha512-pZlMdg8f4izZuAi/v6paUcrSrQwDsNJgcYf+R+hcS57sjNcOT/4uRMTe4parTaKyjgkBKBZlXpLFJaW7yzWgYw== - dependencies: - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - -"@material/form-field@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.ecfee946f.0.tgz#4890093d64be7ea2203863ac99bc7f10511d7479" - integrity sha512-+RV+iwUVxGocOdnR03YyPcyc6scAJIqfrDH3xU9XAl6rkMDWbJvRF4ujySbLfh9FzffrwUN7QqSee7ZxZQO+WQ== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/focus-ring@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.7971d6ad5.0.tgz#becff920923ce45a35b8d08274aa37eef2634519" + integrity sha512-xutZrHnrfnKftU3HUS9em8wO5Nb4zbnRrwDCGi3xnFR7bFP4u2J2ZUnVpO+RZfjr3A9l8chDavlFCL5HMfzt4A== + dependencies: + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + +"@material/form-field@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.7971d6ad5.0.tgz#13514b99c5afec61cda40487473461b3124f2585" + integrity sha512-N0UnlZ7j3GT4DGmMgJYMl9etOh7rsQjCjRRATWSnuAel+ir4a5HvLj9xQUyp0tlYuu9ZizB8ZOwbAz/XCiU94Q== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/icon-button@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.ecfee946f.0.tgz#3a190e2278fac415e9fcc0e8bcdf412ab5b92bee" - integrity sha512-3RxjLPrDEFWPW2GinoaTx4Hc4jy842h8j8+2OsY1AqWm4Ejp+NblyBsRSBdZC4APs0GDXQcOskY2y1FYeA+fbQ== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" +"@material/icon-button@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.7971d6ad5.0.tgz#773ec7e504a1532d8b9c6d7500e9fe2c0b2f8d08" + integrity sha512-BT+tHdRviY1o/yBgtX5NxfS7LfQtQSf7DiZfgP9eExSU5fDA6AfqJfZHyJdLmJCtFZbzlxJ0PBmt44NSlI2/DA== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/image-list@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.ecfee946f.0.tgz#5ec4b698338c55f3ea12f5a57b628c208cbf2fbf" - integrity sha512-O371n2xiU9HPlzRw3dNmtJJuSoTA9ZSTePWnZTWJT3O9pTEbctK2Z2Tmnk6MacDHjDRn770YdquA/dGhrWkx0A== +"@material/image-list@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.7971d6ad5.0.tgz#b6553f4cec4864091469e94b251a8cfa7f5afb99" + integrity sha512-FrBosWy9VnqWYDR8XkQPt8cE6MPNq5g7oEvULImmqjRxhktTJCPfDZSWHpjLpAvU0quYZZprPDRrwM3qw69z/A== dependencies: - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/layout-grid@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.ecfee946f.0.tgz#010f17f1f3a92d5f46c3f7bf2c833d9457575f08" - integrity sha512-4ECt2uEL1OFhDnFYZsfzTbE8yabsGIwOwYdo5WtvK7Op31QKNMrgTLmu+3Zvap0H4TUsuARxsqnMQVMHLDGD5g== +"@material/layout-grid@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.7971d6ad5.0.tgz#068a93b5c108eaabd1a3f520bb15626a977a186b" + integrity sha512-H4KEhaGaIuGHd3jKJqaoZkynJjqfyti4QhG6wiTt774Lv4Uri1+ZBxQ8FAFShEvETM2pfBy4mEECi/+M4V2ZTA== dependencies: tslib "^2.1.0" -"@material/line-ripple@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.ecfee946f.0.tgz#508c47ffbfb171a7878cc10692c3be2f24349087" - integrity sha512-ri+4VQDvlJr7nfP9DpCElqJqpXIAt5HQjzNPDpx0Wc7KOZuQ4yK6C2MGZTWV1wRZctV6WXX14bB9QUUr0r2yTg== +"@material/line-ripple@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.7971d6ad5.0.tgz#9c321fe5327f33298dd7ec9d77a5782ca3c5bbef" + integrity sha512-f4tcd82xu1OT0wAVT/kHiWDmJy9fRt9QA5b+v81fTSVFK41mYpxy8jIQ5gdoIvY/0BWLh4HzUejG6j98AkyLEQ== dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/linear-progress@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.ecfee946f.0.tgz#b367ea9eae41bd75aa49f2dc102cece43d53897c" - integrity sha512-LE9capqTnH/9T2mmW3g9aZD/bdlv4bVrukehXB9EmfmC5EuM6aLpBZLoQmWtAYyt6OxMjZbYvEaZbzsQ4KBu7A== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/progress-indicator" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" +"@material/linear-progress@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.7971d6ad5.0.tgz#292f8c424c6d3fc51f9640582e848f59e63f1c86" + integrity sha512-3HlEEPv+RrtGPxq06QzCOAZoNJ8q6UtOOkRxh+buQy1F+Uv0n4BdmvUYsHZaSTn+kSlFMzIKDtRjUG2i7b4/hg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/progress-indicator" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/list@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.ecfee946f.0.tgz#fd2435a424fe92c8529ed95f9563f990557bad95" - integrity sha512-/kZaFahvJCz4y/zkis9NQUEGUQIk8Ptq6LGm8JYj2PXpO2Avh/neKQwas1edi7CxUf7sBZbHDZLrJeeD1CF20A== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/list@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.7971d6ad5.0.tgz#b8c033367d0bf9cc86483dc17078f83e6af6335a" + integrity sha512-rYg3cM41MJTSNoFOj8IzF1CpPFK9DDlTFMbERFakRHB1QsfnebxkuoAyI8j5G/pDdvkeAmDbz4tbKK8yJdifRw== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/menu-surface@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.ecfee946f.0.tgz#8ecddac781473808aa5b23f08bc77500e00dcdd5" - integrity sha512-Qxsh0/oQv4DPnz0NuWnZMbGfTH6LmXk41xLi6tE9y8HajzlVpec26fpIDgqWyz97WK7rqUHvsTKskruppHisEQ== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" +"@material/menu-surface@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.7971d6ad5.0.tgz#f0e54b74d8ee9ab1ce158621ab1af71b262c1d02" + integrity sha512-7sRmwY7+a3gB5GM6Vl0sZzVVW3iu6QNW79vRias6nZKJMXbE/JDWnhcgkl9QkxvUolBIJ0y1ChgZyntO8Val/g== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/menu@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.ecfee946f.0.tgz#065fa0093cd7b26e571ceab8654b67f95944158e" - integrity sha512-AKoh4CkyA5DPXoR2ThEeVnMkKM+PYhipbviAFEmukHIOcqWOzC0/GX0XOZUHegstCEvfpsUWT/h2RN6vGamc3w== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/list" "15.0.0-canary.ecfee946f.0" - "@material/menu-surface" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" +"@material/menu@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.7971d6ad5.0.tgz#6ed4880637d14cedef684a615ed2ac2f2dca4705" + integrity sha512-Xa+tXk8kMFMhdOYrIre1ye4L23i4LzEn48FN398742m1K/VY/IxAuslyQ5CmX77CxkOqbQFqwUarUTod0rEwjw== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/list" "15.0.0-canary.7971d6ad5.0" + "@material/menu-surface" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/notched-outline@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.ecfee946f.0.tgz#0a420d6b9c49fe7249e97417692925e5e30f5f1a" - integrity sha512-FsnzeLXRw91Yh4B0Fusu57p3rEj+5OYVkvkr7jML6/YS/4ptkIe/vjgHBxM2DThySOqjBVE7EY9gUMIedMQrNg== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/floating-label" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" +"@material/notched-outline@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.7971d6ad5.0.tgz#79de44d8d960cdf2c50fc8937e421ec336020132" + integrity sha512-kMUDUqZ7ztvnwqCENZukztyA0oGZhY/mqd/WIaqRhIU58Q2mnDM6Vfd9fifeM61rIMnXHER2fvjjFzim50mw4g== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/floating-label" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/progress-indicator@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.ecfee946f.0.tgz#ccda47e90ea124cec20e9b5b0d6e9ab1fe637d8a" - integrity sha512-19RdSUbE+rEoYPoO6qtp2W24wkGVuK14+5XrqnYdoyBnjd0CSmn1DXp27G+Bx5q6Q6Mj/esavTpwFYNWW7OenQ== +"@material/progress-indicator@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7971d6ad5.0.tgz#d4e4c206481f352fd49d952053a3e85546d6f585" + integrity sha512-CRQAM2C1weVKVr8rQeQTrOISmTupXw+l9sfpdIx8tQ14fOebZFcEbW9LRRvDAMmUNZF6W6pwL74+zk46DYIKBg== dependencies: tslib "^2.1.0" -"@material/radio@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.ecfee946f.0.tgz#44e368adb08633df47c5af5dd18b847cff49984b" - integrity sha512-jUihnBlxPpfUCD9o/77qtJZ0t0MaUs8CbdRsYjkuywnY3bH3vZuarJGnYT86HJu/zYTSHfqrnpZKwnRm47MXQg== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" +"@material/radio@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.7971d6ad5.0.tgz#ca1c65484e8cf113a919e26c332accfa2fdd30a2" + integrity sha512-wpiLuHQtpMb846SSYvG2NQJl/wUi1NbVlCV+uGHSv5LFnbe10e537KFpjtjaDi/Y6e42bUxj8njN5cEZ3NfBUg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/ripple@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.ecfee946f.0.tgz#62a4eb331f0015adcba817fce7db84a620baa8d6" - integrity sha512-midz7yzrccRXnguTpmX9tzGTOSHb2CyhAMnSvnOaSaO2LJyHD0UvFIOiBaWXwjHa5iMhbMkoUe9hosD4llQt/A== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" +"@material/ripple@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.7971d6ad5.0.tgz#5678c09a2e17043f5d7c8f04b105f60ec53c79c9" + integrity sha512-S9S8260lwHreEgvOqg3EM0DF0y8ThuN9fFPVb+cCOAPzCn4Z2tO1pcvPfAmY8yZA7QIx9c5pt6Ci+q44LzPEYA== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/rtl@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.ecfee946f.0.tgz#ca274a2dab3031a049f499a5de5f0997bc4b2b1d" - integrity sha512-0PHfRqm5mgaXDarQQXVvPpZVXkc7e1DXVPZR2DaPMNc+N2OWeZoA50546p691JIAEAPLQIxassGLMIngBIJl1g== +"@material/rtl@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.7971d6ad5.0.tgz#3dfecf466d64bf99e525416f110610966714ffeb" + integrity sha512-G02MQTQxHPhNlAIoOToCalxSba48VZ+CdrqkWr53eBb/P1I6Do0drMElqNmO5CYS5G/8AEScXmfJ0xSq92ABew== dependencies: - "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/segmented-button@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.ecfee946f.0.tgz#f3e12023d3d9120d07c137201ac198b9014f71fb" - integrity sha512-aCafnCnZel6ZOkA1y9T/OhySfqCjpmzrfNifYIuC1d1fFv7Gkfc6rMZr+ocGb2d1GdRwYCPhwvEq5/kn8Hnr9w== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/touch-target" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/segmented-button@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.7971d6ad5.0.tgz#617cff84167736afe558246e7ccf4d9dbb710c80" + integrity sha512-qu9nfKkPAxv6YFFObZAXHgaC0qq8i4Cr2lUbOQdL0E9HmKG+IE9ILualGJrAl2LOpCSJdwA0CjOuv2IsrscpHA== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/touch-target" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/select@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.ecfee946f.0.tgz#d1739379504c5e436762b7d35a98b2b9f6cb6c87" - integrity sha512-ASaX3bl7cu0OLirhyDd4lOmDkwHBLuWjLKK8GwDosTXf+Lb+8OPH8sVsXfAfBv6ORplQZ8B1bVnEb+O8wrBjHA== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/floating-label" "15.0.0-canary.ecfee946f.0" - "@material/line-ripple" "15.0.0-canary.ecfee946f.0" - "@material/list" "15.0.0-canary.ecfee946f.0" - "@material/menu" "15.0.0-canary.ecfee946f.0" - "@material/menu-surface" "15.0.0-canary.ecfee946f.0" - "@material/notched-outline" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/select@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.7971d6ad5.0.tgz#2f5fa93f4c0ed0f9aee01971f6704a20d6167e04" + integrity sha512-MgbztOBl0Y7UHVPUTuXoAAYfBh+bwbRW9lkK/EJQ4YQrmZB/0L14S7feqh52JhFXVhjFzeYPFMQg+uP2hhHSpg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/floating-label" "15.0.0-canary.7971d6ad5.0" + "@material/line-ripple" "15.0.0-canary.7971d6ad5.0" + "@material/list" "15.0.0-canary.7971d6ad5.0" + "@material/menu" "15.0.0-canary.7971d6ad5.0" + "@material/menu-surface" "15.0.0-canary.7971d6ad5.0" + "@material/notched-outline" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/shape@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.ecfee946f.0.tgz#52b32e00ca53ae5f0ab979515de3b30197ba38ef" - integrity sha512-eRMm29A85dFkGzcq/eIZSX2vss/YoWCh8o8ACKF0Dd2yVoSfbclWirrSL1cYAkMLnCzcJ+tLDGBLnJ+RISXU0Q== +"@material/shape@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.7971d6ad5.0.tgz#089fe54d52a09c365a4895821720172d36b7bea0" + integrity sha512-mlsNFWKOK38ECoB1onCFpi8HKRGgrElk0YioF3V0Joszp1HVV2Fn+SWoKg2LwWHaJet4iBYtNoCbQC6dH2YBeA== dependencies: - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/slider@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.ecfee946f.0.tgz#12c238943a18a29309fa6b4ef3327684278026b6" - integrity sha512-NwFZ8FSH5NCx4dlmNF+ReFzQcaXStRCRaTCuPNshgvAdHSYI5NuswUv1pRnECBKPK1QrT0LSuw/Pltoz2jP/lQ== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/slider@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.7971d6ad5.0.tgz#3aab26821097a8b851b1598140799977cc62571e" + integrity sha512-OjbxB3vwZvhbTGP8EGLWoXyodbTMuwkvoFdblEiZtWrrPL0Us5hg/20n8VfUQ0N+c00mElsEv79Jsx+B0iTV+Q== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/snackbar@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.ecfee946f.0.tgz#27ea1587db28ad5811963561f542bb9887613881" - integrity sha512-AllQg4iAkoCryVW9NzTK5dgyftC6po/D3ZK08IqOXxCTjw/cGE7WpXoXRDleECer9DVqQ4IK7cGsTUQrT18trw== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/button" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/icon-button" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/snackbar@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.7971d6ad5.0.tgz#753aaf0052ed0dd2e7931681bb52065abd2e7c7c" + integrity sha512-svNOI1Kwu9Mg259SNTaGgyJqETRIPwQPkxYhHvWT4vYiHQkJJJe9kFBcIKi+sdTxqqoMZxyjC2SwS/1mkU4/xg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/button" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/icon-button" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/switch@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.ecfee946f.0.tgz#7680ce935d1a436ed8316d5f33be487e243ddc87" - integrity sha512-ddFG+4Un+AYkQVRP62zhxcc9wd1mZIxGe/vzOzAyZYpRuZQ60cqTQItOYpysYqc9LG4QG470DJemtNFGspiypA== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" +"@material/switch@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.7971d6ad5.0.tgz#8e5bc8fb5ba0ca8fb57469a21f05ee0d23b9fa9c" + integrity sha512-WBsTIq0NwccMAbt9YFcU1vhcmFOVpNDeZ9gNMJypk19ZiqDcZBZNDx0JmceRqTYrCxndqVwfD25qK0jFVplK9g== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/tab-bar@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.ecfee946f.0.tgz#ec0d79fa0fee4e6fd3c8b2b77e8e3cddddaf956e" - integrity sha512-1SfhxOkoyeEPq/SlhIVP/Eiuhr46jqmvYSZOugTurL3TiK6Zilk+n5fAQCwElcvK/Dyf+n5mFR2RDFWdu+CZkA== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/tab" "15.0.0-canary.ecfee946f.0" - "@material/tab-indicator" "15.0.0-canary.ecfee946f.0" - "@material/tab-scroller" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/tab-bar@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.7971d6ad5.0.tgz#ae1546378d3edf88d8054f1b8a379bb07536289d" + integrity sha512-hEMnb2C1yOQPbqdFCTCuyMmjcqO4QIvPKAsbquAwOZc0tz/U88tzmfuhv1k77FB2hbESwN9sPpImU0g4Lrvfhw== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/tab" "15.0.0-canary.7971d6ad5.0" + "@material/tab-indicator" "15.0.0-canary.7971d6ad5.0" + "@material/tab-scroller" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/tab-indicator@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.ecfee946f.0.tgz#e006706455516cf1c69acc4e4bf2bc3cc2b6c38b" - integrity sha512-yhfU8Jhbrk4tmdYLAGWfKTmJjE8SqWnZSCFNrcEB9jz/z8CDiH5X1I8FLPNfDgQRpbPnMyDCWwc7xeG4xHcnzA== +"@material/tab-indicator@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7971d6ad5.0.tgz#6dab15bb7f200cb7830a4c027243815bfcbf2d69" + integrity sha512-0X2tJf0E+CwL5Bx3Fqxi5Uuj1BgncKqd4yFpWE7cv8IZHphNReSOrCcSgUwUfirmee6MqkQ4Drk51Pf4ANj2OA== dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/tab-scroller@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.ecfee946f.0.tgz#7b4775fcaa908856ade88c0b858c3976458e277a" - integrity sha512-ZpmqxgO3yAolCz1WvBnG9t002XvpPYWnVN5fbLtGNqE5B30AJwSxoAAkNjDQEZ3TzxcYGN8PhhdG3jY4KiQfbg== +"@material/tab-scroller@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7971d6ad5.0.tgz#c7fc0b171524633cb898a1eabb6de8858b6352ff" + integrity sha512-//Ih8ZPx92PLQwXhFzv6YCQc5xW2IH84GdIeJrdBNcQN6wgbQNsbU7h9m6jymtpWQgvvLY8E0+2qkNcnWejnag== dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/tab" "15.0.0-canary.ecfee946f.0" + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/tab" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/tab@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.ecfee946f.0.tgz#4c3200e3e25cf303e977cde1d375f06dfd4b36bf" - integrity sha512-XASQrQ6gVmz/XpzwtqlfJtYV3QFqxToWiCJsiVwZNE35bg8MvbWQOb9xllvVjIaTvaTgplwG5xOcYOxk4jzR0Q== - dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/focus-ring" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/tab-indicator" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/tab@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.7971d6ad5.0.tgz#673a51a867672cce6480fc2867a960f51fc2a7fc" + integrity sha512-hmqRl9s7g1/8KpZ5rqANxUXrHi4PYO3GsGhASrYrB99/5ZX1ghdCGwEN1Lp9ntKIgZjd1s6qtzccBtmnW+boXA== + dependencies: + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/tab-indicator" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/textfield@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.ecfee946f.0.tgz#b7b5695565b5fb87bd06a2604cbcdfe3bf80342a" - integrity sha512-npbX0f3C3v46L8/O3/90ExrKNBNCos+Qe/GCgXSO+AbSciPLHhoP+FVjlxfGI1IZtwjg9pd0O78Kymv6h6f9cQ== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/density" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/floating-label" "15.0.0-canary.ecfee946f.0" - "@material/line-ripple" "15.0.0-canary.ecfee946f.0" - "@material/notched-outline" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/textfield@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.7971d6ad5.0.tgz#dcbfcd643b86051bbfebe3ede25526717eba0be8" + integrity sha512-n9aWMZGyE2GBTr2Tx6n4hLp08uyIo1/xNqcZ0Kx2tKK1spPgTgp+g2fEKImGnnbfiCTJPNrcJ8bQ+Vy7Dp0n3Q== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/density" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/floating-label" "15.0.0-canary.7971d6ad5.0" + "@material/line-ripple" "15.0.0-canary.7971d6ad5.0" + "@material/notched-outline" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/theme@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.ecfee946f.0.tgz#99cf7c947dea6ffc0884be850739c18024654c85" - integrity sha512-H8HDrJBZp6kIUYxdfMPYpin7G18/ZI2yp7kSSJfhyir4sYgr7irNWl9DunSI2s90StYmz3m8SiK7XmMhpm2w2A== +"@material/theme@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.7971d6ad5.0.tgz#489b2b3047caa6f3c05e02223c8129e66e3d2803" + integrity sha512-4YUyQo4SOatHHH15/h2LBIyxmVxtefo+QC8bRopF13f/qq5lHpX/stK6chf1OR/z9BUxnNHZWXd2LG5SvJGs9Q== dependencies: - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/tokens@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.ecfee946f.0.tgz#dd565b75fef287654f70620604cb4d14f5e3a939" - integrity sha512-hHBGM/UsqsSkmujYTe8k0VEtB0tdhF0IOnpMeRCi0CHwbJBmo4nMEhEK7uhwGfR4HwJNlrNKr2XV7EvsZgOnig== - dependencies: - "@material/elevation" "15.0.0-canary.ecfee946f.0" - -"@material/tooltip@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.ecfee946f.0.tgz#ce0e97fa3a0dc4f9045b59d25554d749dcf1431c" - integrity sha512-AUp5R7RRCY6uryhNbgIx8ayBraWcXw66RHDz7SnFqqEZKT8nj3S9yAMJwGiePhw/CyCghB0yc4mYJreL+fP9qQ== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/button" "15.0.0-canary.ecfee946f.0" - "@material/dom" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/tokens" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/tokens@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.7971d6ad5.0.tgz#2ea8a63cf196da16b01dd8eaa64024acf3c9acfd" + integrity sha512-tRa/Uki/moIP6f/QJPrad2jHbSZ5NB5TRSfAS1NZof0KNFjW8n2lJVpgcgD+f1NENin3dWM4NpfJwxulGlWE7g== + dependencies: + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + +"@material/tooltip@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.7971d6ad5.0.tgz#145f8b8aac15645374999c58a2674d27c61b7daa" + integrity sha512-gidVGZOGmJUNDxm3ZorNZMAFmbeFmJ+6DH2F45hi1iU/GflfyvMfvbG2VvPFGYj84YAKHs799yAjidvk1nSZZg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/button" "15.0.0-canary.7971d6ad5.0" + "@material/dom" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/tokens" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/top-app-bar@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.ecfee946f.0.tgz#805b89acfdc1aba858525ca2f473fa392e2afaa4" - integrity sha512-JQiP4l9GhbQgVB3k+EsNbxXc1Uuitvi7wMRnPSwoTjw2wZsbRF5BZHdkAuMXdBHt1iWkneRq6JayMv7B56cD9Q== - dependencies: - "@material/animation" "15.0.0-canary.ecfee946f.0" - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/elevation" "15.0.0-canary.ecfee946f.0" - "@material/ripple" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" - "@material/shape" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" - "@material/typography" "15.0.0-canary.ecfee946f.0" +"@material/top-app-bar@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7971d6ad5.0.tgz#98e70513f1ebb4eeeb3f02e3be8d0c14cc75201c" + integrity sha512-ztvglUBK0y4LDHD8xhvNGCpbsHYoAVtI06cJHu5G241WD5wAmseEnLMY+ty86FHMzs796PzhUqUmahEHeBNlEg== + dependencies: + "@material/animation" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/elevation" "15.0.0-canary.7971d6ad5.0" + "@material/ripple" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/shape" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/touch-target@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.ecfee946f.0.tgz#f7f0fa3f1de77a4305fa9947a54f00859e0ec158" - integrity sha512-SfV5EIqbulciOtFoZtuiFkep8jcNcEoEe/nz2h26zZvC4ozbX6Sd4gd0gphLMrWMJajMDj/Zg+awEOfLESNnjA== +"@material/touch-target@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.7971d6ad5.0.tgz#86360daf890e67f34990f5118300b5528a0e5d6c" + integrity sha512-aT8GyRfH0TJuF53HWKga+vuwJbJ/euN6T8CS/+RP5F/rjzWwxSd8RtyBmVUzBjVzOxr6Os+El0c3TFfEDxRdAg== dependencies: - "@material/base" "15.0.0-canary.ecfee946f.0" - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/rtl" "15.0.0-canary.ecfee946f.0" + "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/rtl" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" -"@material/typography@15.0.0-canary.ecfee946f.0": - version "15.0.0-canary.ecfee946f.0" - resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.ecfee946f.0.tgz#064abfcda6102e3bb1765a54f8b06364359f25c1" - integrity sha512-hjX4M4Y1AuhchpkyhmMmG5ulGXqknKOQvsGq/w1fEK5xKmBEXoQK5bQ1xwcFE+NS2k3CMujCkoHe/biz/eHX4Q== +"@material/typography@15.0.0-canary.7971d6ad5.0": + version "15.0.0-canary.7971d6ad5.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.7971d6ad5.0.tgz#26b197d2384490d7e3c9bd2da57a398ac9c04dd4" + integrity sha512-4J5qPXbCS3wMtGl0AJIj/M9rUxHR7fRX3IKtfOyvra10lZbr4qma+4g0+t+O9cPzcCBS1NwPkJ/E4t+ijEa6gA== dependencies: - "@material/feature-targeting" "15.0.0-canary.ecfee946f.0" - "@material/theme" "15.0.0-canary.ecfee946f.0" + "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.7971d6ad5.0" tslib "^2.1.0" "@microsoft/api-extractor-model@7.24.0": @@ -2277,10 +2271,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.0.0.tgz#0ec9002c90328dff48d7fde91ec3e15f375b17d2" - integrity sha512-pI/Ul9mgE98bjPkUiNRLXIn3ulmUgJMD4Zj8RUUk55gTg3IJygyaag/l/C5e7StKMWygHdnvQgU63U360zqEiQ== +"@ngtools/webpack@15.1.0-next.0": + version "15.1.0-next.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.0.tgz#aad4d20bf79eabe95ad3d624f76b8057aee053cc" + integrity sha512-/iwTHwvt3ne1eX75EGZ0Yvn6q1PSy3vxh5a0GhNtzswNaFRXwKh84OR20nctVXD1pFHa0ORwXS77JjSSAHPAUw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3156,10 +3150,10 @@ dependencies: source-map "^0.6.1" -"@types/uuid@^8.3.1": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== +"@types/uuid@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.0.tgz#53ef263e5239728b56096b0a869595135b7952d2" + integrity sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q== "@types/webpack-sources@*": version "3.2.0" @@ -3590,16 +3584,6 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ajv@8.11.2, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: version "8.11.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" @@ -4726,20 +4710,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-loader@6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" - integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.7" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.5" - css-loader@6.7.2: version "6.7.2" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.2.tgz#26bc22401b5921686a10fbeba75d124228302304" @@ -5317,243 +5287,243 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" - integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== +esbuild-android-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.15.tgz#fd959b034dd761d14e13dda6214b6948841ff4ff" + integrity sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q== esbuild-android-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" integrity sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA== -esbuild-android-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" - integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== +esbuild-android-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz#9733b71cf0229b4356f106a455b2cfdf7884aa59" + integrity sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ== esbuild-android-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" integrity sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg== -esbuild-darwin-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" - integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== +esbuild-darwin-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz#fc3482fdf5e798dbc0b8b2fe13287d257a45efc6" + integrity sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ== esbuild-darwin-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" integrity sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g== -esbuild-darwin-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" - integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== +esbuild-darwin-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz#e922ec387c00fa84d664e14b5722fe13613f4adc" + integrity sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag== esbuild-darwin-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" integrity sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw== -esbuild-freebsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" - integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== +esbuild-freebsd-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz#69a42d79137d7d3ea718414c432bc10e8bb97c68" + integrity sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA== esbuild-freebsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" integrity sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ== -esbuild-freebsd-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" - integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== +esbuild-freebsd-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz#63b6d0dd492f7394f8d07a0e2b931151eb9d60c4" + integrity sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g== esbuild-freebsd-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" integrity sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g== -esbuild-linux-32@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" - integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== +esbuild-linux-32@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz#7f295795fd7e61ea57d1135f717424a6771a7472" + integrity sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q== esbuild-linux-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" integrity sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w== -esbuild-linux-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" - integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== +esbuild-linux-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz#11a430a86403b0411ca0a355b891f1cb8c4c4ec6" + integrity sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg== esbuild-linux-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" integrity sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g== -esbuild-linux-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" - integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== +esbuild-linux-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz#b65f9a2c60e8e5b62f6cfd392cd0410f22e8c390" + integrity sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g== esbuild-linux-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" integrity sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A== -esbuild-linux-arm@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" - integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== +esbuild-linux-arm@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz#c8e13e45a0a6f0cb145ce13ae26ce1d2551d9bcc" + integrity sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w== esbuild-linux-arm@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" integrity sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ== -esbuild-linux-mips64le@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" - integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== +esbuild-linux-mips64le@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz#d4c24d47e43966fcac748c90621be7edd53456c0" + integrity sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A== esbuild-linux-mips64le@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" integrity sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A== -esbuild-linux-ppc64le@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" - integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== +esbuild-linux-ppc64le@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz#2eba53fe2282438ceca5471bdb57ba2e00216ed6" + integrity sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA== esbuild-linux-ppc64le@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" integrity sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA== -esbuild-linux-riscv64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" - integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== +esbuild-linux-riscv64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz#1afa8dfe55a6c312f1904ee608b81417205f5027" + integrity sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw== esbuild-linux-riscv64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" integrity sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw== -esbuild-linux-s390x@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" - integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== +esbuild-linux-s390x@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz#1f7b3c4429c8ca99920ba6bf356ccc5b38fabd34" + integrity sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ== esbuild-linux-s390x@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" integrity sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w== -esbuild-netbsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" - integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== +esbuild-netbsd-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz#d72c7155686c938c1aff126209b689c22823347c" + integrity sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw== esbuild-netbsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" integrity sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg== -esbuild-openbsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" - integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== +esbuild-openbsd-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz#761bd87ecab97386948eaf667a065cb0ecaa0f76" + integrity sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ== esbuild-openbsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" integrity sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA== -esbuild-sunos-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" - integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== +esbuild-sunos-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c" + integrity sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA== esbuild-sunos-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" integrity sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ== -esbuild-wasm@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.13.tgz#c4d7f771679b2e14f7a456403751d908db1c07d1" - integrity sha512-0am8fvHKACwofWQxtZLTMv4mDiDwUrdt0DyRaQ2r7YWIpkmpg4GWYy0EyW+gPjiPHzkZKqN9d3UYsZGgvaAASw== +esbuild-wasm@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.15.tgz#410abc538e8091c6dbb0e373b54738f4505351aa" + integrity sha512-B8OfZ0cm/zvbznYXbHnLRRp31hBObFiDAKnbTeUMHOZkyAbEClHETxSgZ/0fjm4XdkZGcBI/ZTpCa5JSTZVA7A== esbuild-wasm@0.15.16, esbuild-wasm@^0.15.9: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== -esbuild-windows-32@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" - integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== +esbuild-windows-32@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz#130d1982cc41fb67461e9f8a65c6ebd13a1f35bb" + integrity sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA== esbuild-windows-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" integrity sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ== -esbuild-windows-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" - integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== +esbuild-windows-64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz#638bdf495c109c1882e8b0529cb8e2fea11383fb" + integrity sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA== esbuild-windows-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" integrity sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw== -esbuild-windows-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" - integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== +esbuild-windows-arm64@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31" + integrity sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ== esbuild-windows-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" integrity sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA== -esbuild@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.13.tgz#7293480038feb2bafa91d3f6a20edab3ba6c108a" - integrity sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ== +esbuild@0.15.15: + version "0.15.15" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.15.tgz#503b70bdc18d72d8fc2962ed3ab9219249e58bbe" + integrity sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w== optionalDependencies: - "@esbuild/android-arm" "0.15.13" - "@esbuild/linux-loong64" "0.15.13" - esbuild-android-64 "0.15.13" - esbuild-android-arm64 "0.15.13" - esbuild-darwin-64 "0.15.13" - esbuild-darwin-arm64 "0.15.13" - esbuild-freebsd-64 "0.15.13" - esbuild-freebsd-arm64 "0.15.13" - esbuild-linux-32 "0.15.13" - esbuild-linux-64 "0.15.13" - esbuild-linux-arm "0.15.13" - esbuild-linux-arm64 "0.15.13" - esbuild-linux-mips64le "0.15.13" - esbuild-linux-ppc64le "0.15.13" - esbuild-linux-riscv64 "0.15.13" - esbuild-linux-s390x "0.15.13" - esbuild-netbsd-64 "0.15.13" - esbuild-openbsd-64 "0.15.13" - esbuild-sunos-64 "0.15.13" - esbuild-windows-32 "0.15.13" - esbuild-windows-64 "0.15.13" - esbuild-windows-arm64 "0.15.13" + "@esbuild/android-arm" "0.15.15" + "@esbuild/linux-loong64" "0.15.15" + esbuild-android-64 "0.15.15" + esbuild-android-arm64 "0.15.15" + esbuild-darwin-64 "0.15.15" + esbuild-darwin-arm64 "0.15.15" + esbuild-freebsd-64 "0.15.15" + esbuild-freebsd-arm64 "0.15.15" + esbuild-linux-32 "0.15.15" + esbuild-linux-64 "0.15.15" + esbuild-linux-arm "0.15.15" + esbuild-linux-arm64 "0.15.15" + esbuild-linux-mips64le "0.15.15" + esbuild-linux-ppc64le "0.15.15" + esbuild-linux-riscv64 "0.15.15" + esbuild-linux-s390x "0.15.15" + esbuild-netbsd-64 "0.15.15" + esbuild-openbsd-64 "0.15.15" + esbuild-sunos-64 "0.15.15" + esbuild-windows-32 "0.15.15" + esbuild-windows-64 "0.15.15" + esbuild-windows-arm64 "0.15.15" esbuild@0.15.16, esbuild@^0.15.9: version "0.15.16" @@ -8097,10 +8067,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" - integrity sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg== +mini-css-extract-plugin@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.0.tgz#d7d9ba0c5b596d155e36e2b174082fc7f010dd64" + integrity sha512-auqtVo8KhTScMsba7MbijqZTfibbXiBNlPAQbsVt7enQfcDYLdgG57eGxMqwVU3mfeWANY4F1wUg+rMF+ycZgw== dependencies: schema-utils "^4.0.0" @@ -9066,18 +9036,13 @@ parse5-sax-parser@^6.0.1: dependencies: parse5 "^6.0.1" -parse5@*: +parse5@*, parse5@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" -parse5@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - parse5@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -9310,7 +9275,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.19, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18, postcss@^8.4.7: +postcss@8.4.19, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18: version "8.4.19" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== @@ -9767,11 +9732,6 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@0.13.10: - version "0.13.10" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" - integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== - regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.11: version "0.13.11" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" @@ -11503,13 +11463,13 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webpack-dev-middleware@5.3.3, webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== +webpack-dev-middleware@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.0.0.tgz#e860862f04e364348a3483da7bb9f0b957147bbb" + integrity sha512-A7jSXBifCJsJqUCVISlcbx9pkmCuP0KriMRcOJ13pOb6/xMXZvh4/ygeJeSArjRd50IT5IVbBFuejGDA/zWrNQ== dependencies: colorette "^2.0.10" - memfs "^3.4.3" + memfs "^3.4.12" mime-types "^2.1.31" range-parser "^1.2.1" schema-utils "^4.0.0" @@ -11525,6 +11485,17 @@ webpack-dev-middleware@6.0.1: range-parser "^1.2.1" schema-utils "^4.0.0" +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + webpack-dev-server@4.11.1: version "4.11.1" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" From 3c8261e3042a1315fbe36d133193922e89e33d46 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 2 Dec 2022 06:05:43 +0000 Subject: [PATCH 1188/1388] build: update github/codeql-action action to v2.1.35 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 239e21f94210..3873d39b0f54 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@312e093a1892bd801f026f1090904ee8e460b9b6 # tag=v2.1.34 + uses: github/codeql-action/upload-sarif@b2a92eb56d8cb930006a1c6ed86b0782dd8a4297 # tag=v2.1.35 with: sarif_file: results.sarif From 66a97103db73290784996e0ba286624b53ad1c96 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 2 Dec 2022 07:06:18 +0000 Subject: [PATCH 1189/1388] build: update dependency npm-package-arg to v10.1.0 --- package.json | 2 +- packages/angular/cli/package.json | 2 +- yarn.lock | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2a324c8de3e4..4cf1b474d3d5 100644 --- a/package.json +++ b/package.json @@ -175,7 +175,7 @@ "ng-packagr": "15.0.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", - "npm-package-arg": "10.0.0", + "npm-package-arg": "10.1.0", "open": "8.4.0", "ora": "5.4.1", "pacote": "15.0.6", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index b267a585d5d0..b86a3d210685 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -31,7 +31,7 @@ "ini": "3.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", - "npm-package-arg": "10.0.0", + "npm-package-arg": "10.1.0", "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", diff --git a/yarn.lock b/yarn.lock index e24090614dad..21f94196fb0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8506,7 +8506,17 @@ npm-normalize-package-bin@^3.0.0: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz#6097436adb4ef09e2628b59a7882576fe53ce485" integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q== -npm-package-arg@10.0.0, npm-package-arg@^10.0.0: +npm-package-arg@10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" + integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== + dependencies: + hosted-git-info "^6.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-package-arg@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.0.0.tgz#a34f4a4208a937074b1fff0943a684fbacc83977" integrity sha512-7dkh8mRp7s0KwVHKIVJnFCJQ2B34gOGnzgBjDGyprycmARq/82SX/lhilQ95ZuacP/G/1gsS345iAkKmxWBQ2Q== From 2f92fe7e589705b282102271897454ea852c4814 Mon Sep 17 00:00:00 2001 From: ced Date: Thu, 1 Dec 2022 15:48:29 +0100 Subject: [PATCH 1190/1388] fix(@schematics/angular): add missing semicolon in functional guard/resolver/interceptor --- .../guard/type-files/__name@dasherize__.guard.ts.template | 2 +- .../__name@dasherize__.interceptor.ts.template | 2 +- .../functional-files/__name@dasherize__.resolver.ts.template | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template index 9f82b7681ecd..6e18dfd45586 100644 --- a/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template +++ b/packages/schematics/angular/guard/type-files/__name@dasherize__.guard.ts.template @@ -6,4 +6,4 @@ export const <%= camelize(name) %>Guard: <%= guardType %><% if (guardType === 'C %><% if (guardType === 'CanActivateChildFn') { %>(childRoute, state)<% } %><% if (guardType === 'CanDeactivateFn') { %>(component, currentRoute, currentState, nextState)<% } %> => { return true; -} +}; diff --git a/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template index a7759ca3a199..57d7d9c937ca 100755 --- a/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template +++ b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.ts.template @@ -2,4 +2,4 @@ import { HttpInterceptorFn } from '@angular/common/http'; export const <%= camelize(name) %>Interceptor: HttpInterceptorFn = (req, next) => { return next(req); -} +}; diff --git a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template index 64ceec5c4272..a7ca9246bb6b 100644 --- a/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template +++ b/packages/schematics/angular/resolver/functional-files/__name@dasherize__.resolver.ts.template @@ -2,4 +2,4 @@ import { ResolveFn } from '@angular/router'; export const <%= camelize(name) %>Resolver: ResolveFn = (route, state) => { return true; -} +}; From 49b313f27adef6300063c9d6817d1454a8657fe2 Mon Sep 17 00:00:00 2001 From: ced Date: Thu, 1 Dec 2022 15:44:44 +0100 Subject: [PATCH 1191/1388] fix(@schematics/angular): add missing import for functional interceptor spec --- .../__name@dasherize__.interceptor.spec.ts.template | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template index 270759cc765d..58b6b7e709b8 100755 --- a/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template +++ b/packages/schematics/angular/interceptor/functional-files/__name@dasherize@if-flat__/__name@dasherize__.interceptor.spec.ts.template @@ -1,4 +1,5 @@ import { TestBed } from '@angular/core/testing'; +import { HttpInterceptorFn } from '@angular/common/http'; import { <%= camelize(name) %>Interceptor } from './<%= dasherize(name) %>.interceptor'; From 25eaaa24b51af400262b97b4d4be2391ebd4a82d Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 1 Dec 2022 10:20:27 +0000 Subject: [PATCH 1192/1388] fix(@angular-devkit/build-angular): downlevel class properties when targeting Safari <=v15 The Angular compiler is dependent on static fields being attached to user-defined classes. e.g. `static ecmp = defineComponent`. These static fields sometimes rely on variables from outside of the class. e.g. the Angular compiler generates constants for content projection that are then accessed in the static field initializer. Surprisingly such access to these variables may break in Safari <=v15 when a page is loaded without devtools open. The bug (already solved in v16 of Safari)- is very subtle, hard to re-reproduce but basically variable scope tracking is broken. This bug is triggered by additional parenthesis in the initializer expression. See: https://bugs.webkit.org/show_bug.cgi?id=236843. The TypeScript compiler may generate such additional parenthesis when it tries to adjust the `this` context when invoking methods, such as for defining animations in the `ecmp` definition. More details can be found here: https://github.com/angular/angular-cli/issues/24355#issuecomment-1333477033 To ensure Angular applications are not subject to this bug when targeting Safari <=v15. v15 Safari, both for iOS and Mac is still part of the default CLI browserslist with `last 2 Safari majors` (at time of writing). Note that it is important that the Babel plugin properly handles the downleveling of static block-defined members. TypeScript will transform static fields, like `static ecmp` into `static { this.ecmp = X }` when `useDefineForClassFields = false` (which is the case for CLI apps). The class properties plugin from Babel seems to handle this in an acceptable way. Unlike actual static fields, Babel will not use helpers like `defineProperty` for such extracted static blocks though. e.g. See repro: https://gist.github.com/devversion/dec0dea26e348c509921bf62079b60be ```js class Test { x = true; static b = true; static { this.a = true; } } // into class X { constructor() { _defineProperty(this, "x", true); } } _defineProperty(X, "b", true); X.a = true; ``` note that in practice TypeScript with `useDefineForClassFields = false` will put non-static members into the constructor as normal assignments regardless- so there would be no change by the Babel plugin. Fixes #24355. --- .../src/babel/presets/application.ts | 33 ++++++++++- .../build_angular/src/babel/webpack-loader.ts | 13 +---- .../tests/misc/safari-15-class-properties.ts | 56 +++++++++++++++++++ 3 files changed, 90 insertions(+), 12 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index 366f07e48a10..13b184d6e37e 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -14,9 +14,26 @@ import type { makeLocalePlugin, } from '@angular/localize/tools'; import { strict as assert } from 'assert'; +import browserslist from 'browserslist'; import * as fs from 'fs'; import * as path from 'path'; +/** + * List of browsers which are affected by a WebKit bug where class field + * initializers might have incorrect variable scopes. + * + * See: https://github.com/angular/angular-cli/issues/24355#issuecomment-1333477033 + * See: https://github.com/WebKit/WebKit/commit/e8788a34b3d5f5b4edd7ff6450b80936bff396f2 + */ +const safariClassFieldScopeBugBrowsers = new Set( + browserslist([ + // Safari <15 is technically not supported via https://angular.io/guide/browser-support, + // but we apply the workaround if forcibly selected. + 'Safari <=15', + 'iOS <=15', + ]), +); + export type DiagnosticReporter = (type: 'error' | 'warning' | 'info', message: string) => void; /** @@ -45,7 +62,6 @@ export interface ApplicationPresetOptions { linkerPluginCreator: typeof import('@angular/compiler-cli/linker/babel').createEs2015LinkerPlugin; }; - forcePresetEnv?: boolean; forceAsyncTransformation?: boolean; instrumentCode?: { includedBasePath: string; @@ -171,13 +187,26 @@ export default function (api: unknown, options: ApplicationPresetOptions) { ); } - if (options.forcePresetEnv) { + // Applications code ES version can be controlled using TypeScript's `target` option. + // However, this doesn't effect libraries and hence we use preset-env to downlevel ES features + // based on the supported browsers in browserslist. + if (options.supportedBrowsers) { + const includePlugins: string[] = []; + + // If a Safari browser affected by the class field scope bug is selected, we + // downlevel class properties by ensuring the class properties Babel plugin + // is always included- regardless of the preset-env targets. + if (options.supportedBrowsers.some((b) => safariClassFieldScopeBugBrowsers.has(b))) { + includePlugins.push('@babel/plugin-proposal-class-properties'); + } + presets.push([ require('@babel/preset-env').default, { bugfixes: true, modules: false, targets: options.supportedBrowsers, + include: includePlugins, exclude: ['transform-typeof-symbol'], }, ]); diff --git a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts index 78af1b28d480..a43c01b03f3d 100644 --- a/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts +++ b/packages/angular_devkit/build_angular/src/babel/webpack-loader.ts @@ -79,7 +79,6 @@ export default custom(() => { const customOptions: ApplicationPresetOptions = { forceAsyncTransformation: false, - forcePresetEnv: false, angularLinker: undefined, i18n: undefined, instrumentCode: undefined, @@ -105,14 +104,6 @@ export default custom(() => { shouldProcess = true; } - // Analyze for ES target processing - if (customOptions.supportedBrowsers?.length) { - // Applications code ES version can be controlled using TypeScript's `target` option. - // However, this doesn't effect libraries and hence we use preset-env to downlevel ES fetaures - // based on the supported browsers in browserlist. - customOptions.forcePresetEnv = true; - } - // Application code (TS files) will only contain native async if target is ES2017+. // However, third-party libraries can regardless of the target option. // APF packages with code in [f]esm2015 directories is downlevelled to ES2015 and @@ -121,7 +112,9 @@ export default custom(() => { !/[\\/][_f]?esm2015[\\/]/.test(this.resourcePath) && source.includes('async'); shouldProcess ||= - customOptions.forceAsyncTransformation || customOptions.forcePresetEnv || false; + customOptions.forceAsyncTransformation || + customOptions.supportedBrowsers !== undefined || + false; // Analyze for i18n inlining if ( diff --git a/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts b/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts new file mode 100644 index 000000000000..a0dce7186cff --- /dev/null +++ b/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts @@ -0,0 +1,56 @@ +import { expectFileToExist, readFile, writeFile } from '../../utils/fs'; +import { ng } from '../../utils/process'; +import { updateJsonFile } from '../../utils/project'; + +const unexpectedStaticFieldErrorMessage = + 'Found unexpected static field. This indicates that the Safari <=v15 ' + + 'workaround for a scope variable tracking is not working. ' + + 'See: https://github.com/angular/angular-cli/pull/24357'; + +export default async function () { + await updateJsonFile('angular.json', (workspace) => { + const build = workspace.projects['test-project'].architect.build; + build.defaultConfiguration = undefined; + build.options = { + ...build.options, + optimization: false, + outputHashing: 'none', + }; + }); + + // Matches two types of static fields that indicate that the Safari bug + // may still occur. With the workaround this should not appear in bundles. + // - static { this.ecmp = bla } + // - static #_ = this.ecmp = bla + const staticIndicatorRegex = /static\s+(\{|#[_\d]+\s+=)/; + + await ng('build'); + await expectFileToExist('dist/test-project/main.js'); + const mainContent = await readFile('dist/test-project/main.js'); + + // TODO: This default cause can be removed in the future when Safari v15 + // is longer included in the default browserlist configuration of CLI apps. + if (staticIndicatorRegex.test(mainContent)) { + throw new Error(unexpectedStaticFieldErrorMessage); + } + + await writeFile('.browserslistrc', 'last 1 chrome version'); + + await ng('build'); + await expectFileToExist('dist/test-project/main.js'); + const mainContentChromeLatest = await readFile('dist/test-project/main.js'); + + if (!staticIndicatorRegex.test(mainContentChromeLatest)) { + throw new Error('Expected static fields to be used when Safari <=v15 is not targeted.'); + } + + await writeFile('.browserslistrc', 'Safari <=15'); + + await ng('build'); + await expectFileToExist('dist/test-project/main.js'); + const mainContentSafari15Explicit = await readFile('dist/test-project/main.js'); + + if (staticIndicatorRegex.test(mainContentSafari15Explicit)) { + throw new Error(unexpectedStaticFieldErrorMessage); + } +} From 65f78be26798ca6087f1f27b111f314dc5cfad73 Mon Sep 17 00:00:00 2001 From: Dominic Elm Date: Fri, 2 Dec 2022 10:08:38 +0100 Subject: [PATCH 1193/1388] refactor(@angular-devkit/build-angular): convert into a function to give more control when the readable stream is initialized --- .../utils/index-file/augment-index-html.ts | 2 +- .../utils/index-file/html-rewriting-stream.ts | 58 +++++++++++-------- .../src/utils/index-file/inline-fonts.ts | 10 +++- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts index 0e912ca96cf9..09602760744d 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/augment-index-html.ts @@ -183,7 +183,7 @@ export async function augmentIndexHtml( rewriter.emitEndTag(tag); }); - const content = await transformedContent; + const content = await transformedContent(); return { content: diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts b/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts index 679b238a8ec7..70375c0daef0 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts @@ -10,36 +10,44 @@ import { Readable, Writable } from 'stream'; export async function htmlRewritingStream(content: string): Promise<{ rewriter: import('parse5-html-rewriting-stream'); - transformedContent: Promise; + transformedContent: () => Promise; }> { const chunks: Buffer[] = []; const rewriter = new (await import('parse5-html-rewriting-stream')).default(); return { rewriter, - transformedContent: new Promise((resolve) => { - new Readable({ - encoding: 'utf8', - read(): void { - this.push(Buffer.from(content)); - this.push(null); - }, - }) - .pipe(rewriter) - .pipe( - new Writable({ - write(chunk: string | Buffer, encoding: string | undefined, callback: Function): void { - chunks.push( - typeof chunk === 'string' ? Buffer.from(chunk, encoding as BufferEncoding) : chunk, - ); - callback(); - }, - final(callback: (error?: Error) => void): void { - callback(); - resolve(Buffer.concat(chunks).toString()); - }, - }), - ); - }), + transformedContent: () => { + return new Promise((resolve) => { + new Readable({ + encoding: 'utf8', + read(): void { + this.push(Buffer.from(content)); + this.push(null); + }, + }) + .pipe(rewriter) + .pipe( + new Writable({ + write( + chunk: string | Buffer, + encoding: string | undefined, + callback: Function, + ): void { + chunks.push( + typeof chunk === 'string' + ? Buffer.from(chunk, encoding as BufferEncoding) + : chunk, + ); + callback(); + }, + final(callback: (error?: Error) => void): void { + callback(); + resolve(Buffer.concat(chunks).toString()); + }, + }), + ); + }); + }, }; } diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts index af7719687883..2f358cbad7ff 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts @@ -48,7 +48,8 @@ export class InlineFontsProcessor { const existingPreconnect = new Set(); // Collector link tags with href - const { rewriter: collectorStream } = await htmlRewritingStream(content); + const { rewriter: collectorStream, transformedContent: initCollectorStream } = + await htmlRewritingStream(content); collectorStream.on('startTag', (tag) => { const { tagName, attrs } = tag; @@ -88,6 +89,11 @@ export class InlineFontsProcessor { } }); + initCollectorStream().catch(() => { + // We don't really care about any errors here because it just initializes + // the rewriting stream, as we are waiting for `finish` below. + }); + await new Promise((resolve) => collectorStream.on('finish', resolve)); // Download stylesheets @@ -151,7 +157,7 @@ export class InlineFontsProcessor { } }); - return transformedContent; + return transformedContent(); } private async getResponse(url: URL): Promise { From d086d170565304f82494745b1dd626f01093a512 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 2 Dec 2022 06:05:39 +0000 Subject: [PATCH 1194/1388] build: update angular --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 548408f41eef..6a88ae90e8ad 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#29a40cb3156835d99f75ed97b97c0a72d202c01c", - "@angular/cdk": "github:angular/cdk-builds#7250998fcb18d850c58db5d3d95bc567761fade9", - "@angular/common": "github:angular/common-builds#cb06ba91133f95824dde25d2d855a057ab160665", - "@angular/compiler": "github:angular/compiler-builds#e82af8594adec08e85a80080083aa087baf586a9", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#90835b7422dcd82f9df821240b41aa18e24cda4b", - "@angular/core": "github:angular/core-builds#004dcae91553bc19d405af257349e1997de6bc47", - "@angular/forms": "github:angular/forms-builds#d1ce91dc40497e59513ab77745488a278abf07d1", - "@angular/language-service": "github:angular/language-service-builds#627f4826984b547f4fdf22ece953688c15f93537", - "@angular/localize": "github:angular/localize-builds#918ffd6a11a1ea77a6f45f0cc9234ab7cb5f536c", - "@angular/material": "github:angular/material-builds#c6cd1104499828ddc93f53d13ff81307f9bd2ac5", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a7fce23ed0a09a1eadb1e44d1b51ffb8f27c1db6", - "@angular/platform-browser": "github:angular/platform-browser-builds#82d5991224ba8a4136462cec436b259278c057c7", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#2209d5e210be8571268b984b891f21cd4d7eda90", - "@angular/platform-server": "github:angular/platform-server-builds#6e06a8596a38e8f2f1cc1d0adc608239ae65ea75", - "@angular/router": "github:angular/router-builds#92d5133d224c488d3049124f6b2706380fbb2a81", - "@angular/service-worker": "github:angular/service-worker-builds#05a07d91e6f5e2e2787b9eff989193ef3e3f303a" + "@angular/animations": "github:angular/animations-builds#e01484950dd3dee0accfccc10f7212f0d7197c62", + "@angular/cdk": "github:angular/cdk-builds#e9e267d305af6827684f806e1f0e8f34cd864483", + "@angular/common": "github:angular/common-builds#066d2f3b1358d769bea33e557d398536c88e8b76", + "@angular/compiler": "github:angular/compiler-builds#7ab7ff78044d046ecff841e8856a1d9d26553515", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#e751581a41e41c0d21adaafa4238fb4827c40055", + "@angular/core": "github:angular/core-builds#a8a0d4ce8bd57c184bf08a246e44be6d108d7e63", + "@angular/forms": "github:angular/forms-builds#ad5bcaf7d7167c3395ec2902034ff5daf291a264", + "@angular/language-service": "github:angular/language-service-builds#7f8f844db5ad1f5d1b8180c00ade326aae09a936", + "@angular/localize": "github:angular/localize-builds#60e625c1aeafcf2798402d85eb6fd5728b2179f0", + "@angular/material": "github:angular/material-builds#062631f919a0521b75dd68b11d19758e61aae804", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#8ca961405ca29f1d9241d91d6fe128b2ac8791fc", + "@angular/platform-browser": "github:angular/platform-browser-builds#825881d56ee7a3c53ef1e3cf5a1d65bf9bc1c75b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#fd7b2b10ad3a5ae5df3d9202c8cb83b1f384b493", + "@angular/platform-server": "github:angular/platform-server-builds#20eabc28355d8238fd56a7419f233d3f2f0b2ee7", + "@angular/router": "github:angular/router-builds#01ec378223d178c2958159d6079aa0123ba2194b", + "@angular/service-worker": "github:angular/service-worker-builds#25b361941764fcc04ea275c1c815e9b3bfc67825" } } From a0f9db8f2ee77b55232aed2ac2193f6b1406c776 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 1 Dec 2022 12:30:20 -0500 Subject: [PATCH 1195/1388] refactor(@angular-devkit/build-angular): update browserslist conversion to latest esbuild browsers The conversion of browserslist targets to esbuild targets has been updated to reflect additions to esbuild. Additional browsers are now supported and the major/minor versions have been normalized. The later of which ensures that `.0` major versions are not misinterpreted as ranges rather than specific versions. --- .../build_angular/src/utils/esbuild-targets.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts b/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts index 276adf234690..1147738e93a9 100644 --- a/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts +++ b/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts @@ -14,10 +14,19 @@ export function transformSupportedBrowsersToTargets(supportedBrowsers: string[]) const transformed: string[] = []; // https://esbuild.github.io/api/#target - const esBuildSupportedBrowsers = new Set(['safari', 'firefox', 'edge', 'chrome', 'ios', 'node']); + const esBuildSupportedBrowsers = new Set([ + 'chrome', + 'edge', + 'firefox', + 'ie', + 'ios', + 'node', + 'opera', + 'safari', + ]); for (const browser of supportedBrowsers) { - let [browserName, version] = browser.split(' '); + let [browserName, version] = browser.toLowerCase().split(' '); // browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios` if (browserName === 'ios_saf') { @@ -33,6 +42,11 @@ export function transformSupportedBrowsersToTargets(supportedBrowsers: string[]) // esbuild only supports numeric versions so `TP` is converted to a high number (999) since // a Technology Preview (TP) of Safari is assumed to support all currently known features. version = '999'; + } else if (!version.includes('.')) { + // A lone major version is considered by esbuild to include all minor versions. However, + // browserslist does not and is also inconsistent in its `.0` version naming. For example, + // Safari 15.0 is named `safari 15` but Safari 16.0 is named `safari 16.0`. + version += '.0'; } transformed.push(browserName + version); From cf2f30afc0ad0ceae34c457955a22186bc5ce60d Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 1 Dec 2022 12:34:00 -0500 Subject: [PATCH 1196/1388] fix(@angular-devkit/build-angular): downlevel class fields with Safari <= v15 for esbuild To provide a workaround for a Safari bug involving class fields and variable scoping, the esbuild-based browser application builder will now downlevel class fields if Safari (desktop or iOS) v15.x or earlier is within the target browsers for an application. This is an esbuild variant of the fix for the Webpack-based builder. For more details regarding the issue, please see: #24357 --- .../src/builders/browser-esbuild/index.ts | 65 +++++++++++++++---- 1 file changed, 52 insertions(+), 13 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 53159f520fb2..2508c1279cff 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -253,19 +253,7 @@ function createCodeBundleOptions( entryNames: outputNames.bundles, assetNames: outputNames.media, target, - supported: { - // Native async/await is not supported with Zone.js. Disabling support here will cause - // esbuild to downlevel async/await and for await...of to a Zone.js supported form. However, esbuild - // does not currently support downleveling async generators. Instead babel is used within the JS/TS - // loader to perform the downlevel transformation. - // NOTE: If esbuild adds support in the future, the babel support for async generators can be disabled. - 'async-await': false, - // V8 currently has a performance defect involving object spread operations that can cause signficant - // degradation in runtime performance. By not supporting the language feature here, a downlevel form - // will be used instead which provides a workaround for the performance issue. - // For more details: https://bugs.chromium.org/p/v8/issues/detail?id=11536 - 'object-rest-spread': false, - }, + supported: getFeatureSupport(target), mainFields: ['es2020', 'browser', 'module', 'main'], conditions: ['es2020', 'es2015', 'module'], resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], @@ -314,6 +302,57 @@ function createCodeBundleOptions( }; } +/** + * Generates a syntax feature object map for Angular applications based on a list of targets. + * A full set of feature names can be found here: https://esbuild.github.io/api/#supported + * @param target An array of browser/engine targets in the format accepted by the esbuild `target` option. + * @returns An object that can be used with the esbuild build `supported` option. + */ +function getFeatureSupport(target: string[]): BuildOptions['supported'] { + const supported: Record = { + // Native async/await is not supported with Zone.js. Disabling support here will cause + // esbuild to downlevel async/await and for await...of to a Zone.js supported form. However, esbuild + // does not currently support downleveling async generators. Instead babel is used within the JS/TS + // loader to perform the downlevel transformation. + // NOTE: If esbuild adds support in the future, the babel support for async generators can be disabled. + 'async-await': false, + // V8 currently has a performance defect involving object spread operations that can cause signficant + // degradation in runtime performance. By not supporting the language feature here, a downlevel form + // will be used instead which provides a workaround for the performance issue. + // For more details: https://bugs.chromium.org/p/v8/issues/detail?id=11536 + 'object-rest-spread': false, + }; + + // Detect Safari browser versions that have a class field behavior bug + // See: https://github.com/angular/angular-cli/issues/24355#issuecomment-1333477033 + // See: https://github.com/WebKit/WebKit/commit/e8788a34b3d5f5b4edd7ff6450b80936bff396f2 + let safariClassFieldScopeBug = false; + for (const browser of target) { + let majorVersion; + if (browser.startsWith('ios')) { + majorVersion = Number(browser.slice(3, 5)); + } else if (browser.startsWith('safari')) { + majorVersion = Number(browser.slice(6, 8)); + } else { + continue; + } + // Technically, 14.0 is not broken but rather does not have support. However, the behavior + // is identical since it would be set to false by esbuild if present as a target. + if (majorVersion === 14 || majorVersion === 15) { + safariClassFieldScopeBug = true; + break; + } + } + // If class field support cannot be used set to false; otherwise leave undefined to allow + // esbuild to use `target` to determine support. + if (safariClassFieldScopeBug) { + supported['class-field'] = false; + supported['class-static-field'] = false; + } + + return supported; +} + function createGlobalStylesBundleOptions( options: NormalizedBrowserOptions, target: string[], From 5b18ce1545d047d49851a64e81a1f8ef59624ef7 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 11 Nov 2022 10:03:04 +0000 Subject: [PATCH 1197/1388] feat(@schematics/angular): add `guardType` as an alias of `implements` in guard schematic `implements` option will be removed in future in favor of `guardType`. This is because the implements guard pattern is deprecated in version 15.1 --- packages/schematics/angular/guard/schema.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index d2df59cb0446..f6a4676a400a 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -47,6 +47,7 @@ "default": false }, "implements": { + "alias": "guardType", "type": "array", "description": "Specifies which type of guard to create.", "uniqueItems": true, From 97716969c243d65e385dcd78f5035d2c13f0258b Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 5 Dec 2022 12:14:00 -0500 Subject: [PATCH 1198/1388] fix(@angular-devkit/build-angular): default preserve symlinks to Node.js value for esbuild When using the experimental esbuild-based browser application builder, the `preserveSymlinks` option will now default to the value of the Node.js `--preserve-symlinks` argument. This removes the need to manually specify the option in two places if executing the build manually with Node.js or via the `NODE_OPTIONS` environment variable. This behavior mimics that of the default Webpack-based builder. --- .../build_angular/src/builders/browser-esbuild/options.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 7a36796a95a2..649b970a048c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -152,7 +152,8 @@ export async function normalizeOptions( crossOrigin, externalDependencies, poll, - preserveSymlinks, + // If not explicitly set, default to the Node.js process argument + preserveSymlinks: preserveSymlinks ?? process.execArgv.includes('--preserve-symlinks'), stylePreprocessorOptions, subresourceIntegrity, verbose, From 7a063238b83eea8b5b3237fed12db5528d1f6912 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 5 Dec 2022 14:16:38 -0500 Subject: [PATCH 1199/1388] fix(@angular-devkit/build-angular): explicitly send options to JS transformer workers When using the experimental esbuild-based browser application builder, the JavaScript transformation workers will now only receive the explicit options expected. Previously, additional Angular compiler plugin options could have been serialized and sent as well. While these would be unused, there was no need to serialize/deserialize these option values. --- .../browser-esbuild/javascript-transformer.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts index 382bcc0fc436..e08a2b4a151f 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts @@ -26,12 +26,21 @@ export interface JavaScriptTransformerOptions { */ export class JavaScriptTransformer { #workerPool: Piscina; + #commonOptions: Required; - constructor(private options: JavaScriptTransformerOptions, maxThreads?: number) { + constructor(options: JavaScriptTransformerOptions, maxThreads?: number) { this.#workerPool = new Piscina({ filename: require.resolve('./javascript-transformer-worker'), maxThreads, }); + + // Extract options to ensure only the named options are serialized and sent to the worker + const { sourcemap, thirdPartySourcemaps = false, advancedOptimizations = false } = options; + this.#commonOptions = { + sourcemap, + thirdPartySourcemaps, + advancedOptimizations, + }; } /** @@ -45,7 +54,7 @@ export class JavaScriptTransformer { // they may need linking. The data is also not yet available to perform most transformation checks. return this.#workerPool.run({ filename, - ...this.options, + ...this.#commonOptions, }); } @@ -61,7 +70,7 @@ export class JavaScriptTransformer { // Perform a quick test to determine if the data needs any transformations. // This allows directly returning the data without the worker communication overhead. let forceAsyncTransformation; - if (skipLinker && !this.options.advancedOptimizations) { + if (skipLinker && !this.#commonOptions.advancedOptimizations) { // If the linker is being skipped and no optimizations are needed, only async transformation is left. // This checks for async generator functions. All other async transformation is handled by esbuild. forceAsyncTransformation = data.includes('async') && /async\s+function\s*\*/.test(data); @@ -77,7 +86,7 @@ export class JavaScriptTransformer { // Send the async check result if present to avoid rechecking in the worker forceAsyncTransformation, skipLinker, - ...this.options, + ...this.#commonOptions, }); } From 01042523823560ac40c5277abbf1d039c8e99e59 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 6 Dec 2022 22:04:31 +0000 Subject: [PATCH 1200/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 16 +++++----- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index f030a6e0490b..be3aaf9fd8bf 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@3bc93449e11b733260d0294305bf57240d7e0a81 + - uses: angular/dev-infra/github-actions/branch-manager@c3339f5751f9a4fbd7d372b77e08fabc02491a80 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 268c15a279b5..fcdbbd725a50 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@3bc93449e11b733260d0294305bf57240d7e0a81 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@c3339f5751f9a4fbd7d372b77e08fabc02491a80 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@3bc93449e11b733260d0294305bf57240d7e0a81 + - uses: angular/dev-infra/github-actions/post-approval-changes@c3339f5751f9a4fbd7d372b77e08fabc02491a80 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 4a95d6d87848..4e36b043ddc0 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@3bc93449e11b733260d0294305bf57240d7e0a81 + - uses: angular/dev-infra/github-actions/feature-request@c3339f5751f9a4fbd7d372b77e08fabc02491a80 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 928a9c40398f..47585573f6a3 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@3bc93449e11b733260d0294305bf57240d7e0a81 + - uses: angular/dev-infra/github-actions/lock-closed@c3339f5751f9a4fbd7d372b77e08fabc02491a80 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4cf1b474d3d5..8e6c0ef3a329 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#700b1eb865783a6dc733206bd9b3eadf1a43042f", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#d94cd02db1a276929ff63739d0b5f80a45a14abf", "@angular/cdk": "15.0.1", "@angular/common": "15.0.2", "@angular/compiler": "15.0.2", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.2", "@angular/localize": "15.0.2", "@angular/material": "15.0.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2a71f76ee8a4cb4795f8a027d946f620e623b81", "@angular/platform-browser": "15.0.2", "@angular/platform-browser-dynamic": "15.0.2", "@angular/platform-server": "15.0.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 6a88ae90e8ad..cc0263554c09 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e01484950dd3dee0accfccc10f7212f0d7197c62", - "@angular/cdk": "github:angular/cdk-builds#e9e267d305af6827684f806e1f0e8f34cd864483", - "@angular/common": "github:angular/common-builds#066d2f3b1358d769bea33e557d398536c88e8b76", - "@angular/compiler": "github:angular/compiler-builds#7ab7ff78044d046ecff841e8856a1d9d26553515", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#e751581a41e41c0d21adaafa4238fb4827c40055", - "@angular/core": "github:angular/core-builds#a8a0d4ce8bd57c184bf08a246e44be6d108d7e63", - "@angular/forms": "github:angular/forms-builds#ad5bcaf7d7167c3395ec2902034ff5daf291a264", - "@angular/language-service": "github:angular/language-service-builds#7f8f844db5ad1f5d1b8180c00ade326aae09a936", - "@angular/localize": "github:angular/localize-builds#60e625c1aeafcf2798402d85eb6fd5728b2179f0", - "@angular/material": "github:angular/material-builds#062631f919a0521b75dd68b11d19758e61aae804", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#8ca961405ca29f1d9241d91d6fe128b2ac8791fc", - "@angular/platform-browser": "github:angular/platform-browser-builds#825881d56ee7a3c53ef1e3cf5a1d65bf9bc1c75b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#fd7b2b10ad3a5ae5df3d9202c8cb83b1f384b493", - "@angular/platform-server": "github:angular/platform-server-builds#20eabc28355d8238fd56a7419f233d3f2f0b2ee7", - "@angular/router": "github:angular/router-builds#01ec378223d178c2958159d6079aa0123ba2194b", - "@angular/service-worker": "github:angular/service-worker-builds#25b361941764fcc04ea275c1c815e9b3bfc67825" + "@angular/animations": "github:angular/animations-builds#0512a68ee135cd8cdf314a28f3b66188eecbb021", + "@angular/cdk": "github:angular/cdk-builds#9ddbd18b03bcfd19f78044dec3bfcae2025a994c", + "@angular/common": "github:angular/common-builds#c71291d64769cc8c5bf385ae00f4a7c74b14c173", + "@angular/compiler": "github:angular/compiler-builds#1b4a89ca4ebb45cbe1fba9469785e4b989bbac0b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#5692fa29ba3fb6082f3dab617376b17a21d9d310", + "@angular/core": "github:angular/core-builds#e9ccf0ed898f7bee79ebfa8b4d24dea6c42f3209", + "@angular/forms": "github:angular/forms-builds#d14d54400c1d6a9cba1817b6c09b33a8b98c5852", + "@angular/language-service": "github:angular/language-service-builds#a8913fd05b6674edc382f5cf6ce12494c3e5b74f", + "@angular/localize": "github:angular/localize-builds#4fdccb7576f1f460dafb9ed9f72709dd528fca2f", + "@angular/material": "github:angular/material-builds#b6691fd604d01c90ae216dc50c2610a75a70b5ee", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2bcdbfee664afcda596e28ce6be3c89591b7b379", + "@angular/platform-browser": "github:angular/platform-browser-builds#a6577ee3ff6f453ef6ca1a4e20ad545961d328ba", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#1ce2ab97392de4999f06cd9f001d417ed465687d", + "@angular/platform-server": "github:angular/platform-server-builds#72cb996774f59af2e55f1be8ee948c5731ec3a7a", + "@angular/router": "github:angular/router-builds#ae8bea9968c387a4ff27537238e43a79a99aa3e9", + "@angular/service-worker": "github:angular/service-worker-builds#00afb9cf26a9f22b6ae1955062f09da3a3bfc3ee" } } diff --git a/yarn.lock b/yarn.lock index 21f94196fb0a..7a5447c442c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,10 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#700b1eb865783a6dc733206bd9b3eadf1a43042f": - version "0.0.0-3bc93449e11b733260d0294305bf57240d7e0a81" - uid "700b1eb865783a6dc733206bd9b3eadf1a43042f" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#700b1eb865783a6dc733206bd9b3eadf1a43042f" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#d94cd02db1a276929ff63739d0b5f80a45a14abf": + version "0.0.0-dd53634ba2a792fce0649c90b30752b7dff6f68a" + uid d94cd02db1a276929ff63739d0b5f80a45a14abf + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#d94cd02db1a276929ff63739d0b5f80a45a14abf" dependencies: "@angular-devkit/build-angular" "15.1.0-next.0" "@angular/benchpress" "0.3.0" @@ -281,10 +281,10 @@ "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a": - version "0.0.0-3bc93449e11b733260d0294305bf57240d7e0a81" - uid "0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0fd48ee6dfc7fd00f4267794ca2a8bb08fe1e39a" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2a71f76ee8a4cb4795f8a027d946f620e623b81": + version "0.0.0-dd53634ba2a792fce0649c90b30752b7dff6f68a" + uid a2a71f76ee8a4cb4795f8a027d946f620e623b81 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2a71f76ee8a4cb4795f8a027d946f620e623b81" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From 53efaaafaa4202d5d32b837e55c1cd7a92352411 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 6 Dec 2022 02:06:51 +0000 Subject: [PATCH 1201/1388] build: lock file maintenance --- yarn.lock | 244 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 195 insertions(+), 49 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7a5447c442c8..fe706c0d4d2c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1387,6 +1387,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== +"@esbuild/android-arm@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" + integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== + "@esbuild/linux-loong64@0.15.15": version "0.15.15" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1" @@ -1397,6 +1402,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ== +"@esbuild/linux-loong64@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" + integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -2706,9 +2716,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" - integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== + version "7.18.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== dependencies: "@babel/types" "^7.3.0" @@ -2772,9 +2782,11 @@ integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== "@types/cors@^2.8.12": - version "2.8.12" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" - integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + version "2.8.13" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94" + integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA== + dependencies: + "@types/node" "*" "@types/eslint-scope@^3.7.3": version "3.7.4" @@ -2864,9 +2876,9 @@ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/jasmine@~4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.3.0.tgz#1dfdfb226820911addb1b5a9031422be72c53aac" - integrity sha512-u1jWakf8CWvLfSEZyxmzkgBzOEvXH/szpT0e6G8BTkx5Eu0BhDn7sbc5dz0JBN/6Wwm9rBe+JAsk9tJRyH9ZkA== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-4.3.1.tgz#2d8ab5601c2fe7d9673dcb157e03f128ab5c5fff" + integrity sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ== "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" @@ -2930,9 +2942,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.11.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" - integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== + version "18.11.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.11.tgz#1d455ac0211549a8409d3cdb371cd55cc971e8dc" + integrity sha512-KJ021B1nlQUBLopzZmPBVuGU9un7WJd/W4ya7Ih02B4Uwky5Nja0yGYav2EfYIk0RR2Q9oVhf60S2XR1BCWJ2g== "@types/node@12.20.24": version "12.20.24" @@ -2950,9 +2962,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.33" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.33.tgz#8c29a0036771569662e4635790ffa9e057db379b" - integrity sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg== + version "14.18.34" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.34.tgz#cd2e6fa0dbfb08a62582a7b967558e73c32061ec" + integrity sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -3189,9 +3201,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.14.tgz#0943473052c24bd8cf2d1de25f1a710259327237" - integrity sha512-9Pj7abXoW1RSTcZaL2Hk6G2XyLMlp5ECdVC/Zf2p/KBjC3srijLGgRAXOBjtFrJoIrvxdTKyKDA14bEcbxBaWw== + version "17.0.16" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.16.tgz#9ad7938c9dbe79a261e17adc1ed491de9999612c" + integrity sha512-Mh3OP0oh8X7O7F9m5AplC+XHYLBWuPKNkGVD3gIZFLFebBnuFI2Nz5Sf8WLvwGxECJ8YjifQvFdh79ubODkdug== dependencies: "@types/yargs-parser" "*" @@ -4239,9 +4251,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001434" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz#ec1ec1cfb0a93a34a0600d37903853030520a4e5" - integrity sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA== + version "1.0.30001436" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz#22d7cbdbbbb60cdc4ca1030ccd6dea9f5de4848b" + integrity sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg== caseless@~0.12.0: version "0.12.0" @@ -4819,9 +4831,9 @@ decamelize@^1.2.0: integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" @@ -5297,6 +5309,11 @@ esbuild-android-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" integrity sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA== +esbuild-android-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" + integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== + esbuild-android-arm64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz#9733b71cf0229b4356f106a455b2cfdf7884aa59" @@ -5307,6 +5324,11 @@ esbuild-android-arm64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" integrity sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg== +esbuild-android-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" + integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== + esbuild-darwin-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz#fc3482fdf5e798dbc0b8b2fe13287d257a45efc6" @@ -5317,6 +5339,11 @@ esbuild-darwin-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" integrity sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g== +esbuild-darwin-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" + integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== + esbuild-darwin-arm64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz#e922ec387c00fa84d664e14b5722fe13613f4adc" @@ -5327,6 +5354,11 @@ esbuild-darwin-arm64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" integrity sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw== +esbuild-darwin-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" + integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== + esbuild-freebsd-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz#69a42d79137d7d3ea718414c432bc10e8bb97c68" @@ -5337,6 +5369,11 @@ esbuild-freebsd-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" integrity sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ== +esbuild-freebsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" + integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== + esbuild-freebsd-arm64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz#63b6d0dd492f7394f8d07a0e2b931151eb9d60c4" @@ -5347,6 +5384,11 @@ esbuild-freebsd-arm64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" integrity sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g== +esbuild-freebsd-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" + integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== + esbuild-linux-32@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz#7f295795fd7e61ea57d1135f717424a6771a7472" @@ -5357,6 +5399,11 @@ esbuild-linux-32@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" integrity sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w== +esbuild-linux-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" + integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== + esbuild-linux-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz#11a430a86403b0411ca0a355b891f1cb8c4c4ec6" @@ -5367,6 +5414,11 @@ esbuild-linux-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" integrity sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g== +esbuild-linux-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" + integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== + esbuild-linux-arm64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz#b65f9a2c60e8e5b62f6cfd392cd0410f22e8c390" @@ -5377,6 +5429,11 @@ esbuild-linux-arm64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" integrity sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A== +esbuild-linux-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" + integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== + esbuild-linux-arm@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz#c8e13e45a0a6f0cb145ce13ae26ce1d2551d9bcc" @@ -5387,6 +5444,11 @@ esbuild-linux-arm@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" integrity sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ== +esbuild-linux-arm@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" + integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== + esbuild-linux-mips64le@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz#d4c24d47e43966fcac748c90621be7edd53456c0" @@ -5397,6 +5459,11 @@ esbuild-linux-mips64le@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" integrity sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A== +esbuild-linux-mips64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" + integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== + esbuild-linux-ppc64le@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz#2eba53fe2282438ceca5471bdb57ba2e00216ed6" @@ -5407,6 +5474,11 @@ esbuild-linux-ppc64le@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" integrity sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA== +esbuild-linux-ppc64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" + integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== + esbuild-linux-riscv64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz#1afa8dfe55a6c312f1904ee608b81417205f5027" @@ -5417,6 +5489,11 @@ esbuild-linux-riscv64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" integrity sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw== +esbuild-linux-riscv64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" + integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== + esbuild-linux-s390x@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz#1f7b3c4429c8ca99920ba6bf356ccc5b38fabd34" @@ -5427,6 +5504,11 @@ esbuild-linux-s390x@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" integrity sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w== +esbuild-linux-s390x@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" + integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== + esbuild-netbsd-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz#d72c7155686c938c1aff126209b689c22823347c" @@ -5437,6 +5519,11 @@ esbuild-netbsd-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" integrity sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg== +esbuild-netbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" + integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== + esbuild-openbsd-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz#761bd87ecab97386948eaf667a065cb0ecaa0f76" @@ -5447,6 +5534,11 @@ esbuild-openbsd-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" integrity sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA== +esbuild-openbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" + integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== + esbuild-sunos-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c" @@ -5457,16 +5549,26 @@ esbuild-sunos-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" integrity sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ== +esbuild-sunos-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" + integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== + esbuild-wasm@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.15.tgz#410abc538e8091c6dbb0e373b54738f4505351aa" integrity sha512-B8OfZ0cm/zvbznYXbHnLRRp31hBObFiDAKnbTeUMHOZkyAbEClHETxSgZ/0fjm4XdkZGcBI/ZTpCa5JSTZVA7A== -esbuild-wasm@0.15.16, esbuild-wasm@^0.15.9: +esbuild-wasm@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== +esbuild-wasm@^0.15.9: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.18.tgz#447f0f9555597002a289e4109937ec1f6fde45ef" + integrity sha512-Bw80Siy8XJi6UIR9f0T5SkMIkiVgvFZgHaOZAQCDcZct6Lj5kBZtpACpDhqfdTUzoDyk7pBn4xEft/T5+0tlXw== + esbuild-windows-32@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz#130d1982cc41fb67461e9f8a65c6ebd13a1f35bb" @@ -5477,6 +5579,11 @@ esbuild-windows-32@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" integrity sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ== +esbuild-windows-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" + integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== + esbuild-windows-64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz#638bdf495c109c1882e8b0529cb8e2fea11383fb" @@ -5487,6 +5594,11 @@ esbuild-windows-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" integrity sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw== +esbuild-windows-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" + integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== + esbuild-windows-arm64@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31" @@ -5497,6 +5609,11 @@ esbuild-windows-arm64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" integrity sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA== +esbuild-windows-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" + integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== + esbuild@0.15.15: version "0.15.15" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.15.tgz#503b70bdc18d72d8fc2962ed3ab9219249e58bbe" @@ -5525,7 +5642,7 @@ esbuild@0.15.15: esbuild-windows-64 "0.15.15" esbuild-windows-arm64 "0.15.15" -esbuild@0.15.16, esbuild@^0.15.9: +esbuild@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.16.tgz#59324e5667985bf6aee8a91ea576baef6872cf21" integrity sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ== @@ -5553,6 +5670,34 @@ esbuild@0.15.16, esbuild@^0.15.9: esbuild-windows-64 "0.15.16" esbuild-windows-arm64 "0.15.16" +esbuild@^0.15.9: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" + integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== + optionalDependencies: + "@esbuild/android-arm" "0.15.18" + "@esbuild/linux-loong64" "0.15.18" + esbuild-android-64 "0.15.18" + esbuild-android-arm64 "0.15.18" + esbuild-darwin-64 "0.15.18" + esbuild-darwin-arm64 "0.15.18" + esbuild-freebsd-64 "0.15.18" + esbuild-freebsd-arm64 "0.15.18" + esbuild-linux-32 "0.15.18" + esbuild-linux-64 "0.15.18" + esbuild-linux-arm "0.15.18" + esbuild-linux-arm64 "0.15.18" + esbuild-linux-mips64le "0.15.18" + esbuild-linux-ppc64le "0.15.18" + esbuild-linux-riscv64 "0.15.18" + esbuild-linux-s390x "0.15.18" + esbuild-netbsd-64 "0.15.18" + esbuild-openbsd-64 "0.15.18" + esbuild-sunos-64 "0.15.18" + esbuild-windows-32 "0.15.18" + esbuild-windows-64 "0.15.18" + esbuild-windows-arm64 "0.15.18" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5959,9 +6104,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.14.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" + integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== dependencies: reusify "^1.0.4" @@ -8093,14 +8238,14 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.1.0, minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== dependencies: brace-expansion "^2.0.1" -minimatch@5.1.1: +minimatch@5.1.1, minimatch@^5.0.1, minimatch@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== @@ -8506,7 +8651,7 @@ npm-normalize-package-bin@^3.0.0: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz#6097436adb4ef09e2628b59a7882576fe53ce485" integrity sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q== -npm-package-arg@10.1.0: +npm-package-arg@10.1.0, npm-package-arg@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== @@ -8516,16 +8661,6 @@ npm-package-arg@10.1.0: semver "^7.3.5" validate-npm-package-name "^5.0.0" -npm-package-arg@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.0.0.tgz#a34f4a4208a937074b1fff0943a684fbacc83977" - integrity sha512-7dkh8mRp7s0KwVHKIVJnFCJQ2B34gOGnzgBjDGyprycmARq/82SX/lhilQ95ZuacP/G/1gsS345iAkKmxWBQ2Q== - dependencies: - hosted-git-info "^6.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: version "9.1.2" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" @@ -9980,9 +10115,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^3.0.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.5.0.tgz#dfe5cba22c2c074691b4c25b9b8e9cfd90ac712b" - integrity sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ== + version "3.6.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.6.0.tgz#2bff14b8680747fbb0228d102607d6a6e21859d7" + integrity sha512-qCgiBeSu2/AIOKWGFMiRkjPlGlcVwxAjwpGKQZOQYng+83Hip4PjrWHm7EQX1wnrvRqfTytEihRRfLHdX+hR4g== optionalDependencies: fsevents "~2.3.2" @@ -10018,9 +10153,9 @@ rxjs@^5.5.6: symbol-observable "1.0.1" rxjs@^7.5.5, rxjs@^7.5.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== + version "7.6.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.6.0.tgz#361da5362b6ddaa691a2de0b4f2d32028f1eb5a2" + integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ== dependencies: tslib "^2.1.0" @@ -10072,6 +10207,7 @@ sass@1.56.1, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -10837,7 +10973,7 @@ terser@5.15.1: commander "^2.20.0" source-map-support "~0.5.20" -terser@5.16.0, terser@^5.14.1: +terser@5.16.0: version "5.16.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.0.tgz#29362c6f5506e71545c73b069ccd199bb28f7f54" integrity sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg== @@ -10847,6 +10983,16 @@ terser@5.16.0, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" +terser@^5.14.1: + version "5.16.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" + integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" From 6888fc610e745e38d6a220f5ff9dddaa40765bb6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 7 Dec 2022 19:06:28 +0000 Subject: [PATCH 1202/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 313 +++--------------- 7 files changed, 71 insertions(+), 288 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index be3aaf9fd8bf..c3ed8905dd60 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@c3339f5751f9a4fbd7d372b77e08fabc02491a80 + - uses: angular/dev-infra/github-actions/branch-manager@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index fcdbbd725a50..b07a8a730c30 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@c3339f5751f9a4fbd7d372b77e08fabc02491a80 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@c3339f5751f9a4fbd7d372b77e08fabc02491a80 + - uses: angular/dev-infra/github-actions/post-approval-changes@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 4e36b043ddc0..266c4cac1268 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@c3339f5751f9a4fbd7d372b77e08fabc02491a80 + - uses: angular/dev-infra/github-actions/feature-request@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 47585573f6a3..33eb5063fe8c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@c3339f5751f9a4fbd7d372b77e08fabc02491a80 + - uses: angular/dev-infra/github-actions/lock-closed@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 8e6c0ef3a329..7eb747d13686 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#d94cd02db1a276929ff63739d0b5f80a45a14abf", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6", "@angular/cdk": "15.0.1", "@angular/common": "15.0.2", "@angular/compiler": "15.0.2", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.2", "@angular/localize": "15.0.2", "@angular/material": "15.0.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2a71f76ee8a4cb4795f8a027d946f620e623b81", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5677f11ede284cd64355b568fcfd29e6ea1e9cb4", "@angular/platform-browser": "15.0.2", "@angular/platform-browser-dynamic": "15.0.2", "@angular/platform-server": "15.0.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index cc0263554c09..f368a009a123 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#0512a68ee135cd8cdf314a28f3b66188eecbb021", - "@angular/cdk": "github:angular/cdk-builds#9ddbd18b03bcfd19f78044dec3bfcae2025a994c", - "@angular/common": "github:angular/common-builds#c71291d64769cc8c5bf385ae00f4a7c74b14c173", - "@angular/compiler": "github:angular/compiler-builds#1b4a89ca4ebb45cbe1fba9469785e4b989bbac0b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#5692fa29ba3fb6082f3dab617376b17a21d9d310", - "@angular/core": "github:angular/core-builds#e9ccf0ed898f7bee79ebfa8b4d24dea6c42f3209", - "@angular/forms": "github:angular/forms-builds#d14d54400c1d6a9cba1817b6c09b33a8b98c5852", - "@angular/language-service": "github:angular/language-service-builds#a8913fd05b6674edc382f5cf6ce12494c3e5b74f", - "@angular/localize": "github:angular/localize-builds#4fdccb7576f1f460dafb9ed9f72709dd528fca2f", - "@angular/material": "github:angular/material-builds#b6691fd604d01c90ae216dc50c2610a75a70b5ee", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#2bcdbfee664afcda596e28ce6be3c89591b7b379", - "@angular/platform-browser": "github:angular/platform-browser-builds#a6577ee3ff6f453ef6ca1a4e20ad545961d328ba", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#1ce2ab97392de4999f06cd9f001d417ed465687d", - "@angular/platform-server": "github:angular/platform-server-builds#72cb996774f59af2e55f1be8ee948c5731ec3a7a", - "@angular/router": "github:angular/router-builds#ae8bea9968c387a4ff27537238e43a79a99aa3e9", - "@angular/service-worker": "github:angular/service-worker-builds#00afb9cf26a9f22b6ae1955062f09da3a3bfc3ee" + "@angular/animations": "github:angular/animations-builds#ea0034713bec7a0bd7cd0113b05225f8467c758b", + "@angular/cdk": "github:angular/cdk-builds#ddb11248c206699ea7eab18789e02126c20204bf", + "@angular/common": "github:angular/common-builds#eb596960c41840c3814fd6069ed7a0027da2dfc0", + "@angular/compiler": "github:angular/compiler-builds#e3ae2ea219308d8eb7239718d93b097fb1cce4a8", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#dc902b22342f28135c613d5b718bccdc91407951", + "@angular/core": "github:angular/core-builds#9b162c1940e434af7705b3aa636f1c23b420130d", + "@angular/forms": "github:angular/forms-builds#4f7c357cbceefba387559d858cb21548591d1a83", + "@angular/language-service": "github:angular/language-service-builds#d480d3f1c2b9eb5f960b594cf00ebb0cbafd3c8d", + "@angular/localize": "github:angular/localize-builds#c9a175a4f56ac9f867329ced020fb08a45e8cc38", + "@angular/material": "github:angular/material-builds#747236e1e030b00af457d020b5b9158130ebf2ba", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3e1339a69e6b3077808b1bedd33270e905459afd", + "@angular/platform-browser": "github:angular/platform-browser-builds#1ea9651f9e99115da06b58cbb29ce1465bc5a736", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#84fb6295542faf32e8300ba5e4363e057a2f4f86", + "@angular/platform-server": "github:angular/platform-server-builds#a9618caa01f333ec2fac3589de811f92116d005f", + "@angular/router": "github:angular/router-builds#03708d0ee6f5f680d01d4fffc4c8ed0e7e088fdf", + "@angular/service-worker": "github:angular/service-worker-builds#940c73ce4c88b4870ce5956aa795f91c9b19dcd0" } } diff --git a/yarn.lock b/yarn.lock index fe706c0d4d2c..70de524c05c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,34 +10,34 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1501.0-next.0": - version "0.1501.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.0.tgz#7555582c991d2c7fcb34c9cc6f1a3ce7cf860edf" - integrity sha512-3H7W6ECEiBsRLIApm6yYz7RkTpGxmm1erhrNp8hFKWu+kYZNKbX8PfdPnTLbu9QO5vCJhpEnXSHkLrUpw9gIzg== +"@angular-devkit/architect@0.1501.0-next.1": + version "0.1501.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.1.tgz#3d3e366f288121e27014877e49fcd1af21be1652" + integrity sha512-SWiZN7PECQH8CUSfx45lJjM83kpcYyu8t8hUhinp4LENo2MX3wtOFSdghUkxbwMmiCYGFSh56dEoI21N7lU2qA== dependencies: - "@angular-devkit/core" "15.1.0-next.0" + "@angular-devkit/core" "15.1.0-next.1" rxjs "6.6.7" -"@angular-devkit/build-angular@15.1.0-next.0": - version "15.1.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.0.tgz#20aa490ff0bed373f14904a9b4b220ede6692451" - integrity sha512-wX3WMWLiYgzQIb0/BLNjRbdreHPwqEGnDApPaCJBXKPATk8HUB54FOp7BwBo35wElUkeIE3p/OODiD+ZUYuZHg== +"@angular-devkit/build-angular@15.1.0-next.1": + version "15.1.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.1.tgz#a45c202e67eecd8d90c7cff0bafa9f12b4590642" + integrity sha512-6acVLns4osZt7wbMZwOJm+EYLR+Ta5zdARfVVSI26ZMgHYyhheC4lCE53Miga29izP1KUSCXkJSI38s2gErscg== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1501.0-next.0" - "@angular-devkit/build-webpack" "0.1501.0-next.0" - "@angular-devkit/core" "15.1.0-next.0" - "@babel/core" "7.20.2" - "@babel/generator" "7.20.4" + "@angular-devkit/architect" "0.1501.0-next.1" + "@angular-devkit/build-webpack" "0.1501.0-next.1" + "@angular-devkit/core" "15.1.0-next.1" + "@babel/core" "7.20.5" + "@babel/generator" "7.20.5" "@babel/helper-annotate-as-pure" "7.18.6" "@babel/plugin-proposal-async-generator-functions" "7.20.1" "@babel/plugin-transform-async-to-generator" "7.18.6" "@babel/plugin-transform-runtime" "7.19.6" "@babel/preset-env" "7.20.2" - "@babel/runtime" "7.20.1" + "@babel/runtime" "7.20.6" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.1.0-next.0" + "@ngtools/webpack" "15.1.0-next.1" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.0" @@ -48,7 +48,7 @@ copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.2" - esbuild-wasm "0.15.15" + esbuild-wasm "0.15.16" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -59,13 +59,13 @@ license-webpack-plugin "4.0.2" loader-utils "3.2.1" magic-string "0.26.7" - mini-css-extract-plugin "2.7.0" + mini-css-extract-plugin "2.7.1" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" postcss "8.4.19" - postcss-loader "7.0.1" + postcss-loader "7.0.2" resolve-url-loader "5.0.0" rxjs "6.6.7" sass "1.56.1" @@ -73,30 +73,30 @@ semver "7.3.8" source-map-loader "4.0.1" source-map-support "0.5.21" - terser "5.15.1" + terser "5.16.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.1" webpack "5.75.0" - webpack-dev-middleware "6.0.0" + webpack-dev-middleware "6.0.1" webpack-dev-server "4.11.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.15" + esbuild "0.15.16" -"@angular-devkit/build-webpack@0.1501.0-next.0": - version "0.1501.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.0.tgz#65089e390b1d4d123f85c91adac7178dfbd4384b" - integrity sha512-E4VDrm5KoEWF4tR5vlxpa/0NLD5IsR+38UcPf5vfpm1/NkiWfmgTRwIR3Tt2jIINhrWCbtXr9qYFX2ppV8d3NA== +"@angular-devkit/build-webpack@0.1501.0-next.1": + version "0.1501.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.1.tgz#67ec568d02d51c19621b4ff7545cd95404fd369f" + integrity sha512-YLWq3tjrsoElMb0JpYsBABDdu4yEssmu/Syd+SpwLZPJ02KgIfzKSP65MjcGYHBHQD5LPzgIx41SoiBUky/Srw== dependencies: - "@angular-devkit/architect" "0.1501.0-next.0" + "@angular-devkit/architect" "0.1501.0-next.1" rxjs "6.6.7" -"@angular-devkit/core@15.1.0-next.0": - version "15.1.0-next.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.0.tgz#60590383dfc37b1b35fe373cda94bb61bf4baf76" - integrity sha512-rv4c3pAw6P9A0/30psLrLPP8ATJf0Y/bifLeEblW+sbckEnk3Cu9wbw1nOWfh852dpt8XDRxcgpXdX+ysQOCvA== +"@angular-devkit/core@15.1.0-next.1": + version "15.1.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.1.tgz#188ac5f26e7563adedd941579481c7c0b6edef09" + integrity sha512-zQeuh2U7+wLw0mCQ+nC+qbATDAbSF4UtZP7Ma0a0IdWLM3zAUV5+I6w1oc91vRmg9W9z4Jlou8ILnc033QoIWA== dependencies: ajv "8.11.2" ajv-formats "2.1.1" @@ -119,12 +119,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#d94cd02db1a276929ff63739d0b5f80a45a14abf": - version "0.0.0-dd53634ba2a792fce0649c90b30752b7dff6f68a" - uid d94cd02db1a276929ff63739d0b5f80a45a14abf - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#d94cd02db1a276929ff63739d0b5f80a45a14abf" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6": + version "0.0.0-51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714" + uid f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6" dependencies: - "@angular-devkit/build-angular" "15.1.0-next.0" + "@angular-devkit/build-angular" "15.1.0-next.1" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" @@ -281,10 +281,10 @@ "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2a71f76ee8a4cb4795f8a027d946f620e623b81": - version "0.0.0-dd53634ba2a792fce0649c90b30752b7dff6f68a" - uid a2a71f76ee8a4cb4795f8a027d946f620e623b81 - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2a71f76ee8a4cb4795f8a027d946f620e623b81" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#5677f11ede284cd64355b568fcfd29e6ea1e9cb4": + version "0.0.0-51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714" + uid "5677f11ede284cd64355b568fcfd29e6ea1e9cb4" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5677f11ede284cd64355b568fcfd29e6ea1e9cb4" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" @@ -364,27 +364,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92" - integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.2" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.1" - "@babel/parser" "^7.20.2" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@7.20.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" @@ -406,16 +385,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.20.4": - version "7.20.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8" - integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA== - dependencies: - "@babel/types" "^7.20.2" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@7.20.5", "@babel/generator@^7.19.3", "@babel/generator@^7.20.2", "@babel/generator@^7.20.5": +"@babel/generator@7.20.5", "@babel/generator@^7.19.3", "@babel/generator@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== @@ -616,7 +586,7 @@ "@babel/traverse" "^7.20.5" "@babel/types" "^7.20.5" -"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.1", "@babel/helpers@^7.20.5": +"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.5": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== @@ -634,7 +604,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.20.2", "@babel/parser@^7.20.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== @@ -1243,13 +1213,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" - integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== - dependencies: - regenerator-runtime "^0.13.10" - "@babel/runtime@7.20.6", "@babel/runtime@^7.8.4": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" @@ -1377,11 +1340,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm@0.15.15": - version "0.15.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.15.tgz#35b3cc0f9e69cb53932d44f60b99dd440335d2f0" - integrity sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw== - "@esbuild/android-arm@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" @@ -1392,11 +1350,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== -"@esbuild/linux-loong64@0.15.15": - version "0.15.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.15.tgz#32c65517a09320b62530867345222fde7794fbe1" - integrity sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA== - "@esbuild/linux-loong64@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" @@ -2281,10 +2234,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.1.0-next.0": - version "15.1.0-next.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.0.tgz#aad4d20bf79eabe95ad3d624f76b8057aee053cc" - integrity sha512-/iwTHwvt3ne1eX75EGZ0Yvn6q1PSy3vxh5a0GhNtzswNaFRXwKh84OR20nctVXD1pFHa0ORwXS77JjSSAHPAUw== +"@ngtools/webpack@15.1.0-next.1": + version "15.1.0-next.1" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.1.tgz#cec3157d9b7c0970ff9e3422192702876a639bcf" + integrity sha512-DYL6FsfJcE0owb//6oZWa7SMlsn3Q/X6qJYP0pc83/LoAMvTWOzApeWIp9g+mJQ9Vc5zJ6VvQMMO6qWSu0BQxw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -5299,11 +5252,6 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.15.tgz#fd959b034dd761d14e13dda6214b6948841ff4ff" - integrity sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q== - esbuild-android-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" @@ -5314,11 +5262,6 @@ esbuild-android-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== -esbuild-android-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.15.tgz#9733b71cf0229b4356f106a455b2cfdf7884aa59" - integrity sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ== - esbuild-android-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" @@ -5329,11 +5272,6 @@ esbuild-android-arm64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== -esbuild-darwin-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.15.tgz#fc3482fdf5e798dbc0b8b2fe13287d257a45efc6" - integrity sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ== - esbuild-darwin-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" @@ -5344,11 +5282,6 @@ esbuild-darwin-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== -esbuild-darwin-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.15.tgz#e922ec387c00fa84d664e14b5722fe13613f4adc" - integrity sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag== - esbuild-darwin-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" @@ -5359,11 +5292,6 @@ esbuild-darwin-arm64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== -esbuild-freebsd-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.15.tgz#69a42d79137d7d3ea718414c432bc10e8bb97c68" - integrity sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA== - esbuild-freebsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" @@ -5374,11 +5302,6 @@ esbuild-freebsd-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== -esbuild-freebsd-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.15.tgz#63b6d0dd492f7394f8d07a0e2b931151eb9d60c4" - integrity sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g== - esbuild-freebsd-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" @@ -5389,11 +5312,6 @@ esbuild-freebsd-arm64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== -esbuild-linux-32@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.15.tgz#7f295795fd7e61ea57d1135f717424a6771a7472" - integrity sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q== - esbuild-linux-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" @@ -5404,11 +5322,6 @@ esbuild-linux-32@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== -esbuild-linux-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.15.tgz#11a430a86403b0411ca0a355b891f1cb8c4c4ec6" - integrity sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg== - esbuild-linux-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" @@ -5419,11 +5332,6 @@ esbuild-linux-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== -esbuild-linux-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.15.tgz#b65f9a2c60e8e5b62f6cfd392cd0410f22e8c390" - integrity sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g== - esbuild-linux-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" @@ -5434,11 +5342,6 @@ esbuild-linux-arm64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== -esbuild-linux-arm@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.15.tgz#c8e13e45a0a6f0cb145ce13ae26ce1d2551d9bcc" - integrity sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w== - esbuild-linux-arm@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" @@ -5449,11 +5352,6 @@ esbuild-linux-arm@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== -esbuild-linux-mips64le@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.15.tgz#d4c24d47e43966fcac748c90621be7edd53456c0" - integrity sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A== - esbuild-linux-mips64le@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" @@ -5464,11 +5362,6 @@ esbuild-linux-mips64le@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== -esbuild-linux-ppc64le@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.15.tgz#2eba53fe2282438ceca5471bdb57ba2e00216ed6" - integrity sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA== - esbuild-linux-ppc64le@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" @@ -5479,11 +5372,6 @@ esbuild-linux-ppc64le@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== -esbuild-linux-riscv64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.15.tgz#1afa8dfe55a6c312f1904ee608b81417205f5027" - integrity sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw== - esbuild-linux-riscv64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" @@ -5494,11 +5382,6 @@ esbuild-linux-riscv64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== -esbuild-linux-s390x@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.15.tgz#1f7b3c4429c8ca99920ba6bf356ccc5b38fabd34" - integrity sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ== - esbuild-linux-s390x@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" @@ -5509,11 +5392,6 @@ esbuild-linux-s390x@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== -esbuild-netbsd-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.15.tgz#d72c7155686c938c1aff126209b689c22823347c" - integrity sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw== - esbuild-netbsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" @@ -5524,11 +5402,6 @@ esbuild-netbsd-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== -esbuild-openbsd-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.15.tgz#761bd87ecab97386948eaf667a065cb0ecaa0f76" - integrity sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ== - esbuild-openbsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" @@ -5539,11 +5412,6 @@ esbuild-openbsd-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== -esbuild-sunos-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.15.tgz#07e04cbf9747f281a967d09230a158a1be5b530c" - integrity sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA== - esbuild-sunos-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" @@ -5554,11 +5422,6 @@ esbuild-sunos-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== -esbuild-wasm@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.15.tgz#410abc538e8091c6dbb0e373b54738f4505351aa" - integrity sha512-B8OfZ0cm/zvbznYXbHnLRRp31hBObFiDAKnbTeUMHOZkyAbEClHETxSgZ/0fjm4XdkZGcBI/ZTpCa5JSTZVA7A== - esbuild-wasm@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" @@ -5569,11 +5432,6 @@ esbuild-wasm@^0.15.9: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.18.tgz#447f0f9555597002a289e4109937ec1f6fde45ef" integrity sha512-Bw80Siy8XJi6UIR9f0T5SkMIkiVgvFZgHaOZAQCDcZct6Lj5kBZtpACpDhqfdTUzoDyk7pBn4xEft/T5+0tlXw== -esbuild-windows-32@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.15.tgz#130d1982cc41fb67461e9f8a65c6ebd13a1f35bb" - integrity sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA== - esbuild-windows-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" @@ -5584,11 +5442,6 @@ esbuild-windows-32@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== -esbuild-windows-64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.15.tgz#638bdf495c109c1882e8b0529cb8e2fea11383fb" - integrity sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA== - esbuild-windows-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" @@ -5599,11 +5452,6 @@ esbuild-windows-64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== -esbuild-windows-arm64@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.15.tgz#5a277ce10de999d2a6465fc92a8c2a2d207ebd31" - integrity sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ== - esbuild-windows-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" @@ -5614,34 +5462,6 @@ esbuild-windows-arm64@0.15.18: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== -esbuild@0.15.15: - version "0.15.15" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.15.tgz#503b70bdc18d72d8fc2962ed3ab9219249e58bbe" - integrity sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w== - optionalDependencies: - "@esbuild/android-arm" "0.15.15" - "@esbuild/linux-loong64" "0.15.15" - esbuild-android-64 "0.15.15" - esbuild-android-arm64 "0.15.15" - esbuild-darwin-64 "0.15.15" - esbuild-darwin-arm64 "0.15.15" - esbuild-freebsd-64 "0.15.15" - esbuild-freebsd-arm64 "0.15.15" - esbuild-linux-32 "0.15.15" - esbuild-linux-64 "0.15.15" - esbuild-linux-arm "0.15.15" - esbuild-linux-arm64 "0.15.15" - esbuild-linux-mips64le "0.15.15" - esbuild-linux-ppc64le "0.15.15" - esbuild-linux-riscv64 "0.15.15" - esbuild-linux-s390x "0.15.15" - esbuild-netbsd-64 "0.15.15" - esbuild-openbsd-64 "0.15.15" - esbuild-sunos-64 "0.15.15" - esbuild-windows-32 "0.15.15" - esbuild-windows-64 "0.15.15" - esbuild-windows-arm64 "0.15.15" - esbuild@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.16.tgz#59324e5667985bf6aee8a91ea576baef6872cf21" @@ -8212,13 +8032,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.0.tgz#d7d9ba0c5b596d155e36e2b174082fc7f010dd64" - integrity sha512-auqtVo8KhTScMsba7MbijqZTfibbXiBNlPAQbsVt7enQfcDYLdgG57eGxMqwVU3mfeWANY4F1wUg+rMF+ycZgw== - dependencies: - schema-utils "^4.0.0" - mini-css-extract-plugin@2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.1.tgz#ec924df783cff32ce6183fceb653028f70128643" @@ -9351,15 +9164,6 @@ portscanner@2.2.0: async "^2.6.0" is-number-like "^1.0.3" -postcss-loader@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.1.tgz#4c883cc0a1b2bfe2074377b7a74c1cd805684395" - integrity sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.7" - postcss-loader@7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.2.tgz#b53ff44a26fba3688eee92a048c7f2d4802e23bb" @@ -9877,7 +9681,7 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.11: +regenerator-runtime@^0.13.11: version "0.13.11" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== @@ -10963,16 +10767,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.15.1: - version "5.15.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" - integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.16.0: version "5.16.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.0.tgz#29362c6f5506e71545c73b069ccd199bb28f7f54" @@ -11619,17 +11413,6 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webpack-dev-middleware@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.0.0.tgz#e860862f04e364348a3483da7bb9f0b957147bbb" - integrity sha512-A7jSXBifCJsJqUCVISlcbx9pkmCuP0KriMRcOJ13pOb6/xMXZvh4/ygeJeSArjRd50IT5IVbBFuejGDA/zWrNQ== - dependencies: - colorette "^2.0.10" - memfs "^3.4.12" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - webpack-dev-middleware@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz#fd585127ed44dab3f253daf0d98f4d58a5088cc2" From 4d464a1ff4e67b25aa1837feb78ec9177257723a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 7 Dec 2022 15:18:32 -0800 Subject: [PATCH 1203/1388] docs: release notes for the v15.0.3 release --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8edd148445a1..f1f810928821 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ + + +# 15.0.3 (2022-12-07) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [3d9971edb](https://github.com/angular/angular-cli/commit/3d9971edb05e9b8de24bafc1b4381cbf4bad8dbf) | fix | default preserve symlinks to Node.js value for esbuild | +| [24f4b51d2](https://github.com/angular/angular-cli/commit/24f4b51d22a0debc8ff853cf9040a15273654f7a) | fix | downlevel class fields with Safari <= v15 for esbuild | +| [45afc42db](https://github.com/angular/angular-cli/commit/45afc42db86e58357d1618d9984dcf03bffea957) | fix | downlevel class properties when targeting Safari <=v15 | +| [e6461badf](https://github.com/angular/angular-cli/commit/e6461badf7959ff8b8d9a3824a4a081f44e0b237) | fix | prevent optimization adding unsupported ECMASCript features | + +## Special Thanks + +Charles Lyding, Dominic Elm and Paul Gschwendtner + + + # 15.1.0-next.1 (2022-11-30) From 3d885fbb21860cf1fe0c0e53b21c6360a79c294b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 8 Dec 2022 11:34:46 +0000 Subject: [PATCH 1204/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 22 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 12 +- .../angular_devkit/schematics/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 500 +++++++++--------- 7 files changed, 273 insertions(+), 273 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 26ca382600e1..773087da7a72 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "dee6d20f7c250a3808d601044ea187e41369a544f53f440b3bdafe0a7f53e553", - strip_prefix = "bazel-lib-1.17.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.17.0.tar.gz", + sha256 = "be236556c7b9c7b91cb370e837fdcec62b6e8893408cd4465ae883c9d7c67024", + strip_prefix = "bazel-lib-1.18.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.18.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 7eb747d13686..8d6f790c148d 100644 --- a/package.json +++ b/package.json @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.45.0", - "@typescript-eslint/parser": "5.45.0", + "@typescript-eslint/eslint-plugin": "5.46.0", + "@typescript-eslint/parser": "5.46.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.2", "ajv-formats": "2.1.1", @@ -133,16 +133,16 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "4.21.4", - "cacache": "17.0.2", + "cacache": "17.0.3", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", "css-loader": "6.7.2", "debug": "^4.1.1", - "esbuild": "0.15.16", - "esbuild-wasm": "0.15.16", - "eslint": "8.28.0", + "esbuild": "0.16.2", + "esbuild-wasm": "0.16.2", + "eslint": "8.29.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", @@ -169,16 +169,16 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", - "magic-string": "0.26.7", - "mini-css-extract-plugin": "2.7.1", + "magic-string": "0.27.0", + "mini-css-extract-plugin": "2.7.2", "minimatch": "5.1.1", - "ng-packagr": "15.0.1", + "ng-packagr": "15.0.2", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.6", + "pacote": "15.0.7", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", @@ -203,7 +203,7 @@ "spdx-satisfies": "^5.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.16.0", + "terser": "5.16.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index b86a3d210685..8fd3212e0a14 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.6", + "pacote": "15.0.7", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1aefed4bb313..1feb33269000 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,12 +26,12 @@ "babel-loader": "9.1.0", "babel-plugin-istanbul": "6.1.1", "browserslist": "4.21.4", - "cacache": "17.0.2", + "cacache": "17.0.3", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.2", - "esbuild-wasm": "0.15.16", + "esbuild-wasm": "0.16.2", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -41,8 +41,8 @@ "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", - "magic-string": "0.26.7", - "mini-css-extract-plugin": "2.7.1", + "magic-string": "0.27.0", + "mini-css-extract-plugin": "2.7.2", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", @@ -56,7 +56,7 @@ "semver": "7.3.8", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "terser": "5.16.0", + "terser": "5.16.1", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.4.1", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.15.16" + "esbuild": "0.16.2" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 9c26a6570c65..8b17f8f084d0 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.2.0", - "magic-string": "0.26.7", + "magic-string": "0.27.0", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index f428fbf1cd47..8495de46b1a8 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -14,7 +14,7 @@ "karma": "~6.4.0", "ng-packagr": "^15.0.0-next.0", "protractor": "~7.0.0", - "rxjs": "~7.5.0", + "rxjs": "~7.6.0", "tslib": "^2.3.0", "ts-node": "~10.9.0", "typescript": "~4.8.2", diff --git a/yarn.lock b/yarn.lock index 70de524c05c3..d63bbadac4fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1340,25 +1340,125 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/android-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.2.tgz#cdc8e99494d80a6ebfc7abc41914c4a8b98314ae" + integrity sha512-3CjbygjFHmtxDW59FOUM1T28G+aVqzbM+cNNinMgRUq+bmAstJdqmJL/KqpUwuCRTri4BgHJRWQbHOQFLwIpxw== + "@esbuild/android-arm@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== -"@esbuild/android-arm@0.15.18": - version "0.15.18" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" - integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== +"@esbuild/android-arm@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.2.tgz#585ac1f25abce4c7b996f0a84f33f0ae6df043cb" + integrity sha512-t8zq/Ad8njye3tYkbdBYAEGBExCyqFuPnKmKgLBF9+nIwAS/V3FYck6BjAx813JCGXkNsR1iriS8jQFwydT+FA== + +"@esbuild/android-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.2.tgz#544d96e13f9551365b360d1139bed3c1da5cd575" + integrity sha512-J5pzzVs9gHRQff8vUBhGMRQU1avwD9IVTSfzhdnKRqlxq0hsdcgZxH95Ckj/q2KJ4nMPYfDBSRXrrvQ4PyMpFA== + +"@esbuild/darwin-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.2.tgz#f417bc18cb80cfaa95aecb8ddc9e6a74be26c92c" + integrity sha512-XmjlYmR1UTEdMT2X3TxnA0hG8zOi3q/BzqNN6/PDBxw/UxE9gdj7LGwiQus5HHZM03vSvjRO7WJ7qaJBGBWnpQ== + +"@esbuild/darwin-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.2.tgz#d2695c66fd8a4e17a2f7d2c9f2bd6babf1c9c161" + integrity sha512-nq5cXgzbXHhBqZEPpuXrf2+BV6QWUM8vAyT/ElJrdIkoGOHwNQJEqZHl3KOWK+1V3KXEXgJhh7DsLixIc677ZQ== + +"@esbuild/freebsd-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.2.tgz#3abbf2a113dbcb77f253f031c412a27874a31b71" + integrity sha512-1QuZr7GnoipDYMFJDucqXmVvJZidZuHbvw5QLzBehYq67GR1Jub9pSo6O0Rt4LtKnu3TF2K/bjgzPJAGFY6W4Q== + +"@esbuild/freebsd-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.2.tgz#7e68876fbe0e6e8fc9f45f880a2b393e61f54bf3" + integrity sha512-uvbv99Wg2T489bqUz4gYVb2IpSSZZP/uTkaZpaLN+h3x58FmsLT4o7bF1Refd2JIKuONxSobljlk5/K/RD9SsQ== + +"@esbuild/linux-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.2.tgz#2d186a0f336a4022b38c0994404ad4541b850d46" + integrity sha512-S7EwMhEUMzYfd9KTHJX7Y3bKz7/9sZDRJPp10EOQ3Qqp10WvX2G42Q2c7rfymnm9aM5ZWs+W8WgbLFAUnjC3Wg== + +"@esbuild/linux-arm@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.2.tgz#3a816b6349655ac5e80117947543028d8eedeaf8" + integrity sha512-8n2UozHygOGXzgysim6GifKjv+lW4fs3mlfaoKerwBIOT9OBCo1Q4AjvbtU3F+2AGyo8eavxnj6Xxx0DRTOwiw== + +"@esbuild/linux-ia32@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.2.tgz#6ec937d2c4a17db5c6bb0b898e86c42df97422f4" + integrity sha512-TRz3MDvv65zXZ4NTJYi1yyVj17Qrsm8y6J8r4qIdd2qszRLPHmte4LAazPa7g+To6QfM2kL3gHmVhwV6GcYz0g== "@esbuild/linux-loong64@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ== -"@esbuild/linux-loong64@0.15.18": - version "0.15.18" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" - integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== +"@esbuild/linux-loong64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.2.tgz#6f611b6e03f5404b5e3d45040f0d743071b1229b" + integrity sha512-yhHJCvPQjh/8wLEk336QzXMHYnMKJdzLcNAnXwVawSvsLqyzTYrGshrO1YMhzs5cWgR75DFNnhcAFgEtleAZOw== + +"@esbuild/linux-mips64el@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.2.tgz#5c76d385d68189336b78dfc933a77d13465eee5c" + integrity sha512-YwMpV41qIKRHASV4MaaA/PKk9CoZ4QyVyPXhUtLTO9kPWtWECRI4MTBrGIb9kGUpL6I+jiT4fAZn8YpWSGBkQg== + +"@esbuild/linux-ppc64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.2.tgz#db567dd114122bcb034910d79000ea9cca9db897" + integrity sha512-s4YuINcRxCA9TElEf2iBdG6oZWdNu2Eb6R9TbRBcZOTdcgdBKIinaVyEiQ8H6nmCafWCuuJT8u66zds2ET3t1Q== + +"@esbuild/linux-riscv64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.2.tgz#72e1fd9cc9972e662fcef9138636bd1259c3cd3a" + integrity sha512-oacL6QGqVRhBCbBlFxODYfcCkB6tPmfanaWnsuHNI7m9LVkBuuDKpsC3XWOwkEQiLIJcvhhZKOkkgw49KxS1Dw== + +"@esbuild/linux-s390x@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.2.tgz#b0fd46338d0b4906cfc7e9c4b1850960432f2f7a" + integrity sha512-5ifr0lshZbLI457Qe6y3MsDYv1cSOJ8awgi0HT14cS59WliT7bDkrr3kmDw/LqGOAPyDvDD+U8s2cFBSENetuA== + +"@esbuild/linux-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.2.tgz#f323afb5e3f433093078dbfa261e8148970ada20" + integrity sha512-TA/ORYlP6h2pfB/dzrPTMFWd1MaUYy7kwblWdzwkUtsTAJAKJlZwBhkKftSaUNNU5wtXNJ9+ucMDf7vBPbDjlw== + +"@esbuild/netbsd-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.2.tgz#fa5c5ad79bbadfbd741423ee4ab22d2b0c55143f" + integrity sha512-oBH2Aj4fL9FLlkIi2wYGckydKHVKmYrqiqt91i6kFE1mF7B05YYttrlOHAf3JzWIJQWyvzvsmoA/XFPf1sTgBw== + +"@esbuild/openbsd-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.2.tgz#a20232bdb2ed8731294bed401cbf0e10dada4540" + integrity sha512-eKOpYr7CiF9GZxu18iOQGfzQ4htO6KGhXriW2raJvRO0G27Lu7ArAI/kW71yTPaFqlf9gCmCGaTPr2tmiUePVg== + +"@esbuild/sunos-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.2.tgz#d57d9b3121b028dcee8d7ec556b514a0545872c9" + integrity sha512-1HsQLVnjhlscekE8H5Xj49xPvd0c74eoZEjh+OUnr+x7vCXdTVdFDgao9QM0H9zfioxJN1ZH7534LwxEaAWaIA== + +"@esbuild/win32-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.2.tgz#a548cff2e5bcd5cdfe1431320b9fee81440d26f1" + integrity sha512-G9AWjsnVxGQj8z0WgaDwTKgXzwc9zLPYDFoLE4oAGI/TQnft0eQjc+CKiWRyoa+a/c3XIFGXoWnW+17kbibSfA== + +"@esbuild/win32-ia32@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.2.tgz#8f96eb33303344ec70460a44d3189b673e29cf5b" + integrity sha512-UJqmfPsiSX/wP1kY5JMordRqNU2r8n8ieXmNimp4r35sQEX3bjnSkPJ2E8BM8W8ecmEL+oDjYjulkTT3zSPa1g== + +"@esbuild/win32-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.2.tgz#01350ef54fb4b2a0b423072d30deceaa5c1c529e" + integrity sha512-1+PQiGAbbGlIXXlp9i/5JRpodCsozGTjffaD4W1LgeoynWef38VD8NNC8yG366NYXHHHLR1pN6MQZ9r2na/S1A== "@eslint/eslintrc@^1.3.3": version "1.3.3" @@ -1455,7 +1555,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -2557,15 +2657,6 @@ is-module "^1.0.0" resolve "^1.22.1" -"@rollup/pluginutils@^3.0.9": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - "@rollup/pluginutils@^5.0.1": version "5.0.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" @@ -2762,11 +2853,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - "@types/estree@^0.0.51": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" @@ -3172,14 +3258,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz#ffa505cf961d4844d38cfa19dcec4973a6039e41" - integrity sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA== +"@typescript-eslint/eslint-plugin@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz#9a96a713b9616c783501a3c1774c9e2b40217ad0" + integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== dependencies: - "@typescript-eslint/scope-manager" "5.45.0" - "@typescript-eslint/type-utils" "5.45.0" - "@typescript-eslint/utils" "5.45.0" + "@typescript-eslint/scope-manager" "5.46.0" + "@typescript-eslint/type-utils" "5.46.0" + "@typescript-eslint/utils" "5.46.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3187,72 +3273,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.45.0.tgz#b18a5f6b3cf1c2b3e399e9d2df4be40d6b0ddd0e" - integrity sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ== +"@typescript-eslint/parser@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.0.tgz#002d8e67122947922a62547acfed3347cbf2c0b6" + integrity sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA== dependencies: - "@typescript-eslint/scope-manager" "5.45.0" - "@typescript-eslint/types" "5.45.0" - "@typescript-eslint/typescript-estree" "5.45.0" + "@typescript-eslint/scope-manager" "5.46.0" + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/typescript-estree" "5.46.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz#7a4ac1bfa9544bff3f620ab85947945938319a96" - integrity sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw== +"@typescript-eslint/scope-manager@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz#60790b14d0c687dd633b22b8121374764f76ce0d" + integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== dependencies: - "@typescript-eslint/types" "5.45.0" - "@typescript-eslint/visitor-keys" "5.45.0" + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/visitor-keys" "5.46.0" -"@typescript-eslint/type-utils@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz#aefbc954c40878fcebeabfb77d20d84a3da3a8b2" - integrity sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q== +"@typescript-eslint/type-utils@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz#3a4507b3b437e2fd9e95c3e5eea5ae16f79d64b3" + integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== dependencies: - "@typescript-eslint/typescript-estree" "5.45.0" - "@typescript-eslint/utils" "5.45.0" + "@typescript-eslint/typescript-estree" "5.46.0" + "@typescript-eslint/utils" "5.46.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5" - integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA== +"@typescript-eslint/types@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.0.tgz#f4d76622a996b88153bbd829ea9ccb9f7a5d28bc" + integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== -"@typescript-eslint/typescript-estree@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz#f70a0d646d7f38c0dfd6936a5e171a77f1e5291d" - integrity sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ== +"@typescript-eslint/typescript-estree@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz#a6c2b84b9351f78209a1d1f2d99ca553f7fa29a5" + integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== dependencies: - "@typescript-eslint/types" "5.45.0" - "@typescript-eslint/visitor-keys" "5.45.0" + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/visitor-keys" "5.46.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.0.tgz#9cca2996eee1b8615485a6918a5c763629c7acf5" - integrity sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA== +"@typescript-eslint/utils@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.0.tgz#600cd873ba471b7d8b0b9f35de34cf852c6fcb31" + integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.45.0" - "@typescript-eslint/types" "5.45.0" - "@typescript-eslint/typescript-estree" "5.45.0" + "@typescript-eslint/scope-manager" "5.46.0" + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/typescript-estree" "5.46.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.45.0": - version "5.45.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz#e0d160e9e7fdb7f8da697a5b78e7a14a22a70528" - integrity sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg== +"@typescript-eslint/visitor-keys@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz#36d87248ae20c61ef72404bcd61f14aa2563915f" + integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== dependencies: - "@typescript-eslint/types" "5.45.0" + "@typescript-eslint/types" "5.46.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3760,11 +3846,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" @@ -4161,6 +4242,25 @@ cacache@17.0.2, cacache@^17.0.0: tar "^6.1.11" unique-filename "^3.0.0" +cacache@17.0.3: + version "17.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.3.tgz#9ba14e0e50eca763ae7e2ee89036a948a13035ed" + integrity sha512-pwsIK/grdM0cHpfVaNFxMdzElBtLJGsVPE+JnxqXP1l40O01Z1mfDE8MbRTuwomGq/UwEtGisOylutOEVJxEqg== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + lru-cache "^7.7.1" + minipass "^4.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -4557,6 +4657,11 @@ convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -4783,11 +4888,6 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -5257,211 +5357,111 @@ esbuild-android-64@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" integrity sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA== -esbuild-android-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" - integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== - esbuild-android-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" integrity sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg== -esbuild-android-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" - integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== - esbuild-darwin-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" integrity sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g== -esbuild-darwin-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" - integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== - esbuild-darwin-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" integrity sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw== -esbuild-darwin-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" - integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== - esbuild-freebsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" integrity sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ== -esbuild-freebsd-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" - integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== - esbuild-freebsd-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" integrity sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g== -esbuild-freebsd-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" - integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== - esbuild-linux-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" integrity sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w== -esbuild-linux-32@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" - integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== - esbuild-linux-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" integrity sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g== -esbuild-linux-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" - integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== - esbuild-linux-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" integrity sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A== -esbuild-linux-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" - integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== - esbuild-linux-arm@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" integrity sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ== -esbuild-linux-arm@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" - integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== - esbuild-linux-mips64le@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" integrity sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A== -esbuild-linux-mips64le@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" - integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== - esbuild-linux-ppc64le@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" integrity sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA== -esbuild-linux-ppc64le@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" - integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== - esbuild-linux-riscv64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" integrity sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw== -esbuild-linux-riscv64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" - integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== - esbuild-linux-s390x@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" integrity sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w== -esbuild-linux-s390x@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" - integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== - esbuild-netbsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" integrity sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg== -esbuild-netbsd-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" - integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== - esbuild-openbsd-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" integrity sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA== -esbuild-openbsd-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" - integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== - esbuild-sunos-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" integrity sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ== -esbuild-sunos-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" - integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== - esbuild-wasm@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== -esbuild-wasm@^0.15.9: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.18.tgz#447f0f9555597002a289e4109937ec1f6fde45ef" - integrity sha512-Bw80Siy8XJi6UIR9f0T5SkMIkiVgvFZgHaOZAQCDcZct6Lj5kBZtpACpDhqfdTUzoDyk7pBn4xEft/T5+0tlXw== +esbuild-wasm@0.16.2, esbuild-wasm@^0.16.0: + version "0.16.2" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" + integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== esbuild-windows-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" integrity sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ== -esbuild-windows-32@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" - integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== - esbuild-windows-64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" integrity sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw== -esbuild-windows-64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" - integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== - esbuild-windows-arm64@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" integrity sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA== -esbuild-windows-arm64@0.15.18: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" - integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== - esbuild@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.16.tgz#59324e5667985bf6aee8a91ea576baef6872cf21" @@ -5490,33 +5490,33 @@ esbuild@0.15.16: esbuild-windows-64 "0.15.16" esbuild-windows-arm64 "0.15.16" -esbuild@^0.15.9: - version "0.15.18" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" - integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== +esbuild@0.16.2, esbuild@^0.16.0: + version "0.16.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.2.tgz#5d864a37c12a8b19340ead348b2cd51b096bbde8" + integrity sha512-Rv/CJquZKE00irDLDpk9jmWmtxx1NW+MGpBbNNouaDY0oBwk806uJ51WpLaJBQUxhZqLauX2rrNol5lVQceHJw== optionalDependencies: - "@esbuild/android-arm" "0.15.18" - "@esbuild/linux-loong64" "0.15.18" - esbuild-android-64 "0.15.18" - esbuild-android-arm64 "0.15.18" - esbuild-darwin-64 "0.15.18" - esbuild-darwin-arm64 "0.15.18" - esbuild-freebsd-64 "0.15.18" - esbuild-freebsd-arm64 "0.15.18" - esbuild-linux-32 "0.15.18" - esbuild-linux-64 "0.15.18" - esbuild-linux-arm "0.15.18" - esbuild-linux-arm64 "0.15.18" - esbuild-linux-mips64le "0.15.18" - esbuild-linux-ppc64le "0.15.18" - esbuild-linux-riscv64 "0.15.18" - esbuild-linux-s390x "0.15.18" - esbuild-netbsd-64 "0.15.18" - esbuild-openbsd-64 "0.15.18" - esbuild-sunos-64 "0.15.18" - esbuild-windows-32 "0.15.18" - esbuild-windows-64 "0.15.18" - esbuild-windows-arm64 "0.15.18" + "@esbuild/android-arm" "0.16.2" + "@esbuild/android-arm64" "0.16.2" + "@esbuild/android-x64" "0.16.2" + "@esbuild/darwin-arm64" "0.16.2" + "@esbuild/darwin-x64" "0.16.2" + "@esbuild/freebsd-arm64" "0.16.2" + "@esbuild/freebsd-x64" "0.16.2" + "@esbuild/linux-arm" "0.16.2" + "@esbuild/linux-arm64" "0.16.2" + "@esbuild/linux-ia32" "0.16.2" + "@esbuild/linux-loong64" "0.16.2" + "@esbuild/linux-mips64el" "0.16.2" + "@esbuild/linux-ppc64" "0.16.2" + "@esbuild/linux-riscv64" "0.16.2" + "@esbuild/linux-s390x" "0.16.2" + "@esbuild/linux-x64" "0.16.2" + "@esbuild/netbsd-x64" "0.16.2" + "@esbuild/openbsd-x64" "0.16.2" + "@esbuild/sunos-x64" "0.16.2" + "@esbuild/win32-arm64" "0.16.2" + "@esbuild/win32-ia32" "0.16.2" + "@esbuild/win32-x64" "0.16.2" escalade@^3.1.1: version "3.1.1" @@ -5639,10 +5639,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.28.0: - version "8.28.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.28.0.tgz#81a680732634677cc890134bcdd9fdfea8e63d6e" - integrity sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ== +eslint@8.29.0: + version "8.29.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87" + integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg== dependencies: "@eslint/eslintrc" "^1.3.3" "@humanwhocodes/config-array" "^0.11.6" @@ -5727,11 +5727,6 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" @@ -7853,6 +7848,13 @@ magic-string@0.26.7, magic-string@^0.26.0: dependencies: sourcemap-codec "^1.4.8" +magic-string@0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + magic-string@^0.22.4: version "0.22.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" @@ -8039,6 +8041,13 @@ mini-css-extract-plugin@2.7.1: dependencies: schema-utils "^4.0.0" +mini-css-extract-plugin@2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz#e049d3ea7d3e4e773aad585c6cb329ce0c7b72d7" + integrity sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw== + dependencies: + schema-utils "^4.0.0" + minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -8142,6 +8151,13 @@ minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6, minipass@^3.3.5: dependencies: yallist "^4.0.0" +minipass@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.0.tgz#7cebb0f9fa7d56f0c5b17853cbe28838a8dbbd3b" + integrity sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw== + dependencies: + yallist "^4.0.0" + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -8262,10 +8278,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.1.tgz#bbb2e05658fb4368002e83f71fd4ca68fe1ece92" - integrity sha512-O0e0mf88XVyWAt69YJivjzC5jJVurwLHHpNxdZNZDvqt05N7SfCJI1HAbRbGBvpWmSYTgAnmdjF3XEpPgAd0EA== +ng-packagr@15.0.2: + version "15.0.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.2.tgz#dcff97c8b6ccb998ac49396293b0bd00223b3156" + integrity sha512-cQ0Tna1s0BBvXzrsqk6biwrkOO1iHlxj278Jekm+3XPfXU8mjddkXkF2BsKnjcZsDew3nqFYxEU4wFx3dgh+wg== dependencies: "@rollup/plugin-json" "^5.0.0" "@rollup/plugin-node-resolve" "^15.0.0" @@ -8276,8 +8292,9 @@ ng-packagr@15.0.1: cacache "^17.0.0" chokidar "^3.5.3" commander "^9.4.0" + convert-source-map "^2.0.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.15.9" + esbuild-wasm "^0.16.0" find-cache-dir "^3.3.2" glob "^8.0.3" injection-js "^2.4.0" @@ -8287,11 +8304,10 @@ ng-packagr@15.0.1: postcss "^8.4.16" postcss-url "^10.1.3" rollup "^3.0.0" - rollup-plugin-sourcemaps "^0.6.3" rxjs "^7.5.6" sass "^1.55.0" optionalDependencies: - esbuild "^0.15.9" + esbuild "^0.16.0" nice-napi@^1.0.2: version "1.0.2" @@ -8876,10 +8892,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@15.0.6: - version "15.0.6" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.6.tgz#8c498b5c23270da4f4c87f7eeba0248a3ae61342" - integrity sha512-dQwcz/sME7QIL+cdrw/jftQfMMXxSo17i2kJ/gnhBhUvvBAsxoBu1lw9B5IzCH/Ce8CvEkG/QYZ6txzKfn0bTw== +pacote@15.0.7: + version "15.0.7" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.7.tgz#8f68210e4c973d01d8f4b524926e47189cebd756" + integrity sha512-OFf4dl3SM1PpsZvi1zk4vvMA0EplnyO0Ajbrtoyx6E3dXOWBoPnMapnLgQdInEfqPkNT8mrd2bY6c5t8JZ69sQ== dependencies: "@npmcli/git" "^4.0.0" "@npmcli/installed-package-contents" "^2.0.1" @@ -8887,7 +8903,7 @@ pacote@15.0.6: "@npmcli/run-script" "^6.0.0" cacache "^17.0.0" fs-minipass "^2.1.0" - minipass "^3.1.6" + minipass "^4.0.0" npm-package-arg "^10.0.0" npm-packlist "^7.0.0" npm-pick-manifest "^8.0.0" @@ -9061,7 +9077,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -9910,14 +9926,6 @@ rimraf@~2.4.0: dependencies: glob "^6.0.1" -rollup-plugin-sourcemaps@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" - integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== - dependencies: - "@rollup/pluginutils" "^3.0.9" - source-map-resolve "^0.6.0" - rollup@^3.0.0: version "3.6.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.6.0.tgz#2bff14b8680747fbb0228d102607d6a6e21859d7" @@ -10358,14 +10366,6 @@ source-map-loader@4.0.1: iconv-lite "^0.6.3" source-map-js "^1.0.2" -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - source-map-support@0.5.21, source-map-support@^0.5.5, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -10777,7 +10777,7 @@ terser@5.16.0: commander "^2.20.0" source-map-support "~0.5.20" -terser@^5.14.1: +terser@5.16.1, terser@^5.14.1: version "5.16.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== From 786917393aaac78b0d7134ad5549904cc72b460c Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Thu, 8 Dec 2022 12:11:20 -0800 Subject: [PATCH 1205/1388] release: cut the v15.1.0-next.2 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1f810928821..e9fb603f9d2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 15.1.0-next.2 (2022-12-08) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | +| [5b18ce154](https://github.com/angular/angular-cli/commit/5b18ce1545d047d49851a64e81a1f8ef59624ef7) | feat | add `guardType` as an alias of `implements` in guard schematic | +| [49b313f27](https://github.com/angular/angular-cli/commit/49b313f27adef6300063c9d6817d1454a8657fe2) | fix | add missing import for functional interceptor spec | +| [2f92fe7e5](https://github.com/angular/angular-cli/commit/2f92fe7e589705b282102271897454ea852c4814) | fix | add missing semicolon in functional guard/resolver/interceptor | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [97716969c](https://github.com/angular/angular-cli/commit/97716969c243d65e385dcd78f5035d2c13f0258b) | fix | default preserve symlinks to Node.js value for esbuild | +| [cf2f30afc](https://github.com/angular/angular-cli/commit/cf2f30afc0ad0ceae34c457955a22186bc5ce60d) | fix | downlevel class fields with Safari <= v15 for esbuild | +| [25eaaa24b](https://github.com/angular/angular-cli/commit/25eaaa24b51af400262b97b4d4be2391ebd4a82d) | fix | downlevel class properties when targeting Safari <=v15 | +| [7a063238b](https://github.com/angular/angular-cli/commit/7a063238b83eea8b5b3237fed12db5528d1f6912) | fix | explicitly send options to JS transformer workers | +| [ef99a68b4](https://github.com/angular/angular-cli/commit/ef99a68b46c992c1988c5ca4c6fb066e89762d64) | fix | prevent optimization adding unsupported ECMASCript features | + +## Special Thanks + +Alan Agius, Charles Lyding, Cédric Exbrayat, Dominic Elm, Doug Parker and Paul Gschwendtner + + + # 15.0.3 (2022-12-07) diff --git a/package.json b/package.json index 8d6f790c148d..23e032046853 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.1.0-next.1", + "version": "15.1.0-next.2", "private": true, "description": "Software Development Kit for Angular", "bin": { From 207358afb89e6515cb8d73f5a3a63d9101e80d97 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Dec 2022 16:33:51 +0000 Subject: [PATCH 1206/1388] feat(@angular-devkit/schematics): add `runSchematic` and `runExternalSchematic` methods These async methods are a replacement for the Observable based `runSchematicAsync` and `runExternalSchematicAsync` methods. DEPRECATED: The Observable based `SchematicTestRunner.runSchematicAsync` and `SchematicTestRunner.runExternalSchematicAsync` method have been deprecated in favor of the Promise based `SchematicTestRunner.runSchematic` and `SchematicTestRunner.runExternalSchematic`. --- .../schematics/testing/index.md | 4 + .../commands/update/schematic/index_spec.ts | 263 +++++++----------- packages/angular/pwa/pwa/index_spec.ts | 49 ++-- .../build_angular/src/builders/karma/index.ts | 4 +- .../testing/schematic-test-runner.ts | 46 ++- .../src/__name@dasherize__/index_spec.ts | 4 +- .../files/src/my-full-schematic/index_spec.ts | 6 +- .../src/my-other-schematic/index_spec.ts | 2 +- .../files/src/my-schematic/index_spec.ts | 2 +- .../angular/app-shell/index_spec.ts | 66 ++--- .../angular/application/index_spec.ts | 215 ++++++-------- .../schematics/angular/class/index_spec.ts | 30 +- .../angular/component/index_spec.ts | 97 ++++--- .../angular/directive/index_spec.ts | 41 ++- packages/schematics/angular/e2e/index_spec.ts | 48 ++-- .../schematics/angular/enum/index_spec.ts | 26 +- .../schematics/angular/guard/index_spec.ts | 39 ++- .../angular/interceptor/index_spec.ts | 39 +-- .../angular/interface/index_spec.ts | 20 +- .../schematics/angular/library/index_spec.ts | 189 ++++++------- .../remove-browserslist-config_spec.ts | 12 +- .../remove-platform-server-exports_spec.ts | 8 +- .../update-15/update-karma-main-file_spec.ts | 4 +- .../update-typescript-target_spec.ts | 10 +- .../update-15/update-workspace-config_spec.ts | 4 +- .../schematics/angular/module/index_spec.ts | 144 +++++----- .../schematics/angular/ng-new/index_spec.ts | 19 +- .../schematics/angular/pipe/index_spec.ts | 46 ++- .../schematics/angular/resolver/index_spec.ts | 34 ++- .../angular/service-worker/index_spec.ts | 62 ++--- .../schematics/angular/service/index_spec.ts | 16 +- .../angular/universal/index_spec.ts | 74 ++--- .../angular/web-worker/index_spec.ts | 31 +-- .../angular/workspace/index_spec.ts | 42 +-- 34 files changed, 725 insertions(+), 971 deletions(-) diff --git a/goldens/public-api/angular_devkit/schematics/testing/index.md b/goldens/public-api/angular_devkit/schematics/testing/index.md index 854dbd7728b0..52b1cdb763df 100644 --- a/goldens/public-api/angular_devkit/schematics/testing/index.md +++ b/goldens/public-api/angular_devkit/schematics/testing/index.md @@ -25,8 +25,12 @@ export class SchematicTestRunner { // (undocumented) registerCollection(collectionName: string, collectionPath: string): void; // (undocumented) + runExternalSchematic(collectionName: string, schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Promise; + // @deprecated (undocumented) runExternalSchematicAsync(collectionName: string, schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Observable; // (undocumented) + runSchematic(schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Promise; + // @deprecated (undocumented) runSchematicAsync(schematicName: string, opts?: SchematicSchemaT, tree?: Tree_2): Observable; // (undocumented) get tasks(): TaskConfiguration[]; diff --git a/packages/angular/cli/src/commands/update/schematic/index_spec.ts b/packages/angular/cli/src/commands/update/schematic/index_spec.ts index c133647bb2a3..19197195cb4b 100644 --- a/packages/angular/cli/src/commands/update/schematic/index_spec.ts +++ b/packages/angular/cli/src/commands/update/schematic/index_spec.ts @@ -9,7 +9,6 @@ import { normalize, virtualFs } from '@angular-devkit/core'; import { HostTree } from '@angular-devkit/schematics'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; -import { map } from 'rxjs/operators'; import * as semver from 'semver'; import { angularMajorCompatGuarantee } from './index'; @@ -51,8 +50,8 @@ describe('@schematics/update', () => { appTree = new UnitTestTree(new HostTree(host)); }); - it('ignores dependencies not hosted on the NPM registry', (done) => { - const tree = new UnitTestTree( + it('ignores dependencies not hosted on the NPM registry', async () => { + let newTree = new UnitTestTree( new HostTree( new virtualFs.test.TestHost({ '/package.json': `{ @@ -65,22 +64,15 @@ describe('@schematics/update', () => { ), ); - schematicRunner - .runSchematicAsync('update', undefined, tree) - .pipe( - map((t) => { - const packageJson = JSON.parse(t.readContent('/package.json')); - expect(packageJson['dependencies']['@angular-devkit-tests/update-base']).toBe( - 'file:update-base-1.0.0.tgz', - ); - }), - ) - .toPromise() - .then(done, done.fail); + newTree = await schematicRunner.runSchematic('update', undefined, newTree); + const packageJson = JSON.parse(newTree.readContent('/package.json')); + expect(packageJson['dependencies']['@angular-devkit-tests/update-base']).toBe( + 'file:update-base-1.0.0.tgz', + ); }, 45000); it('should not error with yarn 2.0 protocols', async () => { - const tree = new UnitTestTree( + let newTree = new UnitTestTree( new HostTree( new virtualFs.test.TestHost({ '/package.json': `{ @@ -94,20 +86,18 @@ describe('@schematics/update', () => { ), ); - const newTree = await schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular-devkit-tests/update-base'], - }, - tree, - ) - .toPromise(); + newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular-devkit-tests/update-base'], + }, + newTree, + ); const { dependencies } = JSON.parse(newTree.readContent('/package.json')); expect(dependencies['@angular-devkit-tests/update-base']).toBe('1.1.0'); }); - it('updates Angular as compatible with Angular N-1', (done) => { + it('updates Angular as compatible with Angular N-1', async () => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); const packageJson = JSON.parse(content); @@ -121,25 +111,18 @@ describe('@schematics/update', () => { virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), ); - schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular/core@^6.0.0'], - }, - appTree, - ) - .pipe( - map((tree) => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular/core'][0]).toBe('6'); - }), - ) - .toPromise() - .then(done, done.fail); + const newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular/core@^6.0.0'], + }, + appTree, + ); + const newPpackageJson = JSON.parse(newTree.readContent('/package.json')); + expect(newPpackageJson['dependencies']['@angular/core'][0]).toBe('6'); }, 45000); - it('updates Angular as compatible with Angular N-1 (2)', (done) => { + it('updates Angular as compatible with Angular N-1 (2)', async () => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); const packageJson = JSON.parse(content); @@ -159,25 +142,19 @@ describe('@schematics/update', () => { virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), ); - schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular/core@^6.0.0'], - }, - appTree, - ) - .pipe( - map((tree) => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular/core'][0]).toBe('6'); - expect(packageJson['dependencies']['rxjs'][0]).toBe('6'); - expect(packageJson['dependencies']['typescript'][0]).toBe('2'); - expect(packageJson['dependencies']['typescript'][2]).not.toBe('4'); - }), - ) - .toPromise() - .then(done, done.fail); + const newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular/core@^6.0.0'], + }, + appTree, + ); + + const newPackageJson = JSON.parse(newTree.readContent('/package.json')); + expect(newPackageJson['dependencies']['@angular/core'][0]).toBe('6'); + expect(newPackageJson['dependencies']['rxjs'][0]).toBe('6'); + expect(newPackageJson['dependencies']['typescript'][0]).toBe('2'); + expect(newPackageJson['dependencies']['typescript'][2]).not.toBe('4'); }, 45000); it('uses packageGroup for versioning', async () => { @@ -192,26 +169,19 @@ describe('@schematics/update', () => { virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), ); - await schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular-devkit-tests/update-package-group-1'], - }, - appTree, - ) - .pipe( - map((tree) => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - const deps = packageJson['dependencies']; - expect(deps['@angular-devkit-tests/update-package-group-1']).toBe('1.2.0'); - expect(deps['@angular-devkit-tests/update-package-group-2']).toBe('2.0.0'); - }), - ) - .toPromise(); + const newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular-devkit-tests/update-package-group-1'], + }, + appTree, + ); + const { dependencies: deps } = JSON.parse(newTree.readContent('/package.json')); + expect(deps['@angular-devkit-tests/update-package-group-1']).toBe('1.2.0'); + expect(deps['@angular-devkit-tests/update-package-group-2']).toBe('2.0.0'); }, 45000); - it('can migrate only', (done) => { + it('can migrate only', async () => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); const packageJson = JSON.parse(content); @@ -221,29 +191,21 @@ describe('@schematics/update', () => { virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), ); - schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular-devkit-tests/update-migrations'], - migrateOnly: true, - }, - appTree, - ) - .pipe( - map((tree) => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular-devkit-tests/update-base']).toBe('1.0.0'); - expect(packageJson['dependencies']['@angular-devkit-tests/update-migrations']).toBe( - '1.0.0', - ); - }), - ) - .toPromise() - .then(done, done.fail); + const newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular-devkit-tests/update-migrations'], + migrateOnly: true, + }, + appTree, + ); + + const newPackageJson = JSON.parse(newTree.readContent('/package.json')); + expect(newPackageJson['dependencies']['@angular-devkit-tests/update-base']).toBe('1.0.0'); + expect(newPackageJson['dependencies']['@angular-devkit-tests/update-migrations']).toBe('1.0.0'); }, 45000); - it('can migrate from only', (done) => { + it('can migrate from only', async () => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); const packageJson = JSON.parse(content); @@ -253,29 +215,20 @@ describe('@schematics/update', () => { virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), ); - schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular-devkit-tests/update-migrations'], - migrateOnly: true, - from: '0.1.2', - }, - appTree, - ) - .pipe( - map((tree) => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular-devkit-tests/update-migrations']).toBe( - '1.6.0', - ); - }), - ) - .toPromise() - .then(done, done.fail); + const newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular-devkit-tests/update-migrations'], + migrateOnly: true, + from: '0.1.2', + }, + appTree, + ); + const { dependencies } = JSON.parse(newTree.readContent('/package.json')); + expect(dependencies['@angular-devkit-tests/update-migrations']).toBe('1.6.0'); }, 45000); - it('can install and migrate with --from (short version number)', (done) => { + it('can install and migrate with --from (short version number)', async () => { // Add the basic migration package. const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); const packageJson = JSON.parse(content); @@ -285,29 +238,20 @@ describe('@schematics/update', () => { virtualFs.stringToFileBuffer(JSON.stringify(packageJson)), ); - schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular-devkit-tests/update-migrations'], - migrateOnly: true, - from: '0', - }, - appTree, - ) - .pipe( - map((tree) => { - const packageJson = JSON.parse(tree.readContent('/package.json')); - expect(packageJson['dependencies']['@angular-devkit-tests/update-migrations']).toBe( - '1.6.0', - ); - }), - ) - .toPromise() - .then(done, done.fail); + const newTree = await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular-devkit-tests/update-migrations'], + migrateOnly: true, + from: '0', + }, + appTree, + ); + const { dependencies } = JSON.parse(newTree.readContent('/package.json')); + expect(dependencies['@angular-devkit-tests/update-migrations']).toBe('1.6.0'); }, 45000); - it('validates peer dependencies', (done) => { + it('validates peer dependencies', async () => { const content = virtualFs.fileBufferToString(host.sync.read(normalize('/package.json'))); const packageJson = JSON.parse(content); const dependencies = packageJson['dependencies']; @@ -326,27 +270,16 @@ describe('@schematics/update', () => { const hasPeerdepMsg = (dep: string) => messages.some((str) => str.includes(`missing peer dependency of "${dep}"`)); - schematicRunner - .runSchematicAsync( - 'update', - { - packages: ['@angular-devkit/build-angular'], - next: true, - }, - appTree, - ) - .pipe( - map(() => { - expect(hasPeerdepMsg('@angular/compiler-cli')).toBeTruthy( - `Should show @angular/compiler-cli message.`, - ); - expect(hasPeerdepMsg('typescript')).toBeTruthy(`Should show typescript message.`); - expect(hasPeerdepMsg('@angular/localize')).toBeFalsy( - `Should not show @angular/localize message.`, - ); - }), - ) - .toPromise() - .then(done, done.fail); + await schematicRunner.runSchematic( + 'update', + { + packages: ['@angular-devkit/build-angular'], + next: true, + }, + appTree, + ); + expect(hasPeerdepMsg('@angular/compiler-cli')).toBeTruthy(); + expect(hasPeerdepMsg('typescript')).toBeTruthy(); + expect(hasPeerdepMsg('@angular/localize')).toBeFalsy(); }, 45000); }); diff --git a/packages/angular/pwa/pwa/index_spec.ts b/packages/angular/pwa/pwa/index_spec.ts index 35d0a47026a3..9657b0493b31 100644 --- a/packages/angular/pwa/pwa/index_spec.ts +++ b/packages/angular/pwa/pwa/index_spec.ts @@ -39,18 +39,23 @@ describe('PWA Schematic', () => { }; beforeEach(async () => { - appTree = await schematicRunner - .runExternalSchematicAsync('@schematics/angular', 'workspace', workspaceOptions) - .toPromise(); - appTree = await schematicRunner - .runExternalSchematicAsync('@schematics/angular', 'application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runExternalSchematic( + '@schematics/angular', + 'workspace', + workspaceOptions, + ); + appTree = await schematicRunner.runExternalSchematic( + '@schematics/angular', + 'application', + appOptions, + appTree, + ); }); it('should run the service worker schematic', (done) => { schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { const configText = tree.readContent('/angular.json'); const config = JSON.parse(configText); @@ -64,8 +69,8 @@ describe('PWA Schematic', () => { const dimensions = [72, 96, 128, 144, 152, 192, 384, 512]; const iconPath = '/projects/bar/src/assets/icons/icon-'; schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { dimensions.forEach((d) => { const path = `${iconPath}${d}x${d}.png`; @@ -77,8 +82,8 @@ describe('PWA Schematic', () => { it('should create a manifest file', (done) => { schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { expect(tree.exists('/projects/bar/src/manifest.webmanifest')).toEqual(true); done(); @@ -87,8 +92,8 @@ describe('PWA Schematic', () => { it('should set the name & short_name in the manifest file', (done) => { schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { const manifestText = tree.readContent('/projects/bar/src/manifest.webmanifest'); const manifest = JSON.parse(manifestText); @@ -102,8 +107,8 @@ describe('PWA Schematic', () => { it('should set the name & short_name in the manifest file when no title provided', (done) => { const options = { ...defaultOptions, title: undefined }; schematicRunner - .runSchematicAsync('ng-add', options, appTree) - .toPromise() + .runSchematic('ng-add', options, appTree) + .then((tree) => { const manifestText = tree.readContent('/projects/bar/src/manifest.webmanifest'); const manifest = JSON.parse(manifestText); @@ -116,8 +121,8 @@ describe('PWA Schematic', () => { it('should update the index file', (done) => { schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { const content = tree.readContent('projects/bar/src/index.html'); @@ -135,8 +140,8 @@ describe('PWA Schematic', () => { index = index.replace('', ''); appTree.overwrite('projects/bar/src/index.html', index); schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { const content = tree.readContent('projects/bar/src/index.html'); @@ -152,8 +157,8 @@ describe('PWA Schematic', () => { it('should update the build and test assets configuration', (done) => { schematicRunner - .runSchematicAsync('ng-add', defaultOptions, appTree) - .toPromise() + .runSchematic('ng-add', defaultOptions, appTree) + .then((tree) => { const configText = tree.readContent('/angular.json'); const config = JSON.parse(configText); diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 50da6fe0f24c..1d16eeba4753 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -176,7 +176,9 @@ export function execute( const karmaStart = karmaServer.start(); // Cleanup, signal Karma to exit. - return () => karmaStart.then(() => karmaServer.stop()); + return () => { + void karmaStart.then(() => karmaServer.stop()); + }; }), ), defaultIfEmpty({ success: false }), diff --git a/packages/angular_devkit/schematics/testing/schematic-test-runner.ts b/packages/angular_devkit/schematics/testing/schematic-test-runner.ts index f25ad49f72ac..a39cf0c5733b 100644 --- a/packages/angular_devkit/schematics/testing/schematic-test-runner.ts +++ b/packages/angular_devkit/schematics/testing/schematic-test-runner.ts @@ -7,8 +7,7 @@ */ import { logging, schema } from '@angular-devkit/core'; -import { Observable, of as observableOf } from 'rxjs'; -import { map } from 'rxjs/operators'; +import { Observable, from, of as observableOf } from 'rxjs'; import { Collection, DelegateTree, @@ -78,34 +77,57 @@ export class SchematicTestRunner { this._engineHost.registerCollection(collectionName, collectionPath); } - runSchematicAsync( + async runSchematic( schematicName: string, opts?: SchematicSchemaT, tree?: Tree, - ): Observable { + ): Promise { const schematic = this._collection.createSchematic(schematicName, true); const host = observableOf(tree || new HostTree()); this._engineHost.clearTasks(); - return schematic - .call(opts || {}, host, { logger: this._logger }) - .pipe(map((tree) => new UnitTestTree(tree))); + const newTree = await schematic.call(opts || {}, host, { logger: this._logger }).toPromise(); + + return new UnitTestTree(newTree); } - runExternalSchematicAsync( - collectionName: string, + /** + * @deprecated since version 15.1. Use `runSchematic` instead. + */ + runSchematicAsync( schematicName: string, opts?: SchematicSchemaT, tree?: Tree, ): Observable { + return from(this.runSchematic(schematicName, opts, tree)); + } + + async runExternalSchematic( + collectionName: string, + schematicName: string, + opts?: SchematicSchemaT, + tree?: Tree, + ): Promise { const externalCollection = this._engine.createCollection(collectionName); const schematic = externalCollection.createSchematic(schematicName, true); const host = observableOf(tree || new HostTree()); this._engineHost.clearTasks(); - return schematic - .call(opts || {}, host, { logger: this._logger }) - .pipe(map((tree) => new UnitTestTree(tree))); + const newTree = await schematic.call(opts || {}, host, { logger: this._logger }).toPromise(); + + return new UnitTestTree(newTree); + } + + /** + * @deprecated since version 15.1. Use `runExternalSchematic` instead. + */ + runExternalSchematicAsync( + collectionName: string, + schematicName: string, + opts?: SchematicSchemaT, + tree?: Tree, + ): Observable { + return from(this.runExternalSchematic(collectionName, schematicName, opts, tree)); } callRule(rule: Rule, tree: Tree, parentContext?: Partial): Observable { diff --git a/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index_spec.ts b/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index_spec.ts index 6583dd811719..2d092c8405d4 100644 --- a/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index_spec.ts +++ b/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index_spec.ts @@ -7,9 +7,7 @@ const collectionPath = path.join(__dirname, '../collection.json'); describe('<%= dasherize(name) %>', () => { it('works', async () => { const runner = new SchematicTestRunner('schematics', collectionPath); - const tree = await runner - .runSchematicAsync('<%= dasherize(name) %>', {}, Tree.empty()) - .toPromise(); + const tree = await runner.runSchematic('<%= dasherize(name) %>', {}, Tree.empty()); expect(tree.files).toEqual([]); }); diff --git a/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index_spec.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index_spec.ts index ed68aa713cbe..6d0a37b5c7d4 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index_spec.ts +++ b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index_spec.ts @@ -10,15 +10,13 @@ describe('my-full-schematic', () => { // We test that const runner = new SchematicTestRunner('schematics', collectionPath); await expectAsync( - runner.runSchematicAsync('my-full-schematic', {}, Tree.empty()).toPromise(), + runner.runSchematic('my-full-schematic', {}, Tree.empty()) ).toBeRejected(); }); it('works', async () => { const runner = new SchematicTestRunner('schematics', collectionPath); - const tree = await runner - .runSchematicAsync('my-full-schematic', { name: 'str' }, Tree.empty()) - .toPromise(); + const tree = await runner.runSchematic('my-full-schematic', { name: 'str' }, Tree.empty()); // Listing files expect(tree.files.sort()).toEqual(['/allo', '/hola', '/test1', '/test2']); diff --git a/packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index_spec.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index_spec.ts index a558c4e55d56..93219a3591cc 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index_spec.ts +++ b/packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index_spec.ts @@ -7,7 +7,7 @@ const collectionPath = path.join(__dirname, '../collection.json'); describe('my-other-schematic', () => { it('works', async () => { const runner = new SchematicTestRunner('schematics', collectionPath); - const tree = await runner.runSchematicAsync('my-other-schematic', {}, Tree.empty()).toPromise(); + const tree = await runner.runSchematic('my-other-schematic', {}, Tree.empty()); expect(tree.files.sort()).toEqual(['/allo', '/hola']); }); diff --git a/packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index_spec.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index_spec.ts index 7a2fc52cf632..d83584c6f36a 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index_spec.ts +++ b/packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index_spec.ts @@ -7,7 +7,7 @@ const collectionPath = path.join(__dirname, '../collection.json'); describe('my-schematic', () => { it('works', async () => { const runner = new SchematicTestRunner('schematics', collectionPath); - const tree = await runner.runSchematicAsync('my-schematic', {}, Tree.empty()).toPromise(); + const tree = await runner.runSchematic('my-schematic', {}, Tree.empty()); expect(tree.files).toEqual(['/hello']); }); diff --git a/packages/schematics/angular/app-shell/index_spec.ts b/packages/schematics/angular/app-shell/index_spec.ts index aa2e884eee82..b53a6efb74f8 100644 --- a/packages/schematics/angular/app-shell/index_spec.ts +++ b/packages/schematics/angular/app-shell/index_spec.ts @@ -37,34 +37,30 @@ describe('App Shell Schematic', () => { let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should ensure the client app has a router-outlet', async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', { ...appOptions, routing: false }, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic( + 'application', + { ...appOptions, routing: false }, + appTree, + ); await expectAsync( - schematicRunner.runSchematicAsync('app-shell', defaultOptions, appTree).toPromise(), + schematicRunner.runSchematic('app-shell', defaultOptions, appTree), ).toBeRejected(); }); it('should add a universal app', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.server.module.ts'; expect(tree.exists(filePath)).toEqual(true); }); it('should add app shell configuration', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/angular.json'; const content = tree.readContent(filePath); const workspace = JSON.parse(content); @@ -77,9 +73,7 @@ describe('App Shell Schematic', () => { }); it('should add router module to client app module', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch(/import { RouterModule } from '@angular\/router';/); @@ -90,9 +84,7 @@ describe('App Shell Schematic', () => { updateRecorder.insertLeft(0, "import { RouterModule } from '@angular/router';"); appTree.commitUpdate(updateRecorder); - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch(/import { RouterModule } from '@angular\/router';/); @@ -133,10 +125,7 @@ describe('App Shell Schematic', () => { it('should not re-add the router outlet (external template)', async () => { const htmlPath = '/projects/bar/src/app/app.component.html'; appTree.overwrite(htmlPath, ''); - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); - + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const content = tree.readContent(htmlPath); const matches = content.match(/<\/router-outlet>/g); const numMatches = matches ? matches.length : 0; @@ -145,9 +134,7 @@ describe('App Shell Schematic', () => { it('should not re-add the router outlet (inline template)', async () => { makeInlineTemplate(appTree, ''); - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const content = tree.readContent('/projects/bar/src/app/app.component.ts'); const matches = content.match(/<\/router-outlet>/g); const numMatches = matches ? matches.length : 0; @@ -156,43 +143,34 @@ describe('App Shell Schematic', () => { }); it('should add router imports to server module', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch(/import { Routes, RouterModule } from '@angular\/router';/); }); it('should work after adding nguniversal', async () => { - let tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); - + let tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); // change main tsconfig to mimic ng add for nguniveral const workspace = JSON.parse(appTree.readContent('/angular.json')); workspace.projects.bar.architect.server.options.main = 'server.ts'; appTree.overwrite('angular.json', JSON.stringify(workspace, undefined, 2)); - tree = await schematicRunner.runSchematicAsync('app-shell', defaultOptions, tree).toPromise(); + tree = await schematicRunner.runSchematic('app-shell', defaultOptions, tree); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch(/import { Routes, RouterModule } from '@angular\/router';/); }); it('should define a server route', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch(/const routes: Routes = \[/); }); it('should import RouterModule with forRoot', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.server.module.ts'; const content = tree.readContent(filePath); expect(content).toMatch( @@ -202,9 +180,7 @@ describe('App Shell Schematic', () => { }); it('should create the shell component', async () => { - const tree = await schematicRunner - .runSchematicAsync('app-shell', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('app-shell', defaultOptions, appTree); expect(tree.exists('/projects/bar/src/app/app-shell/app-shell.component.ts')).toBe(true); const content = tree.readContent('/projects/bar/src/app/app.server.module.ts'); expect(content).toMatch(/app-shell\.component/); diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index 5919b254b6a6..dfe649393bb9 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -37,17 +37,14 @@ describe('Application Schematic', () => { let workspaceTree: UnitTestTree; beforeEach(async () => { - workspaceTree = await schematicRunner - .runSchematicAsync('workspace', workspaceOptions) - .toPromise(); + workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); }); it('should create all files of an application', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -69,9 +66,8 @@ describe('Application Schematic', () => { it('should add the application to the workspace', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo).toBeDefined(); }); @@ -79,9 +75,8 @@ describe('Application Schematic', () => { it('should set the prefix to app if none is set', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo.prefix).toEqual('app'); }); @@ -89,9 +84,8 @@ describe('Application Schematic', () => { it('should set the prefix correctly', async () => { const options = { ...defaultOptions, prefix: 'pre' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo.prefix).toEqual('pre'); }); @@ -99,9 +93,8 @@ describe('Application Schematic', () => { it('should handle the routing flag', async () => { const options = { ...defaultOptions, routing: true }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const files = tree.files; expect(files).toContain('/projects/foo/src/app/app.module.ts'); expect(files).toContain('/projects/foo/src/app/app-routing.module.ts'); @@ -112,34 +105,31 @@ describe('Application Schematic', () => { }); it('should import BrowserModule in the app module', async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); + const path = '/projects/foo/src/app/app.module.ts'; const content = tree.readContent(path); expect(content).toMatch(/import { BrowserModule } from '@angular\/platform-browser';/); }); it('should declare app component in the app module', async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); + const path = '/projects/foo/src/app/app.module.ts'; const content = tree.readContent(path); expect(content).toMatch(/import { AppComponent } from '\.\/app\.component';/); }); it(`should set 'defaultEncapsulation' in main.ts when 'ViewEncapsulation' is provided`, async () => { - const tree = await schematicRunner - .runSchematicAsync( - 'application', - { - ...defaultOptions, - viewEncapsulation: ViewEncapsulation.ShadowDom, - }, - workspaceTree, - ) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'application', + { + ...defaultOptions, + viewEncapsulation: ViewEncapsulation.ShadowDom, + }, + workspaceTree, + ); + const path = '/projects/foo/src/main.ts'; const content = tree.readContent(path); expect(content).toContain('defaultEncapsulation: ViewEncapsulation.ShadowDom'); @@ -147,27 +137,24 @@ describe('Application Schematic', () => { }); it('should set the right paths in the tsconfig.app.json', async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); + const { files, extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.app.json'); expect(files).toEqual(['src/main.ts']); expect(_extends).toBe('../../tsconfig.json'); }); it('should set the right paths in the tsconfig.spec.json', async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); + const { extends: _extends } = readJsonFile(tree, '/projects/foo/tsconfig.spec.json'); expect(_extends).toBe('../../tsconfig.json'); }); it('should set the skipTests flag for other schematics when using --skipTests=true', async () => { const options: ApplicationOptions = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const schematics = config.projects.foo.schematics; @@ -183,9 +170,8 @@ describe('Application Schematic', () => { it('minimal=true should not create e2e and test targets', async () => { const options = { ...defaultOptions, minimal: true }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const architect = config.projects.foo.architect; expect(architect.test).not.toBeDefined(); @@ -194,9 +180,8 @@ describe('Application Schematic', () => { it('minimal=true should configure the schematics options for components', async () => { const options = { ...defaultOptions, minimal: true }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const schematics = config.projects.foo.schematics; expect(schematics['@schematics/angular:component']).toEqual({ @@ -208,9 +193,8 @@ describe('Application Schematic', () => { it('minimal=true allows inlineStyle=false when configuring the schematics options for components', async () => { const options = { ...defaultOptions, minimal: true, inlineStyle: false }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const schematics = config.projects.foo.schematics; expect(schematics['@schematics/angular:component']).toEqual({ @@ -221,9 +205,8 @@ describe('Application Schematic', () => { it('minimal=true allows inlineTemplate=false when configuring the schematics options for components', async () => { const options = { ...defaultOptions, minimal: true, inlineTemplate: false }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const schematics = config.projects.foo.schematics; expect(schematics['@schematics/angular:component']).toEqual({ @@ -234,9 +217,8 @@ describe('Application Schematic', () => { it('should create correct files when using minimal', async () => { const options = { ...defaultOptions, minimal: true }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const files = tree.files; [ '/projects/foo/tsconfig.spec.json', @@ -260,9 +242,8 @@ describe('Application Schematic', () => { it('should create correct files when using minimal and inlineStyle=false', async () => { const options = { ...defaultOptions, minimal: true, inlineStyle: false }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const files = tree.files; [ '/projects/foo/tsconfig.spec.json', @@ -288,9 +269,8 @@ describe('Application Schematic', () => { it('should create correct files when using minimal and inlineTemplate=false', async () => { const options = { ...defaultOptions, minimal: true, inlineTemplate: false }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const files = tree.files; [ '/projects/foo/tsconfig.spec.json', @@ -316,9 +296,7 @@ describe('Application Schematic', () => { describe(`update package.json`, () => { it(`should add build-angular to devDependencies`, async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); const packageJson = JSON.parse(tree.readContent('package.json')); expect(packageJson.devDependencies['@angular-devkit/build-angular']).toEqual( @@ -327,9 +305,8 @@ describe('Application Schematic', () => { }); it('should use the latest known versions in package.json', async () => { - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); + const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.devDependencies['@angular/compiler-cli']).toEqual(latestVersions.Angular); expect(pkg.devDependencies['typescript']).toEqual(latestVersions['typescript']); @@ -345,24 +322,21 @@ describe('Application Schematic', () => { ), ); - const tree = await schematicRunner - .runSchematicAsync('application', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', defaultOptions, workspaceTree); + const packageJson = JSON.parse(tree.readContent('package.json')); expect(packageJson.devDependencies.typescript).toEqual('~2.5.2'); }); it(`should not modify the file when --skipPackageJson`, async () => { - const tree = await schematicRunner - .runSchematicAsync( - 'application', - { - name: 'foo', - skipPackageJson: true, - }, - workspaceTree, - ) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'application', + { + name: 'foo', + skipPackageJson: true, + }, + workspaceTree, + ); const packageJson = JSON.parse(tree.readContent('package.json')); expect(packageJson.devDependencies['@angular-devkit/build-angular']).toBeUndefined(); @@ -373,9 +347,8 @@ describe('Application Schematic', () => { it('should put app files in the right spot', async () => { const options = { ...defaultOptions, projectRoot: '' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -397,9 +370,8 @@ describe('Application Schematic', () => { it('should set values in angular.json correctly', async () => { const options = { ...defaultOptions, projectRoot: '' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const prj = config.projects.foo; expect(prj.root).toEqual(''); @@ -417,9 +389,8 @@ describe('Application Schematic', () => { it('should set values in angular.json correctly when using a style preprocessor', async () => { const options = { ...defaultOptions, projectRoot: '', style: Style.Sass }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const prj = config.projects.foo; const buildOpt = prj.architect.build.options; @@ -431,9 +402,8 @@ describe('Application Schematic', () => { it('sets "inlineStyleLanguage" in angular.json when using a style preprocessor', async () => { const options = { ...defaultOptions, projectRoot: '', style: Style.Sass }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const prj = config.projects.foo; @@ -446,9 +416,8 @@ describe('Application Schematic', () => { it('does not set "inlineStyleLanguage" in angular.json when not using a style preprocessor', async () => { const options = { ...defaultOptions, projectRoot: '' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const prj = config.projects.foo; @@ -461,9 +430,8 @@ describe('Application Schematic', () => { it('does not set "inlineStyleLanguage" in angular.json when using CSS styles', async () => { const options = { ...defaultOptions, projectRoot: '', style: Style.Css }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const prj = config.projects.foo; @@ -476,9 +444,8 @@ describe('Application Schematic', () => { it('should set the relative tsconfig paths', async () => { const options = { ...defaultOptions, projectRoot: '' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const appTsConfig = readJsonFile(tree, '/tsconfig.app.json'); expect(appTsConfig.extends).toEqual('./tsconfig.json'); const specTsConfig = readJsonFile(tree, '/tsconfig.spec.json'); @@ -486,14 +453,14 @@ describe('Application Schematic', () => { }); it(`should create correct paths when 'newProjectRoot' is blank`, async () => { - const workspaceTree = await schematicRunner - .runSchematicAsync('workspace', { ...workspaceOptions, newProjectRoot: '' }) - .toPromise(); + const workspaceTree = await schematicRunner.runSchematic('workspace', { + ...workspaceOptions, + newProjectRoot: '', + }); const options = { ...defaultOptions, projectRoot: undefined }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const config = JSON.parse(tree.readContent('/angular.json')); const project = config.projects.foo; expect(project.root).toEqual('foo'); @@ -512,45 +479,39 @@ describe('Application Schematic', () => { it(`should create kebab-case project folder names with camelCase project name`, async () => { const options: ApplicationOptions = { ...defaultOptions, name: 'myCool' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const exists = tree.exists('/projects/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); it(`should create scoped kebab-case project folder names with camelCase project name`, async () => { const options: ApplicationOptions = { ...defaultOptions, name: '@foo/myCool' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const exists = tree.exists('/projects/foo/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); it(`should create kebab-case project folder names with PascalCase project name`, async () => { const options: ApplicationOptions = { ...defaultOptions, name: 'MyCool' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const exists = tree.exists('/projects/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); it(`should create scoped kebab-case project folder names with PascalCase project name`, async () => { const options: ApplicationOptions = { ...defaultOptions, name: '@foo/MyCool' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); + const exists = tree.exists('/projects/foo/my-cool/tsconfig.app.json'); expect(exists).toBeTrue(); }); it('should support creating applications with `_` and `.` in name', async () => { const options = { ...defaultOptions, name: 'foo.bar_buz' }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); expect(tree.exists('/projects/foo.bar_buz/tsconfig.app.json')).toBeTrue(); }); @@ -558,9 +519,7 @@ describe('Application Schematic', () => { it('should support creating scoped application', async () => { const scopedName = '@myscope/myapp'; const options = { ...defaultOptions, name: scopedName }; - const tree = await schematicRunner - .runSchematicAsync('application', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('application', options, workspaceTree); const cfg = JSON.parse(tree.readContent('/angular.json')); expect(cfg.projects['@myscope/myapp']).toBeDefined(); diff --git a/packages/schematics/angular/class/index_spec.ts b/packages/schematics/angular/class/index_spec.ts index 76428ae1dfb9..fd868126f59b 100644 --- a/packages/schematics/angular/class/index_spec.ts +++ b/packages/schematics/angular/class/index_spec.ts @@ -39,16 +39,13 @@ describe('Class Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create just the class file', async () => { - const tree = await schematicRunner - .runSchematicAsync('class', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('class', defaultOptions, appTree); + expect(tree.files).toContain('/projects/bar/src/app/foo.ts'); expect(tree.files).not.toContain('/projects/bar/src/app/foo.spec.ts'); }); @@ -58,15 +55,14 @@ describe('Class Schematic', () => { ...defaultOptions, skipTests: false, }; - const tree = await schematicRunner.runSchematicAsync('class', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('class', options, appTree); expect(tree.files).toContain('/projects/bar/src/app/foo.ts'); expect(tree.files).toContain('/projects/bar/src/app/foo.spec.ts'); }); it('should create an class named "Foo"', async () => { - const tree = await schematicRunner - .runSchematicAsync('class', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('class', defaultOptions, appTree); + const fileContent = tree.readContent('/projects/bar/src/app/foo.ts'); expect(fileContent).toMatch(/export class Foo/); }); @@ -74,13 +70,13 @@ describe('Class Schematic', () => { it('should put type in the file name', async () => { const options = { ...defaultOptions, type: 'model' }; - const tree = await schematicRunner.runSchematicAsync('class', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('class', options, appTree); expect(tree.files).toContain('/projects/bar/src/app/foo.model.ts'); }); it('should split the name to name & type with split on "."', async () => { const options = { ...defaultOptions, name: 'foo.model' }; - const tree = await schematicRunner.runSchematicAsync('class', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('class', options, appTree); const classPath = '/projects/bar/src/app/foo.model.ts'; const content = tree.readContent(classPath); expect(content).toMatch(/export class FooModel/); @@ -88,7 +84,7 @@ describe('Class Schematic', () => { it('should respect the path option', async () => { const options = { ...defaultOptions, path: 'zzz' }; - const tree = await schematicRunner.runSchematicAsync('class', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('class', options, appTree); expect(tree.files).toContain('/zzz/foo.ts'); }); @@ -96,7 +92,7 @@ describe('Class Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner.runSchematicAsync('class', defaultOptions, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('class', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo.ts'); }); @@ -105,7 +101,7 @@ describe('Class Schematic', () => { ...defaultOptions, skipTests: true, }; - const tree = await schematicRunner.runSchematicAsync('class', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('class', options, appTree); expect(tree.files).toContain('/projects/bar/src/app/foo.ts'); expect(tree.files).not.toContain('/projects/bar/src/app/foo.spec.ts'); }); @@ -114,7 +110,7 @@ describe('Class Schematic', () => { const options = { ...defaultOptions, name: '1Clazz' }; await expectAsync( - schematicRunner.runSchematicAsync('class', options, appTree).toPromise(), + schematicRunner.runSchematic('class', options, appTree), ).toBeRejectedWithError('Class name "1Clazz" is invalid.'); }); }); diff --git a/packages/schematics/angular/component/index_spec.ts b/packages/schematics/angular/component/index_spec.ts index ef8ab68f3ddf..2603a7c9781a 100644 --- a/packages/schematics/angular/component/index_spec.ts +++ b/packages/schematics/angular/component/index_spec.ts @@ -49,15 +49,13 @@ describe('Component Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a component', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -75,7 +73,7 @@ describe('Component Schematic', () => { it('should set change detection to OnPush', async () => { const options = { ...defaultOptions, changeDetection: 'OnPush' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const tsContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(tsContent).toMatch(/changeDetection: ChangeDetectionStrategy.OnPush/); }); @@ -83,7 +81,7 @@ describe('Component Schematic', () => { it('should not set view encapsulation', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const tsContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(tsContent).not.toMatch(/encapsulation: ViewEncapsulation/); }); @@ -91,7 +89,7 @@ describe('Component Schematic', () => { it('should set view encapsulation to Emulated', async () => { const options = { ...defaultOptions, viewEncapsulation: 'Emulated' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const tsContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(tsContent).toMatch(/encapsulation: ViewEncapsulation.Emulated/); }); @@ -99,7 +97,7 @@ describe('Component Schematic', () => { it('should set view encapsulation to None', async () => { const options = { ...defaultOptions, viewEncapsulation: 'None' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const tsContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(tsContent).toMatch(/encapsulation: ViewEncapsulation.None/); }); @@ -107,7 +105,7 @@ describe('Component Schematic', () => { it('should create a flat component', async () => { const options = { ...defaultOptions, flat: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -135,7 +133,7 @@ describe('Component Schematic', () => { `, ); - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const fooModuleContent = tree.readContent(fooModule); expect(fooModuleContent).toMatch(/import { FooComponent } from '.\/foo.component'/); }); @@ -143,7 +141,7 @@ describe('Component Schematic', () => { it('should export the component', async () => { const options = { ...defaultOptions, export: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const appModuleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(appModuleContent).toMatch(/exports: \[\n(\s*) {2}FooComponent\n\1\]/); }); @@ -151,7 +149,7 @@ describe('Component Schematic', () => { it('should import into a specified module', async () => { const options = { ...defaultOptions, module: 'app.module.ts' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const appModule = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(appModule).toMatch(/import { FooComponent } from '.\/foo\/foo.component'/); @@ -160,16 +158,14 @@ describe('Component Schematic', () => { it('should fail if specified module does not exist', async () => { const options = { ...defaultOptions, module: '/projects/bar/src/app.moduleXXX.ts' }; - await expectAsync( - schematicRunner.runSchematicAsync('component', options, appTree).toPromise(), - ).toBeRejected(); + await expectAsync(schematicRunner.runSchematic('component', options, appTree)).toBeRejected(); }); it('should handle upper case paths', async () => { const pathOption = 'projects/bar/src/app/SOME/UPPER/DIR'; const options = { ...defaultOptions, path: pathOption }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); let files = tree.files; let root = `/${pathOption}/foo/foo.component`; expect(files).toEqual( @@ -177,7 +173,7 @@ describe('Component Schematic', () => { ); const options2 = { ...options, name: 'BAR' }; - const tree2 = await schematicRunner.runSchematicAsync('component', options2, tree).toPromise(); + const tree2 = await schematicRunner.runSchematic('component', options2, tree); files = tree2.files; root = `/${pathOption}/bar/bar.component`; expect(files).toEqual( @@ -188,7 +184,7 @@ describe('Component Schematic', () => { it('should create a component in a sub-directory', async () => { const options = { ...defaultOptions, path: 'projects/bar/src/app/a/b/c' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const files = tree.files; const root = `/${options.path}/foo/foo.component`; expect(files).toEqual( @@ -199,7 +195,7 @@ describe('Component Schematic', () => { it('should use the prefix', async () => { const options = { ...defaultOptions, prefix: 'pre' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/selector: 'pre-foo'/); }); @@ -208,14 +204,14 @@ describe('Component Schematic', () => { const options = { ...defaultOptions, name: '1-one' }; await expectAsync( - schematicRunner.runSchematicAsync('component', options, appTree).toPromise(), + schematicRunner.runSchematic('component', options, appTree), ).toBeRejectedWithError('Selector "app-1-one" is invalid.'); }); it('should use the default project prefix if none is passed', async () => { const options = { ...defaultOptions, prefix: undefined }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/selector: 'app-foo'/); }); @@ -223,14 +219,14 @@ describe('Component Schematic', () => { it('should use the supplied prefix if it is ""', async () => { const options = { ...defaultOptions, prefix: '' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/selector: 'foo'/); }); it('should respect the inlineTemplate option', async () => { const options = { ...defaultOptions, inlineTemplate: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/template: /); expect(content).not.toMatch(/templateUrl: /); @@ -239,7 +235,7 @@ describe('Component Schematic', () => { it('should respect the inlineStyle option', async () => { const options = { ...defaultOptions, inlineStyle: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/styles: \[/); expect(content).not.toMatch(/styleUrls: /); @@ -248,35 +244,35 @@ describe('Component Schematic', () => { it('should respect the displayBlock option when inlineStyle is `false`', async () => { const options = { ...defaultOptions, displayBlock: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.css'); expect(content).toMatch(/:host {\r?\n {2}display: block;\r?\n}/); }); it('should respect the displayBlock option when inlineStyle is `false` and use correct syntax for `scss`', async () => { const options = { ...defaultOptions, displayBlock: true, style: 'scss' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.scss'); expect(content).toMatch(/:host {\r?\n {2}display: block;\r?\n}/); }); it('should respect the displayBlock option when inlineStyle is `false` and use correct syntax for `sass', async () => { const options = { ...defaultOptions, displayBlock: true, style: 'sass' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.sass'); expect(content).toMatch(/\\:host\r?\n {2}display: block;\r?\n/); }); it('should respect the displayBlock option when inlineStyle is `true`', async () => { const options = { ...defaultOptions, displayBlock: true, inlineStyle: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/:host {\r?\n(\s*)display: block;(\s*)}\r?\n/); }); it('should respect the style option', async () => { const options = { ...defaultOptions, style: Style.Sass }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).toMatch(/styleUrls: \['.\/foo.component.sass/); expect(tree.files).toContain('/projects/bar/src/app/foo/foo.component.sass'); @@ -285,7 +281,7 @@ describe('Component Schematic', () => { it('should respect the style=none option', async () => { const options = { ...defaultOptions, style: Style.None }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).not.toMatch(/styleUrls: /); expect(tree.files).not.toContain('/projects/bar/src/app/foo/foo.component.css'); @@ -294,7 +290,7 @@ describe('Component Schematic', () => { it('should respect the type option', async () => { const options = { ...defaultOptions, type: 'Route' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.route.ts'); const testContent = tree.readContent('/projects/bar/src/app/foo/foo.route.spec.ts'); expect(content).toContain('export class FooRoute'); @@ -305,7 +301,7 @@ describe('Component Schematic', () => { it('should allow empty string in the type option', async () => { const options = { ...defaultOptions, type: '' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.ts'); const testContent = tree.readContent('/projects/bar/src/app/foo/foo.spec.ts'); expect(content).toContain('export class Foo'); @@ -319,7 +315,7 @@ describe('Component Schematic', () => { const routingModulePath = `/projects/bar/src/app/${routingFileName}`; const newTree = createAppModule(appTree, routingModulePath); const options = { ...defaultOptions, module: routingFileName }; - const tree = await schematicRunner.runSchematicAsync('component', options, newTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, newTree); const content = tree.readContent(routingModulePath); expect(content).toMatch(/import { FooComponent } from '.\/foo\/foo.component/); }); @@ -327,7 +323,7 @@ describe('Component Schematic', () => { it('should handle a path in the name option', async () => { const options = { ...defaultOptions, name: 'dir/test-component' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(content).toMatch( /import { TestComponentComponent } from '\.\/dir\/test-component\/test-component.component'/, @@ -335,12 +331,14 @@ describe('Component Schematic', () => { }); it('should handle a path in the name and module options', async () => { - appTree = await schematicRunner - .runSchematicAsync('module', { name: 'admin/module', project: 'bar' }, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic( + 'module', + { name: 'admin/module', project: 'bar' }, + appTree, + ); const options = { ...defaultOptions, name: 'other/test-component', module: 'admin/module' }; - appTree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('component', options, appTree); const content = appTree.readContent('/projects/bar/src/app/admin/module/module.module.ts'); expect(content).toMatch( @@ -350,14 +348,14 @@ describe('Component Schematic', () => { it('should create the right selector with a path in the name', async () => { const options = { ...defaultOptions, name: 'sub/test' }; - appTree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('component', options, appTree); const content = appTree.readContent('/projects/bar/src/app/sub/test/test.component.ts'); expect(content).toMatch(/selector: 'app-test'/); }); it('should respect the skipSelector option', async () => { const options = { ...defaultOptions, name: 'sub/test', skipSelector: true }; - appTree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('component', options, appTree); const content = appTree.readContent('/projects/bar/src/app/sub/test/test.component.ts'); expect(content).not.toMatch(/selector: 'app-test'/); }); @@ -369,20 +367,19 @@ describe('Component Schematic', () => { // should fail without a module in that dir await expectAsync( - schematicRunner.runSchematicAsync('component', defaultOptions, appTree).toPromise(), + schematicRunner.runSchematic('component', defaultOptions, appTree), ).toBeRejected(); // move the module appTree.rename('/projects/bar/src/app/app.module.ts', '/projects/bar/custom/app/app.module.ts'); - appTree = await schematicRunner - .runSchematicAsync('component', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('component', defaultOptions, appTree); + expect(appTree.files).toContain('/projects/bar/custom/app/foo/foo.component.ts'); }); it('should respect the skipTests option', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const files = tree.files; expect(files).toEqual( @@ -397,7 +394,7 @@ describe('Component Schematic', () => { it('should respect templateUrl when style=none and changeDetection=OnPush', async () => { const options = { ...defaultOptions, style: Style.None, changeDetection: 'OnPush' }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).not.toMatch(/styleUrls: /); expect(content).toMatch(/templateUrl: '.\/foo.component.html',\n/); @@ -411,7 +408,7 @@ describe('Component Schematic', () => { changeDetection: 'OnPush', inlineTemplate: true, }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(content).not.toMatch(/styleUrls: /); expect(content).toMatch(/template: `(\n(.|)*){3}\n\s*`,\n/); @@ -420,7 +417,7 @@ describe('Component Schematic', () => { it('should create a standalone component', async () => { const options = { ...defaultOptions, standalone: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); const componentContent = tree.readContent('/projects/bar/src/app/foo/foo.component.ts'); expect(componentContent).toContain('@angular/common'); @@ -432,7 +429,7 @@ describe('Component Schematic', () => { it('should declare standalone components in the `imports` of a test', async () => { const options = { ...defaultOptions, standalone: true }; - const tree = await schematicRunner.runSchematicAsync('component', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('component', options, appTree); const testContent = tree.readContent('/projects/bar/src/app/foo/foo.component.spec.ts'); expect(testContent).toContain('imports: [ FooComponent ]'); expect(testContent).not.toContain('declarations'); diff --git a/packages/schematics/angular/directive/index_spec.ts b/packages/schematics/angular/directive/index_spec.ts index 47da5438ddd0..6cdf847ee005 100644 --- a/packages/schematics/angular/directive/index_spec.ts +++ b/packages/schematics/angular/directive/index_spec.ts @@ -41,16 +41,14 @@ describe('Directive Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a directive', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.directive.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.directive.ts'); @@ -62,7 +60,7 @@ describe('Directive Schematic', () => { it('should create respect the flat flag', async () => { const options = { ...defaultOptions, flat: false }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.directive.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.directive.ts'); @@ -84,7 +82,7 @@ describe('Directive Schematic', () => { `, ); - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const fooModuleContent = tree.readContent(fooModule); expect(fooModuleContent).toMatch(/import { FooDirective } from '.\/foo.directive'/); }); @@ -92,7 +90,7 @@ describe('Directive Schematic', () => { it('should export the directive', async () => { const options = { ...defaultOptions, export: true }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const appModuleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(appModuleContent).toMatch(/exports: \[\n(\s*) {2}FooDirective\n\1\]/); }); @@ -100,7 +98,7 @@ describe('Directive Schematic', () => { it('should import into a specified module', async () => { const options = { ...defaultOptions, module: 'app.module.ts' }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const appModule = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(appModule).toMatch(/import { FooDirective } from '.\/foo.directive'/); @@ -109,22 +107,20 @@ describe('Directive Schematic', () => { it('should fail if specified module does not exist', async () => { const options = { ...defaultOptions, module: '/projects/bar/src/app/app.moduleXXX.ts' }; - await expectAsync( - schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(), - ).toBeRejected(); + await expectAsync(schematicRunner.runSchematic('directive', options, appTree)).toBeRejected(); }); it('should converts dash-cased-name to a camelCasedSelector', async () => { const options = { ...defaultOptions, name: 'my-dir' }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const content = tree.readContent('/projects/bar/src/app/my-dir.directive.ts'); expect(content).toMatch(/selector: '\[appMyDir\]'/); }); it('should create the right selector with a path in the name', async () => { const options = { ...defaultOptions, name: 'sub/test' }; - appTree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('directive', options, appTree); const content = appTree.readContent('/projects/bar/src/app/sub/test.directive.ts'); expect(content).toMatch(/selector: '\[appTest\]'/); @@ -132,7 +128,7 @@ describe('Directive Schematic', () => { it('should use the prefix', async () => { const options = { ...defaultOptions, prefix: 'pre' }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo.directive.ts'); expect(content).toMatch(/selector: '\[preFoo\]'/); @@ -140,7 +136,7 @@ describe('Directive Schematic', () => { it('should use the default project prefix if none is passed', async () => { const options = { ...defaultOptions, prefix: undefined }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo.directive.ts'); expect(content).toMatch(/selector: '\[appFoo\]'/); @@ -148,7 +144,7 @@ describe('Directive Schematic', () => { it('should use the supplied prefix if it is ""', async () => { const options = { ...defaultOptions, prefix: '' }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo.directive.ts'); expect(content).toMatch(/selector: '\[foo\]'/); @@ -161,21 +157,20 @@ describe('Directive Schematic', () => { // should fail without a module in that dir await expectAsync( - schematicRunner.runSchematicAsync('directive', defaultOptions, appTree).toPromise(), + schematicRunner.runSchematic('directive', defaultOptions, appTree), ).toBeRejected(); // move the module appTree.rename('/projects/bar/src/app/app.module.ts', '/projects/bar/custom/app/app.module.ts'); - appTree = await schematicRunner - .runSchematicAsync('directive', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('directive', defaultOptions, appTree); + expect(appTree.files).toContain('/projects/bar/custom/app/foo.directive.ts'); }); it('should respect skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.directive.ts'); expect(files).not.toContain('/projects/bar/src/app/foo.directive.spec.ts'); @@ -183,7 +178,7 @@ describe('Directive Schematic', () => { it('should create a standalone directive', async () => { const options = { ...defaultOptions, standalone: true }; - const tree = await schematicRunner.runSchematicAsync('directive', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('directive', options, appTree); const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); const directiveContent = tree.readContent('/projects/bar/src/app/foo.directive.ts'); expect(directiveContent).toContain('standalone: true'); diff --git a/packages/schematics/angular/e2e/index_spec.ts b/packages/schematics/angular/e2e/index_spec.ts index dca4b39b4498..370175e5ab9d 100644 --- a/packages/schematics/angular/e2e/index_spec.ts +++ b/packages/schematics/angular/e2e/index_spec.ts @@ -39,18 +39,18 @@ describe('Application Schematic', () => { let applicationTree: UnitTestTree; beforeEach(async () => { - const workspaceTree = await schematicRunner - .runSchematicAsync('workspace', workspaceOptions) - .toPromise(); - applicationTree = await schematicRunner - .runSchematicAsync('application', defaultAppOptions, workspaceTree) - .toPromise(); + const workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + + applicationTree = await schematicRunner.runSchematic( + 'application', + defaultAppOptions, + workspaceTree, + ); }); it('should create all files of e2e in an application', async () => { - const tree = await schematicRunner - .runSchematicAsync('e2e', defaultOptions, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', defaultOptions, applicationTree); + const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -63,45 +63,40 @@ describe('Application Schematic', () => { }); it('should set the rootSelector in the app.po.ts', async () => { - const tree = await schematicRunner - .runSchematicAsync('e2e', defaultOptions, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', defaultOptions, applicationTree); + const content = tree.readContent('/projects/foo/e2e/src/app.po.ts'); expect(content).toMatch(/app-root/); }); it('should set the rootSelector in the app.po.ts from the option', async () => { const options = { ...defaultOptions, rootSelector: 't-a-c-o' }; - const tree = await schematicRunner - .runSchematicAsync('e2e', options, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', options, applicationTree); + const content = tree.readContent('/projects/foo/e2e/src/app.po.ts'); expect(content).toMatch(/t-a-c-o/); }); it('should set the rootSelector in the app.po.ts from the option with emoji', async () => { const options = { ...defaultOptions, rootSelector: '🌮-🌯' }; - const tree = await schematicRunner - .runSchematicAsync('e2e', options, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', options, applicationTree); + const content = tree.readContent('/projects/foo/e2e/src/app.po.ts'); expect(content).toMatch(/🌮-🌯/); }); describe('workspace config', () => { it('should add e2e targets for the app', async () => { - const tree = await schematicRunner - .runSchematicAsync('e2e', defaultOptions, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', defaultOptions, applicationTree); + const workspace = JSON.parse(tree.readContent('/angular.json')); const targets = workspace.projects.foo.architect; expect(targets.e2e).toBeDefined(); }); it('should set the e2e options', async () => { - const tree = await schematicRunner - .runSchematicAsync('e2e', defaultOptions, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', defaultOptions, applicationTree); + const workspace = JSON.parse(tree.readContent('/angular.json')); const { options, configurations } = workspace.projects.foo.architect.e2e; expect(options.protractorConfig).toEqual('projects/foo/e2e/protractor.conf.js'); @@ -110,9 +105,8 @@ describe('Application Schematic', () => { }); it('should add an e2e script in package.json', async () => { - const tree = await schematicRunner - .runSchematicAsync('e2e', defaultOptions, applicationTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('e2e', defaultOptions, applicationTree); + const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.scripts['e2e']).toBe('ng e2e'); }); diff --git a/packages/schematics/angular/enum/index_spec.ts b/packages/schematics/angular/enum/index_spec.ts index 82327dea1c86..a678134c5743 100644 --- a/packages/schematics/angular/enum/index_spec.ts +++ b/packages/schematics/angular/enum/index_spec.ts @@ -37,24 +37,20 @@ describe('Enum Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create an enumeration', async () => { - const tree = await schematicRunner - .runSchematicAsync('enum', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('enum', defaultOptions, appTree); + const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.ts'); }); it('should create an enumeration', async () => { - const tree = await schematicRunner - .runSchematicAsync('enum', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('enum', defaultOptions, appTree); + const content = tree.readContent('/projects/bar/src/app/foo.ts'); expect(content).toMatch('export enum Foo {'); }); @@ -63,22 +59,22 @@ describe('Enum Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner.runSchematicAsync('enum', defaultOptions, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('enum', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo.ts'); }); it('should put type in the file name', async () => { const options = { ...defaultOptions, type: 'enum' }; - const tree = await schematicRunner.runSchematicAsync('enum', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('enum', options, appTree); expect(tree.files).toContain('/projects/bar/src/app/foo.enum.ts'); }); it('should error when class name contains invalid characters', async () => { const options = { ...defaultOptions, name: '1Clazz' }; - await expectAsync( - schematicRunner.runSchematicAsync('enum', options, appTree).toPromise(), - ).toBeRejectedWithError('Class name "1Clazz" is invalid.'); + await expectAsync(schematicRunner.runSchematic('enum', options, appTree)).toBeRejectedWithError( + 'Class name "1Clazz" is invalid.', + ); }); }); diff --git a/packages/schematics/angular/guard/index_spec.ts b/packages/schematics/angular/guard/index_spec.ts index 1712894e4098..327f76a79e13 100644 --- a/packages/schematics/angular/guard/index_spec.ts +++ b/packages/schematics/angular/guard/index_spec.ts @@ -39,16 +39,13 @@ describe('Guard Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a guard', async () => { - const tree = await schematicRunner - .runSchematicAsync('guard', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('guard', defaultOptions, appTree); + const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.guard.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.guard.ts'); @@ -57,7 +54,7 @@ describe('Guard Schematic', () => { it('should respect the skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const files = tree.files; expect(files).not.toContain('/projects/bar/src/app/foo.guard.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.guard.ts'); @@ -66,7 +63,7 @@ describe('Guard Schematic', () => { it('should respect the flat flag', async () => { const options = { ...defaultOptions, flat: false }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.guard.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.guard.ts'); @@ -76,13 +73,13 @@ describe('Guard Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner.runSchematicAsync('guard', defaultOptions, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('guard', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo.guard.ts'); }); it('should respect the implements value', async () => { const options = { ...defaultOptions, implements: ['CanActivate'] }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain('CanActivate'); expect(fileString).toContain('canActivate'); @@ -94,7 +91,7 @@ describe('Guard Schematic', () => { it('should respect the functional guard value', async () => { const options = { ...defaultOptions, implements: ['CanActivate'], functional: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain('export const fooGuard: CanActivateFn = (route, state) => {'); expect(fileString).not.toContain('CanActivateChild'); @@ -105,7 +102,7 @@ describe('Guard Schematic', () => { it('should generate a helper function to execute the guard in a test', async () => { const options = { ...defaultOptions, implements: ['CanActivate'], functional: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.spec.ts'); expect(fileString).toContain('const executeGuard: CanActivateFn = (...guardParameters) => '); expect(fileString).toContain( @@ -115,7 +112,7 @@ describe('Guard Schematic', () => { it('should generate CanDeactivateFn with unknown functional guard', async () => { const options = { ...defaultOptions, implements: ['CanDeactivate'], functional: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); expect(fileString).toContain( 'export const fooGuard: CanDeactivateFn = ' + @@ -126,7 +123,7 @@ describe('Guard Schematic', () => { it('should respect the implements values', async () => { const implementationOptions = ['CanActivate', 'CanLoad', 'CanActivateChild']; const options = { ...defaultOptions, implements: implementationOptions }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); // Should contain all implementations @@ -140,7 +137,7 @@ describe('Guard Schematic', () => { it('should add correct imports based on CanLoad implementation', async () => { const implementationOptions = ['CanLoad']; const options = { ...defaultOptions, implements: implementationOptions }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { CanLoad, Route, UrlSegment, UrlTree } from '@angular/router';`; @@ -150,7 +147,7 @@ describe('Guard Schematic', () => { it('should add correct imports based on CanMatch implementation', async () => { const implementationOptions = ['CanMatch']; const options = { ...defaultOptions, implements: implementationOptions }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { CanMatch, Route, UrlSegment, UrlTree } from '@angular/router';`; @@ -159,7 +156,7 @@ describe('Guard Schematic', () => { it('should add correct imports based on canLoad functional guard', async () => { const options = { ...defaultOptions, implements: ['CanLoad'], functional: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { CanLoadFn } from '@angular/router';`; @@ -169,7 +166,7 @@ describe('Guard Schematic', () => { it('should add correct imports based on CanActivate implementation', async () => { const implementationOptions = ['CanActivate']; const options = { ...defaultOptions, implements: implementationOptions }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';`; @@ -178,7 +175,7 @@ describe('Guard Schematic', () => { it('should add correct imports based on canActivate functional guard', async () => { const options = { ...defaultOptions, implements: ['CanActivate'], functional: true }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import { CanActivateFn } from '@angular/router';`; @@ -188,7 +185,7 @@ describe('Guard Schematic', () => { it('should add correct imports if multiple implementations was selected', async () => { const implementationOptions = ['CanActivate', 'CanLoad', 'CanActivateChild']; const options = { ...defaultOptions, implements: implementationOptions }; - const tree = await schematicRunner.runSchematicAsync('guard', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('guard', options, appTree); const fileString = tree.readContent('/projects/bar/src/app/foo.guard.ts'); const expectedImports = `import ` + diff --git a/packages/schematics/angular/interceptor/index_spec.ts b/packages/schematics/angular/interceptor/index_spec.ts index b1237a9c83ac..9bb035e4c6fd 100755 --- a/packages/schematics/angular/interceptor/index_spec.ts +++ b/packages/schematics/angular/interceptor/index_spec.ts @@ -37,18 +37,15 @@ describe('Interceptor Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create an interceptor', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner - .runSchematicAsync('interceptor', options, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('interceptor', options, appTree); + const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.interceptor.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.interceptor.ts'); @@ -57,9 +54,8 @@ describe('Interceptor Schematic', () => { it('should respect the skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner - .runSchematicAsync('interceptor', options, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('interceptor', options, appTree); + const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.interceptor.ts'); expect(files).not.toContain('/projects/bar/src/app/foo/foo.interceptor.spec.ts'); @@ -69,16 +65,18 @@ describe('Interceptor Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner - .runSchematicAsync('interceptor', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('interceptor', defaultOptions, appTree); + expect(appTree.files).toContain('/projects/bar/custom/app/foo/foo.interceptor.ts'); }); it('should create a functional interceptor', async () => { - const tree = await schematicRunner - .runSchematicAsync('interceptor', { ...defaultOptions, functional: true }, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'interceptor', + { ...defaultOptions, functional: true }, + appTree, + ); + const fileString = tree.readContent('/projects/bar/src/app/foo/foo.interceptor.ts'); expect(fileString).toContain( 'export const fooInterceptor: HttpInterceptorFn = (req, next) => {', @@ -86,9 +84,12 @@ describe('Interceptor Schematic', () => { }); it('should create a helper function to run a functional interceptor in a test', async () => { - const tree = await schematicRunner - .runSchematicAsync('interceptor', { ...defaultOptions, functional: true }, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'interceptor', + { ...defaultOptions, functional: true }, + appTree, + ); + const fileString = tree.readContent('/projects/bar/src/app/foo/foo.interceptor.spec.ts'); expect(fileString).toContain('const interceptor: HttpInterceptorFn = (req, next) => '); expect(fileString).toContain('TestBed.runInInjectionContext(() => fooInterceptor(req, next));'); diff --git a/packages/schematics/angular/interface/index_spec.ts b/packages/schematics/angular/interface/index_spec.ts index 2be12d0563ba..0e0287eb6b27 100644 --- a/packages/schematics/angular/interface/index_spec.ts +++ b/packages/schematics/angular/interface/index_spec.ts @@ -39,23 +39,17 @@ describe('Interface Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create one file', async () => { - const tree = await schematicRunner - .runSchematicAsync('interface', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('interface', defaultOptions, appTree); expect(tree.files).toContain('/projects/bar/src/app/foo.ts'); }); it('should create an interface named "Foo"', async () => { - const tree = await schematicRunner - .runSchematicAsync('interface', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('interface', defaultOptions, appTree); const fileContent = tree.readContent('/projects/bar/src/app/foo.ts'); expect(fileContent).toMatch(/export interface Foo/); }); @@ -63,7 +57,7 @@ describe('Interface Schematic', () => { it('should put type in the file name', async () => { const options = { ...defaultOptions, type: 'model' }; - const tree = await schematicRunner.runSchematicAsync('interface', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('interface', options, appTree); expect(tree.files).toContain('/projects/bar/src/app/foo.model.ts'); }); @@ -71,9 +65,7 @@ describe('Interface Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner - .runSchematicAsync('interface', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('interface', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo.ts'); }); }); diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 7a009b6ac236..31eea5d84afc 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -40,15 +40,12 @@ describe('Library Schematic', () => { let workspaceTree: UnitTestTree; beforeEach(async () => { - workspaceTree = await schematicRunner - .runSchematicAsync('workspace', workspaceOptions) - .toPromise(); + workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); }); it('should create files', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -78,9 +75,12 @@ describe('Library Schematic', () => { }; it('should create files in /some/other/directory/bar', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', customProjectRootOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'library', + customProjectRootOptions, + workspaceTree, + ); + const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -100,9 +100,11 @@ describe('Library Schematic', () => { }); it(`should add library to workspace`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', customProjectRootOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'library', + customProjectRootOptions, + workspaceTree, + ); const workspace = getJsonFileContent(tree, '/angular.json'); expect(workspace.projects.foo).toBeDefined(); @@ -110,50 +112,44 @@ describe('Library Schematic', () => { }); it('should create a package.json named "foo"', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getFileContent(tree, '/projects/foo/package.json'); expect(fileContent).toMatch(/"name": "foo"/); }); it('should have the latest Angular major versions in package.json named "foo"', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getJsonFileContent(tree, '/projects/foo/package.json'); const angularVersion = latestVersions.Angular.replace('~', '').replace('^', ''); expect(fileContent.peerDependencies['@angular/core']).toBe(`^${angularVersion}`); }); it('should add sideEffects: false flag to package.json named "foo"', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getFileContent(tree, '/projects/foo/package.json'); expect(fileContent).toMatch(/"sideEffects": false/); }); it('should create a README.md named "foo"', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getFileContent(tree, '/projects/foo/README.md'); expect(fileContent).toMatch(/# Foo/); }); it('should create a tsconfig for library', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getJsonFileContent(tree, '/projects/foo/tsconfig.lib.json'); expect(fileContent).toBeDefined(); }); it('should create a ng-package.json with ngPackage conf', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getJsonFileContent(tree, '/projects/foo/ng-package.json'); expect(fileContent.lib).toBeDefined(); expect(fileContent.lib.entryFile).toEqual('src/my-index.ts'); @@ -161,31 +157,26 @@ describe('Library Schematic', () => { }); it('should use default value for baseDir and entryFile', async () => { - const tree = await schematicRunner - .runSchematicAsync( - 'library', - { - name: 'foobar', - }, - workspaceTree, - ) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'library', + { + name: 'foobar', + }, + workspaceTree, + ); + expect(tree.files).toContain('/projects/foobar/src/public-api.ts'); }); it(`should add library to workspace`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const workspace = getJsonFileContent(tree, '/angular.json'); expect(workspace.projects.foo).toBeDefined(); }); it('should set the prefix to lib if none is set', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo.prefix).toEqual('lib'); @@ -193,9 +184,7 @@ describe('Library Schematic', () => { it('should set the prefix correctly', async () => { const options = { ...defaultOptions, prefix: 'pre' }; - const tree = await schematicRunner - .runSchematicAsync('library', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', options, workspaceTree); const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo.prefix).toEqual('pre'); @@ -203,9 +192,8 @@ describe('Library Schematic', () => { it('should handle a pascalCasedName', async () => { const options = { ...defaultOptions, name: 'pascalCasedName' }; - const tree = await schematicRunner - .runSchematicAsync('library', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', options, workspaceTree); + const config = getJsonFileContent(tree, '/angular.json'); const project = config.projects.pascalCasedName; expect(project).toBeDefined(); @@ -217,27 +205,23 @@ describe('Library Schematic', () => { }); it('should export the component in the NgModule', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const fileContent = getFileContent(tree, '/projects/foo/src/lib/foo.module.ts'); expect(fileContent).toMatch(/exports: \[\n(\s*) {2}FooComponent\n\1\]/); }); describe(`update package.json`, () => { it(`should add ng-packagr to devDependencies`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const packageJson = getJsonFileContent(tree, 'package.json'); expect(packageJson.devDependencies['ng-packagr']).toEqual(latestVersions['ng-packagr']); }); it('should use the latest known versions in package.json', async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.devDependencies['@angular/compiler-cli']).toEqual(latestVersions.Angular); expect(pkg.devDependencies['typescript']).toEqual(latestVersions['typescript']); @@ -253,24 +237,21 @@ describe('Library Schematic', () => { ), ); - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const packageJson = getJsonFileContent(tree, 'package.json'); expect(packageJson.devDependencies.typescript).toEqual('~2.5.2'); }); it(`should not modify the file when --skipPackageJson`, async () => { - const tree = await schematicRunner - .runSchematicAsync( - 'library', - { - name: 'foo', - skipPackageJson: true, - }, - workspaceTree, - ) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'library', + { + name: 'foo', + skipPackageJson: true, + }, + workspaceTree, + ); const packageJson = getJsonFileContent(tree, 'package.json'); expect(packageJson.devDependencies['ng-packagr']).toBeUndefined(); @@ -280,9 +261,7 @@ describe('Library Schematic', () => { describe(`update tsconfig.json`, () => { it(`should add paths mapping to empty tsconfig`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const tsConfigJson = getJsonFileContent(tree, 'tsconfig.json'); expect(tsConfigJson.compilerOptions.paths['foo']).toEqual(['dist/foo']); @@ -300,25 +279,21 @@ describe('Library Schematic', () => { }, }), ); - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const tsConfigJson = getJsonFileContent(tree, 'tsconfig.json'); expect(tsConfigJson.compilerOptions.paths['foo']).toEqual(['libs/*', 'dist/foo']); }); it(`should not modify the file when --skipTsConfig`, async () => { - const tree = await schematicRunner - .runSchematicAsync( - 'library', - { - name: 'foo', - skipTsConfig: true, - }, - workspaceTree, - ) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'library', + { + name: 'foo', + skipTsConfig: true, + }, + workspaceTree, + ); const tsConfigJson = getJsonFileContent(tree, 'tsconfig.json'); expect(tsConfigJson.compilerOptions.paths).toBeUndefined(); @@ -326,23 +301,20 @@ describe('Library Schematic', () => { }); it('should generate inside of a library', async () => { - let tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + let tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const componentOptions: ComponentOptions = { name: 'comp', project: 'foo', }; - tree = await schematicRunner.runSchematicAsync('component', componentOptions, tree).toPromise(); + tree = await schematicRunner.runSchematic('component', componentOptions, tree); expect(tree.exists('/projects/foo/src/lib/comp/comp.component.ts')).toBe(true); }); it(`should support creating scoped libraries`, async () => { const scopedName = '@myscope/mylib'; const options = { ...defaultOptions, name: scopedName }; - const tree = await schematicRunner - .runSchematicAsync('library', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', options, workspaceTree); const pkgJsonPath = '/projects/myscope/mylib/package.json'; expect(tree.files).toContain(pkgJsonPath); @@ -367,9 +339,7 @@ describe('Library Schematic', () => { const expectedScopeName = '@my-scope/my-lib'; const expectedFolderName = 'my-scope/my-lib'; const options = { ...defaultOptions, name: scopedName }; - const tree = await schematicRunner - .runSchematicAsync('library', options, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', options, workspaceTree); const pkgJsonPath = '/projects/my-scope/my-lib/package.json'; expect(tree.readContent(pkgJsonPath)).toContain(expectedScopeName); @@ -385,12 +355,13 @@ describe('Library Schematic', () => { }); it(`should create correct paths when 'newProjectRoot' is blank`, async () => { - const workspaceTree = await schematicRunner - .runSchematicAsync('workspace', { ...workspaceOptions, newProjectRoot: '' }) - .toPromise(); - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const workspaceTree = await schematicRunner.runSchematic('workspace', { + ...workspaceOptions, + newProjectRoot: '', + }); + + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); + const config = getJsonFileContent(tree, '/angular.json'); const project = config.projects.foo; expect(project.root).toEqual('foo'); @@ -405,18 +376,14 @@ describe('Library Schematic', () => { }); it(`should add 'development' configuration`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo.architect.build.configurations.development).toBeDefined(); }); it(`should add 'ng-packagr' builder`, async () => { - const tree = await schematicRunner - .runSchematicAsync('library', defaultOptions, workspaceTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('library', defaultOptions, workspaceTree); const workspace = JSON.parse(tree.readContent('/angular.json')); expect(workspace.projects.foo.architect.build.builder).toBe( diff --git a/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts b/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts index 755aa32ad82a..9f6b444999fd 100644 --- a/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts +++ b/packages/schematics/angular/migrations/update-15/remove-browserslist-config_spec.ts @@ -29,7 +29,7 @@ describe('Migration to delete Browserslist configurations', () => { tree.create('/src/app/.browserslistrc', DEFAULT_BROWSERS.join('\n')); expect(tree.exists('/src/app/.browserslistrc')).toBeTrue(); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.exists('/src/app/.browserslistrc')).toBeFalse(); }); @@ -37,7 +37,7 @@ describe('Migration to delete Browserslist configurations', () => { tree.create('/node_modules/browserslist', DEFAULT_BROWSERS.join('\n')); tree.create('/node_modules/.browserslistrc', DEFAULT_BROWSERS.join('\n')); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.exists('/node_modules/browserslist')).toBeTrue(); expect(newTree.exists('/node_modules/.browserslistrc')).toBeTrue(); }); @@ -47,14 +47,14 @@ describe('Migration to delete Browserslist configurations', () => { it('should not delete "browserslist"', async () => { tree.create('/src/app/browserslist', 'last 1 Chrome version'); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.exists('/src/app/browserslist')).toBeTrue(); }); it('should not delete ".browserslistrc"', async () => { tree.create('/src/app/.browserslistrc', 'last 1 Chrome version'); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.exists('/src/app/.browserslistrc')).toBeTrue(); }); @@ -62,7 +62,7 @@ describe('Migration to delete Browserslist configurations', () => { tree.create('/src/app/.browserslistrc', [...DEFAULT_BROWSERS, 'IE 10'].join('\n')); expect(tree.exists('/src/app/.browserslistrc')).toBeTrue(); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.exists('/src/app/.browserslistrc')).toBeFalse(); }); @@ -77,7 +77,7 @@ describe('Migration to delete Browserslist configurations', () => { ); expect(tree.exists('/src/app/.browserslistrc')).toBeTrue(); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.exists('/src/app/.browserslistrc')).toBeTrue(); }); }); diff --git a/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts b/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts index 12a57ee1f450..78b759c859ed 100644 --- a/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts +++ b/packages/schematics/angular/migrations/update-15/remove-platform-server-exports_spec.ts @@ -35,7 +35,7 @@ describe('Migration to delete platform-server exports', () => { `, ); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const content = newTree.readText(testTypeScriptFilePath); expect(content).not.toContain('@angular/platform-server'); expect(content).toContain(`import { Path, join } from '@angular-devkit/core';`); @@ -50,7 +50,7 @@ describe('Migration to delete platform-server exports', () => { `, ); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const content = newTree.readContent(testTypeScriptFilePath); expect(content).toContain(`import { Path, join } from '@angular-devkit/core';`); expect(content).toContain(`export { ServerModule } from '@angular/platform-server';`); @@ -64,7 +64,7 @@ describe('Migration to delete platform-server exports', () => { `, ); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const content = newTree.readText(testTypeScriptFilePath); expect(content).toContain(`export { renderModule } from '@angular/core';`); }); @@ -77,7 +77,7 @@ describe('Migration to delete platform-server exports', () => { `, ); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const content = newTree.readText(testTypeScriptFilePath); expect(content).toContain(`import { renderModule } from '@angular/platform-server'`); }); diff --git a/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts b/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts index d8da17b2a1c6..e6f3c711082f 100644 --- a/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts +++ b/packages/schematics/angular/migrations/update-15/update-karma-main-file_spec.ts @@ -116,7 +116,7 @@ describe(`Migration to karma builder main file (test.ts)`, () => { }); it(`should remove 'declare const require' and 'require.context' usages`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.readText('test.ts')).toBe(tags.stripIndents` import { getTestBed } from '@angular/core/testing'; import { @@ -133,7 +133,7 @@ describe(`Migration to karma builder main file (test.ts)`, () => { }); it(`should remove multiple 'require.context' usages`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); expect(newTree.readText('test-multiple-context.ts')).toBe(tags.stripIndents` import { getTestBed } from '@angular/core/testing'; import { diff --git a/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts b/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts index 87b4e0b9fa7d..bb1fc8db690a 100644 --- a/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts +++ b/packages/schematics/angular/migrations/update-15/update-typescript-target_spec.ts @@ -94,7 +94,7 @@ describe('Migration to update target and add useDefineForClassFields', () => { }); it(`should update target and add useDefineForClassFields in workspace 'tsconfig.json'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const compilerOptions = getCompilerOptionsValue(newTree, 'tsconfig.json'); expect(compilerOptions).toEqual( jasmine.objectContaining({ @@ -105,7 +105,7 @@ describe('Migration to update target and add useDefineForClassFields', () => { }); it(`should remove target value from tsconfig referenced in options and configuration`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); { const compilerOptions = getCompilerOptionsValue(newTree, 'src/tsconfig.app.prod.json'); expect(compilerOptions['target']).toBeUndefined(); @@ -119,7 +119,7 @@ describe('Migration to update target and add useDefineForClassFields', () => { }); it('should add target and useDefineForClassFields when tsconfig is not extended', async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const compilerOptions = getCompilerOptionsValue(newTree, 'src/tsconfig.spec.json'); expect(compilerOptions).toEqual( jasmine.objectContaining({ @@ -131,7 +131,7 @@ describe('Migration to update target and add useDefineForClassFields', () => { it('should not add useDefineForClassFields when tsconfig target is ES2022', async () => { createJsonFile(tree, 'tsconfig.json', { compilerOptions: { 'target': 'es2022' } }); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const compilerOptions = getCompilerOptionsValue(newTree, 'tsconfig.json'); expect(compilerOptions).toEqual({ target: 'es2022' }); @@ -139,7 +139,7 @@ describe('Migration to update target and add useDefineForClassFields', () => { it('should not add useDefineForClassFields when tsconfig target is ESNEXT', async () => { createJsonFile(tree, 'tsconfig.json', { compilerOptions: { 'target': 'esnext' } }); - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const compilerOptions = getCompilerOptionsValue(newTree, 'tsconfig.json'); expect(compilerOptions).toEqual({ target: 'esnext' }); diff --git a/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts b/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts index f447f67ac2ad..d0379e8edb80 100644 --- a/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts +++ b/packages/schematics/angular/migrations/update-15/update-workspace-config_spec.ts @@ -78,7 +78,7 @@ describe(`Migration to update 'angular.json'. ${schematicName}`, () => { }); it(`should remove 'bundleDependencies'`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const { options, configurations } = getServerTarget(newTree); expect(options.bundleDependencies).toBeUndefined(); @@ -88,7 +88,7 @@ describe(`Migration to update 'angular.json'. ${schematicName}`, () => { }); it(`should add 'vendorChunk: true' to development configuration`, async () => { - const newTree = await schematicRunner.runSchematicAsync(schematicName, {}, tree).toPromise(); + const newTree = await schematicRunner.runSchematic(schematicName, {}, tree); const { options, configurations } = getServerTarget(newTree); expect(options.bundleDependencies).toBeUndefined(); diff --git a/packages/schematics/angular/module/index_spec.ts b/packages/schematics/angular/module/index_spec.ts index 0bbb9f22c64b..2bd31e16afca 100644 --- a/packages/schematics/angular/module/index_spec.ts +++ b/packages/schematics/angular/module/index_spec.ts @@ -39,16 +39,14 @@ describe('Module Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a module', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.module.ts'); }); @@ -56,7 +54,7 @@ describe('Module Schematic', () => { it('should import into another module', async () => { const options = { ...defaultOptions, module: 'app.module.ts' }; - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const content = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(content).toMatch(/import { FooModule } from '.\/foo\/foo.module'/); expect(content).toMatch(/imports: \[[^\]]*FooModule[^\]]*\]/m); @@ -65,7 +63,7 @@ describe('Module Schematic', () => { it('should import into another module when using flat', async () => { const options = { ...defaultOptions, flat: true, module: 'app.module.ts' }; - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const content = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(content).toMatch(/import { FooModule } from '.\/foo.module'/); expect(content).toMatch(/imports: \[[^\]]*FooModule[^\]]*\]/m); @@ -74,7 +72,7 @@ describe('Module Schematic', () => { it('should import into another module when using flat', async () => { const options = { ...defaultOptions, flat: true, module: 'app.module.ts' }; - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const content = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(content).toMatch(/import { FooModule } from '.\/foo.module'/); expect(content).toMatch(/imports: \[[^\]]*FooModule[^\]]*\]/m); @@ -83,29 +81,25 @@ describe('Module Schematic', () => { it('should import into another module (deep)', async () => { let tree = appTree; - tree = await schematicRunner - .runSchematicAsync( - 'module', - { - ...defaultOptions, - path: 'projects/bar/src/app/sub1', - name: 'test1', - }, - tree, - ) - .toPromise(); - tree = await schematicRunner - .runSchematicAsync( - 'module', - { - ...defaultOptions, - path: 'projects/bar/src/app/sub2', - name: 'test2', - module: '../sub1/test1', - }, - tree, - ) - .toPromise(); + tree = await schematicRunner.runSchematic( + 'module', + { + ...defaultOptions, + path: 'projects/bar/src/app/sub1', + name: 'test1', + }, + tree, + ); + tree = await schematicRunner.runSchematic( + 'module', + { + ...defaultOptions, + path: 'projects/bar/src/app/sub2', + name: 'test2', + module: '../sub1/test1', + }, + tree, + ); const content = tree.readContent('/projects/bar/src/app/sub1/test1/test1.module.ts'); expect(content).toMatch(/import { Test2Module } from '..\/..\/sub2\/test2\/test2.module'/); @@ -114,7 +108,7 @@ describe('Module Schematic', () => { it('should create a routing module', async () => { const options = { ...defaultOptions, routing: true }; - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.module.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo-routing.module.ts'); @@ -129,7 +123,7 @@ describe('Module Schematic', () => { it('should dasherize a name', async () => { const options = { ...defaultOptions, name: 'TwoWord' }; - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/two-word/two-word.module.ts'); }); @@ -138,9 +132,7 @@ describe('Module Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner - .runSchematicAsync('module', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('module', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo/foo.module.ts'); }); @@ -152,7 +144,7 @@ describe('Module Schematic', () => { }; it('should generate a lazy loaded module with a routing module', async () => { - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const files = tree.files; expect(files).toEqual( @@ -204,7 +196,7 @@ describe('Module Schematic', () => { ); appTree.delete('/projects/bar/src/app/app-routing.module.ts'); - const tree = await schematicRunner.runSchematicAsync('module', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('module', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.module.ts'); @@ -226,9 +218,11 @@ describe('Module Schematic', () => { }); it('should generate a lazy loaded module when "flat" flag is true', async () => { - const tree = await schematicRunner - .runSchematicAsync('module', { ...options, flat: true }, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'module', + { ...options, flat: true }, + appTree, + ); const files = tree.files; expect(files).toEqual( @@ -250,31 +244,26 @@ describe('Module Schematic', () => { }); it('should generate a lazy loaded module and add route in another parallel routing module', async () => { - await schematicRunner - .runSchematicAsync( - 'module', - { - ...defaultOptions, - name: 'foo', - routing: true, - }, - appTree, - ) - .toPromise(); - - const tree = await schematicRunner - .runSchematicAsync( - 'module', - { - ...defaultOptions, - name: 'bar', - module: 'foo', - route: 'new-route', - }, - appTree, - ) - .toPromise(); + await schematicRunner.runSchematic( + 'module', + { + ...defaultOptions, + name: 'foo', + routing: true, + }, + appTree, + ); + const tree = await schematicRunner.runSchematic( + 'module', + { + ...defaultOptions, + name: 'bar', + module: 'foo', + route: 'new-route', + }, + appTree, + ); expect(tree.files).toEqual( jasmine.arrayContaining([ '/projects/bar/src/app/foo/foo-routing.module.ts', @@ -320,20 +309,17 @@ describe('Module Schematic', () => { `, ); - const tree = await schematicRunner - .runSchematicAsync( - 'module', - { - ...defaultOptions, - name: 'bar', - route: 'bar', - routing: true, - module: 'app.module.ts', - }, - appTree, - ) - .toPromise(); - + const tree = await schematicRunner.runSchematic( + 'module', + { + ...defaultOptions, + name: 'bar', + route: 'bar', + routing: true, + module: 'app.module.ts', + }, + appTree, + ); const content = tree.readContent('/projects/bar/src/app/bar/bar.module.ts'); expect(content).toContain('RouterModule.forChild(routes)'); expect(content).not.toContain('BarRoutingModule'); diff --git a/packages/schematics/angular/ng-new/index_spec.ts b/packages/schematics/angular/ng-new/index_spec.ts index 4965f098cfd9..e26bf5948647 100644 --- a/packages/schematics/angular/ng-new/index_spec.ts +++ b/packages/schematics/angular/ng-new/index_spec.ts @@ -23,7 +23,7 @@ describe('Ng New Schematic', () => { it('should create files of a workspace', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('ng-new', options).toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', options); const files = tree.files; expect(files).toContain('/bar/angular.json'); }); @@ -31,7 +31,7 @@ describe('Ng New Schematic', () => { it('should create files of an application', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('ng-new', options).toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', options); const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -45,7 +45,7 @@ describe('Ng New Schematic', () => { it('should should set the prefix in angular.json and in app.component.ts', async () => { const options = { ...defaultOptions, prefix: 'pre' }; - const tree = await schematicRunner.runSchematicAsync('ng-new', options).toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', options); const content = tree.readContent('/bar/angular.json'); expect(content).toMatch(/"prefix": "pre"/); }); @@ -56,7 +56,7 @@ describe('Ng New Schematic', () => { version: '6.0.0', }; - const tree = await schematicRunner.runSchematicAsync('ng-new', options).toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', options); const moduleContent = tree.readContent('/foo/src/app/app.module.ts'); expect(moduleContent).toMatch(/declarations:\s*\[\s*AppComponent\s*\]/m); }); @@ -64,7 +64,7 @@ describe('Ng New Schematic', () => { it('createApplication=false should create an empty workspace', async () => { const options = { ...defaultOptions, createApplication: false }; - const tree = await schematicRunner.runSchematicAsync('ng-new', options).toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', options); const files = tree.files; expect(files).toContain('/bar/angular.json'); expect(files).not.toContain('/bar/src'); @@ -73,15 +73,16 @@ describe('Ng New Schematic', () => { it('minimal=true should not create an e2e target', async () => { const options = { ...defaultOptions, minimal: true }; - const tree = await schematicRunner.runSchematicAsync('ng-new', options).toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', options); const confContent = JSON.parse(tree.readContent('/bar/angular.json')); expect(confContent.projects.foo.e2e).toBeUndefined(); }); it('should add packageManager option in angular.json', async () => { - const tree = await schematicRunner - .runSchematicAsync('ng-new', { ...defaultOptions, packageManager: 'npm' }) - .toPromise(); + const tree = await schematicRunner.runSchematic('ng-new', { + ...defaultOptions, + packageManager: 'npm', + }); const { cli } = JSON.parse(tree.readContent('/bar/angular.json')); expect(cli.packageManager).toBe('npm'); }); diff --git a/packages/schematics/angular/pipe/index_spec.ts b/packages/schematics/angular/pipe/index_spec.ts index 083b00a901c3..6c4822f06a3e 100644 --- a/packages/schematics/angular/pipe/index_spec.ts +++ b/packages/schematics/angular/pipe/index_spec.ts @@ -41,16 +41,14 @@ describe('Pipe Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a pipe', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.pipe.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.pipe.ts'); @@ -64,7 +62,7 @@ describe('Pipe Schematic', () => { it('should import into a specified module', async () => { const options = { ...defaultOptions, module: 'app.module.ts' }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, appTree); const appModule = getFileContent(tree, '/projects/bar/src/app/app.module.ts'); expect(appModule).toMatch(/import { FooPipe } from '.\/foo.pipe'/); @@ -73,18 +71,18 @@ describe('Pipe Schematic', () => { it('should fail if specified module does not exist', async () => { const options = { ...defaultOptions, module: '/projects/bar/src/app/app.moduleXXX.ts' }; - await expectAsync( - schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(), - ).toBeRejected(); + await expectAsync(schematicRunner.runSchematic('pipe', options, appTree)).toBeRejected(); }); it('should handle a path in the name and module options', async () => { - appTree = await schematicRunner - .runSchematicAsync('module', { name: 'admin/module', project: 'bar' }, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic( + 'module', + { name: 'admin/module', project: 'bar' }, + appTree, + ); const options = { ...defaultOptions, module: 'admin/module' }; - appTree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('pipe', options, appTree); const content = appTree.readContent('/projects/bar/src/app/admin/module/module.module.ts'); expect(content).toMatch(/import { FooPipe } from '\.\.\/\.\.\/foo.pipe'/); @@ -93,7 +91,7 @@ describe('Pipe Schematic', () => { it('should export the pipe', async () => { const options = { ...defaultOptions, export: true }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, appTree); const appModuleContent = getFileContent(tree, '/projects/bar/src/app/app.module.ts'); expect(appModuleContent).toMatch(/exports: \[\n(\s*) {2}FooPipe\n\1\]/); }); @@ -101,7 +99,7 @@ describe('Pipe Schematic', () => { it('should respect the flat flag', async () => { const options = { ...defaultOptions, flat: false }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.pipe.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.pipe.ts'); @@ -115,7 +113,7 @@ describe('Pipe Schematic', () => { const routingModulePath = `/projects/bar/src/app/${routingFileName}`; const newTree = createAppModule(appTree, routingModulePath); const options = { ...defaultOptions, module: routingFileName }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, newTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, newTree); const content = getFileContent(tree, routingModulePath); expect(content).toMatch(/import { FooPipe } from '.\/foo.pipe/); }); @@ -126,20 +124,18 @@ describe('Pipe Schematic', () => { appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); // should fail without a module in that dir - await expectAsync( - schematicRunner.runSchematicAsync('pipe', defaultOptions, appTree).toPromise(), - ).toBeRejected(); + await expectAsync(schematicRunner.runSchematic('pipe', defaultOptions, appTree)).toBeRejected(); // move the module appTree.rename('/projects/bar/src/app/app.module.ts', '/projects/bar/custom/app/app.module.ts'); - appTree = await schematicRunner.runSchematicAsync('pipe', defaultOptions, appTree).toPromise(); + appTree = await schematicRunner.runSchematic('pipe', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo.pipe.ts'); }); it('should respect the skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, appTree); const files = tree.files; expect(files).not.toContain('/projects/bar/src/app/foo.pipe.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.pipe.ts'); @@ -147,7 +143,7 @@ describe('Pipe Schematic', () => { it('should create a standalone pipe', async () => { const options = { ...defaultOptions, standalone: true }; - const tree = await schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('pipe', options, appTree); const moduleContent = tree.readContent('/projects/bar/src/app/app.module.ts'); const pipeContent = tree.readContent('/projects/bar/src/app/foo.pipe.ts'); expect(pipeContent).toContain('standalone: true'); @@ -158,8 +154,8 @@ describe('Pipe Schematic', () => { it('should error when class name contains invalid characters', async () => { const options = { ...defaultOptions, name: '1Clazz' }; - await expectAsync( - schematicRunner.runSchematicAsync('pipe', options, appTree).toPromise(), - ).toBeRejectedWithError('Class name "1Clazz" is invalid.'); + await expectAsync(schematicRunner.runSchematic('pipe', options, appTree)).toBeRejectedWithError( + 'Class name "1Clazz" is invalid.', + ); }); }); diff --git a/packages/schematics/angular/resolver/index_spec.ts b/packages/schematics/angular/resolver/index_spec.ts index 01c17bda6668..ebc72825f0d7 100644 --- a/packages/schematics/angular/resolver/index_spec.ts +++ b/packages/schematics/angular/resolver/index_spec.ts @@ -37,16 +37,12 @@ describe('resolver Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a resolver', async () => { - const tree = await schematicRunner - .runSchematicAsync('resolver', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('resolver', defaultOptions, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo.resolver.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.resolver.ts'); @@ -55,7 +51,7 @@ describe('resolver Schematic', () => { it('should respect the skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('resolver', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('resolver', options, appTree); const files = tree.files; expect(files).not.toContain('/projects/bar/src/app/foo.resolver.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo.resolver.ts'); @@ -64,7 +60,7 @@ describe('resolver Schematic', () => { it('should respect the flat flag', async () => { const options = { ...defaultOptions, flat: false }; - const tree = await schematicRunner.runSchematicAsync('resolver', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('resolver', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.resolver.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.resolver.ts'); @@ -74,16 +70,16 @@ describe('resolver Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner - .runSchematicAsync('resolver', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('resolver', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo.resolver.ts'); }); it('should create a functional resolver', async () => { - const tree = await schematicRunner - .runSchematicAsync('resolver', { ...defaultOptions, functional: true }, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'resolver', + { ...defaultOptions, functional: true }, + appTree, + ); const fileString = tree.readContent('/projects/bar/src/app/foo.resolver.ts'); expect(fileString).toContain( 'export const fooResolver: ResolveFn = (route, state) => {', @@ -91,9 +87,11 @@ describe('resolver Schematic', () => { }); it('should create a helper function to run a functional resolver in a test', async () => { - const tree = await schematicRunner - .runSchematicAsync('resolver', { ...defaultOptions, functional: true }, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'resolver', + { ...defaultOptions, functional: true }, + appTree, + ); const fileString = tree.readContent('/projects/bar/src/app/foo.resolver.spec.ts'); expect(fileString).toContain( 'const executeResolver: ResolveFn = (...resolverParameters) => ', diff --git a/packages/schematics/angular/service-worker/index_spec.ts b/packages/schematics/angular/service-worker/index_spec.ts index 48c088ed897a..8c25e40fec73 100644 --- a/packages/schematics/angular/service-worker/index_spec.ts +++ b/packages/schematics/angular/service-worker/index_spec.ts @@ -39,16 +39,12 @@ describe('Service Worker Schematic', () => { }; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should add `serviceWorker` option to build target', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const configText = tree.readContent('/angular.json'); const buildConfig = JSON.parse(configText).projects.bar.architect.build; @@ -56,9 +52,7 @@ describe('Service Worker Schematic', () => { }); it('should add the necessary dependency', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const pkgText = tree.readContent('/package.json'); const pkg = JSON.parse(pkgText); const version = pkg.dependencies['@angular/core']; @@ -66,17 +60,13 @@ describe('Service Worker Schematic', () => { }); it('should import ServiceWorkerModule', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const pkgText = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(pkgText).toMatch(/import \{ ServiceWorkerModule \} from '@angular\/service-worker'/); }); it('should add the SW import to the NgModule imports', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const pkgText = tree.readContent('/projects/bar/src/app/app.module.ts'); expect(pkgText).toMatch( new RegExp( @@ -91,9 +81,7 @@ describe('Service Worker Schematic', () => { }); it('should put the ngsw-config.json file in the project root', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const path = '/projects/bar/ngsw-config.json'; expect(tree.exists(path)).toEqual(true); @@ -116,28 +104,28 @@ describe('Service Worker Schematic', () => { ...defaultOptions, project: name, }; - const rootAppTree = await schematicRunner - .runSchematicAsync('application', rootAppOptions, appTree) - .toPromise(); - const treeInRoot = await schematicRunner - .runSchematicAsync('service-worker', rootSWOptions, rootAppTree) - .toPromise(); + const rootAppTree = await schematicRunner.runSchematic('application', rootAppOptions, appTree); + const treeInRoot = await schematicRunner.runSchematic( + 'service-worker', + rootSWOptions, + rootAppTree, + ); const pkgTextInRoot = treeInRoot.readContent('/ngsw-config.json'); const configInRoot = JSON.parse(pkgTextInRoot); expect(configInRoot.$schema).toBe(`./${pathToNgswConfigSchema}`); - const treeNotInRoot = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const treeNotInRoot = await schematicRunner.runSchematic( + 'service-worker', + defaultOptions, + appTree, + ); const pkgTextNotInRoot = treeNotInRoot.readContent('/projects/bar/ngsw-config.json'); const configNotInRoot = JSON.parse(pkgTextNotInRoot); expect(configNotInRoot.$schema).toBe(`../../${pathToNgswConfigSchema}`); }); it('should add root assets RegExp', async () => { - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const pkgText = tree.readContent('/projects/bar/ngsw-config.json'); const config = JSON.parse(pkgText); expect(config.assetGroups[1].resources.files).toContain( @@ -149,9 +137,7 @@ describe('Service Worker Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.architect.build.options.resourcesOutputPath = 'outDir'; appTree.overwrite('/angular.json', JSON.stringify(config)); - const tree = await schematicRunner - .runSchematicAsync('service-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('service-worker', defaultOptions, appTree); const pkgText = tree.readContent('/projects/bar/ngsw-config.json'); const ngswConfig = JSON.parse(pkgText); expect(ngswConfig.assetGroups[1].resources.files).toContain( @@ -171,12 +157,8 @@ describe('Service Worker Schematic', () => { project: name, }; - let tree = await schematicRunner - .runSchematicAsync('application', rootAppOptions, appTree) - .toPromise(); - tree = await schematicRunner - .runSchematicAsync('service-worker', rootSWOptions, tree) - .toPromise(); + let tree = await schematicRunner.runSchematic('application', rootAppOptions, appTree); + tree = await schematicRunner.runSchematic('service-worker', rootSWOptions, tree); expect(tree.exists('/ngsw-config.json')).toBe(true); const { projects } = JSON.parse(tree.readContent('/angular.json')); diff --git a/packages/schematics/angular/service/index_spec.ts b/packages/schematics/angular/service/index_spec.ts index 96d80fa9795e..79c9f9d87229 100644 --- a/packages/schematics/angular/service/index_spec.ts +++ b/packages/schematics/angular/service/index_spec.ts @@ -37,16 +37,14 @@ describe('Service Schematic', () => { }; let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a service', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('service', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('service', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.service.spec.ts'); expect(files).toContain('/projects/bar/src/app/foo/foo.service.ts'); @@ -55,7 +53,7 @@ describe('Service Schematic', () => { it('service should be tree-shakeable', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('service', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('service', options, appTree); const content = tree.readContent('/projects/bar/src/app/foo/foo.service.ts'); expect(content).toMatch(/providedIn: 'root'/); }); @@ -63,7 +61,7 @@ describe('Service Schematic', () => { it('should respect the skipTests flag', async () => { const options = { ...defaultOptions, skipTests: true }; - const tree = await schematicRunner.runSchematicAsync('service', options, appTree).toPromise(); + const tree = await schematicRunner.runSchematic('service', options, appTree); const files = tree.files; expect(files).toContain('/projects/bar/src/app/foo/foo.service.ts'); expect(files).not.toContain('/projects/bar/src/app/foo/foo.service.spec.ts'); @@ -73,9 +71,7 @@ describe('Service Schematic', () => { const config = JSON.parse(appTree.readContent('/angular.json')); config.projects.bar.sourceRoot = 'projects/bar/custom'; appTree.overwrite('/angular.json', JSON.stringify(config, null, 2)); - appTree = await schematicRunner - .runSchematicAsync('service', defaultOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('service', defaultOptions, appTree); expect(appTree.files).toContain('/projects/bar/custom/app/foo/foo.service.ts'); }); }); diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index 22d14694d06c..df207cfcb607 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -56,27 +56,23 @@ describe('Universal Schematic', () => { let appTree: UnitTestTree; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', initialWorkspaceAppOptions, appTree) - .toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic( + 'application', + initialWorkspaceAppOptions, + appTree, + ); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should create a root module file', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.server.module.ts'; expect(tree.exists(filePath)).toEqual(true); }); it('should create a main file', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/src/main.server.ts'; expect(tree.exists(filePath)).toEqual(true); const contents = tree.readContent(filePath); @@ -84,9 +80,11 @@ describe('Universal Schematic', () => { }); it('should create a tsconfig file for the workspace project', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', workspaceUniversalOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic( + 'universal', + workspaceUniversalOptions, + appTree, + ); const filePath = '/tsconfig.server.json'; expect(tree.exists(filePath)).toEqual(true); const contents = parseJson(tree.readContent(filePath).toString()); @@ -105,9 +103,7 @@ describe('Universal Schematic', () => { }); it('should create a tsconfig file for a generated application', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/tsconfig.server.json'; expect(tree.exists(filePath)).toEqual(true); const contents = parseJson(tree.readContent(filePath).toString()); @@ -126,18 +122,14 @@ describe('Universal Schematic', () => { }); it('should add dependency: @angular/platform-server', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/package.json'; const contents = tree.readContent(filePath); expect(contents).toMatch(/"@angular\/platform-server": "/); }); it('should update workspace with a server target', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/angular.json'; const contents = tree.readContent(filePath); const config = JSON.parse(contents.toString()); @@ -151,9 +143,7 @@ describe('Universal Schematic', () => { }); it('should update workspace with a build target outputPath', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/angular.json'; const contents = tree.readContent(filePath); const config = JSON.parse(contents.toString()); @@ -162,18 +152,14 @@ describe('Universal Schematic', () => { }); it('should add a server transition to BrowserModule import', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/src/app/app.module.ts'; const contents = tree.readContent(filePath); expect(contents).toMatch(/BrowserModule\.withServerTransition\({ appId: 'serverApp' }\)/); }); it('should wrap the bootstrap call in a DOMContentLoaded event handler', async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/src/main.ts'; const contents = tree.readContent(filePath); expect(contents).toContain(`document.addEventListener('DOMContentLoaded', bootstrap);`); @@ -197,15 +183,13 @@ describe('Universal Schematic', () => { `, ); - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const contents = tree.readContent(filePath); expect(contents).toContain(`document.addEventListener('DOMContentLoaded', bootstrap);`); }); it('should install npm dependencies', async () => { - await schematicRunner.runSchematicAsync('universal', defaultOptions, appTree).toPromise(); + await schematicRunner.runSchematic('universal', defaultOptions, appTree); expect(schematicRunner.tasks.length).toBe(1); expect(schematicRunner.tasks[0].name).toBe('node-package'); expect((schematicRunner.tasks[0].options as { command: string }).command).toBe('install'); @@ -216,18 +200,13 @@ describe('Universal Schematic', () => { const appTsConfigContent = appTree.readContent(appTsConfigPath); appTree.overwrite(appTsConfigPath, '// comment in json file\n' + appTsConfigContent); - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); - + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/tsconfig.server.json'; expect(tree.exists(filePath)).toEqual(true); }); it(`should not add import to '@angular/localize' as type in 'tsconfig.server.json' when it's not a dependency`, async () => { - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const { compilerOptions } = tree.readJson('/projects/bar/tsconfig.server.json') as { compilerOptions: CompilerOptions; }; @@ -240,10 +219,7 @@ describe('Universal Schematic', () => { type: NodeDependencyType.Default, version: 'latest', }); - const tree = await schematicRunner - .runSchematicAsync('universal', defaultOptions, appTree) - .toPromise(); - + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const { compilerOptions } = tree.readJson('/projects/bar/tsconfig.server.json') as { compilerOptions: CompilerOptions; }; diff --git a/packages/schematics/angular/web-worker/index_spec.ts b/packages/schematics/angular/web-worker/index_spec.ts index 25f476c84204..13567aca0618 100644 --- a/packages/schematics/angular/web-worker/index_spec.ts +++ b/packages/schematics/angular/web-worker/index_spec.ts @@ -41,24 +41,18 @@ describe('Web Worker Schematic', () => { }; beforeEach(async () => { - appTree = await schematicRunner.runSchematicAsync('workspace', workspaceOptions).toPromise(); - appTree = await schematicRunner - .runSchematicAsync('application', appOptions, appTree) - .toPromise(); + appTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + appTree = await schematicRunner.runSchematic('application', appOptions, appTree); }); it('should put the worker file in the project root', async () => { - const tree = await schematicRunner - .runSchematicAsync('web-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('web-worker', defaultOptions, appTree); const path = '/projects/bar/src/app/app.worker.ts'; expect(tree.exists(path)).toEqual(true); }); it('should put the tsconfig.worker.json file in the project root', async () => { - const tree = await schematicRunner - .runSchematicAsync('web-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('web-worker', defaultOptions, appTree); const path = '/projects/bar/tsconfig.worker.json'; expect(tree.exists(path)).toEqual(true); @@ -67,9 +61,7 @@ describe('Web Worker Schematic', () => { }); it('should add the webWorkerTsConfig option to workspace', async () => { - const tree = await schematicRunner - .runSchematicAsync('web-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('web-worker', defaultOptions, appTree); const { projects } = JSON.parse(tree.readContent('/angular.json')); expect(projects.bar.architect.build.options.webWorkerTsConfig).toBe( 'projects/bar/tsconfig.worker.json', @@ -77,9 +69,7 @@ describe('Web Worker Schematic', () => { }); it('should add snippet to sibling file', async () => { - const tree = await schematicRunner - .runSchematicAsync('web-worker', defaultOptions, appTree) - .toPromise(); + const tree = await schematicRunner.runSchematic('web-worker', defaultOptions, appTree); const appComponent = tree.readContent('/projects/bar/src/app/app.component.ts'); expect(appComponent).toContain(`new Worker(new URL('./${defaultOptions.name}.worker`); expect(appComponent).toContain('console.log(`page got message: ${data}`)'); @@ -89,13 +79,8 @@ describe('Web Worker Schematic', () => { const rootAppOptions = { ...appOptions, projectRoot: '', name: 'foo' }; const workerOptions = { ...defaultOptions, project: 'foo' }; - appTree = await schematicRunner - .runSchematicAsync('application', rootAppOptions, appTree) - .toPromise(); - const tree = await schematicRunner - .runSchematicAsync('web-worker', workerOptions, appTree) - .toPromise(); - + appTree = await schematicRunner.runSchematic('application', rootAppOptions, appTree); + const tree = await schematicRunner.runSchematic('web-worker', workerOptions, appTree); const path = '/tsconfig.worker.json'; expect(tree.exists(path)).toEqual(true); diff --git a/packages/schematics/angular/workspace/index_spec.ts b/packages/schematics/angular/workspace/index_spec.ts index c84d1f174399..1b0f9561b0ac 100644 --- a/packages/schematics/angular/workspace/index_spec.ts +++ b/packages/schematics/angular/workspace/index_spec.ts @@ -24,7 +24,7 @@ describe('Workspace Schematic', () => { it('should create all files of a workspace', async () => { const options = { ...defaultOptions }; - const tree = await schematicRunner.runSchematicAsync('workspace', options).toPromise(); + const tree = await schematicRunner.runSchematic('workspace', options); const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -42,19 +42,19 @@ describe('Workspace Schematic', () => { }); it('should set the name in package.json', async () => { - const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); + const tree = await schematicRunner.runSchematic('workspace', defaultOptions); const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.name).toEqual('foo'); }); it('should set the CLI version in package.json', async () => { - const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); + const tree = await schematicRunner.runSchematic('workspace', defaultOptions); const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.devDependencies['@angular/cli']).toMatch('6.0.0'); }); it('should use the latest known versions in package.json', async () => { - const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); + const tree = await schematicRunner.runSchematic('workspace', defaultOptions); const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.dependencies['@angular/core']).toEqual(latestVersions.Angular); expect(pkg.dependencies['rxjs']).toEqual(latestVersions['rxjs']); @@ -63,9 +63,10 @@ describe('Workspace Schematic', () => { }); it('should create correct files when using minimal', async () => { - const tree = await schematicRunner - .runSchematicAsync('workspace', { ...defaultOptions, minimal: true }) - .toPromise(); + const tree = await schematicRunner.runSchematic('workspace', { + ...defaultOptions, + minimal: true, + }); const files = tree.files; expect(files).toEqual( jasmine.arrayContaining([ @@ -84,15 +85,16 @@ describe('Workspace Schematic', () => { }); it('should set the `enableI18nLegacyMessageIdFormat` Angular compiler option', async () => { - const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); + const tree = await schematicRunner.runSchematic('workspace', defaultOptions); const { angularCompilerOptions } = parseJson(tree.readContent('tsconfig.json').toString()); expect(angularCompilerOptions.enableI18nLegacyMessageIdFormat).toBe(false); }); it('should not add strict compiler options when false', async () => { - const tree = await schematicRunner - .runSchematicAsync('workspace', { ...defaultOptions, strict: false }) - .toPromise(); + const tree = await schematicRunner.runSchematic('workspace', { + ...defaultOptions, + strict: false, + }); const { compilerOptions, angularCompilerOptions } = parseJson( tree.readContent('tsconfig.json').toString(), ); @@ -103,9 +105,10 @@ describe('Workspace Schematic', () => { }); it('should add strict compiler options when true', async () => { - const tree = await schematicRunner - .runSchematicAsync('workspace', { ...defaultOptions, strict: true }) - .toPromise(); + const tree = await schematicRunner.runSchematic('workspace', { + ...defaultOptions, + strict: true, + }); const { compilerOptions, angularCompilerOptions } = parseJson( tree.readContent('tsconfig.json').toString(), ); @@ -114,9 +117,7 @@ describe('Workspace Schematic', () => { }); it('should add vscode testing configuration', async () => { - const tree = await schematicRunner - .runSchematicAsync('workspace', { ...defaultOptions }) - .toPromise(); + const tree = await schematicRunner.runSchematic('workspace', { ...defaultOptions }); const { configurations } = parseJson(tree.readContent('.vscode/launch.json').toString()); expect(configurations).toContain(jasmine.objectContaining({ name: 'ng test' })); const { tasks } = parseJson(tree.readContent('.vscode/tasks.json').toString()); @@ -124,9 +125,10 @@ describe('Workspace Schematic', () => { }); it('should not add vscode testing configuration when using minimal', async () => { - const tree = await schematicRunner - .runSchematicAsync('workspace', { ...defaultOptions, minimal: true }) - .toPromise(); + const tree = await schematicRunner.runSchematic('workspace', { + ...defaultOptions, + minimal: true, + }); const { configurations } = parseJson(tree.readContent('.vscode/launch.json').toString()); expect(configurations).not.toContain(jasmine.objectContaining({ name: 'ng test' })); const { tasks } = parseJson(tree.readContent('.vscode/tasks.json').toString()); From 27b22b02dccef2e2d4f2f1f03910f4b70c676f84 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 8 Dec 2022 12:44:50 +0000 Subject: [PATCH 1207/1388] fix(@angular-devkit/build-angular): include sources in generated Sass source maps This commits enables `sourceMapIncludeSources` when using the modern Sass API so that sources are included in generated source map. Closes #24394 --- .../angular_devkit/build_angular/src/webpack/configs/styles.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts index b1ec2fcec2d0..eac8f9ab8d54 100644 --- a/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts +++ b/packages/angular_devkit/build_angular/src/webpack/configs/styles.ts @@ -360,6 +360,7 @@ function getSassLoaderOptions( quietDeps: !verbose, verbose, syntax: indentedSyntax ? 'indented' : 'scss', + sourceMapIncludeSources: true, }), } : { From afe9feaa45913cbebe7f22c678d693d96f38584a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 9 Dec 2022 08:08:54 +0000 Subject: [PATCH 1208/1388] fix(@angular-devkit/build-angular): update locale setting snippet to use `globalThis`. This commit changes how we set the `LOCALE_ID` when using the `localize` option - We now include the locale setting snippet only in the main bundle. - We use `globalThis` to set the the value globally and be accessible across module boundaries. This is important as in some causes such as when using MF `@angular/core` can be located in a bundles others than `main` and `vendor`. --- .../angular_devkit/build_angular/src/utils/i18n-inlining.ts | 2 +- .../angular_devkit/build_angular/src/utils/process-bundle.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts index beb5734db539..4c32203e67f3 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts @@ -42,7 +42,7 @@ function emittedFilesToInlineOptions( code: fs.readFileSync(originalPath, 'utf8'), outputPath, missingTranslation, - setLocale: emittedFile.name === 'main' || emittedFile.name === 'vendor', + setLocale: emittedFile.name === 'main', }; originalFiles.push(originalPath); diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 3017163e7ce4..90beec2d0b07 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -272,7 +272,7 @@ async function inlineLocalesDirect(ast: ParseResult, options: InlineOptions) { let outputSource: import('webpack').sources.Source = content; if (options.setLocale) { - const setLocaleText = `var $localize=Object.assign(void 0===$localize?{}:$localize,{locale:"${locale}"});\n`; + const setLocaleText = `globalThis.$localize=Object.assign(globalThis.$localize || {},{locale:"${locale}"});\n`; // If locale data is provided, load it and prepend to file let localeDataSource; From 97373016cfe2635125015b2fec390f43d22ebf31 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 12 Dec 2022 08:50:41 +0000 Subject: [PATCH 1209/1388] fix(@angular-devkit/build-angular): downlevel class private methods when targeting Safari <=v15 This commits enables `@babel/plugin-proposal-private-methods` when targeting Safari <=v15 as this is needed to handle private class methods when using `@babel/plugin-proposal-class-properties`. Closes #24411 --- .../src/babel/presets/application.ts | 5 +- .../tests/misc/safari-15-class-properties.ts | 64 +++++++++++-------- 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/babel/presets/application.ts b/packages/angular_devkit/build_angular/src/babel/presets/application.ts index 13b184d6e37e..02011ab5a701 100644 --- a/packages/angular_devkit/build_angular/src/babel/presets/application.ts +++ b/packages/angular_devkit/build_angular/src/babel/presets/application.ts @@ -197,7 +197,10 @@ export default function (api: unknown, options: ApplicationPresetOptions) { // downlevel class properties by ensuring the class properties Babel plugin // is always included- regardless of the preset-env targets. if (options.supportedBrowsers.some((b) => safariClassFieldScopeBugBrowsers.has(b))) { - includePlugins.push('@babel/plugin-proposal-class-properties'); + includePlugins.push( + '@babel/plugin-proposal-class-properties', + '@babel/plugin-proposal-private-methods', + ); } presets.push([ diff --git a/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts b/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts index a0dce7186cff..ef9b42b85b11 100644 --- a/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts +++ b/tests/legacy-cli/e2e/tests/misc/safari-15-class-properties.ts @@ -1,6 +1,6 @@ -import { expectFileToExist, readFile, writeFile } from '../../utils/fs'; +import assert from 'node:assert'; +import { expectFileToExist, readFile, writeFile, replaceInFile } from '../../utils/fs'; import { ng } from '../../utils/process'; -import { updateJsonFile } from '../../utils/project'; const unexpectedStaticFieldErrorMessage = 'Found unexpected static field. This indicates that the Safari <=v15 ' + @@ -8,15 +8,19 @@ const unexpectedStaticFieldErrorMessage = 'See: https://github.com/angular/angular-cli/pull/24357'; export default async function () { - await updateJsonFile('angular.json', (workspace) => { - const build = workspace.projects['test-project'].architect.build; - build.defaultConfiguration = undefined; - build.options = { - ...build.options, - optimization: false, - outputHashing: 'none', - }; - }); + // Add a private method + await replaceInFile( + 'src/app/app.component.ts', + `title = 'test-project';`, + ` + #myPrivateMethod() { return 1 } + + constructor() { + console.log(this.#myPrivateMethod) + } + + title = 'test-project';`, + ); // Matches two types of static fields that indicate that the Safari bug // may still occur. With the workaround this should not appear in bundles. @@ -24,33 +28,43 @@ export default async function () { // - static #_ = this.ecmp = bla const staticIndicatorRegex = /static\s+(\{|#[_\d]+\s+=)/; - await ng('build'); + await ng('build', '--configuration=development'); await expectFileToExist('dist/test-project/main.js'); const mainContent = await readFile('dist/test-project/main.js'); - // TODO: This default cause can be removed in the future when Safari v15 // is longer included in the default browserlist configuration of CLI apps. - if (staticIndicatorRegex.test(mainContent)) { - throw new Error(unexpectedStaticFieldErrorMessage); - } + assert.doesNotMatch(mainContent, staticIndicatorRegex, unexpectedStaticFieldErrorMessage); await writeFile('.browserslistrc', 'last 1 chrome version'); - - await ng('build'); + await ng('build', '--configuration=development'); await expectFileToExist('dist/test-project/main.js'); const mainContentChromeLatest = await readFile('dist/test-project/main.js'); - if (!staticIndicatorRegex.test(mainContentChromeLatest)) { - throw new Error('Expected static fields to be used when Safari <=v15 is not targeted.'); - } + assert.match( + mainContentChromeLatest, + staticIndicatorRegex, + 'Expected static fields to be used when Safari <=v15 is not targeted.', + ); + assert.match( + mainContentChromeLatest, + /#myPrivateMethod/, + 'Expected private method to be used when Safari <=v15 is not targeted.', + ); await writeFile('.browserslistrc', 'Safari <=15'); - await ng('build'); + await ng('build', '--configuration=development'); await expectFileToExist('dist/test-project/main.js'); const mainContentSafari15Explicit = await readFile('dist/test-project/main.js'); + assert.doesNotMatch( + mainContentSafari15Explicit, + staticIndicatorRegex, + unexpectedStaticFieldErrorMessage, + ); - if (staticIndicatorRegex.test(mainContentSafari15Explicit)) { - throw new Error(unexpectedStaticFieldErrorMessage); - } + assert.match( + mainContentSafari15Explicit, + /var _myPrivateMethod/, + 'Expected private method to be downlevelled when Safari <=v15 is targeted', + ); } From de4d0684517a8b4ba26c0d4c14695c1621a5a72a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 12 Dec 2022 08:05:52 +0000 Subject: [PATCH 1210/1388] build: lock file maintenance --- yarn.lock | 277 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 223 insertions(+), 54 deletions(-) diff --git a/yarn.lock b/yarn.lock index d63bbadac4fd..ec3c2c5e5435 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1345,6 +1345,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.2.tgz#cdc8e99494d80a6ebfc7abc41914c4a8b98314ae" integrity sha512-3CjbygjFHmtxDW59FOUM1T28G+aVqzbM+cNNinMgRUq+bmAstJdqmJL/KqpUwuCRTri4BgHJRWQbHOQFLwIpxw== +"@esbuild/android-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" + integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== + "@esbuild/android-arm@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" @@ -1355,46 +1360,91 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.2.tgz#585ac1f25abce4c7b996f0a84f33f0ae6df043cb" integrity sha512-t8zq/Ad8njye3tYkbdBYAEGBExCyqFuPnKmKgLBF9+nIwAS/V3FYck6BjAx813JCGXkNsR1iriS8jQFwydT+FA== +"@esbuild/android-arm@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" + integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== + "@esbuild/android-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.2.tgz#544d96e13f9551365b360d1139bed3c1da5cd575" integrity sha512-J5pzzVs9gHRQff8vUBhGMRQU1avwD9IVTSfzhdnKRqlxq0hsdcgZxH95Ckj/q2KJ4nMPYfDBSRXrrvQ4PyMpFA== +"@esbuild/android-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" + integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== + "@esbuild/darwin-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.2.tgz#f417bc18cb80cfaa95aecb8ddc9e6a74be26c92c" integrity sha512-XmjlYmR1UTEdMT2X3TxnA0hG8zOi3q/BzqNN6/PDBxw/UxE9gdj7LGwiQus5HHZM03vSvjRO7WJ7qaJBGBWnpQ== +"@esbuild/darwin-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" + integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== + "@esbuild/darwin-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.2.tgz#d2695c66fd8a4e17a2f7d2c9f2bd6babf1c9c161" integrity sha512-nq5cXgzbXHhBqZEPpuXrf2+BV6QWUM8vAyT/ElJrdIkoGOHwNQJEqZHl3KOWK+1V3KXEXgJhh7DsLixIc677ZQ== +"@esbuild/darwin-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" + integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== + "@esbuild/freebsd-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.2.tgz#3abbf2a113dbcb77f253f031c412a27874a31b71" integrity sha512-1QuZr7GnoipDYMFJDucqXmVvJZidZuHbvw5QLzBehYq67GR1Jub9pSo6O0Rt4LtKnu3TF2K/bjgzPJAGFY6W4Q== +"@esbuild/freebsd-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" + integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== + "@esbuild/freebsd-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.2.tgz#7e68876fbe0e6e8fc9f45f880a2b393e61f54bf3" integrity sha512-uvbv99Wg2T489bqUz4gYVb2IpSSZZP/uTkaZpaLN+h3x58FmsLT4o7bF1Refd2JIKuONxSobljlk5/K/RD9SsQ== +"@esbuild/freebsd-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" + integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== + "@esbuild/linux-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.2.tgz#2d186a0f336a4022b38c0994404ad4541b850d46" integrity sha512-S7EwMhEUMzYfd9KTHJX7Y3bKz7/9sZDRJPp10EOQ3Qqp10WvX2G42Q2c7rfymnm9aM5ZWs+W8WgbLFAUnjC3Wg== +"@esbuild/linux-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" + integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== + "@esbuild/linux-arm@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.2.tgz#3a816b6349655ac5e80117947543028d8eedeaf8" integrity sha512-8n2UozHygOGXzgysim6GifKjv+lW4fs3mlfaoKerwBIOT9OBCo1Q4AjvbtU3F+2AGyo8eavxnj6Xxx0DRTOwiw== +"@esbuild/linux-arm@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" + integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== + "@esbuild/linux-ia32@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.2.tgz#6ec937d2c4a17db5c6bb0b898e86c42df97422f4" integrity sha512-TRz3MDvv65zXZ4NTJYi1yyVj17Qrsm8y6J8r4qIdd2qszRLPHmte4LAazPa7g+To6QfM2kL3gHmVhwV6GcYz0g== +"@esbuild/linux-ia32@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" + integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== + "@esbuild/linux-loong64@0.15.16": version "0.15.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" @@ -1405,61 +1455,121 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.2.tgz#6f611b6e03f5404b5e3d45040f0d743071b1229b" integrity sha512-yhHJCvPQjh/8wLEk336QzXMHYnMKJdzLcNAnXwVawSvsLqyzTYrGshrO1YMhzs5cWgR75DFNnhcAFgEtleAZOw== +"@esbuild/linux-loong64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" + integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== + "@esbuild/linux-mips64el@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.2.tgz#5c76d385d68189336b78dfc933a77d13465eee5c" integrity sha512-YwMpV41qIKRHASV4MaaA/PKk9CoZ4QyVyPXhUtLTO9kPWtWECRI4MTBrGIb9kGUpL6I+jiT4fAZn8YpWSGBkQg== +"@esbuild/linux-mips64el@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" + integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== + "@esbuild/linux-ppc64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.2.tgz#db567dd114122bcb034910d79000ea9cca9db897" integrity sha512-s4YuINcRxCA9TElEf2iBdG6oZWdNu2Eb6R9TbRBcZOTdcgdBKIinaVyEiQ8H6nmCafWCuuJT8u66zds2ET3t1Q== +"@esbuild/linux-ppc64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" + integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== + "@esbuild/linux-riscv64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.2.tgz#72e1fd9cc9972e662fcef9138636bd1259c3cd3a" integrity sha512-oacL6QGqVRhBCbBlFxODYfcCkB6tPmfanaWnsuHNI7m9LVkBuuDKpsC3XWOwkEQiLIJcvhhZKOkkgw49KxS1Dw== +"@esbuild/linux-riscv64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" + integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== + "@esbuild/linux-s390x@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.2.tgz#b0fd46338d0b4906cfc7e9c4b1850960432f2f7a" integrity sha512-5ifr0lshZbLI457Qe6y3MsDYv1cSOJ8awgi0HT14cS59WliT7bDkrr3kmDw/LqGOAPyDvDD+U8s2cFBSENetuA== +"@esbuild/linux-s390x@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" + integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== + "@esbuild/linux-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.2.tgz#f323afb5e3f433093078dbfa261e8148970ada20" integrity sha512-TA/ORYlP6h2pfB/dzrPTMFWd1MaUYy7kwblWdzwkUtsTAJAKJlZwBhkKftSaUNNU5wtXNJ9+ucMDf7vBPbDjlw== +"@esbuild/linux-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" + integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== + "@esbuild/netbsd-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.2.tgz#fa5c5ad79bbadfbd741423ee4ab22d2b0c55143f" integrity sha512-oBH2Aj4fL9FLlkIi2wYGckydKHVKmYrqiqt91i6kFE1mF7B05YYttrlOHAf3JzWIJQWyvzvsmoA/XFPf1sTgBw== +"@esbuild/netbsd-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" + integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== + "@esbuild/openbsd-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.2.tgz#a20232bdb2ed8731294bed401cbf0e10dada4540" integrity sha512-eKOpYr7CiF9GZxu18iOQGfzQ4htO6KGhXriW2raJvRO0G27Lu7ArAI/kW71yTPaFqlf9gCmCGaTPr2tmiUePVg== +"@esbuild/openbsd-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" + integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== + "@esbuild/sunos-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.2.tgz#d57d9b3121b028dcee8d7ec556b514a0545872c9" integrity sha512-1HsQLVnjhlscekE8H5Xj49xPvd0c74eoZEjh+OUnr+x7vCXdTVdFDgao9QM0H9zfioxJN1ZH7534LwxEaAWaIA== +"@esbuild/sunos-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" + integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== + "@esbuild/win32-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.2.tgz#a548cff2e5bcd5cdfe1431320b9fee81440d26f1" integrity sha512-G9AWjsnVxGQj8z0WgaDwTKgXzwc9zLPYDFoLE4oAGI/TQnft0eQjc+CKiWRyoa+a/c3XIFGXoWnW+17kbibSfA== +"@esbuild/win32-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" + integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== + "@esbuild/win32-ia32@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.2.tgz#8f96eb33303344ec70460a44d3189b673e29cf5b" integrity sha512-UJqmfPsiSX/wP1kY5JMordRqNU2r8n8ieXmNimp4r35sQEX3bjnSkPJ2E8BM8W8ecmEL+oDjYjulkTT3zSPa1g== +"@esbuild/win32-ia32@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" + integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== + "@esbuild/win32-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.2.tgz#01350ef54fb4b2a0b423072d30deceaa5c1c529e" integrity sha512-1+PQiGAbbGlIXXlp9i/5JRpodCsozGTjffaD4W1LgeoynWef38VD8NNC8yG366NYXHHHLR1pN6MQZ9r2na/S1A== +"@esbuild/win32-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" + integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -2981,9 +3091,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.11.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.11.tgz#1d455ac0211549a8409d3cdb371cd55cc971e8dc" - integrity sha512-KJ021B1nlQUBLopzZmPBVuGU9un7WJd/W4ya7Ih02B4Uwky5Nja0yGYav2EfYIk0RR2Q9oVhf60S2XR1BCWJ2g== + version "18.11.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.13.tgz#dff34f226ec1ac0432ae3b136ec5552bd3b9c0fe" + integrity sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w== "@types/node@12.20.24": version "12.20.24" @@ -3240,9 +3350,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.16" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.16.tgz#9ad7938c9dbe79a261e17adc1ed491de9999612c" - integrity sha512-Mh3OP0oh8X7O7F9m5AplC+XHYLBWuPKNkGVD3gIZFLFebBnuFI2Nz5Sf8WLvwGxECJ8YjifQvFdh79ubODkdug== + version "17.0.17" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.17.tgz#5672e5621f8e0fca13f433a8017aae4b7a2a03e7" + integrity sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g== dependencies: "@types/yargs-parser" "*" @@ -4223,7 +4333,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.2, cacache@^17.0.0: +cacache@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.2.tgz#ff2bd029bf45099b3fe711f56fbf138b846c8d6d" integrity sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ== @@ -4242,7 +4352,7 @@ cacache@17.0.2, cacache@^17.0.0: tar "^6.1.11" unique-filename "^3.0.0" -cacache@17.0.3: +cacache@17.0.3, cacache@^17.0.0: version "17.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.3.tgz#9ba14e0e50eca763ae7e2ee89036a948a13035ed" integrity sha512-pwsIK/grdM0cHpfVaNFxMdzElBtLJGsVPE+JnxqXP1l40O01Z1mfDE8MbRTuwomGq/UwEtGisOylutOEVJxEqg== @@ -4304,9 +4414,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001436" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz#22d7cbdbbbb60cdc4ca1030ccd6dea9f5de4848b" - integrity sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg== + version "1.0.30001439" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz#ab7371faeb4adff4b74dad1718a6fd122e45d9cb" + integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== caseless@~0.12.0: version "0.12.0" @@ -5254,9 +5364,9 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.4" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" - integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== + version "1.20.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" + integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -5264,6 +5374,7 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: function.prototype.name "^1.1.5" get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" has-symbols "^1.0.3" @@ -5279,8 +5390,8 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" unbox-primitive "^1.0.2" es-module-lexer@^0.9.0: @@ -5442,11 +5553,16 @@ esbuild-wasm@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== -esbuild-wasm@0.16.2, esbuild-wasm@^0.16.0: +esbuild-wasm@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== +esbuild-wasm@^0.16.0: + version "0.16.4" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.4.tgz#16fcfae88a753f2b1556b739d8297c0e9ada2363" + integrity sha512-Nh7aa9uazooaEIGubc8s0nQZFhnf035pJMTpMPBonzDchN6RPsQES5bojQo3zT2xSAuC9nEMg8Nxzc1iwigETw== + esbuild-windows-32@0.15.16: version "0.15.16" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" @@ -5490,7 +5606,7 @@ esbuild@0.15.16: esbuild-windows-64 "0.15.16" esbuild-windows-arm64 "0.15.16" -esbuild@0.16.2, esbuild@^0.16.0: +esbuild@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.2.tgz#5d864a37c12a8b19340ead348b2cd51b096bbde8" integrity sha512-Rv/CJquZKE00irDLDpk9jmWmtxx1NW+MGpBbNNouaDY0oBwk806uJ51WpLaJBQUxhZqLauX2rrNol5lVQceHJw== @@ -5518,6 +5634,34 @@ esbuild@0.16.2, esbuild@^0.16.0: "@esbuild/win32-ia32" "0.16.2" "@esbuild/win32-x64" "0.16.2" +esbuild@^0.16.0: + version "0.16.4" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd" + integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA== + optionalDependencies: + "@esbuild/android-arm" "0.16.4" + "@esbuild/android-arm64" "0.16.4" + "@esbuild/android-x64" "0.16.4" + "@esbuild/darwin-arm64" "0.16.4" + "@esbuild/darwin-x64" "0.16.4" + "@esbuild/freebsd-arm64" "0.16.4" + "@esbuild/freebsd-x64" "0.16.4" + "@esbuild/linux-arm" "0.16.4" + "@esbuild/linux-arm64" "0.16.4" + "@esbuild/linux-ia32" "0.16.4" + "@esbuild/linux-loong64" "0.16.4" + "@esbuild/linux-mips64el" "0.16.4" + "@esbuild/linux-ppc64" "0.16.4" + "@esbuild/linux-riscv64" "0.16.4" + "@esbuild/linux-s390x" "0.16.4" + "@esbuild/linux-x64" "0.16.4" + "@esbuild/netbsd-x64" "0.16.4" + "@esbuild/openbsd-x64" "0.16.4" + "@esbuild/sunos-x64" "0.16.4" + "@esbuild/win32-arm64" "0.16.4" + "@esbuild/win32-ia32" "0.16.4" + "@esbuild/win32-x64" "0.16.4" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6345,6 +6489,13 @@ google-protobuf@^3.6.1: resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4" integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" @@ -7905,9 +8056,9 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: ssri "^9.0.0" make-fetch-happen@^11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.0.1.tgz#b3c51663d018d9e11d57fdd4393a4c5a1a7d56eb" - integrity sha512-clv3IblugXn2CDUmqFhNzii3rjKa46u5wNeivc+QlLXkGI5FjLX3rGboo+y2kwf1pd8W0iDiC384cemeDtw9kw== + version "11.0.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz#a880370fb2452d528a5ca40b2d6308999773ab17" + integrity sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w== dependencies: agentkeepalive "^4.2.1" cacache "^17.0.0" @@ -7916,7 +8067,7 @@ make-fetch-happen@^11.0.0: https-proxy-agent "^5.0.0" is-lambda "^1.0.1" lru-cache "^7.7.1" - minipass "^3.1.6" + minipass "^4.0.0" minipass-collect "^1.0.2" minipass-fetch "^3.0.0" minipass-flush "^1.0.5" @@ -8105,11 +8256,11 @@ minipass-fetch@^2.0.3: encoding "^0.1.13" minipass-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.0.tgz#02481219ddbd3d30eb0e354016f680b10c6f2bcb" - integrity sha512-NSx3k5gR4Q5Ts2poCM/19d45VwhVLBtJZ6ypYcthj2BwmDx/e7lW8Aadnyt3edd2W0ecb+b0o7FYLRYE2AGcQg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.1.tgz#bae3789f668d82ffae3ea47edc6b78b8283b3656" + integrity sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw== dependencies: - minipass "^3.1.6" + minipass "^4.0.0" minipass-sized "^1.0.3" minizlib "^2.1.2" optionalDependencies: @@ -8511,9 +8662,9 @@ npm-packlist@^5.1.0: npm-normalize-package-bin "^2.0.0" npm-packlist@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.2.tgz#f24177ce5b3593223348157bcc3eff1db8fae7d6" - integrity sha512-d2+7RMySjVXssww23rV5NuIq1NzGvM04OlI5kwnvtYKfFTAPVs6Zxmxns2HRtJEA1oNj7D/BbFXeVAOLmW3N3Q== + version "7.0.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" + integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== dependencies: ignore-walk "^6.0.0" @@ -8559,12 +8710,12 @@ npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3 proc-log "^2.0.0" npm-registry-fetch@^14.0.0: - version "14.0.2" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.2.tgz#f637630d9005aeebe4d7411226fb11fa1628c5e8" - integrity sha512-TMenrMagFA9KF81E2bkS5XRyzERK4KXu70vgXt5+i8FcrFeLNgNsc6e5hekTqjDwPDkL3HGn/holWcXDMfnFgw== + version "14.0.3" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz#8545e321c2b36d2c6fe6e009e77e9f0e527f547b" + integrity sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA== dependencies: make-fetch-happen "^11.0.0" - minipass "^3.1.6" + minipass "^4.0.0" minipass-fetch "^3.0.0" minipass-json-stream "^1.0.1" minizlib "^2.1.2" @@ -9240,7 +9391,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.19, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18: +postcss@8.4.19: version "8.4.19" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== @@ -9249,6 +9400,15 @@ postcss@8.4.19, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.1 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18: + version "8.4.20" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" + integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9270,9 +9430,9 @@ prettier@2.7.1: integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== prettier@^2.0.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.0.tgz#c7df58393c9ba77d6fba3921ae01faf994fb9dc9" - integrity sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA== + version "2.8.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" + integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== pretty-bytes@^5.3.0: version "5.6.0" @@ -9927,9 +10087,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.6.0.tgz#2bff14b8680747fbb0228d102607d6a6e21859d7" - integrity sha512-qCgiBeSu2/AIOKWGFMiRkjPlGlcVwxAjwpGKQZOQYng+83Hip4PjrWHm7EQX1wnrvRqfTytEihRRfLHdX+hR4g== + version "3.7.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.7.3.tgz#d440adff5f89099fd1f552e4e4333045e3bc71d4" + integrity sha512-7e68MQbAWCX6mI4/0lG1WHd+NdNAlVamg0Zkd+8LZ/oXojligdGnCNyHlzXqXCZObyjs5FRc3AH0b17iJESGIQ== optionalDependencies: fsevents "~2.3.2" @@ -10008,7 +10168,7 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.56.1, sass@^1.55.0: +sass@1.56.1: version "1.56.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.1.tgz#94d3910cd468fd075fa87f5bb17437a0b617d8a7" integrity sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ== @@ -10017,6 +10177,15 @@ sass@1.56.1, sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@^1.55.0: + version "1.56.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.2.tgz#9433b345ab3872996c82a53a58c014fd244fd095" + integrity sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" uid "9c16682e4c9716734432789884f868212f95f563" @@ -10511,11 +10680,11 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.0.tgz#1e34554cbbc4728f5290674264e21b64aaf27ca7" - integrity sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw== + version "10.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.1.tgz#c61f85894bbc6929fc3746f05e31cf5b44c030d5" + integrity sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw== dependencies: - minipass "^3.1.1" + minipass "^4.0.0" ssri@^9.0.0, ssri@^9.0.1: version "9.0.1" @@ -10609,7 +10778,7 @@ string-argv@~0.3.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.trimend@^1.0.5: +string.prototype.trimend@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== @@ -10618,7 +10787,7 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.5: +string.prototype.trimstart@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== @@ -10745,13 +10914,13 @@ tar-stream@^2.1.4: readable-stream "^3.1.1" tar@^6.1.0, tar@^6.1.11, tar@^6.1.2, tar@^6.1.6: - version "6.1.12" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.12.tgz#3b742fb05669b55671fb769ab67a7791ea1a62e6" - integrity sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw== + version "6.1.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" + integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^3.0.0" + minipass "^4.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" @@ -11050,9 +11219,9 @@ typescript@4.8.4, typescript@~4.8.0: integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== typescript@^4.6.2: - version "4.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" - integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== + version "4.9.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== typescript@~4.7.4: version "4.7.4" From 67ffa8b40be04b0e671429063810fe5f52b2043a Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 9 Dec 2022 06:09:10 +0000 Subject: [PATCH 1211/1388] build: update github/codeql-action action to v2.1.36 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3873d39b0f54..9869480d83ad 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@b2a92eb56d8cb930006a1c6ed86b0782dd8a4297 # tag=v2.1.35 + uses: github/codeql-action/upload-sarif@a669cc5936cc5e1b6a362ec1ff9e410dc570d190 # tag=v2.1.36 with: sarif_file: results.sarif From 8fd08491a88bc2b088dcb3ac68a6c328167e38c3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 12 Dec 2022 16:26:30 +0000 Subject: [PATCH 1212/1388] fix(@angular-devkit/build-angular): display actionable error when a style does not exist in Karma builder Prior to this change the the error was not displayed correctly due to compilation being undefined. Closes #24416 --- .../karma/tests/options/styles_spec.ts | 23 +++++++-- .../webpack/plugins/styles-webpack-plugin.ts | 49 ++++++++++--------- 2 files changed, 45 insertions(+), 27 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/styles_spec.ts index bc7623828784..699aeebcb551 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/styles_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/styles_spec.ts @@ -16,7 +16,7 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { 'src/styles.css': 'p {display: none}', 'src/app/app.component.ts': ` import { Component } from '@angular/core'; - + @Component({ selector: 'app-root', template: '

Hello World

' @@ -27,7 +27,7 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { 'src/app/app.component.spec.ts': ` import { TestBed } from '@angular/core/testing'; import { AppComponent } from './app.component'; - + describe('AppComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ @@ -38,7 +38,7 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { ] }).compileComponents(); }); - + it('should not contain text that is hidden via css', () => { const fixture = TestBed.createComponent(AppComponent); expect(fixture.nativeElement.innerText).not.toContain('Hello World'); @@ -129,5 +129,22 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { const { result } = await harness.executeOnce(); expect(result?.success).toBeTrue(); }); + + it('fails and shows an error if style does not exist', async () => { + harness.useTarget('test', { + ...BASE_OPTIONS, + styles: ['src/test-style-a.css'], + }); + + const { result, logs } = await harness.executeOnce({ outputLogsOnFailure: false }); + + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + level: 'error', + message: jasmine.stringMatching(`Can't resolve 'src/test-style-a.css'`), + }), + ); + }); }); }); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts index bb44a4232826..c364c2459820 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/styles-webpack-plugin.ts @@ -7,7 +7,6 @@ */ import assert from 'assert'; -import { pluginName } from 'mini-css-extract-plugin'; import type { Compilation, Compiler } from 'webpack'; import { assertIsError } from '../../utils/error'; import { addError } from '../../utils/webpack-diagnostics'; @@ -30,10 +29,6 @@ export class StylesWebpackPlugin { apply(compiler: Compiler): void { const { entryPoints, preserveSymlinks, root } = this.options; - const webpackOptions = compiler.options; - const entry = - typeof webpackOptions.entry === 'function' ? webpackOptions.entry() : webpackOptions.entry; - const resolver = compiler.resolverFactory.get('global-styles', { conditionNames: ['sass', 'less', 'style'], mainFields: ['sass', 'less', 'style', 'main', '...'], @@ -45,32 +40,38 @@ export class StylesWebpackPlugin { fileSystem: compiler.inputFileSystem, }); - webpackOptions.entry = async () => { - const entrypoints = await entry; + const webpackOptions = compiler.options; + compiler.hooks.environment.tap(PLUGIN_NAME, () => { + const entry = + typeof webpackOptions.entry === 'function' ? webpackOptions.entry() : webpackOptions.entry; - for (const [bundleName, paths] of Object.entries(entryPoints)) { - entrypoints[bundleName] ??= {}; - const entryImport = (entrypoints[bundleName].import ??= []); + webpackOptions.entry = async () => { + const entrypoints = await entry; - for (const path of paths) { - try { - const resolvedPath = resolver.resolveSync({}, root, path); - if (resolvedPath) { - entryImport.push(`${resolvedPath}?ngGlobalStyle`); - } else { + for (const [bundleName, paths] of Object.entries(entryPoints)) { + entrypoints[bundleName] ??= {}; + const entryImport = (entrypoints[bundleName].import ??= []); + + for (const path of paths) { + try { + const resolvedPath = resolver.resolveSync({}, root, path); + if (resolvedPath) { + entryImport.push(`${resolvedPath}?ngGlobalStyle`); + } else { + assert(this.compilation, 'Compilation cannot be undefined.'); + addError(this.compilation, `Cannot resolve '${path}'.`); + } + } catch (error) { assert(this.compilation, 'Compilation cannot be undefined.'); - addError(this.compilation, `Cannot resolve '${path}'.`); + assertIsError(error); + addError(this.compilation, error.message); } - } catch (error) { - assert(this.compilation, 'Compilation cannot be undefined.'); - assertIsError(error); - addError(this.compilation, error.message); } } - } - return entrypoints; - }; + return entrypoints; + }; + }); compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { this.compilation = compilation; From 5f718fdebd35dd66779b35c54d5ac61792c13246 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 12 Dec 2022 18:05:36 +0000 Subject: [PATCH 1213/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 18 +- .../angular_devkit/build_angular/package.json | 8 +- yarn.lock | 272 +++++------------- 4 files changed, 84 insertions(+), 218 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 773087da7a72..ee5b4d713f2b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "0e8a818724c0d5dcc10c31f9452ebd54b2ab94c452d4dcbb0d45a6636d2d5a44", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.2/rules_nodejs-5.7.2.tar.gz"], + sha256 = "c2ad51299792d5af3b258f1dd71b3b57eff9424c2e1797d9c1d65717d95da03a", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.3/rules_nodejs-5.7.3.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 23e032046853..925733cd4725 100644 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "@babel/template": "7.18.10", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", - "@bazel/concatjs": "5.7.2", - "@bazel/jasmine": "5.7.2", + "@bazel/concatjs": "5.7.3", + "@bazel/jasmine": "5.7.3", "@discoveryjs/json-ext": "0.5.7", "@types/babel__core": "7.1.20", "@types/babel__template": "7.4.1", @@ -122,8 +122,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.46.0", - "@typescript-eslint/parser": "5.46.0", + "@typescript-eslint/eslint-plugin": "5.46.1", + "@typescript-eslint/parser": "5.46.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.11.2", "ajv-formats": "2.1.1", @@ -140,8 +140,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.2", "debug": "^4.1.1", - "esbuild": "0.16.2", - "esbuild-wasm": "0.16.2", + "esbuild": "0.16.4", + "esbuild-wasm": "0.16.4", "eslint": "8.29.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -172,7 +172,7 @@ "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", "minimatch": "5.1.1", - "ng-packagr": "15.0.2", + "ng-packagr": "15.0.3", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", @@ -184,7 +184,7 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.19", + "postcss": "8.4.20", "postcss-loader": "7.0.2", "prettier": "^2.0.0", "protractor": "~7.0.0", @@ -192,7 +192,7 @@ "quicktype-core": "6.0.69", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.56.1", + "sass": "1.56.2", "sass-loader": "13.2.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1feb33269000..59f3d9f416c7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.2", - "esbuild-wasm": "0.16.2", + "esbuild-wasm": "0.16.4", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -47,11 +47,11 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.19", + "postcss": "8.4.20", "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.56.1", + "sass": "1.56.2", "sass-loader": "13.2.0", "semver": "7.3.8", "source-map-loader": "4.0.1", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.2" + "esbuild": "0.16.4" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index ec3c2c5e5435..8aa875cbd348 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1273,15 +1273,24 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/concatjs@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.3.tgz#a1111713e3e33d3e4ffc4fb5119ef478d2c9916e" + integrity sha512-fhqIwX3DT5p9Gy1K6gzBNXHxUmcERKampdsHE2ew5dbXSCFrShwvur3sIuMnp6YVYbHZBUGnx7HtUw5Z34q8mg== + dependencies: + protobufjs "6.8.8" + source-map-support "0.5.9" + tsutils "3.21.0" + "@bazel/esbuild@5.7.2": version "5.7.2" resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.2.tgz#d3086cd8474f20f6be0689e3b8ae852a311cbc45" integrity sha512-YseNk23x30bynpXOvx0BdvPX2WSuI+6sDtx+Cn7Q27cBZw41438qjciuE2UlGME26p/5VULyduOqp0a3T3ZTjQ== -"@bazel/jasmine@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.2.tgz#438f272e66e939106cbdd58db709cd6aa008131b" - integrity sha512-RJruOB6S9e0efTNIE2JVdaslguUXh5KcmLUCq/xLCt0zENP44ssp9OooDIrZ8H+Sp4mLDNBX7CMMA9WTsbsxTQ== +"@bazel/jasmine@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.7.3.tgz#1ff86f5391e4a0509f94befaf6ef0f354b9be7cf" + integrity sha512-5U01yBW1vL7hBpkAZt1ZouzszL2QIw8yfkEfnprfnKlYAGqK48hpxmYV7bZy1UV5PCKlLRfwtY0bADY1ah7I1Q== dependencies: c8 "~7.5.0" jasmine-reporters "~2.5.0" @@ -1340,11 +1349,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.2.tgz#cdc8e99494d80a6ebfc7abc41914c4a8b98314ae" - integrity sha512-3CjbygjFHmtxDW59FOUM1T28G+aVqzbM+cNNinMgRUq+bmAstJdqmJL/KqpUwuCRTri4BgHJRWQbHOQFLwIpxw== - "@esbuild/android-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" @@ -1355,91 +1359,46 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== -"@esbuild/android-arm@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.2.tgz#585ac1f25abce4c7b996f0a84f33f0ae6df043cb" - integrity sha512-t8zq/Ad8njye3tYkbdBYAEGBExCyqFuPnKmKgLBF9+nIwAS/V3FYck6BjAx813JCGXkNsR1iriS8jQFwydT+FA== - "@esbuild/android-arm@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== -"@esbuild/android-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.2.tgz#544d96e13f9551365b360d1139bed3c1da5cd575" - integrity sha512-J5pzzVs9gHRQff8vUBhGMRQU1avwD9IVTSfzhdnKRqlxq0hsdcgZxH95Ckj/q2KJ4nMPYfDBSRXrrvQ4PyMpFA== - "@esbuild/android-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== -"@esbuild/darwin-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.2.tgz#f417bc18cb80cfaa95aecb8ddc9e6a74be26c92c" - integrity sha512-XmjlYmR1UTEdMT2X3TxnA0hG8zOi3q/BzqNN6/PDBxw/UxE9gdj7LGwiQus5HHZM03vSvjRO7WJ7qaJBGBWnpQ== - "@esbuild/darwin-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== -"@esbuild/darwin-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.2.tgz#d2695c66fd8a4e17a2f7d2c9f2bd6babf1c9c161" - integrity sha512-nq5cXgzbXHhBqZEPpuXrf2+BV6QWUM8vAyT/ElJrdIkoGOHwNQJEqZHl3KOWK+1V3KXEXgJhh7DsLixIc677ZQ== - "@esbuild/darwin-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== -"@esbuild/freebsd-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.2.tgz#3abbf2a113dbcb77f253f031c412a27874a31b71" - integrity sha512-1QuZr7GnoipDYMFJDucqXmVvJZidZuHbvw5QLzBehYq67GR1Jub9pSo6O0Rt4LtKnu3TF2K/bjgzPJAGFY6W4Q== - "@esbuild/freebsd-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== -"@esbuild/freebsd-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.2.tgz#7e68876fbe0e6e8fc9f45f880a2b393e61f54bf3" - integrity sha512-uvbv99Wg2T489bqUz4gYVb2IpSSZZP/uTkaZpaLN+h3x58FmsLT4o7bF1Refd2JIKuONxSobljlk5/K/RD9SsQ== - "@esbuild/freebsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== -"@esbuild/linux-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.2.tgz#2d186a0f336a4022b38c0994404ad4541b850d46" - integrity sha512-S7EwMhEUMzYfd9KTHJX7Y3bKz7/9sZDRJPp10EOQ3Qqp10WvX2G42Q2c7rfymnm9aM5ZWs+W8WgbLFAUnjC3Wg== - "@esbuild/linux-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== -"@esbuild/linux-arm@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.2.tgz#3a816b6349655ac5e80117947543028d8eedeaf8" - integrity sha512-8n2UozHygOGXzgysim6GifKjv+lW4fs3mlfaoKerwBIOT9OBCo1Q4AjvbtU3F+2AGyo8eavxnj6Xxx0DRTOwiw== - "@esbuild/linux-arm@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== -"@esbuild/linux-ia32@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.2.tgz#6ec937d2c4a17db5c6bb0b898e86c42df97422f4" - integrity sha512-TRz3MDvv65zXZ4NTJYi1yyVj17Qrsm8y6J8r4qIdd2qszRLPHmte4LAazPa7g+To6QfM2kL3gHmVhwV6GcYz0g== - "@esbuild/linux-ia32@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" @@ -1450,121 +1409,61 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ== -"@esbuild/linux-loong64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.2.tgz#6f611b6e03f5404b5e3d45040f0d743071b1229b" - integrity sha512-yhHJCvPQjh/8wLEk336QzXMHYnMKJdzLcNAnXwVawSvsLqyzTYrGshrO1YMhzs5cWgR75DFNnhcAFgEtleAZOw== - "@esbuild/linux-loong64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== -"@esbuild/linux-mips64el@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.2.tgz#5c76d385d68189336b78dfc933a77d13465eee5c" - integrity sha512-YwMpV41qIKRHASV4MaaA/PKk9CoZ4QyVyPXhUtLTO9kPWtWECRI4MTBrGIb9kGUpL6I+jiT4fAZn8YpWSGBkQg== - "@esbuild/linux-mips64el@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== -"@esbuild/linux-ppc64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.2.tgz#db567dd114122bcb034910d79000ea9cca9db897" - integrity sha512-s4YuINcRxCA9TElEf2iBdG6oZWdNu2Eb6R9TbRBcZOTdcgdBKIinaVyEiQ8H6nmCafWCuuJT8u66zds2ET3t1Q== - "@esbuild/linux-ppc64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== -"@esbuild/linux-riscv64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.2.tgz#72e1fd9cc9972e662fcef9138636bd1259c3cd3a" - integrity sha512-oacL6QGqVRhBCbBlFxODYfcCkB6tPmfanaWnsuHNI7m9LVkBuuDKpsC3XWOwkEQiLIJcvhhZKOkkgw49KxS1Dw== - "@esbuild/linux-riscv64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== -"@esbuild/linux-s390x@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.2.tgz#b0fd46338d0b4906cfc7e9c4b1850960432f2f7a" - integrity sha512-5ifr0lshZbLI457Qe6y3MsDYv1cSOJ8awgi0HT14cS59WliT7bDkrr3kmDw/LqGOAPyDvDD+U8s2cFBSENetuA== - "@esbuild/linux-s390x@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== -"@esbuild/linux-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.2.tgz#f323afb5e3f433093078dbfa261e8148970ada20" - integrity sha512-TA/ORYlP6h2pfB/dzrPTMFWd1MaUYy7kwblWdzwkUtsTAJAKJlZwBhkKftSaUNNU5wtXNJ9+ucMDf7vBPbDjlw== - "@esbuild/linux-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== -"@esbuild/netbsd-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.2.tgz#fa5c5ad79bbadfbd741423ee4ab22d2b0c55143f" - integrity sha512-oBH2Aj4fL9FLlkIi2wYGckydKHVKmYrqiqt91i6kFE1mF7B05YYttrlOHAf3JzWIJQWyvzvsmoA/XFPf1sTgBw== - "@esbuild/netbsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== -"@esbuild/openbsd-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.2.tgz#a20232bdb2ed8731294bed401cbf0e10dada4540" - integrity sha512-eKOpYr7CiF9GZxu18iOQGfzQ4htO6KGhXriW2raJvRO0G27Lu7ArAI/kW71yTPaFqlf9gCmCGaTPr2tmiUePVg== - "@esbuild/openbsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== -"@esbuild/sunos-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.2.tgz#d57d9b3121b028dcee8d7ec556b514a0545872c9" - integrity sha512-1HsQLVnjhlscekE8H5Xj49xPvd0c74eoZEjh+OUnr+x7vCXdTVdFDgao9QM0H9zfioxJN1ZH7534LwxEaAWaIA== - "@esbuild/sunos-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== -"@esbuild/win32-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.2.tgz#a548cff2e5bcd5cdfe1431320b9fee81440d26f1" - integrity sha512-G9AWjsnVxGQj8z0WgaDwTKgXzwc9zLPYDFoLE4oAGI/TQnft0eQjc+CKiWRyoa+a/c3XIFGXoWnW+17kbibSfA== - "@esbuild/win32-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== -"@esbuild/win32-ia32@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.2.tgz#8f96eb33303344ec70460a44d3189b673e29cf5b" - integrity sha512-UJqmfPsiSX/wP1kY5JMordRqNU2r8n8ieXmNimp4r35sQEX3bjnSkPJ2E8BM8W8ecmEL+oDjYjulkTT3zSPa1g== - "@esbuild/win32-ia32@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== -"@esbuild/win32-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.2.tgz#01350ef54fb4b2a0b423072d30deceaa5c1c529e" - integrity sha512-1+PQiGAbbGlIXXlp9i/5JRpodCsozGTjffaD4W1LgeoynWef38VD8NNC8yG366NYXHHHLR1pN6MQZ9r2na/S1A== - "@esbuild/win32-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" @@ -3368,14 +3267,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz#9a96a713b9616c783501a3c1774c9e2b40217ad0" - integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== +"@typescript-eslint/eslint-plugin@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz#098abb4c9354e19f460d57ab18bff1f676a6cff0" + integrity sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA== dependencies: - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/type-utils" "5.46.0" - "@typescript-eslint/utils" "5.46.0" + "@typescript-eslint/scope-manager" "5.46.1" + "@typescript-eslint/type-utils" "5.46.1" + "@typescript-eslint/utils" "5.46.1" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3383,72 +3282,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.0.tgz#002d8e67122947922a62547acfed3347cbf2c0b6" - integrity sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA== +"@typescript-eslint/parser@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.1.tgz#1fc8e7102c1141eb64276c3b89d70da8c0ba5699" + integrity sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg== dependencies: - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/typescript-estree" "5.46.0" + "@typescript-eslint/scope-manager" "5.46.1" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/typescript-estree" "5.46.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz#60790b14d0c687dd633b22b8121374764f76ce0d" - integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== +"@typescript-eslint/scope-manager@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz#70af8425c79bbc1178b5a63fb51102ddf48e104a" + integrity sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA== dependencies: - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/visitor-keys" "5.46.0" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/visitor-keys" "5.46.1" -"@typescript-eslint/type-utils@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz#3a4507b3b437e2fd9e95c3e5eea5ae16f79d64b3" - integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== +"@typescript-eslint/type-utils@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz#195033e4b30b51b870dfcf2828e88d57b04a11cc" + integrity sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng== dependencies: - "@typescript-eslint/typescript-estree" "5.46.0" - "@typescript-eslint/utils" "5.46.0" + "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/utils" "5.46.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.0.tgz#f4d76622a996b88153bbd829ea9ccb9f7a5d28bc" - integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== +"@typescript-eslint/types@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" + integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== -"@typescript-eslint/typescript-estree@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz#a6c2b84b9351f78209a1d1f2d99ca553f7fa29a5" - integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== +"@typescript-eslint/typescript-estree@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz#5358088f98a8f9939355e0996f9c8f41c25eced2" + integrity sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg== dependencies: - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/visitor-keys" "5.46.0" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/visitor-keys" "5.46.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.0.tgz#600cd873ba471b7d8b0b9f35de34cf852c6fcb31" - integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== +"@typescript-eslint/utils@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.1.tgz#7da3c934d9fd0eb4002a6bb3429f33298b469b4a" + integrity sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/typescript-estree" "5.46.0" + "@typescript-eslint/scope-manager" "5.46.1" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/typescript-estree" "5.46.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz#36d87248ae20c61ef72404bcd61f14aa2563915f" - integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== +"@typescript-eslint/visitor-keys@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz#126cc6fe3c0f83608b2b125c5d9daced61394242" + integrity sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg== dependencies: - "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/types" "5.46.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -5553,12 +5452,7 @@ esbuild-wasm@0.15.16: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== -esbuild-wasm@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" - integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== - -esbuild-wasm@^0.16.0: +esbuild-wasm@0.16.4, esbuild-wasm@^0.16.0: version "0.16.4" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.4.tgz#16fcfae88a753f2b1556b739d8297c0e9ada2363" integrity sha512-Nh7aa9uazooaEIGubc8s0nQZFhnf035pJMTpMPBonzDchN6RPsQES5bojQo3zT2xSAuC9nEMg8Nxzc1iwigETw== @@ -5606,35 +5500,7 @@ esbuild@0.15.16: esbuild-windows-64 "0.15.16" esbuild-windows-arm64 "0.15.16" -esbuild@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.2.tgz#5d864a37c12a8b19340ead348b2cd51b096bbde8" - integrity sha512-Rv/CJquZKE00irDLDpk9jmWmtxx1NW+MGpBbNNouaDY0oBwk806uJ51WpLaJBQUxhZqLauX2rrNol5lVQceHJw== - optionalDependencies: - "@esbuild/android-arm" "0.16.2" - "@esbuild/android-arm64" "0.16.2" - "@esbuild/android-x64" "0.16.2" - "@esbuild/darwin-arm64" "0.16.2" - "@esbuild/darwin-x64" "0.16.2" - "@esbuild/freebsd-arm64" "0.16.2" - "@esbuild/freebsd-x64" "0.16.2" - "@esbuild/linux-arm" "0.16.2" - "@esbuild/linux-arm64" "0.16.2" - "@esbuild/linux-ia32" "0.16.2" - "@esbuild/linux-loong64" "0.16.2" - "@esbuild/linux-mips64el" "0.16.2" - "@esbuild/linux-ppc64" "0.16.2" - "@esbuild/linux-riscv64" "0.16.2" - "@esbuild/linux-s390x" "0.16.2" - "@esbuild/linux-x64" "0.16.2" - "@esbuild/netbsd-x64" "0.16.2" - "@esbuild/openbsd-x64" "0.16.2" - "@esbuild/sunos-x64" "0.16.2" - "@esbuild/win32-arm64" "0.16.2" - "@esbuild/win32-ia32" "0.16.2" - "@esbuild/win32-x64" "0.16.2" - -esbuild@^0.16.0: +esbuild@0.16.4, esbuild@^0.16.0: version "0.16.4" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd" integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA== @@ -8429,10 +8295,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.2: - version "15.0.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.2.tgz#dcff97c8b6ccb998ac49396293b0bd00223b3156" - integrity sha512-cQ0Tna1s0BBvXzrsqk6biwrkOO1iHlxj278Jekm+3XPfXU8mjddkXkF2BsKnjcZsDew3nqFYxEU4wFx3dgh+wg== +ng-packagr@15.0.3: + version "15.0.3" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.3.tgz#6f9e47183e3183161253d78b0e4ebeb30af1600e" + integrity sha512-QRP6X2cuO3AmukYOr+b84gamDWbE2R/cdAedhUSRRYaYD9IhQWVYr64pNiu5VwWNf43zaWWp8UGfKuDjoYYMvg== dependencies: "@rollup/plugin-json" "^5.0.0" "@rollup/plugin-node-resolve" "^15.0.0" @@ -9400,7 +9266,7 @@ postcss@8.4.19: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18: +postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18: version "8.4.20" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== @@ -10177,7 +10043,7 @@ sass@1.56.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.55.0: +sass@1.56.2, sass@^1.55.0: version "1.56.2" resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.2.tgz#9433b345ab3872996c82a53a58c014fd244fd095" integrity sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w== From 1ef7885097b2210d7a224aebad71d95db3bccdf8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 12 Dec 2022 20:35:05 +0000 Subject: [PATCH 1214/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 589 ++++++++---------- 8 files changed, 308 insertions(+), 359 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index c3ed8905dd60..9c8651c83981 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 + - uses: angular/dev-infra/github-actions/branch-manager@47f34200c206f119acb14e2e00e478b7fe2d4725 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index b07a8a730c30..68c3dc8ddb1f 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@47f34200c206f119acb14e2e00e478b7fe2d4725 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 + - uses: angular/dev-infra/github-actions/post-approval-changes@47f34200c206f119acb14e2e00e478b7fe2d4725 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 266c4cac1268..0151076faca9 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 + - uses: angular/dev-infra/github-actions/feature-request@47f34200c206f119acb14e2e00e478b7fe2d4725 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 33eb5063fe8c..4923fdc620a0 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714 + - uses: angular/dev-infra/github-actions/lock-closed@47f34200c206f119acb14e2e00e478b7fe2d4725 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 925733cd4725..3c182558f2b7 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6", - "@angular/cdk": "15.0.1", - "@angular/common": "15.0.2", - "@angular/compiler": "15.0.2", - "@angular/compiler-cli": "15.0.2", - "@angular/core": "15.0.2", - "@angular/forms": "15.0.2", - "@angular/localize": "15.0.2", - "@angular/material": "15.0.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5677f11ede284cd64355b568fcfd29e6ea1e9cb4", - "@angular/platform-browser": "15.0.2", - "@angular/platform-browser-dynamic": "15.0.2", - "@angular/platform-server": "15.0.2", - "@angular/router": "15.0.2", - "@angular/service-worker": "15.0.2", + "@angular/animations": "15.0.3", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5", + "@angular/cdk": "15.0.2", + "@angular/common": "15.0.3", + "@angular/compiler": "15.0.3", + "@angular/compiler-cli": "15.0.3", + "@angular/core": "15.0.3", + "@angular/forms": "15.0.3", + "@angular/localize": "15.0.3", + "@angular/material": "15.0.2", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#60dfbec77141006a97aa2f7729d3bef3f3a31f36", + "@angular/platform-browser": "15.0.3", + "@angular/platform-browser-dynamic": "15.0.3", + "@angular/platform-server": "15.0.3", + "@angular/router": "15.0.3", + "@angular/service-worker": "15.0.3", "@babel/core": "7.20.5", "@babel/generator": "7.20.5", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 7b55207c68b1..44e17af41a0b 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.2", - "@angular/compiler-cli": "15.0.2", + "@angular/compiler": "15.0.3", + "@angular/compiler-cli": "15.0.3", "typescript": "4.8.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index f368a009a123..a3b976f981df 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#ea0034713bec7a0bd7cd0113b05225f8467c758b", - "@angular/cdk": "github:angular/cdk-builds#ddb11248c206699ea7eab18789e02126c20204bf", - "@angular/common": "github:angular/common-builds#eb596960c41840c3814fd6069ed7a0027da2dfc0", - "@angular/compiler": "github:angular/compiler-builds#e3ae2ea219308d8eb7239718d93b097fb1cce4a8", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#dc902b22342f28135c613d5b718bccdc91407951", - "@angular/core": "github:angular/core-builds#9b162c1940e434af7705b3aa636f1c23b420130d", - "@angular/forms": "github:angular/forms-builds#4f7c357cbceefba387559d858cb21548591d1a83", - "@angular/language-service": "github:angular/language-service-builds#d480d3f1c2b9eb5f960b594cf00ebb0cbafd3c8d", - "@angular/localize": "github:angular/localize-builds#c9a175a4f56ac9f867329ced020fb08a45e8cc38", - "@angular/material": "github:angular/material-builds#747236e1e030b00af457d020b5b9158130ebf2ba", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3e1339a69e6b3077808b1bedd33270e905459afd", - "@angular/platform-browser": "github:angular/platform-browser-builds#1ea9651f9e99115da06b58cbb29ce1465bc5a736", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#84fb6295542faf32e8300ba5e4363e057a2f4f86", - "@angular/platform-server": "github:angular/platform-server-builds#a9618caa01f333ec2fac3589de811f92116d005f", - "@angular/router": "github:angular/router-builds#03708d0ee6f5f680d01d4fffc4c8ed0e7e088fdf", - "@angular/service-worker": "github:angular/service-worker-builds#940c73ce4c88b4870ce5956aa795f91c9b19dcd0" + "@angular/animations": "github:angular/animations-builds#4dce5519b3636bf2bef596b91c63c14e2385886d", + "@angular/cdk": "github:angular/cdk-builds#2d141b64bac744d84f008f59c6818a958233dfdc", + "@angular/common": "github:angular/common-builds#9170a3e7871bc16b7a85c5ffe2e8c19152ffc386", + "@angular/compiler": "github:angular/compiler-builds#1fa02a880b575d26ced6fff8c5f2f19e6f726ac6", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#4edbd4fc7e68cc4de19e4e0c971281191d92e4f3", + "@angular/core": "github:angular/core-builds#093073cde0c8824633edae19d828ede95377eacf", + "@angular/forms": "github:angular/forms-builds#ed2c386bfbfadeb98d37a250a0102b3969af3314", + "@angular/language-service": "github:angular/language-service-builds#52b26dba03006d78399b7048a1ab7e36d19c697d", + "@angular/localize": "github:angular/localize-builds#be6e91b2f1e56a7092b0046681a09af027e9f700", + "@angular/material": "github:angular/material-builds#61fb9a631d6ffefae95a32b61fe22231027c056d", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1fe443d542180d37130dec49512923f176a59e28", + "@angular/platform-browser": "github:angular/platform-browser-builds#8c49ccb6d33f0d2679f112bf670df5f35916336b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aedab9bc8ef9358d6d7a71359e3917d70eeb5a54", + "@angular/platform-server": "github:angular/platform-server-builds#73d3f1aa6c0f084b46255652547736c53dd771c6", + "@angular/router": "github:angular/router-builds#ec6394023d1c657d858f0985af73bf36f20aef82", + "@angular/service-worker": "github:angular/service-worker-builds#bebdc6420d69b78076884fd70fdb23a03295a6e1" } } diff --git a/yarn.lock b/yarn.lock index 8aa875cbd348..cc4d07970884 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1501.0-next.1": - version "0.1501.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.1.tgz#3d3e366f288121e27014877e49fcd1af21be1652" - integrity sha512-SWiZN7PECQH8CUSfx45lJjM83kpcYyu8t8hUhinp4LENo2MX3wtOFSdghUkxbwMmiCYGFSh56dEoI21N7lU2qA== +"@angular-devkit/architect@0.1501.0-next.2": + version "0.1501.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.2.tgz#49642cc6b206ee65d50b02aaa2efb3d8024653e9" + integrity sha512-eB0We5fu25N/Gbnm2PqmEjDsDPs+tJeLJTqozYbiJund7y0TYYVn4IXeZgaRsy5NmNWqYcUMqXJb6t7QECSTrA== dependencies: - "@angular-devkit/core" "15.1.0-next.1" + "@angular-devkit/core" "15.1.0-next.2" rxjs "6.6.7" -"@angular-devkit/build-angular@15.1.0-next.1": - version "15.1.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.1.tgz#a45c202e67eecd8d90c7cff0bafa9f12b4590642" - integrity sha512-6acVLns4osZt7wbMZwOJm+EYLR+Ta5zdARfVVSI26ZMgHYyhheC4lCE53Miga29izP1KUSCXkJSI38s2gErscg== +"@angular-devkit/build-angular@15.1.0-next.2": + version "15.1.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.2.tgz#5a3bd70e8f1295b6136b006130ec7f7989cad207" + integrity sha512-vLTKSCazAfVEJeS7rLrTH6SyQJhtV89rTZvTXi6SfwoK+D9QWCiMaXho8GTcp5MGxlTYiA+xmOcJSfv3OzuWzg== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1501.0-next.1" - "@angular-devkit/build-webpack" "0.1501.0-next.1" - "@angular-devkit/core" "15.1.0-next.1" + "@angular-devkit/architect" "0.1501.0-next.2" + "@angular-devkit/build-webpack" "0.1501.0-next.2" + "@angular-devkit/core" "15.1.0-next.2" "@babel/core" "7.20.5" "@babel/generator" "7.20.5" "@babel/helper-annotate-as-pure" "7.18.6" @@ -37,18 +37,18 @@ "@babel/runtime" "7.20.6" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.1.0-next.1" + "@ngtools/webpack" "15.1.0-next.2" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.0" babel-plugin-istanbul "6.1.1" browserslist "4.21.4" - cacache "17.0.2" + cacache "17.0.3" chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.2" - esbuild-wasm "0.15.16" + esbuild-wasm "0.16.2" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -58,8 +58,8 @@ less-loader "11.1.0" license-webpack-plugin "4.0.2" loader-utils "3.2.1" - magic-string "0.26.7" - mini-css-extract-plugin "2.7.1" + magic-string "0.27.0" + mini-css-extract-plugin "2.7.2" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" @@ -73,7 +73,7 @@ semver "7.3.8" source-map-loader "4.0.1" source-map-support "0.5.21" - terser "5.16.0" + terser "5.16.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.4.1" @@ -83,20 +83,20 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.15.16" + esbuild "0.16.2" -"@angular-devkit/build-webpack@0.1501.0-next.1": - version "0.1501.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.1.tgz#67ec568d02d51c19621b4ff7545cd95404fd369f" - integrity sha512-YLWq3tjrsoElMb0JpYsBABDdu4yEssmu/Syd+SpwLZPJ02KgIfzKSP65MjcGYHBHQD5LPzgIx41SoiBUky/Srw== +"@angular-devkit/build-webpack@0.1501.0-next.2": + version "0.1501.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.2.tgz#cc5fbd6e895f557021087a53352a181f54f3ef8f" + integrity sha512-NzRLUVQHvITPIwJQKTG3dLLUPZbmEYFbRcccIHvIpgmQ9SaOo2g+uD/mDy08K3dBH3sej1y7Ab1Q/49lCdzgdg== dependencies: - "@angular-devkit/architect" "0.1501.0-next.1" + "@angular-devkit/architect" "0.1501.0-next.2" rxjs "6.6.7" -"@angular-devkit/core@15.1.0-next.1": - version "15.1.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.1.tgz#188ac5f26e7563adedd941579481c7c0b6edef09" - integrity sha512-zQeuh2U7+wLw0mCQ+nC+qbATDAbSF4UtZP7Ma0a0IdWLM3zAUV5+I6w1oc91vRmg9W9z4Jlou8ILnc033QoIWA== +"@angular-devkit/core@15.1.0-next.2": + version "15.1.0-next.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.2.tgz#e97b5a1323f0c3e0cadca138c5c9d59e97945ff8" + integrity sha512-vWXhg9rjEJ+80SdWEvWxbV533PWcT4sl3EXSFW5T+X45ylBHDRMRybwHyRokKQPGuAKxLxrb/lTbrnBDkryW4g== dependencies: ajv "8.11.2" ajv-formats "2.1.1" @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.2.tgz#13617cf4ae98b555955c474c11b4e88e6d0259b9" - integrity sha512-bghNrTPbRaxL1SqiKFFUdDFDClGFzES6AkGbtBj1kE6IOC3tNbTSc2ozsuVAGOi96zqumnonaA000dIIqfvYMw== +"@angular/animations@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.3.tgz#e5c2b7cf2ae1733b718bd52209b7daf758105bf4" + integrity sha512-kwUprQMjMvMawpyd5aLzW9DWLd7grlzm4ut4YIqXRf1UJm35KsTjwhvQWNj481u2gUjKxD2rBfkVakyzW5Na3A== dependencies: tslib "^2.3.0" @@ -119,22 +119,23 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6": - version "0.0.0-51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714" - uid f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f6e4541df4e7949876ac76fd3a7b36a13ec8a5f6" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5": + version "0.0.0-47f34200c206f119acb14e2e00e478b7fe2d4725" + uid "26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5" dependencies: - "@angular-devkit/build-angular" "15.1.0-next.1" + "@angular-devkit/build-angular" "15.1.0-next.2" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" "@bazel/buildifier" "5.1.0" - "@bazel/concatjs" "5.7.2" - "@bazel/esbuild" "5.7.2" - "@bazel/protractor" "5.7.2" - "@bazel/runfiles" "5.7.2" - "@bazel/terser" "5.7.2" - "@bazel/typescript" "5.7.2" + "@bazel/concatjs" "5.7.3" + "@bazel/esbuild" "5.7.3" + "@bazel/protractor" "5.7.3" + "@bazel/runfiles" "5.7.3" + "@bazel/terser" "5.7.3" + "@bazel/typescript" "5.7.3" "@microsoft/api-extractor" "7.31.0" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" @@ -158,49 +159,49 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.1.tgz#45208c42ab929e42104faa64c70de978788fceda" - integrity sha512-yV/nietivRC8JJrEt0M3RXo+4PMk8cReZVhbV0ME6MOehJ7NBw7uIBjfIbLWE9YGEHZi+TCzdxqDuWqH5RCiog== +"@angular/cdk@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.2.tgz#56781c17f200d842ddc2233ceeb6d5ecf3c98760" + integrity sha512-khTZT/vWDLoCkIxXyrpmeFIMfsED3KdKQqWCiuvUHGHhJn5iOa2wDQXQEkrFpNaQ4v1mbHE2I11DljiieIyv5w== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.2.tgz#386244daea7d832b28ffdbcda3cc057eacb32a27" - integrity sha512-BZkaUdFv6A0a8m3R/HEYmwZrULMHwRWQh+ukSQEz9reVNUiH0/mNvj9I4iYYCfYXHPiyMIRfAeu/fqdl14DBFg== +"@angular/common@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.3.tgz#98eda542eb47ee12df69b839a0abdedaf3ee9ed8" + integrity sha512-TYpNnP6f7+x+FqyFCjl+D7rqJojMJT3QURwbnKsZYO7gsfoKashgrLxd9f3lQpa9EHvdMsVZWGZuPmoerGQ5qg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.2.tgz#2a83fb5ffb55a2bf6bd2a1e694a10288dc981fcd" - integrity sha512-WZCULskbuoMA0iQ36H2nGgKj017JENR+wDnwuQ+/1ECtBN2PpjJiws/m5bntBzQe96w2fue6tOLh09WESQgRHw== +"@angular/compiler-cli@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.3.tgz#6c26f6dd50f4e25f938719104d11a8c02cf39c79" + integrity sha512-3IH1Ns4Ed/VFQlNNtgIcorht7JK7SoBzpbxrbqjogoHZwUR3OTn+dvX87N7zMn0yxAL0T6Jv0UTILcGY0EP9HQ== dependencies: "@babel/core" "^7.17.2" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" - magic-string "^0.26.0" + magic-string "^0.27.0" reflect-metadata "^0.1.2" semver "^7.0.0" sourcemap-codec "^1.4.8" tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.2.tgz#2e7b1c3c5e4a9c34e2f88a26d9a391955edf8b06" - integrity sha512-dD1Vv2txp09V7RaJK2tvGRWpM2RsDARVAGL65hfJY2txeEFRyajcle6jOI11NfGpgsZvptN7o5oc8ozQI1hgTA== +"@angular/compiler@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.3.tgz#473d5a847253b6464b6d29d164af7183cfa7c02d" + integrity sha512-LNQkQgjAy43ZbQcoUzbzwaCokl6LQHhnTnGIO8s8ZWFT9cTRORsLb/ziMKPPIWlSUImHUG4NH0dK7fVe7/eAng== dependencies: tslib "^2.3.0" -"@angular/core@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.2.tgz#2c399e5a122a2a633093ec6d5c9ca0ce0dddd030" - integrity sha512-qM0T4r3Z3Qfk+5+M5JRB1qr3AUKgabbC0kARY+R+QvwbQBE6UoeWw5eRuUbTGDP70Ikeeg0xZebpkr7Oghp9/A== +"@angular/core@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.3.tgz#ba878af9efce21ef622a8777bcba15eb27d238cb" + integrity sha512-tYQszxkk32RZkMA7Czv9l5apiDIsoqVO2taIuPKfesAcwsQ7z/x3JTu3JkwUnB9c9nq2c18wIzjzMs4iElxdVQ== dependencies: tslib "^2.3.0" @@ -211,26 +212,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.2.tgz#a404c8d3f4227b1d4b56bad65a85aa3e4eed396c" - integrity sha512-c7t2pk1nzXIibIaIo4wsDd+VipiuDXqV1bolluAVaRjnS80BEQqOkudNNBgodx8sVkjEYI+cpLp+vE7FEOjHdg== +"@angular/forms@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.3.tgz#0518cf8b14e515b39069e3e23a0c23d1a6deec70" + integrity sha512-oPc1lpXvwFM1QHPxsayIlZ9C4/mmFrvdnSV/x/IzHDZpgqZyLT2rnDJxqpxn7KCcn71bPdU94fKTI6Fbnkj/dQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.2.tgz#c62bab9a94b1c842de901e1438508998bb01e6e1" - integrity sha512-7qZcEl9ZscCwGzmCviUQvkeGyaH58xSrW7eZ2nQPVKCwU9DGLtSXd0xTqTe6nmjigO7BG0u4D2yt1c6/Q+X8yQ== +"@angular/localize@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.3.tgz#05393fee49e785ed5b4b4b5344491ba49204dc4a" + integrity sha512-nwkZoUBPCAg3/TxVJ1mVzdOjneJeOrmHnkjQwMfp22f6Ok3gfnECi+GIexHMLRu3bKfP+HRGBI+fjAbSzT/CjQ== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@15.0.1": - version "15.0.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.1.tgz#44e5ae2eb768c09bf16f082a3c662df7eb1ec543" - integrity sha512-JXMcRf27HgXwjoNOKD04YubJ14M9Y66g5Ol4R5EDShnwvvzU1OKLjaYN3SYpH5iMauZztjljsVBsLlO8n/TVFA== +"@angular/material@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.2.tgz#9c64e990a95d1710cb877cd1805d01f2d068254b" + integrity sha512-jXjgKFK09DcqShXSvKJLQ98MSqV2LuBO6ZuJj/gz96ZWoAhTTuWn0hL3xsoKp+kaF5DPdDFd24gLr8YFRibaIQ== dependencies: "@material/animation" "15.0.0-canary.7971d6ad5.0" "@material/auto-init" "15.0.0-canary.7971d6ad5.0" @@ -281,48 +282,48 @@ "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#5677f11ede284cd64355b568fcfd29e6ea1e9cb4": - version "0.0.0-51f34baeaffbc8b5df200e9e8cf5a4bde1cc9714" - uid "5677f11ede284cd64355b568fcfd29e6ea1e9cb4" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#5677f11ede284cd64355b568fcfd29e6ea1e9cb4" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#60dfbec77141006a97aa2f7729d3bef3f3a31f36": + version "0.0.0-47f34200c206f119acb14e2e00e478b7fe2d4725" + uid "60dfbec77141006a97aa2f7729d3bef3f3a31f36" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#60dfbec77141006a97aa2f7729d3bef3f3a31f36" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.2.tgz#93026eab5b4b8956e88c69452baeef5d676cfcc3" - integrity sha512-OJ3WevyoR/rEYs9zqY2NzYX+2OqcWrmATFnvdFNMztjl8HO/SVak1URz8phZeSRslWjILlJ4nxPORVwV8TlW+w== +"@angular/platform-browser-dynamic@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.3.tgz#66c11e3b1228a10e73ed2dc71a0f9303acc408fe" + integrity sha512-+hdywxDegUGftq+teqQDmQ22seyR25qSPna60PxZIpQxi4D8+sNm9PxSGIn4pZtxN9gpg78j69yUM0E2OwVbjQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.2.tgz#eb9812b16e8f38fae03a4499c9d80269b40397a1" - integrity sha512-Dau9Ip5ub35lyJ+Bl2sUMQ4CoCgj8tdcNWDyQrfYynllKZfbQNaNY60To48P4u7pVGwN/Ib8Wb+jcloZJUXm4Q== +"@angular/platform-browser@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.3.tgz#ad2bf9617e945f818737df5d7e8968db6d74ee85" + integrity sha512-XIgAh6/SI4m2JfFdtKWmh8BVPzs3gV8VuOVYdykWrYrhDCVz5X3J7AXGxn9AX1S+dMuQPi91lM1icErunVrCZQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.2.tgz#e9bbc0a72c8d15f48e6fbb10e388c5af8136bb5b" - integrity sha512-a25zn1puSJYAPHbdBTPWwU6xptvfjkkd5un4Mk07Twa7x9hxV6me91bV3u7Ce/t2GGYJ8shp1KHMWAxriH7O2A== +"@angular/platform-server@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.3.tgz#33641ecea5e1e94e9901e64f4aa0b10f39f876cd" + integrity sha512-aRhRc3kX5kPXcENs3nctLvcZQclHk6xTzNBJpTreMt2pDCjXRgJeK2z15UVU3wpdVN/cYVcnfVi1HNtnaD6FbA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.2.tgz#20895e06c8efbc92123276341a8cb988618bfd38" - integrity sha512-uRf/OTGHt7Ysxw1IgrzCTvtwoYwwDPJxsZm/jXfrILPxHYqsSvYNXgcGqOp1kXY1/ByotM0P2+5CA6h2VICFHg== +"@angular/router@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.3.tgz#fefacdd578815a02c6d1eab850ecaaf6c43ee73a" + integrity sha512-Mym1qasRBLTwlwFHlWamrgvTXl09Uej2LTgqCD6Jg9uFQ/F+16qsSqTy107WkeJbsBzL95+rx66VtvwB//M45w== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.2.tgz#9a6b12260e13d9279162405c65bd6a2657935990" - integrity sha512-r+9qS3ZoLkNutukzJLchZtr/NG16DGTcLu/Q2K84gTi/ybf88OCphL3uKwefF8BFguXoMNL+LLHEulrE1UzWaA== +"@angular/service-worker@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.3.tgz#3d7a714ee64da6f1bc53dd26941ede43b45f9d6f" + integrity sha512-tMR82O4QIr0iuvAtUpeIcWcSbKWBLqHpgEHW3b7j8Oy+jZU4Bap5qM4jUanIOt4mboR7qV/tq1UXsZDo9Fs5rQ== dependencies: tslib "^2.3.0" @@ -1264,15 +1265,6 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== -"@bazel/concatjs@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.2.tgz#24298c5607cd670a390743c962d5f3e6dbeea5b5" - integrity sha512-ynU3CvbdaNcYEyw6GylHkhBe21ZXUVIGbmTD/Lmz8iMpnr0YfZWDbg6pVcP6yv08TUMf1sc/BSiZf4ALKF4wOQ== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - "@bazel/concatjs@5.7.3": version "5.7.3" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.3.tgz#a1111713e3e33d3e4ffc4fb5119ef478d2c9916e" @@ -1282,10 +1274,10 @@ source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.2.tgz#d3086cd8474f20f6be0689e3b8ae852a311cbc45" - integrity sha512-YseNk23x30bynpXOvx0BdvPX2WSuI+6sDtx+Cn7Q27cBZw41438qjciuE2UlGME26p/5VULyduOqp0a3T3ZTjQ== +"@bazel/esbuild@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.7.3.tgz#98a82b69bafd9b68dcf9aba340d67727a777bcbc" + integrity sha512-SzOmPlvI3rzYz73tHNVl3GlvfSo+NFZzuQQeJWhUq3JMHLYjUU14A9nY0WhBKTamD4MatJg9mUJOdOnXvOVtxQ== "@bazel/jasmine@5.7.3": version "5.7.3" @@ -1295,35 +1287,35 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/protractor@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.2.tgz#2393cd41f0ba436d131d13783913d8340b66a71d" - integrity sha512-pDkTLC+3hDGtIz42N8UXMkHbTcU5U8duvpiq4xvsP36VH9H5c/wSQQ9MYZojFkrOoVd7SHr/3Ojm/d2H9qqe2w== +"@bazel/protractor@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.7.3.tgz#848d874a5f7d504bfeaebfdd6a7cc90a69eb7aeb" + integrity sha512-7/qwN7fnj8AspaMBqQv9kf//+CvbpIJwQKidLq2e1djJZ5EDBfcHbCKy16s5nrecwl3q7IMJXyxj4jh4k41OTg== -"@bazel/runfiles@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.2.tgz#18d6d69b0efced65b2b01f5bc002ac5ccf7ac260" - integrity sha512-vHogrmEaKVqyqB6z6m4lzBw2Ns9c3RCvw9i/LECjhimueOXOhLuTYsHoe25u3008W53ZDAkD1RyeTbvakjRIpQ== +"@bazel/runfiles@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.7.3.tgz#d359bb9fae52ff0fb1bea870bc74b6ded357fda2" + integrity sha512-GKN9mdquGwZZroVJTItoNgzDxjZihQZ78C3dDlLpZVlBqm0FyXsYnKOPpEGrtbuFehO0LSMdqVhS390o/vvTSQ== -"@bazel/terser@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.2.tgz#3b086bbbacd5dabb3588f60c6123248809b18ff5" - integrity sha512-2P/P6+ctdQHeChlUNNyuIaE3aQNknUUYrCoCRfhUHbOW/3N2N2dZV9FBjKLHhmYE+oYaYe1WB3X+lJS9/ljTjw== +"@bazel/terser@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.7.3.tgz#28411aaa8f6bb1bb5543d7f5d39ee2ce84443bd9" + integrity sha512-tk3/iEYspWego6ICBKEttEUH/dsTpV88BhHYLCpkMIzF6JIUc7hKagek3dpjOA1UHAPOGX9gx5dsp181jPfp6Q== -"@bazel/typescript@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.2.tgz#a341215dc93ce28794e8430b311756816140bd78" - integrity sha512-tarBJBEIirnq/YaeYu18vXcDxjzlq4xhCXvXUxA0lhHX5oArjEcAEn4tmO0jF+t/7cbkAdMT7daG6vIHSz0QAA== +"@bazel/typescript@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.7.3.tgz#4378ab66837fb0aba0031b362c80c6523bc6a707" + integrity sha512-GuDTCtEZcxOXZTJAZi0gfi/i3wm4r6Ny6I7NZLj4Xk9tX+yyRG8SBuUHN972S8/NmT5fFxnPymKfJiurXM4Txg== dependencies: - "@bazel/worker" "5.7.2" + "@bazel/worker" "5.7.3" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.2.tgz#43d800dc1b5a3707340a4eb0102da81c53fc6f63" - integrity sha512-H+auDA0QKF4mtZxKkZ2OKJvD7hGXVsVKtvcf4lbb93ur0ldpb5k810PcDxngmIGBcIX5kmyxniNTIiGFNobWTg== +"@bazel/worker@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.7.3.tgz#cfe01294a0a98b0bcf3e736d66b1ed1535cbcf4c" + integrity sha512-P3Qo3bTw/NgxkcUNdUTb5j8jm6qIzRvKmFYMMyUyUBN0b7sAB6Qlk0QAP9Lok9+G9TbCXmmbT0dauftsH2x5fQ== dependencies: google-protobuf "^3.6.1" @@ -1349,121 +1341,221 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/android-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.2.tgz#cdc8e99494d80a6ebfc7abc41914c4a8b98314ae" + integrity sha512-3CjbygjFHmtxDW59FOUM1T28G+aVqzbM+cNNinMgRUq+bmAstJdqmJL/KqpUwuCRTri4BgHJRWQbHOQFLwIpxw== + "@esbuild/android-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== -"@esbuild/android-arm@0.15.16": - version "0.15.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" - integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== +"@esbuild/android-arm@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.2.tgz#585ac1f25abce4c7b996f0a84f33f0ae6df043cb" + integrity sha512-t8zq/Ad8njye3tYkbdBYAEGBExCyqFuPnKmKgLBF9+nIwAS/V3FYck6BjAx813JCGXkNsR1iriS8jQFwydT+FA== "@esbuild/android-arm@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== +"@esbuild/android-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.2.tgz#544d96e13f9551365b360d1139bed3c1da5cd575" + integrity sha512-J5pzzVs9gHRQff8vUBhGMRQU1avwD9IVTSfzhdnKRqlxq0hsdcgZxH95Ckj/q2KJ4nMPYfDBSRXrrvQ4PyMpFA== + "@esbuild/android-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== +"@esbuild/darwin-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.2.tgz#f417bc18cb80cfaa95aecb8ddc9e6a74be26c92c" + integrity sha512-XmjlYmR1UTEdMT2X3TxnA0hG8zOi3q/BzqNN6/PDBxw/UxE9gdj7LGwiQus5HHZM03vSvjRO7WJ7qaJBGBWnpQ== + "@esbuild/darwin-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== +"@esbuild/darwin-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.2.tgz#d2695c66fd8a4e17a2f7d2c9f2bd6babf1c9c161" + integrity sha512-nq5cXgzbXHhBqZEPpuXrf2+BV6QWUM8vAyT/ElJrdIkoGOHwNQJEqZHl3KOWK+1V3KXEXgJhh7DsLixIc677ZQ== + "@esbuild/darwin-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== +"@esbuild/freebsd-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.2.tgz#3abbf2a113dbcb77f253f031c412a27874a31b71" + integrity sha512-1QuZr7GnoipDYMFJDucqXmVvJZidZuHbvw5QLzBehYq67GR1Jub9pSo6O0Rt4LtKnu3TF2K/bjgzPJAGFY6W4Q== + "@esbuild/freebsd-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== +"@esbuild/freebsd-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.2.tgz#7e68876fbe0e6e8fc9f45f880a2b393e61f54bf3" + integrity sha512-uvbv99Wg2T489bqUz4gYVb2IpSSZZP/uTkaZpaLN+h3x58FmsLT4o7bF1Refd2JIKuONxSobljlk5/K/RD9SsQ== + "@esbuild/freebsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== +"@esbuild/linux-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.2.tgz#2d186a0f336a4022b38c0994404ad4541b850d46" + integrity sha512-S7EwMhEUMzYfd9KTHJX7Y3bKz7/9sZDRJPp10EOQ3Qqp10WvX2G42Q2c7rfymnm9aM5ZWs+W8WgbLFAUnjC3Wg== + "@esbuild/linux-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== +"@esbuild/linux-arm@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.2.tgz#3a816b6349655ac5e80117947543028d8eedeaf8" + integrity sha512-8n2UozHygOGXzgysim6GifKjv+lW4fs3mlfaoKerwBIOT9OBCo1Q4AjvbtU3F+2AGyo8eavxnj6Xxx0DRTOwiw== + "@esbuild/linux-arm@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== +"@esbuild/linux-ia32@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.2.tgz#6ec937d2c4a17db5c6bb0b898e86c42df97422f4" + integrity sha512-TRz3MDvv65zXZ4NTJYi1yyVj17Qrsm8y6J8r4qIdd2qszRLPHmte4LAazPa7g+To6QfM2kL3gHmVhwV6GcYz0g== + "@esbuild/linux-ia32@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== -"@esbuild/linux-loong64@0.15.16": - version "0.15.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" - integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ== +"@esbuild/linux-loong64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.2.tgz#6f611b6e03f5404b5e3d45040f0d743071b1229b" + integrity sha512-yhHJCvPQjh/8wLEk336QzXMHYnMKJdzLcNAnXwVawSvsLqyzTYrGshrO1YMhzs5cWgR75DFNnhcAFgEtleAZOw== "@esbuild/linux-loong64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== +"@esbuild/linux-mips64el@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.2.tgz#5c76d385d68189336b78dfc933a77d13465eee5c" + integrity sha512-YwMpV41qIKRHASV4MaaA/PKk9CoZ4QyVyPXhUtLTO9kPWtWECRI4MTBrGIb9kGUpL6I+jiT4fAZn8YpWSGBkQg== + "@esbuild/linux-mips64el@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== +"@esbuild/linux-ppc64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.2.tgz#db567dd114122bcb034910d79000ea9cca9db897" + integrity sha512-s4YuINcRxCA9TElEf2iBdG6oZWdNu2Eb6R9TbRBcZOTdcgdBKIinaVyEiQ8H6nmCafWCuuJT8u66zds2ET3t1Q== + "@esbuild/linux-ppc64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== +"@esbuild/linux-riscv64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.2.tgz#72e1fd9cc9972e662fcef9138636bd1259c3cd3a" + integrity sha512-oacL6QGqVRhBCbBlFxODYfcCkB6tPmfanaWnsuHNI7m9LVkBuuDKpsC3XWOwkEQiLIJcvhhZKOkkgw49KxS1Dw== + "@esbuild/linux-riscv64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== +"@esbuild/linux-s390x@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.2.tgz#b0fd46338d0b4906cfc7e9c4b1850960432f2f7a" + integrity sha512-5ifr0lshZbLI457Qe6y3MsDYv1cSOJ8awgi0HT14cS59WliT7bDkrr3kmDw/LqGOAPyDvDD+U8s2cFBSENetuA== + "@esbuild/linux-s390x@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== +"@esbuild/linux-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.2.tgz#f323afb5e3f433093078dbfa261e8148970ada20" + integrity sha512-TA/ORYlP6h2pfB/dzrPTMFWd1MaUYy7kwblWdzwkUtsTAJAKJlZwBhkKftSaUNNU5wtXNJ9+ucMDf7vBPbDjlw== + "@esbuild/linux-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== +"@esbuild/netbsd-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.2.tgz#fa5c5ad79bbadfbd741423ee4ab22d2b0c55143f" + integrity sha512-oBH2Aj4fL9FLlkIi2wYGckydKHVKmYrqiqt91i6kFE1mF7B05YYttrlOHAf3JzWIJQWyvzvsmoA/XFPf1sTgBw== + "@esbuild/netbsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== +"@esbuild/openbsd-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.2.tgz#a20232bdb2ed8731294bed401cbf0e10dada4540" + integrity sha512-eKOpYr7CiF9GZxu18iOQGfzQ4htO6KGhXriW2raJvRO0G27Lu7ArAI/kW71yTPaFqlf9gCmCGaTPr2tmiUePVg== + "@esbuild/openbsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== +"@esbuild/sunos-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.2.tgz#d57d9b3121b028dcee8d7ec556b514a0545872c9" + integrity sha512-1HsQLVnjhlscekE8H5Xj49xPvd0c74eoZEjh+OUnr+x7vCXdTVdFDgao9QM0H9zfioxJN1ZH7534LwxEaAWaIA== + "@esbuild/sunos-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== +"@esbuild/win32-arm64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.2.tgz#a548cff2e5bcd5cdfe1431320b9fee81440d26f1" + integrity sha512-G9AWjsnVxGQj8z0WgaDwTKgXzwc9zLPYDFoLE4oAGI/TQnft0eQjc+CKiWRyoa+a/c3XIFGXoWnW+17kbibSfA== + "@esbuild/win32-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== +"@esbuild/win32-ia32@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.2.tgz#8f96eb33303344ec70460a44d3189b673e29cf5b" + integrity sha512-UJqmfPsiSX/wP1kY5JMordRqNU2r8n8ieXmNimp4r35sQEX3bjnSkPJ2E8BM8W8ecmEL+oDjYjulkTT3zSPa1g== + "@esbuild/win32-ia32@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== +"@esbuild/win32-x64@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.2.tgz#01350ef54fb4b2a0b423072d30deceaa5c1c529e" + integrity sha512-1+PQiGAbbGlIXXlp9i/5JRpodCsozGTjffaD4W1LgeoynWef38VD8NNC8yG366NYXHHHLR1pN6MQZ9r2na/S1A== + "@esbuild/win32-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" @@ -2343,10 +2435,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.1.0-next.1": - version "15.1.0-next.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.1.tgz#cec3157d9b7c0970ff9e3422192702876a639bcf" - integrity sha512-DYL6FsfJcE0owb//6oZWa7SMlsn3Q/X6qJYP0pc83/LoAMvTWOzApeWIp9g+mJQ9Vc5zJ6VvQMMO6qWSu0BQxw== +"@ngtools/webpack@15.1.0-next.2": + version "15.1.0-next.2" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.2.tgz#6c54c062304aa9f06426f801c9f2f8c87c2c1dc4" + integrity sha512-G2MdjuwzcCbU0amIM31qkHG2BGVaLQ/+gWpnYLVp1kWILd+fhvGQ2Z32raUcEQGVRMKk9WIz38SB8nmR3gWxAw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -4232,25 +4324,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.2.tgz#ff2bd029bf45099b3fe711f56fbf138b846c8d6d" - integrity sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ== - dependencies: - "@npmcli/fs" "^3.1.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - cacache@17.0.3, cacache@^17.0.0: version "17.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.3.tgz#9ba14e0e50eca763ae7e2ee89036a948a13035ed" @@ -5362,143 +5435,43 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" - integrity sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA== - -esbuild-android-arm64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" - integrity sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg== - -esbuild-darwin-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" - integrity sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g== - -esbuild-darwin-arm64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" - integrity sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw== - -esbuild-freebsd-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" - integrity sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ== - -esbuild-freebsd-arm64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" - integrity sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g== - -esbuild-linux-32@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" - integrity sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w== - -esbuild-linux-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" - integrity sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g== - -esbuild-linux-arm64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" - integrity sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A== - -esbuild-linux-arm@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" - integrity sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ== - -esbuild-linux-mips64le@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" - integrity sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A== - -esbuild-linux-ppc64le@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" - integrity sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA== - -esbuild-linux-riscv64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" - integrity sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw== - -esbuild-linux-s390x@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" - integrity sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w== - -esbuild-netbsd-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" - integrity sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg== - -esbuild-openbsd-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" - integrity sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA== - -esbuild-sunos-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" - integrity sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ== - -esbuild-wasm@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.16.tgz#a5f97f126e17da182cfa53f56815cc13677ef3f9" - integrity sha512-xMriF73R3nZE9/DcxZ85mvWcfnmYzk5RssMpE0GScZYKH3aJQyTutZgDFKGgGlLHvD/HmmTy1dlX1GNw6K8g7w== +esbuild-wasm@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" + integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== esbuild-wasm@0.16.4, esbuild-wasm@^0.16.0: version "0.16.4" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.4.tgz#16fcfae88a753f2b1556b739d8297c0e9ada2363" integrity sha512-Nh7aa9uazooaEIGubc8s0nQZFhnf035pJMTpMPBonzDchN6RPsQES5bojQo3zT2xSAuC9nEMg8Nxzc1iwigETw== -esbuild-windows-32@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" - integrity sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ== - -esbuild-windows-64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" - integrity sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw== - -esbuild-windows-arm64@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" - integrity sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA== - -esbuild@0.15.16: - version "0.15.16" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.16.tgz#59324e5667985bf6aee8a91ea576baef6872cf21" - integrity sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ== +esbuild@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.2.tgz#5d864a37c12a8b19340ead348b2cd51b096bbde8" + integrity sha512-Rv/CJquZKE00irDLDpk9jmWmtxx1NW+MGpBbNNouaDY0oBwk806uJ51WpLaJBQUxhZqLauX2rrNol5lVQceHJw== optionalDependencies: - "@esbuild/android-arm" "0.15.16" - "@esbuild/linux-loong64" "0.15.16" - esbuild-android-64 "0.15.16" - esbuild-android-arm64 "0.15.16" - esbuild-darwin-64 "0.15.16" - esbuild-darwin-arm64 "0.15.16" - esbuild-freebsd-64 "0.15.16" - esbuild-freebsd-arm64 "0.15.16" - esbuild-linux-32 "0.15.16" - esbuild-linux-64 "0.15.16" - esbuild-linux-arm "0.15.16" - esbuild-linux-arm64 "0.15.16" - esbuild-linux-mips64le "0.15.16" - esbuild-linux-ppc64le "0.15.16" - esbuild-linux-riscv64 "0.15.16" - esbuild-linux-s390x "0.15.16" - esbuild-netbsd-64 "0.15.16" - esbuild-openbsd-64 "0.15.16" - esbuild-sunos-64 "0.15.16" - esbuild-windows-32 "0.15.16" - esbuild-windows-64 "0.15.16" - esbuild-windows-arm64 "0.15.16" + "@esbuild/android-arm" "0.16.2" + "@esbuild/android-arm64" "0.16.2" + "@esbuild/android-x64" "0.16.2" + "@esbuild/darwin-arm64" "0.16.2" + "@esbuild/darwin-x64" "0.16.2" + "@esbuild/freebsd-arm64" "0.16.2" + "@esbuild/freebsd-x64" "0.16.2" + "@esbuild/linux-arm" "0.16.2" + "@esbuild/linux-arm64" "0.16.2" + "@esbuild/linux-ia32" "0.16.2" + "@esbuild/linux-loong64" "0.16.2" + "@esbuild/linux-mips64el" "0.16.2" + "@esbuild/linux-ppc64" "0.16.2" + "@esbuild/linux-riscv64" "0.16.2" + "@esbuild/linux-s390x" "0.16.2" + "@esbuild/linux-x64" "0.16.2" + "@esbuild/netbsd-x64" "0.16.2" + "@esbuild/openbsd-x64" "0.16.2" + "@esbuild/sunos-x64" "0.16.2" + "@esbuild/win32-arm64" "0.16.2" + "@esbuild/win32-ia32" "0.16.2" + "@esbuild/win32-x64" "0.16.2" esbuild@0.16.4, esbuild@^0.16.0: version "0.16.4" @@ -7858,14 +7831,7 @@ lunr-mutable-indexes@2.3.2: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-string@0.26.7, magic-string@^0.26.0: - version "0.26.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" - integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== - dependencies: - sourcemap-codec "^1.4.8" - -magic-string@0.27.0: +magic-string@0.27.0, magic-string@^0.27.0: version "0.27.0" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== @@ -8051,13 +8017,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.1.tgz#ec924df783cff32ce6183fceb653028f70128643" - integrity sha512-viOoaUFy+Z2w43VsGPbtfwFrr0tKwDctK9dUofG5MBViYhD1noGFUzzDIVw0KPwCGUP+c7zqLxm+acuQs7zLzw== - dependencies: - schema-utils "^4.0.0" - mini-css-extract-plugin@2.7.2: version "2.7.2" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz#e049d3ea7d3e4e773aad585c6cb329ce0c7b72d7" @@ -10802,16 +10761,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.0.tgz#29362c6f5506e71545c73b069ccd199bb28f7f54" - integrity sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.16.1, terser@^5.14.1: version "5.16.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" From 8d000d1563684f9a9b6869e549e265f0997187c4 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 6 Dec 2022 15:34:06 -0500 Subject: [PATCH 1215/1388] feat(@schematics/angular): add environments generation schematic A schematic has been added that will allow the generation of environment files for all existing configurations within a project. The `fileReplacements` option will also be setup to allow the replacement of the appropriate environment file. Environment files themselves do not provide any special behavior beyond that of other application TypeScript files and rely on the `fileReplacements` option for build-time behavior. The schematic will skip generating environment files for configurations that already have an appropriately named environment file. The `fileReplacements` option addition will also be skipped if an appropriate entry is already present. --- packages/schematics/angular/collection.json | 5 + .../schematics/angular/environments/index.ts | 147 +++++++++++++++ .../angular/environments/index_spec.ts | 174 ++++++++++++++++++ .../angular/environments/schema.json | 18 ++ 4 files changed, 344 insertions(+) create mode 100644 packages/schematics/angular/environments/index.ts create mode 100644 packages/schematics/angular/environments/index_spec.ts create mode 100644 packages/schematics/angular/environments/schema.json diff --git a/packages/schematics/angular/collection.json b/packages/schematics/angular/collection.json index 073bdfed27e7..9b828f5232e6 100755 --- a/packages/schematics/angular/collection.json +++ b/packages/schematics/angular/collection.json @@ -115,6 +115,11 @@ "factory": "./web-worker", "schema": "./web-worker/schema.json", "description": "Create a Web Worker." + }, + "environments": { + "factory": "./environments", + "schema": "./environments/schema.json", + "description": "Generate project environment files." } } } diff --git a/packages/schematics/angular/environments/index.ts b/packages/schematics/angular/environments/index.ts new file mode 100644 index 000000000000..1ce9aa4287a9 --- /dev/null +++ b/packages/schematics/angular/environments/index.ts @@ -0,0 +1,147 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { Rule, SchematicsException, chain } from '@angular-devkit/schematics'; +import { AngularBuilder, TargetDefinition, updateWorkspace } from '@schematics/angular/utility'; +import { posix as path } from 'path'; +import { Schema as EnvironmentOptions } from './schema'; + +const ENVIRONMENTS_DIRECTORY = 'environments'; +const ENVIRONMENT_FILE_CONTENT = 'export const environment = {};\n'; + +export default function (options: EnvironmentOptions): Rule { + return updateWorkspace((workspace) => { + const project = workspace.projects.get(options.project); + if (!project) { + throw new SchematicsException(`Project name "${options.project}" doesn't not exist.`); + } + + const type = project.extensions['projectType']; + if (type !== 'application') { + return log( + 'error', + 'Only application project types are support by this schematic.' + type + ? ` Project "${options.project}" has a "projectType" of "${type}".` + : ` Project "${options.project}" has no "projectType" defined.`, + ); + } + + const buildTarget = project.targets.get('build'); + if (!buildTarget) { + return log( + 'error', + `No "build" target found for project "${options.project}".` + + ' A "build" target is required to generate environment files.', + ); + } + + const serverTarget = project.targets.get('server'); + + const sourceRoot = project.sourceRoot ?? path.join(project.root, 'src'); + + // The generator needs to be iterated prior to returning to ensure all workspace changes that occur + // within the generator are present for `updateWorkspace` when it writes the workspace file. + return chain([ + ...generateConfigurationEnvironments(buildTarget, serverTarget, sourceRoot, options.project), + ]); + }); +} + +function createIfMissing(path: string): Rule { + return (tree, context) => { + if (tree.exists(path)) { + context.logger.info(`Skipping creation of already existing environment file "${path}".`); + } else { + tree.create(path, ENVIRONMENT_FILE_CONTENT); + } + }; +} + +function log(type: 'info' | 'warn' | 'error', text: string): Rule { + return (_, context) => context.logger[type](text); +} + +function* generateConfigurationEnvironments( + buildTarget: TargetDefinition, + serverTarget: TargetDefinition | undefined, + sourceRoot: string, + projectName: string, +): Iterable { + if (!buildTarget.builder.startsWith(AngularBuilder.Browser)) { + yield log( + 'warn', + `"build" target found for project "${projectName}" has a third-party builder "${buildTarget.builder}".` + + ' The generated project options may not be compatible with this builder.', + ); + } + + if (serverTarget && !serverTarget.builder.startsWith(AngularBuilder.Server)) { + yield log( + 'warn', + `"server" target found for project "${projectName}" has a third-party builder "${buildTarget.builder}".` + + ' The generated project options may not be compatible with this builder.', + ); + } + + // Create default environment file + const defaultFilePath = path.join(sourceRoot, ENVIRONMENTS_DIRECTORY, 'environment.ts'); + yield createIfMissing(defaultFilePath); + + const configurationEntries = [ + ...Object.entries(buildTarget.configurations ?? {}), + ...Object.entries(serverTarget?.configurations ?? {}), + ]; + + const addedFiles = new Set(); + for (const [name, configurationOptions] of configurationEntries) { + if (!configurationOptions) { + // Invalid configuration + continue; + } + + // Default configuration will use the default environment file + if (name === buildTarget.defaultConfiguration) { + continue; + } + + const configurationFilePath = path.join( + sourceRoot, + ENVIRONMENTS_DIRECTORY, + `environment.${name}.ts`, + ); + + // Add file replacement option entry for the configuration environment file + const replacements = (configurationOptions['fileReplacements'] ??= []) as { + replace: string; + with: string; + }[]; + const existing = replacements.find((value) => value.replace === defaultFilePath); + if (existing) { + if (existing.with === configurationFilePath) { + yield log( + 'info', + `Skipping addition of already existing file replacements option for "${defaultFilePath}" to "${configurationFilePath}".`, + ); + } else { + yield log( + 'warn', + `Configuration "${name}" has a file replacements option for "${defaultFilePath}" but with a different replacement.` + + ` Expected "${configurationFilePath}" but found "${existing.with}". This may result in unexpected build behavior.`, + ); + } + } else { + replacements.push({ replace: defaultFilePath, with: configurationFilePath }); + } + + // Create configuration specific environment file if not already added + if (!addedFiles.has(configurationFilePath)) { + addedFiles.add(configurationFilePath); + yield createIfMissing(configurationFilePath); + } + } +} diff --git a/packages/schematics/angular/environments/index_spec.ts b/packages/schematics/angular/environments/index_spec.ts new file mode 100644 index 000000000000..180374c9097d --- /dev/null +++ b/packages/schematics/angular/environments/index_spec.ts @@ -0,0 +1,174 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { Schema as ApplicationOptions } from '../application/schema'; +import { Schema as WorkspaceOptions } from '../workspace/schema'; +import { Schema as EnvironmentOptions } from './schema'; + +describe('Application Schematic', () => { + const schematicRunner = new SchematicTestRunner( + '@schematics/angular', + require.resolve('../collection.json'), + ); + + const workspaceOptions: WorkspaceOptions = { + name: 'workspace', + newProjectRoot: 'projects', + version: '15.0.0', + }; + + const defaultOptions: EnvironmentOptions = { + project: 'foo', + }; + + const defaultAppOptions: ApplicationOptions = { + name: 'foo', + inlineStyle: true, + inlineTemplate: true, + routing: false, + skipPackageJson: false, + minimal: true, + }; + + let applicationTree: UnitTestTree; + const messages: string[] = []; + schematicRunner.logger.subscribe((x) => messages.push(x.message)); + + function runEnvironmentsSchematic(): Promise { + return schematicRunner.runSchematic('environments', defaultOptions, applicationTree); + } + + beforeEach(async () => { + messages.length = 0; + const workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + applicationTree = await schematicRunner.runSchematic( + 'application', + defaultAppOptions, + workspaceTree, + ); + }); + + it('should create a default environment typescript file', async () => { + const tree = await runEnvironmentsSchematic(); + expect(tree.readText('projects/foo/src/environments/environment.ts')).toEqual( + 'export const environment = {};\n', + ); + }); + + it('should create a development configuration environment typescript file', async () => { + const tree = await runEnvironmentsSchematic(); + expect(tree.readText('projects/foo/src/environments/environment.development.ts')).toEqual( + 'export const environment = {};\n', + ); + }); + + it('should create environment typescript files for additional configurations', async () => { + const initialWorkspace = JSON.parse(applicationTree.readContent('/angular.json')); + initialWorkspace.projects.foo.architect.build.configurations.staging = {}; + applicationTree.overwrite('/angular.json', JSON.stringify(initialWorkspace)); + + const tree = await runEnvironmentsSchematic(); + expect(tree.readText('projects/foo/src/environments/environment.development.ts')).toEqual( + 'export const environment = {};\n', + ); + + expect(tree.readText('projects/foo/src/environments/environment.staging.ts')).toEqual( + 'export const environment = {};\n', + ); + }); + + it('should update the angular.json file replacements option for the development configuration', async () => { + const tree = await runEnvironmentsSchematic(); + const workspace = JSON.parse(tree.readContent('/angular.json')); + + const developmentConfiguration = + workspace.projects.foo.architect.build.configurations.development; + expect(developmentConfiguration).toEqual( + jasmine.objectContaining({ + fileReplacements: [ + { + replace: 'projects/foo/src/environments/environment.ts', + with: 'projects/foo/src/environments/environment.development.ts', + }, + ], + }), + ); + }); + + it('should update the angular.json file replacements option for additional configurations', async () => { + const initialWorkspace = JSON.parse(applicationTree.readContent('/angular.json')); + initialWorkspace.projects.foo.architect.build.configurations.staging = {}; + applicationTree.overwrite('/angular.json', JSON.stringify(initialWorkspace)); + + const tree = await runEnvironmentsSchematic(); + const workspace = JSON.parse(tree.readContent('/angular.json')); + + const developmentConfiguration = + workspace.projects.foo.architect.build.configurations.development; + expect(developmentConfiguration).toEqual( + jasmine.objectContaining({ + fileReplacements: [ + { + replace: 'projects/foo/src/environments/environment.ts', + with: 'projects/foo/src/environments/environment.development.ts', + }, + ], + }), + ); + + const stagingConfiguration = workspace.projects.foo.architect.build.configurations.staging; + expect(stagingConfiguration).toEqual( + jasmine.objectContaining({ + fileReplacements: [ + { + replace: 'projects/foo/src/environments/environment.ts', + with: 'projects/foo/src/environments/environment.staging.ts', + }, + ], + }), + ); + }); + + it('should update the angular.json file replacements option for server configurations', async () => { + await schematicRunner.runSchematic( + 'universal', + { project: 'foo', skipInstall: true }, + applicationTree, + ); + + const tree = await runEnvironmentsSchematic(); + const workspace = JSON.parse(tree.readContent('/angular.json')); + + const developmentConfiguration = + workspace.projects.foo.architect.build.configurations.development; + expect(developmentConfiguration).toEqual( + jasmine.objectContaining({ + fileReplacements: [ + { + replace: 'projects/foo/src/environments/environment.ts', + with: 'projects/foo/src/environments/environment.development.ts', + }, + ], + }), + ); + + const serverDevelopmentConfiguration = + workspace.projects.foo.architect.server.configurations.development; + expect(serverDevelopmentConfiguration).toEqual( + jasmine.objectContaining({ + fileReplacements: [ + { + replace: 'projects/foo/src/environments/environment.ts', + with: 'projects/foo/src/environments/environment.development.ts', + }, + ], + }), + ); + }); +}); diff --git a/packages/schematics/angular/environments/schema.json b/packages/schematics/angular/environments/schema.json new file mode 100644 index 000000000000..6aea81664e04 --- /dev/null +++ b/packages/schematics/angular/environments/schema.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "SchematicsAngularEnvironment", + "title": "Angular Environments Options Schema", + "type": "object", + "additionalProperties": false, + "description": "Generates and configures environment files for a project.", + "properties": { + "project": { + "type": "string", + "description": "The name of the project.", + "$default": { + "$source": "projectName" + } + } + }, + "required": ["project"] +} From 216991b9d9ca1d8f09992880a5fa92e7c98813fa Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 7 Dec 2022 13:38:56 -0500 Subject: [PATCH 1216/1388] feat(@angular-devkit/build-angular): support inline component Sass styles with esbuild builder When using the experimental esbuild-based browser application builder, the `inlineStyleLanguage` option and the usage of inline Angular component styles that contain Sass are now supported. The `inlineStyleLanguage` option values of `css`, `sass`, and `scss` can be used and will behave as they would with the default Webpack-based builder. The less stylesheet preprocessor is not yet supported in general with the esbuild-based builder. However, when support is added for less, the `inlineStyleLanguage` option will also be able to be used with the `less` option value. --- .../browser-esbuild/compiler-plugin.ts | 33 ++- .../browser-esbuild/experimental-warnings.ts | 12 +- .../src/builders/browser-esbuild/index.ts | 2 + .../src/builders/browser-esbuild/options.ts | 2 + .../builders/browser-esbuild/sass-plugin.ts | 217 ++++++++++-------- .../builders/browser-esbuild/stylesheets.ts | 109 +++++---- 6 files changed, 207 insertions(+), 168 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 5c4875acc4fb..921b328d283f 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -29,7 +29,12 @@ import { profileSync, resetCumulativeDurations, } from './profiling'; -import { BundleStylesheetOptions, bundleStylesheetFile, bundleStylesheetText } from './stylesheets'; +import { BundleStylesheetOptions, bundleComponentStylesheet } from './stylesheets'; + +/** + * A counter for component styles used to generate unique build-time identifiers for each stylesheet. + */ +let componentStyleCounter = 0; /** * Converts TypeScript Diagnostic related information into an esbuild compatible note object. @@ -150,7 +155,7 @@ export interface CompilerPluginOptions { // eslint-disable-next-line max-lines-per-function export function createCompilerPlugin( pluginOptions: CompilerPluginOptions, - styleOptions: BundleStylesheetOptions, + styleOptions: BundleStylesheetOptions & { inlineStyleLanguage: string }, ): Plugin { return { name: 'angular-compiler', @@ -253,21 +258,15 @@ export function createCompilerPlugin( // Stylesheet file only exists for external stylesheets const filename = stylesheetFile ?? containingFile; - // Temporary workaround for lack of virtual file support in the Sass plugin. - // External Sass stylesheets are transformed using the file instead of the already read content. - let stylesheetResult; - if (filename.endsWith('.scss') || filename.endsWith('.sass')) { - stylesheetResult = await bundleStylesheetFile(filename, styleOptions); - } else { - stylesheetResult = await bundleStylesheetText( - data, - { - resolvePath: path.dirname(filename), - virtualName: filename, - }, - styleOptions, - ); - } + const stylesheetResult = await bundleComponentStylesheet( + // TODO: Evaluate usage of a fast hash instead + `${++componentStyleCounter}`, + styleOptions.inlineStyleLanguage, + data, + filename, + !stylesheetFile, + styleOptions, + ); const { contents, resourceFiles, errors, warnings } = stylesheetResult; (result.errors ??= []).push(...errors); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index dac13da1e40e..637b1b1d3029 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -23,11 +23,6 @@ const UNSUPPORTED_OPTIONS: Array = [ // 'i18nDuplicateTranslation', // 'i18nMissingTranslation', - // * Stylesheet preprocessor support - 'inlineStyleLanguage', - // The following option has no effect until preprocessors are supported - // 'stylePreprocessorOptions', - // * Deprecated 'deployUrl', @@ -60,12 +55,13 @@ export function logExperimentalWarnings(options: BrowserBuilderOptions, context: if (typeof value === 'object' && Object.keys(value).length === 0) { continue; } - if (unsupportedOption === 'inlineStyleLanguage' && value === 'css') { - continue; - } context.logger.warn( `The '${unsupportedOption}' option is currently unsupported by this experimental builder and will be ignored.`, ); } + + if (options.inlineStyleLanguage === 'less') { + context.logger.warn('The less stylesheet preprocessor is not currently supported.'); + } } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 2508c1279cff..14931978b4ff 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -242,6 +242,7 @@ function createCodeBundleOptions( preserveSymlinks, stylePreprocessorOptions, advancedOptimizations, + inlineStyleLanguage, } = options; return { @@ -292,6 +293,7 @@ function createCodeBundleOptions( includePaths: stylePreprocessorOptions?.includePaths, externalDependencies, target, + inlineStyleLanguage, }, ), ], diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 649b970a048c..ec6351ceca53 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -136,6 +136,7 @@ export async function normalizeOptions( buildOptimizer, crossOrigin, externalDependencies, + inlineStyleLanguage = 'css', poll, preserveSymlinks, stylePreprocessorOptions, @@ -151,6 +152,7 @@ export async function normalizeOptions( cacheOptions, crossOrigin, externalDependencies, + inlineStyleLanguage, poll, // If not explicitly set, default to the Node.js process argument preserveSymlinks: preserveSymlinks ?? process.execArgv.includes('--preserve-symlinks'), diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 1ef2613e1302..50928d3341bb 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -6,16 +6,23 @@ * found in the LICENSE file at https://angular.io/license */ -import type { PartialMessage, Plugin, PluginBuild } from 'esbuild'; +import type { OnLoadResult, PartialMessage, Plugin, PluginBuild, ResolveResult } from 'esbuild'; +import assert from 'node:assert'; import { readFile } from 'node:fs/promises'; -import { dirname, join, relative } from 'node:path'; +import { dirname, extname, join, relative } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; -import type { CompileResult, Exception } from 'sass'; +import type { CompileResult, Exception, Syntax } from 'sass'; import { FileImporterWithRequestContextOptions, SassWorkerImplementation, } from '../../sass/sass-service'; +export interface SassPluginOptions { + sourcemap: boolean; + loadPaths?: string[]; + inlineComponentData?: Record; +} + let sassWorkerPool: SassWorkerImplementation | undefined; function isSassException(error: unknown): error is Exception { @@ -27,7 +34,7 @@ export function shutdownSassWorkerPool(): void { sassWorkerPool = undefined; } -export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: string[] }): Plugin { +export function createSassPlugin(options: SassPluginOptions): Plugin { return { name: 'angular-sass', setup(build: PluginBuild): void { @@ -55,105 +62,123 @@ export function createSassPlugin(options: { sourcemap: boolean; loadPaths?: stri return result; }; - build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { - // Lazily load Sass when a Sass file is found - sassWorkerPool ??= new SassWorkerImplementation(true); - - const warnings: PartialMessage[] = []; - try { - const data = await readFile(args.path, 'utf-8'); - const { css, sourceMap, loadedUrls } = await sassWorkerPool.compileStringAsync(data, { - url: pathToFileURL(args.path), - style: 'expanded', - loadPaths: options.loadPaths, - sourceMap: options.sourcemap, - sourceMapIncludeSources: options.sourcemap, - quietDeps: true, - importers: [ - { - findFileUrl: async ( - url, - { previousResolvedModules }: FileImporterWithRequestContextOptions, - ): Promise => { - const result = await resolveUrl(url, previousResolvedModules); - - // Check for package deep imports - if (!result.path) { - const parts = url.split('/'); - const hasScope = parts.length >= 2 && parts[0].startsWith('@'); - const [nameOrScope, nameOrFirstPath, ...pathPart] = parts; - const packageName = hasScope - ? `${nameOrScope}/${nameOrFirstPath}` - : nameOrScope; - - const packageResult = await resolveUrl( - packageName + '/package.json', - previousResolvedModules, - ); - - if (packageResult.path) { - return pathToFileURL( - join( - dirname(packageResult.path), - !hasScope ? nameOrFirstPath : '', - ...pathPart, - ), - ); - } - } - - return result.path ? pathToFileURL(result.path) : null; - }, - }, - ], - logger: { - warn: (text, { deprecation, span }) => { - warnings.push({ - text: deprecation ? 'Deprecation' : text, - location: span && { - file: span.url && fileURLToPath(span.url), - lineText: span.context, - // Sass line numbers are 0-based while esbuild's are 1-based - line: span.start.line + 1, - column: span.start.column, - }, - notes: deprecation ? [{ text }] : undefined, - }); - }, - }, - }); + build.onLoad( + { filter: /^angular:styles\/component;s[ac]ss;/, namespace: 'angular:styles/component' }, + async (args) => { + const data = options.inlineComponentData?.[args.path]; + assert(data, `component style name should always be found [${args.path}]`); - return { - loader: 'css', - contents: sourceMap - ? `${css}\n${sourceMapToUrlComment(sourceMap, dirname(args.path))}` - : css, - watchFiles: loadedUrls.map((url) => fileURLToPath(url)), - warnings, - }; - } catch (error) { - if (isSassException(error)) { - const file = error.span.url ? fileURLToPath(error.span.url) : undefined; - - return { - loader: 'css', - errors: [ - { - text: error.message, - }, - ], - warnings, - watchFiles: file ? [file] : undefined, - }; - } + const [, language, , filePath] = args.path.split(';', 4); + const syntax = language === 'sass' ? 'indented' : 'scss'; - throw error; - } + return compileString(data, filePath, syntax, options, resolveUrl); + }, + ); + + build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { + const data = await readFile(args.path, 'utf-8'); + const syntax = extname(args.path).toLowerCase() === '.sass' ? 'indented' : 'scss'; + + return compileString(data, args.path, syntax, options, resolveUrl); }); }, }; } +async function compileString( + data: string, + filePath: string, + syntax: Syntax, + options: SassPluginOptions, + resolveUrl: (url: string, previousResolvedModules?: Set) => Promise, +): Promise { + // Lazily load Sass when a Sass file is found + sassWorkerPool ??= new SassWorkerImplementation(true); + + const warnings: PartialMessage[] = []; + try { + const { css, sourceMap, loadedUrls } = await sassWorkerPool.compileStringAsync(data, { + url: pathToFileURL(filePath), + style: 'expanded', + syntax, + loadPaths: options.loadPaths, + sourceMap: options.sourcemap, + sourceMapIncludeSources: options.sourcemap, + quietDeps: true, + importers: [ + { + findFileUrl: async ( + url, + { previousResolvedModules }: FileImporterWithRequestContextOptions, + ): Promise => { + const result = await resolveUrl(url, previousResolvedModules); + + // Check for package deep imports + if (!result.path) { + const parts = url.split('/'); + const hasScope = parts.length >= 2 && parts[0].startsWith('@'); + const [nameOrScope, nameOrFirstPath, ...pathPart] = parts; + const packageName = hasScope ? `${nameOrScope}/${nameOrFirstPath}` : nameOrScope; + + const packageResult = await resolveUrl( + packageName + '/package.json', + previousResolvedModules, + ); + + if (packageResult.path) { + return pathToFileURL( + join(dirname(packageResult.path), !hasScope ? nameOrFirstPath : '', ...pathPart), + ); + } + } + + return result.path ? pathToFileURL(result.path) : null; + }, + }, + ], + logger: { + warn: (text, { deprecation, span }) => { + warnings.push({ + text: deprecation ? 'Deprecation' : text, + location: span && { + file: span.url && fileURLToPath(span.url), + lineText: span.context, + // Sass line numbers are 0-based while esbuild's are 1-based + line: span.start.line + 1, + column: span.start.column, + }, + notes: deprecation ? [{ text }] : undefined, + }); + }, + }, + }); + + return { + loader: 'css', + contents: sourceMap ? `${css}\n${sourceMapToUrlComment(sourceMap, dirname(filePath))}` : css, + watchFiles: loadedUrls.map((url) => fileURLToPath(url)), + warnings, + }; + } catch (error) { + if (isSassException(error)) { + const file = error.span.url ? fileURLToPath(error.span.url) : undefined; + + return { + loader: 'css', + errors: [ + { + text: error.message, + }, + ], + warnings, + watchFiles: file ? [file] : undefined, + }; + } + + throw error; + } +} + function sourceMapToUrlComment( sourceMap: Exclude, root: string, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index a34a624cea76..c4390e80fcfd 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -7,7 +7,7 @@ */ import type { BuildOptions, OutputFile } from 'esbuild'; -import * as path from 'path'; +import * as path from 'node:path'; import { createCssResourcePlugin } from './css-resource-plugin'; import { bundle } from './esbuild'; import { createSassPlugin } from './sass-plugin'; @@ -25,6 +25,7 @@ export interface BundleStylesheetOptions { export function createStylesheetBundleOptions( options: BundleStylesheetOptions, + inlineComponentData?: Record, ): BuildOptions & { plugins: NonNullable } { return { absWorkingDir: options.workspaceRoot, @@ -43,22 +44,75 @@ export function createStylesheetBundleOptions( conditions: ['style', 'sass'], mainFields: ['style', 'sass'], plugins: [ - createSassPlugin({ sourcemap: !!options.sourcemap, loadPaths: options.includePaths }), + createSassPlugin({ + sourcemap: !!options.sourcemap, + loadPaths: options.includePaths, + inlineComponentData, + }), createCssResourcePlugin(), ], }; } -async function bundleStylesheet( - entry: Required | Pick>, +/** + * Bundles a component stylesheet. The stylesheet can be either an inline stylesheet that + * is contained within the Component's metadata definition or an external file referenced + * from the Component's metadata definition. + * + * @param identifier A unique string identifier for the component stylesheet. + * @param language The language of the stylesheet such as `css` or `scss`. + * @param data The string content of the stylesheet. + * @param filename The filename representing the source of the stylesheet content. + * @param inline If true, the stylesheet source is within the component metadata; + * if false, the source is a stylesheet file. + * @param options An object containing the stylesheet bundling options. + * @returns An object containing the output of the bundling operation. + */ +export async function bundleComponentStylesheet( + identifier: string, + language: string, + data: string, + filename: string, + inline: boolean, options: BundleStylesheetOptions, ) { - // Execute esbuild - const result = await bundle(options.workspaceRoot, { - ...createStylesheetBundleOptions(options), - ...entry, + const namespace = 'angular:styles/component'; + const entry = [namespace, language, identifier, filename].join(';'); + + const buildOptions = createStylesheetBundleOptions(options, { [entry]: data }); + buildOptions.entryPoints = [entry]; + buildOptions.plugins.push({ + name: 'angular-component-styles', + setup(build) { + build.onResolve({ filter: /^angular:styles\/component;/ }, (args) => { + if (args.kind !== 'entry-point') { + return null; + } + + if (inline) { + return { + path: args.path, + namespace, + }; + } else { + return { + path: filename, + }; + } + }); + build.onLoad({ filter: /^angular:styles\/component;css;/, namespace }, async () => { + return { + contents: data, + loader: 'css', + resolveDir: path.dirname(filename), + }; + }); + }, }); + // Execute esbuild + const result = await bundle(options.workspaceRoot, buildOptions); + // Extract the result of the bundling from the output files let contents = ''; let map; @@ -88,42 +142,3 @@ async function bundleStylesheet( resourceFiles, }; } - -/** - * Bundle a stylesheet that exists as a file on the filesystem. - * - * @param filename The path to the file to bundle. - * @param options The stylesheet bundling options to use. - * @returns The bundle result object. - */ -export async function bundleStylesheetFile(filename: string, options: BundleStylesheetOptions) { - return bundleStylesheet({ entryPoints: [filename] }, options); -} - -/** - * Bundle stylesheet text data from a string. - * - * @param data The string content of a stylesheet to bundle. - * @param dataOptions The options to use to resolve references and name output of the stylesheet data. - * @param bundleOptions The stylesheet bundling options to use. - * @returns The bundle result object. - */ -export async function bundleStylesheetText( - data: string, - dataOptions: { resolvePath: string; virtualName?: string }, - bundleOptions: BundleStylesheetOptions, -) { - const result = bundleStylesheet( - { - stdin: { - contents: data, - sourcefile: dataOptions.virtualName, - resolveDir: dataOptions.resolvePath, - loader: 'css', - }, - }, - bundleOptions, - ); - - return result; -} From 310144d324bd773aa6026f47b345827d5fe48332 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 12 Dec 2022 16:25:55 -0500 Subject: [PATCH 1217/1388] fix(@angular-devkit/build-angular): only set ngDevMode when script optimizations are enabled When using the experimental esbuild-based browser application builder, the `ngDevMode` global runtime variable was unintentionally always being set to false due to a previous bug fix that stopped the variable from being replaced with the value of true when script optimizations were disabled. By doing so, the fix caused the imported compiler-cli `GLOBAL_DEFS_FOR_TERSER_WITH_AOT` constant to take precedence which contains an `ngDevMode` value of false. To prevent this situation for development builds where a non-false `ngDevMode` is helpful to surface potential runtime problems, `GLOBAL_DEFS_FOR_TERSER_WITH_AOT` will no longer change the value of `ngDevMode`. This fix does not have any effect on production builds since `ngDevMode` would have been set to false regardless. --- .../src/builders/browser-esbuild/compiler-plugin.ts | 4 ++++ .../build_angular/src/builders/browser-esbuild/index.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 921b328d283f..71989ccc3ee1 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -176,6 +176,10 @@ export function createCompilerPlugin( // Skip keys that have been manually provided continue; } + if (key === 'ngDevMode') { + // ngDevMode is already set based on the builder's script optimization option + continue; + } // esbuild requires values to be a string (actual strings need to be quoted). // In this case, all provided values are booleans. build.initialOptions.define[key] = value.toString(); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 14931978b4ff..6cd5fd5fe45e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -298,7 +298,11 @@ function createCodeBundleOptions( ), ], define: { + // Only set to false when script optimizations are enabled. It should not be set to true because + // Angular turns `ngDevMode` into an object for development debugging purposes when not defined + // which a constant true value would break. ...(optimizationOptions.scripts ? { 'ngDevMode': 'false' } : undefined), + // Only AOT mode is supported currently 'ngJitMode': 'false', }, }; From 025bcbd4d763029e8cb5d03a49493eec017a8ff1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 13 Dec 2022 06:08:01 +0000 Subject: [PATCH 1218/1388] build: update actions/checkout action to v3.2.0 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 9869480d83ad..1a6e08c85e21 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -25,7 +25,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 + uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 with: persist-credentials: false From 6fd3d367a638afbc01aa4f147d9600d62a2af35e Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 13 Dec 2022 14:06:05 +0000 Subject: [PATCH 1219/1388] build: update actions/checkout action to v3.2.0 --- .github/workflows/assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 9c8651c83981..bbf9c8446fbc 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -13,7 +13,7 @@ jobs: assistant_to_the_branch_manager: runs-on: ubuntu-latest steps: - - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 + - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 with: persist-credentials: false - uses: angular/dev-infra/github-actions/branch-manager@47f34200c206f119acb14e2e00e478b7fe2d4725 diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 68c3dc8ddb1f..a1e43feee856 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,14 +12,14 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 + - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@47f34200c206f119acb14e2e00e478b7fe2d4725 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # tag=v3.1.0 + - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 - uses: angular/dev-infra/github-actions/post-approval-changes@47f34200c206f119acb14e2e00e478b7fe2d4725 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From 20376649c5e3003b0aa99b9328e2b61699ccba78 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 13 Dec 2022 11:55:02 -0500 Subject: [PATCH 1220/1388] fix(@angular-devkit/build-angular): transform async generator class methods for Zone.js support When using the experimental esbuild-based browser application builder, async generator class methods will now be transformed to a downlevel form based on promise objects. This transformation is performed by babel and was previously (and still is) performed on async generator functions. This transformation is necessary to ensure Zone.js can hook async code via the Promise objects. Only async generator transformation is currently performed via babel as esbuild can handle all other native async syntax that requires transformation for Zone.js support. --- .../builders/browser-esbuild/javascript-transformer-worker.ts | 2 +- .../src/builders/browser-esbuild/javascript-transformer.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts index 65e8efb2a5d0..993dbdd93850 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts @@ -42,7 +42,7 @@ async function transformWithBabel({ }: JavaScriptTransformRequest): Promise { const forceAsyncTransformation = options.forceAsyncTransformation ?? - (!/[\\/][_f]?esm2015[\\/]/.test(filename) && /async\s+function\s*\*/.test(data)); + (!/[\\/][_f]?esm2015[\\/]/.test(filename) && /async(?:\s+function)?\s*\*/.test(data)); const shouldLink = !options.skipLinker && (await requiresLinking(filename, data)); const useInputSourcemap = options.sourcemap && diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts index e08a2b4a151f..3d98d4c4bb80 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts @@ -72,8 +72,8 @@ export class JavaScriptTransformer { let forceAsyncTransformation; if (skipLinker && !this.#commonOptions.advancedOptimizations) { // If the linker is being skipped and no optimizations are needed, only async transformation is left. - // This checks for async generator functions. All other async transformation is handled by esbuild. - forceAsyncTransformation = data.includes('async') && /async\s+function\s*\*/.test(data); + // This checks for async generator functions and class methods. All other async transformation is handled by esbuild. + forceAsyncTransformation = data.includes('async') && /async(?:\s+function)?\s*\*/.test(data); if (!forceAsyncTransformation) { return Buffer.from(data, 'utf-8'); From 320d072aac60371a278df25810e6447f8d5a5569 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 14 Dec 2022 15:37:54 +0000 Subject: [PATCH 1221/1388] build: update all non-major dependencies --- package.json | 6 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 163 +++++++++++++++++- 3 files changed, 166 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 3c182558f2b7..b4e83a28bd2e 100644 --- a/package.json +++ b/package.json @@ -138,10 +138,10 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", - "css-loader": "6.7.2", + "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.16.4", - "esbuild-wasm": "0.16.4", + "esbuild": "0.16.6", + "esbuild-wasm": "0.16.6", "eslint": "8.29.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 59f3d9f416c7..5112f639cd66 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -30,8 +30,8 @@ "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", - "css-loader": "6.7.2", - "esbuild-wasm": "0.16.4", + "css-loader": "6.7.3", + "esbuild-wasm": "0.16.6", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.4" + "esbuild": "0.16.6" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index cc4d07970884..6fca0a58ebd7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1351,6 +1351,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== +"@esbuild/android-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz#670061e921b2ef56adfa04ed66013e892136ec58" + integrity sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw== + "@esbuild/android-arm@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.2.tgz#585ac1f25abce4c7b996f0a84f33f0ae6df043cb" @@ -1361,6 +1366,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== +"@esbuild/android-arm@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.6.tgz#450a79c5b04f955106515b0d24d0a428f3b7b468" + integrity sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ== + "@esbuild/android-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.2.tgz#544d96e13f9551365b360d1139bed3c1da5cd575" @@ -1371,6 +1381,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== +"@esbuild/android-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.6.tgz#d62788083113d54456c79d8aefb4a8f922ff9100" + integrity sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ== + "@esbuild/darwin-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.2.tgz#f417bc18cb80cfaa95aecb8ddc9e6a74be26c92c" @@ -1381,6 +1396,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== +"@esbuild/darwin-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz#2d1c78ce0752236fa088fc3cc4e33a4fd3d26c84" + integrity sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w== + "@esbuild/darwin-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.2.tgz#d2695c66fd8a4e17a2f7d2c9f2bd6babf1c9c161" @@ -1391,6 +1411,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== +"@esbuild/darwin-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz#873b80540e5e8f0d1b87e2a48e7bfaecc097bfc0" + integrity sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA== + "@esbuild/freebsd-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.2.tgz#3abbf2a113dbcb77f253f031c412a27874a31b71" @@ -1401,6 +1426,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== +"@esbuild/freebsd-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz#3d432d5e9fa17955f1e8b23255a00207f22891c0" + integrity sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ== + "@esbuild/freebsd-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.2.tgz#7e68876fbe0e6e8fc9f45f880a2b393e61f54bf3" @@ -1411,6 +1441,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== +"@esbuild/freebsd-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz#7e892ec08c9a11863e86feff169452f3cde967af" + integrity sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g== + "@esbuild/linux-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.2.tgz#2d186a0f336a4022b38c0994404ad4541b850d46" @@ -1421,6 +1456,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== +"@esbuild/linux-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz#d1e2b0099cb19dce96ef9e4d4b94bc861c9b39cc" + integrity sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw== + "@esbuild/linux-arm@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.2.tgz#3a816b6349655ac5e80117947543028d8eedeaf8" @@ -1431,6 +1471,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== +"@esbuild/linux-arm@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz#ecb1543b12c27f7e4c7ad67d5e13d9a08d034e55" + integrity sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg== + "@esbuild/linux-ia32@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.2.tgz#6ec937d2c4a17db5c6bb0b898e86c42df97422f4" @@ -1441,6 +1486,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== +"@esbuild/linux-ia32@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz#916c13e4076d03cabbbfaa6735e6c195fe332932" + integrity sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw== + "@esbuild/linux-loong64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.2.tgz#6f611b6e03f5404b5e3d45040f0d743071b1229b" @@ -1451,6 +1501,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== +"@esbuild/linux-loong64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz#d337a6cfb132288ac59e1f028be9b16cf4c7d339" + integrity sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA== + "@esbuild/linux-mips64el@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.2.tgz#5c76d385d68189336b78dfc933a77d13465eee5c" @@ -1461,6 +1516,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== +"@esbuild/linux-mips64el@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz#cfcb7bcae8fbc91d07c93f3c2e26779ddaa7c738" + integrity sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q== + "@esbuild/linux-ppc64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.2.tgz#db567dd114122bcb034910d79000ea9cca9db897" @@ -1471,6 +1531,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== +"@esbuild/linux-ppc64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz#aa2b0fc6ab0dea618f23d13946032d327da7806e" + integrity sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA== + "@esbuild/linux-riscv64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.2.tgz#72e1fd9cc9972e662fcef9138636bd1259c3cd3a" @@ -1481,6 +1546,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== +"@esbuild/linux-riscv64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz#ade24a148fc7ded3a8a042f97a6441beba4f4f96" + integrity sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA== + "@esbuild/linux-s390x@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.2.tgz#b0fd46338d0b4906cfc7e9c4b1850960432f2f7a" @@ -1491,6 +1561,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== +"@esbuild/linux-s390x@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz#b3c051e15f6fd3f9af801aa2cfe2cad0e069e4ea" + integrity sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w== + "@esbuild/linux-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.2.tgz#f323afb5e3f433093078dbfa261e8148970ada20" @@ -1501,6 +1576,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== +"@esbuild/linux-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz#49368780003c0f32fc79738d20404e39429fdc48" + integrity sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg== + "@esbuild/netbsd-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.2.tgz#fa5c5ad79bbadfbd741423ee4ab22d2b0c55143f" @@ -1511,6 +1591,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== +"@esbuild/netbsd-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz#2227e9483c5a861bbecd740e525cd9b17dc01c61" + integrity sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q== + "@esbuild/openbsd-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.2.tgz#a20232bdb2ed8731294bed401cbf0e10dada4540" @@ -1521,6 +1606,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== +"@esbuild/openbsd-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz#6c6d15c9f5797ce5f9c7bd105b867b8fbdc964b7" + integrity sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w== + "@esbuild/sunos-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.2.tgz#d57d9b3121b028dcee8d7ec556b514a0545872c9" @@ -1531,6 +1621,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== +"@esbuild/sunos-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz#3ac4275f948653a56d52eca7483f8d683bdd14ca" + integrity sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q== + "@esbuild/win32-arm64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.2.tgz#a548cff2e5bcd5cdfe1431320b9fee81440d26f1" @@ -1541,6 +1636,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== +"@esbuild/win32-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz#8d913e77797c00e05922d46b6f74011bb0655bfd" + integrity sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw== + "@esbuild/win32-ia32@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.2.tgz#8f96eb33303344ec70460a44d3189b673e29cf5b" @@ -1551,6 +1651,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== +"@esbuild/win32-ia32@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz#573b4aa7389d1dc87ab1877a8ee19e2e13ad51b0" + integrity sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q== + "@esbuild/win32-x64@0.16.2": version "0.16.2" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.2.tgz#01350ef54fb4b2a0b423072d30deceaa5c1c529e" @@ -1561,6 +1666,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ== +"@esbuild/win32-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz#26094ac38600cdac049cb320018bc34da9af22c2" + integrity sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -4876,6 +4986,20 @@ css-loader@6.7.2: postcss-value-parser "^4.2.0" semver "^7.3.8" +css-loader@6.7.3: + version "6.7.3" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" + integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.19" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" + css-select@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" @@ -5440,7 +5564,12 @@ esbuild-wasm@0.16.2: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== -esbuild-wasm@0.16.4, esbuild-wasm@^0.16.0: +esbuild-wasm@0.16.6: + version "0.16.6" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.6.tgz#d8666fea52e953043dc33767105bcc450b166580" + integrity sha512-neIOUB/4y7QNxhiDSA0j3tju+HXhSMbPMmNH78rlB/vTfJ1v7M8SdvTJgTI+L1ppGUFYu0iJqfLOjC5s9Gzh8g== + +esbuild-wasm@^0.16.0: version "0.16.4" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.4.tgz#16fcfae88a753f2b1556b739d8297c0e9ada2363" integrity sha512-Nh7aa9uazooaEIGubc8s0nQZFhnf035pJMTpMPBonzDchN6RPsQES5bojQo3zT2xSAuC9nEMg8Nxzc1iwigETw== @@ -5473,7 +5602,35 @@ esbuild@0.16.2: "@esbuild/win32-ia32" "0.16.2" "@esbuild/win32-x64" "0.16.2" -esbuild@0.16.4, esbuild@^0.16.0: +esbuild@0.16.6: + version "0.16.6" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.6.tgz#6f8aa19d2d41871f420a701e6df309337f6cb953" + integrity sha512-0Fn9lUX1yy2iP56L0BDAgnQFJfkDICdYZ0Xm6Kgdwa72AkHoKX0egau/ZIROYdjJWPLJtl9bDuW7Xs56TuKPhQ== + optionalDependencies: + "@esbuild/android-arm" "0.16.6" + "@esbuild/android-arm64" "0.16.6" + "@esbuild/android-x64" "0.16.6" + "@esbuild/darwin-arm64" "0.16.6" + "@esbuild/darwin-x64" "0.16.6" + "@esbuild/freebsd-arm64" "0.16.6" + "@esbuild/freebsd-x64" "0.16.6" + "@esbuild/linux-arm" "0.16.6" + "@esbuild/linux-arm64" "0.16.6" + "@esbuild/linux-ia32" "0.16.6" + "@esbuild/linux-loong64" "0.16.6" + "@esbuild/linux-mips64el" "0.16.6" + "@esbuild/linux-ppc64" "0.16.6" + "@esbuild/linux-riscv64" "0.16.6" + "@esbuild/linux-s390x" "0.16.6" + "@esbuild/linux-x64" "0.16.6" + "@esbuild/netbsd-x64" "0.16.6" + "@esbuild/openbsd-x64" "0.16.6" + "@esbuild/sunos-x64" "0.16.6" + "@esbuild/win32-arm64" "0.16.6" + "@esbuild/win32-ia32" "0.16.6" + "@esbuild/win32-x64" "0.16.6" + +esbuild@^0.16.0: version "0.16.4" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd" integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA== @@ -9225,7 +9382,7 @@ postcss@8.4.19: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18: +postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18, postcss@^8.4.19: version "8.4.20" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== From 47360b054b658c4fdcb5a4b7aed75aaf853b2810 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 14 Dec 2022 16:28:28 -0500 Subject: [PATCH 1222/1388] docs: release notes for the v15.0.4 release --- CHANGELOG.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9fb603f9d2f..ca9041bf3c1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ + + +# 15.0.4 (2022-12-14) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | +| [ccc8e0350](https://github.com/angular/angular-cli/commit/ccc8e0350810d123269f55de29acd7964e663f7e) | fix | display actionable error when a style does not exist in Karma builder | +| [507f756c3](https://github.com/angular/angular-cli/commit/507f756c34171db842365398150460e1e29f531a) | fix | downlevel class private methods when targeting Safari <=v15 | +| [a0da91dba](https://github.com/angular/angular-cli/commit/a0da91dba3d9b4c4a86102668f52ab933406e5da) | fix | include sources in generated | +| [9fd356234](https://github.com/angular/angular-cli/commit/9fd356234210734ec5f44ae18f055308b7acc963) | fix | only set ngDevMode when script optimizations are enabled | +| [8e85f4728](https://github.com/angular/angular-cli/commit/8e85f47284472f9df49f2ca6c59057ad28240e9c) | fix | update `css-loader` to `6.7.3` | +| [b2d4415ca](https://github.com/angular/angular-cli/commit/b2d4415caa486bebe55e6147a153f120cf08b070) | fix | update locale setting snippet to use `globalThis`. | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.1.0-next.2 (2022-12-08) From 37c02af0b36142166bfcc740bc489ee311c8f095 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 14 Dec 2022 22:07:29 +0000 Subject: [PATCH 1223/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++-- yarn.lock | 137 +++++++++--------- 8 files changed, 105 insertions(+), 110 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index bbf9c8446fbc..0eb761acfdd7 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@47f34200c206f119acb14e2e00e478b7fe2d4725 + - uses: angular/dev-infra/github-actions/branch-manager@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index a1e43feee856..effcb8031ab4 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@47f34200c206f119acb14e2e00e478b7fe2d4725 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@47f34200c206f119acb14e2e00e478b7fe2d4725 + - uses: angular/dev-infra/github-actions/post-approval-changes@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 0151076faca9..5c9819a4c20e 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@47f34200c206f119acb14e2e00e478b7fe2d4725 + - uses: angular/dev-infra/github-actions/feature-request@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 4923fdc620a0..29dd884275f1 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@47f34200c206f119acb14e2e00e478b7fe2d4725 + - uses: angular/dev-infra/github-actions/lock-closed@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index b4e83a28bd2e..58a95ce49e15 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5", - "@angular/cdk": "15.0.2", - "@angular/common": "15.0.3", - "@angular/compiler": "15.0.3", - "@angular/compiler-cli": "15.0.3", - "@angular/core": "15.0.3", - "@angular/forms": "15.0.3", - "@angular/localize": "15.0.3", - "@angular/material": "15.0.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#60dfbec77141006a97aa2f7729d3bef3f3a31f36", - "@angular/platform-browser": "15.0.3", - "@angular/platform-browser-dynamic": "15.0.3", - "@angular/platform-server": "15.0.3", - "@angular/router": "15.0.3", - "@angular/service-worker": "15.0.3", + "@angular/animations": "15.0.4", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c", + "@angular/cdk": "15.0.3", + "@angular/common": "15.0.4", + "@angular/compiler": "15.0.4", + "@angular/compiler-cli": "15.0.4", + "@angular/core": "15.0.4", + "@angular/forms": "15.0.4", + "@angular/localize": "15.0.4", + "@angular/material": "15.0.3", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#129bcb4ba466d2f122e20bd97645d328e587eb01", + "@angular/platform-browser": "15.0.4", + "@angular/platform-browser-dynamic": "15.0.4", + "@angular/platform-server": "15.0.4", + "@angular/router": "15.0.4", + "@angular/service-worker": "15.0.4", "@babel/core": "7.20.5", "@babel/generator": "7.20.5", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 44e17af41a0b..412c13f13bc0 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.3", - "@angular/compiler-cli": "15.0.3", + "@angular/compiler": "15.0.4", + "@angular/compiler-cli": "15.0.4", "typescript": "4.8.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index a3b976f981df..818096b8d955 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#4dce5519b3636bf2bef596b91c63c14e2385886d", - "@angular/cdk": "github:angular/cdk-builds#2d141b64bac744d84f008f59c6818a958233dfdc", - "@angular/common": "github:angular/common-builds#9170a3e7871bc16b7a85c5ffe2e8c19152ffc386", - "@angular/compiler": "github:angular/compiler-builds#1fa02a880b575d26ced6fff8c5f2f19e6f726ac6", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#4edbd4fc7e68cc4de19e4e0c971281191d92e4f3", - "@angular/core": "github:angular/core-builds#093073cde0c8824633edae19d828ede95377eacf", - "@angular/forms": "github:angular/forms-builds#ed2c386bfbfadeb98d37a250a0102b3969af3314", - "@angular/language-service": "github:angular/language-service-builds#52b26dba03006d78399b7048a1ab7e36d19c697d", - "@angular/localize": "github:angular/localize-builds#be6e91b2f1e56a7092b0046681a09af027e9f700", - "@angular/material": "github:angular/material-builds#61fb9a631d6ffefae95a32b61fe22231027c056d", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#1fe443d542180d37130dec49512923f176a59e28", - "@angular/platform-browser": "github:angular/platform-browser-builds#8c49ccb6d33f0d2679f112bf670df5f35916336b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#aedab9bc8ef9358d6d7a71359e3917d70eeb5a54", - "@angular/platform-server": "github:angular/platform-server-builds#73d3f1aa6c0f084b46255652547736c53dd771c6", - "@angular/router": "github:angular/router-builds#ec6394023d1c657d858f0985af73bf36f20aef82", - "@angular/service-worker": "github:angular/service-worker-builds#bebdc6420d69b78076884fd70fdb23a03295a6e1" + "@angular/animations": "github:angular/animations-builds#35fe1b534354c3209b0a73175267d0b1fe347364", + "@angular/cdk": "github:angular/cdk-builds#dd23bf381c445c773720017506439376d5459dca", + "@angular/common": "github:angular/common-builds#b8aaaf130e508fa7956fb3be32afde70fd721c6e", + "@angular/compiler": "github:angular/compiler-builds#94d45cf78e2fc471b7f39684920178fb8f78d863", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#93b2b5d457e65cf660f5201a789ac364338e42cc", + "@angular/core": "github:angular/core-builds#bffeded7a855e16d262a3f3073a898f2e9645c73", + "@angular/forms": "github:angular/forms-builds#06c33a1a0b00670fd12a95eab7f906c5bf760004", + "@angular/language-service": "github:angular/language-service-builds#a9ba5a14016eaec094a174ff76e2a0a2a3906c82", + "@angular/localize": "github:angular/localize-builds#42a3b99de132d048935ba41215ca8cd03b146ead", + "@angular/material": "github:angular/material-builds#1091550e2bb86cae4772c06ac1a9ffeb59e51982", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#cdc144b5d7b67e5e6dd7635a6f6e69af198021f1", + "@angular/platform-browser": "github:angular/platform-browser-builds#5dd1ec08ef6a4e60d70e05ca174a3d168512ef92", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0c4a26b935e7acd83b1c632b0f45d8a23f02d4ad", + "@angular/platform-server": "github:angular/platform-server-builds#d2c586a096e66dbcd408fd0c179baa91504ee596", + "@angular/router": "github:angular/router-builds#64d3fc869e3b316a965943582e928854033a5239", + "@angular/service-worker": "github:angular/service-worker-builds#bd6a3d2dd899c77b3386a07cb2fe4ce2d7078138" } } diff --git a/yarn.lock b/yarn.lock index 6fca0a58ebd7..eba78e1aca7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.3.tgz#e5c2b7cf2ae1733b718bd52209b7daf758105bf4" - integrity sha512-kwUprQMjMvMawpyd5aLzW9DWLd7grlzm4ut4YIqXRf1UJm35KsTjwhvQWNj481u2gUjKxD2rBfkVakyzW5Na3A== +"@angular/animations@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.4.tgz#550ab892fc9b5bd2ce0aceae54ba0dd668163359" + integrity sha512-fOqf7fHX9aspIUmlOsig8ZyZlalU+eIBsUgu4QpH9+vfQzGCJcKIjPClW4Yb7rkNlyLlfQqaICOxG9gOxuEI7Q== dependencies: tslib "^2.3.0" @@ -119,10 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5": - version "0.0.0-47f34200c206f119acb14e2e00e478b7fe2d4725" - uid "26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#26d9ed4ee00cd07b8a9e21b0611054fd58a3e5c5" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c": + version "0.0.0-4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b" + uid "98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c" dependencies: "@angular-devkit/build-angular" "15.1.0-next.2" "@angular/benchpress" "0.3.0" @@ -159,49 +159,49 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.2.tgz#56781c17f200d842ddc2233ceeb6d5ecf3c98760" - integrity sha512-khTZT/vWDLoCkIxXyrpmeFIMfsED3KdKQqWCiuvUHGHhJn5iOa2wDQXQEkrFpNaQ4v1mbHE2I11DljiieIyv5w== +"@angular/cdk@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.3.tgz#9f995914d7d8fb0cb035cf2ba9c956b741fdbf79" + integrity sha512-iRLV6V6ksIshDL8Cdn1+DUNTRLqj+DAqmYTWYCEvH4qU6o0XSeXrAHNW5zNFqWgCZbmWt03G5jOBWBNaxa9QKw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.3.tgz#98eda542eb47ee12df69b839a0abdedaf3ee9ed8" - integrity sha512-TYpNnP6f7+x+FqyFCjl+D7rqJojMJT3QURwbnKsZYO7gsfoKashgrLxd9f3lQpa9EHvdMsVZWGZuPmoerGQ5qg== +"@angular/common@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.4.tgz#29f0aa02739c33370e52305b266c75282114b4b2" + integrity sha512-0x/2IhaetJqfXMeQ4DlRnOTzGWD0OvOeKORyi0q7WXPxSoD9MUezQHGmzkc5lK9tDYE9cNYyQfkUBcbJT/k6MA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.3.tgz#6c26f6dd50f4e25f938719104d11a8c02cf39c79" - integrity sha512-3IH1Ns4Ed/VFQlNNtgIcorht7JK7SoBzpbxrbqjogoHZwUR3OTn+dvX87N7zMn0yxAL0T6Jv0UTILcGY0EP9HQ== +"@angular/compiler-cli@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.4.tgz#dfe699846cd5d69f5e0d33164173eb2ecba20b72" + integrity sha512-e6Jt4qkIiyqBg8ZlpcQaQtQ5OAnfl8gfkJnIwSvvCg0mPCJv+ZkQAL5s3SpzzM5jd7Nr0jBq3zd2Fv0eKW2ayw== dependencies: "@babel/core" "^7.17.2" + "@jridgewell/sourcemap-codec" "^1.4.14" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" magic-string "^0.27.0" reflect-metadata "^0.1.2" semver "^7.0.0" - sourcemap-codec "^1.4.8" tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.3.tgz#473d5a847253b6464b6d29d164af7183cfa7c02d" - integrity sha512-LNQkQgjAy43ZbQcoUzbzwaCokl6LQHhnTnGIO8s8ZWFT9cTRORsLb/ziMKPPIWlSUImHUG4NH0dK7fVe7/eAng== +"@angular/compiler@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.4.tgz#9c54194312d80f1ed9f7f5001308adf273f18bfd" + integrity sha512-KtxgRJUGZamOXpIILFG2FTUW+bbc2phi/o6955/Q4LR1HOICQrYEy8PrT1Gp+lVXFKgDG+6cb01lH14LoBQvyw== dependencies: tslib "^2.3.0" -"@angular/core@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.3.tgz#ba878af9efce21ef622a8777bcba15eb27d238cb" - integrity sha512-tYQszxkk32RZkMA7Czv9l5apiDIsoqVO2taIuPKfesAcwsQ7z/x3JTu3JkwUnB9c9nq2c18wIzjzMs4iElxdVQ== +"@angular/core@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.4.tgz#699105cbd7651dd679b623032100bf55fd616380" + integrity sha512-Xf8Nuu0iM/VjQHPS4A0jufqTYZCfiGqc0iAD7j9zM3TD6caQ3OP4mxXVYYTpIG+APKel38+Gol8cpQB/8PVbqQ== dependencies: tslib "^2.3.0" @@ -212,26 +212,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.3.tgz#0518cf8b14e515b39069e3e23a0c23d1a6deec70" - integrity sha512-oPc1lpXvwFM1QHPxsayIlZ9C4/mmFrvdnSV/x/IzHDZpgqZyLT2rnDJxqpxn7KCcn71bPdU94fKTI6Fbnkj/dQ== +"@angular/forms@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.4.tgz#8356ea4b314af06c904bc2fb3afec9e248f79f69" + integrity sha512-3Ft/p2ug/zp2p0g2rhLq9v/5F1G11xa+YujAKL5kOFa0zUoroDG6n4b6VEcsGWmDE9NR7Vkiys9rHckiJUluHg== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.3.tgz#05393fee49e785ed5b4b4b5344491ba49204dc4a" - integrity sha512-nwkZoUBPCAg3/TxVJ1mVzdOjneJeOrmHnkjQwMfp22f6Ok3gfnECi+GIexHMLRu3bKfP+HRGBI+fjAbSzT/CjQ== +"@angular/localize@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.4.tgz#fdc3567fd96b607678e5b8917e9347770a90af69" + integrity sha512-IuvsPT5fUyf5yn58yzXbD/Mxk3MAbVbI78CRKN2CWew6jTXuiVmaxu4cbL/a2PHhq1led318PAdCMk//Dz4Ddg== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.2.tgz#9c64e990a95d1710cb877cd1805d01f2d068254b" - integrity sha512-jXjgKFK09DcqShXSvKJLQ98MSqV2LuBO6ZuJj/gz96ZWoAhTTuWn0hL3xsoKp+kaF5DPdDFd24gLr8YFRibaIQ== +"@angular/material@15.0.3": + version "15.0.3" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.3.tgz#6d28022791cf666a82282e82e2be75e307ed629c" + integrity sha512-x7c6Uc9SnQW0AGTFJZFMQHP80YzmrExtrNn5vYUyWB9QFiNM+jcsqAsSEoGhABU/G5xs8fd40Fj7o2HBixQ0fw== dependencies: "@material/animation" "15.0.0-canary.7971d6ad5.0" "@material/auto-init" "15.0.0-canary.7971d6ad5.0" @@ -282,48 +282,48 @@ "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#60dfbec77141006a97aa2f7729d3bef3f3a31f36": - version "0.0.0-47f34200c206f119acb14e2e00e478b7fe2d4725" - uid "60dfbec77141006a97aa2f7729d3bef3f3a31f36" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#60dfbec77141006a97aa2f7729d3bef3f3a31f36" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#129bcb4ba466d2f122e20bd97645d328e587eb01": + version "0.0.0-4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b" + uid "129bcb4ba466d2f122e20bd97645d328e587eb01" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#129bcb4ba466d2f122e20bd97645d328e587eb01" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.3.tgz#66c11e3b1228a10e73ed2dc71a0f9303acc408fe" - integrity sha512-+hdywxDegUGftq+teqQDmQ22seyR25qSPna60PxZIpQxi4D8+sNm9PxSGIn4pZtxN9gpg78j69yUM0E2OwVbjQ== +"@angular/platform-browser-dynamic@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.4.tgz#e7fa434df62ea1b64ed98dff79ab6ce3b083f78d" + integrity sha512-SCUxsfJAHXnAyo2ulmfqs3vGnB/tWNKe+G2KKshrSLyCYIJ3UgpsoPAo1mGih64qo8TWOQk9PJgrlVEB2DoWYg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.3.tgz#ad2bf9617e945f818737df5d7e8968db6d74ee85" - integrity sha512-XIgAh6/SI4m2JfFdtKWmh8BVPzs3gV8VuOVYdykWrYrhDCVz5X3J7AXGxn9AX1S+dMuQPi91lM1icErunVrCZQ== +"@angular/platform-browser@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.4.tgz#d66edd3d8811ea5b2a0b7ce6c42708a85533b5d6" + integrity sha512-SOLrzh9AsHzhfre95ShvHd0hBcyEcFftJuAaU+35L4GiOAY+CznFuJUq4LjITCMQDHGzdpUlRjoUyJRQFmlvXQ== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.3.tgz#33641ecea5e1e94e9901e64f4aa0b10f39f876cd" - integrity sha512-aRhRc3kX5kPXcENs3nctLvcZQclHk6xTzNBJpTreMt2pDCjXRgJeK2z15UVU3wpdVN/cYVcnfVi1HNtnaD6FbA== +"@angular/platform-server@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.4.tgz#5e1525b832b5d085c292263d3b55beeb1a7dd128" + integrity sha512-woAtTsn7cJPpdr3j0WcXNpzXsCIHK2ThZRX8Jgw5VTcM3I+pbKIN8KnCRT8hpdy/l0NwAO34ykoCndkmAvO5yg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.3.tgz#fefacdd578815a02c6d1eab850ecaaf6c43ee73a" - integrity sha512-Mym1qasRBLTwlwFHlWamrgvTXl09Uej2LTgqCD6Jg9uFQ/F+16qsSqTy107WkeJbsBzL95+rx66VtvwB//M45w== +"@angular/router@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.4.tgz#d5159d8b0ac745ad0f0ffe8029d67c7d52681f8c" + integrity sha512-6cBUu1kSigORGpWq+Wc3hTLRQcJvtlaZ5OFOIzKGiBEPgezn/AzrWHi/bEccWLZAVFhbUOhcRn9GwudqiqX6+A== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.3.tgz#3d7a714ee64da6f1bc53dd26941ede43b45f9d6f" - integrity sha512-tMR82O4QIr0iuvAtUpeIcWcSbKWBLqHpgEHW3b7j8Oy+jZU4Bap5qM4jUanIOt4mboR7qV/tq1UXsZDo9Fs5rQ== +"@angular/service-worker@15.0.4": + version "15.0.4" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.4.tgz#9d1bfc3548f595d42c663180df9cb4f1396b3d70" + integrity sha512-n/lbJrpLJYi1NB7rBGQTbM2xckNngimU+kirkCbH6wrUYPeSxxs23DvPF7sDDflNx0Su1+DgqcIILbsXhdqYaw== dependencies: tslib "^2.3.0" @@ -1766,7 +1766,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -10555,11 +10555,6 @@ source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - spdx-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" From 57ad0ed7ac275f204fe27b0fe2b618c2285b82f6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 14 Dec 2022 20:04:51 -0500 Subject: [PATCH 1224/1388] release: cut the v15.1.0-next.3 release --- CHANGELOG.md | 40 ++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca9041bf3c1d..c22cfce7ccbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,43 @@ + + +# 15.1.0-next.3 (2022-12-14) + +## Deprecations + +### @angular-devkit/schematics + +- The Observable based `SchematicTestRunner.runSchematicAsync` and `SchematicTestRunner.runExternalSchematicAsync` methods have been deprecated in favor of the Promise based `SchematicTestRunner.runSchematic` and `SchematicTestRunner.runExternalSchematic`. + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | +| [8d000d156](https://github.com/angular/angular-cli/commit/8d000d1563684f9a9b6869e549e265f0997187c4) | feat | add environments generation schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | +| [216991b9d](https://github.com/angular/angular-cli/commit/216991b9d9ca1d8f09992880a5fa92e7c98813fa) | feat | support inline component Sass styles with esbuild builder | +| [8fd08491a](https://github.com/angular/angular-cli/commit/8fd08491a88bc2b088dcb3ac68a6c328167e38c3) | fix | display actionable error when a style does not exist in Karma builder | +| [97373016c](https://github.com/angular/angular-cli/commit/97373016cfe2635125015b2fec390f43d22ebf31) | fix | downlevel class private methods when targeting Safari <=v15 | +| [27b22b02d](https://github.com/angular/angular-cli/commit/27b22b02dccef2e2d4f2f1f03910f4b70c676f84) | fix | include sources in generated | +| [310144d32](https://github.com/angular/angular-cli/commit/310144d324bd773aa6026f47b345827d5fe48332) | fix | only set ngDevMode when script optimizations are enabled | +| [20376649c](https://github.com/angular/angular-cli/commit/20376649c5e3003b0aa99b9328e2b61699ccba78) | fix | transform async generator class methods for Zone.js support | +| [afe9feaa4](https://github.com/angular/angular-cli/commit/afe9feaa45913cbebe7f22c678d693d96f38584a) | fix | update locale setting snippet to use `globalThis`. | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [207358afb](https://github.com/angular/angular-cli/commit/207358afb89e6515cb8d73f5a3a63d9101e80d97) | feat | add `runSchematic` and `runExternalSchematic` methods | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.0.4 (2022-12-14) diff --git a/package.json b/package.json index 58a95ce49e15..244e07086802 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.1.0-next.2", + "version": "15.1.0-next.3", "private": true, "description": "Software Development Kit for Angular", "bin": { From a9c0982f3a8b7b0a00bbdf9b2e20fab8f746b0ef Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 15 Dec 2022 20:05:22 +0000 Subject: [PATCH 1225/1388] build: update all non-major dependencies --- WORKSPACE | 4 +- package.json | 8 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 272 ++++++++++-------- 5 files changed, 159 insertions(+), 133 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index ee5b4d713f2b..235d90c789fa 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -22,8 +22,8 @@ http_archive( http_archive( name = "build_bazel_rules_nodejs", - sha256 = "c2ad51299792d5af3b258f1dd71b3b57eff9424c2e1797d9c1d65717d95da03a", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.7.3/rules_nodejs-5.7.3.tar.gz"], + sha256 = "dcc55f810142b6cf46a44d0180a5a7fb923c04a5061e2e8d8eb05ccccc60864b", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.0/rules_nodejs-5.8.0.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") diff --git a/package.json b/package.json index 244e07086802..59e4acda2ce1 100644 --- a/package.json +++ b/package.json @@ -133,15 +133,15 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "4.21.4", - "cacache": "17.0.3", + "cacache": "17.0.4", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.16.6", - "esbuild-wasm": "0.16.6", + "esbuild": "0.16.7", + "esbuild-wasm": "0.16.7", "eslint": "8.29.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-header": "3.1.1", @@ -178,7 +178,7 @@ "npm-package-arg": "10.1.0", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.7", + "pacote": "15.0.8", "parse5-html-rewriting-stream": "6.0.1", "pidtree": "^0.6.0", "pidusage": "^3.0.0", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 8fd3212e0a14..9031cad55c9a 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "15.0.7", + "pacote": "15.0.8", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 5112f639cd66..a68b074159e5 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -26,12 +26,12 @@ "babel-loader": "9.1.0", "babel-plugin-istanbul": "6.1.1", "browserslist": "4.21.4", - "cacache": "17.0.3", + "cacache": "17.0.4", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.16.6", + "esbuild-wasm": "0.16.7", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.6" + "esbuild": "0.16.7" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next", diff --git a/yarn.lock b/yarn.lock index eba78e1aca7a..2582e4d7979b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1351,10 +1351,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== -"@esbuild/android-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz#670061e921b2ef56adfa04ed66013e892136ec58" - integrity sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw== +"@esbuild/android-arm64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.7.tgz#2df472016c77dba3e79596a84da74c541698910f" + integrity sha512-tYFw0lBJSEvLoGzzYh1kXuzoX1iPkbOk3O29VqzQb0HbOy7t/yw1hGkvwoJhXHwzQUPsShyYcTgRf6bDBcfnTw== "@esbuild/android-arm@0.16.2": version "0.16.2" @@ -1366,10 +1366,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== -"@esbuild/android-arm@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.6.tgz#450a79c5b04f955106515b0d24d0a428f3b7b468" - integrity sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ== +"@esbuild/android-arm@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.7.tgz#15f1a9b27b1637c38377b3e1f2d90b9782cdc141" + integrity sha512-yhzDbiVcmq6T1/XEvdcJIVcXHdLjDJ5cQ0Dp9R9p9ERMBTeO1dR5tc8YYv8zwDeBw1xZm+Eo3MRo8cwclhBS0g== "@esbuild/android-x64@0.16.2": version "0.16.2" @@ -1381,10 +1381,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== -"@esbuild/android-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.6.tgz#d62788083113d54456c79d8aefb4a8f922ff9100" - integrity sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ== +"@esbuild/android-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.7.tgz#cb34b7d666bf52266061cfb1a19c1d788b6c5ac1" + integrity sha512-3P2OuTxwAtM3k/yEWTNUJRjMPG1ce8rXs51GTtvEC5z1j8fC1plHeVVczdeHECU7aM2/Buc0MwZ6ciM/zysnWg== "@esbuild/darwin-arm64@0.16.2": version "0.16.2" @@ -1396,10 +1396,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== -"@esbuild/darwin-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz#2d1c78ce0752236fa088fc3cc4e33a4fd3d26c84" - integrity sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w== +"@esbuild/darwin-arm64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.7.tgz#be1fabd0c2f6af111c16e9e9b18bf336c1e11634" + integrity sha512-VUb9GK23z8jkosHU9yJNUgQpsfJn+7ZyBm6adi2Ec5/U241eR1tAn82QicnUzaFDaffeixiHwikjmnec/YXEZg== "@esbuild/darwin-x64@0.16.2": version "0.16.2" @@ -1411,10 +1411,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== -"@esbuild/darwin-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz#873b80540e5e8f0d1b87e2a48e7bfaecc097bfc0" - integrity sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA== +"@esbuild/darwin-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.7.tgz#2206042ac4396bb18dd53b379df83bec47eeb5fb" + integrity sha512-duterlv3tit3HI9vhzMWnSVaB1B6YsXpFq1Ntd6Fou82BB1l4tucYy3FI9dHv3tvtDuS0NiGf/k6XsdBqPZ01w== "@esbuild/freebsd-arm64@0.16.2": version "0.16.2" @@ -1426,10 +1426,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== -"@esbuild/freebsd-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz#3d432d5e9fa17955f1e8b23255a00207f22891c0" - integrity sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ== +"@esbuild/freebsd-arm64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.7.tgz#ca52bd64b0bba69ae4063245366f25838357c332" + integrity sha512-9kkycpBFes/vhi7B7o0cf+q2WdJi+EpVzpVTqtWFNiutARWDFFLcB93J8PR1cG228sucsl3B+7Ts27izE6qiaQ== "@esbuild/freebsd-x64@0.16.2": version "0.16.2" @@ -1441,10 +1441,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== -"@esbuild/freebsd-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz#7e892ec08c9a11863e86feff169452f3cde967af" - integrity sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g== +"@esbuild/freebsd-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.7.tgz#bc01c146e6af5430c5eb325844de43f01e0264c4" + integrity sha512-5Ahf6jzWXJ4J2uh9dpy5DKOO+PeRUE/9DMys6VuYfwgQzd6n5+pVFm58L2Z2gRe611RX6SdydnNaiIKM3svY7g== "@esbuild/linux-arm64@0.16.2": version "0.16.2" @@ -1456,10 +1456,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== -"@esbuild/linux-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz#d1e2b0099cb19dce96ef9e4d4b94bc861c9b39cc" - integrity sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw== +"@esbuild/linux-arm64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.7.tgz#23267ff1cdd2a8f150d5aca1d6d2a4dfd4be7909" + integrity sha512-2wv0xYDskk2+MzIm/AEprDip39a23Chptc4mL7hsHg26P0gD8RUhzmDu0KCH2vMThUI1sChXXoK9uH0KYQKaDg== "@esbuild/linux-arm@0.16.2": version "0.16.2" @@ -1471,10 +1471,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== -"@esbuild/linux-arm@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz#ecb1543b12c27f7e4c7ad67d5e13d9a08d034e55" - integrity sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg== +"@esbuild/linux-arm@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.7.tgz#2c7cf7244e4b8a6f757a87a113d83d8a0c1f5297" + integrity sha512-QqJnyCfu5OF78Olt7JJSZ7OSv/B4Hf+ZJWp4kkq9xwMsgu7yWq3crIic8gGOpDYTqVKKMDAVDgRXy5Wd/nWZyQ== "@esbuild/linux-ia32@0.16.2": version "0.16.2" @@ -1486,10 +1486,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== -"@esbuild/linux-ia32@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz#916c13e4076d03cabbbfaa6735e6c195fe332932" - integrity sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw== +"@esbuild/linux-ia32@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.7.tgz#a15dc3edf6953c5414add4264fd8335f48775490" + integrity sha512-APVYbEilKbD5ptmKdnIcXej2/+GdV65TfTjxR2Uk8t1EsOk49t6HapZW6DS/Bwlvh5hDwtLapdSumIVNGxgqLg== "@esbuild/linux-loong64@0.16.2": version "0.16.2" @@ -1501,10 +1501,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== -"@esbuild/linux-loong64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz#d337a6cfb132288ac59e1f028be9b16cf4c7d339" - integrity sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA== +"@esbuild/linux-loong64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.7.tgz#b3ce8539cf307b543796530839cf62507d9c7e84" + integrity sha512-5wPUAGclplQrAW7EFr3F84Y/d++7G0KykohaF4p54+iNWhUnMVU8Bh2sxiEOXUy4zKIdpHByMgJ5/Ko6QhtTUw== "@esbuild/linux-mips64el@0.16.2": version "0.16.2" @@ -1516,10 +1516,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== -"@esbuild/linux-mips64el@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz#cfcb7bcae8fbc91d07c93f3c2e26779ddaa7c738" - integrity sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q== +"@esbuild/linux-mips64el@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.7.tgz#7c1c8f3de254b4e975ac2580bba187b87b959256" + integrity sha512-hxzlXtWF6yWfkE/SMTscNiVqLOAn7fOuIF3q/kiZaXxftz1DhZW/HpnTmTTWrzrS7zJWQxHHT4QSxyAj33COmA== "@esbuild/linux-ppc64@0.16.2": version "0.16.2" @@ -1531,10 +1531,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== -"@esbuild/linux-ppc64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz#aa2b0fc6ab0dea618f23d13946032d327da7806e" - integrity sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA== +"@esbuild/linux-ppc64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.7.tgz#72a00c9788f3ca5df56ecec060d5b92f945c9a2d" + integrity sha512-WM83Dac0LdXty5xPhlOuCD5Egfk1xLND/oRLYeB7Jb/tY4kzFSDgLlq91wYbHua/s03tQGA9iXvyjgymMw62Vw== "@esbuild/linux-riscv64@0.16.2": version "0.16.2" @@ -1546,10 +1546,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== -"@esbuild/linux-riscv64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz#ade24a148fc7ded3a8a042f97a6441beba4f4f96" - integrity sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA== +"@esbuild/linux-riscv64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.7.tgz#545fd57e44dc3331a86956889f2a5b42bd116c9b" + integrity sha512-3nkNnNg4Ax6MS/l8O8Ynq2lGEVJYyJ2EoY3PHjNJ4PuZ80EYLMrFTFZ4L/Hc16AxgtXKwmNP9TM0YKNiBzBiJQ== "@esbuild/linux-s390x@0.16.2": version "0.16.2" @@ -1561,10 +1561,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== -"@esbuild/linux-s390x@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz#b3c051e15f6fd3f9af801aa2cfe2cad0e069e4ea" - integrity sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w== +"@esbuild/linux-s390x@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.7.tgz#a36fd4605904c49310616dd648c0c25a267a19c0" + integrity sha512-3SA/2VJuv0o1uD7zuqxEP+RrAyRxnkGddq0bwHQ98v1KNlzXD/JvxwTO3T6GM5RH6JUd29RTVQTOJfyzMkkppA== "@esbuild/linux-x64@0.16.2": version "0.16.2" @@ -1576,10 +1576,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== -"@esbuild/linux-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz#49368780003c0f32fc79738d20404e39429fdc48" - integrity sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg== +"@esbuild/linux-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.7.tgz#104f3f8f3f25f1f26b70cee05470974861ca5a5e" + integrity sha512-xi/tbqCqvPIzU+zJVyrpz12xqciTAPMi2fXEWGnapZymoGhuL2GIWIRXg4O2v5BXaYA5TSaiKYE14L0QhUTuQg== "@esbuild/netbsd-x64@0.16.2": version "0.16.2" @@ -1591,10 +1591,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== -"@esbuild/netbsd-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz#2227e9483c5a861bbecd740e525cd9b17dc01c61" - integrity sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q== +"@esbuild/netbsd-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.7.tgz#0fd59fea5e6b94ee82e81b3b389e561efe77b347" + integrity sha512-NUsYbq3B+JdNKn8SXkItFvdes9qTwEoS3aLALtiWciW/ystiCKM20Fgv9XQBOXfhUHyh5CLEeZDXzLOrwBXuCQ== "@esbuild/openbsd-x64@0.16.2": version "0.16.2" @@ -1606,10 +1606,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== -"@esbuild/openbsd-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz#6c6d15c9f5797ce5f9c7bd105b867b8fbdc964b7" - integrity sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w== +"@esbuild/openbsd-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.7.tgz#c04072a70f31be1bd47204955d2c71ca393c9eb4" + integrity sha512-qjwzsgeve9I8Tbsko2FEkdSk2iiezuNGFgipQxY/736NePXDaDZRodIejYGWOlbYXugdxb0nif5yvypH6lKBmA== "@esbuild/sunos-x64@0.16.2": version "0.16.2" @@ -1621,10 +1621,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== -"@esbuild/sunos-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz#3ac4275f948653a56d52eca7483f8d683bdd14ca" - integrity sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q== +"@esbuild/sunos-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.7.tgz#11c4cd341be1de93cb5e3bf096f3b63ae1497626" + integrity sha512-mFWDz4RoBTzPphTCkM7Kc7Qpa0o/Z01acajR+Ai7LdfKgcP/C6jYOaKwv7nKzD0+MjOT20j7You9g4ozYy1dKQ== "@esbuild/win32-arm64@0.16.2": version "0.16.2" @@ -1636,10 +1636,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== -"@esbuild/win32-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz#8d913e77797c00e05922d46b6f74011bb0655bfd" - integrity sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw== +"@esbuild/win32-arm64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.7.tgz#95091269394f16352e318124790a3906bf370141" + integrity sha512-m39UmX19RvEIuC8sYZ0M+eQtdXw4IePDSZ78ZQmYyFaXY9krq4YzQCK2XWIJomNLtg4q+W5aXr8bW3AbqWNoVg== "@esbuild/win32-ia32@0.16.2": version "0.16.2" @@ -1651,10 +1651,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== -"@esbuild/win32-ia32@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz#573b4aa7389d1dc87ab1877a8ee19e2e13ad51b0" - integrity sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q== +"@esbuild/win32-ia32@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.7.tgz#2bda285a0b7084a93417472c460b0209bef0c39d" + integrity sha512-1cbzSEZA1fANwmT6rjJ4G1qQXHxCxGIcNYFYR9ctI82/prT38lnwSRZ0i5p/MVXksw9eMlHlet6pGu2/qkXFCg== "@esbuild/win32-x64@0.16.2": version "0.16.2" @@ -1666,10 +1666,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ== -"@esbuild/win32-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz#26094ac38600cdac049cb320018bc34da9af22c2" - integrity sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg== +"@esbuild/win32-x64@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.7.tgz#966ac3fc41758e6843cbd5844b2466bbdc34dada" + integrity sha512-QaQ8IH0JLacfGf5cf0HCCPnQuCTd/dAI257vXBgb/cccKGbH/6pVtI1gwhdAQ0Y48QSpTIFrh9etVyNdZY+zzw== "@eslint/eslintrc@^1.3.3": version "1.3.3" @@ -4453,6 +4453,25 @@ cacache@17.0.3, cacache@^17.0.0: tar "^6.1.11" unique-filename "^3.0.0" +cacache@17.0.4: + version "17.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.4.tgz#5023ed892ba8843e3b7361c26d0ada37e146290c" + integrity sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^3.0.0" + glob "^8.0.1" + lru-cache "^7.7.1" + minipass "^4.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -5564,10 +5583,10 @@ esbuild-wasm@0.16.2: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== -esbuild-wasm@0.16.6: - version "0.16.6" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.6.tgz#d8666fea52e953043dc33767105bcc450b166580" - integrity sha512-neIOUB/4y7QNxhiDSA0j3tju+HXhSMbPMmNH78rlB/vTfJ1v7M8SdvTJgTI+L1ppGUFYu0iJqfLOjC5s9Gzh8g== +esbuild-wasm@0.16.7: + version "0.16.7" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.7.tgz#74d0d386b8fbc9f2b26183833bb7f3b2623725f7" + integrity sha512-cBTKDy9uTJ/2+a6TsYxy9bLzVw9NbWr1cId3FLo/YJUpXYz2W4sSbopigCilUBrG8xXmd1JIXtx1ujhQlIR93A== esbuild-wasm@^0.16.0: version "0.16.4" @@ -5602,33 +5621,33 @@ esbuild@0.16.2: "@esbuild/win32-ia32" "0.16.2" "@esbuild/win32-x64" "0.16.2" -esbuild@0.16.6: - version "0.16.6" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.6.tgz#6f8aa19d2d41871f420a701e6df309337f6cb953" - integrity sha512-0Fn9lUX1yy2iP56L0BDAgnQFJfkDICdYZ0Xm6Kgdwa72AkHoKX0egau/ZIROYdjJWPLJtl9bDuW7Xs56TuKPhQ== +esbuild@0.16.7: + version "0.16.7" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.7.tgz#3288f685a83c6097dea8ddf1759ca30d6e06535b" + integrity sha512-P6OBFYFSQOGzfApqCeYKqfKRRbCIRsdppTXFo4aAvtiW3o8TTyiIplBvHJI171saPAiy3WlawJHCveJVIOIx1A== optionalDependencies: - "@esbuild/android-arm" "0.16.6" - "@esbuild/android-arm64" "0.16.6" - "@esbuild/android-x64" "0.16.6" - "@esbuild/darwin-arm64" "0.16.6" - "@esbuild/darwin-x64" "0.16.6" - "@esbuild/freebsd-arm64" "0.16.6" - "@esbuild/freebsd-x64" "0.16.6" - "@esbuild/linux-arm" "0.16.6" - "@esbuild/linux-arm64" "0.16.6" - "@esbuild/linux-ia32" "0.16.6" - "@esbuild/linux-loong64" "0.16.6" - "@esbuild/linux-mips64el" "0.16.6" - "@esbuild/linux-ppc64" "0.16.6" - "@esbuild/linux-riscv64" "0.16.6" - "@esbuild/linux-s390x" "0.16.6" - "@esbuild/linux-x64" "0.16.6" - "@esbuild/netbsd-x64" "0.16.6" - "@esbuild/openbsd-x64" "0.16.6" - "@esbuild/sunos-x64" "0.16.6" - "@esbuild/win32-arm64" "0.16.6" - "@esbuild/win32-ia32" "0.16.6" - "@esbuild/win32-x64" "0.16.6" + "@esbuild/android-arm" "0.16.7" + "@esbuild/android-arm64" "0.16.7" + "@esbuild/android-x64" "0.16.7" + "@esbuild/darwin-arm64" "0.16.7" + "@esbuild/darwin-x64" "0.16.7" + "@esbuild/freebsd-arm64" "0.16.7" + "@esbuild/freebsd-x64" "0.16.7" + "@esbuild/linux-arm" "0.16.7" + "@esbuild/linux-arm64" "0.16.7" + "@esbuild/linux-ia32" "0.16.7" + "@esbuild/linux-loong64" "0.16.7" + "@esbuild/linux-mips64el" "0.16.7" + "@esbuild/linux-ppc64" "0.16.7" + "@esbuild/linux-riscv64" "0.16.7" + "@esbuild/linux-s390x" "0.16.7" + "@esbuild/linux-x64" "0.16.7" + "@esbuild/netbsd-x64" "0.16.7" + "@esbuild/openbsd-x64" "0.16.7" + "@esbuild/sunos-x64" "0.16.7" + "@esbuild/win32-arm64" "0.16.7" + "@esbuild/win32-ia32" "0.16.7" + "@esbuild/win32-x64" "0.16.7" esbuild@^0.16.0: version "0.16.4" @@ -6272,6 +6291,13 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: dependencies: minipass "^3.0.0" +fs-minipass@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.0.tgz#8e6ed2b4e1ba44077cae69971393068a1bbeeed6" + integrity sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA== + dependencies: + minipass "^4.0.0" + fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" @@ -9025,17 +9051,17 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@15.0.7: - version "15.0.7" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.7.tgz#8f68210e4c973d01d8f4b524926e47189cebd756" - integrity sha512-OFf4dl3SM1PpsZvi1zk4vvMA0EplnyO0Ajbrtoyx6E3dXOWBoPnMapnLgQdInEfqPkNT8mrd2bY6c5t8JZ69sQ== +pacote@15.0.8: + version "15.0.8" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.8.tgz#8a1cb1e0207f9f3c74894feaa716aaa9e35f890e" + integrity sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw== dependencies: "@npmcli/git" "^4.0.0" "@npmcli/installed-package-contents" "^2.0.1" "@npmcli/promise-spawn" "^6.0.1" "@npmcli/run-script" "^6.0.0" cacache "^17.0.0" - fs-minipass "^2.1.0" + fs-minipass "^3.0.0" minipass "^4.0.0" npm-package-arg "^10.0.0" npm-packlist "^7.0.0" From fbfbca59a4e1cb0ead2f8069ab6a9f678c8e03b7 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 15 Dec 2022 06:05:44 +0000 Subject: [PATCH 1226/1388] build: update scorecard action dependencies --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 1a6e08c85e21..79f2acb5afb7 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -30,7 +30,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@99c53751e09b9529366343771cc321ec74e9bd3d # tag=v2.0.6 + uses: ossf/scorecard-action@937ffa90d79c7d720498178154ad4c7ba1e4ad8c # tag=v2.1.0 with: results_file: results.sarif results_format: sarif @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@a669cc5936cc5e1b6a362ec1ff9e410dc570d190 # tag=v2.1.36 + uses: github/codeql-action/upload-sarif@959cbb7472c4d4ad70cdfe6f4976053fe48ab394 # tag=v2.1.37 with: sarif_file: results.sarif From 25574864b60d30a28d560afd77cdbb78336c7c2b Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Thu, 15 Dec 2022 10:00:42 +0100 Subject: [PATCH 1227/1388] refactor(@ngtools/webpack): remove TypeScript 4.7 compatibility code Support for TypeScript 4.7 was dropped in Angular version 15. These changes remove some code that was used for backwards compatibility. --- .../src/transformers/replace_resources.ts | 115 ++++-------------- 1 file changed, 24 insertions(+), 91 deletions(-) diff --git a/packages/ngtools/webpack/src/transformers/replace_resources.ts b/packages/ngtools/webpack/src/transformers/replace_resources.ts index f2ca2ca713f3..976e3987a3a2 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources.ts @@ -11,9 +11,6 @@ import { InlineAngularResourceLoaderPath } from '../loaders/inline-resource'; export const NG_COMPONENT_RESOURCE_QUERY = 'ngResource'; -/** Whether the current version of TypeScript is after 4.8. */ -const IS_TS_48 = isAfterVersion(4, 8); - export function replaceResources( shouldTransform: (fileName: string) => boolean, getTypeChecker: () => ts.TypeChecker, @@ -27,13 +24,31 @@ export function replaceResources( const visitNode: ts.Visitor = (node: ts.Node) => { if (ts.isClassDeclaration(node)) { - return visitClassDeclaration( - nodeFactory, - typeChecker, + const decorators = ts.getDecorators(node); + + if (!decorators || decorators.length === 0) { + return node; + } + + return nodeFactory.updateClassDeclaration( node, - resourceImportDeclarations, - moduleKind, - inlineStyleFileExtension, + [ + ...decorators.map((current) => + visitDecorator( + nodeFactory, + current, + typeChecker, + resourceImportDeclarations, + moduleKind, + inlineStyleFileExtension, + ), + ), + ...(ts.getModifiers(node) ?? []), + ], + node.name, + node.typeParameters, + node.heritageClauses, + node.members, ); } @@ -65,75 +80,6 @@ export function replaceResources( }; } -/** - * Replaces the resources inside of a `ClassDeclaration`. This is a backwards-compatibility layer - * to support TypeScript versions older than 4.8 where the decorators of a node were in a separate - * array, rather than being part of its `modifiers` array. - * - * TODO: remove this function and use the `NodeFactory` directly once support for TypeScript - * 4.6 and 4.7 has been dropped. - */ -function visitClassDeclaration( - nodeFactory: ts.NodeFactory, - typeChecker: ts.TypeChecker, - node: ts.ClassDeclaration, - resourceImportDeclarations: ts.ImportDeclaration[], - moduleKind: ts.ModuleKind | undefined, - inlineStyleFileExtension: string | undefined, -): ts.ClassDeclaration { - let decorators: ts.Decorator[] | undefined; - let modifiers: ts.Modifier[] | undefined; - - if (IS_TS_48) { - node.modifiers?.forEach((modifier) => { - if (ts.isDecorator(modifier)) { - decorators ??= []; - decorators.push(modifier); - } else { - modifiers = modifiers ??= []; - modifiers.push(modifier); - } - }); - } else { - decorators = node.decorators as unknown as ts.Decorator[]; - modifiers = node.modifiers as unknown as ts.Modifier[]; - } - - if (!decorators || decorators.length === 0) { - return node; - } - - decorators = decorators.map((current) => - visitDecorator( - nodeFactory, - current, - typeChecker, - resourceImportDeclarations, - moduleKind, - inlineStyleFileExtension, - ), - ); - - return IS_TS_48 - ? nodeFactory.updateClassDeclaration( - node, - [...decorators, ...(modifiers ?? [])], - node.name, - node.typeParameters, - node.heritageClauses, - node.members, - ) - : nodeFactory.updateClassDeclaration( - node, - decorators, - modifiers, - node.name, - node.typeParameters, - node.heritageClauses, - node.members, - ); -} - function visitDecorator( nodeFactory: ts.NodeFactory, node: ts.Decorator, @@ -384,16 +330,3 @@ function getDecoratorOrigin( return null; } - -/** Checks if the current version of TypeScript is after the specified major/minor versions. */ -function isAfterVersion(targetMajor: number, targetMinor: number): boolean { - const [major, minor] = ts.versionMajorMinor.split('.').map((part) => parseInt(part)); - - if (major < targetMajor) { - return false; - } else if (major > targetMajor) { - return true; - } else { - return minor >= targetMinor; - } -} From ace34b7af3dceaae8665314e250cbe4f5cf804c3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Dec 2022 12:40:13 +0000 Subject: [PATCH 1228/1388] docs: remove default project from schematic description The default project is deprecated. --- packages/schematics/angular/README.md | 24 +- packages/schematics/angular/class/schema.json | 2 +- .../schematics/angular/component/schema.json | 2 +- .../schematics/angular/directive/schema.json | 2 +- packages/schematics/angular/e2e/schema.json | 2 +- packages/schematics/angular/enum/schema.json | 2 +- packages/schematics/angular/guard/schema.json | 2 +- .../angular/interceptor/schema.json | 2 +- .../schematics/angular/interface/schema.json | 2 +- .../schematics/angular/module/schema.json | 2 +- packages/schematics/angular/pipe/schema.json | 2 +- .../schematics/angular/resolver/schema.json | 2 +- .../schematics/angular/service/schema.json | 2 +- .../Microsoft/TypeScript/lib/typescript.js | 1590 ++++++++--------- .../schematics/angular/web-worker/schema.json | 2 +- 15 files changed, 820 insertions(+), 820 deletions(-) diff --git a/packages/schematics/angular/README.md b/packages/schematics/angular/README.md index 4bc9a31e9987..8fa52ff7e608 100644 --- a/packages/schematics/angular/README.md +++ b/packages/schematics/angular/README.md @@ -9,21 +9,21 @@ for generating an Angular application. | -------------- | ----------------------------------------------------------------------------------------------------- | | app-shell | Generates an app shell for running a server-side version of an app | | application | Generates a new basic app definition in the "projects" subfolder of the workspace | -| class | Creates a new, generic class definition in the given or default project | -| component | Creates a new, generic component definition in the given or default project | -| directive | Creates a new, generic directive definition in the given or default project | -| enum | Generates a new, generic enum definition for the given or default project | -| guard | Generates a new, generic route guard definition in the given or default project | -| interceptor | Creates a new, generic interceptor definition in the given or default project | -| interface | Creates a new, generic interface definition in the given or default project | +| class | Creates a new, generic class definition in the given project | +| component | Creates a new, generic component definition in the given project | +| directive | Creates a new, generic directive definition in the given project | +| enum | Generates a new, generic enum definition in the given project | +| guard | Generates a new, generic route guard definition in the given project | +| interceptor | Creates a new, generic interceptor definition in the given project | +| interface | Creates a new, generic interface definition in the given project | | library | Creates a new, generic library project in the current workspace | -| module | Creates a new, generic NgModule definition in the given or default project | +| module | Creates a new, generic NgModule definition in the given project | | ng-new | Creates a new project by combining the workspace and application schematics | -| pipe | Creates a new, generic pipe definition in the given or default project | -| resolver | Creates a new, generic resolver definition in the given or default project | -| service | Creates a new, generic service definition in the given or default project | +| pipe | Creates a new, generic pipe definition in the given project | +| resolver | Creates a new, generic resolver definition in the given project | +| service | Creates a new, generic service definition in the given project | | service-worker | Pass this schematic to the "run" command to create a service worker | -| web-worker | Creates a new, generic web worker definition in the given or default project | +| web-worker | Creates a new, generic web worker definition in the given project | | workspace | Initializes an empty workspace and adds the necessary dependencies required by an Angular application | ## Disclaimer diff --git a/packages/schematics/angular/class/schema.json b/packages/schematics/angular/class/schema.json index 97f24d8baf10..f56137e84944 100644 --- a/packages/schematics/angular/class/schema.json +++ b/packages/schematics/angular/class/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularClass", "title": "Angular Class Options Schema", "type": "object", - "description": "Creates a new, generic class definition in the given or default project.", + "description": "Creates a new, generic class definition in the given project.", "additionalProperties": false, "properties": { "name": { diff --git a/packages/schematics/angular/component/schema.json b/packages/schematics/angular/component/schema.json index 30ed7facecf8..b7c3f952791e 100644 --- a/packages/schematics/angular/component/schema.json +++ b/packages/schematics/angular/component/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularComponent", "title": "Angular Component Options Schema", "type": "object", - "description": "Creates a new, generic component definition in the given or default project.", + "description": "Creates a new, generic component definition in the given project.", "additionalProperties": false, "properties": { "path": { diff --git a/packages/schematics/angular/directive/schema.json b/packages/schematics/angular/directive/schema.json index bc754b45a9ca..71a5656f3605 100644 --- a/packages/schematics/angular/directive/schema.json +++ b/packages/schematics/angular/directive/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularDirective", "title": "Angular Directive Options Schema", "type": "object", - "description": "Creates a new, generic directive definition in the given or default project.", + "description": "Creates a new, generic directive definition in the given project.", "additionalProperties": false, "properties": { "name": { diff --git a/packages/schematics/angular/e2e/schema.json b/packages/schematics/angular/e2e/schema.json index 441778a4ea6a..e4805dd04c5a 100644 --- a/packages/schematics/angular/e2e/schema.json +++ b/packages/schematics/angular/e2e/schema.json @@ -4,7 +4,7 @@ "title": "Angular e2e Application Options Schema", "type": "object", "additionalProperties": false, - "description": "Generates a new, generic end-to-end test definition for the given or default project.", + "description": "Generates a new, generic end-to-end test definition in the given project.", "properties": { "rootSelector": { "description": "The HTML selector for the root component of the test app.", diff --git a/packages/schematics/angular/enum/schema.json b/packages/schematics/angular/enum/schema.json index 80ff3997efdc..41948b8801bd 100644 --- a/packages/schematics/angular/enum/schema.json +++ b/packages/schematics/angular/enum/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularEnum", "title": "Angular Enum Options Schema", "type": "object", - "description": "Generates a new, generic enum definition for the given or default project.", + "description": "Generates a new, generic enum definition in the given project.", "additionalProperties": false, "properties": { "name": { diff --git a/packages/schematics/angular/guard/schema.json b/packages/schematics/angular/guard/schema.json index f6a4676a400a..095bc9b3368b 100644 --- a/packages/schematics/angular/guard/schema.json +++ b/packages/schematics/angular/guard/schema.json @@ -3,7 +3,7 @@ "$id": "SchematicsAngularGuard", "title": "Angular Guard Options Schema", "type": "object", - "description": "Generates a new, generic route guard definition in the given or default project.", + "description": "Generates a new, generic route guard definition in the given project.", "additionalProperties": false, "properties": { "name": { diff --git a/packages/schematics/angular/interceptor/schema.json b/packages/schematics/angular/interceptor/schema.json index 6d344b05b1c3..a75d02fc0b08 100755 --- a/packages/schematics/angular/interceptor/schema.json +++ b/packages/schematics/angular/interceptor/schema.json @@ -4,7 +4,7 @@ "title": "Angular Interceptor Options Schema", "type": "object", "additionalProperties": false, - "description": "Creates a new, generic interceptor definition in the given or default project.", + "description": "Creates a new, generic interceptor definition in the given project.", "properties": { "name": { "type": "string", diff --git a/packages/schematics/angular/interface/schema.json b/packages/schematics/angular/interface/schema.json index 21e735938e30..410749fcb89e 100644 --- a/packages/schematics/angular/interface/schema.json +++ b/packages/schematics/angular/interface/schema.json @@ -4,7 +4,7 @@ "title": "Angular Interface Options Schema", "type": "object", "additionalProperties": false, - "description": "Creates a new, generic interface definition in the given or default project.", + "description": "Creates a new, generic interface definition in the given project.", "properties": { "name": { "type": "string", diff --git a/packages/schematics/angular/module/schema.json b/packages/schematics/angular/module/schema.json index c58176674142..2be42b4b2d5c 100644 --- a/packages/schematics/angular/module/schema.json +++ b/packages/schematics/angular/module/schema.json @@ -4,7 +4,7 @@ "title": "Angular Module Options Schema", "type": "object", "additionalProperties": false, - "description": "Creates a new, generic NgModule definition in the given or default project.", + "description": "Creates a new, generic NgModule definition in the given project.", "properties": { "name": { "type": "string", diff --git a/packages/schematics/angular/pipe/schema.json b/packages/schematics/angular/pipe/schema.json index ded30bbeb50a..0275266eac1a 100644 --- a/packages/schematics/angular/pipe/schema.json +++ b/packages/schematics/angular/pipe/schema.json @@ -4,7 +4,7 @@ "title": "Angular Pipe Options Schema", "type": "object", "additionalProperties": false, - "description": "Creates a new, generic pipe definition in the given or default project.", + "description": "Creates a new, generic pipe definition in the given project.", "properties": { "name": { "type": "string", diff --git a/packages/schematics/angular/resolver/schema.json b/packages/schematics/angular/resolver/schema.json index f6f3d97987ee..0d2588b5ba6e 100644 --- a/packages/schematics/angular/resolver/schema.json +++ b/packages/schematics/angular/resolver/schema.json @@ -4,7 +4,7 @@ "title": "Angular resolver Options Schema", "type": "object", "additionalProperties": false, - "description": "Generates a new, generic resolver definition in the given or default project.", + "description": "Generates a new, generic resolver definition in the given project.", "properties": { "name": { "type": "string", diff --git a/packages/schematics/angular/service/schema.json b/packages/schematics/angular/service/schema.json index f14420631a59..bd04386e6280 100644 --- a/packages/schematics/angular/service/schema.json +++ b/packages/schematics/angular/service/schema.json @@ -4,7 +4,7 @@ "title": "Angular Service Options Schema", "type": "object", "additionalProperties": false, - "description": "Creates a new, generic service definition in the given or default project.", + "description": "Creates a new, generic service definition in the given project.", "properties": { "name": { "type": "string", diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index 49899ec44b38..4b5cf7c6def4 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -6529,7 +6529,7 @@ var ts; fileCallback(fileName, FileWatcherEventKind.Changed, modifiedTime); } } - }, + }, /*recursive*/ false, PollingInterval.Medium, fallbackOptions); watcher.referenceCount = 0; dirWatchers.set(dirPath, watcher); @@ -6919,7 +6919,7 @@ var ts; case ts.WatchFileKind.FixedChunkSizePolling: return ensureFixedChunkSizePollingWatchFile()(fileName, callback, /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchFileKind.UseFsEvents: - return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime), + return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime), /*recursive*/ false, pollingInterval, ts.getFallbackOptions(options)); case ts.WatchFileKind.UseFsEventsOnParentDirectory: if (!nonPollingWatchFile) { @@ -6996,14 +6996,14 @@ var ts; var watchDirectoryKind = ts.Debug.checkDefined(watchDirectoryOptions.watchDirectory); switch (watchDirectoryKind) { case ts.WatchDirectoryKind.FixedPollingInterval: - return pollingWatchFile(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, + return pollingWatchFile(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, /*options*/ undefined); case ts.WatchDirectoryKind.DynamicPriorityPolling: - return ensureDynamicPollingWatchFile()(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, + return ensureDynamicPollingWatchFile()(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, /*options*/ undefined); case ts.WatchDirectoryKind.FixedChunkSizePolling: - return ensureFixedChunkSizePollingWatchFile()(directoryName, function () { return callback(directoryName); }, - /* pollingInterval */ undefined, + return ensureFixedChunkSizePollingWatchFile()(directoryName, function () { return callback(directoryName); }, + /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchDirectoryKind.UseFsEvents: return fsWatch(directoryName, 1 /* FileSystemEntryKind.Directory */, createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames, getCurrentDirectory), recursive, PollingInterval.Medium, ts.getFallbackOptions(watchDirectoryOptions)); @@ -14987,8 +14987,8 @@ var ts; if (node.kind === 348 /* SyntaxKind.SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } - return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, - /*stopAfterLineBreak*/ false, + return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, + /*stopAfterLineBreak*/ false, /*stopAtComments*/ false, isInJSDoc(node)); } ts.getTokenPosOfNode = getTokenPosOfNode; @@ -23625,9 +23625,9 @@ var ts; } // @api function createClassStaticBlockDeclaration(body) { - var node = createBaseGenericNamedDeclaration(170 /* SyntaxKind.ClassStaticBlockDeclaration */, - /*modifiers*/ undefined, - /*name*/ undefined, + var node = createBaseGenericNamedDeclaration(170 /* SyntaxKind.ClassStaticBlockDeclaration */, + /*modifiers*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined); node.body = body; node.transformFlags = propagateChildFlags(body) | 16777216 /* TransformFlags.ContainsClassFields */; @@ -23651,9 +23651,9 @@ var ts; } // @api function createConstructorDeclaration(modifiers, parameters, body) { - var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.Constructor */, modifiers, - /*name*/ undefined, - /*typeParameters*/ undefined, parameters, + var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.Constructor */, modifiers, + /*name*/ undefined, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; // The following properties are used only to report grammar errors @@ -23680,7 +23680,7 @@ var ts; } // @api function createGetAccessorDeclaration(modifiers, name, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(172 /* SyntaxKind.GetAccessor */, modifiers, name, + var node = createBaseFunctionLikeDeclaration(172 /* SyntaxKind.GetAccessor */, modifiers, name, /*typeParameters*/ undefined, parameters, type, body); // The following properties are used only to report grammar errors node.typeParameters = undefined; @@ -23704,8 +23704,8 @@ var ts; } // @api function createSetAccessorDeclaration(modifiers, name, parameters, body) { - var node = createBaseFunctionLikeDeclaration(173 /* SyntaxKind.SetAccessor */, modifiers, name, - /*typeParameters*/ undefined, parameters, + var node = createBaseFunctionLikeDeclaration(173 /* SyntaxKind.SetAccessor */, modifiers, name, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); // The following properties are used only to report grammar errors node.typeParameters = undefined; @@ -23730,8 +23730,8 @@ var ts; } // @api function createCallSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(174 /* SyntaxKind.CallSignature */, - /*modifiers*/ undefined, + var node = createBaseSignatureDeclaration(174 /* SyntaxKind.CallSignature */, + /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23746,8 +23746,8 @@ var ts; } // @api function createConstructSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(175 /* SyntaxKind.ConstructSignature */, - /*modifiers*/ undefined, + var node = createBaseSignatureDeclaration(175 /* SyntaxKind.ConstructSignature */, + /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23762,8 +23762,8 @@ var ts; } // @api function createIndexSignature(modifiers, parameters, type) { - var node = createBaseSignatureDeclaration(176 /* SyntaxKind.IndexSignature */, modifiers, - /*name*/ undefined, + var node = createBaseSignatureDeclaration(176 /* SyntaxKind.IndexSignature */, modifiers, + /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23832,8 +23832,8 @@ var ts; } // @api function createFunctionTypeNode(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(179 /* SyntaxKind.FunctionType */, - /*modifiers*/ undefined, + var node = createBaseSignatureDeclaration(179 /* SyntaxKind.FunctionType */, + /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors @@ -23865,7 +23865,7 @@ var ts; ts.Debug.fail("Incorrect number of arguments specified."); } function createConstructorTypeNode1(modifiers, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(180 /* SyntaxKind.ConstructorType */, modifiers, + var node = createBaseSignatureDeclaration(180 /* SyntaxKind.ConstructorType */, modifiers, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -24220,7 +24220,7 @@ var ts; } // @api function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createBaseBindingLikeDeclaration(203 /* SyntaxKind.BindingElement */, + var node = createBaseBindingLikeDeclaration(203 /* SyntaxKind.BindingElement */, /*modifiers*/ undefined, name, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.propertyName = asName(propertyName); node.dotDotDotToken = dotDotDotToken; @@ -24575,7 +24575,7 @@ var ts; } // @api function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createBaseFunctionLikeDeclaration(214 /* SyntaxKind.ArrowFunction */, modifiers, + var node = createBaseFunctionLikeDeclaration(214 /* SyntaxKind.ArrowFunction */, modifiers, /*name*/ undefined, typeParameters, parameters, type, parenthesizerRules().parenthesizeConciseBodyOfArrowFunction(body)); node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* SyntaxKind.EqualsGreaterThanToken */); node.transformFlags |= @@ -25356,7 +25356,7 @@ var ts; } // @api function createVariableDeclaration(name, exclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(254 /* SyntaxKind.VariableDeclaration */, + var node = createBaseVariableLikeDeclaration(254 /* SyntaxKind.VariableDeclaration */, /*modifiers*/ undefined, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.exclamationToken = exclamationToken; node.transformFlags |= propagateChildFlags(node.exclamationToken); @@ -25606,7 +25606,7 @@ var ts; } // @api function createNamespaceExportDeclaration(name) { - var node = createBaseNamedDeclaration(264 /* SyntaxKind.NamespaceExportDeclaration */, + var node = createBaseNamedDeclaration(264 /* SyntaxKind.NamespaceExportDeclaration */, /*modifiers*/ undefined, name); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors @@ -25978,9 +25978,9 @@ var ts; } // @api function createJSDocFunctionType(parameters, type) { - var node = createBaseSignatureDeclaration(317 /* SyntaxKind.JSDocFunctionType */, - /*modifiers*/ undefined, - /*name*/ undefined, + var node = createBaseSignatureDeclaration(317 /* SyntaxKind.JSDocFunctionType */, + /*modifiers*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); return node; } @@ -26603,9 +26603,9 @@ var ts; function createCatchClause(variableDeclaration, block) { var node = createBaseNode(292 /* SyntaxKind.CatchClause */); if (typeof variableDeclaration === "string" || variableDeclaration && !ts.isVariableDeclaration(variableDeclaration)) { - variableDeclaration = createVariableDeclaration(variableDeclaration, - /*exclamationToken*/ undefined, - /*type*/ undefined, + variableDeclaration = createVariableDeclaration(variableDeclaration, + /*exclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } node.variableDeclaration = variableDeclaration; @@ -26629,7 +26629,7 @@ var ts; // // @api function createPropertyAssignment(name, initializer) { - var node = createBaseNamedDeclaration(296 /* SyntaxKind.PropertyAssignment */, + var node = createBaseNamedDeclaration(296 /* SyntaxKind.PropertyAssignment */, /*modifiers*/ undefined, name); node.initializer = parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); node.transformFlags |= @@ -26661,7 +26661,7 @@ var ts; } // @api function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createBaseNamedDeclaration(297 /* SyntaxKind.ShorthandPropertyAssignment */, + var node = createBaseNamedDeclaration(297 /* SyntaxKind.ShorthandPropertyAssignment */, /*modifiers*/ undefined, name); node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer); node.transformFlags |= @@ -26996,23 +26996,23 @@ var ts; } function createImmediatelyInvokedFunctionExpression(statements, param, paramValue) { return createCallExpression(createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ param ? [param] : [], - /*type*/ undefined, createBlock(statements, /*multiLine*/ true)), - /*typeArguments*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ param ? [param] : [], + /*type*/ undefined, createBlock(statements, /*multiLine*/ true)), + /*typeArguments*/ undefined, /*argumentsArray*/ paramValue ? [paramValue] : []); } function createImmediatelyInvokedArrowFunction(statements, param, paramValue) { return createCallExpression(createArrowFunction( - /*modifiers*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ param ? [param] : [], - /*type*/ undefined, - /*equalsGreaterThanToken*/ undefined, createBlock(statements, /*multiLine*/ true)), - /*typeArguments*/ undefined, + /*modifiers*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ param ? [param] : [], + /*type*/ undefined, + /*equalsGreaterThanToken*/ undefined, createBlock(statements, /*multiLine*/ true)), + /*typeArguments*/ undefined, /*argumentsArray*/ paramValue ? [paramValue] : []); } function createVoidZero() { @@ -27020,12 +27020,12 @@ var ts; } function createExportDefault(expression) { return createExportAssignment( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isExportEquals*/ false, expression); } function createExternalModuleExport(exportName) { return createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, createNamedExports([ createExportSpecifier(/*isTypeOnly*/ false, /*propertyName*/ undefined, exportName) ])); @@ -27041,11 +27041,11 @@ var ts; function createMethodCall(object, methodName, argumentsList) { // Preserve the optionality of `object`. if (ts.isCallChain(object)) { - return createCallChain(createPropertyAccessChain(object, /*questionDotToken*/ undefined, methodName), - /*questionDotToken*/ undefined, + return createCallChain(createPropertyAccessChain(object, /*questionDotToken*/ undefined, methodName), + /*questionDotToken*/ undefined, /*typeArguments*/ undefined, argumentsList); } - return createCallExpression(createPropertyAccessExpression(object, methodName), + return createCallExpression(createPropertyAccessExpression(object, methodName), /*typeArguments*/ undefined, argumentsList); } function createFunctionBindCall(target, thisArg, argumentsList) { @@ -27221,10 +27221,10 @@ var ts; createParenthesizedExpression(createObjectLiteralExpression([ createSetAccessorDeclaration( /*modifiers*/ undefined, "value", [createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, paramName, - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, paramName, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined)], createBlock([ createExpressionStatement(expression) ])) @@ -28407,12 +28407,12 @@ var ts; argumentsArray.push(descriptor); } } - return factory.createCallExpression(getUnscopedHelperName("__decorate"), + return factory.createCallExpression(getUnscopedHelperName("__decorate"), /*typeArguments*/ undefined, argumentsArray); } function createMetadataHelper(metadataKey, metadataValue) { context.requestEmitHelper(ts.metadataHelper); - return factory.createCallExpression(getUnscopedHelperName("__metadata"), + return factory.createCallExpression(getUnscopedHelperName("__metadata"), /*typeArguments*/ undefined, [ factory.createStringLiteral(metadataKey), metadataValue @@ -28420,7 +28420,7 @@ var ts; } function createParamHelper(expression, parameterOffset, location) { context.requestEmitHelper(ts.paramHelper); - return ts.setTextRange(factory.createCallExpression(getUnscopedHelperName("__param"), + return ts.setTextRange(factory.createCallExpression(getUnscopedHelperName("__param"), /*typeArguments*/ undefined, [ factory.createNumericLiteral(parameterOffset + ""), expression @@ -28429,11 +28429,11 @@ var ts; // ES2018 Helpers function createAssignHelper(attributesSegments) { if (ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ScriptTarget.ES2015 */) { - return factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "assign"), + return factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "assign"), /*typeArguments*/ undefined, attributesSegments); } context.requestEmitHelper(ts.assignHelper); - return factory.createCallExpression(getUnscopedHelperName("__assign"), + return factory.createCallExpression(getUnscopedHelperName("__assign"), /*typeArguments*/ undefined, attributesSegments); } function createAwaitHelper(expression) { @@ -28445,7 +28445,7 @@ var ts; context.requestEmitHelper(ts.asyncGeneratorHelper); // Mark this node as originally an async function (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* EmitFlags.AsyncFunctionBody */ | 524288 /* EmitFlags.ReuseTempVariableScope */; - return factory.createCallExpression(getUnscopedHelperName("__asyncGenerator"), + return factory.createCallExpression(getUnscopedHelperName("__asyncGenerator"), /*typeArguments*/ undefined, [ hasLexicalThis ? factory.createThis() : factory.createVoidZero(), factory.createIdentifier("arguments"), @@ -28455,12 +28455,12 @@ var ts; function createAsyncDelegatorHelper(expression) { context.requestEmitHelper(ts.awaitHelper); context.requestEmitHelper(ts.asyncDelegator); - return factory.createCallExpression(getUnscopedHelperName("__asyncDelegator"), + return factory.createCallExpression(getUnscopedHelperName("__asyncDelegator"), /*typeArguments*/ undefined, [expression]); } function createAsyncValuesHelper(expression) { context.requestEmitHelper(ts.asyncValues); - return factory.createCallExpression(getUnscopedHelperName("__asyncValues"), + return factory.createCallExpression(getUnscopedHelperName("__asyncValues"), /*typeArguments*/ undefined, [expression]); } // ES2018 Destructuring Helpers @@ -28479,8 +28479,8 @@ var ts; var temp = computedTempVariables[computedTempVariableOffset]; computedTempVariableOffset++; // typeof _tmp === "symbol" ? _tmp : _tmp + "" - propertyNames.push(factory.createConditionalExpression(factory.createTypeCheck(temp, "symbol"), - /*questionToken*/ undefined, temp, + propertyNames.push(factory.createConditionalExpression(factory.createTypeCheck(temp, "symbol"), + /*questionToken*/ undefined, temp, /*colonToken*/ undefined, factory.createAdd(temp, factory.createStringLiteral("")))); } else { @@ -28488,7 +28488,7 @@ var ts; } } } - return factory.createCallExpression(getUnscopedHelperName("__rest"), + return factory.createCallExpression(getUnscopedHelperName("__rest"), /*typeArguments*/ undefined, [ value, ts.setTextRange(factory.createArrayLiteralExpression(propertyNames), location) @@ -28498,14 +28498,14 @@ var ts; function createAwaiterHelper(hasLexicalThis, hasLexicalArguments, promiseConstructor, body) { context.requestEmitHelper(ts.awaiterHelper); var generatorFunc = factory.createFunctionExpression( - /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, body); // Mark this node as originally an async function (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* EmitFlags.AsyncFunctionBody */ | 524288 /* EmitFlags.ReuseTempVariableScope */; - return factory.createCallExpression(getUnscopedHelperName("__awaiter"), + return factory.createCallExpression(getUnscopedHelperName("__awaiter"), /*typeArguments*/ undefined, [ hasLexicalThis ? factory.createThis() : factory.createVoidZero(), hasLexicalArguments ? factory.createIdentifier("arguments") : factory.createVoidZero(), @@ -28516,28 +28516,28 @@ var ts; // ES2015 Helpers function createExtendsHelper(name) { context.requestEmitHelper(ts.extendsHelper); - return factory.createCallExpression(getUnscopedHelperName("__extends"), + return factory.createCallExpression(getUnscopedHelperName("__extends"), /*typeArguments*/ undefined, [name, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)]); } function createTemplateObjectHelper(cooked, raw) { context.requestEmitHelper(ts.templateObjectHelper); - return factory.createCallExpression(getUnscopedHelperName("__makeTemplateObject"), + return factory.createCallExpression(getUnscopedHelperName("__makeTemplateObject"), /*typeArguments*/ undefined, [cooked, raw]); } function createSpreadArrayHelper(to, from, packFrom) { context.requestEmitHelper(ts.spreadArrayHelper); - return factory.createCallExpression(getUnscopedHelperName("__spreadArray"), + return factory.createCallExpression(getUnscopedHelperName("__spreadArray"), /*typeArguments*/ undefined, [to, from, packFrom ? immutableTrue() : immutableFalse()]); } // ES2015 Destructuring Helpers function createValuesHelper(expression) { context.requestEmitHelper(ts.valuesHelper); - return factory.createCallExpression(getUnscopedHelperName("__values"), + return factory.createCallExpression(getUnscopedHelperName("__values"), /*typeArguments*/ undefined, [expression]); } function createReadHelper(iteratorRecord, count) { context.requestEmitHelper(ts.readHelper); - return factory.createCallExpression(getUnscopedHelperName("__read"), + return factory.createCallExpression(getUnscopedHelperName("__read"), /*typeArguments*/ undefined, count !== undefined ? [iteratorRecord, factory.createNumericLiteral(count + "")] : [iteratorRecord]); @@ -28545,18 +28545,18 @@ var ts; // ES2015 Generator Helpers function createGeneratorHelper(body) { context.requestEmitHelper(ts.generatorHelper); - return factory.createCallExpression(getUnscopedHelperName("__generator"), + return factory.createCallExpression(getUnscopedHelperName("__generator"), /*typeArguments*/ undefined, [factory.createThis(), body]); } // ES Module Helpers function createCreateBindingHelper(module, inputName, outputName) { context.requestEmitHelper(ts.createBindingHelper); - return factory.createCallExpression(getUnscopedHelperName("__createBinding"), + return factory.createCallExpression(getUnscopedHelperName("__createBinding"), /*typeArguments*/ undefined, __spreadArray([factory.createIdentifier("exports"), module, inputName], (outputName ? [outputName] : []), true)); } function createImportStarHelper(expression) { context.requestEmitHelper(ts.importStarHelper); - return factory.createCallExpression(getUnscopedHelperName("__importStar"), + return factory.createCallExpression(getUnscopedHelperName("__importStar"), /*typeArguments*/ undefined, [expression]); } function createImportStarCallbackHelper() { @@ -28565,14 +28565,14 @@ var ts; } function createImportDefaultHelper(expression) { context.requestEmitHelper(ts.importDefaultHelper); - return factory.createCallExpression(getUnscopedHelperName("__importDefault"), + return factory.createCallExpression(getUnscopedHelperName("__importDefault"), /*typeArguments*/ undefined, [expression]); } function createExportStarHelper(moduleExpression, exportsExpression) { if (exportsExpression === void 0) { exportsExpression = factory.createIdentifier("exports"); } context.requestEmitHelper(ts.exportStarHelper); context.requestEmitHelper(ts.createBindingHelper); - return factory.createCallExpression(getUnscopedHelperName("__exportStar"), + return factory.createCallExpression(getUnscopedHelperName("__exportStar"), /*typeArguments*/ undefined, [moduleExpression, exportsExpression]); } // Class Fields Helpers @@ -30026,7 +30026,7 @@ var ts; argumentsList.push(children[0]); } } - return ts.setTextRange(factory.createCallExpression(callee, + return ts.setTextRange(factory.createCallExpression(callee, /*typeArguments*/ undefined, argumentsList), location); } ts.createExpressionForJsxElement = createExpressionForJsxElement; @@ -30045,7 +30045,7 @@ var ts; argumentsList.push(children[0]); } } - return ts.setTextRange(factory.createCallExpression(createJsxFactoryExpression(factory, jsxFactoryEntity, reactNamespace, parentElement), + return ts.setTextRange(factory.createCallExpression(createJsxFactoryExpression(factory, jsxFactoryEntity, reactNamespace, parentElement), /*typeArguments*/ undefined, argumentsList), location); } ts.createExpressionForJsxFragment = createExpressionForJsxFragment; @@ -30053,11 +30053,11 @@ var ts; function createForOfBindingStatement(factory, node, boundValue) { if (ts.isVariableDeclarationList(node)) { var firstDeclaration = ts.first(node.declarations); - var updatedDeclaration = factory.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, - /*exclamationToken*/ undefined, + var updatedDeclaration = factory.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, + /*exclamationToken*/ undefined, /*type*/ undefined, boundValue); return ts.setTextRange(factory.createVariableStatement( - /*modifiers*/ undefined, factory.updateVariableDeclarationList(node, [updatedDeclaration])), + /*modifiers*/ undefined, factory.updateVariableDeclarationList(node, [updatedDeclaration])), /*location*/ node); } else { @@ -30108,16 +30108,16 @@ var ts; return ts.setTextRange(factory.createObjectDefinePropertyCall(receiver, createExpressionForPropertyName(factory, property.name), factory.createPropertyDescriptor({ enumerable: factory.createFalse(), configurable: true, - get: getAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(getAccessor), - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, getAccessor.parameters, + get: getAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(getAccessor), + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, getAccessor.parameters, /*type*/ undefined, getAccessor.body // TODO: GH#18217 ), getAccessor), getAccessor), - set: setAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(setAccessor), - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, setAccessor.parameters, + set: setAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(setAccessor), + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, setAccessor.parameters, /*type*/ undefined, setAccessor.body // TODO: GH#18217 ), setAccessor), setAccessor) }, !multiLine)), firstAccessor); @@ -30128,19 +30128,19 @@ var ts; return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, property.name, /*location*/ property.name), property.initializer), property), property); } function createExpressionForShorthandPropertyAssignment(factory, property, receiver) { - return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, property.name, /*location*/ property.name), factory.cloneNode(property.name)), - /*location*/ property), + return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, property.name, /*location*/ property.name), factory.cloneNode(property.name)), + /*location*/ property), /*original*/ property); } function createExpressionForMethodDeclaration(factory, method, receiver) { - return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression(ts.getModifiers(method), method.asteriskToken, - /*name*/ undefined, - /*typeParameters*/ undefined, method.parameters, + return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression(ts.getModifiers(method), method.asteriskToken, + /*name*/ undefined, + /*typeParameters*/ undefined, method.parameters, /*type*/ undefined, method.body // TODO: GH#18217 - ), - /*location*/ method), - /*original*/ method)), - /*location*/ method), + ), + /*location*/ method), + /*original*/ method)), + /*location*/ method), /*original*/ method); } function createExpressionForObjectLiteralElementLike(factory, node, property, receiver) { @@ -30366,7 +30366,7 @@ var ts; } if (namedBindings) { var externalHelpersImportDeclaration = nodeFactory.createImportDeclaration( - /*modifiers*/ undefined, nodeFactory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, namedBindings), nodeFactory.createStringLiteral(ts.externalHelpersModuleNameText), + /*modifiers*/ undefined, nodeFactory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, namedBindings), nodeFactory.createStringLiteral(ts.externalHelpersModuleNameText), /*assertClause*/ undefined); ts.addEmitFlags(externalHelpersImportDeclaration, 67108864 /* EmitFlags.NeverApplyImportHelper */); return externalHelpersImportDeclaration; @@ -33839,11 +33839,11 @@ var ts; parseExpected(58 /* SyntaxKind.ColonToken */); } return finishNode(factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, // TODO(rbuckton): JSDoc parameters don't have names (except `this`/`new`), should we manufacture an empty identifier? - name, - /*questionToken*/ undefined, parseJSDocType(), + name, + /*questionToken*/ undefined, parseJSDocType(), /*initializer*/ undefined), pos); } function parseJSDocType() { @@ -33966,9 +33966,9 @@ var ts; // Decorators are parsed in the outer [Await] context, the rest of the parameter is parsed in the function's [Await] context. var decorators = inOuterAwaitContext ? doInAwaitContext(parseDecorators) : doOutsideOfAwaitContext(parseDecorators); if (token() === 108 /* SyntaxKind.ThisKeyword */) { - var node_1 = factory.createParameterDeclaration(decorators, - /*dotDotDotToken*/ undefined, createIdentifier(/*isIdentifier*/ true), - /*questionToken*/ undefined, parseTypeAnnotation(), + var node_1 = factory.createParameterDeclaration(decorators, + /*dotDotDotToken*/ undefined, createIdentifier(/*isIdentifier*/ true), + /*questionToken*/ undefined, parseTypeAnnotation(), /*initializer*/ undefined); if (decorators) { parseErrorAtRange(decorators[0], ts.Diagnostics.Decorators_may_not_be_applied_to_this_parameters); @@ -34970,10 +34970,10 @@ var ts; function parseSimpleArrowFunctionExpression(pos, identifier, allowReturnTypeInArrowFunction, asyncModifier) { ts.Debug.assert(token() === 38 /* SyntaxKind.EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var parameter = factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, identifier, - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, identifier, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); finishNode(parameter, identifier.pos); var parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -35986,7 +35986,7 @@ var ts; if (node.flags & 32 /* NodeFlags.OptionalChain */) { return true; } - // check for an optional chain in a non-null expression + // check for an optional chain a non-null expression if (ts.isNonNullExpression(node)) { var expr = node.expression; while (ts.isNonNullExpression(expr) && !(expr.flags & 32 /* NodeFlags.OptionalChain */)) { @@ -41420,7 +41420,7 @@ var ts; result.path = ts.toPath(configFileName, cwd, ts.createGetCanonicalFileName(host.useCaseSensitiveFileNames)); result.resolvedPath = result.path; result.originalFileName = result.fileName; - return parseJsonSourceFileConfigFileContent(result, host, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), cwd), optionsToExtend, ts.getNormalizedAbsolutePath(configFileName, cwd), + return parseJsonSourceFileConfigFileContent(result, host, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), cwd), optionsToExtend, ts.getNormalizedAbsolutePath(configFileName, cwd), /*resolutionStack*/ undefined, extraFileExtensions, extendedConfigCache, watchOptionsToExtend); } ts.getParsedCommandLineOfConfigFile = getParsedCommandLineOfConfigFile; @@ -41736,7 +41736,7 @@ var ts; return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, elementOptions, extraKeyDiagnostics, optionName)); } else { - return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, + return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined)); } case 204 /* SyntaxKind.ArrayLiteralExpression */: @@ -44325,7 +44325,7 @@ var ts; var requireState = getTemporaryModuleResolutionState(cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), host, options); requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; - var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, + var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { @@ -45146,7 +45146,7 @@ var ts; }; var resolved = tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript); // No originalPath because classic resolution doesn't resolve realPath - return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, + return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, /*isExternalLibraryImport*/ false, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { var resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, state); @@ -45205,7 +45205,7 @@ var ts; reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, }; var resolved = loadModuleFromImmediateNodeModulesDirectory(Extensions.DtsOnly, moduleName, globalCache, state, /*typesScopeOnly*/ false, /*cache*/ undefined, /*redirectedReference*/ undefined); - return createResolvedModuleWithFailedLookupLocations(resolved, + return createResolvedModuleWithFailedLookupLocations(resolved, /*isExternalLibraryImport*/ true, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); } ts.loadModuleFromGlobalCache = loadModuleFromGlobalCache; @@ -48341,7 +48341,7 @@ var ts; return false; } if (currentFlow === unreachableFlow) { - var reportError = + var reportError = // report error on all statements except empty ones (ts.isStatementButNotDeclaration(node) && node.kind !== 236 /* SyntaxKind.EmptyStatement */) || // report error on class declarations @@ -53994,9 +53994,9 @@ var ts; var name = ts.getNameFromIndexInfo(indexInfo) || "x"; var indexerTypeNode = typeToTypeNodeHelper(indexInfo.keyType, context); var indexingParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, name, - /*questionToken*/ undefined, indexerTypeNode, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, name, + /*questionToken*/ undefined, indexerTypeNode, /*initializer*/ undefined); if (!typeNode) { typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); @@ -54082,8 +54082,8 @@ var ts; var thisTag = ts.getJSDocThisTag(signature.declaration); if (thisTag && thisTag.typeExpression) { return ts.factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, "this", + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "this", /* questionToken */ undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context)); } } @@ -54124,7 +54124,7 @@ var ts; ts.symbolName(parameterSymbol); var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* CheckFlags.OptionalParameter */; var questionToken = isOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; - var parameterNode = ts.factory.createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, + var parameterNode = ts.factory.createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, /*initializer*/ undefined); context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; @@ -54137,12 +54137,12 @@ var ts; var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); if (ts.isBindingElement(visited)) { if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, + /* propertyName*/ undefined, visited.propertyName, /*initializer*/ undefined); } else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, /*initializer*/ undefined); } } @@ -54794,8 +54794,8 @@ var ts; if ((ts.isExpressionWithTypeArguments(node) || ts.isTypeReferenceNode(node)) && ts.isJSDocIndexSignature(node)) { return ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature( /*modifiers*/ undefined, [ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotdotdotToken*/ undefined, "x", + /*modifiers*/ undefined, + /*dotdotdotToken*/ undefined, "x", /*questionToken*/ undefined, ts.visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols))], ts.visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols))]); } if (ts.isJSDocFunctionType(node)) { @@ -54803,12 +54803,12 @@ var ts; var newTypeNode_1; return ts.factory.createConstructorTypeNode( /*modifiers*/ undefined, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), + /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), /*initializer*/ undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } else { return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), + /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), /*initializer*/ undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); } } @@ -54940,8 +54940,8 @@ var ts; var body = ns.body; if (ts.length(excessExports)) { ns = ts.factory.updateModuleDeclaration(ns, ns.modifiers, ns.name, body = ts.factory.updateModuleBlock(body, ts.factory.createNodeArray(__spreadArray(__spreadArray([], ns.body.statements, true), [ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.map(ts.flatMap(excessExports, function (e) { return getNamesOfDeclaration(e); }), function (id) { return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, /*alias*/ undefined, id); })), + /*modifiers*/ undefined, + /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.map(ts.flatMap(excessExports, function (e) { return getNamesOfDeclaration(e); }), function (id) { return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, /*alias*/ undefined, id); })), /*moduleSpecifier*/ undefined)], false)))); statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, nsIndex), true), [ns], false), statements.slice(nsIndex + 1), true); } @@ -54965,8 +54965,8 @@ var ts; if (ts.length(exports) > 1) { var nonExports = ts.filter(statements, function (d) { return !ts.isExportDeclaration(d) || !!d.moduleSpecifier || !d.exportClause; }); statements = __spreadArray(__spreadArray([], nonExports, true), [ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(exports, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), + /*modifiers*/ undefined, + /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(exports, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), /*moduleSpecifier*/ undefined)], false); } // Pass 2b: Also combine all `export {} from "..."` declarations as needed @@ -54979,7 +54979,7 @@ var ts; // remove group members from statements and then merge group members and add back to statements statements = __spreadArray(__spreadArray([], ts.filter(statements, function (s) { return group_1.indexOf(s) === -1; }), true), [ ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(group_1, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), group_1[0].moduleSpecifier) ], false); } @@ -55168,7 +55168,7 @@ var ts; && ((_d = type.symbol) === null || _d === void 0 ? void 0 : _d.valueDeclaration) && ts.isSourceFile(type.symbol.valueDeclaration)) { var alias = localName === propertyAccessRequire.parent.right.escapedText ? undefined : propertyAccessRequire.parent.right; addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, alias, localName)])), 0 /* ModifierFlags.None */); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* SymbolFlags.Value */); } @@ -55200,7 +55200,7 @@ var ts; // ``` // To create an export named `g` that does _not_ shadow the local `g` addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, name, localName)])), 0 /* ModifierFlags.None */); needsExportDeclaration = false; needsPostExportDefault = false; @@ -55257,7 +55257,7 @@ var ts; } else if (needsExportDeclaration) { addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, getInternalSymbolName(symbol, symbolName), symbolName)])), 0 /* ModifierFlags.None */); } } @@ -55365,7 +55365,7 @@ var ts; var containingFile_1 = ts.getSourceFileOfNode(context.enclosingDeclaration); var localName = getInternalSymbolName(symbol, symbolName); var nsBody = ts.factory.createModuleBlock([ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.mapDefined(ts.filter(mergedMembers, function (n) { return n.escapedName !== "export=" /* InternalSymbolName.ExportEquals */; }), function (s) { var _a, _b; var name = ts.unescapeLeadingUnderscores(s.escapedName); @@ -55465,7 +55465,7 @@ var ts; results = oldResults; // replace namespace with synthetic version var defaultReplaced = ts.map(declarations, function (d) { return ts.isExportAssignment(d) && !d.isExportEquals && ts.isIdentifier(d.expression) ? ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, d.expression, ts.factory.createIdentifier("default" /* InternalSymbolName.Default */))])) : d; }); var exportModifierStripped = ts.every(defaultReplaced, function (d) { return ts.hasSyntacticModifier(d, 1 /* ModifierFlags.Export */); }) ? ts.map(defaultReplaced, removeExportModifier) : defaultReplaced; fakespace = ts.factory.updateModuleDeclaration(fakespace, fakespace.modifiers, fakespace.name, ts.factory.createModuleBlock(exportModifierStripped)); @@ -55542,9 +55542,9 @@ var ts; // Boil down all private properties into a single one. var privateProperties = hasPrivateIdentifier ? [ts.factory.createPropertyDeclaration( - /*modifiers*/ undefined, ts.factory.createPrivateIdentifier("#private"), - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, ts.factory.createPrivateIdentifier("#private"), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined)] : ts.emptyArray; var publicProperties = ts.flatMap(publicSymbolProps, function (p) { return serializePropertySymbolForClass(p, /*isStatic*/ false, baseTypes[0]); }); @@ -55615,7 +55615,7 @@ var ts; var propertyName = node.propertyName; addResult(ts.factory.createImportDeclaration( /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamedImports([ts.factory.createImportSpecifier( - /*isTypeOnly*/ false, propertyName && ts.isIdentifier(propertyName) ? ts.factory.createIdentifier(ts.idText(propertyName)) : undefined, ts.factory.createIdentifier(localName))])), ts.factory.createStringLiteral(specifier_1), + /*isTypeOnly*/ false, propertyName && ts.isIdentifier(propertyName) ? ts.factory.createIdentifier(ts.idText(propertyName)) : undefined, ts.factory.createIdentifier(localName))])), ts.factory.createStringLiteral(specifier_1), /*importClause*/ undefined), 0 /* ModifierFlags.None */); break; } @@ -55637,11 +55637,11 @@ var ts; var specifier_2 = getSpecifierForModuleSymbol(target.parent || target, context); // 'y' // import _x = require('y'); addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, uniqueName, ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(specifier_2))), 0 /* ModifierFlags.None */); // import x = _x.z addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), ts.factory.createQualifiedName(uniqueName, initializer.name)), modifierFlags); break; } @@ -55657,7 +55657,7 @@ var ts; // an external `import localName = require("whatever")` var isLocalImport = !(target.flags & 512 /* SymbolFlags.ValueModule */) && !ts.isVariableDeclaration(node); addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), isLocalImport ? symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false) : ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)))), isLocalImport ? modifierFlags : 0 /* ModifierFlags.None */); @@ -55670,31 +55670,31 @@ var ts; break; case 267 /* SyntaxKind.ImportClause */: addResult(ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), // We use `target.parent || target` below as `target.parent` is unset when the target is a module which has been export assigned // And then made into a default by the `esModuleInterop` or `allowSyntheticDefaultImports` flag // In such cases, the `target` refers to the module itself already - ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; case 268 /* SyntaxKind.NamespaceImport */: addResult(ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; case 274 /* SyntaxKind.NamespaceExport */: addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(localName)), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context))), 0 /* ModifierFlags.None */); break; case 270 /* SyntaxKind.ImportSpecifier */: addResult(ts.factory.createImportDeclaration( /*modifiers*/ undefined, ts.factory.createImportClause( - /*isTypeOnly*/ false, + /*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamedImports([ ts.factory.createImportSpecifier( /*isTypeOnly*/ false, localName !== verbatimTargetName ? ts.factory.createIdentifier(verbatimTargetName) : undefined, ts.factory.createIdentifier(localName)) - ])), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + ])), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; case 275 /* SyntaxKind.ExportSpecifier */: @@ -55727,7 +55727,7 @@ var ts; } function serializeExportSpecifier(localName, targetName, specifier) { addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, localName !== targetName ? targetName : undefined, localName)]), specifier), 0 /* ModifierFlags.None */); } /** @@ -55781,7 +55781,7 @@ var ts; // serialize as `import _Ref = t.arg.et; export { _Ref as name }` var varName = getUnusedName(name, symbol); addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(varName), symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false)), 0 /* ModifierFlags.None */); serializeExportSpecifier(name, varName); } @@ -55861,14 +55861,14 @@ var ts; var result = []; if (p.flags & 65536 /* SymbolFlags.SetAccessor */) { result.push(ts.setTextRange(ts.factory.createSetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, "arg", - /*questionToken*/ undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled))], + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, "arg", + /*questionToken*/ undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled))], /*body*/ undefined), ((_b = p.declarations) === null || _b === void 0 ? void 0 : _b.find(ts.isSetAccessor)) || firstPropertyLikeDecl)); } if (p.flags & 32768 /* SymbolFlags.GetAccessor */) { var isPrivate_1 = modifierFlags & 8 /* ModifierFlags.Private */; - result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), /*body*/ undefined), ((_c = p.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isGetAccessor)) || firstPropertyLikeDecl)); } return result; @@ -55876,7 +55876,7 @@ var ts; // This is an else/if as accessors and properties can't merge in TS, but might in JS // If this happens, we assume the accessor takes priority, as it imposes more constraints else if (p.flags & (4 /* SymbolFlags.Property */ | 3 /* SymbolFlags.Variable */ | 98304 /* SymbolFlags.Accessor */)) { - return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357 // interface members can't have initializers, however class members _can_ /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl); @@ -55885,8 +55885,8 @@ var ts; var type = getTypeOfSymbol(p); var signatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (flag & 8 /* ModifierFlags.Private */) { - return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, - /*type*/ undefined, + return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, + /*type*/ undefined, /*initializer*/ undefined), ((_e = p.declarations) === null || _e === void 0 ? void 0 : _e.find(ts.isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); } var results_1 = []; @@ -55943,8 +55943,8 @@ var ts; } } if (privateProtected) { - return [ts.setTextRange(ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(privateProtected), - /*parameters*/ [], + return [ts.setTextRange(ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(privateProtected), + /*parameters*/ [], /*body*/ undefined), signatures[0].declaration)]; } } @@ -58701,7 +58701,7 @@ var ts; return sig; } function cloneSignature(sig) { - var result = createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, /*resolvedReturnType*/ undefined, + var result = createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* SignatureFlags.PropagatingFlags */); result.target = sig.target; result.mapper = sig.mapper; @@ -58972,8 +58972,8 @@ var ts; var params = combineUnionParameters(left, right, paramMapper); var thisParam = combineUnionThisParam(left.thisParameter, right.thisParameter, paramMapper); var minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount); - var result = createSignature(declaration, typeParams, thisParam, params, - /*resolvedReturnType*/ undefined, + var result = createSignature(declaration, typeParams, thisParam, params, + /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* SignatureFlags.PropagatingFlags */); result.compositeKind = 1048576 /* TypeFlags.Union */; result.compositeSignatures = ts.concatenate(left.compositeKind !== 2097152 /* TypeFlags.Intersection */ && left.compositeSignatures || [left], [right]); @@ -60429,7 +60429,7 @@ var ts; ts.isConstructorDeclaration(declaration) && ts.hasSyntacticModifier(declaration.parent, 128 /* ModifierFlags.Abstract */)) { flags |= 4 /* SignatureFlags.Abstract */; } - links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, + links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgumentCount, flags); } return links.resolvedSignature; @@ -61836,7 +61836,7 @@ var ts; var target = type.target; var endIndex = getTypeReferenceArity(type) - endSkipCount; return index > target.fixedLength ? getRestArrayTypeOfTupleType(type) || createTupleType(ts.emptyArray) : - createTupleType(getTypeArguments(type).slice(index, endIndex), target.elementFlags.slice(index, endIndex), + createTupleType(getTypeArguments(type).slice(index, endIndex), target.elementFlags.slice(index, endIndex), /*readonly*/ false, target.labeledElementDeclarations && target.labeledElementDeclarations.slice(index, endIndex)); } function getKnownKeysOfTupleType(type) { @@ -62603,7 +62603,7 @@ var ts; var propertyTypes = ts.map(getPropertiesOfType(type), function (prop) { return getLiteralTypeFromProperty(prop, include); }); var indexKeyTypes = ts.map(getIndexInfosOfType(type), function (info) { return info !== enumNumberIndexInfo && isKeyTypeIncluded(info.keyType, include) ? info.keyType === stringType && include & 8 /* TypeFlags.Number */ ? stringOrNumberType : info.keyType : neverType; }); - return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* UnionReduction.Literal */, + return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* UnionReduction.Literal */, /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined, origin); } /** @@ -64163,8 +64163,8 @@ var ts; // Don't compute resolvedReturnType and resolvedTypePredicate now, // because using `mapper` now could trigger inferences to become fixed. (See `createInferenceContext`.) // See GH#17600. - var result = createSignature(signature.declaration, freshTypeParameters, signature.thisParameter && instantiateSymbol(signature.thisParameter, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), - /*resolvedReturnType*/ undefined, + var result = createSignature(signature.declaration, freshTypeParameters, signature.thisParameter && instantiateSymbol(signature.thisParameter, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), + /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, signature.minArgumentCount, signature.flags & 39 /* SignatureFlags.PropagatingFlags */); result.target = signature; result.mapper = mapper; @@ -65126,7 +65126,7 @@ var ts; return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); } function isSignatureAssignableTo(source, target, ignoreReturnTypes) { - return compareSignaturesRelated(source, target, ignoreReturnTypes ? 4 /* SignatureCheckMode.IgnoreReturnTypes */ : 0, /*reportErrors*/ false, + return compareSignaturesRelated(source, target, ignoreReturnTypes ? 4 /* SignatureCheckMode.IgnoreReturnTypes */ : 0, /*reportErrors*/ false, /*errorReporter*/ undefined, /*errorReporter*/ undefined, compareTypesAssignable, /*reportUnreliableMarkers*/ undefined) !== 0 /* Ternary.False */; } /** @@ -66604,7 +66604,7 @@ var ts; // missing from the `constraintType` which will otherwise be mapped in the object var modifiersType = getApparentType(getModifiersTypeFromMappedType(targetType_1)); var mappedKeys_1 = []; - forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, + forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, /*stringsOnly*/ false, function (t) { return void mappedKeys_1.push(instantiateType(nameType_1, appendTypeMapping(targetType_1.mapper, getTypeParameterFromMappedType(targetType_1), t))); }); // We still need to include the non-apparent (and thus still generic) keys in the target side of the comparison (in case they're in the source side) targetKeys = getUnionType(__spreadArray(__spreadArray([], mappedKeys_1, true), [nameType_1], false)); @@ -70193,7 +70193,7 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSymbol) { links.resolvedSymbol = !ts.nodeIsMissing(node) && - resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */, getCannotFindNameDiagnosticForName(node), node, !ts.isWriteOnlyAccess(node), + resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */, getCannotFindNameDiagnosticForName(node), node, !ts.isWriteOnlyAccess(node), /*excludeGlobals*/ false) || unknownSymbol; } return links.resolvedSymbol; @@ -73777,7 +73777,7 @@ var ts; // type of T. function getContextualTypeForElementExpression(arrayContextualType, index) { return arrayContextualType && (getTypeOfPropertyOfContextualType(arrayContextualType, "" + index) - || mapType(arrayContextualType, function (t) { return getIteratedTypeOrElementType(1 /* IterationUse.Element */, t, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false); }, + || mapType(arrayContextualType, function (t) { return getIteratedTypeOrElementType(1 /* IterationUse.Element */, t, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false); }, /*noReductions*/ true)); } // In a contextually typed conditional expression, the true/false expressions are contextually typed by the same type. @@ -74198,8 +74198,8 @@ var ts; var params = combineIntersectionParameters(left, right, paramMapper); var thisParam = combineIntersectionThisParam(left.thisParameter, right.thisParameter, paramMapper); var minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount); - var result = createSignature(declaration, typeParams, thisParam, params, - /*resolvedReturnType*/ undefined, + var result = createSignature(declaration, typeParams, thisParam, params, + /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* SignatureFlags.PropagatingFlags */); result.compositeKind = 2097152 /* TypeFlags.Intersection */; result.compositeSignatures = ts.concatenate(left.compositeKind === 2097152 /* TypeFlags.Intersection */ && left.compositeSignatures || [left], [right]); @@ -76084,7 +76084,7 @@ var ts; * @param property the accessed property's symbol. */ function isValidPropertyAccessForCompletions(node, type, property) { - return isPropertyAccessible(node, node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, + return isPropertyAccessible(node, node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, /* isWrite */ false, type, property); // Previously we validated the 'this' type of methods but this adversely affected performance. See #31377 for more context. } @@ -76593,7 +76593,7 @@ var ts; // can be specified by users through attributes property. var paramType = getEffectiveFirstArgumentForJsxSignature(signature, node); var attributesType = checkExpressionWithContextualType(node.attributes, paramType, /*inferenceContext*/ undefined, checkMode); - return checkTagNameDoesNotExpectTooManyArguments() && checkTypeRelatedToAndOptionallyElaborate(attributesType, paramType, relation, reportErrors ? node.tagName : undefined, node.attributes, + return checkTagNameDoesNotExpectTooManyArguments() && checkTypeRelatedToAndOptionallyElaborate(attributesType, paramType, relation, reportErrors ? node.tagName : undefined, node.attributes, /*headMessage*/ undefined, containingMessageChain, errorOutputContainer); function checkTagNameDoesNotExpectTooManyArguments() { var _a; @@ -77329,10 +77329,10 @@ var ts; if (candidates.some(signatureHasLiteralTypes)) { flags |= 2 /* SignatureFlags.HasLiteralTypes */; } - return createSignature(candidates[0].declaration, + return createSignature(candidates[0].declaration, /*typeParameters*/ undefined, // Before calling this we tested for `!candidates.some(c => !!c.typeParameters)`. - thisParameter, parameters, - /*resolvedReturnType*/ getIntersectionType(candidates.map(getReturnTypeOfSignature)), + thisParameter, parameters, + /*resolvedReturnType*/ getIntersectionType(candidates.map(getReturnTypeOfSignature)), /*typePredicate*/ undefined, minArgumentCount, flags); } function getNumNonRestParameters(signature) { @@ -77832,9 +77832,9 @@ var ts; var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); var parameterSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, "props"); parameterSymbol.type = result; - return createSignature(declaration, - /*typeParameters*/ undefined, - /*thisParameter*/ undefined, [parameterSymbol], typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType, + return createSignature(declaration, + /*typeParameters*/ undefined, + /*thisParameter*/ undefined, [parameterSymbol], typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType, /*returnTypePredicate*/ undefined, 1, 0 /* SignatureFlags.None */); } function resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode) { @@ -81067,7 +81067,7 @@ var ts; else { if (typePredicate.type) { var leadingError = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); }; - checkTypeAssignableTo(typePredicate.type, getTypeOfSymbol(signature.parameters[typePredicate.parameterIndex]), node.type, + checkTypeAssignableTo(typePredicate.type, getTypeOfSymbol(signature.parameters[typePredicate.parameterIndex]), node.type, /*headMessage*/ undefined, leadingError); } } @@ -83780,7 +83780,7 @@ var ts; || testedSymbol && body && isSymbolUsedInConditionBody(condExpr, body, testedNode, testedSymbol); if (!isUsed) { if (isPromise) { - errorAndMaybeSuggestAwait(location, + errorAndMaybeSuggestAwait(location, /*maybeMissingAwait*/ true, ts.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined, getTypeNameForErrorDisplay(type)); } else { @@ -85330,12 +85330,12 @@ var ts; if (ts.isConstructorDeclaration(member)) { ts.forEach(member.parameters, function (param) { if (ts.isParameterPropertyDeclaration(param, member)) { - checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, param, + checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, param, /* memberIsParameterProperty */ true); } }); } - checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, member, + checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, member, /* memberIsParameterProperty */ false); }; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { @@ -85488,7 +85488,7 @@ var ts; ? ts.hasOverrideModifier(member) : ts.hasSyntacticModifier(member, 16384 /* ModifierFlags.Override */); var memberName = ts.unescapeLeadingUnderscores(ts.getTextOfPropertyName(member.name)); - return checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, ts.hasAbstractModifier(member), ts.isStatic(member), + return checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, ts.hasAbstractModifier(member), ts.isStatic(member), /* memberIsParameterProperty */ false, memberName); } function getTargetSymbol(s) { @@ -86608,7 +86608,7 @@ var ts; if (!node.parent.parent.moduleSpecifier) { var exportedName = node.propertyName || node.name; // find immediate value referenced by exported name (SymbolFlags.Alias is set so we don't chase down aliases) - var symbol = resolveName(exportedName, exportedName.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, + var symbol = resolveName(exportedName, exportedName.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); if (symbol && (symbol === undefinedSymbol || symbol === globalThisSymbol || symbol.declarations && isGlobalSourceFile(getDeclarationContainer(symbol.declarations[0])))) { error(exportedName, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, ts.idText(exportedName)); @@ -87453,7 +87453,7 @@ var ts; } if (name.parent.kind === 271 /* SyntaxKind.ExportAssignment */ && ts.isEntityNameExpression(name)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression - var success = resolveEntityName(name, + var success = resolveEntityName(name, /*all meanings*/ 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); if (success && success !== unknownSymbol) { return success; @@ -90698,14 +90698,14 @@ var ts; var factory = context.factory; context.addInitializationStatement(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(parameter.name, + factory.createVariableDeclaration(parameter.name, /*exclamationToken*/ undefined, parameter.type, parameter.initializer ? - factory.createConditionalExpression(factory.createStrictEquality(factory.getGeneratedNameForNode(parameter), factory.createVoidZero()), - /*questionToken*/ undefined, parameter.initializer, + factory.createConditionalExpression(factory.createStrictEquality(factory.getGeneratedNameForNode(parameter), factory.createVoidZero()), + /*questionToken*/ undefined, parameter.initializer, /*colonToken*/ undefined, factory.getGeneratedNameForNode(parameter)) : factory.getGeneratedNameForNode(parameter)), ]))); - return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, factory.getGeneratedNameForNode(parameter), parameter.questionToken, parameter.type, + return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, factory.getGeneratedNameForNode(parameter), parameter.questionToken, parameter.type, /*initializer*/ undefined); } function addDefaultValueAssignmentForInitializer(parameter, name, initializer, context) { @@ -90713,7 +90713,7 @@ var ts; context.addInitializationStatement(factory.createIfStatement(factory.createTypeCheck(factory.cloneNode(name), "undefined"), ts.setEmitFlags(ts.setTextRange(factory.createBlock([ factory.createExpressionStatement(ts.setEmitFlags(ts.setTextRange(factory.createAssignment(ts.setEmitFlags(factory.cloneNode(name), 48 /* EmitFlags.NoSourceMap */), ts.setEmitFlags(initializer, 48 /* EmitFlags.NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* EmitFlags.NoComments */)), parameter), 1536 /* EmitFlags.NoComments */)) ]), parameter), 1 /* EmitFlags.SingleLine */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */))); - return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, + return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, /*initializer*/ undefined); } function visitFunctionBody(node, visitor, context, nodeVisitor) { @@ -90789,7 +90789,7 @@ var ts; return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); case 167 /* SyntaxKind.PropertyDeclaration */: ts.Debug.type(node); - return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), + return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); case 168 /* SyntaxKind.MethodSignature */: @@ -91261,7 +91261,7 @@ var ts; }; function addSource(fileName) { enter(); - var source = ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, fileName, host.getCurrentDirectory(), host.getCanonicalFileName, + var source = ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, fileName, host.getCurrentDirectory(), host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ true); var sourceIndex = sourceToSourceIndexMap.get(source); if (sourceIndex === undefined) { @@ -92519,8 +92519,8 @@ var ts; } for (var _i = 0, pendingDeclarations_1 = pendingDeclarations; _i < pendingDeclarations_1.length; _i++) { var _a = pendingDeclarations_1[_i], pendingExpressions_1 = _a.pendingExpressions, name = _a.name, value = _a.value, location = _a.location, original = _a.original; - var variable = context.factory.createVariableDeclaration(name, - /*exclamationToken*/ undefined, + var variable = context.factory.createVariableDeclaration(name, + /*exclamationToken*/ undefined, /*type*/ undefined, pendingExpressions_1 ? context.factory.inlineExpressions(ts.append(pendingExpressions_1, value)) : value); variable.original = original; ts.setTextRange(variable, location); @@ -92655,7 +92655,7 @@ var ts; // Read the elements of the iterable into an array value = ensureIdentifier(flattenContext, ts.setTextRange(flattenContext.context.getEmitHelperFactory().createReadHelper(value, numElements > 0 && ts.getRestIndicatorOfBindingOrAssignmentElement(elements[numElements - 1]) ? undefined - : numElements), location), + : numElements), location), /*reuseIdentifierExpressions*/ false, location); } else if (numElements !== 1 && (flattenContext.level < 1 /* FlattenLevel.ObjectRest */ || numElements === 0) @@ -93417,7 +93417,7 @@ var ts; } function visitClassDeclaration(node) { if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */))) { - return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, + return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); } var staticProperties = ts.getProperties(node, /*requireInitializer*/ true, /*isStatic*/ true); @@ -93435,7 +93435,7 @@ var ts; // ${modifiers} class ${name} ${heritageClauses} { // ${members} // } - var classStatement = factory.updateClassDeclaration(node, ts.concatenate(decorators, modifiers), name, + var classStatement = factory.updateClassDeclaration(node, ts.concatenate(decorators, modifiers), name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node)); // To better align with the old emitter, we should not emit a trailing source map // entry if the class has static properties. @@ -93473,8 +93473,8 @@ var ts; ts.setEmitFlags(iife, 33554432 /* EmitFlags.TypeScriptClassWrapper */); var varStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ false), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ false), + /*exclamationToken*/ undefined, /*type*/ undefined, iife) ])); ts.setOriginalNode(varStatement, node); @@ -93507,7 +93507,7 @@ var ts; function visitClassExpression(node) { var allDecorators = ts.getAllDecoratorsOfClass(node); var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators); - return factory.updateClassExpression(node, decorators, node.name, + return factory.updateClassExpression(node, decorators, node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), isClassLikeDeclarationWithTypeScriptSyntax(node) ? transformClassMembers(node) : ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); @@ -93527,9 +93527,9 @@ var ts; var parameter = parametersWithPropertyAssignments_1[_i]; if (ts.isIdentifier(parameter.name)) { members.push(ts.setOriginalNode(factory.createPropertyDeclaration( - /*modifiers*/ undefined, parameter.name, - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, parameter.name, + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined), parameter)); } } @@ -93745,7 +93745,7 @@ var ts; * @param node The ExpressionWithTypeArguments to transform. */ function visitExpressionWithTypeArguments(node) { - return factory.updateExpressionWithTypeArguments(node, ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression), + return factory.updateExpressionWithTypeArguments(node, ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression), /*typeArguments*/ undefined); } /** @@ -93766,20 +93766,20 @@ var ts; var decorators = transformAllDecoratorsOfDeclaration(node, parent, allDecorators); // Preserve a `declare x` property with decorators to be handled by the decorators transform if (isAmbient) { - return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2 /* ModifierFlags.Ambient */)), ts.visitNode(node.name, visitor, ts.isPropertyName), - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2 /* ModifierFlags.Ambient */)), ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } - return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), - /*questionOrExclamationToken*/ undefined, + return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), + /*questionOrExclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor)); } function visitConstructor(node) { if (!shouldEmitFunctionLikeDeclaration(node)) { return undefined; } - return factory.updateConstructorDeclaration(node, + return factory.updateConstructorDeclaration(node, /*modifiers*/ undefined, ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node)); } function transformConstructorBody(body, constructor) { @@ -93854,9 +93854,9 @@ var ts; } var allDecorators = ts.isClassLike(parent) ? ts.getAllDecoratorsOfClassElement(node, parent) : undefined; var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, allDecorators) : undefined; - return factory.updateMethodDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), node.asteriskToken, visitPropertyNameOfClassElement(node), - /*questionToken*/ undefined, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateMethodDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), node.asteriskToken, visitPropertyNameOfClassElement(node), + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context)); } /** @@ -93878,7 +93878,7 @@ var ts; var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, ts.getAllDecoratorsOfClassElement(node, parent)) : undefined; - return factory.updateGetAccessorDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), + return factory.updateGetAccessorDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); } function visitSetAccessor(node, parent) { @@ -93897,8 +93897,8 @@ var ts; if (!shouldEmitFunctionLikeDeclaration(node)) { return factory.createNotEmittedStatement(node); } - var updated = factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + var updated = factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); if (isExportOfNamespace(node)) { var statements = [updated]; @@ -93911,14 +93911,14 @@ var ts; if (!shouldEmitFunctionLikeDeclaration(node)) { return factory.createOmittedExpression(); } - var updated = factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + var updated = factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); return updated; } function visitArrowFunction(node) { - var updated = factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + var updated = factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, node.equalsGreaterThanToken, ts.visitFunctionBody(node.body, visitor, context)); return updated; } @@ -93927,8 +93927,8 @@ var ts; return undefined; } var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), // preserve positions, if available - node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), - /*questionToken*/ undefined, + node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), + /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (updated !== node) { // While we emit the source map for the node after skipping decorators and modifiers, @@ -93956,17 +93956,17 @@ var ts; function transformInitializedVariable(node) { var name = node.name; if (ts.isBindingPattern(name)) { - return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, + return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createNamespaceExportExpression); } else { - return ts.setTextRange(factory.createAssignment(getNamespaceMemberNameWithSourceMapsAndWithoutComments(name), ts.visitNode(node.initializer, visitor, ts.isExpression)), + return ts.setTextRange(factory.createAssignment(getNamespaceMemberNameWithSourceMapsAndWithoutComments(name), ts.visitNode(node.initializer, visitor, ts.isExpression)), /*location*/ node); } } function visitVariableDeclaration(node) { - var updated = factory.updateVariableDeclaration(node, ts.visitNode(node.name, visitor, ts.isBindingName), - /*exclamationToken*/ undefined, + var updated = factory.updateVariableDeclaration(node, ts.visitNode(node.name, visitor, ts.isBindingName), + /*exclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (node.type) { ts.setTypeNode(updated.name, node.type); @@ -94009,23 +94009,23 @@ var ts; return factory.createPartiallyEmittedExpression(expression, node); } function visitCallExpression(node) { - return factory.updateCallExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), + return factory.updateCallExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression)); } function visitNewExpression(node) { - return factory.updateNewExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), + return factory.updateNewExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression)); } function visitTaggedTemplateExpression(node) { - return factory.updateTaggedTemplateExpression(node, ts.visitNode(node.tag, visitor, ts.isExpression), + return factory.updateTaggedTemplateExpression(node, ts.visitNode(node.tag, visitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNode(node.template, visitor, ts.isExpression)); } function visitJsxSelfClosingElement(node) { - return factory.updateJsxSelfClosingElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), + return factory.updateJsxSelfClosingElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), /*typeArguments*/ undefined, ts.visitNode(node.attributes, visitor, ts.isJsxAttributes)); } function visitJsxJsxOpeningElement(node) { - return factory.updateJsxOpeningElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), + return factory.updateJsxOpeningElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), /*typeArguments*/ undefined, ts.visitNode(node.attributes, visitor, ts.isJsxAttributes)); } /** @@ -94084,11 +94084,11 @@ var ts; // ... // })(x || (x = {})); var enumStatement = factory.createExpressionStatement(factory.createCallExpression(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], - /*type*/ undefined, transformEnumBody(node, containerName)), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*type*/ undefined, transformEnumBody(node, containerName)), /*typeArguments*/ undefined, [moduleArg])); ts.setOriginalNode(enumStatement, node); if (varAdded) { @@ -94118,7 +94118,7 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; - return factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), /*location*/ node.members), + return factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); } /** @@ -94314,11 +94314,11 @@ var ts; // x_1.y = ...; // })(x || (x = {})); var moduleStatement = factory.createExpressionStatement(factory.createCallExpression(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], - /*type*/ undefined, transformModuleBody(node, containerName)), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*type*/ undefined, transformModuleBody(node, containerName)), /*typeArguments*/ undefined, [moduleArg])); ts.setOriginalNode(moduleStatement, node); if (varAdded) { @@ -94374,8 +94374,8 @@ var ts; currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; - var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), - /*location*/ statementsLocation), + var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), + /*location*/ statementsLocation), /*multiLine*/ true); ts.setTextRange(block, blockLocation); // namespace hello.hi.world { @@ -94429,7 +94429,7 @@ var ts; return importClause || compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */ || compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */ - ? factory.updateImportDeclaration(node, + ? factory.updateImportDeclaration(node, /*modifiers*/ undefined, importClause, node.moduleSpecifier, node.assertClause) : undefined; } @@ -94503,7 +94503,7 @@ var ts; compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */); var exportClause = ts.visitNode(node.exportClause, function (bindings) { return visitNamedExportBindings(bindings, allowEmpty); }, ts.isNamedExportBindings); return exportClause - ? factory.updateExportDeclaration(node, + ? factory.updateExportDeclaration(node, /*modifiers*/ undefined, node.isTypeOnly, exportClause, node.moduleSpecifier, node.assertClause) : undefined; } @@ -94561,8 +94561,8 @@ var ts; // If the alias is unreferenced but we want to keep the import, replace with 'import "mod"'. if (!isReferenced && compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */) { return ts.setOriginalNode(ts.setTextRange(factory.createImportDeclaration( - /*modifiers*/ undefined, - /*importClause*/ undefined, node.moduleReference.expression, + /*modifiers*/ undefined, + /*importClause*/ undefined, node.moduleReference.expression, /*assertClause*/ undefined), node), node); } return isReferenced ? ts.visitEachChild(node, visitor, context) : undefined; @@ -94576,8 +94576,8 @@ var ts; // export var ${name} = ${moduleReference}; // var ${name} = ${moduleReference}; return ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.createVariableDeclarationList([ - ts.setOriginalNode(factory.createVariableDeclaration(node.name, - /*exclamationToken*/ undefined, + ts.setOriginalNode(factory.createVariableDeclaration(node.name, + /*exclamationToken*/ undefined, /*type*/ undefined, moduleReference), node) ])), node), node); } @@ -94754,7 +94754,7 @@ var ts; var substitute = (applicableSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */ && container.kind === 261 /* SyntaxKind.ModuleDeclaration */) || (applicableSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */ && container.kind === 260 /* SyntaxKind.EnumDeclaration */); if (substitute) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(container), node), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(container), node), /*location*/ node); } } @@ -95049,8 +95049,8 @@ var ts; } var functionName = getHoistedFunctionName(node); if (functionName) { - getPendingExpressions().push(factory.createAssignment(functionName, factory.createFunctionExpression(ts.filter(node.modifiers, function (m) { return ts.isModifier(m) && !ts.isStaticModifier(m); }), node.asteriskToken, functionName, - /* typeParameters */ undefined, ts.visitParameterList(node.parameters, classElementVisitor, context), + getPendingExpressions().push(factory.createAssignment(functionName, factory.createFunctionExpression(ts.filter(node.modifiers, function (m) { return ts.isModifier(m) && !ts.isStaticModifier(m); }), node.asteriskToken, functionName, + /* typeParameters */ undefined, ts.visitParameterList(node.parameters, classElementVisitor, context), /* type */ undefined, ts.visitFunctionBody(node.body, classElementVisitor, context)))); } // remove method declaration from class @@ -95081,9 +95081,9 @@ var ts; return ts.visitEachChild(node, visitor, context); } // Initializer is elided as the field is initialized in transformConstructor. - return factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + return factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } // leave invalid code untransformed @@ -95273,11 +95273,11 @@ var ts; // Transform call expressions of private names to properly bind the `this` parameter. var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration, languageVersion), thisArg = _a.thisArg, target = _a.target; if (ts.isCallChain(node)) { - return factory.updateCallChain(node, factory.createPropertyAccessChain(ts.visitNode(target, visitor), node.questionDotToken, "call"), - /*questionDotToken*/ undefined, + return factory.updateCallChain(node, factory.createPropertyAccessChain(ts.visitNode(target, visitor), node.questionDotToken, "call"), + /*questionDotToken*/ undefined, /*typeArguments*/ undefined, __spreadArray([ts.visitNode(thisArg, visitor, ts.isExpression)], ts.visitNodes(node.arguments, visitor, ts.isExpression), true)); } - return factory.updateCallExpression(node, factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "call"), + return factory.updateCallExpression(node, factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "call"), /*typeArguments*/ undefined, __spreadArray([ts.visitNode(thisArg, visitor, ts.isExpression)], ts.visitNodes(node.arguments, visitor, ts.isExpression), true)); } if (shouldTransformSuperInStaticInitializers && @@ -95296,8 +95296,8 @@ var ts; if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(node.tag)) { // Bind the `this` correctly for tagged template literals when the tag is a private identifier property access. var _a = factory.createCallBinding(node.tag, hoistVariableDeclaration, languageVersion), thisArg = _a.thisArg, target = _a.target; - return factory.updateTaggedTemplateExpression(node, factory.createCallExpression(factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "bind"), - /*typeArguments*/ undefined, [ts.visitNode(thisArg, visitor, ts.isExpression)]), + return factory.updateTaggedTemplateExpression(node, factory.createCallExpression(factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "bind"), + /*typeArguments*/ undefined, [ts.visitNode(thisArg, visitor, ts.isExpression)]), /*typeArguments*/ undefined, ts.visitNode(node.template, visitor, ts.isTemplateLiteral)); } if (shouldTransformSuperInStaticInitializers && @@ -95308,7 +95308,7 @@ var ts; var invocation = factory.createFunctionBindCall(ts.visitNode(node.tag, visitor, ts.isExpression), currentClassLexicalEnvironment.classConstructor, []); ts.setOriginalNode(invocation, node); ts.setTextRange(invocation, node); - return factory.updateTaggedTemplateExpression(node, invocation, + return factory.updateTaggedTemplateExpression(node, invocation, /*typeArguments*/ undefined, ts.visitNode(node.template, visitor, ts.isTemplateLiteral)); } return ts.visitEachChild(node, visitor, context); @@ -95414,7 +95414,7 @@ var ts; case "a" /* PrivateIdentifierKind.Accessor */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, info.setterName); case "m" /* PrivateIdentifierKind.Method */: - return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, + return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, /* f */ undefined); case "f" /* PrivateIdentifierKind.Field */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, info.variableName); @@ -95489,7 +95489,7 @@ var ts; if (facts & 4 /* ClassFacts.NeedsClassSuperReference */) { var temp = factory.createTempVariable(hoistVariableDeclaration, /*reserveInNestedScopes*/ true); getClassLexicalEnvironment().superClassReference = temp; - return factory.updateExpressionWithTypeArguments(node, factory.createAssignment(temp, ts.visitNode(node.expression, visitor, ts.isExpression)), + return factory.updateExpressionWithTypeArguments(node, factory.createAssignment(temp, ts.visitNode(node.expression, visitor, ts.isExpression)), /*typeArguments*/ undefined); } return ts.visitEachChild(node, visitor, context); @@ -95513,7 +95513,7 @@ var ts; var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); var statements = [ - factory.updateClassDeclaration(node, node.modifiers, node.name, + factory.updateClassDeclaration(node, node.modifiers, node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)) ]; if (pendingClassReferenceAssignment) { @@ -95565,7 +95565,7 @@ var ts; temp = createClassTempVar(); getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); } - var classExpression = factory.updateClassExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, + var classExpression = factory.updateClassExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)); var hasTransformableStatics = shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(staticPropertiesOrClassStaticBlocks, function (p) { return ts.isClassStaticBlockDeclaration(p) || !!p.initializer || ts.isPrivateIdentifier(p.name); }); if (hasTransformableStatics || ts.some(pendingExpressions)) { @@ -95644,7 +95644,7 @@ var ts; function createBrandCheckWeakSetForPrivateMethods() { var weakSetName = getPrivateIdentifierEnvironment().weakSetName; ts.Debug.assert(weakSetName, "weakSetName should be set in private identifier environment"); - getPendingExpressions().push(factory.createAssignment(weakSetName, factory.createNewExpression(factory.createIdentifier("WeakSet"), + getPendingExpressions().push(factory.createAssignment(weakSetName, factory.createNewExpression(factory.createIdentifier("WeakSet"), /*typeArguments*/ undefined, []))); } function isClassElementThatRequiresConstructorStatement(member) { @@ -95707,7 +95707,7 @@ var ts; // // super(...arguments); // - statements.push(factory.createExpressionStatement(factory.createCallExpression(factory.createSuper(), + statements.push(factory.createExpressionStatement(factory.createCallExpression(factory.createSuper(), /*typeArguments*/ undefined, [factory.createSpreadElement(factory.createIdentifier("arguments"))]))); } // Add the property initializers. Transforms this: @@ -95761,9 +95761,9 @@ var ts; ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitBodyStatement, ts.isStatement, indexOfFirstStatementAfterSuperAndPrologue)); } statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); - return ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), - /*location*/ constructor ? constructor.body.statements : node.members), - /*multiLine*/ true), + return ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), + /*location*/ constructor ? constructor.body.statements : node.members), + /*multiLine*/ true), /*location*/ constructor ? constructor.body : undefined); function visitBodyStatement(statement) { if (useDefineForClassFields && ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor)) { @@ -96194,7 +96194,7 @@ var ts; variableName: undefined, isValid: isValid, }); - assignmentExpressions.push(factory.createAssignment(weakMapName, factory.createNewExpression(factory.createIdentifier("WeakMap"), + assignmentExpressions.push(factory.createAssignment(weakMapName, factory.createNewExpression(factory.createIdentifier("WeakMap"), /*typeArguments*/ undefined, []))); } else if (ts.isMethodDeclaration(node)) { @@ -96408,11 +96408,11 @@ var ts; ])); } function createPrivateInstanceFieldInitializer(receiver, initializer, weakMapName) { - return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakMapName, "set"), + return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakMapName, "set"), /*typeArguments*/ undefined, [receiver, initializer || ts.factory.createVoidZero()]); } function createPrivateInstanceMethodInitializer(receiver, weakSetName) { - return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakSetName, "add"), + return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakSetName, "add"), /*typeArguments*/ undefined, [receiver]); } function isReservedPrivateName(node) { @@ -96733,8 +96733,8 @@ var ts; } var serialized = serializeEntityNameAsExpressionFallback(node.typeName); var temp = ts.factory.createTempVariable(hoistVariableDeclaration); - return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), - /*questionToken*/ undefined, temp, + return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), + /*questionToken*/ undefined, temp, /*colonToken*/ undefined, ts.factory.createIdentifier("Object")); case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue: return serializeEntityNameAsExpression(node.typeName); @@ -96820,8 +96820,8 @@ var ts; return ts.factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right); } function getGlobalConstructorWithFallback(name) { - return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), - /*questionToken*/ undefined, ts.factory.createIdentifier(name), + return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), + /*questionToken*/ undefined, ts.factory.createIdentifier(name), /*colonToken*/ undefined, ts.factory.createIdentifier("Object")); } function getGlobalConstructor(name, minLanguageVersion) { @@ -96946,7 +96946,7 @@ var ts; var members = ts.visitNodes(node.members, visitor, ts.isClassElement); var decorationStatements = []; (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements); - var updated = factory.updateClassDeclaration(node, modifiers, name, + var updated = factory.updateClassDeclaration(node, modifiers, name, /*typeParameters*/ undefined, heritageClauses, members); return ts.addRange([updated], decorationStatements); } @@ -97056,7 +97056,7 @@ var ts; var decorationStatements = []; (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements); var classExpression = factory.createClassExpression( - /*modifiers*/ undefined, name, + /*modifiers*/ undefined, name, /*typeParameters*/ undefined, heritageClauses, members); ts.setOriginalNode(classExpression, node); ts.setTextRange(classExpression, location); @@ -97064,8 +97064,8 @@ var ts; // or decoratedClassAlias if the class contain self-reference. var statement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(declName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(declName, + /*exclamationToken*/ undefined, /*type*/ undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression) ], 1 /* NodeFlags.Let */)); ts.setOriginalNode(statement, node); @@ -97078,7 +97078,7 @@ var ts; } function visitClassExpression(node) { // Legacy decorators were not supported on class expressions - return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, + return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)); } function visitConstructorDeclaration(node) { @@ -97094,13 +97094,13 @@ var ts; return updated; } function visitMethodDeclaration(node) { - return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), - /*questionToken*/ undefined, - /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node); } function visitGetAccessorDeclaration(node) { - return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node); } function visitSetAccessorDeclaration(node) { @@ -97110,13 +97110,13 @@ var ts; if (node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */)) { return undefined; } - return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), - /*questionOrExclamationToken*/ undefined, + return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionOrExclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)), node); } function visitParameterDeclaration(node) { - var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), - /*questionToken*/ undefined, + var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), + /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (updated !== node) { // While we emit the source map for the node after skipping decorators and modifiers, @@ -97634,9 +97634,9 @@ var ts; * @param node The node to visit. */ function visitMethodDeclaration(node) { - return factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, - /*questionToken*/ undefined, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97650,8 +97650,8 @@ var ts; * @param node The node to visit. */ function visitFunctionDeclaration(node) { - return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97665,8 +97665,8 @@ var ts; * @param node The node to visit. */ function visitFunctionExpression(node) { - return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97680,8 +97680,8 @@ var ts; * @param node The node to visit. */ function visitArrowFunction(node) { - return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97934,7 +97934,7 @@ var ts; var argumentExpression = ts.isPropertyAccessExpression(expression) ? substitutePropertyAccessExpression(expression) : substituteElementAccessExpression(expression); - return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), + return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), /*typeArguments*/ undefined, __spreadArray([ factory.createThis() ], node.arguments, true)); @@ -97951,11 +97951,11 @@ var ts; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*typeArguments*/ undefined, [argumentExpression]), "value"), location); } else { - return ts.setTextRange(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + return ts.setTextRange(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*typeArguments*/ undefined, [argumentExpression]), location); } } @@ -97971,33 +97971,33 @@ var ts; var name = ts.unescapeLeadingUnderscores(key); var getterAndSetter = []; getterAndSetter.push(factory.createPropertyAssignment("get", factory.createArrowFunction( - /* modifiers */ undefined, - /* typeParameters */ undefined, - /* parameters */ [], - /* type */ undefined, + /* modifiers */ undefined, + /* typeParameters */ undefined, + /* parameters */ [], + /* type */ undefined, /* equalsGreaterThanToken */ undefined, ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* EmitFlags.NoSubstitution */), name), 4 /* EmitFlags.NoSubstitution */)))); if (hasBinding) { getterAndSetter.push(factory.createPropertyAssignment("set", factory.createArrowFunction( - /* modifiers */ undefined, - /* typeParameters */ undefined, + /* modifiers */ undefined, + /* typeParameters */ undefined, /* parameters */ [ factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, "v", - /* questionToken */ undefined, - /* type */ undefined, + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "v", + /* questionToken */ undefined, + /* type */ undefined, /* initializer */ undefined) - ], - /* type */ undefined, + ], + /* type */ undefined, /* equalsGreaterThanToken */ undefined, factory.createAssignment(ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* EmitFlags.NoSubstitution */), name), 4 /* EmitFlags.NoSubstitution */), factory.createIdentifier("v"))))); } accessors.push(factory.createPropertyAssignment(name, factory.createObjectLiteralExpression(getterAndSetter))); }); return factory.createVariableStatement( /* modifiers */ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), - /*exclamationToken*/ undefined, - /* type */ undefined, factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "create"), + factory.createVariableDeclaration(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + /*exclamationToken*/ undefined, + /* type */ undefined, factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "create"), /* typeArguments */ undefined, [ factory.createNull(), factory.createObjectLiteralExpression(accessors, /* multiline */ true) @@ -98201,7 +98201,7 @@ var ts; } function visitAwaitExpression(node) { if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */) { - return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression(/*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(ts.visitNode(node.expression, visitor, ts.isExpression))), + return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression(/*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(ts.visitNode(node.expression, visitor, ts.isExpression))), /*location*/ node), node); } return ts.visitEachChild(node, visitor, context); @@ -98407,7 +98407,7 @@ var ts; function visitVariableDeclarationWorker(node, exportedVariableStatement) { // If we are here it is because the name contains a binding pattern with a rest somewhere in it. if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { - return ts.flattenDestructuringBinding(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, + return ts.flattenDestructuringBinding(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, /*rval*/ undefined, exportedVariableStatement); } return ts.visitEachChild(node, visitor, context); @@ -98453,7 +98453,7 @@ var ts; } return factory.updateForOfStatement(node, node.awaitModifier, ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(temp), node.initializer) - ], 1 /* NodeFlags.Let */), node.initializer), node.expression, ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), + ], 1 /* NodeFlags.Let */), node.initializer), node.expression, ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), /*multiLine*/ true), bodyLocation)); } return node; @@ -98472,7 +98472,7 @@ var ts; else { statements.push(statement); } - return ts.setEmitFlags(ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), + return ts.setEmitFlags(ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), /*multiLine*/ true), bodyLocation), 48 /* EmitFlags.NoSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */); } function createDownlevelAwait(expression) { @@ -98502,10 +98502,10 @@ var ts; /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result) - ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), - /*condition*/ factory.createComma(factory.createAssignment(result, createDownlevelAwait(callNext)), factory.createLogicalNot(getDone)), - /*incrementor*/ undefined, - /*statement*/ convertForOfStatementHead(node, getValue)), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), + /*condition*/ factory.createComma(factory.createAssignment(result, createDownlevelAwait(callNext)), factory.createLogicalNot(getDone)), + /*incrementor*/ undefined, + /*statement*/ convertForOfStatementHead(node, getValue)), /*location*/ node), 256 /* EmitFlags.NoTokenTrailingSourceMaps */); ts.setOriginalNode(forStatement, node); return factory.createTryStatement(factory.createBlock([ @@ -98518,8 +98518,8 @@ var ts; factory.createTryStatement( /*tryBlock*/ factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(getDone)), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(createDownlevelAwait(callReturn))), 1 /* EmitFlags.SingleLine */) - ]), - /*catchClause*/ undefined, + ]), + /*catchClause*/ undefined, /*finallyBlock*/ ts.setEmitFlags(factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* EmitFlags.SingleLine */) ]), 1 /* EmitFlags.SingleLine */)) @@ -98531,18 +98531,18 @@ var ts; } function visitParameter(node) { if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) { - return factory.updateParameterDeclaration(node, - /*modifiers*/ undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, - /*questionToken*/ undefined, - /*type*/ undefined, + return factory.updateParameterDeclaration(node, + /*modifiers*/ undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } if (node.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { // Binding patterns are converted into a generated name and are // evaluated inside the function body. - return factory.updateParameterDeclaration(node, - /*modifiers*/ undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), - /*questionToken*/ undefined, + return factory.updateParameterDeclaration(node, + /*modifiers*/ undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), + /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); } return ts.visitEachChild(node, visitor, context); @@ -98575,7 +98575,7 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateGetAccessorDeclaration(node, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), + var updated = factory.updateGetAccessorDeclaration(node, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; @@ -98600,8 +98600,8 @@ var ts; ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifierLike) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined - : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); @@ -98618,8 +98618,8 @@ var ts; ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined - : node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + : node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); @@ -98632,8 +98632,8 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateArrowFunction(node, node.modifiers, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + var updated = factory.updateArrowFunction(node, node.modifiers, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, node.equalsGreaterThanToken, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; @@ -98648,8 +98648,8 @@ var ts; ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined - : node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + : node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); @@ -98667,9 +98667,9 @@ var ts; capturedSuperProperties = new ts.Set(); hasSuperElementAccess = false; var returnStatement = factory.createReturnStatement(emitHelpers().createAsyncGeneratorHelper(factory.createFunctionExpression( - /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset))), !!(hierarchyFacts & 1 /* HierarchyFacts.HasLexicalThis */))); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. @@ -98774,8 +98774,8 @@ var ts; } else if (parameter.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { containsPrecedingObjectRestOrSpread = true; - var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* FlattenLevel.ObjectRest */, factory.getGeneratedNameForNode(parameter), - /*doNotRecordTempVariablesInLine*/ false, + var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* FlattenLevel.ObjectRest */, factory.getGeneratedNameForNode(parameter), + /*doNotRecordTempVariablesInLine*/ false, /*skipInitializer*/ true); if (ts.some(declarations)) { var declarationList = factory.createVariableDeclarationList(declarations); @@ -98877,7 +98877,7 @@ var ts; var argumentExpression = ts.isPropertyAccessExpression(expression) ? substitutePropertyAccessExpression(expression) : substituteElementAccessExpression(expression); - return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), + return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), /*typeArguments*/ undefined, __spreadArray([ factory.createThis() ], node.arguments, true)); @@ -98894,11 +98894,11 @@ var ts; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createIdentifier("_superIndex"), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createIdentifier("_superIndex"), /*typeArguments*/ undefined, [argumentExpression]), "value"), location); } else { - return ts.setTextRange(factory.createCallExpression(factory.createIdentifier("_superIndex"), + return ts.setTextRange(factory.createCallExpression(factory.createIdentifier("_superIndex"), /*typeArguments*/ undefined, [argumentExpression]), location); } } @@ -99083,7 +99083,7 @@ var ts; rightExpression = factory.createFunctionCallCall(rightExpression, leftThisArg.kind === 106 /* SyntaxKind.SuperKeyword */ ? factory.createThis() : leftThisArg, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); } else { - rightExpression = factory.createCallExpression(rightExpression, + rightExpression = factory.createCallExpression(rightExpression, /*typeArguments*/ undefined, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); } break; @@ -99106,8 +99106,8 @@ var ts; right = factory.createTempVariable(hoistVariableDeclaration); left = factory.createAssignment(right, left); } - return ts.setTextRange(factory.createConditionalExpression(createNotNullCondition(left, right), - /*questionToken*/ undefined, right, + return ts.setTextRange(factory.createConditionalExpression(createNotNullCondition(left, right), + /*questionToken*/ undefined, right, /*colonToken*/ undefined, ts.visitNode(node.right, visitor, ts.isExpression)), node); } function visitDeleteExpression(node) { @@ -99276,8 +99276,8 @@ var ts; else if (ts.isExternalOrCommonJsModule(node)) { // Add `require` statement var requireStatement = factory.createVariableStatement(/*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createObjectBindingPattern(ts.map(ts.arrayFrom(importSpecifiersMap.values()), function (s) { return factory.createBindingElement(/*dotdotdot*/ undefined, s.propertyName, s.name); })), - /*exclaimationToken*/ undefined, + factory.createVariableDeclaration(factory.createObjectBindingPattern(ts.map(ts.arrayFrom(importSpecifiersMap.values()), function (s) { return factory.createBindingElement(/*dotdotdot*/ undefined, s.propertyName, s.name); })), + /*exclaimationToken*/ undefined, /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, [factory.createStringLiteral(importSource)])) ], 2 /* NodeFlags.Const */)); ts.setParentRecursive(requireStatement, /*incremental*/ false); @@ -99444,7 +99444,7 @@ var ts; childrenProps = result; } } - return visitJsxOpeningLikeElementOrFragmentJSX(getImplicitJsxFragmentReference(), childrenProps || factory.createObjectLiteralExpression([]), + return visitJsxOpeningLikeElementOrFragmentJSX(getImplicitJsxFragmentReference(), childrenProps || factory.createObjectLiteralExpression([]), /*keyAttr*/ undefined, children, isChild, location); } function visitJsxOpeningFragmentCreateElement(node, children, isChild, location) { @@ -100438,8 +100438,8 @@ var ts; // } // return C; // }()); - var variable = factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ true), - /*exclamationToken*/ undefined, + var variable = factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ true), + /*exclamationToken*/ undefined, /*type*/ undefined, transformClassLikeDeclarationToExpression(node)); ts.setOriginalNode(variable, node); var statements = []; @@ -100514,10 +100514,10 @@ var ts; } var extendsClauseElement = ts.getClassExtendsHeritageElement(node); var classFunction = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], /*type*/ undefined, transformClassBody(node, extendsClauseElement)); // To preserve the behavior of the old emitter, we explicitly indent // the body of the function here if it was requested in an earlier @@ -100531,7 +100531,7 @@ var ts; var outer = factory.createPartiallyEmittedExpression(inner); ts.setTextRangeEnd(outer, ts.skipTrivia(currentText, node.pos)); ts.setEmitFlags(outer, 1536 /* EmitFlags.NoComments */); - var result = factory.createParenthesizedExpression(factory.createCallExpression(outer, + var result = factory.createParenthesizedExpression(factory.createCallExpression(outer, /*typeArguments*/ undefined, extendsClauseElement ? [ts.visitNode(extendsClauseElement.expression, visitor, ts.isExpression)] : [])); @@ -100577,7 +100577,7 @@ var ts; */ function addExtendsHelperIfNeeded(statements, node, extendsClauseElement) { if (extendsClauseElement) { - statements.push(ts.setTextRange(factory.createExpressionStatement(emitHelpers().createExtendsHelper(factory.getInternalName(node))), + statements.push(ts.setTextRange(factory.createExpressionStatement(emitHelpers().createExtendsHelper(factory.getInternalName(node))), /*location*/ extendsClauseElement)); } } @@ -100595,9 +100595,9 @@ var ts; var constructor = ts.getFirstConstructorWithBody(node); var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined); var constructorFunction = factory.createFunctionDeclaration( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, name, - /*typeParameters*/ undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, name, + /*typeParameters*/ undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), /*type*/ undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper)); ts.setTextRange(constructorFunction, constructor || node); if (extendsClauseElement) { @@ -100790,8 +100790,8 @@ var ts; // ``` insertCaptureThisForNodeIfNeeded(prologue, constructor); } - var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex - existingPrologue.length)), true), statements, true)), - /*location*/ constructor.body.statements), + var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex - existingPrologue.length)), true), statements, true)), + /*location*/ constructor.body.statements), /*multiLine*/ true); ts.setTextRange(body, constructor.body); return body; @@ -100859,23 +100859,23 @@ var ts; // Binding patterns are converted into a generated name and are // evaluated inside the function body. return ts.setOriginalNode(ts.setTextRange(factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, factory.getGeneratedNameForNode(node), - /*questionToken*/ undefined, - /*type*/ undefined, - /*initializer*/ undefined), - /*location*/ node), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, factory.getGeneratedNameForNode(node), + /*questionToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined), + /*location*/ node), /*original*/ node); } else if (node.initializer) { // Initializers are elided return ts.setOriginalNode(ts.setTextRange(factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, node.name, - /*questionToken*/ undefined, - /*type*/ undefined, - /*initializer*/ undefined), - /*location*/ node), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, node.name, + /*questionToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined), + /*location*/ node), /*original*/ node); } else { @@ -100996,10 +100996,10 @@ var ts; // var param = []; prologueStatements.push(ts.setEmitFlags(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(declarationName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(declarationName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createArrayLiteralExpression([])) - ])), + ])), /*location*/ parameter), 1048576 /* EmitFlags.CustomPrologue */)); // for (var _i = restIndex; _i < arguments.length; _i++) { // param[_i - restIndex] = arguments[_i]; @@ -101009,7 +101009,7 @@ var ts; ]), parameter), ts.setTextRange(factory.createLessThan(temp, factory.createPropertyAccessExpression(factory.createIdentifier("arguments"), "length")), parameter), ts.setTextRange(factory.createPostfixIncrement(temp), parameter), factory.createBlock([ ts.startOnNewLine(ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(factory.createElementAccessExpression(expressionName, restIndex === 0 ? temp - : factory.createSubtract(temp, factory.createNumericLiteral(restIndex))), factory.createElementAccessExpression(factory.createIdentifier("arguments"), temp))), + : factory.createSubtract(temp, factory.createNumericLiteral(restIndex))), factory.createElementAccessExpression(factory.createIdentifier("arguments"), temp))), /*location*/ parameter)) ])); ts.setEmitFlags(forStatement, 1048576 /* EmitFlags.CustomPrologue */); @@ -101053,8 +101053,8 @@ var ts; enableSubstitutionsForCapturedThis(); var captureThisStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + /*exclamationToken*/ undefined, /*type*/ undefined, initializer) ])); ts.setEmitFlags(captureThisStatement, 1536 /* EmitFlags.NoComments */ | 1048576 /* EmitFlags.CustomPrologue */); @@ -101083,8 +101083,8 @@ var ts; case 213 /* SyntaxKind.FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. - newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), 102 /* SyntaxKind.InstanceOfKeyword */, factory.getLocalName(node))), - /*questionToken*/ undefined, factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"), + newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), 102 /* SyntaxKind.InstanceOfKeyword */, factory.getLocalName(node))), + /*questionToken*/ undefined, factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"), /*colonToken*/ undefined, factory.createVoidZero()); break; default: @@ -101092,8 +101092,8 @@ var ts; } var captureNewTargetStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_newTarget", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.createUniqueName("_newTarget", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + /*exclamationToken*/ undefined, /*type*/ undefined, newTarget) ])); ts.setEmitFlags(captureNewTargetStatement, 1536 /* EmitFlags.NoComments */ | 1048576 /* EmitFlags.CustomPrologue */); @@ -101233,7 +101233,7 @@ var ts; properties.push(setter); } properties.push(factory.createPropertyAssignment("enumerable", getAccessor || setAccessor ? factory.createFalse() : factory.createTrue()), factory.createPropertyAssignment("configurable", factory.createTrue())); - var call = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + var call = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ target, propertyName, @@ -101257,10 +101257,10 @@ var ts; convertedLoopState = undefined; var ancestorFacts = enterSubtree(15232 /* HierarchyFacts.ArrowFunctionExcludes */, 66 /* HierarchyFacts.ArrowFunctionIncludes */); var func = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, transformFunctionBody(node)); ts.setTextRange(func, node); ts.setOriginalNode(func, node); @@ -101288,9 +101288,9 @@ var ts; : node.name; exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; - return factory.updateFunctionExpression(node, - /*modifiers*/ undefined, node.asteriskToken, name, - /*typeParameters*/ undefined, parameters, + return factory.updateFunctionExpression(node, + /*modifiers*/ undefined, node.asteriskToken, name, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } /** @@ -101309,8 +101309,8 @@ var ts; : node.name; exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; - return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, - /*typeParameters*/ undefined, parameters, + return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } /** @@ -101334,9 +101334,9 @@ var ts; exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression( - /*modifiers*/ undefined, node.asteriskToken, name, - /*typeParameters*/ undefined, parameters, - /*type*/ undefined, body), location), + /*modifiers*/ undefined, node.asteriskToken, name, + /*typeParameters*/ undefined, parameters, + /*type*/ undefined, body), location), /*original*/ node); } /** @@ -101655,7 +101655,7 @@ var ts; var ancestorFacts = enterSubtree(32 /* HierarchyFacts.ExportedVariableStatement */, 0 /* HierarchyFacts.None */); var updated; if (ts.isBindingPattern(node.name)) { - updated = ts.flattenDestructuringBinding(node, visitor, context, 0 /* FlattenLevel.All */, + updated = ts.flattenDestructuringBinding(node, visitor, context, 0 /* FlattenLevel.All */, /*value*/ undefined, (ancestorFacts & 32 /* HierarchyFacts.ExportedVariableStatement */) !== 0); } else { @@ -101738,8 +101738,8 @@ var ts; // to emit it separately. statements.push(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, ts.setOriginalNode(ts.setTextRange(factory.createVariableDeclarationList([ - factory.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : factory.createTempVariable(/*recordTempVariable*/ undefined), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : factory.createTempVariable(/*recordTempVariable*/ undefined), + /*exclamationToken*/ undefined, /*type*/ undefined, boundValue) ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } @@ -101771,7 +101771,7 @@ var ts; } } function createSyntheticBlockForConvertedStatements(statements) { - return ts.setEmitFlags(factory.createBlock(factory.createNodeArray(statements), + return ts.setEmitFlags(factory.createBlock(factory.createNodeArray(statements), /*multiLine*/ true), 48 /* EmitFlags.NoSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */); } function convertForOfStatementForArray(node, outermostLabeledStatement, convertedLoopBodyStatements) { @@ -101809,10 +101809,10 @@ var ts; /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(counter, /*exclamationToken*/ undefined, /*type*/ undefined, factory.createNumericLiteral(0)), ts.moveRangePos(node.expression, -1)), ts.setTextRange(factory.createVariableDeclaration(rhsReference, /*exclamationToken*/ undefined, /*type*/ undefined, expression), node.expression) - ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), - /*condition*/ ts.setTextRange(factory.createLessThan(counter, factory.createPropertyAccessExpression(rhsReference, "length")), node.expression), - /*incrementor*/ ts.setTextRange(factory.createPostfixIncrement(counter), node.expression), - /*statement*/ convertForOfStatementHead(node, factory.createElementAccessExpression(rhsReference, counter), convertedLoopBodyStatements)), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), + /*condition*/ ts.setTextRange(factory.createLessThan(counter, factory.createPropertyAccessExpression(rhsReference, "length")), node.expression), + /*incrementor*/ ts.setTextRange(factory.createPostfixIncrement(counter), node.expression), + /*statement*/ convertForOfStatementHead(node, factory.createElementAccessExpression(rhsReference, counter), convertedLoopBodyStatements)), /*location*/ node); // Disable trailing source maps for the OpenParenToken to align source map emit with the old emitter. ts.setEmitFlags(forStatement, 256 /* EmitFlags.NoTokenTrailingSourceMaps */); @@ -101838,10 +101838,10 @@ var ts; /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result, /*exclamationToken*/ undefined, /*type*/ undefined, next) - ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), - /*condition*/ factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done")), - /*incrementor*/ factory.createAssignment(result, next), - /*statement*/ convertForOfStatementHead(node, factory.createPropertyAccessExpression(result, "value"), convertedLoopBodyStatements)), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), + /*condition*/ factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done")), + /*incrementor*/ factory.createAssignment(result, next), + /*statement*/ convertForOfStatementHead(node, factory.createPropertyAccessExpression(result, "value"), convertedLoopBodyStatements)), /*location*/ node), 256 /* EmitFlags.NoTokenTrailingSourceMaps */); return factory.createTryStatement(factory.createBlock([ factory.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel) @@ -101853,8 +101853,8 @@ var ts; factory.createTryStatement( /*tryBlock*/ factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done"))), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(factory.createFunctionCallCall(returnMethod, iterator, []))), 1 /* EmitFlags.SingleLine */), - ]), - /*catchClause*/ undefined, + ]), + /*catchClause*/ undefined, /*finallyBlock*/ ts.setEmitFlags(factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* EmitFlags.SingleLine */) ]), 1 /* EmitFlags.SingleLine */)) @@ -102004,7 +102004,7 @@ var ts; return factory.updateForStatement(node, ts.visitNode(initializerFunction ? initializerFunction.part : node.initializer, visitorWithUnusedExpressionResult, ts.isForInitializer), ts.visitNode(shouldConvertCondition ? undefined : node.condition, visitor, ts.isExpression), ts.visitNode(shouldConvertIncrementor ? undefined : node.incrementor, visitorWithUnusedExpressionResult, ts.isExpression), convertedLoopBody); } function convertForOfStatement(node, convertedLoopBody) { - return factory.updateForOfStatement(node, + return factory.updateForOfStatement(node, /*awaitModifier*/ undefined, ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), convertedLoopBody); } function convertForInStatement(node, convertedLoopBody) { @@ -102074,8 +102074,8 @@ var ts; } else { // this is top level converted loop and we need to create an alias for 'arguments' object - (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.argumentsName, - /*exclamationToken*/ undefined, + (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.argumentsName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createIdentifier("arguments"))); } } @@ -102090,8 +102090,8 @@ var ts; // NOTE: // if converted loops were all nested in arrow function then we'll always emit '_this' so convertedLoopState.thisName will not be set. // If it is set this means that all nested loops are not nested in arrow function and it is safe to capture 'this'. - (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.thisName, - /*exclamationToken*/ undefined, + (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.thisName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createIdentifier("this"))); } } @@ -102176,13 +102176,13 @@ var ts; // from affecting the initial value for `i` outside of the per-iteration environment. var functionDeclaration = factory.createVariableStatement( /*modifiers*/ undefined, ts.setEmitFlags(factory.createVariableDeclarationList([ - factory.createVariableDeclaration(functionName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(functionName, + /*exclamationToken*/ undefined, /*type*/ undefined, ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ undefined, + /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ undefined, /*type*/ undefined, ts.visitNode(factory.createBlock(statements, /*multiLine*/ true), visitor, ts.isBlock)), emitFlags)) ]), 2097152 /* EmitFlags.NoHoisting */)); var part = factory.createVariableDeclarationList(ts.map(currentState.loopOutParameters, createOutVariable)); @@ -102282,12 +102282,12 @@ var ts; // } var functionDeclaration = factory.createVariableStatement( /*modifiers*/ undefined, ts.setEmitFlags(factory.createVariableDeclarationList([ - factory.createVariableDeclaration(functionName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(functionName, + /*exclamationToken*/ undefined, /*type*/ undefined, ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, currentState.loopParameters, + /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, currentState.loopParameters, /*type*/ undefined, loopBody), emitFlags)) ]), 2097152 /* EmitFlags.NoHoisting */)); var part = generateCallToConvertedLoop(functionName, currentState, outerState, containsYield); @@ -102543,7 +102543,7 @@ var ts; ts.Debug.assert(!ts.isComputedPropertyName(node.name)); var functionExpression = transformFunctionLikeToExpression(node, /*location*/ ts.moveRangePos(node, -1), /*name*/ undefined, /*container*/ undefined); ts.setEmitFlags(functionExpression, 512 /* EmitFlags.NoLeadingComments */ | ts.getEmitFlags(functionExpression)); - return ts.setTextRange(factory.createPropertyAssignment(node.name, functionExpression), + return ts.setTextRange(factory.createPropertyAssignment(node.name, functionExpression), /*location*/ node); } /** @@ -102575,7 +102575,7 @@ var ts; * @param node A ShorthandPropertyAssignment node. */ function visitShorthandPropertyAssignment(node) { - return ts.setTextRange(factory.createPropertyAssignment(node.name, visitIdentifier(factory.cloneNode(node.name))), + return ts.setTextRange(factory.createPropertyAssignment(node.name, visitIdentifier(factory.cloneNode(node.name))), /*location*/ node); } function visitComputedPropertyName(node) { @@ -102617,7 +102617,7 @@ var ts; ts.some(node.arguments, ts.isSpreadElement)) { return visitCallExpressionWithPotentialCapturedThisAssignment(node, /*assignToCapturedThis*/ true); } - return factory.updateCallExpression(node, ts.visitNode(node.expression, callExpressionVisitor, ts.isExpression), + return factory.updateCallExpression(node, ts.visitNode(node.expression, callExpressionVisitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression)); } function visitTypeScriptClassWrapper(node) { @@ -102728,12 +102728,12 @@ var ts; ts.addRange(statements, classStatements, /*start*/ 1); // Recreate any outer parentheses or partially-emitted expressions to preserve source map // and comment locations. - return factory.restoreOuterExpressions(node.expression, factory.restoreOuterExpressions(variable.initializer, factory.restoreOuterExpressions(aliasAssignment && aliasAssignment.right, factory.updateCallExpression(call, factory.restoreOuterExpressions(call.expression, factory.updateFunctionExpression(func, - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, func.parameters, - /*type*/ undefined, factory.updateBlock(func.body, statements))), + return factory.restoreOuterExpressions(node.expression, factory.restoreOuterExpressions(variable.initializer, factory.restoreOuterExpressions(aliasAssignment && aliasAssignment.right, factory.updateCallExpression(call, factory.restoreOuterExpressions(call.expression, factory.updateFunctionExpression(func, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, func.parameters, + /*type*/ undefined, factory.updateBlock(func.body, statements))), /*typeArguments*/ undefined, call.arguments)))); } function visitSuperCallInBody(node) { @@ -102802,7 +102802,7 @@ var ts; // [output] // new ((_a = C).bind.apply(_a, [void 0].concat(a)))() var _a = factory.createCallBinding(factory.createPropertyAccessExpression(node.expression, "bind"), hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg; - return factory.createNewExpression(factory.createFunctionApplyCall(ts.visitNode(target, visitor, ts.isExpression), thisArg, transformAndSpreadElements(factory.createNodeArray(__spreadArray([factory.createVoidZero()], node.arguments, true)), /*isArgumentList*/ true, /*multiLine*/ false, /*hasTrailingComma*/ false)), + return factory.createNewExpression(factory.createFunctionApplyCall(ts.visitNode(target, visitor, ts.isExpression), thisArg, transformAndSpreadElements(factory.createNodeArray(__spreadArray([factory.createVoidZero()], node.arguments, true)), /*isArgumentList*/ true, /*multiLine*/ false, /*hasTrailingComma*/ false)), /*typeArguments*/ undefined, []); } return ts.visitEachChild(node, visitor, context); @@ -102961,7 +102961,7 @@ var ts; if (span.literal.text.length > 0) { args.push(factory.createStringLiteral(span.literal.text)); } - expression = factory.createCallExpression(factory.createPropertyAccessExpression(expression, "concat"), + expression = factory.createCallExpression(factory.createPropertyAccessExpression(expression, "concat"), /*typeArguments*/ undefined, args); } return ts.setTextRange(expression, node); @@ -103659,10 +103659,10 @@ var ts; function visitFunctionDeclaration(node) { // Currently, we only support generators that were originally async functions. if (node.asteriskToken) { - node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(node.modifiers, - /*asteriskToken*/ undefined, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, transformGeneratorFunctionBody(node.body)), + node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(node.modifiers, + /*asteriskToken*/ undefined, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*type*/ undefined, transformGeneratorFunctionBody(node.body)), /*location*/ node), node); } else { @@ -103697,10 +103697,10 @@ var ts; // Currently, we only support generators that were originally async functions. if (node.asteriskToken) { node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, transformGeneratorFunctionBody(node.body)), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*type*/ undefined, transformGeneratorFunctionBody(node.body)), /*location*/ node), node); } else { @@ -104223,8 +104223,8 @@ var ts; // .mark resumeLabel // new (_b.apply(_a, _c.concat([%sent%, 2]))); var _a = factory.createCallBinding(factory.createPropertyAccessExpression(node.expression, "bind"), hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg; - return ts.setOriginalNode(ts.setTextRange(factory.createNewExpression(factory.createFunctionApplyCall(cacheExpression(ts.visitNode(target, visitor, ts.isExpression)), thisArg, visitElements(node.arguments, - /*leadingElement*/ factory.createVoidZero())), + return ts.setOriginalNode(ts.setTextRange(factory.createNewExpression(factory.createFunctionApplyCall(cacheExpression(ts.visitNode(target, visitor, ts.isExpression)), thisArg, visitElements(node.arguments, + /*leadingElement*/ factory.createVoidZero())), /*typeArguments*/ undefined, []), node), node); } return ts.visitEachChild(node, visitor, context); @@ -104541,7 +104541,7 @@ var ts; var initializer = node.initializer; hoistVariableDeclaration(keysIndex); emitAssignment(keysArray, factory.createArrayLiteralExpression()); - emitStatement(factory.createForInStatement(key, ts.visitNode(node.expression, visitor, ts.isExpression), factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(keysArray, "push"), + emitStatement(factory.createForInStatement(key, ts.visitNode(node.expression, visitor, ts.isExpression), factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(keysArray, "push"), /*typeArguments*/ undefined, [key])))); emitAssignment(keysIndex, factory.createNumericLiteral(0)); var conditionLabel = defineLabel(); @@ -104643,11 +104643,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function transformAndEmitReturnStatement(node) { - emitReturn(ts.visitNode(node.expression, visitor, ts.isExpression), + emitReturn(ts.visitNode(node.expression, visitor, ts.isExpression), /*location*/ node); } function visitReturnStatement(node) { - return createInlineReturn(ts.visitNode(node.expression, visitor, ts.isExpression), + return createInlineReturn(ts.visitNode(node.expression, visitor, ts.isExpression), /*location*/ node); } function transformAndEmitWithStatement(node) { @@ -104806,7 +104806,7 @@ var ts; function transformAndEmitThrowStatement(node) { var _a; // TODO(rbuckton): `expression` should be required on `throw`. - emitThrow(ts.visitNode((_a = node.expression) !== null && _a !== void 0 ? _a : factory.createVoidZero(), visitor, ts.isExpression), + emitThrow(ts.visitNode((_a = node.expression) !== null && _a !== void 0 ? _a : factory.createVoidZero(), visitor, ts.isExpression), /*location*/ node); } function transformAndEmitTryStatement(node) { @@ -105343,7 +105343,7 @@ var ts; * Creates an expression that can be used to resume from a Yield operation. */ function createGeneratorResume(location) { - return ts.setTextRange(factory.createCallExpression(factory.createPropertyAccessExpression(state, "sent"), + return ts.setTextRange(factory.createCallExpression(factory.createPropertyAccessExpression(state, "sent"), /*typeArguments*/ undefined, []), location); } /** @@ -105485,11 +105485,11 @@ var ts; withBlockStack = undefined; var buildResult = buildStatements(); return emitHelpers().createGeneratorHelper(ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], - /*type*/ undefined, factory.createBlock(buildResult, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], + /*type*/ undefined, factory.createBlock(buildResult, /*multiLine*/ buildResult.length > 0)), 524288 /* EmitFlags.ReuseTempVariableScope */)); } /** @@ -105590,7 +105590,7 @@ var ts; // indicate entry into a protected region by pushing the label numbers // for each block in the protected region. var startLabel = currentExceptionBlock.startLabel, catchLabel = currentExceptionBlock.catchLabel, finallyLabel = currentExceptionBlock.finallyLabel, endLabel = currentExceptionBlock.endLabel; - statements.unshift(factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(state, "trys"), "push"), + statements.unshift(factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(state, "trys"), "push"), /*typeArguments*/ undefined, [ factory.createArrayLiteralExpression([ createLabel(startLabel), @@ -105988,7 +105988,7 @@ var ts; // // define(mofactory.updateSourceFile", "module2"], function ... var updated = factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ - factory.createExpressionStatement(factory.createCallExpression(define, + factory.createExpressionStatement(factory.createCallExpression(define, /*typeArguments*/ undefined, __spreadArray(__spreadArray([], (moduleName ? [moduleName] : []), true), [ // Add the dependency array argument: // @@ -106003,16 +106003,16 @@ var ts; jsonSourceFile ? jsonSourceFile.statements.length ? jsonSourceFile.statements[0].expression : factory.createObjectLiteralExpression() : factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, __spreadArray([ factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") - ], importAliasNames, true), + ], importAliasNames, true), /*type*/ undefined, transformAsynchronousModuleBody(node)) ], false))) - ]), + ]), /*location*/ node.statements)); ts.addEmitHelpers(updated, context.readEmitHelpers()); return updated; @@ -106026,17 +106026,17 @@ var ts; var _a = collectAsynchronousDependencies(node, /*includeNonAmdDependencies*/ false), aliasedModuleNames = _a.aliasedModuleNames, unaliasedModuleNames = _a.unaliasedModuleNames, importAliasNames = _a.importAliasNames; var moduleName = ts.tryGetModuleNameFromFile(factory, node, host, compilerOptions); var umdHeader = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], /*type*/ undefined, ts.setTextRange(factory.createBlock([ factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("module"), "object"), factory.createTypeCheck(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), "object")), factory.createBlock([ factory.createVariableStatement( /*modifiers*/ undefined, [ - factory.createVariableDeclaration("v", - /*exclamationToken*/ undefined, - /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("factory"), + factory.createVariableDeclaration("v", + /*exclamationToken*/ undefined, + /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("factory"), /*typeArguments*/ undefined, [ factory.createIdentifier("require"), factory.createIdentifier("exports") @@ -106044,7 +106044,7 @@ var ts; ]), ts.setEmitFlags(factory.createIfStatement(factory.createStrictInequality(factory.createIdentifier("v"), factory.createIdentifier("undefined")), factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), factory.createIdentifier("v")))), 1 /* EmitFlags.SingleLine */) ]), factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("define"), "function"), factory.createPropertyAccessExpression(factory.createIdentifier("define"), "amd")), factory.createBlock([ - factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("define"), + factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("define"), /*typeArguments*/ undefined, __spreadArray(__spreadArray([], (moduleName ? [moduleName] : []), true), [ factory.createArrayLiteralExpression(__spreadArray(__spreadArray([ factory.createStringLiteral("require"), @@ -106053,8 +106053,8 @@ var ts; factory.createIdentifier("factory") ], false))) ]))) - ], - /*multiLine*/ true), + ], + /*multiLine*/ true), /*location*/ undefined)); // Create an updated SourceFile: // @@ -106068,22 +106068,22 @@ var ts; // } // })(function ...) var updated = factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ - factory.createExpressionStatement(factory.createCallExpression(umdHeader, + factory.createExpressionStatement(factory.createCallExpression(umdHeader, /*typeArguments*/ undefined, [ // Add the module body function argument: // // function (require, exports) ... factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, __spreadArray([ factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") - ], importAliasNames, true), + ], importAliasNames, true), /*type*/ undefined, transformAsynchronousModuleBody(node)) ])) - ]), + ]), /*location*/ node.statements)); ts.addEmitHelpers(updated, context.readEmitHelpers()); return updated; @@ -106423,19 +106423,19 @@ var ts; if (ts.isSimpleCopiableExpression(arg)) { var argClone = ts.isGeneratedIdentifier(arg) ? arg : ts.isStringLiteral(arg) ? factory.createStringLiteralFromNode(arg) : ts.setEmitFlags(ts.setTextRange(factory.cloneNode(arg), arg), 1536 /* EmitFlags.NoComments */); return factory.createConditionalExpression( - /*condition*/ factory.createIdentifier("__syncRequire"), - /*questionToken*/ undefined, - /*whenTrue*/ createImportCallExpressionCommonJS(arg, containsLexicalThis), - /*colonToken*/ undefined, + /*condition*/ factory.createIdentifier("__syncRequire"), + /*questionToken*/ undefined, + /*whenTrue*/ createImportCallExpressionCommonJS(arg, containsLexicalThis), + /*colonToken*/ undefined, /*whenFalse*/ createImportCallExpressionAMD(argClone, containsLexicalThis)); } else { var temp = factory.createTempVariable(hoistVariableDeclaration); return factory.createComma(factory.createAssignment(temp, arg), factory.createConditionalExpression( - /*condition*/ factory.createIdentifier("__syncRequire"), - /*questionToken*/ undefined, - /*whenTrue*/ createImportCallExpressionCommonJS(temp, containsLexicalThis), - /*colonToken*/ undefined, + /*condition*/ factory.createIdentifier("__syncRequire"), + /*questionToken*/ undefined, + /*whenTrue*/ createImportCallExpressionCommonJS(temp, containsLexicalThis), + /*colonToken*/ undefined, /*whenFalse*/ createImportCallExpressionAMD(temp, containsLexicalThis))); } } @@ -106453,23 +106453,23 @@ var ts; factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ reject) ]; var body = factory.createBlock([ - factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("require"), + factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, [factory.createArrayLiteralExpression([arg || factory.createOmittedExpression()]), resolve, reject])) ]); var func; if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { func = factory.createArrowFunction( - /*modifiers*/ undefined, - /*typeParameters*/ undefined, parameters, - /*type*/ undefined, + /*modifiers*/ undefined, + /*typeParameters*/ undefined, parameters, + /*type*/ undefined, /*equalsGreaterThanToken*/ undefined, body); } else { func = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, parameters, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); // if there is a lexical 'this' in the import call arguments, ensure we indicate // that this new function expression indicates it captures 'this' so that the @@ -106498,19 +106498,19 @@ var ts; var func; if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { func = factory.createArrowFunction( - /*modifiers*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], - /*type*/ undefined, + /*modifiers*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], + /*type*/ undefined, /*equalsGreaterThanToken*/ undefined, requireCall); } else { func = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.createBlock([factory.createReturnStatement(requireCall)])); // if there is a lexical 'this' in the import call arguments, ensure we indicate // that this new function expression indicates it captures 'this' so that the @@ -106559,8 +106559,8 @@ var ts; var variables = []; if (namespaceDeclaration && !ts.isDefaultImport(node)) { // import * as n from "mod"; - variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), - /*exclamationToken*/ undefined, + variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), + /*exclamationToken*/ undefined, /*type*/ undefined, getHelperExpressionForImport(node, createRequireCall(node)))); } else { @@ -106568,18 +106568,18 @@ var ts; // import { x, y } from "mod"; // import d, { x, y } from "mod"; // import d, * as n from "mod"; - variables.push(factory.createVariableDeclaration(factory.getGeneratedNameForNode(node), - /*exclamationToken*/ undefined, + variables.push(factory.createVariableDeclaration(factory.getGeneratedNameForNode(node), + /*exclamationToken*/ undefined, /*type*/ undefined, getHelperExpressionForImport(node, createRequireCall(node)))); if (namespaceDeclaration && ts.isDefaultImport(node)) { - variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), - /*exclamationToken*/ undefined, + variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), + /*exclamationToken*/ undefined, /*type*/ undefined, factory.getGeneratedNameForNode(node))); } } statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(variables, languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), - /*location*/ node), + /*modifiers*/ undefined, factory.createVariableDeclarationList(variables, languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), + /*location*/ node), /*original*/ node)); } } @@ -106587,10 +106587,10 @@ var ts; // import d, * as n from "mod"; statements = ts.append(statements, factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - ts.setOriginalNode(ts.setTextRange(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), - /*exclamationToken*/ undefined, - /*type*/ undefined, factory.getGeneratedNameForNode(node)), - /*location*/ node), + ts.setOriginalNode(ts.setTextRange(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), + /*exclamationToken*/ undefined, + /*type*/ undefined, factory.getGeneratedNameForNode(node)), + /*location*/ node), /*original*/ node) ], languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */))); } @@ -106632,10 +106632,10 @@ var ts; else { statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.cloneNode(node.name), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.cloneNode(node.name), + /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) - ], + ], /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), node), node)); } } @@ -106672,11 +106672,11 @@ var ts; if (moduleKind !== ts.ModuleKind.AMD) { statements.push(ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(generatedName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(generatedName, + /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) - ])), - /*location*/ node), + ])), + /*location*/ node), /* original */ node)); } for (var _i = 0, _a = node.exportClause.elements; _i < _a.length; _i++) { @@ -106738,10 +106738,10 @@ var ts; function visitFunctionDeclaration(node) { var statements; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), - /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor), - /*type*/ undefined, ts.visitEachChild(node.body, visitor, context)), - /*location*/ node), + statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor), + /*type*/ undefined, ts.visitEachChild(node.body, visitor, context)), + /*location*/ node), /*original*/ node)); } else { @@ -106765,7 +106765,7 @@ var ts; function visitClassDeclaration(node) { var statements; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor), ts.visitNodes(node.members, visitor)), node), node)); } else { @@ -106804,7 +106804,7 @@ var ts; } else if (variable.initializer) { if (!ts.isBindingPattern(variable.name) && (ts.isArrowFunction(variable.initializer) || ts.isFunctionExpression(variable.initializer) || ts.isClassExpression(variable.initializer))) { - var expression = factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), variable.name), + var expression = factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), variable.name), /*location*/ variable.name), factory.createIdentifier(ts.getTextOfIdentifierOrLiteral(variable.name))); var updatedVariable = factory.createVariableDeclaration(variable.name, variable.exclamationToken, variable.type, ts.visitNode(variable.initializer, visitor)); variables = ts.append(variables, updatedVariable); @@ -106862,12 +106862,12 @@ var ts; */ function transformInitializedVariable(node) { if (ts.isBindingPattern(node.name)) { - return ts.flattenDestructuringAssignment(ts.visitNode(node, visitor), - /*visitor*/ undefined, context, 0 /* FlattenLevel.All */, + return ts.flattenDestructuringAssignment(ts.visitNode(node, visitor), + /*visitor*/ undefined, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createAllExportExpressions); } else { - return factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), node.name), + return factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), node.name), /*location*/ node.name), node.initializer ? ts.visitNode(node.initializer, visitor) : factory.createVoidZero()); } } @@ -107076,7 +107076,7 @@ var ts; statement = factory.createExpressionStatement(createExportExpression(factory.createIdentifier("__esModule"), factory.createTrue())); } else { - statement = factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + statement = factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ factory.createIdentifier("exports"), factory.createStringLiteral("__esModule"), @@ -107112,18 +107112,18 @@ var ts; * @param location The location to use for source maps and comments for the export. */ function createExportExpression(name, value, location, liveBinding) { - return ts.setTextRange(liveBinding && languageVersion !== 0 /* ScriptTarget.ES3 */ ? factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + return ts.setTextRange(liveBinding && languageVersion !== 0 /* ScriptTarget.ES3 */ ? factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ factory.createIdentifier("exports"), factory.createStringLiteralFromNode(name), factory.createObjectLiteralExpression([ factory.createPropertyAssignment("enumerable", factory.createTrue()), factory.createPropertyAssignment("get", factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.createBlock([factory.createReturnStatement(value)]))) ]) ]) : factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(name)), value), location); @@ -107232,7 +107232,7 @@ var ts; var expression = substituteExpressionIdentifier(node.expression); noSubstitution[ts.getNodeId(expression)] = true; if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* EmitFlags.HelperName */)) { - return ts.addEmitFlags(factory.updateCallExpression(node, expression, + return ts.addEmitFlags(factory.updateCallExpression(node, expression, /*typeArguments*/ undefined, node.arguments), 536870912 /* EmitFlags.IndirectCall */); } } @@ -107243,7 +107243,7 @@ var ts; var tag = substituteExpressionIdentifier(node.tag); noSubstitution[ts.getNodeId(tag)] = true; if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* EmitFlags.HelperName */)) { - return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag, + return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag, /*typeArguments*/ undefined, node.template), 536870912 /* EmitFlags.IndirectCall */); } } @@ -107267,18 +107267,18 @@ var ts; else if (!(ts.isGeneratedIdentifier(node) && !(node.autoGenerateFlags & 64 /* GeneratedIdentifierFlags.AllowNameSubstitution */)) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); if (exportContainer && exportContainer.kind === 305 /* SyntaxKind.SourceFile */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(node)), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(node)), /*location*/ node); } var importDeclaration = resolver.getReferencedImportDeclaration(node); if (importDeclaration) { if (ts.isImportClause(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), /*location*/ node); } else if (ts.isImportSpecifier(importDeclaration)) { var name = importDeclaration.propertyName || importDeclaration.name; - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(name)), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(name)), /*location*/ node); } } @@ -107408,13 +107408,13 @@ var ts; var dependencyGroups = collectDependencyGroups(moduleInfo.externalImports); var moduleBodyBlock = createSystemModuleBody(node, dependencyGroups); var moduleBodyFunction = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, [ factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, exportFunction), factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, contextObject) - ], + ], /*type*/ undefined, moduleBodyBlock); // Write the call to `System.register` // Clear the emit-helpers flag for later passes since we'll have already used it in the module body @@ -107422,7 +107422,7 @@ var ts; var moduleName = ts.tryGetModuleNameFromFile(factory, node, host, compilerOptions); var dependencies = factory.createArrayLiteralExpression(ts.map(dependencyGroups, function (dependencyGroup) { return dependencyGroup.name; })); var updated = ts.setEmitFlags(factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ - factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("System"), "register"), + factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("System"), "register"), /*typeArguments*/ undefined, moduleName ? [moduleName, dependencies, moduleBodyFunction] : [dependencies, moduleBodyFunction])) @@ -107529,8 +107529,8 @@ var ts; // var __moduleName = context_1 && context_1.id; statements.push(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration("__moduleName", - /*exclamationToken*/ undefined, + factory.createVariableDeclaration("__moduleName", + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createLogicalAnd(contextObject, factory.createPropertyAccessExpression(contextObject, "id"))) ]))); // Visit the synthetic external helpers import declaration if present @@ -107553,11 +107553,11 @@ var ts; undefined; var moduleObject = factory.createObjectLiteralExpression([ factory.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), - factory.createPropertyAssignment("execute", factory.createFunctionExpression(modifiers, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + factory.createPropertyAssignment("execute", factory.createFunctionExpression(modifiers, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.createBlock(executeStatements, /*multiLine*/ true))) ], /*multiLine*/ true); statements.push(factory.createReturnStatement(moduleObject)); @@ -107609,8 +107609,8 @@ var ts; var exportedNamesStorageRef = factory.createUniqueName("exportedNames"); statements.push(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(exportedNamesStorageRef, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(exportedNamesStorageRef, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createObjectLiteralExpression(exportedNames, /*multiline*/ true)) ]))); var exportStarFunction = createExportStarFunction(exportedNamesStorageRef); @@ -107631,18 +107631,18 @@ var ts; var exports = factory.createIdentifier("exports"); var condition = factory.createStrictInequality(n, factory.createStringLiteral("default")); if (localNames) { - condition = factory.createLogicalAnd(condition, factory.createLogicalNot(factory.createCallExpression(factory.createPropertyAccessExpression(localNames, "hasOwnProperty"), + condition = factory.createLogicalAnd(condition, factory.createLogicalNot(factory.createCallExpression(factory.createPropertyAccessExpression(localNames, "hasOwnProperty"), /*typeArguments*/ undefined, [n]))); } return factory.createFunctionDeclaration( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, exportStarFunction, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, m)], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, exportStarFunction, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, m)], /*type*/ undefined, factory.createBlock([ factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(exports, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(exports, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createObjectLiteralExpression([])) ])), factory.createForInStatement(factory.createVariableDeclarationList([ @@ -107650,7 +107650,7 @@ var ts; ]), m, factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(condition, factory.createExpressionStatement(factory.createAssignment(factory.createElementAccessExpression(exports, n), factory.createElementAccessExpression(m, n)))), 1 /* EmitFlags.SingleLine */) ])), - factory.createExpressionStatement(factory.createCallExpression(exportFunction, + factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [exports])) ], /*multiline*/ true)); } @@ -107701,11 +107701,11 @@ var ts; var e = _d[_c]; properties.push(factory.createPropertyAssignment(factory.createStringLiteral(ts.idText(e.name)), factory.createElementAccessExpression(parameterName, factory.createStringLiteral(ts.idText(e.propertyName || e.name))))); } - statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [factory.createObjectLiteralExpression(properties, /*multiline*/ true)]))); } else { - statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [ factory.createStringLiteral(ts.idText(entry.exportClause.name)), parameterName @@ -107718,17 +107718,17 @@ var ts; // emit as: // // exportStar(foo_1_1); - statements.push(factory.createExpressionStatement(factory.createCallExpression(exportStarFunction, + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportStarFunction, /*typeArguments*/ undefined, [parameterName]))); } break; } } setters.push(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], /*type*/ undefined, factory.createBlock(statements, /*multiLine*/ true))); } return factory.createArrayLiteralExpression(setters, /*multiLine*/ true); @@ -107826,8 +107826,8 @@ var ts; */ function visitFunctionDeclaration(node) { if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), - /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock))); } else { @@ -107854,7 +107854,7 @@ var ts; var name = factory.getLocalName(node); hoistVariableDeclaration(name); // Rewrite the class declaration into an assignment of a class expression. - statements = ts.append(statements, ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(name, ts.setTextRange(factory.createClassExpression(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.name, + statements = ts.append(statements, ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(name, ts.setTextRange(factory.createClassExpression(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)), node))), node)); if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -107940,7 +107940,7 @@ var ts; function transformInitializedVariable(node, isExportedDeclaration) { var createAssignment = isExportedDeclaration ? createExportedVariableAssignment : createNonExportedVariableAssignment; return ts.isBindingPattern(node.name) - ? ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, + ? ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createAssignment) : node.initializer ? createAssignment(node.name, ts.visitNode(node.initializer, visitor, ts.isExpression)) : node.name; } @@ -108518,7 +108518,7 @@ var ts; var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor); // Only use the external module name if it differs from the first argument. This allows us to preserve the quote style of the argument on output. var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument; - return factory.createCallExpression(factory.createPropertyAccessExpression(contextObject, factory.createIdentifier("import")), + return factory.createCallExpression(factory.createPropertyAccessExpression(contextObject, factory.createIdentifier("import")), /*typeArguments*/ undefined, argument ? [argument] : []); } /** @@ -108703,11 +108703,11 @@ var ts; var importDeclaration = resolver.getReferencedImportDeclaration(name); if (importDeclaration) { if (ts.isImportClause(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default"))), + return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default"))), /*location*/ node); } else if (ts.isImportSpecifier(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name))), + return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name))), /*location*/ node); } } @@ -108754,11 +108754,11 @@ var ts; var importDeclaration = resolver.getReferencedImportDeclaration(node); if (importDeclaration) { if (ts.isImportClause(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), /*location*/ node); } else if (ts.isImportSpecifier(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name)), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name)), /*location*/ node); } } @@ -108926,19 +108926,19 @@ var ts; var createRequireName = factory.createUniqueName("_createRequire", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var importStatement = factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause( - /*isTypeOnly*/ false, + /*isTypeOnly*/ false, /*name*/ undefined, factory.createNamedImports([ factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier("createRequire"), createRequireName) ])), factory.createStringLiteral("module")); var requireHelperName = factory.createUniqueName("__require", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var requireStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(requireHelperName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(requireHelperName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createCallExpression(factory.cloneNode(createRequireName), /*typeArguments*/ undefined, [ factory.createPropertyAccessExpression(factory.createMetaProperty(100 /* SyntaxKind.ImportKeyword */, factory.createIdentifier("meta")), factory.createIdentifier("url")) ])) - ], + ], /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)); importRequireStatements = [importStatement, requireStatement]; } @@ -108956,10 +108956,10 @@ var ts; var statements; statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.cloneNode(node.name), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.cloneNode(node.name), + /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) - ], + ], /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), node), node)); statements = appendExportsOfImportEqualsDeclaration(statements, node); return ts.singleOrMany(statements); @@ -108988,11 +108988,11 @@ var ts; var synthName = factory.getGeneratedNameForNode(oldIdentifier); var importDecl = factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause( - /*isTypeOnly*/ false, + /*isTypeOnly*/ false, /*name*/ undefined, factory.createNamespaceImport(synthName)), node.moduleSpecifier, node.assertClause); ts.setOriginalNode(importDecl, node.exportClause); var exportDecl = ts.isExportNamespaceAsDefaultDeclaration(node) ? factory.createExportDefault(synthName) : factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports([factory.createExportSpecifier(/*isTypeOnly*/ false, synthName, oldIdentifier)])); ts.setOriginalNode(exportDecl, node); return [importDecl, exportDecl]; @@ -109899,7 +109899,7 @@ var ts; recordTypeReferenceDirectivesIfNecessary([[specifier, /*mode*/ undefined]]); return; } - var fileName = ts.getRelativePathToDirectoryOrUrl(outputFilePath, declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, + var fileName = ts.getRelativePathToDirectoryOrUrl(outputFilePath, declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ false); if (ts.startsWith(fileName, "./") && ts.hasExtension(fileName)) { fileName = fileName.substring(2); @@ -109952,7 +109952,7 @@ var ts; } if (elem.propertyName && ts.isIdentifier(elem.propertyName) && ts.isIdentifier(elem.name) && !elem.symbol.isReferenced) { // Unnecessary property renaming is forbidden in types, so remove renaming - return factory.updateBindingElement(elem, elem.dotDotDotToken, + return factory.updateBindingElement(elem, elem.dotDotDotToken, /* propertyName */ undefined, elem.propertyName, shouldPrintWithInitializer(elem) ? elem.initializer : undefined); } return factory.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -110101,7 +110101,7 @@ var ts; } if (!newValueParameter) { newValueParameter = factory.createParameterDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "value"); } newParams = ts.append(newParams, newValueParameter); @@ -110177,7 +110177,7 @@ var ts; var visibleDefaultBinding = decl.importClause && decl.importClause.name && resolver.isDeclarationVisible(decl.importClause) ? decl.importClause.name : undefined; if (!decl.importClause.namedBindings) { // No named bindings (either namespace or list), meaning the import is just default or should be elided - return visibleDefaultBinding && factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, + return visibleDefaultBinding && factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } if (decl.importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { @@ -110192,7 +110192,7 @@ var ts; } // Augmentation of export depends on import if (resolver.isImportRequiredByAugmentation(decl)) { - return factory.updateImportDeclaration(decl, decl.modifiers, + return factory.updateImportDeclaration(decl, decl.modifiers, /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // Nothing visible @@ -110321,7 +110321,7 @@ var ts; case 171 /* SyntaxKind.Constructor */: { // A constructor declaration may not have a type annotation var ctor = factory.createConstructorDeclaration( - /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* ModifierFlags.None */), + /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* ModifierFlags.None */), /*body*/ undefined); return cleanup(ctor); } @@ -110329,8 +110329,8 @@ var ts; if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - var sig = factory.createMethodDeclaration(ensureModifiers(input), - /*asteriskToken*/ undefined, input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), + var sig = factory.createMethodDeclaration(ensureModifiers(input), + /*asteriskToken*/ undefined, input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined); return cleanup(sig); } @@ -110339,14 +110339,14 @@ var ts; return cleanup(/*returnValue*/ undefined); } var accessorType = getTypeAnnotationFromAllAccessorDeclarations(input, resolver.getAllAccessorDeclarations(input)); - return cleanup(factory.updateGetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), + return cleanup(factory.updateGetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), /*body*/ undefined)); } case 173 /* SyntaxKind.SetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - return cleanup(factory.updateSetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), + return cleanup(factory.updateSetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), /*body*/ undefined)); } case 167 /* SyntaxKind.PropertyDeclaration */: @@ -110532,8 +110532,8 @@ var ts; } case 256 /* SyntaxKind.FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type - var clean = cleanup(factory.updateFunctionDeclaration(input, ensureModifiers(input), - /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), + var clean = cleanup(factory.updateFunctionDeclaration(input, ensureModifiers(input), + /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined)); if (clean && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { var props = resolver.getPropertiesOfContainerFunction(input); @@ -110564,7 +110564,7 @@ var ts; } else { declarations.push(factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports(ts.map(exportMappings_1, function (_a) { var gen = _a[0], exp = _a[1]; return factory.createExportSpecifier(/*isTypeOnly*/ false, gen, exp); @@ -110575,12 +110575,12 @@ var ts; return [clean, namespaceDecl]; } var modifiers = factory.createModifiersFromModifierFlags((ts.getEffectiveModifierFlags(clean) & ~513 /* ModifierFlags.ExportDefault */) | 2 /* ModifierFlags.Ambient */); - var cleanDeclaration = factory.updateFunctionDeclaration(clean, modifiers, - /*asteriskToken*/ undefined, clean.name, clean.typeParameters, clean.parameters, clean.type, + var cleanDeclaration = factory.updateFunctionDeclaration(clean, modifiers, + /*asteriskToken*/ undefined, clean.name, clean.typeParameters, clean.parameters, clean.type, /*body*/ undefined); var namespaceDeclaration = factory.updateModuleDeclaration(namespaceDecl, modifiers, namespaceDecl.name, namespaceDecl.body); var exportDefaultDeclaration = factory.createExportAssignment( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isExportEquals*/ false, namespaceDecl.name); if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -110666,8 +110666,8 @@ var ts; elems = ts.concatenate(elems, walkBindingPattern(elem.name)); } elems = elems || []; - elems.push(factory.createPropertyDeclaration(ensureModifiers(param), elem.name, - /*questionToken*/ undefined, ensureType(elem, /*type*/ undefined), + elems.push(factory.createPropertyDeclaration(ensureModifiers(param), elem.name, + /*questionToken*/ undefined, ensureType(elem, /*type*/ undefined), /*initializer*/ undefined)); } return elems; @@ -110680,9 +110680,9 @@ var ts; // Prevents other classes with the same public members from being used in place of the current class var privateIdentifier = hasPrivateIdentifier ? [ factory.createPropertyDeclaration( - /*modifiers*/ undefined, factory.createPrivateIdentifier("#private"), - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, factory.createPrivateIdentifier("#private"), + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined) ] : undefined; var memberNodes = ts.concatenate(ts.concatenate(privateIdentifier, parameterProperties), ts.visitNodes(input.members, visitDeclarationSubtree)); @@ -112013,7 +112013,7 @@ var ts; sourceMapDir = ts.combinePaths(host.getCommonSourceDirectory(), sourceMapDir); return encodeURI(ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizePath(filePath)), // get the relative sourceMapDir path based on jsFilePath ts.combinePaths(sourceMapDir, sourceMapFile), // this is where user expects to see sourceMap - host.getCurrentDirectory(), host.getCanonicalFileName, + host.getCurrentDirectory(), host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ true)); } else { @@ -112147,7 +112147,7 @@ var ts; if (declarationMapPath && ts.computeSignature(declarationMapText, createHash) !== buildInfo.bundle.dts.mapHash) return declarationMapPath; var buildInfoDirectory = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(buildInfoPath, host.getCurrentDirectory())); - var ownPrependInput = ts.createInputFiles(jsFileText, declarationText, sourceMapFilePath, sourceMapText, declarationMapPath, declarationMapText, jsFilePath, declarationFilePath, buildInfoPath, buildInfo, + var ownPrependInput = ts.createInputFiles(jsFileText, declarationText, sourceMapFilePath, sourceMapText, declarationMapPath, declarationMapText, jsFilePath, declarationFilePath, buildInfoPath, buildInfo, /*onlyOwnText*/ true); var outputFiles = []; var prependNodes = ts.createPrependNodes(config.projectReferences, getCommandLine, function (f) { return host.readFile(f); }); @@ -112220,7 +112220,7 @@ var ts; getFileIncludeReasons: ts.notImplemented, createHash: createHash, }; - emitFiles(ts.notImplementedResolver, emitHost, + emitFiles(ts.notImplementedResolver, emitHost, /*targetSourceFile*/ undefined, ts.getTransformers(config.options, customTransformers)); return outputFiles; } @@ -115240,8 +115240,8 @@ var ts; textRange.pos = modifiers.pos; if (pos === modifiers.length - 1) textRange.end = modifiers.end; - emitNodeListItems(emit, node, modifiers, lastMode === "modifiers" ? 2359808 /* ListFormat.Modifiers */ : 2146305 /* ListFormat.Decorators */, - /*parenthesizerRule*/ undefined, start, pos - start, + emitNodeListItems(emit, node, modifiers, lastMode === "modifiers" ? 2359808 /* ListFormat.Modifiers */ : 2146305 /* ListFormat.Decorators */, + /*parenthesizerRule*/ undefined, start, pos - start, /*hasTrailingComma*/ false, textRange); start = pos; lastMode = mode; @@ -116638,7 +116638,7 @@ var ts; return; } var _a = ts.getLineAndCharacterOfPosition(sourceMapSource, pos), sourceLine = _a.line, sourceCharacter = _a.character; - sourceMapGenerator.addMapping(writer.getLine(), writer.getColumn(), sourceMapSourceIndex, sourceLine, sourceCharacter, + sourceMapGenerator.addMapping(writer.getLine(), writer.getColumn(), sourceMapSourceIndex, sourceLine, sourceCharacter, /*nameIndex*/ undefined); } function emitSourcePos(source, pos) { @@ -118995,10 +118995,10 @@ var ts; ts.Debug.assert(!ts.outFile(options)); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emitBuildInfo", {}, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeEmit"); - var emitResult = ts.emitFiles(ts.notImplementedResolver, getEmitHost(writeFileCallback), - /*targetSourceFile*/ undefined, - /*transformers*/ ts.noTransformers, - /*emitOnlyDtsFiles*/ false, + var emitResult = ts.emitFiles(ts.notImplementedResolver, getEmitHost(writeFileCallback), + /*targetSourceFile*/ undefined, + /*transformers*/ ts.noTransformers, + /*emitOnlyDtsFiles*/ false, /*onlyBuildInfo*/ true); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); @@ -119069,7 +119069,7 @@ var ts; // checked is to not pass the file to getEmitResolver. var emitResolver = getTypeChecker().getEmitResolver(ts.outFile(options) ? undefined : sourceFile, cancellationToken); ts.performance.mark("beforeEmit"); - var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, ts.getTransformers(options, customTransformers, emitOnlyDtsFiles), emitOnlyDtsFiles, + var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, ts.getTransformers(options, customTransformers, emitOnlyDtsFiles), emitOnlyDtsFiles, /*onlyBuildInfo*/ false, forceDtsEmit); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); @@ -119989,8 +119989,8 @@ var ts; } function processReferencedFiles(file, isDefaultLib) { ts.forEach(file.referencedFiles, function (ref, index) { - processSourceFile(resolveTripleslashReference(ref.fileName, file.fileName), isDefaultLib, - /*ignoreNoDefaultLib*/ false, + processSourceFile(resolveTripleslashReference(ref.fileName, file.fileName), isDefaultLib, + /*ignoreNoDefaultLib*/ false, /*packageId*/ undefined, { kind: ts.FileIncludeKind.ReferenceFile, file: file.path, index: index, }); }); } @@ -120145,8 +120145,8 @@ var ts; modulesWithElidedImports.set(file.path, true); } else if (shouldAddFile) { - findSourceFile(resolvedFileName, - /*isDefaultLib*/ false, + findSourceFile(resolvedFileName, + /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, { kind: ts.FileIncludeKind.Import, file: file.path, index: index, }, resolution.packageId); } if (isFromNodeModulesSearch) { @@ -121361,9 +121361,9 @@ var ts; if (latestSignature !== prevSignature) { updateExportedModules(state, sourceFile, sourceFiles[0].exportedModulesFromDeclarationEmit); } - }, cancellationToken, - /*emitOnlyDtsFiles*/ true, - /*customTransformers*/ undefined, + }, cancellationToken, + /*emitOnlyDtsFiles*/ true, + /*customTransformers*/ undefined, /*forceDtsEmit*/ true); } // Default is to use file version as signature @@ -122392,11 +122392,11 @@ var ts; return undefined; } var affected_1 = ts.Debug.checkDefined(state.program); - return toAffectedFileEmitResult(state, + return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file - affected_1.emitBuildInfo(writeFile || ts.maybeBind(host, host.writeFile), cancellationToken), affected_1, 1 /* BuilderFileEmit.Full */, - /*isPendingEmitFile*/ false, + affected_1.emitBuildInfo(writeFile || ts.maybeBind(host, host.writeFile), cancellationToken), affected_1, 1 /* BuilderFileEmit.Full */, + /*isPendingEmitFile*/ false, /*isBuildInfoEmit*/ true); } (affected = pendingAffectedFile.affectedFile, emitKind = pendingAffectedFile.emitKind); @@ -122409,7 +122409,7 @@ var ts; affected = program; } } - return toAffectedFileEmitResult(state, + return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, ts.getEmitDeclarations(state.compilerOptions) ? @@ -122865,11 +122865,11 @@ var ts; var resolvedModuleNames = new ts.Map(); var perDirectoryResolvedModuleNames = ts.createCacheWithRedirects(); var nonRelativeModuleNameCache = ts.createCacheWithRedirects(); - var moduleResolutionCache = ts.createModuleResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, + var moduleResolutionCache = ts.createModuleResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, /*options*/ undefined, perDirectoryResolvedModuleNames, nonRelativeModuleNameCache); var resolvedTypeReferenceDirectives = new ts.Map(); var perDirectoryResolvedTypeReferenceDirectives = ts.createCacheWithRedirects(); - var typeReferenceDirectiveResolutionCache = ts.createTypeReferenceDirectiveResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, + var typeReferenceDirectiveResolutionCache = ts.createTypeReferenceDirectiveResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, /*options*/ undefined, moduleResolutionCache.getPackageJsonInfoCache(), perDirectoryResolvedTypeReferenceDirectives); /** * These are the extensions that failed lookup files will have by default, @@ -124068,7 +124068,7 @@ var ts; var getCanonicalFileName = ts.hostGetCanonicalFileName(host); var allFileNames = new ts.Map(); var importedFileFromNodeModules = false; - forEachFileNameOfModule(importingFileName, importedFileName, host, + forEachFileNameOfModule(importingFileName, importedFileName, host, /*preferSymlinks*/ true, function (path, isRedirect) { var isInNodeModules = ts.pathContainsNodeModules(path); allFileNames.set(path, { path: getCanonicalFileName(path), isRedirect: isRedirect, isInNodeModules: isInNodeModules }); @@ -125327,7 +125327,7 @@ var ts; // Cache for the module resolution var resolutionCache = ts.createResolutionCache(compilerHost, configFileName ? ts.getDirectoryPath(ts.getNormalizedAbsolutePath(configFileName, currentDirectory)) : - currentDirectory, + currentDirectory, /*logChangesWhenResolvingModule*/ false); // Resolve module using host module resolution strategy if provided otherwise use resolution cache to resolve module names compilerHost.resolveModuleNames = host.resolveModuleNames ? @@ -125719,7 +125719,7 @@ var ts; // Ignore the file absent errors var onUnRecoverableConfigFileDiagnostic = parseConfigFileHost.onUnRecoverableConfigFileDiagnostic; parseConfigFileHost.onUnRecoverableConfigFileDiagnostic = ts.noop; - var parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configFileName, + var parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configFileName, /*optionsToExtend*/ undefined, parseConfigFileHost, extendedConfigCache || (extendedConfigCache = new ts.Map()), watchOptionsToExtend); parseConfigFileHost.onUnRecoverableConfigFileDiagnostic = onUnRecoverableConfigFileDiagnostic; return parsedCommandLine; @@ -126520,9 +126520,9 @@ var ts; var declDiagnostics; var reportDeclarationDiagnostics = function (d) { return (declDiagnostics || (declDiagnostics = [])).push(d); }; var outputFiles = []; - var emitResult = ts.emitFilesAndReportErrors(program, reportDeclarationDiagnostics, - /*write*/ undefined, - /*reportSummary*/ undefined, function (name, text, writeByteOrderMark, _onError, _sourceFiles, data) { return outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark, buildInfo: data === null || data === void 0 ? void 0 : data.buildInfo }); }, cancellationToken, + var emitResult = ts.emitFilesAndReportErrors(program, reportDeclarationDiagnostics, + /*write*/ undefined, + /*reportSummary*/ undefined, function (name, text, writeByteOrderMark, _onError, _sourceFiles, data) { return outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark, buildInfo: data === null || data === void 0 ? void 0 : data.buildInfo }); }, cancellationToken, /*emitOnlyDts*/ false, customTransformers || ((_c = (_b = state.host).getCustomTransformers) === null || _c === void 0 ? void 0 : _c.call(_b, project))).emitResult; // Don't emit .d.ts if there are decl file errors if (declDiagnostics) { @@ -129688,7 +129688,7 @@ var ts; return n; } return ts.firstDefined(n.getChildren(sourceFile), function (child) { - var shouldDiveInChildNode = + var shouldDiveInChildNode = // previous token is enclosed somewhere in the child (child.pos <= previousToken.pos && child.end > previousToken.end) || // previous token ends exactly at the beginning of child @@ -130333,7 +130333,7 @@ var ts; return ts.factory.createImportDeclaration( /*modifiers*/ undefined, defaultImport || namedImports ? ts.factory.createImportClause(!!isTypeOnly, defaultImport, namedImports && namedImports.length ? ts.factory.createNamedImports(namedImports) : undefined) - : undefined, typeof moduleSpecifier === "string" ? makeStringLiteral(moduleSpecifier, quotePreference) : moduleSpecifier, + : undefined, typeof moduleSpecifier === "string" ? makeStringLiteral(moduleSpecifier, quotePreference) : moduleSpecifier, /*assertClause*/ undefined); } ts.makeImport = makeImport; @@ -131967,7 +131967,7 @@ var ts; } var getCanonicalFileName = ts.hostGetCanonicalFileName(moduleSpecifierResolutionHost); var globalTypingsCache = (_a = moduleSpecifierResolutionHost.getGlobalTypingsCacheLocation) === null || _a === void 0 ? void 0 : _a.call(moduleSpecifierResolutionHost); - var hasImportablePath = !!ts.moduleSpecifiers.forEachFileNameOfModule(from.fileName, to.fileName, moduleSpecifierResolutionHost, + var hasImportablePath = !!ts.moduleSpecifiers.forEachFileNameOfModule(from.fileName, to.fileName, moduleSpecifierResolutionHost, /*preferSymlinks*/ false, function (toPath) { var toFile = program.getSourceFile(toPath); // Determine to import using toPath only if toPath is what we were looking at @@ -133433,7 +133433,7 @@ var ts; return convertPathCompletions(completion.paths); case 1 /* StringLiteralCompletionKind.Properties */: { var entries = ts.createSortedArray(); - Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ScriptTarget.ESNext */, log, 4 /* CompletionKind.String */, preferences, options, + Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ScriptTarget.ESNext */, log, 4 /* CompletionKind.String */, preferences, options, /*formatContext*/ undefined); // Target will not be used, so arbitrary return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan: optionalReplacementSpan, entries: entries }; } @@ -134470,7 +134470,7 @@ var ts; return undefined; var lowerCaseTokenText = location.text.toLowerCase(); var exportMap = ts.getExportInfoMap(file, host, program, preferences, cancellationToken); - var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, ts.codefix.createImportSpecifierResolver(file, program, host, preferences), program, location.getStart(), preferences, + var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, ts.codefix.createImportSpecifierResolver(file, program, host, preferences), program, location.getStart(), preferences, /*isForImportStatementCompletion*/ false, ts.isValidTypeOnlyAliasUseSite(location), function (context) { var entries = ts.mapDefined(previousResponse.entries, function (entry) { var _a; @@ -134558,7 +134558,7 @@ var ts; if (isChecked && !isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* KeywordCompletionFilters.None */) { return undefined; } - var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, + var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); if (keywordFilters !== 0 /* KeywordCompletionFilters.None */) { for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) { @@ -134893,7 +134893,7 @@ var ts; var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span; var isAbstract = !!(presentModifiers & 128 /* ModifierFlags.Abstract */); var completionNodes = []; - ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder, + ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder, // `addNewNodeForMemberSymbol` calls this callback function for each new member node // it adds for the given member symbol. // We store these member nodes in the `completionNodes` array. @@ -135009,7 +135009,7 @@ var ts; // The `labelDetails.detail` will be displayed right beside the method name, // so we drop the name (and modifiers) from the signature. var methodSignature = ts.factory.createMethodSignature( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*name*/ "", method.questionToken, method.typeParameters, method.parameters, method.type); var labelDetails = { detail: signaturePrinter.printNode(4 /* EmitHint.Unspecified */, methodSignature, sourceFile) }; return { isSnippet: isSnippet, insertText: insertText, labelDetails: labelDetails }; @@ -135064,14 +135064,14 @@ var ts; } var parameters = typeNode.parameters.map(function (typedParam) { return ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, typedParam.questionToken, + /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, typedParam.questionToken, /*type*/ undefined, typedParam.initializer); }); return ts.factory.createMethodDeclaration( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, name, - /*questionToken*/ undefined, - /*typeParameters*/ undefined, parameters, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, name, + /*questionToken*/ undefined, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } default: @@ -135124,8 +135124,8 @@ var ts; var formatOptions = ts.getFormatCodeSettingsForWriting(formatContext, sourceFile); var changes = ts.flatMap(list, function (node) { var nodeWithPos = ts.textChanges.assignPositionsToNode(node); - return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile, sourceFile.languageVariant, - /* indentation */ 0, + return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile, sourceFile.languageVariant, + /* indentation */ 0, /* delta */ 0, __assign(__assign({}, formatContext), { options: formatOptions })); }); var allChanges = escapes @@ -136284,7 +136284,7 @@ var ts; var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host); var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host); resolvingModuleSpecifiers("collectAutoImports", host, importSpecifierResolver || (importSpecifierResolver = ts.codefix.createImportSpecifierResolver(sourceFile, program, host, preferences)), program, position, preferences, !!importCompletionNode, ts.isValidTypeOnlyAliasUseSite(location), function (context) { - exportInfo.search(sourceFile.path, + exportInfo.search(sourceFile.path, /*preferCapitalized*/ isRightOfOpenTag, function (symbolName, targetFlags) { if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings()))) return false; @@ -136384,8 +136384,8 @@ var ts; if (!isObjectLiteralMethodSymbol(member)) { return; } - var displayName = getCompletionEntryDisplayNameForSymbol(member, ts.getEmitScriptTarget(compilerOptions), - /*origin*/ undefined, 0 /* CompletionKind.ObjectPropertyDeclaration */, + var displayName = getCompletionEntryDisplayNameForSymbol(member, ts.getEmitScriptTarget(compilerOptions), + /*origin*/ undefined, 0 /* CompletionKind.ObjectPropertyDeclaration */, /*jsxIdentifierExpected*/ false); if (!displayName) { return; @@ -137112,7 +137112,7 @@ var ts; var symbolId = ts.getSymbolId(symbol); var origin = symbolToOriginInfoMap === null || symbolToOriginInfoMap === void 0 ? void 0 : symbolToOriginInfoMap[i]; var target = ts.getEmitScriptTarget(compilerOptions); - var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* CompletionKind.ObjectPropertyDeclaration */, + var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* CompletionKind.ObjectPropertyDeclaration */, /*jsxIdentifierExpected*/ false); if (displayName) { var originalSortText = (_a = symbolToSortTextMap[symbolId]) !== null && _a !== void 0 ? _a : Completions.SortText.LocationPriority; @@ -140945,7 +140945,7 @@ var ts; } } result.push(base || root || sym); - }, + }, // when try to find implementation, implementations is true, and not allowed to find base class /*allowBaseTypes*/ function () { return !implementations; }); return result; @@ -140953,7 +140953,7 @@ var ts; /** * @param allowBaseTypes return true means it would try to find in base class or interface. */ - function forEachRelatedSymbol(symbol, location, checker, isForRenamePopulateSearchSymbolSet, onlyIncludeBindingElementAtReferenceLocation, + function forEachRelatedSymbol(symbol, location, checker, isForRenamePopulateSearchSymbolSet, onlyIncludeBindingElementAtReferenceLocation, /** * @param baseSymbol This symbol means one property/mehtod from base class or interface when it is not null or undefined, */ @@ -141095,7 +141095,7 @@ var ts; } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; - return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, /*isForRenamePopulateSearchSymbolSet*/ false, + return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, /*isForRenamePopulateSearchSymbolSet*/ false, /*onlyIncludeBindingElementAtReferenceLocation*/ state.options.use !== 2 /* FindReferencesUse.Rename */ || !!state.options.providePrefixAndSuffixTextForRename, function (sym, rootSymbol, baseSymbol, kind) { // check whether the symbol used to search itself is just the searched one. if (baseSymbol) { @@ -141108,7 +141108,7 @@ var ts; // For a base type, use the symbol for the derived type. For a synthetic (e.g. union) property, use the union symbol. ? { symbol: rootSymbol && !(ts.getCheckFlags(sym) & 6 /* CheckFlags.Synthetic */) ? rootSymbol : sym, kind: kind } : undefined; - }, + }, /*allowBaseTypes*/ function (rootSymbol) { return !(search.parents && !search.parents.some(function (parent) { return explicitlyInheritsFrom(rootSymbol.parent, parent, state.inheritsFromCache, checker); })); }); @@ -143489,8 +143489,8 @@ var ts; } } lastANode = a.node = ts.setTextRange(ts.factory.createClassDeclaration( - /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), - /* typeParameters */ undefined, + /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), + /* typeParameters */ undefined, /* heritageClauses */ undefined, []), a.node); } else { @@ -143513,8 +143513,8 @@ var ts; if (!a.additionalNodes) a.additionalNodes = []; a.additionalNodes.push(ts.setTextRange(ts.factory.createClassDeclaration( - /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), - /* typeParameters */ undefined, + /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), + /* typeParameters */ undefined, /* heritageClauses */ undefined, []), b.node)); } return true; @@ -144021,8 +144021,8 @@ var ts; else if (hasModuleDeclarationMatchingSpecifier(sourceFile, moduleSpecifier)) { // If we’re in a declaration file, it’s safe to remove the import clause from it if (sourceFile.isDeclarationFile) { - usedImports.push(ts.factory.createImportDeclaration(importDecl.modifiers, - /*importClause*/ undefined, moduleSpecifier, + usedImports.push(ts.factory.createImportDeclaration(importDecl.modifiers, + /*importClause*/ undefined, moduleSpecifier, /*assertClause*/ undefined)); } // If we’re not in a declaration file, we can’t remove the import clause even though @@ -146115,7 +146115,7 @@ var ts; var type = declaration.symbol && typeChecker.getTypeOfSymbolAtLocation(declaration.symbol, declaration); var callSignatures = type && type.getCallSignatures(); if (callSignatures && callSignatures.length) { - return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures, callSignatures[0], argumentInfo, sourceFile, typeChecker, + return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures, callSignatures[0], argumentInfo, sourceFile, typeChecker, /*useFullPrefix*/ true); }); } }); @@ -149639,7 +149639,7 @@ var ts; // edit in the middle of a token where the range ended, so if we have a non-contiguous // pair here, we're already done and we can ignore it. var parent = ((_b = ts.findPrecedingToken(tokenInfo.end, sourceFile, enclosingNode)) === null || _b === void 0 ? void 0 : _b.parent) || previousParent; - processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent, + processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent, /*dynamicIndentation*/ undefined); } } @@ -150078,7 +150078,7 @@ var ts; var lineAction = 0 /* LineAction.None */; if (rules) { // Apply rules in reverse order so that higher priority rules (which are first in the array) - // win in a conflict with lower priority rules. + // win a conflict with lower priority rules. ts.forEachRight(rules, function (rule) { lineAction = applyRuleEdits(rule, previousItem, previousStartLine, currentItem, currentStartLine); if (dynamicIndentation) { @@ -152679,8 +152679,8 @@ var ts; var sourceFile = context.sourceFile; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { var exportDeclaration = ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([]), + /*modifiers*/ undefined, + /*isTypeOnly*/ false, ts.factory.createNamedExports([]), /*moduleSpecifier*/ undefined); changes.insertNodeAtEndOfScope(sourceFile, sourceFile, exportDeclaration); }); @@ -153468,9 +153468,9 @@ var ts; } function transformJSDocIndexSignature(node) { var index = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "n" : "s", - /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "number" : "string", []), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "n" : "s", + /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "number" : "string", []), /*initializer*/ undefined); var indexSignature = ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(/*modifiers*/ undefined, [index], node.typeArguments[1])]); ts.setEmitFlags(indexSignature, 1 /* EmitFlags.SingleLine */); @@ -153614,7 +153614,7 @@ var ts; ? assignmentBinaryExpression.parent : assignmentBinaryExpression; changes.delete(sourceFile, nodeToDelete); if (!assignmentExpr) { - members.push(ts.factory.createPropertyDeclaration(modifiers, symbol.name, /*questionToken*/ undefined, + members.push(ts.factory.createPropertyDeclaration(modifiers, symbol.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); return; } @@ -153663,7 +153663,7 @@ var ts; } function createFunctionExpressionMember(members, functionExpression, name) { var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 131 /* SyntaxKind.AsyncKeyword */)); - var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, + var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, functionExpression.parameters, /*type*/ undefined, functionExpression.body); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); members.push(method); @@ -153681,7 +153681,7 @@ var ts; bodyBlock = ts.factory.createBlock([ts.factory.createReturnStatement(arrowFunctionBody)]); } var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(arrowFunction, 131 /* SyntaxKind.AsyncKeyword */)); - var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, + var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, arrowFunction.parameters, /*type*/ undefined, bodyBlock); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); members.push(method); @@ -153698,7 +153698,7 @@ var ts; memberElements.unshift(ts.factory.createConstructorDeclaration(/*modifiers*/ undefined, initializer.parameters, initializer.body)); } var modifiers = getModifierKindFromSource(node.parent.parent, 93 /* SyntaxKind.ExportKeyword */); - var cls = ts.factory.createClassDeclaration(modifiers, node.name, + var cls = ts.factory.createClassDeclaration(modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place return cls; @@ -153709,7 +153709,7 @@ var ts; memberElements.unshift(ts.factory.createConstructorDeclaration(/*modifiers*/ undefined, node.parameters, node.body)); } var modifiers = getModifierKindFromSource(node, 93 /* SyntaxKind.ExportKeyword */); - var cls = ts.factory.createClassDeclaration(modifiers, node.name, + var cls = ts.factory.createClassDeclaration(modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place return cls; @@ -154067,8 +154067,8 @@ var ts; if (continuationArgName && varDeclIdentifier && isSynthBindingPattern(continuationArgName)) { statements.push(ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ - ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingPattern(continuationArgName)), - /*exclamationToken*/ undefined, + ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingPattern(continuationArgName)), + /*exclamationToken*/ undefined, /*type*/ undefined, varDeclIdentifier) ], 2 /* NodeFlags.Const */))); } @@ -154173,7 +154173,7 @@ var ts; return [ ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ - ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingName(variableName)), + ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingName(variableName)), /*exclamationToken*/ undefined, typeAnnotation, rightHandSide) ], 2 /* NodeFlags.Const */)) ]; @@ -154937,7 +154937,7 @@ var ts; } function makeExportDeclaration(exportSpecifiers, moduleSpecifier) { return ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, exportSpecifiers && ts.factory.createNamedExports(exportSpecifiers), moduleSpecifier === undefined ? undefined : ts.factory.createStringLiteral(moduleSpecifier)); } function convertedImports(newImports, useSitesToUnqualify) { @@ -155025,12 +155025,12 @@ var ts; changes.insertModifierBefore(context.sourceFile, 152 /* SyntaxKind.TypeKeyword */, exportClause); } else { - var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.modifiers, - /*isTypeOnly*/ false, ts.factory.updateNamedExports(exportClause, ts.filter(exportClause.elements, function (e) { return !ts.contains(typeExportSpecifiers, e); })), exportDeclaration.moduleSpecifier, + var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.modifiers, + /*isTypeOnly*/ false, ts.factory.updateNamedExports(exportClause, ts.filter(exportClause.elements, function (e) { return !ts.contains(typeExportSpecifiers, e); })), exportDeclaration.moduleSpecifier, /*assertClause*/ undefined); var typeExportDeclaration = ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ true, ts.factory.createNamedExports(typeExportSpecifiers), exportDeclaration.moduleSpecifier, + /*modifiers*/ undefined, + /*isTypeOnly*/ true, ts.factory.createNamedExports(typeExportSpecifiers), exportDeclaration.moduleSpecifier, /*assertClause*/ undefined); changes.replaceNode(context.sourceFile, exportDeclaration, valueExportDeclaration, { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.IncludeAll, @@ -155091,10 +155091,10 @@ var ts; // `import type foo, { Bar }` is not allowed, so move `foo` to new declaration if (importClause.name && importClause.namedBindings) { changes.deleteNodeRangeExcludingEnd(context.sourceFile, importClause.name, importDeclaration.importClause.namedBindings); - changes.insertNodeBefore(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, + changes.insertNodeBefore(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, /*modifiers*/ undefined, ts.factory.createImportClause( - /*isTypeOnly*/ true, importClause.name, - /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, + /*isTypeOnly*/ true, importClause.name, + /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, /*assertClause*/ undefined)); } } @@ -155144,9 +155144,9 @@ var ts; function doChange(changes, sourceFile, _a) { var container = _a.container, typeNode = _a.typeNode, constraint = _a.constraint, name = _a.name; changes.replaceNode(sourceFile, container, ts.factory.createMappedTypeNode( - /*readonlyToken*/ undefined, ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, ts.factory.createTypeReferenceNode(constraint)), - /*nameType*/ undefined, - /*questionToken*/ undefined, typeNode, + /*readonlyToken*/ undefined, ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, ts.factory.createTypeReferenceNode(constraint)), + /*nameType*/ undefined, + /*questionToken*/ undefined, typeNode, /*members*/ undefined)); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -155263,7 +155263,7 @@ var ts; return undefined; var fixes = info.fixes, symbolName = info.symbolName, errorIdentifierText = info.errorIdentifierText; var quotePreference = ts.getQuotePreference(sourceFile, preferences); - return fixes.map(function (fix) { return codeActionForFix(context, sourceFile, symbolName, fix, + return fixes.map(function (fix) { return codeActionForFix(context, sourceFile, symbolName, fix, /*includeSymbolNameInDescription*/ symbolName !== errorIdentifierText, quotePreference, program.getCompilerOptions()); }); }, fixIds: [importFixId], @@ -155450,7 +155450,7 @@ var ts; var importMap = createExistingImportMap(program.getTypeChecker(), importingFile, program.getCompilerOptions()); return { getModuleSpecifierForBestExportInfo: getModuleSpecifierForBestExportInfo }; function getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, fromCacheOnly) { - var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, + var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, /*useRequire*/ false, program, importingFile, host, preferences, importMap, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; var result = getBestFix(fixes, importingFile, program, packageJsonImportFilter, host); return result && __assign(__assign({}, result), { computedWithoutCacheCount: computedWithoutCacheCount }); @@ -155486,7 +155486,7 @@ var ts; var fix = ts.Debug.checkDefined(getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, program, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, useRequire, host, preferences)); return { moduleSpecifier: fix.moduleSpecifier, - codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, + codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, /*includeSymbolNameInDescription*/ false, ts.getQuotePreference(sourceFile, preferences), compilerOptions)) }; } @@ -155557,7 +155557,7 @@ var ts; return !moduleFile || ts.isImportableFile(program, importingFile, moduleFile, preferences, /*packageJsonFilter*/ undefined, getModuleSpecifierResolutionHost(isFromPackageJson), (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host)); } } - function getImportFixes(exportInfos, useNamespaceInfo, + function getImportFixes(exportInfos, useNamespaceInfo, /** undefined only for missing JSX namespace */ isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences, importMap, fromCacheOnly) { if (importMap === void 0) { importMap = createExistingImportMap(program.getTypeChecker(), sourceFile, program.getCompilerOptions()); } @@ -156182,7 +156182,7 @@ var ts; changes.insertNodeAt(sourceFile, clause.getStart(sourceFile), ts.factory.createIdentifier(defaultImport.name), { suffix: ", " }); } if (namedImports.length) { - var newSpecifiers = ts.stableSort(namedImports.map(function (namedImport) { return ts.factory.createImportSpecifier((!clause.isTypeOnly || promoteFromTypeOnly) && needsTypeOnly(namedImport), + var newSpecifiers = ts.stableSort(namedImports.map(function (namedImport) { return ts.factory.createImportSpecifier((!clause.isTypeOnly || promoteFromTypeOnly) && needsTypeOnly(namedImport), /*propertyName*/ undefined, ts.factory.createIdentifier(namedImport.name)); }), ts.OrganizeImports.compareImportOrExportSpecifiers); if ((existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) && ts.OrganizeImports.importSpecifiersAreSorted(existingSpecifiers)) { for (var _b = 0, newSpecifiers_1 = newSpecifiers; _b < newSpecifiers_1.length; _b++) { @@ -156256,7 +156256,7 @@ var ts; var topLevelTypeOnly_1 = (!defaultImport || needsTypeOnly(defaultImport)) && ts.every(namedImports, needsTypeOnly); statements = ts.combine(statements, ts.makeImport(defaultImport && ts.factory.createIdentifier(defaultImport.name), namedImports === null || namedImports === void 0 ? void 0 : namedImports.map(function (_a) { var addAsTypeOnly = _a.addAsTypeOnly, name = _a.name; - return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */, + return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */, /*propertyName*/ undefined, ts.factory.createIdentifier(name)); }), moduleSpecifier, quotePreference, topLevelTypeOnly_1)); } @@ -156265,8 +156265,8 @@ var ts; ? ts.factory.createImportEqualsDeclaration( /*modifiers*/ undefined, needsTypeOnly(namespaceLikeImport), ts.factory.createIdentifier(namespaceLikeImport.name), ts.factory.createExternalModuleReference(quotedModuleSpecifier)) : ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(needsTypeOnly(namespaceLikeImport), - /*name*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier, + /*modifiers*/ undefined, ts.factory.createImportClause(needsTypeOnly(namespaceLikeImport), + /*name*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier, /*assertClause*/ undefined); statements = ts.combine(statements, declaration); } @@ -156297,8 +156297,8 @@ var ts; function createConstEqualsRequireDeclaration(name, quotedModuleSpecifier) { return ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ - ts.factory.createVariableDeclaration(typeof name === "string" ? ts.factory.createIdentifier(name) : name, - /*exclamationToken*/ undefined, + ts.factory.createVariableDeclaration(typeof name === "string" ? ts.factory.createIdentifier(name) : name, + /*exclamationToken*/ undefined, /*type*/ undefined, ts.factory.createCallExpression(ts.factory.createIdentifier("require"), /*typeArguments*/ undefined, [quotedModuleSpecifier])) ], 2 /* NodeFlags.Const */)); } @@ -157018,7 +157018,7 @@ var ts; if (ts.hasSyntacticModifier(declaration, 256 /* ModifierFlags.Async */)) { exprType = checker.createPromiseType(exprType); } - var newSig = checker.createSignature(declaration, sig.typeParameters, sig.thisParameter, sig.parameters, exprType, + var newSig = checker.createSignature(declaration, sig.typeParameters, sig.thisParameter, sig.parameters, exprType, /*typePredicate*/ undefined, sig.minArgumentCount, sig.flags); exprType = checker.createAnonymousType( /*symbol*/ undefined, ts.createSymbolTable(), [newSig], [], []); @@ -157343,9 +157343,9 @@ var ts; } else if (ts.isPrivateIdentifier(token)) { var property = ts.factory.createPropertyDeclaration( - /*modifiers*/ undefined, tokenName, - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, tokenName, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); var lastProp = getNodeToInsertPropertyAfter(classDeclaration); if (lastProp) { @@ -157425,9 +157425,9 @@ var ts; // Index signatures cannot have the static modifier. var stringTypeNode = ts.factory.createKeywordTypeNode(150 /* SyntaxKind.StringKeyword */); var indexingParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, "x", - /*questionToken*/ undefined, stringTypeNode, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, "x", + /*questionToken*/ undefined, stringTypeNode, /*initializer*/ undefined); var indexSignature = ts.factory.createIndexSignature( /*modifiers*/ undefined, [indexingParameter], typeNode); @@ -160187,7 +160187,7 @@ var ts; importSymbols(importAdder, importableReference.symbols); } } - addClassElement(ts.factory.createPropertyDeclaration(modifiers, name, optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, + addClassElement(ts.factory.createPropertyDeclaration(modifiers, name, optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; case 172 /* SyntaxKind.GetAccessor */: @@ -160361,10 +160361,10 @@ var ts; : checker.typeToTypeNode(contextualType, contextNode, /*flags*/ undefined, tracker); switch (kind) { case 169 /* SyntaxKind.MethodDeclaration */: - return ts.factory.createMethodDeclaration(modifiers, asteriskToken, name, + return ts.factory.createMethodDeclaration(modifiers, asteriskToken, name, /*questionToken*/ undefined, typeParameters, parameters, type, createStubbedMethodBody(quotePreference)); case 168 /* SyntaxKind.MethodSignature */: - return ts.factory.createMethodSignature(modifiers, name, + return ts.factory.createMethodSignature(modifiers, name, /*questionToken*/ undefined, typeParameters, parameters, type === undefined ? ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */) : type); case 256 /* SyntaxKind.FunctionDeclaration */: return ts.factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); @@ -160499,11 +160499,11 @@ var ts; var parameterNameCount = parameterNameCounts.get(parameterName); parameterNameCounts.set(parameterName, (parameterNameCount || 0) + 1); var newParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, - /*name*/ parameterName + (parameterNameCount || ""), - /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, - /*type*/ inJs ? undefined : (types === null || types === void 0 ? void 0 : types[i]) || ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ parameterName + (parameterNameCount || ""), + /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, + /*type*/ inJs ? undefined : (types === null || types === void 0 ? void 0 : types[i]) || ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), /*initializer*/ undefined); parameters.push(newParameter); } @@ -160532,12 +160532,12 @@ var ts; var parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, /* types */ undefined, minArgumentCount, /*inJs*/ false); if (someSigHasRestParameter) { var restParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", - /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)), + /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", + /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)), /*initializer*/ undefined); parameters.push(restParameter); } - return createStubbedMethod(modifiers, name, optional, + return createStubbedMethod(modifiers, name, optional, /*typeParameters*/ undefined, parameters, getReturnTypeFromSignatures(signatures, checker, context, enclosingDeclaration), quotePreference, body); } function getReturnTypeFromSignatures(signatures, checker, context, enclosingDeclaration) { @@ -160547,17 +160547,17 @@ var ts; } } function createStubbedMethod(modifiers, name, optional, typeParameters, parameters, returnType, quotePreference, body) { - return ts.factory.createMethodDeclaration(modifiers, + return ts.factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, name, optional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeParameters, parameters, returnType, body || createStubbedMethodBody(quotePreference)); } function createStubbedMethodBody(quotePreference) { return createStubbedBody(ts.Diagnostics.Method_not_implemented.message, quotePreference); } function createStubbedBody(text, quotePreference) { - return ts.factory.createBlock([ts.factory.createThrowStatement(ts.factory.createNewExpression(ts.factory.createIdentifier("Error"), - /*typeArguments*/ undefined, + return ts.factory.createBlock([ts.factory.createThrowStatement(ts.factory.createNewExpression(ts.factory.createIdentifier("Error"), + /*typeArguments*/ undefined, // TODO Handle auto quote preference. - [ts.factory.createStringLiteral(text, /*isSingleQuote*/ quotePreference === 0 /* QuotePreference.Single */)]))], + [ts.factory.createStringLiteral(text, /*isSingleQuote*/ quotePreference === 0 /* QuotePreference.Single */)]))], /*multiline*/ true); } codefix.createStubbedBody = createStubbedBody; @@ -160768,7 +160768,7 @@ var ts; } codefix.getAccessorConvertiblePropertyAtPosition = getAccessorConvertiblePropertyAtPosition; function generateGetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { - return ts.factory.createGetAccessorDeclaration(modifiers, accessorName, + return ts.factory.createGetAccessorDeclaration(modifiers, accessorName, /*parameters*/ undefined, // TODO: GH#18217 type, ts.factory.createBlock([ ts.factory.createReturnStatement(createAccessorAccessExpression(fieldName, isStatic, container)) @@ -160776,8 +160776,8 @@ var ts; } function generateSetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { return ts.factory.createSetAccessorDeclaration(modifiers, accessorName, [ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, ts.factory.createIdentifier("value"), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, ts.factory.createIdentifier("value"), /*questionToken*/ undefined, type)], ts.factory.createBlock([ ts.factory.createExpressionStatement(ts.factory.createAssignment(createAccessorAccessExpression(fieldName, isStatic, container), ts.factory.createIdentifier("value"))) ], /*multiLine*/ true)); @@ -160872,7 +160872,7 @@ var ts; if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { // import Bluebird = require("bluebird"); variations.push(createAction(context, sourceFile, node, ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, namespace.name, ts.factory.createExternalModuleReference(node.moduleSpecifier)))); } return variations; @@ -161368,8 +161368,8 @@ var ts; var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); var parameter = ts.first(indexSignature.parameters); var mappedTypeParameter = ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.cast(parameter.name, ts.isIdentifier), parameter.type); - var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */) : undefined, mappedTypeParameter, - /*nameType*/ undefined, indexSignature.questionToken, indexSignature.type, + var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */) : undefined, mappedTypeParameter, + /*nameType*/ undefined, indexSignature.questionToken, indexSignature.type, /*members*/ undefined); var intersectionType = ts.factory.createIntersectionTypeNode(__spreadArray(__spreadArray(__spreadArray([], ts.getAllSuperTypeNodes(container), true), [ mappedIntersectionType @@ -162465,7 +162465,7 @@ var ts; } return ts.factory.createNodeArray([ ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), "args", + /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), "args", /*questionToken*/ undefined, ts.factory.createUnionTypeNode(ts.map(signatureDeclarations, convertSignatureParametersToTuple))) ]); } @@ -163319,9 +163319,9 @@ var ts; typeNode = ts.codefix.typeToAutoImportableTypeNode(checker, importAdder, type, scope, scriptTarget, 1 /* NodeBuilderFlags.NoTruncation */); } var paramDecl = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, - /*name*/ name, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ name, /*questionToken*/ undefined, typeNode); parameters.push(paramDecl); if (usage.usage === 2 /* Usage.Write */) { @@ -163358,16 +163358,16 @@ var ts; if (range.facts & RangeFacts.IsAsyncFunction) { modifiers.push(ts.factory.createModifier(131 /* SyntaxKind.AsyncKeyword */)); } - newFunction = ts.factory.createMethodDeclaration(modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, + newFunction = ts.factory.createMethodDeclaration(modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, /*questionToken*/ undefined, typeParameters, parameters, returnType, body); } else { if (callThis) { parameters.unshift(ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, - /*name*/ "this", - /*questionToken*/ undefined, checker.typeToTypeNode(checker.getTypeAtLocation(range.thisNode), scope, 1 /* NodeBuilderFlags.NoTruncation */), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ "this", + /*questionToken*/ undefined, checker.typeToTypeNode(checker.getTypeAtLocation(range.thisNode), scope, 1 /* NodeBuilderFlags.NoTruncation */), /*initializer*/ undefined)); } newFunction = ts.factory.createFunctionDeclaration(range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(131 /* SyntaxKind.AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); @@ -163421,15 +163421,15 @@ var ts; for (var _i = 0, exposedVariableDeclarations_1 = exposedVariableDeclarations; _i < exposedVariableDeclarations_1.length; _i++) { var variableDeclaration = exposedVariableDeclarations_1[_i]; bindingElements.push(ts.factory.createBindingElement( - /*dotDotDotToken*/ undefined, - /*propertyName*/ undefined, + /*dotDotDotToken*/ undefined, + /*propertyName*/ undefined, /*name*/ ts.getSynthesizedDeepClone(variableDeclaration.name))); // Being returned through an object literal will have widened the type. var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NodeBuilderFlags.NoTruncation */); typeElements.push(ts.factory.createPropertySignature( - /*modifiers*/ undefined, - /*name*/ variableDeclaration.symbol.name, - /*questionToken*/ undefined, + /*modifiers*/ undefined, + /*name*/ variableDeclaration.symbol.name, + /*questionToken*/ undefined, /*type*/ variableType)); sawExplicitType = sawExplicitType || variableDeclaration.type !== undefined; commonNodeFlags = commonNodeFlags & variableDeclaration.parent.flags; @@ -163439,9 +163439,9 @@ var ts; ts.setEmitFlags(typeLiteral, 1 /* EmitFlags.SingleLine */); } newNodes.push(ts.factory.createVariableStatement( - /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(ts.factory.createObjectBindingPattern(bindingElements), - /*exclamationToken*/ undefined, - /*type*/ typeLiteral, + /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(ts.factory.createObjectBindingPattern(bindingElements), + /*exclamationToken*/ undefined, + /*type*/ typeLiteral, /*initializer*/ call)], commonNodeFlags))); } } @@ -163552,7 +163552,7 @@ var ts; modifiers.push(ts.factory.createModifier(124 /* SyntaxKind.StaticKeyword */)); } modifiers.push(ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */)); - var newVariable = ts.factory.createPropertyDeclaration(modifiers, localNameText, + var newVariable = ts.factory.createPropertyDeclaration(modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); var localReference = ts.factory.createPropertyAccessExpression(rangeFacts & RangeFacts.InStaticRegion ? ts.factory.createIdentifier(scope.name.getText()) // TODO: GH#18217 @@ -163667,8 +163667,8 @@ var ts; if ((!firstParameter || (ts.isIdentifier(firstParameter.name) && firstParameter.name.escapedText !== "this"))) { var thisType = checker.getTypeOfSymbolAtLocation(functionSignature.thisParameter, node); parameters.splice(0, 0, ts.factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, "this", + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "this", /* questionToken */ undefined, checker.typeToTypeNode(thisType, scope, 1 /* NodeBuilderFlags.NoTruncation */))); } } @@ -164475,7 +164475,7 @@ var ts; var _a; var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters, typeElements = info.typeElements; var newTypeNode = ts.factory.createInterfaceDeclaration( - /* modifiers */ undefined, name, typeParameters, + /* modifiers */ undefined, name, typeParameters, /* heritageClauses */ undefined, typeElements); ts.setTextRange(newTypeNode, (_a = typeElements[0]) === null || _a === void 0 ? void 0 : _a.parent); changes.insertNodeBefore(file, firstStatement, ts.ignoreSourceNewlines(newTypeNode), /* blankLineBetween */ true); @@ -164805,7 +164805,7 @@ var ts; switch (node.kind) { case 266 /* SyntaxKind.ImportDeclaration */: return ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, /*assertClause*/ undefined); case 265 /* SyntaxKind.ImportEqualsDeclaration */: return ts.factory.createImportEqualsDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, newNamespaceId, ts.factory.createExternalModuleReference(newModuleString)); @@ -165835,14 +165835,14 @@ var ts; objectInitializer = ts.factory.createObjectLiteralExpression(); } var objectParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, objectParameterName, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, objectParameterName, /*questionToken*/ undefined, objectParameterType, objectInitializer); if (hasThisParameter(functionDeclaration.parameters)) { var thisParameter = functionDeclaration.parameters[0]; var newThisParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, thisParameter.name, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, thisParameter.name, /*questionToken*/ undefined, thisParameter.type); ts.suppressLeadingAndTrailingTrivia(newThisParameter.name); ts.copyComments(thisParameter.name, newThisParameter.name); @@ -165855,7 +165855,7 @@ var ts; return ts.factory.createNodeArray([objectParameter]); function createBindingElementFromParameterDeclaration(parameterDeclaration) { var element = ts.factory.createBindingElement( - /*dotDotDotToken*/ undefined, + /*dotDotDotToken*/ undefined, /*propertyName*/ undefined, getParameterName(parameterDeclaration), ts.isRestParameter(parameterDeclaration) && isOptionalParameter(parameterDeclaration) ? ts.factory.createArrayLiteralExpression() : parameterDeclaration.initializer); ts.suppressLeadingAndTrailingTrivia(element); if (parameterDeclaration.initializer && element.initializer) { @@ -167682,7 +167682,7 @@ var ts; result.path = ts.toPath(configFileName, currentDirectory, getCanonicalFileName); result.resolvedPath = result.path; result.originalFileName = result.fileName; - return ts.parseJsonSourceFileConfigFileContent(result, parseConfigHost, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), + return ts.parseJsonSourceFileConfigFileContent(result, parseConfigHost, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), /*optionsToExtend*/ undefined, ts.getNormalizedAbsolutePath(configFileName, currentDirectory)); } function onReleaseParsedCommandLine(configFileName, oldResolvedRef, oldOptions) { @@ -169889,14 +169889,14 @@ var ts; }; LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), + return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSyntacticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getEncodedSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), + return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSemanticClassifications(fileName, ts.createTextSpan(start, length))); }); @@ -170143,7 +170143,7 @@ var ts; }; LanguageServiceShimObject.prototype.getEmitOutputObject = function (fileName) { var _this = this; - return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), + return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), /*returnJson*/ false, function () { return _this.languageService.getEmitOutput(fileName); }, this.logPerformance); }; LanguageServiceShimObject.prototype.toggleLineComment = function (fileName, textRange) { diff --git a/packages/schematics/angular/web-worker/schema.json b/packages/schematics/angular/web-worker/schema.json index 2b8b9ccca97f..2e00bcbf225b 100644 --- a/packages/schematics/angular/web-worker/schema.json +++ b/packages/schematics/angular/web-worker/schema.json @@ -4,7 +4,7 @@ "title": "Angular Web Worker Options Schema", "type": "object", "additionalProperties": false, - "description": "Creates a new, generic web worker definition in the given or default project.", + "description": "Creates a new, generic web worker definition in the given project.", "properties": { "path": { "type": "string", From 31f60f84d3382940413b32609eb916e177cb2883 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 21 Dec 2022 23:35:37 +0000 Subject: [PATCH 1229/1388] build: update ossf/scorecard-action action to v2.1.2 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 79f2acb5afb7..3c9340c973f9 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -30,7 +30,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@937ffa90d79c7d720498178154ad4c7ba1e4ad8c # tag=v2.1.0 + uses: ossf/scorecard-action@e38b1902ae4f44df626f11ba0734b14fb91f8f86 # tag=v2.1.2 with: results_file: results.sarif results_format: sarif From 839d0cb57ad42896578c235354ffb918ea8bb146 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 20 Dec 2022 16:50:59 -0500 Subject: [PATCH 1230/1388] feat(@angular-devkit/build-angular): implement stats-json option for esbuild builder When using the experimental esbuild-based browser application builder, the `--stats-json` option can now be used to create an esbuild metafile named `stats.json` in the output directory of the application. The metafile contents will contain information about the application JavaScript, global stylesheets, and the component stylesheets used by the Angular compiler. While the `--stats-json` option controls the output of the file onto the filesystem, the metafile data is internally always created to support the future integration of the bundle budget and console build stat output capabilities. The metafile format follows the structure of the esbuild metafile format. Information regarding the file format can be found here: https://esbuild.github.io/api/#metafile --- .../builders/browser-esbuild/compiler-plugin.ts | 16 ++++++++++++++++ .../browser-esbuild/experimental-warnings.ts | 1 - .../src/builders/browser-esbuild/index.ts | 13 ++++++++++++- .../src/builders/browser-esbuild/options.ts | 2 ++ .../src/builders/browser-esbuild/stylesheets.ts | 2 ++ 5 files changed, 32 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 71989ccc3ee1..451ca096d331 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -7,6 +7,7 @@ */ import type { + Metafile, OnStartResult, OutputFile, PartialMessage, @@ -237,6 +238,8 @@ export function createCompilerPlugin( // The stylesheet resources from component stylesheets that will be added to the build results output files let stylesheetResourceFiles: OutputFile[]; + let stylesheetMetafiles: Metafile[]; + let compilation: AngularCompilation | undefined; build.onStart(async () => { @@ -252,6 +255,7 @@ export function createCompilerPlugin( // Reset stylesheet resource output files stylesheetResourceFiles = []; + stylesheetMetafiles = []; // Create Angular compiler host options const hostOptions: AngularHostOptions = { @@ -276,6 +280,9 @@ export function createCompilerPlugin( (result.errors ??= []).push(...errors); (result.warnings ??= []).push(...warnings); stylesheetResourceFiles.push(...resourceFiles); + if (stylesheetResult.metafile) { + stylesheetMetafiles.push(stylesheetResult.metafile); + } return contents; }, @@ -403,10 +410,19 @@ export function createCompilerPlugin( ); build.onEnd((result) => { + // Add any component stylesheet resource files to the output files if (stylesheetResourceFiles.length) { result.outputFiles?.push(...stylesheetResourceFiles); } + // Combine component stylesheet metafiles with main metafile + if (result.metafile && stylesheetMetafiles.length) { + for (const metafile of stylesheetMetafiles) { + result.metafile.inputs = { ...result.metafile.inputs, ...metafile.inputs }; + result.metafile.outputs = { ...result.metafile.outputs, ...metafile.outputs }; + } + } + logCumulativeDurations(); }); }, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index 637b1b1d3029..1db7b0b52f31 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -15,7 +15,6 @@ const UNSUPPORTED_OPTIONS: Array = [ 'extractLicenses', 'progress', 'scripts', - 'statsJson', // * i18n support 'localize', diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 6cd5fd5fe45e..c54daf74f643 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -7,7 +7,7 @@ */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import type { BuildInvalidate, BuildOptions, OutputFile } from 'esbuild'; +import type { BuildInvalidate, BuildOptions, Metafile, OutputFile } from 'esbuild'; import assert from 'node:assert'; import * as fs from 'node:fs/promises'; import * as path from 'node:path'; @@ -141,6 +141,12 @@ async function execute( const initialFiles: FileInfo[] = [...codeResults.initialFiles, ...styleResults.initialFiles]; const outputFiles: OutputFile[] = [...codeResults.outputFiles, ...styleResults.outputFiles]; + // Combine metafiles used for the stats option as well as bundle budgets and console output + const metafile = { + inputs: { ...codeResults.metafile?.inputs, ...styleResults.metafile?.inputs }, + outputs: { ...codeResults.metafile?.outputs, ...styleResults.metafile?.outputs }, + }; + // Generate index HTML file if (indexHtmlOptions) { // Create an index HTML generator that reads from the in-memory output files @@ -191,6 +197,10 @@ async function execute( await Promise.all( outputFiles.map((file) => fs.writeFile(path.join(outputPath, file.path), file.contents)), ); + // Write metafile if stats option is enabled + if (options.stats) { + await fs.writeFile(path.join(outputPath, 'stats.json'), JSON.stringify(metafile, null, 2)); + } // Augment the application with service worker support // TODO: This should eventually operate on the in-memory files prior to writing the output files @@ -258,6 +268,7 @@ function createCodeBundleOptions( mainFields: ['es2020', 'browser', 'module', 'main'], conditions: ['es2020', 'es2015', 'module'], resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], + metafile: true, logLevel: options.verbose ? 'debug' : 'silent', minify: optimizationOptions.scripts, pure: ['forwardRef'], diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index ec6351ceca53..c752b35e01af 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -139,6 +139,7 @@ export async function normalizeOptions( inlineStyleLanguage = 'css', poll, preserveSymlinks, + statsJson, stylePreprocessorOptions, subresourceIntegrity, verbose, @@ -153,6 +154,7 @@ export async function normalizeOptions( crossOrigin, externalDependencies, inlineStyleLanguage, + stats: !!statsJson, poll, // If not explicitly set, default to the Node.js process argument preserveSymlinks: preserveSymlinks ?? process.execArgv.includes('--preserve-symlinks'), diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index c4390e80fcfd..381d4cf632ee 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -34,6 +34,7 @@ export function createStylesheetBundleOptions( assetNames: options.outputNames?.media, logLevel: 'silent', minify: options.optimization, + metafile: true, sourcemap: options.sourcemap, outdir: options.workspaceRoot, write: false, @@ -140,5 +141,6 @@ export async function bundleComponentStylesheet( map, path: outputPath, resourceFiles, + metafile: result.outputFiles && result.metafile, }; } From dd322b6240c247c9c3f95f6fc2d7dfafb020bc68 Mon Sep 17 00:00:00 2001 From: aanchal Date: Sat, 17 Dec 2022 12:12:16 +0530 Subject: [PATCH 1231/1388] test: removed empty methods --- .../projects/lib/src/lib/lib.component.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts index 345514700ee8..564013ef0ce7 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts +++ b/packages/angular_devkit/build_angular/test/hello-world-lib/projects/lib/src/lib/lib.component.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Component, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; @Component({ selector: 'lib', @@ -17,11 +17,6 @@ import { Component, OnInit } from '@angular/core'; `, styles: [] }) -export class LibComponent implements OnInit { - - constructor() { } - - ngOnInit() { - } +export class LibComponent { } From e91734ff89402b4e2b654ce470fdd2d894759c64 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 21 Dec 2022 13:24:06 +0000 Subject: [PATCH 1232/1388] fix(@angular-devkit/build-angular): format esbuild error messages to include more information Prior to this change esbuild errors during the javascript optimization phase in the Webpack builder were not being formatting properly which caused meaningful information to be lost. Closes #24457 --- .../plugins/javascript-optimizer-plugin.ts | 10 ++- .../plugins/javascript-optimizer-worker.ts | 62 +++++++++++++------ 2 files changed, 52 insertions(+), 20 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts index b6f02d40a544..a7bb0402a73e 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-plugin.ts @@ -204,7 +204,15 @@ export class JavaScriptOptimizerPlugin { options: optimizeOptions, }) .then( - ({ code, name, map }) => { + async ({ code, name, map, errors }) => { + if (errors?.length) { + for (const error of errors) { + addError(compilation, `Optimization error [${name}]: ${error}`); + } + + return; + } + const optimizedAsset = map ? new SourceMapSource(code, name, map) : new OriginalSource(code, name); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts index 240519f33218..75b67b0e333f 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts @@ -7,7 +7,7 @@ */ import remapping from '@ampproject/remapping'; -import type { TransformResult } from 'esbuild'; +import type { BuildFailure, TransformResult } from 'esbuild'; import { minify } from 'terser'; import { EsbuildExecutor } from './esbuild-executor'; @@ -100,6 +100,13 @@ let esbuild: EsbuildExecutor | undefined; export default async function ({ asset, options }: OptimizeRequest) { // esbuild is used as a first pass const esbuildResult = await optimizeWithEsbuild(asset.code, asset.name, options); + if (isEsBuildFailure(esbuildResult)) { + return { + name: asset.name, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + errors: await esbuild!.formatMessages(esbuildResult.errors, { kind: 'error' }), + }; + } // terser is used as a second pass const terserResult = await optimizeWithTerser( @@ -144,28 +151,36 @@ async function optimizeWithEsbuild( content: string, name: string, options: OptimizeRequest['options'], -): Promise { +): Promise { if (!esbuild) { esbuild = new EsbuildExecutor(options.alwaysUseWasm); } - return esbuild.transform(content, { - minifyIdentifiers: !options.keepIdentifierNames, - minifySyntax: true, - // NOTE: Disabling whitespace ensures unused pure annotations are kept - minifyWhitespace: false, - pure: ['forwardRef'], - legalComments: options.removeLicenses ? 'none' : 'inline', - sourcefile: name, - sourcemap: options.sourcemap && 'external', - define: options.define, - // This option should always be disabled for browser builds as we don't rely on `.name` - // and causes deadcode to be retained which makes `NG_BUILD_MANGLE` unusable to investigate tree-shaking issues. - // We enable `keepNames` only for server builds as Domino relies on `.name`. - // Once we no longer rely on Domino for SSR we should be able to remove this. - keepNames: options.keepNames, - target: options.target, - }); + try { + return await esbuild.transform(content, { + minifyIdentifiers: !options.keepIdentifierNames, + minifySyntax: true, + // NOTE: Disabling whitespace ensures unused pure annotations are kept + minifyWhitespace: false, + pure: ['forwardRef'], + legalComments: options.removeLicenses ? 'none' : 'inline', + sourcefile: name, + sourcemap: options.sourcemap && 'external', + define: options.define, + // This option should always be disabled for browser builds as we don't rely on `.name` + // and causes deadcode to be retained which makes `NG_BUILD_MANGLE` unusable to investigate tree-shaking issues. + // We enable `keepNames` only for server builds as Domino relies on `.name`. + // Once we no longer rely on Domino for SSR we should be able to remove this. + keepNames: options.keepNames, + target: options.target, + }); + } catch (error) { + if (isEsBuildFailure(error)) { + return error; + } + + throw error; + } } /** @@ -218,3 +233,12 @@ async function optimizeWithTerser( return { code: result.code, map: result.map as object }; } + +/** + * Determines if an unknown value is an esbuild BuildFailure error object thrown by esbuild. + * @param value A potential esbuild BuildFailure error object. + * @returns `true` if the object is determined to be a BuildFailure object; otherwise, `false`. + */ +function isEsBuildFailure(value: unknown): value is BuildFailure { + return !!value && typeof value === 'object' && 'errors' in value && 'warnings' in value; +} From 7c87ce47c66a6426b6b7fbb2edd38d8da729221f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 28 Dec 2022 12:02:10 -0500 Subject: [PATCH 1233/1388] fix(@angular-devkit/build-angular): ensure Sass load paths are resolved from workspace root When using the esbuild-based browser application builder, the Sass compiler will attempt to resolve any relative load paths from the current working directory. However, the load paths from the `angular.json` file should always be relative to the location of the `angular.json` which is considered the workspace root. While the current working directory is typically also the workspace root, it is not required nor always the same. To resolve this potential mismatch, the load paths are now resolved from the workspace root prior to being passed to the Sass compiler. --- .../src/builders/browser-esbuild/stylesheets.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 381d4cf632ee..60869e78d44e 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -47,7 +47,10 @@ export function createStylesheetBundleOptions( plugins: [ createSassPlugin({ sourcemap: !!options.sourcemap, - loadPaths: options.includePaths, + // Ensure Sass load paths are absolute based on the workspace root + loadPaths: options.includePaths?.map((includePath) => + path.resolve(options.workspaceRoot, includePath), + ), inlineComponentData, }), createCssResourcePlugin(), From dd2b65943d706833f449f76cf8c7278d0a5399ad Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Dec 2022 10:04:08 +0000 Subject: [PATCH 1234/1388] feat(@schematics/angular): add configuration files generation schematic This commits add a schematic to generate Karma and Browserlist files which since version 15 are no longer generated by default. This schematic should be used to generate these files when further customisation is needed. Usage ``` ng generate config karma ng generate config browserlist ``` Closes #24294 --- .../build_angular/src/builders/karma/index.ts | 4 +- packages/schematics/angular/collection.json | 5 + .../config/files/.browserslistrc.template | 16 ++++ .../config/files/karma.conf.js.template | 39 ++++++++ packages/schematics/angular/config/index.ts | 95 +++++++++++++++++++ .../schematics/angular/config/index_spec.ts | 82 ++++++++++++++++ .../schematics/angular/config/schema.json | 28 ++++++ .../tests/generate/confg/type-browserslist.ts | 6 ++ .../e2e/tests/generate/confg/type-karma.ts | 6 ++ 9 files changed, 279 insertions(+), 2 deletions(-) create mode 100644 packages/schematics/angular/config/files/.browserslistrc.template create mode 100644 packages/schematics/angular/config/files/karma.conf.js.template create mode 100644 packages/schematics/angular/config/index.ts create mode 100644 packages/schematics/angular/config/index_spec.ts create mode 100644 packages/schematics/angular/config/schema.json create mode 100644 tests/legacy-cli/e2e/tests/generate/confg/type-browserslist.ts create mode 100644 tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 1d16eeba4753..8766ff6468a0 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -96,7 +96,7 @@ export function execute( const karmaOptions: KarmaConfigOptions = options.karmaConfig ? {} - : getBuiltInKarmaConfig(karma, context.workspaceRoot, projectName); + : getBuiltInKarmaConfig(context.workspaceRoot, projectName); karmaOptions.singleRun = singleRun; @@ -186,7 +186,6 @@ export function execute( } function getBuiltInKarmaConfig( - karma: typeof import('karma'), workspaceRoot: string, projectName: string, ): ConfigOptions & Record { @@ -197,6 +196,7 @@ function getBuiltInKarmaConfig( const workspaceRootRequire = createRequire(workspaceRoot + '/'); + // Any changes to the config here need to be synced to: packages/schematics/angular/config/files/karma.conf.js.template return { basePath: '', frameworks: ['jasmine', '@angular-devkit/build-angular'], diff --git a/packages/schematics/angular/collection.json b/packages/schematics/angular/collection.json index 9b828f5232e6..65a57023b64f 100755 --- a/packages/schematics/angular/collection.json +++ b/packages/schematics/angular/collection.json @@ -120,6 +120,11 @@ "factory": "./environments", "schema": "./environments/schema.json", "description": "Generate project environment files." + }, + "config": { + "factory": "./config", + "schema": "./config/schema.json", + "description": "Generates a configuration file." } } } diff --git a/packages/schematics/angular/config/files/.browserslistrc.template b/packages/schematics/angular/config/files/.browserslistrc.template new file mode 100644 index 000000000000..4f9ac26980c1 --- /dev/null +++ b/packages/schematics/angular/config/files/.browserslistrc.template @@ -0,0 +1,16 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR diff --git a/packages/schematics/angular/config/files/karma.conf.js.template b/packages/schematics/angular/config/files/karma.conf.js.template new file mode 100644 index 000000000000..bac55a495a5b --- /dev/null +++ b/packages/schematics/angular/config/files/karma.conf.js.template @@ -0,0 +1,39 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, '<%= relativePathToWorkspaceRoot %>/coverage/<%= folderName %>'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + browsers: ['Chrome'], + restartOnFileChange: true + }); +}; diff --git a/packages/schematics/angular/config/index.ts b/packages/schematics/angular/config/index.ts new file mode 100644 index 000000000000..fea153389bbf --- /dev/null +++ b/packages/schematics/angular/config/index.ts @@ -0,0 +1,95 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { + Rule, + SchematicsException, + apply, + applyTemplates, + filter, + mergeWith, + move, + strings, + url, +} from '@angular-devkit/schematics'; +import { AngularBuilder, readWorkspace, updateWorkspace } from '@schematics/angular/utility'; +import { posix as path } from 'path'; +import { relativePathToWorkspaceRoot } from '../utility/paths'; +import { Schema as ConfigOptions, Type as ConfigType } from './schema'; + +export default function (options: ConfigOptions): Rule { + switch (options.type) { + case ConfigType.Karma: + return addKarmaConfig(options); + case ConfigType.Browserslist: + return addBrowserslistConfig(options); + default: + throw new SchematicsException(`"${options.type}" is an unknown configuration file type.`); + } +} + +function addBrowserslistConfig(options: ConfigOptions): Rule { + return async (host) => { + const workspace = await readWorkspace(host); + const project = workspace.projects.get(options.project); + if (!project) { + throw new SchematicsException(`Project name "${options.project}" doesn't not exist.`); + } + + return mergeWith( + apply(url('./files'), [ + filter((p) => p.endsWith('.browserslistrc.template')), + applyTemplates({}), + move(project.root), + ]), + ); + }; +} + +function addKarmaConfig(options: ConfigOptions): Rule { + return updateWorkspace((workspace) => { + const project = workspace.projects.get(options.project); + if (!project) { + throw new SchematicsException(`Project name "${options.project}" doesn't not exist.`); + } + + const testTarget = project.targets.get('test'); + if (!testTarget) { + throw new SchematicsException( + `No "test" target found for project "${options.project}".` + + ' A "test" target is required to generate a karma configuration.', + ); + } + + if (testTarget.builder !== AngularBuilder.Karma) { + throw new SchematicsException( + `Cannot add a karma configuration as builder for "test" target in project does not use "${AngularBuilder.Karma}".`, + ); + } + + testTarget.options ??= {}; + testTarget.options.karmaConfig = path.join(project.root, 'karma.conf.js'); + + // If scoped project (i.e. "@foo/bar"), convert dir to "foo/bar". + let folderName = options.project.startsWith('@') ? options.project.slice(1) : options.project; + if (/[A-Z]/.test(folderName)) { + folderName = strings.dasherize(folderName); + } + + return mergeWith( + apply(url('./files'), [ + filter((p) => p.endsWith('karma.conf.js.template')), + applyTemplates({ + relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(project.root), + folderName, + }), + move(project.root), + ]), + ); + }); +} diff --git a/packages/schematics/angular/config/index_spec.ts b/packages/schematics/angular/config/index_spec.ts new file mode 100644 index 000000000000..9b549271f09a --- /dev/null +++ b/packages/schematics/angular/config/index_spec.ts @@ -0,0 +1,82 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing'; +import { Schema as ApplicationOptions } from '../application/schema'; +import { Schema as WorkspaceOptions } from '../workspace/schema'; +import { Schema as ConfigOptions, Type as ConfigType } from './schema'; + +describe('Application Schematic', () => { + const schematicRunner = new SchematicTestRunner( + '@schematics/angular', + require.resolve('../collection.json'), + ); + + const workspaceOptions: WorkspaceOptions = { + name: 'workspace', + newProjectRoot: 'projects', + version: '15.0.0', + }; + + const defaultAppOptions: ApplicationOptions = { + name: 'foo', + inlineStyle: true, + inlineTemplate: true, + routing: false, + skipPackageJson: false, + }; + + let applicationTree: UnitTestTree; + function runConfigSchematic(type: ConfigType): Promise { + return schematicRunner.runSchematic( + 'config', + { + project: 'foo', + type, + }, + applicationTree, + ); + } + + beforeEach(async () => { + const workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); + applicationTree = await schematicRunner.runSchematic( + 'application', + defaultAppOptions, + workspaceTree, + ); + }); + + describe(`when 'type' is 'karma'`, () => { + it('should create a karma.conf.js file', async () => { + const tree = await runConfigSchematic(ConfigType.Karma); + expect(tree.exists('projects/foo/karma.conf.js')).toBeTrue(); + }); + + it('should set the right coverage folder', async () => { + const tree = await runConfigSchematic(ConfigType.Karma); + const karmaConf = tree.readText('projects/foo/karma.conf.js'); + expect(karmaConf).toContain(`dir: require('path').join(__dirname, '../../coverage/foo')`); + }); + + it(`should set 'karmaConfig' in test builder`, async () => { + const tree = await runConfigSchematic(ConfigType.Karma); + const config = JSON.parse(tree.readContent('/angular.json')); + const prj = config.projects.foo; + const { karmaConfig } = prj.architect.test.options; + expect(karmaConfig).toBe('projects/foo/karma.conf.js'); + }); + }); + + describe(`when 'type' is 'browserslist'`, () => { + it('should create a .browserslistrc file', async () => { + const tree = await runConfigSchematic(ConfigType.Browserslist); + expect(tree.exists('projects/foo/.browserslistrc')).toBeTrue(); + }); + }); +}); diff --git a/packages/schematics/angular/config/schema.json b/packages/schematics/angular/config/schema.json new file mode 100644 index 000000000000..87cb32851223 --- /dev/null +++ b/packages/schematics/angular/config/schema.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "SchematicsAngularConfig", + "title": "Angular Config File Options Schema", + "type": "object", + "additionalProperties": false, + "description": "Generates a configuration file in the given project.", + "properties": { + "project": { + "type": "string", + "description": "The name of the project.", + "$default": { + "$source": "projectName" + } + }, + "type": { + "type": "string", + "description": "Specifies which type of configuration file to create.", + "enum": ["karma", "browserslist"], + "x-prompt": "Which type of configuration file would you like to create?", + "$default": { + "$source": "argv", + "index": 0 + } + } + }, + "required": ["project", "type"] +} diff --git a/tests/legacy-cli/e2e/tests/generate/confg/type-browserslist.ts b/tests/legacy-cli/e2e/tests/generate/confg/type-browserslist.ts new file mode 100644 index 000000000000..b9717852a4f1 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/generate/confg/type-browserslist.ts @@ -0,0 +1,6 @@ +import { ng } from '../../../utils/process'; + +export default async function () { + await ng('generate', 'config', 'browserslist'); + await ng('build'); +} diff --git a/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts b/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts new file mode 100644 index 000000000000..87ba023580b9 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts @@ -0,0 +1,6 @@ +import { ng } from '../../../utils/process'; + +export default async function () { + await ng('generate', 'config', 'karma'); + await ng('test', '--watch=false'); +} From 67773bd66dc53f8c9ef3cbf9f6996208a60fff55 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Dec 2022 10:05:20 +0000 Subject: [PATCH 1235/1388] refactor(@angular-devkit/build-angular): remove unneeded defaults from built-in karma config Remove options that match the Karma defaults from the built-in karma config --- .../angular_devkit/build_angular/src/builders/karma/index.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 8766ff6468a0..6f232944290b 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -219,10 +219,6 @@ function getBuiltInKarmaConfig( reporters: [{ type: 'html' }, { type: 'text-summary' }], }, reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: karma.constants.LOG_INFO, - autoWatch: true, browsers: ['Chrome'], restartOnFileChange: true, }; From 86b337e7fc3a364c8673268c7058aded058749b8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 3 Jan 2023 14:05:56 +0000 Subject: [PATCH 1236/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 394 ++++++++---------- 7 files changed, 204 insertions(+), 236 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 0eb761acfdd7..3b7f9b814bc3 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b + - uses: angular/dev-infra/github-actions/branch-manager@f7d207b79899e466f312ae4fea2804f7978278ad with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index effcb8031ab4..59f2697e8230 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b + - uses: angular/dev-infra/github-actions/commit-message-based-labels@f7d207b79899e466f312ae4fea2804f7978278ad with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b + - uses: angular/dev-infra/github-actions/post-approval-changes@f7d207b79899e466f312ae4fea2804f7978278ad with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 5c9819a4c20e..fc4ee0c7eaf2 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b + - uses: angular/dev-infra/github-actions/feature-request@f7d207b79899e466f312ae4fea2804f7978278ad with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 29dd884275f1..694c4a0bd59d 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b + - uses: angular/dev-infra/github-actions/lock-closed@f7d207b79899e466f312ae4fea2804f7978278ad with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 59e4acda2ce1..09a91984d86f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.0.4", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42", "@angular/cdk": "15.0.3", "@angular/common": "15.0.4", "@angular/compiler": "15.0.4", @@ -75,7 +75,7 @@ "@angular/forms": "15.0.4", "@angular/localize": "15.0.4", "@angular/material": "15.0.3", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#129bcb4ba466d2f122e20bd97645d328e587eb01", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8", "@angular/platform-browser": "15.0.4", "@angular/platform-browser-dynamic": "15.0.4", "@angular/platform-server": "15.0.4", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 818096b8d955..12ad6c02278f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#35fe1b534354c3209b0a73175267d0b1fe347364", - "@angular/cdk": "github:angular/cdk-builds#dd23bf381c445c773720017506439376d5459dca", - "@angular/common": "github:angular/common-builds#b8aaaf130e508fa7956fb3be32afde70fd721c6e", - "@angular/compiler": "github:angular/compiler-builds#94d45cf78e2fc471b7f39684920178fb8f78d863", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#93b2b5d457e65cf660f5201a789ac364338e42cc", - "@angular/core": "github:angular/core-builds#bffeded7a855e16d262a3f3073a898f2e9645c73", - "@angular/forms": "github:angular/forms-builds#06c33a1a0b00670fd12a95eab7f906c5bf760004", - "@angular/language-service": "github:angular/language-service-builds#a9ba5a14016eaec094a174ff76e2a0a2a3906c82", - "@angular/localize": "github:angular/localize-builds#42a3b99de132d048935ba41215ca8cd03b146ead", - "@angular/material": "github:angular/material-builds#1091550e2bb86cae4772c06ac1a9ffeb59e51982", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#cdc144b5d7b67e5e6dd7635a6f6e69af198021f1", - "@angular/platform-browser": "github:angular/platform-browser-builds#5dd1ec08ef6a4e60d70e05ca174a3d168512ef92", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#0c4a26b935e7acd83b1c632b0f45d8a23f02d4ad", - "@angular/platform-server": "github:angular/platform-server-builds#d2c586a096e66dbcd408fd0c179baa91504ee596", - "@angular/router": "github:angular/router-builds#64d3fc869e3b316a965943582e928854033a5239", - "@angular/service-worker": "github:angular/service-worker-builds#bd6a3d2dd899c77b3386a07cb2fe4ce2d7078138" + "@angular/animations": "github:angular/animations-builds#e367ab86e0e23659daac3cd0d634414ccf9ffbbd", + "@angular/cdk": "github:angular/cdk-builds#a9e7bae0709a72dc5af01174d3b415ca63eafa8c", + "@angular/common": "github:angular/common-builds#9b976ed0dc619bf106d8d4aa45fe83d8b2f81f42", + "@angular/compiler": "github:angular/compiler-builds#344d813ecb43c4ec25ad316e9f3527beb102fde4", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#721a1b5f6138b8739b50dc8e3678b116744846b7", + "@angular/core": "github:angular/core-builds#02c314afa2d08d048d4a5dca534c53cb31987b13", + "@angular/forms": "github:angular/forms-builds#28445850cb8d3c0e1e2bc9f3cb1a7b4f465d471a", + "@angular/language-service": "github:angular/language-service-builds#56942552f5927f0c4e43f20e5cfdb75542474711", + "@angular/localize": "github:angular/localize-builds#ef95207731d0428a773164727e1c1cb4d3cc2d28", + "@angular/material": "github:angular/material-builds#787f1d442e35960f1b9a1c6cce4ad4d56a1e9bdd", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#d7e190099a32b369fb415ac784f49e065ced7a8e", + "@angular/platform-browser": "github:angular/platform-browser-builds#3b8a4bf463294ec3ce20875d23b4f053c826e38c", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#423c293bbcdd09fe7cdaede510c6a1c2dbfd1477", + "@angular/platform-server": "github:angular/platform-server-builds#5ed32fc76a805b722e4802cd191deee09e009188", + "@angular/router": "github:angular/router-builds#129f0e2ef1be5e920d293ab86d3afa7dea8e7b3b", + "@angular/service-worker": "github:angular/service-worker-builds#752841ea33762860e0d56847272b078211727e53" } } diff --git a/yarn.lock b/yarn.lock index 2582e4d7979b..163f06bf58dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1501.0-next.2": - version "0.1501.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.2.tgz#49642cc6b206ee65d50b02aaa2efb3d8024653e9" - integrity sha512-eB0We5fu25N/Gbnm2PqmEjDsDPs+tJeLJTqozYbiJund7y0TYYVn4IXeZgaRsy5NmNWqYcUMqXJb6t7QECSTrA== +"@angular-devkit/architect@0.1501.0-next.3": + version "0.1501.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.3.tgz#a5b068429d1e6f57411d84b7a7b674cb962e8afa" + integrity sha512-Fh9zUGRubIhZ6d8uNTXE2eMqfSMUB6DH3AX91gu+MTklbZgNUu7YQDMbo21mOlhyt5ub1ldOs1zWLzkiFh3T8A== dependencies: - "@angular-devkit/core" "15.1.0-next.2" + "@angular-devkit/core" "15.1.0-next.3" rxjs "6.6.7" -"@angular-devkit/build-angular@15.1.0-next.2": - version "15.1.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.2.tgz#5a3bd70e8f1295b6136b006130ec7f7989cad207" - integrity sha512-vLTKSCazAfVEJeS7rLrTH6SyQJhtV89rTZvTXi6SfwoK+D9QWCiMaXho8GTcp5MGxlTYiA+xmOcJSfv3OzuWzg== +"@angular-devkit/build-angular@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.3.tgz#9b98089ed389d6a42862f1ddff8b47adf7cd4440" + integrity sha512-FRflfrx2siHYIqeU4TVxiljY79UheHn2IzBpjm0FiN3QOHCgwbLSX+8pQlRguP+l4fj7Vssai4IjJVTQXVdSUw== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1501.0-next.2" - "@angular-devkit/build-webpack" "0.1501.0-next.2" - "@angular-devkit/core" "15.1.0-next.2" + "@angular-devkit/architect" "0.1501.0-next.3" + "@angular-devkit/build-webpack" "0.1501.0-next.3" + "@angular-devkit/core" "15.1.0-next.3" "@babel/core" "7.20.5" "@babel/generator" "7.20.5" "@babel/helper-annotate-as-pure" "7.18.6" @@ -37,7 +37,7 @@ "@babel/runtime" "7.20.6" "@babel/template" "7.18.10" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.1.0-next.2" + "@ngtools/webpack" "15.1.0-next.3" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.0" @@ -47,8 +47,8 @@ chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" - css-loader "6.7.2" - esbuild-wasm "0.16.2" + css-loader "6.7.3" + esbuild-wasm "0.16.6" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -64,11 +64,11 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.19" + postcss "8.4.20" postcss-loader "7.0.2" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.56.1" + sass "1.56.2" sass-loader "13.2.0" semver "7.3.8" source-map-loader "4.0.1" @@ -83,20 +83,20 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.16.2" + esbuild "0.16.6" -"@angular-devkit/build-webpack@0.1501.0-next.2": - version "0.1501.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.2.tgz#cc5fbd6e895f557021087a53352a181f54f3ef8f" - integrity sha512-NzRLUVQHvITPIwJQKTG3dLLUPZbmEYFbRcccIHvIpgmQ9SaOo2g+uD/mDy08K3dBH3sej1y7Ab1Q/49lCdzgdg== +"@angular-devkit/build-webpack@0.1501.0-next.3": + version "0.1501.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.3.tgz#387a724ffe24f05df21ae0923583f0c5eb101410" + integrity sha512-X1lUfReXlBUkhUvIdrOKJHooqFfYU/lwl8h3bv2wXqJ20Kz05OH5G3acqWzl2gPoE4X9ksy3R7OKdeG07aqOkA== dependencies: - "@angular-devkit/architect" "0.1501.0-next.2" + "@angular-devkit/architect" "0.1501.0-next.3" rxjs "6.6.7" -"@angular-devkit/core@15.1.0-next.2": - version "15.1.0-next.2" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.2.tgz#e97b5a1323f0c3e0cadca138c5c9d59e97945ff8" - integrity sha512-vWXhg9rjEJ+80SdWEvWxbV533PWcT4sl3EXSFW5T+X45ylBHDRMRybwHyRokKQPGuAKxLxrb/lTbrnBDkryW4g== +"@angular-devkit/core@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.3.tgz#adbe8453dc69270405dab9fdd20483a3f81c5495" + integrity sha512-9i8NMiIFBJfuDCdltVYU+o0TVnPpFoORFp2bNvZYodOEPGUevA0fGjp9LUB0GBHRZh3gLdPcG32qvRu80xeE3g== dependencies: ajv "8.11.2" ajv-formats "2.1.1" @@ -119,12 +119,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c": - version "0.0.0-4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b" - uid "98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#98ed19ad0bc7e985718d240aac9c9f56f5fbcd4c" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42": + version "0.0.0-f7d207b79899e466f312ae4fea2804f7978278ad" + uid "0940d31b019e41ca5283c1758d74fd648afd6a42" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42" dependencies: - "@angular-devkit/build-angular" "15.1.0-next.2" + "@angular-devkit/build-angular" "15.1.0-next.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" @@ -282,10 +282,10 @@ "@material/typography" "15.0.0-canary.7971d6ad5.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#129bcb4ba466d2f122e20bd97645d328e587eb01": - version "0.0.0-4d9ea67a331c5333fc4b0ffbfa32479a8ec0a17b" - uid "129bcb4ba466d2f122e20bd97645d328e587eb01" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#129bcb4ba466d2f122e20bd97645d328e587eb01" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8": + version "0.0.0-f7d207b79899e466f312ae4fea2804f7978278ad" + uid "9dccce65ac86e8bb222f600d978b713f8e19c2f8" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" @@ -1341,331 +1341,331 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.2.tgz#cdc8e99494d80a6ebfc7abc41914c4a8b98314ae" - integrity sha512-3CjbygjFHmtxDW59FOUM1T28G+aVqzbM+cNNinMgRUq+bmAstJdqmJL/KqpUwuCRTri4BgHJRWQbHOQFLwIpxw== - "@esbuild/android-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== +"@esbuild/android-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz#670061e921b2ef56adfa04ed66013e892136ec58" + integrity sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw== + "@esbuild/android-arm64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.7.tgz#2df472016c77dba3e79596a84da74c541698910f" integrity sha512-tYFw0lBJSEvLoGzzYh1kXuzoX1iPkbOk3O29VqzQb0HbOy7t/yw1hGkvwoJhXHwzQUPsShyYcTgRf6bDBcfnTw== -"@esbuild/android-arm@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.2.tgz#585ac1f25abce4c7b996f0a84f33f0ae6df043cb" - integrity sha512-t8zq/Ad8njye3tYkbdBYAEGBExCyqFuPnKmKgLBF9+nIwAS/V3FYck6BjAx813JCGXkNsR1iriS8jQFwydT+FA== - "@esbuild/android-arm@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== +"@esbuild/android-arm@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.6.tgz#450a79c5b04f955106515b0d24d0a428f3b7b468" + integrity sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ== + "@esbuild/android-arm@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.7.tgz#15f1a9b27b1637c38377b3e1f2d90b9782cdc141" integrity sha512-yhzDbiVcmq6T1/XEvdcJIVcXHdLjDJ5cQ0Dp9R9p9ERMBTeO1dR5tc8YYv8zwDeBw1xZm+Eo3MRo8cwclhBS0g== -"@esbuild/android-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.2.tgz#544d96e13f9551365b360d1139bed3c1da5cd575" - integrity sha512-J5pzzVs9gHRQff8vUBhGMRQU1avwD9IVTSfzhdnKRqlxq0hsdcgZxH95Ckj/q2KJ4nMPYfDBSRXrrvQ4PyMpFA== - "@esbuild/android-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== +"@esbuild/android-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.6.tgz#d62788083113d54456c79d8aefb4a8f922ff9100" + integrity sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ== + "@esbuild/android-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.7.tgz#cb34b7d666bf52266061cfb1a19c1d788b6c5ac1" integrity sha512-3P2OuTxwAtM3k/yEWTNUJRjMPG1ce8rXs51GTtvEC5z1j8fC1plHeVVczdeHECU7aM2/Buc0MwZ6ciM/zysnWg== -"@esbuild/darwin-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.2.tgz#f417bc18cb80cfaa95aecb8ddc9e6a74be26c92c" - integrity sha512-XmjlYmR1UTEdMT2X3TxnA0hG8zOi3q/BzqNN6/PDBxw/UxE9gdj7LGwiQus5HHZM03vSvjRO7WJ7qaJBGBWnpQ== - "@esbuild/darwin-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== +"@esbuild/darwin-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz#2d1c78ce0752236fa088fc3cc4e33a4fd3d26c84" + integrity sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w== + "@esbuild/darwin-arm64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.7.tgz#be1fabd0c2f6af111c16e9e9b18bf336c1e11634" integrity sha512-VUb9GK23z8jkosHU9yJNUgQpsfJn+7ZyBm6adi2Ec5/U241eR1tAn82QicnUzaFDaffeixiHwikjmnec/YXEZg== -"@esbuild/darwin-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.2.tgz#d2695c66fd8a4e17a2f7d2c9f2bd6babf1c9c161" - integrity sha512-nq5cXgzbXHhBqZEPpuXrf2+BV6QWUM8vAyT/ElJrdIkoGOHwNQJEqZHl3KOWK+1V3KXEXgJhh7DsLixIc677ZQ== - "@esbuild/darwin-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== +"@esbuild/darwin-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz#873b80540e5e8f0d1b87e2a48e7bfaecc097bfc0" + integrity sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA== + "@esbuild/darwin-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.7.tgz#2206042ac4396bb18dd53b379df83bec47eeb5fb" integrity sha512-duterlv3tit3HI9vhzMWnSVaB1B6YsXpFq1Ntd6Fou82BB1l4tucYy3FI9dHv3tvtDuS0NiGf/k6XsdBqPZ01w== -"@esbuild/freebsd-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.2.tgz#3abbf2a113dbcb77f253f031c412a27874a31b71" - integrity sha512-1QuZr7GnoipDYMFJDucqXmVvJZidZuHbvw5QLzBehYq67GR1Jub9pSo6O0Rt4LtKnu3TF2K/bjgzPJAGFY6W4Q== - "@esbuild/freebsd-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== +"@esbuild/freebsd-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz#3d432d5e9fa17955f1e8b23255a00207f22891c0" + integrity sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ== + "@esbuild/freebsd-arm64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.7.tgz#ca52bd64b0bba69ae4063245366f25838357c332" integrity sha512-9kkycpBFes/vhi7B7o0cf+q2WdJi+EpVzpVTqtWFNiutARWDFFLcB93J8PR1cG228sucsl3B+7Ts27izE6qiaQ== -"@esbuild/freebsd-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.2.tgz#7e68876fbe0e6e8fc9f45f880a2b393e61f54bf3" - integrity sha512-uvbv99Wg2T489bqUz4gYVb2IpSSZZP/uTkaZpaLN+h3x58FmsLT4o7bF1Refd2JIKuONxSobljlk5/K/RD9SsQ== - "@esbuild/freebsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== +"@esbuild/freebsd-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz#7e892ec08c9a11863e86feff169452f3cde967af" + integrity sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g== + "@esbuild/freebsd-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.7.tgz#bc01c146e6af5430c5eb325844de43f01e0264c4" integrity sha512-5Ahf6jzWXJ4J2uh9dpy5DKOO+PeRUE/9DMys6VuYfwgQzd6n5+pVFm58L2Z2gRe611RX6SdydnNaiIKM3svY7g== -"@esbuild/linux-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.2.tgz#2d186a0f336a4022b38c0994404ad4541b850d46" - integrity sha512-S7EwMhEUMzYfd9KTHJX7Y3bKz7/9sZDRJPp10EOQ3Qqp10WvX2G42Q2c7rfymnm9aM5ZWs+W8WgbLFAUnjC3Wg== - "@esbuild/linux-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== +"@esbuild/linux-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz#d1e2b0099cb19dce96ef9e4d4b94bc861c9b39cc" + integrity sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw== + "@esbuild/linux-arm64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.7.tgz#23267ff1cdd2a8f150d5aca1d6d2a4dfd4be7909" integrity sha512-2wv0xYDskk2+MzIm/AEprDip39a23Chptc4mL7hsHg26P0gD8RUhzmDu0KCH2vMThUI1sChXXoK9uH0KYQKaDg== -"@esbuild/linux-arm@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.2.tgz#3a816b6349655ac5e80117947543028d8eedeaf8" - integrity sha512-8n2UozHygOGXzgysim6GifKjv+lW4fs3mlfaoKerwBIOT9OBCo1Q4AjvbtU3F+2AGyo8eavxnj6Xxx0DRTOwiw== - "@esbuild/linux-arm@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== +"@esbuild/linux-arm@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz#ecb1543b12c27f7e4c7ad67d5e13d9a08d034e55" + integrity sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg== + "@esbuild/linux-arm@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.7.tgz#2c7cf7244e4b8a6f757a87a113d83d8a0c1f5297" integrity sha512-QqJnyCfu5OF78Olt7JJSZ7OSv/B4Hf+ZJWp4kkq9xwMsgu7yWq3crIic8gGOpDYTqVKKMDAVDgRXy5Wd/nWZyQ== -"@esbuild/linux-ia32@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.2.tgz#6ec937d2c4a17db5c6bb0b898e86c42df97422f4" - integrity sha512-TRz3MDvv65zXZ4NTJYi1yyVj17Qrsm8y6J8r4qIdd2qszRLPHmte4LAazPa7g+To6QfM2kL3gHmVhwV6GcYz0g== - "@esbuild/linux-ia32@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== +"@esbuild/linux-ia32@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz#916c13e4076d03cabbbfaa6735e6c195fe332932" + integrity sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw== + "@esbuild/linux-ia32@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.7.tgz#a15dc3edf6953c5414add4264fd8335f48775490" integrity sha512-APVYbEilKbD5ptmKdnIcXej2/+GdV65TfTjxR2Uk8t1EsOk49t6HapZW6DS/Bwlvh5hDwtLapdSumIVNGxgqLg== -"@esbuild/linux-loong64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.2.tgz#6f611b6e03f5404b5e3d45040f0d743071b1229b" - integrity sha512-yhHJCvPQjh/8wLEk336QzXMHYnMKJdzLcNAnXwVawSvsLqyzTYrGshrO1YMhzs5cWgR75DFNnhcAFgEtleAZOw== - "@esbuild/linux-loong64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== +"@esbuild/linux-loong64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz#d337a6cfb132288ac59e1f028be9b16cf4c7d339" + integrity sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA== + "@esbuild/linux-loong64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.7.tgz#b3ce8539cf307b543796530839cf62507d9c7e84" integrity sha512-5wPUAGclplQrAW7EFr3F84Y/d++7G0KykohaF4p54+iNWhUnMVU8Bh2sxiEOXUy4zKIdpHByMgJ5/Ko6QhtTUw== -"@esbuild/linux-mips64el@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.2.tgz#5c76d385d68189336b78dfc933a77d13465eee5c" - integrity sha512-YwMpV41qIKRHASV4MaaA/PKk9CoZ4QyVyPXhUtLTO9kPWtWECRI4MTBrGIb9kGUpL6I+jiT4fAZn8YpWSGBkQg== - "@esbuild/linux-mips64el@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== +"@esbuild/linux-mips64el@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz#cfcb7bcae8fbc91d07c93f3c2e26779ddaa7c738" + integrity sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q== + "@esbuild/linux-mips64el@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.7.tgz#7c1c8f3de254b4e975ac2580bba187b87b959256" integrity sha512-hxzlXtWF6yWfkE/SMTscNiVqLOAn7fOuIF3q/kiZaXxftz1DhZW/HpnTmTTWrzrS7zJWQxHHT4QSxyAj33COmA== -"@esbuild/linux-ppc64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.2.tgz#db567dd114122bcb034910d79000ea9cca9db897" - integrity sha512-s4YuINcRxCA9TElEf2iBdG6oZWdNu2Eb6R9TbRBcZOTdcgdBKIinaVyEiQ8H6nmCafWCuuJT8u66zds2ET3t1Q== - "@esbuild/linux-ppc64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== +"@esbuild/linux-ppc64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz#aa2b0fc6ab0dea618f23d13946032d327da7806e" + integrity sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA== + "@esbuild/linux-ppc64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.7.tgz#72a00c9788f3ca5df56ecec060d5b92f945c9a2d" integrity sha512-WM83Dac0LdXty5xPhlOuCD5Egfk1xLND/oRLYeB7Jb/tY4kzFSDgLlq91wYbHua/s03tQGA9iXvyjgymMw62Vw== -"@esbuild/linux-riscv64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.2.tgz#72e1fd9cc9972e662fcef9138636bd1259c3cd3a" - integrity sha512-oacL6QGqVRhBCbBlFxODYfcCkB6tPmfanaWnsuHNI7m9LVkBuuDKpsC3XWOwkEQiLIJcvhhZKOkkgw49KxS1Dw== - "@esbuild/linux-riscv64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== +"@esbuild/linux-riscv64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz#ade24a148fc7ded3a8a042f97a6441beba4f4f96" + integrity sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA== + "@esbuild/linux-riscv64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.7.tgz#545fd57e44dc3331a86956889f2a5b42bd116c9b" integrity sha512-3nkNnNg4Ax6MS/l8O8Ynq2lGEVJYyJ2EoY3PHjNJ4PuZ80EYLMrFTFZ4L/Hc16AxgtXKwmNP9TM0YKNiBzBiJQ== -"@esbuild/linux-s390x@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.2.tgz#b0fd46338d0b4906cfc7e9c4b1850960432f2f7a" - integrity sha512-5ifr0lshZbLI457Qe6y3MsDYv1cSOJ8awgi0HT14cS59WliT7bDkrr3kmDw/LqGOAPyDvDD+U8s2cFBSENetuA== - "@esbuild/linux-s390x@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== +"@esbuild/linux-s390x@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz#b3c051e15f6fd3f9af801aa2cfe2cad0e069e4ea" + integrity sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w== + "@esbuild/linux-s390x@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.7.tgz#a36fd4605904c49310616dd648c0c25a267a19c0" integrity sha512-3SA/2VJuv0o1uD7zuqxEP+RrAyRxnkGddq0bwHQ98v1KNlzXD/JvxwTO3T6GM5RH6JUd29RTVQTOJfyzMkkppA== -"@esbuild/linux-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.2.tgz#f323afb5e3f433093078dbfa261e8148970ada20" - integrity sha512-TA/ORYlP6h2pfB/dzrPTMFWd1MaUYy7kwblWdzwkUtsTAJAKJlZwBhkKftSaUNNU5wtXNJ9+ucMDf7vBPbDjlw== - "@esbuild/linux-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== +"@esbuild/linux-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz#49368780003c0f32fc79738d20404e39429fdc48" + integrity sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg== + "@esbuild/linux-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.7.tgz#104f3f8f3f25f1f26b70cee05470974861ca5a5e" integrity sha512-xi/tbqCqvPIzU+zJVyrpz12xqciTAPMi2fXEWGnapZymoGhuL2GIWIRXg4O2v5BXaYA5TSaiKYE14L0QhUTuQg== -"@esbuild/netbsd-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.2.tgz#fa5c5ad79bbadfbd741423ee4ab22d2b0c55143f" - integrity sha512-oBH2Aj4fL9FLlkIi2wYGckydKHVKmYrqiqt91i6kFE1mF7B05YYttrlOHAf3JzWIJQWyvzvsmoA/XFPf1sTgBw== - "@esbuild/netbsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== +"@esbuild/netbsd-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz#2227e9483c5a861bbecd740e525cd9b17dc01c61" + integrity sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q== + "@esbuild/netbsd-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.7.tgz#0fd59fea5e6b94ee82e81b3b389e561efe77b347" integrity sha512-NUsYbq3B+JdNKn8SXkItFvdes9qTwEoS3aLALtiWciW/ystiCKM20Fgv9XQBOXfhUHyh5CLEeZDXzLOrwBXuCQ== -"@esbuild/openbsd-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.2.tgz#a20232bdb2ed8731294bed401cbf0e10dada4540" - integrity sha512-eKOpYr7CiF9GZxu18iOQGfzQ4htO6KGhXriW2raJvRO0G27Lu7ArAI/kW71yTPaFqlf9gCmCGaTPr2tmiUePVg== - "@esbuild/openbsd-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== +"@esbuild/openbsd-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz#6c6d15c9f5797ce5f9c7bd105b867b8fbdc964b7" + integrity sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w== + "@esbuild/openbsd-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.7.tgz#c04072a70f31be1bd47204955d2c71ca393c9eb4" integrity sha512-qjwzsgeve9I8Tbsko2FEkdSk2iiezuNGFgipQxY/736NePXDaDZRodIejYGWOlbYXugdxb0nif5yvypH6lKBmA== -"@esbuild/sunos-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.2.tgz#d57d9b3121b028dcee8d7ec556b514a0545872c9" - integrity sha512-1HsQLVnjhlscekE8H5Xj49xPvd0c74eoZEjh+OUnr+x7vCXdTVdFDgao9QM0H9zfioxJN1ZH7534LwxEaAWaIA== - "@esbuild/sunos-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== +"@esbuild/sunos-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz#3ac4275f948653a56d52eca7483f8d683bdd14ca" + integrity sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q== + "@esbuild/sunos-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.7.tgz#11c4cd341be1de93cb5e3bf096f3b63ae1497626" integrity sha512-mFWDz4RoBTzPphTCkM7Kc7Qpa0o/Z01acajR+Ai7LdfKgcP/C6jYOaKwv7nKzD0+MjOT20j7You9g4ozYy1dKQ== -"@esbuild/win32-arm64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.2.tgz#a548cff2e5bcd5cdfe1431320b9fee81440d26f1" - integrity sha512-G9AWjsnVxGQj8z0WgaDwTKgXzwc9zLPYDFoLE4oAGI/TQnft0eQjc+CKiWRyoa+a/c3XIFGXoWnW+17kbibSfA== - "@esbuild/win32-arm64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== +"@esbuild/win32-arm64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz#8d913e77797c00e05922d46b6f74011bb0655bfd" + integrity sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw== + "@esbuild/win32-arm64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.7.tgz#95091269394f16352e318124790a3906bf370141" integrity sha512-m39UmX19RvEIuC8sYZ0M+eQtdXw4IePDSZ78ZQmYyFaXY9krq4YzQCK2XWIJomNLtg4q+W5aXr8bW3AbqWNoVg== -"@esbuild/win32-ia32@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.2.tgz#8f96eb33303344ec70460a44d3189b673e29cf5b" - integrity sha512-UJqmfPsiSX/wP1kY5JMordRqNU2r8n8ieXmNimp4r35sQEX3bjnSkPJ2E8BM8W8ecmEL+oDjYjulkTT3zSPa1g== - "@esbuild/win32-ia32@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== +"@esbuild/win32-ia32@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz#573b4aa7389d1dc87ab1877a8ee19e2e13ad51b0" + integrity sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q== + "@esbuild/win32-ia32@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.7.tgz#2bda285a0b7084a93417472c460b0209bef0c39d" integrity sha512-1cbzSEZA1fANwmT6rjJ4G1qQXHxCxGIcNYFYR9ctI82/prT38lnwSRZ0i5p/MVXksw9eMlHlet6pGu2/qkXFCg== -"@esbuild/win32-x64@0.16.2": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.2.tgz#01350ef54fb4b2a0b423072d30deceaa5c1c529e" - integrity sha512-1+PQiGAbbGlIXXlp9i/5JRpodCsozGTjffaD4W1LgeoynWef38VD8NNC8yG366NYXHHHLR1pN6MQZ9r2na/S1A== - "@esbuild/win32-x64@0.16.4": version "0.16.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ== +"@esbuild/win32-x64@0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz#26094ac38600cdac049cb320018bc34da9af22c2" + integrity sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg== + "@esbuild/win32-x64@0.16.7": version "0.16.7" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.7.tgz#966ac3fc41758e6843cbd5844b2466bbdc34dada" @@ -2545,10 +2545,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.1.0-next.2": - version "15.1.0-next.2" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.2.tgz#6c54c062304aa9f06426f801c9f2f8c87c2c1dc4" - integrity sha512-G2MdjuwzcCbU0amIM31qkHG2BGVaLQ/+gWpnYLVp1kWILd+fhvGQ2Z32raUcEQGVRMKk9WIz38SB8nmR3gWxAw== +"@ngtools/webpack@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.3.tgz#2090b57b1e95fbbb4316cb38fdde282e7b6c0a52" + integrity sha512-2FpJBXFie1sTefJZJSbFfIKEcaVleGcg5OxZXHdNt8WJI6qgUdSv94BYmzrecl8GcXbUjRIkF8egZYfG2SaJOw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -4991,20 +4991,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-loader@6.7.2: - version "6.7.2" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.2.tgz#26bc22401b5921686a10fbeba75d124228302304" - integrity sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.18" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.8" - css-loader@6.7.3: version "6.7.3" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" @@ -5578,10 +5564,10 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-wasm@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.2.tgz#a9a9f3faa28d9fc5189d093c220b4a97eeb91cdf" - integrity sha512-cDkxkEKx4OO2tMAPSr8KlxM/6SWMxrjlCwrFyXkKYP1DT/KBHXJ/mG3LIS4Tp8YzIJLhL2AHnYRd+t0w6Fav8A== +esbuild-wasm@0.16.6: + version "0.16.6" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.6.tgz#d8666fea52e953043dc33767105bcc450b166580" + integrity sha512-neIOUB/4y7QNxhiDSA0j3tju+HXhSMbPMmNH78rlB/vTfJ1v7M8SdvTJgTI+L1ppGUFYu0iJqfLOjC5s9Gzh8g== esbuild-wasm@0.16.7: version "0.16.7" @@ -5593,33 +5579,33 @@ esbuild-wasm@^0.16.0: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.4.tgz#16fcfae88a753f2b1556b739d8297c0e9ada2363" integrity sha512-Nh7aa9uazooaEIGubc8s0nQZFhnf035pJMTpMPBonzDchN6RPsQES5bojQo3zT2xSAuC9nEMg8Nxzc1iwigETw== -esbuild@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.2.tgz#5d864a37c12a8b19340ead348b2cd51b096bbde8" - integrity sha512-Rv/CJquZKE00irDLDpk9jmWmtxx1NW+MGpBbNNouaDY0oBwk806uJ51WpLaJBQUxhZqLauX2rrNol5lVQceHJw== +esbuild@0.16.6: + version "0.16.6" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.6.tgz#6f8aa19d2d41871f420a701e6df309337f6cb953" + integrity sha512-0Fn9lUX1yy2iP56L0BDAgnQFJfkDICdYZ0Xm6Kgdwa72AkHoKX0egau/ZIROYdjJWPLJtl9bDuW7Xs56TuKPhQ== optionalDependencies: - "@esbuild/android-arm" "0.16.2" - "@esbuild/android-arm64" "0.16.2" - "@esbuild/android-x64" "0.16.2" - "@esbuild/darwin-arm64" "0.16.2" - "@esbuild/darwin-x64" "0.16.2" - "@esbuild/freebsd-arm64" "0.16.2" - "@esbuild/freebsd-x64" "0.16.2" - "@esbuild/linux-arm" "0.16.2" - "@esbuild/linux-arm64" "0.16.2" - "@esbuild/linux-ia32" "0.16.2" - "@esbuild/linux-loong64" "0.16.2" - "@esbuild/linux-mips64el" "0.16.2" - "@esbuild/linux-ppc64" "0.16.2" - "@esbuild/linux-riscv64" "0.16.2" - "@esbuild/linux-s390x" "0.16.2" - "@esbuild/linux-x64" "0.16.2" - "@esbuild/netbsd-x64" "0.16.2" - "@esbuild/openbsd-x64" "0.16.2" - "@esbuild/sunos-x64" "0.16.2" - "@esbuild/win32-arm64" "0.16.2" - "@esbuild/win32-ia32" "0.16.2" - "@esbuild/win32-x64" "0.16.2" + "@esbuild/android-arm" "0.16.6" + "@esbuild/android-arm64" "0.16.6" + "@esbuild/android-x64" "0.16.6" + "@esbuild/darwin-arm64" "0.16.6" + "@esbuild/darwin-x64" "0.16.6" + "@esbuild/freebsd-arm64" "0.16.6" + "@esbuild/freebsd-x64" "0.16.6" + "@esbuild/linux-arm" "0.16.6" + "@esbuild/linux-arm64" "0.16.6" + "@esbuild/linux-ia32" "0.16.6" + "@esbuild/linux-loong64" "0.16.6" + "@esbuild/linux-mips64el" "0.16.6" + "@esbuild/linux-ppc64" "0.16.6" + "@esbuild/linux-riscv64" "0.16.6" + "@esbuild/linux-s390x" "0.16.6" + "@esbuild/linux-x64" "0.16.6" + "@esbuild/netbsd-x64" "0.16.6" + "@esbuild/openbsd-x64" "0.16.6" + "@esbuild/sunos-x64" "0.16.6" + "@esbuild/win32-arm64" "0.16.6" + "@esbuild/win32-ia32" "0.16.6" + "@esbuild/win32-x64" "0.16.6" esbuild@0.16.7: version "0.16.7" @@ -9399,16 +9385,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.19: - version "8.4.19" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" - integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.18, postcss@^8.4.19: +postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.19: version "8.4.20" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== @@ -10176,15 +10153,6 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.56.1: - version "1.56.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.1.tgz#94d3910cd468fd075fa87f5bb17437a0b617d8a7" - integrity sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.56.2, sass@^1.55.0: version "1.56.2" resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.2.tgz#9433b345ab3872996c82a53a58c014fd244fd095" From ba895b1af6c358519e85457f2d687fc958002871 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Wed, 21 Dec 2022 12:57:12 +0200 Subject: [PATCH 1237/1388] build: update to TypeScript 4.9 Updates the project to TypeScript 4.9. --- package.json | 32 +- .../angular/cli/src/analytics/analytics.ts | 2 +- packages/angular/pwa/package.json | 2 +- .../angular_devkit/build_angular/package.json | 12 +- .../blank/project-files/package.json | 2 +- .../schematic/files/package.json | 2 +- packages/ngtools/webpack/package.json | 10 +- .../Microsoft/TypeScript/BUILD.bazel | 6 +- .../Microsoft/TypeScript/lib/typescript.d.ts | 554 +- .../Microsoft/TypeScript/lib/typescript.js | 23016 +++++++++------- .../angular/utility/latest-versions.ts | 2 +- .../utility/latest-versions/package.json | 4 +- .../e2e/assets/webpack/test-app/package.json | 18 +- tests/legacy-cli/e2e/tests/build/material.ts | 3 + .../e2e/tests/commands/add/add-material.ts | 5 +- .../misc/invalid-schematic-dependencies.ts | 3 + yarn.lock | 151 +- 17 files changed, 12766 insertions(+), 11058 deletions(-) diff --git a/package.json b/package.json index 09a91984d86f..f58498990d5b 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.0.4", + "@angular/animations": "15.1.0-next.3", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42", - "@angular/cdk": "15.0.3", - "@angular/common": "15.0.4", - "@angular/compiler": "15.0.4", - "@angular/compiler-cli": "15.0.4", - "@angular/core": "15.0.4", - "@angular/forms": "15.0.4", - "@angular/localize": "15.0.4", - "@angular/material": "15.0.3", + "@angular/cdk": "15.1.0-next.2", + "@angular/common": "15.1.0-next.3", + "@angular/compiler": "15.1.0-next.3", + "@angular/compiler-cli": "15.1.0-next.3", + "@angular/core": "15.1.0-next.3", + "@angular/forms": "15.1.0-next.3", + "@angular/localize": "15.1.0-next.3", + "@angular/material": "15.1.0-next.2", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8", - "@angular/platform-browser": "15.0.4", - "@angular/platform-browser-dynamic": "15.0.4", - "@angular/platform-server": "15.0.4", - "@angular/router": "15.0.4", - "@angular/service-worker": "15.0.4", + "@angular/platform-browser": "15.1.0-next.3", + "@angular/platform-browser-dynamic": "15.1.0-next.3", + "@angular/platform-server": "15.1.0-next.3", + "@angular/router": "15.1.0-next.3", + "@angular/service-worker": "15.1.0-next.3", "@babel/core": "7.20.5", "@babel/generator": "7.20.5", "@babel/helper-annotate-as-pure": "7.18.6", @@ -172,7 +172,7 @@ "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", "minimatch": "5.1.1", - "ng-packagr": "15.0.3", + "ng-packagr": "15.1.0-next.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", @@ -208,7 +208,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.1", - "typescript": "4.8.4", + "typescript": "4.9.3", "verdaccio": "5.18.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", diff --git a/packages/angular/cli/src/analytics/analytics.ts b/packages/angular/cli/src/analytics/analytics.ts index ea4dff1a5546..2e610afb5dac 100644 --- a/packages/angular/cli/src/analytics/analytics.ts +++ b/packages/angular/cli/src/analytics/analytics.ts @@ -128,7 +128,7 @@ async function getAnalyticsUserIdForLevel( } const workspace = await getWorkspace(level); - const analyticsConfig: string | undefined | null | { uid?: string } = + const analyticsConfig: string | undefined | null | { uid?: string } | boolean = workspace?.getCli()?.['analytics']; if (analyticsConfig === false) { diff --git a/packages/angular/pwa/package.json b/packages/angular/pwa/package.json index e4dcfc3d3a4d..a7902ecbb3f2 100644 --- a/packages/angular/pwa/package.json +++ b/packages/angular/pwa/package.json @@ -17,7 +17,7 @@ "parse5-html-rewriting-stream": "6.0.1" }, "peerDependencies": { - "@angular/cli": "^15.0.0-next" + "@angular/cli": "^15.0.0-next || ^15.1.0-next" }, "peerDependenciesMeta": { "@angular/cli": { diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index a68b074159e5..9138344f6049 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -70,15 +70,15 @@ "esbuild": "0.16.7" }, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0-next", - "@angular/localize": "^15.0.0-next", - "@angular/platform-server": "^15.0.0-next", - "@angular/service-worker": "^15.0.0-next", + "@angular/compiler-cli": "^15.0.0-next || ^15.1.0-next", + "@angular/localize": "^15.0.0-next || ^15.1.0-next", + "@angular/platform-server": "^15.0.0-next || ^15.1.0-next", + "@angular/service-worker": "^15.0.0-next || ^15.1.0-next", "karma": "^6.3.0", - "ng-packagr": "^15.0.0-next", + "ng-packagr": "^15.0.0-next || ^15.1.0-next", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": "~4.8.2" + "typescript": ">=4.8.2 <5.0" }, "peerDependenciesMeta": { "@angular/localize": { diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json b/packages/angular_devkit/schematics_cli/blank/project-files/package.json index a84ab3a9777c..4c5e327acae6 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/package.json +++ b/packages/angular_devkit/schematics_cli/blank/project-files/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "^<%= coreVersion %>", "@angular-devkit/schematics": "^<%= schematicsVersion %>", - "typescript": "~4.7.2" + "typescript": "~4.9.3" }, "devDependencies": { "@types/node": "^14.15.0", diff --git a/packages/angular_devkit/schematics_cli/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json index 4996bb4a543f..2cc65b2b1587 100644 --- a/packages/angular_devkit/schematics_cli/schematic/files/package.json +++ b/packages/angular_devkit/schematics_cli/schematic/files/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "^<%= coreVersion %>", "@angular-devkit/schematics": "^<%= schematicsVersion %>", - "typescript": "~4.7.2" + "typescript": "~4.9.3" }, "devDependencies": { "@types/node": "^14.15.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 412c13f13bc0..a04ce56c5014 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,15 +22,15 @@ "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack", "dependencies": {}, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0-next", - "typescript": "~4.8.2", + "@angular/compiler-cli": "^15.0.0-next || ^15.1.0-next", + "typescript": ">=4.8.2 <5.0", "webpack": "^5.54.0" }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.0.4", - "@angular/compiler-cli": "15.0.4", - "typescript": "4.8.4", + "@angular/compiler": "15.1.0-next.3", + "@angular/compiler-cli": "15.1.0-next.3", + "typescript": "4.9.4", "webpack": "5.75.0" } } diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel index ce2a72123a44..180164db60cb 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/BUILD.bazel @@ -1,11 +1,11 @@ load("//tools:defaults.bzl", "ts_library") # files fetched on 2022-09-01 from -# https://github.com/microsoft/TypeScript/releases/tag/v4.8.2 +# https://github.com/microsoft/TypeScript/releases/tag/v4.9.3 # Commands to download: -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8.2/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts -# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.8.2/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.9.3/lib/typescript.d.ts -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +# curl https://raw.githubusercontent.com/microsoft/TypeScript/v4.9.3/lib/typescript.js -o packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js licenses(["notice"]) # Apache 2.0 diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts index 0fd60ae88265..54e4c654e358 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.d.ts @@ -14,7 +14,7 @@ and limitations under the License. ***************************************************************************** */ declare namespace ts { - const versionMajorMinor = "4.8"; + const versionMajorMinor = "4.9"; /** The version of the TypeScript compiler release */ const version: string; /** @@ -232,237 +232,240 @@ declare namespace ts { StaticKeyword = 124, YieldKeyword = 125, AbstractKeyword = 126, - AsKeyword = 127, - AssertsKeyword = 128, - AssertKeyword = 129, - AnyKeyword = 130, - AsyncKeyword = 131, - AwaitKeyword = 132, - BooleanKeyword = 133, - ConstructorKeyword = 134, - DeclareKeyword = 135, - GetKeyword = 136, - InferKeyword = 137, - IntrinsicKeyword = 138, - IsKeyword = 139, - KeyOfKeyword = 140, - ModuleKeyword = 141, - NamespaceKeyword = 142, - NeverKeyword = 143, - OutKeyword = 144, - ReadonlyKeyword = 145, - RequireKeyword = 146, - NumberKeyword = 147, - ObjectKeyword = 148, - SetKeyword = 149, - StringKeyword = 150, - SymbolKeyword = 151, - TypeKeyword = 152, - UndefinedKeyword = 153, - UniqueKeyword = 154, - UnknownKeyword = 155, - FromKeyword = 156, - GlobalKeyword = 157, - BigIntKeyword = 158, - OverrideKeyword = 159, - OfKeyword = 160, - QualifiedName = 161, - ComputedPropertyName = 162, - TypeParameter = 163, - Parameter = 164, - Decorator = 165, - PropertySignature = 166, - PropertyDeclaration = 167, - MethodSignature = 168, - MethodDeclaration = 169, - ClassStaticBlockDeclaration = 170, - Constructor = 171, - GetAccessor = 172, - SetAccessor = 173, - CallSignature = 174, - ConstructSignature = 175, - IndexSignature = 176, - TypePredicate = 177, - TypeReference = 178, - FunctionType = 179, - ConstructorType = 180, - TypeQuery = 181, - TypeLiteral = 182, - ArrayType = 183, - TupleType = 184, - OptionalType = 185, - RestType = 186, - UnionType = 187, - IntersectionType = 188, - ConditionalType = 189, - InferType = 190, - ParenthesizedType = 191, - ThisType = 192, - TypeOperator = 193, - IndexedAccessType = 194, - MappedType = 195, - LiteralType = 196, - NamedTupleMember = 197, - TemplateLiteralType = 198, - TemplateLiteralTypeSpan = 199, - ImportType = 200, - ObjectBindingPattern = 201, - ArrayBindingPattern = 202, - BindingElement = 203, - ArrayLiteralExpression = 204, - ObjectLiteralExpression = 205, - PropertyAccessExpression = 206, - ElementAccessExpression = 207, - CallExpression = 208, - NewExpression = 209, - TaggedTemplateExpression = 210, - TypeAssertionExpression = 211, - ParenthesizedExpression = 212, - FunctionExpression = 213, - ArrowFunction = 214, - DeleteExpression = 215, - TypeOfExpression = 216, - VoidExpression = 217, - AwaitExpression = 218, - PrefixUnaryExpression = 219, - PostfixUnaryExpression = 220, - BinaryExpression = 221, - ConditionalExpression = 222, - TemplateExpression = 223, - YieldExpression = 224, - SpreadElement = 225, - ClassExpression = 226, - OmittedExpression = 227, - ExpressionWithTypeArguments = 228, - AsExpression = 229, - NonNullExpression = 230, - MetaProperty = 231, - SyntheticExpression = 232, - TemplateSpan = 233, - SemicolonClassElement = 234, - Block = 235, - EmptyStatement = 236, - VariableStatement = 237, - ExpressionStatement = 238, - IfStatement = 239, - DoStatement = 240, - WhileStatement = 241, - ForStatement = 242, - ForInStatement = 243, - ForOfStatement = 244, - ContinueStatement = 245, - BreakStatement = 246, - ReturnStatement = 247, - WithStatement = 248, - SwitchStatement = 249, - LabeledStatement = 250, - ThrowStatement = 251, - TryStatement = 252, - DebuggerStatement = 253, - VariableDeclaration = 254, - VariableDeclarationList = 255, - FunctionDeclaration = 256, - ClassDeclaration = 257, - InterfaceDeclaration = 258, - TypeAliasDeclaration = 259, - EnumDeclaration = 260, - ModuleDeclaration = 261, - ModuleBlock = 262, - CaseBlock = 263, - NamespaceExportDeclaration = 264, - ImportEqualsDeclaration = 265, - ImportDeclaration = 266, - ImportClause = 267, - NamespaceImport = 268, - NamedImports = 269, - ImportSpecifier = 270, - ExportAssignment = 271, - ExportDeclaration = 272, - NamedExports = 273, - NamespaceExport = 274, - ExportSpecifier = 275, - MissingDeclaration = 276, - ExternalModuleReference = 277, - JsxElement = 278, - JsxSelfClosingElement = 279, - JsxOpeningElement = 280, - JsxClosingElement = 281, - JsxFragment = 282, - JsxOpeningFragment = 283, - JsxClosingFragment = 284, - JsxAttribute = 285, - JsxAttributes = 286, - JsxSpreadAttribute = 287, - JsxExpression = 288, - CaseClause = 289, - DefaultClause = 290, - HeritageClause = 291, - CatchClause = 292, - AssertClause = 293, - AssertEntry = 294, - ImportTypeAssertionContainer = 295, - PropertyAssignment = 296, - ShorthandPropertyAssignment = 297, - SpreadAssignment = 298, - EnumMember = 299, - UnparsedPrologue = 300, - UnparsedPrepend = 301, - UnparsedText = 302, - UnparsedInternalText = 303, - UnparsedSyntheticReference = 304, - SourceFile = 305, - Bundle = 306, - UnparsedSource = 307, - InputFiles = 308, - JSDocTypeExpression = 309, - JSDocNameReference = 310, - JSDocMemberName = 311, - JSDocAllType = 312, - JSDocUnknownType = 313, - JSDocNullableType = 314, - JSDocNonNullableType = 315, - JSDocOptionalType = 316, - JSDocFunctionType = 317, - JSDocVariadicType = 318, - JSDocNamepathType = 319, - JSDoc = 320, + AccessorKeyword = 127, + AsKeyword = 128, + AssertsKeyword = 129, + AssertKeyword = 130, + AnyKeyword = 131, + AsyncKeyword = 132, + AwaitKeyword = 133, + BooleanKeyword = 134, + ConstructorKeyword = 135, + DeclareKeyword = 136, + GetKeyword = 137, + InferKeyword = 138, + IntrinsicKeyword = 139, + IsKeyword = 140, + KeyOfKeyword = 141, + ModuleKeyword = 142, + NamespaceKeyword = 143, + NeverKeyword = 144, + OutKeyword = 145, + ReadonlyKeyword = 146, + RequireKeyword = 147, + NumberKeyword = 148, + ObjectKeyword = 149, + SatisfiesKeyword = 150, + SetKeyword = 151, + StringKeyword = 152, + SymbolKeyword = 153, + TypeKeyword = 154, + UndefinedKeyword = 155, + UniqueKeyword = 156, + UnknownKeyword = 157, + FromKeyword = 158, + GlobalKeyword = 159, + BigIntKeyword = 160, + OverrideKeyword = 161, + OfKeyword = 162, + QualifiedName = 163, + ComputedPropertyName = 164, + TypeParameter = 165, + Parameter = 166, + Decorator = 167, + PropertySignature = 168, + PropertyDeclaration = 169, + MethodSignature = 170, + MethodDeclaration = 171, + ClassStaticBlockDeclaration = 172, + Constructor = 173, + GetAccessor = 174, + SetAccessor = 175, + CallSignature = 176, + ConstructSignature = 177, + IndexSignature = 178, + TypePredicate = 179, + TypeReference = 180, + FunctionType = 181, + ConstructorType = 182, + TypeQuery = 183, + TypeLiteral = 184, + ArrayType = 185, + TupleType = 186, + OptionalType = 187, + RestType = 188, + UnionType = 189, + IntersectionType = 190, + ConditionalType = 191, + InferType = 192, + ParenthesizedType = 193, + ThisType = 194, + TypeOperator = 195, + IndexedAccessType = 196, + MappedType = 197, + LiteralType = 198, + NamedTupleMember = 199, + TemplateLiteralType = 200, + TemplateLiteralTypeSpan = 201, + ImportType = 202, + ObjectBindingPattern = 203, + ArrayBindingPattern = 204, + BindingElement = 205, + ArrayLiteralExpression = 206, + ObjectLiteralExpression = 207, + PropertyAccessExpression = 208, + ElementAccessExpression = 209, + CallExpression = 210, + NewExpression = 211, + TaggedTemplateExpression = 212, + TypeAssertionExpression = 213, + ParenthesizedExpression = 214, + FunctionExpression = 215, + ArrowFunction = 216, + DeleteExpression = 217, + TypeOfExpression = 218, + VoidExpression = 219, + AwaitExpression = 220, + PrefixUnaryExpression = 221, + PostfixUnaryExpression = 222, + BinaryExpression = 223, + ConditionalExpression = 224, + TemplateExpression = 225, + YieldExpression = 226, + SpreadElement = 227, + ClassExpression = 228, + OmittedExpression = 229, + ExpressionWithTypeArguments = 230, + AsExpression = 231, + NonNullExpression = 232, + MetaProperty = 233, + SyntheticExpression = 234, + SatisfiesExpression = 235, + TemplateSpan = 236, + SemicolonClassElement = 237, + Block = 238, + EmptyStatement = 239, + VariableStatement = 240, + ExpressionStatement = 241, + IfStatement = 242, + DoStatement = 243, + WhileStatement = 244, + ForStatement = 245, + ForInStatement = 246, + ForOfStatement = 247, + ContinueStatement = 248, + BreakStatement = 249, + ReturnStatement = 250, + WithStatement = 251, + SwitchStatement = 252, + LabeledStatement = 253, + ThrowStatement = 254, + TryStatement = 255, + DebuggerStatement = 256, + VariableDeclaration = 257, + VariableDeclarationList = 258, + FunctionDeclaration = 259, + ClassDeclaration = 260, + InterfaceDeclaration = 261, + TypeAliasDeclaration = 262, + EnumDeclaration = 263, + ModuleDeclaration = 264, + ModuleBlock = 265, + CaseBlock = 266, + NamespaceExportDeclaration = 267, + ImportEqualsDeclaration = 268, + ImportDeclaration = 269, + ImportClause = 270, + NamespaceImport = 271, + NamedImports = 272, + ImportSpecifier = 273, + ExportAssignment = 274, + ExportDeclaration = 275, + NamedExports = 276, + NamespaceExport = 277, + ExportSpecifier = 278, + MissingDeclaration = 279, + ExternalModuleReference = 280, + JsxElement = 281, + JsxSelfClosingElement = 282, + JsxOpeningElement = 283, + JsxClosingElement = 284, + JsxFragment = 285, + JsxOpeningFragment = 286, + JsxClosingFragment = 287, + JsxAttribute = 288, + JsxAttributes = 289, + JsxSpreadAttribute = 290, + JsxExpression = 291, + CaseClause = 292, + DefaultClause = 293, + HeritageClause = 294, + CatchClause = 295, + AssertClause = 296, + AssertEntry = 297, + ImportTypeAssertionContainer = 298, + PropertyAssignment = 299, + ShorthandPropertyAssignment = 300, + SpreadAssignment = 301, + EnumMember = 302, + UnparsedPrologue = 303, + UnparsedPrepend = 304, + UnparsedText = 305, + UnparsedInternalText = 306, + UnparsedSyntheticReference = 307, + SourceFile = 308, + Bundle = 309, + UnparsedSource = 310, + InputFiles = 311, + JSDocTypeExpression = 312, + JSDocNameReference = 313, + JSDocMemberName = 314, + JSDocAllType = 315, + JSDocUnknownType = 316, + JSDocNullableType = 317, + JSDocNonNullableType = 318, + JSDocOptionalType = 319, + JSDocFunctionType = 320, + JSDocVariadicType = 321, + JSDocNamepathType = 322, + JSDoc = 323, /** @deprecated Use SyntaxKind.JSDoc */ - JSDocComment = 320, - JSDocText = 321, - JSDocTypeLiteral = 322, - JSDocSignature = 323, - JSDocLink = 324, - JSDocLinkCode = 325, - JSDocLinkPlain = 326, - JSDocTag = 327, - JSDocAugmentsTag = 328, - JSDocImplementsTag = 329, - JSDocAuthorTag = 330, - JSDocDeprecatedTag = 331, - JSDocClassTag = 332, - JSDocPublicTag = 333, - JSDocPrivateTag = 334, - JSDocProtectedTag = 335, - JSDocReadonlyTag = 336, - JSDocOverrideTag = 337, - JSDocCallbackTag = 338, - JSDocEnumTag = 339, - JSDocParameterTag = 340, - JSDocReturnTag = 341, - JSDocThisTag = 342, - JSDocTypeTag = 343, - JSDocTemplateTag = 344, - JSDocTypedefTag = 345, - JSDocSeeTag = 346, - JSDocPropertyTag = 347, - SyntaxList = 348, - NotEmittedStatement = 349, - PartiallyEmittedExpression = 350, - CommaListExpression = 351, - MergeDeclarationMarker = 352, - EndOfDeclarationMarker = 353, - SyntheticReferenceExpression = 354, - Count = 355, + JSDocComment = 323, + JSDocText = 324, + JSDocTypeLiteral = 325, + JSDocSignature = 326, + JSDocLink = 327, + JSDocLinkCode = 328, + JSDocLinkPlain = 329, + JSDocTag = 330, + JSDocAugmentsTag = 331, + JSDocImplementsTag = 332, + JSDocAuthorTag = 333, + JSDocDeprecatedTag = 334, + JSDocClassTag = 335, + JSDocPublicTag = 336, + JSDocPrivateTag = 337, + JSDocProtectedTag = 338, + JSDocReadonlyTag = 339, + JSDocOverrideTag = 340, + JSDocCallbackTag = 341, + JSDocEnumTag = 342, + JSDocParameterTag = 343, + JSDocReturnTag = 344, + JSDocThisTag = 345, + JSDocTypeTag = 346, + JSDocTemplateTag = 347, + JSDocTypedefTag = 348, + JSDocSeeTag = 349, + JSDocPropertyTag = 350, + SyntaxList = 351, + NotEmittedStatement = 352, + PartiallyEmittedExpression = 353, + CommaListExpression = 354, + MergeDeclarationMarker = 355, + EndOfDeclarationMarker = 356, + SyntheticReferenceExpression = 357, + Count = 358, FirstAssignment = 63, LastAssignment = 78, FirstCompoundAssignment = 64, @@ -470,15 +473,15 @@ declare namespace ts { FirstReservedWord = 81, LastReservedWord = 116, FirstKeyword = 81, - LastKeyword = 160, + LastKeyword = 162, FirstFutureReservedWord = 117, LastFutureReservedWord = 125, - FirstTypeNode = 177, - LastTypeNode = 200, + FirstTypeNode = 179, + LastTypeNode = 202, FirstPunctuation = 18, LastPunctuation = 78, FirstToken = 0, - LastToken = 160, + LastToken = 162, FirstTriviaToken = 2, LastTriviaToken = 7, FirstLiteralToken = 8, @@ -487,20 +490,20 @@ declare namespace ts { LastTemplateToken = 17, FirstBinaryOperator = 29, LastBinaryOperator = 78, - FirstStatement = 237, - LastStatement = 253, - FirstNode = 161, - FirstJSDocNode = 309, - LastJSDocNode = 347, - FirstJSDocTagNode = 327, - LastJSDocTagNode = 347, + FirstStatement = 240, + LastStatement = 256, + FirstNode = 163, + FirstJSDocNode = 312, + LastJSDocNode = 350, + FirstJSDocTagNode = 330, + LastJSDocTagNode = 350, } export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia; export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral; export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail; export type PunctuationSyntaxKind = SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.DotToken | SyntaxKind.DotDotDotToken | SyntaxKind.SemicolonToken | SyntaxKind.CommaToken | SyntaxKind.QuestionDotToken | SyntaxKind.LessThanToken | SyntaxKind.LessThanSlashToken | SyntaxKind.GreaterThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.EqualsEqualsToken | SyntaxKind.ExclamationEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.EqualsGreaterThanToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.AsteriskToken | SyntaxKind.AsteriskAsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken | SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken | SyntaxKind.ExclamationToken | SyntaxKind.TildeToken | SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken | SyntaxKind.QuestionQuestionToken | SyntaxKind.QuestionToken | SyntaxKind.ColonToken | SyntaxKind.AtToken | SyntaxKind.BacktickToken | SyntaxKind.HashToken | SyntaxKind.EqualsToken | SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken; - export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword; - export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword; + export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SatisfiesKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword; + export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword; export type KeywordTypeSyntaxKind = SyntaxKind.AnyKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword; export type TokenSyntaxKind = SyntaxKind.Unknown | SyntaxKind.EndOfFileToken | TriviaSyntaxKind | LiteralSyntaxKind | PseudoLiteralSyntaxKind | PunctuationSyntaxKind | SyntaxKind.Identifier | KeywordSyntaxKind; export type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken; @@ -545,9 +548,10 @@ declare namespace ts { Protected = 16, Static = 32, Readonly = 64, - Abstract = 128, - Async = 256, - Default = 512, + Accessor = 128, + Abstract = 256, + Async = 512, + Default = 1024, Const = 2048, HasComputedJSDocModifiers = 4096, Deprecated = 8192, @@ -559,10 +563,10 @@ declare namespace ts { AccessibilityModifier = 28, ParameterPropertyModifier = 16476, NonPublicAccessibilityModifier = 24, - TypeScriptModifier = 116958, - ExportDefault = 513, - All = 257023, - Modifier = 125951 + TypeScriptModifier = 117086, + ExportDefault = 1025, + All = 258047, + Modifier = 126975 } export enum JsxFlags { None = 0, @@ -618,6 +622,7 @@ declare namespace ts { export interface ModifierToken extends KeywordToken { } export type AbstractKeyword = ModifierToken; + export type AccessorKeyword = ModifierToken; export type AsyncKeyword = ModifierToken; export type ConstKeyword = ModifierToken; export type DeclareKeyword = ModifierToken; @@ -633,11 +638,11 @@ declare namespace ts { export type StaticKeyword = ModifierToken; /** @deprecated Use `ReadonlyKeyword` instead. */ export type ReadonlyToken = ReadonlyKeyword; - export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword; + export type Modifier = AbstractKeyword | AccessorKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OutKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword; export type ModifierLike = Modifier | Decorator; export type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword; export type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword; - export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword; + export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword | AccessorKeyword; export type ModifiersArray = NodeArray; export enum GeneratedIdentifierFlags { None = 0, @@ -764,6 +769,9 @@ declare namespace ts { readonly type?: TypeNode; readonly initializer?: Expression; } + export interface AutoAccessorPropertyDeclaration extends PropertyDeclaration { + _autoAccessorBrand: any; + } export interface ObjectLiteralElement extends NamedDeclaration { _objectLiteralBrand: any; readonly name?: PropertyName; @@ -1340,6 +1348,11 @@ declare namespace ts { readonly type: TypeNode; readonly expression: UnaryExpression; } + export interface SatisfiesExpression extends Expression { + readonly kind: SyntaxKind.SatisfiesExpression; + readonly expression: Expression; + readonly type: TypeNode; + } export type AssertionExpression = TypeAssertion | AsExpression; export interface NonNullExpression extends LeftHandSideExpression { readonly kind: SyntaxKind.NonNullExpression; @@ -2316,6 +2329,7 @@ declare namespace ts { getPrivateIdentifierPropertyOfType(leftType: Type, name: string, location: Node): Symbol | undefined; getIndexInfoOfType(type: Type, kind: IndexKind): IndexInfo | undefined; getIndexInfosOfType(type: Type): readonly IndexInfo[]; + getIndexInfosOfIndexSymbol: (indexSymbol: Symbol) => IndexInfo[]; getSignaturesOfType(type: Type, kind: SignatureKind): readonly Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type | undefined; getBaseTypes(type: InterfaceType): BaseType[]; @@ -2562,6 +2576,7 @@ declare namespace ts { MethodExcludes = 103359, GetAccessorExcludes = 46015, SetAccessorExcludes = 78783, + AccessorExcludes = 13247, TypeParameterExcludes = 526824, TypeAliasExcludes = 788968, AliasExcludes = 2097152, @@ -2832,7 +2847,7 @@ declare namespace ts { export interface SubstitutionType extends InstantiableType { objectFlags: ObjectFlags; baseType: Type; - substitute: Type; + constraint: Type; } export enum SignatureKind { Call = 0, @@ -3305,6 +3320,8 @@ declare namespace ts { */ resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[]; getEnvironmentVariable?(name: string): string | undefined; + /** If provided along with custom resolveModuleNames or resolveTypeReferenceDirectives, used to determine if unchanged file path needs to re-resolve modules/type reference directives */ + hasInvalidatedResolutions?(filePath: Path): boolean; createHash?(data: string): string; getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined; } @@ -3387,7 +3404,7 @@ declare namespace ts { createNumericLiteral(value: string | number, numericLiteralFlags?: TokenFlags): NumericLiteral; createBigIntLiteral(value: string | PseudoBigInt): BigIntLiteral; createStringLiteral(text: string, isSingleQuote?: boolean): StringLiteral; - createStringLiteralFromNode(sourceNode: PropertyNameLiteral, isSingleQuote?: boolean): StringLiteral; + createStringLiteralFromNode(sourceNode: PropertyNameLiteral | PrivateIdentifier, isSingleQuote?: boolean): StringLiteral; createRegularExpressionLiteral(text: string): RegularExpressionLiteral; createIdentifier(text: string): Identifier; /** @@ -3412,6 +3429,8 @@ declare namespace ts { /** Create a unique name generated for a node. */ getGeneratedNameForNode(node: Node | undefined, flags?: GeneratedIdentifierFlags): Identifier; createPrivateIdentifier(text: string): PrivateIdentifier; + createUniquePrivateName(text?: string): PrivateIdentifier; + getGeneratedPrivateNameForNode(node: Node): PrivateIdentifier; createToken(token: SyntaxKind.SuperKeyword): SuperExpression; createToken(token: SyntaxKind.ThisKeyword): ThisExpression; createToken(token: SyntaxKind.NullKeyword): NullLiteral; @@ -3587,6 +3606,8 @@ declare namespace ts { updateNonNullChain(node: NonNullChain, expression: Expression): NonNullChain; createMetaProperty(keywordToken: MetaProperty["keywordToken"], name: Identifier): MetaProperty; updateMetaProperty(node: MetaProperty, name: Identifier): MetaProperty; + createSatisfiesExpression(expression: Expression, type: TypeNode): SatisfiesExpression; + updateSatisfiesExpression(node: SatisfiesExpression, expression: Expression, type: TypeNode): SatisfiesExpression; createTemplateSpan(expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; updateTemplateSpan(node: TemplateSpan, expression: Expression, literal: TemplateMiddle | TemplateTail): TemplateSpan; createSemicolonClassElement(): SemicolonClassElement; @@ -3948,7 +3969,7 @@ declare namespace ts { (nodes: NodeArray, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray; (nodes: NodeArray | undefined, visitor: Visitor | undefined, test?: (node: Node) => boolean, start?: number, count?: number): NodeArray | undefined; } - export type VisitResult = T | T[] | undefined; + export type VisitResult = T | readonly T[] | undefined; export interface Printer { /** * Print a node and its subtree as-is, without any emit transformations. @@ -4515,6 +4536,7 @@ declare namespace ts { function isClassElement(node: Node): node is ClassElement; function isClassLike(node: Node): node is ClassLikeDeclaration; function isAccessor(node: Node): node is AccessorDeclaration; + function isAutoAccessorPropertyDeclaration(node: Node): node is AutoAccessorPropertyDeclaration; function isModifierLike(node: Node): node is ModifierLike; function isTypeElement(node: Node): node is TypeElement; function isClassOrTypeElement(node: Node): node is ClassElement | TypeElement; @@ -4716,6 +4738,7 @@ declare namespace ts { function isOmittedExpression(node: Node): node is OmittedExpression; function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments; function isAsExpression(node: Node): node is AsExpression; + function isSatisfiesExpression(node: Node): node is SatisfiesExpression; function isNonNullExpression(node: Node): node is NonNullExpression; function isMetaProperty(node: Node): node is MetaProperty; function isSyntheticExpression(node: Node): node is SyntheticExpression; @@ -5376,9 +5399,9 @@ declare namespace ts { /** If provided, called with Diagnostic message that informs about change in watch status */ onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number): void; /** Used to watch changes in source files, missing files needed to update the program or config file */ - watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: CompilerOptions): FileWatcher; + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ - watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: CompilerOptions): FileWatcher; + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher; /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; /** If provided, will be used to reset existing delayed compilation */ @@ -5421,6 +5444,8 @@ declare namespace ts { resolveModuleNames?(moduleNames: string[], containingFile: string, reusedNames: string[] | undefined, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingSourceFile?: SourceFile): (ResolvedModule | undefined)[]; /** If provided, used to resolve type reference directives, otherwise typescript's default resolution */ resolveTypeReferenceDirectives?(typeReferenceDirectiveNames: string[] | readonly FileReference[], containingFile: string, redirectedReference: ResolvedProjectReference | undefined, options: CompilerOptions, containingFileMode?: SourceFile["impliedNodeFormat"] | undefined): (ResolvedTypeReferenceDirective | undefined)[]; + /** If provided along with custom resolveModuleNames or resolveTypeReferenceDirectives, used to determine if unchanged file path needs to re-resolve modules/type reference directives */ + hasInvalidatedResolutions?(filePath: Path): boolean; /** * Returns the module resolution cache used by a provided `resolveModuleNames` implementation so that any non-name module resolution operations (eg, package.json lookup) can reuse it */ @@ -6007,8 +6032,15 @@ declare namespace ts { type: "file"; fileName: string; } + enum OrganizeImportsMode { + All = "All", + SortAndCombine = "SortAndCombine", + RemoveUnused = "RemoveUnused" + } interface OrganizeImportsArgs extends CombinedCodeFixScope { + /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; + mode?: OrganizeImportsMode; } type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#" | " "; enum CompletionTriggerKind { @@ -6526,7 +6558,7 @@ declare namespace ts { isGlobalCompletion: boolean; isMemberCompletion: boolean; /** - * In the absence of `CompletionEntry["replacementSpan"], the editor may choose whether to use + * In the absence of `CompletionEntry["replacementSpan"]`, the editor may choose whether to use * this span or its default one. If `CompletionEntry["replacementSpan"]` is defined, that span * must be used to commit that completion entry. */ @@ -6739,6 +6771,8 @@ declare namespace ts { * interface Y { foo:number; } */ memberVariableElement = "property", + /** class X { [public|private]* accessor foo: number; } */ + memberAccessorVariableElement = "accessor", /** * class X { constructor() { } } * class X { static { } } @@ -7018,7 +7052,7 @@ declare namespace ts { (text: string, isSingleQuote?: boolean | undefined, hasExtendedUnicodeEscape?: boolean | undefined): StringLiteral; }; /** @deprecated Use `factory.createStringLiteralFromNode` or the factory supplied by your transformation context instead. */ - const createStringLiteralFromNode: (sourceNode: PropertyNameLiteral, isSingleQuote?: boolean | undefined) => StringLiteral; + const createStringLiteralFromNode: (sourceNode: PrivateIdentifier | PropertyNameLiteral, isSingleQuote?: boolean | undefined) => StringLiteral; /** @deprecated Use `factory.createRegularExpressionLiteral` or the factory supplied by your transformation context instead. */ const createRegularExpressionLiteral: (text: string) => RegularExpressionLiteral; /** @deprecated Use `factory.createLoopVariable` or the factory supplied by your transformation context instead. */ diff --git a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js index 4b5cf7c6def4..7e5216130ba6 100644 --- a/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js +++ b/packages/schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript.js @@ -44,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -91,210 +91,15 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -/* @internal */ -var ts; -(function (ts) { - function createMapData() { - var sentinel = {}; - sentinel.prev = sentinel; - return { head: sentinel, tail: sentinel, size: 0 }; - } - function createMapEntry(key, value) { - return { key: key, value: value, next: undefined, prev: undefined }; - } - function sameValueZero(x, y) { - // Treats -0 === 0 and NaN === NaN - return x === y || x !== x && y !== y; - } - function getPrev(entry) { - var prev = entry.prev; - // Entries without a 'prev' have been removed from the map. - // An entry whose 'prev' points to itself is the head of the list and is invalid here. - if (!prev || prev === entry) - throw new Error("Illegal state"); - return prev; - } - function getNext(entry) { - while (entry) { - // Entries without a 'prev' have been removed from the map. Their 'next' - // pointer should point to the previous entry prior to deletion and - // that entry should be skipped to resume iteration. - var skipNext = !entry.prev; - entry = entry.next; - if (skipNext) { - continue; - } - return entry; - } - } - function getEntry(data, key) { - // We walk backwards from 'tail' to prioritize recently added entries. - // We skip 'head' because it is an empty entry used to track iteration start. - for (var entry = data.tail; entry !== data.head; entry = getPrev(entry)) { - if (sameValueZero(entry.key, key)) { - return entry; - } - } - } - function addOrUpdateEntry(data, key, value) { - var existing = getEntry(data, key); - if (existing) { - existing.value = value; - return; - } - var entry = createMapEntry(key, value); - entry.prev = data.tail; - data.tail.next = entry; - data.tail = entry; - data.size++; - return entry; - } - function deleteEntry(data, key) { - // We walk backwards from 'tail' to prioritize recently added entries. - // We skip 'head' because it is an empty entry used to track iteration start. - for (var entry = data.tail; entry !== data.head; entry = getPrev(entry)) { - // all entries in the map should have a 'prev' pointer. - if (entry.prev === undefined) - throw new Error("Illegal state"); - if (sameValueZero(entry.key, key)) { - if (entry.next) { - entry.next.prev = entry.prev; - } - else { - // an entry in the map without a 'next' pointer must be the 'tail'. - if (data.tail !== entry) - throw new Error("Illegal state"); - data.tail = entry.prev; - } - entry.prev.next = entry.next; - entry.next = entry.prev; - entry.prev = undefined; - data.size--; - return entry; - } - } - } - function clearEntries(data) { - var node = data.tail; - while (node !== data.head) { - var prev = getPrev(node); - node.next = data.head; - node.prev = undefined; - node = prev; - } - data.head.next = undefined; - data.tail = data.head; - data.size = 0; - } - function forEachEntry(data, action) { - var entry = data.head; - while (entry) { - entry = getNext(entry); - if (entry) { - action(entry.value, entry.key); - } - } - } - function forEachIteration(iterator, action) { - if (iterator) { - for (var step = iterator.next(); !step.done; step = iterator.next()) { - action(step.value); - } - } - } - function createIteratorData(data, selector) { - return { current: data.head, selector: selector }; - } - function iteratorNext(data) { - // Navigate to the next entry. - data.current = getNext(data.current); - if (data.current) { - return { value: data.selector(data.current.key, data.current.value), done: false }; - } - else { - return { value: undefined, done: true }; - } - } - /* @internal */ - var ShimCollections; - (function (ShimCollections) { - function createMapShim(getIterator) { - var MapIterator = /** @class */ (function () { - function MapIterator(data, selector) { - this._data = createIteratorData(data, selector); - } - MapIterator.prototype.next = function () { return iteratorNext(this._data); }; - return MapIterator; - }()); - return /** @class */ (function () { - function Map(iterable) { - var _this = this; - this._mapData = createMapData(); - forEachIteration(getIterator(iterable), function (_a) { - var key = _a[0], value = _a[1]; - return _this.set(key, value); - }); - } - Object.defineProperty(Map.prototype, "size", { - get: function () { return this._mapData.size; }, - enumerable: false, - configurable: true - }); - Map.prototype.get = function (key) { var _a; return (_a = getEntry(this._mapData, key)) === null || _a === void 0 ? void 0 : _a.value; }; - Map.prototype.set = function (key, value) { return addOrUpdateEntry(this._mapData, key, value), this; }; - Map.prototype.has = function (key) { return !!getEntry(this._mapData, key); }; - Map.prototype.delete = function (key) { return !!deleteEntry(this._mapData, key); }; - Map.prototype.clear = function () { clearEntries(this._mapData); }; - Map.prototype.keys = function () { return new MapIterator(this._mapData, function (key, _value) { return key; }); }; - Map.prototype.values = function () { return new MapIterator(this._mapData, function (_key, value) { return value; }); }; - Map.prototype.entries = function () { return new MapIterator(this._mapData, function (key, value) { return [key, value]; }); }; - Map.prototype.forEach = function (action) { forEachEntry(this._mapData, action); }; - return Map; - }()); - } - ShimCollections.createMapShim = createMapShim; - function createSetShim(getIterator) { - var SetIterator = /** @class */ (function () { - function SetIterator(data, selector) { - this._data = createIteratorData(data, selector); - } - SetIterator.prototype.next = function () { return iteratorNext(this._data); }; - return SetIterator; - }()); - return /** @class */ (function () { - function Set(iterable) { - var _this = this; - this._mapData = createMapData(); - forEachIteration(getIterator(iterable), function (value) { return _this.add(value); }); - } - Object.defineProperty(Set.prototype, "size", { - get: function () { return this._mapData.size; }, - enumerable: false, - configurable: true - }); - Set.prototype.add = function (value) { return addOrUpdateEntry(this._mapData, value, value), this; }; - Set.prototype.has = function (value) { return !!getEntry(this._mapData, value); }; - Set.prototype.delete = function (value) { return !!deleteEntry(this._mapData, value); }; - Set.prototype.clear = function () { clearEntries(this._mapData); }; - Set.prototype.keys = function () { return new SetIterator(this._mapData, function (key, _value) { return key; }); }; - Set.prototype.values = function () { return new SetIterator(this._mapData, function (_key, value) { return value; }); }; - Set.prototype.entries = function () { return new SetIterator(this._mapData, function (key, value) { return [key, value]; }); }; - Set.prototype.forEach = function (action) { forEachEntry(this._mapData, action); }; - return Set; - }()); - } - ShimCollections.createSetShim = createSetShim; - })(ShimCollections = ts.ShimCollections || (ts.ShimCollections = {})); -})(ts || (ts = {})); var ts; (function (ts) { // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configurePrerelease` too. - ts.versionMajorMinor = "4.8"; + ts.versionMajorMinor = "4.9"; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.2"; + ts.version = "".concat(ts.versionMajorMinor, ".3"); /* @internal */ var Comparison; (function (Comparison) { @@ -315,8 +120,12 @@ var ts; function tryGetNativeMap() { // Internet Explorer's Map doesn't support iteration, so don't use it. var gMap = globals === null || globals === void 0 ? void 0 : globals.Map; - // eslint-disable-next-line no-in-operator - return typeof gMap !== "undefined" && "entries" in gMap.prototype && new gMap([[0, 0]]).size === 1 ? gMap : undefined; + // eslint-disable-next-line local/no-in-operator + var constructor = typeof gMap !== "undefined" && "entries" in gMap.prototype && new gMap([[0, 0]]).size === 1 ? gMap : undefined; + if (!constructor) { + throw new Error("No compatible Map implementation found."); + } + return constructor; } NativeCollections.tryGetNativeMap = tryGetNativeMap; /** @@ -325,24 +134,19 @@ var ts; function tryGetNativeSet() { // Internet Explorer's Set doesn't support iteration, so don't use it. var gSet = globals === null || globals === void 0 ? void 0 : globals.Set; - // eslint-disable-next-line no-in-operator - return typeof gSet !== "undefined" && "entries" in gSet.prototype && new gSet([0]).size === 1 ? gSet : undefined; + // eslint-disable-next-line local/no-in-operator + var constructor = typeof gSet !== "undefined" && "entries" in gSet.prototype && new gSet([0]).size === 1 ? gSet : undefined; + if (!constructor) { + throw new Error("No compatible Set implementation found."); + } + return constructor; } NativeCollections.tryGetNativeSet = tryGetNativeSet; })(NativeCollections || (NativeCollections = {})); /* @internal */ - ts.Map = getCollectionImplementation("Map", "tryGetNativeMap", "createMapShim"); + ts.Map = NativeCollections.tryGetNativeMap(); /* @internal */ - ts.Set = getCollectionImplementation("Set", "tryGetNativeSet", "createSetShim"); - /* @internal */ - function getCollectionImplementation(name, nativeFactory, shimFactory) { - var _a; - // NOTE: ts.ShimCollections will be defined for typescriptServices.js but not for tsc.js, so we must test for it. - var constructor = (_a = NativeCollections[nativeFactory]()) !== null && _a !== void 0 ? _a : ts.ShimCollections === null || ts.ShimCollections === void 0 ? void 0 : ts.ShimCollections[shimFactory](ts.getIterator); - if (constructor) - return constructor; - throw new Error("TypeScript requires an environment that provides a compatible native ".concat(name, " implementation.")); - } + ts.Set = NativeCollections.tryGetNativeSet(); })(ts || (ts = {})); /* @internal */ var ts; @@ -1058,15 +862,18 @@ var ts; function insertSorted(array, insert, compare, allowDuplicates) { if (array.length === 0) { array.push(insert); - return; + return true; } var insertIndex = binarySearch(array, insert, identity, compare); if (insertIndex < 0) { array.splice(~insertIndex, 0, insert); + return true; } - else if (allowDuplicates) { + if (allowDuplicates) { array.splice(insertIndex, 0, insert); + return true; } + return false; } ts.insertSorted = insertSorted; function sortAndDeduplicate(array, comparer, equalityComparer) { @@ -1346,6 +1153,13 @@ var ts; : undefined; } ts.singleOrUndefined = singleOrUndefined; + /** + * Returns the only element of an array if it contains only one element; throws otherwise. + */ + function single(array) { + return ts.Debug.checkDefined(singleOrUndefined(array)); + } + ts.single = single; function singleOrMany(array) { return array && array.length === 1 ? array[0] @@ -2077,8 +1891,8 @@ var ts; return compareValues(a === null || a === void 0 ? void 0 : a.start, b === null || b === void 0 ? void 0 : b.start) || compareValues(a === null || a === void 0 ? void 0 : a.length, b === null || b === void 0 ? void 0 : b.length); } ts.compareTextSpans = compareTextSpans; - function min(a, b, compare) { - return compare(a, b) === -1 /* Comparison.LessThan */ ? a : b; + function min(items, compare) { + return reduceLeft(items, function (x, y) { return compare(x, y) === -1 /* Comparison.LessThan */ ? x : y; }); } ts.min = min; /** @@ -2869,7 +2683,7 @@ var ts; if (typeof func !== "function") { return ""; } - else if (func.hasOwnProperty("name")) { + else if (ts.hasProperty(func, "name")) { return func.name; } else { @@ -3019,7 +2833,7 @@ var ts; Debug.formatControlFlowGraph = formatControlFlowGraph; var flowNodeProto; function attachFlowNodeDebugInfoWorker(flowNode) { - if (!("__debugFlowFlags" in flowNode)) { // eslint-disable-line no-in-operator + if (!("__debugFlowFlags" in flowNode)) { // eslint-disable-line local/no-in-operator Object.defineProperties(flowNode, { // for use with vscode-js-debug's new customDescriptionGenerator in launch.json __tsDebuggerDisplay: { @@ -3065,7 +2879,7 @@ var ts; Debug.attachFlowNodeDebugInfo = attachFlowNodeDebugInfo; var nodeArrayProto; function attachNodeArrayDebugInfoWorker(array) { - if (!("__tsDebuggerDisplay" in array)) { // eslint-disable-line no-in-operator + if (!("__tsDebuggerDisplay" in array)) { // eslint-disable-line local/no-in-operator Object.defineProperties(array, { __tsDebuggerDisplay: { value: function (defaultValue) { @@ -3194,7 +3008,7 @@ var ts; ]; for (var _i = 0, nodeConstructors_1 = nodeConstructors; _i < nodeConstructors_1.length; _i++) { var ctor = nodeConstructors_1[_i]; - if (!ctor.prototype.hasOwnProperty("__debugKind")) { + if (!ts.hasProperty(ctor.prototype, "__debugKind")) { Object.defineProperties(ctor.prototype, { // for use with vscode-js-debug's new customDescriptionGenerator in launch.json __tsDebuggerDisplay: { @@ -3391,11 +3205,13 @@ var ts; // > alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers // > MUST NOT include leading zeroes. var prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i; + var prereleasePartRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i; // https://semver.org/#spec-item-10 // > Build metadata MAY be denoted by appending a plus sign and a series of dot separated // > identifiers immediately following the patch or pre-release version. Identifiers MUST // > comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. var buildRegExp = /^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i; + var buildPartRegExp = /^[a-z0-9-]+$/i; // https://semver.org/#spec-item-9 // > Numeric identifiers MUST NOT include leading zeroes. var numericIdentifierRegExp = /^(0|[1-9]\d*)$/; @@ -3415,13 +3231,15 @@ var ts; ts.Debug.assert(major >= 0, "Invalid argument: major"); ts.Debug.assert(minor >= 0, "Invalid argument: minor"); ts.Debug.assert(patch >= 0, "Invalid argument: patch"); - ts.Debug.assert(!prerelease || prereleaseRegExp.test(prerelease), "Invalid argument: prerelease"); - ts.Debug.assert(!build || buildRegExp.test(build), "Invalid argument: build"); + var prereleaseArray = prerelease ? ts.isArray(prerelease) ? prerelease : prerelease.split(".") : ts.emptyArray; + var buildArray = build ? ts.isArray(build) ? build : build.split(".") : ts.emptyArray; + ts.Debug.assert(ts.every(prereleaseArray, function (s) { return prereleasePartRegExp.test(s); }), "Invalid argument: prerelease"); + ts.Debug.assert(ts.every(buildArray, function (s) { return buildPartRegExp.test(s); }), "Invalid argument: build"); this.major = major; this.minor = minor; this.patch = patch; - this.prerelease = prerelease ? prerelease.split(".") : ts.emptyArray; - this.build = build ? build.split(".") : ts.emptyArray; + this.prerelease = prereleaseArray; + this.build = buildArray; } Version.tryParse = function (text) { var result = tryParseComponents(text); @@ -3460,6 +3278,10 @@ var ts; default: return ts.Debug.assertNever(field); } }; + Version.prototype.with = function (fields) { + var _a = fields.major, major = _a === void 0 ? this.major : _a, _b = fields.minor, minor = _b === void 0 ? this.minor : _b, _c = fields.patch, patch = _c === void 0 ? this.patch : _c, _d = fields.prerelease, prerelease = _d === void 0 ? this.prerelease : _d, _e = fields.build, build = _e === void 0 ? this.build : _e; + return new Version(major, minor, patch, prerelease, build); + }; Version.prototype.toString = function () { var result = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); if (ts.some(this.prerelease)) @@ -3468,7 +3290,7 @@ var ts; result += "+".concat(this.build.join(".")); return result; }; - Version.zero = new Version(0, 0, 0); + Version.zero = new Version(0, 0, 0, ["0"]); return Version; }()); ts.Version = Version; @@ -3551,6 +3373,10 @@ var ts; } return undefined; }; + /** + * Tests whether a version matches the range. This is equivalent to `satisfies(version, range, { includePrerelease: true })`. + * in `node-semver`. + */ VersionRange.prototype.test = function (version) { if (typeof version === "string") version = new Version(version); @@ -3661,19 +3487,20 @@ var ts; break; case "<": case ">=": - comparators.push(createComparator(operator, version)); + comparators.push(isWildcard(minor) || isWildcard(patch) ? createComparator(operator, version.with({ prerelease: "0" })) : + createComparator(operator, version)); break; case "<=": case ">": - comparators.push(isWildcard(minor) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("major")) : - isWildcard(patch) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("minor")) : + comparators.push(isWildcard(minor) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("major").with({ prerelease: "0" })) : + isWildcard(patch) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("minor").with({ prerelease: "0" })) : createComparator(operator, version)); break; case "=": case undefined: if (isWildcard(minor) || isWildcard(patch)) { - comparators.push(createComparator(">=", version)); - comparators.push(createComparator("<", version.increment(isWildcard(minor) ? "major" : "minor"))); + comparators.push(createComparator(">=", version.with({ prerelease: "0" }))); + comparators.push(createComparator("<", version.increment(isWildcard(minor) ? "major" : "minor").with({ prerelease: "0" }))); } else { comparators.push(createComparator("=", version)); @@ -3747,6 +3574,8 @@ var ts; typeof performance.mark === "function" && typeof performance.measure === "function" && typeof performance.now === "function" && + typeof performance.clearMarks === "function" && + typeof performance.clearMeasures === "function" && typeof PerformanceObserver === "function"; } function tryGetWebPerformanceHooks() { @@ -3791,7 +3620,9 @@ var ts; if (end === "__performance.measure-fix__") { nodePerformance_1.clearMarks("__performance.measure-fix__"); } - } + }, + clearMarks: function (name) { return nodePerformance_1.clearMarks(name); }, + clearMeasures: function (name) { return nodePerformance_1.clearMeasures(name); }, }; } return { @@ -3924,6 +3755,30 @@ var ts; durations.forEach(function (duration, measureName) { return cb(measureName, duration); }); } performance.forEachMeasure = forEachMeasure; + function forEachMark(cb) { + marks.forEach(function (_time, markName) { return cb(markName); }); + } + performance.forEachMark = forEachMark; + function clearMeasures(name) { + if (name !== undefined) + durations.delete(name); + else + durations.clear(); + performanceImpl === null || performanceImpl === void 0 ? void 0 : performanceImpl.clearMeasures(name); + } + performance.clearMeasures = clearMeasures; + function clearMarks(name) { + if (name !== undefined) { + counts.delete(name); + marks.delete(name); + } + else { + counts.clear(); + marks.clear(); + } + performanceImpl === null || performanceImpl === void 0 ? void 0 : performanceImpl.clearMarks(name); + } + performance.clearMarks = clearMarks; /** * Indicates whether the performance API is enabled. */ @@ -4021,7 +3876,6 @@ var ts; var typeCatalog = []; // NB: id is index + 1 var legendPath; var legend = []; - ; /** Starts tracing for the given project. */ function startTracing(tracingMode, traceDir, configFilePath) { ts.Debug.assert(!ts.tracing, "Tracing already started"); @@ -4226,7 +4080,7 @@ var ts; var substitutionType = type; substitutionProperties = { substitutionBaseType: (_o = substitutionType.baseType) === null || _o === void 0 ? void 0 : _o.id, - substituteType: (_p = substitutionType.substitute) === null || _p === void 0 ? void 0 : _p.id, + constraintType: (_p = substitutionType.constraint) === null || _p === void 0 ? void 0 : _p.id, }; } var reverseMappedProperties = {}; @@ -4426,257 +4280,260 @@ var ts; SyntaxKind[SyntaxKind["YieldKeyword"] = 125] = "YieldKeyword"; // Contextual keywords SyntaxKind[SyntaxKind["AbstractKeyword"] = 126] = "AbstractKeyword"; - SyntaxKind[SyntaxKind["AsKeyword"] = 127] = "AsKeyword"; - SyntaxKind[SyntaxKind["AssertsKeyword"] = 128] = "AssertsKeyword"; - SyntaxKind[SyntaxKind["AssertKeyword"] = 129] = "AssertKeyword"; - SyntaxKind[SyntaxKind["AnyKeyword"] = 130] = "AnyKeyword"; - SyntaxKind[SyntaxKind["AsyncKeyword"] = 131] = "AsyncKeyword"; - SyntaxKind[SyntaxKind["AwaitKeyword"] = 132] = "AwaitKeyword"; - SyntaxKind[SyntaxKind["BooleanKeyword"] = 133] = "BooleanKeyword"; - SyntaxKind[SyntaxKind["ConstructorKeyword"] = 134] = "ConstructorKeyword"; - SyntaxKind[SyntaxKind["DeclareKeyword"] = 135] = "DeclareKeyword"; - SyntaxKind[SyntaxKind["GetKeyword"] = 136] = "GetKeyword"; - SyntaxKind[SyntaxKind["InferKeyword"] = 137] = "InferKeyword"; - SyntaxKind[SyntaxKind["IntrinsicKeyword"] = 138] = "IntrinsicKeyword"; - SyntaxKind[SyntaxKind["IsKeyword"] = 139] = "IsKeyword"; - SyntaxKind[SyntaxKind["KeyOfKeyword"] = 140] = "KeyOfKeyword"; - SyntaxKind[SyntaxKind["ModuleKeyword"] = 141] = "ModuleKeyword"; - SyntaxKind[SyntaxKind["NamespaceKeyword"] = 142] = "NamespaceKeyword"; - SyntaxKind[SyntaxKind["NeverKeyword"] = 143] = "NeverKeyword"; - SyntaxKind[SyntaxKind["OutKeyword"] = 144] = "OutKeyword"; - SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 145] = "ReadonlyKeyword"; - SyntaxKind[SyntaxKind["RequireKeyword"] = 146] = "RequireKeyword"; - SyntaxKind[SyntaxKind["NumberKeyword"] = 147] = "NumberKeyword"; - SyntaxKind[SyntaxKind["ObjectKeyword"] = 148] = "ObjectKeyword"; - SyntaxKind[SyntaxKind["SetKeyword"] = 149] = "SetKeyword"; - SyntaxKind[SyntaxKind["StringKeyword"] = 150] = "StringKeyword"; - SyntaxKind[SyntaxKind["SymbolKeyword"] = 151] = "SymbolKeyword"; - SyntaxKind[SyntaxKind["TypeKeyword"] = 152] = "TypeKeyword"; - SyntaxKind[SyntaxKind["UndefinedKeyword"] = 153] = "UndefinedKeyword"; - SyntaxKind[SyntaxKind["UniqueKeyword"] = 154] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["UnknownKeyword"] = 155] = "UnknownKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 156] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 157] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["BigIntKeyword"] = 158] = "BigIntKeyword"; - SyntaxKind[SyntaxKind["OverrideKeyword"] = 159] = "OverrideKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 160] = "OfKeyword"; + SyntaxKind[SyntaxKind["AccessorKeyword"] = 127] = "AccessorKeyword"; + SyntaxKind[SyntaxKind["AsKeyword"] = 128] = "AsKeyword"; + SyntaxKind[SyntaxKind["AssertsKeyword"] = 129] = "AssertsKeyword"; + SyntaxKind[SyntaxKind["AssertKeyword"] = 130] = "AssertKeyword"; + SyntaxKind[SyntaxKind["AnyKeyword"] = 131] = "AnyKeyword"; + SyntaxKind[SyntaxKind["AsyncKeyword"] = 132] = "AsyncKeyword"; + SyntaxKind[SyntaxKind["AwaitKeyword"] = 133] = "AwaitKeyword"; + SyntaxKind[SyntaxKind["BooleanKeyword"] = 134] = "BooleanKeyword"; + SyntaxKind[SyntaxKind["ConstructorKeyword"] = 135] = "ConstructorKeyword"; + SyntaxKind[SyntaxKind["DeclareKeyword"] = 136] = "DeclareKeyword"; + SyntaxKind[SyntaxKind["GetKeyword"] = 137] = "GetKeyword"; + SyntaxKind[SyntaxKind["InferKeyword"] = 138] = "InferKeyword"; + SyntaxKind[SyntaxKind["IntrinsicKeyword"] = 139] = "IntrinsicKeyword"; + SyntaxKind[SyntaxKind["IsKeyword"] = 140] = "IsKeyword"; + SyntaxKind[SyntaxKind["KeyOfKeyword"] = 141] = "KeyOfKeyword"; + SyntaxKind[SyntaxKind["ModuleKeyword"] = 142] = "ModuleKeyword"; + SyntaxKind[SyntaxKind["NamespaceKeyword"] = 143] = "NamespaceKeyword"; + SyntaxKind[SyntaxKind["NeverKeyword"] = 144] = "NeverKeyword"; + SyntaxKind[SyntaxKind["OutKeyword"] = 145] = "OutKeyword"; + SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 146] = "ReadonlyKeyword"; + SyntaxKind[SyntaxKind["RequireKeyword"] = 147] = "RequireKeyword"; + SyntaxKind[SyntaxKind["NumberKeyword"] = 148] = "NumberKeyword"; + SyntaxKind[SyntaxKind["ObjectKeyword"] = 149] = "ObjectKeyword"; + SyntaxKind[SyntaxKind["SatisfiesKeyword"] = 150] = "SatisfiesKeyword"; + SyntaxKind[SyntaxKind["SetKeyword"] = 151] = "SetKeyword"; + SyntaxKind[SyntaxKind["StringKeyword"] = 152] = "StringKeyword"; + SyntaxKind[SyntaxKind["SymbolKeyword"] = 153] = "SymbolKeyword"; + SyntaxKind[SyntaxKind["TypeKeyword"] = 154] = "TypeKeyword"; + SyntaxKind[SyntaxKind["UndefinedKeyword"] = 155] = "UndefinedKeyword"; + SyntaxKind[SyntaxKind["UniqueKeyword"] = 156] = "UniqueKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 157] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 158] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 159] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["BigIntKeyword"] = 160] = "BigIntKeyword"; + SyntaxKind[SyntaxKind["OverrideKeyword"] = 161] = "OverrideKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 162] = "OfKeyword"; // Parse tree nodes // Names - SyntaxKind[SyntaxKind["QualifiedName"] = 161] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 162] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["QualifiedName"] = 163] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 164] = "ComputedPropertyName"; // Signature elements - SyntaxKind[SyntaxKind["TypeParameter"] = 163] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 164] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 165] = "Decorator"; + SyntaxKind[SyntaxKind["TypeParameter"] = 165] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 166] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 167] = "Decorator"; // TypeMember - SyntaxKind[SyntaxKind["PropertySignature"] = 166] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 167] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 168] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 169] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 170] = "ClassStaticBlockDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 171] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 172] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 173] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 174] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 175] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 176] = "IndexSignature"; + SyntaxKind[SyntaxKind["PropertySignature"] = 168] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 169] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 170] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 171] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 172] = "ClassStaticBlockDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 173] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 174] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 175] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 176] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 177] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 178] = "IndexSignature"; // Type - SyntaxKind[SyntaxKind["TypePredicate"] = 177] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 178] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 179] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 180] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 181] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 182] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 183] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 184] = "TupleType"; - SyntaxKind[SyntaxKind["OptionalType"] = 185] = "OptionalType"; - SyntaxKind[SyntaxKind["RestType"] = 186] = "RestType"; - SyntaxKind[SyntaxKind["UnionType"] = 187] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 188] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 189] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 190] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 191] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 192] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 193] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 194] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 195] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 196] = "LiteralType"; - SyntaxKind[SyntaxKind["NamedTupleMember"] = 197] = "NamedTupleMember"; - SyntaxKind[SyntaxKind["TemplateLiteralType"] = 198] = "TemplateLiteralType"; - SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 199] = "TemplateLiteralTypeSpan"; - SyntaxKind[SyntaxKind["ImportType"] = 200] = "ImportType"; + SyntaxKind[SyntaxKind["TypePredicate"] = 179] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 180] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 181] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 182] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 183] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 184] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 185] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 186] = "TupleType"; + SyntaxKind[SyntaxKind["OptionalType"] = 187] = "OptionalType"; + SyntaxKind[SyntaxKind["RestType"] = 188] = "RestType"; + SyntaxKind[SyntaxKind["UnionType"] = 189] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 190] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 191] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 192] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 193] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 194] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 195] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 196] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 197] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 198] = "LiteralType"; + SyntaxKind[SyntaxKind["NamedTupleMember"] = 199] = "NamedTupleMember"; + SyntaxKind[SyntaxKind["TemplateLiteralType"] = 200] = "TemplateLiteralType"; + SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 201] = "TemplateLiteralTypeSpan"; + SyntaxKind[SyntaxKind["ImportType"] = 202] = "ImportType"; // Binding patterns - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 201] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 202] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 203] = "BindingElement"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 203] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 204] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 205] = "BindingElement"; // Expression - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 204] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 205] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 206] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 207] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 208] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 209] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 210] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 211] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 212] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 213] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 214] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 215] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 216] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 217] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 218] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 219] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 220] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 221] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 222] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 223] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 224] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 225] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 226] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 227] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 228] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 229] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 230] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 231] = "MetaProperty"; - SyntaxKind[SyntaxKind["SyntheticExpression"] = 232] = "SyntheticExpression"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 206] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 207] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 208] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 209] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 210] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 211] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 212] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 213] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 214] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 215] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 216] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 217] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 218] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 219] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 220] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 221] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 222] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 223] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 224] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 225] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 226] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 227] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 228] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 229] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 230] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 231] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 232] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 233] = "MetaProperty"; + SyntaxKind[SyntaxKind["SyntheticExpression"] = 234] = "SyntheticExpression"; + SyntaxKind[SyntaxKind["SatisfiesExpression"] = 235] = "SatisfiesExpression"; // Misc - SyntaxKind[SyntaxKind["TemplateSpan"] = 233] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 234] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 236] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 237] = "SemicolonClassElement"; // Element - SyntaxKind[SyntaxKind["Block"] = 235] = "Block"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 236] = "EmptyStatement"; - SyntaxKind[SyntaxKind["VariableStatement"] = 237] = "VariableStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 238] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 239] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 240] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 241] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 242] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 243] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 244] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 245] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 246] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 247] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 248] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 249] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 250] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 251] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 252] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 253] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 254] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 255] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 256] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 257] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 258] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 259] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 260] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 261] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 262] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 263] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 264] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 265] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 266] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 267] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 268] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 269] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 270] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 271] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 272] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 273] = "NamedExports"; - SyntaxKind[SyntaxKind["NamespaceExport"] = 274] = "NamespaceExport"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 275] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 276] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["Block"] = 238] = "Block"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 239] = "EmptyStatement"; + SyntaxKind[SyntaxKind["VariableStatement"] = 240] = "VariableStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 241] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 242] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 243] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 244] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 245] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 246] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 247] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 248] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 249] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 250] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 251] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 252] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 253] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 254] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 255] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 256] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 257] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 258] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 259] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 260] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 261] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 262] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 263] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 264] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 265] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 266] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 267] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 268] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 269] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 270] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 271] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 272] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 273] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 274] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 275] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 276] = "NamedExports"; + SyntaxKind[SyntaxKind["NamespaceExport"] = 277] = "NamespaceExport"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 278] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 279] = "MissingDeclaration"; // Module references - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 277] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 280] = "ExternalModuleReference"; // JSX - SyntaxKind[SyntaxKind["JsxElement"] = 278] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 279] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 280] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 281] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 282] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 283] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 284] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 285] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 286] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 287] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 288] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxElement"] = 281] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 282] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 283] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 284] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 285] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 286] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 287] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 288] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 289] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 290] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 291] = "JsxExpression"; // Clauses - SyntaxKind[SyntaxKind["CaseClause"] = 289] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 290] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 291] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 292] = "CatchClause"; - SyntaxKind[SyntaxKind["AssertClause"] = 293] = "AssertClause"; - SyntaxKind[SyntaxKind["AssertEntry"] = 294] = "AssertEntry"; - SyntaxKind[SyntaxKind["ImportTypeAssertionContainer"] = 295] = "ImportTypeAssertionContainer"; + SyntaxKind[SyntaxKind["CaseClause"] = 292] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 293] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 294] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 295] = "CatchClause"; + SyntaxKind[SyntaxKind["AssertClause"] = 296] = "AssertClause"; + SyntaxKind[SyntaxKind["AssertEntry"] = 297] = "AssertEntry"; + SyntaxKind[SyntaxKind["ImportTypeAssertionContainer"] = 298] = "ImportTypeAssertionContainer"; // Property assignments - SyntaxKind[SyntaxKind["PropertyAssignment"] = 296] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 297] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 298] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 299] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 300] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 301] = "SpreadAssignment"; // Enum - SyntaxKind[SyntaxKind["EnumMember"] = 299] = "EnumMember"; + SyntaxKind[SyntaxKind["EnumMember"] = 302] = "EnumMember"; // Unparsed - SyntaxKind[SyntaxKind["UnparsedPrologue"] = 300] = "UnparsedPrologue"; - SyntaxKind[SyntaxKind["UnparsedPrepend"] = 301] = "UnparsedPrepend"; - SyntaxKind[SyntaxKind["UnparsedText"] = 302] = "UnparsedText"; - SyntaxKind[SyntaxKind["UnparsedInternalText"] = 303] = "UnparsedInternalText"; - SyntaxKind[SyntaxKind["UnparsedSyntheticReference"] = 304] = "UnparsedSyntheticReference"; + SyntaxKind[SyntaxKind["UnparsedPrologue"] = 303] = "UnparsedPrologue"; + SyntaxKind[SyntaxKind["UnparsedPrepend"] = 304] = "UnparsedPrepend"; + SyntaxKind[SyntaxKind["UnparsedText"] = 305] = "UnparsedText"; + SyntaxKind[SyntaxKind["UnparsedInternalText"] = 306] = "UnparsedInternalText"; + SyntaxKind[SyntaxKind["UnparsedSyntheticReference"] = 307] = "UnparsedSyntheticReference"; // Top-level nodes - SyntaxKind[SyntaxKind["SourceFile"] = 305] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 306] = "Bundle"; - SyntaxKind[SyntaxKind["UnparsedSource"] = 307] = "UnparsedSource"; - SyntaxKind[SyntaxKind["InputFiles"] = 308] = "InputFiles"; + SyntaxKind[SyntaxKind["SourceFile"] = 308] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 309] = "Bundle"; + SyntaxKind[SyntaxKind["UnparsedSource"] = 310] = "UnparsedSource"; + SyntaxKind[SyntaxKind["InputFiles"] = 311] = "InputFiles"; // JSDoc nodes - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 309] = "JSDocTypeExpression"; - SyntaxKind[SyntaxKind["JSDocNameReference"] = 310] = "JSDocNameReference"; - SyntaxKind[SyntaxKind["JSDocMemberName"] = 311] = "JSDocMemberName"; - SyntaxKind[SyntaxKind["JSDocAllType"] = 312] = "JSDocAllType"; - SyntaxKind[SyntaxKind["JSDocUnknownType"] = 313] = "JSDocUnknownType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 314] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 315] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 316] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocFunctionType"] = 317] = "JSDocFunctionType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 318] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDocNamepathType"] = 319] = "JSDocNamepathType"; - SyntaxKind[SyntaxKind["JSDoc"] = 320] = "JSDoc"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 312] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocNameReference"] = 313] = "JSDocNameReference"; + SyntaxKind[SyntaxKind["JSDocMemberName"] = 314] = "JSDocMemberName"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 315] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocUnknownType"] = 316] = "JSDocUnknownType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 317] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 318] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 319] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocFunctionType"] = 320] = "JSDocFunctionType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 321] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDocNamepathType"] = 322] = "JSDocNamepathType"; + SyntaxKind[SyntaxKind["JSDoc"] = 323] = "JSDoc"; /** @deprecated Use SyntaxKind.JSDoc */ - SyntaxKind[SyntaxKind["JSDocComment"] = 320] = "JSDocComment"; - SyntaxKind[SyntaxKind["JSDocText"] = 321] = "JSDocText"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 322] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 323] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocLink"] = 324] = "JSDocLink"; - SyntaxKind[SyntaxKind["JSDocLinkCode"] = 325] = "JSDocLinkCode"; - SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 326] = "JSDocLinkPlain"; - SyntaxKind[SyntaxKind["JSDocTag"] = 327] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 328] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 329] = "JSDocImplementsTag"; - SyntaxKind[SyntaxKind["JSDocAuthorTag"] = 330] = "JSDocAuthorTag"; - SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 331] = "JSDocDeprecatedTag"; - SyntaxKind[SyntaxKind["JSDocClassTag"] = 332] = "JSDocClassTag"; - SyntaxKind[SyntaxKind["JSDocPublicTag"] = 333] = "JSDocPublicTag"; - SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 334] = "JSDocPrivateTag"; - SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 335] = "JSDocProtectedTag"; - SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 336] = "JSDocReadonlyTag"; - SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 337] = "JSDocOverrideTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 338] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocEnumTag"] = 339] = "JSDocEnumTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 340] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 341] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocThisTag"] = 342] = "JSDocThisTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 343] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 344] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 345] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocSeeTag"] = 346] = "JSDocSeeTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 347] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocComment"] = 323] = "JSDocComment"; + SyntaxKind[SyntaxKind["JSDocText"] = 324] = "JSDocText"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 325] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 326] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocLink"] = 327] = "JSDocLink"; + SyntaxKind[SyntaxKind["JSDocLinkCode"] = 328] = "JSDocLinkCode"; + SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 329] = "JSDocLinkPlain"; + SyntaxKind[SyntaxKind["JSDocTag"] = 330] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 331] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 332] = "JSDocImplementsTag"; + SyntaxKind[SyntaxKind["JSDocAuthorTag"] = 333] = "JSDocAuthorTag"; + SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 334] = "JSDocDeprecatedTag"; + SyntaxKind[SyntaxKind["JSDocClassTag"] = 335] = "JSDocClassTag"; + SyntaxKind[SyntaxKind["JSDocPublicTag"] = 336] = "JSDocPublicTag"; + SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 337] = "JSDocPrivateTag"; + SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 338] = "JSDocProtectedTag"; + SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 339] = "JSDocReadonlyTag"; + SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 340] = "JSDocOverrideTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 341] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocEnumTag"] = 342] = "JSDocEnumTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 343] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 344] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocThisTag"] = 345] = "JSDocThisTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 346] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 347] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 348] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocSeeTag"] = 349] = "JSDocSeeTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 350] = "JSDocPropertyTag"; // Synthesized list - SyntaxKind[SyntaxKind["SyntaxList"] = 348] = "SyntaxList"; + SyntaxKind[SyntaxKind["SyntaxList"] = 351] = "SyntaxList"; // Transformation nodes - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 349] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 350] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 351] = "CommaListExpression"; - SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 352] = "MergeDeclarationMarker"; - SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 353] = "EndOfDeclarationMarker"; - SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 354] = "SyntheticReferenceExpression"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 352] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 353] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 354] = "CommaListExpression"; + SyntaxKind[SyntaxKind["MergeDeclarationMarker"] = 355] = "MergeDeclarationMarker"; + SyntaxKind[SyntaxKind["EndOfDeclarationMarker"] = 356] = "EndOfDeclarationMarker"; + SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 357] = "SyntheticReferenceExpression"; // Enum value count - SyntaxKind[SyntaxKind["Count"] = 355] = "Count"; + SyntaxKind[SyntaxKind["Count"] = 358] = "Count"; // Markers SyntaxKind[SyntaxKind["FirstAssignment"] = 63] = "FirstAssignment"; SyntaxKind[SyntaxKind["LastAssignment"] = 78] = "LastAssignment"; @@ -4685,15 +4542,15 @@ var ts; SyntaxKind[SyntaxKind["FirstReservedWord"] = 81] = "FirstReservedWord"; SyntaxKind[SyntaxKind["LastReservedWord"] = 116] = "LastReservedWord"; SyntaxKind[SyntaxKind["FirstKeyword"] = 81] = "FirstKeyword"; - SyntaxKind[SyntaxKind["LastKeyword"] = 160] = "LastKeyword"; + SyntaxKind[SyntaxKind["LastKeyword"] = 162] = "LastKeyword"; SyntaxKind[SyntaxKind["FirstFutureReservedWord"] = 117] = "FirstFutureReservedWord"; SyntaxKind[SyntaxKind["LastFutureReservedWord"] = 125] = "LastFutureReservedWord"; - SyntaxKind[SyntaxKind["FirstTypeNode"] = 177] = "FirstTypeNode"; - SyntaxKind[SyntaxKind["LastTypeNode"] = 200] = "LastTypeNode"; + SyntaxKind[SyntaxKind["FirstTypeNode"] = 179] = "FirstTypeNode"; + SyntaxKind[SyntaxKind["LastTypeNode"] = 202] = "LastTypeNode"; SyntaxKind[SyntaxKind["FirstPunctuation"] = 18] = "FirstPunctuation"; SyntaxKind[SyntaxKind["LastPunctuation"] = 78] = "LastPunctuation"; SyntaxKind[SyntaxKind["FirstToken"] = 0] = "FirstToken"; - SyntaxKind[SyntaxKind["LastToken"] = 160] = "LastToken"; + SyntaxKind[SyntaxKind["LastToken"] = 162] = "LastToken"; SyntaxKind[SyntaxKind["FirstTriviaToken"] = 2] = "FirstTriviaToken"; SyntaxKind[SyntaxKind["LastTriviaToken"] = 7] = "LastTriviaToken"; SyntaxKind[SyntaxKind["FirstLiteralToken"] = 8] = "FirstLiteralToken"; @@ -4702,15 +4559,15 @@ var ts; SyntaxKind[SyntaxKind["LastTemplateToken"] = 17] = "LastTemplateToken"; SyntaxKind[SyntaxKind["FirstBinaryOperator"] = 29] = "FirstBinaryOperator"; SyntaxKind[SyntaxKind["LastBinaryOperator"] = 78] = "LastBinaryOperator"; - SyntaxKind[SyntaxKind["FirstStatement"] = 237] = "FirstStatement"; - SyntaxKind[SyntaxKind["LastStatement"] = 253] = "LastStatement"; - SyntaxKind[SyntaxKind["FirstNode"] = 161] = "FirstNode"; - SyntaxKind[SyntaxKind["FirstJSDocNode"] = 309] = "FirstJSDocNode"; - SyntaxKind[SyntaxKind["LastJSDocNode"] = 347] = "LastJSDocNode"; - SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 327] = "FirstJSDocTagNode"; - SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 347] = "LastJSDocTagNode"; + SyntaxKind[SyntaxKind["FirstStatement"] = 240] = "FirstStatement"; + SyntaxKind[SyntaxKind["LastStatement"] = 256] = "LastStatement"; + SyntaxKind[SyntaxKind["FirstNode"] = 163] = "FirstNode"; + SyntaxKind[SyntaxKind["FirstJSDocNode"] = 312] = "FirstJSDocNode"; + SyntaxKind[SyntaxKind["LastJSDocNode"] = 350] = "LastJSDocNode"; + SyntaxKind[SyntaxKind["FirstJSDocTagNode"] = 330] = "FirstJSDocTagNode"; + SyntaxKind[SyntaxKind["LastJSDocTagNode"] = 350] = "LastJSDocTagNode"; /* @internal */ SyntaxKind[SyntaxKind["FirstContextualKeyword"] = 126] = "FirstContextualKeyword"; - /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 160] = "LastContextualKeyword"; + /* @internal */ SyntaxKind[SyntaxKind["LastContextualKeyword"] = 162] = "LastContextualKeyword"; })(SyntaxKind = ts.SyntaxKind || (ts.SyntaxKind = {})); var NodeFlags; (function (NodeFlags) { @@ -4775,9 +4632,10 @@ var ts; ModifierFlags[ModifierFlags["Protected"] = 16] = "Protected"; ModifierFlags[ModifierFlags["Static"] = 32] = "Static"; ModifierFlags[ModifierFlags["Readonly"] = 64] = "Readonly"; - ModifierFlags[ModifierFlags["Abstract"] = 128] = "Abstract"; - ModifierFlags[ModifierFlags["Async"] = 256] = "Async"; - ModifierFlags[ModifierFlags["Default"] = 512] = "Default"; + ModifierFlags[ModifierFlags["Accessor"] = 128] = "Accessor"; + ModifierFlags[ModifierFlags["Abstract"] = 256] = "Abstract"; + ModifierFlags[ModifierFlags["Async"] = 512] = "Async"; + ModifierFlags[ModifierFlags["Default"] = 1024] = "Default"; ModifierFlags[ModifierFlags["Const"] = 2048] = "Const"; ModifierFlags[ModifierFlags["HasComputedJSDocModifiers"] = 4096] = "HasComputedJSDocModifiers"; ModifierFlags[ModifierFlags["Deprecated"] = 8192] = "Deprecated"; @@ -4790,10 +4648,10 @@ var ts; // Accessibility modifiers and 'readonly' can be attached to a parameter in a constructor to make it a property. ModifierFlags[ModifierFlags["ParameterPropertyModifier"] = 16476] = "ParameterPropertyModifier"; ModifierFlags[ModifierFlags["NonPublicAccessibilityModifier"] = 24] = "NonPublicAccessibilityModifier"; - ModifierFlags[ModifierFlags["TypeScriptModifier"] = 116958] = "TypeScriptModifier"; - ModifierFlags[ModifierFlags["ExportDefault"] = 513] = "ExportDefault"; - ModifierFlags[ModifierFlags["All"] = 257023] = "All"; - ModifierFlags[ModifierFlags["Modifier"] = 125951] = "Modifier"; + ModifierFlags[ModifierFlags["TypeScriptModifier"] = 117086] = "TypeScriptModifier"; + ModifierFlags[ModifierFlags["ExportDefault"] = 1025] = "ExportDefault"; + ModifierFlags[ModifierFlags["All"] = 258047] = "All"; + ModifierFlags[ModifierFlags["Modifier"] = 126975] = "Modifier"; })(ModifierFlags = ts.ModifierFlags || (ts.ModifierFlags = {})); var JsxFlags; (function (JsxFlags) { @@ -4989,6 +4847,7 @@ var ts; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyTuple"] = 524288] = "AllowEmptyTuple"; NodeBuilderFlags[NodeBuilderFlags["AllowUniqueESSymbolType"] = 1048576] = "AllowUniqueESSymbolType"; NodeBuilderFlags[NodeBuilderFlags["AllowEmptyIndexInfoType"] = 2097152] = "AllowEmptyIndexInfoType"; + /* @internal */ NodeBuilderFlags[NodeBuilderFlags["WriteComputedProps"] = 1073741824] = "WriteComputedProps"; // Errors (cont.) NodeBuilderFlags[NodeBuilderFlags["AllowNodeModulesRelativePaths"] = 67108864] = "AllowNodeModulesRelativePaths"; /* @internal */ NodeBuilderFlags[NodeBuilderFlags["DoNotIncludeSymbolChain"] = 134217728] = "DoNotIncludeSymbolChain"; @@ -5049,8 +4908,10 @@ var ts; SymbolFormatFlags[SymbolFormatFlags["AllowAnyNodeKind"] = 4] = "AllowAnyNodeKind"; // Prefer aliases which are not directly visible SymbolFormatFlags[SymbolFormatFlags["UseAliasDefinedOutsideCurrentScope"] = 8] = "UseAliasDefinedOutsideCurrentScope"; + // { [E.A]: 1 } + /* @internal */ SymbolFormatFlags[SymbolFormatFlags["WriteComputedProps"] = 16] = "WriteComputedProps"; // Skip building an accessible symbol chain - /* @internal */ SymbolFormatFlags[SymbolFormatFlags["DoNotIncludeSymbolChain"] = 16] = "DoNotIncludeSymbolChain"; + /* @internal */ SymbolFormatFlags[SymbolFormatFlags["DoNotIncludeSymbolChain"] = 32] = "DoNotIncludeSymbolChain"; })(SymbolFormatFlags = ts.SymbolFormatFlags || (ts.SymbolFormatFlags = {})); /* @internal */ var SymbolAccessibility; @@ -5164,6 +5025,7 @@ var ts; SymbolFlags[SymbolFlags["MethodExcludes"] = 103359] = "MethodExcludes"; SymbolFlags[SymbolFlags["GetAccessorExcludes"] = 46015] = "GetAccessorExcludes"; SymbolFlags[SymbolFlags["SetAccessorExcludes"] = 78783] = "SetAccessorExcludes"; + SymbolFlags[SymbolFlags["AccessorExcludes"] = 13247] = "AccessorExcludes"; SymbolFlags[SymbolFlags["TypeParameterExcludes"] = 526824] = "TypeParameterExcludes"; SymbolFlags[SymbolFlags["TypeAliasExcludes"] = 788968] = "TypeAliasExcludes"; SymbolFlags[SymbolFlags["AliasExcludes"] = 2097152] = "AliasExcludes"; @@ -5247,8 +5109,8 @@ var ts; NodeCheckFlags[NodeCheckFlags["SuperInstance"] = 256] = "SuperInstance"; NodeCheckFlags[NodeCheckFlags["SuperStatic"] = 512] = "SuperStatic"; NodeCheckFlags[NodeCheckFlags["ContextChecked"] = 1024] = "ContextChecked"; - NodeCheckFlags[NodeCheckFlags["AsyncMethodWithSuper"] = 2048] = "AsyncMethodWithSuper"; - NodeCheckFlags[NodeCheckFlags["AsyncMethodWithSuperBinding"] = 4096] = "AsyncMethodWithSuperBinding"; + NodeCheckFlags[NodeCheckFlags["MethodWithSuperPropertyAccessInAsync"] = 2048] = "MethodWithSuperPropertyAccessInAsync"; + NodeCheckFlags[NodeCheckFlags["MethodWithSuperPropertyAssignmentInAsync"] = 4096] = "MethodWithSuperPropertyAssignmentInAsync"; NodeCheckFlags[NodeCheckFlags["CaptureArguments"] = 8192] = "CaptureArguments"; NodeCheckFlags[NodeCheckFlags["EnumValuesComputed"] = 16384] = "EnumValuesComputed"; NodeCheckFlags[NodeCheckFlags["LexicalModuleMergesWithClass"] = 32768] = "LexicalModuleMergesWithClass"; @@ -6290,7 +6152,6 @@ var ts; var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels); /* @internal */ ts.unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels); - /* @internal */ function setCustomPollingValues(system) { if (!system.getEnvironmentVariable) { return; @@ -6333,7 +6194,6 @@ var ts; createPollingIntervalBasedLevels(customLevels ? __assign(__assign({}, defaultLevels), customLevels) : defaultLevels); } } - ts.setCustomPollingValues = setCustomPollingValues; function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) { var definedValueCopyToIndex = pollIndex; // Max visit would be all elements of the queue @@ -6379,7 +6239,6 @@ var ts; } } } - /* @internal */ function createDynamicPriorityPollingWatchFile(host) { var watchedFiles = []; var changedFilesInLastPoll = []; @@ -6488,7 +6347,6 @@ var ts; pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === PollingInterval.Low ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingIntervalQueue(pollingInterval)); } } - ts.createDynamicPriorityPollingWatchFile = createDynamicPriorityPollingWatchFile; function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames) { // One file can have multiple watchers var fileWatcherCallbacks = ts.createMultiMap(); @@ -6529,7 +6387,7 @@ var ts; fileCallback(fileName, FileWatcherEventKind.Changed, modifiedTime); } } - }, + }, /*recursive*/ false, PollingInterval.Medium, fallbackOptions); watcher.referenceCount = 0; dirWatchers.set(dirPath, watcher); @@ -6567,42 +6425,38 @@ var ts; pollScheduled = host.setTimeout(pollQueue, PollingInterval.High); } } - /* @internal */ - function createSingleFileWatcherPerName(watchFile, useCaseSensitiveFileNames) { - var cache = new ts.Map(); - var callbacksCache = ts.createMultiMap(); + function createSingleWatcherPerName(cache, useCaseSensitiveFileNames, name, callback, createWatcher) { var toCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); - return function (fileName, callback, pollingInterval, options) { - var path = toCanonicalFileName(fileName); - var existing = cache.get(path); - if (existing) { - existing.refCount++; - } - else { - cache.set(path, { - watcher: watchFile(fileName, function (fileName, eventKind, modifiedTime) { return ts.forEach(callbacksCache.get(path), function (cb) { return cb(fileName, eventKind, modifiedTime); }); }, pollingInterval, options), - refCount: 1 - }); + var path = toCanonicalFileName(name); + var existing = cache.get(path); + if (existing) { + existing.callbacks.push(callback); + } + else { + cache.set(path, { + watcher: createWatcher(( + // Cant infer types correctly so lets satisfy checker + function (param1, param2, param3) { var _a; return (_a = cache.get(path)) === null || _a === void 0 ? void 0 : _a.callbacks.slice().forEach(function (cb) { return cb(param1, param2, param3); }); })), + callbacks: [callback] + }); + } + return { + close: function () { + var watcher = cache.get(path); + // Watcher is not expected to be undefined, but if it is normally its because + // exception was thrown somewhere else and watch state is not what it should be + if (!watcher) + return; + if (!ts.orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) + return; + cache.delete(path); + ts.closeFileWatcherOf(watcher); } - callbacksCache.add(path, callback); - return { - close: function () { - var watcher = ts.Debug.checkDefined(cache.get(path)); - callbacksCache.remove(path, callback); - watcher.refCount--; - if (watcher.refCount) - return; - cache.delete(path); - ts.closeFileWatcherOf(watcher); - } - }; }; } - ts.createSingleFileWatcherPerName = createSingleFileWatcherPerName; /** * Returns true if file status changed */ - /*@internal*/ function onWatchedFileStat(watchedFile, modifiedTime) { var oldTime = watchedFile.mtime.getTime(); var newTime = modifiedTime.getTime(); @@ -6614,7 +6468,6 @@ var ts; } return false; } - ts.onWatchedFileStat = onWatchedFileStat; /*@internal*/ function getFileWatcherEventKind(oldTime, newTime) { return oldTime === 0 @@ -6642,7 +6495,6 @@ var ts; * that means if this is recursive watcher, watch the children directories as well * (eg on OS that dont support recursive watch using fs.watch use fs.watchFile) */ - /*@internal*/ function createDirectoryWatcherSupportingRecursive(_a) { var watchDirectory = _a.watchDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, fileSystemEntryExists = _a.fileSystemEntryExists, realpath = _a.realpath, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout; var cache = new ts.Map(); @@ -6851,18 +6703,15 @@ var ts; return ts.stringContains(toCanonicalFilePath(path), searchPath); } } - ts.createDirectoryWatcherSupportingRecursive = createDirectoryWatcherSupportingRecursive; /*@internal*/ var FileSystemEntryKind; (function (FileSystemEntryKind) { FileSystemEntryKind[FileSystemEntryKind["File"] = 0] = "File"; FileSystemEntryKind[FileSystemEntryKind["Directory"] = 1] = "Directory"; })(FileSystemEntryKind = ts.FileSystemEntryKind || (ts.FileSystemEntryKind = {})); - /*@internal*/ function createFileWatcherCallback(callback) { return function (_fileName, eventKind, modifiedTime) { return callback(eventKind === FileWatcherEventKind.Changed ? "change" : "rename", "", modifiedTime); }; } - ts.createFileWatcherCallback = createFileWatcherCallback; function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime) { return function (eventName, _relativeFileName, modifiedTime) { if (eventName === "rename") { @@ -6896,7 +6745,10 @@ var ts; } /*@internal*/ function createSystemWatchFunctions(_a) { - var pollingWatchFile = _a.pollingWatchFile, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, defaultWatchFileKind = _a.defaultWatchFileKind, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog; + var pollingWatchFileWorker = _a.pollingWatchFileWorker, getModifiedTime = _a.getModifiedTime, setTimeout = _a.setTimeout, clearTimeout = _a.clearTimeout, fsWatchWorker = _a.fsWatchWorker, fileSystemEntryExists = _a.fileSystemEntryExists, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, getCurrentDirectory = _a.getCurrentDirectory, fsSupportsRecursiveFsWatch = _a.fsSupportsRecursiveFsWatch, getAccessibleSortedChildDirectories = _a.getAccessibleSortedChildDirectories, realpath = _a.realpath, tscWatchFile = _a.tscWatchFile, useNonPollingWatchers = _a.useNonPollingWatchers, tscWatchDirectory = _a.tscWatchDirectory, inodeWatching = _a.inodeWatching, sysLog = _a.sysLog; + var pollingWatches = new ts.Map(); + var fsWatches = new ts.Map(); + var fsWatchesRecursive = new ts.Map(); var dynamicPollingWatchFile; var fixedChunkSizePollingWatchFile; var nonPollingWatchFile; @@ -6919,7 +6771,7 @@ var ts; case ts.WatchFileKind.FixedChunkSizePolling: return ensureFixedChunkSizePollingWatchFile()(fileName, callback, /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchFileKind.UseFsEvents: - return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime), + return fsWatch(fileName, 0 /* FileSystemEntryKind.File */, createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime), /*recursive*/ false, pollingInterval, ts.getFallbackOptions(options)); case ts.WatchFileKind.UseFsEventsOnParentDirectory: if (!nonPollingWatchFile) { @@ -6959,8 +6811,8 @@ var ts; return useNonPollingWatchers ? // Use notifications from FS to watch with falling back to fs.watchFile generateWatchFileOptions(ts.WatchFileKind.UseFsEventsOnParentDirectory, ts.PollingWatchKind.PriorityInterval, options) : - // Default to do not use fixed polling interval - { watchFile: (defaultWatchFileKind === null || defaultWatchFileKind === void 0 ? void 0 : defaultWatchFileKind()) || ts.WatchFileKind.FixedPollingInterval }; + // Default to using fs events + { watchFile: ts.WatchFileKind.UseFsEvents }; } } function generateWatchFileOptions(watchFile, fallbackPolling, options) { @@ -6996,14 +6848,14 @@ var ts; var watchDirectoryKind = ts.Debug.checkDefined(watchDirectoryOptions.watchDirectory); switch (watchDirectoryKind) { case ts.WatchDirectoryKind.FixedPollingInterval: - return pollingWatchFile(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, + return pollingWatchFile(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, /*options*/ undefined); case ts.WatchDirectoryKind.DynamicPriorityPolling: - return ensureDynamicPollingWatchFile()(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, + return ensureDynamicPollingWatchFile()(directoryName, function () { return callback(directoryName); }, PollingInterval.Medium, /*options*/ undefined); case ts.WatchDirectoryKind.FixedChunkSizePolling: - return ensureFixedChunkSizePollingWatchFile()(directoryName, function () { return callback(directoryName); }, - /* pollingInterval */ undefined, + return ensureFixedChunkSizePollingWatchFile()(directoryName, function () { return callback(directoryName); }, + /* pollingInterval */ undefined, /*options*/ undefined); case ts.WatchDirectoryKind.UseFsEvents: return fsWatch(directoryName, 1 /* FileSystemEntryKind.Directory */, createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames, getCurrentDirectory), recursive, PollingInterval.Medium, ts.getFallbackOptions(watchDirectoryOptions)); @@ -7031,7 +6883,13 @@ var ts; }; } } + function pollingWatchFile(fileName, callback, pollingInterval, options) { + return createSingleWatcherPerName(pollingWatches, useCaseSensitiveFileNames, fileName, callback, function (cb) { return pollingWatchFileWorker(fileName, cb, pollingInterval, options); }); + } function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) { + return createSingleWatcherPerName(recursive ? fsWatchesRecursive : fsWatches, useCaseSensitiveFileNames, fileOrDirectory, callback, function (cb) { return fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions); }); + } + function fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) { var lastDirectoryPartWithDirectorySeparator; var lastDirectoryPart; if (inodeWatching) { @@ -7210,7 +7068,7 @@ var ts; var fsSupportsRecursiveFsWatch = isNode4OrLater && (process.platform === "win32" || process.platform === "darwin"); var getCurrentDirectory = ts.memoize(function () { return process.cwd(); }); var _b = createSystemWatchFunctions({ - pollingWatchFile: createSingleFileWatcherPerName(fsWatchFileWorker, useCaseSensitiveFileNames), + pollingWatchFileWorker: fsWatchFileWorker, getModifiedTime: getModifiedTime, setTimeout: setTimeout, clearTimeout: clearTimeout, @@ -7226,7 +7084,6 @@ var ts; tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, tscWatchDirectory: process.env.TSC_WATCHDIRECTORY, - defaultWatchFileKind: function () { var _a, _b; return (_b = (_a = sys).defaultWatchFileKind) === null || _b === void 0 ? void 0 : _b.call(_a); }, inodeWatching: isLinuxOrMacOs, sysLog: sysLog, }), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory; @@ -8030,12 +7887,9 @@ var ts; * Normalize path separators, converting `\` into `/`. */ function normalizeSlashes(path) { - var index = path.indexOf("\\"); - if (index === -1) { - return path; - } - backslashRegExp.lastIndex = index; // prime regex with known position - return path.replace(backslashRegExp, ts.directorySeparator); + return path.indexOf("\\") !== -1 + ? path.replace(backslashRegExp, ts.directorySeparator) + : path; } ts.normalizeSlashes = normalizeSlashes; /** @@ -8618,6 +8472,8 @@ var ts; A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled: diag(1272, ts.DiagnosticCategory.Error, "A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272", "A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."), _0_modifier_cannot_appear_on_a_type_parameter: diag(1273, ts.DiagnosticCategory.Error, "_0_modifier_cannot_appear_on_a_type_parameter_1273", "'{0}' modifier cannot appear on a type parameter"), _0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias: diag(1274, ts.DiagnosticCategory.Error, "_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274", "'{0}' modifier can only appear on a type parameter of a class, interface or type alias"), + accessor_modifier_can_only_appear_on_a_property_declaration: diag(1275, ts.DiagnosticCategory.Error, "accessor_modifier_can_only_appear_on_a_property_declaration_1275", "'accessor' modifier can only appear on a property declaration."), + An_accessor_property_cannot_be_declared_optional: diag(1276, ts.DiagnosticCategory.Error, "An_accessor_property_cannot_be_declared_optional_1276", "An 'accessor' property cannot be declared optional."), with_statements_are_not_allowed_in_an_async_function_block: diag(1300, ts.DiagnosticCategory.Error, "with_statements_are_not_allowed_in_an_async_function_block_1300", "'with' statements are not allowed in an async function block."), await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(1308, ts.DiagnosticCategory.Error, "await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308", "'await' expressions are only allowed within async functions and at the top levels of modules."), The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level: diag(1309, ts.DiagnosticCategory.Error, "The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309", "The current file is a CommonJS module and cannot use 'await' at the top level."), @@ -8668,7 +8524,7 @@ var ts; An_enum_member_name_must_be_followed_by_a_or: diag(1357, ts.DiagnosticCategory.Error, "An_enum_member_name_must_be_followed_by_a_or_1357", "An enum member name must be followed by a ',', '=', or '}'."), Tagged_template_expressions_are_not_permitted_in_an_optional_chain: diag(1358, ts.DiagnosticCategory.Error, "Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358", "Tagged template expressions are not permitted in an optional chain."), Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here: diag(1359, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359", "Identifier expected. '{0}' is a reserved word that cannot be used here."), - Class_constructor_may_not_be_a_generator: diag(1360, ts.DiagnosticCategory.Error, "Class_constructor_may_not_be_a_generator_1360", "Class constructor may not be a generator."), + Type_0_does_not_satisfy_the_expected_type_1: diag(1360, ts.DiagnosticCategory.Error, "Type_0_does_not_satisfy_the_expected_type_1_1360", "Type '{0}' does not satisfy the expected type '{1}'."), _0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type: diag(1361, ts.DiagnosticCategory.Error, "_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361", "'{0}' cannot be used as a value because it was imported using 'import type'."), _0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type: diag(1362, ts.DiagnosticCategory.Error, "_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362", "'{0}' cannot be used as a value because it was exported using 'export type'."), A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both: diag(1363, ts.DiagnosticCategory.Error, "A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363", "A type-only import can specify a default import or named bindings, but not both."), @@ -8676,6 +8532,7 @@ var ts; Convert_all_re_exported_types_to_type_only_exports: diag(1365, ts.DiagnosticCategory.Message, "Convert_all_re_exported_types_to_type_only_exports_1365", "Convert all re-exported types to type-only exports"), Split_into_two_separate_import_declarations: diag(1366, ts.DiagnosticCategory.Message, "Split_into_two_separate_import_declarations_1366", "Split into two separate import declarations"), Split_all_invalid_type_only_imports: diag(1367, ts.DiagnosticCategory.Message, "Split_all_invalid_type_only_imports_1367", "Split all invalid type-only imports"), + Class_constructor_may_not_be_a_generator: diag(1368, ts.DiagnosticCategory.Error, "Class_constructor_may_not_be_a_generator_1368", "Class constructor may not be a generator."), Did_you_mean_0: diag(1369, ts.DiagnosticCategory.Message, "Did_you_mean_0_1369", "Did you mean '{0}'?"), This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error: diag(1371, ts.DiagnosticCategory.Error, "This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371", "This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."), Convert_to_type_only_import: diag(1373, ts.DiagnosticCategory.Message, "Convert_to_type_only_import_1373", "Convert to type-only import"), @@ -8849,14 +8706,12 @@ var ts; The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access: diag(2357, ts.DiagnosticCategory.Error, "The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357", "The operand of an increment or decrement operator must be a variable or a property access."), The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: diag(2358, ts.DiagnosticCategory.Error, "The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358", "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."), The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: diag(2359, ts.DiagnosticCategory.Error, "The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359", "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."), - The_left_hand_side_of_an_in_expression_must_be_a_private_identifier_or_of_type_any_string_number_or_symbol: diag(2360, ts.DiagnosticCategory.Error, "The_left_hand_side_of_an_in_expression_must_be_a_private_identifier_or_of_type_any_string_number_or__2360", "The left-hand side of an 'in' expression must be a private identifier or of type 'any', 'string', 'number', or 'symbol'."), - The_right_hand_side_of_an_in_expression_must_not_be_a_primitive: diag(2361, ts.DiagnosticCategory.Error, "The_right_hand_side_of_an_in_expression_must_not_be_a_primitive_2361", "The right-hand side of an 'in' expression must not be a primitive."), The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type: diag(2362, ts.DiagnosticCategory.Error, "The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362", "The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."), The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type: diag(2363, ts.DiagnosticCategory.Error, "The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363", "The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."), The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access: diag(2364, ts.DiagnosticCategory.Error, "The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364", "The left-hand side of an assignment expression must be a variable or a property access."), Operator_0_cannot_be_applied_to_types_1_and_2: diag(2365, ts.DiagnosticCategory.Error, "Operator_0_cannot_be_applied_to_types_1_and_2_2365", "Operator '{0}' cannot be applied to types '{1}' and '{2}'."), Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined: diag(2366, ts.DiagnosticCategory.Error, "Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366", "Function lacks ending return statement and return type does not include 'undefined'."), - This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap: diag(2367, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367", "This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."), + This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap: diag(2367, ts.DiagnosticCategory.Error, "This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367", "This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."), Type_parameter_name_cannot_be_0: diag(2368, ts.DiagnosticCategory.Error, "Type_parameter_name_cannot_be_0_2368", "Type parameter name cannot be '{0}'."), A_parameter_property_is_only_allowed_in_a_constructor_implementation: diag(2369, ts.DiagnosticCategory.Error, "A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369", "A parameter property is only allowed in a constructor implementation."), A_rest_parameter_must_be_of_an_array_type: diag(2370, ts.DiagnosticCategory.Error, "A_rest_parameter_must_be_of_an_array_type_2370", "A rest parameter must be of an array type."), @@ -9060,7 +8915,7 @@ var ts; Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig: diag(2591, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591", "Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig: diag(2592, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592", "Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."), Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig: diag(2593, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593", "Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."), - This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag: diag(2594, ts.DiagnosticCategory.Error, "This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594", "This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag."), + This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag: diag(2594, ts.DiagnosticCategory.Error, "This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594", "This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."), _0_can_only_be_imported_by_using_a_default_import: diag(2595, ts.DiagnosticCategory.Error, "_0_can_only_be_imported_by_using_a_default_import_2595", "'{0}' can only be imported by using a default import."), _0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: diag(2596, ts.DiagnosticCategory.Error, "_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596", "'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."), _0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import: diag(2597, ts.DiagnosticCategory.Error, "_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597", "'{0}' can only be imported by using a 'require' call or by using a default import."), @@ -9099,6 +8954,7 @@ var ts; Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable: diag(2635, ts.DiagnosticCategory.Error, "Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635", "Type '{0}' has no signatures for which the type argument list is applicable."), Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation: diag(2636, ts.DiagnosticCategory.Error, "Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636", "Type '{0}' is not assignable to type '{1}' as implied by variance annotation."), Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types: diag(2637, ts.DiagnosticCategory.Error, "Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637", "Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."), + Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator: diag(2638, ts.DiagnosticCategory.Error, "Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638", "Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."), Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity: diag(2649, ts.DiagnosticCategory.Error, "Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649", "Cannot augment module '{0}' with value exports because it resolves to a non-module entity."), A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: diag(2651, ts.DiagnosticCategory.Error, "A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651", "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."), Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: diag(2652, ts.DiagnosticCategory.Error, "Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652", "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."), @@ -9279,6 +9135,7 @@ var ts; _0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation: diag(2842, ts.DiagnosticCategory.Error, "_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842", "'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"), We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here: diag(2843, ts.DiagnosticCategory.Error, "We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843", "We can only write a type for '{0}' by adding a type for the entire parameter here."), Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: diag(2844, ts.DiagnosticCategory.Error, "Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844", "Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."), + This_condition_will_always_return_0: diag(2845, ts.DiagnosticCategory.Error, "This_condition_will_always_return_0_2845", "This condition will always return '{0}'."), Import_declaration_0_is_using_private_name_1: diag(4000, ts.DiagnosticCategory.Error, "Import_declaration_0_is_using_private_name_1_4000", "Import declaration '{0}' is using private name '{1}'."), Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: diag(4002, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002", "Type parameter '{0}' of exported class has or is using private name '{1}'."), Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: diag(4004, ts.DiagnosticCategory.Error, "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004", "Type parameter '{0}' of exported interface has or is using private name '{1}'."), @@ -9736,6 +9593,11 @@ var ts; Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved: diag(6398, ts.DiagnosticCategory.Message, "Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398", "Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."), Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted: diag(6399, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399", "Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"), Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files: diag(6400, ts.DiagnosticCategory.Message, "Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400", "Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"), + Project_0_is_out_of_date_because_there_was_error_reading_file_1: diag(6401, ts.DiagnosticCategory.Message, "Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401", "Project '{0}' is out of date because there was error reading file '{1}'"), + Resolving_in_0_mode_with_conditions_1: diag(6402, ts.DiagnosticCategory.Message, "Resolving_in_0_mode_with_conditions_1_6402", "Resolving in {0} mode with conditions {1}."), + Matched_0_condition_1: diag(6403, ts.DiagnosticCategory.Message, "Matched_0_condition_1_6403", "Matched '{0}' condition '{1}'."), + Using_0_subpath_1_with_target_2: diag(6404, ts.DiagnosticCategory.Message, "Using_0_subpath_1_with_target_2_6404", "Using '{0}' subpath '{1}' with target '{2}'."), + Saw_non_matching_condition_0: diag(6405, ts.DiagnosticCategory.Message, "Saw_non_matching_condition_0_6405", "Saw non-matching condition '{0}'."), The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1: diag(6500, ts.DiagnosticCategory.Message, "The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500", "The expected type comes from property '{0}' which is declared here on type '{1}'"), The_expected_type_comes_from_this_index_signature: diag(6501, ts.DiagnosticCategory.Message, "The_expected_type_comes_from_this_index_signature_6501", "The expected type comes from this index signature."), The_expected_type_comes_from_the_return_type_of_this_signature: diag(6502, ts.DiagnosticCategory.Message, "The_expected_type_comes_from_the_return_type_of_this_signature_6502", "The expected type comes from the return type of this signature."), @@ -9978,6 +9840,7 @@ var ts; The_tag_was_first_specified_here: diag(8034, ts.DiagnosticCategory.Error, "The_tag_was_first_specified_here_8034", "The tag was first specified here."), You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder: diag(8035, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035", "You cannot rename elements that are defined in a 'node_modules' folder."), You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder: diag(8036, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036", "You cannot rename elements that are defined in another 'node_modules' folder."), + Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files: diag(8037, ts.DiagnosticCategory.Error, "Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037", "Type satisfaction expressions can only be used in TypeScript files."), Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9005, ts.DiagnosticCategory.Error, "Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005", "Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."), Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit: diag(9006, ts.DiagnosticCategory.Error, "Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006", "Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."), JSX_attributes_must_only_be_assigned_a_non_empty_expression: diag(17000, ts.DiagnosticCategory.Error, "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000", "JSX attributes must only be assigned a non-empty 'expression'."), @@ -10051,6 +9914,8 @@ var ts; Remove_type_from_import_of_0_from_1: diag(90056, ts.DiagnosticCategory.Message, "Remove_type_from_import_of_0_from_1_90056", "Remove 'type' from import of '{0}' from \"{1}\""), Add_import_from_0: diag(90057, ts.DiagnosticCategory.Message, "Add_import_from_0_90057", "Add import from \"{0}\""), Update_import_from_0: diag(90058, ts.DiagnosticCategory.Message, "Update_import_from_0_90058", "Update import from \"{0}\""), + Export_0_from_module_1: diag(90059, ts.DiagnosticCategory.Message, "Export_0_from_module_1_90059", "Export '{0}' from module '{1}'"), + Export_all_referenced_locals: diag(90060, ts.DiagnosticCategory.Message, "Export_all_referenced_locals_90060", "Export all referenced locals"), Convert_function_to_an_ES2015_class: diag(95001, ts.DiagnosticCategory.Message, "Convert_function_to_an_ES2015_class_95001", "Convert function to an ES2015 class"), Convert_0_to_1_in_0: diag(95003, ts.DiagnosticCategory.Message, "Convert_0_to_1_in_0_95003", "Convert '{0}' to '{1} in {0}'"), Extract_to_0_in_1: diag(95004, ts.DiagnosticCategory.Message, "Extract_to_0_in_1_95004", "Extract to {0} in {1}"), @@ -10149,6 +10014,7 @@ var ts; Set_the_module_option_in_your_configuration_file_to_0: diag(95099, ts.DiagnosticCategory.Message, "Set_the_module_option_in_your_configuration_file_to_0_95099", "Set the 'module' option in your configuration file to '{0}'"), Convert_invalid_character_to_its_html_entity_code: diag(95100, ts.DiagnosticCategory.Message, "Convert_invalid_character_to_its_html_entity_code_95100", "Convert invalid character to its html entity code"), Convert_all_invalid_characters_to_HTML_entity_code: diag(95101, ts.DiagnosticCategory.Message, "Convert_all_invalid_characters_to_HTML_entity_code_95101", "Convert all invalid characters to HTML entity code"), + Convert_all_const_to_let: diag(95102, ts.DiagnosticCategory.Message, "Convert_all_const_to_let_95102", "Convert all 'const' to 'let'"), Convert_function_expression_0_to_arrow_function: diag(95105, ts.DiagnosticCategory.Message, "Convert_function_expression_0_to_arrow_function_95105", "Convert function expression '{0}' to arrow function"), Convert_function_declaration_0_to_arrow_function: diag(95106, ts.DiagnosticCategory.Message, "Convert_function_declaration_0_to_arrow_function_95106", "Convert function declaration '{0}' to arrow function"), Fix_all_implicit_this_errors: diag(95107, ts.DiagnosticCategory.Message, "Fix_all_implicit_this_errors_95107", "Fix all implicit-'this' errors"), @@ -10218,6 +10084,8 @@ var ts; Delete_unused_param_tag_0: diag(95171, ts.DiagnosticCategory.Message, "Delete_unused_param_tag_0_95171", "Delete unused '@param' tag '{0}'"), Delete_all_unused_param_tags: diag(95172, ts.DiagnosticCategory.Message, "Delete_all_unused_param_tags_95172", "Delete all unused '@param' tags"), Rename_param_tag_name_0_to_1: diag(95173, ts.DiagnosticCategory.Message, "Rename_param_tag_name_0_to_1_95173", "Rename '@param' tag name '{0}' to '{1}'"), + Use_0: diag(95174, ts.DiagnosticCategory.Message, "Use_0_95174", "Use `{0}`."), + Use_Number_isNaN_in_all_conditions: diag(95175, ts.DiagnosticCategory.Message, "Use_Number_isNaN_in_all_conditions_95175", "Use `Number.isNaN` in all conditions."), No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: diag(18004, ts.DiagnosticCategory.Error, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."), Classes_may_not_have_a_field_named_constructor: diag(18006, ts.DiagnosticCategory.Error, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."), JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: diag(18007, ts.DiagnosticCategory.Error, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"), @@ -10251,6 +10119,12 @@ var ts; _0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation: diag(18042, ts.DiagnosticCategory.Error, "_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042", "'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."), Types_cannot_appear_in_export_declarations_in_JavaScript_files: diag(18043, ts.DiagnosticCategory.Error, "Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043", "Types cannot appear in export declarations in JavaScript files."), _0_is_automatically_exported_here: diag(18044, ts.DiagnosticCategory.Message, "_0_is_automatically_exported_here_18044", "'{0}' is automatically exported here."), + Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher: diag(18045, ts.DiagnosticCategory.Error, "Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045", "Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."), + _0_is_of_type_unknown: diag(18046, ts.DiagnosticCategory.Error, "_0_is_of_type_unknown_18046", "'{0}' is of type 'unknown'."), + _0_is_possibly_null: diag(18047, ts.DiagnosticCategory.Error, "_0_is_possibly_null_18047", "'{0}' is possibly 'null'."), + _0_is_possibly_undefined: diag(18048, ts.DiagnosticCategory.Error, "_0_is_possibly_undefined_18048", "'{0}' is possibly 'undefined'."), + _0_is_possibly_null_or_undefined: diag(18049, ts.DiagnosticCategory.Error, "_0_is_possibly_null_or_undefined_18049", "'{0}' is possibly 'null' or 'undefined'."), + The_value_0_cannot_be_used_here: diag(18050, ts.DiagnosticCategory.Error, "The_value_0_cannot_be_used_here_18050", "The value '{0}' cannot be used here."), }; })(ts || (ts = {})); var ts; @@ -10269,12 +10143,13 @@ var ts; /** @internal */ ts.textToKeywordObj = (_a = { abstract: 126 /* SyntaxKind.AbstractKeyword */, - any: 130 /* SyntaxKind.AnyKeyword */, - as: 127 /* SyntaxKind.AsKeyword */, - asserts: 128 /* SyntaxKind.AssertsKeyword */, - assert: 129 /* SyntaxKind.AssertKeyword */, - bigint: 158 /* SyntaxKind.BigIntKeyword */, - boolean: 133 /* SyntaxKind.BooleanKeyword */, + accessor: 127 /* SyntaxKind.AccessorKeyword */, + any: 131 /* SyntaxKind.AnyKeyword */, + as: 128 /* SyntaxKind.AsKeyword */, + asserts: 129 /* SyntaxKind.AssertsKeyword */, + assert: 130 /* SyntaxKind.AssertKeyword */, + bigint: 160 /* SyntaxKind.BigIntKeyword */, + boolean: 134 /* SyntaxKind.BooleanKeyword */, break: 81 /* SyntaxKind.BreakKeyword */, case: 82 /* SyntaxKind.CaseKeyword */, catch: 83 /* SyntaxKind.CatchKeyword */, @@ -10282,9 +10157,9 @@ var ts; continue: 86 /* SyntaxKind.ContinueKeyword */, const: 85 /* SyntaxKind.ConstKeyword */ }, - _a["" + "constructor"] = 134 /* SyntaxKind.ConstructorKeyword */, + _a["" + "constructor"] = 135 /* SyntaxKind.ConstructorKeyword */, _a.debugger = 87 /* SyntaxKind.DebuggerKeyword */, - _a.declare = 135 /* SyntaxKind.DeclareKeyword */, + _a.declare = 136 /* SyntaxKind.DeclareKeyword */, _a.default = 88 /* SyntaxKind.DefaultKeyword */, _a.delete = 89 /* SyntaxKind.DeleteKeyword */, _a.do = 90 /* SyntaxKind.DoKeyword */, @@ -10295,60 +10170,61 @@ var ts; _a.false = 95 /* SyntaxKind.FalseKeyword */, _a.finally = 96 /* SyntaxKind.FinallyKeyword */, _a.for = 97 /* SyntaxKind.ForKeyword */, - _a.from = 156 /* SyntaxKind.FromKeyword */, + _a.from = 158 /* SyntaxKind.FromKeyword */, _a.function = 98 /* SyntaxKind.FunctionKeyword */, - _a.get = 136 /* SyntaxKind.GetKeyword */, + _a.get = 137 /* SyntaxKind.GetKeyword */, _a.if = 99 /* SyntaxKind.IfKeyword */, _a.implements = 117 /* SyntaxKind.ImplementsKeyword */, _a.import = 100 /* SyntaxKind.ImportKeyword */, _a.in = 101 /* SyntaxKind.InKeyword */, - _a.infer = 137 /* SyntaxKind.InferKeyword */, + _a.infer = 138 /* SyntaxKind.InferKeyword */, _a.instanceof = 102 /* SyntaxKind.InstanceOfKeyword */, _a.interface = 118 /* SyntaxKind.InterfaceKeyword */, - _a.intrinsic = 138 /* SyntaxKind.IntrinsicKeyword */, - _a.is = 139 /* SyntaxKind.IsKeyword */, - _a.keyof = 140 /* SyntaxKind.KeyOfKeyword */, + _a.intrinsic = 139 /* SyntaxKind.IntrinsicKeyword */, + _a.is = 140 /* SyntaxKind.IsKeyword */, + _a.keyof = 141 /* SyntaxKind.KeyOfKeyword */, _a.let = 119 /* SyntaxKind.LetKeyword */, - _a.module = 141 /* SyntaxKind.ModuleKeyword */, - _a.namespace = 142 /* SyntaxKind.NamespaceKeyword */, - _a.never = 143 /* SyntaxKind.NeverKeyword */, + _a.module = 142 /* SyntaxKind.ModuleKeyword */, + _a.namespace = 143 /* SyntaxKind.NamespaceKeyword */, + _a.never = 144 /* SyntaxKind.NeverKeyword */, _a.new = 103 /* SyntaxKind.NewKeyword */, _a.null = 104 /* SyntaxKind.NullKeyword */, - _a.number = 147 /* SyntaxKind.NumberKeyword */, - _a.object = 148 /* SyntaxKind.ObjectKeyword */, + _a.number = 148 /* SyntaxKind.NumberKeyword */, + _a.object = 149 /* SyntaxKind.ObjectKeyword */, _a.package = 120 /* SyntaxKind.PackageKeyword */, _a.private = 121 /* SyntaxKind.PrivateKeyword */, _a.protected = 122 /* SyntaxKind.ProtectedKeyword */, _a.public = 123 /* SyntaxKind.PublicKeyword */, - _a.override = 159 /* SyntaxKind.OverrideKeyword */, - _a.out = 144 /* SyntaxKind.OutKeyword */, - _a.readonly = 145 /* SyntaxKind.ReadonlyKeyword */, - _a.require = 146 /* SyntaxKind.RequireKeyword */, - _a.global = 157 /* SyntaxKind.GlobalKeyword */, + _a.override = 161 /* SyntaxKind.OverrideKeyword */, + _a.out = 145 /* SyntaxKind.OutKeyword */, + _a.readonly = 146 /* SyntaxKind.ReadonlyKeyword */, + _a.require = 147 /* SyntaxKind.RequireKeyword */, + _a.global = 159 /* SyntaxKind.GlobalKeyword */, _a.return = 105 /* SyntaxKind.ReturnKeyword */, - _a.set = 149 /* SyntaxKind.SetKeyword */, + _a.satisfies = 150 /* SyntaxKind.SatisfiesKeyword */, + _a.set = 151 /* SyntaxKind.SetKeyword */, _a.static = 124 /* SyntaxKind.StaticKeyword */, - _a.string = 150 /* SyntaxKind.StringKeyword */, + _a.string = 152 /* SyntaxKind.StringKeyword */, _a.super = 106 /* SyntaxKind.SuperKeyword */, _a.switch = 107 /* SyntaxKind.SwitchKeyword */, - _a.symbol = 151 /* SyntaxKind.SymbolKeyword */, + _a.symbol = 153 /* SyntaxKind.SymbolKeyword */, _a.this = 108 /* SyntaxKind.ThisKeyword */, _a.throw = 109 /* SyntaxKind.ThrowKeyword */, _a.true = 110 /* SyntaxKind.TrueKeyword */, _a.try = 111 /* SyntaxKind.TryKeyword */, - _a.type = 152 /* SyntaxKind.TypeKeyword */, + _a.type = 154 /* SyntaxKind.TypeKeyword */, _a.typeof = 112 /* SyntaxKind.TypeOfKeyword */, - _a.undefined = 153 /* SyntaxKind.UndefinedKeyword */, - _a.unique = 154 /* SyntaxKind.UniqueKeyword */, - _a.unknown = 155 /* SyntaxKind.UnknownKeyword */, + _a.undefined = 155 /* SyntaxKind.UndefinedKeyword */, + _a.unique = 156 /* SyntaxKind.UniqueKeyword */, + _a.unknown = 157 /* SyntaxKind.UnknownKeyword */, _a.var = 113 /* SyntaxKind.VarKeyword */, _a.void = 114 /* SyntaxKind.VoidKeyword */, _a.while = 115 /* SyntaxKind.WhileKeyword */, _a.with = 116 /* SyntaxKind.WithKeyword */, _a.yield = 125 /* SyntaxKind.YieldKeyword */, - _a.async = 131 /* SyntaxKind.AsyncKeyword */, - _a.await = 132 /* SyntaxKind.AwaitKeyword */, - _a.of = 160 /* SyntaxKind.OfKeyword */, + _a.async = 132 /* SyntaxKind.AsyncKeyword */, + _a.await = 133 /* SyntaxKind.AwaitKeyword */, + _a.of = 162 /* SyntaxKind.OfKeyword */, _a); var textToKeyword = new ts.Map(ts.getEntries(ts.textToKeywordObj)); var textToToken = new ts.Map(ts.getEntries(__assign(__assign({}, ts.textToKeywordObj), { "{": 18 /* SyntaxKind.OpenBraceToken */, "}": 19 /* SyntaxKind.CloseBraceToken */, "(": 20 /* SyntaxKind.OpenParenToken */, ")": 21 /* SyntaxKind.CloseParenToken */, "[": 22 /* SyntaxKind.OpenBracketToken */, "]": 23 /* SyntaxKind.CloseBracketToken */, ".": 24 /* SyntaxKind.DotToken */, "...": 25 /* SyntaxKind.DotDotDotToken */, ";": 26 /* SyntaxKind.SemicolonToken */, ",": 27 /* SyntaxKind.CommaToken */, "<": 29 /* SyntaxKind.LessThanToken */, ">": 31 /* SyntaxKind.GreaterThanToken */, "<=": 32 /* SyntaxKind.LessThanEqualsToken */, ">=": 33 /* SyntaxKind.GreaterThanEqualsToken */, "==": 34 /* SyntaxKind.EqualsEqualsToken */, "!=": 35 /* SyntaxKind.ExclamationEqualsToken */, "===": 36 /* SyntaxKind.EqualsEqualsEqualsToken */, "!==": 37 /* SyntaxKind.ExclamationEqualsEqualsToken */, "=>": 38 /* SyntaxKind.EqualsGreaterThanToken */, "+": 39 /* SyntaxKind.PlusToken */, "-": 40 /* SyntaxKind.MinusToken */, "**": 42 /* SyntaxKind.AsteriskAsteriskToken */, "*": 41 /* SyntaxKind.AsteriskToken */, "/": 43 /* SyntaxKind.SlashToken */, "%": 44 /* SyntaxKind.PercentToken */, "++": 45 /* SyntaxKind.PlusPlusToken */, "--": 46 /* SyntaxKind.MinusMinusToken */, "<<": 47 /* SyntaxKind.LessThanLessThanToken */, ">": 48 /* SyntaxKind.GreaterThanGreaterThanToken */, ">>>": 49 /* SyntaxKind.GreaterThanGreaterThanGreaterThanToken */, "&": 50 /* SyntaxKind.AmpersandToken */, "|": 51 /* SyntaxKind.BarToken */, "^": 52 /* SyntaxKind.CaretToken */, "!": 53 /* SyntaxKind.ExclamationToken */, "~": 54 /* SyntaxKind.TildeToken */, "&&": 55 /* SyntaxKind.AmpersandAmpersandToken */, "||": 56 /* SyntaxKind.BarBarToken */, "?": 57 /* SyntaxKind.QuestionToken */, "??": 60 /* SyntaxKind.QuestionQuestionToken */, "?.": 28 /* SyntaxKind.QuestionDotToken */, ":": 58 /* SyntaxKind.ColonToken */, "=": 63 /* SyntaxKind.EqualsToken */, "+=": 64 /* SyntaxKind.PlusEqualsToken */, "-=": 65 /* SyntaxKind.MinusEqualsToken */, "*=": 66 /* SyntaxKind.AsteriskEqualsToken */, "**=": 67 /* SyntaxKind.AsteriskAsteriskEqualsToken */, "/=": 68 /* SyntaxKind.SlashEqualsToken */, "%=": 69 /* SyntaxKind.PercentEqualsToken */, "<<=": 70 /* SyntaxKind.LessThanLessThanEqualsToken */, ">>=": 71 /* SyntaxKind.GreaterThanGreaterThanEqualsToken */, ">>>=": 72 /* SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken */, "&=": 73 /* SyntaxKind.AmpersandEqualsToken */, "|=": 74 /* SyntaxKind.BarEqualsToken */, "^=": 78 /* SyntaxKind.CaretEqualsToken */, "||=": 75 /* SyntaxKind.BarBarEqualsToken */, "&&=": 76 /* SyntaxKind.AmpersandAmpersandEqualsToken */, "??=": 77 /* SyntaxKind.QuestionQuestionEqualsToken */, "@": 59 /* SyntaxKind.AtToken */, "#": 62 /* SyntaxKind.HashToken */, "`": 61 /* SyntaxKind.BacktickToken */ }))); @@ -10471,7 +10347,7 @@ var ts; ts.stringToToken = stringToToken; /* @internal */ function computeLineStarts(text) { - var result = new Array(); + var result = []; var pos = 0; var lineStart = 0; while (pos < text.length) { @@ -11497,7 +11373,7 @@ var ts; return -1; } function peekExtendedUnicodeEscape() { - if (languageVersion >= 2 /* ScriptTarget.ES2015 */ && codePointAt(text, pos + 1) === 117 /* CharacterCodes.u */ && codePointAt(text, pos + 2) === 123 /* CharacterCodes.openBrace */) { + if (codePointAt(text, pos + 1) === 117 /* CharacterCodes.u */ && codePointAt(text, pos + 2) === 123 /* CharacterCodes.openBrace */) { var start_2 = pos; pos += 3; var escapedValueString = scanMinimumNumberOfHexDigits(1, /*canHaveSeparators*/ false); @@ -12032,12 +11908,36 @@ var ts; pos++; return token = 0 /* SyntaxKind.Unknown */; } - if (isIdentifierStart(codePointAt(text, pos + 1), languageVersion)) { + var charAfterHash = codePointAt(text, pos + 1); + if (charAfterHash === 92 /* CharacterCodes.backslash */) { pos++; - scanIdentifier(codePointAt(text, pos), languageVersion); + var extendedCookedChar_1 = peekExtendedUnicodeEscape(); + if (extendedCookedChar_1 >= 0 && isIdentifierStart(extendedCookedChar_1, languageVersion)) { + pos += 3; + tokenFlags |= 8 /* TokenFlags.ExtendedUnicodeEscape */; + tokenValue = "#" + scanExtendedUnicodeEscape() + scanIdentifierParts(); + return token = 80 /* SyntaxKind.PrivateIdentifier */; + } + var cookedChar_1 = peekUnicodeEscape(); + if (cookedChar_1 >= 0 && isIdentifierStart(cookedChar_1, languageVersion)) { + pos += 6; + tokenFlags |= 1024 /* TokenFlags.UnicodeEscape */; + tokenValue = "#" + String.fromCharCode(cookedChar_1) + scanIdentifierParts(); + return token = 80 /* SyntaxKind.PrivateIdentifier */; + } + pos--; + } + if (isIdentifierStart(charAfterHash, languageVersion)) { + pos++; + // We're relying on scanIdentifier's behavior and adjusting the token kind after the fact. + // Notably absent from this block is the fact that calling a function named "scanIdentifier", + // but identifiers don't include '#', and that function doesn't deal with it at all. + // This works because 'scanIdentifier' tries to reuse source characters and builds up substrings; + // however, it starts at the 'tokenPos' which includes the '#', and will "accidentally" prepend the '#' for us. + scanIdentifier(charAfterHash, languageVersion); } else { - tokenValue = String.fromCharCode(codePointAt(text, pos)); + tokenValue = "#"; error(ts.Diagnostics.Invalid_character, pos++, charSize(ch)); } return token = 80 /* SyntaxKind.PrivateIdentifier */; @@ -12788,9 +12688,9 @@ var ts; } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; function getTypeParameterOwner(d) { - if (d && d.kind === 163 /* SyntaxKind.TypeParameter */) { + if (d && d.kind === 165 /* SyntaxKind.TypeParameter */) { for (var current = d; current; current = current.parent) { - if (isFunctionLike(current) || isClassLike(current) || current.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (isFunctionLike(current) || isClassLike(current) || current.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { return current; } } @@ -12798,7 +12698,7 @@ var ts; } ts.getTypeParameterOwner = getTypeParameterOwner; function isParameterPropertyDeclaration(node, parent) { - return ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */) && parent.kind === 171 /* SyntaxKind.Constructor */; + return ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */) && parent.kind === 173 /* SyntaxKind.Constructor */; } ts.isParameterPropertyDeclaration = isParameterPropertyDeclaration; function isEmptyBindingPattern(node) { @@ -12828,14 +12728,14 @@ var ts; node = walkUpBindingElementsAndPatterns(node); } var flags = getFlags(node); - if (node.kind === 254 /* SyntaxKind.VariableDeclaration */) { + if (node.kind === 257 /* SyntaxKind.VariableDeclaration */) { node = node.parent; } - if (node && node.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node && node.kind === 258 /* SyntaxKind.VariableDeclarationList */) { flags |= getFlags(node); node = node.parent; } - if (node && node.kind === 237 /* SyntaxKind.VariableStatement */) { + if (node && node.kind === 240 /* SyntaxKind.VariableStatement */) { flags |= getFlags(node); } return flags; @@ -13008,30 +12908,30 @@ var ts; } // Covers remaining cases (returning undefined if none match). switch (hostNode.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: if (hostNode.declarationList && hostNode.declarationList.declarations[0]) { return getDeclarationIdentifier(hostNode.declarationList.declarations[0]); } break; - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: var expr = hostNode.expression; - if (expr.kind === 221 /* SyntaxKind.BinaryExpression */ && expr.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { + if (expr.kind === 223 /* SyntaxKind.BinaryExpression */ && expr.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { expr = expr.left; } switch (expr.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return expr.name; - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var arg = expr.argumentExpression; if (ts.isIdentifier(arg)) { return arg; } } break; - case 212 /* SyntaxKind.ParenthesizedExpression */: { + case 214 /* SyntaxKind.ParenthesizedExpression */: { return getDeclarationIdentifier(hostNode.expression); } - case 250 /* SyntaxKind.LabeledStatement */: { + case 253 /* SyntaxKind.LabeledStatement */: { if (isDeclaration(hostNode.statement) || isExpression(hostNode.statement)) { return getDeclarationIdentifier(hostNode.statement); } @@ -13068,16 +12968,16 @@ var ts; switch (declaration.kind) { case 79 /* SyntaxKind.Identifier */: return declaration; - case 347 /* SyntaxKind.JSDocPropertyTag */: - case 340 /* SyntaxKind.JSDocParameterTag */: { + case 350 /* SyntaxKind.JSDocPropertyTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: { var name = declaration.name; - if (name.kind === 161 /* SyntaxKind.QualifiedName */) { + if (name.kind === 163 /* SyntaxKind.QualifiedName */) { return name.right; } break; } - case 208 /* SyntaxKind.CallExpression */: - case 221 /* SyntaxKind.BinaryExpression */: { + case 210 /* SyntaxKind.CallExpression */: + case 223 /* SyntaxKind.BinaryExpression */: { var expr_1 = declaration; switch (ts.getAssignmentDeclarationKind(expr_1)) { case 1 /* AssignmentDeclarationKind.ExportsProperty */: @@ -13093,15 +12993,15 @@ var ts; return undefined; } } - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: return getNameOfJSDocTypedef(declaration); - case 339 /* SyntaxKind.JSDocEnumTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: return nameForNamelessJSDocTypedef(declaration); - case 271 /* SyntaxKind.ExportAssignment */: { + case 274 /* SyntaxKind.ExportAssignment */: { var expression = declaration.expression; return ts.isIdentifier(expression) ? expression : undefined; } - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var expr = declaration; if (ts.isBindableStaticElementAccessExpression(expr)) { return expr.argumentExpression; @@ -13145,7 +13045,7 @@ var ts; } ts.getDecorators = getDecorators; function getModifiers(node) { - if (ts.hasSyntacticModifier(node, 125951 /* ModifierFlags.Modifier */)) { + if (ts.hasSyntacticModifier(node, 126975 /* ModifierFlags.Modifier */)) { return ts.filter(node.modifiers, isModifier); } } @@ -13406,12 +13306,12 @@ var ts; /** Gets the text of a jsdoc comment, flattening links to their text. */ function getTextOfJSDocComment(comment) { return typeof comment === "string" ? comment - : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 321 /* SyntaxKind.JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); + : comment === null || comment === void 0 ? void 0 : comment.map(function (c) { return c.kind === 324 /* SyntaxKind.JSDocText */ ? c.text : formatJSDocLink(c); }).join(""); } ts.getTextOfJSDocComment = getTextOfJSDocComment; function formatJSDocLink(link) { - var kind = link.kind === 324 /* SyntaxKind.JSDocLink */ ? "link" - : link.kind === 325 /* SyntaxKind.JSDocLinkCode */ ? "linkcode" + var kind = link.kind === 327 /* SyntaxKind.JSDocLink */ ? "link" + : link.kind === 328 /* SyntaxKind.JSDocLinkCode */ ? "linkcode" : "linkplain"; var name = link.name ? ts.entityNameToString(link.name) : ""; var space = link.name && link.text.startsWith("://") ? "" : " "; @@ -13432,7 +13332,7 @@ var ts; return ts.emptyArray; } if (ts.isJSDocTypeAlias(node)) { - ts.Debug.assert(node.parent.kind === 320 /* SyntaxKind.JSDoc */); + ts.Debug.assert(node.parent.kind === 323 /* SyntaxKind.JSDoc */); return ts.flatMap(node.parent.tags, function (tag) { return ts.isJSDocTemplateTag(tag) ? tag.typeParameters : undefined; }); } if (node.typeParameters) { @@ -13467,7 +13367,7 @@ var ts; ts.isMemberName = isMemberName; /* @internal */ function isGetOrSetAccessorDeclaration(node) { - return node.kind === 173 /* SyntaxKind.SetAccessor */ || node.kind === 172 /* SyntaxKind.GetAccessor */; + return node.kind === 175 /* SyntaxKind.SetAccessor */ || node.kind === 174 /* SyntaxKind.GetAccessor */; } ts.isGetOrSetAccessorDeclaration = isGetOrSetAccessorDeclaration; function isPropertyAccessChain(node) { @@ -13485,10 +13385,10 @@ var ts; function isOptionalChain(node) { var kind = node.kind; return !!(node.flags & 32 /* NodeFlags.OptionalChain */) && - (kind === 206 /* SyntaxKind.PropertyAccessExpression */ - || kind === 207 /* SyntaxKind.ElementAccessExpression */ - || kind === 208 /* SyntaxKind.CallExpression */ - || kind === 230 /* SyntaxKind.NonNullExpression */); + (kind === 208 /* SyntaxKind.PropertyAccessExpression */ + || kind === 209 /* SyntaxKind.ElementAccessExpression */ + || kind === 210 /* SyntaxKind.CallExpression */ + || kind === 232 /* SyntaxKind.NonNullExpression */); } ts.isOptionalChain = isOptionalChain; /* @internal */ @@ -13523,7 +13423,7 @@ var ts; } ts.isOutermostOptionalChain = isOutermostOptionalChain; function isNullishCoalesce(node) { - return node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */; + return node.kind === 223 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */; } ts.isNullishCoalesce = isNullishCoalesce; function isConstTypeReference(node) { @@ -13540,17 +13440,17 @@ var ts; } ts.isNonNullChain = isNonNullChain; function isBreakOrContinueStatement(node) { - return node.kind === 246 /* SyntaxKind.BreakStatement */ || node.kind === 245 /* SyntaxKind.ContinueStatement */; + return node.kind === 249 /* SyntaxKind.BreakStatement */ || node.kind === 248 /* SyntaxKind.ContinueStatement */; } ts.isBreakOrContinueStatement = isBreakOrContinueStatement; function isNamedExportBindings(node) { - return node.kind === 274 /* SyntaxKind.NamespaceExport */ || node.kind === 273 /* SyntaxKind.NamedExports */; + return node.kind === 277 /* SyntaxKind.NamespaceExport */ || node.kind === 276 /* SyntaxKind.NamedExports */; } ts.isNamedExportBindings = isNamedExportBindings; function isUnparsedTextLike(node) { switch (node.kind) { - case 302 /* SyntaxKind.UnparsedText */: - case 303 /* SyntaxKind.UnparsedInternalText */: + case 305 /* SyntaxKind.UnparsedText */: + case 306 /* SyntaxKind.UnparsedInternalText */: return true; default: return false; @@ -13559,12 +13459,12 @@ var ts; ts.isUnparsedTextLike = isUnparsedTextLike; function isUnparsedNode(node) { return isUnparsedTextLike(node) || - node.kind === 300 /* SyntaxKind.UnparsedPrologue */ || - node.kind === 304 /* SyntaxKind.UnparsedSyntheticReference */; + node.kind === 303 /* SyntaxKind.UnparsedPrologue */ || + node.kind === 307 /* SyntaxKind.UnparsedSyntheticReference */; } ts.isUnparsedNode = isUnparsedNode; function isJSDocPropertyLikeTag(node) { - return node.kind === 347 /* SyntaxKind.JSDocPropertyTag */ || node.kind === 340 /* SyntaxKind.JSDocParameterTag */; + return node.kind === 350 /* SyntaxKind.JSDocPropertyTag */ || node.kind === 343 /* SyntaxKind.JSDocParameterTag */; } ts.isJSDocPropertyLikeTag = isJSDocPropertyLikeTag; // #endregion @@ -13580,7 +13480,7 @@ var ts; ts.isNode = isNode; /* @internal */ function isNodeKind(kind) { - return kind >= 161 /* SyntaxKind.FirstNode */; + return kind >= 163 /* SyntaxKind.FirstNode */; } ts.isNodeKind = isNodeKind; /** @@ -13589,7 +13489,7 @@ var ts; * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail. */ function isTokenKind(kind) { - return kind >= 0 /* SyntaxKind.FirstToken */ && kind <= 160 /* SyntaxKind.LastToken */; + return kind >= 0 /* SyntaxKind.FirstToken */ && kind <= 162 /* SyntaxKind.LastToken */; } ts.isTokenKind = isTokenKind; /** @@ -13604,7 +13504,7 @@ var ts; // Node Arrays /* @internal */ function isNodeArray(array) { - return array.hasOwnProperty("pos") && array.hasOwnProperty("end"); + return ts.hasProperty(array, "pos") && ts.hasProperty(array, "end"); } ts.isNodeArray = isNodeArray; // Literals @@ -13620,11 +13520,11 @@ var ts; /** @internal */ function isLiteralExpressionOfObject(node) { switch (node.kind) { - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: case 13 /* SyntaxKind.RegularExpressionLiteral */: - case 213 /* SyntaxKind.FunctionExpression */: - case 226 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 228 /* SyntaxKind.ClassExpression */: return true; } return false; @@ -13652,13 +13552,13 @@ var ts; ts.isImportOrExportSpecifier = isImportOrExportSpecifier; function isTypeOnlyImportOrExportDeclaration(node) { switch (node.kind) { - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: return node.isTypeOnly || node.parent.parent.isTypeOnly; - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: return node.parent.isTypeOnly; - case 267 /* SyntaxKind.ImportClause */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 270 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return node.isTypeOnly; default: return false; @@ -13679,6 +13579,11 @@ var ts; return ts.isIdentifier(node) && (node.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) > 0 /* GeneratedIdentifierFlags.None */; } ts.isGeneratedIdentifier = isGeneratedIdentifier; + /* @internal */ + function isGeneratedPrivateIdentifier(node) { + return ts.isPrivateIdentifier(node) && (node.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) > 0 /* GeneratedIdentifierFlags.None */; + } + ts.isGeneratedPrivateIdentifier = isGeneratedPrivateIdentifier; // Private Identifiers /*@internal*/ function isPrivateIdentifierClassElementDeclaration(node) { @@ -13695,19 +13600,20 @@ var ts; function isModifierKind(token) { switch (token) { case 126 /* SyntaxKind.AbstractKeyword */: - case 131 /* SyntaxKind.AsyncKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: case 85 /* SyntaxKind.ConstKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 88 /* SyntaxKind.DefaultKeyword */: case 93 /* SyntaxKind.ExportKeyword */: case 101 /* SyntaxKind.InKeyword */: case 123 /* SyntaxKind.PublicKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: case 124 /* SyntaxKind.StaticKeyword */: - case 144 /* SyntaxKind.OutKeyword */: - case 159 /* SyntaxKind.OverrideKeyword */: + case 145 /* SyntaxKind.OutKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: return true; } return false; @@ -13720,7 +13626,10 @@ var ts; ts.isParameterPropertyModifier = isParameterPropertyModifier; /* @internal */ function isClassMemberModifier(idToken) { - return isParameterPropertyModifier(idToken) || idToken === 124 /* SyntaxKind.StaticKeyword */ || idToken === 159 /* SyntaxKind.OverrideKeyword */; + return isParameterPropertyModifier(idToken) || + idToken === 124 /* SyntaxKind.StaticKeyword */ || + idToken === 161 /* SyntaxKind.OverrideKeyword */ || + idToken === 127 /* SyntaxKind.AccessorKeyword */; } ts.isClassMemberModifier = isClassMemberModifier; function isModifier(node) { @@ -13729,7 +13638,7 @@ var ts; ts.isModifier = isModifier; function isEntityName(node) { var kind = node.kind; - return kind === 161 /* SyntaxKind.QualifiedName */ + return kind === 163 /* SyntaxKind.QualifiedName */ || kind === 79 /* SyntaxKind.Identifier */; } ts.isEntityName = isEntityName; @@ -13739,14 +13648,14 @@ var ts; || kind === 80 /* SyntaxKind.PrivateIdentifier */ || kind === 10 /* SyntaxKind.StringLiteral */ || kind === 8 /* SyntaxKind.NumericLiteral */ - || kind === 162 /* SyntaxKind.ComputedPropertyName */; + || kind === 164 /* SyntaxKind.ComputedPropertyName */; } ts.isPropertyName = isPropertyName; function isBindingName(node) { var kind = node.kind; return kind === 79 /* SyntaxKind.Identifier */ - || kind === 201 /* SyntaxKind.ObjectBindingPattern */ - || kind === 202 /* SyntaxKind.ArrayBindingPattern */; + || kind === 203 /* SyntaxKind.ObjectBindingPattern */ + || kind === 204 /* SyntaxKind.ArrayBindingPattern */; } ts.isBindingName = isBindingName; // Functions @@ -13771,13 +13680,13 @@ var ts; ts.isBooleanLiteral = isBooleanLiteral; function isFunctionLikeDeclarationKind(kind) { switch (kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return true; default: return false; @@ -13786,14 +13695,14 @@ var ts; /* @internal */ function isFunctionLikeKind(kind) { switch (kind) { - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 323 /* SyntaxKind.JSDocSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 179 /* SyntaxKind.FunctionType */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 180 /* SyntaxKind.ConstructorType */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 326 /* SyntaxKind.JSDocSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 182 /* SyntaxKind.ConstructorType */: return true; default: return isFunctionLikeDeclarationKind(kind); @@ -13808,36 +13717,53 @@ var ts; // Classes function isClassElement(node) { var kind = node.kind; - return kind === 171 /* SyntaxKind.Constructor */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 176 /* SyntaxKind.IndexSignature */ - || kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ - || kind === 234 /* SyntaxKind.SemicolonClassElement */; + return kind === 173 /* SyntaxKind.Constructor */ + || kind === 169 /* SyntaxKind.PropertyDeclaration */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */ + || kind === 178 /* SyntaxKind.IndexSignature */ + || kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 237 /* SyntaxKind.SemicolonClassElement */; } ts.isClassElement = isClassElement; function isClassLike(node) { - return node && (node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 226 /* SyntaxKind.ClassExpression */); + return node && (node.kind === 260 /* SyntaxKind.ClassDeclaration */ || node.kind === 228 /* SyntaxKind.ClassExpression */); } ts.isClassLike = isClassLike; function isAccessor(node) { - return node && (node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */); + return node && (node.kind === 174 /* SyntaxKind.GetAccessor */ || node.kind === 175 /* SyntaxKind.SetAccessor */); } ts.isAccessor = isAccessor; + function isAutoAccessorPropertyDeclaration(node) { + return ts.isPropertyDeclaration(node) && ts.hasAccessorModifier(node); + } + ts.isAutoAccessorPropertyDeclaration = isAutoAccessorPropertyDeclaration; /* @internal */ function isMethodOrAccessor(node) { switch (node.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return true; default: return false; } } ts.isMethodOrAccessor = isMethodOrAccessor; + /* @internal */ + function isNamedClassElement(node) { + switch (node.kind) { + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + return true; + default: + return false; + } + } + ts.isNamedClassElement = isNamedClassElement; // Type members function isModifierLike(node) { return isModifier(node) || ts.isDecorator(node); @@ -13845,13 +13771,13 @@ var ts; ts.isModifierLike = isModifierLike; function isTypeElement(node) { var kind = node.kind; - return kind === 175 /* SyntaxKind.ConstructSignature */ - || kind === 174 /* SyntaxKind.CallSignature */ - || kind === 166 /* SyntaxKind.PropertySignature */ - || kind === 168 /* SyntaxKind.MethodSignature */ - || kind === 176 /* SyntaxKind.IndexSignature */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 177 /* SyntaxKind.ConstructSignature */ + || kind === 176 /* SyntaxKind.CallSignature */ + || kind === 168 /* SyntaxKind.PropertySignature */ + || kind === 170 /* SyntaxKind.MethodSignature */ + || kind === 178 /* SyntaxKind.IndexSignature */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } ts.isTypeElement = isTypeElement; function isClassOrTypeElement(node) { @@ -13860,12 +13786,12 @@ var ts; ts.isClassOrTypeElement = isClassOrTypeElement; function isObjectLiteralElementLike(node) { var kind = node.kind; - return kind === 296 /* SyntaxKind.PropertyAssignment */ - || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ - || kind === 298 /* SyntaxKind.SpreadAssignment */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 299 /* SyntaxKind.PropertyAssignment */ + || kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 301 /* SyntaxKind.SpreadAssignment */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } ts.isObjectLiteralElementLike = isObjectLiteralElementLike; // Type @@ -13880,8 +13806,8 @@ var ts; ts.isTypeNode = isTypeNode; function isFunctionOrConstructorTypeNode(node) { switch (node.kind) { - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: return true; } return false; @@ -13892,8 +13818,8 @@ var ts; function isBindingPattern(node) { if (node) { var kind = node.kind; - return kind === 202 /* SyntaxKind.ArrayBindingPattern */ - || kind === 201 /* SyntaxKind.ObjectBindingPattern */; + return kind === 204 /* SyntaxKind.ArrayBindingPattern */ + || kind === 203 /* SyntaxKind.ObjectBindingPattern */; } return false; } @@ -13901,15 +13827,15 @@ var ts; /* @internal */ function isAssignmentPattern(node) { var kind = node.kind; - return kind === 204 /* SyntaxKind.ArrayLiteralExpression */ - || kind === 205 /* SyntaxKind.ObjectLiteralExpression */; + return kind === 206 /* SyntaxKind.ArrayLiteralExpression */ + || kind === 207 /* SyntaxKind.ObjectLiteralExpression */; } ts.isAssignmentPattern = isAssignmentPattern; /* @internal */ function isArrayBindingElement(node) { var kind = node.kind; - return kind === 203 /* SyntaxKind.BindingElement */ - || kind === 227 /* SyntaxKind.OmittedExpression */; + return kind === 205 /* SyntaxKind.BindingElement */ + || kind === 229 /* SyntaxKind.OmittedExpression */; } ts.isArrayBindingElement = isArrayBindingElement; /** @@ -13918,9 +13844,9 @@ var ts; /* @internal */ function isDeclarationBindingElement(bindingElement) { switch (bindingElement.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: - case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 205 /* SyntaxKind.BindingElement */: return true; } return false; @@ -13941,8 +13867,8 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentPattern(node) { switch (node.kind) { - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return true; } return false; @@ -13951,10 +13877,10 @@ var ts; /* @internal */ function isObjectBindingOrAssignmentElement(node) { switch (node.kind) { - case 203 /* SyntaxKind.BindingElement */: - case 296 /* SyntaxKind.PropertyAssignment */: // AssignmentProperty - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: // AssignmentProperty - case 298 /* SyntaxKind.SpreadAssignment */: // AssignmentRestProperty + case 205 /* SyntaxKind.BindingElement */: + case 299 /* SyntaxKind.PropertyAssignment */: // AssignmentProperty + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: // AssignmentProperty + case 301 /* SyntaxKind.SpreadAssignment */: // AssignmentRestProperty return true; } return false; @@ -13966,8 +13892,8 @@ var ts; /* @internal */ function isArrayBindingOrAssignmentPattern(node) { switch (node.kind) { - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return true; } return false; @@ -13976,26 +13902,26 @@ var ts; /* @internal */ function isPropertyAccessOrQualifiedNameOrImportTypeNode(node) { var kind = node.kind; - return kind === 206 /* SyntaxKind.PropertyAccessExpression */ - || kind === 161 /* SyntaxKind.QualifiedName */ - || kind === 200 /* SyntaxKind.ImportType */; + return kind === 208 /* SyntaxKind.PropertyAccessExpression */ + || kind === 163 /* SyntaxKind.QualifiedName */ + || kind === 202 /* SyntaxKind.ImportType */; } ts.isPropertyAccessOrQualifiedNameOrImportTypeNode = isPropertyAccessOrQualifiedNameOrImportTypeNode; // Expression function isPropertyAccessOrQualifiedName(node) { var kind = node.kind; - return kind === 206 /* SyntaxKind.PropertyAccessExpression */ - || kind === 161 /* SyntaxKind.QualifiedName */; + return kind === 208 /* SyntaxKind.PropertyAccessExpression */ + || kind === 163 /* SyntaxKind.QualifiedName */; } ts.isPropertyAccessOrQualifiedName = isPropertyAccessOrQualifiedName; function isCallLikeExpression(node) { switch (node.kind) { - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 165 /* SyntaxKind.Decorator */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 167 /* SyntaxKind.Decorator */: return true; default: return false; @@ -14003,12 +13929,12 @@ var ts; } ts.isCallLikeExpression = isCallLikeExpression; function isCallOrNewExpression(node) { - return node.kind === 208 /* SyntaxKind.CallExpression */ || node.kind === 209 /* SyntaxKind.NewExpression */; + return node.kind === 210 /* SyntaxKind.CallExpression */ || node.kind === 211 /* SyntaxKind.NewExpression */; } ts.isCallOrNewExpression = isCallOrNewExpression; function isTemplateLiteral(node) { var kind = node.kind; - return kind === 223 /* SyntaxKind.TemplateExpression */ + return kind === 225 /* SyntaxKind.TemplateExpression */ || kind === 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */; } ts.isTemplateLiteral = isTemplateLiteral; @@ -14019,19 +13945,19 @@ var ts; ts.isLeftHandSideExpression = isLeftHandSideExpression; function isLeftHandSideExpressionKind(kind) { switch (kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 208 /* SyntaxKind.CallExpression */: - case 278 /* SyntaxKind.JsxElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 282 /* SyntaxKind.JsxFragment */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 281 /* SyntaxKind.JsxElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 285 /* SyntaxKind.JsxFragment */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: case 79 /* SyntaxKind.Identifier */: case 80 /* SyntaxKind.PrivateIdentifier */: // technically this is only an Expression if it's in a `#field in expr` BinaryExpression case 13 /* SyntaxKind.RegularExpressionLiteral */: @@ -14039,15 +13965,15 @@ var ts; case 9 /* SyntaxKind.BigIntLiteral */: case 10 /* SyntaxKind.StringLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: case 95 /* SyntaxKind.FalseKeyword */: case 104 /* SyntaxKind.NullKeyword */: case 108 /* SyntaxKind.ThisKeyword */: case 110 /* SyntaxKind.TrueKeyword */: case 106 /* SyntaxKind.SuperKeyword */: - case 230 /* SyntaxKind.NonNullExpression */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - case 231 /* SyntaxKind.MetaProperty */: + case 232 /* SyntaxKind.NonNullExpression */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + case 233 /* SyntaxKind.MetaProperty */: case 100 /* SyntaxKind.ImportKeyword */: // technically this is only an Expression if it's in a CallExpression return true; default: @@ -14061,13 +13987,13 @@ var ts; ts.isUnaryExpression = isUnaryExpression; function isUnaryExpressionKind(kind) { switch (kind) { - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: - case 215 /* SyntaxKind.DeleteExpression */: - case 216 /* SyntaxKind.TypeOfExpression */: - case 217 /* SyntaxKind.VoidExpression */: - case 218 /* SyntaxKind.AwaitExpression */: - case 211 /* SyntaxKind.TypeAssertionExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: + case 217 /* SyntaxKind.DeleteExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: + case 219 /* SyntaxKind.VoidExpression */: + case 220 /* SyntaxKind.AwaitExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: return true; default: return isLeftHandSideExpressionKind(kind); @@ -14076,9 +14002,9 @@ var ts; /* @internal */ function isUnaryExpressionWithWrite(expr) { switch (expr.kind) { - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return true; - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return expr.operator === 45 /* SyntaxKind.PlusPlusToken */ || expr.operator === 46 /* SyntaxKind.MinusMinusToken */; default: @@ -14097,15 +14023,16 @@ var ts; ts.isExpression = isExpression; function isExpressionKind(kind) { switch (kind) { - case 222 /* SyntaxKind.ConditionalExpression */: - case 224 /* SyntaxKind.YieldExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 221 /* SyntaxKind.BinaryExpression */: - case 225 /* SyntaxKind.SpreadElement */: - case 229 /* SyntaxKind.AsExpression */: - case 227 /* SyntaxKind.OmittedExpression */: - case 351 /* SyntaxKind.CommaListExpression */: - case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: + case 226 /* SyntaxKind.YieldExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 223 /* SyntaxKind.BinaryExpression */: + case 227 /* SyntaxKind.SpreadElement */: + case 231 /* SyntaxKind.AsExpression */: + case 229 /* SyntaxKind.OmittedExpression */: + case 354 /* SyntaxKind.CommaListExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: return true; default: return isUnaryExpressionKind(kind); @@ -14113,8 +14040,8 @@ var ts; } function isAssertionExpression(node) { var kind = node.kind; - return kind === 211 /* SyntaxKind.TypeAssertionExpression */ - || kind === 229 /* SyntaxKind.AsExpression */; + return kind === 213 /* SyntaxKind.TypeAssertionExpression */ + || kind === 231 /* SyntaxKind.AsExpression */; } ts.isAssertionExpression = isAssertionExpression; /* @internal */ @@ -14125,13 +14052,13 @@ var ts; ts.isNotEmittedOrPartiallyEmittedNode = isNotEmittedOrPartiallyEmittedNode; function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: return true; - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -14160,7 +14087,7 @@ var ts; ts.isExternalModuleIndicator = isExternalModuleIndicator; /* @internal */ function isForInOrOfStatement(node) { - return node.kind === 243 /* SyntaxKind.ForInStatement */ || node.kind === 244 /* SyntaxKind.ForOfStatement */; + return node.kind === 246 /* SyntaxKind.ForInStatement */ || node.kind === 247 /* SyntaxKind.ForOfStatement */; } ts.isForInOrOfStatement = isForInOrOfStatement; // Element @@ -14184,115 +14111,115 @@ var ts; /* @internal */ function isModuleBody(node) { var kind = node.kind; - return kind === 262 /* SyntaxKind.ModuleBlock */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ + return kind === 265 /* SyntaxKind.ModuleBlock */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */ || kind === 79 /* SyntaxKind.Identifier */; } ts.isModuleBody = isModuleBody; /* @internal */ function isNamespaceBody(node) { var kind = node.kind; - return kind === 262 /* SyntaxKind.ModuleBlock */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */; + return kind === 265 /* SyntaxKind.ModuleBlock */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */; } ts.isNamespaceBody = isNamespaceBody; /* @internal */ function isJSDocNamespaceBody(node) { var kind = node.kind; return kind === 79 /* SyntaxKind.Identifier */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */; + || kind === 264 /* SyntaxKind.ModuleDeclaration */; } ts.isJSDocNamespaceBody = isJSDocNamespaceBody; /* @internal */ function isNamedImportBindings(node) { var kind = node.kind; - return kind === 269 /* SyntaxKind.NamedImports */ - || kind === 268 /* SyntaxKind.NamespaceImport */; + return kind === 272 /* SyntaxKind.NamedImports */ + || kind === 271 /* SyntaxKind.NamespaceImport */; } ts.isNamedImportBindings = isNamedImportBindings; /* @internal */ function isModuleOrEnumDeclaration(node) { - return node.kind === 261 /* SyntaxKind.ModuleDeclaration */ || node.kind === 260 /* SyntaxKind.EnumDeclaration */; + return node.kind === 264 /* SyntaxKind.ModuleDeclaration */ || node.kind === 263 /* SyntaxKind.EnumDeclaration */; } ts.isModuleOrEnumDeclaration = isModuleOrEnumDeclaration; function isDeclarationKind(kind) { - return kind === 214 /* SyntaxKind.ArrowFunction */ - || kind === 203 /* SyntaxKind.BindingElement */ - || kind === 257 /* SyntaxKind.ClassDeclaration */ - || kind === 226 /* SyntaxKind.ClassExpression */ - || kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 260 /* SyntaxKind.EnumDeclaration */ - || kind === 299 /* SyntaxKind.EnumMember */ - || kind === 275 /* SyntaxKind.ExportSpecifier */ - || kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 213 /* SyntaxKind.FunctionExpression */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 267 /* SyntaxKind.ImportClause */ - || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || kind === 270 /* SyntaxKind.ImportSpecifier */ - || kind === 258 /* SyntaxKind.InterfaceDeclaration */ - || kind === 285 /* SyntaxKind.JsxAttribute */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 168 /* SyntaxKind.MethodSignature */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ - || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ - || kind === 268 /* SyntaxKind.NamespaceImport */ - || kind === 274 /* SyntaxKind.NamespaceExport */ - || kind === 164 /* SyntaxKind.Parameter */ - || kind === 296 /* SyntaxKind.PropertyAssignment */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 166 /* SyntaxKind.PropertySignature */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ - || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ - || kind === 163 /* SyntaxKind.TypeParameter */ - || kind === 254 /* SyntaxKind.VariableDeclaration */ - || kind === 345 /* SyntaxKind.JSDocTypedefTag */ - || kind === 338 /* SyntaxKind.JSDocCallbackTag */ - || kind === 347 /* SyntaxKind.JSDocPropertyTag */; + return kind === 216 /* SyntaxKind.ArrowFunction */ + || kind === 205 /* SyntaxKind.BindingElement */ + || kind === 260 /* SyntaxKind.ClassDeclaration */ + || kind === 228 /* SyntaxKind.ClassExpression */ + || kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 173 /* SyntaxKind.Constructor */ + || kind === 263 /* SyntaxKind.EnumDeclaration */ + || kind === 302 /* SyntaxKind.EnumMember */ + || kind === 278 /* SyntaxKind.ExportSpecifier */ + || kind === 259 /* SyntaxKind.FunctionDeclaration */ + || kind === 215 /* SyntaxKind.FunctionExpression */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 270 /* SyntaxKind.ImportClause */ + || kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 273 /* SyntaxKind.ImportSpecifier */ + || kind === 261 /* SyntaxKind.InterfaceDeclaration */ + || kind === 288 /* SyntaxKind.JsxAttribute */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 170 /* SyntaxKind.MethodSignature */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */ + || kind === 267 /* SyntaxKind.NamespaceExportDeclaration */ + || kind === 271 /* SyntaxKind.NamespaceImport */ + || kind === 277 /* SyntaxKind.NamespaceExport */ + || kind === 166 /* SyntaxKind.Parameter */ + || kind === 299 /* SyntaxKind.PropertyAssignment */ + || kind === 169 /* SyntaxKind.PropertyDeclaration */ + || kind === 168 /* SyntaxKind.PropertySignature */ + || kind === 175 /* SyntaxKind.SetAccessor */ + || kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 262 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 165 /* SyntaxKind.TypeParameter */ + || kind === 257 /* SyntaxKind.VariableDeclaration */ + || kind === 348 /* SyntaxKind.JSDocTypedefTag */ + || kind === 341 /* SyntaxKind.JSDocCallbackTag */ + || kind === 350 /* SyntaxKind.JSDocPropertyTag */; } function isDeclarationStatementKind(kind) { - return kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 276 /* SyntaxKind.MissingDeclaration */ - || kind === 257 /* SyntaxKind.ClassDeclaration */ - || kind === 258 /* SyntaxKind.InterfaceDeclaration */ - || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ - || kind === 260 /* SyntaxKind.EnumDeclaration */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ - || kind === 266 /* SyntaxKind.ImportDeclaration */ - || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || kind === 272 /* SyntaxKind.ExportDeclaration */ - || kind === 271 /* SyntaxKind.ExportAssignment */ - || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */; + return kind === 259 /* SyntaxKind.FunctionDeclaration */ + || kind === 279 /* SyntaxKind.MissingDeclaration */ + || kind === 260 /* SyntaxKind.ClassDeclaration */ + || kind === 261 /* SyntaxKind.InterfaceDeclaration */ + || kind === 262 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 263 /* SyntaxKind.EnumDeclaration */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */ + || kind === 269 /* SyntaxKind.ImportDeclaration */ + || kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 275 /* SyntaxKind.ExportDeclaration */ + || kind === 274 /* SyntaxKind.ExportAssignment */ + || kind === 267 /* SyntaxKind.NamespaceExportDeclaration */; } function isStatementKindButNotDeclarationKind(kind) { - return kind === 246 /* SyntaxKind.BreakStatement */ - || kind === 245 /* SyntaxKind.ContinueStatement */ - || kind === 253 /* SyntaxKind.DebuggerStatement */ - || kind === 240 /* SyntaxKind.DoStatement */ - || kind === 238 /* SyntaxKind.ExpressionStatement */ - || kind === 236 /* SyntaxKind.EmptyStatement */ - || kind === 243 /* SyntaxKind.ForInStatement */ - || kind === 244 /* SyntaxKind.ForOfStatement */ - || kind === 242 /* SyntaxKind.ForStatement */ - || kind === 239 /* SyntaxKind.IfStatement */ - || kind === 250 /* SyntaxKind.LabeledStatement */ - || kind === 247 /* SyntaxKind.ReturnStatement */ - || kind === 249 /* SyntaxKind.SwitchStatement */ - || kind === 251 /* SyntaxKind.ThrowStatement */ - || kind === 252 /* SyntaxKind.TryStatement */ - || kind === 237 /* SyntaxKind.VariableStatement */ - || kind === 241 /* SyntaxKind.WhileStatement */ - || kind === 248 /* SyntaxKind.WithStatement */ - || kind === 349 /* SyntaxKind.NotEmittedStatement */ - || kind === 353 /* SyntaxKind.EndOfDeclarationMarker */ - || kind === 352 /* SyntaxKind.MergeDeclarationMarker */; + return kind === 249 /* SyntaxKind.BreakStatement */ + || kind === 248 /* SyntaxKind.ContinueStatement */ + || kind === 256 /* SyntaxKind.DebuggerStatement */ + || kind === 243 /* SyntaxKind.DoStatement */ + || kind === 241 /* SyntaxKind.ExpressionStatement */ + || kind === 239 /* SyntaxKind.EmptyStatement */ + || kind === 246 /* SyntaxKind.ForInStatement */ + || kind === 247 /* SyntaxKind.ForOfStatement */ + || kind === 245 /* SyntaxKind.ForStatement */ + || kind === 242 /* SyntaxKind.IfStatement */ + || kind === 253 /* SyntaxKind.LabeledStatement */ + || kind === 250 /* SyntaxKind.ReturnStatement */ + || kind === 252 /* SyntaxKind.SwitchStatement */ + || kind === 254 /* SyntaxKind.ThrowStatement */ + || kind === 255 /* SyntaxKind.TryStatement */ + || kind === 240 /* SyntaxKind.VariableStatement */ + || kind === 244 /* SyntaxKind.WhileStatement */ + || kind === 251 /* SyntaxKind.WithStatement */ + || kind === 352 /* SyntaxKind.NotEmittedStatement */ + || kind === 356 /* SyntaxKind.EndOfDeclarationMarker */ + || kind === 355 /* SyntaxKind.MergeDeclarationMarker */; } /* @internal */ function isDeclaration(node) { - if (node.kind === 163 /* SyntaxKind.TypeParameter */) { - return (node.parent && node.parent.kind !== 344 /* SyntaxKind.JSDocTemplateTag */) || ts.isInJSFile(node); + if (node.kind === 165 /* SyntaxKind.TypeParameter */) { + return (node.parent && node.parent.kind !== 347 /* SyntaxKind.JSDocTemplateTag */) || ts.isInJSFile(node); } return isDeclarationKind(node.kind); } @@ -14319,10 +14246,10 @@ var ts; } ts.isStatement = isStatement; function isBlockStatement(node) { - if (node.kind !== 235 /* SyntaxKind.Block */) + if (node.kind !== 238 /* SyntaxKind.Block */) return false; if (node.parent !== undefined) { - if (node.parent.kind === 252 /* SyntaxKind.TryStatement */ || node.parent.kind === 292 /* SyntaxKind.CatchClause */) { + if (node.parent.kind === 255 /* SyntaxKind.TryStatement */ || node.parent.kind === 295 /* SyntaxKind.CatchClause */) { return false; } } @@ -14336,15 +14263,15 @@ var ts; var kind = node.kind; return isStatementKindButNotDeclarationKind(kind) || isDeclarationStatementKind(kind) - || kind === 235 /* SyntaxKind.Block */; + || kind === 238 /* SyntaxKind.Block */; } ts.isStatementOrBlock = isStatementOrBlock; // Module references /* @internal */ function isModuleReference(node) { var kind = node.kind; - return kind === 277 /* SyntaxKind.ExternalModuleReference */ - || kind === 161 /* SyntaxKind.QualifiedName */ + return kind === 280 /* SyntaxKind.ExternalModuleReference */ + || kind === 163 /* SyntaxKind.QualifiedName */ || kind === 79 /* SyntaxKind.Identifier */; } ts.isModuleReference = isModuleReference; @@ -14354,58 +14281,58 @@ var ts; var kind = node.kind; return kind === 108 /* SyntaxKind.ThisKeyword */ || kind === 79 /* SyntaxKind.Identifier */ - || kind === 206 /* SyntaxKind.PropertyAccessExpression */; + || kind === 208 /* SyntaxKind.PropertyAccessExpression */; } ts.isJsxTagNameExpression = isJsxTagNameExpression; /* @internal */ function isJsxChild(node) { var kind = node.kind; - return kind === 278 /* SyntaxKind.JsxElement */ - || kind === 288 /* SyntaxKind.JsxExpression */ - || kind === 279 /* SyntaxKind.JsxSelfClosingElement */ + return kind === 281 /* SyntaxKind.JsxElement */ + || kind === 291 /* SyntaxKind.JsxExpression */ + || kind === 282 /* SyntaxKind.JsxSelfClosingElement */ || kind === 11 /* SyntaxKind.JsxText */ - || kind === 282 /* SyntaxKind.JsxFragment */; + || kind === 285 /* SyntaxKind.JsxFragment */; } ts.isJsxChild = isJsxChild; /* @internal */ function isJsxAttributeLike(node) { var kind = node.kind; - return kind === 285 /* SyntaxKind.JsxAttribute */ - || kind === 287 /* SyntaxKind.JsxSpreadAttribute */; + return kind === 288 /* SyntaxKind.JsxAttribute */ + || kind === 290 /* SyntaxKind.JsxSpreadAttribute */; } ts.isJsxAttributeLike = isJsxAttributeLike; /* @internal */ function isStringLiteralOrJsxExpression(node) { var kind = node.kind; return kind === 10 /* SyntaxKind.StringLiteral */ - || kind === 288 /* SyntaxKind.JsxExpression */; + || kind === 291 /* SyntaxKind.JsxExpression */; } ts.isStringLiteralOrJsxExpression = isStringLiteralOrJsxExpression; function isJsxOpeningLikeElement(node) { var kind = node.kind; - return kind === 280 /* SyntaxKind.JsxOpeningElement */ - || kind === 279 /* SyntaxKind.JsxSelfClosingElement */; + return kind === 283 /* SyntaxKind.JsxOpeningElement */ + || kind === 282 /* SyntaxKind.JsxSelfClosingElement */; } ts.isJsxOpeningLikeElement = isJsxOpeningLikeElement; // Clauses function isCaseOrDefaultClause(node) { var kind = node.kind; - return kind === 289 /* SyntaxKind.CaseClause */ - || kind === 290 /* SyntaxKind.DefaultClause */; + return kind === 292 /* SyntaxKind.CaseClause */ + || kind === 293 /* SyntaxKind.DefaultClause */; } ts.isCaseOrDefaultClause = isCaseOrDefaultClause; // JSDoc /** True if node is of some JSDoc syntax kind. */ /* @internal */ function isJSDocNode(node) { - return node.kind >= 309 /* SyntaxKind.FirstJSDocNode */ && node.kind <= 347 /* SyntaxKind.LastJSDocNode */; + return node.kind >= 312 /* SyntaxKind.FirstJSDocNode */ && node.kind <= 350 /* SyntaxKind.LastJSDocNode */; } ts.isJSDocNode = isJSDocNode; /** True if node is of a kind that may contain comment text. */ function isJSDocCommentContainingNode(node) { - return node.kind === 320 /* SyntaxKind.JSDoc */ - || node.kind === 319 /* SyntaxKind.JSDocNamepathType */ - || node.kind === 321 /* SyntaxKind.JSDocText */ + return node.kind === 323 /* SyntaxKind.JSDoc */ + || node.kind === 322 /* SyntaxKind.JSDocNamepathType */ + || node.kind === 324 /* SyntaxKind.JSDocText */ || isJSDocLinkLike(node) || isJSDocTag(node) || ts.isJSDocTypeLiteral(node) @@ -14415,15 +14342,15 @@ var ts; // TODO: determine what this does before making it public. /* @internal */ function isJSDocTag(node) { - return node.kind >= 327 /* SyntaxKind.FirstJSDocTagNode */ && node.kind <= 347 /* SyntaxKind.LastJSDocTagNode */; + return node.kind >= 330 /* SyntaxKind.FirstJSDocTagNode */ && node.kind <= 350 /* SyntaxKind.LastJSDocTagNode */; } ts.isJSDocTag = isJSDocTag; function isSetAccessor(node) { - return node.kind === 173 /* SyntaxKind.SetAccessor */; + return node.kind === 175 /* SyntaxKind.SetAccessor */; } ts.isSetAccessor = isSetAccessor; function isGetAccessor(node) { - return node.kind === 172 /* SyntaxKind.GetAccessor */; + return node.kind === 174 /* SyntaxKind.GetAccessor */; } ts.isGetAccessor = isGetAccessor; /** True if has jsdoc nodes attached to it. */ @@ -14449,12 +14376,12 @@ var ts; /** True if has initializer node attached to it. */ function hasOnlyExpressionInitializer(node) { switch (node.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: - case 203 /* SyntaxKind.BindingElement */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 299 /* SyntaxKind.EnumMember */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 205 /* SyntaxKind.BindingElement */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 302 /* SyntaxKind.EnumMember */: return true; default: return false; @@ -14462,12 +14389,12 @@ var ts; } ts.hasOnlyExpressionInitializer = hasOnlyExpressionInitializer; function isObjectLiteralElement(node) { - return node.kind === 285 /* SyntaxKind.JsxAttribute */ || node.kind === 287 /* SyntaxKind.JsxSpreadAttribute */ || isObjectLiteralElementLike(node); + return node.kind === 288 /* SyntaxKind.JsxAttribute */ || node.kind === 290 /* SyntaxKind.JsxSpreadAttribute */ || isObjectLiteralElementLike(node); } ts.isObjectLiteralElement = isObjectLiteralElement; /* @internal */ function isTypeReferenceType(node) { - return node.kind === 178 /* SyntaxKind.TypeReference */ || node.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */; + return node.kind === 180 /* SyntaxKind.TypeReference */ || node.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */; } ts.isTypeReferenceType = isTypeReferenceType; var MAX_SMI_X86 = 1073741823; @@ -14500,7 +14427,7 @@ var ts; } ts.isStringLiteralLike = isStringLiteralLike; function isJSDocLinkLike(node) { - return node.kind === 324 /* SyntaxKind.JSDocLink */ || node.kind === 325 /* SyntaxKind.JSDocLinkCode */ || node.kind === 326 /* SyntaxKind.JSDocLinkPlain */; + return node.kind === 327 /* SyntaxKind.JSDocLink */ || node.kind === 328 /* SyntaxKind.JSDocLinkCode */ || node.kind === 329 /* SyntaxKind.JSDocLinkPlain */; } ts.isJSDocLinkLike = isJSDocLinkLike; function hasRestParameter(s) { @@ -14510,7 +14437,7 @@ var ts; ts.hasRestParameter = hasRestParameter; function isRestParameter(node) { var type = ts.isJSDocParameterTag(node) ? (node.typeExpression && node.typeExpression.type) : node.type; - return node.dotDotDotToken !== undefined || !!type && type.kind === 318 /* SyntaxKind.JSDocVariadicType */; + return node.dotDotDotToken !== undefined || !!type && type.kind === 321 /* SyntaxKind.JSDocVariadicType */; } ts.isRestParameter = isRestParameter; // #endregion @@ -14768,7 +14695,7 @@ var ts; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 305 /* SyntaxKind.SourceFile */) { + while (node && node.kind !== 308 /* SyntaxKind.SourceFile */) { node = node.parent; } return node; @@ -14784,11 +14711,11 @@ var ts; ts.isPlainJsFile = isPlainJsFile; function isStatementWithLocals(node) { switch (node.kind) { - case 235 /* SyntaxKind.Block */: - case 263 /* SyntaxKind.CaseBlock */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 238 /* SyntaxKind.Block */: + case 266 /* SyntaxKind.CaseBlock */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return true; } return false; @@ -14984,11 +14911,11 @@ var ts; // the syntax list itself considers them as normal trivia. Therefore if we simply skip // trivia for the list, we may have skipped the JSDocComment as well. So we should process its // first child to determine the actual position of its first token. - if (node.kind === 348 /* SyntaxKind.SyntaxList */ && node._children.length > 0) { + if (node.kind === 351 /* SyntaxKind.SyntaxList */ && node._children.length > 0) { return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc); } - return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, - /*stopAfterLineBreak*/ false, + return ts.skipTrivia((sourceFile || getSourceFileOfNode(node)).text, node.pos, + /*stopAfterLineBreak*/ false, /*stopAtComments*/ false, isInJSDoc(node)); } ts.getTokenPosOfNode = getTokenPosOfNode; @@ -15049,7 +14976,6 @@ var ts; return emitNode && emitNode.flags || 0; } ts.getEmitFlags = getEmitFlags; - ; function getScriptTargetFeatures() { return { es2015: { @@ -15222,7 +15148,7 @@ var ts; ts.isBlockOrCatchScoped = isBlockOrCatchScoped; function isCatchClauseVariableDeclarationOrBindingElement(declaration) { var node = getRootDeclaration(declaration); - return node.kind === 254 /* SyntaxKind.VariableDeclaration */ && node.parent.kind === 292 /* SyntaxKind.CatchClause */; + return node.kind === 257 /* SyntaxKind.VariableDeclaration */ && node.parent.kind === 295 /* SyntaxKind.CatchClause */; } ts.isCatchClauseVariableDeclarationOrBindingElement = isCatchClauseVariableDeclarationOrBindingElement; function isAmbientModule(node) { @@ -15254,11 +15180,11 @@ var ts; ts.isShorthandAmbientModuleSymbol = isShorthandAmbientModuleSymbol; function isShorthandAmbientModule(node) { // The only kind of module that can be missing a body is a shorthand ambient module. - return !!node && node.kind === 261 /* SyntaxKind.ModuleDeclaration */ && (!node.body); + return !!node && node.kind === 264 /* SyntaxKind.ModuleDeclaration */ && (!node.body); } function isBlockScopedContainerTopLevel(node) { - return node.kind === 305 /* SyntaxKind.SourceFile */ || - node.kind === 261 /* SyntaxKind.ModuleDeclaration */ || + return node.kind === 308 /* SyntaxKind.SourceFile */ || + node.kind === 264 /* SyntaxKind.ModuleDeclaration */ || ts.isFunctionLikeOrClassStaticBlockDeclaration(node); } ts.isBlockScopedContainerTopLevel = isBlockScopedContainerTopLevel; @@ -15275,9 +15201,9 @@ var ts; // - defined in the top level scope and source file is an external module // - defined inside ambient module declaration located in the top level scope and source file not an external module switch (node.parent.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return ts.isExternalModule(node.parent); - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: return isAmbientModule(node.parent.parent) && ts.isSourceFile(node.parent.parent.parent) && !ts.isExternalModule(node.parent.parent.parent); } return false; @@ -15332,26 +15258,30 @@ var ts; return false; } ts.isEffectiveStrictModeSourceFile = isEffectiveStrictModeSourceFile; + function isAmbientPropertyDeclaration(node) { + return !!(node.flags & 16777216 /* NodeFlags.Ambient */) || hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */); + } + ts.isAmbientPropertyDeclaration = isAmbientPropertyDeclaration; function isBlockScope(node, parentNode) { switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: - case 263 /* SyntaxKind.CaseBlock */: - case 292 /* SyntaxKind.CatchClause */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 308 /* SyntaxKind.SourceFile */: + case 266 /* SyntaxKind.CaseBlock */: + case 295 /* SyntaxKind.CatchClause */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return true; - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: // function block is not considered block-scope container // see comment in binder.ts: bind(...), case for SyntaxKind.Block return !ts.isFunctionLikeOrClassStaticBlockDeclaration(parentNode); @@ -15361,9 +15291,9 @@ var ts; ts.isBlockScope = isBlockScope; function isDeclarationWithTypeParameters(node) { switch (node.kind) { - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 323 /* SyntaxKind.JSDocSignature */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 326 /* SyntaxKind.JSDocSignature */: return true; default: ts.assertType(node); @@ -15373,25 +15303,25 @@ var ts; ts.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters; function isDeclarationWithTypeParameterChildren(node) { switch (node.kind) { - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 168 /* SyntaxKind.MethodSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 344 /* SyntaxKind.JSDocTemplateTag */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 170 /* SyntaxKind.MethodSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 347 /* SyntaxKind.JSDocTemplateTag */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return true; default: ts.assertType(node); @@ -15401,8 +15331,8 @@ var ts; ts.isDeclarationWithTypeParameterChildren = isDeclarationWithTypeParameterChildren; function isAnyImportSyntax(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return true; default: return false; @@ -15415,15 +15345,15 @@ var ts; ts.isAnyImportOrBareOrAccessedRequire = isAnyImportOrBareOrAccessedRequire; function isLateVisibilityPaintedStatement(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 237 /* SyntaxKind.VariableStatement */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 240 /* SyntaxKind.VariableStatement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return true; default: return false; @@ -15464,19 +15394,19 @@ var ts; } ts.getNameFromIndexInfo = getNameFromIndexInfo; function isComputedNonLiteralName(name) { - return name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression); + return name.kind === 164 /* SyntaxKind.ComputedPropertyName */ && !isStringOrNumericLiteralLike(name.expression); } ts.isComputedNonLiteralName = isComputedNonLiteralName; function tryGetTextOfPropertyName(name) { switch (name.kind) { case 79 /* SyntaxKind.Identifier */: case 80 /* SyntaxKind.PrivateIdentifier */: - return name.escapedText; + return name.autoGenerateFlags ? undefined : name.escapedText; case 10 /* SyntaxKind.StringLiteral */: case 8 /* SyntaxKind.NumericLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return ts.escapeLeadingUnderscores(name.text); - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: if (isStringOrNumericLiteralLike(name.expression)) return ts.escapeLeadingUnderscores(name.expression.text); return undefined; @@ -15496,16 +15426,16 @@ var ts; case 80 /* SyntaxKind.PrivateIdentifier */: case 79 /* SyntaxKind.Identifier */: return getFullWidth(name) === 0 ? ts.idText(name) : getTextOfNode(name); - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return entityNameToString(name.left) + "." + entityNameToString(name.right); - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: if (ts.isIdentifier(name.name) || ts.isPrivateIdentifier(name.name)) { return entityNameToString(name.expression) + "." + entityNameToString(name.name); } else { return ts.Debug.assertNever(name.name); } - case 311 /* SyntaxKind.JSDocMemberName */: + case 314 /* SyntaxKind.JSDocMemberName */: return entityNameToString(name.left) + entityNameToString(name.right); default: return ts.Debug.assertNever(name); @@ -15595,7 +15525,7 @@ var ts; ts.getSpanOfTokenAtPosition = getSpanOfTokenAtPosition; function getErrorSpanForArrowFunction(sourceFile, node) { var pos = ts.skipTrivia(sourceFile.text, node.pos); - if (node.body && node.body.kind === 235 /* SyntaxKind.Block */) { + if (node.body && node.body.kind === 238 /* SyntaxKind.Block */) { var startLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.pos).line; var endLine = ts.getLineAndCharacterOfPosition(sourceFile, node.body.end).line; if (startLine < endLine) { @@ -15609,7 +15539,7 @@ var ts; function getErrorSpanForNode(sourceFile, node) { var errorNode = node; switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: var pos_1 = ts.skipTrivia(sourceFile.text, 0, /*stopAfterLineBreak*/ false); if (pos_1 === sourceFile.text.length) { // file is empty - return span for the beginning of the file @@ -15618,29 +15548,29 @@ var ts; return getSpanOfTokenAtPosition(sourceFile, pos_1); // This list is a work in progress. Add missing node kinds to improve their error // spans. - case 254 /* SyntaxKind.VariableDeclaration */: - case 203 /* SyntaxKind.BindingElement */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 299 /* SyntaxKind.EnumMember */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 268 /* SyntaxKind.NamespaceImport */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 205 /* SyntaxKind.BindingElement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 302 /* SyntaxKind.EnumMember */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 271 /* SyntaxKind.NamespaceImport */: errorNode = node.name; break; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return getErrorSpanForArrowFunction(sourceFile, node); - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: var start = ts.skipTrivia(sourceFile.text, node.pos); var end = node.statements.length > 0 ? node.statements[0].pos : node.end; return ts.createTextSpanFromBounds(start, end); @@ -15692,11 +15622,11 @@ var ts; } ts.isLet = isLet; function isSuperCall(n) { - return n.kind === 208 /* SyntaxKind.CallExpression */ && n.expression.kind === 106 /* SyntaxKind.SuperKeyword */; + return n.kind === 210 /* SyntaxKind.CallExpression */ && n.expression.kind === 106 /* SyntaxKind.SuperKeyword */; } ts.isSuperCall = isSuperCall; function isImportCall(n) { - return n.kind === 208 /* SyntaxKind.CallExpression */ && n.expression.kind === 100 /* SyntaxKind.ImportKeyword */; + return n.kind === 210 /* SyntaxKind.CallExpression */ && n.expression.kind === 100 /* SyntaxKind.ImportKeyword */; } ts.isImportCall = isImportCall; function isImportMeta(n) { @@ -15710,7 +15640,7 @@ var ts; } ts.isLiteralImportTypeNode = isLiteralImportTypeNode; function isPrologueDirective(node) { - return node.kind === 238 /* SyntaxKind.ExpressionStatement */ + return node.kind === 241 /* SyntaxKind.ExpressionStatement */ && node.expression.kind === 10 /* SyntaxKind.StringLiteral */; } ts.isPrologueDirective = isPrologueDirective; @@ -15738,13 +15668,13 @@ var ts; } ts.getLeadingCommentRangesOfNode = getLeadingCommentRangesOfNode; function getJSDocCommentRanges(node, text) { - var commentRanges = (node.kind === 164 /* SyntaxKind.Parameter */ || - node.kind === 163 /* SyntaxKind.TypeParameter */ || - node.kind === 213 /* SyntaxKind.FunctionExpression */ || - node.kind === 214 /* SyntaxKind.ArrowFunction */ || - node.kind === 212 /* SyntaxKind.ParenthesizedExpression */ || - node.kind === 254 /* SyntaxKind.VariableDeclaration */ || - node.kind === 275 /* SyntaxKind.ExportSpecifier */) ? + var commentRanges = (node.kind === 166 /* SyntaxKind.Parameter */ || + node.kind === 165 /* SyntaxKind.TypeParameter */ || + node.kind === 215 /* SyntaxKind.FunctionExpression */ || + node.kind === 216 /* SyntaxKind.ArrowFunction */ || + node.kind === 214 /* SyntaxKind.ParenthesizedExpression */ || + node.kind === 257 /* SyntaxKind.VariableDeclaration */ || + node.kind === 278 /* SyntaxKind.ExportSpecifier */) ? ts.concatenate(ts.getTrailingCommentRanges(text, node.pos), ts.getLeadingCommentRanges(text, node.pos)) : ts.getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' @@ -15760,48 +15690,48 @@ var ts; ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/; var defaultLibReferenceRegEx = /^(\/\/\/\s*/; function isPartOfTypeNode(node) { - if (177 /* SyntaxKind.FirstTypeNode */ <= node.kind && node.kind <= 200 /* SyntaxKind.LastTypeNode */) { + if (179 /* SyntaxKind.FirstTypeNode */ <= node.kind && node.kind <= 202 /* SyntaxKind.LastTypeNode */) { return true; } switch (node.kind) { - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: return true; case 114 /* SyntaxKind.VoidKeyword */: - return node.parent.kind !== 217 /* SyntaxKind.VoidExpression */; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + return node.parent.kind !== 219 /* SyntaxKind.VoidExpression */; + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return ts.isHeritageClause(node.parent) && !isExpressionWithTypeArgumentsInClassExtendsClause(node); - case 163 /* SyntaxKind.TypeParameter */: - return node.parent.kind === 195 /* SyntaxKind.MappedType */ || node.parent.kind === 190 /* SyntaxKind.InferType */; + case 165 /* SyntaxKind.TypeParameter */: + return node.parent.kind === 197 /* SyntaxKind.MappedType */ || node.parent.kind === 192 /* SyntaxKind.InferType */; // Identifiers and qualified names may be type nodes, depending on their context. Climb // above them to find the lowest container case 79 /* SyntaxKind.Identifier */: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === 161 /* SyntaxKind.QualifiedName */ && node.parent.right === node) { + if (node.parent.kind === 163 /* SyntaxKind.QualifiedName */ && node.parent.right === node) { node = node.parent; } - else if (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.parent.name === node) { + else if (node.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && node.parent.name === node) { node = node.parent; } // At this point, node is either a qualified name or an identifier - ts.Debug.assert(node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 161 /* SyntaxKind.QualifiedName */ || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); + ts.Debug.assert(node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 163 /* SyntaxKind.QualifiedName */ || node.kind === 208 /* SyntaxKind.PropertyAccessExpression */, "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."); // falls through - case 161 /* SyntaxKind.QualifiedName */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 163 /* SyntaxKind.QualifiedName */: + case 208 /* SyntaxKind.PropertyAccessExpression */: case 108 /* SyntaxKind.ThisKeyword */: { var parent = node.parent; - if (parent.kind === 181 /* SyntaxKind.TypeQuery */) { + if (parent.kind === 183 /* SyntaxKind.TypeQuery */) { return false; } - if (parent.kind === 200 /* SyntaxKind.ImportType */) { + if (parent.kind === 202 /* SyntaxKind.ImportType */) { return !parent.isTypeOf; } // Do not recursively call isPartOfTypeNode on the parent. In the example: @@ -15810,40 +15740,40 @@ var ts; // // Calling isPartOfTypeNode would consider the qualified name A.B a type node. // Only C and A.B.C are type nodes. - if (177 /* SyntaxKind.FirstTypeNode */ <= parent.kind && parent.kind <= 200 /* SyntaxKind.LastTypeNode */) { + if (179 /* SyntaxKind.FirstTypeNode */ <= parent.kind && parent.kind <= 202 /* SyntaxKind.LastTypeNode */) { return true; } switch (parent.kind) { - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return ts.isHeritageClause(parent.parent) && !isExpressionWithTypeArgumentsInClassExtendsClause(parent); - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: return node === parent.constraint; - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: return node === parent.constraint; - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 164 /* SyntaxKind.Parameter */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 166 /* SyntaxKind.Parameter */: + case 257 /* SyntaxKind.VariableDeclaration */: return node === parent.type; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return node === parent.type; - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 176 /* SyntaxKind.IndexSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 178 /* SyntaxKind.IndexSignature */: return node === parent.type; - case 211 /* SyntaxKind.TypeAssertionExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: return node === parent.type; - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: return ts.contains(parent.typeArguments, node); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: // TODO (drosen): TaggedTemplateExpressions may eventually support type arguments. return false; } @@ -15868,23 +15798,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return visitor(node); - case 263 /* SyntaxKind.CaseBlock */: - case 235 /* SyntaxKind.Block */: - case 239 /* SyntaxKind.IfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 249 /* SyntaxKind.SwitchStatement */: - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: - case 250 /* SyntaxKind.LabeledStatement */: - case 252 /* SyntaxKind.TryStatement */: - case 292 /* SyntaxKind.CatchClause */: + case 266 /* SyntaxKind.CaseBlock */: + case 238 /* SyntaxKind.Block */: + case 242 /* SyntaxKind.IfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 252 /* SyntaxKind.SwitchStatement */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: + case 253 /* SyntaxKind.LabeledStatement */: + case 255 /* SyntaxKind.TryStatement */: + case 295 /* SyntaxKind.CatchClause */: return ts.forEachChild(node, traverse); } } @@ -15894,23 +15824,23 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: visitor(node); var operand = node.expression; if (operand) { traverse(operand); } return; - case 260 /* SyntaxKind.EnumDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: // These are not allowed inside a generator now, but eventually they may be allowed // as local types. Regardless, skip them to avoid the work. return; default: if (ts.isFunctionLike(node)) { - if (node.name && node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.name && node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { // Note that we will not include methods/accessors of a class because they would require // first descending into the class. This is by design. traverse(node.name.expression); @@ -15933,10 +15863,10 @@ var ts; * @param node The type node. */ function getRestParameterElementType(node) { - if (node && node.kind === 183 /* SyntaxKind.ArrayType */) { + if (node && node.kind === 185 /* SyntaxKind.ArrayType */) { return node.elementType; } - else if (node && node.kind === 178 /* SyntaxKind.TypeReference */) { + else if (node && node.kind === 180 /* SyntaxKind.TypeReference */) { return ts.singleOrUndefined(node.typeArguments); } else { @@ -15946,12 +15876,12 @@ var ts; ts.getRestParameterElementType = getRestParameterElementType; function getMembersOfDeclaration(node) { switch (node.kind) { - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 182 /* SyntaxKind.TypeLiteral */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 184 /* SyntaxKind.TypeLiteral */: return node.members; - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return node.properties; } } @@ -15959,14 +15889,14 @@ var ts; function isVariableLike(node) { if (node) { switch (node.kind) { - case 203 /* SyntaxKind.BindingElement */: - case 299 /* SyntaxKind.EnumMember */: - case 164 /* SyntaxKind.Parameter */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 205 /* SyntaxKind.BindingElement */: + case 302 /* SyntaxKind.EnumMember */: + case 166 /* SyntaxKind.Parameter */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 257 /* SyntaxKind.VariableDeclaration */: return true; } } @@ -15978,8 +15908,8 @@ var ts; } ts.isVariableLikeOrAccessor = isVariableLikeOrAccessor; function isVariableDeclarationInVariableStatement(node) { - return node.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */ - && node.parent.parent.kind === 237 /* SyntaxKind.VariableStatement */; + return node.parent.kind === 258 /* SyntaxKind.VariableDeclarationList */ + && node.parent.parent.kind === 240 /* SyntaxKind.VariableStatement */; } ts.isVariableDeclarationInVariableStatement = isVariableDeclarationInVariableStatement; function isCommonJsExportedExpression(node) { @@ -16003,13 +15933,13 @@ var ts; ts.isValidESSymbolDeclaration = isValidESSymbolDeclaration; function introducesArgumentsExoticObject(node) { switch (node.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: return true; } return false; @@ -16020,7 +15950,7 @@ var ts; if (beforeUnwrapLabelCallback) { beforeUnwrapLabelCallback(node); } - if (node.statement.kind !== 250 /* SyntaxKind.LabeledStatement */) { + if (node.statement.kind !== 253 /* SyntaxKind.LabeledStatement */) { return node.statement; } node = node.statement; @@ -16028,17 +15958,17 @@ var ts; } ts.unwrapInnermostStatementOfLabel = unwrapInnermostStatementOfLabel; function isFunctionBlock(node) { - return node && node.kind === 235 /* SyntaxKind.Block */ && ts.isFunctionLike(node.parent); + return node && node.kind === 238 /* SyntaxKind.Block */ && ts.isFunctionLike(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 169 /* SyntaxKind.MethodDeclaration */ && node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; + return node && node.kind === 171 /* SyntaxKind.MethodDeclaration */ && node.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function isObjectLiteralOrClassExpressionMethodOrAccessor(node) { - return (node.kind === 169 /* SyntaxKind.MethodDeclaration */ || node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */) && - (node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || - node.parent.kind === 226 /* SyntaxKind.ClassExpression */); + return (node.kind === 171 /* SyntaxKind.MethodDeclaration */ || node.kind === 174 /* SyntaxKind.GetAccessor */ || node.kind === 175 /* SyntaxKind.SetAccessor */) && + (node.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ || + node.parent.kind === 228 /* SyntaxKind.ClassExpression */); } ts.isObjectLiteralOrClassExpressionMethodOrAccessor = isObjectLiteralOrClassExpressionMethodOrAccessor; function isIdentifierTypePredicate(predicate) { @@ -16051,7 +15981,7 @@ var ts; ts.isThisTypePredicate = isThisTypePredicate; function getPropertyAssignment(objectLiteral, key, key2) { return objectLiteral.properties.filter(function (property) { - if (property.kind === 296 /* SyntaxKind.PropertyAssignment */) { + if (property.kind === 299 /* SyntaxKind.PropertyAssignment */) { var propName = tryGetTextOfPropertyName(property.name); return key === propName || (!!key2 && key2 === propName); } @@ -16113,14 +16043,14 @@ var ts; } ts.getContainingFunctionOrClassStaticBlock = getContainingFunctionOrClassStaticBlock; function getThisContainer(node, includeArrowFunctions) { - ts.Debug.assert(node.kind !== 305 /* SyntaxKind.SourceFile */); + ts.Debug.assert(node.kind !== 308 /* SyntaxKind.SourceFile */); while (true) { node = node.parent; if (!node) { return ts.Debug.fail(); // If we never pass in a SourceFile, this should be unreachable, since we'll stop when we reach that. } switch (node.kind) { - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: // If the grandparent node is an object literal (as opposed to a class), // then the computed property is not a 'this' container. // A computed property name in a class needs to be a this container @@ -16135,9 +16065,9 @@ var ts; // the *body* of the container. node = node.parent; break; - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 164 /* SyntaxKind.Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 166 /* SyntaxKind.Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -16148,27 +16078,27 @@ var ts; node = node.parent; } break; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: if (!includeArrowFunctions) { continue; } // falls through - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 305 /* SyntaxKind.SourceFile */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 308 /* SyntaxKind.SourceFile */: return node; } } @@ -16181,17 +16111,17 @@ var ts; switch (node.kind) { // Arrow functions use the same scope, but may do so in a "delayed" manner // For example, `const getThis = () => this` may be before a super() call in a derived constructor - case 214 /* SyntaxKind.ArrowFunction */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 167 /* SyntaxKind.PropertyDeclaration */: + case 216 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 169 /* SyntaxKind.PropertyDeclaration */: return true; - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: switch (node.parent.kind) { - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // Object properties can have computed names; only method-like bodies start a new scope return true; default: @@ -16215,9 +16145,9 @@ var ts; var container = getThisContainer(node, /*includeArrowFunctions*/ false); if (container) { switch (container.kind) { - case 171 /* SyntaxKind.Constructor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 173 /* SyntaxKind.Constructor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: return container; } } @@ -16239,28 +16169,28 @@ var ts; return node; } switch (node.kind) { - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: node = node.parent; break; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: if (!stopOnFunctions) { continue; } // falls through - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return node; - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: // Decorators are always applied outside of the body of a class or method. - if (node.parent.kind === 164 /* SyntaxKind.Parameter */ && ts.isClassElement(node.parent.parent)) { + if (node.parent.kind === 166 /* SyntaxKind.Parameter */ && ts.isClassElement(node.parent.parent)) { // If the decorator's parent is a Parameter, we resolve the this container from // the grandparent class declaration. node = node.parent.parent; @@ -16276,14 +16206,14 @@ var ts; } ts.getSuperContainer = getSuperContainer; function getImmediatelyInvokedFunctionExpression(func) { - if (func.kind === 213 /* SyntaxKind.FunctionExpression */ || func.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (func.kind === 215 /* SyntaxKind.FunctionExpression */ || func.kind === 216 /* SyntaxKind.ArrowFunction */) { var prev = func; var parent = func.parent; - while (parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + while (parent.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { prev = parent; parent = parent.parent; } - if (parent.kind === 208 /* SyntaxKind.CallExpression */ && parent.expression === prev) { + if (parent.kind === 210 /* SyntaxKind.CallExpression */ && parent.expression === prev) { return parent; } } @@ -16299,7 +16229,7 @@ var ts; */ function isSuperProperty(node) { var kind = node.kind; - return (kind === 206 /* SyntaxKind.PropertyAccessExpression */ || kind === 207 /* SyntaxKind.ElementAccessExpression */) + return (kind === 208 /* SyntaxKind.PropertyAccessExpression */ || kind === 209 /* SyntaxKind.ElementAccessExpression */) && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */; } ts.isSuperProperty = isSuperProperty; @@ -16308,7 +16238,7 @@ var ts; */ function isThisProperty(node) { var kind = node.kind; - return (kind === 206 /* SyntaxKind.PropertyAccessExpression */ || kind === 207 /* SyntaxKind.ElementAccessExpression */) + return (kind === 208 /* SyntaxKind.PropertyAccessExpression */ || kind === 209 /* SyntaxKind.ElementAccessExpression */) && node.expression.kind === 108 /* SyntaxKind.ThisKeyword */; } ts.isThisProperty = isThisProperty; @@ -16327,15 +16257,15 @@ var ts; ts.isThisInitializedObjectBindingExpression = isThisInitializedObjectBindingExpression; function getEntityNameFromTypeNode(node) { switch (node.kind) { - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return node.typeName; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return isEntityNameExpression(node.expression) ? node.expression : undefined; // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s. case 79 /* SyntaxKind.Identifier */: - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return node; } return undefined; @@ -16343,10 +16273,10 @@ var ts; ts.getEntityNameFromTypeNode = getEntityNameFromTypeNode; function getInvokedExpression(node) { switch (node.kind) { - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return node.tag; - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return node.tagName; default: return node.expression; @@ -16359,25 +16289,25 @@ var ts; return false; } switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: // classes are valid targets return true; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: // property declarations are valid if their parent is a class declaration. - return parent.kind === 257 /* SyntaxKind.ClassDeclaration */; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: + return parent.kind === 260 /* SyntaxKind.ClassDeclaration */; + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: // if this method has a body and its parent is a class declaration, this is a valid target. return node.body !== undefined - && parent.kind === 257 /* SyntaxKind.ClassDeclaration */; - case 164 /* SyntaxKind.Parameter */: + && parent.kind === 260 /* SyntaxKind.ClassDeclaration */; + case 166 /* SyntaxKind.Parameter */: // if the parameter's parent has a body and its grandparent is a class declaration, this is a valid target; return parent.body !== undefined - && (parent.kind === 171 /* SyntaxKind.Constructor */ - || parent.kind === 169 /* SyntaxKind.MethodDeclaration */ - || parent.kind === 173 /* SyntaxKind.SetAccessor */) - && grandparent.kind === 257 /* SyntaxKind.ClassDeclaration */; + && (parent.kind === 173 /* SyntaxKind.Constructor */ + || parent.kind === 171 /* SyntaxKind.MethodDeclaration */ + || parent.kind === 175 /* SyntaxKind.SetAccessor */) + && grandparent.kind === 260 /* SyntaxKind.ClassDeclaration */; } return false; } @@ -16393,11 +16323,11 @@ var ts; ts.nodeOrChildIsDecorated = nodeOrChildIsDecorated; function childIsDecorated(node, parent) { switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return ts.some(node.members, function (m) { return nodeOrChildIsDecorated(m, node, parent); }); // TODO: GH#18217 - case 169 /* SyntaxKind.MethodDeclaration */: - case 173 /* SyntaxKind.SetAccessor */: - case 171 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 175 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: return ts.some(node.parameters, function (p) { return nodeIsDecorated(p, node, parent); }); // TODO: GH#18217 default: return false; @@ -16413,9 +16343,9 @@ var ts; ts.classOrConstructorParameterIsDecorated = classOrConstructorParameterIsDecorated; function isJSXTagName(node) { var parent = node.parent; - if (parent.kind === 280 /* SyntaxKind.JsxOpeningElement */ || - parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */ || - parent.kind === 281 /* SyntaxKind.JsxClosingElement */) { + if (parent.kind === 283 /* SyntaxKind.JsxOpeningElement */ || + parent.kind === 282 /* SyntaxKind.JsxSelfClosingElement */ || + parent.kind === 284 /* SyntaxKind.JsxClosingElement */) { return parent.tagName === node; } return false; @@ -16428,53 +16358,54 @@ var ts; case 110 /* SyntaxKind.TrueKeyword */: case 95 /* SyntaxKind.FalseKeyword */: case 13 /* SyntaxKind.RegularExpressionLiteral */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 229 /* SyntaxKind.AsExpression */: - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 230 /* SyntaxKind.NonNullExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 226 /* SyntaxKind.ClassExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 217 /* SyntaxKind.VoidExpression */: - case 215 /* SyntaxKind.DeleteExpression */: - case 216 /* SyntaxKind.TypeOfExpression */: - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: - case 221 /* SyntaxKind.BinaryExpression */: - case 222 /* SyntaxKind.ConditionalExpression */: - case 225 /* SyntaxKind.SpreadElement */: - case 223 /* SyntaxKind.TemplateExpression */: - case 227 /* SyntaxKind.OmittedExpression */: - case 278 /* SyntaxKind.JsxElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 282 /* SyntaxKind.JsxFragment */: - case 224 /* SyntaxKind.YieldExpression */: - case 218 /* SyntaxKind.AwaitExpression */: - case 231 /* SyntaxKind.MetaProperty */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 231 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: + case 232 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 219 /* SyntaxKind.VoidExpression */: + case 217 /* SyntaxKind.DeleteExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: + case 227 /* SyntaxKind.SpreadElement */: + case 225 /* SyntaxKind.TemplateExpression */: + case 229 /* SyntaxKind.OmittedExpression */: + case 281 /* SyntaxKind.JsxElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 285 /* SyntaxKind.JsxFragment */: + case 226 /* SyntaxKind.YieldExpression */: + case 220 /* SyntaxKind.AwaitExpression */: + case 233 /* SyntaxKind.MetaProperty */: return true; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return !ts.isHeritageClause(node.parent); - case 161 /* SyntaxKind.QualifiedName */: - while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + case 163 /* SyntaxKind.QualifiedName */: + while (node.parent.kind === 163 /* SyntaxKind.QualifiedName */) { node = node.parent; } - return node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); - case 311 /* SyntaxKind.JSDocMemberName */: + return node.parent.kind === 183 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); + case 314 /* SyntaxKind.JSDocMemberName */: while (ts.isJSDocMemberName(node.parent)) { node = node.parent; } - return node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); + return node.parent.kind === 183 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node); case 80 /* SyntaxKind.PrivateIdentifier */: return ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 101 /* SyntaxKind.InKeyword */; case 79 /* SyntaxKind.Identifier */: - if (node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) { + if (node.parent.kind === 183 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) { return true; } // falls through @@ -16492,60 +16423,62 @@ var ts; function isInExpressionContext(node) { var parent = node.parent; switch (parent.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 299 /* SyntaxKind.EnumMember */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 302 /* SyntaxKind.EnumMember */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 205 /* SyntaxKind.BindingElement */: return parent.initializer === node; - case 238 /* SyntaxKind.ExpressionStatement */: - case 239 /* SyntaxKind.IfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 247 /* SyntaxKind.ReturnStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 249 /* SyntaxKind.SwitchStatement */: - case 289 /* SyntaxKind.CaseClause */: - case 251 /* SyntaxKind.ThrowStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 250 /* SyntaxKind.ReturnStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 252 /* SyntaxKind.SwitchStatement */: + case 292 /* SyntaxKind.CaseClause */: + case 254 /* SyntaxKind.ThrowStatement */: return parent.expression === node; - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 255 /* SyntaxKind.VariableDeclarationList */) || + return (forStatement.initializer === node && forStatement.initializer.kind !== 258 /* SyntaxKind.VariableDeclarationList */) || forStatement.condition === node || forStatement.incrementor === node; - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 255 /* SyntaxKind.VariableDeclarationList */) || + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 258 /* SyntaxKind.VariableDeclarationList */) || forInStatement.expression === node; - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 231 /* SyntaxKind.AsExpression */: return node === parent.expression; - case 233 /* SyntaxKind.TemplateSpan */: + case 236 /* SyntaxKind.TemplateSpan */: return node === parent.expression; - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: return node === parent.expression; - case 165 /* SyntaxKind.Decorator */: - case 288 /* SyntaxKind.JsxExpression */: - case 287 /* SyntaxKind.JsxSpreadAttribute */: - case 298 /* SyntaxKind.SpreadAssignment */: + case 167 /* SyntaxKind.Decorator */: + case 291 /* SyntaxKind.JsxExpression */: + case 290 /* SyntaxKind.JsxSpreadAttribute */: + case 301 /* SyntaxKind.SpreadAssignment */: return true; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return parent.expression === node && !isPartOfTypeNode(parent); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return parent.objectAssignmentInitializer === node; + case 235 /* SyntaxKind.SatisfiesExpression */: + return node === parent.expression; default: return isExpressionNode(parent); } } ts.isInExpressionContext = isInExpressionContext; function isPartOfTypeQuery(node) { - while (node.kind === 161 /* SyntaxKind.QualifiedName */ || node.kind === 79 /* SyntaxKind.Identifier */) { + while (node.kind === 163 /* SyntaxKind.QualifiedName */ || node.kind === 79 /* SyntaxKind.Identifier */) { node = node.parent; } - return node.kind === 181 /* SyntaxKind.TypeQuery */; + return node.kind === 183 /* SyntaxKind.TypeQuery */; } ts.isPartOfTypeQuery = isPartOfTypeQuery; function isNamespaceReexportDeclaration(node) { @@ -16553,7 +16486,7 @@ var ts; } ts.isNamespaceReexportDeclaration = isNamespaceReexportDeclaration; function isExternalModuleImportEqualsDeclaration(node) { - return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */; + return node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ && node.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */; } ts.isExternalModuleImportEqualsDeclaration = isExternalModuleImportEqualsDeclaration; function getExternalModuleImportEqualsDeclarationExpression(node) { @@ -16566,7 +16499,7 @@ var ts; } ts.getExternalModuleRequireArgument = getExternalModuleRequireArgument; function isInternalModuleImportEqualsDeclaration(node) { - return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && node.moduleReference.kind !== 277 /* SyntaxKind.ExternalModuleReference */; + return node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ && node.moduleReference.kind !== 280 /* SyntaxKind.ExternalModuleReference */; } ts.isInternalModuleImportEqualsDeclaration = isInternalModuleImportEqualsDeclaration; function isSourceFileJS(file) { @@ -16598,11 +16531,11 @@ var ts; ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object" && node.typeArguments && node.typeArguments.length === 2 && - (node.typeArguments[0].kind === 150 /* SyntaxKind.StringKeyword */ || node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */); + (node.typeArguments[0].kind === 152 /* SyntaxKind.StringKeyword */ || node.typeArguments[0].kind === 148 /* SyntaxKind.NumberKeyword */); } ts.isJSDocIndexSignature = isJSDocIndexSignature; function isRequireCall(callExpression, requireStringLiteralLikeArgument) { - if (callExpression.kind !== 208 /* SyntaxKind.CallExpression */) { + if (callExpression.kind !== 210 /* SyntaxKind.CallExpression */) { return false; } var _a = callExpression, expression = _a.expression, args = _a.arguments; @@ -16711,11 +16644,11 @@ var ts; function getExpandoInitializer(initializer, isPrototypeAssignment) { if (ts.isCallExpression(initializer)) { var e = skipParentheses(initializer.expression); - return e.kind === 213 /* SyntaxKind.FunctionExpression */ || e.kind === 214 /* SyntaxKind.ArrowFunction */ ? initializer : undefined; + return e.kind === 215 /* SyntaxKind.FunctionExpression */ || e.kind === 216 /* SyntaxKind.ArrowFunction */ ? initializer : undefined; } - if (initializer.kind === 213 /* SyntaxKind.FunctionExpression */ || - initializer.kind === 226 /* SyntaxKind.ClassExpression */ || - initializer.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (initializer.kind === 215 /* SyntaxKind.FunctionExpression */ || + initializer.kind === 228 /* SyntaxKind.ClassExpression */ || + initializer.kind === 216 /* SyntaxKind.ArrowFunction */) { return initializer; } if (ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || isPrototypeAssignment)) { @@ -16961,7 +16894,7 @@ var ts; ts.isPrototypePropertyAssignment = isPrototypePropertyAssignment; function isSpecialPropertyDeclaration(expr) { return isInJSFile(expr) && - expr.parent && expr.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && + expr.parent && expr.parent.kind === 241 /* SyntaxKind.ExpressionStatement */ && (!ts.isElementAccessExpression(expr) || isLiteralLikeElementAccess(expr)) && !!ts.getJSDocTypeTag(expr.parent); } @@ -16982,17 +16915,17 @@ var ts; return false; } var decl = symbol.valueDeclaration; - return decl.kind === 256 /* SyntaxKind.FunctionDeclaration */ || ts.isVariableDeclaration(decl) && decl.initializer && ts.isFunctionLike(decl.initializer); + return decl.kind === 259 /* SyntaxKind.FunctionDeclaration */ || ts.isVariableDeclaration(decl) && decl.initializer && ts.isFunctionLike(decl.initializer); } ts.isFunctionSymbol = isFunctionSymbol; function tryGetModuleSpecifierFromDeclaration(node) { var _a, _b; switch (node.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return (_a = ts.findAncestor(node.initializer, function (node) { return isRequireCall(node, /*requireStringLiteralLikeArgument*/ true); })) === null || _a === void 0 ? void 0 : _a.arguments[0]; - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return ts.tryCast(node.moduleSpecifier, ts.isStringLiteralLike); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return ts.tryCast((_b = ts.tryCast(node.moduleReference, ts.isExternalModuleReference)) === null || _b === void 0 ? void 0 : _b.expression, ts.isStringLiteralLike); default: ts.Debug.assertNever(node); @@ -17005,14 +16938,14 @@ var ts; ts.importFromModuleSpecifier = importFromModuleSpecifier; function tryGetImportFromModuleSpecifier(node) { switch (node.parent.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return node.parent; - case 277 /* SyntaxKind.ExternalModuleReference */: + case 280 /* SyntaxKind.ExternalModuleReference */: return node.parent.parent; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return isImportCall(node.parent) || isRequireCall(node.parent, /*checkArg*/ false) ? node.parent : undefined; - case 196 /* SyntaxKind.LiteralType */: + case 198 /* SyntaxKind.LiteralType */: ts.Debug.assert(ts.isStringLiteral(node)); return ts.tryCast(node.parent.parent, ts.isImportTypeNode); default: @@ -17022,16 +16955,16 @@ var ts; ts.tryGetImportFromModuleSpecifier = tryGetImportFromModuleSpecifier; function getExternalModuleName(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return node.moduleSpecifier; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - return node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */ ? node.moduleReference.expression : undefined; - case 200 /* SyntaxKind.ImportType */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + return node.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */ ? node.moduleReference.expression : undefined; + case 202 /* SyntaxKind.ImportType */: return isLiteralImportTypeNode(node) ? node.argument.literal : undefined; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return node.arguments[0]; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return node.name.kind === 10 /* SyntaxKind.StringLiteral */ ? node.name : undefined; default: return ts.Debug.assertNever(node); @@ -17040,11 +16973,11 @@ var ts; ts.getExternalModuleName = getExternalModuleName; function getNamespaceDeclarationNode(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return node.importClause && ts.tryCast(node.importClause.namedBindings, ts.isNamespaceImport); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return node; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return node.exportClause && ts.tryCast(node.exportClause, ts.isNamespaceExport); default: return ts.Debug.assertNever(node); @@ -17052,7 +16985,7 @@ var ts; } ts.getNamespaceDeclarationNode = getNamespaceDeclarationNode; function isDefaultImport(node) { - return node.kind === 266 /* SyntaxKind.ImportDeclaration */ && !!node.importClause && !!node.importClause.name; + return node.kind === 269 /* SyntaxKind.ImportDeclaration */ && !!node.importClause && !!node.importClause.name; } ts.isDefaultImport = isDefaultImport; function forEachImportClauseDeclaration(node, action) { @@ -17073,13 +17006,13 @@ var ts; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 164 /* SyntaxKind.Parameter */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 166 /* SyntaxKind.Parameter */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: return node.questionToken !== undefined; } } @@ -17093,7 +17026,7 @@ var ts; } ts.isJSDocConstructSignature = isJSDocConstructSignature; function isJSDocTypeAlias(node) { - return node.kind === 345 /* SyntaxKind.JSDocTypedefTag */ || node.kind === 338 /* SyntaxKind.JSDocCallbackTag */ || node.kind === 339 /* SyntaxKind.JSDocEnumTag */; + return node.kind === 348 /* SyntaxKind.JSDocTypedefTag */ || node.kind === 341 /* SyntaxKind.JSDocCallbackTag */ || node.kind === 342 /* SyntaxKind.JSDocEnumTag */; } ts.isJSDocTypeAlias = isJSDocTypeAlias; function isTypeAlias(node) { @@ -17118,12 +17051,12 @@ var ts; } function getSingleInitializerOfVariableStatementOrPropertyDeclaration(node) { switch (node.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: var v = getSingleVariableOfVariableStatement(node); return v && v.initializer; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return node.initializer; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return node.initializer; } } @@ -17135,7 +17068,7 @@ var ts; function getNestedModuleDeclaration(node) { return ts.isModuleDeclaration(node) && node.body && - node.body.kind === 261 /* SyntaxKind.ModuleDeclaration */ + node.body.kind === 264 /* SyntaxKind.ModuleDeclaration */ ? node.body : undefined; } @@ -17150,11 +17083,11 @@ var ts; if (ts.hasJSDocNodes(node)) { result = ts.addRange(result, filterOwnedJSDocTags(hostNode, ts.last(node.jsDoc))); } - if (node.kind === 164 /* SyntaxKind.Parameter */) { + if (node.kind === 166 /* SyntaxKind.Parameter */) { result = ts.addRange(result, (noCache ? ts.getJSDocParameterTagsNoCache : ts.getJSDocParameterTags)(node)); break; } - if (node.kind === 163 /* SyntaxKind.TypeParameter */) { + if (node.kind === 165 /* SyntaxKind.TypeParameter */) { result = ts.addRange(result, (noCache ? ts.getJSDocTypeParameterTagsNoCache : ts.getJSDocTypeParameterTags)(node)); break; } @@ -17183,11 +17116,11 @@ var ts; } function getNextJSDocCommentLocation(node) { var parent = node.parent; - if (parent.kind === 296 /* SyntaxKind.PropertyAssignment */ || - parent.kind === 271 /* SyntaxKind.ExportAssignment */ || - parent.kind === 167 /* SyntaxKind.PropertyDeclaration */ || - parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || - parent.kind === 247 /* SyntaxKind.ReturnStatement */ || + if (parent.kind === 299 /* SyntaxKind.PropertyAssignment */ || + parent.kind === 274 /* SyntaxKind.ExportAssignment */ || + parent.kind === 169 /* SyntaxKind.PropertyDeclaration */ || + parent.kind === 241 /* SyntaxKind.ExpressionStatement */ && node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ || + parent.kind === 250 /* SyntaxKind.ReturnStatement */ || getNestedModuleDeclaration(parent) || ts.isBinaryExpression(node) && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { return parent; @@ -17297,34 +17230,34 @@ var ts; var parent = node.parent; while (true) { switch (parent.kind) { - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: var binaryOperator = parent.operatorToken.kind; return isAssignmentOperator(binaryOperator) && parent.left === node ? binaryOperator === 63 /* SyntaxKind.EqualsToken */ || isLogicalOrCoalescingAssignmentOperator(binaryOperator) ? 1 /* AssignmentKind.Definite */ : 2 /* AssignmentKind.Compound */ : 0 /* AssignmentKind.None */; - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: var unaryOperator = parent.operator; return unaryOperator === 45 /* SyntaxKind.PlusPlusToken */ || unaryOperator === 46 /* SyntaxKind.MinusMinusToken */ ? 2 /* AssignmentKind.Compound */ : 0 /* AssignmentKind.None */; - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return parent.initializer === node ? 1 /* AssignmentKind.Definite */ : 0 /* AssignmentKind.None */; - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 225 /* SyntaxKind.SpreadElement */: - case 230 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 227 /* SyntaxKind.SpreadElement */: + case 232 /* SyntaxKind.NonNullExpression */: node = parent; break; - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: node = parent.parent; break; - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: if (parent.name !== node) { return 0 /* AssignmentKind.None */; } node = parent.parent; break; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: if (parent.name === node) { return 0 /* AssignmentKind.None */; } @@ -17351,22 +17284,22 @@ var ts; */ function isNodeWithPossibleHoistedDeclaration(node) { switch (node.kind) { - case 235 /* SyntaxKind.Block */: - case 237 /* SyntaxKind.VariableStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 239 /* SyntaxKind.IfStatement */: - case 249 /* SyntaxKind.SwitchStatement */: - case 263 /* SyntaxKind.CaseBlock */: - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: - case 250 /* SyntaxKind.LabeledStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 252 /* SyntaxKind.TryStatement */: - case 292 /* SyntaxKind.CatchClause */: + case 238 /* SyntaxKind.Block */: + case 240 /* SyntaxKind.VariableStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 252 /* SyntaxKind.SwitchStatement */: + case 266 /* SyntaxKind.CaseBlock */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: + case 253 /* SyntaxKind.LabeledStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 255 /* SyntaxKind.TryStatement */: + case 295 /* SyntaxKind.CatchClause */: return true; } return false; @@ -17383,11 +17316,11 @@ var ts; return node; } function walkUpParenthesizedTypes(node) { - return walkUp(node, 191 /* SyntaxKind.ParenthesizedType */); + return walkUp(node, 193 /* SyntaxKind.ParenthesizedType */); } ts.walkUpParenthesizedTypes = walkUpParenthesizedTypes; function walkUpParenthesizedExpressions(node) { - return walkUp(node, 212 /* SyntaxKind.ParenthesizedExpression */); + return walkUp(node, 214 /* SyntaxKind.ParenthesizedExpression */); } ts.walkUpParenthesizedExpressions = walkUpParenthesizedExpressions; /** @@ -17397,7 +17330,7 @@ var ts; */ function walkUpParenthesizedTypesAndGetParentAndChild(node) { var child; - while (node && node.kind === 191 /* SyntaxKind.ParenthesizedType */) { + while (node && node.kind === 193 /* SyntaxKind.ParenthesizedType */) { child = node; node = node.parent; } @@ -17419,11 +17352,11 @@ var ts; ts.skipParentheses = skipParentheses; // a node is delete target iff. it is PropertyAccessExpression/ElementAccessExpression with parentheses skipped function isDeleteTarget(node) { - if (node.kind !== 206 /* SyntaxKind.PropertyAccessExpression */ && node.kind !== 207 /* SyntaxKind.ElementAccessExpression */) { + if (node.kind !== 208 /* SyntaxKind.PropertyAccessExpression */ && node.kind !== 209 /* SyntaxKind.ElementAccessExpression */) { return false; } node = walkUpParenthesizedExpressions(node.parent); - return node && node.kind === 215 /* SyntaxKind.DeleteExpression */; + return node && node.kind === 217 /* SyntaxKind.DeleteExpression */; } ts.isDeleteTarget = isDeleteTarget; function isNodeDescendantOf(node, ancestor) { @@ -17476,7 +17409,7 @@ var ts; ts.getDeclarationFromName = getDeclarationFromName; function isLiteralComputedPropertyDeclarationName(node) { return isStringOrNumericLiteralLike(node) && - node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */ && + node.parent.kind === 164 /* SyntaxKind.ComputedPropertyName */ && ts.isDeclaration(node.parent.parent); } ts.isLiteralComputedPropertyDeclarationName = isLiteralComputedPropertyDeclarationName; @@ -17484,29 +17417,29 @@ var ts; function isIdentifierName(node) { var parent = node.parent; switch (parent.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 299 /* SyntaxKind.EnumMember */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 302 /* SyntaxKind.EnumMember */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 208 /* SyntaxKind.PropertyAccessExpression */: // Name in member declaration or property name in property access return parent.name === node; - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: // Name on right hand side of dot in a type query or type reference return parent.right === node; - case 203 /* SyntaxKind.BindingElement */: - case 270 /* SyntaxKind.ImportSpecifier */: + case 205 /* SyntaxKind.BindingElement */: + case 273 /* SyntaxKind.ImportSpecifier */: // Property name in binding element or import specifier return parent.propertyName === node; - case 275 /* SyntaxKind.ExportSpecifier */: - case 285 /* SyntaxKind.JsxAttribute */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 280 /* SyntaxKind.JsxOpeningElement */: - case 281 /* SyntaxKind.JsxClosingElement */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 288 /* SyntaxKind.JsxAttribute */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 284 /* SyntaxKind.JsxClosingElement */: // Any name in an export specifier or JSX Attribute or Jsx Element return true; } @@ -17529,14 +17462,14 @@ var ts; // const x = require("...").y // const { x } = require("...").y function isAliasSymbolDeclaration(node) { - if (node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ || - node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ || - node.kind === 267 /* SyntaxKind.ImportClause */ && !!node.name || - node.kind === 268 /* SyntaxKind.NamespaceImport */ || - node.kind === 274 /* SyntaxKind.NamespaceExport */ || - node.kind === 270 /* SyntaxKind.ImportSpecifier */ || - node.kind === 275 /* SyntaxKind.ExportSpecifier */ || - node.kind === 271 /* SyntaxKind.ExportAssignment */ && exportAssignmentIsAlias(node)) { + if (node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ || + node.kind === 267 /* SyntaxKind.NamespaceExportDeclaration */ || + node.kind === 270 /* SyntaxKind.ImportClause */ && !!node.name || + node.kind === 271 /* SyntaxKind.NamespaceImport */ || + node.kind === 277 /* SyntaxKind.NamespaceExport */ || + node.kind === 273 /* SyntaxKind.ImportSpecifier */ || + node.kind === 278 /* SyntaxKind.ExportSpecifier */ || + node.kind === 274 /* SyntaxKind.ExportAssignment */ && exportAssignmentIsAlias(node)) { return true; } return isInJSFile(node) && (ts.isBinaryExpression(node) && getAssignmentDeclarationKind(node) === 2 /* AssignmentDeclarationKind.ModuleExports */ && exportAssignmentIsAlias(node) || @@ -17549,18 +17482,18 @@ var ts; ts.isAliasSymbolDeclaration = isAliasSymbolDeclaration; function getAliasDeclarationFromName(node) { switch (node.parent.kind) { - case 267 /* SyntaxKind.ImportClause */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 268 /* SyntaxKind.NamespaceImport */: - case 275 /* SyntaxKind.ExportSpecifier */: - case 271 /* SyntaxKind.ExportAssignment */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 274 /* SyntaxKind.NamespaceExport */: + case 270 /* SyntaxKind.ImportClause */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 271 /* SyntaxKind.NamespaceImport */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 274 /* SyntaxKind.ExportAssignment */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 277 /* SyntaxKind.NamespaceExport */: return node.parent; - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: do { node = node.parent; - } while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */); + } while (node.parent.kind === 163 /* SyntaxKind.QualifiedName */); return getAliasDeclarationFromName(node); } } @@ -17579,7 +17512,7 @@ var ts; } ts.getExportAssignmentExpression = getExportAssignmentExpression; function getPropertyAssignmentAliasLikeExpression(node) { - return node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ ? node.name : node.kind === 296 /* SyntaxKind.PropertyAssignment */ ? node.initializer : + return node.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ ? node.name : node.kind === 299 /* SyntaxKind.PropertyAssignment */ ? node.initializer : node.parent.right; } ts.getPropertyAssignmentAliasLikeExpression = getPropertyAssignmentAliasLikeExpression; @@ -17645,11 +17578,11 @@ var ts; } ts.getAncestor = getAncestor; function isKeyword(token) { - return 81 /* SyntaxKind.FirstKeyword */ <= token && token <= 160 /* SyntaxKind.LastKeyword */; + return 81 /* SyntaxKind.FirstKeyword */ <= token && token <= 162 /* SyntaxKind.LastKeyword */; } ts.isKeyword = isKeyword; function isContextualKeyword(token) { - return 126 /* SyntaxKind.FirstContextualKeyword */ <= token && token <= 160 /* SyntaxKind.LastContextualKeyword */; + return 126 /* SyntaxKind.FirstContextualKeyword */ <= token && token <= 162 /* SyntaxKind.LastContextualKeyword */; } ts.isContextualKeyword = isContextualKeyword; function isNonContextualKeyword(token) { @@ -17693,15 +17626,15 @@ var ts; } var flags = 0 /* FunctionFlags.Normal */; switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: if (node.asteriskToken) { flags |= 1 /* FunctionFlags.Generator */; } // falls through - case 214 /* SyntaxKind.ArrowFunction */: - if (hasSyntacticModifier(node, 256 /* ModifierFlags.Async */)) { + case 216 /* SyntaxKind.ArrowFunction */: + if (hasSyntacticModifier(node, 512 /* ModifierFlags.Async */)) { flags |= 2 /* FunctionFlags.Async */; } break; @@ -17714,13 +17647,13 @@ var ts; ts.getFunctionFlags = getFunctionFlags; function isAsyncFunction(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: return node.body !== undefined && node.asteriskToken === undefined - && hasSyntacticModifier(node, 256 /* ModifierFlags.Async */); + && hasSyntacticModifier(node, 512 /* ModifierFlags.Async */); } return false; } @@ -17747,7 +17680,7 @@ var ts; } ts.hasDynamicName = hasDynamicName; function isDynamicName(name) { - if (!(name.kind === 162 /* SyntaxKind.ComputedPropertyName */ || name.kind === 207 /* SyntaxKind.ElementAccessExpression */)) { + if (!(name.kind === 164 /* SyntaxKind.ComputedPropertyName */ || name.kind === 209 /* SyntaxKind.ElementAccessExpression */)) { return false; } var expr = ts.isElementAccessExpression(name) ? skipParentheses(name.argumentExpression) : name.expression; @@ -17763,7 +17696,7 @@ var ts; case 10 /* SyntaxKind.StringLiteral */: case 8 /* SyntaxKind.NumericLiteral */: return ts.escapeLeadingUnderscores(name.text); - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: var nameExpression = name.expression; if (isStringOrNumericLiteralLike(nameExpression)) { return ts.escapeLeadingUnderscores(nameExpression.text); @@ -17829,11 +17762,11 @@ var ts; ts.isPushOrUnshiftIdentifier = isPushOrUnshiftIdentifier; function isParameterDeclaration(node) { var root = getRootDeclaration(node); - return root.kind === 164 /* SyntaxKind.Parameter */; + return root.kind === 166 /* SyntaxKind.Parameter */; } ts.isParameterDeclaration = isParameterDeclaration; function getRootDeclaration(node) { - while (node.kind === 203 /* SyntaxKind.BindingElement */) { + while (node.kind === 205 /* SyntaxKind.BindingElement */) { node = node.parent.parent; } return node; @@ -17841,15 +17774,15 @@ var ts; ts.getRootDeclaration = getRootDeclaration; function nodeStartsNewLexicalEnvironment(node) { var kind = node.kind; - return kind === 171 /* SyntaxKind.Constructor */ - || kind === 213 /* SyntaxKind.FunctionExpression */ - || kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 214 /* SyntaxKind.ArrowFunction */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ - || kind === 305 /* SyntaxKind.SourceFile */; + return kind === 173 /* SyntaxKind.Constructor */ + || kind === 215 /* SyntaxKind.FunctionExpression */ + || kind === 259 /* SyntaxKind.FunctionDeclaration */ + || kind === 216 /* SyntaxKind.ArrowFunction */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */ + || kind === 308 /* SyntaxKind.SourceFile */; } ts.nodeStartsNewLexicalEnvironment = nodeStartsNewLexicalEnvironment; function nodeIsSynthesized(range) { @@ -17868,23 +17801,23 @@ var ts; })(Associativity = ts.Associativity || (ts.Associativity = {})); function getExpressionAssociativity(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 209 /* SyntaxKind.NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 211 /* SyntaxKind.NewExpression */ && expression.arguments !== undefined; return getOperatorAssociativity(expression.kind, operator, hasArguments); } ts.getExpressionAssociativity = getExpressionAssociativity; function getOperatorAssociativity(kind, operator, hasArguments) { switch (kind) { - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return hasArguments ? 0 /* Associativity.Left */ : 1 /* Associativity.Right */; - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 216 /* SyntaxKind.TypeOfExpression */: - case 217 /* SyntaxKind.VoidExpression */: - case 215 /* SyntaxKind.DeleteExpression */: - case 218 /* SyntaxKind.AwaitExpression */: - case 222 /* SyntaxKind.ConditionalExpression */: - case 224 /* SyntaxKind.YieldExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: + case 219 /* SyntaxKind.VoidExpression */: + case 217 /* SyntaxKind.DeleteExpression */: + case 220 /* SyntaxKind.AwaitExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: + case 226 /* SyntaxKind.YieldExpression */: return 1 /* Associativity.Right */; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: switch (operator) { case 42 /* SyntaxKind.AsteriskAsteriskToken */: case 63 /* SyntaxKind.EqualsToken */: @@ -17911,15 +17844,15 @@ var ts; ts.getOperatorAssociativity = getOperatorAssociativity; function getExpressionPrecedence(expression) { var operator = getOperator(expression); - var hasArguments = expression.kind === 209 /* SyntaxKind.NewExpression */ && expression.arguments !== undefined; + var hasArguments = expression.kind === 211 /* SyntaxKind.NewExpression */ && expression.arguments !== undefined; return getOperatorPrecedence(expression.kind, operator, hasArguments); } ts.getExpressionPrecedence = getExpressionPrecedence; function getOperator(expression) { - if (expression.kind === 221 /* SyntaxKind.BinaryExpression */) { + if (expression.kind === 223 /* SyntaxKind.BinaryExpression */) { return expression.operatorToken.kind; } - else if (expression.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ || expression.kind === 220 /* SyntaxKind.PostfixUnaryExpression */) { + else if (expression.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ || expression.kind === 222 /* SyntaxKind.PostfixUnaryExpression */) { return expression.operator; } else { @@ -18098,15 +18031,15 @@ var ts; })(OperatorPrecedence = ts.OperatorPrecedence || (ts.OperatorPrecedence = {})); function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) { switch (nodeKind) { - case 351 /* SyntaxKind.CommaListExpression */: + case 354 /* SyntaxKind.CommaListExpression */: return 0 /* OperatorPrecedence.Comma */; - case 225 /* SyntaxKind.SpreadElement */: + case 227 /* SyntaxKind.SpreadElement */: return 1 /* OperatorPrecedence.Spread */; - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return 2 /* OperatorPrecedence.Yield */; - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return 4 /* OperatorPrecedence.Conditional */; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: switch (operatorKind) { case 27 /* SyntaxKind.CommaToken */: return 0 /* OperatorPrecedence.Comma */; @@ -18131,26 +18064,27 @@ var ts; return getBinaryOperatorPrecedence(operatorKind); } // TODO: Should prefix `++` and `--` be moved to the `Update` precedence? - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 230 /* SyntaxKind.NonNullExpression */: - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 216 /* SyntaxKind.TypeOfExpression */: - case 217 /* SyntaxKind.VoidExpression */: - case 215 /* SyntaxKind.DeleteExpression */: - case 218 /* SyntaxKind.AwaitExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 232 /* SyntaxKind.NonNullExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: + case 219 /* SyntaxKind.VoidExpression */: + case 217 /* SyntaxKind.DeleteExpression */: + case 220 /* SyntaxKind.AwaitExpression */: return 16 /* OperatorPrecedence.Unary */; - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return 17 /* OperatorPrecedence.Update */; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return 18 /* OperatorPrecedence.LeftHandSide */; - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return hasArguments ? 19 /* OperatorPrecedence.Member */ : 18 /* OperatorPrecedence.LeftHandSide */; - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: - case 231 /* SyntaxKind.MetaProperty */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 233 /* SyntaxKind.MetaProperty */: return 19 /* OperatorPrecedence.Member */; - case 229 /* SyntaxKind.AsExpression */: + case 231 /* SyntaxKind.AsExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: return 11 /* OperatorPrecedence.Relational */; case 108 /* SyntaxKind.ThisKeyword */: case 106 /* SyntaxKind.SuperKeyword */: @@ -18162,19 +18096,19 @@ var ts; case 8 /* SyntaxKind.NumericLiteral */: case 9 /* SyntaxKind.BigIntLiteral */: case 10 /* SyntaxKind.StringLiteral */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 226 /* SyntaxKind.ClassExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 228 /* SyntaxKind.ClassExpression */: case 13 /* SyntaxKind.RegularExpressionLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: - case 223 /* SyntaxKind.TemplateExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 227 /* SyntaxKind.OmittedExpression */: - case 278 /* SyntaxKind.JsxElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 282 /* SyntaxKind.JsxFragment */: + case 225 /* SyntaxKind.TemplateExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 229 /* SyntaxKind.OmittedExpression */: + case 281 /* SyntaxKind.JsxElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 285 /* SyntaxKind.JsxFragment */: return 20 /* OperatorPrecedence.Primary */; default: return -1 /* OperatorPrecedence.Invalid */; @@ -18206,7 +18140,8 @@ var ts; case 33 /* SyntaxKind.GreaterThanEqualsToken */: case 102 /* SyntaxKind.InstanceOfKeyword */: case 101 /* SyntaxKind.InKeyword */: - case 127 /* SyntaxKind.AsKeyword */: + case 128 /* SyntaxKind.AsKeyword */: + case 150 /* SyntaxKind.SatisfiesKeyword */: return 11 /* OperatorPrecedence.Relational */; case 47 /* SyntaxKind.LessThanLessThanToken */: case 48 /* SyntaxKind.GreaterThanGreaterThanToken */: @@ -18230,7 +18165,7 @@ var ts; function getSemanticJsxChildren(children) { return ts.filter(children, function (i) { switch (i.kind) { - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return !!i.expression; case 11 /* SyntaxKind.JsxText */: return !i.containsOnlyTriviaWhiteSpaces; @@ -18286,7 +18221,7 @@ var ts; } diagnostics = nonFileDiagnostics; } - ts.insertSorted(diagnostics, diagnostic, compareDiagnostics); + ts.insertSorted(diagnostics, diagnostic, compareDiagnosticsSkipRelatedInformation); } function getGlobalDiagnostics() { hasReadNonFileDiagnostics = true; @@ -18822,7 +18757,7 @@ var ts; while (ts.isQualifiedName(node.parent) && node.parent.left === node) { node = node.parent; } - return node.parent.kind === 181 /* SyntaxKind.TypeQuery */; + return node.parent.kind === 183 /* SyntaxKind.TypeQuery */; } ts.isThisInTypeQuery = isThisInTypeQuery; function identifierIsThisKeyword(id) { @@ -18837,10 +18772,10 @@ var ts; var setAccessor; if (hasDynamicName(accessor)) { firstAccessor = accessor; - if (accessor.kind === 172 /* SyntaxKind.GetAccessor */) { + if (accessor.kind === 174 /* SyntaxKind.GetAccessor */) { getAccessor = accessor; } - else if (accessor.kind === 173 /* SyntaxKind.SetAccessor */) { + else if (accessor.kind === 175 /* SyntaxKind.SetAccessor */) { setAccessor = accessor; } else { @@ -18860,10 +18795,10 @@ var ts; else if (!secondAccessor) { secondAccessor = member; } - if (member.kind === 172 /* SyntaxKind.GetAccessor */ && !getAccessor) { + if (member.kind === 174 /* SyntaxKind.GetAccessor */ && !getAccessor) { getAccessor = member; } - if (member.kind === 173 /* SyntaxKind.SetAccessor */ && !setAccessor) { + if (member.kind === 175 /* SyntaxKind.SetAccessor */ && !setAccessor) { setAccessor = member; } } @@ -18912,7 +18847,7 @@ var ts; ts.getJSDocTypeParameterDeclarations = getJSDocTypeParameterDeclarations; /** template tags are only available when a typedef isn't already using them */ function isNonTypeAliasTemplate(tag) { - return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 320 /* SyntaxKind.JSDoc */ && tag.parent.tags.some(isJSDocTypeAlias)); + return ts.isJSDocTemplateTag(tag) && !(tag.parent.kind === 323 /* SyntaxKind.JSDoc */ && tag.parent.tags.some(isJSDocTypeAlias)); } /** * Gets the effective type annotation of the value parameter of a set accessor. If the node @@ -19145,13 +19080,17 @@ var ts; } ts.hasOverrideModifier = hasOverrideModifier; function hasAbstractModifier(node) { - return hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */); + return hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */); } ts.hasAbstractModifier = hasAbstractModifier; function hasAmbientModifier(node) { return hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */); } ts.hasAmbientModifier = hasAmbientModifier; + function hasAccessorModifier(node) { + return hasSyntacticModifier(node, 128 /* ModifierFlags.Accessor */); + } + ts.hasAccessorModifier = hasAccessorModifier; function hasEffectiveReadonlyModifier(node) { return hasEffectiveModifier(node, 64 /* ModifierFlags.Readonly */); } @@ -19169,7 +19108,7 @@ var ts; } ts.getSelectedSyntacticModifierFlags = getSelectedSyntacticModifierFlags; function getModifierFlagsWorker(node, includeJSDoc, alwaysIncludeJSDoc) { - if (node.kind >= 0 /* SyntaxKind.FirstToken */ && node.kind <= 160 /* SyntaxKind.LastToken */) { + if (node.kind >= 0 /* SyntaxKind.FirstToken */ && node.kind <= 162 /* SyntaxKind.LastToken */) { return 0 /* ModifierFlags.None */; } if (!(node.modifierFlagsCache & 536870912 /* ModifierFlags.HasComputedFlags */)) { @@ -19261,25 +19200,22 @@ var ts; case 123 /* SyntaxKind.PublicKeyword */: return 4 /* ModifierFlags.Public */; case 122 /* SyntaxKind.ProtectedKeyword */: return 16 /* ModifierFlags.Protected */; case 121 /* SyntaxKind.PrivateKeyword */: return 8 /* ModifierFlags.Private */; - case 126 /* SyntaxKind.AbstractKeyword */: return 128 /* ModifierFlags.Abstract */; + case 126 /* SyntaxKind.AbstractKeyword */: return 256 /* ModifierFlags.Abstract */; + case 127 /* SyntaxKind.AccessorKeyword */: return 128 /* ModifierFlags.Accessor */; case 93 /* SyntaxKind.ExportKeyword */: return 1 /* ModifierFlags.Export */; - case 135 /* SyntaxKind.DeclareKeyword */: return 2 /* ModifierFlags.Ambient */; + case 136 /* SyntaxKind.DeclareKeyword */: return 2 /* ModifierFlags.Ambient */; case 85 /* SyntaxKind.ConstKeyword */: return 2048 /* ModifierFlags.Const */; - case 88 /* SyntaxKind.DefaultKeyword */: return 512 /* ModifierFlags.Default */; - case 131 /* SyntaxKind.AsyncKeyword */: return 256 /* ModifierFlags.Async */; - case 145 /* SyntaxKind.ReadonlyKeyword */: return 64 /* ModifierFlags.Readonly */; - case 159 /* SyntaxKind.OverrideKeyword */: return 16384 /* ModifierFlags.Override */; + case 88 /* SyntaxKind.DefaultKeyword */: return 1024 /* ModifierFlags.Default */; + case 132 /* SyntaxKind.AsyncKeyword */: return 512 /* ModifierFlags.Async */; + case 146 /* SyntaxKind.ReadonlyKeyword */: return 64 /* ModifierFlags.Readonly */; + case 161 /* SyntaxKind.OverrideKeyword */: return 16384 /* ModifierFlags.Override */; case 101 /* SyntaxKind.InKeyword */: return 32768 /* ModifierFlags.In */; - case 144 /* SyntaxKind.OutKeyword */: return 65536 /* ModifierFlags.Out */; - case 165 /* SyntaxKind.Decorator */: return 131072 /* ModifierFlags.Decorator */; + case 145 /* SyntaxKind.OutKeyword */: return 65536 /* ModifierFlags.Out */; + case 167 /* SyntaxKind.Decorator */: return 131072 /* ModifierFlags.Decorator */; } return 0 /* ModifierFlags.None */; } ts.modifierToFlag = modifierToFlag; - function createModifiers(modifierFlags) { - return modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; - } - ts.createModifiers = createModifiers; function isLogicalOperator(token) { return token === 56 /* SyntaxKind.BarBarToken */ || token === 55 /* SyntaxKind.AmpersandAmpersandToken */ @@ -19329,8 +19265,8 @@ var ts; function isDestructuringAssignment(node) { if (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true)) { var kind = node.left.kind; - return kind === 205 /* SyntaxKind.ObjectLiteralExpression */ - || kind === 204 /* SyntaxKind.ArrayLiteralExpression */; + return kind === 207 /* SyntaxKind.ObjectLiteralExpression */ + || kind === 206 /* SyntaxKind.ArrayLiteralExpression */; } return false; } @@ -19347,12 +19283,12 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return node; - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: do { node = node.left; } while (node.kind !== 79 /* SyntaxKind.Identifier */); return node; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: do { node = node.expression; } while (node.kind !== 79 /* SyntaxKind.Identifier */); @@ -19364,9 +19300,9 @@ var ts; return node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 108 /* SyntaxKind.ThisKeyword */ || node.kind === 106 /* SyntaxKind.SuperKeyword */ - || node.kind === 231 /* SyntaxKind.MetaProperty */ - || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && isDottedName(node.expression) - || node.kind === 212 /* SyntaxKind.ParenthesizedExpression */ && isDottedName(node.expression); + || node.kind === 233 /* SyntaxKind.MetaProperty */ + || node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && isDottedName(node.expression) + || node.kind === 214 /* SyntaxKind.ParenthesizedExpression */ && isDottedName(node.expression); } ts.isDottedName = isDottedName; function isPropertyAccessEntityNameExpression(node) { @@ -19397,8 +19333,8 @@ var ts; } ts.isPrototypeAccess = isPrototypeAccess; function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 161 /* SyntaxKind.QualifiedName */ && node.parent.right === node) || - (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 163 /* SyntaxKind.QualifiedName */ && node.parent.right === node) || + (node.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && node.parent.name === node); } ts.isRightSideOfQualifiedNameOrPropertyAccess = isRightSideOfQualifiedNameOrPropertyAccess; function isRightSideOfAccessExpression(node) { @@ -19413,12 +19349,12 @@ var ts; } ts.isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName = isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName; function isEmptyObjectLiteral(expression) { - return expression.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && + return expression.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ && expression.properties.length === 0; } ts.isEmptyObjectLiteral = isEmptyObjectLiteral; function isEmptyArrayLiteral(expression) { - return expression.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && + return expression.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ && expression.elements.length === 0; } ts.isEmptyArrayLiteral = isEmptyArrayLiteral; @@ -19434,7 +19370,7 @@ var ts; } ts.getLocalSymbolForExportDefault = getLocalSymbolForExportDefault; function isExportDefaultSymbol(symbol) { - return symbol && ts.length(symbol.declarations) > 0 && hasSyntacticModifier(symbol.declarations[0], 512 /* ModifierFlags.Default */); + return symbol && ts.length(symbol.declarations) > 0 && hasSyntacticModifier(symbol.declarations[0], 1024 /* ModifierFlags.Default */); } /** Return ".ts", ".d.ts", or ".tsx", if that is the extension. */ function tryExtractTSExtension(fileName) { @@ -19579,21 +19515,17 @@ var ts; return getStringFromExpandedCharCodes(expandedCharCodes); } ts.base64decode = base64decode; + function readJsonOrUndefined(path, hostOrText) { + var jsonText = ts.isString(hostOrText) ? hostOrText : hostOrText.readFile(path); + if (!jsonText) + return undefined; + // gracefully handle if readFile fails or returns not JSON + var result = ts.parseConfigFileTextToJson(path, jsonText); + return !result.error ? result.config : undefined; + } + ts.readJsonOrUndefined = readJsonOrUndefined; function readJson(path, host) { - try { - var jsonText = host.readFile(path); - if (!jsonText) - return {}; - var result = ts.parseConfigFileTextToJson(path, jsonText); - if (result.error) { - return {}; - } - return result.config; - } - catch (e) { - // gracefully handle if readFile fails or returns not JSON - return {}; - } + return readJsonOrUndefined(path, host) || {}; } ts.readJson = readJson; function directoryProbablyExists(directoryName, host) { @@ -19752,8 +19684,8 @@ var ts; var parseNode = ts.getParseTreeNode(node); if (parseNode) { switch (parseNode.parent.kind) { - case 260 /* SyntaxKind.EnumDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return parseNode === parseNode.parent.name; } } @@ -19769,7 +19701,7 @@ var ts; } function isWatchSet(options) { // Firefox has Object.prototype.watch - return options.watch && options.hasOwnProperty("watch"); + return options.watch && ts.hasProperty(options, "watch"); } ts.isWatchSet = isWatchSet; function closeFileWatcher(watcher) { @@ -19833,35 +19765,35 @@ var ts; if (!parent) return 0 /* AccessKind.Read */; switch (parent.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return accessKind(parent); - case 220 /* SyntaxKind.PostfixUnaryExpression */: - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: var operator = parent.operator; return operator === 45 /* SyntaxKind.PlusPlusToken */ || operator === 46 /* SyntaxKind.MinusMinusToken */ ? writeOrReadWrite() : 0 /* AccessKind.Read */; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: var _a = parent, left = _a.left, operatorToken = _a.operatorToken; return left === node && isAssignmentOperator(operatorToken.kind) ? operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ ? 1 /* AccessKind.Write */ : writeOrReadWrite() : 0 /* AccessKind.Read */; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return parent.name !== node ? 0 /* AccessKind.Read */ : accessKind(parent); - case 296 /* SyntaxKind.PropertyAssignment */: { + case 299 /* SyntaxKind.PropertyAssignment */: { var parentAccess = accessKind(parent.parent); // In `({ x: varname }) = { x: 1 }`, the left `x` is a read, the right `x` is a write. return node === parent.name ? reverseAccessKind(parentAccess) : parentAccess; } - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: // Assume it's the local variable being accessed, since we don't check public properties for --noUnusedLocals. return node === parent.objectAssignmentInitializer ? 0 /* AccessKind.Read */ : accessKind(parent.parent); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return accessKind(parent); default: return 0 /* AccessKind.Read */; } function writeOrReadWrite() { // If grandparent is not an ExpressionStatement, this is used as an expression in addition to having a side effect. - return parent.parent && walkUpParenthesizedExpressions(parent.parent).kind === 238 /* SyntaxKind.ExpressionStatement */ ? 1 /* AccessKind.Write */ : 2 /* AccessKind.ReadWrite */; + return parent.parent && walkUpParenthesizedExpressions(parent.parent).kind === 241 /* SyntaxKind.ExpressionStatement */ ? 1 /* AccessKind.Write */ : 2 /* AccessKind.ReadWrite */; } } function reverseAccessKind(a) { @@ -19943,7 +19875,7 @@ var ts; function isAbstractConstructorSymbol(symbol) { if (symbol.flags & 32 /* SymbolFlags.Class */) { var declaration = getClassLikeDeclarationOfSymbol(symbol); - return !!declaration && hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */); + return !!declaration && hasSyntacticModifier(declaration, 256 /* ModifierFlags.Abstract */); } return false; } @@ -20005,37 +19937,37 @@ var ts; } ts.isObjectTypeDeclaration = isObjectTypeDeclaration; function isTypeNodeKind(kind) { - return (kind >= 177 /* SyntaxKind.FirstTypeNode */ && kind <= 200 /* SyntaxKind.LastTypeNode */) - || kind === 130 /* SyntaxKind.AnyKeyword */ - || kind === 155 /* SyntaxKind.UnknownKeyword */ - || kind === 147 /* SyntaxKind.NumberKeyword */ - || kind === 158 /* SyntaxKind.BigIntKeyword */ - || kind === 148 /* SyntaxKind.ObjectKeyword */ - || kind === 133 /* SyntaxKind.BooleanKeyword */ - || kind === 150 /* SyntaxKind.StringKeyword */ - || kind === 151 /* SyntaxKind.SymbolKeyword */ + return (kind >= 179 /* SyntaxKind.FirstTypeNode */ && kind <= 202 /* SyntaxKind.LastTypeNode */) + || kind === 131 /* SyntaxKind.AnyKeyword */ + || kind === 157 /* SyntaxKind.UnknownKeyword */ + || kind === 148 /* SyntaxKind.NumberKeyword */ + || kind === 160 /* SyntaxKind.BigIntKeyword */ + || kind === 149 /* SyntaxKind.ObjectKeyword */ + || kind === 134 /* SyntaxKind.BooleanKeyword */ + || kind === 152 /* SyntaxKind.StringKeyword */ + || kind === 153 /* SyntaxKind.SymbolKeyword */ || kind === 114 /* SyntaxKind.VoidKeyword */ - || kind === 153 /* SyntaxKind.UndefinedKeyword */ - || kind === 143 /* SyntaxKind.NeverKeyword */ - || kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ - || kind === 312 /* SyntaxKind.JSDocAllType */ - || kind === 313 /* SyntaxKind.JSDocUnknownType */ - || kind === 314 /* SyntaxKind.JSDocNullableType */ - || kind === 315 /* SyntaxKind.JSDocNonNullableType */ - || kind === 316 /* SyntaxKind.JSDocOptionalType */ - || kind === 317 /* SyntaxKind.JSDocFunctionType */ - || kind === 318 /* SyntaxKind.JSDocVariadicType */; + || kind === 155 /* SyntaxKind.UndefinedKeyword */ + || kind === 144 /* SyntaxKind.NeverKeyword */ + || kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */ + || kind === 315 /* SyntaxKind.JSDocAllType */ + || kind === 316 /* SyntaxKind.JSDocUnknownType */ + || kind === 317 /* SyntaxKind.JSDocNullableType */ + || kind === 318 /* SyntaxKind.JSDocNonNullableType */ + || kind === 319 /* SyntaxKind.JSDocOptionalType */ + || kind === 320 /* SyntaxKind.JSDocFunctionType */ + || kind === 321 /* SyntaxKind.JSDocVariadicType */; } ts.isTypeNodeKind = isTypeNodeKind; function isAccessExpression(node) { - return node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || node.kind === 207 /* SyntaxKind.ElementAccessExpression */; + return node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ || node.kind === 209 /* SyntaxKind.ElementAccessExpression */; } ts.isAccessExpression = isAccessExpression; function getNameOfAccessExpression(node) { - if (node.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (node.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { return node.name; } - ts.Debug.assert(node.kind === 207 /* SyntaxKind.ElementAccessExpression */); + ts.Debug.assert(node.kind === 209 /* SyntaxKind.ElementAccessExpression */); return node.argumentExpression; } ts.getNameOfAccessExpression = getNameOfAccessExpression; @@ -20050,7 +19982,7 @@ var ts; } ts.isBundleFileTextLike = isBundleFileTextLike; function isNamedImportsOrExports(node) { - return node.kind === 269 /* SyntaxKind.NamedImports */ || node.kind === 273 /* SyntaxKind.NamedExports */; + return node.kind === 272 /* SyntaxKind.NamedImports */ || node.kind === 276 /* SyntaxKind.NamedExports */; } ts.isNamedImportsOrExports = isNamedImportsOrExports; function getLeftmostAccessExpression(expr) { @@ -20065,13 +19997,13 @@ var ts; return walkAccessExpression(name.parent); } function walkAccessExpression(access) { - if (access.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (access.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { var res = action(access.name); if (res !== undefined) { return res; } } - else if (access.kind === 207 /* SyntaxKind.ElementAccessExpression */) { + else if (access.kind === 209 /* SyntaxKind.ElementAccessExpression */) { if (ts.isIdentifier(access.argumentExpression) || ts.isStringLiteralLike(access.argumentExpression)) { var res = action(access.argumentExpression); if (res !== undefined) { @@ -20098,28 +20030,29 @@ var ts; function getLeftmostExpression(node, stopAtCallExpressions) { while (true) { switch (node.kind) { - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: node = node.operand; continue; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: node = node.left; continue; - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: node = node.condition; continue; - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: node = node.tag; continue; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (stopAtCallExpressions) { return node; } // falls through - case 229 /* SyntaxKind.AsExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 230 /* SyntaxKind.NonNullExpression */: - case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 231 /* SyntaxKind.AsExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 232 /* SyntaxKind.NonNullExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: node = node.expression; continue; } @@ -21355,17 +21288,17 @@ var ts; return ts.isIdentifier(useSite) && ts.isShorthandPropertyAssignment(useSite.parent) && useSite.parent.name === useSite; } function isPartOfPossiblyValidTypeOrAbstractComputedPropertyName(node) { - while (node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + while (node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { node = node.parent; } - if (node.kind !== 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.kind !== 164 /* SyntaxKind.ComputedPropertyName */) { return false; } - if (hasSyntacticModifier(node.parent, 128 /* ModifierFlags.Abstract */)) { + if (hasSyntacticModifier(node.parent, 256 /* ModifierFlags.Abstract */)) { return true; } var containerKind = node.parent.parent.kind; - return containerKind === 258 /* SyntaxKind.InterfaceDeclaration */ || containerKind === 182 /* SyntaxKind.TypeLiteral */; + return containerKind === 261 /* SyntaxKind.InterfaceDeclaration */ || containerKind === 184 /* SyntaxKind.TypeLiteral */; } /** Returns true for an identifier in 1) an `implements` clause, and 2) an `extends` clause of an interface. */ function isIdentifierInNonEmittingHeritageClause(node) { @@ -21373,16 +21306,16 @@ var ts; return false; var heritageClause = ts.findAncestor(node.parent, function (parent) { switch (parent.kind) { - case 291 /* SyntaxKind.HeritageClause */: + case 294 /* SyntaxKind.HeritageClause */: return true; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return false; default: return "quit"; } }); - return (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.token) === 117 /* SyntaxKind.ImplementsKeyword */ || (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.parent.kind) === 258 /* SyntaxKind.InterfaceDeclaration */; + return (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.token) === 117 /* SyntaxKind.ImplementsKeyword */ || (heritageClause === null || heritageClause === void 0 ? void 0 : heritageClause.parent.kind) === 261 /* SyntaxKind.InterfaceDeclaration */; } function isIdentifierTypeReference(node) { return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName); @@ -21543,22 +21476,22 @@ var ts; if (!node.parent) return undefined; switch (node.kind) { - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: var parent_1 = node.parent; - return parent_1.kind === 190 /* SyntaxKind.InferType */ ? undefined : parent_1.typeParameters; - case 164 /* SyntaxKind.Parameter */: + return parent_1.kind === 192 /* SyntaxKind.InferType */ ? undefined : parent_1.typeParameters; + case 166 /* SyntaxKind.Parameter */: return node.parent.parameters; - case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: + case 201 /* SyntaxKind.TemplateLiteralTypeSpan */: return node.parent.templateSpans; - case 233 /* SyntaxKind.TemplateSpan */: + case 236 /* SyntaxKind.TemplateSpan */: return node.parent.templateSpans; - case 165 /* SyntaxKind.Decorator */: { + case 167 /* SyntaxKind.Decorator */: { var parent_2 = node.parent; return ts.canHaveDecorators(parent_2) ? parent_2.modifiers : ts.canHaveIllegalDecorators(parent_2) ? parent_2.illegalDecorators : undefined; } - case 291 /* SyntaxKind.HeritageClause */: + case 294 /* SyntaxKind.HeritageClause */: return node.parent.heritageClauses; } var parent = node.parent; @@ -21566,45 +21499,45 @@ var ts; return ts.isJSDocTypeLiteral(node.parent) ? undefined : node.parent.tags; } switch (parent.kind) { - case 182 /* SyntaxKind.TypeLiteral */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 184 /* SyntaxKind.TypeLiteral */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return ts.isTypeElement(node) ? parent.members : undefined; - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: return parent.types; - case 184 /* SyntaxKind.TupleType */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 351 /* SyntaxKind.CommaListExpression */: - case 269 /* SyntaxKind.NamedImports */: - case 273 /* SyntaxKind.NamedExports */: + case 186 /* SyntaxKind.TupleType */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 354 /* SyntaxKind.CommaListExpression */: + case 272 /* SyntaxKind.NamedImports */: + case 276 /* SyntaxKind.NamedExports */: return parent.elements; - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 286 /* SyntaxKind.JsxAttributes */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 289 /* SyntaxKind.JsxAttributes */: return parent.properties; - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: return ts.isTypeNode(node) ? parent.typeArguments : parent.expression === node ? undefined : parent.arguments; - case 278 /* SyntaxKind.JsxElement */: - case 282 /* SyntaxKind.JsxFragment */: + case 281 /* SyntaxKind.JsxElement */: + case 285 /* SyntaxKind.JsxFragment */: return ts.isJsxChild(node) ? parent.children : undefined; - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return ts.isTypeNode(node) ? parent.typeArguments : undefined; - case 235 /* SyntaxKind.Block */: - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: - case 262 /* SyntaxKind.ModuleBlock */: + case 238 /* SyntaxKind.Block */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: + case 265 /* SyntaxKind.ModuleBlock */: return parent.statements; - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: return parent.clauses; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return ts.isClassElement(node) ? parent.members : undefined; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return ts.isEnumMember(node) ? parent.members : undefined; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return parent.statements; } } @@ -21616,7 +21549,7 @@ var ts; if (ts.some(node.parameters, function (p) { return !getEffectiveTypeAnnotationNode(p); })) { return true; } - if (node.kind !== 214 /* SyntaxKind.ArrowFunction */) { + if (node.kind !== 216 /* SyntaxKind.ArrowFunction */) { // If the first parameter is not an explicit 'this' parameter, then the function has // an implicit 'this' parameter which is subject to contextual typing. var parameter = ts.firstOrUndefined(node.parameters); @@ -21634,7 +21567,7 @@ var ts; } ts.isInfinityOrNaNString = isInfinityOrNaNString; function isCatchClauseVariableDeclaration(node) { - return node.kind === 254 /* SyntaxKind.VariableDeclaration */ && node.parent.kind === 292 /* SyntaxKind.CatchClause */; + return node.kind === 257 /* SyntaxKind.VariableDeclaration */ && node.parent.kind === 295 /* SyntaxKind.CatchClause */; } ts.isCatchClauseVariableDeclaration = isCatchClauseVariableDeclaration; function isParameterOrCatchClauseVariable(symbol) { @@ -21643,7 +21576,7 @@ var ts; } ts.isParameterOrCatchClauseVariable = isParameterOrCatchClauseVariable; function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 213 /* SyntaxKind.FunctionExpression */ || node.kind === 214 /* SyntaxKind.ArrowFunction */; + return node.kind === 215 /* SyntaxKind.FunctionExpression */ || node.kind === 216 /* SyntaxKind.ArrowFunction */; } ts.isFunctionExpressionOrArrowFunction = isFunctionExpressionOrArrowFunction; function escapeSnippetText(text) { @@ -21740,9 +21673,35 @@ var ts; ts.getNodeModulePathParts = getNodeModulePathParts; function getParameterTypeNode(parameter) { var _a; - return parameter.kind === 340 /* SyntaxKind.JSDocParameterTag */ ? (_a = parameter.typeExpression) === null || _a === void 0 ? void 0 : _a.type : parameter.type; + return parameter.kind === 343 /* SyntaxKind.JSDocParameterTag */ ? (_a = parameter.typeExpression) === null || _a === void 0 ? void 0 : _a.type : parameter.type; } ts.getParameterTypeNode = getParameterTypeNode; + function isTypeDeclaration(node) { + switch (node.kind) { + case 165 /* SyntaxKind.TypeParameter */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: + return true; + case 270 /* SyntaxKind.ImportClause */: + return node.isTypeOnly; + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: + return node.parent.parent.isTypeOnly; + default: + return false; + } + } + ts.isTypeDeclaration = isTypeDeclaration; + function canHaveExportModifier(node) { + return ts.isEnumDeclaration(node) || ts.isVariableStatement(node) || ts.isFunctionDeclaration(node) || ts.isClassDeclaration(node) + || ts.isInterfaceDeclaration(node) || isTypeDeclaration(node) || (ts.isModuleDeclaration(node) && !isExternalModuleAugmentation(node) && !isGlobalScopeAugmentation(node)); + } + ts.canHaveExportModifier = canHaveExportModifier; })(ts || (ts = {})); /* @internal */ var ts; @@ -21751,13 +21710,11 @@ var ts; * Creates a `BaseNodeFactory` which can be used to create `Node` instances from the constructors provided by the object allocator. */ function createBaseNodeFactory() { - // tslint:disable variable-name var NodeConstructor; var TokenConstructor; var IdentifierConstructor; var PrivateIdentifierConstructor; var SourceFileConstructor; - // tslint:enable variable-name return { createBaseSourceFileNode: createBaseSourceFileNode, createBaseIdentifierNode: createBaseIdentifierNode, @@ -21865,10 +21822,10 @@ var ts; // // If `a ** d` is on the left of operator `**`, we need to parenthesize to preserve // the intended order of operations: `(a ** b) ** c` - var binaryOperatorPrecedence = ts.getOperatorPrecedence(221 /* SyntaxKind.BinaryExpression */, binaryOperator); - var binaryOperatorAssociativity = ts.getOperatorAssociativity(221 /* SyntaxKind.BinaryExpression */, binaryOperator); + var binaryOperatorPrecedence = ts.getOperatorPrecedence(223 /* SyntaxKind.BinaryExpression */, binaryOperator); + var binaryOperatorAssociativity = ts.getOperatorAssociativity(223 /* SyntaxKind.BinaryExpression */, binaryOperator); var emittedOperand = ts.skipPartiallyEmittedExpressions(operand); - if (!isLeftSideOfBinary && operand.kind === 214 /* SyntaxKind.ArrowFunction */ && binaryOperatorPrecedence > 3 /* OperatorPrecedence.Assignment */) { + if (!isLeftSideOfBinary && operand.kind === 216 /* SyntaxKind.ArrowFunction */ && binaryOperatorPrecedence > 3 /* OperatorPrecedence.Assignment */) { // We need to parenthesize arrow functions on the right side to avoid it being // parsed as parenthesized expression: `a && (() => {})` return true; @@ -21880,7 +21837,7 @@ var ts; // and is a yield expression, then we do not need parentheses. if (!isLeftSideOfBinary && binaryOperatorAssociativity === 1 /* Associativity.Right */ - && operand.kind === 224 /* SyntaxKind.YieldExpression */) { + && operand.kind === 226 /* SyntaxKind.YieldExpression */) { return false; } return true; @@ -21949,13 +21906,15 @@ var ts; // (a|b)|c -> a|(b|c) -> a|b|c // (a&b)&c -> a&(b&c) -> a&b&c // (a^b)^c -> a^(b^c) -> a^b^c + // (a,b),c -> a,(b,c) -> a,b,c // // While addition is associative in mathematics, JavaScript's `+` is not // guaranteed to be associative as it is overloaded with string concatenation. return binaryOperator === 41 /* SyntaxKind.AsteriskToken */ || binaryOperator === 51 /* SyntaxKind.BarToken */ || binaryOperator === 50 /* SyntaxKind.AmpersandToken */ - || binaryOperator === 52 /* SyntaxKind.CaretToken */; + || binaryOperator === 52 /* SyntaxKind.CaretToken */ + || binaryOperator === 27 /* SyntaxKind.CommaToken */; } /** * This function determines whether an expression consists of a homogeneous set of @@ -21968,7 +21927,7 @@ var ts; if (ts.isLiteralKind(node.kind)) { return node.kind; } - if (node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 39 /* SyntaxKind.PlusToken */) { + if (node.kind === 223 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 39 /* SyntaxKind.PlusToken */) { if (node.cachedLiteralKind !== undefined) { return node.cachedLiteralKind; } @@ -21994,7 +21953,7 @@ var ts; function parenthesizeBinaryOperand(binaryOperator, operand, isLeftSideOfBinary, leftOperand) { var skipped = ts.skipPartiallyEmittedExpressions(operand); // If the resulting expression is already parenthesized, we do not need to do any further processing. - if (skipped.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + if (skipped.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { return operand; } return binaryOperandNeedsParentheses(binaryOperator, operand, isLeftSideOfBinary, leftOperand) @@ -22011,7 +21970,7 @@ var ts; return ts.isCommaSequence(expression) ? factory.createParenthesizedExpression(expression) : expression; } function parenthesizeConditionOfConditionalExpression(condition) { - var conditionalPrecedence = ts.getOperatorPrecedence(222 /* SyntaxKind.ConditionalExpression */, 57 /* SyntaxKind.QuestionToken */); + var conditionalPrecedence = ts.getOperatorPrecedence(224 /* SyntaxKind.ConditionalExpression */, 57 /* SyntaxKind.QuestionToken */); var emittedCondition = ts.skipPartiallyEmittedExpressions(condition); var conditionPrecedence = ts.getExpressionPrecedence(emittedCondition); if (ts.compareValues(conditionPrecedence, conditionalPrecedence) !== 1 /* Comparison.GreaterThan */) { @@ -22044,8 +22003,8 @@ var ts; var needsParens = ts.isCommaSequence(check); if (!needsParens) { switch (ts.getLeftmostExpression(check, /*stopAtCallExpression*/ false).kind) { - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: needsParens = true; } } @@ -22058,9 +22017,9 @@ var ts; function parenthesizeExpressionOfNew(expression) { var leftmostExpr = ts.getLeftmostExpression(expression, /*stopAtCallExpressions*/ true); switch (leftmostExpr.kind) { - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return factory.createParenthesizedExpression(expression); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return !leftmostExpr.arguments ? factory.createParenthesizedExpression(expression) : expression; // TODO(rbuckton): Verify this assertion holds @@ -22080,7 +22039,7 @@ var ts; // var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); if (ts.isLeftHandSideExpression(emittedExpression) - && (emittedExpression.kind !== 209 /* SyntaxKind.NewExpression */ || emittedExpression.arguments) + && (emittedExpression.kind !== 211 /* SyntaxKind.NewExpression */ || emittedExpression.arguments) && (optionalChain || !ts.isOptionalChain(emittedExpression))) { // TODO(rbuckton): Verify whether this assertion holds. return expression; @@ -22103,7 +22062,7 @@ var ts; function parenthesizeExpressionForDisallowedComma(expression) { var emittedExpression = ts.skipPartiallyEmittedExpressions(expression); var expressionPrecedence = ts.getExpressionPrecedence(emittedExpression); - var commaPrecedence = ts.getOperatorPrecedence(221 /* SyntaxKind.BinaryExpression */, 27 /* SyntaxKind.CommaToken */); + var commaPrecedence = ts.getOperatorPrecedence(223 /* SyntaxKind.BinaryExpression */, 27 /* SyntaxKind.CommaToken */); // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return expressionPrecedence > commaPrecedence ? expression : ts.setTextRange(factory.createParenthesizedExpression(expression), expression); } @@ -22112,21 +22071,21 @@ var ts; if (ts.isCallExpression(emittedExpression)) { var callee = emittedExpression.expression; var kind = ts.skipPartiallyEmittedExpressions(callee).kind; - if (kind === 213 /* SyntaxKind.FunctionExpression */ || kind === 214 /* SyntaxKind.ArrowFunction */) { + if (kind === 215 /* SyntaxKind.FunctionExpression */ || kind === 216 /* SyntaxKind.ArrowFunction */) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. var updated = factory.updateCallExpression(emittedExpression, ts.setTextRange(factory.createParenthesizedExpression(callee), callee), emittedExpression.typeArguments, emittedExpression.arguments); return factory.restoreOuterExpressions(expression, updated, 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */); } } var leftmostExpressionKind = ts.getLeftmostExpression(emittedExpression, /*stopAtCallExpressions*/ false).kind; - if (leftmostExpressionKind === 205 /* SyntaxKind.ObjectLiteralExpression */ || leftmostExpressionKind === 213 /* SyntaxKind.FunctionExpression */) { + if (leftmostExpressionKind === 207 /* SyntaxKind.ObjectLiteralExpression */ || leftmostExpressionKind === 215 /* SyntaxKind.FunctionExpression */) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return ts.setTextRange(factory.createParenthesizedExpression(expression), expression); } return expression; } function parenthesizeConciseBodyOfArrowFunction(body) { - if (!ts.isBlock(body) && (ts.isCommaSequence(body) || ts.getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 205 /* SyntaxKind.ObjectLiteralExpression */)) { + if (!ts.isBlock(body) && (ts.isCommaSequence(body) || ts.getLeftmostExpression(body, /*stopAtCallExpressions*/ false).kind === 207 /* SyntaxKind.ObjectLiteralExpression */)) { // TODO(rbuckton): Verifiy whether `setTextRange` is needed. return ts.setTextRange(factory.createParenthesizedExpression(body), body); } @@ -22144,16 +22103,16 @@ var ts; // - The true and false branch types (the second and third `Type` non-terminals, above) allow any type function parenthesizeCheckTypeOfConditionalType(checkType) { switch (checkType.kind) { - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 189 /* SyntaxKind.ConditionalType */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 191 /* SyntaxKind.ConditionalType */: return factory.createParenthesizedType(checkType); } return checkType; } function parenthesizeExtendsTypeOfConditionalType(extendsType) { switch (extendsType.kind) { - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return factory.createParenthesizedType(extendsType); } return extendsType; @@ -22165,8 +22124,8 @@ var ts; // - A union type constituent has the same precedence as the check type of a conditional type function parenthesizeConstituentTypeOfUnionType(type) { switch (type.kind) { - case 187 /* SyntaxKind.UnionType */: // Not strictly necessary, but a union containing a union should have been flattened - case 188 /* SyntaxKind.IntersectionType */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests + case 189 /* SyntaxKind.UnionType */: // Not strictly necessary, but a union containing a union should have been flattened + case 190 /* SyntaxKind.IntersectionType */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests return factory.createParenthesizedType(type); } return parenthesizeCheckTypeOfConditionalType(type); @@ -22181,8 +22140,8 @@ var ts; // - An intersection type constituent does not allow function, constructor, conditional, or union types (they must be parenthesized) function parenthesizeConstituentTypeOfIntersectionType(type) { switch (type.kind) { - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: // Not strictly necessary, but an intersection containing an intersection should have been flattened + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: // Not strictly necessary, but an intersection containing an intersection should have been flattened return factory.createParenthesizedType(type); } return parenthesizeConstituentTypeOfUnionType(type); @@ -22199,14 +22158,14 @@ var ts; // function parenthesizeOperandOfTypeOperator(type) { switch (type.kind) { - case 188 /* SyntaxKind.IntersectionType */: + case 190 /* SyntaxKind.IntersectionType */: return factory.createParenthesizedType(type); } return parenthesizeConstituentTypeOfIntersectionType(type); } function parenthesizeOperandOfReadonlyTypeOperator(type) { switch (type.kind) { - case 193 /* SyntaxKind.TypeOperator */: + case 195 /* SyntaxKind.TypeOperator */: return factory.createParenthesizedType(type); } return parenthesizeOperandOfTypeOperator(type); @@ -22226,9 +22185,9 @@ var ts; // function parenthesizeNonArrayTypeOfPostfixType(type) { switch (type.kind) { - case 190 /* SyntaxKind.InferType */: - case 193 /* SyntaxKind.TypeOperator */: - case 181 /* SyntaxKind.TypeQuery */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests + case 192 /* SyntaxKind.InferType */: + case 195 /* SyntaxKind.TypeOperator */: + case 183 /* SyntaxKind.TypeQuery */: // Not strictly necessary, but makes generated output more readable and avoids breaks in DT tests return factory.createParenthesizedType(type); } return parenthesizeOperandOfTypeOperator(type); @@ -22422,11 +22381,11 @@ var ts; } function convertToAssignmentPattern(node) { switch (node.kind) { - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return convertToArrayAssignmentPattern(node); - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return convertToObjectAssignmentPattern(node); } } @@ -22520,6 +22479,8 @@ var ts; createUniqueName: createUniqueName, getGeneratedNameForNode: getGeneratedNameForNode, createPrivateIdentifier: createPrivateIdentifier, + createUniquePrivateName: createUniquePrivateName, + getGeneratedPrivateNameForNode: getGeneratedPrivateNameForNode, createToken: createToken, createSuper: createSuper, createThis: createThis, @@ -22682,6 +22643,8 @@ var ts; updateAsExpression: updateAsExpression, createNonNullExpression: createNonNullExpression, updateNonNullExpression: updateNonNullExpression, + createSatisfiesExpression: createSatisfiesExpression, + updateSatisfiesExpression: updateSatisfiesExpression, createNonNullChain: createNonNullChain, updateNonNullChain: updateNonNullChain, createMetaProperty: createMetaProperty, @@ -22779,18 +22742,18 @@ var ts; createExternalModuleReference: createExternalModuleReference, updateExternalModuleReference: updateExternalModuleReference, // lazily load factory members for JSDoc types with similar structure - get createJSDocAllType() { return getJSDocPrimaryTypeCreateFunction(312 /* SyntaxKind.JSDocAllType */); }, - get createJSDocUnknownType() { return getJSDocPrimaryTypeCreateFunction(313 /* SyntaxKind.JSDocUnknownType */); }, - get createJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(315 /* SyntaxKind.JSDocNonNullableType */); }, - get updateJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(315 /* SyntaxKind.JSDocNonNullableType */); }, - get createJSDocNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(314 /* SyntaxKind.JSDocNullableType */); }, - get updateJSDocNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(314 /* SyntaxKind.JSDocNullableType */); }, - get createJSDocOptionalType() { return getJSDocUnaryTypeCreateFunction(316 /* SyntaxKind.JSDocOptionalType */); }, - get updateJSDocOptionalType() { return getJSDocUnaryTypeUpdateFunction(316 /* SyntaxKind.JSDocOptionalType */); }, - get createJSDocVariadicType() { return getJSDocUnaryTypeCreateFunction(318 /* SyntaxKind.JSDocVariadicType */); }, - get updateJSDocVariadicType() { return getJSDocUnaryTypeUpdateFunction(318 /* SyntaxKind.JSDocVariadicType */); }, - get createJSDocNamepathType() { return getJSDocUnaryTypeCreateFunction(319 /* SyntaxKind.JSDocNamepathType */); }, - get updateJSDocNamepathType() { return getJSDocUnaryTypeUpdateFunction(319 /* SyntaxKind.JSDocNamepathType */); }, + get createJSDocAllType() { return getJSDocPrimaryTypeCreateFunction(315 /* SyntaxKind.JSDocAllType */); }, + get createJSDocUnknownType() { return getJSDocPrimaryTypeCreateFunction(316 /* SyntaxKind.JSDocUnknownType */); }, + get createJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(318 /* SyntaxKind.JSDocNonNullableType */); }, + get updateJSDocNonNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(318 /* SyntaxKind.JSDocNonNullableType */); }, + get createJSDocNullableType() { return getJSDocPrePostfixUnaryTypeCreateFunction(317 /* SyntaxKind.JSDocNullableType */); }, + get updateJSDocNullableType() { return getJSDocPrePostfixUnaryTypeUpdateFunction(317 /* SyntaxKind.JSDocNullableType */); }, + get createJSDocOptionalType() { return getJSDocUnaryTypeCreateFunction(319 /* SyntaxKind.JSDocOptionalType */); }, + get updateJSDocOptionalType() { return getJSDocUnaryTypeUpdateFunction(319 /* SyntaxKind.JSDocOptionalType */); }, + get createJSDocVariadicType() { return getJSDocUnaryTypeCreateFunction(321 /* SyntaxKind.JSDocVariadicType */); }, + get updateJSDocVariadicType() { return getJSDocUnaryTypeUpdateFunction(321 /* SyntaxKind.JSDocVariadicType */); }, + get createJSDocNamepathType() { return getJSDocUnaryTypeCreateFunction(322 /* SyntaxKind.JSDocNamepathType */); }, + get updateJSDocNamepathType() { return getJSDocUnaryTypeUpdateFunction(322 /* SyntaxKind.JSDocNamepathType */); }, createJSDocFunctionType: createJSDocFunctionType, updateJSDocFunctionType: updateJSDocFunctionType, createJSDocTypeLiteral: createJSDocTypeLiteral, @@ -22826,30 +22789,30 @@ var ts; createJSDocLinkPlain: createJSDocLinkPlain, updateJSDocLinkPlain: updateJSDocLinkPlain, // lazily load factory members for JSDoc tags with similar structure - get createJSDocTypeTag() { return getJSDocTypeLikeTagCreateFunction(343 /* SyntaxKind.JSDocTypeTag */); }, - get updateJSDocTypeTag() { return getJSDocTypeLikeTagUpdateFunction(343 /* SyntaxKind.JSDocTypeTag */); }, - get createJSDocReturnTag() { return getJSDocTypeLikeTagCreateFunction(341 /* SyntaxKind.JSDocReturnTag */); }, - get updateJSDocReturnTag() { return getJSDocTypeLikeTagUpdateFunction(341 /* SyntaxKind.JSDocReturnTag */); }, - get createJSDocThisTag() { return getJSDocTypeLikeTagCreateFunction(342 /* SyntaxKind.JSDocThisTag */); }, - get updateJSDocThisTag() { return getJSDocTypeLikeTagUpdateFunction(342 /* SyntaxKind.JSDocThisTag */); }, - get createJSDocEnumTag() { return getJSDocTypeLikeTagCreateFunction(339 /* SyntaxKind.JSDocEnumTag */); }, - get updateJSDocEnumTag() { return getJSDocTypeLikeTagUpdateFunction(339 /* SyntaxKind.JSDocEnumTag */); }, - get createJSDocAuthorTag() { return getJSDocSimpleTagCreateFunction(330 /* SyntaxKind.JSDocAuthorTag */); }, - get updateJSDocAuthorTag() { return getJSDocSimpleTagUpdateFunction(330 /* SyntaxKind.JSDocAuthorTag */); }, - get createJSDocClassTag() { return getJSDocSimpleTagCreateFunction(332 /* SyntaxKind.JSDocClassTag */); }, - get updateJSDocClassTag() { return getJSDocSimpleTagUpdateFunction(332 /* SyntaxKind.JSDocClassTag */); }, - get createJSDocPublicTag() { return getJSDocSimpleTagCreateFunction(333 /* SyntaxKind.JSDocPublicTag */); }, - get updateJSDocPublicTag() { return getJSDocSimpleTagUpdateFunction(333 /* SyntaxKind.JSDocPublicTag */); }, - get createJSDocPrivateTag() { return getJSDocSimpleTagCreateFunction(334 /* SyntaxKind.JSDocPrivateTag */); }, - get updateJSDocPrivateTag() { return getJSDocSimpleTagUpdateFunction(334 /* SyntaxKind.JSDocPrivateTag */); }, - get createJSDocProtectedTag() { return getJSDocSimpleTagCreateFunction(335 /* SyntaxKind.JSDocProtectedTag */); }, - get updateJSDocProtectedTag() { return getJSDocSimpleTagUpdateFunction(335 /* SyntaxKind.JSDocProtectedTag */); }, - get createJSDocReadonlyTag() { return getJSDocSimpleTagCreateFunction(336 /* SyntaxKind.JSDocReadonlyTag */); }, - get updateJSDocReadonlyTag() { return getJSDocSimpleTagUpdateFunction(336 /* SyntaxKind.JSDocReadonlyTag */); }, - get createJSDocOverrideTag() { return getJSDocSimpleTagCreateFunction(337 /* SyntaxKind.JSDocOverrideTag */); }, - get updateJSDocOverrideTag() { return getJSDocSimpleTagUpdateFunction(337 /* SyntaxKind.JSDocOverrideTag */); }, - get createJSDocDeprecatedTag() { return getJSDocSimpleTagCreateFunction(331 /* SyntaxKind.JSDocDeprecatedTag */); }, - get updateJSDocDeprecatedTag() { return getJSDocSimpleTagUpdateFunction(331 /* SyntaxKind.JSDocDeprecatedTag */); }, + get createJSDocTypeTag() { return getJSDocTypeLikeTagCreateFunction(346 /* SyntaxKind.JSDocTypeTag */); }, + get updateJSDocTypeTag() { return getJSDocTypeLikeTagUpdateFunction(346 /* SyntaxKind.JSDocTypeTag */); }, + get createJSDocReturnTag() { return getJSDocTypeLikeTagCreateFunction(344 /* SyntaxKind.JSDocReturnTag */); }, + get updateJSDocReturnTag() { return getJSDocTypeLikeTagUpdateFunction(344 /* SyntaxKind.JSDocReturnTag */); }, + get createJSDocThisTag() { return getJSDocTypeLikeTagCreateFunction(345 /* SyntaxKind.JSDocThisTag */); }, + get updateJSDocThisTag() { return getJSDocTypeLikeTagUpdateFunction(345 /* SyntaxKind.JSDocThisTag */); }, + get createJSDocEnumTag() { return getJSDocTypeLikeTagCreateFunction(342 /* SyntaxKind.JSDocEnumTag */); }, + get updateJSDocEnumTag() { return getJSDocTypeLikeTagUpdateFunction(342 /* SyntaxKind.JSDocEnumTag */); }, + get createJSDocAuthorTag() { return getJSDocSimpleTagCreateFunction(333 /* SyntaxKind.JSDocAuthorTag */); }, + get updateJSDocAuthorTag() { return getJSDocSimpleTagUpdateFunction(333 /* SyntaxKind.JSDocAuthorTag */); }, + get createJSDocClassTag() { return getJSDocSimpleTagCreateFunction(335 /* SyntaxKind.JSDocClassTag */); }, + get updateJSDocClassTag() { return getJSDocSimpleTagUpdateFunction(335 /* SyntaxKind.JSDocClassTag */); }, + get createJSDocPublicTag() { return getJSDocSimpleTagCreateFunction(336 /* SyntaxKind.JSDocPublicTag */); }, + get updateJSDocPublicTag() { return getJSDocSimpleTagUpdateFunction(336 /* SyntaxKind.JSDocPublicTag */); }, + get createJSDocPrivateTag() { return getJSDocSimpleTagCreateFunction(337 /* SyntaxKind.JSDocPrivateTag */); }, + get updateJSDocPrivateTag() { return getJSDocSimpleTagUpdateFunction(337 /* SyntaxKind.JSDocPrivateTag */); }, + get createJSDocProtectedTag() { return getJSDocSimpleTagCreateFunction(338 /* SyntaxKind.JSDocProtectedTag */); }, + get updateJSDocProtectedTag() { return getJSDocSimpleTagUpdateFunction(338 /* SyntaxKind.JSDocProtectedTag */); }, + get createJSDocReadonlyTag() { return getJSDocSimpleTagCreateFunction(339 /* SyntaxKind.JSDocReadonlyTag */); }, + get updateJSDocReadonlyTag() { return getJSDocSimpleTagUpdateFunction(339 /* SyntaxKind.JSDocReadonlyTag */); }, + get createJSDocOverrideTag() { return getJSDocSimpleTagCreateFunction(340 /* SyntaxKind.JSDocOverrideTag */); }, + get updateJSDocOverrideTag() { return getJSDocSimpleTagUpdateFunction(340 /* SyntaxKind.JSDocOverrideTag */); }, + get createJSDocDeprecatedTag() { return getJSDocSimpleTagCreateFunction(334 /* SyntaxKind.JSDocDeprecatedTag */); }, + get updateJSDocDeprecatedTag() { return getJSDocSimpleTagUpdateFunction(334 /* SyntaxKind.JSDocDeprecatedTag */); }, createJSDocUnknownTag: createJSDocUnknownTag, updateJSDocUnknownTag: updateJSDocUnknownTag, createJSDocText: createJSDocText, @@ -23052,11 +23015,11 @@ var ts; // don't propagate child flags. if (name) { switch (node.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 296 /* SyntaxKind.PropertyAssignment */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 299 /* SyntaxKind.PropertyAssignment */: if (ts.isIdentifier(name)) { node.transformFlags |= propagateIdentifierNameFlags(name); break; @@ -23205,23 +23168,29 @@ var ts; node.escapedText = ts.escapeLeadingUnderscores(text); return node; } - function createBaseGeneratedIdentifier(text, autoGenerateFlags) { + function createBaseGeneratedIdentifier(text, autoGenerateFlags, prefix, suffix) { var node = createBaseIdentifier(text, /*originalKeywordKind*/ undefined); node.autoGenerateFlags = autoGenerateFlags; node.autoGenerateId = nextAutoGenerateId; + node.autoGeneratePrefix = prefix; + node.autoGenerateSuffix = suffix; nextAutoGenerateId++; return node; } // @api - function createIdentifier(text, typeArguments, originalKeywordKind) { + function createIdentifier(text, typeArguments, originalKeywordKind, hasExtendedUnicodeEscape) { var node = createBaseIdentifier(text, originalKeywordKind); if (typeArguments) { // NOTE: we do not use `setChildren` here because typeArguments in an identifier do not contribute to transformations node.typeArguments = createNodeArray(typeArguments); } - if (node.originalKeywordKind === 132 /* SyntaxKind.AwaitKeyword */) { + if (node.originalKeywordKind === 133 /* SyntaxKind.AwaitKeyword */) { node.transformFlags |= 67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; } + if (hasExtendedUnicodeEscape) { + node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape; + node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; + } return node; } // @api @@ -23231,11 +23200,11 @@ var ts; : node; } // @api - function createTempVariable(recordTempVariable, reservedInNestedScopes) { + function createTempVariable(recordTempVariable, reservedInNestedScopes, prefix, suffix) { var flags = 1 /* GeneratedIdentifierFlags.Auto */; if (reservedInNestedScopes) flags |= 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */; - var name = createBaseGeneratedIdentifier("", flags); + var name = createBaseGeneratedIdentifier("", flags, prefix, suffix); if (recordTempVariable) { recordTempVariable(name); } @@ -23247,34 +23216,69 @@ var ts; var flags = 2 /* GeneratedIdentifierFlags.Loop */; if (reservedInNestedScopes) flags |= 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */; - return createBaseGeneratedIdentifier("", flags); + return createBaseGeneratedIdentifier("", flags, /*prefix*/ undefined, /*suffix*/ undefined); } /** Create a unique name based on the supplied text. */ // @api - function createUniqueName(text, flags) { + function createUniqueName(text, flags, prefix, suffix) { if (flags === void 0) { flags = 0 /* GeneratedIdentifierFlags.None */; } ts.Debug.assert(!(flags & 7 /* GeneratedIdentifierFlags.KindMask */), "Argument out of range: flags"); ts.Debug.assert((flags & (16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)) !== 32 /* GeneratedIdentifierFlags.FileLevel */, "GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"); - return createBaseGeneratedIdentifier(text, 3 /* GeneratedIdentifierFlags.Unique */ | flags); + return createBaseGeneratedIdentifier(text, 3 /* GeneratedIdentifierFlags.Unique */ | flags, prefix, suffix); } /** Create a unique name generated for a node. */ // @api - function getGeneratedNameForNode(node, flags) { + function getGeneratedNameForNode(node, flags, prefix, suffix) { if (flags === void 0) { flags = 0; } ts.Debug.assert(!(flags & 7 /* GeneratedIdentifierFlags.KindMask */), "Argument out of range: flags"); - var name = createBaseGeneratedIdentifier(node && ts.isIdentifier(node) ? ts.idText(node) : "", 4 /* GeneratedIdentifierFlags.Node */ | flags); + var text = !node ? "" : + ts.isMemberName(node) ? ts.formatGeneratedName(/*privateName*/ false, prefix, node, suffix, ts.idText) : + "generated@".concat(ts.getNodeId(node)); + if (prefix || suffix) + flags |= 16 /* GeneratedIdentifierFlags.Optimistic */; + var name = createBaseGeneratedIdentifier(text, 4 /* GeneratedIdentifierFlags.Node */ | flags, prefix, suffix); name.original = node; return name; } + function createBasePrivateIdentifier(text) { + var node = baseFactory.createBasePrivateIdentifierNode(80 /* SyntaxKind.PrivateIdentifier */); + node.escapedText = ts.escapeLeadingUnderscores(text); + node.transformFlags |= 16777216 /* TransformFlags.ContainsClassFields */; + return node; + } // @api function createPrivateIdentifier(text) { if (!ts.startsWith(text, "#")) ts.Debug.fail("First character of private identifier must be #: " + text); - var node = baseFactory.createBasePrivateIdentifierNode(80 /* SyntaxKind.PrivateIdentifier */); - node.escapedText = ts.escapeLeadingUnderscores(text); - node.transformFlags |= 16777216 /* TransformFlags.ContainsClassFields */; + return createBasePrivateIdentifier(text); + } + function createBaseGeneratedPrivateIdentifier(text, autoGenerateFlags, prefix, suffix) { + var node = createBasePrivateIdentifier(text); + node.autoGenerateFlags = autoGenerateFlags; + node.autoGenerateId = nextAutoGenerateId; + node.autoGeneratePrefix = prefix; + node.autoGenerateSuffix = suffix; + nextAutoGenerateId++; return node; } + /** Create a unique name based on the supplied text. */ + // @api + function createUniquePrivateName(text, prefix, suffix) { + if (text && !ts.startsWith(text, "#")) + ts.Debug.fail("First character of private identifier must be #: " + text); + var autoGenerateFlags = 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */ | + (text ? 3 /* GeneratedIdentifierFlags.Unique */ : 1 /* GeneratedIdentifierFlags.Auto */); + return createBaseGeneratedPrivateIdentifier(text !== null && text !== void 0 ? text : "", autoGenerateFlags, prefix, suffix); + } + // @api + function getGeneratedPrivateNameForNode(node, prefix, suffix) { + var text = ts.isMemberName(node) ? ts.formatGeneratedName(/*privateName*/ true, prefix, node, suffix, ts.idText) : + "#generated@".concat(ts.getNodeId(node)); + var flags = prefix || suffix ? 16 /* GeneratedIdentifierFlags.Optimistic */ : 0 /* GeneratedIdentifierFlags.None */; + var name = createBaseGeneratedPrivateIdentifier(text, 4 /* GeneratedIdentifierFlags.Node */ | flags, prefix, suffix); + name.original = node; + return name; + } // // Punctuation // @@ -23282,14 +23286,14 @@ var ts; return baseFactory.createBaseTokenNode(kind); } function createToken(token) { - ts.Debug.assert(token >= 0 /* SyntaxKind.FirstToken */ && token <= 160 /* SyntaxKind.LastToken */, "Invalid token"); + ts.Debug.assert(token >= 0 /* SyntaxKind.FirstToken */ && token <= 162 /* SyntaxKind.LastToken */, "Invalid token"); ts.Debug.assert(token <= 14 /* SyntaxKind.FirstTemplateToken */ || token >= 17 /* SyntaxKind.LastTemplateToken */, "Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."); ts.Debug.assert(token <= 8 /* SyntaxKind.FirstLiteralToken */ || token >= 14 /* SyntaxKind.LastLiteralToken */, "Invalid token. Use 'createLiteralLikeNode' to create literals."); ts.Debug.assert(token !== 79 /* SyntaxKind.Identifier */, "Invalid token. Use 'createIdentifier' to create identifiers"); var node = createBaseToken(token); var transformFlags = 0 /* TransformFlags.None */; switch (token) { - case 131 /* SyntaxKind.AsyncKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: // 'async' modifier is ES2017 (async functions) or ES2018 (async generators) transformFlags = 256 /* TransformFlags.ContainsES2017 */ | @@ -23298,24 +23302,24 @@ var ts; case 123 /* SyntaxKind.PublicKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: case 126 /* SyntaxKind.AbstractKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 85 /* SyntaxKind.ConstKeyword */: - case 130 /* SyntaxKind.AnyKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: case 101 /* SyntaxKind.InKeyword */: - case 144 /* SyntaxKind.OutKeyword */: - case 159 /* SyntaxKind.OverrideKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: + case 145 /* SyntaxKind.OutKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: case 114 /* SyntaxKind.VoidKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: // `undefined` is an Identifier in the expression case. + case 157 /* SyntaxKind.UnknownKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: // `undefined` is an Identifier in the expression case. transformFlags = 1 /* TransformFlags.ContainsTypeScript */; break; case 106 /* SyntaxKind.SuperKeyword */: @@ -23324,6 +23328,9 @@ var ts; case 124 /* SyntaxKind.StaticKeyword */: transformFlags = 1024 /* TransformFlags.ContainsES2015 */; break; + case 127 /* SyntaxKind.AccessorKeyword */: + transformFlags = 16777216 /* TransformFlags.ContainsClassFields */; + break; case 108 /* SyntaxKind.ThisKeyword */: // 'this' indicates a lexical 'this' transformFlags = 16384 /* TransformFlags.ContainsLexicalThis */; @@ -23370,8 +23377,8 @@ var ts; if (flags & 1 /* ModifierFlags.Export */) result.push(createModifier(93 /* SyntaxKind.ExportKeyword */)); if (flags & 2 /* ModifierFlags.Ambient */) - result.push(createModifier(135 /* SyntaxKind.DeclareKeyword */)); - if (flags & 512 /* ModifierFlags.Default */) + result.push(createModifier(136 /* SyntaxKind.DeclareKeyword */)); + if (flags & 1024 /* ModifierFlags.Default */) result.push(createModifier(88 /* SyntaxKind.DefaultKeyword */)); if (flags & 2048 /* ModifierFlags.Const */) result.push(createModifier(85 /* SyntaxKind.ConstKeyword */)); @@ -23381,20 +23388,22 @@ var ts; result.push(createModifier(121 /* SyntaxKind.PrivateKeyword */)); if (flags & 16 /* ModifierFlags.Protected */) result.push(createModifier(122 /* SyntaxKind.ProtectedKeyword */)); - if (flags & 128 /* ModifierFlags.Abstract */) + if (flags & 256 /* ModifierFlags.Abstract */) result.push(createModifier(126 /* SyntaxKind.AbstractKeyword */)); if (flags & 32 /* ModifierFlags.Static */) result.push(createModifier(124 /* SyntaxKind.StaticKeyword */)); if (flags & 16384 /* ModifierFlags.Override */) - result.push(createModifier(159 /* SyntaxKind.OverrideKeyword */)); + result.push(createModifier(161 /* SyntaxKind.OverrideKeyword */)); if (flags & 64 /* ModifierFlags.Readonly */) - result.push(createModifier(145 /* SyntaxKind.ReadonlyKeyword */)); - if (flags & 256 /* ModifierFlags.Async */) - result.push(createModifier(131 /* SyntaxKind.AsyncKeyword */)); + result.push(createModifier(146 /* SyntaxKind.ReadonlyKeyword */)); + if (flags & 128 /* ModifierFlags.Accessor */) + result.push(createModifier(127 /* SyntaxKind.AccessorKeyword */)); + if (flags & 512 /* ModifierFlags.Async */) + result.push(createModifier(132 /* SyntaxKind.AsyncKeyword */)); if (flags & 32768 /* ModifierFlags.In */) result.push(createModifier(101 /* SyntaxKind.InKeyword */)); if (flags & 65536 /* ModifierFlags.Out */) - result.push(createModifier(144 /* SyntaxKind.OutKeyword */)); + result.push(createModifier(145 /* SyntaxKind.OutKeyword */)); return result.length ? result : undefined; } // @@ -23402,7 +23411,7 @@ var ts; // // @api function createQualifiedName(left, right) { - var node = createBaseNode(161 /* SyntaxKind.QualifiedName */); + var node = createBaseNode(163 /* SyntaxKind.QualifiedName */); node.left = left; node.right = asName(right); node.transformFlags |= @@ -23419,7 +23428,7 @@ var ts; } // @api function createComputedPropertyName(expression) { - var node = createBaseNode(162 /* SyntaxKind.ComputedPropertyName */); + var node = createBaseNode(164 /* SyntaxKind.ComputedPropertyName */); node.expression = parenthesizerRules().parenthesizeExpressionOfComputedPropertyName(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -23438,7 +23447,7 @@ var ts; // // @api function createTypeParameterDeclaration(modifiers, name, constraint, defaultType) { - var node = createBaseNamedDeclaration(163 /* SyntaxKind.TypeParameter */, modifiers, name); + var node = createBaseNamedDeclaration(165 /* SyntaxKind.TypeParameter */, modifiers, name); node.constraint = constraint; node.default = defaultType; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23455,7 +23464,7 @@ var ts; } // @api function createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(164 /* SyntaxKind.Parameter */, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); + var node = createBaseVariableLikeDeclaration(166 /* SyntaxKind.Parameter */, modifiers, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.dotDotDotToken = dotDotDotToken; node.questionToken = questionToken; if (ts.isThisIdentifier(node.name)) { @@ -23487,7 +23496,7 @@ var ts; } // @api function createDecorator(expression) { - var node = createBaseNode(165 /* SyntaxKind.Decorator */); + var node = createBaseNode(167 /* SyntaxKind.Decorator */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.transformFlags |= propagateChildFlags(node.expression) | @@ -23507,7 +23516,7 @@ var ts; // // @api function createPropertySignature(modifiers, name, questionToken, type) { - var node = createBaseNamedDeclaration(166 /* SyntaxKind.PropertySignature */, modifiers, name); + var node = createBaseNamedDeclaration(168 /* SyntaxKind.PropertySignature */, modifiers, name); node.type = type; node.questionToken = questionToken; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23533,7 +23542,7 @@ var ts; } // @api function createPropertyDeclaration(modifiers, name, questionOrExclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(167 /* SyntaxKind.PropertyDeclaration */, modifiers, name, type, initializer); + var node = createBaseVariableLikeDeclaration(169 /* SyntaxKind.PropertyDeclaration */, modifiers, name, type, initializer); node.questionToken = questionOrExclamationToken && ts.isQuestionToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.exclamationToken = questionOrExclamationToken && ts.isExclamationToken(questionOrExclamationToken) ? questionOrExclamationToken : undefined; node.transformFlags |= @@ -23561,7 +23570,7 @@ var ts; } // @api function createMethodSignature(modifiers, name, questionToken, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(168 /* SyntaxKind.MethodSignature */, modifiers, name, typeParameters, parameters, type); + var node = createBaseSignatureDeclaration(170 /* SyntaxKind.MethodSignature */, modifiers, name, typeParameters, parameters, type); node.questionToken = questionToken; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23579,7 +23588,7 @@ var ts; } // @api function createMethodDeclaration(modifiers, asteriskToken, name, questionToken, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(169 /* SyntaxKind.MethodDeclaration */, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.MethodDeclaration */, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.questionToken = questionToken; node.transformFlags |= @@ -23589,7 +23598,7 @@ var ts; if (questionToken) { node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } - if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { + if (ts.modifiersToFlags(node.modifiers) & 512 /* ModifierFlags.Async */) { if (asteriskToken) { node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } @@ -23625,9 +23634,9 @@ var ts; } // @api function createClassStaticBlockDeclaration(body) { - var node = createBaseGenericNamedDeclaration(170 /* SyntaxKind.ClassStaticBlockDeclaration */, - /*modifiers*/ undefined, - /*name*/ undefined, + var node = createBaseGenericNamedDeclaration(172 /* SyntaxKind.ClassStaticBlockDeclaration */, + /*modifiers*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined); node.body = body; node.transformFlags = propagateChildFlags(body) | 16777216 /* TransformFlags.ContainsClassFields */; @@ -23651,9 +23660,9 @@ var ts; } // @api function createConstructorDeclaration(modifiers, parameters, body) { - var node = createBaseFunctionLikeDeclaration(171 /* SyntaxKind.Constructor */, modifiers, - /*name*/ undefined, - /*typeParameters*/ undefined, parameters, + var node = createBaseFunctionLikeDeclaration(173 /* SyntaxKind.Constructor */, modifiers, + /*name*/ undefined, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; // The following properties are used only to report grammar errors @@ -23680,7 +23689,7 @@ var ts; } // @api function createGetAccessorDeclaration(modifiers, name, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(172 /* SyntaxKind.GetAccessor */, modifiers, name, + var node = createBaseFunctionLikeDeclaration(174 /* SyntaxKind.GetAccessor */, modifiers, name, /*typeParameters*/ undefined, parameters, type, body); // The following properties are used only to report grammar errors node.typeParameters = undefined; @@ -23704,8 +23713,8 @@ var ts; } // @api function createSetAccessorDeclaration(modifiers, name, parameters, body) { - var node = createBaseFunctionLikeDeclaration(173 /* SyntaxKind.SetAccessor */, modifiers, name, - /*typeParameters*/ undefined, parameters, + var node = createBaseFunctionLikeDeclaration(175 /* SyntaxKind.SetAccessor */, modifiers, name, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); // The following properties are used only to report grammar errors node.typeParameters = undefined; @@ -23730,8 +23739,8 @@ var ts; } // @api function createCallSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(174 /* SyntaxKind.CallSignature */, - /*modifiers*/ undefined, + var node = createBaseSignatureDeclaration(176 /* SyntaxKind.CallSignature */, + /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23746,8 +23755,8 @@ var ts; } // @api function createConstructSignature(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(175 /* SyntaxKind.ConstructSignature */, - /*modifiers*/ undefined, + var node = createBaseSignatureDeclaration(177 /* SyntaxKind.ConstructSignature */, + /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23762,8 +23771,8 @@ var ts; } // @api function createIndexSignature(modifiers, parameters, type) { - var node = createBaseSignatureDeclaration(176 /* SyntaxKind.IndexSignature */, modifiers, - /*name*/ undefined, + var node = createBaseSignatureDeclaration(178 /* SyntaxKind.IndexSignature */, modifiers, + /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23778,7 +23787,7 @@ var ts; } // @api function createTemplateLiteralTypeSpan(type, literal) { - var node = createBaseNode(199 /* SyntaxKind.TemplateLiteralTypeSpan */); + var node = createBaseNode(201 /* SyntaxKind.TemplateLiteralTypeSpan */); node.type = type; node.literal = literal; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23800,7 +23809,7 @@ var ts; } // @api function createTypePredicateNode(assertsModifier, parameterName, type) { - var node = createBaseNode(177 /* SyntaxKind.TypePredicate */); + var node = createBaseNode(179 /* SyntaxKind.TypePredicate */); node.assertsModifier = assertsModifier; node.parameterName = asName(parameterName); node.type = type; @@ -23817,7 +23826,7 @@ var ts; } // @api function createTypeReferenceNode(typeName, typeArguments) { - var node = createBaseNode(178 /* SyntaxKind.TypeReference */); + var node = createBaseNode(180 /* SyntaxKind.TypeReference */); node.typeName = asName(typeName); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(createNodeArray(typeArguments)); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23832,8 +23841,8 @@ var ts; } // @api function createFunctionTypeNode(typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(179 /* SyntaxKind.FunctionType */, - /*modifiers*/ undefined, + var node = createBaseSignatureDeclaration(181 /* SyntaxKind.FunctionType */, + /*modifiers*/ undefined, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors @@ -23865,7 +23874,7 @@ var ts; ts.Debug.fail("Incorrect number of arguments specified."); } function createConstructorTypeNode1(modifiers, typeParameters, parameters, type) { - var node = createBaseSignatureDeclaration(180 /* SyntaxKind.ConstructorType */, modifiers, + var node = createBaseSignatureDeclaration(182 /* SyntaxKind.ConstructorType */, modifiers, /*name*/ undefined, typeParameters, parameters, type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23898,7 +23907,7 @@ var ts; } // @api function createTypeQueryNode(exprName, typeArguments) { - var node = createBaseNode(181 /* SyntaxKind.TypeQuery */); + var node = createBaseNode(183 /* SyntaxKind.TypeQuery */); node.exprName = exprName; node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -23913,7 +23922,7 @@ var ts; } // @api function createTypeLiteralNode(members) { - var node = createBaseNode(182 /* SyntaxKind.TypeLiteral */); + var node = createBaseNode(184 /* SyntaxKind.TypeLiteral */); node.members = createNodeArray(members); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23926,7 +23935,7 @@ var ts; } // @api function createArrayTypeNode(elementType) { - var node = createBaseNode(183 /* SyntaxKind.ArrayType */); + var node = createBaseNode(185 /* SyntaxKind.ArrayType */); node.elementType = parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(elementType); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23939,7 +23948,7 @@ var ts; } // @api function createTupleTypeNode(elements) { - var node = createBaseNode(184 /* SyntaxKind.TupleType */); + var node = createBaseNode(186 /* SyntaxKind.TupleType */); node.elements = createNodeArray(parenthesizerRules().parenthesizeElementTypesOfTupleType(elements)); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23952,7 +23961,7 @@ var ts; } // @api function createNamedTupleMember(dotDotDotToken, name, questionToken, type) { - var node = createBaseNode(197 /* SyntaxKind.NamedTupleMember */); + var node = createBaseNode(199 /* SyntaxKind.NamedTupleMember */); node.dotDotDotToken = dotDotDotToken; node.name = name; node.questionToken = questionToken; @@ -23971,7 +23980,7 @@ var ts; } // @api function createOptionalTypeNode(type) { - var node = createBaseNode(185 /* SyntaxKind.OptionalType */); + var node = createBaseNode(187 /* SyntaxKind.OptionalType */); node.type = parenthesizerRules().parenthesizeTypeOfOptionalType(type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -23984,7 +23993,7 @@ var ts; } // @api function createRestTypeNode(type) { - var node = createBaseNode(186 /* SyntaxKind.RestType */); + var node = createBaseNode(188 /* SyntaxKind.RestType */); node.type = type; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -24008,7 +24017,7 @@ var ts; } // @api function createUnionTypeNode(types) { - return createUnionOrIntersectionTypeNode(187 /* SyntaxKind.UnionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfUnionType); + return createUnionOrIntersectionTypeNode(189 /* SyntaxKind.UnionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfUnionType); } // @api function updateUnionTypeNode(node, types) { @@ -24016,7 +24025,7 @@ var ts; } // @api function createIntersectionTypeNode(types) { - return createUnionOrIntersectionTypeNode(188 /* SyntaxKind.IntersectionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfIntersectionType); + return createUnionOrIntersectionTypeNode(190 /* SyntaxKind.IntersectionType */, types, parenthesizerRules().parenthesizeConstituentTypesOfIntersectionType); } // @api function updateIntersectionTypeNode(node, types) { @@ -24024,7 +24033,7 @@ var ts; } // @api function createConditionalTypeNode(checkType, extendsType, trueType, falseType) { - var node = createBaseNode(189 /* SyntaxKind.ConditionalType */); + var node = createBaseNode(191 /* SyntaxKind.ConditionalType */); node.checkType = parenthesizerRules().parenthesizeCheckTypeOfConditionalType(checkType); node.extendsType = parenthesizerRules().parenthesizeExtendsTypeOfConditionalType(extendsType); node.trueType = trueType; @@ -24043,7 +24052,7 @@ var ts; } // @api function createInferTypeNode(typeParameter) { - var node = createBaseNode(190 /* SyntaxKind.InferType */); + var node = createBaseNode(192 /* SyntaxKind.InferType */); node.typeParameter = typeParameter; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -24056,7 +24065,7 @@ var ts; } // @api function createTemplateLiteralType(head, templateSpans) { - var node = createBaseNode(198 /* SyntaxKind.TemplateLiteralType */); + var node = createBaseNode(200 /* SyntaxKind.TemplateLiteralType */); node.head = head; node.templateSpans = createNodeArray(templateSpans); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -24072,7 +24081,7 @@ var ts; // @api function createImportTypeNode(argument, assertions, qualifier, typeArguments, isTypeOf) { if (isTypeOf === void 0) { isTypeOf = false; } - var node = createBaseNode(200 /* SyntaxKind.ImportType */); + var node = createBaseNode(202 /* SyntaxKind.ImportType */); node.argument = argument; node.assertions = assertions; node.qualifier = qualifier; @@ -24094,7 +24103,7 @@ var ts; } // @api function createParenthesizedType(type) { - var node = createBaseNode(191 /* SyntaxKind.ParenthesizedType */); + var node = createBaseNode(193 /* SyntaxKind.ParenthesizedType */); node.type = type; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -24107,15 +24116,15 @@ var ts; } // @api function createThisTypeNode() { - var node = createBaseNode(192 /* SyntaxKind.ThisType */); + var node = createBaseNode(194 /* SyntaxKind.ThisType */); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; } // @api function createTypeOperatorNode(operator, type) { - var node = createBaseNode(193 /* SyntaxKind.TypeOperator */); + var node = createBaseNode(195 /* SyntaxKind.TypeOperator */); node.operator = operator; - node.type = operator === 145 /* SyntaxKind.ReadonlyKeyword */ ? + node.type = operator === 146 /* SyntaxKind.ReadonlyKeyword */ ? parenthesizerRules().parenthesizeOperandOfReadonlyTypeOperator(type) : parenthesizerRules().parenthesizeOperandOfTypeOperator(type); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -24129,7 +24138,7 @@ var ts; } // @api function createIndexedAccessTypeNode(objectType, indexType) { - var node = createBaseNode(194 /* SyntaxKind.IndexedAccessType */); + var node = createBaseNode(196 /* SyntaxKind.IndexedAccessType */); node.objectType = parenthesizerRules().parenthesizeNonArrayTypeOfPostfixType(objectType); node.indexType = indexType; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -24144,7 +24153,7 @@ var ts; } // @api function createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members) { - var node = createBaseNode(195 /* SyntaxKind.MappedType */); + var node = createBaseNode(197 /* SyntaxKind.MappedType */); node.readonlyToken = readonlyToken; node.typeParameter = typeParameter; node.nameType = nameType; @@ -24167,7 +24176,7 @@ var ts; } // @api function createLiteralTypeNode(literal) { - var node = createBaseNode(196 /* SyntaxKind.LiteralType */); + var node = createBaseNode(198 /* SyntaxKind.LiteralType */); node.literal = literal; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; return node; @@ -24183,7 +24192,7 @@ var ts; // // @api function createObjectBindingPattern(elements) { - var node = createBaseNode(201 /* SyntaxKind.ObjectBindingPattern */); + var node = createBaseNode(203 /* SyntaxKind.ObjectBindingPattern */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | @@ -24204,7 +24213,7 @@ var ts; } // @api function createArrayBindingPattern(elements) { - var node = createBaseNode(202 /* SyntaxKind.ArrayBindingPattern */); + var node = createBaseNode(204 /* SyntaxKind.ArrayBindingPattern */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements) | @@ -24220,7 +24229,7 @@ var ts; } // @api function createBindingElement(dotDotDotToken, propertyName, name, initializer) { - var node = createBaseBindingLikeDeclaration(203 /* SyntaxKind.BindingElement */, + var node = createBaseBindingLikeDeclaration(205 /* SyntaxKind.BindingElement */, /*modifiers*/ undefined, name, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.propertyName = asName(propertyName); node.dotDotDotToken = dotDotDotToken; @@ -24255,7 +24264,7 @@ var ts; } // @api function createArrayLiteralExpression(elements, multiLine) { - var node = createBaseExpression(204 /* SyntaxKind.ArrayLiteralExpression */); + var node = createBaseExpression(206 /* SyntaxKind.ArrayLiteralExpression */); // Ensure we add a trailing comma for something like `[NumericLiteral(1), NumericLiteral(2), OmittedExpresion]` so that // we end up with `[1, 2, ,]` instead of `[1, 2, ]` otherwise the `OmittedExpression` will just end up being treated like // a trailing comma. @@ -24274,7 +24283,7 @@ var ts; } // @api function createObjectLiteralExpression(properties, multiLine) { - var node = createBaseExpression(205 /* SyntaxKind.ObjectLiteralExpression */); + var node = createBaseExpression(207 /* SyntaxKind.ObjectLiteralExpression */); node.properties = createNodeArray(properties); node.multiLine = multiLine; node.transformFlags |= propagateChildrenFlags(node.properties); @@ -24288,7 +24297,7 @@ var ts; } // @api function createPropertyAccessExpression(expression, name) { - var node = createBaseExpression(206 /* SyntaxKind.PropertyAccessExpression */); + var node = createBaseExpression(208 /* SyntaxKind.PropertyAccessExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.name = asName(name); node.transformFlags = @@ -24317,7 +24326,7 @@ var ts; } // @api function createPropertyAccessChain(expression, questionDotToken, name) { - var node = createBaseExpression(206 /* SyntaxKind.PropertyAccessExpression */); + var node = createBaseExpression(208 /* SyntaxKind.PropertyAccessExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.questionDotToken = questionDotToken; @@ -24344,7 +24353,7 @@ var ts; } // @api function createElementAccessExpression(expression, index) { - var node = createBaseExpression(207 /* SyntaxKind.ElementAccessExpression */); + var node = createBaseExpression(209 /* SyntaxKind.ElementAccessExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.argumentExpression = asExpression(index); node.transformFlags |= @@ -24371,7 +24380,7 @@ var ts; } // @api function createElementAccessChain(expression, questionDotToken, index) { - var node = createBaseExpression(207 /* SyntaxKind.ElementAccessExpression */); + var node = createBaseExpression(209 /* SyntaxKind.ElementAccessExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.questionDotToken = questionDotToken; @@ -24396,7 +24405,7 @@ var ts; } // @api function createCallExpression(expression, typeArguments, argumentsArray) { - var node = createBaseExpression(208 /* SyntaxKind.CallExpression */); + var node = createBaseExpression(210 /* SyntaxKind.CallExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.typeArguments = asNodeArray(typeArguments); node.arguments = parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(createNodeArray(argumentsArray)); @@ -24428,7 +24437,7 @@ var ts; } // @api function createCallChain(expression, questionDotToken, typeArguments, argumentsArray) { - var node = createBaseExpression(208 /* SyntaxKind.CallExpression */); + var node = createBaseExpression(210 /* SyntaxKind.CallExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.questionDotToken = questionDotToken; @@ -24460,7 +24469,7 @@ var ts; } // @api function createNewExpression(expression, typeArguments, argumentsArray) { - var node = createBaseExpression(209 /* SyntaxKind.NewExpression */); + var node = createBaseExpression(211 /* SyntaxKind.NewExpression */); node.expression = parenthesizerRules().parenthesizeExpressionOfNew(expression); node.typeArguments = asNodeArray(typeArguments); node.arguments = argumentsArray ? parenthesizerRules().parenthesizeExpressionsOfCommaDelimitedList(argumentsArray) : undefined; @@ -24484,7 +24493,7 @@ var ts; } // @api function createTaggedTemplateExpression(tag, typeArguments, template) { - var node = createBaseExpression(210 /* SyntaxKind.TaggedTemplateExpression */); + var node = createBaseExpression(212 /* SyntaxKind.TaggedTemplateExpression */); node.tag = parenthesizerRules().parenthesizeLeftSideOfAccess(tag, /*optionalChain*/ false); node.typeArguments = asNodeArray(typeArguments); node.template = template; @@ -24511,7 +24520,7 @@ var ts; } // @api function createTypeAssertion(type, expression) { - var node = createBaseExpression(211 /* SyntaxKind.TypeAssertionExpression */); + var node = createBaseExpression(213 /* SyntaxKind.TypeAssertionExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.type = type; node.transformFlags |= @@ -24529,7 +24538,7 @@ var ts; } // @api function createParenthesizedExpression(expression) { - var node = createBaseExpression(212 /* SyntaxKind.ParenthesizedExpression */); + var node = createBaseExpression(214 /* SyntaxKind.ParenthesizedExpression */); node.expression = expression; node.transformFlags = propagateChildFlags(node.expression); return node; @@ -24542,13 +24551,13 @@ var ts; } // @api function createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(213 /* SyntaxKind.FunctionExpression */, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(215 /* SyntaxKind.FunctionExpression */, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; node.transformFlags |= propagateChildFlags(node.asteriskToken); if (node.typeParameters) { node.transformFlags |= 1 /* TransformFlags.ContainsTypeScript */; } - if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { + if (ts.modifiersToFlags(node.modifiers) & 512 /* ModifierFlags.Async */) { if (node.asteriskToken) { node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } @@ -24575,13 +24584,13 @@ var ts; } // @api function createArrowFunction(modifiers, typeParameters, parameters, type, equalsGreaterThanToken, body) { - var node = createBaseFunctionLikeDeclaration(214 /* SyntaxKind.ArrowFunction */, modifiers, + var node = createBaseFunctionLikeDeclaration(216 /* SyntaxKind.ArrowFunction */, modifiers, /*name*/ undefined, typeParameters, parameters, type, parenthesizerRules().parenthesizeConciseBodyOfArrowFunction(body)); node.equalsGreaterThanToken = equalsGreaterThanToken !== null && equalsGreaterThanToken !== void 0 ? equalsGreaterThanToken : createToken(38 /* SyntaxKind.EqualsGreaterThanToken */); node.transformFlags |= propagateChildFlags(node.equalsGreaterThanToken) | 1024 /* TransformFlags.ContainsES2015 */; - if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { + if (ts.modifiersToFlags(node.modifiers) & 512 /* ModifierFlags.Async */) { node.transformFlags |= 256 /* TransformFlags.ContainsES2017 */ | 16384 /* TransformFlags.ContainsLexicalThis */; } return node; @@ -24599,7 +24608,7 @@ var ts; } // @api function createDeleteExpression(expression) { - var node = createBaseExpression(215 /* SyntaxKind.DeleteExpression */); + var node = createBaseExpression(217 /* SyntaxKind.DeleteExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24612,7 +24621,7 @@ var ts; } // @api function createTypeOfExpression(expression) { - var node = createBaseExpression(216 /* SyntaxKind.TypeOfExpression */); + var node = createBaseExpression(218 /* SyntaxKind.TypeOfExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24625,7 +24634,7 @@ var ts; } // @api function createVoidExpression(expression) { - var node = createBaseExpression(217 /* SyntaxKind.VoidExpression */); + var node = createBaseExpression(219 /* SyntaxKind.VoidExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -24638,7 +24647,7 @@ var ts; } // @api function createAwaitExpression(expression) { - var node = createBaseExpression(218 /* SyntaxKind.AwaitExpression */); + var node = createBaseExpression(220 /* SyntaxKind.AwaitExpression */); node.expression = parenthesizerRules().parenthesizeOperandOfPrefixUnary(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24655,7 +24664,7 @@ var ts; } // @api function createPrefixUnaryExpression(operator, operand) { - var node = createBaseExpression(219 /* SyntaxKind.PrefixUnaryExpression */); + var node = createBaseExpression(221 /* SyntaxKind.PrefixUnaryExpression */); node.operator = operator; node.operand = parenthesizerRules().parenthesizeOperandOfPrefixUnary(operand); node.transformFlags |= propagateChildFlags(node.operand); @@ -24677,7 +24686,7 @@ var ts; } // @api function createPostfixUnaryExpression(operand, operator) { - var node = createBaseExpression(220 /* SyntaxKind.PostfixUnaryExpression */); + var node = createBaseExpression(222 /* SyntaxKind.PostfixUnaryExpression */); node.operator = operator; node.operand = parenthesizerRules().parenthesizeOperandOfPostfixUnary(operand); node.transformFlags |= propagateChildFlags(node.operand); @@ -24698,7 +24707,7 @@ var ts; } // @api function createBinaryExpression(left, operator, right) { - var node = createBaseExpression(221 /* SyntaxKind.BinaryExpression */); + var node = createBaseExpression(223 /* SyntaxKind.BinaryExpression */); var operatorToken = asToken(operator); var operatorKind = operatorToken.kind; node.left = parenthesizerRules().parenthesizeLeftSideOfBinary(operatorKind, left); @@ -24770,7 +24779,7 @@ var ts; } // @api function createConditionalExpression(condition, questionToken, whenTrue, colonToken, whenFalse) { - var node = createBaseExpression(222 /* SyntaxKind.ConditionalExpression */); + var node = createBaseExpression(224 /* SyntaxKind.ConditionalExpression */); node.condition = parenthesizerRules().parenthesizeConditionOfConditionalExpression(condition); node.questionToken = questionToken !== null && questionToken !== void 0 ? questionToken : createToken(57 /* SyntaxKind.QuestionToken */); node.whenTrue = parenthesizerRules().parenthesizeBranchOfConditionalExpression(whenTrue); @@ -24796,7 +24805,7 @@ var ts; } // @api function createTemplateExpression(head, templateSpans) { - var node = createBaseExpression(223 /* SyntaxKind.TemplateExpression */); + var node = createBaseExpression(225 /* SyntaxKind.TemplateExpression */); node.head = head; node.templateSpans = createNodeArray(templateSpans); node.transformFlags |= @@ -24866,7 +24875,7 @@ var ts; // @api function createYieldExpression(asteriskToken, expression) { ts.Debug.assert(!asteriskToken || !!expression, "A `YieldExpression` with an asteriskToken must have an expression."); - var node = createBaseExpression(224 /* SyntaxKind.YieldExpression */); + var node = createBaseExpression(226 /* SyntaxKind.YieldExpression */); node.expression = expression && parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.asteriskToken = asteriskToken; node.transformFlags |= @@ -24886,7 +24895,7 @@ var ts; } // @api function createSpreadElement(expression) { - var node = createBaseExpression(225 /* SyntaxKind.SpreadElement */); + var node = createBaseExpression(227 /* SyntaxKind.SpreadElement */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24902,7 +24911,7 @@ var ts; } // @api function createClassExpression(modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(226 /* SyntaxKind.ClassExpression */, modifiers, name, typeParameters, heritageClauses, members); + var node = createBaseClassLikeDeclaration(228 /* SyntaxKind.ClassExpression */, modifiers, name, typeParameters, heritageClauses, members); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } @@ -24918,11 +24927,11 @@ var ts; } // @api function createOmittedExpression() { - return createBaseExpression(227 /* SyntaxKind.OmittedExpression */); + return createBaseExpression(229 /* SyntaxKind.OmittedExpression */); } // @api function createExpressionWithTypeArguments(expression, typeArguments) { - var node = createBaseNode(228 /* SyntaxKind.ExpressionWithTypeArguments */); + var node = createBaseNode(230 /* SyntaxKind.ExpressionWithTypeArguments */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.typeArguments = typeArguments && parenthesizerRules().parenthesizeTypeArguments(typeArguments); node.transformFlags |= @@ -24940,7 +24949,7 @@ var ts; } // @api function createAsExpression(expression, type) { - var node = createBaseExpression(229 /* SyntaxKind.AsExpression */); + var node = createBaseExpression(231 /* SyntaxKind.AsExpression */); node.expression = expression; node.type = type; node.transformFlags |= @@ -24958,7 +24967,7 @@ var ts; } // @api function createNonNullExpression(expression) { - var node = createBaseExpression(230 /* SyntaxKind.NonNullExpression */); + var node = createBaseExpression(232 /* SyntaxKind.NonNullExpression */); node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ false); node.transformFlags |= propagateChildFlags(node.expression) | @@ -24975,8 +24984,26 @@ var ts; : node; } // @api + function createSatisfiesExpression(expression, type) { + var node = createBaseExpression(235 /* SyntaxKind.SatisfiesExpression */); + node.expression = expression; + node.type = type; + node.transformFlags |= + propagateChildFlags(node.expression) | + propagateChildFlags(node.type) | + 1 /* TransformFlags.ContainsTypeScript */; + return node; + } + // @api + function updateSatisfiesExpression(node, expression, type) { + return node.expression !== expression + || node.type !== type + ? update(createSatisfiesExpression(expression, type), node) + : node; + } + // @api function createNonNullChain(expression) { - var node = createBaseExpression(230 /* SyntaxKind.NonNullExpression */); + var node = createBaseExpression(232 /* SyntaxKind.NonNullExpression */); node.flags |= 32 /* NodeFlags.OptionalChain */; node.expression = parenthesizerRules().parenthesizeLeftSideOfAccess(expression, /*optionalChain*/ true); node.transformFlags |= @@ -24993,7 +25020,7 @@ var ts; } // @api function createMetaProperty(keywordToken, name) { - var node = createBaseExpression(231 /* SyntaxKind.MetaProperty */); + var node = createBaseExpression(233 /* SyntaxKind.MetaProperty */); node.keywordToken = keywordToken; node.name = name; node.transformFlags |= propagateChildFlags(node.name); @@ -25020,7 +25047,7 @@ var ts; // // @api function createTemplateSpan(expression, literal) { - var node = createBaseNode(233 /* SyntaxKind.TemplateSpan */); + var node = createBaseNode(236 /* SyntaxKind.TemplateSpan */); node.expression = expression; node.literal = literal; node.transformFlags |= @@ -25038,7 +25065,7 @@ var ts; } // @api function createSemicolonClassElement() { - var node = createBaseNode(234 /* SyntaxKind.SemicolonClassElement */); + var node = createBaseNode(237 /* SyntaxKind.SemicolonClassElement */); node.transformFlags |= 1024 /* TransformFlags.ContainsES2015 */; return node; } @@ -25047,7 +25074,7 @@ var ts; // // @api function createBlock(statements, multiLine) { - var node = createBaseNode(235 /* SyntaxKind.Block */); + var node = createBaseNode(238 /* SyntaxKind.Block */); node.statements = createNodeArray(statements); node.multiLine = multiLine; node.transformFlags |= propagateChildrenFlags(node.statements); @@ -25061,7 +25088,7 @@ var ts; } // @api function createVariableStatement(modifiers, declarationList) { - var node = createBaseDeclaration(237 /* SyntaxKind.VariableStatement */); + var node = createBaseDeclaration(240 /* SyntaxKind.VariableStatement */); node.modifiers = asNodeArray(modifiers); node.declarationList = ts.isArray(declarationList) ? createVariableDeclarationList(declarationList) : declarationList; node.transformFlags |= @@ -25081,11 +25108,11 @@ var ts; } // @api function createEmptyStatement() { - return createBaseNode(236 /* SyntaxKind.EmptyStatement */); + return createBaseNode(239 /* SyntaxKind.EmptyStatement */); } // @api function createExpressionStatement(expression) { - var node = createBaseNode(238 /* SyntaxKind.ExpressionStatement */); + var node = createBaseNode(241 /* SyntaxKind.ExpressionStatement */); node.expression = parenthesizerRules().parenthesizeExpressionOfExpressionStatement(expression); node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -25098,7 +25125,7 @@ var ts; } // @api function createIfStatement(expression, thenStatement, elseStatement) { - var node = createBaseNode(239 /* SyntaxKind.IfStatement */); + var node = createBaseNode(242 /* SyntaxKind.IfStatement */); node.expression = expression; node.thenStatement = asEmbeddedStatement(thenStatement); node.elseStatement = asEmbeddedStatement(elseStatement); @@ -25118,7 +25145,7 @@ var ts; } // @api function createDoStatement(statement, expression) { - var node = createBaseNode(240 /* SyntaxKind.DoStatement */); + var node = createBaseNode(243 /* SyntaxKind.DoStatement */); node.statement = asEmbeddedStatement(statement); node.expression = expression; node.transformFlags |= @@ -25135,7 +25162,7 @@ var ts; } // @api function createWhileStatement(expression, statement) { - var node = createBaseNode(241 /* SyntaxKind.WhileStatement */); + var node = createBaseNode(244 /* SyntaxKind.WhileStatement */); node.expression = expression; node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -25152,7 +25179,7 @@ var ts; } // @api function createForStatement(initializer, condition, incrementor, statement) { - var node = createBaseNode(242 /* SyntaxKind.ForStatement */); + var node = createBaseNode(245 /* SyntaxKind.ForStatement */); node.initializer = initializer; node.condition = condition; node.incrementor = incrementor; @@ -25175,7 +25202,7 @@ var ts; } // @api function createForInStatement(initializer, expression, statement) { - var node = createBaseNode(243 /* SyntaxKind.ForInStatement */); + var node = createBaseNode(246 /* SyntaxKind.ForInStatement */); node.initializer = initializer; node.expression = expression; node.statement = asEmbeddedStatement(statement); @@ -25195,7 +25222,7 @@ var ts; } // @api function createForOfStatement(awaitModifier, initializer, expression, statement) { - var node = createBaseNode(244 /* SyntaxKind.ForOfStatement */); + var node = createBaseNode(247 /* SyntaxKind.ForOfStatement */); node.awaitModifier = awaitModifier; node.initializer = initializer; node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); @@ -25221,7 +25248,7 @@ var ts; } // @api function createContinueStatement(label) { - var node = createBaseNode(245 /* SyntaxKind.ContinueStatement */); + var node = createBaseNode(248 /* SyntaxKind.ContinueStatement */); node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | @@ -25236,7 +25263,7 @@ var ts; } // @api function createBreakStatement(label) { - var node = createBaseNode(246 /* SyntaxKind.BreakStatement */); + var node = createBaseNode(249 /* SyntaxKind.BreakStatement */); node.label = asName(label); node.transformFlags |= propagateChildFlags(node.label) | @@ -25251,7 +25278,7 @@ var ts; } // @api function createReturnStatement(expression) { - var node = createBaseNode(247 /* SyntaxKind.ReturnStatement */); + var node = createBaseNode(250 /* SyntaxKind.ReturnStatement */); node.expression = expression; // return in an ES2018 async generator must be awaited node.transformFlags |= @@ -25268,7 +25295,7 @@ var ts; } // @api function createWithStatement(expression, statement) { - var node = createBaseNode(248 /* SyntaxKind.WithStatement */); + var node = createBaseNode(251 /* SyntaxKind.WithStatement */); node.expression = expression; node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -25285,7 +25312,7 @@ var ts; } // @api function createSwitchStatement(expression, caseBlock) { - var node = createBaseNode(249 /* SyntaxKind.SwitchStatement */); + var node = createBaseNode(252 /* SyntaxKind.SwitchStatement */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.caseBlock = caseBlock; node.transformFlags |= @@ -25302,7 +25329,7 @@ var ts; } // @api function createLabeledStatement(label, statement) { - var node = createBaseNode(250 /* SyntaxKind.LabeledStatement */); + var node = createBaseNode(253 /* SyntaxKind.LabeledStatement */); node.label = asName(label); node.statement = asEmbeddedStatement(statement); node.transformFlags |= @@ -25319,7 +25346,7 @@ var ts; } // @api function createThrowStatement(expression) { - var node = createBaseNode(251 /* SyntaxKind.ThrowStatement */); + var node = createBaseNode(254 /* SyntaxKind.ThrowStatement */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); return node; @@ -25332,7 +25359,7 @@ var ts; } // @api function createTryStatement(tryBlock, catchClause, finallyBlock) { - var node = createBaseNode(252 /* SyntaxKind.TryStatement */); + var node = createBaseNode(255 /* SyntaxKind.TryStatement */); node.tryBlock = tryBlock; node.catchClause = catchClause; node.finallyBlock = finallyBlock; @@ -25352,11 +25379,11 @@ var ts; } // @api function createDebuggerStatement() { - return createBaseNode(253 /* SyntaxKind.DebuggerStatement */); + return createBaseNode(256 /* SyntaxKind.DebuggerStatement */); } // @api function createVariableDeclaration(name, exclamationToken, type, initializer) { - var node = createBaseVariableLikeDeclaration(254 /* SyntaxKind.VariableDeclaration */, + var node = createBaseVariableLikeDeclaration(257 /* SyntaxKind.VariableDeclaration */, /*modifiers*/ undefined, name, type, initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer)); node.exclamationToken = exclamationToken; node.transformFlags |= propagateChildFlags(node.exclamationToken); @@ -25377,7 +25404,7 @@ var ts; // @api function createVariableDeclarationList(declarations, flags) { if (flags === void 0) { flags = 0 /* NodeFlags.None */; } - var node = createBaseNode(255 /* SyntaxKind.VariableDeclarationList */); + var node = createBaseNode(258 /* SyntaxKind.VariableDeclarationList */); node.flags |= flags & 3 /* NodeFlags.BlockScoped */; node.declarations = createNodeArray(declarations); node.transformFlags |= @@ -25398,7 +25425,7 @@ var ts; } // @api function createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, body) { - var node = createBaseFunctionLikeDeclaration(256 /* SyntaxKind.FunctionDeclaration */, modifiers, name, typeParameters, parameters, type, body); + var node = createBaseFunctionLikeDeclaration(259 /* SyntaxKind.FunctionDeclaration */, modifiers, name, typeParameters, parameters, type, body); node.asteriskToken = asteriskToken; if (!node.body || ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; @@ -25407,7 +25434,7 @@ var ts; node.transformFlags |= propagateChildFlags(node.asteriskToken) | 4194304 /* TransformFlags.ContainsHoistedDeclarationOrCompletion */; - if (ts.modifiersToFlags(node.modifiers) & 256 /* ModifierFlags.Async */) { + if (ts.modifiersToFlags(node.modifiers) & 512 /* ModifierFlags.Async */) { if (node.asteriskToken) { node.transformFlags |= 128 /* TransformFlags.ContainsES2018 */; } @@ -25444,7 +25471,7 @@ var ts; } // @api function createClassDeclaration(modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseClassLikeDeclaration(257 /* SyntaxKind.ClassDeclaration */, modifiers, name, typeParameters, heritageClauses, members); + var node = createBaseClassLikeDeclaration(260 /* SyntaxKind.ClassDeclaration */, modifiers, name, typeParameters, heritageClauses, members); if (ts.modifiersToFlags(node.modifiers) & 2 /* ModifierFlags.Ambient */) { node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; } @@ -25468,7 +25495,7 @@ var ts; } // @api function createInterfaceDeclaration(modifiers, name, typeParameters, heritageClauses, members) { - var node = createBaseInterfaceOrClassLikeDeclaration(258 /* SyntaxKind.InterfaceDeclaration */, modifiers, name, typeParameters, heritageClauses); + var node = createBaseInterfaceOrClassLikeDeclaration(261 /* SyntaxKind.InterfaceDeclaration */, modifiers, name, typeParameters, heritageClauses); node.members = createNodeArray(members); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors @@ -25493,7 +25520,7 @@ var ts; } // @api function createTypeAliasDeclaration(modifiers, name, typeParameters, type) { - var node = createBaseGenericNamedDeclaration(259 /* SyntaxKind.TypeAliasDeclaration */, modifiers, name, typeParameters); + var node = createBaseGenericNamedDeclaration(262 /* SyntaxKind.TypeAliasDeclaration */, modifiers, name, typeParameters); node.type = type; node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors @@ -25517,7 +25544,7 @@ var ts; } // @api function createEnumDeclaration(modifiers, name, members) { - var node = createBaseNamedDeclaration(260 /* SyntaxKind.EnumDeclaration */, modifiers, name); + var node = createBaseNamedDeclaration(263 /* SyntaxKind.EnumDeclaration */, modifiers, name); node.members = createNodeArray(members); node.transformFlags |= propagateChildrenFlags(node.members) | @@ -25544,7 +25571,7 @@ var ts; // @api function createModuleDeclaration(modifiers, name, body, flags) { if (flags === void 0) { flags = 0 /* NodeFlags.None */; } - var node = createBaseDeclaration(261 /* SyntaxKind.ModuleDeclaration */); + var node = createBaseDeclaration(264 /* SyntaxKind.ModuleDeclaration */); node.modifiers = asNodeArray(modifiers); node.flags |= flags & (16 /* NodeFlags.Namespace */ | 4 /* NodeFlags.NestedNamespace */ | 1024 /* NodeFlags.GlobalAugmentation */); node.name = name; @@ -25580,7 +25607,7 @@ var ts; } // @api function createModuleBlock(statements) { - var node = createBaseNode(262 /* SyntaxKind.ModuleBlock */); + var node = createBaseNode(265 /* SyntaxKind.ModuleBlock */); node.statements = createNodeArray(statements); node.transformFlags |= propagateChildrenFlags(node.statements); return node; @@ -25593,7 +25620,7 @@ var ts; } // @api function createCaseBlock(clauses) { - var node = createBaseNode(263 /* SyntaxKind.CaseBlock */); + var node = createBaseNode(266 /* SyntaxKind.CaseBlock */); node.clauses = createNodeArray(clauses); node.transformFlags |= propagateChildrenFlags(node.clauses); return node; @@ -25606,7 +25633,7 @@ var ts; } // @api function createNamespaceExportDeclaration(name) { - var node = createBaseNamedDeclaration(264 /* SyntaxKind.NamespaceExportDeclaration */, + var node = createBaseNamedDeclaration(267 /* SyntaxKind.NamespaceExportDeclaration */, /*modifiers*/ undefined, name); node.transformFlags = 1 /* TransformFlags.ContainsTypeScript */; // The following properties are used only to report grammar errors @@ -25629,7 +25656,7 @@ var ts; } // @api function createImportEqualsDeclaration(modifiers, isTypeOnly, name, moduleReference) { - var node = createBaseNamedDeclaration(265 /* SyntaxKind.ImportEqualsDeclaration */, modifiers, name); + var node = createBaseNamedDeclaration(268 /* SyntaxKind.ImportEqualsDeclaration */, modifiers, name); node.isTypeOnly = isTypeOnly; node.moduleReference = moduleReference; node.transformFlags |= propagateChildFlags(node.moduleReference); @@ -25657,7 +25684,7 @@ var ts; } // @api function createImportDeclaration(modifiers, importClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(266 /* SyntaxKind.ImportDeclaration */); + var node = createBaseDeclaration(269 /* SyntaxKind.ImportDeclaration */); node.modifiers = asNodeArray(modifiers); node.importClause = importClause; node.moduleSpecifier = moduleSpecifier; @@ -25687,7 +25714,7 @@ var ts; } // @api function createImportClause(isTypeOnly, name, namedBindings) { - var node = createBaseNode(267 /* SyntaxKind.ImportClause */); + var node = createBaseNode(270 /* SyntaxKind.ImportClause */); node.isTypeOnly = isTypeOnly; node.name = name; node.namedBindings = namedBindings; @@ -25710,7 +25737,7 @@ var ts; } // @api function createAssertClause(elements, multiLine) { - var node = createBaseNode(293 /* SyntaxKind.AssertClause */); + var node = createBaseNode(296 /* SyntaxKind.AssertClause */); node.elements = createNodeArray(elements); node.multiLine = multiLine; node.transformFlags |= 4 /* TransformFlags.ContainsESNext */; @@ -25725,7 +25752,7 @@ var ts; } // @api function createAssertEntry(name, value) { - var node = createBaseNode(294 /* SyntaxKind.AssertEntry */); + var node = createBaseNode(297 /* SyntaxKind.AssertEntry */); node.name = name; node.value = value; node.transformFlags |= 4 /* TransformFlags.ContainsESNext */; @@ -25740,7 +25767,7 @@ var ts; } // @api function createImportTypeAssertionContainer(clause, multiLine) { - var node = createBaseNode(295 /* SyntaxKind.ImportTypeAssertionContainer */); + var node = createBaseNode(298 /* SyntaxKind.ImportTypeAssertionContainer */); node.assertClause = clause; node.multiLine = multiLine; return node; @@ -25754,7 +25781,7 @@ var ts; } // @api function createNamespaceImport(name) { - var node = createBaseNode(268 /* SyntaxKind.NamespaceImport */); + var node = createBaseNode(271 /* SyntaxKind.NamespaceImport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -25768,7 +25795,7 @@ var ts; } // @api function createNamespaceExport(name) { - var node = createBaseNode(274 /* SyntaxKind.NamespaceExport */); + var node = createBaseNode(277 /* SyntaxKind.NamespaceExport */); node.name = name; node.transformFlags |= propagateChildFlags(node.name) | @@ -25784,7 +25811,7 @@ var ts; } // @api function createNamedImports(elements) { - var node = createBaseNode(269 /* SyntaxKind.NamedImports */); + var node = createBaseNode(272 /* SyntaxKind.NamedImports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -25798,7 +25825,7 @@ var ts; } // @api function createImportSpecifier(isTypeOnly, propertyName, name) { - var node = createBaseNode(270 /* SyntaxKind.ImportSpecifier */); + var node = createBaseNode(273 /* SyntaxKind.ImportSpecifier */); node.isTypeOnly = isTypeOnly; node.propertyName = propertyName; node.name = name; @@ -25818,7 +25845,7 @@ var ts; } // @api function createExportAssignment(modifiers, isExportEquals, expression) { - var node = createBaseDeclaration(271 /* SyntaxKind.ExportAssignment */); + var node = createBaseDeclaration(274 /* SyntaxKind.ExportAssignment */); node.modifiers = asNodeArray(modifiers); node.isExportEquals = isExportEquals; node.expression = isExportEquals @@ -25845,7 +25872,7 @@ var ts; } // @api function createExportDeclaration(modifiers, isTypeOnly, exportClause, moduleSpecifier, assertClause) { - var node = createBaseDeclaration(272 /* SyntaxKind.ExportDeclaration */); + var node = createBaseDeclaration(275 /* SyntaxKind.ExportDeclaration */); node.modifiers = asNodeArray(modifiers); node.isTypeOnly = isTypeOnly; node.exportClause = exportClause; @@ -25878,7 +25905,7 @@ var ts; } // @api function createNamedExports(elements) { - var node = createBaseNode(273 /* SyntaxKind.NamedExports */); + var node = createBaseNode(276 /* SyntaxKind.NamedExports */); node.elements = createNodeArray(elements); node.transformFlags |= propagateChildrenFlags(node.elements); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -25892,7 +25919,7 @@ var ts; } // @api function createExportSpecifier(isTypeOnly, propertyName, name) { - var node = createBaseNode(275 /* SyntaxKind.ExportSpecifier */); + var node = createBaseNode(278 /* SyntaxKind.ExportSpecifier */); node.isTypeOnly = isTypeOnly; node.propertyName = asName(propertyName); node.name = asName(name); @@ -25912,7 +25939,7 @@ var ts; } // @api function createMissingDeclaration() { - var node = createBaseDeclaration(276 /* SyntaxKind.MissingDeclaration */); + var node = createBaseDeclaration(279 /* SyntaxKind.MissingDeclaration */); return node; } // @@ -25920,7 +25947,7 @@ var ts; // // @api function createExternalModuleReference(expression) { - var node = createBaseNode(277 /* SyntaxKind.ExternalModuleReference */); + var node = createBaseNode(280 /* SyntaxKind.ExternalModuleReference */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression); node.transformFlags &= ~67108864 /* TransformFlags.ContainsPossibleTopLevelAwait */; // always parsed in an Await context @@ -25978,9 +26005,9 @@ var ts; } // @api function createJSDocFunctionType(parameters, type) { - var node = createBaseSignatureDeclaration(317 /* SyntaxKind.JSDocFunctionType */, - /*modifiers*/ undefined, - /*name*/ undefined, + var node = createBaseSignatureDeclaration(320 /* SyntaxKind.JSDocFunctionType */, + /*modifiers*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, parameters, type); return node; } @@ -25994,7 +26021,7 @@ var ts; // @api function createJSDocTypeLiteral(propertyTags, isArrayType) { if (isArrayType === void 0) { isArrayType = false; } - var node = createBaseNode(322 /* SyntaxKind.JSDocTypeLiteral */); + var node = createBaseNode(325 /* SyntaxKind.JSDocTypeLiteral */); node.jsDocPropertyTags = asNodeArray(propertyTags); node.isArrayType = isArrayType; return node; @@ -26008,7 +26035,7 @@ var ts; } // @api function createJSDocTypeExpression(type) { - var node = createBaseNode(309 /* SyntaxKind.JSDocTypeExpression */); + var node = createBaseNode(312 /* SyntaxKind.JSDocTypeExpression */); node.type = type; return node; } @@ -26020,7 +26047,7 @@ var ts; } // @api function createJSDocSignature(typeParameters, parameters, type) { - var node = createBaseNode(323 /* SyntaxKind.JSDocSignature */); + var node = createBaseNode(326 /* SyntaxKind.JSDocSignature */); node.typeParameters = asNodeArray(typeParameters); node.parameters = createNodeArray(parameters); node.type = type; @@ -26049,7 +26076,7 @@ var ts; } // @api function createJSDocTemplateTag(tagName, constraint, typeParameters, comment) { - var node = createBaseJSDocTag(344 /* SyntaxKind.JSDocTemplateTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("template"), comment); + var node = createBaseJSDocTag(347 /* SyntaxKind.JSDocTemplateTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("template"), comment); node.constraint = constraint; node.typeParameters = createNodeArray(typeParameters); return node; @@ -26066,7 +26093,7 @@ var ts; } // @api function createJSDocTypedefTag(tagName, typeExpression, fullName, comment) { - var node = createBaseJSDocTag(345 /* SyntaxKind.JSDocTypedefTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("typedef"), comment); + var node = createBaseJSDocTag(348 /* SyntaxKind.JSDocTypedefTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("typedef"), comment); node.typeExpression = typeExpression; node.fullName = fullName; node.name = ts.getJSDocTypeAliasName(fullName); @@ -26084,7 +26111,7 @@ var ts; } // @api function createJSDocParameterTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) { - var node = createBaseJSDocTag(340 /* SyntaxKind.JSDocParameterTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("param"), comment); + var node = createBaseJSDocTag(343 /* SyntaxKind.JSDocParameterTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("param"), comment); node.typeExpression = typeExpression; node.name = name; node.isNameFirst = !!isNameFirst; @@ -26105,7 +26132,7 @@ var ts; } // @api function createJSDocPropertyTag(tagName, name, isBracketed, typeExpression, isNameFirst, comment) { - var node = createBaseJSDocTag(347 /* SyntaxKind.JSDocPropertyTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("prop"), comment); + var node = createBaseJSDocTag(350 /* SyntaxKind.JSDocPropertyTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("prop"), comment); node.typeExpression = typeExpression; node.name = name; node.isNameFirst = !!isNameFirst; @@ -26126,7 +26153,7 @@ var ts; } // @api function createJSDocCallbackTag(tagName, typeExpression, fullName, comment) { - var node = createBaseJSDocTag(338 /* SyntaxKind.JSDocCallbackTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("callback"), comment); + var node = createBaseJSDocTag(341 /* SyntaxKind.JSDocCallbackTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("callback"), comment); node.typeExpression = typeExpression; node.fullName = fullName; node.name = ts.getJSDocTypeAliasName(fullName); @@ -26144,7 +26171,7 @@ var ts; } // @api function createJSDocAugmentsTag(tagName, className, comment) { - var node = createBaseJSDocTag(328 /* SyntaxKind.JSDocAugmentsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("augments"), comment); + var node = createBaseJSDocTag(331 /* SyntaxKind.JSDocAugmentsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("augments"), comment); node.class = className; return node; } @@ -26159,13 +26186,13 @@ var ts; } // @api function createJSDocImplementsTag(tagName, className, comment) { - var node = createBaseJSDocTag(329 /* SyntaxKind.JSDocImplementsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("implements"), comment); + var node = createBaseJSDocTag(332 /* SyntaxKind.JSDocImplementsTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("implements"), comment); node.class = className; return node; } // @api function createJSDocSeeTag(tagName, name, comment) { - var node = createBaseJSDocTag(346 /* SyntaxKind.JSDocSeeTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("see"), comment); + var node = createBaseJSDocTag(349 /* SyntaxKind.JSDocSeeTag */, tagName !== null && tagName !== void 0 ? tagName : createIdentifier("see"), comment); node.name = name; return node; } @@ -26179,7 +26206,7 @@ var ts; } // @api function createJSDocNameReference(name) { - var node = createBaseNode(310 /* SyntaxKind.JSDocNameReference */); + var node = createBaseNode(313 /* SyntaxKind.JSDocNameReference */); node.name = name; return node; } @@ -26191,7 +26218,7 @@ var ts; } // @api function createJSDocMemberName(left, right) { - var node = createBaseNode(311 /* SyntaxKind.JSDocMemberName */); + var node = createBaseNode(314 /* SyntaxKind.JSDocMemberName */); node.left = left; node.right = right; node.transformFlags |= @@ -26208,7 +26235,7 @@ var ts; } // @api function createJSDocLink(name, text) { - var node = createBaseNode(324 /* SyntaxKind.JSDocLink */); + var node = createBaseNode(327 /* SyntaxKind.JSDocLink */); node.name = name; node.text = text; return node; @@ -26221,7 +26248,7 @@ var ts; } // @api function createJSDocLinkCode(name, text) { - var node = createBaseNode(325 /* SyntaxKind.JSDocLinkCode */); + var node = createBaseNode(328 /* SyntaxKind.JSDocLinkCode */); node.name = name; node.text = text; return node; @@ -26234,7 +26261,7 @@ var ts; } // @api function createJSDocLinkPlain(name, text) { - var node = createBaseNode(326 /* SyntaxKind.JSDocLinkPlain */); + var node = createBaseNode(329 /* SyntaxKind.JSDocLinkPlain */); node.name = name; node.text = text; return node; @@ -26306,7 +26333,7 @@ var ts; } // @api function createJSDocUnknownTag(tagName, comment) { - var node = createBaseJSDocTag(327 /* SyntaxKind.JSDocTag */, tagName, comment); + var node = createBaseJSDocTag(330 /* SyntaxKind.JSDocTag */, tagName, comment); return node; } // @api @@ -26318,7 +26345,7 @@ var ts; } // @api function createJSDocText(text) { - var node = createBaseNode(321 /* SyntaxKind.JSDocText */); + var node = createBaseNode(324 /* SyntaxKind.JSDocText */); node.text = text; return node; } @@ -26330,7 +26357,7 @@ var ts; } // @api function createJSDocComment(comment, tags) { - var node = createBaseNode(320 /* SyntaxKind.JSDoc */); + var node = createBaseNode(323 /* SyntaxKind.JSDoc */); node.comment = comment; node.tags = asNodeArray(tags); return node; @@ -26347,7 +26374,7 @@ var ts; // // @api function createJsxElement(openingElement, children, closingElement) { - var node = createBaseNode(278 /* SyntaxKind.JsxElement */); + var node = createBaseNode(281 /* SyntaxKind.JsxElement */); node.openingElement = openingElement; node.children = createNodeArray(children); node.closingElement = closingElement; @@ -26368,7 +26395,7 @@ var ts; } // @api function createJsxSelfClosingElement(tagName, typeArguments, attributes) { - var node = createBaseNode(279 /* SyntaxKind.JsxSelfClosingElement */); + var node = createBaseNode(282 /* SyntaxKind.JsxSelfClosingElement */); node.tagName = tagName; node.typeArguments = asNodeArray(typeArguments); node.attributes = attributes; @@ -26392,7 +26419,7 @@ var ts; } // @api function createJsxOpeningElement(tagName, typeArguments, attributes) { - var node = createBaseNode(280 /* SyntaxKind.JsxOpeningElement */); + var node = createBaseNode(283 /* SyntaxKind.JsxOpeningElement */); node.tagName = tagName; node.typeArguments = asNodeArray(typeArguments); node.attributes = attributes; @@ -26416,7 +26443,7 @@ var ts; } // @api function createJsxClosingElement(tagName) { - var node = createBaseNode(281 /* SyntaxKind.JsxClosingElement */); + var node = createBaseNode(284 /* SyntaxKind.JsxClosingElement */); node.tagName = tagName; node.transformFlags |= propagateChildFlags(node.tagName) | @@ -26431,7 +26458,7 @@ var ts; } // @api function createJsxFragment(openingFragment, children, closingFragment) { - var node = createBaseNode(282 /* SyntaxKind.JsxFragment */); + var node = createBaseNode(285 /* SyntaxKind.JsxFragment */); node.openingFragment = openingFragment; node.children = createNodeArray(children); node.closingFragment = closingFragment; @@ -26467,19 +26494,19 @@ var ts; } // @api function createJsxOpeningFragment() { - var node = createBaseNode(283 /* SyntaxKind.JsxOpeningFragment */); + var node = createBaseNode(286 /* SyntaxKind.JsxOpeningFragment */); node.transformFlags |= 2 /* TransformFlags.ContainsJsx */; return node; } // @api function createJsxJsxClosingFragment() { - var node = createBaseNode(284 /* SyntaxKind.JsxClosingFragment */); + var node = createBaseNode(287 /* SyntaxKind.JsxClosingFragment */); node.transformFlags |= 2 /* TransformFlags.ContainsJsx */; return node; } // @api function createJsxAttribute(name, initializer) { - var node = createBaseNode(285 /* SyntaxKind.JsxAttribute */); + var node = createBaseNode(288 /* SyntaxKind.JsxAttribute */); node.name = name; node.initializer = initializer; node.transformFlags |= @@ -26497,7 +26524,7 @@ var ts; } // @api function createJsxAttributes(properties) { - var node = createBaseNode(286 /* SyntaxKind.JsxAttributes */); + var node = createBaseNode(289 /* SyntaxKind.JsxAttributes */); node.properties = createNodeArray(properties); node.transformFlags |= propagateChildrenFlags(node.properties) | @@ -26512,7 +26539,7 @@ var ts; } // @api function createJsxSpreadAttribute(expression) { - var node = createBaseNode(287 /* SyntaxKind.JsxSpreadAttribute */); + var node = createBaseNode(290 /* SyntaxKind.JsxSpreadAttribute */); node.expression = expression; node.transformFlags |= propagateChildFlags(node.expression) | @@ -26527,7 +26554,7 @@ var ts; } // @api function createJsxExpression(dotDotDotToken, expression) { - var node = createBaseNode(288 /* SyntaxKind.JsxExpression */); + var node = createBaseNode(291 /* SyntaxKind.JsxExpression */); node.dotDotDotToken = dotDotDotToken; node.expression = expression; node.transformFlags |= @@ -26547,7 +26574,7 @@ var ts; // // @api function createCaseClause(expression, statements) { - var node = createBaseNode(289 /* SyntaxKind.CaseClause */); + var node = createBaseNode(292 /* SyntaxKind.CaseClause */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.statements = createNodeArray(statements); node.transformFlags |= @@ -26564,7 +26591,7 @@ var ts; } // @api function createDefaultClause(statements) { - var node = createBaseNode(290 /* SyntaxKind.DefaultClause */); + var node = createBaseNode(293 /* SyntaxKind.DefaultClause */); node.statements = createNodeArray(statements); node.transformFlags = propagateChildrenFlags(node.statements); return node; @@ -26577,7 +26604,7 @@ var ts; } // @api function createHeritageClause(token, types) { - var node = createBaseNode(291 /* SyntaxKind.HeritageClause */); + var node = createBaseNode(294 /* SyntaxKind.HeritageClause */); node.token = token; node.types = createNodeArray(types); node.transformFlags |= propagateChildrenFlags(node.types); @@ -26601,11 +26628,11 @@ var ts; } // @api function createCatchClause(variableDeclaration, block) { - var node = createBaseNode(292 /* SyntaxKind.CatchClause */); + var node = createBaseNode(295 /* SyntaxKind.CatchClause */); if (typeof variableDeclaration === "string" || variableDeclaration && !ts.isVariableDeclaration(variableDeclaration)) { - variableDeclaration = createVariableDeclaration(variableDeclaration, - /*exclamationToken*/ undefined, - /*type*/ undefined, + variableDeclaration = createVariableDeclaration(variableDeclaration, + /*exclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } node.variableDeclaration = variableDeclaration; @@ -26629,7 +26656,7 @@ var ts; // // @api function createPropertyAssignment(name, initializer) { - var node = createBaseNamedDeclaration(296 /* SyntaxKind.PropertyAssignment */, + var node = createBaseNamedDeclaration(299 /* SyntaxKind.PropertyAssignment */, /*modifiers*/ undefined, name); node.initializer = parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); node.transformFlags |= @@ -26661,7 +26688,7 @@ var ts; } // @api function createShorthandPropertyAssignment(name, objectAssignmentInitializer) { - var node = createBaseNamedDeclaration(297 /* SyntaxKind.ShorthandPropertyAssignment */, + var node = createBaseNamedDeclaration(300 /* SyntaxKind.ShorthandPropertyAssignment */, /*modifiers*/ undefined, name); node.objectAssignmentInitializer = objectAssignmentInitializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(objectAssignmentInitializer); node.transformFlags |= @@ -26695,7 +26722,7 @@ var ts; } // @api function createSpreadAssignment(expression) { - var node = createBaseNode(298 /* SyntaxKind.SpreadAssignment */); + var node = createBaseNode(301 /* SyntaxKind.SpreadAssignment */); node.expression = parenthesizerRules().parenthesizeExpressionForDisallowedComma(expression); node.transformFlags |= propagateChildFlags(node.expression) | @@ -26714,7 +26741,7 @@ var ts; // // @api function createEnumMember(name, initializer) { - var node = createBaseNode(299 /* SyntaxKind.EnumMember */); + var node = createBaseNode(302 /* SyntaxKind.EnumMember */); node.name = asName(name); node.initializer = initializer && parenthesizerRules().parenthesizeExpressionForDisallowedComma(initializer); node.transformFlags |= @@ -26735,7 +26762,7 @@ var ts; // // @api function createSourceFile(statements, endOfFileToken, flags) { - var node = baseFactory.createBaseSourceFileNode(305 /* SyntaxKind.SourceFile */); + var node = baseFactory.createBaseSourceFileNode(308 /* SyntaxKind.SourceFile */); node.statements = createNodeArray(statements); node.endOfFileToken = endOfFileToken; node.flags |= flags; @@ -26752,7 +26779,7 @@ var ts; return node; } function cloneSourceFileWithChanges(source, statements, isDeclarationFile, referencedFiles, typeReferences, hasNoDefaultLib, libReferences) { - var node = (source.redirectInfo ? Object.create(source.redirectInfo.redirectTarget) : baseFactory.createBaseSourceFileNode(305 /* SyntaxKind.SourceFile */)); + var node = (source.redirectInfo ? Object.create(source.redirectInfo.redirectTarget) : baseFactory.createBaseSourceFileNode(308 /* SyntaxKind.SourceFile */)); for (var p in source) { if (p === "emitNode" || ts.hasProperty(node, p) || !ts.hasProperty(source, p)) continue; @@ -26791,7 +26818,7 @@ var ts; // @api function createBundle(sourceFiles, prepends) { if (prepends === void 0) { prepends = ts.emptyArray; } - var node = createBaseNode(306 /* SyntaxKind.Bundle */); + var node = createBaseNode(309 /* SyntaxKind.Bundle */); node.prepends = prepends; node.sourceFiles = sourceFiles; return node; @@ -26806,7 +26833,7 @@ var ts; } // @api function createUnparsedSource(prologues, syntheticReferences, texts) { - var node = createBaseNode(307 /* SyntaxKind.UnparsedSource */); + var node = createBaseNode(310 /* SyntaxKind.UnparsedSource */); node.prologues = prologues; node.syntheticReferences = syntheticReferences; node.texts = texts; @@ -26824,28 +26851,28 @@ var ts; } // @api function createUnparsedPrologue(data) { - return createBaseUnparsedNode(300 /* SyntaxKind.UnparsedPrologue */, data); + return createBaseUnparsedNode(303 /* SyntaxKind.UnparsedPrologue */, data); } // @api function createUnparsedPrepend(data, texts) { - var node = createBaseUnparsedNode(301 /* SyntaxKind.UnparsedPrepend */, data); + var node = createBaseUnparsedNode(304 /* SyntaxKind.UnparsedPrepend */, data); node.texts = texts; return node; } // @api function createUnparsedTextLike(data, internal) { - return createBaseUnparsedNode(internal ? 303 /* SyntaxKind.UnparsedInternalText */ : 302 /* SyntaxKind.UnparsedText */, data); + return createBaseUnparsedNode(internal ? 306 /* SyntaxKind.UnparsedInternalText */ : 305 /* SyntaxKind.UnparsedText */, data); } // @api function createUnparsedSyntheticReference(section) { - var node = createBaseNode(304 /* SyntaxKind.UnparsedSyntheticReference */); + var node = createBaseNode(307 /* SyntaxKind.UnparsedSyntheticReference */); node.data = section.data; node.section = section; return node; } // @api function createInputFiles() { - var node = createBaseNode(308 /* SyntaxKind.InputFiles */); + var node = createBaseNode(311 /* SyntaxKind.InputFiles */); node.javascriptText = ""; node.declarationText = ""; return node; @@ -26856,7 +26883,7 @@ var ts; // @api function createSyntheticExpression(type, isSpread, tupleNameSource) { if (isSpread === void 0) { isSpread = false; } - var node = createBaseNode(232 /* SyntaxKind.SyntheticExpression */); + var node = createBaseNode(234 /* SyntaxKind.SyntheticExpression */); node.type = type; node.isSpread = isSpread; node.tupleNameSource = tupleNameSource; @@ -26864,7 +26891,7 @@ var ts; } // @api function createSyntaxList(children) { - var node = createBaseNode(348 /* SyntaxKind.SyntaxList */); + var node = createBaseNode(351 /* SyntaxKind.SyntaxList */); node._children = children; return node; } @@ -26879,7 +26906,7 @@ var ts; */ // @api function createNotEmittedStatement(original) { - var node = createBaseNode(349 /* SyntaxKind.NotEmittedStatement */); + var node = createBaseNode(352 /* SyntaxKind.NotEmittedStatement */); node.original = original; ts.setTextRange(node, original); return node; @@ -26893,7 +26920,7 @@ var ts; */ // @api function createPartiallyEmittedExpression(expression, original) { - var node = createBaseNode(350 /* SyntaxKind.PartiallyEmittedExpression */); + var node = createBaseNode(353 /* SyntaxKind.PartiallyEmittedExpression */); node.expression = expression; node.original = original; node.transformFlags |= @@ -26921,7 +26948,7 @@ var ts; } // @api function createCommaListExpression(elements) { - var node = createBaseNode(351 /* SyntaxKind.CommaListExpression */); + var node = createBaseNode(354 /* SyntaxKind.CommaListExpression */); node.elements = createNodeArray(ts.sameFlatMap(elements, flattenCommaElements)); node.transformFlags |= propagateChildrenFlags(node.elements); return node; @@ -26938,7 +26965,7 @@ var ts; */ // @api function createEndOfDeclarationMarker(original) { - var node = createBaseNode(353 /* SyntaxKind.EndOfDeclarationMarker */); + var node = createBaseNode(356 /* SyntaxKind.EndOfDeclarationMarker */); node.emitNode = {}; node.original = original; return node; @@ -26949,14 +26976,14 @@ var ts; */ // @api function createMergeDeclarationMarker(original) { - var node = createBaseNode(352 /* SyntaxKind.MergeDeclarationMarker */); + var node = createBaseNode(355 /* SyntaxKind.MergeDeclarationMarker */); node.emitNode = {}; node.original = original; return node; } // @api function createSyntheticReferenceExpression(expression, thisArg) { - var node = createBaseNode(354 /* SyntaxKind.SyntheticReferenceExpression */); + var node = createBaseNode(357 /* SyntaxKind.SyntheticReferenceExpression */); node.expression = expression; node.thisArg = thisArg; node.transformFlags |= @@ -26978,7 +27005,7 @@ var ts; if (node === undefined) { return node; } - var clone = ts.isSourceFile(node) ? baseFactory.createBaseSourceFileNode(305 /* SyntaxKind.SourceFile */) : + var clone = ts.isSourceFile(node) ? baseFactory.createBaseSourceFileNode(308 /* SyntaxKind.SourceFile */) : ts.isIdentifier(node) ? baseFactory.createBaseIdentifierNode(79 /* SyntaxKind.Identifier */) : ts.isPrivateIdentifier(node) ? baseFactory.createBasePrivateIdentifierNode(80 /* SyntaxKind.PrivateIdentifier */) : !ts.isNodeKind(node.kind) ? baseFactory.createBaseTokenNode(node.kind) : @@ -26987,7 +27014,7 @@ var ts; clone.transformFlags = node.transformFlags; setOriginalNode(clone, node); for (var key in node) { - if (clone.hasOwnProperty(key) || !node.hasOwnProperty(key)) { + if (ts.hasProperty(clone, key) || !ts.hasProperty(node, key)) { continue; } clone[key] = node[key]; @@ -26996,23 +27023,23 @@ var ts; } function createImmediatelyInvokedFunctionExpression(statements, param, paramValue) { return createCallExpression(createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ param ? [param] : [], - /*type*/ undefined, createBlock(statements, /*multiLine*/ true)), - /*typeArguments*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ param ? [param] : [], + /*type*/ undefined, createBlock(statements, /*multiLine*/ true)), + /*typeArguments*/ undefined, /*argumentsArray*/ paramValue ? [paramValue] : []); } function createImmediatelyInvokedArrowFunction(statements, param, paramValue) { return createCallExpression(createArrowFunction( - /*modifiers*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ param ? [param] : [], - /*type*/ undefined, - /*equalsGreaterThanToken*/ undefined, createBlock(statements, /*multiLine*/ true)), - /*typeArguments*/ undefined, + /*modifiers*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ param ? [param] : [], + /*type*/ undefined, + /*equalsGreaterThanToken*/ undefined, createBlock(statements, /*multiLine*/ true)), + /*typeArguments*/ undefined, /*argumentsArray*/ paramValue ? [paramValue] : []); } function createVoidZero() { @@ -27020,12 +27047,12 @@ var ts; } function createExportDefault(expression) { return createExportAssignment( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isExportEquals*/ false, expression); } function createExternalModuleExport(exportName) { return createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, createNamedExports([ createExportSpecifier(/*isTypeOnly*/ false, /*propertyName*/ undefined, exportName) ])); @@ -27041,11 +27068,11 @@ var ts; function createMethodCall(object, methodName, argumentsList) { // Preserve the optionality of `object`. if (ts.isCallChain(object)) { - return createCallChain(createPropertyAccessChain(object, /*questionDotToken*/ undefined, methodName), - /*questionDotToken*/ undefined, + return createCallChain(createPropertyAccessChain(object, /*questionDotToken*/ undefined, methodName), + /*questionDotToken*/ undefined, /*typeArguments*/ undefined, argumentsList); } - return createCallExpression(createPropertyAccessExpression(object, methodName), + return createCallExpression(createPropertyAccessExpression(object, methodName), /*typeArguments*/ undefined, argumentsList); } function createFunctionBindCall(target, thisArg, argumentsList) { @@ -27095,11 +27122,12 @@ var ts; } function updateOuterExpression(outerExpression, expression) { switch (outerExpression.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: return updateParenthesizedExpression(outerExpression, expression); - case 211 /* SyntaxKind.TypeAssertionExpression */: return updateTypeAssertion(outerExpression, outerExpression.type, expression); - case 229 /* SyntaxKind.AsExpression */: return updateAsExpression(outerExpression, expression, outerExpression.type); - case 230 /* SyntaxKind.NonNullExpression */: return updateNonNullExpression(outerExpression, expression); - case 350 /* SyntaxKind.PartiallyEmittedExpression */: return updatePartiallyEmittedExpression(outerExpression, expression); + case 214 /* SyntaxKind.ParenthesizedExpression */: return updateParenthesizedExpression(outerExpression, expression); + case 213 /* SyntaxKind.TypeAssertionExpression */: return updateTypeAssertion(outerExpression, outerExpression.type, expression); + case 231 /* SyntaxKind.AsExpression */: return updateAsExpression(outerExpression, expression, outerExpression.type); + case 235 /* SyntaxKind.SatisfiesExpression */: return updateSatisfiesExpression(outerExpression, expression, outerExpression.type); + case 232 /* SyntaxKind.NonNullExpression */: return updateNonNullExpression(outerExpression, expression); + case 353 /* SyntaxKind.PartiallyEmittedExpression */: return updatePartiallyEmittedExpression(outerExpression, expression); } } /** @@ -27153,13 +27181,13 @@ var ts; case 9 /* SyntaxKind.BigIntLiteral */: case 10 /* SyntaxKind.StringLiteral */: return false; - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: var elements = target.elements; if (elements.length === 0) { return false; } return true; - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return target.properties.length > 0; default: return true; @@ -27221,10 +27249,10 @@ var ts; createParenthesizedExpression(createObjectLiteralExpression([ createSetAccessorDeclaration( /*modifiers*/ undefined, "value", [createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, paramName, - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, paramName, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined)], createBlock([ createExpressionStatement(expression) ])) @@ -27585,24 +27613,24 @@ var ts; } function getDefaultTagNameForKind(kind) { switch (kind) { - case 343 /* SyntaxKind.JSDocTypeTag */: return "type"; - case 341 /* SyntaxKind.JSDocReturnTag */: return "returns"; - case 342 /* SyntaxKind.JSDocThisTag */: return "this"; - case 339 /* SyntaxKind.JSDocEnumTag */: return "enum"; - case 330 /* SyntaxKind.JSDocAuthorTag */: return "author"; - case 332 /* SyntaxKind.JSDocClassTag */: return "class"; - case 333 /* SyntaxKind.JSDocPublicTag */: return "public"; - case 334 /* SyntaxKind.JSDocPrivateTag */: return "private"; - case 335 /* SyntaxKind.JSDocProtectedTag */: return "protected"; - case 336 /* SyntaxKind.JSDocReadonlyTag */: return "readonly"; - case 337 /* SyntaxKind.JSDocOverrideTag */: return "override"; - case 344 /* SyntaxKind.JSDocTemplateTag */: return "template"; - case 345 /* SyntaxKind.JSDocTypedefTag */: return "typedef"; - case 340 /* SyntaxKind.JSDocParameterTag */: return "param"; - case 347 /* SyntaxKind.JSDocPropertyTag */: return "prop"; - case 338 /* SyntaxKind.JSDocCallbackTag */: return "callback"; - case 328 /* SyntaxKind.JSDocAugmentsTag */: return "augments"; - case 329 /* SyntaxKind.JSDocImplementsTag */: return "implements"; + case 346 /* SyntaxKind.JSDocTypeTag */: return "type"; + case 344 /* SyntaxKind.JSDocReturnTag */: return "returns"; + case 345 /* SyntaxKind.JSDocThisTag */: return "this"; + case 342 /* SyntaxKind.JSDocEnumTag */: return "enum"; + case 333 /* SyntaxKind.JSDocAuthorTag */: return "author"; + case 335 /* SyntaxKind.JSDocClassTag */: return "class"; + case 336 /* SyntaxKind.JSDocPublicTag */: return "public"; + case 337 /* SyntaxKind.JSDocPrivateTag */: return "private"; + case 338 /* SyntaxKind.JSDocProtectedTag */: return "protected"; + case 339 /* SyntaxKind.JSDocReadonlyTag */: return "readonly"; + case 340 /* SyntaxKind.JSDocOverrideTag */: return "override"; + case 347 /* SyntaxKind.JSDocTemplateTag */: return "template"; + case 348 /* SyntaxKind.JSDocTypedefTag */: return "typedef"; + case 343 /* SyntaxKind.JSDocParameterTag */: return "param"; + case 350 /* SyntaxKind.JSDocPropertyTag */: return "prop"; + case 341 /* SyntaxKind.JSDocCallbackTag */: return "callback"; + case 331 /* SyntaxKind.JSDocAugmentsTag */: return "augments"; + case 332 /* SyntaxKind.JSDocImplementsTag */: return "implements"; default: return ts.Debug.fail("Unsupported kind: ".concat(ts.Debug.formatSyntaxKind(kind))); } @@ -27618,11 +27646,9 @@ var ts; rawTextScanner.setText("`" + rawText + "`"); break; case 15 /* SyntaxKind.TemplateHead */: - // tslint:disable-next-line no-invalid-template-strings rawTextScanner.setText("`" + rawText + "${"); break; case 16 /* SyntaxKind.TemplateMiddle */: - // tslint:disable-next-line no-invalid-template-strings rawTextScanner.setText("}" + rawText + "${"); break; case 17 /* SyntaxKind.TemplateTail */: @@ -27682,69 +27708,70 @@ var ts; */ /* @internal */ function getTransformFlagsSubtreeExclusions(kind) { - if (kind >= 177 /* SyntaxKind.FirstTypeNode */ && kind <= 200 /* SyntaxKind.LastTypeNode */) { + if (kind >= 179 /* SyntaxKind.FirstTypeNode */ && kind <= 202 /* SyntaxKind.LastTypeNode */) { return -2 /* TransformFlags.TypeExcludes */; } switch (kind) { - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return -2147450880 /* TransformFlags.ArrayLiteralOrCallOrNewExcludes */; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return -1941676032 /* TransformFlags.ModuleExcludes */; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return -2147483648 /* TransformFlags.ParameterExcludes */; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return -2072174592 /* TransformFlags.ArrowFunctionExcludes */; - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: return -1937940480 /* TransformFlags.FunctionExcludes */; - case 255 /* SyntaxKind.VariableDeclarationList */: + case 258 /* SyntaxKind.VariableDeclarationList */: return -2146893824 /* TransformFlags.VariableDeclarationListExcludes */; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return -2147344384 /* TransformFlags.ClassExcludes */; - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return -1937948672 /* TransformFlags.ConstructorExcludes */; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return -2013249536 /* TransformFlags.PropertyExcludes */; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return -2005057536 /* TransformFlags.MethodOrAccessorExcludes */; - case 130 /* SyntaxKind.AnyKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: case 114 /* SyntaxKind.VoidKeyword */: - case 163 /* SyntaxKind.TypeParameter */: - case 166 /* SyntaxKind.PropertySignature */: - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 165 /* SyntaxKind.TypeParameter */: + case 168 /* SyntaxKind.PropertySignature */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return -2 /* TransformFlags.TypeExcludes */; - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return -2147278848 /* TransformFlags.ObjectLiteralExcludes */; - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return -2147418112 /* TransformFlags.CatchClauseExcludes */; - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: return -2147450880 /* TransformFlags.BindingPatternExcludes */; - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: - case 350 /* SyntaxKind.PartiallyEmittedExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: + case 231 /* SyntaxKind.AsExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: case 106 /* SyntaxKind.SuperKeyword */: return -2147483648 /* TransformFlags.OuterExpressionExcludes */; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return -2147483648 /* TransformFlags.PropertyAccessExcludes */; default: return -2147483648 /* TransformFlags.NodeExcludes */; @@ -27944,9 +27971,10 @@ var ts; }; var buildInfo_1; var getAndCacheBuildInfo_1 = function (getText) { + var _a; if (buildInfo_1 === undefined) { var result = getText(); - buildInfo_1 = result !== undefined ? ts.getBuildInfo(result) : false; + buildInfo_1 = result !== undefined ? (_a = ts.getBuildInfo(node.buildInfoPath, result)) !== null && _a !== void 0 ? _a : false : false; } return buildInfo_1 || undefined; }; @@ -27979,7 +28007,6 @@ var ts; return node; } ts.createInputFiles = createInputFiles; - // tslint:disable-next-line variable-name var SourceMapSource; /** * Create an external source map source file reference @@ -28000,7 +28027,7 @@ var ts; } ts.setOriginalNode = setOriginalNode; function mergeEmitNode(sourceEmitNode, destEmitNode) { - var flags = sourceEmitNode.flags, leadingComments = sourceEmitNode.leadingComments, trailingComments = sourceEmitNode.trailingComments, commentRange = sourceEmitNode.commentRange, sourceMapRange = sourceEmitNode.sourceMapRange, tokenSourceMapRanges = sourceEmitNode.tokenSourceMapRanges, constantValue = sourceEmitNode.constantValue, helpers = sourceEmitNode.helpers, startsOnNewLine = sourceEmitNode.startsOnNewLine; + var flags = sourceEmitNode.flags, leadingComments = sourceEmitNode.leadingComments, trailingComments = sourceEmitNode.trailingComments, commentRange = sourceEmitNode.commentRange, sourceMapRange = sourceEmitNode.sourceMapRange, tokenSourceMapRanges = sourceEmitNode.tokenSourceMapRanges, constantValue = sourceEmitNode.constantValue, helpers = sourceEmitNode.helpers, startsOnNewLine = sourceEmitNode.startsOnNewLine, snippetElement = sourceEmitNode.snippetElement; if (!destEmitNode) destEmitNode = {}; // We are using `.slice()` here in case `destEmitNode.leadingComments` is pushed to later. @@ -28026,6 +28053,8 @@ var ts; } if (startsOnNewLine !== undefined) destEmitNode.startsOnNewLine = startsOnNewLine; + if (snippetElement !== undefined) + destEmitNode.snippetElement = snippetElement; return destEmitNode; } function mergeTokenSourceMapRanges(sourceRanges, destRanges) { @@ -28051,7 +28080,7 @@ var ts; // To avoid holding onto transformation artifacts, we keep track of any // parse tree node we are annotating. This allows us to clean them up after // all transformations have completed. - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { return node.emitNode = { annotatedNodes: [node] }; } var sourceFile = (_a = ts.getSourceFileOfNode(ts.getParseTreeNode(ts.getSourceFileOfNode(node)))) !== null && _a !== void 0 ? _a : ts.Debug.fail("Could not determine parsed source file."); @@ -28407,12 +28436,12 @@ var ts; argumentsArray.push(descriptor); } } - return factory.createCallExpression(getUnscopedHelperName("__decorate"), + return factory.createCallExpression(getUnscopedHelperName("__decorate"), /*typeArguments*/ undefined, argumentsArray); } function createMetadataHelper(metadataKey, metadataValue) { context.requestEmitHelper(ts.metadataHelper); - return factory.createCallExpression(getUnscopedHelperName("__metadata"), + return factory.createCallExpression(getUnscopedHelperName("__metadata"), /*typeArguments*/ undefined, [ factory.createStringLiteral(metadataKey), metadataValue @@ -28420,7 +28449,7 @@ var ts; } function createParamHelper(expression, parameterOffset, location) { context.requestEmitHelper(ts.paramHelper); - return ts.setTextRange(factory.createCallExpression(getUnscopedHelperName("__param"), + return ts.setTextRange(factory.createCallExpression(getUnscopedHelperName("__param"), /*typeArguments*/ undefined, [ factory.createNumericLiteral(parameterOffset + ""), expression @@ -28429,11 +28458,11 @@ var ts; // ES2018 Helpers function createAssignHelper(attributesSegments) { if (ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2 /* ScriptTarget.ES2015 */) { - return factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "assign"), + return factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "assign"), /*typeArguments*/ undefined, attributesSegments); } context.requestEmitHelper(ts.assignHelper); - return factory.createCallExpression(getUnscopedHelperName("__assign"), + return factory.createCallExpression(getUnscopedHelperName("__assign"), /*typeArguments*/ undefined, attributesSegments); } function createAwaitHelper(expression) { @@ -28445,7 +28474,7 @@ var ts; context.requestEmitHelper(ts.asyncGeneratorHelper); // Mark this node as originally an async function (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* EmitFlags.AsyncFunctionBody */ | 524288 /* EmitFlags.ReuseTempVariableScope */; - return factory.createCallExpression(getUnscopedHelperName("__asyncGenerator"), + return factory.createCallExpression(getUnscopedHelperName("__asyncGenerator"), /*typeArguments*/ undefined, [ hasLexicalThis ? factory.createThis() : factory.createVoidZero(), factory.createIdentifier("arguments"), @@ -28455,12 +28484,12 @@ var ts; function createAsyncDelegatorHelper(expression) { context.requestEmitHelper(ts.awaitHelper); context.requestEmitHelper(ts.asyncDelegator); - return factory.createCallExpression(getUnscopedHelperName("__asyncDelegator"), + return factory.createCallExpression(getUnscopedHelperName("__asyncDelegator"), /*typeArguments*/ undefined, [expression]); } function createAsyncValuesHelper(expression) { context.requestEmitHelper(ts.asyncValues); - return factory.createCallExpression(getUnscopedHelperName("__asyncValues"), + return factory.createCallExpression(getUnscopedHelperName("__asyncValues"), /*typeArguments*/ undefined, [expression]); } // ES2018 Destructuring Helpers @@ -28479,8 +28508,8 @@ var ts; var temp = computedTempVariables[computedTempVariableOffset]; computedTempVariableOffset++; // typeof _tmp === "symbol" ? _tmp : _tmp + "" - propertyNames.push(factory.createConditionalExpression(factory.createTypeCheck(temp, "symbol"), - /*questionToken*/ undefined, temp, + propertyNames.push(factory.createConditionalExpression(factory.createTypeCheck(temp, "symbol"), + /*questionToken*/ undefined, temp, /*colonToken*/ undefined, factory.createAdd(temp, factory.createStringLiteral("")))); } else { @@ -28488,7 +28517,7 @@ var ts; } } } - return factory.createCallExpression(getUnscopedHelperName("__rest"), + return factory.createCallExpression(getUnscopedHelperName("__rest"), /*typeArguments*/ undefined, [ value, ts.setTextRange(factory.createArrayLiteralExpression(propertyNames), location) @@ -28498,14 +28527,14 @@ var ts; function createAwaiterHelper(hasLexicalThis, hasLexicalArguments, promiseConstructor, body) { context.requestEmitHelper(ts.awaiterHelper); var generatorFunc = factory.createFunctionExpression( - /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, body); // Mark this node as originally an async function (generatorFunc.emitNode || (generatorFunc.emitNode = {})).flags |= 262144 /* EmitFlags.AsyncFunctionBody */ | 524288 /* EmitFlags.ReuseTempVariableScope */; - return factory.createCallExpression(getUnscopedHelperName("__awaiter"), + return factory.createCallExpression(getUnscopedHelperName("__awaiter"), /*typeArguments*/ undefined, [ hasLexicalThis ? factory.createThis() : factory.createVoidZero(), hasLexicalArguments ? factory.createIdentifier("arguments") : factory.createVoidZero(), @@ -28516,28 +28545,28 @@ var ts; // ES2015 Helpers function createExtendsHelper(name) { context.requestEmitHelper(ts.extendsHelper); - return factory.createCallExpression(getUnscopedHelperName("__extends"), + return factory.createCallExpression(getUnscopedHelperName("__extends"), /*typeArguments*/ undefined, [name, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */)]); } function createTemplateObjectHelper(cooked, raw) { context.requestEmitHelper(ts.templateObjectHelper); - return factory.createCallExpression(getUnscopedHelperName("__makeTemplateObject"), + return factory.createCallExpression(getUnscopedHelperName("__makeTemplateObject"), /*typeArguments*/ undefined, [cooked, raw]); } function createSpreadArrayHelper(to, from, packFrom) { context.requestEmitHelper(ts.spreadArrayHelper); - return factory.createCallExpression(getUnscopedHelperName("__spreadArray"), + return factory.createCallExpression(getUnscopedHelperName("__spreadArray"), /*typeArguments*/ undefined, [to, from, packFrom ? immutableTrue() : immutableFalse()]); } // ES2015 Destructuring Helpers function createValuesHelper(expression) { context.requestEmitHelper(ts.valuesHelper); - return factory.createCallExpression(getUnscopedHelperName("__values"), + return factory.createCallExpression(getUnscopedHelperName("__values"), /*typeArguments*/ undefined, [expression]); } function createReadHelper(iteratorRecord, count) { context.requestEmitHelper(ts.readHelper); - return factory.createCallExpression(getUnscopedHelperName("__read"), + return factory.createCallExpression(getUnscopedHelperName("__read"), /*typeArguments*/ undefined, count !== undefined ? [iteratorRecord, factory.createNumericLiteral(count + "")] : [iteratorRecord]); @@ -28545,18 +28574,18 @@ var ts; // ES2015 Generator Helpers function createGeneratorHelper(body) { context.requestEmitHelper(ts.generatorHelper); - return factory.createCallExpression(getUnscopedHelperName("__generator"), + return factory.createCallExpression(getUnscopedHelperName("__generator"), /*typeArguments*/ undefined, [factory.createThis(), body]); } // ES Module Helpers function createCreateBindingHelper(module, inputName, outputName) { context.requestEmitHelper(ts.createBindingHelper); - return factory.createCallExpression(getUnscopedHelperName("__createBinding"), + return factory.createCallExpression(getUnscopedHelperName("__createBinding"), /*typeArguments*/ undefined, __spreadArray([factory.createIdentifier("exports"), module, inputName], (outputName ? [outputName] : []), true)); } function createImportStarHelper(expression) { context.requestEmitHelper(ts.importStarHelper); - return factory.createCallExpression(getUnscopedHelperName("__importStar"), + return factory.createCallExpression(getUnscopedHelperName("__importStar"), /*typeArguments*/ undefined, [expression]); } function createImportStarCallbackHelper() { @@ -28565,14 +28594,14 @@ var ts; } function createImportDefaultHelper(expression) { context.requestEmitHelper(ts.importDefaultHelper); - return factory.createCallExpression(getUnscopedHelperName("__importDefault"), + return factory.createCallExpression(getUnscopedHelperName("__importDefault"), /*typeArguments*/ undefined, [expression]); } function createExportStarHelper(moduleExpression, exportsExpression) { if (exportsExpression === void 0) { exportsExpression = factory.createIdentifier("exports"); } context.requestEmitHelper(ts.exportStarHelper); context.requestEmitHelper(ts.createBindingHelper); - return factory.createCallExpression(getUnscopedHelperName("__exportStar"), + return factory.createCallExpression(getUnscopedHelperName("__exportStar"), /*typeArguments*/ undefined, [moduleExpression, exportsExpression]); } // Class Fields Helpers @@ -28769,6 +28798,8 @@ var ts; // - The verb (`next`, `throw`, or `return` method) to delegate to the expression // of a `yield*`. // - The result of evaluating the verb delegated to the expression of a `yield*`. + // g A temporary variable that holds onto the generator object until the generator + // is started, allowing it to also act as the `suspendedStart` state. // // functions: // verb(n) Creates a bound callback to the `step` function for opcode `n`. @@ -28807,7 +28838,7 @@ var ts; importName: "__generator", scoped: false, priority: 6, - text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" + text: "\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };" }; // ES Module Helpers ts.createBindingHelper = { @@ -29129,22 +29160,22 @@ var ts; ts.isExportModifier = isExportModifier; /* @internal */ function isAsyncModifier(node) { - return node.kind === 131 /* SyntaxKind.AsyncKeyword */; + return node.kind === 132 /* SyntaxKind.AsyncKeyword */; } ts.isAsyncModifier = isAsyncModifier; /* @internal */ function isAssertsKeyword(node) { - return node.kind === 128 /* SyntaxKind.AssertsKeyword */; + return node.kind === 129 /* SyntaxKind.AssertsKeyword */; } ts.isAssertsKeyword = isAssertsKeyword; /* @internal */ function isAwaitKeyword(node) { - return node.kind === 132 /* SyntaxKind.AwaitKeyword */; + return node.kind === 133 /* SyntaxKind.AwaitKeyword */; } ts.isAwaitKeyword = isAwaitKeyword; /* @internal */ function isReadonlyKeyword(node) { - return node.kind === 145 /* SyntaxKind.ReadonlyKeyword */; + return node.kind === 146 /* SyntaxKind.ReadonlyKeyword */; } ts.isReadonlyKeyword = isReadonlyKeyword; /* @internal */ @@ -29159,9 +29190,14 @@ var ts; ts.isAbstractModifier = isAbstractModifier; /* @internal */ function isOverrideModifier(node) { - return node.kind === 159 /* SyntaxKind.OverrideKeyword */; + return node.kind === 161 /* SyntaxKind.OverrideKeyword */; } ts.isOverrideModifier = isOverrideModifier; + /* @internal */ + function isAccessorModifier(node) { + return node.kind === 127 /* SyntaxKind.AccessorKeyword */; + } + ts.isAccessorModifier = isAccessorModifier; /*@internal*/ function isSuperKeyword(node) { return node.kind === 106 /* SyntaxKind.SuperKeyword */; @@ -29174,605 +29210,609 @@ var ts; ts.isImportKeyword = isImportKeyword; // Names function isQualifiedName(node) { - return node.kind === 161 /* SyntaxKind.QualifiedName */; + return node.kind === 163 /* SyntaxKind.QualifiedName */; } ts.isQualifiedName = isQualifiedName; function isComputedPropertyName(node) { - return node.kind === 162 /* SyntaxKind.ComputedPropertyName */; + return node.kind === 164 /* SyntaxKind.ComputedPropertyName */; } ts.isComputedPropertyName = isComputedPropertyName; // Signature elements function isTypeParameterDeclaration(node) { - return node.kind === 163 /* SyntaxKind.TypeParameter */; + return node.kind === 165 /* SyntaxKind.TypeParameter */; } ts.isTypeParameterDeclaration = isTypeParameterDeclaration; // TODO(rbuckton): Rename to 'isParameterDeclaration' function isParameter(node) { - return node.kind === 164 /* SyntaxKind.Parameter */; + return node.kind === 166 /* SyntaxKind.Parameter */; } ts.isParameter = isParameter; function isDecorator(node) { - return node.kind === 165 /* SyntaxKind.Decorator */; + return node.kind === 167 /* SyntaxKind.Decorator */; } ts.isDecorator = isDecorator; // TypeMember function isPropertySignature(node) { - return node.kind === 166 /* SyntaxKind.PropertySignature */; + return node.kind === 168 /* SyntaxKind.PropertySignature */; } ts.isPropertySignature = isPropertySignature; function isPropertyDeclaration(node) { - return node.kind === 167 /* SyntaxKind.PropertyDeclaration */; + return node.kind === 169 /* SyntaxKind.PropertyDeclaration */; } ts.isPropertyDeclaration = isPropertyDeclaration; function isMethodSignature(node) { - return node.kind === 168 /* SyntaxKind.MethodSignature */; + return node.kind === 170 /* SyntaxKind.MethodSignature */; } ts.isMethodSignature = isMethodSignature; function isMethodDeclaration(node) { - return node.kind === 169 /* SyntaxKind.MethodDeclaration */; + return node.kind === 171 /* SyntaxKind.MethodDeclaration */; } ts.isMethodDeclaration = isMethodDeclaration; function isClassStaticBlockDeclaration(node) { - return node.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */; + return node.kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */; } ts.isClassStaticBlockDeclaration = isClassStaticBlockDeclaration; function isConstructorDeclaration(node) { - return node.kind === 171 /* SyntaxKind.Constructor */; + return node.kind === 173 /* SyntaxKind.Constructor */; } ts.isConstructorDeclaration = isConstructorDeclaration; function isGetAccessorDeclaration(node) { - return node.kind === 172 /* SyntaxKind.GetAccessor */; + return node.kind === 174 /* SyntaxKind.GetAccessor */; } ts.isGetAccessorDeclaration = isGetAccessorDeclaration; function isSetAccessorDeclaration(node) { - return node.kind === 173 /* SyntaxKind.SetAccessor */; + return node.kind === 175 /* SyntaxKind.SetAccessor */; } ts.isSetAccessorDeclaration = isSetAccessorDeclaration; function isCallSignatureDeclaration(node) { - return node.kind === 174 /* SyntaxKind.CallSignature */; + return node.kind === 176 /* SyntaxKind.CallSignature */; } ts.isCallSignatureDeclaration = isCallSignatureDeclaration; function isConstructSignatureDeclaration(node) { - return node.kind === 175 /* SyntaxKind.ConstructSignature */; + return node.kind === 177 /* SyntaxKind.ConstructSignature */; } ts.isConstructSignatureDeclaration = isConstructSignatureDeclaration; function isIndexSignatureDeclaration(node) { - return node.kind === 176 /* SyntaxKind.IndexSignature */; + return node.kind === 178 /* SyntaxKind.IndexSignature */; } ts.isIndexSignatureDeclaration = isIndexSignatureDeclaration; // Type function isTypePredicateNode(node) { - return node.kind === 177 /* SyntaxKind.TypePredicate */; + return node.kind === 179 /* SyntaxKind.TypePredicate */; } ts.isTypePredicateNode = isTypePredicateNode; function isTypeReferenceNode(node) { - return node.kind === 178 /* SyntaxKind.TypeReference */; + return node.kind === 180 /* SyntaxKind.TypeReference */; } ts.isTypeReferenceNode = isTypeReferenceNode; function isFunctionTypeNode(node) { - return node.kind === 179 /* SyntaxKind.FunctionType */; + return node.kind === 181 /* SyntaxKind.FunctionType */; } ts.isFunctionTypeNode = isFunctionTypeNode; function isConstructorTypeNode(node) { - return node.kind === 180 /* SyntaxKind.ConstructorType */; + return node.kind === 182 /* SyntaxKind.ConstructorType */; } ts.isConstructorTypeNode = isConstructorTypeNode; function isTypeQueryNode(node) { - return node.kind === 181 /* SyntaxKind.TypeQuery */; + return node.kind === 183 /* SyntaxKind.TypeQuery */; } ts.isTypeQueryNode = isTypeQueryNode; function isTypeLiteralNode(node) { - return node.kind === 182 /* SyntaxKind.TypeLiteral */; + return node.kind === 184 /* SyntaxKind.TypeLiteral */; } ts.isTypeLiteralNode = isTypeLiteralNode; function isArrayTypeNode(node) { - return node.kind === 183 /* SyntaxKind.ArrayType */; + return node.kind === 185 /* SyntaxKind.ArrayType */; } ts.isArrayTypeNode = isArrayTypeNode; function isTupleTypeNode(node) { - return node.kind === 184 /* SyntaxKind.TupleType */; + return node.kind === 186 /* SyntaxKind.TupleType */; } ts.isTupleTypeNode = isTupleTypeNode; function isNamedTupleMember(node) { - return node.kind === 197 /* SyntaxKind.NamedTupleMember */; + return node.kind === 199 /* SyntaxKind.NamedTupleMember */; } ts.isNamedTupleMember = isNamedTupleMember; function isOptionalTypeNode(node) { - return node.kind === 185 /* SyntaxKind.OptionalType */; + return node.kind === 187 /* SyntaxKind.OptionalType */; } ts.isOptionalTypeNode = isOptionalTypeNode; function isRestTypeNode(node) { - return node.kind === 186 /* SyntaxKind.RestType */; + return node.kind === 188 /* SyntaxKind.RestType */; } ts.isRestTypeNode = isRestTypeNode; function isUnionTypeNode(node) { - return node.kind === 187 /* SyntaxKind.UnionType */; + return node.kind === 189 /* SyntaxKind.UnionType */; } ts.isUnionTypeNode = isUnionTypeNode; function isIntersectionTypeNode(node) { - return node.kind === 188 /* SyntaxKind.IntersectionType */; + return node.kind === 190 /* SyntaxKind.IntersectionType */; } ts.isIntersectionTypeNode = isIntersectionTypeNode; function isConditionalTypeNode(node) { - return node.kind === 189 /* SyntaxKind.ConditionalType */; + return node.kind === 191 /* SyntaxKind.ConditionalType */; } ts.isConditionalTypeNode = isConditionalTypeNode; function isInferTypeNode(node) { - return node.kind === 190 /* SyntaxKind.InferType */; + return node.kind === 192 /* SyntaxKind.InferType */; } ts.isInferTypeNode = isInferTypeNode; function isParenthesizedTypeNode(node) { - return node.kind === 191 /* SyntaxKind.ParenthesizedType */; + return node.kind === 193 /* SyntaxKind.ParenthesizedType */; } ts.isParenthesizedTypeNode = isParenthesizedTypeNode; function isThisTypeNode(node) { - return node.kind === 192 /* SyntaxKind.ThisType */; + return node.kind === 194 /* SyntaxKind.ThisType */; } ts.isThisTypeNode = isThisTypeNode; function isTypeOperatorNode(node) { - return node.kind === 193 /* SyntaxKind.TypeOperator */; + return node.kind === 195 /* SyntaxKind.TypeOperator */; } ts.isTypeOperatorNode = isTypeOperatorNode; function isIndexedAccessTypeNode(node) { - return node.kind === 194 /* SyntaxKind.IndexedAccessType */; + return node.kind === 196 /* SyntaxKind.IndexedAccessType */; } ts.isIndexedAccessTypeNode = isIndexedAccessTypeNode; function isMappedTypeNode(node) { - return node.kind === 195 /* SyntaxKind.MappedType */; + return node.kind === 197 /* SyntaxKind.MappedType */; } ts.isMappedTypeNode = isMappedTypeNode; function isLiteralTypeNode(node) { - return node.kind === 196 /* SyntaxKind.LiteralType */; + return node.kind === 198 /* SyntaxKind.LiteralType */; } ts.isLiteralTypeNode = isLiteralTypeNode; function isImportTypeNode(node) { - return node.kind === 200 /* SyntaxKind.ImportType */; + return node.kind === 202 /* SyntaxKind.ImportType */; } ts.isImportTypeNode = isImportTypeNode; function isTemplateLiteralTypeSpan(node) { - return node.kind === 199 /* SyntaxKind.TemplateLiteralTypeSpan */; + return node.kind === 201 /* SyntaxKind.TemplateLiteralTypeSpan */; } ts.isTemplateLiteralTypeSpan = isTemplateLiteralTypeSpan; function isTemplateLiteralTypeNode(node) { - return node.kind === 198 /* SyntaxKind.TemplateLiteralType */; + return node.kind === 200 /* SyntaxKind.TemplateLiteralType */; } ts.isTemplateLiteralTypeNode = isTemplateLiteralTypeNode; // Binding patterns function isObjectBindingPattern(node) { - return node.kind === 201 /* SyntaxKind.ObjectBindingPattern */; + return node.kind === 203 /* SyntaxKind.ObjectBindingPattern */; } ts.isObjectBindingPattern = isObjectBindingPattern; function isArrayBindingPattern(node) { - return node.kind === 202 /* SyntaxKind.ArrayBindingPattern */; + return node.kind === 204 /* SyntaxKind.ArrayBindingPattern */; } ts.isArrayBindingPattern = isArrayBindingPattern; function isBindingElement(node) { - return node.kind === 203 /* SyntaxKind.BindingElement */; + return node.kind === 205 /* SyntaxKind.BindingElement */; } ts.isBindingElement = isBindingElement; // Expression function isArrayLiteralExpression(node) { - return node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */; + return node.kind === 206 /* SyntaxKind.ArrayLiteralExpression */; } ts.isArrayLiteralExpression = isArrayLiteralExpression; function isObjectLiteralExpression(node) { - return node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; + return node.kind === 207 /* SyntaxKind.ObjectLiteralExpression */; } ts.isObjectLiteralExpression = isObjectLiteralExpression; function isPropertyAccessExpression(node) { - return node.kind === 206 /* SyntaxKind.PropertyAccessExpression */; + return node.kind === 208 /* SyntaxKind.PropertyAccessExpression */; } ts.isPropertyAccessExpression = isPropertyAccessExpression; function isElementAccessExpression(node) { - return node.kind === 207 /* SyntaxKind.ElementAccessExpression */; + return node.kind === 209 /* SyntaxKind.ElementAccessExpression */; } ts.isElementAccessExpression = isElementAccessExpression; function isCallExpression(node) { - return node.kind === 208 /* SyntaxKind.CallExpression */; + return node.kind === 210 /* SyntaxKind.CallExpression */; } ts.isCallExpression = isCallExpression; function isNewExpression(node) { - return node.kind === 209 /* SyntaxKind.NewExpression */; + return node.kind === 211 /* SyntaxKind.NewExpression */; } ts.isNewExpression = isNewExpression; function isTaggedTemplateExpression(node) { - return node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */; + return node.kind === 212 /* SyntaxKind.TaggedTemplateExpression */; } ts.isTaggedTemplateExpression = isTaggedTemplateExpression; function isTypeAssertionExpression(node) { - return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */; + return node.kind === 213 /* SyntaxKind.TypeAssertionExpression */; } ts.isTypeAssertionExpression = isTypeAssertionExpression; function isParenthesizedExpression(node) { - return node.kind === 212 /* SyntaxKind.ParenthesizedExpression */; + return node.kind === 214 /* SyntaxKind.ParenthesizedExpression */; } ts.isParenthesizedExpression = isParenthesizedExpression; function isFunctionExpression(node) { - return node.kind === 213 /* SyntaxKind.FunctionExpression */; + return node.kind === 215 /* SyntaxKind.FunctionExpression */; } ts.isFunctionExpression = isFunctionExpression; function isArrowFunction(node) { - return node.kind === 214 /* SyntaxKind.ArrowFunction */; + return node.kind === 216 /* SyntaxKind.ArrowFunction */; } ts.isArrowFunction = isArrowFunction; function isDeleteExpression(node) { - return node.kind === 215 /* SyntaxKind.DeleteExpression */; + return node.kind === 217 /* SyntaxKind.DeleteExpression */; } ts.isDeleteExpression = isDeleteExpression; function isTypeOfExpression(node) { - return node.kind === 216 /* SyntaxKind.TypeOfExpression */; + return node.kind === 218 /* SyntaxKind.TypeOfExpression */; } ts.isTypeOfExpression = isTypeOfExpression; function isVoidExpression(node) { - return node.kind === 217 /* SyntaxKind.VoidExpression */; + return node.kind === 219 /* SyntaxKind.VoidExpression */; } ts.isVoidExpression = isVoidExpression; function isAwaitExpression(node) { - return node.kind === 218 /* SyntaxKind.AwaitExpression */; + return node.kind === 220 /* SyntaxKind.AwaitExpression */; } ts.isAwaitExpression = isAwaitExpression; function isPrefixUnaryExpression(node) { - return node.kind === 219 /* SyntaxKind.PrefixUnaryExpression */; + return node.kind === 221 /* SyntaxKind.PrefixUnaryExpression */; } ts.isPrefixUnaryExpression = isPrefixUnaryExpression; function isPostfixUnaryExpression(node) { - return node.kind === 220 /* SyntaxKind.PostfixUnaryExpression */; + return node.kind === 222 /* SyntaxKind.PostfixUnaryExpression */; } ts.isPostfixUnaryExpression = isPostfixUnaryExpression; function isBinaryExpression(node) { - return node.kind === 221 /* SyntaxKind.BinaryExpression */; + return node.kind === 223 /* SyntaxKind.BinaryExpression */; } ts.isBinaryExpression = isBinaryExpression; function isConditionalExpression(node) { - return node.kind === 222 /* SyntaxKind.ConditionalExpression */; + return node.kind === 224 /* SyntaxKind.ConditionalExpression */; } ts.isConditionalExpression = isConditionalExpression; function isTemplateExpression(node) { - return node.kind === 223 /* SyntaxKind.TemplateExpression */; + return node.kind === 225 /* SyntaxKind.TemplateExpression */; } ts.isTemplateExpression = isTemplateExpression; function isYieldExpression(node) { - return node.kind === 224 /* SyntaxKind.YieldExpression */; + return node.kind === 226 /* SyntaxKind.YieldExpression */; } ts.isYieldExpression = isYieldExpression; function isSpreadElement(node) { - return node.kind === 225 /* SyntaxKind.SpreadElement */; + return node.kind === 227 /* SyntaxKind.SpreadElement */; } ts.isSpreadElement = isSpreadElement; function isClassExpression(node) { - return node.kind === 226 /* SyntaxKind.ClassExpression */; + return node.kind === 228 /* SyntaxKind.ClassExpression */; } ts.isClassExpression = isClassExpression; function isOmittedExpression(node) { - return node.kind === 227 /* SyntaxKind.OmittedExpression */; + return node.kind === 229 /* SyntaxKind.OmittedExpression */; } ts.isOmittedExpression = isOmittedExpression; function isExpressionWithTypeArguments(node) { - return node.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */; + return node.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */; } ts.isExpressionWithTypeArguments = isExpressionWithTypeArguments; function isAsExpression(node) { - return node.kind === 229 /* SyntaxKind.AsExpression */; + return node.kind === 231 /* SyntaxKind.AsExpression */; } ts.isAsExpression = isAsExpression; + function isSatisfiesExpression(node) { + return node.kind === 235 /* SyntaxKind.SatisfiesExpression */; + } + ts.isSatisfiesExpression = isSatisfiesExpression; function isNonNullExpression(node) { - return node.kind === 230 /* SyntaxKind.NonNullExpression */; + return node.kind === 232 /* SyntaxKind.NonNullExpression */; } ts.isNonNullExpression = isNonNullExpression; function isMetaProperty(node) { - return node.kind === 231 /* SyntaxKind.MetaProperty */; + return node.kind === 233 /* SyntaxKind.MetaProperty */; } ts.isMetaProperty = isMetaProperty; function isSyntheticExpression(node) { - return node.kind === 232 /* SyntaxKind.SyntheticExpression */; + return node.kind === 234 /* SyntaxKind.SyntheticExpression */; } ts.isSyntheticExpression = isSyntheticExpression; function isPartiallyEmittedExpression(node) { - return node.kind === 350 /* SyntaxKind.PartiallyEmittedExpression */; + return node.kind === 353 /* SyntaxKind.PartiallyEmittedExpression */; } ts.isPartiallyEmittedExpression = isPartiallyEmittedExpression; function isCommaListExpression(node) { - return node.kind === 351 /* SyntaxKind.CommaListExpression */; + return node.kind === 354 /* SyntaxKind.CommaListExpression */; } ts.isCommaListExpression = isCommaListExpression; // Misc function isTemplateSpan(node) { - return node.kind === 233 /* SyntaxKind.TemplateSpan */; + return node.kind === 236 /* SyntaxKind.TemplateSpan */; } ts.isTemplateSpan = isTemplateSpan; function isSemicolonClassElement(node) { - return node.kind === 234 /* SyntaxKind.SemicolonClassElement */; + return node.kind === 237 /* SyntaxKind.SemicolonClassElement */; } ts.isSemicolonClassElement = isSemicolonClassElement; // Elements function isBlock(node) { - return node.kind === 235 /* SyntaxKind.Block */; + return node.kind === 238 /* SyntaxKind.Block */; } ts.isBlock = isBlock; function isVariableStatement(node) { - return node.kind === 237 /* SyntaxKind.VariableStatement */; + return node.kind === 240 /* SyntaxKind.VariableStatement */; } ts.isVariableStatement = isVariableStatement; function isEmptyStatement(node) { - return node.kind === 236 /* SyntaxKind.EmptyStatement */; + return node.kind === 239 /* SyntaxKind.EmptyStatement */; } ts.isEmptyStatement = isEmptyStatement; function isExpressionStatement(node) { - return node.kind === 238 /* SyntaxKind.ExpressionStatement */; + return node.kind === 241 /* SyntaxKind.ExpressionStatement */; } ts.isExpressionStatement = isExpressionStatement; function isIfStatement(node) { - return node.kind === 239 /* SyntaxKind.IfStatement */; + return node.kind === 242 /* SyntaxKind.IfStatement */; } ts.isIfStatement = isIfStatement; function isDoStatement(node) { - return node.kind === 240 /* SyntaxKind.DoStatement */; + return node.kind === 243 /* SyntaxKind.DoStatement */; } ts.isDoStatement = isDoStatement; function isWhileStatement(node) { - return node.kind === 241 /* SyntaxKind.WhileStatement */; + return node.kind === 244 /* SyntaxKind.WhileStatement */; } ts.isWhileStatement = isWhileStatement; function isForStatement(node) { - return node.kind === 242 /* SyntaxKind.ForStatement */; + return node.kind === 245 /* SyntaxKind.ForStatement */; } ts.isForStatement = isForStatement; function isForInStatement(node) { - return node.kind === 243 /* SyntaxKind.ForInStatement */; + return node.kind === 246 /* SyntaxKind.ForInStatement */; } ts.isForInStatement = isForInStatement; function isForOfStatement(node) { - return node.kind === 244 /* SyntaxKind.ForOfStatement */; + return node.kind === 247 /* SyntaxKind.ForOfStatement */; } ts.isForOfStatement = isForOfStatement; function isContinueStatement(node) { - return node.kind === 245 /* SyntaxKind.ContinueStatement */; + return node.kind === 248 /* SyntaxKind.ContinueStatement */; } ts.isContinueStatement = isContinueStatement; function isBreakStatement(node) { - return node.kind === 246 /* SyntaxKind.BreakStatement */; + return node.kind === 249 /* SyntaxKind.BreakStatement */; } ts.isBreakStatement = isBreakStatement; function isReturnStatement(node) { - return node.kind === 247 /* SyntaxKind.ReturnStatement */; + return node.kind === 250 /* SyntaxKind.ReturnStatement */; } ts.isReturnStatement = isReturnStatement; function isWithStatement(node) { - return node.kind === 248 /* SyntaxKind.WithStatement */; + return node.kind === 251 /* SyntaxKind.WithStatement */; } ts.isWithStatement = isWithStatement; function isSwitchStatement(node) { - return node.kind === 249 /* SyntaxKind.SwitchStatement */; + return node.kind === 252 /* SyntaxKind.SwitchStatement */; } ts.isSwitchStatement = isSwitchStatement; function isLabeledStatement(node) { - return node.kind === 250 /* SyntaxKind.LabeledStatement */; + return node.kind === 253 /* SyntaxKind.LabeledStatement */; } ts.isLabeledStatement = isLabeledStatement; function isThrowStatement(node) { - return node.kind === 251 /* SyntaxKind.ThrowStatement */; + return node.kind === 254 /* SyntaxKind.ThrowStatement */; } ts.isThrowStatement = isThrowStatement; function isTryStatement(node) { - return node.kind === 252 /* SyntaxKind.TryStatement */; + return node.kind === 255 /* SyntaxKind.TryStatement */; } ts.isTryStatement = isTryStatement; function isDebuggerStatement(node) { - return node.kind === 253 /* SyntaxKind.DebuggerStatement */; + return node.kind === 256 /* SyntaxKind.DebuggerStatement */; } ts.isDebuggerStatement = isDebuggerStatement; function isVariableDeclaration(node) { - return node.kind === 254 /* SyntaxKind.VariableDeclaration */; + return node.kind === 257 /* SyntaxKind.VariableDeclaration */; } ts.isVariableDeclaration = isVariableDeclaration; function isVariableDeclarationList(node) { - return node.kind === 255 /* SyntaxKind.VariableDeclarationList */; + return node.kind === 258 /* SyntaxKind.VariableDeclarationList */; } ts.isVariableDeclarationList = isVariableDeclarationList; function isFunctionDeclaration(node) { - return node.kind === 256 /* SyntaxKind.FunctionDeclaration */; + return node.kind === 259 /* SyntaxKind.FunctionDeclaration */; } ts.isFunctionDeclaration = isFunctionDeclaration; function isClassDeclaration(node) { - return node.kind === 257 /* SyntaxKind.ClassDeclaration */; + return node.kind === 260 /* SyntaxKind.ClassDeclaration */; } ts.isClassDeclaration = isClassDeclaration; function isInterfaceDeclaration(node) { - return node.kind === 258 /* SyntaxKind.InterfaceDeclaration */; + return node.kind === 261 /* SyntaxKind.InterfaceDeclaration */; } ts.isInterfaceDeclaration = isInterfaceDeclaration; function isTypeAliasDeclaration(node) { - return node.kind === 259 /* SyntaxKind.TypeAliasDeclaration */; + return node.kind === 262 /* SyntaxKind.TypeAliasDeclaration */; } ts.isTypeAliasDeclaration = isTypeAliasDeclaration; function isEnumDeclaration(node) { - return node.kind === 260 /* SyntaxKind.EnumDeclaration */; + return node.kind === 263 /* SyntaxKind.EnumDeclaration */; } ts.isEnumDeclaration = isEnumDeclaration; function isModuleDeclaration(node) { - return node.kind === 261 /* SyntaxKind.ModuleDeclaration */; + return node.kind === 264 /* SyntaxKind.ModuleDeclaration */; } ts.isModuleDeclaration = isModuleDeclaration; function isModuleBlock(node) { - return node.kind === 262 /* SyntaxKind.ModuleBlock */; + return node.kind === 265 /* SyntaxKind.ModuleBlock */; } ts.isModuleBlock = isModuleBlock; function isCaseBlock(node) { - return node.kind === 263 /* SyntaxKind.CaseBlock */; + return node.kind === 266 /* SyntaxKind.CaseBlock */; } ts.isCaseBlock = isCaseBlock; function isNamespaceExportDeclaration(node) { - return node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */; + return node.kind === 267 /* SyntaxKind.NamespaceExportDeclaration */; } ts.isNamespaceExportDeclaration = isNamespaceExportDeclaration; function isImportEqualsDeclaration(node) { - return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */; + return node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */; } ts.isImportEqualsDeclaration = isImportEqualsDeclaration; function isImportDeclaration(node) { - return node.kind === 266 /* SyntaxKind.ImportDeclaration */; + return node.kind === 269 /* SyntaxKind.ImportDeclaration */; } ts.isImportDeclaration = isImportDeclaration; function isImportClause(node) { - return node.kind === 267 /* SyntaxKind.ImportClause */; + return node.kind === 270 /* SyntaxKind.ImportClause */; } ts.isImportClause = isImportClause; function isImportTypeAssertionContainer(node) { - return node.kind === 295 /* SyntaxKind.ImportTypeAssertionContainer */; + return node.kind === 298 /* SyntaxKind.ImportTypeAssertionContainer */; } ts.isImportTypeAssertionContainer = isImportTypeAssertionContainer; function isAssertClause(node) { - return node.kind === 293 /* SyntaxKind.AssertClause */; + return node.kind === 296 /* SyntaxKind.AssertClause */; } ts.isAssertClause = isAssertClause; function isAssertEntry(node) { - return node.kind === 294 /* SyntaxKind.AssertEntry */; + return node.kind === 297 /* SyntaxKind.AssertEntry */; } ts.isAssertEntry = isAssertEntry; function isNamespaceImport(node) { - return node.kind === 268 /* SyntaxKind.NamespaceImport */; + return node.kind === 271 /* SyntaxKind.NamespaceImport */; } ts.isNamespaceImport = isNamespaceImport; function isNamespaceExport(node) { - return node.kind === 274 /* SyntaxKind.NamespaceExport */; + return node.kind === 277 /* SyntaxKind.NamespaceExport */; } ts.isNamespaceExport = isNamespaceExport; function isNamedImports(node) { - return node.kind === 269 /* SyntaxKind.NamedImports */; + return node.kind === 272 /* SyntaxKind.NamedImports */; } ts.isNamedImports = isNamedImports; function isImportSpecifier(node) { - return node.kind === 270 /* SyntaxKind.ImportSpecifier */; + return node.kind === 273 /* SyntaxKind.ImportSpecifier */; } ts.isImportSpecifier = isImportSpecifier; function isExportAssignment(node) { - return node.kind === 271 /* SyntaxKind.ExportAssignment */; + return node.kind === 274 /* SyntaxKind.ExportAssignment */; } ts.isExportAssignment = isExportAssignment; function isExportDeclaration(node) { - return node.kind === 272 /* SyntaxKind.ExportDeclaration */; + return node.kind === 275 /* SyntaxKind.ExportDeclaration */; } ts.isExportDeclaration = isExportDeclaration; function isNamedExports(node) { - return node.kind === 273 /* SyntaxKind.NamedExports */; + return node.kind === 276 /* SyntaxKind.NamedExports */; } ts.isNamedExports = isNamedExports; function isExportSpecifier(node) { - return node.kind === 275 /* SyntaxKind.ExportSpecifier */; + return node.kind === 278 /* SyntaxKind.ExportSpecifier */; } ts.isExportSpecifier = isExportSpecifier; function isMissingDeclaration(node) { - return node.kind === 276 /* SyntaxKind.MissingDeclaration */; + return node.kind === 279 /* SyntaxKind.MissingDeclaration */; } ts.isMissingDeclaration = isMissingDeclaration; function isNotEmittedStatement(node) { - return node.kind === 349 /* SyntaxKind.NotEmittedStatement */; + return node.kind === 352 /* SyntaxKind.NotEmittedStatement */; } ts.isNotEmittedStatement = isNotEmittedStatement; /* @internal */ function isSyntheticReference(node) { - return node.kind === 354 /* SyntaxKind.SyntheticReferenceExpression */; + return node.kind === 357 /* SyntaxKind.SyntheticReferenceExpression */; } ts.isSyntheticReference = isSyntheticReference; /* @internal */ function isMergeDeclarationMarker(node) { - return node.kind === 352 /* SyntaxKind.MergeDeclarationMarker */; + return node.kind === 355 /* SyntaxKind.MergeDeclarationMarker */; } ts.isMergeDeclarationMarker = isMergeDeclarationMarker; /* @internal */ function isEndOfDeclarationMarker(node) { - return node.kind === 353 /* SyntaxKind.EndOfDeclarationMarker */; + return node.kind === 356 /* SyntaxKind.EndOfDeclarationMarker */; } ts.isEndOfDeclarationMarker = isEndOfDeclarationMarker; // Module References function isExternalModuleReference(node) { - return node.kind === 277 /* SyntaxKind.ExternalModuleReference */; + return node.kind === 280 /* SyntaxKind.ExternalModuleReference */; } ts.isExternalModuleReference = isExternalModuleReference; // JSX function isJsxElement(node) { - return node.kind === 278 /* SyntaxKind.JsxElement */; + return node.kind === 281 /* SyntaxKind.JsxElement */; } ts.isJsxElement = isJsxElement; function isJsxSelfClosingElement(node) { - return node.kind === 279 /* SyntaxKind.JsxSelfClosingElement */; + return node.kind === 282 /* SyntaxKind.JsxSelfClosingElement */; } ts.isJsxSelfClosingElement = isJsxSelfClosingElement; function isJsxOpeningElement(node) { - return node.kind === 280 /* SyntaxKind.JsxOpeningElement */; + return node.kind === 283 /* SyntaxKind.JsxOpeningElement */; } ts.isJsxOpeningElement = isJsxOpeningElement; function isJsxClosingElement(node) { - return node.kind === 281 /* SyntaxKind.JsxClosingElement */; + return node.kind === 284 /* SyntaxKind.JsxClosingElement */; } ts.isJsxClosingElement = isJsxClosingElement; function isJsxFragment(node) { - return node.kind === 282 /* SyntaxKind.JsxFragment */; + return node.kind === 285 /* SyntaxKind.JsxFragment */; } ts.isJsxFragment = isJsxFragment; function isJsxOpeningFragment(node) { - return node.kind === 283 /* SyntaxKind.JsxOpeningFragment */; + return node.kind === 286 /* SyntaxKind.JsxOpeningFragment */; } ts.isJsxOpeningFragment = isJsxOpeningFragment; function isJsxClosingFragment(node) { - return node.kind === 284 /* SyntaxKind.JsxClosingFragment */; + return node.kind === 287 /* SyntaxKind.JsxClosingFragment */; } ts.isJsxClosingFragment = isJsxClosingFragment; function isJsxAttribute(node) { - return node.kind === 285 /* SyntaxKind.JsxAttribute */; + return node.kind === 288 /* SyntaxKind.JsxAttribute */; } ts.isJsxAttribute = isJsxAttribute; function isJsxAttributes(node) { - return node.kind === 286 /* SyntaxKind.JsxAttributes */; + return node.kind === 289 /* SyntaxKind.JsxAttributes */; } ts.isJsxAttributes = isJsxAttributes; function isJsxSpreadAttribute(node) { - return node.kind === 287 /* SyntaxKind.JsxSpreadAttribute */; + return node.kind === 290 /* SyntaxKind.JsxSpreadAttribute */; } ts.isJsxSpreadAttribute = isJsxSpreadAttribute; function isJsxExpression(node) { - return node.kind === 288 /* SyntaxKind.JsxExpression */; + return node.kind === 291 /* SyntaxKind.JsxExpression */; } ts.isJsxExpression = isJsxExpression; // Clauses function isCaseClause(node) { - return node.kind === 289 /* SyntaxKind.CaseClause */; + return node.kind === 292 /* SyntaxKind.CaseClause */; } ts.isCaseClause = isCaseClause; function isDefaultClause(node) { - return node.kind === 290 /* SyntaxKind.DefaultClause */; + return node.kind === 293 /* SyntaxKind.DefaultClause */; } ts.isDefaultClause = isDefaultClause; function isHeritageClause(node) { - return node.kind === 291 /* SyntaxKind.HeritageClause */; + return node.kind === 294 /* SyntaxKind.HeritageClause */; } ts.isHeritageClause = isHeritageClause; function isCatchClause(node) { - return node.kind === 292 /* SyntaxKind.CatchClause */; + return node.kind === 295 /* SyntaxKind.CatchClause */; } ts.isCatchClause = isCatchClause; // Property assignments function isPropertyAssignment(node) { - return node.kind === 296 /* SyntaxKind.PropertyAssignment */; + return node.kind === 299 /* SyntaxKind.PropertyAssignment */; } ts.isPropertyAssignment = isPropertyAssignment; function isShorthandPropertyAssignment(node) { - return node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */; + return node.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */; } ts.isShorthandPropertyAssignment = isShorthandPropertyAssignment; function isSpreadAssignment(node) { - return node.kind === 298 /* SyntaxKind.SpreadAssignment */; + return node.kind === 301 /* SyntaxKind.SpreadAssignment */; } ts.isSpreadAssignment = isSpreadAssignment; // Enum function isEnumMember(node) { - return node.kind === 299 /* SyntaxKind.EnumMember */; + return node.kind === 302 /* SyntaxKind.EnumMember */; } ts.isEnumMember = isEnumMember; // Unparsed // TODO(rbuckton): isUnparsedPrologue function isUnparsedPrepend(node) { - return node.kind === 301 /* SyntaxKind.UnparsedPrepend */; + return node.kind === 304 /* SyntaxKind.UnparsedPrepend */; } ts.isUnparsedPrepend = isUnparsedPrepend; // TODO(rbuckton): isUnparsedText @@ -29780,176 +29820,176 @@ var ts; // TODO(rbuckton): isUnparsedSyntheticReference // Top-level nodes function isSourceFile(node) { - return node.kind === 305 /* SyntaxKind.SourceFile */; + return node.kind === 308 /* SyntaxKind.SourceFile */; } ts.isSourceFile = isSourceFile; function isBundle(node) { - return node.kind === 306 /* SyntaxKind.Bundle */; + return node.kind === 309 /* SyntaxKind.Bundle */; } ts.isBundle = isBundle; function isUnparsedSource(node) { - return node.kind === 307 /* SyntaxKind.UnparsedSource */; + return node.kind === 310 /* SyntaxKind.UnparsedSource */; } ts.isUnparsedSource = isUnparsedSource; // TODO(rbuckton): isInputFiles // JSDoc Elements function isJSDocTypeExpression(node) { - return node.kind === 309 /* SyntaxKind.JSDocTypeExpression */; + return node.kind === 312 /* SyntaxKind.JSDocTypeExpression */; } ts.isJSDocTypeExpression = isJSDocTypeExpression; function isJSDocNameReference(node) { - return node.kind === 310 /* SyntaxKind.JSDocNameReference */; + return node.kind === 313 /* SyntaxKind.JSDocNameReference */; } ts.isJSDocNameReference = isJSDocNameReference; function isJSDocMemberName(node) { - return node.kind === 311 /* SyntaxKind.JSDocMemberName */; + return node.kind === 314 /* SyntaxKind.JSDocMemberName */; } ts.isJSDocMemberName = isJSDocMemberName; function isJSDocLink(node) { - return node.kind === 324 /* SyntaxKind.JSDocLink */; + return node.kind === 327 /* SyntaxKind.JSDocLink */; } ts.isJSDocLink = isJSDocLink; function isJSDocLinkCode(node) { - return node.kind === 325 /* SyntaxKind.JSDocLinkCode */; + return node.kind === 328 /* SyntaxKind.JSDocLinkCode */; } ts.isJSDocLinkCode = isJSDocLinkCode; function isJSDocLinkPlain(node) { - return node.kind === 326 /* SyntaxKind.JSDocLinkPlain */; + return node.kind === 329 /* SyntaxKind.JSDocLinkPlain */; } ts.isJSDocLinkPlain = isJSDocLinkPlain; function isJSDocAllType(node) { - return node.kind === 312 /* SyntaxKind.JSDocAllType */; + return node.kind === 315 /* SyntaxKind.JSDocAllType */; } ts.isJSDocAllType = isJSDocAllType; function isJSDocUnknownType(node) { - return node.kind === 313 /* SyntaxKind.JSDocUnknownType */; + return node.kind === 316 /* SyntaxKind.JSDocUnknownType */; } ts.isJSDocUnknownType = isJSDocUnknownType; function isJSDocNullableType(node) { - return node.kind === 314 /* SyntaxKind.JSDocNullableType */; + return node.kind === 317 /* SyntaxKind.JSDocNullableType */; } ts.isJSDocNullableType = isJSDocNullableType; function isJSDocNonNullableType(node) { - return node.kind === 315 /* SyntaxKind.JSDocNonNullableType */; + return node.kind === 318 /* SyntaxKind.JSDocNonNullableType */; } ts.isJSDocNonNullableType = isJSDocNonNullableType; function isJSDocOptionalType(node) { - return node.kind === 316 /* SyntaxKind.JSDocOptionalType */; + return node.kind === 319 /* SyntaxKind.JSDocOptionalType */; } ts.isJSDocOptionalType = isJSDocOptionalType; function isJSDocFunctionType(node) { - return node.kind === 317 /* SyntaxKind.JSDocFunctionType */; + return node.kind === 320 /* SyntaxKind.JSDocFunctionType */; } ts.isJSDocFunctionType = isJSDocFunctionType; function isJSDocVariadicType(node) { - return node.kind === 318 /* SyntaxKind.JSDocVariadicType */; + return node.kind === 321 /* SyntaxKind.JSDocVariadicType */; } ts.isJSDocVariadicType = isJSDocVariadicType; function isJSDocNamepathType(node) { - return node.kind === 319 /* SyntaxKind.JSDocNamepathType */; + return node.kind === 322 /* SyntaxKind.JSDocNamepathType */; } ts.isJSDocNamepathType = isJSDocNamepathType; function isJSDoc(node) { - return node.kind === 320 /* SyntaxKind.JSDoc */; + return node.kind === 323 /* SyntaxKind.JSDoc */; } ts.isJSDoc = isJSDoc; function isJSDocTypeLiteral(node) { - return node.kind === 322 /* SyntaxKind.JSDocTypeLiteral */; + return node.kind === 325 /* SyntaxKind.JSDocTypeLiteral */; } ts.isJSDocTypeLiteral = isJSDocTypeLiteral; function isJSDocSignature(node) { - return node.kind === 323 /* SyntaxKind.JSDocSignature */; + return node.kind === 326 /* SyntaxKind.JSDocSignature */; } ts.isJSDocSignature = isJSDocSignature; // JSDoc Tags function isJSDocAugmentsTag(node) { - return node.kind === 328 /* SyntaxKind.JSDocAugmentsTag */; + return node.kind === 331 /* SyntaxKind.JSDocAugmentsTag */; } ts.isJSDocAugmentsTag = isJSDocAugmentsTag; function isJSDocAuthorTag(node) { - return node.kind === 330 /* SyntaxKind.JSDocAuthorTag */; + return node.kind === 333 /* SyntaxKind.JSDocAuthorTag */; } ts.isJSDocAuthorTag = isJSDocAuthorTag; function isJSDocClassTag(node) { - return node.kind === 332 /* SyntaxKind.JSDocClassTag */; + return node.kind === 335 /* SyntaxKind.JSDocClassTag */; } ts.isJSDocClassTag = isJSDocClassTag; function isJSDocCallbackTag(node) { - return node.kind === 338 /* SyntaxKind.JSDocCallbackTag */; + return node.kind === 341 /* SyntaxKind.JSDocCallbackTag */; } ts.isJSDocCallbackTag = isJSDocCallbackTag; function isJSDocPublicTag(node) { - return node.kind === 333 /* SyntaxKind.JSDocPublicTag */; + return node.kind === 336 /* SyntaxKind.JSDocPublicTag */; } ts.isJSDocPublicTag = isJSDocPublicTag; function isJSDocPrivateTag(node) { - return node.kind === 334 /* SyntaxKind.JSDocPrivateTag */; + return node.kind === 337 /* SyntaxKind.JSDocPrivateTag */; } ts.isJSDocPrivateTag = isJSDocPrivateTag; function isJSDocProtectedTag(node) { - return node.kind === 335 /* SyntaxKind.JSDocProtectedTag */; + return node.kind === 338 /* SyntaxKind.JSDocProtectedTag */; } ts.isJSDocProtectedTag = isJSDocProtectedTag; function isJSDocReadonlyTag(node) { - return node.kind === 336 /* SyntaxKind.JSDocReadonlyTag */; + return node.kind === 339 /* SyntaxKind.JSDocReadonlyTag */; } ts.isJSDocReadonlyTag = isJSDocReadonlyTag; function isJSDocOverrideTag(node) { - return node.kind === 337 /* SyntaxKind.JSDocOverrideTag */; + return node.kind === 340 /* SyntaxKind.JSDocOverrideTag */; } ts.isJSDocOverrideTag = isJSDocOverrideTag; function isJSDocDeprecatedTag(node) { - return node.kind === 331 /* SyntaxKind.JSDocDeprecatedTag */; + return node.kind === 334 /* SyntaxKind.JSDocDeprecatedTag */; } ts.isJSDocDeprecatedTag = isJSDocDeprecatedTag; function isJSDocSeeTag(node) { - return node.kind === 346 /* SyntaxKind.JSDocSeeTag */; + return node.kind === 349 /* SyntaxKind.JSDocSeeTag */; } ts.isJSDocSeeTag = isJSDocSeeTag; function isJSDocEnumTag(node) { - return node.kind === 339 /* SyntaxKind.JSDocEnumTag */; + return node.kind === 342 /* SyntaxKind.JSDocEnumTag */; } ts.isJSDocEnumTag = isJSDocEnumTag; function isJSDocParameterTag(node) { - return node.kind === 340 /* SyntaxKind.JSDocParameterTag */; + return node.kind === 343 /* SyntaxKind.JSDocParameterTag */; } ts.isJSDocParameterTag = isJSDocParameterTag; function isJSDocReturnTag(node) { - return node.kind === 341 /* SyntaxKind.JSDocReturnTag */; + return node.kind === 344 /* SyntaxKind.JSDocReturnTag */; } ts.isJSDocReturnTag = isJSDocReturnTag; function isJSDocThisTag(node) { - return node.kind === 342 /* SyntaxKind.JSDocThisTag */; + return node.kind === 345 /* SyntaxKind.JSDocThisTag */; } ts.isJSDocThisTag = isJSDocThisTag; function isJSDocTypeTag(node) { - return node.kind === 343 /* SyntaxKind.JSDocTypeTag */; + return node.kind === 346 /* SyntaxKind.JSDocTypeTag */; } ts.isJSDocTypeTag = isJSDocTypeTag; function isJSDocTemplateTag(node) { - return node.kind === 344 /* SyntaxKind.JSDocTemplateTag */; + return node.kind === 347 /* SyntaxKind.JSDocTemplateTag */; } ts.isJSDocTemplateTag = isJSDocTemplateTag; function isJSDocTypedefTag(node) { - return node.kind === 345 /* SyntaxKind.JSDocTypedefTag */; + return node.kind === 348 /* SyntaxKind.JSDocTypedefTag */; } ts.isJSDocTypedefTag = isJSDocTypedefTag; function isJSDocUnknownTag(node) { - return node.kind === 327 /* SyntaxKind.JSDocTag */; + return node.kind === 330 /* SyntaxKind.JSDocTag */; } ts.isJSDocUnknownTag = isJSDocUnknownTag; function isJSDocPropertyTag(node) { - return node.kind === 347 /* SyntaxKind.JSDocPropertyTag */; + return node.kind === 350 /* SyntaxKind.JSDocPropertyTag */; } ts.isJSDocPropertyTag = isJSDocPropertyTag; function isJSDocImplementsTag(node) { - return node.kind === 329 /* SyntaxKind.JSDocImplementsTag */; + return node.kind === 332 /* SyntaxKind.JSDocImplementsTag */; } ts.isJSDocImplementsTag = isJSDocImplementsTag; // Synthesized list /* @internal */ function isSyntaxList(n) { - return n.kind === 348 /* SyntaxKind.SyntaxList */; + return n.kind === 351 /* SyntaxKind.SyntaxList */; } ts.isSyntaxList = isSyntaxList; })(ts || (ts = {})); @@ -30026,7 +30066,7 @@ var ts; argumentsList.push(children[0]); } } - return ts.setTextRange(factory.createCallExpression(callee, + return ts.setTextRange(factory.createCallExpression(callee, /*typeArguments*/ undefined, argumentsList), location); } ts.createExpressionForJsxElement = createExpressionForJsxElement; @@ -30045,7 +30085,7 @@ var ts; argumentsList.push(children[0]); } } - return ts.setTextRange(factory.createCallExpression(createJsxFactoryExpression(factory, jsxFactoryEntity, reactNamespace, parentElement), + return ts.setTextRange(factory.createCallExpression(createJsxFactoryExpression(factory, jsxFactoryEntity, reactNamespace, parentElement), /*typeArguments*/ undefined, argumentsList), location); } ts.createExpressionForJsxFragment = createExpressionForJsxFragment; @@ -30053,11 +30093,11 @@ var ts; function createForOfBindingStatement(factory, node, boundValue) { if (ts.isVariableDeclarationList(node)) { var firstDeclaration = ts.first(node.declarations); - var updatedDeclaration = factory.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, - /*exclamationToken*/ undefined, + var updatedDeclaration = factory.updateVariableDeclaration(firstDeclaration, firstDeclaration.name, + /*exclamationToken*/ undefined, /*type*/ undefined, boundValue); return ts.setTextRange(factory.createVariableStatement( - /*modifiers*/ undefined, factory.updateVariableDeclarationList(node, [updatedDeclaration])), + /*modifiers*/ undefined, factory.updateVariableDeclarationList(node, [updatedDeclaration])), /*location*/ node); } else { @@ -30108,16 +30148,16 @@ var ts; return ts.setTextRange(factory.createObjectDefinePropertyCall(receiver, createExpressionForPropertyName(factory, property.name), factory.createPropertyDescriptor({ enumerable: factory.createFalse(), configurable: true, - get: getAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(getAccessor), - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, getAccessor.parameters, + get: getAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(getAccessor), + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, getAccessor.parameters, /*type*/ undefined, getAccessor.body // TODO: GH#18217 ), getAccessor), getAccessor), - set: setAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(setAccessor), - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, setAccessor.parameters, + set: setAccessor && ts.setTextRange(ts.setOriginalNode(factory.createFunctionExpression(ts.getModifiers(setAccessor), + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, setAccessor.parameters, /*type*/ undefined, setAccessor.body // TODO: GH#18217 ), setAccessor), setAccessor) }, !multiLine)), firstAccessor); @@ -30128,19 +30168,19 @@ var ts; return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, property.name, /*location*/ property.name), property.initializer), property), property); } function createExpressionForShorthandPropertyAssignment(factory, property, receiver) { - return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, property.name, /*location*/ property.name), factory.cloneNode(property.name)), - /*location*/ property), + return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, property.name, /*location*/ property.name), factory.cloneNode(property.name)), + /*location*/ property), /*original*/ property); } function createExpressionForMethodDeclaration(factory, method, receiver) { - return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression(ts.getModifiers(method), method.asteriskToken, - /*name*/ undefined, - /*typeParameters*/ undefined, method.parameters, + return ts.setOriginalNode(ts.setTextRange(factory.createAssignment(createMemberAccessForPropertyName(factory, receiver, method.name, /*location*/ method.name), ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression(ts.getModifiers(method), method.asteriskToken, + /*name*/ undefined, + /*typeParameters*/ undefined, method.parameters, /*type*/ undefined, method.body // TODO: GH#18217 - ), - /*location*/ method), - /*original*/ method)), - /*location*/ method), + ), + /*location*/ method), + /*original*/ method)), + /*location*/ method), /*original*/ method); } function createExpressionForObjectLiteralElementLike(factory, node, property, receiver) { @@ -30148,14 +30188,14 @@ var ts; ts.Debug.failBadSyntaxKind(property.name, "Private identifiers are not allowed in object literals."); } switch (property.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return createExpressionForAccessorDeclaration(factory, node.properties, property, receiver, !!node.multiLine); - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return createExpressionForPropertyAssignment(factory, property, receiver); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return createExpressionForShorthandPropertyAssignment(factory, property, receiver); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return createExpressionForMethodDeclaration(factory, property, receiver); } } @@ -30263,8 +30303,8 @@ var ts; } ts.startsWithUseStrict = startsWithUseStrict; function isCommaSequence(node) { - return node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ || - node.kind === 351 /* SyntaxKind.CommaListExpression */; + return node.kind === 223 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ || + node.kind === 354 /* SyntaxKind.CommaListExpression */; } ts.isCommaSequence = isCommaSequence; function isJSDocTypeAssertion(node) { @@ -30282,17 +30322,18 @@ var ts; function isOuterExpression(node, kinds) { if (kinds === void 0) { kinds = 15 /* OuterExpressionKinds.All */; } switch (node.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: if (kinds & 16 /* OuterExpressionKinds.ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) { return false; } return (kinds & 1 /* OuterExpressionKinds.Parentheses */) !== 0; - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 231 /* SyntaxKind.AsExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: return (kinds & 2 /* OuterExpressionKinds.TypeAssertions */) !== 0; - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return (kinds & 4 /* OuterExpressionKinds.NonNullAssertions */) !== 0; - case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: return (kinds & 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */) !== 0; } return false; @@ -30366,7 +30407,7 @@ var ts; } if (namedBindings) { var externalHelpersImportDeclaration = nodeFactory.createImportDeclaration( - /*modifiers*/ undefined, nodeFactory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, namedBindings), nodeFactory.createStringLiteral(ts.externalHelpersModuleNameText), + /*modifiers*/ undefined, nodeFactory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, namedBindings), nodeFactory.createStringLiteral(ts.externalHelpersModuleNameText), /*assertClause*/ undefined); ts.addEmitFlags(externalHelpersImportDeclaration, 67108864 /* EmitFlags.NeverApplyImportHelper */); return externalHelpersImportDeclaration; @@ -30413,10 +30454,10 @@ var ts; var name = namespaceDeclaration.name; return ts.isGeneratedIdentifier(name) ? name : factory.createIdentifier(ts.getSourceTextOfNodeFromSourceFile(sourceFile, name) || ts.idText(name)); } - if (node.kind === 266 /* SyntaxKind.ImportDeclaration */ && node.importClause) { + if (node.kind === 269 /* SyntaxKind.ImportDeclaration */ && node.importClause) { return factory.getGeneratedNameForNode(node); } - if (node.kind === 272 /* SyntaxKind.ExportDeclaration */ && node.moduleSpecifier) { + if (node.kind === 275 /* SyntaxKind.ExportDeclaration */ && node.moduleSpecifier) { return factory.getGeneratedNameForNode(node); } return undefined; @@ -30535,7 +30576,7 @@ var ts; } if (ts.isObjectLiteralElementLike(bindingElement)) { switch (bindingElement.kind) { - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: // `b` in `({ a: b } = ...)` // `b` in `({ a: b = 1 } = ...)` // `{b}` in `({ a: {b} } = ...)` @@ -30547,11 +30588,11 @@ var ts; // `b[0]` in `({ a: b[0] } = ...)` // `b[0]` in `({ a: b[0] = 1 } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.initializer); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: // `a` in `({ a } = ...)` // `a` in `({ a = 1 } = ...)` return bindingElement.name; - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: // `a` in `({ ...a } = ...)` return getTargetOfBindingOrAssignmentElement(bindingElement.expression); } @@ -30583,12 +30624,12 @@ var ts; */ function getRestIndicatorOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 164 /* SyntaxKind.Parameter */: - case 203 /* SyntaxKind.BindingElement */: + case 166 /* SyntaxKind.Parameter */: + case 205 /* SyntaxKind.BindingElement */: // `...` in `let [...a] = ...` return bindingElement.dotDotDotToken; - case 225 /* SyntaxKind.SpreadElement */: - case 298 /* SyntaxKind.SpreadAssignment */: + case 227 /* SyntaxKind.SpreadElement */: + case 301 /* SyntaxKind.SpreadAssignment */: // `...` in `[...a] = ...` return bindingElement; } @@ -30606,7 +30647,7 @@ var ts; ts.getPropertyNameOfBindingOrAssignmentElement = getPropertyNameOfBindingOrAssignmentElement; function tryGetPropertyNameOfBindingOrAssignmentElement(bindingElement) { switch (bindingElement.kind) { - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: // `a` in `let { a: b } = ...` // `[a]` in `let { [a]: b } = ...` // `"a"` in `let { "a": b } = ...` @@ -30621,7 +30662,7 @@ var ts; : propertyName; } break; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: // `a` in `({ a: b } = ...)` // `[a]` in `({ [a]: b } = ...)` // `"a"` in `({ "a": b } = ...)` @@ -30636,7 +30677,7 @@ var ts; : propertyName; } break; - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: // `a` in `({ ...a } = ...)` if (bindingElement.name && ts.isPrivateIdentifier(bindingElement.name)) { return ts.Debug.failBadSyntaxKind(bindingElement.name); @@ -30659,13 +30700,13 @@ var ts; */ function getElementsOfBindingOrAssignmentPattern(name) { switch (name.kind) { - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: // `a` in `{a}` // `a` in `[a]` return name.elements; - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: // `a` in `{a}` return name.properties; } @@ -30686,46 +30727,46 @@ var ts; ts.getJSDocTypeAliasName = getJSDocTypeAliasName; function canHaveIllegalType(node) { var kind = node.kind; - return kind === 171 /* SyntaxKind.Constructor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 173 /* SyntaxKind.Constructor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } ts.canHaveIllegalType = canHaveIllegalType; function canHaveIllegalTypeParameters(node) { var kind = node.kind; - return kind === 171 /* SyntaxKind.Constructor */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 173 /* SyntaxKind.Constructor */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } ts.canHaveIllegalTypeParameters = canHaveIllegalTypeParameters; function canHaveIllegalDecorators(node) { var kind = node.kind; - return kind === 296 /* SyntaxKind.PropertyAssignment */ - || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ - || kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 176 /* SyntaxKind.IndexSignature */ - || kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ - || kind === 276 /* SyntaxKind.MissingDeclaration */ - || kind === 237 /* SyntaxKind.VariableStatement */ - || kind === 258 /* SyntaxKind.InterfaceDeclaration */ - || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ - || kind === 260 /* SyntaxKind.EnumDeclaration */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ - || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || kind === 266 /* SyntaxKind.ImportDeclaration */ - || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ - || kind === 272 /* SyntaxKind.ExportDeclaration */ - || kind === 271 /* SyntaxKind.ExportAssignment */; + return kind === 299 /* SyntaxKind.PropertyAssignment */ + || kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 259 /* SyntaxKind.FunctionDeclaration */ + || kind === 173 /* SyntaxKind.Constructor */ + || kind === 178 /* SyntaxKind.IndexSignature */ + || kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 279 /* SyntaxKind.MissingDeclaration */ + || kind === 240 /* SyntaxKind.VariableStatement */ + || kind === 261 /* SyntaxKind.InterfaceDeclaration */ + || kind === 262 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 263 /* SyntaxKind.EnumDeclaration */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */ + || kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 269 /* SyntaxKind.ImportDeclaration */ + || kind === 267 /* SyntaxKind.NamespaceExportDeclaration */ + || kind === 275 /* SyntaxKind.ExportDeclaration */ + || kind === 274 /* SyntaxKind.ExportAssignment */; } ts.canHaveIllegalDecorators = canHaveIllegalDecorators; function canHaveIllegalModifiers(node) { var kind = node.kind; - return kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ - || kind === 296 /* SyntaxKind.PropertyAssignment */ - || kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ - || kind === 179 /* SyntaxKind.FunctionType */ - || kind === 276 /* SyntaxKind.MissingDeclaration */ - || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */; + return kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */ + || kind === 299 /* SyntaxKind.PropertyAssignment */ + || kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ + || kind === 181 /* SyntaxKind.FunctionType */ + || kind === 279 /* SyntaxKind.MissingDeclaration */ + || kind === 267 /* SyntaxKind.NamespaceExportDeclaration */; } ts.canHaveIllegalModifiers = canHaveIllegalModifiers; ts.isTypeNodeOrTypeParameterDeclaration = ts.or(ts.isTypeNode, ts.isTypeParameterDeclaration); @@ -30999,6 +31040,83 @@ var ts; return ts.setTextRange(factory.createNodeArray([], nodes.hasTrailingComma), nodes); } ts.elideNodes = elideNodes; + /** + * Gets the node from which a name should be generated. + */ + function getNodeForGeneratedName(name) { + if (name.autoGenerateFlags & 4 /* GeneratedIdentifierFlags.Node */) { + var autoGenerateId = name.autoGenerateId; + var node = name; + var original = node.original; + while (original) { + node = original; + // if "node" is a different generated name (having a different "autoGenerateId"), use it and stop traversing. + if (ts.isMemberName(node) + && !!(node.autoGenerateFlags & 4 /* GeneratedIdentifierFlags.Node */) + && node.autoGenerateId !== autoGenerateId) { + break; + } + original = node.original; + } + // otherwise, return the original node for the source + return node; + } + return name; + } + ts.getNodeForGeneratedName = getNodeForGeneratedName; + function formatGeneratedNamePart(part, generateName) { + return typeof part === "object" ? formatGeneratedName(/*privateName*/ false, part.prefix, part.node, part.suffix, generateName) : + typeof part === "string" ? part.length > 0 && part.charCodeAt(0) === 35 /* CharacterCodes.hash */ ? part.slice(1) : part : + ""; + } + ts.formatGeneratedNamePart = formatGeneratedNamePart; + function formatIdentifier(name, generateName) { + return typeof name === "string" ? name : + formatIdentifierWorker(name, ts.Debug.checkDefined(generateName)); + } + function formatIdentifierWorker(node, generateName) { + return ts.isGeneratedPrivateIdentifier(node) ? generateName(node).slice(1) : + ts.isGeneratedIdentifier(node) ? generateName(node) : + ts.isPrivateIdentifier(node) ? node.escapedText.slice(1) : + ts.idText(node); + } + function formatGeneratedName(privateName, prefix, baseName, suffix, generateName) { + prefix = formatGeneratedNamePart(prefix, generateName); + suffix = formatGeneratedNamePart(suffix, generateName); + baseName = formatIdentifier(baseName, generateName); + return "".concat(privateName ? "#" : "").concat(prefix).concat(baseName).concat(suffix); + } + ts.formatGeneratedName = formatGeneratedName; + /** + * Creates a private backing field for an `accessor` {@link PropertyDeclaration}. + */ + function createAccessorPropertyBackingField(factory, node, modifiers, initializer) { + return factory.updatePropertyDeclaration(node, modifiers, factory.getGeneratedPrivateNameForNode(node.name, /*prefix*/ undefined, "_accessor_storage"), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, initializer); + } + ts.createAccessorPropertyBackingField = createAccessorPropertyBackingField; + /** + * Creates a {@link GetAccessorDeclaration} that reads from a private backing field. + */ + function createAccessorPropertyGetRedirector(factory, node, modifiers, name) { + return factory.createGetAccessorDeclaration(modifiers, name, [], + /*type*/ undefined, factory.createBlock([ + factory.createReturnStatement(factory.createPropertyAccessExpression(factory.createThis(), factory.getGeneratedPrivateNameForNode(node.name, /*prefix*/ undefined, "_accessor_storage"))) + ])); + } + ts.createAccessorPropertyGetRedirector = createAccessorPropertyGetRedirector; + /** + * Creates a {@link SetAccessorDeclaration} that writes to a private backing field. + */ + function createAccessorPropertySetRedirector(factory, node, modifiers, name) { + return factory.createSetAccessorDeclaration(modifiers, name, [factory.createParameterDeclaration( + /*modifiers*/ undefined, + /*dotdotDotToken*/ undefined, "value")], factory.createBlock([ + factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createThis(), factory.getGeneratedPrivateNameForNode(node.name, /*prefix*/ undefined, "_accessor_storage")), factory.createIdentifier("value"))) + ])); + } + ts.createAccessorPropertySetRedirector = createAccessorPropertySetRedirector; })(ts || (ts = {})); var ts; (function (ts) { @@ -31008,47 +31126,48 @@ var ts; ts.setTextRange = setTextRange; function canHaveModifiers(node) { var kind = node.kind; - return kind === 163 /* SyntaxKind.TypeParameter */ - || kind === 164 /* SyntaxKind.Parameter */ - || kind === 166 /* SyntaxKind.PropertySignature */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 168 /* SyntaxKind.MethodSignature */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 176 /* SyntaxKind.IndexSignature */ - || kind === 180 /* SyntaxKind.ConstructorType */ - || kind === 213 /* SyntaxKind.FunctionExpression */ - || kind === 214 /* SyntaxKind.ArrowFunction */ - || kind === 226 /* SyntaxKind.ClassExpression */ - || kind === 237 /* SyntaxKind.VariableStatement */ - || kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 257 /* SyntaxKind.ClassDeclaration */ - || kind === 258 /* SyntaxKind.InterfaceDeclaration */ - || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ - || kind === 260 /* SyntaxKind.EnumDeclaration */ - || kind === 261 /* SyntaxKind.ModuleDeclaration */ - || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || kind === 266 /* SyntaxKind.ImportDeclaration */ - || kind === 271 /* SyntaxKind.ExportAssignment */ - || kind === 272 /* SyntaxKind.ExportDeclaration */; + return kind === 165 /* SyntaxKind.TypeParameter */ + || kind === 166 /* SyntaxKind.Parameter */ + || kind === 168 /* SyntaxKind.PropertySignature */ + || kind === 169 /* SyntaxKind.PropertyDeclaration */ + || kind === 170 /* SyntaxKind.MethodSignature */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 173 /* SyntaxKind.Constructor */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */ + || kind === 178 /* SyntaxKind.IndexSignature */ + || kind === 182 /* SyntaxKind.ConstructorType */ + || kind === 215 /* SyntaxKind.FunctionExpression */ + || kind === 216 /* SyntaxKind.ArrowFunction */ + || kind === 228 /* SyntaxKind.ClassExpression */ + || kind === 240 /* SyntaxKind.VariableStatement */ + || kind === 259 /* SyntaxKind.FunctionDeclaration */ + || kind === 260 /* SyntaxKind.ClassDeclaration */ + || kind === 261 /* SyntaxKind.InterfaceDeclaration */ + || kind === 262 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 263 /* SyntaxKind.EnumDeclaration */ + || kind === 264 /* SyntaxKind.ModuleDeclaration */ + || kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 269 /* SyntaxKind.ImportDeclaration */ + || kind === 274 /* SyntaxKind.ExportAssignment */ + || kind === 275 /* SyntaxKind.ExportDeclaration */; } ts.canHaveModifiers = canHaveModifiers; function canHaveDecorators(node) { var kind = node.kind; - return kind === 164 /* SyntaxKind.Parameter */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 226 /* SyntaxKind.ClassExpression */ - || kind === 257 /* SyntaxKind.ClassDeclaration */; + return kind === 166 /* SyntaxKind.Parameter */ + || kind === 169 /* SyntaxKind.PropertyDeclaration */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */ + || kind === 228 /* SyntaxKind.ClassExpression */ + || kind === 260 /* SyntaxKind.ClassDeclaration */; } ts.canHaveDecorators = canHaveDecorators; })(ts || (ts = {})); var ts; (function (ts) { + var _a; var SignatureFlags; (function (SignatureFlags) { SignatureFlags[SignatureFlags["None"] = 0] = "None"; @@ -31136,6 +31255,718 @@ var ts; function isImportMeta(node) { return ts.isMetaProperty(node) && node.keywordToken === 100 /* SyntaxKind.ImportKeyword */ && node.name.escapedText === "meta"; } + var forEachChildTable = (_a = {}, + _a[163 /* SyntaxKind.QualifiedName */] = function forEachChildInQualifiedName(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.left) || + visitNode(cbNode, node.right); + }, + _a[165 /* SyntaxKind.TypeParameter */] = function forEachChildInTypeParameter(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.constraint) || + visitNode(cbNode, node.default) || + visitNode(cbNode, node.expression); + }, + _a[300 /* SyntaxKind.ShorthandPropertyAssignment */] = function forEachChildInShorthandPropertyAssignment(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.equalsToken) || + visitNode(cbNode, node.objectAssignmentInitializer); + }, + _a[301 /* SyntaxKind.SpreadAssignment */] = function forEachChildInSpreadAssignment(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[166 /* SyntaxKind.Parameter */] = function forEachChildInParameter(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.dotDotDotToken) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); + }, + _a[169 /* SyntaxKind.PropertyDeclaration */] = function forEachChildInPropertyDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); + }, + _a[168 /* SyntaxKind.PropertySignature */] = function forEachChildInPropertySignature(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); + }, + _a[299 /* SyntaxKind.PropertyAssignment */] = function forEachChildInPropertyAssignment(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.initializer); + }, + _a[257 /* SyntaxKind.VariableDeclaration */] = function forEachChildInVariableDeclaration(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.exclamationToken) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.initializer); + }, + _a[205 /* SyntaxKind.BindingElement */] = function forEachChildInBindingElement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.dotDotDotToken) || + visitNode(cbNode, node.propertyName) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.initializer); + }, + _a[178 /* SyntaxKind.IndexSignature */] = function forEachChildInIndexSignature(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + }, + _a[182 /* SyntaxKind.ConstructorType */] = function forEachChildInConstructorType(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + }, + _a[181 /* SyntaxKind.FunctionType */] = function forEachChildInFunctionType(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + }, + _a[176 /* SyntaxKind.CallSignature */] = forEachChildInCallOrConstructSignature, + _a[177 /* SyntaxKind.ConstructSignature */] = forEachChildInCallOrConstructSignature, + _a[171 /* SyntaxKind.MethodDeclaration */] = function forEachChildInMethodDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.exclamationToken) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + }, + _a[170 /* SyntaxKind.MethodSignature */] = function forEachChildInMethodSignature(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + }, + _a[173 /* SyntaxKind.Constructor */] = function forEachChildInConstructor(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + }, + _a[174 /* SyntaxKind.GetAccessor */] = function forEachChildInGetAccessor(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + }, + _a[175 /* SyntaxKind.SetAccessor */] = function forEachChildInSetAccessor(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + }, + _a[259 /* SyntaxKind.FunctionDeclaration */] = function forEachChildInFunctionDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + }, + _a[215 /* SyntaxKind.FunctionExpression */] = function forEachChildInFunctionExpression(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.body); + }, + _a[216 /* SyntaxKind.ArrowFunction */] = function forEachChildInArrowFunction(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type) || + visitNode(cbNode, node.equalsGreaterThanToken) || + visitNode(cbNode, node.body); + }, + _a[172 /* SyntaxKind.ClassStaticBlockDeclaration */] = function forEachChildInClassStaticBlockDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.body); + }, + _a[180 /* SyntaxKind.TypeReference */] = function forEachChildInTypeReference(node, cbNode, cbNodes) { + return visitNode(cbNode, node.typeName) || + visitNodes(cbNode, cbNodes, node.typeArguments); + }, + _a[179 /* SyntaxKind.TypePredicate */] = function forEachChildInTypePredicate(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.assertsModifier) || + visitNode(cbNode, node.parameterName) || + visitNode(cbNode, node.type); + }, + _a[183 /* SyntaxKind.TypeQuery */] = function forEachChildInTypeQuery(node, cbNode, cbNodes) { + return visitNode(cbNode, node.exprName) || + visitNodes(cbNode, cbNodes, node.typeArguments); + }, + _a[184 /* SyntaxKind.TypeLiteral */] = function forEachChildInTypeLiteral(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.members); + }, + _a[185 /* SyntaxKind.ArrayType */] = function forEachChildInArrayType(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.elementType); + }, + _a[186 /* SyntaxKind.TupleType */] = function forEachChildInTupleType(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.elements); + }, + _a[189 /* SyntaxKind.UnionType */] = forEachChildInUnionOrIntersectionType, + _a[190 /* SyntaxKind.IntersectionType */] = forEachChildInUnionOrIntersectionType, + _a[191 /* SyntaxKind.ConditionalType */] = function forEachChildInConditionalType(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.checkType) || + visitNode(cbNode, node.extendsType) || + visitNode(cbNode, node.trueType) || + visitNode(cbNode, node.falseType); + }, + _a[192 /* SyntaxKind.InferType */] = function forEachChildInInferType(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.typeParameter); + }, + _a[202 /* SyntaxKind.ImportType */] = function forEachChildInImportType(node, cbNode, cbNodes) { + return visitNode(cbNode, node.argument) || + visitNode(cbNode, node.assertions) || + visitNode(cbNode, node.qualifier) || + visitNodes(cbNode, cbNodes, node.typeArguments); + }, + _a[298 /* SyntaxKind.ImportTypeAssertionContainer */] = function forEachChildInImportTypeAssertionContainer(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.assertClause); + }, + _a[193 /* SyntaxKind.ParenthesizedType */] = forEachChildInParenthesizedTypeOrTypeOperator, + _a[195 /* SyntaxKind.TypeOperator */] = forEachChildInParenthesizedTypeOrTypeOperator, + _a[196 /* SyntaxKind.IndexedAccessType */] = function forEachChildInIndexedAccessType(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.objectType) || + visitNode(cbNode, node.indexType); + }, + _a[197 /* SyntaxKind.MappedType */] = function forEachChildInMappedType(node, cbNode, cbNodes) { + return visitNode(cbNode, node.readonlyToken) || + visitNode(cbNode, node.typeParameter) || + visitNode(cbNode, node.nameType) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.type) || + visitNodes(cbNode, cbNodes, node.members); + }, + _a[198 /* SyntaxKind.LiteralType */] = function forEachChildInLiteralType(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.literal); + }, + _a[199 /* SyntaxKind.NamedTupleMember */] = function forEachChildInNamedTupleMember(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.dotDotDotToken) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.type); + }, + _a[203 /* SyntaxKind.ObjectBindingPattern */] = forEachChildInObjectOrArrayBindingPattern, + _a[204 /* SyntaxKind.ArrayBindingPattern */] = forEachChildInObjectOrArrayBindingPattern, + _a[206 /* SyntaxKind.ArrayLiteralExpression */] = function forEachChildInArrayLiteralExpression(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.elements); + }, + _a[207 /* SyntaxKind.ObjectLiteralExpression */] = function forEachChildInObjectLiteralExpression(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.properties); + }, + _a[208 /* SyntaxKind.PropertyAccessExpression */] = function forEachChildInPropertyAccessExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.questionDotToken) || + visitNode(cbNode, node.name); + }, + _a[209 /* SyntaxKind.ElementAccessExpression */] = function forEachChildInElementAccessExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.questionDotToken) || + visitNode(cbNode, node.argumentExpression); + }, + _a[210 /* SyntaxKind.CallExpression */] = forEachChildInCallOrNewExpression, + _a[211 /* SyntaxKind.NewExpression */] = forEachChildInCallOrNewExpression, + _a[212 /* SyntaxKind.TaggedTemplateExpression */] = function forEachChildInTaggedTemplateExpression(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tag) || + visitNode(cbNode, node.questionDotToken) || + visitNodes(cbNode, cbNodes, node.typeArguments) || + visitNode(cbNode, node.template); + }, + _a[213 /* SyntaxKind.TypeAssertionExpression */] = function forEachChildInTypeAssertionExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.type) || + visitNode(cbNode, node.expression); + }, + _a[214 /* SyntaxKind.ParenthesizedExpression */] = function forEachChildInParenthesizedExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[217 /* SyntaxKind.DeleteExpression */] = function forEachChildInDeleteExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[218 /* SyntaxKind.TypeOfExpression */] = function forEachChildInTypeOfExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[219 /* SyntaxKind.VoidExpression */] = function forEachChildInVoidExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[221 /* SyntaxKind.PrefixUnaryExpression */] = function forEachChildInPrefixUnaryExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.operand); + }, + _a[226 /* SyntaxKind.YieldExpression */] = function forEachChildInYieldExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.asteriskToken) || + visitNode(cbNode, node.expression); + }, + _a[220 /* SyntaxKind.AwaitExpression */] = function forEachChildInAwaitExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[222 /* SyntaxKind.PostfixUnaryExpression */] = function forEachChildInPostfixUnaryExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.operand); + }, + _a[223 /* SyntaxKind.BinaryExpression */] = function forEachChildInBinaryExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.left) || + visitNode(cbNode, node.operatorToken) || + visitNode(cbNode, node.right); + }, + _a[231 /* SyntaxKind.AsExpression */] = function forEachChildInAsExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.type); + }, + _a[232 /* SyntaxKind.NonNullExpression */] = function forEachChildInNonNullExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[235 /* SyntaxKind.SatisfiesExpression */] = function forEachChildInSatisfiesExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || visitNode(cbNode, node.type); + }, + _a[233 /* SyntaxKind.MetaProperty */] = function forEachChildInMetaProperty(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name); + }, + _a[224 /* SyntaxKind.ConditionalExpression */] = function forEachChildInConditionalExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.condition) || + visitNode(cbNode, node.questionToken) || + visitNode(cbNode, node.whenTrue) || + visitNode(cbNode, node.colonToken) || + visitNode(cbNode, node.whenFalse); + }, + _a[227 /* SyntaxKind.SpreadElement */] = function forEachChildInSpreadElement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[238 /* SyntaxKind.Block */] = forEachChildInBlock, + _a[265 /* SyntaxKind.ModuleBlock */] = forEachChildInBlock, + _a[308 /* SyntaxKind.SourceFile */] = function forEachChildInSourceFile(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.statements) || + visitNode(cbNode, node.endOfFileToken); + }, + _a[240 /* SyntaxKind.VariableStatement */] = function forEachChildInVariableStatement(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.declarationList); + }, + _a[258 /* SyntaxKind.VariableDeclarationList */] = function forEachChildInVariableDeclarationList(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.declarations); + }, + _a[241 /* SyntaxKind.ExpressionStatement */] = function forEachChildInExpressionStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[242 /* SyntaxKind.IfStatement */] = function forEachChildInIfStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.thenStatement) || + visitNode(cbNode, node.elseStatement); + }, + _a[243 /* SyntaxKind.DoStatement */] = function forEachChildInDoStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.statement) || + visitNode(cbNode, node.expression); + }, + _a[244 /* SyntaxKind.WhileStatement */] = function forEachChildInWhileStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + }, + _a[245 /* SyntaxKind.ForStatement */] = function forEachChildInForStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.initializer) || + visitNode(cbNode, node.condition) || + visitNode(cbNode, node.incrementor) || + visitNode(cbNode, node.statement); + }, + _a[246 /* SyntaxKind.ForInStatement */] = function forEachChildInForInStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.initializer) || + visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + }, + _a[247 /* SyntaxKind.ForOfStatement */] = function forEachChildInForOfStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.awaitModifier) || + visitNode(cbNode, node.initializer) || + visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + }, + _a[248 /* SyntaxKind.ContinueStatement */] = forEachChildInContinueOrBreakStatement, + _a[249 /* SyntaxKind.BreakStatement */] = forEachChildInContinueOrBreakStatement, + _a[250 /* SyntaxKind.ReturnStatement */] = function forEachChildInReturnStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[251 /* SyntaxKind.WithStatement */] = function forEachChildInWithStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.statement); + }, + _a[252 /* SyntaxKind.SwitchStatement */] = function forEachChildInSwitchStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.caseBlock); + }, + _a[266 /* SyntaxKind.CaseBlock */] = function forEachChildInCaseBlock(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.clauses); + }, + _a[292 /* SyntaxKind.CaseClause */] = function forEachChildInCaseClause(node, cbNode, cbNodes) { + return visitNode(cbNode, node.expression) || + visitNodes(cbNode, cbNodes, node.statements); + }, + _a[293 /* SyntaxKind.DefaultClause */] = function forEachChildInDefaultClause(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.statements); + }, + _a[253 /* SyntaxKind.LabeledStatement */] = function forEachChildInLabeledStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.label) || + visitNode(cbNode, node.statement); + }, + _a[254 /* SyntaxKind.ThrowStatement */] = function forEachChildInThrowStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[255 /* SyntaxKind.TryStatement */] = function forEachChildInTryStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.tryBlock) || + visitNode(cbNode, node.catchClause) || + visitNode(cbNode, node.finallyBlock); + }, + _a[295 /* SyntaxKind.CatchClause */] = function forEachChildInCatchClause(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.variableDeclaration) || + visitNode(cbNode, node.block); + }, + _a[167 /* SyntaxKind.Decorator */] = function forEachChildInDecorator(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[260 /* SyntaxKind.ClassDeclaration */] = forEachChildInClassDeclarationOrExpression, + _a[228 /* SyntaxKind.ClassExpression */] = forEachChildInClassDeclarationOrExpression, + _a[261 /* SyntaxKind.InterfaceDeclaration */] = function forEachChildInInterfaceDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.heritageClauses) || + visitNodes(cbNode, cbNodes, node.members); + }, + _a[262 /* SyntaxKind.TypeAliasDeclaration */] = function forEachChildInTypeAliasDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNode(cbNode, node.type); + }, + _a[263 /* SyntaxKind.EnumDeclaration */] = function forEachChildInEnumDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.members); + }, + _a[302 /* SyntaxKind.EnumMember */] = function forEachChildInEnumMember(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.initializer); + }, + _a[264 /* SyntaxKind.ModuleDeclaration */] = function forEachChildInModuleDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.body); + }, + _a[268 /* SyntaxKind.ImportEqualsDeclaration */] = function forEachChildInImportEqualsDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNode(cbNode, node.moduleReference); + }, + _a[269 /* SyntaxKind.ImportDeclaration */] = function forEachChildInImportDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.importClause) || + visitNode(cbNode, node.moduleSpecifier) || + visitNode(cbNode, node.assertClause); + }, + _a[270 /* SyntaxKind.ImportClause */] = function forEachChildInImportClause(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.namedBindings); + }, + _a[296 /* SyntaxKind.AssertClause */] = function forEachChildInAssertClause(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.elements); + }, + _a[297 /* SyntaxKind.AssertEntry */] = function forEachChildInAssertEntry(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.value); + }, + _a[267 /* SyntaxKind.NamespaceExportDeclaration */] = function forEachChildInNamespaceExportDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNode(cbNode, node.name); + }, + _a[271 /* SyntaxKind.NamespaceImport */] = function forEachChildInNamespaceImport(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name); + }, + _a[277 /* SyntaxKind.NamespaceExport */] = function forEachChildInNamespaceExport(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name); + }, + _a[272 /* SyntaxKind.NamedImports */] = forEachChildInNamedImportsOrExports, + _a[276 /* SyntaxKind.NamedExports */] = forEachChildInNamedImportsOrExports, + _a[275 /* SyntaxKind.ExportDeclaration */] = function forEachChildInExportDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.exportClause) || + visitNode(cbNode, node.moduleSpecifier) || + visitNode(cbNode, node.assertClause); + }, + _a[273 /* SyntaxKind.ImportSpecifier */] = forEachChildInImportOrExportSpecifier, + _a[278 /* SyntaxKind.ExportSpecifier */] = forEachChildInImportOrExportSpecifier, + _a[274 /* SyntaxKind.ExportAssignment */] = function forEachChildInExportAssignment(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.expression); + }, + _a[225 /* SyntaxKind.TemplateExpression */] = function forEachChildInTemplateExpression(node, cbNode, cbNodes) { + return visitNode(cbNode, node.head) || + visitNodes(cbNode, cbNodes, node.templateSpans); + }, + _a[236 /* SyntaxKind.TemplateSpan */] = function forEachChildInTemplateSpan(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression) || + visitNode(cbNode, node.literal); + }, + _a[200 /* SyntaxKind.TemplateLiteralType */] = function forEachChildInTemplateLiteralType(node, cbNode, cbNodes) { + return visitNode(cbNode, node.head) || + visitNodes(cbNode, cbNodes, node.templateSpans); + }, + _a[201 /* SyntaxKind.TemplateLiteralTypeSpan */] = function forEachChildInTemplateLiteralTypeSpan(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.type) || + visitNode(cbNode, node.literal); + }, + _a[164 /* SyntaxKind.ComputedPropertyName */] = function forEachChildInComputedPropertyName(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[294 /* SyntaxKind.HeritageClause */] = function forEachChildInHeritageClause(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.types); + }, + _a[230 /* SyntaxKind.ExpressionWithTypeArguments */] = function forEachChildInExpressionWithTypeArguments(node, cbNode, cbNodes) { + return visitNode(cbNode, node.expression) || + visitNodes(cbNode, cbNodes, node.typeArguments); + }, + _a[280 /* SyntaxKind.ExternalModuleReference */] = function forEachChildInExternalModuleReference(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[279 /* SyntaxKind.MissingDeclaration */] = function forEachChildInMissingDeclaration(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.illegalDecorators) || + visitNodes(cbNode, cbNodes, node.modifiers); + }, + _a[354 /* SyntaxKind.CommaListExpression */] = function forEachChildInCommaListExpression(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.elements); + }, + _a[281 /* SyntaxKind.JsxElement */] = function forEachChildInJsxElement(node, cbNode, cbNodes) { + return visitNode(cbNode, node.openingElement) || + visitNodes(cbNode, cbNodes, node.children) || + visitNode(cbNode, node.closingElement); + }, + _a[285 /* SyntaxKind.JsxFragment */] = function forEachChildInJsxFragment(node, cbNode, cbNodes) { + return visitNode(cbNode, node.openingFragment) || + visitNodes(cbNode, cbNodes, node.children) || + visitNode(cbNode, node.closingFragment); + }, + _a[282 /* SyntaxKind.JsxSelfClosingElement */] = forEachChildInJsxOpeningOrSelfClosingElement, + _a[283 /* SyntaxKind.JsxOpeningElement */] = forEachChildInJsxOpeningOrSelfClosingElement, + _a[289 /* SyntaxKind.JsxAttributes */] = function forEachChildInJsxAttributes(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.properties); + }, + _a[288 /* SyntaxKind.JsxAttribute */] = function forEachChildInJsxAttribute(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name) || + visitNode(cbNode, node.initializer); + }, + _a[290 /* SyntaxKind.JsxSpreadAttribute */] = function forEachChildInJsxSpreadAttribute(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + }, + _a[291 /* SyntaxKind.JsxExpression */] = function forEachChildInJsxExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.dotDotDotToken) || + visitNode(cbNode, node.expression); + }, + _a[284 /* SyntaxKind.JsxClosingElement */] = function forEachChildInJsxClosingElement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.tagName); + }, + _a[187 /* SyntaxKind.OptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[188 /* SyntaxKind.RestType */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[312 /* SyntaxKind.JSDocTypeExpression */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[318 /* SyntaxKind.JSDocNonNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[317 /* SyntaxKind.JSDocNullableType */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[319 /* SyntaxKind.JSDocOptionalType */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[321 /* SyntaxKind.JSDocVariadicType */] = forEachChildInOptionalRestOrJSDocParameterModifier, + _a[320 /* SyntaxKind.JSDocFunctionType */] = function forEachChildInJSDocFunctionType(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + }, + _a[323 /* SyntaxKind.JSDoc */] = function forEachChildInJSDoc(node, cbNode, cbNodes) { + return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) + || visitNodes(cbNode, cbNodes, node.tags); + }, + _a[349 /* SyntaxKind.JSDocSeeTag */] = function forEachChildInJSDocSeeTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNode(cbNode, node.name) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + }, + _a[313 /* SyntaxKind.JSDocNameReference */] = function forEachChildInJSDocNameReference(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name); + }, + _a[314 /* SyntaxKind.JSDocMemberName */] = function forEachChildInJSDocMemberName(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.left) || + visitNode(cbNode, node.right); + }, + _a[343 /* SyntaxKind.JSDocParameterTag */] = forEachChildInJSDocParameterOrPropertyTag, + _a[350 /* SyntaxKind.JSDocPropertyTag */] = forEachChildInJSDocParameterOrPropertyTag, + _a[333 /* SyntaxKind.JSDocAuthorTag */] = function forEachChildInJSDocAuthorTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + }, + _a[332 /* SyntaxKind.JSDocImplementsTag */] = function forEachChildInJSDocImplementsTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNode(cbNode, node.class) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + }, + _a[331 /* SyntaxKind.JSDocAugmentsTag */] = function forEachChildInJSDocAugmentsTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNode(cbNode, node.class) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + }, + _a[347 /* SyntaxKind.JSDocTemplateTag */] = function forEachChildInJSDocTemplateTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNode(cbNode, node.constraint) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + }, + _a[348 /* SyntaxKind.JSDocTypedefTag */] = function forEachChildInJSDocTypedefTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + (node.typeExpression && + node.typeExpression.kind === 312 /* SyntaxKind.JSDocTypeExpression */ + ? visitNode(cbNode, node.typeExpression) || + visitNode(cbNode, node.fullName) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) + : visitNode(cbNode, node.fullName) || + visitNode(cbNode, node.typeExpression) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); + }, + _a[341 /* SyntaxKind.JSDocCallbackTag */] = function forEachChildInJSDocCallbackTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNode(cbNode, node.fullName) || + visitNode(cbNode, node.typeExpression) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + }, + _a[344 /* SyntaxKind.JSDocReturnTag */] = forEachChildInJSDocReturnTag, + _a[346 /* SyntaxKind.JSDocTypeTag */] = forEachChildInJSDocReturnTag, + _a[345 /* SyntaxKind.JSDocThisTag */] = forEachChildInJSDocReturnTag, + _a[342 /* SyntaxKind.JSDocEnumTag */] = forEachChildInJSDocReturnTag, + _a[326 /* SyntaxKind.JSDocSignature */] = function forEachChildInJSDocSignature(node, cbNode, _cbNodes) { + return ts.forEach(node.typeParameters, cbNode) || + ts.forEach(node.parameters, cbNode) || + visitNode(cbNode, node.type); + }, + _a[327 /* SyntaxKind.JSDocLink */] = forEachChildInJSDocLinkCodeOrPlain, + _a[328 /* SyntaxKind.JSDocLinkCode */] = forEachChildInJSDocLinkCodeOrPlain, + _a[329 /* SyntaxKind.JSDocLinkPlain */] = forEachChildInJSDocLinkCodeOrPlain, + _a[325 /* SyntaxKind.JSDocTypeLiteral */] = function forEachChildInJSDocTypeLiteral(node, cbNode, _cbNodes) { + return ts.forEach(node.jsDocPropertyTags, cbNode); + }, + _a[330 /* SyntaxKind.JSDocTag */] = forEachChildInJSDocTag, + _a[335 /* SyntaxKind.JSDocClassTag */] = forEachChildInJSDocTag, + _a[336 /* SyntaxKind.JSDocPublicTag */] = forEachChildInJSDocTag, + _a[337 /* SyntaxKind.JSDocPrivateTag */] = forEachChildInJSDocTag, + _a[338 /* SyntaxKind.JSDocProtectedTag */] = forEachChildInJSDocTag, + _a[339 /* SyntaxKind.JSDocReadonlyTag */] = forEachChildInJSDocTag, + _a[334 /* SyntaxKind.JSDocDeprecatedTag */] = forEachChildInJSDocTag, + _a[340 /* SyntaxKind.JSDocOverrideTag */] = forEachChildInJSDocTag, + _a[353 /* SyntaxKind.PartiallyEmittedExpression */] = forEachChildInPartiallyEmittedExpression, + _a); + // shared + function forEachChildInCallOrConstructSignature(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.parameters) || + visitNode(cbNode, node.type); + } + function forEachChildInUnionOrIntersectionType(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.types); + } + function forEachChildInParenthesizedTypeOrTypeOperator(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.type); + } + function forEachChildInObjectOrArrayBindingPattern(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.elements); + } + function forEachChildInCallOrNewExpression(node, cbNode, cbNodes) { + return visitNode(cbNode, node.expression) || + // TODO: should we separate these branches out? + visitNode(cbNode, node.questionDotToken) || + visitNodes(cbNode, cbNodes, node.typeArguments) || + visitNodes(cbNode, cbNodes, node.arguments); + } + function forEachChildInBlock(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.statements); + } + function forEachChildInContinueOrBreakStatement(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.label); + } + function forEachChildInClassDeclarationOrExpression(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.modifiers) || + visitNode(cbNode, node.name) || + visitNodes(cbNode, cbNodes, node.typeParameters) || + visitNodes(cbNode, cbNodes, node.heritageClauses) || + visitNodes(cbNode, cbNodes, node.members); + } + function forEachChildInNamedImportsOrExports(node, cbNode, cbNodes) { + return visitNodes(cbNode, cbNodes, node.elements); + } + function forEachChildInImportOrExportSpecifier(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.propertyName) || + visitNode(cbNode, node.name); + } + function forEachChildInJsxOpeningOrSelfClosingElement(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNodes(cbNode, cbNodes, node.typeArguments) || + visitNode(cbNode, node.attributes); + } + function forEachChildInOptionalRestOrJSDocParameterModifier(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.type); + } + function forEachChildInJSDocParameterOrPropertyTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + (node.isNameFirst + ? visitNode(cbNode, node.name) || visitNode(cbNode, node.typeExpression) + : visitNode(cbNode, node.typeExpression) || visitNode(cbNode, node.name)) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + } + function forEachChildInJSDocReturnTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) || + visitNode(cbNode, node.typeExpression) || + (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + } + function forEachChildInJSDocLinkCodeOrPlain(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.name); + } + function forEachChildInJSDocTag(node, cbNode, cbNodes) { + return visitNode(cbNode, node.tagName) + || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); + } + function forEachChildInPartiallyEmittedExpression(node, cbNode, _cbNodes) { + return visitNode(cbNode, node.expression); + } /** * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes * stored in properties. If a 'cbNodes' callback is specified, it is invoked for embedded arrays; otherwise, @@ -31150,562 +31981,11 @@ var ts; * that they appear in the source code. The language service depends on this property to locate nodes by position. */ function forEachChild(node, cbNode, cbNodes) { - if (!node || node.kind <= 160 /* SyntaxKind.LastToken */) { + if (node === undefined || node.kind <= 162 /* SyntaxKind.LastToken */) { return; } - switch (node.kind) { - case 161 /* SyntaxKind.QualifiedName */: - return visitNode(cbNode, node.left) || - visitNode(cbNode, node.right); - case 163 /* SyntaxKind.TypeParameter */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.constraint) || - visitNode(cbNode, node.default) || - visitNode(cbNode, node.expression); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || - visitNode(cbNode, node.equalsToken) || - visitNode(cbNode, node.objectAssignmentInitializer); - case 298 /* SyntaxKind.SpreadAssignment */: - return visitNode(cbNode, node.expression); - case 164 /* SyntaxKind.Parameter */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.dotDotDotToken) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 167 /* SyntaxKind.PropertyDeclaration */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 166 /* SyntaxKind.PropertySignature */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 296 /* SyntaxKind.PropertyAssignment */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || - visitNode(cbNode, node.initializer); - case 254 /* SyntaxKind.VariableDeclaration */: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.exclamationToken) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.initializer); - case 203 /* SyntaxKind.BindingElement */: - return visitNode(cbNode, node.dotDotDotToken) || - visitNode(cbNode, node.propertyName) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.initializer); - case 176 /* SyntaxKind.IndexSignature */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type); - case 180 /* SyntaxKind.ConstructorType */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type); - case 179 /* SyntaxKind.FunctionType */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type); - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - return visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type); - case 169 /* SyntaxKind.MethodDeclaration */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.exclamationToken) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.body); - case 168 /* SyntaxKind.MethodSignature */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type); - case 171 /* SyntaxKind.Constructor */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.body); - case 172 /* SyntaxKind.GetAccessor */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.body); - case 173 /* SyntaxKind.SetAccessor */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.body); - case 256 /* SyntaxKind.FunctionDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.body); - case 213 /* SyntaxKind.FunctionExpression */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.body); - case 214 /* SyntaxKind.ArrowFunction */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type) || - visitNode(cbNode, node.equalsGreaterThanToken) || - visitNode(cbNode, node.body); - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.body); - case 178 /* SyntaxKind.TypeReference */: - return visitNode(cbNode, node.typeName) || - visitNodes(cbNode, cbNodes, node.typeArguments); - case 177 /* SyntaxKind.TypePredicate */: - return visitNode(cbNode, node.assertsModifier) || - visitNode(cbNode, node.parameterName) || - visitNode(cbNode, node.type); - case 181 /* SyntaxKind.TypeQuery */: - return visitNode(cbNode, node.exprName) || - visitNodes(cbNode, cbNodes, node.typeArguments); - case 182 /* SyntaxKind.TypeLiteral */: - return visitNodes(cbNode, cbNodes, node.members); - case 183 /* SyntaxKind.ArrayType */: - return visitNode(cbNode, node.elementType); - case 184 /* SyntaxKind.TupleType */: - return visitNodes(cbNode, cbNodes, node.elements); - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: - return visitNodes(cbNode, cbNodes, node.types); - case 189 /* SyntaxKind.ConditionalType */: - return visitNode(cbNode, node.checkType) || - visitNode(cbNode, node.extendsType) || - visitNode(cbNode, node.trueType) || - visitNode(cbNode, node.falseType); - case 190 /* SyntaxKind.InferType */: - return visitNode(cbNode, node.typeParameter); - case 200 /* SyntaxKind.ImportType */: - return visitNode(cbNode, node.argument) || - visitNode(cbNode, node.assertions) || - visitNode(cbNode, node.qualifier) || - visitNodes(cbNode, cbNodes, node.typeArguments); - case 295 /* SyntaxKind.ImportTypeAssertionContainer */: - return visitNode(cbNode, node.assertClause); - case 191 /* SyntaxKind.ParenthesizedType */: - case 193 /* SyntaxKind.TypeOperator */: - return visitNode(cbNode, node.type); - case 194 /* SyntaxKind.IndexedAccessType */: - return visitNode(cbNode, node.objectType) || - visitNode(cbNode, node.indexType); - case 195 /* SyntaxKind.MappedType */: - return visitNode(cbNode, node.readonlyToken) || - visitNode(cbNode, node.typeParameter) || - visitNode(cbNode, node.nameType) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type) || - visitNodes(cbNode, cbNodes, node.members); - case 196 /* SyntaxKind.LiteralType */: - return visitNode(cbNode, node.literal); - case 197 /* SyntaxKind.NamedTupleMember */: - return visitNode(cbNode, node.dotDotDotToken) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.type); - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: - return visitNodes(cbNode, cbNodes, node.elements); - case 204 /* SyntaxKind.ArrayLiteralExpression */: - return visitNodes(cbNode, cbNodes, node.elements); - case 205 /* SyntaxKind.ObjectLiteralExpression */: - return visitNodes(cbNode, cbNodes, node.properties); - case 206 /* SyntaxKind.PropertyAccessExpression */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.questionDotToken) || - visitNode(cbNode, node.name); - case 207 /* SyntaxKind.ElementAccessExpression */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.questionDotToken) || - visitNode(cbNode, node.argumentExpression); - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.questionDotToken) || - visitNodes(cbNode, cbNodes, node.typeArguments) || - visitNodes(cbNode, cbNodes, node.arguments); - case 210 /* SyntaxKind.TaggedTemplateExpression */: - return visitNode(cbNode, node.tag) || - visitNode(cbNode, node.questionDotToken) || - visitNodes(cbNode, cbNodes, node.typeArguments) || - visitNode(cbNode, node.template); - case 211 /* SyntaxKind.TypeAssertionExpression */: - return visitNode(cbNode, node.type) || - visitNode(cbNode, node.expression); - case 212 /* SyntaxKind.ParenthesizedExpression */: - return visitNode(cbNode, node.expression); - case 215 /* SyntaxKind.DeleteExpression */: - return visitNode(cbNode, node.expression); - case 216 /* SyntaxKind.TypeOfExpression */: - return visitNode(cbNode, node.expression); - case 217 /* SyntaxKind.VoidExpression */: - return visitNode(cbNode, node.expression); - case 219 /* SyntaxKind.PrefixUnaryExpression */: - return visitNode(cbNode, node.operand); - case 224 /* SyntaxKind.YieldExpression */: - return visitNode(cbNode, node.asteriskToken) || - visitNode(cbNode, node.expression); - case 218 /* SyntaxKind.AwaitExpression */: - return visitNode(cbNode, node.expression); - case 220 /* SyntaxKind.PostfixUnaryExpression */: - return visitNode(cbNode, node.operand); - case 221 /* SyntaxKind.BinaryExpression */: - return visitNode(cbNode, node.left) || - visitNode(cbNode, node.operatorToken) || - visitNode(cbNode, node.right); - case 229 /* SyntaxKind.AsExpression */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.type); - case 230 /* SyntaxKind.NonNullExpression */: - return visitNode(cbNode, node.expression); - case 231 /* SyntaxKind.MetaProperty */: - return visitNode(cbNode, node.name); - case 222 /* SyntaxKind.ConditionalExpression */: - return visitNode(cbNode, node.condition) || - visitNode(cbNode, node.questionToken) || - visitNode(cbNode, node.whenTrue) || - visitNode(cbNode, node.colonToken) || - visitNode(cbNode, node.whenFalse); - case 225 /* SyntaxKind.SpreadElement */: - return visitNode(cbNode, node.expression); - case 235 /* SyntaxKind.Block */: - case 262 /* SyntaxKind.ModuleBlock */: - return visitNodes(cbNode, cbNodes, node.statements); - case 305 /* SyntaxKind.SourceFile */: - return visitNodes(cbNode, cbNodes, node.statements) || - visitNode(cbNode, node.endOfFileToken); - case 237 /* SyntaxKind.VariableStatement */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.declarationList); - case 255 /* SyntaxKind.VariableDeclarationList */: - return visitNodes(cbNode, cbNodes, node.declarations); - case 238 /* SyntaxKind.ExpressionStatement */: - return visitNode(cbNode, node.expression); - case 239 /* SyntaxKind.IfStatement */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.thenStatement) || - visitNode(cbNode, node.elseStatement); - case 240 /* SyntaxKind.DoStatement */: - return visitNode(cbNode, node.statement) || - visitNode(cbNode, node.expression); - case 241 /* SyntaxKind.WhileStatement */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); - case 242 /* SyntaxKind.ForStatement */: - return visitNode(cbNode, node.initializer) || - visitNode(cbNode, node.condition) || - visitNode(cbNode, node.incrementor) || - visitNode(cbNode, node.statement); - case 243 /* SyntaxKind.ForInStatement */: - return visitNode(cbNode, node.initializer) || - visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); - case 244 /* SyntaxKind.ForOfStatement */: - return visitNode(cbNode, node.awaitModifier) || - visitNode(cbNode, node.initializer) || - visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); - case 245 /* SyntaxKind.ContinueStatement */: - case 246 /* SyntaxKind.BreakStatement */: - return visitNode(cbNode, node.label); - case 247 /* SyntaxKind.ReturnStatement */: - return visitNode(cbNode, node.expression); - case 248 /* SyntaxKind.WithStatement */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.statement); - case 249 /* SyntaxKind.SwitchStatement */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.caseBlock); - case 263 /* SyntaxKind.CaseBlock */: - return visitNodes(cbNode, cbNodes, node.clauses); - case 289 /* SyntaxKind.CaseClause */: - return visitNode(cbNode, node.expression) || - visitNodes(cbNode, cbNodes, node.statements); - case 290 /* SyntaxKind.DefaultClause */: - return visitNodes(cbNode, cbNodes, node.statements); - case 250 /* SyntaxKind.LabeledStatement */: - return visitNode(cbNode, node.label) || - visitNode(cbNode, node.statement); - case 251 /* SyntaxKind.ThrowStatement */: - return visitNode(cbNode, node.expression); - case 252 /* SyntaxKind.TryStatement */: - return visitNode(cbNode, node.tryBlock) || - visitNode(cbNode, node.catchClause) || - visitNode(cbNode, node.finallyBlock); - case 292 /* SyntaxKind.CatchClause */: - return visitNode(cbNode, node.variableDeclaration) || - visitNode(cbNode, node.block); - case 165 /* SyntaxKind.Decorator */: - return visitNode(cbNode, node.expression); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - return visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.heritageClauses) || - visitNodes(cbNode, cbNodes, node.members); - case 258 /* SyntaxKind.InterfaceDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNodes(cbNode, cbNodes, node.heritageClauses) || - visitNodes(cbNode, cbNodes, node.members); - case 259 /* SyntaxKind.TypeAliasDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - visitNode(cbNode, node.type); - case 260 /* SyntaxKind.EnumDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNodes(cbNode, cbNodes, node.members); - case 299 /* SyntaxKind.EnumMember */: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.initializer); - case 261 /* SyntaxKind.ModuleDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.body); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.name) || - visitNode(cbNode, node.moduleReference); - case 266 /* SyntaxKind.ImportDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.importClause) || - visitNode(cbNode, node.moduleSpecifier) || - visitNode(cbNode, node.assertClause); - case 267 /* SyntaxKind.ImportClause */: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.namedBindings); - case 293 /* SyntaxKind.AssertClause */: - return visitNodes(cbNode, cbNodes, node.elements); - case 294 /* SyntaxKind.AssertEntry */: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.value); - case 264 /* SyntaxKind.NamespaceExportDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNode(cbNode, node.name); - case 268 /* SyntaxKind.NamespaceImport */: - return visitNode(cbNode, node.name); - case 274 /* SyntaxKind.NamespaceExport */: - return visitNode(cbNode, node.name); - case 269 /* SyntaxKind.NamedImports */: - case 273 /* SyntaxKind.NamedExports */: - return visitNodes(cbNode, cbNodes, node.elements); - case 272 /* SyntaxKind.ExportDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.exportClause) || - visitNode(cbNode, node.moduleSpecifier) || - visitNode(cbNode, node.assertClause); - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: - return visitNode(cbNode, node.propertyName) || - visitNode(cbNode, node.name); - case 271 /* SyntaxKind.ExportAssignment */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers) || - visitNode(cbNode, node.expression); - case 223 /* SyntaxKind.TemplateExpression */: - return visitNode(cbNode, node.head) || - visitNodes(cbNode, cbNodes, node.templateSpans); - case 233 /* SyntaxKind.TemplateSpan */: - return visitNode(cbNode, node.expression) || - visitNode(cbNode, node.literal); - case 198 /* SyntaxKind.TemplateLiteralType */: - return visitNode(cbNode, node.head) || - visitNodes(cbNode, cbNodes, node.templateSpans); - case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: - return visitNode(cbNode, node.type) || - visitNode(cbNode, node.literal); - case 162 /* SyntaxKind.ComputedPropertyName */: - return visitNode(cbNode, node.expression); - case 291 /* SyntaxKind.HeritageClause */: - return visitNodes(cbNode, cbNodes, node.types); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - return visitNode(cbNode, node.expression) || - visitNodes(cbNode, cbNodes, node.typeArguments); - case 277 /* SyntaxKind.ExternalModuleReference */: - return visitNode(cbNode, node.expression); - case 276 /* SyntaxKind.MissingDeclaration */: - return visitNodes(cbNode, cbNodes, node.illegalDecorators) || - visitNodes(cbNode, cbNodes, node.modifiers); - case 351 /* SyntaxKind.CommaListExpression */: - return visitNodes(cbNode, cbNodes, node.elements); - case 278 /* SyntaxKind.JsxElement */: - return visitNode(cbNode, node.openingElement) || - visitNodes(cbNode, cbNodes, node.children) || - visitNode(cbNode, node.closingElement); - case 282 /* SyntaxKind.JsxFragment */: - return visitNode(cbNode, node.openingFragment) || - visitNodes(cbNode, cbNodes, node.children) || - visitNode(cbNode, node.closingFragment); - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 280 /* SyntaxKind.JsxOpeningElement */: - return visitNode(cbNode, node.tagName) || - visitNodes(cbNode, cbNodes, node.typeArguments) || - visitNode(cbNode, node.attributes); - case 286 /* SyntaxKind.JsxAttributes */: - return visitNodes(cbNode, cbNodes, node.properties); - case 285 /* SyntaxKind.JsxAttribute */: - return visitNode(cbNode, node.name) || - visitNode(cbNode, node.initializer); - case 287 /* SyntaxKind.JsxSpreadAttribute */: - return visitNode(cbNode, node.expression); - case 288 /* SyntaxKind.JsxExpression */: - return visitNode(cbNode, node.dotDotDotToken) || - visitNode(cbNode, node.expression); - case 281 /* SyntaxKind.JsxClosingElement */: - return visitNode(cbNode, node.tagName); - case 185 /* SyntaxKind.OptionalType */: - case 186 /* SyntaxKind.RestType */: - case 309 /* SyntaxKind.JSDocTypeExpression */: - case 315 /* SyntaxKind.JSDocNonNullableType */: - case 314 /* SyntaxKind.JSDocNullableType */: - case 316 /* SyntaxKind.JSDocOptionalType */: - case 318 /* SyntaxKind.JSDocVariadicType */: - return visitNode(cbNode, node.type); - case 317 /* SyntaxKind.JSDocFunctionType */: - return visitNodes(cbNode, cbNodes, node.parameters) || - visitNode(cbNode, node.type); - case 320 /* SyntaxKind.JSDoc */: - return (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) - || visitNodes(cbNode, cbNodes, node.tags); - case 346 /* SyntaxKind.JSDocSeeTag */: - return visitNode(cbNode, node.tagName) || - visitNode(cbNode, node.name) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 310 /* SyntaxKind.JSDocNameReference */: - return visitNode(cbNode, node.name); - case 311 /* SyntaxKind.JSDocMemberName */: - return visitNode(cbNode, node.left) || - visitNode(cbNode, node.right); - case 340 /* SyntaxKind.JSDocParameterTag */: - case 347 /* SyntaxKind.JSDocPropertyTag */: - return visitNode(cbNode, node.tagName) || - (node.isNameFirst - ? visitNode(cbNode, node.name) || - visitNode(cbNode, node.typeExpression) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) - : visitNode(cbNode, node.typeExpression) || - visitNode(cbNode, node.name) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); - case 330 /* SyntaxKind.JSDocAuthorTag */: - return visitNode(cbNode, node.tagName) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 329 /* SyntaxKind.JSDocImplementsTag */: - return visitNode(cbNode, node.tagName) || - visitNode(cbNode, node.class) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 328 /* SyntaxKind.JSDocAugmentsTag */: - return visitNode(cbNode, node.tagName) || - visitNode(cbNode, node.class) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 344 /* SyntaxKind.JSDocTemplateTag */: - return visitNode(cbNode, node.tagName) || - visitNode(cbNode, node.constraint) || - visitNodes(cbNode, cbNodes, node.typeParameters) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 345 /* SyntaxKind.JSDocTypedefTag */: - return visitNode(cbNode, node.tagName) || - (node.typeExpression && - node.typeExpression.kind === 309 /* SyntaxKind.JSDocTypeExpression */ - ? visitNode(cbNode, node.typeExpression) || - visitNode(cbNode, node.fullName) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)) - : visitNode(cbNode, node.fullName) || - visitNode(cbNode, node.typeExpression) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment))); - case 338 /* SyntaxKind.JSDocCallbackTag */: - return visitNode(cbNode, node.tagName) || - visitNode(cbNode, node.fullName) || - visitNode(cbNode, node.typeExpression) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 341 /* SyntaxKind.JSDocReturnTag */: - case 343 /* SyntaxKind.JSDocTypeTag */: - case 342 /* SyntaxKind.JSDocThisTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: - return visitNode(cbNode, node.tagName) || - visitNode(cbNode, node.typeExpression) || - (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 323 /* SyntaxKind.JSDocSignature */: - return ts.forEach(node.typeParameters, cbNode) || - ts.forEach(node.parameters, cbNode) || - visitNode(cbNode, node.type); - case 324 /* SyntaxKind.JSDocLink */: - case 325 /* SyntaxKind.JSDocLinkCode */: - case 326 /* SyntaxKind.JSDocLinkPlain */: - return visitNode(cbNode, node.name); - case 322 /* SyntaxKind.JSDocTypeLiteral */: - return ts.forEach(node.jsDocPropertyTags, cbNode); - case 327 /* SyntaxKind.JSDocTag */: - case 332 /* SyntaxKind.JSDocClassTag */: - case 333 /* SyntaxKind.JSDocPublicTag */: - case 334 /* SyntaxKind.JSDocPrivateTag */: - case 335 /* SyntaxKind.JSDocProtectedTag */: - case 336 /* SyntaxKind.JSDocReadonlyTag */: - case 331 /* SyntaxKind.JSDocDeprecatedTag */: - return visitNode(cbNode, node.tagName) - || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); - case 350 /* SyntaxKind.PartiallyEmittedExpression */: - return visitNode(cbNode, node.expression); - } + var fn = forEachChildTable[node.kind]; + return fn === undefined ? undefined : fn(node, cbNode, cbNodes); } ts.forEachChild = forEachChild; /** @internal */ @@ -31752,7 +32032,7 @@ var ts; continue; return res; } - if (current.kind >= 161 /* SyntaxKind.FirstNode */) { + if (current.kind >= 163 /* SyntaxKind.FirstNode */) { // add children in reverse order to the queue, so popping gives the first child for (var _i = 0, _a = gatherPossibleChildren(current); _i < _a.length; _i++) { var child = _a[_i]; @@ -31862,13 +32142,11 @@ var ts; var scanner = ts.createScanner(99 /* ScriptTarget.Latest */, /*skipTrivia*/ true); var disallowInAndDecoratorContext = 4096 /* NodeFlags.DisallowInContext */ | 16384 /* NodeFlags.DecoratorContext */; // capture constructors in 'initializeState' to avoid null checks - // tslint:disable variable-name var NodeConstructor; var TokenConstructor; var IdentifierConstructor; var PrivateIdentifierConstructor; var SourceFileConstructor; - // tslint:enable variable-name function countNode(node) { nodeCount++; return node; @@ -32577,7 +32855,7 @@ var ts; } // If we have a 'await' keyword, and we're in the [Await] context, then 'await' is // considered a keyword and is not an identifier. - if (token() === 132 /* SyntaxKind.AwaitKeyword */ && inAwaitContext()) { + if (token() === 133 /* SyntaxKind.AwaitKeyword */ && inAwaitContext()) { return false; } return token() > 116 /* SyntaxKind.LastReservedWord */; @@ -32823,7 +33101,7 @@ var ts; ts.isTemplateLiteralKind(kind) ? factory.createTemplateLiteralLikeNode(kind, "", "", /*templateFlags*/ undefined) : kind === 8 /* SyntaxKind.NumericLiteral */ ? factory.createNumericLiteral("", /*numericLiteralFlags*/ undefined) : kind === 10 /* SyntaxKind.StringLiteral */ ? factory.createStringLiteral("", /*isSingleQuote*/ undefined) : - kind === 276 /* SyntaxKind.MissingDeclaration */ ? factory.createMissingDeclaration() : + kind === 279 /* SyntaxKind.MissingDeclaration */ ? factory.createMissingDeclaration() : factory.createToken(kind); return finishNode(result, pos); } @@ -32844,8 +33122,9 @@ var ts; // Store original token kind if it is not just an Identifier so we can report appropriate error later in type checker var originalKeywordKind = token(); var text = internIdentifier(scanner.getTokenValue()); + var hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape(); nextTokenWithoutCheck(); - return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind), pos); + return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind, hasExtendedUnicodeEscape), pos); } if (token() === 80 /* SyntaxKind.PrivateIdentifier */) { parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies); @@ -32922,7 +33201,7 @@ var ts; } function parsePrivateIdentifier() { var pos = getNodePos(); - var node = factory.createPrivateIdentifier(internPrivateIdentifier(scanner.getTokenText())); + var node = factory.createPrivateIdentifier(internPrivateIdentifier(scanner.getTokenValue())); nextToken(); return finishNode(node, pos); } @@ -32946,15 +33225,16 @@ var ts; if (token() === 88 /* SyntaxKind.DefaultKeyword */) { return lookAhead(nextTokenCanFollowDefaultKeyword); } - if (token() === 152 /* SyntaxKind.TypeKeyword */) { + if (token() === 154 /* SyntaxKind.TypeKeyword */) { return lookAhead(nextTokenCanFollowExportModifier); } return canFollowExportModifier(); case 88 /* SyntaxKind.DefaultKeyword */: return nextTokenCanFollowDefaultKeyword(); + case 127 /* SyntaxKind.AccessorKeyword */: case 124 /* SyntaxKind.StaticKeyword */: - case 136 /* SyntaxKind.GetKeyword */: - case 149 /* SyntaxKind.SetKeyword */: + case 137 /* SyntaxKind.GetKeyword */: + case 151 /* SyntaxKind.SetKeyword */: nextToken(); return canFollowModifier(); default: @@ -32963,7 +33243,7 @@ var ts; } function canFollowExportModifier() { return token() !== 41 /* SyntaxKind.AsteriskToken */ - && token() !== 127 /* SyntaxKind.AsKeyword */ + && token() !== 128 /* SyntaxKind.AsKeyword */ && token() !== 18 /* SyntaxKind.OpenBraceToken */ && canFollowModifier(); } @@ -32986,7 +33266,7 @@ var ts; return token() === 84 /* SyntaxKind.ClassKeyword */ || token() === 98 /* SyntaxKind.FunctionKeyword */ || token() === 118 /* SyntaxKind.InterfaceKeyword */ || (token() === 126 /* SyntaxKind.AbstractKeyword */ && lookAhead(nextTokenIsClassKeywordOnSameLine)) || - (token() === 131 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsFunctionKeywordOnSameLine)); + (token() === 132 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsFunctionKeywordOnSameLine)); } // True if positioned at the start of a list element function isListElement(parsingContext, inErrorRecovery) { @@ -33366,20 +33646,20 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: - case 176 /* SyntaxKind.IndexSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 234 /* SyntaxKind.SemicolonClassElement */: + case 173 /* SyntaxKind.Constructor */: + case 178 /* SyntaxKind.IndexSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 237 /* SyntaxKind.SemicolonClassElement */: return true; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: // Method declarations are not necessarily reusable. An object-literal // may have a method calls "constructor(...)" and we must reparse that // into an actual .ConstructorDeclaration. var methodDeclaration = node; var nameIsConstructor = methodDeclaration.name.kind === 79 /* SyntaxKind.Identifier */ && - methodDeclaration.name.originalKeywordKind === 134 /* SyntaxKind.ConstructorKeyword */; + methodDeclaration.name.originalKeywordKind === 135 /* SyntaxKind.ConstructorKeyword */; return !nameIsConstructor; } } @@ -33388,8 +33668,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: return true; } } @@ -33398,58 +33678,58 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 237 /* SyntaxKind.VariableStatement */: - case 235 /* SyntaxKind.Block */: - case 239 /* SyntaxKind.IfStatement */: - case 238 /* SyntaxKind.ExpressionStatement */: - case 251 /* SyntaxKind.ThrowStatement */: - case 247 /* SyntaxKind.ReturnStatement */: - case 249 /* SyntaxKind.SwitchStatement */: - case 246 /* SyntaxKind.BreakStatement */: - case 245 /* SyntaxKind.ContinueStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 236 /* SyntaxKind.EmptyStatement */: - case 252 /* SyntaxKind.TryStatement */: - case 250 /* SyntaxKind.LabeledStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 253 /* SyntaxKind.DebuggerStatement */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 240 /* SyntaxKind.VariableStatement */: + case 238 /* SyntaxKind.Block */: + case 242 /* SyntaxKind.IfStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: + case 254 /* SyntaxKind.ThrowStatement */: + case 250 /* SyntaxKind.ReturnStatement */: + case 252 /* SyntaxKind.SwitchStatement */: + case 249 /* SyntaxKind.BreakStatement */: + case 248 /* SyntaxKind.ContinueStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 239 /* SyntaxKind.EmptyStatement */: + case 255 /* SyntaxKind.TryStatement */: + case 253 /* SyntaxKind.LabeledStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 256 /* SyntaxKind.DebuggerStatement */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 299 /* SyntaxKind.EnumMember */; + return node.kind === 302 /* SyntaxKind.EnumMember */; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 175 /* SyntaxKind.ConstructSignature */: - case 168 /* SyntaxKind.MethodSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 166 /* SyntaxKind.PropertySignature */: - case 174 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 170 /* SyntaxKind.MethodSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 168 /* SyntaxKind.PropertySignature */: + case 176 /* SyntaxKind.CallSignature */: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 254 /* SyntaxKind.VariableDeclaration */) { + if (node.kind !== 257 /* SyntaxKind.VariableDeclaration */) { return false; } // Very subtle incremental parsing bug. Consider the following code: @@ -33470,7 +33750,7 @@ var ts; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - if (node.kind !== 164 /* SyntaxKind.Parameter */) { + if (node.kind !== 166 /* SyntaxKind.Parameter */) { return false; } // See the comment in isReusableVariableDeclaration for why we do this. @@ -33763,14 +34043,14 @@ var ts; // If true, we should abort parsing an error function. function typeHasArrowFunctionBlockingParseError(node) { switch (node.kind) { - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return ts.nodeIsMissing(node.typeName); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: { + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: { var _a = node, parameters = _a.parameters, type = _a.type; return isMissingList(parameters) || typeHasArrowFunctionBlockingParseError(type); } - case 191 /* SyntaxKind.ParenthesizedType */: + case 193 /* SyntaxKind.ParenthesizedType */: return typeHasArrowFunctionBlockingParseError(node.type); default: return false; @@ -33839,17 +34119,17 @@ var ts; parseExpected(58 /* SyntaxKind.ColonToken */); } return finishNode(factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, // TODO(rbuckton): JSDoc parameters don't have names (except `this`/`new`), should we manufacture an empty identifier? - name, - /*questionToken*/ undefined, parseJSDocType(), + name, + /*questionToken*/ undefined, parseJSDocType(), /*initializer*/ undefined), pos); } function parseJSDocType() { scanner.setInJSDocType(true); var pos = getNodePos(); - if (parseOptional(141 /* SyntaxKind.ModuleKeyword */)) { + if (parseOptional(142 /* SyntaxKind.ModuleKeyword */)) { // TODO(rbuckton): We never set the type for a JSDocNamepathType. What should we put here? var moduleTag = factory.createJSDocNamepathType(/*type*/ undefined); terminate: while (true) { @@ -33966,9 +34246,9 @@ var ts; // Decorators are parsed in the outer [Await] context, the rest of the parameter is parsed in the function's [Await] context. var decorators = inOuterAwaitContext ? doInAwaitContext(parseDecorators) : doOutsideOfAwaitContext(parseDecorators); if (token() === 108 /* SyntaxKind.ThisKeyword */) { - var node_1 = factory.createParameterDeclaration(decorators, - /*dotDotDotToken*/ undefined, createIdentifier(/*isIdentifier*/ true), - /*questionToken*/ undefined, parseTypeAnnotation(), + var node_1 = factory.createParameterDeclaration(decorators, + /*dotDotDotToken*/ undefined, createIdentifier(/*isIdentifier*/ true), + /*questionToken*/ undefined, parseTypeAnnotation(), /*initializer*/ undefined); if (decorators) { parseErrorAtRange(decorators[0], ts.Diagnostics.Decorators_may_not_be_applied_to_this_parameters); @@ -34065,14 +34345,14 @@ var ts; function parseSignatureMember(kind) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - if (kind === 175 /* SyntaxKind.ConstructSignature */) { + if (kind === 177 /* SyntaxKind.ConstructSignature */) { parseExpected(103 /* SyntaxKind.NewKeyword */); } var typeParameters = parseTypeParameters(); var parameters = parseParameters(4 /* SignatureFlags.Type */); var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ true); parseTypeMemberSemicolon(); - var node = kind === 174 /* SyntaxKind.CallSignature */ + var node = kind === 176 /* SyntaxKind.CallSignature */ ? factory.createCallSignature(typeParameters, parameters, type) : factory.createConstructSignature(typeParameters, parameters, type); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -34166,8 +34446,8 @@ var ts; // Return true if we have the start of a signature member if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */ || - token() === 136 /* SyntaxKind.GetKeyword */ || - token() === 149 /* SyntaxKind.SetKeyword */) { + token() === 137 /* SyntaxKind.GetKeyword */ || + token() === 151 /* SyntaxKind.SetKeyword */) { return true; } var idToken = false; @@ -34199,19 +34479,19 @@ var ts; } function parseTypeMember() { if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */) { - return parseSignatureMember(174 /* SyntaxKind.CallSignature */); + return parseSignatureMember(176 /* SyntaxKind.CallSignature */); } if (token() === 103 /* SyntaxKind.NewKeyword */ && lookAhead(nextTokenIsOpenParenOrLessThan)) { - return parseSignatureMember(175 /* SyntaxKind.ConstructSignature */); + return parseSignatureMember(177 /* SyntaxKind.ConstructSignature */); } var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); var modifiers = parseModifiers(); - if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 172 /* SyntaxKind.GetAccessor */, 4 /* SignatureFlags.Type */); + if (parseContextualModifier(137 /* SyntaxKind.GetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 174 /* SyntaxKind.GetAccessor */, 4 /* SignatureFlags.Type */); } - if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 173 /* SyntaxKind.SetAccessor */, 4 /* SignatureFlags.Type */); + if (parseContextualModifier(151 /* SyntaxKind.SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers, 175 /* SyntaxKind.SetAccessor */, 4 /* SignatureFlags.Type */); } if (isIndexSignature()) { return parseIndexSignatureDeclaration(pos, hasJSDoc, /*decorators*/ undefined, modifiers); @@ -34252,9 +34532,9 @@ var ts; function isStartOfMappedType() { nextToken(); if (token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { - return nextToken() === 145 /* SyntaxKind.ReadonlyKeyword */; + return nextToken() === 146 /* SyntaxKind.ReadonlyKeyword */; } - if (token() === 145 /* SyntaxKind.ReadonlyKeyword */) { + if (token() === 146 /* SyntaxKind.ReadonlyKeyword */) { nextToken(); } return token() === 22 /* SyntaxKind.OpenBracketToken */ && nextTokenIsIdentifier() && nextToken() === 101 /* SyntaxKind.InKeyword */; @@ -34270,15 +34550,15 @@ var ts; var pos = getNodePos(); parseExpected(18 /* SyntaxKind.OpenBraceToken */); var readonlyToken; - if (token() === 145 /* SyntaxKind.ReadonlyKeyword */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { + if (token() === 146 /* SyntaxKind.ReadonlyKeyword */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { readonlyToken = parseTokenNode(); - if (readonlyToken.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { - parseExpected(145 /* SyntaxKind.ReadonlyKeyword */); + if (readonlyToken.kind !== 146 /* SyntaxKind.ReadonlyKeyword */) { + parseExpected(146 /* SyntaxKind.ReadonlyKeyword */); } } parseExpected(22 /* SyntaxKind.OpenBracketToken */); var typeParameter = parseMappedTypeParameter(); - var nameType = parseOptional(127 /* SyntaxKind.AsKeyword */) ? parseType() : undefined; + var nameType = parseOptional(128 /* SyntaxKind.AsKeyword */) ? parseType() : undefined; parseExpected(23 /* SyntaxKind.CloseBracketToken */); var questionToken; if (token() === 57 /* SyntaxKind.QuestionToken */ || token() === 39 /* SyntaxKind.PlusToken */ || token() === 40 /* SyntaxKind.MinusToken */) { @@ -34392,7 +34672,7 @@ var ts; var openBracePosition = scanner.getTokenPos(); parseExpected(18 /* SyntaxKind.OpenBraceToken */); var multiLine = scanner.hasPrecedingLineBreak(); - parseExpected(129 /* SyntaxKind.AssertKeyword */); + parseExpected(130 /* SyntaxKind.AssertKeyword */); parseExpected(58 /* SyntaxKind.ColonToken */); var clause = parseAssertClause(/*skipAssertKeyword*/ true); if (!parseExpected(19 /* SyntaxKind.CloseBraceToken */)) { @@ -34425,16 +34705,16 @@ var ts; } function parseNonArrayType() { switch (token()) { - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: // If these are followed by a dot, then parse these out as a dotted type reference instead. return tryParse(parseKeywordAndNoDot) || parseTypeReference(); case 66 /* SyntaxKind.AsteriskEqualsToken */: @@ -34467,7 +34747,7 @@ var ts; return parseTokenNode(); case 108 /* SyntaxKind.ThisKeyword */: { var thisKeyword = parseThisTypeNode(); - if (token() === 139 /* SyntaxKind.IsKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 140 /* SyntaxKind.IsKeyword */ && !scanner.hasPrecedingLineBreak()) { return parseThisTypePredicate(thisKeyword); } else { @@ -34484,7 +34764,7 @@ var ts; return parseParenthesizedType(); case 100 /* SyntaxKind.ImportKeyword */: return parseImportType(); - case 128 /* SyntaxKind.AssertsKeyword */: + case 129 /* SyntaxKind.AssertsKeyword */: return lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine) ? parseAssertsTypePredicate() : parseTypeReference(); case 15 /* SyntaxKind.TemplateHead */: return parseTemplateType(); @@ -34494,21 +34774,21 @@ var ts; } function isStartOfType(inStartOfParameter) { switch (token()) { - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: - case 154 /* SyntaxKind.UniqueKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: + case 156 /* SyntaxKind.UniqueKeyword */: case 114 /* SyntaxKind.VoidKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: case 104 /* SyntaxKind.NullKeyword */: case 108 /* SyntaxKind.ThisKeyword */: case 112 /* SyntaxKind.TypeOfKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: case 18 /* SyntaxKind.OpenBraceToken */: case 22 /* SyntaxKind.OpenBracketToken */: case 29 /* SyntaxKind.LessThanToken */: @@ -34520,14 +34800,14 @@ var ts; case 9 /* SyntaxKind.BigIntLiteral */: case 110 /* SyntaxKind.TrueKeyword */: case 95 /* SyntaxKind.FalseKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: case 41 /* SyntaxKind.AsteriskToken */: case 57 /* SyntaxKind.QuestionToken */: case 53 /* SyntaxKind.ExclamationToken */: case 25 /* SyntaxKind.DotDotDotToken */: - case 137 /* SyntaxKind.InferKeyword */: + case 138 /* SyntaxKind.InferKeyword */: case 100 /* SyntaxKind.ImportKeyword */: - case 128 /* SyntaxKind.AssertsKeyword */: + case 129 /* SyntaxKind.AssertsKeyword */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: case 15 /* SyntaxKind.TemplateHead */: return true; @@ -34604,17 +34884,17 @@ var ts; } function parseInferType() { var pos = getNodePos(); - parseExpected(137 /* SyntaxKind.InferKeyword */); + parseExpected(138 /* SyntaxKind.InferKeyword */); return finishNode(factory.createInferTypeNode(parseTypeParameterOfInferType()), pos); } function parseTypeOperatorOrHigher() { var operator = token(); switch (operator) { - case 140 /* SyntaxKind.KeyOfKeyword */: - case 154 /* SyntaxKind.UniqueKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 141 /* SyntaxKind.KeyOfKeyword */: + case 156 /* SyntaxKind.UniqueKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: return parseTypeOperator(operator); - case 137 /* SyntaxKind.InferKeyword */: + case 138 /* SyntaxKind.InferKeyword */: return parseInferType(); } return allowConditionalTypesAnd(parsePostfixTypeOrHigher); @@ -34734,16 +35014,16 @@ var ts; } function parseTypePredicatePrefix() { var id = parseIdentifier(); - if (token() === 139 /* SyntaxKind.IsKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 140 /* SyntaxKind.IsKeyword */ && !scanner.hasPrecedingLineBreak()) { nextToken(); return id; } } function parseAssertsTypePredicate() { var pos = getNodePos(); - var assertsModifier = parseExpectedToken(128 /* SyntaxKind.AssertsKeyword */); + var assertsModifier = parseExpectedToken(129 /* SyntaxKind.AssertsKeyword */); var parameterName = token() === 108 /* SyntaxKind.ThisKeyword */ ? parseThisTypeNode() : parseIdentifier(); - var type = parseOptional(139 /* SyntaxKind.IsKeyword */) ? parseType() : undefined; + var type = parseOptional(140 /* SyntaxKind.IsKeyword */) ? parseType() : undefined; return finishNode(factory.createTypePredicateNode(assertsModifier, parameterName, type), pos); } function parseType() { @@ -34813,7 +35093,7 @@ var ts; case 45 /* SyntaxKind.PlusPlusToken */: case 46 /* SyntaxKind.MinusMinusToken */: case 29 /* SyntaxKind.LessThanToken */: - case 132 /* SyntaxKind.AwaitKeyword */: + case 133 /* SyntaxKind.AwaitKeyword */: case 125 /* SyntaxKind.YieldKeyword */: case 80 /* SyntaxKind.PrivateIdentifier */: // Yield/await always starts an expression. Either it is an identifier (in which case @@ -34970,10 +35250,10 @@ var ts; function parseSimpleArrowFunctionExpression(pos, identifier, allowReturnTypeInArrowFunction, asyncModifier) { ts.Debug.assert(token() === 38 /* SyntaxKind.EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); var parameter = factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, identifier, - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, identifier, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); finishNode(parameter, identifier.pos); var parameters = createNodeArray([parameter], parameter.pos, parameter.end); @@ -35001,7 +35281,7 @@ var ts; // Unknown -> There *might* be a parenthesized arrow function here. // Speculatively look ahead to be sure, and rollback if not. function isParenthesizedArrowFunctionExpression() { - if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */ || token() === 131 /* SyntaxKind.AsyncKeyword */) { + if (token() === 20 /* SyntaxKind.OpenParenToken */ || token() === 29 /* SyntaxKind.LessThanToken */ || token() === 132 /* SyntaxKind.AsyncKeyword */) { return lookAhead(isParenthesizedArrowFunctionExpressionWorker); } if (token() === 38 /* SyntaxKind.EqualsGreaterThanToken */) { @@ -35014,7 +35294,7 @@ var ts; return 0 /* Tristate.False */; } function isParenthesizedArrowFunctionExpressionWorker() { - if (token() === 131 /* SyntaxKind.AsyncKeyword */) { + if (token() === 132 /* SyntaxKind.AsyncKeyword */) { nextToken(); if (scanner.hasPrecedingLineBreak()) { return 0 /* Tristate.False */; @@ -35058,8 +35338,8 @@ var ts; // Check for "(xxx yyy", where xxx is a modifier and yyy is an identifier. This // isn't actually allowed, but we want to treat it as a lambda so we can provide // a good error message. - if (ts.isModifierKind(second) && second !== 131 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) { - if (nextToken() === 127 /* SyntaxKind.AsKeyword */) { + if (ts.isModifierKind(second) && second !== 132 /* SyntaxKind.AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) { + if (nextToken() === 128 /* SyntaxKind.AsKeyword */) { // https://github.com/microsoft/TypeScript/issues/44466 return 0 /* Tristate.False */; } @@ -35141,7 +35421,7 @@ var ts; } function tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction) { // We do a check here so that we won't be doing unnecessarily call to "lookAhead" - if (token() === 131 /* SyntaxKind.AsyncKeyword */) { + if (token() === 132 /* SyntaxKind.AsyncKeyword */) { if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* Tristate.True */) { var pos = getNodePos(); var asyncModifier = parseModifiersForArrowFunction(); @@ -35155,7 +35435,7 @@ var ts; // AsyncArrowFunctionExpression: // 1) async[no LineTerminator here]AsyncArrowBindingIdentifier[?Yield][no LineTerminator here]=>AsyncConciseBody[?In] // 2) CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await][no LineTerminator here]=>AsyncConciseBody[?In] - if (token() === 131 /* SyntaxKind.AsyncKeyword */) { + if (token() === 132 /* SyntaxKind.AsyncKeyword */) { nextToken(); // If the "async" is followed by "=>" token then it is not a beginning of an async arrow-function // but instead a simple arrow-function which will be parsed inside "parseAssignmentExpressionOrHigher" @@ -35221,7 +35501,7 @@ var ts; // // So we need just a bit of lookahead to ensure that it can only be a signature. var unwrappedType = type; - while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 191 /* SyntaxKind.ParenthesizedType */) { + while ((unwrappedType === null || unwrappedType === void 0 ? void 0 : unwrappedType.kind) === 193 /* SyntaxKind.ParenthesizedType */) { unwrappedType = unwrappedType.type; // Skip parens if need be } var hasJSDocFunctionType = unwrappedType && ts.isJSDocFunctionType(unwrappedType); @@ -35316,7 +35596,7 @@ var ts; return parseBinaryExpressionRest(precedence, leftOperand, pos); } function isInOrOfKeyword(t) { - return t === 101 /* SyntaxKind.InKeyword */ || t === 160 /* SyntaxKind.OfKeyword */; + return t === 101 /* SyntaxKind.InKeyword */ || t === 162 /* SyntaxKind.OfKeyword */; } function parseBinaryExpressionRest(precedence, leftOperand, pos) { while (true) { @@ -35354,7 +35634,7 @@ var ts; if (token() === 101 /* SyntaxKind.InKeyword */ && inDisallowInContext()) { break; } - if (token() === 127 /* SyntaxKind.AsKeyword */) { + if (token() === 128 /* SyntaxKind.AsKeyword */ || token() === 150 /* SyntaxKind.SatisfiesKeyword */) { // Make sure we *do* perform ASI for constructs like this: // var x = foo // as (Bar) @@ -35364,8 +35644,10 @@ var ts; break; } else { + var keywordKind = token(); nextToken(); - leftOperand = makeAsExpression(leftOperand, parseType()); + leftOperand = keywordKind === 150 /* SyntaxKind.SatisfiesKeyword */ ? makeSatisfiesExpression(leftOperand, parseType()) : + makeAsExpression(leftOperand, parseType()); } } else { @@ -35380,6 +35662,9 @@ var ts; } return ts.getBinaryOperatorPrecedence(token()) > 0; } + function makeSatisfiesExpression(left, right) { + return finishNode(factory.createSatisfiesExpression(left, right), left.pos); + } function makeBinaryExpression(left, operatorToken, right, pos) { return finishNode(factory.createBinaryExpression(left, operatorToken, right), pos); } @@ -35403,7 +35688,7 @@ var ts; return finishNode(factory.createVoidExpression(nextTokenAnd(parseSimpleUnaryExpression)), pos); } function isAwaitExpression() { - if (token() === 132 /* SyntaxKind.AwaitKeyword */) { + if (token() === 133 /* SyntaxKind.AwaitKeyword */) { if (inAwaitContext()) { return true; } @@ -35456,7 +35741,7 @@ var ts; if (token() === 42 /* SyntaxKind.AsteriskAsteriskToken */) { var pos = ts.skipTrivia(sourceText, simpleUnaryExpression.pos); var end = simpleUnaryExpression.end; - if (simpleUnaryExpression.kind === 211 /* SyntaxKind.TypeAssertionExpression */) { + if (simpleUnaryExpression.kind === 213 /* SyntaxKind.TypeAssertionExpression */) { parseErrorAt(pos, end, ts.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { @@ -35497,7 +35782,7 @@ var ts; // UnaryExpression (modified): // < type > UnaryExpression return parseTypeAssertion(); - case 132 /* SyntaxKind.AwaitKeyword */: + case 133 /* SyntaxKind.AwaitKeyword */: if (isAwaitExpression()) { return parseAwaitExpression(); } @@ -35527,7 +35812,7 @@ var ts; case 89 /* SyntaxKind.DeleteKeyword */: case 112 /* SyntaxKind.TypeOfKeyword */: case 114 /* SyntaxKind.VoidKeyword */: - case 132 /* SyntaxKind.AwaitKeyword */: + case 133 /* SyntaxKind.AwaitKeyword */: return false; case 29 /* SyntaxKind.LessThanToken */: // If we are not in JSX context, we are parsing TypeAssertion which is an UnaryExpression @@ -35710,11 +35995,11 @@ var ts; var pos = getNodePos(); var opening = parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext); var result; - if (opening.kind === 280 /* SyntaxKind.JsxOpeningElement */) { + if (opening.kind === 283 /* SyntaxKind.JsxOpeningElement */) { var children = parseJsxChildren(opening); var closingElement = void 0; var lastChild = children[children.length - 1]; - if ((lastChild === null || lastChild === void 0 ? void 0 : lastChild.kind) === 278 /* SyntaxKind.JsxElement */ + if ((lastChild === null || lastChild === void 0 ? void 0 : lastChild.kind) === 281 /* SyntaxKind.JsxElement */ && !tagNamesAreEquivalent(lastChild.openingElement.tagName, lastChild.closingElement.tagName) && tagNamesAreEquivalent(opening.tagName, lastChild.closingElement.tagName)) { // when an unclosed JsxOpeningElement incorrectly parses its parent's JsxClosingElement, @@ -35740,11 +36025,11 @@ var ts; } result = finishNode(factory.createJsxElement(opening, children, closingElement), pos); } - else if (opening.kind === 283 /* SyntaxKind.JsxOpeningFragment */) { + else if (opening.kind === 286 /* SyntaxKind.JsxOpeningFragment */) { result = finishNode(factory.createJsxFragment(opening, parseJsxChildren(opening), parseJsxClosingFragment(inExpressionContext)), pos); } else { - ts.Debug.assert(opening.kind === 279 /* SyntaxKind.JsxSelfClosingElement */); + ts.Debug.assert(opening.kind === 282 /* SyntaxKind.JsxSelfClosingElement */); // Nothing else to do for self-closing elements result = opening; } @@ -35814,7 +36099,7 @@ var ts; break; list.push(child); if (ts.isJsxOpeningElement(openingTag) - && (child === null || child === void 0 ? void 0 : child.kind) === 278 /* SyntaxKind.JsxElement */ + && (child === null || child === void 0 ? void 0 : child.kind) === 281 /* SyntaxKind.JsxElement */ && !tagNamesAreEquivalent(child.openingElement.tagName, child.closingElement.tagName) && tagNamesAreEquivalent(openingTag.tagName, child.closingElement.tagName)) { // stop after parsing a mismatched child like
...(
) in order to reattach the
higher @@ -35986,7 +36271,7 @@ var ts; if (node.flags & 32 /* NodeFlags.OptionalChain */) { return true; } - // check for an optional chain a non-null expression + // check for an optional chain in a non-null expression if (ts.isNonNullExpression(node)) { var expr = node.expression; while (ts.isNonNullExpression(expr) && !(expr.flags & 32 /* NodeFlags.OptionalChain */)) { @@ -36059,7 +36344,7 @@ var ts; } if (isTemplateStartOfTaggedTemplate()) { // Absorb type arguments into TemplateExpression when preceding expression is ExpressionWithTypeArguments - expression = !questionDotToken && expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ ? + expression = !questionDotToken && expression.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */ ? parseTaggedTemplateRest(pos, expression.expression, questionDotToken, expression.typeArguments) : parseTaggedTemplateRest(pos, expression, questionDotToken, /*typeArguments*/ undefined); continue; @@ -36106,7 +36391,7 @@ var ts; } if (typeArguments || token() === 20 /* SyntaxKind.OpenParenToken */) { // Absorb type arguments into CallExpression when preceding expression is ExpressionWithTypeArguments - if (!questionDotToken && expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { + if (!questionDotToken && expression.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */) { typeArguments = expression.typeArguments; expression = expression.expression; } @@ -36192,7 +36477,7 @@ var ts; return parseArrayLiteralExpression(); case 18 /* SyntaxKind.OpenBraceToken */: return parseObjectLiteralExpression(); - case 131 /* SyntaxKind.AsyncKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: // Async arrow functions are parsed earlier in parseAssignmentExpressionOrHigher. // If we encounter `async [no LineTerminator here] function` then this is an async // function; otherwise, its an identifier. @@ -36259,11 +36544,11 @@ var ts; } var decorators = parseDecorators(); var modifiers = parseModifiers(); - if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */, 0 /* SignatureFlags.None */); + if (parseContextualModifier(137 /* SyntaxKind.GetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 174 /* SyntaxKind.GetAccessor */, 0 /* SignatureFlags.None */); } - if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */, 0 /* SignatureFlags.None */); + if (parseContextualModifier(151 /* SyntaxKind.SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 175 /* SyntaxKind.SetAccessor */, 0 /* SignatureFlags.None */); } var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); var tokenIsIdentifier = isIdentifier(); @@ -36351,7 +36636,7 @@ var ts; var expression = parseMemberExpressionRest(expressionPos, parsePrimaryExpression(), /*allowOptionalChain*/ false); var typeArguments; // Absorb type arguments into NewExpression when preceding expression is ExpressionWithTypeArguments - if (expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { + if (expression.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */) { typeArguments = expression.typeArguments; expression = expression.expression; } @@ -36455,7 +36740,7 @@ var ts; var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); parseExpected(97 /* SyntaxKind.ForKeyword */); - var awaitToken = parseOptionalToken(132 /* SyntaxKind.AwaitKeyword */); + var awaitToken = parseOptionalToken(133 /* SyntaxKind.AwaitKeyword */); parseExpected(20 /* SyntaxKind.OpenParenToken */); var initializer; if (token() !== 26 /* SyntaxKind.SemicolonToken */) { @@ -36467,7 +36752,7 @@ var ts; } } var node; - if (awaitToken ? parseExpected(160 /* SyntaxKind.OfKeyword */) : parseOptional(160 /* SyntaxKind.OfKeyword */)) { + if (awaitToken ? parseExpected(162 /* SyntaxKind.OfKeyword */) : parseOptional(162 /* SyntaxKind.OfKeyword */)) { var expression = allowInAnd(function () { return parseAssignmentExpressionOrHigher(/*allowReturnTypeInArrowFunction*/ true); }); parseExpected(21 /* SyntaxKind.CloseParenToken */); node = factory.createForOfStatement(awaitToken, initializer, expression, parseStatement()); @@ -36494,10 +36779,10 @@ var ts; function parseBreakOrContinueStatement(kind) { var pos = getNodePos(); var hasJSDoc = hasPrecedingJSDocComment(); - parseExpected(kind === 246 /* SyntaxKind.BreakStatement */ ? 81 /* SyntaxKind.BreakKeyword */ : 86 /* SyntaxKind.ContinueKeyword */); + parseExpected(kind === 249 /* SyntaxKind.BreakStatement */ ? 81 /* SyntaxKind.BreakKeyword */ : 86 /* SyntaxKind.ContinueKeyword */); var label = canParseSemicolon() ? undefined : parseIdentifier(); parseSemicolon(); - var node = kind === 246 /* SyntaxKind.BreakStatement */ + var node = kind === 249 /* SyntaxKind.BreakStatement */ ? factory.createBreakStatement(label) : factory.createContinueStatement(label); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -36688,25 +36973,26 @@ var ts; // // could be legal, it would add complexity for very little gain. case 118 /* SyntaxKind.InterfaceKeyword */: - case 152 /* SyntaxKind.TypeKeyword */: + case 154 /* SyntaxKind.TypeKeyword */: return nextTokenIsIdentifierOnSameLine(); - case 141 /* SyntaxKind.ModuleKeyword */: - case 142 /* SyntaxKind.NamespaceKeyword */: + case 142 /* SyntaxKind.ModuleKeyword */: + case 143 /* SyntaxKind.NamespaceKeyword */: return nextTokenIsIdentifierOrStringLiteralOnSameLine(); case 126 /* SyntaxKind.AbstractKeyword */: - case 131 /* SyntaxKind.AsyncKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: case 123 /* SyntaxKind.PublicKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: nextToken(); // ASI takes effect for this modifier. if (scanner.hasPrecedingLineBreak()) { return false; } continue; - case 157 /* SyntaxKind.GlobalKeyword */: + case 159 /* SyntaxKind.GlobalKeyword */: nextToken(); return token() === 18 /* SyntaxKind.OpenBraceToken */ || token() === 79 /* SyntaxKind.Identifier */ || token() === 93 /* SyntaxKind.ExportKeyword */; case 100 /* SyntaxKind.ImportKeyword */: @@ -36715,12 +37001,12 @@ var ts; token() === 18 /* SyntaxKind.OpenBraceToken */ || ts.tokenIsIdentifierOrKeyword(token()); case 93 /* SyntaxKind.ExportKeyword */: var currentToken_1 = nextToken(); - if (currentToken_1 === 152 /* SyntaxKind.TypeKeyword */) { + if (currentToken_1 === 154 /* SyntaxKind.TypeKeyword */) { currentToken_1 = lookAhead(nextToken); } if (currentToken_1 === 63 /* SyntaxKind.EqualsToken */ || currentToken_1 === 41 /* SyntaxKind.AsteriskToken */ || currentToken_1 === 18 /* SyntaxKind.OpenBraceToken */ || currentToken_1 === 88 /* SyntaxKind.DefaultKeyword */ || - currentToken_1 === 127 /* SyntaxKind.AsKeyword */) { + currentToken_1 === 128 /* SyntaxKind.AsKeyword */) { return true; } continue; @@ -36768,20 +37054,21 @@ var ts; case 85 /* SyntaxKind.ConstKeyword */: case 93 /* SyntaxKind.ExportKeyword */: return isStartOfDeclaration(); - case 131 /* SyntaxKind.AsyncKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 118 /* SyntaxKind.InterfaceKeyword */: - case 141 /* SyntaxKind.ModuleKeyword */: - case 142 /* SyntaxKind.NamespaceKeyword */: - case 152 /* SyntaxKind.TypeKeyword */: - case 157 /* SyntaxKind.GlobalKeyword */: + case 142 /* SyntaxKind.ModuleKeyword */: + case 143 /* SyntaxKind.NamespaceKeyword */: + case 154 /* SyntaxKind.TypeKeyword */: + case 159 /* SyntaxKind.GlobalKeyword */: // When these don't start a declaration, they're an identifier in an expression statement return true; + case 127 /* SyntaxKind.AccessorKeyword */: case 123 /* SyntaxKind.PublicKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: case 124 /* SyntaxKind.StaticKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: // When these don't start a declaration, they may be the start of a class member if an identifier // immediately follows. Otherwise they're an identifier in an expression statement. return isStartOfDeclaration() || !lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); @@ -36824,9 +37111,9 @@ var ts; case 97 /* SyntaxKind.ForKeyword */: return parseForOrForInOrForOfStatement(); case 86 /* SyntaxKind.ContinueKeyword */: - return parseBreakOrContinueStatement(245 /* SyntaxKind.ContinueStatement */); + return parseBreakOrContinueStatement(248 /* SyntaxKind.ContinueStatement */); case 81 /* SyntaxKind.BreakKeyword */: - return parseBreakOrContinueStatement(246 /* SyntaxKind.BreakStatement */); + return parseBreakOrContinueStatement(249 /* SyntaxKind.BreakStatement */); case 105 /* SyntaxKind.ReturnKeyword */: return parseReturnStatement(); case 116 /* SyntaxKind.WithKeyword */: @@ -36845,12 +37132,12 @@ var ts; return parseDebuggerStatement(); case 59 /* SyntaxKind.AtToken */: return parseDeclaration(); - case 131 /* SyntaxKind.AsyncKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: case 118 /* SyntaxKind.InterfaceKeyword */: - case 152 /* SyntaxKind.TypeKeyword */: - case 141 /* SyntaxKind.ModuleKeyword */: - case 142 /* SyntaxKind.NamespaceKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 154 /* SyntaxKind.TypeKeyword */: + case 142 /* SyntaxKind.ModuleKeyword */: + case 143 /* SyntaxKind.NamespaceKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 85 /* SyntaxKind.ConstKeyword */: case 92 /* SyntaxKind.EnumKeyword */: case 93 /* SyntaxKind.ExportKeyword */: @@ -36859,9 +37146,10 @@ var ts; case 122 /* SyntaxKind.ProtectedKeyword */: case 123 /* SyntaxKind.PublicKeyword */: case 126 /* SyntaxKind.AbstractKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: case 124 /* SyntaxKind.StaticKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: - case 157 /* SyntaxKind.GlobalKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: + case 159 /* SyntaxKind.GlobalKeyword */: if (isStartOfDeclaration()) { return parseDeclaration(); } @@ -36870,7 +37158,7 @@ var ts; return parseExpressionOrLabeledStatement(); } function isDeclareModifier(modifier) { - return modifier.kind === 135 /* SyntaxKind.DeclareKeyword */; + return modifier.kind === 136 /* SyntaxKind.DeclareKeyword */; } function parseDeclaration() { // `parseListElement` attempted to get the reused node at this position, @@ -36916,13 +37204,13 @@ var ts; return parseClassDeclaration(pos, hasJSDoc, decorators, modifiers); case 118 /* SyntaxKind.InterfaceKeyword */: return parseInterfaceDeclaration(pos, hasJSDoc, decorators, modifiers); - case 152 /* SyntaxKind.TypeKeyword */: + case 154 /* SyntaxKind.TypeKeyword */: return parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers); case 92 /* SyntaxKind.EnumKeyword */: return parseEnumDeclaration(pos, hasJSDoc, decorators, modifiers); - case 157 /* SyntaxKind.GlobalKeyword */: - case 141 /* SyntaxKind.ModuleKeyword */: - case 142 /* SyntaxKind.NamespaceKeyword */: + case 159 /* SyntaxKind.GlobalKeyword */: + case 142 /* SyntaxKind.ModuleKeyword */: + case 143 /* SyntaxKind.NamespaceKeyword */: return parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers); case 100 /* SyntaxKind.ImportKeyword */: return parseImportDeclarationOrImportEqualsDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36932,7 +37220,7 @@ var ts; case 88 /* SyntaxKind.DefaultKeyword */: case 63 /* SyntaxKind.EqualsToken */: return parseExportAssignment(pos, hasJSDoc, decorators, modifiers); - case 127 /* SyntaxKind.AsKeyword */: + case 128 /* SyntaxKind.AsKeyword */: return parseNamespaceExportDeclaration(pos, hasJSDoc, decorators, modifiers); default: return parseExportDeclaration(pos, hasJSDoc, decorators, modifiers); @@ -36941,7 +37229,7 @@ var ts; if (decorators || modifiers) { // We reached this point because we encountered decorators and/or modifiers and assumed a declaration // would follow. For recovery and error reporting purposes, return an incomplete declaration. - var missing = createMissingNode(276 /* SyntaxKind.MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); + var missing = createMissingNode(279 /* SyntaxKind.MissingDeclaration */, /*reportAtCurrentPosition*/ true, ts.Diagnostics.Declaration_expected); ts.setTextRangePos(missing, pos); missing.illegalDecorators = decorators; missing.modifiers = modifiers; @@ -37067,7 +37355,7 @@ var ts; // this context. // The checker will then give an error that there is an empty declaration list. var declarations; - if (token() === 160 /* SyntaxKind.OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { + if (token() === 162 /* SyntaxKind.OfKeyword */ && lookAhead(canFollowContextualOfKeyword)) { declarations = createMissingList(); } else { @@ -37095,9 +37383,9 @@ var ts; parseExpected(98 /* SyntaxKind.FunctionKeyword */); var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */); // We don't parse the name here in await context, instead we will report a grammar error in the checker. - var name = modifierFlags & 512 /* ModifierFlags.Default */ ? parseOptionalBindingIdentifier() : parseBindingIdentifier(); + var name = modifierFlags & 1024 /* ModifierFlags.Default */ ? parseOptionalBindingIdentifier() : parseBindingIdentifier(); var isGenerator = asteriskToken ? 1 /* SignatureFlags.Yield */ : 0 /* SignatureFlags.None */; - var isAsync = modifierFlags & 256 /* ModifierFlags.Async */ ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; + var isAsync = modifierFlags & 512 /* ModifierFlags.Async */ ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */; var typeParameters = parseTypeParameters(); if (modifierFlags & 1 /* ModifierFlags.Export */) setAwaitContext(/*value*/ true); @@ -37110,8 +37398,8 @@ var ts; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseConstructorName() { - if (token() === 134 /* SyntaxKind.ConstructorKeyword */) { - return parseExpected(134 /* SyntaxKind.ConstructorKeyword */); + if (token() === 135 /* SyntaxKind.ConstructorKeyword */) { + return parseExpected(135 /* SyntaxKind.ConstructorKeyword */); } if (token() === 10 /* SyntaxKind.StringLiteral */ && lookAhead(nextToken) === 20 /* SyntaxKind.OpenParenToken */) { return tryParse(function () { @@ -37173,7 +37461,7 @@ var ts; var parameters = parseParameters(0 /* SignatureFlags.None */); var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false); var body = parseFunctionBlockOrSemicolon(flags); - var node = kind === 172 /* SyntaxKind.GetAccessor */ + var node = kind === 174 /* SyntaxKind.GetAccessor */ ? factory.createGetAccessorDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, parameters, type, body) : factory.createSetAccessorDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, parameters, body); // Keep track of `typeParameters` (for both) and `type` (for setters) if they were parsed those indicate grammar errors @@ -37217,7 +37505,7 @@ var ts; // If we were able to get any potential identifier... if (idToken !== undefined) { // If we have a non-keyword identifier, or if we have an accessor, then it's safe to parse. - if (!ts.isKeyword(idToken) || idToken === 149 /* SyntaxKind.SetKeyword */ || idToken === 136 /* SyntaxKind.GetKeyword */) { + if (!ts.isKeyword(idToken) || idToken === 151 /* SyntaxKind.SetKeyword */ || idToken === 137 /* SyntaxKind.GetKeyword */) { return true; } // If it *is* a keyword, but not an accessor, check a little farther along @@ -37260,7 +37548,7 @@ var ts; return body; } function parseDecoratorExpression() { - if (inAwaitContext() && token() === 132 /* SyntaxKind.AwaitKeyword */) { + if (inAwaitContext() && token() === 133 /* SyntaxKind.AwaitKeyword */) { // `@await` is is disallowed in an [Await] context, but can cause parsing to go off the rails // This simply parses the missing identifier and moves on. var pos = getNodePos(); @@ -37338,10 +37626,10 @@ var ts; } function parseModifiersForArrowFunction() { var modifiers; - if (token() === 131 /* SyntaxKind.AsyncKeyword */) { + if (token() === 132 /* SyntaxKind.AsyncKeyword */) { var pos = getNodePos(); nextToken(); - var modifier = finishNode(factory.createToken(131 /* SyntaxKind.AsyncKeyword */), pos); + var modifier = finishNode(factory.createToken(132 /* SyntaxKind.AsyncKeyword */), pos); modifiers = createNodeArray([modifier], pos); } return modifiers; @@ -37358,13 +37646,13 @@ var ts; if (token() === 124 /* SyntaxKind.StaticKeyword */ && lookAhead(nextTokenIsOpenBrace)) { return parseClassStaticBlockDeclaration(pos, hasJSDoc, decorators, modifiers); } - if (parseContextualModifier(136 /* SyntaxKind.GetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 172 /* SyntaxKind.GetAccessor */, 0 /* SignatureFlags.None */); + if (parseContextualModifier(137 /* SyntaxKind.GetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 174 /* SyntaxKind.GetAccessor */, 0 /* SignatureFlags.None */); } - if (parseContextualModifier(149 /* SyntaxKind.SetKeyword */)) { - return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 173 /* SyntaxKind.SetAccessor */, 0 /* SignatureFlags.None */); + if (parseContextualModifier(151 /* SyntaxKind.SetKeyword */)) { + return parseAccessorDeclaration(pos, hasJSDoc, decorators, modifiers, 175 /* SyntaxKind.SetAccessor */, 0 /* SignatureFlags.None */); } - if (token() === 134 /* SyntaxKind.ConstructorKeyword */ || token() === 10 /* SyntaxKind.StringLiteral */) { + if (token() === 135 /* SyntaxKind.ConstructorKeyword */ || token() === 10 /* SyntaxKind.StringLiteral */) { var constructorDeclaration = tryParseConstructorDeclaration(pos, hasJSDoc, decorators, modifiers); if (constructorDeclaration) { return constructorDeclaration; @@ -37401,10 +37689,10 @@ var ts; return ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassExpression() { - return parseClassDeclarationOrExpression(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined, 226 /* SyntaxKind.ClassExpression */); + return parseClassDeclarationOrExpression(getNodePos(), hasPrecedingJSDocComment(), /*decorators*/ undefined, /*modifiers*/ undefined, 228 /* SyntaxKind.ClassExpression */); } function parseClassDeclaration(pos, hasJSDoc, decorators, modifiers) { - return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 257 /* SyntaxKind.ClassDeclaration */); + return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 260 /* SyntaxKind.ClassDeclaration */); } function parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, kind) { var savedAwaitContext = inAwaitContext(); @@ -37426,7 +37714,7 @@ var ts; members = createMissingList(); } setAwaitContext(savedAwaitContext); - var node = kind === 257 /* SyntaxKind.ClassDeclaration */ + var node = kind === 260 /* SyntaxKind.ClassDeclaration */ ? factory.createClassDeclaration(combineDecoratorsAndModifiers(decorators, modifiers), name, typeParameters, heritageClauses, members) : factory.createClassExpression(combineDecoratorsAndModifiers(decorators, modifiers), name, typeParameters, heritageClauses, members); return withJSDoc(finishNode(node, pos), hasJSDoc); @@ -37463,7 +37751,7 @@ var ts; function parseExpressionWithTypeArguments() { var pos = getNodePos(); var expression = parseLeftHandSideExpressionOrHigher(); - if (expression.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { + if (expression.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */) { return expression; } var typeArguments = tryParseTypeArguments(); @@ -37490,11 +37778,11 @@ var ts; return withJSDoc(finishNode(node, pos), hasJSDoc); } function parseTypeAliasDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(152 /* SyntaxKind.TypeKeyword */); + parseExpected(154 /* SyntaxKind.TypeKeyword */); var name = parseIdentifier(); var typeParameters = parseTypeParameters(); parseExpected(63 /* SyntaxKind.EqualsToken */); - var type = token() === 138 /* SyntaxKind.IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType(); + var type = token() === 139 /* SyntaxKind.IntrinsicKeyword */ && tryParse(parseKeywordAndNoDot) || parseType(); parseSemicolon(); var node = factory.createTypeAliasDeclaration(modifiers, name, typeParameters, type); node.illegalDecorators = decorators; @@ -37553,7 +37841,7 @@ var ts; function parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { var flags = 0; var name; - if (token() === 157 /* SyntaxKind.GlobalKeyword */) { + if (token() === 159 /* SyntaxKind.GlobalKeyword */) { // parse 'global' as name of global scope augmentation name = parseIdentifier(); flags |= 1024 /* NodeFlags.GlobalAugmentation */; @@ -37575,15 +37863,15 @@ var ts; } function parseModuleDeclaration(pos, hasJSDoc, decorators, modifiers) { var flags = 0; - if (token() === 157 /* SyntaxKind.GlobalKeyword */) { + if (token() === 159 /* SyntaxKind.GlobalKeyword */) { // global augmentation return parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers); } - else if (parseOptional(142 /* SyntaxKind.NamespaceKeyword */)) { + else if (parseOptional(143 /* SyntaxKind.NamespaceKeyword */)) { flags |= 16 /* NodeFlags.Namespace */; } else { - parseExpected(141 /* SyntaxKind.ModuleKeyword */); + parseExpected(142 /* SyntaxKind.ModuleKeyword */); if (token() === 10 /* SyntaxKind.StringLiteral */) { return parseAmbientExternalModuleDeclaration(pos, hasJSDoc, decorators, modifiers); } @@ -37591,7 +37879,7 @@ var ts; return parseModuleOrNamespaceDeclaration(pos, hasJSDoc, decorators, modifiers, flags); } function isExternalModuleReference() { - return token() === 146 /* SyntaxKind.RequireKeyword */ && + return token() === 147 /* SyntaxKind.RequireKeyword */ && lookAhead(nextTokenIsOpenParen); } function nextTokenIsOpenParen() { @@ -37604,8 +37892,8 @@ var ts; return nextToken() === 43 /* SyntaxKind.SlashToken */; } function parseNamespaceExportDeclaration(pos, hasJSDoc, decorators, modifiers) { - parseExpected(127 /* SyntaxKind.AsKeyword */); - parseExpected(142 /* SyntaxKind.NamespaceKeyword */); + parseExpected(128 /* SyntaxKind.AsKeyword */); + parseExpected(143 /* SyntaxKind.NamespaceKeyword */); var name = parseIdentifier(); parseSemicolon(); var node = factory.createNamespaceExportDeclaration(name); @@ -37623,7 +37911,7 @@ var ts; identifier = parseIdentifier(); } var isTypeOnly = false; - if (token() !== 156 /* SyntaxKind.FromKeyword */ && + if (token() !== 158 /* SyntaxKind.FromKeyword */ && (identifier === null || identifier === void 0 ? void 0 : identifier.escapedText) === "type" && (isIdentifier() || tokenAfterImportDefinitelyProducesImportDeclaration())) { isTypeOnly = true; @@ -37641,11 +37929,11 @@ var ts; token() === 18 /* SyntaxKind.OpenBraceToken */ // import { ) { importClause = parseImportClause(identifier, afterImportPos, isTypeOnly); - parseExpected(156 /* SyntaxKind.FromKeyword */); + parseExpected(158 /* SyntaxKind.FromKeyword */); } var moduleSpecifier = parseModuleSpecifier(); var assertClause; - if (token() === 129 /* SyntaxKind.AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (token() === 130 /* SyntaxKind.AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { assertClause = parseAssertClause(); } parseSemicolon(); @@ -37663,7 +37951,7 @@ var ts; function parseAssertClause(skipAssertKeyword) { var pos = getNodePos(); if (!skipAssertKeyword) { - parseExpected(129 /* SyntaxKind.AssertKeyword */); + parseExpected(130 /* SyntaxKind.AssertKeyword */); } var openBracePosition = scanner.getTokenPos(); if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) { @@ -37688,7 +37976,7 @@ var ts; function tokenAfterImportedIdentifierDefinitelyProducesImportDeclaration() { // In `import id ___`, the current token decides whether to produce // an ImportDeclaration or ImportEqualsDeclaration. - return token() === 27 /* SyntaxKind.CommaToken */ || token() === 156 /* SyntaxKind.FromKeyword */; + return token() === 27 /* SyntaxKind.CommaToken */ || token() === 158 /* SyntaxKind.FromKeyword */; } function parseImportEqualsDeclaration(pos, hasJSDoc, decorators, modifiers, identifier, isTypeOnly) { parseExpected(63 /* SyntaxKind.EqualsToken */); @@ -37711,7 +37999,7 @@ var ts; var namedBindings; if (!identifier || parseOptional(27 /* SyntaxKind.CommaToken */)) { - namedBindings = token() === 41 /* SyntaxKind.AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(269 /* SyntaxKind.NamedImports */); + namedBindings = token() === 41 /* SyntaxKind.AsteriskToken */ ? parseNamespaceImport() : parseNamedImportsOrExports(272 /* SyntaxKind.NamedImports */); } return finishNode(factory.createImportClause(isTypeOnly, identifier, namedBindings), pos); } @@ -37722,7 +38010,7 @@ var ts; } function parseExternalModuleReference() { var pos = getNodePos(); - parseExpected(146 /* SyntaxKind.RequireKeyword */); + parseExpected(147 /* SyntaxKind.RequireKeyword */); parseExpected(20 /* SyntaxKind.OpenParenToken */); var expression = parseModuleSpecifier(); parseExpected(21 /* SyntaxKind.CloseParenToken */); @@ -37746,7 +38034,7 @@ var ts; // * as ImportedBinding var pos = getNodePos(); parseExpected(41 /* SyntaxKind.AsteriskToken */); - parseExpected(127 /* SyntaxKind.AsKeyword */); + parseExpected(128 /* SyntaxKind.AsKeyword */); var name = parseIdentifier(); return finishNode(factory.createNamespaceImport(name), pos); } @@ -37759,17 +38047,17 @@ var ts; // ImportsList: // ImportSpecifier // ImportsList, ImportSpecifier - var node = kind === 269 /* SyntaxKind.NamedImports */ + var node = kind === 272 /* SyntaxKind.NamedImports */ ? factory.createNamedImports(parseBracketedList(23 /* ParsingContext.ImportOrExportSpecifiers */, parseImportSpecifier, 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */)) : factory.createNamedExports(parseBracketedList(23 /* ParsingContext.ImportOrExportSpecifiers */, parseExportSpecifier, 18 /* SyntaxKind.OpenBraceToken */, 19 /* SyntaxKind.CloseBraceToken */)); return finishNode(node, pos); } function parseExportSpecifier() { var hasJSDoc = hasPrecedingJSDocComment(); - return withJSDoc(parseImportOrExportSpecifier(275 /* SyntaxKind.ExportSpecifier */), hasJSDoc); + return withJSDoc(parseImportOrExportSpecifier(278 /* SyntaxKind.ExportSpecifier */), hasJSDoc); } function parseImportSpecifier() { - return parseImportOrExportSpecifier(270 /* SyntaxKind.ImportSpecifier */); + return parseImportOrExportSpecifier(273 /* SyntaxKind.ImportSpecifier */); } function parseImportOrExportSpecifier(kind) { var pos = getNodePos(); @@ -37794,10 +38082,10 @@ var ts; // import { type as } from "mod"; - isTypeOnly: true, name: as // import { type as as } from "mod"; - isTypeOnly: false, name: as, propertyName: type // import { type as as as } from "mod"; - isTypeOnly: true, name: as, propertyName: as - if (token() === 127 /* SyntaxKind.AsKeyword */) { + if (token() === 128 /* SyntaxKind.AsKeyword */) { // { type as ...? } var firstAs = parseIdentifierName(); - if (token() === 127 /* SyntaxKind.AsKeyword */) { + if (token() === 128 /* SyntaxKind.AsKeyword */) { // { type as as ...? } var secondAs = parseIdentifierName(); if (ts.tokenIsIdentifierOrKeyword(token())) { @@ -37832,15 +38120,15 @@ var ts; name = parseNameWithKeywordCheck(); } } - if (canParseAsKeyword && token() === 127 /* SyntaxKind.AsKeyword */) { + if (canParseAsKeyword && token() === 128 /* SyntaxKind.AsKeyword */) { propertyName = name; - parseExpected(127 /* SyntaxKind.AsKeyword */); + parseExpected(128 /* SyntaxKind.AsKeyword */); name = parseNameWithKeywordCheck(); } - if (kind === 270 /* SyntaxKind.ImportSpecifier */ && checkIdentifierIsKeyword) { + if (kind === 273 /* SyntaxKind.ImportSpecifier */ && checkIdentifierIsKeyword) { parseErrorAt(checkIdentifierStart, checkIdentifierEnd, ts.Diagnostics.Identifier_expected); } - var node = kind === 270 /* SyntaxKind.ImportSpecifier */ + var node = kind === 273 /* SyntaxKind.ImportSpecifier */ ? factory.createImportSpecifier(isTypeOnly, propertyName, name) : factory.createExportSpecifier(isTypeOnly, propertyName, name); return finishNode(node, pos); @@ -37860,26 +38148,26 @@ var ts; var exportClause; var moduleSpecifier; var assertClause; - var isTypeOnly = parseOptional(152 /* SyntaxKind.TypeKeyword */); + var isTypeOnly = parseOptional(154 /* SyntaxKind.TypeKeyword */); var namespaceExportPos = getNodePos(); if (parseOptional(41 /* SyntaxKind.AsteriskToken */)) { - if (parseOptional(127 /* SyntaxKind.AsKeyword */)) { + if (parseOptional(128 /* SyntaxKind.AsKeyword */)) { exportClause = parseNamespaceExport(namespaceExportPos); } - parseExpected(156 /* SyntaxKind.FromKeyword */); + parseExpected(158 /* SyntaxKind.FromKeyword */); moduleSpecifier = parseModuleSpecifier(); } else { - exportClause = parseNamedImportsOrExports(273 /* SyntaxKind.NamedExports */); + exportClause = parseNamedImportsOrExports(276 /* SyntaxKind.NamedExports */); // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token() === 156 /* SyntaxKind.FromKeyword */ || (token() === 10 /* SyntaxKind.StringLiteral */ && !scanner.hasPrecedingLineBreak())) { - parseExpected(156 /* SyntaxKind.FromKeyword */); + if (token() === 158 /* SyntaxKind.FromKeyword */ || (token() === 10 /* SyntaxKind.StringLiteral */ && !scanner.hasPrecedingLineBreak())) { + parseExpected(158 /* SyntaxKind.FromKeyword */); moduleSpecifier = parseModuleSpecifier(); } } - if (moduleSpecifier && token() === 129 /* SyntaxKind.AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { + if (moduleSpecifier && token() === 130 /* SyntaxKind.AssertKeyword */ && !scanner.hasPrecedingLineBreak()) { assertClause = parseAssertClause(); } parseSemicolon(); @@ -38492,9 +38780,9 @@ var ts; } function isObjectOrObjectArrayTypeReference(node) { switch (node.kind) { - case 148 /* SyntaxKind.ObjectKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: return true; - case 183 /* SyntaxKind.ArrayType */: + case 185 /* SyntaxKind.ArrayType */: return isObjectOrObjectArrayTypeReference(node.elementType); default: return ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "Object" && !node.typeArguments; @@ -38526,12 +38814,12 @@ var ts; var child = void 0; var children = void 0; while (child = tryParse(function () { return parseChildParameterOrPropertyTag(target, indent, name); })) { - if (child.kind === 340 /* SyntaxKind.JSDocParameterTag */ || child.kind === 347 /* SyntaxKind.JSDocPropertyTag */) { + if (child.kind === 343 /* SyntaxKind.JSDocParameterTag */ || child.kind === 350 /* SyntaxKind.JSDocPropertyTag */) { children = ts.append(children, child); } } if (children) { - var literal = finishNode(factory.createJSDocTypeLiteral(children, typeExpression.type.kind === 183 /* SyntaxKind.ArrayType */), pos); + var literal = finishNode(factory.createJSDocTypeLiteral(children, typeExpression.type.kind === 185 /* SyntaxKind.ArrayType */), pos); return finishNode(factory.createJSDocTypeExpression(literal), pos); } } @@ -38649,7 +38937,7 @@ var ts; var hasChildren = false; while (child = tryParse(function () { return parseChildPropertyTag(indent); })) { hasChildren = true; - if (child.kind === 343 /* SyntaxKind.JSDocTypeTag */) { + if (child.kind === 346 /* SyntaxKind.JSDocTypeTag */) { if (childTypeTag) { var lastError = parseErrorAtCurrentToken(ts.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags); if (lastError) { @@ -38666,7 +38954,7 @@ var ts; } } if (hasChildren) { - var isArrayType = typeExpression && typeExpression.type.kind === 183 /* SyntaxKind.ArrayType */; + var isArrayType = typeExpression && typeExpression.type.kind === 185 /* SyntaxKind.ArrayType */; var jsdocTypeLiteral = factory.createJSDocTypeLiteral(jsDocPropertyTags, isArrayType); typeExpression = childTypeTag && childTypeTag.typeExpression && !isObjectOrObjectArrayTypeReference(childTypeTag.typeExpression.type) ? childTypeTag.typeExpression : @@ -38718,7 +39006,7 @@ var ts; var returnTag = tryParse(function () { if (parseOptionalJsdoc(59 /* SyntaxKind.AtToken */)) { var tag = parseTag(indent); - if (tag && tag.kind === 341 /* SyntaxKind.JSDocReturnTag */) { + if (tag && tag.kind === 344 /* SyntaxKind.JSDocReturnTag */) { return tag; } } @@ -38753,7 +39041,7 @@ var ts; case 59 /* SyntaxKind.AtToken */: if (canParseTag) { var child = tryParseChildTag(target, indent); - if (child && (child.kind === 340 /* SyntaxKind.JSDocParameterTag */ || child.kind === 347 /* SyntaxKind.JSDocPropertyTag */) && + if (child && (child.kind === 343 /* SyntaxKind.JSDocParameterTag */ || child.kind === 350 /* SyntaxKind.JSDocPropertyTag */) && target !== 4 /* PropertyLikeParse.CallbackParameter */ && name && (ts.isIdentifier(child.name) || !escapedTextsEqual(name, child.name.left))) { return false; @@ -39723,6 +40011,7 @@ var ts; ["es2019.object", "lib.es2019.object.d.ts"], ["es2019.string", "lib.es2019.string.d.ts"], ["es2019.symbol", "lib.es2019.symbol.d.ts"], + ["es2019.intl", "lib.es2019.intl.d.ts"], ["es2020.bigint", "lib.es2020.bigint.d.ts"], ["es2020.date", "lib.es2020.date.d.ts"], ["es2020.promise", "lib.es2020.promise.d.ts"], @@ -39843,6 +40132,7 @@ var ts; shortName: "h", type: "boolean", showInSimplifiedHelpView: true, + isCommandLineOnly: true, category: ts.Diagnostics.Command_line_Options, description: ts.Diagnostics.Print_this_message, defaultValueDescription: false, @@ -39851,6 +40141,8 @@ var ts; name: "help", shortName: "?", type: "boolean", + isCommandLineOnly: true, + category: ts.Diagnostics.Command_line_Options, defaultValueDescription: false, }, { @@ -41420,7 +41712,7 @@ var ts; result.path = ts.toPath(configFileName, cwd, ts.createGetCanonicalFileName(host.useCaseSensitiveFileNames)); result.resolvedPath = result.path; result.originalFileName = result.fileName; - return parseJsonSourceFileConfigFileContent(result, host, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), cwd), optionsToExtend, ts.getNormalizedAbsolutePath(configFileName, cwd), + return parseJsonSourceFileConfigFileContent(result, host, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), cwd), optionsToExtend, ts.getNormalizedAbsolutePath(configFileName, cwd), /*resolutionStack*/ undefined, extraFileExtensions, extendedConfigCache, watchOptionsToExtend); } ts.getParsedCommandLineOfConfigFile = getParsedCommandLineOfConfigFile; @@ -41582,7 +41874,7 @@ var ts; var _a; var rootExpression = (_a = sourceFile.statements[0]) === null || _a === void 0 ? void 0 : _a.expression; var knownRootOptions = reportOptionsErrors ? getTsconfigRootOptionsMap() : undefined; - if (rootExpression && rootExpression.kind !== 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (rootExpression && rootExpression.kind !== 207 /* SyntaxKind.ObjectLiteralExpression */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, rootExpression, ts.Diagnostics.The_root_value_of_a_0_file_must_be_an_object, ts.getBaseFileName(sourceFile.fileName) === "jsconfig.json" ? "jsconfig.json" : "tsconfig.json")); // Last-ditch error recovery. Somewhat useful because the JSON parser will recover from some parse errors by // synthesizing a top-level array literal expression. There's a reasonable chance the first element of that @@ -41622,7 +41914,7 @@ var ts; function convertObjectLiteralExpressionToJson(node, knownOptions, extraKeyDiagnostics, parentOption) { var result = returnValue ? {} : undefined; var _loop_4 = function (element) { - if (element.kind !== 296 /* SyntaxKind.PropertyAssignment */) { + if (element.kind !== 299 /* SyntaxKind.PropertyAssignment */) { errors.push(ts.createDiagnosticForNodeInSourceFile(sourceFile, element, ts.Diagnostics.Property_assignment_expected)); return "continue"; } @@ -41716,13 +42008,13 @@ var ts; case 8 /* SyntaxKind.NumericLiteral */: reportInvalidOptionValue(option && option.type !== "number"); return validateValue(Number(valueExpression.text)); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: if (valueExpression.operator !== 40 /* SyntaxKind.MinusToken */ || valueExpression.operand.kind !== 8 /* SyntaxKind.NumericLiteral */) { break; // not valid JSON syntax } reportInvalidOptionValue(option && option.type !== "number"); return validateValue(-Number(valueExpression.operand.text)); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: reportInvalidOptionValue(option && option.type !== "object"); var objectLiteralExpression = valueExpression; // Currently having element option declaration in the tsconfig with type "object" @@ -41736,10 +42028,10 @@ var ts; return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, elementOptions, extraKeyDiagnostics, optionName)); } else { - return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, + return validateValue(convertObjectLiteralExpressionToJson(objectLiteralExpression, /* knownOptions*/ undefined, /*extraKeyDiagnosticMessage */ undefined, /*parentOption*/ undefined)); } - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: reportInvalidOptionValue(option && option.type !== "list"); return validateValue(convertArrayLiteralExpressionToJson(valueExpression.elements, option && option.element)); } @@ -41971,12 +42263,23 @@ var ts; } function writeConfigurations() { // Filter applicable options to place in the file - var categorizedOptions = ts.createMultiMap(); + var categorizedOptions = new ts.Map(); + // Set allowed categories in order + categorizedOptions.set(ts.Diagnostics.Projects, []); + categorizedOptions.set(ts.Diagnostics.Language_and_Environment, []); + categorizedOptions.set(ts.Diagnostics.Modules, []); + categorizedOptions.set(ts.Diagnostics.JavaScript_Support, []); + categorizedOptions.set(ts.Diagnostics.Emit, []); + categorizedOptions.set(ts.Diagnostics.Interop_Constraints, []); + categorizedOptions.set(ts.Diagnostics.Type_Checking, []); + categorizedOptions.set(ts.Diagnostics.Completeness, []); for (var _i = 0, optionDeclarations_1 = ts.optionDeclarations; _i < optionDeclarations_1.length; _i++) { var option = optionDeclarations_1[_i]; - var category = option.category; if (isAllowedOptionForOutput(option)) { - categorizedOptions.add(ts.getLocaleSpecificMessage(category), option); + var listForCategory = categorizedOptions.get(option.category); + if (!listForCategory) + categorizedOptions.set(option.category, listForCategory = []); + listForCategory.push(option); } } // Serialize all options and their descriptions @@ -41987,7 +42290,7 @@ var ts; if (entries.length !== 0) { entries.push({ value: "" }); } - entries.push({ value: "/* ".concat(category, " */") }); + entries.push({ value: "/* ".concat(ts.getLocaleSpecificMessage(category), " */") }); for (var _i = 0, options_1 = options; _i < options_1.length; _i++) { var option = options_1[_i]; var optionName = void 0; @@ -42923,7 +43226,7 @@ var ts; function convertCompilerOptionsForTelemetry(opts) { var out = {}; for (var key in opts) { - if (opts.hasOwnProperty(key)) { + if (ts.hasProperty(opts, key)) { var type = getOptionFromName(key); if (type !== undefined) { // Ignore unknown options out[key] = getOptionValueWithEmptyStrings(opts[key], type); @@ -42989,7 +43292,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -44029,6 +44332,9 @@ var ts; requestContainingDirectory: containingDirectory, reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, }; + if (traceEnabled && ts.getEmitModuleResolutionKind(compilerOptions) >= ts.ModuleResolutionKind.Node16 && ts.getEmitModuleResolutionKind(compilerOptions) <= ts.ModuleResolutionKind.NodeNext) { + trace(host, ts.Diagnostics.Resolving_in_0_mode_with_conditions_1, features & NodeResolutionFeatures.EsmMode ? "ESM" : "CJS", conditions.map(function (c) { return "'".concat(c, "'"); }).join(", ")); + } var result = ts.forEach(extensions, function (ext) { return tryResolve(ext); }); return createResolvedModuleWithFailedLookupLocations((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.resolved, (_b = result === null || result === void 0 ? void 0 : result.value) === null || _b === void 0 ? void 0 : _b.isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { @@ -44308,16 +44614,16 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } /* @internal */ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { // Cached value excludes resolutions to JS files - those could be // cached separately, but they're used rarely. - return packageJsonInfo.resolvedEntrypoints; + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -44325,14 +44631,14 @@ var ts; var requireState = getTemporaryModuleResolutionState(cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), host, options); requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; - var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, - /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -44341,7 +44647,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -44445,7 +44751,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -44461,7 +44769,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -44586,17 +44894,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -44604,30 +44911,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); - return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); + return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false, "."); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false); if (result) { return result; } @@ -44645,8 +44952,7 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -44654,13 +44960,13 @@ var ts; } return toSearchResult(/*value*/ undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true); if (result) { return result; } @@ -44698,7 +45004,7 @@ var ts; var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports); if (!ts.endsWith(moduleName, ts.directorySeparator) && moduleName.indexOf("*") === -1 && ts.hasProperty(lookupTable, moduleName)) { var target = lookupTable[moduleName]; - return loadModuleFromTargetImportOrExport(target, /*subpath*/ "", /*pattern*/ false); + return loadModuleFromTargetImportOrExport(target, /*subpath*/ "", /*pattern*/ false, moduleName); } var expandingKeys = ts.sort(ts.filter(ts.getOwnKeys(lookupTable), function (k) { return k.indexOf("*") !== -1 || ts.endsWith(k, "/"); }), comparePatternKeys); for (var _i = 0, expandingKeys_1 = expandingKeys; _i < expandingKeys_1.length; _i++) { @@ -44707,17 +45013,17 @@ var ts; var target = lookupTable[potentialTarget]; var starPos = potentialTarget.indexOf("*"); var subpath = moduleName.substring(potentialTarget.substring(0, starPos).length, moduleName.length - (potentialTarget.length - 1 - starPos)); - return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true); + return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true, potentialTarget); } else if (ts.endsWith(potentialTarget, "*") && ts.startsWith(moduleName, potentialTarget.substring(0, potentialTarget.length - 1))) { var target = lookupTable[potentialTarget]; var subpath = moduleName.substring(potentialTarget.length - 1); - return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true); + return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true, potentialTarget); } else if (ts.startsWith(moduleName, potentialTarget)) { var target = lookupTable[potentialTarget]; var subpath = moduleName.substring(potentialTarget.length); - return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ false); + return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ false, potentialTarget); } } function matchesPatternWithTrailer(target, name) { @@ -44734,7 +45040,7 @@ var ts; */ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports) { return loadModuleFromTargetImportOrExport; - function loadModuleFromTargetImportOrExport(target, subpath, pattern) { + function loadModuleFromTargetImportOrExport(target, subpath, pattern, key) { if (typeof target === "string") { if (!pattern && subpath.length > 0 && !ts.endsWith(target, "/")) { if (state.traceEnabled) { @@ -44745,6 +45051,8 @@ var ts; if (!ts.startsWith(target, "./")) { if (isImports && !ts.startsWith(target, "../") && !ts.startsWith(target, "/") && !ts.isRootedDiskPath(target)) { var combinedLookup = pattern ? target.replace(/\*/g, subpath) : target + subpath; + traceIfEnabled(state, ts.Diagnostics.Using_0_subpath_1_with_target_2, "imports", key, combinedLookup); + traceIfEnabled(state, ts.Diagnostics.Resolving_module_0_from_1, combinedLookup, scope.packageDirectory + "/"); var result = nodeModuleNameResolverWorker(state.features, combinedLookup, scope.packageDirectory + "/", state.compilerOptions, state.host, cache, [extensions], redirectedReference); return toSearchResult(result.resolvedModule ? { path: result.resolvedModule.resolvedFileName, extension: result.resolvedModule.extension, packageId: result.resolvedModule.packageId, originalPath: result.resolvedModule.originalPath } : undefined); } @@ -44771,6 +45079,9 @@ var ts; } return toSearchResult(/*value*/ undefined); } + if (state.traceEnabled) { + trace(state.host, ts.Diagnostics.Using_0_subpath_1_with_target_2, isImports ? "imports" : "exports", key, pattern ? target.replace(/\*/g, subpath) : target + subpath); + } var finalPath = toAbsolutePath(pattern ? resolvedTarget.replace(/\*/g, subpath) : resolvedTarget + subpath); var inputLink = tryLoadInputFileForPath(finalPath, subpath, ts.combinePaths(scope.packageDirectory, "package.json"), isImports); if (inputLink) @@ -44780,14 +45091,18 @@ var ts; else if (typeof target === "object" && target !== null) { // eslint-disable-line no-null/no-null if (!Array.isArray(target)) { for (var _i = 0, _a = ts.getOwnKeys(target); _i < _a.length; _i++) { - var key = _a[_i]; - if (key === "default" || state.conditions.indexOf(key) >= 0 || isApplicableVersionedTypesKey(state.conditions, key)) { - var subTarget = target[key]; - var result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern); + var condition = _a[_i]; + if (condition === "default" || state.conditions.indexOf(condition) >= 0 || isApplicableVersionedTypesKey(state.conditions, condition)) { + traceIfEnabled(state, ts.Diagnostics.Matched_0_condition_1, isImports ? "imports" : "exports", condition); + var subTarget = target[condition]; + var result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern, key); if (result) { return result; } } + else { + traceIfEnabled(state, ts.Diagnostics.Saw_non_matching_condition_0, condition); + } } return undefined; } @@ -44800,7 +45115,7 @@ var ts; } for (var _b = 0, target_2 = target; _b < target_2.length; _b++) { var elem = target_2[_b]; - var result = loadModuleFromTargetImportOrExport(elem, subpath, pattern); + var result = loadModuleFromTargetImportOrExport(elem, subpath, pattern, key); if (result) { return result; } @@ -44821,7 +45136,7 @@ var ts; var _a, _b; if (path === undefined) return path; - return ts.hostGetCanonicalFileName({ useCaseSensitiveFileNames: useCaseSensitiveFileNames })(ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a))); + return ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); } function combineDirectoryPath(root, dir) { return ts.ensureTrailingDirectorySeparator(ts.combinePaths(root, dir)); @@ -44841,7 +45156,7 @@ var ts; if ((extensions === Extensions.TypeScript || extensions === Extensions.JavaScript || extensions === Extensions.Json) && (state.compilerOptions.declarationDir || state.compilerOptions.outDir) && finalPath.indexOf("/node_modules/") === -1 - && (state.compilerOptions.configFile ? ts.startsWith(toAbsolutePath(state.compilerOptions.configFile.fileName), scope.packageDirectory) : true)) { + && (state.compilerOptions.configFile ? ts.containsPath(scope.packageDirectory, toAbsolutePath(state.compilerOptions.configFile.fileName), !useCaseSensitiveFileNames()) : true)) { // So that all means we'll only try these guesses for files outside `node_modules` in a directory where the `package.json` and `tsconfig.json` are siblings. // Even with all that, we still don't know if the root of the output file structure will be (relative to the package file) // `.`, `./src` or any other deeper directory structure. (If project references are used, it's definitely `.` by fiat, so that should be pretty common.) @@ -44897,7 +45212,7 @@ var ts; var candidateDirectories = getOutputDirectoriesForBaseDirectory(commonSourceDirGuess); for (var _e = 0, candidateDirectories_1 = candidateDirectories; _e < candidateDirectories_1.length; _e++) { var candidateDir = candidateDirectories_1[_e]; - if (ts.startsWith(finalPath, candidateDir)) { + if (ts.containsPath(candidateDir, finalPath, !useCaseSensitiveFileNames())) { // The matched export is looking up something in either the out declaration or js dir, now map the written path back into the source dir and source extension var pathFragment = finalPath.slice(candidateDir.length + 1); // +1 to also remove directory seperator var possibleInputBase = ts.combinePaths(commonSourceDirGuess, pathFragment); @@ -44995,6 +45310,7 @@ var ts; } } function loadModuleFromSpecificNodeModulesDirectory(extensions, moduleName, nodeModulesDirectory, nodeModulesDirectoryExists, state, cache, redirectedReference) { + var _a; var candidate = ts.normalizePath(ts.combinePaths(nodeModulesDirectory, moduleName)); // First look for a nested package.json, as in `node_modules/foo/bar/package.json`. var packageInfo = getPackageJsonInfo(candidate, !nodeModulesDirectoryExists, state); @@ -45005,22 +45321,16 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } - var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest; var loader = function (extensions, candidate, onlyRecordFailures, state) { - var _a; - // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them) - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { - return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; - } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo // eslint-disable-next-line no-null/no-null - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -45028,19 +45338,24 @@ var ts; } return withPackageId(packageInfo, pathAndExtension); }; - if (rest !== "") { // If "rest" is empty, we just did this search above. - var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); - // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. + var _b = parsePackageName(moduleName), packageName = _b.packageName, rest = _b.rest; + var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); + if (rest !== "") { + // Previous `packageInfo` may have been from a nested package.json; ensure we have the one from the package root now. packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { - if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); - } - var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); - if (fromPaths) { - return fromPaths.value; - } + } + // package exports are higher priority than file/directory/typesVersions lookups and (and, if there's exports present, blocks them) + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; + } + if (rest !== "" && packageInfo && packageInfo.contents.versionPaths) { + if (state.traceEnabled) { + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); + } + var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); + if (fromPaths) { + return fromPaths.value; } } return loader(extensions, candidate, !nodeModulesDirectoryExists, state); @@ -45146,7 +45461,7 @@ var ts; }; var resolved = tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript); // No originalPath because classic resolution doesn't resolve realPath - return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, + return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, /*isExternalLibraryImport*/ false, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); function tryResolve(extensions) { var resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, state); @@ -45205,7 +45520,7 @@ var ts; reportDiagnostic: function (diag) { return void diagnostics.push(diag); }, }; var resolved = loadModuleFromImmediateNodeModulesDirectory(Extensions.DtsOnly, moduleName, globalCache, state, /*typesScopeOnly*/ false, /*cache*/ undefined, /*redirectedReference*/ undefined); - return createResolvedModuleWithFailedLookupLocations(resolved, + return createResolvedModuleWithFailedLookupLocations(resolved, /*isExternalLibraryImport*/ true, failedLookupLocations, affectingLocations, diagnostics, state.resultFromCache); } ts.loadModuleFromGlobalCache = loadModuleFromGlobalCache; @@ -45216,6 +45531,15 @@ var ts; function toSearchResult(value) { return value !== undefined ? { value: value } : undefined; } + function traceIfEnabled(state, diagnostic) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + if (state.traceEnabled) { + trace.apply(void 0, __spreadArray([state.host, diagnostic], args, false)); + } + } })(ts || (ts = {})); /* @internal */ var ts; @@ -45250,26 +45574,26 @@ var ts; // A module is uninstantiated if it contains only switch (node.kind) { // 1. interface declarations, type alias declarations - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return 0 /* ModuleInstanceState.NonInstantiated */; // 2. const enum declarations - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: if (ts.isEnumConst(node)) { return 2 /* ModuleInstanceState.ConstEnumOnly */; } break; // 3. non-exported import declarations - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: if (!(ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */))) { return 0 /* ModuleInstanceState.NonInstantiated */; } break; // 4. Export alias declarations pointing at only uninstantiated modules or things uninstantiated modules contain - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: var exportDeclaration = node; - if (!exportDeclaration.moduleSpecifier && exportDeclaration.exportClause && exportDeclaration.exportClause.kind === 273 /* SyntaxKind.NamedExports */) { + if (!exportDeclaration.moduleSpecifier && exportDeclaration.exportClause && exportDeclaration.exportClause.kind === 276 /* SyntaxKind.NamedExports */) { var state = 0 /* ModuleInstanceState.NonInstantiated */; for (var _i = 0, _a = exportDeclaration.exportClause.elements; _i < _a.length; _i++) { var specifier = _a[_i]; @@ -45285,7 +45609,7 @@ var ts; } break; // 5. other uninstantiated module declarations. - case 262 /* SyntaxKind.ModuleBlock */: { + case 265 /* SyntaxKind.ModuleBlock */: { var state_1 = 0 /* ModuleInstanceState.NonInstantiated */; ts.forEachChild(node, function (n) { var childState = getModuleInstanceStateCached(n, visited); @@ -45307,7 +45631,7 @@ var ts; }); return state_1; } - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return getModuleInstanceState(node, visited); case 79 /* SyntaxKind.Identifier */: // Only jsdoc typedef definition can exist in jsdoc namespace, and it should @@ -45508,7 +45832,7 @@ var ts; // Should not be called on a declaration with a computed property name, // unless it is a well known Symbol. function getDeclarationName(node) { - if (node.kind === 271 /* SyntaxKind.ExportAssignment */) { + if (node.kind === 274 /* SyntaxKind.ExportAssignment */) { return node.isExportEquals ? "export=" /* InternalSymbolName.ExportEquals */ : "default" /* InternalSymbolName.Default */; } var name = ts.getNameOfDeclaration(node); @@ -45517,7 +45841,7 @@ var ts; var moduleName = ts.getTextOfIdentifierOrLiteral(name); return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"".concat(moduleName, "\"")); } - if (name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { var nameExpression = name.expression; // treat computed property names where expression is string/numeric literal as just string/numeric literal if (ts.isStringOrNumericLiteralLike(nameExpression)) { @@ -45543,36 +45867,36 @@ var ts; return ts.isPropertyNameLiteral(name) ? ts.getEscapedTextOfIdentifierOrLiteral(name) : undefined; } switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return "__constructor" /* InternalSymbolName.Constructor */; - case 179 /* SyntaxKind.FunctionType */: - case 174 /* SyntaxKind.CallSignature */: - case 323 /* SyntaxKind.JSDocSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 176 /* SyntaxKind.CallSignature */: + case 326 /* SyntaxKind.JSDocSignature */: return "__call" /* InternalSymbolName.Call */; - case 180 /* SyntaxKind.ConstructorType */: - case 175 /* SyntaxKind.ConstructSignature */: + case 182 /* SyntaxKind.ConstructorType */: + case 177 /* SyntaxKind.ConstructSignature */: return "__new" /* InternalSymbolName.New */; - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: return "__index" /* InternalSymbolName.Index */; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return "__export" /* InternalSymbolName.ExportStar */; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: // json file should behave as // module.exports = ... return "export=" /* InternalSymbolName.ExportEquals */; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (ts.getAssignmentDeclarationKind(node) === 2 /* AssignmentDeclarationKind.ModuleExports */) { // module.exports = ... return "export=" /* InternalSymbolName.ExportEquals */; } ts.Debug.fail("Unknown binary declaration kind"); break; - case 317 /* SyntaxKind.JSDocFunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: return (ts.isJSDocConstructSignature(node) ? "__new" /* InternalSymbolName.New */ : "__call" /* InternalSymbolName.Call */); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: // Parameters with names are handled at the top of this function. Parameters // without names can only come from JSDocFunctionTypes. - ts.Debug.assert(node.parent.kind === 317 /* SyntaxKind.JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.Debug.formatSyntaxKind(node.parent.kind), ", expected JSDocFunctionType"); }); + ts.Debug.assert(node.parent.kind === 320 /* SyntaxKind.JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.Debug.formatSyntaxKind(node.parent.kind), ", expected JSDocFunctionType"); }); var functionType = node.parent; var index = functionType.parameters.indexOf(node); return "arg" + index; @@ -45591,7 +45915,7 @@ var ts; */ function declareSymbol(symbolTable, parent, node, includes, excludes, isReplaceableByMethod, isComputedName) { ts.Debug.assert(isComputedName || !ts.hasDynamicName(node)); - var isDefaultExport = ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) || ts.isExportSpecifier(node) && node.name.escapedText === "default"; + var isDefaultExport = ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */) || ts.isExportSpecifier(node) && node.name.escapedText === "default"; // The exported symbol for an export default function/class node is always named "default" var name = isComputedName ? "__computed" /* InternalSymbolName.Computed */ : isDefaultExport && parent ? "default" /* InternalSymbolName.Default */ @@ -45674,7 +45998,7 @@ var ts; // 1. multiple export default of class declaration or function declaration by checking NodeFlags.Default // 2. multiple export default of export assignment. This one doesn't have NodeFlags.Default on (as export default doesn't considered as modifiers) if (symbol.declarations && symbol.declarations.length && - (node.kind === 271 /* SyntaxKind.ExportAssignment */ && !node.isExportEquals)) { + (node.kind === 274 /* SyntaxKind.ExportAssignment */ && !node.isExportEquals)) { message_1 = ts.Diagnostics.A_module_cannot_have_multiple_default_exports; messageNeedsName_1 = false; multipleDefaultExports_1 = true; @@ -45713,7 +46037,7 @@ var ts; function declareModuleMember(node, symbolFlags, symbolExcludes) { var hasExportModifier = !!(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */) || jsdocTreatAsExported(node); if (symbolFlags & 2097152 /* SymbolFlags.Alias */) { - if (node.kind === 275 /* SyntaxKind.ExportSpecifier */ || (node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && hasExportModifier)) { + if (node.kind === 278 /* SyntaxKind.ExportSpecifier */ || (node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ && hasExportModifier)) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); } else { @@ -45738,7 +46062,7 @@ var ts; if (ts.isJSDocTypeAlias(node)) ts.Debug.assert(ts.isInJSFile(node)); // We shouldn't add symbols for JSDoc nodes if not in a JS file. if (!ts.isAmbientModule(node) && (hasExportModifier || container.flags & 64 /* NodeFlags.ExportContext */)) { - if (!container.locals || (ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) && !getDeclarationName(node))) { + if (!container.locals || (ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */) && !getDeclarationName(node))) { return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); // No local symbol for an unnamed default! } var exportKind = symbolFlags & 111551 /* SymbolFlags.Value */ ? 1048576 /* SymbolFlags.ExportValue */ : 0; @@ -45802,7 +46126,7 @@ var ts; // for it. We must clear this so we don't accidentally move any stale data forward from // a previous compilation. if (containerFlags & 1 /* ContainerFlags.IsContainer */) { - if (node.kind !== 214 /* SyntaxKind.ArrowFunction */) { + if (node.kind !== 216 /* SyntaxKind.ArrowFunction */) { thisParentContainer = container; } container = blockScopeContainer = node; @@ -45824,10 +46148,10 @@ var ts; var saveActiveLabelList = activeLabelList; var saveHasExplicitReturn = hasExplicitReturn; var isImmediatelyInvoked = (containerFlags & 16 /* ContainerFlags.IsFunctionExpression */ && - !ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Async */) && + !ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Async */) && !node.asteriskToken && !!ts.getImmediatelyInvokedFunctionExpression(node)) || - node.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */; + node.kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */; // A non-async, non-generator IIFE is considered part of the containing control flow. Return statements behave // similarly to break statements that exit to a label just past the statement body. if (!isImmediatelyInvoked) { @@ -45838,7 +46162,7 @@ var ts; } // We create a return control flow graph for IIFEs and constructors. For constructors // we use the return control flow graph in strict property initialization checks. - currentReturnTarget = isImmediatelyInvoked || node.kind === 171 /* SyntaxKind.Constructor */ || (ts.isInJSFile(node) && (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 213 /* SyntaxKind.FunctionExpression */)) ? createBranchLabel() : undefined; + currentReturnTarget = isImmediatelyInvoked || node.kind === 173 /* SyntaxKind.Constructor */ || (ts.isInJSFile(node) && (node.kind === 259 /* SyntaxKind.FunctionDeclaration */ || node.kind === 215 /* SyntaxKind.FunctionExpression */)) ? createBranchLabel() : undefined; currentExceptionTarget = undefined; currentBreakTarget = undefined; currentContinueTarget = undefined; @@ -45853,14 +46177,14 @@ var ts; node.flags |= 512 /* NodeFlags.HasExplicitReturn */; node.endFlowNode = currentFlow; } - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { node.flags |= emitFlags; node.endFlowNode = currentFlow; } if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); currentFlow = finishFlowLabel(currentReturnTarget); - if (node.kind === 171 /* SyntaxKind.Constructor */ || node.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 213 /* SyntaxKind.FunctionExpression */))) { + if (node.kind === 173 /* SyntaxKind.Constructor */ || node.kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */ || (ts.isInJSFile(node) && (node.kind === 259 /* SyntaxKind.FunctionDeclaration */ || node.kind === 215 /* SyntaxKind.FunctionExpression */))) { node.returnFlowNode = currentFlow; } } @@ -45887,8 +46211,8 @@ var ts; blockScopeContainer = savedBlockScopeContainer; } function bindEachFunctionsFirst(nodes) { - bindEach(nodes, function (n) { return n.kind === 256 /* SyntaxKind.FunctionDeclaration */ ? bind(n) : undefined; }); - bindEach(nodes, function (n) { return n.kind !== 256 /* SyntaxKind.FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind === 259 /* SyntaxKind.FunctionDeclaration */ ? bind(n) : undefined; }); + bindEach(nodes, function (n) { return n.kind !== 259 /* SyntaxKind.FunctionDeclaration */ ? bind(n) : undefined; }); } function bindEach(nodes, bindFunction) { if (bindFunction === void 0) { bindFunction = bind; } @@ -45911,59 +46235,59 @@ var ts; inAssignmentPattern = saveInAssignmentPattern; return; } - if (node.kind >= 237 /* SyntaxKind.FirstStatement */ && node.kind <= 253 /* SyntaxKind.LastStatement */ && !options.allowUnreachableCode) { + if (node.kind >= 240 /* SyntaxKind.FirstStatement */ && node.kind <= 256 /* SyntaxKind.LastStatement */ && !options.allowUnreachableCode) { node.flowNode = currentFlow; } switch (node.kind) { - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: bindWhileStatement(node); break; - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: bindDoStatement(node); break; - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: bindForStatement(node); break; - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: bindForInOrForOfStatement(node); break; - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: bindIfStatement(node); break; - case 247 /* SyntaxKind.ReturnStatement */: - case 251 /* SyntaxKind.ThrowStatement */: + case 250 /* SyntaxKind.ReturnStatement */: + case 254 /* SyntaxKind.ThrowStatement */: bindReturnOrThrow(node); break; - case 246 /* SyntaxKind.BreakStatement */: - case 245 /* SyntaxKind.ContinueStatement */: + case 249 /* SyntaxKind.BreakStatement */: + case 248 /* SyntaxKind.ContinueStatement */: bindBreakOrContinueStatement(node); break; - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: bindTryStatement(node); break; - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: bindSwitchStatement(node); break; - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: bindCaseBlock(node); break; - case 289 /* SyntaxKind.CaseClause */: + case 292 /* SyntaxKind.CaseClause */: bindCaseClause(node); break; - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: bindExpressionStatement(node); break; - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: bindLabeledStatement(node); break; - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: bindPrefixUnaryExpressionFlow(node); break; - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: bindPostfixUnaryExpressionFlow(node); break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (ts.isDestructuringAssignment(node)) { // Carry over whether we are in an assignment pattern to // binary expressions that could actually be an initializer @@ -45973,47 +46297,50 @@ var ts; } bindBinaryExpressionFlow(node); break; - case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.DeleteExpression */: bindDeleteExpressionFlow(node); break; - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: bindConditionalExpressionFlow(node); break; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: bindVariableDeclarationFlow(node); break; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: bindAccessExpressionFlow(node); break; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: bindCallExpressionFlow(node); break; - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: bindNonNullExpressionFlow(node); break; - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: bindJSDocTypeAlias(node); break; // In source files and blocks, bind functions first to match hoisting that occurs at runtime - case 305 /* SyntaxKind.SourceFile */: { + case 308 /* SyntaxKind.SourceFile */: { bindEachFunctionsFirst(node.statements); bind(node.endOfFileToken); break; } - case 235 /* SyntaxKind.Block */: - case 262 /* SyntaxKind.ModuleBlock */: + case 238 /* SyntaxKind.Block */: + case 265 /* SyntaxKind.ModuleBlock */: bindEachFunctionsFirst(node.statements); break; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: bindBindingElementFlow(node); break; - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 225 /* SyntaxKind.SpreadElement */: + case 166 /* SyntaxKind.Parameter */: + bindParameterFlow(node); + break; + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 227 /* SyntaxKind.SpreadElement */: // Carry over whether we are in an assignment pattern of Object and Array literals // as well as their children that are valid assignment targets. inAssignmentPattern = saveInAssignmentPattern; @@ -46030,19 +46357,19 @@ var ts; case 79 /* SyntaxKind.Identifier */: case 80 /* SyntaxKind.PrivateIdentifier */: case 108 /* SyntaxKind.ThisKeyword */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return containsNarrowableReference(expr); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return hasNarrowableArgument(expr); - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 230 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return isNarrowingExpression(expr.expression); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return isNarrowingBinaryExpression(expr); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return expr.operator === 53 /* SyntaxKind.ExclamationToken */ && isNarrowingExpression(expr.operand); - case 216 /* SyntaxKind.TypeOfExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: return isNarrowingExpression(expr.expression); } return false; @@ -46066,7 +46393,7 @@ var ts; } } } - if (expr.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && + if (expr.expression.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && containsNarrowableReference(expr.expression.expression)) { return true; } @@ -46099,9 +46426,9 @@ var ts; } function isNarrowableOperand(expr) { switch (expr.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return isNarrowableOperand(expr.expression); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: switch (expr.operatorToken.kind) { case 63 /* SyntaxKind.EqualsToken */: return isNarrowableOperand(expr.left); @@ -46177,26 +46504,26 @@ var ts; function isStatementCondition(node) { var parent = node.parent; switch (parent.kind) { - case 239 /* SyntaxKind.IfStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 240 /* SyntaxKind.DoStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.DoStatement */: return parent.expression === node; - case 242 /* SyntaxKind.ForStatement */: - case 222 /* SyntaxKind.ConditionalExpression */: + case 245 /* SyntaxKind.ForStatement */: + case 224 /* SyntaxKind.ConditionalExpression */: return parent.condition === node; } return false; } function isLogicalExpression(node) { while (true) { - if (node.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + if (node.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { node = node.expression; } - else if (node.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ && node.operator === 53 /* SyntaxKind.ExclamationToken */) { + else if (node.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ && node.operator === 53 /* SyntaxKind.ExclamationToken */) { node = node.operand; } else { - return node.kind === 221 /* SyntaxKind.BinaryExpression */ && (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ || + return node.kind === 223 /* SyntaxKind.BinaryExpression */ && (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ || node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */); } @@ -46242,7 +46569,7 @@ var ts; } function setContinueTarget(node, target) { var label = activeLabelList; - while (label && node.parent.kind === 250 /* SyntaxKind.LabeledStatement */) { + while (label && node.parent.kind === 253 /* SyntaxKind.LabeledStatement */) { label.continueTarget = target; label = label.next; node = node.parent; @@ -46293,12 +46620,12 @@ var ts; bind(node.expression); addAntecedent(preLoopLabel, currentFlow); currentFlow = preLoopLabel; - if (node.kind === 244 /* SyntaxKind.ForOfStatement */) { + if (node.kind === 247 /* SyntaxKind.ForOfStatement */) { bind(node.awaitModifier); } addAntecedent(postLoopLabel, currentFlow); bind(node.initializer); - if (node.initializer.kind !== 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.initializer.kind !== 258 /* SyntaxKind.VariableDeclarationList */) { bindAssignmentTargetFlow(node.initializer); } bindIterativeStatement(node.statement, postLoopLabel, preLoopLabel); @@ -46320,7 +46647,7 @@ var ts; } function bindReturnOrThrow(node) { bind(node.expression); - if (node.kind === 247 /* SyntaxKind.ReturnStatement */) { + if (node.kind === 250 /* SyntaxKind.ReturnStatement */) { hasExplicitReturn = true; if (currentReturnTarget) { addAntecedent(currentReturnTarget, currentFlow); @@ -46337,7 +46664,7 @@ var ts; return undefined; } function bindBreakOrContinueFlow(node, breakTarget, continueTarget) { - var flowLabel = node.kind === 246 /* SyntaxKind.BreakStatement */ ? breakTarget : continueTarget; + var flowLabel = node.kind === 249 /* SyntaxKind.BreakStatement */ ? breakTarget : continueTarget; if (flowLabel) { addAntecedent(flowLabel, currentFlow); currentFlow = unreachableFlow; @@ -46442,7 +46769,7 @@ var ts; preSwitchCaseFlow = currentFlow; bind(node.caseBlock); addAntecedent(postSwitchLabel, currentFlow); - var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 290 /* SyntaxKind.DefaultClause */; }); + var hasDefault = ts.forEach(node.caseBlock.clauses, function (c) { return c.kind === 293 /* SyntaxKind.DefaultClause */; }); // We mark a switch statement as possibly exhaustive if it has no default clause and if all // case clauses have unreachable end points (e.g. they all return). Note, we no longer need // this property in control flow analysis, it's there only for backwards compatibility. @@ -46490,7 +46817,7 @@ var ts; function maybeBindExpressionFlowIfCall(node) { // A top level or comma expression call expression with a dotted function name and at least one argument // is potentially an assertion and is therefore included in the control flow. - if (node.kind === 208 /* SyntaxKind.CallExpression */) { + if (node.kind === 210 /* SyntaxKind.CallExpression */) { var call = node; if (call.expression.kind !== 106 /* SyntaxKind.SuperKeyword */ && ts.isDottedName(call.expression)) { currentFlow = createFlowCall(currentFlow, call); @@ -46516,7 +46843,7 @@ var ts; currentFlow = finishFlowLabel(postStatementLabel); } function bindDestructuringTargetFlow(node) { - if (node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { + if (node.kind === 223 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { bindAssignmentTargetFlow(node.left); } else { @@ -46527,10 +46854,10 @@ var ts; if (isNarrowableReference(node)) { currentFlow = createFlowMutation(16 /* FlowFlags.Assignment */, currentFlow, node); } - else if (node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */) { + else if (node.kind === 206 /* SyntaxKind.ArrayLiteralExpression */) { for (var _i = 0, _a = node.elements; _i < _a.length; _i++) { var e = _a[_i]; - if (e.kind === 225 /* SyntaxKind.SpreadElement */) { + if (e.kind === 227 /* SyntaxKind.SpreadElement */) { bindAssignmentTargetFlow(e.expression); } else { @@ -46538,16 +46865,16 @@ var ts; } } } - else if (node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + else if (node.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var p = _c[_b]; - if (p.kind === 296 /* SyntaxKind.PropertyAssignment */) { + if (p.kind === 299 /* SyntaxKind.PropertyAssignment */) { bindDestructuringTargetFlow(p.initializer); } - else if (p.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + else if (p.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { bindAssignmentTargetFlow(p.name); } - else if (p.kind === 298 /* SyntaxKind.SpreadAssignment */) { + else if (p.kind === 301 /* SyntaxKind.SpreadAssignment */) { bindAssignmentTargetFlow(p.expression); } } @@ -46684,7 +47011,7 @@ var ts; var operator = node.operatorToken.kind; if (ts.isAssignmentOperator(operator) && !ts.isAssignmentTarget(node)) { bindAssignmentTargetFlow(node.left); - if (operator === 63 /* SyntaxKind.EqualsToken */ && node.left.kind === 207 /* SyntaxKind.ElementAccessExpression */) { + if (operator === 63 /* SyntaxKind.EqualsToken */ && node.left.kind === 209 /* SyntaxKind.ElementAccessExpression */) { var elementAccess = node.left; if (isNarrowableOperand(elementAccess.expression)) { currentFlow = createFlowMutation(256 /* FlowFlags.ArrayMutation */, currentFlow, node); @@ -46712,7 +47039,7 @@ var ts; } function bindDeleteExpressionFlow(node) { bindEachChild(node); - if (node.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (node.expression.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { bindAssignmentTargetFlow(node.expression); } } @@ -46750,24 +47077,42 @@ var ts; } } function bindBindingElementFlow(node) { - if (ts.isBindingPattern(node.name)) { - // When evaluating a binding pattern, the initializer is evaluated before the binding pattern, per: - // - https://tc39.es/ecma262/#sec-destructuring-binding-patterns-runtime-semantics-iteratorbindinginitialization - // - `BindingElement: BindingPattern Initializer?` - // - https://tc39.es/ecma262/#sec-runtime-semantics-keyedbindinginitialization - // - `BindingElement: BindingPattern Initializer?` - bind(node.dotDotDotToken); - bind(node.propertyName); - bind(node.initializer); - bind(node.name); + // When evaluating a binding pattern, the initializer is evaluated before the binding pattern, per: + // - https://tc39.es/ecma262/#sec-destructuring-binding-patterns-runtime-semantics-iteratorbindinginitialization + // - `BindingElement: BindingPattern Initializer?` + // - https://tc39.es/ecma262/#sec-runtime-semantics-keyedbindinginitialization + // - `BindingElement: BindingPattern Initializer?` + bind(node.dotDotDotToken); + bind(node.propertyName); + bindInitializer(node.initializer); + bind(node.name); + } + function bindParameterFlow(node) { + bindEach(node.modifiers); + bind(node.dotDotDotToken); + bind(node.questionToken); + bind(node.type); + bindInitializer(node.initializer); + bind(node.name); + } + // a BindingElement/Parameter does not have side effects if initializers are not evaluated and used. (see GH#49759) + function bindInitializer(node) { + if (!node) { + return; } - else { - bindEachChild(node); + var entryFlow = currentFlow; + bind(node); + if (entryFlow === unreachableFlow || entryFlow === currentFlow) { + return; } + var exitFlow = createBranchLabel(); + addAntecedent(exitFlow, entryFlow); + addAntecedent(exitFlow, currentFlow); + currentFlow = finishFlowLabel(exitFlow); } function bindJSDocTypeAlias(node) { bind(node.tagName); - if (node.kind !== 339 /* SyntaxKind.JSDocEnumTag */ && node.fullName) { + if (node.kind !== 342 /* SyntaxKind.JSDocEnumTag */ && node.fullName) { // don't bind the type name yet; that's delayed until delayedBindJSDocTypedefTag ts.setParent(node.fullName, node); ts.setParentRecursive(node.fullName, /*incremental*/ false); @@ -46779,7 +47124,7 @@ var ts; function bindJSDocClassTag(node) { bindEachChild(node); var host = ts.getHostSignatureFromJSDoc(node); - if (host && host.kind !== 169 /* SyntaxKind.MethodDeclaration */) { + if (host && host.kind !== 171 /* SyntaxKind.MethodDeclaration */) { addDeclarationToSymbol(host.symbol, host, 32 /* SymbolFlags.Class */); } } @@ -46792,15 +47137,15 @@ var ts; } function bindOptionalChainRest(node) { switch (node.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: bind(node.questionDotToken); bind(node.name); break; - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: bind(node.questionDotToken); bind(node.argumentExpression); break; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: bind(node.questionDotToken); bindEach(node.typeArguments); bindEach(node.arguments); @@ -46865,7 +47210,7 @@ var ts; // an immediately invoked function expression (IIFE). Initialize the flowNode property to // the current control flow (which includes evaluation of the IIFE arguments). var expr = ts.skipParentheses(node.expression); - if (expr.kind === 213 /* SyntaxKind.FunctionExpression */ || expr.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (expr.kind === 215 /* SyntaxKind.FunctionExpression */ || expr.kind === 216 /* SyntaxKind.ArrowFunction */) { bindEach(node.typeArguments); bindEach(node.arguments); bind(node.expression); @@ -46877,7 +47222,7 @@ var ts; } } } - if (node.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (node.expression.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { var propertyAccess = node.expression; if (ts.isIdentifier(propertyAccess.name) && isNarrowableOperand(propertyAccess.expression) && ts.isPushOrUnshiftIdentifier(propertyAccess.name)) { currentFlow = createFlowMutation(256 /* FlowFlags.ArrayMutation */, currentFlow, node); @@ -46886,55 +47231,55 @@ var ts; } function getContainerFlags(node) { switch (node.kind) { - case 226 /* SyntaxKind.ClassExpression */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 182 /* SyntaxKind.TypeLiteral */: - case 322 /* SyntaxKind.JSDocTypeLiteral */: - case 286 /* SyntaxKind.JsxAttributes */: + case 228 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 184 /* SyntaxKind.TypeLiteral */: + case 325 /* SyntaxKind.JSDocTypeLiteral */: + case 289 /* SyntaxKind.JsxAttributes */: return 1 /* ContainerFlags.IsContainer */; - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return 1 /* ContainerFlags.IsContainer */ | 64 /* ContainerFlags.IsInterface */; - case 261 /* SyntaxKind.ModuleDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 195 /* SyntaxKind.MappedType */: - case 176 /* SyntaxKind.IndexSignature */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 197 /* SyntaxKind.MappedType */: + case 178 /* SyntaxKind.IndexSignature */: return 1 /* ContainerFlags.IsContainer */ | 32 /* ContainerFlags.HasLocals */; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: if (ts.isObjectLiteralOrClassExpressionMethodOrAccessor(node)) { return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */ | 8 /* ContainerFlags.IsFunctionLike */ | 128 /* ContainerFlags.IsObjectLiteralOrClassExpressionMethodOrAccessor */; } // falls through - case 171 /* SyntaxKind.Constructor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 323 /* SyntaxKind.JSDocSignature */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 179 /* SyntaxKind.FunctionType */: - case 175 /* SyntaxKind.ConstructSignature */: - case 180 /* SyntaxKind.ConstructorType */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 326 /* SyntaxKind.JSDocSignature */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 181 /* SyntaxKind.FunctionType */: + case 177 /* SyntaxKind.ConstructSignature */: + case 182 /* SyntaxKind.ConstructorType */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */ | 8 /* ContainerFlags.IsFunctionLike */; - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return 1 /* ContainerFlags.IsContainer */ | 4 /* ContainerFlags.IsControlFlowContainer */ | 32 /* ContainerFlags.HasLocals */ | 8 /* ContainerFlags.IsFunctionLike */ | 16 /* ContainerFlags.IsFunctionExpression */; - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: return 4 /* ContainerFlags.IsControlFlowContainer */; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return node.initializer ? 4 /* ContainerFlags.IsControlFlowContainer */ : 0; - case 292 /* SyntaxKind.CatchClause */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 263 /* SyntaxKind.CaseBlock */: + case 295 /* SyntaxKind.CatchClause */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 266 /* SyntaxKind.CaseBlock */: return 2 /* ContainerFlags.IsBlockScopedContainer */; - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: // do not treat blocks directly inside a function as a block-scoped-container. // Locals that reside in this block should go to the function locals. Otherwise 'x' // would not appear to be a redeclaration of a block scoped local in the following @@ -46967,46 +47312,46 @@ var ts; // members are declared (for example, a member of a class will go into a specific // symbol table depending on if it is static or not). We defer to specialized // handlers to take care of declaring these child members. - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return declareModuleMember(node, symbolFlags, symbolExcludes); - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return declareSourceFileMember(node, symbolFlags, symbolExcludes); - case 226 /* SyntaxKind.ClassExpression */: - case 257 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: return declareClassMember(node, symbolFlags, symbolExcludes); - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return declareSymbol(container.symbol.exports, container.symbol, node, symbolFlags, symbolExcludes); - case 182 /* SyntaxKind.TypeLiteral */: - case 322 /* SyntaxKind.JSDocTypeLiteral */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 286 /* SyntaxKind.JsxAttributes */: + case 184 /* SyntaxKind.TypeLiteral */: + case 325 /* SyntaxKind.JSDocTypeLiteral */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 289 /* SyntaxKind.JsxAttributes */: // Interface/Object-types always have their children added to the 'members' of // their container. They are only accessible through an instance of their // container, and are never in scope otherwise (even inside the body of the // object / type / interface declaring them). An exception is type parameters, // which are in scope without qualification (similar to 'locals'). return declareSymbol(container.symbol.members, container.symbol, node, symbolFlags, symbolExcludes); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 323 /* SyntaxKind.JSDocSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 195 /* SyntaxKind.MappedType */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 326 /* SyntaxKind.JSDocSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 197 /* SyntaxKind.MappedType */: // All the children of these container types are never visible through another // symbol (i.e. through another symbol's 'exports' or 'members'). Instead, // they're only accessed 'lexically' (i.e. from code that exists underneath @@ -47114,10 +47459,10 @@ var ts; } function bindBlockScopedDeclaration(node, symbolFlags, symbolExcludes) { switch (blockScopeContainer.kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: declareModuleMember(node, symbolFlags, symbolExcludes); break; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: if (ts.isExternalOrCommonJsModule(container)) { declareModuleMember(node, symbolFlags, symbolExcludes); break; @@ -47214,7 +47559,7 @@ var ts; node.originalKeywordKind <= 125 /* SyntaxKind.LastFutureReservedWord */) { file.bindDiagnostics.push(createDiagnosticForNode(node, getStrictModeIdentifierMessage(node), ts.declarationNameToString(node))); } - else if (node.originalKeywordKind === 132 /* SyntaxKind.AwaitKeyword */) { + else if (node.originalKeywordKind === 133 /* SyntaxKind.AwaitKeyword */) { if (ts.isExternalModule(file) && ts.isInTopLevelContext(node)) { file.bindDiagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module, ts.declarationNameToString(node))); } @@ -47316,8 +47661,8 @@ var ts; function checkStrictModeFunctionDeclaration(node) { if (languageVersion < 2 /* ScriptTarget.ES2015 */) { // Report error if function is not top level function declaration - if (blockScopeContainer.kind !== 305 /* SyntaxKind.SourceFile */ && - blockScopeContainer.kind !== 261 /* SyntaxKind.ModuleDeclaration */ && + if (blockScopeContainer.kind !== 308 /* SyntaxKind.SourceFile */ && + blockScopeContainer.kind !== 264 /* SyntaxKind.ModuleDeclaration */ && !ts.isFunctionLikeOrClassStaticBlockDeclaration(blockScopeContainer)) { // We check first if the name is inside class declaration or class expression; if so give explicit message // otherwise report generic error message. @@ -47414,7 +47759,7 @@ var ts; // the current 'container' node when it changes. This helps us know which symbol table // a local should go into for example. Since terminal nodes are known not to have // children, as an optimization we don't process those. - if (node.kind > 160 /* SyntaxKind.LastToken */) { + if (node.kind > 162 /* SyntaxKind.LastToken */) { var saveParent = parent; parent = node; var containerFlags = getContainerFlags(node); @@ -47490,23 +47835,23 @@ var ts; } // falls through case 108 /* SyntaxKind.ThisKeyword */: - if (currentFlow && (ts.isExpression(node) || parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */)) { + if (currentFlow && (ts.isExpression(node) || parent.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */)) { node.flowNode = currentFlow; } return checkContextualIdentifier(node); - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: if (currentFlow && ts.isPartOfTypeQuery(node)) { node.flowNode = currentFlow; } break; - case 231 /* SyntaxKind.MetaProperty */: + case 233 /* SyntaxKind.MetaProperty */: case 106 /* SyntaxKind.SuperKeyword */: node.flowNode = currentFlow; break; case 80 /* SyntaxKind.PrivateIdentifier */: return checkPrivateIdentifier(node); - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var expr = node; if (currentFlow && isNarrowableReference(expr)) { expr.flowNode = currentFlow; @@ -47521,7 +47866,7 @@ var ts; declareSymbol(file.locals, /*parent*/ undefined, expr.expression, 1 /* SymbolFlags.FunctionScopedVariable */ | 134217728 /* SymbolFlags.ModuleExports */, 111550 /* SymbolFlags.FunctionScopedVariableExcludes */); } break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: var specialKind = ts.getAssignmentDeclarationKind(node); switch (specialKind) { case 1 /* AssignmentDeclarationKind.ExportsProperty */: @@ -47557,78 +47902,78 @@ var ts; ts.Debug.fail("Unknown binary expression special property assignment kind"); } return checkStrictModeBinaryExpression(node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return checkStrictModeCatchClause(node); - case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.DeleteExpression */: return checkStrictModeDeleteExpression(node); case 8 /* SyntaxKind.NumericLiteral */: return checkStrictModeNumericLiteral(node); - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return checkStrictModePostfixUnaryExpression(node); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return checkStrictModePrefixUnaryExpression(node); - case 248 /* SyntaxKind.WithStatement */: + case 251 /* SyntaxKind.WithStatement */: return checkStrictModeWithStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return checkStrictModeLabeledStatement(node); - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: seenThisKeyword = true; return; - case 177 /* SyntaxKind.TypePredicate */: + case 179 /* SyntaxKind.TypePredicate */: break; // Binding the children will handle everything - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: return bindTypeParameter(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return bindParameter(node); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return bindVariableDeclarationOrBindingElement(node); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: node.flowNode = currentFlow; return bindVariableDeclarationOrBindingElement(node); - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: return bindPropertyWorker(node); - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return bindPropertyOrMethodOrAccessor(node, 4 /* SymbolFlags.Property */, 0 /* SymbolFlags.PropertyExcludes */); - case 299 /* SyntaxKind.EnumMember */: + case 302 /* SyntaxKind.EnumMember */: return bindPropertyOrMethodOrAccessor(node, 8 /* SymbolFlags.EnumMember */, 900095 /* SymbolFlags.EnumMemberExcludes */); - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 176 /* SyntaxKind.IndexSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 178 /* SyntaxKind.IndexSignature */: return declareSymbolAndAddToSymbolTable(node, 131072 /* SymbolFlags.Signature */, 0 /* SymbolFlags.None */); - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: // If this is an ObjectLiteralExpression method, then it sits in the same space // as other properties in the object literal. So we use SymbolFlags.PropertyExcludes // so that it will conflict with any other object literal members with the same // name. return bindPropertyOrMethodOrAccessor(node, 8192 /* SymbolFlags.Method */ | (node.questionToken ? 16777216 /* SymbolFlags.Optional */ : 0 /* SymbolFlags.None */), ts.isObjectLiteralMethod(node) ? 0 /* SymbolFlags.PropertyExcludes */ : 103359 /* SymbolFlags.MethodExcludes */); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return bindFunctionDeclaration(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return declareSymbolAndAddToSymbolTable(node, 16384 /* SymbolFlags.Constructor */, /*symbolExcludes:*/ 0 /* SymbolFlags.None */); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return bindPropertyOrMethodOrAccessor(node, 32768 /* SymbolFlags.GetAccessor */, 46015 /* SymbolFlags.GetAccessorExcludes */); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return bindPropertyOrMethodOrAccessor(node, 65536 /* SymbolFlags.SetAccessor */, 78783 /* SymbolFlags.SetAccessorExcludes */); - case 179 /* SyntaxKind.FunctionType */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 323 /* SyntaxKind.JSDocSignature */: - case 180 /* SyntaxKind.ConstructorType */: + case 181 /* SyntaxKind.FunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 326 /* SyntaxKind.JSDocSignature */: + case 182 /* SyntaxKind.ConstructorType */: return bindFunctionOrConstructorType(node); - case 182 /* SyntaxKind.TypeLiteral */: - case 322 /* SyntaxKind.JSDocTypeLiteral */: - case 195 /* SyntaxKind.MappedType */: + case 184 /* SyntaxKind.TypeLiteral */: + case 325 /* SyntaxKind.JSDocTypeLiteral */: + case 197 /* SyntaxKind.MappedType */: return bindAnonymousTypeWorker(node); - case 332 /* SyntaxKind.JSDocClassTag */: + case 335 /* SyntaxKind.JSDocClassTag */: return bindJSDocClassTag(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return bindObjectLiteralExpression(node); - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return bindFunctionExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: var assignmentKind = ts.getAssignmentDeclarationKind(node); switch (assignmentKind) { case 7 /* AssignmentDeclarationKind.ObjectDefinePropertyValue */: @@ -47647,70 +47992,73 @@ var ts; } break; // Members of classes, interfaces, and modules - case 226 /* SyntaxKind.ClassExpression */: - case 257 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: // All classes are automatically in strict mode in ES6. inStrictMode = true; return bindClassLikeDeclaration(node); - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return bindBlockScopedDeclaration(node, 64 /* SymbolFlags.Interface */, 788872 /* SymbolFlags.InterfaceExcludes */); - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return bindBlockScopedDeclaration(node, 524288 /* SymbolFlags.TypeAlias */, 788968 /* SymbolFlags.TypeAliasExcludes */); - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return bindEnumDeclaration(node); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return bindModuleDeclaration(node); // Jsx-attributes - case 286 /* SyntaxKind.JsxAttributes */: + case 289 /* SyntaxKind.JsxAttributes */: return bindJsxAttributes(node); - case 285 /* SyntaxKind.JsxAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: return bindJsxAttribute(node, 4 /* SymbolFlags.Property */, 0 /* SymbolFlags.PropertyExcludes */); // Imports and exports - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 268 /* SyntaxKind.NamespaceImport */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 271 /* SyntaxKind.NamespaceImport */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: return declareSymbolAndAddToSymbolTable(node, 2097152 /* SymbolFlags.Alias */, 2097152 /* SymbolFlags.AliasExcludes */); - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: return bindNamespaceExportDeclaration(node); - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: return bindImportClause(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return bindExportDeclaration(node); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return bindExportAssignment(node); - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: updateStrictModeStatementList(node.statements); return bindSourceFileIfExternalModule(); - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: if (!ts.isFunctionLikeOrClassStaticBlockDeclaration(node.parent)) { return; } // falls through - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: return updateStrictModeStatementList(node.statements); - case 340 /* SyntaxKind.JSDocParameterTag */: - if (node.parent.kind === 323 /* SyntaxKind.JSDocSignature */) { + case 343 /* SyntaxKind.JSDocParameterTag */: + if (node.parent.kind === 326 /* SyntaxKind.JSDocSignature */) { return bindParameter(node); } - if (node.parent.kind !== 322 /* SyntaxKind.JSDocTypeLiteral */) { + if (node.parent.kind !== 325 /* SyntaxKind.JSDocTypeLiteral */) { break; } // falls through - case 347 /* SyntaxKind.JSDocPropertyTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: var propTag = node; - var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 316 /* SyntaxKind.JSDocOptionalType */ ? + var flags = propTag.isBracketed || propTag.typeExpression && propTag.typeExpression.type.kind === 319 /* SyntaxKind.JSDocOptionalType */ ? 4 /* SymbolFlags.Property */ | 16777216 /* SymbolFlags.Optional */ : 4 /* SymbolFlags.Property */; return declareSymbolAndAddToSymbolTable(propTag, flags, 0 /* SymbolFlags.PropertyExcludes */); - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: return (delayedTypeAliases || (delayedTypeAliases = [])).push(node); } } function bindPropertyWorker(node) { - return bindPropertyOrMethodOrAccessor(node, 4 /* SymbolFlags.Property */ | (node.questionToken ? 16777216 /* SymbolFlags.Optional */ : 0 /* SymbolFlags.None */), 0 /* SymbolFlags.PropertyExcludes */); + var isAutoAccessor = ts.isAutoAccessorPropertyDeclaration(node); + var includes = isAutoAccessor ? 98304 /* SymbolFlags.Accessor */ : 4 /* SymbolFlags.Property */; + var excludes = isAutoAccessor ? 13247 /* SymbolFlags.AccessorExcludes */ : 0 /* SymbolFlags.PropertyExcludes */; + return bindPropertyOrMethodOrAccessor(node, includes | (node.questionToken ? 16777216 /* SymbolFlags.Optional */ : 0 /* SymbolFlags.None */), excludes); } function bindAnonymousTypeWorker(node) { return bindAnonymousDeclaration(node, 2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); @@ -47870,8 +48218,8 @@ var ts; } var thisContainer = ts.getThisContainer(node, /*includeArrowFunctions*/ false); switch (thisContainer.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: var constructorSymbol = thisContainer.symbol; // For `f.prototype.m = function() { this.x = 0; }`, `this.x = 0` should modify `f`'s members, not the function expression. if (ts.isBinaryExpression(thisContainer.parent) && thisContainer.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { @@ -47893,12 +48241,12 @@ var ts; addDeclarationToSymbol(constructorSymbol, constructorSymbol.valueDeclaration, 32 /* SymbolFlags.Class */); } break; - case 171 /* SyntaxKind.Constructor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: // this.foo assignment in a JavaScript class // Bind this property to the containing class var containingClass = thisContainer.parent; @@ -47910,7 +48258,7 @@ var ts; declareSymbol(symbolTable, containingClass.symbol, node, 4 /* SymbolFlags.Property */ | 67108864 /* SymbolFlags.Assignment */, 0 /* SymbolFlags.None */, /*isReplaceableByMethod*/ true); } break; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: // this.property = assignment in a source file -- declare symbol in exports for a module, in locals for a script if (ts.hasDynamicName(node)) { break; @@ -47939,7 +48287,7 @@ var ts; if (node.expression.kind === 108 /* SyntaxKind.ThisKeyword */) { bindThisPropertyAssignment(node); } - else if (ts.isBindableStaticAccessExpression(node) && node.parent.parent.kind === 305 /* SyntaxKind.SourceFile */) { + else if (ts.isBindableStaticAccessExpression(node) && node.parent.parent.kind === 308 /* SyntaxKind.SourceFile */) { if (ts.isPrototypeAccess(node.expression)) { bindPrototypePropertyAssignment(node, node.parent); } @@ -47979,7 +48327,7 @@ var ts; } function bindObjectDefinePropertyAssignment(node) { var namespaceSymbol = lookupSymbolForPropertyAccess(node.arguments[0]); - var isToplevel = node.parent.parent.kind === 305 /* SyntaxKind.SourceFile */; + var isToplevel = node.parent.parent.kind === 308 /* SyntaxKind.SourceFile */; namespaceSymbol = bindPotentiallyMissingNamespaces(namespaceSymbol, node.arguments[0], isToplevel, /*isPrototypeProperty*/ false, /*containerIsClass*/ false); bindPotentiallyNewExpandoMemberToNamespace(node, namespaceSymbol, /*isPrototypeProperty*/ false); } @@ -48088,8 +48436,8 @@ var ts; } function isTopLevelNamespaceAssignment(propertyAccess) { return ts.isBinaryExpression(propertyAccess.parent) - ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 305 /* SyntaxKind.SourceFile */ - : propertyAccess.parent.parent.kind === 305 /* SyntaxKind.SourceFile */; + ? getParentOfBinaryExpression(propertyAccess.parent).parent.kind === 308 /* SyntaxKind.SourceFile */ + : propertyAccess.parent.parent.kind === 308 /* SyntaxKind.SourceFile */; } function bindPropertyAssignment(name, propertyAccess, isPrototypeProperty, containerIsClass) { var namespaceSymbol = lookupSymbolForPropertyAccess(name, container) || lookupSymbolForPropertyAccess(name, blockScopeContainer); @@ -48168,7 +48516,7 @@ var ts; } } function bindClassLikeDeclaration(node) { - if (node.kind === 257 /* SyntaxKind.ClassDeclaration */) { + if (node.kind === 260 /* SyntaxKind.ClassDeclaration */) { bindBlockScopedDeclaration(node, 32 /* SymbolFlags.Class */, 899503 /* SymbolFlags.ClassExcludes */); } else { @@ -48210,7 +48558,7 @@ var ts; checkStrictModeEvalOrArguments(node, node.name); } if (!ts.isBindingPattern(node.name)) { - var possibleVariableDecl = node.kind === 254 /* SyntaxKind.VariableDeclaration */ ? node : node.parent.parent; + var possibleVariableDecl = node.kind === 257 /* SyntaxKind.VariableDeclaration */ ? node : node.parent.parent; if (ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(possibleVariableDecl) && !ts.getJSDocTypeTag(node) && @@ -48238,7 +48586,7 @@ var ts; } } function bindParameter(node) { - if (node.kind === 340 /* SyntaxKind.JSDocParameterTag */ && container.kind !== 323 /* SyntaxKind.JSDocSignature */) { + if (node.kind === 343 /* SyntaxKind.JSDocParameterTag */ && container.kind !== 326 /* SyntaxKind.JSDocSignature */) { return; } if (inStrictMode && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { @@ -48315,7 +48663,7 @@ var ts; declareSymbolAndAddToSymbolTable(node, 262144 /* SymbolFlags.TypeParameter */, 526824 /* SymbolFlags.TypeParameterExcludes */); } } - else if (node.parent.kind === 190 /* SyntaxKind.InferType */) { + else if (node.parent.kind === 192 /* SyntaxKind.InferType */) { var container_2 = getInferTypeContainer(node.parent); if (container_2) { if (!container_2.locals) { @@ -48341,13 +48689,13 @@ var ts; return false; } if (currentFlow === unreachableFlow) { - var reportError = + var reportError = // report error on all statements except empty ones - (ts.isStatementButNotDeclaration(node) && node.kind !== 236 /* SyntaxKind.EmptyStatement */) || + (ts.isStatementButNotDeclaration(node) && node.kind !== 239 /* SyntaxKind.EmptyStatement */) || // report error on class declarations - node.kind === 257 /* SyntaxKind.ClassDeclaration */ || + node.kind === 260 /* SyntaxKind.ClassDeclaration */ || // report error on instantiated modules or const-enums only modules if preserveConstEnums is set - (node.kind === 261 /* SyntaxKind.ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)); + (node.kind === 264 /* SyntaxKind.ModuleDeclaration */ && shouldReportErrorOnModuleDeclaration(node)); if (reportError) { currentFlow = reportedUnreachableFlow; if (!options.allowUnreachableCode) { @@ -48391,12 +48739,12 @@ var ts; } function isPurelyTypeDeclaration(s) { switch (s.kind) { - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return true; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return getModuleInstanceState(s) !== 1 /* ModuleInstanceState.Instantiated */; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return ts.hasSyntacticModifier(s, 2048 /* ModifierFlags.Const */); default: return false; @@ -48597,7 +48945,7 @@ var ts; // (their type resolved directly to the member deeply referenced) // So to get the intervening symbols, we need to check if there's a type // query node on any of the symbol's declarations and get symbols there - if (d.type && d.type.kind === 181 /* SyntaxKind.TypeQuery */) { + if (d.type && d.type.kind === 183 /* SyntaxKind.TypeQuery */) { var query = d.type; var entity = getResolvedSymbol(getFirstIdentifier(query.exprName)); visitSymbol(entity); @@ -48783,8 +49131,6 @@ var ts; IntersectionState[IntersectionState["None"] = 0] = "None"; IntersectionState[IntersectionState["Source"] = 1] = "Source"; IntersectionState[IntersectionState["Target"] = 2] = "Target"; - IntersectionState[IntersectionState["PropertyCheck"] = 4] = "PropertyCheck"; - IntersectionState[IntersectionState["InPropertyCheck"] = 8] = "InPropertyCheck"; })(IntersectionState || (IntersectionState = {})); var RecursionFlags; (function (RecursionFlags) { @@ -49008,6 +49354,7 @@ var ts; getTypeOfPropertyOfType: function (type, name) { return getTypeOfPropertyOfType(type, ts.escapeLeadingUnderscores(name)); }, getIndexInfoOfType: function (type, kind) { return getIndexInfoOfType(type, kind === 0 /* IndexKind.String */ ? stringType : numberType); }, getIndexInfosOfType: getIndexInfosOfType, + getIndexInfosOfIndexSymbol: getIndexInfosOfIndexSymbol, getSignaturesOfType: getSignaturesOfType, getIndexTypeOfType: function (type, kind) { return getIndexTypeOfType(type, kind === 0 /* IndexKind.String */ ? stringType : numberType); }, getIndexType: function (type) { return getIndexType(type); }, @@ -49033,6 +49380,7 @@ var ts; signatureToSignatureDeclaration: nodeBuilder.signatureToSignatureDeclaration, symbolToEntityName: nodeBuilder.symbolToEntityName, symbolToExpression: nodeBuilder.symbolToExpression, + symbolToNode: nodeBuilder.symbolToNode, symbolToTypeParameterDeclarations: nodeBuilder.symbolToTypeParameterDeclarations, symbolToParameterDeclaration: nodeBuilder.symbolToParameterDeclaration, typeParameterToDeclaration: nodeBuilder.typeParameterToDeclaration, @@ -49201,6 +49549,12 @@ var ts; getOptionalType: function () { return optionalType; }, getPromiseType: function () { return getGlobalPromiseType(/*reportErrors*/ false); }, getPromiseLikeType: function () { return getGlobalPromiseLikeType(/*reportErrors*/ false); }, + getAsyncIterableType: function () { + var type = getGlobalAsyncIterableType(/*reportErrors*/ false); + if (type === emptyGenericType) + return undefined; + return type; + }, isSymbolAccessible: isSymbolAccessible, isArrayType: isArrayType, isTupleType: isTupleType, @@ -49281,6 +49635,7 @@ var ts; isPropertyAccessible: isPropertyAccessible, getTypeOnlyAliasDeclaration: getTypeOnlyAliasDeclaration, getMemberOverrideModifierStatus: getMemberOverrideModifierStatus, + isTypeParameterPossiblyReferenced: isTypeParameterPossiblyReferenced, }; function runWithInferenceBlockedFromSourceNode(node, fn) { var containingCall = ts.findAncestor(node, ts.isCallLikeExpression); @@ -49338,6 +49693,7 @@ var ts; var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -49399,7 +49755,8 @@ var ts; var emptyTypeLiteralSymbol = createSymbol(2048 /* SymbolFlags.TypeLiteral */, "__type" /* InternalSymbolName.Type */); emptyTypeLiteralSymbol.members = ts.createSymbolTable(); var emptyTypeLiteralType = createAnonymousType(emptyTypeLiteralSymbol, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); - var unknownUnionType = strictNullChecks ? getUnionType([undefinedType, nullType, createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray)]) : unknownType; + var unknownEmptyObjectType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); + var unknownUnionType = strictNullChecks ? getUnionType([undefinedType, nullType, unknownEmptyObjectType]) : unknownType; var emptyGenericType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); emptyGenericType.instantiations = new ts.Map(); var anyFunctionType = createAnonymousType(undefined, emptySymbols, ts.emptyArray, ts.emptyArray, ts.emptyArray); @@ -49513,6 +49870,8 @@ var ts; var deferredGlobalOmitSymbol; var deferredGlobalAwaitedSymbol; var deferredGlobalBigIntType; + var deferredGlobalNaNSymbol; + var deferredGlobalRecordSymbol; var allPotentiallyUnusedIdentifiers = new ts.Map(); // key is file name var flowLoopStart = 0; var flowLoopCount = 0; @@ -49702,10 +50061,10 @@ var ts; } // Issue errors globally var file = ts.getSourceFileOfNode(location); - addErrorOrSuggestion(isError, "message" in message ? ts.createFileDiagnostic(file, 0, 0, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForFileFromMessageChain(file, message)); // eslint-disable-line no-in-operator + addErrorOrSuggestion(isError, "message" in message ? ts.createFileDiagnostic(file, 0, 0, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForFileFromMessageChain(file, message)); // eslint-disable-line local/no-in-operator return; } - addErrorOrSuggestion(isError, "message" in message ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForNodeFromMessageChain(location, message)); // eslint-disable-line no-in-operator + addErrorOrSuggestion(isError, "message" in message ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2, arg3) : ts.createDiagnosticForNodeFromMessageChain(location, message)); // eslint-disable-line local/no-in-operator } function errorAndMaybeSuggestAwait(location, maybeMissingAwait, message, arg0, arg1, arg2, arg3) { var diagnostic = error(location, message, arg0, arg1, arg2, arg3); @@ -49934,7 +50293,7 @@ var ts; if (unidirectional === void 0) { unidirectional = false; } source.forEach(function (sourceSymbol, id) { var targetSymbol = target.get(id); - target.set(id, targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : sourceSymbol); + target.set(id, targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol)); }); } function mergeModuleAugmentation(moduleName) { @@ -50022,7 +50381,7 @@ var ts; return nodeLinks[nodeId] || (nodeLinks[nodeId] = new NodeLinks()); } function isGlobalSourceFile(node) { - return node.kind === 305 /* SyntaxKind.SourceFile */ && !ts.isExternalOrCommonJsModule(node); + return node.kind === 308 /* SyntaxKind.SourceFile */ && !ts.isExternalOrCommonJsModule(node); } function getSymbol(symbols, name, meaning) { if (meaning) { @@ -50033,9 +50392,9 @@ var ts; return symbol; } if (symbol.flags & 2097152 /* SymbolFlags.Alias */) { - var target = resolveAlias(symbol); - // Unknown symbol means an error occurred in alias resolution, treat it as positive answer to avoid cascading errors - if (target === unknownSymbol || target.flags & meaning) { + var targetFlags = getAllSymbolFlags(symbol); + // `targetFlags` will be `SymbolFlags.All` if an error occurred in alias resolution; this avoids cascading errors + if (targetFlags & meaning) { return symbol; } } @@ -50081,17 +50440,17 @@ var ts; } if (declaration.pos <= usage.pos && !(ts.isPropertyDeclaration(declaration) && ts.isThisProperty(usage.parent) && !declaration.initializer && !declaration.exclamationToken)) { // declaration is before usage - if (declaration.kind === 203 /* SyntaxKind.BindingElement */) { + if (declaration.kind === 205 /* SyntaxKind.BindingElement */) { // still might be illegal if declaration and usage are both binding elements (eg var [a = b, b = b] = [1, 2]) - var errorBindingElement = ts.getAncestor(usage, 203 /* SyntaxKind.BindingElement */); + var errorBindingElement = ts.getAncestor(usage, 205 /* SyntaxKind.BindingElement */); if (errorBindingElement) { return ts.findAncestor(errorBindingElement, ts.isBindingElement) !== ts.findAncestor(declaration, ts.isBindingElement) || declaration.pos < errorBindingElement.pos; } // or it might be illegal if usage happens before parent variable is declared (eg var [a] = a) - return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 254 /* SyntaxKind.VariableDeclaration */), usage); + return isBlockScopedNameDeclaredBeforeUse(ts.getAncestor(declaration, 257 /* SyntaxKind.VariableDeclaration */), usage); } - else if (declaration.kind === 254 /* SyntaxKind.VariableDeclaration */) { + else if (declaration.kind === 257 /* SyntaxKind.VariableDeclaration */) { // still might be illegal if usage is in the initializer of the variable declaration (eg var a = a) return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage); } @@ -50121,12 +50480,12 @@ var ts; // or if usage is in a type context: // 1. inside a type query (typeof in type position) // 2. inside a jsdoc comment - if (usage.parent.kind === 275 /* SyntaxKind.ExportSpecifier */ || (usage.parent.kind === 271 /* SyntaxKind.ExportAssignment */ && usage.parent.isExportEquals)) { + if (usage.parent.kind === 278 /* SyntaxKind.ExportSpecifier */ || (usage.parent.kind === 274 /* SyntaxKind.ExportAssignment */ && usage.parent.isExportEquals)) { // export specifiers do not use the variable, they only make it available for use return true; } // When resolving symbols for exports, the `usage` location passed in can be the export site directly - if (usage.kind === 271 /* SyntaxKind.ExportAssignment */ && usage.isExportEquals) { + if (usage.kind === 274 /* SyntaxKind.ExportAssignment */ && usage.isExportEquals) { return true; } if (!!(usage.flags & 8388608 /* NodeFlags.JSDoc */) || isInTypeQuery(usage) || usageInTypeDeclaration()) { @@ -50148,9 +50507,9 @@ var ts; } function isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage) { switch (declaration.parent.parent.kind) { - case 237 /* SyntaxKind.VariableStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 240 /* SyntaxKind.VariableStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 247 /* SyntaxKind.ForOfStatement */: // variable statement/for/for-of statement case, // use site should not be inside variable declaration (initializer of declaration or binding element) if (isSameScopeDescendentOf(usage, declaration, declContainer)) { @@ -50178,7 +50537,7 @@ var ts; var initializerOfProperty = propertyDeclaration.initializer === current; if (initializerOfProperty) { if (ts.isStatic(current.parent)) { - if (declaration.kind === 169 /* SyntaxKind.MethodDeclaration */) { + if (declaration.kind === 171 /* SyntaxKind.MethodDeclaration */) { return true; } if (ts.isPropertyDeclaration(declaration) && ts.getContainingClass(usage) === ts.getContainingClass(declaration)) { @@ -50193,7 +50552,7 @@ var ts; } } else { - var isDeclarationInstanceProperty = declaration.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(declaration); + var isDeclarationInstanceProperty = declaration.kind === 169 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(declaration); if (!isDeclarationInstanceProperty || ts.getContainingClass(usage) !== ts.getContainingClass(declaration)) { return true; } @@ -50216,19 +50575,19 @@ var ts; return "quit"; } switch (node.kind) { - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return true; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: // even when stopping at any property declaration, they need to come from the same class return stopAtAnyPropertyDeclaration && (ts.isPropertyDeclaration(declaration) && node.parent === declaration.parent || ts.isParameterPropertyDeclaration(declaration, declaration.parent) && node.parent === declaration.parent.parent) ? "quit" : true; - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: switch (node.parent.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 175 /* SyntaxKind.SetAccessor */: return true; default: return false; @@ -50268,18 +50627,18 @@ var ts; } function requiresScopeChangeWorker(node) { switch (node.kind) { - case 214 /* SyntaxKind.ArrowFunction */: - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 171 /* SyntaxKind.Constructor */: + case 216 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 173 /* SyntaxKind.Constructor */: // do not descend into these return false; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 296 /* SyntaxKind.PropertyAssignment */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 299 /* SyntaxKind.PropertyAssignment */: return requiresScopeChangeWorker(node.name); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: // static properties in classes introduce temporary variables if (ts.hasStaticModifier(node)) { return target < 99 /* ScriptTarget.ESNext */ || !useDefineForClassFields; @@ -50308,12 +50667,13 @@ var ts; * the nameNotFoundMessage argument is not undefined. Returns the resolved symbol, or undefined if no symbol with * the given name can be found. * + * @param nameNotFoundMessage If defined, we will report errors found during resolve. * @param isUse If true, this will count towards --noUnusedLocals / --noUnusedParameters. */ - function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions) { + function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions) { if (excludeGlobals === void 0) { excludeGlobals = false; } - if (getSpellingSuggstions === void 0) { getSpellingSuggstions = true; } - return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions, getSymbol); + if (getSpellingSuggestions === void 0) { getSpellingSuggestions = true; } + return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions, getSymbol); } function resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions, lookup) { var _a, _b, _c; @@ -50344,14 +50704,14 @@ var ts; // - parameters are only in the scope of function body // This restriction does not apply to JSDoc comment types because they are parented // at a higher level than type parameters would normally be - if (meaning & result.flags & 788968 /* SymbolFlags.Type */ && lastLocation.kind !== 320 /* SyntaxKind.JSDoc */) { + if (meaning & result.flags & 788968 /* SymbolFlags.Type */ && lastLocation.kind !== 323 /* SyntaxKind.JSDoc */) { useResult = result.flags & 262144 /* SymbolFlags.TypeParameter */ // type parameters are visible in parameter list, return type and type parameter list ? lastLocation === location.type || - lastLocation.kind === 164 /* SyntaxKind.Parameter */ || - lastLocation.kind === 340 /* SyntaxKind.JSDocParameterTag */ || - lastLocation.kind === 341 /* SyntaxKind.JSDocReturnTag */ || - lastLocation.kind === 163 /* SyntaxKind.TypeParameter */ + lastLocation.kind === 166 /* SyntaxKind.Parameter */ || + lastLocation.kind === 343 /* SyntaxKind.JSDocParameterTag */ || + lastLocation.kind === 344 /* SyntaxKind.JSDocReturnTag */ || + lastLocation.kind === 165 /* SyntaxKind.TypeParameter */ // local types not visible outside the function body : false; } @@ -50366,13 +50726,13 @@ var ts; // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = - lastLocation.kind === 164 /* SyntaxKind.Parameter */ || + lastLocation.kind === 166 /* SyntaxKind.Parameter */ || (lastLocation === location.type && !!ts.findAncestor(result.valueDeclaration, ts.isParameter)); } } } - else if (location.kind === 189 /* SyntaxKind.ConditionalType */) { + else if (location.kind === 191 /* SyntaxKind.ConditionalType */) { // A type parameter declared using 'infer T' in a conditional type is visible only in // the true branch of the conditional type. useResult = lastLocation === location.trueType; @@ -50387,14 +50747,14 @@ var ts; } withinDeferredContext = withinDeferredContext || getIsDeferredContext(location, lastLocation); switch (location.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) break; isInExternalModule = true; // falls through - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: var moduleExports = ((_a = getSymbolOfNode(location)) === null || _a === void 0 ? void 0 : _a.exports) || emptySymbols; - if (location.kind === 305 /* SyntaxKind.SourceFile */ || (ts.isModuleDeclaration(location) && location.flags & 16777216 /* NodeFlags.Ambient */ && !ts.isGlobalScopeAugmentation(location))) { + if (location.kind === 308 /* SyntaxKind.SourceFile */ || (ts.isModuleDeclaration(location) && location.flags & 16777216 /* NodeFlags.Ambient */ && !ts.isGlobalScopeAugmentation(location))) { // It's an external module. First see if the module has an export default and if the local // name of that export default matches. if (result = moduleExports.get("default" /* InternalSymbolName.Default */)) { @@ -50418,7 +50778,7 @@ var ts; var moduleExport = moduleExports.get(name); if (moduleExport && moduleExport.flags === 2097152 /* SymbolFlags.Alias */ && - (ts.getDeclarationOfKind(moduleExport, 275 /* SyntaxKind.ExportSpecifier */) || ts.getDeclarationOfKind(moduleExport, 274 /* SyntaxKind.NamespaceExport */))) { + (ts.getDeclarationOfKind(moduleExport, 278 /* SyntaxKind.ExportSpecifier */) || ts.getDeclarationOfKind(moduleExport, 277 /* SyntaxKind.NamespaceExport */))) { break; } } @@ -50432,12 +50792,12 @@ var ts; } } break; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: if (result = lookup(((_c = getSymbolOfNode(location)) === null || _c === void 0 ? void 0 : _c.exports) || emptySymbols, name, meaning & 8 /* SymbolFlags.EnumMember */)) { break loop; } break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: // TypeScript 1.0 spec (April 2014): 8.4.1 // Initializer expressions for instance member variables are evaluated in the scope // of the class constructor body but are not permitted to reference parameters or @@ -50455,9 +50815,9 @@ var ts; } } break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: // The below is used to lookup type parameters within a class or interface, as they are added to the class/interface locals // These can never be latebound, so the symbol's raw members are sufficient. `getMembersOfNode` cannot be used, as it would // trigger resolving late-bound names, which we may already be in the process of doing while we're here! @@ -50471,12 +50831,14 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.4.1 // The scope of a type parameter extends over the entire declaration with which the type // parameter list is associated, with the exception of static member declarations in classes. - error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters); + if (nameNotFoundMessage) { + error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters); + } return undefined; } break loop; } - if (location.kind === 226 /* SyntaxKind.ClassExpression */ && meaning & 32 /* SymbolFlags.Class */) { + if (location.kind === 228 /* SyntaxKind.ClassExpression */ && meaning & 32 /* SymbolFlags.Class */) { var className = location.name; if (className && name === className.escapedText) { result = location.symbol; @@ -50484,7 +50846,7 @@ var ts; } } break; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: // The type parameters of a class are not in scope in the base class expression. if (lastLocation === location.expression && location.parent.token === 94 /* SyntaxKind.ExtendsKeyword */) { var container = location.parent.parent; @@ -50504,34 +50866,36 @@ var ts; // [foo()]() { } // <-- Reference to T from class's own computed property // } // - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: grandparent = location.parent.parent; - if (ts.isClassLike(grandparent) || grandparent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (ts.isClassLike(grandparent) || grandparent.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { // A reference to this grandparent's type parameters would be an error if (result = lookup(getSymbolOfNode(grandparent).members, name, meaning & 788968 /* SymbolFlags.Type */)) { - error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); + if (nameNotFoundMessage) { + error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); + } return undefined; } } break; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: // when targeting ES6 or higher there is no 'arguments' in an arrow function // for lower compile targets the resolved symbol is used to emit an error if (ts.getEmitScriptTarget(compilerOptions) >= 2 /* ScriptTarget.ES2015 */) { break; } // falls through - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: if (meaning & 3 /* SymbolFlags.Variable */ && name === "arguments") { result = argumentsSymbol; break loop; } break; - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: if (meaning & 3 /* SymbolFlags.Variable */ && name === "arguments") { result = argumentsSymbol; break loop; @@ -50544,7 +50908,7 @@ var ts; } } break; - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: // Decorators are resolved at the class declaration. Resolving at the parameter // or member would result in looking up locals in the method. // @@ -50553,7 +50917,7 @@ var ts; // method(@y x, y) {} // <-- decorator y should be resolved at the class declaration, not the parameter. // } // - if (location.parent && location.parent.kind === 164 /* SyntaxKind.Parameter */) { + if (location.parent && location.parent.kind === 166 /* SyntaxKind.Parameter */) { location = location.parent; } // @@ -50568,20 +50932,20 @@ var ts; // declare function y(x: T): any; // @param(1 as T) // <-- T should resolve to the type alias outside of class C // class C {} - if (location.parent && (ts.isClassElement(location.parent) || location.parent.kind === 257 /* SyntaxKind.ClassDeclaration */)) { + if (location.parent && (ts.isClassElement(location.parent) || location.parent.kind === 260 /* SyntaxKind.ClassDeclaration */)) { location = location.parent; } break; - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: // js type aliases do not resolve names from their host, so skip past it var root = ts.getJSDocRoot(location); if (root) { location = root.parent; } break; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: if (lastLocation && (lastLocation === location.initializer || lastLocation === location.name && ts.isBindingPattern(lastLocation))) { if (!associatedDeclarationForContainingInitializerOrBindingName) { @@ -50589,7 +50953,7 @@ var ts; } } break; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: if (lastLocation && (lastLocation === location.initializer || lastLocation === location.name && ts.isBindingPattern(lastLocation))) { if (ts.isParameterDeclaration(location) && !associatedDeclarationForContainingInitializerOrBindingName) { @@ -50597,7 +50961,7 @@ var ts; } } break; - case 190 /* SyntaxKind.InferType */: + case 192 /* SyntaxKind.InferType */: if (meaning & 262144 /* SymbolFlags.TypeParameter */) { var parameterName = location.typeParameter.name; if (parameterName && name === parameterName.escapedText) { @@ -50623,7 +50987,7 @@ var ts; } if (!result) { if (lastLocation) { - ts.Debug.assert(lastLocation.kind === 305 /* SyntaxKind.SourceFile */); + ts.Debug.assert(lastLocation.kind === 308 /* SyntaxKind.SourceFile */); if (lastLocation.commonJsModuleIndicator && name === "exports" && meaning & lastLocation.symbol.flags) { return lastLocation.symbol; } @@ -50663,8 +51027,8 @@ var ts; !checkAndReportErrorForExtendingInterface(errorLocation) && !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && !checkAndReportErrorForExportingPrimitiveType(errorLocation, name) && + !checkAndReportErrorForUsingNamespaceAsTypeOrValue(errorLocation, name, meaning) && !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && - !checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) && !checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) { var suggestion = void 0; var suggestedLib = void 0; @@ -50705,7 +51069,7 @@ var ts; } return undefined; } - else if (checkAndReportErrorForInvalidInitializer()) { + else if (nameNotFoundMessage && checkAndReportErrorForInvalidInitializer()) { return undefined; } // Perform extra checks only if error reporting was requested @@ -50751,9 +51115,9 @@ var ts; } } if (result && errorLocation && meaning & 111551 /* SymbolFlags.Value */ && result.flags & 2097152 /* SymbolFlags.Alias */ && !(result.flags & 111551 /* SymbolFlags.Value */) && !ts.isValidTypeOnlyAliasUseSite(errorLocation)) { - var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result); + var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result, 111551 /* SymbolFlags.Value */); if (typeOnlyDeclaration) { - var message = typeOnlyDeclaration.kind === 275 /* SyntaxKind.ExportSpecifier */ + var message = typeOnlyDeclaration.kind === 278 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type : ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type; var unescapedName = ts.unescapeLeadingUnderscores(name); @@ -50767,31 +51131,31 @@ var ts; function addTypeOnlyDeclarationRelatedInfo(diagnostic, typeOnlyDeclaration, unescapedName) { if (!typeOnlyDeclaration) return diagnostic; - return ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(typeOnlyDeclaration, typeOnlyDeclaration.kind === 275 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics._0_was_exported_here : ts.Diagnostics._0_was_imported_here, unescapedName)); + return ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(typeOnlyDeclaration, typeOnlyDeclaration.kind === 278 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics._0_was_exported_here : ts.Diagnostics._0_was_imported_here, unescapedName)); } function getIsDeferredContext(location, lastLocation) { - if (location.kind !== 214 /* SyntaxKind.ArrowFunction */ && location.kind !== 213 /* SyntaxKind.FunctionExpression */) { + if (location.kind !== 216 /* SyntaxKind.ArrowFunction */ && location.kind !== 215 /* SyntaxKind.FunctionExpression */) { // initializers in instance property declaration of class like entities are executed in constructor and thus deferred return ts.isTypeQueryNode(location) || ((ts.isFunctionLikeDeclaration(location) || - (location.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(location))) && (!lastLocation || lastLocation !== location.name)); // A name is evaluated within the enclosing scope - so it shouldn't count as deferred + (location.kind === 169 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(location))) && (!lastLocation || lastLocation !== location.name)); // A name is evaluated within the enclosing scope - so it shouldn't count as deferred } if (lastLocation && lastLocation === location.name) { return false; } // generator functions and async functions are not inlined in control flow when immediately invoked - if (location.asteriskToken || ts.hasSyntacticModifier(location, 256 /* ModifierFlags.Async */)) { + if (location.asteriskToken || ts.hasSyntacticModifier(location, 512 /* ModifierFlags.Async */)) { return true; } return !ts.getImmediatelyInvokedFunctionExpression(location); } function isSelfReferenceLocation(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: // For `namespace N { N; }` + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: // For `namespace N { N; }` return true; default: return false; @@ -50804,7 +51168,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - if (decl.kind === 163 /* SyntaxKind.TypeParameter */) { + if (decl.kind === 165 /* SyntaxKind.TypeParameter */) { var parent = ts.isJSDocTemplateTag(decl.parent) ? ts.getJSDocHost(decl.parent) : decl.parent; if (parent === container) { return !(ts.isJSDocTemplateTag(decl.parent) && ts.find(decl.parent.parent.tags, ts.isJSDocTypeAlias)); @@ -50861,9 +51225,9 @@ var ts; function getEntityNameForExtendingInterface(node) { switch (node.kind) { case 79 /* SyntaxKind.Identifier */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: if (ts.isEntityNameExpression(node.expression)) { return node.expression; } @@ -50907,14 +51271,14 @@ var ts; return name === "any" || name === "string" || name === "number" || name === "boolean" || name === "never" || name === "unknown"; } function checkAndReportErrorForExportingPrimitiveType(errorLocation, name) { - if (isPrimitiveTypeName(name) && errorLocation.parent.kind === 275 /* SyntaxKind.ExportSpecifier */) { + if (isPrimitiveTypeName(name) && errorLocation.parent.kind === 278 /* SyntaxKind.ExportSpecifier */) { error(errorLocation, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, name); return true; } return false; } function checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) { - if (meaning & (111551 /* SymbolFlags.Value */ & ~1024 /* SymbolFlags.NamespaceModule */)) { + if (meaning & 111551 /* SymbolFlags.Value */) { if (isPrimitiveTypeName(name)) { if (isExtendedByInterface(errorLocation)) { error(errorLocation, ts.Diagnostics.An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes, ts.unescapeLeadingUnderscores(name)); @@ -50925,7 +51289,8 @@ var ts; return true; } var symbol = resolveSymbol(resolveName(errorLocation, name, 788968 /* SymbolFlags.Type */ & ~111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); - if (symbol && !(symbol.flags & 1024 /* SymbolFlags.NamespaceModule */)) { + var allFlags = symbol && getAllSymbolFlags(symbol); + if (symbol && allFlags !== undefined && !(allFlags & 111551 /* SymbolFlags.Value */)) { var rawName = ts.unescapeLeadingUnderscores(name); if (isES2015OrLaterConstructorName(name)) { error(errorLocation, ts.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later, rawName); @@ -50973,16 +51338,16 @@ var ts; } return false; } - function checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) { - if (meaning & (111551 /* SymbolFlags.Value */ & ~1024 /* SymbolFlags.NamespaceModule */ & ~788968 /* SymbolFlags.Type */)) { - var symbol = resolveSymbol(resolveName(errorLocation, name, 1024 /* SymbolFlags.NamespaceModule */ & ~111551 /* SymbolFlags.Value */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + function checkAndReportErrorForUsingNamespaceAsTypeOrValue(errorLocation, name, meaning) { + if (meaning & (111551 /* SymbolFlags.Value */ & ~788968 /* SymbolFlags.Type */)) { + var symbol = resolveSymbol(resolveName(errorLocation, name, 1024 /* SymbolFlags.NamespaceModule */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error(errorLocation, ts.Diagnostics.Cannot_use_namespace_0_as_a_value, ts.unescapeLeadingUnderscores(name)); return true; } } - else if (meaning & (788968 /* SymbolFlags.Type */ & ~1024 /* SymbolFlags.NamespaceModule */ & ~111551 /* SymbolFlags.Value */)) { - var symbol = resolveSymbol(resolveName(errorLocation, name, (512 /* SymbolFlags.ValueModule */ | 1024 /* SymbolFlags.NamespaceModule */) & ~788968 /* SymbolFlags.Type */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); + else if (meaning & (788968 /* SymbolFlags.Type */ & ~111551 /* SymbolFlags.Value */)) { + var symbol = resolveSymbol(resolveName(errorLocation, name, 1536 /* SymbolFlags.Module */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error(errorLocation, ts.Diagnostics.Cannot_use_namespace_0_as_a_type, ts.unescapeLeadingUnderscores(name)); return true; @@ -50998,7 +51363,7 @@ var ts; return; } // Block-scoped variables cannot be used before their definition - var declaration = (_a = result.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 260 /* SyntaxKind.EnumDeclaration */); }); + var declaration = (_a = result.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.isBlockOrCatchScoped(d) || ts.isClassLike(d) || (d.kind === 263 /* SyntaxKind.EnumDeclaration */); }); if (declaration === undefined) return ts.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration"); if (!(declaration.flags & 16777216 /* NodeFlags.Ambient */) && !isBlockScopedNameDeclaredBeforeUse(declaration, errorLocation)) { @@ -51035,13 +51400,13 @@ var ts; } function getAnyImportSyntax(node) { switch (node.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return node; - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: return node.parent; - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: return node.parent.parent; - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent; default: return undefined; @@ -51066,24 +51431,24 @@ var ts; * const { x } = require ... */ function isAliasSymbolDeclaration(node) { - return node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ - || node.kind === 267 /* SyntaxKind.ImportClause */ && !!node.name - || node.kind === 268 /* SyntaxKind.NamespaceImport */ - || node.kind === 274 /* SyntaxKind.NamespaceExport */ - || node.kind === 270 /* SyntaxKind.ImportSpecifier */ - || node.kind === 275 /* SyntaxKind.ExportSpecifier */ - || node.kind === 271 /* SyntaxKind.ExportAssignment */ && ts.exportAssignmentIsAlias(node) + return node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ + || node.kind === 267 /* SyntaxKind.NamespaceExportDeclaration */ + || node.kind === 270 /* SyntaxKind.ImportClause */ && !!node.name + || node.kind === 271 /* SyntaxKind.NamespaceImport */ + || node.kind === 277 /* SyntaxKind.NamespaceExport */ + || node.kind === 273 /* SyntaxKind.ImportSpecifier */ + || node.kind === 278 /* SyntaxKind.ExportSpecifier */ + || node.kind === 274 /* SyntaxKind.ExportAssignment */ && ts.exportAssignmentIsAlias(node) || ts.isBinaryExpression(node) && ts.getAssignmentDeclarationKind(node) === 2 /* AssignmentDeclarationKind.ModuleExports */ && ts.exportAssignmentIsAlias(node) || ts.isAccessExpression(node) && ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && isAliasableOrJsExpression(node.parent.right) - || node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ - || node.kind === 296 /* SyntaxKind.PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) - || node.kind === 254 /* SyntaxKind.VariableDeclaration */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) - || node.kind === 203 /* SyntaxKind.BindingElement */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node.parent.parent); + || node.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ + || node.kind === 299 /* SyntaxKind.PropertyAssignment */ && isAliasableOrJsExpression(node.initializer) + || node.kind === 257 /* SyntaxKind.VariableDeclaration */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node) + || node.kind === 205 /* SyntaxKind.BindingElement */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node.parent.parent); } function isAliasableOrJsExpression(e) { return ts.isAliasableExpression(e) || ts.isFunctionExpression(e) && isJSConstructor(e); @@ -51096,7 +51461,7 @@ var ts; ? resolveSymbol(getPropertyOfType(resolveExternalModuleTypeByLiteral(name), commonJSPropertyAccess.name.escapedText)) : undefined; } - if (ts.isVariableDeclaration(node) || node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { + if (ts.isVariableDeclaration(node) || node.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */) { var immediate = resolveExternalModuleName(node, ts.getExternalModuleRequireArgument(node) || ts.getExternalModuleImportEqualsDeclarationExpression(node)); var resolved_4 = resolveExternalModuleSymbol(immediate); markSymbolOfAliasDeclarationIfTypeOnly(node, immediate, resolved_4, /*overwriteEmpty*/ false); @@ -51109,7 +51474,7 @@ var ts; function checkAndReportErrorForResolvingImportAliasToTypeOnlySymbol(node, resolved) { if (markSymbolOfAliasDeclarationIfTypeOnly(node, /*immediateTarget*/ undefined, resolved, /*overwriteEmpty*/ false) && !node.isTypeOnly) { var typeOnlyDeclaration = getTypeOnlyAliasDeclaration(getSymbolOfNode(node)); - var isExport = typeOnlyDeclaration.kind === 275 /* SyntaxKind.ExportSpecifier */; + var isExport = typeOnlyDeclaration.kind === 278 /* SyntaxKind.ExportSpecifier */; var message = isExport ? ts.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type : ts.Diagnostics.An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type; @@ -51128,7 +51493,7 @@ var ts; return resolved; } function isSyntacticDefault(node) { - return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) || ts.isExportSpecifier(node)); + return ((ts.isExportAssignment(node) && !node.isExportEquals) || ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */) || ts.isExportSpecifier(node)); } function getUsageModeForExpression(usage) { return ts.isStringLiteralLike(usage) ? ts.getModeForUsageLocation(ts.getSourceFileOfNode(usage), usage) : undefined; @@ -51179,41 +51544,61 @@ var ts; return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias); } function getTargetOfImportClause(node, dontResolveAlias) { - var _a; var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier); if (moduleSymbol) { - var exportDefaultSymbol = void 0; - if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) { - exportDefaultSymbol = moduleSymbol; - } - else { - exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias); - } - var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); - var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier); - var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier); - if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) { - if (hasExportAssignmentSymbol(moduleSymbol)) { - var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop"; - var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); - var exportAssignment = exportEqualsSymbol.valueDeclaration; - var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName); - if (exportAssignment) { - ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName)); - } - } - else { - reportNonDefaultExport(moduleSymbol, node); + return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias); + } + } + function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) { + var _a; + var exportDefaultSymbol; + if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) { + exportDefaultSymbol = moduleSymbol; + } + else { + exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias); + } + var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile); + var specifier = getModuleSpecifierForImportOrExport(node); + if (!specifier) { + return exportDefaultSymbol; + } + var hasDefaultOnly = isOnlyImportedAsDefault(specifier); + var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier); + if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) { + if (hasExportAssignmentSymbol(moduleSymbol)) { + var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop"; + var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */); + var exportAssignment = exportEqualsSymbol.valueDeclaration; + var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName); + if (exportAssignment) { + ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName)); } } - else if (hasSyntheticDefault || hasDefaultOnly) { - // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present - var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias); - markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false); - return resolved; + else if (ts.isImportClause(node)) { + reportNonDefaultExport(moduleSymbol, node); + } + else { + errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name); } - markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false); - return exportDefaultSymbol; + } + else if (hasSyntheticDefault || hasDefaultOnly) { + // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present + var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias); + markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false); + return resolved; + } + markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false); + return exportDefaultSymbol; + } + function getModuleSpecifierForImportOrExport(node) { + switch (node.kind) { + case 270 /* SyntaxKind.ImportClause */: return node.parent.moduleSpecifier; + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined; + case 271 /* SyntaxKind.NamespaceImport */: return node.parent.parent.moduleSpecifier; + case 273 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier; + case 278 /* SyntaxKind.ExportSpecifier */: return node.parent.parent.moduleSpecifier; + default: return ts.Debug.assertNever(node); } } function reportNonDefaultExport(moduleSymbol, node) { @@ -51303,7 +51688,7 @@ var ts; } } function getExternalModuleMember(node, specifier, dontResolveAlias) { - var _a, _b; + var _a; if (dontResolveAlias === void 0) { dontResolveAlias = false; } var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier; var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217 @@ -51339,29 +51724,33 @@ var ts; combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) : symbolFromModule || symbolFromVariable; if (!symbol) { - var moduleName = getFullyQualifiedName(moduleSymbol, node); - var declarationName = ts.declarationNameToString(name); - var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol); - if (suggestion !== undefined) { - var suggestionName = symbolToString(suggestion); - var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName); - if (suggestion.valueDeclaration) { - ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName)); - } - } - else { - if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* InternalSymbolName.Default */)) { - error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName); - } - else { - reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName); - } - } + errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name); } return symbol; } } } + function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) { + var _a; + var moduleName = getFullyQualifiedName(moduleSymbol, node); + var declarationName = ts.declarationNameToString(name); + var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol); + if (suggestion !== undefined) { + var suggestionName = symbolToString(suggestion); + var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName); + if (suggestion.valueDeclaration) { + ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName)); + } + } + else { + if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* InternalSymbolName.Default */)) { + error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName); + } + else { + reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName); + } + } + } function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) { var _a, _b; var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText); @@ -51407,6 +51796,13 @@ var ts; } } function getTargetOfImportSpecifier(node, dontResolveAlias) { + if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* InternalSymbolName.Default */) { + var specifier = getModuleSpecifierForImportOrExport(node); + var moduleSymbol = specifier && resolveExternalModuleName(node, specifier); + if (moduleSymbol) { + return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias); + } + } var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent; var commonJSPropertyAccess = getCommonJSPropertyAccess(root); var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias); @@ -51428,6 +51824,13 @@ var ts; return resolved; } function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) { + if (ts.idText(node.propertyName || node.name) === "default" /* InternalSymbolName.Default */) { + var specifier = getModuleSpecifierForImportOrExport(node); + var moduleSymbol = specifier && resolveExternalModuleName(node, specifier); + if (moduleSymbol) { + return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias); + } + } var resolved = node.parent.parent.moduleSpecifier ? getExternalModuleMember(node.parent.parent, node, dontResolveAlias) : resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias); @@ -51463,31 +51866,31 @@ var ts; function getTargetOfAliasDeclaration(node, dontRecursivelyResolve) { if (dontRecursivelyResolve === void 0) { dontRecursivelyResolve = false; } switch (node.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return getTargetOfImportEqualsDeclaration(node, dontRecursivelyResolve); - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: return getTargetOfImportClause(node, dontRecursivelyResolve); - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: return getTargetOfNamespaceImport(node, dontRecursivelyResolve); - case 274 /* SyntaxKind.NamespaceExport */: + case 277 /* SyntaxKind.NamespaceExport */: return getTargetOfNamespaceExport(node, dontRecursivelyResolve); - case 270 /* SyntaxKind.ImportSpecifier */: - case 203 /* SyntaxKind.BindingElement */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 205 /* SyntaxKind.BindingElement */: return getTargetOfImportSpecifier(node, dontRecursivelyResolve); - case 275 /* SyntaxKind.ExportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: return getTargetOfExportSpecifier(node, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, dontRecursivelyResolve); - case 271 /* SyntaxKind.ExportAssignment */: - case 221 /* SyntaxKind.BinaryExpression */: + case 274 /* SyntaxKind.ExportAssignment */: + case 223 /* SyntaxKind.BinaryExpression */: return getTargetOfExportAssignment(node, dontRecursivelyResolve); - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: return getTargetOfNamespaceExportDeclaration(node, dontRecursivelyResolve); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return resolveEntityName(node.name, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ true, dontRecursivelyResolve); - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return getTargetOfAliasLikeExpression(node.initializer, dontRecursivelyResolve); - case 207 /* SyntaxKind.ElementAccessExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return getTargetOfAccessExpression(node, dontRecursivelyResolve); default: return ts.Debug.fail(); @@ -51534,6 +51937,52 @@ var ts; } return undefined; } + /** + * Gets combined flags of a `symbol` and all alias targets it resolves to. `resolveAlias` + * is typically recursive over chains of aliases, but stops mid-chain if an alias is merged + * with another exported symbol, e.g. + * ```ts + * // a.ts + * export const a = 0; + * // b.ts + * export { a } from "./a"; + * export type a = number; + * // c.ts + * import { a } from "./b"; + * ``` + * Calling `resolveAlias` on the `a` in c.ts would stop at the merged symbol exported + * from b.ts, even though there is still more alias to resolve. Consequently, if we were + * trying to determine if the `a` in c.ts has a value meaning, looking at the flags on + * the local symbol and on the symbol returned by `resolveAlias` is not enough. + * @returns SymbolFlags.All if `symbol` is an alias that ultimately resolves to `unknown`; + * combined flags of all alias targets otherwise. + */ + function getAllSymbolFlags(symbol) { + var flags = symbol.flags; + var seenSymbols; + while (symbol.flags & 2097152 /* SymbolFlags.Alias */) { + var target = resolveAlias(symbol); + if (target === unknownSymbol) { + return 67108863 /* SymbolFlags.All */; + } + // Optimizations - try to avoid creating or adding to + // `seenSymbols` if possible + if (target === symbol || (seenSymbols === null || seenSymbols === void 0 ? void 0 : seenSymbols.has(target))) { + break; + } + if (target.flags & 2097152 /* SymbolFlags.Alias */) { + if (seenSymbols) { + seenSymbols.add(target); + } + else { + seenSymbols = new ts.Set([symbol, target]); + } + } + flags |= target.flags; + symbol = target; + } + return flags; + } /** * Marks a symbol as type-only if its declaration is syntactically type-only. * If it is not itself marked type-only, but resolves to a type-only alias @@ -51579,19 +52028,25 @@ var ts; return !!aliasDeclarationLinks.typeOnlyDeclaration; } /** Indicates that a symbol directly or indirectly resolves to a type-only import or export. */ - function getTypeOnlyAliasDeclaration(symbol) { + function getTypeOnlyAliasDeclaration(symbol, include) { if (!(symbol.flags & 2097152 /* SymbolFlags.Alias */)) { return undefined; } var links = getSymbolLinks(symbol); - return links.typeOnlyDeclaration || undefined; + if (include === undefined) { + return links.typeOnlyDeclaration || undefined; + } + if (links.typeOnlyDeclaration) { + return getAllSymbolFlags(resolveAlias(links.typeOnlyDeclaration.symbol)) & include ? links.typeOnlyDeclaration : undefined; + } + return undefined; } function markExportAsReferenced(node) { var symbol = getSymbolOfNode(node); var target = resolveAlias(symbol); if (target) { var markAlias = target === unknownSymbol || - ((target.flags & 111551 /* SymbolFlags.Value */) && !isConstEnumOrConstEnumOnlyModule(target) && !getTypeOnlyAliasDeclaration(symbol)); + ((getAllSymbolFlags(target) & 111551 /* SymbolFlags.Value */) && !isConstEnumOrConstEnumOnlyModule(target) && !getTypeOnlyAliasDeclaration(symbol, 111551 /* SymbolFlags.Value */)); if (markAlias) { markAliasSymbolAsReferenced(symbol); } @@ -51611,8 +52066,7 @@ var ts; // This way a chain of imports can be elided if ultimately the final input is only used in a type // position. if (ts.isInternalModuleImportEqualsDeclaration(node)) { - var target = resolveSymbol(symbol); - if (target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { + if (getAllSymbolFlags(resolveSymbol(symbol)) & 111551 /* SymbolFlags.Value */) { // import foo = checkExpressionCached(node.moduleReference); } @@ -51639,18 +52093,18 @@ var ts; entityName = entityName.parent; } // Check for case 1 and 3 in the above example - if (entityName.kind === 79 /* SyntaxKind.Identifier */ || entityName.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + if (entityName.kind === 79 /* SyntaxKind.Identifier */ || entityName.parent.kind === 163 /* SyntaxKind.QualifiedName */) { return resolveEntityName(entityName, 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } else { // Case 2 in above example // entityName.kind could be a QualifiedName or a Missing identifier - ts.Debug.assert(entityName.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */); + ts.Debug.assert(entityName.parent.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */); return resolveEntityName(entityName, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */, /*ignoreErrors*/ false, dontResolveAlias); } } function getFullyQualifiedName(symbol, containingLocation) { - return symbol.parent ? getFullyQualifiedName(symbol.parent, containingLocation) + "." + symbolToString(symbol) : symbolToString(symbol, containingLocation, /*meaning*/ undefined, 16 /* SymbolFormatFlags.DoNotIncludeSymbolChain */ | 4 /* SymbolFormatFlags.AllowAnyNodeKind */); + return symbol.parent ? getFullyQualifiedName(symbol.parent, containingLocation) + "." + symbolToString(symbol) : symbolToString(symbol, containingLocation, /*meaning*/ undefined, 32 /* SymbolFormatFlags.DoNotIncludeSymbolChain */ | 4 /* SymbolFormatFlags.AllowAnyNodeKind */); } function getContainingQualifiedNameNode(node) { while (ts.isQualifiedName(node.parent)) { @@ -51691,9 +52145,9 @@ var ts; return getMergedSymbol(symbolFromJSPrototype); } } - else if (name.kind === 161 /* SyntaxKind.QualifiedName */ || name.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { - var left = name.kind === 161 /* SyntaxKind.QualifiedName */ ? name.left : name.expression; - var right = name.kind === 161 /* SyntaxKind.QualifiedName */ ? name.right : name.name; + else if (name.kind === 163 /* SyntaxKind.QualifiedName */ || name.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { + var left = name.kind === 163 /* SyntaxKind.QualifiedName */ ? name.left : name.expression; + var right = name.kind === 163 /* SyntaxKind.QualifiedName */ ? name.right : name.name; var namespace = resolveEntityName(left, namespaceMeaning, ignoreErrors, /*dontResolveAlias*/ false, location); if (!namespace || ts.nodeIsMissing(right)) { return undefined; @@ -51751,7 +52205,7 @@ var ts; throw ts.Debug.assertNever(name, "Unknown entity name kind."); } ts.Debug.assert((ts.getCheckFlags(symbol) & 1 /* CheckFlags.Instantiated */) === 0, "Should never get an instantiated symbol here."); - if (!ts.nodeIsSynthesized(name) && ts.isEntityName(name) && (symbol.flags & 2097152 /* SymbolFlags.Alias */ || name.parent.kind === 271 /* SyntaxKind.ExportAssignment */)) { + if (!ts.nodeIsSynthesized(name) && ts.isEntityName(name) && (symbol.flags & 2097152 /* SymbolFlags.Alias */ || name.parent.kind === 274 /* SyntaxKind.ExportAssignment */)) { markSymbolOfAliasDeclarationIfTypeOnly(ts.getAliasDeclarationFromName(name), symbol, /*finalTarget*/ undefined, /*overwriteEmpty*/ true); } return (symbol.flags & meaning) || dontResolveAlias ? symbol : resolveAlias(symbol); @@ -51901,7 +52355,7 @@ var ts; if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); @@ -52074,7 +52528,7 @@ var ts; var _a; var symbol = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias); if (!dontResolveAlias && symbol) { - if (!suppressInteropError && !(symbol.flags & (1536 /* SymbolFlags.Module */ | 3 /* SymbolFlags.Variable */)) && !ts.getDeclarationOfKind(symbol, 305 /* SyntaxKind.SourceFile */)) { + if (!suppressInteropError && !(symbol.flags & (1536 /* SymbolFlags.Module */ | 3 /* SymbolFlags.Variable */)) && !ts.getDeclarationOfKind(symbol, 308 /* SyntaxKind.SourceFile */)) { var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop"; @@ -52434,13 +52888,13 @@ var ts; } function symbolIsValue(symbol, includeTypeOnlyMembers) { return !!(symbol.flags & 111551 /* SymbolFlags.Value */ || - symbol.flags & 2097152 /* SymbolFlags.Alias */ && resolveAlias(symbol).flags & 111551 /* SymbolFlags.Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol))); + symbol.flags & 2097152 /* SymbolFlags.Alias */ && getAllSymbolFlags(symbol) & 111551 /* SymbolFlags.Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol))); } function findConstructorDeclaration(node) { var members = node.members; for (var _i = 0, members_3 = members; _i < members_3.length; _i++) { var member = members_3[_i]; - if (member.kind === 171 /* SyntaxKind.Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 173 /* SyntaxKind.Constructor */ && ts.nodeIsPresent(member.body)) { return member; } } @@ -52548,12 +53002,12 @@ var ts; } } switch (location.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: if (!ts.isExternalOrCommonJsModule(location)) { break; } // falls through - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: var sym = getSymbolOfNode(location); // `sym` may not have exports if this module declaration is backed by the symbol for a `const` that's being rewritten // into a namespace - in such cases, it's best to just let the namespace appear empty (the const members couldn't have referred @@ -52562,9 +53016,9 @@ var ts; return { value: result }; } break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: // Type parameters are bound into `members` lists so they can merge across declarations // This is troublesome, since in all other respects, they behave like locals :cries: // TODO: the below is shared with similar code in `resolveName` - in fact, rephrasing all this symbol @@ -52659,7 +53113,7 @@ var ts; && (isLocalNameLookup ? !ts.some(symbolFromSymbolTable.declarations, ts.isNamespaceReexportDeclaration) : true) // While exports are generally considered to be in scope, export-specifier declared symbols are _not_ // See similar comment in `resolveName` for details - && (ignoreQualification || !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* SyntaxKind.ExportSpecifier */))) { + && (ignoreQualification || !ts.getDeclarationOfKind(symbolFromSymbolTable, 278 /* SyntaxKind.ExportSpecifier */))) { var resolvedImportedSymbol = resolveAlias(symbolFromSymbolTable); var candidate = getCandidateListForSymbol(symbolFromSymbolTable, resolvedImportedSymbol, ignoreQualification); if (candidate) { @@ -52703,8 +53157,10 @@ var ts; return true; } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 2097152 /* SymbolFlags.Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 275 /* SyntaxKind.ExportSpecifier */)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; - if (symbolFromSymbolTable.flags & meaning) { + var shouldResolveAlias = (symbolFromSymbolTable.flags & 2097152 /* SymbolFlags.Alias */ && !ts.getDeclarationOfKind(symbolFromSymbolTable, 278 /* SyntaxKind.ExportSpecifier */)); + symbolFromSymbolTable = shouldResolveAlias ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + var flags = shouldResolveAlias ? getAllSymbolFlags(symbolFromSymbolTable) : symbolFromSymbolTable.flags; + if (flags & meaning) { qualify = true; return true; } @@ -52718,10 +53174,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; switch (declaration.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: continue; default: return false; @@ -52851,10 +53307,10 @@ var ts; return node && getSymbolOfNode(node); } function hasExternalModuleSymbol(declaration) { - return ts.isAmbientModule(declaration) || (declaration.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isAmbientModule(declaration) || (declaration.kind === 308 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasNonGlobalAugmentationExternalModuleSymbol(declaration) { - return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); + return ts.isModuleWithStringLiteralName(declaration) || (declaration.kind === 308 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(declaration)); } function hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) { var aliasesToMakeVisible; @@ -52922,14 +53378,14 @@ var ts; function isEntityNameVisible(entityName, enclosingDeclaration) { // get symbol of the first identifier of the entityName var meaning; - if (entityName.parent.kind === 181 /* SyntaxKind.TypeQuery */ || - entityName.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ && !ts.isPartOfTypeNode(entityName.parent) || - entityName.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (entityName.parent.kind === 183 /* SyntaxKind.TypeQuery */ || + entityName.parent.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */ && !ts.isPartOfTypeNode(entityName.parent) || + entityName.parent.kind === 164 /* SyntaxKind.ComputedPropertyName */) { // Typeof value meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; } - else if (entityName.kind === 161 /* SyntaxKind.QualifiedName */ || entityName.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || - entityName.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + else if (entityName.kind === 163 /* SyntaxKind.QualifiedName */ || entityName.kind === 208 /* SyntaxKind.PropertyAccessExpression */ || + entityName.parent.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { // Left identifier from type reference or TypeAlias // Entity name of the import declaration meaning = 1920 /* SymbolFlags.Namespace */; @@ -52965,15 +53421,18 @@ var ts; if (flags & 8 /* SymbolFormatFlags.UseAliasDefinedOutsideCurrentScope */) { nodeFlags |= 16384 /* NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope */; } - if (flags & 16 /* SymbolFormatFlags.DoNotIncludeSymbolChain */) { + if (flags & 32 /* SymbolFormatFlags.DoNotIncludeSymbolChain */) { nodeFlags |= 134217728 /* NodeBuilderFlags.DoNotIncludeSymbolChain */; } - var builder = flags & 4 /* SymbolFormatFlags.AllowAnyNodeKind */ ? nodeBuilder.symbolToExpression : nodeBuilder.symbolToEntityName; + if (flags & 16 /* SymbolFormatFlags.WriteComputedProps */) { + nodeFlags |= 1073741824 /* NodeBuilderFlags.WriteComputedProps */; + } + var builder = flags & 4 /* SymbolFormatFlags.AllowAnyNodeKind */ ? nodeBuilder.symbolToNode : nodeBuilder.symbolToEntityName; return writer ? symbolToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(symbolToStringWorker); function symbolToStringWorker(writer) { var entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags); // TODO: GH#18217 // add neverAsciiEscape for GH#39027 - var printer = (enclosingDeclaration === null || enclosingDeclaration === void 0 ? void 0 : enclosingDeclaration.kind) === 305 /* SyntaxKind.SourceFile */ ? ts.createPrinter({ removeComments: true, neverAsciiEscape: true }) : ts.createPrinter({ removeComments: true }); + var printer = (enclosingDeclaration === null || enclosingDeclaration === void 0 ? void 0 : enclosingDeclaration.kind) === 308 /* SyntaxKind.SourceFile */ ? ts.createPrinter({ removeComments: true, neverAsciiEscape: true }) : ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); printer.writeNode(4 /* EmitHint.Unspecified */, entity, /*sourceFile*/ sourceFile, writer); return writer; @@ -52985,10 +53444,10 @@ var ts; function signatureToStringWorker(writer) { var sigOutput; if (flags & 262144 /* TypeFormatFlags.WriteArrowStyleSignature */) { - sigOutput = kind === 1 /* SignatureKind.Construct */ ? 180 /* SyntaxKind.ConstructorType */ : 179 /* SyntaxKind.FunctionType */; + sigOutput = kind === 1 /* SignatureKind.Construct */ ? 182 /* SyntaxKind.ConstructorType */ : 181 /* SyntaxKind.FunctionType */; } else { - sigOutput = kind === 1 /* SignatureKind.Construct */ ? 175 /* SyntaxKind.ConstructSignature */ : 174 /* SyntaxKind.CallSignature */; + sigOutput = kind === 1 /* SignatureKind.Construct */ ? 177 /* SyntaxKind.ConstructSignature */ : 176 /* SyntaxKind.CallSignature */; } var sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */); var printer = ts.createPrinter({ removeComments: true, omitTrailingSemicolon: true }); @@ -53068,7 +53527,25 @@ var ts; symbolTableToDeclarationStatements: function (symbolTable, enclosingDeclaration, flags, tracker, bundled) { return withContext(enclosingDeclaration, flags, tracker, function (context) { return symbolTableToDeclarationStatements(symbolTable, context, bundled); }); }, + symbolToNode: function (symbol, meaning, enclosingDeclaration, flags, tracker) { + return withContext(enclosingDeclaration, flags, tracker, function (context) { return symbolToNode(symbol, context, meaning); }); + }, }; + function symbolToNode(symbol, context, meaning) { + if (context.flags & 1073741824 /* NodeBuilderFlags.WriteComputedProps */) { + if (symbol.valueDeclaration) { + var name = ts.getNameOfDeclaration(symbol.valueDeclaration); + if (name && ts.isComputedPropertyName(name)) + return name; + } + var nameType = getSymbolLinks(symbol).nameType; + if (nameType && nameType.flags & (1024 /* TypeFlags.EnumLiteral */ | 8192 /* TypeFlags.UniqueESSymbol */)) { + context.enclosingDeclaration = nameType.symbol.valueDeclaration; + return ts.factory.createComputedPropertyName(symbolToExpression(nameType.symbol, context, meaning)); + } + } + return symbolToExpression(symbol, context, meaning); + } function withContext(enclosingDeclaration, flags, tracker, cb) { var _a, _b; ts.Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & 8 /* NodeFlags.Synthesized */) === 0); @@ -53153,7 +53630,7 @@ var ts; return undefined; // TODO: GH#18217 } context.approximateLength += 3; - return ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + return ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } if (!(context.flags & 536870912 /* NodeBuilderFlags.NoTypeReduction */)) { type = getReducedType(type); @@ -53163,29 +53640,29 @@ var ts; return ts.factory.createTypeReferenceNode(symbolToEntityNameNode(type.aliasSymbol), mapToTypeNodes(type.aliasTypeArguments, context)); } if (type === unresolvedType) { - return ts.addSyntheticLeadingComment(ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */), 3 /* SyntaxKind.MultiLineCommentTrivia */, "unresolved"); + return ts.addSyntheticLeadingComment(ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */), 3 /* SyntaxKind.MultiLineCommentTrivia */, "unresolved"); } context.approximateLength += 3; - return ts.factory.createKeywordTypeNode(type === intrinsicMarkerType ? 138 /* SyntaxKind.IntrinsicKeyword */ : 130 /* SyntaxKind.AnyKeyword */); + return ts.factory.createKeywordTypeNode(type === intrinsicMarkerType ? 139 /* SyntaxKind.IntrinsicKeyword */ : 131 /* SyntaxKind.AnyKeyword */); } if (type.flags & 2 /* TypeFlags.Unknown */) { - return ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */); + return ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */); } if (type.flags & 4 /* TypeFlags.String */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(150 /* SyntaxKind.StringKeyword */); + return ts.factory.createKeywordTypeNode(152 /* SyntaxKind.StringKeyword */); } if (type.flags & 8 /* TypeFlags.Number */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(147 /* SyntaxKind.NumberKeyword */); + return ts.factory.createKeywordTypeNode(148 /* SyntaxKind.NumberKeyword */); } if (type.flags & 64 /* TypeFlags.BigInt */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(158 /* SyntaxKind.BigIntKeyword */); + return ts.factory.createKeywordTypeNode(160 /* SyntaxKind.BigIntKeyword */); } if (type.flags & 16 /* TypeFlags.Boolean */ && !type.aliasSymbol) { context.approximateLength += 7; - return ts.factory.createKeywordTypeNode(133 /* SyntaxKind.BooleanKeyword */); + return ts.factory.createKeywordTypeNode(134 /* SyntaxKind.BooleanKeyword */); } if (type.flags & 1024 /* TypeFlags.EnumLiteral */ && !(type.flags & 1048576 /* TypeFlags.Union */)) { var parentSymbol = getParentOfSymbol(type.symbol); @@ -53239,7 +53716,7 @@ var ts; } } context.approximateLength += 13; - return ts.factory.createTypeOperatorNode(154 /* SyntaxKind.UniqueKeyword */, ts.factory.createKeywordTypeNode(151 /* SyntaxKind.SymbolKeyword */)); + return ts.factory.createTypeOperatorNode(156 /* SyntaxKind.UniqueKeyword */, ts.factory.createKeywordTypeNode(153 /* SyntaxKind.SymbolKeyword */)); } if (type.flags & 16384 /* TypeFlags.Void */) { context.approximateLength += 4; @@ -53247,7 +53724,7 @@ var ts; } if (type.flags & 32768 /* TypeFlags.Undefined */) { context.approximateLength += 9; - return ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */); + return ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UndefinedKeyword */); } if (type.flags & 65536 /* TypeFlags.Null */) { context.approximateLength += 4; @@ -53255,15 +53732,15 @@ var ts; } if (type.flags & 131072 /* TypeFlags.Never */) { context.approximateLength += 5; - return ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */); + return ts.factory.createKeywordTypeNode(144 /* SyntaxKind.NeverKeyword */); } if (type.flags & 4096 /* TypeFlags.ESSymbol */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(151 /* SyntaxKind.SymbolKeyword */); + return ts.factory.createKeywordTypeNode(153 /* SyntaxKind.SymbolKeyword */); } if (type.flags & 67108864 /* TypeFlags.NonPrimitive */) { context.approximateLength += 6; - return ts.factory.createKeywordTypeNode(148 /* SyntaxKind.ObjectKeyword */); + return ts.factory.createKeywordTypeNode(149 /* SyntaxKind.ObjectKeyword */); } if (ts.isThisTypeParameter(type)) { if (context.flags & 4194304 /* NodeBuilderFlags.InObjectTypeLiteral */) { @@ -53352,7 +53829,7 @@ var ts; var indexedType = type.type; context.approximateLength += 6; var indexTypeNode = typeToTypeNodeHelper(indexedType, context); - return ts.factory.createTypeOperatorNode(140 /* SyntaxKind.KeyOfKeyword */, indexTypeNode); + return ts.factory.createTypeOperatorNode(141 /* SyntaxKind.KeyOfKeyword */, indexTypeNode); } if (type.flags & 134217728 /* TypeFlags.TemplateLiteral */) { var texts_1 = type.texts; @@ -53404,7 +53881,7 @@ var ts; // On the other hand, // checkType extends infer T extends checkType ? T extends extendsType ? trueType : falseType : never; // may also work with `infer ... extends ...` in, but would produce declarations only compatible with the latest TS. - return ts.factory.createConditionalTypeNode(checkTypeNode, ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), ts.factory.createConditionalTypeNode(ts.factory.createTypeReferenceNode(ts.factory.cloneNode(name)), typeToTypeNodeHelper(type.checkType, context), ts.factory.createConditionalTypeNode(newTypeVariable, extendsTypeNode_1, trueTypeNode_1, falseTypeNode_1), ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)), ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)); + return ts.factory.createConditionalTypeNode(checkTypeNode, ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName))), ts.factory.createConditionalTypeNode(ts.factory.createTypeReferenceNode(ts.factory.cloneNode(name)), typeToTypeNodeHelper(type.checkType, context), ts.factory.createConditionalTypeNode(newTypeVariable, extendsTypeNode_1, trueTypeNode_1, falseTypeNode_1), ts.factory.createKeywordTypeNode(144 /* SyntaxKind.NeverKeyword */)), ts.factory.createKeywordTypeNode(144 /* SyntaxKind.NeverKeyword */)); } var saveInferTypeParameters = context.inferTypeParameters; context.inferTypeParameters = type.root.inferTypeParameters; @@ -53446,7 +53923,7 @@ var ts; var name = typeParameterToName(newParam, context); newTypeVariable = ts.factory.createTypeReferenceNode(name); } - appropriateConstraintTypeNode = ts.factory.createTypeOperatorNode(140 /* SyntaxKind.KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context)); + appropriateConstraintTypeNode = ts.factory.createTypeOperatorNode(141 /* SyntaxKind.KeyOfKeyword */, newTypeVariable || typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context)); } else { appropriateConstraintTypeNode = typeToTypeNodeHelper(getConstraintTypeFromMappedType(type), context); @@ -53462,7 +53939,7 @@ var ts; // wrap it with a conditional like `SomeModifiersType extends infer U ? {..the mapped type...} : never` to ensure the resulting // type stays homomorphic var originalConstraint = instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode(type.declaration.typeParameter.constraint.type)) || unknownType, type.mapper); - return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName), originalConstraint.flags & 2 /* TypeFlags.Unknown */ ? undefined : typeToTypeNodeHelper(originalConstraint, context))), result, ts.factory.createKeywordTypeNode(143 /* SyntaxKind.NeverKeyword */)); + return ts.factory.createConditionalTypeNode(typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), ts.factory.createInferTypeNode(ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.factory.cloneNode(newTypeVariable.typeName), originalConstraint.flags & 2 /* TypeFlags.Unknown */ ? undefined : typeToTypeNodeHelper(originalConstraint, context))), result, ts.factory.createKeywordTypeNode(144 /* SyntaxKind.NeverKeyword */)); } return result; } @@ -53510,7 +53987,7 @@ var ts; var isNonLocalFunctionSymbol = !!(symbol.flags & 16 /* SymbolFlags.Function */) && (symbol.parent || // is exported function symbol ts.forEach(symbol.declarations, function (declaration) { - return declaration.parent.kind === 305 /* SyntaxKind.SourceFile */ || declaration.parent.kind === 262 /* SyntaxKind.ModuleBlock */; + return declaration.parent.kind === 308 /* SyntaxKind.SourceFile */ || declaration.parent.kind === 265 /* SyntaxKind.ModuleBlock */; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { // typeof is allowed only for static/non local functions @@ -53599,12 +54076,12 @@ var ts; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { var signature = resolved.callSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 179 /* SyntaxKind.FunctionType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 181 /* SyntaxKind.FunctionType */, context); return signatureNode; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { var signature = resolved.constructSignatures[0]; - var signatureNode = signatureToSignatureDeclarationHelper(signature, 180 /* SyntaxKind.ConstructorType */, context); + var signatureNode = signatureToSignatureDeclarationHelper(signature, 182 /* SyntaxKind.ConstructorType */, context); return signatureNode; } } @@ -53647,7 +54124,7 @@ var ts; } var elementType = typeToTypeNodeHelper(typeArguments[0], context); var arrayType = ts.factory.createArrayTypeNode(elementType); - return type.target === globalArrayType ? arrayType : ts.factory.createTypeOperatorNode(145 /* SyntaxKind.ReadonlyKeyword */, arrayType); + return type.target === globalArrayType ? arrayType : ts.factory.createTypeOperatorNode(146 /* SyntaxKind.ReadonlyKeyword */, arrayType); } else if (type.target.objectFlags & 8 /* ObjectFlags.Tuple */) { typeArguments = ts.sameMap(typeArguments, function (t, i) { return removeMissingType(t, !!(type.target.elementFlags[i] & 2 /* ElementFlags.Optional */)); }); @@ -53672,12 +54149,12 @@ var ts; } } var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode(tupleConstituentNodes), 1 /* EmitFlags.SingleLine */); - return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* SyntaxKind.ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; + return type.target.readonly ? ts.factory.createTypeOperatorNode(146 /* SyntaxKind.ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; } } if (context.encounteredError || (context.flags & 524288 /* NodeBuilderFlags.AllowEmptyTuple */)) { var tupleTypeNode = ts.setEmitFlags(ts.factory.createTupleTypeNode([]), 1 /* EmitFlags.SingleLine */); - return type.target.readonly ? ts.factory.createTypeOperatorNode(145 /* SyntaxKind.ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; + return type.target.readonly ? ts.factory.createTypeOperatorNode(146 /* SyntaxKind.ReadonlyKeyword */, tupleTypeNode) : tupleTypeNode; } context.encounteredError = true; return undefined; // TODO: GH#18217 @@ -53784,13 +54261,13 @@ var ts; var typeElements = []; for (var _i = 0, _a = resolvedType.callSignatures; _i < _a.length; _i++) { var signature = _a[_i]; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 174 /* SyntaxKind.CallSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 176 /* SyntaxKind.CallSignature */, context)); } for (var _b = 0, _c = resolvedType.constructSignatures; _b < _c.length; _b++) { var signature = _c[_b]; if (signature.flags & 4 /* SignatureFlags.Abstract */) continue; - typeElements.push(signatureToSignatureDeclarationHelper(signature, 175 /* SyntaxKind.ConstructSignature */, context)); + typeElements.push(signatureToSignatureDeclarationHelper(signature, 177 /* SyntaxKind.ConstructSignature */, context)); } for (var _d = 0, _e = resolvedType.indexInfos; _d < _e.length; _d++) { var info = _e[_d]; @@ -53827,7 +54304,7 @@ var ts; if (!(context.flags & 1 /* NodeBuilderFlags.NoTruncation */)) { return ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("..."), /*typeArguments*/ undefined); } - return ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + return ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } function shouldUsePlaceholderForProperty(propertySymbol, context) { var _a; @@ -53877,7 +54354,7 @@ var ts; var signatures = getSignaturesOfType(filterType(propertyType, function (t) { return !(t.flags & 32768 /* TypeFlags.Undefined */); }), 0 /* SignatureKind.Call */); for (var _i = 0, signatures_1 = signatures; _i < signatures_1.length; _i++) { var signature = signatures_1[_i]; - var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 168 /* SyntaxKind.MethodSignature */, context, { name: propertyName, questionToken: optionalToken }); + var methodDeclaration = signatureToSignatureDeclarationHelper(signature, 170 /* SyntaxKind.MethodSignature */, context, { name: propertyName, questionToken: optionalToken }); typeElements.push(preserveCommentsOn(methodDeclaration)); } } @@ -53891,12 +54368,12 @@ var ts; context.reverseMappedStack || (context.reverseMappedStack = []); context.reverseMappedStack.push(propertySymbol); } - propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + propertyTypeNode = propertyType ? serializeTypeForDeclaration(context, propertyType, propertySymbol, saveEnclosingDeclaration) : ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); if (propertyIsReverseMapped) { context.reverseMappedStack.pop(); } } - var modifiers = isReadonlySymbol(propertySymbol) ? [ts.factory.createToken(145 /* SyntaxKind.ReadonlyKeyword */)] : undefined; + var modifiers = isReadonlySymbol(propertySymbol) ? [ts.factory.createToken(146 /* SyntaxKind.ReadonlyKeyword */)] : undefined; if (modifiers) { context.approximateLength += 9; } @@ -53905,8 +54382,8 @@ var ts; } function preserveCommentsOn(node) { var _a; - if (ts.some(propertySymbol.declarations, function (d) { return d.kind === 347 /* SyntaxKind.JSDocPropertyTag */; })) { - var d = (_a = propertySymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 347 /* SyntaxKind.JSDocPropertyTag */; }); + if (ts.some(propertySymbol.declarations, function (d) { return d.kind === 350 /* SyntaxKind.JSDocPropertyTag */; })) { + var d = (_a = propertySymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return d.kind === 350 /* SyntaxKind.JSDocPropertyTag */; }); var commentText = ts.getTextOfJSDocComment(d.comment); if (commentText) { ts.setSyntheticLeadingComments(node, [{ kind: 3 /* SyntaxKind.MultiLineCommentTrivia */, text: "*\n * " + commentText.replace(/\n/g, "\n * ") + "\n ", pos: -1, end: -1, hasTrailingNewLine: true }]); @@ -53994,9 +54471,9 @@ var ts; var name = ts.getNameFromIndexInfo(indexInfo) || "x"; var indexerTypeNode = typeToTypeNodeHelper(indexInfo.keyType, context); var indexingParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, name, - /*questionToken*/ undefined, indexerTypeNode, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, name, + /*questionToken*/ undefined, indexerTypeNode, /*initializer*/ undefined); if (!typeNode) { typeNode = typeToTypeNodeHelper(indexInfo.type || anyType, context); @@ -54005,7 +54482,7 @@ var ts; context.encounteredError = true; } context.approximateLength += (name.length + 4); - return ts.factory.createIndexSignature(indexInfo.isReadonly ? [ts.factory.createToken(145 /* SyntaxKind.ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); + return ts.factory.createIndexSignature(indexInfo.isReadonly ? [ts.factory.createToken(146 /* SyntaxKind.ReadonlyKeyword */)] : undefined, [indexingParameter], typeNode); } function signatureToSignatureDeclarationHelper(signature, kind, context, options) { var _a, _b, _c, _d; @@ -54023,7 +54500,7 @@ var ts; } var expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; // If the expanded parameter list had a variadic in a non-trailing position, don't expand it - var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* CheckFlags.RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 171 /* SyntaxKind.Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); + var parameters = (ts.some(expandedParams, function (p) { return p !== expandedParams[expandedParams.length - 1] && !!(ts.getCheckFlags(p) & 32768 /* CheckFlags.RestParameter */); }) ? signature.parameters : expandedParams).map(function (parameter) { return symbolToParameterDeclaration(parameter, context, kind === 173 /* SyntaxKind.Constructor */, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); }); var thisParameter = context.flags & 33554432 /* NodeBuilderFlags.OmitThisParameter */ ? undefined : tryGetThisParameterDeclaration(signature, context); if (thisParameter) { parameters.unshift(thisParameter); @@ -54032,7 +54509,7 @@ var ts; var typePredicate = getTypePredicateOfSignature(signature); if (typePredicate) { var assertsModifier = typePredicate.kind === 2 /* TypePredicateKind.AssertsThis */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? - ts.factory.createToken(128 /* SyntaxKind.AssertsKeyword */) : + ts.factory.createToken(129 /* SyntaxKind.AssertsKeyword */) : undefined; var parameterName = typePredicate.kind === 1 /* TypePredicateKind.Identifier */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.setEmitFlags(ts.factory.createIdentifier(typePredicate.parameterName), 16777216 /* EmitFlags.NoAsciiEscaping */) : @@ -54046,28 +54523,28 @@ var ts; returnTypeNode = serializeReturnTypeForSignature(context, returnType, signature, options === null || options === void 0 ? void 0 : options.privateSymbolVisitor, options === null || options === void 0 ? void 0 : options.bundledImports); } else if (!suppressAny) { - returnTypeNode = ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + returnTypeNode = ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } } var modifiers = options === null || options === void 0 ? void 0 : options.modifiers; - if ((kind === 180 /* SyntaxKind.ConstructorType */) && signature.flags & 4 /* SignatureFlags.Abstract */) { + if ((kind === 182 /* SyntaxKind.ConstructorType */) && signature.flags & 4 /* SignatureFlags.Abstract */) { var flags = ts.modifiersToFlags(modifiers); - modifiers = ts.factory.createModifiersFromModifierFlags(flags | 128 /* ModifierFlags.Abstract */); - } - var node = kind === 174 /* SyntaxKind.CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : - kind === 175 /* SyntaxKind.ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : - kind === 168 /* SyntaxKind.MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : - kind === 169 /* SyntaxKind.MethodDeclaration */ ? ts.factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 171 /* SyntaxKind.Constructor */ ? ts.factory.createConstructorDeclaration(modifiers, parameters, /*body*/ undefined) : - kind === 172 /* SyntaxKind.GetAccessor */ ? ts.factory.createGetAccessorDeclaration(modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : - kind === 173 /* SyntaxKind.SetAccessor */ ? ts.factory.createSetAccessorDeclaration(modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : - kind === 176 /* SyntaxKind.IndexSignature */ ? ts.factory.createIndexSignature(modifiers, parameters, returnTypeNode) : - kind === 317 /* SyntaxKind.JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : - kind === 179 /* SyntaxKind.FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 180 /* SyntaxKind.ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : - kind === 256 /* SyntaxKind.FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : - kind === 213 /* SyntaxKind.FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : - kind === 214 /* SyntaxKind.ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : + modifiers = ts.factory.createModifiersFromModifierFlags(flags | 256 /* ModifierFlags.Abstract */); + } + var node = kind === 176 /* SyntaxKind.CallSignature */ ? ts.factory.createCallSignature(typeParameters, parameters, returnTypeNode) : + kind === 177 /* SyntaxKind.ConstructSignature */ ? ts.factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : + kind === 170 /* SyntaxKind.MethodSignature */ ? ts.factory.createMethodSignature(modifiers, (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : ts.factory.createIdentifier(""), options === null || options === void 0 ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : + kind === 171 /* SyntaxKind.MethodDeclaration */ ? ts.factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, (_b = options === null || options === void 0 ? void 0 : options.name) !== null && _b !== void 0 ? _b : ts.factory.createIdentifier(""), /*questionToken*/ undefined, typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 173 /* SyntaxKind.Constructor */ ? ts.factory.createConstructorDeclaration(modifiers, parameters, /*body*/ undefined) : + kind === 174 /* SyntaxKind.GetAccessor */ ? ts.factory.createGetAccessorDeclaration(modifiers, (_c = options === null || options === void 0 ? void 0 : options.name) !== null && _c !== void 0 ? _c : ts.factory.createIdentifier(""), parameters, returnTypeNode, /*body*/ undefined) : + kind === 175 /* SyntaxKind.SetAccessor */ ? ts.factory.createSetAccessorDeclaration(modifiers, (_d = options === null || options === void 0 ? void 0 : options.name) !== null && _d !== void 0 ? _d : ts.factory.createIdentifier(""), parameters, /*body*/ undefined) : + kind === 178 /* SyntaxKind.IndexSignature */ ? ts.factory.createIndexSignature(modifiers, parameters, returnTypeNode) : + kind === 320 /* SyntaxKind.JSDocFunctionType */ ? ts.factory.createJSDocFunctionType(parameters, returnTypeNode) : + kind === 181 /* SyntaxKind.FunctionType */ ? ts.factory.createFunctionTypeNode(typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : + kind === 182 /* SyntaxKind.ConstructorType */ ? ts.factory.createConstructorTypeNode(modifiers, typeParameters, parameters, returnTypeNode !== null && returnTypeNode !== void 0 ? returnTypeNode : ts.factory.createTypeReferenceNode(ts.factory.createIdentifier(""))) : + kind === 259 /* SyntaxKind.FunctionDeclaration */ ? ts.factory.createFunctionDeclaration(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, /*body*/ undefined) : + kind === 215 /* SyntaxKind.FunctionExpression */ ? ts.factory.createFunctionExpression(modifiers, /*asteriskToken*/ undefined, (options === null || options === void 0 ? void 0 : options.name) ? ts.cast(options.name, ts.isIdentifier) : ts.factory.createIdentifier(""), typeParameters, parameters, returnTypeNode, ts.factory.createBlock([])) : + kind === 216 /* SyntaxKind.ArrowFunction */ ? ts.factory.createArrowFunction(modifiers, typeParameters, parameters, returnTypeNode, /*equalsGreaterThanToken*/ undefined, ts.factory.createBlock([])) : ts.Debug.assertNever(kind); if (typeArguments) { node.typeArguments = ts.factory.createNodeArray(typeArguments); @@ -54082,8 +54559,8 @@ var ts; var thisTag = ts.getJSDocThisTag(signature.declaration); if (thisTag && thisTag.typeExpression) { return ts.factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, "this", + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "this", /* questionToken */ undefined, typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context)); } } @@ -54104,9 +54581,9 @@ var ts; return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { - var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 164 /* SyntaxKind.Parameter */); + var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 166 /* SyntaxKind.Parameter */); if (!parameterDeclaration && !ts.isTransientSymbol(parameterSymbol)) { - parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 340 /* SyntaxKind.JSDocParameterTag */); + parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 343 /* SyntaxKind.JSDocParameterTag */); } var parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { @@ -54118,33 +54595,26 @@ var ts; var dotDotDotToken = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined; var name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 79 /* SyntaxKind.Identifier */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name), 16777216 /* EmitFlags.NoAsciiEscaping */) : - parameterDeclaration.name.kind === 161 /* SyntaxKind.QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* EmitFlags.NoAsciiEscaping */) : + parameterDeclaration.name.kind === 163 /* SyntaxKind.QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* EmitFlags.NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : ts.symbolName(parameterSymbol) : ts.symbolName(parameterSymbol); var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* CheckFlags.OptionalParameter */; var questionToken = isOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; - var parameterNode = ts.factory.createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, + var parameterNode = ts.factory.createParameterDeclaration(modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, /*initializer*/ undefined); context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, - /*initializer*/ undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -54289,11 +54759,11 @@ var ts; } function getSpecifierForModuleSymbol(symbol, context, overrideImportMode) { var _a; - var file = ts.getDeclarationOfKind(symbol, 305 /* SyntaxKind.SourceFile */); + var file = ts.getDeclarationOfKind(symbol, 308 /* SyntaxKind.SourceFile */); if (!file) { var equivalentFileSymbol = ts.firstDefined(symbol.declarations, function (d) { return getFileSymbolIfFileSymbolExportEqualsContainer(d, symbol); }); if (equivalentFileSymbol) { - file = ts.getDeclarationOfKind(equivalentFileSymbol, 305 /* SyntaxKind.SourceFile */); + file = ts.getDeclarationOfKind(equivalentFileSymbol, 308 /* SyntaxKind.SourceFile */); } } if (file && file.moduleName !== undefined) { @@ -54761,17 +55231,17 @@ var ts; return transformed === existing ? ts.setTextRange(ts.factory.cloneNode(existing), existing) : transformed; function visitExistingNodeTreeSymbols(node) { // We don't _actually_ support jsdoc namepath types, emit `any` instead - if (ts.isJSDocAllType(node) || node.kind === 319 /* SyntaxKind.JSDocNamepathType */) { - return ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + if (ts.isJSDocAllType(node) || node.kind === 322 /* SyntaxKind.JSDocNamepathType */) { + return ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } if (ts.isJSDocUnknownType(node)) { - return ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */); + return ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */); } if (ts.isJSDocNullableType(node)) { return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createLiteralTypeNode(ts.factory.createNull())]); } if (ts.isJSDocOptionalType(node)) { - return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */)]); + return ts.factory.createUnionTypeNode([ts.visitNode(node.type, visitExistingNodeTreeSymbols), ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UndefinedKeyword */)]); } if (ts.isJSDocNonNullableType(node)) { return ts.visitNode(node.type, visitExistingNodeTreeSymbols); @@ -54785,17 +55255,17 @@ var ts; var typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(node), name.escapedText); var overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined; return ts.factory.createPropertySignature( - /*modifiers*/ undefined, name, t.isBracketed || t.typeExpression && ts.isJSDocOptionalType(t.typeExpression.type) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, overrideTypeNode || (t.typeExpression && ts.visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols)) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + /*modifiers*/ undefined, name, t.isBracketed || t.typeExpression && ts.isJSDocOptionalType(t.typeExpression.type) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, overrideTypeNode || (t.typeExpression && ts.visitNode(t.typeExpression.type, visitExistingNodeTreeSymbols)) || ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */)); })); } if (ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName) && node.typeName.escapedText === "") { - return ts.setOriginalNode(ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */), node); + return ts.setOriginalNode(ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */), node); } if ((ts.isExpressionWithTypeArguments(node) || ts.isTypeReferenceNode(node)) && ts.isJSDocIndexSignature(node)) { return ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature( /*modifiers*/ undefined, [ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotdotdotToken*/ undefined, "x", + /*modifiers*/ undefined, + /*dotdotdotToken*/ undefined, "x", /*questionToken*/ undefined, ts.visitNode(node.typeArguments[0], visitExistingNodeTreeSymbols))], ts.visitNode(node.typeArguments[1], visitExistingNodeTreeSymbols))]); } if (ts.isJSDocFunctionType(node)) { @@ -54803,13 +55273,13 @@ var ts; var newTypeNode_1; return ts.factory.createConstructorTypeNode( /*modifiers*/ undefined, ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.mapDefined(node.parameters, function (p, i) { return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode_1 = p.type, undefined) : ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), - /*initializer*/ undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), + /*initializer*/ undefined); }), ts.visitNode(newTypeNode_1 || node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */)); } else { return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), - /*initializer*/ undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), + /*initializer*/ undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */)); } } if (ts.isTypeReferenceNode(node) && ts.isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(node, 788968 /* SymbolFlags.Type */, /*ignoreErrors*/ true))) { @@ -54877,8 +55347,8 @@ var ts; } } function symbolTableToDeclarationStatements(symbolTable, context, bundled) { - var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 169 /* SyntaxKind.MethodDeclaration */, /*useAcessors*/ true); - var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 168 /* SyntaxKind.MethodSignature */, /*useAcessors*/ false); + var serializePropertySymbolForClass = makeSerializePropertySymbol(ts.factory.createPropertyDeclaration, 171 /* SyntaxKind.MethodDeclaration */, /*useAcessors*/ true); + var serializePropertySymbolForInterfaceWorker = makeSerializePropertySymbol(function (mods, name, question, type) { return ts.factory.createPropertySignature(mods, name, question, type); }, 170 /* SyntaxKind.MethodSignature */, /*useAcessors*/ false); // TODO: Use `setOriginalNode` on original declaration names where possible so these declarations see some kind of // declaration mapping // We save the enclosing declaration off here so it's not adjusted by well-meaning declaration @@ -54940,8 +55410,8 @@ var ts; var body = ns.body; if (ts.length(excessExports)) { ns = ts.factory.updateModuleDeclaration(ns, ns.modifiers, ns.name, body = ts.factory.updateModuleBlock(body, ts.factory.createNodeArray(__spreadArray(__spreadArray([], ns.body.statements, true), [ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.map(ts.flatMap(excessExports, function (e) { return getNamesOfDeclaration(e); }), function (id) { return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, /*alias*/ undefined, id); })), + /*modifiers*/ undefined, + /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.map(ts.flatMap(excessExports, function (e) { return getNamesOfDeclaration(e); }), function (id) { return ts.factory.createExportSpecifier(/*isTypeOnly*/ false, /*alias*/ undefined, id); })), /*moduleSpecifier*/ undefined)], false)))); statements = __spreadArray(__spreadArray(__spreadArray([], statements.slice(0, nsIndex), true), [ns], false), statements.slice(nsIndex + 1), true); } @@ -54965,8 +55435,8 @@ var ts; if (ts.length(exports) > 1) { var nonExports = ts.filter(statements, function (d) { return !ts.isExportDeclaration(d) || !!d.moduleSpecifier || !d.exportClause; }); statements = __spreadArray(__spreadArray([], nonExports, true), [ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(exports, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), + /*modifiers*/ undefined, + /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(exports, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), /*moduleSpecifier*/ undefined)], false); } // Pass 2b: Also combine all `export {} from "..."` declarations as needed @@ -54979,7 +55449,7 @@ var ts; // remove group members from statements and then merge group members and add back to statements statements = __spreadArray(__spreadArray([], ts.filter(statements, function (s) { return group_1.indexOf(s) === -1; }), true), [ ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.flatMap(group_1, function (e) { return ts.cast(e.exportClause, ts.isNamedExports).elements; })), group_1[0].moduleSpecifier) ], false); } @@ -55002,7 +55472,7 @@ var ts; // export {name} - look thru `statements` for `name`, and if all results can take an `export` modifier, do so and filter it var indices = ts.indicesOf(statements); var associatedIndices = ts.filter(indices, function (i) { return ts.nodeHasName(statements[i], e.name); }); - if (ts.length(associatedIndices) && ts.every(associatedIndices, function (i) { return canHaveExportModifier(statements[i]); })) { + if (ts.length(associatedIndices) && ts.every(associatedIndices, function (i) { return ts.canHaveExportModifier(statements[i]); })) { for (var _i = 0, associatedIndices_1 = associatedIndices; _i < associatedIndices_1.length; _i++) { var index_1 = associatedIndices_1[_i]; statements[index_1] = addExportModifier(statements[index_1]); @@ -55036,15 +55506,6 @@ var ts; } return statements; } - function canHaveExportModifier(node) { - return ts.isEnumDeclaration(node) || - ts.isVariableStatement(node) || - ts.isFunctionDeclaration(node) || - ts.isClassDeclaration(node) || - (ts.isModuleDeclaration(node) && !ts.isExternalModuleAugmentation(node) && !ts.isGlobalScopeAugmentation(node)) || - ts.isInterfaceDeclaration(node) || - isTypeDeclaration(node); - } function addExportModifier(node) { var flags = (ts.getEffectiveModifierFlags(node) | 1 /* ModifierFlags.Export */) & ~2 /* ModifierFlags.Ambient */; return ts.factory.updateModifiers(node, flags); @@ -55116,7 +55577,7 @@ var ts; if (needsPostExportDefault || needsExportDeclaration) { isPrivate = true; } - var modifierFlags = (!isPrivate ? 1 /* ModifierFlags.Export */ : 0) | (isDefault && !needsPostExportDefault ? 512 /* ModifierFlags.Default */ : 0); + var modifierFlags = (!isPrivate ? 1 /* ModifierFlags.Export */ : 0) | (isDefault && !needsPostExportDefault ? 1024 /* ModifierFlags.Default */ : 0); var isConstMergedWithNS = symbol.flags & 1536 /* SymbolFlags.Module */ && symbol.flags & (2 /* SymbolFlags.BlockScopedVariable */ | 1 /* SymbolFlags.FunctionScopedVariable */ | 4 /* SymbolFlags.Property */) && symbol.escapedName !== "export=" /* InternalSymbolName.ExportEquals */; @@ -55133,6 +55594,7 @@ var ts; && symbol.escapedName !== "export=" /* InternalSymbolName.ExportEquals */ && !(symbol.flags & 4194304 /* SymbolFlags.Prototype */) && !(symbol.flags & 32 /* SymbolFlags.Class */) + && !(symbol.flags & 8192 /* SymbolFlags.Method */) && !isConstMergedWithNSPrintableAsSignatureMerge) { if (propertyAsAlias) { var createdExport = serializeMaybeAliasAssignment(symbol); @@ -55168,7 +55630,7 @@ var ts; && ((_d = type.symbol) === null || _d === void 0 ? void 0 : _d.valueDeclaration) && ts.isSourceFile(type.symbol.valueDeclaration)) { var alias = localName === propertyAccessRequire.parent.right.escapedText ? undefined : propertyAccessRequire.parent.right; addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, alias, localName)])), 0 /* ModifierFlags.None */); context.tracker.trackSymbol(type.symbol, context.enclosingDeclaration, 111551 /* SymbolFlags.Value */); } @@ -55200,7 +55662,7 @@ var ts; // ``` // To create an export named `g` that does _not_ shadow the local `g` addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, name, localName)])), 0 /* ModifierFlags.None */); needsExportDeclaration = false; needsPostExportDefault = false; @@ -55257,7 +55719,7 @@ var ts; } else if (needsExportDeclaration) { addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, getInternalSymbolName(symbol, symbolName), symbolName)])), 0 /* ModifierFlags.None */); } } @@ -55290,7 +55752,7 @@ var ts; (ts.isJSDocTypeAlias(context.enclosingDeclaration) ? ts.getSourceFileOfNode(context.enclosingDeclaration) : context.enclosingDeclaration); if (additionalModifierFlags & 1 /* ModifierFlags.Export */ && enclosingDeclaration_1 && (isExportingScope(enclosingDeclaration_1) || ts.isModuleDeclaration(enclosingDeclaration_1)) && - canHaveExportModifier(node)) { + ts.canHaveExportModifier(node)) { // Classes, namespaces, variables, functions, interfaces, and types should all be `export`ed in a module context if not private newModifierFlags |= 1 /* ModifierFlags.Export */; } @@ -55300,8 +55762,8 @@ var ts; // Classes, namespaces, variables, enums, and functions all need `declare` modifiers to be valid in a declaration file top-level scope newModifierFlags |= 2 /* ModifierFlags.Ambient */; } - if ((additionalModifierFlags & 512 /* ModifierFlags.Default */) && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isFunctionDeclaration(node))) { - newModifierFlags |= 512 /* ModifierFlags.Default */; + if ((additionalModifierFlags & 1024 /* ModifierFlags.Default */) && (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isFunctionDeclaration(node))) { + newModifierFlags |= 1024 /* ModifierFlags.Default */; } if (newModifierFlags) { node = ts.factory.updateModifiers(node, newModifierFlags | ts.getEffectiveModifierFlags(node)); @@ -55335,8 +55797,8 @@ var ts; var baseTypes = getBaseTypes(interfaceType); var baseType = ts.length(baseTypes) ? getIntersectionType(baseTypes) : undefined; var members = ts.flatMap(getPropertiesOfType(interfaceType), function (p) { return serializePropertySymbolForInterface(p, baseType); }); - var callSignatures = serializeSignatures(0 /* SignatureKind.Call */, interfaceType, baseType, 174 /* SyntaxKind.CallSignature */); - var constructSignatures = serializeSignatures(1 /* SignatureKind.Construct */, interfaceType, baseType, 175 /* SyntaxKind.ConstructSignature */); + var callSignatures = serializeSignatures(0 /* SignatureKind.Call */, interfaceType, baseType, 176 /* SyntaxKind.CallSignature */); + var constructSignatures = serializeSignatures(1 /* SignatureKind.Construct */, interfaceType, baseType, 177 /* SyntaxKind.ConstructSignature */); var indexSignatures = serializeIndexSignatures(interfaceType, baseType); var heritageClauses = !ts.length(baseTypes) ? undefined : [ts.factory.createHeritageClause(94 /* SyntaxKind.ExtendsKeyword */, ts.mapDefined(baseTypes, function (b) { return trySerializeAsTypeReference(b, 111551 /* SymbolFlags.Value */); }))]; addResult(ts.factory.createInterfaceDeclaration( @@ -55346,7 +55808,7 @@ var ts; return !symbol.exports ? [] : ts.filter(ts.arrayFrom(symbol.exports.values()), isNamespaceMember); } function isTypeOnlyNamespace(symbol) { - return ts.every(getNamespaceMembersForSerialization(symbol), function (m) { return !(resolveSymbol(m).flags & 111551 /* SymbolFlags.Value */); }); + return ts.every(getNamespaceMembersForSerialization(symbol), function (m) { return !(getAllSymbolFlags(resolveSymbol(m)) & 111551 /* SymbolFlags.Value */); }); } function serializeModule(symbol, symbolName, modifierFlags) { var members = getNamespaceMembersForSerialization(symbol); @@ -55365,7 +55827,7 @@ var ts; var containingFile_1 = ts.getSourceFileOfNode(context.enclosingDeclaration); var localName = getInternalSymbolName(symbol, symbolName); var nsBody = ts.factory.createModuleBlock([ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(ts.mapDefined(ts.filter(mergedMembers, function (n) { return n.escapedName !== "export=" /* InternalSymbolName.ExportEquals */; }), function (s) { var _a, _b; var name = ts.unescapeLeadingUnderscores(s.escapedName); @@ -55401,7 +55863,7 @@ var ts; for (var _i = 0, signatures_2 = signatures; _i < signatures_2.length; _i++) { var sig = signatures_2[_i]; // Each overload becomes a separate function declaration, in order - var decl = signatureToSignatureDeclarationHelper(sig, 256 /* SyntaxKind.FunctionDeclaration */, context, { name: ts.factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); + var decl = signatureToSignatureDeclarationHelper(sig, 259 /* SyntaxKind.FunctionDeclaration */, context, { name: ts.factory.createIdentifier(localName), privateSymbolVisitor: includePrivateSymbol, bundledImports: bundled }); addResult(ts.setTextRange(decl, getSignatureTextRangeLocation(sig)), modifierFlags); } // Module symbol emit will take care of module-y members, provided it has exports @@ -55465,7 +55927,7 @@ var ts; results = oldResults; // replace namespace with synthetic version var defaultReplaced = ts.map(declarations, function (d) { return ts.isExportAssignment(d) && !d.isExportEquals && ts.isIdentifier(d.expression) ? ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, d.expression, ts.factory.createIdentifier("default" /* InternalSymbolName.Default */))])) : d; }); var exportModifierStripped = ts.every(defaultReplaced, function (d) { return ts.hasSyntacticModifier(d, 1 /* ModifierFlags.Export */); }) ? ts.map(defaultReplaced, removeExportModifier) : defaultReplaced; fakespace = ts.factory.updateModuleDeclaration(fakespace, fakespace.modifiers, fakespace.name, ts.factory.createModuleBlock(exportModifierStripped)); @@ -55542,9 +56004,9 @@ var ts; // Boil down all private properties into a single one. var privateProperties = hasPrivateIdentifier ? [ts.factory.createPropertyDeclaration( - /*modifiers*/ undefined, ts.factory.createPrivateIdentifier("#private"), - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, ts.factory.createPrivateIdentifier("#private"), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined)] : ts.emptyArray; var publicProperties = ts.flatMap(publicSymbolProps, function (p) { return serializePropertySymbolForClass(p, /*isStatic*/ false, baseTypes[0]); }); @@ -55559,7 +56021,7 @@ var ts; !ts.some(getSignaturesOfType(staticType, 1 /* SignatureKind.Construct */)); var constructors = isNonConstructableClassLikeInJsFile ? [ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(8 /* ModifierFlags.Private */), [], /*body*/ undefined)] : - serializeSignatures(1 /* SignatureKind.Construct */, staticType, staticBaseType, 171 /* SyntaxKind.Constructor */); + serializeSignatures(1 /* SignatureKind.Construct */, staticType, staticBaseType, 173 /* SyntaxKind.Constructor */); var indexSignatures = serializeIndexSignatures(classType, baseTypes[0]); context.enclosingDeclaration = oldEnclosing; addResult(ts.setTextRange(ts.factory.createClassDeclaration( @@ -55608,27 +56070,27 @@ var ts; var targetName = getInternalSymbolName(target, verbatimTargetName); includePrivateSymbol(target); // the target may be within the same scope - attempt to serialize it first switch (node.kind) { - case 203 /* SyntaxKind.BindingElement */: - if (((_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === 254 /* SyntaxKind.VariableDeclaration */) { + case 205 /* SyntaxKind.BindingElement */: + if (((_b = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === 257 /* SyntaxKind.VariableDeclaration */) { // const { SomeClass } = require('./lib'); var specifier_1 = getSpecifierForModuleSymbol(target.parent || target, context); // './lib' var propertyName = node.propertyName; addResult(ts.factory.createImportDeclaration( /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamedImports([ts.factory.createImportSpecifier( - /*isTypeOnly*/ false, propertyName && ts.isIdentifier(propertyName) ? ts.factory.createIdentifier(ts.idText(propertyName)) : undefined, ts.factory.createIdentifier(localName))])), ts.factory.createStringLiteral(specifier_1), + /*isTypeOnly*/ false, propertyName && ts.isIdentifier(propertyName) ? ts.factory.createIdentifier(ts.idText(propertyName)) : undefined, ts.factory.createIdentifier(localName))])), ts.factory.createStringLiteral(specifier_1), /*importClause*/ undefined), 0 /* ModifierFlags.None */); break; } // We don't know how to serialize this (nested?) binding element ts.Debug.failBadSyntaxKind(((_c = node.parent) === null || _c === void 0 ? void 0 : _c.parent) || node, "Unhandled binding element grandparent kind in declaration serialization"); break; - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - if (((_e = (_d = node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.kind) === 221 /* SyntaxKind.BinaryExpression */) { + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + if (((_e = (_d = node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.kind) === 223 /* SyntaxKind.BinaryExpression */) { // module.exports = { SomeClass } serializeExportSpecifier(ts.unescapeLeadingUnderscores(symbol.escapedName), targetName); } break; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: // commonjs require: const x = require('y') if (ts.isPropertyAccessExpression(node.initializer)) { // const x = require('y').z @@ -55637,16 +56099,16 @@ var ts; var specifier_2 = getSpecifierForModuleSymbol(target.parent || target, context); // 'y' // import _x = require('y'); addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, uniqueName, ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(specifier_2))), 0 /* ModifierFlags.None */); // import x = _x.z addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), ts.factory.createQualifiedName(uniqueName, initializer.name)), modifierFlags); break; } // else fall through and treat commonjs require just like import= - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: // This _specifically_ only exists to handle json declarations - where we make aliases, but since // we emit no declarations for the json document, must not refer to it in the declarations if (target.escapedName === "export=" /* InternalSymbolName.ExportEquals */ && ts.some(target.declarations, ts.isJsonSourceFile)) { @@ -55657,47 +56119,47 @@ var ts; // an external `import localName = require("whatever")` var isLocalImport = !(target.flags & 512 /* SymbolFlags.ValueModule */) && !ts.isVariableDeclaration(node); addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(localName), isLocalImport ? symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false) : ts.factory.createExternalModuleReference(ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)))), isLocalImport ? modifierFlags : 0 /* ModifierFlags.None */); break; - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: // export as namespace foo // TODO: Not part of a file's local or export symbol tables // Is bound into file.symbol.globalExports instead, which we don't currently traverse addResult(ts.factory.createNamespaceExportDeclaration(ts.idText(node.name)), 0 /* ModifierFlags.None */); break; - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: addResult(ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, ts.factory.createIdentifier(localName), /*namedBindings*/ undefined), // We use `target.parent || target` below as `target.parent` is unset when the target is a module which has been export assigned // And then made into a default by the `esModuleInterop` or `allowSyntheticDefaultImports` flag // In such cases, the `target` refers to the module itself already - ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: addResult(ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(localName))), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; - case 274 /* SyntaxKind.NamespaceExport */: + case 277 /* SyntaxKind.NamespaceExport */: addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamespaceExport(ts.factory.createIdentifier(localName)), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target, context))), 0 /* ModifierFlags.None */); break; - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: addResult(ts.factory.createImportDeclaration( /*modifiers*/ undefined, ts.factory.createImportClause( - /*isTypeOnly*/ false, + /*isTypeOnly*/ false, /*importClause*/ undefined, ts.factory.createNamedImports([ ts.factory.createImportSpecifier( /*isTypeOnly*/ false, localName !== verbatimTargetName ? ts.factory.createIdentifier(verbatimTargetName) : undefined, ts.factory.createIdentifier(localName)) - ])), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), + ])), ts.factory.createStringLiteral(getSpecifierForModuleSymbol(target.parent || target, context)), /*assertClause*/ undefined), 0 /* ModifierFlags.None */); break; - case 275 /* SyntaxKind.ExportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: // does not use localName because the symbol name in this case refers to the name in the exports table, // which we must exactly preserve var specifier = node.parent.parent.moduleSpecifier; @@ -55705,12 +56167,12 @@ var ts; // another file serializeExportSpecifier(ts.unescapeLeadingUnderscores(symbol.escapedName), specifier ? verbatimTargetName : targetName, specifier && ts.isStringLiteralLike(specifier) ? ts.factory.createStringLiteral(specifier.text) : undefined); break; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: serializeMaybeAliasAssignment(symbol); break; - case 221 /* SyntaxKind.BinaryExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 223 /* SyntaxKind.BinaryExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: // Could be best encoded as though an export specifier or as though an export assignment // If name is default or export=, do an export assignment // Otherwise do an export specifier @@ -55727,7 +56189,7 @@ var ts; } function serializeExportSpecifier(localName, targetName, specifier) { addResult(ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports([ts.factory.createExportSpecifier(/*isTypeOnly*/ false, localName !== targetName ? targetName : undefined, localName)]), specifier), 0 /* ModifierFlags.None */); } /** @@ -55781,7 +56243,7 @@ var ts; // serialize as `import _Ref = t.arg.et; export { _Ref as name }` var varName = getUnusedName(name, symbol); addResult(ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createIdentifier(varName), symbolToName(target, context, 67108863 /* SymbolFlags.All */, /*expectsIdentifier*/ false)), 0 /* ModifierFlags.None */); serializeExportSpecifier(name, varName); } @@ -55854,21 +56316,21 @@ var ts; && isTypeIdenticalTo(getTypeOfSymbol(p), getTypeOfPropertyOfType(baseType, p.escapedName)))) { return []; } - var flag = (modifierFlags & ~256 /* ModifierFlags.Async */) | (isStatic ? 32 /* ModifierFlags.Static */ : 0); + var flag = (modifierFlags & ~512 /* ModifierFlags.Async */) | (isStatic ? 32 /* ModifierFlags.Static */ : 0); var name = getPropertyNameNodeForSymbol(p, context); var firstPropertyLikeDecl = (_a = p.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.or(ts.isPropertyDeclaration, ts.isAccessor, ts.isVariableDeclaration, ts.isPropertySignature, ts.isBinaryExpression, ts.isPropertyAccessExpression)); if (p.flags & 98304 /* SymbolFlags.Accessor */ && useAccessors) { var result = []; if (p.flags & 65536 /* SymbolFlags.SetAccessor */) { result.push(ts.setTextRange(ts.factory.createSetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, "arg", - /*questionToken*/ undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled))], + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, "arg", + /*questionToken*/ undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled))], /*body*/ undefined), ((_b = p.declarations) === null || _b === void 0 ? void 0 : _b.find(ts.isSetAccessor)) || firstPropertyLikeDecl)); } if (p.flags & 32768 /* SymbolFlags.GetAccessor */) { var isPrivate_1 = modifierFlags & 8 /* ModifierFlags.Private */; - result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + result.push(ts.setTextRange(ts.factory.createGetAccessorDeclaration(ts.factory.createModifiersFromModifierFlags(flag), name, [], isPrivate_1 ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), /*body*/ undefined), ((_c = p.declarations) === null || _c === void 0 ? void 0 : _c.find(ts.isGetAccessor)) || firstPropertyLikeDecl)); } return result; @@ -55876,7 +56338,7 @@ var ts; // This is an else/if as accessors and properties can't merge in TS, but might in JS // If this happens, we assume the accessor takes priority, as it imposes more constraints else if (p.flags & (4 /* SymbolFlags.Property */ | 3 /* SymbolFlags.Variable */ | 98304 /* SymbolFlags.Accessor */)) { - return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), + return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, isPrivate ? undefined : serializeTypeForDeclaration(context, getWriteTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled), // TODO: https://github.com/microsoft/TypeScript/pull/32372#discussion_r328386357 // interface members can't have initializers, however class members _can_ /*initializer*/ undefined), ((_d = p.declarations) === null || _d === void 0 ? void 0 : _d.find(ts.or(ts.isPropertyDeclaration, ts.isVariableDeclaration))) || firstPropertyLikeDecl); @@ -55885,8 +56347,8 @@ var ts; var type = getTypeOfSymbol(p); var signatures = getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (flag & 8 /* ModifierFlags.Private */) { - return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, - /*type*/ undefined, + return ts.setTextRange(createProperty(ts.factory.createModifiersFromModifierFlags((isReadonlySymbol(p) ? 64 /* ModifierFlags.Readonly */ : 0) | flag), name, p.flags & 16777216 /* SymbolFlags.Optional */ ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, + /*type*/ undefined, /*initializer*/ undefined), ((_e = p.declarations) === null || _e === void 0 ? void 0 : _e.find(ts.isFunctionLikeDeclaration)) || signatures[0] && signatures[0].declaration || p.declarations && p.declarations[0]); } var results_1 = []; @@ -55943,8 +56405,8 @@ var ts; } } if (privateProtected) { - return [ts.setTextRange(ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(privateProtected), - /*parameters*/ [], + return [ts.setTextRange(ts.factory.createConstructorDeclaration(ts.factory.createModifiersFromModifierFlags(privateProtected), + /*parameters*/ [], /*body*/ undefined), signatures[0].declaration)]; } } @@ -56066,7 +56528,7 @@ var ts; if (flags === void 0) { flags = 16384 /* TypeFormatFlags.UseAliasDefinedOutsideCurrentScope */; } return writer ? typePredicateToStringWorker(writer).getText() : ts.usingSingleLineStringWriter(typePredicateToStringWorker); function typePredicateToStringWorker(writer) { - var predicate = ts.factory.createTypePredicateNode(typePredicate.kind === 2 /* TypePredicateKind.AssertsThis */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.factory.createToken(128 /* SyntaxKind.AssertsKeyword */) : undefined, typePredicate.kind === 1 /* TypePredicateKind.Identifier */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.factory.createIdentifier(typePredicate.parameterName) : ts.factory.createThisTypeNode(), typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */) // TODO: GH#18217 + var predicate = ts.factory.createTypePredicateNode(typePredicate.kind === 2 /* TypePredicateKind.AssertsThis */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.factory.createToken(129 /* SyntaxKind.AssertsKeyword */) : undefined, typePredicate.kind === 1 /* TypePredicateKind.Identifier */ || typePredicate.kind === 3 /* TypePredicateKind.AssertsIdentifier */ ? ts.factory.createIdentifier(typePredicate.parameterName) : ts.factory.createThisTypeNode(), typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* NodeBuilderFlags.IgnoreErrors */ | 512 /* NodeBuilderFlags.WriteTypeParametersInQualifiedName */) // TODO: GH#18217 ); var printer = ts.createPrinter({ removeComments: true }); var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration); @@ -56113,7 +56575,7 @@ var ts; function getTypeAliasForTypeLiteral(type) { if (type.symbol && type.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */ && type.symbol.declarations) { var node = ts.walkUpParenthesizedTypes(type.symbol.declarations[0].parent); - if (node.kind === 259 /* SyntaxKind.TypeAliasDeclaration */) { + if (node.kind === 262 /* SyntaxKind.TypeAliasDeclaration */) { return getSymbolOfNode(node); } } @@ -56121,11 +56583,11 @@ var ts; } function isTopLevelInExternalModuleAugmentation(node) { return node && node.parent && - node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && + node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ && ts.isExternalModuleAugmentation(node.parent.parent); } function isDefaultBindingContext(location) { - return location.kind === 305 /* SyntaxKind.SourceFile */ || ts.isAmbientModule(location); + return location.kind === 308 /* SyntaxKind.SourceFile */ || ts.isAmbientModule(location); } function getNameOfSymbolFromNameType(symbol, context) { var nameType = getSymbolLinks(symbol).nameType; @@ -56184,17 +56646,17 @@ var ts; if (!declaration) { declaration = symbol.declarations[0]; // Declaration may be nameless, but we'll try anyway } - if (declaration.parent && declaration.parent.kind === 254 /* SyntaxKind.VariableDeclaration */) { + if (declaration.parent && declaration.parent.kind === 257 /* SyntaxKind.VariableDeclaration */) { return ts.declarationNameToString(declaration.parent.name); } switch (declaration.kind) { - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: if (context && !context.encounteredError && !(context.flags & 131072 /* NodeBuilderFlags.AllowAnonymousIdentifier */)) { context.encounteredError = true; } - return declaration.kind === 226 /* SyntaxKind.ClassExpression */ ? "(Anonymous class)" : "(Anonymous function)"; + return declaration.kind === 228 /* SyntaxKind.ClassExpression */ ? "(Anonymous class)" : "(Anonymous function)"; } } var name = getNameOfSymbolFromNameType(symbol, context); @@ -56211,28 +56673,28 @@ var ts; return false; function determineIfDeclarationIsVisible() { switch (node.kind) { - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: // Top-level jsdoc type aliases are considered exported // First parent is comment node, second is hosting declaration or token; we only care about those tokens or declarations whose parent is a source file return !!(node.parent && node.parent.parent && node.parent.parent.parent && ts.isSourceFile(node.parent.parent.parent)); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return isDeclarationVisible(node.parent.parent); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: if (ts.isBindingPattern(node.name) && !node.name.elements.length) { // If the binding pattern is empty, this variable declaration is not visible return false; } // falls through - case 261 /* SyntaxKind.ModuleDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: // external module augmentation is always visible if (ts.isExternalModuleAugmentation(node)) { return true; @@ -56240,55 +56702,55 @@ var ts; var parent = getDeclarationContainer(node); // If the node is not exported or it is not ambient module element (except import declaration) if (!(ts.getCombinedModifierFlags(node) & 1 /* ModifierFlags.Export */) && - !(node.kind !== 265 /* SyntaxKind.ImportEqualsDeclaration */ && parent.kind !== 305 /* SyntaxKind.SourceFile */ && parent.flags & 16777216 /* NodeFlags.Ambient */)) { + !(node.kind !== 268 /* SyntaxKind.ImportEqualsDeclaration */ && parent.kind !== 308 /* SyntaxKind.SourceFile */ && parent.flags & 16777216 /* NodeFlags.Ambient */)) { return isGlobalSourceFile(parent); } // Exported members/ambient module elements (exception import declaration) are visible if parent is visible return isDeclarationVisible(parent); - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: if (ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) { // Private/protected properties/methods are not visible return false; } // Public properties/methods are visible if its parents are visible, so: // falls through - case 171 /* SyntaxKind.Constructor */: - case 175 /* SyntaxKind.ConstructSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 164 /* SyntaxKind.Parameter */: - case 262 /* SyntaxKind.ModuleBlock */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 182 /* SyntaxKind.TypeLiteral */: - case 178 /* SyntaxKind.TypeReference */: - case 183 /* SyntaxKind.ArrayType */: - case 184 /* SyntaxKind.TupleType */: - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: - case 191 /* SyntaxKind.ParenthesizedType */: - case 197 /* SyntaxKind.NamedTupleMember */: + case 173 /* SyntaxKind.Constructor */: + case 177 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 166 /* SyntaxKind.Parameter */: + case 265 /* SyntaxKind.ModuleBlock */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 184 /* SyntaxKind.TypeLiteral */: + case 180 /* SyntaxKind.TypeReference */: + case 185 /* SyntaxKind.ArrayType */: + case 186 /* SyntaxKind.TupleType */: + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 199 /* SyntaxKind.NamedTupleMember */: return isDeclarationVisible(node.parent); // Default binding, import specifier and namespace import is visible // only on demand so by default it is not visible - case 267 /* SyntaxKind.ImportClause */: - case 268 /* SyntaxKind.NamespaceImport */: - case 270 /* SyntaxKind.ImportSpecifier */: + case 270 /* SyntaxKind.ImportClause */: + case 271 /* SyntaxKind.NamespaceImport */: + case 273 /* SyntaxKind.ImportSpecifier */: return false; // Type parameters are always visible - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: // Source file and namespace export are always visible // falls through - case 305 /* SyntaxKind.SourceFile */: - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 308 /* SyntaxKind.SourceFile */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: return true; // Export assignments do not create name bindings outside the module - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return false; default: return false; @@ -56297,10 +56759,10 @@ var ts; } function collectLinkedAliases(node, setVisibility) { var exportSymbol; - if (node.parent && node.parent.kind === 271 /* SyntaxKind.ExportAssignment */) { + if (node.parent && node.parent.kind === 274 /* SyntaxKind.ExportAssignment */) { exportSymbol = resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*nameNotFoundMessage*/ undefined, node, /*isUse*/ false); } - else if (node.parent.kind === 275 /* SyntaxKind.ExportSpecifier */) { + else if (node.parent.kind === 278 /* SyntaxKind.ExportSpecifier */) { exportSymbol = getTargetOfExportSpecifier(node.parent, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */); } var result; @@ -56407,12 +56869,12 @@ var ts; function getDeclarationContainer(node) { return ts.findAncestor(ts.getRootDeclaration(node), function (node) { switch (node.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: - case 255 /* SyntaxKind.VariableDeclarationList */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 269 /* SyntaxKind.NamedImports */: - case 268 /* SyntaxKind.NamespaceImport */: - case 267 /* SyntaxKind.ImportClause */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 258 /* SyntaxKind.VariableDeclarationList */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 272 /* SyntaxKind.NamedImports */: + case 271 /* SyntaxKind.NamespaceImport */: + case 270 /* SyntaxKind.ImportClause */: return false; default: return true; @@ -56542,23 +57004,23 @@ var ts; function getParentElementAccess(node) { var ancestor = node.parent.parent; switch (ancestor.kind) { - case 203 /* SyntaxKind.BindingElement */: - case 296 /* SyntaxKind.PropertyAssignment */: + case 205 /* SyntaxKind.BindingElement */: + case 299 /* SyntaxKind.PropertyAssignment */: return getSyntheticElementAccess(ancestor); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return getSyntheticElementAccess(node.parent); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return ancestor.initializer; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return ancestor.right; } } function getDestructuringPropertyName(node) { var parent = node.parent; - if (node.kind === 203 /* SyntaxKind.BindingElement */ && parent.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { + if (node.kind === 205 /* SyntaxKind.BindingElement */ && parent.kind === 203 /* SyntaxKind.ObjectBindingPattern */) { return getLiteralPropertyNameText(node.propertyName || node.name); } - if (node.kind === 296 /* SyntaxKind.PropertyAssignment */ || node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (node.kind === 299 /* SyntaxKind.PropertyAssignment */ || node.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { return getLiteralPropertyNameText(node.name); } return "" + parent.elements.indexOf(node); @@ -56588,7 +57050,7 @@ var ts; parentType = getTypeWithFacts(parentType, 524288 /* TypeFacts.NEUndefined */); } var type; - if (pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { + if (pattern.kind === 203 /* SyntaxKind.ObjectBindingPattern */) { if (declaration.dotDotDotToken) { parentType = getReducedType(parentType); if (parentType.flags & 2 /* TypeFlags.Unknown */ || !isValidSpreadType(parentType)) { @@ -56659,7 +57121,7 @@ var ts; } function isEmptyArrayLiteral(node) { var expr = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return expr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && expr.elements.length === 0; + return expr.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ && expr.elements.length === 0; } function addOptionality(type, isProperty, isOptional) { if (isProperty === void 0) { isProperty = false; } @@ -56670,11 +57132,11 @@ var ts; function getTypeForVariableLikeDeclaration(declaration, includeOptionality, checkMode) { // A variable declared in a for..in statement is of type string, or of type keyof T when the // right hand expression is of a type parameter type. - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 246 /* SyntaxKind.ForInStatement */) { var indexType = getIndexType(getNonNullableTypeIfNeeded(checkExpression(declaration.parent.parent.expression, /*checkMode*/ checkMode))); return indexType.flags & (262144 /* TypeFlags.TypeParameter */ | 4194304 /* TypeFlags.Index */) ? getExtractStringType(indexType) : stringType; } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 247 /* SyntaxKind.ForOfStatement */) { // checkRightHandSideOfForOf will return undefined if the for-of expression type was // missing properties/signatures required to get its iteratedType (like // [Symbol.iterator] or next). This may be because we accessed properties from anyType, @@ -56685,7 +57147,7 @@ var ts; if (ts.isBindingPattern(declaration.parent)) { return getTypeForBindingElement(declaration); } - var isProperty = ts.isPropertyDeclaration(declaration) || ts.isPropertySignature(declaration); + var isProperty = ts.isPropertyDeclaration(declaration) && !ts.hasAccessorModifier(declaration) || ts.isPropertySignature(declaration); var isOptional = includeOptionality && (isProperty && !!declaration.questionToken || ts.isParameter(declaration) && (!!declaration.questionToken || isJSDocOptionalParameter(declaration)) || isOptionalJSDocPropertyLikeTag(declaration)); @@ -56712,8 +57174,8 @@ var ts; if (ts.isParameter(declaration)) { var func = declaration.parent; // For a parameter of a set accessor, use the type of the get accessor if one is present - if (func.kind === 173 /* SyntaxKind.SetAccessor */ && hasBindableName(func)) { - var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 172 /* SyntaxKind.GetAccessor */); + if (func.kind === 175 /* SyntaxKind.SetAccessor */ && hasBindableName(func)) { + var getter = ts.getDeclarationOfKind(getSymbolOfNode(declaration.parent), 174 /* SyntaxKind.GetAccessor */); if (getter) { var getterSignature = getSignatureFromDeclaration(getter); var thisParameter = getAccessorThisParameter(func); @@ -56725,11 +57187,9 @@ var ts; return getReturnTypeOfSignature(getterSignature); } } - if (ts.isInJSFile(declaration)) { - var type_1 = getParameterTypeOfTypeTag(func, declaration); - if (type_1) - return type_1; - } + var parameterTypeOfTypeTag = getParameterTypeOfTypeTag(func, declaration); + if (parameterTypeOfTypeTag) + return parameterTypeOfTypeTag; // Use contextual parameter type if one is available var type = declaration.symbol.escapedName === "this" /* InternalSymbolName.This */ ? getContextualThisParameterType(func) : getContextuallyTypedParameterType(declaration); if (type) { @@ -56790,7 +57250,7 @@ var ts; links.isConstructorDeclaredProperty = !!getDeclaringConstructor(symbol) && ts.every(symbol.declarations, function (declaration) { return ts.isBinaryExpression(declaration) && isPossiblyAliasedThisProperty(declaration) && - (declaration.left.kind !== 207 /* SyntaxKind.ElementAccessExpression */ || ts.isStringOrNumericLiteralLike(declaration.left.argumentExpression)) && + (declaration.left.kind !== 209 /* SyntaxKind.ElementAccessExpression */ || ts.isStringOrNumericLiteralLike(declaration.left.argumentExpression)) && !getAnnotatedTypeForAssignmentDeclaration(/*declaredType*/ undefined, declaration, symbol, declaration); }); } @@ -56812,11 +57272,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; var container = ts.getThisContainer(declaration, /*includeArrowFunctions*/ false); - if (container && (container.kind === 171 /* SyntaxKind.Constructor */ || isJSConstructor(container))) { + if (container && (container.kind === 173 /* SyntaxKind.Constructor */ || isJSConstructor(container))) { return container; } } - ; } /** Create a synthetic property access flow node after the last statement of the file */ function getFlowTypeFromCommonJSExport(symbol) { @@ -57109,9 +57568,9 @@ var ts; var thisContainer = ts.getThisContainer(expression, /*includeArrowFunctions*/ false); // Properties defined in a constructor (or base constructor, or javascript constructor function) don't get undefined added. // Function expressions that are assigned to the prototype count as methods. - return thisContainer.kind === 171 /* SyntaxKind.Constructor */ || - thisContainer.kind === 256 /* SyntaxKind.FunctionDeclaration */ || - (thisContainer.kind === 213 /* SyntaxKind.FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); + return thisContainer.kind === 173 /* SyntaxKind.Constructor */ || + thisContainer.kind === 259 /* SyntaxKind.FunctionDeclaration */ || + (thisContainer.kind === 215 /* SyntaxKind.FunctionExpression */ && !ts.isPrototypePropertyAssignment(thisContainer.parent)); } function getConstructorDefinedThisAssignmentTypes(types, declarations) { ts.Debug.assert(types.length === declarations.length); @@ -57139,7 +57598,11 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + // When we're including the pattern in the type (an indication we're obtaining a contextual type), we + // use a non-inferrable any type. Inference will never directly infer this type, but it is possible + // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, + // widening of the binding pattern type substitutes a regular any for the non-inferrable any. + return includePatternInType ? nonInferrableAnyType : anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -57177,7 +57640,7 @@ var ts; function getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors) { var elements = pattern.elements; var lastElement = ts.lastOrUndefined(elements); - var restElement = lastElement && lastElement.kind === 203 /* SyntaxKind.BindingElement */ && lastElement.dotDotDotToken ? lastElement : undefined; + var restElement = lastElement && lastElement.kind === 205 /* SyntaxKind.BindingElement */ && lastElement.dotDotDotToken ? lastElement : undefined; if (elements.length === 0 || elements.length === 1 && restElement) { return languageVersion >= 2 /* ScriptTarget.ES2015 */ ? createIterableType(anyType) : anyArrayType; } @@ -57202,7 +57665,7 @@ var ts; function getTypeFromBindingPattern(pattern, includePatternInType, reportErrors) { if (includePatternInType === void 0) { includePatternInType = false; } if (reportErrors === void 0) { reportErrors = false; } - return pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ + return pattern.kind === 203 /* SyntaxKind.ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); } @@ -57250,7 +57713,7 @@ var ts; } function declarationBelongsToPrivateAmbientMember(declaration) { var root = ts.getRootDeclaration(declaration); - var memberDeclaration = root.kind === 164 /* SyntaxKind.Parameter */ ? root.parent : root; + var memberDeclaration = root.kind === 166 /* SyntaxKind.Parameter */ ? root.parent : root; return isPrivateWithinAmbient(memberDeclaration); } function tryGetTypeFromEffectiveTypeNode(node) { @@ -57305,9 +57768,9 @@ var ts; if (typeNode === undefined) { return useUnknownInCatchVariables ? unknownType : anyType; } - var type_2 = getTypeOfNode(typeNode); + var type_1 = getTypeOfNode(typeNode); // an errorType will make `checkTryStatement` issue an error - return isTypeAny(type_2) || type_2 === unknownType ? type_2 : errorType; + return isTypeAny(type_1) || type_1 === unknownType ? type_1 : errorType; } // Handle export default expressions if (ts.isSourceFile(declaration) && ts.isJsonSourceFile(declaration)) { @@ -57330,7 +57793,7 @@ var ts; return reportCircularityError(symbol); } var type; - if (declaration.kind === 271 /* SyntaxKind.ExportAssignment */) { + if (declaration.kind === 274 /* SyntaxKind.ExportAssignment */) { type = widenTypeForVariableLikeDeclaration(tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionCached(declaration.expression), declaration); } else if (ts.isBinaryExpression(declaration) || @@ -57398,13 +57861,17 @@ var ts; } function getAnnotatedAccessorTypeNode(accessor) { if (accessor) { - if (accessor.kind === 172 /* SyntaxKind.GetAccessor */) { - var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); - return getterTypeAnnotation; - } - else { - var setterTypeAnnotation = ts.getEffectiveSetAccessorTypeAnnotationNode(accessor); - return setterTypeAnnotation; + switch (accessor.kind) { + case 174 /* SyntaxKind.GetAccessor */: + var getterTypeAnnotation = ts.getEffectiveReturnTypeNode(accessor); + return getterTypeAnnotation; + case 175 /* SyntaxKind.SetAccessor */: + var setterTypeAnnotation = ts.getEffectiveSetAccessorTypeAnnotationNode(accessor); + return setterTypeAnnotation; + case 169 /* SyntaxKind.PropertyDeclaration */: + ts.Debug.assert(ts.hasAccessorModifier(accessor)); + var accessorTypeAnnotation = ts.getEffectiveTypeAnnotationNode(accessor); + return accessorTypeAnnotation; } } return undefined; @@ -57426,14 +57893,17 @@ var ts; if (!pushTypeResolution(symbol, 0 /* TypeSystemPropertyName.Type */)) { return errorType; } - var getter = ts.getDeclarationOfKind(symbol, 172 /* SyntaxKind.GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 173 /* SyntaxKind.SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 174 /* SyntaxKind.GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 175 /* SyntaxKind.SetAccessor */); + var accessor = ts.tryCast(ts.getDeclarationOfKind(symbol, 169 /* SyntaxKind.PropertyDeclaration */), ts.isAutoAccessorPropertyDeclaration); // We try to resolve a getter type annotation, a setter type annotation, or a getter function // body return type inference, in that order. var type = getter && ts.isInJSFile(getter) && getTypeForDeclarationFromJSDocComment(getter) || getAnnotatedAccessorType(getter) || getAnnotatedAccessorType(setter) || - getter && getter.body && getReturnTypeFromBody(getter); + getAnnotatedAccessorType(accessor) || + getter && getter.body && getReturnTypeFromBody(getter) || + accessor && accessor.initializer && getWidenedTypeForVariableLikeDeclaration(accessor, /*includeOptionality*/ true); if (!type) { if (setter && !isPrivateWithinAmbient(setter)) { errorOrSuggestion(noImplicitAny, setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation, symbolToString(symbol)); @@ -57441,6 +57911,9 @@ var ts; else if (getter && !isPrivateWithinAmbient(getter)) { errorOrSuggestion(noImplicitAny, getter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation, symbolToString(symbol)); } + else if (accessor && !isPrivateWithinAmbient(accessor)) { + errorOrSuggestion(noImplicitAny, accessor, ts.Diagnostics.Member_0_implicitly_has_an_1_type, symbolToString(symbol), "any"); + } type = anyType; } if (!popTypeResolution()) { @@ -57450,6 +57923,9 @@ var ts; else if (getAnnotatedAccessorTypeNode(setter)) { error(setter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); } + else if (getAnnotatedAccessorTypeNode(accessor)) { + error(setter, ts.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation, symbolToString(symbol)); + } else if (getter && noImplicitAny) { error(getter, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } @@ -57460,12 +57936,13 @@ var ts; return links.type; } function getWriteTypeOfAccessors(symbol) { + var _a; var links = getSymbolLinks(symbol); if (!links.writeType) { if (!pushTypeResolution(symbol, 8 /* TypeSystemPropertyName.WriteType */)) { return errorType; } - var setter = ts.getDeclarationOfKind(symbol, 173 /* SyntaxKind.SetAccessor */); + var setter = (_a = ts.getDeclarationOfKind(symbol, 175 /* SyntaxKind.SetAccessor */)) !== null && _a !== void 0 ? _a : ts.tryCast(ts.getDeclarationOfKind(symbol, 169 /* SyntaxKind.PropertyDeclaration */), ts.isAutoAccessorPropertyDeclaration); var writeType = getAnnotatedAccessorType(setter); if (!popTypeResolution()) { if (getAnnotatedAccessorTypeNode(setter)) { @@ -57505,9 +57982,9 @@ var ts; if (symbol.flags & 1536 /* SymbolFlags.Module */ && ts.isShorthandAmbientModuleSymbol(symbol)) { return anyType; } - else if (declaration && (declaration.kind === 221 /* SyntaxKind.BinaryExpression */ || + else if (declaration && (declaration.kind === 223 /* SyntaxKind.BinaryExpression */ || ts.isAccessExpression(declaration) && - declaration.parent.kind === 221 /* SyntaxKind.BinaryExpression */)) { + declaration.parent.kind === 223 /* SyntaxKind.BinaryExpression */)) { return getWidenedTypeForAssignmentDeclaration(symbol); } else if (symbol.flags & 512 /* SymbolFlags.ValueModule */ && declaration && ts.isSourceFile(declaration) && declaration.commonJsModuleIndicator) { @@ -57517,11 +57994,11 @@ var ts; return errorType; } var exportEquals = getMergedSymbol(symbol.exports.get("export=" /* InternalSymbolName.ExportEquals */)); - var type_3 = getWidenedTypeForAssignmentDeclaration(exportEquals, exportEquals === resolvedModule ? undefined : resolvedModule); + var type_2 = getWidenedTypeForAssignmentDeclaration(exportEquals, exportEquals === resolvedModule ? undefined : resolvedModule); if (!popTypeResolution()) { return reportCircularityError(symbol); } - return type_3; + return type_2; } } var type = createObjectType(16 /* ObjectFlags.Anonymous */, symbol); @@ -57551,7 +58028,7 @@ var ts; links.type = (exportSymbol === null || exportSymbol === void 0 ? void 0 : exportSymbol.declarations) && isDuplicatedCommonJSExport(exportSymbol.declarations) && symbol.declarations.length ? getFlowTypeFromCommonJSExport(exportSymbol) : isDuplicatedCommonJSExport(symbol.declarations) ? autoType : declaredType ? declaredType - : targetSymbol.flags & 111551 /* SymbolFlags.Value */ ? getTypeOfSymbol(targetSymbol) + : getAllSymbolFlags(targetSymbol) & 111551 /* SymbolFlags.Value */ ? getTypeOfSymbol(targetSymbol) : errorType; } return links.type; @@ -57572,7 +58049,7 @@ var ts; return errorType; } // Check if variable has initializer that circularly references the variable itself - if (noImplicitAny && (declaration.kind !== 164 /* SyntaxKind.Parameter */ || declaration.initializer)) { + if (noImplicitAny && (declaration.kind !== 166 /* SyntaxKind.Parameter */ || declaration.initializer)) { error(symbol.valueDeclaration, ts.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer, symbolToString(symbol)); } // Circularities could also result from parameters in function expressions that end up @@ -57704,46 +58181,46 @@ var ts; return undefined; } switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 168 /* SyntaxKind.MethodSignature */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 344 /* SyntaxKind.JSDocTemplateTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 195 /* SyntaxKind.MappedType */: - case 189 /* SyntaxKind.ConditionalType */: { + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 170 /* SyntaxKind.MethodSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 347 /* SyntaxKind.JSDocTemplateTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 197 /* SyntaxKind.MappedType */: + case 191 /* SyntaxKind.ConditionalType */: { var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); - if (node.kind === 195 /* SyntaxKind.MappedType */) { + if (node.kind === 197 /* SyntaxKind.MappedType */) { return ts.append(outerTypeParameters, getDeclaredTypeOfTypeParameter(getSymbolOfNode(node.typeParameter))); } - else if (node.kind === 189 /* SyntaxKind.ConditionalType */) { + else if (node.kind === 191 /* SyntaxKind.ConditionalType */) { return ts.concatenate(outerTypeParameters, getInferTypeParameters(node)); } var outerAndOwnTypeParameters = appendTypeParameters(outerTypeParameters, ts.getEffectiveTypeParameterDeclarations(node)); var thisType = includeThisTypes && - (node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 226 /* SyntaxKind.ClassExpression */ || node.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || isJSConstructor(node)) && + (node.kind === 260 /* SyntaxKind.ClassDeclaration */ || node.kind === 228 /* SyntaxKind.ClassExpression */ || node.kind === 261 /* SyntaxKind.InterfaceDeclaration */ || isJSConstructor(node)) && getDeclaredTypeOfClassOrInterface(getSymbolOfNode(node)).thisType; return thisType ? ts.append(outerAndOwnTypeParameters, thisType) : outerAndOwnTypeParameters; } - case 340 /* SyntaxKind.JSDocParameterTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: var paramSymbol = ts.getParameterSymbolFromJSDoc(node); if (paramSymbol) { node = paramSymbol.valueDeclaration; } break; - case 320 /* SyntaxKind.JSDoc */: { + case 323 /* SyntaxKind.JSDoc */: { var outerTypeParameters = getOuterTypeParameters(node, includeThisTypes); return node.tags ? appendTypeParameters(outerTypeParameters, ts.flatMap(node.tags, function (t) { return ts.isJSDocTemplateTag(t) ? t.typeParameters : undefined; })) @@ -57754,7 +58231,7 @@ var ts; } // The outer type parameters are those defined by enclosing generic classes, methods, or functions. function getOuterTypeParametersOfClassOrInterface(symbol) { - var declaration = symbol.flags & 32 /* SymbolFlags.Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 258 /* SyntaxKind.InterfaceDeclaration */); + var declaration = symbol.flags & 32 /* SymbolFlags.Class */ ? symbol.valueDeclaration : ts.getDeclarationOfKind(symbol, 261 /* SyntaxKind.InterfaceDeclaration */); ts.Debug.assert(!!declaration, "Class was missing valueDeclaration -OR- non-class had no interface declarations"); return getOuterTypeParameters(declaration); } @@ -57767,9 +58244,9 @@ var ts; var result; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var node = _a[_i]; - if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || - node.kind === 257 /* SyntaxKind.ClassDeclaration */ || - node.kind === 226 /* SyntaxKind.ClassExpression */ || + if (node.kind === 261 /* SyntaxKind.InterfaceDeclaration */ || + node.kind === 260 /* SyntaxKind.ClassDeclaration */ || + node.kind === 228 /* SyntaxKind.ClassExpression */ || isJSConstructor(node) || ts.isTypeAlias(node)) { var declaration = node; @@ -57921,7 +58398,7 @@ var ts; if (!popTypeResolution() && type.symbol.declarations) { for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ || declaration.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (declaration.kind === 260 /* SyntaxKind.ClassDeclaration */ || declaration.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { reportCircularBaseType(declaration, type); } } @@ -58017,7 +58494,7 @@ var ts; if (type.symbol.declarations) { for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 258 /* SyntaxKind.InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 261 /* SyntaxKind.InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) { var node = _c[_b]; var baseType = getReducedType(getTypeFromTypeNode(node)); @@ -58057,7 +58534,7 @@ var ts; } for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (declaration.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { if (declaration.flags & 128 /* NodeFlags.ContainsThis */) { return false; } @@ -58136,7 +58613,7 @@ var ts; } else { type = errorType; - if (declaration.kind === 339 /* SyntaxKind.JSDocEnumTag */) { + if (declaration.kind === 342 /* SyntaxKind.JSDocEnumTag */) { error(declaration.typeExpression.type, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } else { @@ -58151,7 +58628,7 @@ var ts; if (ts.isStringLiteralLike(expr)) { return true; } - else if (expr.kind === 221 /* SyntaxKind.BinaryExpression */) { + else if (expr.kind === 223 /* SyntaxKind.BinaryExpression */) { return isStringConcatExpression(expr.left) && isStringConcatExpression(expr.right); } return false; @@ -58166,12 +58643,12 @@ var ts; case 8 /* SyntaxKind.NumericLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return true; - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return expr.operator === 40 /* SyntaxKind.MinusToken */ && expr.operand.kind === 8 /* SyntaxKind.NumericLiteral */; case 79 /* SyntaxKind.Identifier */: return ts.nodeIsMissing(expr) || !!getSymbolOfNode(member.parent).exports.get(expr.escapedText); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return isStringConcatExpression(expr); default: return false; @@ -58186,7 +58663,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 260 /* SyntaxKind.EnumDeclaration */) { + if (declaration.kind === 263 /* SyntaxKind.EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; if (member.initializer && ts.isStringLiteralLike(member.initializer)) { @@ -58215,7 +58692,7 @@ var ts; if (symbol.declarations) { for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - if (declaration.kind === 260 /* SyntaxKind.EnumDeclaration */) { + if (declaration.kind === 263 /* SyntaxKind.EnumDeclaration */) { for (var _b = 0, _c = declaration.members; _b < _c.length; _b++) { var member = _c[_b]; var value = getEnumMemberValue(member); @@ -58288,22 +58765,22 @@ var ts; */ function isThislessType(node) { switch (node.kind) { - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: case 114 /* SyntaxKind.VoidKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: - case 196 /* SyntaxKind.LiteralType */: + case 155 /* SyntaxKind.UndefinedKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: + case 198 /* SyntaxKind.LiteralType */: return true; - case 183 /* SyntaxKind.ArrayType */: + case 185 /* SyntaxKind.ArrayType */: return isThislessType(node.elementType); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return !node.typeArguments || node.typeArguments.every(isThislessType); } return false; @@ -58329,7 +58806,7 @@ var ts; function isThislessFunctionLikeDeclaration(node) { var returnType = ts.getEffectiveReturnTypeNode(node); var typeParameters = ts.getEffectiveTypeParameterDeclarations(node); - return (node.kind === 171 /* SyntaxKind.Constructor */ || (!!returnType && isThislessType(returnType))) && + return (node.kind === 173 /* SyntaxKind.Constructor */ || (!!returnType && isThislessType(returnType))) && node.parameters.every(isThislessVariableLikeDeclaration) && typeParameters.every(isThislessTypeParameter); } @@ -58345,14 +58822,14 @@ var ts; var declaration = symbol.declarations[0]; if (declaration) { switch (declaration.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: return isThislessVariableLikeDeclaration(declaration); - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return isThislessFunctionLikeDeclaration(declaration); } } @@ -58563,8 +59040,10 @@ var ts; if (members) { for (var _b = 0, members_5 = members; _b < members_5.length; _b++) { var member = members_5[_b]; - if (isStatic_1 === ts.hasStaticModifier(member) && hasLateBindableName(member)) { - lateBindMember(symbol, earlySymbols, lateSymbols, member); + if (isStatic_1 === ts.hasStaticModifier(member)) { + if (hasLateBindableName(member)) { + lateBindMember(symbol, earlySymbols, lateSymbols, member); + } } } } @@ -58579,8 +59058,10 @@ var ts; || ts.isBinaryExpression(member) && isPossiblyAliasedThisProperty(member, assignmentKind) || assignmentKind === 9 /* AssignmentDeclarationKind.ObjectDefinePrototypeProperty */ || assignmentKind === 6 /* AssignmentDeclarationKind.Prototype */; // A straight `Prototype` assignment probably can never have a computed name - if (isStatic_1 === !isInstanceMember && hasLateBindableName(member)) { - lateBindMember(symbol, earlySymbols, lateSymbols, member); + if (isStatic_1 === !isInstanceMember) { + if (hasLateBindableName(member)) { + lateBindMember(symbol, earlySymbols, lateSymbols, member); + } } } } @@ -58701,7 +59182,7 @@ var ts; return sig; } function cloneSignature(sig) { - var result = createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, /*resolvedReturnType*/ undefined, + var result = createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, sig.minArgumentCount, sig.flags & 39 /* SignatureFlags.PropagatingFlags */); result.target = sig.target; result.mapper = sig.mapper; @@ -58767,7 +59248,7 @@ var ts; var baseConstructorType = getBaseConstructorTypeOfClass(classType); var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* SignatureKind.Construct */); var declaration = ts.getClassLikeDeclarationOfSymbol(classType.symbol); - var isAbstract = !!declaration && ts.hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */); + var isAbstract = !!declaration && ts.hasSyntacticModifier(declaration, 256 /* ModifierFlags.Abstract */); if (baseSignatures.length === 0) { return [createSignature(undefined, classType.localTypeParameters, undefined, ts.emptyArray, classType, /*resolvedTypePredicate*/ undefined, 0, isAbstract ? 4 /* SignatureFlags.Abstract */ : 0 /* SignatureFlags.None */)]; } @@ -58972,8 +59453,8 @@ var ts; var params = combineUnionParameters(left, right, paramMapper); var thisParam = combineUnionThisParam(left.thisParameter, right.thisParameter, paramMapper); var minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount); - var result = createSignature(declaration, typeParams, thisParam, params, - /*resolvedReturnType*/ undefined, + var result = createSignature(declaration, typeParams, thisParam, params, + /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* SignatureFlags.PropagatingFlags */); result.compositeKind = 1048576 /* TypeFlags.Union */; result.compositeSignatures = ts.concatenate(left.compositeKind !== 2097152 /* TypeFlags.Intersection */ && left.compositeSignatures || [left], [right]); @@ -59240,6 +59721,12 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152 /* TypeFlags.Intersection */) { + // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {}, + // and bigint & {} intersections that are used to prevent subtype reduction in union types. + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -59383,8 +59870,8 @@ var ts; } function isMappedTypeWithKeyofConstraintDeclaration(type) { var constraintDeclaration = getConstraintDeclarationForMappedType(type); // TODO: GH#18217 - return constraintDeclaration.kind === 193 /* SyntaxKind.TypeOperator */ && - constraintDeclaration.operator === 140 /* SyntaxKind.KeyOfKeyword */; + return constraintDeclaration.kind === 195 /* SyntaxKind.TypeOperator */ && + constraintDeclaration.operator === 141 /* SyntaxKind.KeyOfKeyword */; } function getModifiersTypeFromMappedType(type) { if (!type.modifiersType) { @@ -59424,7 +59911,20 @@ var ts; return !!(ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */ && getMappedTypeModifiers(type) & 4 /* MappedTypeModifiers.IncludeOptional */); } function isGenericMappedType(type) { - return !!(ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */) && isGenericIndexType(getConstraintTypeFromMappedType(type)); + if (ts.getObjectFlags(type) & 32 /* ObjectFlags.Mapped */) { + var constraint = getConstraintTypeFromMappedType(type); + if (isGenericIndexType(constraint)) { + return true; + } + // A mapped type is generic if the 'as' clause references generic types other than the iteration type. + // To determine this, we substitute the constraint type (that we now know isn't generic) for the iteration + // type and check whether the resulting type is generic. + var nameType = getNameTypeFromMappedType(type); + if (nameType && isGenericIndexType(instantiateType(nameType, makeUnaryTypeMapper(getTypeParameterFromMappedType(type), constraint)))) { + return true; + } + } + return false; } function resolveStructuredTypeMembers(type) { if (!type.members) { @@ -59744,10 +60244,10 @@ var ts; var baseTypes = []; var different = false; for (var _i = 0, types_7 = types; _i < types_7.length; _i++) { - var type_4 = types_7[_i]; - var baseType = getBaseConstraint(type_4); + var type_3 = types_7[_i]; + var baseType = getBaseConstraint(type_3); if (baseType) { - if (baseType !== type_4) { + if (baseType !== type_3) { different = true; } baseTypes.push(baseType); @@ -59791,7 +60291,7 @@ var ts; return constraint && getBaseConstraint(constraint); } if (t.flags & 33554432 /* TypeFlags.Substitution */) { - return getBaseConstraint(t.substitute); + return getBaseConstraint(getSubstitutionIntersection(t)); } return t; } @@ -59894,7 +60394,7 @@ var ts; var indexTypes; var isUnion = containingType.flags & 1048576 /* TypeFlags.Union */; // Flags we want to propagate to the result if they exist in all source symbols - var optionalFlag = isUnion ? 0 /* SymbolFlags.None */ : 16777216 /* SymbolFlags.Optional */; + var optionalFlag; var syntheticFlag = 4 /* CheckFlags.SyntheticMethod */; var checkFlags = isUnion ? 0 : 8 /* CheckFlags.Readonly */; var mergedInstantiations = false; @@ -59905,11 +60405,14 @@ var ts; var prop = getPropertyOfType(type, name, skipObjectFunctionPropertyAugment); var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop) { - if (isUnion) { - optionalFlag |= (prop.flags & 16777216 /* SymbolFlags.Optional */); - } - else { - optionalFlag &= prop.flags; + if (prop.flags & 106500 /* SymbolFlags.ClassMember */) { + optionalFlag !== null && optionalFlag !== void 0 ? optionalFlag : (optionalFlag = isUnion ? 0 /* SymbolFlags.None */ : 16777216 /* SymbolFlags.Optional */); + if (isUnion) { + optionalFlag |= (prop.flags & 16777216 /* SymbolFlags.Optional */); + } + else { + optionalFlag &= prop.flags; + } } if (!singleProp) { singleProp = prop; @@ -59918,7 +60421,7 @@ var ts; var isInstantiation = (getTargetSymbol(prop) || prop) === (getTargetSymbol(singleProp) || singleProp); // If the symbols are instances of one another with identical types - consider the symbols // equivalent and just use the first one, which thus allows us to avoid eliding private - // members when intersecting a (this-)instantiations of a class with it's raw base or another instance + // members when intersecting a (this-)instantiations of a class with its raw base or another instance if (isInstantiation && compareProperties(singleProp, prop, function (a, b) { return a === b ? -1 /* Ternary.True */ : 0 /* Ternary.False */; }) === -1 /* Ternary.True */) { // If we merged instantiations of a generic type, we replicate the symbol parent resetting behavior we used // to do when we recorded multiple distinct symbols so that we still get, eg, `Array.length` printed @@ -59966,7 +60469,11 @@ var ts; } } } - if (!singleProp || isUnion && (propSet || checkFlags & 48 /* CheckFlags.Partial */) && checkFlags & (1024 /* CheckFlags.ContainsPrivate */ | 512 /* CheckFlags.ContainsProtected */)) { + if (!singleProp || + isUnion && + (propSet || checkFlags & 48 /* CheckFlags.Partial */) && + checkFlags & (1024 /* CheckFlags.ContainsPrivate */ | 512 /* CheckFlags.ContainsProtected */) && + !(propSet && getCommonDeclarationsOfSymbols(ts.arrayFrom(propSet.values())))) { // No property was found, or, in a union, a property has a private or protected declaration in one // constituent, but is missing or has a different declaration in another constituent. return undefined; @@ -60024,7 +60531,7 @@ var ts; propTypes.push(type); } ts.addRange(propTypes, indexTypes); - var result = createSymbol(4 /* SymbolFlags.Property */ | optionalFlag, name, syntheticFlag | checkFlags); + var result = createSymbol(4 /* SymbolFlags.Property */ | (optionalFlag !== null && optionalFlag !== void 0 ? optionalFlag : 0), name, syntheticFlag | checkFlags); result.containingType = containingType; if (!hasNonUniformValueDeclaration && firstValueDeclaration) { result.valueDeclaration = firstValueDeclaration; @@ -60068,6 +60575,33 @@ var ts; } return property; } + function getCommonDeclarationsOfSymbols(symbols) { + var commonDeclarations; + var _loop_14 = function (symbol) { + if (!symbol.declarations) { + return { value: undefined }; + } + if (!commonDeclarations) { + commonDeclarations = new ts.Set(symbol.declarations); + return "continue"; + } + commonDeclarations.forEach(function (declaration) { + if (!ts.contains(symbol.declarations, declaration)) { + commonDeclarations.delete(declaration); + } + }); + if (commonDeclarations.size === 0) { + return { value: undefined }; + } + }; + for (var _i = 0, symbols_3 = symbols; _i < symbols_3.length; _i++) { + var symbol = symbols_3[_i]; + var state_4 = _loop_14(symbol); + if (typeof state_4 === "object") + return state_4.value; + } + return commonDeclarations; + } function getPropertyOfUnionOrIntersectionType(type, name, skipObjectFunctionPropertyAugment) { var property = getUnionOrIntersectionProperty(type, name, skipObjectFunctionPropertyAugment); // We need to filter out partial properties in union types @@ -60271,10 +60805,10 @@ var ts; function isJSDocOptionalParameter(node) { return ts.isInJSFile(node) && ( // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType - node.type && node.type.kind === 316 /* SyntaxKind.JSDocOptionalType */ + node.type && node.type.kind === 319 /* SyntaxKind.JSDocOptionalType */ || ts.getJSDocParameterTags(node).some(function (_a) { var isBracketed = _a.isBracketed, typeExpression = _a.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* SyntaxKind.JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 319 /* SyntaxKind.JSDocOptionalType */; })); } function tryFindAmbientModule(moduleName, withAugmentations) { @@ -60307,14 +60841,14 @@ var ts; return false; } function isOptionalPropertyDeclaration(node) { - return ts.isPropertyDeclaration(node) && node.questionToken; + return ts.isPropertyDeclaration(node) && !ts.hasAccessorModifier(node) && node.questionToken; } function isOptionalJSDocPropertyLikeTag(node) { if (!ts.isJSDocPropertyLikeTag(node)) { return false; } var isBracketed = node.isBracketed, typeExpression = node.typeExpression; - return isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* SyntaxKind.JSDocOptionalType */; + return isBracketed || !!typeExpression && typeExpression.type.kind === 319 /* SyntaxKind.JSDocOptionalType */; } function createTypePredicate(kind, parameterName, parameterIndex, type) { return { kind: kind, parameterName: parameterName, parameterIndex: parameterIndex, type: type }; @@ -60396,7 +60930,7 @@ var ts; else { parameters.push(paramSymbol); } - if (type && type.kind === 196 /* SyntaxKind.LiteralType */) { + if (type && type.kind === 198 /* SyntaxKind.LiteralType */) { flags |= 2 /* SignatureFlags.HasLiteralTypes */; } // Record a new minimum argument count if this is not an optional parameter @@ -60409,27 +60943,27 @@ var ts; } } // If only one accessor includes a this-type annotation, the other behaves as if it had the same type annotation - if ((declaration.kind === 172 /* SyntaxKind.GetAccessor */ || declaration.kind === 173 /* SyntaxKind.SetAccessor */) && + if ((declaration.kind === 174 /* SyntaxKind.GetAccessor */ || declaration.kind === 175 /* SyntaxKind.SetAccessor */) && hasBindableName(declaration) && (!hasThisParameter || !thisParameter)) { - var otherKind = declaration.kind === 172 /* SyntaxKind.GetAccessor */ ? 173 /* SyntaxKind.SetAccessor */ : 172 /* SyntaxKind.GetAccessor */; + var otherKind = declaration.kind === 174 /* SyntaxKind.GetAccessor */ ? 175 /* SyntaxKind.SetAccessor */ : 174 /* SyntaxKind.GetAccessor */; var other = ts.getDeclarationOfKind(getSymbolOfNode(declaration), otherKind); if (other) { thisParameter = getAnnotatedAccessorThisParameter(other); } } - var classType = declaration.kind === 171 /* SyntaxKind.Constructor */ ? + var classType = declaration.kind === 173 /* SyntaxKind.Constructor */ ? getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)) : undefined; var typeParameters = classType ? classType.localTypeParameters : getTypeParametersFromDeclaration(declaration); if (ts.hasRestParameter(declaration) || ts.isInJSFile(declaration) && maybeAddJsSyntheticRestParameter(declaration, parameters)) { flags |= 1 /* SignatureFlags.HasRestParameter */; } - if (ts.isConstructorTypeNode(declaration) && ts.hasSyntacticModifier(declaration, 128 /* ModifierFlags.Abstract */) || - ts.isConstructorDeclaration(declaration) && ts.hasSyntacticModifier(declaration.parent, 128 /* ModifierFlags.Abstract */)) { + if (ts.isConstructorTypeNode(declaration) && ts.hasSyntacticModifier(declaration, 256 /* ModifierFlags.Abstract */) || + ts.isConstructorDeclaration(declaration) && ts.hasSyntacticModifier(declaration.parent, 256 /* ModifierFlags.Abstract */)) { flags |= 4 /* SignatureFlags.Abstract */; } - links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, + links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgumentCount, flags); } return links.resolvedSignature; @@ -60505,16 +61039,16 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return node.escapedText === argumentsSymbol.escapedName && getReferencedValueSymbol(node) === argumentsSymbol; - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - return node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */ + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + return node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */ && traverse(node.name); - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return traverse(node.expression); - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return traverse(node.initializer); default: return !ts.nodeStartsNewLexicalEnvironment(node) && !ts.isPartOfTypeNode(node) && !!ts.forEachChild(node, traverse); @@ -60538,7 +61072,12 @@ var ts; continue; } } - result.push(getSignatureFromDeclaration(decl)); + // If this is a function or method declaration, get the signature from the @type tag for the sake of optional parameters. + // Exclude contextually-typed kinds because we already apply the @type tag to the context, plus applying it here to the initializer would supress checks that the two are compatible. + result.push((!ts.isFunctionExpressionOrArrowFunction(decl) && + !ts.isObjectLiteralMethod(decl) && + getSignatureOfTypeTag(decl)) || + getSignatureFromDeclaration(decl)); } return result; } @@ -60569,7 +61108,7 @@ var ts; else { var type = signature.declaration && ts.getEffectiveReturnTypeNode(signature.declaration); var jsdocPredicate = void 0; - if (!type && ts.isInJSFile(signature.declaration)) { + if (!type) { var jsdocSignature = getSignatureOfTypeTag(signature.declaration); if (jsdocSignature && signature !== jsdocSignature) { jsdocPredicate = getTypePredicateOfSignature(jsdocSignature); @@ -60586,7 +61125,7 @@ var ts; function createTypePredicateFromTypePredicateNode(node, signature) { var parameterName = node.parameterName; var type = node.type && getTypeFromTypeNode(node.type); - return parameterName.kind === 192 /* SyntaxKind.ThisType */ ? + return parameterName.kind === 194 /* SyntaxKind.ThisType */ ? createTypePredicate(node.assertsModifier ? 2 /* TypePredicateKind.AssertsThis */ : 0 /* TypePredicateKind.This */, /*parameterName*/ undefined, /*parameterIndex*/ undefined, type) : createTypePredicate(node.assertsModifier ? 3 /* TypePredicateKind.AssertsIdentifier */ : 1 /* TypePredicateKind.Identifier */, parameterName.escapedText, ts.findIndex(signature.parameters, function (p) { return p.escapedName === parameterName.escapedText; }), type); } @@ -60632,7 +61171,7 @@ var ts; return signature.resolvedReturnType; } function getReturnTypeFromAnnotation(declaration) { - if (declaration.kind === 171 /* SyntaxKind.Constructor */) { + if (declaration.kind === 173 /* SyntaxKind.Constructor */) { return getDeclaredTypeOfClassOrInterface(getMergedSymbol(declaration.parent.symbol)); } if (ts.isJSDocConstructSignature(declaration)) { @@ -60642,12 +61181,12 @@ var ts; if (typeNode) { return getTypeFromTypeNode(typeNode); } - if (declaration.kind === 172 /* SyntaxKind.GetAccessor */ && hasBindableName(declaration)) { + if (declaration.kind === 174 /* SyntaxKind.GetAccessor */ && hasBindableName(declaration)) { var jsDocType = ts.isInJSFile(declaration) && getTypeForDeclarationFromJSDocComment(declaration); if (jsDocType) { return jsDocType; } - var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 173 /* SyntaxKind.SetAccessor */); + var setter = ts.getDeclarationOfKind(getSymbolOfNode(declaration), 175 /* SyntaxKind.SetAccessor */); var setterType = getAnnotatedAccessorType(setter); if (setterType) { return setterType; @@ -60750,7 +61289,7 @@ var ts; if (!signature.isolatedSignatureType) { var kind = (_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind; // If declaration is undefined, it is likely to be the signature of the default constructor. - var isConstructor = kind === undefined || kind === 171 /* SyntaxKind.Constructor */ || kind === 175 /* SyntaxKind.ConstructSignature */ || kind === 180 /* SyntaxKind.ConstructorType */; + var isConstructor = kind === undefined || kind === 173 /* SyntaxKind.Constructor */ || kind === 177 /* SyntaxKind.ConstructSignature */ || kind === 182 /* SyntaxKind.ConstructorType */; var type = createObjectType(16 /* ObjectFlags.Anonymous */); type.members = emptySymbols; type.properties = ts.emptyArray; @@ -60777,7 +61316,7 @@ var ts; function getIndexInfosOfIndexSymbol(indexSymbol) { if (indexSymbol.declarations) { var indexInfos_4 = []; - var _loop_14 = function (declaration) { + var _loop_15 = function (declaration) { if (declaration.parameters.length === 1) { var parameter = declaration.parameters[0]; if (parameter.type) { @@ -60791,7 +61330,7 @@ var ts; }; for (var _i = 0, _a = indexSymbol.declarations; _i < _a.length; _i++) { var declaration = _a[_i]; - _loop_14(declaration); + _loop_15(declaration); } return indexInfos_4; } @@ -60808,14 +61347,14 @@ var ts; var _a; var inferences; if ((_a = typeParameter.symbol) === null || _a === void 0 ? void 0 : _a.declarations) { - var _loop_15 = function (declaration) { - if (declaration.parent.kind === 190 /* SyntaxKind.InferType */) { + var _loop_16 = function (declaration) { + if (declaration.parent.kind === 192 /* SyntaxKind.InferType */) { // When an 'infer T' declaration is immediately contained in a type reference node // (such as 'Foo'), T's constraint is inferred from the constraint of the // corresponding type parameter in 'Foo'. When multiple 'infer T' declarations are // present, we form an intersection of the inferred constraint types. var _c = ts.walkUpParenthesizedTypesAndGetParentAndChild(declaration.parent.parent), _d = _c[0], childTypeParameter = _d === void 0 ? declaration.parent : _d, grandParent = _c[1]; - if (grandParent.kind === 178 /* SyntaxKind.TypeReference */ && !omitTypeReferences) { + if (grandParent.kind === 180 /* SyntaxKind.TypeReference */ && !omitTypeReferences) { var typeReference_1 = grandParent; var typeParameters_1 = getTypeParametersForTypeReference(typeReference_1); if (typeParameters_1) { @@ -60842,27 +61381,27 @@ var ts; } // When an 'infer T' declaration is immediately contained in a rest parameter declaration, a rest type // or a named rest tuple element, we infer an 'unknown[]' constraint. - else if (grandParent.kind === 164 /* SyntaxKind.Parameter */ && grandParent.dotDotDotToken || - grandParent.kind === 186 /* SyntaxKind.RestType */ || - grandParent.kind === 197 /* SyntaxKind.NamedTupleMember */ && grandParent.dotDotDotToken) { + else if (grandParent.kind === 166 /* SyntaxKind.Parameter */ && grandParent.dotDotDotToken || + grandParent.kind === 188 /* SyntaxKind.RestType */ || + grandParent.kind === 199 /* SyntaxKind.NamedTupleMember */ && grandParent.dotDotDotToken) { inferences = ts.append(inferences, createArrayType(unknownType)); } // When an 'infer T' declaration is immediately contained in a string template type, we infer a 'string' // constraint. - else if (grandParent.kind === 199 /* SyntaxKind.TemplateLiteralTypeSpan */) { + else if (grandParent.kind === 201 /* SyntaxKind.TemplateLiteralTypeSpan */) { inferences = ts.append(inferences, stringType); } // When an 'infer T' declaration is in the constraint position of a mapped type, we infer a 'keyof any' // constraint. - else if (grandParent.kind === 163 /* SyntaxKind.TypeParameter */ && grandParent.parent.kind === 195 /* SyntaxKind.MappedType */) { + else if (grandParent.kind === 165 /* SyntaxKind.TypeParameter */ && grandParent.parent.kind === 197 /* SyntaxKind.MappedType */) { inferences = ts.append(inferences, keyofConstraintType); } // When an 'infer T' declaration is the template of a mapped type, and that mapped type is the extends // clause of a conditional whose check type is also a mapped type, give it a constraint equal to the template // of the check type's mapped type - else if (grandParent.kind === 195 /* SyntaxKind.MappedType */ && grandParent.type && - ts.skipParentheses(grandParent.type) === declaration.parent && grandParent.parent.kind === 189 /* SyntaxKind.ConditionalType */ && - grandParent.parent.extendsType === grandParent && grandParent.parent.checkType.kind === 195 /* SyntaxKind.MappedType */ && + else if (grandParent.kind === 197 /* SyntaxKind.MappedType */ && grandParent.type && + ts.skipParentheses(grandParent.type) === declaration.parent && grandParent.parent.kind === 191 /* SyntaxKind.ConditionalType */ && + grandParent.parent.extendsType === grandParent && grandParent.parent.checkType.kind === 197 /* SyntaxKind.MappedType */ && grandParent.parent.checkType.type) { var checkMappedType_1 = grandParent.parent.checkType; var nodeType = getTypeFromTypeNode(checkMappedType_1.type); @@ -60872,7 +61411,7 @@ var ts; }; for (var _i = 0, _b = typeParameter.symbol.declarations; _i < _b.length; _i++) { var declaration = _b[_i]; - _loop_15(declaration); + _loop_16(declaration); } } return inferences && getIntersectionType(inferences); @@ -60894,7 +61433,7 @@ var ts; if (type.flags & 1 /* TypeFlags.Any */ && !isErrorType(type)) { // Allow errorType to propegate to keep downstream errors suppressed // use keyofConstraintType as the base constraint for mapped type key constraints (unknown isn;t assignable to that, but `any` was), // use unknown otherwise - type = constraintDeclaration.parent.parent.kind === 195 /* SyntaxKind.MappedType */ ? keyofConstraintType : unknownType; + type = constraintDeclaration.parent.parent.kind === 197 /* SyntaxKind.MappedType */ ? keyofConstraintType : unknownType; } typeParameter.constraint = type; } @@ -60903,7 +61442,7 @@ var ts; return typeParameter.constraint === noConstraintType ? undefined : typeParameter.constraint; } function getParentSymbolOfTypeParameter(typeParameter) { - var tp = ts.getDeclarationOfKind(typeParameter.symbol, 163 /* SyntaxKind.TypeParameter */); + var tp = ts.getDeclarationOfKind(typeParameter.symbol, 165 /* SyntaxKind.TypeParameter */); var host = ts.isJSDocTemplateTag(tp.parent) ? ts.getEffectiveContainerForJSDocTemplateTag(tp.parent) : tp.parent; return host && getSymbolOfNode(host); } @@ -60989,8 +61528,8 @@ var ts; } var node = type.node; var typeArguments = !node ? ts.emptyArray : - node.kind === 178 /* SyntaxKind.TypeReference */ ? ts.concatenate(type.target.outerTypeParameters, getEffectiveTypeArguments(node, type.target.localTypeParameters)) : - node.kind === 183 /* SyntaxKind.ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : + node.kind === 180 /* SyntaxKind.TypeReference */ ? ts.concatenate(type.target.outerTypeParameters, getEffectiveTypeArguments(node, type.target.localTypeParameters)) : + node.kind === 185 /* SyntaxKind.ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); if (popTypeResolution()) { type.resolvedTypeArguments = type.mapper ? instantiateTypes(typeArguments, type.mapper) : typeArguments; @@ -61032,7 +61571,7 @@ var ts; return errorType; } } - if (node.kind === 178 /* SyntaxKind.TypeReference */ && isDeferredTypeReferenceNode(node, ts.length(node.typeArguments) !== typeParameters.length)) { + if (node.kind === 180 /* SyntaxKind.TypeReference */ && isDeferredTypeReferenceNode(node, ts.length(node.typeArguments) !== typeParameters.length)) { return createDeferredTypeReference(type, node, /*mapper*/ undefined); } // In a type reference, the outer type parameters of the referenced class or interface are automatically @@ -61103,9 +61642,9 @@ var ts; } function getTypeReferenceName(node) { switch (node.kind) { - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return node.typeName; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: // We only support expressions that are simple qualified names. For other // expressions this produces undefined. var expr = node.expression; @@ -61120,13 +61659,13 @@ var ts; return symbol.parent ? "".concat(getSymbolPath(symbol.parent), ".").concat(symbol.escapedName) : symbol.escapedName; } function getUnresolvedSymbolForEntityName(name) { - var identifier = name.kind === 161 /* SyntaxKind.QualifiedName */ ? name.right : - name.kind === 206 /* SyntaxKind.PropertyAccessExpression */ ? name.name : + var identifier = name.kind === 163 /* SyntaxKind.QualifiedName */ ? name.right : + name.kind === 208 /* SyntaxKind.PropertyAccessExpression */ ? name.name : name; var text = identifier.escapedText; if (text) { - var parentSymbol = name.kind === 161 /* SyntaxKind.QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : - name.kind === 206 /* SyntaxKind.PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : + var parentSymbol = name.kind === 163 /* SyntaxKind.QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) : + name.kind === 208 /* SyntaxKind.PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) : undefined; var path = parentSymbol ? "".concat(getSymbolPath(parentSymbol), ".").concat(text) : text; var result = unresolvedSymbols.get(path); @@ -61187,7 +61726,7 @@ var ts; var valueType = getTypeOfSymbol(symbol); var typeType = valueType; if (symbol.valueDeclaration) { - var isImportTypeWithQualifier = node.kind === 200 /* SyntaxKind.ImportType */ && node.qualifier; + var isImportTypeWithQualifier = node.kind === 202 /* SyntaxKind.ImportType */ && node.qualifier; // valueType might not have a symbol, eg, {import('./b').STRING_LITERAL} if (valueType.symbol && valueType.symbol !== symbol && isImportTypeWithQualifier) { typeType = getTypeReferenceType(node, valueType.symbol); @@ -61197,23 +61736,27 @@ var ts; } return links.resolvedJSDocType; } - function getSubstitutionType(baseType, substitute) { - if (substitute.flags & 3 /* TypeFlags.AnyOrUnknown */ || substitute === baseType) { + function getSubstitutionType(baseType, constraint) { + if (constraint.flags & 3 /* TypeFlags.AnyOrUnknown */ || constraint === baseType || + !isGenericType(baseType) && !isGenericType(constraint)) { return baseType; } - var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(substitute)); + var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(constraint)); var cached = substitutionTypes.get(id); if (cached) { return cached; } var result = createType(33554432 /* TypeFlags.Substitution */); result.baseType = baseType; - result.substitute = substitute; + result.constraint = constraint; substitutionTypes.set(id, result); return result; } + function getSubstitutionIntersection(substitutionType) { + return getIntersectionType([substitutionType.constraint, substitutionType.baseType]); + } function isUnaryTupleTypeNode(node) { - return node.kind === 184 /* SyntaxKind.TupleType */ && node.elements.length === 1; + return node.kind === 186 /* SyntaxKind.TupleType */ && node.elements.length === 1; } function getImpliedConstraint(type, checkNode, extendsNode) { return isUnaryTupleTypeNode(checkNode) && isUnaryTupleTypeNode(extendsNode) ? getImpliedConstraint(type, checkNode.elements[0], extendsNode.elements[0]) : @@ -61223,16 +61766,16 @@ var ts; function getConditionalFlowTypeOfType(type, node) { var constraints; var covariant = true; - while (node && !ts.isStatement(node) && node.kind !== 320 /* SyntaxKind.JSDoc */) { + while (node && !ts.isStatement(node) && node.kind !== 323 /* SyntaxKind.JSDoc */) { var parent = node.parent; // only consider variance flipped by parameter locations - `keyof` types would usually be considered variance inverting, but // often get used in indexed accesses where they behave sortof invariantly, but our checking is lax - if (parent.kind === 164 /* SyntaxKind.Parameter */) { + if (parent.kind === 166 /* SyntaxKind.Parameter */) { covariant = !covariant; } // Always substitute on type parameters, regardless of variance, since even // in contravariant positions, they may rely on substituted constraints to be valid - if ((covariant || type.flags & 8650752 /* TypeFlags.TypeVariable */) && parent.kind === 189 /* SyntaxKind.ConditionalType */ && node === parent.trueType) { + if ((covariant || type.flags & 8650752 /* TypeFlags.TypeVariable */) && parent.kind === 191 /* SyntaxKind.ConditionalType */ && node === parent.trueType) { var constraint = getImpliedConstraint(type, parent.checkType, parent.extendsType); if (constraint) { constraints = ts.append(constraints, constraint); @@ -61240,7 +61783,7 @@ var ts; } // Given a homomorphic mapped type { [K in keyof T]: XXX }, where T is constrained to an array or tuple type, in the // template type XXX, K has an added constraint of number | `${number}`. - else if (type.flags & 262144 /* TypeFlags.TypeParameter */ && parent.kind === 195 /* SyntaxKind.MappedType */ && node === parent.type) { + else if (type.flags & 262144 /* TypeFlags.TypeParameter */ && parent.kind === 197 /* SyntaxKind.MappedType */ && node === parent.type) { var mappedType = getTypeFromTypeNode(parent); if (getTypeParameterFromMappedType(mappedType) === getActualTypeVariable(type)) { var typeParameter = getHomomorphicTypeVariable(mappedType); @@ -61254,10 +61797,10 @@ var ts; } node = parent; } - return constraints ? getSubstitutionType(type, getIntersectionType(ts.append(constraints, type))) : type; + return constraints ? getSubstitutionType(type, getIntersectionType(constraints)) : type; } function isJSDocTypeReference(node) { - return !!(node.flags & 8388608 /* NodeFlags.JSDoc */) && (node.kind === 178 /* SyntaxKind.TypeReference */ || node.kind === 200 /* SyntaxKind.ImportType */); + return !!(node.flags & 8388608 /* NodeFlags.JSDoc */) && (node.kind === 180 /* SyntaxKind.TypeReference */ || node.kind === 202 /* SyntaxKind.ImportType */); } function checkNoTypeArguments(node, symbol) { if (node.typeArguments) { @@ -61372,9 +61915,9 @@ var ts; for (var _i = 0, declarations_3 = declarations; _i < declarations_3.length; _i++) { var declaration = declarations_3[_i]; switch (declaration.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return declaration; } } @@ -61525,6 +62068,13 @@ var ts; function getGlobalBigIntType() { return (deferredGlobalBigIntType || (deferredGlobalBigIntType = getGlobalType("BigInt", /*arity*/ 0, /*reportErrors*/ false))) || emptyObjectType; } + function getGlobalNaNSymbol() { + return (deferredGlobalNaNSymbol || (deferredGlobalNaNSymbol = getGlobalValueSymbol("NaN", /*reportErrors*/ false))); + } + function getGlobalRecordSymbol() { + deferredGlobalRecordSymbol || (deferredGlobalRecordSymbol = getGlobalTypeAliasSymbol("Record", /*arity*/ 2, /*reportErrors*/ true) || unknownSymbol); + return deferredGlobalRecordSymbol === unknownSymbol ? undefined : deferredGlobalRecordSymbol; + } /** * Instantiates a global type that is generic with some element type, and returns that instantiation. */ @@ -61542,11 +62092,11 @@ var ts; } function getTupleElementFlags(node) { switch (node.kind) { - case 185 /* SyntaxKind.OptionalType */: + case 187 /* SyntaxKind.OptionalType */: return 2 /* ElementFlags.Optional */; - case 186 /* SyntaxKind.RestType */: + case 188 /* SyntaxKind.RestType */: return getRestTypeElementFlags(node); - case 197 /* SyntaxKind.NamedTupleMember */: + case 199 /* SyntaxKind.NamedTupleMember */: return node.questionToken ? 2 /* ElementFlags.Optional */ : node.dotDotDotToken ? getRestTypeElementFlags(node) : 1 /* ElementFlags.Required */; @@ -61564,14 +62114,14 @@ var ts; return readonly ? globalReadonlyArrayType : globalArrayType; } var elementFlags = ts.map(node.elements, getTupleElementFlags); - var missingName = ts.some(node.elements, function (e) { return e.kind !== 197 /* SyntaxKind.NamedTupleMember */; }); + var missingName = ts.some(node.elements, function (e) { return e.kind !== 199 /* SyntaxKind.NamedTupleMember */; }); return getTupleTargetType(elementFlags, readonly, /*associatedNames*/ missingName ? undefined : node.elements); } // Return true if the given type reference node is directly aliased or if it needs to be deferred // because it is possibly contained in a circular chain of eagerly resolved types. function isDeferredTypeReferenceNode(node, hasDefaultTypeArguments) { - return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 183 /* SyntaxKind.ArrayType */ ? mayResolveTypeAlias(node.elementType) : - node.kind === 184 /* SyntaxKind.TupleType */ ? ts.some(node.elements, mayResolveTypeAlias) : + return !!getAliasSymbolForTypeNode(node) || isResolvedByTypeAlias(node) && (node.kind === 185 /* SyntaxKind.ArrayType */ ? mayResolveTypeAlias(node.elementType) : + node.kind === 186 /* SyntaxKind.TupleType */ ? ts.some(node.elements, mayResolveTypeAlias) : hasDefaultTypeArguments || ts.some(node.typeArguments, mayResolveTypeAlias)); } // Return true when the given node is transitively contained in type constructs that eagerly @@ -61580,18 +62130,18 @@ var ts; function isResolvedByTypeAlias(node) { var parent = node.parent; switch (parent.kind) { - case 191 /* SyntaxKind.ParenthesizedType */: - case 197 /* SyntaxKind.NamedTupleMember */: - case 178 /* SyntaxKind.TypeReference */: - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: - case 194 /* SyntaxKind.IndexedAccessType */: - case 189 /* SyntaxKind.ConditionalType */: - case 193 /* SyntaxKind.TypeOperator */: - case 183 /* SyntaxKind.ArrayType */: - case 184 /* SyntaxKind.TupleType */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 199 /* SyntaxKind.NamedTupleMember */: + case 180 /* SyntaxKind.TypeReference */: + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: + case 196 /* SyntaxKind.IndexedAccessType */: + case 191 /* SyntaxKind.ConditionalType */: + case 195 /* SyntaxKind.TypeOperator */: + case 185 /* SyntaxKind.ArrayType */: + case 186 /* SyntaxKind.TupleType */: return isResolvedByTypeAlias(parent); - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return true; } return false; @@ -61600,28 +62150,28 @@ var ts; // of a type alias. function mayResolveTypeAlias(node) { switch (node.kind) { - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return isJSDocTypeReference(node) || !!(resolveTypeReferenceName(node, 788968 /* SymbolFlags.Type */).flags & 524288 /* SymbolFlags.TypeAlias */); - case 181 /* SyntaxKind.TypeQuery */: + case 183 /* SyntaxKind.TypeQuery */: return true; - case 193 /* SyntaxKind.TypeOperator */: - return node.operator !== 154 /* SyntaxKind.UniqueKeyword */ && mayResolveTypeAlias(node.type); - case 191 /* SyntaxKind.ParenthesizedType */: - case 185 /* SyntaxKind.OptionalType */: - case 197 /* SyntaxKind.NamedTupleMember */: - case 316 /* SyntaxKind.JSDocOptionalType */: - case 314 /* SyntaxKind.JSDocNullableType */: - case 315 /* SyntaxKind.JSDocNonNullableType */: - case 309 /* SyntaxKind.JSDocTypeExpression */: + case 195 /* SyntaxKind.TypeOperator */: + return node.operator !== 156 /* SyntaxKind.UniqueKeyword */ && mayResolveTypeAlias(node.type); + case 193 /* SyntaxKind.ParenthesizedType */: + case 187 /* SyntaxKind.OptionalType */: + case 199 /* SyntaxKind.NamedTupleMember */: + case 319 /* SyntaxKind.JSDocOptionalType */: + case 317 /* SyntaxKind.JSDocNullableType */: + case 318 /* SyntaxKind.JSDocNonNullableType */: + case 312 /* SyntaxKind.JSDocTypeExpression */: return mayResolveTypeAlias(node.type); - case 186 /* SyntaxKind.RestType */: - return node.type.kind !== 183 /* SyntaxKind.ArrayType */ || mayResolveTypeAlias(node.type.elementType); - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: + case 188 /* SyntaxKind.RestType */: + return node.type.kind !== 185 /* SyntaxKind.ArrayType */ || mayResolveTypeAlias(node.type.elementType); + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: return ts.some(node.types, mayResolveTypeAlias); - case 194 /* SyntaxKind.IndexedAccessType */: + case 196 /* SyntaxKind.IndexedAccessType */: return mayResolveTypeAlias(node.objectType) || mayResolveTypeAlias(node.indexType); - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return mayResolveTypeAlias(node.checkType) || mayResolveTypeAlias(node.extendsType) || mayResolveTypeAlias(node.trueType) || mayResolveTypeAlias(node.falseType); } @@ -61634,19 +62184,19 @@ var ts; if (target === emptyGenericType) { links.resolvedType = emptyObjectType; } - else if (!(node.kind === 184 /* SyntaxKind.TupleType */ && ts.some(node.elements, function (e) { return !!(getTupleElementFlags(e) & 8 /* ElementFlags.Variadic */); })) && isDeferredTypeReferenceNode(node)) { - links.resolvedType = node.kind === 184 /* SyntaxKind.TupleType */ && node.elements.length === 0 ? target : + else if (!(node.kind === 186 /* SyntaxKind.TupleType */ && ts.some(node.elements, function (e) { return !!(getTupleElementFlags(e) & 8 /* ElementFlags.Variadic */); })) && isDeferredTypeReferenceNode(node)) { + links.resolvedType = node.kind === 186 /* SyntaxKind.TupleType */ && node.elements.length === 0 ? target : createDeferredTypeReference(target, node, /*mapper*/ undefined); } else { - var elementTypes = node.kind === 183 /* SyntaxKind.ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); + var elementTypes = node.kind === 185 /* SyntaxKind.ArrayType */ ? [getTypeFromTypeNode(node.elementType)] : ts.map(node.elements, getTypeFromTypeNode); links.resolvedType = createNormalizedTypeReference(target, elementTypes); } } return links.resolvedType; } function isReadonlyTypeOperator(node) { - return ts.isTypeOperatorNode(node) && node.operator === 145 /* SyntaxKind.ReadonlyKeyword */; + return ts.isTypeOperatorNode(node) && node.operator === 146 /* SyntaxKind.ReadonlyKeyword */; } function createTupleType(elementTypes, elementFlags, readonly, namedMemberDeclarations) { if (readonly === void 0) { readonly = false; } @@ -61761,7 +62311,7 @@ var ts; var lastRequiredIndex = -1; var firstRestIndex = -1; var lastOptionalOrRestIndex = -1; - var _loop_16 = function (i) { + var _loop_17 = function (i) { var type = elementTypes[i]; var flags = target.elementFlags[i]; if (flags & 8 /* ElementFlags.Variadic */) { @@ -61791,9 +62341,9 @@ var ts; } }; for (var i = 0; i < elementTypes.length; i++) { - var state_4 = _loop_16(i); - if (typeof state_4 === "object") - return state_4.value; + var state_5 = _loop_17(i); + if (typeof state_5 === "object") + return state_5.value; } // Turn optional elements preceding the last required element into required elements for (var i = 0; i < lastRequiredIndex; i++) { @@ -61821,7 +62371,7 @@ var ts; if (flags & (2 /* ElementFlags.Optional */ | 4 /* ElementFlags.Rest */)) { lastOptionalOrRestIndex = expandedFlags.length; } - expandedTypes.push(type); + expandedTypes.push(flags & 2 /* ElementFlags.Optional */ ? addOptionality(type, /*isProperty*/ true) : type); expandedFlags.push(flags); if (expandedDeclarations && declaration) { expandedDeclarations.push(declaration); @@ -61836,7 +62386,7 @@ var ts; var target = type.target; var endIndex = getTypeReferenceArity(type) - endSkipCount; return index > target.fixedLength ? getRestArrayTypeOfTupleType(type) || createTupleType(ts.emptyArray) : - createTupleType(getTypeArguments(type).slice(index, endIndex), target.elementFlags.slice(index, endIndex), + createTupleType(getTypeArguments(type).slice(index, endIndex), target.elementFlags.slice(index, endIndex), /*readonly*/ false, target.labeledElementDeclarations && target.labeledElementDeclarations.slice(index, endIndex)); } function getKnownKeysOfTupleType(type) { @@ -61987,7 +62537,7 @@ var ts; var templates = ts.filter(types, isPatternLiteralType); if (templates.length) { var i = types.length; - var _loop_17 = function () { + var _loop_18 = function () { i--; var t = types[i]; if (t.flags & 128 /* TypeFlags.StringLiteral */ && ts.some(templates, function (template) { return isTypeMatchedByTemplateLiteralType(t, template); })) { @@ -61995,7 +62545,7 @@ var ts; } }; while (i > 0) { - _loop_17(); + _loop_18(); } } } @@ -62072,14 +62622,14 @@ var ts; var namedUnions = []; addNamedUnions(namedUnions, types); var reducedTypes = []; - var _loop_18 = function (t) { + var _loop_19 = function (t) { if (!ts.some(namedUnions, function (union) { return containsType(union.types, t); })) { reducedTypes.push(t); } }; for (var _i = 0, typeSet_1 = typeSet; _i < typeSet_1.length; _i++) { var t = typeSet_1[_i]; - _loop_18(t); + _loop_19(t); } if (!aliasSymbol && namedUnions.length === 1 && reducedTypes.length === 0) { return namedUnions[0]; @@ -62378,7 +62928,7 @@ var ts; return includes & 8388608 /* TypeFlags.IncludesWildcard */ ? wildcardType : anyType; } if (!strictNullChecks && includes & 98304 /* TypeFlags.Nullable */) { - return includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType; + return includes & 16777216 /* TypeFlags.IncludesEmptyObject */ ? neverType : includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType; } if (includes & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) || includes & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ || @@ -62569,7 +63119,7 @@ var ts; type.flags & 16777216 /* TypeFlags.Conditional */ ? type.root.isDistributive && type.checkType === typeVariable : type.flags & (3145728 /* TypeFlags.UnionOrIntersection */ | 134217728 /* TypeFlags.TemplateLiteral */) ? ts.every(type.types, isDistributive) : type.flags & 8388608 /* TypeFlags.IndexedAccess */ ? isDistributive(type.objectType) && isDistributive(type.indexType) : - type.flags & 33554432 /* TypeFlags.Substitution */ ? isDistributive(type.substitute) : + type.flags & 33554432 /* TypeFlags.Substitution */ ? isDistributive(type.baseType) && isDistributive(type.constraint) : type.flags & 268435456 /* TypeFlags.StringMapping */ ? isDistributive(type.type) : false; } @@ -62603,7 +63153,7 @@ var ts; var propertyTypes = ts.map(getPropertiesOfType(type), function (prop) { return getLiteralTypeFromProperty(prop, include); }); var indexKeyTypes = ts.map(getIndexInfosOfType(type), function (info) { return info !== enumNumberIndexInfo && isKeyTypeIncluded(info.keyType, include) ? info.keyType === stringType && include & 8 /* TypeFlags.Number */ ? stringOrNumberType : info.keyType : neverType; }); - return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* UnionReduction.Literal */, + return getUnionType(ts.concatenate(propertyTypes, indexKeyTypes), 1 /* UnionReduction.Literal */, /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined, origin); } /** @@ -62650,15 +63200,15 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedType) { switch (node.operator) { - case 140 /* SyntaxKind.KeyOfKeyword */: + case 141 /* SyntaxKind.KeyOfKeyword */: links.resolvedType = getIndexType(getTypeFromTypeNode(node.type)); break; - case 154 /* SyntaxKind.UniqueKeyword */: - links.resolvedType = node.type.kind === 151 /* SyntaxKind.SymbolKeyword */ + case 156 /* SyntaxKind.UniqueKeyword */: + links.resolvedType = node.type.kind === 153 /* SyntaxKind.SymbolKeyword */ ? getESSymbolLikeTypeForNode(ts.walkUpParenthesizedTypes(node.parent)) : errorType; break; - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: links.resolvedType = getTypeFromTypeNode(node.type); break; default: @@ -62694,8 +63244,14 @@ var ts; return getStringLiteralType(text); } newTexts.push(text); - if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* TypeFlags.String */); })) { - return stringType; + if (ts.every(newTexts, function (t) { return t === ""; })) { + if (ts.every(newTypes, function (t) { return !!(t.flags & 4 /* TypeFlags.String */); })) { + return stringType; + } + // Normalize `${Mapping}` into Mapping + if (newTypes.length === 1 && isPatternLiteralType(newTypes[0])) { + return newTypes[0]; + } } var id = "".concat(getTypeListId(newTypes), "|").concat(ts.map(newTexts, function (t) { return t.length; }).join(","), "|").concat(newTexts.join("")); var type = templateLiteralTypes.get(id); @@ -62754,12 +63310,14 @@ var ts; } function getStringMappingType(symbol, type) { return type.flags & (1048576 /* TypeFlags.Union */ | 131072 /* TypeFlags.Never */) ? mapType(type, function (t) { return getStringMappingType(symbol, t); }) : - // Mapping> === Mapping - type.flags & 268435456 /* TypeFlags.StringMapping */ && symbol === type.symbol ? type : - isGenericIndexType(type) || isPatternLiteralPlaceholderType(type) ? getStringMappingTypeForGenericType(symbol, isPatternLiteralPlaceholderType(type) && !(type.flags & 268435456 /* TypeFlags.StringMapping */) ? getTemplateLiteralType(["", ""], [type]) : type) : - type.flags & 128 /* TypeFlags.StringLiteral */ ? getStringLiteralType(applyStringMapping(symbol, type.value)) : - type.flags & 134217728 /* TypeFlags.TemplateLiteral */ ? getTemplateLiteralType.apply(void 0, applyTemplateStringMapping(symbol, type.texts, type.types)) : - type; + type.flags & 128 /* TypeFlags.StringLiteral */ ? getStringLiteralType(applyStringMapping(symbol, type.value)) : + type.flags & 134217728 /* TypeFlags.TemplateLiteral */ ? getTemplateLiteralType.apply(void 0, applyTemplateStringMapping(symbol, type.texts, type.types)) : + // Mapping> === Mapping + type.flags & 268435456 /* TypeFlags.StringMapping */ && symbol === type.symbol ? type : + type.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */ | 268435456 /* TypeFlags.StringMapping */) || isGenericIndexType(type) ? getStringMappingTypeForGenericType(symbol, type) : + // This handles Mapping<`${number}`> and Mapping<`${bigint}`> + isPatternLiteralPlaceholderType(type) ? getStringMappingTypeForGenericType(symbol, getTemplateLiteralType(["", ""], [type])) : + type; } function applyStringMapping(symbol, str) { switch (intrinsicTypeKinds.get(symbol.escapedName)) { @@ -62850,7 +63408,7 @@ var ts; } function getPropertyTypeForIndexType(originalObjectType, objectType, indexType, fullIndexType, accessNode, accessFlags) { var _a; - var accessExpression = accessNode && accessNode.kind === 207 /* SyntaxKind.ElementAccessExpression */ ? accessNode : undefined; + var accessExpression = accessNode && accessNode.kind === 209 /* SyntaxKind.ElementAccessExpression */ ? accessNode : undefined; var propName = accessNode && ts.isPrivateIdentifier(accessNode) ? undefined : getPropertyNameFromIndex(indexType, accessNode); if (propName !== undefined) { if (accessFlags & 256 /* AccessFlags.Contextual */) { @@ -62924,7 +63482,18 @@ var ts; return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type; } errorIfWritingToReadonlyIndex(indexInfo); - return accessFlags & 1 /* AccessFlags.IncludeUndefined */ ? getUnionType([indexInfo.type, undefinedType]) : indexInfo.type; + // When accessing an enum object with its own type, + // e.g. E[E.A] for enum E { A }, undefined shouldn't + // be included in the result type + if ((accessFlags & 1 /* AccessFlags.IncludeUndefined */) && + !(objectType.symbol && + objectType.symbol.flags & (256 /* SymbolFlags.RegularEnum */ | 128 /* SymbolFlags.ConstEnum */) && + (indexType.symbol && + indexType.flags & 1024 /* TypeFlags.EnumLiteral */ && + getParentOfSymbol(indexType.symbol) === objectType.symbol))) { + return getUnionType([indexInfo.type, undefinedType]); + } + return indexInfo.type; } if (indexType.flags & 131072 /* TypeFlags.Never */) { return neverType; @@ -63021,16 +63590,17 @@ var ts; } } function getIndexNodeForAccessExpression(accessNode) { - return accessNode.kind === 207 /* SyntaxKind.ElementAccessExpression */ ? accessNode.argumentExpression : - accessNode.kind === 194 /* SyntaxKind.IndexedAccessType */ ? accessNode.indexType : - accessNode.kind === 162 /* SyntaxKind.ComputedPropertyName */ ? accessNode.expression : + return accessNode.kind === 209 /* SyntaxKind.ElementAccessExpression */ ? accessNode.argumentExpression : + accessNode.kind === 196 /* SyntaxKind.IndexedAccessType */ ? accessNode.indexType : + accessNode.kind === 164 /* SyntaxKind.ComputedPropertyName */ ? accessNode.expression : accessNode; } function isPatternLiteralPlaceholderType(type) { - return !!(type.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) || !!(type.flags & 268435456 /* TypeFlags.StringMapping */ && isPatternLiteralPlaceholderType(type.type)); + return !!(type.flags & (1 /* TypeFlags.Any */ | 4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) || isPatternLiteralType(type); } function isPatternLiteralType(type) { - return !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */) && ts.every(type.types, isPatternLiteralPlaceholderType); + return !!(type.flags & 134217728 /* TypeFlags.TemplateLiteral */) && ts.every(type.types, isPatternLiteralPlaceholderType) || + !!(type.flags & 268435456 /* TypeFlags.StringMapping */) && isPatternLiteralPlaceholderType(type.type); } function isGenericType(type) { return !!getGenericObjectFlags(type); @@ -63052,7 +63622,7 @@ var ts; if (type.flags & 33554432 /* TypeFlags.Substitution */) { if (!(type.objectFlags & 2097152 /* ObjectFlags.IsGenericTypeComputed */)) { type.objectFlags |= 2097152 /* ObjectFlags.IsGenericTypeComputed */ | - getGenericObjectFlags(type.substitute) | getGenericObjectFlags(type.baseType); + getGenericObjectFlags(type.baseType) | getGenericObjectFlags(type.constraint); } return type.objectFlags & 12582912 /* ObjectFlags.IsGenericType */; } @@ -63068,7 +63638,7 @@ var ts; // (T | U)[K] -> T[K] | U[K] (reading) // (T | U)[K] -> T[K] & U[K] (writing) // (T & U)[K] -> T[K] & U[K] - if (objectType.flags & 3145728 /* TypeFlags.UnionOrIntersection */) { + if (objectType.flags & 1048576 /* TypeFlags.Union */ || objectType.flags & 2097152 /* TypeFlags.Intersection */ && !shouldDeferIndexType(objectType)) { var types = ts.map(objectType.types, function (t) { return getSimplifiedType(getIndexedAccessType(t, indexType), writing); }); return objectType.flags & 2097152 /* TypeFlags.Intersection */ || writing ? getIntersectionType(types) : getUnionType(types); } @@ -63203,7 +63773,7 @@ var ts; // for a generic T and a non-generic K, we eagerly resolve T[K] if it originates in an expression. This is to // preserve backwards compatibility. For example, an element access 'this["foo"]' has always been resolved // eagerly using the constraint type of 'this' at the given location. - if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 194 /* SyntaxKind.IndexedAccessType */ ? + if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 196 /* SyntaxKind.IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, objectType.target.fixedLength) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, objectType.target.fixedLength)))) { if (objectType.flags & 3 /* TypeFlags.AnyOrUnknown */) { @@ -63255,11 +63825,7 @@ var ts; var objectType = getTypeFromTypeNode(node.objectType); var indexType = getTypeFromTypeNode(node.indexType); var potentialAlias = getAliasSymbolForTypeNode(node); - var resolved = getIndexedAccessType(objectType, indexType, 0 /* AccessFlags.None */, node, potentialAlias, getTypeArgumentsForAliasSymbol(potentialAlias)); - links.resolvedType = resolved.flags & 8388608 /* TypeFlags.IndexedAccess */ && - resolved.objectType === objectType && - resolved.indexType === indexType ? - getConditionalFlowTypeOfType(resolved, node) : resolved; + links.resolvedType = getIndexedAccessType(objectType, indexType, 0 /* AccessFlags.None */, node, potentialAlias, getTypeArgumentsForAliasSymbol(potentialAlias)); } return links.resolvedType; } @@ -63313,18 +63879,23 @@ var ts; var result; var extraTypes; var tailCount = 0; - var _loop_19 = function () { + // We loop here for an immediately nested conditional type in the false position, effectively treating + // types of the form 'A extends B ? X : C extends D ? Y : E extends F ? Z : ...' as a single construct for + // purposes of resolution. We also loop here when resolution of a conditional type ends in resolution of + // another (or, through recursion, possibly the same) conditional type. In the potentially tail-recursive + // cases we increment the tail recursion counter and stop after 1000 iterations. + while (true) { if (tailCount === 1000) { error(currentNode, ts.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite); result = errorType; - return "break"; + break; } var isUnwrapped = isTypicalNondistributiveConditional(root); var checkType = instantiateType(unwrapNondistributiveConditionalTuple(root, getActualTypeVariable(root.checkType)), mapper); var checkTypeInstantiable = isGenericType(checkType); var extendsType = instantiateType(unwrapNondistributiveConditionalTuple(root, root.extendsType), mapper); if (checkType === wildcardType || extendsType === wildcardType) { - return { value: wildcardType }; + return wildcardType; } var combinedMapper = void 0; if (root.inferTypeParameters) { @@ -63357,11 +63928,7 @@ var ts; } } } - // We skip inference of the possible `infer` types unles the `extendsType` _is_ an infer type - // if it was, it's trivial to say that extendsType = checkType, however such a pattern is used to - // "reset" the type being build up during constraint calculation and avoid making an apparently "infinite" constraint - // so in those cases we refain from performing inference and retain the uninfered type parameter - if (!checkTypeInstantiable || !ts.some(root.inferTypeParameters, function (t) { return t === extendsType; })) { + if (!checkTypeInstantiable) { // We don't want inferences from constraints as they may cause us to eagerly resolve the // conditional type instead of deferring resolution. Also, we always want strict function // types rules (i.e. proper contravariance) for inferences. @@ -63393,14 +63960,14 @@ var ts; var newRoot = falseType_1.root; if (newRoot.node.parent === root.node && (!newRoot.isDistributive || newRoot.checkType === root.checkType)) { root = newRoot; - return "continue"; + continue; } if (canTailRecurse(falseType_1, mapper)) { - return "continue"; + continue; } } result = instantiateType(falseType_1, mapper); - return "break"; + break; } // Return trueType for a definitely true extends check. We check instantiations of the two // types with type parameters mapped to their restrictive form, i.e. a form of the type parameter @@ -63411,10 +63978,10 @@ var ts; var trueType_1 = getTypeFromTypeNode(root.node.trueType); var trueMapper = combinedMapper || mapper; if (canTailRecurse(trueType_1, trueMapper)) { - return "continue"; + continue; } result = instantiateType(trueType_1, trueMapper); - return "break"; + break; } } // Return a deferred type for a check that is neither definitely true nor definitely false @@ -63426,19 +63993,7 @@ var ts; result.combinedMapper = combinedMapper; result.aliasSymbol = aliasSymbol || root.aliasSymbol; result.aliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(root.aliasTypeArguments, mapper); // TODO: GH#18217 - return "break"; - }; - // We loop here for an immediately nested conditional type in the false position, effectively treating - // types of the form 'A extends B ? X : C extends D ? Y : E extends F ? Z : ...' as a single construct for - // purposes of resolution. We also loop here when resolution of a conditional type ends in resolution of - // another (or, through recursion, possibly the same) conditional type. In the potentially tail-recursive - // cases we increment the tail recursion counter and stop after 1000 iterations. - while (true) { - var state_5 = _loop_19(); - if (typeof state_5 === "object") - return state_5.value; - if (state_5 === "break") - break; + break; } return extraTypes ? getUnionType(ts.append(extraTypes, result)) : result; // We tail-recurse for generic conditional types that (a) have not already been evaluated and cached, and @@ -63630,7 +64185,7 @@ var ts; } function getAliasSymbolForTypeNode(node) { var host = node.parent; - while (ts.isParenthesizedTypeNode(host) || ts.isJSDocTypeExpression(host) || ts.isTypeOperatorNode(host) && host.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { + while (ts.isParenthesizedTypeNode(host) || ts.isJSDocTypeExpression(host) || ts.isTypeOperatorNode(host) && host.operator === 146 /* SyntaxKind.ReadonlyKeyword */) { host = host.parent; } return ts.isTypeAlias(host) ? getSymbolOfNode(host) : undefined; @@ -63875,7 +64430,7 @@ var ts; function getThisType(node) { var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); var parent = container && container.parent; - if (parent && (ts.isClassLike(parent) || parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */)) { + if (parent && (ts.isClassLike(parent) || parent.kind === 261 /* SyntaxKind.InterfaceDeclaration */)) { if (!ts.isStatic(container) && (!ts.isConstructorDeclaration(container) || ts.isNodeDescendantOf(node, container.body))) { return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(parent)).thisType; @@ -63910,17 +64465,17 @@ var ts; } function getArrayElementTypeNode(node) { switch (node.kind) { - case 191 /* SyntaxKind.ParenthesizedType */: + case 193 /* SyntaxKind.ParenthesizedType */: return getArrayElementTypeNode(node.type); - case 184 /* SyntaxKind.TupleType */: + case 186 /* SyntaxKind.TupleType */: if (node.elements.length === 1) { node = node.elements[0]; - if (node.kind === 186 /* SyntaxKind.RestType */ || node.kind === 197 /* SyntaxKind.NamedTupleMember */ && node.dotDotDotToken) { + if (node.kind === 188 /* SyntaxKind.RestType */ || node.kind === 199 /* SyntaxKind.NamedTupleMember */ && node.dotDotDotToken) { return getArrayElementTypeNode(node.type); } } break; - case 183 /* SyntaxKind.ArrayType */: + case 185 /* SyntaxKind.ArrayType */: return node.elementType; } return undefined; @@ -63936,99 +64491,99 @@ var ts; } function getTypeFromTypeNodeWorker(node) { switch (node.kind) { - case 130 /* SyntaxKind.AnyKeyword */: - case 312 /* SyntaxKind.JSDocAllType */: - case 313 /* SyntaxKind.JSDocUnknownType */: + case 131 /* SyntaxKind.AnyKeyword */: + case 315 /* SyntaxKind.JSDocAllType */: + case 316 /* SyntaxKind.JSDocUnknownType */: return anyType; - case 155 /* SyntaxKind.UnknownKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: return unknownType; - case 150 /* SyntaxKind.StringKeyword */: + case 152 /* SyntaxKind.StringKeyword */: return stringType; - case 147 /* SyntaxKind.NumberKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: return numberType; - case 158 /* SyntaxKind.BigIntKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: return bigintType; - case 133 /* SyntaxKind.BooleanKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: return booleanType; - case 151 /* SyntaxKind.SymbolKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: return esSymbolType; case 114 /* SyntaxKind.VoidKeyword */: return voidType; - case 153 /* SyntaxKind.UndefinedKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: return undefinedType; case 104 /* SyntaxKind.NullKeyword */: // TODO(rbuckton): `NullKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service. return nullType; - case 143 /* SyntaxKind.NeverKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: return neverType; - case 148 /* SyntaxKind.ObjectKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: return node.flags & 262144 /* NodeFlags.JavaScriptFile */ && !noImplicitAny ? anyType : nonPrimitiveType; - case 138 /* SyntaxKind.IntrinsicKeyword */: + case 139 /* SyntaxKind.IntrinsicKeyword */: return intrinsicMarkerType; - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: case 108 /* SyntaxKind.ThisKeyword */: // TODO(rbuckton): `ThisKeyword` is no longer a `TypeNode`, but we defensively allow it here because of incorrect casts in the Language Service and because of `isPartOfTypeNode`. return getTypeFromThisTypeNode(node); - case 196 /* SyntaxKind.LiteralType */: + case 198 /* SyntaxKind.LiteralType */: return getTypeFromLiteralTypeNode(node); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return getTypeFromTypeReference(node); - case 177 /* SyntaxKind.TypePredicate */: + case 179 /* SyntaxKind.TypePredicate */: return node.assertsModifier ? voidType : booleanType; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return getTypeFromTypeReference(node); - case 181 /* SyntaxKind.TypeQuery */: + case 183 /* SyntaxKind.TypeQuery */: return getTypeFromTypeQueryNode(node); - case 183 /* SyntaxKind.ArrayType */: - case 184 /* SyntaxKind.TupleType */: + case 185 /* SyntaxKind.ArrayType */: + case 186 /* SyntaxKind.TupleType */: return getTypeFromArrayOrTupleTypeNode(node); - case 185 /* SyntaxKind.OptionalType */: + case 187 /* SyntaxKind.OptionalType */: return getTypeFromOptionalTypeNode(node); - case 187 /* SyntaxKind.UnionType */: + case 189 /* SyntaxKind.UnionType */: return getTypeFromUnionTypeNode(node); - case 188 /* SyntaxKind.IntersectionType */: + case 190 /* SyntaxKind.IntersectionType */: return getTypeFromIntersectionTypeNode(node); - case 314 /* SyntaxKind.JSDocNullableType */: + case 317 /* SyntaxKind.JSDocNullableType */: return getTypeFromJSDocNullableTypeNode(node); - case 316 /* SyntaxKind.JSDocOptionalType */: + case 319 /* SyntaxKind.JSDocOptionalType */: return addOptionality(getTypeFromTypeNode(node.type)); - case 197 /* SyntaxKind.NamedTupleMember */: + case 199 /* SyntaxKind.NamedTupleMember */: return getTypeFromNamedTupleTypeNode(node); - case 191 /* SyntaxKind.ParenthesizedType */: - case 315 /* SyntaxKind.JSDocNonNullableType */: - case 309 /* SyntaxKind.JSDocTypeExpression */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 318 /* SyntaxKind.JSDocNonNullableType */: + case 312 /* SyntaxKind.JSDocTypeExpression */: return getTypeFromTypeNode(node.type); - case 186 /* SyntaxKind.RestType */: + case 188 /* SyntaxKind.RestType */: return getTypeFromRestTypeNode(node); - case 318 /* SyntaxKind.JSDocVariadicType */: + case 321 /* SyntaxKind.JSDocVariadicType */: return getTypeFromJSDocVariadicType(node); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 182 /* SyntaxKind.TypeLiteral */: - case 322 /* SyntaxKind.JSDocTypeLiteral */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 323 /* SyntaxKind.JSDocSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 184 /* SyntaxKind.TypeLiteral */: + case 325 /* SyntaxKind.JSDocTypeLiteral */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 326 /* SyntaxKind.JSDocSignature */: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 193 /* SyntaxKind.TypeOperator */: + case 195 /* SyntaxKind.TypeOperator */: return getTypeFromTypeOperatorNode(node); - case 194 /* SyntaxKind.IndexedAccessType */: + case 196 /* SyntaxKind.IndexedAccessType */: return getTypeFromIndexedAccessTypeNode(node); - case 195 /* SyntaxKind.MappedType */: + case 197 /* SyntaxKind.MappedType */: return getTypeFromMappedTypeNode(node); - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return getTypeFromConditionalTypeNode(node); - case 190 /* SyntaxKind.InferType */: + case 192 /* SyntaxKind.InferType */: return getTypeFromInferTypeNode(node); - case 198 /* SyntaxKind.TemplateLiteralType */: + case 200 /* SyntaxKind.TemplateLiteralType */: return getTypeFromTemplateTypeNode(node); - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return getTypeFromImportTypeNode(node); // This function assumes that an identifier, qualified name, or property access expression is a type expression // Callers should first ensure this by calling `isPartOfTypeNode` // TODO(rbuckton): These aren't valid TypeNodes, but we treat them as such because of `isPartOfTypeNode`, which returns `true` for things that aren't `TypeNode`s. case 79 /* SyntaxKind.Identifier */: - case 161 /* SyntaxKind.QualifiedName */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 163 /* SyntaxKind.QualifiedName */: + case 208 /* SyntaxKind.PropertyAccessExpression */: var symbol = getSymbolAtLocation(node); return symbol ? getDeclaredTypeOfSymbol(symbol) : errorType; default: @@ -64135,8 +64690,8 @@ var ts; return !mapper ? makeUnaryTypeMapper(source, target) : makeCompositeTypeMapper(5 /* TypeMapKind.Merged */, mapper, makeUnaryTypeMapper(source, target)); } function getRestrictiveTypeParameter(tp) { - return tp.constraint === unknownType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol), - tp.restrictiveInstantiation.constraint = unknownType, + return !tp.constraint && !getConstraintDeclaration(tp) || tp.constraint === noConstraintType ? tp : tp.restrictiveInstantiation || (tp.restrictiveInstantiation = createTypeParameter(tp.symbol), + tp.restrictiveInstantiation.constraint = noConstraintType, tp.restrictiveInstantiation); } function cloneTypeParameter(typeParameter) { @@ -64163,8 +64718,8 @@ var ts; // Don't compute resolvedReturnType and resolvedTypePredicate now, // because using `mapper` now could trigger inferences to become fixed. (See `createInferenceContext`.) // See GH#17600. - var result = createSignature(signature.declaration, freshTypeParameters, signature.thisParameter && instantiateSymbol(signature.thisParameter, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), - /*resolvedReturnType*/ undefined, + var result = createSignature(signature.declaration, freshTypeParameters, signature.thisParameter && instantiateSymbol(signature.thisParameter, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), + /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, signature.minArgumentCount, signature.flags & 39 /* SignatureFlags.PropagatingFlags */); result.target = signature; result.mapper = mapper; @@ -64250,17 +64805,18 @@ var ts; return type; } function maybeTypeParameterReference(node) { - return !(node.parent.kind === 178 /* SyntaxKind.TypeReference */ && node.parent.typeArguments && node === node.parent.typeName || - node.parent.kind === 200 /* SyntaxKind.ImportType */ && node.parent.typeArguments && node === node.parent.qualifier); + return !(node.parent.kind === 180 /* SyntaxKind.TypeReference */ && node.parent.typeArguments && node === node.parent.typeName || + node.parent.kind === 202 /* SyntaxKind.ImportType */ && node.parent.typeArguments && node === node.parent.qualifier); } function isTypeParameterPossiblyReferenced(tp, node) { - // If the type parameter doesn't have exactly one declaration, if there are invening statement blocks + // If the type parameter doesn't have exactly one declaration, if there are intervening statement blocks // between the node and the type parameter declaration, if the node contains actual references to the - // type parameter, or if the node contains type queries, we consider the type parameter possibly referenced. + // type parameter, or if the node contains type queries that we can't prove couldn't contain references to the type parameter, + // we consider the type parameter possibly referenced. if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { var container = tp.symbol.declarations[0].parent; for (var n = node; n !== container; n = n.parent) { - if (!n || n.kind === 235 /* SyntaxKind.Block */ || n.kind === 189 /* SyntaxKind.ConditionalType */ && ts.forEachChild(n.extendsType, containsReference)) { + if (!n || n.kind === 238 /* SyntaxKind.Block */ || n.kind === 191 /* SyntaxKind.ConditionalType */ && ts.forEachChild(n.extendsType, containsReference)) { return true; } } @@ -64269,15 +64825,36 @@ var ts; return true; function containsReference(node) { switch (node.kind) { - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: return !!tp.isThisType; case 79 /* SyntaxKind.Identifier */: return !tp.isThisType && ts.isPartOfTypeNode(node) && maybeTypeParameterReference(node) && getTypeFromTypeNodeWorker(node) === tp; // use worker because we're looking for === equality - case 181 /* SyntaxKind.TypeQuery */: + case 183 /* SyntaxKind.TypeQuery */: + var entityName = node.exprName; + var firstIdentifier = ts.getFirstIdentifier(entityName); + var firstIdentifierSymbol = getResolvedSymbol(firstIdentifier); + var tpDeclaration = tp.symbol.declarations[0]; // There is exactly one declaration, otherwise `containsReference` is not called + var tpScope_1; + if (tpDeclaration.kind === 165 /* SyntaxKind.TypeParameter */) { // Type parameter is a regular type parameter, e.g. foo + tpScope_1 = tpDeclaration.parent; + } + else if (tp.isThisType) { + // Type parameter is the this type, and its declaration is the class declaration. + tpScope_1 = tpDeclaration; + } + else { + // Type parameter's declaration was unrecognized. + // This could happen if the type parameter comes from e.g. a JSDoc annotation, so we default to returning true. + return true; + } + if (firstIdentifierSymbol.declarations) { + return ts.some(firstIdentifierSymbol.declarations, function (idDecl) { return ts.isNodeDescendantOf(idDecl, tpScope_1); }) || + ts.some(node.typeArguments, containsReference); + } return true; - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: return !node.type && !!node.body || ts.some(node.typeParameters, containsReference) || ts.some(node.parameters, containsReference) || @@ -64499,17 +65076,18 @@ var ts; return getConditionalTypeInstantiation(type, combineTypeMappers(type.mapper, mapper), aliasSymbol, aliasTypeArguments); } if (flags & 33554432 /* TypeFlags.Substitution */) { - var maybeVariable = instantiateType(type.baseType, mapper); - if (maybeVariable.flags & 8650752 /* TypeFlags.TypeVariable */) { - return getSubstitutionType(maybeVariable, instantiateType(type.substitute, mapper)); + var newBaseType = instantiateType(type.baseType, mapper); + var newConstraint = instantiateType(type.constraint, mapper); + // A substitution type originates in the true branch of a conditional type and can be resolved + // to just the base type in the same cases as the conditional type resolves to its true branch + // (because the base type is then known to satisfy the constraint). + if (newBaseType.flags & 8650752 /* TypeFlags.TypeVariable */ && isGenericType(newConstraint)) { + return getSubstitutionType(newBaseType, newConstraint); } - else { - var sub = instantiateType(type.substitute, mapper); - if (sub.flags & 3 /* TypeFlags.AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(maybeVariable), getRestrictiveInstantiation(sub))) { - return maybeVariable; - } - return sub; + if (newConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */ || isTypeAssignableTo(getRestrictiveInstantiation(newBaseType), getRestrictiveInstantiation(newConstraint))) { + return newBaseType; } + return newBaseType.flags & 8650752 /* TypeFlags.TypeVariable */ ? getSubstitutionType(newBaseType, newConstraint) : getIntersectionType([newConstraint, newBaseType]); } return type; } @@ -64558,35 +65136,35 @@ var ts; // Returns true if the given expression contains (at any level of nesting) a function or arrow expression // that is subject to contextual typing. function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 171 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: // Function declarations can have context when annotated with a jsdoc @type + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: // Function declarations can have context when annotated with a jsdoc @type return isContextSensitiveFunctionLikeDeclaration(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return ts.some(node.properties, isContextSensitive); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return ts.some(node.elements, isContextSensitive); - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return (node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ || node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return isContextSensitive(node.initializer); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return isContextSensitive(node.expression); - case 286 /* SyntaxKind.JsxAttributes */: + case 289 /* SyntaxKind.JsxAttributes */: return ts.some(node.properties, isContextSensitive) || ts.isJsxOpeningElement(node.parent) && ts.some(node.parent.parent.children, isContextSensitive); - case 285 /* SyntaxKind.JsxAttribute */: { + case 288 /* SyntaxKind.JsxAttribute */: { // If there is no initializer, JSX attribute has a boolean value of true which is not context sensitive. var initializer = node.initializer; return !!initializer && isContextSensitive(initializer); } - case 288 /* SyntaxKind.JsxExpression */: { + case 291 /* SyntaxKind.JsxExpression */: { // It is possible to that node.expression is undefined (e.g
) var expression = node.expression; return !!expression && isContextSensitive(expression); @@ -64595,15 +65173,14 @@ var ts; return false; } function isContextSensitiveFunctionLikeDeclaration(node) { - return (!ts.isFunctionDeclaration(node) || ts.isInJSFile(node) && !!getTypeForDeclarationFromJSDocComment(node)) && - (ts.hasContextSensitiveParameters(node) || hasContextSensitiveReturnExpression(node)); + return ts.hasContextSensitiveParameters(node) || hasContextSensitiveReturnExpression(node); } function hasContextSensitiveReturnExpression(node) { // TODO(anhans): A block should be context-sensitive if it has a context-sensitive return value. - return !node.typeParameters && !ts.getEffectiveReturnTypeNode(node) && !!node.body && node.body.kind !== 235 /* SyntaxKind.Block */ && isContextSensitive(node.body); + return !node.typeParameters && !ts.getEffectiveReturnTypeNode(node) && !!node.body && node.body.kind !== 238 /* SyntaxKind.Block */ && isContextSensitive(node.body); } function isContextSensitiveFunctionOrObjectLiteralMethod(func) { - return (ts.isInJSFile(func) && ts.isFunctionDeclaration(func) || ts.isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && + return (ts.isFunctionExpressionOrArrowFunction(func) || ts.isObjectLiteralMethod(func)) && isContextSensitiveFunctionLikeDeclaration(func); } function getTypeWithoutSignatures(type) { @@ -64704,23 +65281,23 @@ var ts; return true; } switch (node.kind) { - case 288 /* SyntaxKind.JsxExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 291 /* SyntaxKind.JsxExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return elaborateError(node.expression, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: switch (node.operatorToken.kind) { case 63 /* SyntaxKind.EqualsToken */: case 27 /* SyntaxKind.CommaToken */: return elaborateError(node.right, source, target, relation, headMessage, containingMessageChain, errorOutputContainer); } break; - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return elaborateObjectLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return elaborateArrayLiteral(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 286 /* SyntaxKind.JsxAttributes */: + case 289 /* SyntaxKind.JsxAttributes */: return elaborateJsxComponents(node, source, target, relation, containingMessageChain, errorOutputContainer); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return elaborateArrowFunction(node, source, target, relation, containingMessageChain, errorOutputContainer); } return false; @@ -64929,7 +65506,7 @@ var ts; } function getElaborationElementForJsxChild(child, nameType, getInvalidTextDiagnostic) { switch (child.kind) { - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: // child is of the type of the expression return { errorNode: child, innerExpression: child.expression, nameType: nameType }; case 11 /* SyntaxKind.JsxText */: @@ -64938,9 +65515,9 @@ var ts; } // child is a string return { errorNode: child, innerExpression: undefined, nameType: nameType, errorMessage: getInvalidTextDiagnostic() }; - case 278 /* SyntaxKind.JsxElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 282 /* SyntaxKind.JsxFragment */: + case 281 /* SyntaxKind.JsxElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 285 /* SyntaxKind.JsxFragment */: // child is of type JSX.Element return { errorNode: child, innerExpression: child, nameType: nameType }; default: @@ -65088,11 +65665,11 @@ var ts; } _b = prop.kind; switch (_b) { - case 173 /* SyntaxKind.SetAccessor */: return [3 /*break*/, 2]; - case 172 /* SyntaxKind.GetAccessor */: return [3 /*break*/, 2]; - case 169 /* SyntaxKind.MethodDeclaration */: return [3 /*break*/, 2]; - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: return [3 /*break*/, 2]; - case 296 /* SyntaxKind.PropertyAssignment */: return [3 /*break*/, 4]; + case 175 /* SyntaxKind.SetAccessor */: return [3 /*break*/, 2]; + case 174 /* SyntaxKind.GetAccessor */: return [3 /*break*/, 2]; + case 171 /* SyntaxKind.MethodDeclaration */: return [3 /*break*/, 2]; + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return [3 /*break*/, 2]; + case 299 /* SyntaxKind.PropertyAssignment */: return [3 /*break*/, 4]; } return [3 /*break*/, 6]; case 2: return [4 /*yield*/, { errorNode: prop.name, innerExpression: undefined, nameType: type }]; @@ -65126,7 +65703,7 @@ var ts; return checkTypeRelatedTo(source, target, comparableRelation, errorNode, headMessage, containingMessageChain); } function isSignatureAssignableTo(source, target, ignoreReturnTypes) { - return compareSignaturesRelated(source, target, ignoreReturnTypes ? 4 /* SignatureCheckMode.IgnoreReturnTypes */ : 0, /*reportErrors*/ false, + return compareSignaturesRelated(source, target, ignoreReturnTypes ? 4 /* SignatureCheckMode.IgnoreReturnTypes */ : 0, /*reportErrors*/ false, /*errorReporter*/ undefined, /*errorReporter*/ undefined, compareTypesAssignable, /*reportUnreliableMarkers*/ undefined) !== 0 /* Ternary.False */; } /** @@ -65165,8 +65742,8 @@ var ts; void instantiateType(sourceRestType || targetRestType, reportUnreliableMarkers); } var kind = target.declaration ? target.declaration.kind : 0 /* SyntaxKind.Unknown */; - var strictVariance = !(checkMode & 3 /* SignatureCheckMode.Callback */) && strictFunctionTypes && kind !== 169 /* SyntaxKind.MethodDeclaration */ && - kind !== 168 /* SyntaxKind.MethodSignature */ && kind !== 171 /* SyntaxKind.Constructor */; + var strictVariance = !(checkMode & 3 /* SignatureCheckMode.Callback */) && strictFunctionTypes && kind !== 171 /* SyntaxKind.MethodDeclaration */ && + kind !== 170 /* SyntaxKind.MethodSignature */ && kind !== 173 /* SyntaxKind.Constructor */; var result = -1 /* Ternary.True */; var sourceThisType = getThisTypeOfSignature(source); if (sourceThisType && sourceThisType !== voidType) { @@ -65463,7 +66040,7 @@ var ts; var t = isFreshLiteralType(type) ? type.regularType : ts.getObjectFlags(type) & 4 /* ObjectFlags.Reference */ ? type.node ? createTypeReference(type.target, getTypeArguments(type)) : getSingleBaseForNonAugmentingSubtype(type) || type : type.flags & 3145728 /* TypeFlags.UnionOrIntersection */ ? getNormalizedUnionOrIntersectionType(type, writing) : - type.flags & 33554432 /* TypeFlags.Substitution */ ? writing ? type.baseType : type.substitute : + type.flags & 33554432 /* TypeFlags.Substitution */ ? writing ? type.baseType : getSubstitutionIntersection(type) : type.flags & 25165824 /* TypeFlags.Simplifiable */ ? getSimplifiedType(type, writing) : type; if (t === type) @@ -65476,7 +66053,7 @@ var ts; if (reduced !== type) { return reduced; } - if (type.flags & 2097152 /* TypeFlags.Intersection */) { + if (type.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(type.types, isEmptyAnonymousObjectType)) { var normalizedTypes = ts.sameMap(type.types, function (t) { return getNormalizedType(t, writing); }); if (normalizedTypes !== type.types) { return getIntersectionType(normalizedTypes); @@ -65870,7 +66447,8 @@ var ts; return 0 /* Ternary.False */; } } - var isPerformingCommonPropertyChecks = relation !== comparableRelation && !(intersectionState & 2 /* IntersectionState.Target */) && + var isPerformingCommonPropertyChecks = (relation !== comparableRelation || isUnitType(source)) && + !(intersectionState & 2 /* IntersectionState.Target */) && source.flags & (131068 /* TypeFlags.Primitive */ | 524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && source !== globalObjectType && target.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) && isWeakType(target) && (getPropertiesOfType(source).length > 0 || typeHasCallOrConstructSignatures(source)); @@ -65897,27 +66475,6 @@ var ts; var result_7 = skipCaching ? unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) : recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags); - // For certain combinations involving intersections and optional, excess, or mismatched properties we need - // an extra property check where the intersection is viewed as a single object. The following are motivating - // examples that all should be errors, but aren't without this extra property check: - // - // let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property - // - // declare let wrong: { a: { y: string } }; - // let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type - // - // function foo(x: { a?: string }, y: T & { a: boolean }) { - // x = y; // Mismatched property in source intersection - // } - // - // We suppress recursive intersection property checks because they can generate lots of work when relating - // recursive intersections that are structurally similar but not exactly identical. See #37854. - if (result_7 && !inPropertyCheck && (target.flags & 2097152 /* TypeFlags.Intersection */ && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || - isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & 2097152 /* TypeFlags.Intersection */ && getApparentType(source).flags & 3670016 /* TypeFlags.StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* ObjectFlags.NonInferrableType */); }))) { - inPropertyCheck = true; - result_7 &= recursiveTypeRelatedTo(source, target, reportErrors, 4 /* IntersectionState.PropertyCheck */, recursionFlags); - inPropertyCheck = false; - } if (result_7) { return result_7; } @@ -66122,11 +66679,15 @@ var ts; // parameter 'T extends 1 | 2', the intersection 'T & 1' should be reduced to '1' such that it doesn't // appear to be comparable to '2'. if (relation === comparableRelation && target.flags & 131068 /* TypeFlags.Primitive */) { - var constraints = ts.sameMap(source.types, getBaseConstraintOrType); + var constraints = ts.sameMap(source.types, function (t) { return t.flags & 465829888 /* TypeFlags.Instantiable */ ? getBaseConstraintOfType(t) || unknownType : t; }); if (constraints !== source.types) { source = getIntersectionType(constraints); + if (source.flags & 131072 /* TypeFlags.Never */) { + return 0 /* Ternary.False */; + } if (!(source.flags & 2097152 /* TypeFlags.Intersection */)) { - return isRelatedTo(source, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false); + return isRelatedTo(source, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false) || + isRelatedTo(target, source, 1 /* RecursionFlags.Source */, /*reportErrors*/ false); } } } @@ -66311,8 +66872,7 @@ var ts; if (overflow) { return 0 /* Ternary.False */; } - var keyIntersectionState = intersectionState | (inPropertyCheck ? 8 /* IntersectionState.InPropertyCheck */ : 0); - var id = getRelationKey(source, target, keyIntersectionState, relation, /*ingnoreConstraints*/ false); + var id = getRelationKey(source, target, intersectionState, relation, /*ingnoreConstraints*/ false); var entry = relation.get(id); if (entry !== undefined) { if (reportErrors && entry & 2 /* RelationComparisonResult.Failed */ && !(entry & 4 /* RelationComparisonResult.Reported */)) { @@ -66342,7 +66902,7 @@ var ts; // A key that starts with "*" is an indication that we have type references that reference constrained // type parameters. For such keys we also check against the key we would have gotten if all type parameters // were unconstrained. - var broadestEquivalentId = id.startsWith("*") ? getRelationKey(source, target, keyIntersectionState, relation, /*ignoreConstraints*/ true) : undefined; + var broadestEquivalentId = id.startsWith("*") ? getRelationKey(source, target, intersectionState, relation, /*ignoreConstraints*/ true) : undefined; for (var i = 0; i < maybeCount; i++) { // If source and target are already being compared, consider them related with assumptions if (id === maybeKeys[i] || broadestEquivalentId && broadestEquivalentId === maybeKeys[i]) { @@ -66429,7 +66989,7 @@ var ts; function structuredTypeRelatedTo(source, target, reportErrors, intersectionState) { var saveErrorInfo = captureErrorCalculationState(); var result = structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState, saveErrorInfo); - if (!result && (source.flags & 2097152 /* TypeFlags.Intersection */ || source.flags & 262144 /* TypeFlags.TypeParameter */ && target.flags & 1048576 /* TypeFlags.Union */)) { + if (relation !== identityRelation) { // The combined constraint of an intersection type is the intersection of the constraints of // the constituents. When an intersection type contains instantiable types with union type // constraints, there are situations where we need to examine the combined constraint. One is @@ -66443,10 +67003,33 @@ var ts; // needs to have its constraint hoisted into an intersection with said type parameter, this way // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` - var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* TypeFlags.Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* TypeFlags.Union */)); - if (constraint && everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself - // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this - result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); + if (!result && (source.flags & 2097152 /* TypeFlags.Intersection */ || source.flags & 262144 /* TypeFlags.TypeParameter */ && target.flags & 1048576 /* TypeFlags.Union */)) { + var constraint = getEffectiveConstraintOfIntersection(source.flags & 2097152 /* TypeFlags.Intersection */ ? source.types : [source], !!(target.flags & 1048576 /* TypeFlags.Union */)); + if (constraint && everyType(constraint, function (c) { return c !== source; })) { // Skip comparison if expansion contains the source itself + // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this + result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); + } + } + // For certain combinations involving intersections and optional, excess, or mismatched properties we need + // an extra property check where the intersection is viewed as a single object. The following are motivating + // examples that all should be errors, but aren't without this extra property check: + // + // let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property + // + // declare let wrong: { a: { y: string } }; + // let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type + // + // function foo(x: { a?: string }, y: T & { a: boolean }) { + // x = y; // Mismatched property in source intersection + // } + // + // We suppress recursive intersection property checks because they can generate lots of work when relating + // recursive intersections that are structurally similar but not exactly identical. See #37854. + if (result && !inPropertyCheck && (target.flags & 2097152 /* TypeFlags.Intersection */ && !isGenericObjectType(target) && source.flags & (524288 /* TypeFlags.Object */ | 2097152 /* TypeFlags.Intersection */) || + isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & 2097152 /* TypeFlags.Intersection */ && getApparentType(source).flags & 3670016 /* TypeFlags.StructuredType */ && !ts.some(source.types, function (t) { return !!(ts.getObjectFlags(t) & 262144 /* ObjectFlags.NonInferrableType */); }))) { + inPropertyCheck = true; + result &= propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, 0 /* IntersectionState.None */); + inPropertyCheck = false; } } if (result) { @@ -66455,9 +67038,6 @@ var ts; return result; } function structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState, saveErrorInfo) { - if (intersectionState & 4 /* IntersectionState.PropertyCheck */) { - return propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, 0 /* IntersectionState.None */); - } var result; var originalErrorInfo; var varianceCheckFailed = false; @@ -66496,7 +67076,11 @@ var ts; } } if (sourceFlags & 33554432 /* TypeFlags.Substitution */) { - return isRelatedTo(source.substitute, target.substitute, 3 /* RecursionFlags.Both */, /*reportErrors*/ false); + if (result = isRelatedTo(source.baseType, target.baseType, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { + if (result &= isRelatedTo(source.constraint, target.constraint, 3 /* RecursionFlags.Both */, /*reportErrors*/ false)) { + return result; + } + } } if (!(sourceFlags & 524288 /* TypeFlags.Object */)) { return 0 /* Ternary.False */; @@ -66554,7 +67138,7 @@ var ts; // with another type parameter unless one extends the other. (Remember: comparability is mostly bidirectional!) var constraint = getConstraintOfTypeParameter(source); if (constraint && hasNonCircularBaseConstraint(source)) { - while (constraint && constraint.flags & 262144 /* TypeFlags.TypeParameter */) { + while (constraint && someType(constraint, function (c) { return !!(c.flags & 262144 /* TypeFlags.TypeParameter */); })) { if (result = isRelatedTo(constraint, target, 1 /* RecursionFlags.Source */, /*reportErrors*/ false)) { return result; } @@ -66604,7 +67188,7 @@ var ts; // missing from the `constraintType` which will otherwise be mapped in the object var modifiersType = getApparentType(getModifiersTypeFromMappedType(targetType_1)); var mappedKeys_1 = []; - forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, + forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */, /*stringsOnly*/ false, function (t) { return void mappedKeys_1.push(instantiateType(nameType_1, appendTypeMapping(targetType_1.mapper, getTypeParameterFromMappedType(targetType_1), t))); }); // We still need to include the non-apparent (and thus still generic) keys in the target side of the comparison (in case they're in the source side) targetKeys = getUnionType(__spreadArray(__spreadArray([], mappedKeys_1, true), [nameType_1], false)); @@ -66647,7 +67231,7 @@ var ts; // create a new chain for the constraint error resetErrorInfo(saveErrorInfo); } - if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors)) { + if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors, /* headMessage */ undefined, intersectionState)) { return result; } // prefer the shorter chain of the constraint comparison chain, and the direct comparison chain @@ -66739,8 +67323,8 @@ var ts; var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType)); var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType)); // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't) - if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) { - result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false); + if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) { + result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); if (result) { return result; } @@ -67210,7 +67794,7 @@ var ts; return 0 /* Ternary.False */; } // When checking for comparability, be more lenient with optional properties. - if (!skipOptional && sourceProp.flags & 16777216 /* SymbolFlags.Optional */ && !(targetProp.flags & 16777216 /* SymbolFlags.Optional */)) { + if (!skipOptional && sourceProp.flags & 16777216 /* SymbolFlags.Optional */ && targetProp.flags & 106500 /* SymbolFlags.ClassMember */ && !(targetProp.flags & 16777216 /* SymbolFlags.Optional */)) { // TypeScript 1.0 spec (April 2014): 3.8.3 // S is a subtype of a type T, and T is a supertype of S if ... // S' and T are object types and, for each member M in T.. @@ -67248,7 +67832,7 @@ var ts; shouldSkipElaboration = true; // Retain top-level error for interface implementing issues, otherwise omit it } if (props.length === 1) { - var propName = symbolToString(unmatchedProperty); + var propName = symbolToString(unmatchedProperty, /*enclosingDeclaration*/ undefined, 0 /* SymbolFlags.None */, 4 /* SymbolFormatFlags.AllowAnyNodeKind */ | 16 /* SymbolFormatFlags.WriteComputedProps */); reportError.apply(void 0, __spreadArray([ts.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2, propName], getTypeNamesForErrorDisplay(source, target), false)); if (ts.length(unmatchedProperty.declarations)) { associateRelatedInfo(ts.createDiagnosticForNode(unmatchedProperty.declarations[0], ts.Diagnostics._0_is_declared_here, propName)); @@ -67497,7 +68081,7 @@ var ts; var targetSignature = ts.first(targetSignatures); result = signatureRelatedTo(sourceSignature, targetSignature, eraseGenerics, reportErrors, incompatibleReporter(sourceSignature, targetSignature)); if (!result && reportErrors && kind === 1 /* SignatureKind.Construct */ && (sourceObjectFlags & targetObjectFlags) && - (((_a = targetSignature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* SyntaxKind.Constructor */ || ((_b = sourceSignature.declaration) === null || _b === void 0 ? void 0 : _b.kind) === 171 /* SyntaxKind.Constructor */)) { + (((_a = targetSignature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 173 /* SyntaxKind.Constructor */ || ((_b = sourceSignature.declaration) === null || _b === void 0 ? void 0 : _b.kind) === 173 /* SyntaxKind.Constructor */)) { var constructSignatureToString = function (signature) { return signatureToString(signature, /*enclosingDeclaration*/ undefined, 262144 /* TypeFormatFlags.WriteArrowStyleSignature */, kind); }; @@ -68262,7 +68846,7 @@ var ts; var baseTypeNode = getBaseTypeNodeOfClass(target); // A base type expression may circularly reference the class itself (e.g. as an argument to function call), so we only // check for base types specified as simple qualified names. - if (baseTypeNode && baseTypeNode.expression.kind !== 79 /* SyntaxKind.Identifier */ && baseTypeNode.expression.kind !== 206 /* SyntaxKind.PropertyAccessExpression */) { + if (baseTypeNode && baseTypeNode.expression.kind !== 79 /* SyntaxKind.Identifier */ && baseTypeNode.expression.kind !== 208 /* SyntaxKind.PropertyAccessExpression */) { return undefined; } } @@ -68310,8 +68894,7 @@ var ts; return !!(type.flags & 109440 /* TypeFlags.Unit */); } function isUnitLikeType(type) { - return type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.some(type.types, isUnitType) : - !!(type.flags & 109440 /* TypeFlags.Unit */); + return isUnitType(getBaseConstraintOrType(type)); } function extractUnitType(type) { return type.flags & 2097152 /* TypeFlags.Intersection */ ? ts.find(type.types, isUnitType) || type : type; @@ -68353,7 +68936,7 @@ var ts; if (!isLiteralOfContextualType(type, contextualType)) { type = getWidenedUniqueESSymbolType(getWidenedLiteralType(type)); } - return type; + return getRegularTypeOfLiteralType(type); } function getWidenedLiteralLikeTypeForContextualReturnTypeIfNeeded(type, contextualSignatureReturnType, isAsync) { if (type && isUnitType(type)) { @@ -68448,7 +69031,8 @@ var ts; function getOptionalType(type, isProperty) { if (isProperty === void 0) { isProperty = false; } ts.Debug.assert(strictNullChecks); - return type.flags & 32768 /* TypeFlags.Undefined */ ? type : getUnionType([type, isProperty ? missingType : undefinedType]); + var missingOrUndefined = isProperty ? missingType : undefinedType; + return type.flags & 32768 /* TypeFlags.Undefined */ || type.flags & 1048576 /* TypeFlags.Union */ && type.types[0] === missingOrUndefined ? type : getUnionType([type, missingOrUndefined]); } function getGlobalNonNullableTypeInstantiation(type) { if (!deferredGlobalNonNullableTypeAlias) { @@ -68737,12 +69321,12 @@ var ts; } var diagnostic; switch (declaration.kind) { - case 221 /* SyntaxKind.BinaryExpression */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 223 /* SyntaxKind.BinaryExpression */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: diagnostic = noImplicitAny ? ts.Diagnostics.Member_0_implicitly_has_an_1_type : ts.Diagnostics.Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: var param = declaration; if (ts.isIdentifier(param.name) && (ts.isCallSignatureDeclaration(param.parent) || ts.isMethodSignature(param.parent) || ts.isFunctionTypeNode(param.parent)) && @@ -68758,23 +69342,23 @@ var ts; noImplicitAny ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage : noImplicitAny ? ts.Diagnostics.Parameter_0_implicitly_has_an_1_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage; break; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: diagnostic = ts.Diagnostics.Binding_element_0_implicitly_has_an_1_type; if (!noImplicitAny) { // Don't issue a suggestion for binding elements since the codefix doesn't yet support them. return; } break; - case 317 /* SyntaxKind.JSDocFunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: error(declaration, ts.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: if (noImplicitAny && !declaration.name) { if (wideningKind === 3 /* WideningKind.GeneratorYield */) { error(declaration, ts.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation, typeAsString); @@ -68788,7 +69372,7 @@ var ts; wideningKind === 3 /* WideningKind.GeneratorYield */ ? ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type : ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type; break; - case 195 /* SyntaxKind.MappedType */: + case 197 /* SyntaxKind.MappedType */: if (noImplicitAny) { error(declaration, ts.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type); } @@ -68905,7 +69489,7 @@ var ts; if (context.intraExpressionInferenceSites) { for (var _i = 0, _a = context.intraExpressionInferenceSites; _i < _a.length; _i++) { var _b = _a[_i], node = _b.node, type = _b.type; - var contextualType = node.kind === 169 /* SyntaxKind.MethodDeclaration */ ? + var contextualType = node.kind === 171 /* SyntaxKind.MethodDeclaration */ ? getContextualTypeForObjectLiteralMethod(node, 2 /* ContextFlags.NoConstraints */) : getContextualType(node, 2 /* ContextFlags.NoConstraints */); if (contextualType) { @@ -68968,8 +69552,8 @@ var ts; } function isNonGenericTopLevelType(type) { if (type.aliasSymbol && !type.aliasTypeArguments) { - var declaration = ts.getDeclarationOfKind(type.aliasSymbol, 259 /* SyntaxKind.TypeAliasDeclaration */); - return !!(declaration && ts.findAncestor(declaration.parent, function (n) { return n.kind === 305 /* SyntaxKind.SourceFile */ ? true : n.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? false : "quit"; })); + var declaration = ts.getDeclarationOfKind(type.aliasSymbol, 262 /* SyntaxKind.TypeAliasDeclaration */); + return !!(declaration && ts.findAncestor(declaration.parent, function (n) { return n.kind === 308 /* SyntaxKind.SourceFile */ ? true : n.kind === 264 /* SyntaxKind.ModuleDeclaration */ ? false : "quit"; })); } return false; } @@ -69189,7 +69773,7 @@ var ts; && (!roundTripOnly || s === ts.pseudoBigIntToString({ negative: negative, base10Value: ts.parsePseudoBigInt(scanner.getTokenValue()) })); } function isMemberOfStringMapping(source, target) { - if (target.flags & (4 /* TypeFlags.String */ | 3 /* TypeFlags.AnyOrUnknown */)) { + if (target.flags & (4 /* TypeFlags.String */ | 1 /* TypeFlags.Any */)) { return true; } if (target.flags & 134217728 /* TypeFlags.TemplateLiteral */) { @@ -69427,7 +70011,10 @@ var ts; // // This flag is infectious; if we produce Box (where never is silentNeverType), Box is // also non-inferrable. - if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { + // + // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type + // used as a stand-in for binding elements when they are being inferred. + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -69500,7 +70087,7 @@ var ts; } else if (source.flags & 33554432 /* TypeFlags.Substitution */) { inferFromTypes(source.baseType, target); - inferWithPriority(source.substitute, target, 4 /* InferencePriority.SubstituteSource */); // Make substitute inference at a lower priority + inferWithPriority(getSubstitutionIntersection(source), target, 4 /* InferencePriority.SubstituteSource */); // Make substitute inference at a lower priority } else if (target.flags & 16777216 /* TypeFlags.Conditional */) { invokeOnce(source, target, inferToConditionalType); @@ -69982,7 +70569,7 @@ var ts; var saveBivariant = bivariant; var kind = target.declaration ? target.declaration.kind : 0 /* SyntaxKind.Unknown */; // Once we descend into a bivariant signature we remain bivariant for all nested inferences - bivariant = bivariant || kind === 169 /* SyntaxKind.MethodDeclaration */ || kind === 168 /* SyntaxKind.MethodSignature */ || kind === 171 /* SyntaxKind.Constructor */; + bivariant = bivariant || kind === 171 /* SyntaxKind.MethodDeclaration */ || kind === 170 /* SyntaxKind.MethodSignature */ || kind === 173 /* SyntaxKind.Constructor */; applyToParameterTypes(source, target, inferFromContravariantTypesIfStrictFunctionTypes); bivariant = saveBivariant; applyToReturnTypes(source, target, inferFromTypes); @@ -70181,7 +70768,7 @@ var ts; } // falls through default: - if (node.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (node.parent.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { return ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer; } else { @@ -70193,7 +70780,7 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSymbol) { links.resolvedSymbol = !ts.nodeIsMissing(node) && - resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */, getCannotFindNameDiagnosticForName(node), node, !ts.isWriteOnlyAccess(node), + resolveName(node, node.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */, getCannotFindNameDiagnosticForName(node), node, !ts.isWriteOnlyAccess(node), /*excludeGlobals*/ false) || unknownSymbol; } return links.resolvedSymbol; @@ -70202,7 +70789,7 @@ var ts; // TypeScript 1.0 spec (April 2014): 3.6.3 // A type query consists of the keyword typeof followed by an expression. // The expression is restricted to a single identifier or a sequence of identifiers separated by periods - return !!ts.findAncestor(node, function (n) { return n.kind === 181 /* SyntaxKind.TypeQuery */ ? true : n.kind === 79 /* SyntaxKind.Identifier */ || n.kind === 161 /* SyntaxKind.QualifiedName */ ? false : "quit"; }); + return !!ts.findAncestor(node, function (n) { return n.kind === 183 /* SyntaxKind.TypeQuery */ ? true : n.kind === 79 /* SyntaxKind.Identifier */ || n.kind === 163 /* SyntaxKind.QualifiedName */ ? false : "quit"; }); } // Return the flow cache key for a "dotted name" (i.e. a sequence of identifiers // separated by dots). The key consists of the id of the symbol referenced by the @@ -70218,26 +70805,26 @@ var ts; // falls through case 108 /* SyntaxKind.ThisKeyword */: return "0|".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType)); - case 230 /* SyntaxKind.NonNullExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 232 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: var left = getFlowCacheKey(node.left, declaredType, initialType, flowContainer); return left && left + "." + node.right.escapedText; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var propName = getAccessedPropertyName(node); if (propName !== undefined) { var key = getFlowCacheKey(node.expression, declaredType, initialType, flowContainer); return key && key + "." + propName; } break; - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: // Handle pseudo-references originating in getNarrowedTypeOfSymbol. return "".concat(getNodeId(node), "#").concat(getTypeId(declaredType)); } @@ -70245,16 +70832,16 @@ var ts; } function isMatchingReference(source, target) { switch (target.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 230 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return isMatchingReference(source, target.expression); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return (ts.isAssignmentExpression(target) && isMatchingReference(source, target.left)) || (ts.isBinaryExpression(target) && target.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && isMatchingReference(source, target.right)); } switch (source.kind) { - case 231 /* SyntaxKind.MetaProperty */: - return target.kind === 231 /* SyntaxKind.MetaProperty */ + case 233 /* SyntaxKind.MetaProperty */: + return target.kind === 233 /* SyntaxKind.MetaProperty */ && source.keywordToken === target.keywordToken && source.name.escapedText === target.name.escapedText; case 79 /* SyntaxKind.Identifier */: @@ -70262,26 +70849,26 @@ var ts; return ts.isThisInTypeQuery(source) ? target.kind === 108 /* SyntaxKind.ThisKeyword */ : target.kind === 79 /* SyntaxKind.Identifier */ && getResolvedSymbol(source) === getResolvedSymbol(target) || - (target.kind === 254 /* SyntaxKind.VariableDeclaration */ || target.kind === 203 /* SyntaxKind.BindingElement */) && + (target.kind === 257 /* SyntaxKind.VariableDeclaration */ || target.kind === 205 /* SyntaxKind.BindingElement */) && getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(source)) === getSymbolOfNode(target); case 108 /* SyntaxKind.ThisKeyword */: return target.kind === 108 /* SyntaxKind.ThisKeyword */; case 106 /* SyntaxKind.SuperKeyword */: return target.kind === 106 /* SyntaxKind.SuperKeyword */; - case 230 /* SyntaxKind.NonNullExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 232 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return isMatchingReference(source.expression, target); - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var sourcePropertyName = getAccessedPropertyName(source); var targetPropertyName = ts.isAccessExpression(target) ? getAccessedPropertyName(target) : undefined; return sourcePropertyName !== undefined && targetPropertyName !== undefined && targetPropertyName === sourcePropertyName && isMatchingReference(source.expression, target.expression); - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return ts.isAccessExpression(target) && source.right.escapedText === getAccessedPropertyName(target) && isMatchingReference(source.left, target.expression); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return (ts.isBinaryExpression(source) && source.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && isMatchingReference(source.right, target)); } return false; @@ -70312,7 +70899,7 @@ var ts; } if (ts.isEntityNameExpression(node.argumentExpression)) { var symbol = resolveEntityName(node.argumentExpression, 111551 /* SymbolFlags.Value */, /*ignoreErrors*/ true); - if (!symbol || !isConstVariable(symbol)) + if (!symbol || !(isConstVariable(symbol) || (symbol.flags & 8 /* SymbolFlags.EnumMember */))) return undefined; var declaration = symbol.valueDeclaration; if (declaration === undefined) @@ -70324,9 +70911,14 @@ var ts; return name; } } - if (ts.hasOnlyExpressionInitializer(declaration)) { + if (ts.hasOnlyExpressionInitializer(declaration) && isBlockScopedNameDeclaredBeforeUse(declaration, node.argumentExpression)) { var initializer = ts.getEffectiveInitializer(declaration); - return initializer && tryGetNameFromType(getTypeOfExpression(initializer)); + if (initializer) { + return tryGetNameFromType(getTypeOfExpression(initializer)); + } + if (ts.isEnumMember(declaration)) { + return ts.getTextOfPropertyName(declaration.name); + } } } return undefined; @@ -70453,7 +71045,7 @@ var ts; } function getMatchingUnionConstituentForObjectLiteral(unionType, node) { var keyPropertyName = getKeyPropertyName(unionType); - var propNode = keyPropertyName && ts.find(node.properties, function (p) { return p.symbol && p.kind === 296 /* SyntaxKind.PropertyAssignment */ && + var propNode = keyPropertyName && ts.find(node.properties, function (p) { return p.symbol && p.kind === 299 /* SyntaxKind.PropertyAssignment */ && p.symbol.escapedName === keyPropertyName && isPossiblyDiscriminantValue(p.initializer); }); var propType = propNode && getContextFreeTypeOfExpression(propNode.initializer); return propType && getConstituentTypeForKeyType(unionType, propType); @@ -70470,7 +71062,7 @@ var ts; } } } - if (expression.expression.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && + if (expression.expression.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && isOrContainsMatchingReference(reference, expression.expression.expression)) { return true; } @@ -70670,15 +71262,15 @@ var ts; return createArrayType(checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, type, undefinedType, /*errorNode*/ undefined) || errorType); } function getAssignedTypeOfBinaryExpression(node) { - var isDestructuringDefaultAssignment = node.parent.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || - node.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); + var isDestructuringDefaultAssignment = node.parent.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ && isDestructuringAssignmentTarget(node.parent) || + node.parent.kind === 299 /* SyntaxKind.PropertyAssignment */ && isDestructuringAssignmentTarget(node.parent.parent); return isDestructuringDefaultAssignment ? getTypeWithDefault(getAssignedType(node), node.right) : getTypeOfExpression(node.right); } function isDestructuringAssignmentTarget(parent) { - return parent.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.parent.left === parent || - parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */ && parent.parent.initializer === parent; + return parent.parent.kind === 223 /* SyntaxKind.BinaryExpression */ && parent.parent.left === parent || + parent.parent.kind === 247 /* SyntaxKind.ForOfStatement */ && parent.parent.initializer === parent; } function getAssignedTypeOfArrayLiteralElement(node, element) { return getTypeOfDestructuredArrayElement(getAssignedType(node), node.elements.indexOf(element)); @@ -70695,21 +71287,21 @@ var ts; function getAssignedType(node) { var parent = node.parent; switch (parent.kind) { - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return stringType; - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return checkRightHandSideOfForOf(parent) || errorType; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return getAssignedTypeOfBinaryExpression(parent); - case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.DeleteExpression */: return undefinedType; - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return getAssignedTypeOfArrayLiteralElement(parent, node); - case 225 /* SyntaxKind.SpreadElement */: + case 227 /* SyntaxKind.SpreadElement */: return getAssignedTypeOfSpreadExpression(parent); - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return getAssignedTypeOfPropertyAssignment(parent); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return getAssignedTypeOfShorthandPropertyAssignment(parent); } return errorType; @@ -70717,7 +71309,7 @@ var ts; function getInitialTypeOfBindingElement(node) { var pattern = node.parent; var parentType = getInitialType(pattern.parent); - var type = pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ ? + var type = pattern.kind === 203 /* SyntaxKind.ObjectBindingPattern */ ? getTypeOfDestructuredProperty(parentType, node.propertyName || node.name) : !node.dotDotDotToken ? getTypeOfDestructuredArrayElement(parentType, pattern.elements.indexOf(node)) : @@ -70735,30 +71327,30 @@ var ts; if (node.initializer) { return getTypeOfInitializer(node.initializer); } - if (node.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */) { + if (node.parent.parent.kind === 246 /* SyntaxKind.ForInStatement */) { return stringType; } - if (node.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { + if (node.parent.parent.kind === 247 /* SyntaxKind.ForOfStatement */) { return checkRightHandSideOfForOf(node.parent.parent) || errorType; } return errorType; } function getInitialType(node) { - return node.kind === 254 /* SyntaxKind.VariableDeclaration */ ? + return node.kind === 257 /* SyntaxKind.VariableDeclaration */ ? getInitialTypeOfVariableDeclaration(node) : getInitialTypeOfBindingElement(node); } function isEmptyArrayAssignment(node) { - return node.kind === 254 /* SyntaxKind.VariableDeclaration */ && node.initializer && + return node.kind === 257 /* SyntaxKind.VariableDeclaration */ && node.initializer && isEmptyArrayLiteral(node.initializer) || - node.kind !== 203 /* SyntaxKind.BindingElement */ && node.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && + node.kind !== 205 /* SyntaxKind.BindingElement */ && node.parent.kind === 223 /* SyntaxKind.BinaryExpression */ && isEmptyArrayLiteral(node.parent.right); } function getReferenceCandidate(node) { switch (node.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return getReferenceCandidate(node.expression); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: switch (node.operatorToken.kind) { case 63 /* SyntaxKind.EqualsToken */: case 75 /* SyntaxKind.BarBarEqualsToken */: @@ -70773,13 +71365,13 @@ var ts; } function getReferenceRoot(node) { var parent = node.parent; - return parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */ || - parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && parent.left === node || - parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && parent.right === node ? + return parent.kind === 214 /* SyntaxKind.ParenthesizedExpression */ || + parent.kind === 223 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && parent.left === node || + parent.kind === 223 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 27 /* SyntaxKind.CommaToken */ && parent.right === node ? getReferenceRoot(parent) : node; } function getTypeOfSwitchClause(clause) { - if (clause.kind === 289 /* SyntaxKind.CaseClause */) { + if (clause.kind === 292 /* SyntaxKind.CaseClause */) { return getRegularTypeOfLiteralType(getTypeOfExpression(clause.expression)); } return neverType; @@ -70798,13 +71390,13 @@ var ts; // Get the type names from all cases in a switch on `typeof`. The default clause and/or duplicate type names are // represented as undefined. Return undefined if one or more case clause expressions are not string literals. function getSwitchClauseTypeOfWitnesses(switchStatement) { - if (ts.some(switchStatement.caseBlock.clauses, function (clause) { return clause.kind === 289 /* SyntaxKind.CaseClause */ && !ts.isStringLiteralLike(clause.expression); })) { + if (ts.some(switchStatement.caseBlock.clauses, function (clause) { return clause.kind === 292 /* SyntaxKind.CaseClause */ && !ts.isStringLiteralLike(clause.expression); })) { return undefined; } var witnesses = []; for (var _i = 0, _a = switchStatement.caseBlock.clauses; _i < _a.length; _i++) { var clause = _a[_i]; - var text = clause.kind === 289 /* SyntaxKind.CaseClause */ ? clause.expression.text : undefined; + var text = clause.kind === 292 /* SyntaxKind.CaseClause */ ? clause.expression.text : undefined; witnesses.push(text && !ts.contains(witnesses, text) ? text : undefined); } return witnesses; @@ -70991,12 +71583,12 @@ var ts; var root = getReferenceRoot(node); var parent = root.parent; var isLengthPushOrUnshift = ts.isPropertyAccessExpression(parent) && (parent.name.escapedText === "length" || - parent.parent.kind === 208 /* SyntaxKind.CallExpression */ + parent.parent.kind === 210 /* SyntaxKind.CallExpression */ && ts.isIdentifier(parent.name) && ts.isPushOrUnshiftIdentifier(parent.name)); - var isElementAssignment = parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && + var isElementAssignment = parent.kind === 209 /* SyntaxKind.ElementAccessExpression */ && parent.expression === root && - parent.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && + parent.parent.kind === 223 /* SyntaxKind.BinaryExpression */ && parent.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && parent.parent.left === parent && !ts.isAssignmentTarget(parent.parent) && @@ -71009,6 +71601,7 @@ var ts; ts.isInJSFile(node) && ts.hasInitializer(node) && node.initializer && ts.isFunctionExpressionOrArrowFunction(node.initializer) && ts.getEffectiveReturnTypeNode(node.initializer)); } function getExplicitTypeOfSymbol(symbol, diagnostic) { + symbol = resolveSymbol(symbol); if (symbol.flags & (16 /* SymbolFlags.Function */ | 8192 /* SymbolFlags.Method */ | 32 /* SymbolFlags.Class */ | 512 /* SymbolFlags.ValueModule */)) { return getTypeOfSymbol(symbol); } @@ -71024,7 +71617,7 @@ var ts; if (isDeclarationWithExplicitTypeAnnotation(declaration)) { return getTypeOfSymbol(symbol); } - if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { + if (ts.isVariableDeclaration(declaration) && declaration.parent.parent.kind === 247 /* SyntaxKind.ForOfStatement */) { var statement = declaration.parent.parent; var expressionType = getTypeOfDottedName(statement.expression, /*diagnostic*/ undefined); if (expressionType) { @@ -71047,12 +71640,12 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: var symbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(node)); - return getExplicitTypeOfSymbol(symbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(symbol) : symbol, diagnostic); + return getExplicitTypeOfSymbol(symbol, diagnostic); case 108 /* SyntaxKind.ThisKeyword */: return getExplicitThisType(node); case 106 /* SyntaxKind.SuperKeyword */: return checkSuperExpression(node); - case 206 /* SyntaxKind.PropertyAccessExpression */: { + case 208 /* SyntaxKind.PropertyAccessExpression */: { var type = getTypeOfDottedName(node.expression, diagnostic); if (type) { var name = node.name; @@ -71070,7 +71663,7 @@ var ts; } return undefined; } - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return getTypeOfDottedName(node.expression, diagnostic); } } @@ -71084,7 +71677,7 @@ var ts; // circularities in control flow analysis, we use getTypeOfDottedName when resolving the call // target expression of an assertion. var funcType = void 0; - if (node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */) { + if (node.parent.kind === 241 /* SyntaxKind.ExpressionStatement */) { funcType = getTypeOfDottedName(node.expression, /*diagnostic*/ undefined); } else if (node.expression.kind !== 106 /* SyntaxKind.SuperKeyword */) { @@ -71128,7 +71721,7 @@ var ts; } function isFalseExpression(expr) { var node = ts.skipParentheses(expr, /*excludeJSDocTypeAssertions*/ true); - return node.kind === 95 /* SyntaxKind.FalseKeyword */ || node.kind === 221 /* SyntaxKind.BinaryExpression */ && (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ && (isFalseExpression(node.left) || isFalseExpression(node.right)) || + return node.kind === 95 /* SyntaxKind.FalseKeyword */ || node.kind === 223 /* SyntaxKind.BinaryExpression */ && (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ && (isFalseExpression(node.left) || isFalseExpression(node.right)) || node.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */ && isFalseExpression(node.left) && isFalseExpression(node.right)); } function isReachableFlowNodeWorker(flow, noCacheCheck) { @@ -71249,8 +71842,8 @@ var ts; var symbol = getResolvedSymbol(node); return isConstVariable(symbol) || ts.isParameterOrCatchClauseVariable(symbol) && !isSymbolAssigned(symbol); } - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: // The resolvedSymbol property is initialized by checkPropertyAccess or checkElementAccess before we get here. return isConstantReference(node.expression) && isReadonlySymbol(getNodeLinks(node).resolvedSymbol || unknownSymbol); } @@ -71277,7 +71870,7 @@ var ts; // on empty arrays are possible without implicit any errors and new element types can be inferred without // type mismatch errors. var resultType = ts.getObjectFlags(evolvedType) & 256 /* ObjectFlags.EvolvingArray */ && isEvolvingArrayOperationTarget(reference) ? autoArrayType : finalizeEvolvingArrayType(evolvedType); - if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === 230 /* SyntaxKind.NonNullExpression */ && !(resultType.flags & 131072 /* TypeFlags.Never */) && getTypeWithFacts(resultType, 2097152 /* TypeFacts.NEUndefinedOrNull */).flags & 131072 /* TypeFlags.Never */) { + if (resultType === unreachableNeverType || reference.parent && reference.parent.kind === 232 /* SyntaxKind.NonNullExpression */ && !(resultType.flags & 131072 /* TypeFlags.Never */) && getTypeWithFacts(resultType, 2097152 /* TypeFacts.NEUndefinedOrNull */).flags & 131072 /* TypeFlags.Never */) { return declaredType; } // The non-null unknown type should never escape control flow analysis. @@ -71362,8 +71955,8 @@ var ts; // Check if we should continue with the control flow of the containing function. var container = flow.node; if (container && container !== flowContainer && - reference.kind !== 206 /* SyntaxKind.PropertyAccessExpression */ && - reference.kind !== 207 /* SyntaxKind.ElementAccessExpression */ && + reference.kind !== 208 /* SyntaxKind.PropertyAccessExpression */ && + reference.kind !== 209 /* SyntaxKind.ElementAccessExpression */ && reference.kind !== 108 /* SyntaxKind.ThisKeyword */) { flow = container.flowNode; continue; @@ -71388,7 +71981,7 @@ var ts; } function getInitialOrAssignedType(flow) { var node = flow.node; - return getNarrowableTypeForReference(node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */ ? + return getNarrowableTypeForReference(node.kind === 257 /* SyntaxKind.VariableDeclaration */ || node.kind === 205 /* SyntaxKind.BindingElement */ ? getInitialType(node) : getAssignedType(node), reference); } @@ -71428,14 +72021,14 @@ var ts; // in which case we continue control flow analysis back to the function's declaration if (ts.isVariableDeclaration(node) && (ts.isInJSFile(node) || ts.isVarConst(node))) { var init = ts.getDeclaredExpandoInitializer(node); - if (init && (init.kind === 213 /* SyntaxKind.FunctionExpression */ || init.kind === 214 /* SyntaxKind.ArrowFunction */)) { + if (init && (init.kind === 215 /* SyntaxKind.FunctionExpression */ || init.kind === 216 /* SyntaxKind.ArrowFunction */)) { return getTypeAtFlowNode(flow.antecedent); } } return declaredType; } // for (const _ in ref) acts as a nonnull on ref - if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { + if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 246 /* SyntaxKind.ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) { return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)))); } // Assignment doesn't affect reference @@ -71446,7 +72039,7 @@ var ts; if (node.kind === 95 /* SyntaxKind.FalseKeyword */) { return unreachableNeverType; } - if (node.kind === 221 /* SyntaxKind.BinaryExpression */) { + if (node.kind === 223 /* SyntaxKind.BinaryExpression */) { if (node.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */) { return narrowTypeByAssertion(narrowTypeByAssertion(type, node.left), node.right); } @@ -71477,7 +72070,7 @@ var ts; function getTypeAtFlowArrayMutation(flow) { if (declaredType === autoType || declaredType === autoArrayType) { var node = flow.node; - var expr = node.kind === 208 /* SyntaxKind.CallExpression */ ? + var expr = node.kind === 210 /* SyntaxKind.CallExpression */ ? node.expression.expression : node.left.expression; if (isMatchingReference(reference, getReferenceCandidate(expr))) { @@ -71485,7 +72078,7 @@ var ts; var type = getTypeFromFlowType(flowType); if (ts.getObjectFlags(type) & 256 /* ObjectFlags.EvolvingArray */) { var evolvedType_1 = type; - if (node.kind === 208 /* SyntaxKind.CallExpression */) { + if (node.kind === 210 /* SyntaxKind.CallExpression */) { for (var _i = 0, _a = node.arguments; _i < _a.length; _i++) { var arg = _a[_i]; evolvedType_1 = addEvolvingArrayElementType(evolvedType_1, arg); @@ -71533,15 +72126,15 @@ var ts; if (isMatchingReference(reference, expr)) { type = narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } - else if (expr.kind === 216 /* SyntaxKind.TypeOfExpression */ && isMatchingReference(reference, expr.expression)) { - type = narrowBySwitchOnTypeOf(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); + else if (expr.kind === 218 /* SyntaxKind.TypeOfExpression */ && isMatchingReference(reference, expr.expression)) { + type = narrowTypeBySwitchOnTypeOf(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } else { if (strictNullChecks) { if (optionalChainContainsReference(expr, reference)) { type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & (32768 /* TypeFlags.Undefined */ | 131072 /* TypeFlags.Never */)); }); } - else if (expr.kind === 216 /* SyntaxKind.TypeOfExpression */ && optionalChainContainsReference(expr.expression, reference)) { + else if (expr.kind === 218 /* SyntaxKind.TypeOfExpression */ && optionalChainContainsReference(expr.expression, reference)) { type = narrowTypeBySwitchOptionalChainContainment(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd, function (t) { return !(t.flags & 131072 /* TypeFlags.Never */ || t.flags & 128 /* TypeFlags.StringLiteral */ && t.value === "undefined"); }); } } @@ -71769,7 +72362,7 @@ var ts; var narrowedPropType = narrowType(propType); return filterType(type, function (t) { var discriminantType = getTypeOfPropertyOrIndexSignature(t, propName); - return !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && isTypeComparableTo(narrowedPropType, discriminantType); + return !(discriminantType.flags & 131072 /* TypeFlags.Never */) && !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && areTypesComparable(narrowedPropType, discriminantType); }); } function narrowTypeByDiscriminantProperty(type, access, operator, value, assumeTrue) { @@ -71811,18 +72404,26 @@ var ts; } function isTypePresencePossible(type, propName, assumeTrue) { var prop = getPropertyOfType(type, propName); - if (prop) { - return prop.flags & 16777216 /* SymbolFlags.Optional */ ? true : assumeTrue; - } - return getApplicableIndexInfoForName(type, propName) ? true : !assumeTrue; - } - function narrowByInKeyword(type, name, assumeTrue) { - if (type.flags & 1048576 /* TypeFlags.Union */ - || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type - || ts.isThisTypeParameter(type) - || type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) { + return prop ? + !!(prop.flags & 16777216 /* SymbolFlags.Optional */) || assumeTrue : + !!getApplicableIndexInfoForName(type, propName) || !assumeTrue; + } + function narrowTypeByInKeyword(type, nameType, assumeTrue) { + var name = getPropertyNameFromType(nameType); + var isKnownProperty = someType(type, function (t) { return isTypePresencePossible(t, name, /*assumeTrue*/ true); }); + if (isKnownProperty) { + // If the check is for a known property (i.e. a property declared in some constituent of + // the target type), we filter the target type by presence of absence of the property. return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); }); } + if (assumeTrue) { + // If the check is for an unknown property, we intersect the target type with `Record`, + // where X is the name of the property. + var recordSymbol = getGlobalRecordSymbol(); + if (recordSymbol) { + return getIntersectionType([type, getTypeAliasInstantiation(recordSymbol, [nameType, unknownType])]); + } + } return type; } function narrowTypeByBinaryExpression(type, expr, assumeTrue) { @@ -71839,10 +72440,10 @@ var ts; var operator = expr.operatorToken.kind; var left = getReferenceCandidate(expr.left); var right = getReferenceCandidate(expr.right); - if (left.kind === 216 /* SyntaxKind.TypeOfExpression */ && ts.isStringLiteralLike(right)) { + if (left.kind === 218 /* SyntaxKind.TypeOfExpression */ && ts.isStringLiteralLike(right)) { return narrowTypeByTypeof(type, left, operator, right, assumeTrue); } - if (right.kind === 216 /* SyntaxKind.TypeOfExpression */ && ts.isStringLiteralLike(left)) { + if (right.kind === 218 /* SyntaxKind.TypeOfExpression */ && ts.isStringLiteralLike(left)) { return narrowTypeByTypeof(type, right, operator, left, assumeTrue); } if (isMatchingReference(reference, left)) { @@ -71881,15 +72482,14 @@ var ts; return narrowTypeByPrivateIdentifierInInExpression(type, expr, assumeTrue); } var target = getReferenceCandidate(expr.right); - var leftType = getTypeOfNode(expr.left); - if (leftType.flags & 128 /* TypeFlags.StringLiteral */) { - var name = ts.escapeLeadingUnderscores(leftType.value); + var leftType = getTypeOfExpression(expr.left); + if (leftType.flags & 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */) { if (containsMissingType(type) && ts.isAccessExpression(reference) && isMatchingReference(reference.expression, target) && - getAccessedPropertyName(reference) === name) { + getAccessedPropertyName(reference) === getPropertyNameFromType(leftType)) { return getTypeWithFacts(type, assumeTrue ? 524288 /* TypeFacts.NEUndefined */ : 65536 /* TypeFacts.EQUndefined */); } if (isMatchingReference(reference, target)) { - return narrowByInKeyword(type, name, assumeTrue); + return narrowTypeByInKeyword(type, leftType, assumeTrue); } } break; @@ -71951,20 +72551,11 @@ var ts; assumeTrue = !assumeTrue; } var valueType = getTypeOfExpression(value); - if ((type.flags & 2 /* TypeFlags.Unknown */) && assumeTrue && (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) { - if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) { - return valueType; - } - if (valueType.flags & 524288 /* TypeFlags.Object */) { - return nonPrimitiveType; - } - return type; - } + var doubleEquals = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */; if (valueType.flags & 98304 /* TypeFlags.Nullable */) { if (!strictNullChecks) { return type; } - var doubleEquals = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */; var facts = doubleEquals ? assumeTrue ? 262144 /* TypeFacts.EQUndefinedOrNull */ : 2097152 /* TypeFacts.NEUndefinedOrNull */ : valueType.flags & 65536 /* TypeFlags.Null */ ? @@ -71973,10 +72564,16 @@ var ts; return getAdjustedTypeWithFacts(type, facts); } if (assumeTrue) { - var filterFn = operator === 34 /* SyntaxKind.EqualsEqualsToken */ ? - function (t) { return areTypesComparable(t, valueType) || isCoercibleUnderDoubleEquals(t, valueType); } : - function (t) { return areTypesComparable(t, valueType); }; - return replacePrimitivesWithLiterals(filterType(type, filterFn), valueType); + if (!doubleEquals && (type.flags & 2 /* TypeFlags.Unknown */ || someType(type, isEmptyAnonymousObjectType))) { + if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */) || isEmptyAnonymousObjectType(valueType)) { + return valueType; + } + if (valueType.flags & 524288 /* TypeFlags.Object */) { + return nonPrimitiveType; + } + } + var filteredType = filterType(type, function (t) { return areTypesComparable(t, valueType) || doubleEquals && isCoercibleUnderDoubleEquals(t, valueType); }); + return replacePrimitivesWithLiterals(filteredType, valueType); } if (isUnitType(valueType)) { return filterType(type, function (t) { return !(isUnitLikeType(t) && areTypesComparable(t, valueType)); }); @@ -71990,11 +72587,18 @@ var ts; } var target = getReferenceCandidate(typeOfExpr.expression); if (!isMatchingReference(reference, target)) { + var propertyAccess = getDiscriminantPropertyAccess(typeOfExpr.expression, type); + if (propertyAccess) { + return narrowTypeByDiscriminant(type, propertyAccess, function (t) { return narrowTypeByLiteralExpression(t, literal, assumeTrue); }); + } if (strictNullChecks && optionalChainContainsReference(target, reference) && assumeTrue === (literal.text !== "undefined")) { return getAdjustedTypeWithFacts(type, 2097152 /* TypeFacts.NEUndefinedOrNull */); } return type; } + return narrowTypeByLiteralExpression(type, literal, assumeTrue); + } + function narrowTypeByLiteralExpression(type, literal, assumeTrue) { return assumeTrue ? narrowTypeByTypeName(type, literal.text) : getTypeWithFacts(type, typeofNEFacts.get(literal.text) || 32768 /* TypeFacts.TypeofNEHostObject */); @@ -72074,13 +72678,13 @@ var ts; neverType; }); } - function narrowBySwitchOnTypeOf(type, switchStatement, clauseStart, clauseEnd) { + function narrowTypeBySwitchOnTypeOf(type, switchStatement, clauseStart, clauseEnd) { var witnesses = getSwitchClauseTypeOfWitnesses(switchStatement); if (!witnesses) { return type; } // Equal start and end denotes implicit fallthrough; undefined marks explicit default clause. - var defaultIndex = ts.findIndex(switchStatement.caseBlock.clauses, function (clause) { return clause.kind === 290 /* SyntaxKind.DefaultClause */; }); + var defaultIndex = ts.findIndex(switchStatement.caseBlock.clauses, function (clause) { return clause.kind === 293 /* SyntaxKind.DefaultClause */; }); var hasDefaultClause = clauseStart === clauseEnd || (defaultIndex >= clauseStart && defaultIndex < clauseEnd); if (hasDefaultClause) { // In the default clause we filter constituents down to those that are not-equal to all handled cases. @@ -72284,17 +72888,17 @@ var ts; // falls through case 108 /* SyntaxKind.ThisKeyword */: case 106 /* SyntaxKind.SuperKeyword */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return narrowTypeByTruthiness(type, expr, assumeTrue); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return narrowTypeByCallExpression(type, expr, assumeTrue); - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 230 /* SyntaxKind.NonNullExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return narrowType(type, expr.expression, assumeTrue); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return narrowTypeByBinaryExpression(type, expr, assumeTrue); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: if (expr.operator === 53 /* SyntaxKind.ExclamationToken */) { return narrowType(type, expr.operand, !assumeTrue); } @@ -72343,9 +72947,9 @@ var ts; function getControlFlowContainer(node) { return ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !ts.getImmediatelyInvokedFunctionExpression(node) || - node.kind === 262 /* SyntaxKind.ModuleBlock */ || - node.kind === 305 /* SyntaxKind.SourceFile */ || - node.kind === 167 /* SyntaxKind.PropertyDeclaration */; + node.kind === 265 /* SyntaxKind.ModuleBlock */ || + node.kind === 308 /* SyntaxKind.SourceFile */ || + node.kind === 169 /* SyntaxKind.PropertyDeclaration */; }); } // Check if a parameter or catch variable is assigned anywhere @@ -72388,7 +72992,7 @@ var ts; function removeOptionalityFromDeclaredType(declaredType, declaration) { if (pushTypeResolution(declaration.symbol, 2 /* TypeSystemPropertyName.DeclaredType */)) { var annotationIncludesUndefined = strictNullChecks && - declaration.kind === 164 /* SyntaxKind.Parameter */ && + declaration.kind === 166 /* SyntaxKind.Parameter */ && declaration.initializer && getTypeFacts(declaredType) & 16777216 /* TypeFacts.IsUndefined */ && !(getTypeFacts(checkExpression(declaration.initializer)) & 16777216 /* TypeFacts.IsUndefined */); @@ -72405,10 +73009,10 @@ var ts; // In an element access obj[x], we consider obj to be in a constraint position, except when obj is of // a generic type without a nullable constraint and x is a generic type. This is because when both obj // and x are of generic types T and K, we want the resulting type to be T[K]. - return parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || - parent.kind === 161 /* SyntaxKind.QualifiedName */ || - parent.kind === 208 /* SyntaxKind.CallExpression */ && parent.expression === node || - parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && parent.expression === node && + return parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */ || + parent.kind === 163 /* SyntaxKind.QualifiedName */ || + parent.kind === 210 /* SyntaxKind.CallExpression */ && parent.expression === node || + parent.kind === 209 /* SyntaxKind.ElementAccessExpression */ && parent.expression === node && !(someType(type, isGenericTypeWithoutNullableConstraint) && isGenericIndexType(getTypeOfExpression(parent.argumentExpression))); } function isGenericTypeWithUnionConstraint(type) { @@ -72417,7 +73021,9 @@ var ts; !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* TypeFlags.Nullable */ | 1048576 /* TypeFlags.Union */)); } function isGenericTypeWithoutNullableConstraint(type) { - return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */)); + return type.flags & 2097152 /* TypeFlags.Intersection */ ? + ts.some(type.types, isGenericTypeWithoutNullableConstraint) : + !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */)); } function hasContextualTypeWithNoGenericTypes(node, checkMode) { // Computing the contextual type for a child of a JSX element involves resolving the type of the @@ -72460,15 +73066,15 @@ var ts; }); } function markAliasReferenced(symbol, location) { - if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* SymbolFlags.Value */) && !isInTypeQuery(location) && !getTypeOnlyAliasDeclaration(symbol)) { + if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* SymbolFlags.Value */) && !isInTypeQuery(location) && !getTypeOnlyAliasDeclaration(symbol, 111551 /* SymbolFlags.Value */)) { var target = resolveAlias(symbol); - if (target.flags & 111551 /* SymbolFlags.Value */) { + if (getAllSymbolFlags(target) & (111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */)) { // An alias resolving to a const enum cannot be elided if (1) 'isolatedModules' is enabled // (because the const enum value will not be inlined), or if (2) the alias is an export // of a const enum declaration that will be preserved. if (compilerOptions.isolatedModules || ts.shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(location) || - !isConstEnumOrConstEnumOnlyModule(target)) { + !isConstEnumOrConstEnumOnlyModule(getExportSymbolOfValueSymbolIfExported(target))) { markAliasSymbolAsReferenced(symbol); } else { @@ -72505,15 +73111,16 @@ var ts; // destructuring from the narrowed parent type. if (ts.isBindingElement(declaration) && !declaration.initializer && !declaration.dotDotDotToken && declaration.parent.elements.length >= 2) { var parent = declaration.parent.parent; - if (parent.kind === 254 /* SyntaxKind.VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* NodeFlags.Const */ || parent.kind === 164 /* SyntaxKind.Parameter */) { + if (parent.kind === 257 /* SyntaxKind.VariableDeclaration */ && ts.getCombinedNodeFlags(declaration) & 2 /* NodeFlags.Const */ || parent.kind === 166 /* SyntaxKind.Parameter */) { var links = getNodeLinks(parent); if (!(links.flags & 268435456 /* NodeCheckFlags.InCheckIdentifier */)) { links.flags |= 268435456 /* NodeCheckFlags.InCheckIdentifier */; var parentType = getTypeForBindingElementParent(parent, 0 /* CheckMode.Normal */); + var parentTypeConstraint = parentType && mapType(parentType, getBaseConstraintOrType); links.flags &= ~268435456 /* NodeCheckFlags.InCheckIdentifier */; - if (parentType && parentType.flags & 1048576 /* TypeFlags.Union */ && !(parent.kind === 164 /* SyntaxKind.Parameter */ && isSymbolAssigned(symbol))) { + if (parentTypeConstraint && parentTypeConstraint.flags & 1048576 /* TypeFlags.Union */ && !(parent.kind === 166 /* SyntaxKind.Parameter */ && isSymbolAssigned(symbol))) { var pattern = declaration.parent; - var narrowedType = getFlowTypeOfReference(pattern, parentType, parentType, /*flowContainer*/ undefined, location.flowNode); + var narrowedType = getFlowTypeOfReference(pattern, parentTypeConstraint, parentTypeConstraint, /*flowContainer*/ undefined, location.flowNode); if (narrowedType.flags & 131072 /* TypeFlags.Never */) { return neverType; } @@ -72580,10 +73187,10 @@ var ts; } var container = ts.getContainingFunction(node); if (languageVersion < 2 /* ScriptTarget.ES2015 */) { - if (container.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (container.kind === 216 /* SyntaxKind.ArrowFunction */) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression); } - else if (ts.hasSyntacticModifier(container, 256 /* ModifierFlags.Async */)) { + else if (ts.hasSyntacticModifier(container, 512 /* ModifierFlags.Async */)) { error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method); } } @@ -72603,7 +73210,7 @@ var ts; // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. - if (declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ + if (declaration.kind === 260 /* SyntaxKind.ClassDeclaration */ && ts.nodeIsDecorated(declaration)) { var container = ts.getContainingClass(node); while (container !== undefined) { @@ -72615,12 +73222,12 @@ var ts; container = ts.getContainingClass(container); } } - else if (declaration.kind === 226 /* SyntaxKind.ClassExpression */) { + else if (declaration.kind === 228 /* SyntaxKind.ClassExpression */) { // When we emit a class expression with static members that contain a reference // to the constructor in the initializer, we will need to substitute that // binding with an alias as the class name is not in scope. var container = ts.getThisContainer(node, /*includeArrowFunctions*/ false); - while (container.kind !== 305 /* SyntaxKind.SourceFile */) { + while (container.kind !== 308 /* SyntaxKind.SourceFile */) { if (container.parent === declaration) { if (ts.isPropertyDeclaration(container) && ts.isStatic(container) || ts.isClassStaticBlockDeclaration(container)) { getNodeLinks(declaration).flags |= 16777216 /* NodeCheckFlags.ClassWithConstructorReference */; @@ -72678,7 +73285,7 @@ var ts; // The declaration container is the innermost function that encloses the declaration of the variable // or parameter. The flow container is the innermost function starting with which we analyze the control // flow graph to determine the control flow based type. - var isParameter = ts.getRootDeclaration(declaration).kind === 164 /* SyntaxKind.Parameter */; + var isParameter = ts.getRootDeclaration(declaration).kind === 166 /* SyntaxKind.Parameter */; var declarationContainer = getControlFlowContainer(declaration); var flowContainer = getControlFlowContainer(node); var isOuterVariable = flowContainer !== declarationContainer; @@ -72687,19 +73294,19 @@ var ts; // When the control flow originates in a function expression or arrow function and we are referencing // a const variable or parameter from an outer function, we extend the origin of the control flow // analysis to include the immediately enclosing function. - while (flowContainer !== declarationContainer && (flowContainer.kind === 213 /* SyntaxKind.FunctionExpression */ || - flowContainer.kind === 214 /* SyntaxKind.ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) && + while (flowContainer !== declarationContainer && (flowContainer.kind === 215 /* SyntaxKind.FunctionExpression */ || + flowContainer.kind === 216 /* SyntaxKind.ArrowFunction */ || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) && (isConstVariable(localOrExportSymbol) && type !== autoArrayType || isParameter && !isSymbolAssigned(localOrExportSymbol))) { flowContainer = getControlFlowContainer(flowContainer); } // We only look for uninitialized variables in strict null checking mode, and only when we can analyze // the entire control flow graph from the variable's declaration (i.e. when the flow container and // declaration container are the same). - var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || ts.isBindingElement(declaration) || + var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || isSameScopedBindingElement(node, declaration) || type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & (3 /* TypeFlags.AnyOrUnknown */ | 16384 /* TypeFlags.Void */)) !== 0 || - isInTypeQuery(node) || node.parent.kind === 275 /* SyntaxKind.ExportSpecifier */) || - node.parent.kind === 230 /* SyntaxKind.NonNullExpression */ || - declaration.kind === 254 /* SyntaxKind.VariableDeclaration */ && declaration.exclamationToken || + isInTypeQuery(node) || node.parent.kind === 278 /* SyntaxKind.ExportSpecifier */) || + node.parent.kind === 232 /* SyntaxKind.NonNullExpression */ || + declaration.kind === 257 /* SyntaxKind.VariableDeclaration */ && declaration.exclamationToken || declaration.flags & 16777216 /* NodeFlags.Ambient */; var initialType = assumeInitialized ? (isParameter ? removeOptionalityFromDeclaredType(type, declaration) : type) : type === autoType || type === autoArrayType ? undefinedType : @@ -72724,6 +73331,12 @@ var ts; } return assignmentKind ? getBaseTypeOfLiteralType(flowType) : flowType; } + function isSameScopedBindingElement(node, declaration) { + if (ts.isBindingElement(declaration)) { + var bindingElement = ts.findAncestor(node, ts.isBindingElement); + return bindingElement && ts.getRootDeclaration(bindingElement) === ts.getRootDeclaration(declaration); + } + } function shouldMarkIdentifierAliasReferenced(node) { var _a; var parent = node.parent; @@ -72757,7 +73370,7 @@ var ts; (symbol.flags & (2 /* SymbolFlags.BlockScopedVariable */ | 32 /* SymbolFlags.Class */)) === 0 || !symbol.valueDeclaration || ts.isSourceFile(symbol.valueDeclaration) || - symbol.valueDeclaration.parent.kind === 292 /* SyntaxKind.CatchClause */) { + symbol.valueDeclaration.parent.kind === 295 /* SyntaxKind.CatchClause */) { return; } // 1. walk from the use site up to the declaration and check @@ -72772,7 +73385,7 @@ var ts; // mark iteration statement as containing block-scoped binding captured in some function var capturesBlockScopeBindingInLoopBody = true; if (ts.isForStatement(container)) { - var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* SyntaxKind.VariableDeclarationList */); + var varDeclList = ts.getAncestor(symbol.valueDeclaration, 258 /* SyntaxKind.VariableDeclarationList */); if (varDeclList && varDeclList.parent === container) { var part = getPartOfForStatementContainingNode(node.parent, container); if (part) { @@ -72793,7 +73406,7 @@ var ts; // mark variables that are declared in loop initializer and reassigned inside the body of ForStatement. // if body of ForStatement will be converted to function then we'll need a extra machinery to propagate reassigned values back. if (ts.isForStatement(container)) { - var varDeclList = ts.getAncestor(symbol.valueDeclaration, 255 /* SyntaxKind.VariableDeclarationList */); + var varDeclList = ts.getAncestor(symbol.valueDeclaration, 258 /* SyntaxKind.VariableDeclarationList */); if (varDeclList && varDeclList.parent === container && isAssignedInBodyOfForStatement(node, container)) { getNodeLinks(symbol.valueDeclaration).flags |= 4194304 /* NodeCheckFlags.NeedsLoopOutParameter */; } @@ -72812,7 +73425,7 @@ var ts; function isAssignedInBodyOfForStatement(node, container) { // skip parenthesized nodes var current = node; - while (current.parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + while (current.parent.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { current = current.parent; } // check if node is used as LHS in some assignment expression @@ -72820,7 +73433,7 @@ var ts; if (ts.isAssignmentTarget(current)) { isAssigned = true; } - else if ((current.parent.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ || current.parent.kind === 220 /* SyntaxKind.PostfixUnaryExpression */)) { + else if ((current.parent.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ || current.parent.kind === 222 /* SyntaxKind.PostfixUnaryExpression */)) { var expr = current.parent; isAssigned = expr.operator === 45 /* SyntaxKind.PlusPlusToken */ || expr.operator === 46 /* SyntaxKind.MinusMinusToken */; } @@ -72833,7 +73446,7 @@ var ts; } function captureLexicalThis(node, container) { getNodeLinks(node).flags |= 2 /* NodeCheckFlags.LexicalThis */; - if (container.kind === 167 /* SyntaxKind.PropertyDeclaration */ || container.kind === 171 /* SyntaxKind.Constructor */) { + if (container.kind === 169 /* SyntaxKind.PropertyDeclaration */ || container.kind === 173 /* SyntaxKind.Constructor */) { var classNode = container.parent; getNodeLinks(classNode).flags |= 4 /* NodeCheckFlags.CaptureThis */; } @@ -72880,31 +73493,31 @@ var ts; // tell whether 'this' needs to be captured. var container = ts.getThisContainer(node, /* includeArrowFunctions */ true); var capturedByArrowFunction = false; - if (container.kind === 171 /* SyntaxKind.Constructor */) { + if (container.kind === 173 /* SyntaxKind.Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class); } // Now skip arrow functions to get the "real" owner of 'this'. - if (container.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (container.kind === 216 /* SyntaxKind.ArrowFunction */) { container = ts.getThisContainer(container, /* includeArrowFunctions */ false); capturedByArrowFunction = true; } checkThisInStaticClassFieldInitializerInDecoratedClass(node, container); switch (container.kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks break; - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); // do not return here so in case if lexical this is captured - it will be reflected in flags on NodeLinks } break; - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } @@ -72992,7 +73605,7 @@ var ts; } function getClassNameFromPrototypeMethod(container) { // Check if it's the RHS of a x.prototype.y = function [name]() { .... } - if (container.kind === 213 /* SyntaxKind.FunctionExpression */ && + if (container.kind === 215 /* SyntaxKind.FunctionExpression */ && ts.isBinaryExpression(container.parent) && ts.getAssignmentDeclarationKind(container.parent) === 3 /* AssignmentDeclarationKind.PrototypeProperty */) { // Get the 'x' of 'x.prototype.y = container' @@ -73002,16 +73615,16 @@ var ts; .expression; // x } // x.prototype = { method() { } } - else if (container.kind === 169 /* SyntaxKind.MethodDeclaration */ && - container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && + else if (container.kind === 171 /* SyntaxKind.MethodDeclaration */ && + container.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ && ts.isBinaryExpression(container.parent.parent) && ts.getAssignmentDeclarationKind(container.parent.parent) === 6 /* AssignmentDeclarationKind.Prototype */) { return container.parent.parent.left.expression; } // x.prototype = { method: function() { } } - else if (container.kind === 213 /* SyntaxKind.FunctionExpression */ && - container.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ && - container.parent.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ && + else if (container.kind === 215 /* SyntaxKind.FunctionExpression */ && + container.parent.kind === 299 /* SyntaxKind.PropertyAssignment */ && + container.parent.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ && ts.isBinaryExpression(container.parent.parent.parent) && ts.getAssignmentDeclarationKind(container.parent.parent.parent) === 6 /* AssignmentDeclarationKind.Prototype */) { return container.parent.parent.parent.left.expression; @@ -73019,7 +73632,7 @@ var ts; // Object.defineProperty(x, "method", { value: function() { } }); // Object.defineProperty(x, "method", { set: (x: () => void) => void }); // Object.defineProperty(x, "method", { get: () => function() { }) }); - else if (container.kind === 213 /* SyntaxKind.FunctionExpression */ && + else if (container.kind === 215 /* SyntaxKind.FunctionExpression */ && ts.isPropertyAssignment(container.parent) && ts.isIdentifier(container.parent.name) && (container.parent.name.escapedText === "value" || container.parent.name.escapedText === "get" || container.parent.name.escapedText === "set") && @@ -73044,7 +73657,7 @@ var ts; } function getTypeForThisExpressionFromJSDoc(node) { var jsdocType = ts.getJSDocType(node); - if (jsdocType && jsdocType.kind === 317 /* SyntaxKind.JSDocFunctionType */) { + if (jsdocType && jsdocType.kind === 320 /* SyntaxKind.JSDocFunctionType */) { var jsDocFunctionType = jsdocType; if (jsDocFunctionType.parameters.length > 0 && jsDocFunctionType.parameters[0].name && @@ -73058,19 +73671,24 @@ var ts; } } function isInConstructorArgumentInitializer(node, constructorDecl) { - return !!ts.findAncestor(node, function (n) { return ts.isFunctionLikeDeclaration(n) ? "quit" : n.kind === 164 /* SyntaxKind.Parameter */ && n.parent === constructorDecl; }); + return !!ts.findAncestor(node, function (n) { return ts.isFunctionLikeDeclaration(n) ? "quit" : n.kind === 166 /* SyntaxKind.Parameter */ && n.parent === constructorDecl; }); } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 208 /* SyntaxKind.CallExpression */ && node.parent.expression === node; + var isCallExpression = node.parent.kind === 210 /* SyntaxKind.CallExpression */ && node.parent.expression === node; var immediateContainer = ts.getSuperContainer(node, /*stopOnFunctions*/ true); var container = immediateContainer; var needToCaptureLexicalThis = false; + var inAsyncFunction = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { - while (container && container.kind === 214 /* SyntaxKind.ArrowFunction */) { + while (container && container.kind === 216 /* SyntaxKind.ArrowFunction */) { + if (ts.hasSyntacticModifier(container, 512 /* ModifierFlags.Async */)) + inAsyncFunction = true; container = ts.getSuperContainer(container, /*stopOnFunctions*/ true); needToCaptureLexicalThis = languageVersion < 2 /* ScriptTarget.ES2015 */; } + if (container && ts.hasSyntacticModifier(container, 512 /* ModifierFlags.Async */)) + inAsyncFunction = true; } var canUseSuperExpression = isLegalUsageOfSuperExpression(container); var nodeCheckFlag = 0; @@ -73080,14 +73698,14 @@ var ts; // class B { // [super.foo()]() {} // } - var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 162 /* SyntaxKind.ComputedPropertyName */; }); - if (current && current.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + var current = ts.findAncestor(node, function (n) { return n === container ? "quit" : n.kind === 164 /* SyntaxKind.ComputedPropertyName */; }); + if (current && current.kind === 164 /* SyntaxKind.ComputedPropertyName */) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); } - else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */)) { + else if (!container || !container.parent || !(ts.isClassLike(container.parent) || container.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */)) { error(node, ts.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions); } else { @@ -73095,7 +73713,7 @@ var ts; } return errorType; } - if (!isCallExpression && immediateContainer.kind === 171 /* SyntaxKind.Constructor */) { + if (!isCallExpression && immediateContainer.kind === 173 /* SyntaxKind.Constructor */) { checkThisBeforeSuper(node, container, ts.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class); } if (ts.isStatic(container) || isCallExpression) { @@ -73176,12 +73794,12 @@ var ts; // as a call expression cannot be used as the target of a destructuring assignment while a property access can. // // For element access expressions (`super[x]`), we emit a generic helper that forwards the element access in both situations. - if (container.kind === 169 /* SyntaxKind.MethodDeclaration */ && ts.hasSyntacticModifier(container, 256 /* ModifierFlags.Async */)) { + if (container.kind === 171 /* SyntaxKind.MethodDeclaration */ && inAsyncFunction) { if (ts.isSuperProperty(node.parent) && ts.isAssignmentTarget(node.parent)) { - getNodeLinks(container).flags |= 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */; + getNodeLinks(container).flags |= 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */; } else { - getNodeLinks(container).flags |= 2048 /* NodeCheckFlags.AsyncMethodWithSuper */; + getNodeLinks(container).flags |= 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */; } } if (needToCaptureLexicalThis) { @@ -73190,7 +73808,7 @@ var ts; // in this case they should also use correct lexical this captureLexicalThis(node.parent, container); } - if (container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (container.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { if (languageVersion < 2 /* ScriptTarget.ES2015 */) { error(node, ts.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher); return errorType; @@ -73211,7 +73829,7 @@ var ts; if (!baseClassType) { return errorType; } - if (container.kind === 171 /* SyntaxKind.Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 173 /* SyntaxKind.Constructor */ && isInConstructorArgumentInitializer(node, container)) { // issue custom error message for super property access in constructor arguments (to be aligned with old compiler) error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); return errorType; @@ -73226,7 +73844,7 @@ var ts; if (isCallExpression) { // TS 1.0 SPEC (April 2014): 4.8.1 // Super calls are only permitted in constructors of derived classes - return container.kind === 171 /* SyntaxKind.Constructor */; + return container.kind === 173 /* SyntaxKind.Constructor */; } else { // TS 1.0 SPEC (April 2014) @@ -73234,23 +73852,23 @@ var ts; // - In a constructor, instance member function, instance member accessor, or instance member variable initializer where this references a derived class instance // - In a static member function or static member accessor // topmost container must be something that is directly nested in the class declaration\object literal expression - if (ts.isClassLike(container.parent) || container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (ts.isClassLike(container.parent) || container.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { if (ts.isStatic(container)) { - return container.kind === 169 /* SyntaxKind.MethodDeclaration */ || - container.kind === 168 /* SyntaxKind.MethodSignature */ || - container.kind === 172 /* SyntaxKind.GetAccessor */ || - container.kind === 173 /* SyntaxKind.SetAccessor */ || - container.kind === 167 /* SyntaxKind.PropertyDeclaration */ || - container.kind === 170 /* SyntaxKind.ClassStaticBlockDeclaration */; + return container.kind === 171 /* SyntaxKind.MethodDeclaration */ || + container.kind === 170 /* SyntaxKind.MethodSignature */ || + container.kind === 174 /* SyntaxKind.GetAccessor */ || + container.kind === 175 /* SyntaxKind.SetAccessor */ || + container.kind === 169 /* SyntaxKind.PropertyDeclaration */ || + container.kind === 172 /* SyntaxKind.ClassStaticBlockDeclaration */; } else { - return container.kind === 169 /* SyntaxKind.MethodDeclaration */ || - container.kind === 168 /* SyntaxKind.MethodSignature */ || - container.kind === 172 /* SyntaxKind.GetAccessor */ || - container.kind === 173 /* SyntaxKind.SetAccessor */ || - container.kind === 167 /* SyntaxKind.PropertyDeclaration */ || - container.kind === 166 /* SyntaxKind.PropertySignature */ || - container.kind === 171 /* SyntaxKind.Constructor */; + return container.kind === 171 /* SyntaxKind.MethodDeclaration */ || + container.kind === 170 /* SyntaxKind.MethodSignature */ || + container.kind === 174 /* SyntaxKind.GetAccessor */ || + container.kind === 175 /* SyntaxKind.SetAccessor */ || + container.kind === 169 /* SyntaxKind.PropertyDeclaration */ || + container.kind === 168 /* SyntaxKind.PropertySignature */ || + container.kind === 173 /* SyntaxKind.Constructor */; } } } @@ -73258,10 +73876,10 @@ var ts; } } function getContainingObjectLiteral(func) { - return (func.kind === 169 /* SyntaxKind.MethodDeclaration */ || - func.kind === 172 /* SyntaxKind.GetAccessor */ || - func.kind === 173 /* SyntaxKind.SetAccessor */) && func.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ ? func.parent : - func.kind === 213 /* SyntaxKind.FunctionExpression */ && func.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ ? func.parent.parent : + return (func.kind === 171 /* SyntaxKind.MethodDeclaration */ || + func.kind === 174 /* SyntaxKind.GetAccessor */ || + func.kind === 175 /* SyntaxKind.SetAccessor */) && func.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ ? func.parent : + func.kind === 215 /* SyntaxKind.FunctionExpression */ && func.parent.kind === 299 /* SyntaxKind.PropertyAssignment */ ? func.parent.parent : undefined; } function getThisTypeArgument(type) { @@ -73273,7 +73891,7 @@ var ts; }); } function getContextualThisParameterType(func) { - if (func.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (func.kind === 216 /* SyntaxKind.ArrowFunction */) { return undefined; } if (isContextSensitiveFunctionOrObjectLiteralMethod(func)) { @@ -73300,7 +73918,7 @@ var ts; if (thisType) { return instantiateType(thisType, getMapperFromContext(getInferenceContext(containingLiteral))); } - if (literal.parent.kind !== 296 /* SyntaxKind.PropertyAssignment */) { + if (literal.parent.kind !== 299 /* SyntaxKind.PropertyAssignment */) { break; } literal = literal.parent.parent; @@ -73314,7 +73932,7 @@ var ts; // In an assignment of the form 'obj.xxx = function(...)' or 'obj[xxx] = function(...)', the // contextual type for 'this' is 'obj'. var parent = ts.walkUpParenthesizedExpressions(func.parent); - if (parent.kind === 221 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { + if (parent.kind === 223 /* SyntaxKind.BinaryExpression */ && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { var target = parent.left; if (ts.isAccessExpression(target)) { var expression = target.expression; @@ -73367,11 +73985,11 @@ var ts; return getTypeFromTypeNode(typeNode); } switch (declaration.kind) { - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return getContextuallyTypedParameterType(declaration); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return getContextualTypeForBindingElement(declaration, contextFlags); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: if (ts.isStatic(declaration)) { return getContextualTypeForStaticPropertyDeclaration(declaration, contextFlags); } @@ -73382,10 +74000,10 @@ var ts; var parent = declaration.parent.parent; var name = declaration.propertyName || declaration.name; var parentType = getContextualTypeForVariableLikeDeclaration(parent, contextFlags) || - parent.kind !== 203 /* SyntaxKind.BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */); + parent.kind !== 205 /* SyntaxKind.BindingElement */ && parent.initializer && checkDeclarationInitializer(parent, declaration.dotDotDotToken ? 64 /* CheckMode.RestBindingElement */ : 0 /* CheckMode.Normal */); if (!parentType || ts.isBindingPattern(name) || ts.isComputedNonLiteralName(name)) return undefined; - if (parent.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */) { + if (parent.name.kind === 204 /* SyntaxKind.ArrayBindingPattern */) { var index = ts.indexOfNode(declaration.parent.elements, declaration); if (index < 0) return undefined; @@ -73542,7 +74160,7 @@ var ts; getTypeAtPosition(signature, argIndex); } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { + if (template.parent.kind === 212 /* SyntaxKind.TaggedTemplateExpression */) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -73661,9 +74279,11 @@ var ts; case 1 /* AssignmentDeclarationKind.ExportsProperty */: case 6 /* AssignmentDeclarationKind.Prototype */: case 3 /* AssignmentDeclarationKind.PrototypeProperty */: - var valueDeclaration = (_a = binaryExpression.left.symbol) === null || _a === void 0 ? void 0 : _a.valueDeclaration; - // falls through case 2 /* AssignmentDeclarationKind.ModuleExports */: + var valueDeclaration = void 0; + if (kind !== 2 /* AssignmentDeclarationKind.ModuleExports */) { + valueDeclaration = (_a = binaryExpression.left.symbol) === null || _a === void 0 ? void 0 : _a.valueDeclaration; + } valueDeclaration || (valueDeclaration = (_b = binaryExpression.symbol) === null || _b === void 0 ? void 0 : _b.valueDeclaration); var annotated = valueDeclaration && ts.getEffectiveTypeAnnotationNode(valueDeclaration); return annotated ? getTypeFromTypeNode(annotated) : undefined; @@ -73777,7 +74397,7 @@ var ts; // type of T. function getContextualTypeForElementExpression(arrayContextualType, index) { return arrayContextualType && (getTypeOfPropertyOfContextualType(arrayContextualType, "" + index) - || mapType(arrayContextualType, function (t) { return getIteratedTypeOrElementType(1 /* IterationUse.Element */, t, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false); }, + || mapType(arrayContextualType, function (t) { return getIteratedTypeOrElementType(1 /* IterationUse.Element */, t, undefinedType, /*errorNode*/ undefined, /*checkAssignability*/ false); }, /*noReductions*/ true)); } // In a contextually typed conditional expression, the true/false expressions are contextually typed by the same type. @@ -73840,21 +74460,21 @@ var ts; case 95 /* SyntaxKind.FalseKeyword */: case 104 /* SyntaxKind.NullKeyword */: case 79 /* SyntaxKind.Identifier */: - case 153 /* SyntaxKind.UndefinedKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: return true; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return isPossiblyDiscriminantValue(node.expression); - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return !node.expression || isPossiblyDiscriminantValue(node.expression); } return false; } function discriminateContextualTypeByObjectMembers(node, contextualType) { - return getMatchingUnionConstituentForObjectLiteral(contextualType, node) || discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 296 /* SyntaxKind.PropertyAssignment */ && isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName); }), function (prop) { return [function () { return getContextFreeTypeOfExpression(prop.initializer); }, prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* SymbolFlags.Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); + return getMatchingUnionConstituentForObjectLiteral(contextualType, node) || discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 299 /* SyntaxKind.PropertyAssignment */ && isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName); }), function (prop) { return [function () { return getContextFreeTypeOfExpression(prop.initializer); }, prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* SymbolFlags.Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); } function discriminateContextualTypeByJSXAttributes(node, contextualType) { - return discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 285 /* SyntaxKind.JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer)); }), function (prop) { return [!prop.initializer ? (function () { return trueType; }) : (function () { return getContextFreeTypeOfExpression(prop.initializer); }), prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* SymbolFlags.Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); + return discriminateTypeByDiscriminableItems(contextualType, ts.concatenate(ts.map(ts.filter(node.properties, function (p) { return !!p.symbol && p.kind === 288 /* SyntaxKind.JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer)); }), function (prop) { return [!prop.initializer ? (function () { return trueType; }) : (function () { return getContextFreeTypeOfExpression(prop.initializer); }), prop.symbol.escapedName]; }), ts.map(ts.filter(getPropertiesOfType(contextualType), function (s) { var _a; return !!(s.flags & 16777216 /* SymbolFlags.Optional */) && !!((_a = node === null || node === void 0 ? void 0 : node.symbol) === null || _a === void 0 ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName); }), function (s) { return [function () { return undefinedType; }, s.escapedName]; })), isTypeAssignableTo, contextualType); } // Return the contextual type for a given expression node. During overload resolution, a contextual type may temporarily // be "pushed" onto a node using the contextualType property. @@ -73875,9 +74495,10 @@ var ts; function instantiateContextualType(contextualType, node, contextFlags) { if (contextualType && maybeTypeOfKind(contextualType, 465829888 /* TypeFlags.Instantiable */)) { var inferenceContext = getInferenceContext(node); - // If no inferences have been made, nothing is gained from instantiating as type parameters - // would just be replaced with their defaults similar to the apparent type. - if (inferenceContext && contextFlags & 1 /* ContextFlags.Signature */ && ts.some(inferenceContext.inferences, hasInferenceCandidates)) { + // If no inferences have been made, and none of the type parameters for which we are inferring + // specify default types, nothing is gained from instantiating as type parameters would just be + // replaced with their constraints similar to the apparent type. + if (inferenceContext && contextFlags & 1 /* ContextFlags.Signature */ && ts.some(inferenceContext.inferences, hasInferenceCandidatesOrDefault)) { // For contextual signatures we incorporate all inferences made so far, e.g. from return // types as well as arguments to the left in a function call. return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper); @@ -73937,60 +74558,62 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 203 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 205 /* SyntaxKind.BindingElement */: return getContextualTypeForInitializerExpression(node, contextFlags); - case 214 /* SyntaxKind.ArrowFunction */: - case 247 /* SyntaxKind.ReturnStatement */: + case 216 /* SyntaxKind.ArrowFunction */: + case 250 /* SyntaxKind.ReturnStatement */: return getContextualTypeForReturnExpression(node, contextFlags); - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return getContextualTypeForYieldOperand(parent, contextFlags); - case 218 /* SyntaxKind.AwaitExpression */: + case 220 /* SyntaxKind.AwaitExpression */: return getContextualTypeForAwaitOperand(parent, contextFlags); - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: return getContextualTypeForArgument(parent, node); - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 231 /* SyntaxKind.AsExpression */: return ts.isConstTypeReference(parent.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(parent.type); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return getContextualTypeForBinaryOperand(node, contextFlags); - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return getContextualTypeForObjectLiteralElement(parent, contextFlags); - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: return getContextualType(parent.parent, contextFlags); - case 204 /* SyntaxKind.ArrayLiteralExpression */: { + case 206 /* SyntaxKind.ArrayLiteralExpression */: { var arrayLiteral = parent; var type = getApparentTypeOfContextualType(arrayLiteral, contextFlags); return getContextualTypeForElementExpression(type, ts.indexOfNode(arrayLiteral.elements, node)); } - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return getContextualTypeForConditionalOperand(node, contextFlags); - case 233 /* SyntaxKind.TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 223 /* SyntaxKind.TemplateExpression */); + case 236 /* SyntaxKind.TemplateSpan */: + ts.Debug.assert(parent.parent.kind === 225 /* SyntaxKind.TemplateExpression */); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 212 /* SyntaxKind.ParenthesizedExpression */: { + case 214 /* SyntaxKind.ParenthesizedExpression */: { // Like in `checkParenthesizedExpression`, an `/** @type {xyz} */` comment before a parenthesized expression acts as a type cast. var tag = ts.isInJSFile(parent) ? ts.getJSDocTypeTag(parent) : undefined; return !tag ? getContextualType(parent, contextFlags) : ts.isJSDocTypeTag(tag) && ts.isConstTypeReference(tag.typeExpression.type) ? tryFindWhenConstTypeReference(parent) : getTypeFromTypeNode(tag.typeExpression.type); } - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return getContextualType(parent, contextFlags); - case 271 /* SyntaxKind.ExportAssignment */: + case 235 /* SyntaxKind.SatisfiesExpression */: + return getTypeFromTypeNode(parent.type); + case 274 /* SyntaxKind.ExportAssignment */: return tryGetTypeFromEffectiveTypeNode(parent); - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return getContextualTypeForJsxExpression(parent, contextFlags); - case 285 /* SyntaxKind.JsxAttribute */: - case 287 /* SyntaxKind.JsxSpreadAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: + case 290 /* SyntaxKind.JsxSpreadAttribute */: return getContextualTypeForJsxAttribute(parent, contextFlags); - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return getContextualJsxElementAttributesType(parent, contextFlags); } return undefined; @@ -74116,9 +74739,16 @@ var ts; if (!isErrorType(intrinsicClassAttribs)) { var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol); var hostClassType = getReturnTypeOfSignature(sig); - apparentAttributesType = intersectTypes(typeParams - ? createTypeReference(intrinsicClassAttribs, fillMissingTypeArguments([hostClassType], typeParams, getMinTypeArgumentCount(typeParams), ts.isInJSFile(context))) - : intrinsicClassAttribs, apparentAttributesType); + var libraryManagedAttributeType = void 0; + if (typeParams) { + // apply JSX.IntrinsicClassElements + var inferredArgs = fillMissingTypeArguments([hostClassType], typeParams, getMinTypeArgumentCount(typeParams), ts.isInJSFile(context)); + libraryManagedAttributeType = instantiateType(intrinsicClassAttribs, createTypeMapper(typeParams, inferredArgs)); + } + // or JSX.IntrinsicClassElements has no generics. + else + libraryManagedAttributeType = intrinsicClassAttribs; + apparentAttributesType = intersectTypes(libraryManagedAttributeType, apparentAttributesType); } var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context); if (!isErrorType(intrinsicAttribs)) { @@ -74198,8 +74828,8 @@ var ts; var params = combineIntersectionParameters(left, right, paramMapper); var thisParam = combineIntersectionThisParam(left.thisParameter, right.thisParameter, paramMapper); var minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount); - var result = createSignature(declaration, typeParams, thisParam, params, - /*resolvedReturnType*/ undefined, + var result = createSignature(declaration, typeParams, thisParam, params, + /*resolvedReturnType*/ undefined, /*resolvedTypePredicate*/ undefined, minArgCount, (left.flags | right.flags) & 39 /* SignatureFlags.PropagatingFlags */); result.compositeKind = 2097152 /* TypeFlags.Intersection */; result.compositeSignatures = ts.concatenate(left.compositeKind === 2097152 /* TypeFlags.Intersection */ && left.compositeSignatures || [left], [right]); @@ -74241,7 +74871,7 @@ var ts; // all identical ignoring their return type, the result is same signature but with return type as // union type of return types from these signatures function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 171 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var typeTagSignature = getSignatureOfTypeTag(node); if (typeTagSignature) { return typeTagSignature; @@ -74289,8 +74919,8 @@ var ts; return node.isSpread ? getIndexedAccessType(node.type, numberType) : node.type; } function hasDefaultValue(node) { - return (node.kind === 203 /* SyntaxKind.BindingElement */ && !!node.initializer) || - (node.kind === 221 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */); + return (node.kind === 205 /* SyntaxKind.BindingElement */ && !!node.initializer) || + (node.kind === 223 /* SyntaxKind.BinaryExpression */ && node.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */); } function checkArrayLiteral(node, checkMode, forceTuple) { var elements = node.elements; @@ -74303,7 +74933,7 @@ var ts; var hasOmittedExpression = false; for (var i = 0; i < elementCount; i++) { var e = elements[i]; - if (e.kind === 225 /* SyntaxKind.SpreadElement */) { + if (e.kind === 227 /* SyntaxKind.SpreadElement */) { if (languageVersion < 2 /* ScriptTarget.ES2015 */) { checkExternalEmitHelpers(e, compilerOptions.downlevelIteration ? 1536 /* ExternalEmitHelpers.SpreadIncludes */ : 1024 /* ExternalEmitHelpers.SpreadArray */); } @@ -74336,7 +74966,7 @@ var ts; elementFlags.push(4 /* ElementFlags.Rest */); } } - else if (exactOptionalPropertyTypes && e.kind === 227 /* SyntaxKind.OmittedExpression */) { + else if (exactOptionalPropertyTypes && e.kind === 229 /* SyntaxKind.OmittedExpression */) { hasOmittedExpression = true; elementTypes.push(missingType); elementFlags.push(2 /* ElementFlags.Optional */); @@ -74376,7 +75006,7 @@ var ts; } function isNumericName(name) { switch (name.kind) { - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: return isNumericComputedName(name); case 79 /* SyntaxKind.Identifier */: return ts.isNumericLiteralName(name.escapedText); @@ -74397,7 +75027,7 @@ var ts; if (!links.resolvedType) { if ((ts.isTypeLiteralNode(node.parent.parent) || ts.isClassLike(node.parent.parent) || ts.isInterfaceDeclaration(node.parent.parent)) && ts.isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 101 /* SyntaxKind.InKeyword */ - && node.parent.kind !== 172 /* SyntaxKind.GetAccessor */ && node.parent.kind !== 173 /* SyntaxKind.SetAccessor */) { + && node.parent.kind !== 174 /* SyntaxKind.GetAccessor */ && node.parent.kind !== 175 /* SyntaxKind.SetAccessor */) { return links.resolvedType = errorType; } links.resolvedType = checkExpression(node.expression); @@ -74470,7 +75100,7 @@ var ts; var spread = emptyObjectType; var contextualType = getApparentTypeOfContextualType(node, /*contextFlags*/ undefined); var contextualTypeHasPattern = contextualType && contextualType.pattern && - (contextualType.pattern.kind === 201 /* SyntaxKind.ObjectBindingPattern */ || contextualType.pattern.kind === 205 /* SyntaxKind.ObjectLiteralExpression */); + (contextualType.pattern.kind === 203 /* SyntaxKind.ObjectBindingPattern */ || contextualType.pattern.kind === 207 /* SyntaxKind.ObjectLiteralExpression */); var inConstContext = isConstContext(node); var checkFlags = inConstContext ? 8 /* CheckFlags.Readonly */ : 0; var isInJavascript = ts.isInJSFile(node) && !ts.isInJsonFile(node); @@ -74494,16 +75124,16 @@ var ts; for (var _b = 0, _c = node.properties; _b < _c.length; _b++) { var memberDecl = _c[_b]; var member = getSymbolOfNode(memberDecl); - var computedNameType = memberDecl.name && memberDecl.name.kind === 162 /* SyntaxKind.ComputedPropertyName */ ? + var computedNameType = memberDecl.name && memberDecl.name.kind === 164 /* SyntaxKind.ComputedPropertyName */ ? checkComputedPropertyName(memberDecl.name) : undefined; - if (memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ || - memberDecl.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ || + if (memberDecl.kind === 299 /* SyntaxKind.PropertyAssignment */ || + memberDecl.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - var type = memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : + var type = memberDecl.kind === 299 /* SyntaxKind.PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : // avoid resolving the left side of the ShorthandPropertyAssignment outside of the destructuring // for error recovery purposes. For example, if a user wrote `{ a = 100 }` instead of `{ a: 100 }`. // we don't want to say "could not find 'a'". - memberDecl.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : + memberDecl.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode); if (isInJavascript) { var jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl); @@ -74526,8 +75156,8 @@ var ts; if (inDestructuringPattern) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - var isOptional = (memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); + var isOptional = (memberDecl.kind === 299 /* SyntaxKind.PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) || + (memberDecl.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ && memberDecl.objectAssignmentInitializer); if (isOptional) { prop.flags |= 16777216 /* SymbolFlags.Optional */; } @@ -74553,14 +75183,14 @@ var ts; member = prop; allPropertiesTable === null || allPropertiesTable === void 0 ? void 0 : allPropertiesTable.set(prop.escapedName, prop); if (contextualType && checkMode && checkMode & 2 /* CheckMode.Inferential */ && !(checkMode & 4 /* CheckMode.SkipContextSensitive */) && - (memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ || memberDecl.kind === 169 /* SyntaxKind.MethodDeclaration */) && isContextSensitive(memberDecl)) { + (memberDecl.kind === 299 /* SyntaxKind.PropertyAssignment */ || memberDecl.kind === 171 /* SyntaxKind.MethodDeclaration */) && isContextSensitive(memberDecl)) { var inferenceContext = getInferenceContext(node); ts.Debug.assert(inferenceContext); // In CheckMode.Inferential we should always have an inference context - var inferenceNode = memberDecl.kind === 296 /* SyntaxKind.PropertyAssignment */ ? memberDecl.initializer : memberDecl; + var inferenceNode = memberDecl.kind === 299 /* SyntaxKind.PropertyAssignment */ ? memberDecl.initializer : memberDecl; addIntraExpressionInferenceSite(inferenceContext, inferenceNode, type); } } - else if (memberDecl.kind === 298 /* SyntaxKind.SpreadAssignment */) { + else if (memberDecl.kind === 301 /* SyntaxKind.SpreadAssignment */) { if (languageVersion < 2 /* ScriptTarget.ES2015 */) { checkExternalEmitHelpers(memberDecl, 2 /* ExternalEmitHelpers.Assign */); } @@ -74596,7 +75226,7 @@ var ts; // an ordinary function declaration(section 6.1) with no parameters. // A set accessor declaration is processed in the same manner // as an ordinary function declaration with a single parameter and a Void return type. - ts.Debug.assert(memberDecl.kind === 172 /* SyntaxKind.GetAccessor */ || memberDecl.kind === 173 /* SyntaxKind.SetAccessor */); + ts.Debug.assert(memberDecl.kind === 174 /* SyntaxKind.GetAccessor */ || memberDecl.kind === 175 /* SyntaxKind.SetAccessor */); checkNodeDeferred(memberDecl); } if (computedNameType && !(computedNameType.flags & 8576 /* TypeFlags.StringOrNumberLiteralOrUnique */)) { @@ -74623,16 +75253,30 @@ var ts; // If object literal is contextually typed by the implied type of a binding pattern, augment the result // type with those properties for which the binding pattern specifies a default value. // If the object literal is spread into another object literal, skip this step and let the top-level object - // literal handle it instead. - if (contextualTypeHasPattern && node.parent.kind !== 298 /* SyntaxKind.SpreadAssignment */) { - for (var _d = 0, _e = getPropertiesOfType(contextualType); _d < _e.length; _d++) { - var prop = _e[_d]; - if (!propertiesTable.get(prop.escapedName) && !getPropertyOfType(spread, prop.escapedName)) { - if (!(prop.flags & 16777216 /* SymbolFlags.Optional */)) { - error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); + // literal handle it instead. Note that this might require full traversal to the root pattern's parent + // as it's the guaranteed to be the common ancestor of the pattern node and the current object node. + // It's not possible to check if the immediate parent node is a spread assignment + // since the type flows in non-obvious ways through conditional expressions, IIFEs and more. + if (contextualTypeHasPattern) { + var rootPatternParent_1 = ts.findAncestor(contextualType.pattern.parent, function (n) { + return n.kind === 257 /* SyntaxKind.VariableDeclaration */ || + n.kind === 223 /* SyntaxKind.BinaryExpression */ || + n.kind === 166 /* SyntaxKind.Parameter */; + }); + var spreadOrOutsideRootObject = ts.findAncestor(node, function (n) { + return n === rootPatternParent_1 || + n.kind === 301 /* SyntaxKind.SpreadAssignment */; + }); + if (spreadOrOutsideRootObject.kind !== 301 /* SyntaxKind.SpreadAssignment */) { + for (var _d = 0, _e = getPropertiesOfType(contextualType); _d < _e.length; _d++) { + var prop = _e[_d]; + if (!propertiesTable.get(prop.escapedName) && !getPropertyOfType(spread, prop.escapedName)) { + if (!(prop.flags & 16777216 /* SymbolFlags.Optional */)) { + error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); + } + propertiesTable.set(prop.escapedName, prop); + propertiesArray.push(prop); } - propertiesTable.set(prop.escapedName, prop); - propertiesArray.push(prop); } } } @@ -74740,6 +75384,7 @@ var ts; */ function createJsxAttributesTypeFromAttributesProperty(openingLikeElement, checkMode) { var attributes = openingLikeElement.attributes; + var attributesType = getContextualType(attributes, 0 /* ContextFlags.None */); var allAttributesTable = strictNullChecks ? ts.createSymbolTable() : undefined; var attributesTable = ts.createSymbolTable(); var spread = emptyJsxObjectType; @@ -74767,9 +75412,15 @@ var ts; if (attributeDecl.name.escapedText === jsxChildrenPropertyName) { explicitlySpecifyChildrenAttribute = true; } + if (attributesType) { + var prop = getPropertyOfType(attributesType, member.escapedName); + if (prop && prop.declarations && isDeprecatedSymbol(prop)) { + addDeprecatedSuggestion(attributeDecl.name, prop.declarations, attributeDecl.name.escapedText); + } + } } else { - ts.Debug.assert(attributeDecl.kind === 287 /* SyntaxKind.JsxSpreadAttribute */); + ts.Debug.assert(attributeDecl.kind === 290 /* SyntaxKind.JsxSpreadAttribute */); if (attributesTable.size > 0) { spread = getSpreadType(spread, createJsxAttributesType(), attributes.symbol, objectFlags, /*readonly*/ false); attributesTable = ts.createSymbolTable(); @@ -74796,7 +75447,7 @@ var ts; } } // Handle children attribute - var parent = openingLikeElement.parent.kind === 278 /* SyntaxKind.JsxElement */ ? openingLikeElement.parent : undefined; + var parent = openingLikeElement.parent.kind === 281 /* SyntaxKind.JsxElement */ ? openingLikeElement.parent : undefined; // We have to check that openingElement of the parent is the one we are visiting as this may not be true for selfClosingElement if (parent && parent.openingElement === openingLikeElement && parent.children.length > 0) { var childrenTypes = checkJsxChildren(parent, checkMode); @@ -74853,7 +75504,7 @@ var ts; childrenTypes.push(stringType); } } - else if (child.kind === 288 /* SyntaxKind.JsxExpression */ && !child.expression) { + else if (child.kind === 291 /* SyntaxKind.JsxExpression */ && !child.expression) { continue; // empty jsx expressions don't *really* count as present children } else { @@ -75285,9 +75936,9 @@ var ts; function checkPropertyAccessibility(node, isSuper, writing, type, prop, reportError) { if (reportError === void 0) { reportError = true; } var errorNode = !reportError ? undefined : - node.kind === 161 /* SyntaxKind.QualifiedName */ ? node.right : - node.kind === 200 /* SyntaxKind.ImportType */ ? node : - node.kind === 203 /* SyntaxKind.BindingElement */ && node.propertyName ? node.propertyName : node.name; + node.kind === 163 /* SyntaxKind.QualifiedName */ ? node.right : + node.kind === 202 /* SyntaxKind.ImportType */ ? node : + node.kind === 205 /* SyntaxKind.BindingElement */ && node.propertyName ? node.propertyName : node.name; return checkPropertyAccessibilityAtLocation(node, isSuper, writing, type, prop, errorNode); } /** @@ -75318,7 +75969,7 @@ var ts; return false; } } - if (flags & 128 /* ModifierFlags.Abstract */) { + if (flags & 256 /* ModifierFlags.Abstract */) { // A method cannot be accessed in a super property access if the method is abstract. // This error could mask a private property access error. But, a member // cannot simultaneously be private and abstract, so this will trigger an @@ -75330,7 +75981,7 @@ var ts; } } // Referencing abstract properties within their own constructors is not allowed - if ((flags & 128 /* ModifierFlags.Abstract */) && symbolHasNonMethodDeclaration(prop) && + if ((flags & 256 /* ModifierFlags.Abstract */) && symbolHasNonMethodDeclaration(prop) && (ts.isThisProperty(location) || ts.isThisInitializedObjectBindingExpression(location) || ts.isObjectBindingPattern(location.parent) && ts.isThisInitializedDeclaration(location.parent.parent))) { var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop)); if (declaringClassDeclaration && isNodeUsedDuringClassInitialization(location)) { @@ -75424,10 +76075,27 @@ var ts; return isNullableType(type) ? getNonNullableType(type) : type; } function reportObjectPossiblyNullOrUndefinedError(node, facts) { - error(node, facts & 16777216 /* TypeFacts.IsUndefined */ ? facts & 33554432 /* TypeFacts.IsNull */ ? - ts.Diagnostics.Object_is_possibly_null_or_undefined : - ts.Diagnostics.Object_is_possibly_undefined : - ts.Diagnostics.Object_is_possibly_null); + var nodeText = ts.isEntityNameExpression(node) ? ts.entityNameToString(node) : undefined; + if (node.kind === 104 /* SyntaxKind.NullKeyword */) { + error(node, ts.Diagnostics.The_value_0_cannot_be_used_here, "null"); + return; + } + if (nodeText !== undefined && nodeText.length < 100) { + if (ts.isIdentifier(node) && nodeText === "undefined") { + error(node, ts.Diagnostics.The_value_0_cannot_be_used_here, "undefined"); + return; + } + error(node, facts & 16777216 /* TypeFacts.IsUndefined */ ? facts & 33554432 /* TypeFacts.IsNull */ ? + ts.Diagnostics._0_is_possibly_null_or_undefined : + ts.Diagnostics._0_is_possibly_undefined : + ts.Diagnostics._0_is_possibly_null, nodeText); + } + else { + error(node, facts & 16777216 /* TypeFacts.IsUndefined */ ? facts & 33554432 /* TypeFacts.IsNull */ ? + ts.Diagnostics.Object_is_possibly_null_or_undefined : + ts.Diagnostics.Object_is_possibly_undefined : + ts.Diagnostics.Object_is_possibly_null); + } } function reportCannotInvokePossiblyNullOrUndefinedError(node, facts) { error(node, facts & 16777216 /* TypeFacts.IsUndefined */ ? facts & 33554432 /* TypeFacts.IsNull */ ? @@ -75437,6 +76105,13 @@ var ts; } function checkNonNullTypeWithReporter(type, node, reportError) { if (strictNullChecks && type.flags & 2 /* TypeFlags.Unknown */) { + if (ts.isEntityNameExpression(node)) { + var nodeText = ts.entityNameToString(node); + if (nodeText.length < 100) { + error(node, ts.Diagnostics._0_is_of_type_unknown, nodeText); + return errorType; + } + } error(node, ts.Diagnostics.Object_is_of_type_unknown); return errorType; } @@ -75454,6 +76129,17 @@ var ts; function checkNonNullNonVoidType(type, node) { var nonNullType = checkNonNullType(type, node); if (nonNullType.flags & 16384 /* TypeFlags.Void */) { + if (ts.isEntityNameExpression(node)) { + var nodeText = ts.entityNameToString(node); + if (ts.isIdentifier(node) && nodeText === "undefined") { + error(node, ts.Diagnostics.The_value_0_cannot_be_used_here, nodeText); + return nonNullType; + } + if (nodeText.length < 100) { + error(node, ts.Diagnostics._0_is_possibly_undefined, nodeText); + return nonNullType; + } + } error(node, ts.Diagnostics.Object_is_possibly_undefined); } return nonNullType; @@ -75472,7 +76158,7 @@ var ts; return checkPropertyAccessExpressionOrQualifiedName(node, node.left, leftType, node.right, checkMode); } function isMethodAccessForCall(node) { - while (node.parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + while (node.parent.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { node = node.parent; } return ts.isCallOrNewExpression(node.parent) && node.parent.expression === node; @@ -75612,7 +76298,7 @@ var ts; } return isErrorType(apparentType) ? errorType : apparentType; } - prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* SyntaxKind.QualifiedName */); + prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 163 /* SyntaxKind.QualifiedName */); } // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums. // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined @@ -75622,7 +76308,7 @@ var ts; // 1. if 'isolatedModules' is enabled, because the const enum value will not be inlined, and // 2. if 'preserveConstEnums' is enabled and the expression is itself an export, e.g. `export = Foo.Bar.Baz`. if (ts.isIdentifier(left) && parentSymbol && (compilerOptions.isolatedModules || - !(prop && (isConstEnumOrConstEnumOnlyModule(prop) || prop.flags & 8 /* SymbolFlags.EnumMember */ && node.parent.kind === 299 /* SyntaxKind.EnumMember */)) || + !(prop && (isConstEnumOrConstEnumOnlyModule(prop) || prop.flags & 8 /* SymbolFlags.EnumMember */ && node.parent.kind === 302 /* SyntaxKind.EnumMember */)) || ts.shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(node))) { markAliasReferenced(parentSymbol, node); } @@ -75724,7 +76410,7 @@ var ts; if (declaration && isPropertyWithoutInitializer(declaration)) { if (!ts.isStatic(declaration)) { var flowContainer = getControlFlowContainer(node); - if (flowContainer.kind === 171 /* SyntaxKind.Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 16777216 /* NodeFlags.Ambient */)) { + if (flowContainer.kind === 173 /* SyntaxKind.Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 16777216 /* NodeFlags.Ambient */)) { assumeUninitialized = true; } } @@ -75759,8 +76445,8 @@ var ts; && (compilerOptions.useDefineForClassFields || !isPropertyDeclaredInAncestorClass(prop))) { diagnosticMessage = error(right, ts.Diagnostics.Property_0_is_used_before_its_initialization, declarationName); } - else if (valueDeclaration.kind === 257 /* SyntaxKind.ClassDeclaration */ && - node.parent.kind !== 178 /* SyntaxKind.TypeReference */ && + else if (valueDeclaration.kind === 260 /* SyntaxKind.ClassDeclaration */ && + node.parent.kind !== 180 /* SyntaxKind.TypeReference */ && !(valueDeclaration.flags & 16777216 /* NodeFlags.Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) { diagnosticMessage = error(right, ts.Diagnostics.Class_0_used_before_its_declaration, declarationName); @@ -75772,25 +76458,25 @@ var ts; function isInPropertyInitializerOrClassStaticBlock(node) { return !!ts.findAncestor(node, function (node) { switch (node.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return true; - case 296 /* SyntaxKind.PropertyAssignment */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 298 /* SyntaxKind.SpreadAssignment */: - case 162 /* SyntaxKind.ComputedPropertyName */: - case 233 /* SyntaxKind.TemplateSpan */: - case 288 /* SyntaxKind.JsxExpression */: - case 285 /* SyntaxKind.JsxAttribute */: - case 286 /* SyntaxKind.JsxAttributes */: - case 287 /* SyntaxKind.JsxSpreadAttribute */: - case 280 /* SyntaxKind.JsxOpeningElement */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - case 291 /* SyntaxKind.HeritageClause */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 301 /* SyntaxKind.SpreadAssignment */: + case 164 /* SyntaxKind.ComputedPropertyName */: + case 236 /* SyntaxKind.TemplateSpan */: + case 291 /* SyntaxKind.JsxExpression */: + case 288 /* SyntaxKind.JsxAttribute */: + case 289 /* SyntaxKind.JsxAttributes */: + case 290 /* SyntaxKind.JsxSpreadAttribute */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + case 294 /* SyntaxKind.HeritageClause */: return false; - case 214 /* SyntaxKind.ArrowFunction */: - case 238 /* SyntaxKind.ExpressionStatement */: + case 216 /* SyntaxKind.ArrowFunction */: + case 241 /* SyntaxKind.ExpressionStatement */: return ts.isBlock(node.parent) && ts.isClassStaticBlockDeclaration(node.parent.parent) ? true : "quit"; default: return ts.isExpressionNode(node) ? false : "quit"; @@ -75985,7 +76671,6 @@ var ts; } return false; } - ; var suggestedMethod = ts.isAssignmentTarget(expr) ? "set" : "get"; if (!hasProp(suggestedMethod)) { return undefined; @@ -76065,11 +76750,11 @@ var ts; } function isValidPropertyAccess(node, propertyName) { switch (node.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return isValidPropertyAccessWithType(node, node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, propertyName, getWidenedType(checkExpression(node.expression))); - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return isValidPropertyAccessWithType(node, /*isSuper*/ false, propertyName, getWidenedType(checkExpression(node.left))); - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return isValidPropertyAccessWithType(node, /*isSuper*/ false, propertyName, getTypeFromTypeNode(node)); } } @@ -76084,7 +76769,7 @@ var ts; * @param property the accessed property's symbol. */ function isValidPropertyAccessForCompletions(node, type, property) { - return isPropertyAccessible(node, node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, + return isPropertyAccessible(node, node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */, /* isWrite */ false, type, property); // Previously we validated the 'this' type of methods but this adversely affected performance. See #31377 for more context. } @@ -76124,7 +76809,7 @@ var ts; */ function getForInVariableSymbol(node) { var initializer = node.initializer; - if (initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { var variable = initializer.declarations[0]; if (variable && !ts.isBindingPattern(variable.name)) { return getSymbolOfNode(variable); @@ -76153,7 +76838,7 @@ var ts; var child = expr; var node = expr.parent; while (node) { - if (node.kind === 243 /* SyntaxKind.ForInStatement */ && + if (node.kind === 246 /* SyntaxKind.ForInStatement */ && child === node.statement && getForInVariableSymbol(node) === symbol && hasNumericPropertyNames(getTypeOfExpression(node.expression))) { @@ -76202,13 +76887,13 @@ var ts; // This gets us diagnostics for the type arguments and marks them as referenced. ts.forEach(node.typeArguments, checkSourceElement); } - if (node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { + if (node.kind === 212 /* SyntaxKind.TaggedTemplateExpression */) { checkExpression(node.template); } else if (ts.isJsxOpeningLikeElement(node)) { checkExpression(node.attributes); } - else if (node.kind !== 165 /* SyntaxKind.Decorator */) { + else if (node.kind !== 167 /* SyntaxKind.Decorator */) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); @@ -76272,7 +76957,7 @@ var ts; } } function isSpreadArgument(arg) { - return !!arg && (arg.kind === 225 /* SyntaxKind.SpreadElement */ || arg.kind === 232 /* SyntaxKind.SyntheticExpression */ && arg.isSpread); + return !!arg && (arg.kind === 227 /* SyntaxKind.SpreadElement */ || arg.kind === 234 /* SyntaxKind.SyntheticExpression */ && arg.isSpread); } function getSpreadArgumentIndex(args) { return ts.findIndex(args, isSpreadArgument); @@ -76289,9 +76974,9 @@ var ts; var callIsIncomplete = false; // In incomplete call we want to be lenient when we have too few arguments var effectiveParameterCount = getParameterCount(signature); var effectiveMinimumArguments = getMinArgumentCount(signature); - if (node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { + if (node.kind === 212 /* SyntaxKind.TaggedTemplateExpression */) { argCount = args.length; - if (node.template.kind === 223 /* SyntaxKind.TemplateExpression */) { + if (node.template.kind === 225 /* SyntaxKind.TemplateExpression */) { // If a tagged template expression lacks a tail literal, the call is incomplete. // Specifically, a template only can end in a TemplateTail or a Missing literal. var lastSpan = ts.last(node.template.templateSpans); // we should always have at least one span. @@ -76306,7 +76991,7 @@ var ts; callIsIncomplete = !!templateLiteral.isUnterminated; } } - else if (node.kind === 165 /* SyntaxKind.Decorator */) { + else if (node.kind === 167 /* SyntaxKind.Decorator */) { argCount = getDecoratorArgumentCount(node, signature); } else if (ts.isJsxOpeningLikeElement(node)) { @@ -76320,7 +77005,7 @@ var ts; } else if (!node.arguments) { // This only happens when we have something of the form: 'new C' - ts.Debug.assert(node.kind === 209 /* SyntaxKind.NewExpression */); + ts.Debug.assert(node.kind === 211 /* SyntaxKind.NewExpression */); return getMinArgumentCount(signature) === 0; } else { @@ -76423,7 +77108,7 @@ var ts; // example, given a 'function wrap(cb: (x: T) => U): (x: T) => U' and a call expression // 'let f: (x: string) => number = wrap(s => s.length)', we infer from the declared type of 'f' to the // return type of 'wrap'. - if (node.kind !== 165 /* SyntaxKind.Decorator */) { + if (node.kind !== 167 /* SyntaxKind.Decorator */) { var skipBindingPatterns = ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }); var contextualType = getContextualType(node, skipBindingPatterns ? 8 /* ContextFlags.SkipBindingPatterns */ : 0 /* ContextFlags.None */); if (contextualType) { @@ -76487,7 +77172,7 @@ var ts; } for (var i = 0; i < argCount; i++) { var arg = args[i]; - if (arg.kind !== 227 /* SyntaxKind.OmittedExpression */ && !(checkMode & 32 /* CheckMode.IsForStringLiteralArgumentCompletions */ && hasSkipDirectInferenceFlag(arg))) { + if (arg.kind !== 229 /* SyntaxKind.OmittedExpression */ && !(checkMode & 32 /* CheckMode.IsForStringLiteralArgumentCompletions */ && hasSkipDirectInferenceFlag(arg))) { var paramType = getTypeAtPosition(signature, i); if (couldContainTypeVariables(paramType)) { var argType = checkExpressionWithContextualType(arg, paramType, context, checkMode); @@ -76513,7 +77198,7 @@ var ts; if (isSpreadArgument(arg)) { // We are inferring from a spread expression in the last argument position, i.e. both the parameter // and the argument are ...x forms. - return getMutableArrayOrTupleType(arg.kind === 232 /* SyntaxKind.SyntheticExpression */ ? arg.type : + return getMutableArrayOrTupleType(arg.kind === 234 /* SyntaxKind.SyntheticExpression */ ? arg.type : checkExpressionWithContextualType(arg.expression, restType, context, checkMode)); } } @@ -76523,13 +77208,13 @@ var ts; for (var i = index; i < argCount; i++) { var arg = args[i]; if (isSpreadArgument(arg)) { - var spreadType = arg.kind === 232 /* SyntaxKind.SyntheticExpression */ ? arg.type : checkExpression(arg.expression); + var spreadType = arg.kind === 234 /* SyntaxKind.SyntheticExpression */ ? arg.type : checkExpression(arg.expression); if (isArrayLikeType(spreadType)) { types.push(spreadType); flags.push(8 /* ElementFlags.Variadic */); } else { - types.push(checkIteratedTypeOrElementType(33 /* IterationUse.Spread */, spreadType, undefinedType, arg.kind === 225 /* SyntaxKind.SpreadElement */ ? arg.expression : arg)); + types.push(checkIteratedTypeOrElementType(33 /* IterationUse.Spread */, spreadType, undefinedType, arg.kind === 227 /* SyntaxKind.SpreadElement */ ? arg.expression : arg)); flags.push(4 /* ElementFlags.Rest */); } } @@ -76540,7 +77225,7 @@ var ts; types.push(hasPrimitiveContextualType ? getRegularTypeOfLiteralType(argType) : getWidenedLiteralType(argType)); flags.push(1 /* ElementFlags.Required */); } - if (arg.kind === 232 /* SyntaxKind.SyntheticExpression */ && arg.tupleNameSource) { + if (arg.kind === 234 /* SyntaxKind.SyntheticExpression */ && arg.tupleNameSource) { names.push(arg.tupleNameSource); } } @@ -76593,7 +77278,7 @@ var ts; // can be specified by users through attributes property. var paramType = getEffectiveFirstArgumentForJsxSignature(signature, node); var attributesType = checkExpressionWithContextualType(node.attributes, paramType, /*inferenceContext*/ undefined, checkMode); - return checkTagNameDoesNotExpectTooManyArguments() && checkTypeRelatedToAndOptionallyElaborate(attributesType, paramType, relation, reportErrors ? node.tagName : undefined, node.attributes, + return checkTagNameDoesNotExpectTooManyArguments() && checkTypeRelatedToAndOptionallyElaborate(attributesType, paramType, relation, reportErrors ? node.tagName : undefined, node.attributes, /*headMessage*/ undefined, containingMessageChain, errorOutputContainer); function checkTagNameDoesNotExpectTooManyArguments() { var _a; @@ -76684,7 +77369,7 @@ var ts; return undefined; } var thisType = getThisTypeOfSignature(signature); - if (thisType && thisType !== voidType && node.kind !== 209 /* SyntaxKind.NewExpression */) { + if (thisType && thisType !== voidType && node.kind !== 211 /* SyntaxKind.NewExpression */) { // If the called expression is not of the form `x.f` or `x["f"]`, then sourceType = voidType // If the signature's 'this' type is voidType, then the check is skipped -- anything is compatible. // If the expression is a new expression, then the check is skipped. @@ -76702,7 +77387,7 @@ var ts; var argCount = restType ? Math.min(getParameterCount(signature) - 1, args.length) : args.length; for (var i = 0; i < argCount; i++) { var arg = args[i]; - if (arg.kind !== 227 /* SyntaxKind.OmittedExpression */) { + if (arg.kind !== 229 /* SyntaxKind.OmittedExpression */) { var paramType = getTypeAtPosition(signature, i); var argType = checkExpressionWithContextualType(arg, paramType, /*inferenceContext*/ undefined, checkMode); // If one or more arguments are still excluded (as indicated by CheckMode.SkipContextSensitive), @@ -76747,8 +77432,8 @@ var ts; * Returns the this argument in calls like x.f(...) and x[f](...). Undefined otherwise. */ function getThisArgumentOfCall(node) { - var expression = node.kind === 208 /* SyntaxKind.CallExpression */ ? node.expression : - node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */ ? node.tag : undefined; + var expression = node.kind === 210 /* SyntaxKind.CallExpression */ ? node.expression : + node.kind === 212 /* SyntaxKind.TaggedTemplateExpression */ ? node.tag : undefined; if (expression) { var callee = ts.skipOuterExpressions(expression); if (ts.isAccessExpression(callee)) { @@ -76766,17 +77451,17 @@ var ts; * Returns the effective arguments for an expression that works like a function invocation. */ function getEffectiveCallArguments(node) { - if (node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { + if (node.kind === 212 /* SyntaxKind.TaggedTemplateExpression */) { var template = node.template; var args_3 = [createSyntheticExpression(template, getGlobalTemplateStringsArrayType())]; - if (template.kind === 223 /* SyntaxKind.TemplateExpression */) { + if (template.kind === 225 /* SyntaxKind.TemplateExpression */) { ts.forEach(template.templateSpans, function (span) { args_3.push(span.expression); }); } return args_3; } - if (node.kind === 165 /* SyntaxKind.Decorator */) { + if (node.kind === 167 /* SyntaxKind.Decorator */) { return getEffectiveDecoratorArguments(node); } if (ts.isJsxOpeningLikeElement(node)) { @@ -76790,7 +77475,7 @@ var ts; var _loop_26 = function (i) { var arg = args[i]; // We can call checkExpressionCached because spread expressions never have a contextual type. - var spreadType = arg.kind === 225 /* SyntaxKind.SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); + var spreadType = arg.kind === 227 /* SyntaxKind.SpreadElement */ && (flowLoopCount ? checkExpression(arg.expression) : checkExpressionCached(arg.expression)); if (spreadType && isTupleType(spreadType)) { ts.forEach(getTypeArguments(spreadType), function (t, i) { var _a; @@ -76817,30 +77502,30 @@ var ts; var parent = node.parent; var expr = node.expression; switch (parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: // For a class decorator, the `target` is the type of the class (e.g. the // "static" or "constructor" side of the class). return [ createSyntheticExpression(expr, getTypeOfSymbol(getSymbolOfNode(parent))) ]; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: // A parameter declaration decorator will have three arguments (see // `ParameterDecorator` in core.d.ts). var func = parent.parent; return [ - createSyntheticExpression(expr, parent.parent.kind === 171 /* SyntaxKind.Constructor */ ? getTypeOfSymbol(getSymbolOfNode(func)) : errorType), + createSyntheticExpression(expr, parent.parent.kind === 173 /* SyntaxKind.Constructor */ ? getTypeOfSymbol(getSymbolOfNode(func)) : errorType), createSyntheticExpression(expr, anyType), createSyntheticExpression(expr, numberType) ]; - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // A method or accessor declaration decorator will have two or three arguments (see // `PropertyDecorator` and `MethodDecorator` in core.d.ts). If we are emitting decorators // for ES3, we will only pass two arguments. - var hasPropDesc = parent.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && languageVersion !== 0 /* ScriptTarget.ES3 */; + var hasPropDesc = languageVersion !== 0 /* ScriptTarget.ES3 */ && (!ts.isPropertyDeclaration(parent) || ts.hasAccessorModifier(parent)); return [ createSyntheticExpression(expr, getParentTypeOfClassElement(parent)), createSyntheticExpression(expr, getClassElementPropertyKeyType(parent)), @@ -76854,17 +77539,17 @@ var ts; */ function getDecoratorArgumentCount(node, signature) { switch (node.parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return 1; - case 167 /* SyntaxKind.PropertyDeclaration */: - return 2; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + return ts.hasAccessorModifier(node.parent) ? 3 : 2; + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // For ES3 or decorators with only two parameters we supply only two arguments return languageVersion === 0 /* ScriptTarget.ES3 */ || signature.parameters.length <= 2 ? 2 : 3; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return 3; default: return ts.Debug.fail(); @@ -77006,8 +77691,8 @@ var ts; return ts.createDiagnosticForNodeArray(ts.getSourceFileOfNode(node), typeArguments, ts.Diagnostics.Expected_0_type_arguments_but_got_1, belowArgCount === -Infinity ? aboveArgCount : belowArgCount, argCount); } function resolveCall(node, signatures, candidatesOutArray, checkMode, callChainFlags, fallbackError) { - var isTaggedTemplate = node.kind === 210 /* SyntaxKind.TaggedTemplateExpression */; - var isDecorator = node.kind === 165 /* SyntaxKind.Decorator */; + var isTaggedTemplate = node.kind === 212 /* SyntaxKind.TaggedTemplateExpression */; + var isDecorator = node.kind === 167 /* SyntaxKind.Decorator */; var isJsxOpeningOrSelfClosingElement = ts.isJsxOpeningLikeElement(node); var reportErrors = !candidatesOutArray; var typeArguments; @@ -77070,7 +77755,7 @@ var ts; var result; // If we are in signature help, a trailing comma indicates that we intend to provide another argument, // so we will only accept overloads with arity at least 1 higher than the current number of provided arguments. - var signatureHelpTrailingComma = !!(checkMode & 16 /* CheckMode.IsForSignatureHelp */) && node.kind === 208 /* SyntaxKind.CallExpression */ && node.arguments.hasTrailingComma; + var signatureHelpTrailingComma = !!(checkMode & 16 /* CheckMode.IsForSignatureHelp */) && node.kind === 210 /* SyntaxKind.CallExpression */ && node.arguments.hasTrailingComma; // Section 4.12.1: // if the candidate list contains one or more signatures for which the type of each argument // expression is a subtype of each corresponding parameter type, the return type of the first @@ -77329,10 +78014,10 @@ var ts; if (candidates.some(signatureHasLiteralTypes)) { flags |= 2 /* SignatureFlags.HasLiteralTypes */; } - return createSignature(candidates[0].declaration, + return createSignature(candidates[0].declaration, /*typeParameters*/ undefined, // Before calling this we tested for `!candidates.some(c => !!c.typeParameters)`. - thisParameter, parameters, - /*resolvedReturnType*/ getIntersectionType(candidates.map(getReturnTypeOfSignature)), + thisParameter, parameters, + /*resolvedReturnType*/ getIntersectionType(candidates.map(getReturnTypeOfSignature)), /*typePredicate*/ undefined, minArgumentCount, flags); } function getNumNonRestParameters(signature) { @@ -77559,7 +78244,7 @@ var ts; return resolveErrorCall(node); } var valueDecl = expressionType.symbol && ts.getClassLikeDeclarationOfSymbol(expressionType.symbol); - if (valueDecl && ts.hasSyntacticModifier(valueDecl, 128 /* ModifierFlags.Abstract */)) { + if (valueDecl && ts.hasSyntacticModifier(valueDecl, 256 /* ModifierFlags.Abstract */)) { error(node, ts.Diagnostics.Cannot_create_an_instance_of_an_abstract_class); return resolveErrorCall(node); } @@ -77630,7 +78315,7 @@ var ts; var declaration = signature.declaration; var modifiers = ts.getSelectedEffectiveModifierFlags(declaration, 24 /* ModifierFlags.NonPublicAccessibilityModifier */); // (1) Public constructors and (2) constructor functions are always accessible. - if (!modifiers || declaration.kind !== 171 /* SyntaxKind.Constructor */) { + if (!modifiers || declaration.kind !== 173 /* SyntaxKind.Constructor */) { return true; } var declaringClassDeclaration = ts.getClassLikeDeclarationOfSymbol(declaration.parent.symbol); @@ -77774,16 +78459,16 @@ var ts; */ function getDiagnosticHeadMessageForDecoratorResolution(node) { switch (node.parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return ts.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return ts.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return ts.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return ts.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression; default: return ts.Debug.fail(); @@ -77829,12 +78514,12 @@ var ts; // file would probably be preferable. var typeSymbol = exports && getSymbol(exports, JsxNames.Element, 788968 /* SymbolFlags.Type */); var returnNode = typeSymbol && nodeBuilder.symbolToEntityName(typeSymbol, 788968 /* SymbolFlags.Type */, node); - var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + var declaration = ts.factory.createFunctionTypeNode(/*typeParameters*/ undefined, [ts.factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotdotdot*/ undefined, "props", /*questionMark*/ undefined, nodeBuilder.typeToTypeNode(result, node))], returnNode ? ts.factory.createTypeReferenceNode(returnNode, /*typeArguments*/ undefined) : ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */)); var parameterSymbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, "props"); parameterSymbol.type = result; - return createSignature(declaration, - /*typeParameters*/ undefined, - /*thisParameter*/ undefined, [parameterSymbol], typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType, + return createSignature(declaration, + /*typeParameters*/ undefined, + /*thisParameter*/ undefined, [parameterSymbol], typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType, /*returnTypePredicate*/ undefined, 1, 0 /* SignatureFlags.None */); } function resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode) { @@ -77878,16 +78563,16 @@ var ts; } function resolveSignature(node, candidatesOutArray, checkMode) { switch (node.kind) { - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return resolveCallExpression(node, candidatesOutArray, checkMode); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return resolveNewExpression(node, candidatesOutArray, checkMode); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return resolveTaggedTemplateExpression(node, candidatesOutArray, checkMode); - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: return resolveDecorator(node, candidatesOutArray, checkMode); - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return resolveJsxOpeningLikeElement(node, candidatesOutArray, checkMode); } throw ts.Debug.assertNever(node, "Branch in 'resolveSignature' should be unreachable."); @@ -77931,12 +78616,15 @@ var ts; return false; } var func = ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) ? node : - ts.isVariableDeclaration(node) && node.initializer && ts.isFunctionExpression(node.initializer) ? node.initializer : + (ts.isVariableDeclaration(node) || ts.isPropertyAssignment(node)) && node.initializer && ts.isFunctionExpression(node.initializer) ? node.initializer : undefined; if (func) { - // If the node has a @class tag, treat it like a constructor. + // If the node has a @class or @constructor tag, treat it like a constructor. if (ts.getJSDocClassTag(node)) return true; + // If the node is a property of an object literal. + if (ts.isPropertyAssignment(ts.walkUpParenthesizedExpressions(func.parent))) + return false; // If the symbol of the node has members, treat it like a constructor. var symbol = getSymbolOfNode(func); return !!((_a = symbol === null || symbol === void 0 ? void 0 : symbol.members) === null || _a === void 0 ? void 0 : _a.size); @@ -78019,7 +78707,7 @@ var ts; return false; } var parent = node.parent; - while (parent && parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + while (parent && parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { parent = parent.parent; } if (parent && ts.isBinaryExpression(parent) && ts.isPrototypeAccess(parent.left) && parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { @@ -78045,12 +78733,12 @@ var ts; if (node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { return voidType; } - if (node.kind === 209 /* SyntaxKind.NewExpression */) { + if (node.kind === 211 /* SyntaxKind.NewExpression */) { var declaration = signature.declaration; if (declaration && - declaration.kind !== 171 /* SyntaxKind.Constructor */ && - declaration.kind !== 175 /* SyntaxKind.ConstructSignature */ && - declaration.kind !== 180 /* SyntaxKind.ConstructorType */ && + declaration.kind !== 173 /* SyntaxKind.Constructor */ && + declaration.kind !== 177 /* SyntaxKind.ConstructSignature */ && + declaration.kind !== 182 /* SyntaxKind.ConstructorType */ && !ts.isJSDocConstructSignature(declaration) && !isJSConstructor(declaration)) { // When resolved signature is a call signature (and not a construct signature) the result type is any @@ -78070,7 +78758,7 @@ var ts; if (returnType.flags & 12288 /* TypeFlags.ESSymbolLike */ && isSymbolOrSymbolForCall(node)) { return getESSymbolLikeTypeForNode(ts.walkUpParenthesizedExpressions(node.parent)); } - if (node.kind === 208 /* SyntaxKind.CallExpression */ && !node.questionDotToken && node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && + if (node.kind === 210 /* SyntaxKind.CallExpression */ && !node.questionDotToken && node.parent.kind === 241 /* SyntaxKind.ExpressionStatement */ && returnType.flags & 16384 /* TypeFlags.Void */ && getTypePredicateOfSignature(signature)) { if (!ts.isDottedName(node.expression)) { error(node.expression, ts.Diagnostics.Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name); @@ -78100,20 +78788,20 @@ var ts; function getDeprecatedSuggestionNode(node) { node = ts.skipParentheses(node); switch (node.kind) { - case 208 /* SyntaxKind.CallExpression */: - case 165 /* SyntaxKind.Decorator */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 167 /* SyntaxKind.Decorator */: + case 211 /* SyntaxKind.NewExpression */: return getDeprecatedSuggestionNode(node.expression); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return getDeprecatedSuggestionNode(node.tag); - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return getDeprecatedSuggestionNode(node.tagName); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return node.argumentExpression; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return node.name; - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: var typeReference = node; return ts.isQualifiedName(typeReference.typeName) ? typeReference.typeName.right : typeReference; default: @@ -78184,8 +78872,8 @@ var ts; if (hasDefaultOnly && type && !isErrorType(type)) { var synthType = type; if (!synthType.defaultOnlyType) { - var type_5 = createDefaultPropertyWrapperForModule(symbol, originalSymbol); - synthType.defaultOnlyType = type_5; + var type_4 = createDefaultPropertyWrapperForModule(symbol, originalSymbol); + synthType.defaultOnlyType = type_4; } return synthType.defaultOnlyType; } @@ -78228,9 +78916,9 @@ var ts; return false; } var targetDeclarationKind = resolvedRequire.flags & 16 /* SymbolFlags.Function */ - ? 256 /* SyntaxKind.FunctionDeclaration */ + ? 259 /* SyntaxKind.FunctionDeclaration */ : resolvedRequire.flags & 3 /* SymbolFlags.Variable */ - ? 254 /* SyntaxKind.VariableDeclaration */ + ? 257 /* SyntaxKind.VariableDeclaration */ : 0 /* SyntaxKind.Unknown */; if (targetDeclarationKind !== 0 /* SyntaxKind.Unknown */) { var decl = ts.getDeclarationOfKind(resolvedRequire, targetDeclarationKind); @@ -78250,7 +78938,7 @@ var ts; return getReturnTypeOfSignature(signature); } function checkAssertion(node) { - if (node.kind === 211 /* SyntaxKind.TypeAssertionExpression */) { + if (node.kind === 213 /* SyntaxKind.TypeAssertionExpression */) { var file = ts.getSourceFileOfNode(node); if (file && ts.fileExtensionIsOneOf(file.fileName, [".cts" /* Extension.Cts */, ".mts" /* Extension.Mts */])) { grammarErrorOnNode(node, ts.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead); @@ -78266,25 +78954,25 @@ var ts; case 9 /* SyntaxKind.BigIntLiteral */: case 110 /* SyntaxKind.TrueKeyword */: case 95 /* SyntaxKind.FalseKeyword */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 223 /* SyntaxKind.TemplateExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 225 /* SyntaxKind.TemplateExpression */: return true; - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return isValidConstAssertionArgument(node.expression); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: var op = node.operator; var arg = node.operand; return op === 40 /* SyntaxKind.MinusToken */ && (arg.kind === 8 /* SyntaxKind.NumericLiteral */ || arg.kind === 9 /* SyntaxKind.BigIntLiteral */) || op === 39 /* SyntaxKind.PlusToken */ && arg.kind === 8 /* SyntaxKind.NumericLiteral */; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var expr = node.expression; var symbol = getTypeOfNode(expr).symbol; if (symbol && symbol.flags & 2097152 /* SymbolFlags.Alias */) { symbol = resolveAlias(symbol); } - return !!(symbol && (symbol.flags & 384 /* SymbolFlags.Enum */) && getEnumKind(symbol) === 1 /* EnumKind.Literal */); + return !!(symbol && (getAllSymbolFlags(symbol) & 384 /* SymbolFlags.Enum */) && getEnumKind(symbol) === 1 /* EnumKind.Literal */); } return false; } @@ -78320,7 +79008,7 @@ var ts; } function checkExpressionWithTypeArguments(node) { checkGrammarExpressionWithTypeArguments(node); - var exprType = node.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ ? checkExpression(node.expression) : + var exprType = node.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */ ? checkExpression(node.expression) : ts.isThisIdentifier(node.exprName) ? checkThisExpression(node.exprName) : checkExpression(node.exprName); var typeArguments = node.typeArguments; @@ -78384,6 +79072,16 @@ var ts; }); } } + function checkSatisfiesExpression(node) { + checkSourceElement(node.type); + var targetType = getTypeFromTypeNode(node.type); + if (isErrorType(targetType)) { + return targetType; + } + var exprType = checkExpression(node.expression); + checkTypeAssignableToAndOptionallyElaborate(exprType, targetType, node.type, node.expression, ts.Diagnostics.Type_0_does_not_satisfy_the_expected_type_1); + return exprType; + } function checkMetaProperty(node) { checkGrammarMetaProperty(node); if (node.keywordToken === 103 /* SyntaxKind.NewKeyword */) { @@ -78411,7 +79109,7 @@ var ts; error(node, ts.Diagnostics.Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor, "new.target"); return errorType; } - else if (container.kind === 171 /* SyntaxKind.Constructor */) { + else if (container.kind === 173 /* SyntaxKind.Constructor */) { var symbol = getSymbolOfNode(container.parent); return getTypeOfSymbol(symbol); } @@ -78463,7 +79161,7 @@ var ts; } function getParameterIdentifierNameAtPosition(signature, pos) { var _a; - if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 317 /* SyntaxKind.JSDocFunctionType */) { + if (((_a = signature.declaration) === null || _a === void 0 ? void 0 : _a.kind) === 320 /* SyntaxKind.JSDocFunctionType */) { return undefined; } var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); @@ -78495,7 +79193,7 @@ var ts; return symbol.valueDeclaration && ts.isParameter(symbol.valueDeclaration) && ts.isIdentifier(symbol.valueDeclaration.name); } function isValidDeclarationForTupleLabel(d) { - return d.kind === 197 /* SyntaxKind.NamedTupleMember */ || (ts.isParameter(d) && d.name && ts.isIdentifier(d.name)); + return d.kind === 199 /* SyntaxKind.NamedTupleMember */ || (ts.isParameter(d) && d.name && ts.isIdentifier(d.name)); } function getNameableDeclarationAtPosition(signature, pos) { var paramCount = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0); @@ -78787,7 +79485,7 @@ var ts; var yieldType; var nextType; var fallbackReturnType = voidType; - if (func.body.kind !== 235 /* SyntaxKind.Block */) { // Async or normal arrow function + if (func.body.kind !== 238 /* SyntaxKind.Block */) { // Async or normal arrow function returnType = checkExpressionCached(func.body, checkMode && checkMode & ~8 /* CheckMode.SkipGenericFunctions */); if (isAsync) { // From within an async function you can return either a non-promise value or a promise. Any @@ -78936,15 +79634,25 @@ var ts; } function isExhaustiveSwitchStatement(node) { var links = getNodeLinks(node); - return links.isExhaustive !== undefined ? links.isExhaustive : (links.isExhaustive = computeExhaustiveSwitchStatement(node)); + if (links.isExhaustive === undefined) { + links.isExhaustive = 0; // Indicate resolution is in process + var exhaustive = computeExhaustiveSwitchStatement(node); + if (links.isExhaustive === 0) { + links.isExhaustive = exhaustive; + } + } + else if (links.isExhaustive === 0) { + links.isExhaustive = false; // Resolve circularity to false + } + return links.isExhaustive; } function computeExhaustiveSwitchStatement(node) { - if (node.expression.kind === 216 /* SyntaxKind.TypeOfExpression */) { + if (node.expression.kind === 218 /* SyntaxKind.TypeOfExpression */) { var witnesses = getSwitchClauseTypeOfWitnesses(node); if (!witnesses) { return false; } - var operandConstraint = getBaseConstraintOrType(getTypeOfExpression(node.expression.expression)); + var operandConstraint = getBaseConstraintOrType(checkExpressionCached(node.expression.expression)); // Get the not-equal flags for all handled cases. var notEqualFacts_2 = getNotEqualFactsFromTypeofSwitch(0, 0, witnesses); if (operandConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */) { @@ -78954,7 +79662,7 @@ var ts; // A missing not-equal flag indicates that the type wasn't handled by some case. return !someType(operandConstraint, function (t) { return (getTypeFacts(t) & notEqualFacts_2) === notEqualFacts_2; }); } - var type = getTypeOfExpression(node.expression); + var type = checkExpressionCached(node.expression); if (!isLiteralType(type)) { return false; } @@ -79005,11 +79713,11 @@ var ts; } function mayReturnNever(func) { switch (func.kind) { - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return true; - case 169 /* SyntaxKind.MethodDeclaration */: - return func.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; + case 171 /* SyntaxKind.MethodDeclaration */: + return func.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */; default: return false; } @@ -79035,7 +79743,7 @@ var ts; } // If all we have is a function signature, or an arrow function with an expression body, then there is nothing to check. // also if HasImplicitReturn flag is not set this means that all codepaths in function body end with return or throw - if (func.kind === 168 /* SyntaxKind.MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 235 /* SyntaxKind.Block */ || !functionHasImplicitReturn(func)) { + if (func.kind === 170 /* SyntaxKind.MethodSignature */ || ts.nodeIsMissing(func.body) || func.body.kind !== 238 /* SyntaxKind.Block */ || !functionHasImplicitReturn(func)) { return; } var hasExplicitReturn = func.flags & 512 /* NodeFlags.HasExplicitReturn */; @@ -79069,7 +79777,7 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethod(node, checkMode) { - ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 171 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); checkNodeDeferred(node); if (ts.isFunctionExpression(node)) { checkCollisionsForDeclarationName(node, node.name); @@ -79096,7 +79804,7 @@ var ts; } // Grammar checking var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 213 /* SyntaxKind.FunctionExpression */) { + if (!hasGrammarError && node.kind === 215 /* SyntaxKind.FunctionExpression */) { checkGrammarForGenerator(node); } contextuallyCheckFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -79147,7 +79855,7 @@ var ts; } } function checkFunctionExpressionOrObjectLiteralMethodDeferred(node) { - ts.Debug.assert(node.kind !== 169 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 171 /* SyntaxKind.MethodDeclaration */ || ts.isObjectLiteralMethod(node)); var functionFlags = ts.getFunctionFlags(node); var returnType = getReturnTypeFromAnnotation(node); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); @@ -79160,7 +79868,7 @@ var ts; // checkFunctionExpressionBodies). So it must be done now. getReturnTypeOfSignature(getSignatureFromDeclaration(node)); } - if (node.body.kind === 235 /* SyntaxKind.Block */) { + if (node.body.kind === 238 /* SyntaxKind.Block */) { checkSourceElement(node.body); } else { @@ -79250,7 +79958,7 @@ var ts; expr.expression.kind === 108 /* SyntaxKind.ThisKeyword */) { // Look for if this is the constructor for the class that `symbol` is a property of. var ctor = ts.getContainingFunction(expr); - if (!(ctor && (ctor.kind === 171 /* SyntaxKind.Constructor */ || isJSConstructor(ctor)))) { + if (!(ctor && (ctor.kind === 173 /* SyntaxKind.Constructor */ || isJSConstructor(ctor)))) { return true; } if (symbol.valueDeclaration) { @@ -79275,7 +79983,7 @@ var ts; var symbol_2 = getNodeLinks(node).resolvedSymbol; if (symbol_2.flags & 2097152 /* SymbolFlags.Alias */) { var declaration = getDeclarationOfAliasSymbol(symbol_2); - return !!declaration && declaration.kind === 268 /* SyntaxKind.NamespaceImport */; + return !!declaration && declaration.kind === 271 /* SyntaxKind.NamespaceImport */; } } } @@ -79375,7 +80083,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos); var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); - if (container && container.kind !== 171 /* SyntaxKind.Constructor */ && (ts.getFunctionFlags(container) & 2 /* FunctionFlags.Async */) === 0) { + if (container && container.kind !== 173 /* SyntaxKind.Constructor */ && (ts.getFunctionFlags(container) & 2 /* FunctionFlags.Async */) === 0) { var relatedInfo = ts.createDiagnosticForNode(container, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); ts.addRelatedInfo(diagnostic, relatedInfo); } @@ -79543,6 +80251,9 @@ var ts; } return booleanType; } + function hasEmptyObjectIntersection(type) { + return someType(type, function (t) { return t === unknownEmptyObjectType || !!(t.flags & 2097152 /* TypeFlags.Intersection */) && ts.some(t.types, isEmptyAnonymousObjectType); }); + } function checkInExpression(left, right, leftType, rightType) { if (leftType === silentNeverType || rightType === silentNeverType) { return silentNeverType; @@ -79559,40 +80270,20 @@ var ts; } } else { - leftType = checkNonNullType(leftType, left); - // TypeScript 1.0 spec (April 2014): 4.15.5 - // Require the left operand to be of type Any, the String primitive type, or the Number primitive type. - if (!(allTypesAssignableToKind(leftType, 402653316 /* TypeFlags.StringLike */ | 296 /* TypeFlags.NumberLike */ | 12288 /* TypeFlags.ESSymbolLike */) || - isTypeAssignableToKind(leftType, 4194304 /* TypeFlags.Index */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */ | 262144 /* TypeFlags.TypeParameter */))) { - error(left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_a_private_identifier_or_of_type_any_string_number_or_symbol); + // The type of the lef operand must be assignable to string, number, or symbol. + checkTypeAssignableTo(checkNonNullType(leftType, left), stringNumberSymbolType, left); + } + // The type of the right operand must be assignable to 'object'. + if (checkTypeAssignableTo(checkNonNullType(rightType, right), nonPrimitiveType, right)) { + // The {} type is assignable to the object type, yet {} might represent a primitive type. Here we + // detect and error on {} that results from narrowing the unknown type, as well as intersections + // that include {} (we know that the other types in such intersections are assignable to object + // since we already checked for that). + if (hasEmptyObjectIntersection(rightType)) { + error(right, ts.Diagnostics.Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator, typeToString(rightType)); } } - rightType = checkNonNullType(rightType, right); - // TypeScript 1.0 spec (April 2014): 4.15.5 - // The in operator requires the right operand to be - // - // 1. assignable to the non-primitive type, - // 2. an unconstrained type parameter, - // 3. a union or intersection including one or more type parameters, whose constituents are all assignable to the - // the non-primitive type, or are unconstrainted type parameters, or have constraints assignable to the - // non-primitive type, or - // 4. a type parameter whose constraint is - // i. an object type, - // ii. the non-primitive type, or - // iii. a union or intersection with at least one constituent assignable to an object or non-primitive type. - // - // The divergent behavior for type parameters and unions containing type parameters is a workaround for type - // parameters not being narrowable. If the right operand is a concrete type, we can error if there is any chance - // it is a primitive. But if the operand is a type parameter, it cannot be narrowed, so we don't issue an error - // unless *all* instantiations would result in an error. - // // The result is always of the Boolean primitive type. - var rightTypeConstraint = getConstraintOfType(rightType); - if (!allTypesAssignableToKind(rightType, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) || - rightTypeConstraint && (isTypeAssignableToKind(rightType, 3145728 /* TypeFlags.UnionOrIntersection */) && !allTypesAssignableToKind(rightTypeConstraint, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */) || - !maybeTypeOfKind(rightTypeConstraint, 67108864 /* TypeFlags.NonPrimitive */ | 58982400 /* TypeFlags.InstantiableNonPrimitive */ | 524288 /* TypeFlags.Object */))) { - error(right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_not_be_a_primitive); - } return booleanType; } function checkObjectLiteralAssignment(node, sourceType, rightIsThis) { @@ -79610,7 +80301,7 @@ var ts; if (rightIsThis === void 0) { rightIsThis = false; } var properties = node.properties; var property = properties[propertyIndex]; - if (property.kind === 296 /* SyntaxKind.PropertyAssignment */ || property.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (property.kind === 299 /* SyntaxKind.PropertyAssignment */ || property.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { var name = property.name; var exprType = getLiteralTypeFromPropertyName(name); if (isTypeUsableAsPropertyName(exprType)) { @@ -79623,9 +80314,9 @@ var ts; } var elementType = getIndexedAccessType(objectLiteralType, exprType, 32 /* AccessFlags.ExpressionPosition */, name); var type = getFlowTypeOfDestructuring(property, elementType); - return checkDestructuringAssignment(property.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ ? property : property.initializer, type); + return checkDestructuringAssignment(property.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ ? property : property.initializer, type); } - else if (property.kind === 298 /* SyntaxKind.SpreadAssignment */) { + else if (property.kind === 301 /* SyntaxKind.SpreadAssignment */) { if (propertyIndex < properties.length - 1) { error(property, ts.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } @@ -79663,7 +80354,7 @@ var ts; var inBoundsType = compilerOptions.noUncheckedIndexedAccess ? undefined : possiblyOutOfBoundsType; for (var i = 0; i < elements.length; i++) { var type = possiblyOutOfBoundsType; - if (node.elements[i].kind === 225 /* SyntaxKind.SpreadElement */) { + if (node.elements[i].kind === 227 /* SyntaxKind.SpreadElement */) { type = inBoundsType = inBoundsType !== null && inBoundsType !== void 0 ? inBoundsType : (checkIteratedTypeOrElementType(65 /* IterationUse.Destructuring */, sourceType, undefinedType, node) || errorType); } checkArrayLiteralDestructuringElementAssignment(node, sourceType, i, type, checkMode); @@ -79673,8 +80364,8 @@ var ts; function checkArrayLiteralDestructuringElementAssignment(node, sourceType, elementIndex, elementType, checkMode) { var elements = node.elements; var element = elements[elementIndex]; - if (element.kind !== 227 /* SyntaxKind.OmittedExpression */) { - if (element.kind !== 225 /* SyntaxKind.SpreadElement */) { + if (element.kind !== 229 /* SyntaxKind.OmittedExpression */) { + if (element.kind !== 227 /* SyntaxKind.SpreadElement */) { var indexType = getNumberLiteralType(elementIndex); if (isArrayLikeType(sourceType)) { // We create a synthetic expression so that getIndexedAccessType doesn't get confused @@ -79692,7 +80383,7 @@ var ts; } else { var restExpression = element.expression; - if (restExpression.kind === 221 /* SyntaxKind.BinaryExpression */ && restExpression.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { + if (restExpression.kind === 223 /* SyntaxKind.BinaryExpression */ && restExpression.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { error(restExpression.operatorToken, ts.Diagnostics.A_rest_element_cannot_have_an_initializer); } else { @@ -79708,7 +80399,7 @@ var ts; } function checkDestructuringAssignment(exprOrAssignment, sourceType, checkMode, rightIsThis) { var target; - if (exprOrAssignment.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (exprOrAssignment.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { var prop = exprOrAssignment; if (prop.objectAssignmentInitializer) { // In strict null checking mode, if a default value of a non-undefined type is specified, remove @@ -79724,7 +80415,7 @@ var ts; else { target = exprOrAssignment; } - if (target.kind === 221 /* SyntaxKind.BinaryExpression */ && target.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { + if (target.kind === 223 /* SyntaxKind.BinaryExpression */ && target.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { checkBinaryExpression(target, checkMode); target = target.left; // A default value is specified, so remove undefined from the final type. @@ -79732,20 +80423,20 @@ var ts; sourceType = getTypeWithFacts(sourceType, 524288 /* TypeFacts.NEUndefined */); } } - if (target.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (target.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { return checkObjectLiteralAssignment(target, sourceType, rightIsThis); } - if (target.kind === 204 /* SyntaxKind.ArrayLiteralExpression */) { + if (target.kind === 206 /* SyntaxKind.ArrayLiteralExpression */) { return checkArrayLiteralAssignment(target, sourceType, checkMode); } return checkReferenceAssignment(target, sourceType, checkMode); } function checkReferenceAssignment(target, sourceType, checkMode) { var targetType = checkExpression(target, checkMode); - var error = target.parent.kind === 298 /* SyntaxKind.SpreadAssignment */ ? + var error = target.parent.kind === 301 /* SyntaxKind.SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access; - var optionalError = target.parent.kind === 298 /* SyntaxKind.SpreadAssignment */ ? + var optionalError = target.parent.kind === 301 /* SyntaxKind.SpreadAssignment */ ? ts.Diagnostics.The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access : ts.Diagnostics.The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access; if (checkReferenceExpression(target, error, optionalError)) { @@ -79770,36 +80461,36 @@ var ts; case 79 /* SyntaxKind.Identifier */: case 10 /* SyntaxKind.StringLiteral */: case 13 /* SyntaxKind.RegularExpressionLiteral */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 223 /* SyntaxKind.TemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: case 8 /* SyntaxKind.NumericLiteral */: case 9 /* SyntaxKind.BigIntLiteral */: case 110 /* SyntaxKind.TrueKeyword */: case 95 /* SyntaxKind.FalseKeyword */: case 104 /* SyntaxKind.NullKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: - case 213 /* SyntaxKind.FunctionExpression */: - case 226 /* SyntaxKind.ClassExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 216 /* SyntaxKind.TypeOfExpression */: - case 230 /* SyntaxKind.NonNullExpression */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 278 /* SyntaxKind.JsxElement */: + case 155 /* SyntaxKind.UndefinedKeyword */: + case 215 /* SyntaxKind.FunctionExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: + case 232 /* SyntaxKind.NonNullExpression */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 281 /* SyntaxKind.JsxElement */: return true; - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return isSideEffectFree(node.whenTrue) && isSideEffectFree(node.whenFalse); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (ts.isAssignmentOperator(node.operatorToken.kind)) { return false; } return isSideEffectFree(node.left) && isSideEffectFree(node.right); - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: // Unary operators ~, !, +, and - have no side effects. // The rest do. switch (node.operator) { @@ -79811,9 +80502,9 @@ var ts; } return false; // Some forms listed here for clarity - case 217 /* SyntaxKind.VoidExpression */: // Explicit opt-out - case 211 /* SyntaxKind.TypeAssertionExpression */: // Not SEF, but can produce useful type warnings - case 229 /* SyntaxKind.AsExpression */: // Not SEF, but can produce useful type warnings + case 219 /* SyntaxKind.VoidExpression */: // Explicit opt-out + case 213 /* SyntaxKind.TypeAssertionExpression */: // Not SEF, but can produce useful type warnings + case 231 /* SyntaxKind.AsExpression */: // Not SEF, but can produce useful type warnings default: return false; } @@ -79850,7 +80541,7 @@ var ts; } checkGrammarNullishCoalesceWithLogicalExpression(node); var operator = node.operatorToken.kind; - if (operator === 63 /* SyntaxKind.EqualsToken */ && (node.left.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || node.left.kind === 204 /* SyntaxKind.ArrayLiteralExpression */)) { + if (operator === 63 /* SyntaxKind.EqualsToken */ && (node.left.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ || node.left.kind === 206 /* SyntaxKind.ArrayLiteralExpression */)) { state.skip = true; setLastResult(state, checkDestructuringAssignment(node.left, checkExpression(node.right, checkMode), checkMode, node.right.kind === 108 /* SyntaxKind.ThisKeyword */)); return state; @@ -79872,11 +80563,11 @@ var ts; if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */ || operator === 56 /* SyntaxKind.BarBarToken */ || operator === 60 /* SyntaxKind.QuestionQuestionToken */) { if (operator === 55 /* SyntaxKind.AmpersandAmpersandToken */) { var parent = node.parent; - while (parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */ + while (parent.kind === 214 /* SyntaxKind.ParenthesizedExpression */ || ts.isBinaryExpression(parent) && (parent.operatorToken.kind === 55 /* SyntaxKind.AmpersandAmpersandToken */ || parent.operatorToken.kind === 56 /* SyntaxKind.BarBarToken */)) { parent = parent.parent; } - checkTestingKnownTruthyCallableOrAwaitableType(node.left, ts.isIfStatement(parent) ? parent.thenStatement : undefined); + checkTestingKnownTruthyCallableOrAwaitableType(node.left, leftType, ts.isIfStatement(parent) ? parent.thenStatement : undefined); } checkTruthinessOfType(leftType, node.left); } @@ -79947,7 +80638,7 @@ var ts; // expression-wide checks and does not use a work stack to fold nested binary expressions into the same callstack frame function checkBinaryLikeExpression(left, operatorToken, right, checkMode, errorNode) { var operator = operatorToken.kind; - if (operator === 63 /* SyntaxKind.EqualsToken */ && (left.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || left.kind === 204 /* SyntaxKind.ArrayLiteralExpression */)) { + if (operator === 63 /* SyntaxKind.EqualsToken */ && (left.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ || left.kind === 206 /* SyntaxKind.ArrayLiteralExpression */)) { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode, right.kind === 108 /* SyntaxKind.ThisKeyword */); } var leftType; @@ -80103,6 +80794,7 @@ var ts; var eqType = operator === 34 /* SyntaxKind.EqualsEqualsToken */ || operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */; error(errorNode, ts.Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value, eqType ? "false" : "true"); } + checkNaNEquality(errorNode, operator, left, right); reportOperatorErrorUnless(function (left, right) { return isTypeEqualityComparableTo(left, right) || isTypeEqualityComparableTo(right, left); }); return booleanType; case 102 /* SyntaxKind.InstanceOfKeyword */: @@ -80298,20 +80990,35 @@ var ts; } } function tryGiveBetterPrimaryError(errNode, maybeMissingAwait, leftStr, rightStr) { - var typeName; switch (operatorToken.kind) { case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: case 34 /* SyntaxKind.EqualsEqualsToken */: - typeName = "false"; - break; case 37 /* SyntaxKind.ExclamationEqualsEqualsToken */: case 35 /* SyntaxKind.ExclamationEqualsToken */: - typeName = "true"; + return errorAndMaybeSuggestAwait(errNode, maybeMissingAwait, ts.Diagnostics.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap, leftStr, rightStr); + default: + return undefined; } - if (typeName) { - return errorAndMaybeSuggestAwait(errNode, maybeMissingAwait, ts.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap, typeName, leftStr, rightStr); + } + function checkNaNEquality(errorNode, operator, left, right) { + var isLeftNaN = isGlobalNaN(ts.skipParentheses(left)); + var isRightNaN = isGlobalNaN(ts.skipParentheses(right)); + if (isLeftNaN || isRightNaN) { + var err = error(errorNode, ts.Diagnostics.This_condition_will_always_return_0, ts.tokenToString(operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 34 /* SyntaxKind.EqualsEqualsToken */ ? 95 /* SyntaxKind.FalseKeyword */ : 110 /* SyntaxKind.TrueKeyword */)); + if (isLeftNaN && isRightNaN) + return; + var operatorString = operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */ ? ts.tokenToString(53 /* SyntaxKind.ExclamationToken */) : ""; + var location = isLeftNaN ? right : left; + var expression = ts.skipParentheses(location); + ts.addRelatedInfo(err, ts.createDiagnosticForNode(location, ts.Diagnostics.Did_you_mean_0, "".concat(operatorString, "Number.isNaN(").concat(ts.isEntityNameExpression(expression) ? ts.entityNameToString(expression) : "...", ")"))); } - return undefined; + } + function isGlobalNaN(expr) { + if (ts.isIdentifier(expr) && expr.escapedText === "NaN") { + var globalNaNSymbol = getGlobalNaNSymbol(); + return !!globalNaNSymbol && globalNaNSymbol === getResolvedSymbol(expr); + } + return false; } } function getBaseTypesIfUnrelated(leftType, rightType, isRelated) { @@ -80392,8 +81099,8 @@ var ts; } } function checkConditionalExpression(node, checkMode) { - checkTruthinessExpression(node.condition); - checkTestingKnownTruthyCallableOrAwaitableType(node.condition, node.whenTrue); + var type = checkTruthinessExpression(node.condition); + checkTestingKnownTruthyCallableOrAwaitableType(node.condition, type, node.whenTrue); var type1 = checkExpression(node.whenTrue, checkMode); var type2 = checkExpression(node.whenFalse, checkMode); return getUnionType([type1, type2], 2 /* UnionReduction.Subtype */); @@ -80422,7 +81129,7 @@ var ts; type.flags & 58982400 /* TypeFlags.InstantiableNonPrimitive */ && maybeTypeOfKind(getBaseConstraintOfType(type) || unknownType, 402653316 /* TypeFlags.StringLike */)); } function getContextNode(node) { - if (node.kind === 286 /* SyntaxKind.JsxAttributes */ && !ts.isJsxSelfClosingElement(node.parent)) { + if (node.kind === 289 /* SyntaxKind.JsxAttributes */ && !ts.isJsxSelfClosingElement(node.parent)) { return node.parent.parent; // Needs to be the root JsxElement, so it encompasses the attributes _and_ the children (which are essentially part of the attributes) } return node; @@ -80476,8 +81183,8 @@ var ts; } function isTypeAssertion(node) { node = ts.skipParentheses(node, /*excludeJSDocTypeAssertions*/ true); - return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */ || - node.kind === 229 /* SyntaxKind.AsExpression */ || + return node.kind === 213 /* SyntaxKind.TypeAssertionExpression */ || + node.kind === 231 /* SyntaxKind.AsExpression */ || ts.isJSDocTypeAssertion(node); } function checkDeclarationInitializer(declaration, checkMode, contextualType) { @@ -80486,7 +81193,7 @@ var ts; (contextualType ? checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || 0 /* CheckMode.Normal */) : checkExpressionCached(initializer, checkMode)); - return ts.isParameter(declaration) && declaration.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */ && + return ts.isParameter(declaration) && declaration.name.kind === 204 /* SyntaxKind.ArrayBindingPattern */ && isTupleType(type) && !type.target.hasRestElement && getTypeReferenceArity(type) < declaration.name.elements.length ? padTupleType(type, declaration.name) : type; } @@ -80496,7 +81203,7 @@ var ts; var elementFlags = type.target.elementFlags.slice(); for (var i = getTypeReferenceArity(type); i < patternElements.length; i++) { var e = patternElements[i]; - if (i < patternElements.length - 1 || !(e.kind === 203 /* SyntaxKind.BindingElement */ && e.dotDotDotToken)) { + if (i < patternElements.length - 1 || !(e.kind === 205 /* SyntaxKind.BindingElement */ && e.dotDotDotToken)) { elementTypes.push(!ts.isOmittedExpression(e) && hasDefaultValue(e) ? getTypeFromBindingElement(e, /*includePatternInType*/ false, /*reportErrors*/ false) : anyType); elementFlags.push(2 /* ElementFlags.Optional */); if (!ts.isOmittedExpression(e) && !hasDefaultValue(e)) { @@ -80564,7 +81271,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); } return checkExpressionForMutableLocation(node.initializer, checkMode); @@ -80575,7 +81282,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); } var uninstantiatedType = checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); @@ -80649,6 +81356,9 @@ var ts; function hasInferenceCandidates(info) { return !!(info.candidates || info.contraCandidates); } + function hasInferenceCandidatesOrDefault(info) { + return !!(info.candidates || info.contraCandidates || hasTypeParameterDefault(info.typeParameter)); + } function hasOverlappingInferences(a, b) { for (var i = 0; i < a.length; i++) { if (hasInferenceCandidates(a[i]) && hasInferenceCandidates(b[i])) { @@ -80818,11 +81528,11 @@ var ts; // - 'left' in property access // - 'object' in indexed access // - target in rhs of import statement - var ok = (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && node.parent.expression === node) || - (node.parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && node.parent.expression === node) || - ((node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 161 /* SyntaxKind.QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || - (node.parent.kind === 181 /* SyntaxKind.TypeQuery */ && node.parent.exprName === node)) || - (node.parent.kind === 275 /* SyntaxKind.ExportSpecifier */); // We allow reexporting const enums + var ok = (node.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && node.parent.expression === node) || + (node.parent.kind === 209 /* SyntaxKind.ElementAccessExpression */ && node.parent.expression === node) || + ((node.kind === 79 /* SyntaxKind.Identifier */ || node.kind === 163 /* SyntaxKind.QualifiedName */) && isInRightSideOfImportOrExportAssignment(node) || + (node.parent.kind === 183 /* SyntaxKind.TypeQuery */ && node.parent.exprName === node)) || + (node.parent.kind === 278 /* SyntaxKind.ExportSpecifier */); // We allow reexporting const enums if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } @@ -80847,9 +81557,9 @@ var ts; // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } } @@ -80880,80 +81590,82 @@ var ts; return trueType; case 95 /* SyntaxKind.FalseKeyword */: return falseType; - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: return checkTemplateExpression(node); case 13 /* SyntaxKind.RegularExpressionLiteral */: return globalRegExpType; - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return checkArrayLiteral(node, checkMode, forceTuple); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return checkObjectLiteral(node, checkMode); - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return checkPropertyAccessExpression(node, checkMode); - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return checkQualifiedName(node, checkMode); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return checkIndexedAccess(node, checkMode); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (node.expression.kind === 100 /* SyntaxKind.ImportKeyword */) { return checkImportCallExpression(node); } // falls through - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return checkCallExpression(node, checkMode); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return checkTaggedTemplateExpression(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return checkParenthesizedExpression(node, checkMode); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: return checkClassExpression(node); - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, checkMode); - case 216 /* SyntaxKind.TypeOfExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: return checkTypeOfExpression(node); - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 231 /* SyntaxKind.AsExpression */: return checkAssertion(node); - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return checkNonNullAssertion(node); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return checkExpressionWithTypeArguments(node); - case 231 /* SyntaxKind.MetaProperty */: + case 235 /* SyntaxKind.SatisfiesExpression */: + return checkSatisfiesExpression(node); + case 233 /* SyntaxKind.MetaProperty */: return checkMetaProperty(node); - case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.DeleteExpression */: return checkDeleteExpression(node); - case 217 /* SyntaxKind.VoidExpression */: + case 219 /* SyntaxKind.VoidExpression */: return checkVoidExpression(node); - case 218 /* SyntaxKind.AwaitExpression */: + case 220 /* SyntaxKind.AwaitExpression */: return checkAwaitExpression(node); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return checkPrefixUnaryExpression(node); - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return checkPostfixUnaryExpression(node); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return checkBinaryExpression(node, checkMode); - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return checkConditionalExpression(node, checkMode); - case 225 /* SyntaxKind.SpreadElement */: + case 227 /* SyntaxKind.SpreadElement */: return checkSpreadExpression(node, checkMode); - case 227 /* SyntaxKind.OmittedExpression */: + case 229 /* SyntaxKind.OmittedExpression */: return undefinedWideningType; - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return checkYieldExpression(node); - case 232 /* SyntaxKind.SyntheticExpression */: + case 234 /* SyntaxKind.SyntheticExpression */: return checkSyntheticExpression(node); - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return checkJsxExpression(node, checkMode); - case 278 /* SyntaxKind.JsxElement */: + case 281 /* SyntaxKind.JsxElement */: return checkJsxElement(node, checkMode); - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return checkJsxSelfClosingElement(node, checkMode); - case 282 /* SyntaxKind.JsxFragment */: + case 285 /* SyntaxKind.JsxFragment */: return checkJsxFragment(node); - case 286 /* SyntaxKind.JsxAttributes */: + case 289 /* SyntaxKind.JsxAttributes */: return checkJsxAttributes(node, checkMode); - case 280 /* SyntaxKind.JsxOpeningElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: ts.Debug.fail("Shouldn't ever directly check a JsxOpeningElement"); } return errorType; @@ -81012,10 +81724,10 @@ var ts; checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); if (ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */)) { - if (!(func.kind === 171 /* SyntaxKind.Constructor */ && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 173 /* SyntaxKind.Constructor */ && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } - if (func.kind === 171 /* SyntaxKind.Constructor */ && ts.isIdentifier(node.name) && node.name.escapedText === "constructor") { + if (func.kind === 173 /* SyntaxKind.Constructor */ && ts.isIdentifier(node.name) && node.name.escapedText === "constructor") { error(node.name, ts.Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name); } } @@ -81026,13 +81738,13 @@ var ts; if (func.parameters.indexOf(node) !== 0) { error(node, ts.Diagnostics.A_0_parameter_must_be_the_first_parameter, node.name.escapedText); } - if (func.kind === 171 /* SyntaxKind.Constructor */ || func.kind === 175 /* SyntaxKind.ConstructSignature */ || func.kind === 180 /* SyntaxKind.ConstructorType */) { + if (func.kind === 173 /* SyntaxKind.Constructor */ || func.kind === 177 /* SyntaxKind.ConstructSignature */ || func.kind === 182 /* SyntaxKind.ConstructorType */) { error(node, ts.Diagnostics.A_constructor_cannot_have_a_this_parameter); } - if (func.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (func.kind === 216 /* SyntaxKind.ArrowFunction */) { error(node, ts.Diagnostics.An_arrow_function_cannot_have_a_this_parameter); } - if (func.kind === 172 /* SyntaxKind.GetAccessor */ || func.kind === 173 /* SyntaxKind.SetAccessor */) { + if (func.kind === 174 /* SyntaxKind.GetAccessor */ || func.kind === 175 /* SyntaxKind.SetAccessor */) { error(node, ts.Diagnostics.get_and_set_accessors_cannot_declare_this_parameters); } } @@ -81067,7 +81779,7 @@ var ts; else { if (typePredicate.type) { var leadingError = function () { return ts.chainDiagnosticMessages(/*details*/ undefined, ts.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type); }; - checkTypeAssignableTo(typePredicate.type, getTypeOfSymbol(signature.parameters[typePredicate.parameterIndex]), node.type, + checkTypeAssignableTo(typePredicate.type, getTypeOfSymbol(signature.parameters[typePredicate.parameterIndex]), node.type, /*headMessage*/ undefined, leadingError); } } @@ -81090,13 +81802,13 @@ var ts; } function getTypePredicateParent(node) { switch (node.parent.kind) { - case 214 /* SyntaxKind.ArrowFunction */: - case 174 /* SyntaxKind.CallSignature */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 179 /* SyntaxKind.FunctionType */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 216 /* SyntaxKind.ArrowFunction */: + case 176 /* SyntaxKind.CallSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 181 /* SyntaxKind.FunctionType */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: var parent = node.parent; if (node === parent.type) { return parent; @@ -81114,7 +81826,7 @@ var ts; error(predicateVariableNode, ts.Diagnostics.A_type_predicate_cannot_reference_element_0_in_a_binding_pattern, predicateVariableName); return true; } - else if (name.kind === 202 /* SyntaxKind.ArrayBindingPattern */ || name.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { + else if (name.kind === 204 /* SyntaxKind.ArrayBindingPattern */ || name.kind === 203 /* SyntaxKind.ObjectBindingPattern */) { if (checkIfTypePredicateVariableIsDeclaredInBindingPattern(name, predicateVariableNode, predicateVariableName)) { return true; } @@ -81123,13 +81835,13 @@ var ts; } function checkSignatureDeclaration(node) { // Grammar checking - if (node.kind === 176 /* SyntaxKind.IndexSignature */) { + if (node.kind === 178 /* SyntaxKind.IndexSignature */) { checkGrammarIndexSignature(node); } // TODO (yuisu): Remove this check in else-if when SyntaxKind.Construct is moved and ambient context is handled - else if (node.kind === 179 /* SyntaxKind.FunctionType */ || node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 180 /* SyntaxKind.ConstructorType */ || - node.kind === 174 /* SyntaxKind.CallSignature */ || node.kind === 171 /* SyntaxKind.Constructor */ || - node.kind === 175 /* SyntaxKind.ConstructSignature */) { + else if (node.kind === 181 /* SyntaxKind.FunctionType */ || node.kind === 259 /* SyntaxKind.FunctionDeclaration */ || node.kind === 182 /* SyntaxKind.ConstructorType */ || + node.kind === 176 /* SyntaxKind.CallSignature */ || node.kind === 173 /* SyntaxKind.Constructor */ || + node.kind === 177 /* SyntaxKind.ConstructSignature */) { checkGrammarFunctionLikeDeclaration(node); } var functionFlags = ts.getFunctionFlags(node); @@ -81161,10 +81873,10 @@ var ts; var returnTypeNode = ts.getEffectiveReturnTypeNode(node); if (noImplicitAny && !returnTypeNode) { switch (node.kind) { - case 175 /* SyntaxKind.ConstructSignature */: + case 177 /* SyntaxKind.ConstructSignature */: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.CallSignature */: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -81194,7 +81906,7 @@ var ts; checkAsyncFunctionReturnType(node, returnTypeNode); } } - if (node.kind !== 176 /* SyntaxKind.IndexSignature */ && node.kind !== 317 /* SyntaxKind.JSDocFunctionType */) { + if (node.kind !== 178 /* SyntaxKind.IndexSignature */ && node.kind !== 320 /* SyntaxKind.JSDocFunctionType */) { registerForUnusedIdentifiersCheck(node); } } @@ -81206,7 +81918,7 @@ var ts; var privateIdentifiers = new ts.Map(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 171 /* SyntaxKind.Constructor */) { + if (member.kind === 173 /* SyntaxKind.Constructor */) { for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var param = _c[_b]; if (ts.isParameterPropertyDeclaration(param, member) && !ts.isBindingPattern(param.name)) { @@ -81228,16 +81940,16 @@ var ts; var memberName = name && ts.getPropertyNameForPropertyNameNode(name); if (memberName) { switch (member.kind) { - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: addName(names, name, memberName, 1 /* DeclarationMeaning.GetAccessor */ | privateStaticFlags); break; - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: addName(names, name, memberName, 2 /* DeclarationMeaning.SetAccessor */ | privateStaticFlags); break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: addName(names, name, memberName, 3 /* DeclarationMeaning.GetOrSetAccessor */ | privateStaticFlags); break; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: addName(names, name, memberName, 8 /* DeclarationMeaning.Method */ | privateStaticFlags); break; } @@ -81309,7 +82021,7 @@ var ts; var names = new ts.Map(); for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; - if (member.kind === 166 /* SyntaxKind.PropertySignature */) { + if (member.kind === 168 /* SyntaxKind.PropertySignature */) { var memberName = void 0; var name = member.name; switch (name.kind) { @@ -81334,7 +82046,7 @@ var ts; } } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (node.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { var nodeSymbol = getSymbolOfNode(node); // in case of merging interface declaration it is possible that we'll enter this check procedure several times for every declaration // to prevent this run check only for the first declaration of a given kind @@ -81382,7 +82094,7 @@ var ts; checkVariableLikeDeclaration(node); setNodeLinksForPrivateIdentifierScope(node); // property signatures already report "initializer not allowed in ambient context" elsewhere - if (ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */) && node.kind === 167 /* SyntaxKind.PropertyDeclaration */ && node.initializer) { + if (ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */) && node.kind === 169 /* SyntaxKind.PropertyDeclaration */ && node.initializer) { error(node, ts.Diagnostics.Property_0_cannot_have_an_initializer_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } } @@ -81402,7 +82114,7 @@ var ts; // Grammar checking for modifiers is done inside the function checkGrammarFunctionLikeDeclaration checkFunctionOrMethodDeclaration(node); // method signatures already report "implementation not allowed in ambient context" elsewhere - if (ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */) && node.kind === 169 /* SyntaxKind.MethodDeclaration */ && node.body) { + if (ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */) && node.kind === 171 /* SyntaxKind.MethodDeclaration */ && node.body) { error(node, ts.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract, ts.declarationNameToString(node.name)); } // Private named methods are only allowed in class declarations @@ -81455,7 +82167,7 @@ var ts; if (ts.isPrivateIdentifierClassElementDeclaration(n)) { return true; } - return n.kind === 167 /* SyntaxKind.PropertyDeclaration */ && + return n.kind === 169 /* SyntaxKind.PropertyDeclaration */ && !ts.isStatic(n) && !!n.initializer; } @@ -81538,7 +82250,7 @@ var ts; checkGrammarComputedPropertyName(node.name); checkDecorators(node); checkSignatureDeclaration(node); - if (node.kind === 172 /* SyntaxKind.GetAccessor */) { + if (node.kind === 174 /* SyntaxKind.GetAccessor */) { if (!(node.flags & 16777216 /* NodeFlags.Ambient */) && ts.nodeIsPresent(node.body) && (node.flags & 256 /* NodeFlags.HasImplicitReturn */)) { if (!(node.flags & 512 /* NodeFlags.HasExplicitReturn */)) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value); @@ -81548,20 +82260,20 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); } if (hasBindableName(node)) { // TypeScript 1.0 spec (April 2014): 8.4.3 // Accessors for the same member name must specify the same accessibility. var symbol = getSymbolOfNode(node); - var getter = ts.getDeclarationOfKind(symbol, 172 /* SyntaxKind.GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 173 /* SyntaxKind.SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 174 /* SyntaxKind.GetAccessor */); + var setter = ts.getDeclarationOfKind(symbol, 175 /* SyntaxKind.SetAccessor */); if (getter && setter && !(getNodeCheckFlags(getter) & 1 /* NodeCheckFlags.TypeChecked */)) { getNodeLinks(getter).flags |= 1 /* NodeCheckFlags.TypeChecked */; var getterFlags = ts.getEffectiveModifierFlags(getter); var setterFlags = ts.getEffectiveModifierFlags(setter); - if ((getterFlags & 128 /* ModifierFlags.Abstract */) !== (setterFlags & 128 /* ModifierFlags.Abstract */)) { + if ((getterFlags & 256 /* ModifierFlags.Abstract */) !== (setterFlags & 256 /* ModifierFlags.Abstract */)) { error(getter.name, ts.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract); error(setter.name, ts.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract); } @@ -81578,7 +82290,7 @@ var ts; } } var returnType = getTypeOfAccessors(getSymbolOfNode(node)); - if (node.kind === 172 /* SyntaxKind.GetAccessor */) { + if (node.kind === 174 /* SyntaxKind.GetAccessor */) { checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnType); } } @@ -81587,7 +82299,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -81624,7 +82336,7 @@ var ts; } function checkTypeReferenceNode(node) { checkGrammarTypeArguments(node, node.typeArguments); - if (node.kind === 178 /* SyntaxKind.TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJSFile(node) && !ts.isInJSDoc(node)) { + if (node.kind === 180 /* SyntaxKind.TypeReference */ && node.typeName.jsdocDotPos !== undefined && !ts.isInJSFile(node) && !ts.isInJSDoc(node)) { grammarErrorAtPos(node, node.typeName.jsdocDotPos, 1, ts.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments); } ts.forEach(node.typeArguments, checkSourceElement); @@ -81640,7 +82352,7 @@ var ts; } var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { - if (ts.some(symbol.declarations, function (d) { return isTypeDeclaration(d) && !!(d.flags & 268435456 /* NodeFlags.Deprecated */); })) { + if (ts.some(symbol.declarations, function (d) { return ts.isTypeDeclaration(d) && !!(d.flags & 268435456 /* NodeFlags.Deprecated */); })) { addDeprecatedSuggestion(getDeprecatedSuggestionNode(node), symbol.declarations, symbol.escapedName); } if (type.flags & 32 /* TypeFlags.Enum */ && symbol.flags & 8 /* SymbolFlags.EnumMember */) { @@ -81682,7 +82394,7 @@ var ts; var hasNamedElement = ts.some(elementTypes, ts.isNamedTupleMember); for (var _i = 0, elementTypes_1 = elementTypes; _i < elementTypes_1.length; _i++) { var e = elementTypes_1[_i]; - if (e.kind !== 197 /* SyntaxKind.NamedTupleMember */ && hasNamedElement) { + if (e.kind !== 199 /* SyntaxKind.NamedTupleMember */ && hasNamedElement) { grammarErrorOnNode(e, ts.Diagnostics.Tuple_members_must_all_have_names_or_all_not_have_names); break; } @@ -81731,7 +82443,7 @@ var ts; var objectType = type.objectType; var indexType = type.indexType; if (isTypeAssignableTo(indexType, getIndexType(objectType, /*stringsOnly*/ false))) { - if (accessNode.kind === 207 /* SyntaxKind.ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && + if (accessNode.kind === 209 /* SyntaxKind.ElementAccessExpression */ && ts.isAssignmentTarget(accessNode) && ts.getObjectFlags(objectType) & 32 /* ObjectFlags.Mapped */ && getMappedTypeModifiers(objectType) & 1 /* MappedTypeModifiers.IncludeReadonly */) { error(accessNode, ts.Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); } @@ -81796,7 +82508,7 @@ var ts; ts.forEachChild(node, checkSourceElement); } function checkInferType(node) { - if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 189 /* SyntaxKind.ConditionalType */ && n.parent.extendsType === n; })) { + if (!ts.findAncestor(node, function (n) { return n.parent && n.parent.kind === 191 /* SyntaxKind.ConditionalType */ && n.parent.extendsType === n; })) { grammarErrorOnNode(node, ts.Diagnostics.infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type); } checkSourceElement(node.typeParameter); @@ -81806,7 +82518,7 @@ var ts; if (!links.typeParametersChecked) { links.typeParametersChecked = true; var typeParameter = getDeclaredTypeOfTypeParameter(symbol); - var declarations = ts.getDeclarationsOfKind(symbol, 163 /* SyntaxKind.TypeParameter */); + var declarations = ts.getDeclarationsOfKind(symbol, 165 /* SyntaxKind.TypeParameter */); if (!areTypeParametersIdentical(declarations, [typeParameter], function (decl) { return [decl]; })) { // Report an error on every conflicting declaration. var name = symbolToString(symbol); @@ -81847,10 +82559,10 @@ var ts; if (node.dotDotDotToken && node.questionToken) { grammarErrorOnNode(node, ts.Diagnostics.A_tuple_member_cannot_be_both_optional_and_rest); } - if (node.type.kind === 185 /* SyntaxKind.OptionalType */) { + if (node.type.kind === 187 /* SyntaxKind.OptionalType */) { grammarErrorOnNode(node.type, ts.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type); } - if (node.type.kind === 186 /* SyntaxKind.RestType */) { + if (node.type.kind === 188 /* SyntaxKind.RestType */) { grammarErrorOnNode(node.type, ts.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type); } checkSourceElement(node.type); @@ -81863,9 +82575,9 @@ var ts; var flags = ts.getCombinedModifierFlags(n); // children of classes (even ambient classes) should not be marked as ambient or export // because those flags have no useful semantics there. - if (n.parent.kind !== 258 /* SyntaxKind.InterfaceDeclaration */ && - n.parent.kind !== 257 /* SyntaxKind.ClassDeclaration */ && - n.parent.kind !== 226 /* SyntaxKind.ClassExpression */ && + if (n.parent.kind !== 261 /* SyntaxKind.InterfaceDeclaration */ && + n.parent.kind !== 260 /* SyntaxKind.ClassDeclaration */ && + n.parent.kind !== 228 /* SyntaxKind.ClassExpression */ && n.flags & 16777216 /* NodeFlags.Ambient */) { if (!(flags & 2 /* ModifierFlags.Ambient */) && !(ts.isModuleBlock(n.parent) && ts.isModuleDeclaration(n.parent.parent) && ts.isGlobalScopeAugmentation(n.parent.parent))) { // It is nested in an ambient context, which means it is automatically exported @@ -81905,7 +82617,7 @@ var ts; else if (deviation & (8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */)) { error(ts.getNameOfDeclaration(o) || o, ts.Diagnostics.Overload_signatures_must_all_be_public_private_or_protected); } - else if (deviation & 128 /* ModifierFlags.Abstract */) { + else if (deviation & 256 /* ModifierFlags.Abstract */) { error(ts.getNameOfDeclaration(o), ts.Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract); } }); @@ -81922,7 +82634,7 @@ var ts; }); } } - var flagsToCheck = 1 /* ModifierFlags.Export */ | 2 /* ModifierFlags.Ambient */ | 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */ | 128 /* ModifierFlags.Abstract */; + var flagsToCheck = 1 /* ModifierFlags.Export */ | 2 /* ModifierFlags.Ambient */ | 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */ | 256 /* ModifierFlags.Abstract */; var someNodeFlags = 0 /* ModifierFlags.None */; var allNodeFlags = flagsToCheck; var someHaveQuestionToken = false; @@ -81961,7 +82673,7 @@ var ts; // Both are literal property names that are the same. ts.isPropertyNameLiteral(node.name) && ts.isPropertyNameLiteral(subsequentName) && ts.getEscapedTextOfIdentifierOrLiteral(node.name) === ts.getEscapedTextOfIdentifierOrLiteral(subsequentName))) { - var reportError = (node.kind === 169 /* SyntaxKind.MethodDeclaration */ || node.kind === 168 /* SyntaxKind.MethodSignature */) && + var reportError = (node.kind === 171 /* SyntaxKind.MethodDeclaration */ || node.kind === 170 /* SyntaxKind.MethodSignature */) && ts.isStatic(node) !== ts.isStatic(subsequentNode); // we can get here in two cases // 1. mixed static and instance class members @@ -81986,7 +82698,7 @@ var ts; else { // Report different errors regarding non-consecutive blocks of declarations depending on whether // the node in question is abstract. - if (ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)) { + if (ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */)) { error(errorNode, ts.Diagnostics.All_declarations_of_an_abstract_method_must_be_consecutive); } else { @@ -82003,7 +82715,7 @@ var ts; var current = declarations_5[_i]; var node = current; var inAmbientContext = node.flags & 16777216 /* NodeFlags.Ambient */; - var inAmbientContextOrInterface = node.parent && (node.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || node.parent.kind === 182 /* SyntaxKind.TypeLiteral */) || inAmbientContext; + var inAmbientContextOrInterface = node.parent && (node.parent.kind === 261 /* SyntaxKind.InterfaceDeclaration */ || node.parent.kind === 184 /* SyntaxKind.TypeLiteral */) || inAmbientContext; if (inAmbientContextOrInterface) { // check if declarations are consecutive only if they are non-ambient // 1. ambient declarations can be interleaved @@ -82014,10 +82726,10 @@ var ts; // 2. mixing ambient and non-ambient declarations is a separate error that will be reported - do not want to report an extra one previousDeclaration = undefined; } - if ((node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 226 /* SyntaxKind.ClassExpression */) && !inAmbientContext) { + if ((node.kind === 260 /* SyntaxKind.ClassDeclaration */ || node.kind === 228 /* SyntaxKind.ClassExpression */) && !inAmbientContext) { hasNonAmbientClass = true; } - if (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 169 /* SyntaxKind.MethodDeclaration */ || node.kind === 168 /* SyntaxKind.MethodSignature */ || node.kind === 171 /* SyntaxKind.Constructor */) { + if (node.kind === 259 /* SyntaxKind.FunctionDeclaration */ || node.kind === 171 /* SyntaxKind.MethodDeclaration */ || node.kind === 170 /* SyntaxKind.MethodSignature */ || node.kind === 173 /* SyntaxKind.Constructor */) { functionDeclarations.push(node); var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; @@ -82062,12 +82774,12 @@ var ts; }); } if (hasNonAmbientClass && !isConstructor && symbol.flags & 16 /* SymbolFlags.Function */ && declarations) { - var relatedDiagnostics_1 = ts.filter(declarations, function (d) { return d.kind === 257 /* SyntaxKind.ClassDeclaration */; }) + var relatedDiagnostics_1 = ts.filter(declarations, function (d) { return d.kind === 260 /* SyntaxKind.ClassDeclaration */; }) .map(function (d) { return ts.createDiagnosticForNode(d, ts.Diagnostics.Consider_adding_a_declare_modifier_to_this_class); }); ts.forEach(declarations, function (declaration) { - var diagnostic = declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ + var diagnostic = declaration.kind === 260 /* SyntaxKind.ClassDeclaration */ ? ts.Diagnostics.Class_declaration_cannot_implement_overload_list_for_0 - : declaration.kind === 256 /* SyntaxKind.FunctionDeclaration */ + : declaration.kind === 259 /* SyntaxKind.FunctionDeclaration */ ? ts.Diagnostics.Function_with_bodies_can_only_merge_with_classes_that_are_ambient : undefined; if (diagnostic) { @@ -82077,7 +82789,7 @@ var ts; } // Abstract methods can't have an implementation -- in particular, they don't need one. if (lastSeenNonAmbientDeclaration && !lastSeenNonAmbientDeclaration.body && - !ts.hasSyntacticModifier(lastSeenNonAmbientDeclaration, 128 /* ModifierFlags.Abstract */) && !lastSeenNonAmbientDeclaration.questionToken) { + !ts.hasSyntacticModifier(lastSeenNonAmbientDeclaration, 256 /* ModifierFlags.Abstract */) && !lastSeenNonAmbientDeclaration.questionToken) { reportImplementationExpectedError(lastSeenNonAmbientDeclaration); } if (hasOverloads) { @@ -82123,9 +82835,9 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var d = _a[_i]; var declarationSpaces = getDeclarationSpaces(d); - var effectiveDeclarationFlags = getEffectiveDeclarationFlags(d, 1 /* ModifierFlags.Export */ | 512 /* ModifierFlags.Default */); + var effectiveDeclarationFlags = getEffectiveDeclarationFlags(d, 1 /* ModifierFlags.Export */ | 1024 /* ModifierFlags.Default */); if (effectiveDeclarationFlags & 1 /* ModifierFlags.Export */) { - if (effectiveDeclarationFlags & 512 /* ModifierFlags.Default */) { + if (effectiveDeclarationFlags & 1024 /* ModifierFlags.Default */) { defaultExportedDeclarationSpaces |= declarationSpaces; } else { @@ -82158,26 +82870,26 @@ var ts; function getDeclarationSpaces(decl) { var d = decl; switch (d.kind) { - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: // A jsdoc typedef and callback are, by definition, type aliases. // falls through - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: return 2 /* DeclarationSpaces.ExportType */; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return ts.isAmbientModule(d) || ts.getModuleInstanceState(d) !== 0 /* ModuleInstanceState.NonInstantiated */ ? 4 /* DeclarationSpaces.ExportNamespace */ | 1 /* DeclarationSpaces.ExportValue */ : 4 /* DeclarationSpaces.ExportNamespace */; - case 257 /* SyntaxKind.ClassDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 299 /* SyntaxKind.EnumMember */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 302 /* SyntaxKind.EnumMember */: return 2 /* DeclarationSpaces.ExportType */ | 1 /* DeclarationSpaces.ExportValue */; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return 2 /* DeclarationSpaces.ExportType */ | 1 /* DeclarationSpaces.ExportValue */ | 4 /* DeclarationSpaces.ExportNamespace */; - case 271 /* SyntaxKind.ExportAssignment */: - case 221 /* SyntaxKind.BinaryExpression */: + case 274 /* SyntaxKind.ExportAssignment */: + case 223 /* SyntaxKind.BinaryExpression */: var node_2 = d; var expression = ts.isExportAssignment(node_2) ? node_2.expression : node_2.right; // Export assigned entity name expressions act as aliases and should fall through, otherwise they export values @@ -82187,19 +82899,19 @@ var ts; d = expression; // The below options all declare an Alias, which is allowed to merge with other values within the importing module. // falls through - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 268 /* SyntaxKind.NamespaceImport */: - case 267 /* SyntaxKind.ImportClause */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 271 /* SyntaxKind.NamespaceImport */: + case 270 /* SyntaxKind.ImportClause */: var result_12 = 0 /* DeclarationSpaces.None */; var target = resolveAlias(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { result_12 |= getDeclarationSpaces(d); }); return result_12; - case 254 /* SyntaxKind.VariableDeclaration */: - case 203 /* SyntaxKind.BindingElement */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 270 /* SyntaxKind.ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 + case 257 /* SyntaxKind.VariableDeclaration */: + case 205 /* SyntaxKind.BindingElement */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 273 /* SyntaxKind.ImportSpecifier */: // https://github.com/Microsoft/TypeScript/pull/7591 case 79 /* SyntaxKind.Identifier */: // https://github.com/microsoft/TypeScript/issues/36098 // Identifiers are used as declarations of assignment declarations whose parents may be // SyntaxKind.CallExpression - `Object.defineProperty(thing, "aField", {value: 42});` @@ -82243,7 +82955,7 @@ var ts; return typeAsPromise.promisedTypeOfPromise = getTypeArguments(type)[0]; } // primitives with a `{ then() }` won't be unwrapped/adopted. - if (allTypesAssignableToKind(type, 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) { + if (allTypesAssignableToKind(getBaseConstraintOrType(type), 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) { return undefined; } var thenFunction = getTypeOfPropertyOfType(type, "then"); // TODO: GH#18217 @@ -82310,7 +83022,7 @@ var ts; * Determines whether a type is an object with a callable `then` member. */ function isThenableType(type) { - if (allTypesAssignableToKind(type, 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) { + if (allTypesAssignableToKind(getBaseConstraintOrType(type), 131068 /* TypeFlags.Primitive */ | 131072 /* TypeFlags.Never */)) { // primitive types cannot be considered "thenable" since they are not objects. return false; } @@ -82344,7 +83056,7 @@ var ts; // We only need `Awaited` if `T` is a type variable that has no base constraint, or the base constraint of `T` is `any`, `unknown`, `{}`, `object`, // or is promise-like. if (baseConstraint ? - baseConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */ || isEmptyObjectType(baseConstraint) || isThenableType(baseConstraint) : + baseConstraint.flags & 3 /* TypeFlags.AnyOrUnknown */ || isEmptyObjectType(baseConstraint) || someType(baseConstraint, isThenableType) : maybeTypeOfKind(type, 8650752 /* TypeFlags.TypeVariable */)) { return true; } @@ -82612,20 +83324,20 @@ var ts; var headMessage; var expectedReturnType; switch (node.parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var classSymbol = getSymbolOfNode(node.parent); var classConstructorType = getTypeOfSymbol(classSymbol); expectedReturnType = getUnionType([classConstructorType, voidType]); break; - case 167 /* SyntaxKind.PropertyDeclaration */: - case 164 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.Parameter */: headMessage = ts.Diagnostics.Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any; expectedReturnType = voidType; break; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: headMessage = ts.Diagnostics.Decorator_function_return_type_0_is_not_assignable_to_type_1; var methodType = getTypeOfNode(node.parent); var descriptorType = createTypedPropertyDescriptorType(methodType); @@ -82684,15 +83396,15 @@ var ts; function getEntityNameForDecoratorMetadata(node) { if (node) { switch (node.kind) { - case 188 /* SyntaxKind.IntersectionType */: - case 187 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: + case 189 /* SyntaxKind.UnionType */: return getEntityNameForDecoratorMetadataFromTypeList(node.types); - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return getEntityNameForDecoratorMetadataFromTypeList([node.trueType, node.falseType]); - case 191 /* SyntaxKind.ParenthesizedType */: - case 197 /* SyntaxKind.NamedTupleMember */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 199 /* SyntaxKind.NamedTupleMember */: return getEntityNameForDecoratorMetadata(node.type); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return node.typeName; } } @@ -82701,13 +83413,13 @@ var ts; var commonEntityName; for (var _i = 0, types_21 = types; _i < types_21.length; _i++) { var typeNode = types_21[_i]; - while (typeNode.kind === 191 /* SyntaxKind.ParenthesizedType */ || typeNode.kind === 197 /* SyntaxKind.NamedTupleMember */) { + while (typeNode.kind === 193 /* SyntaxKind.ParenthesizedType */ || typeNode.kind === 199 /* SyntaxKind.NamedTupleMember */) { typeNode = typeNode.type; // Skip parens if need be } - if (typeNode.kind === 143 /* SyntaxKind.NeverKeyword */) { + if (typeNode.kind === 144 /* SyntaxKind.NeverKeyword */) { continue; // Always elide `never` from the union/intersection if possible } - if (!strictNullChecks && (typeNode.kind === 196 /* SyntaxKind.LiteralType */ && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */ || typeNode.kind === 153 /* SyntaxKind.UndefinedKeyword */)) { + if (!strictNullChecks && (typeNode.kind === 198 /* SyntaxKind.LiteralType */ && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */ || typeNode.kind === 155 /* SyntaxKind.UndefinedKeyword */)) { continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks } var individualEntityName = getEntityNameForDecoratorMetadata(typeNode); @@ -82753,14 +83465,14 @@ var ts; return; } checkExternalEmitHelpers(firstDecorator, 8 /* ExternalEmitHelpers.Decorate */); - if (node.kind === 164 /* SyntaxKind.Parameter */) { + if (node.kind === 166 /* SyntaxKind.Parameter */) { checkExternalEmitHelpers(firstDecorator, 32 /* ExternalEmitHelpers.Param */); } if (compilerOptions.emitDecoratorMetadata) { checkExternalEmitHelpers(firstDecorator, 16 /* ExternalEmitHelpers.Metadata */); // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: var constructor = ts.getFirstConstructorWithBody(node); if (constructor) { for (var _i = 0, _a = constructor.parameters; _i < _a.length; _i++) { @@ -82769,23 +83481,23 @@ var ts; } } break; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - var otherKind = node.kind === 172 /* SyntaxKind.GetAccessor */ ? 173 /* SyntaxKind.SetAccessor */ : 172 /* SyntaxKind.GetAccessor */; + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + var otherKind = node.kind === 174 /* SyntaxKind.GetAccessor */ ? 175 /* SyntaxKind.SetAccessor */ : 174 /* SyntaxKind.GetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(node), otherKind); markDecoratorMedataDataTypeNodeAsReferenced(getAnnotatedAccessorTypeNode(node) || otherAccessor && getAnnotatedAccessorTypeNode(otherAccessor)); break; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: for (var _b = 0, _c = node.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); } markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveReturnTypeNode(node)); break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: markDecoratorMedataDataTypeNodeAsReferenced(ts.getEffectiveTypeAnnotationNode(node)); break; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); var containingSignature = node.parent; for (var _d = 0, _e = containingSignature.parameters; _d < _e.length; _d++) { @@ -82887,7 +83599,7 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return node; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return node.name; default: return undefined; @@ -82901,7 +83613,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name && node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.name && node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { // This check will account for methods in class/interface declarations, // as well as accessors in classes/object literals checkComputedPropertyName(node.name); @@ -82927,7 +83639,7 @@ var ts; checkFunctionOrConstructorSymbol(symbol); } } - var body = node.kind === 168 /* SyntaxKind.MethodSignature */ ? undefined : node.body; + var body = node.kind === 170 /* SyntaxKind.MethodSignature */ ? undefined : node.body; checkSourceElement(body); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, getReturnTypeFromAnnotation(node)); addLazyDiagnostic(checkFunctionOrMethodDeclarationDiagnostics); @@ -82973,42 +83685,42 @@ var ts; for (var _i = 0, potentiallyUnusedIdentifiers_1 = potentiallyUnusedIdentifiers; _i < potentiallyUnusedIdentifiers_1.length; _i++) { var node = potentiallyUnusedIdentifiers_1[_i]; switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: checkUnusedClassMembers(node, addDiagnostic); checkUnusedTypeParameters(node, addDiagnostic); break; - case 305 /* SyntaxKind.SourceFile */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 235 /* SyntaxKind.Block */: - case 263 /* SyntaxKind.CaseBlock */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 308 /* SyntaxKind.SourceFile */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 238 /* SyntaxKind.Block */: + case 266 /* SyntaxKind.CaseBlock */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: checkUnusedLocalsAndParameters(node, addDiagnostic); break; - case 171 /* SyntaxKind.Constructor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: if (node.body) { // Don't report unused parameters in overloads checkUnusedLocalsAndParameters(node, addDiagnostic); } checkUnusedTypeParameters(node, addDiagnostic); break; - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: checkUnusedTypeParameters(node, addDiagnostic); break; - case 190 /* SyntaxKind.InferType */: + case 192 /* SyntaxKind.InferType */: checkUnusedInferTypeParameter(node, addDiagnostic); break; default: @@ -83018,7 +83730,7 @@ var ts; } function errorUnusedLocal(declaration, name, addDiagnostic) { var node = ts.getNameOfDeclaration(declaration) || declaration; - var message = isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; + var message = ts.isTypeDeclaration(declaration) ? ts.Diagnostics._0_is_declared_but_never_used : ts.Diagnostics._0_is_declared_but_its_value_is_never_read; addDiagnostic(declaration, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(node, message, name)); } function isIdentifierThatStartsWithUnderscore(node) { @@ -83028,11 +83740,11 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - if (member.kind === 173 /* SyntaxKind.SetAccessor */ && member.symbol.flags & 32768 /* SymbolFlags.GetAccessor */) { + case 171 /* SyntaxKind.MethodDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + if (member.kind === 175 /* SyntaxKind.SetAccessor */ && member.symbol.flags & 32768 /* SymbolFlags.GetAccessor */) { // Already would have reported an error on the getter. break; } @@ -83043,7 +83755,7 @@ var ts; addDiagnostic(member, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol))); } break; - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) { var parameter = _c[_b]; if (!parameter.symbol.isReferenced && ts.hasSyntacticModifier(parameter, 8 /* ModifierFlags.Private */)) { @@ -83051,9 +83763,9 @@ var ts; } } break; - case 176 /* SyntaxKind.IndexSignature */: - case 234 /* SyntaxKind.SemicolonClassElement */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 178 /* SyntaxKind.IndexSignature */: + case 237 /* SyntaxKind.SemicolonClassElement */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: // Can't be private break; default: @@ -83081,7 +83793,7 @@ var ts; continue; var name = ts.idText(typeParameter.name); var parent = typeParameter.parent; - if (parent.kind !== 190 /* SyntaxKind.InferType */ && parent.typeParameters.every(isTypeParameterUnused)) { + if (parent.kind !== 192 /* SyntaxKind.InferType */ && parent.typeParameters.every(isTypeParameterUnused)) { if (ts.tryAddToSet(seenParentsWithEveryUnused, parent)) { var sourceFile = ts.getSourceFileOfNode(parent); var range = ts.isJSDocTemplateTag(parent) @@ -83187,7 +83899,7 @@ var ts; var importDecl = importClause.parent; var nDeclarations = (importClause.name ? 1 : 0) + (importClause.namedBindings ? - (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) + (importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */ ? 1 : importClause.namedBindings.elements.length) : 0); if (nDeclarations === unuseds.length) { addDiagnostic(importDecl, 0 /* UnusedKind.Local */, unuseds.length === 1 @@ -83205,7 +83917,7 @@ var ts; var bindingPattern = _a[0], bindingElements = _a[1]; var kind = tryGetRootParameterDeclaration(bindingPattern.parent) ? 1 /* UnusedKind.Parameter */ : 0 /* UnusedKind.Local */; if (bindingPattern.elements.length === bindingElements.length) { - if (bindingElements.length === 1 && bindingPattern.parent.kind === 254 /* SyntaxKind.VariableDeclaration */ && bindingPattern.parent.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (bindingElements.length === 1 && bindingPattern.parent.kind === 257 /* SyntaxKind.VariableDeclaration */ && bindingPattern.parent.parent.kind === 258 /* SyntaxKind.VariableDeclarationList */) { addToGroup(unusedVariables, bindingPattern.parent.parent, bindingPattern.parent, getNodeId); } else { @@ -83226,7 +83938,7 @@ var ts; if (declarationList.declarations.length === declarations.length) { addDiagnostic(declarationList, 0 /* UnusedKind.Local */, declarations.length === 1 ? ts.createDiagnosticForNode(ts.first(declarations).name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, bindingNameText(ts.first(declarations).name)) - : ts.createDiagnosticForNode(declarationList.parent.kind === 237 /* SyntaxKind.VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); + : ts.createDiagnosticForNode(declarationList.parent.kind === 240 /* SyntaxKind.VariableStatement */ ? declarationList.parent : declarationList, ts.Diagnostics.All_variables_are_unused)); } else { for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { @@ -83256,22 +83968,22 @@ var ts; switch (name.kind) { case 79 /* SyntaxKind.Identifier */: return ts.idText(name); - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 201 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: return bindingNameText(ts.cast(ts.first(name.elements), ts.isBindingElement).name); default: return ts.Debug.assertNever(name); } } function isImportedDeclaration(node) { - return node.kind === 267 /* SyntaxKind.ImportClause */ || node.kind === 270 /* SyntaxKind.ImportSpecifier */ || node.kind === 268 /* SyntaxKind.NamespaceImport */; + return node.kind === 270 /* SyntaxKind.ImportClause */ || node.kind === 273 /* SyntaxKind.ImportSpecifier */ || node.kind === 271 /* SyntaxKind.NamespaceImport */; } function importClauseFromImported(decl) { - return decl.kind === 267 /* SyntaxKind.ImportClause */ ? decl : decl.kind === 268 /* SyntaxKind.NamespaceImport */ ? decl.parent : decl.parent.parent; + return decl.kind === 270 /* SyntaxKind.ImportClause */ ? decl : decl.kind === 271 /* SyntaxKind.NamespaceImport */ ? decl.parent : decl.parent.parent; } function checkBlock(node) { // Grammar checking for SyntaxKind.Block - if (node.kind === 235 /* SyntaxKind.Block */) { + if (node.kind === 238 /* SyntaxKind.Block */) { checkGrammarStatementInAmbientContext(node); } if (ts.isFunctionOrModuleBlock(node)) { @@ -83306,13 +84018,13 @@ var ts; if ((identifier === null || identifier === void 0 ? void 0 : identifier.escapedText) !== name) { return false; } - if (node.kind === 167 /* SyntaxKind.PropertyDeclaration */ || - node.kind === 166 /* SyntaxKind.PropertySignature */ || - node.kind === 169 /* SyntaxKind.MethodDeclaration */ || - node.kind === 168 /* SyntaxKind.MethodSignature */ || - node.kind === 172 /* SyntaxKind.GetAccessor */ || - node.kind === 173 /* SyntaxKind.SetAccessor */ || - node.kind === 296 /* SyntaxKind.PropertyAssignment */) { + if (node.kind === 169 /* SyntaxKind.PropertyDeclaration */ || + node.kind === 168 /* SyntaxKind.PropertySignature */ || + node.kind === 171 /* SyntaxKind.MethodDeclaration */ || + node.kind === 170 /* SyntaxKind.MethodSignature */ || + node.kind === 174 /* SyntaxKind.GetAccessor */ || + node.kind === 175 /* SyntaxKind.SetAccessor */ || + node.kind === 299 /* SyntaxKind.PropertyAssignment */) { // it is ok to have member named '_super', '_this', `Promise`, etc. - member access is always qualified return false; } @@ -83378,7 +84090,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { + if (parent.kind === 308 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(parent)) { // If the declaration happens to be in external module, report error that require and exports are reserved keywords errorSkippedOn("noEmit", name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -83393,7 +84105,7 @@ var ts; } // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent var parent = getDeclarationContainer(node); - if (parent.kind === 305 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 2048 /* NodeFlags.HasAsyncFunctions */) { + if (parent.kind === 308 /* SyntaxKind.SourceFile */ && ts.isExternalOrCommonJsModule(parent) && parent.flags & 2048 /* NodeFlags.HasAsyncFunctions */) { // If the declaration happens to be in external module, report error that Promise is a reserved identifier. errorSkippedOn("noEmit", name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions, ts.declarationNameToString(name), ts.declarationNameToString(name)); } @@ -83493,7 +84205,7 @@ var ts; // skip variable declarations that don't have initializers // NOTE: in ES6 spec initializer is required in variable declarations where name is binding pattern // so we'll always treat binding elements as initialized - if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ && !node.initializer) { + if (node.kind === 257 /* SyntaxKind.VariableDeclaration */ && !node.initializer) { return; } var symbol = getSymbolOfNode(node); @@ -83505,17 +84217,17 @@ var ts; localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2 /* SymbolFlags.BlockScopedVariable */) { if (getDeclarationNodeFlagsFromSymbol(localDeclarationSymbol) & 3 /* NodeFlags.BlockScoped */) { - var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 255 /* SyntaxKind.VariableDeclarationList */); - var container = varDeclList.parent.kind === 237 /* SyntaxKind.VariableStatement */ && varDeclList.parent.parent + var varDeclList = ts.getAncestor(localDeclarationSymbol.valueDeclaration, 258 /* SyntaxKind.VariableDeclarationList */); + var container = varDeclList.parent.kind === 240 /* SyntaxKind.VariableStatement */ && varDeclList.parent.parent ? varDeclList.parent.parent : undefined; // names of block-scoped and function scoped variables can collide only // if block scoped variable is defined in the function\module\source file scope (because of variable hoisting) var namesShareScope = container && - (container.kind === 235 /* SyntaxKind.Block */ && ts.isFunctionLike(container.parent) || - container.kind === 262 /* SyntaxKind.ModuleBlock */ || - container.kind === 261 /* SyntaxKind.ModuleDeclaration */ || - container.kind === 305 /* SyntaxKind.SourceFile */); + (container.kind === 238 /* SyntaxKind.Block */ && ts.isFunctionLike(container.parent) || + container.kind === 265 /* SyntaxKind.ModuleBlock */ || + container.kind === 264 /* SyntaxKind.ModuleDeclaration */ || + container.kind === 308 /* SyntaxKind.SourceFile */); // here we know that function scoped variable is shadowed by block scoped one // if they are defined in the same scope - binder has already reported redeclaration error // otherwise if variable has an initializer - show error that initialization will fail @@ -83546,7 +84258,7 @@ var ts; // Do not use hasDynamicName here, because that returns false for well known symbols. // We want to perform checkComputedPropertyName for all computed properties, including // well known symbols. - if (node.name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.name); if (ts.hasOnlyExpressionInitializer(node) && node.initializer) { checkExpressionCached(node.initializer); @@ -83568,7 +84280,7 @@ var ts; checkExternalEmitHelpers(node, 4 /* ExternalEmitHelpers.Rest */); } // check computed properties inside property names of binding elements - if (node.propertyName && node.propertyName.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.propertyName && node.propertyName.kind === 164 /* SyntaxKind.ComputedPropertyName */) { checkComputedPropertyName(node.propertyName); } // check private/protected variable access @@ -83590,7 +84302,7 @@ var ts; } // For a binding pattern, check contained binding elements if (ts.isBindingPattern(node.name)) { - if (node.name.kind === 202 /* SyntaxKind.ArrayBindingPattern */ && languageVersion < 2 /* ScriptTarget.ES2015 */ && compilerOptions.downlevelIteration) { + if (node.name.kind === 204 /* SyntaxKind.ArrayBindingPattern */ && languageVersion < 2 /* ScriptTarget.ES2015 */ && compilerOptions.downlevelIteration) { checkExternalEmitHelpers(node, 512 /* ExternalEmitHelpers.Read */); } ts.forEach(node.name.elements, checkSourceElement); @@ -83602,7 +84314,7 @@ var ts; } // For a binding pattern, validate the initializer and exit if (ts.isBindingPattern(node.name)) { - var needCheckInitializer = ts.hasOnlyExpressionInitializer(node) && node.initializer && node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */; + var needCheckInitializer = ts.hasOnlyExpressionInitializer(node) && node.initializer && node.parent.parent.kind !== 246 /* SyntaxKind.ForInStatement */; var needCheckWidenedType = !ts.some(node.name.elements, ts.not(ts.isOmittedExpression)); if (needCheckInitializer || needCheckWidenedType) { // Don't validate for-in initializer as it is already an error @@ -83630,7 +84342,7 @@ var ts; } // For a commonjs `const x = require`, validate the alias and exit var symbol = getSymbolOfNode(node); - if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node.kind === 203 /* SyntaxKind.BindingElement */ ? node.parent.parent : node)) { + if (symbol.flags & 2097152 /* SymbolFlags.Alias */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(node.kind === 205 /* SyntaxKind.BindingElement */ ? node.parent.parent : node)) { checkAliasSymbol(node); return; } @@ -83644,7 +84356,7 @@ var ts; ts.isObjectLiteralExpression(initializer) && (initializer.properties.length === 0 || ts.isPrototypeAccess(node.name)) && !!((_a = symbol.exports) === null || _a === void 0 ? void 0 : _a.size); - if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */) { + if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== 246 /* SyntaxKind.ForInStatement */) { checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(initializer), type, node, initializer, /*headMessage*/ undefined); } } @@ -83670,10 +84382,10 @@ var ts; error(node.name, ts.Diagnostics.All_declarations_of_0_must_have_identical_modifiers, ts.declarationNameToString(node.name)); } } - if (node.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && node.kind !== 166 /* SyntaxKind.PropertySignature */) { + if (node.kind !== 169 /* SyntaxKind.PropertyDeclaration */ && node.kind !== 168 /* SyntaxKind.PropertySignature */) { // We know we don't have a binding pattern or computed name here checkExportsOnMergedDeclarations(node); - if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { + if (node.kind === 257 /* SyntaxKind.VariableDeclaration */ || node.kind === 205 /* SyntaxKind.BindingElement */) { checkVarDeclaredNamesNotShadowed(node); } checkCollisionsForDeclarationName(node, node.name); @@ -83681,7 +84393,7 @@ var ts; } function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstDeclaration, firstType, nextDeclaration, nextType) { var nextDeclarationName = ts.getNameOfDeclaration(nextDeclaration); - var message = nextDeclaration.kind === 167 /* SyntaxKind.PropertyDeclaration */ || nextDeclaration.kind === 166 /* SyntaxKind.PropertySignature */ + var message = nextDeclaration.kind === 169 /* SyntaxKind.PropertyDeclaration */ || nextDeclaration.kind === 168 /* SyntaxKind.PropertySignature */ ? ts.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; var declName = ts.declarationNameToString(nextDeclarationName); @@ -83691,8 +84403,8 @@ var ts; } } function areDeclarationFlagsIdentical(left, right) { - if ((left.kind === 164 /* SyntaxKind.Parameter */ && right.kind === 254 /* SyntaxKind.VariableDeclaration */) || - (left.kind === 254 /* SyntaxKind.VariableDeclaration */ && right.kind === 164 /* SyntaxKind.Parameter */)) { + if ((left.kind === 166 /* SyntaxKind.Parameter */ && right.kind === 257 /* SyntaxKind.VariableDeclaration */) || + (left.kind === 257 /* SyntaxKind.VariableDeclaration */ && right.kind === 166 /* SyntaxKind.Parameter */)) { // Differences in optionality between parameters and variables are allowed. return true; } @@ -83701,8 +84413,8 @@ var ts; } var interestingFlags = 8 /* ModifierFlags.Private */ | 16 /* ModifierFlags.Protected */ | - 256 /* ModifierFlags.Async */ | - 128 /* ModifierFlags.Abstract */ | + 512 /* ModifierFlags.Async */ | + 256 /* ModifierFlags.Abstract */ | 64 /* ModifierFlags.Readonly */ | 32 /* ModifierFlags.Static */; return ts.getSelectedEffectiveModifierFlags(left, interestingFlags) === ts.getSelectedEffectiveModifierFlags(right, interestingFlags); @@ -83731,15 +84443,15 @@ var ts; function checkIfStatement(node) { // Grammar checking checkGrammarStatementInAmbientContext(node); - checkTruthinessExpression(node.expression); - checkTestingKnownTruthyCallableOrAwaitableType(node.expression, node.thenStatement); + var type = checkTruthinessExpression(node.expression); + checkTestingKnownTruthyCallableOrAwaitableType(node.expression, type, node.thenStatement); checkSourceElement(node.thenStatement); - if (node.thenStatement.kind === 236 /* SyntaxKind.EmptyStatement */) { + if (node.thenStatement.kind === 239 /* SyntaxKind.EmptyStatement */) { error(node.thenStatement, ts.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement); } checkSourceElement(node.elseStatement); } - function checkTestingKnownTruthyCallableOrAwaitableType(condExpr, body) { + function checkTestingKnownTruthyCallableOrAwaitableType(condExpr, condType, body) { if (!strictNullChecks) return; helper(condExpr, body); @@ -83754,7 +84466,7 @@ var ts; : condExpr; if (ts.isModuleExportsAccessExpression(location)) return; - var type = checkTruthinessExpression(location); + var type = location === condExpr ? condType : checkTruthinessExpression(location); var isPropertyExpressionCast = ts.isPropertyAccessExpression(location) && isTypeAssertion(location.expression); if (!(getTypeFacts(type) & 4194304 /* TypeFacts.Truthy */) || isPropertyExpressionCast) return; @@ -83780,7 +84492,7 @@ var ts; || testedSymbol && body && isSymbolUsedInConditionBody(condExpr, body, testedNode, testedSymbol); if (!isUsed) { if (isPromise) { - errorAndMaybeSuggestAwait(location, + errorAndMaybeSuggestAwait(location, /*maybeMissingAwait*/ true, ts.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined, getTypeNameForErrorDisplay(type)); } else { @@ -83868,12 +84580,12 @@ var ts; function checkForStatement(node) { // Grammar checking if (!checkGrammarStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.initializer && node.initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -83913,14 +84625,14 @@ var ts; // via checkRightHandSideOfForOf. // If the LHS is an expression, check the LHS, as a destructuring assignment or as a reference. // Then check that the RHS is assignable to it. - if (node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { checkForInOrForOfVariableDeclaration(node); } else { var varExpr = node.initializer; var iteratedType = checkRightHandSideOfForOf(node); // There may be a destructuring assignment on the left side - if (varExpr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ || varExpr.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (varExpr.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ || varExpr.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { // iteratedType may be undefined. In this case, we still want to check the structure of // varExpr, in particular making sure it's a valid LeftHandSideExpression. But we'd like // to short circuit the type relation checking as much as possible, so we pass the unknownType. @@ -83952,7 +84664,7 @@ var ts; // for (let VarDecl in Expr) Statement // VarDecl must be a variable declaration without a type annotation that declares a variable of type Any, // and Expr must be an expression of type Any, an object type, or a type parameter type. - if (node.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { var variable = node.initializer.declarations[0]; if (variable && ts.isBindingPattern(variable.name)) { error(variable.name, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); @@ -83966,7 +84678,7 @@ var ts; // and Expr must be an expression of type Any, an object type, or a type parameter type. var varExpr = node.initializer; var leftType = checkExpression(varExpr); - if (varExpr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ || varExpr.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (varExpr.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ || varExpr.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { error(varExpr, ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern); } else if (!isTypeAssignableTo(getIndexTypeOrString(rightType), leftType)) { @@ -84448,7 +85160,16 @@ var ts; var message = allowAsyncIterables ? ts.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator : ts.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator; - return errorAndMaybeSuggestAwait(errorNode, !!getAwaitedTypeOfPromise(type), message, typeToString(type)); + var suggestAwait = + // for (const x of Promise<...>) or [...Promise<...>] + !!getAwaitedTypeOfPromise(type) + // for (const x of AsyncIterable<...>) + || (!allowAsyncIterables && + ts.isForOfStatement(errorNode.parent) && + errorNode.parent.expression === errorNode && + getGlobalAsyncIterableType(/** reportErrors */ false) !== emptyGenericType && + isTypeAssignableTo(type, getGlobalAsyncIterableType(/** reportErrors */ false))); + return errorAndMaybeSuggestAwait(errorNode, suggestAwait, message, typeToString(type)); } /** * Gets the *yield*, *return*, and *next* types from an `Iterator`-like or `AsyncIterator`-like type. @@ -84766,12 +85487,12 @@ var ts; var functionFlags = ts.getFunctionFlags(container); if (strictNullChecks || node.expression || returnType.flags & 131072 /* TypeFlags.Never */) { var exprType = node.expression ? checkExpressionCached(node.expression) : undefinedType; - if (container.kind === 173 /* SyntaxKind.SetAccessor */) { + if (container.kind === 175 /* SyntaxKind.SetAccessor */) { if (node.expression) { error(node, ts.Diagnostics.Setters_cannot_return_a_value); } } - else if (container.kind === 171 /* SyntaxKind.Constructor */) { + else if (container.kind === 173 /* SyntaxKind.Constructor */) { if (node.expression && !checkTypeAssignableToAndOptionallyElaborate(exprType, returnType, node, node.expression)) { error(node, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -84789,7 +85510,7 @@ var ts; } } } - else if (container.kind !== 171 /* SyntaxKind.Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(container, returnType)) { + else if (container.kind !== 173 /* SyntaxKind.Constructor */ && compilerOptions.noImplicitReturns && !isUnwrappedReturnTypeVoidOrAny(container, returnType)) { // The function has a return type, but the return statement doesn't have an expression. error(node, ts.Diagnostics.Not_all_code_paths_return_a_value); } @@ -84818,7 +85539,7 @@ var ts; var expressionIsLiteral = isLiteralType(expressionType); ts.forEach(node.caseBlock.clauses, function (clause) { // Grammar check for duplicate default clauses, skip if we already report duplicate default clause - if (clause.kind === 290 /* SyntaxKind.DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 293 /* SyntaxKind.DefaultClause */ && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -84827,7 +85548,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (clause.kind === 289 /* SyntaxKind.CaseClause */) { + if (clause.kind === 292 /* SyntaxKind.CaseClause */) { addLazyDiagnostic(createLazyCaseClauseDiagnostics(clause)); } ts.forEach(clause.statements, checkSourceElement); @@ -84864,7 +85585,7 @@ var ts; if (ts.isFunctionLike(current)) { return "quit"; } - if (current.kind === 250 /* SyntaxKind.LabeledStatement */ && current.label.escapedText === node.label.escapedText) { + if (current.kind === 253 /* SyntaxKind.LabeledStatement */ && current.label.escapedText === node.label.escapedText) { grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNode(node.label)); return true; } @@ -84959,9 +85680,9 @@ var ts; return; } var indexInfos = getApplicableIndexInfos(type, propNameType); - var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* SyntaxKind.InterfaceDeclaration */) : undefined; - var propDeclaration = declaration && declaration.kind === 221 /* SyntaxKind.BinaryExpression */ || - name && name.kind === 162 /* SyntaxKind.ComputedPropertyName */ ? declaration : undefined; + var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 261 /* SyntaxKind.InterfaceDeclaration */) : undefined; + var propDeclaration = declaration && declaration.kind === 223 /* SyntaxKind.BinaryExpression */ || + name && name.kind === 164 /* SyntaxKind.ComputedPropertyName */ ? declaration : undefined; var localPropDeclaration = getParentOfSymbol(prop) === type.symbol ? declaration : undefined; var _loop_30 = function (info) { var localIndexDeclaration = info.declaration && getParentOfSymbol(getSymbolOfNode(info.declaration)) === type.symbol ? info.declaration : undefined; @@ -84986,7 +85707,7 @@ var ts; function checkIndexConstraintForIndexSignature(type, checkInfo) { var declaration = checkInfo.declaration; var indexInfos = getApplicableIndexInfos(type, checkInfo.keyType); - var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 258 /* SyntaxKind.InterfaceDeclaration */) : undefined; + var interfaceDeclaration = ts.getObjectFlags(type) & 2 /* ObjectFlags.Interface */ ? ts.getDeclarationOfKind(type.symbol, 261 /* SyntaxKind.InterfaceDeclaration */) : undefined; var localCheckDeclaration = declaration && getParentOfSymbol(getSymbolOfNode(declaration)) === type.symbol ? declaration : undefined; var _loop_31 = function (info) { if (info === checkInfo) @@ -85058,7 +85779,7 @@ var ts; } else { ts.forEach(jsdocParameters, function (_a, index) { - var name = _a.name; + var name = _a.name, isNameFirst = _a.isNameFirst; if (excludedParameters.has(index) || ts.isIdentifier(name) && parameters.has(name.escapedText)) { return; } @@ -85068,7 +85789,9 @@ var ts; } } else { - errorOrSuggestion(isJs, name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(name)); + if (!isNameFirst) { + errorOrSuggestion(isJs, name, ts.Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, ts.idText(name)); + } } }); } @@ -85106,7 +85829,7 @@ var ts; function checkTypeParametersNotReferenced(root, typeParameters, index) { visit(root); function visit(node) { - if (node.kind === 178 /* SyntaxKind.TypeReference */) { + if (node.kind === 180 /* SyntaxKind.TypeReference */) { var type = getTypeFromTypeReference(node); if (type.flags & 262144 /* TypeFlags.TypeParameter */) { for (var i = index; i < typeParameters.length; i++) { @@ -85196,7 +85919,7 @@ var ts; if (firstDecorator && ts.some(node.members, function (p) { return ts.hasStaticModifier(p) && ts.isPrivateIdentifierClassElementDeclaration(p); })) { grammarErrorOnNode(firstDecorator, ts.Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator); } - if (!node.name && !ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { + if (!node.name && !ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */)) { grammarErrorOnFirstToken(node, ts.Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name); } checkClassLikeDeclaration(node); @@ -85263,7 +85986,7 @@ var ts; } else { var constructSignatures = getSignaturesOfType(baseConstructorType, 1 /* SignatureKind.Construct */); - if (constructSignatures.some(function (signature) { return signature.flags & 4 /* SignatureFlags.Abstract */; }) && !ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)) { + if (constructSignatures.some(function (signature) { return signature.flags & 4 /* SignatureFlags.Abstract */; }) && !ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */)) { error(node.name || node, ts.Diagnostics.A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract); } } @@ -85330,12 +86053,12 @@ var ts; if (ts.isConstructorDeclaration(member)) { ts.forEach(member.parameters, function (param) { if (ts.isParameterPropertyDeclaration(param, member)) { - checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, param, + checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, param, /* memberIsParameterProperty */ true); } }); } - checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, member, + checkExistingMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, member, /* memberIsParameterProperty */ false); }; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { @@ -85488,7 +86211,7 @@ var ts; ? ts.hasOverrideModifier(member) : ts.hasSyntacticModifier(member, 16384 /* ModifierFlags.Override */); var memberName = ts.unescapeLeadingUnderscores(ts.getTextOfPropertyName(member.name)); - return checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, ts.hasAbstractModifier(member), ts.isStatic(member), + return checkMemberForOverrideModifier(node, staticType, baseStaticType, baseWithThis, type, typeWithThis, memberHasOverrideModifier, ts.hasAbstractModifier(member), ts.isStatic(member), /* memberIsParameterProperty */ false, memberName); } function getTargetSymbol(s) { @@ -85498,7 +86221,7 @@ var ts; } function getClassOrInterfaceDeclarationsOfSymbol(symbol) { return ts.filter(symbol.declarations, function (d) { - return d.kind === 257 /* SyntaxKind.ClassDeclaration */ || d.kind === 258 /* SyntaxKind.InterfaceDeclaration */; + return d.kind === 260 /* SyntaxKind.ClassDeclaration */ || d.kind === 261 /* SyntaxKind.InterfaceDeclaration */; }); } function checkKindsOfPropertyMemberOverrides(type, baseType) { @@ -85539,7 +86262,7 @@ var ts; // It is an error to inherit an abstract member without implementing it or being declared abstract. // If there is no declaration for the derived class (as in the case of class expressions), // then the class cannot be declared abstract. - if (baseDeclarationFlags & 128 /* ModifierFlags.Abstract */ && (!derivedClassDecl || !ts.hasSyntacticModifier(derivedClassDecl, 128 /* ModifierFlags.Abstract */))) { + if (baseDeclarationFlags & 256 /* ModifierFlags.Abstract */ && (!derivedClassDecl || !ts.hasSyntacticModifier(derivedClassDecl, 256 /* ModifierFlags.Abstract */))) { // Searches other base types for a declaration that would satisfy the inherited abstract member. // (The class may have more than one base type via declaration merging with an interface with the // same name.) @@ -85553,7 +86276,7 @@ var ts; return "continue-basePropertyCheck"; } } - if (derivedClassDecl.kind === 226 /* SyntaxKind.ClassExpression */) { + if (derivedClassDecl.kind === 228 /* SyntaxKind.ClassExpression */) { error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType)); } else { @@ -85588,11 +86311,11 @@ var ts; error(ts.getNameOfDeclaration(derived.valueDeclaration) || derived.valueDeclaration, errorMessage_1, symbolToString(base), typeToString(baseType), typeToString(type)); } else if (useDefineForClassFields) { - var uninitialized = (_c = derived.declarations) === null || _c === void 0 ? void 0 : _c.find(function (d) { return d.kind === 167 /* SyntaxKind.PropertyDeclaration */ && !d.initializer; }); + var uninitialized = (_c = derived.declarations) === null || _c === void 0 ? void 0 : _c.find(function (d) { return d.kind === 169 /* SyntaxKind.PropertyDeclaration */ && !d.initializer; }); if (uninitialized && !(derived.flags & 33554432 /* SymbolFlags.Transient */) - && !(baseDeclarationFlags & 128 /* ModifierFlags.Abstract */) - && !(derivedDeclarationFlags & 128 /* ModifierFlags.Abstract */) + && !(baseDeclarationFlags & 256 /* ModifierFlags.Abstract */) + && !(derivedDeclarationFlags & 256 /* ModifierFlags.Abstract */) && !((_d = derived.declarations) === null || _d === void 0 ? void 0 : _d.some(function (d) { return !!(d.flags & 16777216 /* NodeFlags.Ambient */); }))) { var constructor = findConstructorDeclaration(ts.getClassLikeDeclarationOfSymbol(type.symbol)); var propName = uninitialized.name; @@ -85635,7 +86358,7 @@ var ts; } } function isPropertyAbstractOrInterface(declaration, baseDeclarationFlags) { - return baseDeclarationFlags & 128 /* ModifierFlags.Abstract */ && (!ts.isPropertyDeclaration(declaration) || !declaration.initializer) + return baseDeclarationFlags & 256 /* ModifierFlags.Abstract */ && (!ts.isPropertyDeclaration(declaration) || !declaration.initializer) || ts.isInterfaceDeclaration(declaration.parent); } function getNonInheritedProperties(type, baseTypes, properties) { @@ -85717,7 +86440,7 @@ var ts; } } function isPropertyWithoutInitializer(node) { - return node.kind === 167 /* SyntaxKind.PropertyDeclaration */ && + return node.kind === 169 /* SyntaxKind.PropertyDeclaration */ && !ts.hasAbstractModifier(node) && !node.exclamationToken && !node.initializer; @@ -85760,7 +86483,7 @@ var ts; var symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(symbol); // Only check this symbol once - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 258 /* SyntaxKind.InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 261 /* SyntaxKind.InterfaceDeclaration */); if (node === firstInterfaceDecl) { var type = getDeclaredTypeOfSymbol(symbol); var typeWithThis = getTypeWithThisArgument(type); @@ -85793,7 +86516,7 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Type_alias_name_cannot_be_0); checkExportsOnMergedDeclarations(node); checkTypeParameters(node.typeParameters); - if (node.type.kind === 138 /* SyntaxKind.IntrinsicKeyword */) { + if (node.type.kind === 139 /* SyntaxKind.IntrinsicKeyword */) { if (!intrinsicTypeKinds.has(node.name.escapedText) || ts.length(node.typeParameters) !== 1) { error(node.type, ts.Diagnostics.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types); } @@ -85879,7 +86602,7 @@ var ts; return value; function evaluate(expr) { switch (expr.kind) { - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: var value_2 = evaluate(expr.operand); if (typeof value_2 === "number") { switch (expr.operator) { @@ -85889,7 +86612,7 @@ var ts; } } break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: var left = evaluate(expr.left); var right = evaluate(expr.right); if (typeof left === "number" && typeof right === "number") { @@ -85918,7 +86641,7 @@ var ts; case 8 /* SyntaxKind.NumericLiteral */: checkGrammarNumericLiteral(expr); return +expr.text; - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return evaluate(expr.expression); case 79 /* SyntaxKind.Identifier */: var identifier = expr; @@ -85926,13 +86649,13 @@ var ts; return +(identifier.escapedText); } return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText); - case 207 /* SyntaxKind.ElementAccessExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: if (isConstantMemberAccess(expr)) { var type = getTypeOfExpression(expr.expression); if (type.symbol && type.symbol.flags & 384 /* SymbolFlags.Enum */) { var name = void 0; - if (expr.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (expr.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { name = expr.name.escapedText; } else { @@ -85969,8 +86692,8 @@ var ts; return false; } return node.kind === 79 /* SyntaxKind.Identifier */ || - node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || - node.kind === 207 /* SyntaxKind.ElementAccessExpression */ && isConstantMemberAccess(node.expression) && + node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && isConstantMemberAccess(node.expression) || + node.kind === 209 /* SyntaxKind.ElementAccessExpression */ && isConstantMemberAccess(node.expression) && ts.isStringLiteralLike(node.argumentExpression); } function checkEnumDeclaration(node) { @@ -86004,7 +86727,7 @@ var ts; var seenEnumMissingInitialInitializer_1 = false; ts.forEach(enumSymbol.declarations, function (declaration) { // return true if we hit a violation of the rule, false otherwise - if (declaration.kind !== 260 /* SyntaxKind.EnumDeclaration */) { + if (declaration.kind !== 263 /* SyntaxKind.EnumDeclaration */) { return false; } var enumDeclaration = declaration; @@ -86033,8 +86756,8 @@ var ts; if (declarations) { for (var _i = 0, declarations_9 = declarations; _i < declarations_9.length; _i++) { var declaration = declarations_9[_i]; - if ((declaration.kind === 257 /* SyntaxKind.ClassDeclaration */ || - (declaration.kind === 256 /* SyntaxKind.FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && + if ((declaration.kind === 260 /* SyntaxKind.ClassDeclaration */ || + (declaration.kind === 259 /* SyntaxKind.FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && !(declaration.flags & 16777216 /* NodeFlags.Ambient */)) { return declaration; } @@ -86105,7 +86828,7 @@ var ts; } // if the module merges with a class declaration in the same lexical scope, // we need to track this to ensure the correct emit. - var mergedClass = ts.getDeclarationOfKind(symbol, 257 /* SyntaxKind.ClassDeclaration */); + var mergedClass = ts.getDeclarationOfKind(symbol, 260 /* SyntaxKind.ClassDeclaration */); if (mergedClass && inSameLexicalScope(node, mergedClass)) { getNodeLinks(node).flags |= 32768 /* NodeCheckFlags.LexicalModuleMergesWithClass */; @@ -86148,56 +86871,43 @@ var ts; } } function checkModuleAugmentationElement(node, isGlobalAugmentation) { - var _a; switch (node.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: // error each individual name in variable statement instead of marking the entire variable statement - for (var _i = 0, _b = node.declarationList.declarations; _i < _b.length; _i++) { - var decl = _b[_i]; + for (var _i = 0, _a = node.declarationList.declarations; _i < _a.length; _i++) { + var decl = _a[_i]; checkModuleAugmentationElement(decl, isGlobalAugmentation); } break; - case 271 /* SyntaxKind.ExportAssignment */: - case 272 /* SyntaxKind.ExportDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: + case 275 /* SyntaxKind.ExportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: grammarErrorOnFirstToken(node, ts.Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; - case 203 /* SyntaxKind.BindingElement */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 205 /* SyntaxKind.BindingElement */: + case 257 /* SyntaxKind.VariableDeclaration */: var name = node.name; if (ts.isBindingPattern(name)) { - for (var _c = 0, _d = name.elements; _c < _d.length; _c++) { - var el = _d[_c]; + for (var _b = 0, _c = name.elements; _b < _c.length; _b++) { + var el = _c[_b]; // mark individual names in binding pattern checkModuleAugmentationElement(el, isGlobalAugmentation); } break; } // falls through - case 257 /* SyntaxKind.ClassDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: if (isGlobalAugmentation) { return; } - var symbol = getSymbolOfNode(node); - if (symbol) { - // module augmentations cannot introduce new names on the top level scope of the module - // this is done it two steps - // 1. quick check - if symbol for node is not merged - this is local symbol to this augmentation - report error - // 2. main check - report error if value declaration of the parent symbol is module augmentation) - var reportError = !(symbol.flags & 33554432 /* SymbolFlags.Transient */); - if (!reportError) { - // symbol should not originate in augmentation - reportError = !!((_a = symbol.parent) === null || _a === void 0 ? void 0 : _a.declarations) && ts.isExternalModuleAugmentation(symbol.parent.declarations[0]); - } - } break; } } @@ -86205,12 +86915,12 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return node; - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: do { node = node.left; } while (node.kind !== 79 /* SyntaxKind.Identifier */); return node; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: do { if (ts.isModuleExportsAccessExpression(node.expression) && !ts.isPrivateIdentifier(node.name)) { return node.name; @@ -86230,9 +86940,9 @@ var ts; error(moduleName, ts.Diagnostics.String_literal_expected); return false; } - var inAmbientExternalModule = node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - if (node.parent.kind !== 305 /* SyntaxKind.SourceFile */ && !inAmbientExternalModule) { - error(moduleName, node.kind === 272 /* SyntaxKind.ExportDeclaration */ ? + var inAmbientExternalModule = node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + if (node.parent.kind !== 308 /* SyntaxKind.SourceFile */ && !inAmbientExternalModule) { + error(moduleName, node.kind === 275 /* SyntaxKind.ExportDeclaration */ ? ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace : ts.Diagnostics.Import_declarations_in_a_namespace_cannot_reference_a_module); return false; @@ -86279,8 +86989,8 @@ var ts; var errorNode = ts.isImportOrExportSpecifier(node) ? node.propertyName || node.name : ts.isNamedDeclaration(node) ? node.name : node; - ts.Debug.assert(node.kind !== 274 /* SyntaxKind.NamespaceExport */); - if (node.kind === 275 /* SyntaxKind.ExportSpecifier */) { + ts.Debug.assert(node.kind !== 277 /* SyntaxKind.NamespaceExport */); + if (node.kind === 278 /* SyntaxKind.ExportSpecifier */) { var diag = error(errorNode, ts.Diagnostics.Types_cannot_appear_in_export_declarations_in_JavaScript_files); var alreadyExportedSymbol = (_b = (_a = ts.getSourceFileOfNode(node).symbol) === null || _a === void 0 ? void 0 : _a.exports) === null || _b === void 0 ? void 0 : _b.get((node.propertyName || node.name).escapedText); if (alreadyExportedSymbol === target) { @@ -86291,7 +87001,7 @@ var ts; } } else { - ts.Debug.assert(node.kind !== 254 /* SyntaxKind.VariableDeclaration */); + ts.Debug.assert(node.kind !== 257 /* SyntaxKind.VariableDeclaration */); var importDeclaration = ts.findAncestor(node, ts.or(ts.isImportDeclaration, ts.isImportEqualsDeclaration)); var moduleSpecifier = (_e = (importDeclaration && ((_d = ts.tryGetModuleSpecifierFromDeclaration(importDeclaration)) === null || _d === void 0 ? void 0 : _d.text))) !== null && _e !== void 0 ? _e : "..."; var importedIdentifier = ts.unescapeLeadingUnderscores(ts.isIdentifier(errorNode) ? errorNode.escapedText : symbol.escapedName); @@ -86299,11 +87009,12 @@ var ts; } return; } + var targetFlags = getAllSymbolFlags(target); var excludedMeanings = (symbol.flags & (111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */) ? 111551 /* SymbolFlags.Value */ : 0) | (symbol.flags & 788968 /* SymbolFlags.Type */ ? 788968 /* SymbolFlags.Type */ : 0) | (symbol.flags & 1920 /* SymbolFlags.Namespace */ ? 1920 /* SymbolFlags.Namespace */ : 0); - if (target.flags & excludedMeanings) { - var message = node.kind === 275 /* SyntaxKind.ExportSpecifier */ ? + if (targetFlags & excludedMeanings) { + var message = node.kind === 278 /* SyntaxKind.ExportSpecifier */ ? ts.Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; error(node, message, symbolToString(symbol)); @@ -86312,26 +87023,26 @@ var ts; && !ts.isTypeOnlyImportOrExportDeclaration(node) && !(node.flags & 16777216 /* NodeFlags.Ambient */)) { var typeOnlyAlias = getTypeOnlyAliasDeclaration(symbol); - var isType = !(target.flags & 111551 /* SymbolFlags.Value */); + var isType = !(targetFlags & 111551 /* SymbolFlags.Value */); if (isType || typeOnlyAlias) { switch (node.kind) { - case 267 /* SyntaxKind.ImportClause */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: { + case 270 /* SyntaxKind.ImportClause */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: { if (compilerOptions.preserveValueImports) { ts.Debug.assertIsDefined(node.name, "An ImportClause with a symbol should have a name"); var message = isType ? ts.Diagnostics._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled : ts.Diagnostics._0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled; - var name = ts.idText(node.kind === 270 /* SyntaxKind.ImportSpecifier */ ? node.propertyName || node.name : node.name); + var name = ts.idText(node.kind === 273 /* SyntaxKind.ImportSpecifier */ ? node.propertyName || node.name : node.name); addTypeOnlyDeclarationRelatedInfo(error(node, message, name), isType ? undefined : typeOnlyAlias, name); } - if (isType && node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* ModifierFlags.Export */)) { + if (isType && node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ && ts.hasEffectiveModifier(node, 1 /* ModifierFlags.Export */)) { error(node, ts.Diagnostics.Cannot_use_export_import_on_a_type_or_type_only_namespace_when_the_isolatedModules_flag_is_provided); } break; } - case 275 /* SyntaxKind.ExportSpecifier */: { + case 278 /* SyntaxKind.ExportSpecifier */: { // Don't allow re-exporting an export that will be elided when `--isolatedModules` is set. // The exception is that `import type { A } from './a'; export { A }` is allowed // because single-file analysis can determine that the export should be dropped. @@ -86390,7 +87101,7 @@ var ts; function checkImportBinding(node) { checkCollisionsForDeclarationName(node, node.name); checkAliasSymbol(node); - if (node.kind === 270 /* SyntaxKind.ImportSpecifier */ && + if (node.kind === 273 /* SyntaxKind.ImportSpecifier */ && ts.idText(node.propertyName || node.name) === "default" && ts.getESModuleInterop(compilerOptions) && moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) { @@ -86440,7 +87151,7 @@ var ts; checkImportBinding(importClause); } if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { checkImportBinding(importClause.namedBindings); if (moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && ts.getESModuleInterop(compilerOptions)) { // import * as ns from "foo"; @@ -86469,17 +87180,18 @@ var ts; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { markExportAsReferenced(node); } - if (node.moduleReference.kind !== 277 /* SyntaxKind.ExternalModuleReference */) { + if (node.moduleReference.kind !== 280 /* SyntaxKind.ExternalModuleReference */) { var target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { - if (target.flags & 111551 /* SymbolFlags.Value */) { + var targetFlags = getAllSymbolFlags(target); + if (targetFlags & 111551 /* SymbolFlags.Value */) { // Target is a value symbol, check that it is not hidden by a local declaration with the same name var moduleName = ts.getFirstIdentifier(node.moduleReference); if (!(resolveEntityName(moduleName, 111551 /* SymbolFlags.Value */ | 1920 /* SymbolFlags.Namespace */).flags & 1920 /* SymbolFlags.Namespace */)) { error(moduleName, ts.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, ts.declarationNameToString(moduleName)); } } - if (target.flags & 788968 /* SymbolFlags.Type */) { + if (targetFlags & 788968 /* SymbolFlags.Type */) { checkTypeNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0); } } @@ -86512,10 +87224,10 @@ var ts; // export { x, y } // export { x, y } from "foo" ts.forEach(node.exportClause.elements, checkExportSpecifier); - var inAmbientExternalModule = node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.isAmbientModule(node.parent.parent); - var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ && + var inAmbientExternalModule = node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ && ts.isAmbientModule(node.parent.parent); + var inAmbientNamespaceDeclaration = !inAmbientExternalModule && node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ && !node.moduleSpecifier && node.flags & 16777216 /* NodeFlags.Ambient */; - if (node.parent.kind !== 305 /* SyntaxKind.SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { + if (node.parent.kind !== 308 /* SyntaxKind.SourceFile */ && !inAmbientExternalModule && !inAmbientNamespaceDeclaration) { error(node, ts.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace); } } @@ -86550,7 +87262,7 @@ var ts; function checkGrammarExportDeclaration(node) { var _a; if (node.isTypeOnly) { - if (((_a = node.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === 273 /* SyntaxKind.NamedExports */) { + if (((_a = node.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === 276 /* SyntaxKind.NamedExports */) { return checkGrammarNamedImportsOrExports(node.exportClause); } else { @@ -86560,7 +87272,7 @@ var ts; return false; } function checkGrammarModuleElementContext(node, errorMessage) { - var isInAppropriateContext = node.parent.kind === 305 /* SyntaxKind.SourceFile */ || node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 261 /* SyntaxKind.ModuleDeclaration */; + var isInAppropriateContext = node.parent.kind === 308 /* SyntaxKind.SourceFile */ || node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 264 /* SyntaxKind.ModuleDeclaration */; if (!isInAppropriateContext) { grammarErrorOnFirstToken(node, errorMessage); } @@ -86608,7 +87320,7 @@ var ts; if (!node.parent.parent.moduleSpecifier) { var exportedName = node.propertyName || node.name; // find immediate value referenced by exported name (SymbolFlags.Alias is set so we don't chase down aliases) - var symbol = resolveName(exportedName, exportedName.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, + var symbol = resolveName(exportedName, exportedName.escapedText, 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); if (symbol && (symbol === undefinedSymbol || symbol === globalThisSymbol || symbol.declarations && isGlobalSourceFile(getDeclarationContainer(symbol.declarations[0])))) { error(exportedName, ts.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, ts.idText(exportedName)); @@ -86618,7 +87330,7 @@ var ts; markExportAsReferenced(node); } var target = symbol && (symbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(symbol) : symbol); - if (!target || target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { + if (!target || getAllSymbolFlags(target) & 111551 /* SymbolFlags.Value */) { checkExpressionCached(node.propertyName || node.name); } } @@ -86640,8 +87352,8 @@ var ts; // If we hit an export assignment in an illegal context, just bail out to avoid cascading errors. return; } - var container = node.parent.kind === 305 /* SyntaxKind.SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 261 /* SyntaxKind.ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 308 /* SyntaxKind.SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 264 /* SyntaxKind.ModuleDeclaration */ && !ts.isAmbientModule(container)) { if (node.isExportEquals) { error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace); } @@ -86665,7 +87377,7 @@ var ts; markAliasReferenced(sym, id); // If not a value, we're interpreting the identifier as a type export, along the lines of (`export { Id as default }`) var target = sym.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(sym) : sym; - if (target === unknownSymbol || target.flags & 111551 /* SymbolFlags.Value */) { + if (getAllSymbolFlags(target) & 111551 /* SymbolFlags.Value */) { // However if it is a value, we need to check it's being used correctly checkExpressionCached(node.expression); } @@ -86773,181 +87485,181 @@ var ts; // Only bother checking on a few construct kinds. We don't want to be excessively // hitting the cancellation token on every node we check. switch (kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: cancellationToken.throwIfCancellationRequested(); } } - if (kind >= 237 /* SyntaxKind.FirstStatement */ && kind <= 253 /* SyntaxKind.LastStatement */ && node.flowNode && !isReachableFlowNode(node.flowNode)) { + if (kind >= 240 /* SyntaxKind.FirstStatement */ && kind <= 256 /* SyntaxKind.LastStatement */ && node.flowNode && !isReachableFlowNode(node.flowNode)) { errorOrSuggestion(compilerOptions.allowUnreachableCode === false, node, ts.Diagnostics.Unreachable_code_detected); } switch (kind) { - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: return checkTypeParameter(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return checkParameter(node); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return checkPropertyDeclaration(node); - case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.PropertySignature */: return checkPropertySignature(node); - case 180 /* SyntaxKind.ConstructorType */: - case 179 /* SyntaxKind.FunctionType */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 176 /* SyntaxKind.IndexSignature */: + case 182 /* SyntaxKind.ConstructorType */: + case 181 /* SyntaxKind.FunctionType */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 178 /* SyntaxKind.IndexSignature */: return checkSignatureDeclaration(node); - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: return checkMethodDeclaration(node); - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return checkClassStaticBlockDeclaration(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return checkConstructorDeclaration(node); - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return checkAccessorDeclaration(node); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return checkTypeReferenceNode(node); - case 177 /* SyntaxKind.TypePredicate */: + case 179 /* SyntaxKind.TypePredicate */: return checkTypePredicate(node); - case 181 /* SyntaxKind.TypeQuery */: + case 183 /* SyntaxKind.TypeQuery */: return checkTypeQuery(node); - case 182 /* SyntaxKind.TypeLiteral */: + case 184 /* SyntaxKind.TypeLiteral */: return checkTypeLiteral(node); - case 183 /* SyntaxKind.ArrayType */: + case 185 /* SyntaxKind.ArrayType */: return checkArrayType(node); - case 184 /* SyntaxKind.TupleType */: + case 186 /* SyntaxKind.TupleType */: return checkTupleType(node); - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: return checkUnionOrIntersectionType(node); - case 191 /* SyntaxKind.ParenthesizedType */: - case 185 /* SyntaxKind.OptionalType */: - case 186 /* SyntaxKind.RestType */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 187 /* SyntaxKind.OptionalType */: + case 188 /* SyntaxKind.RestType */: return checkSourceElement(node.type); - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: return checkThisType(node); - case 193 /* SyntaxKind.TypeOperator */: + case 195 /* SyntaxKind.TypeOperator */: return checkTypeOperator(node); - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return checkConditionalType(node); - case 190 /* SyntaxKind.InferType */: + case 192 /* SyntaxKind.InferType */: return checkInferType(node); - case 198 /* SyntaxKind.TemplateLiteralType */: + case 200 /* SyntaxKind.TemplateLiteralType */: return checkTemplateLiteralType(node); - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return checkImportType(node); - case 197 /* SyntaxKind.NamedTupleMember */: + case 199 /* SyntaxKind.NamedTupleMember */: return checkNamedTupleMember(node); - case 328 /* SyntaxKind.JSDocAugmentsTag */: + case 331 /* SyntaxKind.JSDocAugmentsTag */: return checkJSDocAugmentsTag(node); - case 329 /* SyntaxKind.JSDocImplementsTag */: + case 332 /* SyntaxKind.JSDocImplementsTag */: return checkJSDocImplementsTag(node); - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: return checkJSDocTypeAliasTag(node); - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: return checkJSDocTemplateTag(node); - case 343 /* SyntaxKind.JSDocTypeTag */: + case 346 /* SyntaxKind.JSDocTypeTag */: return checkJSDocTypeTag(node); - case 324 /* SyntaxKind.JSDocLink */: - case 325 /* SyntaxKind.JSDocLinkCode */: - case 326 /* SyntaxKind.JSDocLinkPlain */: + case 327 /* SyntaxKind.JSDocLink */: + case 328 /* SyntaxKind.JSDocLinkCode */: + case 329 /* SyntaxKind.JSDocLinkPlain */: return checkJSDocLinkLikeTag(node); - case 340 /* SyntaxKind.JSDocParameterTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: return checkJSDocParameterTag(node); - case 347 /* SyntaxKind.JSDocPropertyTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: return checkJSDocPropertyTag(node); - case 317 /* SyntaxKind.JSDocFunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: checkJSDocFunctionType(node); // falls through - case 315 /* SyntaxKind.JSDocNonNullableType */: - case 314 /* SyntaxKind.JSDocNullableType */: - case 312 /* SyntaxKind.JSDocAllType */: - case 313 /* SyntaxKind.JSDocUnknownType */: - case 322 /* SyntaxKind.JSDocTypeLiteral */: + case 318 /* SyntaxKind.JSDocNonNullableType */: + case 317 /* SyntaxKind.JSDocNullableType */: + case 315 /* SyntaxKind.JSDocAllType */: + case 316 /* SyntaxKind.JSDocUnknownType */: + case 325 /* SyntaxKind.JSDocTypeLiteral */: checkJSDocTypeIsInJsFile(node); ts.forEachChild(node, checkSourceElement); return; - case 318 /* SyntaxKind.JSDocVariadicType */: + case 321 /* SyntaxKind.JSDocVariadicType */: checkJSDocVariadicType(node); return; - case 309 /* SyntaxKind.JSDocTypeExpression */: + case 312 /* SyntaxKind.JSDocTypeExpression */: return checkSourceElement(node.type); - case 333 /* SyntaxKind.JSDocPublicTag */: - case 335 /* SyntaxKind.JSDocProtectedTag */: - case 334 /* SyntaxKind.JSDocPrivateTag */: + case 336 /* SyntaxKind.JSDocPublicTag */: + case 338 /* SyntaxKind.JSDocProtectedTag */: + case 337 /* SyntaxKind.JSDocPrivateTag */: return checkJSDocAccessibilityModifiers(node); - case 194 /* SyntaxKind.IndexedAccessType */: + case 196 /* SyntaxKind.IndexedAccessType */: return checkIndexedAccessType(node); - case 195 /* SyntaxKind.MappedType */: + case 197 /* SyntaxKind.MappedType */: return checkMappedType(node); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return checkFunctionDeclaration(node); - case 235 /* SyntaxKind.Block */: - case 262 /* SyntaxKind.ModuleBlock */: + case 238 /* SyntaxKind.Block */: + case 265 /* SyntaxKind.ModuleBlock */: return checkBlock(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return checkVariableStatement(node); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return checkExpressionStatement(node); - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: return checkIfStatement(node); - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: return checkDoStatement(node); - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: return checkWhileStatement(node); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return checkForStatement(node); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return checkForInStatement(node); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return checkForOfStatement(node); - case 245 /* SyntaxKind.ContinueStatement */: - case 246 /* SyntaxKind.BreakStatement */: + case 248 /* SyntaxKind.ContinueStatement */: + case 249 /* SyntaxKind.BreakStatement */: return checkBreakOrContinueStatement(node); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return checkReturnStatement(node); - case 248 /* SyntaxKind.WithStatement */: + case 251 /* SyntaxKind.WithStatement */: return checkWithStatement(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return checkSwitchStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return checkLabeledStatement(node); - case 251 /* SyntaxKind.ThrowStatement */: + case 254 /* SyntaxKind.ThrowStatement */: return checkThrowStatement(node); - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: return checkTryStatement(node); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return checkVariableDeclaration(node); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return checkBindingElement(node); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return checkClassDeclaration(node); - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return checkInterfaceDeclaration(node); - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return checkTypeAliasDeclaration(node); - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return checkEnumDeclaration(node); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return checkModuleDeclaration(node); - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return checkImportDeclaration(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return checkImportEqualsDeclaration(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return checkExportDeclaration(node); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return checkExportAssignment(node); - case 236 /* SyntaxKind.EmptyStatement */: - case 253 /* SyntaxKind.DebuggerStatement */: + case 239 /* SyntaxKind.EmptyStatement */: + case 256 /* SyntaxKind.DebuggerStatement */: checkGrammarStatementInAmbientContext(node); return; - case 276 /* SyntaxKind.MissingDeclaration */: + case 279 /* SyntaxKind.MissingDeclaration */: return checkMissingDeclaration(node); } } @@ -87054,36 +87766,36 @@ var ts; currentNode = node; instantiationCount = 0; switch (node.kind) { - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 165 /* SyntaxKind.Decorator */: - case 280 /* SyntaxKind.JsxOpeningElement */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 167 /* SyntaxKind.Decorator */: + case 283 /* SyntaxKind.JsxOpeningElement */: // These node kinds are deferred checked when overload resolution fails // To save on work, we ensure the arguments are checked just once, in // a deferred way resolveUntypedCall(node); break; - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: checkFunctionExpressionOrObjectLiteralMethodDeferred(node); break; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: checkAccessorDeclaration(node); break; - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: checkClassExpressionDeferred(node); break; - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: checkTypeParameterDeferred(node); break; - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: checkJsxSelfClosingElementDeferred(node); break; - case 278 /* SyntaxKind.JsxElement */: + case 281 /* SyntaxKind.JsxElement */: checkJsxElementDeferred(node); break; } @@ -87256,17 +87968,17 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: if (!ts.isExternalModule(location)) break; // falls through - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: copyLocallyVisibleExportSymbols(getSymbolOfNode(location).exports, meaning & 2623475 /* SymbolFlags.ModuleMember */); break; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* SymbolFlags.EnumMember */); break; - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: var className = location.name; if (className) { copySymbol(location.symbol, meaning); @@ -87274,8 +87986,8 @@ var ts; // this fall-through is necessary because we would like to handle // type parameter inside class expression similar to how we handle it in classDeclaration and interface Declaration. // falls through - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: // If we didn't come from static member of class or interface, // add the type parameters into the symbol table // (type parameters of classDeclaration/classExpression and interface are in member property of the symbol. @@ -87284,7 +87996,7 @@ var ts; copySymbols(getMembersOfSymbol(getSymbolOfNode(location)), meaning & 788968 /* SymbolFlags.Type */); } break; - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: var funcName = location.name; if (funcName) { copySymbol(location.symbol, meaning); @@ -87328,7 +88040,7 @@ var ts; if (meaning) { source.forEach(function (symbol) { // Similar condition as in `resolveNameHelper` - if (!ts.getDeclarationOfKind(symbol, 275 /* SyntaxKind.ExportSpecifier */) && !ts.getDeclarationOfKind(symbol, 274 /* SyntaxKind.NamespaceExport */)) { + if (!ts.getDeclarationOfKind(symbol, 278 /* SyntaxKind.ExportSpecifier */) && !ts.getDeclarationOfKind(symbol, 277 /* SyntaxKind.NamespaceExport */)) { copySymbol(symbol, meaning); } }); @@ -87337,41 +88049,21 @@ var ts; } function isTypeDeclarationName(name) { return name.kind === 79 /* SyntaxKind.Identifier */ && - isTypeDeclaration(name.parent) && + ts.isTypeDeclaration(name.parent) && ts.getNameOfDeclaration(name.parent) === name; } - function isTypeDeclaration(node) { - switch (node.kind) { - case 163 /* SyntaxKind.TypeParameter */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: - return true; - case 267 /* SyntaxKind.ImportClause */: - return node.isTypeOnly; - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: - return node.parent.parent.isTypeOnly; - default: - return false; - } - } // True if the given identifier is part of a type reference function isTypeReferenceIdentifier(node) { - while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + while (node.parent.kind === 163 /* SyntaxKind.QualifiedName */) { node = node.parent; } - return node.parent.kind === 178 /* SyntaxKind.TypeReference */; + return node.parent.kind === 180 /* SyntaxKind.TypeReference */; } function isHeritageClauseElementIdentifier(node) { - while (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + while (node.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { node = node.parent; } - return node.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */; + return node.parent.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */; } function forEachEnclosingClass(node, callback) { var result; @@ -87399,13 +88091,13 @@ var ts; return !!forEachEnclosingClass(node, function (n) { return n === classDeclaration; }); } function getLeftSideOfImportEqualsOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + while (nodeOnRightSide.parent.kind === 163 /* SyntaxKind.QualifiedName */) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + if (nodeOnRightSide.parent.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { return nodeOnRightSide.parent.moduleReference === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } - if (nodeOnRightSide.parent.kind === 271 /* SyntaxKind.ExportAssignment */) { + if (nodeOnRightSide.parent.kind === 274 /* SyntaxKind.ExportAssignment */) { return nodeOnRightSide.parent.expression === nodeOnRightSide ? nodeOnRightSide.parent : undefined; } return undefined; @@ -87431,7 +88123,7 @@ var ts; node = parent; parent = parent.parent; } - if (parent && parent.kind === 200 /* SyntaxKind.ImportType */ && parent.qualifier === node) { + if (parent && parent.kind === 202 /* SyntaxKind.ImportType */ && parent.qualifier === node) { return parent; } return undefined; @@ -87441,7 +88133,7 @@ var ts; return getSymbolOfNode(name.parent); } if (ts.isInJSFile(name) && - name.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && + name.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && name.parent === name.parent.parent.left) { // Check if this is a special property assignment if (!ts.isPrivateIdentifier(name) && !ts.isJSDocMemberName(name)) { @@ -87451,9 +88143,9 @@ var ts; } } } - if (name.parent.kind === 271 /* SyntaxKind.ExportAssignment */ && ts.isEntityNameExpression(name)) { + if (name.parent.kind === 274 /* SyntaxKind.ExportAssignment */ && ts.isEntityNameExpression(name)) { // Even an entity name expression that doesn't resolve as an entityname may still typecheck as a property access expression - var success = resolveEntityName(name, + var success = resolveEntityName(name, /*all meanings*/ 111551 /* SymbolFlags.Value */ | 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */ | 2097152 /* SymbolFlags.Alias */, /*ignoreErrors*/ true); if (success && success !== unknownSymbol) { return success; @@ -87461,7 +88153,7 @@ var ts; } else if (ts.isEntityName(name) && isInRightSideOfImportOrExportAssignment(name)) { // Since we already checked for ExportAssignment, this really could only be an Import - var importEqualsDeclaration = ts.getAncestor(name, 265 /* SyntaxKind.ImportEqualsDeclaration */); + var importEqualsDeclaration = ts.getAncestor(name, 268 /* SyntaxKind.ImportEqualsDeclaration */); ts.Debug.assert(importEqualsDeclaration !== undefined); return getSymbolOfPartOfRightHandSideOfImportEquals(name, /*dontResolveAlias*/ true); } @@ -87479,7 +88171,7 @@ var ts; if (isHeritageClauseElementIdentifier(name)) { var meaning = 0 /* SymbolFlags.None */; // In an interface or class, we're definitely interested in a type. - if (name.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */) { + if (name.parent.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */) { meaning = 788968 /* SymbolFlags.Type */; // In a class 'extends' clause we are also looking for a value. if (ts.isExpressionWithTypeArgumentsInClassExtendsClause(name.parent)) { @@ -87495,10 +88187,10 @@ var ts; return entityNameSymbol; } } - if (name.parent.kind === 340 /* SyntaxKind.JSDocParameterTag */) { + if (name.parent.kind === 343 /* SyntaxKind.JSDocParameterTag */) { return ts.getParameterSymbolFromJSDoc(name.parent); } - if (name.parent.kind === 163 /* SyntaxKind.TypeParameter */ && name.parent.parent.kind === 344 /* SyntaxKind.JSDocTemplateTag */) { + if (name.parent.kind === 165 /* SyntaxKind.TypeParameter */ && name.parent.parent.kind === 347 /* SyntaxKind.JSDocTemplateTag */) { ts.Debug.assert(!ts.isInJSFile(name)); // Otherwise `isDeclarationName` would have been true. var typeParameter = ts.getTypeParameterFromJsDoc(name.parent); return typeParameter && typeParameter.symbol; @@ -87522,18 +88214,53 @@ var ts; return resolveJSDocMemberName(name, /*ignoreErrors*/ false, getSymbolOfNode(container)); } } + if (result && isJSDoc_1) { + var container = ts.getJSDocHost(name); + if (container && ts.isEnumMember(container) && container === result.valueDeclaration) { + return resolveEntityName(name, meaning, /*ignoreErrors*/ true, /* dontResolveAlias */ true, ts.getSourceFileOfNode(container)) || result; + } + } return result; } else if (ts.isPrivateIdentifier(name)) { return getSymbolForPrivateIdentifierExpression(name); } - else if (name.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || name.kind === 161 /* SyntaxKind.QualifiedName */) { + else if (name.kind === 208 /* SyntaxKind.PropertyAccessExpression */ || name.kind === 163 /* SyntaxKind.QualifiedName */) { var links = getNodeLinks(name); if (links.resolvedSymbol) { return links.resolvedSymbol; } - if (name.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (name.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { checkPropertyAccessExpression(name, 0 /* CheckMode.Normal */); + if (!links.resolvedSymbol) { + var expressionType = checkExpressionCached(name.expression); + var infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name)); + if (infos.length && expressionType.members) { + var resolved = resolveStructuredTypeMembers(expressionType); + var symbol = resolved.members.get("__index" /* InternalSymbolName.Index */); + if (infos === getIndexInfosOfType(expressionType)) { + links.resolvedSymbol = symbol; + } + else if (symbol) { + var symbolLinks_1 = getSymbolLinks(symbol); + var declarationList = ts.mapDefined(infos, function (i) { return i.declaration; }); + var nodeListId = ts.map(declarationList, getNodeId).join(","); + if (!symbolLinks_1.filteredIndexSymbolCache) { + symbolLinks_1.filteredIndexSymbolCache = new ts.Map(); + } + if (symbolLinks_1.filteredIndexSymbolCache.has(nodeListId)) { + links.resolvedSymbol = symbolLinks_1.filteredIndexSymbolCache.get(nodeListId); + } + else { + var copy = createSymbol(131072 /* SymbolFlags.Signature */, "__index" /* InternalSymbolName.Index */); + copy.declarations = ts.mapDefined(infos, function (i) { return i.declaration; }); + copy.parent = expressionType.aliasSymbol ? expressionType.aliasSymbol : expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent); + symbolLinks_1.filteredIndexSymbolCache.set(nodeListId, copy); + links.resolvedSymbol = symbolLinks_1.filteredIndexSymbolCache.get(nodeListId); + } + } + } + } } else { checkQualifiedName(name, 0 /* CheckMode.Normal */); @@ -87548,11 +88275,11 @@ var ts; } } else if (isTypeReferenceIdentifier(name)) { - var meaning = name.parent.kind === 178 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; + var meaning = name.parent.kind === 180 /* SyntaxKind.TypeReference */ ? 788968 /* SymbolFlags.Type */ : 1920 /* SymbolFlags.Namespace */; var symbol = resolveEntityName(name, meaning, /*ignoreErrors*/ false, /*dontResolveAlias*/ true); return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name); } - if (name.parent.kind === 177 /* SyntaxKind.TypePredicate */) { + if (name.parent.kind === 179 /* SyntaxKind.TypePredicate */) { return resolveEntityName(name, /*meaning*/ 1 /* SymbolFlags.FunctionScopedVariable */); } return undefined; @@ -87586,7 +88313,7 @@ var ts; } } function getSymbolAtLocation(node, ignoreErrors) { - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { return ts.isExternalModule(node) ? getMergedSymbol(node.symbol) : undefined; } var parent = node.parent; @@ -87609,8 +88336,8 @@ var ts; if (isInRightSideOfImportOrExportAssignment(node)) { return getSymbolOfNameOrPropertyAccessExpression(node); } - else if (parent.kind === 203 /* SyntaxKind.BindingElement */ && - grandParent.kind === 201 /* SyntaxKind.ObjectBindingPattern */ && + else if (parent.kind === 205 /* SyntaxKind.BindingElement */ && + grandParent.kind === 203 /* SyntaxKind.ObjectBindingPattern */ && node === parent.propertyName) { var typeOfPattern = getTypeOfNode(grandParent); var propertyDeclaration = getPropertyOfType(typeOfPattern, node.escapedText); @@ -87637,8 +88364,8 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: case 80 /* SyntaxKind.PrivateIdentifier */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 161 /* SyntaxKind.QualifiedName */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 163 /* SyntaxKind.QualifiedName */: if (!ts.isThisInTypeQuery(node)) { return getSymbolOfNameOrPropertyAccessExpression(node); } @@ -87655,14 +88382,14 @@ var ts; return checkExpression(node).symbol; } // falls through - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: return getTypeFromThisTypeNode(node).symbol; case 106 /* SyntaxKind.SuperKeyword */: return checkExpression(node).symbol; - case 134 /* SyntaxKind.ConstructorKeyword */: + case 135 /* SyntaxKind.ConstructorKeyword */: // constructor keyword for an overload, should take us to the definition if it exist var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 171 /* SyntaxKind.Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 173 /* SyntaxKind.Constructor */) { return constructorDeclaration.parent.symbol; } return undefined; @@ -87673,7 +88400,7 @@ var ts; // 3). Dynamic import call or require in javascript // 4). type A = import("./f/*gotToDefinitionHere*/oo") if ((ts.isExternalModuleImportEqualsDeclaration(node.parent.parent) && ts.getExternalModuleImportEqualsDeclarationExpression(node.parent.parent) === node) || - ((node.parent.kind === 266 /* SyntaxKind.ImportDeclaration */ || node.parent.kind === 272 /* SyntaxKind.ExportDeclaration */) && node.parent.moduleSpecifier === node) || + ((node.parent.kind === 269 /* SyntaxKind.ImportDeclaration */ || node.parent.kind === 275 /* SyntaxKind.ExportDeclaration */) && node.parent.moduleSpecifier === node) || ((ts.isInJSFile(node) && ts.isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || ts.isImportCall(node.parent)) || (ts.isLiteralTypeNode(node.parent) && ts.isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)) { return resolveExternalModuleName(node, node, ignoreErrors); @@ -87695,14 +88422,14 @@ var ts; case 38 /* SyntaxKind.EqualsGreaterThanToken */: case 84 /* SyntaxKind.ClassKeyword */: return getSymbolOfNode(node.parent); - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return ts.isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal, ignoreErrors) : undefined; case 93 /* SyntaxKind.ExportKeyword */: return ts.isExportAssignment(node.parent) ? ts.Debug.checkDefined(node.parent.symbol) : undefined; case 100 /* SyntaxKind.ImportKeyword */: case 103 /* SyntaxKind.NewKeyword */: return ts.isMetaProperty(node.parent) ? checkMetaPropertyKeyword(node.parent).symbol : undefined; - case 231 /* SyntaxKind.MetaProperty */: + case 233 /* SyntaxKind.MetaProperty */: return checkExpression(node).symbol; default: return undefined; @@ -87718,7 +88445,7 @@ var ts; return undefined; } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (location && location.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { return resolveEntityName(location.name, 111551 /* SymbolFlags.Value */ | 2097152 /* SymbolFlags.Alias */); } return undefined; @@ -87757,7 +88484,7 @@ var ts; var baseType = ts.firstOrUndefined(getBaseTypes(classType)); return baseType ? getTypeWithThisArgument(baseType, classType.thisType) : errorType; } - if (isTypeDeclaration(node)) { + if (ts.isTypeDeclaration(node)) { // In this case, we call getSymbolOfNode instead of getSymbolAtLocation because it is a declaration var symbol = getSymbolOfNode(node); return getDeclaredTypeOfSymbol(symbol); @@ -87800,23 +88527,23 @@ var ts; // [ a ] from // [a] = [ some array ...] function getTypeOfAssignmentPattern(expr) { - ts.Debug.assert(expr.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || expr.kind === 204 /* SyntaxKind.ArrayLiteralExpression */); + ts.Debug.assert(expr.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ || expr.kind === 206 /* SyntaxKind.ArrayLiteralExpression */); // If this is from "for of" // for ( { a } of elems) { // } - if (expr.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { + if (expr.parent.kind === 247 /* SyntaxKind.ForOfStatement */) { var iteratedType = checkRightHandSideOfForOf(expr.parent); return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from "for" initializer // for ({a } = elems[0];.....) { } - if (expr.parent.kind === 221 /* SyntaxKind.BinaryExpression */) { + if (expr.parent.kind === 223 /* SyntaxKind.BinaryExpression */) { var iteratedType = getTypeOfExpression(expr.parent.right); return checkDestructuringAssignment(expr, iteratedType || errorType); } // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { - if (expr.parent.kind === 296 /* SyntaxKind.PropertyAssignment */) { + if (expr.parent.kind === 299 /* SyntaxKind.PropertyAssignment */) { var node_3 = ts.cast(expr.parent.parent, ts.isObjectLiteralExpression); var typeOfParentObjectLiteral = getTypeOfAssignmentPattern(node_3) || errorType; var propertyIndex = ts.indexOfNode(node_3.properties, expr.parent); @@ -87864,7 +88591,7 @@ var ts; case 8 /* SyntaxKind.NumericLiteral */: case 10 /* SyntaxKind.StringLiteral */: return getStringLiteralType(name.text); - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: var nameType = checkComputedPropertyName(name); return isTypeAssignableToKind(nameType, 12288 /* TypeFlags.ESSymbolLike */) ? nameType : stringType; default: @@ -87952,7 +88679,7 @@ var ts; return symbolLinks.exportsSomeValue; function isValue(s) { s = resolveSymbol(s); - return s && !!(s.flags & 111551 /* SymbolFlags.Value */); + return s && !!(getAllSymbolFlags(s) & 111551 /* SymbolFlags.Value */); } } function isNameOfModuleOrEnumDeclaration(node) { @@ -87982,7 +88709,7 @@ var ts; } var parentSymbol_1 = getParentOfSymbol(symbol); if (parentSymbol_1) { - if (parentSymbol_1.flags & 512 /* SymbolFlags.ValueModule */ && ((_a = parentSymbol_1.valueDeclaration) === null || _a === void 0 ? void 0 : _a.kind) === 305 /* SyntaxKind.SourceFile */) { + if (parentSymbol_1.flags & 512 /* SymbolFlags.ValueModule */ && ((_a = parentSymbol_1.valueDeclaration) === null || _a === void 0 ? void 0 : _a.kind) === 308 /* SyntaxKind.SourceFile */) { var symbolFile = parentSymbol_1.valueDeclaration; var referenceFile = ts.getSourceFileOfNode(node); // If `node` accesses an export and that export isn't in the same file, then symbol is a namespace export, so return undefined. @@ -88002,10 +88729,10 @@ var ts; } var node = ts.getParseTreeNode(nodeIn, ts.isIdentifier); if (node) { - var symbol = getReferencedValueSymbol(node); + var symbol = getReferencedValueOrAliasSymbol(node); // We should only get the declaration of an alias if there isn't a local value // declaration for the symbol - if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* SymbolFlags.Value */) && !getTypeOnlyAliasDeclaration(symbol)) { + if (isNonLocalAlias(symbol, /*excludes*/ 111551 /* SymbolFlags.Value */) && !getTypeOnlyAliasDeclaration(symbol, 111551 /* SymbolFlags.Value */)) { return getDeclarationOfAliasSymbol(symbol); } } @@ -88014,7 +88741,7 @@ var ts; function isSymbolOfDestructuredElementOfCatchBinding(symbol) { return symbol.valueDeclaration && ts.isBindingElement(symbol.valueDeclaration) - && ts.walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === 292 /* SyntaxKind.CatchClause */; + && ts.walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === 295 /* SyntaxKind.CatchClause */; } function isSymbolOfDeclarationWithCollidingName(symbol) { if (symbol.flags & 418 /* SymbolFlags.BlockScoped */ && symbol.valueDeclaration && !ts.isSourceFile(symbol.valueDeclaration)) { @@ -88045,7 +88772,7 @@ var ts; // they will not collide with anything var isDeclaredInLoop = nodeLinks_1.flags & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */; var inLoopInitializer = ts.isIterationStatement(container, /*lookInLabeledStatements*/ false); - var inLoopBodyBlock = container.kind === 235 /* SyntaxKind.Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); + var inLoopBodyBlock = container.kind === 238 /* SyntaxKind.Block */ && ts.isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); links.isDeclarationWithCollidingName = !ts.isBlockScopedContainerTopLevel(container) && (!isDeclaredInLoop || (!inLoopInitializer && !inLoopBodyBlock)); } else { @@ -88086,19 +88813,19 @@ var ts; } function isValueAliasDeclaration(node) { switch (node.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return isAliasResolvedToValue(getSymbolOfNode(node)); - case 267 /* SyntaxKind.ImportClause */: - case 268 /* SyntaxKind.NamespaceImport */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: + case 270 /* SyntaxKind.ImportClause */: + case 271 /* SyntaxKind.NamespaceImport */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: var symbol = getSymbolOfNode(node); - return !!symbol && isAliasResolvedToValue(symbol) && !getTypeOnlyAliasDeclaration(symbol); - case 272 /* SyntaxKind.ExportDeclaration */: + return !!symbol && isAliasResolvedToValue(symbol) && !getTypeOnlyAliasDeclaration(symbol, 111551 /* SymbolFlags.Value */); + case 275 /* SyntaxKind.ExportDeclaration */: var exportClause = node.exportClause; return !!exportClause && (ts.isNamespaceExport(exportClause) || ts.some(exportClause.elements, isValueAliasDeclaration)); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return node.expression && node.expression.kind === 79 /* SyntaxKind.Identifier */ ? isAliasResolvedToValue(getSymbolOfNode(node)) : true; @@ -88107,7 +88834,7 @@ var ts; } function isTopLevelValueImportEqualsWithEntityName(nodeIn) { var node = ts.getParseTreeNode(nodeIn, ts.isImportEqualsDeclaration); - if (node === undefined || node.parent.kind !== 305 /* SyntaxKind.SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { + if (node === undefined || node.parent.kind !== 308 /* SyntaxKind.SourceFile */ || !ts.isInternalModuleImportEqualsDeclaration(node)) { // parent is not source file or it is not reference to internal module return false; } @@ -88115,6 +88842,7 @@ var ts; return isValue && node.moduleReference && !ts.nodeIsMissing(node.moduleReference); } function isAliasResolvedToValue(symbol) { + var _a; if (!symbol) { return false; } @@ -88124,7 +88852,7 @@ var ts; } // const enums and modules that contain only const enums are not considered values from the emit perspective // unless 'preserveConstEnums' option is set to true - return !!(target.flags & 111551 /* SymbolFlags.Value */) && + return !!(((_a = getAllSymbolFlags(target)) !== null && _a !== void 0 ? _a : -1) & 111551 /* SymbolFlags.Value */) && (ts.shouldPreserveConstEnums(compilerOptions) || !isConstEnumOrConstEnumOnlyModule(target)); } function isConstEnumOrConstEnumOnlyModule(s) { @@ -88139,7 +88867,7 @@ var ts; } var target = getSymbolLinks(symbol).aliasTarget; // TODO: GH#18217 if (target && ts.getEffectiveModifierFlags(node) & 1 /* ModifierFlags.Export */ && - target.flags & 111551 /* SymbolFlags.Value */ && + getAllSymbolFlags(target) & 111551 /* SymbolFlags.Value */ && (ts.shouldPreserveConstEnums(compilerOptions) || !isConstEnumOrConstEnumOnlyModule(target))) { // An `export import ... =` of a value symbol is always considered referenced return true; @@ -88217,15 +88945,15 @@ var ts; } function canHaveConstantValue(node) { switch (node.kind) { - case 299 /* SyntaxKind.EnumMember */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 302 /* SyntaxKind.EnumMember */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return true; } return false; } function getConstantValue(node) { - if (node.kind === 299 /* SyntaxKind.EnumMember */) { + if (node.kind === 302 /* SyntaxKind.EnumMember */) { return getEnumMemberValue(node); } var symbol = getNodeLinks(node).resolvedSymbol; @@ -88318,7 +89046,7 @@ var ts; function createTypeOfDeclaration(declarationIn, enclosingDeclaration, flags, tracker, addUndefined) { var declaration = ts.getParseTreeNode(declarationIn, ts.isVariableLikeOrAccessor); if (!declaration) { - return ts.factory.createToken(130 /* SyntaxKind.AnyKeyword */); + return ts.factory.createToken(131 /* SyntaxKind.AnyKeyword */); } // Get type of the symbol if this is the valid symbol otherwise get type at location var symbol = getSymbolOfNode(declaration); @@ -88337,7 +89065,7 @@ var ts; function createReturnTypeOfSignatureDeclaration(signatureDeclarationIn, enclosingDeclaration, flags, tracker) { var signatureDeclaration = ts.getParseTreeNode(signatureDeclarationIn, ts.isFunctionLike); if (!signatureDeclaration) { - return ts.factory.createToken(130 /* SyntaxKind.AnyKeyword */); + return ts.factory.createToken(131 /* SyntaxKind.AnyKeyword */); } var signature = getSignatureFromDeclaration(signatureDeclaration); return nodeBuilder.typeToTypeNode(getReturnTypeOfSignature(signature), enclosingDeclaration, flags | 1024 /* NodeBuilderFlags.MultilineObjectLiterals */, tracker); @@ -88345,7 +89073,7 @@ var ts; function createTypeOfExpression(exprIn, enclosingDeclaration, flags, tracker) { var expr = ts.getParseTreeNode(exprIn, ts.isExpression); if (!expr) { - return ts.factory.createToken(130 /* SyntaxKind.AnyKeyword */); + return ts.factory.createToken(131 /* SyntaxKind.AnyKeyword */); } var type = getWidenedType(getRegularTypeOfExpression(expr)); return nodeBuilder.typeToTypeNode(type, enclosingDeclaration, flags | 1024 /* NodeBuilderFlags.MultilineObjectLiterals */, tracker); @@ -88369,6 +89097,25 @@ var ts; } return resolveName(location, reference.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */ | 2097152 /* SymbolFlags.Alias */, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ true); } + /** + * Get either a value-meaning symbol or an alias symbol. + * Unlike `getReferencedValueSymbol`, if the cached resolved symbol is the unknown symbol, + * we call `resolveName` to find a symbol. + * This is because when caching the resolved symbol, we only consider value symbols, but here + * we want to also get an alias symbol if one exists. + */ + function getReferencedValueOrAliasSymbol(reference) { + var resolvedSymbol = getNodeLinks(reference).resolvedSymbol; + if (resolvedSymbol && resolvedSymbol !== unknownSymbol) { + return resolvedSymbol; + } + return resolveName(reference, reference.escapedText, 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */ | 2097152 /* SymbolFlags.Alias */, + /*nodeNotFoundMessage*/ undefined, + /*nameArg*/ undefined, + /*isUse*/ true, + /*excludeGlobals*/ undefined, + /*getSpellingSuggestions*/ undefined); + } function getReferencedValueDeclaration(referenceIn) { if (!ts.isGeneratedIdentifier(referenceIn)) { var reference = ts.getParseTreeNode(referenceIn, ts.isIdentifier); @@ -88502,12 +89249,12 @@ var ts; getJsxFragmentFactoryEntity: getJsxFragmentFactoryEntity, getAllAccessorDeclarations: function (accessor) { accessor = ts.getParseTreeNode(accessor, ts.isGetOrSetAccessorDeclaration); // TODO: GH#18217 - var otherKind = accessor.kind === 173 /* SyntaxKind.SetAccessor */ ? 172 /* SyntaxKind.GetAccessor */ : 173 /* SyntaxKind.SetAccessor */; + var otherKind = accessor.kind === 175 /* SyntaxKind.SetAccessor */ ? 174 /* SyntaxKind.GetAccessor */ : 175 /* SyntaxKind.SetAccessor */; var otherAccessor = ts.getDeclarationOfKind(getSymbolOfNode(accessor), otherKind); var firstAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? otherAccessor : accessor; var secondAccessor = otherAccessor && (otherAccessor.pos < accessor.pos) ? accessor : otherAccessor; - var setAccessor = accessor.kind === 173 /* SyntaxKind.SetAccessor */ ? accessor : otherAccessor; - var getAccessor = accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? accessor : otherAccessor; + var setAccessor = accessor.kind === 175 /* SyntaxKind.SetAccessor */ ? accessor : otherAccessor; + var getAccessor = accessor.kind === 174 /* SyntaxKind.GetAccessor */ ? accessor : otherAccessor; return { firstAccessor: firstAccessor, secondAccessor: secondAccessor, @@ -88523,7 +89270,7 @@ var ts; }, getDeclarationStatementsForSourceFile: function (node, flags, tracker, bundled) { var n = ts.getParseTreeNode(node); - ts.Debug.assert(n && n.kind === 305 /* SyntaxKind.SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); + ts.Debug.assert(n && n.kind === 308 /* SyntaxKind.SourceFile */, "Non-sourcefile node passed into getDeclarationsForSourceFile"); var sym = getSymbolOfNode(node); if (!sym) { return !node.locals ? [] : nodeBuilder.symbolTableToDeclarationStatements(node.locals, node, flags, tracker, bundled); @@ -88560,7 +89307,7 @@ var ts; return false; } function isInHeritageClause(node) { - return node.parent && node.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 291 /* SyntaxKind.HeritageClause */; + return node.parent && node.parent.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */ && node.parent.parent && node.parent.parent.kind === 294 /* SyntaxKind.HeritageClause */; } // defined here to avoid outer scope pollution function getTypeReferenceDirectivesForEntityName(node) { @@ -88573,12 +89320,12 @@ var ts; // qualified names can only be used as types\namespaces // identifiers are treated as values only if they appear in type queries var meaning; - if (node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.parent.kind === 164 /* SyntaxKind.ComputedPropertyName */) { meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; } else { meaning = 788968 /* SymbolFlags.Type */ | 1920 /* SymbolFlags.Namespace */; - if ((node.kind === 79 /* SyntaxKind.Identifier */ && isInTypeQuery(node)) || (node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ && !isInHeritageClause(node))) { + if ((node.kind === 79 /* SyntaxKind.Identifier */ && isInTypeQuery(node)) || (node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ && !isInHeritageClause(node))) { meaning = 111551 /* SymbolFlags.Value */ | 1048576 /* SymbolFlags.ExportValue */; } } @@ -88627,7 +89374,7 @@ var ts; break; } } - if (current.valueDeclaration && current.valueDeclaration.kind === 305 /* SyntaxKind.SourceFile */ && current.flags & 512 /* SymbolFlags.ValueModule */) { + if (current.valueDeclaration && current.valueDeclaration.kind === 308 /* SyntaxKind.SourceFile */ && current.flags & 512 /* SymbolFlags.ValueModule */) { return false; } // check that at least one declaration of top level symbol originates from type declaration file @@ -88655,12 +89402,12 @@ var ts; } } function getExternalModuleFileFromDeclaration(declaration) { - var specifier = declaration.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); + var specifier = declaration.kind === 264 /* SyntaxKind.ModuleDeclaration */ ? ts.tryCast(declaration.name, ts.isStringLiteral) : ts.getExternalModuleName(declaration); var moduleSymbol = resolveExternalModuleNameWorker(specifier, specifier, /*moduleNotFoundError*/ undefined); // TODO: GH#18217 if (!moduleSymbol) { return undefined; } - return ts.getDeclarationOfKind(moduleSymbol, 305 /* SyntaxKind.SourceFile */); + return ts.getDeclarationOfKind(moduleSymbol, 308 /* SyntaxKind.SourceFile */); } function initializeTypeChecker() { // Bind all source files and propagate errors @@ -88872,14 +89619,14 @@ var ts; return false; } if (!ts.nodeCanBeDecorated(node, node.parent, node.parent.parent)) { - if (node.kind === 169 /* SyntaxKind.MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { + if (node.kind === 171 /* SyntaxKind.MethodDeclaration */ && !ts.nodeIsPresent(node.body)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload); } else { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_are_not_valid_here); } } - else if (node.kind === 172 /* SyntaxKind.GetAccessor */ || node.kind === 173 /* SyntaxKind.SetAccessor */) { + else if (node.kind === 174 /* SyntaxKind.GetAccessor */ || node.kind === 175 /* SyntaxKind.SetAccessor */) { var accessors = ts.getAllAccessorDeclarations(node.parent.members, node); if (ts.hasDecorators(accessors.firstAccessor) && node === accessors.secondAccessor) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name); @@ -88898,26 +89645,26 @@ var ts; var modifier = _a[_i]; if (ts.isDecorator(modifier)) continue; - if (modifier.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { - if (node.kind === 166 /* SyntaxKind.PropertySignature */ || node.kind === 168 /* SyntaxKind.MethodSignature */) { + if (modifier.kind !== 146 /* SyntaxKind.ReadonlyKeyword */) { + if (node.kind === 168 /* SyntaxKind.PropertySignature */ || node.kind === 170 /* SyntaxKind.MethodSignature */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_member, ts.tokenToString(modifier.kind)); } - if (node.kind === 176 /* SyntaxKind.IndexSignature */ && (modifier.kind !== 124 /* SyntaxKind.StaticKeyword */ || !ts.isClassLike(node.parent))) { + if (node.kind === 178 /* SyntaxKind.IndexSignature */ && (modifier.kind !== 124 /* SyntaxKind.StaticKeyword */ || !ts.isClassLike(node.parent))) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_an_index_signature, ts.tokenToString(modifier.kind)); } } - if (modifier.kind !== 101 /* SyntaxKind.InKeyword */ && modifier.kind !== 144 /* SyntaxKind.OutKeyword */) { - if (node.kind === 163 /* SyntaxKind.TypeParameter */) { + if (modifier.kind !== 101 /* SyntaxKind.InKeyword */ && modifier.kind !== 145 /* SyntaxKind.OutKeyword */) { + if (node.kind === 165 /* SyntaxKind.TypeParameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_type_parameter, ts.tokenToString(modifier.kind)); } } switch (modifier.kind) { case 85 /* SyntaxKind.ConstKeyword */: - if (node.kind !== 260 /* SyntaxKind.EnumDeclaration */) { + if (node.kind !== 263 /* SyntaxKind.EnumDeclaration */) { return grammarErrorOnNode(node, ts.Diagnostics.A_class_member_cannot_have_the_0_keyword, ts.tokenToString(85 /* SyntaxKind.ConstKeyword */)); } break; - case 159 /* SyntaxKind.OverrideKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: // If node.kind === SyntaxKind.Parameter, checkParameter reports an error if it's not a parameter property. if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "override"); @@ -88928,7 +89675,10 @@ var ts; else if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "override", "readonly"); } - else if (flags & 256 /* ModifierFlags.Async */) { + else if (flags & 128 /* ModifierFlags.Accessor */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "override", "accessor"); + } + else if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "override", "async"); } flags |= 16384 /* ModifierFlags.Override */; @@ -88947,16 +89697,19 @@ var ts; else if (flags & 32 /* ModifierFlags.Static */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "static"); } + else if (flags & 128 /* ModifierFlags.Accessor */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "accessor"); + } else if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "readonly"); } - else if (flags & 256 /* ModifierFlags.Async */) { + else if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "async"); } - else if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { + else if (node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 308 /* SyntaxKind.SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, text); } - else if (flags & 128 /* ModifierFlags.Abstract */) { + else if (flags & 256 /* ModifierFlags.Abstract */) { if (modifier.kind === 121 /* SyntaxKind.PrivateKeyword */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, text, "abstract"); } @@ -88976,16 +89729,19 @@ var ts; else if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "readonly"); } - else if (flags & 256 /* ModifierFlags.Async */) { + else if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "async"); } - else if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { + else if (flags & 128 /* ModifierFlags.Accessor */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "static", "accessor"); + } + else if (node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 308 /* SyntaxKind.SourceFile */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_or_namespace_element, "static"); } - else if (node.kind === 164 /* SyntaxKind.Parameter */) { + else if (node.kind === 166 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } - else if (flags & 128 /* ModifierFlags.Abstract */) { + else if (flags & 256 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract"); } else if (flags & 16384 /* ModifierFlags.Override */) { @@ -88994,11 +89750,26 @@ var ts; flags |= 32 /* ModifierFlags.Static */; lastStatic = modifier; break; - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: + if (flags & 128 /* ModifierFlags.Accessor */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "accessor"); + } + else if (flags & 64 /* ModifierFlags.Readonly */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "accessor", "readonly"); + } + else if (flags & 2 /* ModifierFlags.Ambient */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "accessor", "declare"); + } + else if (node.kind !== 169 /* SyntaxKind.PropertyDeclaration */) { + return grammarErrorOnNode(modifier, ts.Diagnostics.accessor_modifier_can_only_appear_on_a_property_declaration); + } + flags |= 128 /* ModifierFlags.Accessor */; + break; + case 146 /* SyntaxKind.ReadonlyKeyword */: if (flags & 64 /* ModifierFlags.Readonly */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "readonly"); } - else if (node.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && node.kind !== 166 /* SyntaxKind.PropertySignature */ && node.kind !== 176 /* SyntaxKind.IndexSignature */ && node.kind !== 164 /* SyntaxKind.Parameter */) { + else if (node.kind !== 169 /* SyntaxKind.PropertyDeclaration */ && node.kind !== 168 /* SyntaxKind.PropertySignature */ && node.kind !== 178 /* SyntaxKind.IndexSignature */ && node.kind !== 166 /* SyntaxKind.Parameter */) { // If node.kind === SyntaxKind.Parameter, checkParameter reports an error if it's not a parameter property. return grammarErrorOnNode(modifier, ts.Diagnostics.readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature); } @@ -89011,35 +89782,35 @@ var ts; else if (flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); } - else if (flags & 128 /* ModifierFlags.Abstract */) { + else if (flags & 256 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "abstract"); } - else if (flags & 256 /* ModifierFlags.Async */) { + else if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "async"); } else if (ts.isClassLike(node.parent)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind, "export"); } - else if (node.kind === 164 /* SyntaxKind.Parameter */) { + else if (node.kind === 166 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } flags |= 1 /* ModifierFlags.Export */; break; case 88 /* SyntaxKind.DefaultKeyword */: - var container = node.parent.kind === 305 /* SyntaxKind.SourceFile */ ? node.parent : node.parent.parent; - if (container.kind === 261 /* SyntaxKind.ModuleDeclaration */ && !ts.isAmbientModule(container)) { + var container = node.parent.kind === 308 /* SyntaxKind.SourceFile */ ? node.parent : node.parent.parent; + if (container.kind === 264 /* SyntaxKind.ModuleDeclaration */ && !ts.isAmbientModule(container)) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module); } else if (!(flags & 1 /* ModifierFlags.Export */)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "default"); } - flags |= 512 /* ModifierFlags.Default */; + flags |= 1024 /* ModifierFlags.Default */; break; - case 135 /* SyntaxKind.DeclareKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: if (flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "declare"); } - else if (flags & 256 /* ModifierFlags.Async */) { + else if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } else if (flags & 16384 /* ModifierFlags.Override */) { @@ -89048,10 +89819,10 @@ var ts; else if (ts.isClassLike(node.parent) && !ts.isPropertyDeclaration(node)) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_class_elements_of_this_kind, "declare"); } - else if (node.kind === 164 /* SyntaxKind.Parameter */) { + else if (node.kind === 166 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if ((node.parent.flags & 16777216 /* NodeFlags.Ambient */) && node.parent.kind === 262 /* SyntaxKind.ModuleBlock */) { + else if ((node.parent.flags & 16777216 /* NodeFlags.Ambient */) && node.parent.kind === 265 /* SyntaxKind.ModuleBlock */) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } else if (ts.isPrivateIdentifierClassElementDeclaration(node)) { @@ -89061,18 +89832,18 @@ var ts; lastDeclare = modifier; break; case 126 /* SyntaxKind.AbstractKeyword */: - if (flags & 128 /* ModifierFlags.Abstract */) { + if (flags & 256 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "abstract"); } - if (node.kind !== 257 /* SyntaxKind.ClassDeclaration */ && - node.kind !== 180 /* SyntaxKind.ConstructorType */) { - if (node.kind !== 169 /* SyntaxKind.MethodDeclaration */ && - node.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && - node.kind !== 172 /* SyntaxKind.GetAccessor */ && - node.kind !== 173 /* SyntaxKind.SetAccessor */) { + if (node.kind !== 260 /* SyntaxKind.ClassDeclaration */ && + node.kind !== 182 /* SyntaxKind.ConstructorType */) { + if (node.kind !== 171 /* SyntaxKind.MethodDeclaration */ && + node.kind !== 169 /* SyntaxKind.PropertyDeclaration */ && + node.kind !== 174 /* SyntaxKind.GetAccessor */ && + node.kind !== 175 /* SyntaxKind.SetAccessor */) { return grammarErrorOnNode(modifier, ts.Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration); } - if (!(node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */ && ts.hasSyntacticModifier(node.parent, 128 /* ModifierFlags.Abstract */))) { + if (!(node.parent.kind === 260 /* SyntaxKind.ClassDeclaration */ && ts.hasSyntacticModifier(node.parent, 256 /* ModifierFlags.Abstract */))) { return grammarErrorOnNode(modifier, ts.Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class); } if (flags & 32 /* ModifierFlags.Static */) { @@ -89081,39 +89852,42 @@ var ts; if (flags & 8 /* ModifierFlags.Private */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "private", "abstract"); } - if (flags & 256 /* ModifierFlags.Async */ && lastAsync) { + if (flags & 512 /* ModifierFlags.Async */ && lastAsync) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract"); } if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "abstract", "override"); } + if (flags & 128 /* ModifierFlags.Accessor */) { + return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "abstract", "accessor"); + } } if (ts.isNamedDeclaration(node) && node.name.kind === 80 /* SyntaxKind.PrivateIdentifier */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_a_private_identifier, "abstract"); } - flags |= 128 /* ModifierFlags.Abstract */; + flags |= 256 /* ModifierFlags.Abstract */; break; - case 131 /* SyntaxKind.AsyncKeyword */: - if (flags & 256 /* ModifierFlags.Async */) { + case 132 /* SyntaxKind.AsyncKeyword */: + if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "async"); } else if (flags & 2 /* ModifierFlags.Ambient */ || node.parent.flags & 16777216 /* NodeFlags.Ambient */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context, "async"); } - else if (node.kind === 164 /* SyntaxKind.Parameter */) { + else if (node.kind === 166 /* SyntaxKind.Parameter */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "async"); } - if (flags & 128 /* ModifierFlags.Abstract */) { + if (flags & 256 /* ModifierFlags.Abstract */) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "async", "abstract"); } - flags |= 256 /* ModifierFlags.Async */; + flags |= 512 /* ModifierFlags.Async */; lastAsync = modifier; break; case 101 /* SyntaxKind.InKeyword */: - case 144 /* SyntaxKind.OutKeyword */: + case 145 /* SyntaxKind.OutKeyword */: var inOutFlag = modifier.kind === 101 /* SyntaxKind.InKeyword */ ? 32768 /* ModifierFlags.In */ : 65536 /* ModifierFlags.Out */; var inOutText = modifier.kind === 101 /* SyntaxKind.InKeyword */ ? "in" : "out"; - if (node.kind !== 163 /* SyntaxKind.TypeParameter */ || !(ts.isInterfaceDeclaration(node.parent) || ts.isClassLike(node.parent) || ts.isTypeAliasDeclaration(node.parent))) { + if (node.kind !== 165 /* SyntaxKind.TypeParameter */ || !(ts.isInterfaceDeclaration(node.parent) || ts.isClassLike(node.parent) || ts.isTypeAliasDeclaration(node.parent))) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias, inOutText); } if (flags & inOutFlag) { @@ -89126,28 +89900,28 @@ var ts; break; } } - if (node.kind === 171 /* SyntaxKind.Constructor */) { + if (node.kind === 173 /* SyntaxKind.Constructor */) { if (flags & 32 /* ModifierFlags.Static */) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } if (flags & 16384 /* ModifierFlags.Override */) { return grammarErrorOnNode(lastOverride, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "override"); // TODO: GH#18217 } - if (flags & 256 /* ModifierFlags.Async */) { + if (flags & 512 /* ModifierFlags.Async */) { return grammarErrorOnNode(lastAsync, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "async"); } return false; } - else if ((node.kind === 266 /* SyntaxKind.ImportDeclaration */ || node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) && flags & 2 /* ModifierFlags.Ambient */) { + else if ((node.kind === 269 /* SyntaxKind.ImportDeclaration */ || node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) && flags & 2 /* ModifierFlags.Ambient */) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_0_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 164 /* SyntaxKind.Parameter */ && (flags & 16476 /* ModifierFlags.ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 166 /* SyntaxKind.Parameter */ && (flags & 16476 /* ModifierFlags.ParameterPropertyModifier */) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_declared_using_a_binding_pattern); } - else if (node.kind === 164 /* SyntaxKind.Parameter */ && (flags & 16476 /* ModifierFlags.ParameterPropertyModifier */) && node.dotDotDotToken) { + else if (node.kind === 166 /* SyntaxKind.Parameter */ && (flags & 16476 /* ModifierFlags.ParameterPropertyModifier */) && node.dotDotDotToken) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_cannot_be_declared_using_a_rest_parameter); } - if (flags & 256 /* ModifierFlags.Async */) { + if (flags & 512 /* ModifierFlags.Async */) { return checkGrammarAsyncModifier(node, lastAsync); } return false; @@ -89165,47 +89939,47 @@ var ts; } function shouldReportBadModifier(node) { switch (node.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 171 /* SyntaxKind.Constructor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 164 /* SyntaxKind.Parameter */: - case 163 /* SyntaxKind.TypeParameter */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 166 /* SyntaxKind.Parameter */: + case 165 /* SyntaxKind.TypeParameter */: return false; - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 264 /* SyntaxKind.NamespaceExportDeclaration */: - case 179 /* SyntaxKind.FunctionType */: - case 276 /* SyntaxKind.MissingDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: + case 181 /* SyntaxKind.FunctionType */: + case 279 /* SyntaxKind.MissingDeclaration */: return true; default: - if (node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 308 /* SyntaxKind.SourceFile */) { return false; } switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - return nodeHasAnyModifiersExcept(node, 131 /* SyntaxKind.AsyncKeyword */); - case 257 /* SyntaxKind.ClassDeclaration */: - case 180 /* SyntaxKind.ConstructorType */: + case 259 /* SyntaxKind.FunctionDeclaration */: + return nodeHasAnyModifiersExcept(node, 132 /* SyntaxKind.AsyncKeyword */); + case 260 /* SyntaxKind.ClassDeclaration */: + case 182 /* SyntaxKind.ConstructorType */: return nodeHasAnyModifiersExcept(node, 126 /* SyntaxKind.AbstractKeyword */); - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 237 /* SyntaxKind.VariableStatement */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 240 /* SyntaxKind.VariableStatement */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return true; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return nodeHasAnyModifiersExcept(node, 85 /* SyntaxKind.ConstKeyword */); default: ts.Debug.assertNever(node); @@ -89223,10 +89997,10 @@ var ts; } function checkGrammarAsyncModifier(node, asyncModifier) { switch (node.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return false; } return grammarErrorOnNode(asyncModifier, ts.Diagnostics._0_modifier_cannot_be_used_here, "async"); @@ -89455,20 +90229,20 @@ var ts; } function checkGrammarComputedPropertyName(node) { // If node is not a computedPropertyName, just skip the grammar checking - if (node.kind !== 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.kind !== 164 /* SyntaxKind.ComputedPropertyName */) { return false; } var computedPropertyName = node; - if (computedPropertyName.expression.kind === 221 /* SyntaxKind.BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { + if (computedPropertyName.expression.kind === 223 /* SyntaxKind.BinaryExpression */ && computedPropertyName.expression.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } return false; } function checkGrammarForGenerator(node) { if (node.asteriskToken) { - ts.Debug.assert(node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || - node.kind === 213 /* SyntaxKind.FunctionExpression */ || - node.kind === 169 /* SyntaxKind.MethodDeclaration */); + ts.Debug.assert(node.kind === 259 /* SyntaxKind.FunctionDeclaration */ || + node.kind === 215 /* SyntaxKind.FunctionExpression */ || + node.kind === 171 /* SyntaxKind.MethodDeclaration */); if (node.flags & 16777216 /* NodeFlags.Ambient */) { return grammarErrorOnNode(node.asteriskToken, ts.Diagnostics.Generators_are_not_allowed_in_an_ambient_context); } @@ -89487,7 +90261,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var prop = _a[_i]; - if (prop.kind === 298 /* SyntaxKind.SpreadAssignment */) { + if (prop.kind === 301 /* SyntaxKind.SpreadAssignment */) { if (inDestructuring) { // a rest property cannot be destructured any further var expression = ts.skipParentheses(prop.expression); @@ -89498,11 +90272,11 @@ var ts; continue; } var name = prop.name; - if (name.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (name.kind === 164 /* SyntaxKind.ComputedPropertyName */) { // If the name is not a ComputedPropertyName, the grammar checking will skip it checkGrammarComputedPropertyName(name); } - if (prop.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { + if (prop.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */ && !inDestructuring && prop.objectAssignmentInitializer) { // having objectAssignmentInitializer is only valid in ObjectAssignmentPattern // outside of destructuring it is a syntax error grammarErrorOnNode(prop.equalsToken, ts.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern); @@ -89514,7 +90288,7 @@ var ts; if (ts.canHaveModifiers(prop) && prop.modifiers) { for (var _b = 0, _c = prop.modifiers; _b < _c.length; _b++) { var mod = _c[_b]; - if (ts.isModifier(mod) && (mod.kind !== 131 /* SyntaxKind.AsyncKeyword */ || prop.kind !== 169 /* SyntaxKind.MethodDeclaration */)) { + if (ts.isModifier(mod) && (mod.kind !== 132 /* SyntaxKind.AsyncKeyword */ || prop.kind !== 171 /* SyntaxKind.MethodDeclaration */)) { grammarErrorOnNode(mod, ts.Diagnostics._0_modifier_cannot_be_used_here, ts.getTextOfNode(mod)); } } @@ -89535,8 +90309,8 @@ var ts; // and either both previous and propId.descriptor have[[Get]] fields or both previous and propId.descriptor have[[Set]] fields var currentKind = void 0; switch (prop.kind) { - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 296 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: // Grammar checking for computedPropertyName and shorthandPropertyAssignment checkGrammarForInvalidExclamationToken(prop.exclamationToken, ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context); checkGrammarForInvalidQuestionMark(prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); @@ -89545,13 +90319,13 @@ var ts; } currentKind = 4 /* DeclarationMeaning.PropertyAssignment */; break; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: currentKind = 8 /* DeclarationMeaning.Method */; break; - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: currentKind = 1 /* DeclarationMeaning.GetAccessor */; break; - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: currentKind = 2 /* DeclarationMeaning.SetAccessor */; break; default: @@ -89594,7 +90368,7 @@ var ts; var seen = new ts.Map(); for (var _i = 0, _a = node.attributes.properties; _i < _a.length; _i++) { var attr = _a[_i]; - if (attr.kind === 287 /* SyntaxKind.JsxSpreadAttribute */) { + if (attr.kind === 290 /* SyntaxKind.JsxSpreadAttribute */) { continue; } var name = attr.name, initializer = attr.initializer; @@ -89604,7 +90378,7 @@ var ts; else { return grammarErrorOnNode(name, ts.Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name); } - if (initializer && initializer.kind === 288 /* SyntaxKind.JsxExpression */ && !initializer.expression) { + if (initializer && initializer.kind === 291 /* SyntaxKind.JsxExpression */ && !initializer.expression) { return grammarErrorOnNode(initializer, ts.Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression); } } @@ -89639,7 +90413,7 @@ var ts; if (checkGrammarStatementInAmbientContext(forInOrOfStatement)) { return true; } - if (forInOrOfStatement.kind === 244 /* SyntaxKind.ForOfStatement */ && forInOrOfStatement.awaitModifier) { + if (forInOrOfStatement.kind === 247 /* SyntaxKind.ForOfStatement */ && forInOrOfStatement.awaitModifier) { if (!(forInOrOfStatement.flags & 32768 /* NodeFlags.AwaitContext */)) { var sourceFile = ts.getSourceFileOfNode(forInOrOfStatement); if (ts.isInTopLevelContext(forInOrOfStatement)) { @@ -89673,7 +90447,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var diagnostic = ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules); var func = ts.getContainingFunction(forInOrOfStatement); - if (func && func.kind !== 171 /* SyntaxKind.Constructor */) { + if (func && func.kind !== 173 /* SyntaxKind.Constructor */) { ts.Debug.assert((ts.getFunctionFlags(func) & 2 /* FunctionFlags.Async */) === 0, "Enclosing function should never be an async function."); var relatedInfo = ts.createDiagnosticForNode(func, ts.Diagnostics.Did_you_mean_to_mark_this_function_as_async); ts.addRelatedInfo(diagnostic, relatedInfo); @@ -89690,7 +90464,7 @@ var ts; grammarErrorOnNode(forInOrOfStatement.initializer, ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async); return false; } - if (forInOrOfStatement.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (forInOrOfStatement.initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { var variableList = forInOrOfStatement.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { var declarations = variableList.declarations; @@ -89705,20 +90479,20 @@ var ts; return false; } if (declarations.length > 1) { - var diagnostic = forInOrOfStatement.kind === 243 /* SyntaxKind.ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 246 /* SyntaxKind.ForInStatement */ ? ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement; return grammarErrorOnFirstToken(variableList.declarations[1], diagnostic); } var firstDeclaration = declarations[0]; if (firstDeclaration.initializer) { - var diagnostic = forInOrOfStatement.kind === 243 /* SyntaxKind.ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 246 /* SyntaxKind.ForInStatement */ ? ts.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : ts.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer; return grammarErrorOnNode(firstDeclaration.name, diagnostic); } if (firstDeclaration.type) { - var diagnostic = forInOrOfStatement.kind === 243 /* SyntaxKind.ForInStatement */ + var diagnostic = forInOrOfStatement.kind === 246 /* SyntaxKind.ForInStatement */ ? ts.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : ts.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation; return grammarErrorOnNode(firstDeclaration, diagnostic); @@ -89728,22 +90502,22 @@ var ts; return false; } function checkGrammarAccessor(accessor) { - if (!(accessor.flags & 16777216 /* NodeFlags.Ambient */) && (accessor.parent.kind !== 182 /* SyntaxKind.TypeLiteral */) && (accessor.parent.kind !== 258 /* SyntaxKind.InterfaceDeclaration */)) { + if (!(accessor.flags & 16777216 /* NodeFlags.Ambient */) && (accessor.parent.kind !== 184 /* SyntaxKind.TypeLiteral */) && (accessor.parent.kind !== 261 /* SyntaxKind.InterfaceDeclaration */)) { if (languageVersion < 1 /* ScriptTarget.ES5 */) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); } if (languageVersion < 2 /* ScriptTarget.ES2015 */ && ts.isPrivateIdentifier(accessor.name)) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); } - if (accessor.body === undefined && !ts.hasSyntacticModifier(accessor, 128 /* ModifierFlags.Abstract */)) { + if (accessor.body === undefined && !ts.hasSyntacticModifier(accessor, 256 /* ModifierFlags.Abstract */)) { return grammarErrorAtPos(accessor, accessor.end - 1, ";".length, ts.Diagnostics._0_expected, "{"); } } if (accessor.body) { - if (ts.hasSyntacticModifier(accessor, 128 /* ModifierFlags.Abstract */)) { + if (ts.hasSyntacticModifier(accessor, 256 /* ModifierFlags.Abstract */)) { return grammarErrorOnNode(accessor, ts.Diagnostics.An_abstract_accessor_cannot_have_an_implementation); } - if (accessor.parent.kind === 182 /* SyntaxKind.TypeLiteral */ || accessor.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (accessor.parent.kind === 184 /* SyntaxKind.TypeLiteral */ || accessor.parent.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { return grammarErrorOnNode(accessor.body, ts.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts); } } @@ -89751,11 +90525,11 @@ var ts; return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } if (!doesAccessorHaveCorrectParameterCount(accessor)) { - return grammarErrorOnNode(accessor.name, accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? + return grammarErrorOnNode(accessor.name, accessor.kind === 174 /* SyntaxKind.GetAccessor */ ? ts.Diagnostics.A_get_accessor_cannot_have_parameters : ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); } - if (accessor.kind === 173 /* SyntaxKind.SetAccessor */) { + if (accessor.kind === 175 /* SyntaxKind.SetAccessor */) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -89777,17 +90551,17 @@ var ts; * A set accessor has one parameter or a `this` parameter and one more parameter. */ function doesAccessorHaveCorrectParameterCount(accessor) { - return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? 0 : 1); + return getAccessorThisParameter(accessor) || accessor.parameters.length === (accessor.kind === 174 /* SyntaxKind.GetAccessor */ ? 0 : 1); } function getAccessorThisParameter(accessor) { - if (accessor.parameters.length === (accessor.kind === 172 /* SyntaxKind.GetAccessor */ ? 1 : 2)) { + if (accessor.parameters.length === (accessor.kind === 174 /* SyntaxKind.GetAccessor */ ? 1 : 2)) { return ts.getThisParameter(accessor); } } function checkGrammarTypeOperatorNode(node) { - if (node.operator === 154 /* SyntaxKind.UniqueKeyword */) { - if (node.type.kind !== 151 /* SyntaxKind.SymbolKeyword */) { - return grammarErrorOnNode(node.type, ts.Diagnostics._0_expected, ts.tokenToString(151 /* SyntaxKind.SymbolKeyword */)); + if (node.operator === 156 /* SyntaxKind.UniqueKeyword */) { + if (node.type.kind !== 153 /* SyntaxKind.SymbolKeyword */) { + return grammarErrorOnNode(node.type, ts.Diagnostics._0_expected, ts.tokenToString(153 /* SyntaxKind.SymbolKeyword */)); } var parent = ts.walkUpParenthesizedTypes(node.parent); if (ts.isInJSFile(parent) && ts.isJSDocTypeExpression(parent)) { @@ -89797,7 +90571,7 @@ var ts; } } switch (parent.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: var decl = parent; if (decl.name.kind !== 79 /* SyntaxKind.Identifier */) { return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name); @@ -89809,13 +90583,13 @@ var ts; return grammarErrorOnNode(parent.name, ts.Diagnostics.A_variable_whose_type_is_a_unique_symbol_type_must_be_const); } break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: if (!ts.isStatic(parent) || !ts.hasEffectiveReadonlyModifier(parent)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly); } break; - case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.PropertySignature */: if (!ts.hasSyntacticModifier(parent, 64 /* ModifierFlags.Readonly */)) { return grammarErrorOnNode(parent.name, ts.Diagnostics.A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly); } @@ -89824,9 +90598,9 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.unique_symbol_types_are_not_allowed_here); } } - else if (node.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { - if (node.type.kind !== 183 /* SyntaxKind.ArrayType */ && node.type.kind !== 184 /* SyntaxKind.TupleType */) { - return grammarErrorOnFirstToken(node, ts.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, ts.tokenToString(151 /* SyntaxKind.SymbolKeyword */)); + else if (node.operator === 146 /* SyntaxKind.ReadonlyKeyword */) { + if (node.type.kind !== 185 /* SyntaxKind.ArrayType */ && node.type.kind !== 186 /* SyntaxKind.TupleType */) { + return grammarErrorOnFirstToken(node, ts.Diagnostics.readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types, ts.tokenToString(153 /* SyntaxKind.SymbolKeyword */)); } } } @@ -89839,10 +90613,10 @@ var ts; if (checkGrammarFunctionLikeDeclaration(node)) { return true; } - if (node.kind === 169 /* SyntaxKind.MethodDeclaration */) { - if (node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (node.kind === 171 /* SyntaxKind.MethodDeclaration */) { + if (node.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { // We only disallow modifier on a method declaration if it is a property of object-literal-expression - if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 131 /* SyntaxKind.AsyncKeyword */)) { + if (node.modifiers && !(node.modifiers.length === 1 && ts.first(node.modifiers).kind === 132 /* SyntaxKind.AsyncKeyword */)) { return grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_cannot_appear_here); } else if (checkGrammarForInvalidQuestionMark(node.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional)) { @@ -89871,14 +90645,14 @@ var ts; if (node.flags & 16777216 /* NodeFlags.Ambient */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.kind === 169 /* SyntaxKind.MethodDeclaration */ && !node.body) { + else if (node.kind === 171 /* SyntaxKind.MethodDeclaration */ && !node.body) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } - else if (node.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + else if (node.parent.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } - else if (node.parent.kind === 182 /* SyntaxKind.TypeLiteral */) { + else if (node.parent.kind === 184 /* SyntaxKind.TypeLiteral */) { return checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type); } } @@ -89889,11 +90663,11 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: if (node.label && current.label.escapedText === node.label.escapedText) { // found matching label - verify that label usage is correct // continue can only target labels that are on iteration statements - var isMisplacedContinueLabel = node.kind === 245 /* SyntaxKind.ContinueStatement */ + var isMisplacedContinueLabel = node.kind === 248 /* SyntaxKind.ContinueStatement */ && !ts.isIterationStatement(current.statement, /*lookInLabeledStatement*/ true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); @@ -89901,8 +90675,8 @@ var ts; return false; } break; - case 249 /* SyntaxKind.SwitchStatement */: - if (node.kind === 246 /* SyntaxKind.BreakStatement */ && !node.label) { + case 252 /* SyntaxKind.SwitchStatement */: + if (node.kind === 249 /* SyntaxKind.BreakStatement */ && !node.label) { // unlabeled break within switch statement - ok return false; } @@ -89917,13 +90691,13 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 246 /* SyntaxKind.BreakStatement */ + var message = node.kind === 249 /* SyntaxKind.BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 246 /* SyntaxKind.BreakStatement */ + var message = node.kind === 249 /* SyntaxKind.BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); @@ -89947,12 +90721,12 @@ var ts; } function isStringOrNumberLiteralExpression(expr) { return ts.isStringOrNumericLiteralLike(expr) || - expr.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ && expr.operator === 40 /* SyntaxKind.MinusToken */ && + expr.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ && expr.operator === 40 /* SyntaxKind.MinusToken */ && expr.operand.kind === 8 /* SyntaxKind.NumericLiteral */; } function isBigIntLiteralExpression(expr) { return expr.kind === 9 /* SyntaxKind.BigIntLiteral */ || - expr.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ && expr.operator === 40 /* SyntaxKind.MinusToken */ && + expr.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ && expr.operator === 40 /* SyntaxKind.MinusToken */ && expr.operand.kind === 9 /* SyntaxKind.BigIntLiteral */; } function isSimpleLiteralEnumReference(expr) { @@ -89980,7 +90754,7 @@ var ts; } } function checkGrammarVariableDeclaration(node) { - if (node.parent.parent.kind !== 243 /* SyntaxKind.ForInStatement */ && node.parent.parent.kind !== 244 /* SyntaxKind.ForOfStatement */) { + if (node.parent.parent.kind !== 246 /* SyntaxKind.ForInStatement */ && node.parent.parent.kind !== 247 /* SyntaxKind.ForOfStatement */) { if (node.flags & 16777216 /* NodeFlags.Ambient */) { checkAmbientInitializer(node); } @@ -89993,7 +90767,7 @@ var ts; } } } - if (node.exclamationToken && (node.parent.parent.kind !== 237 /* SyntaxKind.VariableStatement */ || !node.type || node.initializer || node.flags & 16777216 /* NodeFlags.Ambient */)) { + if (node.exclamationToken && (node.parent.parent.kind !== 240 /* SyntaxKind.VariableStatement */ || !node.type || node.initializer || node.flags & 16777216 /* NodeFlags.Ambient */)) { var message = node.initializer ? ts.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions : !node.type @@ -90060,15 +90834,15 @@ var ts; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 239 /* SyntaxKind.IfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return false; - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -90162,8 +90936,14 @@ var ts; if (languageVersion < 2 /* ScriptTarget.ES2015 */ && ts.isPrivateIdentifier(node.name)) { return grammarErrorOnNode(node.name, ts.Diagnostics.Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher); } + if (languageVersion < 2 /* ScriptTarget.ES2015 */ && ts.isAutoAccessorPropertyDeclaration(node)) { + return grammarErrorOnNode(node.name, ts.Diagnostics.Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher); + } + if (ts.isAutoAccessorPropertyDeclaration(node) && checkGrammarForInvalidQuestionMark(node.questionToken, ts.Diagnostics.An_accessor_property_cannot_be_declared_optional)) { + return true; + } } - else if (node.parent.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + else if (node.parent.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { if (checkGrammarForInvalidDynamicName(node.name, ts.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)) { return true; } @@ -90209,14 +90989,14 @@ var ts; // export_opt AmbientDeclaration // // TODO: The spec needs to be amended to reflect this grammar. - if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || - node.kind === 259 /* SyntaxKind.TypeAliasDeclaration */ || - node.kind === 266 /* SyntaxKind.ImportDeclaration */ || - node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ || - node.kind === 272 /* SyntaxKind.ExportDeclaration */ || - node.kind === 271 /* SyntaxKind.ExportAssignment */ || - node.kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ || - ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */ | 1 /* ModifierFlags.Export */ | 512 /* ModifierFlags.Default */)) { + if (node.kind === 261 /* SyntaxKind.InterfaceDeclaration */ || + node.kind === 262 /* SyntaxKind.TypeAliasDeclaration */ || + node.kind === 269 /* SyntaxKind.ImportDeclaration */ || + node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ || + node.kind === 275 /* SyntaxKind.ExportDeclaration */ || + node.kind === 274 /* SyntaxKind.ExportAssignment */ || + node.kind === 267 /* SyntaxKind.NamespaceExportDeclaration */ || + ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */ | 1 /* ModifierFlags.Export */ | 1024 /* ModifierFlags.Default */)) { return false; } return grammarErrorOnFirstToken(node, ts.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier); @@ -90224,7 +91004,7 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var _i = 0, _a = file.statements; _i < _a.length; _i++) { var decl = _a[_i]; - if (ts.isDeclaration(decl) || decl.kind === 237 /* SyntaxKind.VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 240 /* SyntaxKind.VariableStatement */) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } @@ -90247,7 +91027,7 @@ var ts; // to prevent noisiness. So use a bit on the block to indicate if // this has already been reported, and don't report if it has. // - if (node.parent.kind === 235 /* SyntaxKind.Block */ || node.parent.kind === 262 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.parent.kind === 238 /* SyntaxKind.Block */ || node.parent.kind === 265 /* SyntaxKind.ModuleBlock */ || node.parent.kind === 308 /* SyntaxKind.SourceFile */) { var links_2 = getNodeLinks(node.parent); // Check if the containing block ever report this error if (!links_2.hasReportedStatementInAmbientContext) { @@ -90269,10 +91049,10 @@ var ts; if (languageVersion >= 1 /* ScriptTarget.ES5 */) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 196 /* SyntaxKind.LiteralType */)) { + else if (ts.isChildOfNodeWithKind(node, 198 /* SyntaxKind.LiteralType */)) { diagnosticMessage = ts.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0; } - else if (ts.isChildOfNodeWithKind(node, 299 /* SyntaxKind.EnumMember */)) { + else if (ts.isChildOfNodeWithKind(node, 302 /* SyntaxKind.EnumMember */)) { diagnosticMessage = ts.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0; } if (diagnosticMessage) { @@ -90344,7 +91124,7 @@ var ts; if (node.isTypeOnly && node.name && node.namedBindings) { return grammarErrorOnNode(node, ts.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both); } - if (node.isTypeOnly && ((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 269 /* SyntaxKind.NamedImports */) { + if (node.isTypeOnly && ((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 272 /* SyntaxKind.NamedImports */) { return checkGrammarNamedImportsOrExports(node.namedBindings); } return false; @@ -90352,7 +91132,7 @@ var ts; function checkGrammarNamedImportsOrExports(namedBindings) { return !!ts.forEach(namedBindings.elements, function (specifier) { if (specifier.isTypeOnly) { - return grammarErrorOnFirstToken(specifier, specifier.kind === 270 /* SyntaxKind.ImportSpecifier */ + return grammarErrorOnFirstToken(specifier, specifier.kind === 273 /* SyntaxKind.ImportSpecifier */ ? ts.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement : ts.Diagnostics.The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement); } @@ -90366,7 +91146,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { @@ -90475,14 +91255,14 @@ var ts; return !ts.isAccessor(declaration); } function isNotOverload(declaration) { - return (declaration.kind !== 256 /* SyntaxKind.FunctionDeclaration */ && declaration.kind !== 169 /* SyntaxKind.MethodDeclaration */) || + return (declaration.kind !== 259 /* SyntaxKind.FunctionDeclaration */ && declaration.kind !== 171 /* SyntaxKind.MethodDeclaration */) || !!declaration.body; } /** Like 'isDeclarationName', but returns true for LHS of `import { x as y }` or `export { x as y }`. */ function isDeclarationNameOrImportPropertyName(name) { switch (name.parent.kind) { - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: return ts.isIdentifier(name); default: return ts.isDeclarationName(name); @@ -90518,6 +91298,7 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { + var _a; function visitNode(node, visitor, test, lift) { if (node === undefined || visitor === undefined) { return node; @@ -90584,7 +91365,6 @@ var ts; return nodes; } ts.visitNodes = visitNodes; - /* @internal */ function visitArray(nodes, visitor, test, start, count) { if (nodes === undefined) { return nodes; @@ -90698,14 +91478,14 @@ var ts; var factory = context.factory; context.addInitializationStatement(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(parameter.name, + factory.createVariableDeclaration(parameter.name, /*exclamationToken*/ undefined, parameter.type, parameter.initializer ? - factory.createConditionalExpression(factory.createStrictEquality(factory.getGeneratedNameForNode(parameter), factory.createVoidZero()), - /*questionToken*/ undefined, parameter.initializer, + factory.createConditionalExpression(factory.createStrictEquality(factory.getGeneratedNameForNode(parameter), factory.createVoidZero()), + /*questionToken*/ undefined, parameter.initializer, /*colonToken*/ undefined, factory.getGeneratedNameForNode(parameter)) : factory.getGeneratedNameForNode(parameter)), ]))); - return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, factory.getGeneratedNameForNode(parameter), parameter.questionToken, parameter.type, + return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, factory.getGeneratedNameForNode(parameter), parameter.questionToken, parameter.type, /*initializer*/ undefined); } function addDefaultValueAssignmentForInitializer(parameter, name, initializer, context) { @@ -90713,7 +91493,7 @@ var ts; context.addInitializationStatement(factory.createIfStatement(factory.createTypeCheck(factory.cloneNode(name), "undefined"), ts.setEmitFlags(ts.setTextRange(factory.createBlock([ factory.createExpressionStatement(ts.setEmitFlags(ts.setTextRange(factory.createAssignment(ts.setEmitFlags(factory.cloneNode(name), 48 /* EmitFlags.NoSourceMap */), ts.setEmitFlags(initializer, 48 /* EmitFlags.NoSourceMap */ | ts.getEmitFlags(initializer) | 1536 /* EmitFlags.NoComments */)), parameter), 1536 /* EmitFlags.NoComments */)) ]), parameter), 1 /* EmitFlags.SingleLine */ | 32 /* EmitFlags.NoTrailingSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */ | 1536 /* EmitFlags.NoComments */))); - return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, + return factory.updateParameterDeclaration(parameter, parameter.modifiers, parameter.dotDotDotToken, parameter.name, parameter.questionToken, parameter.type, /*initializer*/ undefined); } function visitFunctionBody(node, visitor, context, nodeVisitor) { @@ -90732,12 +91512,10 @@ var ts; return updated; } ts.visitFunctionBody = visitFunctionBody; - /** - * Visits an iteration body, adding any block-scoped variables required by the transformation. - */ - function visitIterationBody(body, visitor, context) { + function visitIterationBody(body, visitor, context, nodeVisitor) { + if (nodeVisitor === void 0) { nodeVisitor = visitNode; } context.startBlockScope(); - var updated = visitNode(body, visitor, ts.isStatement, context.factory.liftToBlock); + var updated = nodeVisitor(body, visitor, ts.isStatement, context.factory.liftToBlock); var declarations = context.endBlockScope(); if (ts.some(declarations)) { if (ts.isBlock(updated)) { @@ -90756,456 +91534,446 @@ var ts; if (node === undefined) { return undefined; } - var kind = node.kind; - // No need to visit nodes with no children. - if ((kind > 0 /* SyntaxKind.FirstToken */ && kind <= 160 /* SyntaxKind.LastToken */) || kind === 192 /* SyntaxKind.ThisType */) { - return node; - } - var factory = context.factory; - switch (kind) { - // Names - case 79 /* SyntaxKind.Identifier */: - ts.Debug.type(node); - return factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration)); - case 161 /* SyntaxKind.QualifiedName */: - ts.Debug.type(node); - return factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier)); - case 162 /* SyntaxKind.ComputedPropertyName */: - ts.Debug.type(node); - return factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - // Signature elements - case 163 /* SyntaxKind.TypeParameter */: - ts.Debug.type(node); - return factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode)); - case 164 /* SyntaxKind.Parameter */: - ts.Debug.type(node); - return factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 165 /* SyntaxKind.Decorator */: - ts.Debug.type(node); - return factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - // Type elements - case 166 /* SyntaxKind.PropertySignature */: - ts.Debug.type(node); - return factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 167 /* SyntaxKind.PropertyDeclaration */: - ts.Debug.type(node); - return factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), - // QuestionToken and ExclamationToken is uniqued in Property Declaration and the signature of 'updateProperty' is that too - nodeVisitor(node.questionToken || node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 168 /* SyntaxKind.MethodSignature */: - ts.Debug.type(node); - return factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 169 /* SyntaxKind.MethodDeclaration */: - ts.Debug.type(node); - return factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 171 /* SyntaxKind.Constructor */: - ts.Debug.type(node); - return factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 172 /* SyntaxKind.GetAccessor */: - ts.Debug.type(node); - return factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 173 /* SyntaxKind.SetAccessor */: - ts.Debug.type(node); - return factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - ts.Debug.type(node); - context.startLexicalEnvironment(); - context.suspendLexicalEnvironment(); - return factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 174 /* SyntaxKind.CallSignature */: - ts.Debug.type(node); - return factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 175 /* SyntaxKind.ConstructSignature */: - ts.Debug.type(node); - return factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 176 /* SyntaxKind.IndexSignature */: - ts.Debug.type(node); - return factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - // Types - case 177 /* SyntaxKind.TypePredicate */: - ts.Debug.type(node); - return factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 178 /* SyntaxKind.TypeReference */: - ts.Debug.type(node); - return factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 179 /* SyntaxKind.FunctionType */: - ts.Debug.type(node); - return factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 180 /* SyntaxKind.ConstructorType */: - ts.Debug.type(node); - return factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 181 /* SyntaxKind.TypeQuery */: - ts.Debug.type(node); - return factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 182 /* SyntaxKind.TypeLiteral */: - ts.Debug.type(node); - return factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 183 /* SyntaxKind.ArrayType */: - ts.Debug.type(node); - return factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode)); - case 184 /* SyntaxKind.TupleType */: - ts.Debug.type(node); - return factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode)); - case 185 /* SyntaxKind.OptionalType */: - ts.Debug.type(node); - return factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 186 /* SyntaxKind.RestType */: - ts.Debug.type(node); - return factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 187 /* SyntaxKind.UnionType */: - ts.Debug.type(node); - return factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 188 /* SyntaxKind.IntersectionType */: - ts.Debug.type(node); - return factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); - case 189 /* SyntaxKind.ConditionalType */: - ts.Debug.type(node); - return factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode)); - case 190 /* SyntaxKind.InferType */: - ts.Debug.type(node); - return factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); - case 200 /* SyntaxKind.ImportType */: - ts.Debug.type(node); - return factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isNode), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); - case 295 /* SyntaxKind.ImportTypeAssertionContainer */: - ts.Debug.type(node); - return factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isNode), node.multiLine); - case 197 /* SyntaxKind.NamedTupleMember */: - ts.Debug.type(node); - return factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 191 /* SyntaxKind.ParenthesizedType */: - ts.Debug.type(node); - return factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 193 /* SyntaxKind.TypeOperator */: - ts.Debug.type(node); - return factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 194 /* SyntaxKind.IndexedAccessType */: - ts.Debug.type(node); - return factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode)); - case 195 /* SyntaxKind.MappedType */: - ts.Debug.type(node); - return factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 196 /* SyntaxKind.LiteralType */: - ts.Debug.type(node); - return factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression)); - case 198 /* SyntaxKind.TemplateLiteralType */: - ts.Debug.type(node); - return factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan)); - case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: - ts.Debug.type(node); - return factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); - // Binding patterns - case 201 /* SyntaxKind.ObjectBindingPattern */: - ts.Debug.type(node); - return factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); - case 202 /* SyntaxKind.ArrayBindingPattern */: - ts.Debug.type(node); - return factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); - case 203 /* SyntaxKind.BindingElement */: - ts.Debug.type(node); - return factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression)); - // Expression - case 204 /* SyntaxKind.ArrayLiteralExpression */: - ts.Debug.type(node); - return factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - case 205 /* SyntaxKind.ObjectLiteralExpression */: - ts.Debug.type(node); - return factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); - case 206 /* SyntaxKind.PropertyAccessExpression */: - if (node.flags & 32 /* NodeFlags.OptionalChain */) { - ts.Debug.type(node); - return factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)); - } - ts.Debug.type(node); - return factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName)); - case 207 /* SyntaxKind.ElementAccessExpression */: - if (node.flags & 32 /* NodeFlags.OptionalChain */) { - ts.Debug.type(node); - return factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); - } - ts.Debug.type(node); - return factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); - case 208 /* SyntaxKind.CallExpression */: - if (node.flags & 32 /* NodeFlags.OptionalChain */) { - ts.Debug.type(node); - return factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - } - ts.Debug.type(node); - return factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 209 /* SyntaxKind.NewExpression */: - ts.Debug.type(node); - return factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); - case 210 /* SyntaxKind.TaggedTemplateExpression */: - ts.Debug.type(node); - return factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral)); - case 211 /* SyntaxKind.TypeAssertionExpression */: - ts.Debug.type(node); - return factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 212 /* SyntaxKind.ParenthesizedExpression */: - ts.Debug.type(node); - return factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 213 /* SyntaxKind.FunctionExpression */: - ts.Debug.type(node); - return factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 214 /* SyntaxKind.ArrowFunction */: - ts.Debug.type(node); - return factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 215 /* SyntaxKind.DeleteExpression */: - ts.Debug.type(node); - return factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 216 /* SyntaxKind.TypeOfExpression */: - ts.Debug.type(node); - return factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 217 /* SyntaxKind.VoidExpression */: - ts.Debug.type(node); - return factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 218 /* SyntaxKind.AwaitExpression */: - ts.Debug.type(node); - return factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 219 /* SyntaxKind.PrefixUnaryExpression */: - ts.Debug.type(node); - return factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); - case 220 /* SyntaxKind.PostfixUnaryExpression */: - ts.Debug.type(node); - return factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); - case 221 /* SyntaxKind.BinaryExpression */: - ts.Debug.type(node); - return factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression)); - case 222 /* SyntaxKind.ConditionalExpression */: - ts.Debug.type(node); - return factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression)); - case 223 /* SyntaxKind.TemplateExpression */: - ts.Debug.type(node); - return factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); - case 224 /* SyntaxKind.YieldExpression */: - ts.Debug.type(node); - return factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 225 /* SyntaxKind.SpreadElement */: - ts.Debug.type(node); - return factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 226 /* SyntaxKind.ClassExpression */: - ts.Debug.type(node); - return factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - ts.Debug.type(node); - return factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); - case 229 /* SyntaxKind.AsExpression */: - ts.Debug.type(node); - return factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 230 /* SyntaxKind.NonNullExpression */: - if (node.flags & 32 /* NodeFlags.OptionalChain */) { - ts.Debug.type(node); - return factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - } - ts.Debug.type(node); - return factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 231 /* SyntaxKind.MetaProperty */: - ts.Debug.type(node); - return factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - // Misc - case 233 /* SyntaxKind.TemplateSpan */: - ts.Debug.type(node); - return factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); - // Element - case 235 /* SyntaxKind.Block */: - ts.Debug.type(node); - return factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 237 /* SyntaxKind.VariableStatement */: - ts.Debug.type(node); - return factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList)); - case 238 /* SyntaxKind.ExpressionStatement */: - ts.Debug.type(node); - return factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 239 /* SyntaxKind.IfStatement */: - ts.Debug.type(node); - return factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, factory.liftToBlock)); - case 240 /* SyntaxKind.DoStatement */: - ts.Debug.type(node); - return factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 241 /* SyntaxKind.WhileStatement */: - ts.Debug.type(node); - return factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 242 /* SyntaxKind.ForStatement */: - ts.Debug.type(node); - return factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 243 /* SyntaxKind.ForInStatement */: - ts.Debug.type(node); - return factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 244 /* SyntaxKind.ForOfStatement */: - ts.Debug.type(node); - return factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context)); - case 245 /* SyntaxKind.ContinueStatement */: - ts.Debug.type(node); - return factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); - case 246 /* SyntaxKind.BreakStatement */: - ts.Debug.type(node); - return factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); - case 247 /* SyntaxKind.ReturnStatement */: - ts.Debug.type(node); - return factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 248 /* SyntaxKind.WithStatement */: - ts.Debug.type(node); - return factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock)); - case 249 /* SyntaxKind.SwitchStatement */: - ts.Debug.type(node); - return factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock)); - case 250 /* SyntaxKind.LabeledStatement */: - ts.Debug.type(node); - return factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, factory.liftToBlock)); - case 251 /* SyntaxKind.ThrowStatement */: - ts.Debug.type(node); - return factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 252 /* SyntaxKind.TryStatement */: - ts.Debug.type(node); - return factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock)); - case 254 /* SyntaxKind.VariableDeclaration */: - ts.Debug.type(node); - return factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 255 /* SyntaxKind.VariableDeclarationList */: - ts.Debug.type(node); - return factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); - case 256 /* SyntaxKind.FunctionDeclaration */: - ts.Debug.type(node); - return factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); - case 257 /* SyntaxKind.ClassDeclaration */: - ts.Debug.type(node); - return factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); - case 258 /* SyntaxKind.InterfaceDeclaration */: - ts.Debug.type(node); - return factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); - case 259 /* SyntaxKind.TypeAliasDeclaration */: - ts.Debug.type(node); - return factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); - case 260 /* SyntaxKind.EnumDeclaration */: - ts.Debug.type(node); - return factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); - case 261 /* SyntaxKind.ModuleDeclaration */: - ts.Debug.type(node); - return factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody)); - case 262 /* SyntaxKind.ModuleBlock */: - ts.Debug.type(node); - return factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 263 /* SyntaxKind.CaseBlock */: - ts.Debug.type(node); - return factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); - case 264 /* SyntaxKind.NamespaceExportDeclaration */: - ts.Debug.type(node); - return factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - ts.Debug.type(node); - return factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference)); - case 266 /* SyntaxKind.ImportDeclaration */: - ts.Debug.type(node); - return factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); - case 293 /* SyntaxKind.AssertClause */: - ts.Debug.type(node); - return factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine); - case 294 /* SyntaxKind.AssertEntry */: - ts.Debug.type(node); - return factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpressionNode)); - case 267 /* SyntaxKind.ImportClause */: - ts.Debug.type(node); - return factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings)); - case 268 /* SyntaxKind.NamespaceImport */: - ts.Debug.type(node); - return factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 274 /* SyntaxKind.NamespaceExport */: - ts.Debug.type(node); - return factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 269 /* SyntaxKind.NamedImports */: - ts.Debug.type(node); - return factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); - case 270 /* SyntaxKind.ImportSpecifier */: - ts.Debug.type(node); - return factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); - case 271 /* SyntaxKind.ExportAssignment */: - ts.Debug.type(node); - return factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression)); - case 272 /* SyntaxKind.ExportDeclaration */: - ts.Debug.type(node); - return factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); - case 273 /* SyntaxKind.NamedExports */: - ts.Debug.type(node); - return factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); - case 275 /* SyntaxKind.ExportSpecifier */: - ts.Debug.type(node); - return factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); - // Module references - case 277 /* SyntaxKind.ExternalModuleReference */: - ts.Debug.type(node); - return factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - // JSX - case 278 /* SyntaxKind.JsxElement */: - ts.Debug.type(node); - return factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement)); - case 279 /* SyntaxKind.JsxSelfClosingElement */: - ts.Debug.type(node); - return factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); - case 280 /* SyntaxKind.JsxOpeningElement */: - ts.Debug.type(node); - return factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); - case 281 /* SyntaxKind.JsxClosingElement */: - ts.Debug.type(node); - return factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression)); - case 282 /* SyntaxKind.JsxFragment */: - ts.Debug.type(node); - return factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment)); - case 285 /* SyntaxKind.JsxAttribute */: - ts.Debug.type(node); - return factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); - case 286 /* SyntaxKind.JsxAttributes */: - ts.Debug.type(node); - return factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); - case 287 /* SyntaxKind.JsxSpreadAttribute */: - ts.Debug.type(node); - return factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 288 /* SyntaxKind.JsxExpression */: - ts.Debug.type(node); - return factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - // Clauses - case 289 /* SyntaxKind.CaseClause */: - ts.Debug.type(node); - return factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); - case 290 /* SyntaxKind.DefaultClause */: - ts.Debug.type(node); - return factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); - case 291 /* SyntaxKind.HeritageClause */: - ts.Debug.type(node); - return factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); - case 292 /* SyntaxKind.CatchClause */: - ts.Debug.type(node); - return factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock)); - // Property assignments - case 296 /* SyntaxKind.PropertyAssignment */: - ts.Debug.type(node); - return factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - ts.Debug.type(node); - return factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression)); - case 298 /* SyntaxKind.SpreadAssignment */: - ts.Debug.type(node); - return factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - // Enum - case 299 /* SyntaxKind.EnumMember */: - ts.Debug.type(node); - return factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); - // Top-level nodes - case 305 /* SyntaxKind.SourceFile */: - ts.Debug.type(node); - return factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context)); - // Transformation nodes - case 350 /* SyntaxKind.PartiallyEmittedExpression */: - ts.Debug.type(node); - return factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); - case 351 /* SyntaxKind.CommaListExpression */: - ts.Debug.type(node); - return factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); - default: - // No need to visit nodes with no children. - return node; - } + var fn = visitEachChildTable[node.kind]; + return fn === undefined ? node : fn(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor); } ts.visitEachChild = visitEachChild; + // NOTE: Before you can add a new method to `visitEachChildTable`, you must first ensure the `Node` subtype you + // wish to add is defined in the `HasChildren` union in types.ts. + var visitEachChildTable = (_a = {}, + _a[79 /* SyntaxKind.Identifier */] = function visitEachChildOfIdentifier(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateIdentifier(node, nodesVisitor(node.typeArguments, visitor, ts.isTypeNodeOrTypeParameterDeclaration)); + }, + _a[163 /* SyntaxKind.QualifiedName */] = function visitEachChildOfQualifiedName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateQualifiedName(node, nodeVisitor(node.left, visitor, ts.isEntityName), nodeVisitor(node.right, visitor, ts.isIdentifier)); + }, + _a[164 /* SyntaxKind.ComputedPropertyName */] = function visitEachChildOfComputedPropertyName(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateComputedPropertyName(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + // Signature elements + _a[165 /* SyntaxKind.TypeParameter */] = function visitEachChildOfTypeParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.constraint, visitor, ts.isTypeNode), nodeVisitor(node.default, visitor, ts.isTypeNode)); + }, + _a[166 /* SyntaxKind.Parameter */] = function visitEachChildOfParameterDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateParameterDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); + }, + _a[167 /* SyntaxKind.Decorator */] = function visitEachChildOfDecorator(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateDecorator(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + // Type elements + _a[168 /* SyntaxKind.PropertySignature */] = function visitEachChildOfPropertySignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updatePropertySignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[169 /* SyntaxKind.PropertyDeclaration */] = function visitEachChildOfPropertyDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + var _a; + return context.factory.updatePropertyDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), + // QuestionToken and ExclamationToken are mutually exclusive in PropertyDeclaration + nodeVisitor((_a = node.questionToken) !== null && _a !== void 0 ? _a : node.exclamationToken, tokenVisitor, ts.isQuestionOrExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); + }, + _a[170 /* SyntaxKind.MethodSignature */] = function visitEachChildOfMethodSignature(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateMethodSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[171 /* SyntaxKind.MethodDeclaration */] = function visitEachChildOfMethodDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateMethodDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[173 /* SyntaxKind.Constructor */] = function visitEachChildOfConstructorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateConstructorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[174 /* SyntaxKind.GetAccessor */] = function visitEachChildOfGetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateGetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[175 /* SyntaxKind.SetAccessor */] = function visitEachChildOfSetAccessorDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateSetAccessorDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isPropertyName), visitParameterList(node.parameters, visitor, context, nodesVisitor), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[172 /* SyntaxKind.ClassStaticBlockDeclaration */] = function visitEachChildOfClassStaticBlockDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + context.startLexicalEnvironment(); + context.suspendLexicalEnvironment(); + return context.factory.updateClassStaticBlockDeclaration(node, visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[176 /* SyntaxKind.CallSignature */] = function visitEachChildOfCallSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateCallSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[177 /* SyntaxKind.ConstructSignature */] = function visitEachChildOfConstructSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateConstructSignature(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[178 /* SyntaxKind.IndexSignature */] = function visitEachChildOfIndexSignatureDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateIndexSignature(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + // Types + _a[179 /* SyntaxKind.TypePredicate */] = function visitEachChildOfTypePredicateNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypePredicateNode(node, nodeVisitor(node.assertsModifier, visitor, ts.isAssertsKeyword), nodeVisitor(node.parameterName, visitor, ts.isIdentifierOrThisTypeNode), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[180 /* SyntaxKind.TypeReference */] = function visitEachChildOfTypeReferenceNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeReferenceNode(node, nodeVisitor(node.typeName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); + }, + _a[181 /* SyntaxKind.FunctionType */] = function visitEachChildOfFunctionTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateFunctionTypeNode(node, nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[182 /* SyntaxKind.ConstructorType */] = function visitEachChildOfConstructorTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateConstructorTypeNode(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.parameters, visitor, ts.isParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[183 /* SyntaxKind.TypeQuery */] = function visitEachChildOfTypeQueryNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeQueryNode(node, nodeVisitor(node.exprName, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); + }, + _a[184 /* SyntaxKind.TypeLiteral */] = function visitEachChildOfTypeLiteralNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeLiteralNode(node, nodesVisitor(node.members, visitor, ts.isTypeElement)); + }, + _a[185 /* SyntaxKind.ArrayType */] = function visitEachChildOfArrayTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateArrayTypeNode(node, nodeVisitor(node.elementType, visitor, ts.isTypeNode)); + }, + _a[186 /* SyntaxKind.TupleType */] = function visitEachChildOfTupleTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateTupleTypeNode(node, nodesVisitor(node.elements, visitor, ts.isTypeNode)); + }, + _a[187 /* SyntaxKind.OptionalType */] = function visitEachChildOfOptionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateOptionalTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[188 /* SyntaxKind.RestType */] = function visitEachChildOfRestTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateRestTypeNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[189 /* SyntaxKind.UnionType */] = function visitEachChildOfUnionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateUnionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); + }, + _a[190 /* SyntaxKind.IntersectionType */] = function visitEachChildOfIntersectionTypeNode(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateIntersectionTypeNode(node, nodesVisitor(node.types, visitor, ts.isTypeNode)); + }, + _a[191 /* SyntaxKind.ConditionalType */] = function visitEachChildOfConditionalTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateConditionalTypeNode(node, nodeVisitor(node.checkType, visitor, ts.isTypeNode), nodeVisitor(node.extendsType, visitor, ts.isTypeNode), nodeVisitor(node.trueType, visitor, ts.isTypeNode), nodeVisitor(node.falseType, visitor, ts.isTypeNode)); + }, + _a[192 /* SyntaxKind.InferType */] = function visitEachChildOfInferTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateInferTypeNode(node, nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration)); + }, + _a[202 /* SyntaxKind.ImportType */] = function visitEachChildOfImportTypeNode(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateImportTypeNode(node, nodeVisitor(node.argument, visitor, ts.isTypeNode), nodeVisitor(node.assertions, visitor, ts.isImportTypeAssertionContainer), nodeVisitor(node.qualifier, visitor, ts.isEntityName), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), node.isTypeOf); + }, + _a[298 /* SyntaxKind.ImportTypeAssertionContainer */] = function visitEachChildOfImportTypeAssertionContainer(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateImportTypeAssertionContainer(node, nodeVisitor(node.assertClause, visitor, ts.isAssertClause), node.multiLine); + }, + _a[199 /* SyntaxKind.NamedTupleMember */] = function visitEachChildOfNamedTupleMember(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateNamedTupleMember(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[193 /* SyntaxKind.ParenthesizedType */] = function visitEachChildOfParenthesizedType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateParenthesizedType(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[195 /* SyntaxKind.TypeOperator */] = function visitEachChildOfTypeOperatorNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeOperatorNode(node, nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[196 /* SyntaxKind.IndexedAccessType */] = function visitEachChildOfIndexedAccessType(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateIndexedAccessTypeNode(node, nodeVisitor(node.objectType, visitor, ts.isTypeNode), nodeVisitor(node.indexType, visitor, ts.isTypeNode)); + }, + _a[197 /* SyntaxKind.MappedType */] = function visitEachChildOfMappedType(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateMappedTypeNode(node, nodeVisitor(node.readonlyToken, tokenVisitor, ts.isReadonlyKeywordOrPlusOrMinusToken), nodeVisitor(node.typeParameter, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.nameType, visitor, ts.isTypeNode), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionOrPlusOrMinusToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodesVisitor(node.members, visitor, ts.isTypeElement)); + }, + _a[198 /* SyntaxKind.LiteralType */] = function visitEachChildOfLiteralTypeNode(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateLiteralTypeNode(node, nodeVisitor(node.literal, visitor, ts.isExpression)); + }, + _a[200 /* SyntaxKind.TemplateLiteralType */] = function visitEachChildOfTemplateLiteralType(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTemplateLiteralType(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateLiteralTypeSpan)); + }, + _a[201 /* SyntaxKind.TemplateLiteralTypeSpan */] = function visitEachChildOfTemplateLiteralTypeSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTemplateLiteralTypeSpan(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); + }, + // Binding patterns + _a[203 /* SyntaxKind.ObjectBindingPattern */] = function visitEachChildOfObjectBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateObjectBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isBindingElement)); + }, + _a[204 /* SyntaxKind.ArrayBindingPattern */] = function visitEachChildOfArrayBindingPattern(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateArrayBindingPattern(node, nodesVisitor(node.elements, visitor, ts.isArrayBindingElement)); + }, + _a[205 /* SyntaxKind.BindingElement */] = function visitEachChildOfBindingElement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateBindingElement(node, nodeVisitor(node.dotDotDotToken, tokenVisitor, ts.isDotDotDotToken), nodeVisitor(node.propertyName, visitor, ts.isPropertyName), nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.initializer, visitor, ts.isExpression)); + }, + // Expression + _a[206 /* SyntaxKind.ArrayLiteralExpression */] = function visitEachChildOfArrayLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateArrayLiteralExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); + }, + _a[207 /* SyntaxKind.ObjectLiteralExpression */] = function visitEachChildOfObjectLiteralExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateObjectLiteralExpression(node, nodesVisitor(node.properties, visitor, ts.isObjectLiteralElementLike)); + }, + _a[208 /* SyntaxKind.PropertyAccessExpression */] = function visitEachChildOfPropertyAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return ts.isPropertyAccessChain(node) ? + context.factory.updatePropertyAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.name, visitor, ts.isMemberName)) : + context.factory.updatePropertyAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.name, visitor, ts.isMemberName)); + }, + _a[209 /* SyntaxKind.ElementAccessExpression */] = function visitEachChildOfElementAccessExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return ts.isElementAccessChain(node) ? + context.factory.updateElementAccessChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)) : + context.factory.updateElementAccessExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.argumentExpression, visitor, ts.isExpression)); + }, + _a[210 /* SyntaxKind.CallExpression */] = function visitEachChildOfCallExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return ts.isCallChain(node) ? + context.factory.updateCallChain(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.questionDotToken, tokenVisitor, ts.isQuestionDotToken), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)) : + context.factory.updateCallExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); + }, + _a[211 /* SyntaxKind.NewExpression */] = function visitEachChildOfNewExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateNewExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodesVisitor(node.arguments, visitor, ts.isExpression)); + }, + _a[212 /* SyntaxKind.TaggedTemplateExpression */] = function visitEachChildOfTaggedTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTaggedTemplateExpression(node, nodeVisitor(node.tag, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.template, visitor, ts.isTemplateLiteral)); + }, + _a[213 /* SyntaxKind.TypeAssertionExpression */] = function visitEachChildOfTypeAssertionExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeAssertion(node, nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[214 /* SyntaxKind.ParenthesizedExpression */] = function visitEachChildOfParenthesizedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateParenthesizedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[215 /* SyntaxKind.FunctionExpression */] = function visitEachChildOfFunctionExpression(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateFunctionExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[216 /* SyntaxKind.ArrowFunction */] = function visitEachChildOfArrowFunction(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateArrowFunction(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.equalsGreaterThanToken, tokenVisitor, ts.isEqualsGreaterThanToken), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[217 /* SyntaxKind.DeleteExpression */] = function visitEachChildOfDeleteExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateDeleteExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[218 /* SyntaxKind.TypeOfExpression */] = function visitEachChildOfTypeOfExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeOfExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[219 /* SyntaxKind.VoidExpression */] = function visitEachChildOfVoidExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateVoidExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[220 /* SyntaxKind.AwaitExpression */] = function visitEachChildOfAwaitExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateAwaitExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[221 /* SyntaxKind.PrefixUnaryExpression */] = function visitEachChildOfPrefixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updatePrefixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); + }, + _a[222 /* SyntaxKind.PostfixUnaryExpression */] = function visitEachChildOfPostfixUnaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updatePostfixUnaryExpression(node, nodeVisitor(node.operand, visitor, ts.isExpression)); + }, + _a[223 /* SyntaxKind.BinaryExpression */] = function visitEachChildOfBinaryExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateBinaryExpression(node, nodeVisitor(node.left, visitor, ts.isExpression), nodeVisitor(node.operatorToken, tokenVisitor, ts.isBinaryOperatorToken), nodeVisitor(node.right, visitor, ts.isExpression)); + }, + _a[224 /* SyntaxKind.ConditionalExpression */] = function visitEachChildOfConditionalExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateConditionalExpression(node, nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.questionToken, tokenVisitor, ts.isQuestionToken), nodeVisitor(node.whenTrue, visitor, ts.isExpression), nodeVisitor(node.colonToken, tokenVisitor, ts.isColonToken), nodeVisitor(node.whenFalse, visitor, ts.isExpression)); + }, + _a[225 /* SyntaxKind.TemplateExpression */] = function visitEachChildOfTemplateExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTemplateExpression(node, nodeVisitor(node.head, visitor, ts.isTemplateHead), nodesVisitor(node.templateSpans, visitor, ts.isTemplateSpan)); + }, + _a[226 /* SyntaxKind.YieldExpression */] = function visitEachChildOfYieldExpression(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateYieldExpression(node, nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[227 /* SyntaxKind.SpreadElement */] = function visitEachChildOfSpreadElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateSpreadElement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[228 /* SyntaxKind.ClassExpression */] = function visitEachChildOfClassExpression(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateClassExpression(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); + }, + _a[230 /* SyntaxKind.ExpressionWithTypeArguments */] = function visitEachChildOfExpressionWithTypeArguments(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateExpressionWithTypeArguments(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode)); + }, + _a[231 /* SyntaxKind.AsExpression */] = function visitEachChildOfAsExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateAsExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[235 /* SyntaxKind.SatisfiesExpression */] = function visitEachChildOfSatisfiesExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateSatisfiesExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[232 /* SyntaxKind.NonNullExpression */] = function visitEachChildOfNonNullExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return ts.isOptionalChain(node) ? + context.factory.updateNonNullChain(node, nodeVisitor(node.expression, visitor, ts.isExpression)) : + context.factory.updateNonNullExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[233 /* SyntaxKind.MetaProperty */] = function visitEachChildOfMetaProperty(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateMetaProperty(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); + }, + // Misc + _a[236 /* SyntaxKind.TemplateSpan */] = function visitEachChildOfTemplateSpan(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTemplateSpan(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.literal, visitor, ts.isTemplateMiddleOrTemplateTail)); + }, + // Element + _a[238 /* SyntaxKind.Block */] = function visitEachChildOfBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + }, + _a[240 /* SyntaxKind.VariableStatement */] = function visitEachChildOfVariableStatement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateVariableStatement(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.declarationList, visitor, ts.isVariableDeclarationList)); + }, + _a[241 /* SyntaxKind.ExpressionStatement */] = function visitEachChildOfExpressionStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateExpressionStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[242 /* SyntaxKind.IfStatement */] = function visitEachChildOfIfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateIfStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.thenStatement, visitor, ts.isStatement, context.factory.liftToBlock), nodeVisitor(node.elseStatement, visitor, ts.isStatement, context.factory.liftToBlock)); + }, + _a[243 /* SyntaxKind.DoStatement */] = function visitEachChildOfDoStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateDoStatement(node, visitIterationBody(node.statement, visitor, context, nodeVisitor), nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[244 /* SyntaxKind.WhileStatement */] = function visitEachChildOfWhileStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateWhileStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor)); + }, + _a[245 /* SyntaxKind.ForStatement */] = function visitEachChildOfForStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateForStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.condition, visitor, ts.isExpression), nodeVisitor(node.incrementor, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor)); + }, + _a[246 /* SyntaxKind.ForInStatement */] = function visitEachChildOfForInStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateForInStatement(node, nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor)); + }, + _a[247 /* SyntaxKind.ForOfStatement */] = function visitEachChildOfForOfStatement(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateForOfStatement(node, nodeVisitor(node.awaitModifier, tokenVisitor, ts.isAwaitKeyword), nodeVisitor(node.initializer, visitor, ts.isForInitializer), nodeVisitor(node.expression, visitor, ts.isExpression), visitIterationBody(node.statement, visitor, context, nodeVisitor)); + }, + _a[248 /* SyntaxKind.ContinueStatement */] = function visitEachChildOfContinueStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateContinueStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); + }, + _a[249 /* SyntaxKind.BreakStatement */] = function visitEachChildOfBreakStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateBreakStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier)); + }, + _a[250 /* SyntaxKind.ReturnStatement */] = function visitEachChildOfReturnStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateReturnStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[251 /* SyntaxKind.WithStatement */] = function visitEachChildOfWithStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateWithStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock)); + }, + _a[252 /* SyntaxKind.SwitchStatement */] = function visitEachChildOfSwitchStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateSwitchStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodeVisitor(node.caseBlock, visitor, ts.isCaseBlock)); + }, + _a[253 /* SyntaxKind.LabeledStatement */] = function visitEachChildOfLabeledStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateLabeledStatement(node, nodeVisitor(node.label, visitor, ts.isIdentifier), nodeVisitor(node.statement, visitor, ts.isStatement, context.factory.liftToBlock)); + }, + _a[254 /* SyntaxKind.ThrowStatement */] = function visitEachChildOfThrowStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateThrowStatement(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[255 /* SyntaxKind.TryStatement */] = function visitEachChildOfTryStatement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTryStatement(node, nodeVisitor(node.tryBlock, visitor, ts.isBlock), nodeVisitor(node.catchClause, visitor, ts.isCatchClause), nodeVisitor(node.finallyBlock, visitor, ts.isBlock)); + }, + _a[257 /* SyntaxKind.VariableDeclaration */] = function visitEachChildOfVariableDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateVariableDeclaration(node, nodeVisitor(node.name, visitor, ts.isBindingName), nodeVisitor(node.exclamationToken, tokenVisitor, ts.isExclamationToken), nodeVisitor(node.type, visitor, ts.isTypeNode), nodeVisitor(node.initializer, visitor, ts.isExpression)); + }, + _a[258 /* SyntaxKind.VariableDeclarationList */] = function visitEachChildOfVariableDeclarationList(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateVariableDeclarationList(node, nodesVisitor(node.declarations, visitor, ts.isVariableDeclaration)); + }, + _a[259 /* SyntaxKind.FunctionDeclaration */] = function visitEachChildOfFunctionDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, tokenVisitor) { + return context.factory.updateFunctionDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.asteriskToken, tokenVisitor, ts.isAsteriskToken), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), visitParameterList(node.parameters, visitor, context, nodesVisitor), nodeVisitor(node.type, visitor, ts.isTypeNode), visitFunctionBody(node.body, visitor, context, nodeVisitor)); + }, + _a[260 /* SyntaxKind.ClassDeclaration */] = function visitEachChildOfClassDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateClassDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifierLike), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isClassElement)); + }, + _a[261 /* SyntaxKind.InterfaceDeclaration */] = function visitEachChildOfInterfaceDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateInterfaceDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodesVisitor(node.heritageClauses, visitor, ts.isHeritageClause), nodesVisitor(node.members, visitor, ts.isTypeElement)); + }, + _a[262 /* SyntaxKind.TypeAliasDeclaration */] = function visitEachChildOfTypeAliasDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateTypeAliasDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.typeParameters, visitor, ts.isTypeParameterDeclaration), nodeVisitor(node.type, visitor, ts.isTypeNode)); + }, + _a[263 /* SyntaxKind.EnumDeclaration */] = function visitEachChildOfEnumDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateEnumDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isIdentifier), nodesVisitor(node.members, visitor, ts.isEnumMember)); + }, + _a[264 /* SyntaxKind.ModuleDeclaration */] = function visitEachChildOfModuleDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateModuleDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.name, visitor, ts.isModuleName), nodeVisitor(node.body, visitor, ts.isModuleBody)); + }, + _a[265 /* SyntaxKind.ModuleBlock */] = function visitEachChildOfModuleBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateModuleBlock(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + }, + _a[266 /* SyntaxKind.CaseBlock */] = function visitEachChildOfCaseBlock(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateCaseBlock(node, nodesVisitor(node.clauses, visitor, ts.isCaseOrDefaultClause)); + }, + _a[267 /* SyntaxKind.NamespaceExportDeclaration */] = function visitEachChildOfNamespaceExportDeclaration(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateNamespaceExportDeclaration(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); + }, + _a[268 /* SyntaxKind.ImportEqualsDeclaration */] = function visitEachChildOfImportEqualsDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateImportEqualsDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.moduleReference, visitor, ts.isModuleReference)); + }, + _a[269 /* SyntaxKind.ImportDeclaration */] = function visitEachChildOfImportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateImportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.importClause, visitor, ts.isImportClause), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); + }, + _a[296 /* SyntaxKind.AssertClause */] = function visitEachChildOfAssertClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateAssertClause(node, nodesVisitor(node.elements, visitor, ts.isAssertEntry), node.multiLine); + }, + _a[297 /* SyntaxKind.AssertEntry */] = function visitEachChildOfAssertEntry(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateAssertEntry(node, nodeVisitor(node.name, visitor, ts.isAssertionKey), nodeVisitor(node.value, visitor, ts.isExpression)); + }, + _a[270 /* SyntaxKind.ImportClause */] = function visitEachChildOfImportClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateImportClause(node, node.isTypeOnly, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.namedBindings, visitor, ts.isNamedImportBindings)); + }, + _a[271 /* SyntaxKind.NamespaceImport */] = function visitEachChildOfNamespaceImport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateNamespaceImport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); + }, + _a[277 /* SyntaxKind.NamespaceExport */] = function visitEachChildOfNamespaceExport(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateNamespaceExport(node, nodeVisitor(node.name, visitor, ts.isIdentifier)); + }, + _a[272 /* SyntaxKind.NamedImports */] = function visitEachChildOfNamedImports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateNamedImports(node, nodesVisitor(node.elements, visitor, ts.isImportSpecifier)); + }, + _a[273 /* SyntaxKind.ImportSpecifier */] = function visitEachChildOfImportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateImportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); + }, + _a[274 /* SyntaxKind.ExportAssignment */] = function visitEachChildOfExportAssignment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateExportAssignment(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[275 /* SyntaxKind.ExportDeclaration */] = function visitEachChildOfExportDeclaration(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateExportDeclaration(node, nodesVisitor(node.modifiers, visitor, ts.isModifier), node.isTypeOnly, nodeVisitor(node.exportClause, visitor, ts.isNamedExportBindings), nodeVisitor(node.moduleSpecifier, visitor, ts.isExpression), nodeVisitor(node.assertClause, visitor, ts.isAssertClause)); + }, + _a[276 /* SyntaxKind.NamedExports */] = function visitEachChildOfNamedExports(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateNamedExports(node, nodesVisitor(node.elements, visitor, ts.isExportSpecifier)); + }, + _a[278 /* SyntaxKind.ExportSpecifier */] = function visitEachChildOfExportSpecifier(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateExportSpecifier(node, node.isTypeOnly, nodeVisitor(node.propertyName, visitor, ts.isIdentifier), nodeVisitor(node.name, visitor, ts.isIdentifier)); + }, + // Module references + _a[280 /* SyntaxKind.ExternalModuleReference */] = function visitEachChildOfExternalModuleReference(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateExternalModuleReference(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + // JSX + _a[281 /* SyntaxKind.JsxElement */] = function visitEachChildOfJsxElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxElement(node, nodeVisitor(node.openingElement, visitor, ts.isJsxOpeningElement), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingElement, visitor, ts.isJsxClosingElement)); + }, + _a[282 /* SyntaxKind.JsxSelfClosingElement */] = function visitEachChildOfJsxSelfClosingElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxSelfClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); + }, + _a[283 /* SyntaxKind.JsxOpeningElement */] = function visitEachChildOfJsxOpeningElement(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxOpeningElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression), nodesVisitor(node.typeArguments, visitor, ts.isTypeNode), nodeVisitor(node.attributes, visitor, ts.isJsxAttributes)); + }, + _a[284 /* SyntaxKind.JsxClosingElement */] = function visitEachChildOfJsxClosingElement(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxClosingElement(node, nodeVisitor(node.tagName, visitor, ts.isJsxTagNameExpression)); + }, + _a[285 /* SyntaxKind.JsxFragment */] = function visitEachChildOfJsxFragment(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxFragment(node, nodeVisitor(node.openingFragment, visitor, ts.isJsxOpeningFragment), nodesVisitor(node.children, visitor, ts.isJsxChild), nodeVisitor(node.closingFragment, visitor, ts.isJsxClosingFragment)); + }, + _a[288 /* SyntaxKind.JsxAttribute */] = function visitEachChildOfJsxAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxAttribute(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.initializer, visitor, ts.isStringLiteralOrJsxExpression)); + }, + _a[289 /* SyntaxKind.JsxAttributes */] = function visitEachChildOfJsxAttributes(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxAttributes(node, nodesVisitor(node.properties, visitor, ts.isJsxAttributeLike)); + }, + _a[290 /* SyntaxKind.JsxSpreadAttribute */] = function visitEachChildOfJsxSpreadAttribute(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxSpreadAttribute(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[291 /* SyntaxKind.JsxExpression */] = function visitEachChildOfJsxExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateJsxExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + // Clauses + _a[292 /* SyntaxKind.CaseClause */] = function visitEachChildOfCaseClause(node, visitor, context, nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateCaseClause(node, nodeVisitor(node.expression, visitor, ts.isExpression), nodesVisitor(node.statements, visitor, ts.isStatement)); + }, + _a[293 /* SyntaxKind.DefaultClause */] = function visitEachChildOfDefaultClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateDefaultClause(node, nodesVisitor(node.statements, visitor, ts.isStatement)); + }, + _a[294 /* SyntaxKind.HeritageClause */] = function visitEachChildOfHeritageClause(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateHeritageClause(node, nodesVisitor(node.types, visitor, ts.isExpressionWithTypeArguments)); + }, + _a[295 /* SyntaxKind.CatchClause */] = function visitEachChildOfCatchClause(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateCatchClause(node, nodeVisitor(node.variableDeclaration, visitor, ts.isVariableDeclaration), nodeVisitor(node.block, visitor, ts.isBlock)); + }, + // Property assignments + _a[299 /* SyntaxKind.PropertyAssignment */] = function visitEachChildOfPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updatePropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); + }, + _a[300 /* SyntaxKind.ShorthandPropertyAssignment */] = function visitEachChildOfShorthandPropertyAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateShorthandPropertyAssignment(node, nodeVisitor(node.name, visitor, ts.isIdentifier), nodeVisitor(node.objectAssignmentInitializer, visitor, ts.isExpression)); + }, + _a[301 /* SyntaxKind.SpreadAssignment */] = function visitEachChildOfSpreadAssignment(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateSpreadAssignment(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + // Enum + _a[302 /* SyntaxKind.EnumMember */] = function visitEachChildOfEnumMember(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updateEnumMember(node, nodeVisitor(node.name, visitor, ts.isPropertyName), nodeVisitor(node.initializer, visitor, ts.isExpression)); + }, + // Top-level nodes + _a[308 /* SyntaxKind.SourceFile */] = function visitEachChildOfSourceFile(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateSourceFile(node, visitLexicalEnvironment(node.statements, visitor, context, /*start*/ undefined, /*ensureUseStrict*/ undefined, nodesVisitor)); + }, + // Transformation nodes + _a[353 /* SyntaxKind.PartiallyEmittedExpression */] = function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) { + return context.factory.updatePartiallyEmittedExpression(node, nodeVisitor(node.expression, visitor, ts.isExpression)); + }, + _a[354 /* SyntaxKind.CommaListExpression */] = function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) { + return context.factory.updateCommaListExpression(node, nodesVisitor(node.elements, visitor, ts.isExpression)); + }, + _a); /** * Extracts the single node from a NodeArray. * @@ -91261,7 +92029,7 @@ var ts; }; function addSource(fileName) { enter(); - var source = ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, fileName, host.getCurrentDirectory(), host.getCanonicalFileName, + var source = ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, fileName, host.getCurrentDirectory(), host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ true); var sourceIndex = sourceToSourceIndexMap.get(source); if (sourceIndex === undefined) { @@ -91273,7 +92041,7 @@ var ts; exit(); return sourceIndex; } - /* eslint-disable boolean-trivia, no-null/no-null */ + /* eslint-disable local/boolean-trivia, no-null/no-null */ function setSourceContent(sourceIndex, content) { enter(); if (content !== null) { @@ -91286,7 +92054,7 @@ var ts; } exit(); } - /* eslint-enable boolean-trivia, no-null/no-null */ + /* eslint-enable local/boolean-trivia, no-null/no-null */ function addName(name) { enter(); if (!nameToNameIndexMap) @@ -91888,7 +92656,7 @@ var ts; function chainBundle(context, transformSourceFile) { return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - return node.kind === 305 /* SyntaxKind.SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 308 /* SyntaxKind.SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -91939,7 +92707,7 @@ var ts; for (var _i = 0, _a = sourceFile.statements; _i < _a.length; _i++) { var node = _a[_i]; switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: // import "mod" // import x from "mod" // import * as x from "mod" @@ -91952,13 +92720,13 @@ var ts; hasImportDefault = true; } break; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - if (node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + if (node.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */) { // import x = require("mod") externalImports.push(node); } break; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: if (node.moduleSpecifier) { if (!node.exportClause) { // export * from "mod" @@ -91989,13 +92757,13 @@ var ts; addExportedNamesForExportDeclaration(node); } break; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: if (node.isExportEquals && !exportEquals) { // export = x exportEquals = node; } break; - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { for (var _b = 0, _c = node.declarationList.declarations; _b < _c.length; _b++) { var decl = _c[_b]; @@ -92003,9 +92771,9 @@ var ts; } } break; - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - if (ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { + if (ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */)) { // export default function() { } if (!hasExportDefault) { multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), context.factory.getDeclarationName(node)); @@ -92023,9 +92791,9 @@ var ts; } } break; - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - if (ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)) { + if (ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */)) { // export default class { } if (!hasExportDefault) { multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), context.factory.getDeclarationName(node)); @@ -92203,7 +92971,7 @@ var ts; * @param isStatic A value indicating whether the member should be a static or instance member. */ function isInitializedProperty(member) { - return member.kind === 167 /* SyntaxKind.PropertyDeclaration */ + return member.kind === 169 /* SyntaxKind.PropertyDeclaration */ && member.initializer !== undefined; } ts.isInitializedProperty = isInitializedProperty; @@ -92213,7 +92981,7 @@ var ts; * @param member The class element node. */ function isNonStaticMethodOrAccessorWithPrivateName(member) { - return !ts.isStatic(member) && ts.isMethodOrAccessor(member) && ts.isPrivateIdentifier(member.name); + return !ts.isStatic(member) && (ts.isMethodOrAccessor(member) || ts.isAutoAccessorPropertyDeclaration(member)) && ts.isPrivateIdentifier(member.name); } ts.isNonStaticMethodOrAccessorWithPrivateName = isNonStaticMethodOrAccessorWithPrivateName; /** @@ -92267,12 +93035,12 @@ var ts; */ function getAllDecoratorsOfClassElement(member, parent) { switch (member.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return getAllDecoratorsOfAccessors(member, parent); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return getAllDecoratorsOfMethod(member); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return getAllDecoratorsOfProperty(member); default: return undefined; @@ -92519,8 +93287,8 @@ var ts; } for (var _i = 0, pendingDeclarations_1 = pendingDeclarations; _i < pendingDeclarations_1.length; _i++) { var _a = pendingDeclarations_1[_i], pendingExpressions_1 = _a.pendingExpressions, name = _a.name, value = _a.value, location = _a.location, original = _a.original; - var variable = context.factory.createVariableDeclaration(name, - /*exclamationToken*/ undefined, + var variable = context.factory.createVariableDeclaration(name, + /*exclamationToken*/ undefined, /*type*/ undefined, pendingExpressions_1 ? context.factory.inlineExpressions(ts.append(pendingExpressions_1, value)) : value); variable.original = original; ts.setTextRange(variable, location); @@ -92655,7 +93423,7 @@ var ts; // Read the elements of the iterable into an array value = ensureIdentifier(flattenContext, ts.setTextRange(flattenContext.context.getEmitHelperFactory().createReadHelper(value, numElements > 0 && ts.getRestIndicatorOfBindingOrAssignmentElement(elements[numElements - 1]) ? undefined - : numElements), location), + : numElements), location), /*reuseIdentifierExpressions*/ false, location); } else if (numElements !== 1 && (flattenContext.level < 1 /* FlattenLevel.ObjectRest */ || numElements === 0) @@ -92933,8 +93701,8 @@ var ts; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; // Enable substitution for property/element access to emit const enum values. - context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); - context.enableSubstitution(207 /* SyntaxKind.ElementAccessExpression */); + context.enableSubstitution(208 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(209 /* SyntaxKind.ElementAccessExpression */); // These variables contain state that changes as we descend into the tree. var currentSourceFile; var currentNamespace; @@ -92954,14 +93722,14 @@ var ts; var applicableSubstitutions; return transformSourceFileOrBundle; function transformSourceFileOrBundle(node) { - if (node.kind === 306 /* SyntaxKind.Bundle */) { + if (node.kind === 309 /* SyntaxKind.Bundle */) { return transformBundle(node); } return transformSourceFile(node); } function transformBundle(node) { return factory.createBundle(node.sourceFiles.map(transformSourceFile), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 308 /* SyntaxKind.InputFiles */) { + if (prepend.kind === 311 /* SyntaxKind.InputFiles */) { return ts.createUnparsedSourceFile(prepend, "js"); } return prepend; @@ -93010,15 +93778,15 @@ var ts; */ function onBeforeVisitNode(node) { switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: - case 263 /* SyntaxKind.CaseBlock */: - case 262 /* SyntaxKind.ModuleBlock */: - case 235 /* SyntaxKind.Block */: + case 308 /* SyntaxKind.SourceFile */: + case 266 /* SyntaxKind.CaseBlock */: + case 265 /* SyntaxKind.ModuleBlock */: + case 238 /* SyntaxKind.Block */: currentLexicalScope = node; currentScopeFirstDeclarationsOfName = undefined; break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: if (ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */)) { break; } @@ -93030,7 +93798,7 @@ var ts; // These nodes should always have names unless they are default-exports; // however, class declaration parsing allows for undefined names, so syntactically invalid // programs may also have an undefined name. - ts.Debug.assert(node.kind === 257 /* SyntaxKind.ClassDeclaration */ || ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */)); + ts.Debug.assert(node.kind === 260 /* SyntaxKind.ClassDeclaration */ || ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */)); } break; } @@ -93069,10 +93837,10 @@ var ts; */ function sourceElementVisitorWorker(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: - case 272 /* SyntaxKind.ExportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: + case 275 /* SyntaxKind.ExportDeclaration */: return visitElidableStatement(node); default: return visitorWorker(node); @@ -93093,13 +93861,13 @@ var ts; return node; } switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return visitImportDeclaration(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return visitExportDeclaration(node); default: ts.Debug.fail("Unhandled ellided statement"); @@ -93119,11 +93887,11 @@ var ts; * @param node The node to visit. */ function namespaceElementVisitorWorker(node) { - if (node.kind === 272 /* SyntaxKind.ExportDeclaration */ || - node.kind === 266 /* SyntaxKind.ImportDeclaration */ || - node.kind === 267 /* SyntaxKind.ImportClause */ || - (node.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ && - node.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */)) { + if (node.kind === 275 /* SyntaxKind.ExportDeclaration */ || + node.kind === 269 /* SyntaxKind.ImportDeclaration */ || + node.kind === 270 /* SyntaxKind.ImportClause */ || + (node.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ && + node.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */)) { // do not emit ES6 imports and exports since they are illegal inside a namespace return undefined; } @@ -93147,27 +93915,27 @@ var ts; */ function classElementVisitorWorker(node, parent) { switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return visitConstructor(node); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: // Property declarations are not TypeScript syntax, but they must be visited // for the decorator transformation. return visitPropertyDeclaration(node, parent); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node, parent); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node, parent); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node, parent); - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return ts.visitEachChild(node, visitor, context); - case 234 /* SyntaxKind.SemicolonClassElement */: + case 237 /* SyntaxKind.SemicolonClassElement */: return node; - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: // Index signatures are elided return; default: @@ -93179,17 +93947,17 @@ var ts; } function objectLiteralElementVisitorWorker(node, parent) { switch (node.kind) { - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 298 /* SyntaxKind.SpreadAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: return visitor(node); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: // Get Accessors can have TypeScript modifiers, decorators, and type annotations. return visitGetAccessor(node, parent); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // Set Accessors can have TypeScript modifiers and type annotations. return visitSetAccessor(node, parent); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: // TypeScript method declarations may have decorators, modifiers // or type annotations. return visitMethodDeclaration(node, parent); @@ -93200,7 +93968,7 @@ var ts; function modifierVisitor(node) { if (ts.isDecorator(node)) return undefined; - if (ts.modifierToFlag(node.kind) & 116958 /* ModifierFlags.TypeScriptModifier */) { + if (ts.modifierToFlag(node.kind) & 117086 /* ModifierFlags.TypeScriptModifier */) { return undefined; } else if (currentNamespace && node.kind === 93 /* SyntaxKind.ExportKeyword */) { @@ -93228,58 +93996,58 @@ var ts; case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: case 126 /* SyntaxKind.AbstractKeyword */: - case 159 /* SyntaxKind.OverrideKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: case 85 /* SyntaxKind.ConstKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: case 101 /* SyntaxKind.InKeyword */: - case 144 /* SyntaxKind.OutKeyword */: + case 145 /* SyntaxKind.OutKeyword */: // TypeScript accessibility and readonly modifiers are elided // falls through - case 183 /* SyntaxKind.ArrayType */: - case 184 /* SyntaxKind.TupleType */: - case 185 /* SyntaxKind.OptionalType */: - case 186 /* SyntaxKind.RestType */: - case 182 /* SyntaxKind.TypeLiteral */: - case 177 /* SyntaxKind.TypePredicate */: - case 163 /* SyntaxKind.TypeParameter */: - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: + case 185 /* SyntaxKind.ArrayType */: + case 186 /* SyntaxKind.TupleType */: + case 187 /* SyntaxKind.OptionalType */: + case 188 /* SyntaxKind.RestType */: + case 184 /* SyntaxKind.TypeLiteral */: + case 179 /* SyntaxKind.TypePredicate */: + case 165 /* SyntaxKind.TypeParameter */: + case 131 /* SyntaxKind.AnyKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: case 114 /* SyntaxKind.VoidKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: - case 180 /* SyntaxKind.ConstructorType */: - case 179 /* SyntaxKind.FunctionType */: - case 181 /* SyntaxKind.TypeQuery */: - case 178 /* SyntaxKind.TypeReference */: - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: - case 189 /* SyntaxKind.ConditionalType */: - case 191 /* SyntaxKind.ParenthesizedType */: - case 192 /* SyntaxKind.ThisType */: - case 193 /* SyntaxKind.TypeOperator */: - case 194 /* SyntaxKind.IndexedAccessType */: - case 195 /* SyntaxKind.MappedType */: - case 196 /* SyntaxKind.LiteralType */: + case 153 /* SyntaxKind.SymbolKeyword */: + case 182 /* SyntaxKind.ConstructorType */: + case 181 /* SyntaxKind.FunctionType */: + case 183 /* SyntaxKind.TypeQuery */: + case 180 /* SyntaxKind.TypeReference */: + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: + case 191 /* SyntaxKind.ConditionalType */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 194 /* SyntaxKind.ThisType */: + case 195 /* SyntaxKind.TypeOperator */: + case 196 /* SyntaxKind.IndexedAccessType */: + case 197 /* SyntaxKind.MappedType */: + case 198 /* SyntaxKind.LiteralType */: // TypeScript type nodes are elided. // falls through - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: // TypeScript index signatures are elided. return undefined; - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: // TypeScript type-only declarations are elided. return factory.createNotEmittedStatement(node); - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: // TypeScript namespace export declarations are elided. return undefined; - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: // TypeScript interfaces are elided, but some comments may be preserved. // See the implementation of `getLeadingComments` in comments.ts for more details. return factory.createNotEmittedStatement(node); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: // This may be a class declaration with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -93289,7 +94057,7 @@ var ts; // - index signatures // - method overload signatures return visitClassDeclaration(node); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: // This may be a class expression with TypeScript syntax extensions. // // TypeScript class syntax extensions include: @@ -93299,34 +94067,34 @@ var ts; // - index signatures // - method overload signatures return visitClassExpression(node); - case 291 /* SyntaxKind.HeritageClause */: + case 294 /* SyntaxKind.HeritageClause */: // This may be a heritage clause with TypeScript syntax extensions. // // TypeScript heritage clause extensions include: // - `implements` clause return visitHeritageClause(node); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: // TypeScript supports type arguments on an expression in an `extends` heritage clause. return visitExpressionWithTypeArguments(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 171 /* SyntaxKind.Constructor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return ts.Debug.fail("Class and object literal elements must be visited with their respective visitors"); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: // Typescript function declarations can have modifiers, decorators, and type annotations. return visitFunctionDeclaration(node); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: // TypeScript function expressions can have modifiers and type annotations. return visitFunctionExpression(node); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: // TypeScript arrow functions can have modifiers and type annotations. return visitArrowFunction(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: // This may be a parameter declaration with TypeScript syntax extensions. // // TypeScript parameter declaration syntax extensions include: @@ -93336,40 +94104,42 @@ var ts; // - type annotations // - this parameters return visitParameter(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: // ParenthesizedExpressions are TypeScript if their expression is a // TypeAssertion or AsExpression return visitParenthesizedExpression(node); - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 231 /* SyntaxKind.AsExpression */: // TypeScript type assertions are removed, but their subtrees are preserved. return visitAssertionExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: + return visitSatisfiesExpression(node); + case 210 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return visitNewExpression(node); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: // TypeScript non-null expressions are removed, but their subtrees are preserved. return visitNonNullExpression(node); - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: // TypeScript enum declarations do not exist in ES6 and must be rewritten. return visitEnumDeclaration(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: // TypeScript namespace exports for variable statements must be transformed. return visitVariableStatement(node); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return visitVariableDeclaration(node); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: // TypeScript namespace declarations must be transformed. return visitModuleDeclaration(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: // TypeScript namespace or external module import. return visitImportEqualsDeclaration(node); - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return visitJsxSelfClosingElement(node); - case 280 /* SyntaxKind.JsxOpeningElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: return visitJsxJsxOpeningElement(node); default: // node contains some other TypeScript syntax @@ -93417,7 +94187,7 @@ var ts; } function visitClassDeclaration(node) { if (!isClassLikeDeclarationWithTypeScriptSyntax(node) && !(currentNamespace && ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */))) { - return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, + return factory.updateClassDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); } var staticProperties = ts.getProperties(node, /*requireInitializer*/ true, /*isStatic*/ true); @@ -93435,7 +94205,7 @@ var ts; // ${modifiers} class ${name} ${heritageClauses} { // ${members} // } - var classStatement = factory.updateClassDeclaration(node, ts.concatenate(decorators, modifiers), name, + var classStatement = factory.updateClassDeclaration(node, ts.concatenate(decorators, modifiers), name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), transformClassMembers(node)); // To better align with the old emitter, we should not emit a trailing source map // entry if the class has static properties. @@ -93473,8 +94243,8 @@ var ts; ts.setEmitFlags(iife, 33554432 /* EmitFlags.TypeScriptClassWrapper */); var varStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ false), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ false), + /*exclamationToken*/ undefined, /*type*/ undefined, iife) ])); ts.setOriginalNode(varStatement, node); @@ -93507,7 +94277,7 @@ var ts; function visitClassExpression(node) { var allDecorators = ts.getAllDecoratorsOfClass(node); var decorators = transformAllDecoratorsOfDeclaration(node, node, allDecorators); - return factory.updateClassExpression(node, decorators, node.name, + return factory.updateClassExpression(node, decorators, node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), isClassLikeDeclarationWithTypeScriptSyntax(node) ? transformClassMembers(node) : ts.visitNodes(node.members, getClassElementVisitor(node), ts.isClassElement)); @@ -93527,9 +94297,9 @@ var ts; var parameter = parametersWithPropertyAssignments_1[_i]; if (ts.isIdentifier(parameter.name)) { members.push(ts.setOriginalNode(factory.createPropertyDeclaration( - /*modifiers*/ undefined, parameter.name, - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, parameter.name, + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined), parameter)); } } @@ -93639,10 +94409,10 @@ var ts; */ function shouldAddTypeMetadata(node) { var kind = node.kind; - return kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */; + return kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */ + || kind === 169 /* SyntaxKind.PropertyDeclaration */; } /** * Determines whether to emit the "design:returntype" metadata based on the node's kind. @@ -93652,7 +94422,7 @@ var ts; * @param node The node to test. */ function shouldAddReturnTypeMetadata(node) { - return node.kind === 169 /* SyntaxKind.MethodDeclaration */; + return node.kind === 171 /* SyntaxKind.MethodDeclaration */; } /** * Determines whether to emit the "design:paramtypes" metadata based on the node's kind. @@ -93663,12 +94433,12 @@ var ts; */ function shouldAddParamTypesMetadata(node) { switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return ts.getFirstConstructorWithBody(node) !== undefined; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return true; } return false; @@ -93745,7 +94515,7 @@ var ts; * @param node The ExpressionWithTypeArguments to transform. */ function visitExpressionWithTypeArguments(node) { - return factory.updateExpressionWithTypeArguments(node, ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression), + return factory.updateExpressionWithTypeArguments(node, ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression), /*typeArguments*/ undefined); } /** @@ -93758,7 +94528,7 @@ var ts; return !ts.nodeIsMissing(node.body); } function visitPropertyDeclaration(node, parent) { - var isAmbient = node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */); + var isAmbient = node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */); if (isAmbient && !ts.hasDecorators(node)) { return undefined; } @@ -93766,20 +94536,20 @@ var ts; var decorators = transformAllDecoratorsOfDeclaration(node, parent, allDecorators); // Preserve a `declare x` property with decorators to be handled by the decorators transform if (isAmbient) { - return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2 /* ModifierFlags.Ambient */)), ts.visitNode(node.name, visitor, ts.isPropertyName), - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, + return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, factory.createModifiersFromModifierFlags(2 /* ModifierFlags.Ambient */)), ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } - return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), - /*questionOrExclamationToken*/ undefined, + return factory.updatePropertyDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), + /*questionOrExclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor)); } function visitConstructor(node) { if (!shouldEmitFunctionLikeDeclaration(node)) { return undefined; } - return factory.updateConstructorDeclaration(node, + return factory.updateConstructorDeclaration(node, /*modifiers*/ undefined, ts.visitParameterList(node.parameters, visitor, context), transformConstructorBody(node.body, node)); } function transformConstructorBody(body, constructor) { @@ -93854,9 +94624,9 @@ var ts; } var allDecorators = ts.isClassLike(parent) ? ts.getAllDecoratorsOfClassElement(node, parent) : undefined; var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, allDecorators) : undefined; - return factory.updateMethodDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), node.asteriskToken, visitPropertyNameOfClassElement(node), - /*questionToken*/ undefined, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateMethodDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), node.asteriskToken, visitPropertyNameOfClassElement(node), + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context)); } /** @@ -93866,7 +94636,7 @@ var ts; * @param node The declaration node. */ function shouldEmitAccessorDeclaration(node) { - return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 128 /* ModifierFlags.Abstract */)); + return !(ts.nodeIsMissing(node.body) && ts.hasSyntacticModifier(node, 256 /* ModifierFlags.Abstract */)); } function visitGetAccessor(node, parent) { if (!(node.transformFlags & 1 /* TransformFlags.ContainsTypeScript */)) { @@ -93878,7 +94648,7 @@ var ts; var decorators = ts.isClassLike(parent) ? transformAllDecoratorsOfDeclaration(node, parent, ts.getAllDecoratorsOfClassElement(node, parent)) : undefined; - return factory.updateGetAccessorDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), + return factory.updateGetAccessorDeclaration(node, ts.concatenate(decorators, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike)), visitPropertyNameOfClassElement(node), ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); } function visitSetAccessor(node, parent) { @@ -93897,8 +94667,8 @@ var ts; if (!shouldEmitFunctionLikeDeclaration(node)) { return factory.createNotEmittedStatement(node); } - var updated = factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + var updated = factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); if (isExportOfNamespace(node)) { var statements = [updated]; @@ -93911,14 +94681,14 @@ var ts; if (!shouldEmitFunctionLikeDeclaration(node)) { return factory.createOmittedExpression(); } - var updated = factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + var updated = factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.visitFunctionBody(node.body, visitor, context) || factory.createBlock([])); return updated; } function visitArrowFunction(node) { - var updated = factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + var updated = factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, node.equalsGreaterThanToken, ts.visitFunctionBody(node.body, visitor, context)); return updated; } @@ -93927,8 +94697,8 @@ var ts; return undefined; } var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), // preserve positions, if available - node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), - /*questionToken*/ undefined, + node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), + /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (updated !== node) { // While we emit the source map for the node after skipping decorators and modifiers, @@ -93956,17 +94726,17 @@ var ts; function transformInitializedVariable(node) { var name = node.name; if (ts.isBindingPattern(name)) { - return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, + return ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createNamespaceExportExpression); } else { - return ts.setTextRange(factory.createAssignment(getNamespaceMemberNameWithSourceMapsAndWithoutComments(name), ts.visitNode(node.initializer, visitor, ts.isExpression)), + return ts.setTextRange(factory.createAssignment(getNamespaceMemberNameWithSourceMapsAndWithoutComments(name), ts.visitNode(node.initializer, visitor, ts.isExpression)), /*location*/ node); } } function visitVariableDeclaration(node) { - var updated = factory.updateVariableDeclaration(node, ts.visitNode(node.name, visitor, ts.isBindingName), - /*exclamationToken*/ undefined, + var updated = factory.updateVariableDeclaration(node, ts.visitNode(node.name, visitor, ts.isBindingName), + /*exclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (node.type) { ts.setTypeNode(updated.name, node.type); @@ -94008,24 +94778,28 @@ var ts; var expression = ts.visitNode(node.expression, visitor, ts.isLeftHandSideExpression); return factory.createPartiallyEmittedExpression(expression, node); } + function visitSatisfiesExpression(node) { + var expression = ts.visitNode(node.expression, visitor, ts.isExpression); + return factory.createPartiallyEmittedExpression(expression, node); + } function visitCallExpression(node) { - return factory.updateCallExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), + return factory.updateCallExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression)); } function visitNewExpression(node) { - return factory.updateNewExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), + return factory.updateNewExpression(node, ts.visitNode(node.expression, visitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression)); } function visitTaggedTemplateExpression(node) { - return factory.updateTaggedTemplateExpression(node, ts.visitNode(node.tag, visitor, ts.isExpression), + return factory.updateTaggedTemplateExpression(node, ts.visitNode(node.tag, visitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNode(node.template, visitor, ts.isExpression)); } function visitJsxSelfClosingElement(node) { - return factory.updateJsxSelfClosingElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), + return factory.updateJsxSelfClosingElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), /*typeArguments*/ undefined, ts.visitNode(node.attributes, visitor, ts.isJsxAttributes)); } function visitJsxJsxOpeningElement(node) { - return factory.updateJsxOpeningElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), + return factory.updateJsxOpeningElement(node, ts.visitNode(node.tagName, visitor, ts.isJsxTagNameExpression), /*typeArguments*/ undefined, ts.visitNode(node.attributes, visitor, ts.isJsxAttributes)); } /** @@ -94084,11 +94858,11 @@ var ts; // ... // })(x || (x = {})); var enumStatement = factory.createExpressionStatement(factory.createCallExpression(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], - /*type*/ undefined, transformEnumBody(node, containerName)), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*type*/ undefined, transformEnumBody(node, containerName)), /*typeArguments*/ undefined, [moduleArg])); ts.setOriginalNode(enumStatement, node); if (varAdded) { @@ -94118,7 +94892,7 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); ts.addRange(statements, members); currentNamespaceContainerName = savedCurrentNamespaceLocalName; - return factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), /*location*/ node.members), + return factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), /*location*/ node.members), /*multiLine*/ true); } /** @@ -94221,12 +94995,12 @@ var ts; // enums in any other scope are emitted as a `let` declaration. var statement = factory.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.createVariableDeclarationList([ factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ false, /*allowSourceMaps*/ true)) - ], currentLexicalScope.kind === 305 /* SyntaxKind.SourceFile */ ? 0 /* NodeFlags.None */ : 1 /* NodeFlags.Let */)); + ], currentLexicalScope.kind === 308 /* SyntaxKind.SourceFile */ ? 0 /* NodeFlags.None */ : 1 /* NodeFlags.Let */)); ts.setOriginalNode(statement, node); recordEmittedDeclarationInScope(node); if (isFirstEmittedDeclarationInScope(node)) { // Adjust the source map emit to match the old emitter. - if (node.kind === 260 /* SyntaxKind.EnumDeclaration */) { + if (node.kind === 263 /* SyntaxKind.EnumDeclaration */) { ts.setSourceMapRange(statement.declarationList, node); } else { @@ -94314,11 +95088,11 @@ var ts; // x_1.y = ...; // })(x || (x = {})); var moduleStatement = factory.createExpressionStatement(factory.createCallExpression(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], - /*type*/ undefined, transformModuleBody(node, containerName)), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*type*/ undefined, transformModuleBody(node, containerName)), /*typeArguments*/ undefined, [moduleArg])); ts.setOriginalNode(moduleStatement, node); if (varAdded) { @@ -94351,7 +95125,7 @@ var ts; var statementsLocation; var blockLocation; if (node.body) { - if (node.body.kind === 262 /* SyntaxKind.ModuleBlock */) { + if (node.body.kind === 265 /* SyntaxKind.ModuleBlock */) { saveStateAndInvoke(node.body, function (body) { return ts.addRange(statements, ts.visitNodes(body.statements, namespaceElementVisitor, ts.isStatement)); }); statementsLocation = node.body.statements; blockLocation = node.body; @@ -94374,8 +95148,8 @@ var ts; currentNamespaceContainerName = savedCurrentNamespaceContainerName; currentNamespace = savedCurrentNamespace; currentScopeFirstDeclarationsOfName = savedCurrentScopeFirstDeclarationsOfName; - var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), - /*location*/ statementsLocation), + var block = factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), + /*location*/ statementsLocation), /*multiLine*/ true); ts.setTextRange(block, blockLocation); // namespace hello.hi.world { @@ -94398,13 +95172,13 @@ var ts; // })(hi = hello.hi || (hello.hi = {})); // })(hello || (hello = {})); // We only want to emit comment on the namespace which contains block body itself, not the containing namespaces. - if (!node.body || node.body.kind !== 262 /* SyntaxKind.ModuleBlock */) { + if (!node.body || node.body.kind !== 265 /* SyntaxKind.ModuleBlock */) { ts.setEmitFlags(block, ts.getEmitFlags(block) | 1536 /* EmitFlags.NoComments */); } return block; } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 261 /* SyntaxKind.ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 264 /* SyntaxKind.ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -94429,7 +95203,7 @@ var ts; return importClause || compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */ || compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */ - ? factory.updateImportDeclaration(node, + ? factory.updateImportDeclaration(node, /*modifiers*/ undefined, importClause, node.moduleSpecifier, node.assertClause) : undefined; } @@ -94451,7 +95225,7 @@ var ts; * @param node The named import bindings node. */ function visitNamedImportBindings(node) { - if (node.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (node.kind === 271 /* SyntaxKind.NamespaceImport */) { // Elide a namespace import if it is not referenced. return shouldEmitAliasDeclaration(node) ? node : undefined; } @@ -94503,7 +95277,7 @@ var ts; compilerOptions.importsNotUsedAsValues === 2 /* ImportsNotUsedAsValues.Error */); var exportClause = ts.visitNode(node.exportClause, function (bindings) { return visitNamedExportBindings(bindings, allowEmpty); }, ts.isNamedExportBindings); return exportClause - ? factory.updateExportDeclaration(node, + ? factory.updateExportDeclaration(node, /*modifiers*/ undefined, node.isTypeOnly, exportClause, node.moduleSpecifier, node.assertClause) : undefined; } @@ -94561,8 +95335,8 @@ var ts; // If the alias is unreferenced but we want to keep the import, replace with 'import "mod"'. if (!isReferenced && compilerOptions.importsNotUsedAsValues === 1 /* ImportsNotUsedAsValues.Preserve */) { return ts.setOriginalNode(ts.setTextRange(factory.createImportDeclaration( - /*modifiers*/ undefined, - /*importClause*/ undefined, node.moduleReference.expression, + /*modifiers*/ undefined, + /*importClause*/ undefined, node.moduleReference.expression, /*assertClause*/ undefined), node), node); } return isReferenced ? ts.visitEachChild(node, visitor, context) : undefined; @@ -94576,8 +95350,8 @@ var ts; // export var ${name} = ${moduleReference}; // var ${name} = ${moduleReference}; return ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), factory.createVariableDeclarationList([ - ts.setOriginalNode(factory.createVariableDeclaration(node.name, - /*exclamationToken*/ undefined, + ts.setOriginalNode(factory.createVariableDeclaration(node.name, + /*exclamationToken*/ undefined, /*type*/ undefined, moduleReference), node) ])), node), node); } @@ -94609,7 +95383,7 @@ var ts; */ function isNamedExternalModuleExport(node) { return isExternalModuleExport(node) - && !ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */); + && !ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */); } /** * Gets a value indicating whether the node is the default export of an external module. @@ -94618,7 +95392,7 @@ var ts; */ function isDefaultExternalModuleExport(node) { return isExternalModuleExport(node) - && ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */); + && ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */); } function addExportMemberAssignment(statements, node) { var expression = factory.createAssignment(factory.getExternalModuleOrNamespaceExportName(currentNamespaceContainerName, node, /*allowComments*/ false, /*allowSourceMaps*/ true), factory.getLocalName(node)); @@ -94663,16 +95437,16 @@ var ts; // We need to enable substitutions for identifiers and shorthand property assignments. This allows us to // substitute the names of exported members of a namespace. context.enableSubstitution(79 /* SyntaxKind.Identifier */); - context.enableSubstitution(297 /* SyntaxKind.ShorthandPropertyAssignment */); + context.enableSubstitution(300 /* SyntaxKind.ShorthandPropertyAssignment */); // We need to be notified when entering and exiting namespaces. - context.enableEmitNotification(261 /* SyntaxKind.ModuleDeclaration */); + context.enableEmitNotification(264 /* SyntaxKind.ModuleDeclaration */); } } function isTransformedModuleDeclaration(node) { - return ts.getOriginalNode(node).kind === 261 /* SyntaxKind.ModuleDeclaration */; + return ts.getOriginalNode(node).kind === 264 /* SyntaxKind.ModuleDeclaration */; } function isTransformedEnumDeclaration(node) { - return ts.getOriginalNode(node).kind === 260 /* SyntaxKind.EnumDeclaration */; + return ts.getOriginalNode(node).kind === 263 /* SyntaxKind.EnumDeclaration */; } /** * Hook for node emit. @@ -94733,9 +95507,9 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return substituteElementAccessExpression(node); } return node; @@ -94750,11 +95524,11 @@ var ts; // If we are nested within a namespace declaration, we may need to qualifiy // an identifier that is exported from a merged namespace. var container = resolver.getReferencedExportContainer(node, /*prefixLocals*/ false); - if (container && container.kind !== 305 /* SyntaxKind.SourceFile */) { - var substitute = (applicableSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */ && container.kind === 261 /* SyntaxKind.ModuleDeclaration */) || - (applicableSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */ && container.kind === 260 /* SyntaxKind.EnumDeclaration */); + if (container && container.kind !== 308 /* SyntaxKind.SourceFile */) { + var substitute = (applicableSubstitutions & 2 /* TypeScriptSubstitutionFlags.NamespaceExports */ && container.kind === 264 /* SyntaxKind.ModuleDeclaration */) || + (applicableSubstitutions & 8 /* TypeScriptSubstitutionFlags.NonQualifiedEnumMembers */ && container.kind === 263 /* SyntaxKind.EnumDeclaration */); if (substitute) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(container), node), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(container), node), /*location*/ node); } } @@ -94791,9 +95565,10 @@ var ts; return ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node) ? resolver.getConstantValue(node) : undefined; } function shouldEmitAliasDeclaration(node) { - return compilerOptions.preserveValueImports - ? resolver.isValueAliasDeclaration(node) - : resolver.isReferencedAliasDeclaration(node); + return ts.isInJSFile(node) || + (compilerOptions.preserveValueImports + ? resolver.isValueAliasDeclaration(node) + : resolver.isReferencedAliasDeclaration(node)); } } ts.transformTypeScript = transformTypeScript; @@ -94841,13 +95616,24 @@ var ts; var compilerOptions = context.getCompilerOptions(); var languageVersion = ts.getEmitScriptTarget(compilerOptions); var useDefineForClassFields = ts.getUseDefineForClassFields(compilerOptions); + // Always transform field initializers using Set semantics when `useDefineForClassFields: false`. + var shouldTransformInitializersUsingSet = !useDefineForClassFields; + // Transform field initializers using Define semantics when `useDefineForClassFields: true` and target < ES2022. + var shouldTransformInitializersUsingDefine = useDefineForClassFields && languageVersion < 9 /* ScriptTarget.ES2022 */; + var shouldTransformInitializers = shouldTransformInitializersUsingSet || shouldTransformInitializersUsingDefine; + // We need to transform private members and class static blocks when target < ES2022. var shouldTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* ScriptTarget.ES2022 */; + // We need to transform `accessor` fields when target < ESNext + var shouldTransformAutoAccessors = languageVersion < 99 /* ScriptTarget.ESNext */; // We need to transform `this` in a static initializer into a reference to the class - // when targeting < ES2022 since the assignment will be moved outside of the class body. + // when target < ES2022 since the assignment will be moved outside of the class body. var shouldTransformThisInStaticInitializers = languageVersion < 9 /* ScriptTarget.ES2022 */; - // We don't need to transform `super` property access when targeting ES5, ES3 because + // We don't need to transform `super` property access when target <= ES5 because // the es2015 transformation handles those. var shouldTransformSuperInStaticInitializers = shouldTransformThisInStaticInitializers && languageVersion >= 2 /* ScriptTarget.ES2015 */; + var shouldTransformAnything = shouldTransformInitializers || + shouldTransformPrivateElementsOrClassStaticBlocks || + shouldTransformAutoAccessors; var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; var previousOnEmitNode = context.onEmitNode; @@ -94867,98 +95653,149 @@ var ts; var classLexicalEnvironmentStack = []; var classLexicalEnvironmentMap = new ts.Map(); var currentClassLexicalEnvironment; + var currentClassContainer; var currentComputedPropertyNameClassLexicalEnvironment; var currentStaticPropertyDeclarationOrStaticBlock; return ts.chainBundle(context, transformSourceFile); function transformSourceFile(node) { - var options = context.getCompilerOptions(); - if (node.isDeclarationFile - || useDefineForClassFields && ts.getEmitScriptTarget(options) >= 9 /* ScriptTarget.ES2022 */) { + if (node.isDeclarationFile || !shouldTransformAnything) { return node; } var visited = ts.visitEachChild(node, visitor, context); ts.addEmitHelpers(visited, context.readEmitHelpers()); return visited; } - function visitorWorker(node, valueIsDiscarded) { - if (node.transformFlags & 16777216 /* TransformFlags.ContainsClassFields */) { - switch (node.kind) { - case 226 /* SyntaxKind.ClassExpression */: - case 257 /* SyntaxKind.ClassDeclaration */: - return visitClassLike(node); - case 167 /* SyntaxKind.PropertyDeclaration */: - return visitPropertyDeclaration(node); - case 237 /* SyntaxKind.VariableStatement */: - return visitVariableStatement(node); - case 80 /* SyntaxKind.PrivateIdentifier */: - return visitPrivateIdentifier(node); - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: - return visitClassStaticBlockDeclaration(node); - } + function visitor(node) { + if (!(node.transformFlags & 16777216 /* TransformFlags.ContainsClassFields */) && + !(node.transformFlags & 134234112 /* TransformFlags.ContainsLexicalThisOrSuper */)) { + return node; } - if (node.transformFlags & 16777216 /* TransformFlags.ContainsClassFields */ || - node.transformFlags & 134217728 /* TransformFlags.ContainsLexicalSuper */ && - shouldTransformSuperInStaticInitializers && - currentStaticPropertyDeclarationOrStaticBlock && - currentClassLexicalEnvironment) { - switch (node.kind) { - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: - return visitPreOrPostfixUnaryExpression(node, valueIsDiscarded); - case 221 /* SyntaxKind.BinaryExpression */: - return visitBinaryExpression(node, valueIsDiscarded); - case 208 /* SyntaxKind.CallExpression */: - return visitCallExpression(node); - case 210 /* SyntaxKind.TaggedTemplateExpression */: - return visitTaggedTemplateExpression(node); - case 206 /* SyntaxKind.PropertyAccessExpression */: - return visitPropertyAccessExpression(node); - case 207 /* SyntaxKind.ElementAccessExpression */: - return visitElementAccessExpression(node); - case 238 /* SyntaxKind.ExpressionStatement */: - return visitExpressionStatement(node); - case 242 /* SyntaxKind.ForStatement */: - return visitForStatement(node); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: { - var savedCurrentStaticPropertyDeclarationOrStaticBlock = currentStaticPropertyDeclarationOrStaticBlock; - currentStaticPropertyDeclarationOrStaticBlock = undefined; - var result = ts.visitEachChild(node, visitor, context); - currentStaticPropertyDeclarationOrStaticBlock = savedCurrentStaticPropertyDeclarationOrStaticBlock; - return result; - } + switch (node.kind) { + case 127 /* SyntaxKind.AccessorKeyword */: + return shouldTransformAutoAccessors ? undefined : node; + case 260 /* SyntaxKind.ClassDeclaration */: + return visitClassDeclaration(node); + case 228 /* SyntaxKind.ClassExpression */: + return visitClassExpression(node); + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: + return visitClassStaticBlockDeclaration(node); + case 169 /* SyntaxKind.PropertyDeclaration */: + return visitPropertyDeclaration(node); + case 240 /* SyntaxKind.VariableStatement */: + return visitVariableStatement(node); + case 80 /* SyntaxKind.PrivateIdentifier */: + return visitPrivateIdentifier(node); + case 208 /* SyntaxKind.PropertyAccessExpression */: + return visitPropertyAccessExpression(node); + case 209 /* SyntaxKind.ElementAccessExpression */: + return visitElementAccessExpression(node); + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: + return visitPreOrPostfixUnaryExpression(node, /*valueIsDiscarded*/ false); + case 223 /* SyntaxKind.BinaryExpression */: + return visitBinaryExpression(node, /*valueIsDiscarded*/ false); + case 210 /* SyntaxKind.CallExpression */: + return visitCallExpression(node); + case 241 /* SyntaxKind.ExpressionStatement */: + return visitExpressionStatement(node); + case 212 /* SyntaxKind.TaggedTemplateExpression */: + return visitTaggedTemplateExpression(node); + case 245 /* SyntaxKind.ForStatement */: + return visitForStatement(node); + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: { + // If we are descending into a new scope, clear the current static property or block + return setCurrentStaticPropertyDeclarationOrStaticBlockAnd( + /*current*/ undefined, fallbackVisitor, node); } + default: + return fallbackVisitor(node); } + } + function fallbackVisitor(node) { return ts.visitEachChild(node, visitor, context); } + /** + * Visits a node in an expression whose result is discarded. + */ function discardedValueVisitor(node) { - return visitorWorker(node, /*valueIsDiscarded*/ true); - } - function visitor(node) { - return visitorWorker(node, /*valueIsDiscarded*/ false); + switch (node.kind) { + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: + return visitPreOrPostfixUnaryExpression(node, /*valueIsDiscarded*/ true); + case 223 /* SyntaxKind.BinaryExpression */: + return visitBinaryExpression(node, /*valueIsDiscarded*/ true); + default: + return visitor(node); + } } + /** + * Visits a node in a {@link HeritageClause}. + */ function heritageClauseVisitor(node) { switch (node.kind) { - case 291 /* SyntaxKind.HeritageClause */: + case 294 /* SyntaxKind.HeritageClause */: return ts.visitEachChild(node, heritageClauseVisitor, context); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - return visitExpressionWithTypeArguments(node); + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + return visitExpressionWithTypeArgumentsInHeritageClause(node); + default: + return visitor(node); } - return visitor(node); } - function visitorDestructuringTarget(node) { + /** + * Visits the assignment target of a destructuring assignment. + */ + function assignmentTargetVisitor(node) { switch (node.kind) { - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return visitAssignmentPattern(node); default: return visitor(node); } } + /** + * Visits a member of a class. + */ + function classElementVisitor(node) { + switch (node.kind) { + case 173 /* SyntaxKind.Constructor */: + return visitConstructorDeclaration(node); + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + return setCurrentStaticPropertyDeclarationOrStaticBlockAnd( + /*current*/ undefined, visitMethodOrAccessorDeclaration, node); + case 169 /* SyntaxKind.PropertyDeclaration */: + return setCurrentStaticPropertyDeclarationOrStaticBlockAnd( + /*current*/ undefined, visitPropertyDeclaration, node); + case 164 /* SyntaxKind.ComputedPropertyName */: + return visitComputedPropertyName(node); + case 237 /* SyntaxKind.SemicolonClassElement */: + return node; + default: + return visitor(node); + } + } + /** + * Visits the results of an auto-accessor field transformation in a second pass. + */ + function accessorFieldResultVisitor(node) { + switch (node.kind) { + case 169 /* SyntaxKind.PropertyDeclaration */: + return transformFieldInitializer(node); + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + return classElementVisitor(node); + default: + ts.Debug.assertMissingNode(node, "Expected node to either be a PropertyDeclaration, GetAccessorDeclaration, or SetAccessorDeclaration"); + break; + } + } /** * If we visit a private name, this means it is an undeclared private name. * Replace it with an empty identifier to indicate a problem with the code, @@ -94974,17 +95811,15 @@ var ts; } return ts.setOriginalNode(factory.createIdentifier(""), node); } + function isPrivateIdentifierInExpression(node) { + return ts.isPrivateIdentifier(node.left) + && node.operatorToken.kind === 101 /* SyntaxKind.InKeyword */; + } /** * Visits `#id in expr` */ - function visitPrivateIdentifierInInExpression(node) { - if (!shouldTransformPrivateElementsOrClassStaticBlocks) { - return node; - } - var privId = node.left; - ts.Debug.assertNode(privId, ts.isPrivateIdentifier); - ts.Debug.assert(node.operatorToken.kind === 101 /* SyntaxKind.InKeyword */); - var info = accessPrivateIdentifier(privId); + function transformPrivateIdentifierInInExpression(node) { + var info = accessPrivateIdentifier(node.left); if (info) { var receiver = ts.visitNode(node.right, visitor, ts.isExpression); return ts.setOriginalNode(context.getEmitHelperFactory().createClassPrivateFieldInHelper(info.brandCheckIdentifier, receiver), node); @@ -94992,31 +95827,6 @@ var ts; // Private name has not been declared. Subsequent transformers will handle this error return ts.visitEachChild(node, visitor, context); } - /** - * Visits the members of a class that has fields. - * - * @param node The node to visit. - */ - function classElementVisitor(node) { - switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: - // Constructors for classes using class fields are transformed in - // `visitClassDeclaration` or `visitClassExpression`. - return undefined; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: - return visitMethodOrAccessorDeclaration(node); - case 167 /* SyntaxKind.PropertyDeclaration */: - return visitPropertyDeclaration(node); - case 162 /* SyntaxKind.ComputedPropertyName */: - return visitComputedPropertyName(node); - case 234 /* SyntaxKind.SemicolonClassElement */: - return node; - default: - return visitor(node); - } - } function visitVariableStatement(node) { var savedPendingStatements = pendingStatements; pendingStatements = []; @@ -95026,15 +95836,24 @@ var ts; pendingStatements = savedPendingStatements; return statement; } - function visitComputedPropertyName(name) { - var node = ts.visitEachChild(name, visitor, context); + function visitComputedPropertyName(node) { + var expression = ts.visitNode(node.expression, visitor, ts.isExpression); if (ts.some(pendingExpressions)) { - var expressions = pendingExpressions; - expressions.push(node.expression); - pendingExpressions = []; - node = factory.updateComputedPropertyName(node, factory.inlineExpressions(expressions)); + if (ts.isParenthesizedExpression(expression)) { + expression = factory.updateParenthesizedExpression(expression, factory.inlineExpressions(__spreadArray(__spreadArray([], pendingExpressions, true), [expression.expression], false))); + } + else { + expression = factory.inlineExpressions(__spreadArray(__spreadArray([], pendingExpressions, true), [expression], false)); + } + pendingExpressions = undefined; } - return node; + return factory.updateComputedPropertyName(node, expression); + } + function visitConstructorDeclaration(node) { + if (currentClassContainer) { + return transformConstructor(node, currentClassContainer); + } + return fallbackVisitor(node); } function visitMethodOrAccessorDeclaration(node) { ts.Debug.assert(!ts.hasDecorators(node)); @@ -95049,13 +95868,20 @@ var ts; } var functionName = getHoistedFunctionName(node); if (functionName) { - getPendingExpressions().push(factory.createAssignment(functionName, factory.createFunctionExpression(ts.filter(node.modifiers, function (m) { return ts.isModifier(m) && !ts.isStaticModifier(m); }), node.asteriskToken, functionName, - /* typeParameters */ undefined, ts.visitParameterList(node.parameters, classElementVisitor, context), - /* type */ undefined, ts.visitFunctionBody(node.body, classElementVisitor, context)))); + getPendingExpressions().push(factory.createAssignment(functionName, factory.createFunctionExpression(ts.filter(node.modifiers, function (m) { return ts.isModifier(m) && !ts.isStaticModifier(m) && !ts.isAccessorModifier(m); }), node.asteriskToken, functionName, + /* typeParameters */ undefined, ts.visitParameterList(node.parameters, visitor, context), + /* type */ undefined, ts.visitFunctionBody(node.body, visitor, context)))); } // remove method declaration from class return undefined; } + function setCurrentStaticPropertyDeclarationOrStaticBlockAnd(current, visitor, arg) { + var savedCurrentStaticPropertyDeclarationOrStaticBlock = currentStaticPropertyDeclarationOrStaticBlock; + currentStaticPropertyDeclarationOrStaticBlock = current; + var result = visitor(arg); + currentStaticPropertyDeclarationOrStaticBlock = savedCurrentStaticPropertyDeclarationOrStaticBlock; + return result; + } function getHoistedFunctionName(node) { ts.Debug.assert(ts.isPrivateIdentifier(node.name)); var info = accessPrivateIdentifier(node.name); @@ -95072,49 +95898,104 @@ var ts; } } } - function visitPropertyDeclaration(node) { - ts.Debug.assert(!ts.hasDecorators(node)); - if (ts.isPrivateIdentifier(node.name)) { - if (!shouldTransformPrivateElementsOrClassStaticBlocks) { - if (ts.isStatic(node)) { - // static fields are left as is - return ts.visitEachChild(node, visitor, context); - } - // Initializer is elided as the field is initialized in transformConstructor. - return factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, - /*questionOrExclamationToken*/ undefined, - /*type*/ undefined, - /*initializer*/ undefined); - } - // leave invalid code untransformed + function transformAutoAccessor(node) { + // transforms: + // accessor x = 1; + // into: + // #x = 1; + // get x() { return this.#x; } + // set x(value) { this.#x = value; } + ts.Debug.assertEachNode(node.modifiers, ts.isModifier); + var commentRange = ts.getCommentRange(node); + var sourceMapRange = ts.getSourceMapRange(node); + // Since we're creating two declarations where there was previously one, cache + // the expression for any computed property names. + var name = node.name; + var getterName = name; + var setterName = name; + if (ts.isComputedPropertyName(name) && !ts.isSimpleInlineableExpression(name.expression)) { + var temp = factory.createTempVariable(hoistVariableDeclaration); + ts.setSourceMapRange(temp, name.expression); + var expression = ts.visitNode(name.expression, visitor, ts.isExpression); + var assignment = factory.createAssignment(temp, expression); + ts.setSourceMapRange(assignment, name.expression); + getterName = factory.updateComputedPropertyName(name, factory.inlineExpressions([assignment, temp])); + setterName = factory.updateComputedPropertyName(name, temp); + } + var backingField = ts.createAccessorPropertyBackingField(factory, node, node.modifiers, node.initializer); + ts.setOriginalNode(backingField, node); + ts.setEmitFlags(backingField, 1536 /* EmitFlags.NoComments */); + ts.setSourceMapRange(backingField, sourceMapRange); + var getter = ts.createAccessorPropertyGetRedirector(factory, node, node.modifiers, getterName); + ts.setOriginalNode(getter, node); + ts.setCommentRange(getter, commentRange); + ts.setSourceMapRange(getter, sourceMapRange); + var setter = ts.createAccessorPropertySetRedirector(factory, node, node.modifiers, setterName); + ts.setOriginalNode(setter, node); + ts.setEmitFlags(setter, 1536 /* EmitFlags.NoComments */); + ts.setSourceMapRange(setter, sourceMapRange); + return ts.visitArray([backingField, getter, setter], accessorFieldResultVisitor, ts.isClassElement); + } + function transformPrivateFieldInitializer(node) { + if (shouldTransformPrivateElementsOrClassStaticBlocks) { + // If we are transforming private elements into WeakMap/WeakSet, we should elide the node. var info = accessPrivateIdentifier(node.name); ts.Debug.assert(info, "Undeclared private name for property declaration."); - if (!info.isValid) { - return node; - } - } - // Create a temporary variable to store a computed property name (if necessary). - // If it's not inlineable, then we emit an expression after the class which assigns - // the property name to the temporary variable. - var expr = getPropertyNameExpressionIfNeeded(node.name, !!node.initializer || useDefineForClassFields); - if (expr && !ts.isSimpleInlineableExpression(expr)) { - getPendingExpressions().push(expr); + // Leave invalid code untransformed; otherwise, elide the node as it is transformed elsewhere. + return info.isValid ? undefined : node; + } + if (shouldTransformInitializersUsingSet && !ts.isStatic(node)) { + // If we are transforming initializers using Set semantics we will elide the initializer as it will + // be moved to the constructor to preserve evaluation order next to public instance fields. We don't + // need to do this transformation for private static fields since public static fields can be + // transformed into `static {}` blocks. + return factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, + /*questionOrExclamationToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined); } - if (ts.isStatic(node) && !shouldTransformPrivateElementsOrClassStaticBlocks && !useDefineForClassFields) { - var initializerStatement = transformPropertyOrClassStaticBlock(node, factory.createThis()); - if (initializerStatement) { - var staticBlock = factory.createClassStaticBlockDeclaration(factory.createBlock([initializerStatement])); - ts.setOriginalNode(staticBlock, node); - ts.setCommentRange(staticBlock, node); - // Set the comment range for the statement to an empty synthetic range - // and drop synthetic comments from the statement to avoid printing them twice. - ts.setCommentRange(initializerStatement, { pos: -1, end: -1 }); - ts.setSyntheticLeadingComments(initializerStatement, undefined); - ts.setSyntheticTrailingComments(initializerStatement, undefined); - return staticBlock; + return ts.visitEachChild(node, visitor, context); + } + function transformPublicFieldInitializer(node) { + if (shouldTransformInitializers) { + // Create a temporary variable to store a computed property name (if necessary). + // If it's not inlineable, then we emit an expression after the class which assigns + // the property name to the temporary variable. + var expr = getPropertyNameExpressionIfNeeded(node.name, /*shouldHoist*/ !!node.initializer || useDefineForClassFields); + if (expr) { + getPendingExpressions().push(expr); + } + if (ts.isStatic(node) && !shouldTransformPrivateElementsOrClassStaticBlocks) { + var initializerStatement = transformPropertyOrClassStaticBlock(node, factory.createThis()); + if (initializerStatement) { + var staticBlock = factory.createClassStaticBlockDeclaration(factory.createBlock([initializerStatement])); + ts.setOriginalNode(staticBlock, node); + ts.setCommentRange(staticBlock, node); + // Set the comment range for the statement to an empty synthetic range + // and drop synthetic comments from the statement to avoid printing them twice. + ts.setCommentRange(initializerStatement, { pos: -1, end: -1 }); + ts.setSyntheticLeadingComments(initializerStatement, undefined); + ts.setSyntheticTrailingComments(initializerStatement, undefined); + return staticBlock; + } } + return undefined; } - return undefined; + return ts.visitEachChild(node, classElementVisitor, context); + } + function transformFieldInitializer(node) { + ts.Debug.assert(!ts.hasDecorators(node), "Decorators should already have been transformed and elided."); + return ts.isPrivateIdentifierClassElementDeclaration(node) ? + transformPrivateFieldInitializer(node) : + transformPublicFieldInitializer(node); + } + function visitPropertyDeclaration(node) { + // If this is an auto-accessor, we defer to `transformAutoAccessor`. That function + // will in turn call `transformFieldInitializer` as needed. + if (shouldTransformAutoAccessors && ts.isAutoAccessorPropertyDeclaration(node)) { + return transformAutoAccessor(node); + } + return transformFieldInitializer(node); } function createPrivateIdentifierAccess(info, receiver) { return createPrivateIdentifierAccessHelper(info, ts.visitNode(receiver, visitor, ts.isExpression)); @@ -95178,9 +96059,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitPreOrPostfixUnaryExpression(node, valueIsDiscarded) { - if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || node.operator === 46 /* SyntaxKind.MinusMinusToken */) { + if (node.operator === 45 /* SyntaxKind.PlusPlusToken */ || + node.operator === 46 /* SyntaxKind.MinusMinusToken */) { var operand = ts.skipParentheses(node.operand); - if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(operand)) { + if (shouldTransformPrivateElementsOrClassStaticBlocks && + ts.isPrivateIdentifierPropertyAccessExpression(operand)) { var info = void 0; if (info = accessPrivateIdentifier(operand.name)) { var receiver = ts.visitNode(operand.expression, visitor, ts.isExpression); @@ -95269,21 +96152,25 @@ var ts; return { readExpression: readExpression, initializeExpression: initializeExpression }; } function visitCallExpression(node) { - if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(node.expression)) { + if (shouldTransformPrivateElementsOrClassStaticBlocks && + ts.isPrivateIdentifierPropertyAccessExpression(node.expression)) { + // obj.#x() // Transform call expressions of private names to properly bind the `this` parameter. var _a = factory.createCallBinding(node.expression, hoistVariableDeclaration, languageVersion), thisArg = _a.thisArg, target = _a.target; if (ts.isCallChain(node)) { - return factory.updateCallChain(node, factory.createPropertyAccessChain(ts.visitNode(target, visitor), node.questionDotToken, "call"), - /*questionDotToken*/ undefined, + return factory.updateCallChain(node, factory.createPropertyAccessChain(ts.visitNode(target, visitor), node.questionDotToken, "call"), + /*questionDotToken*/ undefined, /*typeArguments*/ undefined, __spreadArray([ts.visitNode(thisArg, visitor, ts.isExpression)], ts.visitNodes(node.arguments, visitor, ts.isExpression), true)); } - return factory.updateCallExpression(node, factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "call"), + return factory.updateCallExpression(node, factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "call"), /*typeArguments*/ undefined, __spreadArray([ts.visitNode(thisArg, visitor, ts.isExpression)], ts.visitNodes(node.arguments, visitor, ts.isExpression), true)); } if (shouldTransformSuperInStaticInitializers && ts.isSuperProperty(node.expression) && currentStaticPropertyDeclarationOrStaticBlock && (currentClassLexicalEnvironment === null || currentClassLexicalEnvironment === void 0 ? void 0 : currentClassLexicalEnvironment.classConstructor)) { + // super.x() + // super[x]() // converts `super.f(...)` into `Reflect.get(_baseTemp, "f", _classTemp).call(_classTemp, ...)` var invocation = factory.createFunctionCallCall(ts.visitNode(node.expression, visitor, ts.isExpression), currentClassLexicalEnvironment.classConstructor, ts.visitNodes(node.arguments, visitor, ts.isExpression)); ts.setOriginalNode(invocation, node); @@ -95293,11 +96180,12 @@ var ts; return ts.visitEachChild(node, visitor, context); } function visitTaggedTemplateExpression(node) { - if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(node.tag)) { + if (shouldTransformPrivateElementsOrClassStaticBlocks && + ts.isPrivateIdentifierPropertyAccessExpression(node.tag)) { // Bind the `this` correctly for tagged template literals when the tag is a private identifier property access. var _a = factory.createCallBinding(node.tag, hoistVariableDeclaration, languageVersion), thisArg = _a.thisArg, target = _a.target; - return factory.updateTaggedTemplateExpression(node, factory.createCallExpression(factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "bind"), - /*typeArguments*/ undefined, [ts.visitNode(thisArg, visitor, ts.isExpression)]), + return factory.updateTaggedTemplateExpression(node, factory.createCallExpression(factory.createPropertyAccessExpression(ts.visitNode(target, visitor), "bind"), + /*typeArguments*/ undefined, [ts.visitNode(thisArg, visitor, ts.isExpression)]), /*typeArguments*/ undefined, ts.visitNode(node.template, visitor, ts.isTemplateLiteral)); } if (shouldTransformSuperInStaticInitializers && @@ -95308,7 +96196,7 @@ var ts; var invocation = factory.createFunctionBindCall(ts.visitNode(node.tag, visitor, ts.isExpression), currentClassLexicalEnvironment.classConstructor, []); ts.setOriginalNode(invocation, node); ts.setTextRange(invocation, node); - return factory.updateTaggedTemplateExpression(node, invocation, + return factory.updateTaggedTemplateExpression(node, invocation, /*typeArguments*/ undefined, ts.visitNode(node.template, visitor, ts.isTemplateLiteral)); } return ts.visitEachChild(node, visitor, context); @@ -95319,11 +96207,8 @@ var ts; classLexicalEnvironmentMap.set(ts.getOriginalNodeId(node), currentClassLexicalEnvironment); } startLexicalEnvironment(); - var savedCurrentStaticPropertyDeclarationOrStaticBlock = currentStaticPropertyDeclarationOrStaticBlock; - currentStaticPropertyDeclarationOrStaticBlock = node; - var statements = ts.visitNodes(node.body.statements, visitor, ts.isStatement); + var statements = setCurrentStaticPropertyDeclarationOrStaticBlockAnd(node, function (statements) { return ts.visitNodes(statements, visitor, ts.isStatement); }, node.body.statements); statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); - currentStaticPropertyDeclarationOrStaticBlock = savedCurrentStaticPropertyDeclarationOrStaticBlock; var iife = factory.createImmediatelyInvokedArrowFunction(statements); ts.setOriginalNode(iife, node); ts.setTextRange(iife, node); @@ -95333,9 +96218,12 @@ var ts; } function visitBinaryExpression(node, valueIsDiscarded) { if (ts.isDestructuringAssignment(node)) { + // ({ x: obj.#x } = ...) + // ({ x: super.x } = ...) + // ({ x: super[x] } = ...) var savedPendingExpressions = pendingExpressions; pendingExpressions = undefined; - node = factory.updateBinaryExpression(node, ts.visitNode(node.left, visitorDestructuringTarget), node.operatorToken, ts.visitNode(node.right, visitor)); + node = factory.updateBinaryExpression(node, ts.visitNode(node.left, assignmentTargetVisitor), node.operatorToken, ts.visitNode(node.right, visitor)); var expr = ts.some(pendingExpressions) ? factory.inlineExpressions(ts.compact(__spreadArray(__spreadArray([], pendingExpressions, true), [node], false))) : node; @@ -95343,7 +96231,9 @@ var ts; return expr; } if (ts.isAssignmentExpression(node)) { - if (shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierPropertyAccessExpression(node.left)) { + if (shouldTransformPrivateElementsOrClassStaticBlocks && + ts.isPrivateIdentifierPropertyAccessExpression(node.left)) { + // obj.#x = ... var info = accessPrivateIdentifier(node.left.name); if (info) { return ts.setTextRange(ts.setOriginalNode(createPrivateIdentifierAssignment(info, node.left.expression, node.right, node.operatorToken.kind), node), node); @@ -95353,6 +96243,10 @@ var ts; ts.isSuperProperty(node.left) && currentStaticPropertyDeclarationOrStaticBlock && currentClassLexicalEnvironment) { + // super.x = ... + // super[x] = ... + // super.x += ... + // super.x -= ... var classConstructor = currentClassLexicalEnvironment.classConstructor, superClassReference = currentClassLexicalEnvironment.superClassReference, facts = currentClassLexicalEnvironment.facts; if (facts & 1 /* ClassFacts.ClassWasDecorated */) { return factory.updateBinaryExpression(node, visitInvalidSuperProperty(node.left), node.operatorToken, ts.visitNode(node.right, visitor, ts.isExpression)); @@ -95396,8 +96290,10 @@ var ts; } } } - if (node.operatorToken.kind === 101 /* SyntaxKind.InKeyword */ && ts.isPrivateIdentifier(node.left)) { - return visitPrivateIdentifierInInExpression(node); + if (shouldTransformPrivateElementsOrClassStaticBlocks && + isPrivateIdentifierInExpression(node)) { + // #x in obj + return transformPrivateIdentifierInInExpression(node); } return ts.visitEachChild(node, visitor, context); } @@ -95414,7 +96310,7 @@ var ts; case "a" /* PrivateIdentifierKind.Accessor */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, info.setterName); case "m" /* PrivateIdentifierKind.Method */: - return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, + return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, /* f */ undefined); case "f" /* PrivateIdentifierKind.Field */: return context.getEmitHelperFactory().createClassPrivateFieldSetHelper(receiver, info.brandCheckIdentifier, right, info.kind, info.variableName); @@ -95422,36 +96318,6 @@ var ts; ts.Debug.assertNever(info, "Unknown private element type"); } } - /** - * Set up the environment for a class. - */ - function visitClassLike(node) { - if (!ts.forEach(node.members, doesClassElementNeedTransform)) { - return ts.visitEachChild(node, visitor, context); - } - var savedPendingExpressions = pendingExpressions; - pendingExpressions = undefined; - startClassLexicalEnvironment(); - if (shouldTransformPrivateElementsOrClassStaticBlocks) { - var name = ts.getNameOfDeclaration(node); - if (name && ts.isIdentifier(name)) { - getPrivateIdentifierEnvironment().className = ts.idText(name); - } - var privateInstanceMethodsAndAccessors = getPrivateInstanceMethodsAndAccessors(node); - if (ts.some(privateInstanceMethodsAndAccessors)) { - getPrivateIdentifierEnvironment().weakSetName = createHoistedVariableForClass("instances", privateInstanceMethodsAndAccessors[0].name); - } - } - var result = ts.isClassDeclaration(node) ? - visitClassDeclaration(node) : - visitClassExpression(node); - endClassLexicalEnvironment(); - pendingExpressions = savedPendingExpressions; - return result; - } - function doesClassElementNeedTransform(node) { - return ts.isPropertyDeclaration(node) || ts.isClassStaticBlockDeclaration(node) || (shouldTransformPrivateElementsOrClassStaticBlocks && node.name && ts.isPrivateIdentifier(node.name)); - } function getPrivateInstanceMethodsAndAccessors(node) { return ts.filter(node.members, ts.isNonStaticMethodOrAccessorWithPrivateName); } @@ -95465,7 +96331,7 @@ var ts; var member = _a[_i]; if (!ts.isStatic(member)) continue; - if (member.name && ts.isPrivateIdentifier(member.name) && shouldTransformPrivateElementsOrClassStaticBlocks) { + if (member.name && (ts.isPrivateIdentifier(member.name) || ts.isAutoAccessorPropertyDeclaration(member)) && shouldTransformPrivateElementsOrClassStaticBlocks) { facts |= 2 /* ClassFacts.NeedsClassConstructorReference */; } if (ts.isPropertyDeclaration(member) || ts.isClassStaticBlockDeclaration(member)) { @@ -95484,17 +96350,32 @@ var ts; } return facts; } - function visitExpressionWithTypeArguments(node) { + function visitExpressionWithTypeArgumentsInHeritageClause(node) { var facts = (currentClassLexicalEnvironment === null || currentClassLexicalEnvironment === void 0 ? void 0 : currentClassLexicalEnvironment.facts) || 0 /* ClassFacts.None */; if (facts & 4 /* ClassFacts.NeedsClassSuperReference */) { var temp = factory.createTempVariable(hoistVariableDeclaration, /*reserveInNestedScopes*/ true); getClassLexicalEnvironment().superClassReference = temp; - return factory.updateExpressionWithTypeArguments(node, factory.createAssignment(temp, ts.visitNode(node.expression, visitor, ts.isExpression)), + return factory.updateExpressionWithTypeArguments(node, factory.createAssignment(temp, ts.visitNode(node.expression, visitor, ts.isExpression)), /*typeArguments*/ undefined); } return ts.visitEachChild(node, visitor, context); } - function visitClassDeclaration(node) { + function visitInNewClassLexicalEnvironment(node, visitor) { + var savedCurrentClassContainer = currentClassContainer; + var savedPendingExpressions = pendingExpressions; + currentClassContainer = node; + pendingExpressions = undefined; + startClassLexicalEnvironment(); + if (shouldTransformPrivateElementsOrClassStaticBlocks) { + var name = ts.getNameOfDeclaration(node); + if (name && ts.isIdentifier(name)) { + getPrivateIdentifierEnvironment().className = name; + } + var privateInstanceMethodsAndAccessors = getPrivateInstanceMethodsAndAccessors(node); + if (ts.some(privateInstanceMethodsAndAccessors)) { + getPrivateIdentifierEnvironment().weakSetName = createHoistedVariableForClass("instances", privateInstanceMethodsAndAccessors[0].name); + } + } var facts = getClassFacts(node); if (facts) { getClassLexicalEnvironment().facts = facts; @@ -95502,6 +96383,16 @@ var ts; if (facts & 8 /* ClassFacts.NeedsSubstitutionForThisInClassStaticField */) { enableSubstitutionForClassStaticThisOrSuperReference(); } + var result = visitor(node, facts); + endClassLexicalEnvironment(); + currentClassContainer = savedCurrentClassContainer; + pendingExpressions = savedPendingExpressions; + return result; + } + function visitClassDeclaration(node) { + return visitInNewClassLexicalEnvironment(node, visitClassDeclarationInNewClassLexicalEnvironment); + } + function visitClassDeclarationInNewClassLexicalEnvironment(node, facts) { // If a class has private static fields, or a static field has a `this` or `super` reference, // then we need to allocate a temp variable to hold on to that reference. var pendingClassReferenceAssignment; @@ -95510,12 +96401,16 @@ var ts; getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); pendingClassReferenceAssignment = factory.createAssignment(temp, factory.getInternalName(node)); } - var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); - var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); - var statements = [ - factory.updateClassDeclaration(node, node.modifiers, node.name, - /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)) - ]; + var modifiers = ts.visitNodes(node.modifiers, visitor, ts.isModifierLike); + var heritageClauses = ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause); + var _a = transformClassMembers(node), members = _a.members, prologue = _a.prologue; + var classDecl = factory.updateClassDeclaration(node, modifiers, node.name, + /*typeParameters*/ undefined, heritageClauses, members); + var statements = []; + if (prologue) { + statements.push(factory.createExpressionStatement(prologue)); + } + statements.push(classDecl); if (pendingClassReferenceAssignment) { getPendingExpressions().unshift(pendingClassReferenceAssignment); } @@ -95523,25 +96418,23 @@ var ts; if (ts.some(pendingExpressions)) { statements.push(factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions))); } - // Emit static property assignment. Because classDeclaration is lexically evaluated, - // it is safe to emit static property assignment after classDeclaration - // From ES6 specification: - // HasLexicalDeclaration (N) : Determines if the argument identifier has a binding in this environment record that was created using - // a lexical declaration such as a LexicalDeclaration or a ClassDeclaration. - var staticProperties = ts.getStaticPropertiesAndClassStaticBlock(node); - if (ts.some(staticProperties)) { - addPropertyOrClassStaticBlockStatements(statements, staticProperties, factory.getInternalName(node)); + if (shouldTransformInitializersUsingSet || shouldTransformPrivateElementsOrClassStaticBlocks) { + // Emit static property assignment. Because classDeclaration is lexically evaluated, + // it is safe to emit static property assignment after classDeclaration + // From ES6 specification: + // HasLexicalDeclaration (N) : Determines if the argument identifier has a binding in this environment record that was created using + // a lexical declaration such as a LexicalDeclaration or a ClassDeclaration. + var staticProperties = ts.getStaticPropertiesAndClassStaticBlock(node); + if (ts.some(staticProperties)) { + addPropertyOrClassStaticBlockStatements(statements, staticProperties, factory.getInternalName(node)); + } } return statements; } function visitClassExpression(node) { - var facts = getClassFacts(node); - if (facts) { - getClassLexicalEnvironment().facts = facts; - } - if (facts & 8 /* ClassFacts.NeedsSubstitutionForThisInClassStaticField */) { - enableSubstitutionForClassStaticThisOrSuperReference(); - } + return visitInNewClassLexicalEnvironment(node, visitClassExpressionInNewClassLexicalEnvironment); + } + function visitClassExpressionInNewClassLexicalEnvironment(node, facts) { // If this class expression is a transformation of a decorated class declaration, // then we want to output the pendingExpressions as statements, not as inlined // expressions with the class statement. @@ -95551,8 +96444,6 @@ var ts; // these statements after the class expression variable statement. var isDecoratedClassDeclaration = !!(facts & 1 /* ClassFacts.ClassWasDecorated */); var staticPropertiesOrClassStaticBlocks = ts.getStaticPropertiesAndClassStaticBlock(node); - var extendsClauseElement = ts.getEffectiveBaseTypeNode(node); - var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); var isClassWithConstructorReference = resolver.getNodeCheckFlags(node) & 16777216 /* NodeCheckFlags.ClassWithConstructorReference */; var temp; function createClassTempVar() { @@ -95565,9 +96456,23 @@ var ts; temp = createClassTempVar(); getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); } - var classExpression = factory.updateClassExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, - /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause), transformClassMembers(node, isDerivedClass)); - var hasTransformableStatics = shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(staticPropertiesOrClassStaticBlocks, function (p) { return ts.isClassStaticBlockDeclaration(p) || !!p.initializer || ts.isPrivateIdentifier(p.name); }); + var modifiers = ts.visitNodes(node.modifiers, visitor, ts.isModifierLike); + var heritageClauses = ts.visitNodes(node.heritageClauses, heritageClauseVisitor, ts.isHeritageClause); + var _a = transformClassMembers(node), members = _a.members, prologue = _a.prologue; + var classExpression = factory.updateClassExpression(node, modifiers, node.name, + /*typeParameters*/ undefined, heritageClauses, members); + var expressions = []; + if (prologue) { + expressions.push(prologue); + } + // Static initializers are transformed to `static {}` blocks when `useDefineForClassFields: false` + // and not also transforming static blocks. + var hasTransformableStatics = shouldTransformPrivateElementsOrClassStaticBlocks && + ts.some(staticPropertiesOrClassStaticBlocks, function (node) { + return ts.isClassStaticBlockDeclaration(node) || + ts.isPrivateIdentifierClassElementDeclaration(node) || + shouldTransformInitializers && ts.isInitializedProperty(node); + }); if (hasTransformableStatics || ts.some(pendingExpressions)) { if (isDecoratedClassDeclaration) { ts.Debug.assertIsDefined(pendingStatements, "Decorated classes transformed by TypeScript are expected to be within a variable declaration."); @@ -95579,12 +96484,16 @@ var ts; addPropertyOrClassStaticBlockStatements(pendingStatements, staticPropertiesOrClassStaticBlocks, factory.getInternalName(node)); } if (temp) { - return factory.inlineExpressions([factory.createAssignment(temp, classExpression), temp]); + expressions.push(ts.startOnNewLine(factory.createAssignment(temp, classExpression)), ts.startOnNewLine(temp)); + } + else { + expressions.push(classExpression); + if (prologue) { + ts.startOnNewLine(classExpression); + } } - return classExpression; } else { - var expressions = []; temp || (temp = createClassTempVar()); if (isClassWithConstructorReference) { // record an alias as the class name is not in scope for statics. @@ -95601,82 +96510,127 @@ var ts; ts.addRange(expressions, ts.map(pendingExpressions, ts.startOnNewLine)); ts.addRange(expressions, generateInitializedPropertyExpressionsOrClassStaticBlock(staticPropertiesOrClassStaticBlocks, temp)); expressions.push(ts.startOnNewLine(temp)); - return factory.inlineExpressions(expressions); } } - return classExpression; + else { + expressions.push(classExpression); + if (prologue) { + ts.startOnNewLine(classExpression); + } + } + return factory.inlineExpressions(expressions); } function visitClassStaticBlockDeclaration(node) { if (!shouldTransformPrivateElementsOrClassStaticBlocks) { - return ts.visitEachChild(node, classElementVisitor, context); + return ts.visitEachChild(node, visitor, context); } // ClassStaticBlockDeclaration for classes are transformed in `visitClassDeclaration` or `visitClassExpression`. return undefined; } - function transformClassMembers(node, isDerivedClass) { - var members = []; + function transformClassMembers(node) { + // Declare private names if (shouldTransformPrivateElementsOrClassStaticBlocks) { - // Declare private names. for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; if (ts.isPrivateIdentifierClassElementDeclaration(member)) { - addPrivateIdentifierToEnvironment(member); + addPrivateIdentifierToEnvironment(member, member.name, addPrivateIdentifierClassElementToEnvironment); } } if (ts.some(getPrivateInstanceMethodsAndAccessors(node))) { createBrandCheckWeakSetForPrivateMethods(); } + if (shouldTransformAutoAccessors) { + for (var _b = 0, _c = node.members; _b < _c.length; _b++) { + var member = _c[_b]; + if (ts.isAutoAccessorPropertyDeclaration(member)) { + var storageName = factory.getGeneratedPrivateNameForNode(member.name, /*prefix*/ undefined, "_accessor_storage"); + addPrivateIdentifierToEnvironment(member, storageName, addPrivateIdentifierPropertyDeclarationToEnvironment); + } + } + } } - var constructor = transformConstructor(node, isDerivedClass); - var visitedMembers = ts.visitNodes(node.members, classElementVisitor, ts.isClassElement); - if (constructor) { - members.push(constructor); + var members = ts.visitNodes(node.members, classElementVisitor, ts.isClassElement); + // Create a synthetic constructor if necessary + var syntheticConstructor; + if (!ts.some(members, ts.isConstructorDeclaration)) { + syntheticConstructor = transformConstructor(/*constructor*/ undefined, node); } + var prologue; + // If there are pending expressions create a class static block in which to evaluate them, but only if + // class static blocks are not also being transformed. This block will be injected at the top of the class + // to ensure that expressions from computed property names are evaluated before any other static + // initializers. + var syntheticStaticBlock; if (!shouldTransformPrivateElementsOrClassStaticBlocks && ts.some(pendingExpressions)) { - members.push(factory.createClassStaticBlockDeclaration(factory.createBlock([ - factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions)) - ]))); + var statement = factory.createExpressionStatement(factory.inlineExpressions(pendingExpressions)); + if (statement.transformFlags & 134234112 /* TransformFlags.ContainsLexicalThisOrSuper */) { + // If there are `this` or `super` references from computed property names, shift the expression + // into an arrow function to be evaluated in the outer scope so that `this` and `super` are + // properly captured. + var temp = factory.createTempVariable(hoistVariableDeclaration); + var arrow = factory.createArrowFunction( + /*modifiers*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], + /*type*/ undefined, + /*equalsGreaterThanToken*/ undefined, factory.createBlock([statement])); + prologue = factory.createAssignment(temp, arrow); + statement = factory.createExpressionStatement(factory.createCallExpression(temp, /*typeArguments*/ undefined, [])); + } + var block = factory.createBlock([statement]); + syntheticStaticBlock = factory.createClassStaticBlockDeclaration(block); pendingExpressions = undefined; } - ts.addRange(members, visitedMembers); - return ts.setTextRange(factory.createNodeArray(members), /*location*/ node.members); + // If we created a synthetic constructor or class static block, add them to the visited members + // and return a new array. + if (syntheticConstructor || syntheticStaticBlock) { + var membersArray = void 0; + membersArray = ts.append(membersArray, syntheticConstructor); + membersArray = ts.append(membersArray, syntheticStaticBlock); + membersArray = ts.addRange(membersArray, members); + members = ts.setTextRange(factory.createNodeArray(membersArray), /*location*/ node.members); + } + return { members: members, prologue: prologue }; } function createBrandCheckWeakSetForPrivateMethods() { var weakSetName = getPrivateIdentifierEnvironment().weakSetName; ts.Debug.assert(weakSetName, "weakSetName should be set in private identifier environment"); - getPendingExpressions().push(factory.createAssignment(weakSetName, factory.createNewExpression(factory.createIdentifier("WeakSet"), + getPendingExpressions().push(factory.createAssignment(weakSetName, factory.createNewExpression(factory.createIdentifier("WeakSet"), /*typeArguments*/ undefined, []))); } function isClassElementThatRequiresConstructorStatement(member) { - if (ts.isStatic(member) || ts.hasSyntacticModifier(ts.getOriginalNode(member), 128 /* ModifierFlags.Abstract */)) { + if (ts.isStatic(member) || ts.hasAbstractModifier(ts.getOriginalNode(member))) { return false; } - if (useDefineForClassFields) { - // If we are using define semantics and targeting ESNext or higher, - // then we don't need to transform any class properties. - return languageVersion < 9 /* ScriptTarget.ES2022 */; - } - return ts.isInitializedProperty(member) || shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierClassElementDeclaration(member); + return shouldTransformInitializersUsingDefine && ts.isPropertyDeclaration(member) || + shouldTransformInitializersUsingSet && ts.isInitializedProperty(member) || + shouldTransformPrivateElementsOrClassStaticBlocks && ts.isPrivateIdentifierClassElementDeclaration(member) || + shouldTransformPrivateElementsOrClassStaticBlocks && shouldTransformAutoAccessors && ts.isAutoAccessorPropertyDeclaration(member); } - function transformConstructor(node, isDerivedClass) { - var constructor = ts.visitNode(ts.getFirstConstructorWithBody(node), visitor, ts.isConstructorDeclaration); - var elements = node.members.filter(isClassElementThatRequiresConstructorStatement); - if (!ts.some(elements)) { + function transformConstructor(constructor, container) { + constructor = ts.visitNode(constructor, visitor, ts.isConstructorDeclaration); + if (!ts.some(container.members, isClassElementThatRequiresConstructorStatement)) { return constructor; } + var extendsClauseElement = ts.getEffectiveBaseTypeNode(container); + var isDerivedClass = !!(extendsClauseElement && ts.skipOuterExpressions(extendsClauseElement.expression).kind !== 104 /* SyntaxKind.NullKeyword */); var parameters = ts.visitParameterList(constructor ? constructor.parameters : undefined, visitor, context); - var body = transformConstructorBody(node, constructor, isDerivedClass); + var body = transformConstructorBody(container, constructor, isDerivedClass); if (!body) { - return undefined; + return constructor; + } + if (constructor) { + ts.Debug.assert(parameters); + return factory.updateConstructorDeclaration(constructor, /*modifiers*/ undefined, parameters, body); } return ts.startOnNewLine(ts.setOriginalNode(ts.setTextRange(factory.createConstructorDeclaration( - /*modifiers*/ undefined, parameters !== null && parameters !== void 0 ? parameters : [], body), constructor || node), constructor)); + /*modifiers*/ undefined, parameters !== null && parameters !== void 0 ? parameters : [], body), constructor || container), constructor)); } function transformConstructorBody(node, constructor, isDerivedClass) { - var _a; + var _a, _b; var properties = ts.getProperties(node, /*requireInitializer*/ false, /*isStatic*/ false); if (!useDefineForClassFields) { - properties = ts.filter(properties, function (property) { return !!property.initializer || ts.isPrivateIdentifier(property.name); }); + properties = ts.filter(properties, function (property) { return !!property.initializer || ts.isPrivateIdentifier(property.name) || ts.hasAccessorModifier(property); }); } var privateMethodsAndAccessors = getPrivateInstanceMethodsAndAccessors(node); var needsConstructorBody = ts.some(properties) || ts.some(privateMethodsAndAccessors); @@ -95707,7 +96661,7 @@ var ts; // // super(...arguments); // - statements.push(factory.createExpressionStatement(factory.createCallExpression(factory.createSuper(), + statements.push(factory.createExpressionStatement(factory.createCallExpression(factory.createSuper(), /*typeArguments*/ undefined, [factory.createSpreadElement(factory.createIdentifier("arguments"))]))); } // Add the property initializers. Transforms this: @@ -95728,8 +96682,8 @@ var ts; statements = statements.filter(function (statement) { return !ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor); }); } else { - for (var _i = 0, _b = constructor.body.statements; _i < _b.length; _i++) { - var statement = _b[_i]; + for (var _i = 0, _c = constructor.body.statements; _i < _c.length; _i++) { + var statement = _c[_i]; if (ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor)) { parameterPropertyDeclarationCount++; } @@ -95761,9 +96715,14 @@ var ts; ts.addRange(statements, ts.visitNodes(constructor.body.statements, visitBodyStatement, ts.isStatement, indexOfFirstStatementAfterSuperAndPrologue)); } statements = factory.mergeLexicalEnvironment(statements, endLexicalEnvironment()); - return ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), - /*location*/ constructor ? constructor.body.statements : node.members), - /*multiLine*/ true), + if (statements.length === 0 && !constructor) { + return undefined; + } + var multiLine = (constructor === null || constructor === void 0 ? void 0 : constructor.body) && constructor.body.statements.length >= statements.length ? + (_b = constructor.body.multiLine) !== null && _b !== void 0 ? _b : statements.length > 0 : + statements.length > 0; + return ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), + /*location*/ constructor ? constructor.body.statements : node.members), multiLine), /*location*/ constructor ? constructor.body : undefined); function visitBodyStatement(statement) { if (useDefineForClassFields && ts.isParameterPropertyDeclaration(ts.getOriginalNode(statement), constructor)) { @@ -95799,9 +96758,10 @@ var ts; return undefined; } var statement = factory.createExpressionStatement(expression); + ts.setOriginalNode(statement, property); + ts.addEmitFlags(statement, ts.getEmitFlags(property) & 1536 /* EmitFlags.NoComments */); ts.setSourceMapRange(statement, ts.moveRangePastModifiers(property)); ts.setCommentRange(statement, property); - ts.setOriginalNode(statement, property); // `setOriginalNode` *copies* the `emitNode` from `property`, so now both // `statement` and `expression` have a copy of the synthesized comments. // Drop the comments from expression to avoid printing them twice. @@ -95824,9 +96784,10 @@ var ts; continue; } ts.startOnNewLine(expression); + ts.setOriginalNode(expression, property); + ts.addEmitFlags(expression, ts.getEmitFlags(property) & 1536 /* EmitFlags.NoComments */); ts.setSourceMapRange(expression, ts.moveRangePastModifiers(property)); ts.setCommentRange(expression, property); - ts.setOriginalNode(expression, property); expressions.push(expression); } return expressions; @@ -95853,9 +96814,11 @@ var ts; var _a; // We generate a name here in order to reuse the value cached by the relocated computed name expression (which uses the same generated name) var emitAssignment = !useDefineForClassFields; - var propertyName = ts.isComputedPropertyName(property.name) && !ts.isSimpleInlineableExpression(property.name.expression) - ? factory.updateComputedPropertyName(property.name, factory.getGeneratedNameForNode(property.name)) - : property.name; + var propertyName = ts.hasAccessorModifier(property) ? + factory.getGeneratedPrivateNameForNode(property.name) : + ts.isComputedPropertyName(property.name) && !ts.isSimpleInlineableExpression(property.name.expression) ? + factory.updateComputedPropertyName(property.name, factory.getGeneratedNameForNode(property.name)) : + property.name; if (ts.hasStaticModifier(property)) { currentStaticPropertyDeclarationOrStaticBlock = property; } @@ -95882,7 +96845,7 @@ var ts; return undefined; } var propertyOriginalNode = ts.getOriginalNode(property); - if (ts.hasSyntacticModifier(propertyOriginalNode, 128 /* ModifierFlags.Abstract */)) { + if (ts.hasSyntacticModifier(propertyOriginalNode, 256 /* ModifierFlags.Abstract */)) { return undefined; } var initializer = property.initializer || emitAssignment ? (_a = ts.visitNode(property.initializer, visitor, ts.isExpression)) !== null && _a !== void 0 ? _a : factory.createVoidZero() @@ -95916,17 +96879,17 @@ var ts; // substitute `this` in a static field initializer context.enableSubstitution(108 /* SyntaxKind.ThisKeyword */); // these push a new lexical environment that is not the class lexical environment - context.enableEmitNotification(256 /* SyntaxKind.FunctionDeclaration */); - context.enableEmitNotification(213 /* SyntaxKind.FunctionExpression */); - context.enableEmitNotification(171 /* SyntaxKind.Constructor */); + context.enableEmitNotification(259 /* SyntaxKind.FunctionDeclaration */); + context.enableEmitNotification(215 /* SyntaxKind.FunctionExpression */); + context.enableEmitNotification(173 /* SyntaxKind.Constructor */); // these push a new lexical environment that is not the class lexical environment, except // when they have a computed property name - context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); - context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); - context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); - context.enableEmitNotification(167 /* SyntaxKind.PropertyDeclaration */); + context.enableEmitNotification(174 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(175 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(171 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(169 /* SyntaxKind.PropertyDeclaration */); // class lexical environments are restored when entering a computed property name - context.enableEmitNotification(162 /* SyntaxKind.ComputedPropertyName */); + context.enableEmitNotification(164 /* SyntaxKind.ComputedPropertyName */); } } /** @@ -95965,13 +96928,13 @@ var ts; } } switch (node.kind) { - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: if (ts.isArrowFunction(original) || ts.getEmitFlags(node) & 262144 /* EmitFlags.AsyncFunctionBody */) { break; } // falls through - case 256 /* SyntaxKind.FunctionDeclaration */: - case 171 /* SyntaxKind.Constructor */: { + case 259 /* SyntaxKind.FunctionDeclaration */: + case 173 /* SyntaxKind.Constructor */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentClassLexicalEnvironment = undefined; @@ -95981,10 +96944,10 @@ var ts; currentComputedPropertyNameClassLexicalEnvironment = savedCurrentComputedPropertyNameClassLexicalEnvironment; return; } - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 167 /* SyntaxKind.PropertyDeclaration */: { + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentComputedPropertyNameClassLexicalEnvironment = currentClassLexicalEnvironment; @@ -95994,7 +96957,7 @@ var ts; currentComputedPropertyNameClassLexicalEnvironment = savedCurrentComputedPropertyNameClassLexicalEnvironment; return; } - case 162 /* SyntaxKind.ComputedPropertyName */: { + case 164 /* SyntaxKind.ComputedPropertyName */: { var savedClassLexicalEnvironment = currentClassLexicalEnvironment; var savedCurrentComputedPropertyNameClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; currentClassLexicalEnvironment = currentComputedPropertyNameClassLexicalEnvironment; @@ -96108,149 +97071,138 @@ var ts; function getPrivateIdentifierEnvironment() { var lex = getClassLexicalEnvironment(); lex.privateIdentifierEnvironment || (lex.privateIdentifierEnvironment = { - className: "", - identifiers: new ts.Map() + className: undefined, + weakSetName: undefined, + identifiers: undefined, + generatedIdentifiers: undefined, }); return lex.privateIdentifierEnvironment; } function getPendingExpressions() { - return pendingExpressions || (pendingExpressions = []); + return pendingExpressions !== null && pendingExpressions !== void 0 ? pendingExpressions : (pendingExpressions = []); } - function addPrivateIdentifierToEnvironment(node) { - var _a; - var text = ts.getTextOfPropertyName(node.name); - var lex = getClassLexicalEnvironment(); - var classConstructor = lex.classConstructor; - var privateEnv = getPrivateIdentifierEnvironment(); - var weakSetName = privateEnv.weakSetName; - var assignmentExpressions = []; - var privateName = node.name.escapedText; - var previousInfo = privateEnv.identifiers.get(privateName); - var isValid = !isReservedPrivateName(node.name) && previousInfo === undefined; - if (ts.hasStaticModifier(node)) { - ts.Debug.assert(classConstructor, "weakSetName should be set in private identifier environment"); - if (ts.isPropertyDeclaration(node)) { - var variableName = createHoistedVariableForPrivateName(text, node); - privateEnv.identifiers.set(privateName, { - kind: "f" /* PrivateIdentifierKind.Field */, - variableName: variableName, - brandCheckIdentifier: classConstructor, - isStatic: true, - isValid: isValid, - }); - } - else if (ts.isMethodDeclaration(node)) { - var functionName = createHoistedVariableForPrivateName(text, node); - privateEnv.identifiers.set(privateName, { - kind: "m" /* PrivateIdentifierKind.Method */, - methodName: functionName, - brandCheckIdentifier: classConstructor, - isStatic: true, - isValid: isValid, - }); - } - else if (ts.isGetAccessorDeclaration(node)) { - var getterName = createHoistedVariableForPrivateName(text + "_get", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic && !previousInfo.getterName) { - previousInfo.getterName = getterName; - } - else { - privateEnv.identifiers.set(privateName, { - kind: "a" /* PrivateIdentifierKind.Accessor */, - getterName: getterName, - setterName: undefined, - brandCheckIdentifier: classConstructor, - isStatic: true, - isValid: isValid, - }); - } - } - else if (ts.isSetAccessorDeclaration(node)) { - var setterName = createHoistedVariableForPrivateName(text + "_set", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic && !previousInfo.setterName) { - previousInfo.setterName = setterName; - } - else { - privateEnv.identifiers.set(privateName, { - kind: "a" /* PrivateIdentifierKind.Accessor */, - getterName: undefined, - setterName: setterName, - brandCheckIdentifier: classConstructor, - isStatic: true, - isValid: isValid, - }); - } - } - else { - ts.Debug.assertNever(node, "Unknown class element type."); - } + function addPrivateIdentifierClassElementToEnvironment(node, name, lex, privateEnv, isStatic, isValid, previousInfo) { + if (ts.isAutoAccessorPropertyDeclaration(node)) { + addPrivateIdentifierAutoAccessorPropertyDeclarationToEnvironment(node, name, lex, privateEnv, isStatic, isValid, previousInfo); } else if (ts.isPropertyDeclaration(node)) { - var weakMapName = createHoistedVariableForPrivateName(text, node); - privateEnv.identifiers.set(privateName, { + addPrivateIdentifierPropertyDeclarationToEnvironment(node, name, lex, privateEnv, isStatic, isValid, previousInfo); + } + else if (ts.isMethodDeclaration(node)) { + addPrivateIdentifierMethodDeclarationToEnvironment(node, name, lex, privateEnv, isStatic, isValid, previousInfo); + } + else if (ts.isGetAccessorDeclaration(node)) { + addPrivateIdentifierGetAccessorDeclarationToEnvironment(node, name, lex, privateEnv, isStatic, isValid, previousInfo); + } + else if (ts.isSetAccessorDeclaration(node)) { + addPrivateIdentifierSetAccessorDeclarationToEnvironment(node, name, lex, privateEnv, isStatic, isValid, previousInfo); + } + } + function addPrivateIdentifierPropertyDeclarationToEnvironment(_node, name, lex, privateEnv, isStatic, isValid, _previousInfo) { + if (isStatic) { + ts.Debug.assert(lex.classConstructor, "classConstructor should be set in private identifier environment"); + var variableName = createHoistedVariableForPrivateName(name); + setPrivateIdentifier(privateEnv, name, { + kind: "f" /* PrivateIdentifierKind.Field */, + brandCheckIdentifier: lex.classConstructor, + variableName: variableName, + isStatic: true, + isValid: isValid, + }); + } + else { + var weakMapName = createHoistedVariableForPrivateName(name); + setPrivateIdentifier(privateEnv, name, { kind: "f" /* PrivateIdentifierKind.Field */, brandCheckIdentifier: weakMapName, - isStatic: false, variableName: undefined, + isStatic: false, isValid: isValid, }); - assignmentExpressions.push(factory.createAssignment(weakMapName, factory.createNewExpression(factory.createIdentifier("WeakMap"), + getPendingExpressions().push(factory.createAssignment(weakMapName, factory.createNewExpression(factory.createIdentifier("WeakMap"), /*typeArguments*/ undefined, []))); } - else if (ts.isMethodDeclaration(node)) { - ts.Debug.assert(weakSetName, "weakSetName should be set in private identifier environment"); - privateEnv.identifiers.set(privateName, { - kind: "m" /* PrivateIdentifierKind.Method */, - methodName: createHoistedVariableForPrivateName(text, node), - brandCheckIdentifier: weakSetName, - isStatic: false, + } + function addPrivateIdentifierMethodDeclarationToEnvironment(_node, name, lex, privateEnv, isStatic, isValid, _previousInfo) { + var methodName = createHoistedVariableForPrivateName(name); + var brandCheckIdentifier = isStatic ? + ts.Debug.checkDefined(lex.classConstructor, "classConstructor should be set in private identifier environment") : + ts.Debug.checkDefined(privateEnv.weakSetName, "weakSetName should be set in private identifier environment"); + setPrivateIdentifier(privateEnv, name, { + kind: "m" /* PrivateIdentifierKind.Method */, + methodName: methodName, + brandCheckIdentifier: brandCheckIdentifier, + isStatic: isStatic, + isValid: isValid, + }); + } + function addPrivateIdentifierGetAccessorDeclarationToEnvironment(_node, name, lex, privateEnv, isStatic, isValid, previousInfo) { + var getterName = createHoistedVariableForPrivateName(name, "_get"); + var brandCheckIdentifier = isStatic ? + ts.Debug.checkDefined(lex.classConstructor, "classConstructor should be set in private identifier environment") : + ts.Debug.checkDefined(privateEnv.weakSetName, "weakSetName should be set in private identifier environment"); + if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic === isStatic && !previousInfo.getterName) { + previousInfo.getterName = getterName; + } + else { + setPrivateIdentifier(privateEnv, name, { + kind: "a" /* PrivateIdentifierKind.Accessor */, + getterName: getterName, + setterName: undefined, + brandCheckIdentifier: brandCheckIdentifier, + isStatic: isStatic, isValid: isValid, }); } - else if (ts.isAccessor(node)) { - ts.Debug.assert(weakSetName, "weakSetName should be set in private identifier environment"); - if (ts.isGetAccessor(node)) { - var getterName = createHoistedVariableForPrivateName(text + "_get", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && !previousInfo.isStatic && !previousInfo.getterName) { - previousInfo.getterName = getterName; - } - else { - privateEnv.identifiers.set(privateName, { - kind: "a" /* PrivateIdentifierKind.Accessor */, - getterName: getterName, - setterName: undefined, - brandCheckIdentifier: weakSetName, - isStatic: false, - isValid: isValid, - }); - } - } - else { - var setterName = createHoistedVariableForPrivateName(text + "_set", node); - if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && !previousInfo.isStatic && !previousInfo.setterName) { - previousInfo.setterName = setterName; - } - else { - privateEnv.identifiers.set(privateName, { - kind: "a" /* PrivateIdentifierKind.Accessor */, - getterName: undefined, - setterName: setterName, - brandCheckIdentifier: weakSetName, - isStatic: false, - isValid: isValid, - }); - } - } + } + function addPrivateIdentifierSetAccessorDeclarationToEnvironment(_node, name, lex, privateEnv, isStatic, isValid, previousInfo) { + var setterName = createHoistedVariableForPrivateName(name, "_set"); + var brandCheckIdentifier = isStatic ? + ts.Debug.checkDefined(lex.classConstructor, "classConstructor should be set in private identifier environment") : + ts.Debug.checkDefined(privateEnv.weakSetName, "weakSetName should be set in private identifier environment"); + if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic === isStatic && !previousInfo.setterName) { + previousInfo.setterName = setterName; } else { - ts.Debug.assertNever(node, "Unknown class element type."); + setPrivateIdentifier(privateEnv, name, { + kind: "a" /* PrivateIdentifierKind.Accessor */, + getterName: undefined, + setterName: setterName, + brandCheckIdentifier: brandCheckIdentifier, + isStatic: isStatic, + isValid: isValid, + }); } - (_a = getPendingExpressions()).push.apply(_a, assignmentExpressions); } - function createHoistedVariableForClass(name, node) { + function addPrivateIdentifierAutoAccessorPropertyDeclarationToEnvironment(_node, name, lex, privateEnv, isStatic, isValid, _previousInfo) { + var getterName = createHoistedVariableForPrivateName(name, "_get"); + var setterName = createHoistedVariableForPrivateName(name, "_set"); + var brandCheckIdentifier = isStatic ? + ts.Debug.checkDefined(lex.classConstructor, "classConstructor should be set in private identifier environment") : + ts.Debug.checkDefined(privateEnv.weakSetName, "weakSetName should be set in private identifier environment"); + setPrivateIdentifier(privateEnv, name, { + kind: "a" /* PrivateIdentifierKind.Accessor */, + getterName: getterName, + setterName: setterName, + brandCheckIdentifier: brandCheckIdentifier, + isStatic: isStatic, + isValid: isValid, + }); + } + function addPrivateIdentifierToEnvironment(node, name, addDeclaration) { + var lex = getClassLexicalEnvironment(); + var privateEnv = getPrivateIdentifierEnvironment(); + var previousInfo = getPrivateIdentifier(privateEnv, name); + var isStatic = ts.hasStaticModifier(node); + var isValid = !isReservedPrivateName(name) && previousInfo === undefined; + addDeclaration(node, name, lex, privateEnv, isStatic, isValid, previousInfo); + } + function createHoistedVariableForClass(name, node, suffix) { var className = getPrivateIdentifierEnvironment().className; - var prefix = className ? "_".concat(className) : ""; - var identifier = factory.createUniqueName("".concat(prefix, "_").concat(name), 16 /* GeneratedIdentifierFlags.Optimistic */); + var prefix = className ? { prefix: "_", node: className, suffix: "_" } : "_"; + var identifier = typeof name === "object" ? factory.getGeneratedNameForNode(name, 16 /* GeneratedIdentifierFlags.Optimistic */ | 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */, prefix, suffix) : + typeof name === "string" ? factory.createUniqueName(name, 16 /* GeneratedIdentifierFlags.Optimistic */, prefix, suffix) : + factory.createTempVariable(/*recordTempVariable*/ undefined, /*reserveInNestedScopes*/ true, prefix, suffix); if (resolver.getNodeCheckFlags(node) & 524288 /* NodeCheckFlags.BlockScopedBindingInLoop */) { addBlockScopedVariable(identifier); } @@ -96259,13 +97211,33 @@ var ts; } return identifier; } - function createHoistedVariableForPrivateName(privateName, node) { - return createHoistedVariableForClass(privateName.substring(1), node.name); + function createHoistedVariableForPrivateName(name, suffix) { + var _a; + var text = ts.tryGetTextOfPropertyName(name); + return createHoistedVariableForClass((_a = text === null || text === void 0 ? void 0 : text.substring(1)) !== null && _a !== void 0 ? _a : name, name, suffix); } + /** + * Access an already defined {@link PrivateIdentifier} in the current {@link PrivateIdentifierEnvironment}. + * + * @seealso {@link addPrivateIdentifierToEnvironment} + */ function accessPrivateIdentifier(name) { - var _a; + if (ts.isGeneratedPrivateIdentifier(name)) { + return accessGeneratedPrivateIdentifier(name); + } + else { + return accessPrivateIdentifierByText(name.escapedText); + } + } + function accessPrivateIdentifierByText(text) { + return accessPrivateIdentifierWorker(getPrivateIdentifierInfo, text); + } + function accessGeneratedPrivateIdentifier(name) { + return accessPrivateIdentifierWorker(getGeneratedPrivateIdentifierInfo, ts.getNodeForGeneratedName(name)); + } + function accessPrivateIdentifierWorker(getPrivateIdentifierInfo, privateIdentifierKey) { if (currentClassLexicalEnvironment === null || currentClassLexicalEnvironment === void 0 ? void 0 : currentClassLexicalEnvironment.privateIdentifierEnvironment) { - var info = currentClassLexicalEnvironment.privateIdentifierEnvironment.identifiers.get(name.escapedText); + var info = getPrivateIdentifierInfo(currentClassLexicalEnvironment.privateIdentifierEnvironment, privateIdentifierKey); if (info) { return info; } @@ -96275,9 +97247,11 @@ var ts; if (!env) { continue; } - var info = (_a = env.privateIdentifierEnvironment) === null || _a === void 0 ? void 0 : _a.identifiers.get(name.escapedText); - if (info) { - return info; + if (env.privateIdentifierEnvironment) { + var info = getPrivateIdentifierInfo(env.privateIdentifierEnvironment, privateIdentifierKey); + if (info) { + return info; + } } } return undefined; @@ -96334,7 +97308,7 @@ var ts; } } } - return ts.visitNode(node, visitorDestructuringTarget); + return ts.visitNode(node, assignmentTargetVisitor); } function visitObjectAssignmentTarget(node) { if (ts.isObjectBindingOrAssignmentElement(node) && !ts.isShorthandPropertyAssignment(node)) { @@ -96367,10 +97341,10 @@ var ts; var initializer = ts.getInitializerOfBindingOrAssignmentElement(node); return factory.updatePropertyAssignment(node, ts.visitNode(node.name, visitor, ts.isPropertyName), wrapped ? initializer ? factory.createAssignment(wrapped, ts.visitNode(initializer, visitor)) : wrapped : - ts.visitNode(node.initializer, visitorDestructuringTarget, ts.isExpression)); + ts.visitNode(node.initializer, assignmentTargetVisitor, ts.isExpression)); } if (ts.isSpreadAssignment(node)) { - return factory.updateSpreadAssignment(node, wrapped || ts.visitNode(node.expression, visitorDestructuringTarget, ts.isExpression)); + return factory.updateSpreadAssignment(node, wrapped || ts.visitNode(node.expression, assignmentTargetVisitor, ts.isExpression)); } ts.Debug.assert(wrapped === undefined, "Should not have generated a wrapped target"); } @@ -96408,15 +97382,39 @@ var ts; ])); } function createPrivateInstanceFieldInitializer(receiver, initializer, weakMapName) { - return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakMapName, "set"), + return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakMapName, "set"), /*typeArguments*/ undefined, [receiver, initializer || ts.factory.createVoidZero()]); } function createPrivateInstanceMethodInitializer(receiver, weakSetName) { - return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakSetName, "add"), + return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(weakSetName, "add"), /*typeArguments*/ undefined, [receiver]); } function isReservedPrivateName(node) { - return node.escapedText === "#constructor"; + return !ts.isGeneratedPrivateIdentifier(node) && node.escapedText === "#constructor"; + } + function getPrivateIdentifier(privateEnv, name) { + return ts.isGeneratedPrivateIdentifier(name) ? + getGeneratedPrivateIdentifierInfo(privateEnv, ts.getNodeForGeneratedName(name)) : + getPrivateIdentifierInfo(privateEnv, name.escapedText); + } + function setPrivateIdentifier(privateEnv, name, info) { + var _a, _b; + if (ts.isGeneratedPrivateIdentifier(name)) { + (_a = privateEnv.generatedIdentifiers) !== null && _a !== void 0 ? _a : (privateEnv.generatedIdentifiers = new ts.Map()); + privateEnv.generatedIdentifiers.set(ts.getNodeForGeneratedName(name), info); + } + else { + (_b = privateEnv.identifiers) !== null && _b !== void 0 ? _b : (privateEnv.identifiers = new ts.Map()); + privateEnv.identifiers.set(name.escapedText, info); + } + } + function getPrivateIdentifierInfo(privateEnv, key) { + var _a; + return (_a = privateEnv.identifiers) === null || _a === void 0 ? void 0 : _a.get(key); + } + function getGeneratedPrivateIdentifierInfo(privateEnv, key) { + var _a; + return (_a = privateEnv.generatedIdentifiers) === null || _a === void 0 ? void 0 : _a.get(key); } })(ts || (ts = {})); /*@internal*/ @@ -96457,15 +97455,15 @@ var ts; */ function serializeTypeOfNode(node) { switch (node.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 164 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.Parameter */: return serializeTypeNode(node.type); - case 173 /* SyntaxKind.SetAccessor */: - case 172 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return serializeTypeNode(getAccessorTypeNode(node)); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: return ts.factory.createIdentifier("Function"); default: return ts.factory.createVoidZero(); @@ -96501,7 +97499,7 @@ var ts; return ts.factory.createArrayLiteralExpression(expressions); } function getParametersOfDecoratedDeclaration(node, container) { - if (container && node.kind === 172 /* SyntaxKind.GetAccessor */) { + if (container && node.kind === 174 /* SyntaxKind.GetAccessor */) { var setAccessor = ts.getAllAccessorDeclarations(container.members, node).setAccessor; if (setAccessor) { return setAccessor.parameters; @@ -96547,66 +97545,66 @@ var ts; node = ts.skipTypeParentheses(node); switch (node.kind) { case 114 /* SyntaxKind.VoidKeyword */: - case 153 /* SyntaxKind.UndefinedKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: + case 155 /* SyntaxKind.UndefinedKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: return ts.factory.createVoidZero(); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: return ts.factory.createIdentifier("Function"); - case 183 /* SyntaxKind.ArrayType */: - case 184 /* SyntaxKind.TupleType */: + case 185 /* SyntaxKind.ArrayType */: + case 186 /* SyntaxKind.TupleType */: return ts.factory.createIdentifier("Array"); - case 177 /* SyntaxKind.TypePredicate */: + case 179 /* SyntaxKind.TypePredicate */: return node.assertsModifier ? ts.factory.createVoidZero() : ts.factory.createIdentifier("Boolean"); - case 133 /* SyntaxKind.BooleanKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: return ts.factory.createIdentifier("Boolean"); - case 198 /* SyntaxKind.TemplateLiteralType */: - case 150 /* SyntaxKind.StringKeyword */: + case 200 /* SyntaxKind.TemplateLiteralType */: + case 152 /* SyntaxKind.StringKeyword */: return ts.factory.createIdentifier("String"); - case 148 /* SyntaxKind.ObjectKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: return ts.factory.createIdentifier("Object"); - case 196 /* SyntaxKind.LiteralType */: + case 198 /* SyntaxKind.LiteralType */: return serializeLiteralOfLiteralTypeNode(node.literal); - case 147 /* SyntaxKind.NumberKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: return ts.factory.createIdentifier("Number"); - case 158 /* SyntaxKind.BigIntKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: return getGlobalConstructor("BigInt", 7 /* ScriptTarget.ES2020 */); - case 151 /* SyntaxKind.SymbolKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: return getGlobalConstructor("Symbol", 2 /* ScriptTarget.ES2015 */); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return serializeTypeReferenceNode(node); - case 188 /* SyntaxKind.IntersectionType */: + case 190 /* SyntaxKind.IntersectionType */: return serializeUnionOrIntersectionConstituents(node.types, /*isIntersection*/ true); - case 187 /* SyntaxKind.UnionType */: + case 189 /* SyntaxKind.UnionType */: return serializeUnionOrIntersectionConstituents(node.types, /*isIntersection*/ false); - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return serializeUnionOrIntersectionConstituents([node.trueType, node.falseType], /*isIntersection*/ false); - case 193 /* SyntaxKind.TypeOperator */: - if (node.operator === 145 /* SyntaxKind.ReadonlyKeyword */) { + case 195 /* SyntaxKind.TypeOperator */: + if (node.operator === 146 /* SyntaxKind.ReadonlyKeyword */) { return serializeTypeNode(node.type); } break; - case 181 /* SyntaxKind.TypeQuery */: - case 194 /* SyntaxKind.IndexedAccessType */: - case 195 /* SyntaxKind.MappedType */: - case 182 /* SyntaxKind.TypeLiteral */: - case 130 /* SyntaxKind.AnyKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: - case 192 /* SyntaxKind.ThisType */: - case 200 /* SyntaxKind.ImportType */: + case 183 /* SyntaxKind.TypeQuery */: + case 196 /* SyntaxKind.IndexedAccessType */: + case 197 /* SyntaxKind.MappedType */: + case 184 /* SyntaxKind.TypeLiteral */: + case 131 /* SyntaxKind.AnyKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: + case 194 /* SyntaxKind.ThisType */: + case 202 /* SyntaxKind.ImportType */: break; // handle JSDoc types from an invalid parse - case 312 /* SyntaxKind.JSDocAllType */: - case 313 /* SyntaxKind.JSDocUnknownType */: - case 317 /* SyntaxKind.JSDocFunctionType */: - case 318 /* SyntaxKind.JSDocVariadicType */: - case 319 /* SyntaxKind.JSDocNamepathType */: + case 315 /* SyntaxKind.JSDocAllType */: + case 316 /* SyntaxKind.JSDocUnknownType */: + case 320 /* SyntaxKind.JSDocFunctionType */: + case 321 /* SyntaxKind.JSDocVariadicType */: + case 322 /* SyntaxKind.JSDocNamepathType */: break; - case 314 /* SyntaxKind.JSDocNullableType */: - case 315 /* SyntaxKind.JSDocNonNullableType */: - case 316 /* SyntaxKind.JSDocOptionalType */: + case 317 /* SyntaxKind.JSDocNullableType */: + case 318 /* SyntaxKind.JSDocNonNullableType */: + case 319 /* SyntaxKind.JSDocOptionalType */: return serializeTypeNode(node.type); default: return ts.Debug.failBadSyntaxKind(node); @@ -96618,7 +97616,7 @@ var ts; case 10 /* SyntaxKind.StringLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return ts.factory.createIdentifier("String"); - case 219 /* SyntaxKind.PrefixUnaryExpression */: { + case 221 /* SyntaxKind.PrefixUnaryExpression */: { var operand = node.operand; switch (operand.kind) { case 8 /* SyntaxKind.NumericLiteral */: @@ -96647,20 +97645,20 @@ var ts; for (var _i = 0, types_22 = types; _i < types_22.length; _i++) { var typeNode = types_22[_i]; typeNode = ts.skipTypeParentheses(typeNode); - if (typeNode.kind === 143 /* SyntaxKind.NeverKeyword */) { + if (typeNode.kind === 144 /* SyntaxKind.NeverKeyword */) { if (isIntersection) return ts.factory.createVoidZero(); // Reduce to `never` in an intersection continue; // Elide `never` in a union } - if (typeNode.kind === 155 /* SyntaxKind.UnknownKeyword */) { + if (typeNode.kind === 157 /* SyntaxKind.UnknownKeyword */) { if (!isIntersection) return ts.factory.createIdentifier("Object"); // Reduce to `unknown` in a union continue; // Elide `unknown` in an intersection } - if (typeNode.kind === 130 /* SyntaxKind.AnyKeyword */) { + if (typeNode.kind === 131 /* SyntaxKind.AnyKeyword */) { return ts.factory.createIdentifier("Object"); // Reduce to `any` in a union or intersection } - if (!strictNullChecks && ((ts.isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */) || typeNode.kind === 153 /* SyntaxKind.UndefinedKeyword */)) { + if (!strictNullChecks && ((ts.isLiteralTypeNode(typeNode) && typeNode.literal.kind === 104 /* SyntaxKind.NullKeyword */) || typeNode.kind === 155 /* SyntaxKind.UndefinedKeyword */)) { continue; // Elide null and undefined from unions for metadata, just like what we did prior to the implementation of strict null checks } var serializedConstituent = serializeTypeNode(typeNode); @@ -96733,8 +97731,8 @@ var ts; } var serialized = serializeEntityNameAsExpressionFallback(node.typeName); var temp = ts.factory.createTempVariable(hoistVariableDeclaration); - return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), - /*questionToken*/ undefined, temp, + return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createAssignment(temp, serialized), "function"), + /*questionToken*/ undefined, temp, /*colonToken*/ undefined, ts.factory.createIdentifier("Object")); case ts.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue: return serializeEntityNameAsExpression(node.typeName); @@ -96808,7 +97806,7 @@ var ts; name.original = undefined; ts.setParent(name, ts.getParseTreeNode(currentLexicalScope)); // ensure the parent is set to a parse tree node. return name; - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return serializeQualifiedNameAsExpression(node); } } @@ -96820,8 +97818,8 @@ var ts; return ts.factory.createPropertyAccessExpression(serializeEntityNameAsExpression(node.left), node.right); } function getGlobalConstructorWithFallback(name) { - return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), - /*questionToken*/ undefined, ts.factory.createIdentifier(name), + return ts.factory.createConditionalExpression(ts.factory.createTypeCheck(ts.factory.createIdentifier(name), "function"), + /*questionToken*/ undefined, ts.factory.createIdentifier(name), /*colonToken*/ undefined, ts.factory.createIdentifier("Object")); } function getGlobalConstructor(name, minLanguageVersion) { @@ -96863,24 +97861,24 @@ var ts; return node; } switch (node.kind) { - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: // Decorators are elided. They will be emitted as part of `visitClassDeclaration`. return undefined; - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: return visitClassExpression(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return visitConstructorDeclaration(node); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return visitMethodDeclaration(node); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return visitSetAccessorDeclaration(node); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return visitGetAccessorDeclaration(node); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return visitPropertyDeclaration(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return visitParameterDeclaration(node); default: return ts.visitEachChild(node, visitor, context); @@ -96946,7 +97944,7 @@ var ts; var members = ts.visitNodes(node.members, visitor, ts.isClassElement); var decorationStatements = []; (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements); - var updated = factory.updateClassDeclaration(node, modifiers, name, + var updated = factory.updateClassDeclaration(node, modifiers, name, /*typeParameters*/ undefined, heritageClauses, members); return ts.addRange([updated], decorationStatements); } @@ -97056,7 +98054,7 @@ var ts; var decorationStatements = []; (_a = transformDecoratorsOfClassElements(node, members), members = _a.members, decorationStatements = _a.decorationStatements); var classExpression = factory.createClassExpression( - /*modifiers*/ undefined, name, + /*modifiers*/ undefined, name, /*typeParameters*/ undefined, heritageClauses, members); ts.setOriginalNode(classExpression, node); ts.setTextRange(classExpression, location); @@ -97064,8 +98062,8 @@ var ts; // or decoratedClassAlias if the class contain self-reference. var statement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(declName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(declName, + /*exclamationToken*/ undefined, /*type*/ undefined, classAlias ? factory.createAssignment(classAlias, classExpression) : classExpression) ], 1 /* NodeFlags.Let */)); ts.setOriginalNode(statement, node); @@ -97078,7 +98076,7 @@ var ts; } function visitClassExpression(node) { // Legacy decorators were not supported on class expressions - return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, + return factory.updateClassExpression(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)); } function visitConstructorDeclaration(node) { @@ -97094,13 +98092,13 @@ var ts; return updated; } function visitMethodDeclaration(node) { - return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), - /*questionToken*/ undefined, - /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + return finishClassElement(factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node); } function visitGetAccessorDeclaration(node) { - return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + return finishClassElement(factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock)), node); } function visitSetAccessorDeclaration(node) { @@ -97110,13 +98108,13 @@ var ts; if (node.flags & 16777216 /* NodeFlags.Ambient */ || ts.hasSyntacticModifier(node, 2 /* ModifierFlags.Ambient */)) { return undefined; } - return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), - /*questionOrExclamationToken*/ undefined, + return finishClassElement(factory.updatePropertyDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), ts.visitNode(node.name, visitor, ts.isPropertyName), + /*questionOrExclamationToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)), node); } function visitParameterDeclaration(node) { - var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), - /*questionToken*/ undefined, + var updated = factory.updateParameterDeclaration(node, ts.elideNodes(factory, node.modifiers), node.dotDotDotToken, ts.visitNode(node.name, visitor, ts.isBindingName), + /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); if (updated !== node) { // While we emit the source map for the node after skipping decorators and modifiers, @@ -97236,7 +98234,7 @@ var ts; var prefix = getClassMemberPrefix(node, member); var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* ModifierFlags.Ambient */)); var descriptor = languageVersion > 0 /* ScriptTarget.ES3 */ - ? member.kind === 167 /* SyntaxKind.PropertyDeclaration */ + ? ts.isPropertyDeclaration(member) && !ts.hasAccessorModifier(member) // We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it // should not invoke `Object.getOwnPropertyDescriptor`. ? factory.createVoidZero() @@ -97499,34 +98497,37 @@ var ts; return node; } switch (node.kind) { - case 131 /* SyntaxKind.AsyncKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: // ES2017 async modifier should be elided for targets < ES2017 return undefined; - case 218 /* SyntaxKind.AwaitExpression */: + case 220 /* SyntaxKind.AwaitExpression */: return visitAwaitExpression(node); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitMethodDeclaration, node); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitFunctionDeclaration, node); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitFunctionExpression, node); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return doWithContext(1 /* ContextFlags.NonTopLevel */, visitArrowFunction, node); - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { capturedSuperProperties.add(node.name.escapedText); } return ts.visitEachChild(node, visitor, context); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: if (capturedSuperProperties && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { hasSuperElementAccess = true; } return ts.visitEachChild(node, visitor, context); - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 171 /* SyntaxKind.Constructor */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 174 /* SyntaxKind.GetAccessor */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitGetAccessorDeclaration, node); + case 175 /* SyntaxKind.SetAccessor */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitSetAccessorDeclaration, node); + case 173 /* SyntaxKind.Constructor */: + return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitConstructorDeclaration, node); + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return doWithContext(1 /* ContextFlags.NonTopLevel */ | 2 /* ContextFlags.HasLexicalThis */, visitDefault, node); default: return ts.visitEachChild(node, visitor, context); @@ -97535,27 +98536,27 @@ var ts; function asyncBodyVisitor(node) { if (ts.isNodeWithPossibleHoistedDeclaration(node)) { switch (node.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return visitVariableStatementInAsyncBody(node); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatementInAsyncBody(node); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return visitForInStatementInAsyncBody(node); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return visitForOfStatementInAsyncBody(node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return visitCatchClauseInAsyncBody(node); - case 235 /* SyntaxKind.Block */: - case 249 /* SyntaxKind.SwitchStatement */: - case 263 /* SyntaxKind.CaseBlock */: - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: - case 252 /* SyntaxKind.TryStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 239 /* SyntaxKind.IfStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 250 /* SyntaxKind.LabeledStatement */: + case 238 /* SyntaxKind.Block */: + case 252 /* SyntaxKind.SwitchStatement */: + case 266 /* SyntaxKind.CaseBlock */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: + case 255 /* SyntaxKind.TryStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return ts.visitEachChild(node, asyncBodyVisitor, context); default: return ts.Debug.assertNever(node, "Unhandled node."); @@ -97625,6 +98626,9 @@ var ts; return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression( /*asteriskToken*/ undefined, ts.visitNode(node.expression, visitor, ts.isExpression)), node), node); } + function visitConstructorDeclaration(node) { + return factory.updateConstructorDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), ts.visitParameterList(node.parameters, visitor, context), transformMethodBody(node)); + } /** * Visits a MethodDeclaration node. * @@ -97634,12 +98638,19 @@ var ts; * @param node The node to visit. */ function visitMethodDeclaration(node) { - return factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, - /*questionToken*/ undefined, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateMethodDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, + /*questionToken*/ undefined, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) - : ts.visitFunctionBody(node.body, visitor, context)); + : transformMethodBody(node)); + } + function visitGetAccessorDeclaration(node) { + return factory.updateGetAccessorDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, ts.visitParameterList(node.parameters, visitor, context), + /*type*/ undefined, transformMethodBody(node)); + } + function visitSetAccessorDeclaration(node) { + return factory.updateSetAccessorDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.name, ts.visitParameterList(node.parameters, visitor, context), transformMethodBody(node)); } /** * Visits a FunctionDeclaration node. @@ -97650,8 +98661,8 @@ var ts; * @param node The node to visit. */ function visitFunctionDeclaration(node) { - return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97665,8 +98676,8 @@ var ts; * @param node The node to visit. */ function visitFunctionExpression(node) { - return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateFunctionExpression(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97680,8 +98691,8 @@ var ts; * @param node The node to visit. */ function visitArrowFunction(node) { - return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + return factory.updateArrowFunction(node, ts.visitNodes(node.modifiers, visitor, ts.isModifierLike), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, node.equalsGreaterThanToken, ts.getFunctionFlags(node) & 2 /* FunctionFlags.Async */ ? transformAsyncFunctionBody(node) : ts.visitFunctionBody(node.body, visitor, context)); @@ -97753,12 +98764,48 @@ var ts; } return false; } + function transformMethodBody(node) { + ts.Debug.assertIsDefined(node.body); + var savedCapturedSuperProperties = capturedSuperProperties; + var savedHasSuperElementAccess = hasSuperElementAccess; + capturedSuperProperties = new ts.Set(); + hasSuperElementAccess = false; + var updated = ts.visitFunctionBody(node.body, visitor, context); + // Minor optimization, emit `_super` helper to capture `super` access in an arrow. + // This step isn't needed if we eventually transform this to ES5. + var originalMethod = ts.getOriginalNode(node, ts.isFunctionLikeDeclaration); + var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && + resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */ | 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */) && + (ts.getFunctionFlags(originalMethod) & 3 /* FunctionFlags.AsyncGenerator */) !== 3 /* FunctionFlags.AsyncGenerator */; + if (emitSuperHelpers) { + enableSubstitutionForAsyncMethodsWithSuper(); + if (capturedSuperProperties.size) { + var variableStatement = createSuperAccessVariableStatement(factory, resolver, node, capturedSuperProperties); + substitutedSuperAccessors[ts.getNodeId(variableStatement)] = true; + var statements = updated.statements.slice(); + ts.insertStatementsAfterStandardPrologue(statements, [variableStatement]); + updated = factory.updateBlock(updated, statements); + } + if (hasSuperElementAccess) { + // Emit helpers for super element access expressions (`super[x]`). + if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */) { + ts.addEmitHelper(updated, ts.advancedAsyncSuperHelper); + } + else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */) { + ts.addEmitHelper(updated, ts.asyncSuperHelper); + } + } + } + capturedSuperProperties = savedCapturedSuperProperties; + hasSuperElementAccess = savedHasSuperElementAccess; + return updated; + } function transformAsyncFunctionBody(node) { resumeLexicalEnvironment(); var original = ts.getOriginalNode(node, ts.isFunctionLike); var nodeType = original.type; var promiseConstructor = languageVersion < 2 /* ScriptTarget.ES2015 */ ? getPromiseConstructor(nodeType) : undefined; - var isArrowFunction = node.kind === 214 /* SyntaxKind.ArrowFunction */; + var isArrowFunction = node.kind === 216 /* SyntaxKind.ArrowFunction */; var hasLexicalArguments = (resolver.getNodeCheckFlags(node) & 8192 /* NodeCheckFlags.CaptureArguments */) !== 0; // An async function is emit as an outer function that calls an inner // generator function. To preserve lexical bindings, we pass the current @@ -97785,7 +98832,7 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. - var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */ | 2048 /* NodeCheckFlags.AsyncMethodWithSuper */); + var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */ | 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); if (capturedSuperProperties.size) { @@ -97798,10 +98845,10 @@ var ts; ts.setTextRange(block, node.body); if (emitSuperHelpers && hasSuperElementAccess) { // Emit helpers for super element access expressions (`super[x]`). - if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { + if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */) { ts.addEmitHelper(block, ts.advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.AsyncMethodWithSuper */) { + else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */) { ts.addEmitHelper(block, ts.asyncSuperHelper); } } @@ -97849,17 +98896,17 @@ var ts; enabledSubstitutions |= 1 /* ES2017SubstitutionFlags.AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(208 /* SyntaxKind.CallExpression */); - context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); - context.enableSubstitution(207 /* SyntaxKind.ElementAccessExpression */); + context.enableSubstitution(210 /* SyntaxKind.CallExpression */); + context.enableSubstitution(208 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(209 /* SyntaxKind.ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(257 /* SyntaxKind.ClassDeclaration */); - context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); - context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); - context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); - context.enableEmitNotification(171 /* SyntaxKind.Constructor */); + context.enableEmitNotification(260 /* SyntaxKind.ClassDeclaration */); + context.enableEmitNotification(171 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(174 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(175 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(173 /* SyntaxKind.Constructor */); // We need to be notified when entering the generated accessor arrow functions. - context.enableEmitNotification(237 /* SyntaxKind.VariableStatement */); + context.enableEmitNotification(240 /* SyntaxKind.VariableStatement */); } } /** @@ -97873,7 +98920,7 @@ var ts; // If we need to support substitutions for `super` in an async method, // we should track it here. if (enabledSubstitutions & 1 /* ES2017SubstitutionFlags.AsyncMethodsWithSuper */ && isSuperContainer(node)) { - var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* NodeCheckFlags.AsyncMethodWithSuper */ | 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */); + var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */ | 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */); if (superContainerFlags !== enclosingSuperContainerFlags) { var savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -97907,11 +98954,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return substituteElementAccessExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return substituteCallExpression(node); } return node; @@ -97934,7 +98981,7 @@ var ts; var argumentExpression = ts.isPropertyAccessExpression(expression) ? substitutePropertyAccessExpression(expression) : substituteElementAccessExpression(expression); - return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), + return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), /*typeArguments*/ undefined, __spreadArray([ factory.createThis() ], node.arguments, true)); @@ -97943,19 +98990,19 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 257 /* SyntaxKind.ClassDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 260 /* SyntaxKind.ClassDeclaration */ + || kind === 173 /* SyntaxKind.Constructor */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { - if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */) { + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*typeArguments*/ undefined, [argumentExpression]), "value"), location); } else { - return ts.setTextRange(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + return ts.setTextRange(factory.createCallExpression(factory.createUniqueName("_superIndex", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), /*typeArguments*/ undefined, [argumentExpression]), location); } } @@ -97965,39 +99012,39 @@ var ts; function createSuperAccessVariableStatement(factory, resolver, node, names) { // Create a variable declaration with a getter/setter (if binding) definition for each name: // const _super = Object.create(null, { x: { get: () => super.x, set: (v) => super.x = v }, ... }); - var hasBinding = (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) !== 0; + var hasBinding = (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */) !== 0; var accessors = []; names.forEach(function (_, key) { var name = ts.unescapeLeadingUnderscores(key); var getterAndSetter = []; getterAndSetter.push(factory.createPropertyAssignment("get", factory.createArrowFunction( - /* modifiers */ undefined, - /* typeParameters */ undefined, - /* parameters */ [], - /* type */ undefined, + /* modifiers */ undefined, + /* typeParameters */ undefined, + /* parameters */ [], + /* type */ undefined, /* equalsGreaterThanToken */ undefined, ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* EmitFlags.NoSubstitution */), name), 4 /* EmitFlags.NoSubstitution */)))); if (hasBinding) { getterAndSetter.push(factory.createPropertyAssignment("set", factory.createArrowFunction( - /* modifiers */ undefined, - /* typeParameters */ undefined, + /* modifiers */ undefined, + /* typeParameters */ undefined, /* parameters */ [ factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, "v", - /* questionToken */ undefined, - /* type */ undefined, + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "v", + /* questionToken */ undefined, + /* type */ undefined, /* initializer */ undefined) - ], - /* type */ undefined, + ], + /* type */ undefined, /* equalsGreaterThanToken */ undefined, factory.createAssignment(ts.setEmitFlags(factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createSuper(), 4 /* EmitFlags.NoSubstitution */), name), 4 /* EmitFlags.NoSubstitution */), factory.createIdentifier("v"))))); } accessors.push(factory.createPropertyAssignment(name, factory.createObjectLiteralExpression(getterAndSetter))); }); return factory.createVariableStatement( /* modifiers */ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), - /*exclamationToken*/ undefined, - /* type */ undefined, factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "create"), + factory.createVariableDeclaration(factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + /*exclamationToken*/ undefined, + /* type */ undefined, factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "create"), /* typeArguments */ undefined, [ factory.createNull(), factory.createObjectLiteralExpression(accessors, /* multiline */ true) @@ -98104,7 +99151,7 @@ var ts; return visitorWorker(node, /*expressionResultIsUnused*/ true); } function visitorNoAsyncModifier(node) { - if (node.kind === 131 /* SyntaxKind.AsyncKeyword */) { + if (node.kind === 132 /* SyntaxKind.AsyncKeyword */) { return undefined; } return node; @@ -98130,70 +99177,70 @@ var ts; return node; } switch (node.kind) { - case 218 /* SyntaxKind.AwaitExpression */: + case 220 /* SyntaxKind.AwaitExpression */: return visitAwaitExpression(node); - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return visitYieldExpression(node); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node, expressionResultIsUnused); - case 351 /* SyntaxKind.CommaListExpression */: + case 354 /* SyntaxKind.CommaListExpression */: return visitCommaListExpression(node, expressionResultIsUnused); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return visitCatchClause(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return visitVariableDeclaration(node); - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 243 /* SyntaxKind.ForInStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 246 /* SyntaxKind.ForInStatement */: return doWithHierarchyFacts(visitDefault, node, 0 /* HierarchyFacts.IterationStatementExcludes */, 2 /* HierarchyFacts.IterationStatementIncludes */); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return doWithHierarchyFacts(visitForStatement, node, 0 /* HierarchyFacts.IterationStatementExcludes */, 2 /* HierarchyFacts.IterationStatementIncludes */); - case 217 /* SyntaxKind.VoidExpression */: + case 219 /* SyntaxKind.VoidExpression */: return visitVoidExpression(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return doWithHierarchyFacts(visitConstructorDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return doWithHierarchyFacts(visitMethodDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return doWithHierarchyFacts(visitGetAccessorDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return doWithHierarchyFacts(visitSetAccessorDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return doWithHierarchyFacts(visitFunctionDeclaration, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: return doWithHierarchyFacts(visitFunctionExpression, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return doWithHierarchyFacts(visitArrowFunction, node, 2 /* HierarchyFacts.ArrowFunctionExcludes */, 0 /* HierarchyFacts.ArrowFunctionIncludes */); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return visitParameter(node); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, expressionResultIsUnused); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: if (capturedSuperProperties && ts.isPropertyAccessExpression(node) && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { capturedSuperProperties.add(node.name.escapedText); } return ts.visitEachChild(node, visitor, context); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: if (capturedSuperProperties && node.expression.kind === 106 /* SyntaxKind.SuperKeyword */) { hasSuperElementAccess = true; } return ts.visitEachChild(node, visitor, context); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return doWithHierarchyFacts(visitDefault, node, 2 /* HierarchyFacts.ClassOrFunctionExcludes */, 1 /* HierarchyFacts.ClassOrFunctionIncludes */); default: return ts.visitEachChild(node, visitor, context); @@ -98201,7 +99248,7 @@ var ts; } function visitAwaitExpression(node) { if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */) { - return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression(/*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(ts.visitNode(node.expression, visitor, ts.isExpression))), + return ts.setOriginalNode(ts.setTextRange(factory.createYieldExpression(/*asteriskToken*/ undefined, emitHelpers().createAwaitHelper(ts.visitNode(node.expression, visitor, ts.isExpression))), /*location*/ node), node); } return ts.visitEachChild(node, visitor, context); @@ -98229,7 +99276,7 @@ var ts; function visitLabeledStatement(node) { if (enclosingFunctionFlags & 2 /* FunctionFlags.Async */) { var statement = ts.unwrapInnermostStatementOfLabel(node); - if (statement.kind === 244 /* SyntaxKind.ForOfStatement */ && statement.awaitModifier) { + if (statement.kind === 247 /* SyntaxKind.ForOfStatement */ && statement.awaitModifier) { return visitForOfStatement(statement, node); } return factory.restoreEnclosingLabel(ts.visitNode(statement, visitor, ts.isStatement, factory.liftToBlock), node); @@ -98241,7 +99288,7 @@ var ts; var objects = []; for (var _i = 0, elements_5 = elements; _i < elements_5.length; _i++) { var e = elements_5[_i]; - if (e.kind === 298 /* SyntaxKind.SpreadAssignment */) { + if (e.kind === 301 /* SyntaxKind.SpreadAssignment */) { if (chunkObject) { objects.push(factory.createObjectLiteralExpression(chunkObject)); chunkObject = undefined; @@ -98250,7 +99297,7 @@ var ts; objects.push(ts.visitNode(target, visitor, ts.isExpression)); } else { - chunkObject = ts.append(chunkObject, e.kind === 296 /* SyntaxKind.PropertyAssignment */ + chunkObject = ts.append(chunkObject, e.kind === 299 /* SyntaxKind.PropertyAssignment */ ? factory.createPropertyAssignment(e.name, ts.visitNode(e.initializer, visitor, ts.isExpression)) : ts.visitNode(e, visitor, ts.isObjectLiteralElementLike)); } @@ -98284,7 +99331,7 @@ var ts; // If we translate the above to `__assign({}, k, l)`, the `l` will evaluate before `k` is spread and we // end up with `{ a: 1, b: 2, c: 3 }` var objects = chunkObjectLiteralElements(node.properties); - if (objects.length && objects[0].kind !== 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (objects.length && objects[0].kind !== 207 /* SyntaxKind.ObjectLiteralExpression */) { objects.unshift(factory.createObjectLiteralExpression()); } var expression = objects[0]; @@ -98407,7 +99454,7 @@ var ts; function visitVariableDeclarationWorker(node, exportedVariableStatement) { // If we are here it is because the name contains a binding pattern with a rest somewhere in it. if (ts.isBindingPattern(node.name) && node.name.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { - return ts.flattenDestructuringBinding(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, + return ts.flattenDestructuringBinding(node, visitor, context, 1 /* FlattenLevel.ObjectRest */, /*rval*/ undefined, exportedVariableStatement); } return ts.visitEachChild(node, visitor, context); @@ -98453,16 +99500,27 @@ var ts; } return factory.updateForOfStatement(node, node.awaitModifier, ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(temp), node.initializer) - ], 1 /* NodeFlags.Let */), node.initializer), node.expression, ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), + ], 1 /* NodeFlags.Let */), node.initializer), node.expression, ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), /*multiLine*/ true), bodyLocation)); } return node; } - function convertForOfStatementHead(node, boundValue) { - var binding = ts.createForOfBindingStatement(factory, node.initializer, boundValue); + function convertForOfStatementHead(node, boundValue, nonUserCode) { + var value = factory.createTempVariable(hoistVariableDeclaration); + var iteratorValueExpression = factory.createAssignment(value, boundValue); + var iteratorValueStatement = factory.createExpressionStatement(iteratorValueExpression); + ts.setSourceMapRange(iteratorValueStatement, node.expression); + var exitNonUserCodeExpression = factory.createAssignment(nonUserCode, factory.createFalse()); + var exitNonUserCodeStatement = factory.createExpressionStatement(exitNonUserCodeExpression); + ts.setSourceMapRange(exitNonUserCodeStatement, node.expression); + var enterNonUserCodeExpression = factory.createAssignment(nonUserCode, factory.createTrue()); + var enterNonUserCodeStatement = factory.createExpressionStatement(enterNonUserCodeExpression); + ts.setSourceMapRange(exitNonUserCodeStatement, node.expression); + var statements = []; + var binding = ts.createForOfBindingStatement(factory, node.initializer, value); + statements.push(ts.visitNode(binding, visitor, ts.isStatement)); var bodyLocation; var statementsLocation; - var statements = [ts.visitNode(binding, visitor, ts.isStatement)]; var statement = ts.visitIterationBody(node.statement, visitor, context); if (ts.isBlock(statement)) { ts.addRange(statements, statement.statements); @@ -98472,8 +99530,16 @@ var ts; else { statements.push(statement); } - return ts.setEmitFlags(ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), + var body = ts.setEmitFlags(ts.setTextRange(factory.createBlock(ts.setTextRange(factory.createNodeArray(statements), statementsLocation), /*multiLine*/ true), bodyLocation), 48 /* EmitFlags.NoSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */); + return factory.createBlock([ + iteratorValueStatement, + exitNonUserCodeStatement, + factory.createTryStatement(body, + /*catchClause*/ undefined, factory.createBlock([ + enterNonUserCodeStatement + ])) + ]); } function createDownlevelAwait(expression) { return enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ @@ -98484,6 +99550,8 @@ var ts; var expression = ts.visitNode(node.expression, visitor, ts.isExpression); var iterator = ts.isIdentifier(expression) ? factory.getGeneratedNameForNode(expression) : factory.createTempVariable(/*recordTempVariable*/ undefined); var result = ts.isIdentifier(expression) ? factory.getGeneratedNameForNode(iterator) : factory.createTempVariable(/*recordTempVariable*/ undefined); + var nonUserCode = factory.createTempVariable(/*recordTempVariable*/ undefined); + var done = factory.createTempVariable(hoistVariableDeclaration); var errorRecord = factory.createUniqueName("e"); var catchVariable = factory.getGeneratedNameForNode(errorRecord); var returnMethod = factory.createTempVariable(/*recordTempVariable*/ undefined); @@ -98500,12 +99568,17 @@ var ts; callValues; var forStatement = ts.setEmitFlags(ts.setTextRange(factory.createForStatement( /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ + factory.createVariableDeclaration(nonUserCode, /*exclamationToken*/ undefined, /*type*/ undefined, factory.createTrue()), ts.setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result) - ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), - /*condition*/ factory.createComma(factory.createAssignment(result, createDownlevelAwait(callNext)), factory.createLogicalNot(getDone)), - /*incrementor*/ undefined, - /*statement*/ convertForOfStatementHead(node, getValue)), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), + /*condition*/ factory.inlineExpressions([ + factory.createAssignment(result, createDownlevelAwait(callNext)), + factory.createAssignment(done, getDone), + factory.createLogicalNot(done) + ]), + /*incrementor*/ undefined, + /*statement*/ convertForOfStatementHead(node, getValue, nonUserCode)), /*location*/ node), 256 /* EmitFlags.NoTokenTrailingSourceMaps */); ts.setOriginalNode(forStatement, node); return factory.createTryStatement(factory.createBlock([ @@ -98517,9 +99590,9 @@ var ts; ]), 1 /* EmitFlags.SingleLine */)), factory.createBlock([ factory.createTryStatement( /*tryBlock*/ factory.createBlock([ - ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(getDone)), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(createDownlevelAwait(callReturn))), 1 /* EmitFlags.SingleLine */) - ]), - /*catchClause*/ undefined, + ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(factory.createLogicalNot(nonUserCode), factory.createLogicalNot(done)), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(createDownlevelAwait(callReturn))), 1 /* EmitFlags.SingleLine */) + ]), + /*catchClause*/ undefined, /*finallyBlock*/ ts.setEmitFlags(factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* EmitFlags.SingleLine */) ]), 1 /* EmitFlags.SingleLine */)) @@ -98531,18 +99604,18 @@ var ts; } function visitParameter(node) { if (parametersWithPrecedingObjectRestOrSpread === null || parametersWithPrecedingObjectRestOrSpread === void 0 ? void 0 : parametersWithPrecedingObjectRestOrSpread.has(node)) { - return factory.updateParameterDeclaration(node, - /*modifiers*/ undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, - /*questionToken*/ undefined, - /*type*/ undefined, + return factory.updateParameterDeclaration(node, + /*modifiers*/ undefined, node.dotDotDotToken, ts.isBindingPattern(node.name) ? factory.getGeneratedNameForNode(node) : node.name, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); } if (node.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { // Binding patterns are converted into a generated name and are // evaluated inside the function body. - return factory.updateParameterDeclaration(node, - /*modifiers*/ undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), - /*questionToken*/ undefined, + return factory.updateParameterDeclaration(node, + /*modifiers*/ undefined, node.dotDotDotToken, factory.getGeneratedNameForNode(node), + /*questionToken*/ undefined, /*type*/ undefined, ts.visitNode(node.initializer, visitor, ts.isExpression)); } return ts.visitEachChild(node, visitor, context); @@ -98575,7 +99648,7 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateGetAccessorDeclaration(node, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), + var updated = factory.updateGetAccessorDeclaration(node, node.modifiers, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; @@ -98600,8 +99673,8 @@ var ts; ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifierLike) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined - : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + : node.asteriskToken, ts.visitNode(node.name, visitor, ts.isPropertyName), ts.visitNode(/*questionToken*/ undefined, visitor, ts.isToken), + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); @@ -98618,8 +99691,8 @@ var ts; ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined - : node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + : node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); @@ -98632,8 +99705,8 @@ var ts; var savedParametersWithPrecedingObjectRestOrSpread = parametersWithPrecedingObjectRestOrSpread; enclosingFunctionFlags = ts.getFunctionFlags(node); parametersWithPrecedingObjectRestOrSpread = collectParametersWithPrecedingObjectRestOrSpread(node); - var updated = factory.updateArrowFunction(node, node.modifiers, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + var updated = factory.updateArrowFunction(node, node.modifiers, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, node.equalsGreaterThanToken, transformFunctionBody(node)); enclosingFunctionFlags = savedEnclosingFunctionFlags; parametersWithPrecedingObjectRestOrSpread = savedParametersWithPrecedingObjectRestOrSpread; @@ -98648,8 +99721,8 @@ var ts; ? ts.visitNodes(node.modifiers, visitorNoAsyncModifier, ts.isModifier) : node.modifiers, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ ? undefined - : node.asteriskToken, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), + : node.asteriskToken, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, parameterVisitor, context), /*type*/ undefined, enclosingFunctionFlags & 2 /* FunctionFlags.Async */ && enclosingFunctionFlags & 1 /* FunctionFlags.Generator */ ? transformAsyncGeneratorFunctionBody(node) : transformFunctionBody(node)); @@ -98667,13 +99740,13 @@ var ts; capturedSuperProperties = new ts.Set(); hasSuperElementAccess = false; var returnStatement = factory.createReturnStatement(emitHelpers().createAsyncGeneratorHelper(factory.createFunctionExpression( - /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, factory.createToken(41 /* SyntaxKind.AsteriskToken */), node.name && factory.getGeneratedNameForNode(node.name), + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.updateBlock(node.body, ts.visitLexicalEnvironment(node.body.statements, visitor, context, statementOffset))), !!(hierarchyFacts & 1 /* HierarchyFacts.HasLexicalThis */))); // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. - var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */ | 2048 /* NodeCheckFlags.AsyncMethodWithSuper */); + var emitSuperHelpers = languageVersion >= 2 /* ScriptTarget.ES2015 */ && resolver.getNodeCheckFlags(node) & (4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */ | 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); var variableStatement = ts.createSuperAccessVariableStatement(factory, resolver, node, capturedSuperProperties); @@ -98684,10 +99757,10 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); var block = factory.updateBlock(node.body, statements); if (emitSuperHelpers && hasSuperElementAccess) { - if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { + if (resolver.getNodeCheckFlags(node) & 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */) { ts.addEmitHelper(block, ts.advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.AsyncMethodWithSuper */) { + else if (resolver.getNodeCheckFlags(node) & 2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */) { ts.addEmitHelper(block, ts.asyncSuperHelper); } } @@ -98774,8 +99847,8 @@ var ts; } else if (parameter.transformFlags & 65536 /* TransformFlags.ContainsObjectRestOrSpread */) { containsPrecedingObjectRestOrSpread = true; - var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* FlattenLevel.ObjectRest */, factory.getGeneratedNameForNode(parameter), - /*doNotRecordTempVariablesInLine*/ false, + var declarations = ts.flattenDestructuringBinding(parameter, visitor, context, 1 /* FlattenLevel.ObjectRest */, factory.getGeneratedNameForNode(parameter), + /*doNotRecordTempVariablesInLine*/ false, /*skipInitializer*/ true); if (ts.some(declarations)) { var declarationList = factory.createVariableDeclarationList(declarations); @@ -98792,17 +99865,17 @@ var ts; enabledSubstitutions |= 1 /* ESNextSubstitutionFlags.AsyncMethodsWithSuper */; // We need to enable substitutions for call, property access, and element access // if we need to rewrite super calls. - context.enableSubstitution(208 /* SyntaxKind.CallExpression */); - context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); - context.enableSubstitution(207 /* SyntaxKind.ElementAccessExpression */); + context.enableSubstitution(210 /* SyntaxKind.CallExpression */); + context.enableSubstitution(208 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(209 /* SyntaxKind.ElementAccessExpression */); // We need to be notified when entering and exiting declarations that bind super. - context.enableEmitNotification(257 /* SyntaxKind.ClassDeclaration */); - context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); - context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); - context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); - context.enableEmitNotification(171 /* SyntaxKind.Constructor */); + context.enableEmitNotification(260 /* SyntaxKind.ClassDeclaration */); + context.enableEmitNotification(171 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(174 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(175 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(173 /* SyntaxKind.Constructor */); // We need to be notified when entering the generated accessor arrow functions. - context.enableEmitNotification(237 /* SyntaxKind.VariableStatement */); + context.enableEmitNotification(240 /* SyntaxKind.VariableStatement */); } } /** @@ -98816,7 +99889,7 @@ var ts; // If we need to support substitutions for `super` in an async method, // we should track it here. if (enabledSubstitutions & 1 /* ESNextSubstitutionFlags.AsyncMethodsWithSuper */ && isSuperContainer(node)) { - var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* NodeCheckFlags.AsyncMethodWithSuper */ | 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */); + var superContainerFlags = resolver.getNodeCheckFlags(node) & (2048 /* NodeCheckFlags.MethodWithSuperPropertyAccessInAsync */ | 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */); if (superContainerFlags !== enclosingSuperContainerFlags) { var savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -98850,11 +99923,11 @@ var ts; } function substituteExpression(node) { switch (node.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return substitutePropertyAccessExpression(node); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return substituteElementAccessExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return substituteCallExpression(node); } return node; @@ -98877,7 +99950,7 @@ var ts; var argumentExpression = ts.isPropertyAccessExpression(expression) ? substitutePropertyAccessExpression(expression) : substituteElementAccessExpression(expression); - return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), + return factory.createCallExpression(factory.createPropertyAccessExpression(argumentExpression, "call"), /*typeArguments*/ undefined, __spreadArray([ factory.createThis() ], node.arguments, true)); @@ -98886,19 +99959,19 @@ var ts; } function isSuperContainer(node) { var kind = node.kind; - return kind === 257 /* SyntaxKind.ClassDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 260 /* SyntaxKind.ClassDeclaration */ + || kind === 173 /* SyntaxKind.Constructor */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } function createSuperElementAccessInAsyncMethod(argumentExpression, location) { - if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.AsyncMethodWithSuperBinding */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createIdentifier("_superIndex"), + if (enclosingSuperContainerFlags & 4096 /* NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync */) { + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createCallExpression(factory.createIdentifier("_superIndex"), /*typeArguments*/ undefined, [argumentExpression]), "value"), location); } else { - return ts.setTextRange(factory.createCallExpression(factory.createIdentifier("_superIndex"), + return ts.setTextRange(factory.createCallExpression(factory.createIdentifier("_superIndex"), /*typeArguments*/ undefined, [argumentExpression]), location); } } @@ -98922,7 +99995,7 @@ var ts; return node; } switch (node.kind) { - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return visitCatchClause(node); default: return ts.visitEachChild(node, visitor, context); @@ -98954,25 +100027,25 @@ var ts; return node; } switch (node.kind) { - case 208 /* SyntaxKind.CallExpression */: { + case 210 /* SyntaxKind.CallExpression */: { var updated = visitNonOptionalCallExpression(node, /*captureThisArg*/ false); ts.Debug.assertNotNode(updated, ts.isSyntheticReference); return updated; } - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: if (ts.isOptionalChain(node)) { var updated = visitOptionalExpression(node, /*captureThisArg*/ false, /*isDelete*/ false); ts.Debug.assertNotNode(updated, ts.isSyntheticReference); return updated; } return ts.visitEachChild(node, visitor, context); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (node.operatorToken.kind === 60 /* SyntaxKind.QuestionQuestionToken */) { return transformNullishCoalescingExpression(node); } return ts.visitEachChild(node, visitor, context); - case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.DeleteExpression */: return visitDeleteExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -99014,7 +100087,7 @@ var ts; thisArg = expression; } } - expression = node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ + expression = node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ ? factory.updatePropertyAccessExpression(node, expression, ts.visitNode(node.name, visitor, ts.isIdentifier)) : factory.updateElementAccessExpression(node, expression, ts.visitNode(node.argumentExpression, visitor, ts.isExpression)); return thisArg ? factory.createSyntheticReferenceExpression(expression, thisArg) : expression; @@ -99037,10 +100110,10 @@ var ts; } function visitNonOptionalExpression(node, captureThisArg, isDelete) { switch (node.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); - case 208 /* SyntaxKind.CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); + case 214 /* SyntaxKind.ParenthesizedExpression */: return visitNonOptionalParenthesizedExpression(node, captureThisArg, isDelete); + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return visitNonOptionalPropertyOrElementAccessExpression(node, captureThisArg, isDelete); + case 210 /* SyntaxKind.CallExpression */: return visitNonOptionalCallExpression(node, captureThisArg); default: return ts.visitNode(node, visitor, ts.isExpression); } } @@ -99059,8 +100132,8 @@ var ts; for (var i = 0; i < chain.length; i++) { var segment = chain[i]; switch (segment.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: if (i === chain.length - 1 && captureThisArg) { if (!ts.isSimpleCopiableExpression(rightExpression)) { thisArg = factory.createTempVariable(hoistVariableDeclaration); @@ -99070,11 +100143,11 @@ var ts; thisArg = rightExpression; } } - rightExpression = segment.kind === 206 /* SyntaxKind.PropertyAccessExpression */ + rightExpression = segment.kind === 208 /* SyntaxKind.PropertyAccessExpression */ ? factory.createPropertyAccessExpression(rightExpression, ts.visitNode(segment.name, visitor, ts.isIdentifier)) : factory.createElementAccessExpression(rightExpression, ts.visitNode(segment.argumentExpression, visitor, ts.isExpression)); break; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (i === 0 && leftThisArg) { if (!ts.isGeneratedIdentifier(leftThisArg)) { leftThisArg = factory.cloneNode(leftThisArg); @@ -99083,7 +100156,7 @@ var ts; rightExpression = factory.createFunctionCallCall(rightExpression, leftThisArg.kind === 106 /* SyntaxKind.SuperKeyword */ ? factory.createThis() : leftThisArg, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); } else { - rightExpression = factory.createCallExpression(rightExpression, + rightExpression = factory.createCallExpression(rightExpression, /*typeArguments*/ undefined, ts.visitNodes(segment.arguments, visitor, ts.isExpression)); } break; @@ -99106,8 +100179,8 @@ var ts; right = factory.createTempVariable(hoistVariableDeclaration); left = factory.createAssignment(right, left); } - return ts.setTextRange(factory.createConditionalExpression(createNotNullCondition(left, right), - /*questionToken*/ undefined, right, + return ts.setTextRange(factory.createConditionalExpression(createNotNullCondition(left, right), + /*questionToken*/ undefined, right, /*colonToken*/ undefined, ts.visitNode(node.right, visitor, ts.isExpression)), node); } function visitDeleteExpression(node) { @@ -99135,7 +100208,7 @@ var ts; return node; } switch (node.kind) { - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: var binaryExpression = node; if (ts.isLogicalOrCoalescingAssignmentExpression(binaryExpression)) { return transformLogicalAssignment(binaryExpression); @@ -99276,8 +100349,8 @@ var ts; else if (ts.isExternalOrCommonJsModule(node)) { // Add `require` statement var requireStatement = factory.createVariableStatement(/*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createObjectBindingPattern(ts.map(ts.arrayFrom(importSpecifiersMap.values()), function (s) { return factory.createBindingElement(/*dotdotdot*/ undefined, s.propertyName, s.name); })), - /*exclaimationToken*/ undefined, + factory.createVariableDeclaration(factory.createObjectBindingPattern(ts.map(ts.arrayFrom(importSpecifiersMap.values()), function (s) { return factory.createBindingElement(/*dotdotdot*/ undefined, s.propertyName, s.name); })), + /*exclaimationToken*/ undefined, /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, [factory.createStringLiteral(importSource)])) ], 2 /* NodeFlags.Const */)); ts.setParentRecursive(requireStatement, /*incremental*/ false); @@ -99304,13 +100377,13 @@ var ts; } function visitorWorker(node) { switch (node.kind) { - case 278 /* SyntaxKind.JsxElement */: + case 281 /* SyntaxKind.JsxElement */: return visitJsxElement(node, /*isChild*/ false); - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ false); - case 282 /* SyntaxKind.JsxFragment */: + case 285 /* SyntaxKind.JsxFragment */: return visitJsxFragment(node, /*isChild*/ false); - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return visitJsxExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -99320,13 +100393,13 @@ var ts; switch (node.kind) { case 11 /* SyntaxKind.JsxText */: return visitJsxText(node); - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return visitJsxExpression(node); - case 278 /* SyntaxKind.JsxElement */: + case 281 /* SyntaxKind.JsxElement */: return visitJsxElement(node, /*isChild*/ true); - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return visitJsxSelfClosingElement(node, /*isChild*/ true); - case 282 /* SyntaxKind.JsxFragment */: + case 285 /* SyntaxKind.JsxFragment */: return visitJsxFragment(node, /*isChild*/ true); default: return ts.Debug.failBadSyntaxKind(node); @@ -99444,7 +100517,7 @@ var ts; childrenProps = result; } } - return visitJsxOpeningLikeElementOrFragmentJSX(getImplicitJsxFragmentReference(), childrenProps || factory.createObjectLiteralExpression([]), + return visitJsxOpeningLikeElementOrFragmentJSX(getImplicitJsxFragmentReference(), childrenProps || factory.createObjectLiteralExpression([]), /*keyAttr*/ undefined, children, isChild, location); } function visitJsxOpeningFragmentCreateElement(node, children, isChild, location) { @@ -99507,7 +100580,7 @@ var ts; var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote); return ts.setTextRange(literal, node); } - if (node.kind === 288 /* SyntaxKind.JsxExpression */) { + if (node.kind === 291 /* SyntaxKind.JsxExpression */) { if (node.expression === undefined) { return factory.createTrue(); } @@ -99608,7 +100681,7 @@ var ts; return decoded === text ? undefined : decoded; } function getTagName(node) { - if (node.kind === 278 /* SyntaxKind.JsxElement */) { + if (node.kind === 281 /* SyntaxKind.JsxElement */) { return getTagName(node.openingElement); } else { @@ -99915,7 +100988,7 @@ var ts; return node; } switch (node.kind) { - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -100140,7 +101213,7 @@ var ts; } function isReturnVoidStatementInConstructorWithCapturedSuper(node) { return (hierarchyFacts & 8192 /* HierarchyFacts.ConstructorWithCapturedSuper */) !== 0 - && node.kind === 247 /* SyntaxKind.ReturnStatement */ + && node.kind === 250 /* SyntaxKind.ReturnStatement */ && !node.expression; } function isOrMayContainReturnCompletion(node) { @@ -100194,65 +101267,65 @@ var ts; switch (node.kind) { case 124 /* SyntaxKind.StaticKeyword */: return undefined; // elide static keyword - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: return visitClassExpression(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return visitParameter(node); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return visitArrowFunction(node); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: return visitFunctionExpression(node); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return visitVariableDeclaration(node); case 79 /* SyntaxKind.Identifier */: return visitIdentifier(node); - case 255 /* SyntaxKind.VariableDeclarationList */: + case 258 /* SyntaxKind.VariableDeclarationList */: return visitVariableDeclarationList(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return visitSwitchStatement(node); - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: return visitCaseBlock(node); - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: return visitBlock(node, /*isFunctionBody*/ false); - case 246 /* SyntaxKind.BreakStatement */: - case 245 /* SyntaxKind.ContinueStatement */: + case 249 /* SyntaxKind.BreakStatement */: + case 248 /* SyntaxKind.ContinueStatement */: return visitBreakOrContinueStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: return visitDoOrWhileStatement(node, /*outermostLabeledStatement*/ undefined); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatement(node, /*outermostLabeledStatement*/ undefined); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return visitForInStatement(node, /*outermostLabeledStatement*/ undefined); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node, /*outermostLabeledStatement*/ undefined); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return visitCatchClause(node); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return visitShorthandPropertyAssignment(node); - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: return visitComputedPropertyName(node); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return visitNewExpression(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, expressionResultIsUnused); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node, expressionResultIsUnused); - case 351 /* SyntaxKind.CommaListExpression */: + case 354 /* SyntaxKind.CommaListExpression */: return visitCommaListExpression(node, expressionResultIsUnused); case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: case 15 /* SyntaxKind.TemplateHead */: @@ -100263,30 +101336,30 @@ var ts; return visitStringLiteral(node); case 8 /* SyntaxKind.NumericLiteral */: return visitNumericLiteral(node); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return visitTaggedTemplateExpression(node); - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: return visitTemplateExpression(node); - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return visitYieldExpression(node); - case 225 /* SyntaxKind.SpreadElement */: + case 227 /* SyntaxKind.SpreadElement */: return visitSpreadElement(node); case 106 /* SyntaxKind.SuperKeyword */: return visitSuperKeyword(/*isExpressionOfCall*/ false); case 108 /* SyntaxKind.ThisKeyword */: return visitThisKeyword(node); - case 231 /* SyntaxKind.MetaProperty */: + case 233 /* SyntaxKind.MetaProperty */: return visitMetaProperty(node); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return visitMethodDeclaration(node); - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return visitAccessorDeclaration(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); - case 217 /* SyntaxKind.VoidExpression */: + case 219 /* SyntaxKind.VoidExpression */: return visitVoidExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -100362,11 +101435,13 @@ var ts; return ts.visitEachChild(node, visitorWithUnusedExpressionResult, context); } function visitIdentifier(node) { - if (!convertedLoopState) { - return node; + if (convertedLoopState) { + if (resolver.isArgumentsLocalBinding(node)) { + return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory.createUniqueName("arguments")); + } } - if (resolver.isArgumentsLocalBinding(node)) { - return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory.createUniqueName("arguments")); + if (node.hasExtendedUnicodeEscape) { + return ts.setOriginalNode(ts.setTextRange(factory.createIdentifier(ts.unescapeLeadingUnderscores(node.escapedText)), node), node); } return node; } @@ -100376,14 +101451,14 @@ var ts; // it is possible if either // - break/continue is labeled and label is located inside the converted loop // - break/continue is non-labeled and located in non-converted loop/switch statement - var jump = node.kind === 246 /* SyntaxKind.BreakStatement */ ? 2 /* Jump.Break */ : 4 /* Jump.Continue */; + var jump = node.kind === 249 /* SyntaxKind.BreakStatement */ ? 2 /* Jump.Break */ : 4 /* Jump.Continue */; var canUseBreakOrContinue = (node.label && convertedLoopState.labels && convertedLoopState.labels.get(ts.idText(node.label))) || (!node.label && (convertedLoopState.allowedNonLabeledJumps & jump)); if (!canUseBreakOrContinue) { var labelMarker = void 0; var label = node.label; if (!label) { - if (node.kind === 246 /* SyntaxKind.BreakStatement */) { + if (node.kind === 249 /* SyntaxKind.BreakStatement */) { convertedLoopState.nonLocalJumps |= 2 /* Jump.Break */; labelMarker = "break"; } @@ -100394,7 +101469,7 @@ var ts; } } else { - if (node.kind === 246 /* SyntaxKind.BreakStatement */) { + if (node.kind === 249 /* SyntaxKind.BreakStatement */) { labelMarker = "break-".concat(label.escapedText); setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker); } @@ -100438,8 +101513,8 @@ var ts; // } // return C; // }()); - var variable = factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ true), - /*exclamationToken*/ undefined, + var variable = factory.createVariableDeclaration(factory.getLocalName(node, /*allowComments*/ true), + /*exclamationToken*/ undefined, /*type*/ undefined, transformClassLikeDeclarationToExpression(node)); ts.setOriginalNode(variable, node); var statements = []; @@ -100450,7 +101525,7 @@ var ts; statements.push(statement); // Add an `export default` statement for default exports (for `--target es5 --module es6`) if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - var exportStatement = ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) + var exportStatement = ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */) ? factory.createExportDefault(factory.getLocalName(node)) : factory.createExternalModuleExport(factory.getLocalName(node)); ts.setOriginalNode(exportStatement, statement); @@ -100514,10 +101589,10 @@ var ts; } var extendsClauseElement = ts.getClassExtendsHeritageElement(node); var classFunction = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, extendsClauseElement ? [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, factory.createUniqueName("_super", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */))] : [], /*type*/ undefined, transformClassBody(node, extendsClauseElement)); // To preserve the behavior of the old emitter, we explicitly indent // the body of the function here if it was requested in an earlier @@ -100531,7 +101606,7 @@ var ts; var outer = factory.createPartiallyEmittedExpression(inner); ts.setTextRangeEnd(outer, ts.skipTrivia(currentText, node.pos)); ts.setEmitFlags(outer, 1536 /* EmitFlags.NoComments */); - var result = factory.createParenthesizedExpression(factory.createCallExpression(outer, + var result = factory.createParenthesizedExpression(factory.createCallExpression(outer, /*typeArguments*/ undefined, extendsClauseElement ? [ts.visitNode(extendsClauseElement.expression, visitor, ts.isExpression)] : [])); @@ -100577,7 +101652,7 @@ var ts; */ function addExtendsHelperIfNeeded(statements, node, extendsClauseElement) { if (extendsClauseElement) { - statements.push(ts.setTextRange(factory.createExpressionStatement(emitHelpers().createExtendsHelper(factory.getInternalName(node))), + statements.push(ts.setTextRange(factory.createExpressionStatement(emitHelpers().createExtendsHelper(factory.getInternalName(node))), /*location*/ extendsClauseElement)); } } @@ -100595,9 +101670,9 @@ var ts; var constructor = ts.getFirstConstructorWithBody(node); var hasSynthesizedSuper = hasSynthesizedDefaultSuperCall(constructor, extendsClauseElement !== undefined); var constructorFunction = factory.createFunctionDeclaration( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, name, - /*typeParameters*/ undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, name, + /*typeParameters*/ undefined, transformConstructorParameters(constructor, hasSynthesizedSuper), /*type*/ undefined, transformConstructorBody(constructor, node, extendsClauseElement, hasSynthesizedSuper)); ts.setTextRange(constructorFunction, constructor || node); if (extendsClauseElement) { @@ -100790,8 +101865,8 @@ var ts; // ``` insertCaptureThisForNodeIfNeeded(prologue, constructor); } - var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex - existingPrologue.length)), true), statements, true)), - /*location*/ constructor.body.statements), + var body = factory.createBlock(ts.setTextRange(factory.createNodeArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], existingPrologue, true), prologue, true), (superStatementIndex <= existingPrologue.length ? ts.emptyArray : ts.visitNodes(constructor.body.statements, visitor, ts.isStatement, existingPrologue.length, superStatementIndex - existingPrologue.length)), true), statements, true)), + /*location*/ constructor.body.statements), /*multiLine*/ true); ts.setTextRange(body, constructor.body); return body; @@ -100819,11 +101894,11 @@ var ts; */ function isSufficientlyCoveredByReturnStatements(statement) { // A return statement is considered covered. - if (statement.kind === 247 /* SyntaxKind.ReturnStatement */) { + if (statement.kind === 250 /* SyntaxKind.ReturnStatement */) { return true; } // An if-statement with two covered branches is covered. - else if (statement.kind === 239 /* SyntaxKind.IfStatement */) { + else if (statement.kind === 242 /* SyntaxKind.IfStatement */) { var ifStatement = statement; if (ifStatement.elseStatement) { return isSufficientlyCoveredByReturnStatements(ifStatement.thenStatement) && @@ -100831,7 +101906,7 @@ var ts; } } // A block is covered if it has a last statement which is covered. - else if (statement.kind === 235 /* SyntaxKind.Block */) { + else if (statement.kind === 238 /* SyntaxKind.Block */) { var lastStatement = ts.lastOrUndefined(statement.statements); if (lastStatement && isSufficientlyCoveredByReturnStatements(lastStatement)) { return true; @@ -100859,23 +101934,23 @@ var ts; // Binding patterns are converted into a generated name and are // evaluated inside the function body. return ts.setOriginalNode(ts.setTextRange(factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, factory.getGeneratedNameForNode(node), - /*questionToken*/ undefined, - /*type*/ undefined, - /*initializer*/ undefined), - /*location*/ node), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, factory.getGeneratedNameForNode(node), + /*questionToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined), + /*location*/ node), /*original*/ node); } else if (node.initializer) { // Initializers are elided return ts.setOriginalNode(ts.setTextRange(factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, node.name, - /*questionToken*/ undefined, - /*type*/ undefined, - /*initializer*/ undefined), - /*location*/ node), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, node.name, + /*questionToken*/ undefined, + /*type*/ undefined, + /*initializer*/ undefined), + /*location*/ node), /*original*/ node); } else { @@ -100996,10 +102071,10 @@ var ts; // var param = []; prologueStatements.push(ts.setEmitFlags(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(declarationName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(declarationName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createArrayLiteralExpression([])) - ])), + ])), /*location*/ parameter), 1048576 /* EmitFlags.CustomPrologue */)); // for (var _i = restIndex; _i < arguments.length; _i++) { // param[_i - restIndex] = arguments[_i]; @@ -101009,7 +102084,7 @@ var ts; ]), parameter), ts.setTextRange(factory.createLessThan(temp, factory.createPropertyAccessExpression(factory.createIdentifier("arguments"), "length")), parameter), ts.setTextRange(factory.createPostfixIncrement(temp), parameter), factory.createBlock([ ts.startOnNewLine(ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(factory.createElementAccessExpression(expressionName, restIndex === 0 ? temp - : factory.createSubtract(temp, factory.createNumericLiteral(restIndex))), factory.createElementAccessExpression(factory.createIdentifier("arguments"), temp))), + : factory.createSubtract(temp, factory.createNumericLiteral(restIndex))), factory.createElementAccessExpression(factory.createIdentifier("arguments"), temp))), /*location*/ parameter)) ])); ts.setEmitFlags(forStatement, 1048576 /* EmitFlags.CustomPrologue */); @@ -101031,7 +102106,7 @@ var ts; * @param node A node. */ function insertCaptureThisForNodeIfNeeded(statements, node) { - if (hierarchyFacts & 65536 /* HierarchyFacts.CapturedLexicalThis */ && node.kind !== 214 /* SyntaxKind.ArrowFunction */) { + if (hierarchyFacts & 65536 /* HierarchyFacts.CapturedLexicalThis */ && node.kind !== 216 /* SyntaxKind.ArrowFunction */) { insertCaptureThisForNode(statements, node, factory.createThis()); return true; } @@ -101053,8 +102128,8 @@ var ts; enableSubstitutionsForCapturedThis(); var captureThisStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.createUniqueName("_this", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + /*exclamationToken*/ undefined, /*type*/ undefined, initializer) ])); ts.setEmitFlags(captureThisStatement, 1536 /* EmitFlags.NoComments */ | 1048576 /* EmitFlags.CustomPrologue */); @@ -101065,26 +102140,26 @@ var ts; if (hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */) { var newTarget = void 0; switch (node.kind) { - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return statements; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // Methods and accessors cannot be constructors, so 'new.target' will // always return 'undefined'. newTarget = factory.createVoidZero(); break; - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: // Class constructors can only be called with `new`, so `this.constructor` // should be relatively safe to use. newTarget = factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"); break; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: // Functions can be called or constructed, and may have a `this` due to // being a member or when calling an imported function via `other_1.f()`. - newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), 102 /* SyntaxKind.InstanceOfKeyword */, factory.getLocalName(node))), - /*questionToken*/ undefined, factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"), + newTarget = factory.createConditionalExpression(factory.createLogicalAnd(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), factory.createBinaryExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), 102 /* SyntaxKind.InstanceOfKeyword */, factory.getLocalName(node))), + /*questionToken*/ undefined, factory.createPropertyAccessExpression(ts.setEmitFlags(factory.createThis(), 4 /* EmitFlags.NoSubstitution */), "constructor"), /*colonToken*/ undefined, factory.createVoidZero()); break; default: @@ -101092,8 +102167,8 @@ var ts; } var captureNewTargetStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.createUniqueName("_newTarget", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.createUniqueName("_newTarget", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */), + /*exclamationToken*/ undefined, /*type*/ undefined, newTarget) ])); ts.setEmitFlags(captureNewTargetStatement, 1536 /* EmitFlags.NoComments */ | 1048576 /* EmitFlags.CustomPrologue */); @@ -101115,21 +102190,21 @@ var ts; for (var _i = 0, _a = node.members; _i < _a.length; _i++) { var member = _a[_i]; switch (member.kind) { - case 234 /* SyntaxKind.SemicolonClassElement */: + case 237 /* SyntaxKind.SemicolonClassElement */: statements.push(transformSemicolonClassElementToStatement(member)); break; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); break; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); } break; - case 171 /* SyntaxKind.Constructor */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: // Constructors are handled in visitClassExpression/visitClassDeclaration break; default: @@ -101233,7 +102308,7 @@ var ts; properties.push(setter); } properties.push(factory.createPropertyAssignment("enumerable", getAccessor || setAccessor ? factory.createFalse() : factory.createTrue()), factory.createPropertyAssignment("configurable", factory.createTrue())); - var call = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + var call = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ target, propertyName, @@ -101257,10 +102332,10 @@ var ts; convertedLoopState = undefined; var ancestorFacts = enterSubtree(15232 /* HierarchyFacts.ArrowFunctionExcludes */, 66 /* HierarchyFacts.ArrowFunctionIncludes */); var func = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), /*type*/ undefined, transformFunctionBody(node)); ts.setTextRange(func, node); ts.setOriginalNode(func, node); @@ -101288,9 +102363,9 @@ var ts; : node.name; exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; - return factory.updateFunctionExpression(node, - /*modifiers*/ undefined, node.asteriskToken, name, - /*typeParameters*/ undefined, parameters, + return factory.updateFunctionExpression(node, + /*modifiers*/ undefined, node.asteriskToken, name, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } /** @@ -101309,8 +102384,8 @@ var ts; : node.name; exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; - return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, - /*typeParameters*/ undefined, parameters, + return factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, visitor, ts.isModifier), node.asteriskToken, name, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } /** @@ -101328,15 +102403,15 @@ var ts; : enterSubtree(32670 /* HierarchyFacts.FunctionExcludes */, 65 /* HierarchyFacts.FunctionIncludes */); var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */ && !name && (node.kind === 256 /* SyntaxKind.FunctionDeclaration */ || node.kind === 213 /* SyntaxKind.FunctionExpression */)) { + if (hierarchyFacts & 32768 /* HierarchyFacts.NewTarget */ && !name && (node.kind === 259 /* SyntaxKind.FunctionDeclaration */ || node.kind === 215 /* SyntaxKind.FunctionExpression */)) { name = factory.getGeneratedNameForNode(node); } exitSubtree(ancestorFacts, 98304 /* HierarchyFacts.FunctionSubtreeExcludes */, 0 /* HierarchyFacts.None */); convertedLoopState = savedConvertedLoopState; return ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression( - /*modifiers*/ undefined, node.asteriskToken, name, - /*typeParameters*/ undefined, parameters, - /*type*/ undefined, body), location), + /*modifiers*/ undefined, node.asteriskToken, name, + /*typeParameters*/ undefined, parameters, + /*type*/ undefined, body), location), /*original*/ node); } /** @@ -101374,7 +102449,7 @@ var ts; } } else { - ts.Debug.assert(node.kind === 214 /* SyntaxKind.ArrowFunction */); + ts.Debug.assert(node.kind === 216 /* SyntaxKind.ArrowFunction */); // To align with the old emitter, we use a synthetic end position on the location // for the statement list we synthesize when we down-level an arrow function with // an expression function body. This prevents both comments and source maps from @@ -101655,7 +102730,7 @@ var ts; var ancestorFacts = enterSubtree(32 /* HierarchyFacts.ExportedVariableStatement */, 0 /* HierarchyFacts.None */); var updated; if (ts.isBindingPattern(node.name)) { - updated = ts.flattenDestructuringBinding(node, visitor, context, 0 /* FlattenLevel.All */, + updated = ts.flattenDestructuringBinding(node, visitor, context, 0 /* FlattenLevel.All */, /*value*/ undefined, (ancestorFacts & 32 /* HierarchyFacts.ExportedVariableStatement */) !== 0); } else { @@ -101681,14 +102756,14 @@ var ts; } function visitIterationStatement(node, outermostLabeledStatement) { switch (node.kind) { - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: return visitDoOrWhileStatement(node, outermostLabeledStatement); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatement(node, outermostLabeledStatement); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return visitForInStatement(node, outermostLabeledStatement); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node, outermostLabeledStatement); } } @@ -101738,8 +102813,8 @@ var ts; // to emit it separately. statements.push(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, ts.setOriginalNode(ts.setTextRange(factory.createVariableDeclarationList([ - factory.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : factory.createTempVariable(/*recordTempVariable*/ undefined), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(firstOriginalDeclaration ? firstOriginalDeclaration.name : factory.createTempVariable(/*recordTempVariable*/ undefined), + /*exclamationToken*/ undefined, /*type*/ undefined, boundValue) ]), ts.moveRangePos(initializer, -1)), initializer)), ts.moveRangeEnd(initializer, -1))); } @@ -101771,7 +102846,7 @@ var ts; } } function createSyntheticBlockForConvertedStatements(statements) { - return ts.setEmitFlags(factory.createBlock(factory.createNodeArray(statements), + return ts.setEmitFlags(factory.createBlock(factory.createNodeArray(statements), /*multiLine*/ true), 48 /* EmitFlags.NoSourceMap */ | 384 /* EmitFlags.NoTokenSourceMaps */); } function convertForOfStatementForArray(node, outermostLabeledStatement, convertedLoopBodyStatements) { @@ -101809,10 +102884,10 @@ var ts; /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(counter, /*exclamationToken*/ undefined, /*type*/ undefined, factory.createNumericLiteral(0)), ts.moveRangePos(node.expression, -1)), ts.setTextRange(factory.createVariableDeclaration(rhsReference, /*exclamationToken*/ undefined, /*type*/ undefined, expression), node.expression) - ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), - /*condition*/ ts.setTextRange(factory.createLessThan(counter, factory.createPropertyAccessExpression(rhsReference, "length")), node.expression), - /*incrementor*/ ts.setTextRange(factory.createPostfixIncrement(counter), node.expression), - /*statement*/ convertForOfStatementHead(node, factory.createElementAccessExpression(rhsReference, counter), convertedLoopBodyStatements)), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), + /*condition*/ ts.setTextRange(factory.createLessThan(counter, factory.createPropertyAccessExpression(rhsReference, "length")), node.expression), + /*incrementor*/ ts.setTextRange(factory.createPostfixIncrement(counter), node.expression), + /*statement*/ convertForOfStatementHead(node, factory.createElementAccessExpression(rhsReference, counter), convertedLoopBodyStatements)), /*location*/ node); // Disable trailing source maps for the OpenParenToken to align source map emit with the old emitter. ts.setEmitFlags(forStatement, 256 /* EmitFlags.NoTokenTrailingSourceMaps */); @@ -101838,10 +102913,10 @@ var ts; /*initializer*/ ts.setEmitFlags(ts.setTextRange(factory.createVariableDeclarationList([ ts.setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result, /*exclamationToken*/ undefined, /*type*/ undefined, next) - ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), - /*condition*/ factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done")), - /*incrementor*/ factory.createAssignment(result, next), - /*statement*/ convertForOfStatementHead(node, factory.createPropertyAccessExpression(result, "value"), convertedLoopBodyStatements)), + ]), node.expression), 2097152 /* EmitFlags.NoHoisting */), + /*condition*/ factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done")), + /*incrementor*/ factory.createAssignment(result, next), + /*statement*/ convertForOfStatementHead(node, factory.createPropertyAccessExpression(result, "value"), convertedLoopBodyStatements)), /*location*/ node), 256 /* EmitFlags.NoTokenTrailingSourceMaps */); return factory.createTryStatement(factory.createBlock([ factory.restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel) @@ -101853,8 +102928,8 @@ var ts; factory.createTryStatement( /*tryBlock*/ factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(factory.createLogicalAnd(factory.createLogicalAnd(result, factory.createLogicalNot(factory.createPropertyAccessExpression(result, "done"))), factory.createAssignment(returnMethod, factory.createPropertyAccessExpression(iterator, "return"))), factory.createExpressionStatement(factory.createFunctionCallCall(returnMethod, iterator, []))), 1 /* EmitFlags.SingleLine */), - ]), - /*catchClause*/ undefined, + ]), + /*catchClause*/ undefined, /*finallyBlock*/ ts.setEmitFlags(factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(errorRecord, factory.createThrowStatement(factory.createPropertyAccessExpression(errorRecord, "error"))), 1 /* EmitFlags.SingleLine */) ]), 1 /* EmitFlags.SingleLine */)) @@ -101874,7 +102949,7 @@ var ts; var property = properties[i]; if ((property.transformFlags & 1048576 /* TransformFlags.ContainsYield */ && hierarchyFacts & 4 /* HierarchyFacts.AsyncFunctionBody */) - || (hasComputed = ts.Debug.checkDefined(property.name).kind === 162 /* SyntaxKind.ComputedPropertyName */)) { + || (hasComputed = ts.Debug.checkDefined(property.name).kind === 164 /* SyntaxKind.ComputedPropertyName */)) { numInitialProperties = i; break; } @@ -101990,11 +103065,11 @@ var ts; } function convertIterationStatementCore(node, initializerFunction, convertedLoopBody) { switch (node.kind) { - case 242 /* SyntaxKind.ForStatement */: return convertForStatement(node, initializerFunction, convertedLoopBody); - case 243 /* SyntaxKind.ForInStatement */: return convertForInStatement(node, convertedLoopBody); - case 244 /* SyntaxKind.ForOfStatement */: return convertForOfStatement(node, convertedLoopBody); - case 240 /* SyntaxKind.DoStatement */: return convertDoStatement(node, convertedLoopBody); - case 241 /* SyntaxKind.WhileStatement */: return convertWhileStatement(node, convertedLoopBody); + case 245 /* SyntaxKind.ForStatement */: return convertForStatement(node, initializerFunction, convertedLoopBody); + case 246 /* SyntaxKind.ForInStatement */: return convertForInStatement(node, convertedLoopBody); + case 247 /* SyntaxKind.ForOfStatement */: return convertForOfStatement(node, convertedLoopBody); + case 243 /* SyntaxKind.DoStatement */: return convertDoStatement(node, convertedLoopBody); + case 244 /* SyntaxKind.WhileStatement */: return convertWhileStatement(node, convertedLoopBody); default: return ts.Debug.failBadSyntaxKind(node, "IterationStatement expected"); } } @@ -102004,7 +103079,7 @@ var ts; return factory.updateForStatement(node, ts.visitNode(initializerFunction ? initializerFunction.part : node.initializer, visitorWithUnusedExpressionResult, ts.isForInitializer), ts.visitNode(shouldConvertCondition ? undefined : node.condition, visitor, ts.isExpression), ts.visitNode(shouldConvertIncrementor ? undefined : node.incrementor, visitorWithUnusedExpressionResult, ts.isExpression), convertedLoopBody); } function convertForOfStatement(node, convertedLoopBody) { - return factory.updateForOfStatement(node, + return factory.updateForOfStatement(node, /*awaitModifier*/ undefined, ts.visitNode(node.initializer, visitor, ts.isForInitializer), ts.visitNode(node.expression, visitor, ts.isExpression), convertedLoopBody); } function convertForInStatement(node, convertedLoopBody) { @@ -102019,11 +103094,11 @@ var ts; function createConvertedLoopState(node) { var loopInitializer; switch (node.kind) { - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: var initializer = node.initializer; - if (initializer && initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (initializer && initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { loopInitializer = initializer; } break; @@ -102074,8 +103149,8 @@ var ts; } else { // this is top level converted loop and we need to create an alias for 'arguments' object - (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.argumentsName, - /*exclamationToken*/ undefined, + (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.argumentsName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createIdentifier("arguments"))); } } @@ -102090,8 +103165,8 @@ var ts; // NOTE: // if converted loops were all nested in arrow function then we'll always emit '_this' so convertedLoopState.thisName will not be set. // If it is set this means that all nested loops are not nested in arrow function and it is safe to capture 'this'. - (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.thisName, - /*exclamationToken*/ undefined, + (extraVariableDeclarations || (extraVariableDeclarations = [])).push(factory.createVariableDeclaration(state.thisName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createIdentifier("this"))); } } @@ -102176,13 +103251,13 @@ var ts; // from affecting the initial value for `i` outside of the per-iteration environment. var functionDeclaration = factory.createVariableStatement( /*modifiers*/ undefined, ts.setEmitFlags(factory.createVariableDeclarationList([ - factory.createVariableDeclaration(functionName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(functionName, + /*exclamationToken*/ undefined, /*type*/ undefined, ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ undefined, + /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ undefined, /*type*/ undefined, ts.visitNode(factory.createBlock(statements, /*multiLine*/ true), visitor, ts.isBlock)), emitFlags)) ]), 2097152 /* EmitFlags.NoHoisting */)); var part = factory.createVariableDeclarationList(ts.map(currentState.loopOutParameters, createOutVariable)); @@ -102282,12 +103357,12 @@ var ts; // } var functionDeclaration = factory.createVariableStatement( /*modifiers*/ undefined, ts.setEmitFlags(factory.createVariableDeclarationList([ - factory.createVariableDeclaration(functionName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(functionName, + /*exclamationToken*/ undefined, /*type*/ undefined, ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, currentState.loopParameters, + /*modifiers*/ undefined, containsYield ? factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, currentState.loopParameters, /*type*/ undefined, loopBody), emitFlags)) ]), 2097152 /* EmitFlags.NoHoisting */)); var part = generateCallToConvertedLoop(functionName, currentState, outerState, containsYield); @@ -102439,20 +103514,20 @@ var ts; for (var i = start; i < numProperties; i++) { var property = properties[i]; switch (property.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: var accessors = ts.getAllAccessorDeclarations(node.properties, property); if (property === accessors.firstAccessor) { expressions.push(transformAccessorsToExpression(receiver, accessors, node, !!node.multiLine)); } break; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: expressions.push(transformObjectLiteralMethodDeclarationToExpression(property, receiver, node, node.multiLine)); break; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: expressions.push(transformPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: expressions.push(transformShorthandPropertyAssignmentToExpression(property, receiver, node.multiLine)); break; default: @@ -102543,7 +103618,7 @@ var ts; ts.Debug.assert(!ts.isComputedPropertyName(node.name)); var functionExpression = transformFunctionLikeToExpression(node, /*location*/ ts.moveRangePos(node, -1), /*name*/ undefined, /*container*/ undefined); ts.setEmitFlags(functionExpression, 512 /* EmitFlags.NoLeadingComments */ | ts.getEmitFlags(functionExpression)); - return ts.setTextRange(factory.createPropertyAssignment(node.name, functionExpression), + return ts.setTextRange(factory.createPropertyAssignment(node.name, functionExpression), /*location*/ node); } /** @@ -102559,7 +103634,7 @@ var ts; var updated; var parameters = ts.visitParameterList(node.parameters, visitor, context); var body = transformFunctionBody(node); - if (node.kind === 172 /* SyntaxKind.GetAccessor */) { + if (node.kind === 174 /* SyntaxKind.GetAccessor */) { updated = factory.updateGetAccessorDeclaration(node, node.modifiers, node.name, parameters, node.type, body); } else { @@ -102575,7 +103650,7 @@ var ts; * @param node A ShorthandPropertyAssignment node. */ function visitShorthandPropertyAssignment(node) { - return ts.setTextRange(factory.createPropertyAssignment(node.name, visitIdentifier(factory.cloneNode(node.name))), + return ts.setTextRange(factory.createPropertyAssignment(node.name, visitIdentifier(factory.cloneNode(node.name))), /*location*/ node); } function visitComputedPropertyName(node) { @@ -102617,7 +103692,7 @@ var ts; ts.some(node.arguments, ts.isSpreadElement)) { return visitCallExpressionWithPotentialCapturedThisAssignment(node, /*assignToCapturedThis*/ true); } - return factory.updateCallExpression(node, ts.visitNode(node.expression, callExpressionVisitor, ts.isExpression), + return factory.updateCallExpression(node, ts.visitNode(node.expression, callExpressionVisitor, ts.isExpression), /*typeArguments*/ undefined, ts.visitNodes(node.arguments, visitor, ts.isExpression)); } function visitTypeScriptClassWrapper(node) { @@ -102728,12 +103803,12 @@ var ts; ts.addRange(statements, classStatements, /*start*/ 1); // Recreate any outer parentheses or partially-emitted expressions to preserve source map // and comment locations. - return factory.restoreOuterExpressions(node.expression, factory.restoreOuterExpressions(variable.initializer, factory.restoreOuterExpressions(aliasAssignment && aliasAssignment.right, factory.updateCallExpression(call, factory.restoreOuterExpressions(call.expression, factory.updateFunctionExpression(func, - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, func.parameters, - /*type*/ undefined, factory.updateBlock(func.body, statements))), + return factory.restoreOuterExpressions(node.expression, factory.restoreOuterExpressions(variable.initializer, factory.restoreOuterExpressions(aliasAssignment && aliasAssignment.right, factory.updateCallExpression(call, factory.restoreOuterExpressions(call.expression, factory.updateFunctionExpression(func, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, func.parameters, + /*type*/ undefined, factory.updateBlock(func.body, statements))), /*typeArguments*/ undefined, call.arguments)))); } function visitSuperCallInBody(node) { @@ -102802,7 +103877,7 @@ var ts; // [output] // new ((_a = C).bind.apply(_a, [void 0].concat(a)))() var _a = factory.createCallBinding(factory.createPropertyAccessExpression(node.expression, "bind"), hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg; - return factory.createNewExpression(factory.createFunctionApplyCall(ts.visitNode(target, visitor, ts.isExpression), thisArg, transformAndSpreadElements(factory.createNodeArray(__spreadArray([factory.createVoidZero()], node.arguments, true)), /*isArgumentList*/ true, /*multiLine*/ false, /*hasTrailingComma*/ false)), + return factory.createNewExpression(factory.createFunctionApplyCall(ts.visitNode(target, visitor, ts.isExpression), thisArg, transformAndSpreadElements(factory.createNodeArray(__spreadArray([factory.createVoidZero()], node.arguments, true)), /*isArgumentList*/ true, /*multiLine*/ false, /*hasTrailingComma*/ false)), /*typeArguments*/ undefined, []); } return ts.visitEachChild(node, visitor, context); @@ -102961,7 +104036,7 @@ var ts; if (span.literal.text.length > 0) { args.push(factory.createStringLiteral(span.literal.text)); } - expression = factory.createCallExpression(factory.createPropertyAccessExpression(expression, "concat"), + expression = factory.createCallExpression(factory.createPropertyAccessExpression(expression, "concat"), /*typeArguments*/ undefined, args); } return ts.setTextRange(expression, node); @@ -103019,13 +104094,13 @@ var ts; if ((enabledSubstitutions & 1 /* ES2015SubstitutionFlags.CapturedThis */) === 0) { enabledSubstitutions |= 1 /* ES2015SubstitutionFlags.CapturedThis */; context.enableSubstitution(108 /* SyntaxKind.ThisKeyword */); - context.enableEmitNotification(171 /* SyntaxKind.Constructor */); - context.enableEmitNotification(169 /* SyntaxKind.MethodDeclaration */); - context.enableEmitNotification(172 /* SyntaxKind.GetAccessor */); - context.enableEmitNotification(173 /* SyntaxKind.SetAccessor */); - context.enableEmitNotification(214 /* SyntaxKind.ArrowFunction */); - context.enableEmitNotification(213 /* SyntaxKind.FunctionExpression */); - context.enableEmitNotification(256 /* SyntaxKind.FunctionDeclaration */); + context.enableEmitNotification(173 /* SyntaxKind.Constructor */); + context.enableEmitNotification(171 /* SyntaxKind.MethodDeclaration */); + context.enableEmitNotification(174 /* SyntaxKind.GetAccessor */); + context.enableEmitNotification(175 /* SyntaxKind.SetAccessor */); + context.enableEmitNotification(216 /* SyntaxKind.ArrowFunction */); + context.enableEmitNotification(215 /* SyntaxKind.FunctionExpression */); + context.enableEmitNotification(259 /* SyntaxKind.FunctionDeclaration */); } } /** @@ -103066,10 +104141,10 @@ var ts; */ function isNameOfDeclarationWithCollidingName(node) { switch (node.parent.kind) { - case 203 /* SyntaxKind.BindingElement */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 205 /* SyntaxKind.BindingElement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return node.parent.name === node && resolver.isDeclarationWithCollidingName(node.parent); } @@ -103151,11 +104226,11 @@ var ts; return false; } var statement = ts.firstOrUndefined(constructor.body.statements); - if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 238 /* SyntaxKind.ExpressionStatement */) { + if (!statement || !ts.nodeIsSynthesized(statement) || statement.kind !== 241 /* SyntaxKind.ExpressionStatement */) { return false; } var statementExpression = statement.expression; - if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 208 /* SyntaxKind.CallExpression */) { + if (!ts.nodeIsSynthesized(statementExpression) || statementExpression.kind !== 210 /* SyntaxKind.CallExpression */) { return false; } var callTarget = statementExpression.expression; @@ -103163,7 +104238,7 @@ var ts; return false; } var callArgument = ts.singleOrUndefined(statementExpression.arguments); - if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 225 /* SyntaxKind.SpreadElement */) { + if (!callArgument || !ts.nodeIsSynthesized(callArgument) || callArgument.kind !== 227 /* SyntaxKind.SpreadElement */) { return false; } var expression = callArgument.expression; @@ -103189,15 +104264,15 @@ var ts; if (compilerOptions.jsx === 1 /* JsxEmit.Preserve */ || compilerOptions.jsx === 3 /* JsxEmit.ReactNative */) { previousOnEmitNode = context.onEmitNode; context.onEmitNode = onEmitNode; - context.enableEmitNotification(280 /* SyntaxKind.JsxOpeningElement */); - context.enableEmitNotification(281 /* SyntaxKind.JsxClosingElement */); - context.enableEmitNotification(279 /* SyntaxKind.JsxSelfClosingElement */); + context.enableEmitNotification(283 /* SyntaxKind.JsxOpeningElement */); + context.enableEmitNotification(284 /* SyntaxKind.JsxClosingElement */); + context.enableEmitNotification(282 /* SyntaxKind.JsxSelfClosingElement */); noSubstitution = []; } var previousOnSubstituteNode = context.onSubstituteNode; context.onSubstituteNode = onSubstituteNode; - context.enableSubstitution(206 /* SyntaxKind.PropertyAccessExpression */); - context.enableSubstitution(296 /* SyntaxKind.PropertyAssignment */); + context.enableSubstitution(208 /* SyntaxKind.PropertyAccessExpression */); + context.enableSubstitution(299 /* SyntaxKind.PropertyAssignment */); return ts.chainBundle(context, transformSourceFile); /** * Transforms an ES5 source file to ES3. @@ -103216,9 +104291,9 @@ var ts; */ function onEmitNode(hint, node, emitCallback) { switch (node.kind) { - case 280 /* SyntaxKind.JsxOpeningElement */: - case 281 /* SyntaxKind.JsxClosingElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 284 /* SyntaxKind.JsxClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: var tagName = node.tagName; noSubstitution[ts.getOriginalNodeId(tagName)] = true; break; @@ -103553,13 +104628,13 @@ var ts; */ function visitJavaScriptInStatementContainingYield(node) { switch (node.kind) { - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: return visitDoStatement(node); - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: return visitWhileStatement(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return visitSwitchStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); default: return visitJavaScriptInGeneratorFunctionBody(node); @@ -103572,24 +104647,24 @@ var ts; */ function visitJavaScriptInGeneratorFunctionBody(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: return visitFunctionExpression(node); - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return visitAccessorDeclaration(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatement(node); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return visitForInStatement(node); - case 246 /* SyntaxKind.BreakStatement */: + case 249 /* SyntaxKind.BreakStatement */: return visitBreakStatement(node); - case 245 /* SyntaxKind.ContinueStatement */: + case 248 /* SyntaxKind.ContinueStatement */: return visitContinueStatement(node); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return visitReturnStatement(node); default: if (node.transformFlags & 1048576 /* TransformFlags.ContainsYield */) { @@ -103610,23 +104685,23 @@ var ts; */ function visitJavaScriptContainingYield(node) { switch (node.kind) { - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return visitBinaryExpression(node); - case 351 /* SyntaxKind.CommaListExpression */: + case 354 /* SyntaxKind.CommaListExpression */: return visitCommaListExpression(node); - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return visitConditionalExpression(node); - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return visitYieldExpression(node); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return visitArrayLiteralExpression(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return visitObjectLiteralExpression(node); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return visitElementAccessExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return visitCallExpression(node); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return visitNewExpression(node); default: return ts.visitEachChild(node, visitor, context); @@ -103639,9 +104714,9 @@ var ts; */ function visitGenerator(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: return visitFunctionExpression(node); default: return ts.Debug.failBadSyntaxKind(node); @@ -103659,10 +104734,10 @@ var ts; function visitFunctionDeclaration(node) { // Currently, we only support generators that were originally async functions. if (node.asteriskToken) { - node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(node.modifiers, - /*asteriskToken*/ undefined, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, transformGeneratorFunctionBody(node.body)), + node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(node.modifiers, + /*asteriskToken*/ undefined, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*type*/ undefined, transformGeneratorFunctionBody(node.body)), /*location*/ node), node); } else { @@ -103697,10 +104772,10 @@ var ts; // Currently, we only support generators that were originally async functions. if (node.asteriskToken) { node = ts.setOriginalNode(ts.setTextRange(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, node.name, - /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), - /*type*/ undefined, transformGeneratorFunctionBody(node.body)), + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, node.name, + /*typeParameters*/ undefined, ts.visitParameterList(node.parameters, visitor, context), + /*type*/ undefined, transformGeneratorFunctionBody(node.body)), /*location*/ node), node); } else { @@ -103848,7 +104923,7 @@ var ts; if (containsYield(right)) { var target = void 0; switch (left.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: // [source] // a.b = yield; // @@ -103860,7 +104935,7 @@ var ts; // _a.b = %sent%; target = factory.updatePropertyAccessExpression(left, cacheExpression(ts.visitNode(left.expression, visitor, ts.isLeftHandSideExpression)), left.name); break; - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: // [source] // a[b] = yield; // @@ -104223,8 +105298,8 @@ var ts; // .mark resumeLabel // new (_b.apply(_a, _c.concat([%sent%, 2]))); var _a = factory.createCallBinding(factory.createPropertyAccessExpression(node.expression, "bind"), hoistVariableDeclaration), target = _a.target, thisArg = _a.thisArg; - return ts.setOriginalNode(ts.setTextRange(factory.createNewExpression(factory.createFunctionApplyCall(cacheExpression(ts.visitNode(target, visitor, ts.isExpression)), thisArg, visitElements(node.arguments, - /*leadingElement*/ factory.createVoidZero())), + return ts.setOriginalNode(ts.setTextRange(factory.createNewExpression(factory.createFunctionApplyCall(cacheExpression(ts.visitNode(target, visitor, ts.isExpression)), thisArg, visitElements(node.arguments, + /*leadingElement*/ factory.createVoidZero())), /*typeArguments*/ undefined, []), node), node); } return ts.visitEachChild(node, visitor, context); @@ -104254,35 +105329,35 @@ var ts; } function transformAndEmitStatementWorker(node) { switch (node.kind) { - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: return transformAndEmitBlock(node); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return transformAndEmitExpressionStatement(node); - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: return transformAndEmitIfStatement(node); - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: return transformAndEmitDoStatement(node); - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: return transformAndEmitWhileStatement(node); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return transformAndEmitForStatement(node); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return transformAndEmitForInStatement(node); - case 245 /* SyntaxKind.ContinueStatement */: + case 248 /* SyntaxKind.ContinueStatement */: return transformAndEmitContinueStatement(node); - case 246 /* SyntaxKind.BreakStatement */: + case 249 /* SyntaxKind.BreakStatement */: return transformAndEmitBreakStatement(node); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return transformAndEmitReturnStatement(node); - case 248 /* SyntaxKind.WithStatement */: + case 251 /* SyntaxKind.WithStatement */: return transformAndEmitWithStatement(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return transformAndEmitSwitchStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return transformAndEmitLabeledStatement(node); - case 251 /* SyntaxKind.ThrowStatement */: + case 254 /* SyntaxKind.ThrowStatement */: return transformAndEmitThrowStatement(node); - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: return transformAndEmitTryStatement(node); default: return emitStatement(ts.visitNode(node, visitor, ts.isStatement)); @@ -104513,7 +105588,6 @@ var ts; return node; } function transformAndEmitForInStatement(node) { - // TODO(rbuckton): Source map locations if (containsYield(node)) { // [source] // for (var p in o) { @@ -104521,34 +105595,41 @@ var ts; // } // // [intermediate] - // .local _a, _b, _i - // _a = []; - // for (_b in o) _a.push(_b); + // .local _b, _a, _c, _i + // _b = []; + // _a = o; + // for (_c in _a) _b.push(_c); // _i = 0; // .loop incrementLabel, endLoopLabel // .mark conditionLabel - // .brfalse endLoopLabel, (_i < _a.length) - // p = _a[_i]; + // .brfalse endLoopLabel, (_i < _b.length) + // _c = _b[_i]; + // .brfalse incrementLabel, (_c in _a) + // p = _c; // /*body*/ // .mark incrementLabel - // _b++; + // _c++; // .br conditionLabel // .endloop // .mark endLoopLabel - var keysArray = declareLocal(); // _a - var key = declareLocal(); // _b + var obj = declareLocal(); // _a + var keysArray = declareLocal(); // _b + var key = declareLocal(); // _c var keysIndex = factory.createLoopVariable(); // _i var initializer = node.initializer; hoistVariableDeclaration(keysIndex); + emitAssignment(obj, ts.visitNode(node.expression, visitor, ts.isExpression)); emitAssignment(keysArray, factory.createArrayLiteralExpression()); - emitStatement(factory.createForInStatement(key, ts.visitNode(node.expression, visitor, ts.isExpression), factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(keysArray, "push"), + emitStatement(factory.createForInStatement(key, obj, factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(keysArray, "push"), /*typeArguments*/ undefined, [key])))); emitAssignment(keysIndex, factory.createNumericLiteral(0)); var conditionLabel = defineLabel(); var incrementLabel = defineLabel(); - var endLabel = beginLoopBlock(incrementLabel); + var endLoopLabel = beginLoopBlock(incrementLabel); markLabel(conditionLabel); - emitBreakWhenFalse(endLabel, factory.createLessThan(keysIndex, factory.createPropertyAccessExpression(keysArray, "length"))); + emitBreakWhenFalse(endLoopLabel, factory.createLessThan(keysIndex, factory.createPropertyAccessExpression(keysArray, "length"))); + emitAssignment(key, factory.createElementAccessExpression(keysArray, keysIndex)); + emitBreakWhenFalse(incrementLabel, factory.createBinaryExpression(key, 101 /* SyntaxKind.InKeyword */, obj)); var variable = void 0; if (ts.isVariableDeclarationList(initializer)) { for (var _i = 0, _a = initializer.declarations; _i < _a.length; _i++) { @@ -104561,7 +105642,7 @@ var ts; variable = ts.visitNode(initializer, visitor, ts.isExpression); ts.Debug.assert(ts.isLeftHandSideExpression(variable)); } - emitAssignment(variable, factory.createElementAccessExpression(keysArray, keysIndex)); + emitAssignment(variable, key); transformAndEmitEmbeddedStatement(node.statement); markLabel(incrementLabel); emitStatement(factory.createExpressionStatement(factory.createPostfixIncrement(keysIndex))); @@ -104643,11 +105724,11 @@ var ts; return ts.visitEachChild(node, visitor, context); } function transformAndEmitReturnStatement(node) { - emitReturn(ts.visitNode(node.expression, visitor, ts.isExpression), + emitReturn(ts.visitNode(node.expression, visitor, ts.isExpression), /*location*/ node); } function visitReturnStatement(node) { - return createInlineReturn(ts.visitNode(node.expression, visitor, ts.isExpression), + return createInlineReturn(ts.visitNode(node.expression, visitor, ts.isExpression), /*location*/ node); } function transformAndEmitWithStatement(node) { @@ -104712,7 +105793,7 @@ var ts; for (var i = 0; i < numClauses; i++) { var clause = caseBlock.clauses[i]; clauseLabels.push(defineLabel()); - if (clause.kind === 290 /* SyntaxKind.DefaultClause */ && defaultClauseIndex === -1) { + if (clause.kind === 293 /* SyntaxKind.DefaultClause */ && defaultClauseIndex === -1) { defaultClauseIndex = i; } } @@ -104725,7 +105806,7 @@ var ts; var defaultClausesSkipped = 0; for (var i = clausesWritten; i < numClauses; i++) { var clause = caseBlock.clauses[i]; - if (clause.kind === 289 /* SyntaxKind.CaseClause */) { + if (clause.kind === 292 /* SyntaxKind.CaseClause */) { if (containsYield(clause.expression) && pendingClauses.length > 0) { break; } @@ -104806,7 +105887,7 @@ var ts; function transformAndEmitThrowStatement(node) { var _a; // TODO(rbuckton): `expression` should be required on `throw`. - emitThrow(ts.visitNode((_a = node.expression) !== null && _a !== void 0 ? _a : factory.createVoidZero(), visitor, ts.isExpression), + emitThrow(ts.visitNode((_a = node.expression) !== null && _a !== void 0 ? _a : factory.createVoidZero(), visitor, ts.isExpression), /*location*/ node); } function transformAndEmitTryStatement(node) { @@ -105343,7 +106424,7 @@ var ts; * Creates an expression that can be used to resume from a Yield operation. */ function createGeneratorResume(location) { - return ts.setTextRange(factory.createCallExpression(factory.createPropertyAccessExpression(state, "sent"), + return ts.setTextRange(factory.createCallExpression(factory.createPropertyAccessExpression(state, "sent"), /*typeArguments*/ undefined, []), location); } /** @@ -105485,11 +106566,11 @@ var ts; withBlockStack = undefined; var buildResult = buildStatements(); return emitHelpers().createGeneratorHelper(ts.setEmitFlags(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], - /*type*/ undefined, factory.createBlock(buildResult, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, state)], + /*type*/ undefined, factory.createBlock(buildResult, /*multiLine*/ buildResult.length > 0)), 524288 /* EmitFlags.ReuseTempVariableScope */)); } /** @@ -105590,7 +106671,7 @@ var ts; // indicate entry into a protected region by pushing the label numbers // for each block in the protected region. var startLabel = currentExceptionBlock.startLabel, catchLabel = currentExceptionBlock.catchLabel, finallyLabel = currentExceptionBlock.finallyLabel, endLabel = currentExceptionBlock.endLabel; - statements.unshift(factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(state, "trys"), "push"), + statements.unshift(factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(state, "trys"), "push"), /*typeArguments*/ undefined, [ factory.createArrayLiteralExpression([ createLabel(startLabel), @@ -105885,12 +106966,12 @@ var ts; var previousOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(208 /* SyntaxKind.CallExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. - context.enableSubstitution(210 /* SyntaxKind.TaggedTemplateExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. + context.enableSubstitution(210 /* SyntaxKind.CallExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. + context.enableSubstitution(212 /* SyntaxKind.TaggedTemplateExpression */); // Substitute calls to imported/exported symbols to avoid incorrect `this`. context.enableSubstitution(79 /* SyntaxKind.Identifier */); // Substitutes expression identifiers with imported/exported symbols. - context.enableSubstitution(221 /* SyntaxKind.BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(297 /* SyntaxKind.ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. - context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(223 /* SyntaxKind.BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(300 /* SyntaxKind.ShorthandPropertyAssignment */); // Substitutes shorthand property assignments for imported/exported symbols. + context.enableEmitNotification(308 /* SyntaxKind.SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var currentSourceFile; // The current file. @@ -105988,7 +107069,7 @@ var ts; // // define(mofactory.updateSourceFile", "module2"], function ... var updated = factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ - factory.createExpressionStatement(factory.createCallExpression(define, + factory.createExpressionStatement(factory.createCallExpression(define, /*typeArguments*/ undefined, __spreadArray(__spreadArray([], (moduleName ? [moduleName] : []), true), [ // Add the dependency array argument: // @@ -106003,16 +107084,16 @@ var ts; jsonSourceFile ? jsonSourceFile.statements.length ? jsonSourceFile.statements[0].expression : factory.createObjectLiteralExpression() : factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, __spreadArray([ factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") - ], importAliasNames, true), + ], importAliasNames, true), /*type*/ undefined, transformAsynchronousModuleBody(node)) ], false))) - ]), + ]), /*location*/ node.statements)); ts.addEmitHelpers(updated, context.readEmitHelpers()); return updated; @@ -106026,17 +107107,17 @@ var ts; var _a = collectAsynchronousDependencies(node, /*includeNonAmdDependencies*/ false), aliasedModuleNames = _a.aliasedModuleNames, unaliasedModuleNames = _a.unaliasedModuleNames, importAliasNames = _a.importAliasNames; var moduleName = ts.tryGetModuleNameFromFile(factory, node, host, compilerOptions); var umdHeader = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], /*type*/ undefined, ts.setTextRange(factory.createBlock([ factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("module"), "object"), factory.createTypeCheck(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), "object")), factory.createBlock([ factory.createVariableStatement( /*modifiers*/ undefined, [ - factory.createVariableDeclaration("v", - /*exclamationToken*/ undefined, - /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("factory"), + factory.createVariableDeclaration("v", + /*exclamationToken*/ undefined, + /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("factory"), /*typeArguments*/ undefined, [ factory.createIdentifier("require"), factory.createIdentifier("exports") @@ -106044,7 +107125,7 @@ var ts; ]), ts.setEmitFlags(factory.createIfStatement(factory.createStrictInequality(factory.createIdentifier("v"), factory.createIdentifier("undefined")), factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), factory.createIdentifier("v")))), 1 /* EmitFlags.SingleLine */) ]), factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("define"), "function"), factory.createPropertyAccessExpression(factory.createIdentifier("define"), "amd")), factory.createBlock([ - factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("define"), + factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("define"), /*typeArguments*/ undefined, __spreadArray(__spreadArray([], (moduleName ? [moduleName] : []), true), [ factory.createArrayLiteralExpression(__spreadArray(__spreadArray([ factory.createStringLiteral("require"), @@ -106053,8 +107134,8 @@ var ts; factory.createIdentifier("factory") ], false))) ]))) - ], - /*multiLine*/ true), + ], + /*multiLine*/ true), /*location*/ undefined)); // Create an updated SourceFile: // @@ -106068,22 +107149,22 @@ var ts; // } // })(function ...) var updated = factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ - factory.createExpressionStatement(factory.createCallExpression(umdHeader, + factory.createExpressionStatement(factory.createCallExpression(umdHeader, /*typeArguments*/ undefined, [ // Add the module body function argument: // // function (require, exports) ... factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, __spreadArray([ factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") - ], importAliasNames, true), + ], importAliasNames, true), /*type*/ undefined, transformAsynchronousModuleBody(node)) ])) - ]), + ]), /*location*/ node.statements)); ts.addEmitHelpers(updated, context.readEmitHelpers()); return updated; @@ -106218,23 +107299,23 @@ var ts; */ function topLevelVisitor(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return visitImportDeclaration(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return visitExportDeclaration(node); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 352 /* SyntaxKind.MergeDeclarationMarker */: + case 355 /* SyntaxKind.MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 353 /* SyntaxKind.EndOfDeclarationMarker */: + case 356 /* SyntaxKind.EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return visitor(node); @@ -106247,26 +107328,26 @@ var ts; return node; } switch (node.kind) { - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatement(node); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, valueIsDiscarded); - case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: return visitPartiallyEmittedExpression(node, valueIsDiscarded); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (ts.isImportCall(node) && currentSourceFile.impliedNodeFormat === undefined) { return visitImportCallExpression(node); } break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (ts.isDestructuringAssignment(node)) { return visitDestructuringAssignment(node, valueIsDiscarded); } break; - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return visitPreOrPostfixUnaryExpression(node, valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); @@ -106282,24 +107363,24 @@ var ts; for (var _i = 0, _a = node.properties; _i < _a.length; _i++) { var elem = _a[_i]; switch (elem.kind) { - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: if (destructuringNeedsFlattening(elem.initializer)) { return true; } break; - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: if (destructuringNeedsFlattening(elem.name)) { return true; } break; - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: if (destructuringNeedsFlattening(elem.expression)) { return true; } break; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return false; default: ts.Debug.assertNever(elem, "Unhandled object member kind"); } @@ -106402,7 +107483,7 @@ var ts; return createImportCallExpressionUMD(argument !== null && argument !== void 0 ? argument : factory.createVoidZero(), containsLexicalThis); case ts.ModuleKind.CommonJS: default: - return createImportCallExpressionCommonJS(argument, containsLexicalThis); + return createImportCallExpressionCommonJS(argument); } } function createImportCallExpressionUMD(arg, containsLexicalThis) { @@ -106423,19 +107504,19 @@ var ts; if (ts.isSimpleCopiableExpression(arg)) { var argClone = ts.isGeneratedIdentifier(arg) ? arg : ts.isStringLiteral(arg) ? factory.createStringLiteralFromNode(arg) : ts.setEmitFlags(ts.setTextRange(factory.cloneNode(arg), arg), 1536 /* EmitFlags.NoComments */); return factory.createConditionalExpression( - /*condition*/ factory.createIdentifier("__syncRequire"), - /*questionToken*/ undefined, - /*whenTrue*/ createImportCallExpressionCommonJS(arg, containsLexicalThis), - /*colonToken*/ undefined, + /*condition*/ factory.createIdentifier("__syncRequire"), + /*questionToken*/ undefined, + /*whenTrue*/ createImportCallExpressionCommonJS(arg), + /*colonToken*/ undefined, /*whenFalse*/ createImportCallExpressionAMD(argClone, containsLexicalThis)); } else { var temp = factory.createTempVariable(hoistVariableDeclaration); return factory.createComma(factory.createAssignment(temp, arg), factory.createConditionalExpression( - /*condition*/ factory.createIdentifier("__syncRequire"), - /*questionToken*/ undefined, - /*whenTrue*/ createImportCallExpressionCommonJS(temp, containsLexicalThis), - /*colonToken*/ undefined, + /*condition*/ factory.createIdentifier("__syncRequire"), + /*questionToken*/ undefined, + /*whenTrue*/ createImportCallExpressionCommonJS(temp, /* isInlineable */ true), + /*colonToken*/ undefined, /*whenFalse*/ createImportCallExpressionAMD(temp, containsLexicalThis))); } } @@ -106453,23 +107534,23 @@ var ts; factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, /*name*/ reject) ]; var body = factory.createBlock([ - factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("require"), + factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, [factory.createArrayLiteralExpression([arg || factory.createOmittedExpression()]), resolve, reject])) ]); var func; if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { func = factory.createArrowFunction( - /*modifiers*/ undefined, - /*typeParameters*/ undefined, parameters, - /*type*/ undefined, + /*modifiers*/ undefined, + /*typeParameters*/ undefined, parameters, + /*type*/ undefined, /*equalsGreaterThanToken*/ undefined, body); } else { func = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, parameters, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); // if there is a lexical 'this' in the import call arguments, ensure we indicate // that this new function expression indicates it captures 'this' so that the @@ -106484,42 +107565,43 @@ var ts; } return promise; } - function createImportCallExpressionCommonJS(arg, containsLexicalThis) { - // import("./blah") + function createImportCallExpressionCommonJS(arg, isInlineable) { + // import(x) // emit as - // Promise.resolve().then(function () { return require(x); }) /*CommonJs Require*/ + // var _a; + // (_a = x, Promise.resolve().then(() => require(_a)) /*CommonJs Require*/ // We have to wrap require in then callback so that require is done in asynchronously // if we simply do require in resolve callback in Promise constructor. We will execute the loading immediately - var promiseResolveCall = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Promise"), "resolve"), /*typeArguments*/ undefined, /*argumentsArray*/ []); - var requireCall = factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, arg ? [arg] : []); + // If the arg is not inlineable, we have to evaluate it in the current scope with a temp var + var temp = arg && !ts.isSimpleInlineableExpression(arg) && !isInlineable ? factory.createTempVariable(hoistVariableDeclaration) : undefined; + var promiseResolveCall = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Promise"), "resolve"), + /*typeArguments*/ undefined, + /*argumentsArray*/ []); + var requireCall = factory.createCallExpression(factory.createIdentifier("require"), + /*typeArguments*/ undefined, temp ? [temp] : arg ? [arg] : []); if (ts.getESModuleInterop(compilerOptions)) { requireCall = emitHelpers().createImportStarHelper(requireCall); } var func; if (languageVersion >= 2 /* ScriptTarget.ES2015 */) { func = factory.createArrowFunction( - /*modifiers*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], - /*type*/ undefined, + /*modifiers*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], + /*type*/ undefined, /*equalsGreaterThanToken*/ undefined, requireCall); } else { func = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.createBlock([factory.createReturnStatement(requireCall)])); - // if there is a lexical 'this' in the import call arguments, ensure we indicate - // that this new function expression indicates it captures 'this' so that the - // es2015 transformer will properly substitute 'this' with '_this'. - if (containsLexicalThis) { - ts.setEmitFlags(func, 8 /* EmitFlags.CapturesThis */); - } } - return factory.createCallExpression(factory.createPropertyAccessExpression(promiseResolveCall, "then"), /*typeArguments*/ undefined, [func]); + var downleveledImport = factory.createCallExpression(factory.createPropertyAccessExpression(promiseResolveCall, "then"), /*typeArguments*/ undefined, [func]); + return temp === undefined ? downleveledImport : factory.createCommaListExpression([factory.createAssignment(temp, arg), downleveledImport]); } function getHelperExpressionForExport(node, innerExpr) { if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864 /* EmitFlags.NeverApplyImportHelper */) { @@ -106559,8 +107641,8 @@ var ts; var variables = []; if (namespaceDeclaration && !ts.isDefaultImport(node)) { // import * as n from "mod"; - variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), - /*exclamationToken*/ undefined, + variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), + /*exclamationToken*/ undefined, /*type*/ undefined, getHelperExpressionForImport(node, createRequireCall(node)))); } else { @@ -106568,18 +107650,18 @@ var ts; // import { x, y } from "mod"; // import d, { x, y } from "mod"; // import d, * as n from "mod"; - variables.push(factory.createVariableDeclaration(factory.getGeneratedNameForNode(node), - /*exclamationToken*/ undefined, + variables.push(factory.createVariableDeclaration(factory.getGeneratedNameForNode(node), + /*exclamationToken*/ undefined, /*type*/ undefined, getHelperExpressionForImport(node, createRequireCall(node)))); if (namespaceDeclaration && ts.isDefaultImport(node)) { - variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), - /*exclamationToken*/ undefined, + variables.push(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), + /*exclamationToken*/ undefined, /*type*/ undefined, factory.getGeneratedNameForNode(node))); } } statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( - /*modifiers*/ undefined, factory.createVariableDeclarationList(variables, languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), - /*location*/ node), + /*modifiers*/ undefined, factory.createVariableDeclarationList(variables, languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), + /*location*/ node), /*original*/ node)); } } @@ -106587,10 +107669,10 @@ var ts; // import d, * as n from "mod"; statements = ts.append(statements, factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - ts.setOriginalNode(ts.setTextRange(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), - /*exclamationToken*/ undefined, - /*type*/ undefined, factory.getGeneratedNameForNode(node)), - /*location*/ node), + ts.setOriginalNode(ts.setTextRange(factory.createVariableDeclaration(factory.cloneNode(namespaceDeclaration.name), + /*exclamationToken*/ undefined, + /*type*/ undefined, factory.getGeneratedNameForNode(node)), + /*location*/ node), /*original*/ node) ], languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */))); } @@ -106632,10 +107714,10 @@ var ts; else { statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.cloneNode(node.name), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.cloneNode(node.name), + /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) - ], + ], /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), node), node)); } } @@ -106672,11 +107754,11 @@ var ts; if (moduleKind !== ts.ModuleKind.AMD) { statements.push(ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(generatedName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(generatedName, + /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) - ])), - /*location*/ node), + ])), + /*location*/ node), /* original */ node)); } for (var _i = 0, _a = node.exportClause.elements; _i < _a.length; _i++) { @@ -106738,10 +107820,10 @@ var ts; function visitFunctionDeclaration(node) { var statements; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), - /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor), - /*type*/ undefined, ts.visitEachChild(node.body, visitor, context)), - /*location*/ node), + statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createFunctionDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifier), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor), + /*type*/ undefined, ts.visitEachChild(node.body, visitor, context)), + /*location*/ node), /*original*/ node)); } else { @@ -106765,7 +107847,7 @@ var ts; function visitClassDeclaration(node) { var statements; if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createClassDeclaration(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor), ts.visitNodes(node.members, visitor)), node), node)); } else { @@ -106804,7 +107886,7 @@ var ts; } else if (variable.initializer) { if (!ts.isBindingPattern(variable.name) && (ts.isArrowFunction(variable.initializer) || ts.isFunctionExpression(variable.initializer) || ts.isClassExpression(variable.initializer))) { - var expression = factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), variable.name), + var expression = factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), variable.name), /*location*/ variable.name), factory.createIdentifier(ts.getTextOfIdentifierOrLiteral(variable.name))); var updatedVariable = factory.createVariableDeclaration(variable.name, variable.exclamationToken, variable.type, ts.visitNode(variable.initializer, visitor)); variables = ts.append(variables, updatedVariable); @@ -106862,12 +107944,12 @@ var ts; */ function transformInitializedVariable(node) { if (ts.isBindingPattern(node.name)) { - return ts.flattenDestructuringAssignment(ts.visitNode(node, visitor), - /*visitor*/ undefined, context, 0 /* FlattenLevel.All */, + return ts.flattenDestructuringAssignment(ts.visitNode(node, visitor), + /*visitor*/ undefined, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createAllExportExpressions); } else { - return factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), node.name), + return factory.createAssignment(ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), node.name), /*location*/ node.name), node.initializer ? ts.visitNode(node.initializer, visitor) : factory.createVoidZero()); } } @@ -106885,7 +107967,7 @@ var ts; // // To balance the declaration, add the exports of the elided variable // statement. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* SyntaxKind.VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 240 /* SyntaxKind.VariableStatement */) { var id = ts.getOriginalNodeId(node); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original); } @@ -106940,10 +108022,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 269 /* SyntaxKind.NamedImports */: + case 272 /* SyntaxKind.NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding, /* liveBinding */ true); @@ -107027,7 +108109,7 @@ var ts; return statements; } if (ts.hasSyntacticModifier(decl, 1 /* ModifierFlags.Export */)) { - var exportName = ts.hasSyntacticModifier(decl, 512 /* ModifierFlags.Default */) ? factory.createIdentifier("default") : factory.getDeclarationName(decl); + var exportName = ts.hasSyntacticModifier(decl, 1024 /* ModifierFlags.Default */) ? factory.createIdentifier("default") : factory.getDeclarationName(decl); statements = appendExportStatement(statements, exportName, factory.getLocalName(decl), /*location*/ decl); } if (decl.name) { @@ -107076,7 +108158,7 @@ var ts; statement = factory.createExpressionStatement(createExportExpression(factory.createIdentifier("__esModule"), factory.createTrue())); } else { - statement = factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + statement = factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ factory.createIdentifier("exports"), factory.createStringLiteral("__esModule"), @@ -107112,18 +108194,18 @@ var ts; * @param location The location to use for source maps and comments for the export. */ function createExportExpression(name, value, location, liveBinding) { - return ts.setTextRange(liveBinding && languageVersion !== 0 /* ScriptTarget.ES3 */ ? factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), + return ts.setTextRange(liveBinding && languageVersion !== 0 /* ScriptTarget.ES3 */ ? factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "defineProperty"), /*typeArguments*/ undefined, [ factory.createIdentifier("exports"), factory.createStringLiteralFromNode(name), factory.createObjectLiteralExpression([ factory.createPropertyAssignment("enumerable", factory.createTrue()), factory.createPropertyAssignment("get", factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.createBlock([factory.createReturnStatement(value)]))) ]) ]) : factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(name)), value), location); @@ -107156,7 +108238,7 @@ var ts; * @param emit A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { currentSourceFile = node; currentModuleInfo = moduleInfoMap[ts.getOriginalNodeId(currentSourceFile)]; previousOnEmitNode(hint, node, emitCallback); @@ -107218,11 +108300,11 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return substituteCallExpression(node); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return substituteTaggedTemplateExpression(node); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return substituteBinaryExpression(node); } return node; @@ -107232,7 +108314,7 @@ var ts; var expression = substituteExpressionIdentifier(node.expression); noSubstitution[ts.getNodeId(expression)] = true; if (!ts.isIdentifier(expression) && !(ts.getEmitFlags(node.expression) & 4096 /* EmitFlags.HelperName */)) { - return ts.addEmitFlags(factory.updateCallExpression(node, expression, + return ts.addEmitFlags(factory.updateCallExpression(node, expression, /*typeArguments*/ undefined, node.arguments), 536870912 /* EmitFlags.IndirectCall */); } } @@ -107243,7 +108325,7 @@ var ts; var tag = substituteExpressionIdentifier(node.tag); noSubstitution[ts.getNodeId(tag)] = true; if (!ts.isIdentifier(tag) && !(ts.getEmitFlags(node.tag) & 4096 /* EmitFlags.HelperName */)) { - return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag, + return ts.addEmitFlags(factory.updateTaggedTemplateExpression(node, tag, /*typeArguments*/ undefined, node.template), 536870912 /* EmitFlags.IndirectCall */); } } @@ -107266,19 +108348,19 @@ var ts; } else if (!(ts.isGeneratedIdentifier(node) && !(node.autoGenerateFlags & 64 /* GeneratedIdentifierFlags.AllowNameSubstitution */)) && !ts.isLocalName(node)) { var exportContainer = resolver.getReferencedExportContainer(node, ts.isExportName(node)); - if (exportContainer && exportContainer.kind === 305 /* SyntaxKind.SourceFile */) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(node)), + if (exportContainer && exportContainer.kind === 308 /* SyntaxKind.SourceFile */) { + return ts.setTextRange(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.cloneNode(node)), /*location*/ node); } var importDeclaration = resolver.getReferencedImportDeclaration(node); if (importDeclaration) { if (ts.isImportClause(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), /*location*/ node); } else if (ts.isImportSpecifier(importDeclaration)) { var name = importDeclaration.propertyName || importDeclaration.name; - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(name)), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(name)), /*location*/ node); } } @@ -107356,10 +108438,10 @@ var ts; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; context.enableSubstitution(79 /* SyntaxKind.Identifier */); // Substitutes expression identifiers for imported symbols. - context.enableSubstitution(297 /* SyntaxKind.ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols - context.enableSubstitution(221 /* SyntaxKind.BinaryExpression */); // Substitutes assignments to exported symbols. - context.enableSubstitution(231 /* SyntaxKind.MetaProperty */); // Substitutes 'import.meta' - context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); // Restore state when substituting nodes in a file. + context.enableSubstitution(300 /* SyntaxKind.ShorthandPropertyAssignment */); // Substitutes expression identifiers for imported symbols + context.enableSubstitution(223 /* SyntaxKind.BinaryExpression */); // Substitutes assignments to exported symbols. + context.enableSubstitution(233 /* SyntaxKind.MetaProperty */); // Substitutes 'import.meta' + context.enableEmitNotification(308 /* SyntaxKind.SourceFile */); // Restore state when substituting nodes in a file. var moduleInfoMap = []; // The ExternalModuleInfo for each file. var deferredExports = []; // Exports to defer until an EndOfDeclarationMarker is found. var exportFunctionsMap = []; // The export function associated with a source file. @@ -107408,13 +108490,13 @@ var ts; var dependencyGroups = collectDependencyGroups(moduleInfo.externalImports); var moduleBodyBlock = createSystemModuleBody(node, dependencyGroups); var moduleBodyFunction = factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, /*typeParameters*/ undefined, [ factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, exportFunction), factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, contextObject) - ], + ], /*type*/ undefined, moduleBodyBlock); // Write the call to `System.register` // Clear the emit-helpers flag for later passes since we'll have already used it in the module body @@ -107422,7 +108504,7 @@ var ts; var moduleName = ts.tryGetModuleNameFromFile(factory, node, host, compilerOptions); var dependencies = factory.createArrayLiteralExpression(ts.map(dependencyGroups, function (dependencyGroup) { return dependencyGroup.name; })); var updated = ts.setEmitFlags(factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ - factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("System"), "register"), + factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("System"), "register"), /*typeArguments*/ undefined, moduleName ? [moduleName, dependencies, moduleBodyFunction] : [dependencies, moduleBodyFunction])) @@ -107529,8 +108611,8 @@ var ts; // var __moduleName = context_1 && context_1.id; statements.push(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration("__moduleName", - /*exclamationToken*/ undefined, + factory.createVariableDeclaration("__moduleName", + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createLogicalAnd(contextObject, factory.createPropertyAccessExpression(contextObject, "id"))) ]))); // Visit the synthetic external helpers import declaration if present @@ -107549,15 +108631,15 @@ var ts; ts.insertStatementsAfterStandardPrologue(statements, endLexicalEnvironment()); var exportStarFunction = addExportStarIfNeeded(statements); // TODO: GH#18217 var modifiers = node.transformFlags & 2097152 /* TransformFlags.ContainsAwait */ ? - factory.createModifiersFromModifierFlags(256 /* ModifierFlags.Async */) : + factory.createModifiersFromModifierFlags(512 /* ModifierFlags.Async */) : undefined; var moduleObject = factory.createObjectLiteralExpression([ factory.createPropertyAssignment("setters", createSettersArray(exportStarFunction, dependencyGroups)), - factory.createPropertyAssignment("execute", factory.createFunctionExpression(modifiers, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, - /*parameters*/ [], + factory.createPropertyAssignment("execute", factory.createFunctionExpression(modifiers, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, + /*parameters*/ [], /*type*/ undefined, factory.createBlock(executeStatements, /*multiLine*/ true))) ], /*multiLine*/ true); statements.push(factory.createReturnStatement(moduleObject)); @@ -107583,7 +108665,7 @@ var ts; var hasExportDeclarationWithExportClause = false; for (var _i = 0, _a = moduleInfo.externalImports; _i < _a.length; _i++) { var externalImport = _a[_i]; - if (externalImport.kind === 272 /* SyntaxKind.ExportDeclaration */ && externalImport.exportClause) { + if (externalImport.kind === 275 /* SyntaxKind.ExportDeclaration */ && externalImport.exportClause) { hasExportDeclarationWithExportClause = true; break; } @@ -107609,8 +108691,8 @@ var ts; var exportedNamesStorageRef = factory.createUniqueName("exportedNames"); statements.push(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(exportedNamesStorageRef, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(exportedNamesStorageRef, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createObjectLiteralExpression(exportedNames, /*multiline*/ true)) ]))); var exportStarFunction = createExportStarFunction(exportedNamesStorageRef); @@ -107631,18 +108713,18 @@ var ts; var exports = factory.createIdentifier("exports"); var condition = factory.createStrictInequality(n, factory.createStringLiteral("default")); if (localNames) { - condition = factory.createLogicalAnd(condition, factory.createLogicalNot(factory.createCallExpression(factory.createPropertyAccessExpression(localNames, "hasOwnProperty"), + condition = factory.createLogicalAnd(condition, factory.createLogicalNot(factory.createCallExpression(factory.createPropertyAccessExpression(localNames, "hasOwnProperty"), /*typeArguments*/ undefined, [n]))); } return factory.createFunctionDeclaration( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, exportStarFunction, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, m)], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, exportStarFunction, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, m)], /*type*/ undefined, factory.createBlock([ factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(exports, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(exports, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createObjectLiteralExpression([])) ])), factory.createForInStatement(factory.createVariableDeclarationList([ @@ -107650,7 +108732,7 @@ var ts; ]), m, factory.createBlock([ ts.setEmitFlags(factory.createIfStatement(condition, factory.createExpressionStatement(factory.createAssignment(factory.createElementAccessExpression(exports, n), factory.createElementAccessExpression(m, n)))), 1 /* EmitFlags.SingleLine */) ])), - factory.createExpressionStatement(factory.createCallExpression(exportFunction, + factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [exports])) ], /*multiline*/ true)); } @@ -107672,19 +108754,26 @@ var ts; var entry = _b[_a]; var importVariableName = ts.getLocalNameForExternalImport(factory, entry, currentSourceFile); // TODO: GH#18217 switch (entry.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: if (!entry.importClause) { // 'import "..."' case // module is imported only for side-effects, no emit required break; } // falls through - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: ts.Debug.assert(importVariableName !== undefined); // save import into the local statements.push(factory.createExpressionStatement(factory.createAssignment(importVariableName, parameterName))); + if (ts.hasSyntacticModifier(entry, 1 /* ModifierFlags.Export */)) { + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, + /*typeArguments*/ undefined, [ + factory.createStringLiteral(ts.idText(importVariableName)), + parameterName, + ]))); + } break; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: ts.Debug.assert(importVariableName !== undefined); if (entry.exportClause) { if (ts.isNamedExports(entry.exportClause)) { @@ -107701,11 +108790,11 @@ var ts; var e = _d[_c]; properties.push(factory.createPropertyAssignment(factory.createStringLiteral(ts.idText(e.name)), factory.createElementAccessExpression(parameterName, factory.createStringLiteral(ts.idText(e.propertyName || e.name))))); } - statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [factory.createObjectLiteralExpression(properties, /*multiline*/ true)]))); } else { - statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportFunction, /*typeArguments*/ undefined, [ factory.createStringLiteral(ts.idText(entry.exportClause.name)), parameterName @@ -107718,17 +108807,17 @@ var ts; // emit as: // // exportStar(foo_1_1); - statements.push(factory.createExpressionStatement(factory.createCallExpression(exportStarFunction, + statements.push(factory.createExpressionStatement(factory.createCallExpression(exportStarFunction, /*typeArguments*/ undefined, [parameterName]))); } break; } } setters.push(factory.createFunctionExpression( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, - /*name*/ undefined, - /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, + /*name*/ undefined, + /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, parameterName)], /*type*/ undefined, factory.createBlock(statements, /*multiLine*/ true))); } return factory.createArrayLiteralExpression(setters, /*multiLine*/ true); @@ -107743,13 +108832,13 @@ var ts; */ function topLevelVisitor(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return visitImportDeclaration(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return visitImportEqualsDeclaration(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return visitExportDeclaration(node); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); default: return topLevelNestedVisitor(node); @@ -107826,8 +108915,8 @@ var ts; */ function visitFunctionDeclaration(node) { if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { - hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), - /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), + hoistedStatements = ts.append(hoistedStatements, factory.updateFunctionDeclaration(node, ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.asteriskToken, factory.getDeclarationName(node, /*allowComments*/ true, /*allowSourceMaps*/ true), + /*typeParameters*/ undefined, ts.visitNodes(node.parameters, visitor, ts.isParameterDeclaration), /*type*/ undefined, ts.visitNode(node.body, visitor, ts.isBlock))); } else { @@ -107854,7 +108943,7 @@ var ts; var name = factory.getLocalName(node); hoistVariableDeclaration(name); // Rewrite the class declaration into an assignment of a class expression. - statements = ts.append(statements, ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(name, ts.setTextRange(factory.createClassExpression(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.name, + statements = ts.append(statements, ts.setTextRange(factory.createExpressionStatement(factory.createAssignment(name, ts.setTextRange(factory.createClassExpression(ts.visitNodes(node.modifiers, modifierVisitor, ts.isModifierLike), node.name, /*typeParameters*/ undefined, ts.visitNodes(node.heritageClauses, visitor, ts.isHeritageClause), ts.visitNodes(node.members, visitor, ts.isClassElement)), node))), node)); if (hasAssociatedEndOfDeclarationMarker(node)) { // Defer exports until we encounter an EndOfDeclarationMarker node @@ -107928,7 +109017,7 @@ var ts; function shouldHoistVariableDeclarationList(node) { // hoist only non-block scoped declarations or block scoped declarations parented by source file return (ts.getEmitFlags(node) & 2097152 /* EmitFlags.NoHoisting */) === 0 - && (enclosingBlockScopedContainer.kind === 305 /* SyntaxKind.SourceFile */ + && (enclosingBlockScopedContainer.kind === 308 /* SyntaxKind.SourceFile */ || (ts.getOriginalNode(node).flags & 3 /* NodeFlags.BlockScoped */) === 0); } /** @@ -107940,7 +109029,7 @@ var ts; function transformInitializedVariable(node, isExportedDeclaration) { var createAssignment = isExportedDeclaration ? createExportedVariableAssignment : createNonExportedVariableAssignment; return ts.isBindingPattern(node.name) - ? ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, + ? ts.flattenDestructuringAssignment(node, visitor, context, 0 /* FlattenLevel.All */, /*needsValue*/ false, createAssignment) : node.initializer ? createAssignment(node.name, ts.visitNode(node.initializer, visitor, ts.isExpression)) : node.name; } @@ -107992,7 +109081,7 @@ var ts; // // To balance the declaration, we defer the exports of the elided variable // statement until we visit this declaration's `EndOfDeclarationMarker`. - if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 237 /* SyntaxKind.VariableStatement */) { + if (hasAssociatedEndOfDeclarationMarker(node) && node.original.kind === 240 /* SyntaxKind.VariableStatement */) { var id = ts.getOriginalNodeId(node); var isExportedDeclaration = ts.hasSyntacticModifier(node.original, 1 /* ModifierFlags.Export */); deferredExports[id] = appendExportsOfVariableStatement(deferredExports[id], node.original, isExportedDeclaration); @@ -108054,10 +109143,10 @@ var ts; var namedBindings = importClause.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: statements = appendExportsOfDeclaration(statements, namedBindings); break; - case 269 /* SyntaxKind.NamedImports */: + case 272 /* SyntaxKind.NamedImports */: for (var _i = 0, _a = namedBindings.elements; _i < _a.length; _i++) { var importBinding = _a[_i]; statements = appendExportsOfDeclaration(statements, importBinding); @@ -108152,7 +109241,7 @@ var ts; } var excludeName; if (ts.hasSyntacticModifier(decl, 1 /* ModifierFlags.Export */)) { - var exportName = ts.hasSyntacticModifier(decl, 512 /* ModifierFlags.Default */) ? factory.createStringLiteral("default") : decl.name; + var exportName = ts.hasSyntacticModifier(decl, 1024 /* ModifierFlags.Default */) ? factory.createStringLiteral("default") : decl.name; statements = appendExportStatement(statements, exportName, factory.getLocalName(decl)); excludeName = ts.getTextOfIdentifierOrLiteral(exportName); } @@ -108237,43 +109326,43 @@ var ts; */ function topLevelNestedVisitor(node) { switch (node.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return visitVariableStatement(node); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return visitFunctionDeclaration(node); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return visitClassDeclaration(node); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatement(node, /*isTopLevel*/ true); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return visitForInStatement(node); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return visitForOfStatement(node); - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: return visitDoStatement(node); - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: return visitWhileStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return visitLabeledStatement(node); - case 248 /* SyntaxKind.WithStatement */: + case 251 /* SyntaxKind.WithStatement */: return visitWithStatement(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return visitSwitchStatement(node); - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: return visitCaseBlock(node); - case 289 /* SyntaxKind.CaseClause */: + case 292 /* SyntaxKind.CaseClause */: return visitCaseClause(node); - case 290 /* SyntaxKind.DefaultClause */: + case 293 /* SyntaxKind.DefaultClause */: return visitDefaultClause(node); - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: return visitTryStatement(node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return visitCatchClause(node); - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: return visitBlock(node); - case 352 /* SyntaxKind.MergeDeclarationMarker */: + case 355 /* SyntaxKind.MergeDeclarationMarker */: return visitMergeDeclarationMarker(node); - case 353 /* SyntaxKind.EndOfDeclarationMarker */: + case 356 /* SyntaxKind.EndOfDeclarationMarker */: return visitEndOfDeclarationMarker(node); default: return visitor(node); @@ -108459,26 +109548,26 @@ var ts; return node; } switch (node.kind) { - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return visitForStatement(node, /*isTopLevel*/ false); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return visitExpressionStatement(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return visitParenthesizedExpression(node, valueIsDiscarded); - case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: return visitPartiallyEmittedExpression(node, valueIsDiscarded); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (ts.isDestructuringAssignment(node)) { return visitDestructuringAssignment(node, valueIsDiscarded); } break; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (ts.isImportCall(node)) { return visitImportCallExpression(node); } break; - case 219 /* SyntaxKind.PrefixUnaryExpression */: - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return visitPrefixOrPostfixUnaryExpression(node, valueIsDiscarded); } return ts.visitEachChild(node, visitor, context); @@ -108518,7 +109607,7 @@ var ts; var firstArgument = ts.visitNode(ts.firstOrUndefined(node.arguments), visitor); // Only use the external module name if it differs from the first argument. This allows us to preserve the quote style of the argument on output. var argument = externalModuleName && (!firstArgument || !ts.isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument; - return factory.createCallExpression(factory.createPropertyAccessExpression(contextObject, factory.createIdentifier("import")), + return factory.createCallExpression(factory.createPropertyAccessExpression(contextObject, factory.createIdentifier("import")), /*typeArguments*/ undefined, argument ? [argument] : []); } /** @@ -108558,7 +109647,7 @@ var ts; } else if (ts.isIdentifier(node)) { var container = resolver.getReferencedExportContainer(node); - return container !== undefined && container.kind === 305 /* SyntaxKind.SourceFile */; + return container !== undefined && container.kind === 308 /* SyntaxKind.SourceFile */; } else { return false; @@ -108636,7 +109725,7 @@ var ts; * @param emitCallback A callback used to emit the node in the printer. */ function onEmitNode(hint, node, emitCallback) { - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { var id = ts.getOriginalNodeId(node); currentSourceFile = node; moduleInfo = moduleInfoMap[id]; @@ -108686,7 +109775,7 @@ var ts; */ function substituteUnspecified(node) { switch (node.kind) { - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return substituteShorthandPropertyAssignment(node); } return node; @@ -108703,11 +109792,11 @@ var ts; var importDeclaration = resolver.getReferencedImportDeclaration(name); if (importDeclaration) { if (ts.isImportClause(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default"))), + return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default"))), /*location*/ node); } else if (ts.isImportSpecifier(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name))), + return ts.setTextRange(factory.createPropertyAssignment(factory.cloneNode(name), factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name))), /*location*/ node); } } @@ -108723,9 +109812,9 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return substituteExpressionIdentifier(node); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return substituteBinaryExpression(node); - case 231 /* SyntaxKind.MetaProperty */: + case 233 /* SyntaxKind.MetaProperty */: return substituteMetaProperty(node); } return node; @@ -108754,11 +109843,11 @@ var ts; var importDeclaration = resolver.getReferencedImportDeclaration(node); if (importDeclaration) { if (ts.isImportClause(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(importDeclaration.parent), factory.createIdentifier("default")), /*location*/ node); } else if (ts.isImportSpecifier(importDeclaration)) { - return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name)), + return ts.setTextRange(factory.createPropertyAccessExpression(factory.getGeneratedNameForNode(((_b = (_a = importDeclaration.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.parent) || importDeclaration), factory.cloneNode(importDeclaration.propertyName || importDeclaration.name)), /*location*/ node); } } @@ -108815,7 +109904,7 @@ var ts; || resolver.getReferencedValueDeclaration(name); if (valueDeclaration) { var exportContainer = resolver.getReferencedExportContainer(name, /*prefixLocals*/ false); - if (exportContainer && exportContainer.kind === 305 /* SyntaxKind.SourceFile */) { + if (exportContainer && exportContainer.kind === 308 /* SyntaxKind.SourceFile */) { exportedNames = ts.append(exportedNames, factory.getDeclarationName(valueDeclaration)); } exportedNames = ts.addRange(exportedNames, moduleInfo && moduleInfo.exportedBindings[ts.getOriginalNodeId(valueDeclaration)]); @@ -108858,7 +109947,7 @@ var ts; var previousOnSubstituteNode = context.onSubstituteNode; context.onEmitNode = onEmitNode; context.onSubstituteNode = onSubstituteNode; - context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); + context.enableEmitNotification(308 /* SyntaxKind.SourceFile */); context.enableSubstitution(79 /* SyntaxKind.Identifier */); var helperNameSubstitutions; var currentSourceFile; @@ -108898,14 +109987,14 @@ var ts; } function visitor(node) { switch (node.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: // Though an error in es2020 modules, in node-flavor es2020 modules, we can helpfully transform this to a synthetic `require` call // To give easy access to a synchronous `require` in node-flavor esm. We do the transform even in scenarios where we error, but `import.meta.url` // is available, just because the output is reasonable for a node-like runtime. return ts.getEmitModuleKind(compilerOptions) >= ts.ModuleKind.Node16 ? visitImportEqualsDeclaration(node) : undefined; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return visitExportAssignment(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: var exportDecl = node; return visitExportDeclaration(exportDecl); } @@ -108926,19 +110015,19 @@ var ts; var createRequireName = factory.createUniqueName("_createRequire", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var importStatement = factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause( - /*isTypeOnly*/ false, + /*isTypeOnly*/ false, /*name*/ undefined, factory.createNamedImports([ factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier("createRequire"), createRequireName) ])), factory.createStringLiteral("module")); var requireHelperName = factory.createUniqueName("__require", 16 /* GeneratedIdentifierFlags.Optimistic */ | 32 /* GeneratedIdentifierFlags.FileLevel */); var requireStatement = factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(requireHelperName, - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(requireHelperName, + /*exclamationToken*/ undefined, /*type*/ undefined, factory.createCallExpression(factory.cloneNode(createRequireName), /*typeArguments*/ undefined, [ factory.createPropertyAccessExpression(factory.createMetaProperty(100 /* SyntaxKind.ImportKeyword */, factory.createIdentifier("meta")), factory.createIdentifier("url")) ])) - ], + ], /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)); importRequireStatements = [importStatement, requireStatement]; } @@ -108956,10 +110045,10 @@ var ts; var statements; statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement( /*modifiers*/ undefined, factory.createVariableDeclarationList([ - factory.createVariableDeclaration(factory.cloneNode(node.name), - /*exclamationToken*/ undefined, + factory.createVariableDeclaration(factory.cloneNode(node.name), + /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(node)) - ], + ], /*flags*/ languageVersion >= 2 /* ScriptTarget.ES2015 */ ? 2 /* NodeFlags.Const */ : 0 /* NodeFlags.None */)), node), node)); statements = appendExportsOfImportEqualsDeclaration(statements, node); return ts.singleOrMany(statements); @@ -108988,11 +110077,11 @@ var ts; var synthName = factory.getGeneratedNameForNode(oldIdentifier); var importDecl = factory.createImportDeclaration( /*modifiers*/ undefined, factory.createImportClause( - /*isTypeOnly*/ false, + /*isTypeOnly*/ false, /*name*/ undefined, factory.createNamespaceImport(synthName)), node.moduleSpecifier, node.assertClause); ts.setOriginalNode(importDecl, node.exportClause); var exportDecl = ts.isExportNamespaceAsDefaultDeclaration(node) ? factory.createExportDefault(synthName) : factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports([factory.createExportSpecifier(/*isTypeOnly*/ false, synthName, oldIdentifier)])); ts.setOriginalNode(exportDecl, node); return [importDecl, exportDecl]; @@ -109062,8 +110151,8 @@ var ts; var cjsOnEmitNode = context.onEmitNode; context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; - context.enableSubstitution(305 /* SyntaxKind.SourceFile */); - context.enableEmitNotification(305 /* SyntaxKind.SourceFile */); + context.enableSubstitution(308 /* SyntaxKind.SourceFile */); + context.enableEmitNotification(308 /* SyntaxKind.SourceFile */); var currentSourceFile; return transformSourceFileOrBundle; function onSubstituteNode(hint, node) { @@ -109110,7 +110199,7 @@ var ts; return result; } function transformSourceFileOrBundle(node) { - return node.kind === 305 /* SyntaxKind.SourceFile */ ? transformSourceFile(node) : transformBundle(node); + return node.kind === 308 /* SyntaxKind.SourceFile */ ? transformSourceFile(node) : transformBundle(node); } function transformBundle(node) { return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends); @@ -109170,7 +110259,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { + else if (node.parent.kind === 260 /* SyntaxKind.ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -109199,7 +110288,7 @@ var ts; ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { + else if (node.parent.kind === 260 /* SyntaxKind.ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -109246,7 +110335,7 @@ var ts; return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.Debug.formatSyntaxKind(node.kind))); } function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { - if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { + if (node.kind === 257 /* SyntaxKind.VariableDeclaration */ || node.kind === 205 /* SyntaxKind.BindingElement */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -109255,8 +110344,8 @@ var ts; } // This check is to ensure we don't report error on constructor parameter property as that error would be reported during parameter emit // The only exception here is if the constructor was marked as private. we are not emitting the constructor parameters at all. - else if (node.kind === 167 /* SyntaxKind.PropertyDeclaration */ || node.kind === 206 /* SyntaxKind.PropertyAccessExpression */ || node.kind === 166 /* SyntaxKind.PropertySignature */ || - (node.kind === 164 /* SyntaxKind.Parameter */ && ts.hasSyntacticModifier(node.parent, 8 /* ModifierFlags.Private */))) { + else if (node.kind === 169 /* SyntaxKind.PropertyDeclaration */ || node.kind === 208 /* SyntaxKind.PropertyAccessExpression */ || node.kind === 168 /* SyntaxKind.PropertySignature */ || + (node.kind === 166 /* SyntaxKind.Parameter */ && ts.hasSyntacticModifier(node.parent, 8 /* ModifierFlags.Private */))) { // TODO(jfreeman): Deal with computed properties in error reporting. if (ts.isStatic(node)) { return symbolAccessibilityResult.errorModuleName ? @@ -109265,7 +110354,7 @@ var ts; ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 164 /* SyntaxKind.Parameter */) { + else if (node.parent.kind === 260 /* SyntaxKind.ClassDeclaration */ || node.kind === 166 /* SyntaxKind.Parameter */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -109290,7 +110379,7 @@ var ts; } function getAccessorDeclarationTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; - if (node.kind === 173 /* SyntaxKind.SetAccessor */) { + if (node.kind === 175 /* SyntaxKind.SetAccessor */) { // Getters can infer the return type from the returned expression, but setters cannot, so the // "_from_external_module_1_but_cannot_be_named" case cannot occur. if (ts.isStatic(node)) { @@ -109329,26 +110418,26 @@ var ts; function getReturnTypeVisibilityError(symbolAccessibilityResult) { var diagnosticMessage; switch (node.kind) { - case 175 /* SyntaxKind.ConstructSignature */: + case 177 /* SyntaxKind.ConstructSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.CallSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: // Interfaces cannot have return types that cannot be named diagnosticMessage = symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: if (ts.isStatic(node)) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? @@ -109356,7 +110445,7 @@ var ts; ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { + else if (node.parent.kind === 260 /* SyntaxKind.ClassDeclaration */) { diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -109370,7 +110459,7 @@ var ts; ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: diagnosticMessage = symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : @@ -109395,30 +110484,30 @@ var ts; } function getParameterDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) { switch (node.parent.kind) { - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; - case 175 /* SyntaxKind.ConstructSignature */: - case 180 /* SyntaxKind.ConstructorType */: + case 177 /* SyntaxKind.ConstructSignature */: + case 182 /* SyntaxKind.ConstructorType */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; - case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.CallSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: // Interfaces cannot have parameter types that cannot be named return symbolAccessibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1; - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: if (ts.isStatic(node.parent)) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? @@ -109426,7 +110515,7 @@ var ts; ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { + else if (node.parent.parent.kind === 260 /* SyntaxKind.ClassDeclaration */) { return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -109439,15 +110528,15 @@ var ts; ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } - case 256 /* SyntaxKind.FunctionDeclaration */: - case 179 /* SyntaxKind.FunctionType */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 181 /* SyntaxKind.FunctionType */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; - case 173 /* SyntaxKind.SetAccessor */: - case 172 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* SymbolAccessibility.CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : @@ -109461,39 +110550,39 @@ var ts; // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage; switch (node.parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 195 /* SyntaxKind.MappedType */: + case 197 /* SyntaxKind.MappedType */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1; break; - case 180 /* SyntaxKind.ConstructorType */: - case 175 /* SyntaxKind.ConstructSignature */: + case 182 /* SyntaxKind.ConstructorType */: + case 177 /* SyntaxKind.ConstructSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.CallSignature */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: if (ts.isStatic(node.parent)) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 257 /* SyntaxKind.ClassDeclaration */) { + else if (node.parent.parent.kind === 260 /* SyntaxKind.ClassDeclaration */) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 179 /* SyntaxKind.FunctionType */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 181 /* SyntaxKind.FunctionType */: + case 259 /* SyntaxKind.FunctionDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1; break; default: @@ -109559,7 +110648,7 @@ var ts; } function isInternalDeclaration(node, currentSourceFile) { var parseTreeNode = ts.getParseTreeNode(node); - if (parseTreeNode && parseTreeNode.kind === 164 /* SyntaxKind.Parameter */) { + if (parseTreeNode && parseTreeNode.kind === 166 /* SyntaxKind.Parameter */) { var paramIdx = parseTreeNode.parent.parameters.indexOf(parseTreeNode); var previousSibling = paramIdx > 0 ? parseTreeNode.parent.parameters[paramIdx - 1] : undefined; var text = currentSourceFile.text; @@ -109735,7 +110824,7 @@ var ts; var _a; var primaryDeclaration = (_a = parentSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return ts.getSourceFileOfNode(d) === containingFile; }); var augmentingDeclarations = ts.filter(symbol.declarations, function (d) { return ts.getSourceFileOfNode(d) !== containingFile; }); - if (augmentingDeclarations) { + if (primaryDeclaration && augmentingDeclarations) { for (var _i = 0, augmentingDeclarations_1 = augmentingDeclarations; _i < augmentingDeclarations_1.length; _i++) { var augmentations = augmentingDeclarations_1[_i]; context.addDiagnostic(ts.addRelatedInfo(ts.createDiagnosticForNode(augmentations, ts.Diagnostics.Declaration_augments_declaration_in_another_file_This_cannot_be_serialized), ts.createDiagnosticForNode(primaryDeclaration, ts.Diagnostics.This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file))); @@ -109765,10 +110854,10 @@ var ts; return result; } function transformRoot(node) { - if (node.kind === 305 /* SyntaxKind.SourceFile */ && node.isDeclarationFile) { + if (node.kind === 308 /* SyntaxKind.SourceFile */ && node.isDeclarationFile) { return node; } - if (node.kind === 306 /* SyntaxKind.Bundle */) { + if (node.kind === 309 /* SyntaxKind.Bundle */) { isBundledEmit = true; refs = new ts.Map(); libs = new ts.Map(); @@ -109791,14 +110880,14 @@ var ts; resultHasExternalModuleIndicator = false; // unused in external module bundle emit (all external modules are within module blocks, therefore are known to be modules) needsDeclare = false; var statements = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile, /*bundled*/ true)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements); - var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); + var newFile = factory.updateSourceFile(sourceFile, [factory.createModuleDeclaration([factory.createModifier(136 /* SyntaxKind.DeclareKeyword */)], factory.createStringLiteral(ts.getResolvedExternalModuleName(context.getEmitHost(), sourceFile)), factory.createModuleBlock(ts.setTextRange(factory.createNodeArray(transformAndReplaceLatePaintedStatements(statements)), sourceFile.statements)))], /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); return newFile; } needsDeclare = true; var updated = ts.isSourceFileJS(sourceFile) ? factory.createNodeArray(transformDeclarationsForJS(sourceFile)) : ts.visitNodes(sourceFile.statements, visitDeclarationStatements); return factory.updateSourceFile(sourceFile, transformAndReplaceLatePaintedStatements(updated), /*isDeclarationFile*/ true, /*referencedFiles*/ [], /*typeReferences*/ [], /*hasNoDefaultLib*/ false, /*libReferences*/ []); }), ts.mapDefined(node.prepends, function (prepend) { - if (prepend.kind === 308 /* SyntaxKind.InputFiles */) { + if (prepend.kind === 311 /* SyntaxKind.InputFiles */) { var sourceFile = ts.createUnparsedSourceFile(prepend, "dts", stripInternal); hasNoDefaultLib_1 = hasNoDefaultLib_1 || !!sourceFile.hasNoDefaultLib; collectReferences(sourceFile, refs); @@ -109899,7 +110988,7 @@ var ts; recordTypeReferenceDirectivesIfNecessary([[specifier, /*mode*/ undefined]]); return; } - var fileName = ts.getRelativePathToDirectoryOrUrl(outputFilePath, declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, + var fileName = ts.getRelativePathToDirectoryOrUrl(outputFilePath, declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ false); if (ts.startsWith(fileName, "./") && ts.hasExtension(fileName)) { fileName = fileName.substring(2); @@ -109939,7 +111028,7 @@ var ts; return name; } else { - if (name.kind === 202 /* SyntaxKind.ArrayBindingPattern */) { + if (name.kind === 204 /* SyntaxKind.ArrayBindingPattern */) { return factory.updateArrayBindingPattern(name, ts.visitNodes(name.elements, visitBindingElement)); } else { @@ -109947,12 +111036,12 @@ var ts; } } function visitBindingElement(elem) { - if (elem.kind === 227 /* SyntaxKind.OmittedExpression */) { + if (elem.kind === 229 /* SyntaxKind.OmittedExpression */) { return elem; } if (elem.propertyName && ts.isIdentifier(elem.propertyName) && ts.isIdentifier(elem.name) && !elem.symbol.isReferenced) { // Unnecessary property renaming is forbidden in types, so remove renaming - return factory.updateBindingElement(elem, elem.dotDotDotToken, + return factory.updateBindingElement(elem, elem.dotDotDotToken, /* propertyName */ undefined, elem.propertyName, shouldPrintWithInitializer(elem) ? elem.initializer : undefined); } return factory.updateBindingElement(elem, elem.dotDotDotToken, elem.propertyName, filterBindingPatternInitializersAndRenamings(elem.name), shouldPrintWithInitializer(elem) ? elem.initializer : undefined); @@ -109989,19 +111078,19 @@ var ts; // Literal const declarations will have an initializer ensured rather than a type return; } - var shouldUseResolverType = node.kind === 164 /* SyntaxKind.Parameter */ && + var shouldUseResolverType = node.kind === 166 /* SyntaxKind.Parameter */ && (resolver.isRequiredInitializedParameter(node) || resolver.isOptionalUninitializedParameterProperty(node)); if (type && !shouldUseResolverType) { return ts.visitNode(type, visitDeclarationSubtree); } if (!ts.getParseTreeNode(node)) { - return type ? ts.visitNode(type, visitDeclarationSubtree) : factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + return type ? ts.visitNode(type, visitDeclarationSubtree) : factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } - if (node.kind === 173 /* SyntaxKind.SetAccessor */) { + if (node.kind === 175 /* SyntaxKind.SetAccessor */) { // Set accessors with no associated type node (from it's param or get accessor return) are `any` since they are never contextually typed right now // (The inferred type here will be void, but the old declaration emitter printed `any`, so this replicates that) - return factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + return factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } errorNameNode = node.name; var oldDiag; @@ -110009,12 +111098,12 @@ var ts; oldDiag = getSymbolAccessibilityDiagnostic; getSymbolAccessibilityDiagnostic = ts.createGetSymbolAccessibilityDiagnosticForNode(node); } - if (node.kind === 254 /* SyntaxKind.VariableDeclaration */ || node.kind === 203 /* SyntaxKind.BindingElement */) { + if (node.kind === 257 /* SyntaxKind.VariableDeclaration */ || node.kind === 205 /* SyntaxKind.BindingElement */) { return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); } - if (node.kind === 164 /* SyntaxKind.Parameter */ - || node.kind === 167 /* SyntaxKind.PropertyDeclaration */ - || node.kind === 166 /* SyntaxKind.PropertySignature */) { + if (node.kind === 166 /* SyntaxKind.Parameter */ + || node.kind === 169 /* SyntaxKind.PropertyDeclaration */ + || node.kind === 168 /* SyntaxKind.PropertySignature */) { if (ts.isPropertySignature(node) || !node.initializer) return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType)); return cleanup(resolver.createTypeOfDeclaration(node, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker, shouldUseResolverType) || resolver.createTypeOfExpression(node.initializer, enclosingDeclaration, declarationEmitNodeBuilderFlags, symbolTracker)); @@ -110025,28 +111114,28 @@ var ts; if (!suppressNewDiagnosticContexts) { getSymbolAccessibilityDiagnostic = oldDiag; } - return returnValue || factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + return returnValue || factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } } function isDeclarationAndNotVisible(node) { node = ts.getParseTreeNode(node); switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return !resolver.isDeclarationVisible(node); // The following should be doing their own visibility checks based on filtering their members - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return !getBindingNameVisible(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: return false; - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return true; } return false; @@ -110101,7 +111190,7 @@ var ts; } if (!newValueParameter) { newValueParameter = factory.createParameterDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "value"); } newParams = ts.append(newParams, newValueParameter); @@ -110135,7 +111224,7 @@ var ts; function rewriteModuleSpecifier(parent, input) { if (!input) return undefined; // TODO: GH#18217 - resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 261 /* SyntaxKind.ModuleDeclaration */ && parent.kind !== 200 /* SyntaxKind.ImportType */); + resultHasExternalModuleIndicator = resultHasExternalModuleIndicator || (parent.kind !== 264 /* SyntaxKind.ModuleDeclaration */ && parent.kind !== 202 /* SyntaxKind.ImportType */); if (ts.isStringLiteralLike(input)) { if (isBundledEmit) { var newName = ts.getExternalModuleNameFromDeclaration(context.getEmitHost(), resolver, parent); @@ -110155,7 +111244,7 @@ var ts; function transformImportEqualsDeclaration(decl) { if (!resolver.isDeclarationVisible(decl)) return; - if (decl.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */) { + if (decl.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */) { // Rewrite external module names if necessary var specifier = ts.getExternalModuleImportEqualsDeclarationExpression(decl); return factory.updateImportEqualsDeclaration(decl, decl.modifiers, decl.isTypeOnly, decl.name, factory.updateExternalModuleReference(decl.moduleReference, rewriteModuleSpecifier(decl, specifier))); @@ -110177,10 +111266,10 @@ var ts; var visibleDefaultBinding = decl.importClause && decl.importClause.name && resolver.isDeclarationVisible(decl.importClause) ? decl.importClause.name : undefined; if (!decl.importClause.namedBindings) { // No named bindings (either namespace or list), meaning the import is just default or should be elided - return visibleDefaultBinding && factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, + return visibleDefaultBinding && factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, /*namedBindings*/ undefined), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } - if (decl.importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (decl.importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { // Namespace import (optionally with visible default) var namedBindings = resolver.isDeclarationVisible(decl.importClause.namedBindings) ? decl.importClause.namedBindings : /*namedBindings*/ undefined; return visibleDefaultBinding || namedBindings ? factory.updateImportDeclaration(decl, decl.modifiers, factory.updateImportClause(decl.importClause, decl.importClause.isTypeOnly, visibleDefaultBinding, namedBindings), rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)) : undefined; @@ -110192,7 +111281,7 @@ var ts; } // Augmentation of export depends on import if (resolver.isImportRequiredByAugmentation(decl)) { - return factory.updateImportDeclaration(decl, decl.modifiers, + return factory.updateImportDeclaration(decl, decl.modifiers, /*importClause*/ undefined, rewriteModuleSpecifier(decl, decl.moduleSpecifier), getResolutionModeOverrideForClauseInNightly(decl.assertClause)); } // Nothing visible @@ -110283,7 +111372,7 @@ var ts; // We'd see a TDZ violation at runtime var canProduceDiagnostic = ts.canProduceDiagnostics(input); var oldWithinObjectLiteralType = suppressNewDiagnosticContexts; - var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 182 /* SyntaxKind.TypeLiteral */ || input.kind === 195 /* SyntaxKind.MappedType */) && input.parent.kind !== 259 /* SyntaxKind.TypeAliasDeclaration */); + var shouldEnterSuppressNewDiagnosticsContextContext = ((input.kind === 184 /* SyntaxKind.TypeLiteral */ || input.kind === 197 /* SyntaxKind.MappedType */) && input.parent.kind !== 262 /* SyntaxKind.TypeAliasDeclaration */); // Emit methods which are private as properties with no type information if (ts.isMethodDeclaration(input) || ts.isMethodSignature(input)) { if (ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)) { @@ -110304,74 +111393,74 @@ var ts; } if (isProcessedComponent(input)) { switch (input.kind) { - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: { + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: { if ((ts.isEntityName(input.expression) || ts.isEntityNameExpression(input.expression))) { checkEntityNameVisibility(input.expression, enclosingDeclaration); } var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(factory.updateExpressionWithTypeArguments(node, node.expression, node.typeArguments)); } - case 178 /* SyntaxKind.TypeReference */: { + case 180 /* SyntaxKind.TypeReference */: { checkEntityNameVisibility(input.typeName, enclosingDeclaration); var node = ts.visitEachChild(input, visitDeclarationSubtree, context); return cleanup(factory.updateTypeReferenceNode(node, node.typeName, node.typeArguments)); } - case 175 /* SyntaxKind.ConstructSignature */: + case 177 /* SyntaxKind.ConstructSignature */: return cleanup(factory.updateConstructSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); - case 171 /* SyntaxKind.Constructor */: { + case 173 /* SyntaxKind.Constructor */: { // A constructor declaration may not have a type annotation var ctor = factory.createConstructorDeclaration( - /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* ModifierFlags.None */), + /*modifiers*/ ensureModifiers(input), updateParamsList(input, input.parameters, 0 /* ModifierFlags.None */), /*body*/ undefined); return cleanup(ctor); } - case 169 /* SyntaxKind.MethodDeclaration */: { + case 171 /* SyntaxKind.MethodDeclaration */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - var sig = factory.createMethodDeclaration(ensureModifiers(input), - /*asteriskToken*/ undefined, input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), + var sig = factory.createMethodDeclaration(ensureModifiers(input), + /*asteriskToken*/ undefined, input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined); return cleanup(sig); } - case 172 /* SyntaxKind.GetAccessor */: { + case 174 /* SyntaxKind.GetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } var accessorType = getTypeAnnotationFromAllAccessorDeclarations(input, resolver.getAllAccessorDeclarations(input)); - return cleanup(factory.updateGetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), + return cleanup(factory.updateGetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), ensureType(input, accessorType), /*body*/ undefined)); } - case 173 /* SyntaxKind.SetAccessor */: { + case 175 /* SyntaxKind.SetAccessor */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } - return cleanup(factory.updateSetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), + return cleanup(factory.updateSetAccessorDeclaration(input, ensureModifiers(input), input.name, updateAccessorParamsList(input, ts.hasEffectiveModifier(input, 8 /* ModifierFlags.Private */)), /*body*/ undefined)); } - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updatePropertyDeclaration(input, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type), ensureNoInitializer(input))); - case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.PropertySignature */: if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updatePropertySignature(input, ensureModifiers(input), input.name, input.questionToken, ensureType(input, input.type))); - case 168 /* SyntaxKind.MethodSignature */: { + case 170 /* SyntaxKind.MethodSignature */: { if (ts.isPrivateIdentifier(input.name)) { return cleanup(/*returnValue*/ undefined); } return cleanup(factory.updateMethodSignature(input, ensureModifiers(input), input.name, input.questionToken, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 174 /* SyntaxKind.CallSignature */: { + case 176 /* SyntaxKind.CallSignature */: { return cleanup(factory.updateCallSignature(input, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type))); } - case 176 /* SyntaxKind.IndexSignature */: { - return cleanup(factory.updateIndexSignature(input, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */))); + case 178 /* SyntaxKind.IndexSignature */: { + return cleanup(factory.updateIndexSignature(input, ensureModifiers(input), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree) || factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */))); } - case 254 /* SyntaxKind.VariableDeclaration */: { + case 257 /* SyntaxKind.VariableDeclaration */: { if (ts.isBindingPattern(input.name)) { return recreateBindingPattern(input.name); } @@ -110379,13 +111468,13 @@ var ts; suppressNewDiagnosticContexts = true; // Variable declaration types also suppress new diagnostic contexts, provided the contexts wouldn't be made for binding pattern types return cleanup(factory.updateVariableDeclaration(input, input.name, /*exclamationToken*/ undefined, ensureType(input, input.type), ensureNoInitializer(input))); } - case 163 /* SyntaxKind.TypeParameter */: { + case 165 /* SyntaxKind.TypeParameter */: { if (isPrivateMethodTypeParameter(input) && (input.default || input.constraint)) { return cleanup(factory.updateTypeParameterDeclaration(input, input.modifiers, input.name, /*constraint*/ undefined, /*defaultType*/ undefined)); } return cleanup(ts.visitEachChild(input, visitDeclarationSubtree, context)); } - case 189 /* SyntaxKind.ConditionalType */: { + case 191 /* SyntaxKind.ConditionalType */: { // We have to process conditional types in a special way because for visibility purposes we need to push a new enclosingDeclaration // just for the `infer` types in the true branch. It's an implicit declaration scope that only applies to _part_ of the type. var checkType = ts.visitNode(input.checkType, visitDeclarationSubtree); @@ -110397,13 +111486,13 @@ var ts; var falseType = ts.visitNode(input.falseType, visitDeclarationSubtree); return cleanup(factory.updateConditionalTypeNode(input, checkType, extendsType, trueType, falseType)); } - case 179 /* SyntaxKind.FunctionType */: { + case 181 /* SyntaxKind.FunctionType */: { return cleanup(factory.updateFunctionTypeNode(input, ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 180 /* SyntaxKind.ConstructorType */: { + case 182 /* SyntaxKind.ConstructorType */: { return cleanup(factory.updateConstructorTypeNode(input, ensureModifiers(input), ts.visitNodes(input.typeParameters, visitDeclarationSubtree), updateParamsList(input, input.parameters), ts.visitNode(input.type, visitDeclarationSubtree))); } - case 200 /* SyntaxKind.ImportType */: { + case 202 /* SyntaxKind.ImportType */: { if (!ts.isLiteralImportTypeNode(input)) return cleanup(input); return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.assertions, input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf)); @@ -110435,7 +111524,7 @@ var ts; } } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 169 /* SyntaxKind.MethodDeclaration */ && ts.hasEffectiveModifier(node.parent, 8 /* ModifierFlags.Private */); + return node.parent.kind === 171 /* SyntaxKind.MethodDeclaration */ && ts.hasEffectiveModifier(node.parent, 8 /* ModifierFlags.Private */); } function visitDeclarationStatements(input) { if (!isPreservedDeclarationStatement(input)) { @@ -110445,7 +111534,7 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 272 /* SyntaxKind.ExportDeclaration */: { + case 275 /* SyntaxKind.ExportDeclaration */: { if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; } @@ -110454,7 +111543,7 @@ var ts; // Rewrite external module names if necessary return factory.updateExportDeclaration(input, input.modifiers, input.isTypeOnly, input.exportClause, rewriteModuleSpecifier(input, input.moduleSpecifier), ts.getResolutionModeOverrideForClause(input.assertClause) ? input.assertClause : undefined); } - case 271 /* SyntaxKind.ExportAssignment */: { + case 274 /* SyntaxKind.ExportAssignment */: { // Always visible if the parent node isn't dropped for being not visible if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -110472,7 +111561,7 @@ var ts; errorFallbackNode = input; var varDecl = factory.createVariableDeclaration(newId, /*exclamationToken*/ undefined, resolver.createTypeOfExpression(input.expression, input, declarationEmitNodeBuilderFlags, symbolTracker), /*initializer*/ undefined); errorFallbackNode = undefined; - var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); + var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(136 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); preserveJsDoc(statement, input); ts.removeAllComments(input); return [statement, factory.updateExportAssignment(input, input.modifiers, newId)]; @@ -110485,12 +111574,12 @@ var ts; return input; } function stripExportModifiers(statement) { - if (ts.isImportEqualsDeclaration(statement) || ts.hasEffectiveModifier(statement, 512 /* ModifierFlags.Default */) || !ts.canHaveModifiers(statement)) { + if (ts.isImportEqualsDeclaration(statement) || ts.hasEffectiveModifier(statement, 1024 /* ModifierFlags.Default */) || !ts.canHaveModifiers(statement)) { // `export import` statements should remain as-is, as imports are _not_ implicitly exported in an ambient namespace // Likewise, `export default` classes and the like and just be `default`, so we preserve their `export` modifiers, too return statement; } - var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (257023 /* ModifierFlags.All */ ^ 1 /* ModifierFlags.Export */)); + var modifiers = factory.createModifiersFromModifierFlags(ts.getEffectiveModifierFlags(statement) & (258047 /* ModifierFlags.All */ ^ 1 /* ModifierFlags.Export */)); return factory.updateModifiers(statement, modifiers); } function transformTopLevelDeclaration(input) { @@ -110501,10 +111590,10 @@ var ts; if (shouldStripInternal(input)) return; switch (input.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: { + case 268 /* SyntaxKind.ImportEqualsDeclaration */: { return transformImportEqualsDeclaration(input); } - case 266 /* SyntaxKind.ImportDeclaration */: { + case 269 /* SyntaxKind.ImportDeclaration */: { return transformImportDeclaration(input); } } @@ -110525,15 +111614,19 @@ var ts; } var previousNeedsDeclare = needsDeclare; switch (input.kind) { - case 259 /* SyntaxKind.TypeAliasDeclaration */: // Type aliases get `declare`d if need be (for legacy support), but that's all - return cleanup(factory.updateTypeAliasDeclaration(input, ensureModifiers(input), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); - case 258 /* SyntaxKind.InterfaceDeclaration */: { + case 262 /* SyntaxKind.TypeAliasDeclaration */: { + needsDeclare = false; + var clean = cleanup(factory.updateTypeAliasDeclaration(input, ensureModifiers(input), input.name, ts.visitNodes(input.typeParameters, visitDeclarationSubtree, ts.isTypeParameterDeclaration), ts.visitNode(input.type, visitDeclarationSubtree, ts.isTypeNode))); + needsDeclare = previousNeedsDeclare; + return clean; + } + case 261 /* SyntaxKind.InterfaceDeclaration */: { return cleanup(factory.updateInterfaceDeclaration(input, ensureModifiers(input), input.name, ensureTypeParams(input, input.typeParameters), transformHeritageClauses(input.heritageClauses), ts.visitNodes(input.members, visitDeclarationSubtree))); } - case 256 /* SyntaxKind.FunctionDeclaration */: { + case 259 /* SyntaxKind.FunctionDeclaration */: { // Generators lose their generator-ness, excepting their return type - var clean = cleanup(factory.updateFunctionDeclaration(input, ensureModifiers(input), - /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), + var clean = cleanup(factory.updateFunctionDeclaration(input, ensureModifiers(input), + /*asteriskToken*/ undefined, input.name, ensureTypeParams(input, input.typeParameters), updateParamsList(input, input.parameters), ensureType(input, input.type), /*body*/ undefined)); if (clean && resolver.isExpandoFunctionDeclaration(input) && shouldEmitFunctionProperties(input)) { var props = resolver.getPropertiesOfContainerFunction(input); @@ -110564,23 +111657,23 @@ var ts; } else { declarations.push(factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, factory.createNamedExports(ts.map(exportMappings_1, function (_a) { var gen = _a[0], exp = _a[1]; return factory.createExportSpecifier(/*isTypeOnly*/ false, gen, exp); })))); } var namespaceDecl = factory.createModuleDeclaration(ensureModifiers(input), input.name, factory.createModuleBlock(declarations), 16 /* NodeFlags.Namespace */); - if (!ts.hasEffectiveModifier(clean, 512 /* ModifierFlags.Default */)) { + if (!ts.hasEffectiveModifier(clean, 1024 /* ModifierFlags.Default */)) { return [clean, namespaceDecl]; } - var modifiers = factory.createModifiersFromModifierFlags((ts.getEffectiveModifierFlags(clean) & ~513 /* ModifierFlags.ExportDefault */) | 2 /* ModifierFlags.Ambient */); - var cleanDeclaration = factory.updateFunctionDeclaration(clean, modifiers, - /*asteriskToken*/ undefined, clean.name, clean.typeParameters, clean.parameters, clean.type, + var modifiers = factory.createModifiersFromModifierFlags((ts.getEffectiveModifierFlags(clean) & ~1025 /* ModifierFlags.ExportDefault */) | 2 /* ModifierFlags.Ambient */); + var cleanDeclaration = factory.updateFunctionDeclaration(clean, modifiers, + /*asteriskToken*/ undefined, clean.name, clean.typeParameters, clean.parameters, clean.type, /*body*/ undefined); var namespaceDeclaration = factory.updateModuleDeclaration(namespaceDecl, modifiers, namespaceDecl.name, namespaceDecl.body); var exportDefaultDeclaration = factory.createExportAssignment( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isExportEquals*/ false, namespaceDecl.name); if (ts.isSourceFile(input.parent)) { resultHasExternalModuleIndicator = true; @@ -110592,10 +111685,10 @@ var ts; return clean; } } - case 261 /* SyntaxKind.ModuleDeclaration */: { + case 264 /* SyntaxKind.ModuleDeclaration */: { needsDeclare = false; var inner = input.body; - if (inner && inner.kind === 262 /* SyntaxKind.ModuleBlock */) { + if (inner && inner.kind === 265 /* SyntaxKind.ModuleBlock */) { var oldNeedsScopeFix = needsScopeFixMarker; var oldHasScopeFix = resultHasScopeMarker; resultHasScopeMarker = false; @@ -110636,7 +111729,7 @@ var ts; return cleanup(factory.updateModuleDeclaration(input, mods, input.name, body)); } } - case 257 /* SyntaxKind.ClassDeclaration */: { + case 260 /* SyntaxKind.ClassDeclaration */: { errorNameNode = input.name; errorFallbackNode = input; var modifiers = factory.createNodeArray(ensureModifiers(input)); @@ -110666,8 +111759,8 @@ var ts; elems = ts.concatenate(elems, walkBindingPattern(elem.name)); } elems = elems || []; - elems.push(factory.createPropertyDeclaration(ensureModifiers(param), elem.name, - /*questionToken*/ undefined, ensureType(elem, /*type*/ undefined), + elems.push(factory.createPropertyDeclaration(ensureModifiers(param), elem.name, + /*questionToken*/ undefined, ensureType(elem, /*type*/ undefined), /*initializer*/ undefined)); } return elems; @@ -110680,9 +111773,9 @@ var ts; // Prevents other classes with the same public members from being used in place of the current class var privateIdentifier = hasPrivateIdentifier ? [ factory.createPropertyDeclaration( - /*modifiers*/ undefined, factory.createPrivateIdentifier("#private"), - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, factory.createPrivateIdentifier("#private"), + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined) ] : undefined; var memberNodes = ts.concatenate(ts.concatenate(privateIdentifier, parameterProperties), ts.visitNodes(input.members, visitDeclarationSubtree)); @@ -110698,7 +111791,7 @@ var ts; typeName: input.name }); }; var varDecl = factory.createVariableDeclaration(newId_1, /*exclamationToken*/ undefined, resolver.createTypeOfExpression(extendsClause_1.expression, input, declarationEmitNodeBuilderFlags, symbolTracker), /*initializer*/ undefined); - var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(135 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); + var statement = factory.createVariableStatement(needsDeclare ? [factory.createModifier(136 /* SyntaxKind.DeclareKeyword */)] : [], factory.createVariableDeclarationList([varDecl], 2 /* NodeFlags.Const */)); var heritageClauses = factory.createNodeArray(ts.map(input.heritageClauses, function (clause) { if (clause.token === 94 /* SyntaxKind.ExtendsKeyword */) { var oldDiag_2 = getSymbolAccessibilityDiagnostic; @@ -110716,10 +111809,10 @@ var ts; return cleanup(factory.updateClassDeclaration(input, modifiers, input.name, typeParameters, heritageClauses, members)); } } - case 237 /* SyntaxKind.VariableStatement */: { + case 240 /* SyntaxKind.VariableStatement */: { return cleanup(transformVariableStatement(input)); } - case 260 /* SyntaxKind.EnumDeclaration */: { + case 263 /* SyntaxKind.EnumDeclaration */: { return cleanup(factory.updateEnumDeclaration(input, factory.createNodeArray(ensureModifiers(input)), input.name, factory.createNodeArray(ts.mapDefined(input.members, function (m) { if (shouldStripInternal(m)) return; @@ -110738,7 +111831,7 @@ var ts; if (canProdiceDiagnostic) { getSymbolAccessibilityDiagnostic = oldDiag; } - if (input.kind === 261 /* SyntaxKind.ModuleDeclaration */) { + if (input.kind === 264 /* SyntaxKind.ModuleDeclaration */) { needsDeclare = previousNeedsDeclare; } if (node === input) { @@ -110761,7 +111854,7 @@ var ts; return ts.flatten(ts.mapDefined(d.elements, function (e) { return recreateBindingElement(e); })); } function recreateBindingElement(e) { - if (e.kind === 227 /* SyntaxKind.OmittedExpression */) { + if (e.kind === 229 /* SyntaxKind.OmittedExpression */) { return; } if (e.name) { @@ -110809,9 +111902,9 @@ var ts; return factory.createModifiersFromModifierFlags(newFlags); } function ensureModifierFlags(node) { - var mask = 257023 /* ModifierFlags.All */ ^ (4 /* ModifierFlags.Public */ | 256 /* ModifierFlags.Async */ | 16384 /* ModifierFlags.Override */); // No async and override modifiers in declaration files + var mask = 258047 /* ModifierFlags.All */ ^ (4 /* ModifierFlags.Public */ | 512 /* ModifierFlags.Async */ | 16384 /* ModifierFlags.Override */); // No async and override modifiers in declaration files var additions = (needsDeclare && !isAlwaysType(node)) ? 2 /* ModifierFlags.Ambient */ : 0 /* ModifierFlags.None */; - var parentIsFile = node.parent.kind === 305 /* SyntaxKind.SourceFile */; + var parentIsFile = node.parent.kind === 308 /* SyntaxKind.SourceFile */; if (!parentIsFile || (isBundledEmit && parentIsFile && ts.isExternalModule(node.parent))) { mask ^= 2 /* ModifierFlags.Ambient */; additions = 0 /* ModifierFlags.None */; @@ -110840,7 +111933,7 @@ var ts; } ts.transformDeclarations = transformDeclarations; function isAlwaysType(node) { - if (node.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (node.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { return true; } return false; @@ -110850,22 +111943,22 @@ var ts; return ts.factory.createModifiersFromModifierFlags(maskModifierFlags(node, modifierMask, modifierAdditions)); } function maskModifierFlags(node, modifierMask, modifierAdditions) { - if (modifierMask === void 0) { modifierMask = 257023 /* ModifierFlags.All */ ^ 4 /* ModifierFlags.Public */; } + if (modifierMask === void 0) { modifierMask = 258047 /* ModifierFlags.All */ ^ 4 /* ModifierFlags.Public */; } if (modifierAdditions === void 0) { modifierAdditions = 0 /* ModifierFlags.None */; } var flags = (ts.getEffectiveModifierFlags(node) & modifierMask) | modifierAdditions; - if (flags & 512 /* ModifierFlags.Default */ && !(flags & 1 /* ModifierFlags.Export */)) { + if (flags & 1024 /* ModifierFlags.Default */ && !(flags & 1 /* ModifierFlags.Export */)) { // A non-exported default is a nonsequitor - we usually try to remove all export modifiers // from statements in ambient declarations; but a default export must retain its export modifier to be syntactically valid flags ^= 1 /* ModifierFlags.Export */; } - if (flags & 512 /* ModifierFlags.Default */ && flags & 2 /* ModifierFlags.Ambient */) { + if (flags & 1024 /* ModifierFlags.Default */ && flags & 2 /* ModifierFlags.Ambient */) { flags ^= 2 /* ModifierFlags.Ambient */; // `declare` is never required alongside `default` (and would be an error if printed) } return flags; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 172 /* SyntaxKind.GetAccessor */ + return accessor.kind === 174 /* SyntaxKind.GetAccessor */ ? accessor.type // Getter - return type : accessor.parameters.length > 0 ? accessor.parameters[0].type // Setter parameter type @@ -110874,52 +111967,52 @@ var ts; } function canHaveLiteralInitializer(node) { switch (node.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: return !ts.hasEffectiveModifier(node, 8 /* ModifierFlags.Private */); - case 164 /* SyntaxKind.Parameter */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 257 /* SyntaxKind.VariableDeclaration */: return true; } return false; } function isPreservedDeclarationStatement(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 237 /* SyntaxKind.VariableStatement */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 240 /* SyntaxKind.VariableStatement */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: return true; } return false; } function isProcessedComponent(node) { switch (node.kind) { - case 175 /* SyntaxKind.ConstructSignature */: - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 176 /* SyntaxKind.IndexSignature */: - case 254 /* SyntaxKind.VariableDeclaration */: - case 163 /* SyntaxKind.TypeParameter */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - case 178 /* SyntaxKind.TypeReference */: - case 189 /* SyntaxKind.ConditionalType */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 200 /* SyntaxKind.ImportType */: + case 177 /* SyntaxKind.ConstructSignature */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 178 /* SyntaxKind.IndexSignature */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 165 /* SyntaxKind.TypeParameter */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + case 180 /* SyntaxKind.TypeReference */: + case 191 /* SyntaxKind.ConditionalType */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 202 /* SyntaxKind.ImportType */: return true; } return false; @@ -111059,7 +112152,7 @@ var ts; * @param allowDtsFiles A value indicating whether to allow the transformation of .d.ts files. */ function transformNodes(resolver, host, factory, options, nodes, transformers, allowDtsFiles) { - var enabledSyntaxKindFeatures = new Array(355 /* SyntaxKind.Count */); + var enabledSyntaxKindFeatures = new Array(358 /* SyntaxKind.Count */); var lexicalEnvironmentVariableDeclarations; var lexicalEnvironmentFunctionDeclarations; var lexicalEnvironmentStatements; @@ -111141,7 +112234,7 @@ var ts; var transformed = []; for (var _a = 0, nodes_3 = nodes; _a < nodes_3.length; _a++) { var node = nodes_3[_a]; - ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "transformNodes", node.kind === 305 /* SyntaxKind.SourceFile */ ? { path: node.path } : { kind: node.kind, pos: node.pos, end: node.end }); + ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "transformNodes", node.kind === 308 /* SyntaxKind.SourceFile */ ? { path: node.path } : { kind: node.kind, pos: node.pos, end: node.end }); transformed.push((allowDtsFiles ? transformation : transformRoot)(node)); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop(); } @@ -111547,7 +112640,7 @@ var ts; /*@internal*/ function getOutputPathsFor(sourceFile, host, forceDtsPaths) { var options = host.getCompilerOptions(); - if (sourceFile.kind === 306 /* SyntaxKind.Bundle */) { + if (sourceFile.kind === 309 /* SyntaxKind.Bundle */) { return getOutputPathsForBundle(options, forceDtsPaths); } else { @@ -111916,8 +113009,8 @@ var ts; } function printSourceFileOrBundle(jsFilePath, sourceMapFilePath, transform, printer, mapOptions) { var sourceFileOrBundle = transform.transformed[0]; - var bundle = sourceFileOrBundle.kind === 306 /* SyntaxKind.Bundle */ ? sourceFileOrBundle : undefined; - var sourceFile = sourceFileOrBundle.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFileOrBundle : undefined; + var bundle = sourceFileOrBundle.kind === 309 /* SyntaxKind.Bundle */ ? sourceFileOrBundle : undefined; + var sourceFile = sourceFileOrBundle.kind === 308 /* SyntaxKind.SourceFile */ ? sourceFileOrBundle : undefined; var sourceFiles = bundle ? bundle.sourceFiles : [sourceFile]; var sourceMapGenerator; if (shouldEmitSourceMaps(mapOptions, sourceFileOrBundle)) { @@ -111967,7 +113060,7 @@ var ts; } function shouldEmitSourceMaps(mapOptions, sourceFileOrBundle) { return (mapOptions.sourceMap || mapOptions.inlineSourceMap) - && (sourceFileOrBundle.kind !== 305 /* SyntaxKind.SourceFile */ || !ts.fileExtensionIs(sourceFileOrBundle.fileName, ".json" /* Extension.Json */)); + && (sourceFileOrBundle.kind !== 308 /* SyntaxKind.SourceFile */ || !ts.fileExtensionIs(sourceFileOrBundle.fileName, ".json" /* Extension.Json */)); } function getSourceRoot(mapOptions) { // Normalize source root and make sure it has trailing "/" so that it can be used to combine paths with the @@ -112013,7 +113106,7 @@ var ts; sourceMapDir = ts.combinePaths(host.getCommonSourceDirectory(), sourceMapDir); return encodeURI(ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizePath(filePath)), // get the relative sourceMapDir path based on jsFilePath ts.combinePaths(sourceMapDir, sourceMapFile), // this is where user expects to see sourceMap - host.getCurrentDirectory(), host.getCanonicalFileName, + host.getCurrentDirectory(), host.getCanonicalFileName, /*isAbsolutePathAnUrl*/ true)); } else { @@ -112030,8 +113123,8 @@ var ts; } ts.getBuildInfoText = getBuildInfoText; /*@internal*/ - function getBuildInfo(buildInfoText) { - return JSON.parse(buildInfoText); + function getBuildInfo(buildInfoFile, buildInfoText) { + return ts.readJsonOrUndefined(buildInfoFile, buildInfoText); } ts.getBuildInfo = getBuildInfo; /*@internal*/ @@ -112109,17 +113202,16 @@ var ts; var buildInfo; if (host.getBuildInfo) { // If host directly provides buildinfo we can get it directly. This allows host to cache the buildinfo - var hostBuildInfo = host.getBuildInfo(buildInfoPath, config.options.configFilePath); - if (!hostBuildInfo) - return buildInfoPath; - buildInfo = hostBuildInfo; + buildInfo = host.getBuildInfo(buildInfoPath, config.options.configFilePath); } else { var buildInfoText = host.readFile(buildInfoPath); if (!buildInfoText) return buildInfoPath; - buildInfo = getBuildInfo(buildInfoText); + buildInfo = getBuildInfo(buildInfoPath, buildInfoText); } + if (!buildInfo) + return buildInfoPath; if (!buildInfo.bundle || !buildInfo.bundle.js || (declarationFilePath && !buildInfo.bundle.dts)) return buildInfoPath; var jsFileText = host.readFile(ts.Debug.checkDefined(jsFilePath)); @@ -112147,7 +113239,7 @@ var ts; if (declarationMapPath && ts.computeSignature(declarationMapText, createHash) !== buildInfo.bundle.dts.mapHash) return declarationMapPath; var buildInfoDirectory = ts.getDirectoryPath(ts.getNormalizedAbsolutePath(buildInfoPath, host.getCurrentDirectory())); - var ownPrependInput = ts.createInputFiles(jsFileText, declarationText, sourceMapFilePath, sourceMapText, declarationMapPath, declarationMapText, jsFilePath, declarationFilePath, buildInfoPath, buildInfo, + var ownPrependInput = ts.createInputFiles(jsFileText, declarationText, sourceMapFilePath, sourceMapText, declarationMapPath, declarationMapText, jsFilePath, declarationFilePath, buildInfoPath, buildInfo, /*onlyOwnText*/ true); var outputFiles = []; var prependNodes = ts.createPrependNodes(config.projectReferences, getCommandLine, function (f) { return host.readFile(f); }); @@ -112220,7 +113312,7 @@ var ts; getFileIncludeReasons: ts.notImplemented, createHash: createHash, }; - emitFiles(ts.notImplementedResolver, emitHost, + emitFiles(ts.notImplementedResolver, emitHost, /*targetSourceFile*/ undefined, ts.getTransformers(config.options, customTransformers)); return outputFiles; } @@ -112245,6 +113337,10 @@ var ts; var nodeIdToGeneratedName; // Map of generated names for specific nodes. var autoGeneratedIdToGeneratedName; // Map of generated names for temp and loop variables. var generatedNames; // Set of names generated by the NameGenerator. + var formattedNameTempFlagsStack; + var formattedNameTempFlags; + var privateNameTempFlagsStack; // Stack of enclosing name generation scopes. + var privateNameTempFlags; // TempFlags for the current name generation scope. var tempFlagsStack; // Stack of enclosing name generation scopes. var tempFlags; // TempFlags for the current name generation scope. var reservedNamesStack; // Stack of TempFlags reserved in enclosing name generation scopes. @@ -112310,9 +113406,9 @@ var ts; break; } switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: return printFile(node); - case 306 /* SyntaxKind.Bundle */: return printBundle(node); - case 307 /* SyntaxKind.UnparsedSource */: return printUnparsedSource(node); + case 308 /* SyntaxKind.SourceFile */: return printFile(node); + case 309 /* SyntaxKind.Bundle */: return printBundle(node); + case 310 /* SyntaxKind.UnparsedSource */: return printUnparsedSource(node); } writeNode(hint, node, sourceFile, beginPrint()); return endPrint(); @@ -112503,6 +113599,10 @@ var ts; nodeIdToGeneratedName = []; autoGeneratedIdToGeneratedName = []; generatedNames = new ts.Set(); + formattedNameTempFlagsStack = []; + formattedNameTempFlags = new ts.Map(); + privateNameTempFlagsStack = []; + privateNameTempFlags = 0 /* TempFlags.Auto */; tempFlagsStack = []; tempFlags = 0 /* TempFlags.Auto */; reservedNamesStack = []; @@ -112646,315 +113746,315 @@ var ts; return emitPrivateIdentifier(node); // Parse tree nodes // Names - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: return emitQualifiedName(node); - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: return emitComputedPropertyName(node); // Signature elements - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: return emitTypeParameter(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return emitParameter(node); - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: return emitDecorator(node); // Type members - case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.PropertySignature */: return emitPropertySignature(node); - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return emitPropertyDeclaration(node); - case 168 /* SyntaxKind.MethodSignature */: + case 170 /* SyntaxKind.MethodSignature */: return emitMethodSignature(node); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return emitMethodDeclaration(node); - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return emitClassStaticBlockDeclaration(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return emitConstructor(node); - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return emitAccessorDeclaration(node); - case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.CallSignature */: return emitCallSignature(node); - case 175 /* SyntaxKind.ConstructSignature */: + case 177 /* SyntaxKind.ConstructSignature */: return emitConstructSignature(node); - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: return emitIndexSignature(node); // Types - case 177 /* SyntaxKind.TypePredicate */: + case 179 /* SyntaxKind.TypePredicate */: return emitTypePredicate(node); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return emitTypeReference(node); - case 179 /* SyntaxKind.FunctionType */: + case 181 /* SyntaxKind.FunctionType */: return emitFunctionType(node); - case 180 /* SyntaxKind.ConstructorType */: + case 182 /* SyntaxKind.ConstructorType */: return emitConstructorType(node); - case 181 /* SyntaxKind.TypeQuery */: + case 183 /* SyntaxKind.TypeQuery */: return emitTypeQuery(node); - case 182 /* SyntaxKind.TypeLiteral */: + case 184 /* SyntaxKind.TypeLiteral */: return emitTypeLiteral(node); - case 183 /* SyntaxKind.ArrayType */: + case 185 /* SyntaxKind.ArrayType */: return emitArrayType(node); - case 184 /* SyntaxKind.TupleType */: + case 186 /* SyntaxKind.TupleType */: return emitTupleType(node); - case 185 /* SyntaxKind.OptionalType */: + case 187 /* SyntaxKind.OptionalType */: return emitOptionalType(node); // SyntaxKind.RestType is handled below - case 187 /* SyntaxKind.UnionType */: + case 189 /* SyntaxKind.UnionType */: return emitUnionType(node); - case 188 /* SyntaxKind.IntersectionType */: + case 190 /* SyntaxKind.IntersectionType */: return emitIntersectionType(node); - case 189 /* SyntaxKind.ConditionalType */: + case 191 /* SyntaxKind.ConditionalType */: return emitConditionalType(node); - case 190 /* SyntaxKind.InferType */: + case 192 /* SyntaxKind.InferType */: return emitInferType(node); - case 191 /* SyntaxKind.ParenthesizedType */: + case 193 /* SyntaxKind.ParenthesizedType */: return emitParenthesizedType(node); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: return emitThisType(); - case 193 /* SyntaxKind.TypeOperator */: + case 195 /* SyntaxKind.TypeOperator */: return emitTypeOperator(node); - case 194 /* SyntaxKind.IndexedAccessType */: + case 196 /* SyntaxKind.IndexedAccessType */: return emitIndexedAccessType(node); - case 195 /* SyntaxKind.MappedType */: + case 197 /* SyntaxKind.MappedType */: return emitMappedType(node); - case 196 /* SyntaxKind.LiteralType */: + case 198 /* SyntaxKind.LiteralType */: return emitLiteralType(node); - case 197 /* SyntaxKind.NamedTupleMember */: + case 199 /* SyntaxKind.NamedTupleMember */: return emitNamedTupleMember(node); - case 198 /* SyntaxKind.TemplateLiteralType */: + case 200 /* SyntaxKind.TemplateLiteralType */: return emitTemplateType(node); - case 199 /* SyntaxKind.TemplateLiteralTypeSpan */: + case 201 /* SyntaxKind.TemplateLiteralTypeSpan */: return emitTemplateTypeSpan(node); - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return emitImportTypeNode(node); // Binding patterns - case 201 /* SyntaxKind.ObjectBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: return emitObjectBindingPattern(node); - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: return emitArrayBindingPattern(node); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return emitBindingElement(node); // Misc - case 233 /* SyntaxKind.TemplateSpan */: + case 236 /* SyntaxKind.TemplateSpan */: return emitTemplateSpan(node); - case 234 /* SyntaxKind.SemicolonClassElement */: + case 237 /* SyntaxKind.SemicolonClassElement */: return emitSemicolonClassElement(); // Statements - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: return emitBlock(node); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return emitVariableStatement(node); - case 236 /* SyntaxKind.EmptyStatement */: + case 239 /* SyntaxKind.EmptyStatement */: return emitEmptyStatement(/*isEmbeddedStatement*/ false); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return emitExpressionStatement(node); - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: return emitIfStatement(node); - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: return emitDoStatement(node); - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: return emitWhileStatement(node); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return emitForStatement(node); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: return emitForInStatement(node); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return emitForOfStatement(node); - case 245 /* SyntaxKind.ContinueStatement */: + case 248 /* SyntaxKind.ContinueStatement */: return emitContinueStatement(node); - case 246 /* SyntaxKind.BreakStatement */: + case 249 /* SyntaxKind.BreakStatement */: return emitBreakStatement(node); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: return emitReturnStatement(node); - case 248 /* SyntaxKind.WithStatement */: + case 251 /* SyntaxKind.WithStatement */: return emitWithStatement(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return emitSwitchStatement(node); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: return emitLabeledStatement(node); - case 251 /* SyntaxKind.ThrowStatement */: + case 254 /* SyntaxKind.ThrowStatement */: return emitThrowStatement(node); - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: return emitTryStatement(node); - case 253 /* SyntaxKind.DebuggerStatement */: + case 256 /* SyntaxKind.DebuggerStatement */: return emitDebuggerStatement(node); // Declarations - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return emitVariableDeclaration(node); - case 255 /* SyntaxKind.VariableDeclarationList */: + case 258 /* SyntaxKind.VariableDeclarationList */: return emitVariableDeclarationList(node); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return emitFunctionDeclaration(node); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return emitClassDeclaration(node); - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return emitInterfaceDeclaration(node); - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return emitTypeAliasDeclaration(node); - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return emitEnumDeclaration(node); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return emitModuleDeclaration(node); - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: return emitModuleBlock(node); - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: return emitCaseBlock(node); - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: return emitNamespaceExportDeclaration(node); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return emitImportEqualsDeclaration(node); - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return emitImportDeclaration(node); - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: return emitImportClause(node); - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: return emitNamespaceImport(node); - case 274 /* SyntaxKind.NamespaceExport */: + case 277 /* SyntaxKind.NamespaceExport */: return emitNamespaceExport(node); - case 269 /* SyntaxKind.NamedImports */: + case 272 /* SyntaxKind.NamedImports */: return emitNamedImports(node); - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: return emitImportSpecifier(node); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return emitExportAssignment(node); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: return emitExportDeclaration(node); - case 273 /* SyntaxKind.NamedExports */: + case 276 /* SyntaxKind.NamedExports */: return emitNamedExports(node); - case 275 /* SyntaxKind.ExportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: return emitExportSpecifier(node); - case 293 /* SyntaxKind.AssertClause */: + case 296 /* SyntaxKind.AssertClause */: return emitAssertClause(node); - case 294 /* SyntaxKind.AssertEntry */: + case 297 /* SyntaxKind.AssertEntry */: return emitAssertEntry(node); - case 276 /* SyntaxKind.MissingDeclaration */: + case 279 /* SyntaxKind.MissingDeclaration */: return; // Module references - case 277 /* SyntaxKind.ExternalModuleReference */: + case 280 /* SyntaxKind.ExternalModuleReference */: return emitExternalModuleReference(node); // JSX (non-expression) case 11 /* SyntaxKind.JsxText */: return emitJsxText(node); - case 280 /* SyntaxKind.JsxOpeningElement */: - case 283 /* SyntaxKind.JsxOpeningFragment */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 286 /* SyntaxKind.JsxOpeningFragment */: return emitJsxOpeningElementOrFragment(node); - case 281 /* SyntaxKind.JsxClosingElement */: - case 284 /* SyntaxKind.JsxClosingFragment */: + case 284 /* SyntaxKind.JsxClosingElement */: + case 287 /* SyntaxKind.JsxClosingFragment */: return emitJsxClosingElementOrFragment(node); - case 285 /* SyntaxKind.JsxAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: return emitJsxAttribute(node); - case 286 /* SyntaxKind.JsxAttributes */: + case 289 /* SyntaxKind.JsxAttributes */: return emitJsxAttributes(node); - case 287 /* SyntaxKind.JsxSpreadAttribute */: + case 290 /* SyntaxKind.JsxSpreadAttribute */: return emitJsxSpreadAttribute(node); - case 288 /* SyntaxKind.JsxExpression */: + case 291 /* SyntaxKind.JsxExpression */: return emitJsxExpression(node); // Clauses - case 289 /* SyntaxKind.CaseClause */: + case 292 /* SyntaxKind.CaseClause */: return emitCaseClause(node); - case 290 /* SyntaxKind.DefaultClause */: + case 293 /* SyntaxKind.DefaultClause */: return emitDefaultClause(node); - case 291 /* SyntaxKind.HeritageClause */: + case 294 /* SyntaxKind.HeritageClause */: return emitHeritageClause(node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return emitCatchClause(node); // Property assignments - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return emitPropertyAssignment(node); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return emitShorthandPropertyAssignment(node); - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: return emitSpreadAssignment(node); // Enum - case 299 /* SyntaxKind.EnumMember */: + case 302 /* SyntaxKind.EnumMember */: return emitEnumMember(node); // Unparsed - case 300 /* SyntaxKind.UnparsedPrologue */: + case 303 /* SyntaxKind.UnparsedPrologue */: return writeUnparsedNode(node); - case 307 /* SyntaxKind.UnparsedSource */: - case 301 /* SyntaxKind.UnparsedPrepend */: + case 310 /* SyntaxKind.UnparsedSource */: + case 304 /* SyntaxKind.UnparsedPrepend */: return emitUnparsedSourceOrPrepend(node); - case 302 /* SyntaxKind.UnparsedText */: - case 303 /* SyntaxKind.UnparsedInternalText */: + case 305 /* SyntaxKind.UnparsedText */: + case 306 /* SyntaxKind.UnparsedInternalText */: return emitUnparsedTextLike(node); - case 304 /* SyntaxKind.UnparsedSyntheticReference */: + case 307 /* SyntaxKind.UnparsedSyntheticReference */: return emitUnparsedSyntheticReference(node); // Top-level nodes - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return emitSourceFile(node); - case 306 /* SyntaxKind.Bundle */: + case 309 /* SyntaxKind.Bundle */: return ts.Debug.fail("Bundles should be printed using printBundle"); // SyntaxKind.UnparsedSource (handled above) - case 308 /* SyntaxKind.InputFiles */: + case 311 /* SyntaxKind.InputFiles */: return ts.Debug.fail("InputFiles should not be printed"); // JSDoc nodes (only used in codefixes currently) - case 309 /* SyntaxKind.JSDocTypeExpression */: + case 312 /* SyntaxKind.JSDocTypeExpression */: return emitJSDocTypeExpression(node); - case 310 /* SyntaxKind.JSDocNameReference */: + case 313 /* SyntaxKind.JSDocNameReference */: return emitJSDocNameReference(node); - case 312 /* SyntaxKind.JSDocAllType */: + case 315 /* SyntaxKind.JSDocAllType */: return writePunctuation("*"); - case 313 /* SyntaxKind.JSDocUnknownType */: + case 316 /* SyntaxKind.JSDocUnknownType */: return writePunctuation("?"); - case 314 /* SyntaxKind.JSDocNullableType */: + case 317 /* SyntaxKind.JSDocNullableType */: return emitJSDocNullableType(node); - case 315 /* SyntaxKind.JSDocNonNullableType */: + case 318 /* SyntaxKind.JSDocNonNullableType */: return emitJSDocNonNullableType(node); - case 316 /* SyntaxKind.JSDocOptionalType */: + case 319 /* SyntaxKind.JSDocOptionalType */: return emitJSDocOptionalType(node); - case 317 /* SyntaxKind.JSDocFunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: return emitJSDocFunctionType(node); - case 186 /* SyntaxKind.RestType */: - case 318 /* SyntaxKind.JSDocVariadicType */: + case 188 /* SyntaxKind.RestType */: + case 321 /* SyntaxKind.JSDocVariadicType */: return emitRestOrJSDocVariadicType(node); - case 319 /* SyntaxKind.JSDocNamepathType */: + case 322 /* SyntaxKind.JSDocNamepathType */: return; - case 320 /* SyntaxKind.JSDoc */: + case 323 /* SyntaxKind.JSDoc */: return emitJSDoc(node); - case 322 /* SyntaxKind.JSDocTypeLiteral */: + case 325 /* SyntaxKind.JSDocTypeLiteral */: return emitJSDocTypeLiteral(node); - case 323 /* SyntaxKind.JSDocSignature */: + case 326 /* SyntaxKind.JSDocSignature */: return emitJSDocSignature(node); - case 327 /* SyntaxKind.JSDocTag */: - case 332 /* SyntaxKind.JSDocClassTag */: - case 337 /* SyntaxKind.JSDocOverrideTag */: + case 330 /* SyntaxKind.JSDocTag */: + case 335 /* SyntaxKind.JSDocClassTag */: + case 340 /* SyntaxKind.JSDocOverrideTag */: return emitJSDocSimpleTag(node); - case 328 /* SyntaxKind.JSDocAugmentsTag */: - case 329 /* SyntaxKind.JSDocImplementsTag */: + case 331 /* SyntaxKind.JSDocAugmentsTag */: + case 332 /* SyntaxKind.JSDocImplementsTag */: return emitJSDocHeritageTag(node); - case 330 /* SyntaxKind.JSDocAuthorTag */: - case 331 /* SyntaxKind.JSDocDeprecatedTag */: + case 333 /* SyntaxKind.JSDocAuthorTag */: + case 334 /* SyntaxKind.JSDocDeprecatedTag */: return; // SyntaxKind.JSDocClassTag (see JSDocTag, above) - case 333 /* SyntaxKind.JSDocPublicTag */: - case 334 /* SyntaxKind.JSDocPrivateTag */: - case 335 /* SyntaxKind.JSDocProtectedTag */: - case 336 /* SyntaxKind.JSDocReadonlyTag */: + case 336 /* SyntaxKind.JSDocPublicTag */: + case 337 /* SyntaxKind.JSDocPrivateTag */: + case 338 /* SyntaxKind.JSDocProtectedTag */: + case 339 /* SyntaxKind.JSDocReadonlyTag */: return; - case 338 /* SyntaxKind.JSDocCallbackTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: return emitJSDocCallbackTag(node); // SyntaxKind.JSDocEnumTag (see below) - case 340 /* SyntaxKind.JSDocParameterTag */: - case 347 /* SyntaxKind.JSDocPropertyTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: return emitJSDocPropertyLikeTag(node); - case 339 /* SyntaxKind.JSDocEnumTag */: - case 341 /* SyntaxKind.JSDocReturnTag */: - case 342 /* SyntaxKind.JSDocThisTag */: - case 343 /* SyntaxKind.JSDocTypeTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: + case 344 /* SyntaxKind.JSDocReturnTag */: + case 345 /* SyntaxKind.JSDocThisTag */: + case 346 /* SyntaxKind.JSDocTypeTag */: return emitJSDocSimpleTypedTag(node); - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: return emitJSDocTemplateTag(node); - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: return emitJSDocTypedefTag(node); - case 346 /* SyntaxKind.JSDocSeeTag */: + case 349 /* SyntaxKind.JSDocSeeTag */: return emitJSDocSeeTag(node); // SyntaxKind.JSDocPropertyTag (see JSDocParameterTag, above) // Transformation nodes - case 349 /* SyntaxKind.NotEmittedStatement */: - case 353 /* SyntaxKind.EndOfDeclarationMarker */: - case 352 /* SyntaxKind.MergeDeclarationMarker */: + case 352 /* SyntaxKind.NotEmittedStatement */: + case 356 /* SyntaxKind.EndOfDeclarationMarker */: + case 355 /* SyntaxKind.MergeDeclarationMarker */: return; } if (ts.isExpression(node)) { @@ -112986,85 +114086,87 @@ var ts; case 80 /* SyntaxKind.PrivateIdentifier */: return emitPrivateIdentifier(node); // Expressions - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return emitArrayLiteralExpression(node); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return emitObjectLiteralExpression(node); - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return emitPropertyAccessExpression(node); - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return emitElementAccessExpression(node); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return emitCallExpression(node); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return emitNewExpression(node); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return emitTaggedTemplateExpression(node); - case 211 /* SyntaxKind.TypeAssertionExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: return emitTypeAssertionExpression(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return emitParenthesizedExpression(node); - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: return emitFunctionExpression(node); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return emitArrowFunction(node); - case 215 /* SyntaxKind.DeleteExpression */: + case 217 /* SyntaxKind.DeleteExpression */: return emitDeleteExpression(node); - case 216 /* SyntaxKind.TypeOfExpression */: + case 218 /* SyntaxKind.TypeOfExpression */: return emitTypeOfExpression(node); - case 217 /* SyntaxKind.VoidExpression */: + case 219 /* SyntaxKind.VoidExpression */: return emitVoidExpression(node); - case 218 /* SyntaxKind.AwaitExpression */: + case 220 /* SyntaxKind.AwaitExpression */: return emitAwaitExpression(node); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return emitPrefixUnaryExpression(node); - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: return emitPostfixUnaryExpression(node); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return emitBinaryExpression(node); - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return emitConditionalExpression(node); - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: return emitTemplateExpression(node); - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: return emitYieldExpression(node); - case 225 /* SyntaxKind.SpreadElement */: + case 227 /* SyntaxKind.SpreadElement */: return emitSpreadElement(node); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: return emitClassExpression(node); - case 227 /* SyntaxKind.OmittedExpression */: + case 229 /* SyntaxKind.OmittedExpression */: return; - case 229 /* SyntaxKind.AsExpression */: + case 231 /* SyntaxKind.AsExpression */: return emitAsExpression(node); - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: return emitNonNullExpression(node); - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return emitExpressionWithTypeArguments(node); - case 231 /* SyntaxKind.MetaProperty */: + case 235 /* SyntaxKind.SatisfiesExpression */: + return emitSatisfiesExpression(node); + case 233 /* SyntaxKind.MetaProperty */: return emitMetaProperty(node); - case 232 /* SyntaxKind.SyntheticExpression */: + case 234 /* SyntaxKind.SyntheticExpression */: return ts.Debug.fail("SyntheticExpression should never be printed."); // JSX - case 278 /* SyntaxKind.JsxElement */: + case 281 /* SyntaxKind.JsxElement */: return emitJsxElement(node); - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return emitJsxSelfClosingElement(node); - case 282 /* SyntaxKind.JsxFragment */: + case 285 /* SyntaxKind.JsxFragment */: return emitJsxFragment(node); // Synthesized list - case 348 /* SyntaxKind.SyntaxList */: + case 351 /* SyntaxKind.SyntaxList */: return ts.Debug.fail("SyntaxList should not be printed"); // Transformation nodes - case 349 /* SyntaxKind.NotEmittedStatement */: + case 352 /* SyntaxKind.NotEmittedStatement */: return; - case 350 /* SyntaxKind.PartiallyEmittedExpression */: + case 353 /* SyntaxKind.PartiallyEmittedExpression */: return emitPartiallyEmittedExpression(node); - case 351 /* SyntaxKind.CommaListExpression */: + case 354 /* SyntaxKind.CommaListExpression */: return emitCommaList(node); - case 352 /* SyntaxKind.MergeDeclarationMarker */: - case 353 /* SyntaxKind.EndOfDeclarationMarker */: + case 355 /* SyntaxKind.MergeDeclarationMarker */: + case 356 /* SyntaxKind.EndOfDeclarationMarker */: return; - case 354 /* SyntaxKind.SyntheticReferenceExpression */: + case 357 /* SyntaxKind.SyntheticReferenceExpression */: return ts.Debug.fail("SyntheticReferenceExpression should not be printed"); } } @@ -113112,7 +114214,7 @@ var ts; } function emitHelpers(node) { var helpersEmitted = false; - var bundle = node.kind === 306 /* SyntaxKind.Bundle */ ? node : undefined; + var bundle = node.kind === 309 /* SyntaxKind.Bundle */ ? node : undefined; if (bundle && moduleKind === ts.ModuleKind.None) { return; } @@ -113212,7 +114314,7 @@ var ts; var pos = getTextPosWithWriteLine(); writeUnparsedNode(unparsed); if (bundleFileInfo) { - updateOrPushBundleFileTextLike(pos, writer.getTextPos(), unparsed.kind === 302 /* SyntaxKind.UnparsedText */ ? + updateOrPushBundleFileTextLike(pos, writer.getTextPos(), unparsed.kind === 305 /* SyntaxKind.UnparsedText */ ? "text" /* BundleFileSectionKind.Text */ : "internal" /* BundleFileSectionKind.Internal */); } @@ -113249,7 +114351,7 @@ var ts; } function emitTabStop(hint, node, snippet) { // A tab stop should only be attached to an empty node, i.e. a node that doesn't emit any text. - ts.Debug.assert(node.kind === 236 /* SyntaxKind.EmptyStatement */, "A tab stop cannot be attached to a node of kind ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); + ts.Debug.assert(node.kind === 239 /* SyntaxKind.EmptyStatement */, "A tab stop cannot be attached to a node of kind ".concat(ts.Debug.formatSyntaxKind(node.kind), ".")); ts.Debug.assert(hint !== 5 /* EmitHint.EmbeddedStatement */, "A tab stop cannot be attached to an embedded statement."); nonEscapingWrite("$".concat(snippet.order)); } @@ -113310,7 +114412,7 @@ var ts; emit(node.dotDotDotToken); emitNodeWithWriter(node.name, writeParameter); emit(node.questionToken); - if (node.parent && node.parent.kind === 317 /* SyntaxKind.JSDocFunctionType */ && !node.name) { + if (node.parent && node.parent.kind === 320 /* SyntaxKind.JSDocFunctionType */ && !node.name) { emit(node.type); } else { @@ -113371,7 +114473,7 @@ var ts; } function emitAccessorDeclaration(node) { emitDecoratorsAndModifiers(node, node.modifiers); - writeKeyword(node.kind === 172 /* SyntaxKind.GetAccessor */ ? "get" : "set"); + writeKeyword(node.kind === 174 /* SyntaxKind.GetAccessor */ ? "get" : "set"); writeSpace(); emit(node.name); emitSignatureAndBody(node, emitSignatureHead); @@ -113544,7 +114646,7 @@ var ts; function emitTypeOperator(node) { writeTokenText(node.operator, writeKeyword); writeSpace(); - var parenthesizerRule = node.operator === 145 /* SyntaxKind.ReadonlyKeyword */ ? + var parenthesizerRule = node.operator === 146 /* SyntaxKind.ReadonlyKeyword */ ? parenthesizer.parenthesizeOperandOfReadonlyTypeOperator : parenthesizer.parenthesizeOperandOfTypeOperator; emit(node.type, parenthesizerRule); @@ -113567,7 +114669,7 @@ var ts; } if (node.readonlyToken) { emit(node.readonlyToken); - if (node.readonlyToken.kind !== 145 /* SyntaxKind.ReadonlyKeyword */) { + if (node.readonlyToken.kind !== 146 /* SyntaxKind.ReadonlyKeyword */) { writeKeyword("readonly"); } writeSpace(); @@ -113813,7 +114915,7 @@ var ts; emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } function emitAwaitExpression(node) { - emitTokenWithComment(132 /* SyntaxKind.AwaitKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(133 /* SyntaxKind.AwaitKeyword */, node.pos, writeKeyword, node); writeSpace(); emitExpression(node.expression, parenthesizer.parenthesizeOperandOfPrefixUnary); } @@ -113838,7 +114940,7 @@ var ts; // expression a prefix increment whose operand is a plus expression - (++(+x)) // The same is true of minus of course. var operand = node.operand; - return operand.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ + return operand.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ && ((node.operator === 39 /* SyntaxKind.PlusToken */ && (operand.operator === 39 /* SyntaxKind.PlusToken */ || operand.operator === 45 /* SyntaxKind.PlusPlusToken */)) || (node.operator === 40 /* SyntaxKind.MinusToken */ && (operand.operator === 40 /* SyntaxKind.MinusToken */ || operand.operator === 46 /* SyntaxKind.MinusMinusToken */))); } @@ -113986,6 +115088,15 @@ var ts; emitExpression(node.expression, parenthesizer.parenthesizeLeftSideOfAccess); writeOperator("!"); } + function emitSatisfiesExpression(node) { + emitExpression(node.expression, /*parenthesizerRules*/ undefined); + if (node.type) { + writeSpace(); + writeKeyword("satisfies"); + writeSpace(); + emit(node.type); + } + } function emitMetaProperty(node) { writeToken(node.keywordToken, node.pos, writePunctuation); writePunctuation("."); @@ -114043,7 +115154,7 @@ var ts; if (node.elseStatement) { writeLineOrSpace(node, node.thenStatement, node.elseStatement); emitTokenWithComment(91 /* SyntaxKind.ElseKeyword */, node.thenStatement.end, writeKeyword, node); - if (node.elseStatement.kind === 239 /* SyntaxKind.IfStatement */) { + if (node.elseStatement.kind === 242 /* SyntaxKind.IfStatement */) { writeSpace(); emit(node.elseStatement); } @@ -114106,7 +115217,7 @@ var ts; emitTokenWithComment(20 /* SyntaxKind.OpenParenToken */, openParenPos, writePunctuation, node); emitForBinding(node.initializer); writeSpace(); - emitTokenWithComment(160 /* SyntaxKind.OfKeyword */, node.initializer.end, writeKeyword, node); + emitTokenWithComment(162 /* SyntaxKind.OfKeyword */, node.initializer.end, writeKeyword, node); writeSpace(); emitExpression(node.expression); emitTokenWithComment(21 /* SyntaxKind.CloseParenToken */, node.expression.end, writePunctuation, node); @@ -114114,7 +115225,7 @@ var ts; } function emitForBinding(node) { if (node !== undefined) { - if (node.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.kind === 258 /* SyntaxKind.VariableDeclarationList */) { emit(node); } else { @@ -114151,7 +115262,7 @@ var ts; } pos = writeTokenText(token, writer, pos); if (isSimilarNode && contextNode.end !== pos) { - var isJsxExprContext = contextNode.kind === 288 /* SyntaxKind.JsxExpression */; + var isJsxExprContext = contextNode.kind === 291 /* SyntaxKind.JsxExpression */; emitTrailingCommentsOfPosition(pos, /*prefixSpace*/ !isJsxExprContext, /*forceNoNewline*/ isJsxExprContext); } return pos; @@ -114461,7 +115572,7 @@ var ts; emitTokenWithComment(100 /* SyntaxKind.ImportKeyword */, node.modifiers ? node.modifiers.end : node.pos, writeKeyword, node); writeSpace(); if (node.isTypeOnly) { - emitTokenWithComment(152 /* SyntaxKind.TypeKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(154 /* SyntaxKind.TypeKeyword */, node.pos, writeKeyword, node); writeSpace(); } emit(node.name); @@ -114486,7 +115597,7 @@ var ts; if (node.importClause) { emit(node.importClause); writeSpace(); - emitTokenWithComment(156 /* SyntaxKind.FromKeyword */, node.importClause.end, writeKeyword, node); + emitTokenWithComment(158 /* SyntaxKind.FromKeyword */, node.importClause.end, writeKeyword, node); writeSpace(); } emitExpression(node.moduleSpecifier); @@ -114497,7 +115608,7 @@ var ts; } function emitImportClause(node) { if (node.isTypeOnly) { - emitTokenWithComment(152 /* SyntaxKind.TypeKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(154 /* SyntaxKind.TypeKeyword */, node.pos, writeKeyword, node); writeSpace(); } emit(node.name); @@ -114510,7 +115621,7 @@ var ts; function emitNamespaceImport(node) { var asPos = emitTokenWithComment(41 /* SyntaxKind.AsteriskToken */, node.pos, writePunctuation, node); writeSpace(); - emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, asPos, writeKeyword, node); + emitTokenWithComment(128 /* SyntaxKind.AsKeyword */, asPos, writeKeyword, node); writeSpace(); emit(node.name); } @@ -114536,10 +115647,11 @@ var ts; writeTrailingSemicolon(); } function emitExportDeclaration(node) { + emitModifiers(node, node.modifiers); var nextPos = emitTokenWithComment(93 /* SyntaxKind.ExportKeyword */, node.pos, writeKeyword, node); writeSpace(); if (node.isTypeOnly) { - nextPos = emitTokenWithComment(152 /* SyntaxKind.TypeKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(154 /* SyntaxKind.TypeKeyword */, nextPos, writeKeyword, node); writeSpace(); } if (node.exportClause) { @@ -114551,7 +115663,7 @@ var ts; if (node.moduleSpecifier) { writeSpace(); var fromPos = node.exportClause ? node.exportClause.end : nextPos; - emitTokenWithComment(156 /* SyntaxKind.FromKeyword */, fromPos, writeKeyword, node); + emitTokenWithComment(158 /* SyntaxKind.FromKeyword */, fromPos, writeKeyword, node); writeSpace(); emitExpression(node.moduleSpecifier); } @@ -114561,7 +115673,7 @@ var ts; writeTrailingSemicolon(); } function emitAssertClause(node) { - emitTokenWithComment(129 /* SyntaxKind.AssertKeyword */, node.pos, writeKeyword, node); + emitTokenWithComment(130 /* SyntaxKind.AssertKeyword */, node.pos, writeKeyword, node); writeSpace(); var elements = node.elements; emitList(node, elements, 526226 /* ListFormat.ImportClauseEntries */); @@ -114581,9 +115693,9 @@ var ts; function emitNamespaceExportDeclaration(node) { var nextPos = emitTokenWithComment(93 /* SyntaxKind.ExportKeyword */, node.pos, writeKeyword, node); writeSpace(); - nextPos = emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(128 /* SyntaxKind.AsKeyword */, nextPos, writeKeyword, node); writeSpace(); - nextPos = emitTokenWithComment(142 /* SyntaxKind.NamespaceKeyword */, nextPos, writeKeyword, node); + nextPos = emitTokenWithComment(143 /* SyntaxKind.NamespaceKeyword */, nextPos, writeKeyword, node); writeSpace(); emit(node.name); writeTrailingSemicolon(); @@ -114591,7 +115703,7 @@ var ts; function emitNamespaceExport(node) { var asPos = emitTokenWithComment(41 /* SyntaxKind.AsteriskToken */, node.pos, writePunctuation, node); writeSpace(); - emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, asPos, writeKeyword, node); + emitTokenWithComment(128 /* SyntaxKind.AsKeyword */, asPos, writeKeyword, node); writeSpace(); emit(node.name); } @@ -114614,7 +115726,7 @@ var ts; if (node.propertyName) { emit(node.propertyName); writeSpace(); - emitTokenWithComment(127 /* SyntaxKind.AsKeyword */, node.propertyName.end, writeKeyword, node); + emitTokenWithComment(128 /* SyntaxKind.AsKeyword */, node.propertyName.end, writeKeyword, node); writeSpace(); } emit(node.name); @@ -114835,7 +115947,7 @@ var ts; } } if (node.tags) { - if (node.tags.length === 1 && node.tags[0].kind === 343 /* SyntaxKind.JSDocTypeTag */ && !node.comment) { + if (node.tags.length === 1 && node.tags[0].kind === 346 /* SyntaxKind.JSDocTypeTag */ && !node.comment) { writeSpace(); emit(node.tags[0]); } @@ -114880,7 +115992,7 @@ var ts; function emitJSDocTypedefTag(tag) { emitJSDocTagName(tag.tagName); if (tag.typeExpression) { - if (tag.typeExpression.kind === 309 /* SyntaxKind.JSDocTypeExpression */) { + if (tag.typeExpression.kind === 312 /* SyntaxKind.JSDocTypeExpression */) { emitJSDocTypeExpression(tag.typeExpression); } else { @@ -114899,7 +116011,7 @@ var ts; emit(tag.fullName); } emitJSDocComment(tag.comment); - if (tag.typeExpression && tag.typeExpression.kind === 322 /* SyntaxKind.JSDocTypeLiteral */) { + if (tag.typeExpression && tag.typeExpression.kind === 325 /* SyntaxKind.JSDocTypeLiteral */) { emitJSDocTypeLiteral(tag.typeExpression); } } @@ -115240,8 +116352,8 @@ var ts; textRange.pos = modifiers.pos; if (pos === modifiers.length - 1) textRange.end = modifiers.end; - emitNodeListItems(emit, node, modifiers, lastMode === "modifiers" ? 2359808 /* ListFormat.Modifiers */ : 2146305 /* ListFormat.Decorators */, - /*parenthesizerRule*/ undefined, start, pos - start, + emitNodeListItems(emit, node, modifiers, lastMode === "modifiers" ? 2359808 /* ListFormat.Modifiers */ : 2146305 /* ListFormat.Decorators */, + /*parenthesizerRule*/ undefined, start, pos - start, /*hasTrailingComma*/ false, textRange); start = pos; lastMode = mode; @@ -115832,13 +116944,13 @@ var ts; && (!currentSourceFile || ts.rangeEndIsOnSameLineAsRangeStart(block, block, currentSourceFile)); } function skipSynthesizedParentheses(node) { - while (node.kind === 212 /* SyntaxKind.ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { + while (node.kind === 214 /* SyntaxKind.ParenthesizedExpression */ && ts.nodeIsSynthesized(node)) { node = node.expression; } return node; } function getTextOfNode(node, includeTrivia) { - if (ts.isGeneratedIdentifier(node)) { + if (ts.isGeneratedIdentifier(node) || ts.isGeneratedPrivateIdentifier(node)) { return generateName(node); } if (ts.isStringLiteral(node) && node.textSourceNode) { @@ -115862,7 +116974,7 @@ var ts; function getLiteralTextOfNode(node, neverAsciiEscape, jsxAttributeEscape) { if (node.kind === 10 /* SyntaxKind.StringLiteral */ && node.textSourceNode) { var textSourceNode = node.textSourceNode; - if (ts.isIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) { + if (ts.isIdentifier(textSourceNode) || ts.isPrivateIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) { var text = ts.isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode(textSourceNode); return jsxAttributeEscape ? "\"".concat(ts.escapeJsxAttributeString(text), "\"") : neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* EmitFlags.NoAsciiEscaping */) ? "\"".concat(ts.escapeString(text), "\"") : @@ -115886,7 +116998,11 @@ var ts; return; } tempFlagsStack.push(tempFlags); - tempFlags = 0; + tempFlags = 0 /* TempFlags.Auto */; + privateNameTempFlagsStack.push(privateNameTempFlags); + privateNameTempFlags = 0 /* TempFlags.Auto */; + formattedNameTempFlagsStack.push(formattedNameTempFlags); + formattedNameTempFlags = undefined; reservedNamesStack.push(reservedNames); } /** @@ -115897,6 +117013,8 @@ var ts; return; } tempFlags = tempFlagsStack.pop(); + privateNameTempFlags = privateNameTempFlagsStack.pop(); + formattedNameTempFlags = formattedNameTempFlagsStack.pop(); reservedNames = reservedNamesStack.pop(); } function reserveNameInNestedScopes(name) { @@ -115909,84 +117027,84 @@ var ts; if (!node) return; switch (node.kind) { - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: ts.forEach(node.statements, generateNames); break; - case 250 /* SyntaxKind.LabeledStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 253 /* SyntaxKind.LabeledStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: generateNames(node.statement); break; - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: generateNames(node.thenStatement); generateNames(node.elseStatement); break; - case 242 /* SyntaxKind.ForStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 243 /* SyntaxKind.ForInStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: generateNames(node.initializer); generateNames(node.statement); break; - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: generateNames(node.caseBlock); break; - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: ts.forEach(node.clauses, generateNames); break; - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: ts.forEach(node.statements, generateNames); break; - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: generateNames(node.tryBlock); generateNames(node.catchClause); generateNames(node.finallyBlock); break; - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: generateNames(node.variableDeclaration); generateNames(node.block); break; - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: generateNames(node.declarationList); break; - case 255 /* SyntaxKind.VariableDeclarationList */: + case 258 /* SyntaxKind.VariableDeclarationList */: ts.forEach(node.declarations, generateNames); break; - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: - case 203 /* SyntaxKind.BindingElement */: - case 257 /* SyntaxKind.ClassDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 205 /* SyntaxKind.BindingElement */: + case 260 /* SyntaxKind.ClassDeclaration */: generateNameIfNeeded(node.name); break; - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: generateNameIfNeeded(node.name); if (ts.getEmitFlags(node) & 524288 /* EmitFlags.ReuseTempVariableScope */) { ts.forEach(node.parameters, generateNames); generateNames(node.body); } break; - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: ts.forEach(node.elements, generateNames); break; - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: generateNames(node.importClause); break; - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: generateNameIfNeeded(node.name); generateNames(node.namedBindings); break; - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: generateNameIfNeeded(node.name); break; - case 274 /* SyntaxKind.NamespaceExport */: + case 277 /* SyntaxKind.NamespaceExport */: generateNameIfNeeded(node.name); break; - case 269 /* SyntaxKind.NamedImports */: + case 272 /* SyntaxKind.NamedImports */: ts.forEach(node.elements, generateNames); break; - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: generateNameIfNeeded(node.propertyName || node.name); break; } @@ -115995,19 +117113,19 @@ var ts; if (!node) return; switch (node.kind) { - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: generateNameIfNeeded(node.name); break; } } function generateNameIfNeeded(name) { if (name) { - if (ts.isGeneratedIdentifier(name)) { + if (ts.isGeneratedIdentifier(name) || ts.isGeneratedPrivateIdentifier(name)) { generateName(name); } else if (ts.isBindingPattern(name)) { @@ -116022,7 +117140,7 @@ var ts; if ((name.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) === 4 /* GeneratedIdentifierFlags.Node */) { // Node names generate unique names based on their original node // and are cached based on that node's id. - return generateNameCached(getNodeForGeneratedName(name), name.autoGenerateFlags); + return generateNameCached(ts.getNodeForGeneratedName(name), ts.isPrivateIdentifier(name), name.autoGenerateFlags, name.autoGeneratePrefix, name.autoGenerateSuffix); } else { // Auto, Loop, and Unique names are cached based on their unique @@ -116031,9 +117149,9 @@ var ts; return autoGeneratedIdToGeneratedName[autoGenerateId] || (autoGeneratedIdToGeneratedName[autoGenerateId] = makeName(name)); } } - function generateNameCached(node, flags) { + function generateNameCached(node, privateName, flags, prefix, suffix) { var nodeId = ts.getNodeId(node); - return nodeIdToGeneratedName[nodeId] || (nodeIdToGeneratedName[nodeId] = generateNameForNode(node, flags)); + return nodeIdToGeneratedName[nodeId] || (nodeIdToGeneratedName[nodeId] = generateNameForNode(node, privateName, flags !== null && flags !== void 0 ? flags : 0 /* GeneratedIdentifierFlags.None */, ts.formatGeneratedNamePart(prefix, generateName), ts.formatGeneratedNamePart(suffix))); } /** * Returns a value indicating whether a name is unique globally, within the current file, @@ -116065,20 +117183,53 @@ var ts; } return true; } + function getTempFlags(formattedNameKey) { + var _a; + switch (formattedNameKey) { + case "": + return tempFlags; + case "#": + return privateNameTempFlags; + default: + return (_a = formattedNameTempFlags === null || formattedNameTempFlags === void 0 ? void 0 : formattedNameTempFlags.get(formattedNameKey)) !== null && _a !== void 0 ? _a : 0 /* TempFlags.Auto */; + } + } + function setTempFlags(formattedNameKey, flags) { + switch (formattedNameKey) { + case "": + tempFlags = flags; + break; + case "#": + privateNameTempFlags = flags; + break; + default: + formattedNameTempFlags !== null && formattedNameTempFlags !== void 0 ? formattedNameTempFlags : (formattedNameTempFlags = new ts.Map()); + formattedNameTempFlags.set(formattedNameKey, flags); + break; + } + } /** * Return the next available name in the pattern _a ... _z, _0, _1, ... * TempFlags._i or TempFlags._n may be used to express a preference for that dedicated name. * Note that names generated by makeTempVariableName and makeUniqueName will never conflict. */ - function makeTempVariableName(flags, reservedInNestedScopes) { + function makeTempVariableName(flags, reservedInNestedScopes, privateName, prefix, suffix) { + if (prefix.length > 0 && prefix.charCodeAt(0) === 35 /* CharacterCodes.hash */) { + prefix = prefix.slice(1); + } + // Generate a key to use to acquire a TempFlags counter based on the fixed portions of the generated name. + var key = ts.formatGeneratedName(privateName, prefix, "", suffix); + var tempFlags = getTempFlags(key); if (flags && !(tempFlags & flags)) { var name = flags === 268435456 /* TempFlags._i */ ? "_i" : "_n"; - if (isUniqueName(name)) { + var fullName = ts.formatGeneratedName(privateName, prefix, name, suffix); + if (isUniqueName(fullName)) { tempFlags |= flags; if (reservedInNestedScopes) { - reserveNameInNestedScopes(name); + reserveNameInNestedScopes(fullName); } - return name; + setTempFlags(key, tempFlags); + return fullName; } } while (true) { @@ -116089,11 +117240,13 @@ var ts; var name = count < 26 ? "_" + String.fromCharCode(97 /* CharacterCodes.a */ + count) : "_" + (count - 26); - if (isUniqueName(name)) { + var fullName = ts.formatGeneratedName(privateName, prefix, name, suffix); + if (isUniqueName(fullName)) { if (reservedInNestedScopes) { - reserveNameInNestedScopes(name); + reserveNameInNestedScopes(fullName); } - return name; + setTempFlags(key, tempFlags); + return fullName; } } } @@ -116105,17 +117258,24 @@ var ts; * makeUniqueName are guaranteed to never conflict. * If `optimistic` is set, the first instance will use 'baseName' verbatim instead of 'baseName_1' */ - function makeUniqueName(baseName, checkFn, optimistic, scoped) { + function makeUniqueName(baseName, checkFn, optimistic, scoped, privateName, prefix, suffix) { if (checkFn === void 0) { checkFn = isUniqueName; } + if (baseName.length > 0 && baseName.charCodeAt(0) === 35 /* CharacterCodes.hash */) { + baseName = baseName.slice(1); + } + if (prefix.length > 0 && prefix.charCodeAt(0) === 35 /* CharacterCodes.hash */) { + prefix = prefix.slice(1); + } if (optimistic) { - if (checkFn(baseName)) { + var fullName = ts.formatGeneratedName(privateName, prefix, baseName, suffix); + if (checkFn(fullName)) { if (scoped) { - reserveNameInNestedScopes(baseName); + reserveNameInNestedScopes(fullName); } else { - generatedNames.add(baseName); + generatedNames.add(fullName); } - return baseName; + return fullName; } } // Find the first unique 'name_n', where n is a positive number @@ -116124,21 +117284,21 @@ var ts; } var i = 1; while (true) { - var generatedName = baseName + i; - if (checkFn(generatedName)) { + var fullName = ts.formatGeneratedName(privateName, prefix, baseName + i, suffix); + if (checkFn(fullName)) { if (scoped) { - reserveNameInNestedScopes(generatedName); + reserveNameInNestedScopes(fullName); } else { - generatedNames.add(generatedName); + generatedNames.add(fullName); } - return generatedName; + return fullName; } i++; } } function makeFileLevelOptimisticUniqueName(name) { - return makeUniqueName(name, isFileLevelUniqueName, /*optimistic*/ true); + return makeUniqueName(name, isFileLevelUniqueName, /*optimistic*/ true, /*scoped*/ false, /*privateName*/ false, /*prefix*/ "", /*suffix*/ ""); } /** * Generates a unique name for a ModuleDeclaration or EnumDeclaration. @@ -116146,7 +117306,7 @@ var ts; function generateNameForModuleOrEnum(node) { var name = getTextOfNode(node.name); // Use module/enum name itself if it is unique, otherwise make a unique variation - return isUniqueLocalName(name, node) ? name : makeUniqueName(name); + return isUniqueLocalName(name, node) ? name : makeUniqueName(name, isUniqueName, /*optimistic*/ false, /*scoped*/ false, /*privateName*/ false, /*prefix*/ "", /*suffix*/ ""); } /** * Generates a unique name for an ImportDeclaration or ExportDeclaration. @@ -116155,89 +117315,76 @@ var ts; var expr = ts.getExternalModuleName(node); // TODO: GH#18217 var baseName = ts.isStringLiteral(expr) ? ts.makeIdentifierFromModuleName(expr.text) : "module"; - return makeUniqueName(baseName); + return makeUniqueName(baseName, isUniqueName, /*optimistic*/ false, /*scoped*/ false, /*privateName*/ false, /*prefix*/ "", /*suffix*/ ""); } /** * Generates a unique name for a default export. */ function generateNameForExportDefault() { - return makeUniqueName("default"); + return makeUniqueName("default", isUniqueName, /*optimistic*/ false, /*scoped*/ false, /*privateName*/ false, /*prefix*/ "", /*suffix*/ ""); } /** * Generates a unique name for a class expression. */ function generateNameForClassExpression() { - return makeUniqueName("class"); + return makeUniqueName("class", isUniqueName, /*optimistic*/ false, /*scoped*/ false, /*privateName*/ false, /*prefix*/ "", /*suffix*/ ""); } - function generateNameForMethodOrAccessor(node) { + function generateNameForMethodOrAccessor(node, privateName, prefix, suffix) { if (ts.isIdentifier(node.name)) { - return generateNameCached(node.name); + return generateNameCached(node.name, privateName); } - return makeTempVariableName(0 /* TempFlags.Auto */); + return makeTempVariableName(0 /* TempFlags.Auto */, /*reservedInNestedScopes*/ false, privateName, prefix, suffix); } /** * Generates a unique name from a node. */ - function generateNameForNode(node, flags) { + function generateNameForNode(node, privateName, flags, prefix, suffix) { switch (node.kind) { case 79 /* SyntaxKind.Identifier */: - return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* GeneratedIdentifierFlags.Optimistic */), !!(flags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); - case 261 /* SyntaxKind.ModuleDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: + case 80 /* SyntaxKind.PrivateIdentifier */: + return makeUniqueName(getTextOfNode(node), isUniqueName, !!(flags & 16 /* GeneratedIdentifierFlags.Optimistic */), !!(flags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */), privateName, prefix, suffix); + case 264 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + ts.Debug.assert(!prefix && !suffix && !privateName); return generateNameForModuleOrEnum(node); - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + ts.Debug.assert(!prefix && !suffix && !privateName); return generateNameForImportOrExportDeclaration(node); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: + ts.Debug.assert(!prefix && !suffix && !privateName); return generateNameForExportDefault(); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: + ts.Debug.assert(!prefix && !suffix && !privateName); return generateNameForClassExpression(); - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - return generateNameForMethodOrAccessor(node); - case 162 /* SyntaxKind.ComputedPropertyName */: - return makeTempVariableName(0 /* TempFlags.Auto */, /*reserveInNestedScopes*/ true); + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + return generateNameForMethodOrAccessor(node, privateName, prefix, suffix); + case 164 /* SyntaxKind.ComputedPropertyName */: + return makeTempVariableName(0 /* TempFlags.Auto */, /*reserveInNestedScopes*/ true, privateName, prefix, suffix); default: - return makeTempVariableName(0 /* TempFlags.Auto */); + return makeTempVariableName(0 /* TempFlags.Auto */, /*reserveInNestedScopes*/ false, privateName, prefix, suffix); } } /** * Generates a unique identifier for a node. */ function makeName(name) { + var prefix = ts.formatGeneratedNamePart(name.autoGeneratePrefix, generateName); + var suffix = ts.formatGeneratedNamePart(name.autoGenerateSuffix); switch (name.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */) { case 1 /* GeneratedIdentifierFlags.Auto */: - return makeTempVariableName(0 /* TempFlags.Auto */, !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); + return makeTempVariableName(0 /* TempFlags.Auto */, !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */), ts.isPrivateIdentifier(name), prefix, suffix); case 2 /* GeneratedIdentifierFlags.Loop */: - return makeTempVariableName(268435456 /* TempFlags._i */, !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); + ts.Debug.assertNode(name, ts.isIdentifier); + return makeTempVariableName(268435456 /* TempFlags._i */, !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */), /*privateName*/ false, prefix, suffix); case 3 /* GeneratedIdentifierFlags.Unique */: - return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* GeneratedIdentifierFlags.FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* GeneratedIdentifierFlags.Optimistic */), !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */)); - } - return ts.Debug.fail("Unsupported GeneratedIdentifierKind."); - } - /** - * Gets the node from which a name should be generated. - */ - function getNodeForGeneratedName(name) { - var autoGenerateId = name.autoGenerateId; - var node = name; - var original = node.original; - while (original) { - node = original; - // if "node" is a different generated name (having a different - // "autoGenerateId"), use it and stop traversing. - if (ts.isIdentifier(node) - && !!(node.autoGenerateFlags & 4 /* GeneratedIdentifierFlags.Node */) - && node.autoGenerateId !== autoGenerateId) { - break; - } - original = node.original; + return makeUniqueName(ts.idText(name), (name.autoGenerateFlags & 32 /* GeneratedIdentifierFlags.FileLevel */) ? isFileLevelUniqueName : isUniqueName, !!(name.autoGenerateFlags & 16 /* GeneratedIdentifierFlags.Optimistic */), !!(name.autoGenerateFlags & 8 /* GeneratedIdentifierFlags.ReservedInNestedScopes */), ts.isPrivateIdentifier(name), prefix, suffix); } - // otherwise, return the original node for the source; - return node; + return ts.Debug.fail("Unsupported GeneratedIdentifierKind: ".concat(ts.Debug.formatEnum(name.autoGenerateFlags & 7 /* GeneratedIdentifierFlags.KindMask */, ts.GeneratedIdentifierFlags, /*isFlags*/ true), ".")); } // Comments function pipelineEmitWithComments(hint, node) { @@ -116283,7 +117430,7 @@ var ts; // Emit leading comments if the position is not synthesized and the node // has not opted out from emitting leading comments. if (!skipLeadingComments) { - emitLeadingComments(pos, /*isEmittedNode*/ node.kind !== 349 /* SyntaxKind.NotEmittedStatement */); + emitLeadingComments(pos, /*isEmittedNode*/ node.kind !== 352 /* SyntaxKind.NotEmittedStatement */); } if (!skipLeadingComments || (pos >= 0 && (emitFlags & 512 /* EmitFlags.NoLeadingComments */) !== 0)) { // Advance the container position if comments get emitted or if they've been disabled explicitly using NoLeadingComments. @@ -116294,7 +117441,7 @@ var ts; containerEnd = end; // To avoid invalid comment emit in a down-level binding pattern, we // keep track of the last declaration list container's end - if (node.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.kind === 258 /* SyntaxKind.VariableDeclarationList */) { declarationListContainerEnd = end; } } @@ -116313,7 +117460,7 @@ var ts; declarationListContainerEnd = savedDeclarationListContainerEnd; // Emit trailing comments if the position is not synthesized and the node // has not opted out from emitting leading comments and is an emitted node. - if (!skipTrailingComments && node.kind !== 349 /* SyntaxKind.NotEmittedStatement */) { + if (!skipTrailingComments && node.kind !== 352 /* SyntaxKind.NotEmittedStatement */) { emitTrailingComments(end); } } @@ -116594,7 +117741,7 @@ var ts; } else { var source = sourceMapRange.source || sourceMapSource; - if (node.kind !== 349 /* SyntaxKind.NotEmittedStatement */ + if (node.kind !== 352 /* SyntaxKind.NotEmittedStatement */ && (emitFlags & 16 /* EmitFlags.NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) { emitSourcePos(sourceMapRange.source || sourceMapSource, skipSourceTrivia(source, sourceMapRange.pos)); @@ -116612,7 +117759,7 @@ var ts; if (emitFlags & 64 /* EmitFlags.NoNestedSourceMaps */) { sourceMapsDisabled = false; } - if (node.kind !== 349 /* SyntaxKind.NotEmittedStatement */ + if (node.kind !== 352 /* SyntaxKind.NotEmittedStatement */ && (emitFlags & 32 /* EmitFlags.NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) { emitSourcePos(sourceMapRange.source || sourceMapSource, sourceMapRange.end); @@ -116638,7 +117785,7 @@ var ts; return; } var _a = ts.getLineAndCharacterOfPosition(sourceMapSource, pos), sourceLine = _a.line, sourceCharacter = _a.character; - sourceMapGenerator.addMapping(writer.getLine(), writer.getColumn(), sourceMapSourceIndex, sourceLine, sourceCharacter, + sourceMapGenerator.addMapping(writer.getLine(), writer.getColumn(), sourceMapSourceIndex, sourceLine, sourceCharacter, /*nameIndex*/ undefined); } function emitSourcePos(source, pos) { @@ -116777,7 +117924,16 @@ var ts; return cachedReadDirectoryResult.get(ts.ensureTrailingDirectorySeparator(rootDirPath)); } function getCachedFileSystemEntriesForBaseDir(path) { - return getCachedFileSystemEntries(ts.getDirectoryPath(path)); + var entries = getCachedFileSystemEntries(ts.getDirectoryPath(path)); + if (!entries) { + return entries; + } + // If we're looking for the base directory, we're definitely going to search the entries + if (!entries.sortedAndCanonicalizedFiles) { + entries.sortedAndCanonicalizedFiles = entries.files.map(getCanonicalFileName).sort(); + entries.sortedAndCanonicalizedDirectories = entries.directories.map(getCanonicalFileName).sort(); + } + return entries; } function getBaseNameOfFileName(fileName) { return ts.getBaseFileName(ts.normalizePath(fileName)); @@ -116820,21 +117976,10 @@ var ts; return undefined; } } - function fileNameEqual(name1, name2) { - return getCanonicalFileName(name1) === getCanonicalFileName(name2); - } function hasEntry(entries, name) { - return ts.some(entries, function (file) { return fileNameEqual(file, name); }); - } - function updateFileSystemEntry(entries, baseName, isValid) { - if (hasEntry(entries, baseName)) { - if (!isValid) { - return ts.filterMutate(entries, function (entry) { return !fileNameEqual(entry, baseName); }); - } - } - else if (isValid) { - return entries.push(baseName); - } + // Case-sensitive comparison since already canonicalized + var index = ts.binarySearch(entries, name, ts.identity, ts.compareStringsCaseSensitive); + return index >= 0; } function writeFile(fileName, data, writeByteOrderMark) { var path = toPath(fileName); @@ -116847,7 +117992,7 @@ var ts; function fileExists(fileName) { var path = toPath(fileName); var result = getCachedFileSystemEntriesForBaseDir(path); - return result && hasEntry(result.files, getBaseNameOfFileName(fileName)) || + return result && hasEntry(result.sortedAndCanonicalizedFiles, getCanonicalFileName(getBaseNameOfFileName(fileName))) || host.fileExists(fileName); } function directoryExists(dirPath) { @@ -116857,9 +118002,14 @@ var ts; function createDirectory(dirPath) { var path = toPath(dirPath); var result = getCachedFileSystemEntriesForBaseDir(path); - var baseFileName = getBaseNameOfFileName(dirPath); if (result) { - updateFileSystemEntry(result.directories, baseFileName, /*isValid*/ true); + var baseName = getBaseNameOfFileName(dirPath); + var canonicalizedBaseName = getCanonicalFileName(baseName); + var canonicalizedDirectories = result.sortedAndCanonicalizedDirectories; + // Case-sensitive comparison since already canonicalized + if (ts.insertSorted(canonicalizedDirectories, canonicalizedBaseName, ts.compareStringsCaseSensitive)) { + result.directories.push(baseName); + } } host.createDirectory(dirPath); } @@ -116928,7 +118078,7 @@ var ts; fileExists: host.fileExists(fileOrDirectoryPath), directoryExists: host.directoryExists(fileOrDirectoryPath) }; - if (fsQueryResult.directoryExists || hasEntry(parentResult.directories, baseName)) { + if (fsQueryResult.directoryExists || hasEntry(parentResult.sortedAndCanonicalizedDirectories, getCanonicalFileName(baseName))) { // Folder added or removed, clear the cache instead of updating the folder and its structure clearCache(); } @@ -116948,7 +118098,23 @@ var ts; } } function updateFilesOfFileSystemEntry(parentResult, baseName, fileExists) { - updateFileSystemEntry(parentResult.files, baseName, fileExists); + var canonicalizedFiles = parentResult.sortedAndCanonicalizedFiles; + var canonicalizedBaseName = getCanonicalFileName(baseName); + if (fileExists) { + // Case-sensitive comparison since already canonicalized + if (ts.insertSorted(canonicalizedFiles, canonicalizedBaseName, ts.compareStringsCaseSensitive)) { + parentResult.files.push(baseName); + } + } + else { + // Case-sensitive comparison since already canonicalized + var sortedIndex = ts.binarySearch(canonicalizedFiles, canonicalizedBaseName, ts.identity, ts.compareStringsCaseSensitive); + if (sortedIndex >= 0) { + canonicalizedFiles.splice(sortedIndex, 1); + var unsortedIndex = parentResult.files.findIndex(function (entry) { return getCanonicalFileName(entry) === canonicalizedBaseName; }); + parentResult.files.splice(unsortedIndex, 1); + } + } } function clearCache() { cachedReadDirectoryResult.clear(); @@ -117428,14 +118594,16 @@ var ts; } return setReadFileCache(key, fileName); }; - var getSourceFileWithCache = getSourceFile ? function (fileName, languageVersion, onError, shouldCreateNewSourceFile) { + var getSourceFileWithCache = getSourceFile ? function (fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile) { var key = toPath(fileName); - var value = sourceFileCache.get(key); + var impliedNodeFormat = typeof languageVersionOrOptions === "object" ? languageVersionOrOptions.impliedNodeFormat : undefined; + var forImpliedNodeFormat = sourceFileCache.get(impliedNodeFormat); + var value = forImpliedNodeFormat === null || forImpliedNodeFormat === void 0 ? void 0 : forImpliedNodeFormat.get(key); if (value) return value; - var sourceFile = getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile); + var sourceFile = getSourceFile(fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile); if (sourceFile && (ts.isDeclarationFileName(fileName) || ts.fileExtensionIs(fileName, ".json" /* Extension.Json */))) { - sourceFileCache.set(key, sourceFile); + sourceFileCache.set(impliedNodeFormat, (forImpliedNodeFormat || new ts.Map()).set(key, sourceFile)); } return sourceFile; } : undefined; @@ -117460,13 +118628,15 @@ var ts; var value = readFileCache.get(key); if (value !== undefined && value !== data) { readFileCache.delete(key); - sourceFileCache.delete(key); + sourceFileCache.forEach(function (map) { return map.delete(key); }); } else if (getSourceFileWithCache) { - var sourceFile = sourceFileCache.get(key); - if (sourceFile && sourceFile.text !== data) { - sourceFileCache.delete(key); - } + sourceFileCache.forEach(function (map) { + var sourceFile = map.get(key); + if (sourceFile && sourceFile.text !== data) { + map.delete(key); + } + }); } originalWriteFile.call.apply(originalWriteFile, __spreadArray([host, fileName, data], rest, false)); }; @@ -117708,7 +118878,6 @@ var ts; return resolutions; } ts.loadWithTypeDirectiveCache = loadWithTypeDirectiveCache; - ; /** * Calculates the resulting resolution mode for some reference in some file - this is generally the explicitly * provided resolution mode in the reference, unless one is not present, in which case it is the mode of the containing file. @@ -117908,7 +119077,7 @@ var ts; * Determines if program structure is upto date or needs to be recreated */ /* @internal */ - function isProgramUptoDate(program, rootFileNames, newOptions, getSourceVersion, fileExists, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences) { + function isProgramUptoDate(program, rootFileNames, newOptions, getSourceVersion, fileExists, hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences) { // If we haven't created a program yet or have changed automatic type directives, then it is not up-to-date if (!program || (hasChangedAutomaticTypeDirectiveNames === null || hasChangedAutomaticTypeDirectiveNames === void 0 ? void 0 : hasChangedAutomaticTypeDirectiveNames())) return false; @@ -117936,7 +119105,7 @@ var ts; return true; function sourceFileNotUptoDate(sourceFile) { return !sourceFileVersionUptoDate(sourceFile) || - hasInvalidatedResolution(sourceFile.path); + hasInvalidatedResolutions(sourceFile.path); } function sourceFileVersionUptoDate(sourceFile) { return sourceFile.version === getSourceVersion(sourceFile.resolvedPath, sourceFile.fileName); @@ -118013,7 +119182,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -118182,7 +119351,7 @@ var ts; var moduleResolutionCache; var typeReferenceDirectiveResolutionCache; var actualResolveModuleNamesWorker; - var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; + var hasInvalidatedResolutions = host.hasInvalidatedResolutions || ts.returnFalse; if (host.resolveModuleNames) { actualResolveModuleNamesWorker = function (moduleNames, containingFile, containingFileName, reusedNames, redirectedReference) { return host.resolveModuleNames(ts.Debug.checkEachDefined(moduleNames), containingFileName, reusedNames, redirectedReference, options, containingFile).map(function (resolved) { // An older host may have omitted extension, in which case we should infer it from the file extension of resolvedFileName. @@ -118629,7 +119798,7 @@ var ts; for (var i = 0; i < moduleNames.length; i++) { var moduleName = moduleNames[i]; // If the source file is unchanged and doesnt have invalidated resolution, reuse the module resolutions - if (file === oldSourceFile && !hasInvalidatedResolution(oldSourceFile.path)) { + if (file === oldSourceFile && !hasInvalidatedResolutions(oldSourceFile.path)) { var oldResolvedModule = ts.getResolvedModule(oldSourceFile, moduleName, getModeForResolutionAtIndex(oldSourceFile, i)); if (oldResolvedModule) { if (ts.isTraceEnabled(options, host)) { @@ -118865,7 +120034,7 @@ var ts; // tentatively approve the file modifiedSourceFiles.push({ oldFile: oldSourceFile, newFile: newSourceFile }); } - else if (hasInvalidatedResolution(oldSourceFile.path)) { + else if (hasInvalidatedResolutions(oldSourceFile.path)) { // 'module/types' references could have changed structureIsReused = 1 /* StructureIsReused.SafeModules */; // add file to the modified list so that we will resolve it later @@ -118995,10 +120164,10 @@ var ts; ts.Debug.assert(!ts.outFile(options)); ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("emit" /* tracing.Phase.Emit */, "emitBuildInfo", {}, /*separateBeginAndEnd*/ true); ts.performance.mark("beforeEmit"); - var emitResult = ts.emitFiles(ts.notImplementedResolver, getEmitHost(writeFileCallback), - /*targetSourceFile*/ undefined, - /*transformers*/ ts.noTransformers, - /*emitOnlyDtsFiles*/ false, + var emitResult = ts.emitFiles(ts.notImplementedResolver, getEmitHost(writeFileCallback), + /*targetSourceFile*/ undefined, + /*transformers*/ ts.noTransformers, + /*emitOnlyDtsFiles*/ false, /*onlyBuildInfo*/ true); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); @@ -119069,7 +120238,7 @@ var ts; // checked is to not pass the file to getEmitResolver. var emitResolver = getTypeChecker().getEmitResolver(ts.outFile(options) ? undefined : sourceFile, cancellationToken); ts.performance.mark("beforeEmit"); - var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, ts.getTransformers(options, customTransformers, emitOnlyDtsFiles), emitOnlyDtsFiles, + var emitResult = ts.emitFiles(emitResolver, getEmitHost(writeFileCallback), sourceFile, ts.getTransformers(options, customTransformers, emitOnlyDtsFiles), emitOnlyDtsFiles, /*onlyBuildInfo*/ false, forceDtsEmit); ts.performance.mark("afterEmit"); ts.performance.measure("Emit", "beforeEmit", "afterEmit"); @@ -119253,22 +120422,22 @@ var ts; // Return directly from the case if the given node doesnt want to visit each child // Otherwise break to visit each child switch (parent.kind) { - case 164 /* SyntaxKind.Parameter */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: if (parent.questionToken === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, "?")); return "skip"; } // falls through - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 214 /* SyntaxKind.ArrowFunction */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 216 /* SyntaxKind.ArrowFunction */: + case 257 /* SyntaxKind.VariableDeclaration */: // type annotation if (parent.type === node) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Type_annotations_can_only_be_used_in_TypeScript_files)); @@ -119276,65 +120445,68 @@ var ts; } } switch (node.kind) { - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, "import type")); return "skip"; } break; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, "export type")); return "skip"; } break; - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: if (node.isTypeOnly) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, ts.isImportSpecifier(node) ? "import...type" : "export...type")); return "skip"; } break; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.import_can_only_be_used_in_TypeScript_files)); return "skip"; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: if (node.isExportEquals) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.export_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 291 /* SyntaxKind.HeritageClause */: + case 294 /* SyntaxKind.HeritageClause */: var heritageClause = node; if (heritageClause.token === 117 /* SyntaxKind.ImplementsKeyword */) { diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.implements_clauses_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: var interfaceKeyword = ts.tokenToString(118 /* SyntaxKind.InterfaceKeyword */); ts.Debug.assertIsDefined(interfaceKeyword); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, interfaceKeyword)); return "skip"; - case 261 /* SyntaxKind.ModuleDeclaration */: - var moduleKeyword = node.flags & 16 /* NodeFlags.Namespace */ ? ts.tokenToString(142 /* SyntaxKind.NamespaceKeyword */) : ts.tokenToString(141 /* SyntaxKind.ModuleKeyword */); + case 264 /* SyntaxKind.ModuleDeclaration */: + var moduleKeyword = node.flags & 16 /* NodeFlags.Namespace */ ? ts.tokenToString(143 /* SyntaxKind.NamespaceKeyword */) : ts.tokenToString(142 /* SyntaxKind.ModuleKeyword */); ts.Debug.assertIsDefined(moduleKeyword); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, moduleKeyword)); return "skip"; - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Type_aliases_can_only_be_used_in_TypeScript_files)); return "skip"; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: var enumKeyword = ts.Debug.checkDefined(ts.tokenToString(92 /* SyntaxKind.EnumKeyword */)); diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics._0_declarations_can_only_be_used_in_TypeScript_files, enumKeyword)); return "skip"; - case 230 /* SyntaxKind.NonNullExpression */: + case 232 /* SyntaxKind.NonNullExpression */: diagnostics.push(createDiagnosticForNode(node, ts.Diagnostics.Non_null_assertions_can_only_be_used_in_TypeScript_files)); return "skip"; - case 229 /* SyntaxKind.AsExpression */: + case 231 /* SyntaxKind.AsExpression */: diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.Type_assertion_expressions_can_only_be_used_in_TypeScript_files)); return "skip"; - case 211 /* SyntaxKind.TypeAssertionExpression */: + case 235 /* SyntaxKind.SatisfiesExpression */: + diagnostics.push(createDiagnosticForNode(node.type, ts.Diagnostics.Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files)); + return "skip"; + case 213 /* SyntaxKind.TypeAssertionExpression */: ts.Debug.fail(); // Won't parse these in a JS file anyway, as they are interpreted as JSX. } } @@ -119343,53 +120515,55 @@ var ts; diagnostics.push(createDiagnosticForNode(parent, ts.Diagnostics.Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning)); } switch (parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 214 /* SyntaxKind.ArrowFunction */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 216 /* SyntaxKind.ArrowFunction */: // Check type parameters if (nodes === parent.typeParameters) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Type_parameter_declarations_can_only_be_used_in_TypeScript_files)); return "skip"; } // falls through - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: // Check modifiers if (nodes === parent.modifiers) { - checkModifiers(parent.modifiers, parent.kind === 237 /* SyntaxKind.VariableStatement */); + checkModifiers(parent.modifiers, parent.kind === 240 /* SyntaxKind.VariableStatement */); return "skip"; } break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: // Check modifiers of property declaration if (nodes === parent.modifiers) { for (var _i = 0, _a = nodes; _i < _a.length; _i++) { var modifier = _a[_i]; - if (ts.isModifier(modifier) && modifier.kind !== 124 /* SyntaxKind.StaticKeyword */) { + if (ts.isModifier(modifier) + && modifier.kind !== 124 /* SyntaxKind.StaticKeyword */ + && modifier.kind !== 127 /* SyntaxKind.AccessorKeyword */) { diagnostics.push(createDiagnosticForNode(modifier, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, ts.tokenToString(modifier.kind))); } } return "skip"; } break; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: // Check modifiers of parameter declaration if (nodes === parent.modifiers && ts.some(nodes, ts.isModifier)) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Parameter_modifiers_can_only_be_used_in_TypeScript_files)); return "skip"; } break; - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 280 /* SyntaxKind.JsxOpeningElement */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: // Check type arguments if (nodes === parent.typeArguments) { diagnostics.push(createDiagnosticForNodeArray(nodes, ts.Diagnostics.Type_arguments_can_only_be_used_in_TypeScript_files)); @@ -119411,18 +120585,19 @@ var ts; case 123 /* SyntaxKind.PublicKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 126 /* SyntaxKind.AbstractKeyword */: - case 159 /* SyntaxKind.OverrideKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: case 101 /* SyntaxKind.InKeyword */: - case 144 /* SyntaxKind.OutKeyword */: + case 145 /* SyntaxKind.OutKeyword */: diagnostics.push(createDiagnosticForNode(modifier, ts.Diagnostics.The_0_modifier_can_only_be_used_in_TypeScript_files, ts.tokenToString(modifier.kind))); break; // These are all legal modifiers. case 124 /* SyntaxKind.StaticKeyword */: case 93 /* SyntaxKind.ExportKeyword */: case 88 /* SyntaxKind.DefaultKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: } } } @@ -119744,7 +120919,7 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -119989,8 +121164,8 @@ var ts; } function processReferencedFiles(file, isDefaultLib) { ts.forEach(file.referencedFiles, function (ref, index) { - processSourceFile(resolveTripleslashReference(ref.fileName, file.fileName), isDefaultLib, - /*ignoreNoDefaultLib*/ false, + processSourceFile(resolveTripleslashReference(ref.fileName, file.fileName), isDefaultLib, + /*ignoreNoDefaultLib*/ false, /*packageId*/ undefined, { kind: ts.FileIncludeKind.ReferenceFile, file: file.path, index: index, }); }); } @@ -120145,8 +121320,8 @@ var ts; modulesWithElidedImports.set(file.path, true); } else if (shouldAddFile) { - findSourceFile(resolvedFileName, - /*isDefaultLib*/ false, + findSourceFile(resolvedFileName, + /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, { kind: ts.FileIncludeKind.Import, file: file.path, index: index, }, resolution.packageId); } if (isFromNodeModulesSearch) { @@ -120347,10 +121522,12 @@ var ts; if (options.preserveConstEnums === false) { createDiagnosticForOptionName(ts.Diagnostics.Option_preserveConstEnums_cannot_be_disabled_when_isolatedModules_is_enabled, "preserveConstEnums", "isolatedModules"); } - var firstNonExternalModuleSourceFile = ts.find(files, function (f) { return !ts.isExternalModule(f) && !ts.isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== 6 /* ScriptKind.JSON */; }); - if (firstNonExternalModuleSourceFile) { - var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile); - programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(firstNonExternalModuleSourceFile.fileName))); + for (var _a = 0, files_5 = files; _a < files_5.length; _a++) { + var file = files_5[_a]; + if (!ts.isExternalModule(file) && !ts.isSourceFileJS(file) && !file.isDeclarationFile && file.scriptKind !== 6 /* ScriptKind.JSON */) { + var span = ts.getErrorSpanForNode(file, file); + programDiagnostics.add(ts.createFileDiagnostic(file, span.start, span.length, ts.Diagnostics._0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module, ts.getBaseFileName(file.fileName))); + } } } else if (firstNonAmbientExternalModuleSourceFile && languageVersion < 2 /* ScriptTarget.ES2015 */ && options.module === ts.ModuleKind.None) { @@ -121361,9 +122538,9 @@ var ts; if (latestSignature !== prevSignature) { updateExportedModules(state, sourceFile, sourceFiles[0].exportedModulesFromDeclarationEmit); } - }, cancellationToken, - /*emitOnlyDtsFiles*/ true, - /*customTransformers*/ undefined, + }, cancellationToken, + /*emitOnlyDtsFiles*/ true, + /*customTransformers*/ undefined, /*forceDtsEmit*/ true); } // Default is to use file version as signature @@ -121601,10 +122778,16 @@ var ts; var oldCompilerOptions = useOldState ? oldState.compilerOptions : undefined; var canCopySemanticDiagnostics = useOldState && oldState.semanticDiagnosticsPerFile && !!state.semanticDiagnosticsPerFile && !ts.compilerOptionsAffectSemanticDiagnostics(compilerOptions, oldCompilerOptions); + // We can only reuse emit signatures (i.e. .d.ts signatures) if the .d.ts file is unchanged, + // which will eg be depedent on change in options like declarationDir and outDir options are unchanged. + // We need to look in oldState.compilerOptions, rather than oldCompilerOptions (i.e.we need to disregard useOldState) because + // oldCompilerOptions can be undefined if there was change in say module from None to some other option + // which would make useOldState as false since we can now use reference maps that are needed to track what to emit, what to check etc + // but that option change does not affect d.ts file name so emitSignatures should still be reused. var canCopyEmitSignatures = compilerOptions.composite && (oldState === null || oldState === void 0 ? void 0 : oldState.emitSignatures) && !outFilePath && - !ts.compilerOptionsAffectDeclarationPath(compilerOptions, oldCompilerOptions); + !ts.compilerOptionsAffectDeclarationPath(compilerOptions, oldState.compilerOptions); if (useOldState) { // Copy old state's changed files set (_a = oldState.changedFilesSet) === null || _a === void 0 ? void 0 : _a.forEach(function (value) { return state.changedFilesSet.add(value); }); @@ -122392,11 +123575,11 @@ var ts; return undefined; } var affected_1 = ts.Debug.checkDefined(state.program); - return toAffectedFileEmitResult(state, + return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file - affected_1.emitBuildInfo(writeFile || ts.maybeBind(host, host.writeFile), cancellationToken), affected_1, 1 /* BuilderFileEmit.Full */, - /*isPendingEmitFile*/ false, + affected_1.emitBuildInfo(writeFile || ts.maybeBind(host, host.writeFile), cancellationToken), affected_1, 1 /* BuilderFileEmit.Full */, + /*isPendingEmitFile*/ false, /*isBuildInfoEmit*/ true); } (affected = pendingAffectedFile.affectedFile, emitKind = pendingAffectedFile.emitKind); @@ -122409,7 +123592,7 @@ var ts; affected = program; } } - return toAffectedFileEmitResult(state, + return toAffectedFileEmitResult(state, // When whole program is affected, do emit only once (eg when --out or --outFile is specified) // Otherwise just affected file ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, ts.getEmitDeclarations(state.compilerOptions) ? @@ -122819,7 +124002,7 @@ var ts; var isNonDirectorySeparatorRoot = rootLength > 1 || dirPath.charCodeAt(0) !== 47 /* CharacterCodes.slash */; if (isNonDirectorySeparatorRoot && dirPath.search(/[a-zA-Z]:/) !== 0 && // Non dos style paths - pathPartForUserCheck.search(/[a-zA-z]\$\//) === 0) { // Dos style nextPart + pathPartForUserCheck.search(/[a-zA-Z]\$\//) === 0) { // Dos style nextPart nextDirectorySeparator = dirPath.indexOf(ts.directorySeparator, nextDirectorySeparator + 1); if (nextDirectorySeparator === -1) { // ignore "//vda1cs4850/c$/folderAtRoot" @@ -122865,11 +124048,11 @@ var ts; var resolvedModuleNames = new ts.Map(); var perDirectoryResolvedModuleNames = ts.createCacheWithRedirects(); var nonRelativeModuleNameCache = ts.createCacheWithRedirects(); - var moduleResolutionCache = ts.createModuleResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, + var moduleResolutionCache = ts.createModuleResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, /*options*/ undefined, perDirectoryResolvedModuleNames, nonRelativeModuleNameCache); var resolvedTypeReferenceDirectives = new ts.Map(); var perDirectoryResolvedTypeReferenceDirectives = ts.createCacheWithRedirects(); - var typeReferenceDirectiveResolutionCache = ts.createTypeReferenceDirectiveResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, + var typeReferenceDirectiveResolutionCache = ts.createTypeReferenceDirectiveResolutionCache(getCurrentDirectory(), resolutionHost.getCanonicalFileName, /*options*/ undefined, moduleResolutionCache.getPackageJsonInfoCache(), perDirectoryResolvedTypeReferenceDirectives); /** * These are the extensions that failed lookup files will have by default, @@ -122903,7 +124086,7 @@ var ts; invalidateResolutionOfFile: invalidateResolutionOfFile, invalidateResolutionsOfFailedLookupLocations: invalidateResolutionsOfFailedLookupLocations, setFilesWithInvalidatedNonRelativeUnresolvedImports: setFilesWithInvalidatedNonRelativeUnresolvedImports, - createHasInvalidatedResolution: createHasInvalidatedResolution, + createHasInvalidatedResolutions: createHasInvalidatedResolutions, isFileWithInvalidatedNonRelativeUnresolvedImports: isFileWithInvalidatedNonRelativeUnresolvedImports, updateTypeRootsWatch: updateTypeRootsWatch, closeTypeRootsWatch: closeTypeRootsWatch, @@ -122958,17 +124141,13 @@ var ts; var value = filesWithInvalidatedNonRelativeUnresolvedImports.get(path); return !!value && !!value.length; } - function createHasInvalidatedResolution(forceAllFilesAsInvalidated) { + function createHasInvalidatedResolutions(customHasInvalidatedResolutions) { // Ensure pending resolutions are applied invalidateResolutionsOfFailedLookupLocations(); - if (forceAllFilesAsInvalidated) { - // Any file asked would have invalidated resolution - filesWithInvalidatedResolutions = undefined; - return ts.returnTrue; - } var collected = filesWithInvalidatedResolutions; filesWithInvalidatedResolutions = undefined; - return function (path) { return (!!collected && collected.has(path)) || + return function (path) { return customHasInvalidatedResolutions(path) || + !!(collected === null || collected === void 0 ? void 0 : collected.has(path)) || isFileWithInvalidatedNonRelativeUnresolvedImports(path); }; } function startCachingPerDirectoryResolution() { @@ -124068,7 +125247,7 @@ var ts; var getCanonicalFileName = ts.hostGetCanonicalFileName(host); var allFileNames = new ts.Map(); var importedFileFromNodeModules = false; - forEachFileNameOfModule(importingFileName, importedFileName, host, + forEachFileNameOfModule(importingFileName, importedFileName, host, /*preferSymlinks*/ true, function (path, isRedirect) { var isInNodeModules = ts.pathContainsNodeModules(path); allFileNames.set(path, { path: getCanonicalFileName(path), isRedirect: isRedirect, isInNodeModules: isInNodeModules }); @@ -124329,15 +125508,21 @@ var ts; return undefined; } function tryGetModuleNameFromRootDirs(rootDirs, moduleFileName, sourceDirectory, getCanonicalFileName, ending, compilerOptions) { - var normalizedTargetPath = getPathRelativeToRootDirs(moduleFileName, rootDirs, getCanonicalFileName); - if (normalizedTargetPath === undefined) { + var normalizedTargetPaths = getPathsRelativeToRootDirs(moduleFileName, rootDirs, getCanonicalFileName); + if (normalizedTargetPaths === undefined) { + return undefined; + } + var normalizedSourcePaths = getPathsRelativeToRootDirs(sourceDirectory, rootDirs, getCanonicalFileName); + var relativePaths = ts.flatMap(normalizedSourcePaths, function (sourcePath) { + return ts.map(normalizedTargetPaths, function (targetPath) { return ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(sourcePath, targetPath, getCanonicalFileName)); }); + }); + var shortest = ts.min(relativePaths, ts.compareNumberOfDirectorySeparators); + if (!shortest) { return undefined; } - var normalizedSourcePath = getPathRelativeToRootDirs(sourceDirectory, rootDirs, getCanonicalFileName); - var relativePath = normalizedSourcePath !== undefined ? ts.ensurePathIsNonModuleName(ts.getRelativePathFromDirectory(normalizedSourcePath, normalizedTargetPath, getCanonicalFileName)) : normalizedTargetPath; return ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs - ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions) - : ts.removeFileExtension(relativePath); + ? removeExtensionAndIndexPostFix(shortest, ending, compilerOptions) + : ts.removeFileExtension(shortest); } function tryGetModuleNameAsNodeModule(_a, _b, importingSourceFile, host, options, userPreferences, packageNameOnly, overrideMode) { var path = _a.path, isRedirect = _a.isRedirect; @@ -124405,7 +125590,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -124474,8 +125659,8 @@ var ts; } } } - function getPathRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { - return ts.firstDefined(rootDirs, function (rootDir) { + function getPathsRelativeToRootDirs(path, rootDirs, getCanonicalFileName) { + return ts.mapDefined(rootDirs, function (rootDir) { var relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); return relativePath !== undefined && isPathRelativeToParent(relativePath) ? undefined : relativePath; }); @@ -124767,7 +125952,7 @@ var ts; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( - /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } @@ -125186,18 +126371,14 @@ var ts; if (host.getBuildInfo) { // host provides buildinfo, get it from there. This allows host to cache it buildInfo = host.getBuildInfo(buildInfoPath, compilerOptions.configFilePath); - if (!buildInfo) - return undefined; } else { var content = host.readFile(buildInfoPath); if (!content) return undefined; - buildInfo = ts.getBuildInfo(content); + buildInfo = ts.getBuildInfo(buildInfoPath, content); } - if (buildInfo.version !== ts.version) - return undefined; - if (!buildInfo.program) + if (!buildInfo || buildInfo.version !== ts.version || !buildInfo.program) return undefined; return ts.createBuilderProgramUsingProgramBuildInfo(buildInfo.program, buildInfoPath, host); } @@ -125327,7 +126508,7 @@ var ts; // Cache for the module resolution var resolutionCache = ts.createResolutionCache(compilerHost, configFileName ? ts.getDirectoryPath(ts.getNormalizedAbsolutePath(configFileName, currentDirectory)) : - currentDirectory, + currentDirectory, /*logChangesWhenResolvingModule*/ false); // Resolve module using host module resolution strategy if provided otherwise use resolution cache to resolve module names compilerHost.resolveModuleNames = host.resolveModuleNames ? @@ -125352,6 +126533,10 @@ var ts; ts.maybeBind(host, host.getModuleResolutionCache) : (function () { return resolutionCache.getModuleResolutionCache(); }); var userProvidedResolution = !!host.resolveModuleNames || !!host.resolveTypeReferenceDirectives; + // All resolutions are invalid if user provided resolutions and didnt supply hasInvalidatedResolutions + var customHasInvalidatedResolutions = userProvidedResolution ? + ts.maybeBind(host, host.hasInvalidatedResolutions) || ts.returnTrue : + ts.returnFalse; builderProgram = readBuilderProgram(compilerOptions, compilerHost); synchronizeProgram(); // Update the wild card directory watch @@ -125417,9 +126602,9 @@ var ts; resolutionCache.clear(); } } - // All resolutions are invalid if user provided resolutions - var hasInvalidatedResolution = resolutionCache.createHasInvalidatedResolution(userProvidedResolution); - if (ts.isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, getSourceVersion, fileExists, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + var hasInvalidatedResolutions = resolutionCache.createHasInvalidatedResolutions(customHasInvalidatedResolutions); + var _a = ts.changeCompilerHostLikeToUseCache(compilerHost, toPath), originalReadFile = _a.originalReadFile, originalFileExists = _a.originalFileExists, originalDirectoryExists = _a.originalDirectoryExists, originalCreateDirectory = _a.originalCreateDirectory, originalWriteFile = _a.originalWriteFile; + if (ts.isProgramUptoDate(getCurrentProgram(), rootFileNames, compilerOptions, getSourceVersion, function (fileName) { return compilerHost.fileExists(fileName); }, hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { if (hasChangedConfigFileParsingErrors) { if (reportFileChangeDetectedOnCreateProgram) { reportWatchDiagnostic(ts.Diagnostics.File_change_detected_Starting_incremental_compilation); @@ -125432,15 +126617,20 @@ var ts; if (reportFileChangeDetectedOnCreateProgram) { reportWatchDiagnostic(ts.Diagnostics.File_change_detected_Starting_incremental_compilation); } - createNewProgram(hasInvalidatedResolution); + createNewProgram(hasInvalidatedResolutions); } reportFileChangeDetectedOnCreateProgram = false; if (host.afterProgramCreate && program !== builderProgram) { host.afterProgramCreate(builderProgram); } + compilerHost.readFile = originalReadFile; + compilerHost.fileExists = originalFileExists; + compilerHost.directoryExists = originalDirectoryExists; + compilerHost.createDirectory = originalCreateDirectory; + compilerHost.writeFile = originalWriteFile; return builderProgram; } - function createNewProgram(hasInvalidatedResolution) { + function createNewProgram(hasInvalidatedResolutions) { // Compile the program writeLog("CreatingProgramWith::"); writeLog(" roots: ".concat(JSON.stringify(rootFileNames))); @@ -125451,7 +126641,7 @@ var ts; hasChangedCompilerOptions = false; hasChangedConfigFileParsingErrors = false; resolutionCache.startCachingPerDirectoryResolution(); - compilerHost.hasInvalidatedResolution = hasInvalidatedResolution; + compilerHost.hasInvalidatedResolutions = hasInvalidatedResolutions; compilerHost.hasChangedAutomaticTypeDirectiveNames = hasChangedAutomaticTypeDirectiveNames; var oldProgram = getCurrentProgram(); builderProgram = createProgram(rootFileNames, compilerOptions, compilerHost, builderProgram, configFileParsingDiagnostics, projectReferences); @@ -125719,7 +126909,7 @@ var ts; // Ignore the file absent errors var onUnRecoverableConfigFileDiagnostic = parseConfigFileHost.onUnRecoverableConfigFileDiagnostic; parseConfigFileHost.onUnRecoverableConfigFileDiagnostic = ts.noop; - var parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configFileName, + var parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configFileName, /*optionsToExtend*/ undefined, parseConfigFileHost, extendedConfigCache || (extendedConfigCache = new ts.Map()), watchOptionsToExtend); parseConfigFileHost.onUnRecoverableConfigFileDiagnostic = onUnRecoverableConfigFileDiagnostic; return parsedCommandLine; @@ -125915,19 +127105,20 @@ var ts; */ UpToDateStatusType[UpToDateStatusType["OutOfDateWithPrepend"] = 3] = "OutOfDateWithPrepend"; UpToDateStatusType[UpToDateStatusType["OutputMissing"] = 4] = "OutputMissing"; - UpToDateStatusType[UpToDateStatusType["OutOfDateWithSelf"] = 5] = "OutOfDateWithSelf"; - UpToDateStatusType[UpToDateStatusType["OutOfDateWithUpstream"] = 6] = "OutOfDateWithUpstream"; - UpToDateStatusType[UpToDateStatusType["OutOfDateBuildInfo"] = 7] = "OutOfDateBuildInfo"; - UpToDateStatusType[UpToDateStatusType["UpstreamOutOfDate"] = 8] = "UpstreamOutOfDate"; - UpToDateStatusType[UpToDateStatusType["UpstreamBlocked"] = 9] = "UpstreamBlocked"; - UpToDateStatusType[UpToDateStatusType["ComputingUpstream"] = 10] = "ComputingUpstream"; - UpToDateStatusType[UpToDateStatusType["TsVersionOutputOfDate"] = 11] = "TsVersionOutputOfDate"; - UpToDateStatusType[UpToDateStatusType["UpToDateWithInputFileText"] = 12] = "UpToDateWithInputFileText"; + UpToDateStatusType[UpToDateStatusType["ErrorReadingFile"] = 5] = "ErrorReadingFile"; + UpToDateStatusType[UpToDateStatusType["OutOfDateWithSelf"] = 6] = "OutOfDateWithSelf"; + UpToDateStatusType[UpToDateStatusType["OutOfDateWithUpstream"] = 7] = "OutOfDateWithUpstream"; + UpToDateStatusType[UpToDateStatusType["OutOfDateBuildInfo"] = 8] = "OutOfDateBuildInfo"; + UpToDateStatusType[UpToDateStatusType["UpstreamOutOfDate"] = 9] = "UpstreamOutOfDate"; + UpToDateStatusType[UpToDateStatusType["UpstreamBlocked"] = 10] = "UpstreamBlocked"; + UpToDateStatusType[UpToDateStatusType["ComputingUpstream"] = 11] = "ComputingUpstream"; + UpToDateStatusType[UpToDateStatusType["TsVersionOutputOfDate"] = 12] = "TsVersionOutputOfDate"; + UpToDateStatusType[UpToDateStatusType["UpToDateWithInputFileText"] = 13] = "UpToDateWithInputFileText"; /** * Projects with no outputs (i.e. "solution" files) */ - UpToDateStatusType[UpToDateStatusType["ContainerOnly"] = 13] = "ContainerOnly"; - UpToDateStatusType[UpToDateStatusType["ForceBuild"] = 14] = "ForceBuild"; + UpToDateStatusType[UpToDateStatusType["ContainerOnly"] = 14] = "ContainerOnly"; + UpToDateStatusType[UpToDateStatusType["ForceBuild"] = 15] = "ForceBuild"; })(UpToDateStatusType = ts.UpToDateStatusType || (ts.UpToDateStatusType = {})); function resolveConfigFileProjectName(project) { if (ts.fileExtensionIs(project, ".json" /* Extension.Json */)) { @@ -126145,6 +127336,7 @@ var ts; if (value) { return isParsedCommandLine(value) ? value : undefined; } + ts.performance.mark("SolutionBuilder::beforeConfigFileParsing"); var diagnostic; var parseConfigFileHost = state.parseConfigFileHost, baseCompilerOptions = state.baseCompilerOptions, baseWatchOptions = state.baseWatchOptions, extendedConfigCache = state.extendedConfigCache, host = state.host; var parsed; @@ -126159,6 +127351,8 @@ var ts; parseConfigFileHost.onUnRecoverableConfigFileDiagnostic = ts.noop; } configFileCache.set(configFilePath, parsed || diagnostic); + ts.performance.mark("SolutionBuilder::afterConfigFileParsing"); + ts.performance.measure("SolutionBuilder::Config file parsing", "SolutionBuilder::beforeConfigFileParsing", "SolutionBuilder::afterConfigFileParsing"); return parsed; } function resolveProjectName(state, name) { @@ -126358,6 +127552,7 @@ var ts; if (updateOutputFileStampsPending) { updateOutputTimestamps(state, config, projectPath); } + ts.performance.mark("SolutionBuilder::Timestamps only updates"); return doneInvalidatedProject(state, projectPath); } }; @@ -126451,6 +127646,10 @@ var ts; }; function done(cancellationToken, writeFile, customTransformers) { executeSteps(BuildStep.Done, cancellationToken, writeFile, customTransformers); + if (kind === InvalidatedProjectKind.Build) + ts.performance.mark("SolutionBuilder::Projects built"); + else + ts.performance.mark("SolutionBuilder::Bundles updated"); return doneInvalidatedProject(state, projectPath); } function withProgramOrUndefined(action) { @@ -126520,9 +127719,9 @@ var ts; var declDiagnostics; var reportDeclarationDiagnostics = function (d) { return (declDiagnostics || (declDiagnostics = [])).push(d); }; var outputFiles = []; - var emitResult = ts.emitFilesAndReportErrors(program, reportDeclarationDiagnostics, - /*write*/ undefined, - /*reportSummary*/ undefined, function (name, text, writeByteOrderMark, _onError, _sourceFiles, data) { return outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark, buildInfo: data === null || data === void 0 ? void 0 : data.buildInfo }); }, cancellationToken, + var emitResult = ts.emitFilesAndReportErrors(program, reportDeclarationDiagnostics, + /*write*/ undefined, + /*reportSummary*/ undefined, function (name, text, writeByteOrderMark, _onError, _sourceFiles, data) { return outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark, buildInfo: data === null || data === void 0 ? void 0 : data.buildInfo }); }, cancellationToken, /*emitOnlyDts*/ false, customTransformers || ((_c = (_b = state.host).getCustomTransformers) === null || _c === void 0 ? void 0 : _c.call(_b, project))).emitResult; // Don't emit .d.ts if there are decl file errors if (declDiagnostics) { @@ -126629,13 +127828,13 @@ var ts; var emitterDiagnostics = ts.createDiagnosticCollection(); var emittedOutputs = new ts.Map(); var resultFlags = BuildResultFlags.DeclarationOutputUnchanged; - var existingBuildInfo = state.buildInfoCache.get(projectPath).buildInfo; + var existingBuildInfo = state.buildInfoCache.get(projectPath).buildInfo || undefined; outputFiles.forEach(function (_a) { var _b, _c; var name = _a.name, text = _a.text, writeByteOrderMark = _a.writeByteOrderMark, buildInfo = _a.buildInfo; emittedOutputs.set(toPath(state, name), name); if (buildInfo) { - if (((_b = buildInfo.program) === null || _b === void 0 ? void 0 : _b.outSignature) !== ((_c = existingBuildInfo.program) === null || _c === void 0 ? void 0 : _c.outSignature)) { + if (((_b = buildInfo.program) === null || _b === void 0 ? void 0 : _b.outSignature) !== ((_c = existingBuildInfo === null || existingBuildInfo === void 0 ? void 0 : existingBuildInfo.program) === null || _c === void 0 ? void 0 : _c.outSignature)) { resultFlags &= ~BuildResultFlags.DeclarationOutputUnchanged; } setBuildInfo(state, buildInfo, projectPath, config.options, resultFlags); @@ -126928,8 +128127,7 @@ var ts; return existing.buildInfo || undefined; } var value = state.readFileWithCache(buildInfoPath); - var buildInfo = value ? ts.getBuildInfo(value) : undefined; - ts.Debug.assert(modifiedTime || !buildInfo); + var buildInfo = value ? ts.getBuildInfo(buildInfoPath, value) : undefined; state.buildInfoCache.set(resolvedConfigPath, { path: path, buildInfo: buildInfo || false, modifiedTime: modifiedTime || ts.missingFileModifiedTime }); return buildInfo; } @@ -127014,7 +128212,14 @@ var ts; missingOutputFileName: buildInfoPath }; } - var buildInfo = ts.Debug.checkDefined(getBuildInfo(state, buildInfoPath, resolvedPath, buildInfoTime)); + var buildInfo = getBuildInfo(state, buildInfoPath, resolvedPath, buildInfoTime); + if (!buildInfo) { + // Error reading buildInfo + return { + type: ts.UpToDateStatusType.ErrorReadingFile, + fileName: buildInfoPath + }; + } if ((buildInfo.bundle || buildInfo.program) && buildInfo.version !== ts.version) { return { type: ts.UpToDateStatusType.TsVersionOutputOfDate, @@ -127023,8 +128228,15 @@ var ts; } if (buildInfo.program) { // If there are pending changes that are not emitted, project is out of date + // When there are syntax errors, changeFileSet will have list of files changed (irrespective of noEmit) + // But in case of semantic error we need special treatment. + // Checking presence of affectedFilesPendingEmit list is fast and good way to tell if there were semantic errors and file emit was blocked + // But if noEmit is true, affectedFilesPendingEmit will have file list even if there are no semantic errors to preserve list of files to be emitted when running with noEmit false + // So with noEmit set to true, check on semantic diagnostics needs to be explicit as oppose to when it is false when only files pending emit is sufficient if (((_a = buildInfo.program.changeFileSet) === null || _a === void 0 ? void 0 : _a.length) || - (!project.options.noEmit && ((_b = buildInfo.program.affectedFilesPendingEmit) === null || _b === void 0 ? void 0 : _b.length))) { + (!project.options.noEmit ? + (_b = buildInfo.program.affectedFilesPendingEmit) === null || _b === void 0 ? void 0 : _b.length : + ts.some(buildInfo.program.semanticDiagnosticsPerFile, ts.isArray))) { return { type: ts.UpToDateStatusType.OutOfDateBuildInfo, buildInfoFile: buildInfoPath @@ -127114,9 +128326,7 @@ var ts; } } } - var seenRefs = buildInfoPath ? new ts.Set() : undefined; var buildInfoCacheEntry = state.buildInfoCache.get(resolvedPath); - seenRefs === null || seenRefs === void 0 ? void 0 : seenRefs.add(resolvedPath); /** Inputs are up-to-date, just need either timestamp update or bundle prepend manipulation to make it look up-to-date */ var pseudoUpToDate = false; var usesPrepend = false; @@ -127131,7 +128341,7 @@ var ts; continue; } // Check if tsbuildinfo path is shared, then we need to rebuild - if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath)) { + if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath)) { return { type: ts.UpToDateStatusType.OutOfDateWithUpstream, outOfDateOutputFileName: buildInfoPath, @@ -127189,25 +128399,9 @@ var ts; oldestOutputFileName: oldestOutputFileName }; } - function hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath) { - if (seenRefs.has(resolvedRefPath)) - return false; - seenRefs.add(resolvedRefPath); + function hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath) { var refBuildInfo = state.buildInfoCache.get(resolvedRefPath); - if (refBuildInfo.path === buildInfoCacheEntry.path) - return true; - if (resolvedConfig.projectReferences) { - // Check references - for (var _i = 0, _a = resolvedConfig.projectReferences; _i < _a.length; _i++) { - var ref = _a[_i]; - var resolvedRef = ts.resolveProjectReferencePath(ref); - var resolvedRefPath_1 = toResolvedConfigFilePath(state, resolvedRef); - var resolvedConfig_1 = parseConfigFile(state, resolvedRef, resolvedRefPath_1); - if (hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig_1, resolvedRefPath_1)) - return true; - } - } - return false; + return refBuildInfo.path === buildInfoCacheEntry.path; } function getUpToDateStatus(state, project, resolvedPath) { if (project === undefined) { @@ -127217,7 +128411,10 @@ var ts; if (prior !== undefined) { return prior; } + ts.performance.mark("SolutionBuilder::beforeUpToDateCheck"); var actual = getUpToDateStatusWorker(state, project, resolvedPath); + ts.performance.mark("SolutionBuilder::afterUpToDateCheck"); + ts.performance.measure("SolutionBuilder::Up-to-date check", "SolutionBuilder::beforeUpToDateCheck", "SolutionBuilder::afterUpToDateCheck"); state.projectStatus.set(resolvedPath, actual); return actual; } @@ -127355,6 +128552,13 @@ var ts; } } function build(state, project, cancellationToken, writeFile, getCustomTransformers, onlyReferences) { + ts.performance.mark("SolutionBuilder::beforeBuild"); + var result = buildWorker(state, project, cancellationToken, writeFile, getCustomTransformers, onlyReferences); + ts.performance.mark("SolutionBuilder::afterBuild"); + ts.performance.measure("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"); + return result; + } + function buildWorker(state, project, cancellationToken, writeFile, getCustomTransformers, onlyReferences) { var buildOrder = getBuildOrderFor(state, project, onlyReferences); if (!buildOrder) return ts.ExitStatus.InvalidProject_OutputsSkipped; @@ -127382,6 +128586,13 @@ var ts; : ts.ExitStatus.DiagnosticsPresent_OutputsSkipped; } function clean(state, project, onlyReferences) { + ts.performance.mark("SolutionBuilder::beforeClean"); + var result = cleanWorker(state, project, onlyReferences); + ts.performance.mark("SolutionBuilder::afterClean"); + ts.performance.measure("SolutionBuilder::Clean", "SolutionBuilder::beforeClean", "SolutionBuilder::afterClean"); + return result; + } + function cleanWorker(state, project, onlyReferences) { var buildOrder = getBuildOrderFor(state, project, onlyReferences); if (!buildOrder) return ts.ExitStatus.InvalidProject_OutputsSkipped; @@ -127455,6 +128666,14 @@ var ts; state.timerToBuildInvalidatedProject = hostWithWatch.setTimeout(buildNextInvalidatedProject, time, state, changeDetected); } function buildNextInvalidatedProject(state, changeDetected) { + ts.performance.mark("SolutionBuilder::beforeBuild"); + var buildOrder = buildNextInvalidatedProjectWorker(state, changeDetected); + ts.performance.mark("SolutionBuilder::afterBuild"); + ts.performance.measure("SolutionBuilder::Build", "SolutionBuilder::beforeBuild", "SolutionBuilder::afterBuild"); + if (buildOrder) + reportErrorSummary(state, buildOrder); + } + function buildNextInvalidatedProjectWorker(state, changeDetected) { state.timerToBuildInvalidatedProject = undefined; if (state.reportFileChangeDetected) { state.reportFileChangeDetected = false; @@ -127487,7 +128706,7 @@ var ts; } } disableCache(state); - reportErrorSummary(state, buildOrder); + return buildOrder; } function watchConfigFile(state, resolved, resolvedPath, parsed) { if (!state.watch || state.allWatchedConfigFiles.has(resolvedPath)) @@ -127542,6 +128761,7 @@ var ts; function startWatching(state, buildOrder) { if (!state.watchAllProjectsPending) return; + ts.performance.mark("SolutionBuilder::beforeWatcherCreation"); state.watchAllProjectsPending = false; for (var _i = 0, _a = getBuildOrderFromAnyBuildOrder(buildOrder); _i < _a.length; _i++) { var resolved = _a[_i]; @@ -127559,6 +128779,8 @@ var ts; watchPackageJsonFiles(state, resolved, resolvedPath, cfg); } } + ts.performance.mark("SolutionBuilder::afterWatcherCreation"); + ts.performance.measure("SolutionBuilder::Watcher creation", "SolutionBuilder::beforeWatcherCreation", "SolutionBuilder::afterWatcherCreation"); } function stopWatching(state) { ts.clearMap(state.allWatchedConfigFiles, ts.closeFileWatcher); @@ -127672,6 +128894,8 @@ var ts; return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_1_is_older_than_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerProjectName)); case ts.UpToDateStatusType.OutputMissing: return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_file_1_does_not_exist, relName(state, configFileName), relName(state, status.missingOutputFileName)); + case ts.UpToDateStatusType.ErrorReadingFile: + return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_there_was_error_reading_file_1, relName(state, configFileName), relName(state, status.fileName)); case ts.UpToDateStatusType.OutOfDateBuildInfo: return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted, relName(state, configFileName), relName(state, status.buildInfoFile)); case ts.UpToDateStatusType.UpToDate: @@ -128193,6 +129417,12 @@ var ts; SemanticClassificationFormat["Original"] = "original"; SemanticClassificationFormat["TwentyTwenty"] = "2020"; })(SemanticClassificationFormat = ts.SemanticClassificationFormat || (ts.SemanticClassificationFormat = {})); + var OrganizeImportsMode; + (function (OrganizeImportsMode) { + OrganizeImportsMode["All"] = "All"; + OrganizeImportsMode["SortAndCombine"] = "SortAndCombine"; + OrganizeImportsMode["RemoveUnused"] = "RemoveUnused"; + })(OrganizeImportsMode = ts.OrganizeImportsMode || (ts.OrganizeImportsMode = {})); var CompletionTriggerKind; (function (CompletionTriggerKind) { /** Completion was triggered by typing an identifier, manual invocation (e.g Ctrl+Space) or via API. */ @@ -128379,6 +129609,8 @@ var ts; * interface Y { foo:number; } */ ScriptElementKind["memberVariableElement"] = "property"; + /** class X { [public|private]* accessor foo: number; } */ + ScriptElementKind["memberAccessorVariableElement"] = "accessor"; /** * class X { constructor() { } } * class X { static { } } @@ -128511,37 +129743,37 @@ var ts; })(SemanticMeaning = ts.SemanticMeaning || (ts.SemanticMeaning = {})); function getMeaningFromDeclaration(node) { switch (node.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return ts.isInJSFile(node) && ts.getJSDocEnumTag(node) ? 7 /* SemanticMeaning.All */ : 1 /* SemanticMeaning.Value */; - case 164 /* SyntaxKind.Parameter */: - case 203 /* SyntaxKind.BindingElement */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 292 /* SyntaxKind.CatchClause */: - case 285 /* SyntaxKind.JsxAttribute */: + case 166 /* SyntaxKind.Parameter */: + case 205 /* SyntaxKind.BindingElement */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 295 /* SyntaxKind.CatchClause */: + case 288 /* SyntaxKind.JsxAttribute */: return 1 /* SemanticMeaning.Value */; - case 163 /* SyntaxKind.TypeParameter */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 182 /* SyntaxKind.TypeLiteral */: + case 165 /* SyntaxKind.TypeParameter */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 184 /* SyntaxKind.TypeLiteral */: return 2 /* SemanticMeaning.Type */; - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: // If it has no name node, it shares the name with the value declaration below it. return node.name === undefined ? 1 /* SemanticMeaning.Value */ | 2 /* SemanticMeaning.Type */ : 2 /* SemanticMeaning.Type */; - case 299 /* SyntaxKind.EnumMember */: - case 257 /* SyntaxKind.ClassDeclaration */: + case 302 /* SyntaxKind.EnumMember */: + case 260 /* SyntaxKind.ClassDeclaration */: return 1 /* SemanticMeaning.Value */ | 2 /* SemanticMeaning.Type */; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: if (ts.isAmbientModule(node)) { return 4 /* SemanticMeaning.Namespace */ | 1 /* SemanticMeaning.Value */; } @@ -128551,16 +129783,16 @@ var ts; else { return 4 /* SemanticMeaning.Namespace */; } - case 260 /* SyntaxKind.EnumDeclaration */: - case 269 /* SyntaxKind.NamedImports */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 271 /* SyntaxKind.ExportAssignment */: - case 272 /* SyntaxKind.ExportDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 272 /* SyntaxKind.NamedImports */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 274 /* SyntaxKind.ExportAssignment */: + case 275 /* SyntaxKind.ExportDeclaration */: return 7 /* SemanticMeaning.All */; // An external module can be a Value - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return 4 /* SemanticMeaning.Namespace */ | 1 /* SemanticMeaning.Value */; } return 7 /* SemanticMeaning.All */; @@ -128569,7 +129801,7 @@ var ts; function getMeaningFromLocation(node) { node = getAdjustedReferenceLocation(node); var parent = node.parent; - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { return 1 /* SemanticMeaning.Value */; } else if (ts.isExportAssignment(parent) @@ -128612,11 +129844,11 @@ var ts; // import a = |b|; // Namespace // import a = |b.c|; // Value, type, namespace // import a = |b.c|.d; // Namespace - var name = node.kind === 161 /* SyntaxKind.QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; - return name && name.parent.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ ? 7 /* SemanticMeaning.All */ : 4 /* SemanticMeaning.Namespace */; + var name = node.kind === 163 /* SyntaxKind.QualifiedName */ ? node : ts.isQualifiedName(node.parent) && node.parent.right === node ? node.parent : undefined; + return name && name.parent.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ ? 7 /* SemanticMeaning.All */ : 4 /* SemanticMeaning.Namespace */; } function isInRightSideOfInternalImportEqualsDeclaration(node) { - while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + while (node.parent.kind === 163 /* SyntaxKind.QualifiedName */) { node = node.parent; } return ts.isInternalModuleImportEqualsDeclaration(node.parent) && node.parent.moduleReference === node; @@ -128628,27 +129860,27 @@ var ts; function isQualifiedNameNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 161 /* SyntaxKind.QualifiedName */) { - while (root.parent && root.parent.kind === 161 /* SyntaxKind.QualifiedName */) { + if (root.parent.kind === 163 /* SyntaxKind.QualifiedName */) { + while (root.parent && root.parent.kind === 163 /* SyntaxKind.QualifiedName */) { root = root.parent; } isLastClause = root.right === node; } - return root.parent.kind === 178 /* SyntaxKind.TypeReference */ && !isLastClause; + return root.parent.kind === 180 /* SyntaxKind.TypeReference */ && !isLastClause; } function isPropertyAccessNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { - while (root.parent && root.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (root.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { + while (root.parent && root.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { root = root.parent; } isLastClause = root.name === node; } - if (!isLastClause && root.parent.kind === 228 /* SyntaxKind.ExpressionWithTypeArguments */ && root.parent.parent.kind === 291 /* SyntaxKind.HeritageClause */) { + if (!isLastClause && root.parent.kind === 230 /* SyntaxKind.ExpressionWithTypeArguments */ && root.parent.parent.kind === 294 /* SyntaxKind.HeritageClause */) { var decl = root.parent.parent.parent; - return (decl.kind === 257 /* SyntaxKind.ClassDeclaration */ && root.parent.parent.token === 117 /* SyntaxKind.ImplementsKeyword */) || - (decl.kind === 258 /* SyntaxKind.InterfaceDeclaration */ && root.parent.parent.token === 94 /* SyntaxKind.ExtendsKeyword */); + return (decl.kind === 260 /* SyntaxKind.ClassDeclaration */ && root.parent.parent.token === 117 /* SyntaxKind.ImplementsKeyword */) || + (decl.kind === 261 /* SyntaxKind.InterfaceDeclaration */ && root.parent.parent.token === 94 /* SyntaxKind.ExtendsKeyword */); } return false; } @@ -128659,15 +129891,15 @@ var ts; switch (node.kind) { case 108 /* SyntaxKind.ThisKeyword */: return !ts.isExpressionNode(node); - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: return true; } switch (node.parent.kind) { - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return true; - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return !node.parent.isTypeOf; - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return ts.isPartOfTypeNode(node.parent); } return false; @@ -128734,7 +129966,7 @@ var ts; ts.climbPastPropertyOrElementAccess = climbPastPropertyOrElementAccess; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 250 /* SyntaxKind.LabeledStatement */ && referenceNode.label.escapedText === labelName) { + if (referenceNode.kind === 253 /* SyntaxKind.LabeledStatement */ && referenceNode.label.escapedText === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -128795,22 +130027,22 @@ var ts; ts.isNameOfFunctionDeclaration = isNameOfFunctionDeclaration; function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { switch (node.parent.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 299 /* SyntaxKind.EnumMember */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 261 /* SyntaxKind.ModuleDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 302 /* SyntaxKind.EnumMember */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 264 /* SyntaxKind.ModuleDeclaration */: return ts.getNameOfDeclaration(node.parent) === node; - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return node.parent.argumentExpression === node; - case 162 /* SyntaxKind.ComputedPropertyName */: + case 164 /* SyntaxKind.ComputedPropertyName */: return true; - case 196 /* SyntaxKind.LiteralType */: - return node.parent.parent.kind === 194 /* SyntaxKind.IndexedAccessType */; + case 198 /* SyntaxKind.LiteralType */: + return node.parent.parent.kind === 196 /* SyntaxKind.IndexedAccessType */; default: return false; } @@ -128834,17 +130066,17 @@ var ts; return undefined; } switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: + case 308 /* SyntaxKind.SourceFile */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return node; } } @@ -128852,56 +130084,56 @@ var ts; ts.getContainerNode = getContainerNode; function getNodeKind(node) { switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return ts.isExternalModule(node) ? "module" /* ScriptElementKind.moduleElement */ : "script" /* ScriptElementKind.scriptElement */; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return "module" /* ScriptElementKind.moduleElement */; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return "class" /* ScriptElementKind.classElement */; - case 258 /* SyntaxKind.InterfaceDeclaration */: return "interface" /* ScriptElementKind.interfaceElement */; - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return "interface" /* ScriptElementKind.interfaceElement */; + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: return "type" /* ScriptElementKind.typeElement */; - case 260 /* SyntaxKind.EnumDeclaration */: return "enum" /* ScriptElementKind.enumElement */; - case 254 /* SyntaxKind.VariableDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return "enum" /* ScriptElementKind.enumElement */; + case 257 /* SyntaxKind.VariableDeclaration */: return getKindOfVariableDeclaration(node); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return getKindOfVariableDeclaration(ts.getRootDeclaration(node)); - case 214 /* SyntaxKind.ArrowFunction */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: return "function" /* ScriptElementKind.functionElement */; - case 172 /* SyntaxKind.GetAccessor */: return "getter" /* ScriptElementKind.memberGetAccessorElement */; - case 173 /* SyntaxKind.SetAccessor */: return "setter" /* ScriptElementKind.memberSetAccessorElement */; - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: return "getter" /* ScriptElementKind.memberGetAccessorElement */; + case 175 /* SyntaxKind.SetAccessor */: return "setter" /* ScriptElementKind.memberSetAccessorElement */; + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: return "method" /* ScriptElementKind.memberFunctionElement */; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: var initializer = node.initializer; return ts.isFunctionLike(initializer) ? "method" /* ScriptElementKind.memberFunctionElement */ : "property" /* ScriptElementKind.memberVariableElement */; - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 298 /* SyntaxKind.SpreadAssignment */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: return "property" /* ScriptElementKind.memberVariableElement */; - case 176 /* SyntaxKind.IndexSignature */: return "index" /* ScriptElementKind.indexSignatureElement */; - case 175 /* SyntaxKind.ConstructSignature */: return "construct" /* ScriptElementKind.constructSignatureElement */; - case 174 /* SyntaxKind.CallSignature */: return "call" /* ScriptElementKind.callSignatureElement */; - case 171 /* SyntaxKind.Constructor */: - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 178 /* SyntaxKind.IndexSignature */: return "index" /* ScriptElementKind.indexSignatureElement */; + case 177 /* SyntaxKind.ConstructSignature */: return "construct" /* ScriptElementKind.constructSignatureElement */; + case 176 /* SyntaxKind.CallSignature */: return "call" /* ScriptElementKind.callSignatureElement */; + case 173 /* SyntaxKind.Constructor */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: return "constructor" /* ScriptElementKind.constructorImplementationElement */; - case 163 /* SyntaxKind.TypeParameter */: return "type parameter" /* ScriptElementKind.typeParameterElement */; - case 299 /* SyntaxKind.EnumMember */: return "enum member" /* ScriptElementKind.enumMemberElement */; - case 164 /* SyntaxKind.Parameter */: return ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */) ? "property" /* ScriptElementKind.memberVariableElement */ : "parameter" /* ScriptElementKind.parameterElement */; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: - case 268 /* SyntaxKind.NamespaceImport */: - case 274 /* SyntaxKind.NamespaceExport */: + case 165 /* SyntaxKind.TypeParameter */: return "type parameter" /* ScriptElementKind.typeParameterElement */; + case 302 /* SyntaxKind.EnumMember */: return "enum member" /* ScriptElementKind.enumMemberElement */; + case 166 /* SyntaxKind.Parameter */: return ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */) ? "property" /* ScriptElementKind.memberVariableElement */ : "parameter" /* ScriptElementKind.parameterElement */; + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 271 /* SyntaxKind.NamespaceImport */: + case 277 /* SyntaxKind.NamespaceExport */: return "alias" /* ScriptElementKind.alias */; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: var kind = ts.getAssignmentDeclarationKind(node); var right = node.right; switch (kind) { @@ -128930,7 +130162,7 @@ var ts; } case 79 /* SyntaxKind.Identifier */: return ts.isImportClause(node.parent) ? "alias" /* ScriptElementKind.alias */ : "" /* ScriptElementKind.unknown */; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: var scriptKind = getNodeKind(node.expression); // If the expression didn't come back with something (like it does for an identifiers) return scriptKind === "" /* ScriptElementKind.unknown */ ? "const" /* ScriptElementKind.constElement */ : scriptKind; @@ -128953,7 +130185,7 @@ var ts; return true; case 79 /* SyntaxKind.Identifier */: // 'this' as a parameter - return ts.identifierIsThisKeyword(node) && node.parent.kind === 164 /* SyntaxKind.Parameter */; + return ts.identifierIsThisKeyword(node) && node.parent.kind === 166 /* SyntaxKind.Parameter */; default: return false; } @@ -129018,42 +130250,42 @@ var ts; return false; } switch (n.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 182 /* SyntaxKind.TypeLiteral */: - case 235 /* SyntaxKind.Block */: - case 262 /* SyntaxKind.ModuleBlock */: - case 263 /* SyntaxKind.CaseBlock */: - case 269 /* SyntaxKind.NamedImports */: - case 273 /* SyntaxKind.NamedExports */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 184 /* SyntaxKind.TypeLiteral */: + case 238 /* SyntaxKind.Block */: + case 265 /* SyntaxKind.ModuleBlock */: + case 266 /* SyntaxKind.CaseBlock */: + case 272 /* SyntaxKind.NamedImports */: + case 276 /* SyntaxKind.NamedExports */: return nodeEndsWith(n, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return isCompletedNode(n.block, sourceFile); - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: if (!n.arguments) { return true; } // falls through - case 208 /* SyntaxKind.CallExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 191 /* SyntaxKind.ParenthesizedType */: + case 210 /* SyntaxKind.CallExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 193 /* SyntaxKind.ParenthesizedType */: return nodeEndsWith(n, 21 /* SyntaxKind.CloseParenToken */, sourceFile); - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: return isCompletedNode(n.type, sourceFile); - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 214 /* SyntaxKind.ArrowFunction */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 216 /* SyntaxKind.ArrowFunction */: if (n.body) { return isCompletedNode(n.body, sourceFile); } @@ -129063,65 +130295,65 @@ var ts; // Even though type parameters can be unclosed, we can get away with // having at least a closing paren. return hasChildOfKind(n, 21 /* SyntaxKind.CloseParenToken */, sourceFile); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return !!n.body && isCompletedNode(n.body, sourceFile); - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return isCompletedNode(n.expression, sourceFile) || hasChildOfKind(n, 26 /* SyntaxKind.SemicolonToken */, sourceFile); - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 207 /* SyntaxKind.ElementAccessExpression */: - case 162 /* SyntaxKind.ComputedPropertyName */: - case 184 /* SyntaxKind.TupleType */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 209 /* SyntaxKind.ElementAccessExpression */: + case 164 /* SyntaxKind.ComputedPropertyName */: + case 186 /* SyntaxKind.TupleType */: return nodeEndsWith(n, 23 /* SyntaxKind.CloseBracketToken */, sourceFile); - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: if (n.type) { return isCompletedNode(n.type, sourceFile); } return hasChildOfKind(n, 23 /* SyntaxKind.CloseBracketToken */, sourceFile); - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: // there is no such thing as terminator token for CaseClause/DefaultClause so for simplicity always consider them non-completed return false; - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 244 /* SyntaxKind.WhileStatement */: return isCompletedNode(n.statement, sourceFile); - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: // rough approximation: if DoStatement has While keyword - then if node is completed is checking the presence of ')'; return hasChildOfKind(n, 115 /* SyntaxKind.WhileKeyword */, sourceFile) ? nodeEndsWith(n, 21 /* SyntaxKind.CloseParenToken */, sourceFile) : isCompletedNode(n.statement, sourceFile); - case 181 /* SyntaxKind.TypeQuery */: + case 183 /* SyntaxKind.TypeQuery */: return isCompletedNode(n.exprName, sourceFile); - case 216 /* SyntaxKind.TypeOfExpression */: - case 215 /* SyntaxKind.DeleteExpression */: - case 217 /* SyntaxKind.VoidExpression */: - case 224 /* SyntaxKind.YieldExpression */: - case 225 /* SyntaxKind.SpreadElement */: + case 218 /* SyntaxKind.TypeOfExpression */: + case 217 /* SyntaxKind.DeleteExpression */: + case 219 /* SyntaxKind.VoidExpression */: + case 226 /* SyntaxKind.YieldExpression */: + case 227 /* SyntaxKind.SpreadElement */: var unaryWordExpression = n; return isCompletedNode(unaryWordExpression.expression, sourceFile); - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return isCompletedNode(n.template, sourceFile); - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: var lastSpan = ts.lastOrUndefined(n.templateSpans); return isCompletedNode(lastSpan, sourceFile); - case 233 /* SyntaxKind.TemplateSpan */: + case 236 /* SyntaxKind.TemplateSpan */: return ts.nodeIsPresent(n.literal); - case 272 /* SyntaxKind.ExportDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return ts.nodeIsPresent(n.moduleSpecifier); - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: return isCompletedNode(n.operand, sourceFile); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return isCompletedNode(n.right, sourceFile); - case 222 /* SyntaxKind.ConditionalExpression */: + case 224 /* SyntaxKind.ConditionalExpression */: return isCompletedNode(n.whenFalse, sourceFile); default: return true; @@ -129236,6 +130468,8 @@ var ts; return lastTypeNode; } function getContextualTypeFromParentOrAncestorTypeNode(node, checker) { + if (node.flags & (8388608 /* NodeFlags.JSDoc */ & ~262144 /* NodeFlags.JavaScriptFile */)) + return undefined; var contextualType = getContextualTypeFromParent(node, checker); if (contextualType) return contextualType; @@ -129246,13 +130480,13 @@ var ts; function getAdjustedLocationForDeclaration(node, forRename) { if (!forRename) { switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: return getAdjustedLocationForClass(node); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: return getAdjustedLocationForFunction(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return node; } } @@ -129347,11 +130581,11 @@ var ts; node.kind === 98 /* SyntaxKind.FunctionKeyword */ ? ts.isFunctionDeclaration(parent) || ts.isFunctionExpression(node) : node.kind === 118 /* SyntaxKind.InterfaceKeyword */ ? ts.isInterfaceDeclaration(parent) : node.kind === 92 /* SyntaxKind.EnumKeyword */ ? ts.isEnumDeclaration(parent) : - node.kind === 152 /* SyntaxKind.TypeKeyword */ ? ts.isTypeAliasDeclaration(parent) : - node.kind === 142 /* SyntaxKind.NamespaceKeyword */ || node.kind === 141 /* SyntaxKind.ModuleKeyword */ ? ts.isModuleDeclaration(parent) : + node.kind === 154 /* SyntaxKind.TypeKeyword */ ? ts.isTypeAliasDeclaration(parent) : + node.kind === 143 /* SyntaxKind.NamespaceKeyword */ || node.kind === 142 /* SyntaxKind.ModuleKeyword */ ? ts.isModuleDeclaration(parent) : node.kind === 100 /* SyntaxKind.ImportKeyword */ ? ts.isImportEqualsDeclaration(parent) : - node.kind === 136 /* SyntaxKind.GetKeyword */ ? ts.isGetAccessorDeclaration(parent) : - node.kind === 149 /* SyntaxKind.SetKeyword */ && ts.isSetAccessorDeclaration(parent)) { + node.kind === 137 /* SyntaxKind.GetKeyword */ ? ts.isGetAccessorDeclaration(parent) : + node.kind === 151 /* SyntaxKind.SetKeyword */ && ts.isSetAccessorDeclaration(parent)) { var location = getAdjustedLocationForDeclaration(parent, forRename); if (location) { return location; @@ -129365,7 +130599,7 @@ var ts; return decl.name; } } - if (node.kind === 152 /* SyntaxKind.TypeKeyword */) { + if (node.kind === 154 /* SyntaxKind.TypeKeyword */) { // import /**/type [|name|] from ...; // import /**/type { [|name|] } from ...; // import /**/type { propertyName as [|name|] } from ...; @@ -129391,7 +130625,7 @@ var ts; // import * /**/as [|name|] ... // export { propertyName /**/as [|name|] } ... // export * /**/as [|name|] ... - if (node.kind === 127 /* SyntaxKind.AsKeyword */) { + if (node.kind === 128 /* SyntaxKind.AsKeyword */) { if (ts.isImportSpecifier(parent) && parent.propertyName || ts.isExportSpecifier(parent) && parent.propertyName || ts.isNamespaceImport(parent) || @@ -129432,12 +130666,12 @@ var ts; } } // import name = /**/require("[|module|]"); - if (node.kind === 146 /* SyntaxKind.RequireKeyword */ && ts.isExternalModuleReference(parent)) { + if (node.kind === 147 /* SyntaxKind.RequireKeyword */ && ts.isExternalModuleReference(parent)) { return parent.expression; } // import ... /**/from "[|module|]"; // export ... /**/from "[|module|]"; - if (node.kind === 156 /* SyntaxKind.FromKeyword */ && (ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent)) && parent.moduleSpecifier) { + if (node.kind === 158 /* SyntaxKind.FromKeyword */ && (ts.isImportDeclaration(parent) || ts.isExportDeclaration(parent)) && parent.moduleSpecifier) { return parent.moduleSpecifier; } // class ... /**/extends [|name|] ... @@ -129462,7 +130696,7 @@ var ts; } } // ... T extends /**/infer [|U|] ? ... - if (node.kind === 137 /* SyntaxKind.InferKeyword */ && ts.isInferTypeNode(parent)) { + if (node.kind === 138 /* SyntaxKind.InferKeyword */ && ts.isInferTypeNode(parent)) { return parent.typeParameter.name; } // { [ [|K|] /**/in keyof T]: ... } @@ -129470,12 +130704,12 @@ var ts; return parent.name; } // /**/keyof [|T|] - if (node.kind === 140 /* SyntaxKind.KeyOfKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 140 /* SyntaxKind.KeyOfKeyword */ && + if (node.kind === 141 /* SyntaxKind.KeyOfKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 141 /* SyntaxKind.KeyOfKeyword */ && ts.isTypeReferenceNode(parent.type)) { return parent.type.typeName; } // /**/readonly [|name|][] - if (node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 145 /* SyntaxKind.ReadonlyKeyword */ && + if (node.kind === 146 /* SyntaxKind.ReadonlyKeyword */ && ts.isTypeOperatorNode(parent) && parent.operator === 146 /* SyntaxKind.ReadonlyKeyword */ && ts.isArrayTypeNode(parent.type) && ts.isTypeReferenceNode(parent.type.elementType)) { return parent.type.elementType.typeName; } @@ -129493,7 +130727,7 @@ var ts; if (node.kind === 103 /* SyntaxKind.NewKeyword */ && ts.isNewExpression(parent) || node.kind === 114 /* SyntaxKind.VoidKeyword */ && ts.isVoidExpression(parent) || node.kind === 112 /* SyntaxKind.TypeOfKeyword */ && ts.isTypeOfExpression(parent) || - node.kind === 132 /* SyntaxKind.AwaitKeyword */ && ts.isAwaitExpression(parent) || + node.kind === 133 /* SyntaxKind.AwaitKeyword */ && ts.isAwaitExpression(parent) || node.kind === 125 /* SyntaxKind.YieldKeyword */ && ts.isYieldExpression(parent) || node.kind === 89 /* SyntaxKind.DeleteKeyword */ && ts.isDeleteExpression(parent)) { if (parent.expression) { @@ -129506,13 +130740,13 @@ var ts; return ts.skipOuterExpressions(parent.right); } // left /**/as [|name|] - if (node.kind === 127 /* SyntaxKind.AsKeyword */ && ts.isAsExpression(parent) && ts.isTypeReferenceNode(parent.type)) { + if (node.kind === 128 /* SyntaxKind.AsKeyword */ && ts.isAsExpression(parent) && ts.isTypeReferenceNode(parent.type)) { return parent.type.typeName; } // for (... /**/in [|name|]) // for (... /**/of [|name|]) if (node.kind === 101 /* SyntaxKind.InKeyword */ && ts.isForInStatement(parent) || - node.kind === 160 /* SyntaxKind.OfKeyword */ && ts.isForOfStatement(parent)) { + node.kind === 162 /* SyntaxKind.OfKeyword */ && ts.isForOfStatement(parent)) { return ts.skipOuterExpressions(parent.expression); } } @@ -129688,7 +130922,7 @@ var ts; return n; } return ts.firstDefined(n.getChildren(sourceFile), function (child) { - var shouldDiveInChildNode = + var shouldDiveInChildNode = // previous token is enclosed somewhere in the child (child.pos <= previousToken.pos && child.end > previousToken.end) || // previous token ends exactly at the beginning of child @@ -129744,7 +130978,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 305 /* SyntaxKind.SourceFile */ || n.kind === 1 /* SyntaxKind.EndOfFileToken */ || ts.isJSDocCommentContainingNode(n)); + ts.Debug.assert(startNode !== undefined || n.kind === 308 /* SyntaxKind.SourceFile */ || n.kind === 1 /* SyntaxKind.EndOfFileToken */ || ts.isJSDocCommentContainingNode(n)); // Here we know that none of child token nodes embrace the position, // the only known case is when position is at the end of the file. // Try to find the rightmost token in the file without filtering. @@ -129775,7 +131009,7 @@ var ts; for (var i = exclusiveStartPosition - 1; i >= 0; i--) { var child = children[i]; if (isWhiteSpaceOnlyJsxText(child)) { - if (i === 0 && (parentKind === 11 /* SyntaxKind.JsxText */ || parentKind === 279 /* SyntaxKind.JsxSelfClosingElement */)) { + if (i === 0 && (parentKind === 11 /* SyntaxKind.JsxText */ || parentKind === 282 /* SyntaxKind.JsxSelfClosingElement */)) { ts.Debug.fail("`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`"); } } @@ -129819,17 +131053,17 @@ var ts; return true; } //
{ |
or
- if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 288 /* SyntaxKind.JsxExpression */) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 291 /* SyntaxKind.JsxExpression */) { return true; } //
{ // | // } < /div> - if (token && token.kind === 19 /* SyntaxKind.CloseBraceToken */ && token.parent.kind === 288 /* SyntaxKind.JsxExpression */) { + if (token && token.kind === 19 /* SyntaxKind.CloseBraceToken */ && token.parent.kind === 291 /* SyntaxKind.JsxExpression */) { return true; } //
|
- if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 281 /* SyntaxKind.JsxClosingElement */) { + if (token.kind === 29 /* SyntaxKind.LessThanToken */ && token.parent.kind === 284 /* SyntaxKind.JsxClosingElement */) { return true; } return false; @@ -129860,7 +131094,7 @@ var ts; function isInsideJsxElement(sourceFile, position) { function isInsideJsxElementTraversal(node) { while (node) { - if (node.kind >= 279 /* SyntaxKind.JsxSelfClosingElement */ && node.kind <= 288 /* SyntaxKind.JsxExpression */ + if (node.kind >= 282 /* SyntaxKind.JsxSelfClosingElement */ && node.kind <= 291 /* SyntaxKind.JsxExpression */ || node.kind === 11 /* SyntaxKind.JsxText */ || node.kind === 29 /* SyntaxKind.LessThanToken */ || node.kind === 31 /* SyntaxKind.GreaterThanToken */ @@ -129870,7 +131104,7 @@ var ts; || node.kind === 43 /* SyntaxKind.SlashToken */) { node = node.parent; } - else if (node.kind === 278 /* SyntaxKind.JsxElement */) { + else if (node.kind === 281 /* SyntaxKind.JsxElement */) { if (position > node.getStart(sourceFile)) return true; node = node.parent; @@ -130018,7 +131252,7 @@ var ts; // falls through case 112 /* SyntaxKind.TypeOfKeyword */: case 94 /* SyntaxKind.ExtendsKeyword */: - case 140 /* SyntaxKind.KeyOfKeyword */: + case 141 /* SyntaxKind.KeyOfKeyword */: case 24 /* SyntaxKind.DotToken */: case 51 /* SyntaxKind.BarToken */: case 57 /* SyntaxKind.QuestionToken */: @@ -130039,7 +131273,7 @@ var ts; /** * Returns true if the cursor at position in sourceFile is within a comment. * - * @param tokenAtPosition Must equal `getTokenAtPosition(sourceFile, position) + * @param tokenAtPosition Must equal `getTokenAtPosition(sourceFile, position)` * @param predicate Additional predicate to test on the comment range. */ function isInComment(sourceFile, position, tokenAtPosition) { @@ -130070,7 +131304,7 @@ var ts; result.push("public" /* ScriptElementKindModifier.publicMemberModifier */); if (flags & 32 /* ModifierFlags.Static */ || ts.isClassStaticBlockDeclaration(node)) result.push("static" /* ScriptElementKindModifier.staticModifier */); - if (flags & 128 /* ModifierFlags.Abstract */) + if (flags & 256 /* ModifierFlags.Abstract */) result.push("abstract" /* ScriptElementKindModifier.abstractModifier */); if (flags & 1 /* ModifierFlags.Export */) result.push("export" /* ScriptElementKindModifier.exportedModifier */); @@ -130078,16 +131312,16 @@ var ts; result.push("deprecated" /* ScriptElementKindModifier.deprecatedModifier */); if (node.flags & 16777216 /* NodeFlags.Ambient */) result.push("declare" /* ScriptElementKindModifier.ambientModifier */); - if (node.kind === 271 /* SyntaxKind.ExportAssignment */) + if (node.kind === 274 /* SyntaxKind.ExportAssignment */) result.push("export" /* ScriptElementKindModifier.exportedModifier */); return result.length > 0 ? result.join(",") : "" /* ScriptElementKindModifier.none */; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 178 /* SyntaxKind.TypeReference */ || node.kind === 208 /* SyntaxKind.CallExpression */) { + if (node.kind === 180 /* SyntaxKind.TypeReference */ || node.kind === 210 /* SyntaxKind.CallExpression */) { return node.typeArguments; } - if (ts.isFunctionLike(node) || node.kind === 257 /* SyntaxKind.ClassDeclaration */ || node.kind === 258 /* SyntaxKind.InterfaceDeclaration */) { + if (ts.isFunctionLike(node) || node.kind === 260 /* SyntaxKind.ClassDeclaration */ || node.kind === 261 /* SyntaxKind.InterfaceDeclaration */) { return node.typeParameters; } return undefined; @@ -130132,18 +131366,18 @@ var ts; } ts.cloneCompilerOptions = cloneCompilerOptions; function isArrayLiteralOrObjectLiteralDestructuringPattern(node) { - if (node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ || - node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (node.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ || + node.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { // [a,b,c] from: // [a, b, c] = someExpression; - if (node.parent.kind === 221 /* SyntaxKind.BinaryExpression */ && + if (node.parent.kind === 223 /* SyntaxKind.BinaryExpression */ && node.parent.left === node && node.parent.operatorToken.kind === 63 /* SyntaxKind.EqualsToken */) { return true; } // [a, b, c] from: // for([a, b, c] of expression) - if (node.parent.kind === 244 /* SyntaxKind.ForOfStatement */ && + if (node.parent.kind === 247 /* SyntaxKind.ForOfStatement */ && node.parent.initializer === node) { return true; } @@ -130151,7 +131385,7 @@ var ts; // [x, [a, b, c] ] = someExpression // or // {x, a: {a, b, c} } = someExpression - if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ ? node.parent.parent : node.parent)) { + if (isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.kind === 299 /* SyntaxKind.PropertyAssignment */ ? node.parent.parent : node.parent)) { return true; } } @@ -130213,32 +131447,32 @@ var ts; } ts.createTextChange = createTextChange; ts.typeKeywords = [ - 130 /* SyntaxKind.AnyKeyword */, - 128 /* SyntaxKind.AssertsKeyword */, - 158 /* SyntaxKind.BigIntKeyword */, - 133 /* SyntaxKind.BooleanKeyword */, + 131 /* SyntaxKind.AnyKeyword */, + 129 /* SyntaxKind.AssertsKeyword */, + 160 /* SyntaxKind.BigIntKeyword */, + 134 /* SyntaxKind.BooleanKeyword */, 95 /* SyntaxKind.FalseKeyword */, - 137 /* SyntaxKind.InferKeyword */, - 140 /* SyntaxKind.KeyOfKeyword */, - 143 /* SyntaxKind.NeverKeyword */, + 138 /* SyntaxKind.InferKeyword */, + 141 /* SyntaxKind.KeyOfKeyword */, + 144 /* SyntaxKind.NeverKeyword */, 104 /* SyntaxKind.NullKeyword */, - 147 /* SyntaxKind.NumberKeyword */, - 148 /* SyntaxKind.ObjectKeyword */, - 145 /* SyntaxKind.ReadonlyKeyword */, - 150 /* SyntaxKind.StringKeyword */, - 151 /* SyntaxKind.SymbolKeyword */, + 148 /* SyntaxKind.NumberKeyword */, + 149 /* SyntaxKind.ObjectKeyword */, + 146 /* SyntaxKind.ReadonlyKeyword */, + 152 /* SyntaxKind.StringKeyword */, + 153 /* SyntaxKind.SymbolKeyword */, 110 /* SyntaxKind.TrueKeyword */, 114 /* SyntaxKind.VoidKeyword */, - 153 /* SyntaxKind.UndefinedKeyword */, - 154 /* SyntaxKind.UniqueKeyword */, - 155 /* SyntaxKind.UnknownKeyword */, + 155 /* SyntaxKind.UndefinedKeyword */, + 156 /* SyntaxKind.UniqueKeyword */, + 157 /* SyntaxKind.UnknownKeyword */, ]; function isTypeKeyword(kind) { return ts.contains(ts.typeKeywords, kind); } ts.isTypeKeyword = isTypeKeyword; function isTypeKeywordToken(node) { - return node.kind === 152 /* SyntaxKind.TypeKeyword */; + return node.kind === 154 /* SyntaxKind.TypeKeyword */; } ts.isTypeKeywordToken = isTypeKeywordToken; function isTypeKeywordTokenOrIdentifier(node) { @@ -130275,7 +131509,7 @@ var ts; } ts.skipConstraint = skipConstraint; function getNameFromPropertyName(name) { - return name.kind === 162 /* SyntaxKind.ComputedPropertyName */ + return name.kind === 164 /* SyntaxKind.ComputedPropertyName */ // treat computed property names where expression is string/numeric literal as just string/numeric literal ? ts.isStringOrNumericLiteralLike(name.expression) ? name.expression.text : undefined : ts.isPrivateIdentifier(name) ? ts.idText(name) : ts.getTextOfIdentifierOrLiteral(name); @@ -130333,7 +131567,7 @@ var ts; return ts.factory.createImportDeclaration( /*modifiers*/ undefined, defaultImport || namedImports ? ts.factory.createImportClause(!!isTypeOnly, defaultImport, namedImports && namedImports.length ? ts.factory.createNamedImports(namedImports) : undefined) - : undefined, typeof moduleSpecifier === "string" ? makeStringLiteral(moduleSpecifier, quotePreference) : moduleSpecifier, + : undefined, typeof moduleSpecifier === "string" ? makeStringLiteral(moduleSpecifier, quotePreference) : moduleSpecifier, /*assertClause*/ undefined); } ts.makeImport = makeImport; @@ -130425,7 +131659,7 @@ var ts; ts.findModifier = findModifier; function insertImports(changes, sourceFile, imports, blankLineBetween) { var decl = ts.isArray(imports) ? imports[0] : imports; - var importKindPredicate = decl.kind === 237 /* SyntaxKind.VariableStatement */ ? ts.isRequireVariableStatement : ts.isAnyImportSyntax; + var importKindPredicate = decl.kind === 240 /* SyntaxKind.VariableStatement */ ? ts.isRequireVariableStatement : ts.isAnyImportSyntax; var existingImportStatements = ts.filter(sourceFile.statements, importKindPredicate); var sortedNewImports = ts.isArray(imports) ? ts.stableSort(imports, ts.OrganizeImports.compareImportsOrRequireStatements) : [imports]; if (!existingImportStatements.length) { @@ -131099,15 +132333,15 @@ var ts; function getContextualTypeFromParent(node, checker) { var parent = node.parent; switch (parent.kind) { - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: return checker.getContextualType(parent); - case 221 /* SyntaxKind.BinaryExpression */: { + case 223 /* SyntaxKind.BinaryExpression */: { var _a = parent, left = _a.left, operatorToken = _a.operatorToken, right = _a.right; return isEqualityOperatorKind(operatorToken.kind) ? checker.getTypeAtLocation(node === right ? left : right) : checker.getContextualType(node); } - case 289 /* SyntaxKind.CaseClause */: + case 292 /* SyntaxKind.CaseClause */: return parent.expression === node ? getSwitchedType(parent, checker) : undefined; default: return checker.getContextualType(node); @@ -131137,8 +132371,8 @@ var ts; switch (node.kind) { case 10 /* SyntaxKind.StringLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: - case 223 /* SyntaxKind.TemplateExpression */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: return true; default: return false; @@ -131172,38 +132406,38 @@ var ts; } ts.getTypeNodeIfAccessible = getTypeNodeIfAccessible; function syntaxRequiresTrailingCommaOrSemicolonOrASI(kind) { - return kind === 174 /* SyntaxKind.CallSignature */ - || kind === 175 /* SyntaxKind.ConstructSignature */ - || kind === 176 /* SyntaxKind.IndexSignature */ - || kind === 166 /* SyntaxKind.PropertySignature */ - || kind === 168 /* SyntaxKind.MethodSignature */; + return kind === 176 /* SyntaxKind.CallSignature */ + || kind === 177 /* SyntaxKind.ConstructSignature */ + || kind === 178 /* SyntaxKind.IndexSignature */ + || kind === 168 /* SyntaxKind.PropertySignature */ + || kind === 170 /* SyntaxKind.MethodSignature */; } function syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI(kind) { - return kind === 256 /* SyntaxKind.FunctionDeclaration */ - || kind === 171 /* SyntaxKind.Constructor */ - || kind === 169 /* SyntaxKind.MethodDeclaration */ - || kind === 172 /* SyntaxKind.GetAccessor */ - || kind === 173 /* SyntaxKind.SetAccessor */; + return kind === 259 /* SyntaxKind.FunctionDeclaration */ + || kind === 173 /* SyntaxKind.Constructor */ + || kind === 171 /* SyntaxKind.MethodDeclaration */ + || kind === 174 /* SyntaxKind.GetAccessor */ + || kind === 175 /* SyntaxKind.SetAccessor */; } function syntaxRequiresTrailingModuleBlockOrSemicolonOrASI(kind) { - return kind === 261 /* SyntaxKind.ModuleDeclaration */; + return kind === 264 /* SyntaxKind.ModuleDeclaration */; } function syntaxRequiresTrailingSemicolonOrASI(kind) { - return kind === 237 /* SyntaxKind.VariableStatement */ - || kind === 238 /* SyntaxKind.ExpressionStatement */ - || kind === 240 /* SyntaxKind.DoStatement */ - || kind === 245 /* SyntaxKind.ContinueStatement */ - || kind === 246 /* SyntaxKind.BreakStatement */ - || kind === 247 /* SyntaxKind.ReturnStatement */ - || kind === 251 /* SyntaxKind.ThrowStatement */ - || kind === 253 /* SyntaxKind.DebuggerStatement */ - || kind === 167 /* SyntaxKind.PropertyDeclaration */ - || kind === 259 /* SyntaxKind.TypeAliasDeclaration */ - || kind === 266 /* SyntaxKind.ImportDeclaration */ - || kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ - || kind === 272 /* SyntaxKind.ExportDeclaration */ - || kind === 264 /* SyntaxKind.NamespaceExportDeclaration */ - || kind === 271 /* SyntaxKind.ExportAssignment */; + return kind === 240 /* SyntaxKind.VariableStatement */ + || kind === 241 /* SyntaxKind.ExpressionStatement */ + || kind === 243 /* SyntaxKind.DoStatement */ + || kind === 248 /* SyntaxKind.ContinueStatement */ + || kind === 249 /* SyntaxKind.BreakStatement */ + || kind === 250 /* SyntaxKind.ReturnStatement */ + || kind === 254 /* SyntaxKind.ThrowStatement */ + || kind === 256 /* SyntaxKind.DebuggerStatement */ + || kind === 169 /* SyntaxKind.PropertyDeclaration */ + || kind === 262 /* SyntaxKind.TypeAliasDeclaration */ + || kind === 269 /* SyntaxKind.ImportDeclaration */ + || kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ + || kind === 275 /* SyntaxKind.ExportDeclaration */ + || kind === 267 /* SyntaxKind.NamespaceExportDeclaration */ + || kind === 274 /* SyntaxKind.ExportAssignment */; } ts.syntaxRequiresTrailingSemicolonOrASI = syntaxRequiresTrailingSemicolonOrASI; ts.syntaxMayBeASICandidate = ts.or(syntaxRequiresTrailingCommaOrSemicolonOrASI, syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI, syntaxRequiresTrailingModuleBlockOrSemicolonOrASI, syntaxRequiresTrailingSemicolonOrASI); @@ -131233,7 +132467,7 @@ var ts; return false; } // See comment in parser’s `parseDoStatement` - if (node.kind === 240 /* SyntaxKind.DoStatement */) { + if (node.kind === 243 /* SyntaxKind.DoStatement */) { return true; } var topNode = ts.findAncestor(node, function (ancestor) { return !ancestor.parent; }); @@ -131722,6 +132956,10 @@ var ts; return jsx === 2 /* JsxEmit.React */ || jsx === 3 /* JsxEmit.ReactNative */; } ts.jsxModeNeedsExplicitImport = jsxModeNeedsExplicitImport; + function isSourceFileFromLibrary(program, node) { + return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node); + } + ts.isSourceFileFromLibrary = isSourceFileFromLibrary; // #endregion })(ts || (ts = {})); /*@internal*/ @@ -131837,14 +133075,16 @@ var ts; search: function (importingFile, preferCapitalized, matches, action) { if (importingFile !== usableByFileName) return; - exportInfo.forEach(function (info, key) { + return ts.forEachEntry(exportInfo, function (info, key) { var _a = parseKey(key), symbolName = _a.symbolName, ambientModuleName = _a.ambientModuleName; var name = preferCapitalized && info[0].capitalizedSymbolName || symbolName; if (matches(name, info[0].targetFlags)) { var rehydrated = info.map(rehydrateCachedInfo); var filtered = rehydrated.filter(function (r, i) { return isNotShadowedByDeeperNodeModulesPackage(r, info[i].packageName); }); if (filtered.length) { - action(filtered, name, !!ambientModuleName, key); + var res = action(filtered, name, !!ambientModuleName, key); + if (res !== undefined) + return res; } } }); @@ -131967,7 +133207,7 @@ var ts; } var getCanonicalFileName = ts.hostGetCanonicalFileName(moduleSpecifierResolutionHost); var globalTypingsCache = (_a = moduleSpecifierResolutionHost.getGlobalTypingsCacheLocation) === null || _a === void 0 ? void 0 : _a.call(moduleSpecifierResolutionHost); - var hasImportablePath = !!ts.moduleSpecifiers.forEachFileNameOfModule(from.fileName, to.fileName, moduleSpecifierResolutionHost, + var hasImportablePath = !!ts.moduleSpecifiers.forEachFileNameOfModule(from.fileName, to.fileName, moduleSpecifierResolutionHost, /*preferSymlinks*/ false, function (toPath) { var toFile = program.getSourceFile(toPath); // Determine to import using toPath only if toPath is what we were looking at @@ -132232,11 +133472,11 @@ var ts; angleBracketStack--; } break; - case 130 /* SyntaxKind.AnyKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: if (angleBracketStack > 0 && !syntacticClassifierAbsent) { // If it looks like we're could be in something generic, don't classify this // as a keyword. We may just get overwritten by the syntactic classifier, @@ -132425,10 +133665,11 @@ var ts; return true; } switch (keyword2) { - case 136 /* SyntaxKind.GetKeyword */: - case 149 /* SyntaxKind.SetKeyword */: - case 134 /* SyntaxKind.ConstructorKeyword */: + case 137 /* SyntaxKind.GetKeyword */: + case 151 /* SyntaxKind.SetKeyword */: + case 135 /* SyntaxKind.ConstructorKeyword */: case 124 /* SyntaxKind.StaticKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: return true; // Allow things like "public get", "public constructor" and "public static". default: return false; // Any other keyword following "public" is actually an identifier, not a real keyword. @@ -132475,7 +133716,8 @@ var ts; case 33 /* SyntaxKind.GreaterThanEqualsToken */: case 102 /* SyntaxKind.InstanceOfKeyword */: case 101 /* SyntaxKind.InKeyword */: - case 127 /* SyntaxKind.AsKeyword */: + case 128 /* SyntaxKind.AsKeyword */: + case 150 /* SyntaxKind.SatisfiesKeyword */: case 34 /* SyntaxKind.EqualsEqualsToken */: case 35 /* SyntaxKind.ExclamationEqualsToken */: case 36 /* SyntaxKind.EqualsEqualsEqualsToken */: @@ -132571,13 +133813,13 @@ var ts; // That means we're calling back into the host around every 1.2k of the file we process. // Lib.d.ts has similar numbers. switch (kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } } @@ -132799,46 +134041,46 @@ var ts; pos = tag.tagName.end; var commentStart = tag.tagName.end; switch (tag.kind) { - case 340 /* SyntaxKind.JSDocParameterTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: var param = tag; processJSDocParameterTag(param); commentStart = param.isNameFirst && ((_a = param.typeExpression) === null || _a === void 0 ? void 0 : _a.end) || param.name.end; break; - case 347 /* SyntaxKind.JSDocPropertyTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: var prop = tag; commentStart = prop.isNameFirst && ((_b = prop.typeExpression) === null || _b === void 0 ? void 0 : _b.end) || prop.name.end; break; - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: processJSDocTemplateTag(tag); pos = tag.end; commentStart = tag.typeParameters.end; break; - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: var type = tag; - commentStart = ((_c = type.typeExpression) === null || _c === void 0 ? void 0 : _c.kind) === 309 /* SyntaxKind.JSDocTypeExpression */ && ((_d = type.fullName) === null || _d === void 0 ? void 0 : _d.end) || ((_e = type.typeExpression) === null || _e === void 0 ? void 0 : _e.end) || commentStart; + commentStart = ((_c = type.typeExpression) === null || _c === void 0 ? void 0 : _c.kind) === 312 /* SyntaxKind.JSDocTypeExpression */ && ((_d = type.fullName) === null || _d === void 0 ? void 0 : _d.end) || ((_e = type.typeExpression) === null || _e === void 0 ? void 0 : _e.end) || commentStart; break; - case 338 /* SyntaxKind.JSDocCallbackTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: commentStart = tag.typeExpression.end; break; - case 343 /* SyntaxKind.JSDocTypeTag */: + case 346 /* SyntaxKind.JSDocTypeTag */: processElement(tag.typeExpression); pos = tag.end; commentStart = tag.typeExpression.end; break; - case 342 /* SyntaxKind.JSDocThisTag */: - case 339 /* SyntaxKind.JSDocEnumTag */: + case 345 /* SyntaxKind.JSDocThisTag */: + case 342 /* SyntaxKind.JSDocEnumTag */: commentStart = tag.typeExpression.end; break; - case 341 /* SyntaxKind.JSDocReturnTag */: + case 344 /* SyntaxKind.JSDocReturnTag */: processElement(tag.typeExpression); pos = tag.end; commentStart = ((_f = tag.typeExpression) === null || _f === void 0 ? void 0 : _f.end) || commentStart; break; - case 346 /* SyntaxKind.JSDocSeeTag */: + case 349 /* SyntaxKind.JSDocSeeTag */: commentStart = ((_g = tag.name) === null || _g === void 0 ? void 0 : _g.end) || commentStart; break; - case 328 /* SyntaxKind.JSDocAugmentsTag */: - case 329 /* SyntaxKind.JSDocImplementsTag */: + case 331 /* SyntaxKind.JSDocAugmentsTag */: + case 332 /* SyntaxKind.JSDocImplementsTag */: commentStart = tag.class.end; break; } @@ -132885,7 +134127,7 @@ var ts; // defined in `ts.commentPragmas` would be excessive, but we can avoid // some obvious false positives (e.g. in XML-like doc comments) by // checking the element name. - // eslint-disable-next-line no-in-operator + // eslint-disable-next-line local/no-in-operator if (!match[3] || !(match[3] in ts.commentPragmas)) { return false; } @@ -132995,22 +134237,22 @@ var ts; } function tryClassifyJsxElementName(token) { switch (token.parent && token.parent.kind) { - case 280 /* SyntaxKind.JsxOpeningElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: if (token.parent.tagName === token) { return 19 /* ClassificationType.jsxOpenTagName */; } break; - case 281 /* SyntaxKind.JsxClosingElement */: + case 284 /* SyntaxKind.JsxClosingElement */: if (token.parent.tagName === token) { return 20 /* ClassificationType.jsxCloseTagName */; } break; - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: if (token.parent.tagName === token) { return 21 /* ClassificationType.jsxSelfClosingTagName */; } break; - case 285 /* SyntaxKind.JsxAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: if (token.parent.name === token) { return 22 /* ClassificationType.jsxAttribute */; } @@ -133039,17 +134281,17 @@ var ts; var parent = token.parent; if (tokenKind === 63 /* SyntaxKind.EqualsToken */) { // the '=' in a variable declaration is special cased here. - if (parent.kind === 254 /* SyntaxKind.VariableDeclaration */ || - parent.kind === 167 /* SyntaxKind.PropertyDeclaration */ || - parent.kind === 164 /* SyntaxKind.Parameter */ || - parent.kind === 285 /* SyntaxKind.JsxAttribute */) { + if (parent.kind === 257 /* SyntaxKind.VariableDeclaration */ || + parent.kind === 169 /* SyntaxKind.PropertyDeclaration */ || + parent.kind === 166 /* SyntaxKind.Parameter */ || + parent.kind === 288 /* SyntaxKind.JsxAttribute */) { return 5 /* ClassificationType.operator */; } } - if (parent.kind === 221 /* SyntaxKind.BinaryExpression */ || - parent.kind === 219 /* SyntaxKind.PrefixUnaryExpression */ || - parent.kind === 220 /* SyntaxKind.PostfixUnaryExpression */ || - parent.kind === 222 /* SyntaxKind.ConditionalExpression */) { + if (parent.kind === 223 /* SyntaxKind.BinaryExpression */ || + parent.kind === 221 /* SyntaxKind.PrefixUnaryExpression */ || + parent.kind === 222 /* SyntaxKind.PostfixUnaryExpression */ || + parent.kind === 224 /* SyntaxKind.ConditionalExpression */) { return 5 /* ClassificationType.operator */; } } @@ -133062,7 +134304,7 @@ var ts; return 25 /* ClassificationType.bigintLiteral */; } else if (tokenKind === 10 /* SyntaxKind.StringLiteral */) { - return token && token.parent.kind === 285 /* SyntaxKind.JsxAttribute */ ? 24 /* ClassificationType.jsxAttributeStringLiteralValue */ : 6 /* ClassificationType.stringLiteral */; + return token && token.parent.kind === 288 /* SyntaxKind.JsxAttribute */ ? 24 /* ClassificationType.jsxAttributeStringLiteralValue */ : 6 /* ClassificationType.stringLiteral */; } else if (tokenKind === 13 /* SyntaxKind.RegularExpressionLiteral */) { // TODO: we should get another classification type for these literals. @@ -133078,32 +134320,32 @@ var ts; else if (tokenKind === 79 /* SyntaxKind.Identifier */) { if (token) { switch (token.parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: if (token.parent.name === token) { return 11 /* ClassificationType.className */; } return; - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: if (token.parent.name === token) { return 15 /* ClassificationType.typeParameterName */; } return; - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: if (token.parent.name === token) { return 13 /* ClassificationType.interfaceName */; } return; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: if (token.parent.name === token) { return 12 /* ClassificationType.enumName */; } return; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: if (token.parent.name === token) { return 14 /* ClassificationType.moduleName */; } return; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: if (token.parent.name === token) { return ts.isThisIdentifier(token) ? 3 /* ClassificationType.keyword */ : 17 /* ClassificationType.parameterName */; } @@ -133208,13 +134450,13 @@ var ts; var inJSXElement = false; function visit(node) { switch (node.kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } if (!node || !ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth()) || node.getFullWidth() === 0) { @@ -133254,7 +134496,7 @@ var ts; if (modifiers & 32 /* ModifierFlags.Static */) { modifierSet |= 1 << 1 /* TokenModifier.static */; } - if (modifiers & 256 /* ModifierFlags.Async */) { + if (modifiers & 512 /* ModifierFlags.Async */) { modifierSet |= 1 << 2 /* TokenModifier.async */; } if (typeIdx !== 0 /* TokenType.class */ && typeIdx !== 2 /* TokenType.interface */) { @@ -133360,25 +134602,25 @@ var ts; return (ts.isQualifiedName(node.parent) && node.parent.right === node) || (ts.isPropertyAccessExpression(node.parent) && node.parent.name === node); } var tokenFromDeclarationMapping = new ts.Map([ - [254 /* SyntaxKind.VariableDeclaration */, 7 /* TokenType.variable */], - [164 /* SyntaxKind.Parameter */, 6 /* TokenType.parameter */], - [167 /* SyntaxKind.PropertyDeclaration */, 9 /* TokenType.property */], - [261 /* SyntaxKind.ModuleDeclaration */, 3 /* TokenType.namespace */], - [260 /* SyntaxKind.EnumDeclaration */, 1 /* TokenType.enum */], - [299 /* SyntaxKind.EnumMember */, 8 /* TokenType.enumMember */], - [257 /* SyntaxKind.ClassDeclaration */, 0 /* TokenType.class */], - [169 /* SyntaxKind.MethodDeclaration */, 11 /* TokenType.member */], - [256 /* SyntaxKind.FunctionDeclaration */, 10 /* TokenType.function */], - [213 /* SyntaxKind.FunctionExpression */, 10 /* TokenType.function */], - [168 /* SyntaxKind.MethodSignature */, 11 /* TokenType.member */], - [172 /* SyntaxKind.GetAccessor */, 9 /* TokenType.property */], - [173 /* SyntaxKind.SetAccessor */, 9 /* TokenType.property */], - [166 /* SyntaxKind.PropertySignature */, 9 /* TokenType.property */], - [258 /* SyntaxKind.InterfaceDeclaration */, 2 /* TokenType.interface */], - [259 /* SyntaxKind.TypeAliasDeclaration */, 5 /* TokenType.type */], - [163 /* SyntaxKind.TypeParameter */, 4 /* TokenType.typeParameter */], - [296 /* SyntaxKind.PropertyAssignment */, 9 /* TokenType.property */], - [297 /* SyntaxKind.ShorthandPropertyAssignment */, 9 /* TokenType.property */] + [257 /* SyntaxKind.VariableDeclaration */, 7 /* TokenType.variable */], + [166 /* SyntaxKind.Parameter */, 6 /* TokenType.parameter */], + [169 /* SyntaxKind.PropertyDeclaration */, 9 /* TokenType.property */], + [264 /* SyntaxKind.ModuleDeclaration */, 3 /* TokenType.namespace */], + [263 /* SyntaxKind.EnumDeclaration */, 1 /* TokenType.enum */], + [302 /* SyntaxKind.EnumMember */, 8 /* TokenType.enumMember */], + [260 /* SyntaxKind.ClassDeclaration */, 0 /* TokenType.class */], + [171 /* SyntaxKind.MethodDeclaration */, 11 /* TokenType.member */], + [259 /* SyntaxKind.FunctionDeclaration */, 10 /* TokenType.function */], + [215 /* SyntaxKind.FunctionExpression */, 10 /* TokenType.function */], + [170 /* SyntaxKind.MethodSignature */, 11 /* TokenType.member */], + [174 /* SyntaxKind.GetAccessor */, 9 /* TokenType.property */], + [175 /* SyntaxKind.SetAccessor */, 9 /* TokenType.property */], + [168 /* SyntaxKind.PropertySignature */, 9 /* TokenType.property */], + [261 /* SyntaxKind.InterfaceDeclaration */, 2 /* TokenType.interface */], + [262 /* SyntaxKind.TypeAliasDeclaration */, 5 /* TokenType.type */], + [165 /* SyntaxKind.TypeParameter */, 4 /* TokenType.typeParameter */], + [299 /* SyntaxKind.PropertyAssignment */, 9 /* TokenType.property */], + [300 /* SyntaxKind.ShorthandPropertyAssignment */, 9 /* TokenType.property */] ]); })(v2020 = classifier.v2020 || (classifier.v2020 = {})); })(classifier = ts.classifier || (ts.classifier = {})); @@ -133433,7 +134675,7 @@ var ts; return convertPathCompletions(completion.paths); case 1 /* StringLiteralCompletionKind.Properties */: { var entries = ts.createSortedArray(); - Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ScriptTarget.ESNext */, log, 4 /* CompletionKind.String */, preferences, options, + Completions.getCompletionEntriesFromSymbols(completion.symbols, entries, contextToken, contextToken, sourceFile, sourceFile, host, program, 99 /* ScriptTarget.ESNext */, log, 4 /* CompletionKind.String */, preferences, options, /*formatContext*/ undefined); // Target will not be used, so arbitrary return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan: optionalReplacementSpan, entries: entries }; } @@ -133512,18 +134754,18 @@ var ts; function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host, preferences) { var parent = walkUpParentheses(node.parent); switch (parent.kind) { - case 196 /* SyntaxKind.LiteralType */: { + case 198 /* SyntaxKind.LiteralType */: { var grandParent_1 = walkUpParentheses(parent.parent); switch (grandParent_1.kind) { - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - case 178 /* SyntaxKind.TypeReference */: { + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + case 180 /* SyntaxKind.TypeReference */: { var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === grandParent_1; }); if (typeArgument) { return { kind: 2 /* StringLiteralCompletionKind.Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false }; } return undefined; } - case 194 /* SyntaxKind.IndexedAccessType */: + case 196 /* SyntaxKind.IndexedAccessType */: // Get all apparent property names // i.e. interface Foo { // foo: string; @@ -133535,9 +134777,9 @@ var ts; return undefined; } return stringLiteralCompletionsFromProperties(typeChecker.getTypeFromTypeNode(objectType)); - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: return { kind: 0 /* StringLiteralCompletionKind.Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) }; - case 187 /* SyntaxKind.UnionType */: { + case 189 /* SyntaxKind.UnionType */: { if (!ts.isTypeReferenceNode(grandParent_1.parent)) { return undefined; } @@ -133549,7 +134791,7 @@ var ts; return undefined; } } - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: if (ts.isObjectLiteralExpression(parent.parent) && parent.name === node) { // Get quoted name of properties of the object literal expression // i.e. interface ConfigFiles { @@ -133566,7 +134808,7 @@ var ts; return stringLiteralCompletionsForObjectLiteral(typeChecker, parent.parent); } return fromContextualType(); - case 207 /* SyntaxKind.ElementAccessExpression */: { + case 209 /* SyntaxKind.ElementAccessExpression */: { var _b = parent, expression = _b.expression, argumentExpression = _b.argumentExpression; if (node === ts.skipParentheses(argumentExpression)) { // Get all names of properties on the expression @@ -133579,20 +134821,20 @@ var ts; } return undefined; } - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 285 /* SyntaxKind.JsxAttribute */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 288 /* SyntaxKind.JsxAttribute */: if (!isRequireCallArgument(node) && !ts.isImportCall(parent)) { - var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(parent.kind === 285 /* SyntaxKind.JsxAttribute */ ? parent.parent : node, position, sourceFile); + var argumentInfo = ts.SignatureHelp.getArgumentInfoForCompletions(parent.kind === 288 /* SyntaxKind.JsxAttribute */ ? parent.parent : node, position, sourceFile); // Get string literal completions from specialized signatures of the target // i.e. declare function f(a: 'A'); // f("/*completion position*/") - return argumentInfo ? getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) : fromContextualType(); + return argumentInfo && getStringLiteralCompletionsFromSignature(argumentInfo.invocation, node, argumentInfo, typeChecker) || fromContextualType(); } // falls through (is `require("")` or `require(""` or `import("")`) - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 277 /* SyntaxKind.ExternalModuleReference */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 280 /* SyntaxKind.ExternalModuleReference */: // Get all known external module names or complete a path to a module // i.e. import * as ns from "/*completion position*/"; // var y = import("/*completion position*/"); @@ -133611,9 +134853,9 @@ var ts; } function walkUpParentheses(node) { switch (node.kind) { - case 191 /* SyntaxKind.ParenthesizedType */: + case 193 /* SyntaxKind.ParenthesizedType */: return ts.walkUpParenthesizedTypes(node); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return ts.walkUpParenthesizedExpressions(node); default: return node; @@ -133643,7 +134885,7 @@ var ts; isNewIdentifier = isNewIdentifier || !!(type.flags & 4 /* TypeFlags.String */); return getStringLiteralTypes(type, uniques); }); - return { kind: 2 /* StringLiteralCompletionKind.Types */, types: types, isNewIdentifier: isNewIdentifier }; + return ts.length(types) ? { kind: 2 /* StringLiteralCompletionKind.Types */, types: types, isNewIdentifier: isNewIdentifier } : undefined; } function stringLiteralCompletionsFromProperties(type) { return type && { @@ -134161,7 +135403,7 @@ var ts; if (!dependencies) continue; for (var dep in dependencies) { - if (dependencies.hasOwnProperty(dep) && !ts.startsWith(dep, "@types/")) { + if (ts.hasProperty(dependencies, dep) && !ts.startsWith(dep, "@types/")) { result.push(dep); } } @@ -134470,7 +135712,7 @@ var ts; return undefined; var lowerCaseTokenText = location.text.toLowerCase(); var exportMap = ts.getExportInfoMap(file, host, program, preferences, cancellationToken); - var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, ts.codefix.createImportSpecifierResolver(file, program, host, preferences), program, location.getStart(), preferences, + var newEntries = resolvingModuleSpecifiers("continuePreviousIncompleteResponse", host, ts.codefix.createImportSpecifierResolver(file, program, host, preferences), program, location.getStart(), preferences, /*isForImportStatementCompletion*/ false, ts.isValidTypeOnlyAliasUseSite(location), function (context) { var entries = ts.mapDefined(previousResponse.entries, function (entry) { var _a; @@ -134536,7 +135778,7 @@ var ts; } function keywordFiltersFromSyntaxKind(keywordCompletion) { switch (keywordCompletion) { - case 152 /* SyntaxKind.TypeKeyword */: return 8 /* KeywordCompletionFilters.TypeKeyword */; + case 154 /* SyntaxKind.TypeKeyword */: return 8 /* KeywordCompletionFilters.TypeKeyword */; default: ts.Debug.fail("Unknown mapping from SyntaxKind to KeywordCompletionFilters"); } } @@ -134545,7 +135787,7 @@ var ts; return (location === null || location === void 0 ? void 0 : location.kind) === 79 /* SyntaxKind.Identifier */ ? ts.createTextSpanFromNode(location) : undefined; } function completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position) { - var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, isRightOfOpenTag = completionData.isRightOfOpenTag, importCompletionNode = completionData.importCompletionNode, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextMap = completionData.symbolToSortTextMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; + var symbols = completionData.symbols, contextToken = completionData.contextToken, completionKind = completionData.completionKind, isInSnippetScope = completionData.isInSnippetScope, isNewIdentifierLocation = completionData.isNewIdentifierLocation, location = completionData.location, propertyAccessToConvert = completionData.propertyAccessToConvert, keywordFilters = completionData.keywordFilters, literals = completionData.literals, symbolToOriginInfoMap = completionData.symbolToOriginInfoMap, recommendedCompletion = completionData.recommendedCompletion, isJsxInitializer = completionData.isJsxInitializer, isTypeOnlyLocation = completionData.isTypeOnlyLocation, isJsxIdentifierExpected = completionData.isJsxIdentifierExpected, isRightOfOpenTag = completionData.isRightOfOpenTag, importStatementCompletion = completionData.importStatementCompletion, insideJsDocTagTypeExpression = completionData.insideJsDocTagTypeExpression, symbolToSortTextMap = completionData.symbolToSortTextMap, hasUnresolvedAutoImports = completionData.hasUnresolvedAutoImports; // Verify if the file is JSX language variant if (ts.getLanguageVariant(sourceFile.scriptKind) === 1 /* LanguageVariant.JSX */) { var completionInfo = getJsxClosingTagCompletion(location, sourceFile); @@ -134558,8 +135800,8 @@ var ts; if (isChecked && !isNewIdentifierLocation && (!symbols || symbols.length === 0) && keywordFilters === 0 /* KeywordCompletionFilters.None */) { return undefined; } - var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, - /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); + var uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, + /*replacementToken*/ undefined, contextToken, location, sourceFile, host, program, ts.getEmitScriptTarget(compilerOptions), log, completionKind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, isJsxIdentifierExpected, isJsxInitializer, importStatementCompletion, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag); if (keywordFilters !== 0 /* KeywordCompletionFilters.None */) { for (var _i = 0, _a = getKeywordCompletions(keywordFilters, !insideJsDocTagTypeExpression && ts.isSourceFileJS(sourceFile)); _i < _a.length; _i++) { var keywordEntry = _a[_i]; @@ -134612,12 +135854,12 @@ var ts; // We wanna walk up the tree till we find a JSX closing element var jsxClosingElement = ts.findAncestor(location, function (node) { switch (node.kind) { - case 281 /* SyntaxKind.JsxClosingElement */: + case 284 /* SyntaxKind.JsxClosingElement */: return true; case 43 /* SyntaxKind.SlashToken */: case 31 /* SyntaxKind.GreaterThanToken */: case 79 /* SyntaxKind.Identifier */: - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return false; default: return "quit"; @@ -134677,7 +135919,7 @@ var ts; function createCompletionEntryForLiteral(sourceFile, preferences, literal) { return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: "string" /* ScriptElementKind.string */, kindModifiers: "" /* ScriptElementKindModifier.none */, sortText: Completions.SortText.LocationPriority }; } - function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag) { + function createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importStatementCompletion, useSemicolons, options, preferences, completionKind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag) { var _a, _b; var insertText; var replacementSpan = ts.getReplacementSpanForContextToken(replacementToken); @@ -134733,8 +135975,8 @@ var ts; } if (originIsResolvedExport(origin)) { sourceDisplay = [ts.textPart(origin.moduleSpecifier)]; - if (importCompletionNode) { - (_a = getInsertTextAndReplacementSpanForImportCompletion(name, importCompletionNode, contextToken, origin, useSemicolons, options, preferences), insertText = _a.insertText, replacementSpan = _a.replacementSpan); + if (importStatementCompletion) { + (_a = getInsertTextAndReplacementSpanForImportCompletion(name, importStatementCompletion, origin, useSemicolons, sourceFile, options, preferences), insertText = _a.insertText, replacementSpan = _a.replacementSpan); isSnippet = preferences.includeCompletionsWithSnippetText ? true : undefined; } } @@ -134744,7 +135986,7 @@ var ts; if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* CompletionKind.MemberLike */ && - isClassLikeMemberCompletion(symbol, location)) { + isClassLikeMemberCompletion(symbol, location, sourceFile)) { var importAdder = void 0; (_b = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext), insertText = _b.insertText, isSnippet = _b.isSnippet, importAdder = _b.importAdder, replacementSpan = _b.replacementSpan); sortText = Completions.SortText.ClassMemberSnippets; // sortText has to be lower priority than the sortText for keywords. See #47852. @@ -134789,7 +136031,7 @@ var ts; } if (originIsExport(origin) || originIsResolvedExport(origin)) { data = originToCompletionEntryData(origin); - hasAction = !importCompletionNode; + hasAction = !importStatementCompletion; } // TODO(drosen): Right now we just permit *all* semantic meanings when calling // 'getSymbolKind' which is permissible given that it is backwards compatible; but @@ -134812,11 +136054,11 @@ var ts; labelDetails: labelDetails, isSnippet: isSnippet, isPackageJsonImport: originIsPackageJsonImport(origin) || undefined, - isImportStatementCompletion: !!importCompletionNode || undefined, + isImportStatementCompletion: !!importStatementCompletion || undefined, data: data, }; } - function isClassLikeMemberCompletion(symbol, location) { + function isClassLikeMemberCompletion(symbol, location, sourceFile) { // TODO: support JS files. if (ts.isInJSFile(location)) { return false; @@ -134850,6 +136092,7 @@ var ts; location.parent.parent && ts.isClassElement(location.parent) && location === location.parent.name && + location.parent.getLastToken(sourceFile) === location.parent.name && ts.isClassLike(location.parent.parent)) || (location.parent && ts.isSyntaxList(location) && @@ -134891,9 +136134,9 @@ var ts; // Whether the suggested member should be abstract. // e.g. in `abstract class C { abstract | }`, we should offer abstract method signatures at position `|`. var _a = getPresentModifiers(contextToken), presentModifiers = _a.modifiers, modifiersSpan = _a.span; - var isAbstract = !!(presentModifiers & 128 /* ModifierFlags.Abstract */); + var isAbstract = !!(presentModifiers & 256 /* ModifierFlags.Abstract */); var completionNodes = []; - ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder, + ts.codefix.addNewNodeForMemberSymbol(symbol, classLikeDeclaration, sourceFile, { program: program, host: host }, preferences, importAdder, // `addNewNodeForMemberSymbol` calls this callback function for each new member node // it adds for the given member symbol. // We store these member nodes in the `completionNodes` array. @@ -134904,7 +136147,7 @@ var ts; function (node) { var requiredModifiers = 0 /* ModifierFlags.None */; if (isAbstract) { - requiredModifiers |= 128 /* ModifierFlags.Abstract */; + requiredModifiers |= 256 /* ModifierFlags.Abstract */; } if (ts.isClassElement(node) && checker.getMemberOverrideModifierStatus(classLikeDeclaration, node) === 1 /* MemberOverrideStatus.NeedsOverride */) { @@ -134965,7 +136208,7 @@ var ts; span = ts.createTextSpanFromNode(contextToken); } if (ts.isPropertyDeclaration(contextToken.parent)) { - modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers) & 125951 /* ModifierFlags.Modifier */; + modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers) & 126975 /* ModifierFlags.Modifier */; span = ts.createTextSpanFromNode(contextToken.parent); } return { modifiers: modifiers, span: span }; @@ -135009,12 +136252,11 @@ var ts; // The `labelDetails.detail` will be displayed right beside the method name, // so we drop the name (and modifiers) from the signature. var methodSignature = ts.factory.createMethodSignature( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*name*/ "", method.questionToken, method.typeParameters, method.parameters, method.type); var labelDetails = { detail: signaturePrinter.printNode(4 /* EmitHint.Unspecified */, methodSignature, sourceFile) }; return { isSnippet: isSnippet, insertText: insertText, labelDetails: labelDetails }; } - ; function createObjectLiteralMethod(symbol, enclosingDeclaration, sourceFile, program, host, preferences) { var declarations = symbol.getDeclarations(); if (!(declarations && declarations.length)) { @@ -135027,10 +136269,10 @@ var ts; var quotePreference = ts.getQuotePreference(sourceFile, preferences); var builderFlags = 33554432 /* NodeBuilderFlags.OmitThisParameter */ | (quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : 0 /* NodeBuilderFlags.None */); switch (declaration.kind) { - case 166 /* SyntaxKind.PropertySignature */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 169 /* SyntaxKind.MethodDeclaration */: { + case 168 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: { var effectiveType = type.flags & 1048576 /* TypeFlags.Union */ && type.types.length < 10 ? checker.getUnionType(type.types, 2 /* UnionReduction.Subtype */) : type; @@ -135064,14 +136306,15 @@ var ts; } var parameters = typeNode.parameters.map(function (typedParam) { return ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, typedParam.questionToken, + /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, + /*questionToken*/ undefined, /*type*/ undefined, typedParam.initializer); }); return ts.factory.createMethodDeclaration( - /*modifiers*/ undefined, - /*asteriskToken*/ undefined, name, - /*questionToken*/ undefined, - /*typeParameters*/ undefined, parameters, + /*modifiers*/ undefined, + /*asteriskToken*/ undefined, name, + /*questionToken*/ undefined, + /*typeParameters*/ undefined, parameters, /*type*/ undefined, body); } default: @@ -135124,8 +136367,8 @@ var ts; var formatOptions = ts.getFormatCodeSettingsForWriting(formatContext, sourceFile); var changes = ts.flatMap(list, function (node) { var nodeWithPos = ts.textChanges.assignPositionsToNode(node); - return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile, sourceFile.languageVariant, - /* indentation */ 0, + return ts.formatting.formatNodeGivenIndentation(nodeWithPos, syntheticFile, sourceFile.languageVariant, + /* indentation */ 0, /* delta */ 0, __assign(__assign({}, formatContext), { options: formatOptions })); }); var allChanges = escapes @@ -135184,20 +136427,17 @@ var ts; }; return unresolvedOrigin; } - function getInsertTextAndReplacementSpanForImportCompletion(name, importCompletionNode, contextToken, origin, useSemicolons, options, preferences) { - var _a, _b, _c; - var sourceFile = importCompletionNode.getSourceFile(); - var replacementSpan = ts.createTextSpanFromNode(ts.findAncestor(importCompletionNode, ts.or(ts.isImportDeclaration, ts.isImportEqualsDeclaration)) || importCompletionNode, sourceFile); + function getInsertTextAndReplacementSpanForImportCompletion(name, importStatementCompletion, origin, useSemicolons, sourceFile, options, preferences) { + var replacementSpan = importStatementCompletion.replacementSpan; var quotedModuleSpecifier = ts.quote(sourceFile, preferences, origin.moduleSpecifier); var exportKind = origin.isDefaultExport ? 1 /* ExportKind.Default */ : origin.exportName === "export=" /* InternalSymbolName.ExportEquals */ ? 2 /* ExportKind.ExportEquals */ : 0 /* ExportKind.Named */; var tabStop = preferences.includeCompletionsWithSnippetText ? "$1" : ""; var importKind = ts.codefix.getImportKind(sourceFile, exportKind, options, /*forceImportKeyword*/ true); - var isTopLevelTypeOnly = ((_b = (_a = ts.tryCast(importCompletionNode, ts.isImportDeclaration)) === null || _a === void 0 ? void 0 : _a.importClause) === null || _b === void 0 ? void 0 : _b.isTypeOnly) || ((_c = ts.tryCast(importCompletionNode, ts.isImportEqualsDeclaration)) === null || _c === void 0 ? void 0 : _c.isTypeOnly); - var isImportSpecifierTypeOnly = couldBeTypeOnlyImportSpecifier(importCompletionNode, contextToken); - var topLevelTypeOnlyText = isTopLevelTypeOnly ? " ".concat(ts.tokenToString(152 /* SyntaxKind.TypeKeyword */), " ") : " "; - var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? "".concat(ts.tokenToString(152 /* SyntaxKind.TypeKeyword */), " ") : ""; + var isImportSpecifierTypeOnly = importStatementCompletion.couldBeTypeOnlyImportSpecifier; + var topLevelTypeOnlyText = importStatementCompletion.isTopLevelTypeOnly ? " ".concat(ts.tokenToString(154 /* SyntaxKind.TypeKeyword */), " ") : " "; + var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? "".concat(ts.tokenToString(154 /* SyntaxKind.TypeKeyword */), " ") : ""; var suffix = useSemicolons ? ";" : ""; switch (importKind) { case 3 /* ImportKind.CommonJS */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " = require(").concat(quotedModuleSpecifier, ")").concat(suffix) }; @@ -135230,7 +136470,7 @@ var ts; return CompletionSource.TypeOnlyAlias; } } - function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, sourceFile, host, program, target, log, kind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importCompletionNode, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag) { + function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, contextToken, location, sourceFile, host, program, target, log, kind, preferences, compilerOptions, formatContext, isTypeOnlyLocation, propertyAccessToConvert, jsxIdentifierExpected, isJsxInitializer, importStatementCompletion, recommendedCompletion, symbolToOriginInfoMap, symbolToSortTextMap, isJsxIdentifierExpected, isRightOfOpenTag) { var _a; var start = ts.timestamp(); var variableDeclaration = getVariableDeclaration(location); @@ -135251,7 +136491,7 @@ var ts; var name = info.name, needsConvertPropertyAccess = info.needsConvertPropertyAccess; var originalSortText = (_a = symbolToSortTextMap === null || symbolToSortTextMap === void 0 ? void 0 : symbolToSortTextMap[ts.getSymbolId(symbol)]) !== null && _a !== void 0 ? _a : Completions.SortText.LocationPriority; var sortText = (isDeprecated(symbol, typeChecker) ? Completions.SortText.Deprecated(originalSortText) : originalSortText); - var entry = createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importCompletionNode, useSemicolons, compilerOptions, preferences, kind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag); + var entry = createCompletionEntry(symbol, sortText, replacementToken, contextToken, location, sourceFile, host, program, name, needsConvertPropertyAccess, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, importStatementCompletion, useSemicolons, compilerOptions, preferences, kind, formatContext, isJsxIdentifierExpected, isRightOfOpenTag); if (!entry) { continue; } @@ -135411,7 +136651,7 @@ var ts; } case "symbol": { var symbol = symbolCompletion.symbol, location = symbolCompletion.location, contextToken_2 = symbolCompletion.contextToken, origin = symbolCompletion.origin, previousToken = symbolCompletion.previousToken; - var _a = getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken_2, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken, formatContext, preferences, data, source), codeActions = _a.codeActions, sourceDisplay = _a.sourceDisplay; + var _a = getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken_2, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken, formatContext, preferences, data, source, cancellationToken), codeActions = _a.codeActions, sourceDisplay = _a.sourceDisplay; return createCompletionDetailsForSymbol(symbol, typeChecker, sourceFile, location, cancellationToken, codeActions, sourceDisplay); // TODO: GH#18217 } case "literal": { @@ -135440,9 +136680,9 @@ var ts; return { name: name, kindModifiers: kindModifiers, kind: kind, displayParts: displayParts, documentation: documentation, tags: tags, codeActions: codeActions, source: source, sourceDisplay: source }; } Completions.createCompletionDetails = createCompletionDetails; - function getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken, formatContext, preferences, data, source) { + function getCompletionEntryCodeActionsAndSourceDisplay(name, location, contextToken, origin, symbol, program, host, compilerOptions, sourceFile, position, previousToken, formatContext, preferences, data, source, cancellationToken) { if (data === null || data === void 0 ? void 0 : data.moduleSpecifier) { - if (previousToken && getImportStatementCompletionInfo(contextToken || previousToken).replacementNode) { + if (previousToken && getImportStatementCompletionInfo(contextToken || previousToken).replacementSpan) { // Import statement completion: 'import c|' return { codeActions: undefined, sourceDisplay: [ts.textPart(data.moduleSpecifier)] }; } @@ -135472,7 +136712,7 @@ var ts; var moduleSymbol = origin.moduleSymbol; var targetSymbol = checker.getMergedSymbol(ts.skipAlias(symbol.exportSymbol || symbol, checker)); var isJsxOpeningTagName = (contextToken === null || contextToken === void 0 ? void 0 : contextToken.kind) === 29 /* SyntaxKind.LessThanToken */ && ts.isJsxOpeningLikeElement(contextToken.parent); - var _a = ts.codefix.getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, ts.getNameForExportedSymbol(symbol, ts.getEmitScriptTarget(compilerOptions), isJsxOpeningTagName), isJsxOpeningTagName, host, program, formatContext, previousToken && ts.isIdentifier(previousToken) ? previousToken.getStart(sourceFile) : position, preferences), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; + var _a = ts.codefix.getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, ts.getNameForExportedSymbol(symbol, ts.getEmitScriptTarget(compilerOptions), isJsxOpeningTagName), isJsxOpeningTagName, host, program, formatContext, previousToken && ts.isIdentifier(previousToken) ? previousToken.getStart(sourceFile) : position, preferences, cancellationToken), moduleSpecifier = _a.moduleSpecifier, codeAction = _a.codeAction; ts.Debug.assert(!(data === null || data === void 0 ? void 0 : data.moduleSpecifier) || moduleSpecifier === data.moduleSpecifier); return { sourceDisplay: [ts.textPart(moduleSpecifier)], codeActions: [codeAction] }; } @@ -135515,11 +136755,11 @@ var ts; return ts.getContextualTypeFromParent(previousToken, checker); case 63 /* SyntaxKind.EqualsToken */: switch (parent.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return checker.getContextualType(parent.initializer); // TODO: GH#18217 - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return checker.getTypeAtLocation(parent.left); - case 285 /* SyntaxKind.JsxAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: return checker.getContextualTypeForJsxAttribute(parent); default: return undefined; @@ -135550,7 +136790,7 @@ var ts; } function isModuleSymbol(symbol) { var _a; - return !!((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.kind === 305 /* SyntaxKind.SourceFile */; })); + return !!((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.kind === 308 /* SyntaxKind.SourceFile */; })); } function getCompletionData(program, log, sourceFile, compilerOptions, position, preferences, detailsEntryId, host, formatContext, cancellationToken) { var typeChecker = program.getTypeChecker(); @@ -135607,7 +136847,7 @@ var ts; currentToken = ts.getTokenAtPosition(sourceFile, position); if (!currentToken || (!ts.isDeclarationName(currentToken) && - (currentToken.parent.kind !== 347 /* SyntaxKind.JSDocPropertyTag */ || + (currentToken.parent.kind !== 350 /* SyntaxKind.JSDocPropertyTag */ || currentToken.parent.name !== currentToken))) { // Use as type location if inside tag's type expression insideJsDocTagTypeExpression = isCurrentlyEditingNode(typeExpression); @@ -135643,34 +136883,34 @@ var ts; var isStartingCloseTag = false; var isJsxInitializer = false; var isJsxIdentifierExpected = false; - var importCompletionNode; + var importStatementCompletion; var location = ts.getTouchingPropertyName(sourceFile, position); var keywordFilters = 0 /* KeywordCompletionFilters.None */; var isNewIdentifierLocation = false; var flags = 0 /* CompletionInfoFlags.None */; if (contextToken) { - var importStatementCompletion = getImportStatementCompletionInfo(contextToken); - isNewIdentifierLocation = importStatementCompletion.isNewIdentifierLocation; - if (importStatementCompletion.keywordCompletion) { - if (importStatementCompletion.isKeywordOnlyCompletion) { + var importStatementCompletionInfo = getImportStatementCompletionInfo(contextToken); + if (importStatementCompletionInfo.keywordCompletion) { + if (importStatementCompletionInfo.isKeywordOnlyCompletion) { return { kind: 4 /* CompletionDataKind.Keywords */, - keywordCompletions: [keywordToCompletionEntry(importStatementCompletion.keywordCompletion)], - isNewIdentifierLocation: isNewIdentifierLocation, + keywordCompletions: [keywordToCompletionEntry(importStatementCompletionInfo.keywordCompletion)], + isNewIdentifierLocation: importStatementCompletionInfo.isNewIdentifierLocation, }; } - keywordFilters = keywordFiltersFromSyntaxKind(importStatementCompletion.keywordCompletion); + keywordFilters = keywordFiltersFromSyntaxKind(importStatementCompletionInfo.keywordCompletion); } - if (importStatementCompletion.replacementNode && preferences.includeCompletionsForImportStatements && preferences.includeCompletionsWithInsertText) { + if (importStatementCompletionInfo.replacementSpan && preferences.includeCompletionsForImportStatements && preferences.includeCompletionsWithInsertText) { // Import statement completions use `insertText`, and also require the `data` property of `CompletionEntryIdentifier` // added in TypeScript 4.3 to be sent back from the client during `getCompletionEntryDetails`. Since this feature // is not backward compatible with older clients, the language service defaults to disabling it, allowing newer clients // to opt in with the `includeCompletionsForImportStatements` user preference. - importCompletionNode = importStatementCompletion.replacementNode; flags |= 2 /* CompletionInfoFlags.IsImportStatementCompletion */; + importStatementCompletion = importStatementCompletionInfo; + isNewIdentifierLocation = importStatementCompletionInfo.isNewIdentifierLocation; } // Bail out if this is a known invalid completion location - if (!importCompletionNode && isCompletionListBlocker(contextToken)) { + if (!importStatementCompletionInfo.replacementSpan && isCompletionListBlocker(contextToken)) { log("Returning an empty list because completion was requested in an invalid position."); return keywordFilters ? keywordCompletionData(keywordFilters, isJsOnlyLocation, isNewIdentifierDefinitionLocation()) @@ -135681,7 +136921,7 @@ var ts; isRightOfDot = contextToken.kind === 24 /* SyntaxKind.DotToken */; isRightOfQuestionDot = contextToken.kind === 28 /* SyntaxKind.QuestionDotToken */; switch (parent.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: propertyAccessToConvert = parent; node = propertyAccessToConvert.expression; var leftmostAccessExpression = ts.getLeftmostAccessExpression(propertyAccessToConvert); @@ -135697,16 +136937,16 @@ var ts; return undefined; } break; - case 161 /* SyntaxKind.QualifiedName */: + case 163 /* SyntaxKind.QualifiedName */: node = parent.left; break; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: node = parent.name; break; - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: node = parent; break; - case 231 /* SyntaxKind.MetaProperty */: + case 233 /* SyntaxKind.MetaProperty */: node = parent.getFirstToken(sourceFile); ts.Debug.assert(node.kind === 100 /* SyntaxKind.ImportKeyword */ || node.kind === 103 /* SyntaxKind.NewKeyword */); break; @@ -135716,11 +136956,11 @@ var ts; return undefined; } } - else if (!importCompletionNode && sourceFile.languageVariant === 1 /* LanguageVariant.JSX */) { + else if (!importStatementCompletion) { // // If the tagname is a property access expression, we will then walk up to the top most of property access expression. // Then, try to get a JSX container and its associated attributes type. - if (parent && parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (parent && parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { contextToken = parent; parent = parent.parent; } @@ -135728,46 +136968,46 @@ var ts; if (currentToken.parent === location) { switch (currentToken.kind) { case 31 /* SyntaxKind.GreaterThanToken */: - if (currentToken.parent.kind === 278 /* SyntaxKind.JsxElement */ || currentToken.parent.kind === 280 /* SyntaxKind.JsxOpeningElement */) { + if (currentToken.parent.kind === 281 /* SyntaxKind.JsxElement */ || currentToken.parent.kind === 283 /* SyntaxKind.JsxOpeningElement */) { location = currentToken; } break; case 43 /* SyntaxKind.SlashToken */: - if (currentToken.parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */) { + if (currentToken.parent.kind === 282 /* SyntaxKind.JsxSelfClosingElement */) { location = currentToken; } break; } } switch (parent.kind) { - case 281 /* SyntaxKind.JsxClosingElement */: + case 284 /* SyntaxKind.JsxClosingElement */: if (contextToken.kind === 43 /* SyntaxKind.SlashToken */) { isStartingCloseTag = true; location = contextToken; } break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (!binaryExpressionMayBeOpenTag(parent)) { break; } // falls through - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 278 /* SyntaxKind.JsxElement */: - case 280 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 281 /* SyntaxKind.JsxElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: isJsxIdentifierExpected = true; if (contextToken.kind === 29 /* SyntaxKind.LessThanToken */) { isRightOfOpenTag = true; location = contextToken; } break; - case 288 /* SyntaxKind.JsxExpression */: - case 287 /* SyntaxKind.JsxSpreadAttribute */: + case 291 /* SyntaxKind.JsxExpression */: + case 290 /* SyntaxKind.JsxSpreadAttribute */: // For `
`, `parent` will be `{true}` and `previousToken` will be `}` if (previousToken.kind === 19 /* SyntaxKind.CloseBraceToken */ && currentToken.kind === 31 /* SyntaxKind.GreaterThanToken */) { isJsxIdentifierExpected = true; } break; - case 285 /* SyntaxKind.JsxAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: // For `
`, `parent` will be JsxAttribute and `previousToken` will be its initializer if (parent.initializer === previousToken && previousToken.end < position) { @@ -135859,19 +137099,19 @@ var ts; isTypeOnlyLocation: isTypeOnlyLocation, isJsxIdentifierExpected: isJsxIdentifierExpected, isRightOfOpenTag: isRightOfOpenTag, - importCompletionNode: importCompletionNode, + importStatementCompletion: importStatementCompletion, hasUnresolvedAutoImports: hasUnresolvedAutoImports, flags: flags, }; function isTagWithTypeExpression(tag) { switch (tag.kind) { - case 340 /* SyntaxKind.JSDocParameterTag */: - case 347 /* SyntaxKind.JSDocPropertyTag */: - case 341 /* SyntaxKind.JSDocReturnTag */: - case 343 /* SyntaxKind.JSDocTypeTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: + case 344 /* SyntaxKind.JSDocReturnTag */: + case 346 /* SyntaxKind.JSDocTypeTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: return true; - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: return !!tag.constraint; default: return false; @@ -135880,7 +137120,7 @@ var ts; function tryGetTypeExpressionFromTag(tag) { if (isTagWithTypeExpression(tag)) { var typeExpression = ts.isJSDocTemplateTag(tag) ? tag.constraint : tag.typeExpression; - return typeExpression && typeExpression.kind === 309 /* SyntaxKind.JSDocTypeExpression */ ? typeExpression : undefined; + return typeExpression && typeExpression.kind === 312 /* SyntaxKind.JSDocTypeExpression */ ? typeExpression : undefined; } return undefined; } @@ -135923,7 +137163,7 @@ var ts; // If the module is merged with a value, we must get the type of the class and add its propertes (for inherited static methods). if (!isTypeLocation && symbol.declarations && - symbol.declarations.some(function (d) { return d.kind !== 305 /* SyntaxKind.SourceFile */ && d.kind !== 261 /* SyntaxKind.ModuleDeclaration */ && d.kind !== 260 /* SyntaxKind.EnumDeclaration */; })) { + symbol.declarations.some(function (d) { return d.kind !== 308 /* SyntaxKind.SourceFile */ && d.kind !== 264 /* SyntaxKind.ModuleDeclaration */ && d.kind !== 263 /* SyntaxKind.EnumDeclaration */; })) { var type = typeChecker.getTypeOfSymbolAtLocation(symbol, node).getNonOptionalType(); var insertQuestionDot = false; if (type.isNullableType()) { @@ -135969,7 +137209,7 @@ var ts; if (isRightOfQuestionDot && ts.some(type.getCallSignatures())) { isNewIdentifierLocation = true; } - var propertyAccess = node.kind === 200 /* SyntaxKind.ImportType */ ? node : node.parent; + var propertyAccess = node.kind === 202 /* SyntaxKind.ImportType */ ? node : node.parent; if (inCheckedFile) { for (var _i = 0, _a = type.getApparentProperties(); _i < _a.length; _i++) { var symbol = _a[_i]; @@ -136113,7 +137353,7 @@ var ts; return 1 /* GlobalsSearch.Success */; } function tryGetImportCompletionSymbols() { - if (!importCompletionNode) + if (!importStatementCompletion) return 0 /* GlobalsSearch.Continue */; isNewIdentifierLocation = true; collectAutoImports(); @@ -136176,7 +137416,7 @@ var ts; } } // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` - if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 305 /* SyntaxKind.SourceFile */) { + if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== 308 /* SyntaxKind.SourceFile */) { var thisType = typeChecker.tryGetThisTypeAt(scopeNode, /*includeGlobalThis*/ false, ts.isClassLike(scopeNode.parent) ? scopeNode : undefined); if (thisType && !isProbablyGlobalType(thisType, sourceFile, typeChecker)) { for (var _i = 0, _a = getPropertiesForCompletion(thisType, typeChecker); _i < _a.length; _i++) { @@ -136196,7 +137436,7 @@ var ts; } function shouldOfferImportCompletions() { // If already typing an import statement, provide completions for it. - if (importCompletionNode) + if (importStatementCompletion) return true; // If current completion is for non-contextual Object literal shortahands, ignore auto-import symbols if (isNonContextualObjectLiteral) @@ -136215,10 +137455,10 @@ var ts; } function isSnippetScope(scopeNode) { switch (scopeNode.kind) { - case 305 /* SyntaxKind.SourceFile */: - case 223 /* SyntaxKind.TemplateExpression */: - case 288 /* SyntaxKind.JsxExpression */: - case 235 /* SyntaxKind.Block */: + case 308 /* SyntaxKind.SourceFile */: + case 225 /* SyntaxKind.TemplateExpression */: + case 291 /* SyntaxKind.JsxExpression */: + case 238 /* SyntaxKind.Block */: return true; default: return ts.isStatement(scopeNode); @@ -136226,7 +137466,7 @@ var ts; } function isTypeOnlyCompletion() { return insideJsDocTagTypeExpression - || !!importCompletionNode && ts.isTypeOnlyImportOrExportDeclaration(location.parent) + || !!importStatementCompletion && ts.isTypeOnlyImportOrExportDeclaration(location.parent) || !isContextTokenValueLocation(contextToken) && (ts.isPossiblyTypeArgumentPosition(contextToken, sourceFile, typeChecker) || ts.isPartOfTypeNode(location) @@ -136235,28 +137475,30 @@ var ts; function isContextTokenValueLocation(contextToken) { return contextToken && ((contextToken.kind === 112 /* SyntaxKind.TypeOfKeyword */ && - (contextToken.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isTypeOfExpression(contextToken.parent))) || - (contextToken.kind === 128 /* SyntaxKind.AssertsKeyword */ && contextToken.parent.kind === 177 /* SyntaxKind.TypePredicate */)); + (contextToken.parent.kind === 183 /* SyntaxKind.TypeQuery */ || ts.isTypeOfExpression(contextToken.parent))) || + (contextToken.kind === 129 /* SyntaxKind.AssertsKeyword */ && contextToken.parent.kind === 179 /* SyntaxKind.TypePredicate */)); } function isContextTokenTypeLocation(contextToken) { if (contextToken) { var parentKind = contextToken.parent.kind; switch (contextToken.kind) { case 58 /* SyntaxKind.ColonToken */: - return parentKind === 167 /* SyntaxKind.PropertyDeclaration */ || - parentKind === 166 /* SyntaxKind.PropertySignature */ || - parentKind === 164 /* SyntaxKind.Parameter */ || - parentKind === 254 /* SyntaxKind.VariableDeclaration */ || + return parentKind === 169 /* SyntaxKind.PropertyDeclaration */ || + parentKind === 168 /* SyntaxKind.PropertySignature */ || + parentKind === 166 /* SyntaxKind.Parameter */ || + parentKind === 257 /* SyntaxKind.VariableDeclaration */ || ts.isFunctionLikeKind(parentKind); case 63 /* SyntaxKind.EqualsToken */: - return parentKind === 259 /* SyntaxKind.TypeAliasDeclaration */; - case 127 /* SyntaxKind.AsKeyword */: - return parentKind === 229 /* SyntaxKind.AsExpression */; + return parentKind === 262 /* SyntaxKind.TypeAliasDeclaration */; + case 128 /* SyntaxKind.AsKeyword */: + return parentKind === 231 /* SyntaxKind.AsExpression */; case 29 /* SyntaxKind.LessThanToken */: - return parentKind === 178 /* SyntaxKind.TypeReference */ || - parentKind === 211 /* SyntaxKind.TypeAssertionExpression */; + return parentKind === 180 /* SyntaxKind.TypeReference */ || + parentKind === 213 /* SyntaxKind.TypeAssertionExpression */; case 94 /* SyntaxKind.ExtendsKeyword */: - return parentKind === 163 /* SyntaxKind.TypeParameter */; + return parentKind === 165 /* SyntaxKind.TypeParameter */; + case 150 /* SyntaxKind.SatisfiesKeyword */: + return parentKind === 235 /* SyntaxKind.SatisfiesExpression */; } } return false; @@ -136274,8 +137516,7 @@ var ts; flags |= 1 /* CompletionInfoFlags.MayIncludeAutoImports */; // import { type | -> token text should be blank var isAfterTypeOnlyImportSpecifierModifier = previousToken === contextToken - && importCompletionNode - && couldBeTypeOnlyImportSpecifier(importCompletionNode, contextToken); + && importStatementCompletion; var lowerCaseTokenText = isAfterTypeOnlyImportSpecifierModifier ? "" : previousToken && ts.isIdentifier(previousToken) ? previousToken.text.toLowerCase() : ""; @@ -136283,14 +137524,14 @@ var ts; var exportInfo = ts.getExportInfoMap(sourceFile, host, program, preferences, cancellationToken); var packageJsonAutoImportProvider = (_b = host.getPackageJsonAutoImportProvider) === null || _b === void 0 ? void 0 : _b.call(host); var packageJsonFilter = detailsEntryId ? undefined : ts.createPackageJsonImportFilter(sourceFile, preferences, host); - resolvingModuleSpecifiers("collectAutoImports", host, importSpecifierResolver || (importSpecifierResolver = ts.codefix.createImportSpecifierResolver(sourceFile, program, host, preferences)), program, position, preferences, !!importCompletionNode, ts.isValidTypeOnlyAliasUseSite(location), function (context) { - exportInfo.search(sourceFile.path, + resolvingModuleSpecifiers("collectAutoImports", host, importSpecifierResolver || (importSpecifierResolver = ts.codefix.createImportSpecifierResolver(sourceFile, program, host, preferences)), program, position, preferences, !!importStatementCompletion, ts.isValidTypeOnlyAliasUseSite(location), function (context) { + exportInfo.search(sourceFile.path, /*preferCapitalized*/ isRightOfOpenTag, function (symbolName, targetFlags) { if (!ts.isIdentifierText(symbolName, ts.getEmitScriptTarget(host.getCompilationSettings()))) return false; if (!detailsEntryId && ts.isStringANonContextualKeyword(symbolName)) return false; - if (!isTypeOnlyLocation && !importCompletionNode && !(targetFlags & 111551 /* SymbolFlags.Value */)) + if (!isTypeOnlyLocation && !importStatementCompletion && !(targetFlags & 111551 /* SymbolFlags.Value */)) return false; if (isTypeOnlyLocation && !(targetFlags & (1536 /* SymbolFlags.Module */ | 788968 /* SymbolFlags.Type */))) return false; @@ -136371,7 +137612,7 @@ var ts; return; } symbolToOriginInfoMap[symbols.length] = origin; - symbolToSortTextMap[symbolId] = importCompletionNode ? Completions.SortText.LocationPriority : Completions.SortText.AutoImportSuggestions; + symbolToSortTextMap[symbolId] = importStatementCompletion ? Completions.SortText.LocationPriority : Completions.SortText.AutoImportSuggestions; symbols.push(symbol); } /* Mutates `symbols` and `symbolToOriginInfoMap`. */ @@ -136384,8 +137625,8 @@ var ts; if (!isObjectLiteralMethodSymbol(member)) { return; } - var displayName = getCompletionEntryDisplayNameForSymbol(member, ts.getEmitScriptTarget(compilerOptions), - /*origin*/ undefined, 0 /* CompletionKind.ObjectPropertyDeclaration */, + var displayName = getCompletionEntryDisplayNameForSymbol(member, ts.getEmitScriptTarget(compilerOptions), + /*origin*/ undefined, 0 /* CompletionKind.ObjectPropertyDeclaration */, /*jsxIdentifierExpected*/ false); if (!displayName) { return; @@ -136447,18 +137688,18 @@ var ts; // - contextToken: GreaterThanToken (before cursor) // - location: JsxSelfClosingElement or JsxOpeningElement // - contextToken.parent === location - if (location === contextToken.parent && (location.kind === 280 /* SyntaxKind.JsxOpeningElement */ || location.kind === 279 /* SyntaxKind.JsxSelfClosingElement */)) { + if (location === contextToken.parent && (location.kind === 283 /* SyntaxKind.JsxOpeningElement */ || location.kind === 282 /* SyntaxKind.JsxSelfClosingElement */)) { return false; } - if (contextToken.parent.kind === 280 /* SyntaxKind.JsxOpeningElement */) { + if (contextToken.parent.kind === 283 /* SyntaxKind.JsxOpeningElement */) { //
/**/ // - contextToken: GreaterThanToken (before cursor) // - location: JSXElement // - different parents (JSXOpeningElement, JSXElement) - return location.parent.kind !== 280 /* SyntaxKind.JsxOpeningElement */; + return location.parent.kind !== 283 /* SyntaxKind.JsxOpeningElement */; } - if (contextToken.parent.kind === 281 /* SyntaxKind.JsxClosingElement */ || contextToken.parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */) { - return !!contextToken.parent.parent && contextToken.parent.parent.kind === 278 /* SyntaxKind.JsxElement */; + if (contextToken.parent.kind === 284 /* SyntaxKind.JsxClosingElement */ || contextToken.parent.kind === 282 /* SyntaxKind.JsxSelfClosingElement */) { + return !!contextToken.parent.parent && contextToken.parent.parent.kind === 281 /* SyntaxKind.JsxElement */; } } return false; @@ -136470,44 +137711,44 @@ var ts; // Previous token may have been a keyword that was converted to an identifier. switch (tokenKind) { case 27 /* SyntaxKind.CommaToken */: - return containingNodeKind === 208 /* SyntaxKind.CallExpression */ // func( a, | - || containingNodeKind === 171 /* SyntaxKind.Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === 209 /* SyntaxKind.NewExpression */ // new C(a, | - || containingNodeKind === 204 /* SyntaxKind.ArrayLiteralExpression */ // [a, | - || containingNodeKind === 221 /* SyntaxKind.BinaryExpression */ // const x = (a, | - || containingNodeKind === 179 /* SyntaxKind.FunctionType */ // var x: (s: string, list| - || containingNodeKind === 205 /* SyntaxKind.ObjectLiteralExpression */; // const obj = { x, | + return containingNodeKind === 210 /* SyntaxKind.CallExpression */ // func( a, | + || containingNodeKind === 173 /* SyntaxKind.Constructor */ // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + || containingNodeKind === 211 /* SyntaxKind.NewExpression */ // new C(a, | + || containingNodeKind === 206 /* SyntaxKind.ArrayLiteralExpression */ // [a, | + || containingNodeKind === 223 /* SyntaxKind.BinaryExpression */ // const x = (a, | + || containingNodeKind === 181 /* SyntaxKind.FunctionType */ // var x: (s: string, list| + || containingNodeKind === 207 /* SyntaxKind.ObjectLiteralExpression */; // const obj = { x, | case 20 /* SyntaxKind.OpenParenToken */: - return containingNodeKind === 208 /* SyntaxKind.CallExpression */ // func( | - || containingNodeKind === 171 /* SyntaxKind.Constructor */ // constructor( | - || containingNodeKind === 209 /* SyntaxKind.NewExpression */ // new C(a| - || containingNodeKind === 212 /* SyntaxKind.ParenthesizedExpression */ // const x = (a| - || containingNodeKind === 191 /* SyntaxKind.ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + return containingNodeKind === 210 /* SyntaxKind.CallExpression */ // func( | + || containingNodeKind === 173 /* SyntaxKind.Constructor */ // constructor( | + || containingNodeKind === 211 /* SyntaxKind.NewExpression */ // new C(a| + || containingNodeKind === 214 /* SyntaxKind.ParenthesizedExpression */ // const x = (a| + || containingNodeKind === 193 /* SyntaxKind.ParenthesizedType */; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ case 22 /* SyntaxKind.OpenBracketToken */: - return containingNodeKind === 204 /* SyntaxKind.ArrayLiteralExpression */ // [ | - || containingNodeKind === 176 /* SyntaxKind.IndexSignature */ // [ | : string ] - || containingNodeKind === 162 /* SyntaxKind.ComputedPropertyName */; // [ | /* this can become an index signature */ - case 141 /* SyntaxKind.ModuleKeyword */: // module | - case 142 /* SyntaxKind.NamespaceKeyword */: // namespace | + return containingNodeKind === 206 /* SyntaxKind.ArrayLiteralExpression */ // [ | + || containingNodeKind === 178 /* SyntaxKind.IndexSignature */ // [ | : string ] + || containingNodeKind === 164 /* SyntaxKind.ComputedPropertyName */; // [ | /* this can become an index signature */ + case 142 /* SyntaxKind.ModuleKeyword */: // module | + case 143 /* SyntaxKind.NamespaceKeyword */: // namespace | case 100 /* SyntaxKind.ImportKeyword */: // import | return true; case 24 /* SyntaxKind.DotToken */: - return containingNodeKind === 261 /* SyntaxKind.ModuleDeclaration */; // module A.| + return containingNodeKind === 264 /* SyntaxKind.ModuleDeclaration */; // module A.| case 18 /* SyntaxKind.OpenBraceToken */: - return containingNodeKind === 257 /* SyntaxKind.ClassDeclaration */ // class A { | - || containingNodeKind === 205 /* SyntaxKind.ObjectLiteralExpression */; // const obj = { | + return containingNodeKind === 260 /* SyntaxKind.ClassDeclaration */ // class A { | + || containingNodeKind === 207 /* SyntaxKind.ObjectLiteralExpression */; // const obj = { | case 63 /* SyntaxKind.EqualsToken */: - return containingNodeKind === 254 /* SyntaxKind.VariableDeclaration */ // const x = a| - || containingNodeKind === 221 /* SyntaxKind.BinaryExpression */; // x = a| + return containingNodeKind === 257 /* SyntaxKind.VariableDeclaration */ // const x = a| + || containingNodeKind === 223 /* SyntaxKind.BinaryExpression */; // x = a| case 15 /* SyntaxKind.TemplateHead */: - return containingNodeKind === 223 /* SyntaxKind.TemplateExpression */; // `aa ${| + return containingNodeKind === 225 /* SyntaxKind.TemplateExpression */; // `aa ${| case 16 /* SyntaxKind.TemplateMiddle */: - return containingNodeKind === 233 /* SyntaxKind.TemplateSpan */; // `aa ${10} dd ${| - case 131 /* SyntaxKind.AsyncKeyword */: - return containingNodeKind === 169 /* SyntaxKind.MethodDeclaration */ // const obj = { async c|() - || containingNodeKind === 297 /* SyntaxKind.ShorthandPropertyAssignment */; // const obj = { async c| + return containingNodeKind === 236 /* SyntaxKind.TemplateSpan */; // `aa ${10} dd ${| + case 132 /* SyntaxKind.AsyncKeyword */: + return containingNodeKind === 171 /* SyntaxKind.MethodDeclaration */ // const obj = { async c|() + || containingNodeKind === 300 /* SyntaxKind.ShorthandPropertyAssignment */; // const obj = { async c| case 41 /* SyntaxKind.AsteriskToken */: - return containingNodeKind === 169 /* SyntaxKind.MethodDeclaration */; // const obj = { * c| + return containingNodeKind === 171 /* SyntaxKind.MethodDeclaration */; // const obj = { * c| } if (isClassMemberCompletionKeyword(tokenKind)) { return true; @@ -136557,7 +137798,7 @@ var ts; completionKind = 0 /* CompletionKind.ObjectPropertyDeclaration */; var typeMembers; var existingMembers; - if (objectLikeContainer.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + if (objectLikeContainer.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { var instantiatedType = tryGetObjectLiteralContextualType(objectLikeContainer, typeChecker); // Check completions for Object property value shorthand if (instantiatedType === undefined) { @@ -136582,7 +137823,7 @@ var ts; } } else { - ts.Debug.assert(objectLikeContainer.kind === 201 /* SyntaxKind.ObjectBindingPattern */); + ts.Debug.assert(objectLikeContainer.kind === 203 /* SyntaxKind.ObjectBindingPattern */); // We are *only* completing on properties from the type being destructured. isNewIdentifierLocation = false; var rootDeclaration = ts.getRootDeclaration(objectLikeContainer.parent); @@ -136593,12 +137834,12 @@ var ts; // through type declaration or inference. // Also proceed if rootDeclaration is a parameter and if its containing function expression/arrow function is contextually typed - // type of parameter will flow in from the contextual type of the function - var canGetType = ts.hasInitializer(rootDeclaration) || !!ts.getEffectiveTypeAnnotationNode(rootDeclaration) || rootDeclaration.parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */; - if (!canGetType && rootDeclaration.kind === 164 /* SyntaxKind.Parameter */) { + var canGetType = ts.hasInitializer(rootDeclaration) || !!ts.getEffectiveTypeAnnotationNode(rootDeclaration) || rootDeclaration.parent.parent.kind === 247 /* SyntaxKind.ForOfStatement */; + if (!canGetType && rootDeclaration.kind === 166 /* SyntaxKind.Parameter */) { if (ts.isExpression(rootDeclaration.parent)) { canGetType = !!typeChecker.getContextualType(rootDeclaration.parent); } - else if (rootDeclaration.parent.kind === 169 /* SyntaxKind.MethodDeclaration */ || rootDeclaration.parent.kind === 173 /* SyntaxKind.SetAccessor */) { + else if (rootDeclaration.parent.kind === 171 /* SyntaxKind.MethodDeclaration */ || rootDeclaration.parent.kind === 175 /* SyntaxKind.SetAccessor */) { canGetType = ts.isExpression(rootDeclaration.parent.parent) && !!typeChecker.getContextualType(rootDeclaration.parent.parent); } } @@ -136617,7 +137858,7 @@ var ts; var filteredMembers = filterObjectMembersList(typeMembers, ts.Debug.checkDefined(existingMembers)); symbols = ts.concatenate(symbols, filteredMembers); setSortTextToOptionalMember(); - if (objectLikeContainer.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ + if (objectLikeContainer.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ && preferences.includeCompletionsWithObjectLiteralMethodSnippets && preferences.includeCompletionsWithInsertText) { transformObjectLiteralMembersSortText(symbolsStartIndex); @@ -136652,10 +137893,10 @@ var ts; keywordFilters = 8 /* KeywordCompletionFilters.TypeKeyword */; } // try to show exported member for imported/re-exported module - var moduleSpecifier = (namedImportsOrExports.kind === 269 /* SyntaxKind.NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; + var moduleSpecifier = (namedImportsOrExports.kind === 272 /* SyntaxKind.NamedImports */ ? namedImportsOrExports.parent.parent : namedImportsOrExports.parent).moduleSpecifier; if (!moduleSpecifier) { isNewIdentifierLocation = true; - return namedImportsOrExports.kind === 269 /* SyntaxKind.NamedImports */ ? 2 /* GlobalsSearch.Fail */ : 0 /* GlobalsSearch.Continue */; + return namedImportsOrExports.kind === 272 /* SyntaxKind.NamedImports */ ? 2 /* GlobalsSearch.Fail */ : 0 /* GlobalsSearch.Continue */; } var moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(moduleSpecifier); // TODO: GH#18217 if (!moduleSpecifierSymbol) { @@ -136800,11 +138041,11 @@ var ts; case 30 /* SyntaxKind.LessThanSlashToken */: case 43 /* SyntaxKind.SlashToken */: case 79 /* SyntaxKind.Identifier */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 286 /* SyntaxKind.JsxAttributes */: - case 285 /* SyntaxKind.JsxAttribute */: - case 287 /* SyntaxKind.JsxSpreadAttribute */: - if (parent && (parent.kind === 279 /* SyntaxKind.JsxSelfClosingElement */ || parent.kind === 280 /* SyntaxKind.JsxOpeningElement */)) { + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 289 /* SyntaxKind.JsxAttributes */: + case 288 /* SyntaxKind.JsxAttribute */: + case 290 /* SyntaxKind.JsxSpreadAttribute */: + if (parent && (parent.kind === 282 /* SyntaxKind.JsxSelfClosingElement */ || parent.kind === 283 /* SyntaxKind.JsxOpeningElement */)) { if (contextToken.kind === 31 /* SyntaxKind.GreaterThanToken */) { var precedingToken = ts.findPrecedingToken(contextToken.pos, sourceFile, /*startNode*/ undefined); if (!parent.typeArguments || (precedingToken && precedingToken.kind === 43 /* SyntaxKind.SlashToken */)) @@ -136812,7 +138053,7 @@ var ts; } return parent; } - else if (parent.kind === 285 /* SyntaxKind.JsxAttribute */) { + else if (parent.kind === 288 /* SyntaxKind.JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -136824,7 +138065,7 @@ var ts; // its parent is a JsxExpression, whose parent is a JsxAttribute, // whose parent is a JsxOpeningLikeElement case 10 /* SyntaxKind.StringLiteral */: - if (parent && ((parent.kind === 285 /* SyntaxKind.JsxAttribute */) || (parent.kind === 287 /* SyntaxKind.JsxSpreadAttribute */))) { + if (parent && ((parent.kind === 288 /* SyntaxKind.JsxAttribute */) || (parent.kind === 290 /* SyntaxKind.JsxSpreadAttribute */))) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -136834,8 +138075,8 @@ var ts; break; case 19 /* SyntaxKind.CloseBraceToken */: if (parent && - parent.kind === 288 /* SyntaxKind.JsxExpression */ && - parent.parent && parent.parent.kind === 285 /* SyntaxKind.JsxAttribute */) { + parent.kind === 291 /* SyntaxKind.JsxExpression */ && + parent.parent && parent.parent.kind === 288 /* SyntaxKind.JsxAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -136843,7 +138084,7 @@ var ts; // each JsxAttribute can have initializer as JsxExpression return parent.parent.parent.parent; } - if (parent && parent.kind === 287 /* SyntaxKind.JsxSpreadAttribute */) { + if (parent && parent.kind === 290 /* SyntaxKind.JsxSpreadAttribute */) { // Currently we parse JsxOpeningLikeElement as: // JsxOpeningLikeElement // attributes: JsxAttributes @@ -136863,54 +138104,54 @@ var ts; var containingNodeKind = parent.kind; switch (contextToken.kind) { case 27 /* SyntaxKind.CommaToken */: - return containingNodeKind === 254 /* SyntaxKind.VariableDeclaration */ || + return containingNodeKind === 257 /* SyntaxKind.VariableDeclaration */ || isVariableDeclarationListButNotTypeArgument(contextToken) || - containingNodeKind === 237 /* SyntaxKind.VariableStatement */ || - containingNodeKind === 260 /* SyntaxKind.EnumDeclaration */ || // enum a { foo, | + containingNodeKind === 240 /* SyntaxKind.VariableStatement */ || + containingNodeKind === 263 /* SyntaxKind.EnumDeclaration */ || // enum a { foo, | isFunctionLikeButNotConstructor(containingNodeKind) || - containingNodeKind === 258 /* SyntaxKind.InterfaceDeclaration */ || // interface A= contextToken.pos); case 24 /* SyntaxKind.DotToken */: - return containingNodeKind === 202 /* SyntaxKind.ArrayBindingPattern */; // var [.| + return containingNodeKind === 204 /* SyntaxKind.ArrayBindingPattern */; // var [.| case 58 /* SyntaxKind.ColonToken */: - return containingNodeKind === 203 /* SyntaxKind.BindingElement */; // var {x :html| + return containingNodeKind === 205 /* SyntaxKind.BindingElement */; // var {x :html| case 22 /* SyntaxKind.OpenBracketToken */: - return containingNodeKind === 202 /* SyntaxKind.ArrayBindingPattern */; // var [x| + return containingNodeKind === 204 /* SyntaxKind.ArrayBindingPattern */; // var [x| case 20 /* SyntaxKind.OpenParenToken */: - return containingNodeKind === 292 /* SyntaxKind.CatchClause */ || + return containingNodeKind === 295 /* SyntaxKind.CatchClause */ || isFunctionLikeButNotConstructor(containingNodeKind); case 18 /* SyntaxKind.OpenBraceToken */: - return containingNodeKind === 260 /* SyntaxKind.EnumDeclaration */; // enum a { | + return containingNodeKind === 263 /* SyntaxKind.EnumDeclaration */; // enum a { | case 29 /* SyntaxKind.LessThanToken */: - return containingNodeKind === 257 /* SyntaxKind.ClassDeclaration */ || // class A< | - containingNodeKind === 226 /* SyntaxKind.ClassExpression */ || // var C = class D< | - containingNodeKind === 258 /* SyntaxKind.InterfaceDeclaration */ || // interface A< | - containingNodeKind === 259 /* SyntaxKind.TypeAliasDeclaration */ || // type List< | + return containingNodeKind === 260 /* SyntaxKind.ClassDeclaration */ || // class A< | + containingNodeKind === 228 /* SyntaxKind.ClassExpression */ || // var C = class D< | + containingNodeKind === 261 /* SyntaxKind.InterfaceDeclaration */ || // interface A< | + containingNodeKind === 262 /* SyntaxKind.TypeAliasDeclaration */ || // type List< | ts.isFunctionLikeKind(containingNodeKind); case 124 /* SyntaxKind.StaticKeyword */: - return containingNodeKind === 167 /* SyntaxKind.PropertyDeclaration */ && !ts.isClassLike(parent.parent); + return containingNodeKind === 169 /* SyntaxKind.PropertyDeclaration */ && !ts.isClassLike(parent.parent); case 25 /* SyntaxKind.DotDotDotToken */: - return containingNodeKind === 164 /* SyntaxKind.Parameter */ || - (!!parent.parent && parent.parent.kind === 202 /* SyntaxKind.ArrayBindingPattern */); // var [...z| + return containingNodeKind === 166 /* SyntaxKind.Parameter */ || + (!!parent.parent && parent.parent.kind === 204 /* SyntaxKind.ArrayBindingPattern */); // var [...z| case 123 /* SyntaxKind.PublicKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: - return containingNodeKind === 164 /* SyntaxKind.Parameter */ && !ts.isConstructorDeclaration(parent.parent); - case 127 /* SyntaxKind.AsKeyword */: - return containingNodeKind === 270 /* SyntaxKind.ImportSpecifier */ || - containingNodeKind === 275 /* SyntaxKind.ExportSpecifier */ || - containingNodeKind === 268 /* SyntaxKind.NamespaceImport */; - case 136 /* SyntaxKind.GetKeyword */: - case 149 /* SyntaxKind.SetKeyword */: + return containingNodeKind === 166 /* SyntaxKind.Parameter */ && !ts.isConstructorDeclaration(parent.parent); + case 128 /* SyntaxKind.AsKeyword */: + return containingNodeKind === 273 /* SyntaxKind.ImportSpecifier */ || + containingNodeKind === 278 /* SyntaxKind.ExportSpecifier */ || + containingNodeKind === 271 /* SyntaxKind.NamespaceImport */; + case 137 /* SyntaxKind.GetKeyword */: + case 151 /* SyntaxKind.SetKeyword */: return !isFromObjectTypeDeclaration(contextToken); case 79 /* SyntaxKind.Identifier */: - if (containingNodeKind === 270 /* SyntaxKind.ImportSpecifier */ && + if (containingNodeKind === 273 /* SyntaxKind.ImportSpecifier */ && contextToken === parent.name && contextToken.text === "type") { // import { type | } @@ -136925,11 +138166,11 @@ var ts; case 100 /* SyntaxKind.ImportKeyword */: case 119 /* SyntaxKind.LetKeyword */: case 85 /* SyntaxKind.ConstKeyword */: - case 137 /* SyntaxKind.InferKeyword */: + case 138 /* SyntaxKind.InferKeyword */: return true; - case 152 /* SyntaxKind.TypeKeyword */: + case 154 /* SyntaxKind.TypeKeyword */: // import { type foo| } - return containingNodeKind !== 270 /* SyntaxKind.ImportSpecifier */; + return containingNodeKind !== 273 /* SyntaxKind.ImportSpecifier */; case 41 /* SyntaxKind.AsteriskToken */: return ts.isFunctionLike(contextToken.parent) && !ts.isMethodDeclaration(contextToken.parent); } @@ -136954,7 +138195,7 @@ var ts; case 126 /* SyntaxKind.AbstractKeyword */: case 84 /* SyntaxKind.ClassKeyword */: case 85 /* SyntaxKind.ConstKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 92 /* SyntaxKind.EnumKeyword */: case 98 /* SyntaxKind.FunctionKeyword */: case 118 /* SyntaxKind.InterfaceKeyword */: @@ -136965,7 +138206,7 @@ var ts; case 124 /* SyntaxKind.StaticKeyword */: case 113 /* SyntaxKind.VarKeyword */: return true; - case 131 /* SyntaxKind.AsyncKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: return ts.isPropertyDeclaration(contextToken.parent); } // If we are inside a class declaration, and `constructor` is totally not present, @@ -136974,7 +138215,7 @@ var ts; if (ancestorClassLike && contextToken === previousToken && isPreviousPropertyDeclarationTerminated(contextToken, position)) { return false; // Don't block completions. } - var ancestorPropertyDeclaraion = ts.getAncestor(contextToken.parent, 167 /* SyntaxKind.PropertyDeclaration */); + var ancestorPropertyDeclaraion = ts.getAncestor(contextToken.parent, 169 /* SyntaxKind.PropertyDeclaration */); // If we are inside a class declaration and typing `constructor` after property declaration... if (ancestorPropertyDeclaraion && contextToken !== previousToken @@ -137006,7 +138247,7 @@ var ts; || !ts.positionsAreOnSameLine(contextToken.end, position, sourceFile)); } function isFunctionLikeButNotConstructor(kind) { - return ts.isFunctionLikeKind(kind) && kind !== 171 /* SyntaxKind.Constructor */; + return ts.isFunctionLikeKind(kind) && kind !== 173 /* SyntaxKind.Constructor */; } function isDotOfNumericLiteral(contextToken) { if (contextToken.kind === 8 /* SyntaxKind.NumericLiteral */) { @@ -137016,7 +138257,7 @@ var ts; return false; } function isVariableDeclarationListButNotTypeArgument(node) { - return node.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */ + return node.parent.kind === 258 /* SyntaxKind.VariableDeclarationList */ && !ts.isPossiblyTypeArgumentPosition(node, sourceFile, typeChecker); } /** @@ -137034,13 +138275,13 @@ var ts; for (var _i = 0, existingMembers_1 = existingMembers; _i < existingMembers_1.length; _i++) { var m = existingMembers_1[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 296 /* SyntaxKind.PropertyAssignment */ && - m.kind !== 297 /* SyntaxKind.ShorthandPropertyAssignment */ && - m.kind !== 203 /* SyntaxKind.BindingElement */ && - m.kind !== 169 /* SyntaxKind.MethodDeclaration */ && - m.kind !== 172 /* SyntaxKind.GetAccessor */ && - m.kind !== 173 /* SyntaxKind.SetAccessor */ && - m.kind !== 298 /* SyntaxKind.SpreadAssignment */) { + if (m.kind !== 299 /* SyntaxKind.PropertyAssignment */ && + m.kind !== 300 /* SyntaxKind.ShorthandPropertyAssignment */ && + m.kind !== 205 /* SyntaxKind.BindingElement */ && + m.kind !== 171 /* SyntaxKind.MethodDeclaration */ && + m.kind !== 174 /* SyntaxKind.GetAccessor */ && + m.kind !== 175 /* SyntaxKind.SetAccessor */ && + m.kind !== 301 /* SyntaxKind.SpreadAssignment */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -137112,7 +138353,7 @@ var ts; var symbolId = ts.getSymbolId(symbol); var origin = symbolToOriginInfoMap === null || symbolToOriginInfoMap === void 0 ? void 0 : symbolToOriginInfoMap[i]; var target = ts.getEmitScriptTarget(compilerOptions); - var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* CompletionKind.ObjectPropertyDeclaration */, + var displayName = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, 0 /* CompletionKind.ObjectPropertyDeclaration */, /*jsxIdentifierExpected*/ false); if (displayName) { var originalSortText = (_a = symbolToSortTextMap[symbolId]) !== null && _a !== void 0 ? _a : Completions.SortText.LocationPriority; @@ -137131,10 +138372,10 @@ var ts; for (var _i = 0, existingMembers_2 = existingMembers; _i < existingMembers_2.length; _i++) { var m = existingMembers_2[_i]; // Ignore omitted expressions for missing members - if (m.kind !== 167 /* SyntaxKind.PropertyDeclaration */ && - m.kind !== 169 /* SyntaxKind.MethodDeclaration */ && - m.kind !== 172 /* SyntaxKind.GetAccessor */ && - m.kind !== 173 /* SyntaxKind.SetAccessor */) { + if (m.kind !== 169 /* SyntaxKind.PropertyDeclaration */ && + m.kind !== 171 /* SyntaxKind.MethodDeclaration */ && + m.kind !== 174 /* SyntaxKind.GetAccessor */ && + m.kind !== 175 /* SyntaxKind.SetAccessor */) { continue; } // If this is the current item we are editing right now, do not filter it out @@ -137176,7 +138417,7 @@ var ts; if (isCurrentlyEditingNode(attr)) { continue; } - if (attr.kind === 285 /* SyntaxKind.JsxAttribute */) { + if (attr.kind === 288 /* SyntaxKind.JsxAttribute */) { seenNames.add(attr.name.escapedText); } else if (ts.isJsxSpreadAttribute(attr)) { @@ -137274,7 +138515,7 @@ var ts; var _keywordCompletions = []; var allKeywordsCompletions = ts.memoize(function () { var res = []; - for (var i = 81 /* SyntaxKind.FirstKeyword */; i <= 160 /* SyntaxKind.LastKeyword */; i++) { + for (var i = 81 /* SyntaxKind.FirstKeyword */; i <= 162 /* SyntaxKind.LastKeyword */; i++) { res.push({ name: ts.tokenToString(i), kind: "keyword" /* ScriptElementKind.keyword */, @@ -137300,12 +138541,12 @@ var ts; return false; case 1 /* KeywordCompletionFilters.All */: return isFunctionLikeBodyKeyword(kind) - || kind === 135 /* SyntaxKind.DeclareKeyword */ - || kind === 141 /* SyntaxKind.ModuleKeyword */ - || kind === 152 /* SyntaxKind.TypeKeyword */ - || kind === 142 /* SyntaxKind.NamespaceKeyword */ + || kind === 136 /* SyntaxKind.DeclareKeyword */ + || kind === 142 /* SyntaxKind.ModuleKeyword */ + || kind === 154 /* SyntaxKind.TypeKeyword */ + || kind === 143 /* SyntaxKind.NamespaceKeyword */ || kind === 126 /* SyntaxKind.AbstractKeyword */ - || ts.isTypeKeyword(kind) && kind !== 153 /* SyntaxKind.UndefinedKeyword */; + || ts.isTypeKeyword(kind) && kind !== 155 /* SyntaxKind.UndefinedKeyword */; case 5 /* KeywordCompletionFilters.FunctionLikeBodyKeywords */: return isFunctionLikeBodyKeyword(kind); case 2 /* KeywordCompletionFilters.ClassElementKeywords */: @@ -137319,7 +138560,7 @@ var ts; case 7 /* KeywordCompletionFilters.TypeKeywords */: return ts.isTypeKeyword(kind); case 8 /* KeywordCompletionFilters.TypeKeyword */: - return kind === 152 /* SyntaxKind.TypeKeyword */; + return kind === 154 /* SyntaxKind.TypeKeyword */; default: return ts.Debug.assertNever(keywordFilter); } @@ -137328,59 +138569,61 @@ var ts; function isTypeScriptOnlyKeyword(kind) { switch (kind) { case 126 /* SyntaxKind.AbstractKeyword */: - case 130 /* SyntaxKind.AnyKeyword */: - case 158 /* SyntaxKind.BigIntKeyword */: - case 133 /* SyntaxKind.BooleanKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: + case 131 /* SyntaxKind.AnyKeyword */: + case 160 /* SyntaxKind.BigIntKeyword */: + case 134 /* SyntaxKind.BooleanKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: case 92 /* SyntaxKind.EnumKeyword */: - case 157 /* SyntaxKind.GlobalKeyword */: + case 159 /* SyntaxKind.GlobalKeyword */: case 117 /* SyntaxKind.ImplementsKeyword */: - case 137 /* SyntaxKind.InferKeyword */: + case 138 /* SyntaxKind.InferKeyword */: case 118 /* SyntaxKind.InterfaceKeyword */: - case 139 /* SyntaxKind.IsKeyword */: - case 140 /* SyntaxKind.KeyOfKeyword */: - case 141 /* SyntaxKind.ModuleKeyword */: - case 142 /* SyntaxKind.NamespaceKeyword */: - case 143 /* SyntaxKind.NeverKeyword */: - case 147 /* SyntaxKind.NumberKeyword */: - case 148 /* SyntaxKind.ObjectKeyword */: - case 159 /* SyntaxKind.OverrideKeyword */: + case 140 /* SyntaxKind.IsKeyword */: + case 141 /* SyntaxKind.KeyOfKeyword */: + case 142 /* SyntaxKind.ModuleKeyword */: + case 143 /* SyntaxKind.NamespaceKeyword */: + case 144 /* SyntaxKind.NeverKeyword */: + case 148 /* SyntaxKind.NumberKeyword */: + case 149 /* SyntaxKind.ObjectKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: case 121 /* SyntaxKind.PrivateKeyword */: case 122 /* SyntaxKind.ProtectedKeyword */: case 123 /* SyntaxKind.PublicKeyword */: - case 145 /* SyntaxKind.ReadonlyKeyword */: - case 150 /* SyntaxKind.StringKeyword */: - case 151 /* SyntaxKind.SymbolKeyword */: - case 152 /* SyntaxKind.TypeKeyword */: - case 154 /* SyntaxKind.UniqueKeyword */: - case 155 /* SyntaxKind.UnknownKeyword */: + case 146 /* SyntaxKind.ReadonlyKeyword */: + case 152 /* SyntaxKind.StringKeyword */: + case 153 /* SyntaxKind.SymbolKeyword */: + case 154 /* SyntaxKind.TypeKeyword */: + case 156 /* SyntaxKind.UniqueKeyword */: + case 157 /* SyntaxKind.UnknownKeyword */: return true; default: return false; } } function isInterfaceOrTypeLiteralCompletionKeyword(kind) { - return kind === 145 /* SyntaxKind.ReadonlyKeyword */; + return kind === 146 /* SyntaxKind.ReadonlyKeyword */; } function isClassMemberCompletionKeyword(kind) { switch (kind) { case 126 /* SyntaxKind.AbstractKeyword */: - case 134 /* SyntaxKind.ConstructorKeyword */: - case 136 /* SyntaxKind.GetKeyword */: - case 149 /* SyntaxKind.SetKeyword */: - case 131 /* SyntaxKind.AsyncKeyword */: - case 135 /* SyntaxKind.DeclareKeyword */: - case 159 /* SyntaxKind.OverrideKeyword */: + case 127 /* SyntaxKind.AccessorKeyword */: + case 135 /* SyntaxKind.ConstructorKeyword */: + case 137 /* SyntaxKind.GetKeyword */: + case 151 /* SyntaxKind.SetKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: + case 136 /* SyntaxKind.DeclareKeyword */: + case 161 /* SyntaxKind.OverrideKeyword */: return true; default: return ts.isClassMemberModifier(kind); } } function isFunctionLikeBodyKeyword(kind) { - return kind === 131 /* SyntaxKind.AsyncKeyword */ - || kind === 132 /* SyntaxKind.AwaitKeyword */ - || kind === 127 /* SyntaxKind.AsKeyword */ - || kind === 152 /* SyntaxKind.TypeKeyword */ + return kind === 132 /* SyntaxKind.AsyncKeyword */ + || kind === 133 /* SyntaxKind.AwaitKeyword */ + || kind === 128 /* SyntaxKind.AsKeyword */ + || kind === 150 /* SyntaxKind.SatisfiesKeyword */ + || kind === 154 /* SyntaxKind.TypeKeyword */ || !ts.isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind); } function keywordForNode(node) { @@ -137405,7 +138648,7 @@ var ts; && contextToken === parent.moduleSpecifier && tokenLine === currentLine) { entries.push({ - name: ts.tokenToString(129 /* SyntaxKind.AssertKeyword */), + name: ts.tokenToString(130 /* SyntaxKind.AssertKeyword */), kind: "keyword" /* ScriptElementKind.keyword */, kindModifiers: "" /* ScriptElementKindModifier.none */, sortText: Completions.SortText.GlobalsOrKeywords, @@ -137471,7 +138714,7 @@ var ts; function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position) { // class c { method() { } | method2() { } } switch (location.kind) { - case 348 /* SyntaxKind.SyntaxList */: + case 351 /* SyntaxKind.SyntaxList */: return ts.tryCast(location.parent, ts.isObjectTypeDeclaration); case 1 /* SyntaxKind.EndOfFileToken */: var cls = ts.tryCast(ts.lastOrUndefined(ts.cast(location.parent, ts.isSourceFile).statements), ts.isObjectTypeDeclaration); @@ -137497,7 +138740,7 @@ var ts; if (!contextToken) return undefined; // class C { blah; constructor/**/ } and so on - if (location.kind === 134 /* SyntaxKind.ConstructorKeyword */ + if (location.kind === 135 /* SyntaxKind.ConstructorKeyword */ // class C { blah \n constructor/**/ } || (ts.isIdentifier(contextToken) && ts.isPropertyDeclaration(contextToken.parent) && ts.isClassLike(location))) { return ts.findAncestor(contextToken, ts.isClassLike); @@ -137540,7 +138783,7 @@ var ts; case 26 /* SyntaxKind.SemicolonToken */: case 27 /* SyntaxKind.CommaToken */: case 79 /* SyntaxKind.Identifier */: - if (parent.kind === 166 /* SyntaxKind.PropertySignature */ && ts.isTypeLiteralNode(parent.parent)) { + if (parent.kind === 168 /* SyntaxKind.PropertySignature */ && ts.isTypeLiteralNode(parent.parent)) { return parent.parent; } break; @@ -137557,11 +138800,11 @@ var ts; if (!t) return undefined; switch (node.kind) { - case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.PropertySignature */: return checker.getTypeOfPropertyOfContextualType(t, node.symbol.escapedName); - case 188 /* SyntaxKind.IntersectionType */: - case 182 /* SyntaxKind.TypeLiteral */: - case 187 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: + case 184 /* SyntaxKind.TypeLiteral */: + case 189 /* SyntaxKind.UnionType */: return t; } } @@ -137589,7 +138832,7 @@ var ts; ? !!ts.tryGetImportFromModuleSpecifier(contextToken) : contextToken.kind === 43 /* SyntaxKind.SlashToken */ && ts.isJsxClosingElement(contextToken.parent)); case " ": - return !!contextToken && ts.isImportKeyword(contextToken) && contextToken.parent.kind === 305 /* SyntaxKind.SourceFile */; + return !!contextToken && ts.isImportKeyword(contextToken) && contextToken.parent.kind === 308 /* SyntaxKind.SourceFile */; default: return ts.Debug.assertNever(triggerCharacter); } @@ -137636,21 +138879,22 @@ var ts; return undefined; } function getImportStatementCompletionInfo(contextToken) { + var _a, _b, _c; var keywordCompletion; var isKeywordOnlyCompletion = false; var candidate = getCandidate(); return { isKeywordOnlyCompletion: isKeywordOnlyCompletion, keywordCompletion: keywordCompletion, - isNewIdentifierLocation: !!(candidate || keywordCompletion === 152 /* SyntaxKind.TypeKeyword */), - replacementNode: candidate && ts.rangeIsOnSingleLine(candidate, candidate.getSourceFile()) - ? candidate - : undefined + isNewIdentifierLocation: !!(candidate || keywordCompletion === 154 /* SyntaxKind.TypeKeyword */), + isTopLevelTypeOnly: !!((_b = (_a = ts.tryCast(candidate, ts.isImportDeclaration)) === null || _a === void 0 ? void 0 : _a.importClause) === null || _b === void 0 ? void 0 : _b.isTypeOnly) || !!((_c = ts.tryCast(candidate, ts.isImportEqualsDeclaration)) === null || _c === void 0 ? void 0 : _c.isTypeOnly), + couldBeTypeOnlyImportSpecifier: !!candidate && couldBeTypeOnlyImportSpecifier(candidate, contextToken), + replacementSpan: getSingleLineReplacementSpanForImportCompletionNode(candidate), }; function getCandidate() { var parent = contextToken.parent; if (ts.isImportEqualsDeclaration(parent)) { - keywordCompletion = contextToken.kind === 152 /* SyntaxKind.TypeKeyword */ ? undefined : 152 /* SyntaxKind.TypeKeyword */; + keywordCompletion = contextToken.kind === 154 /* SyntaxKind.TypeKeyword */ ? undefined : 154 /* SyntaxKind.TypeKeyword */; return isModuleSpecifierMissingOrEmpty(parent.moduleReference) ? parent : undefined; } if (couldBeTypeOnlyImportSpecifier(parent, contextToken) && canCompleteFromNamedBindings(parent.parent)) { @@ -137660,13 +138904,13 @@ var ts; if (!parent.parent.isTypeOnly && (contextToken.kind === 18 /* SyntaxKind.OpenBraceToken */ || contextToken.kind === 100 /* SyntaxKind.ImportKeyword */ || contextToken.kind === 27 /* SyntaxKind.CommaToken */)) { - keywordCompletion = 152 /* SyntaxKind.TypeKeyword */; + keywordCompletion = 154 /* SyntaxKind.TypeKeyword */; } if (canCompleteFromNamedBindings(parent)) { // At `import { ... } |` or `import * as Foo |`, the only possible completion is `from` if (contextToken.kind === 19 /* SyntaxKind.CloseBraceToken */ || contextToken.kind === 79 /* SyntaxKind.Identifier */) { isKeywordOnlyCompletion = true; - keywordCompletion = 156 /* SyntaxKind.FromKeyword */; + keywordCompletion = 158 /* SyntaxKind.FromKeyword */; } else { return parent.parent.parent; @@ -137676,25 +138920,82 @@ var ts; } if (ts.isImportKeyword(contextToken) && ts.isSourceFile(parent)) { // A lone import keyword with nothing following it does not parse as a statement at all - keywordCompletion = 152 /* SyntaxKind.TypeKeyword */; + keywordCompletion = 154 /* SyntaxKind.TypeKeyword */; return contextToken; } if (ts.isImportKeyword(contextToken) && ts.isImportDeclaration(parent)) { // `import s| from` - keywordCompletion = 152 /* SyntaxKind.TypeKeyword */; + keywordCompletion = 154 /* SyntaxKind.TypeKeyword */; return isModuleSpecifierMissingOrEmpty(parent.moduleSpecifier) ? parent : undefined; } return undefined; } } + function getSingleLineReplacementSpanForImportCompletionNode(node) { + var _a, _b, _c; + if (!node) + return undefined; + var top = (_a = ts.findAncestor(node, ts.or(ts.isImportDeclaration, ts.isImportEqualsDeclaration))) !== null && _a !== void 0 ? _a : node; + var sourceFile = top.getSourceFile(); + if (ts.rangeIsOnSingleLine(top, sourceFile)) { + return ts.createTextSpanFromNode(top, sourceFile); + } + // ImportKeyword was necessarily on one line; ImportSpecifier was necessarily parented in an ImportDeclaration + ts.Debug.assert(top.kind !== 100 /* SyntaxKind.ImportKeyword */ && top.kind !== 273 /* SyntaxKind.ImportSpecifier */); + // Guess which point in the import might actually be a later statement parsed as part of the import + // during parser recovery - either in the middle of named imports, or the module specifier. + var potentialSplitPoint = top.kind === 269 /* SyntaxKind.ImportDeclaration */ + ? (_c = getPotentiallyInvalidImportSpecifier((_b = top.importClause) === null || _b === void 0 ? void 0 : _b.namedBindings)) !== null && _c !== void 0 ? _c : top.moduleSpecifier + : top.moduleReference; + var withoutModuleSpecifier = { + pos: top.getFirstToken().getStart(), + end: potentialSplitPoint.pos, + }; + // The module specifier/reference was previously found to be missing, empty, or + // not a string literal - in this last case, it's likely that statement on a following + // line was parsed as the module specifier of a partially-typed import, e.g. + // import Foo| + // interface Blah {} + // This appears to be a multiline-import, and editors can't replace multiple lines. + // But if everything but the "module specifier" is on one line, by this point we can + // assume that the "module specifier" is actually just another statement, and return + // the single-line range of the import excluding that probable statement. + if (ts.rangeIsOnSingleLine(withoutModuleSpecifier, sourceFile)) { + return ts.createTextSpanFromRange(withoutModuleSpecifier); + } + } + // Tries to identify the first named import that is not really a named import, but rather + // just parser recovery for a situation like: + // import { Foo| + // interface Bar {} + // in which `Foo`, `interface`, and `Bar` are all parsed as import specifiers. The caller + // will also check if this token is on a separate line from the rest of the import. + function getPotentiallyInvalidImportSpecifier(namedBindings) { + var _a; + return ts.find((_a = ts.tryCast(namedBindings, ts.isNamedImports)) === null || _a === void 0 ? void 0 : _a.elements, function (e) { + var _a; + return !e.propertyName && + ts.isStringANonContextualKeyword(e.name.text) && + ((_a = ts.findPrecedingToken(e.name.pos, namedBindings.getSourceFile(), namedBindings)) === null || _a === void 0 ? void 0 : _a.kind) !== 27 /* SyntaxKind.CommaToken */; + }); + } function couldBeTypeOnlyImportSpecifier(importSpecifier, contextToken) { return ts.isImportSpecifier(importSpecifier) && (importSpecifier.isTypeOnly || contextToken === importSpecifier.name && ts.isTypeKeywordTokenOrIdentifier(contextToken)); } function canCompleteFromNamedBindings(namedBindings) { - return isModuleSpecifierMissingOrEmpty(namedBindings.parent.parent.moduleSpecifier) - && (ts.isNamespaceImport(namedBindings) || namedBindings.elements.length < 2) - && !namedBindings.parent.name; + if (!isModuleSpecifierMissingOrEmpty(namedBindings.parent.parent.moduleSpecifier) || namedBindings.parent.name) { + return false; + } + if (ts.isNamedImports(namedBindings)) { + // We can only complete on named imports if there are no other named imports already, + // but parser recovery sometimes puts later statements in the named imports list, so + // we try to only consider the probably-valid ones. + var invalidNamedImport = getPotentiallyInvalidImportSpecifier(namedBindings); + var validImports = invalidNamedImport ? namedBindings.elements.indexOf(invalidNamedImport) : namedBindings.elements.length; + return validImports < 2; + } + return true; } function isModuleSpecifierMissingOrEmpty(specifier) { var _a; @@ -137713,7 +139014,6 @@ var ts; function isArrowFunctionBody(node) { return node.parent && ts.isArrowFunction(node.parent) && node.parent.body === node; } - ; /** True if symbol is a type or a module containing at least one type. */ function symbolCanBeReferencedAtTypeLocation(symbol, checker, seenModules) { if (seenModules === void 0) { seenModules = new ts.Map(); } @@ -137862,14 +139162,14 @@ var ts; case 115 /* SyntaxKind.WhileKeyword */: case 90 /* SyntaxKind.DoKeyword */: return useParent(node.parent, function (n) { return ts.isIterationStatement(n, /*lookInLabeledStatements*/ true); }, getLoopBreakContinueOccurrences); - case 134 /* SyntaxKind.ConstructorKeyword */: - return getFromAllDeclarations(ts.isConstructorDeclaration, [134 /* SyntaxKind.ConstructorKeyword */]); - case 136 /* SyntaxKind.GetKeyword */: - case 149 /* SyntaxKind.SetKeyword */: - return getFromAllDeclarations(ts.isAccessor, [136 /* SyntaxKind.GetKeyword */, 149 /* SyntaxKind.SetKeyword */]); - case 132 /* SyntaxKind.AwaitKeyword */: + case 135 /* SyntaxKind.ConstructorKeyword */: + return getFromAllDeclarations(ts.isConstructorDeclaration, [135 /* SyntaxKind.ConstructorKeyword */]); + case 137 /* SyntaxKind.GetKeyword */: + case 151 /* SyntaxKind.SetKeyword */: + return getFromAllDeclarations(ts.isAccessor, [137 /* SyntaxKind.GetKeyword */, 151 /* SyntaxKind.SetKeyword */]); + case 133 /* SyntaxKind.AwaitKeyword */: return useParent(node.parent, ts.isAwaitExpression, getAsyncAndAwaitOccurrences); - case 131 /* SyntaxKind.AsyncKeyword */: + case 132 /* SyntaxKind.AsyncKeyword */: return highlightSpans(getAsyncAndAwaitOccurrences(node)); case 125 /* SyntaxKind.YieldKeyword */: return highlightSpans(getYieldOccurrences(node)); @@ -137916,7 +139216,7 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 305 /* SyntaxKind.SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 308 /* SyntaxKind.SourceFile */) { return parent; } // A throw-statement is only owned by a try-statement if the try-statement has @@ -137948,16 +139248,16 @@ var ts; function getBreakOrContinueOwner(statement) { return ts.findAncestor(statement, function (node) { switch (node.kind) { - case 249 /* SyntaxKind.SwitchStatement */: - if (statement.kind === 245 /* SyntaxKind.ContinueStatement */) { + case 252 /* SyntaxKind.SwitchStatement */: + if (statement.kind === 248 /* SyntaxKind.ContinueStatement */) { return false; } // falls through - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 240 /* SyntaxKind.DoStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.DoStatement */: return !statement.label || isLabeledBy(node, statement.label.escapedText); default: // Don't cross function boundaries. @@ -137973,26 +139273,26 @@ var ts; // Types of node whose children might have modifiers. var container = declaration.parent; switch (container.kind) { - case 262 /* SyntaxKind.ModuleBlock */: - case 305 /* SyntaxKind.SourceFile */: - case 235 /* SyntaxKind.Block */: - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 265 /* SyntaxKind.ModuleBlock */: + case 308 /* SyntaxKind.SourceFile */: + case 238 /* SyntaxKind.Block */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: // Container is either a class declaration or the declaration is a classDeclaration - if (modifierFlag & 128 /* ModifierFlags.Abstract */ && ts.isClassDeclaration(declaration)) { + if (modifierFlag & 256 /* ModifierFlags.Abstract */ && ts.isClassDeclaration(declaration)) { return __spreadArray(__spreadArray([], declaration.members, true), [declaration], false); } else { return container.statements; } - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return __spreadArray(__spreadArray([], container.parameters, true), (ts.isClassLike(container.parent) ? container.parent.members : []), true); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 182 /* SyntaxKind.TypeLiteral */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 184 /* SyntaxKind.TypeLiteral */: var nodes = container.members; // If we're an accessibility modifier, we're in an instance member and should search // the constructor's parameter list for instance members as well. @@ -138002,12 +139302,12 @@ var ts; return __spreadArray(__spreadArray([], nodes, true), constructor.parameters, true); } } - else if (modifierFlag & 128 /* ModifierFlags.Abstract */) { + else if (modifierFlag & 256 /* ModifierFlags.Abstract */) { return __spreadArray(__spreadArray([], nodes, true), [container], false); } return nodes; // Syntactically invalid positions that the parser might produce anyway - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return undefined; default: ts.Debug.assertNever(container, "Invalid container kind."); @@ -138028,7 +139328,7 @@ var ts; var keywords = []; if (pushKeywordIf(keywords, loopNode.getFirstToken(), 97 /* SyntaxKind.ForKeyword */, 115 /* SyntaxKind.WhileKeyword */, 90 /* SyntaxKind.DoKeyword */)) { // If we succeeded and got a do-while loop, then start looking for a 'while' keyword. - if (loopNode.kind === 240 /* SyntaxKind.DoStatement */) { + if (loopNode.kind === 243 /* SyntaxKind.DoStatement */) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { if (pushKeywordIf(keywords, loopTokens[i], 115 /* SyntaxKind.WhileKeyword */)) { @@ -138048,13 +139348,13 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: return getLoopBreakContinueOccurrences(owner); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: return getSwitchCaseDefaultOccurrences(owner); } } @@ -138127,13 +139427,13 @@ var ts; var keywords = []; if (func.modifiers) { func.modifiers.forEach(function (modifier) { - pushKeywordIf(keywords, modifier, 131 /* SyntaxKind.AsyncKeyword */); + pushKeywordIf(keywords, modifier, 132 /* SyntaxKind.AsyncKeyword */); }); } ts.forEachChild(func, function (child) { traverseWithoutCrossingFunction(child, function (node) { if (ts.isAwaitExpression(node)) { - pushKeywordIf(keywords, node.getFirstToken(), 132 /* SyntaxKind.AwaitKeyword */); + pushKeywordIf(keywords, node.getFirstToken(), 133 /* SyntaxKind.AwaitKeyword */); } }); }); @@ -138517,14 +139817,14 @@ var ts; if (cancellationToken) cancellationToken.throwIfCancellationRequested(); switch (direct.kind) { - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (ts.isImportCall(direct)) { handleImportCall(direct); break; } if (!isAvailableThroughGlobal) { var parent = direct.parent; - if (exportKind === 2 /* ExportKind.ExportEquals */ && parent.kind === 254 /* SyntaxKind.VariableDeclaration */) { + if (exportKind === 2 /* ExportKind.ExportEquals */ && parent.kind === 257 /* SyntaxKind.VariableDeclaration */) { var name = parent.name; if (name.kind === 79 /* SyntaxKind.Identifier */) { directImports.push(name); @@ -138535,25 +139835,25 @@ var ts; break; case 79 /* SyntaxKind.Identifier */: // for 'const x = require("y"); break; // TODO: GH#23879 - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: handleNamespaceImport(direct, direct.name, ts.hasSyntacticModifier(direct, 1 /* ModifierFlags.Export */), /*alreadyAddedDirect*/ false); break; - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: directImports.push(direct); var namedBindings = direct.importClause && direct.importClause.namedBindings; - if (namedBindings && namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (namedBindings && namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { handleNamespaceImport(direct, namedBindings.name, /*isReExport*/ false, /*alreadyAddedDirect*/ true); } else if (!isAvailableThroughGlobal && ts.isDefaultImport(direct)) { addIndirectUser(getSourceFileLikeForImportDeclaration(direct)); // Add a check for indirect uses to handle synthetic default imports } break; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: if (!direct.exportClause) { // This is `export * from "foo"`, so imports of this module may import the export too. handleDirectImports(getContainingModuleSymbol(direct, checker)); } - else if (direct.exportClause.kind === 274 /* SyntaxKind.NamespaceExport */) { + else if (direct.exportClause.kind === 277 /* SyntaxKind.NamespaceExport */) { // `export * as foo from "foo"` add to indirect uses addIndirectUser(getSourceFileLikeForImportDeclaration(direct), /** addTransitiveDependencies */ true); } @@ -138562,9 +139862,9 @@ var ts; directImports.push(direct); } break; - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: // Only check for typeof import('xyz') - if (direct.isTypeOf && !direct.qualifier && isExported(direct)) { + if (!isAvailableThroughGlobal && direct.isTypeOf && !direct.qualifier && isExported(direct)) { addIndirectUser(direct.getSourceFile(), /** addTransitiveDependencies */ true); } directImports.push(direct); @@ -138595,7 +139895,7 @@ var ts; } else if (!isAvailableThroughGlobal) { var sourceFileLike = getSourceFileLikeForImportDeclaration(importDeclaration); - ts.Debug.assert(sourceFileLike.kind === 305 /* SyntaxKind.SourceFile */ || sourceFileLike.kind === 261 /* SyntaxKind.ModuleDeclaration */); + ts.Debug.assert(sourceFileLike.kind === 308 /* SyntaxKind.SourceFile */ || sourceFileLike.kind === 264 /* SyntaxKind.ModuleDeclaration */); if (isReExport || findNamespaceReExports(sourceFileLike, name, checker)) { addIndirectUser(sourceFileLike, /** addTransitiveDependencies */ true); } @@ -138651,7 +139951,7 @@ var ts; } return { importSearches: importSearches, singleReferences: singleReferences }; function handleImport(decl) { - if (decl.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + if (decl.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { if (isExternalModuleImportEquals(decl)) { handleNamespaceImportLike(decl.name); } @@ -138661,7 +139961,7 @@ var ts; handleNamespaceImportLike(decl); return; } - if (decl.kind === 200 /* SyntaxKind.ImportType */) { + if (decl.kind === 202 /* SyntaxKind.ImportType */) { if (decl.qualifier) { var firstIdentifier = ts.getFirstIdentifier(decl.qualifier); if (firstIdentifier.escapedText === ts.symbolName(exportSymbol)) { @@ -138677,7 +139977,7 @@ var ts; if (decl.moduleSpecifier.kind !== 10 /* SyntaxKind.StringLiteral */) { return; } - if (decl.kind === 272 /* SyntaxKind.ExportDeclaration */) { + if (decl.kind === 275 /* SyntaxKind.ExportDeclaration */) { if (decl.exportClause && ts.isNamedExports(decl.exportClause)) { searchForNamedImport(decl.exportClause); } @@ -138686,10 +139986,10 @@ var ts; var _a = decl.importClause || { name: undefined, namedBindings: undefined }, name = _a.name, namedBindings = _a.namedBindings; if (namedBindings) { switch (namedBindings.kind) { - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: handleNamespaceImportLike(namedBindings.name); break; - case 269 /* SyntaxKind.NamedImports */: + case 272 /* SyntaxKind.NamedImports */: // 'default' might be accessed as a named import `{ default as foo }`. if (exportKind === 0 /* ExportKind.Named */ || exportKind === 1 /* ExportKind.Default */) { searchForNamedImport(namedBindings); @@ -138739,7 +140039,7 @@ var ts; } } else { - var localSymbol = element.kind === 275 /* SyntaxKind.ExportSpecifier */ && element.propertyName + var localSymbol = element.kind === 278 /* SyntaxKind.ExportSpecifier */ && element.propertyName ? checker.getExportSpecifierLocalTargetSymbol(element) // For re-exporting under a different name, we want to get the re-exported symbol. : checker.getSymbolAtLocation(name); addSearch(name, localSymbol); @@ -138768,7 +140068,7 @@ var ts; for (var _i = 0, sourceFiles_1 = sourceFiles; _i < sourceFiles_1.length; _i++) { var referencingFile = sourceFiles_1[_i]; var searchSourceFile = searchModuleSymbol.valueDeclaration; - if ((searchSourceFile === null || searchSourceFile === void 0 ? void 0 : searchSourceFile.kind) === 305 /* SyntaxKind.SourceFile */) { + if ((searchSourceFile === null || searchSourceFile === void 0 ? void 0 : searchSourceFile.kind) === 308 /* SyntaxKind.SourceFile */) { for (var _a = 0, _b = referencingFile.referencedFiles; _a < _b.length; _a++) { var ref = _b[_a]; if (program.getSourceFileFromReference(referencingFile, ref) === searchSourceFile) { @@ -138816,7 +140116,7 @@ var ts; } /** Iterates over all statements at the top level or in module declarations. Returns the first truthy result. */ function forEachPossibleImportOrExportStatement(sourceFileLike, action) { - return ts.forEach(sourceFileLike.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { + return ts.forEach(sourceFileLike.kind === 308 /* SyntaxKind.SourceFile */ ? sourceFileLike.statements : sourceFileLike.body.statements, function (statement) { return action(statement) || (isAmbientModuleDeclaration(statement) && ts.forEach(statement.body && statement.body.statements, action)); }); } @@ -138831,15 +140131,15 @@ var ts; else { forEachPossibleImportOrExportStatement(sourceFile, function (statement) { switch (statement.kind) { - case 272 /* SyntaxKind.ExportDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: { + case 275 /* SyntaxKind.ExportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: { var decl = statement; if (decl.moduleSpecifier && ts.isStringLiteral(decl.moduleSpecifier)) { action(decl, decl.moduleSpecifier); } break; } - case 265 /* SyntaxKind.ImportEqualsDeclaration */: { + case 268 /* SyntaxKind.ImportEqualsDeclaration */: { var decl = statement; if (isExternalModuleImportEquals(decl)) { action(decl, decl.moduleReference.expression); @@ -138864,7 +140164,7 @@ var ts; var parent = node.parent; var grandparent = parent.parent; if (symbol.exportSymbol) { - if (parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { // When accessing an export of a JS module, there's no alias. The symbol will still be flagged as an export even though we're at the use. // So check that we are at the declaration. return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d === parent; })) && ts.isBinaryExpression(grandparent) @@ -138948,6 +140248,8 @@ var ts; // Similarly, skip past the symbol for 'export =' if (importedSymbol.escapedName === "export=") { importedSymbol = getExportEqualsLocalSymbol(importedSymbol, checker); + if (importedSymbol === undefined) + return undefined; } // If the import has a different name than the export, do not continue searching. // If `importedName` is undefined, do continue searching as the export is anonymous. @@ -138963,25 +140265,25 @@ var ts; } // Not meant for use with export specifiers or export assignment. function getExportKindForDeclaration(node) { - return ts.hasSyntacticModifier(node, 512 /* ModifierFlags.Default */) ? 1 /* ExportKind.Default */ : 0 /* ExportKind.Named */; + return ts.hasSyntacticModifier(node, 1024 /* ModifierFlags.Default */) ? 1 /* ExportKind.Default */ : 0 /* ExportKind.Named */; } } FindAllReferences.getImportOrExportSymbol = getImportOrExportSymbol; function getExportEqualsLocalSymbol(importedSymbol, checker) { if (importedSymbol.flags & 2097152 /* SymbolFlags.Alias */) { - return ts.Debug.checkDefined(checker.getImmediateAliasedSymbol(importedSymbol)); + return checker.getImmediateAliasedSymbol(importedSymbol); } var decl = ts.Debug.checkDefined(importedSymbol.valueDeclaration); if (ts.isExportAssignment(decl)) { // `export = class {}` - return ts.Debug.checkDefined(decl.expression.symbol); + return decl.expression.symbol; } else if (ts.isBinaryExpression(decl)) { // `module.exports = class {}` - return ts.Debug.checkDefined(decl.right.symbol); + return decl.right.symbol; } else if (ts.isSourceFile(decl)) { // json module - return ts.Debug.checkDefined(decl.symbol); + return decl.symbol; } - return ts.Debug.fail(); + return undefined; } // If a reference is a class expression, the exported node would be its parent. // If a reference is a variable declaration, the exported node would be the variable statement. @@ -138998,16 +140300,16 @@ var ts; function isNodeImport(node) { var parent = node.parent; switch (parent.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return parent.name === node && isExternalModuleImportEquals(parent); - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: // For a rename import `{ foo as bar }`, don't search for the imported symbol. Just find local uses of `bar`. return !parent.propertyName; - case 267 /* SyntaxKind.ImportClause */: - case 268 /* SyntaxKind.NamespaceImport */: + case 270 /* SyntaxKind.ImportClause */: + case 271 /* SyntaxKind.NamespaceImport */: ts.Debug.assert(parent.name === node); return true; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return ts.isInJSFile(node) && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(parent.parent.parent); default: return false; @@ -139048,21 +140350,21 @@ var ts; return checker.getMergedSymbol(getSourceFileLikeForImportDeclaration(importer).symbol); } function getSourceFileLikeForImportDeclaration(node) { - if (node.kind === 208 /* SyntaxKind.CallExpression */) { + if (node.kind === 210 /* SyntaxKind.CallExpression */) { return node.getSourceFile(); } var parent = node.parent; - if (parent.kind === 305 /* SyntaxKind.SourceFile */) { + if (parent.kind === 308 /* SyntaxKind.SourceFile */) { return parent; } - ts.Debug.assert(parent.kind === 262 /* SyntaxKind.ModuleBlock */); + ts.Debug.assert(parent.kind === 265 /* SyntaxKind.ModuleBlock */); return ts.cast(parent.parent, isAmbientModuleDeclaration); } function isAmbientModuleDeclaration(node) { - return node.kind === 261 /* SyntaxKind.ModuleDeclaration */ && node.name.kind === 10 /* SyntaxKind.StringLiteral */; + return node.kind === 264 /* SyntaxKind.ModuleDeclaration */ && node.name.kind === 10 /* SyntaxKind.StringLiteral */; } function isExternalModuleImportEquals(eq) { - return eq.moduleReference.kind === 277 /* SyntaxKind.ExternalModuleReference */ && eq.moduleReference.expression.kind === 10 /* SyntaxKind.StringLiteral */; + return eq.moduleReference.kind === 280 /* SyntaxKind.ExternalModuleReference */ && eq.moduleReference.expression.kind === 10 /* SyntaxKind.StringLiteral */; } })(FindAllReferences = ts.FindAllReferences || (ts.FindAllReferences = {})); })(ts || (ts = {})); @@ -139156,7 +140458,7 @@ var ts; ((ts.isImportOrExportSpecifier(node.parent) || ts.isBindingElement(node.parent)) && node.parent.propertyName === node) || // Is default export - (node.kind === 88 /* SyntaxKind.DefaultKeyword */ && ts.hasSyntacticModifier(node.parent, 513 /* ModifierFlags.ExportDefault */))) { + (node.kind === 88 /* SyntaxKind.DefaultKeyword */ && ts.hasSyntacticModifier(node.parent, 1025 /* ModifierFlags.ExportDefault */))) { return getContextNode(node.parent); } return undefined; @@ -139165,7 +140467,7 @@ var ts; if (!node) return undefined; switch (node.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return !ts.isVariableDeclarationList(node.parent) || node.parent.declarations.length !== 1 ? node : ts.isVariableStatement(node.parent.parent) ? @@ -139173,28 +140475,28 @@ var ts; ts.isForInOrOfStatement(node.parent.parent) ? getContextNode(node.parent.parent) : node.parent; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return getContextNode(node.parent.parent); - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent; - case 275 /* SyntaxKind.ExportSpecifier */: - case 268 /* SyntaxKind.NamespaceImport */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 271 /* SyntaxKind.NamespaceImport */: return node.parent.parent; - case 267 /* SyntaxKind.ImportClause */: - case 274 /* SyntaxKind.NamespaceExport */: + case 270 /* SyntaxKind.ImportClause */: + case 277 /* SyntaxKind.NamespaceExport */: return node.parent; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return ts.isExpressionStatement(node.parent) ? node.parent : node; - case 244 /* SyntaxKind.ForOfStatement */: - case 243 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: return { start: node.initializer, end: node.expression }; - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent) ? getContextNode(ts.findAncestor(node.parent, function (node) { return ts.isBinaryExpression(node) || ts.isForInOrOfStatement(node); @@ -139255,15 +140557,15 @@ var ts; return node.kind === 88 /* SyntaxKind.DefaultKeyword */ || !!ts.getDeclarationFromName(node) || ts.isLiteralComputedPropertyDeclarationName(node) - || (node.kind === 134 /* SyntaxKind.ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent)); + || (node.kind === 135 /* SyntaxKind.ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent)); } function getImplementationsAtPosition(program, cancellationToken, sourceFiles, sourceFile, position) { var node = ts.getTouchingPropertyName(sourceFile, position); var referenceEntries; var entries = getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position); - if (node.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */ - || node.parent.kind === 203 /* SyntaxKind.BindingElement */ - || node.parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ + if (node.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */ + || node.parent.kind === 205 /* SyntaxKind.BindingElement */ + || node.parent.kind === 209 /* SyntaxKind.ElementAccessExpression */ || node.kind === 106 /* SyntaxKind.SuperKeyword */) { referenceEntries = entries && __spreadArray([], entries, true); } @@ -139287,13 +140589,13 @@ var ts; } FindAllReferences.getImplementationsAtPosition = getImplementationsAtPosition; function getImplementationReferenceEntries(program, cancellationToken, sourceFiles, node, position) { - if (node.kind === 305 /* SyntaxKind.SourceFile */) { + if (node.kind === 308 /* SyntaxKind.SourceFile */) { return undefined; } var checker = program.getTypeChecker(); // If invoked directly on a shorthand property assignment, then return // the declaration of the symbol being assigned (not the symbol being assigned to). - if (node.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (node.parent.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { var result_2 = []; Core.getReferenceEntriesForShorthandPropertyAssignment(node, checker, function (node) { return result_2.push(nodeEntry(node)); }); return result_2; @@ -139469,13 +140771,13 @@ var ts; if (symbol) { return getDefinitionKindAndDisplayParts(symbol, checker, node); } - else if (node.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + else if (node.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { return { kind: "interface" /* ScriptElementKind.interfaceElement */, displayParts: [ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */), ts.textPart("object literal"), ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)] }; } - else if (node.kind === 226 /* SyntaxKind.ClassExpression */) { + else if (node.kind === 228 /* SyntaxKind.ClassExpression */) { return { kind: "local class" /* ScriptElementKind.localClassElement */, displayParts: [ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */), ts.textPart("anonymous local class"), ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)] @@ -139529,7 +140831,7 @@ var ts; var source = ts.getDeclarationFromName(node) || (node.kind === 88 /* SyntaxKind.DefaultKeyword */ ? node.parent : ts.isLiteralComputedPropertyDeclarationName(node) ? node.parent.parent - : node.kind === 134 /* SyntaxKind.ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent) ? node.parent.parent + : node.kind === 135 /* SyntaxKind.ConstructorKeyword */ && ts.isConstructorDeclaration(node.parent) ? node.parent.parent : undefined); var commonjsSource = source && ts.isBinaryExpression(source) ? source.left : undefined; return !!(source && ((_a = target.declarations) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d === source || d === commonjsSource; }))); @@ -139544,47 +140846,47 @@ var ts; if (!!(decl.flags & 16777216 /* NodeFlags.Ambient */)) return true; switch (decl.kind) { - case 221 /* SyntaxKind.BinaryExpression */: - case 203 /* SyntaxKind.BindingElement */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 223 /* SyntaxKind.BinaryExpression */: + case 205 /* SyntaxKind.BindingElement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: case 88 /* SyntaxKind.DefaultKeyword */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 299 /* SyntaxKind.EnumMember */: - case 275 /* SyntaxKind.ExportSpecifier */: - case 267 /* SyntaxKind.ImportClause */: // default import - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 285 /* SyntaxKind.JsxAttribute */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 264 /* SyntaxKind.NamespaceExportDeclaration */: - case 268 /* SyntaxKind.NamespaceImport */: - case 274 /* SyntaxKind.NamespaceExport */: - case 164 /* SyntaxKind.Parameter */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 163 /* SyntaxKind.TypeParameter */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 302 /* SyntaxKind.EnumMember */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 270 /* SyntaxKind.ImportClause */: // default import + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 288 /* SyntaxKind.JsxAttribute */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: + case 271 /* SyntaxKind.NamespaceImport */: + case 277 /* SyntaxKind.NamespaceExport */: + case 166 /* SyntaxKind.Parameter */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 165 /* SyntaxKind.TypeParameter */: return true; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: // In `({ x: y } = 0);`, `x` is not a write access. (Won't call this function for `y`.) return !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(decl.parent); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 171 /* SyntaxKind.Constructor */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 173 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return !!decl.body; - case 254 /* SyntaxKind.VariableDeclaration */: - case 167 /* SyntaxKind.PropertyDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: return !!decl.initializer || ts.isCatchClause(decl.parent); - case 168 /* SyntaxKind.MethodSignature */: - case 166 /* SyntaxKind.PropertySignature */: - case 347 /* SyntaxKind.JSDocPropertyTag */: - case 340 /* SyntaxKind.JSDocParameterTag */: + case 170 /* SyntaxKind.MethodSignature */: + case 168 /* SyntaxKind.PropertySignature */: + case 350 /* SyntaxKind.JSDocPropertyTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: return false; default: return ts.Debug.failBadSyntaxKind(decl); @@ -139810,10 +141112,10 @@ var ts; for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; switch (decl.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: // Don't include the source file itself. (This may not be ideal behavior, but awkward to include an entire file as a reference.) break; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: if (sourceFilesSet.has(decl.getSourceFile().fileName)) { references.push(nodeEntry(decl.name)); } @@ -139842,9 +141144,9 @@ var ts; } /** As in a `readonly prop: any` or `constructor(readonly prop: any)`, not a `readonly any[]`. */ function isReadonlyTypeOperator(node) { - return node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ + return node.kind === 146 /* SyntaxKind.ReadonlyKeyword */ && ts.isTypeOperatorNode(node.parent) - && node.parent.operator === 145 /* SyntaxKind.ReadonlyKeyword */; + && node.parent.operator === 146 /* SyntaxKind.ReadonlyKeyword */; } /** getReferencedSymbols for special node kinds. */ function getReferencedSymbolsSpecial(node, sourceFiles, cancellationToken) { @@ -139855,12 +141157,12 @@ var ts; } // A modifier readonly (like on a property declaration) is not special; // a readonly type keyword (like `readonly string[]`) is. - if (node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ && !isReadonlyTypeOperator(node)) { + if (node.kind === 146 /* SyntaxKind.ReadonlyKeyword */ && !isReadonlyTypeOperator(node)) { return undefined; } // Likewise, when we *are* looking for a special keyword, make sure we // *don’t* include readonly member modifiers. - return getAllReferencesForKeyword(sourceFiles, node.kind, cancellationToken, node.kind === 145 /* SyntaxKind.ReadonlyKeyword */ ? isReadonlyTypeOperator : undefined); + return getAllReferencesForKeyword(sourceFiles, node.kind, cancellationToken, node.kind === 146 /* SyntaxKind.ReadonlyKeyword */ ? isReadonlyTypeOperator : undefined); } if (ts.isImportMeta(node.parent) && node.parent.name === node) { return getAllReferencesForImportMeta(sourceFiles, cancellationToken); @@ -139927,8 +141229,8 @@ var ts; } function getSpecialSearchKind(node) { switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: - case 134 /* SyntaxKind.ConstructorKeyword */: + case 173 /* SyntaxKind.Constructor */: + case 135 /* SyntaxKind.ConstructorKeyword */: return 1 /* SpecialSearchKind.Constructor */; case 79 /* SyntaxKind.Identifier */: if (ts.isClassLike(node.parent)) { @@ -140176,7 +141478,7 @@ var ts; // If this is the symbol of a named function expression or named class expression, // then named references are limited to its own scope. var declarations = symbol.declarations, flags = symbol.flags, parent = symbol.parent, valueDeclaration = symbol.valueDeclaration; - if (valueDeclaration && (valueDeclaration.kind === 213 /* SyntaxKind.FunctionExpression */ || valueDeclaration.kind === 226 /* SyntaxKind.ClassExpression */)) { + if (valueDeclaration && (valueDeclaration.kind === 215 /* SyntaxKind.FunctionExpression */ || valueDeclaration.kind === 228 /* SyntaxKind.ClassExpression */)) { return valueDeclaration; } if (!declarations) { @@ -140186,7 +141488,7 @@ var ts; if (flags & (4 /* SymbolFlags.Property */ | 8192 /* SymbolFlags.Method */)) { var privateDeclaration = ts.find(declarations, function (d) { return ts.hasEffectiveModifier(d, 8 /* ModifierFlags.Private */) || ts.isPrivateIdentifierClassElementDeclaration(d); }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 257 /* SyntaxKind.ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 260 /* SyntaxKind.ClassDeclaration */); } // Else this is a public property and could be accessed from anywhere. return undefined; @@ -140215,7 +141517,7 @@ var ts; // Different declarations have different containers, bail out return undefined; } - if (!container || container.kind === 305 /* SyntaxKind.SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { + if (!container || container.kind === 308 /* SyntaxKind.SourceFile */ && !ts.isExternalOrCommonJsModule(container)) { // This is a global variable and not an external module, any declaration defined // within this scope is visible outside the file return undefined; @@ -140473,7 +141775,7 @@ var ts; } // Use the parent symbol if the location is commonjs require syntax on javascript files only. if (ts.isInJSFile(referenceLocation) - && referenceLocation.parent.kind === 203 /* SyntaxKind.BindingElement */ + && referenceLocation.parent.kind === 205 /* SyntaxKind.BindingElement */ && ts.isVariableDeclarationInitializedToBareOrAccessedRequire(referenceLocation.parent.parent.parent)) { referenceSymbol = referenceLocation.parent.symbol; // The parent will not have a symbol if it's an ObjectBindingPattern (when destructuring is used). In @@ -140580,7 +141882,7 @@ var ts; } } function addReference(referenceLocation, relatedSymbol, state) { - var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line no-in-operator + var _a = "kind" in relatedSymbol ? relatedSymbol : { kind: undefined, symbol: relatedSymbol }, kind = _a.kind, symbol = _a.symbol; // eslint-disable-line local/no-in-operator // if rename symbol from default export anonymous function, for example `export default function() {}`, we do not need to add reference if (state.options.use === 2 /* FindReferencesUse.Rename */ && referenceLocation.kind === 88 /* SyntaxKind.DefaultKeyword */) { return; @@ -140646,15 +141948,15 @@ var ts; if (constructorSymbol && constructorSymbol.declarations) { for (var _i = 0, _a = constructorSymbol.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - var ctrKeyword = ts.findChildOfKind(decl, 134 /* SyntaxKind.ConstructorKeyword */, sourceFile); - ts.Debug.assert(decl.kind === 171 /* SyntaxKind.Constructor */ && !!ctrKeyword); + var ctrKeyword = ts.findChildOfKind(decl, 135 /* SyntaxKind.ConstructorKeyword */, sourceFile); + ts.Debug.assert(decl.kind === 173 /* SyntaxKind.Constructor */ && !!ctrKeyword); addNode(ctrKeyword); } } if (classSymbol.exports) { classSymbol.exports.forEach(function (member) { var decl = member.valueDeclaration; - if (decl && decl.kind === 169 /* SyntaxKind.MethodDeclaration */) { + if (decl && decl.kind === 171 /* SyntaxKind.MethodDeclaration */) { var body = decl.body; if (body) { forEachDescendantOfKind(body, 108 /* SyntaxKind.ThisKeyword */, function (thisKeyword) { @@ -140678,7 +141980,7 @@ var ts; } for (var _i = 0, _a = constructor.declarations; _i < _a.length; _i++) { var decl = _a[_i]; - ts.Debug.assert(decl.kind === 171 /* SyntaxKind.Constructor */); + ts.Debug.assert(decl.kind === 173 /* SyntaxKind.Constructor */); var body = decl.body; if (body) { forEachDescendantOfKind(body, 106 /* SyntaxKind.SuperKeyword */, function (node) { @@ -140708,7 +142010,7 @@ var ts; if (refNode.kind !== 79 /* SyntaxKind.Identifier */) { return; } - if (refNode.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (refNode.parent.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { // Go ahead and dereference the shorthand assignment by going to its definition getReferenceEntriesForShorthandPropertyAssignment(refNode, state.checker, addReference); } @@ -140728,7 +142030,7 @@ var ts; } else if (ts.isFunctionLike(typeHavingNode) && typeHavingNode.body) { var body = typeHavingNode.body; - if (body.kind === 235 /* SyntaxKind.Block */) { + if (body.kind === 238 /* SyntaxKind.Block */) { ts.forEachReturnStatement(body, function (returnStatement) { if (returnStatement.expression) addIfImplementation(returnStatement.expression); @@ -140756,13 +142058,13 @@ var ts; */ function isImplementationExpression(node) { switch (node.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return isImplementationExpression(node.expression); - case 214 /* SyntaxKind.ArrowFunction */: - case 213 /* SyntaxKind.FunctionExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 226 /* SyntaxKind.ClassExpression */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return true; default: return false; @@ -140815,13 +142117,13 @@ var ts; // Whether 'super' occurs in a static context within a class. var staticFlag = 32 /* ModifierFlags.Static */; switch (searchSpaceNode.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; @@ -140842,43 +142144,43 @@ var ts; return [{ definition: { type: 0 /* DefinitionKind.Symbol */, symbol: searchSpaceNode.symbol }, references: references }]; } function isParameterName(node) { - return node.kind === 79 /* SyntaxKind.Identifier */ && node.parent.kind === 164 /* SyntaxKind.Parameter */ && node.parent.name === node; + return node.kind === 79 /* SyntaxKind.Identifier */ && node.parent.kind === 166 /* SyntaxKind.Parameter */ && node.parent.name === node; } function getReferencesForThisKeyword(thisOrSuperKeyword, sourceFiles, cancellationToken) { var searchSpaceNode = ts.getThisContainer(thisOrSuperKeyword, /* includeArrowFunctions */ false); // Whether 'this' occurs in a static context within a class. var staticFlag = 32 /* ModifierFlags.Static */; switch (searchSpaceNode.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: if (ts.isObjectLiteralMethod(searchSpaceNode)) { staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning object literals break; } // falls through - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: staticFlag &= ts.getSyntacticModifierFlags(searchSpaceNode); searchSpaceNode = searchSpaceNode.parent; // re-assign to be the owning class break; - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: if (ts.isExternalModule(searchSpaceNode) || isParameterName(thisOrSuperKeyword)) { return undefined; } // falls through - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: break; // Computed properties in classes are not handled here because references to this are illegal, // so there is no point finding references to them. default: return undefined; } - var references = ts.flatMap(searchSpaceNode.kind === 305 /* SyntaxKind.SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { + var references = ts.flatMap(searchSpaceNode.kind === 308 /* SyntaxKind.SourceFile */ ? sourceFiles : [searchSpaceNode.getSourceFile()], function (sourceFile) { cancellationToken.throwIfCancellationRequested(); return getPossibleSymbolReferenceNodes(sourceFile, "this", ts.isSourceFile(searchSpaceNode) ? sourceFile : searchSpaceNode).filter(function (node) { if (!ts.isThis(node)) { @@ -140886,20 +142188,20 @@ var ts; } var container = ts.getThisContainer(node, /* includeArrowFunctions */ false); switch (searchSpaceNode.kind) { - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: return searchSpaceNode.symbol === container.symbol; - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: return ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol; - case 226 /* SyntaxKind.ClassExpression */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: // Make sure the container belongs to the same class/object literals // and has the appropriate static modifier from the original container. return container.parent && searchSpaceNode.symbol === container.parent.symbol && ts.isStatic(container) === !!staticFlag; - case 305 /* SyntaxKind.SourceFile */: - return container.kind === 305 /* SyntaxKind.SourceFile */ && !ts.isExternalModule(container) && !isParameterName(node); + case 308 /* SyntaxKind.SourceFile */: + return container.kind === 308 /* SyntaxKind.SourceFile */ && !ts.isExternalModule(container) && !isParameterName(node); } }); }).map(function (n) { return nodeEntry(n); }); @@ -140945,7 +142247,7 @@ var ts; } } result.push(base || root || sym); - }, + }, // when try to find implementation, implementations is true, and not allowed to find base class /*allowBaseTypes*/ function () { return !implementations; }); return result; @@ -140953,7 +142255,7 @@ var ts; /** * @param allowBaseTypes return true means it would try to find in base class or interface. */ - function forEachRelatedSymbol(symbol, location, checker, isForRenamePopulateSearchSymbolSet, onlyIncludeBindingElementAtReferenceLocation, + function forEachRelatedSymbol(symbol, location, checker, isForRenamePopulateSearchSymbolSet, onlyIncludeBindingElementAtReferenceLocation, /** * @param baseSymbol This symbol means one property/mehtod from base class or interface when it is not null or undefined, */ @@ -141010,7 +142312,7 @@ var ts; ts.Debug.assert(paramProps.length === 2 && !!(paramProps[0].flags & 1 /* SymbolFlags.FunctionScopedVariable */) && !!(paramProps[1].flags & 4 /* SymbolFlags.Property */)); // is [parameter, property] return fromRoot(symbol.flags & 1 /* SymbolFlags.FunctionScopedVariable */ ? paramProps[1] : paramProps[0]); } - var exportSpecifier = ts.getDeclarationOfKind(symbol, 275 /* SyntaxKind.ExportSpecifier */); + var exportSpecifier = ts.getDeclarationOfKind(symbol, 278 /* SyntaxKind.ExportSpecifier */); if (!isForRenamePopulateSearchSymbolSet || exportSpecifier && !exportSpecifier.propertyName) { var localSymbol = exportSpecifier && checker.getExportSpecifierLocalTargetSymbol(exportSpecifier); if (localSymbol) { @@ -141055,7 +142357,7 @@ var ts; }); } function getPropertySymbolOfObjectBindingPatternWithoutPropertyName(symbol, checker) { - var bindingElement = ts.getDeclarationOfKind(symbol, 203 /* SyntaxKind.BindingElement */); + var bindingElement = ts.getDeclarationOfKind(symbol, 205 /* SyntaxKind.BindingElement */); if (bindingElement && ts.isObjectBindingElementWithoutPropertyName(bindingElement)) { return ts.getPropertySymbolFromBindingElement(checker, bindingElement); } @@ -141095,7 +142397,7 @@ var ts; } function getRelatedSymbol(search, referenceSymbol, referenceLocation, state) { var checker = state.checker; - return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, /*isForRenamePopulateSearchSymbolSet*/ false, + return forEachRelatedSymbol(referenceSymbol, referenceLocation, checker, /*isForRenamePopulateSearchSymbolSet*/ false, /*onlyIncludeBindingElementAtReferenceLocation*/ state.options.use !== 2 /* FindReferencesUse.Rename */ || !!state.options.providePrefixAndSuffixTextForRename, function (sym, rootSymbol, baseSymbol, kind) { // check whether the symbol used to search itself is just the searched one. if (baseSymbol) { @@ -141108,7 +142410,7 @@ var ts; // For a base type, use the symbol for the derived type. For a synthetic (e.g. union) property, use the union symbol. ? { symbol: rootSymbol && !(ts.getCheckFlags(sym) & 6 /* CheckFlags.Synthetic */) ? rootSymbol : sym, kind: kind } : undefined; - }, + }, /*allowBaseTypes*/ function (rootSymbol) { return !(search.parents && !search.parents.some(function (parent) { return explicitlyInheritsFrom(rootSymbol.parent, parent, state.inheritsFromCache, checker); })); }); @@ -141318,16 +142620,16 @@ var ts; return; } switch (node.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: - if (node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) { + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: + if (node.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) { return (_a = ts.getAssignedName(node.parent)) === null || _a === void 0 ? void 0 : _a.getText(); } return (_b = ts.getNameOfDeclaration(node.parent)) === null || _b === void 0 ? void 0 : _b.getText(); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: if (ts.isModuleBlock(node.parent) && ts.isIdentifier(node.parent.parent.name)) { return node.parent.parent.name.getText(); } @@ -141542,61 +142844,65 @@ var ts; } switch (node.kind) { case 79 /* SyntaxKind.Identifier */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: // do not descend into nodes that cannot contain callable nodes return; - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: recordCallSite(node); return; - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 229 /* SyntaxKind.AsExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 231 /* SyntaxKind.AsExpression */: // do not descend into the type side of an assertion collect(node.expression); return; - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: // do not descend into the type of a variable or parameter declaration collect(node.name); collect(node.initializer); return; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: // do not descend into the type arguments of a call expression recordCallSite(node); collect(node.expression); ts.forEach(node.arguments, collect); return; - case 209 /* SyntaxKind.NewExpression */: + case 211 /* SyntaxKind.NewExpression */: // do not descend into the type arguments of a new expression recordCallSite(node); collect(node.expression); ts.forEach(node.arguments, collect); return; - case 210 /* SyntaxKind.TaggedTemplateExpression */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: // do not descend into the type arguments of a tagged template expression recordCallSite(node); collect(node.tag); collect(node.template); return; - case 280 /* SyntaxKind.JsxOpeningElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: // do not descend into the type arguments of a JsxOpeningLikeElement recordCallSite(node); collect(node.tagName); collect(node.attributes); return; - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: recordCallSite(node); collect(node.expression); return; - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: recordCallSite(node); ts.forEachChild(node, collect); break; + case 235 /* SyntaxKind.SatisfiesExpression */: + // do not descend into the type side of an assertion + collect(node.expression); + return; } if (ts.isPartOfTypeNode(node)) { // do not descend into types @@ -141651,25 +142957,25 @@ var ts; var callSites = []; var collect = createCallSiteCollector(program, callSites); switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: collectCallSitesOfSourceFile(node, collect); break; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: collectCallSitesOfModuleDeclaration(node, collect); break; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: collectCallSitesOfFunctionLikeDeclaration(program.getTypeChecker(), node, collect); break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: collectCallSitesOfClassLikeDeclaration(node, collect); break; - case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: + case 172 /* SyntaxKind.ClassStaticBlockDeclaration */: collectCallSitesOfClassStaticBlockDeclaration(node, collect); break; default: @@ -141940,7 +143246,7 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 161 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels @@ -141948,6 +143254,12 @@ var ts; var label = ts.getTargetLabel(node.parent, node.text); return label ? [createDefinitionInfoFromName(typeChecker, label, "label" /* ScriptElementKind.label */, node.text, /*containerName*/ undefined)] : undefined; // TODO: GH#18217 } + if (node.kind === 105 /* SyntaxKind.ReturnKeyword */) { + var functionDeclaration = ts.findAncestor(node.parent, function (n) { + return ts.isClassStaticBlockDeclaration(n) ? "quit" : ts.isFunctionLikeDeclaration(n); + }); + return functionDeclaration ? [createDefinitionFromSignatureDeclaration(typeChecker, functionDeclaration)] : undefined; + } if (ts.isStaticModifier(node) && ts.isClassStaticBlockDeclaration(node.parent)) { var classDecl = node.parent.parent; var _c = getSymbol(classDecl, typeChecker, stopAtAlias), symbol_1 = _c.symbol, failedAliasResolution_1 = _c.failedAliasResolution; @@ -142016,7 +143328,7 @@ var ts; // go to the declaration of the property name (in this case stay at the same position). However, if go-to-definition // is performed at the location of property access, we would like to go to definition of the property in the short-hand // assignment. This case and others are handled by the following code. - if (node.parent.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) { + if (node.parent.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) { var shorthandSymbol_1 = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); var definitions = (shorthandSymbol_1 === null || shorthandSymbol_1 === void 0 ? void 0 : shorthandSymbol_1.declarations) ? shorthandSymbol_1.declarations.map(function (decl) { return createDefinitionInfo(decl, typeChecker, shorthandSymbol_1, node, /*unverified*/ false, failedAliasResolution); }) : ts.emptyArray; return ts.concatenate(definitions, getDefinitionFromObjectLiteralElement(typeChecker, node) || ts.emptyArray); @@ -142083,13 +143395,16 @@ var ts; if (!baseDeclaration) return; var baseTypeNode = ts.getEffectiveBaseTypeNode(baseDeclaration); - var baseType = baseTypeNode ? typeChecker.getTypeAtLocation(baseTypeNode) : undefined; - if (!baseType) + if (!baseTypeNode) + return; + var expression = ts.skipParentheses(baseTypeNode.expression); + var base = ts.isClassExpression(expression) ? expression.symbol : typeChecker.getSymbolAtLocation(expression); + if (!base) return; var name = ts.unescapeLeadingUnderscores(ts.getTextOfPropertyName(classElement.name)); var symbol = ts.hasStaticModifier(classElement) - ? typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbolAtLocation(baseType.symbol, baseDeclaration), name) - : typeChecker.getPropertyOfType(baseType, name); + ? typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbol(base), name) + : typeChecker.getPropertyOfType(typeChecker.getDeclaredTypeOfSymbol(base), name); if (!symbol) return; return getDefinitionFromSymbol(typeChecker, symbol, node); @@ -142222,7 +143537,7 @@ var ts; if (node.parent === declaration) { return true; } - if (declaration.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (declaration.kind === 271 /* SyntaxKind.NamespaceImport */) { return false; } return true; @@ -142264,7 +143579,7 @@ var ts; function getConstructSignatureDefinition() { // Applicable only if we are in a new expression, or we are on a constructor declaration // and in either case the symbol has a construct signature definition, i.e. class - if (symbol.flags & 32 /* SymbolFlags.Class */ && !(symbol.flags & (16 /* SymbolFlags.Function */ | 3 /* SymbolFlags.Variable */)) && (ts.isNewExpressionTarget(node) || node.kind === 134 /* SyntaxKind.ConstructorKeyword */)) { + if (symbol.flags & 32 /* SymbolFlags.Class */ && !(symbol.flags & (16 /* SymbolFlags.Function */ | 3 /* SymbolFlags.Variable */)) && (ts.isNewExpressionTarget(node) || node.kind === 135 /* SyntaxKind.ConstructorKeyword */)) { var cls = ts.find(filteredDeclarations, ts.isClassLike) || ts.Debug.fail("Expected declaration to have at least one class-like declaration"); return getSignatureDefinition(cls.members, /*selectConstructors*/ true); } @@ -142316,22 +143631,22 @@ var ts; return isDefinitionVisible(checker, declaration.parent); // Handle some exceptions here like arrow function, members of class and object literal expression which are technically not visible but we want the definition to be determined by its parent switch (declaration.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 171 /* SyntaxKind.MethodDeclaration */: // Private/protected properties/methods are not visible if (ts.hasEffectiveModifier(declaration, 8 /* ModifierFlags.Private */)) return false; // Public properties/methods are visible if its parents are visible, so: // falls through - case 171 /* SyntaxKind.Constructor */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 226 /* SyntaxKind.ClassExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 213 /* SyntaxKind.FunctionExpression */: + case 173 /* SyntaxKind.Constructor */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 228 /* SyntaxKind.ClassExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: return isDefinitionVisible(checker, declaration.parent); default: return false; @@ -142369,9 +143684,9 @@ var ts; } function isConstructorLike(node) { switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: - case 180 /* SyntaxKind.ConstructorType */: - case 175 /* SyntaxKind.ConstructSignature */: + case 173 /* SyntaxKind.Constructor */: + case 182 /* SyntaxKind.ConstructorType */: + case 177 /* SyntaxKind.ConstructSignature */: return true; default: return false; @@ -142477,17 +143792,17 @@ var ts; ts.forEachUnique(declarations, function (declaration) { for (var _i = 0, _a = getCommentHavingNodes(declaration); _i < _a.length; _i++) { var jsdoc = _a[_i]; - var inheritDoc = ts.isJSDoc(jsdoc) && jsdoc.tags && ts.find(jsdoc.tags, function (t) { return t.kind === 327 /* SyntaxKind.JSDocTag */ && (t.tagName.escapedText === "inheritDoc" || t.tagName.escapedText === "inheritdoc"); }); + var inheritDoc = ts.isJSDoc(jsdoc) && jsdoc.tags && ts.find(jsdoc.tags, function (t) { return t.kind === 330 /* SyntaxKind.JSDocTag */ && (t.tagName.escapedText === "inheritDoc" || t.tagName.escapedText === "inheritdoc"); }); // skip comments containing @typedefs since they're not associated with particular declarations // Exceptions: // - @typedefs are themselves declarations with associated comments // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation if (jsdoc.comment === undefined && !inheritDoc || ts.isJSDoc(jsdoc) - && declaration.kind !== 345 /* SyntaxKind.JSDocTypedefTag */ && declaration.kind !== 338 /* SyntaxKind.JSDocCallbackTag */ + && declaration.kind !== 348 /* SyntaxKind.JSDocTypedefTag */ && declaration.kind !== 341 /* SyntaxKind.JSDocCallbackTag */ && jsdoc.tags - && jsdoc.tags.some(function (t) { return t.kind === 345 /* SyntaxKind.JSDocTypedefTag */ || t.kind === 338 /* SyntaxKind.JSDocCallbackTag */; }) - && !jsdoc.tags.some(function (t) { return t.kind === 340 /* SyntaxKind.JSDocParameterTag */ || t.kind === 341 /* SyntaxKind.JSDocReturnTag */; })) { + && jsdoc.tags.some(function (t) { return t.kind === 348 /* SyntaxKind.JSDocTypedefTag */ || t.kind === 341 /* SyntaxKind.JSDocCallbackTag */; }) + && !jsdoc.tags.some(function (t) { return t.kind === 343 /* SyntaxKind.JSDocParameterTag */ || t.kind === 344 /* SyntaxKind.JSDocReturnTag */; })) { continue; } var newparts = jsdoc.comment ? getDisplayPartsFromComment(jsdoc.comment, checker) : []; @@ -142507,11 +143822,11 @@ var ts; } function getCommentHavingNodes(declaration) { switch (declaration.kind) { - case 340 /* SyntaxKind.JSDocParameterTag */: - case 347 /* SyntaxKind.JSDocPropertyTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: return [declaration]; - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: return [declaration, declaration.parent]; default: return ts.getJSDocCommentsAndTags(declaration); @@ -142525,8 +143840,8 @@ var ts; // skip comments containing @typedefs since they're not associated with particular declarations // Exceptions: // - @param or @return indicate that the author thinks of it as a 'local' @typedef that's part of the function documentation - if (tags.some(function (t) { return t.kind === 345 /* SyntaxKind.JSDocTypedefTag */ || t.kind === 338 /* SyntaxKind.JSDocCallbackTag */; }) - && !tags.some(function (t) { return t.kind === 340 /* SyntaxKind.JSDocParameterTag */ || t.kind === 341 /* SyntaxKind.JSDocReturnTag */; })) { + if (tags.some(function (t) { return t.kind === 348 /* SyntaxKind.JSDocTypedefTag */ || t.kind === 341 /* SyntaxKind.JSDocCallbackTag */; }) + && !tags.some(function (t) { return t.kind === 343 /* SyntaxKind.JSDocParameterTag */ || t.kind === 344 /* SyntaxKind.JSDocReturnTag */; })) { return; } for (var _i = 0, tags_1 = tags; _i < tags_1.length; _i++) { @@ -142541,17 +143856,17 @@ var ts; if (typeof comment === "string") { return [ts.textPart(comment)]; } - return ts.flatMap(comment, function (node) { return node.kind === 321 /* SyntaxKind.JSDocText */ ? [ts.textPart(node.text)] : ts.buildLinkParts(node, checker); }); + return ts.flatMap(comment, function (node) { return node.kind === 324 /* SyntaxKind.JSDocText */ ? [ts.textPart(node.text)] : ts.buildLinkParts(node, checker); }); } function getCommentDisplayParts(tag, checker) { var comment = tag.comment, kind = tag.kind; var namePart = getTagNameDisplayPart(kind); switch (kind) { - case 329 /* SyntaxKind.JSDocImplementsTag */: + case 332 /* SyntaxKind.JSDocImplementsTag */: return withNode(tag.class); - case 328 /* SyntaxKind.JSDocAugmentsTag */: + case 331 /* SyntaxKind.JSDocAugmentsTag */: return withNode(tag.class); - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: var templateTag = tag; var displayParts_3 = []; if (templateTag.constraint) { @@ -142573,13 +143888,13 @@ var ts; displayParts_3.push.apply(displayParts_3, __spreadArray([ts.spacePart()], getDisplayPartsFromComment(comment, checker), true)); } return displayParts_3; - case 343 /* SyntaxKind.JSDocTypeTag */: + case 346 /* SyntaxKind.JSDocTypeTag */: return withNode(tag.typeExpression); - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 347 /* SyntaxKind.JSDocPropertyTag */: - case 340 /* SyntaxKind.JSDocParameterTag */: - case 346 /* SyntaxKind.JSDocSeeTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: + case 349 /* SyntaxKind.JSDocSeeTag */: var name = tag.name; return name ? withNode(name) : comment === undefined ? undefined @@ -142606,14 +143921,14 @@ var ts; } function getTagNameDisplayPart(kind) { switch (kind) { - case 340 /* SyntaxKind.JSDocParameterTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: return ts.parameterNamePart; - case 347 /* SyntaxKind.JSDocPropertyTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: return ts.propertyNamePart; - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 347 /* SyntaxKind.JSDocTemplateTag */: return ts.typeParameterNamePart; - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: return ts.typeAliasNamePart; default: return ts.textPart; @@ -142784,43 +144099,48 @@ var ts; } function getCommentOwnerInfoWorker(commentOwner, options) { switch (commentOwner.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 168 /* SyntaxKind.MethodSignature */: - case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 170 /* SyntaxKind.MethodSignature */: + case 216 /* SyntaxKind.ArrowFunction */: var host = commentOwner; return { commentOwner: commentOwner, parameters: host.parameters, hasReturn: hasReturn(host, options) }; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return getCommentOwnerInfoWorker(commentOwner.initializer, options); - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 299 /* SyntaxKind.EnumMember */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 302 /* SyntaxKind.EnumMember */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return { commentOwner: commentOwner }; - case 237 /* SyntaxKind.VariableStatement */: { + case 168 /* SyntaxKind.PropertySignature */: { + var host_1 = commentOwner; + return host_1.type && ts.isFunctionTypeNode(host_1.type) + ? { commentOwner: commentOwner, parameters: host_1.type.parameters, hasReturn: hasReturn(host_1.type, options) } + : { commentOwner: commentOwner }; + } + case 240 /* SyntaxKind.VariableStatement */: { var varStatement = commentOwner; var varDeclarations = varStatement.declarationList.declarations; - var host_1 = varDeclarations.length === 1 && varDeclarations[0].initializer + var host_2 = varDeclarations.length === 1 && varDeclarations[0].initializer ? getRightHandSideOfAssignment(varDeclarations[0].initializer) : undefined; - return host_1 - ? { commentOwner: commentOwner, parameters: host_1.parameters, hasReturn: hasReturn(host_1, options) } + return host_2 + ? { commentOwner: commentOwner, parameters: host_2.parameters, hasReturn: hasReturn(host_2, options) } : { commentOwner: commentOwner }; } - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: return "quit"; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: // If in walking up the tree, we hit a a nested namespace declaration, // then we must be somewhere within a dotted namespace name; however we don't // want to give back a JSDoc template for the 'b' or 'c' in 'namespace a.b.c { }'. - return commentOwner.parent.kind === 261 /* SyntaxKind.ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; - case 238 /* SyntaxKind.ExpressionStatement */: + return commentOwner.parent.kind === 264 /* SyntaxKind.ModuleDeclaration */ ? undefined : { commentOwner: commentOwner }; + case 241 /* SyntaxKind.ExpressionStatement */: return getCommentOwnerInfoWorker(commentOwner.expression, options); - case 221 /* SyntaxKind.BinaryExpression */: { + case 223 /* SyntaxKind.BinaryExpression */: { var be = commentOwner; if (ts.getAssignmentDeclarationKind(be) === 0 /* AssignmentDeclarationKind.None */) { return "quit"; @@ -142829,7 +144149,7 @@ var ts; ? { commentOwner: commentOwner, parameters: be.right.parameters, hasReturn: hasReturn(be.right, options) } : { commentOwner: commentOwner }; } - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: var init = commentOwner.initializer; if (init && (ts.isFunctionExpression(init) || ts.isArrowFunction(init))) { return { commentOwner: commentOwner, parameters: init.parameters, hasReturn: hasReturn(init, options) }; @@ -142838,18 +144158,18 @@ var ts; } function hasReturn(node, options) { return !!(options === null || options === void 0 ? void 0 : options.generateReturnInDocTemplate) && - (ts.isArrowFunction(node) && ts.isExpression(node.body) + (ts.isFunctionTypeNode(node) || ts.isArrowFunction(node) && ts.isExpression(node.body) || ts.isFunctionLikeDeclaration(node) && node.body && ts.isBlock(node.body) && !!ts.forEachReturnStatement(node.body, function (n) { return n; })); } function getRightHandSideOfAssignment(rightHandSide) { - while (rightHandSide.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + while (rightHandSide.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { rightHandSide = rightHandSide.expression; } switch (rightHandSide.kind) { - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return rightHandSide; - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: return ts.find(rightHandSide.members, ts.isConstructorDeclaration); } } @@ -142908,9 +144228,9 @@ var ts; } function shouldKeepItem(declaration, checker) { switch (declaration.kind) { - case 267 /* SyntaxKind.ImportClause */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 270 /* SyntaxKind.ImportClause */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: var importer = checker.getSymbolAtLocation(declaration.name); // TODO: GH#18217 var imported = checker.getAliasedSymbol(importer); return importer.escapedName !== imported.escapedName; @@ -142920,7 +144240,7 @@ var ts; } function tryAddSingleDeclarationName(declaration, containers) { var name = ts.getNameOfDeclaration(declaration); - return !!name && (pushLiteral(name, containers) || name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && tryAddComputedPropertyName(name.expression, containers)); + return !!name && (pushLiteral(name, containers) || name.kind === 164 /* SyntaxKind.ComputedPropertyName */ && tryAddComputedPropertyName(name.expression, containers)); } // Only added the names of computed properties if they're simple dotted expressions, like: // @@ -142937,7 +144257,7 @@ var ts; // First, if we started with a computed property name, then add all but the last // portion into the container array. var name = ts.getNameOfDeclaration(declaration); - if (name && name.kind === 162 /* SyntaxKind.ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers)) { + if (name && name.kind === 164 /* SyntaxKind.ComputedPropertyName */ && !tryAddComputedPropertyName(name.expression, containers)) { return ts.emptyArray; } // Don't include the last portion. @@ -143154,7 +144474,7 @@ var ts; */ function hasNavigationBarName(node) { return !ts.hasDynamicName(node) || - (node.kind !== 221 /* SyntaxKind.BinaryExpression */ && + (node.kind !== 223 /* SyntaxKind.BinaryExpression */ && ts.isPropertyAccessExpression(node.name.expression) && ts.isIdentifier(node.name.expression.expression) && ts.idText(node.name.expression.expression) === "Symbol"); @@ -143167,7 +144487,7 @@ var ts; return; } switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: // Get parameter properties, and treat them as being on the *same* level as the constructor, not under it. var ctr = node; addNodeWithRecursiveChild(ctr, ctr.body); @@ -143179,25 +144499,25 @@ var ts; } } break; - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 168 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 170 /* SyntaxKind.MethodSignature */: if (hasNavigationBarName(node)) { addNodeWithRecursiveChild(node, node.body); } break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: if (hasNavigationBarName(node)) { addNodeWithRecursiveInitializer(node); } break; - case 166 /* SyntaxKind.PropertySignature */: + case 168 /* SyntaxKind.PropertySignature */: if (hasNavigationBarName(node)) { addLeafNode(node); } break; - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: var importClause = node; // Handle default import case e.g.: // import d from "mod"; @@ -143209,7 +144529,7 @@ var ts; // import {a, b as B} from "mod"; var namedBindings = importClause.namedBindings; if (namedBindings) { - if (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { addLeafNode(namedBindings); } else { @@ -143220,17 +144540,17 @@ var ts; } } break; - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: addNodeWithRecursiveChild(node, node.name); break; - case 298 /* SyntaxKind.SpreadAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: var expression = node.expression; // Use the expression as the name of the SpreadAssignment, otherwise show as . ts.isIdentifier(expression) ? addLeafNode(node, expression) : addLeafNode(node); break; - case 203 /* SyntaxKind.BindingElement */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 254 /* SyntaxKind.VariableDeclaration */: { + case 205 /* SyntaxKind.BindingElement */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 257 /* SyntaxKind.VariableDeclaration */: { var child = node; if (ts.isBindingPattern(child.name)) { addChildrenRecursively(child.name); @@ -143240,7 +144560,7 @@ var ts; } break; } - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: var nameNode = node.name; // If we see a function declaration track as a possible ES5 class if (nameNode && ts.isIdentifier(nameNode)) { @@ -143248,11 +144568,11 @@ var ts; } addNodeWithRecursiveChild(node, node.body); break; - case 214 /* SyntaxKind.ArrowFunction */: - case 213 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: addNodeWithRecursiveChild(node, node.body); break; - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: startNode(node); for (var _e = 0, _f = node.members; _e < _f.length; _e++) { var member = _f[_e]; @@ -143262,9 +144582,9 @@ var ts; } endNode(); break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: startNode(node); for (var _g = 0, _h = node.members; _g < _h.length; _g++) { var member = _h[_g]; @@ -143272,10 +144592,10 @@ var ts; } endNode(); break; - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: addNodeWithRecursiveChild(node, getInteriorModule(node).body); break; - case 271 /* SyntaxKind.ExportAssignment */: { + case 274 /* SyntaxKind.ExportAssignment */: { var expression_1 = node.expression; var child = ts.isObjectLiteralExpression(expression_1) || ts.isCallExpression(expression_1) ? expression_1 : ts.isArrowFunction(expression_1) || ts.isFunctionExpression(expression_1) ? expression_1.body : undefined; @@ -143289,16 +144609,16 @@ var ts; } break; } - case 275 /* SyntaxKind.ExportSpecifier */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 176 /* SyntaxKind.IndexSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 178 /* SyntaxKind.IndexSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: addLeafNode(node); break; - case 208 /* SyntaxKind.CallExpression */: - case 221 /* SyntaxKind.BinaryExpression */: { + case 210 /* SyntaxKind.CallExpression */: + case 223 /* SyntaxKind.BinaryExpression */: { var special = ts.getAssignmentDeclarationKind(node); switch (special) { case 1 /* AssignmentDeclarationKind.ExportsProperty */: @@ -143489,8 +144809,8 @@ var ts; } } lastANode = a.node = ts.setTextRange(ts.factory.createClassDeclaration( - /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), - /* typeParameters */ undefined, + /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), + /* typeParameters */ undefined, /* heritageClauses */ undefined, []), a.node); } else { @@ -143513,8 +144833,8 @@ var ts; if (!a.additionalNodes) a.additionalNodes = []; a.additionalNodes.push(ts.setTextRange(ts.factory.createClassDeclaration( - /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), - /* typeParameters */ undefined, + /* modifiers */ undefined, a.name || ts.factory.createIdentifier("__class__"), + /* typeParameters */ undefined, /* heritageClauses */ undefined, []), b.node)); } return true; @@ -143538,12 +144858,12 @@ var ts; return false; } switch (a.kind) { - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return ts.isStatic(a) === ts.isStatic(b); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return areSameModule(a, b) && getFullyQualifiedModuleName(a) === getFullyQualifiedModuleName(b); default: @@ -143565,7 +144885,7 @@ var ts; if (!a.body || !b.body) { return a.body === b.body; } - return a.body.kind === b.body.kind && (a.body.kind !== 261 /* SyntaxKind.ModuleDeclaration */ || areSameModule(a.body, b.body)); + return a.body.kind === b.body.kind && (a.body.kind !== 264 /* SyntaxKind.ModuleDeclaration */ || areSameModule(a.body, b.body)); } /** Merge source into target. Source should be thrown away after this is called. */ function merge(target, source) { @@ -143595,7 +144915,7 @@ var ts; * So `new()` can still come before an `aardvark` method. */ function tryGetName(node) { - if (node.kind === 261 /* SyntaxKind.ModuleDeclaration */) { + if (node.kind === 264 /* SyntaxKind.ModuleDeclaration */) { return getModuleName(node); } var declName = ts.getNameOfDeclaration(node); @@ -143604,16 +144924,16 @@ var ts; return propertyName && ts.unescapeLeadingUnderscores(propertyName); } switch (node.kind) { - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 226 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 228 /* SyntaxKind.ClassExpression */: return getFunctionOrClassName(node); default: return undefined; } } function getItemName(node, name) { - if (node.kind === 261 /* SyntaxKind.ModuleDeclaration */) { + if (node.kind === 264 /* SyntaxKind.ModuleDeclaration */) { return cleanText(getModuleName(node)); } if (name) { @@ -143625,32 +144945,32 @@ var ts; } } switch (node.kind) { - case 305 /* SyntaxKind.SourceFile */: + case 308 /* SyntaxKind.SourceFile */: var sourceFile = node; return ts.isExternalModule(sourceFile) ? "\"".concat(ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))), "\"") : ""; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: return ts.isExportAssignment(node) && node.isExportEquals ? "export=" /* InternalSymbolName.ExportEquals */ : "default" /* InternalSymbolName.Default */; - case 214 /* SyntaxKind.ArrowFunction */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - if (ts.getSyntacticModifierFlags(node) & 512 /* ModifierFlags.Default */) { + case 216 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + if (ts.getSyntacticModifierFlags(node) & 1024 /* ModifierFlags.Default */) { return "default"; } // We may get a string with newlines or other whitespace in the case of an object dereference // (eg: "app\n.onactivated"), so we should remove the whitespace for readability in the // navigation bar. return getFunctionOrClassName(node); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return "constructor"; - case 175 /* SyntaxKind.ConstructSignature */: + case 177 /* SyntaxKind.ConstructSignature */: return "new()"; - case 174 /* SyntaxKind.CallSignature */: + case 176 /* SyntaxKind.CallSignature */: return "()"; - case 176 /* SyntaxKind.IndexSignature */: + case 178 /* SyntaxKind.IndexSignature */: return "[]"; default: return ""; @@ -143683,19 +145003,19 @@ var ts; } // Some nodes are otherwise important enough to always include in the primary navigation menu. switch (navigationBarNodeKind(item)) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 305 /* SyntaxKind.SourceFile */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 308 /* SyntaxKind.SourceFile */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: return true; - case 214 /* SyntaxKind.ArrowFunction */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: return isTopLevelFunctionDeclaration(item); default: return false; @@ -143705,10 +145025,10 @@ var ts; return false; } switch (navigationBarNodeKind(item.parent)) { - case 262 /* SyntaxKind.ModuleBlock */: - case 305 /* SyntaxKind.SourceFile */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: + case 265 /* SyntaxKind.ModuleBlock */: + case 308 /* SyntaxKind.SourceFile */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: return true; default: return false; @@ -143770,7 +145090,7 @@ var ts; function getFullyQualifiedModuleName(moduleDeclaration) { // Otherwise, we need to aggregate each identifier to build up the qualified name. var result = [ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)]; - while (moduleDeclaration.body && moduleDeclaration.body.kind === 261 /* SyntaxKind.ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 264 /* SyntaxKind.ModuleDeclaration */) { moduleDeclaration = moduleDeclaration.body; result.push(ts.getTextOfIdentifierOrLiteral(moduleDeclaration.name)); } @@ -143784,13 +145104,13 @@ var ts; return decl.body && ts.isModuleDeclaration(decl.body) ? getInteriorModule(decl.body) : decl; } function isComputedProperty(member) { - return !member.name || member.name.kind === 162 /* SyntaxKind.ComputedPropertyName */; + return !member.name || member.name.kind === 164 /* SyntaxKind.ComputedPropertyName */; } function getNodeSpan(node) { - return node.kind === 305 /* SyntaxKind.SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); + return node.kind === 308 /* SyntaxKind.SourceFile */ ? ts.createTextSpanFromRange(node) : ts.createTextSpanFromNode(node, curSourceFile); } function getModifiers(node) { - if (node.parent && node.parent.kind === 254 /* SyntaxKind.VariableDeclaration */) { + if (node.parent && node.parent.kind === 257 /* SyntaxKind.VariableDeclaration */) { node = node.parent; } return ts.getNodeModifiers(node); @@ -143813,7 +145133,7 @@ var ts; return nodeText(parent.name); } // Default exports are named "default" - else if (ts.getSyntacticModifierFlags(node) & 512 /* ModifierFlags.Default */) { + else if (ts.getSyntacticModifierFlags(node) & 1024 /* ModifierFlags.Default */) { return "default"; } else if (ts.isClassLike(node)) { @@ -143848,9 +145168,9 @@ var ts; } function isFunctionOrClassExpression(node) { switch (node.kind) { - case 214 /* SyntaxKind.ArrowFunction */: - case 213 /* SyntaxKind.FunctionExpression */: - case 226 /* SyntaxKind.ClassExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 228 /* SyntaxKind.ClassExpression */: return true; default: return false; @@ -143879,23 +145199,39 @@ var ts; * 2) Coalescing imports from the same module * 3) Sorting imports */ - function organizeImports(sourceFile, formatContext, host, program, preferences, skipDestructiveCodeActions) { + function organizeImports(sourceFile, formatContext, host, program, preferences, mode) { var changeTracker = ts.textChanges.ChangeTracker.fromContext({ host: host, formatContext: formatContext, preferences: preferences }); - var coalesceAndOrganizeImports = function (importGroup) { return ts.stableSort(coalesceImports(removeUnusedImports(importGroup, sourceFile, program, skipDestructiveCodeActions)), function (s1, s2) { return compareImportsOrRequireStatements(s1, s2); }); }; + var shouldSort = mode === "SortAndCombine" /* OrganizeImportsMode.SortAndCombine */ || mode === "All" /* OrganizeImportsMode.All */; + var shouldCombine = shouldSort; // These are currently inseparable, but I draw a distinction for clarity and in case we add modes in the future. + var shouldRemove = mode === "RemoveUnused" /* OrganizeImportsMode.RemoveUnused */ || mode === "All" /* OrganizeImportsMode.All */; + var maybeRemove = shouldRemove ? removeUnusedImports : ts.identity; + var maybeCoalesce = shouldCombine ? coalesceImports : ts.identity; + var processImportsOfSameModuleSpecifier = function (importGroup) { + var processedDeclarations = maybeCoalesce(maybeRemove(importGroup, sourceFile, program)); + return shouldSort + ? ts.stableSort(processedDeclarations, function (s1, s2) { return compareImportsOrRequireStatements(s1, s2); }) + : processedDeclarations; + }; // All of the old ImportDeclarations in the file, in syntactic order. var topLevelImportGroupDecls = groupImportsByNewlineContiguous(sourceFile, sourceFile.statements.filter(ts.isImportDeclaration)); - topLevelImportGroupDecls.forEach(function (importGroupDecl) { return organizeImportsWorker(importGroupDecl, coalesceAndOrganizeImports); }); - // All of the old ExportDeclarations in the file, in syntactic order. - var topLevelExportDecls = sourceFile.statements.filter(ts.isExportDeclaration); - organizeImportsWorker(topLevelExportDecls, coalesceExports); + topLevelImportGroupDecls.forEach(function (importGroupDecl) { return organizeImportsWorker(importGroupDecl, processImportsOfSameModuleSpecifier); }); + // Exports are always used + if (mode !== "RemoveUnused" /* OrganizeImportsMode.RemoveUnused */) { + // All of the old ExportDeclarations in the file, in syntactic order. + var topLevelExportDecls = sourceFile.statements.filter(ts.isExportDeclaration); + organizeImportsWorker(topLevelExportDecls, coalesceExports); + } for (var _i = 0, _a = sourceFile.statements.filter(ts.isAmbientModule); _i < _a.length; _i++) { var ambientModule = _a[_i]; if (!ambientModule.body) continue; var ambientModuleImportGroupDecls = groupImportsByNewlineContiguous(sourceFile, ambientModule.body.statements.filter(ts.isImportDeclaration)); - ambientModuleImportGroupDecls.forEach(function (importGroupDecl) { return organizeImportsWorker(importGroupDecl, coalesceAndOrganizeImports); }); - var ambientModuleExportDecls = ambientModule.body.statements.filter(ts.isExportDeclaration); - organizeImportsWorker(ambientModuleExportDecls, coalesceExports); + ambientModuleImportGroupDecls.forEach(function (importGroupDecl) { return organizeImportsWorker(importGroupDecl, processImportsOfSameModuleSpecifier); }); + // Exports are always used + if (mode !== "RemoveUnused" /* OrganizeImportsMode.RemoveUnused */) { + var ambientModuleExportDecls = ambientModule.body.statements.filter(ts.isExportDeclaration); + organizeImportsWorker(ambientModuleExportDecls, coalesceExports); + } } return changeTracker.getChanges(); function organizeImportsWorker(oldImportDecls, coalesce) { @@ -143908,8 +145244,12 @@ var ts; // Consider: we could do a more careful check that this trivia is actually a header, // but the consequences of being wrong are very minor. ts.suppressLeadingTrivia(oldImportDecls[0]); - var oldImportGroups = ts.group(oldImportDecls, function (importDecl) { return getExternalModuleName(importDecl.moduleSpecifier); }); - var sortedImportGroups = ts.stableSort(oldImportGroups, function (group1, group2) { return compareModuleSpecifiers(group1[0].moduleSpecifier, group2[0].moduleSpecifier); }); + var oldImportGroups = shouldCombine + ? ts.group(oldImportDecls, function (importDecl) { return getExternalModuleName(importDecl.moduleSpecifier); }) + : [oldImportDecls]; + var sortedImportGroups = shouldSort + ? ts.stableSort(oldImportGroups, function (group1, group2) { return compareModuleSpecifiers(group1[0].moduleSpecifier, group2[0].moduleSpecifier); }) + : oldImportGroups; var newImportDecls = ts.flatMap(sortedImportGroups, function (importGroup) { return getExternalModuleName(importGroup[0].moduleSpecifier) ? coalesce(importGroup) @@ -143973,11 +145313,7 @@ var ts; } return false; } - function removeUnusedImports(oldImports, sourceFile, program, skipDestructiveCodeActions) { - // As a precaution, consider unused import detection to be destructive (GH #43051) - if (skipDestructiveCodeActions) { - return oldImports; - } + function removeUnusedImports(oldImports, sourceFile, program) { var typeChecker = program.getTypeChecker(); var compilerOptions = program.getCompilerOptions(); var jsxNamespace = typeChecker.getJsxNamespace(sourceFile); @@ -144021,8 +145357,8 @@ var ts; else if (hasModuleDeclarationMatchingSpecifier(sourceFile, moduleSpecifier)) { // If we’re in a declaration file, it’s safe to remove the import clause from it if (sourceFile.isDeclarationFile) { - usedImports.push(ts.factory.createImportDeclaration(importDecl.modifiers, - /*importClause*/ undefined, moduleSpecifier, + usedImports.push(ts.factory.createImportDeclaration(importDecl.modifiers, + /*importClause*/ undefined, moduleSpecifier, /*assertClause*/ undefined)); } // If we’re not in a declaration file, we can’t remove the import clause even though @@ -144251,11 +145587,11 @@ var ts; function getModuleSpecifierExpression(declaration) { var _a; switch (declaration.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return (_a = ts.tryCast(declaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression; - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return declaration.moduleSpecifier; - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return declaration.declarationList.declarations[0].initializer.arguments[0]; } } @@ -144294,19 +145630,19 @@ var ts; function getImportKindOrder(s1) { var _a; switch (s1.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: if (!s1.importClause) return 0; if (s1.importClause.isTypeOnly) return 1; - if (((_a = s1.importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 268 /* SyntaxKind.NamespaceImport */) + if (((_a = s1.importClause.namedBindings) === null || _a === void 0 ? void 0 : _a.kind) === 271 /* SyntaxKind.NamespaceImport */) return 2; if (s1.importClause.name) return 3; return 4; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return 5; - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return 6; } } @@ -144495,7 +145831,7 @@ var ts; } function getOutliningSpanForNode(n, sourceFile) { switch (n.kind) { - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: if (ts.isFunctionLike(n.parent)) { return functionSpan(n.parent, n, sourceFile); } @@ -144503,16 +145839,16 @@ var ts; // If the latter, we want to collapse the block, but consider its hint span // to be the entire span of the parent. switch (n.parent.kind) { - case 240 /* SyntaxKind.DoStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 239 /* SyntaxKind.IfStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 248 /* SyntaxKind.WithStatement */: - case 292 /* SyntaxKind.CatchClause */: + case 243 /* SyntaxKind.DoStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 251 /* SyntaxKind.WithStatement */: + case 295 /* SyntaxKind.CatchClause */: return spanForNode(n.parent); - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: // Could be the try-block, or the finally-block. var tryStatement = n.parent; if (tryStatement.tryBlock === n) { @@ -144529,42 +145865,42 @@ var ts; // the span of the block, independent of any parent span. return createOutliningSpan(ts.createTextSpanFromNode(n, sourceFile), "code" /* OutliningSpanKind.Code */); } - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: return spanForNode(n.parent); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 263 /* SyntaxKind.CaseBlock */: - case 182 /* SyntaxKind.TypeLiteral */: - case 201 /* SyntaxKind.ObjectBindingPattern */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 266 /* SyntaxKind.CaseBlock */: + case 184 /* SyntaxKind.TypeLiteral */: + case 203 /* SyntaxKind.ObjectBindingPattern */: return spanForNode(n); - case 184 /* SyntaxKind.TupleType */: + case 186 /* SyntaxKind.TupleType */: return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isTupleTypeNode(n.parent), 22 /* SyntaxKind.OpenBracketToken */); - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: return spanForNodeArray(n.statements); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return spanForObjectOrArrayLiteral(n); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return spanForObjectOrArrayLiteral(n, 22 /* SyntaxKind.OpenBracketToken */); - case 278 /* SyntaxKind.JsxElement */: + case 281 /* SyntaxKind.JsxElement */: return spanForJSXElement(n); - case 282 /* SyntaxKind.JsxFragment */: + case 285 /* SyntaxKind.JsxFragment */: return spanForJSXFragment(n); - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 280 /* SyntaxKind.JsxOpeningElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: return spanForJSXAttributes(n.attributes); - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: return spanForTemplateLiteral(n); - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !ts.isBindingElement(n.parent), 22 /* SyntaxKind.OpenBracketToken */); - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return spanForArrowFunction(n); - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: return spanForCallExpression(n); - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return spanForParenthesizedExpression(n); } function spanForCallExpression(node) { @@ -144637,7 +145973,7 @@ var ts; function functionSpan(node, body, sourceFile) { var openToken = tryGetFunctionOpenToken(node, body, sourceFile); var closeToken = ts.findChildOfKind(body, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); - return openToken && closeToken && spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ node.kind !== 214 /* SyntaxKind.ArrowFunction */); + return openToken && closeToken && spanBetweenTokens(openToken, closeToken, node, sourceFile, /*autoCollapse*/ node.kind !== 216 /* SyntaxKind.ArrowFunction */); } function spanBetweenTokens(openToken, closeToken, hintSpanNode, sourceFile, autoCollapse, useFullStart) { if (autoCollapse === void 0) { autoCollapse = false; } @@ -144833,7 +146169,7 @@ var ts; return bestMatch; } function betterMatch(a, b) { - return ts.min(a, b, compareMatches); + return ts.min([a, b], compareMatches); } function compareMatches(a, b) { return a === undefined ? 1 /* Comparison.GreaterThan */ : b === undefined ? -1 /* Comparison.LessThan */ @@ -145181,10 +146517,10 @@ var ts; */ function tryConsumeDeclare() { var token = ts.scanner.getToken(); - if (token === 135 /* SyntaxKind.DeclareKeyword */) { + if (token === 136 /* SyntaxKind.DeclareKeyword */) { // declare module "mod" token = nextToken(); - if (token === 141 /* SyntaxKind.ModuleKeyword */) { + if (token === 142 /* SyntaxKind.ModuleKeyword */) { token = nextToken(); if (token === 10 /* SyntaxKind.StringLiteral */) { recordAmbientExternalModule(); @@ -145218,10 +146554,10 @@ var ts; return true; } else { - if (token === 152 /* SyntaxKind.TypeKeyword */) { + if (token === 154 /* SyntaxKind.TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); - return token !== 156 /* SyntaxKind.FromKeyword */ && (token === 41 /* SyntaxKind.AsteriskToken */ || + return token !== 158 /* SyntaxKind.FromKeyword */ && (token === 41 /* SyntaxKind.AsteriskToken */ || token === 18 /* SyntaxKind.OpenBraceToken */ || token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)); @@ -145232,7 +146568,7 @@ var ts; } if (token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 156 /* SyntaxKind.FromKeyword */) { + if (token === 158 /* SyntaxKind.FromKeyword */) { token = nextToken(); if (token === 10 /* SyntaxKind.StringLiteral */) { // import d from "mod"; @@ -145263,7 +146599,7 @@ var ts; } if (token === 19 /* SyntaxKind.CloseBraceToken */) { token = nextToken(); - if (token === 156 /* SyntaxKind.FromKeyword */) { + if (token === 158 /* SyntaxKind.FromKeyword */) { token = nextToken(); if (token === 10 /* SyntaxKind.StringLiteral */) { // import {a as A} from "mod"; @@ -145275,11 +146611,11 @@ var ts; } else if (token === 41 /* SyntaxKind.AsteriskToken */) { token = nextToken(); - if (token === 127 /* SyntaxKind.AsKeyword */) { + if (token === 128 /* SyntaxKind.AsKeyword */) { token = nextToken(); if (token === 79 /* SyntaxKind.Identifier */ || ts.isKeyword(token)) { token = nextToken(); - if (token === 156 /* SyntaxKind.FromKeyword */) { + if (token === 158 /* SyntaxKind.FromKeyword */) { token = nextToken(); if (token === 10 /* SyntaxKind.StringLiteral */) { // import * as NS from "mod" @@ -145300,7 +146636,7 @@ var ts; if (token === 93 /* SyntaxKind.ExportKeyword */) { markAsExternalModuleIfTopLevel(); token = nextToken(); - if (token === 152 /* SyntaxKind.TypeKeyword */) { + if (token === 154 /* SyntaxKind.TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); return token === 41 /* SyntaxKind.AsteriskToken */ || @@ -145319,7 +146655,7 @@ var ts; } if (token === 19 /* SyntaxKind.CloseBraceToken */) { token = nextToken(); - if (token === 156 /* SyntaxKind.FromKeyword */) { + if (token === 158 /* SyntaxKind.FromKeyword */) { token = nextToken(); if (token === 10 /* SyntaxKind.StringLiteral */) { // export {a as A} from "mod"; @@ -145331,7 +146667,7 @@ var ts; } else if (token === 41 /* SyntaxKind.AsteriskToken */) { token = nextToken(); - if (token === 156 /* SyntaxKind.FromKeyword */) { + if (token === 158 /* SyntaxKind.FromKeyword */) { token = nextToken(); if (token === 10 /* SyntaxKind.StringLiteral */) { // export * from "mod" @@ -145341,7 +146677,7 @@ var ts; } else if (token === 100 /* SyntaxKind.ImportKeyword */) { token = nextToken(); - if (token === 152 /* SyntaxKind.TypeKeyword */) { + if (token === 154 /* SyntaxKind.TypeKeyword */) { var skipTypeKeyword = ts.scanner.lookAhead(function () { var token = ts.scanner.scan(); return token === 79 /* SyntaxKind.Identifier */ || @@ -145367,7 +146703,7 @@ var ts; function tryConsumeRequireCall(skipCurrentToken, allowTemplateLiterals) { if (allowTemplateLiterals === void 0) { allowTemplateLiterals = false; } var token = skipCurrentToken ? nextToken() : ts.scanner.getToken(); - if (token === 146 /* SyntaxKind.RequireKeyword */) { + if (token === 147 /* SyntaxKind.RequireKeyword */) { token = nextToken(); if (token === 20 /* SyntaxKind.OpenParenToken */) { token = nextToken(); @@ -145442,8 +146778,8 @@ var ts; } if (ts.scanner.getToken() === 15 /* SyntaxKind.TemplateHead */) { var stack = [ts.scanner.getToken()]; - var token = ts.scanner.scan(); loop: while (ts.length(stack)) { + var token = ts.scanner.scan(); switch (token) { case 1 /* SyntaxKind.EndOfFileToken */: break loop; @@ -145471,7 +146807,6 @@ var ts; } break; } - token = ts.scanner.scan(); } nextToken(); } @@ -145579,7 +146914,7 @@ var ts; return getRenameInfoError(wouldRenameNodeModules); } var kind = ts.SymbolDisplay.getSymbolKind(typeChecker, symbol, node); - var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) + var specifierName = (ts.isImportOrExportSpecifierName(node) || ts.isStringOrNumericLiteralLike(node) && node.parent.kind === 164 /* SyntaxKind.ComputedPropertyName */) ? ts.stripQuotes(ts.getTextOfIdentifierOrLiteral(node)) : undefined; var displayName = specifierName || typeChecker.symbolToString(symbol); @@ -145724,6 +147059,10 @@ var ts; pushSelectionCommentRange(comment.pos, comment.end); } if (positionShouldSnapToNode(sourceFile, pos, node)) { + if (ts.isFunctionBody(node) + && ts.isFunctionLikeDeclaration(parentNode) && !ts.positionsAreOnSameLine(node.getStart(sourceFile), node.getEnd(), sourceFile)) { + pushSelectionRange(node.getStart(sourceFile), node.getEnd()); + } // 1. Blocks are effectively redundant with SyntaxLists. // 2. TemplateSpans, along with the SyntaxLists containing them, are a somewhat unintuitive grouping // of things that should be considered independently. @@ -145861,14 +147200,14 @@ var ts; ts.Debug.assertEqual(closeBraceToken.kind, 19 /* SyntaxKind.CloseBraceToken */); // Group `-/+readonly` and `-/+?` var groupedWithPlusMinusTokens = groupChildren(children, function (child) { - return child === node.readonlyToken || child.kind === 145 /* SyntaxKind.ReadonlyKeyword */ || + return child === node.readonlyToken || child.kind === 146 /* SyntaxKind.ReadonlyKeyword */ || child === node.questionToken || child.kind === 57 /* SyntaxKind.QuestionToken */; }); // Group type parameter with surrounding brackets var groupedWithBrackets = groupChildren(groupedWithPlusMinusTokens, function (_a) { var kind = _a.kind; return kind === 22 /* SyntaxKind.OpenBracketToken */ || - kind === 163 /* SyntaxKind.TypeParameter */ || + kind === 165 /* SyntaxKind.TypeParameter */ || kind === 23 /* SyntaxKind.CloseBracketToken */; }); return [ @@ -145886,7 +147225,7 @@ var ts; var children = groupChildren(node.getChildren(), function (child) { return child === node.name || ts.contains(node.modifiers, child); }); - var firstJSDocChild = ((_a = children[0]) === null || _a === void 0 ? void 0 : _a.kind) === 320 /* SyntaxKind.JSDoc */ ? children[0] : undefined; + var firstJSDocChild = ((_a = children[0]) === null || _a === void 0 ? void 0 : _a.kind) === 323 /* SyntaxKind.JSDoc */ ? children[0] : undefined; var withJSDocSeparated = firstJSDocChild ? children.slice(1) : children; var splittedChildren = splitChildren(withJSDocSeparated, function (_a) { var kind = _a.kind; @@ -145985,22 +147324,22 @@ var ts; return kind === 18 /* SyntaxKind.OpenBraceToken */ || kind === 22 /* SyntaxKind.OpenBracketToken */ || kind === 20 /* SyntaxKind.OpenParenToken */ - || kind === 280 /* SyntaxKind.JsxOpeningElement */; + || kind === 283 /* SyntaxKind.JsxOpeningElement */; } function isListCloser(token) { var kind = token && token.kind; return kind === 19 /* SyntaxKind.CloseBraceToken */ || kind === 23 /* SyntaxKind.CloseBracketToken */ || kind === 21 /* SyntaxKind.CloseParenToken */ - || kind === 281 /* SyntaxKind.JsxClosingElement */; + || kind === 284 /* SyntaxKind.JsxClosingElement */; } function getEndPos(sourceFile, node) { switch (node.kind) { - case 340 /* SyntaxKind.JSDocParameterTag */: - case 338 /* SyntaxKind.JSDocCallbackTag */: - case 347 /* SyntaxKind.JSDocPropertyTag */: - case 345 /* SyntaxKind.JSDocTypedefTag */: - case 342 /* SyntaxKind.JSDocThisTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: + case 341 /* SyntaxKind.JSDocCallbackTag */: + case 350 /* SyntaxKind.JSDocPropertyTag */: + case 348 /* SyntaxKind.JSDocTypedefTag */: + case 345 /* SyntaxKind.JSDocThisTag */: return sourceFile.getLineEndOfPosition(node.getStart()); default: return node.getEnd(); @@ -146115,7 +147454,7 @@ var ts; var type = declaration.symbol && typeChecker.getTypeOfSymbolAtLocation(declaration.symbol, declaration); var callSignatures = type && type.getCallSignatures(); if (callSignatures && callSignatures.length) { - return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures, callSignatures[0], argumentInfo, sourceFile, typeChecker, + return typeChecker.runWithCancellationToken(cancellationToken, function (typeChecker) { return createSignatureHelpItems(callSignatures, callSignatures[0], argumentInfo, sourceFile, typeChecker, /*useFullPrefix*/ true); }); } }); @@ -146210,10 +147549,10 @@ var ts; } return undefined; } - else if (ts.isTemplateHead(node) && parent.parent.kind === 210 /* SyntaxKind.TaggedTemplateExpression */) { + else if (ts.isTemplateHead(node) && parent.parent.kind === 212 /* SyntaxKind.TaggedTemplateExpression */) { var templateExpression = parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 223 /* SyntaxKind.TemplateExpression */); + ts.Debug.assert(templateExpression.kind === 225 /* SyntaxKind.TemplateExpression */); var argumentIndex = ts.isInsideTemplateLiteral(node, position, sourceFile) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex, sourceFile); } @@ -146285,17 +147624,17 @@ var ts; return undefined; var parent = startingToken.parent; switch (parent.kind) { - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: var info = getArgumentOrParameterListInfo(startingToken, position, sourceFile); if (!info) return undefined; var argumentIndex = info.argumentIndex, argumentCount = info.argumentCount, argumentsSpan = info.argumentsSpan; var contextualType = ts.isMethodDeclaration(parent) ? checker.getContextualTypeForObjectLiteralElement(parent) : checker.getContextualType(parent); return contextualType && { contextualType: contextualType, argumentIndex: argumentIndex, argumentCount: argumentCount, argumentsSpan: argumentsSpan }; - case 221 /* SyntaxKind.BinaryExpression */: { + case 223 /* SyntaxKind.BinaryExpression */: { var highestBinary = getHighestBinary(parent); var contextualType_1 = checker.getContextualType(highestBinary); var argumentIndex_1 = startingToken.kind === 20 /* SyntaxKind.OpenParenToken */ ? 0 : countBinaryExpressionParameters(parent) - 1; @@ -146366,11 +147705,11 @@ var ts; // not enough to put us in the substitution expression; we should consider ourselves part of // the *next* span's expression by offsetting the index (argIndex = (spanIndex + 1) + 1). // - /* eslint-disable no-double-space */ + /* eslint-disable local/no-double-space */ // Example: f `# abcd $#{# 1 + 1# }# efghi ${ #"#hello"# } # ` // ^ ^ ^ ^ ^ ^ ^ ^ ^ // Case: 1 1 3 2 1 3 2 2 1 - /* eslint-enable no-double-space */ + /* eslint-enable local/no-double-space */ ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node."); if (ts.isTemplateLiteralToken(node)) { if (ts.isInsideTemplateLiteral(node, position, sourceFile)) { @@ -146419,7 +147758,7 @@ var ts; // | | // This is because a Missing node has no width. However, what we actually want is to include trivia // leading up to the next token in case the user is about to type in a TemplateMiddle or TemplateTail. - if (template.kind === 223 /* SyntaxKind.TemplateExpression */) { + if (template.kind === 225 /* SyntaxKind.TemplateExpression */) { var lastSpan = ts.last(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, /*stopAfterLineBreak*/ false); @@ -146624,14 +147963,14 @@ var ts; return; } switch (node.kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 214 /* SyntaxKind.ArrowFunction */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 216 /* SyntaxKind.ArrowFunction */: cancellationToken.throwIfCancellationRequested(); } if (!ts.textSpanIntersectsWith(span, node.pos, node.getFullWidth())) { @@ -146775,7 +148114,7 @@ var ts; } function isHintableLiteral(node) { switch (node.kind) { - case 219 /* SyntaxKind.PrefixUnaryExpression */: { + case 221 /* SyntaxKind.PrefixUnaryExpression */: { var operand = node.operand; return ts.isLiteralExpression(operand) || ts.isIdentifier(operand) && ts.isInfinityOrNaNString(operand.escapedText); } @@ -146783,7 +148122,7 @@ var ts; case 95 /* SyntaxKind.FalseKeyword */: case 104 /* SyntaxKind.NullKeyword */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: - case 223 /* SyntaxKind.TemplateExpression */: + case 225 /* SyntaxKind.TemplateExpression */: return true; case 79 /* SyntaxKind.Identifier */: { var name = node.escapedText; @@ -147104,11 +148443,11 @@ var ts; function containsTopLevelCommonjs(sourceFile) { return sourceFile.statements.some(function (statement) { switch (statement.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return statement.declarationList.declarations.some(function (decl) { return !!decl.initializer && ts.isRequireCall(propertyAccessLeftHandSide(decl.initializer), /*checkArgumentIsStringLiteralLike*/ true); }); - case 238 /* SyntaxKind.ExpressionStatement */: { + case 241 /* SyntaxKind.ExpressionStatement */: { var expression = statement.expression; if (!ts.isBinaryExpression(expression)) return ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true); @@ -147125,12 +148464,12 @@ var ts; } function importNameForConvertToDefaultImport(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: var importClause = node.importClause, moduleSpecifier = node.moduleSpecifier; - return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) + return importClause && !importClause.name && importClause.namedBindings && importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */ && ts.isStringLiteral(moduleSpecifier) ? importClause.namedBindings.name : undefined; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return node.name; default: return undefined; @@ -147206,20 +148545,20 @@ var ts; // should be kept up to date with getTransformationBody in convertToAsyncFunction.ts function isFixablePromiseArgument(arg, checker) { switch (arg.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: var functionFlags = ts.getFunctionFlags(arg); if (functionFlags & 1 /* FunctionFlags.Generator */) { return false; } // falls through - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: visitedNestedConvertibleFunctions.set(getKeyFromNode(arg), true); // falls through case 104 /* SyntaxKind.NullKeyword */: return true; case 79 /* SyntaxKind.Identifier */: - case 206 /* SyntaxKind.PropertyAccessExpression */: { + case 208 /* SyntaxKind.PropertyAccessExpression */: { var symbol = checker.getSymbolAtLocation(arg); if (!symbol) { return false; @@ -147236,24 +148575,24 @@ var ts; } function canBeConvertedToClass(node, checker) { var _a, _b, _c, _d; - if (node.kind === 213 /* SyntaxKind.FunctionExpression */) { + if (node.kind === 215 /* SyntaxKind.FunctionExpression */) { if (ts.isVariableDeclaration(node.parent) && ((_a = node.symbol.members) === null || _a === void 0 ? void 0 : _a.size)) { return true; } var symbol = checker.getSymbolOfExpando(node, /*allowDeclaration*/ false); return !!(symbol && (((_b = symbol.exports) === null || _b === void 0 ? void 0 : _b.size) || ((_c = symbol.members) === null || _c === void 0 ? void 0 : _c.size))); } - if (node.kind === 256 /* SyntaxKind.FunctionDeclaration */) { + if (node.kind === 259 /* SyntaxKind.FunctionDeclaration */) { return !!((_d = node.symbol.members) === null || _d === void 0 ? void 0 : _d.size); } return false; } function canBeConvertedToAsync(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return true; default: return false; @@ -147275,7 +148614,7 @@ var ts; } var flags = ts.getCombinedLocalAndExportSymbolFlags(symbol); if (flags & 32 /* SymbolFlags.Class */) { - return ts.getDeclarationOfKind(symbol, 226 /* SyntaxKind.ClassExpression */) ? + return ts.getDeclarationOfKind(symbol, 228 /* SyntaxKind.ClassExpression */) ? "local class" /* ScriptElementKind.localClassElement */ : "class" /* ScriptElementKind.classElement */; } if (flags & 384 /* SymbolFlags.Enum */) @@ -147338,6 +148677,8 @@ var ts; return "method" /* ScriptElementKind.memberFunctionElement */; if (flags & 16384 /* SymbolFlags.Constructor */) return "constructor" /* ScriptElementKind.constructorImplementationElement */; + if (flags & 131072 /* SymbolFlags.Signature */) + return "index" /* ScriptElementKind.indexSignatureElement */; if (flags & 4 /* SymbolFlags.Property */) { if (flags & 33554432 /* SymbolFlags.Transient */ && symbol.checkFlags & 6 /* CheckFlags.Synthetic */) { // If union property is result of union of non method (property/accessors/variables), it is labeled as property @@ -147421,12 +148762,15 @@ var ts; var declaration = ts.find(symbol.declarations, function (declaration) { return declaration.name === location; }); if (declaration) { switch (declaration.kind) { - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: symbolKind = "getter" /* ScriptElementKind.memberGetAccessorElement */; break; - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: symbolKind = "setter" /* ScriptElementKind.memberSetAccessorElement */; break; + case 169 /* SyntaxKind.PropertyDeclaration */: + symbolKind = "accessor" /* ScriptElementKind.memberAccessorVariableElement */; + break; default: ts.Debug.assertNever(declaration); } @@ -147437,7 +148781,7 @@ var ts; } var signature = void 0; type = isThisExpression ? typeChecker.getTypeAtLocation(location) : typeChecker.getTypeOfSymbolAtLocation(symbol, location); - if (location.parent && location.parent.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { var right = location.parent.name; // Either the location is on the right of a property access, or on the left and the right is missing if (right === location || (right && right.getFullWidth() === 0)) { @@ -147457,7 +148801,7 @@ var ts; } if (callExpressionLike) { signature = typeChecker.getResolvedSignature(callExpressionLike); // TODO: GH#18217 - var useConstructSignatures = callExpressionLike.kind === 209 /* SyntaxKind.NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 106 /* SyntaxKind.SuperKeyword */); + var useConstructSignatures = callExpressionLike.kind === 211 /* SyntaxKind.NewExpression */ || (ts.isCallExpression(callExpressionLike) && callExpressionLike.expression.kind === 106 /* SyntaxKind.SuperKeyword */); var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (signature && !ts.contains(allSignatures, signature.target) && !ts.contains(allSignatures, signature)) { // Get the first signature if there is one -- allSignatures may contain @@ -147521,29 +148865,29 @@ var ts; } } else if ((ts.isNameOfFunctionDeclaration(location) && !(symbolFlags & 98304 /* SymbolFlags.Accessor */)) || // name of function declaration - (location.kind === 134 /* SyntaxKind.ConstructorKeyword */ && location.parent.kind === 171 /* SyntaxKind.Constructor */)) { // At constructor keyword of constructor declaration + (location.kind === 135 /* SyntaxKind.ConstructorKeyword */ && location.parent.kind === 173 /* SyntaxKind.Constructor */)) { // At constructor keyword of constructor declaration // get the signature from the declaration and write it var functionDeclaration_1 = location.parent; // Use function declaration to write the signatures only if the symbol corresponding to this declaration var locationIsSymbolDeclaration = symbol.declarations && ts.find(symbol.declarations, function (declaration) { - return declaration === (location.kind === 134 /* SyntaxKind.ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); + return declaration === (location.kind === 135 /* SyntaxKind.ConstructorKeyword */ ? functionDeclaration_1.parent : functionDeclaration_1); }); if (locationIsSymbolDeclaration) { - var allSignatures = functionDeclaration_1.kind === 171 /* SyntaxKind.Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); + var allSignatures = functionDeclaration_1.kind === 173 /* SyntaxKind.Constructor */ ? type.getNonNullableType().getConstructSignatures() : type.getNonNullableType().getCallSignatures(); if (!typeChecker.isImplementationOfOverload(functionDeclaration_1)) { signature = typeChecker.getSignatureFromDeclaration(functionDeclaration_1); // TODO: GH#18217 } else { signature = allSignatures[0]; } - if (functionDeclaration_1.kind === 171 /* SyntaxKind.Constructor */) { + if (functionDeclaration_1.kind === 173 /* SyntaxKind.Constructor */) { // show (constructor) Type(...) signature symbolKind = "constructor" /* ScriptElementKind.constructorImplementationElement */; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { // (function/method) symbol(..signature) - addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 174 /* SyntaxKind.CallSignature */ && + addPrefixForAnyFunctionOrVar(functionDeclaration_1.kind === 176 /* SyntaxKind.CallSignature */ && !(type.symbol.flags & 2048 /* SymbolFlags.TypeLiteral */ || type.symbol.flags & 4096 /* SymbolFlags.ObjectLiteral */) ? type.symbol : symbol, symbolKind); } if (signature) { @@ -147556,7 +148900,7 @@ var ts; } if (symbolFlags & 32 /* SymbolFlags.Class */ && !hasAddedSymbolInfo && !isThisExpression) { addAliasPrefixIfNecessary(); - if (ts.getDeclarationOfKind(symbol, 226 /* SyntaxKind.ClassExpression */)) { + if (ts.getDeclarationOfKind(symbol, 228 /* SyntaxKind.ClassExpression */)) { // Special case for class expressions because we would like to indicate that // the class name is local to the class body (similar to function expression) // (local class) class @@ -147579,7 +148923,7 @@ var ts; } if ((symbolFlags & 524288 /* SymbolFlags.TypeAlias */) && (semanticMeaning & 2 /* SemanticMeaning.Type */)) { prefixNextMeaning(); - displayParts.push(ts.keywordPart(152 /* SyntaxKind.TypeKeyword */)); + displayParts.push(ts.keywordPart(154 /* SyntaxKind.TypeKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); @@ -147600,9 +148944,9 @@ var ts; } if (symbolFlags & 1536 /* SymbolFlags.Module */ && !isThisExpression) { prefixNextMeaning(); - var declaration = ts.getDeclarationOfKind(symbol, 261 /* SyntaxKind.ModuleDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 264 /* SyntaxKind.ModuleDeclaration */); var isNamespace = declaration && declaration.name && declaration.name.kind === 79 /* SyntaxKind.Identifier */; - displayParts.push(ts.keywordPart(isNamespace ? 142 /* SyntaxKind.NamespaceKeyword */ : 141 /* SyntaxKind.ModuleKeyword */)); + displayParts.push(ts.keywordPart(isNamespace ? 143 /* SyntaxKind.NamespaceKeyword */ : 142 /* SyntaxKind.ModuleKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); } @@ -147621,7 +148965,7 @@ var ts; } else { // Method/function type parameter - var decl = ts.getDeclarationOfKind(symbol, 163 /* SyntaxKind.TypeParameter */); + var decl = ts.getDeclarationOfKind(symbol, 165 /* SyntaxKind.TypeParameter */); if (decl === undefined) return ts.Debug.fail(); var declaration = decl.parent; @@ -147629,21 +148973,21 @@ var ts; if (ts.isFunctionLikeKind(declaration.kind)) { addInPrefix(); var signature = typeChecker.getSignatureFromDeclaration(declaration); // TODO: GH#18217 - if (declaration.kind === 175 /* SyntaxKind.ConstructSignature */) { + if (declaration.kind === 177 /* SyntaxKind.ConstructSignature */) { displayParts.push(ts.keywordPart(103 /* SyntaxKind.NewKeyword */)); displayParts.push(ts.spacePart()); } - else if (declaration.kind !== 174 /* SyntaxKind.CallSignature */ && declaration.name) { + else if (declaration.kind !== 176 /* SyntaxKind.CallSignature */ && declaration.name) { addFullSymbolName(declaration.symbol); } ts.addRange(displayParts, ts.signatureToDisplayParts(typeChecker, signature, sourceFile, 32 /* TypeFormatFlags.WriteTypeArgumentsOfSignature */)); } - else if (declaration.kind === 259 /* SyntaxKind.TypeAliasDeclaration */) { + else if (declaration.kind === 262 /* SyntaxKind.TypeAliasDeclaration */) { // Type alias type parameter // For example // type list = T[]; // Both T will go through same code path addInPrefix(); - displayParts.push(ts.keywordPart(152 /* SyntaxKind.TypeKeyword */)); + displayParts.push(ts.keywordPart(154 /* SyntaxKind.TypeKeyword */)); displayParts.push(ts.spacePart()); addFullSymbolName(declaration.symbol); writeTypeParametersOfSymbol(declaration.symbol, sourceFile); @@ -147655,7 +148999,7 @@ var ts; symbolKind = "enum member" /* ScriptElementKind.enumMemberElement */; addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a[0]; - if ((declaration === null || declaration === void 0 ? void 0 : declaration.kind) === 299 /* SyntaxKind.EnumMember */) { + if ((declaration === null || declaration === void 0 ? void 0 : declaration.kind) === 302 /* SyntaxKind.EnumMember */) { var constantValue = typeChecker.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); @@ -147691,17 +149035,17 @@ var ts; } if (symbol.declarations) { switch (symbol.declarations[0].kind) { - case 264 /* SyntaxKind.NamespaceExportDeclaration */: + case 267 /* SyntaxKind.NamespaceExportDeclaration */: displayParts.push(ts.keywordPart(93 /* SyntaxKind.ExportKeyword */)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(142 /* SyntaxKind.NamespaceKeyword */)); + displayParts.push(ts.keywordPart(143 /* SyntaxKind.NamespaceKeyword */)); break; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: displayParts.push(ts.keywordPart(93 /* SyntaxKind.ExportKeyword */)); displayParts.push(ts.spacePart()); displayParts.push(ts.keywordPart(symbol.declarations[0].isExportEquals ? 63 /* SyntaxKind.EqualsToken */ : 88 /* SyntaxKind.DefaultKeyword */)); break; - case 275 /* SyntaxKind.ExportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: displayParts.push(ts.keywordPart(93 /* SyntaxKind.ExportKeyword */)); break; default: @@ -147711,13 +149055,13 @@ var ts; displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + if (declaration.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { var importEqualsDeclaration = declaration; if (ts.isExternalModuleImportEqualsDeclaration(importEqualsDeclaration)) { displayParts.push(ts.spacePart()); displayParts.push(ts.operatorPart(63 /* SyntaxKind.EqualsToken */)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(146 /* SyntaxKind.RequireKeyword */)); + displayParts.push(ts.keywordPart(147 /* SyntaxKind.RequireKeyword */)); displayParts.push(ts.punctuationPart(20 /* SyntaxKind.OpenParenToken */)); displayParts.push(ts.displayPart(ts.getTextOfNode(ts.getExternalModuleImportEqualsDeclarationExpression(importEqualsDeclaration)), ts.SymbolDisplayPartKind.stringLiteral)); displayParts.push(ts.punctuationPart(21 /* SyntaxKind.CloseParenToken */)); @@ -147747,16 +149091,18 @@ var ts; } // For properties, variables and local vars: show the type if (symbolKind === "property" /* ScriptElementKind.memberVariableElement */ || + symbolKind === "accessor" /* ScriptElementKind.memberAccessorVariableElement */ || symbolKind === "getter" /* ScriptElementKind.memberGetAccessorElement */ || symbolKind === "setter" /* ScriptElementKind.memberSetAccessorElement */ || symbolKind === "JSX attribute" /* ScriptElementKind.jsxAttribute */ || symbolFlags & 3 /* SymbolFlags.Variable */ || symbolKind === "local var" /* ScriptElementKind.localVariableElement */ || + symbolKind === "index" /* ScriptElementKind.indexSignatureElement */ || isThisExpression) { displayParts.push(ts.punctuationPart(58 /* SyntaxKind.ColonToken */)); displayParts.push(ts.spacePart()); // If the type is type parameter, format it specially - if (type.symbol && type.symbol.flags & 262144 /* SymbolFlags.TypeParameter */) { + if (type.symbol && type.symbol.flags & 262144 /* SymbolFlags.TypeParameter */ && symbolKind !== "index" /* ScriptElementKind.indexSignatureElement */) { var typeParameterParts = ts.mapToDisplayParts(function (writer) { var param = typeChecker.typeParameterToDeclaration(type, enclosingDeclaration, symbolDisplayNodeBuilderFlags); getPrinter().writeNode(4 /* EmitHint.Unspecified */, param, ts.getSourceFileOfNode(ts.getParseTreeNode(enclosingDeclaration)), writer); @@ -147800,10 +149146,10 @@ var ts; // For some special property access expressions like `exports.foo = foo` or `module.exports.foo = foo` // there documentation comments might be attached to the right hand side symbol of their declarations. // The pattern of such special property access is that the parent symbol is the symbol of the file. - if (symbol.parent && symbol.declarations && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 305 /* SyntaxKind.SourceFile */; })) { + if (symbol.parent && symbol.declarations && ts.forEach(symbol.parent.declarations, function (declaration) { return declaration.kind === 308 /* SyntaxKind.SourceFile */; })) { for (var _i = 0, _b = symbol.declarations; _i < _b.length; _i++) { var declaration = _b[_i]; - if (!declaration.parent || declaration.parent.kind !== 221 /* SyntaxKind.BinaryExpression */) { + if (!declaration.parent || declaration.parent.kind !== 223 /* SyntaxKind.BinaryExpression */) { continue; } var rhsSymbol = typeChecker.getSymbolAtLocation(declaration.parent.right); @@ -147864,10 +149210,34 @@ var ts; displayParts.push(ts.spacePart()); } function addFullSymbolName(symbolToDisplay, enclosingDeclaration) { + var indexInfos; if (alias && symbolToDisplay === symbol) { symbolToDisplay = alias; } - var fullSymbolDisplayParts = ts.symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, 1 /* SymbolFormatFlags.WriteTypeParametersOrArguments */ | 2 /* SymbolFormatFlags.UseOnlyExternalAliasing */ | 4 /* SymbolFormatFlags.AllowAnyNodeKind */); + if (symbolKind === "index" /* ScriptElementKind.indexSignatureElement */) { + indexInfos = typeChecker.getIndexInfosOfIndexSymbol(symbolToDisplay); + } + var fullSymbolDisplayParts = []; + if (symbolToDisplay.flags & 131072 /* SymbolFlags.Signature */ && indexInfos) { + if (symbolToDisplay.parent) { + fullSymbolDisplayParts = ts.symbolToDisplayParts(typeChecker, symbolToDisplay.parent); + } + fullSymbolDisplayParts.push(ts.punctuationPart(22 /* SyntaxKind.OpenBracketToken */)); + //Needed to handle more than one type of index + indexInfos.forEach(function (info, i) { + //Needed to handle template literals + fullSymbolDisplayParts.push.apply(fullSymbolDisplayParts, ts.typeToDisplayParts(typeChecker, info.keyType)); + if (i !== indexInfos.length - 1) { + fullSymbolDisplayParts.push(ts.spacePart()); + fullSymbolDisplayParts.push(ts.punctuationPart(51 /* SyntaxKind.BarToken */)); + fullSymbolDisplayParts.push(ts.spacePart()); + } + }); + fullSymbolDisplayParts.push(ts.punctuationPart(23 /* SyntaxKind.CloseBracketToken */)); + } + else { + fullSymbolDisplayParts = ts.symbolToDisplayParts(typeChecker, symbolToDisplay, enclosingDeclaration || sourceFile, /*meaning*/ undefined, 1 /* SymbolFormatFlags.WriteTypeParametersOrArguments */ | 2 /* SymbolFormatFlags.UseOnlyExternalAliasing */ | 4 /* SymbolFormatFlags.AllowAnyNodeKind */); + } ts.addRange(displayParts, fullSymbolDisplayParts); if (symbol.flags & 16777216 /* SymbolFlags.Optional */) { displayParts.push(ts.punctuationPart(57 /* SyntaxKind.QuestionToken */)); @@ -147915,7 +149285,7 @@ var ts; tags = signature.getJsDocTags(); if (allSignatures.length > 1 && documentation.length === 0 && tags.length === 0) { documentation = allSignatures[0].getDocumentationComment(typeChecker); - tags = allSignatures[0].getJsDocTags(); + tags = allSignatures[0].getJsDocTags().filter(function (tag) { return tag.name !== "deprecated"; }); // should only include @deprecated JSDoc tag on the first overload (#49368) } } function writeTypeParametersOfSymbol(symbol, enclosingDeclaration) { @@ -147933,16 +149303,16 @@ var ts; } return ts.forEach(symbol.declarations, function (declaration) { // Function expressions are local - if (declaration.kind === 213 /* SyntaxKind.FunctionExpression */) { + if (declaration.kind === 215 /* SyntaxKind.FunctionExpression */) { return true; } - if (declaration.kind !== 254 /* SyntaxKind.VariableDeclaration */ && declaration.kind !== 256 /* SyntaxKind.FunctionDeclaration */) { + if (declaration.kind !== 257 /* SyntaxKind.VariableDeclaration */ && declaration.kind !== 259 /* SyntaxKind.FunctionDeclaration */) { return false; } // If the parent is not sourceFile or module block it is local variable for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { // Reached source file or module block - if (parent.kind === 305 /* SyntaxKind.SourceFile */ || parent.kind === 262 /* SyntaxKind.ModuleBlock */) { + if (parent.kind === 308 /* SyntaxKind.SourceFile */ || parent.kind === 265 /* SyntaxKind.ModuleBlock */) { return false; } } @@ -148247,10 +149617,10 @@ var ts; function shouldRescanJsxIdentifier(node) { if (node.parent) { switch (node.parent.kind) { - case 285 /* SyntaxKind.JsxAttribute */: - case 280 /* SyntaxKind.JsxOpeningElement */: - case 281 /* SyntaxKind.JsxClosingElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 288 /* SyntaxKind.JsxAttribute */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 284 /* SyntaxKind.JsxClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: // May parse an identifier like `module-layout`; that will be scanned as a keyword at first, but we should parse the whole thing to get an identifier. return ts.isKeyword(node.kind) || node.kind === 79 /* SyntaxKind.Identifier */; } @@ -148258,7 +149628,7 @@ var ts; return false; } function shouldRescanJsxText(node) { - return ts.isJsxText(node); + return ts.isJsxText(node) || ts.isJsxElement(node) && (lastTokenInfo === null || lastTokenInfo === void 0 ? void 0 : lastTokenInfo.token.kind) === 11 /* SyntaxKind.JsxText */; } function shouldRescanSlashToken(container) { return container.kind === 13 /* SyntaxKind.RegularExpressionLiteral */; @@ -148443,7 +149813,7 @@ var ts; (function (formatting) { function getAllRules() { var allTokens = []; - for (var token = 0 /* SyntaxKind.FirstToken */; token <= 160 /* SyntaxKind.LastToken */; token++) { + for (var token = 0 /* SyntaxKind.FirstToken */; token <= 162 /* SyntaxKind.LastToken */; token++) { if (token !== 1 /* SyntaxKind.EndOfFileToken */) { allTokens.push(token); } @@ -148458,9 +149828,9 @@ var ts; var anyToken = { tokens: allTokens, isSpecific: false }; var anyTokenIncludingMultilineComments = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [3 /* SyntaxKind.MultiLineCommentTrivia */], false)); var anyTokenIncludingEOF = tokenRangeFrom(__spreadArray(__spreadArray([], allTokens, true), [1 /* SyntaxKind.EndOfFileToken */], false)); - var keywords = tokenRangeFromRange(81 /* SyntaxKind.FirstKeyword */, 160 /* SyntaxKind.LastKeyword */); + var keywords = tokenRangeFromRange(81 /* SyntaxKind.FirstKeyword */, 162 /* SyntaxKind.LastKeyword */); var binaryOperators = tokenRangeFromRange(29 /* SyntaxKind.FirstBinaryOperator */, 78 /* SyntaxKind.LastBinaryOperator */); - var binaryKeywordOperators = [101 /* SyntaxKind.InKeyword */, 102 /* SyntaxKind.InstanceOfKeyword */, 160 /* SyntaxKind.OfKeyword */, 127 /* SyntaxKind.AsKeyword */, 139 /* SyntaxKind.IsKeyword */]; + var binaryKeywordOperators = [101 /* SyntaxKind.InKeyword */, 102 /* SyntaxKind.InstanceOfKeyword */, 162 /* SyntaxKind.OfKeyword */, 128 /* SyntaxKind.AsKeyword */, 140 /* SyntaxKind.IsKeyword */]; var unaryPrefixOperators = [45 /* SyntaxKind.PlusPlusToken */, 46 /* SyntaxKind.MinusMinusToken */, 54 /* SyntaxKind.TildeToken */, 53 /* SyntaxKind.ExclamationToken */]; var unaryPrefixExpressions = [ 8 /* SyntaxKind.NumericLiteral */, 9 /* SyntaxKind.BigIntLiteral */, 79 /* SyntaxKind.Identifier */, 20 /* SyntaxKind.OpenParenToken */, @@ -148491,7 +149861,7 @@ var ts; rule("SpaceAfterQuestionMarkInConditionalOperator", 57 /* SyntaxKind.QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isConditionalOperatorContext], 4 /* RuleAction.InsertSpace */), // in other cases there should be no space between '?' and next token rule("NoSpaceAfterQuestionMark", 57 /* SyntaxKind.QuestionToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), - rule("NoSpaceBeforeDot", anyToken, [24 /* SyntaxKind.DotToken */, 28 /* SyntaxKind.QuestionDotToken */], [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeDot", anyToken, [24 /* SyntaxKind.DotToken */, 28 /* SyntaxKind.QuestionDotToken */], [isNonJsxSameLineTokenContext, isNotPropertyAccessOnIntegerLiteral], 16 /* RuleAction.DeleteSpace */), rule("NoSpaceAfterDot", [24 /* SyntaxKind.DotToken */, 28 /* SyntaxKind.QuestionDotToken */], anyToken, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), rule("NoSpaceBetweenImportParenInImportType", 100 /* SyntaxKind.ImportKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext, isImportTypeContext], 16 /* RuleAction.DeleteSpace */), // Special handling of unary operators. @@ -148534,11 +149904,11 @@ var ts; // Though, we do extra check on the context to make sure we are dealing with get/set node. Example: // get x() {} // set x(val) {} - rule("SpaceAfterGetSetInMember", [136 /* SyntaxKind.GetKeyword */, 149 /* SyntaxKind.SetKeyword */], 79 /* SyntaxKind.Identifier */, [isFunctionDeclContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterGetSetInMember", [137 /* SyntaxKind.GetKeyword */, 151 /* SyntaxKind.SetKeyword */], 79 /* SyntaxKind.Identifier */, [isFunctionDeclContext], 4 /* RuleAction.InsertSpace */), rule("NoSpaceBetweenYieldKeywordAndStar", 125 /* SyntaxKind.YieldKeyword */, 41 /* SyntaxKind.AsteriskToken */, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 16 /* RuleAction.DeleteSpace */), rule("SpaceBetweenYieldOrYieldStarAndOperand", [125 /* SyntaxKind.YieldKeyword */, 41 /* SyntaxKind.AsteriskToken */], anyToken, [isNonJsxSameLineTokenContext, isYieldOrYieldStarWithOperand], 4 /* RuleAction.InsertSpace */), rule("NoSpaceBetweenReturnAndSemicolon", 105 /* SyntaxKind.ReturnKeyword */, 26 /* SyntaxKind.SemicolonToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), - rule("SpaceAfterCertainKeywords", [113 /* SyntaxKind.VarKeyword */, 109 /* SyntaxKind.ThrowKeyword */, 103 /* SyntaxKind.NewKeyword */, 89 /* SyntaxKind.DeleteKeyword */, 105 /* SyntaxKind.ReturnKeyword */, 112 /* SyntaxKind.TypeOfKeyword */, 132 /* SyntaxKind.AwaitKeyword */], anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceAfterCertainKeywords", [113 /* SyntaxKind.VarKeyword */, 109 /* SyntaxKind.ThrowKeyword */, 103 /* SyntaxKind.NewKeyword */, 89 /* SyntaxKind.DeleteKeyword */, 105 /* SyntaxKind.ReturnKeyword */, 112 /* SyntaxKind.TypeOfKeyword */, 133 /* SyntaxKind.AwaitKeyword */], anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), rule("SpaceAfterLetConstInVariableDeclaration", [119 /* SyntaxKind.LetKeyword */, 85 /* SyntaxKind.ConstKeyword */], anyToken, [isNonJsxSameLineTokenContext, isStartOfVariableDeclarationList], 4 /* RuleAction.InsertSpace */), rule("NoSpaceBeforeOpenParenInFuncCall", anyToken, 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext, isFunctionCallOrNewContext, isPreviousTokenNotComma], 16 /* RuleAction.DeleteSpace */), // Special case for binary operators (that are keywords). For these we have to add a space and shouldn't follow any user options. @@ -148546,8 +149916,8 @@ var ts; rule("SpaceAfterBinaryKeywordOperator", binaryKeywordOperators, anyToken, [isNonJsxSameLineTokenContext, isBinaryOpContext], 4 /* RuleAction.InsertSpace */), rule("SpaceAfterVoidOperator", 114 /* SyntaxKind.VoidKeyword */, anyToken, [isNonJsxSameLineTokenContext, isVoidOpContext], 4 /* RuleAction.InsertSpace */), // Async-await - rule("SpaceBetweenAsyncAndOpenParen", 131 /* SyntaxKind.AsyncKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isArrowFunctionContext, isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), - rule("SpaceBetweenAsyncAndFunctionKeyword", 131 /* SyntaxKind.AsyncKeyword */, [98 /* SyntaxKind.FunctionKeyword */, 79 /* SyntaxKind.Identifier */], [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBetweenAsyncAndOpenParen", 132 /* SyntaxKind.AsyncKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isArrowFunctionContext, isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBetweenAsyncAndFunctionKeyword", 132 /* SyntaxKind.AsyncKeyword */, [98 /* SyntaxKind.FunctionKeyword */, 79 /* SyntaxKind.Identifier */], [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Template string rule("NoSpaceBetweenTagAndTemplateString", [79 /* SyntaxKind.Identifier */, 21 /* SyntaxKind.CloseParenToken */], [14 /* SyntaxKind.NoSubstitutionTemplateLiteral */, 15 /* SyntaxKind.TemplateHead */], [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // JSX opening elements @@ -148558,34 +149928,35 @@ var ts; rule("NoSpaceAfterEqualInJsxAttribute", 63 /* SyntaxKind.EqualsToken */, anyToken, [isJsxAttributeContext, isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // TypeScript-specific rules // Use of module as a function call. e.g.: import m2 = module("m2"); - rule("NoSpaceAfterModuleImport", [141 /* SyntaxKind.ModuleKeyword */, 146 /* SyntaxKind.RequireKeyword */], 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceAfterModuleImport", [142 /* SyntaxKind.ModuleKeyword */, 147 /* SyntaxKind.RequireKeyword */], 20 /* SyntaxKind.OpenParenToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // Add a space around certain TypeScript keywords rule("SpaceAfterCertainTypeScriptKeywords", [ 126 /* SyntaxKind.AbstractKeyword */, + 127 /* SyntaxKind.AccessorKeyword */, 84 /* SyntaxKind.ClassKeyword */, - 135 /* SyntaxKind.DeclareKeyword */, + 136 /* SyntaxKind.DeclareKeyword */, 88 /* SyntaxKind.DefaultKeyword */, 92 /* SyntaxKind.EnumKeyword */, 93 /* SyntaxKind.ExportKeyword */, 94 /* SyntaxKind.ExtendsKeyword */, - 136 /* SyntaxKind.GetKeyword */, + 137 /* SyntaxKind.GetKeyword */, 117 /* SyntaxKind.ImplementsKeyword */, 100 /* SyntaxKind.ImportKeyword */, 118 /* SyntaxKind.InterfaceKeyword */, - 141 /* SyntaxKind.ModuleKeyword */, - 142 /* SyntaxKind.NamespaceKeyword */, + 142 /* SyntaxKind.ModuleKeyword */, + 143 /* SyntaxKind.NamespaceKeyword */, 121 /* SyntaxKind.PrivateKeyword */, 123 /* SyntaxKind.PublicKeyword */, 122 /* SyntaxKind.ProtectedKeyword */, - 145 /* SyntaxKind.ReadonlyKeyword */, - 149 /* SyntaxKind.SetKeyword */, + 146 /* SyntaxKind.ReadonlyKeyword */, + 151 /* SyntaxKind.SetKeyword */, 124 /* SyntaxKind.StaticKeyword */, - 152 /* SyntaxKind.TypeKeyword */, - 156 /* SyntaxKind.FromKeyword */, - 140 /* SyntaxKind.KeyOfKeyword */, - 137 /* SyntaxKind.InferKeyword */, + 154 /* SyntaxKind.TypeKeyword */, + 158 /* SyntaxKind.FromKeyword */, + 141 /* SyntaxKind.KeyOfKeyword */, + 138 /* SyntaxKind.InferKeyword */, ], anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), - rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [94 /* SyntaxKind.ExtendsKeyword */, 117 /* SyntaxKind.ImplementsKeyword */, 156 /* SyntaxKind.FromKeyword */], [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBeforeCertainTypeScriptKeywords", anyToken, [94 /* SyntaxKind.ExtendsKeyword */, 117 /* SyntaxKind.ImplementsKeyword */, 158 /* SyntaxKind.FromKeyword */], [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" { rule("SpaceAfterModuleName", 10 /* SyntaxKind.StringLiteral */, 18 /* SyntaxKind.OpenBraceToken */, [isModuleDeclContext], 4 /* RuleAction.InsertSpace */), // Lambda expressions @@ -148616,8 +149987,8 @@ var ts; 123 /* SyntaxKind.PublicKeyword */, 121 /* SyntaxKind.PrivateKeyword */, 122 /* SyntaxKind.ProtectedKeyword */, - 136 /* SyntaxKind.GetKeyword */, - 149 /* SyntaxKind.SetKeyword */, + 137 /* SyntaxKind.GetKeyword */, + 151 /* SyntaxKind.SetKeyword */, 22 /* SyntaxKind.OpenBracketToken */, 41 /* SyntaxKind.AsteriskToken */, ], [isEndOfDecoratorContextOnSameLine], 4 /* RuleAction.InsertSpace */), @@ -148628,8 +149999,8 @@ var ts; // These rules are applied after high priority var userConfigurableRules = [ // Treat constructor as an identifier in a function declaration, and remove spaces between constructor and following left parentheses - rule("SpaceAfterConstructor", 134 /* SyntaxKind.ConstructorKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), - rule("NoSpaceAfterConstructor", 134 /* SyntaxKind.ConstructorKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("SpaceAfterConstructor", 135 /* SyntaxKind.ConstructorKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isOptionEnabled("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("NoSpaceAfterConstructor", 135 /* SyntaxKind.ConstructorKeyword */, 20 /* SyntaxKind.OpenParenToken */, [isOptionDisabledOrUndefined("insertSpaceAfterConstructor"), isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), rule("SpaceAfterComma", 27 /* SyntaxKind.CommaToken */, anyToken, [isOptionEnabled("insertSpaceAfterCommaDelimiter"), isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext, isNextTokenNotCloseBracket, isNextTokenNotCloseParen], 4 /* RuleAction.InsertSpace */), rule("NoSpaceAfterComma", 27 /* SyntaxKind.CommaToken */, anyToken, [isOptionDisabledOrUndefined("insertSpaceAfterCommaDelimiter"), isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext], 16 /* RuleAction.DeleteSpace */), // Insert space after function keyword for anonymous functions @@ -148703,11 +150074,11 @@ var ts; rule("SpaceBeforeOpenBraceInTypeScriptDeclWithBlock", typeScriptOpenBraceLeftTokenRange, 18 /* SyntaxKind.OpenBraceToken */, [isOptionDisabledOrUndefinedOrTokensOnSameLine("placeOpenBraceOnNewLineForFunctions"), isTypeScriptDeclWithBlockContext, isNotFormatOnEnter, isSameLineTokenOrBeforeBlockContext], 4 /* RuleAction.InsertSpace */, 1 /* RuleFlags.CanDeleteNewLines */), rule("NoSpaceBeforeComma", anyToken, 27 /* SyntaxKind.CommaToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), // No space before and after indexer `x[]` - rule("NoSpaceBeforeOpenBracket", anyTokenExcept(131 /* SyntaxKind.AsyncKeyword */, 82 /* SyntaxKind.CaseKeyword */), 22 /* SyntaxKind.OpenBracketToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), + rule("NoSpaceBeforeOpenBracket", anyTokenExcept(132 /* SyntaxKind.AsyncKeyword */, 82 /* SyntaxKind.CaseKeyword */), 22 /* SyntaxKind.OpenBracketToken */, [isNonJsxSameLineTokenContext], 16 /* RuleAction.DeleteSpace */), rule("NoSpaceAfterCloseBracket", 23 /* SyntaxKind.CloseBracketToken */, anyToken, [isNonJsxSameLineTokenContext, isNotBeforeBlockInFunctionDeclarationContext], 16 /* RuleAction.DeleteSpace */), rule("SpaceAfterSemicolon", 26 /* SyntaxKind.SemicolonToken */, anyToken, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Remove extra space between for and await - rule("SpaceBetweenForAndAwaitKeyword", 97 /* SyntaxKind.ForKeyword */, 132 /* SyntaxKind.AwaitKeyword */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), + rule("SpaceBetweenForAndAwaitKeyword", 97 /* SyntaxKind.ForKeyword */, 133 /* SyntaxKind.AwaitKeyword */, [isNonJsxSameLineTokenContext], 4 /* RuleAction.InsertSpace */), // Add a space between statements. All keywords except (do,else,case) has open/close parens after them. // So, we have a rule to add a space for [),Any], [do,Any], [else,Any], and [case,Any] rule("SpaceBetweenStatements", [21 /* SyntaxKind.CloseParenToken */, 90 /* SyntaxKind.DoKeyword */, 91 /* SyntaxKind.ElseKeyword */, 82 /* SyntaxKind.CaseKeyword */], anyToken, [isNonJsxSameLineTokenContext, isNonJsxElementOrFragmentContext, isNotForContext], 4 /* RuleAction.InsertSpace */), @@ -148756,69 +150127,70 @@ var ts; return function (context) { return context.options && context.options[optionName] === optionValue; }; } function isOptionEnabled(optionName) { - return function (context) { return context.options && context.options.hasOwnProperty(optionName) && !!context.options[optionName]; }; + return function (context) { return context.options && ts.hasProperty(context.options, optionName) && !!context.options[optionName]; }; } function isOptionDisabled(optionName) { - return function (context) { return context.options && context.options.hasOwnProperty(optionName) && !context.options[optionName]; }; + return function (context) { return context.options && ts.hasProperty(context.options, optionName) && !context.options[optionName]; }; } function isOptionDisabledOrUndefined(optionName) { - return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !context.options[optionName]; }; + return function (context) { return !context.options || !ts.hasProperty(context.options, optionName) || !context.options[optionName]; }; } function isOptionDisabledOrUndefinedOrTokensOnSameLine(optionName) { - return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !context.options[optionName] || context.TokensAreOnSameLine(); }; + return function (context) { return !context.options || !ts.hasProperty(context.options, optionName) || !context.options[optionName] || context.TokensAreOnSameLine(); }; } function isOptionEnabledOrUndefined(optionName) { - return function (context) { return !context.options || !context.options.hasOwnProperty(optionName) || !!context.options[optionName]; }; + return function (context) { return !context.options || !ts.hasProperty(context.options, optionName) || !!context.options[optionName]; }; } function isForContext(context) { - return context.contextNode.kind === 242 /* SyntaxKind.ForStatement */; + return context.contextNode.kind === 245 /* SyntaxKind.ForStatement */; } function isNotForContext(context) { return !isForContext(context); } function isBinaryOpContext(context) { switch (context.contextNode.kind) { - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return context.contextNode.operatorToken.kind !== 27 /* SyntaxKind.CommaToken */; - case 222 /* SyntaxKind.ConditionalExpression */: - case 189 /* SyntaxKind.ConditionalType */: - case 229 /* SyntaxKind.AsExpression */: - case 275 /* SyntaxKind.ExportSpecifier */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 177 /* SyntaxKind.TypePredicate */: - case 187 /* SyntaxKind.UnionType */: - case 188 /* SyntaxKind.IntersectionType */: + case 224 /* SyntaxKind.ConditionalExpression */: + case 191 /* SyntaxKind.ConditionalType */: + case 231 /* SyntaxKind.AsExpression */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 179 /* SyntaxKind.TypePredicate */: + case 189 /* SyntaxKind.UnionType */: + case 190 /* SyntaxKind.IntersectionType */: + case 235 /* SyntaxKind.SatisfiesExpression */: return true; // equals in binding elements: function foo([[x, y] = [1, 2]]) - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: // equals in type X = ... // falls through - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: // equal in import a = module('a'); // falls through - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: // equal in export = 1 // falls through - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: // equal in let a = 0 // falls through - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: // equal in p = 0 // falls through - case 164 /* SyntaxKind.Parameter */: - case 299 /* SyntaxKind.EnumMember */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 166 /* SyntaxKind.Parameter */: + case 302 /* SyntaxKind.EnumMember */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: return context.currentTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */ || context.nextTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */; // "in" keyword in for (let x in []) { } - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: // "in" keyword in [P in keyof T]: T[P] // falls through - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: return context.currentTokenSpan.kind === 101 /* SyntaxKind.InKeyword */ || context.nextTokenSpan.kind === 101 /* SyntaxKind.InKeyword */ || context.currentTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */ || context.nextTokenSpan.kind === 63 /* SyntaxKind.EqualsToken */; // Technically, "of" is not a binary operator, but format it the same way as "in" - case 244 /* SyntaxKind.ForOfStatement */: - return context.currentTokenSpan.kind === 160 /* SyntaxKind.OfKeyword */ || context.nextTokenSpan.kind === 160 /* SyntaxKind.OfKeyword */; + case 247 /* SyntaxKind.ForOfStatement */: + return context.currentTokenSpan.kind === 162 /* SyntaxKind.OfKeyword */ || context.nextTokenSpan.kind === 162 /* SyntaxKind.OfKeyword */; } return false; } @@ -148830,22 +150202,22 @@ var ts; } function isTypeAnnotationContext(context) { var contextKind = context.contextNode.kind; - return contextKind === 167 /* SyntaxKind.PropertyDeclaration */ || - contextKind === 166 /* SyntaxKind.PropertySignature */ || - contextKind === 164 /* SyntaxKind.Parameter */ || - contextKind === 254 /* SyntaxKind.VariableDeclaration */ || + return contextKind === 169 /* SyntaxKind.PropertyDeclaration */ || + contextKind === 168 /* SyntaxKind.PropertySignature */ || + contextKind === 166 /* SyntaxKind.Parameter */ || + contextKind === 257 /* SyntaxKind.VariableDeclaration */ || ts.isFunctionLikeKind(contextKind); } function isConditionalOperatorContext(context) { - return context.contextNode.kind === 222 /* SyntaxKind.ConditionalExpression */ || - context.contextNode.kind === 189 /* SyntaxKind.ConditionalType */; + return context.contextNode.kind === 224 /* SyntaxKind.ConditionalExpression */ || + context.contextNode.kind === 191 /* SyntaxKind.ConditionalType */; } function isSameLineTokenOrBeforeBlockContext(context) { return context.TokensAreOnSameLine() || isBeforeBlockContext(context); } function isBraceWrappedContext(context) { - return context.contextNode.kind === 201 /* SyntaxKind.ObjectBindingPattern */ || - context.contextNode.kind === 195 /* SyntaxKind.MappedType */ || + return context.contextNode.kind === 203 /* SyntaxKind.ObjectBindingPattern */ || + context.contextNode.kind === 197 /* SyntaxKind.MappedType */ || isSingleLineBlockContext(context); } // This check is done before an open brace in a control construct, a function, or a typescript block declaration @@ -148871,34 +150243,34 @@ var ts; return true; } switch (node.kind) { - case 235 /* SyntaxKind.Block */: - case 263 /* SyntaxKind.CaseBlock */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 262 /* SyntaxKind.ModuleBlock */: + case 238 /* SyntaxKind.Block */: + case 266 /* SyntaxKind.CaseBlock */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 265 /* SyntaxKind.ModuleBlock */: return true; } return false; } function isFunctionDeclContext(context) { switch (context.contextNode.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: // case SyntaxKind.MemberFunctionDeclaration: // falls through - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // case SyntaxKind.MethodSignature: // falls through - case 174 /* SyntaxKind.CallSignature */: - case 213 /* SyntaxKind.FunctionExpression */: - case 171 /* SyntaxKind.Constructor */: - case 214 /* SyntaxKind.ArrowFunction */: + case 176 /* SyntaxKind.CallSignature */: + case 215 /* SyntaxKind.FunctionExpression */: + case 173 /* SyntaxKind.Constructor */: + case 216 /* SyntaxKind.ArrowFunction */: // case SyntaxKind.ConstructorDeclaration: // case SyntaxKind.SimpleArrowFunctionExpression: // case SyntaxKind.ParenthesizedArrowFunctionExpression: // falls through - case 258 /* SyntaxKind.InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one + case 261 /* SyntaxKind.InterfaceDeclaration */: // This one is not truly a function, but for formatting purposes, it acts just like one return true; } return false; @@ -148907,40 +150279,40 @@ var ts; return !isFunctionDeclContext(context); } function isFunctionDeclarationOrFunctionExpressionContext(context) { - return context.contextNode.kind === 256 /* SyntaxKind.FunctionDeclaration */ || context.contextNode.kind === 213 /* SyntaxKind.FunctionExpression */; + return context.contextNode.kind === 259 /* SyntaxKind.FunctionDeclaration */ || context.contextNode.kind === 215 /* SyntaxKind.FunctionExpression */; } function isTypeScriptDeclWithBlockContext(context) { return nodeIsTypeScriptDeclWithBlockContext(context.contextNode); } function nodeIsTypeScriptDeclWithBlockContext(node) { switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 182 /* SyntaxKind.TypeLiteral */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 272 /* SyntaxKind.ExportDeclaration */: - case 273 /* SyntaxKind.NamedExports */: - case 266 /* SyntaxKind.ImportDeclaration */: - case 269 /* SyntaxKind.NamedImports */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 184 /* SyntaxKind.TypeLiteral */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: + case 276 /* SyntaxKind.NamedExports */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 272 /* SyntaxKind.NamedImports */: return true; } return false; } function isAfterCodeBlockContext(context) { switch (context.currentTokenParent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 292 /* SyntaxKind.CatchClause */: - case 262 /* SyntaxKind.ModuleBlock */: - case 249 /* SyntaxKind.SwitchStatement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 295 /* SyntaxKind.CatchClause */: + case 265 /* SyntaxKind.ModuleBlock */: + case 252 /* SyntaxKind.SwitchStatement */: return true; - case 235 /* SyntaxKind.Block */: { + case 238 /* SyntaxKind.Block */: { var blockParent = context.currentTokenParent.parent; // In a codefix scenario, we can't rely on parents being set. So just always return true. - if (!blockParent || blockParent.kind !== 214 /* SyntaxKind.ArrowFunction */ && blockParent.kind !== 213 /* SyntaxKind.FunctionExpression */) { + if (!blockParent || blockParent.kind !== 216 /* SyntaxKind.ArrowFunction */ && blockParent.kind !== 215 /* SyntaxKind.FunctionExpression */) { return true; } } @@ -148949,32 +150321,32 @@ var ts; } function isControlDeclContext(context) { switch (context.contextNode.kind) { - case 239 /* SyntaxKind.IfStatement */: - case 249 /* SyntaxKind.SwitchStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 252 /* SyntaxKind.TryStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 248 /* SyntaxKind.WithStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 252 /* SyntaxKind.SwitchStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 255 /* SyntaxKind.TryStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 251 /* SyntaxKind.WithStatement */: // TODO // case SyntaxKind.ElseClause: // falls through - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return true; default: return false; } } function isObjectContext(context) { - return context.contextNode.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; + return context.contextNode.kind === 207 /* SyntaxKind.ObjectLiteralExpression */; } function isFunctionCallContext(context) { - return context.contextNode.kind === 208 /* SyntaxKind.CallExpression */; + return context.contextNode.kind === 210 /* SyntaxKind.CallExpression */; } function isNewContext(context) { - return context.contextNode.kind === 209 /* SyntaxKind.NewExpression */; + return context.contextNode.kind === 211 /* SyntaxKind.NewExpression */; } function isFunctionCallOrNewContext(context) { return isFunctionCallContext(context) || isNewContext(context); @@ -148989,10 +150361,10 @@ var ts; return context.nextTokenSpan.kind !== 21 /* SyntaxKind.CloseParenToken */; } function isArrowFunctionContext(context) { - return context.contextNode.kind === 214 /* SyntaxKind.ArrowFunction */; + return context.contextNode.kind === 216 /* SyntaxKind.ArrowFunction */; } function isImportTypeContext(context) { - return context.contextNode.kind === 200 /* SyntaxKind.ImportType */; + return context.contextNode.kind === 202 /* SyntaxKind.ImportType */; } function isNonJsxSameLineTokenContext(context) { return context.TokensAreOnSameLine() && context.contextNode.kind !== 11 /* SyntaxKind.JsxText */; @@ -149001,19 +150373,19 @@ var ts; return context.contextNode.kind !== 11 /* SyntaxKind.JsxText */; } function isNonJsxElementOrFragmentContext(context) { - return context.contextNode.kind !== 278 /* SyntaxKind.JsxElement */ && context.contextNode.kind !== 282 /* SyntaxKind.JsxFragment */; + return context.contextNode.kind !== 281 /* SyntaxKind.JsxElement */ && context.contextNode.kind !== 285 /* SyntaxKind.JsxFragment */; } function isJsxExpressionContext(context) { - return context.contextNode.kind === 288 /* SyntaxKind.JsxExpression */ || context.contextNode.kind === 287 /* SyntaxKind.JsxSpreadAttribute */; + return context.contextNode.kind === 291 /* SyntaxKind.JsxExpression */ || context.contextNode.kind === 290 /* SyntaxKind.JsxSpreadAttribute */; } function isNextTokenParentJsxAttribute(context) { - return context.nextTokenParent.kind === 285 /* SyntaxKind.JsxAttribute */; + return context.nextTokenParent.kind === 288 /* SyntaxKind.JsxAttribute */; } function isJsxAttributeContext(context) { - return context.contextNode.kind === 285 /* SyntaxKind.JsxAttribute */; + return context.contextNode.kind === 288 /* SyntaxKind.JsxAttribute */; } function isJsxSelfClosingElementContext(context) { - return context.contextNode.kind === 279 /* SyntaxKind.JsxSelfClosingElement */; + return context.contextNode.kind === 282 /* SyntaxKind.JsxSelfClosingElement */; } function isNotBeforeBlockInFunctionDeclarationContext(context) { return !isFunctionDeclContext(context) && !isBeforeBlockContext(context); @@ -149025,48 +150397,48 @@ var ts; !nodeIsInDecoratorContext(context.nextTokenParent); } function nodeIsInDecoratorContext(node) { - while (ts.isExpressionNode(node)) { + while (node && ts.isExpression(node)) { node = node.parent; } - return node.kind === 165 /* SyntaxKind.Decorator */; + return node && node.kind === 167 /* SyntaxKind.Decorator */; } function isStartOfVariableDeclarationList(context) { - return context.currentTokenParent.kind === 255 /* SyntaxKind.VariableDeclarationList */ && + return context.currentTokenParent.kind === 258 /* SyntaxKind.VariableDeclarationList */ && context.currentTokenParent.getStart(context.sourceFile) === context.currentTokenSpan.pos; } function isNotFormatOnEnter(context) { return context.formattingRequestKind !== 2 /* FormattingRequestKind.FormatOnEnter */; } function isModuleDeclContext(context) { - return context.contextNode.kind === 261 /* SyntaxKind.ModuleDeclaration */; + return context.contextNode.kind === 264 /* SyntaxKind.ModuleDeclaration */; } function isObjectTypeContext(context) { - return context.contextNode.kind === 182 /* SyntaxKind.TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; + return context.contextNode.kind === 184 /* SyntaxKind.TypeLiteral */; // && context.contextNode.parent.kind !== SyntaxKind.InterfaceDeclaration; } function isConstructorSignatureContext(context) { - return context.contextNode.kind === 175 /* SyntaxKind.ConstructSignature */; + return context.contextNode.kind === 177 /* SyntaxKind.ConstructSignature */; } function isTypeArgumentOrParameterOrAssertion(token, parent) { if (token.kind !== 29 /* SyntaxKind.LessThanToken */ && token.kind !== 31 /* SyntaxKind.GreaterThanToken */) { return false; } switch (parent.kind) { - case 178 /* SyntaxKind.TypeReference */: - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: + case 180 /* SyntaxKind.TypeReference */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: return true; default: return false; @@ -149077,28 +150449,28 @@ var ts; isTypeArgumentOrParameterOrAssertion(context.nextTokenSpan, context.nextTokenParent); } function isTypeAssertionContext(context) { - return context.contextNode.kind === 211 /* SyntaxKind.TypeAssertionExpression */; + return context.contextNode.kind === 213 /* SyntaxKind.TypeAssertionExpression */; } function isVoidOpContext(context) { - return context.currentTokenSpan.kind === 114 /* SyntaxKind.VoidKeyword */ && context.currentTokenParent.kind === 217 /* SyntaxKind.VoidExpression */; + return context.currentTokenSpan.kind === 114 /* SyntaxKind.VoidKeyword */ && context.currentTokenParent.kind === 219 /* SyntaxKind.VoidExpression */; } function isYieldOrYieldStarWithOperand(context) { - return context.contextNode.kind === 224 /* SyntaxKind.YieldExpression */ && context.contextNode.expression !== undefined; + return context.contextNode.kind === 226 /* SyntaxKind.YieldExpression */ && context.contextNode.expression !== undefined; } function isNonNullAssertionContext(context) { - return context.contextNode.kind === 230 /* SyntaxKind.NonNullExpression */; + return context.contextNode.kind === 232 /* SyntaxKind.NonNullExpression */; } function isNotStatementConditionContext(context) { return !isStatementConditionContext(context); } function isStatementConditionContext(context) { switch (context.contextNode.kind) { - case 239 /* SyntaxKind.IfStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: return true; default: return false; @@ -149123,12 +150495,12 @@ var ts; return nextTokenKind === 19 /* SyntaxKind.CloseBraceToken */ || nextTokenKind === 1 /* SyntaxKind.EndOfFileToken */; } - if (nextTokenKind === 234 /* SyntaxKind.SemicolonClassElement */ || + if (nextTokenKind === 237 /* SyntaxKind.SemicolonClassElement */ || nextTokenKind === 26 /* SyntaxKind.SemicolonToken */) { return false; } - if (context.contextNode.kind === 258 /* SyntaxKind.InterfaceDeclaration */ || - context.contextNode.kind === 259 /* SyntaxKind.TypeAliasDeclaration */) { + if (context.contextNode.kind === 261 /* SyntaxKind.InterfaceDeclaration */ || + context.contextNode.kind === 262 /* SyntaxKind.TypeAliasDeclaration */) { // Can’t remove semicolon after `foo`; it would parse as a method declaration: // // interface I { @@ -149142,9 +150514,9 @@ var ts; if (ts.isPropertyDeclaration(context.currentTokenParent)) { return !context.currentTokenParent.initializer; } - return context.currentTokenParent.kind !== 242 /* SyntaxKind.ForStatement */ - && context.currentTokenParent.kind !== 236 /* SyntaxKind.EmptyStatement */ - && context.currentTokenParent.kind !== 234 /* SyntaxKind.SemicolonClassElement */ + return context.currentTokenParent.kind !== 245 /* SyntaxKind.ForStatement */ + && context.currentTokenParent.kind !== 239 /* SyntaxKind.EmptyStatement */ + && context.currentTokenParent.kind !== 237 /* SyntaxKind.SemicolonClassElement */ && nextTokenKind !== 22 /* SyntaxKind.OpenBracketToken */ && nextTokenKind !== 20 /* SyntaxKind.OpenParenToken */ && nextTokenKind !== 39 /* SyntaxKind.PlusToken */ @@ -149152,7 +150524,7 @@ var ts; && nextTokenKind !== 43 /* SyntaxKind.SlashToken */ && nextTokenKind !== 13 /* SyntaxKind.RegularExpressionLiteral */ && nextTokenKind !== 27 /* SyntaxKind.CommaToken */ - && nextTokenKind !== 223 /* SyntaxKind.TemplateExpression */ + && nextTokenKind !== 225 /* SyntaxKind.TemplateExpression */ && nextTokenKind !== 15 /* SyntaxKind.TemplateHead */ && nextTokenKind !== 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */ && nextTokenKind !== 24 /* SyntaxKind.DotToken */; @@ -149160,6 +150532,11 @@ var ts; function isSemicolonInsertionContext(context) { return ts.positionIsASICandidate(context.currentTokenSpan.end, context.currentTokenParent, context.sourceFile); } + function isNotPropertyAccessOnIntegerLiteral(context) { + return !ts.isPropertyAccessExpression(context.contextNode) + || !ts.isNumericLiteral(context.contextNode.expression) + || context.contextNode.expression.getText().indexOf(".") !== -1; + } })(formatting = ts.formatting || (ts.formatting = {})); })(ts || (ts = {})); /* @internal */ @@ -149243,12 +150620,12 @@ var ts; return map; } function getRuleBucketIndex(row, column) { - ts.Debug.assert(row <= 160 /* SyntaxKind.LastKeyword */ && column <= 160 /* SyntaxKind.LastKeyword */, "Must compute formatting context from tokens"); + ts.Debug.assert(row <= 162 /* SyntaxKind.LastKeyword */ && column <= 162 /* SyntaxKind.LastKeyword */, "Must compute formatting context from tokens"); return (row * mapRowLength) + column; } var maskBitSize = 5; var mask = 31; // MaskBitSize bits - var mapRowLength = 160 /* SyntaxKind.LastToken */ + 1; + var mapRowLength = 162 /* SyntaxKind.LastToken */ + 1; var RulesPosition; (function (RulesPosition) { RulesPosition[RulesPosition["StopRulesSpecific"] = 0] = "StopRulesSpecific"; @@ -149436,17 +150813,17 @@ var ts; // i.e. parent is class declaration with the list of members and node is one of members. function isListElement(parent, node) { switch (parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return ts.rangeContainsRange(parent.members, node); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: var body = parent.body; - return !!body && body.kind === 262 /* SyntaxKind.ModuleBlock */ && ts.rangeContainsRange(body.statements, node); - case 305 /* SyntaxKind.SourceFile */: - case 235 /* SyntaxKind.Block */: - case 262 /* SyntaxKind.ModuleBlock */: + return !!body && body.kind === 265 /* SyntaxKind.ModuleBlock */ && ts.rangeContainsRange(body.statements, node); + case 308 /* SyntaxKind.SourceFile */: + case 238 /* SyntaxKind.Block */: + case 265 /* SyntaxKind.ModuleBlock */: return ts.rangeContainsRange(parent.statements, node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -149639,7 +151016,7 @@ var ts; // edit in the middle of a token where the range ended, so if we have a non-contiguous // pair here, we're already done and we can ignore it. var parent = ((_b = ts.findPrecedingToken(tokenInfo.end, sourceFile, enclosingNode)) === null || _b === void 0 ? void 0 : _b.parent) || previousParent; - processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent, + processPair(tokenInfo, sourceFile.getLineAndCharacterOfPosition(tokenInfo.pos).line, parent, previousRange, previousRangeStartLine, previousParent, parent, /*dynamicIndentation*/ undefined); } } @@ -149709,19 +151086,19 @@ var ts; return modifier.kind; } switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: return 84 /* SyntaxKind.ClassKeyword */; - case 258 /* SyntaxKind.InterfaceDeclaration */: return 118 /* SyntaxKind.InterfaceKeyword */; - case 256 /* SyntaxKind.FunctionDeclaration */: return 98 /* SyntaxKind.FunctionKeyword */; - case 260 /* SyntaxKind.EnumDeclaration */: return 260 /* SyntaxKind.EnumDeclaration */; - case 172 /* SyntaxKind.GetAccessor */: return 136 /* SyntaxKind.GetKeyword */; - case 173 /* SyntaxKind.SetAccessor */: return 149 /* SyntaxKind.SetKeyword */; - case 169 /* SyntaxKind.MethodDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return 84 /* SyntaxKind.ClassKeyword */; + case 261 /* SyntaxKind.InterfaceDeclaration */: return 118 /* SyntaxKind.InterfaceKeyword */; + case 259 /* SyntaxKind.FunctionDeclaration */: return 98 /* SyntaxKind.FunctionKeyword */; + case 263 /* SyntaxKind.EnumDeclaration */: return 263 /* SyntaxKind.EnumDeclaration */; + case 174 /* SyntaxKind.GetAccessor */: return 137 /* SyntaxKind.GetKeyword */; + case 175 /* SyntaxKind.SetAccessor */: return 151 /* SyntaxKind.SetKeyword */; + case 171 /* SyntaxKind.MethodDeclaration */: if (node.asteriskToken) { return 41 /* SyntaxKind.AsteriskToken */; } // falls through - case 167 /* SyntaxKind.PropertyDeclaration */: - case 164 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 166 /* SyntaxKind.Parameter */: var name = ts.getNameOfDeclaration(node); if (name) { return name.kind; @@ -149778,15 +151155,15 @@ var ts; case 43 /* SyntaxKind.SlashToken */: case 31 /* SyntaxKind.GreaterThanToken */: switch (container.kind) { - case 280 /* SyntaxKind.JsxOpeningElement */: - case 281 /* SyntaxKind.JsxClosingElement */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 284 /* SyntaxKind.JsxClosingElement */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: return false; } break; case 22 /* SyntaxKind.OpenBracketToken */: case 23 /* SyntaxKind.CloseBracketToken */: - if (container.kind !== 195 /* SyntaxKind.MappedType */) { + if (container.kind !== 197 /* SyntaxKind.MappedType */) { return false; } break; @@ -149890,11 +151267,11 @@ var ts; return inheritedIndentation; } } - var effectiveParentStartLine = child.kind === 165 /* SyntaxKind.Decorator */ ? childStartLine : undecoratedParentStartLine; + var effectiveParentStartLine = child.kind === 167 /* SyntaxKind.Decorator */ ? childStartLine : undecoratedParentStartLine; var childIndentation = computeIndentation(child, childStartLine, childIndentationAmount, node, parentDynamicIndentation, effectiveParentStartLine); processNode(child, childContextNode, childStartLine, undecoratedChildStartLine, childIndentation.indentation, childIndentation.delta); childContextNode = node; - if (isFirstListItem && parent.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ && inheritedIndentation === -1 /* Constants.Unknown */) { + if (isFirstListItem && parent.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ && inheritedIndentation === -1 /* Constants.Unknown */) { inheritedIndentation = childIndentation.indentation; } return inheritedIndentation; @@ -150078,7 +151455,7 @@ var ts; var lineAction = 0 /* LineAction.None */; if (rules) { // Apply rules in reverse order so that higher priority rules (which are first in the array) - // win a conflict with lower priority rules. + // win in a conflict with lower priority rules. ts.forEachRight(rules, function (rule) { lineAction = applyRuleEdits(rule, previousItem, previousStartLine, currentItem, currentStartLine); if (dynamicIndentation) { @@ -150352,18 +151729,18 @@ var ts; formatting.getRangeOfEnclosingComment = getRangeOfEnclosingComment; function getOpenTokenForList(node, list) { switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 214 /* SyntaxKind.ArrowFunction */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 216 /* SyntaxKind.ArrowFunction */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: if (node.typeParameters === list) { return 29 /* SyntaxKind.LessThanToken */; } @@ -150371,8 +151748,8 @@ var ts; return 20 /* SyntaxKind.OpenParenToken */; } break; - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: if (node.typeArguments === list) { return 29 /* SyntaxKind.LessThanToken */; } @@ -150380,24 +151757,24 @@ var ts; return 20 /* SyntaxKind.OpenParenToken */; } break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: if (node.typeParameters === list) { return 29 /* SyntaxKind.LessThanToken */; } break; - case 178 /* SyntaxKind.TypeReference */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 181 /* SyntaxKind.TypeQuery */: - case 228 /* SyntaxKind.ExpressionWithTypeArguments */: - case 200 /* SyntaxKind.ImportType */: + case 180 /* SyntaxKind.TypeReference */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 183 /* SyntaxKind.TypeQuery */: + case 230 /* SyntaxKind.ExpressionWithTypeArguments */: + case 202 /* SyntaxKind.ImportType */: if (node.typeArguments === list) { return 29 /* SyntaxKind.LessThanToken */; } break; - case 182 /* SyntaxKind.TypeLiteral */: + case 184 /* SyntaxKind.TypeLiteral */: return 18 /* SyntaxKind.OpenBraceToken */; } return 0 /* SyntaxKind.Unknown */; @@ -150533,11 +151910,11 @@ var ts; // y: undefined, // } // ``` - var isObjectLiteral = currentToken.kind === 18 /* SyntaxKind.OpenBraceToken */ && currentToken.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */; + var isObjectLiteral = currentToken.kind === 18 /* SyntaxKind.OpenBraceToken */ && currentToken.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */; if (options.indentStyle === ts.IndentStyle.Block || isObjectLiteral) { return getBlockIndent(sourceFile, position, options); } - if (precedingToken.kind === 27 /* SyntaxKind.CommaToken */ && precedingToken.parent.kind !== 221 /* SyntaxKind.BinaryExpression */) { + if (precedingToken.kind === 27 /* SyntaxKind.CommaToken */ && precedingToken.parent.kind !== 223 /* SyntaxKind.BinaryExpression */) { // previous token is comma that separates items in list - find the previous item and try to derive indentation from it var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1 /* Value.Unknown */) { @@ -150547,7 +151924,7 @@ var ts; var containerList = getListByPosition(position, precedingToken.parent, sourceFile); // use list position if the preceding token is before any list items if (containerList && !ts.rangeContainsRange(containerList, precedingToken)) { - var useTheSameBaseIndentation = [213 /* SyntaxKind.FunctionExpression */, 214 /* SyntaxKind.ArrowFunction */].indexOf(currentToken.parent.kind) !== -1; + var useTheSameBaseIndentation = [215 /* SyntaxKind.FunctionExpression */, 216 /* SyntaxKind.ArrowFunction */].indexOf(currentToken.parent.kind) !== -1; var indentSize = useTheSameBaseIndentation ? 0 : options.indentSize; return getActualIndentationForListStartLine(containerList, sourceFile, options) + indentSize; // TODO: GH#18217 } @@ -150712,7 +152089,7 @@ var ts; // - parent is SourceFile - by default immediate children of SourceFile are not indented except when user indents them manually // - parent and child are not on the same line var useActualIndentation = (ts.isDeclaration(current) || ts.isStatementButNotDeclaration(current)) && - (parent.kind === 305 /* SyntaxKind.SourceFile */ || !parentAndChildShareLine); + (parent.kind === 308 /* SyntaxKind.SourceFile */ || !parentAndChildShareLine); if (!useActualIndentation) { return -1 /* Value.Unknown */; } @@ -150760,7 +152137,7 @@ var ts; } SmartIndenter.isArgumentAndStartLineOverlapsExpressionBeingCalled = isArgumentAndStartLineOverlapsExpressionBeingCalled; function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 239 /* SyntaxKind.IfStatement */ && parent.elseStatement === child) { + if (parent.kind === 242 /* SyntaxKind.IfStatement */ && parent.elseStatement === child) { var elseKeyword = ts.findChildOfKind(parent, 91 /* SyntaxKind.ElseKeyword */, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; @@ -150841,42 +152218,42 @@ var ts; } function getListByRange(start, end, node, sourceFile) { switch (node.kind) { - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return getList(node.typeArguments); - case 205 /* SyntaxKind.ObjectLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: return getList(node.properties); - case 204 /* SyntaxKind.ArrayLiteralExpression */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: return getList(node.elements); - case 182 /* SyntaxKind.TypeLiteral */: + case 184 /* SyntaxKind.TypeLiteral */: return getList(node.members); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 171 /* SyntaxKind.Constructor */: - case 180 /* SyntaxKind.ConstructorType */: - case 175 /* SyntaxKind.ConstructSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 173 /* SyntaxKind.Constructor */: + case 182 /* SyntaxKind.ConstructorType */: + case 177 /* SyntaxKind.ConstructSignature */: return getList(node.typeParameters) || getList(node.parameters); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return getList(node.parameters); - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 344 /* SyntaxKind.JSDocTemplateTag */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 347 /* SyntaxKind.JSDocTemplateTag */: return getList(node.typeParameters); - case 209 /* SyntaxKind.NewExpression */: - case 208 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: return getList(node.typeArguments) || getList(node.arguments); - case 255 /* SyntaxKind.VariableDeclarationList */: + case 258 /* SyntaxKind.VariableDeclarationList */: return getList(node.declarations); - case 269 /* SyntaxKind.NamedImports */: - case 273 /* SyntaxKind.NamedExports */: + case 272 /* SyntaxKind.NamedImports */: + case 276 /* SyntaxKind.NamedExports */: return getList(node.elements); - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: return getList(node.elements); } function getList(list) { @@ -150899,7 +152276,7 @@ var ts; return findColumnForFirstNonWhitespaceCharacterInLine(sourceFile.getLineAndCharacterOfPosition(list.pos), sourceFile, options); } function getActualIndentationForListItem(node, sourceFile, options, listIndentsChild) { - if (node.parent && node.parent.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (node.parent && node.parent.kind === 258 /* SyntaxKind.VariableDeclarationList */) { // VariableDeclarationList has no wrapping tokens return -1 /* Value.Unknown */; } @@ -150972,96 +152349,96 @@ var ts; function nodeWillIndentChild(settings, parent, child, sourceFile, indentByDefault) { var childKind = child ? child.kind : 0 /* SyntaxKind.Unknown */; switch (parent.kind) { - case 238 /* SyntaxKind.ExpressionStatement */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 235 /* SyntaxKind.Block */: - case 262 /* SyntaxKind.ModuleBlock */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 182 /* SyntaxKind.TypeLiteral */: - case 195 /* SyntaxKind.MappedType */: - case 184 /* SyntaxKind.TupleType */: - case 263 /* SyntaxKind.CaseBlock */: - case 290 /* SyntaxKind.DefaultClause */: - case 289 /* SyntaxKind.CaseClause */: - case 212 /* SyntaxKind.ParenthesizedExpression */: - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 237 /* SyntaxKind.VariableStatement */: - case 271 /* SyntaxKind.ExportAssignment */: - case 247 /* SyntaxKind.ReturnStatement */: - case 222 /* SyntaxKind.ConditionalExpression */: - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 280 /* SyntaxKind.JsxOpeningElement */: - case 283 /* SyntaxKind.JsxOpeningFragment */: - case 279 /* SyntaxKind.JsxSelfClosingElement */: - case 288 /* SyntaxKind.JsxExpression */: - case 168 /* SyntaxKind.MethodSignature */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 164 /* SyntaxKind.Parameter */: - case 179 /* SyntaxKind.FunctionType */: - case 180 /* SyntaxKind.ConstructorType */: - case 191 /* SyntaxKind.ParenthesizedType */: - case 210 /* SyntaxKind.TaggedTemplateExpression */: - case 218 /* SyntaxKind.AwaitExpression */: - case 273 /* SyntaxKind.NamedExports */: - case 269 /* SyntaxKind.NamedImports */: - case 275 /* SyntaxKind.ExportSpecifier */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 167 /* SyntaxKind.PropertyDeclaration */: + case 241 /* SyntaxKind.ExpressionStatement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 238 /* SyntaxKind.Block */: + case 265 /* SyntaxKind.ModuleBlock */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 184 /* SyntaxKind.TypeLiteral */: + case 197 /* SyntaxKind.MappedType */: + case 186 /* SyntaxKind.TupleType */: + case 266 /* SyntaxKind.CaseBlock */: + case 293 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 214 /* SyntaxKind.ParenthesizedExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 240 /* SyntaxKind.VariableStatement */: + case 274 /* SyntaxKind.ExportAssignment */: + case 250 /* SyntaxKind.ReturnStatement */: + case 224 /* SyntaxKind.ConditionalExpression */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 283 /* SyntaxKind.JsxOpeningElement */: + case 286 /* SyntaxKind.JsxOpeningFragment */: + case 282 /* SyntaxKind.JsxSelfClosingElement */: + case 291 /* SyntaxKind.JsxExpression */: + case 170 /* SyntaxKind.MethodSignature */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 166 /* SyntaxKind.Parameter */: + case 181 /* SyntaxKind.FunctionType */: + case 182 /* SyntaxKind.ConstructorType */: + case 193 /* SyntaxKind.ParenthesizedType */: + case 212 /* SyntaxKind.TaggedTemplateExpression */: + case 220 /* SyntaxKind.AwaitExpression */: + case 276 /* SyntaxKind.NamedExports */: + case 272 /* SyntaxKind.NamedImports */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 169 /* SyntaxKind.PropertyDeclaration */: return true; - case 254 /* SyntaxKind.VariableDeclaration */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 221 /* SyntaxKind.BinaryExpression */: - if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 205 /* SyntaxKind.ObjectLiteralExpression */) { // TODO: GH#18217 + case 257 /* SyntaxKind.VariableDeclaration */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 223 /* SyntaxKind.BinaryExpression */: + if (!settings.indentMultiLineObjectLiteralBeginningOnBlankLine && sourceFile && childKind === 207 /* SyntaxKind.ObjectLiteralExpression */) { // TODO: GH#18217 return rangeIsOnOneLine(sourceFile, child); } - if (parent.kind === 221 /* SyntaxKind.BinaryExpression */ && sourceFile && child && childKind === 278 /* SyntaxKind.JsxElement */) { + if (parent.kind === 223 /* SyntaxKind.BinaryExpression */ && sourceFile && child && childKind === 281 /* SyntaxKind.JsxElement */) { var parentStartLine = sourceFile.getLineAndCharacterOfPosition(ts.skipTrivia(sourceFile.text, parent.pos)).line; var childStartLine = sourceFile.getLineAndCharacterOfPosition(ts.skipTrivia(sourceFile.text, child.pos)).line; return parentStartLine !== childStartLine; } - if (parent.kind !== 221 /* SyntaxKind.BinaryExpression */) { + if (parent.kind !== 223 /* SyntaxKind.BinaryExpression */) { return true; } break; - case 240 /* SyntaxKind.DoStatement */: - case 241 /* SyntaxKind.WhileStatement */: - case 243 /* SyntaxKind.ForInStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 239 /* SyntaxKind.IfStatement */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - return childKind !== 235 /* SyntaxKind.Block */; - case 214 /* SyntaxKind.ArrowFunction */: - if (sourceFile && childKind === 212 /* SyntaxKind.ParenthesizedExpression */) { + case 243 /* SyntaxKind.DoStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 246 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + return childKind !== 238 /* SyntaxKind.Block */; + case 216 /* SyntaxKind.ArrowFunction */: + if (sourceFile && childKind === 214 /* SyntaxKind.ParenthesizedExpression */) { return rangeIsOnOneLine(sourceFile, child); } - return childKind !== 235 /* SyntaxKind.Block */; - case 272 /* SyntaxKind.ExportDeclaration */: - return childKind !== 273 /* SyntaxKind.NamedExports */; - case 266 /* SyntaxKind.ImportDeclaration */: - return childKind !== 267 /* SyntaxKind.ImportClause */ || - (!!child.namedBindings && child.namedBindings.kind !== 269 /* SyntaxKind.NamedImports */); - case 278 /* SyntaxKind.JsxElement */: - return childKind !== 281 /* SyntaxKind.JsxClosingElement */; - case 282 /* SyntaxKind.JsxFragment */: - return childKind !== 284 /* SyntaxKind.JsxClosingFragment */; - case 188 /* SyntaxKind.IntersectionType */: - case 187 /* SyntaxKind.UnionType */: - if (childKind === 182 /* SyntaxKind.TypeLiteral */ || childKind === 184 /* SyntaxKind.TupleType */) { + return childKind !== 238 /* SyntaxKind.Block */; + case 275 /* SyntaxKind.ExportDeclaration */: + return childKind !== 276 /* SyntaxKind.NamedExports */; + case 269 /* SyntaxKind.ImportDeclaration */: + return childKind !== 270 /* SyntaxKind.ImportClause */ || + (!!child.namedBindings && child.namedBindings.kind !== 272 /* SyntaxKind.NamedImports */); + case 281 /* SyntaxKind.JsxElement */: + return childKind !== 284 /* SyntaxKind.JsxClosingElement */; + case 285 /* SyntaxKind.JsxFragment */: + return childKind !== 287 /* SyntaxKind.JsxClosingFragment */; + case 190 /* SyntaxKind.IntersectionType */: + case 189 /* SyntaxKind.UnionType */: + if (childKind === 184 /* SyntaxKind.TypeLiteral */ || childKind === 186 /* SyntaxKind.TupleType */) { return false; } break; @@ -151072,11 +152449,11 @@ var ts; SmartIndenter.nodeWillIndentChild = nodeWillIndentChild; function isControlFlowEndingStatement(kind, parent) { switch (kind) { - case 247 /* SyntaxKind.ReturnStatement */: - case 251 /* SyntaxKind.ThrowStatement */: - case 245 /* SyntaxKind.ContinueStatement */: - case 246 /* SyntaxKind.BreakStatement */: - return parent.kind !== 235 /* SyntaxKind.Block */; + case 250 /* SyntaxKind.ReturnStatement */: + case 254 /* SyntaxKind.ThrowStatement */: + case 248 /* SyntaxKind.ContinueStatement */: + case 249 /* SyntaxKind.BreakStatement */: + return parent.kind !== 238 /* SyntaxKind.Block */; default: return false; } @@ -151293,7 +152670,7 @@ var ts; * Checks if 'candidate' argument is a legal separator in the list that contains 'node' as an element */ function isSeparator(node, candidate) { - return !!candidate && !!node.parent && (candidate.kind === 27 /* SyntaxKind.CommaToken */ || (candidate.kind === 26 /* SyntaxKind.SemicolonToken */ && node.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */)); + return !!candidate && !!node.parent && (candidate.kind === 27 /* SyntaxKind.CommaToken */ || (candidate.kind === 26 /* SyntaxKind.SemicolonToken */ && node.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */)); } function isThisTypeAnnotatable(containingFunction) { return ts.isFunctionExpression(containingFunction) || ts.isFunctionDeclaration(containingFunction); @@ -151525,7 +152902,7 @@ var ts; } } else { - endNode = (_a = (node.kind === 254 /* SyntaxKind.VariableDeclaration */ ? node.exclamationToken : node.questionToken)) !== null && _a !== void 0 ? _a : node.name; + endNode = (_a = (node.kind === 257 /* SyntaxKind.VariableDeclaration */ ? node.exclamationToken : node.questionToken)) !== null && _a !== void 0 ? _a : node.name; } this.insertNodeAt(sourceFile, endNode.end, type, { prefix: ": " }); return true; @@ -151691,18 +153068,18 @@ var ts; }; ChangeTracker.prototype.getInsertNodeAfterOptionsWorker = function (node) { switch (node.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return { prefix: this.newLineCharacter, suffix: this.newLineCharacter }; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: case 10 /* SyntaxKind.StringLiteral */: case 79 /* SyntaxKind.Identifier */: return { prefix: ", " }; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return { suffix: "," + this.newLineCharacter }; case 93 /* SyntaxKind.ExportKeyword */: return { prefix: " " }; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return {}; default: ts.Debug.assert(ts.isStatement(node) || ts.isClassOrTypeElement(node)); // Else we haven't handled this kind of node yet -- add it @@ -151711,7 +153088,7 @@ var ts; }; ChangeTracker.prototype.insertName = function (sourceFile, node, name) { ts.Debug.assert(!node.name); - if (node.kind === 214 /* SyntaxKind.ArrowFunction */) { + if (node.kind === 216 /* SyntaxKind.ArrowFunction */) { var arrow = ts.findChildOfKind(node, 38 /* SyntaxKind.EqualsGreaterThanToken */, sourceFile); var lparen = ts.findChildOfKind(node, 20 /* SyntaxKind.OpenParenToken */, sourceFile); if (lparen) { @@ -151725,14 +153102,14 @@ var ts; // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)` this.replaceRange(sourceFile, arrow, ts.factory.createToken(21 /* SyntaxKind.CloseParenToken */)); } - if (node.body.kind !== 235 /* SyntaxKind.Block */) { + if (node.body.kind !== 238 /* SyntaxKind.Block */) { // `() => 0` => `function f() { return 0; }` this.insertNodesAt(sourceFile, node.body.getStart(sourceFile), [ts.factory.createToken(18 /* SyntaxKind.OpenBraceToken */), ts.factory.createToken(105 /* SyntaxKind.ReturnKeyword */)], { joiner: " ", suffix: " " }); this.insertNodesAt(sourceFile, node.body.end, [ts.factory.createToken(26 /* SyntaxKind.SemicolonToken */), ts.factory.createToken(19 /* SyntaxKind.CloseBraceToken */)], { joiner: " " }); } } else { - var pos = ts.findChildOfKind(node, node.kind === 213 /* SyntaxKind.FunctionExpression */ ? 98 /* SyntaxKind.FunctionKeyword */ : 84 /* SyntaxKind.ClassKeyword */, sourceFile).end; + var pos = ts.findChildOfKind(node, node.kind === 215 /* SyntaxKind.FunctionExpression */ ? 98 /* SyntaxKind.FunctionKeyword */ : 84 /* SyntaxKind.ClassKeyword */, sourceFile).end; this.insertNodeAt(sourceFile, pos, ts.factory.createIdentifier(name), { prefix: " " }); } }; @@ -151909,10 +153286,10 @@ var ts; }()); textChanges_3.ChangeTracker = ChangeTracker; function updateJSDocHost(parent) { - if (parent.kind !== 214 /* SyntaxKind.ArrowFunction */) { + if (parent.kind !== 216 /* SyntaxKind.ArrowFunction */) { return parent; } - var jsDocNode = parent.parent.kind === 167 /* SyntaxKind.PropertyDeclaration */ ? + var jsDocNode = parent.parent.kind === 169 /* SyntaxKind.PropertyDeclaration */ ? parent.parent : parent.parent.parent; jsDocNode.jsDoc = parent.jsDoc; @@ -151924,16 +153301,16 @@ var ts; return undefined; } switch (oldTag.kind) { - case 340 /* SyntaxKind.JSDocParameterTag */: { + case 343 /* SyntaxKind.JSDocParameterTag */: { var oldParam = oldTag; var newParam = newTag; return ts.isIdentifier(oldParam.name) && ts.isIdentifier(newParam.name) && oldParam.name.escapedText === newParam.name.escapedText ? ts.factory.createJSDocParameterTag(/*tagName*/ undefined, newParam.name, /*isBracketed*/ false, newParam.typeExpression, newParam.isNameFirst, oldParam.comment) : undefined; } - case 341 /* SyntaxKind.JSDocReturnTag */: + case 344 /* SyntaxKind.JSDocReturnTag */: return ts.factory.createJSDocReturnTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); - case 343 /* SyntaxKind.JSDocTypeTag */: + case 346 /* SyntaxKind.JSDocTypeTag */: return ts.factory.createJSDocTypeTag(/*tagName*/ undefined, newTag.typeExpression, oldTag.comment); } } @@ -151941,6 +153318,26 @@ var ts; function startPositionToDeleteNodeInList(sourceFile, node) { return ts.skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true); } + function endPositionToDeleteNodeInList(sourceFile, node, prevNode, nextNode) { + var end = startPositionToDeleteNodeInList(sourceFile, nextNode); + if (prevNode === undefined || ts.positionsAreOnSameLine(getAdjustedEndPosition(sourceFile, node, {}), end, sourceFile)) { + return end; + } + var token = ts.findPrecedingToken(nextNode.getStart(sourceFile), sourceFile); + if (isSeparator(node, token)) { + var prevToken = ts.findPrecedingToken(node.getStart(sourceFile), sourceFile); + if (isSeparator(prevNode, prevToken)) { + var pos = ts.skipTrivia(sourceFile.text, token.getEnd(), /*stopAfterLineBreak*/ true, /*stopAtComments*/ true); + if (ts.positionsAreOnSameLine(prevToken.getStart(sourceFile), token.getStart(sourceFile), sourceFile)) { + return ts.isLineBreak(sourceFile.text.charCodeAt(pos - 1)) ? pos - 1 : pos; + } + if (ts.isLineBreak(sourceFile.text.charCodeAt(pos))) { + return pos; + } + } + } + return end; + } function getClassOrObjectBraceEnds(cls, sourceFile) { var open = ts.findChildOfKind(cls, 18 /* SyntaxKind.OpenBraceToken */, sourceFile); var close = ts.findChildOfKind(cls, 19 /* SyntaxKind.CloseBraceToken */, sourceFile); @@ -152327,14 +153724,14 @@ var ts; } textChanges_3.isValidLocationToAddComment = isValidLocationToAddComment; function needSemicolonBetween(a, b) { - return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 162 /* SyntaxKind.ComputedPropertyName */ + return (ts.isPropertySignature(a) || ts.isPropertyDeclaration(a)) && ts.isClassOrTypeElement(b) && b.name.kind === 164 /* SyntaxKind.ComputedPropertyName */ || ts.isStatementButNotDeclaration(a) && ts.isStatementButNotDeclaration(b); // TODO: only if b would start with a `(` or `[` } var deleteDeclaration; (function (deleteDeclaration_1) { function deleteDeclaration(changes, deletedNodesInLists, sourceFile, node) { switch (node.kind) { - case 164 /* SyntaxKind.Parameter */: { + case 166 /* SyntaxKind.Parameter */: { var oldFunction = node.parent; if (ts.isArrowFunction(oldFunction) && oldFunction.parameters.length === 1 && @@ -152349,17 +153746,17 @@ var ts; } break; } - case 266 /* SyntaxKind.ImportDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: var isFirstImport = sourceFile.imports.length && node === ts.first(sourceFile.imports).parent || node === ts.find(sourceFile.statements, ts.isAnyImportSyntax); // For first import, leave header comment in place, otherwise only delete JSDoc comments deleteNode(changes, sourceFile, node, { leadingTriviaOption: isFirstImport ? LeadingTriviaOption.Exclude : ts.hasJSDocNodes(node) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine, }); break; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: var pattern = node.parent; - var preserveComma = pattern.kind === 202 /* SyntaxKind.ArrayBindingPattern */ && node !== ts.last(pattern.elements); + var preserveComma = pattern.kind === 204 /* SyntaxKind.ArrayBindingPattern */ && node !== ts.last(pattern.elements); if (preserveComma) { deleteNode(changes, sourceFile, node); } @@ -152367,13 +153764,13 @@ var ts; deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); } break; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: deleteVariableDeclaration(changes, deletedNodesInLists, sourceFile, node); break; - case 163 /* SyntaxKind.TypeParameter */: + case 165 /* SyntaxKind.TypeParameter */: deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); break; - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: var namedImports = node.parent; if (namedImports.elements.length === 1) { deleteImportBinding(changes, sourceFile, namedImports); @@ -152382,7 +153779,7 @@ var ts; deleteNodeInList(changes, deletedNodesInLists, sourceFile, node); } break; - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: deleteImportBinding(changes, sourceFile, node); break; case 26 /* SyntaxKind.SemicolonToken */: @@ -152391,8 +153788,8 @@ var ts; case 98 /* SyntaxKind.FunctionKeyword */: deleteNode(changes, sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.Exclude }); break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: deleteNode(changes, sourceFile, node, { leadingTriviaOption: ts.hasJSDocNodes(node) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine }); break; default: @@ -152443,13 +153840,13 @@ var ts; // Delete the entire import declaration // |import * as ns from './file'| // |import { a } from './file'| - var importDecl = ts.getAncestor(node, 266 /* SyntaxKind.ImportDeclaration */); + var importDecl = ts.getAncestor(node, 269 /* SyntaxKind.ImportDeclaration */); deleteNode(changes, sourceFile, importDecl); } } function deleteVariableDeclaration(changes, deletedNodesInLists, sourceFile, node) { var parent = node.parent; - if (parent.kind === 292 /* SyntaxKind.CatchClause */) { + if (parent.kind === 295 /* SyntaxKind.CatchClause */) { // TODO: There's currently no unused diagnostic for this, could be a suggestion changes.deleteNodeRange(sourceFile, ts.findChildOfKind(parent, 20 /* SyntaxKind.OpenParenToken */, sourceFile), ts.findChildOfKind(parent, 21 /* SyntaxKind.CloseParenToken */, sourceFile)); return; @@ -152460,14 +153857,14 @@ var ts; } var gp = parent.parent; switch (gp.kind) { - case 244 /* SyntaxKind.ForOfStatement */: - case 243 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: changes.replaceNode(sourceFile, node, ts.factory.createObjectLiteralExpression()); break; - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: deleteNode(changes, sourceFile, parent); break; - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: deleteNode(changes, sourceFile, gp, { leadingTriviaOption: ts.hasJSDocNodes(gp) ? LeadingTriviaOption.JSDoc : LeadingTriviaOption.StartLine }); break; default: @@ -152498,7 +153895,7 @@ var ts; deletedNodesInLists.add(node); changes.deleteRange(sourceFile, { pos: startPositionToDeleteNodeInList(sourceFile, node), - end: index === containingList.length - 1 ? getAdjustedEndPosition(sourceFile, node, {}) : startPositionToDeleteNodeInList(sourceFile, containingList[index + 1]), + end: index === containingList.length - 1 ? getAdjustedEndPosition(sourceFile, node, {}) : endPositionToDeleteNodeInList(sourceFile, node, containingList[index - 1], containingList[index + 1]), }); } })(textChanges = ts.textChanges || (ts.textChanges = {})); @@ -152654,8 +154051,8 @@ var ts; }); function makeChange(changeTracker, sourceFile, assertion) { var replacement = ts.isAsExpression(assertion) - ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)) - : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), assertion.expression); + ? ts.factory.createAsExpression(assertion.expression, ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */)) + : ts.factory.createTypeAssertion(ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */), assertion.expression); changeTracker.replaceNode(sourceFile, assertion.expression, replacement); } function getAssertion(sourceFile, pos) { @@ -152679,8 +154076,8 @@ var ts; var sourceFile = context.sourceFile; var changes = ts.textChanges.ChangeTracker.with(context, function (changes) { var exportDeclaration = ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ false, ts.factory.createNamedExports([]), + /*modifiers*/ undefined, + /*isTypeOnly*/ false, ts.factory.createNamedExports([]), /*moduleSpecifier*/ undefined); changes.insertNodeAtEndOfScope(sourceFile, sourceFile, exportDeclaration); }); @@ -152739,7 +154136,7 @@ var ts; } } fixedDeclarations === null || fixedDeclarations === void 0 ? void 0 : fixedDeclarations.add(ts.getNodeId(insertionSite)); - var cloneWithModifier = ts.factory.updateModifiers(ts.getSynthesizedDeepClone(insertionSite, /*includeTrivia*/ true), ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(ts.getSyntacticModifierFlags(insertionSite) | 256 /* ModifierFlags.Async */))); + var cloneWithModifier = ts.factory.updateModifiers(ts.getSynthesizedDeepClone(insertionSite, /*includeTrivia*/ true), ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(ts.getSyntacticModifierFlags(insertionSite) | 512 /* ModifierFlags.Async */))); changeTracker.replaceNode(sourceFile, insertionSite, cloneWithModifier); } function getFixableErrorSpanDeclaration(sourceFile, span) { @@ -152785,7 +154182,7 @@ var ts; ts.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code, ts.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code, - ts.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code, + ts.Diagnostics.This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap.code, ts.Diagnostics.This_condition_will_always_return_true_since_this_0_is_always_defined.code, ts.Diagnostics.Type_0_is_not_an_array_type.code, ts.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code, @@ -152883,7 +154280,7 @@ var ts; } var declaration = ts.tryCast(symbol.valueDeclaration, ts.isVariableDeclaration); var variableName = declaration && ts.tryCast(declaration.name, ts.isIdentifier); - var variableStatement = ts.getAncestor(declaration, 237 /* SyntaxKind.VariableStatement */); + var variableStatement = ts.getAncestor(declaration, 240 /* SyntaxKind.VariableStatement */); if (!declaration || !variableStatement || declaration.type || !declaration.initializer || @@ -152961,13 +154358,22 @@ var ts; function isInsideAwaitableBody(node) { return node.kind & 32768 /* NodeFlags.AwaitContext */ || !!ts.findAncestor(node, function (ancestor) { return ancestor.parent && ts.isArrowFunction(ancestor.parent) && ancestor.parent.body === ancestor || - ts.isBlock(ancestor) && (ancestor.parent.kind === 256 /* SyntaxKind.FunctionDeclaration */ || - ancestor.parent.kind === 213 /* SyntaxKind.FunctionExpression */ || - ancestor.parent.kind === 214 /* SyntaxKind.ArrowFunction */ || - ancestor.parent.kind === 169 /* SyntaxKind.MethodDeclaration */); + ts.isBlock(ancestor) && (ancestor.parent.kind === 259 /* SyntaxKind.FunctionDeclaration */ || + ancestor.parent.kind === 215 /* SyntaxKind.FunctionExpression */ || + ancestor.parent.kind === 216 /* SyntaxKind.ArrowFunction */ || + ancestor.parent.kind === 171 /* SyntaxKind.MethodDeclaration */); }); } function makeChange(changeTracker, errorCode, sourceFile, checker, insertionSite, fixedDeclarations) { + if (ts.isForOfStatement(insertionSite.parent) && !insertionSite.parent.awaitModifier) { + var exprType = checker.getTypeAtLocation(insertionSite); + var asyncIter = checker.getAsyncIterableType(); + if (asyncIter && checker.isTypeAssignableTo(exprType, asyncIter)) { + var forOf = insertionSite.parent; + changeTracker.replaceNode(sourceFile, forOf, ts.factory.updateForOfStatement(forOf, ts.factory.createToken(133 /* SyntaxKind.AwaitKeyword */), forOf.initializer, forOf.expression, forOf.statement)); + return; + } + } if (ts.isBinaryExpression(insertionSite)) { for (var _i = 0, _a = [insertionSite.left, insertionSite.right]; _i < _a.length; _i++) { var side = _a[_i]; @@ -153083,10 +154489,10 @@ var ts; function isPossiblyPartOfDestructuring(node) { switch (node.kind) { case 79 /* SyntaxKind.Identifier */: - case 204 /* SyntaxKind.ArrayLiteralExpression */: - case 205 /* SyntaxKind.ObjectLiteralExpression */: - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 206 /* SyntaxKind.ArrayLiteralExpression */: + case 207 /* SyntaxKind.ObjectLiteralExpression */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: return true; default: return false; @@ -153101,7 +154507,7 @@ var ts; function isPossiblyPartOfCommaSeperatedInitializer(node) { switch (node.kind) { case 79 /* SyntaxKind.Identifier */: - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: case 27 /* SyntaxKind.CommaToken */: return true; default: @@ -153150,9 +154556,9 @@ var ts; return; } var declaration = token.parent; - if (declaration.kind === 167 /* SyntaxKind.PropertyDeclaration */ && + if (declaration.kind === 169 /* SyntaxKind.PropertyDeclaration */ && (!fixedNodes || ts.tryAddToSet(fixedNodes, declaration))) { - changeTracker.insertModifierBefore(sourceFile, 135 /* SyntaxKind.DeclareKeyword */, declaration); + changeTracker.insertModifierBefore(sourceFile, 136 /* SyntaxKind.DeclareKeyword */, declaration); } } })(codefix = ts.codefix || (ts.codefix = {})); @@ -153306,7 +154712,7 @@ var ts; var add = toAdd_1[_i]; var d = add.valueDeclaration; if (d && (ts.isPropertySignature(d) || ts.isPropertyDeclaration(d)) && d.type) { - var t = ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], d.type.kind === 187 /* SyntaxKind.UnionType */ ? d.type.types : [d.type], true), [ + var t = ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], d.type.kind === 189 /* SyntaxKind.UnionType */ ? d.type.types : [d.type], true), [ ts.factory.createTypeReferenceNode("undefined") ], false)); changes.replaceNode(d.getSourceFile(), d.type, t); @@ -153386,26 +154792,26 @@ var ts; } function isDeclarationWithType(node) { return ts.isFunctionLikeDeclaration(node) || - node.kind === 254 /* SyntaxKind.VariableDeclaration */ || - node.kind === 166 /* SyntaxKind.PropertySignature */ || - node.kind === 167 /* SyntaxKind.PropertyDeclaration */; + node.kind === 257 /* SyntaxKind.VariableDeclaration */ || + node.kind === 168 /* SyntaxKind.PropertySignature */ || + node.kind === 169 /* SyntaxKind.PropertyDeclaration */; } function transformJSDocType(node) { switch (node.kind) { - case 312 /* SyntaxKind.JSDocAllType */: - case 313 /* SyntaxKind.JSDocUnknownType */: + case 315 /* SyntaxKind.JSDocAllType */: + case 316 /* SyntaxKind.JSDocUnknownType */: return ts.factory.createTypeReferenceNode("any", ts.emptyArray); - case 316 /* SyntaxKind.JSDocOptionalType */: + case 319 /* SyntaxKind.JSDocOptionalType */: return transformJSDocOptionalType(node); - case 315 /* SyntaxKind.JSDocNonNullableType */: + case 318 /* SyntaxKind.JSDocNonNullableType */: return transformJSDocType(node.type); - case 314 /* SyntaxKind.JSDocNullableType */: + case 317 /* SyntaxKind.JSDocNullableType */: return transformJSDocNullableType(node); - case 318 /* SyntaxKind.JSDocVariadicType */: + case 321 /* SyntaxKind.JSDocVariadicType */: return transformJSDocVariadicType(node); - case 317 /* SyntaxKind.JSDocFunctionType */: + case 320 /* SyntaxKind.JSDocFunctionType */: return transformJSDocFunctionType(node); - case 178 /* SyntaxKind.TypeReference */: + case 180 /* SyntaxKind.TypeReference */: return transformJSDocTypeReference(node); default: var visited = ts.visitEachChild(node, transformJSDocType, ts.nullTransformationContext); @@ -153426,11 +154832,11 @@ var ts; var _a; // TODO: This does not properly handle `function(new:C, string)` per https://github.com/google/closure-compiler/wiki/Types-in-the-Closure-Type-System#the-javascript-type-language // however we do handle it correctly in `serializeTypeForDeclaration` in checker.ts - return ts.factory.createFunctionTypeNode(ts.emptyArray, node.parameters.map(transformJSDocParameter), (_a = node.type) !== null && _a !== void 0 ? _a : ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)); + return ts.factory.createFunctionTypeNode(ts.emptyArray, node.parameters.map(transformJSDocParameter), (_a = node.type) !== null && _a !== void 0 ? _a : ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */)); } function transformJSDocParameter(node) { var index = node.parent.parameters.indexOf(node); - var isRest = node.type.kind === 318 /* SyntaxKind.JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 + var isRest = node.type.kind === 321 /* SyntaxKind.JSDocVariadicType */ && index === node.parent.parameters.length - 1; // TODO: GH#18217 var name = node.name || (isRest ? "rest" : "arg" + index); var dotdotdot = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : node.dotDotDotToken; return ts.factory.createParameterDeclaration(node.modifiers, dotdotdot, name, node.questionToken, ts.visitNode(node.type, transformJSDocType), node.initializer); @@ -153468,9 +154874,9 @@ var ts; } function transformJSDocIndexSignature(node) { var index = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "n" : "s", - /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 147 /* SyntaxKind.NumberKeyword */ ? "number" : "string", []), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, node.typeArguments[0].kind === 148 /* SyntaxKind.NumberKeyword */ ? "n" : "s", + /*questionToken*/ undefined, ts.factory.createTypeReferenceNode(node.typeArguments[0].kind === 148 /* SyntaxKind.NumberKeyword */ ? "number" : "string", []), /*initializer*/ undefined); var indexSignature = ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(/*modifiers*/ undefined, [index], node.typeArguments[1])]); ts.setEmitFlags(indexSignature, 1 /* EmitFlags.SingleLine */); @@ -153505,8 +154911,8 @@ var ts; return undefined; } var ctorDeclaration = ctorSymbol.valueDeclaration; - if (ts.isFunctionDeclaration(ctorDeclaration)) { - changes.replaceNode(sourceFile, ctorDeclaration, createClassFromFunctionDeclaration(ctorDeclaration)); + if (ts.isFunctionDeclaration(ctorDeclaration) || ts.isFunctionExpression(ctorDeclaration)) { + changes.replaceNode(sourceFile, ctorDeclaration, createClassFromFunction(ctorDeclaration)); } else if (ts.isVariableDeclaration(ctorDeclaration)) { var classDeclaration = createClassFromVariableDeclaration(ctorDeclaration); @@ -153610,11 +155016,11 @@ var ts; return; } // delete the entire statement if this expression is the sole expression to take care of the semicolon at the end - var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ + var nodeToDelete = assignmentBinaryExpression.parent && assignmentBinaryExpression.parent.kind === 241 /* SyntaxKind.ExpressionStatement */ ? assignmentBinaryExpression.parent : assignmentBinaryExpression; changes.delete(sourceFile, nodeToDelete); if (!assignmentExpr) { - members.push(ts.factory.createPropertyDeclaration(modifiers, symbol.name, /*questionToken*/ undefined, + members.push(ts.factory.createPropertyDeclaration(modifiers, symbol.name, /*questionToken*/ undefined, /*type*/ undefined, /*initializer*/ undefined)); return; } @@ -153662,8 +155068,8 @@ var ts; return createArrowFunctionExpressionMember(members, expression, name); } function createFunctionExpressionMember(members, functionExpression, name) { - var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 131 /* SyntaxKind.AsyncKeyword */)); - var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, + var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(functionExpression, 132 /* SyntaxKind.AsyncKeyword */)); + var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, functionExpression.parameters, /*type*/ undefined, functionExpression.body); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); members.push(method); @@ -153673,15 +155079,15 @@ var ts; var arrowFunctionBody = arrowFunction.body; var bodyBlock; // case 1: () => { return [1,2,3] } - if (arrowFunctionBody.kind === 235 /* SyntaxKind.Block */) { + if (arrowFunctionBody.kind === 238 /* SyntaxKind.Block */) { bodyBlock = arrowFunctionBody; } // case 2: () => [1,2,3] else { bodyBlock = ts.factory.createBlock([ts.factory.createReturnStatement(arrowFunctionBody)]); } - var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(arrowFunction, 131 /* SyntaxKind.AsyncKeyword */)); - var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, + var fullModifiers = ts.concatenate(modifiers, getModifierKindFromSource(arrowFunction, 132 /* SyntaxKind.AsyncKeyword */)); + var method = ts.factory.createMethodDeclaration(fullModifiers, /*asteriskToken*/ undefined, name, /*questionToken*/ undefined, /*typeParameters*/ undefined, arrowFunction.parameters, /*type*/ undefined, bodyBlock); ts.copyLeadingComments(assignmentBinaryExpression, method, sourceFile); members.push(method); @@ -153698,18 +155104,18 @@ var ts; memberElements.unshift(ts.factory.createConstructorDeclaration(/*modifiers*/ undefined, initializer.parameters, initializer.body)); } var modifiers = getModifierKindFromSource(node.parent.parent, 93 /* SyntaxKind.ExportKeyword */); - var cls = ts.factory.createClassDeclaration(modifiers, node.name, + var cls = ts.factory.createClassDeclaration(modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place return cls; } - function createClassFromFunctionDeclaration(node) { + function createClassFromFunction(node) { var memberElements = createClassElementsFromSymbol(ctorSymbol); if (node.body) { memberElements.unshift(ts.factory.createConstructorDeclaration(/*modifiers*/ undefined, node.parameters, node.body)); } var modifiers = getModifierKindFromSource(node, 93 /* SyntaxKind.ExportKeyword */); - var cls = ts.factory.createClassDeclaration(modifiers, node.name, + var cls = ts.factory.createClassDeclaration(modifiers, node.name, /*typeParameters*/ undefined, /*heritageClauses*/ undefined, memberElements); // Don't call copyComments here because we'll already leave them in place return cls; @@ -153793,7 +155199,7 @@ var ts; return; } var pos = ts.skipTrivia(sourceFile.text, ts.moveRangePastModifiers(functionToConvert).pos); - changes.insertModifierAt(sourceFile, pos, 131 /* SyntaxKind.AsyncKeyword */, { suffix: " " }); + changes.insertModifierAt(sourceFile, pos, 132 /* SyntaxKind.AsyncKeyword */, { suffix: " " }); var _loop_12 = function (returnStatement) { ts.forEachChild(returnStatement, function visit(node) { if (ts.isCallExpression(node)) { @@ -154067,8 +155473,8 @@ var ts; if (continuationArgName && varDeclIdentifier && isSynthBindingPattern(continuationArgName)) { statements.push(ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ - ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingPattern(continuationArgName)), - /*exclamationToken*/ undefined, + ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingPattern(continuationArgName)), + /*exclamationToken*/ undefined, /*type*/ undefined, varDeclIdentifier) ], 2 /* NodeFlags.Const */))); } @@ -154173,7 +155579,7 @@ var ts; return [ ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ - ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingName(variableName)), + ts.factory.createVariableDeclaration(ts.getSynthesizedDeepClone(declareSynthBindingName(variableName)), /*exclamationToken*/ undefined, typeAnnotation, rightHandSide) ], 2 /* NodeFlags.Const */)) ]; @@ -154199,7 +155605,7 @@ var ts; case 104 /* SyntaxKind.NullKeyword */: // do not produce a transformed statement for a null argument break; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: case 79 /* SyntaxKind.Identifier */: // identifier includes undefined if (!inputArgName) { // undefined was argument passed to promise handler @@ -154221,8 +155627,8 @@ var ts; continuationArgName.types.push(transformer.checker.getAwaitedType(returnType) || returnType); } return varDeclOrAssignment; - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: { + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: { var funcBody = func.body; var returnType_1 = (_a = getLastCallSignature(transformer.checker.getTypeAtLocation(func), transformer.checker)) === null || _a === void 0 ? void 0 : _a.getReturnType(); // Arrow functions with block bodies { } will enter this control flow @@ -154391,7 +155797,7 @@ var ts; name = getMapEntryOrDefault(funcNode.name); } // return undefined argName when arg is null or undefined - // eslint-disable-next-line no-in-operator + // eslint-disable-next-line local/no-in-operator if (!name || "identifier" in name && name.identifier.text === "undefined") { return undefined; } @@ -154500,10 +155906,10 @@ var ts; } var importNode = ts.importFromModuleSpecifier(moduleSpecifier); switch (importNode.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: changes.replaceNode(importingFile, importNode, ts.makeImport(importNode.name, /*namedImports*/ undefined, moduleSpecifier, quotePreference)); break; - case 208 /* SyntaxKind.CallExpression */: + case 210 /* SyntaxKind.CallExpression */: if (ts.isRequireCall(importNode, /*checkArgumentIsStringLiteralLike*/ false)) { changes.replaceNode(importingFile, importNode, ts.factory.createPropertyAccessExpression(ts.getSynthesizedDeepClone(importNode), "default")); } @@ -154570,20 +155976,20 @@ var ts; } function convertStatement(sourceFile, statement, checker, changes, identifiers, target, exports, useSitesToUnqualify, quotePreference) { switch (statement.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: convertVariableStatement(sourceFile, statement, changes, checker, identifiers, target, quotePreference); return false; - case 238 /* SyntaxKind.ExpressionStatement */: { + case 241 /* SyntaxKind.ExpressionStatement */: { var expression = statement.expression; switch (expression.kind) { - case 208 /* SyntaxKind.CallExpression */: { + case 210 /* SyntaxKind.CallExpression */: { if (ts.isRequireCall(expression, /*checkArgumentIsStringLiteralLike*/ true)) { // For side-effecting require() call, just make a side-effecting import. changes.replaceNode(sourceFile, statement, ts.makeImport(/*name*/ undefined, /*namedImports*/ undefined, expression.arguments[0], quotePreference)); } return false; } - case 221 /* SyntaxKind.BinaryExpression */: { + case 223 /* SyntaxKind.BinaryExpression */: { var operatorToken = expression.operatorToken; return operatorToken.kind === 63 /* SyntaxKind.EqualsToken */ && convertAssignment(sourceFile, checker, expression, changes, exports, useSitesToUnqualify); } @@ -154632,8 +156038,8 @@ var ts; /** Converts `const name = require("moduleSpecifier").propertyName` */ function convertPropertyAccessImport(name, propertyName, moduleSpecifier, identifiers, quotePreference) { switch (name.kind) { - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: { + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: { // `const [a, b] = require("c").d` --> `import { d } from "c"; const [a, b] = d;` var tmp = makeUniqueName(propertyName, identifiers); return convertedImports([ @@ -154684,16 +156090,16 @@ var ts; function tryChangeModuleExportsObject(object, useSitesToUnqualify) { var statements = ts.mapAllOrFail(object.properties, function (prop) { switch (prop.kind) { - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // TODO: Maybe we should handle this? See fourslash test `refactorConvertToEs6Module_export_object_shorthand.ts`. // falls through - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 298 /* SyntaxKind.SpreadAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 301 /* SyntaxKind.SpreadAssignment */: return undefined; - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: return !ts.isIdentifier(prop.name) ? undefined : convertExportsDotXEquals_replaceNode(prop.name.text, prop.initializer, useSitesToUnqualify); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */)], prop, useSitesToUnqualify); default: ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind ".concat(prop.kind)); @@ -154757,7 +156163,7 @@ var ts; function convertExportsDotXEquals_replaceNode(name, exported, useSitesToUnqualify) { var modifiers = [ts.factory.createToken(93 /* SyntaxKind.ExportKeyword */)]; switch (exported.kind) { - case 213 /* SyntaxKind.FunctionExpression */: { + case 215 /* SyntaxKind.FunctionExpression */: { var expressionName = exported.name; if (expressionName && expressionName.text !== name) { // `exports.f = function g() {}` -> `export const f = function g() {}` @@ -154765,10 +156171,10 @@ var ts; } } // falls through - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: // `exports.f = function() {}` --> `export function f() {}` return functionExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: // `exports.C = class {}` --> `export class C {}` return classExpressionToDeclaration(name, modifiers, exported, useSitesToUnqualify); default: @@ -154788,7 +156194,7 @@ var ts; : ts.getSynthesizedDeepCloneWithReplacements(nodeOrNodes, /*includeTrivia*/ true, replaceNode); function replaceNode(original) { // We are replacing `mod.SomeExport` wih `SomeExport`, so we only need to look at PropertyAccessExpressions - if (original.kind === 206 /* SyntaxKind.PropertyAccessExpression */) { + if (original.kind === 208 /* SyntaxKind.PropertyAccessExpression */) { var replacement = useSitesToUnqualify.get(original); // Remove entry from `useSitesToUnqualify` so the refactor knows it's taken care of by the parent statement we're replacing useSitesToUnqualify.delete(original); @@ -154803,7 +156209,7 @@ var ts; */ function convertSingleImport(name, moduleSpecifier, checker, identifiers, target, quotePreference) { switch (name.kind) { - case 201 /* SyntaxKind.ObjectBindingPattern */: { + case 203 /* SyntaxKind.ObjectBindingPattern */: { var importSpecifiers = ts.mapAllOrFail(name.elements, function (e) { return e.dotDotDotToken || e.initializer || e.propertyName && !ts.isIdentifier(e.propertyName) || !ts.isIdentifier(e.name) ? undefined @@ -154814,7 +156220,7 @@ var ts; } } // falls through -- object destructuring has an interesting pattern and must be a variable declaration - case 202 /* SyntaxKind.ArrayBindingPattern */: { + case 204 /* SyntaxKind.ArrayBindingPattern */: { /* import x from "x"; const [a, b, c] = x; @@ -154907,11 +156313,11 @@ var ts; function isFreeIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: return parent.name !== node; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return parent.propertyName !== node; - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: return parent.propertyName !== node; default: return true; @@ -154937,7 +156343,7 @@ var ts; } function makeExportDeclaration(exportSpecifiers, moduleSpecifier) { return ts.factory.createExportDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, exportSpecifiers && ts.factory.createNamedExports(exportSpecifiers), moduleSpecifier === undefined ? undefined : ts.factory.createStringLiteral(moduleSpecifier)); } function convertedImports(newImports, useSitesToUnqualify) { @@ -155022,15 +156428,15 @@ var ts; var exportDeclaration = exportClause.parent; var typeExportSpecifiers = getTypeExportSpecifiers(exportSpecifier, context); if (typeExportSpecifiers.length === exportClause.elements.length) { - changes.insertModifierBefore(context.sourceFile, 152 /* SyntaxKind.TypeKeyword */, exportClause); + changes.insertModifierBefore(context.sourceFile, 154 /* SyntaxKind.TypeKeyword */, exportClause); } else { - var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.modifiers, - /*isTypeOnly*/ false, ts.factory.updateNamedExports(exportClause, ts.filter(exportClause.elements, function (e) { return !ts.contains(typeExportSpecifiers, e); })), exportDeclaration.moduleSpecifier, + var valueExportDeclaration = ts.factory.updateExportDeclaration(exportDeclaration, exportDeclaration.modifiers, + /*isTypeOnly*/ false, ts.factory.updateNamedExports(exportClause, ts.filter(exportClause.elements, function (e) { return !ts.contains(typeExportSpecifiers, e); })), exportDeclaration.moduleSpecifier, /*assertClause*/ undefined); var typeExportDeclaration = ts.factory.createExportDeclaration( - /*modifiers*/ undefined, - /*isTypeOnly*/ true, ts.factory.createNamedExports(typeExportSpecifiers), exportDeclaration.moduleSpecifier, + /*modifiers*/ undefined, + /*isTypeOnly*/ true, ts.factory.createNamedExports(typeExportSpecifiers), exportDeclaration.moduleSpecifier, /*assertClause*/ undefined); changes.replaceNode(context.sourceFile, exportDeclaration, valueExportDeclaration, { leadingTriviaOption: ts.textChanges.LeadingTriviaOption.IncludeAll, @@ -155091,10 +156497,10 @@ var ts; // `import type foo, { Bar }` is not allowed, so move `foo` to new declaration if (importClause.name && importClause.namedBindings) { changes.deleteNodeRangeExcludingEnd(context.sourceFile, importClause.name, importDeclaration.importClause.namedBindings); - changes.insertNodeBefore(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, + changes.insertNodeBefore(context.sourceFile, importDeclaration, ts.factory.updateImportDeclaration(importDeclaration, /*modifiers*/ undefined, ts.factory.createImportClause( - /*isTypeOnly*/ true, importClause.name, - /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, + /*isTypeOnly*/ true, importClause.name, + /*namedBindings*/ undefined), importDeclaration.moduleSpecifier, /*assertClause*/ undefined)); } } @@ -155144,9 +156550,9 @@ var ts; function doChange(changes, sourceFile, _a) { var container = _a.container, typeNode = _a.typeNode, constraint = _a.constraint, name = _a.name; changes.replaceNode(sourceFile, container, ts.factory.createMappedTypeNode( - /*readonlyToken*/ undefined, ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, ts.factory.createTypeReferenceNode(constraint)), - /*nameType*/ undefined, - /*questionToken*/ undefined, typeNode, + /*readonlyToken*/ undefined, ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, name, ts.factory.createTypeReferenceNode(constraint)), + /*nameType*/ undefined, + /*questionToken*/ undefined, typeNode, /*members*/ undefined)); } })(codefix = ts.codefix || (ts.codefix = {})); @@ -155258,27 +156664,29 @@ var ts; errorCodes: errorCodes, getCodeActions: function (context) { var errorCode = context.errorCode, preferences = context.preferences, sourceFile = context.sourceFile, span = context.span, program = context.program; - var info = getFixesInfo(context, errorCode, span.start, /*useAutoImportProvider*/ true); + var info = getFixInfos(context, errorCode, span.start, /*useAutoImportProvider*/ true); if (!info) return undefined; - var fixes = info.fixes, symbolName = info.symbolName, errorIdentifierText = info.errorIdentifierText; var quotePreference = ts.getQuotePreference(sourceFile, preferences); - return fixes.map(function (fix) { return codeActionForFix(context, sourceFile, symbolName, fix, - /*includeSymbolNameInDescription*/ symbolName !== errorIdentifierText, quotePreference, program.getCompilerOptions()); }); + return info.map(function (_a) { + var fix = _a.fix, symbolName = _a.symbolName, errorIdentifierText = _a.errorIdentifierText; + return codeActionForFix(context, sourceFile, symbolName, fix, + /*includeSymbolNameInDescription*/ symbolName !== errorIdentifierText, quotePreference, program.getCompilerOptions()); + }); }, fixIds: [importFixId], getAllCodeActions: function (context) { - var sourceFile = context.sourceFile, program = context.program, preferences = context.preferences, host = context.host; - var importAdder = createImportAdderWorker(sourceFile, program, /*useAutoImportProvider*/ true, preferences, host); + var sourceFile = context.sourceFile, program = context.program, preferences = context.preferences, host = context.host, cancellationToken = context.cancellationToken; + var importAdder = createImportAdderWorker(sourceFile, program, /*useAutoImportProvider*/ true, preferences, host, cancellationToken); codefix.eachDiagnostic(context, errorCodes, function (diag) { return importAdder.addImportFromDiagnostic(diag, context); }); return codefix.createCombinedCodeActions(ts.textChanges.ChangeTracker.with(context, importAdder.writeFixes)); }, }); - function createImportAdder(sourceFile, program, preferences, host) { - return createImportAdderWorker(sourceFile, program, /*useAutoImportProvider*/ false, preferences, host); + function createImportAdder(sourceFile, program, preferences, host, cancellationToken) { + return createImportAdderWorker(sourceFile, program, /*useAutoImportProvider*/ false, preferences, host, cancellationToken); } codefix.createImportAdder = createImportAdder; - function createImportAdderWorker(sourceFile, program, useAutoImportProvider, preferences, host) { + function createImportAdderWorker(sourceFile, program, useAutoImportProvider, preferences, host, cancellationToken) { var compilerOptions = program.getCompilerOptions(); // Namespace fixes don't conflict, so just build a list. var addToNamespace = []; @@ -155289,27 +156697,26 @@ var ts; var newImports = new ts.Map(); return { addImportFromDiagnostic: addImportFromDiagnostic, addImportFromExportedSymbol: addImportFromExportedSymbol, writeFixes: writeFixes, hasFixes: hasFixes }; function addImportFromDiagnostic(diagnostic, context) { - var info = getFixesInfo(context, diagnostic.code, diagnostic.start, useAutoImportProvider); - if (!info || !info.fixes.length) + var info = getFixInfos(context, diagnostic.code, diagnostic.start, useAutoImportProvider); + if (!info || !info.length) return; - addImport(info); + addImport(ts.first(info)); } function addImportFromExportedSymbol(exportedSymbol, isValidTypeOnlyUseSite) { var moduleSymbol = ts.Debug.checkDefined(exportedSymbol.parent); var symbolName = ts.getNameForExportedSymbol(exportedSymbol, ts.getEmitScriptTarget(compilerOptions)); var checker = program.getTypeChecker(); var symbol = checker.getMergedSymbol(ts.skipAlias(exportedSymbol, checker)); - var exportInfo = getAllReExportingModules(sourceFile, symbol, moduleSymbol, symbolName, /*isJsxTagName*/ false, host, program, preferences, useAutoImportProvider); + var exportInfo = getAllExportInfoForSymbol(sourceFile, symbol, symbolName, /*isJsxTagName*/ false, program, host, preferences, cancellationToken); var useRequire = shouldUseRequire(sourceFile, program); - var fix = getImportFixForSymbol(sourceFile, exportInfo, moduleSymbol, program, /*useNamespaceInfo*/ undefined, !!isValidTypeOnlyUseSite, useRequire, host, preferences); + var fix = getImportFixForSymbol(sourceFile, ts.Debug.checkDefined(exportInfo), moduleSymbol, program, /*useNamespaceInfo*/ undefined, !!isValidTypeOnlyUseSite, useRequire, host, preferences); if (fix) { - addImport({ fixes: [fix], symbolName: symbolName, errorIdentifierText: undefined }); + addImport({ fix: fix, symbolName: symbolName, errorIdentifierText: undefined }); } } function addImport(info) { var _a, _b; - var fixes = info.fixes, symbolName = info.symbolName; - var fix = ts.first(fixes); + var fix = info.fix, symbolName = info.symbolName; switch (fix.kind) { case 0 /* ImportFixKind.UseNamespace */: addToNamespace.push(fix); @@ -155450,7 +156857,7 @@ var ts; var importMap = createExistingImportMap(program.getTypeChecker(), importingFile, program.getCompilerOptions()); return { getModuleSpecifierForBestExportInfo: getModuleSpecifierForBestExportInfo }; function getModuleSpecifierForBestExportInfo(exportInfo, symbolName, position, isValidTypeOnlyUseSite, fromCacheOnly) { - var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, + var _a = getImportFixes(exportInfo, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, /*useRequire*/ false, program, importingFile, host, preferences, importMap, fromCacheOnly), fixes = _a.fixes, computedWithoutCacheCount = _a.computedWithoutCacheCount; var result = getBestFix(fixes, importingFile, program, packageJsonImportFilter, host); return result && __assign(__assign({}, result), { computedWithoutCacheCount: computedWithoutCacheCount }); @@ -155476,24 +156883,25 @@ var ts; AddAsTypeOnly[AddAsTypeOnly["Required"] = 2] = "Required"; AddAsTypeOnly[AddAsTypeOnly["NotAllowed"] = 4] = "NotAllowed"; })(AddAsTypeOnly || (AddAsTypeOnly = {})); - function getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, symbolName, isJsxTagName, host, program, formatContext, position, preferences) { + function getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, symbolName, isJsxTagName, host, program, formatContext, position, preferences, cancellationToken) { var compilerOptions = program.getCompilerOptions(); var exportInfos = ts.pathIsBareSpecifier(ts.stripQuotes(moduleSymbol.name)) - ? [getSymbolExportInfoForSymbol(targetSymbol, moduleSymbol, program, host)] - : getAllReExportingModules(sourceFile, targetSymbol, moduleSymbol, symbolName, isJsxTagName, host, program, preferences, /*useAutoImportProvider*/ true); + ? [getSingleExportInfoForSymbol(targetSymbol, moduleSymbol, program, host)] + : getAllExportInfoForSymbol(sourceFile, targetSymbol, symbolName, isJsxTagName, program, host, preferences, cancellationToken); + ts.Debug.assertIsDefined(exportInfos); var useRequire = shouldUseRequire(sourceFile, program); var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(ts.getTokenAtPosition(sourceFile, position)); var fix = ts.Debug.checkDefined(getImportFixForSymbol(sourceFile, exportInfos, moduleSymbol, program, { symbolName: symbolName, position: position }, isValidTypeOnlyUseSite, useRequire, host, preferences)); return { moduleSpecifier: fix.moduleSpecifier, - codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, + codeAction: codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, /*includeSymbolNameInDescription*/ false, ts.getQuotePreference(sourceFile, preferences), compilerOptions)) }; } codefix.getImportCompletionAction = getImportCompletionAction; function getPromoteTypeOnlyCompletionAction(sourceFile, symbolToken, program, host, formatContext, preferences) { var compilerOptions = program.getCompilerOptions(); - var symbolName = getSymbolName(sourceFile, program.getTypeChecker(), symbolToken, compilerOptions); + var symbolName = ts.single(getSymbolNamesToImport(sourceFile, program.getTypeChecker(), symbolToken, compilerOptions)); var fix = getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName, program); var includeSymbolNameInDescription = symbolName !== symbolToken.text; return fix && codeFixActionToCodeAction(codeActionForFix({ host: host, formatContext: formatContext, preferences: preferences }, sourceFile, symbolName, fix, includeSymbolNameInDescription, 1 /* QuotePreference.Double */, compilerOptions)); @@ -155508,7 +156916,16 @@ var ts; var description = _a.description, changes = _a.changes, commands = _a.commands; return { description: description, changes: changes, commands: commands }; } - function getSymbolExportInfoForSymbol(symbol, moduleSymbol, program, host) { + function getAllExportInfoForSymbol(importingFile, symbol, symbolName, preferCapitalized, program, host, preferences, cancellationToken) { + var getChecker = createGetChecker(program, host); + return ts.getExportInfoMap(importingFile, host, program, preferences, cancellationToken) + .search(importingFile.path, preferCapitalized, function (name) { return name === symbolName; }, function (info) { + if (ts.skipAlias(info[0].symbol, getChecker(info[0].isFromPackageJson)) === symbol) { + return info; + } + }); + } + function getSingleExportInfoForSymbol(symbol, moduleSymbol, program, host) { var _a, _b; var compilerOptions = program.getCompilerOptions(); var mainProgramInfo = getInfoWithChecker(program.getTypeChecker(), /*isFromPackageJson*/ false); @@ -155528,36 +156945,7 @@ var ts; } } } - function getAllReExportingModules(importingFile, targetSymbol, exportingModuleSymbol, symbolName, isJsxTagName, host, program, preferences, useAutoImportProvider) { - var result = []; - var compilerOptions = program.getCompilerOptions(); - var getModuleSpecifierResolutionHost = ts.memoizeOne(function (isFromPackageJson) { - return ts.createModuleSpecifierResolutionHost(isFromPackageJson ? host.getPackageJsonAutoImportProvider() : program, host); - }); - ts.forEachExternalModuleToImportFrom(program, host, preferences, useAutoImportProvider, function (moduleSymbol, moduleFile, program, isFromPackageJson) { - var checker = program.getTypeChecker(); - // Don't import from a re-export when looking "up" like to `./index` or `../index`. - if (moduleFile && moduleSymbol !== exportingModuleSymbol && ts.startsWith(importingFile.fileName, ts.getDirectoryPath(moduleFile.fileName))) { - return; - } - var defaultInfo = ts.getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); - if (defaultInfo && (defaultInfo.name === symbolName || moduleSymbolToValidIdentifier(moduleSymbol, ts.getEmitScriptTarget(compilerOptions), isJsxTagName) === symbolName) && ts.skipAlias(defaultInfo.symbol, checker) === targetSymbol && isImportable(program, moduleFile, isFromPackageJson)) { - result.push({ symbol: defaultInfo.symbol, moduleSymbol: moduleSymbol, moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName, exportKind: defaultInfo.exportKind, targetFlags: ts.skipAlias(defaultInfo.symbol, checker).flags, isFromPackageJson: isFromPackageJson }); - } - for (var _i = 0, _a = checker.getExportsAndPropertiesOfModule(moduleSymbol); _i < _a.length; _i++) { - var exported = _a[_i]; - if (exported.name === symbolName && checker.getMergedSymbol(ts.skipAlias(exported, checker)) === targetSymbol && isImportable(program, moduleFile, isFromPackageJson)) { - result.push({ symbol: exported, moduleSymbol: moduleSymbol, moduleFileName: moduleFile === null || moduleFile === void 0 ? void 0 : moduleFile.fileName, exportKind: 0 /* ExportKind.Named */, targetFlags: ts.skipAlias(exported, checker).flags, isFromPackageJson: isFromPackageJson }); - } - } - }); - return result; - function isImportable(program, moduleFile, isFromPackageJson) { - var _a; - return !moduleFile || ts.isImportableFile(program, importingFile, moduleFile, preferences, /*packageJsonFilter*/ undefined, getModuleSpecifierResolutionHost(isFromPackageJson), (_a = host.getModuleSpecifierCache) === null || _a === void 0 ? void 0 : _a.call(host)); - } - } - function getImportFixes(exportInfos, useNamespaceInfo, + function getImportFixes(exportInfos, useNamespaceInfo, /** undefined only for missing JSX namespace */ isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences, importMap, fromCacheOnly) { if (importMap === void 0) { importMap = createExistingImportMap(program.getTypeChecker(), sourceFile, program.getCompilerOptions()); } @@ -155607,11 +156995,11 @@ var ts; function getTargetModuleFromNamespaceLikeImport(declaration, checker) { var _a; switch (declaration.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return checker.resolveExternalModuleName(declaration.initializer.arguments[0]); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return checker.getAliasedSymbol(declaration.symbol); - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: var namespaceImport = ts.tryCast((_a = declaration.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings, ts.isNamespaceImport); return namespaceImport && checker.getAliasedSymbol(namespaceImport.symbol); default: @@ -155621,11 +157009,11 @@ var ts; function getNamespaceLikeImportText(declaration) { var _a, _b, _c; switch (declaration.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return (_a = ts.tryCast(declaration.name, ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return declaration.name.text; - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return (_c = ts.tryCast((_b = declaration.importClause) === null || _b === void 0 ? void 0 : _b.namedBindings, ts.isNamespaceImport)) === null || _c === void 0 ? void 0 : _c.name.text; default: return ts.Debug.assertNever(declaration); @@ -155652,12 +157040,12 @@ var ts; function tryAddToExistingImport(existingImports, isValidTypeOnlyUseSite, checker, compilerOptions) { return ts.firstDefined(existingImports, function (_a) { var declaration = _a.declaration, importKind = _a.importKind, symbol = _a.symbol, targetFlags = _a.targetFlags; - if (importKind === 3 /* ImportKind.CommonJS */ || importKind === 2 /* ImportKind.Namespace */ || declaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + if (importKind === 3 /* ImportKind.CommonJS */ || importKind === 2 /* ImportKind.Namespace */ || declaration.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { // These kinds of imports are not combinable with anything return undefined; } - if (declaration.kind === 254 /* SyntaxKind.VariableDeclaration */) { - return (importKind === 0 /* ImportKind.Named */ || importKind === 1 /* ImportKind.Default */) && declaration.name.kind === 201 /* SyntaxKind.ObjectBindingPattern */ + if (declaration.kind === 257 /* SyntaxKind.VariableDeclaration */) { + return (importKind === 0 /* ImportKind.Named */ || importKind === 1 /* ImportKind.Default */) && declaration.name.kind === 203 /* SyntaxKind.ObjectBindingPattern */ ? { kind: 2 /* ImportFixKind.AddToExisting */, importClauseOrBindingPattern: declaration.name, importKind: importKind, moduleSpecifier: declaration.initializer.arguments[0].text, addAsTypeOnly: 4 /* AddAsTypeOnly.NotAllowed */ } : undefined; } @@ -155678,7 +157066,7 @@ var ts; )) return undefined; if (importKind === 0 /* ImportKind.Named */ && - (namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === 268 /* SyntaxKind.NamespaceImport */ // Cannot add a named import to a declaration that has a namespace import + (namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) === 271 /* SyntaxKind.NamespaceImport */ // Cannot add a named import to a declaration that has a namespace import ) return undefined; return { @@ -155701,7 +157089,7 @@ var ts; (importMap || (importMap = ts.createMultiMap())).add(ts.getSymbolId(moduleSymbol), i.parent); } } - else if (i.kind === 266 /* SyntaxKind.ImportDeclaration */ || i.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { + else if (i.kind === 269 /* SyntaxKind.ImportDeclaration */ || i.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { var moduleSymbol = checker.getSymbolAtLocation(moduleSpecifier); if (moduleSymbol) { (importMap || (importMap = ts.createMultiMap())).add(ts.getSymbolId(moduleSymbol), i); @@ -155750,11 +157138,14 @@ var ts; // 5. Literally nothing to go on return true; } + function createGetChecker(program, host) { + return ts.memoizeOne(function (isFromPackageJson) { return isFromPackageJson ? host.getPackageJsonAutoImportProvider().getTypeChecker() : program.getTypeChecker(); }); + } function getNewImportFixes(program, sourceFile, position, isValidTypeOnlyUseSite, useRequire, exportInfo, host, preferences, fromCacheOnly) { var isJs = ts.isSourceFileJS(sourceFile); var compilerOptions = program.getCompilerOptions(); var moduleSpecifierResolutionHost = ts.createModuleSpecifierResolutionHost(program, host); - var getChecker = ts.memoizeOne(function (isFromPackageJson) { return isFromPackageJson ? host.getPackageJsonAutoImportProvider().getTypeChecker() : program.getTypeChecker(); }); + var getChecker = createGetChecker(program, host); var rejectNodeModulesRelativePaths = ts.moduleResolutionUsesNodeModules(ts.getEmitModuleResolutionKind(compilerOptions)); var getModuleSpecifiers = fromCacheOnly ? function (moduleSymbol) { return ({ moduleSpecifiers: ts.moduleSpecifiers.tryGetModuleSpecifiersFromCache(moduleSymbol, sourceFile, moduleSpecifierResolutionHost, preferences), computedWithoutCache: false }); } @@ -155798,7 +157189,7 @@ var ts; return { kind: 3 /* ImportFixKind.AddNew */, moduleSpecifier: moduleSpecifier, importKind: importKind, addAsTypeOnly: addAsTypeOnly, useRequire: useRequire }; } } - function getFixesInfo(context, errorCode, pos, useAutoImportProvider) { + function getFixInfos(context, errorCode, pos, useAutoImportProvider) { var symbolToken = ts.getTokenAtPosition(context.sourceFile, pos); var info; if (errorCode === ts.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code) { @@ -155808,19 +157199,23 @@ var ts; return undefined; } else if (errorCode === ts.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type.code) { - var symbolName_1 = getSymbolName(context.sourceFile, context.program.getTypeChecker(), symbolToken, context.program.getCompilerOptions()); + var symbolName_1 = ts.single(getSymbolNamesToImport(context.sourceFile, context.program.getTypeChecker(), symbolToken, context.program.getCompilerOptions())); var fix = getTypeOnlyPromotionFix(context.sourceFile, symbolToken, symbolName_1, context.program); - return fix && { fixes: [fix], symbolName: symbolName_1, errorIdentifierText: symbolToken.text }; + return fix && [{ fix: fix, symbolName: symbolName_1, errorIdentifierText: symbolToken.text }]; } else { info = getFixesInfoForNonUMDImport(context, symbolToken, useAutoImportProvider); } var packageJsonImportFilter = ts.createPackageJsonImportFilter(context.sourceFile, context.preferences, context.host); - return info && __assign(__assign({}, info), { fixes: sortFixes(info.fixes, context.sourceFile, context.program, packageJsonImportFilter, context.host) }); + return info && sortFixInfo(info, context.sourceFile, context.program, packageJsonImportFilter, context.host); } - function sortFixes(fixes, sourceFile, program, packageJsonImportFilter, host) { + function sortFixInfo(fixes, sourceFile, program, packageJsonImportFilter, host) { var _toPath = function (fileName) { return ts.toPath(fileName, host.getCurrentDirectory(), ts.hostGetCanonicalFileName(host)); }; - return ts.sort(fixes, function (a, b) { return ts.compareValues(a.kind, b.kind) || compareModuleSpecifiers(a, b, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, _toPath); }); + return ts.sort(fixes, function (a, b) { + return ts.compareBooleans(!!a.isJsxNamespaceFix, !!b.isJsxNamespaceFix) || + ts.compareValues(a.fix.kind, b.fix.kind) || + compareModuleSpecifiers(a.fix, b.fix, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, _toPath); + }); } function getBestFix(fixes, sourceFile, program, packageJsonImportFilter, host) { if (!ts.some(fixes)) @@ -155871,7 +157266,6 @@ var ts; return 0 /* Comparison.EqualTo */; } function getFixesInfoForUMDImport(_a, token) { - var _b; var sourceFile = _a.sourceFile, program = _a.program, host = _a.host, preferences = _a.preferences; var checker = program.getTypeChecker(); var umdSymbol = getUmdSymbol(token, checker); @@ -155883,7 +157277,7 @@ var ts; var useRequire = shouldUseRequire(sourceFile, program); var position = ts.isIdentifier(token) ? token.getStart(sourceFile) : undefined; var fixes = getImportFixes(exportInfo, position ? { position: position, symbolName: symbolName } : undefined, /*isValidTypeOnlyUseSite*/ false, useRequire, program, sourceFile, host, preferences).fixes; - return { fixes: fixes, symbolName: symbolName, errorIdentifierText: (_b = ts.tryCast(token, ts.isIdentifier)) === null || _b === void 0 ? void 0 : _b.text }; + return fixes.map(function (fix) { var _a; return ({ fix: fix, symbolName: symbolName, errorIdentifierText: (_a = ts.tryCast(token, ts.isIdentifier)) === null || _a === void 0 ? void 0 : _a.text }); }); } function getUmdSymbol(token, checker) { // try the identifier to see if it is the umd symbol @@ -155944,19 +157338,20 @@ var ts; var sourceFile = _a.sourceFile, program = _a.program, cancellationToken = _a.cancellationToken, host = _a.host, preferences = _a.preferences; var checker = program.getTypeChecker(); var compilerOptions = program.getCompilerOptions(); - var symbolName = getSymbolName(sourceFile, checker, symbolToken, compilerOptions); - // "default" is a keyword and not a legal identifier for the import, but appears as an identifier. - if (symbolName === "default" /* InternalSymbolName.Default */) { - return undefined; - } - var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(symbolToken); - var useRequire = shouldUseRequire(sourceFile, program); - var exportInfo = getExportInfos(symbolName, ts.isJSXTagName(symbolToken), ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences); - var fixes = ts.arrayFrom(ts.flatMapIterator(exportInfo.entries(), function (_a) { - var _ = _a[0], exportInfos = _a[1]; - return getImportFixes(exportInfos, { symbolName: symbolName, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes; - })); - return { fixes: fixes, symbolName: symbolName, errorIdentifierText: symbolToken.text }; + return ts.flatMap(getSymbolNamesToImport(sourceFile, checker, symbolToken, compilerOptions), function (symbolName) { + // "default" is a keyword and not a legal identifier for the import, but appears as an identifier. + if (symbolName === "default" /* InternalSymbolName.Default */) { + return undefined; + } + var isValidTypeOnlyUseSite = ts.isValidTypeOnlyAliasUseSite(symbolToken); + var useRequire = shouldUseRequire(sourceFile, program); + var exportInfo = getExportInfos(symbolName, ts.isJSXTagName(symbolToken), ts.getMeaningFromLocation(symbolToken), cancellationToken, sourceFile, program, useAutoImportProvider, host, preferences); + var fixes = ts.arrayFrom(ts.flatMapIterator(exportInfo.entries(), function (_a) { + var _ = _a[0], exportInfos = _a[1]; + return getImportFixes(exportInfos, { symbolName: symbolName, position: symbolToken.getStart(sourceFile) }, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes; + })); + return fixes.map(function (fix) { return ({ fix: fix, symbolName: symbolName, errorIdentifierText: symbolToken.text, isJsxNamespaceFix: symbolName !== symbolToken.text }); }); + }); } function getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName, program) { var checker = program.getTypeChecker(); @@ -155968,15 +157363,16 @@ var ts; return undefined; return { kind: 4 /* ImportFixKind.PromoteTypeOnly */, typeOnlyAliasDeclaration: typeOnlyAliasDeclaration }; } - function getSymbolName(sourceFile, checker, symbolToken, compilerOptions) { + function getSymbolNamesToImport(sourceFile, checker, symbolToken, compilerOptions) { var parent = symbolToken.parent; if ((ts.isJsxOpeningLikeElement(parent) || ts.isJsxClosingElement(parent)) && parent.tagName === symbolToken && ts.jsxModeNeedsExplicitImport(compilerOptions.jsx)) { var jsxNamespace = checker.getJsxNamespace(sourceFile); if (needsJsxNamespaceFix(jsxNamespace, symbolToken, checker)) { - return jsxNamespace; + var needsComponentNameFix = !ts.isIntrinsicJsxName(symbolToken.text) && !checker.resolveName(symbolToken.text, symbolToken, 111551 /* SymbolFlags.Value */, /*excludeGlobals*/ false); + return needsComponentNameFix ? [symbolToken.text, jsxNamespace] : [jsxNamespace]; } } - return symbolToken.text; + return [symbolToken.text]; } function needsJsxNamespaceFix(jsxNamespace, symbolToken, checker) { if (ts.isIntrinsicJsxName(symbolToken.text)) @@ -156085,7 +157481,7 @@ var ts; case 4 /* ImportFixKind.PromoteTypeOnly */: { var typeOnlyAliasDeclaration = fix.typeOnlyAliasDeclaration; var promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, compilerOptions, sourceFile); - return promotedDeclaration.kind === 270 /* SyntaxKind.ImportSpecifier */ + return promotedDeclaration.kind === 273 /* SyntaxKind.ImportSpecifier */ ? [ts.Diagnostics.Remove_type_from_import_of_0_from_1, symbolName, getModuleSpecifierText(promotedDeclaration.parent.parent)] : [ts.Diagnostics.Remove_type_from_import_declaration_from_0, getModuleSpecifierText(promotedDeclaration)]; } @@ -156095,7 +157491,7 @@ var ts; } function getModuleSpecifierText(promotedDeclaration) { var _a, _b; - return promotedDeclaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ + return promotedDeclaration.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ ? ((_b = ts.tryCast((_a = ts.tryCast(promotedDeclaration.moduleReference, ts.isExternalModuleReference)) === null || _a === void 0 ? void 0 : _a.expression, ts.isStringLiteralLike)) === null || _b === void 0 ? void 0 : _b.text) || promotedDeclaration.moduleReference.getText() : ts.cast(promotedDeclaration.parent.moduleSpecifier, ts.isStringLiteral).text; } @@ -156103,7 +157499,7 @@ var ts; // See comment in `doAddExistingFix` on constant with the same name. var convertExistingToTypeOnly = compilerOptions.preserveValueImports && compilerOptions.isolatedModules; switch (aliasDeclaration.kind) { - case 270 /* SyntaxKind.ImportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: if (aliasDeclaration.isTypeOnly) { if (aliasDeclaration.parent.elements.length > 1 && ts.OrganizeImports.importSpecifiersAreSorted(aliasDeclaration.parent.elements)) { changes.delete(sourceFile, aliasDeclaration); @@ -156121,13 +157517,13 @@ var ts; promoteImportClause(aliasDeclaration.parent.parent); return aliasDeclaration.parent.parent; } - case 267 /* SyntaxKind.ImportClause */: + case 270 /* SyntaxKind.ImportClause */: promoteImportClause(aliasDeclaration); return aliasDeclaration; - case 268 /* SyntaxKind.NamespaceImport */: + case 271 /* SyntaxKind.NamespaceImport */: promoteImportClause(aliasDeclaration.parent); return aliasDeclaration.parent; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: changes.deleteRange(sourceFile, aliasDeclaration.getChildAt(1)); return aliasDeclaration; default: @@ -156139,7 +157535,7 @@ var ts; var namedImports = ts.tryCast(importClause.namedBindings, ts.isNamedImports); if (namedImports && namedImports.elements.length > 1) { if (ts.OrganizeImports.importSpecifiersAreSorted(namedImports.elements) && - aliasDeclaration.kind === 270 /* SyntaxKind.ImportSpecifier */ && + aliasDeclaration.kind === 273 /* SyntaxKind.ImportSpecifier */ && namedImports.elements.indexOf(aliasDeclaration) !== 0) { // The import specifier being promoted will be the only non-type-only, // import in the NamedImports, so it should be moved to the front. @@ -156149,7 +157545,7 @@ var ts; for (var _i = 0, _a = namedImports.elements; _i < _a.length; _i++) { var element = _a[_i]; if (element !== aliasDeclaration && !element.isTypeOnly) { - changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, element); + changes.insertModifierBefore(sourceFile, 154 /* SyntaxKind.TypeKeyword */, element); } } } @@ -156158,7 +157554,7 @@ var ts; } function doAddExistingFix(changes, sourceFile, clause, defaultImport, namedImports, compilerOptions) { var _a; - if (clause.kind === 201 /* SyntaxKind.ObjectBindingPattern */) { + if (clause.kind === 203 /* SyntaxKind.ObjectBindingPattern */) { if (defaultImport) { addElementToBindingPattern(clause, defaultImport.name, "default"); } @@ -156182,7 +157578,7 @@ var ts; changes.insertNodeAt(sourceFile, clause.getStart(sourceFile), ts.factory.createIdentifier(defaultImport.name), { suffix: ", " }); } if (namedImports.length) { - var newSpecifiers = ts.stableSort(namedImports.map(function (namedImport) { return ts.factory.createImportSpecifier((!clause.isTypeOnly || promoteFromTypeOnly) && needsTypeOnly(namedImport), + var newSpecifiers = ts.stableSort(namedImports.map(function (namedImport) { return ts.factory.createImportSpecifier((!clause.isTypeOnly || promoteFromTypeOnly) && needsTypeOnly(namedImport), /*propertyName*/ undefined, ts.factory.createIdentifier(namedImport.name)); }), ts.OrganizeImports.compareImportOrExportSpecifiers); if ((existingSpecifiers === null || existingSpecifiers === void 0 ? void 0 : existingSpecifiers.length) && ts.OrganizeImports.importSpecifiersAreSorted(existingSpecifiers)) { for (var _b = 0, newSpecifiers_1 = newSpecifiers; _b < newSpecifiers_1.length; _b++) { @@ -156219,7 +157615,7 @@ var ts; if (convertExistingToTypeOnly && existingSpecifiers) { for (var _d = 0, existingSpecifiers_1 = existingSpecifiers; _d < existingSpecifiers_1.length; _d++) { var specifier = existingSpecifiers_1[_d]; - changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, specifier); + changes.insertModifierBefore(sourceFile, 154 /* SyntaxKind.TypeKeyword */, specifier); } } } @@ -156256,7 +157652,7 @@ var ts; var topLevelTypeOnly_1 = (!defaultImport || needsTypeOnly(defaultImport)) && ts.every(namedImports, needsTypeOnly); statements = ts.combine(statements, ts.makeImport(defaultImport && ts.factory.createIdentifier(defaultImport.name), namedImports === null || namedImports === void 0 ? void 0 : namedImports.map(function (_a) { var addAsTypeOnly = _a.addAsTypeOnly, name = _a.name; - return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */, + return ts.factory.createImportSpecifier(!topLevelTypeOnly_1 && addAsTypeOnly === 2 /* AddAsTypeOnly.Required */, /*propertyName*/ undefined, ts.factory.createIdentifier(name)); }), moduleSpecifier, quotePreference, topLevelTypeOnly_1)); } @@ -156265,8 +157661,8 @@ var ts; ? ts.factory.createImportEqualsDeclaration( /*modifiers*/ undefined, needsTypeOnly(namespaceLikeImport), ts.factory.createIdentifier(namespaceLikeImport.name), ts.factory.createExternalModuleReference(quotedModuleSpecifier)) : ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(needsTypeOnly(namespaceLikeImport), - /*name*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier, + /*modifiers*/ undefined, ts.factory.createImportClause(needsTypeOnly(namespaceLikeImport), + /*name*/ undefined, ts.factory.createNamespaceImport(ts.factory.createIdentifier(namespaceLikeImport.name))), quotedModuleSpecifier, /*assertClause*/ undefined); statements = ts.combine(statements, declaration); } @@ -156297,8 +157693,8 @@ var ts; function createConstEqualsRequireDeclaration(name, quotedModuleSpecifier) { return ts.factory.createVariableStatement( /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ - ts.factory.createVariableDeclaration(typeof name === "string" ? ts.factory.createIdentifier(name) : name, - /*exclamationToken*/ undefined, + ts.factory.createVariableDeclaration(typeof name === "string" ? ts.factory.createIdentifier(name) : name, + /*exclamationToken*/ undefined, /*type*/ undefined, ts.factory.createCallExpression(ts.factory.createIdentifier("require"), /*typeArguments*/ undefined, [quotedModuleSpecifier])) ], 2 /* NodeFlags.Const */)); } @@ -156394,7 +157790,7 @@ var ts; var related = ts.find(diag.relatedInformation, function (related) { return related.code === ts.Diagnostics.This_type_parameter_might_need_an_extends_0_constraint.code; }); if (related === undefined || related.file === undefined || related.start === undefined || related.length === undefined) return; - var declaration = findAncestorMatchingSpan(related.file, ts.createTextSpan(related.start, related.length)); + var declaration = codefix.findAncestorMatchingSpan(related.file, ts.createTextSpan(related.start, related.length)); if (declaration === undefined) return; if (ts.isIdentifier(declaration) && ts.isTypeParameterDeclaration(declaration.parent)) { @@ -156428,14 +157824,6 @@ var ts; } } } - function findAncestorMatchingSpan(sourceFile, span) { - var end = ts.textSpanEnd(span); - var token = ts.getTokenAtPosition(sourceFile, span.start); - while (token.end < end) { - token = token.parent; - } - return token; - } function tryGetConstraintFromDiagnosticMessage(messageText) { var _a = ts.flattenDiagnosticMessageText(messageText, "\n", 0).match(/`extends (.*)`/) || [], _ = _a[0], constraint = _a[1]; return constraint; @@ -156579,7 +157967,7 @@ var ts; accessibilityModifier ? accessibilityModifier.end : lastDecorator ? ts.skipTrivia(sourceFile.text, lastDecorator.end) : classElement.getStart(sourceFile); var options = accessibilityModifier || staticModifier || abstractModifier ? { prefix: " " } : { suffix: " " }; - changeTracker.insertModifierAt(sourceFile, modifierPos, 159 /* SyntaxKind.OverrideKeyword */, options); + changeTracker.insertModifierAt(sourceFile, modifierPos, 161 /* SyntaxKind.OverrideKeyword */, options); } function doRemoveOverrideModifierChange(changeTracker, sourceFile, pos) { var classElement = findContainerClassElementLike(sourceFile, pos); @@ -156593,13 +157981,13 @@ var ts; } function isClassElementLikeHasJSDoc(node) { switch (node.kind) { - case 171 /* SyntaxKind.Constructor */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return true; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return ts.isParameterPropertyDeclaration(node, node.parent); default: return false; @@ -156711,6 +158099,143 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixId = "fixImportNonExportedMember"; + var errorCodes = [ + ts.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported.code, + ]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + fixIds: [fixId], + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span, program = context.program; + var info = getInfo(sourceFile, span.start, program); + if (info === undefined) + return undefined; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, program, info); }); + return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Export_0_from_module_1, info.exportName.node.text, info.moduleSpecifier], fixId, ts.Diagnostics.Export_all_referenced_locals)]; + }, + getAllCodeActions: function (context) { + var program = context.program; + return codefix.createCombinedCodeActions(ts.textChanges.ChangeTracker.with(context, function (changes) { + var exports = new ts.Map(); + codefix.eachDiagnostic(context, errorCodes, function (diag) { + var info = getInfo(diag.file, diag.start, program); + if (info === undefined) + return undefined; + var exportName = info.exportName, node = info.node, moduleSourceFile = info.moduleSourceFile; + if (tryGetExportDeclaration(moduleSourceFile, exportName.isTypeOnly) === undefined && ts.canHaveExportModifier(node)) { + changes.insertExportModifier(moduleSourceFile, node); + } + else { + var moduleExports = exports.get(moduleSourceFile) || { typeOnlyExports: [], exports: [] }; + if (exportName.isTypeOnly) { + moduleExports.typeOnlyExports.push(exportName); + } + else { + moduleExports.exports.push(exportName); + } + exports.set(moduleSourceFile, moduleExports); + } + }); + exports.forEach(function (moduleExports, moduleSourceFile) { + var exportDeclaration = tryGetExportDeclaration(moduleSourceFile, /*isTypeOnly*/ true); + if (exportDeclaration && exportDeclaration.isTypeOnly) { + doChanges(changes, program, moduleSourceFile, moduleExports.typeOnlyExports, exportDeclaration); + doChanges(changes, program, moduleSourceFile, moduleExports.exports, tryGetExportDeclaration(moduleSourceFile, /*isTypeOnly*/ false)); + } + else { + doChanges(changes, program, moduleSourceFile, __spreadArray(__spreadArray([], moduleExports.exports, true), moduleExports.typeOnlyExports, true), exportDeclaration); + } + }); + })); + } + }); + function getInfo(sourceFile, pos, program) { + var _a; + var token = ts.getTokenAtPosition(sourceFile, pos); + if (ts.isIdentifier(token)) { + var importDeclaration = ts.findAncestor(token, ts.isImportDeclaration); + if (importDeclaration === undefined) + return undefined; + var moduleSpecifier = ts.isStringLiteral(importDeclaration.moduleSpecifier) ? importDeclaration.moduleSpecifier.text : undefined; + if (moduleSpecifier === undefined) + return undefined; + var resolvedModule = ts.getResolvedModule(sourceFile, moduleSpecifier, /*mode*/ undefined); + if (resolvedModule === undefined) + return undefined; + var moduleSourceFile = program.getSourceFile(resolvedModule.resolvedFileName); + if (moduleSourceFile === undefined || ts.isSourceFileFromLibrary(program, moduleSourceFile)) + return undefined; + var moduleSymbol = moduleSourceFile.symbol; + var locals = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals; + if (locals === undefined) + return undefined; + var localSymbol = locals.get(token.escapedText); + if (localSymbol === undefined) + return undefined; + var node = getNodeOfSymbol(localSymbol); + if (node === undefined) + return undefined; + var exportName = { node: token, isTypeOnly: ts.isTypeDeclaration(node) }; + return { exportName: exportName, node: node, moduleSourceFile: moduleSourceFile, moduleSpecifier: moduleSpecifier }; + } + return undefined; + } + function doChange(changes, program, _a) { + var exportName = _a.exportName, node = _a.node, moduleSourceFile = _a.moduleSourceFile; + var exportDeclaration = tryGetExportDeclaration(moduleSourceFile, exportName.isTypeOnly); + if (exportDeclaration) { + updateExport(changes, program, moduleSourceFile, exportDeclaration, [exportName]); + } + else if (ts.canHaveExportModifier(node)) { + changes.insertExportModifier(moduleSourceFile, node); + } + else { + createExport(changes, program, moduleSourceFile, [exportName]); + } + } + function doChanges(changes, program, sourceFile, moduleExports, node) { + if (ts.length(moduleExports)) { + if (node) { + updateExport(changes, program, sourceFile, node, moduleExports); + } + else { + createExport(changes, program, sourceFile, moduleExports); + } + } + } + function tryGetExportDeclaration(sourceFile, isTypeOnly) { + var predicate = function (node) { + return ts.isExportDeclaration(node) && (isTypeOnly && node.isTypeOnly || !node.isTypeOnly); + }; + return ts.findLast(sourceFile.statements, predicate); + } + function updateExport(changes, program, sourceFile, node, names) { + var namedExports = node.exportClause && ts.isNamedExports(node.exportClause) ? node.exportClause.elements : ts.factory.createNodeArray([]); + var allowTypeModifier = !node.isTypeOnly && !!(program.getCompilerOptions().isolatedModules || ts.find(namedExports, function (e) { return e.isTypeOnly; })); + changes.replaceNode(sourceFile, node, ts.factory.updateExportDeclaration(node, node.modifiers, node.isTypeOnly, ts.factory.createNamedExports(ts.factory.createNodeArray(__spreadArray(__spreadArray([], namedExports, true), createExportSpecifiers(names, allowTypeModifier), true), /*hasTrailingComma*/ namedExports.hasTrailingComma)), node.moduleSpecifier, node.assertClause)); + } + function createExport(changes, program, sourceFile, names) { + changes.insertNodeAtEndOfScope(sourceFile, sourceFile, ts.factory.createExportDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, ts.factory.createNamedExports(createExportSpecifiers(names, /*allowTypeModifier*/ !!program.getCompilerOptions().isolatedModules)), /*moduleSpecifier*/ undefined, /*assertClause*/ undefined)); + } + function createExportSpecifiers(names, allowTypeModifier) { + return ts.factory.createNodeArray(ts.map(names, function (n) { return ts.factory.createExportSpecifier(allowTypeModifier && n.isTypeOnly, /*propertyName*/ undefined, n.node); })); + } + function getNodeOfSymbol(symbol) { + if (symbol.valueDeclaration === undefined) { + return ts.firstOrUndefined(symbol.declarations); + } + var declaration = symbol.valueDeclaration; + var variableStatement = ts.isVariableDeclaration(declaration) ? ts.tryCast(declaration.parent.parent, ts.isVariableStatement) : undefined; + return variableStatement && ts.length(variableStatement.declarationList.declarations) === 1 ? variableStatement : declaration; + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var codefix; (function (codefix) { @@ -156731,7 +158256,7 @@ var ts; }); function getNamedTupleMember(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); - return ts.findAncestor(token, function (t) { return t.kind === 197 /* SyntaxKind.NamedTupleMember */; }); + return ts.findAncestor(token, function (t) { return t.kind === 199 /* SyntaxKind.NamedTupleMember */; }); } function doChange(changes, sourceFile, namedTupleMember) { if (!namedTupleMember) { @@ -156740,11 +158265,11 @@ var ts; var unwrappedType = namedTupleMember.type; var sawOptional = false; var sawRest = false; - while (unwrappedType.kind === 185 /* SyntaxKind.OptionalType */ || unwrappedType.kind === 186 /* SyntaxKind.RestType */ || unwrappedType.kind === 191 /* SyntaxKind.ParenthesizedType */) { - if (unwrappedType.kind === 185 /* SyntaxKind.OptionalType */) { + while (unwrappedType.kind === 187 /* SyntaxKind.OptionalType */ || unwrappedType.kind === 188 /* SyntaxKind.RestType */ || unwrappedType.kind === 193 /* SyntaxKind.ParenthesizedType */) { + if (unwrappedType.kind === 187 /* SyntaxKind.OptionalType */) { sawOptional = true; } - else if (unwrappedType.kind === 186 /* SyntaxKind.RestType */) { + else if (unwrappedType.kind === 188 /* SyntaxKind.RestType */) { sawRest = true; } unwrappedType = unwrappedType.type; @@ -157015,10 +158540,10 @@ var ts; if (isFunctionType) { var sig = checker.getSignatureFromDeclaration(declaration); if (sig) { - if (ts.hasSyntacticModifier(declaration, 256 /* ModifierFlags.Async */)) { + if (ts.hasSyntacticModifier(declaration, 512 /* ModifierFlags.Async */)) { exprType = checker.createPromiseType(exprType); } - var newSig = checker.createSignature(declaration, sig.typeParameters, sig.thisParameter, sig.parameters, exprType, + var newSig = checker.createSignature(declaration, sig.typeParameters, sig.thisParameter, sig.parameters, exprType, /*typePredicate*/ undefined, sig.minArgumentCount, sig.flags); exprType = checker.createAnonymousType( /*symbol*/ undefined, ts.createSymbolTable(), [newSig], [], []); @@ -157059,19 +158584,19 @@ var ts; } function getVariableLikeInitializer(declaration) { switch (declaration.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: - case 203 /* SyntaxKind.BindingElement */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 296 /* SyntaxKind.PropertyAssignment */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: + case 205 /* SyntaxKind.BindingElement */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 299 /* SyntaxKind.PropertyAssignment */: return declaration.initializer; - case 285 /* SyntaxKind.JsxAttribute */: + case 288 /* SyntaxKind.JsxAttribute */: return declaration.initializer && (ts.isJsxExpression(declaration.initializer) ? declaration.initializer.expression : undefined); - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: - case 166 /* SyntaxKind.PropertySignature */: - case 299 /* SyntaxKind.EnumMember */: - case 347 /* SyntaxKind.JSDocPropertyTag */: - case 340 /* SyntaxKind.JSDocParameterTag */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: + case 168 /* SyntaxKind.PropertySignature */: + case 302 /* SyntaxKind.EnumMember */: + case 350 /* SyntaxKind.JSDocPropertyTag */: + case 343 /* SyntaxKind.JSDocParameterTag */: return undefined; } } @@ -157125,6 +158650,15 @@ var ts; ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code, ts.Diagnostics.Cannot_find_name_0.code ]; + var InfoKind; + (function (InfoKind) { + InfoKind[InfoKind["TypeLikeDeclaration"] = 0] = "TypeLikeDeclaration"; + InfoKind[InfoKind["Enum"] = 1] = "Enum"; + InfoKind[InfoKind["Function"] = 2] = "Function"; + InfoKind[InfoKind["ObjectLiteral"] = 3] = "ObjectLiteral"; + InfoKind[InfoKind["JsxAttributes"] = 4] = "JsxAttributes"; + InfoKind[InfoKind["Signature"] = 5] = "Signature"; + })(InfoKind || (InfoKind = {})); codefix.registerCodeFix({ errorCodes: errorCodes, getCodeActions: function (context) { @@ -157133,19 +158667,19 @@ var ts; if (!info) { return undefined; } - if (info.kind === 3 /* InfoKind.ObjectLiteral */) { + if (info.kind === InfoKind.ObjectLiteral) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addObjectLiteralProperties(t, context, info); }); return [codefix.createCodeFixAction(fixMissingProperties, changes, ts.Diagnostics.Add_missing_properties, fixMissingProperties, ts.Diagnostics.Add_all_missing_properties)]; } - if (info.kind === 4 /* InfoKind.JsxAttributes */) { + if (info.kind === InfoKind.JsxAttributes) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addJsxAttributes(t, context, info); }); return [codefix.createCodeFixAction(fixMissingAttributes, changes, ts.Diagnostics.Add_missing_attributes, fixMissingAttributes, ts.Diagnostics.Add_all_missing_attributes)]; } - if (info.kind === 2 /* InfoKind.Function */) { + if (info.kind === InfoKind.Function || info.kind === InfoKind.Signature) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addFunctionDeclaration(t, context, info); }); return [codefix.createCodeFixAction(fixMissingFunctionDeclaration, changes, [ts.Diagnostics.Add_missing_function_declaration_0, info.token.text], fixMissingFunctionDeclaration, ts.Diagnostics.Add_all_missing_function_declarations)]; } - if (info.kind === 1 /* InfoKind.Enum */) { + if (info.kind === InfoKind.Enum) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addEnumMemberDeclaration(t, context.program.getTypeChecker(), info); }); return [codefix.createCodeFixAction(fixMissingMember, changes, [ts.Diagnostics.Add_missing_enum_member_0, info.token.text], fixMissingMember, ts.Diagnostics.Add_all_missing_members)]; } @@ -157163,20 +158697,20 @@ var ts; if (!info || !ts.addToSeen(seen, ts.getNodeId(info.parentDeclaration) + "#" + info.token.text)) { return; } - if (fixId === fixMissingFunctionDeclaration && info.kind === 2 /* InfoKind.Function */) { + if (fixId === fixMissingFunctionDeclaration && (info.kind === InfoKind.Function || info.kind === InfoKind.Signature)) { addFunctionDeclaration(changes, context, info); } - else if (fixId === fixMissingProperties && info.kind === 3 /* InfoKind.ObjectLiteral */) { + else if (fixId === fixMissingProperties && info.kind === InfoKind.ObjectLiteral) { addObjectLiteralProperties(changes, context, info); } - else if (fixId === fixMissingAttributes && info.kind === 4 /* InfoKind.JsxAttributes */) { + else if (fixId === fixMissingAttributes && info.kind === InfoKind.JsxAttributes) { addJsxAttributes(changes, context, info); } else { - if (info.kind === 1 /* InfoKind.Enum */) { + if (info.kind === InfoKind.Enum) { addEnumMemberDeclaration(changes, checker, info); } - if (info.kind === 0 /* InfoKind.TypeLikeDeclaration */) { + if (info.kind === InfoKind.TypeLikeDeclaration) { var parentDeclaration = info.parentDeclaration, token_1 = info.token; var infos = ts.getOrUpdate(typeDeclToMembers, parentDeclaration, function () { return []; }); if (!infos.some(function (i) { return i.token.text === token_1.text; })) { @@ -157220,14 +158754,6 @@ var ts; })); }, }); - var InfoKind; - (function (InfoKind) { - InfoKind[InfoKind["TypeLikeDeclaration"] = 0] = "TypeLikeDeclaration"; - InfoKind[InfoKind["Enum"] = 1] = "Enum"; - InfoKind[InfoKind["Function"] = 2] = "Function"; - InfoKind[InfoKind["ObjectLiteral"] = 3] = "ObjectLiteral"; - InfoKind[InfoKind["JsxAttributes"] = 4] = "JsxAttributes"; - })(InfoKind || (InfoKind = {})); function getInfo(sourceFile, tokenPos, errorCode, checker, program) { // The identifier of the missing property. eg: // this.missing = 1; @@ -157240,7 +158766,7 @@ var ts; var argIndex = ts.findIndex(parent.parent.arguments, function (arg) { return arg === parent; }); if (argIndex < 0) return undefined; - var signature = ts.singleOrUndefined(checker.getSignaturesOfType(checker.getTypeAtLocation(parent.parent.expression), 0 /* SignatureKind.Call */)); + var signature = checker.getResolvedSignature(parent.parent); if (!(signature && signature.declaration && signature.parameters[argIndex])) return undefined; var param = signature.parameters[argIndex].valueDeclaration; @@ -157249,7 +158775,7 @@ var ts; var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent), checker.getParameterType(signature, argIndex), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); if (!ts.length(properties)) return undefined; - return { kind: 3 /* InfoKind.ObjectLiteral */, token: param.name, properties: properties, parentDeclaration: parent }; + return { kind: InfoKind.ObjectLiteral, token: param.name, properties: properties, parentDeclaration: parent }; } if (!ts.isMemberName(token)) return undefined; @@ -157257,17 +158783,26 @@ var ts; var properties = ts.arrayFrom(checker.getUnmatchedProperties(checker.getTypeAtLocation(parent.initializer), checker.getTypeAtLocation(token), /* requireOptionalProperties */ false, /* matchDiscriminantProperties */ false)); if (!ts.length(properties)) return undefined; - return { kind: 3 /* InfoKind.ObjectLiteral */, token: token, properties: properties, parentDeclaration: parent.initializer }; + return { kind: InfoKind.ObjectLiteral, token: token, properties: properties, parentDeclaration: parent.initializer }; } if (ts.isIdentifier(token) && ts.isJsxOpeningLikeElement(token.parent)) { var target = ts.getEmitScriptTarget(program.getCompilerOptions()); var attributes = getUnmatchedAttributes(checker, target, token.parent); if (!ts.length(attributes)) return undefined; - return { kind: 4 /* InfoKind.JsxAttributes */, token: token, attributes: attributes, parentDeclaration: token.parent }; + return { kind: InfoKind.JsxAttributes, token: token, attributes: attributes, parentDeclaration: token.parent }; } - if (ts.isIdentifier(token) && ts.isCallExpression(parent) && parent.expression === token) { - return { kind: 2 /* InfoKind.Function */, token: token, call: parent, sourceFile: sourceFile, modifierFlags: 0 /* ModifierFlags.None */, parentDeclaration: sourceFile }; + if (ts.isIdentifier(token)) { + var type = checker.getContextualType(token); + if (type && ts.getObjectFlags(type) & 16 /* ObjectFlags.Anonymous */) { + var signature = ts.firstOrUndefined(checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */)); + if (signature === undefined) + return undefined; + return { kind: InfoKind.Signature, token: token, signature: signature, sourceFile: sourceFile, parentDeclaration: findScope(token) }; + } + if (ts.isCallExpression(parent) && parent.expression === token) { + return { kind: InfoKind.Function, token: token, call: parent, sourceFile: sourceFile, modifierFlags: 0 /* ModifierFlags.None */, parentDeclaration: findScope(token) }; + } } if (!ts.isPropertyAccessExpression(parent)) return undefined; @@ -157278,14 +158813,14 @@ var ts; if (ts.isIdentifier(token) && ts.isCallExpression(parent.parent)) { var moduleDeclaration = ts.find(symbol.declarations, ts.isModuleDeclaration); var moduleDeclarationSourceFile = moduleDeclaration === null || moduleDeclaration === void 0 ? void 0 : moduleDeclaration.getSourceFile(); - if (moduleDeclaration && moduleDeclarationSourceFile && !isSourceFileFromLibrary(program, moduleDeclarationSourceFile)) { - return { kind: 2 /* InfoKind.Function */, token: token, call: parent.parent, sourceFile: sourceFile, modifierFlags: 1 /* ModifierFlags.Export */, parentDeclaration: moduleDeclaration }; + if (moduleDeclaration && moduleDeclarationSourceFile && !ts.isSourceFileFromLibrary(program, moduleDeclarationSourceFile)) { + return { kind: InfoKind.Function, token: token, call: parent.parent, sourceFile: sourceFile, modifierFlags: 1 /* ModifierFlags.Export */, parentDeclaration: moduleDeclaration }; } var moduleSourceFile = ts.find(symbol.declarations, ts.isSourceFile); if (sourceFile.commonJsModuleIndicator) return undefined; - if (moduleSourceFile && !isSourceFileFromLibrary(program, moduleSourceFile)) { - return { kind: 2 /* InfoKind.Function */, token: token, call: parent.parent, sourceFile: moduleSourceFile, modifierFlags: 1 /* ModifierFlags.Export */, parentDeclaration: moduleSourceFile }; + if (moduleSourceFile && !ts.isSourceFileFromLibrary(program, moduleSourceFile)) { + return { kind: InfoKind.Function, token: token, call: parent.parent, sourceFile: moduleSourceFile, modifierFlags: 1 /* ModifierFlags.Export */, parentDeclaration: moduleSourceFile }; } } var classDeclaration = ts.find(symbol.declarations, ts.isClassLike); @@ -157294,7 +158829,7 @@ var ts; return undefined; // Prefer to change the class instead of the interface if they are merged var declaration = classDeclaration || ts.find(symbol.declarations, function (d) { return ts.isInterfaceDeclaration(d) || ts.isTypeLiteralNode(d); }); - if (declaration && !isSourceFileFromLibrary(program, declaration.getSourceFile())) { + if (declaration && !ts.isSourceFileFromLibrary(program, declaration.getSourceFile())) { var makeStatic = !ts.isTypeLiteralNode(declaration) && (leftExpressionType.target || leftExpressionType) !== checker.getDeclaredTypeOfSymbol(symbol); if (makeStatic && (ts.isPrivateIdentifier(token) || ts.isInterfaceDeclaration(declaration))) return undefined; @@ -157303,17 +158838,14 @@ var ts; (makeStatic ? 32 /* ModifierFlags.Static */ : 0 /* ModifierFlags.None */) | (ts.startsWithUnderscore(token.text) ? 8 /* ModifierFlags.Private */ : 0 /* ModifierFlags.None */); var isJSFile = ts.isSourceFileJS(declSourceFile); var call = ts.tryCast(parent.parent, ts.isCallExpression); - return { kind: 0 /* InfoKind.TypeLikeDeclaration */, token: token, call: call, modifierFlags: modifierFlags, parentDeclaration: declaration, declSourceFile: declSourceFile, isJSFile: isJSFile }; + return { kind: InfoKind.TypeLikeDeclaration, token: token, call: call, modifierFlags: modifierFlags, parentDeclaration: declaration, declSourceFile: declSourceFile, isJSFile: isJSFile }; } var enumDeclaration = ts.find(symbol.declarations, ts.isEnumDeclaration); - if (enumDeclaration && !ts.isPrivateIdentifier(token) && !isSourceFileFromLibrary(program, enumDeclaration.getSourceFile())) { - return { kind: 1 /* InfoKind.Enum */, token: token, parentDeclaration: enumDeclaration }; + if (enumDeclaration && !(leftExpressionType.flags & 1056 /* TypeFlags.EnumLike */) && !ts.isPrivateIdentifier(token) && !ts.isSourceFileFromLibrary(program, enumDeclaration.getSourceFile())) { + return { kind: InfoKind.Enum, token: token, parentDeclaration: enumDeclaration }; } return undefined; } - function isSourceFileFromLibrary(program, node) { - return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node); - } function getActionsForMissingMemberDeclaration(context, info) { return info.isJSFile ? ts.singleElementArray(createActionForAddMissingMemberInJavascriptFile(context, info)) : createActionsForAddMissingMemberInTypeScriptFile(context, info); @@ -157334,7 +158866,7 @@ var ts; function addMissingMemberInJs(changeTracker, sourceFile, classDeclaration, token, makeStatic) { var tokenName = token.text; if (makeStatic) { - if (classDeclaration.kind === 226 /* SyntaxKind.ClassExpression */) { + if (classDeclaration.kind === 228 /* SyntaxKind.ClassExpression */) { return; } var className = classDeclaration.name.getText(); @@ -157343,9 +158875,9 @@ var ts; } else if (ts.isPrivateIdentifier(token)) { var property = ts.factory.createPropertyDeclaration( - /*modifiers*/ undefined, tokenName, - /*questionToken*/ undefined, - /*type*/ undefined, + /*modifiers*/ undefined, tokenName, + /*questionToken*/ undefined, + /*type*/ undefined, /*initializer*/ undefined); var lastProp = getNodeToInsertPropertyAfter(classDeclaration); if (lastProp) { @@ -157385,7 +158917,7 @@ var ts; } function getTypeNode(checker, node, token) { var typeNode; - if (token.parent.parent.kind === 221 /* SyntaxKind.BinaryExpression */) { + if (token.parent.parent.kind === 223 /* SyntaxKind.BinaryExpression */) { var binaryExpression = token.parent.parent; var otherExpression = token.parent === binaryExpression.left ? binaryExpression.right : binaryExpression.left; var widenedType = checker.getWidenedType(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(otherExpression))); @@ -157395,7 +158927,7 @@ var ts; var contextualType = checker.getContextualType(token.parent); typeNode = contextualType ? checker.typeToTypeNode(contextualType, /*enclosingDeclaration*/ undefined, 1 /* NodeBuilderFlags.NoTruncation */) : undefined; } - return typeNode || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */); + return typeNode || ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */); } function addPropertyDeclaration(changeTracker, sourceFile, node, tokenName, typeNode, modifierFlags) { var modifiers = modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; @@ -157423,11 +158955,11 @@ var ts; } function createAddIndexSignatureAction(context, sourceFile, node, tokenName, typeNode) { // Index signatures cannot have the static modifier. - var stringTypeNode = ts.factory.createKeywordTypeNode(150 /* SyntaxKind.StringKeyword */); + var stringTypeNode = ts.factory.createKeywordTypeNode(152 /* SyntaxKind.StringKeyword */); var indexingParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, "x", - /*questionToken*/ undefined, stringTypeNode, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, "x", + /*questionToken*/ undefined, stringTypeNode, /*initializer*/ undefined); var indexSignature = ts.factory.createIndexSignature( /*modifiers*/ undefined, [indexingParameter], typeNode); @@ -157454,7 +158986,7 @@ var ts; } function addMethodDeclaration(context, changes, callExpression, name, modifierFlags, parentDeclaration, sourceFile) { var importAdder = codefix.createImportAdder(sourceFile, context.program, context.preferences, context.host); - var kind = ts.isClassLike(parentDeclaration) ? 169 /* SyntaxKind.MethodDeclaration */ : 168 /* SyntaxKind.MethodSignature */; + var kind = ts.isClassLike(parentDeclaration) ? 171 /* SyntaxKind.MethodDeclaration */ : 170 /* SyntaxKind.MethodSignature */; var signatureDeclaration = codefix.createSignatureDeclarationFromCallExpression(kind, context, importAdder, callExpression, name, modifierFlags, parentDeclaration); var containingMethodDeclaration = tryGetContainingMethodDeclaration(parentDeclaration, callExpression); if (containingMethodDeclaration) { @@ -157483,9 +159015,17 @@ var ts; }); } function addFunctionDeclaration(changes, context, info) { + var quotePreference = ts.getQuotePreference(context.sourceFile, context.preferences); var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host); - var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(256 /* SyntaxKind.FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration); - changes.insertNodeAtEndOfScope(info.sourceFile, info.parentDeclaration, functionDeclaration); + var functionDeclaration = info.kind === InfoKind.Function + ? codefix.createSignatureDeclarationFromCallExpression(259 /* SyntaxKind.FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration) + : codefix.createSignatureDeclarationFromSignature(259 /* SyntaxKind.FunctionDeclaration */, context, quotePreference, info.signature, codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), info.token, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ undefined, importAdder); + if (functionDeclaration === undefined) { + ts.Debug.fail("fixMissingFunctionDeclaration codefix got unexpected error."); + } + ts.isReturnStatement(info.parentDeclaration) + ? changes.insertNodeBefore(info.sourceFile, info.parentDeclaration, functionDeclaration, /*blankLineBetween*/ true) + : changes.insertNodeAtEndOfScope(info.sourceFile, info.parentDeclaration, functionDeclaration); importAdder.writeFixes(changes); } function addJsxAttributes(changes, context, info) { @@ -157581,7 +159121,7 @@ var ts; var signature = checker.getSignaturesOfType(type, 0 /* SignatureKind.Call */); if (signature === undefined) return createUndefined(); - var func = codefix.createSignatureDeclarationFromSignature(213 /* SyntaxKind.FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ enclosingDeclaration, importAdder); + var func = codefix.createSignatureDeclarationFromSignature(215 /* SyntaxKind.FunctionExpression */, context, quotePreference, signature[0], codefix.createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference), /*name*/ undefined, /*modifiers*/ undefined, /*optional*/ undefined, /*enclosingDeclaration*/ enclosingDeclaration, importAdder); return func !== null && func !== void 0 ? func : createUndefined(); } if (ts.getObjectFlags(type) & 1 /* ObjectFlags.Class */) { @@ -157635,14 +159175,21 @@ var ts; return declaration && declaration.parent === node ? declaration : undefined; } function createPropertyNameFromSymbol(symbol, target, quotePreference, checker) { - if (ts.isTransientSymbol(symbol) && symbol.nameType && symbol.nameType.flags & 8192 /* TypeFlags.UniqueESSymbol */) { - var expression = checker.symbolToExpression(symbol.nameType.symbol, 111551 /* SymbolFlags.Value */, symbol.valueDeclaration, 1048576 /* NodeBuilderFlags.AllowUniqueESSymbolType */); - if (expression) { - return ts.factory.createComputedPropertyName(expression); - } + if (ts.isTransientSymbol(symbol)) { + var prop = checker.symbolToNode(symbol, 111551 /* SymbolFlags.Value */, /*enclosingDeclaration*/ undefined, 1073741824 /* NodeBuilderFlags.WriteComputedProps */); + if (prop && ts.isComputedPropertyName(prop)) + return prop; } return ts.createPropertyNameNodeForIdentifierOrLiteral(symbol.name, target, quotePreference === 0 /* QuotePreference.Single */); } + function findScope(node) { + if (ts.findAncestor(node, ts.isJsxExpression)) { + var returnStatement = ts.findAncestor(node.parent, ts.isReturnStatement); + if (returnStatement) + return returnStatement; + } + return ts.getSourceFileOfNode(node); + } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -157793,7 +159340,7 @@ var ts; // See `codeFixClassExtendAbstractProtectedProperty.ts` in https://github.com/Microsoft/TypeScript/pull/11547/files // (now named `codeFixClassExtendAbstractPrivateProperty.ts`) var flags = ts.getSyntacticModifierFlags(ts.first(symbol.getDeclarations())); - return !(flags & 8 /* ModifierFlags.Private */) && !!(flags & 128 /* ModifierFlags.Abstract */); + return !(flags & 8 /* ModifierFlags.Private */) && !!(flags & 256 /* ModifierFlags.Abstract */); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -157956,6 +159503,63 @@ var ts; })(ts || (ts = {})); /* @internal */ var ts; +(function (ts) { + var codefix; + (function (codefix) { + var fixId = "fixNaNEquality"; + var errorCodes = [ + ts.Diagnostics.This_condition_will_always_return_0.code, + ]; + codefix.registerCodeFix({ + errorCodes: errorCodes, + getCodeActions: function (context) { + var sourceFile = context.sourceFile, span = context.span, program = context.program; + var info = getInfo(program, sourceFile, span); + if (info === undefined) + return; + var suggestion = info.suggestion, expression = info.expression, arg = info.arg; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, arg, expression); }); + return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Use_0, suggestion], fixId, ts.Diagnostics.Use_Number_isNaN_in_all_conditions)]; + }, + fixIds: [fixId], + getAllCodeActions: function (context) { + return codefix.codeFixAll(context, errorCodes, function (changes, diag) { + var info = getInfo(context.program, diag.file, ts.createTextSpan(diag.start, diag.length)); + if (info) { + doChange(changes, diag.file, info.arg, info.expression); + } + }); + } + }); + function getInfo(program, sourceFile, span) { + var diag = ts.find(program.getSemanticDiagnostics(sourceFile), function (diag) { return diag.start === span.start && diag.length === span.length; }); + if (diag === undefined || diag.relatedInformation === undefined) + return; + var related = ts.find(diag.relatedInformation, function (related) { return related.code === ts.Diagnostics.Did_you_mean_0.code; }); + if (related === undefined || related.file === undefined || related.start === undefined || related.length === undefined) + return; + var token = codefix.findAncestorMatchingSpan(related.file, ts.createTextSpan(related.start, related.length)); + if (token === undefined) + return; + if (ts.isExpression(token) && ts.isBinaryExpression(token.parent)) { + return { suggestion: getSuggestion(related.messageText), expression: token.parent, arg: token }; + } + return undefined; + } + function doChange(changes, sourceFile, arg, expression) { + var callExpression = ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier("Number"), ts.factory.createIdentifier("isNaN")), /*typeArguments*/ undefined, [arg]); + var operator = expression.operatorToken.kind; + changes.replaceNode(sourceFile, expression, operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */ || operator === 35 /* SyntaxKind.ExclamationEqualsToken */ + ? ts.factory.createPrefixUnaryExpression(53 /* SyntaxKind.ExclamationToken */, callExpression) : callExpression); + } + function getSuggestion(messageText) { + var _a = ts.flattenDiagnosticMessageText(messageText, "\n", 0).match(/\'(.*)\'/) || [], _ = _a[0], suggestion = _a[1]; + return suggestion; + } + })(codefix = ts.codefix || (ts.codefix = {})); +})(ts || (ts = {})); +/* @internal */ +var ts; (function (ts) { var codefix; (function (codefix) { @@ -158273,7 +159877,7 @@ var ts; var importDeclaration = getImportDeclaration(context.sourceFile, context.program, context.span.start); if (!importDeclaration) return; - var namespaceChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return importDeclaration.kind === 270 /* SyntaxKind.ImportSpecifier */ && doNamespaceImportChange(t, context.sourceFile, importDeclaration, context.program); }); + var namespaceChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return importDeclaration.kind === 273 /* SyntaxKind.ImportSpecifier */ && doNamespaceImportChange(t, context.sourceFile, importDeclaration, context.program); }); var typeOnlyChanges = ts.textChanges.ChangeTracker.with(context, function (t) { return doTypeOnlyImportChange(t, context.sourceFile, importDeclaration, context.program); }); var actions; if (namespaceChanges.length) { @@ -158288,7 +159892,7 @@ var ts; }); function getImportDeclaration(sourceFile, program, start) { var identifier = ts.tryCast(ts.getTokenAtPosition(sourceFile, start), ts.isIdentifier); - if (!identifier || identifier.parent.kind !== 178 /* SyntaxKind.TypeReference */) + if (!identifier || identifier.parent.kind !== 180 /* SyntaxKind.TypeReference */) return; var checker = program.getTypeChecker(); var symbol = checker.getSymbolAtLocation(identifier); @@ -158300,11 +159904,11 @@ var ts; // new type-only import declaration, but honestly I doubt anyone will ever use this // codefix at all, so it's probably not worth the lines of code. function doTypeOnlyImportChange(changes, sourceFile, importDeclaration, program) { - if (importDeclaration.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */) { - changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, importDeclaration.name); + if (importDeclaration.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */) { + changes.insertModifierBefore(sourceFile, 154 /* SyntaxKind.TypeKeyword */, importDeclaration.name); return; } - var importClause = importDeclaration.kind === 267 /* SyntaxKind.ImportClause */ ? importDeclaration : importDeclaration.parent.parent; + var importClause = importDeclaration.kind === 270 /* SyntaxKind.ImportClause */ ? importDeclaration : importDeclaration.parent.parent; if (importClause.name && importClause.namedBindings) { // Cannot convert an import with a default import and named bindings to type-only // (it's a grammar error). @@ -158321,7 +159925,7 @@ var ts; // Don't convert it to type-only. return; } - changes.insertModifierBefore(sourceFile, 152 /* SyntaxKind.TypeKeyword */, importClause); + changes.insertModifierBefore(sourceFile, 154 /* SyntaxKind.TypeKeyword */, importClause); } function doNamespaceImportChange(changes, sourceFile, importDeclaration, program) { ts.refactor.doChangeNamedToNamespaceOrDefault(sourceFile, program, changes, importDeclaration.parent); @@ -158399,7 +160003,7 @@ var ts; ]; } var result = []; - if (token.kind === 137 /* SyntaxKind.InferKeyword */) { + if (token.kind === 138 /* SyntaxKind.InferKeyword */) { var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return changeInferToUnknown(t, sourceFile, token); }); var name = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name.text; result.push(codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Replace_infer_0_with_unknown, name], fixIdInfer, ts.Diagnostics.Replace_all_unused_infer_with_unknown)); @@ -158441,7 +160045,7 @@ var ts; break; } case fixIdDelete: { - if (token.kind === 137 /* SyntaxKind.InferKeyword */ || isImport(token)) { + if (token.kind === 138 /* SyntaxKind.InferKeyword */ || isImport(token)) { break; // Can't delete } else if (ts.isJSDocTemplateTag(token)) { @@ -158470,7 +160074,7 @@ var ts; break; } case fixIdInfer: - if (token.kind === 137 /* SyntaxKind.InferKeyword */) { + if (token.kind === 138 /* SyntaxKind.InferKeyword */) { changeInferToUnknown(changes, sourceFile, token); } break; @@ -158481,7 +160085,7 @@ var ts; }, }); function changeInferToUnknown(changes, sourceFile, token) { - changes.replaceNode(sourceFile, token.parent, ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)); + changes.replaceNode(sourceFile, token.parent, ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */)); } function createDeleteFix(changes, diag) { return codefix.createCodeFixAction(fixName, changes, diag, fixIdDelete, ts.Diagnostics.Delete_all_unused_declarations); @@ -158491,7 +160095,7 @@ var ts; } function isImport(token) { return token.kind === 100 /* SyntaxKind.ImportKeyword */ - || token.kind === 79 /* SyntaxKind.Identifier */ && (token.parent.kind === 270 /* SyntaxKind.ImportSpecifier */ || token.parent.kind === 267 /* SyntaxKind.ImportClause */); + || token.kind === 79 /* SyntaxKind.Identifier */ && (token.parent.kind === 273 /* SyntaxKind.ImportSpecifier */ || token.parent.kind === 270 /* SyntaxKind.ImportClause */); } /** Sometimes the diagnostic span is an entire ImportDeclaration, so we should remove the whole thing. */ function tryGetFullImport(token) { @@ -158501,7 +160105,7 @@ var ts; return ts.isVariableDeclarationList(token.parent) && ts.first(token.parent.getChildren(sourceFile)) === token; } function deleteEntireVariableStatement(changes, sourceFile, node) { - changes.delete(sourceFile, node.parent.kind === 237 /* SyntaxKind.VariableStatement */ ? node.parent : node); + changes.delete(sourceFile, node.parent.kind === 240 /* SyntaxKind.VariableStatement */ ? node.parent : node); } function deleteDestructuringElements(changes, sourceFile, node) { ts.forEach(node.elements, function (n) { return changes.delete(sourceFile, n); }); @@ -158510,7 +160114,7 @@ var ts; // Don't offer to prefix a property. if (errorCode === ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code) return; - if (token.kind === 137 /* SyntaxKind.InferKeyword */) { + if (token.kind === 138 /* SyntaxKind.InferKeyword */) { token = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name; } if (ts.isIdentifier(token) && canPrefix(token)) { @@ -158526,14 +160130,14 @@ var ts; } function canPrefix(token) { switch (token.parent.kind) { - case 164 /* SyntaxKind.Parameter */: - case 163 /* SyntaxKind.TypeParameter */: + case 166 /* SyntaxKind.Parameter */: + case 165 /* SyntaxKind.TypeParameter */: return true; - case 254 /* SyntaxKind.VariableDeclaration */: { + case 257 /* SyntaxKind.VariableDeclaration */: { var varDecl = token.parent; switch (varDecl.parent.parent.kind) { - case 244 /* SyntaxKind.ForOfStatement */: - case 243 /* SyntaxKind.ForInStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 246 /* SyntaxKind.ForInStatement */: return true; } } @@ -158588,8 +160192,8 @@ var ts; function mayDeleteParameter(checker, sourceFile, parameter, sourceFiles, program, cancellationToken, isFixAll) { var parent = parameter.parent; switch (parent.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: var index = parent.parameters.indexOf(parameter); var referent = ts.isMethodDeclaration(parent) ? parent.name : parent; var entries = ts.FindAllReferences.Core.getReferencedSymbolsForNode(parent.pos, referent, program, sourceFiles, cancellationToken); @@ -158619,20 +160223,20 @@ var ts; } } return true; - case 256 /* SyntaxKind.FunctionDeclaration */: { + case 259 /* SyntaxKind.FunctionDeclaration */: { if (parent.name && isCallbackLike(checker, sourceFile, parent.name)) { return isLastParameter(parent, parameter, isFixAll); } return true; } - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: // Can't remove a non-last parameter in a callback. Can remove a parameter in code-fix-all if future parameters are also unused. return isLastParameter(parent, parameter, isFixAll); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // Setter must have a parameter return false; - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: // Getter cannot have parameters return true; default: @@ -158693,7 +160297,7 @@ var ts; var container = (ts.isBlock(statement.parent) ? statement.parent : statement).parent; if (!ts.isBlock(statement.parent) || statement === ts.first(statement.parent.statements)) { switch (container.kind) { - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: if (container.elseStatement) { if (ts.isBlock(statement.parent)) { break; @@ -158704,8 +160308,8 @@ var ts; return; } // falls through - case 241 /* SyntaxKind.WhileStatement */: - case 242 /* SyntaxKind.ForStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 245 /* SyntaxKind.ForStatement */: changes.delete(sourceFile, container); return; } @@ -158778,7 +160382,7 @@ var ts; var typeNode = info.typeNode, type = info.type; var original = typeNode.getText(sourceFile); var actions = [fix(type, fixIdPlain, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript)]; - if (typeNode.kind === 314 /* SyntaxKind.JSDocNullableType */) { + if (typeNode.kind === 317 /* SyntaxKind.JSDocNullableType */) { // for nullable types, suggest the flow-compatible `T | null | undefined` // in addition to the jsdoc/closure-compatible `T | null` actions.push(fix(checker.getNullableType(type, 32768 /* TypeFlags.Undefined */), fixIdNullable, ts.Diagnostics.Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types)); @@ -158798,7 +160402,7 @@ var ts; if (!info) return; var typeNode = info.typeNode, type = info.type; - var fixedType = typeNode.kind === 314 /* SyntaxKind.JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 32768 /* TypeFlags.Undefined */) : type; + var fixedType = typeNode.kind === 317 /* SyntaxKind.JSDocNullableType */ && fixId === fixIdNullable ? checker.getNullableType(type, 32768 /* TypeFlags.Undefined */) : type; doChange(changes, sourceFile, typeNode, fixedType, checker); }); } @@ -158815,22 +160419,22 @@ var ts; // NOTE: Some locations are not handled yet: // MappedTypeNode.typeParameters and SignatureDeclaration.typeParameters, as well as CallExpression.typeArguments switch (node.kind) { - case 229 /* SyntaxKind.AsExpression */: - case 174 /* SyntaxKind.CallSignature */: - case 175 /* SyntaxKind.ConstructSignature */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 172 /* SyntaxKind.GetAccessor */: - case 176 /* SyntaxKind.IndexSignature */: - case 195 /* SyntaxKind.MappedType */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 164 /* SyntaxKind.Parameter */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: - case 173 /* SyntaxKind.SetAccessor */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 211 /* SyntaxKind.TypeAssertionExpression */: - case 254 /* SyntaxKind.VariableDeclaration */: + case 231 /* SyntaxKind.AsExpression */: + case 176 /* SyntaxKind.CallSignature */: + case 177 /* SyntaxKind.ConstructSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 174 /* SyntaxKind.GetAccessor */: + case 178 /* SyntaxKind.IndexSignature */: + case 197 /* SyntaxKind.MappedType */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 166 /* SyntaxKind.Parameter */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: + case 175 /* SyntaxKind.SetAccessor */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 213 /* SyntaxKind.TypeAssertionExpression */: + case 257 /* SyntaxKind.VariableDeclaration */: return true; default: return false; @@ -158933,14 +160537,14 @@ var ts; } var insertBefore; switch (containingFunction.kind) { - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: insertBefore = containingFunction.name; break; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: insertBefore = ts.findChildOfKind(containingFunction, 98 /* SyntaxKind.FunctionKeyword */, sourceFile); break; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: var kind = containingFunction.typeParameters ? 29 /* SyntaxKind.LessThanToken */ : 20 /* SyntaxKind.OpenParenToken */; insertBefore = ts.findChildOfKind(containingFunction, kind, sourceFile) || ts.first(containingFunction.parameters); break; @@ -158960,7 +160564,7 @@ var ts; changes.replaceNode(sourceFile, returnType, ts.factory.createTypeReferenceNode("Promise", ts.factory.createNodeArray([returnType]))); } } - changes.insertModifierBefore(sourceFile, 131 /* SyntaxKind.AsyncKeyword */, insertBefore); + changes.insertModifierBefore(sourceFile, 132 /* SyntaxKind.AsyncKeyword */, insertBefore); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -159276,7 +160880,7 @@ var ts; function annotate(changes, importAdder, sourceFile, declaration, type, program, host) { var typeNode = ts.getTypeNodeIfAccessible(type, declaration, program, host); if (typeNode) { - if (ts.isInJSFile(sourceFile) && declaration.kind !== 166 /* SyntaxKind.PropertySignature */) { + if (ts.isInJSFile(sourceFile) && declaration.kind !== 168 /* SyntaxKind.PropertySignature */) { var parent = ts.isVariableDeclaration(declaration) ? ts.tryCast(declaration.parent.parent, ts.isVariableStatement) : declaration; if (!parent) { return; @@ -159363,19 +160967,19 @@ var ts; function getFunctionReferences(containingFunction, sourceFile, program, cancellationToken) { var searchToken; switch (containingFunction.kind) { - case 171 /* SyntaxKind.Constructor */: - searchToken = ts.findChildOfKind(containingFunction, 134 /* SyntaxKind.ConstructorKeyword */, sourceFile); + case 173 /* SyntaxKind.Constructor */: + searchToken = ts.findChildOfKind(containingFunction, 135 /* SyntaxKind.ConstructorKeyword */, sourceFile); break; - case 214 /* SyntaxKind.ArrowFunction */: - case 213 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: var parent = containingFunction.parent; searchToken = (ts.isVariableDeclaration(parent) || ts.isPropertyDeclaration(parent)) && ts.isIdentifier(parent.name) ? parent.name : containingFunction.name; break; - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: searchToken = containingFunction.name; break; } @@ -159517,24 +161121,24 @@ var ts; node = node.parent; } switch (node.parent.kind) { - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: inferTypeFromExpressionStatement(node, usage); break; - case 220 /* SyntaxKind.PostfixUnaryExpression */: + case 222 /* SyntaxKind.PostfixUnaryExpression */: usage.isNumber = true; break; - case 219 /* SyntaxKind.PrefixUnaryExpression */: + case 221 /* SyntaxKind.PrefixUnaryExpression */: inferTypeFromPrefixUnaryExpression(node.parent, usage); break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: inferTypeFromBinaryExpression(node, node.parent, usage); break; - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: inferTypeFromSwitchStatementLabel(node.parent, usage); break; - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: if (node.parent.expression === node) { inferTypeFromCallExpression(node.parent, usage); } @@ -159542,20 +161146,20 @@ var ts; inferTypeFromContextualType(node, usage); } break; - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: inferTypeFromPropertyAccessExpression(node.parent, usage); break; - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: inferTypeFromPropertyElementExpression(node.parent, node, usage); break; - case 296 /* SyntaxKind.PropertyAssignment */: - case 297 /* SyntaxKind.ShorthandPropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: + case 300 /* SyntaxKind.ShorthandPropertyAssignment */: inferTypeFromPropertyAssignment(node.parent, usage); break; - case 167 /* SyntaxKind.PropertyDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: inferTypeFromPropertyDeclaration(node.parent, usage); break; - case 254 /* SyntaxKind.VariableDeclaration */: { + case 257 /* SyntaxKind.VariableDeclaration */: { var _a = node.parent, name = _a.name, initializer = _a.initializer; if (node === name) { if (initializer) { // This can happen for `let x = null;` which still has an implicit-any error. @@ -159677,7 +161281,7 @@ var ts; case 56 /* SyntaxKind.BarBarToken */: case 60 /* SyntaxKind.QuestionQuestionToken */: if (node === parent.left && - (node.parent.parent.kind === 254 /* SyntaxKind.VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { + (node.parent.parent.kind === 257 /* SyntaxKind.VariableDeclaration */ || ts.isAssignmentExpression(node.parent.parent, /*excludeCompoundAssignment*/ true))) { // var x = x || {}; // TODO: use getFalsyflagsOfType addCandidateType(usage, checker.getTypeAtLocation(parent.right)); @@ -159705,7 +161309,7 @@ var ts; } } calculateUsageOfNode(parent, call.return_); - if (parent.kind === 208 /* SyntaxKind.CallExpression */) { + if (parent.kind === 210 /* SyntaxKind.CallExpression */) { (usage.calls || (usage.calls = [])).push(call); } else { @@ -160159,25 +161763,44 @@ var ts; * @param body If defined, this will be the body of the member node passed to `addClassElement`. Otherwise, the body will default to a stub. */ function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, preserveOptional, isAmbient) { + var _a; if (preserveOptional === void 0) { preserveOptional = 3 /* PreserveOptionalFlags.All */; } if (isAmbient === void 0) { isAmbient = false; } var declarations = symbol.getDeclarations(); - if (!(declarations && declarations.length)) { - return undefined; - } + var declaration = declarations === null || declarations === void 0 ? void 0 : declarations[0]; var checker = context.program.getTypeChecker(); var scriptTarget = ts.getEmitScriptTarget(context.program.getCompilerOptions()); - var declaration = declarations[0]; - var name = ts.getSynthesizedDeepClone(ts.getNameOfDeclaration(declaration), /*includeTrivia*/ false); - var visibilityModifier = createVisibilityModifier(ts.getEffectiveModifierFlags(declaration)); - var modifiers = visibilityModifier ? ts.factory.createNodeArray([visibilityModifier]) : undefined; + /** + * (#49811) + * Note that there are cases in which the symbol declaration is not present. For example, in the code below both + * `MappedIndirect.ax` and `MappedIndirect.ay` have no declaration node attached (due to their mapped-type + * parent): + * + * ```ts + * type Base = { ax: number; ay: string }; + * type BaseKeys = keyof Base; + * type MappedIndirect = { [K in BaseKeys]: boolean }; + * ``` + * + * In such cases, we assume the declaration to be a `PropertySignature`. + */ + var kind = (_a = declaration === null || declaration === void 0 ? void 0 : declaration.kind) !== null && _a !== void 0 ? _a : 168 /* SyntaxKind.PropertySignature */; + var declarationName = ts.getSynthesizedDeepClone(ts.getNameOfDeclaration(declaration), /*includeTrivia*/ false); + var effectiveModifierFlags = declaration ? ts.getEffectiveModifierFlags(declaration) : 0 /* ModifierFlags.None */; + var modifierFlags = effectiveModifierFlags & 4 /* ModifierFlags.Public */ ? 4 /* ModifierFlags.Public */ : + effectiveModifierFlags & 16 /* ModifierFlags.Protected */ ? 16 /* ModifierFlags.Protected */ : + 0 /* ModifierFlags.None */; + if (declaration && ts.isAutoAccessorPropertyDeclaration(declaration)) { + modifierFlags |= 128 /* ModifierFlags.Accessor */; + } + var modifiers = modifierFlags ? ts.factory.createNodeArray(ts.factory.createModifiersFromModifierFlags(modifierFlags)) : undefined; var type = checker.getWidenedType(checker.getTypeOfSymbolAtLocation(symbol, enclosingDeclaration)); var optional = !!(symbol.flags & 16777216 /* SymbolFlags.Optional */); var ambient = !!(enclosingDeclaration.flags & 16777216 /* NodeFlags.Ambient */) || isAmbient; var quotePreference = ts.getQuotePreference(sourceFile, preferences); - switch (declaration.kind) { - case 166 /* SyntaxKind.PropertySignature */: - case 167 /* SyntaxKind.PropertyDeclaration */: + switch (kind) { + case 168 /* SyntaxKind.PropertySignature */: + case 169 /* SyntaxKind.PropertyDeclaration */: var flags = quotePreference === 0 /* QuotePreference.Single */ ? 268435456 /* NodeBuilderFlags.UseSingleQuotesForStringLiteralType */ : undefined; var typeNode = checker.typeToTypeNode(type, enclosingDeclaration, flags, getNoopSymbolTrackerWithResolver(context)); if (importAdder) { @@ -160187,11 +161810,12 @@ var ts; importSymbols(importAdder, importableReference.symbols); } } - addClassElement(ts.factory.createPropertyDeclaration(modifiers, name, optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, + addClassElement(ts.factory.createPropertyDeclaration(modifiers, declaration ? createName(declarationName) : symbol.getName(), optional && (preserveOptional & 2 /* PreserveOptionalFlags.Property */) ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeNode, /*initializer*/ undefined)); break; - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: { + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: { + ts.Debug.assertIsDefined(declarations); var typeNode_1 = checker.typeToTypeNode(type, enclosingDeclaration, /*flags*/ undefined, getNoopSymbolTrackerWithResolver(context)); var allAccessors = ts.getAllAccessorDeclarations(declarations, declaration); var orderedAccessors = allAccessors.secondAccessor @@ -160207,19 +161831,19 @@ var ts; for (var _i = 0, orderedAccessors_1 = orderedAccessors; _i < orderedAccessors_1.length; _i++) { var accessor = orderedAccessors_1[_i]; if (ts.isGetAccessorDeclaration(accessor)) { - addClassElement(ts.factory.createGetAccessorDeclaration(modifiers, name, ts.emptyArray, typeNode_1, ambient ? undefined : body || createStubbedMethodBody(quotePreference))); + addClassElement(ts.factory.createGetAccessorDeclaration(modifiers, createName(declarationName), ts.emptyArray, createTypeNode(typeNode_1), createBody(body, quotePreference, ambient))); } else { ts.Debug.assertNode(accessor, ts.isSetAccessorDeclaration, "The counterpart to a getter should be a setter"); var parameter = ts.getSetAccessorValueParameter(accessor); var parameterName = parameter && ts.isIdentifier(parameter.name) ? ts.idText(parameter.name) : undefined; - addClassElement(ts.factory.createSetAccessorDeclaration(modifiers, name, createDummyParameters(1, [parameterName], [typeNode_1], 1, /*inJs*/ false), ambient ? undefined : body || createStubbedMethodBody(quotePreference))); + addClassElement(ts.factory.createSetAccessorDeclaration(modifiers, createName(declarationName), createDummyParameters(1, [parameterName], [createTypeNode(typeNode_1)], 1, /*inJs*/ false), createBody(body, quotePreference, ambient))); } } break; } - case 168 /* SyntaxKind.MethodSignature */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: // The signature for the implementation appears as an entry in `signatures` iff // there is only one signature. // If there are overloads and an implementation signature, it appears as an @@ -160227,6 +161851,7 @@ var ts; // If there is more than one overload but no implementation signature // (eg: an abstract method or interface declaration), there is a 1-1 // correspondence of declarations and signatures. + ts.Debug.assertIsDefined(declarations); var signatures = type.isUnion() ? ts.flatMap(type.types, function (t) { return t.getCallSignatures(); }) : type.getCallSignatures(); if (!ts.some(signatures)) { break; @@ -160234,31 +161859,41 @@ var ts; if (declarations.length === 1) { ts.Debug.assert(signatures.length === 1, "One declaration implies one signature"); var signature = signatures[0]; - outputMethod(quotePreference, signature, modifiers, name, ambient ? undefined : body || createStubbedMethodBody(quotePreference)); + outputMethod(quotePreference, signature, modifiers, createName(declarationName), createBody(body, quotePreference, ambient)); break; } - for (var _a = 0, signatures_1 = signatures; _a < signatures_1.length; _a++) { - var signature = signatures_1[_a]; + for (var _b = 0, signatures_1 = signatures; _b < signatures_1.length; _b++) { + var signature = signatures_1[_b]; // Ensure nodes are fresh so they can have different positions when going through formatting. - outputMethod(quotePreference, signature, ts.getSynthesizedDeepClones(modifiers, /*includeTrivia*/ false), ts.getSynthesizedDeepClone(name, /*includeTrivia*/ false)); + outputMethod(quotePreference, signature, modifiers, createName(declarationName)); } if (!ambient) { if (declarations.length > signatures.length) { var signature = checker.getSignatureFromDeclaration(declarations[declarations.length - 1]); - outputMethod(quotePreference, signature, modifiers, name, body || createStubbedMethodBody(quotePreference)); + outputMethod(quotePreference, signature, modifiers, createName(declarationName), createBody(body, quotePreference)); } else { ts.Debug.assert(declarations.length === signatures.length, "Declarations and signatures should match count"); - addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional && !!(preserveOptional & 1 /* PreserveOptionalFlags.Method */), modifiers, quotePreference, body)); + addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, createName(declarationName), optional && !!(preserveOptional & 1 /* PreserveOptionalFlags.Method */), modifiers, quotePreference, body)); } } break; } function outputMethod(quotePreference, signature, modifiers, name, body) { - var method = createSignatureDeclarationFromSignature(169 /* SyntaxKind.MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* PreserveOptionalFlags.Method */), enclosingDeclaration, importAdder); + var method = createSignatureDeclarationFromSignature(171 /* SyntaxKind.MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* PreserveOptionalFlags.Method */), enclosingDeclaration, importAdder); if (method) addClassElement(method); } + function createName(node) { + return ts.getSynthesizedDeepClone(node, /*includeTrivia*/ false); + } + function createBody(block, quotePreference, ambient) { + return ambient ? undefined : + ts.getSynthesizedDeepClone(block, /*includeTrivia*/ false) || createStubbedMethodBody(quotePreference); + } + function createTypeNode(typeNode) { + return ts.getSynthesizedDeepClone(typeNode, /*includeTrivia*/ false); + } } codefix.addNewNodeForMemberSymbol = addNewNodeForMemberSymbol; function createSignatureDeclarationFromSignature(kind, context, quotePreference, signature, body, name, modifiers, optional, enclosingDeclaration, importAdder) { @@ -160332,6 +161967,9 @@ var ts; if (ts.isMethodDeclaration(signatureDeclaration)) { return ts.factory.updateMethodDeclaration(signatureDeclaration, modifiers, asteriskToken, name !== null && name !== void 0 ? name : ts.factory.createIdentifier(""), questionToken, typeParameters, parameters, type, body); } + if (ts.isFunctionDeclaration(signatureDeclaration)) { + return ts.factory.updateFunctionDeclaration(signatureDeclaration, modifiers, signatureDeclaration.asteriskToken, ts.tryCast(name, ts.isIdentifier), typeParameters, parameters, type, body !== null && body !== void 0 ? body : signatureDeclaration.body); + } return undefined; } codefix.createSignatureDeclarationFromSignature = createSignatureDeclarationFromSignature; @@ -160360,13 +161998,13 @@ var ts; ? undefined : checker.typeToTypeNode(contextualType, contextNode, /*flags*/ undefined, tracker); switch (kind) { - case 169 /* SyntaxKind.MethodDeclaration */: - return ts.factory.createMethodDeclaration(modifiers, asteriskToken, name, + case 171 /* SyntaxKind.MethodDeclaration */: + return ts.factory.createMethodDeclaration(modifiers, asteriskToken, name, /*questionToken*/ undefined, typeParameters, parameters, type, createStubbedMethodBody(quotePreference)); - case 168 /* SyntaxKind.MethodSignature */: - return ts.factory.createMethodSignature(modifiers, name, - /*questionToken*/ undefined, typeParameters, parameters, type === undefined ? ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */) : type); - case 256 /* SyntaxKind.FunctionDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + return ts.factory.createMethodSignature(modifiers, name, + /*questionToken*/ undefined, typeParameters, parameters, type === undefined ? ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */) : type); + case 259 /* SyntaxKind.FunctionDeclaration */: return ts.factory.createFunctionDeclaration(modifiers, asteriskToken, name, typeParameters, parameters, type, createStubbedBody(ts.Diagnostics.Function_not_implemented.message, quotePreference)); default: ts.Debug.fail("Unexpected kind"); @@ -160499,11 +162137,11 @@ var ts; var parameterNameCount = parameterNameCounts.get(parameterName); parameterNameCounts.set(parameterName, (parameterNameCount || 0) + 1); var newParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, - /*name*/ parameterName + (parameterNameCount || ""), - /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, - /*type*/ inJs ? undefined : (types === null || types === void 0 ? void 0 : types[i]) || ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ parameterName + (parameterNameCount || ""), + /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, + /*type*/ inJs ? undefined : (types === null || types === void 0 ? void 0 : types[i]) || ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */), /*initializer*/ undefined); parameters.push(newParameter); } @@ -160532,12 +162170,12 @@ var ts; var parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, /* types */ undefined, minArgumentCount, /*inJs*/ false); if (someSigHasRestParameter) { var restParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", - /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UnknownKeyword */)), + /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", + /*questionToken*/ maxNonRestArgs >= minArgumentCount ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, ts.factory.createArrayTypeNode(ts.factory.createKeywordTypeNode(157 /* SyntaxKind.UnknownKeyword */)), /*initializer*/ undefined); parameters.push(restParameter); } - return createStubbedMethod(modifiers, name, optional, + return createStubbedMethod(modifiers, name, optional, /*typeParameters*/ undefined, parameters, getReturnTypeFromSignatures(signatures, checker, context, enclosingDeclaration), quotePreference, body); } function getReturnTypeFromSignatures(signatures, checker, context, enclosingDeclaration) { @@ -160547,29 +162185,20 @@ var ts; } } function createStubbedMethod(modifiers, name, optional, typeParameters, parameters, returnType, quotePreference, body) { - return ts.factory.createMethodDeclaration(modifiers, + return ts.factory.createMethodDeclaration(modifiers, /*asteriskToken*/ undefined, name, optional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined, typeParameters, parameters, returnType, body || createStubbedMethodBody(quotePreference)); } function createStubbedMethodBody(quotePreference) { return createStubbedBody(ts.Diagnostics.Method_not_implemented.message, quotePreference); } function createStubbedBody(text, quotePreference) { - return ts.factory.createBlock([ts.factory.createThrowStatement(ts.factory.createNewExpression(ts.factory.createIdentifier("Error"), - /*typeArguments*/ undefined, + return ts.factory.createBlock([ts.factory.createThrowStatement(ts.factory.createNewExpression(ts.factory.createIdentifier("Error"), + /*typeArguments*/ undefined, // TODO Handle auto quote preference. - [ts.factory.createStringLiteral(text, /*isSingleQuote*/ quotePreference === 0 /* QuotePreference.Single */)]))], + [ts.factory.createStringLiteral(text, /*isSingleQuote*/ quotePreference === 0 /* QuotePreference.Single */)]))], /*multiline*/ true); } codefix.createStubbedBody = createStubbedBody; - function createVisibilityModifier(flags) { - if (flags & 4 /* ModifierFlags.Public */) { - return ts.factory.createToken(123 /* SyntaxKind.PublicKeyword */); - } - else if (flags & 16 /* ModifierFlags.Protected */) { - return ts.factory.createToken(122 /* SyntaxKind.ProtectedKeyword */); - } - return undefined; - } function setJsonCompilerOptionValues(changeTracker, configFile, options) { var tsconfigObjectLiteral = ts.getTsConfigObjectLiteralExpression(configFile); if (!tsconfigObjectLiteral) @@ -160648,6 +162277,15 @@ var ts; symbols.forEach(function (s) { return importAdder.addImportFromExportedSymbol(s, /*isValidTypeOnlyUseSite*/ true); }); } codefix.importSymbols = importSymbols; + function findAncestorMatchingSpan(sourceFile, span) { + var end = ts.textSpanEnd(span); + var token = ts.getTokenAtPosition(sourceFile, span.start); + while (token.end < end) { + token = token.parent; + } + return token; + } + codefix.findAncestorMatchingSpan = findAncestorMatchingSpan; })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); /* @internal */ @@ -160670,13 +162308,13 @@ var ts; if (ts.isClassLike(container)) { var modifierFlags = ts.getEffectiveModifierFlags(declaration); if (ts.isSourceFileJS(file)) { - var modifiers = ts.createModifiers(modifierFlags); + var modifiers = ts.factory.createModifiersFromModifierFlags(modifierFlags); accessorModifiers = modifiers; fieldModifiers = modifiers; } else { - accessorModifiers = ts.createModifiers(prepareModifierFlagsForAccessor(modifierFlags)); - fieldModifiers = ts.createModifiers(prepareModifierFlagsForField(modifierFlags)); + accessorModifiers = ts.factory.createModifiersFromModifierFlags(prepareModifierFlagsForAccessor(modifierFlags)); + fieldModifiers = ts.factory.createModifiersFromModifierFlags(prepareModifierFlagsForField(modifierFlags)); } if (ts.canHaveDecorators(declaration)) { fieldModifiers = ts.concatenate(ts.getDecorators(declaration), fieldModifiers); @@ -160745,7 +162383,7 @@ var ts; error: ts.getLocaleSpecificMessage(ts.Diagnostics.Name_is_not_valid) }; } - if (((ts.getEffectiveModifierFlags(declaration) & 125951 /* ModifierFlags.Modifier */) | meaning) !== meaning) { + if (((ts.getEffectiveModifierFlags(declaration) & 126975 /* ModifierFlags.Modifier */) | meaning) !== meaning) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_property_with_modifier) }; @@ -160758,7 +162396,7 @@ var ts; isStatic: ts.hasStaticModifier(declaration), isReadonly: ts.hasEffectiveReadonlyModifier(declaration), type: getDeclarationType(declaration, program), - container: declaration.kind === 164 /* SyntaxKind.Parameter */ ? declaration.parent.parent : declaration.parent, + container: declaration.kind === 166 /* SyntaxKind.Parameter */ ? declaration.parent.parent : declaration.parent, originalName: declaration.name.text, declaration: declaration, fieldName: fieldName, @@ -160768,7 +162406,7 @@ var ts; } codefix.getAccessorConvertiblePropertyAtPosition = getAccessorConvertiblePropertyAtPosition; function generateGetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { - return ts.factory.createGetAccessorDeclaration(modifiers, accessorName, + return ts.factory.createGetAccessorDeclaration(modifiers, accessorName, /*parameters*/ undefined, // TODO: GH#18217 type, ts.factory.createBlock([ ts.factory.createReturnStatement(createAccessorAccessExpression(fieldName, isStatic, container)) @@ -160776,8 +162414,8 @@ var ts; } function generateSetAccessor(fieldName, accessorName, type, modifiers, isStatic, container) { return ts.factory.createSetAccessorDeclaration(modifiers, accessorName, [ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, ts.factory.createIdentifier("value"), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, ts.factory.createIdentifier("value"), /*questionToken*/ undefined, type)], ts.factory.createBlock([ ts.factory.createExpressionStatement(ts.factory.createAssignment(createAccessorAccessExpression(fieldName, isStatic, container), ts.factory.createIdentifier("value"))) ], /*multiLine*/ true)); @@ -160832,7 +162470,7 @@ var ts; var type = typeChecker.getTypeFromTypeNode(typeNode); if (!typeChecker.isTypeAssignableTo(typeChecker.getUndefinedType(), type)) { var types = ts.isUnionTypeNode(typeNode) ? typeNode.types : [typeNode]; - return ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], types, true), [ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */)], false)); + return ts.factory.createUnionTypeNode(__spreadArray(__spreadArray([], types, true), [ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UndefinedKeyword */)], false)); } } return typeNode; @@ -160872,7 +162510,7 @@ var ts; if (ts.getEmitModuleKind(opts) === ts.ModuleKind.CommonJS) { // import Bluebird = require("bluebird"); variations.push(createAction(context, sourceFile, node, ts.factory.createImportEqualsDeclaration( - /*modifiers*/ undefined, + /*modifiers*/ undefined, /*isTypeOnly*/ false, namespace.name, ts.factory.createExternalModuleReference(node.moduleSpecifier)))); } return variations; @@ -160890,7 +162528,7 @@ var ts; }); function getActionsForUsageOfInvalidImport(context) { var sourceFile = context.sourceFile; - var targetKind = ts.Diagnostics.This_expression_is_not_callable.code === context.errorCode ? 208 /* SyntaxKind.CallExpression */ : 209 /* SyntaxKind.NewExpression */; + var targetKind = ts.Diagnostics.This_expression_is_not_callable.code === context.errorCode ? 210 /* SyntaxKind.CallExpression */ : 211 /* SyntaxKind.NewExpression */; var node = ts.findAncestor(ts.getTokenAtPosition(sourceFile, context.span.start), function (a) { return a.kind === targetKind; }); if (!node) { return []; @@ -161016,7 +162654,7 @@ var ts; return codefix.createCodeFixAction(fixName, changes, [ts.Diagnostics.Add_undefined_type_to_property_0, info.prop.name.getText()], fixIdAddUndefinedType, ts.Diagnostics.Add_undefined_type_to_all_uninitialized_properties); } function addUndefinedType(changeTracker, sourceFile, info) { - var undefinedTypeNode = ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */); + var undefinedTypeNode = ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UndefinedKeyword */); var types = ts.isUnionTypeNode(info.type) ? info.type.types.concat(undefinedTypeNode) : [info.type, undefinedTypeNode]; var unionTypeNode = ts.factory.createUnionTypeNode(types); if (info.isJs) { @@ -161062,7 +162700,7 @@ var ts; } else if (type.isClass()) { var classDeclaration = ts.getClassLikeDeclarationOfSymbol(type.symbol); - if (!classDeclaration || ts.hasSyntacticModifier(classDeclaration, 128 /* ModifierFlags.Abstract */)) + if (!classDeclaration || ts.hasSyntacticModifier(classDeclaration, 256 /* ModifierFlags.Abstract */)) return undefined; var constructorDeclaration = ts.getFirstConstructorWithBody(classDeclaration); if (constructorDeclaration && constructorDeclaration.parameters.length) @@ -161239,7 +162877,7 @@ var ts; function getImportTypeNode(sourceFile, pos) { var token = ts.getTokenAtPosition(sourceFile, pos); ts.Debug.assert(token.kind === 100 /* SyntaxKind.ImportKeyword */, "This token should be an ImportKeyword"); - ts.Debug.assert(token.parent.kind === 200 /* SyntaxKind.ImportType */, "Token parent should be an ImportType"); + ts.Debug.assert(token.parent.kind === 202 /* SyntaxKind.ImportType */, "Token parent should be an ImportType"); return token.parent; } function doChange(changes, sourceFile, importType) { @@ -161368,8 +163006,8 @@ var ts; var otherMembers = members.filter(function (member) { return !ts.isIndexSignatureDeclaration(member); }); var parameter = ts.first(indexSignature.parameters); var mappedTypeParameter = ts.factory.createTypeParameterDeclaration(/*modifiers*/ undefined, ts.cast(parameter.name, ts.isIdentifier), parameter.type); - var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */) : undefined, mappedTypeParameter, - /*nameType*/ undefined, indexSignature.questionToken, indexSignature.type, + var mappedIntersectionType = ts.factory.createMappedTypeNode(ts.hasEffectiveReadonlyModifier(indexSignature) ? ts.factory.createModifier(146 /* SyntaxKind.ReadonlyKeyword */) : undefined, mappedTypeParameter, + /*nameType*/ undefined, indexSignature.questionToken, indexSignature.type, /*members*/ undefined); var intersectionType = ts.factory.createIntersectionTypeNode(__spreadArray(__spreadArray(__spreadArray([], ts.getAllSuperTypeNodes(container), true), [ mappedIntersectionType @@ -161426,7 +163064,7 @@ var ts; }, }); function makeChange(changeTracker, sourceFile, span) { - var awaitKeyword = ts.tryCast(ts.getTokenAtPosition(sourceFile, span.start), function (node) { return node.kind === 132 /* SyntaxKind.AwaitKeyword */; }); + var awaitKeyword = ts.tryCast(ts.getTokenAtPosition(sourceFile, span.start), function (node) { return node.kind === 133 /* SyntaxKind.AwaitKeyword */; }); var awaitExpression = awaitKeyword && ts.tryCast(awaitKeyword.parent, ts.isAwaitExpression); if (!awaitExpression) { return; @@ -161493,28 +163131,45 @@ var ts; errorCodes: errorCodes, getCodeActions: function getCodeActionsToConvertConstToLet(context) { var sourceFile = context.sourceFile, span = context.span, program = context.program; - var range = getConstTokenRange(sourceFile, span.start, program); - if (range === undefined) + var info = getInfo(sourceFile, span.start, program); + if (info === undefined) return; - var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, range); }); - return [codefix.createCodeFixAction(fixId, changes, ts.Diagnostics.Convert_const_to_let, fixId, ts.Diagnostics.Convert_const_to_let)]; + var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, sourceFile, info.token); }); + return [codefix.createCodeFixActionMaybeFixAll(fixId, changes, ts.Diagnostics.Convert_const_to_let, fixId, ts.Diagnostics.Convert_all_const_to_let)]; + }, + getAllCodeActions: function (context) { + var program = context.program; + var seen = new ts.Map(); + return codefix.createCombinedCodeActions(ts.textChanges.ChangeTracker.with(context, function (changes) { + codefix.eachDiagnostic(context, errorCodes, function (diag) { + var info = getInfo(diag.file, diag.start, program); + if (info) { + if (ts.addToSeen(seen, ts.getSymbolId(info.symbol))) { + return doChange(changes, diag.file, info.token); + } + } + return undefined; + }); + })); }, fixIds: [fixId] }); - function getConstTokenRange(sourceFile, pos, program) { + function getInfo(sourceFile, pos, program) { var _a; var checker = program.getTypeChecker(); var symbol = checker.getSymbolAtLocation(ts.getTokenAtPosition(sourceFile, pos)); + if (symbol === undefined) + return; var declaration = ts.tryCast((_a = symbol === null || symbol === void 0 ? void 0 : symbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.parent, ts.isVariableDeclarationList); if (declaration === undefined) return; var constToken = ts.findChildOfKind(declaration, 85 /* SyntaxKind.ConstKeyword */, sourceFile); if (constToken === undefined) return; - return ts.createRange(constToken.pos, constToken.end); + return { symbol: symbol, token: constToken }; } - function doChange(changes, sourceFile, range) { - changes.replaceRangeWithText(sourceFile, range, "let"); + function doChange(changes, sourceFile, token) { + changes.replaceNode(sourceFile, token, ts.factory.createToken(119 /* SyntaxKind.LetKeyword */)); } })(codefix = ts.codefix || (ts.codefix = {})); })(ts || (ts = {})); @@ -161689,7 +163344,6 @@ var ts; return { edits: edits, renameFilename: undefined, renameLocation: undefined }; }, }); - ; function getInfo(context, considerPartialSpans) { if (considerPartialSpans === void 0) { considerPartialSpans = true; } var file = context.file, program = context.program; @@ -161701,8 +163355,8 @@ var ts; } var checker = program.getTypeChecker(); var exportingModuleSymbol = getExportingModuleSymbol(exportNode, checker); - var flags = ts.getSyntacticModifierFlags(exportNode) || ((ts.isExportAssignment(exportNode) && !exportNode.isExportEquals) ? 513 /* ModifierFlags.ExportDefault */ : 0 /* ModifierFlags.None */); - var wasDefault = !!(flags & 512 /* ModifierFlags.Default */); + var flags = ts.getSyntacticModifierFlags(exportNode) || ((ts.isExportAssignment(exportNode) && !exportNode.isExportEquals) ? 1025 /* ModifierFlags.ExportDefault */ : 0 /* ModifierFlags.None */); + var wasDefault = !!(flags & 1024 /* ModifierFlags.Default */); // If source file already has a default export, don't offer refactor. if (!(flags & 1 /* ModifierFlags.Export */) || !wasDefault && exportingModuleSymbol.exports.has("default" /* InternalSymbolName.Default */)) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.This_file_already_has_a_default_export) }; @@ -161712,19 +163366,19 @@ var ts; : { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_named_export) }; }; switch (exportNode.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: { + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: { var node = exportNode; if (!node.name) return undefined; return noSymbolError(node.name) || { exportNode: node, exportName: node.name, wasDefault: wasDefault, exportingModuleSymbol: exportingModuleSymbol }; } - case 237 /* SyntaxKind.VariableStatement */: { + case 240 /* SyntaxKind.VariableStatement */: { var vs = exportNode; // Must be `export const x = something;`. if (!(vs.declarationList.flags & 2 /* NodeFlags.Const */) || vs.declarationList.declarations.length !== 1) { @@ -161737,7 +163391,7 @@ var ts; return noSymbolError(decl.name) || { exportNode: vs, exportName: decl.name, wasDefault: wasDefault, exportingModuleSymbol: exportingModuleSymbol }; } - case 271 /* SyntaxKind.ExportAssignment */: { + case 274 /* SyntaxKind.ExportAssignment */: { var node = exportNode; if (node.isExportEquals) return undefined; @@ -161767,12 +163421,12 @@ var ts; else { var exportKeyword = ts.Debug.checkDefined(ts.findModifier(exportNode, 93 /* SyntaxKind.ExportKeyword */), "Should find an export keyword in modifier list"); switch (exportNode.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: changes.insertNodeAfter(exportingSourceFile, exportKeyword, ts.factory.createToken(88 /* SyntaxKind.DefaultKeyword */)); break; - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: // If 'x' isn't used in this file and doesn't have type definition, `export const x = 0;` --> `export default 0;` var decl = ts.first(exportNode.declarationList.declarations); if (!ts.FindAllReferences.Core.isSymbolReferencedInFile(exportName, checker, exportingSourceFile) && !decl.type) { @@ -161781,9 +163435,9 @@ var ts; break; } // falls through - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: // `export type T = number;` -> `type T = number; export default T;` changes.deleteModifier(exportingSourceFile, exportKeyword); changes.insertNodeAfter(exportingSourceFile, exportNode, ts.factory.createExportDefault(ts.factory.createIdentifier(exportName.text))); @@ -161812,18 +163466,18 @@ var ts; function changeDefaultToNamedImport(importingSourceFile, ref, changes, exportName) { var parent = ref.parent; switch (parent.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: // `a.default` --> `a.foo` changes.replaceNode(importingSourceFile, ref, ts.factory.createIdentifier(exportName)); break; - case 270 /* SyntaxKind.ImportSpecifier */: - case 275 /* SyntaxKind.ExportSpecifier */: { + case 273 /* SyntaxKind.ImportSpecifier */: + case 278 /* SyntaxKind.ExportSpecifier */: { var spec = parent; // `default as foo` --> `foo`, `default as bar` --> `foo as bar` changes.replaceNode(importingSourceFile, spec, makeImportSpecifier(exportName, spec.name.text)); break; } - case 267 /* SyntaxKind.ImportClause */: { + case 270 /* SyntaxKind.ImportClause */: { var clause = parent; ts.Debug.assert(clause.name === ref, "Import clause name should match provided ref"); var spec = makeImportSpecifier(exportName, ref.text); @@ -161832,7 +163486,7 @@ var ts; // `import foo from "./a";` --> `import { foo } from "./a";` changes.replaceNode(importingSourceFile, ref, ts.factory.createNamedImports([spec])); } - else if (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + else if (namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { // `import foo, * as a from "./a";` --> `import * as a from ".a/"; import { foo } from "./a";` changes.deleteRange(importingSourceFile, { pos: ref.getStart(importingSourceFile), end: namedBindings.getStart(importingSourceFile) }); var quotePreference = ts.isStringLiteral(clause.parent.moduleSpecifier) ? ts.quotePreferenceFromString(clause.parent.moduleSpecifier, importingSourceFile) : 1 /* QuotePreference.Double */; @@ -161846,7 +163500,7 @@ var ts; } break; } - case 200 /* SyntaxKind.ImportType */: + case 202 /* SyntaxKind.ImportType */: var importTypeNode = parent; changes.replaceNode(importingSourceFile, parent, ts.factory.createImportTypeNode(importTypeNode.argument, importTypeNode.assertions, ts.factory.createIdentifier(exportName), importTypeNode.typeArguments, importTypeNode.isTypeOf)); break; @@ -161857,11 +163511,11 @@ var ts; function changeNamedToDefaultImport(importingSourceFile, ref, changes) { var parent = ref.parent; switch (parent.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: // `a.foo` --> `a.default` changes.replaceNode(importingSourceFile, ref, ts.factory.createIdentifier("default")); break; - case 270 /* SyntaxKind.ImportSpecifier */: { + case 273 /* SyntaxKind.ImportSpecifier */: { // `import { foo } from "./a";` --> `import foo from "./a";` // `import { foo as bar } from "./a";` --> `import bar from "./a";` var defaultImport = ts.factory.createIdentifier(parent.name.text); @@ -161874,7 +163528,7 @@ var ts; } break; } - case 275 /* SyntaxKind.ExportSpecifier */: { + case 278 /* SyntaxKind.ExportSpecifier */: { // `export { foo } from "./a";` --> `export { default as foo } from "./a";` // `export { foo as bar } from "./a";` --> `export { default as bar } from "./a";` // `export { foo as default } from "./a";` --> `export { default } from "./a";` @@ -161975,7 +163629,7 @@ var ts; if (!importClause.namedBindings) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_namespace_import_or_named_imports) }; } - if (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { return { convertTo: 0 /* ImportKind.Named */, import: importClause.namedBindings }; } var shouldUseDefault = getShouldUseDefault(context.program, importClause); @@ -162166,7 +163820,6 @@ var ts; }); return { edits: edits, renameFilename: undefined, renameLocation: undefined }; } - ; function isValidExpression(node) { return ts.isBinaryExpression(node) || ts.isConditionalExpression(node); } @@ -162214,7 +163867,6 @@ var ts; if (expression.operatorToken.kind !== 55 /* SyntaxKind.AmpersandAmpersandToken */) { return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Can_only_convert_logical_AND_access_chains) }; } - ; var finalExpression = getFinalExpressionInChain(expression.right); if (!finalExpression) return { error: ts.getLocaleSpecificMessage(ts.Diagnostics.Could_not_find_convertible_access_expression) }; @@ -162424,27 +164076,27 @@ var ts; var lastDeclaration = signatureDecls[signatureDecls.length - 1]; var updated = lastDeclaration; switch (lastDeclaration.kind) { - case 168 /* SyntaxKind.MethodSignature */: { + case 170 /* SyntaxKind.MethodSignature */: { updated = ts.factory.updateMethodSignature(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 169 /* SyntaxKind.MethodDeclaration */: { + case 171 /* SyntaxKind.MethodDeclaration */: { updated = ts.factory.updateMethodDeclaration(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.questionToken, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } - case 174 /* SyntaxKind.CallSignature */: { + case 176 /* SyntaxKind.CallSignature */: { updated = ts.factory.updateCallSignature(lastDeclaration, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 171 /* SyntaxKind.Constructor */: { + case 173 /* SyntaxKind.Constructor */: { updated = ts.factory.updateConstructorDeclaration(lastDeclaration, lastDeclaration.modifiers, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.body); break; } - case 175 /* SyntaxKind.ConstructSignature */: { + case 177 /* SyntaxKind.ConstructSignature */: { updated = ts.factory.updateConstructSignature(lastDeclaration, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type); break; } - case 256 /* SyntaxKind.FunctionDeclaration */: { + case 259 /* SyntaxKind.FunctionDeclaration */: { updated = ts.factory.updateFunctionDeclaration(lastDeclaration, lastDeclaration.modifiers, lastDeclaration.asteriskToken, lastDeclaration.name, lastDeclaration.typeParameters, getNewParametersForCombinedSignature(signatureDecls), lastDeclaration.type, lastDeclaration.body); break; } @@ -162465,7 +164117,7 @@ var ts; } return ts.factory.createNodeArray([ ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), "args", + /*modifiers*/ undefined, ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */), "args", /*questionToken*/ undefined, ts.factory.createUnionTypeNode(ts.map(signatureDeclarations, convertSignatureParametersToTuple))) ]); } @@ -162475,7 +164127,7 @@ var ts; } function convertParameterToNamedTupleMember(p) { ts.Debug.assert(ts.isIdentifier(p.name)); // This is checked during refactoring applicability checking - var result = ts.setTextRange(ts.factory.createNamedTupleMember(p.dotDotDotToken, p.name, p.questionToken, p.type || ts.factory.createKeywordTypeNode(130 /* SyntaxKind.AnyKeyword */)), p); + var result = ts.setTextRange(ts.factory.createNamedTupleMember(p.dotDotDotToken, p.name, p.questionToken, p.type || ts.factory.createKeywordTypeNode(131 /* SyntaxKind.AnyKeyword */)), p); var parameterDocComment = p.symbol && p.symbol.getDocumentationComment(checker); if (parameterDocComment) { var newComment = ts.displayPartsToString(parameterDocComment); @@ -162495,12 +164147,12 @@ var ts; } function isConvertableSignatureDeclaration(d) { switch (d.kind) { - case 168 /* SyntaxKind.MethodSignature */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 174 /* SyntaxKind.CallSignature */: - case 171 /* SyntaxKind.Constructor */: - case 175 /* SyntaxKind.ConstructSignature */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 176 /* SyntaxKind.CallSignature */: + case 173 /* SyntaxKind.Constructor */: + case 177 /* SyntaxKind.ConstructSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: return true; } return false; @@ -162619,8 +164271,8 @@ var ts; var i = 0; for (var _i = 0, extractions_1 = extractions; _i < extractions_1.length; _i++) { var _a = extractions_1[_i], functionExtraction = _a.functionExtraction, constantExtraction = _a.constantExtraction; - var description = functionExtraction.description; if (refactor.refactorKindBeginsWith(extractFunctionAction.kind, requestedRefactor)) { + var description = functionExtraction.description; if (functionExtraction.errors.length === 0) { // Don't issue refactorings with duplicated names. // Scopes come back in "innermost first" order, so extractions will @@ -162644,15 +164296,15 @@ var ts; } } if (refactor.refactorKindBeginsWith(extractConstantAction.kind, requestedRefactor)) { + var description = constantExtraction.description; if (constantExtraction.errors.length === 0) { // Don't issue refactorings with duplicated names. // Scopes come back in "innermost first" order, so extractions will // preferentially go into nearer scopes - var description_1 = constantExtraction.description; - if (!usedConstantNames.has(description_1)) { - usedConstantNames.set(description_1, true); + if (!usedConstantNames.has(description)) { + usedConstantNames.set(description, true); constantActions.push({ - description: description_1, + description: description, name: "constant_scope_".concat(i), kind: extractConstantAction.kind }); @@ -162797,7 +164449,6 @@ var ts; var start = cursorRequest ? getExtractableParent(startToken) : ts.getParentNodeInSpan(startToken, sourceFile, adjustedSpan); // Do the same for the ending position var end = cursorRequest ? start : ts.getParentNodeInSpan(endToken, sourceFile, adjustedSpan); - var declarations = []; // We'll modify these flags as we walk the tree to collect data // about what things need to be done as part of the extraction. var rangeFacts = RangeFacts.None; @@ -162840,7 +164491,7 @@ var ts; // the expression. return { errors: [ts.createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } - return { targetRange: { range: statements, facts: rangeFacts, declarations: declarations, thisNode: thisNode } }; + return { targetRange: { range: statements, facts: rangeFacts, thisNode: thisNode } }; } if (ts.isReturnStatement(start) && !start.expression) { // Makes no sense to extract an expression-less return statement. @@ -162852,7 +164503,7 @@ var ts; if (errors) { return { errors: errors }; } - return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, declarations: declarations, thisNode: thisNode } }; // TODO: GH#18217 + return { targetRange: { range: getStatementOrExpressionRange(node), facts: rangeFacts, thisNode: thisNode } }; // TODO: GH#18217 /** * Attempt to refine the extraction node (generally, by shrinking it) to produce better results. * @param node The unrefined extraction node. @@ -162864,10 +164515,10 @@ var ts; } } else if (ts.isVariableStatement(node) || ts.isVariableDeclarationList(node)) { - var declarations_6 = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations; + var declarations = ts.isVariableStatement(node) ? node.declarationList.declarations : node.declarations; var numInitializers = 0; var lastInitializer = void 0; - for (var _i = 0, declarations_5 = declarations_6; _i < declarations_5.length; _i++) { + for (var _i = 0, declarations_5 = declarations; _i < declarations_5.length; _i++) { var declaration = declarations_5[_i]; if (declaration.initializer) { numInitializers++; @@ -162895,20 +164546,20 @@ var ts; function checkForStaticContext(nodeToCheck, containingClass) { var current = nodeToCheck; while (current !== containingClass) { - if (current.kind === 167 /* SyntaxKind.PropertyDeclaration */) { + if (current.kind === 169 /* SyntaxKind.PropertyDeclaration */) { if (ts.isStatic(current)) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 164 /* SyntaxKind.Parameter */) { + else if (current.kind === 166 /* SyntaxKind.Parameter */) { var ctorOrMethod = ts.getContainingFunction(current); - if (ctorOrMethod.kind === 171 /* SyntaxKind.Constructor */) { + if (ctorOrMethod.kind === 173 /* SyntaxKind.Constructor */) { rangeFacts |= RangeFacts.InStaticRegion; } break; } - else if (current.kind === 169 /* SyntaxKind.MethodDeclaration */) { + else if (current.kind === 171 /* SyntaxKind.MethodDeclaration */) { if (ts.isStatic(current)) { rangeFacts |= RangeFacts.InStaticRegion; } @@ -162946,9 +164597,9 @@ var ts; visit(nodeToCheck); if (rangeFacts & RangeFacts.UsesThis) { var container = ts.getThisContainer(nodeToCheck, /** includeArrowFunctions */ false); - if (container.kind === 256 /* SyntaxKind.FunctionDeclaration */ || - (container.kind === 169 /* SyntaxKind.MethodDeclaration */ && container.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */) || - container.kind === 213 /* SyntaxKind.FunctionExpression */) { + if (container.kind === 259 /* SyntaxKind.FunctionDeclaration */ || + (container.kind === 171 /* SyntaxKind.MethodDeclaration */ && container.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */) || + container.kind === 215 /* SyntaxKind.FunctionExpression */) { rangeFacts |= RangeFacts.UsesThisInFunction; } } @@ -162959,7 +164610,7 @@ var ts; return true; } if (ts.isDeclaration(node)) { - var declaringNode = (node.kind === 254 /* SyntaxKind.VariableDeclaration */) ? node.parent.parent : node; + var declaringNode = (node.kind === 257 /* SyntaxKind.VariableDeclaration */) ? node.parent.parent : node; if (ts.hasSyntacticModifier(declaringNode, 1 /* ModifierFlags.Export */)) { // TODO: GH#18217 Silly to use `errors ||` since it's definitely not defined (see top of `visit`) // Also, if we're only pushing one error, just use `let error: Diagnostic | undefined`! @@ -162967,20 +164618,19 @@ var ts; (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; } - declarations.push(node.symbol); } // Some things can't be extracted in certain situations switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractImport)); return true; - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; case 106 /* SyntaxKind.SuperKeyword */: // For a super *constructor call*, we have to be extracting the entire class, // but a super *method call* simply implies a 'this' reference - if (node.parent.kind === 208 /* SyntaxKind.CallExpression */) { + if (node.parent.kind === 210 /* SyntaxKind.CallExpression */) { // Super constructor call var containingClass_1 = ts.getContainingClass(node); if (containingClass_1 === undefined || containingClass_1.pos < span.start || containingClass_1.end >= (span.start + span.length)) { @@ -162993,7 +164643,7 @@ var ts; thisNode = node; } break; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: // check if arrow function uses this ts.forEachChild(node, function check(n) { if (ts.isThis(n)) { @@ -163008,39 +164658,39 @@ var ts; } }); // falls through - case 257 /* SyntaxKind.ClassDeclaration */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: if (ts.isSourceFile(node.parent) && node.parent.externalModuleIndicator === undefined) { // You cannot extract global declarations (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.functionWillNotBeVisibleInTheNewScope)); } // falls through - case 226 /* SyntaxKind.ClassExpression */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 171 /* SyntaxKind.Constructor */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: + case 228 /* SyntaxKind.ClassExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 173 /* SyntaxKind.Constructor */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: // do not dive into functions or classes return false; } var savedPermittedJumps = permittedJumps; switch (node.kind) { - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: permittedJumps &= ~4 /* PermittedJumps.Return */; break; - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: // forbid all jumps inside try blocks permittedJumps = 0 /* PermittedJumps.None */; break; - case 235 /* SyntaxKind.Block */: - if (node.parent && node.parent.kind === 252 /* SyntaxKind.TryStatement */ && node.parent.finallyBlock === node) { + case 238 /* SyntaxKind.Block */: + if (node.parent && node.parent.kind === 255 /* SyntaxKind.TryStatement */ && node.parent.finallyBlock === node) { // allow unconditional returns from finally blocks permittedJumps = 4 /* PermittedJumps.Return */; } break; - case 290 /* SyntaxKind.DefaultClause */: - case 289 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: // allow unlabeled break inside case clauses permittedJumps |= 1 /* PermittedJumps.Break */; break; @@ -163052,20 +164702,20 @@ var ts; break; } switch (node.kind) { - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: case 108 /* SyntaxKind.ThisKeyword */: rangeFacts |= RangeFacts.UsesThis; thisNode = node; break; - case 250 /* SyntaxKind.LabeledStatement */: { + case 253 /* SyntaxKind.LabeledStatement */: { var label = node.label; (seenLabels || (seenLabels = [])).push(label.escapedText); ts.forEachChild(node, visit); seenLabels.pop(); break; } - case 246 /* SyntaxKind.BreakStatement */: - case 245 /* SyntaxKind.ContinueStatement */: { + case 249 /* SyntaxKind.BreakStatement */: + case 248 /* SyntaxKind.ContinueStatement */: { var label = node.label; if (label) { if (!ts.contains(seenLabels, label.escapedText)) { @@ -163074,20 +164724,20 @@ var ts; } } else { - if (!(permittedJumps & (node.kind === 246 /* SyntaxKind.BreakStatement */ ? 1 /* PermittedJumps.Break */ : 2 /* PermittedJumps.Continue */))) { + if (!(permittedJumps & (node.kind === 249 /* SyntaxKind.BreakStatement */ ? 1 /* PermittedJumps.Break */ : 2 /* PermittedJumps.Continue */))) { // attempt to break or continue in a forbidden context (errors || (errors = [])).push(ts.createDiagnosticForNode(node, Messages.cannotExtractRangeContainingConditionalBreakOrContinueStatements)); } } break; } - case 218 /* SyntaxKind.AwaitExpression */: + case 220 /* SyntaxKind.AwaitExpression */: rangeFacts |= RangeFacts.IsAsyncFunction; break; - case 224 /* SyntaxKind.YieldExpression */: + case 226 /* SyntaxKind.YieldExpression */: rangeFacts |= RangeFacts.IsGenerator; break; - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: if (permittedJumps & 4 /* PermittedJumps.Return */) { rangeFacts |= RangeFacts.HasReturn; } @@ -163157,7 +164807,7 @@ var ts; while (true) { current = current.parent; // A function parameter's initializer is actually in the outer scope, not the function declaration - if (current.kind === 164 /* SyntaxKind.Parameter */) { + if (current.kind === 166 /* SyntaxKind.Parameter */) { // Skip all the way to the outer scope of the function that declared this parameter current = ts.findAncestor(current, function (parent) { return ts.isFunctionLikeDeclaration(parent); }).parent; } @@ -163168,7 +164818,7 @@ var ts; // * Module/namespace or source file if (isScope(current)) { scopes.push(current); - if (current.kind === 305 /* SyntaxKind.SourceFile */) { + if (current.kind === 308 /* SyntaxKind.SourceFile */) { return scopes; } } @@ -163258,32 +164908,32 @@ var ts; } function getDescriptionForFunctionLikeDeclaration(scope) { switch (scope.kind) { - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: return "constructor"; - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: return scope.name ? "function '".concat(scope.name.text, "'") : ts.ANONYMOUS; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return "arrow function"; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return "method '".concat(scope.name.getText(), "'"); - case 172 /* SyntaxKind.GetAccessor */: + case 174 /* SyntaxKind.GetAccessor */: return "'get ".concat(scope.name.getText(), "'"); - case 173 /* SyntaxKind.SetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: return "'set ".concat(scope.name.getText(), "'"); default: throw ts.Debug.assertNever(scope, "Unexpected scope kind ".concat(scope.kind)); } } function getDescriptionForClassLikeDeclaration(scope) { - return scope.kind === 257 /* SyntaxKind.ClassDeclaration */ + return scope.kind === 260 /* SyntaxKind.ClassDeclaration */ ? scope.name ? "class '".concat(scope.name.text, "'") : "anonymous class declaration" : scope.name ? "class expression '".concat(scope.name.text, "'") : "anonymous class expression"; } function getDescriptionForModuleLikeDeclaration(scope) { - return scope.kind === 262 /* SyntaxKind.ModuleBlock */ + return scope.kind === 265 /* SyntaxKind.ModuleBlock */ ? "namespace '".concat(scope.parent.name.getText(), "'") : scope.externalModuleIndicator ? 0 /* SpecialScope.Module */ : 1 /* SpecialScope.Global */; } @@ -163319,9 +164969,9 @@ var ts; typeNode = ts.codefix.typeToAutoImportableTypeNode(checker, importAdder, type, scope, scriptTarget, 1 /* NodeBuilderFlags.NoTruncation */); } var paramDecl = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, - /*name*/ name, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ name, /*questionToken*/ undefined, typeNode); parameters.push(paramDecl); if (usage.usage === 2 /* Usage.Write */) { @@ -163356,21 +165006,21 @@ var ts; modifiers.push(ts.factory.createModifier(124 /* SyntaxKind.StaticKeyword */)); } if (range.facts & RangeFacts.IsAsyncFunction) { - modifiers.push(ts.factory.createModifier(131 /* SyntaxKind.AsyncKeyword */)); + modifiers.push(ts.factory.createModifier(132 /* SyntaxKind.AsyncKeyword */)); } - newFunction = ts.factory.createMethodDeclaration(modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, + newFunction = ts.factory.createMethodDeclaration(modifiers.length ? modifiers : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, /*questionToken*/ undefined, typeParameters, parameters, returnType, body); } else { if (callThis) { parameters.unshift(ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, - /*name*/ "this", - /*questionToken*/ undefined, checker.typeToTypeNode(checker.getTypeAtLocation(range.thisNode), scope, 1 /* NodeBuilderFlags.NoTruncation */), + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, + /*name*/ "this", + /*questionToken*/ undefined, checker.typeToTypeNode(checker.getTypeAtLocation(range.thisNode), scope, 1 /* NodeBuilderFlags.NoTruncation */), /*initializer*/ undefined)); } - newFunction = ts.factory.createFunctionDeclaration(range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(131 /* SyntaxKind.AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); + newFunction = ts.factory.createFunctionDeclaration(range.facts & RangeFacts.IsAsyncFunction ? [ts.factory.createToken(132 /* SyntaxKind.AsyncKeyword */)] : undefined, range.facts & RangeFacts.IsGenerator ? ts.factory.createToken(41 /* SyntaxKind.AsteriskToken */) : undefined, functionName, typeParameters, parameters, returnType, body); } var changeTracker = ts.textChanges.ChangeTracker.fromContext(context); var minInsertionPos = (isReadonlyArray(range.range) ? ts.last(range.range) : range.range).end; @@ -163421,15 +165071,15 @@ var ts; for (var _i = 0, exposedVariableDeclarations_1 = exposedVariableDeclarations; _i < exposedVariableDeclarations_1.length; _i++) { var variableDeclaration = exposedVariableDeclarations_1[_i]; bindingElements.push(ts.factory.createBindingElement( - /*dotDotDotToken*/ undefined, - /*propertyName*/ undefined, + /*dotDotDotToken*/ undefined, + /*propertyName*/ undefined, /*name*/ ts.getSynthesizedDeepClone(variableDeclaration.name))); // Being returned through an object literal will have widened the type. var variableType = checker.typeToTypeNode(checker.getBaseTypeOfLiteralType(checker.getTypeAtLocation(variableDeclaration)), scope, 1 /* NodeBuilderFlags.NoTruncation */); typeElements.push(ts.factory.createPropertySignature( - /*modifiers*/ undefined, - /*name*/ variableDeclaration.symbol.name, - /*questionToken*/ undefined, + /*modifiers*/ undefined, + /*name*/ variableDeclaration.symbol.name, + /*questionToken*/ undefined, /*type*/ variableType)); sawExplicitType = sawExplicitType || variableDeclaration.type !== undefined; commonNodeFlags = commonNodeFlags & variableDeclaration.parent.flags; @@ -163439,9 +165089,9 @@ var ts; ts.setEmitFlags(typeLiteral, 1 /* EmitFlags.SingleLine */); } newNodes.push(ts.factory.createVariableStatement( - /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(ts.factory.createObjectBindingPattern(bindingElements), - /*exclamationToken*/ undefined, - /*type*/ typeLiteral, + /*modifiers*/ undefined, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(ts.factory.createObjectBindingPattern(bindingElements), + /*exclamationToken*/ undefined, + /*type*/ typeLiteral, /*initializer*/ call)], commonNodeFlags))); } } @@ -163518,9 +165168,9 @@ var ts; while (ts.isParenthesizedTypeNode(withoutParens)) { withoutParens = withoutParens.type; } - return ts.isUnionTypeNode(withoutParens) && ts.find(withoutParens.types, function (t) { return t.kind === 153 /* SyntaxKind.UndefinedKeyword */; }) + return ts.isUnionTypeNode(withoutParens) && ts.find(withoutParens.types, function (t) { return t.kind === 155 /* SyntaxKind.UndefinedKeyword */; }) ? clone - : ts.factory.createUnionTypeNode([clone, ts.factory.createKeywordTypeNode(153 /* SyntaxKind.UndefinedKeyword */)]); + : ts.factory.createUnionTypeNode([clone, ts.factory.createKeywordTypeNode(155 /* SyntaxKind.UndefinedKeyword */)]); } } /** @@ -163551,8 +165201,8 @@ var ts; if (rangeFacts & RangeFacts.InStaticRegion) { modifiers.push(ts.factory.createModifier(124 /* SyntaxKind.StaticKeyword */)); } - modifiers.push(ts.factory.createModifier(145 /* SyntaxKind.ReadonlyKeyword */)); - var newVariable = ts.factory.createPropertyDeclaration(modifiers, localNameText, + modifiers.push(ts.factory.createModifier(146 /* SyntaxKind.ReadonlyKeyword */)); + var newVariable = ts.factory.createPropertyDeclaration(modifiers, localNameText, /*questionToken*/ undefined, variableType, initializer); var localReference = ts.factory.createPropertyAccessExpression(rangeFacts & RangeFacts.InStaticRegion ? ts.factory.createIdentifier(scope.name.getText()) // TODO: GH#18217 @@ -163582,7 +165232,7 @@ var ts; var localReference = ts.factory.createIdentifier(localNameText); changeTracker.replaceNode(context.file, node, localReference); } - else if (node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { + else if (node.parent.kind === 241 /* SyntaxKind.ExpressionStatement */ && scope === ts.findAncestor(node, isScope)) { // If the parent is an expression statement and the target scope is the immediately enclosing one, // replace the statement with the declaration. var newVariableStatement = ts.factory.createVariableStatement( @@ -163601,7 +165251,7 @@ var ts; changeTracker.insertNodeBefore(context.file, nodeToInsertBefore, newVariableStatement, /*blankLineBetween*/ false); } // Consume - if (node.parent.kind === 238 /* SyntaxKind.ExpressionStatement */) { + if (node.parent.kind === 241 /* SyntaxKind.ExpressionStatement */) { // If the parent is an expression statement, delete it. changeTracker.delete(context.file, node.parent); } @@ -163667,8 +165317,8 @@ var ts; if ((!firstParameter || (ts.isIdentifier(firstParameter.name) && firstParameter.name.escapedText !== "this"))) { var thisType = checker.getTypeOfSymbolAtLocation(functionSignature.thisParameter, node); parameters.splice(0, 0, ts.factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, "this", + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, "this", /* questionToken */ undefined, checker.typeToTypeNode(thisType, scope, 1 /* NodeBuilderFlags.NoTruncation */))); } } @@ -164247,30 +165897,30 @@ var ts; function isExtractableExpression(node) { var parent = node.parent; switch (parent.kind) { - case 299 /* SyntaxKind.EnumMember */: + case 302 /* SyntaxKind.EnumMember */: return false; } switch (node.kind) { case 10 /* SyntaxKind.StringLiteral */: - return parent.kind !== 266 /* SyntaxKind.ImportDeclaration */ && - parent.kind !== 270 /* SyntaxKind.ImportSpecifier */; - case 225 /* SyntaxKind.SpreadElement */: - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 203 /* SyntaxKind.BindingElement */: + return parent.kind !== 269 /* SyntaxKind.ImportDeclaration */ && + parent.kind !== 273 /* SyntaxKind.ImportSpecifier */; + case 227 /* SyntaxKind.SpreadElement */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 205 /* SyntaxKind.BindingElement */: return false; case 79 /* SyntaxKind.Identifier */: - return parent.kind !== 203 /* SyntaxKind.BindingElement */ && - parent.kind !== 270 /* SyntaxKind.ImportSpecifier */ && - parent.kind !== 275 /* SyntaxKind.ExportSpecifier */; + return parent.kind !== 205 /* SyntaxKind.BindingElement */ && + parent.kind !== 273 /* SyntaxKind.ImportSpecifier */ && + parent.kind !== 278 /* SyntaxKind.ExportSpecifier */; } return true; } function isBlockLike(node) { switch (node.kind) { - case 235 /* SyntaxKind.Block */: - case 305 /* SyntaxKind.SourceFile */: - case 262 /* SyntaxKind.ModuleBlock */: - case 289 /* SyntaxKind.CaseClause */: + case 238 /* SyntaxKind.Block */: + case 308 /* SyntaxKind.SourceFile */: + case 265 /* SyntaxKind.ModuleBlock */: + case 292 /* SyntaxKind.CaseClause */: return true; default: return false; @@ -164475,7 +166125,7 @@ var ts; var _a; var firstStatement = info.firstStatement, selection = info.selection, typeParameters = info.typeParameters, typeElements = info.typeElements; var newTypeNode = ts.factory.createInterfaceDeclaration( - /* modifiers */ undefined, name, typeParameters, + /* modifiers */ undefined, name, typeParameters, /* heritageClauses */ undefined, typeElements); ts.setTextRange(newTypeNode, (_a = typeElements[0]) === null || _a === void 0 ? void 0 : _a.parent); changes.insertNodeBefore(file, firstStatement, ts.ignoreSourceNewlines(newTypeNode), /* blankLineBetween */ true); @@ -164558,7 +166208,6 @@ var ts; (function (ts) { var refactor; (function (refactor) { - ; /** * Checks if some refactor info has refactor error info. */ @@ -164663,15 +166312,14 @@ var ts; // Imports will be copied to the new file anyway, and may still be needed in the old file. // Prologue directives will be copied to the new file and should be left in the old file. return !isPureImport(statement) && !ts.isPrologueDirective(statement); - ; } function isPureImport(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return true; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return !ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return node.declarationList.declarations.every(function (d) { return !!d.initializer && ts.isRequireCall(d.initializer, /*checkArgumentIsStringLiteralLike*/ true); }); default: return false; @@ -164694,7 +166342,7 @@ var ts; function getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, newModuleName, preferences) { var checker = program.getTypeChecker(); var prologueDirectives = ts.takeWhile(oldFile.statements, ts.isPrologueDirective); - if (!oldFile.externalModuleIndicator && !oldFile.commonJsModuleIndicator) { + if (oldFile.externalModuleIndicator === undefined && oldFile.commonJsModuleIndicator === undefined && usage.oldImportsNeededByNewFile.size() === 0) { deleteMovedStatements(oldFile, toMove.ranges, changes); return __spreadArray(__spreadArray([], prologueDirectives, true), toMove.all, true); } @@ -164767,12 +166415,12 @@ var ts; } function getNamespaceLikeImport(node) { switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: - return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ ? + case 269 /* SyntaxKind.ImportDeclaration */: + return node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */ ? node.importClause.namedBindings.name : undefined; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return node.name; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return ts.tryCast(node.name, ts.isIdentifier); default: return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); @@ -164803,21 +166451,21 @@ var ts; var newNamespaceId = ts.factory.createIdentifier(newNamespaceName); var newModuleString = ts.factory.createStringLiteral(newModuleSpecifier); switch (node.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: return ts.factory.createImportDeclaration( - /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, + /*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, /*name*/ undefined, ts.factory.createNamespaceImport(newNamespaceId)), newModuleString, /*assertClause*/ undefined); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return ts.factory.createImportEqualsDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, newNamespaceId, ts.factory.createExternalModuleReference(newModuleString)); - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return ts.factory.createVariableDeclaration(newNamespaceId, /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(newModuleString)); default: return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind)); } } function moduleSpecifierFromImport(i) { - return (i.kind === 266 /* SyntaxKind.ImportDeclaration */ ? i.moduleSpecifier - : i.kind === 265 /* SyntaxKind.ImportEqualsDeclaration */ ? i.moduleReference.expression + return (i.kind === 269 /* SyntaxKind.ImportDeclaration */ ? i.moduleSpecifier + : i.kind === 268 /* SyntaxKind.ImportEqualsDeclaration */ ? i.moduleReference.expression : i.initializer.arguments[0]); } function forEachImportInStatement(statement, cb) { @@ -164887,15 +166535,15 @@ var ts; } function deleteUnusedImports(sourceFile, importDecl, changes, isUnused) { switch (importDecl.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused); break; - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: if (isUnused(importDecl.name)) { changes.delete(sourceFile, importDecl); } break; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused); break; default: @@ -164908,7 +166556,7 @@ var ts; var _a = importDecl.importClause, name = _a.name, namedBindings = _a.namedBindings; var defaultUnused = !name || isUnused(name); var namedBindingsUnused = !namedBindings || - (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.length !== 0 && namedBindings.elements.every(function (e) { return isUnused(e.name); })); + (namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */ ? isUnused(namedBindings.name) : namedBindings.elements.length !== 0 && namedBindings.elements.every(function (e) { return isUnused(e.name); })); if (defaultUnused && namedBindingsUnused) { changes.delete(sourceFile, importDecl); } @@ -164920,7 +166568,7 @@ var ts; if (namedBindingsUnused) { changes.replaceNode(sourceFile, importDecl.importClause, ts.factory.updateImportClause(importDecl.importClause, importDecl.importClause.isTypeOnly, name, /*namedBindings*/ undefined)); } - else if (namedBindings.kind === 269 /* SyntaxKind.NamedImports */) { + else if (namedBindings.kind === 272 /* SyntaxKind.NamedImports */) { for (var _i = 0, _b = namedBindings.elements; _i < _b.length; _i++) { var element = _b[_i]; if (isUnused(element.name)) @@ -164935,12 +166583,17 @@ var ts; switch (name.kind) { case 79 /* SyntaxKind.Identifier */: if (isUnused(name)) { - changes.delete(sourceFile, name); + if (varDecl.initializer && ts.isRequireCall(varDecl.initializer, /*requireStringLiteralLikeArgument*/ true)) { + changes.delete(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && ts.length(varDecl.parent.declarations) === 1 ? varDecl.parent.parent : varDecl); + } + else { + changes.delete(sourceFile, name); + } } break; - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: break; - case 201 /* SyntaxKind.ObjectBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: if (name.elements.every(function (e) { return ts.isIdentifier(e.name) && isUnused(e.name); })) { changes.delete(sourceFile, ts.isVariableDeclarationList(varDecl.parent) && varDecl.parent.declarations.length === 1 ? varDecl.parent.parent : varDecl); } @@ -164982,7 +166635,7 @@ var ts; if (markSeenTop(top)) { addExportToChanges(oldFile, top, name, changes, useEsModuleSyntax); } - if (ts.hasSyntacticModifier(decl, 512 /* ModifierFlags.Default */)) { + if (ts.hasSyntacticModifier(decl, 1024 /* ModifierFlags.Default */)) { oldFileDefault = name; } else { @@ -165070,14 +166723,14 @@ var ts; // Below should all be utilities function isInImport(decl) { switch (decl.kind) { - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 267 /* SyntaxKind.ImportClause */: - case 268 /* SyntaxKind.NamespaceImport */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 270 /* SyntaxKind.ImportClause */: + case 271 /* SyntaxKind.NamespaceImport */: return true; - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return isVariableDeclarationInImport(decl); - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return ts.isVariableDeclaration(decl.parent.parent) && isVariableDeclarationInImport(decl.parent.parent); default: return false; @@ -165089,7 +166742,7 @@ var ts; } function filterImport(i, moduleSpecifier, keep) { switch (i.kind) { - case 266 /* SyntaxKind.ImportDeclaration */: { + case 269 /* SyntaxKind.ImportDeclaration */: { var clause = i.importClause; if (!clause) return undefined; @@ -165099,9 +166752,9 @@ var ts; ? ts.factory.createImportDeclaration(/*modifiers*/ undefined, ts.factory.createImportClause(/*isTypeOnly*/ false, defaultImport, namedBindings), moduleSpecifier, /*assertClause*/ undefined) : undefined; } - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return keep(i.name) ? i : undefined; - case 254 /* SyntaxKind.VariableDeclaration */: { + case 257 /* SyntaxKind.VariableDeclaration */: { var name = filterBindingName(i.name, keep); return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined; } @@ -165110,7 +166763,7 @@ var ts; } } function filterNamedBindings(namedBindings, keep) { - if (namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { return keep(namedBindings.name) ? namedBindings : undefined; } else { @@ -165122,9 +166775,9 @@ var ts; switch (name.kind) { case 79 /* SyntaxKind.Identifier */: return keep(name) ? name : undefined; - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: return name; - case 201 /* SyntaxKind.ObjectBindingPattern */: { + case 203 /* SyntaxKind.ObjectBindingPattern */: { // We can't handle nested destructurings or property names well here, so just copy them all. var newElements = name.elements.filter(function (prop) { return prop.propertyName || !ts.isIdentifier(prop.name) || keep(prop.name); }); return newElements.length ? ts.factory.createObjectBindingPattern(newElements) : undefined; @@ -165167,6 +166820,9 @@ var ts; ts.copyEntries(this.map, clone.map); return clone; }; + SymbolSet.prototype.size = function () { + return this.map.size; + }; return SymbolSet; }()); function isTopLevelDeclaration(node) { @@ -165181,13 +166837,13 @@ var ts; } function isNonVariableTopLevelDeclaration(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return true; default: return false; @@ -165195,17 +166851,17 @@ var ts; } function forEachTopLevelDeclaration(statement, cb) { switch (statement.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return cb(statement); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return ts.firstDefined(statement.declarationList.declarations, function (decl) { return forEachTopLevelDeclarationInBindingName(decl.name, cb); }); - case 238 /* SyntaxKind.ExpressionStatement */: { + case 241 /* SyntaxKind.ExpressionStatement */: { var expression = statement.expression; return ts.isBinaryExpression(expression) && ts.getAssignmentDeclarationKind(expression) === 1 /* AssignmentDeclarationKind.ExportsProperty */ ? cb(statement) @@ -165217,8 +166873,8 @@ var ts; switch (name.kind) { case 79 /* SyntaxKind.Identifier */: return cb(ts.cast(name.parent, function (x) { return ts.isVariableDeclaration(x) || ts.isBindingElement(x); })); - case 202 /* SyntaxKind.ArrayBindingPattern */: - case 201 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: return ts.firstDefined(name.elements, function (em) { return ts.isOmittedExpression(em) ? undefined : forEachTopLevelDeclarationInBindingName(em.name, cb); }); default: return ts.Debug.assertNever(name, "Unexpected name kind ".concat(name.kind)); @@ -165229,9 +166885,9 @@ var ts; } function getTopLevelDeclarationStatement(d) { switch (d.kind) { - case 254 /* SyntaxKind.VariableDeclaration */: + case 257 /* SyntaxKind.VariableDeclaration */: return d.parent.parent; - case 203 /* SyntaxKind.BindingElement */: + case 205 /* SyntaxKind.BindingElement */: return getTopLevelDeclarationStatement(ts.cast(d.parent.parent, function (p) { return ts.isVariableDeclaration(p) || ts.isBindingElement(p); })); default: return d; @@ -165255,7 +166911,8 @@ var ts; if (useEs6Exports) { return !ts.isExpressionStatement(decl) && ts.hasSyntacticModifier(decl, 1 /* ModifierFlags.Export */) || !!(name && ((_a = sourceFile.symbol.exports) === null || _a === void 0 ? void 0 : _a.has(name.escapedText))); } - return getNamesToExportInCommonJS(decl).some(function (name) { return sourceFile.symbol.exports.has(ts.escapeLeadingUnderscores(name)); }); + return !!sourceFile.symbol && !!sourceFile.symbol.exports && + getNamesToExportInCommonJS(decl).some(function (name) { return sourceFile.symbol.exports.has(ts.escapeLeadingUnderscores(name)); }); } function addExport(decl, useEs6Exports) { return useEs6Exports ? [addEs6Export(decl)] : addCommonjsExport(decl); @@ -165263,24 +166920,24 @@ var ts; function addEs6Export(d) { var modifiers = ts.canHaveModifiers(d) ? ts.concatenate([ts.factory.createModifier(93 /* SyntaxKind.ExportKeyword */)], ts.getModifiers(d)) : undefined; switch (d.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return ts.factory.updateFunctionDeclaration(d, modifiers, d.asteriskToken, d.name, d.typeParameters, d.parameters, d.type, d.body); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: var decorators = ts.canHaveDecorators(d) ? ts.getDecorators(d) : undefined; return ts.factory.updateClassDeclaration(d, ts.concatenate(decorators, modifiers), d.name, d.typeParameters, d.heritageClauses, d.members); - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return ts.factory.updateVariableStatement(d, modifiers, d.declarationList); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: return ts.factory.updateModuleDeclaration(d, modifiers, d.name, d.body); - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: return ts.factory.updateEnumDeclaration(d, modifiers, d.name, d.members); - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return ts.factory.updateTypeAliasDeclaration(d, modifiers, d.name, d.typeParameters, d.type); - case 258 /* SyntaxKind.InterfaceDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: return ts.factory.updateInterfaceDeclaration(d, modifiers, d.name, d.typeParameters, d.heritageClauses, d.members); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return ts.factory.updateImportEqualsDeclaration(d, modifiers, d.isTypeOnly, d.name, d.moduleReference); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: return ts.Debug.assertNever(d, "Unexpected declaration kind ".concat(d.kind)); @@ -165291,18 +166948,18 @@ var ts; } function getNamesToExportInCommonJS(decl) { switch (decl.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: return [decl.name.text]; // TODO: GH#18217 - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: return ts.mapDefined(decl.declarationList.declarations, function (d) { return ts.isIdentifier(d.name) ? d.name.text : undefined; }); - case 261 /* SyntaxKind.ModuleDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: return ts.emptyArray; - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: return ts.Debug.fail("Can't export an ExpressionStatement"); // Shouldn't try to add 'export' keyword to `exports.x = ...` default: return ts.Debug.assertNever(decl, "Unexpected decl kind ".concat(decl.kind)); @@ -165643,15 +167300,15 @@ var ts; var parent = functionReference.parent; switch (parent.kind) { // foo(...) or super(...) or new Foo(...) - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: var callOrNewExpression = ts.tryCast(parent, ts.isCallOrNewExpression); if (callOrNewExpression && callOrNewExpression.expression === functionReference) { return callOrNewExpression; } break; // x.foo(...) - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: var propertyAccessExpression = ts.tryCast(parent, ts.isPropertyAccessExpression); if (propertyAccessExpression && propertyAccessExpression.parent && propertyAccessExpression.name === functionReference) { var callOrNewExpression_1 = ts.tryCast(propertyAccessExpression.parent, ts.isCallOrNewExpression); @@ -165661,7 +167318,7 @@ var ts; } break; // x["foo"](...) - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var elementAccessExpression = ts.tryCast(parent, ts.isElementAccessExpression); if (elementAccessExpression && elementAccessExpression.parent && elementAccessExpression.argumentExpression === functionReference) { var callOrNewExpression_2 = ts.tryCast(elementAccessExpression.parent, ts.isCallOrNewExpression); @@ -165680,14 +167337,14 @@ var ts; var parent = reference.parent; switch (parent.kind) { // `C.foo` - case 206 /* SyntaxKind.PropertyAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: var propertyAccessExpression = ts.tryCast(parent, ts.isPropertyAccessExpression); if (propertyAccessExpression && propertyAccessExpression.expression === reference) { return propertyAccessExpression; } break; // `C["foo"]` - case 207 /* SyntaxKind.ElementAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: var elementAccessExpression = ts.tryCast(parent, ts.isElementAccessExpression); if (elementAccessExpression && elementAccessExpression.expression === reference) { return elementAccessExpression; @@ -165733,16 +167390,16 @@ var ts; if (!isValidParameterNodeArray(functionDeclaration.parameters, checker)) return false; switch (functionDeclaration.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: return hasNameOrDefault(functionDeclaration) && isSingleImplementation(functionDeclaration, checker); - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: if (ts.isObjectLiteralExpression(functionDeclaration.parent)) { var contextualSymbol = getSymbolForContextualType(functionDeclaration.name, checker); // don't offer the refactor when there are multiple signatures since we won't know which ones the user wants to change return ((_a = contextualSymbol === null || contextualSymbol === void 0 ? void 0 : contextualSymbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 && isSingleImplementation(functionDeclaration, checker); } return isSingleImplementation(functionDeclaration, checker); - case 171 /* SyntaxKind.Constructor */: + case 173 /* SyntaxKind.Constructor */: if (ts.isClassDeclaration(functionDeclaration.parent)) { return hasNameOrDefault(functionDeclaration.parent) && isSingleImplementation(functionDeclaration, checker); } @@ -165750,8 +167407,8 @@ var ts; return isValidVariableDeclaration(functionDeclaration.parent.parent) && isSingleImplementation(functionDeclaration, checker); } - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return isValidVariableDeclaration(functionDeclaration.parent); } return false; @@ -165835,14 +167492,14 @@ var ts; objectInitializer = ts.factory.createObjectLiteralExpression(); } var objectParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, objectParameterName, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, objectParameterName, /*questionToken*/ undefined, objectParameterType, objectInitializer); if (hasThisParameter(functionDeclaration.parameters)) { var thisParameter = functionDeclaration.parameters[0]; var newThisParameter = ts.factory.createParameterDeclaration( - /*modifiers*/ undefined, - /*dotDotDotToken*/ undefined, thisParameter.name, + /*modifiers*/ undefined, + /*dotDotDotToken*/ undefined, thisParameter.name, /*questionToken*/ undefined, thisParameter.type); ts.suppressLeadingAndTrailingTrivia(newThisParameter.name); ts.copyComments(thisParameter.name, newThisParameter.name); @@ -165855,7 +167512,7 @@ var ts; return ts.factory.createNodeArray([objectParameter]); function createBindingElementFromParameterDeclaration(parameterDeclaration) { var element = ts.factory.createBindingElement( - /*dotDotDotToken*/ undefined, + /*dotDotDotToken*/ undefined, /*propertyName*/ undefined, getParameterName(parameterDeclaration), ts.isRestParameter(parameterDeclaration) && isOptionalParameter(parameterDeclaration) ? ts.factory.createArrayLiteralExpression() : parameterDeclaration.initializer); ts.suppressLeadingAndTrailingTrivia(element); if (parameterDeclaration.initializer && element.initializer) { @@ -165899,7 +167556,7 @@ var ts; } function getClassNames(constructorDeclaration) { switch (constructorDeclaration.parent.kind) { - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: var classDeclaration = constructorDeclaration.parent; if (classDeclaration.name) return [classDeclaration.name]; @@ -165907,7 +167564,7 @@ var ts; // We validated this in `isValidFunctionDeclaration` through `hasNameOrDefault` var defaultModifier = ts.Debug.checkDefined(ts.findModifier(classDeclaration, 88 /* SyntaxKind.DefaultKeyword */), "Nameless class declaration should be a default export"); return [defaultModifier]; - case 226 /* SyntaxKind.ClassExpression */: + case 228 /* SyntaxKind.ClassExpression */: var classExpression = constructorDeclaration.parent; var variableDeclaration = constructorDeclaration.parent.parent; var className = classExpression.name; @@ -165918,25 +167575,25 @@ var ts; } function getFunctionNames(functionDeclaration) { switch (functionDeclaration.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: if (functionDeclaration.name) return [functionDeclaration.name]; // If the function declaration doesn't have a name, it should have a default modifier. // We validated this in `isValidFunctionDeclaration` through `hasNameOrDefault` var defaultModifier = ts.Debug.checkDefined(ts.findModifier(functionDeclaration, 88 /* SyntaxKind.DefaultKeyword */), "Nameless function declaration should be a default export"); return [defaultModifier]; - case 169 /* SyntaxKind.MethodDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: return [functionDeclaration.name]; - case 171 /* SyntaxKind.Constructor */: - var ctrKeyword = ts.Debug.checkDefined(ts.findChildOfKind(functionDeclaration, 134 /* SyntaxKind.ConstructorKeyword */, functionDeclaration.getSourceFile()), "Constructor declaration should have constructor keyword"); - if (functionDeclaration.parent.kind === 226 /* SyntaxKind.ClassExpression */) { + case 173 /* SyntaxKind.Constructor */: + var ctrKeyword = ts.Debug.checkDefined(ts.findChildOfKind(functionDeclaration, 135 /* SyntaxKind.ConstructorKeyword */, functionDeclaration.getSourceFile()), "Constructor declaration should have constructor keyword"); + if (functionDeclaration.parent.kind === 228 /* SyntaxKind.ClassExpression */) { var variableDeclaration = functionDeclaration.parent.parent; return [variableDeclaration.name, ctrKeyword]; } return [ctrKeyword]; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: return [functionDeclaration.parent.name]; - case 213 /* SyntaxKind.FunctionExpression */: + case 215 /* SyntaxKind.FunctionExpression */: if (functionDeclaration.name) return [functionDeclaration.name, functionDeclaration.parent.name]; return [functionDeclaration.parent.name]; @@ -166027,11 +167684,11 @@ var ts; function getParentBinaryExpression(expr) { var container = ts.findAncestor(expr.parent, function (n) { switch (n.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 207 /* SyntaxKind.ElementAccessExpression */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 209 /* SyntaxKind.ElementAccessExpression */: return false; - case 223 /* SyntaxKind.TemplateExpression */: - case 221 /* SyntaxKind.BinaryExpression */: + case 225 /* SyntaxKind.TemplateExpression */: + case 223 /* SyntaxKind.BinaryExpression */: return !(ts.isBinaryExpression(n.parent) && isNotEqualsOperator(n.parent)); default: return "quit"; @@ -166479,10 +168136,10 @@ var ts; } function isConvertibleDeclaration(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: return true; default: return false; @@ -166527,7 +168184,7 @@ var ts; this.kind = kind; } NodeObject.prototype.assertHasRealPosition = function (message) { - // eslint-disable-next-line debug-assert + // eslint-disable-next-line local/debug-assert ts.Debug.assert(!ts.positionIsSynthesized(this.pos) && !ts.positionIsSynthesized(this.end), message || "Node must have a real position for this operation"); }; NodeObject.prototype.getSourceFile = function () { @@ -166584,8 +168241,8 @@ var ts; if (!children.length) { return undefined; } - var child = ts.find(children, function (kid) { return kid.kind < 309 /* SyntaxKind.FirstJSDocNode */ || kid.kind > 347 /* SyntaxKind.LastJSDocNode */; }); - return child.kind < 161 /* SyntaxKind.FirstNode */ ? + var child = ts.find(children, function (kid) { return kid.kind < 312 /* SyntaxKind.FirstJSDocNode */ || kid.kind > 350 /* SyntaxKind.LastJSDocNode */; }); + return child.kind < 163 /* SyntaxKind.FirstNode */ ? child : child.getFirstToken(sourceFile); }; @@ -166596,7 +168253,7 @@ var ts; if (!child) { return undefined; } - return child.kind < 161 /* SyntaxKind.FirstNode */ ? child : child.getLastToken(sourceFile); + return child.kind < 163 /* SyntaxKind.FirstNode */ ? child : child.getLastToken(sourceFile); }; NodeObject.prototype.forEachChild = function (cbNode, cbNodeArray) { return ts.forEachChild(this, cbNode, cbNodeArray); @@ -166656,7 +168313,7 @@ var ts; } } function createSyntaxList(nodes, parent) { - var list = createNode(348 /* SyntaxKind.SyntaxList */, nodes.pos, nodes.end, parent); + var list = createNode(351 /* SyntaxKind.SyntaxList */, nodes.pos, nodes.end, parent); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_2 = nodes; _i < nodes_2.length; _i++) { @@ -167005,7 +168662,7 @@ var ts; var _a; if (!seenSymbols_1.has(symbol)) { seenSymbols_1.add(symbol); - if (declaration.kind === 172 /* SyntaxKind.GetAccessor */ || declaration.kind === 173 /* SyntaxKind.SetAccessor */) { + if (declaration.kind === 174 /* SyntaxKind.GetAccessor */ || declaration.kind === 175 /* SyntaxKind.SetAccessor */) { return symbol.getContextualJsDocTags(declaration, checker); } return ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.length) === 1 ? symbol.getJsDocTags() : undefined; @@ -167015,8 +168672,8 @@ var ts; tags = __spreadArray(__spreadArray([], inheritedTags, true), tags, true); } }; - for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { - var declaration = declarations_7[_i]; + for (var _i = 0, declarations_6 = declarations; _i < declarations_6.length; _i++) { + var declaration = declarations_6[_i]; _loop_20(declaration); } } @@ -167032,7 +168689,7 @@ var ts; var inheritedDocs = findBaseOfDeclaration(checker, declaration, function (symbol) { if (!seenSymbols_2.has(symbol)) { seenSymbols_2.add(symbol); - if (declaration.kind === 172 /* SyntaxKind.GetAccessor */ || declaration.kind === 173 /* SyntaxKind.SetAccessor */) { + if (declaration.kind === 174 /* SyntaxKind.GetAccessor */ || declaration.kind === 175 /* SyntaxKind.SetAccessor */) { return symbol.getContextualDocumentationComment(declaration, checker); } return symbol.getDocumentationComment(checker); @@ -167042,8 +168699,8 @@ var ts; if (inheritedDocs) doc = doc.length === 0 ? inheritedDocs.slice() : inheritedDocs.concat(ts.lineBreakPart(), doc); }; - for (var _i = 0, declarations_8 = declarations; _i < declarations_8.length; _i++) { - var declaration = declarations_8[_i]; + for (var _i = 0, declarations_7 = declarations; _i < declarations_7.length; _i++) { + var declaration = declarations_7[_i]; _loop_21(declaration); } } @@ -167051,7 +168708,7 @@ var ts; } function findBaseOfDeclaration(checker, declaration, cb) { var _a; - var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 171 /* SyntaxKind.Constructor */ ? declaration.parent.parent : declaration.parent; + var classOrInterfaceDeclaration = ((_a = declaration.parent) === null || _a === void 0 ? void 0 : _a.kind) === 173 /* SyntaxKind.Constructor */ ? declaration.parent.parent : declaration.parent; if (!classOrInterfaceDeclaration) return; var isStaticMember = ts.hasStaticModifier(declaration); @@ -167066,7 +168723,7 @@ var ts; __extends(SourceFileObject, _super); function SourceFileObject(kind, pos, end) { var _this = _super.call(this, kind, pos, end) || this; - _this.kind = 305 /* SyntaxKind.SourceFile */; + _this.kind = 308 /* SyntaxKind.SourceFile */; return _this; } SourceFileObject.prototype.update = function (newText, textChangeRange) { @@ -167125,10 +168782,10 @@ var ts; } function visit(node) { switch (node.kind) { - case 256 /* SyntaxKind.FunctionDeclaration */: - case 213 /* SyntaxKind.FunctionExpression */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 215 /* SyntaxKind.FunctionExpression */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: var functionDeclaration = node; var declarationName = getDeclarationName(functionDeclaration); if (declarationName) { @@ -167148,31 +168805,31 @@ var ts; } ts.forEachChild(node, visit); break; - case 257 /* SyntaxKind.ClassDeclaration */: - case 226 /* SyntaxKind.ClassExpression */: - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 261 /* SyntaxKind.ModuleDeclaration */: - case 265 /* SyntaxKind.ImportEqualsDeclaration */: - case 275 /* SyntaxKind.ExportSpecifier */: - case 270 /* SyntaxKind.ImportSpecifier */: - case 267 /* SyntaxKind.ImportClause */: - case 268 /* SyntaxKind.NamespaceImport */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 182 /* SyntaxKind.TypeLiteral */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 228 /* SyntaxKind.ClassExpression */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: + case 278 /* SyntaxKind.ExportSpecifier */: + case 273 /* SyntaxKind.ImportSpecifier */: + case 270 /* SyntaxKind.ImportClause */: + case 271 /* SyntaxKind.NamespaceImport */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 184 /* SyntaxKind.TypeLiteral */: addDeclaration(node); ts.forEachChild(node, visit); break; - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: // Only consider parameter properties if (!ts.hasSyntacticModifier(node, 16476 /* ModifierFlags.ParameterPropertyModifier */)) { break; } // falls through - case 254 /* SyntaxKind.VariableDeclaration */: - case 203 /* SyntaxKind.BindingElement */: { + case 257 /* SyntaxKind.VariableDeclaration */: + case 205 /* SyntaxKind.BindingElement */: { var decl = node; if (ts.isBindingPattern(decl.name)) { ts.forEachChild(decl.name, visit); @@ -167183,12 +168840,12 @@ var ts; } } // falls through - case 299 /* SyntaxKind.EnumMember */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 302 /* SyntaxKind.EnumMember */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: addDeclaration(node); break; - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: // Handle named exports case e.g.: // export {a, b as B} from "mod"; var exportDeclaration = node; @@ -167201,7 +168858,7 @@ var ts; } } break; - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: var importClause = node.importClause; if (importClause) { // Handle default import case e.g.: @@ -167213,7 +168870,7 @@ var ts; // import * as NS from "mod"; // import {a, b as B} from "mod"; if (importClause.namedBindings) { - if (importClause.namedBindings.kind === 268 /* SyntaxKind.NamespaceImport */) { + if (importClause.namedBindings.kind === 271 /* SyntaxKind.NamespaceImport */) { addDeclaration(importClause.namedBindings); } else { @@ -167222,7 +168879,7 @@ var ts; } } break; - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (ts.getAssignmentDeclarationKind(node) !== 0 /* AssignmentDeclarationKind.None */) { addDeclaration(node); } @@ -167568,7 +169225,7 @@ var ts; var rootFileNames = host.getScriptFileNames().slice(); // Get a fresh cache of the host information var newSettings = host.getCompilationSettings() || getDefaultCompilerOptions(); - var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse; + var hasInvalidatedResolutions = host.hasInvalidatedResolutions || ts.returnFalse; var hasChangedAutomaticTypeDirectiveNames = ts.maybeBind(host, host.hasChangedAutomaticTypeDirectiveNames); var projectReferences = (_b = host.getProjectReferences) === null || _b === void 0 ? void 0 : _b.call(host); var parsedCommandLines; @@ -167599,7 +169256,7 @@ var ts; }, onReleaseOldSourceFile: onReleaseOldSourceFile, onReleaseParsedCommandLine: onReleaseParsedCommandLine, - hasInvalidatedResolution: hasInvalidatedResolution, + hasInvalidatedResolutions: hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames: hasChangedAutomaticTypeDirectiveNames, trace: ts.maybeBind(host, host.trace), resolveModuleNames: ts.maybeBind(host, host.resolveModuleNames), @@ -167634,8 +169291,12 @@ var ts; getCurrentDirectory: compilerHost.getCurrentDirectory, onUnRecoverableConfigFileDiagnostic: ts.noop, }; + // The call to isProgramUptoDate below may refer back to documentRegistryBucketKey; + // calculate this early so it's not undefined if downleveled to a var (or, if emitted + // as a const variable without downleveling, doesn't crash). + var documentRegistryBucketKey = documentRegistry.getKeyForCompilationSettings(newSettings); // If the program is already up-to-date, we can reuse it - if (ts.isProgramUptoDate(program, rootFileNames, newSettings, function (_path, fileName) { return host.getScriptVersion(fileName); }, function (fileName) { return compilerHost.fileExists(fileName); }, hasInvalidatedResolution, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { + if (ts.isProgramUptoDate(program, rootFileNames, newSettings, function (_path, fileName) { return host.getScriptVersion(fileName); }, function (fileName) { return compilerHost.fileExists(fileName); }, hasInvalidatedResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences)) { return; } // IMPORTANT - It is critical from this moment onward that we do not check @@ -167643,7 +169304,6 @@ var ts; // instance. If we cancel midway through, we may end up in an inconsistent state where // the program points to old source files that have been invalidated because of // incremental parsing. - var documentRegistryBucketKey = documentRegistry.getKeyForCompilationSettings(newSettings); var options = { rootNames: rootFileNames, options: newSettings, @@ -167682,7 +169342,7 @@ var ts; result.path = ts.toPath(configFileName, currentDirectory, getCanonicalFileName); result.resolvedPath = result.path; result.originalFileName = result.fileName; - return ts.parseJsonSourceFileConfigFileContent(result, parseConfigHost, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), + return ts.parseJsonSourceFileConfigFileContent(result, parseConfigHost, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), /*optionsToExtend*/ undefined, ts.getNormalizedAbsolutePath(configFileName, currentDirectory)); } function onReleaseParsedCommandLine(configFileName, oldResolvedRef, oldOptions) { @@ -167939,16 +169599,16 @@ var ts; switch (node.kind) { case 79 /* SyntaxKind.Identifier */: return !ts.isLabelName(node) && !ts.isTagName(node) && !ts.isConstTypeReference(node.parent); - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 161 /* SyntaxKind.QualifiedName */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 163 /* SyntaxKind.QualifiedName */: // Don't return quickInfo if inside the comment in `a/**/.b` return !ts.isInComment(sourceFile, position); case 108 /* SyntaxKind.ThisKeyword */: - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: case 106 /* SyntaxKind.SuperKeyword */: - case 197 /* SyntaxKind.NamedTupleMember */: + case 199 /* SyntaxKind.NamedTupleMember */: return true; - case 231 /* SyntaxKind.MetaProperty */: + case 233 /* SyntaxKind.MetaProperty */: return ts.isImportMeta(node); default: return false; @@ -168055,15 +169715,15 @@ var ts; return undefined; } switch (node.kind) { - case 206 /* SyntaxKind.PropertyAccessExpression */: - case 161 /* SyntaxKind.QualifiedName */: + case 208 /* SyntaxKind.PropertyAccessExpression */: + case 163 /* SyntaxKind.QualifiedName */: case 10 /* SyntaxKind.StringLiteral */: case 95 /* SyntaxKind.FalseKeyword */: case 110 /* SyntaxKind.TrueKeyword */: case 104 /* SyntaxKind.NullKeyword */: case 106 /* SyntaxKind.SuperKeyword */: case 108 /* SyntaxKind.ThisKeyword */: - case 192 /* SyntaxKind.ThisType */: + case 194 /* SyntaxKind.ThisType */: case 79 /* SyntaxKind.Identifier */: break; // Cant create the text span @@ -168080,7 +169740,7 @@ var ts; // If this is name of a module declarations, check if this is right side of dotted module name // If parent of the module declaration which is parent of this node is module declaration and its body is the module declaration that this node is name of // Then this name is name from dotted module - if (nodeForStartPos.parent.parent.kind === 261 /* SyntaxKind.ModuleDeclaration */ && + if (nodeForStartPos.parent.parent.kind === 264 /* SyntaxKind.ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { // Use parent module declarations name for start pos nodeForStartPos = nodeForStartPos.parent.parent.name; @@ -168210,12 +169870,14 @@ var ts; return ts.codefix.getAllFixes({ fixId: fixId, sourceFile: sourceFile, program: program, host: host, cancellationToken: cancellationToken, formatContext: formatContext, preferences: preferences }); } function organizeImports(args, formatOptions, preferences) { + var _a; if (preferences === void 0) { preferences = ts.emptyOptions; } synchronizeHostData(); ts.Debug.assert(args.type === "file"); var sourceFile = getValidSourceFile(args.fileName); var formatContext = ts.formatting.getFormatContext(formatOptions, host); - return ts.OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences, args.skipDestructiveCodeActions); + var mode = (_a = args.mode) !== null && _a !== void 0 ? _a : (args.skipDestructiveCodeActions ? "SortAndCombine" /* OrganizeImportsMode.SortAndCombine */ : "All" /* OrganizeImportsMode.All */); + return ts.OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences, mode); } function getEditsForFileRename(oldFilePath, newFilePath, formatOptions, preferences) { if (preferences === void 0) { preferences = ts.emptyOptions; } @@ -168829,7 +170491,7 @@ var ts; */ function literalIsName(node) { return ts.isDeclarationName(node) || - node.parent.kind === 277 /* SyntaxKind.ExternalModuleReference */ || + node.parent.kind === 280 /* SyntaxKind.ExternalModuleReference */ || isArgumentOfElementAccessExpression(node) || ts.isLiteralComputedPropertyDeclarationName(node); } @@ -168847,13 +170509,13 @@ var ts; case 10 /* SyntaxKind.StringLiteral */: case 14 /* SyntaxKind.NoSubstitutionTemplateLiteral */: case 8 /* SyntaxKind.NumericLiteral */: - if (node.parent.kind === 162 /* SyntaxKind.ComputedPropertyName */) { + if (node.parent.kind === 164 /* SyntaxKind.ComputedPropertyName */) { return ts.isObjectLiteralElement(node.parent.parent) ? node.parent.parent : undefined; } // falls through case 79 /* SyntaxKind.Identifier */: return ts.isObjectLiteralElement(node.parent) && - (node.parent.parent.kind === 205 /* SyntaxKind.ObjectLiteralExpression */ || node.parent.parent.kind === 286 /* SyntaxKind.JsxAttributes */) && + (node.parent.parent.kind === 207 /* SyntaxKind.ObjectLiteralExpression */ || node.parent.parent.kind === 289 /* SyntaxKind.JsxAttributes */) && node.parent.name === node ? node.parent : undefined; } return undefined; @@ -168895,7 +170557,7 @@ var ts; function isArgumentOfElementAccessExpression(node) { return node && node.parent && - node.parent.kind === 207 /* SyntaxKind.ElementAccessExpression */ && + node.parent.kind === 209 /* SyntaxKind.ElementAccessExpression */ && node.parent.argumentExpression === node; } /** @@ -168988,114 +170650,114 @@ var ts; if (node) { var parent = node.parent; switch (node.kind) { - case 237 /* SyntaxKind.VariableStatement */: + case 240 /* SyntaxKind.VariableStatement */: // Span on first variable declaration return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 254 /* SyntaxKind.VariableDeclaration */: - case 167 /* SyntaxKind.PropertyDeclaration */: - case 166 /* SyntaxKind.PropertySignature */: + case 257 /* SyntaxKind.VariableDeclaration */: + case 169 /* SyntaxKind.PropertyDeclaration */: + case 168 /* SyntaxKind.PropertySignature */: return spanInVariableDeclaration(node); - case 164 /* SyntaxKind.Parameter */: + case 166 /* SyntaxKind.Parameter */: return spanInParameterDeclaration(node); - case 256 /* SyntaxKind.FunctionDeclaration */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 171 /* SyntaxKind.Constructor */: - case 213 /* SyntaxKind.FunctionExpression */: - case 214 /* SyntaxKind.ArrowFunction */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 215 /* SyntaxKind.FunctionExpression */: + case 216 /* SyntaxKind.ArrowFunction */: return spanInFunctionDeclaration(node); - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } // falls through - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: return spanInBlock(node); - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return spanInBlock(node.block); - case 238 /* SyntaxKind.ExpressionStatement */: + case 241 /* SyntaxKind.ExpressionStatement */: // span on the expression return textSpan(node.expression); - case 247 /* SyntaxKind.ReturnStatement */: + case 250 /* SyntaxKind.ReturnStatement */: // span on return keyword and expression if present return textSpan(node.getChildAt(0), node.expression); - case 241 /* SyntaxKind.WhileStatement */: + case 244 /* SyntaxKind.WhileStatement */: // Span on while(...) return textSpanEndingAtNextToken(node, node.expression); - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: // span in statement of the do statement return spanInNode(node.statement); - case 253 /* SyntaxKind.DebuggerStatement */: + case 256 /* SyntaxKind.DebuggerStatement */: // span on debugger keyword return textSpan(node.getChildAt(0)); - case 239 /* SyntaxKind.IfStatement */: + case 242 /* SyntaxKind.IfStatement */: // set on if(..) span return textSpanEndingAtNextToken(node, node.expression); - case 250 /* SyntaxKind.LabeledStatement */: + case 253 /* SyntaxKind.LabeledStatement */: // span in statement return spanInNode(node.statement); - case 246 /* SyntaxKind.BreakStatement */: - case 245 /* SyntaxKind.ContinueStatement */: + case 249 /* SyntaxKind.BreakStatement */: + case 248 /* SyntaxKind.ContinueStatement */: // On break or continue keyword and label if present return textSpan(node.getChildAt(0), node.label); - case 242 /* SyntaxKind.ForStatement */: + case 245 /* SyntaxKind.ForStatement */: return spanInForStatement(node); - case 243 /* SyntaxKind.ForInStatement */: + case 246 /* SyntaxKind.ForInStatement */: // span of for (a in ...) return textSpanEndingAtNextToken(node, node.expression); - case 244 /* SyntaxKind.ForOfStatement */: + case 247 /* SyntaxKind.ForOfStatement */: // span in initializer return spanInInitializerOfForLike(node); - case 249 /* SyntaxKind.SwitchStatement */: + case 252 /* SyntaxKind.SwitchStatement */: // span on switch(...) return textSpanEndingAtNextToken(node, node.expression); - case 289 /* SyntaxKind.CaseClause */: - case 290 /* SyntaxKind.DefaultClause */: + case 292 /* SyntaxKind.CaseClause */: + case 293 /* SyntaxKind.DefaultClause */: // span in first statement of the clause return spanInNode(node.statements[0]); - case 252 /* SyntaxKind.TryStatement */: + case 255 /* SyntaxKind.TryStatement */: // span in try block return spanInBlock(node.tryBlock); - case 251 /* SyntaxKind.ThrowStatement */: + case 254 /* SyntaxKind.ThrowStatement */: // span in throw ... return textSpan(node, node.expression); - case 271 /* SyntaxKind.ExportAssignment */: + case 274 /* SyntaxKind.ExportAssignment */: // span on export = id return textSpan(node, node.expression); - case 265 /* SyntaxKind.ImportEqualsDeclaration */: + case 268 /* SyntaxKind.ImportEqualsDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleReference); - case 266 /* SyntaxKind.ImportDeclaration */: + case 269 /* SyntaxKind.ImportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 272 /* SyntaxKind.ExportDeclaration */: + case 275 /* SyntaxKind.ExportDeclaration */: // import statement without including semicolon return textSpan(node, node.moduleSpecifier); - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: // span on complete module if it is instantiated if (ts.getModuleInstanceState(node) !== 1 /* ModuleInstanceState.Instantiated */) { return undefined; } // falls through - case 257 /* SyntaxKind.ClassDeclaration */: - case 260 /* SyntaxKind.EnumDeclaration */: - case 299 /* SyntaxKind.EnumMember */: - case 203 /* SyntaxKind.BindingElement */: + case 260 /* SyntaxKind.ClassDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 302 /* SyntaxKind.EnumMember */: + case 205 /* SyntaxKind.BindingElement */: // span on complete node return textSpan(node); - case 248 /* SyntaxKind.WithStatement */: + case 251 /* SyntaxKind.WithStatement */: // span in statement return spanInNode(node.statement); - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: return spanInNodeArray(parent.modifiers, node, ts.isDecorator); - case 201 /* SyntaxKind.ObjectBindingPattern */: - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: return spanInBindingPattern(node); // No breakpoint in interface, type alias - case 258 /* SyntaxKind.InterfaceDeclaration */: - case 259 /* SyntaxKind.TypeAliasDeclaration */: + case 261 /* SyntaxKind.InterfaceDeclaration */: + case 262 /* SyntaxKind.TypeAliasDeclaration */: return undefined; // Tokens: case 26 /* SyntaxKind.SemicolonToken */: @@ -169125,7 +170787,7 @@ var ts; case 83 /* SyntaxKind.CatchKeyword */: case 96 /* SyntaxKind.FinallyKeyword */: return spanInNextNode(node); - case 160 /* SyntaxKind.OfKeyword */: + case 162 /* SyntaxKind.OfKeyword */: return spanInOfKeyword(node); default: // Destructuring pattern in destructuring assignment @@ -169138,13 +170800,13 @@ var ts; // `a` or `...c` or `d: x` from // `[a, b, ...c]` or `{ a, b }` or `{ d: x }` from destructuring pattern if ((node.kind === 79 /* SyntaxKind.Identifier */ || - node.kind === 225 /* SyntaxKind.SpreadElement */ || - node.kind === 296 /* SyntaxKind.PropertyAssignment */ || - node.kind === 297 /* SyntaxKind.ShorthandPropertyAssignment */) && + node.kind === 227 /* SyntaxKind.SpreadElement */ || + node.kind === 299 /* SyntaxKind.PropertyAssignment */ || + node.kind === 300 /* SyntaxKind.ShorthandPropertyAssignment */) && ts.isArrayLiteralOrObjectLiteralDestructuringPattern(parent)) { return textSpan(node); } - if (node.kind === 221 /* SyntaxKind.BinaryExpression */) { + if (node.kind === 223 /* SyntaxKind.BinaryExpression */) { var _a = node, left = _a.left, operatorToken = _a.operatorToken; // Set breakpoint in destructuring pattern if its destructuring assignment // [a, b, c] or {a, b, c} of @@ -169166,22 +170828,22 @@ var ts; } if (ts.isExpressionNode(node)) { switch (parent.kind) { - case 240 /* SyntaxKind.DoStatement */: + case 243 /* SyntaxKind.DoStatement */: // Set span as if on while keyword return spanInPreviousNode(node); - case 165 /* SyntaxKind.Decorator */: + case 167 /* SyntaxKind.Decorator */: // Set breakpoint on the decorator emit return spanInNode(node.parent); - case 242 /* SyntaxKind.ForStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return textSpan(node); - case 221 /* SyntaxKind.BinaryExpression */: + case 223 /* SyntaxKind.BinaryExpression */: if (node.parent.operatorToken.kind === 27 /* SyntaxKind.CommaToken */) { // If this is a comma expression, the breakpoint is possible in this expression return textSpan(node); } break; - case 214 /* SyntaxKind.ArrowFunction */: + case 216 /* SyntaxKind.ArrowFunction */: if (node.parent.body === node) { // If this is body of arrow function, it is allowed to have the breakpoint return textSpan(node); @@ -169190,21 +170852,21 @@ var ts; } } switch (node.parent.kind) { - case 296 /* SyntaxKind.PropertyAssignment */: + case 299 /* SyntaxKind.PropertyAssignment */: // If this is name of property assignment, set breakpoint in the initializer if (node.parent.name === node && !ts.isArrayLiteralOrObjectLiteralDestructuringPattern(node.parent.parent)) { return spanInNode(node.parent.initializer); } break; - case 211 /* SyntaxKind.TypeAssertionExpression */: + case 213 /* SyntaxKind.TypeAssertionExpression */: // Breakpoint in type assertion goes to its operand if (node.parent.type === node) { return spanInNextNode(node.parent.type); } break; - case 254 /* SyntaxKind.VariableDeclaration */: - case 164 /* SyntaxKind.Parameter */: { + case 257 /* SyntaxKind.VariableDeclaration */: + case 166 /* SyntaxKind.Parameter */: { // initializer of variable/parameter declaration go to previous node var _b = node.parent, initializer = _b.initializer, type = _b.type; if (initializer === node || type === node || ts.isAssignmentOperator(node.kind)) { @@ -169212,7 +170874,7 @@ var ts; } break; } - case 221 /* SyntaxKind.BinaryExpression */: { + case 223 /* SyntaxKind.BinaryExpression */: { var left = node.parent.left; if (ts.isArrayLiteralOrObjectLiteralDestructuringPattern(left) && node !== left) { // If initializer of destructuring assignment move to previous token @@ -169242,7 +170904,7 @@ var ts; } function spanInVariableDeclaration(variableDeclaration) { // If declaration of for in statement, just set the span in parent - if (variableDeclaration.parent.parent.kind === 243 /* SyntaxKind.ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 246 /* SyntaxKind.ForInStatement */) { return spanInNode(variableDeclaration.parent.parent); } var parent = variableDeclaration.parent; @@ -169254,7 +170916,7 @@ var ts; // or its declaration from 'for of' if ((ts.hasOnlyExpressionInitializer(variableDeclaration) && variableDeclaration.initializer) || ts.hasSyntacticModifier(variableDeclaration, 1 /* ModifierFlags.Export */) || - parent.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { + parent.parent.kind === 247 /* SyntaxKind.ForOfStatement */) { return textSpanFromVariableDeclaration(variableDeclaration); } if (ts.isVariableDeclarationList(variableDeclaration.parent) && @@ -169295,7 +170957,7 @@ var ts; } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { return ts.hasSyntacticModifier(functionDeclaration, 1 /* ModifierFlags.Export */) || - (functionDeclaration.parent.kind === 257 /* SyntaxKind.ClassDeclaration */ && functionDeclaration.kind !== 171 /* SyntaxKind.Constructor */); + (functionDeclaration.parent.kind === 260 /* SyntaxKind.ClassDeclaration */ && functionDeclaration.kind !== 173 /* SyntaxKind.Constructor */); } function spanInFunctionDeclaration(functionDeclaration) { // No breakpoints in the function signature @@ -169318,26 +170980,26 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 261 /* SyntaxKind.ModuleDeclaration */: + case 264 /* SyntaxKind.ModuleDeclaration */: if (ts.getModuleInstanceState(block.parent) !== 1 /* ModuleInstanceState.Instantiated */) { return undefined; } // Set on parent if on same line otherwise on first statement // falls through - case 241 /* SyntaxKind.WhileStatement */: - case 239 /* SyntaxKind.IfStatement */: - case 243 /* SyntaxKind.ForInStatement */: + case 244 /* SyntaxKind.WhileStatement */: + case 242 /* SyntaxKind.IfStatement */: + case 246 /* SyntaxKind.ForInStatement */: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); // Set span on previous token if it starts on same line otherwise on the first statement of the block - case 242 /* SyntaxKind.ForStatement */: - case 244 /* SyntaxKind.ForOfStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 247 /* SyntaxKind.ForOfStatement */: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } // Default action is to set on first statement return spanInNode(block.statements[0]); } function spanInInitializerOfForLike(forLikeStatement) { - if (forLikeStatement.initializer.kind === 255 /* SyntaxKind.VariableDeclarationList */) { + if (forLikeStatement.initializer.kind === 258 /* SyntaxKind.VariableDeclarationList */) { // Declaration list - set breakpoint in first declaration var variableDeclarationList = forLikeStatement.initializer; if (variableDeclarationList.declarations.length > 0) { @@ -169362,21 +171024,21 @@ var ts; } function spanInBindingPattern(bindingPattern) { // Set breakpoint in first binding element - var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 227 /* SyntaxKind.OmittedExpression */ ? element : undefined; }); + var firstBindingElement = ts.forEach(bindingPattern.elements, function (element) { return element.kind !== 229 /* SyntaxKind.OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } // Empty binding pattern of binding element, set breakpoint on binding element - if (bindingPattern.parent.kind === 203 /* SyntaxKind.BindingElement */) { + if (bindingPattern.parent.kind === 205 /* SyntaxKind.BindingElement */) { return textSpan(bindingPattern.parent); } // Variable declaration is used as the span return textSpanFromVariableDeclaration(bindingPattern.parent); } function spanInArrayLiteralOrObjectLiteralDestructuringPattern(node) { - ts.Debug.assert(node.kind !== 202 /* SyntaxKind.ArrayBindingPattern */ && node.kind !== 201 /* SyntaxKind.ObjectBindingPattern */); - var elements = node.kind === 204 /* SyntaxKind.ArrayLiteralExpression */ ? node.elements : node.properties; - var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 227 /* SyntaxKind.OmittedExpression */ ? element : undefined; }); + ts.Debug.assert(node.kind !== 204 /* SyntaxKind.ArrayBindingPattern */ && node.kind !== 203 /* SyntaxKind.ObjectBindingPattern */); + var elements = node.kind === 206 /* SyntaxKind.ArrayLiteralExpression */ ? node.elements : node.properties; + var firstBindingElement = ts.forEach(elements, function (element) { return element.kind !== 229 /* SyntaxKind.OmittedExpression */ ? element : undefined; }); if (firstBindingElement) { return spanInNode(firstBindingElement); } @@ -169384,18 +171046,18 @@ var ts; // just nested element in another destructuring assignment // set breakpoint on assignment when parent is destructuring assignment // Otherwise set breakpoint for this element - return textSpan(node.parent.kind === 221 /* SyntaxKind.BinaryExpression */ ? node.parent : node); + return textSpan(node.parent.kind === 223 /* SyntaxKind.BinaryExpression */ ? node.parent : node); } // Tokens: function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 260 /* SyntaxKind.EnumDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 257 /* SyntaxKind.ClassDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: return spanInNodeIfStartsOnSameLine(node.parent.parent, node.parent.clauses[0]); } // Default to parent node @@ -169403,25 +171065,25 @@ var ts; } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 262 /* SyntaxKind.ModuleBlock */: + case 265 /* SyntaxKind.ModuleBlock */: // If this is not an instantiated module block, no bp span if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* ModuleInstanceState.Instantiated */) { return undefined; } // falls through - case 260 /* SyntaxKind.EnumDeclaration */: - case 257 /* SyntaxKind.ClassDeclaration */: + case 263 /* SyntaxKind.EnumDeclaration */: + case 260 /* SyntaxKind.ClassDeclaration */: // Span on close brace token return textSpan(node); - case 235 /* SyntaxKind.Block */: + case 238 /* SyntaxKind.Block */: if (ts.isFunctionBlock(node.parent)) { // Span on close brace token return textSpan(node); } // falls through - case 292 /* SyntaxKind.CatchClause */: + case 295 /* SyntaxKind.CatchClause */: return spanInNode(ts.lastOrUndefined(node.parent.statements)); - case 263 /* SyntaxKind.CaseBlock */: + case 266 /* SyntaxKind.CaseBlock */: // breakpoint in last statement of the last clause var caseBlock = node.parent; var lastClause = ts.lastOrUndefined(caseBlock.clauses); @@ -169429,7 +171091,7 @@ var ts; return spanInNode(ts.lastOrUndefined(lastClause.statements)); } return undefined; - case 201 /* SyntaxKind.ObjectBindingPattern */: + case 203 /* SyntaxKind.ObjectBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return spanInNode(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -169445,7 +171107,7 @@ var ts; } function spanInCloseBracketToken(node) { switch (node.parent.kind) { - case 202 /* SyntaxKind.ArrayBindingPattern */: + case 204 /* SyntaxKind.ArrayBindingPattern */: // Breakpoint in last binding element or binding pattern if it contains no elements var bindingPattern = node.parent; return textSpan(ts.lastOrUndefined(bindingPattern.elements) || bindingPattern); @@ -169460,12 +171122,12 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 240 /* SyntaxKind.DoStatement */ || // Go to while keyword and do action instead - node.parent.kind === 208 /* SyntaxKind.CallExpression */ || - node.parent.kind === 209 /* SyntaxKind.NewExpression */) { + if (node.parent.kind === 243 /* SyntaxKind.DoStatement */ || // Go to while keyword and do action instead + node.parent.kind === 210 /* SyntaxKind.CallExpression */ || + node.parent.kind === 211 /* SyntaxKind.NewExpression */) { return spanInPreviousNode(node); } - if (node.parent.kind === 212 /* SyntaxKind.ParenthesizedExpression */) { + if (node.parent.kind === 214 /* SyntaxKind.ParenthesizedExpression */) { return spanInNextNode(node); } // Default to parent node @@ -169474,21 +171136,21 @@ var ts; function spanInCloseParenToken(node) { // Is this close paren token of parameter list, set span in previous token switch (node.parent.kind) { - case 213 /* SyntaxKind.FunctionExpression */: - case 256 /* SyntaxKind.FunctionDeclaration */: - case 214 /* SyntaxKind.ArrowFunction */: - case 169 /* SyntaxKind.MethodDeclaration */: - case 168 /* SyntaxKind.MethodSignature */: - case 172 /* SyntaxKind.GetAccessor */: - case 173 /* SyntaxKind.SetAccessor */: - case 171 /* SyntaxKind.Constructor */: - case 241 /* SyntaxKind.WhileStatement */: - case 240 /* SyntaxKind.DoStatement */: - case 242 /* SyntaxKind.ForStatement */: - case 244 /* SyntaxKind.ForOfStatement */: - case 208 /* SyntaxKind.CallExpression */: - case 209 /* SyntaxKind.NewExpression */: - case 212 /* SyntaxKind.ParenthesizedExpression */: + case 215 /* SyntaxKind.FunctionExpression */: + case 259 /* SyntaxKind.FunctionDeclaration */: + case 216 /* SyntaxKind.ArrowFunction */: + case 171 /* SyntaxKind.MethodDeclaration */: + case 170 /* SyntaxKind.MethodSignature */: + case 174 /* SyntaxKind.GetAccessor */: + case 175 /* SyntaxKind.SetAccessor */: + case 173 /* SyntaxKind.Constructor */: + case 244 /* SyntaxKind.WhileStatement */: + case 243 /* SyntaxKind.DoStatement */: + case 245 /* SyntaxKind.ForStatement */: + case 247 /* SyntaxKind.ForOfStatement */: + case 210 /* SyntaxKind.CallExpression */: + case 211 /* SyntaxKind.NewExpression */: + case 214 /* SyntaxKind.ParenthesizedExpression */: return spanInPreviousNode(node); // Default to parent node default: @@ -169498,20 +171160,20 @@ var ts; function spanInColonToken(node) { // Is this : specifying return annotation of the function declaration if (ts.isFunctionLike(node.parent) || - node.parent.kind === 296 /* SyntaxKind.PropertyAssignment */ || - node.parent.kind === 164 /* SyntaxKind.Parameter */) { + node.parent.kind === 299 /* SyntaxKind.PropertyAssignment */ || + node.parent.kind === 166 /* SyntaxKind.Parameter */) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 211 /* SyntaxKind.TypeAssertionExpression */) { + if (node.parent.kind === 213 /* SyntaxKind.TypeAssertionExpression */) { return spanInNextNode(node); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 240 /* SyntaxKind.DoStatement */) { + if (node.parent.kind === 243 /* SyntaxKind.DoStatement */) { // Set span on while expression return textSpanEndingAtNextToken(node, node.parent.expression); } @@ -169519,7 +171181,7 @@ var ts; return spanInNode(node.parent); } function spanInOfKeyword(node) { - if (node.parent.kind === 244 /* SyntaxKind.ForOfStatement */) { + if (node.parent.kind === 247 /* SyntaxKind.ForOfStatement */) { // Set using next token return spanInNextNode(node); } @@ -169568,7 +171230,7 @@ var debugObjectHost = (function () { return this; })(); // We need to use 'null' to interface with the managed side. -/* eslint-disable no-in-operator */ +/* eslint-disable local/no-in-operator */ /* @internal */ var ts; (function (ts) { @@ -169889,14 +171551,14 @@ var ts; }; LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), + return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSyntacticClassifications(fileName, ts.createTextSpan(start, length))); }); }; LanguageServiceShimObject.prototype.getEncodedSemanticClassifications = function (fileName, start, length) { var _this = this; - return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), + return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), // directly serialize the spans out to a string. This is much faster to decode // on the managed side versus a full JSON array. function () { return convertClassifications(_this.languageService.getEncodedSemanticClassifications(fileName, ts.createTextSpan(start, length))); }); @@ -170143,7 +171805,7 @@ var ts; }; LanguageServiceShimObject.prototype.getEmitOutputObject = function (fileName) { var _this = this; - return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), + return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"), /*returnJson*/ false, function () { return _this.languageService.getEmitOutput(fileName); }, this.logPerformance); }; LanguageServiceShimObject.prototype.toggleLineComment = function (fileName, textRange) { @@ -170368,7 +172030,7 @@ var ts; }()); ts.TypeScriptServicesFactory = TypeScriptServicesFactory; })(ts || (ts = {})); -/* eslint-enable no-in-operator */ +/* eslint-enable local/no-in-operator */ // We polyfill `globalThis` here so re can reliably patch the global scope // in the contexts we want to in the same way across script and module formats /* eslint-enable no-var */ @@ -171138,7 +172800,7 @@ var ts; if (typeof value === "number") { return ts.factory.createNumericLiteral(value); } - // eslint-disable-next-line no-in-operator + // eslint-disable-next-line local/no-in-operator if (typeof value === "object" && "base10Value" in value) { // PseudoBigInt return ts.factory.createBigIntLiteral(value); } @@ -171166,7 +172828,7 @@ var ts; } else { type = operatorOrType; - operator = 140 /* SyntaxKind.KeyOfKeyword */; + operator = 141 /* SyntaxKind.KeyOfKeyword */; } return ts.factory.createTypeOperatorNode(operator, type); }, factoryDeprecation); @@ -171344,7 +173006,7 @@ var ts; ts.createNode = ts.Debug.deprecate(function createNode(kind, pos, end) { if (pos === void 0) { pos = 0; } if (end === void 0) { end = 0; } - return ts.setTextRangePosEnd(kind === 305 /* SyntaxKind.SourceFile */ ? ts.parseBaseNodeFactory.createBaseSourceFileNode(kind) : + return ts.setTextRangePosEnd(kind === 308 /* SyntaxKind.SourceFile */ ? ts.parseBaseNodeFactory.createBaseSourceFileNode(kind) : kind === 79 /* SyntaxKind.Identifier */ ? ts.parseBaseNodeFactory.createBaseIdentifierNode(kind) : kind === 80 /* SyntaxKind.PrivateIdentifier */ ? ts.parseBaseNodeFactory.createBasePrivateIdentifierNode(kind) : !ts.isNodeKind(kind) ? ts.parseBaseNodeFactory.createBaseTokenNode(kind) : @@ -171374,7 +173036,7 @@ var ts; (function (ts) { /** @deprecated Use `isTypeAssertionExpression` instead. */ ts.isTypeAssertion = ts.Debug.deprecate(function isTypeAssertion(node) { - return node.kind === 211 /* SyntaxKind.TypeAssertionExpression */; + return node.kind === 213 /* SyntaxKind.TypeAssertionExpression */; }, { since: "4.0", warnAfter: "4.1", diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index c9ea681321fc..1ed5a20ade06 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -15,7 +15,7 @@ export const latestVersions: Record & { ...require('./latest-versions/package.json')['dependencies'], // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current - Angular: '^15.0.0-next.0', + Angular: '^15.1.0-next.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 8495de46b1a8..3adfa25b5699 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -12,12 +12,12 @@ "karma-jasmine-html-reporter": "~2.0.0", "karma-jasmine": "~5.1.0", "karma": "~6.4.0", - "ng-packagr": "^15.0.0-next.0", + "ng-packagr": "^15.1.0-next.0", "protractor": "~7.0.0", "rxjs": "~7.6.0", "tslib": "^2.3.0", "ts-node": "~10.9.0", - "typescript": "~4.8.2", + "typescript": "~4.9.3", "zone.js": "~0.12.0" } } diff --git a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json index 940cccbca670..530127f5115b 100644 --- a/tests/legacy-cli/e2e/assets/webpack/test-app/package.json +++ b/tests/legacy-cli/e2e/assets/webpack/test-app/package.json @@ -2,14 +2,14 @@ "name": "test", "license": "MIT", "dependencies": { - "@angular/common": "^15.0.0-next", - "@angular/compiler": "^15.0.0-next", - "@angular/compiler-cli": "^15.0.0-next", - "@angular/core": "^15.0.0-next", - "@angular/platform-browser": "^15.0.0-next", - "@angular/platform-browser-dynamic": "^15.0.0-next", - "@angular/platform-server": "^15.0.0-next", - "@angular/router": "^15.0.0-next", + "@angular/common": "^15.1.0-next", + "@angular/compiler": "^15.1.0-next", + "@angular/compiler-cli": "^15.1.0-next", + "@angular/core": "^15.1.0-next", + "@angular/platform-browser": "^15.1.0-next", + "@angular/platform-browser-dynamic": "^15.1.0-next", + "@angular/platform-server": "^15.1.0-next", + "@angular/router": "^15.1.0-next", "@ngtools/webpack": "0.0.0", "rxjs": "^6.6.7", "zone.js": "^0.11.4" @@ -17,7 +17,7 @@ "devDependencies": { "sass": "^1.32.8", "sass-loader": "^11.0.1", - "typescript": "~4.8.2", + "typescript": "~4.9.3", "webpack": "^5.27.0", "webpack-cli": "^4.5.0" } diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index a010ea834791..9c9e36417659 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,6 +7,9 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { + // TODO(crisbeto): temporarily disabled until Material is updated + return; + let tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 724b521519a1..8fd27b768e57 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -5,6 +5,9 @@ import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; export default async function () { + // TODO(crisbeto): temporarily disabled until Material is updated + return; + // forcibly remove in case another test doesn't clean itself up await rimraf('node_modules/@angular/material'); @@ -14,7 +17,7 @@ export default async function () { await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); } catch (error) { assertIsError(error); - if (!error.message.includes(`Unknown option: '--unknown'`)) { + if (!(error as Error).message.includes(`Unknown option: '--unknown'`)) { throw error; } } diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 432f21167cdb..fbcd84890a1f 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -4,6 +4,9 @@ import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; export default async function () { + // TODO(crisbeto): temporarily disabled until Material is updated + return; + // Must publish old version to local registry to allow install. This is especially important // for release commits as npm will try to request tooling packages that are not on the npm registry yet await publishOutdated('@schematics/angular@7'); diff --git a/yarn.lock b/yarn.lock index 163f06bf58dd..e5ef1ee42ac5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.0.4.tgz#550ab892fc9b5bd2ce0aceae54ba0dd668163359" - integrity sha512-fOqf7fHX9aspIUmlOsig8ZyZlalU+eIBsUgu4QpH9+vfQzGCJcKIjPClW4Yb7rkNlyLlfQqaICOxG9gOxuEI7Q== +"@angular/animations@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.0-next.3.tgz#228051e88acb0fb71f45a90aa7ca0d3f617b0790" + integrity sha512-EXV4DgjuXgIjQQ7ZLiAf7mPp8iKIa8l5BjIUHLzNVlcTDY04TvHesZIU3bUEV+GoQ/yUkS5SwzTQKDAuIUou+g== dependencies: tslib "^2.3.0" @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42": version "0.0.0-f7d207b79899e466f312ae4fea2804f7978278ad" - uid "0940d31b019e41ca5283c1758d74fd648afd6a42" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42" dependencies: "@angular-devkit/build-angular" "15.1.0-next.3" @@ -159,26 +158,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.0.3.tgz#9f995914d7d8fb0cb035cf2ba9c956b741fdbf79" - integrity sha512-iRLV6V6ksIshDL8Cdn1+DUNTRLqj+DAqmYTWYCEvH4qU6o0XSeXrAHNW5zNFqWgCZbmWt03G5jOBWBNaxa9QKw== +"@angular/cdk@15.1.0-next.2": + version "15.1.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.0-next.2.tgz#2c4134532d1c45f766846ae496b4ebce30147cf6" + integrity sha512-B+Vrq6TG6NinQyjNSpuDcMr8YwIfLp79G+JcMdWRW/DNovMnp8CtdoK/WaVjdVtX3fU68YceVT/5A8poEou9qQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.0.4.tgz#29f0aa02739c33370e52305b266c75282114b4b2" - integrity sha512-0x/2IhaetJqfXMeQ4DlRnOTzGWD0OvOeKORyi0q7WXPxSoD9MUezQHGmzkc5lK9tDYE9cNYyQfkUBcbJT/k6MA== +"@angular/common@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.0-next.3.tgz#6c481e3e64fa11bc48770c2033bb72891f6eaa22" + integrity sha512-nisl/pwQzagJXrI+DMxtfksL7f3QeK6S5O32rNRGSdG7y1Q2hG47hyXDmGyK8PcHNF8RLpPEoR8G6zzfJPpaww== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.0.4.tgz#dfe699846cd5d69f5e0d33164173eb2ecba20b72" - integrity sha512-e6Jt4qkIiyqBg8ZlpcQaQtQ5OAnfl8gfkJnIwSvvCg0mPCJv+ZkQAL5s3SpzzM5jd7Nr0jBq3zd2Fv0eKW2ayw== +"@angular/compiler-cli@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.0-next.3.tgz#6f401a91dc85bffa8f45e07d9fdf8f754337ee6f" + integrity sha512-cH9u8rKtrrMMlxL5sBxl32jgZkuBFCZCFwxsckvxDMY6J1vPXKEs1dLKMynpclZKdEFLPSUaOMX0JgCYAldntQ== dependencies: "@babel/core" "^7.17.2" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -191,17 +190,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.0.4.tgz#9c54194312d80f1ed9f7f5001308adf273f18bfd" - integrity sha512-KtxgRJUGZamOXpIILFG2FTUW+bbc2phi/o6955/Q4LR1HOICQrYEy8PrT1Gp+lVXFKgDG+6cb01lH14LoBQvyw== +"@angular/compiler@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0-next.3.tgz#36d264f1f6dc0e2c9aee62706125e2b8fcc409ab" + integrity sha512-rqeNpr/TQpjP9isFnO5EZVRgGVsXDbji52LTBOnaVvjAL53B1xnCA91YqZspfgX23ka7QjF5mt8CURq5nQTeag== dependencies: tslib "^2.3.0" -"@angular/core@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.0.4.tgz#699105cbd7651dd679b623032100bf55fd616380" - integrity sha512-Xf8Nuu0iM/VjQHPS4A0jufqTYZCfiGqc0iAD7j9zM3TD6caQ3OP4mxXVYYTpIG+APKel38+Gol8cpQB/8PVbqQ== +"@angular/core@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.0-next.3.tgz#6dbab537c4f3293b165aa7c932d52464c83e11f0" + integrity sha512-fZGhEMFf3F1z1BcVSY/Va03JvPhQGySWPZ19Xh+DmZ5tjrTRk9ARt4A1Xi3R74aTLS/auOWlNwojhFvM+edczQ== dependencies: tslib "^2.3.0" @@ -212,26 +211,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.0.4.tgz#8356ea4b314af06c904bc2fb3afec9e248f79f69" - integrity sha512-3Ft/p2ug/zp2p0g2rhLq9v/5F1G11xa+YujAKL5kOFa0zUoroDG6n4b6VEcsGWmDE9NR7Vkiys9rHckiJUluHg== +"@angular/forms@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.0-next.3.tgz#8587bfdccd0559d62cf53603d18791dca090e405" + integrity sha512-xJ49EeZsGIn2hC0ND4n/UfUMp0P8vgWwogvpwkRDm/ql7pavxfN/Xoab8jJ0Vm1N7md/8ubeM7mEdtWFtTJdqQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.0.4.tgz#fdc3567fd96b607678e5b8917e9347770a90af69" - integrity sha512-IuvsPT5fUyf5yn58yzXbD/Mxk3MAbVbI78CRKN2CWew6jTXuiVmaxu4cbL/a2PHhq1led318PAdCMk//Dz4Ddg== +"@angular/localize@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.1.0-next.3.tgz#56e7a025e253e3c2849d89f32278ebc02b9690b8" + integrity sha512-aXCffOMn8A++2XmJvz4qrFyFgVqD4u3GGFJ2Op5uCwH0D1algbCKCToJqHHwZS5bjmfgJyHqfvh+JWKlph17fg== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@15.0.3": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.0.3.tgz#6d28022791cf666a82282e82e2be75e307ed629c" - integrity sha512-x7c6Uc9SnQW0AGTFJZFMQHP80YzmrExtrNn5vYUyWB9QFiNM+jcsqAsSEoGhABU/G5xs8fd40Fj7o2HBixQ0fw== +"@angular/material@15.1.0-next.2": + version "15.1.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.0-next.2.tgz#3da45308d7dcbb4e8dad78c4a4b805d5edd218e8" + integrity sha512-ntvSjQj6eVXpxcJWzKWApwRngb2tLHN4wWH5VhlzavUfH/94FS585yqG2d+2/Rm+d4K7lZMItESnxrxTa70aNQ== dependencies: "@material/animation" "15.0.0-canary.7971d6ad5.0" "@material/auto-init" "15.0.0-canary.7971d6ad5.0" @@ -284,46 +283,45 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8": version "0.0.0-f7d207b79899e466f312ae4fea2804f7978278ad" - uid "9dccce65ac86e8bb222f600d978b713f8e19c2f8" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.0.4.tgz#e7fa434df62ea1b64ed98dff79ab6ce3b083f78d" - integrity sha512-SCUxsfJAHXnAyo2ulmfqs3vGnB/tWNKe+G2KKshrSLyCYIJ3UgpsoPAo1mGih64qo8TWOQk9PJgrlVEB2DoWYg== +"@angular/platform-browser-dynamic@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.0-next.3.tgz#7e941485e8cc574058849aae83bb8855e5fa995b" + integrity sha512-jRzSw8L0DIaatmCi3jb7igqS30D0zUaALpqYXGD6Scnw4svcfUowqEJf18vOn+AnV08EX039ck2+yEuKEoMmPQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.0.4.tgz#d66edd3d8811ea5b2a0b7ce6c42708a85533b5d6" - integrity sha512-SOLrzh9AsHzhfre95ShvHd0hBcyEcFftJuAaU+35L4GiOAY+CznFuJUq4LjITCMQDHGzdpUlRjoUyJRQFmlvXQ== +"@angular/platform-browser@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.0-next.3.tgz#08322cf2d05af751fafe238ae89e7a98ce484e37" + integrity sha512-cwcwE3mJf3LDxBZWAGnDUOJ4okMfSCz+Ndv1+b2TQz6TzsqL/FPYzX5tq/GCtUtW5by3IdFZ+cubUYnzUBM5PA== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.0.4.tgz#5e1525b832b5d085c292263d3b55beeb1a7dd128" - integrity sha512-woAtTsn7cJPpdr3j0WcXNpzXsCIHK2ThZRX8Jgw5VTcM3I+pbKIN8KnCRT8hpdy/l0NwAO34ykoCndkmAvO5yg== +"@angular/platform-server@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.1.0-next.3.tgz#21900b1b64c88582ecb755cda542f1b3e93688cb" + integrity sha512-Nly4W9CAr7xtg2vZUBP5pVoIZQOLFDBj4zGgoa2moBa/SVY+/3u9VCC5EQVmywx7cdms8rwgQIrdK4YnOaT3Tw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.0.4.tgz#d5159d8b0ac745ad0f0ffe8029d67c7d52681f8c" - integrity sha512-6cBUu1kSigORGpWq+Wc3hTLRQcJvtlaZ5OFOIzKGiBEPgezn/AzrWHi/bEccWLZAVFhbUOhcRn9GwudqiqX6+A== +"@angular/router@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.1.0-next.3.tgz#b7f5f8746abb68c0888684b5fa504e2c4f57e213" + integrity sha512-HfHSGtkct5rmsKmX64BDijQpVfJrOymmfuqab2YX0FuIrCBfEogv6jJMZP+l3mKtM4pyIWmQQPFi2Osab5OffA== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.0.4": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.0.4.tgz#9d1bfc3548f595d42c663180df9cb4f1396b3d70" - integrity sha512-n/lbJrpLJYi1NB7rBGQTbM2xckNngimU+kirkCbH6wrUYPeSxxs23DvPF7sDDflNx0Su1+DgqcIILbsXhdqYaw== +"@angular/service-worker@15.1.0-next.3": + version "15.1.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.1.0-next.3.tgz#958ee540f916a3a9063cd08c11a8978db3bfcec0" + integrity sha512-Jd10RAFkeda2QtVB0Y48ntZ8WJUcrJQhk/EVNZf8frW4+1HBBfebcAmdeqn7mOTJszO0vmx8Qz37DGagnDVfWA== dependencies: tslib "^2.3.0" @@ -2849,10 +2847,10 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@rollup/plugin-json@^5.0.0": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-5.0.2.tgz#d7dbbac62ff74064876b3e5d0d863cb3ad1e7cdb" - integrity sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA== +"@rollup/plugin-json@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-6.0.0.tgz#199fea6670fd4dfb1f4932250569b14719db234a" + integrity sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w== dependencies: "@rollup/pluginutils" "^5.0.1" @@ -8423,12 +8421,12 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.0.3: - version "15.0.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.0.3.tgz#6f9e47183e3183161253d78b0e4ebeb30af1600e" - integrity sha512-QRP6X2cuO3AmukYOr+b84gamDWbE2R/cdAedhUSRRYaYD9IhQWVYr64pNiu5VwWNf43zaWWp8UGfKuDjoYYMvg== +ng-packagr@15.1.0-next.0: + version "15.1.0-next.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.0-next.0.tgz#3aa324de033f516b1ae689302c9247ea9ccec83d" + integrity sha512-Y0qrTBaMq036rSATdP2XWPE7gdr/BnQjc0wkmLWAycB8ZjNrQ1gY88gcMNGNAsmO553UFoDO0ClY/2xf7rwq5g== dependencies: - "@rollup/plugin-json" "^5.0.0" + "@rollup/plugin-json" "^6.0.0" "@rollup/plugin-node-resolve" "^15.0.0" ajv "^8.11.0" ansi-colors "^4.1.3" @@ -8446,6 +8444,7 @@ ng-packagr@15.0.3: jsonc-parser "^3.2.0" less "^4.1.3" ora "^5.1.0" + piscina "^3.2.0" postcss "^8.4.16" postcss-url "^10.1.3" rollup "^3.0.0" @@ -9284,7 +9283,7 @@ pino@6.14.0: quick-format-unescaped "^4.0.3" sonic-boom "^1.0.2" -piscina@3.2.0: +piscina@3.2.0, piscina@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.2.0.tgz#f5a1dde0c05567775690cccefe59d9223924d154" integrity sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA== @@ -10164,7 +10163,6 @@ sass@1.56.2, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -11174,12 +11172,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.8.4, typescript@~4.8.0: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== +typescript@4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== -typescript@^4.6.2: +typescript@4.9.4, typescript@^4.6.2: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== @@ -11189,6 +11187,11 @@ typescript@~4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== +typescript@~4.8.0: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" From b719c8a4f81da108709e3c3b89512e69281e3fea Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 3 Jan 2023 15:07:26 +0000 Subject: [PATCH 1238/1388] build: lock file maintenance --- yarn.lock | 854 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 481 insertions(+), 373 deletions(-) diff --git a/yarn.lock b/yarn.lock index e5ef1ee42ac5..b1872e764168 100644 --- a/yarn.lock +++ b/yarn.lock @@ -337,10 +337,10 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733" - integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== "@babel/core@7.19.3": version "7.19.3" @@ -363,7 +363,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.20.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== @@ -384,7 +384,28 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@7.20.5", "@babel/generator@^7.19.3", "@babel/generator@^7.20.5": +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" + integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.7" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== @@ -393,6 +414,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.19.3", "@babel/generator@^7.20.5", "@babel/generator@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -408,27 +438,28 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" - integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: - "@babel/compat-data" "^7.20.0" + "@babel/compat-data" "^7.20.5" "@babel/helper-validator-option" "^7.18.6" browserslist "^4.21.3" + lru-cache "^5.1.1" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz#327154eedfb12e977baa4ecc72e5806720a85a06" - integrity sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz#d0e1f8d7e4ed5dac0389364d9c0c191d948ade6f" + integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": @@ -478,12 +509,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== dependencies: - "@babel/types" "^7.18.9" + "@babel/types" "^7.20.7" "@babel/helper-module-imports@^7.18.6": version "7.18.6" @@ -492,19 +523,19 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" - integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.20.7": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== 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.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.2" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -528,25 +559,26 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/helper-simple-access@^7.19.4", "@babel/helper-simple-access@^7.20.2": +"@babel/helper-simple-access@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: "@babel/types" "^7.20.2" -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== @@ -585,14 +617,14 @@ "@babel/traverse" "^7.20.5" "@babel/types" "^7.20.5" -"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.5": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" - integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== +"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.5", "@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" "@babel/highlight@^7.18.6": version "7.18.6" @@ -603,10 +635,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" - integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -616,15 +648,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@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/plugin-proposal-async-generator-functions@7.20.1", "@babel/plugin-proposal-async-generator-functions@^7.20.1": +"@babel/plugin-proposal-async-generator-functions@7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== @@ -634,6 +666,16 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + 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" + "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -643,12 +685,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.18.6": @@ -676,11 +718,11 @@ "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": @@ -700,15 +742,15 @@ "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz#a556f59d555f06961df1e572bb5eca864c84022d" - integrity sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" + "@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.1" + "@babel/plugin-transform-parameters" "^7.20.7" "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" @@ -718,13 +760,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@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/plugin-proposal-private-methods@^7.18.6": @@ -859,13 +901,13 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-async-to-generator@7.18.6", "@babel/plugin-transform-async-to-generator@^7.18.6": +"@babel/plugin-transform-async-to-generator@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== @@ -874,6 +916,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== + 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/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" @@ -882,38 +933,39 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz#401215f9dc13dc5262940e2e527c9536b3d7f237" - integrity sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-classes@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz#c0033cf1916ccf78202d04be4281d161f6709bb2" - integrity sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-compilation-targets" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" "@babel/plugin-transform-destructuring@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz#c23741cfa44ddd35f5e53896e88c75331b8b2792" - integrity sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -971,30 +1023,30 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" - integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" - integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-simple-access" "^7.19.4" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" "@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" - integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": @@ -1028,10 +1080,10 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.20.1": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz#f8f9186c681d10c3de7620c916156d893c8a019e" - integrity sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ== +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -1077,12 +1129,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" @@ -1212,14 +1264,21 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.20.6", "@babel/runtime@^7.8.4": +"@babel/runtime@7.20.6": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== dependencies: regenerator-runtime "^0.13.11" -"@babel/template@7.18.10", "@babel/template@^7.18.10": +"@babel/runtime@^7.8.4": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== @@ -1228,26 +1287,35 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" - integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" + integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" - integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== +"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" @@ -1339,10 +1407,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" - integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== +"@esbuild/android-arm64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.13.tgz#1fc9bfbff0bac558008b2ad7242db1c8024d8cfd" + integrity sha512-r4xetsd1ez1NF9/9R2f9Q6AlxqiZLwUqo7ICOcvEVwopVkXUcspIjEbJk0EVTgT6Cp5+ymzGPT6YNV0ievx4yA== "@esbuild/android-arm64@0.16.6": version "0.16.6" @@ -1354,10 +1422,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.7.tgz#2df472016c77dba3e79596a84da74c541698910f" integrity sha512-tYFw0lBJSEvLoGzzYh1kXuzoX1iPkbOk3O29VqzQb0HbOy7t/yw1hGkvwoJhXHwzQUPsShyYcTgRf6bDBcfnTw== -"@esbuild/android-arm@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" - integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== +"@esbuild/android-arm@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.13.tgz#df3317286eed68c727daf39c2d585625f9c2f170" + integrity sha512-JmtqThupn9Yf+FzANE+GG73ASUkssnPwOsndUElhp23685QzRK+MO1UompOlBaXV9D5FTuYcPnw7p4mCq2YbZQ== "@esbuild/android-arm@0.16.6": version "0.16.6" @@ -1369,10 +1437,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.7.tgz#15f1a9b27b1637c38377b3e1f2d90b9782cdc141" integrity sha512-yhzDbiVcmq6T1/XEvdcJIVcXHdLjDJ5cQ0Dp9R9p9ERMBTeO1dR5tc8YYv8zwDeBw1xZm+Eo3MRo8cwclhBS0g== -"@esbuild/android-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" - integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== +"@esbuild/android-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.13.tgz#c34826c4bdc57c60cbfb8d5bbd2306a89225626a" + integrity sha512-hKt1bFht/Vtp0xJ0ZVzFMnPy1y1ycmM3KNnp3zsyZfQmw7nhs2WLO4vxdR5YG+6RsHKCb2zbZ3VwlC0Tij0qyA== "@esbuild/android-x64@0.16.6": version "0.16.6" @@ -1384,10 +1452,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.7.tgz#cb34b7d666bf52266061cfb1a19c1d788b6c5ac1" integrity sha512-3P2OuTxwAtM3k/yEWTNUJRjMPG1ce8rXs51GTtvEC5z1j8fC1plHeVVczdeHECU7aM2/Buc0MwZ6ciM/zysnWg== -"@esbuild/darwin-arm64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" - integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== +"@esbuild/darwin-arm64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.13.tgz#0b80c8580c262ccfb1203053201cf19c6f7b4cdb" + integrity sha512-ogrVuNi2URocrr3Ps20f075EMm9V7IeenOi9FRj4qdbT6mQlwLuP4l90PW2iBrKERx0oRkcZprEUNsz/3xd7ww== "@esbuild/darwin-arm64@0.16.6": version "0.16.6" @@ -1399,10 +1467,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.7.tgz#be1fabd0c2f6af111c16e9e9b18bf336c1e11634" integrity sha512-VUb9GK23z8jkosHU9yJNUgQpsfJn+7ZyBm6adi2Ec5/U241eR1tAn82QicnUzaFDaffeixiHwikjmnec/YXEZg== -"@esbuild/darwin-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" - integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== +"@esbuild/darwin-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.13.tgz#f1a6c9ea67d4eaaf4944e1cbceb800eabc6e7e74" + integrity sha512-Agajik9SBGiKD7FPXE+ExW6x3MgA/dUdpZnXa9y1tyfE4lKQx+eQiknSdrBnWPeqa9wL0AOvkhghmYhpVkyqkA== "@esbuild/darwin-x64@0.16.6": version "0.16.6" @@ -1414,10 +1482,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.7.tgz#2206042ac4396bb18dd53b379df83bec47eeb5fb" integrity sha512-duterlv3tit3HI9vhzMWnSVaB1B6YsXpFq1Ntd6Fou82BB1l4tucYy3FI9dHv3tvtDuS0NiGf/k6XsdBqPZ01w== -"@esbuild/freebsd-arm64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" - integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== +"@esbuild/freebsd-arm64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.13.tgz#d1a45ac5c4a1be566c4eefbadbe5a967288ad338" + integrity sha512-KxMO3/XihBcHM+xQUM6nQZO1SgQuOsd1DCnKF1a4SIf/i5VD45vrqN3k8ePgFrEbMi7m5JeGmvNqwJXinF0a4Q== "@esbuild/freebsd-arm64@0.16.6": version "0.16.6" @@ -1429,10 +1497,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.7.tgz#ca52bd64b0bba69ae4063245366f25838357c332" integrity sha512-9kkycpBFes/vhi7B7o0cf+q2WdJi+EpVzpVTqtWFNiutARWDFFLcB93J8PR1cG228sucsl3B+7Ts27izE6qiaQ== -"@esbuild/freebsd-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" - integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== +"@esbuild/freebsd-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.13.tgz#ec64a31cabb08343bb4520a221324b40509dffc8" + integrity sha512-Ez15oqV1vwvZ30cVLeBW14BsWq/fdWNQGMOxxqaSJVQVLqHhvgfQ7gxGDiN9tpJdeQhqJO+Q0r02/Tce5+USNg== "@esbuild/freebsd-x64@0.16.6": version "0.16.6" @@ -1444,10 +1512,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.7.tgz#bc01c146e6af5430c5eb325844de43f01e0264c4" integrity sha512-5Ahf6jzWXJ4J2uh9dpy5DKOO+PeRUE/9DMys6VuYfwgQzd6n5+pVFm58L2Z2gRe611RX6SdydnNaiIKM3svY7g== -"@esbuild/linux-arm64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" - integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== +"@esbuild/linux-arm64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.13.tgz#e8db3c3751b32ecf801751424eae43f6863a2ee7" + integrity sha512-qi5n7KwcGViyJeZeQnu8fB6dC3Mlm5PGaqSv2HhQDDx/MPvVfQGNMcv7zcBL4qk3FkuWhGVwXkjQ76x7R0PWlA== "@esbuild/linux-arm64@0.16.6": version "0.16.6" @@ -1459,10 +1527,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.7.tgz#23267ff1cdd2a8f150d5aca1d6d2a4dfd4be7909" integrity sha512-2wv0xYDskk2+MzIm/AEprDip39a23Chptc4mL7hsHg26P0gD8RUhzmDu0KCH2vMThUI1sChXXoK9uH0KYQKaDg== -"@esbuild/linux-arm@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" - integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== +"@esbuild/linux-arm@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.13.tgz#ac0c8e9f3db8d418f588ae250e9c66ffdcf3cd82" + integrity sha512-18dLd2L3mda+iFj6sswyBMSh2UwniamD9M4DwPv8VM+9apRFlQ5IGKxBdumnTuOI4NvwwAernmUseWhYQ9k+rg== "@esbuild/linux-arm@0.16.6": version "0.16.6" @@ -1474,10 +1542,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.7.tgz#2c7cf7244e4b8a6f757a87a113d83d8a0c1f5297" integrity sha512-QqJnyCfu5OF78Olt7JJSZ7OSv/B4Hf+ZJWp4kkq9xwMsgu7yWq3crIic8gGOpDYTqVKKMDAVDgRXy5Wd/nWZyQ== -"@esbuild/linux-ia32@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" - integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== +"@esbuild/linux-ia32@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.13.tgz#41ee9bd3b7161ab681fab6cb3990a3f5c08a9940" + integrity sha512-2489Xad9sr+6GD7nB913fUqpCsSwVwgskkQTq4Or2mZntSPYPebyJm8l1YruHo7oqYMTGV6RiwGE4gRo3H+EPQ== "@esbuild/linux-ia32@0.16.6": version "0.16.6" @@ -1489,10 +1557,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.7.tgz#a15dc3edf6953c5414add4264fd8335f48775490" integrity sha512-APVYbEilKbD5ptmKdnIcXej2/+GdV65TfTjxR2Uk8t1EsOk49t6HapZW6DS/Bwlvh5hDwtLapdSumIVNGxgqLg== -"@esbuild/linux-loong64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" - integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== +"@esbuild/linux-loong64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.13.tgz#e4a832708e0b47078b91413edcfdb6af88c854a3" + integrity sha512-x8KplRu9Y43Px8I9YS+sPBwQ+fw44Mvp2BPVADopKDWz+h3fcj1BvRU58kxb89WObmwKX9sWdtYzepL4Fmx03A== "@esbuild/linux-loong64@0.16.6": version "0.16.6" @@ -1504,10 +1572,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.7.tgz#b3ce8539cf307b543796530839cf62507d9c7e84" integrity sha512-5wPUAGclplQrAW7EFr3F84Y/d++7G0KykohaF4p54+iNWhUnMVU8Bh2sxiEOXUy4zKIdpHByMgJ5/Ko6QhtTUw== -"@esbuild/linux-mips64el@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" - integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== +"@esbuild/linux-mips64el@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.13.tgz#30d8571b71e0b8bf25fc5ef11422221ed23cdacc" + integrity sha512-qhhdWph9FLwD9rVVC/nUf7k2U4NZIA6/mGx0B7+O6PFV0GjmPA2E3zDQ4NUjq9P26E0DeAZy9akH9dYcUBRU7A== "@esbuild/linux-mips64el@0.16.6": version "0.16.6" @@ -1519,10 +1587,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.7.tgz#7c1c8f3de254b4e975ac2580bba187b87b959256" integrity sha512-hxzlXtWF6yWfkE/SMTscNiVqLOAn7fOuIF3q/kiZaXxftz1DhZW/HpnTmTTWrzrS7zJWQxHHT4QSxyAj33COmA== -"@esbuild/linux-ppc64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" - integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== +"@esbuild/linux-ppc64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.13.tgz#32a3855d4b79ba1d2b63dab592cb9f0d4a9ba485" + integrity sha512-cVWAPKsrRVxI1jCeJHnYSbE3BrEU+pZTZK2gfao9HRxuc+3m4+RLfs3EVEpGLmMKEcWfVCB9wZ3yNxnknutGKQ== "@esbuild/linux-ppc64@0.16.6": version "0.16.6" @@ -1534,10 +1602,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.7.tgz#72a00c9788f3ca5df56ecec060d5b92f945c9a2d" integrity sha512-WM83Dac0LdXty5xPhlOuCD5Egfk1xLND/oRLYeB7Jb/tY4kzFSDgLlq91wYbHua/s03tQGA9iXvyjgymMw62Vw== -"@esbuild/linux-riscv64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" - integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== +"@esbuild/linux-riscv64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.13.tgz#6139202858da8202724d7079102614c269524f34" + integrity sha512-Agb7dbRyZWnmPn5Vvf0eyqaEUqSsaIUwwyInu2EoFTaIDRp093QU2M5alUyOooMLkRbD1WvqQNwx08Z/g+SAcQ== "@esbuild/linux-riscv64@0.16.6": version "0.16.6" @@ -1549,10 +1617,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.7.tgz#545fd57e44dc3331a86956889f2a5b42bd116c9b" integrity sha512-3nkNnNg4Ax6MS/l8O8Ynq2lGEVJYyJ2EoY3PHjNJ4PuZ80EYLMrFTFZ4L/Hc16AxgtXKwmNP9TM0YKNiBzBiJQ== -"@esbuild/linux-s390x@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" - integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== +"@esbuild/linux-s390x@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.13.tgz#df3550a51e4155cde31486e01d8121f078e959ae" + integrity sha512-AqRBIrc/+kl08ahliNG+EyU+j41wIzQfwBTKpi80cCDiYvYFPuXjvzZsD9muiu58Isj0RVni9VgC4xK/AnSW4g== "@esbuild/linux-s390x@0.16.6": version "0.16.6" @@ -1564,10 +1632,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.7.tgz#a36fd4605904c49310616dd648c0c25a267a19c0" integrity sha512-3SA/2VJuv0o1uD7zuqxEP+RrAyRxnkGddq0bwHQ98v1KNlzXD/JvxwTO3T6GM5RH6JUd29RTVQTOJfyzMkkppA== -"@esbuild/linux-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" - integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== +"@esbuild/linux-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.13.tgz#deb7951829ea5930e0d88440aeb5df0756ebb2d0" + integrity sha512-S4wn2BimuhPcoArRtVrdHUKIymCCZcYAXQE47kUiX4yrUrEX2/ifn5eKNbZ5c1jJKUlh1gC2ESIN+iw3wQax3g== "@esbuild/linux-x64@0.16.6": version "0.16.6" @@ -1579,10 +1647,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.7.tgz#104f3f8f3f25f1f26b70cee05470974861ca5a5e" integrity sha512-xi/tbqCqvPIzU+zJVyrpz12xqciTAPMi2fXEWGnapZymoGhuL2GIWIRXg4O2v5BXaYA5TSaiKYE14L0QhUTuQg== -"@esbuild/netbsd-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" - integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== +"@esbuild/netbsd-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.13.tgz#8cba08074263862138cc5c63ad7f9640fe3faa69" + integrity sha512-2c8JWgfUMlQHTdaR5X3xNMwqOyad8kgeCupuVkdm3QkUOzGREjlTETQsK6oHifocYzDCo9FeKcUwsK356SdR+g== "@esbuild/netbsd-x64@0.16.6": version "0.16.6" @@ -1594,10 +1662,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.7.tgz#0fd59fea5e6b94ee82e81b3b389e561efe77b347" integrity sha512-NUsYbq3B+JdNKn8SXkItFvdes9qTwEoS3aLALtiWciW/ystiCKM20Fgv9XQBOXfhUHyh5CLEeZDXzLOrwBXuCQ== -"@esbuild/openbsd-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" - integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== +"@esbuild/openbsd-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.13.tgz#4ae19ac63c665424d248ba5c577618dd7bbcebd5" + integrity sha512-Bwh+PmKD/LK+xBjqIpnYnKYj0fIyQJ0YpRxsn0F+WfzvQ2OA+GKDlf8AHosiCns26Q4Dje388jQVwfOBZ1GaFw== "@esbuild/openbsd-x64@0.16.6": version "0.16.6" @@ -1609,10 +1677,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.7.tgz#c04072a70f31be1bd47204955d2c71ca393c9eb4" integrity sha512-qjwzsgeve9I8Tbsko2FEkdSk2iiezuNGFgipQxY/736NePXDaDZRodIejYGWOlbYXugdxb0nif5yvypH6lKBmA== -"@esbuild/sunos-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" - integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== +"@esbuild/sunos-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.13.tgz#592caacab6b2c7669cd869b51f66dc354da03fc2" + integrity sha512-8wwk6f9XGnhrF94/DBdFM4Xm1JeCyGTCj67r516VS9yvBVQf3Rar54L+XPVDs/oZOokwH+XsktrgkuTMAmjntg== "@esbuild/sunos-x64@0.16.6": version "0.16.6" @@ -1624,10 +1692,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.7.tgz#11c4cd341be1de93cb5e3bf096f3b63ae1497626" integrity sha512-mFWDz4RoBTzPphTCkM7Kc7Qpa0o/Z01acajR+Ai7LdfKgcP/C6jYOaKwv7nKzD0+MjOT20j7You9g4ozYy1dKQ== -"@esbuild/win32-arm64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" - integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== +"@esbuild/win32-arm64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.13.tgz#965ebbe889e4221962250c55facaa1e48130c162" + integrity sha512-Jmwbp/5ArLCiRAHC33ODfcrlIcbP/exXkOEUVkADNJC4e/so2jm+i8IQFvVX/lA2GWvK3GdgcN0VFfp9YITAbg== "@esbuild/win32-arm64@0.16.6": version "0.16.6" @@ -1639,10 +1707,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.7.tgz#95091269394f16352e318124790a3906bf370141" integrity sha512-m39UmX19RvEIuC8sYZ0M+eQtdXw4IePDSZ78ZQmYyFaXY9krq4YzQCK2XWIJomNLtg4q+W5aXr8bW3AbqWNoVg== -"@esbuild/win32-ia32@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" - integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== +"@esbuild/win32-ia32@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.13.tgz#1b04965bcf340ba4879b452ac32df63216d4c87e" + integrity sha512-AX6WjntGjhJHzrPSVvjMD7grxt41koHfAOx6lxLorrpDwwIKKPaGDASPZgvFIZHTbwhOtILW6vAXxYPDsKpDJA== "@esbuild/win32-ia32@0.16.6": version "0.16.6" @@ -1654,10 +1722,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.7.tgz#2bda285a0b7084a93417472c460b0209bef0c39d" integrity sha512-1cbzSEZA1fANwmT6rjJ4G1qQXHxCxGIcNYFYR9ctI82/prT38lnwSRZ0i5p/MVXksw9eMlHlet6pGu2/qkXFCg== -"@esbuild/win32-x64@0.16.4": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" - integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ== +"@esbuild/win32-x64@0.16.13": + version "0.16.13" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.13.tgz#0b0989cf0e7887cb0f3124e705cee68a694b96dd" + integrity sha512-A+U4gM6OOkPS03UgVU08GTpAAAxPsP/8Z4FmneGo4TaVSD99bK9gVJXlqUEPMO/htFXEAht2O6pX4ErtLY5tVg== "@esbuild/win32-x64@0.16.6": version "0.16.6" @@ -1670,14 +1738,14 @@ integrity sha512-QaQ8IH0JLacfGf5cf0HCCPnQuCTd/dAI257vXBgb/cccKGbH/6pVtI1gwhdAQ0Y48QSpTIFrh9etVyNdZY+zzw== "@eslint/eslintrc@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" - integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== dependencies: ajv "^6.12.4" debug "^4.3.2" espree "^9.4.0" - globals "^13.15.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -1690,9 +1758,9 @@ integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.11.6": - version "0.11.7" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f" - integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw== + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -2757,9 +2825,9 @@ infer-owner "^1.0.4" "@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.1.tgz#2bf718579ad0ca2c5bd364c6a9de3e2fa6be2b00" - integrity sha512-+hcUpxgx0vEpDJI9Cn+lkTdKLoqKBXFCVps5H7FujEU2vLOp6KwqjLlxbnz8Wzgm8oEqW/u5FeNAXSFjLdCD0A== + version "6.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" + integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== dependencies: which "^3.0.0" @@ -3067,22 +3135,22 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.31" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": + version "4.17.32" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz#93dda387f5516af616d8d3f05f2c4c79d81e1b82" + integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.16.0", "@types/express@^4.17.13": - version "4.17.14" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== + version "4.17.15" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff" + integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" + "@types/express-serve-static-core" "^4.17.31" "@types/qs" "*" "@types/serve-static" "*" @@ -3190,9 +3258,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.11.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.13.tgz#dff34f226ec1ac0432ae3b136ec5552bd3b9c0fe" - integrity sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w== + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== "@types/node@12.20.24": version "12.20.24" @@ -3210,9 +3278,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^14.15.0": - version "14.18.34" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.34.tgz#cd2e6fa0dbfb08a62582a7b967558e73c32061ec" - integrity sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA== + version "14.18.36" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.36.tgz#c414052cb9d43fab67d679d5f3c641be911f5835" + integrity sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ== "@types/npm-package-arg@*", "@types/npm-package-arg@^6.1.0": version "6.1.1" @@ -3320,9 +3388,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.9.tgz#90b24668bf1ec0a049fbc7aeebd4f7ab672440fa" - integrity sha512-QNCYI3Rgjf3bZ2GZwXnUpOJUPR8p7+c9Um9MEKggLaUaF8UfjitH5aPCV1PF0DHVEiPYsXayGVS6+67DO3VILw== + version "4.1.10" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.10.tgz#a33299c40afa8dfbd948c8dd338608b163f7c062" + integrity sha512-o6ARpkBI8J0b+jhLjXF46rYc8Vsb5CLrRetyA3V3qUPVDwNjPDyHZsZOCFSXH0KPZ6lIn2BfP1xVEPnO+AQy5w== dependencies: "@types/ws" "*" @@ -3436,7 +3504,14 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@*", "@types/ws@8.5.3", "@types/ws@^8.5.1": +"@types/ws@*", "@types/ws@^8.5.1": + version "8.5.4" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" + integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== + dependencies: + "@types/node" "*" + +"@types/ws@8.5.3": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== @@ -3449,9 +3524,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.17" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.17.tgz#5672e5621f8e0fca13f433a8017aae4b7a2a03e7" - integrity sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g== + version "17.0.18" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.18.tgz#466225ab4fbabb9aa711f5b406796daf1374a5b7" + integrity sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw== dependencies: "@types/yargs-parser" "*" @@ -3844,7 +3919,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.2, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: +ajv@8.11.2, ajv@^8.0.0: version "8.11.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== @@ -3864,6 +3939,16 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.11.0, ajv@^8.8.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-colors@4.1.3, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -4277,10 +4362,10 @@ browser-or-node@^1.2.1: resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-1.3.0.tgz#f2a4e8568f60263050a6714b2cc236bb976647a7" integrity sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg== -browser-sync-client@^2.27.10: - version "2.27.10" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.10.tgz#f06233ea66bd873b96664f001cbc49035022634d" - integrity sha512-KCFKA1YDj6cNul0VsA28apohtBsdk5Wv8T82ClOZPZMZWxPj4Ny5AUbrj9UlAb/k6pdxE5HABrWDhP9+cjt4HQ== +browser-sync-client@^2.27.11: + version "2.27.11" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.11.tgz#1450e662ba805386b842f2b89456b48bdab7b968" + integrity sha512-okMNfD2NasL/XD1/BclP3onXjhahisk3e/kTQ5HPDT/lLqdBqNDd6QFcjI5I1ak7na2hxKQSLjryql+7fp5gKQ== dependencies: etag "1.8.1" fresh "0.5.2" @@ -4288,10 +4373,10 @@ browser-sync-client@^2.27.10: rxjs "^5.5.6" typescript "^4.6.2" -browser-sync-ui@^2.27.10: - version "2.27.10" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.10.tgz#59dd6e436e17b743c99094ff5129306ab7ab5b79" - integrity sha512-elbJILq4Uo6OQv6gsvS3Y9vRAJlWu+h8j0JDkF0X/ua+3S6SVbbiWnZc8sNOFlG7yvVGIwBED3eaYQ0iBo1Dtw== +browser-sync-ui@^2.27.11: + version "2.27.11" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.11.tgz#a391a0cd011dc19cb1798d10bc2ba29c9bcc5a2c" + integrity sha512-1T/Y8Pp1R68aUL7zVSFq0nxtr258xWd/nTasCAHX2M6EsGaswVOFtXsw3bKqsr35z+J+LfVfOdz1HFLYKxdgrA== dependencies: async-each-series "0.1.1" connect-history-api-fallback "^1" @@ -4301,12 +4386,12 @@ browser-sync-ui@^2.27.10: stream-throttle "^0.1.3" browser-sync@^2.27.7: - version "2.27.10" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.10.tgz#3568d4f66afb0f68fee4a10902ecbbe8b2f680dd" - integrity sha512-xKm+6KJmJu6RuMWWbFkKwOCSqQOxYe3nOrFkKI5Tr/ZzjPxyU3pFShKK3tWnazBo/3lYQzN7fzjixG8fwJh1Xw== + version "2.27.11" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.11.tgz#bb2c07fa586863612507cf0b7963e352a26a07af" + integrity sha512-U5f9u97OYJH66T0MGWWzG9rOQTW6ZmDMj97vsmtqwNS03JAwdLVES8eel2lD3rvAqQCNAFqaJ74NMacBI57vJg== dependencies: - browser-sync-client "^2.27.10" - browser-sync-ui "^2.27.10" + browser-sync-client "^2.27.11" + browser-sync-ui "^2.27.11" bs-recipes "1.3.4" bs-snippet-injector "^2.0.1" chokidar "^3.5.1" @@ -4324,7 +4409,7 @@ browser-sync@^2.27.7: micromatch "^4.0.2" opn "5.3.0" portscanner "2.2.0" - qs "6.2.3" + qs "^6.11.0" raw-body "^2.3.2" resp-modifier "6.0.2" rx "4.1.0" @@ -4432,7 +4517,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.3, cacache@^17.0.0: +cacache@17.0.3: version "17.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.3.tgz#9ba14e0e50eca763ae7e2ee89036a948a13035ed" integrity sha512-pwsIK/grdM0cHpfVaNFxMdzElBtLJGsVPE+JnxqXP1l40O01Z1mfDE8MbRTuwomGq/UwEtGisOylutOEVJxEqg== @@ -4451,7 +4536,7 @@ cacache@17.0.3, cacache@^17.0.0: tar "^6.1.11" unique-filename "^3.0.0" -cacache@17.0.4: +cacache@17.0.4, cacache@^17.0.0: version "17.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.4.tgz#5023ed892ba8843e3b7361c26d0ada37e146290c" integrity sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA== @@ -4513,9 +4598,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001439" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz#ab7371faeb4adff4b74dad1718a6fd122e45d9cb" - integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== + version "1.0.30001441" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== caseless@~0.12.0: version "0.12.0" @@ -4759,12 +4844,12 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.2.0, commander@^2.20.0, commander@^2.20.3: +commander@^2.2.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^9.4.0: +commander@^9.4.0, commander@^9.4.1: version "9.4.1" resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== @@ -4914,9 +4999,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.25.1: - version "3.26.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.26.1.tgz#0e710b09ebf689d719545ac36e49041850f943df" - integrity sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A== + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.1.tgz#b5695eb25c602d72b1d30cbfba3cb7e5e4cf0a67" + integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== dependencies: browserslist "^4.21.4" @@ -5573,9 +5658,9 @@ esbuild-wasm@0.16.7: integrity sha512-cBTKDy9uTJ/2+a6TsYxy9bLzVw9NbWr1cId3FLo/YJUpXYz2W4sSbopigCilUBrG8xXmd1JIXtx1ujhQlIR93A== esbuild-wasm@^0.16.0: - version "0.16.4" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.4.tgz#16fcfae88a753f2b1556b739d8297c0e9ada2363" - integrity sha512-Nh7aa9uazooaEIGubc8s0nQZFhnf035pJMTpMPBonzDchN6RPsQES5bojQo3zT2xSAuC9nEMg8Nxzc1iwigETw== + version "0.16.13" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.13.tgz#038c86168a22f05393e0dd3b8047451a6b839413" + integrity sha512-TW1pPU7EK3+epIj496qBHPqvAwuGp8Br8yocfk6nez/GjxVx2jyJo6E7kJ0nNEF2XsqWG5/FvnomDHfnmZHsBQ== esbuild@0.16.6: version "0.16.6" @@ -5634,32 +5719,32 @@ esbuild@0.16.7: "@esbuild/win32-x64" "0.16.7" esbuild@^0.16.0: - version "0.16.4" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd" - integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA== + version "0.16.13" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.13.tgz#83cd347c28221268bbfa0425db532d7d05f85b48" + integrity sha512-oYwFdSEIoKM1oYzyem1osgKJAvg5447XF+05ava21fOtilyb2HeQQh26/74K4WeAk5dZmj/Mx10zUqUnI14jhA== optionalDependencies: - "@esbuild/android-arm" "0.16.4" - "@esbuild/android-arm64" "0.16.4" - "@esbuild/android-x64" "0.16.4" - "@esbuild/darwin-arm64" "0.16.4" - "@esbuild/darwin-x64" "0.16.4" - "@esbuild/freebsd-arm64" "0.16.4" - "@esbuild/freebsd-x64" "0.16.4" - "@esbuild/linux-arm" "0.16.4" - "@esbuild/linux-arm64" "0.16.4" - "@esbuild/linux-ia32" "0.16.4" - "@esbuild/linux-loong64" "0.16.4" - "@esbuild/linux-mips64el" "0.16.4" - "@esbuild/linux-ppc64" "0.16.4" - "@esbuild/linux-riscv64" "0.16.4" - "@esbuild/linux-s390x" "0.16.4" - "@esbuild/linux-x64" "0.16.4" - "@esbuild/netbsd-x64" "0.16.4" - "@esbuild/openbsd-x64" "0.16.4" - "@esbuild/sunos-x64" "0.16.4" - "@esbuild/win32-arm64" "0.16.4" - "@esbuild/win32-ia32" "0.16.4" - "@esbuild/win32-x64" "0.16.4" + "@esbuild/android-arm" "0.16.13" + "@esbuild/android-arm64" "0.16.13" + "@esbuild/android-x64" "0.16.13" + "@esbuild/darwin-arm64" "0.16.13" + "@esbuild/darwin-x64" "0.16.13" + "@esbuild/freebsd-arm64" "0.16.13" + "@esbuild/freebsd-x64" "0.16.13" + "@esbuild/linux-arm" "0.16.13" + "@esbuild/linux-arm64" "0.16.13" + "@esbuild/linux-ia32" "0.16.13" + "@esbuild/linux-loong64" "0.16.13" + "@esbuild/linux-mips64el" "0.16.13" + "@esbuild/linux-ppc64" "0.16.13" + "@esbuild/linux-riscv64" "0.16.13" + "@esbuild/linux-s390x" "0.16.13" + "@esbuild/linux-x64" "0.16.13" + "@esbuild/netbsd-x64" "0.16.13" + "@esbuild/openbsd-x64" "0.16.13" + "@esbuild/sunos-x64" "0.16.13" + "@esbuild/win32-arm64" "0.16.13" + "@esbuild/win32-ia32" "0.16.13" + "@esbuild/win32-x64" "0.16.13" escalade@^3.1.1: version "3.1.1" @@ -6062,9 +6147,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" - integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -6349,7 +6434,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== @@ -6448,10 +6533,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0: - version "13.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.18.0.tgz#fb224daeeb2bb7d254cd2c640f003528b8d0c1dc" - integrity sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A== +globals@^13.15.0, globals@^13.19.0: + version "13.19.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== dependencies: type-fest "^0.20.2" @@ -6468,9 +6553,9 @@ globby@^11.1.0: slash "^3.0.0" globby@^13.1.1: - version "13.1.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.2.tgz#29047105582427ab6eca4f905200667b056da515" - integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ== + version "13.1.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" + integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== dependencies: dir-glob "^3.0.1" fast-glob "^3.2.11" @@ -6799,9 +6884,9 @@ ignore-walk@^6.0.0: minimatch "^5.0.1" ignore@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c" - integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== image-size@~0.5.0: version "0.5.5" @@ -6819,9 +6904,9 @@ immutable@^3: integrity sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg== immutable@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" - integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== + version "4.2.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.1.tgz#8a4025691018c560a40c67e43d698f816edc44d4" + integrity sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" @@ -6921,11 +7006,11 @@ inquirer@8.2.4: wrap-ansi "^7.0.0" internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== dependencies: - get-intrinsic "^1.1.0" + get-intrinsic "^1.1.3" has "^1.0.3" side-channel "^1.0.4" @@ -7341,9 +7426,9 @@ jju@~1.4.0: integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== jquery@^3.3.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16" - integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw== + version "3.6.3" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" + integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== js-base64@^2.4.3: version "2.6.4" @@ -7431,16 +7516,16 @@ json-stringify-safe@~5.0.1: integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.1.2, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonc-parser@3.2.0, jsonc-parser@^3.2.0: version "3.2.0" @@ -7503,14 +7588,14 @@ jszip@^3.1.3, jszip@^3.10.0: setimmediate "^1.0.5" just-diff-apply@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.1.tgz#1debed059ad009863b4db0e8d8f333d743cdd83b" - integrity sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g== + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== just-diff@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202" - integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.2.0.tgz#60dca55891cf24cd4a094e33504660692348a241" + integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== jwa@^1.4.1: version "1.4.1" @@ -7967,6 +8052,13 @@ lru-cache@7.14.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -8210,13 +8302,20 @@ minimatch@5.1.0: dependencies: brace-expansion "^2.0.1" -minimatch@5.1.1, minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== dependencies: brace-expansion "^2.0.1" +minimatch@^5.0.1, minimatch@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" + integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== + dependencies: + brace-expansion "^2.0.1" + minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -8492,9 +8591,9 @@ node-gyp-build@^4.2.2: integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== node-gyp@^9.0.0, node-gyp@^9.1.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.0.tgz#f8eefe77f0ad8edb3b3b898409b53e697642b319" - integrity sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q== + version "9.3.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.1.tgz#1e19f5f290afcc9c46973d68700cbd21a96192e4" + integrity sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg== dependencies: env-paths "^2.2.0" glob "^7.1.4" @@ -8508,9 +8607,9 @@ node-gyp@^9.0.0, node-gyp@^9.1.0: which "^2.0.2" node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + version "2.0.8" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== nopt@^4.0.1: version "4.0.3" @@ -9617,18 +9716,13 @@ qrcode-terminal@^0.12.0: resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== -qs@6.11.0: +qs@6.11.0, qs@^6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: side-channel "^1.0.4" -qs@6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" - integrity sha512-AY4g8t3LMboim0t6XWFdz6J5OuJ1ZNYu54SXihS/OMpgyCqYmcAJnWqkNSOjSjWmq3xxy+GF9uWQI2lI/7tKIA== - qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -9721,9 +9815,9 @@ read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: npm-normalize-package-bin "^1.0.1" read-package-json-fast@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.1.tgz#de13ae1c591850534daf77e083e851f94af67733" - integrity sha512-8+HW7Yo+cjfF+md8DqsZHgats2mxf7gGYow/+2JjxrftoHFZz9v4dzd0EubzYbkNaLxrTVcnllHwklXN2+7aTQ== + version "3.0.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" + integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== dependencies: json-parse-even-better-errors "^3.0.0" npm-normalize-package-bin "^3.0.0" @@ -10071,9 +10165,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.7.3.tgz#d440adff5f89099fd1f552e4e4333045e3bc71d4" - integrity sha512-7e68MQbAWCX6mI4/0lG1WHd+NdNAlVamg0Zkd+8LZ/oXojligdGnCNyHlzXqXCZObyjs5FRc3AH0b17iJESGIQ== + version "3.9.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.9.1.tgz#27501d3d026418765fe379d5620d25954ff2a011" + integrity sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w== optionalDependencies: fsevents "~2.3.2" @@ -10109,9 +10203,9 @@ rxjs@^5.5.6: symbol-observable "1.0.1" rxjs@^7.5.5, rxjs@^7.5.6: - version "7.6.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.6.0.tgz#361da5362b6ddaa691a2de0b4f2d32028f1eb5a2" - integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ== + version "7.8.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== dependencies: tslib "^2.1.0" @@ -10152,7 +10246,7 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.56.2, sass@^1.55.0: +sass@1.56.2: version "1.56.2" resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.2.tgz#9433b345ab3872996c82a53a58c014fd244fd095" integrity sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w== @@ -10161,6 +10255,15 @@ sass@1.56.2, sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@^1.55.0: + version "1.57.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5" + integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" @@ -10725,9 +10828,9 @@ stream-throttle@^0.1.3: limiter "^1.0.5" streamroller@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.3.tgz#d95689a8c29b30d093525d0baffe6616fd62ca7e" - integrity sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w== + version "3.1.4" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.4.tgz#844a18e795d39c1089a8216e66a1cf1151271df0" + integrity sha512-Ha1Ccw2/N5C/IF8Do6zgNe8F3jQo8MPBnMBGvX0QjNv/I97BcNRzK6/mzOpZHHK7DjMLTI3c7Xw7Y1KvdChkvw== dependencies: date-format "^4.0.14" debug "^4.3.4" @@ -11830,6 +11933,11 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" @@ -11933,15 +12041,15 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== z-schema@~5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.4.tgz#ecad8bc5ef3283ae032d603286386cfb1380cce5" - integrity sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA== + version "5.0.5" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.5.tgz#6805a48c5366a6125cae0e58752babfd503daf32" + integrity sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q== dependencies: lodash.get "^4.4.2" lodash.isequal "^4.5.0" validator "^13.7.0" optionalDependencies: - commander "^2.20.3" + commander "^9.4.1" zone.js@^0.12.0: version "0.12.0" From ff23d35031516ca2c52b3a22c933c0ab1abee04b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 4 Jan 2023 06:05:35 +0000 Subject: [PATCH 1239/1388] build: update dependency typescript to v4.9.4 --- package.json | 2 +- yarn.lock | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/package.json b/package.json index f58498990d5b..0dcde9a8bc6d 100644 --- a/package.json +++ b/package.json @@ -208,7 +208,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.4.1", - "typescript": "4.9.3", + "typescript": "4.9.4", "verdaccio": "5.18.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", diff --git a/yarn.lock b/yarn.lock index b1872e764168..0111c8b28c1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11275,11 +11275,6 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" - integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== - typescript@4.9.4, typescript@^4.6.2: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" From 7f93735e98e490be0899474604b23cc92a796342 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 3 Jan 2023 19:45:01 -0500 Subject: [PATCH 1240/1388] build: use bazel to perform release builds When performing a release via the dev-infra `ng-dev` tooling, the release builds for the packages that will be published are now performed using bazel. Prior to this, the release builds were performed using a custom build script that programmatically invoked TypeScript APIs. The Bazel build and discovery process for the releasable packages is performed by a script that is based on the scripts from components and framework repositories. Several small modifications were performed to match the behavior and structure of the cli repository: * Use of `packages` as the source root in the bazel query * Use of `pkg_npm` rule in the bazel query * Partial transition to native Node.js `fs` APIs instead of `shelljs` * Directory creation per package when copying output (supports multiple package scopes) * Copying of archives (tgz) for each package The snapshot and local build capabilities are not modified as part of this change but will be merged in a followup as part of a larger transition to use bazel throughout the package build process. --- .circleci/dynamic_config.yml | 3 +- .ng-dev/release.mts | 10 +- package.json | 1 + packages/angular/cli/BUILD.bazel | 1 + packages/angular/create/BUILD.bazel | 1 + packages/angular/pwa/BUILD.bazel | 1 + packages/angular_devkit/architect/BUILD.bazel | 1 + .../angular_devkit/architect/node/BUILD.bazel | 2 +- .../angular_devkit/architect_cli/BUILD.bazel | 1 + .../angular_devkit/build_angular/BUILD.bazel | 1 + .../angular_devkit/build_webpack/BUILD.bazel | 1 + packages/angular_devkit/core/BUILD.bazel | 1 + .../angular_devkit/schematics/BUILD.bazel | 1 + .../angular_devkit/schematics_cli/BUILD.bazel | 1 + packages/ngtools/webpack/BUILD.bazel | 1 + packages/schematics/angular/BUILD.bazel | 1 + scripts/build-packages-dist.mts | 168 ++++++++++++++++++ tsconfig-build.json | 3 +- yarn.lock | 10 +- 19 files changed, 201 insertions(+), 8 deletions(-) create mode 100644 scripts/build-packages-dist.mts diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 5dbea5ebedca..836d01ea0e55 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -332,6 +332,7 @@ jobs: publish_artifacts: executor: action-executor + resource_class: medium environment: steps: - custom_attach_workspace @@ -342,7 +343,7 @@ jobs: name: Copy tarballs to folder command: | mkdir -p dist/artifacts/ - cp dist/*.tgz dist/artifacts/ + cp dist/releases/*.tgz dist/artifacts/ - store_artifacts: path: dist/artifacts/ destination: angular diff --git a/.ng-dev/release.mts b/.ng-dev/release.mts index 8e2e2333b141..ae7206c57880 100644 --- a/.ng-dev/release.mts +++ b/.ng-dev/release.mts @@ -1,8 +1,5 @@ -import '../lib/bootstrap-local.js'; - import { ReleaseConfig } from '@angular/ng-dev'; import packages from '../lib/packages.js'; -import buildPackages from '../scripts/build.js'; const npmPackages = Object.entries(packages.releasePackages).map(([name, { experimental }]) => ({ name, @@ -13,7 +10,12 @@ const npmPackages = Object.entries(packages.releasePackages).map(([name, { exper export const release: ReleaseConfig = { representativeNpmPackage: '@angular/cli', npmPackages, - buildPackages: () => buildPackages.default(), + buildPackages: async () => { + // The `performNpmReleaseBuild` function is loaded at runtime to avoid loading additional + // files and dependencies unless a build is required. + const { performNpmReleaseBuild } = await import('../scripts/build-packages-dist.mjs'); + return performNpmReleaseBuild(); + }, releaseNotes: { groupOrder: [ '@angular/cli', diff --git a/package.json b/package.json index 0dcde9a8bc6d..1413bd88dd83 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,7 @@ "@types/progress": "^2.0.3", "@types/resolve": "^1.17.1", "@types/semver": "^7.3.12", + "@types/shelljs": "^0.8.11", "@types/tar": "^6.1.2", "@types/text-table": "^0.2.1", "@types/yargs": "^17.0.8", diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index e315e76af3dc..ac63f01cbf10 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -176,6 +176,7 @@ pkg_npm( "//packages/angular_devkit/schematics:package.json", "//packages/schematics/angular:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":angular-cli", diff --git a/packages/angular/create/BUILD.bazel b/packages/angular/create/BUILD.bazel index 0b547661c54d..85973cfd9452 100644 --- a/packages/angular/create/BUILD.bazel +++ b/packages/angular/create/BUILD.bazel @@ -32,6 +32,7 @@ genrule( pkg_npm( name = "npm_package", + tags = ["release-package"], visibility = ["//visibility:public"], deps = [ ":README.md", diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index eeaf57c76d2a..58bdfea63444 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -88,6 +88,7 @@ pkg_npm( "//packages/angular_devkit/schematics:package.json", "//packages/schematics/angular:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":license", diff --git a/packages/angular_devkit/architect/BUILD.bazel b/packages/angular_devkit/architect/BUILD.bazel index a6e9f961bdc4..fe9eb922808d 100644 --- a/packages/angular_devkit/architect/BUILD.bazel +++ b/packages/angular_devkit/architect/BUILD.bazel @@ -112,6 +112,7 @@ pkg_npm( pkg_deps = [ "//packages/angular_devkit/core:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":architect", diff --git a/packages/angular_devkit/architect/node/BUILD.bazel b/packages/angular_devkit/architect/node/BUILD.bazel index ab98536ca739..ef463f7d018b 100644 --- a/packages/angular_devkit/architect/node/BUILD.bazel +++ b/packages/angular_devkit/architect/node/BUILD.bazel @@ -23,7 +23,6 @@ ts_library( "//packages/angular_devkit/architect", "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", - "//tests/angular_devkit/architect/node/jobs:jobs_test_lib", "@npm//@types/node", "@npm//rxjs", ], @@ -40,6 +39,7 @@ ts_library( deps = [ ":node", "//packages/angular_devkit/architect", + "//tests/angular_devkit/architect/node/jobs:jobs_test_lib", ], ) diff --git a/packages/angular_devkit/architect_cli/BUILD.bazel b/packages/angular_devkit/architect_cli/BUILD.bazel index fee4938a4ae6..ff916d34d005 100644 --- a/packages/angular_devkit/architect_cli/BUILD.bazel +++ b/packages/angular_devkit/architect_cli/BUILD.bazel @@ -40,6 +40,7 @@ pkg_npm( "//packages/angular_devkit/architect:package.json", "//packages/angular_devkit/core:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":architect_cli", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 0565125a6ad4..5fb3680e2a6a 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -233,6 +233,7 @@ pkg_npm( "//packages/angular_devkit/core:package.json", "//packages/ngtools/webpack:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":build_angular", diff --git a/packages/angular_devkit/build_webpack/BUILD.bazel b/packages/angular_devkit/build_webpack/BUILD.bazel index 9d1cf4bb25e1..b1157c6f39a0 100644 --- a/packages/angular_devkit/build_webpack/BUILD.bazel +++ b/packages/angular_devkit/build_webpack/BUILD.bazel @@ -120,6 +120,7 @@ pkg_npm( pkg_deps = [ "//packages/angular_devkit/architect:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":build_webpack", diff --git a/packages/angular_devkit/core/BUILD.bazel b/packages/angular_devkit/core/BUILD.bazel index 8592428c20c4..f1807387e7c0 100644 --- a/packages/angular_devkit/core/BUILD.bazel +++ b/packages/angular_devkit/core/BUILD.bazel @@ -83,6 +83,7 @@ genrule( pkg_npm( name = "npm_package", + tags = ["release-package"], deps = [ ":README.md", ":core", diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index 9f56a7377905..bf0b3f8401b8 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -86,6 +86,7 @@ pkg_npm( pkg_deps = [ "//packages/angular_devkit/core:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":collection-schema.json", diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index 9e4af505cfeb..ebd2b1e54ae0 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -110,6 +110,7 @@ pkg_npm( "//packages/angular_devkit/schematics:package.json", "//packages/angular_devkit/core:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":license", diff --git a/packages/ngtools/webpack/BUILD.bazel b/packages/ngtools/webpack/BUILD.bazel index 53b8a5d12abf..49899710c2e6 100644 --- a/packages/ngtools/webpack/BUILD.bazel +++ b/packages/ngtools/webpack/BUILD.bazel @@ -85,6 +85,7 @@ genrule( pkg_npm( name = "npm_package", + tags = ["release-package"], deps = [ ":README.md", ":license", diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 83da30a8bacc..39640a9e8a71 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -166,6 +166,7 @@ pkg_npm( "//packages/angular_devkit/schematics:package.json", "//packages/angular_devkit/core:package.json", ], + tags = ["release-package"], deps = [ ":README.md", ":angular", diff --git a/scripts/build-packages-dist.mts b/scripts/build-packages-dist.mts new file mode 100644 index 000000000000..35de6abbfd42 --- /dev/null +++ b/scripts/build-packages-dist.mts @@ -0,0 +1,168 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/** + * Script that builds the release output of all packages which have the "release-package + * Bazel tag set. The script builds all those packages and copies the release output to the + * distribution folder within the project. + */ + +import { BuiltPackage } from '@angular/ng-dev'; +import { execSync } from 'node:child_process'; +import { chmodSync, copyFileSync, mkdirSync, rmSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import sh from 'shelljs'; + +/** Name of the Bazel tag that will be used to find release package targets. */ +const releaseTargetTag = 'release-package'; + +/** Path to the project directory. */ +const projectDir = join(dirname(fileURLToPath(import.meta.url)), '../'); + +/** Command that runs Bazel. */ +const bazelCmd = process.env.BAZEL || `yarn -s bazel`; + +/** Command that queries Bazel for all release package targets. */ +const queryPackagesCmd = + `${bazelCmd} query --output=label "attr('tags', '\\[.*${releaseTargetTag}.*\\]', //packages/...) ` + + `intersect kind('pkg_npm', //packages/...)"`; + +/** Path for the default distribution output directory. */ +const defaultDistPath = join(projectDir, 'dist/releases'); + +/** Builds the release packages for NPM. */ +export function performNpmReleaseBuild(): BuiltPackage[] { + return buildReleasePackages(defaultDistPath, /* isSnapshotBuild */ false); +} + +/** + * Builds the release packages as snapshot build. This means that the current + * Git HEAD SHA is included in the version (for easier debugging and back tracing). + */ +export function performDefaultSnapshotBuild(): BuiltPackage[] { + return buildReleasePackages(defaultDistPath, /* isSnapshotBuild */ true); +} + +/** + * Builds the release packages with the given compile mode and copies + * the package output into the given directory. + */ +function buildReleasePackages(distPath: string, isSnapshotBuild: boolean): BuiltPackage[] { + console.log('######################################'); + console.log(' Building release packages...'); + console.log('######################################'); + + // List of targets to build. e.g. "packages/angular/cli:npm_package" + const targets = exec(queryPackagesCmd, true).split(/\r?\n/); + const packageNames = getPackageNamesOfTargets(targets); + const bazelBinPath = exec(`${bazelCmd} info bazel-bin`, true); + const getBazelOutputPath = (pkgName: string) => + join(bazelBinPath, 'packages', pkgName, 'npm_package'); + const getDistPath = (pkgName: string) => join(distPath, pkgName); + + // Build with "--config=release" or `--config=snapshot` so that Bazel + // runs the workspace stamping script. The stamping script ensures that the + // version placeholder is populated in the release output. + const stampConfigArg = `--config=${isSnapshotBuild ? 'snapshot' : 'release'}`; + + // Walk through each release package and clear previous "npm_package" outputs. This is + // a workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1219. We need to + // do this to ensure that the version placeholders are properly populated. + packageNames.forEach((pkgName) => { + // Directory output is created by the npm_package target + const directoryOutputPath = getBazelOutputPath(pkgName); + // Archive output is created by the npm_package_archive target + const archiveOutputPath = directoryOutputPath + '_archive.tgz'; + + if (sh.test('-d', directoryOutputPath)) { + sh.chmod('-R', 'u+w', directoryOutputPath); + sh.rm('-rf', directoryOutputPath); + } + try { + chmodSync(archiveOutputPath, '0755'); + rmSync(archiveOutputPath, { force: true }); + } catch {} + }); + + // Build both the npm_package and npm_package_archive targets for each package + // TODO: Consider switching to only using the archive for publishing + const buildTargets = targets.flatMap((target) => [target, target + '_archive']); + exec(`${bazelCmd} build ${stampConfigArg} ${buildTargets.join(' ')}`); + + // Delete the distribution directory so that the output is guaranteed to be clean. Re-create + // the empty directory so that we can copy the release packages into it later. + rmSync(distPath, { force: true, recursive: true, maxRetries: 3 }); + mkdirSync(distPath, { recursive: true }); + + // Copy the package output into the specified distribution folder. + packageNames.forEach((pkgName) => { + // Directory output is created by the npm_package target + const directoryOutputPath = getBazelOutputPath(pkgName); + // Archive output is created by the npm_package_archive target + const archiveOutputPath = directoryOutputPath + '_archive.tgz'; + + const targetFolder = getDistPath(pkgName); + console.log(`> Copying package output to "${targetFolder}"`); + + // Ensure package scope directory exists prior to copying + mkdirSync(dirname(targetFolder), { recursive: true }); + + // Copy package contents to target directory + sh.cp('-R', directoryOutputPath, targetFolder); + sh.chmod('-R', 'u+w', targetFolder); + + // Copy archive of package to target directory + const archiveTargetPath = join(distPath, `${pkgName.replace('/', '_')}.tgz`); + copyFileSync(archiveOutputPath, archiveTargetPath); + chmodSync(archiveTargetPath, '0755'); + }); + + return packageNames.map((pkg) => { + return { + // Package names on disk do not have the @ scope prefix and use underscores instead of dashes + name: `@${pkg.replace(/_/g, '-')}`, + outputPath: getDistPath(pkg), + }; + }); +} + +/** + * Gets the package names of the specified Bazel targets. + * e.g. //packages/angular/cli:npm_package = angular/cli + */ +function getPackageNamesOfTargets(targets: string[]): string[] { + return targets.map((targetName) => { + const matches = targetName.match(/\/\/packages\/(.*?):/); + if (matches === null) { + throw Error( + `Found Bazel target with "${releaseTargetTag}" tag, but could not ` + + `determine release output name: ${targetName}`, + ); + } + + return matches[1]; + }); +} + +/** Executes the given command in the project directory. */ +function exec(command: string): void; +/** Executes the given command in the project directory and returns its stdout. */ +function exec(command: string, captureStdout: true): string; +function exec(command: string, captureStdout?: true) { + const stdout = execSync(command, { + cwd: projectDir, + stdio: ['inherit', captureStdout ? 'pipe' : 'inherit', 'inherit'], + }); + + if (captureStdout) { + process.stdout.write(stdout); + + return stdout.toString().trim(); + } +} diff --git a/tsconfig-build.json b/tsconfig-build.json index 025d28ebb13b..4b248abd099c 100644 --- a/tsconfig-build.json +++ b/tsconfig-build.json @@ -21,6 +21,7 @@ "tests/**/*", "tools/**/*", ".ng-dev/**/*", - "**/*_spec.ts" + "**/*_spec.ts", + "scripts/**/*.mts" ] } diff --git a/yarn.lock b/yarn.lock index 0111c8b28c1f..a19f0bc830d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3154,7 +3154,7 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/glob@^8.0.0": +"@types/glob@*", "@types/glob@^8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2" integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA== @@ -3422,6 +3422,14 @@ "@types/mime" "*" "@types/node" "*" +"@types/shelljs@^0.8.11": + version "0.8.11" + resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.11.tgz#17a5696c825974e96828e96e89585d685646fcb8" + integrity sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw== + dependencies: + "@types/glob" "*" + "@types/node" "*" + "@types/sockjs@^0.3.33": version "0.3.33" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" From c608955532ed8491a18cbcdd05f584bda6675511 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 5 Jan 2023 14:56:14 +0000 Subject: [PATCH 1241/1388] ci: use snapshot deploy secret directly Instead of encoding the GitHub snapshot robot access token in a file that needs to be decoded by an ambiguously named secret called `KEY`, the token can be directly stored in the secrets of CircleCI given easier maintenance and the same risk. The leakage of the secret still means the GitHub token file could be decoded. We are switching to a similar model as in the components repo, which also simplifies key rotations etc. --- .circleci/dynamic_config.yml | 10 +--------- .circleci/github_token | 1 - scripts/snapshots.ts | 7 +------ 3 files changed, 2 insertions(+), 16 deletions(-) delete mode 100644 .circleci/github_token diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 836d01ea0e55..83a0ddc9165e 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -317,17 +317,9 @@ jobs: steps: - custom_attach_workspace - install_python - - run: - name: Decrypt Credentials - # Note: when changing the image, you might have to re-encrypt the credentials with a - # matching version of openssl. - # See https://stackoverflow.com/a/43847627/2116927 for more info. - command: | - openssl aes-256-cbc -d -in .circleci/github_token -k "${KEY}" -out ~/github_token -md md5 - run: name: Deployment to Snapshot - command: | - yarn admin snapshots --verbose --githubTokenFile=${HOME}/github_token + command: yarn admin snapshots --verbose - fail_fast publish_artifacts: diff --git a/.circleci/github_token b/.circleci/github_token deleted file mode 100644 index 450cb2c93f8c..000000000000 --- a/.circleci/github_token +++ /dev/null @@ -1 +0,0 @@ -Salted__zÈùº¬ö"Bõ¾Y¾’|‚ۍ¢V”QֳUzWò±/G…îR ¡e}j‘% þÿ¦<%öáÉÿ–¼ \ No newline at end of file diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index 37a97f3b423e..46b0f204c669 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -130,7 +130,6 @@ async function _publishSnapshot( export interface SnapshotsOptions { force?: boolean; - githubTokenFile?: string; githubToken?: string; branch?: string; } @@ -151,11 +150,7 @@ export default async function (opts: SnapshotsOptions, logger: logging.Logger) { branch = '' + process.env['CIRCLE_BRANCH']; } - const githubToken = ( - opts.githubToken || - (opts.githubTokenFile && fs.readFileSync(opts.githubTokenFile, 'utf-8')) || - '' - ).trim(); + const githubToken = (opts.githubToken || process.env.SNAPSHOT_BUILDS_GITHUB_TOKEN || '').trim(); if (githubToken) { logger.info('Setting up global git name.'); From b597b3420c89952c42e78d0bcdcabb239a046466 Mon Sep 17 00:00:00 2001 From: "angular-robot[bot]" <56403804+angular-robot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 08:51:30 +0000 Subject: [PATCH 1242/1388] build: update `SECURITY.md` to match the content of `angular/.github` --- SECURITY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 3d599f9d423e..cb2de27fcad5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,3 +1,3 @@ -Angular is part of Google [Open Source Software Vulnerability Reward Program](https://bughunters.google.com/about/rules/6521337925468160/google-open-source-software-vulnerability-reward-program-rules), for vulnerabilities in Angular please submit your report [here](https://bughunters.google.com/report). +Angular is part of Google [Open Source Software Vulnerability Reward Program](https://bughunters.google.com/about/rules/6521337925468160/google-open-source-software-vulnerability-reward-program-rules). For vulnerabilities in Angular, please submit your report [here](https://bughunters.google.com/report). -For more information on Angular's security policy visit: https://angular.io/guide/security +For more information, check out [Angular's security policy](https://angular.io/guide/security). From df5ca315a616a6de51081f14dee669b7ef80fb57 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 6 Jan 2023 09:10:19 +0000 Subject: [PATCH 1243/1388] build: update all non-major dependencies --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- WORKSPACE | 6 +- package.json | 38 +- .../angular_devkit/build_angular/package.json | 20 +- packages/angular_devkit/core/package.json | 2 +- .../utility/latest-versions/package.json | 2 +- yarn.lock | 623 +++++++++--------- 8 files changed, 338 insertions(+), 359 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 3b7f9b814bc3..a90aa23352a3 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -13,7 +13,7 @@ jobs: assistant_to_the_branch_manager: runs-on: ubuntu-latest steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - uses: angular/dev-infra/github-actions/branch-manager@f7d207b79899e466f312ae4fea2804f7978278ad diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 59f2697e8230..fdcfd8ab1eca 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,14 +12,14 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@f7d207b79899e466f312ae4fea2804f7978278ad with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 + - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - uses: angular/dev-infra/github-actions/post-approval-changes@f7d207b79899e466f312ae4fea2804f7978278ad with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/WORKSPACE b/WORKSPACE index 235d90c789fa..676aa10054f5 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "be236556c7b9c7b91cb370e837fdcec62b6e8893408cd4465ae883c9d7c67024", - strip_prefix = "bazel-lib-1.18.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.18.0.tar.gz", + sha256 = "ae56efc54ce3025ea908900e0d061423310b15e4676ae1359105583a2944665c", + strip_prefix = "bazel-lib-1.19.1", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.19.1.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 1413bd88dd83..386a03d54e44 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ ] }, "resolutions": { - "**/ajv-formats/ajv": "8.11.2", + "**/ajv-formats/ajv": "8.12.0", "@types/parse5-html-rewriting-stream/@types/parse5-sax-parser": "^5.0.2" }, "devDependencies": { @@ -81,15 +81,15 @@ "@angular/platform-server": "15.1.0-next.3", "@angular/router": "15.1.0-next.3", "@angular/service-worker": "15.1.0-next.3", - "@babel/core": "7.20.5", - "@babel/generator": "7.20.5", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.20.1", - "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.6", - "@babel/template": "7.18.10", + "@babel/runtime": "7.20.7", + "@babel/template": "7.20.7", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "5.1.0", "@bazel/concatjs": "5.7.3", @@ -123,14 +123,14 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.46.1", - "@typescript-eslint/parser": "5.46.1", + "@typescript-eslint/eslint-plugin": "5.48.0", + "@typescript-eslint/parser": "5.48.0", "@yarnpkg/lockfile": "1.1.0", - "ajv": "8.11.2", + "ajv": "8.12.0", "ajv-formats": "2.1.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", - "babel-loader": "9.1.0", + "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "4.21.4", @@ -141,17 +141,17 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.16.7", - "esbuild-wasm": "0.16.7", - "eslint": "8.29.0", - "eslint-config-prettier": "8.5.0", + "esbuild": "0.16.14", + "esbuild-wasm": "0.16.14", + "eslint": "8.31.0", + "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.26.0", "express": "4.18.2", "glob": "8.0.3", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", - "husky": "8.0.2", + "husky": "8.0.3", "ini": "3.0.1", "inquirer": "8.2.4", "jasmine": "^4.0.0", @@ -172,7 +172,7 @@ "loader-utils": "3.2.1", "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", - "minimatch": "5.1.1", + "minimatch": "5.1.2", "ng-packagr": "15.1.0-next.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", @@ -193,7 +193,7 @@ "quicktype-core": "6.0.69", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.56.2", + "sass": "1.57.1", "sass-loader": "13.2.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", @@ -210,7 +210,7 @@ "ts-node": "^10.0.0", "tslib": "2.4.1", "typescript": "4.9.4", - "verdaccio": "5.18.0", + "verdaccio": "5.19.0", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", "webpack-dev-middleware": "6.0.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9138344f6049..4780d31ea5bb 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -10,20 +10,20 @@ "@angular-devkit/architect": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@babel/core": "7.20.5", - "@babel/generator": "7.20.5", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.20.1", - "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.6", - "@babel/template": "7.18.10", + "@babel/runtime": "7.20.7", + "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", "ansi-colors": "4.1.3", "autoprefixer": "10.4.13", - "babel-loader": "9.1.0", + "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", "browserslist": "4.21.4", "cacache": "17.0.4", @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.16.7", + "esbuild-wasm": "0.16.14", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -51,7 +51,7 @@ "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.56.2", + "sass": "1.57.1", "sass-loader": "13.2.0", "semver": "7.3.8", "source-map-loader": "4.0.1", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.7" + "esbuild": "0.16.14" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next || ^15.1.0-next", diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json index 5ce8e35e0a36..22ddb4c1494f 100644 --- a/packages/angular_devkit/core/package.json +++ b/packages/angular_devkit/core/package.json @@ -9,7 +9,7 @@ ], "dependencies": { "ajv-formats": "2.1.1", - "ajv": "8.11.2", + "ajv": "8.12.0", "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 3adfa25b5699..d1fbe3db73bc 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -14,7 +14,7 @@ "karma": "~6.4.0", "ng-packagr": "^15.1.0-next.0", "protractor": "~7.0.0", - "rxjs": "~7.6.0", + "rxjs": "~7.8.0", "tslib": "^2.3.0", "ts-node": "~10.9.0", "typescript": "~4.9.3", diff --git a/yarn.lock b/yarn.lock index a19f0bc830d1..a109da1ca030 100644 --- a/yarn.lock +++ b/yarn.lock @@ -363,6 +363,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@7.20.12": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.12" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + "@babel/core@7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" @@ -414,7 +435,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.19.3", "@babel/generator@^7.20.5", "@babel/generator@^7.20.7": +"@babel/generator@7.20.7", "@babel/generator@^7.19.3", "@babel/generator@^7.20.5", "@babel/generator@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== @@ -666,7 +687,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@^7.20.1": +"@babel/plugin-proposal-async-generator-functions@7.20.7", "@babel/plugin-proposal-async-generator-functions@^7.20.1": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== @@ -916,7 +937,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.18.6": +"@babel/plugin-transform-async-to-generator@7.20.7", "@babel/plugin-transform-async-to-generator@^7.18.6": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== @@ -1271,7 +1292,7 @@ dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@^7.8.4": +"@babel/runtime@7.20.7", "@babel/runtime@^7.8.4": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== @@ -1287,7 +1308,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/template@^7.18.10", "@babel/template@^7.20.7": +"@babel/template@7.20.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== @@ -1312,6 +1333,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.20.12": + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" + integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" @@ -1412,332 +1449,332 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.13.tgz#1fc9bfbff0bac558008b2ad7242db1c8024d8cfd" integrity sha512-r4xetsd1ez1NF9/9R2f9Q6AlxqiZLwUqo7ICOcvEVwopVkXUcspIjEbJk0EVTgT6Cp5+ymzGPT6YNV0ievx4yA== +"@esbuild/android-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz#f02c9f0d43086ddf6ed2795b881ddf7990f74456" + integrity sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ== + "@esbuild/android-arm64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz#670061e921b2ef56adfa04ed66013e892136ec58" integrity sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw== -"@esbuild/android-arm64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.7.tgz#2df472016c77dba3e79596a84da74c541698910f" - integrity sha512-tYFw0lBJSEvLoGzzYh1kXuzoX1iPkbOk3O29VqzQb0HbOy7t/yw1hGkvwoJhXHwzQUPsShyYcTgRf6bDBcfnTw== - "@esbuild/android-arm@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.13.tgz#df3317286eed68c727daf39c2d585625f9c2f170" integrity sha512-JmtqThupn9Yf+FzANE+GG73ASUkssnPwOsndUElhp23685QzRK+MO1UompOlBaXV9D5FTuYcPnw7p4mCq2YbZQ== +"@esbuild/android-arm@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" + integrity sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg== + "@esbuild/android-arm@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.6.tgz#450a79c5b04f955106515b0d24d0a428f3b7b468" integrity sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ== -"@esbuild/android-arm@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.7.tgz#15f1a9b27b1637c38377b3e1f2d90b9782cdc141" - integrity sha512-yhzDbiVcmq6T1/XEvdcJIVcXHdLjDJ5cQ0Dp9R9p9ERMBTeO1dR5tc8YYv8zwDeBw1xZm+Eo3MRo8cwclhBS0g== - "@esbuild/android-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.13.tgz#c34826c4bdc57c60cbfb8d5bbd2306a89225626a" integrity sha512-hKt1bFht/Vtp0xJ0ZVzFMnPy1y1ycmM3KNnp3zsyZfQmw7nhs2WLO4vxdR5YG+6RsHKCb2zbZ3VwlC0Tij0qyA== +"@esbuild/android-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" + integrity sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw== + "@esbuild/android-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.6.tgz#d62788083113d54456c79d8aefb4a8f922ff9100" integrity sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ== -"@esbuild/android-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.7.tgz#cb34b7d666bf52266061cfb1a19c1d788b6c5ac1" - integrity sha512-3P2OuTxwAtM3k/yEWTNUJRjMPG1ce8rXs51GTtvEC5z1j8fC1plHeVVczdeHECU7aM2/Buc0MwZ6ciM/zysnWg== - "@esbuild/darwin-arm64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.13.tgz#0b80c8580c262ccfb1203053201cf19c6f7b4cdb" integrity sha512-ogrVuNi2URocrr3Ps20f075EMm9V7IeenOi9FRj4qdbT6mQlwLuP4l90PW2iBrKERx0oRkcZprEUNsz/3xd7ww== +"@esbuild/darwin-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" + integrity sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw== + "@esbuild/darwin-arm64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz#2d1c78ce0752236fa088fc3cc4e33a4fd3d26c84" integrity sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w== -"@esbuild/darwin-arm64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.7.tgz#be1fabd0c2f6af111c16e9e9b18bf336c1e11634" - integrity sha512-VUb9GK23z8jkosHU9yJNUgQpsfJn+7ZyBm6adi2Ec5/U241eR1tAn82QicnUzaFDaffeixiHwikjmnec/YXEZg== - "@esbuild/darwin-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.13.tgz#f1a6c9ea67d4eaaf4944e1cbceb800eabc6e7e74" integrity sha512-Agajik9SBGiKD7FPXE+ExW6x3MgA/dUdpZnXa9y1tyfE4lKQx+eQiknSdrBnWPeqa9wL0AOvkhghmYhpVkyqkA== +"@esbuild/darwin-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" + integrity sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg== + "@esbuild/darwin-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz#873b80540e5e8f0d1b87e2a48e7bfaecc097bfc0" integrity sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA== -"@esbuild/darwin-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.7.tgz#2206042ac4396bb18dd53b379df83bec47eeb5fb" - integrity sha512-duterlv3tit3HI9vhzMWnSVaB1B6YsXpFq1Ntd6Fou82BB1l4tucYy3FI9dHv3tvtDuS0NiGf/k6XsdBqPZ01w== - "@esbuild/freebsd-arm64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.13.tgz#d1a45ac5c4a1be566c4eefbadbe5a967288ad338" integrity sha512-KxMO3/XihBcHM+xQUM6nQZO1SgQuOsd1DCnKF1a4SIf/i5VD45vrqN3k8ePgFrEbMi7m5JeGmvNqwJXinF0a4Q== +"@esbuild/freebsd-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" + integrity sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw== + "@esbuild/freebsd-arm64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz#3d432d5e9fa17955f1e8b23255a00207f22891c0" integrity sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ== -"@esbuild/freebsd-arm64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.7.tgz#ca52bd64b0bba69ae4063245366f25838357c332" - integrity sha512-9kkycpBFes/vhi7B7o0cf+q2WdJi+EpVzpVTqtWFNiutARWDFFLcB93J8PR1cG228sucsl3B+7Ts27izE6qiaQ== - "@esbuild/freebsd-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.13.tgz#ec64a31cabb08343bb4520a221324b40509dffc8" integrity sha512-Ez15oqV1vwvZ30cVLeBW14BsWq/fdWNQGMOxxqaSJVQVLqHhvgfQ7gxGDiN9tpJdeQhqJO+Q0r02/Tce5+USNg== +"@esbuild/freebsd-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" + integrity sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw== + "@esbuild/freebsd-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz#7e892ec08c9a11863e86feff169452f3cde967af" integrity sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g== -"@esbuild/freebsd-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.7.tgz#bc01c146e6af5430c5eb325844de43f01e0264c4" - integrity sha512-5Ahf6jzWXJ4J2uh9dpy5DKOO+PeRUE/9DMys6VuYfwgQzd6n5+pVFm58L2Z2gRe611RX6SdydnNaiIKM3svY7g== - "@esbuild/linux-arm64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.13.tgz#e8db3c3751b32ecf801751424eae43f6863a2ee7" integrity sha512-qi5n7KwcGViyJeZeQnu8fB6dC3Mlm5PGaqSv2HhQDDx/MPvVfQGNMcv7zcBL4qk3FkuWhGVwXkjQ76x7R0PWlA== +"@esbuild/linux-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" + integrity sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q== + "@esbuild/linux-arm64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz#d1e2b0099cb19dce96ef9e4d4b94bc861c9b39cc" integrity sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw== -"@esbuild/linux-arm64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.7.tgz#23267ff1cdd2a8f150d5aca1d6d2a4dfd4be7909" - integrity sha512-2wv0xYDskk2+MzIm/AEprDip39a23Chptc4mL7hsHg26P0gD8RUhzmDu0KCH2vMThUI1sChXXoK9uH0KYQKaDg== - "@esbuild/linux-arm@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.13.tgz#ac0c8e9f3db8d418f588ae250e9c66ffdcf3cd82" integrity sha512-18dLd2L3mda+iFj6sswyBMSh2UwniamD9M4DwPv8VM+9apRFlQ5IGKxBdumnTuOI4NvwwAernmUseWhYQ9k+rg== +"@esbuild/linux-arm@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" + integrity sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w== + "@esbuild/linux-arm@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz#ecb1543b12c27f7e4c7ad67d5e13d9a08d034e55" integrity sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg== -"@esbuild/linux-arm@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.7.tgz#2c7cf7244e4b8a6f757a87a113d83d8a0c1f5297" - integrity sha512-QqJnyCfu5OF78Olt7JJSZ7OSv/B4Hf+ZJWp4kkq9xwMsgu7yWq3crIic8gGOpDYTqVKKMDAVDgRXy5Wd/nWZyQ== - "@esbuild/linux-ia32@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.13.tgz#41ee9bd3b7161ab681fab6cb3990a3f5c08a9940" integrity sha512-2489Xad9sr+6GD7nB913fUqpCsSwVwgskkQTq4Or2mZntSPYPebyJm8l1YruHo7oqYMTGV6RiwGE4gRo3H+EPQ== +"@esbuild/linux-ia32@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" + integrity sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA== + "@esbuild/linux-ia32@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz#916c13e4076d03cabbbfaa6735e6c195fe332932" integrity sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw== -"@esbuild/linux-ia32@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.7.tgz#a15dc3edf6953c5414add4264fd8335f48775490" - integrity sha512-APVYbEilKbD5ptmKdnIcXej2/+GdV65TfTjxR2Uk8t1EsOk49t6HapZW6DS/Bwlvh5hDwtLapdSumIVNGxgqLg== - "@esbuild/linux-loong64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.13.tgz#e4a832708e0b47078b91413edcfdb6af88c854a3" integrity sha512-x8KplRu9Y43Px8I9YS+sPBwQ+fw44Mvp2BPVADopKDWz+h3fcj1BvRU58kxb89WObmwKX9sWdtYzepL4Fmx03A== +"@esbuild/linux-loong64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" + integrity sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg== + "@esbuild/linux-loong64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz#d337a6cfb132288ac59e1f028be9b16cf4c7d339" integrity sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA== -"@esbuild/linux-loong64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.7.tgz#b3ce8539cf307b543796530839cf62507d9c7e84" - integrity sha512-5wPUAGclplQrAW7EFr3F84Y/d++7G0KykohaF4p54+iNWhUnMVU8Bh2sxiEOXUy4zKIdpHByMgJ5/Ko6QhtTUw== - "@esbuild/linux-mips64el@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.13.tgz#30d8571b71e0b8bf25fc5ef11422221ed23cdacc" integrity sha512-qhhdWph9FLwD9rVVC/nUf7k2U4NZIA6/mGx0B7+O6PFV0GjmPA2E3zDQ4NUjq9P26E0DeAZy9akH9dYcUBRU7A== +"@esbuild/linux-mips64el@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" + integrity sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg== + "@esbuild/linux-mips64el@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz#cfcb7bcae8fbc91d07c93f3c2e26779ddaa7c738" integrity sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q== -"@esbuild/linux-mips64el@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.7.tgz#7c1c8f3de254b4e975ac2580bba187b87b959256" - integrity sha512-hxzlXtWF6yWfkE/SMTscNiVqLOAn7fOuIF3q/kiZaXxftz1DhZW/HpnTmTTWrzrS7zJWQxHHT4QSxyAj33COmA== - "@esbuild/linux-ppc64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.13.tgz#32a3855d4b79ba1d2b63dab592cb9f0d4a9ba485" integrity sha512-cVWAPKsrRVxI1jCeJHnYSbE3BrEU+pZTZK2gfao9HRxuc+3m4+RLfs3EVEpGLmMKEcWfVCB9wZ3yNxnknutGKQ== +"@esbuild/linux-ppc64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" + integrity sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg== + "@esbuild/linux-ppc64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz#aa2b0fc6ab0dea618f23d13946032d327da7806e" integrity sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA== -"@esbuild/linux-ppc64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.7.tgz#72a00c9788f3ca5df56ecec060d5b92f945c9a2d" - integrity sha512-WM83Dac0LdXty5xPhlOuCD5Egfk1xLND/oRLYeB7Jb/tY4kzFSDgLlq91wYbHua/s03tQGA9iXvyjgymMw62Vw== - "@esbuild/linux-riscv64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.13.tgz#6139202858da8202724d7079102614c269524f34" integrity sha512-Agb7dbRyZWnmPn5Vvf0eyqaEUqSsaIUwwyInu2EoFTaIDRp093QU2M5alUyOooMLkRbD1WvqQNwx08Z/g+SAcQ== +"@esbuild/linux-riscv64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" + integrity sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A== + "@esbuild/linux-riscv64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz#ade24a148fc7ded3a8a042f97a6441beba4f4f96" integrity sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA== -"@esbuild/linux-riscv64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.7.tgz#545fd57e44dc3331a86956889f2a5b42bd116c9b" - integrity sha512-3nkNnNg4Ax6MS/l8O8Ynq2lGEVJYyJ2EoY3PHjNJ4PuZ80EYLMrFTFZ4L/Hc16AxgtXKwmNP9TM0YKNiBzBiJQ== - "@esbuild/linux-s390x@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.13.tgz#df3550a51e4155cde31486e01d8121f078e959ae" integrity sha512-AqRBIrc/+kl08ahliNG+EyU+j41wIzQfwBTKpi80cCDiYvYFPuXjvzZsD9muiu58Isj0RVni9VgC4xK/AnSW4g== +"@esbuild/linux-s390x@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" + integrity sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA== + "@esbuild/linux-s390x@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz#b3c051e15f6fd3f9af801aa2cfe2cad0e069e4ea" integrity sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w== -"@esbuild/linux-s390x@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.7.tgz#a36fd4605904c49310616dd648c0c25a267a19c0" - integrity sha512-3SA/2VJuv0o1uD7zuqxEP+RrAyRxnkGddq0bwHQ98v1KNlzXD/JvxwTO3T6GM5RH6JUd29RTVQTOJfyzMkkppA== - "@esbuild/linux-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.13.tgz#deb7951829ea5930e0d88440aeb5df0756ebb2d0" integrity sha512-S4wn2BimuhPcoArRtVrdHUKIymCCZcYAXQE47kUiX4yrUrEX2/ifn5eKNbZ5c1jJKUlh1gC2ESIN+iw3wQax3g== +"@esbuild/linux-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" + integrity sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA== + "@esbuild/linux-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz#49368780003c0f32fc79738d20404e39429fdc48" integrity sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg== -"@esbuild/linux-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.7.tgz#104f3f8f3f25f1f26b70cee05470974861ca5a5e" - integrity sha512-xi/tbqCqvPIzU+zJVyrpz12xqciTAPMi2fXEWGnapZymoGhuL2GIWIRXg4O2v5BXaYA5TSaiKYE14L0QhUTuQg== - "@esbuild/netbsd-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.13.tgz#8cba08074263862138cc5c63ad7f9640fe3faa69" integrity sha512-2c8JWgfUMlQHTdaR5X3xNMwqOyad8kgeCupuVkdm3QkUOzGREjlTETQsK6oHifocYzDCo9FeKcUwsK356SdR+g== +"@esbuild/netbsd-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" + integrity sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw== + "@esbuild/netbsd-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz#2227e9483c5a861bbecd740e525cd9b17dc01c61" integrity sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q== -"@esbuild/netbsd-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.7.tgz#0fd59fea5e6b94ee82e81b3b389e561efe77b347" - integrity sha512-NUsYbq3B+JdNKn8SXkItFvdes9qTwEoS3aLALtiWciW/ystiCKM20Fgv9XQBOXfhUHyh5CLEeZDXzLOrwBXuCQ== - "@esbuild/openbsd-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.13.tgz#4ae19ac63c665424d248ba5c577618dd7bbcebd5" integrity sha512-Bwh+PmKD/LK+xBjqIpnYnKYj0fIyQJ0YpRxsn0F+WfzvQ2OA+GKDlf8AHosiCns26Q4Dje388jQVwfOBZ1GaFw== +"@esbuild/openbsd-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" + integrity sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg== + "@esbuild/openbsd-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz#6c6d15c9f5797ce5f9c7bd105b867b8fbdc964b7" integrity sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w== -"@esbuild/openbsd-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.7.tgz#c04072a70f31be1bd47204955d2c71ca393c9eb4" - integrity sha512-qjwzsgeve9I8Tbsko2FEkdSk2iiezuNGFgipQxY/736NePXDaDZRodIejYGWOlbYXugdxb0nif5yvypH6lKBmA== - "@esbuild/sunos-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.13.tgz#592caacab6b2c7669cd869b51f66dc354da03fc2" integrity sha512-8wwk6f9XGnhrF94/DBdFM4Xm1JeCyGTCj67r516VS9yvBVQf3Rar54L+XPVDs/oZOokwH+XsktrgkuTMAmjntg== +"@esbuild/sunos-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" + integrity sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw== + "@esbuild/sunos-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz#3ac4275f948653a56d52eca7483f8d683bdd14ca" integrity sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q== -"@esbuild/sunos-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.7.tgz#11c4cd341be1de93cb5e3bf096f3b63ae1497626" - integrity sha512-mFWDz4RoBTzPphTCkM7Kc7Qpa0o/Z01acajR+Ai7LdfKgcP/C6jYOaKwv7nKzD0+MjOT20j7You9g4ozYy1dKQ== - "@esbuild/win32-arm64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.13.tgz#965ebbe889e4221962250c55facaa1e48130c162" integrity sha512-Jmwbp/5ArLCiRAHC33ODfcrlIcbP/exXkOEUVkADNJC4e/so2jm+i8IQFvVX/lA2GWvK3GdgcN0VFfp9YITAbg== +"@esbuild/win32-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" + integrity sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg== + "@esbuild/win32-arm64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz#8d913e77797c00e05922d46b6f74011bb0655bfd" integrity sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw== -"@esbuild/win32-arm64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.7.tgz#95091269394f16352e318124790a3906bf370141" - integrity sha512-m39UmX19RvEIuC8sYZ0M+eQtdXw4IePDSZ78ZQmYyFaXY9krq4YzQCK2XWIJomNLtg4q+W5aXr8bW3AbqWNoVg== - "@esbuild/win32-ia32@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.13.tgz#1b04965bcf340ba4879b452ac32df63216d4c87e" integrity sha512-AX6WjntGjhJHzrPSVvjMD7grxt41koHfAOx6lxLorrpDwwIKKPaGDASPZgvFIZHTbwhOtILW6vAXxYPDsKpDJA== +"@esbuild/win32-ia32@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" + integrity sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g== + "@esbuild/win32-ia32@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz#573b4aa7389d1dc87ab1877a8ee19e2e13ad51b0" integrity sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q== -"@esbuild/win32-ia32@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.7.tgz#2bda285a0b7084a93417472c460b0209bef0c39d" - integrity sha512-1cbzSEZA1fANwmT6rjJ4G1qQXHxCxGIcNYFYR9ctI82/prT38lnwSRZ0i5p/MVXksw9eMlHlet6pGu2/qkXFCg== - "@esbuild/win32-x64@0.16.13": version "0.16.13" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.13.tgz#0b0989cf0e7887cb0f3124e705cee68a694b96dd" integrity sha512-A+U4gM6OOkPS03UgVU08GTpAAAxPsP/8Z4FmneGo4TaVSD99bK9gVJXlqUEPMO/htFXEAht2O6pX4ErtLY5tVg== +"@esbuild/win32-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" + integrity sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw== + "@esbuild/win32-x64@0.16.6": version "0.16.6" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz#26094ac38600cdac049cb320018bc34da9af22c2" integrity sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg== -"@esbuild/win32-x64@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.7.tgz#966ac3fc41758e6843cbd5844b2466bbdc34dada" - integrity sha512-QaQ8IH0JLacfGf5cf0HCCPnQuCTd/dAI257vXBgb/cccKGbH/6pVtI1gwhdAQ0Y48QSpTIFrh9etVyNdZY+zzw== - -"@eslint/eslintrc@^1.3.3": +"@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== @@ -1757,7 +1794,7 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@humanwhocodes/config-array@^0.11.6": +"@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== @@ -3550,14 +3587,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz#098abb4c9354e19f460d57ab18bff1f676a6cff0" - integrity sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA== +"@typescript-eslint/eslint-plugin@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67" + integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ== dependencies: - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/type-utils" "5.46.1" - "@typescript-eslint/utils" "5.46.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/type-utils" "5.48.0" + "@typescript-eslint/utils" "5.48.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3565,72 +3602,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.1.tgz#1fc8e7102c1141eb64276c3b89d70da8c0ba5699" - integrity sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg== +"@typescript-eslint/parser@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba" + integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg== dependencies: - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz#70af8425c79bbc1178b5a63fb51102ddf48e104a" - integrity sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA== +"@typescript-eslint/scope-manager@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf" + integrity sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow== dependencies: - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/visitor-keys" "5.46.1" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/visitor-keys" "5.48.0" -"@typescript-eslint/type-utils@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz#195033e4b30b51b870dfcf2828e88d57b04a11cc" - integrity sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng== +"@typescript-eslint/type-utils@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz#40496dccfdc2daa14a565f8be80ad1ae3882d6d6" + integrity sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g== dependencies: - "@typescript-eslint/typescript-estree" "5.46.1" - "@typescript-eslint/utils" "5.46.1" + "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/utils" "5.48.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" - integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== +"@typescript-eslint/types@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449" + integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw== -"@typescript-eslint/typescript-estree@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz#5358088f98a8f9939355e0996f9c8f41c25eced2" - integrity sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg== +"@typescript-eslint/typescript-estree@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz#a7f04bccb001003405bb5452d43953a382c2fac2" + integrity sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw== dependencies: - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/visitor-keys" "5.46.1" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/visitor-keys" "5.48.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.1.tgz#7da3c934d9fd0eb4002a6bb3429f33298b469b4a" - integrity sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA== +"@typescript-eslint/utils@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.0.tgz#eee926af2733f7156ad8d15e51791e42ce300273" + integrity sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz#126cc6fe3c0f83608b2b125c5d9daced61394242" - integrity sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg== +"@typescript-eslint/visitor-keys@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz#4446d5e7f6cadde7140390c0e284c8702d944904" + integrity sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q== dependencies: - "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/types" "5.48.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3667,10 +3704,10 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.51": - version "6.0.0-6-next.51" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.51.tgz#fef3bd64fac09cd1126846040c1fef1834d99669" - integrity sha512-koDx4VeTXdAz51XAjrNc3cQO/LeyNl3aQHmYGviozMVPly/nXj2XXqVdPfPZZDMtbmtMRJ+ychCkhqrJPN3Vng== +"@verdaccio/ui-theme@6.0.0-6-next.52": + version "6.0.0-6-next.52" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.52.tgz#afffd2c2da1c011162a665a549c6f4d115075ba4" + integrity sha512-fbN7LYp36t17vXiIH7qmEtlNtw4LC7LvGjsUkSYhESlMYx3oCrhZdG1D8H1lvDYpn/aGYYfwUWTHGMCHKqFgLA== "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3927,7 +3964,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.2, ajv@^8.0.0: +ajv@8.11.2: version "8.11.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== @@ -3937,6 +3974,16 @@ ajv@8.11.2, ajv@^8.0.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@8.12.0, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -3947,16 +3994,6 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.11.0, ajv@^8.8.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ansi-colors@4.1.3, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -4190,6 +4227,14 @@ babel-loader@9.1.0: find-cache-dir "^3.3.2" schema-utils "^4.0.0" +babel-loader@9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" + integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== + dependencies: + find-cache-dir "^3.3.2" + schema-utils "^4.0.0" + babel-plugin-istanbul@6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -5147,10 +5192,10 @@ date-format@^4.0.14: resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== -dayjs@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.6.tgz#2e79a226314ec3ec904e3ee1dd5a4f5e5b1c7afb" - integrity sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ== +dayjs@1.11.7: + version "1.11.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -5655,21 +5700,49 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +esbuild-wasm@0.16.14: + version "0.16.14" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" + integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== + esbuild-wasm@0.16.6: version "0.16.6" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.6.tgz#d8666fea52e953043dc33767105bcc450b166580" integrity sha512-neIOUB/4y7QNxhiDSA0j3tju+HXhSMbPMmNH78rlB/vTfJ1v7M8SdvTJgTI+L1ppGUFYu0iJqfLOjC5s9Gzh8g== -esbuild-wasm@0.16.7: - version "0.16.7" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.7.tgz#74d0d386b8fbc9f2b26183833bb7f3b2623725f7" - integrity sha512-cBTKDy9uTJ/2+a6TsYxy9bLzVw9NbWr1cId3FLo/YJUpXYz2W4sSbopigCilUBrG8xXmd1JIXtx1ujhQlIR93A== - esbuild-wasm@^0.16.0: version "0.16.13" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.13.tgz#038c86168a22f05393e0dd3b8047451a6b839413" integrity sha512-TW1pPU7EK3+epIj496qBHPqvAwuGp8Br8yocfk6nez/GjxVx2jyJo6E7kJ0nNEF2XsqWG5/FvnomDHfnmZHsBQ== +esbuild@0.16.14: + version "0.16.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.14.tgz#366249a0a0fd431d3ab706195721ef1014198919" + integrity sha512-6xAn3O6ZZyoxZAEkwfI9hw4cEqSr/o1ViJtnkvImVkblmUN65Md04o0S/7H1WNu1XGf1Cjij/on7VO4psIYjkw== + optionalDependencies: + "@esbuild/android-arm" "0.16.14" + "@esbuild/android-arm64" "0.16.14" + "@esbuild/android-x64" "0.16.14" + "@esbuild/darwin-arm64" "0.16.14" + "@esbuild/darwin-x64" "0.16.14" + "@esbuild/freebsd-arm64" "0.16.14" + "@esbuild/freebsd-x64" "0.16.14" + "@esbuild/linux-arm" "0.16.14" + "@esbuild/linux-arm64" "0.16.14" + "@esbuild/linux-ia32" "0.16.14" + "@esbuild/linux-loong64" "0.16.14" + "@esbuild/linux-mips64el" "0.16.14" + "@esbuild/linux-ppc64" "0.16.14" + "@esbuild/linux-riscv64" "0.16.14" + "@esbuild/linux-s390x" "0.16.14" + "@esbuild/linux-x64" "0.16.14" + "@esbuild/netbsd-x64" "0.16.14" + "@esbuild/openbsd-x64" "0.16.14" + "@esbuild/sunos-x64" "0.16.14" + "@esbuild/win32-arm64" "0.16.14" + "@esbuild/win32-ia32" "0.16.14" + "@esbuild/win32-x64" "0.16.14" + esbuild@0.16.6: version "0.16.6" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.6.tgz#6f8aa19d2d41871f420a701e6df309337f6cb953" @@ -5698,34 +5771,6 @@ esbuild@0.16.6: "@esbuild/win32-ia32" "0.16.6" "@esbuild/win32-x64" "0.16.6" -esbuild@0.16.7: - version "0.16.7" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.7.tgz#3288f685a83c6097dea8ddf1759ca30d6e06535b" - integrity sha512-P6OBFYFSQOGzfApqCeYKqfKRRbCIRsdppTXFo4aAvtiW3o8TTyiIplBvHJI171saPAiy3WlawJHCveJVIOIx1A== - optionalDependencies: - "@esbuild/android-arm" "0.16.7" - "@esbuild/android-arm64" "0.16.7" - "@esbuild/android-x64" "0.16.7" - "@esbuild/darwin-arm64" "0.16.7" - "@esbuild/darwin-x64" "0.16.7" - "@esbuild/freebsd-arm64" "0.16.7" - "@esbuild/freebsd-x64" "0.16.7" - "@esbuild/linux-arm" "0.16.7" - "@esbuild/linux-arm64" "0.16.7" - "@esbuild/linux-ia32" "0.16.7" - "@esbuild/linux-loong64" "0.16.7" - "@esbuild/linux-mips64el" "0.16.7" - "@esbuild/linux-ppc64" "0.16.7" - "@esbuild/linux-riscv64" "0.16.7" - "@esbuild/linux-s390x" "0.16.7" - "@esbuild/linux-x64" "0.16.7" - "@esbuild/netbsd-x64" "0.16.7" - "@esbuild/openbsd-x64" "0.16.7" - "@esbuild/sunos-x64" "0.16.7" - "@esbuild/win32-arm64" "0.16.7" - "@esbuild/win32-ia32" "0.16.7" - "@esbuild/win32-x64" "0.16.7" - esbuild@^0.16.0: version "0.16.13" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.13.tgz#83cd347c28221268bbfa0425db532d7d05f85b48" @@ -5798,10 +5843,10 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== +eslint-config-prettier@8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" + integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -5875,13 +5920,13 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.29.0: - version "8.29.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87" - integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg== +eslint@8.31.0: + version "8.31.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524" + integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA== dependencies: - "@eslint/eslintrc" "^1.3.3" - "@humanwhocodes/config-array" "^0.11.6" + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" @@ -5900,7 +5945,7 @@ eslint@8.29.0: file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" - globals "^13.15.0" + globals "^13.19.0" grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" @@ -6541,7 +6586,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0, globals@^13.19.0: +globals@^13.19.0: version "13.19.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== @@ -6848,10 +6893,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.2.tgz#5816a60db02650f1f22c8b69b928fd6bcd77a236" - integrity sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg== +husky@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" @@ -7530,7 +7575,7 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.1: +json5@^2.1.2, json5@^2.2.1, json5@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -7559,21 +7604,15 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== -jsonwebtoken@8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== +jsonwebtoken@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" + integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== dependencies: jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" + lodash "^4.17.21" ms "^2.1.1" - semver "^5.6.0" + semver "^7.3.8" jsprim@^1.2.2: version "1.4.2" @@ -7965,16 +8004,6 @@ lodash.get@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -7985,36 +8014,11 @@ lodash.isfinite@^3.3.2: resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" integrity sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA== -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - lodash@4, lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -8055,10 +8059,10 @@ lowdb@1.0.0: pify "^3.0.0" steno "^0.4.1" -lru-cache@7.14.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" - integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== +lru-cache@7.14.1, lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.14.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea" + integrity sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA== lru-cache@^5.1.1: version "5.1.1" @@ -8074,11 +8078,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.14.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea" - integrity sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA== - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -8176,11 +8175,6 @@ make-fetch-happen@^11.0.0: socks-proxy-agent "^7.0.0" ssri "^10.0.0" -marked@4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.2.tgz#1d2075ad6cdfe42e651ac221c32d949a26c0672a" - integrity sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -8303,13 +8297,6 @@ minimalistic-assert@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== - dependencies: - brace-expansion "^2.0.1" - minimatch@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" @@ -8317,7 +8304,7 @@ minimatch@5.1.1: dependencies: brace-expansion "^2.0.1" -minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@5.1.2, minimatch@^5.0.1, minimatch@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== @@ -10263,7 +10250,7 @@ sass@1.56.2: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@^1.55.0: +sass@1.57.1, sass@^1.55.0: version "1.57.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5" integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== @@ -10348,13 +10335,6 @@ semver@5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -semver@7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - semver@7.3.8, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@~7.3.0: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" @@ -11529,15 +11509,15 @@ verdaccio-htpasswd@10.5.1: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.18.0: - version "5.18.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.18.0.tgz#4342346c8ad6148596e1e0b3033fceb99ca2ecef" - integrity sha512-z6akeVQS08iXXz0yqi6gMMOoSI2SHocQI+NMMtaVo2MFJaYvhoPSLf66MyXIS3vyCIOu108R6Ncknt0oTIUk1A== +verdaccio@5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.19.0.tgz#823bf2db91d89226133338088e2c343ada771371" + integrity sha512-NibY6AXSedA9eer0T6hh9Jmiu3pFHXkmZ/nJR+r5TeLQkn6fbJJ1rTSj4xnjITSHS5lQk9y4E40PYKN7OgoUHg== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.51" + "@verdaccio/ui-theme" "6.0.0-6-next.52" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.1" @@ -11545,7 +11525,7 @@ verdaccio@5.18.0: compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.6" + dayjs "1.11.7" debug "^4.3.4" envinfo "7.8.1" eslint-import-resolver-node "0.3.6" @@ -11555,15 +11535,14 @@ verdaccio@5.18.0: handlebars "4.7.7" http-errors "2.0.0" js-yaml "4.1.0" - jsonwebtoken "8.5.1" + jsonwebtoken "9.0.0" kleur "4.1.5" lodash "4.17.21" - lru-cache "7.14.0" + lru-cache "7.14.1" lunr-mutable-indexes "2.3.2" - marked "4.2.2" memoizee "0.4.15" mime "3.0.0" - minimatch "5.1.0" + minimatch "5.1.1" mkdirp "1.0.4" mv "2.1.1" pino "6.14.0" @@ -11571,7 +11550,7 @@ verdaccio@5.18.0: prettier-bytes "^1.0.4" pretty-ms "^7.0.1" request "2.88.0" - semver "7.3.7" + semver "7.3.8" validator "13.7.0" verdaccio-audit "10.2.3" verdaccio-htpasswd "10.5.1" From 57a8cb60462d3c03451997328474f83ff05e99f9 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 6 Jan 2023 15:06:29 +0000 Subject: [PATCH 1244/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 1391 +++++++++-------- 8 files changed, 737 insertions(+), 732 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index a90aa23352a3..a4bca10d47ee 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@f7d207b79899e466f312ae4fea2804f7978278ad + - uses: angular/dev-infra/github-actions/branch-manager@ee27e18676602a29b20703051ac303ea6386e54f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index fdcfd8ab1eca..e3086ccffaba 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@f7d207b79899e466f312ae4fea2804f7978278ad + - uses: angular/dev-infra/github-actions/commit-message-based-labels@ee27e18676602a29b20703051ac303ea6386e54f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@f7d207b79899e466f312ae4fea2804f7978278ad + - uses: angular/dev-infra/github-actions/post-approval-changes@ee27e18676602a29b20703051ac303ea6386e54f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index fc4ee0c7eaf2..511da6ba74be 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@f7d207b79899e466f312ae4fea2804f7978278ad + - uses: angular/dev-infra/github-actions/feature-request@ee27e18676602a29b20703051ac303ea6386e54f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 694c4a0bd59d..64a849f49c4c 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@f7d207b79899e466f312ae4fea2804f7978278ad + - uses: angular/dev-infra/github-actions/lock-closed@ee27e18676602a29b20703051ac303ea6386e54f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 386a03d54e44..c7076d567c9e 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.1.0-next.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42", - "@angular/cdk": "15.1.0-next.2", - "@angular/common": "15.1.0-next.3", - "@angular/compiler": "15.1.0-next.3", - "@angular/compiler-cli": "15.1.0-next.3", - "@angular/core": "15.1.0-next.3", - "@angular/forms": "15.1.0-next.3", - "@angular/localize": "15.1.0-next.3", - "@angular/material": "15.1.0-next.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8", - "@angular/platform-browser": "15.1.0-next.3", - "@angular/platform-browser-dynamic": "15.1.0-next.3", - "@angular/platform-server": "15.1.0-next.3", - "@angular/router": "15.1.0-next.3", - "@angular/service-worker": "15.1.0-next.3", + "@angular/animations": "15.1.0-rc.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#940c56c8cce3366b18653352899bc7891b684ea1", + "@angular/cdk": "15.1.0-rc.0", + "@angular/common": "15.1.0-rc.0", + "@angular/compiler": "15.1.0-rc.0", + "@angular/compiler-cli": "15.1.0-rc.0", + "@angular/core": "15.1.0-rc.0", + "@angular/forms": "15.1.0-rc.0", + "@angular/localize": "15.1.0-rc.0", + "@angular/material": "15.1.0-rc.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#079a46ee8578c4ee17d532108295ac1ff4a1a47c", + "@angular/platform-browser": "15.1.0-rc.0", + "@angular/platform-browser-dynamic": "15.1.0-rc.0", + "@angular/platform-server": "15.1.0-rc.0", + "@angular/router": "15.1.0-rc.0", + "@angular/service-worker": "15.1.0-rc.0", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a04ce56c5014..bc043b4e4c6d 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.0-next.3", - "@angular/compiler-cli": "15.1.0-next.3", + "@angular/compiler": "15.1.0-rc.0", + "@angular/compiler-cli": "15.1.0-rc.0", "typescript": "4.9.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 12ad6c02278f..70d4c5485b53 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#e367ab86e0e23659daac3cd0d634414ccf9ffbbd", - "@angular/cdk": "github:angular/cdk-builds#a9e7bae0709a72dc5af01174d3b415ca63eafa8c", - "@angular/common": "github:angular/common-builds#9b976ed0dc619bf106d8d4aa45fe83d8b2f81f42", - "@angular/compiler": "github:angular/compiler-builds#344d813ecb43c4ec25ad316e9f3527beb102fde4", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#721a1b5f6138b8739b50dc8e3678b116744846b7", - "@angular/core": "github:angular/core-builds#02c314afa2d08d048d4a5dca534c53cb31987b13", - "@angular/forms": "github:angular/forms-builds#28445850cb8d3c0e1e2bc9f3cb1a7b4f465d471a", - "@angular/language-service": "github:angular/language-service-builds#56942552f5927f0c4e43f20e5cfdb75542474711", - "@angular/localize": "github:angular/localize-builds#ef95207731d0428a773164727e1c1cb4d3cc2d28", - "@angular/material": "github:angular/material-builds#787f1d442e35960f1b9a1c6cce4ad4d56a1e9bdd", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#d7e190099a32b369fb415ac784f49e065ced7a8e", - "@angular/platform-browser": "github:angular/platform-browser-builds#3b8a4bf463294ec3ce20875d23b4f053c826e38c", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#423c293bbcdd09fe7cdaede510c6a1c2dbfd1477", - "@angular/platform-server": "github:angular/platform-server-builds#5ed32fc76a805b722e4802cd191deee09e009188", - "@angular/router": "github:angular/router-builds#129f0e2ef1be5e920d293ab86d3afa7dea8e7b3b", - "@angular/service-worker": "github:angular/service-worker-builds#752841ea33762860e0d56847272b078211727e53" + "@angular/animations": "github:angular/animations-builds#da275ef5ebbf4ad3a8afe2f5b2a03d06cbd5a21e", + "@angular/cdk": "github:angular/cdk-builds#81ddbac570c776776821d039ad9ccd8f0fd61759", + "@angular/common": "github:angular/common-builds#70dca3677df929dea809f861edc885e1a734cad9", + "@angular/compiler": "github:angular/compiler-builds#7d599beb3bef030ff6a766303c0c25903549c78f", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8e3582d39bd7c5a4ef31b555e844af53a7565365", + "@angular/core": "github:angular/core-builds#538fe7f6b78eadbc1e1019321878df53e5589b2f", + "@angular/forms": "github:angular/forms-builds#3de6473abda2e874be05b7405a5d20dcc590ef35", + "@angular/language-service": "github:angular/language-service-builds#5c1c6d10ee081357753717ed663e1fc65f28b287", + "@angular/localize": "github:angular/localize-builds#b9b0b92149d6d1dacbbaeeceffd4c7a7eb83a100", + "@angular/material": "github:angular/material-builds#8681468d1612f440cce11db707cf49d45aa9cd43", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5995cda0c5f63daf581658b94cf2ab53981d301e", + "@angular/platform-browser": "github:angular/platform-browser-builds#db2ced81a8f9c89576a6b29c6c03b64101c0761f", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#58ccef651fa65ea668982e6562b703b8195aeafe", + "@angular/platform-server": "github:angular/platform-server-builds#6ae958000cd15cd5913e385a4b5e7d19aa60413a", + "@angular/router": "github:angular/router-builds#e36ba787e25f9b352fbe53ca59355fb8e56568cb", + "@angular/service-worker": "github:angular/service-worker-builds#aff602aef0b91e5923d5e68108791f485e8ee97c" } } diff --git a/yarn.lock b/yarn.lock index a109da1ca030..0f02aede0e67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.0-next.3.tgz#228051e88acb0fb71f45a90aa7ca0d3f617b0790" - integrity sha512-EXV4DgjuXgIjQQ7ZLiAf7mPp8iKIa8l5BjIUHLzNVlcTDY04TvHesZIU3bUEV+GoQ/yUkS5SwzTQKDAuIUou+g== +"@angular/animations@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.0-rc.0.tgz#1728eca644f369adf06c48cdd2702f95474b9757" + integrity sha512-F3D/NYC7bvLAk81/NrHpOd/g6qRGW3DaXXr4FvlH9TObBbLwCShYEHw87nNWqMm2x9wE61V0l3G8mUkdUh8ENA== dependencies: tslib "^2.3.0" @@ -119,9 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42": - version "0.0.0-f7d207b79899e466f312ae4fea2804f7978278ad" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0940d31b019e41ca5283c1758d74fd648afd6a42" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#940c56c8cce3366b18653352899bc7891b684ea1": + version "0.0.0-ee27e18676602a29b20703051ac303ea6386e54f" + uid "940c56c8cce3366b18653352899bc7891b684ea1" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#940c56c8cce3366b18653352899bc7891b684ea1" dependencies: "@angular-devkit/build-angular" "15.1.0-next.3" "@angular/benchpress" "0.3.0" @@ -158,28 +159,28 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.1.0-next.2": - version "15.1.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.0-next.2.tgz#2c4134532d1c45f766846ae496b4ebce30147cf6" - integrity sha512-B+Vrq6TG6NinQyjNSpuDcMr8YwIfLp79G+JcMdWRW/DNovMnp8CtdoK/WaVjdVtX3fU68YceVT/5A8poEou9qQ== +"@angular/cdk@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.0-rc.0.tgz#04f55d66c7807375e1757f4cb0be669d9609a059" + integrity sha512-E1s3MKT9OkiFncBI2tEox6iUH0EMzs70qt1CRBo8ls7oD7avW/CJHW18wAVMJoTGQkhBycpg2nW73jU15X69qQ== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.0-next.3.tgz#6c481e3e64fa11bc48770c2033bb72891f6eaa22" - integrity sha512-nisl/pwQzagJXrI+DMxtfksL7f3QeK6S5O32rNRGSdG7y1Q2hG47hyXDmGyK8PcHNF8RLpPEoR8G6zzfJPpaww== +"@angular/common@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.0-rc.0.tgz#0ea6d79bd4e385f16a3d8c2e8c2007312b39abae" + integrity sha512-5t+riZNPSRAxYO7Cfd/HLrfc9pH0psIN85gXMCM/Dt5lWchM3Hc9G5GHpAfBzTcUXPRWT4fNbCHAMlLqaDo3Ug== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.0-next.3.tgz#6f401a91dc85bffa8f45e07d9fdf8f754337ee6f" - integrity sha512-cH9u8rKtrrMMlxL5sBxl32jgZkuBFCZCFwxsckvxDMY6J1vPXKEs1dLKMynpclZKdEFLPSUaOMX0JgCYAldntQ== +"@angular/compiler-cli@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.0-rc.0.tgz#02ec892bbe6184f62542e7ecc5c32807e2c87a15" + integrity sha512-wq77P+2mDVoFv1Y6m0rfhOGkWisET9Go5bF1sjsFxU3aJm/V9QHW/frNVuY4uCmVZT8PTppk3jmZj9SWWS1BPA== dependencies: - "@babel/core" "^7.17.2" + "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" chokidar "^3.0.0" convert-source-map "^1.5.1" @@ -190,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0-next.3.tgz#36d264f1f6dc0e2c9aee62706125e2b8fcc409ab" - integrity sha512-rqeNpr/TQpjP9isFnO5EZVRgGVsXDbji52LTBOnaVvjAL53B1xnCA91YqZspfgX23ka7QjF5mt8CURq5nQTeag== +"@angular/compiler@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0-rc.0.tgz#1a1129f4a8d3bfef2903cc23ef6b8d403d51c67e" + integrity sha512-/0G/tD8hAvPMngPltcUcctlcAUOx4cehnOkaqrkA23INKJSxuaOIJJR2nm8zESxOt0K9uNcPT/JF1rAj3zm3fg== dependencies: tslib "^2.3.0" -"@angular/core@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.0-next.3.tgz#6dbab537c4f3293b165aa7c932d52464c83e11f0" - integrity sha512-fZGhEMFf3F1z1BcVSY/Va03JvPhQGySWPZ19Xh+DmZ5tjrTRk9ARt4A1Xi3R74aTLS/auOWlNwojhFvM+edczQ== +"@angular/core@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.0-rc.0.tgz#d98d2b16cc5a334cea42edc80e2d5136690f25eb" + integrity sha512-uYHEGkgLNYXPEoS76HMPZpHH43zyPdI6192pNX2PU6SAWbjIhaNAY6n+zm+fr+pgEPmF1IESzAw6WAE28kiZxw== dependencies: tslib "^2.3.0" @@ -211,117 +212,118 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.0-next.3.tgz#8587bfdccd0559d62cf53603d18791dca090e405" - integrity sha512-xJ49EeZsGIn2hC0ND4n/UfUMp0P8vgWwogvpwkRDm/ql7pavxfN/Xoab8jJ0Vm1N7md/8ubeM7mEdtWFtTJdqQ== +"@angular/forms@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.0-rc.0.tgz#3fdce345c21e442cf055836071129734809ae318" + integrity sha512-2DjoIBLPDA3VO5hptbjtGkNsnDwYbDfLWomBN3eOHaHXCTP312wSv8+vlkMiS0BS/C+gT7plTa6oVLyqqNiyNw== dependencies: tslib "^2.3.0" -"@angular/localize@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.1.0-next.3.tgz#56e7a025e253e3c2849d89f32278ebc02b9690b8" - integrity sha512-aXCffOMn8A++2XmJvz4qrFyFgVqD4u3GGFJ2Op5uCwH0D1algbCKCToJqHHwZS5bjmfgJyHqfvh+JWKlph17fg== +"@angular/localize@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.1.0-rc.0.tgz#b294d8e00884c4760bf5a030f49a1a3c8fa9cfa8" + integrity sha512-mQI71Z+MfCaK6wT/NgWGSF80tVhTB/S5TtUfRcPLjyWC0rT86Vf5/xYmiHisjeiSlXOyrtUVptJyDWlo2q3zMg== dependencies: "@babel/core" "7.19.3" glob "8.0.3" yargs "^17.2.1" -"@angular/material@15.1.0-next.2": - version "15.1.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.0-next.2.tgz#3da45308d7dcbb4e8dad78c4a4b805d5edd218e8" - integrity sha512-ntvSjQj6eVXpxcJWzKWApwRngb2tLHN4wWH5VhlzavUfH/94FS585yqG2d+2/Rm+d4K7lZMItESnxrxTa70aNQ== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/auto-init" "15.0.0-canary.7971d6ad5.0" - "@material/banner" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/button" "15.0.0-canary.7971d6ad5.0" - "@material/card" "15.0.0-canary.7971d6ad5.0" - "@material/checkbox" "15.0.0-canary.7971d6ad5.0" - "@material/chips" "15.0.0-canary.7971d6ad5.0" - "@material/circular-progress" "15.0.0-canary.7971d6ad5.0" - "@material/data-table" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dialog" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/drawer" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/fab" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/floating-label" "15.0.0-canary.7971d6ad5.0" - "@material/form-field" "15.0.0-canary.7971d6ad5.0" - "@material/icon-button" "15.0.0-canary.7971d6ad5.0" - "@material/image-list" "15.0.0-canary.7971d6ad5.0" - "@material/layout-grid" "15.0.0-canary.7971d6ad5.0" - "@material/line-ripple" "15.0.0-canary.7971d6ad5.0" - "@material/linear-progress" "15.0.0-canary.7971d6ad5.0" - "@material/list" "15.0.0-canary.7971d6ad5.0" - "@material/menu" "15.0.0-canary.7971d6ad5.0" - "@material/menu-surface" "15.0.0-canary.7971d6ad5.0" - "@material/notched-outline" "15.0.0-canary.7971d6ad5.0" - "@material/radio" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/segmented-button" "15.0.0-canary.7971d6ad5.0" - "@material/select" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/slider" "15.0.0-canary.7971d6ad5.0" - "@material/snackbar" "15.0.0-canary.7971d6ad5.0" - "@material/switch" "15.0.0-canary.7971d6ad5.0" - "@material/tab" "15.0.0-canary.7971d6ad5.0" - "@material/tab-bar" "15.0.0-canary.7971d6ad5.0" - "@material/tab-indicator" "15.0.0-canary.7971d6ad5.0" - "@material/tab-scroller" "15.0.0-canary.7971d6ad5.0" - "@material/textfield" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tooltip" "15.0.0-canary.7971d6ad5.0" - "@material/top-app-bar" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@angular/material@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.0-rc.0.tgz#c0e85a3a08ed74a78d3045e418c18ff795785122" + integrity sha512-ZCNr5Bj3KC4pNBXKx3l9X77Mfxz91tci1SqVvEZ1BtCP2XC8OvhYhxhXOOcJVsXv3KaaIBmrIZa7p0vTfvw9ow== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/auto-init" "15.0.0-canary.fd95ca7ef.0" + "@material/banner" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/button" "15.0.0-canary.fd95ca7ef.0" + "@material/card" "15.0.0-canary.fd95ca7ef.0" + "@material/checkbox" "15.0.0-canary.fd95ca7ef.0" + "@material/chips" "15.0.0-canary.fd95ca7ef.0" + "@material/circular-progress" "15.0.0-canary.fd95ca7ef.0" + "@material/data-table" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dialog" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/drawer" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/fab" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" + "@material/form-field" "15.0.0-canary.fd95ca7ef.0" + "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" + "@material/image-list" "15.0.0-canary.fd95ca7ef.0" + "@material/layout-grid" "15.0.0-canary.fd95ca7ef.0" + "@material/line-ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/linear-progress" "15.0.0-canary.fd95ca7ef.0" + "@material/list" "15.0.0-canary.fd95ca7ef.0" + "@material/menu" "15.0.0-canary.fd95ca7ef.0" + "@material/menu-surface" "15.0.0-canary.fd95ca7ef.0" + "@material/notched-outline" "15.0.0-canary.fd95ca7ef.0" + "@material/radio" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/segmented-button" "15.0.0-canary.fd95ca7ef.0" + "@material/select" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/slider" "15.0.0-canary.fd95ca7ef.0" + "@material/snackbar" "15.0.0-canary.fd95ca7ef.0" + "@material/switch" "15.0.0-canary.fd95ca7ef.0" + "@material/tab" "15.0.0-canary.fd95ca7ef.0" + "@material/tab-bar" "15.0.0-canary.fd95ca7ef.0" + "@material/tab-indicator" "15.0.0-canary.fd95ca7ef.0" + "@material/tab-scroller" "15.0.0-canary.fd95ca7ef.0" + "@material/textfield" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tooltip" "15.0.0-canary.fd95ca7ef.0" + "@material/top-app-bar" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8": - version "0.0.0-f7d207b79899e466f312ae4fea2804f7978278ad" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9dccce65ac86e8bb222f600d978b713f8e19c2f8" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#079a46ee8578c4ee17d532108295ac1ff4a1a47c": + version "0.0.0-ee27e18676602a29b20703051ac303ea6386e54f" + uid "079a46ee8578c4ee17d532108295ac1ff4a1a47c" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#079a46ee8578c4ee17d532108295ac1ff4a1a47c" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" -"@angular/platform-browser-dynamic@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.0-next.3.tgz#7e941485e8cc574058849aae83bb8855e5fa995b" - integrity sha512-jRzSw8L0DIaatmCi3jb7igqS30D0zUaALpqYXGD6Scnw4svcfUowqEJf18vOn+AnV08EX039ck2+yEuKEoMmPQ== +"@angular/platform-browser-dynamic@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.0-rc.0.tgz#afa2787549fc83a33b382b5219c5779f705976e6" + integrity sha512-+fU/wqjpbB1JhElolAWh8P5nWW5OVJXUuXVxHdd+2KBPfc6IxgXbQhb+NsaUz21/DETsoZLvP6MJ6g2bDSRGQA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.0-next.3.tgz#08322cf2d05af751fafe238ae89e7a98ce484e37" - integrity sha512-cwcwE3mJf3LDxBZWAGnDUOJ4okMfSCz+Ndv1+b2TQz6TzsqL/FPYzX5tq/GCtUtW5by3IdFZ+cubUYnzUBM5PA== +"@angular/platform-browser@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.0-rc.0.tgz#8f2a1067e2eebcc009b41ec75b5874085caec7a2" + integrity sha512-9RGR2vTOu3EqbXCHdlpNj6GWqJpgMCd+Icdq2kM1wASNDUh8Ynn0IQZnrfHD+dRLJkpeDimGlbiLBcHWGch3Pg== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.1.0-next.3.tgz#21900b1b64c88582ecb755cda542f1b3e93688cb" - integrity sha512-Nly4W9CAr7xtg2vZUBP5pVoIZQOLFDBj4zGgoa2moBa/SVY+/3u9VCC5EQVmywx7cdms8rwgQIrdK4YnOaT3Tw== +"@angular/platform-server@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.1.0-rc.0.tgz#99951c077689d0164b7f17cc281025aeaa67d4ce" + integrity sha512-XGliND5dvg0pLZLBoKZlfZW+x86VOG+DDMh2YVP8kvziPuZ5hSTE3E6VxT90/DA/uWbuhkzQ+8fiVmb9aqvBRQ== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.1.0-next.3.tgz#b7f5f8746abb68c0888684b5fa504e2c4f57e213" - integrity sha512-HfHSGtkct5rmsKmX64BDijQpVfJrOymmfuqab2YX0FuIrCBfEogv6jJMZP+l3mKtM4pyIWmQQPFi2Osab5OffA== +"@angular/router@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.1.0-rc.0.tgz#5c320dd4f5d27fb22a78a0ad6e30e295016e66d5" + integrity sha512-1TxWmraSmrLeu6usVEwHTAlJUrtdJprCqeGXL5v8sajBklhpDhB9x776KxbFYmYFWJXUd596EwBFkXS3Lbx68A== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.1.0-next.3.tgz#958ee540f916a3a9063cd08c11a8978db3bfcec0" - integrity sha512-Jd10RAFkeda2QtVB0Y48ntZ8WJUcrJQhk/EVNZf8frW4+1HBBfebcAmdeqn7mOTJszO0vmx8Qz37DGagnDVfWA== +"@angular/service-worker@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.1.0-rc.0.tgz#bbe6c8a3535edbe54b96cf7e2cd748a6106f91fa" + integrity sha512-cUgA85q+4sC5BSN5SVM0J7OmWUBqr4Cv947GMqOj6sIoxfdgKaC468H/6LvNVZFWBwmLlCPjAnbWHWbe0SJ73w== dependencies: tslib "^2.3.0" @@ -405,7 +407,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.17.2": +"@babel/core@^7.12.3", "@babel/core@^7.16.0": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== @@ -1903,702 +1905,705 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@material/animation@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.7971d6ad5.0.tgz#055a797de6ef0868cc518083eac7a9fb1ed8c1cb" - integrity sha512-nOCOgzp/Vdgloyw/SjFCEtpcxXWtXUjvX+JCVg7o+EEtaGLBQdgjJUj5lt+RQ6e9r0eiMYKJ6l1+1TGGebsIfA== +"@material/animation@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.fd95ca7ef.0.tgz#93cdf4849fd32749b66dae6a1335dc00b9cd7633" + integrity sha512-zMUnqghXPj65NpEHw7n70qZ2Epaue7Y/aue+EWrWYiaQo5a0zxNttYyc5XTw0KOqfHyB9Yz4wO9BTQDCKWSWtg== dependencies: tslib "^2.1.0" -"@material/auto-init@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.7971d6ad5.0.tgz#1b143e55937e6116fef8ee20c339104d95f58500" - integrity sha512-JmST/NkQpdJ1+nyAU8qbV1eRXbOwvpaTRy096Y5mOK1CeUsagUyrKkCeLsO56pmvayxnOIkJCOhH/8gzIsmiJA== +"@material/auto-init@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.fd95ca7ef.0.tgz#0d095d79c27b7a557e3a1fee3099e01862536b59" + integrity sha512-CrsCatcRWu6MbZZ83wcA2e591ag2mrqbFg8lioAkOU/XypGRgObVH7mK/Jih0LTHsZrvjIq3MNJZirkpZifb2g== dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/banner@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.7971d6ad5.0.tgz#0410720a25f801e34461dcfcdca1f46715aea7bd" - integrity sha512-OA23YGt9qTz5i+FdGgk4QpRkmby/w+k12YMlL7u+TmwWIiGom2AaOy/DbBCr2/uNJEJ6o0h+wcNBEmGe7bJutw== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/button" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/banner@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.fd95ca7ef.0.tgz#ceec800c2ab22bb8429b2202f5466bafb298b707" + integrity sha512-lplDzQjQGbImfr+IYkO0USpgDsWx/vk0e6qg71jwd23m75NOZG6Pv0U1gtL2LLVr4hgedbLq/gqKSilsZkKxZQ== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/button" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/base@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.7971d6ad5.0.tgz#d467a79a81dc329edbf6cc4d5bf177caac8cfca0" - integrity sha512-wXgoWl8NG4BZ2U8MCg4BLQLNla3IdyxBJIMSsJ1qvP2YswmG9HXTkS8y9mHTAhzzQEFQtlwDOyp4Ntq2Ep4WZA== +"@material/base@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.fd95ca7ef.0.tgz#f790c5687b45b4477bd6f456c3e7013003182048" + integrity sha512-pIdMbChPElwv8bsyKvd4yY1lVbpD7RJfzfPhzI6Rpud01+fAYSon3K0oTruZgMR9nRLVC83qEPFlWXGXRLvY1w== dependencies: tslib "^2.1.0" -"@material/button@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.7971d6ad5.0.tgz#98462efdc38e862e8a1c137b4c14da434d411ba6" - integrity sha512-lyV4unJUG/onzNSLL5TjTGJxscBReG6+lNBvGSfgCafW2bfHW278BbqPDbPr52ONe6vg5INptZJ6bZx4FStGIQ== - dependencies: - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/button@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.fd95ca7ef.0.tgz#0dfa2366bc8043c35d807866ea16984f3a86095b" + integrity sha512-EG32mxhJZmiWJAvQ1CFsAd95NQfbxFNnmRIphNfvER3koy+zEKVB7CjVAXK3XCptlvSfbn5384qfAJKYsK9HsA== + dependencies: + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/card@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.7971d6ad5.0.tgz#9656b5f76f1a06833dc36b5ca955dfb4ee1a8b3f" - integrity sha512-0YNba4Keg+a0U4JK+siLDbTyO13s40hm88kX7uQ46SmsQlY3fbMsdOpX9+y/PaOkOXIJIgX6g+c7ASM7c/6Zyw== - dependencies: - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" +"@material/card@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.fd95ca7ef.0.tgz#ff6e44803822bb6a8d5ddaf0bb8575efa14e4fcb" + integrity sha512-t+fe6ICrFzY681+qGUwHrzHGv44Hn4xldv7VCQW7jxzqvz3pa/w3deDYnVdrzLVHLntzvuTbvJEzcqmC53vQFA== + dependencies: + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/checkbox@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.7971d6ad5.0.tgz#3c82738ce8c1f36cee645a6aaeca8c71dc3bc004" - integrity sha512-RSFJhMtU28BhXWyQHMrThqkGMtYb16JOuKkZ54bc1AzIndQnniQoGpkb5tHx1hOCGhOUyAGVh/w8BHczWRsLbw== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" +"@material/checkbox@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.fd95ca7ef.0.tgz#06db6af302832c1b4a13aced4d7847db9300ddcb" + integrity sha512-UPxRSildKAqnucLpB4Oh2KdAYeypjzveFFPMkWY3d/p7W6bgTmMg249jLAIFrcudBjPgrMem6J7DPBMiicud4A== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/chips@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.7971d6ad5.0.tgz#6e3a47bcff2dbfe1b635d3c1f9b6cd4af45af3ae" - integrity sha512-W8e90cxnERoP/OvsYSSkjP/HEeogYH1YJVBemKfTOQyAAMh3DmetBGdO6Gdf65/Jt7iYrvab5IPn0D7DWoMZlQ== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/checkbox" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/chips@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.fd95ca7ef.0.tgz#62e83fef59b65651a94e94ed1f60511802988934" + integrity sha512-M7bfcCicB58k9nSvIlsR0FYM5ahhwh25IK1ybVKWBvtCDD4dyXVgeIc+e+u9E/i8e2KVzCMclwX1P6xocHJx7w== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/checkbox" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/circular-progress@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.7971d6ad5.0.tgz#28c2cb45c8c1bfd26fb99baefee70922400ae2bf" - integrity sha512-dE66rFNI9T2khLejoTyONQZqnHjUXsmdzDx1lI3qO918gtdkwdBVWvFm0U7+1VdHAB9sjP4o+mVL/3rNss2Jtg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/progress-indicator" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" +"@material/circular-progress@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.fd95ca7ef.0.tgz#7229ef2486cb3f755ef01e2c7098af94ea458855" + integrity sha512-lsM+X5cnvvrqsdsVoxl4lySShw9w6CK7Q55VGfR2Pwd7oqid4bZX1uOOgpz7WHUxT4AOJ6PX/iHDClueEx8lrA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/progress-indicator" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/data-table@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.7971d6ad5.0.tgz#8d908e93cc02000d5f8f05b2f1981d9d7a63dbc8" - integrity sha512-JIg3GqnWGoiP5OXRkM7xjpoYIcal3a2vcvx8qUBK8rJZUXXShMcrFD8bpoEK+VIo7NXp5oR3baR3g063sTmv7g== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/checkbox" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/icon-button" "15.0.0-canary.7971d6ad5.0" - "@material/linear-progress" "15.0.0-canary.7971d6ad5.0" - "@material/list" "15.0.0-canary.7971d6ad5.0" - "@material/menu" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/select" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/data-table@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.fd95ca7ef.0.tgz#a6b70fad1654b9e3761849fc174cd815893dcb8d" + integrity sha512-eg2ohraF8LLva1rAWrJ6R5Ei06k7tp1azewL46rtRulJGjBJHCUfkstfxx21S/PdX7CsPyWwPoWDCxgk2zo1Sw== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/checkbox" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" + "@material/linear-progress" "15.0.0-canary.fd95ca7ef.0" + "@material/list" "15.0.0-canary.fd95ca7ef.0" + "@material/menu" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/select" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/density@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.7971d6ad5.0.tgz#049319a0597296d54a3b3de97431d3df09148fbb" - integrity sha512-JfRRdyewKuVGDLTxm0Bn/5MFgkPHo5fZ0JU6kCqI+SdOER/ceRti6xJtNfgV/lBPqstftARcKv116nQRy2085Q== +"@material/density@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.fd95ca7ef.0.tgz#f48101678b27ec64170557d6d5e29a6d53156cc6" + integrity sha512-3scwdXi0xIVL6CZSGVWTxg935zomwMlqEBt0/BdxG96YJ0p+G0Rxb6TVfuzld/isD9Fx8XufV+wNkx0riZ30Vg== dependencies: tslib "^2.1.0" -"@material/dialog@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.7971d6ad5.0.tgz#673aead99599b9770ce6c2ba78a6d30ff3606823" - integrity sha512-P7+nNN1YdPISSOIECyECiYNcmAJn4ezogpkcGkGBKc0KZAzG47Y1prgLNFaHat5mE20GjLL50M7T4SU7F64dqA== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/button" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/icon-button" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/dialog@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.fd95ca7ef.0.tgz#6ebe0a953adf1fdce211644c2faa66df371978c5" + integrity sha512-szjN6QewCVN3ucnZSjfolDlUZdk5smmNRhX4RnF/OTF/6n41D3iHFTVNws10idWzBC3zZX1L9ZY910nsYy5xHA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/button" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/dom@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.7971d6ad5.0.tgz#43dd17a18c12c6cfee62b0712c58d70075b4ae24" - integrity sha512-h+KV0egRy7zniZElzDW5duh/VDZUTO9SmMeC8FFiqJMvPe3V8xcH0zB+jL67hueLqFixSSJebbdXMbVce4nwOA== +"@material/dom@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.fd95ca7ef.0.tgz#443a73780d4b2eeb6f3f9406fc98fe0f49974dc8" + integrity sha512-+JjOY81x3d3TlwCztSr4BRxUeEHcg5kwtlbT9Zy/UgdqNStrlTCMeTzRyLNifFnztFzoaWIc6MtF3rLelA/k6Q== dependencies: - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/drawer@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.7971d6ad5.0.tgz#420fa2a50b39770c0c3b9770434648282fb5aae1" - integrity sha512-LYuriNp3lecXXIj3lK22z0ym5bGHHIturofEV60BK9uHi4baBWS/ovTPAw5T8YvpADv5kyidg4mkgkPY9Ydexg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/list" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/drawer@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.fd95ca7ef.0.tgz#898286feda2430a31eb4b13737791bc09dc7649a" + integrity sha512-cRSHHU03Q502iJr0iEQFYEhdsIC+Gms43qXmAnjLFUs1EPDxlf/tKiJnvQX6QI03Z5PBoiArCRFjd3/uTvp2KA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/list" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/elevation@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.7971d6ad5.0.tgz#2a124a952c0ae5962a9428c2a8412961be247819" - integrity sha512-M9SZKJI5wjbOwq0o8eknDrI27YE63wLg8qJHLvJWrWXdlm6yN0INilihExzmGHXpVHQ6sUdI4oyoAx1qr+vorQ== +"@material/elevation@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.fd95ca7ef.0.tgz#ca703ef393c205fbc6134a21bb715cf494ab0622" + integrity sha512-16UkRgq3weby4XaUnL1sUNdRnHgcqBEzCH8bF3JdrrnwqdH/PW74oH+MsXEVctbEsIR8s6rzldcD/0Wqlr/gnQ== dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/fab@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.7971d6ad5.0.tgz#5aa91c4c058655259ecf03122927cf85b5384f3a" - integrity sha512-G58ZFK7M9r9xkLFP0Gufh1VKdcvRcTvYwEjBuG3+XOMDMjFzCDEMY4c54RG+tbwIiHmB8lw1Yl/dN3kFVc3kTA== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/fab@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.fd95ca7ef.0.tgz#0cbc83289e1ee3729f09cf584bd0823f9baee236" + integrity sha512-f6RiL76LnjNchF8FscPVOwx/q7QL8pmE+He0oT/OWWF0BK88V7ZOjNgItR1dJAXvl0fkh9LssPNkmxtHubH79Q== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/feature-targeting@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.7971d6ad5.0.tgz#9762b6882da5947cf793f8b694455d17ba2ae16a" - integrity sha512-xH8pdvB5oKO6OTY61vEs44eQJQY3GTobpzaxp+CIBH0UMobSl5KFee+j7MxpEbTkRGtMqWkzAA+vviT8hvmH+A== +"@material/feature-targeting@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.fd95ca7ef.0.tgz#9233fe549eeb28a32614845e2ca65cebb966cc49" + integrity sha512-Mv1BXAOhbkvwFYPU2DdiVe45Sy5JKgU5aHdkKzOu5LwyirejwvsDMnmqt22no2Q6qbh0vYeAwpdMEUWUt5JvYg== dependencies: tslib "^2.1.0" -"@material/floating-label@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.7971d6ad5.0.tgz#8d7153e225df7807b9f26a9ab755a8d9c3841a69" - integrity sha512-Tjv2xnYr+VvsojRbRBVVmjxmut/y4hJrRCBMjU1982cTUYQlfqMaM7BUObt49jwRBKDLr2NjM+fwNIo0//YItA== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/floating-label@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.fd95ca7ef.0.tgz#d1232a30d8a2d934f9d7e7a3a1b0a531df0d703a" + integrity sha512-/kJMw+HJHza7BDzfqOMTmKK1MLeN3rD5tv0O+sM9zPlgsVNWIXDjQp/nWP+muqoxY4VZary9WPkz9gq0HMkKbg== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/focus-ring@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.7971d6ad5.0.tgz#becff920923ce45a35b8d08274aa37eef2634519" - integrity sha512-xutZrHnrfnKftU3HUS9em8wO5Nb4zbnRrwDCGi3xnFR7bFP4u2J2ZUnVpO+RZfjr3A9l8chDavlFCL5HMfzt4A== - dependencies: - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - -"@material/form-field@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.7971d6ad5.0.tgz#13514b99c5afec61cda40487473461b3124f2585" - integrity sha512-N0UnlZ7j3GT4DGmMgJYMl9etOh7rsQjCjRRATWSnuAel+ir4a5HvLj9xQUyp0tlYuu9ZizB8ZOwbAz/XCiU94Q== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/focus-ring@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.fd95ca7ef.0.tgz#1e6532bcf7161bb444d3ad5e40decc538d708879" + integrity sha512-xhpcqd70vSgUZFZJ2RHKoJkvEKhtg9sOehkd+MRRmm0JmDPSPFcJHEzRB1B99XVDhNWhculbMYH7Gtw+yu6C/g== + dependencies: + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + +"@material/form-field@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.fd95ca7ef.0.tgz#d950cecf861af80e15cb965efdfb8032db89df35" + integrity sha512-sWXmwxjfihJbv+O43dseY5Tp/i5IAa9l7D2W6guqavrdkUvUgPO4sHXqyBpd3IGaUgtI0wxgWc7kdShbjeyblw== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/icon-button@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.7971d6ad5.0.tgz#773ec7e504a1532d8b9c6d7500e9fe2c0b2f8d08" - integrity sha512-BT+tHdRviY1o/yBgtX5NxfS7LfQtQSf7DiZfgP9eExSU5fDA6AfqJfZHyJdLmJCtFZbzlxJ0PBmt44NSlI2/DA== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" +"@material/icon-button@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.fd95ca7ef.0.tgz#425d52a4353c679e6b328351da485e33a3c30f00" + integrity sha512-cMFLVP2QruX4deWrVZ0YuQoykY1gIHcijgkJdzuwCSLhsWPvdEeNTWEifz1mVchIJdZNqLbTtYpevM+gSH6Fxg== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/image-list@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.7971d6ad5.0.tgz#b6553f4cec4864091469e94b251a8cfa7f5afb99" - integrity sha512-FrBosWy9VnqWYDR8XkQPt8cE6MPNq5g7oEvULImmqjRxhktTJCPfDZSWHpjLpAvU0quYZZprPDRrwM3qw69z/A== +"@material/image-list@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.fd95ca7ef.0.tgz#1822f7cba658fe5a451a29406f7c5cafaae6cd14" + integrity sha512-wd+9m5crO7xBoi8/n6OknGA0KiwxDhPAX8dvkc6dM2plSUwa4HNKfjHQiBPaGCiHsO6v5MWZg2uYSheh2Mgw/w== dependencies: - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/layout-grid@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.7971d6ad5.0.tgz#068a93b5c108eaabd1a3f520bb15626a977a186b" - integrity sha512-H4KEhaGaIuGHd3jKJqaoZkynJjqfyti4QhG6wiTt774Lv4Uri1+ZBxQ8FAFShEvETM2pfBy4mEECi/+M4V2ZTA== +"@material/layout-grid@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.fd95ca7ef.0.tgz#8a64e5a223590f50f37c02b0a62e01f7d7396eeb" + integrity sha512-ye2uJ9bjzl1YUwWsuy7OyQagYs0f+RbRC/EMX4Q8TJyk3FnVdqhDBsKcIjPB4ncx7KGG3QW62/MQlqFehx09lw== dependencies: tslib "^2.1.0" -"@material/line-ripple@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.7971d6ad5.0.tgz#9c321fe5327f33298dd7ec9d77a5782ca3c5bbef" - integrity sha512-f4tcd82xu1OT0wAVT/kHiWDmJy9fRt9QA5b+v81fTSVFK41mYpxy8jIQ5gdoIvY/0BWLh4HzUejG6j98AkyLEQ== +"@material/line-ripple@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.fd95ca7ef.0.tgz#bcfb1bb4061f2dfb52cdcf242d1963470db81fd9" + integrity sha512-a5pmIjv0p7v85xNkbXCJFnQqrWVHucyCmXTVj5iJlR1vsqyUR6WN3vJ6F7yFJOhDMEYXZlqSvcTbZCTibR62IQ== dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/linear-progress@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.7971d6ad5.0.tgz#292f8c424c6d3fc51f9640582e848f59e63f1c86" - integrity sha512-3HlEEPv+RrtGPxq06QzCOAZoNJ8q6UtOOkRxh+buQy1F+Uv0n4BdmvUYsHZaSTn+kSlFMzIKDtRjUG2i7b4/hg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/progress-indicator" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" +"@material/linear-progress@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.fd95ca7ef.0.tgz#43ca1ddd567762f2431e0e244aab89a35fe571f7" + integrity sha512-Qxjhnia8Yy4VgJlLJgcUD1rcItAmyCYELQxrHhyB0mzmAYwYWgMGoDb+mWqHHKTWXPT1gsJHVmJ9bDq2ZH0JNA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/progress-indicator" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/list@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.7971d6ad5.0.tgz#b8c033367d0bf9cc86483dc17078f83e6af6335a" - integrity sha512-rYg3cM41MJTSNoFOj8IzF1CpPFK9DDlTFMbERFakRHB1QsfnebxkuoAyI8j5G/pDdvkeAmDbz4tbKK8yJdifRw== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/list@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.fd95ca7ef.0.tgz#08532265403c3b3d63040d31d9023d04c359e75c" + integrity sha512-/MqMEidpTA/RSzdUirDSxp0BdUM3D8I1D79EXTopjLROtuqU3rKAGIuXfZopPV7t0j3vBXBLW3cv96iEAkN/pw== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/menu-surface@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.7971d6ad5.0.tgz#f0e54b74d8ee9ab1ce158621ab1af71b262c1d02" - integrity sha512-7sRmwY7+a3gB5GM6Vl0sZzVVW3iu6QNW79vRias6nZKJMXbE/JDWnhcgkl9QkxvUolBIJ0y1ChgZyntO8Val/g== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" +"@material/menu-surface@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.fd95ca7ef.0.tgz#d3f6ab85a2f872ee78b4843ff897c26f25325270" + integrity sha512-6jLY+JCcfGJKTEOKLztyp5VW1Y0Hnj6mkei6poAIZfRO6TTRE4qsdm5Yrlpo3XyRITBZYjS3M7jwz0n2naDMzQ== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/menu@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.7971d6ad5.0.tgz#6ed4880637d14cedef684a615ed2ac2f2dca4705" - integrity sha512-Xa+tXk8kMFMhdOYrIre1ye4L23i4LzEn48FN398742m1K/VY/IxAuslyQ5CmX77CxkOqbQFqwUarUTod0rEwjw== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/list" "15.0.0-canary.7971d6ad5.0" - "@material/menu-surface" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" +"@material/menu@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.fd95ca7ef.0.tgz#0f6f6ff7fda017c493716b0b8488e8ed14fd2458" + integrity sha512-mJ7RNZxUeHnlv/XKwOOGbyekU0blKhUo/0d0mDHi0//VVsjZbiD1wbL2lgtQoUUwvwMxtrDE0v0/OF0AQ1unqg== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/list" "15.0.0-canary.fd95ca7ef.0" + "@material/menu-surface" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/notched-outline@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.7971d6ad5.0.tgz#79de44d8d960cdf2c50fc8937e421ec336020132" - integrity sha512-kMUDUqZ7ztvnwqCENZukztyA0oGZhY/mqd/WIaqRhIU58Q2mnDM6Vfd9fifeM61rIMnXHER2fvjjFzim50mw4g== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/floating-label" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" +"@material/notched-outline@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.fd95ca7ef.0.tgz#495eee716e3045154725c8cbc951acf9cf2338bb" + integrity sha512-pZbDnLBNPIi/2zHzrjx92wmW77mibBrEZMyEa2ir6WfeumJY4fEgfRYiixfvwg7qBDoCAz9eNxA2aPO4ngJ0Jw== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/progress-indicator@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.7971d6ad5.0.tgz#d4e4c206481f352fd49d952053a3e85546d6f585" - integrity sha512-CRQAM2C1weVKVr8rQeQTrOISmTupXw+l9sfpdIx8tQ14fOebZFcEbW9LRRvDAMmUNZF6W6pwL74+zk46DYIKBg== +"@material/progress-indicator@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.fd95ca7ef.0.tgz#1580821946b8be279c42b117be4e51fbc4b7f06b" + integrity sha512-BrQ3ngFdf6Ig/lpuqAMKwOvjHXy4uiIij45ASFgF0RbVphSdKmzuZVgDZoibcCL4kbhP5CGc5G8kbpOIdmWXHA== dependencies: tslib "^2.1.0" -"@material/radio@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.7971d6ad5.0.tgz#ca1c65484e8cf113a919e26c332accfa2fdd30a2" - integrity sha512-wpiLuHQtpMb846SSYvG2NQJl/wUi1NbVlCV+uGHSv5LFnbe10e537KFpjtjaDi/Y6e42bUxj8njN5cEZ3NfBUg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" +"@material/radio@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.fd95ca7ef.0.tgz#ac54c044a07c1bca1ab4974d53f86bd46b154e7f" + integrity sha512-DY0ypAxKpCBtZ2C79iPOvnXZc25OdRtc8qEHHydvNnzm1OJv56vPUvOBVhxFZj5xr4OWcAMwLZF+HiGGwZ1HgA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/ripple@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.7971d6ad5.0.tgz#5678c09a2e17043f5d7c8f04b105f60ec53c79c9" - integrity sha512-S9S8260lwHreEgvOqg3EM0DF0y8ThuN9fFPVb+cCOAPzCn4Z2tO1pcvPfAmY8yZA7QIx9c5pt6Ci+q44LzPEYA== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" +"@material/ripple@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.fd95ca7ef.0.tgz#1ece70194e53cd1f50c00ad5081a3f2abc9343a6" + integrity sha512-md5MGooh3z4NnMXUuFtmiuJk30+MEm9Qns40qus7MUFQDVJ8/nLefwp3HgJQvxkwIB6WKUWaVN7K4KPo5lO0FA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/rtl@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.7971d6ad5.0.tgz#3dfecf466d64bf99e525416f110610966714ffeb" - integrity sha512-G02MQTQxHPhNlAIoOToCalxSba48VZ+CdrqkWr53eBb/P1I6Do0drMElqNmO5CYS5G/8AEScXmfJ0xSq92ABew== +"@material/rtl@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.fd95ca7ef.0.tgz#3a242565c5684bf3b602dc43d09e3657f6007b97" + integrity sha512-PuPdboompahdk37OXo8osyAZFOXhmMncq/PrgFNKzBSYjFCRuxYP2JzhFT90ytRUClB9Vso5DCLTX2xun1qAwA== dependencies: - "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/segmented-button@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.7971d6ad5.0.tgz#617cff84167736afe558246e7ccf4d9dbb710c80" - integrity sha512-qu9nfKkPAxv6YFFObZAXHgaC0qq8i4Cr2lUbOQdL0E9HmKG+IE9ILualGJrAl2LOpCSJdwA0CjOuv2IsrscpHA== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/touch-target" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/segmented-button@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.fd95ca7ef.0.tgz#9a4606d6279b8d5d2d52288ab0f614f0a28c0ef4" + integrity sha512-dn5VvyWnLVUo0x9CeFNrwV+NC896Ha9+jbHwMvJ44oaNorVf8OQHQDDPSj2d2Pjox3BCdf+FUU7Bx7f6cwU+XQ== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/select@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.7971d6ad5.0.tgz#2f5fa93f4c0ed0f9aee01971f6704a20d6167e04" - integrity sha512-MgbztOBl0Y7UHVPUTuXoAAYfBh+bwbRW9lkK/EJQ4YQrmZB/0L14S7feqh52JhFXVhjFzeYPFMQg+uP2hhHSpg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/floating-label" "15.0.0-canary.7971d6ad5.0" - "@material/line-ripple" "15.0.0-canary.7971d6ad5.0" - "@material/list" "15.0.0-canary.7971d6ad5.0" - "@material/menu" "15.0.0-canary.7971d6ad5.0" - "@material/menu-surface" "15.0.0-canary.7971d6ad5.0" - "@material/notched-outline" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/select@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.fd95ca7ef.0.tgz#b8c63c829ca601843a47b49a84cd7e379bf662c1" + integrity sha512-8GcR11MOXR2EESTIUhm3wY3MSegBSBZ1vfo1KZEFRu75v4QfZAfrr3HF05zQoWaT6GvtAPXcKh3vwmkJSXDs6Q== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" + "@material/line-ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/list" "15.0.0-canary.fd95ca7ef.0" + "@material/menu" "15.0.0-canary.fd95ca7ef.0" + "@material/menu-surface" "15.0.0-canary.fd95ca7ef.0" + "@material/notched-outline" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/shape@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.7971d6ad5.0.tgz#089fe54d52a09c365a4895821720172d36b7bea0" - integrity sha512-mlsNFWKOK38ECoB1onCFpi8HKRGgrElk0YioF3V0Joszp1HVV2Fn+SWoKg2LwWHaJet4iBYtNoCbQC6dH2YBeA== +"@material/shape@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.fd95ca7ef.0.tgz#61a84745f21955bc95ef1de008db89fc3b1fdf92" + integrity sha512-+nJg/Pv8I9ZT1c3d4b0ZJp66HzLO25DEKWqmyyzifHsuwLK0u9eeN02UguMXqNvPIBPsR2fciwBgJNcuEv+WGA== dependencies: - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/slider@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.7971d6ad5.0.tgz#3aab26821097a8b851b1598140799977cc62571e" - integrity sha512-OjbxB3vwZvhbTGP8EGLWoXyodbTMuwkvoFdblEiZtWrrPL0Us5hg/20n8VfUQ0N+c00mElsEv79Jsx+B0iTV+Q== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/slider@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.fd95ca7ef.0.tgz#34948bf57d2381c53c76616b1dab8c4edad0eeba" + integrity sha512-W8yBQrKfOjFD/cZWn543L0JjFBsPAyRMHkQzN0qw89AAR/SK4cw3b6sRoJqEHIPY6aZDWBYW1bESi09WM4lpZA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/snackbar@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.7971d6ad5.0.tgz#753aaf0052ed0dd2e7931681bb52065abd2e7c7c" - integrity sha512-svNOI1Kwu9Mg259SNTaGgyJqETRIPwQPkxYhHvWT4vYiHQkJJJe9kFBcIKi+sdTxqqoMZxyjC2SwS/1mkU4/xg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/button" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/icon-button" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/snackbar@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.fd95ca7ef.0.tgz#e888b8cb29c3a6c13ccbfa686eebdfc0331ef075" + integrity sha512-bIf0Je1aMYSlkqfceVViJGWWX/BAqzAhiBVvurvKdRoBTezMrAqEimjQOXu4O2fHiLHmKEsO7c0B3dpobM2fmA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/button" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/switch@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.7971d6ad5.0.tgz#8e5bc8fb5ba0ca8fb57469a21f05ee0d23b9fa9c" - integrity sha512-WBsTIq0NwccMAbt9YFcU1vhcmFOVpNDeZ9gNMJypk19ZiqDcZBZNDx0JmceRqTYrCxndqVwfD25qK0jFVplK9g== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" +"@material/switch@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.fd95ca7ef.0.tgz#7f8c4429df51e01dbb261a118a0467e842b0132c" + integrity sha512-skiw+HbrUh9qh1x8Jl1hNdmzqwPKzHnvJayHC7o6M4HXpIkcBFtvYrUXUc5/XQ9cqd2Nyh7i74aDGlp47fa5fQ== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/tab-bar@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.7971d6ad5.0.tgz#ae1546378d3edf88d8054f1b8a379bb07536289d" - integrity sha512-hEMnb2C1yOQPbqdFCTCuyMmjcqO4QIvPKAsbquAwOZc0tz/U88tzmfuhv1k77FB2hbESwN9sPpImU0g4Lrvfhw== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/tab" "15.0.0-canary.7971d6ad5.0" - "@material/tab-indicator" "15.0.0-canary.7971d6ad5.0" - "@material/tab-scroller" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/tab-bar@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.fd95ca7ef.0.tgz#5997a0161773839ca4e9c11526af627add5bba67" + integrity sha512-URYYOwzoRiJJtqdgufl6dNUJphdLgrmfW0e9YvSJlusfAx6SsmbTykTvrRshVRZuoJSsyAAHPHxRY747gmjd8w== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/tab" "15.0.0-canary.fd95ca7ef.0" + "@material/tab-indicator" "15.0.0-canary.fd95ca7ef.0" + "@material/tab-scroller" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/tab-indicator@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.7971d6ad5.0.tgz#6dab15bb7f200cb7830a4c027243815bfcbf2d69" - integrity sha512-0X2tJf0E+CwL5Bx3Fqxi5Uuj1BgncKqd4yFpWE7cv8IZHphNReSOrCcSgUwUfirmee6MqkQ4Drk51Pf4ANj2OA== +"@material/tab-indicator@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.fd95ca7ef.0.tgz#3c5e59e331d8c740b995ce2404ad3f10b26a7ae4" + integrity sha512-59HZhI2VNhxL1j8yNhu+wt8X2d2lLfMSpng2plf5LXSXnuowzSA+SxL3xvU5SeRg9ovrREH0udEgD7ob0ktmQQ== dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/tab-scroller@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.7971d6ad5.0.tgz#c7fc0b171524633cb898a1eabb6de8858b6352ff" - integrity sha512-//Ih8ZPx92PLQwXhFzv6YCQc5xW2IH84GdIeJrdBNcQN6wgbQNsbU7h9m6jymtpWQgvvLY8E0+2qkNcnWejnag== +"@material/tab-scroller@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.fd95ca7ef.0.tgz#f12b1a21e59572e5faa64ed8b4dbf330bc2e10ce" + integrity sha512-xb/o8MOw5gHCwlCr9gA2Z7pRrqjYIxj+6a62PMe75h9avm5kHG+h38LbdaNIjPpCeNbvhpoPRUUpAMAyHHcuGA== dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/tab" "15.0.0-canary.7971d6ad5.0" + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/tab" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/tab@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.7971d6ad5.0.tgz#673a51a867672cce6480fc2867a960f51fc2a7fc" - integrity sha512-hmqRl9s7g1/8KpZ5rqANxUXrHi4PYO3GsGhASrYrB99/5ZX1ghdCGwEN1Lp9ntKIgZjd1s6qtzccBtmnW+boXA== - dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/focus-ring" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/tab-indicator" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/tab@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.fd95ca7ef.0.tgz#2bcdb89da6ad59a427592228459a8e713691cd5e" + integrity sha512-pv1qil6xu2e07cAptSd8i/ejYd+nSEzgg6/p+1AXZewlqdq3eHmufXvhZOw7FajIm/nwlRKyuChSPhlPYt+rNg== + dependencies: + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/tab-indicator" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/textfield@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.7971d6ad5.0.tgz#dcbfcd643b86051bbfebe3ede25526717eba0be8" - integrity sha512-n9aWMZGyE2GBTr2Tx6n4hLp08uyIo1/xNqcZ0Kx2tKK1spPgTgp+g2fEKImGnnbfiCTJPNrcJ8bQ+Vy7Dp0n3Q== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/density" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/floating-label" "15.0.0-canary.7971d6ad5.0" - "@material/line-ripple" "15.0.0-canary.7971d6ad5.0" - "@material/notched-outline" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/textfield@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.fd95ca7ef.0.tgz#4acdd0f7308be87e852e37bea49a6a6919b4d25d" + integrity sha512-Tk9Ck9vnHQXGjTky6Pl3W0BYmsHa4yXfTZrtrveA3R9Ix/f1LxcVR/4o39i5VMIZQNIXlAVa1hIRgjpEcx3VtA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/density" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" + "@material/line-ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/notched-outline" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/theme@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.7971d6ad5.0.tgz#489b2b3047caa6f3c05e02223c8129e66e3d2803" - integrity sha512-4YUyQo4SOatHHH15/h2LBIyxmVxtefo+QC8bRopF13f/qq5lHpX/stK6chf1OR/z9BUxnNHZWXd2LG5SvJGs9Q== +"@material/theme@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.fd95ca7ef.0.tgz#6c2afc34cf8b8aa804ecdf6af3dca30991f0551c" + integrity sha512-Ho0DWUZ/JZ+NkzgdJGc5QHarTOcaqm0RnibAW/y+0BgQCgVYNQHbQ2oZjqr2u+pCOC9n2T7GVdvm4z+0xF312Q== dependencies: - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/tokens@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.7971d6ad5.0.tgz#2ea8a63cf196da16b01dd8eaa64024acf3c9acfd" - integrity sha512-tRa/Uki/moIP6f/QJPrad2jHbSZ5NB5TRSfAS1NZof0KNFjW8n2lJVpgcgD+f1NENin3dWM4NpfJwxulGlWE7g== - dependencies: - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - -"@material/tooltip@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.7971d6ad5.0.tgz#145f8b8aac15645374999c58a2674d27c61b7daa" - integrity sha512-gidVGZOGmJUNDxm3ZorNZMAFmbeFmJ+6DH2F45hi1iU/GflfyvMfvbG2VvPFGYj84YAKHs799yAjidvk1nSZZg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/button" "15.0.0-canary.7971d6ad5.0" - "@material/dom" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/tokens" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/tokens@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.fd95ca7ef.0.tgz#a44b6babb87ec393f8040947a65da459d3e7e2ff" + integrity sha512-N0KbJD9BwriCR2ZcUz3kgdM1lQYixqTSFe/kU+4mdAWBZhEsE8s6S6x3qzDatYLtLIKfGgWXyG+duHtoS5iFag== + dependencies: + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + +"@material/tooltip@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.fd95ca7ef.0.tgz#324d30345714fd6dbd2f3874cef7e2c5aee6e9d0" + integrity sha512-mbn/dBh8hYczaxds+e5MtmQ3Gd0frH9F0EAD6EQLKnuRirBrBQ6s5zhs/u7ta2wzG1pqCZTONjW8k+uZL+OpCA== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/button" "15.0.0-canary.fd95ca7ef.0" + "@material/dom" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/tokens" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/top-app-bar@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.7971d6ad5.0.tgz#98e70513f1ebb4eeeb3f02e3be8d0c14cc75201c" - integrity sha512-ztvglUBK0y4LDHD8xhvNGCpbsHYoAVtI06cJHu5G241WD5wAmseEnLMY+ty86FHMzs796PzhUqUmahEHeBNlEg== - dependencies: - "@material/animation" "15.0.0-canary.7971d6ad5.0" - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/elevation" "15.0.0-canary.7971d6ad5.0" - "@material/ripple" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" - "@material/shape" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" - "@material/typography" "15.0.0-canary.7971d6ad5.0" +"@material/top-app-bar@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.fd95ca7ef.0.tgz#d3d90d2d86a7fe8e941542f17cf1310e4a41cee3" + integrity sha512-ovVxOFL6/TXxjxr3IkA7Qvdy5DuhfN19BUJVbaFVwCFhnmOFEF549CKtM1TnxyExAggGVBIitwD0gK/Ao63FWg== + dependencies: + "@material/animation" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/elevation" "15.0.0-canary.fd95ca7ef.0" + "@material/ripple" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/shape" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/touch-target@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.7971d6ad5.0.tgz#86360daf890e67f34990f5118300b5528a0e5d6c" - integrity sha512-aT8GyRfH0TJuF53HWKga+vuwJbJ/euN6T8CS/+RP5F/rjzWwxSd8RtyBmVUzBjVzOxr6Os+El0c3TFfEDxRdAg== +"@material/touch-target@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.fd95ca7ef.0.tgz#a45587e581ce8e17497259de73514002c434b1c7" + integrity sha512-0fjs8kDRws+W34zg6rTBgnqQFHvAZ1kp5be5wPA3e5Io5YIrRaD2APz9dofEfgNnSN/EoQQI/IAWwv+a4WbJRQ== dependencies: - "@material/base" "15.0.0-canary.7971d6ad5.0" - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/rtl" "15.0.0-canary.7971d6ad5.0" + "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@material/typography@15.0.0-canary.7971d6ad5.0": - version "15.0.0-canary.7971d6ad5.0" - resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.7971d6ad5.0.tgz#26b197d2384490d7e3c9bd2da57a398ac9c04dd4" - integrity sha512-4J5qPXbCS3wMtGl0AJIj/M9rUxHR7fRX3IKtfOyvra10lZbr4qma+4g0+t+O9cPzcCBS1NwPkJ/E4t+ijEa6gA== +"@material/typography@15.0.0-canary.fd95ca7ef.0": + version "15.0.0-canary.fd95ca7ef.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.fd95ca7ef.0.tgz#2821d686018e26ae889df22074dfc6deee05e1e0" + integrity sha512-OihvVBCvb3R9sg197ZLRSZSQaAE4wzGiIDzpajibuxbuaHzOwcSNt782Kqz27xy5uBQ0r/iQb4SdU877NQfUXw== dependencies: - "@material/feature-targeting" "15.0.0-canary.7971d6ad5.0" - "@material/theme" "15.0.0-canary.7971d6ad5.0" + "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" "@microsoft/api-extractor-model@7.24.0": From 81c89687b39d1cb2ccffe581a59368a8d5c9c284 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 Jan 2023 11:56:58 -0500 Subject: [PATCH 1245/1388] docs: release notes for the v15.0.5 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c22cfce7ccbe..c904b079b0d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 15.0.5 (2023-01-06) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [c2030dec7](https://github.com/angular/angular-cli/commit/c2030dec7d9fecf42cca2de37cc3f7adaaa45e7f) | fix | format esbuild error messages to include more information | + +## Special Thanks + +Alan Agius, Kristiyan Kostadinov, Paul Gschwendtner and aanchal + + + # 15.1.0-next.3 (2022-12-14) From 42c6b8cf8420e557d5f34f7b532c3428de5c0979 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 Jan 2023 12:45:16 -0500 Subject: [PATCH 1246/1388] release: bump the next branch to v15.2.0-next.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c7076d567c9e..8bcfe6a9428a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.1.0-next.3", + "version": "15.2.0-next.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From 5dee0dc3398c9b55d728a30f2007d88ba24bc076 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 Jan 2023 12:45:18 -0500 Subject: [PATCH 1247/1388] docs: release notes for the v15.1.0-rc.0 release --- CHANGELOG.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c904b079b0d0..784c7c9f0759 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ + + +# 15.1.0-rc.0 (2023-01-06) + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------- | +| [dd2b65943](https://github.com/angular/angular-cli/commit/dd2b65943d706833f449f76cf8c7278d0a5399ad) | feat | add configuration files generation schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | +| [839d0cb57](https://github.com/angular/angular-cli/commit/839d0cb57ad42896578c235354ffb918ea8bb146) | feat | implement stats-json option for esbuild builder | +| [7c87ce47c](https://github.com/angular/angular-cli/commit/7c87ce47c66a6426b6b7fbb2edd38d8da729221f) | fix | ensure Sass load paths are resolved from workspace root | +| [e91734ff8](https://github.com/angular/angular-cli/commit/e91734ff89402b4e2b654ce470fdd2d894759c64) | fix | format esbuild error messages to include more information | + +## Special Thanks + +Alan Agius, Charles Lyding, Kristiyan Kostadinov, Paul Gschwendtner, aanchal and angular-robot[bot] + + + # 15.0.5 (2023-01-06) From 1000e8e0517cc83743e889bd239cb379d38ac3f6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 6 Jan 2023 14:35:41 +0000 Subject: [PATCH 1248/1388] build: update scorecard action dependencies --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 3c9340c973f9..2759c49c3683 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -25,7 +25,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # tag=v3.2.0 + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false @@ -38,7 +38,7 @@ jobs: # Upload the results as artifacts. - name: 'Upload artifact' - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # tag=v3.1.1 + uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.1.2 with: name: SARIF file path: results.sarif From 759344d2e9ce26d5bfea3411ffe919b69e6fd2e9 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Dec 2022 10:07:32 +0000 Subject: [PATCH 1249/1388] refactor(@schematics/angular): remove unused local variables `messages` is unused from the spec and thus can be removed. --- packages/schematics/angular/environments/index_spec.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/schematics/angular/environments/index_spec.ts b/packages/schematics/angular/environments/index_spec.ts index 180374c9097d..e97a0e9f50fd 100644 --- a/packages/schematics/angular/environments/index_spec.ts +++ b/packages/schematics/angular/environments/index_spec.ts @@ -37,15 +37,12 @@ describe('Application Schematic', () => { }; let applicationTree: UnitTestTree; - const messages: string[] = []; - schematicRunner.logger.subscribe((x) => messages.push(x.message)); function runEnvironmentsSchematic(): Promise { return schematicRunner.runSchematic('environments', defaultOptions, applicationTree); } beforeEach(async () => { - messages.length = 0; const workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions); applicationTree = await schematicRunner.runSchematic( 'application', From 38ea09d3b3ee2629bf285dd7e7622b04852f78d5 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 8 Jan 2023 23:06:36 +0000 Subject: [PATCH 1250/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 8 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 253 +++++++++--------- 4 files changed, 141 insertions(+), 132 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 676aa10054f5..9e247bd8bb28 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "ae56efc54ce3025ea908900e0d061423310b15e4676ae1359105583a2944665c", - strip_prefix = "bazel-lib-1.19.1", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.19.1.tar.gz", + sha256 = "558d70e36425c317c70b19fb0f68241a3747bcf46561b5ffc19bed17527adbb3", + strip_prefix = "bazel-lib-1.20.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.20.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 8bcfe6a9428a..068b701485e0 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.16.14", - "esbuild-wasm": "0.16.14", + "esbuild": "0.16.16", + "esbuild-wasm": "0.16.16", "eslint": "8.31.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", @@ -185,7 +185,7 @@ "pidusage": "^3.0.0", "piscina": "3.2.0", "popper.js": "^1.14.1", - "postcss": "8.4.20", + "postcss": "8.4.21", "postcss-loader": "7.0.2", "prettier": "^2.0.0", "protractor": "~7.0.0", @@ -210,7 +210,7 @@ "ts-node": "^10.0.0", "tslib": "2.4.1", "typescript": "4.9.4", - "verdaccio": "5.19.0", + "verdaccio": "5.19.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", "webpack-dev-middleware": "6.0.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 4780d31ea5bb..c8e20cf5473f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.16.14", + "esbuild-wasm": "0.16.16", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -47,7 +47,7 @@ "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.20", + "postcss": "8.4.21", "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.14" + "esbuild": "0.16.16" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0-next || ^15.1.0-next", diff --git a/yarn.lock b/yarn.lock index 0f02aede0e67..d02e86be93b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1451,10 +1451,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.13.tgz#1fc9bfbff0bac558008b2ad7242db1c8024d8cfd" integrity sha512-r4xetsd1ez1NF9/9R2f9Q6AlxqiZLwUqo7ICOcvEVwopVkXUcspIjEbJk0EVTgT6Cp5+ymzGPT6YNV0ievx4yA== -"@esbuild/android-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz#f02c9f0d43086ddf6ed2795b881ddf7990f74456" - integrity sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ== +"@esbuild/android-arm64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz#833184b8a0a96f9c85105c53d0a67e6d3c5c3f07" + integrity sha512-hFHVAzUKp9Tf8psGq+bDVv+6hTy1bAOoV/jJMUWwhUnIHsh6WbFMhw0ZTkqDuh7TdpffFoHOiIOIxmHc7oYRBQ== "@esbuild/android-arm64@0.16.6": version "0.16.6" @@ -1466,10 +1466,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.13.tgz#df3317286eed68c727daf39c2d585625f9c2f170" integrity sha512-JmtqThupn9Yf+FzANE+GG73ASUkssnPwOsndUElhp23685QzRK+MO1UompOlBaXV9D5FTuYcPnw7p4mCq2YbZQ== -"@esbuild/android-arm@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" - integrity sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg== +"@esbuild/android-arm@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.16.tgz#23761b2fd1dfa4806161dbfc9e0824f04061cb95" + integrity sha512-BUuWMlt4WSXod1HSl7aGK8fJOsi+Tab/M0IDK1V1/GstzoOpqc/v3DqmN8MkuapPKQ9Br1WtLAN4uEgWR8x64A== "@esbuild/android-arm@0.16.6": version "0.16.6" @@ -1481,10 +1481,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.13.tgz#c34826c4bdc57c60cbfb8d5bbd2306a89225626a" integrity sha512-hKt1bFht/Vtp0xJ0ZVzFMnPy1y1ycmM3KNnp3zsyZfQmw7nhs2WLO4vxdR5YG+6RsHKCb2zbZ3VwlC0Tij0qyA== -"@esbuild/android-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" - integrity sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw== +"@esbuild/android-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.16.tgz#ffa09f04c0ffea5b594ab7655fc9ca1220365e9b" + integrity sha512-9WhxJpeb6XumlfivldxqmkJepEcELekmSw3NkGrs+Edq6sS5KRxtUBQuKYDD7KqP59dDkxVbaoPIQFKWQG0KLg== "@esbuild/android-x64@0.16.6": version "0.16.6" @@ -1496,10 +1496,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.13.tgz#0b80c8580c262ccfb1203053201cf19c6f7b4cdb" integrity sha512-ogrVuNi2URocrr3Ps20f075EMm9V7IeenOi9FRj4qdbT6mQlwLuP4l90PW2iBrKERx0oRkcZprEUNsz/3xd7ww== -"@esbuild/darwin-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" - integrity sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw== +"@esbuild/darwin-arm64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz#62ed2b4bfab594b9e5e708580361f1d059b53b26" + integrity sha512-8Z+wld+vr/prHPi2O0X7o1zQOfMbXWGAw9hT0jEyU/l/Yrg+0Z3FO9pjPho72dVkZs4ewZk0bDOFLdZHm8jEfw== "@esbuild/darwin-arm64@0.16.6": version "0.16.6" @@ -1511,10 +1511,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.13.tgz#f1a6c9ea67d4eaaf4944e1cbceb800eabc6e7e74" integrity sha512-Agajik9SBGiKD7FPXE+ExW6x3MgA/dUdpZnXa9y1tyfE4lKQx+eQiknSdrBnWPeqa9wL0AOvkhghmYhpVkyqkA== -"@esbuild/darwin-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" - integrity sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg== +"@esbuild/darwin-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz#e9756d34cd9b3737a5354e89ca0fdca32d8df64c" + integrity sha512-CYkxVvkZzGCqFrt7EgjFxQKhlUPyDkuR9P0Y5wEcmJqVI8ncerOIY5Kej52MhZyzOBXkYrJgZeVZC9xXXoEg9A== "@esbuild/darwin-x64@0.16.6": version "0.16.6" @@ -1526,10 +1526,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.13.tgz#d1a45ac5c4a1be566c4eefbadbe5a967288ad338" integrity sha512-KxMO3/XihBcHM+xQUM6nQZO1SgQuOsd1DCnKF1a4SIf/i5VD45vrqN3k8ePgFrEbMi7m5JeGmvNqwJXinF0a4Q== -"@esbuild/freebsd-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" - integrity sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw== +"@esbuild/freebsd-arm64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz#db7bce444d372e5a213a3f359c42aee3acc0dd45" + integrity sha512-fxrw4BYqQ39z/3Ja9xj/a1gMsVq0xEjhSyI4a9MjfvDDD8fUV8IYliac96i7tzZc3+VytyXX+XNsnpEk5sw5Wg== "@esbuild/freebsd-arm64@0.16.6": version "0.16.6" @@ -1541,10 +1541,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.13.tgz#ec64a31cabb08343bb4520a221324b40509dffc8" integrity sha512-Ez15oqV1vwvZ30cVLeBW14BsWq/fdWNQGMOxxqaSJVQVLqHhvgfQ7gxGDiN9tpJdeQhqJO+Q0r02/Tce5+USNg== -"@esbuild/freebsd-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" - integrity sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw== +"@esbuild/freebsd-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz#02e8a81b7e56040b5eb883896de445a6cd3501f0" + integrity sha512-8p3v1D+du2jiDvSoNVimHhj7leSfST9YlKsAEO7etBfuqjaBMndo0fmjNLp0JCMld+XIx9L80tooOkyUv1a1PQ== "@esbuild/freebsd-x64@0.16.6": version "0.16.6" @@ -1556,10 +1556,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.13.tgz#e8db3c3751b32ecf801751424eae43f6863a2ee7" integrity sha512-qi5n7KwcGViyJeZeQnu8fB6dC3Mlm5PGaqSv2HhQDDx/MPvVfQGNMcv7zcBL4qk3FkuWhGVwXkjQ76x7R0PWlA== -"@esbuild/linux-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" - integrity sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q== +"@esbuild/linux-arm64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz#ea8c3df172644fa6437f0083c2a38b50f89e5b98" + integrity sha512-N3u6BBbCVY3xeP2D8Db7QY8I+nZ+2AgOopUIqk+5yCoLnsWkcVxD2ay5E9iIdvApFi1Vg1lZiiwaVp8bOpAc4A== "@esbuild/linux-arm64@0.16.6": version "0.16.6" @@ -1571,10 +1571,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.13.tgz#ac0c8e9f3db8d418f588ae250e9c66ffdcf3cd82" integrity sha512-18dLd2L3mda+iFj6sswyBMSh2UwniamD9M4DwPv8VM+9apRFlQ5IGKxBdumnTuOI4NvwwAernmUseWhYQ9k+rg== -"@esbuild/linux-arm@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" - integrity sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w== +"@esbuild/linux-arm@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz#c1c2e97e67bb7247e6f60e2644de057bfedb8cbb" + integrity sha512-bYaocE1/PTMRmkgSckZ0D0Xn2nox8v2qlk+MVVqm+VECNKDdZvghVZtH41dNtBbwADSvA6qkCHGYeWm9LrNCBw== "@esbuild/linux-arm@0.16.6": version "0.16.6" @@ -1586,10 +1586,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.13.tgz#41ee9bd3b7161ab681fab6cb3990a3f5c08a9940" integrity sha512-2489Xad9sr+6GD7nB913fUqpCsSwVwgskkQTq4Or2mZntSPYPebyJm8l1YruHo7oqYMTGV6RiwGE4gRo3H+EPQ== -"@esbuild/linux-ia32@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" - integrity sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA== +"@esbuild/linux-ia32@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz#9a0b0e926926f891a3e7f7c50bb38e3db49c2c9a" + integrity sha512-dxjqLKUW8GqGemoRT9v8IgHk+T4tRm1rn1gUcArsp26W9EkK/27VSjBVUXhEG5NInHZ92JaQ3SSMdTwv/r9a2A== "@esbuild/linux-ia32@0.16.6": version "0.16.6" @@ -1601,10 +1601,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.13.tgz#e4a832708e0b47078b91413edcfdb6af88c854a3" integrity sha512-x8KplRu9Y43Px8I9YS+sPBwQ+fw44Mvp2BPVADopKDWz+h3fcj1BvRU58kxb89WObmwKX9sWdtYzepL4Fmx03A== -"@esbuild/linux-loong64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" - integrity sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg== +"@esbuild/linux-loong64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz#c5a50ff5981d457ed45f42c3f06a60086759c79b" + integrity sha512-MdUFggHjRiCCwNE9+1AibewoNq6wf94GLB9Q9aXwl+a75UlRmbRK3h6WJyrSGA6ZstDJgaD2wiTSP7tQNUYxwA== "@esbuild/linux-loong64@0.16.6": version "0.16.6" @@ -1616,10 +1616,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.13.tgz#30d8571b71e0b8bf25fc5ef11422221ed23cdacc" integrity sha512-qhhdWph9FLwD9rVVC/nUf7k2U4NZIA6/mGx0B7+O6PFV0GjmPA2E3zDQ4NUjq9P26E0DeAZy9akH9dYcUBRU7A== -"@esbuild/linux-mips64el@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" - integrity sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg== +"@esbuild/linux-mips64el@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz#e85b7e3c25000be2ae373e5208e55e282a9763e0" + integrity sha512-CO3YmO7jYMlGqGoeFeKzdwx/bx8Vtq/SZaMAi+ZLDUnDUdfC7GmGwXzIwDJ70Sg+P9pAemjJyJ1icKJ9R3q/Fg== "@esbuild/linux-mips64el@0.16.6": version "0.16.6" @@ -1631,10 +1631,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.13.tgz#32a3855d4b79ba1d2b63dab592cb9f0d4a9ba485" integrity sha512-cVWAPKsrRVxI1jCeJHnYSbE3BrEU+pZTZK2gfao9HRxuc+3m4+RLfs3EVEpGLmMKEcWfVCB9wZ3yNxnknutGKQ== -"@esbuild/linux-ppc64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" - integrity sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg== +"@esbuild/linux-ppc64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz#24a0013bf727830df44fece571172ebe31b5c5e6" + integrity sha512-DSl5Czh5hCy/7azX0Wl9IdzPHX2H8clC6G87tBnZnzUpNgRxPFhfmArbaHoAysu4JfqCqbB/33u/GL9dUgCBAw== "@esbuild/linux-ppc64@0.16.6": version "0.16.6" @@ -1646,10 +1646,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.13.tgz#6139202858da8202724d7079102614c269524f34" integrity sha512-Agb7dbRyZWnmPn5Vvf0eyqaEUqSsaIUwwyInu2EoFTaIDRp093QU2M5alUyOooMLkRbD1WvqQNwx08Z/g+SAcQ== -"@esbuild/linux-riscv64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" - integrity sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A== +"@esbuild/linux-riscv64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz#b080998d8d0480e8235f1384c585ae505e98a19d" + integrity sha512-sSVVMEXsqf1fQu0j7kkhXMViroixU5XoaJXl1u/u+jbXvvhhCt9YvA/B6VM3aM/77HuRQ94neS5bcisijGnKFQ== "@esbuild/linux-riscv64@0.16.6": version "0.16.6" @@ -1661,10 +1661,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.13.tgz#df3550a51e4155cde31486e01d8121f078e959ae" integrity sha512-AqRBIrc/+kl08ahliNG+EyU+j41wIzQfwBTKpi80cCDiYvYFPuXjvzZsD9muiu58Isj0RVni9VgC4xK/AnSW4g== -"@esbuild/linux-s390x@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" - integrity sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA== +"@esbuild/linux-s390x@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz#5042de05b9b653dfd134f05e1b37b61704c14c42" + integrity sha512-jRqBCre9gZGoCdCN/UWCCMwCMsOg65IpY9Pyj56mKCF5zXy9d60kkNRdDN6YXGjr3rzcC4DXnS/kQVCGcC4yPQ== "@esbuild/linux-s390x@0.16.6": version "0.16.6" @@ -1676,10 +1676,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.13.tgz#deb7951829ea5930e0d88440aeb5df0756ebb2d0" integrity sha512-S4wn2BimuhPcoArRtVrdHUKIymCCZcYAXQE47kUiX4yrUrEX2/ifn5eKNbZ5c1jJKUlh1gC2ESIN+iw3wQax3g== -"@esbuild/linux-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" - integrity sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA== +"@esbuild/linux-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz#b7c0750f2276c9dcf41f0f2229adca46ef22f698" + integrity sha512-G1+09TopOzo59/55lk5Q0UokghYLyHTKKzD5lXsAOOlGDbieGEFJpJBr3BLDbf7cz89KX04sBeExAR/pL/26sA== "@esbuild/linux-x64@0.16.6": version "0.16.6" @@ -1691,10 +1691,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.13.tgz#8cba08074263862138cc5c63ad7f9640fe3faa69" integrity sha512-2c8JWgfUMlQHTdaR5X3xNMwqOyad8kgeCupuVkdm3QkUOzGREjlTETQsK6oHifocYzDCo9FeKcUwsK356SdR+g== -"@esbuild/netbsd-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" - integrity sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw== +"@esbuild/netbsd-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz#e2a0ee181fbbe834174d26e24ce1b258232bb3eb" + integrity sha512-xwjGJB5wwDEujLaJIrSMRqWkbigALpBNcsF9SqszoNKc+wY4kPTdKrSxiY5ik3IatojePP+WV108MvF6q6np4w== "@esbuild/netbsd-x64@0.16.6": version "0.16.6" @@ -1706,10 +1706,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.13.tgz#4ae19ac63c665424d248ba5c577618dd7bbcebd5" integrity sha512-Bwh+PmKD/LK+xBjqIpnYnKYj0fIyQJ0YpRxsn0F+WfzvQ2OA+GKDlf8AHosiCns26Q4Dje388jQVwfOBZ1GaFw== -"@esbuild/openbsd-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" - integrity sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg== +"@esbuild/openbsd-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz#87a84c1932e00f52ab3380c31facf0e48086ffb9" + integrity sha512-yeERkoxG2nR2oxO5n+Ms7MsCeNk23zrby2GXCqnfCpPp7KNc0vxaaacIxb21wPMfXXRhGBrNP4YLIupUBrWdlg== "@esbuild/openbsd-x64@0.16.6": version "0.16.6" @@ -1721,10 +1721,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.13.tgz#592caacab6b2c7669cd869b51f66dc354da03fc2" integrity sha512-8wwk6f9XGnhrF94/DBdFM4Xm1JeCyGTCj67r516VS9yvBVQf3Rar54L+XPVDs/oZOokwH+XsktrgkuTMAmjntg== -"@esbuild/sunos-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" - integrity sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw== +"@esbuild/sunos-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz#996bcd2603cd345733c3aa5f52bfd5b8fa7d1d36" + integrity sha512-nHfbEym0IObXPhtX6Va3H5GaKBty2kdhlAhKmyCj9u255ktAj0b1YACUs9j5H88NRn9cJCthD1Ik/k9wn8YKVg== "@esbuild/sunos-x64@0.16.6": version "0.16.6" @@ -1736,10 +1736,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.13.tgz#965ebbe889e4221962250c55facaa1e48130c162" integrity sha512-Jmwbp/5ArLCiRAHC33ODfcrlIcbP/exXkOEUVkADNJC4e/so2jm+i8IQFvVX/lA2GWvK3GdgcN0VFfp9YITAbg== -"@esbuild/win32-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" - integrity sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg== +"@esbuild/win32-arm64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz#404a9411d12533d0f2ce0a85df6ddb32e851ef04" + integrity sha512-pdD+M1ZOFy4hE15ZyPX09fd5g4DqbbL1wXGY90YmleVS6Y5YlraW4BvHjim/X/4yuCpTsAFvsT4Nca2lbyDH/A== "@esbuild/win32-arm64@0.16.6": version "0.16.6" @@ -1751,10 +1751,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.13.tgz#1b04965bcf340ba4879b452ac32df63216d4c87e" integrity sha512-AX6WjntGjhJHzrPSVvjMD7grxt41koHfAOx6lxLorrpDwwIKKPaGDASPZgvFIZHTbwhOtILW6vAXxYPDsKpDJA== -"@esbuild/win32-ia32@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" - integrity sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g== +"@esbuild/win32-ia32@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz#bb5655a48f5f87fee870061883411f5149bc5e44" + integrity sha512-IPEMfU9p0c3Vb8PqxaPX6BM9rYwlTZGYOf9u+kMdhoILZkVKEjq6PKZO0lB+isojWwAnAqh4ZxshD96njTXajg== "@esbuild/win32-ia32@0.16.6": version "0.16.6" @@ -1766,10 +1766,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.13.tgz#0b0989cf0e7887cb0f3124e705cee68a694b96dd" integrity sha512-A+U4gM6OOkPS03UgVU08GTpAAAxPsP/8Z4FmneGo4TaVSD99bK9gVJXlqUEPMO/htFXEAht2O6pX4ErtLY5tVg== -"@esbuild/win32-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" - integrity sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw== +"@esbuild/win32-x64@0.16.16": + version "0.16.16" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz#ee22fed0b2e0c00ce895cdfae9d32ef069a12e04" + integrity sha512-1YYpoJ39WV/2bnShPwgdzJklc+XS0bysN6Tpnt1cWPdeoKOG4RMEY1g7i534QxXX/rPvNx/NLJQTTCeORYzipg== "@esbuild/win32-x64@0.16.6": version "0.16.6" @@ -5705,10 +5705,10 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-wasm@0.16.14: - version "0.16.14" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" - integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== +esbuild-wasm@0.16.16: + version "0.16.16" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.16.tgz#5f1ae6ebc325322d9f5772d598e80144572e5b5e" + integrity sha512-X7wDIw8Pg0WFfDyrUhMpoMaGuCPeAfsQL8zJq5OeYQoNNXIvx8C+E1gz31bLcEOEhx0MBvupAM6ZI2D0sR8Fsw== esbuild-wasm@0.16.6: version "0.16.6" @@ -5720,33 +5720,33 @@ esbuild-wasm@^0.16.0: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.13.tgz#038c86168a22f05393e0dd3b8047451a6b839413" integrity sha512-TW1pPU7EK3+epIj496qBHPqvAwuGp8Br8yocfk6nez/GjxVx2jyJo6E7kJ0nNEF2XsqWG5/FvnomDHfnmZHsBQ== -esbuild@0.16.14: - version "0.16.14" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.14.tgz#366249a0a0fd431d3ab706195721ef1014198919" - integrity sha512-6xAn3O6ZZyoxZAEkwfI9hw4cEqSr/o1ViJtnkvImVkblmUN65Md04o0S/7H1WNu1XGf1Cjij/on7VO4psIYjkw== +esbuild@0.16.16: + version "0.16.16" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.16.tgz#e8a27820a30cc1449066f9bbe8916b145dbc9046" + integrity sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg== optionalDependencies: - "@esbuild/android-arm" "0.16.14" - "@esbuild/android-arm64" "0.16.14" - "@esbuild/android-x64" "0.16.14" - "@esbuild/darwin-arm64" "0.16.14" - "@esbuild/darwin-x64" "0.16.14" - "@esbuild/freebsd-arm64" "0.16.14" - "@esbuild/freebsd-x64" "0.16.14" - "@esbuild/linux-arm" "0.16.14" - "@esbuild/linux-arm64" "0.16.14" - "@esbuild/linux-ia32" "0.16.14" - "@esbuild/linux-loong64" "0.16.14" - "@esbuild/linux-mips64el" "0.16.14" - "@esbuild/linux-ppc64" "0.16.14" - "@esbuild/linux-riscv64" "0.16.14" - "@esbuild/linux-s390x" "0.16.14" - "@esbuild/linux-x64" "0.16.14" - "@esbuild/netbsd-x64" "0.16.14" - "@esbuild/openbsd-x64" "0.16.14" - "@esbuild/sunos-x64" "0.16.14" - "@esbuild/win32-arm64" "0.16.14" - "@esbuild/win32-ia32" "0.16.14" - "@esbuild/win32-x64" "0.16.14" + "@esbuild/android-arm" "0.16.16" + "@esbuild/android-arm64" "0.16.16" + "@esbuild/android-x64" "0.16.16" + "@esbuild/darwin-arm64" "0.16.16" + "@esbuild/darwin-x64" "0.16.16" + "@esbuild/freebsd-arm64" "0.16.16" + "@esbuild/freebsd-x64" "0.16.16" + "@esbuild/linux-arm" "0.16.16" + "@esbuild/linux-arm64" "0.16.16" + "@esbuild/linux-ia32" "0.16.16" + "@esbuild/linux-loong64" "0.16.16" + "@esbuild/linux-mips64el" "0.16.16" + "@esbuild/linux-ppc64" "0.16.16" + "@esbuild/linux-riscv64" "0.16.16" + "@esbuild/linux-s390x" "0.16.16" + "@esbuild/linux-x64" "0.16.16" + "@esbuild/netbsd-x64" "0.16.16" + "@esbuild/openbsd-x64" "0.16.16" + "@esbuild/sunos-x64" "0.16.16" + "@esbuild/win32-arm64" "0.16.16" + "@esbuild/win32-ia32" "0.16.16" + "@esbuild/win32-x64" "0.16.16" esbuild@0.16.6: version "0.16.6" @@ -9492,6 +9492,15 @@ postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.1 picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.21: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -11514,10 +11523,10 @@ verdaccio-htpasswd@10.5.1: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.19.0: - version "5.19.0" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.19.0.tgz#823bf2db91d89226133338088e2c343ada771371" - integrity sha512-NibY6AXSedA9eer0T6hh9Jmiu3pFHXkmZ/nJR+r5TeLQkn6fbJJ1rTSj4xnjITSHS5lQk9y4E40PYKN7OgoUHg== +verdaccio@5.19.1: + version "5.19.1" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.19.1.tgz#e639f440f9e73a31cf8a79b73c3c8db4f662bdd0" + integrity sha512-7Ve6OW2Fjx4q84nvWMYmu2XFnIiSplLsuLIht+n36GZj8BCACT6lgUspkHTTQhda03SgR0P+JbTkXK35pUfiGg== dependencies: "@verdaccio/commons-api" "10.2.0" "@verdaccio/local-storage" "10.3.1" From e2a6776e165a30d6bf07b5474c19451407d7ad9e Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sat, 7 Jan 2023 12:15:46 +0100 Subject: [PATCH 1251/1388] build: re-enable material e2e tests The Material tests had to be disabled temporarily during the TS 4.9 update, because the peer dependency range didn't allow for `next` versions. Now that the range was expanded in https://github.com/angular/components/pull/26308, the tests should work again. --- tests/legacy-cli/e2e/tests/build/material.ts | 3 --- tests/legacy-cli/e2e/tests/commands/add/add-material.ts | 3 --- .../e2e/tests/misc/invalid-schematic-dependencies.ts | 3 --- 3 files changed, 9 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 9c9e36417659..a010ea834791 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,9 +7,6 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - // TODO(crisbeto): temporarily disabled until Material is updated - return; - let tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 8fd27b768e57..bca90ca6c032 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -5,9 +5,6 @@ import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; export default async function () { - // TODO(crisbeto): temporarily disabled until Material is updated - return; - // forcibly remove in case another test doesn't clean itself up await rimraf('node_modules/@angular/material'); diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index fbcd84890a1f..432f21167cdb 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -4,9 +4,6 @@ import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; export default async function () { - // TODO(crisbeto): temporarily disabled until Material is updated - return; - // Must publish old version to local registry to allow install. This is especially important // for release commits as npm will try to request tooling packages that are not on the npm registry yet await publishOutdated('@schematics/angular@7'); From 64b66280e29cb06ccd7889a7c54b24a8378445ed Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 28 Dec 2022 10:33:17 -0500 Subject: [PATCH 1252/1388] refactor(@angular-devkit/build-angular): remove duplicate namespaces in esbuild metafile paths Within the experimental esbuild-based browser application builder, the internal paths for angular component stylesheets were being displayed in the esbuild metafile with a duplicate namespace prefix. This had no functional difference to the build output but it did make the paths in the metafile unnecessarily long and potentially confusing. The paths now only contain the prefix a single time. This also has the benefit of reducing the length of the filter regular expressions for the stylesheet plugins used for Angular component styles by not needing to match the namespace in the path in addition to the namespace option. --- .../src/builders/browser-esbuild/sass-plugin.ts | 17 +++++++---------- .../src/builders/browser-esbuild/stylesheets.ts | 8 ++++---- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 50928d3341bb..8a60c9215e66 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -62,18 +62,15 @@ export function createSassPlugin(options: SassPluginOptions): Plugin { return result; }; - build.onLoad( - { filter: /^angular:styles\/component;s[ac]ss;/, namespace: 'angular:styles/component' }, - async (args) => { - const data = options.inlineComponentData?.[args.path]; - assert(data, `component style name should always be found [${args.path}]`); + build.onLoad({ filter: /^s[ac]ss;/, namespace: 'angular:styles/component' }, async (args) => { + const data = options.inlineComponentData?.[args.path]; + assert(data, `component style name should always be found [${args.path}]`); - const [, language, , filePath] = args.path.split(';', 4); - const syntax = language === 'sass' ? 'indented' : 'scss'; + const [language, , filePath] = args.path.split(';', 3); + const syntax = language === 'sass' ? 'indented' : 'scss'; - return compileString(data, filePath, syntax, options, resolveUrl); - }, - ); + return compileString(data, filePath, syntax, options, resolveUrl); + }); build.onLoad({ filter: /\.s[ac]ss$/ }, async (args) => { const data = await readFile(args.path, 'utf-8'); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 60869e78d44e..f6bafcc03737 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -81,10 +81,10 @@ export async function bundleComponentStylesheet( options: BundleStylesheetOptions, ) { const namespace = 'angular:styles/component'; - const entry = [namespace, language, identifier, filename].join(';'); + const entry = [language, identifier, filename].join(';'); const buildOptions = createStylesheetBundleOptions(options, { [entry]: data }); - buildOptions.entryPoints = [entry]; + buildOptions.entryPoints = [`${namespace};${entry}`]; buildOptions.plugins.push({ name: 'angular-component-styles', setup(build) { @@ -95,7 +95,7 @@ export async function bundleComponentStylesheet( if (inline) { return { - path: args.path, + path: entry, namespace, }; } else { @@ -104,7 +104,7 @@ export async function bundleComponentStylesheet( }; } }); - build.onLoad({ filter: /^angular:styles\/component;css;/, namespace }, async () => { + build.onLoad({ filter: /^css;/, namespace }, async () => { return { contents: data, loader: 'css', From 09af70743800aefdefe06e0ca32bcdde18f9eb77 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 21 Dec 2022 17:21:53 -0500 Subject: [PATCH 1253/1388] feat(@angular-devkit/build-angular): implement node module license extraction for esbuild builder When using the experimental esbuild-based browser application builder, the `--extract-licenses` option will now generate an output licenses file when enabled. This option extracts license information for each node module package included in the output files of the built code. This includes JavaScript and CSS output files. The esbuild metafile information generated during the bundling steps is used as the source of information regarding what input files where included and where they are located. A path segment of `node_modules` is used to indicate that a file belongs to a package and its license should be include in the output licenses file. The package name and license field are extracted from the `package.json` file for the package. If a license file (e.g., `LICENSE`) is present in the root of the package, it will also be included in the output licenses file. Custom licenses as defined by the recommended npm custom license text (`SEE LICENSE IN `) will also be extracted and included in the output license file. For additional information regarding the license field in a `package.json`, see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#license. --- .../browser-esbuild/experimental-warnings.ts | 1 - .../src/builders/browser-esbuild/index.ts | 12 ++ .../browser-esbuild/license-extractor.ts | 176 ++++++++++++++++++ .../src/builders/browser-esbuild/options.ts | 2 + 4 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/license-extractor.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index 1db7b0b52f31..9d0c7d309891 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -12,7 +12,6 @@ import { Schema as BrowserBuilderOptions } from '../browser/schema'; const UNSUPPORTED_OPTIONS: Array = [ 'allowedCommonJsDependencies', 'budgets', - 'extractLicenses', 'progress', 'scripts', diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index c54daf74f643..2229446f74ab 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -22,6 +22,7 @@ import { getSupportedBrowsers } from '../../utils/supported-browsers'; import { SourceFileCache, createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; +import { extractLicenses } from './license-extractor'; import { NormalizedBrowserOptions, normalizeOptions } from './options'; import { shutdownSassWorkerPool } from './sass-plugin'; import { Schema as BrowserBuilderOptions } from './schema'; @@ -197,11 +198,20 @@ async function execute( await Promise.all( outputFiles.map((file) => fs.writeFile(path.join(outputPath, file.path), file.contents)), ); + // Write metafile if stats option is enabled if (options.stats) { await fs.writeFile(path.join(outputPath, 'stats.json'), JSON.stringify(metafile, null, 2)); } + // Extract and write licenses for used packages + if (options.extractLicenses) { + await fs.writeFile( + path.join(outputPath, '3rdpartylicenses.txt'), + await extractLicenses(metafile, workspaceRoot), + ); + } + // Augment the application with service worker support // TODO: This should eventually operate on the in-memory files prior to writing the output files if (serviceWorkerOptions) { @@ -269,6 +279,7 @@ function createCodeBundleOptions( conditions: ['es2020', 'es2015', 'module'], resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'], metafile: true, + legalComments: options.extractLicenses ? 'none' : 'eof', logLevel: options.verbose ? 'debug' : 'silent', minify: optimizationOptions.scripts, pure: ['forwardRef'], @@ -397,6 +408,7 @@ function createGlobalStylesBundleOptions( includePaths: stylePreprocessorOptions?.includePaths, }); buildOptions.incremental = watch; + buildOptions.legalComments = options.extractLicenses ? 'none' : 'eof'; const namespace = 'angular:styles/global'; buildOptions.entryPoints = {}; diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/license-extractor.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/license-extractor.ts new file mode 100644 index 000000000000..572da8f0d314 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/license-extractor.ts @@ -0,0 +1,176 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { Metafile } from 'esbuild'; +import { readFile } from 'node:fs/promises'; +import path from 'node:path'; + +/** + * The path segment used to signify that a file is part of a package. + */ +const NODE_MODULE_SEGMENT = 'node_modules'; + +/** + * String constant for the NPM recommended custom license wording. + * + * See: https://docs.npmjs.com/cli/v9/configuring-npm/package-json#license + * + * Example: + * ``` + * { + * "license" : "SEE LICENSE IN " + * } + * ``` + */ +const CUSTOM_LICENSE_TEXT = 'SEE LICENSE IN '; + +/** + * A list of commonly named license files found within packages. + */ +const LICENSE_FILES = ['LICENSE', 'LICENSE.txt', 'LICENSE.md']; + +/** + * Header text that will be added to the top of the output license extraction file. + */ +const EXTRACTION_FILE_HEADER = ''; + +/** + * The package entry separator to use within the output license extraction file. + */ +const EXTRACTION_FILE_SEPARATOR = '-'.repeat(80) + '\n'; + +/** + * Extracts license information for each node module package included in the output + * files of the built code. This includes JavaScript and CSS output files. The esbuild + * metafile generated during the bundling steps is used as the source of information + * regarding what input files where included and where they are located. A path segment + * of `node_modules` is used to indicate that a file belongs to a package and its license + * should be include in the output licenses file. + * + * The package name and license field are extracted from the `package.json` file for the + * package. If a license file (e.g., `LICENSE`) is present in the root of the package, it + * will also be included in the output licenses file. + * + * @param metafile An esbuild metafile object. + * @param rootDirectory The root directory of the workspace. + * @returns A string containing the content of the output licenses file. + */ +export async function extractLicenses(metafile: Metafile, rootDirectory: string) { + let extractedLicenseContent = `${EXTRACTION_FILE_HEADER}\n${EXTRACTION_FILE_SEPARATOR}`; + + const seenPaths = new Set(); + const seenPackages = new Set(); + + for (const entry of Object.values(metafile.outputs)) { + for (const [inputPath, { bytesInOutput }] of Object.entries(entry.inputs)) { + // Skip if not included in output + if (bytesInOutput <= 0) { + continue; + } + + // Skip already processed paths + if (seenPaths.has(inputPath)) { + continue; + } + seenPaths.add(inputPath); + + // Skip non-package paths + if (!inputPath.includes(NODE_MODULE_SEGMENT)) { + continue; + } + + // Extract the package name from the path + let baseDirectory = path.join(rootDirectory, inputPath); + let nameOrScope, nameOrFile; + let found = false; + while (baseDirectory !== path.dirname(baseDirectory)) { + const segment = path.basename(baseDirectory); + if (segment === NODE_MODULE_SEGMENT) { + found = true; + break; + } + + nameOrFile = nameOrScope; + nameOrScope = segment; + baseDirectory = path.dirname(baseDirectory); + } + + // Skip non-package path edge cases that are not caught in the includes check above + if (!found || !nameOrScope) { + continue; + } + + const packageName = nameOrScope.startsWith('@') + ? `${nameOrScope}/${nameOrFile}` + : nameOrScope; + const packageDirectory = path.join(baseDirectory, packageName); + + // Load the package's metadata to find the package's name, version, and license type + const packageJsonPath = path.join(packageDirectory, 'package.json'); + let packageJson; + try { + packageJson = JSON.parse(await readFile(packageJsonPath, 'utf-8')) as { + name: string; + version: string; + // The object form is deprecated and should only be present in old packages + license?: string | { type: string }; + }; + } catch { + // Invalid package + continue; + } + + // Skip already processed packages + const packageId = `${packageName}@${packageJson.version}`; + if (seenPackages.has(packageId)) { + continue; + } + seenPackages.add(packageId); + + // Attempt to find license text inside package + let licenseText = ''; + if ( + typeof packageJson.license === 'string' && + packageJson.license.toLowerCase().startsWith(CUSTOM_LICENSE_TEXT) + ) { + // Attempt to load the package's custom license + let customLicensePath; + const customLicenseFile = path.normalize( + packageJson.license.slice(CUSTOM_LICENSE_TEXT.length + 1).trim(), + ); + if (customLicenseFile.startsWith('..') || path.isAbsolute(customLicenseFile)) { + // Path is attempting to access files outside of the package + // TODO: Issue warning? + } else { + customLicensePath = path.join(packageDirectory, customLicenseFile); + try { + licenseText = await readFile(customLicensePath, 'utf-8'); + break; + } catch {} + } + } else { + // Search for a license file within the root of the package + for (const potentialLicense of LICENSE_FILES) { + const packageLicensePath = path.join(packageDirectory, potentialLicense); + try { + licenseText = await readFile(packageLicensePath, 'utf-8'); + break; + } catch {} + } + } + + // Generate the package's license entry in the output content + extractedLicenseContent += `Package: ${packageJson.name}\n`; + extractedLicenseContent += `License: ${JSON.stringify(packageJson.license, null, 2)}\n`; + extractedLicenseContent += `\n${licenseText}\n`; + extractedLicenseContent += EXTRACTION_FILE_SEPARATOR; + } + } + + return extractedLicenseContent; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index c752b35e01af..d6d1196cdf6d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -136,6 +136,7 @@ export async function normalizeOptions( buildOptimizer, crossOrigin, externalDependencies, + extractLicenses, inlineStyleLanguage = 'css', poll, preserveSymlinks, @@ -153,6 +154,7 @@ export async function normalizeOptions( cacheOptions, crossOrigin, externalDependencies, + extractLicenses, inlineStyleLanguage, stats: !!statsJson, poll, From c2d76bd083bf09072c92430c725c56cb55cbac07 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 9 Jan 2023 14:41:11 +0000 Subject: [PATCH 1254/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 ++-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- yarn.lock | 16 ++++++++-------- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index a4bca10d47ee..dc8fafb91feb 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@ee27e18676602a29b20703051ac303ea6386e54f + - uses: angular/dev-infra/github-actions/branch-manager@156cc268d0e823a64267baa765c133d6a41761b0 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index e3086ccffaba..689d5c608e46 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@ee27e18676602a29b20703051ac303ea6386e54f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@156cc268d0e823a64267baa765c133d6a41761b0 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@ee27e18676602a29b20703051ac303ea6386e54f + - uses: angular/dev-infra/github-actions/post-approval-changes@156cc268d0e823a64267baa765c133d6a41761b0 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 511da6ba74be..2694223f35e1 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@ee27e18676602a29b20703051ac303ea6386e54f + - uses: angular/dev-infra/github-actions/feature-request@156cc268d0e823a64267baa765c133d6a41761b0 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 64a849f49c4c..c317bab92754 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@ee27e18676602a29b20703051ac303ea6386e54f + - uses: angular/dev-infra/github-actions/lock-closed@156cc268d0e823a64267baa765c133d6a41761b0 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 068b701485e0..a65d6151cbe0 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.1.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#940c56c8cce3366b18653352899bc7891b684ea1", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#52c88339cd287d11c21efccd22464ca3c5324b5d", "@angular/cdk": "15.1.0-rc.0", "@angular/common": "15.1.0-rc.0", "@angular/compiler": "15.1.0-rc.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.1.0-rc.0", "@angular/localize": "15.1.0-rc.0", "@angular/material": "15.1.0-rc.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#079a46ee8578c4ee17d532108295ac1ff4a1a47c", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a853af3a367435a5a63b5e77c96ee4aed406f27", "@angular/platform-browser": "15.1.0-rc.0", "@angular/platform-browser-dynamic": "15.1.0-rc.0", "@angular/platform-server": "15.1.0-rc.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 70d4c5485b53..7ca3257218b6 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#da275ef5ebbf4ad3a8afe2f5b2a03d06cbd5a21e", - "@angular/cdk": "github:angular/cdk-builds#81ddbac570c776776821d039ad9ccd8f0fd61759", + "@angular/cdk": "github:angular/cdk-builds#c07e53361ee9e5054e14b7ff3e841fb4ea71a1f4", "@angular/common": "github:angular/common-builds#70dca3677df929dea809f861edc885e1a734cad9", "@angular/compiler": "github:angular/compiler-builds#7d599beb3bef030ff6a766303c0c25903549c78f", "@angular/compiler-cli": "github:angular/compiler-cli-builds#8e3582d39bd7c5a4ef31b555e844af53a7565365", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#3de6473abda2e874be05b7405a5d20dcc590ef35", "@angular/language-service": "github:angular/language-service-builds#5c1c6d10ee081357753717ed663e1fc65f28b287", "@angular/localize": "github:angular/localize-builds#b9b0b92149d6d1dacbbaeeceffd4c7a7eb83a100", - "@angular/material": "github:angular/material-builds#8681468d1612f440cce11db707cf49d45aa9cd43", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#5995cda0c5f63daf581658b94cf2ab53981d301e", + "@angular/material": "github:angular/material-builds#6d2704b3613cbbb9d5d0a986ef4e1df655cb0d9c", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c2844403f9deedb9061d620975295326d78f78f5", "@angular/platform-browser": "github:angular/platform-browser-builds#db2ced81a8f9c89576a6b29c6c03b64101c0761f", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#58ccef651fa65ea668982e6562b703b8195aeafe", "@angular/platform-server": "github:angular/platform-server-builds#6ae958000cd15cd5913e385a4b5e7d19aa60413a", diff --git a/yarn.lock b/yarn.lock index d02e86be93b9..772ebb7af42b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,10 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#940c56c8cce3366b18653352899bc7891b684ea1": - version "0.0.0-ee27e18676602a29b20703051ac303ea6386e54f" - uid "940c56c8cce3366b18653352899bc7891b684ea1" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#940c56c8cce3366b18653352899bc7891b684ea1" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#52c88339cd287d11c21efccd22464ca3c5324b5d": + version "0.0.0-156cc268d0e823a64267baa765c133d6a41761b0" + uid "52c88339cd287d11c21efccd22464ca3c5324b5d" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#52c88339cd287d11c21efccd22464ca3c5324b5d" dependencies: "@angular-devkit/build-angular" "15.1.0-next.3" "@angular/benchpress" "0.3.0" @@ -282,10 +282,10 @@ "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#079a46ee8578c4ee17d532108295ac1ff4a1a47c": - version "0.0.0-ee27e18676602a29b20703051ac303ea6386e54f" - uid "079a46ee8578c4ee17d532108295ac1ff4a1a47c" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#079a46ee8578c4ee17d532108295ac1ff4a1a47c" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a853af3a367435a5a63b5e77c96ee4aed406f27": + version "0.0.0-156cc268d0e823a64267baa765c133d6a41761b0" + uid "8a853af3a367435a5a63b5e77c96ee4aed406f27" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a853af3a367435a5a63b5e77c96ee4aed406f27" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.8.0" From e9987cfdd653364f82d61b6dcbc39fa276a8975c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 9 Jan 2023 15:07:39 +0000 Subject: [PATCH 1255/1388] fix(@angular-devkit/build-angular): provide an option to `exclude` specs in Karma builder With this change we add an `exclude` option to the Karma builder to provide a way to exclude certain specs from the compilation. This is useful, when having integration, e2e and unit tests with the same suffix. Closes #24472 --- .../angular_devkit/build_angular/index.md | 1 + .../src/builders/karma/find-tests-plugin.ts | 20 ++++++--- .../build_angular/src/builders/karma/index.ts | 1 + .../src/builders/karma/schema.json | 10 ++++- .../karma/tests/options/exclude_spec.ts | 44 +++++++++++++++++++ 5 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/karma/tests/options/exclude_spec.ts diff --git a/goldens/public-api/angular_devkit/build_angular/index.md b/goldens/public-api/angular_devkit/build_angular/index.md index 2a53da0543bd..032ae5741772 100644 --- a/goldens/public-api/angular_devkit/build_angular/index.md +++ b/goldens/public-api/angular_devkit/build_angular/index.md @@ -176,6 +176,7 @@ export interface KarmaBuilderOptions { browsers?: string; codeCoverage?: boolean; codeCoverageExclude?: string[]; + exclude?: string[]; fileReplacements?: FileReplacement_2[]; include?: string[]; inlineStyleLanguage?: InlineStyleLanguage_2; diff --git a/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts index 6fc935393ed8..2710d92a507f 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts @@ -23,6 +23,7 @@ const PLUGIN_NAME = 'angular-find-tests-plugin'; export interface FindTestsPluginOptions { include?: string[]; + exclude?: string[]; workspaceRoot: string; projectSourceRoot: string; } @@ -33,7 +34,12 @@ export class FindTestsPlugin { constructor(private options: FindTestsPluginOptions) {} apply(compiler: Compiler): void { - const { include = ['**/*.spec.ts'], projectSourceRoot, workspaceRoot } = this.options; + const { + include = ['**/*.spec.ts'], + exclude = [], + projectSourceRoot, + workspaceRoot, + } = this.options; const webpackOptions = compiler.options; const entry = typeof webpackOptions.entry === 'function' ? webpackOptions.entry() : webpackOptions.entry; @@ -42,7 +48,7 @@ export class FindTestsPlugin { // Add tests files are part of the entry-point. webpackOptions.entry = async () => { - const specFiles = await findTests(include, workspaceRoot, projectSourceRoot); + const specFiles = await findTests(include, exclude, workspaceRoot, projectSourceRoot); if (!specFiles.length) { assert(this.compilation, 'Compilation cannot be undefined.'); @@ -73,12 +79,13 @@ export class FindTestsPlugin { // go through all patterns and find unique list of files async function findTests( - patterns: string[], + include: string[], + exclude: string[], workspaceRoot: string, projectSourceRoot: string, ): Promise { - const matchingTestsPromises = patterns.map((pattern) => - findMatchingTests(pattern, workspaceRoot, projectSourceRoot), + const matchingTestsPromises = include.map((pattern) => + findMatchingTests(pattern, exclude, workspaceRoot, projectSourceRoot), ); const files = await Promise.all(matchingTestsPromises); @@ -90,6 +97,7 @@ const normalizePath = (path: string): string => path.replace(/\\/g, '/'); async function findMatchingTests( pattern: string, + ignore: string[], workspaceRoot: string, projectSourceRoot: string, ): Promise { @@ -132,7 +140,7 @@ async function findMatchingTests( root: projectSourceRoot, nomount: true, absolute: true, - ignore: ['**/node_modules/**'], + ignore: ['**/node_modules/**', ...ignore], }); } diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 6f232944290b..cae73d5e1158 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -134,6 +134,7 @@ export function execute( webpackConfig.plugins.push( new FindTestsPlugin({ include: options.include, + exclude: options.exclude, workspaceRoot: context.workspaceRoot, projectSourceRoot: path.join(context.workspaceRoot, sourceRoot), }), diff --git a/packages/angular_devkit/build_angular/src/builders/karma/schema.json b/packages/angular_devkit/build_angular/src/builders/karma/schema.json index f9a081b5bdd5..7f9a5e699b8d 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/schema.json +++ b/packages/angular_devkit/build_angular/src/builders/karma/schema.json @@ -141,7 +141,15 @@ "type": "string" }, "default": ["**/*.spec.ts"], - "description": "Globs of files to include, relative to workspace or project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead." + "description": "Globs of files to include, relative to project root. \nThere are 2 special cases:\n - when a path to directory is provided, all spec files ending \".spec.@(ts|tsx)\" will be included\n - when a path to a file is provided, and a matching spec file exists it will be included instead." + }, + "exclude": { + "type": "array", + "items": { + "type": "string" + }, + "default": [], + "description": "Globs of files to exclude, relative to the project root." }, "sourceMap": { "description": "Output source maps for scripts and styles. For more information, see https://angular.io/guide/workspace-config#source-map-configuration.", diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/exclude_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/exclude_spec.ts new file mode 100644 index 000000000000..8befe0ae8865 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/exclude_spec.ts @@ -0,0 +1,44 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { execute } from '../../index'; +import { BASE_OPTIONS, KARMA_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { + describe('Option: "exclude"', () => { + beforeEach(async () => { + await harness.writeFiles({ + 'src/app/error.spec.ts': ` + describe('Error spec', () => { + it('should error', () => { + expect(false).toBe(true); + }); + });`, + }); + }); + + it(`should not exclude any spec when exclude is not supplied`, async () => { + harness.useTarget('test', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBeFalse(); + }); + + it(`should exclude spec that matches the 'exclude' pattern`, async () => { + harness.useTarget('test', { + ...BASE_OPTIONS, + exclude: ['**/error.spec.ts'], + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + }); + }); +}); From 84d2d8b378207642567569f9086eb160ba2a8bdd Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 6 Jan 2023 19:45:17 -0500 Subject: [PATCH 1256/1388] fix(@angular-devkit/build-angular): use relative css resource paths in esbuild JSON stats When using the experimental esbuild-based browser application builder with the `--stats-json` option, all referenced CSS resources will now use paths relative to the workspace root within the output JSON file. Previously, the resource paths within the stats JSON file were absolute and were inconsistent with the other JavaScript and CSS paths within the file. CSS resources include files that have been referenced in a bundled stylesheet `url()` such as images or fonts. --- .../browser-esbuild/css-resource-plugin.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts index 5cdad4e52e15..89bf711ebf1a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/css-resource-plugin.ts @@ -7,7 +7,8 @@ */ import type { Plugin, PluginBuild } from 'esbuild'; -import { readFile } from 'fs/promises'; +import { readFile } from 'node:fs/promises'; +import { join, relative } from 'node:path'; /** * Symbol marker used to indicate CSS resource resolution is being attempted. @@ -54,15 +55,25 @@ export function createCssResourcePlugin(): Plugin { resolveDir, }); + // Return results that are not files since these are most likely specific to another plugin + // and cannot be loaded by this plugin. + if (result.namespace !== 'file' || !result.path) { + return result; + } + + // All file results are considered CSS resources and will be loaded via the file loader return { ...result, + // Use a relative path to prevent fully resolved paths in the metafile (JSON stats file). + // This is only necessary for custom namespaces. esbuild will handle the file namespace. + path: relative(build.initialOptions.absWorkingDir ?? '', result.path), namespace: 'css-resource', }; }); build.onLoad({ filter: /.*/, namespace: 'css-resource' }, async (args) => { return { - contents: await readFile(args.path), + contents: await readFile(join(build.initialOptions.absWorkingDir ?? '', args.path)), loader: 'file', }; }); From 59652c3f2b70d02f6ee4c87c777c9fa87d33bae0 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 9 Jan 2023 15:07:50 +0000 Subject: [PATCH 1257/1388] build: lock file maintenance --- yarn.lock | 355 ++++++++++++++++++++---------------------------------- 1 file changed, 129 insertions(+), 226 deletions(-) diff --git a/yarn.lock b/yarn.lock index 772ebb7af42b..fd3954efe206 100644 --- a/yarn.lock +++ b/yarn.lock @@ -365,7 +365,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@7.20.12": +"@babel/core@7.20.12", "@babel/core@^7.12.3", "@babel/core@^7.16.0": version "7.20.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== @@ -407,27 +407,6 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.12.3", "@babel/core@^7.16.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" - integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.7" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/generator@7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" @@ -473,9 +452,9 @@ semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz#d0e1f8d7e4ed5dac0389364d9c0c191d948ade6f" - integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== + version "7.20.12" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819" + integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" @@ -483,6 +462,7 @@ "@babel/helper-member-expression-to-functions" "^7.20.7" "@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-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": @@ -546,7 +526,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.20.7": +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.2": version "7.20.11" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== @@ -1319,23 +1299,7 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7": - version "7.20.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" - integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.20.12": +"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7": version "7.20.12" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== @@ -1446,11 +1410,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.13.tgz#1fc9bfbff0bac558008b2ad7242db1c8024d8cfd" - integrity sha512-r4xetsd1ez1NF9/9R2f9Q6AlxqiZLwUqo7ICOcvEVwopVkXUcspIjEbJk0EVTgT6Cp5+ymzGPT6YNV0ievx4yA== - "@esbuild/android-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz#833184b8a0a96f9c85105c53d0a67e6d3c5c3f07" @@ -1461,11 +1420,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz#670061e921b2ef56adfa04ed66013e892136ec58" integrity sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw== -"@esbuild/android-arm@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.13.tgz#df3317286eed68c727daf39c2d585625f9c2f170" - integrity sha512-JmtqThupn9Yf+FzANE+GG73ASUkssnPwOsndUElhp23685QzRK+MO1UompOlBaXV9D5FTuYcPnw7p4mCq2YbZQ== - "@esbuild/android-arm@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.16.tgz#23761b2fd1dfa4806161dbfc9e0824f04061cb95" @@ -1476,11 +1430,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.6.tgz#450a79c5b04f955106515b0d24d0a428f3b7b468" integrity sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ== -"@esbuild/android-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.13.tgz#c34826c4bdc57c60cbfb8d5bbd2306a89225626a" - integrity sha512-hKt1bFht/Vtp0xJ0ZVzFMnPy1y1ycmM3KNnp3zsyZfQmw7nhs2WLO4vxdR5YG+6RsHKCb2zbZ3VwlC0Tij0qyA== - "@esbuild/android-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.16.tgz#ffa09f04c0ffea5b594ab7655fc9ca1220365e9b" @@ -1491,11 +1440,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.6.tgz#d62788083113d54456c79d8aefb4a8f922ff9100" integrity sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ== -"@esbuild/darwin-arm64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.13.tgz#0b80c8580c262ccfb1203053201cf19c6f7b4cdb" - integrity sha512-ogrVuNi2URocrr3Ps20f075EMm9V7IeenOi9FRj4qdbT6mQlwLuP4l90PW2iBrKERx0oRkcZprEUNsz/3xd7ww== - "@esbuild/darwin-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz#62ed2b4bfab594b9e5e708580361f1d059b53b26" @@ -1506,11 +1450,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz#2d1c78ce0752236fa088fc3cc4e33a4fd3d26c84" integrity sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w== -"@esbuild/darwin-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.13.tgz#f1a6c9ea67d4eaaf4944e1cbceb800eabc6e7e74" - integrity sha512-Agajik9SBGiKD7FPXE+ExW6x3MgA/dUdpZnXa9y1tyfE4lKQx+eQiknSdrBnWPeqa9wL0AOvkhghmYhpVkyqkA== - "@esbuild/darwin-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz#e9756d34cd9b3737a5354e89ca0fdca32d8df64c" @@ -1521,11 +1460,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz#873b80540e5e8f0d1b87e2a48e7bfaecc097bfc0" integrity sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA== -"@esbuild/freebsd-arm64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.13.tgz#d1a45ac5c4a1be566c4eefbadbe5a967288ad338" - integrity sha512-KxMO3/XihBcHM+xQUM6nQZO1SgQuOsd1DCnKF1a4SIf/i5VD45vrqN3k8ePgFrEbMi7m5JeGmvNqwJXinF0a4Q== - "@esbuild/freebsd-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz#db7bce444d372e5a213a3f359c42aee3acc0dd45" @@ -1536,11 +1470,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz#3d432d5e9fa17955f1e8b23255a00207f22891c0" integrity sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ== -"@esbuild/freebsd-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.13.tgz#ec64a31cabb08343bb4520a221324b40509dffc8" - integrity sha512-Ez15oqV1vwvZ30cVLeBW14BsWq/fdWNQGMOxxqaSJVQVLqHhvgfQ7gxGDiN9tpJdeQhqJO+Q0r02/Tce5+USNg== - "@esbuild/freebsd-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz#02e8a81b7e56040b5eb883896de445a6cd3501f0" @@ -1551,11 +1480,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz#7e892ec08c9a11863e86feff169452f3cde967af" integrity sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g== -"@esbuild/linux-arm64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.13.tgz#e8db3c3751b32ecf801751424eae43f6863a2ee7" - integrity sha512-qi5n7KwcGViyJeZeQnu8fB6dC3Mlm5PGaqSv2HhQDDx/MPvVfQGNMcv7zcBL4qk3FkuWhGVwXkjQ76x7R0PWlA== - "@esbuild/linux-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz#ea8c3df172644fa6437f0083c2a38b50f89e5b98" @@ -1566,11 +1490,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz#d1e2b0099cb19dce96ef9e4d4b94bc861c9b39cc" integrity sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw== -"@esbuild/linux-arm@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.13.tgz#ac0c8e9f3db8d418f588ae250e9c66ffdcf3cd82" - integrity sha512-18dLd2L3mda+iFj6sswyBMSh2UwniamD9M4DwPv8VM+9apRFlQ5IGKxBdumnTuOI4NvwwAernmUseWhYQ9k+rg== - "@esbuild/linux-arm@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz#c1c2e97e67bb7247e6f60e2644de057bfedb8cbb" @@ -1581,11 +1500,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz#ecb1543b12c27f7e4c7ad67d5e13d9a08d034e55" integrity sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg== -"@esbuild/linux-ia32@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.13.tgz#41ee9bd3b7161ab681fab6cb3990a3f5c08a9940" - integrity sha512-2489Xad9sr+6GD7nB913fUqpCsSwVwgskkQTq4Or2mZntSPYPebyJm8l1YruHo7oqYMTGV6RiwGE4gRo3H+EPQ== - "@esbuild/linux-ia32@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz#9a0b0e926926f891a3e7f7c50bb38e3db49c2c9a" @@ -1596,11 +1510,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz#916c13e4076d03cabbbfaa6735e6c195fe332932" integrity sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw== -"@esbuild/linux-loong64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.13.tgz#e4a832708e0b47078b91413edcfdb6af88c854a3" - integrity sha512-x8KplRu9Y43Px8I9YS+sPBwQ+fw44Mvp2BPVADopKDWz+h3fcj1BvRU58kxb89WObmwKX9sWdtYzepL4Fmx03A== - "@esbuild/linux-loong64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz#c5a50ff5981d457ed45f42c3f06a60086759c79b" @@ -1611,11 +1520,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz#d337a6cfb132288ac59e1f028be9b16cf4c7d339" integrity sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA== -"@esbuild/linux-mips64el@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.13.tgz#30d8571b71e0b8bf25fc5ef11422221ed23cdacc" - integrity sha512-qhhdWph9FLwD9rVVC/nUf7k2U4NZIA6/mGx0B7+O6PFV0GjmPA2E3zDQ4NUjq9P26E0DeAZy9akH9dYcUBRU7A== - "@esbuild/linux-mips64el@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz#e85b7e3c25000be2ae373e5208e55e282a9763e0" @@ -1626,11 +1530,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz#cfcb7bcae8fbc91d07c93f3c2e26779ddaa7c738" integrity sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q== -"@esbuild/linux-ppc64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.13.tgz#32a3855d4b79ba1d2b63dab592cb9f0d4a9ba485" - integrity sha512-cVWAPKsrRVxI1jCeJHnYSbE3BrEU+pZTZK2gfao9HRxuc+3m4+RLfs3EVEpGLmMKEcWfVCB9wZ3yNxnknutGKQ== - "@esbuild/linux-ppc64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz#24a0013bf727830df44fece571172ebe31b5c5e6" @@ -1641,11 +1540,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz#aa2b0fc6ab0dea618f23d13946032d327da7806e" integrity sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA== -"@esbuild/linux-riscv64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.13.tgz#6139202858da8202724d7079102614c269524f34" - integrity sha512-Agb7dbRyZWnmPn5Vvf0eyqaEUqSsaIUwwyInu2EoFTaIDRp093QU2M5alUyOooMLkRbD1WvqQNwx08Z/g+SAcQ== - "@esbuild/linux-riscv64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz#b080998d8d0480e8235f1384c585ae505e98a19d" @@ -1656,11 +1550,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz#ade24a148fc7ded3a8a042f97a6441beba4f4f96" integrity sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA== -"@esbuild/linux-s390x@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.13.tgz#df3550a51e4155cde31486e01d8121f078e959ae" - integrity sha512-AqRBIrc/+kl08ahliNG+EyU+j41wIzQfwBTKpi80cCDiYvYFPuXjvzZsD9muiu58Isj0RVni9VgC4xK/AnSW4g== - "@esbuild/linux-s390x@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz#5042de05b9b653dfd134f05e1b37b61704c14c42" @@ -1671,11 +1560,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz#b3c051e15f6fd3f9af801aa2cfe2cad0e069e4ea" integrity sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w== -"@esbuild/linux-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.13.tgz#deb7951829ea5930e0d88440aeb5df0756ebb2d0" - integrity sha512-S4wn2BimuhPcoArRtVrdHUKIymCCZcYAXQE47kUiX4yrUrEX2/ifn5eKNbZ5c1jJKUlh1gC2ESIN+iw3wQax3g== - "@esbuild/linux-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz#b7c0750f2276c9dcf41f0f2229adca46ef22f698" @@ -1686,11 +1570,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz#49368780003c0f32fc79738d20404e39429fdc48" integrity sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg== -"@esbuild/netbsd-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.13.tgz#8cba08074263862138cc5c63ad7f9640fe3faa69" - integrity sha512-2c8JWgfUMlQHTdaR5X3xNMwqOyad8kgeCupuVkdm3QkUOzGREjlTETQsK6oHifocYzDCo9FeKcUwsK356SdR+g== - "@esbuild/netbsd-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz#e2a0ee181fbbe834174d26e24ce1b258232bb3eb" @@ -1701,11 +1580,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz#2227e9483c5a861bbecd740e525cd9b17dc01c61" integrity sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q== -"@esbuild/openbsd-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.13.tgz#4ae19ac63c665424d248ba5c577618dd7bbcebd5" - integrity sha512-Bwh+PmKD/LK+xBjqIpnYnKYj0fIyQJ0YpRxsn0F+WfzvQ2OA+GKDlf8AHosiCns26Q4Dje388jQVwfOBZ1GaFw== - "@esbuild/openbsd-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz#87a84c1932e00f52ab3380c31facf0e48086ffb9" @@ -1716,11 +1590,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz#6c6d15c9f5797ce5f9c7bd105b867b8fbdc964b7" integrity sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w== -"@esbuild/sunos-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.13.tgz#592caacab6b2c7669cd869b51f66dc354da03fc2" - integrity sha512-8wwk6f9XGnhrF94/DBdFM4Xm1JeCyGTCj67r516VS9yvBVQf3Rar54L+XPVDs/oZOokwH+XsktrgkuTMAmjntg== - "@esbuild/sunos-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz#996bcd2603cd345733c3aa5f52bfd5b8fa7d1d36" @@ -1731,11 +1600,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz#3ac4275f948653a56d52eca7483f8d683bdd14ca" integrity sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q== -"@esbuild/win32-arm64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.13.tgz#965ebbe889e4221962250c55facaa1e48130c162" - integrity sha512-Jmwbp/5ArLCiRAHC33ODfcrlIcbP/exXkOEUVkADNJC4e/so2jm+i8IQFvVX/lA2GWvK3GdgcN0VFfp9YITAbg== - "@esbuild/win32-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz#404a9411d12533d0f2ce0a85df6ddb32e851ef04" @@ -1746,11 +1610,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz#8d913e77797c00e05922d46b6f74011bb0655bfd" integrity sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw== -"@esbuild/win32-ia32@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.13.tgz#1b04965bcf340ba4879b452ac32df63216d4c87e" - integrity sha512-AX6WjntGjhJHzrPSVvjMD7grxt41koHfAOx6lxLorrpDwwIKKPaGDASPZgvFIZHTbwhOtILW6vAXxYPDsKpDJA== - "@esbuild/win32-ia32@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz#bb5655a48f5f87fee870061883411f5149bc5e44" @@ -1761,11 +1620,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz#573b4aa7389d1dc87ab1877a8ee19e2e13ad51b0" integrity sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q== -"@esbuild/win32-x64@0.16.13": - version "0.16.13" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.13.tgz#0b0989cf0e7887cb0f3124e705cee68a694b96dd" - integrity sha512-A+U4gM6OOkPS03UgVU08GTpAAAxPsP/8Z4FmneGo4TaVSD99bK9gVJXlqUEPMO/htFXEAht2O6pX4ErtLY5tVg== - "@esbuild/win32-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz#ee22fed0b2e0c00ce895cdfae9d32ef069a12e04" @@ -3574,9 +3428,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.18" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.18.tgz#466225ab4fbabb9aa711f5b406796daf1374a5b7" - integrity sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw== + version "17.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" + integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== dependencies: "@types/yargs-parser" "*" @@ -4207,15 +4061,20 @@ autoprefixer@10.4.13, autoprefixer@^10.4.12: picocolors "^1.0.0" postcss-value-parser "^4.2.0" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== axios@0.21.4: version "0.21.4" @@ -4656,9 +4515,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001441" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" - integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== + version "1.0.30001442" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614" + integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow== caseless@~0.12.0: version "0.12.0" @@ -4908,9 +4767,9 @@ commander@^2.2.0, commander@^2.20.0: integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^9.4.0, commander@^9.4.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" - integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== common-ancestor-path@^1.0.1: version "1.0.1" @@ -5533,9 +5392,9 @@ engine.io-client@~6.2.3: xmlhttprequest-ssl "~2.0.0" engine.io-parser@~5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" - integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== + version "5.0.5" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.5.tgz#c6fa52e57d8d2dc68b24754348f779aa6e44f886" + integrity sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g== engine.io@~6.2.1: version "6.2.1" @@ -5606,26 +5465,31 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" - integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== + version "1.21.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.0.tgz#dd1b69ea5bfc3c27199c9753efd4de015102c252" + integrity sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g== dependencies: call-bind "^1.0.2" + es-set-tostringtag "^2.0.0" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + globalthis "^1.0.3" gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" + internal-slot "^1.0.4" + is-array-buffer "^3.0.0" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" + is-typed-array "^1.1.10" is-weakref "^1.0.2" object-inspect "^1.12.2" object-keys "^1.1.1" @@ -5634,13 +5498,24 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: safe-regex-test "^1.0.0" string.prototype.trimend "^1.0.6" string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-set-tostringtag@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -5705,7 +5580,7 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-wasm@0.16.16: +esbuild-wasm@0.16.16, esbuild-wasm@^0.16.0: version "0.16.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.16.tgz#5f1ae6ebc325322d9f5772d598e80144572e5b5e" integrity sha512-X7wDIw8Pg0WFfDyrUhMpoMaGuCPeAfsQL8zJq5OeYQoNNXIvx8C+E1gz31bLcEOEhx0MBvupAM6ZI2D0sR8Fsw== @@ -5715,12 +5590,7 @@ esbuild-wasm@0.16.6: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.6.tgz#d8666fea52e953043dc33767105bcc450b166580" integrity sha512-neIOUB/4y7QNxhiDSA0j3tju+HXhSMbPMmNH78rlB/vTfJ1v7M8SdvTJgTI+L1ppGUFYu0iJqfLOjC5s9Gzh8g== -esbuild-wasm@^0.16.0: - version "0.16.13" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.13.tgz#038c86168a22f05393e0dd3b8047451a6b839413" - integrity sha512-TW1pPU7EK3+epIj496qBHPqvAwuGp8Br8yocfk6nez/GjxVx2jyJo6E7kJ0nNEF2XsqWG5/FvnomDHfnmZHsBQ== - -esbuild@0.16.16: +esbuild@0.16.16, esbuild@^0.16.0: version "0.16.16" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.16.tgz#e8a27820a30cc1449066f9bbe8916b145dbc9046" integrity sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg== @@ -5776,34 +5646,6 @@ esbuild@0.16.6: "@esbuild/win32-ia32" "0.16.6" "@esbuild/win32-x64" "0.16.6" -esbuild@^0.16.0: - version "0.16.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.13.tgz#83cd347c28221268bbfa0425db532d7d05f85b48" - integrity sha512-oYwFdSEIoKM1oYzyem1osgKJAvg5447XF+05ava21fOtilyb2HeQQh26/74K4WeAk5dZmj/Mx10zUqUnI14jhA== - optionalDependencies: - "@esbuild/android-arm" "0.16.13" - "@esbuild/android-arm64" "0.16.13" - "@esbuild/android-x64" "0.16.13" - "@esbuild/darwin-arm64" "0.16.13" - "@esbuild/darwin-x64" "0.16.13" - "@esbuild/freebsd-arm64" "0.16.13" - "@esbuild/freebsd-x64" "0.16.13" - "@esbuild/linux-arm" "0.16.13" - "@esbuild/linux-arm64" "0.16.13" - "@esbuild/linux-ia32" "0.16.13" - "@esbuild/linux-loong64" "0.16.13" - "@esbuild/linux-mips64el" "0.16.13" - "@esbuild/linux-ppc64" "0.16.13" - "@esbuild/linux-riscv64" "0.16.13" - "@esbuild/linux-s390x" "0.16.13" - "@esbuild/linux-x64" "0.16.13" - "@esbuild/netbsd-x64" "0.16.13" - "@esbuild/openbsd-x64" "0.16.13" - "@esbuild/sunos-x64" "0.16.13" - "@esbuild/win32-arm64" "0.16.13" - "@esbuild/win32-ia32" "0.16.13" - "@esbuild/win32-x64" "0.16.13" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6333,6 +6175,13 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -6598,6 +6447,13 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -6714,6 +6570,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -6962,9 +6823,9 @@ immutable@^3: integrity sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg== immutable@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.1.tgz#8a4025691018c560a40c67e43d698f816edc44d4" - integrity sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ== + version "4.2.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.2.tgz#2da9ff4384a4330c36d4d1bc88e90f9e0b0ccd16" + integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" @@ -7063,7 +6924,7 @@ inquirer@8.2.4: through "^2.3.6" wrap-ansi "^7.0.0" -internal-slot@^1.0.3: +internal-slot@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== @@ -7097,6 +6958,15 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== +is-array-buffer@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -7131,7 +7001,7 @@ is-builtin-module@^3.2.0: dependencies: builtin-modules "^3.3.0" -is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -7298,6 +7168,17 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -8186,9 +8067,9 @@ media-typer@0.3.0: integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.4.12, memfs@^3.4.3: - version "3.4.12" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.12.tgz#d00f8ad8dab132dc277c659dc85bfd14b07d03bd" - integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== + version "3.4.13" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345" + integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== dependencies: fs-monkey "^1.0.3" @@ -8586,9 +8467,9 @@ node-forge@^1: integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp-build@^4.2.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" - integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== node-gyp@^9.0.0, node-gyp@^9.1.0: version "9.3.1" @@ -9483,7 +9364,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.19: +postcss@8.4.20: version "8.4.20" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== @@ -9492,7 +9373,7 @@ postcss@8.4.20, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.1 picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.21: +postcss@8.4.21, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.19: version "8.4.21" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== @@ -9522,9 +9403,9 @@ prettier@2.7.1: integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== prettier@^2.0.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" - integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== + version "2.8.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.2.tgz#c4ea1b5b454d7c4b59966db2e06ed7eec5dfd160" + integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw== pretty-bytes@^5.3.0: version "5.6.0" @@ -10275,6 +10156,7 @@ sass@1.57.1, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -11267,6 +11149,15 @@ type@^2.7.2: resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typed-assert@^1.0.8: version "1.0.9" resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" @@ -11795,6 +11686,18 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^1.2.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -11875,9 +11778,9 @@ ws@8.9.0: integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== ws@>=8.7.0, ws@^8.4.2: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + version "8.12.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" + integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== ws@~8.2.3: version "8.2.3" From 5c0198d6577fb495ae3b18ee01b896c7f478af57 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 11 Jan 2023 07:38:20 +0000 Subject: [PATCH 1258/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 668 +++++++----------- 8 files changed, 307 insertions(+), 435 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index dc8fafb91feb..62c6f6617b64 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@156cc268d0e823a64267baa765c133d6a41761b0 + - uses: angular/dev-infra/github-actions/branch-manager@736f9a825a9b509f12e99b980d84fe1e9e2ba39f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 689d5c608e46..e9b020104c21 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@156cc268d0e823a64267baa765c133d6a41761b0 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@736f9a825a9b509f12e99b980d84fe1e9e2ba39f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@156cc268d0e823a64267baa765c133d6a41761b0 + - uses: angular/dev-infra/github-actions/post-approval-changes@736f9a825a9b509f12e99b980d84fe1e9e2ba39f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 2694223f35e1..bd11fd6bb63b 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@156cc268d0e823a64267baa765c133d6a41761b0 + - uses: angular/dev-infra/github-actions/feature-request@736f9a825a9b509f12e99b980d84fe1e9e2ba39f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index c317bab92754..7f07db6b516f 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@156cc268d0e823a64267baa765c133d6a41761b0 + - uses: angular/dev-infra/github-actions/lock-closed@736f9a825a9b509f12e99b980d84fe1e9e2ba39f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index a65d6151cbe0..de150c3f13a9 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.1.0-rc.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#52c88339cd287d11c21efccd22464ca3c5324b5d", + "@angular/animations": "15.1.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d", "@angular/cdk": "15.1.0-rc.0", - "@angular/common": "15.1.0-rc.0", - "@angular/compiler": "15.1.0-rc.0", - "@angular/compiler-cli": "15.1.0-rc.0", - "@angular/core": "15.1.0-rc.0", - "@angular/forms": "15.1.0-rc.0", - "@angular/localize": "15.1.0-rc.0", + "@angular/common": "15.1.0", + "@angular/compiler": "15.1.0", + "@angular/compiler-cli": "15.1.0", + "@angular/core": "15.1.0", + "@angular/forms": "15.1.0", + "@angular/localize": "15.1.0", "@angular/material": "15.1.0-rc.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a853af3a367435a5a63b5e77c96ee4aed406f27", - "@angular/platform-browser": "15.1.0-rc.0", - "@angular/platform-browser-dynamic": "15.1.0-rc.0", - "@angular/platform-server": "15.1.0-rc.0", - "@angular/router": "15.1.0-rc.0", - "@angular/service-worker": "15.1.0-rc.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5", + "@angular/platform-browser": "15.1.0", + "@angular/platform-browser-dynamic": "15.1.0", + "@angular/platform-server": "15.1.0", + "@angular/router": "15.1.0", + "@angular/service-worker": "15.1.0", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index bc043b4e4c6d..8026fb470472 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.0-rc.0", - "@angular/compiler-cli": "15.1.0-rc.0", + "@angular/compiler": "15.1.0", + "@angular/compiler-cli": "15.1.0", "typescript": "4.9.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 7ca3257218b6..cc55c55d446f 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#da275ef5ebbf4ad3a8afe2f5b2a03d06cbd5a21e", - "@angular/cdk": "github:angular/cdk-builds#c07e53361ee9e5054e14b7ff3e841fb4ea71a1f4", - "@angular/common": "github:angular/common-builds#70dca3677df929dea809f861edc885e1a734cad9", - "@angular/compiler": "github:angular/compiler-builds#7d599beb3bef030ff6a766303c0c25903549c78f", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#8e3582d39bd7c5a4ef31b555e844af53a7565365", - "@angular/core": "github:angular/core-builds#538fe7f6b78eadbc1e1019321878df53e5589b2f", - "@angular/forms": "github:angular/forms-builds#3de6473abda2e874be05b7405a5d20dcc590ef35", - "@angular/language-service": "github:angular/language-service-builds#5c1c6d10ee081357753717ed663e1fc65f28b287", - "@angular/localize": "github:angular/localize-builds#b9b0b92149d6d1dacbbaeeceffd4c7a7eb83a100", - "@angular/material": "github:angular/material-builds#6d2704b3613cbbb9d5d0a986ef4e1df655cb0d9c", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c2844403f9deedb9061d620975295326d78f78f5", - "@angular/platform-browser": "github:angular/platform-browser-builds#db2ced81a8f9c89576a6b29c6c03b64101c0761f", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#58ccef651fa65ea668982e6562b703b8195aeafe", - "@angular/platform-server": "github:angular/platform-server-builds#6ae958000cd15cd5913e385a4b5e7d19aa60413a", - "@angular/router": "github:angular/router-builds#e36ba787e25f9b352fbe53ca59355fb8e56568cb", - "@angular/service-worker": "github:angular/service-worker-builds#aff602aef0b91e5923d5e68108791f485e8ee97c" + "@angular/animations": "github:angular/animations-builds#a5c1c6f3c017b89e6eceef28f169b20981027160", + "@angular/cdk": "github:angular/cdk-builds#2b7ad447e52133f17e06405544a4c68039e7fa2d", + "@angular/common": "github:angular/common-builds#2a2b21bfed03ac63b3b94522831b8d10305bd1fc", + "@angular/compiler": "github:angular/compiler-builds#2674fc3c5ee22427a284e01e8a3910eb42e7c325", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#3c46604fc52801e0e7b08ee25db7f6924c395fee", + "@angular/core": "github:angular/core-builds#2a589cde3e88188f322d4bb64d96f69f062c0d69", + "@angular/forms": "github:angular/forms-builds#960028b07a4b20b36a4c2a4f9747e6c0992de5c5", + "@angular/language-service": "github:angular/language-service-builds#a3fbac1cef99b13180c490ae781614f7c975d4de", + "@angular/localize": "github:angular/localize-builds#b810f6db6801c67d05ff0aeefbdd0a3781a9023a", + "@angular/material": "github:angular/material-builds#ba01724bf768e700012eb9809dd5dead6ae36492", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#85a374bbcba2f62561cd291a51bb39f0cce44045", + "@angular/platform-browser": "github:angular/platform-browser-builds#36fa2eacc12de893ccd01db0733d267521e7ab4c", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#82b2198375bf716b1ec676900092e9085bfb222c", + "@angular/platform-server": "github:angular/platform-server-builds#5092f4620ecc8a1ffef08493e0dfd9faa83f405b", + "@angular/router": "github:angular/router-builds#d4564bcd642da0431d66e98cb8fe403ebf1f8b8f", + "@angular/service-worker": "github:angular/service-worker-builds#ceb75f9f10e2fa8269f59c565942ca9bfe721ba6" } } diff --git a/yarn.lock b/yarn.lock index fd3954efe206..0e91b01590e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,45 +10,45 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1501.0-next.3": - version "0.1501.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-next.3.tgz#a5b068429d1e6f57411d84b7a7b674cb962e8afa" - integrity sha512-Fh9zUGRubIhZ6d8uNTXE2eMqfSMUB6DH3AX91gu+MTklbZgNUu7YQDMbo21mOlhyt5ub1ldOs1zWLzkiFh3T8A== +"@angular-devkit/architect@0.1501.0-rc.0": + version "0.1501.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-rc.0.tgz#b86305c018e9df6b1c75d0594953898f1595bbb0" + integrity sha512-43nfeN7zjJROfpxszYwmiUYMlBzOS2O1JHYRZweROospi5qvNY+wic4eOKxR+35GOR4Q0hobLMWU9uJsyBELIw== dependencies: - "@angular-devkit/core" "15.1.0-next.3" + "@angular-devkit/core" "15.1.0-rc.0" rxjs "6.6.7" -"@angular-devkit/build-angular@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-next.3.tgz#9b98089ed389d6a42862f1ddff8b47adf7cd4440" - integrity sha512-FRflfrx2siHYIqeU4TVxiljY79UheHn2IzBpjm0FiN3QOHCgwbLSX+8pQlRguP+l4fj7Vssai4IjJVTQXVdSUw== +"@angular-devkit/build-angular@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-rc.0.tgz#14318664cb09f0e31a1574696633b1c3dd907566" + integrity sha512-Y5etf24NGRtS8d7zG2pgWzjZZlupO1je+1RotvUffiqxg1yTYf1RD1t6zn576FmxUV99TWHf9f6nk/J+08T4OQ== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1501.0-next.3" - "@angular-devkit/build-webpack" "0.1501.0-next.3" - "@angular-devkit/core" "15.1.0-next.3" - "@babel/core" "7.20.5" - "@babel/generator" "7.20.5" + "@angular-devkit/architect" "0.1501.0-rc.0" + "@angular-devkit/build-webpack" "0.1501.0-rc.0" + "@angular-devkit/core" "15.1.0-rc.0" + "@babel/core" "7.20.12" + "@babel/generator" "7.20.7" "@babel/helper-annotate-as-pure" "7.18.6" - "@babel/plugin-proposal-async-generator-functions" "7.20.1" - "@babel/plugin-transform-async-to-generator" "7.18.6" + "@babel/plugin-proposal-async-generator-functions" "7.20.7" + "@babel/plugin-transform-async-to-generator" "7.20.7" "@babel/plugin-transform-runtime" "7.19.6" "@babel/preset-env" "7.20.2" - "@babel/runtime" "7.20.6" - "@babel/template" "7.18.10" + "@babel/runtime" "7.20.7" + "@babel/template" "7.20.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.1.0-next.3" + "@ngtools/webpack" "15.1.0-rc.0" ansi-colors "4.1.3" autoprefixer "10.4.13" - babel-loader "9.1.0" + babel-loader "9.1.2" babel-plugin-istanbul "6.1.1" browserslist "4.21.4" - cacache "17.0.3" + cacache "17.0.4" chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.3" - esbuild-wasm "0.16.6" + esbuild-wasm "0.16.14" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -68,7 +68,7 @@ postcss-loader "7.0.2" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.56.2" + sass "1.57.1" sass-loader "13.2.0" semver "7.3.8" source-map-loader "4.0.1" @@ -83,31 +83,31 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.16.6" + esbuild "0.16.14" -"@angular-devkit/build-webpack@0.1501.0-next.3": - version "0.1501.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-next.3.tgz#387a724ffe24f05df21ae0923583f0c5eb101410" - integrity sha512-X1lUfReXlBUkhUvIdrOKJHooqFfYU/lwl8h3bv2wXqJ20Kz05OH5G3acqWzl2gPoE4X9ksy3R7OKdeG07aqOkA== +"@angular-devkit/build-webpack@0.1501.0-rc.0": + version "0.1501.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-rc.0.tgz#d86cc24866985f494c70830a3048d968b64ff681" + integrity sha512-MFnMgRvhvUFuF7SQo+eNFMuRrGKhWtJFLD5yKBfyObfSUC5nbhF0g7m3t4PBWRJoNwzg7vuKoQxQ4/LDk+ebbA== dependencies: - "@angular-devkit/architect" "0.1501.0-next.3" + "@angular-devkit/architect" "0.1501.0-rc.0" rxjs "6.6.7" -"@angular-devkit/core@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-next.3.tgz#adbe8453dc69270405dab9fdd20483a3f81c5495" - integrity sha512-9i8NMiIFBJfuDCdltVYU+o0TVnPpFoORFp2bNvZYodOEPGUevA0fGjp9LUB0GBHRZh3gLdPcG32qvRu80xeE3g== +"@angular-devkit/core@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-rc.0.tgz#c1d7492902abbaeb1820fc11144373ed00960841" + integrity sha512-gec9VOZzU/qpVRjsAATFjIkmXCbsW9Vf1c/nfwHvzOSEbgzL/ROIT/XrMJkc3+VQ5PBSEXTt0CqyjabHtP5FyQ== dependencies: - ajv "8.11.2" + ajv "8.12.0" ajv-formats "2.1.1" jsonc-parser "3.2.0" rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.0-rc.0.tgz#1728eca644f369adf06c48cdd2702f95474b9757" - integrity sha512-F3D/NYC7bvLAk81/NrHpOd/g6qRGW3DaXXr4FvlH9TObBbLwCShYEHw87nNWqMm2x9wE61V0l3G8mUkdUh8ENA== +"@angular/animations@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.0.tgz#5f98897d52093bc3e5f01abfa982112efbf51a78" + integrity sha512-uBw1iQVJ3QS5e/gypsD7M50O//9GvpphgGqt9ZClknyD8dxO/YryEB+Kt4GNvNQxRKhRTksD8r4KaodukdQ15w== dependencies: tslib "^2.3.0" @@ -119,43 +119,43 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#52c88339cd287d11c21efccd22464ca3c5324b5d": - version "0.0.0-156cc268d0e823a64267baa765c133d6a41761b0" - uid "52c88339cd287d11c21efccd22464ca3c5324b5d" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#52c88339cd287d11c21efccd22464ca3c5324b5d" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d": + version "0.0.0-736f9a825a9b509f12e99b980d84fe1e9e2ba39f" + uid "5ce0facd1b6958e90d654fc84d68b9899d566a0d" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d" dependencies: - "@angular-devkit/build-angular" "15.1.0-next.3" + "@angular-devkit/build-angular" "15.1.0-rc.0" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@bazel/buildifier" "5.1.0" + "@bazel/buildifier" "6.0.0" "@bazel/concatjs" "5.7.3" "@bazel/esbuild" "5.7.3" "@bazel/protractor" "5.7.3" "@bazel/runfiles" "5.7.3" "@bazel/terser" "5.7.3" "@bazel/typescript" "5.7.3" - "@microsoft/api-extractor" "7.31.0" + "@microsoft/api-extractor" "7.33.7" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" "@types/send" "^0.17.1" "@types/tmp" "^0.2.1" "@types/uuid" "^9.0.0" - "@types/ws" "8.5.3" + "@types/ws" "8.5.4" "@types/yargs" "^17.0.0" browser-sync "^2.27.7" clang-format "1.8.0" - prettier "2.7.1" + prettier "2.8.2" protractor "^7.0.0" - selenium-webdriver "4.4.0" + selenium-webdriver "4.7.1" send "^0.18.0" source-map "^0.7.4" tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" - typescript "~4.8.0" + typescript "~4.9.0" uuid "^9.0.0" yargs "^17.0.0" @@ -168,17 +168,17 @@ optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.0-rc.0.tgz#0ea6d79bd4e385f16a3d8c2e8c2007312b39abae" - integrity sha512-5t+riZNPSRAxYO7Cfd/HLrfc9pH0psIN85gXMCM/Dt5lWchM3Hc9G5GHpAfBzTcUXPRWT4fNbCHAMlLqaDo3Ug== +"@angular/common@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.0.tgz#5d0aaf97c20774958271571ee8906d5bb5422d84" + integrity sha512-O0JKOeJ7dFcd/mnnfm4xQOYTAc+yL+OrRpGte7z84lKPU2fupLpGW/30tHUy1TXixsANyTLC3cTVXTY5szPdqg== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.0-rc.0.tgz#02ec892bbe6184f62542e7ecc5c32807e2c87a15" - integrity sha512-wq77P+2mDVoFv1Y6m0rfhOGkWisET9Go5bF1sjsFxU3aJm/V9QHW/frNVuY4uCmVZT8PTppk3jmZj9SWWS1BPA== +"@angular/compiler-cli@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.0.tgz#f9c42691bacd3c394f731aeabb951f1a69603c5e" + integrity sha512-mKeXolM/plP9ebkHy3YGxHx0Yg63d09S0QCpdIcmvrbJpaPeM2D1SAkbDpO46T4BsfgfWHtSYByb5JcesrYrpQ== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -191,17 +191,17 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0-rc.0.tgz#1a1129f4a8d3bfef2903cc23ef6b8d403d51c67e" - integrity sha512-/0G/tD8hAvPMngPltcUcctlcAUOx4cehnOkaqrkA23INKJSxuaOIJJR2nm8zESxOt0K9uNcPT/JF1rAj3zm3fg== +"@angular/compiler@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0.tgz#66859f122cd275f5a4078d757d018295356f5ab9" + integrity sha512-+ky5Cvgps725Q/KdgsYzi/fe9LbT5ujhZoT9N5k+tYTJsepMUrpExFwMFkWrdMUYTK7DaxC9ufjZ4WZmHVhFoA== dependencies: tslib "^2.3.0" -"@angular/core@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.0-rc.0.tgz#d98d2b16cc5a334cea42edc80e2d5136690f25eb" - integrity sha512-uYHEGkgLNYXPEoS76HMPZpHH43zyPdI6192pNX2PU6SAWbjIhaNAY6n+zm+fr+pgEPmF1IESzAw6WAE28kiZxw== +"@angular/core@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.0.tgz#3f06c8a44217bc949a0b784e16d2e685e9411fc5" + integrity sha512-HiwctuR73MuLoLeP35j9xF8/SIg7ELx+iHZtp/TBfoH+LOmjWbdrAdVAPTbqnxvK0aJG+527dhgC6tBOXgBTcg== dependencies: tslib "^2.3.0" @@ -212,17 +212,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.0-rc.0.tgz#3fdce345c21e442cf055836071129734809ae318" - integrity sha512-2DjoIBLPDA3VO5hptbjtGkNsnDwYbDfLWomBN3eOHaHXCTP312wSv8+vlkMiS0BS/C+gT7plTa6oVLyqqNiyNw== +"@angular/forms@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.0.tgz#6e02b3dddcaeebf79e40590df08482d08e388d2e" + integrity sha512-MUAbruJng0iG/cHhCkDNrh31Y54upgBUjjkE4DnoHv138Wa7vba+GMYv2tTrs4rPWnB9vPziZgI0xIi/oSGxzg== dependencies: tslib "^2.3.0" -"@angular/localize@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.1.0-rc.0.tgz#b294d8e00884c4760bf5a030f49a1a3c8fa9cfa8" - integrity sha512-mQI71Z+MfCaK6wT/NgWGSF80tVhTB/S5TtUfRcPLjyWC0rT86Vf5/xYmiHisjeiSlXOyrtUVptJyDWlo2q3zMg== +"@angular/localize@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.1.0.tgz#e9edd3872db5841532e67c61c4e3d49936186be0" + integrity sha512-BTEBMKqS4F8lK4rIsydRsxMbQ1hFnDZTZoifT33dmmOworWFJCGryYw0ZCTkeBtCnkRGgnr1aOTIHTvJPFIMiA== dependencies: "@babel/core" "7.19.3" glob "8.0.3" @@ -282,48 +282,48 @@ "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a853af3a367435a5a63b5e77c96ee4aed406f27": - version "0.0.0-156cc268d0e823a64267baa765c133d6a41761b0" - uid "8a853af3a367435a5a63b5e77c96ee4aed406f27" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a853af3a367435a5a63b5e77c96ee4aed406f27" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5": + version "0.0.0-736f9a825a9b509f12e99b980d84fe1e9e2ba39f" + uid c883714f8061f200f3aa46dbc6bdd0de41ab94d5 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5" dependencies: "@yarnpkg/lockfile" "^1.1.0" - typescript "~4.8.0" + typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.0-rc.0.tgz#afa2787549fc83a33b382b5219c5779f705976e6" - integrity sha512-+fU/wqjpbB1JhElolAWh8P5nWW5OVJXUuXVxHdd+2KBPfc6IxgXbQhb+NsaUz21/DETsoZLvP6MJ6g2bDSRGQA== +"@angular/platform-browser-dynamic@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.0.tgz#89b4ea5eb7871c4347c52fc63e220c10276b2e58" + integrity sha512-ukyycXkuu4Ah/35cbN4pEB91D2PK5eZVbJ+liCD6uRb4UI3X+QVg6Qz6MoIctVAlTV6tWK20T81zoux9SzWKsg== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.0-rc.0.tgz#8f2a1067e2eebcc009b41ec75b5874085caec7a2" - integrity sha512-9RGR2vTOu3EqbXCHdlpNj6GWqJpgMCd+Icdq2kM1wASNDUh8Ynn0IQZnrfHD+dRLJkpeDimGlbiLBcHWGch3Pg== +"@angular/platform-browser@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.0.tgz#72db7074139ddd520338593a9b10302143922c5c" + integrity sha512-yuJweAR+rJhWWHM4Im3Iy6S4+W3OtcVHijcqrxfVxiA9ZHbDw/jpYDi06ZZIgfnNyGWi5/BzJbHvxH3b0lAo5Q== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.1.0-rc.0.tgz#99951c077689d0164b7f17cc281025aeaa67d4ce" - integrity sha512-XGliND5dvg0pLZLBoKZlfZW+x86VOG+DDMh2YVP8kvziPuZ5hSTE3E6VxT90/DA/uWbuhkzQ+8fiVmb9aqvBRQ== +"@angular/platform-server@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.1.0.tgz#24e23c0a88c0e25f321e9e7fa134c843e3922406" + integrity sha512-dk7J9MHHF/KsRz9yq3kb6HOyAINbnqyD5ihBokRL9BIGTPq1Si7uFLKnQ93EZql5fyI+EyoQsgSulE4ebX7vnw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.1.0-rc.0.tgz#5c320dd4f5d27fb22a78a0ad6e30e295016e66d5" - integrity sha512-1TxWmraSmrLeu6usVEwHTAlJUrtdJprCqeGXL5v8sajBklhpDhB9x776KxbFYmYFWJXUd596EwBFkXS3Lbx68A== +"@angular/router@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.1.0.tgz#59b2e35d1152ecf5298b70bc3e87cdfa5a87c943" + integrity sha512-78ItVVXOYdu/RRxruHwSmtNxEP2clx+afHKrkwc4e7/6uxVr4rl0VQhO6qHYme/bBtbLIcBZGJoSyoUg/xUSvQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.1.0-rc.0.tgz#bbe6c8a3535edbe54b96cf7e2cd748a6106f91fa" - integrity sha512-cUgA85q+4sC5BSN5SVM0J7OmWUBqr4Cv947GMqOj6sIoxfdgKaC468H/6LvNVZFWBwmLlCPjAnbWHWbe0SJ73w== +"@angular/service-worker@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.1.0.tgz#b20620d22cfd3c2223a729435791533be72bd4ff" + integrity sha512-P84rtPBIVdBcVexT0L5gw6QB7tKs57kUIKdDnLcyBSP051ujLKmCeSPnjhXD3SgctQY74xoF90FZZPRaYdHdmQ== dependencies: tslib "^2.3.0" @@ -386,37 +386,7 @@ json5 "^2.2.2" semver "^6.3.0" -"@babel/core@7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" - integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.5" - "@babel/parser" "^7.20.5" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" - integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== - dependencies: - "@babel/types" "^7.20.5" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@7.20.7", "@babel/generator@^7.19.3", "@babel/generator@^7.20.5", "@babel/generator@^7.20.7": +"@babel/generator@7.20.7", "@babel/generator@^7.19.3", "@babel/generator@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== @@ -526,7 +496,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.2": +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.20.11": version "7.20.11" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== @@ -552,7 +522,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": +"@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== @@ -620,7 +590,7 @@ "@babel/traverse" "^7.20.5" "@babel/types" "^7.20.5" -"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.5", "@babel/helpers@^7.20.7": +"@babel/helpers@^7.19.0", "@babel/helpers@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== @@ -638,7 +608,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.19.3", "@babel/parser@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== @@ -659,16 +629,6 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-proposal-optional-chaining" "^7.20.7" -"@babel/plugin-proposal-async-generator-functions@7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" - integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-proposal-async-generator-functions@7.20.7", "@babel/plugin-proposal-async-generator-functions@^7.20.1": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" @@ -910,15 +870,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-async-to-generator@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - "@babel/plugin-transform-async-to-generator@7.20.7", "@babel/plugin-transform-async-to-generator@^7.18.6": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" @@ -1267,13 +1218,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.20.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" - integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== - dependencies: - regenerator-runtime "^0.13.11" - "@babel/runtime@7.20.7", "@babel/runtime@^7.8.4": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" @@ -1281,15 +1225,6 @@ dependencies: regenerator-runtime "^0.13.11" -"@babel/template@7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - "@babel/template@7.20.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" @@ -1315,7 +1250,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== @@ -1334,6 +1269,11 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== +"@bazel/buildifier@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-6.0.0.tgz#8bbcaaed0de98b36e77cb893053608787cd12d9f" + integrity sha512-QIhSDSscSfQB3ZJ0DFqWZ1R99TwgYO44NcCBL7PsfFtwRobsQ7YMka4p9mkbZi4HPin0/ImIt3yUOir8H64mIQ== + "@bazel/concatjs@5.7.3": version "5.7.3" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.3.tgz#a1111713e3e33d3e4ffc4fb5119ef478d2c9916e" @@ -1410,226 +1350,226 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/android-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz#f02c9f0d43086ddf6ed2795b881ddf7990f74456" + integrity sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ== + "@esbuild/android-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz#833184b8a0a96f9c85105c53d0a67e6d3c5c3f07" integrity sha512-hFHVAzUKp9Tf8psGq+bDVv+6hTy1bAOoV/jJMUWwhUnIHsh6WbFMhw0ZTkqDuh7TdpffFoHOiIOIxmHc7oYRBQ== -"@esbuild/android-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz#670061e921b2ef56adfa04ed66013e892136ec58" - integrity sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw== +"@esbuild/android-arm@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" + integrity sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg== "@esbuild/android-arm@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.16.tgz#23761b2fd1dfa4806161dbfc9e0824f04061cb95" integrity sha512-BUuWMlt4WSXod1HSl7aGK8fJOsi+Tab/M0IDK1V1/GstzoOpqc/v3DqmN8MkuapPKQ9Br1WtLAN4uEgWR8x64A== -"@esbuild/android-arm@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.6.tgz#450a79c5b04f955106515b0d24d0a428f3b7b468" - integrity sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ== +"@esbuild/android-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" + integrity sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw== "@esbuild/android-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.16.tgz#ffa09f04c0ffea5b594ab7655fc9ca1220365e9b" integrity sha512-9WhxJpeb6XumlfivldxqmkJepEcELekmSw3NkGrs+Edq6sS5KRxtUBQuKYDD7KqP59dDkxVbaoPIQFKWQG0KLg== -"@esbuild/android-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.6.tgz#d62788083113d54456c79d8aefb4a8f922ff9100" - integrity sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ== +"@esbuild/darwin-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" + integrity sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw== "@esbuild/darwin-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz#62ed2b4bfab594b9e5e708580361f1d059b53b26" integrity sha512-8Z+wld+vr/prHPi2O0X7o1zQOfMbXWGAw9hT0jEyU/l/Yrg+0Z3FO9pjPho72dVkZs4ewZk0bDOFLdZHm8jEfw== -"@esbuild/darwin-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz#2d1c78ce0752236fa088fc3cc4e33a4fd3d26c84" - integrity sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w== +"@esbuild/darwin-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" + integrity sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg== "@esbuild/darwin-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz#e9756d34cd9b3737a5354e89ca0fdca32d8df64c" integrity sha512-CYkxVvkZzGCqFrt7EgjFxQKhlUPyDkuR9P0Y5wEcmJqVI8ncerOIY5Kej52MhZyzOBXkYrJgZeVZC9xXXoEg9A== -"@esbuild/darwin-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz#873b80540e5e8f0d1b87e2a48e7bfaecc097bfc0" - integrity sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA== +"@esbuild/freebsd-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" + integrity sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw== "@esbuild/freebsd-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz#db7bce444d372e5a213a3f359c42aee3acc0dd45" integrity sha512-fxrw4BYqQ39z/3Ja9xj/a1gMsVq0xEjhSyI4a9MjfvDDD8fUV8IYliac96i7tzZc3+VytyXX+XNsnpEk5sw5Wg== -"@esbuild/freebsd-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz#3d432d5e9fa17955f1e8b23255a00207f22891c0" - integrity sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ== +"@esbuild/freebsd-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" + integrity sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw== "@esbuild/freebsd-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz#02e8a81b7e56040b5eb883896de445a6cd3501f0" integrity sha512-8p3v1D+du2jiDvSoNVimHhj7leSfST9YlKsAEO7etBfuqjaBMndo0fmjNLp0JCMld+XIx9L80tooOkyUv1a1PQ== -"@esbuild/freebsd-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz#7e892ec08c9a11863e86feff169452f3cde967af" - integrity sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g== +"@esbuild/linux-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" + integrity sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q== "@esbuild/linux-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz#ea8c3df172644fa6437f0083c2a38b50f89e5b98" integrity sha512-N3u6BBbCVY3xeP2D8Db7QY8I+nZ+2AgOopUIqk+5yCoLnsWkcVxD2ay5E9iIdvApFi1Vg1lZiiwaVp8bOpAc4A== -"@esbuild/linux-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz#d1e2b0099cb19dce96ef9e4d4b94bc861c9b39cc" - integrity sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw== +"@esbuild/linux-arm@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" + integrity sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w== "@esbuild/linux-arm@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz#c1c2e97e67bb7247e6f60e2644de057bfedb8cbb" integrity sha512-bYaocE1/PTMRmkgSckZ0D0Xn2nox8v2qlk+MVVqm+VECNKDdZvghVZtH41dNtBbwADSvA6qkCHGYeWm9LrNCBw== -"@esbuild/linux-arm@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz#ecb1543b12c27f7e4c7ad67d5e13d9a08d034e55" - integrity sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg== +"@esbuild/linux-ia32@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" + integrity sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA== "@esbuild/linux-ia32@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz#9a0b0e926926f891a3e7f7c50bb38e3db49c2c9a" integrity sha512-dxjqLKUW8GqGemoRT9v8IgHk+T4tRm1rn1gUcArsp26W9EkK/27VSjBVUXhEG5NInHZ92JaQ3SSMdTwv/r9a2A== -"@esbuild/linux-ia32@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz#916c13e4076d03cabbbfaa6735e6c195fe332932" - integrity sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw== +"@esbuild/linux-loong64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" + integrity sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg== "@esbuild/linux-loong64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz#c5a50ff5981d457ed45f42c3f06a60086759c79b" integrity sha512-MdUFggHjRiCCwNE9+1AibewoNq6wf94GLB9Q9aXwl+a75UlRmbRK3h6WJyrSGA6ZstDJgaD2wiTSP7tQNUYxwA== -"@esbuild/linux-loong64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz#d337a6cfb132288ac59e1f028be9b16cf4c7d339" - integrity sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA== +"@esbuild/linux-mips64el@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" + integrity sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg== "@esbuild/linux-mips64el@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz#e85b7e3c25000be2ae373e5208e55e282a9763e0" integrity sha512-CO3YmO7jYMlGqGoeFeKzdwx/bx8Vtq/SZaMAi+ZLDUnDUdfC7GmGwXzIwDJ70Sg+P9pAemjJyJ1icKJ9R3q/Fg== -"@esbuild/linux-mips64el@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz#cfcb7bcae8fbc91d07c93f3c2e26779ddaa7c738" - integrity sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q== +"@esbuild/linux-ppc64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" + integrity sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg== "@esbuild/linux-ppc64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz#24a0013bf727830df44fece571172ebe31b5c5e6" integrity sha512-DSl5Czh5hCy/7azX0Wl9IdzPHX2H8clC6G87tBnZnzUpNgRxPFhfmArbaHoAysu4JfqCqbB/33u/GL9dUgCBAw== -"@esbuild/linux-ppc64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz#aa2b0fc6ab0dea618f23d13946032d327da7806e" - integrity sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA== +"@esbuild/linux-riscv64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" + integrity sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A== "@esbuild/linux-riscv64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz#b080998d8d0480e8235f1384c585ae505e98a19d" integrity sha512-sSVVMEXsqf1fQu0j7kkhXMViroixU5XoaJXl1u/u+jbXvvhhCt9YvA/B6VM3aM/77HuRQ94neS5bcisijGnKFQ== -"@esbuild/linux-riscv64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz#ade24a148fc7ded3a8a042f97a6441beba4f4f96" - integrity sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA== +"@esbuild/linux-s390x@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" + integrity sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA== "@esbuild/linux-s390x@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz#5042de05b9b653dfd134f05e1b37b61704c14c42" integrity sha512-jRqBCre9gZGoCdCN/UWCCMwCMsOg65IpY9Pyj56mKCF5zXy9d60kkNRdDN6YXGjr3rzcC4DXnS/kQVCGcC4yPQ== -"@esbuild/linux-s390x@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz#b3c051e15f6fd3f9af801aa2cfe2cad0e069e4ea" - integrity sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w== +"@esbuild/linux-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" + integrity sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA== "@esbuild/linux-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz#b7c0750f2276c9dcf41f0f2229adca46ef22f698" integrity sha512-G1+09TopOzo59/55lk5Q0UokghYLyHTKKzD5lXsAOOlGDbieGEFJpJBr3BLDbf7cz89KX04sBeExAR/pL/26sA== -"@esbuild/linux-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz#49368780003c0f32fc79738d20404e39429fdc48" - integrity sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg== +"@esbuild/netbsd-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" + integrity sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw== "@esbuild/netbsd-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz#e2a0ee181fbbe834174d26e24ce1b258232bb3eb" integrity sha512-xwjGJB5wwDEujLaJIrSMRqWkbigALpBNcsF9SqszoNKc+wY4kPTdKrSxiY5ik3IatojePP+WV108MvF6q6np4w== -"@esbuild/netbsd-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz#2227e9483c5a861bbecd740e525cd9b17dc01c61" - integrity sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q== +"@esbuild/openbsd-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" + integrity sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg== "@esbuild/openbsd-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz#87a84c1932e00f52ab3380c31facf0e48086ffb9" integrity sha512-yeERkoxG2nR2oxO5n+Ms7MsCeNk23zrby2GXCqnfCpPp7KNc0vxaaacIxb21wPMfXXRhGBrNP4YLIupUBrWdlg== -"@esbuild/openbsd-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz#6c6d15c9f5797ce5f9c7bd105b867b8fbdc964b7" - integrity sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w== +"@esbuild/sunos-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" + integrity sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw== "@esbuild/sunos-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz#996bcd2603cd345733c3aa5f52bfd5b8fa7d1d36" integrity sha512-nHfbEym0IObXPhtX6Va3H5GaKBty2kdhlAhKmyCj9u255ktAj0b1YACUs9j5H88NRn9cJCthD1Ik/k9wn8YKVg== -"@esbuild/sunos-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz#3ac4275f948653a56d52eca7483f8d683bdd14ca" - integrity sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q== +"@esbuild/win32-arm64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" + integrity sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg== "@esbuild/win32-arm64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz#404a9411d12533d0f2ce0a85df6ddb32e851ef04" integrity sha512-pdD+M1ZOFy4hE15ZyPX09fd5g4DqbbL1wXGY90YmleVS6Y5YlraW4BvHjim/X/4yuCpTsAFvsT4Nca2lbyDH/A== -"@esbuild/win32-arm64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz#8d913e77797c00e05922d46b6f74011bb0655bfd" - integrity sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw== +"@esbuild/win32-ia32@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" + integrity sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g== "@esbuild/win32-ia32@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz#bb5655a48f5f87fee870061883411f5149bc5e44" integrity sha512-IPEMfU9p0c3Vb8PqxaPX6BM9rYwlTZGYOf9u+kMdhoILZkVKEjq6PKZO0lB+isojWwAnAqh4ZxshD96njTXajg== -"@esbuild/win32-ia32@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz#573b4aa7389d1dc87ab1877a8ee19e2e13ad51b0" - integrity sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q== +"@esbuild/win32-x64@0.16.14": + version "0.16.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" + integrity sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw== "@esbuild/win32-x64@0.16.16": version "0.16.16" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz#ee22fed0b2e0c00ce895cdfae9d32ef069a12e04" integrity sha512-1YYpoJ39WV/2bnShPwgdzJklc+XS0bysN6Tpnt1cWPdeoKOG4RMEY1g7i534QxXX/rPvNx/NLJQTTCeORYzipg== -"@esbuild/win32-x64@0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz#26094ac38600cdac049cb320018bc34da9af22c2" - integrity sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg== - "@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -2460,32 +2400,32 @@ "@material/theme" "15.0.0-canary.fd95ca7ef.0" tslib "^2.1.0" -"@microsoft/api-extractor-model@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.24.0.tgz#df71615f7c7d2c4f520c8b179d03a85efcdaf452" - integrity sha512-lFzF5h+quTyVB7eaKJkqrbQRDGSkrHzXyF8iMVvHdlaNrodGeyhtQeBFDuRVvBXTW2ILBiOV6ZWwUM1eGKcD+A== +"@microsoft/api-extractor-model@7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.25.3.tgz#1ad0fe161623564e5b36b73d5889066e36097389" + integrity sha512-WWxBUq77p2iZ+5VF7Nmrm3y/UtqCh5bYV8ii3khwq3w99+fXWpvfsAhgSLsC7k8XDQc6De4ssMxH6He/qe1pzg== dependencies: - "@microsoft/tsdoc" "0.14.1" + "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.51.1" + "@rushstack/node-core-library" "3.53.3" -"@microsoft/api-extractor@7.31.0": - version "7.31.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.31.0.tgz#a4dd2af2e176a330652a19f9254f77d4fdcea06f" - integrity sha512-1gVDvm/eKmntBn5X5Rc+XDREm9gfxQ/BQfGFf7Rf4uWvJc4Q4GxidC3lBODYDOcikjG983bzbo0xTu5BS8J93Q== +"@microsoft/api-extractor@7.33.7": + version "7.33.7" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.33.7.tgz#3579f23469a9e02deb4e7aee705ddd2a221c7b8d" + integrity sha512-fQT2v/j/55DhvMFiopLtth66E7xTFNhnumMKgKY14SaG6qU/V1W0e4nOAgbA+SmLakQjAd1Evu06ofaVaxBPbA== dependencies: - "@microsoft/api-extractor-model" "7.24.0" - "@microsoft/tsdoc" "0.14.1" + "@microsoft/api-extractor-model" "7.25.3" + "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.51.1" - "@rushstack/rig-package" "0.3.14" - "@rushstack/ts-command-line" "4.12.2" + "@rushstack/node-core-library" "3.53.3" + "@rushstack/rig-package" "0.3.17" + "@rushstack/ts-command-line" "4.13.1" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" semver "~7.3.0" source-map "~0.6.1" - typescript "~4.7.4" + typescript "~4.8.4" "@microsoft/tsdoc-config@~0.16.1": version "0.16.2" @@ -2497,20 +2437,15 @@ jju "~1.4.0" resolve "~1.19.0" -"@microsoft/tsdoc@0.14.1": - version "0.14.1" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" - integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== - "@microsoft/tsdoc@0.14.2": version "0.14.2" resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.1.0-next.3": - version "15.1.0-next.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-next.3.tgz#2090b57b1e95fbbb4316cb38fdde282e7b6c0a52" - integrity sha512-2FpJBXFie1sTefJZJSbFfIKEcaVleGcg5OxZXHdNt8WJI6qgUdSv94BYmzrecl8GcXbUjRIkF8egZYfG2SaJOw== +"@ngtools/webpack@15.1.0-rc.0": + version "15.1.0-rc.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-rc.0.tgz#6a4468154ac386c639daf4010bf17eb9a36e5407" + integrity sha512-qMvPKJ62ROQMl6WhhK9WCzIwsf7ijai+g6RsqXA0VoGpQItpT5CfVkgVTwg/l6Q8JnMl1SD4YqVtqTbsJykcAw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2839,10 +2774,10 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rushstack/node-core-library@3.51.1": - version "3.51.1" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.51.1.tgz#e123053c4924722cc9614c0091fda5ed7bbc6c9d" - integrity sha512-xLoUztvGpaT5CphDexDPt2WbBx8D68VS5tYOkwfr98p90y0f/wepgXlTA/q5MUeZGGucASiXKp5ysdD+GPYf9A== +"@rushstack/node-core-library@3.53.3": + version "3.53.3" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.53.3.tgz#e78e0dc1545f6cd7d80b0408cf534aefc62fbbe2" + integrity sha512-H0+T5koi5MFhJUd5ND3dI3bwLhvlABetARl78L3lWftJVQEPyzcgTStvTTRiIM5mCltyTM8VYm6BuCtNUuxD0Q== dependencies: "@types/node" "12.20.24" colors "~1.2.1" @@ -2853,18 +2788,18 @@ semver "~7.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.14": - version "0.3.14" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.14.tgz#f2611b59245fd7cc29c6982566b2fbb4a4192bc5" - integrity sha512-Ic9EN3kWJCK6iOxEDtwED9nrM146zCDrQaUxbeGOF+q/VLZ/HNHPw+aLqrqmTl0ZT66Sf75Qk6OG+rySjTorvQ== +"@rushstack/rig-package@0.3.17": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.17.tgz#687bd55603f2902447f3be246d93afac97095a1f" + integrity sha512-nxvAGeIMnHl1LlZSQmacgcRV4y1EYtgcDIrw6KkeVjudOMonlxO482PhDj3LVZEp6L7emSf6YSO2s5JkHlwfZA== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.12.2": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.12.2.tgz#59b7450c5d75190778cce8b159c7d7043c32cc4e" - integrity sha512-poBtnumLuWmwmhCEkVAgynWgtnF9Kygekxyp4qtQUSbBrkuyPQTL85c8Cva1YfoUpOdOXxezMAkUt0n5SNKGqw== +"@rushstack/ts-command-line@4.13.1": + version "4.13.1" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.13.1.tgz#148b644b627131480363b4853b558ba5eaa0d75c" + integrity sha512-UTQMRyy/jH1IS2U+6pyzyn9xQ2iMcoUKkTcZUzOP/aaMiKlWLwCTDiBVwhw/M1crDx6apF9CwyjuWO9r1SBdJQ== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3408,20 +3343,13 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@*", "@types/ws@^8.5.1": +"@types/ws@*", "@types/ws@8.5.4", "@types/ws@^8.5.1": version "8.5.4" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== dependencies: "@types/node" "*" -"@types/ws@8.5.3": - version "8.5.3" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== - dependencies: - "@types/node" "*" - "@types/yargs-parser@*", "@types/yargs-parser@^21.0.0": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" @@ -3823,16 +3751,6 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.11.2: - version "8.11.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" - integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ajv@8.12.0, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" @@ -4083,14 +4001,6 @@ axios@0.21.4: dependencies: follow-redirects "^1.14.0" -babel-loader@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.0.tgz#839e9ae88aea930864ef9ec0f356dfca96ecf238" - integrity sha512-Antt61KJPinUMwHwIIz9T5zfMgevnfZkEVWYDWlG888fgdvRRGD0JTuf/fFozQnfT+uq64sk1bmdHDy/mOEWnA== - dependencies: - find-cache-dir "^3.3.2" - schema-utils "^4.0.0" - babel-loader@9.1.2: version "9.1.2" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" @@ -4434,25 +4344,6 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@17.0.3: - version "17.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.3.tgz#9ba14e0e50eca763ae7e2ee89036a948a13035ed" - integrity sha512-pwsIK/grdM0cHpfVaNFxMdzElBtLJGsVPE+JnxqXP1l40O01Z1mfDE8MbRTuwomGq/UwEtGisOylutOEVJxEqg== - dependencies: - "@npmcli/fs" "^3.1.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - lru-cache "^7.7.1" - minipass "^4.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - ssri "^10.0.0" - tar "^6.1.11" - unique-filename "^3.0.0" - cacache@17.0.4, cacache@^17.0.0: version "17.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.0.4.tgz#5023ed892ba8843e3b7361c26d0ada37e146290c" @@ -5580,15 +5471,43 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +esbuild-wasm@0.16.14: + version "0.16.14" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" + integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== + esbuild-wasm@0.16.16, esbuild-wasm@^0.16.0: version "0.16.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.16.tgz#5f1ae6ebc325322d9f5772d598e80144572e5b5e" integrity sha512-X7wDIw8Pg0WFfDyrUhMpoMaGuCPeAfsQL8zJq5OeYQoNNXIvx8C+E1gz31bLcEOEhx0MBvupAM6ZI2D0sR8Fsw== -esbuild-wasm@0.16.6: - version "0.16.6" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.6.tgz#d8666fea52e953043dc33767105bcc450b166580" - integrity sha512-neIOUB/4y7QNxhiDSA0j3tju+HXhSMbPMmNH78rlB/vTfJ1v7M8SdvTJgTI+L1ppGUFYu0iJqfLOjC5s9Gzh8g== +esbuild@0.16.14: + version "0.16.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.14.tgz#366249a0a0fd431d3ab706195721ef1014198919" + integrity sha512-6xAn3O6ZZyoxZAEkwfI9hw4cEqSr/o1ViJtnkvImVkblmUN65Md04o0S/7H1WNu1XGf1Cjij/on7VO4psIYjkw== + optionalDependencies: + "@esbuild/android-arm" "0.16.14" + "@esbuild/android-arm64" "0.16.14" + "@esbuild/android-x64" "0.16.14" + "@esbuild/darwin-arm64" "0.16.14" + "@esbuild/darwin-x64" "0.16.14" + "@esbuild/freebsd-arm64" "0.16.14" + "@esbuild/freebsd-x64" "0.16.14" + "@esbuild/linux-arm" "0.16.14" + "@esbuild/linux-arm64" "0.16.14" + "@esbuild/linux-ia32" "0.16.14" + "@esbuild/linux-loong64" "0.16.14" + "@esbuild/linux-mips64el" "0.16.14" + "@esbuild/linux-ppc64" "0.16.14" + "@esbuild/linux-riscv64" "0.16.14" + "@esbuild/linux-s390x" "0.16.14" + "@esbuild/linux-x64" "0.16.14" + "@esbuild/netbsd-x64" "0.16.14" + "@esbuild/openbsd-x64" "0.16.14" + "@esbuild/sunos-x64" "0.16.14" + "@esbuild/win32-arm64" "0.16.14" + "@esbuild/win32-ia32" "0.16.14" + "@esbuild/win32-x64" "0.16.14" esbuild@0.16.16, esbuild@^0.16.0: version "0.16.16" @@ -5618,34 +5537,6 @@ esbuild@0.16.16, esbuild@^0.16.0: "@esbuild/win32-ia32" "0.16.16" "@esbuild/win32-x64" "0.16.16" -esbuild@0.16.6: - version "0.16.6" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.6.tgz#6f8aa19d2d41871f420a701e6df309337f6cb953" - integrity sha512-0Fn9lUX1yy2iP56L0BDAgnQFJfkDICdYZ0Xm6Kgdwa72AkHoKX0egau/ZIROYdjJWPLJtl9bDuW7Xs56TuKPhQ== - optionalDependencies: - "@esbuild/android-arm" "0.16.6" - "@esbuild/android-arm64" "0.16.6" - "@esbuild/android-x64" "0.16.6" - "@esbuild/darwin-arm64" "0.16.6" - "@esbuild/darwin-x64" "0.16.6" - "@esbuild/freebsd-arm64" "0.16.6" - "@esbuild/freebsd-x64" "0.16.6" - "@esbuild/linux-arm" "0.16.6" - "@esbuild/linux-arm64" "0.16.6" - "@esbuild/linux-ia32" "0.16.6" - "@esbuild/linux-loong64" "0.16.6" - "@esbuild/linux-mips64el" "0.16.6" - "@esbuild/linux-ppc64" "0.16.6" - "@esbuild/linux-riscv64" "0.16.6" - "@esbuild/linux-s390x" "0.16.6" - "@esbuild/linux-x64" "0.16.6" - "@esbuild/netbsd-x64" "0.16.6" - "@esbuild/openbsd-x64" "0.16.6" - "@esbuild/sunos-x64" "0.16.6" - "@esbuild/win32-arm64" "0.16.6" - "@esbuild/win32-ia32" "0.16.6" - "@esbuild/win32-x64" "0.16.6" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -9397,12 +9288,7 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -prettier@^2.0.0: +prettier@2.8.2, prettier@^2.0.0: version "2.8.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.2.tgz#c4ea1b5b454d7c4b59966db2e06ed7eec5dfd160" integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw== @@ -10136,15 +10022,6 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.56.2: - version "1.56.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.2.tgz#9433b345ab3872996c82a53a58c014fd244fd095" - integrity sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sass@1.57.1, sass@^1.55.0: version "1.57.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5" @@ -10205,10 +10082,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.4.0.tgz#3f280504f6c0ac64a24b176304213b5a49ec2553" - integrity sha512-Du+/xfpvNi9zHAeYgXhOWN9yH0hph+cuX+hHDBr7d+SbtQVcfNJwBzLsbdHrB1Wh7MHXFuIkSG88A9TRRQUx3g== +selenium-webdriver@4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.7.1.tgz#29be9eaac1bd5aa37728c3e5cca352b1e98ec85d" + integrity sha512-IfTM9OE8HtCKjOJwyudbAVtAHQKOJK8mu2qrXXbKyj4lqgXF+2lYW4rSZXCV6SLQRWZ+DVGkomCmFzq5orD/ZA== dependencies: jszip "^3.10.0" tmp "^0.2.1" @@ -11168,17 +11045,12 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@4.9.4, typescript@^4.6.2: +typescript@4.9.4, typescript@^4.6.2, typescript@~4.9.0: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== -typescript@~4.7.4: - version "4.7.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" - integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== - -typescript@~4.8.0: +typescript@~4.8.4: version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== From 18892d94bfaed08a81a8eb810f92d26ff882f4fb Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 11 Jan 2023 07:38:30 +0000 Subject: [PATCH 1259/1388] build: update all non-major dependencies --- WORKSPACE | 6 ++-- package.json | 4 +-- yarn.lock | 98 ++++++++++++++++++++++++++-------------------------- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 9e247bd8bb28..1934c9badc95 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "558d70e36425c317c70b19fb0f68241a3747bcf46561b5ffc19bed17527adbb3", - strip_prefix = "bazel-lib-1.20.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.20.0.tar.gz", + sha256 = "20514864a32d94b2e3113dbf4d71572c908993d3235ea29a2d805a36195cd1e9", + strip_prefix = "bazel-lib-1.21.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.21.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index de150c3f13a9..598a8734579a 100644 --- a/package.json +++ b/package.json @@ -123,8 +123,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.48.0", - "@typescript-eslint/parser": "5.48.0", + "@typescript-eslint/eslint-plugin": "5.48.1", + "@typescript-eslint/parser": "5.48.1", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.12.0", "ajv-formats": "2.1.1", diff --git a/yarn.lock b/yarn.lock index 0e91b01590e4..99056f4109ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3374,14 +3374,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67" - integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ== - dependencies: - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/type-utils" "5.48.0" - "@typescript-eslint/utils" "5.48.0" +"@typescript-eslint/eslint-plugin@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz#deee67e399f2cb6b4608c935777110e509d8018c" + integrity sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ== + dependencies: + "@typescript-eslint/scope-manager" "5.48.1" + "@typescript-eslint/type-utils" "5.48.1" + "@typescript-eslint/utils" "5.48.1" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3389,72 +3389,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba" - integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg== +"@typescript-eslint/parser@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.1.tgz#d0125792dab7e232035434ab8ef0658154db2f10" + integrity sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA== dependencies: - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/scope-manager" "5.48.1" + "@typescript-eslint/types" "5.48.1" + "@typescript-eslint/typescript-estree" "5.48.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf" - integrity sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow== +"@typescript-eslint/scope-manager@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz#39c71e4de639f5fe08b988005beaaf6d79f9d64d" + integrity sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ== dependencies: - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/visitor-keys" "5.48.0" + "@typescript-eslint/types" "5.48.1" + "@typescript-eslint/visitor-keys" "5.48.1" -"@typescript-eslint/type-utils@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz#40496dccfdc2daa14a565f8be80ad1ae3882d6d6" - integrity sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g== +"@typescript-eslint/type-utils@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz#5d94ac0c269a81a91ad77c03407cea2caf481412" + integrity sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ== dependencies: - "@typescript-eslint/typescript-estree" "5.48.0" - "@typescript-eslint/utils" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.1" + "@typescript-eslint/utils" "5.48.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449" - integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw== +"@typescript-eslint/types@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.1.tgz#efd1913a9aaf67caf8a6e6779fd53e14e8587e14" + integrity sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg== -"@typescript-eslint/typescript-estree@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz#a7f04bccb001003405bb5452d43953a382c2fac2" - integrity sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw== +"@typescript-eslint/typescript-estree@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz#9efa8ee2aa471c6ab62e649f6e64d8d121bc2056" + integrity sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA== dependencies: - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/visitor-keys" "5.48.0" + "@typescript-eslint/types" "5.48.1" + "@typescript-eslint/visitor-keys" "5.48.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.0.tgz#eee926af2733f7156ad8d15e51791e42ce300273" - integrity sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ== +"@typescript-eslint/utils@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.1.tgz#20f2f4e88e9e2a0961cbebcb47a1f0f7da7ba7f9" + integrity sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.0" - "@typescript-eslint/types" "5.48.0" - "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/scope-manager" "5.48.1" + "@typescript-eslint/types" "5.48.1" + "@typescript-eslint/typescript-estree" "5.48.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.48.0": - version "5.48.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz#4446d5e7f6cadde7140390c0e284c8702d944904" - integrity sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q== +"@typescript-eslint/visitor-keys@5.48.1": + version "5.48.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz#79fd4fb9996023ef86849bf6f904f33eb6c8fccb" + integrity sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA== dependencies: - "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/types" "5.48.1" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": From 17174cbe7ea6f02fa26fa60fa6f1854c5fa43640 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 11 Jan 2023 15:03:21 +0000 Subject: [PATCH 1260/1388] docs: release notes for the v15.1.0 release --- CHANGELOG.md | 173 ++++++++++++--------------------------------------- 1 file changed, 39 insertions(+), 134 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 784c7c9f0759..eae2c05e8491 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,52 @@ - + -# 15.1.0-rc.0 (2023-01-06) +# 15.1.0 (2023-01-11) + +## Deprecations + +### @angular-devkit/schematics + +- The Observable based `SchematicTestRunner.runSchematicAsync` and `SchematicTestRunner.runExternalSchematicAsync` method have been deprecated in favor of the Promise based `SchematicTestRunner.runSchematic` and `SchematicTestRunner.runExternalSchematic`. ### @schematics/angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------- | -| [dd2b65943](https://github.com/angular/angular-cli/commit/dd2b65943d706833f449f76cf8c7278d0a5399ad) | feat | add configuration files generation schematic | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------- | +| [5b18ce154](https://github.com/angular/angular-cli/commit/5b18ce1545d047d49851a64e81a1f8ef59624ef7) | feat | add `guardType` as an alias of `implements` in guard schematic | +| [dd2b65943](https://github.com/angular/angular-cli/commit/dd2b65943d706833f449f76cf8c7278d0a5399ad) | feat | add configuration files generation schematic | +| [8d000d156](https://github.com/angular/angular-cli/commit/8d000d1563684f9a9b6869e549e265f0997187c4) | feat | add environments generation schematic | +| [6c39a162b](https://github.com/angular/angular-cli/commit/6c39a162bec67083bf6c11b54e84612f1d68c384) | feat | Add schematics for generating functional router guards and resolvers | +| [62121f89a](https://github.com/angular/angular-cli/commit/62121f89abce54e0a1c2b816cdd32b57f2b5a5d1) | feat | add sideEffects:false to library package.json | +| [9299dea64](https://github.com/angular/angular-cli/commit/9299dea6492527bcaea24c9c7f3116ee2779405b) | feat | generate functional interceptors | +| [49b313f27](https://github.com/angular/angular-cli/commit/49b313f27adef6300063c9d6817d1454a8657fe2) | fix | add missing import for functional interceptor spec | +| [2f92fe7e5](https://github.com/angular/angular-cli/commit/2f92fe7e589705b282102271897454ea852c4814) | fix | add missing semicolon in functional guard/resolver/interceptor | +| [9b6d190f4](https://github.com/angular/angular-cli/commit/9b6d190f4a082c166d253b0f00162e0286238e45) | fix | remove EnvironmentInjector import in functional guard spec | +| [b11d3f644](https://github.com/angular/angular-cli/commit/b11d3f6442d38f609471ab19c08a1c9a871e0ae3) | fix | use proper variable in functional guard spec | +| [451975f76](https://github.com/angular/angular-cli/commit/451975f7650041a83994e1308f85fe7e33a31e32) | fix | use proper variable in resolver functional spec | ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------- | -| [839d0cb57](https://github.com/angular/angular-cli/commit/839d0cb57ad42896578c235354ffb918ea8bb146) | feat | implement stats-json option for esbuild builder | -| [7c87ce47c](https://github.com/angular/angular-cli/commit/7c87ce47c66a6426b6b7fbb2edd38d8da729221f) | fix | ensure Sass load paths are resolved from workspace root | -| [e91734ff8](https://github.com/angular/angular-cli/commit/e91734ff89402b4e2b654ce470fdd2d894759c64) | fix | format esbuild error messages to include more information | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [c29df6954](https://github.com/angular/angular-cli/commit/c29df695467c41feccd3846a55c91c6784af87b2) | feat | add `assets` option to server builder | +| [839d0cb57](https://github.com/angular/angular-cli/commit/839d0cb57ad42896578c235354ffb918ea8bb146) | feat | implement stats-json option for esbuild builder | +| [216991b9d](https://github.com/angular/angular-cli/commit/216991b9d9ca1d8f09992880a5fa92e7c98813fa) | feat | support inline component Sass styles with esbuild builder | +| [7c87ce47c](https://github.com/angular/angular-cli/commit/7c87ce47c66a6426b6b7fbb2edd38d8da729221f) | fix | ensure Sass load paths are resolved from workspace root | +| [7a063238b](https://github.com/angular/angular-cli/commit/7a063238b83eea8b5b3237fed12db5528d1f6912) | fix | explicitly send options to JS transformer workers | +| [22cba7937](https://github.com/angular/angular-cli/commit/22cba79370ed60a27f932acda363ffd87f5d9983) | fix | provide an option to `exclude` specs in Karma builder | +| [20376649c](https://github.com/angular/angular-cli/commit/20376649c5e3003b0aa99b9328e2b61699ccba78) | fix | transform async generator class methods for Zone.js support | +| [0520608f6](https://github.com/angular/angular-cli/commit/0520608f68f1768a13a46fbdb9ecb65310492460) | fix | use relative css resource paths in esbuild JSON stats | +| [0c01532cb](https://github.com/angular/angular-cli/commit/0c01532cb5a3072b96cd65845a38b88ed4543de6) | perf | use worker pool for JavaScript transforms in esbuild builder | + +### @angular-devkit/schematics + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | +| [207358afb](https://github.com/angular/angular-cli/commit/207358afb89e6515cb8d73f5a3a63d9101e80d97) | feat | add `runSchematic` and `runExternalSchematic` methods | ## Special Thanks -Alan Agius, Charles Lyding, Kristiyan Kostadinov, Paul Gschwendtner, aanchal and angular-robot[bot] +Alan Agius, Andrew Scott, Charles Lyding, Cédric Exbrayat, Doug Parker, Felix Hamann, Jason Bedard, Joey Perrott and Kristiyan Kostadinov @@ -38,46 +66,6 @@ Alan Agius, Kristiyan Kostadinov, Paul Gschwendtner and aanchal - - -# 15.1.0-next.3 (2022-12-14) - -## Deprecations - -### @angular-devkit/schematics - -- The Observable based `SchematicTestRunner.runSchematicAsync` and `SchematicTestRunner.runExternalSchematicAsync` methods have been deprecated in favor of the Promise based `SchematicTestRunner.runSchematic` and `SchematicTestRunner.runExternalSchematic`. - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- | -| [8d000d156](https://github.com/angular/angular-cli/commit/8d000d1563684f9a9b6869e549e265f0997187c4) | feat | add environments generation schematic | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | -| [216991b9d](https://github.com/angular/angular-cli/commit/216991b9d9ca1d8f09992880a5fa92e7c98813fa) | feat | support inline component Sass styles with esbuild builder | -| [8fd08491a](https://github.com/angular/angular-cli/commit/8fd08491a88bc2b088dcb3ac68a6c328167e38c3) | fix | display actionable error when a style does not exist in Karma builder | -| [97373016c](https://github.com/angular/angular-cli/commit/97373016cfe2635125015b2fec390f43d22ebf31) | fix | downlevel class private methods when targeting Safari <=v15 | -| [27b22b02d](https://github.com/angular/angular-cli/commit/27b22b02dccef2e2d4f2f1f03910f4b70c676f84) | fix | include sources in generated | -| [310144d32](https://github.com/angular/angular-cli/commit/310144d324bd773aa6026f47b345827d5fe48332) | fix | only set ngDevMode when script optimizations are enabled | -| [20376649c](https://github.com/angular/angular-cli/commit/20376649c5e3003b0aa99b9328e2b61699ccba78) | fix | transform async generator class methods for Zone.js support | -| [afe9feaa4](https://github.com/angular/angular-cli/commit/afe9feaa45913cbebe7f22c678d693d96f38584a) | fix | update locale setting snippet to use `globalThis`. | - -### @angular-devkit/schematics - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | -| [207358afb](https://github.com/angular/angular-cli/commit/207358afb89e6515cb8d73f5a3a63d9101e80d97) | feat | add `runSchematic` and `runExternalSchematic` methods | - -## Special Thanks - -Alan Agius and Charles Lyding - - - # 15.0.4 (2022-12-14) @@ -99,34 +87,6 @@ Alan Agius and Charles Lyding - - -# 15.1.0-next.2 (2022-12-08) - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- | -| [5b18ce154](https://github.com/angular/angular-cli/commit/5b18ce1545d047d49851a64e81a1f8ef59624ef7) | feat | add `guardType` as an alias of `implements` in guard schematic | -| [49b313f27](https://github.com/angular/angular-cli/commit/49b313f27adef6300063c9d6817d1454a8657fe2) | fix | add missing import for functional interceptor spec | -| [2f92fe7e5](https://github.com/angular/angular-cli/commit/2f92fe7e589705b282102271897454ea852c4814) | fix | add missing semicolon in functional guard/resolver/interceptor | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | -| [97716969c](https://github.com/angular/angular-cli/commit/97716969c243d65e385dcd78f5035d2c13f0258b) | fix | default preserve symlinks to Node.js value for esbuild | -| [cf2f30afc](https://github.com/angular/angular-cli/commit/cf2f30afc0ad0ceae34c457955a22186bc5ce60d) | fix | downlevel class fields with Safari <= v15 for esbuild | -| [25eaaa24b](https://github.com/angular/angular-cli/commit/25eaaa24b51af400262b97b4d4be2391ebd4a82d) | fix | downlevel class properties when targeting Safari <=v15 | -| [7a063238b](https://github.com/angular/angular-cli/commit/7a063238b83eea8b5b3237fed12db5528d1f6912) | fix | explicitly send options to JS transformer workers | -| [ef99a68b4](https://github.com/angular/angular-cli/commit/ef99a68b46c992c1988c5ca4c6fb066e89762d64) | fix | prevent optimization adding unsupported ECMASCript features | - -## Special Thanks - -Alan Agius, Charles Lyding, Cédric Exbrayat, Dominic Elm, Doug Parker and Paul Gschwendtner - - - # 15.0.3 (2022-12-07) @@ -146,37 +106,6 @@ Charles Lyding, Dominic Elm and Paul Gschwendtner - - -# 15.1.0-next.1 (2022-11-30) - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- | -| [9299dea64](https://github.com/angular/angular-cli/commit/9299dea6492527bcaea24c9c7f3116ee2779405b) | feat | generate functional interceptors | -| [9b6d190f4](https://github.com/angular/angular-cli/commit/9b6d190f4a082c166d253b0f00162e0286238e45) | fix | remove EnvironmentInjector import in functional guard spec | -| [b11d3f644](https://github.com/angular/angular-cli/commit/b11d3f6442d38f609471ab19c08a1c9a871e0ae3) | fix | use proper variable in functional guard spec | -| [451975f76](https://github.com/angular/angular-cli/commit/451975f7650041a83994e1308f85fe7e33a31e32) | fix | use proper variable in resolver functional spec | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | -| [012393d37](https://github.com/angular/angular-cli/commit/012393d37924a2afd172bfd80ee5e4bcd1c9abdf) | fix | correctly set Sass quietDeps and verbose options | - -### @ngtools/webpack - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------- | -| [856720b91](https://github.com/angular/angular-cli/commit/856720b913ec1ba82b96db2d3a61628cb3795f11) | fix | elide unused type references | - -## Special Thanks - -Alan Agius, Andrew Scott, Cédric Exbrayat, Jason Bedard and Juuso Valkeejärvi - - - # 15.0.2 (2022-11-30) @@ -199,30 +128,6 @@ Alan Agius and Juuso Valkeejärvi - - -# 15.1.0-next.0 (2022-11-23) - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------- | -| [6c39a162b](https://github.com/angular/angular-cli/commit/6c39a162bec67083bf6c11b54e84612f1d68c384) | feat | Add schematics for generating functional router guards and resolvers | -| [62121f89a](https://github.com/angular/angular-cli/commit/62121f89abce54e0a1c2b816cdd32b57f2b5a5d1) | feat | add sideEffects:false to library package.json | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [c29df6954](https://github.com/angular/angular-cli/commit/c29df695467c41feccd3846a55c91c6784af87b2) | feat | add `assets` option to server builder | -| [0c01532cb](https://github.com/angular/angular-cli/commit/0c01532cb5a3072b96cd65845a38b88ed4543de6) | perf | use worker pool for JavaScript transforms in esbuild builder | - -## Special Thanks - -Alan Agius, Andrew Scott, Charles Lyding, Doug Parker, Felix Hamann and Joey Perrott - - - # 15.0.1 (2022-11-23) From 143fc68adca39c023b5cd8fb8256659c16b3f6b4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 10 Jan 2023 08:26:00 +0000 Subject: [PATCH 1261/1388] docs(@angular/cli): add ng new long description This appears to have been deleted by mistake when we switched to Yargs. --- packages/angular/cli/src/commands/new/cli.ts | 3 ++- .../cli/src/commands/new/long-description.md | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 packages/angular/cli/src/commands/new/long-description.md diff --git a/packages/angular/cli/src/commands/new/cli.ts b/packages/angular/cli/src/commands/new/cli.ts index e5014dac3753..c4f8bdebcece 100644 --- a/packages/angular/cli/src/commands/new/cli.ts +++ b/packages/angular/cli/src/commands/new/cli.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ +import { join } from 'node:path'; import { Argv } from 'yargs'; import { CommandModuleImplementation, @@ -35,7 +36,7 @@ export class NewCommandModule command = 'new [name]'; aliases = 'n'; describe = 'Creates a new Angular workspace.'; - longDescriptionPath?: string | undefined; + longDescriptionPath = join(__dirname, 'long-description.md'); override async builder(argv: Argv): Promise> { const localYargs = (await super.builder(argv)).option('collection', { diff --git a/packages/angular/cli/src/commands/new/long-description.md b/packages/angular/cli/src/commands/new/long-description.md new file mode 100644 index 000000000000..1166f974887a --- /dev/null +++ b/packages/angular/cli/src/commands/new/long-description.md @@ -0,0 +1,15 @@ +Creates and initializes a new Angular application that is the default project for a new workspace. + +Provides interactive prompts for optional configuration, such as adding routing support. +All prompts can safely be allowed to default. + +- The new workspace folder is given the specified project name, and contains configuration files at the top level. + +- By default, the files for a new initial application (with the same name as the workspace) are placed in the `src/` subfolder. +- The new application's configuration appears in the `projects` section of the `angular.json` workspace configuration file, under its project name. + +- Subsequent applications that you generate in the workspace reside in the `projects/` subfolder. + +If you plan to have multiple applications in the workspace, you can create an empty workspace by using the `--no-create-application` option. +You can then use `ng generate application` to create an initial application. +This allows a workspace name different from the initial app name, and ensures that all applications reside in the `/projects` subfolder, matching the structure of the configuration file. From ef39987e59361c8ead6051b71638705622f99d53 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 11 Jan 2023 16:19:55 +0000 Subject: [PATCH 1262/1388] build: update Angular peer deps to support `^15.2.0-next.0` --- package.json | 26 ++-- packages/angular/pwa/package.json | 2 +- .../angular_devkit/build_angular/package.json | 10 +- packages/ngtools/webpack/package.json | 2 +- .../angular/utility/latest-versions.ts | 2 +- .../utility/latest-versions/package.json | 4 +- yarn.lock | 114 ++++++++++-------- 7 files changed, 90 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index 598a8734579a..e1717a4bdc76 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.1.0", + "@angular/animations": "15.2.0-next.0", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d", "@angular/cdk": "15.1.0-rc.0", - "@angular/common": "15.1.0", - "@angular/compiler": "15.1.0", - "@angular/compiler-cli": "15.1.0", - "@angular/core": "15.1.0", - "@angular/forms": "15.1.0", - "@angular/localize": "15.1.0", + "@angular/common": "15.2.0-next.0", + "@angular/compiler": "15.2.0-next.0", + "@angular/compiler-cli": "15.2.0-next.0", + "@angular/core": "15.2.0-next.0", + "@angular/forms": "15.2.0-next.0", + "@angular/localize": "15.2.0-next.0", "@angular/material": "15.1.0-rc.0", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5", - "@angular/platform-browser": "15.1.0", - "@angular/platform-browser-dynamic": "15.1.0", - "@angular/platform-server": "15.1.0", - "@angular/router": "15.1.0", - "@angular/service-worker": "15.1.0", + "@angular/platform-browser": "15.2.0-next.0", + "@angular/platform-browser-dynamic": "15.2.0-next.0", + "@angular/platform-server": "15.2.0-next.0", + "@angular/router": "15.2.0-next.0", + "@angular/service-worker": "15.2.0-next.0", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", @@ -173,7 +173,7 @@ "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", "minimatch": "5.1.2", - "ng-packagr": "15.1.0-next.0", + "ng-packagr": "15.1.0", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", diff --git a/packages/angular/pwa/package.json b/packages/angular/pwa/package.json index a7902ecbb3f2..e00a629ecc93 100644 --- a/packages/angular/pwa/package.json +++ b/packages/angular/pwa/package.json @@ -17,7 +17,7 @@ "parse5-html-rewriting-stream": "6.0.1" }, "peerDependencies": { - "@angular/cli": "^15.0.0-next || ^15.1.0-next" + "@angular/cli": "^15.0.0 || ^15.2.0-next" }, "peerDependenciesMeta": { "@angular/cli": { diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c8e20cf5473f..b80f5814f22f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -70,12 +70,12 @@ "esbuild": "0.16.16" }, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0-next || ^15.1.0-next", - "@angular/localize": "^15.0.0-next || ^15.1.0-next", - "@angular/platform-server": "^15.0.0-next || ^15.1.0-next", - "@angular/service-worker": "^15.0.0-next || ^15.1.0-next", + "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", + "@angular/localize": "^15.0.0 || ^15.2.0-next", + "@angular/platform-server": "^15.0.0 || ^15.2.0-next", + "@angular/service-worker": "^15.0.0 || ^15.2.0-next", "karma": "^6.3.0", - "ng-packagr": "^15.0.0-next || ^15.1.0-next", + "ng-packagr": "^15.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", "typescript": ">=4.8.2 <5.0" diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 8026fb470472..750be8faf469 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack", "dependencies": {}, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0-next || ^15.1.0-next", + "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", "typescript": ">=4.8.2 <5.0", "webpack": "^5.54.0" }, diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 1ed5a20ade06..18ac5470ec30 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -15,7 +15,7 @@ export const latestVersions: Record & { ...require('./latest-versions/package.json')['dependencies'], // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current - Angular: '^15.1.0-next.0', + Angular: '^15.2.0-next.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index d1fbe3db73bc..46f24bf545b8 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -12,12 +12,12 @@ "karma-jasmine-html-reporter": "~2.0.0", "karma-jasmine": "~5.1.0", "karma": "~6.4.0", - "ng-packagr": "^15.1.0-next.0", + "ng-packagr": "^15.1.0", "protractor": "~7.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "ts-node": "~10.9.0", - "typescript": "~4.9.3", + "typescript": "~4.9.4", "zone.js": "~0.12.0" } } diff --git a/yarn.lock b/yarn.lock index 99056f4109ba..aa2bd432e4a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.1.0.tgz#5f98897d52093bc3e5f01abfa982112efbf51a78" - integrity sha512-uBw1iQVJ3QS5e/gypsD7M50O//9GvpphgGqt9ZClknyD8dxO/YryEB+Kt4GNvNQxRKhRTksD8r4KaodukdQ15w== +"@angular/animations@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.0.tgz#e31b957781854a055d9d775790769e9dc67c02b8" + integrity sha512-qQal0ZICHfqPdUIju1dHDIhEpuVdd18vpcNnR8b7wPjwaPwej8fw14cTddq5gbWBvbD2ei9375hm1GOEVaADkQ== dependencies: tslib "^2.3.0" @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d": version "0.0.0-736f9a825a9b509f12e99b980d84fe1e9e2ba39f" - uid "5ce0facd1b6958e90d654fc84d68b9899d566a0d" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" @@ -168,10 +167,10 @@ optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.1.0.tgz#5d0aaf97c20774958271571ee8906d5bb5422d84" - integrity sha512-O0JKOeJ7dFcd/mnnfm4xQOYTAc+yL+OrRpGte7z84lKPU2fupLpGW/30tHUy1TXixsANyTLC3cTVXTY5szPdqg== +"@angular/common@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.0.tgz#559b7d2ced1fff3c16a8d4d34a530908341b2a39" + integrity sha512-j5BavXAsryM393vQuRb1jlYXQjMBP67V1m6o1PZSMqpC6eRXtXj4Vq1PO+2A/gZg4gnr7mcub9yVNnwUsKaDbw== dependencies: tslib "^2.3.0" @@ -191,6 +190,22 @@ tslib "^2.3.0" yargs "^17.2.1" +"@angular/compiler-cli@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.0.tgz#d7a12c865a8728463451f0e2effa5b724c389d2a" + integrity sha512-OMIEHX7ASY3xddr13A5SnD9388UrZx+h6ochZyUHO4KkAWbI4ZTEpkKs9uZKsmIoLpkhVy00cD8u6Qqa9CHe7g== + dependencies: + "@babel/core" "7.19.3" + "@jridgewell/sourcemap-codec" "^1.4.14" + chokidar "^3.0.0" + convert-source-map "^1.5.1" + dependency-graph "^0.11.0" + magic-string "^0.27.0" + reflect-metadata "^0.1.2" + semver "^7.0.0" + tslib "^2.3.0" + yargs "^17.2.1" + "@angular/compiler@15.1.0": version "15.1.0" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0.tgz#66859f122cd275f5a4078d757d018295356f5ab9" @@ -198,10 +213,17 @@ dependencies: tslib "^2.3.0" -"@angular/core@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.1.0.tgz#3f06c8a44217bc949a0b784e16d2e685e9411fc5" - integrity sha512-HiwctuR73MuLoLeP35j9xF8/SIg7ELx+iHZtp/TBfoH+LOmjWbdrAdVAPTbqnxvK0aJG+527dhgC6tBOXgBTcg== +"@angular/compiler@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.0.tgz#67985cbff91006ce196eebc92f2fd3b002c11521" + integrity sha512-PYivUbp1DFl9t+1N+hwpUNl2ljFEFfDTmSF93XJhq595F4RXGKkE5NoRTGCgTwBYO14QbzeTPmVR6Qj0zTdsAg== + dependencies: + tslib "^2.3.0" + +"@angular/core@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.0.tgz#da483a977a2609bada3d43875aff8826e3fd0fc5" + integrity sha512-rP9HI+t4y7MU6+4rNV0ycvk30C3knZ0lqGkzVDjd0CHRK0pI12LK3NblsFFwdTSCbMKrzrBe6OrqNKvkp29bpQ== dependencies: tslib "^2.3.0" @@ -212,17 +234,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.1.0.tgz#6e02b3dddcaeebf79e40590df08482d08e388d2e" - integrity sha512-MUAbruJng0iG/cHhCkDNrh31Y54upgBUjjkE4DnoHv138Wa7vba+GMYv2tTrs4rPWnB9vPziZgI0xIi/oSGxzg== +"@angular/forms@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.0.tgz#422b37899ac583c9a711c395c3019c470f1bdf33" + integrity sha512-Cl4pfBMIWJorVojjzYXooZDYAqJCaOfQe7inn8NJdr88KYuwdgTBQkEorKErKB5QnYd+t+Zcgm0n1FcL7R8AYQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.1.0.tgz#e9edd3872db5841532e67c61c4e3d49936186be0" - integrity sha512-BTEBMKqS4F8lK4rIsydRsxMbQ1hFnDZTZoifT33dmmOworWFJCGryYw0ZCTkeBtCnkRGgnr1aOTIHTvJPFIMiA== +"@angular/localize@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.0.tgz#100b8fc1732d6ff2f5470c3b2da37bef358c70a5" + integrity sha512-fvwgan3wEVz8auwBxXhPKRBCyuxpaMpqQUSK3wROy+J3FRij4PNic0Eabq6rNZyDGuDf6Hp3UUe2XVH5Y41L2w== dependencies: "@babel/core" "7.19.3" glob "8.0.3" @@ -284,46 +306,45 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5": version "0.0.0-736f9a825a9b509f12e99b980d84fe1e9e2ba39f" - uid c883714f8061f200f3aa46dbc6bdd0de41ab94d5 resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.0.tgz#89b4ea5eb7871c4347c52fc63e220c10276b2e58" - integrity sha512-ukyycXkuu4Ah/35cbN4pEB91D2PK5eZVbJ+liCD6uRb4UI3X+QVg6Qz6MoIctVAlTV6tWK20T81zoux9SzWKsg== +"@angular/platform-browser-dynamic@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.0.tgz#3da085ee7da69a8d4a161f2f394e86e80743b36c" + integrity sha512-ZziKAbYWJ48AlKc+Hif8dX11VOogvfivwSrAhw2jJN/AjzU6xPWZA5CkPjBGEZve3tRI5HLMLNneI1p4UDo0HQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.1.0.tgz#72db7074139ddd520338593a9b10302143922c5c" - integrity sha512-yuJweAR+rJhWWHM4Im3Iy6S4+W3OtcVHijcqrxfVxiA9ZHbDw/jpYDi06ZZIgfnNyGWi5/BzJbHvxH3b0lAo5Q== +"@angular/platform-browser@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.0.tgz#135339b4df0cf14222e89525afbc7a5bbce6d11a" + integrity sha512-S5gs/Ncl7/aZhSrPKP7PqMsmZ6pmLpi8trjZasXhRBJLgQOeLg0bPEYPjyXjTeocxFjnfqkkpjTw6WZ3z8oKxg== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.1.0.tgz#24e23c0a88c0e25f321e9e7fa134c843e3922406" - integrity sha512-dk7J9MHHF/KsRz9yq3kb6HOyAINbnqyD5ihBokRL9BIGTPq1Si7uFLKnQ93EZql5fyI+EyoQsgSulE4ebX7vnw== +"@angular/platform-server@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.0.tgz#76e10a20991edb32bcf892f8fbf4ee44b9675937" + integrity sha512-rN9/NPiCH/NcgT/Ar/jZeMFX4jDBnnSqh6IqUGwgvr25kjOpFzWEsVggAUep0Lvso/f1qlNhlWX03w7BmZpRjg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.1.0.tgz#59b2e35d1152ecf5298b70bc3e87cdfa5a87c943" - integrity sha512-78ItVVXOYdu/RRxruHwSmtNxEP2clx+afHKrkwc4e7/6uxVr4rl0VQhO6qHYme/bBtbLIcBZGJoSyoUg/xUSvQ== +"@angular/router@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.0.tgz#d68f1612210d383d50e0640bfc334c947b10226b" + integrity sha512-j+0ZUp/ytd0dft5VCHA+gUjqCn970UOrRe+o90VZNsbowZumMumkpxCDtZ1Btqmd2ZOW0CM8/k1vashuhdH64A== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.1.0.tgz#b20620d22cfd3c2223a729435791533be72bd4ff" - integrity sha512-P84rtPBIVdBcVexT0L5gw6QB7tKs57kUIKdDnLcyBSP051ujLKmCeSPnjhXD3SgctQY74xoF90FZZPRaYdHdmQ== +"@angular/service-worker@15.2.0-next.0": + version "15.2.0-next.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.0.tgz#c1874f109cc4117d87769752196123f7439f785d" + integrity sha512-dHCROO0zMKVgSRfWPaeYPhzckj+HXzMOYWT1hT2ltIE39t/ULsqq+DS6y6X1P1mRYOgB51YTk9vCfZUECQZh1g== dependencies: tslib "^2.3.0" @@ -8292,10 +8313,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.1.0-next.0: - version "15.1.0-next.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.0-next.0.tgz#3aa324de033f516b1ae689302c9247ea9ccec83d" - integrity sha512-Y0qrTBaMq036rSATdP2XWPE7gdr/BnQjc0wkmLWAycB8ZjNrQ1gY88gcMNGNAsmO553UFoDO0ClY/2xf7rwq5g== +ng-packagr@15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.0.tgz#58b8de092daabe02cb1187ca6817cd40d4185abb" + integrity sha512-mn4ycbJ/qMUumYnpVJUBBtNWRjqMJA7vnq9JKNV/YKu8od1Hms3qfqB7lwXJphjRI8o4BuOFZlD+frdBH9TXgg== dependencies: "@rollup/plugin-json" "^6.0.0" "@rollup/plugin-node-resolve" "^15.0.0" @@ -10033,7 +10054,6 @@ sass@1.57.1, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From 04e7c25aad3644d0502f0ae30308ccabf4db43ea Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Jan 2023 09:39:36 +0000 Subject: [PATCH 1263/1388] test: use `NPM_CONFIG_legacy_peer_deps` when testing prerelease versions of Angular material. `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. --- tests/legacy-cli/e2e/tests/build/material.ts | 65 ++++++++++++------- .../e2e/tests/commands/add/add-material.ts | 32 ++++++--- .../misc/invalid-schematic-dependencies.ts | 21 +++++- 3 files changed, 80 insertions(+), 38 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index a010ea834791..b3c470f67489 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,36 +7,51 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - let tag = (await isPrereleaseCli()) ? '@next' : ''; - await ng('add', `@angular/material${tag}`, '--skip-confirmation'); + // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. + // due to the order of releases FW -> CLI -> Material + // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. + const original_NPM_CONFIG_legacy_peer_deps = process.env['NPM_CONFIG_legacy_peer_deps']; + const isPrerelease = await isPrereleaseCli(); - const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; - if (isSnapshotBuild) { - await updateJsonFile('package.json', (packageJson) => { - const dependencies = packageJson['dependencies']; - // Angular material adds dependencies on other Angular packages - // Iterate over all of the packages to update them to the snapshot version. - for (const [name, version] of Object.entries(snapshots.dependencies)) { - if (name in dependencies) { - dependencies[name] = version; + let tag = isPrerelease ? '@next' : ''; + + try { + process.env['NPM_CONFIG_legacy_peer_deps'] = isPrerelease + ? 'true' + : original_NPM_CONFIG_legacy_peer_deps; + + await ng('add', `@angular/material${tag}`, '--skip-confirmation'); + + const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; + if (isSnapshotBuild) { + await updateJsonFile('package.json', (packageJson) => { + const dependencies = packageJson['dependencies']; + // Angular material adds dependencies on other Angular packages + // Iterate over all of the packages to update them to the snapshot version. + for (const [name, version] of Object.entries(snapshots.dependencies)) { + if (name in dependencies) { + dependencies[name] = version; + } } - } - dependencies['@angular/material-moment-adapter'] = - snapshots.dependencies['@angular/material-moment-adapter']; - }); - await installWorkspacePackages(); - } else { - if (!tag) { - const installedMaterialVersion = JSON.parse(await readFile('package.json'))['dependencies'][ - '@angular/material' - ]; - tag = `@${installedMaterialVersion}`; + dependencies['@angular/material-moment-adapter'] = + snapshots.dependencies['@angular/material-moment-adapter']; + }); + await installWorkspacePackages(); + } else { + if (!tag) { + const installedMaterialVersion = JSON.parse(await readFile('package.json'))['dependencies'][ + '@angular/material' + ]; + tag = `@${installedMaterialVersion}`; + } + await installPackage(`@angular/material-moment-adapter${tag}`); } - await installPackage(`@angular/material-moment-adapter${tag}`); - } - await installPackage('moment'); + await installPackage('moment'); + } finally { + process.env['NPM_CONFIG_legacy_peer_deps'] = original_NPM_CONFIG_legacy_peer_deps; + } await ng('build'); diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index bca90ca6c032..1e232d9d8315 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -1,17 +1,31 @@ import { assertIsError } from '../../../utils/utils'; import { expectFileToMatch, rimraf } from '../../../utils/fs'; import { uninstallPackage } from '../../../utils/packages'; -import { ng } from '../../../utils/process'; +import { execWithEnv } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; export default async function () { // forcibly remove in case another test doesn't clean itself up await rimraf('node_modules/@angular/material'); - const tag = (await isPrereleaseCli()) ? '@next' : ''; + const isPrerelease = await isPrereleaseCli(); + const tag = isPrerelease ? '@next' : ''; + const processEnv = { + ...process.env, + // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. + // due to the order of releases FW -> CLI -> Material + // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. + 'NPM_CONFIG_legacy_peer_deps': isPrerelease + ? 'true' + : process.env['NPM_CONFIG_legacy_peer_deps'], + }; try { - await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); + await execWithEnv( + 'ng', + ['add', `@angular/material${tag}`, '--skip-confirmation', '--unknown'], + processEnv, + ); } catch (error) { assertIsError(error); if (!(error as Error).message.includes(`Unknown option: '--unknown'`)) { @@ -19,14 +33,12 @@ export default async function () { } } - await ng( - 'add', - `@angular/material${tag}`, - '--theme', - 'custom', - '--verbose', - '--skip-confirmation', + await execWithEnv( + 'ng', + ['add', `@angular/material${tag}`, '--theme', 'custom', '--verbose', '--skip-confirmation'], + processEnv, ); + await expectFileToMatch('package.json', /@angular\/material/); // Clean up existing cdk package diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 432f21167cdb..49ce38147ab5 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -1,5 +1,5 @@ import { expectFileToMatch } from '../../utils/fs'; -import { execWithEnv, extractNpmEnv, ng, silentNpm } from '../../utils/process'; +import { execWithEnv, extractNpmEnv, silentNpm } from '../../utils/process'; import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; @@ -13,8 +13,23 @@ export default async function () { // Install outdated and incompatible version await installPackage('@schematics/angular@7'); - const tag = (await isPrereleaseCli()) ? '@next' : ''; - await ng('add', `@angular/material${tag}`, '--skip-confirmation'); + const isPrerelease = await isPrereleaseCli(); + const tag = isPrerelease ? '@next' : ''; + + await execWithEnv( + 'ng', + ['add', `@angular/material${tag}`, '--skip-confirmation'], + // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. + // due to the order of releases FW -> CLI -> Material + // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. + { + ...process.env, + 'NPM_CONFIG_legacy_peer_deps': isPrerelease + ? 'true' + : process.env['NPM_CONFIG_legacy_peer_deps'], + }, + ); + await expectFileToMatch('package.json', /@angular\/material/); // Clean up existing cdk package From b68467f8d077df642cd359e8d959147ce64a01e0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Jan 2023 08:59:45 +0000 Subject: [PATCH 1264/1388] fix(@angular-devkit/build-angular): update `esbuild` to `0.16.17` This release contains a fix for `SyntaxError: Unexpected token: punc (()` Closes #24526 --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 147 +++++++++++++++++- 3 files changed, 149 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e1717a4bdc76..f2371a3f3767 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.16.16", - "esbuild-wasm": "0.16.16", + "esbuild": "0.16.17", + "esbuild-wasm": "0.16.17", "eslint": "8.31.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b80f5814f22f..b21aa29f83ff 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.16.16", + "esbuild-wasm": "0.16.17", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.16" + "esbuild": "0.16.17" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/yarn.lock b/yarn.lock index aa2bd432e4a2..9a91f5da2503 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1381,6 +1381,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz#833184b8a0a96f9c85105c53d0a67e6d3c5c3f07" integrity sha512-hFHVAzUKp9Tf8psGq+bDVv+6hTy1bAOoV/jJMUWwhUnIHsh6WbFMhw0ZTkqDuh7TdpffFoHOiIOIxmHc7oYRBQ== +"@esbuild/android-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" + integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== + "@esbuild/android-arm@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" @@ -1391,6 +1396,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.16.tgz#23761b2fd1dfa4806161dbfc9e0824f04061cb95" integrity sha512-BUuWMlt4WSXod1HSl7aGK8fJOsi+Tab/M0IDK1V1/GstzoOpqc/v3DqmN8MkuapPKQ9Br1WtLAN4uEgWR8x64A== +"@esbuild/android-arm@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" + integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== + "@esbuild/android-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" @@ -1401,6 +1411,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.16.tgz#ffa09f04c0ffea5b594ab7655fc9ca1220365e9b" integrity sha512-9WhxJpeb6XumlfivldxqmkJepEcELekmSw3NkGrs+Edq6sS5KRxtUBQuKYDD7KqP59dDkxVbaoPIQFKWQG0KLg== +"@esbuild/android-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" + integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== + "@esbuild/darwin-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" @@ -1411,6 +1426,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz#62ed2b4bfab594b9e5e708580361f1d059b53b26" integrity sha512-8Z+wld+vr/prHPi2O0X7o1zQOfMbXWGAw9hT0jEyU/l/Yrg+0Z3FO9pjPho72dVkZs4ewZk0bDOFLdZHm8jEfw== +"@esbuild/darwin-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" + integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== + "@esbuild/darwin-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" @@ -1421,6 +1441,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz#e9756d34cd9b3737a5354e89ca0fdca32d8df64c" integrity sha512-CYkxVvkZzGCqFrt7EgjFxQKhlUPyDkuR9P0Y5wEcmJqVI8ncerOIY5Kej52MhZyzOBXkYrJgZeVZC9xXXoEg9A== +"@esbuild/darwin-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" + integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== + "@esbuild/freebsd-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" @@ -1431,6 +1456,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz#db7bce444d372e5a213a3f359c42aee3acc0dd45" integrity sha512-fxrw4BYqQ39z/3Ja9xj/a1gMsVq0xEjhSyI4a9MjfvDDD8fUV8IYliac96i7tzZc3+VytyXX+XNsnpEk5sw5Wg== +"@esbuild/freebsd-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" + integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== + "@esbuild/freebsd-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" @@ -1441,6 +1471,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz#02e8a81b7e56040b5eb883896de445a6cd3501f0" integrity sha512-8p3v1D+du2jiDvSoNVimHhj7leSfST9YlKsAEO7etBfuqjaBMndo0fmjNLp0JCMld+XIx9L80tooOkyUv1a1PQ== +"@esbuild/freebsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" + integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== + "@esbuild/linux-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" @@ -1451,6 +1486,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz#ea8c3df172644fa6437f0083c2a38b50f89e5b98" integrity sha512-N3u6BBbCVY3xeP2D8Db7QY8I+nZ+2AgOopUIqk+5yCoLnsWkcVxD2ay5E9iIdvApFi1Vg1lZiiwaVp8bOpAc4A== +"@esbuild/linux-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" + integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== + "@esbuild/linux-arm@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" @@ -1461,6 +1501,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz#c1c2e97e67bb7247e6f60e2644de057bfedb8cbb" integrity sha512-bYaocE1/PTMRmkgSckZ0D0Xn2nox8v2qlk+MVVqm+VECNKDdZvghVZtH41dNtBbwADSvA6qkCHGYeWm9LrNCBw== +"@esbuild/linux-arm@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" + integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== + "@esbuild/linux-ia32@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" @@ -1471,6 +1516,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz#9a0b0e926926f891a3e7f7c50bb38e3db49c2c9a" integrity sha512-dxjqLKUW8GqGemoRT9v8IgHk+T4tRm1rn1gUcArsp26W9EkK/27VSjBVUXhEG5NInHZ92JaQ3SSMdTwv/r9a2A== +"@esbuild/linux-ia32@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" + integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== + "@esbuild/linux-loong64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" @@ -1481,6 +1531,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz#c5a50ff5981d457ed45f42c3f06a60086759c79b" integrity sha512-MdUFggHjRiCCwNE9+1AibewoNq6wf94GLB9Q9aXwl+a75UlRmbRK3h6WJyrSGA6ZstDJgaD2wiTSP7tQNUYxwA== +"@esbuild/linux-loong64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" + integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== + "@esbuild/linux-mips64el@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" @@ -1491,6 +1546,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz#e85b7e3c25000be2ae373e5208e55e282a9763e0" integrity sha512-CO3YmO7jYMlGqGoeFeKzdwx/bx8Vtq/SZaMAi+ZLDUnDUdfC7GmGwXzIwDJ70Sg+P9pAemjJyJ1icKJ9R3q/Fg== +"@esbuild/linux-mips64el@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" + integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== + "@esbuild/linux-ppc64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" @@ -1501,6 +1561,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz#24a0013bf727830df44fece571172ebe31b5c5e6" integrity sha512-DSl5Czh5hCy/7azX0Wl9IdzPHX2H8clC6G87tBnZnzUpNgRxPFhfmArbaHoAysu4JfqCqbB/33u/GL9dUgCBAw== +"@esbuild/linux-ppc64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" + integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== + "@esbuild/linux-riscv64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" @@ -1511,6 +1576,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz#b080998d8d0480e8235f1384c585ae505e98a19d" integrity sha512-sSVVMEXsqf1fQu0j7kkhXMViroixU5XoaJXl1u/u+jbXvvhhCt9YvA/B6VM3aM/77HuRQ94neS5bcisijGnKFQ== +"@esbuild/linux-riscv64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" + integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== + "@esbuild/linux-s390x@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" @@ -1521,6 +1591,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz#5042de05b9b653dfd134f05e1b37b61704c14c42" integrity sha512-jRqBCre9gZGoCdCN/UWCCMwCMsOg65IpY9Pyj56mKCF5zXy9d60kkNRdDN6YXGjr3rzcC4DXnS/kQVCGcC4yPQ== +"@esbuild/linux-s390x@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" + integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== + "@esbuild/linux-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" @@ -1531,6 +1606,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz#b7c0750f2276c9dcf41f0f2229adca46ef22f698" integrity sha512-G1+09TopOzo59/55lk5Q0UokghYLyHTKKzD5lXsAOOlGDbieGEFJpJBr3BLDbf7cz89KX04sBeExAR/pL/26sA== +"@esbuild/linux-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" + integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== + "@esbuild/netbsd-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" @@ -1541,6 +1621,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz#e2a0ee181fbbe834174d26e24ce1b258232bb3eb" integrity sha512-xwjGJB5wwDEujLaJIrSMRqWkbigALpBNcsF9SqszoNKc+wY4kPTdKrSxiY5ik3IatojePP+WV108MvF6q6np4w== +"@esbuild/netbsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" + integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== + "@esbuild/openbsd-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" @@ -1551,6 +1636,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz#87a84c1932e00f52ab3380c31facf0e48086ffb9" integrity sha512-yeERkoxG2nR2oxO5n+Ms7MsCeNk23zrby2GXCqnfCpPp7KNc0vxaaacIxb21wPMfXXRhGBrNP4YLIupUBrWdlg== +"@esbuild/openbsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" + integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== + "@esbuild/sunos-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" @@ -1561,6 +1651,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz#996bcd2603cd345733c3aa5f52bfd5b8fa7d1d36" integrity sha512-nHfbEym0IObXPhtX6Va3H5GaKBty2kdhlAhKmyCj9u255ktAj0b1YACUs9j5H88NRn9cJCthD1Ik/k9wn8YKVg== +"@esbuild/sunos-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" + integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== + "@esbuild/win32-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" @@ -1571,6 +1666,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz#404a9411d12533d0f2ce0a85df6ddb32e851ef04" integrity sha512-pdD+M1ZOFy4hE15ZyPX09fd5g4DqbbL1wXGY90YmleVS6Y5YlraW4BvHjim/X/4yuCpTsAFvsT4Nca2lbyDH/A== +"@esbuild/win32-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" + integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== + "@esbuild/win32-ia32@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" @@ -1581,6 +1681,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz#bb5655a48f5f87fee870061883411f5149bc5e44" integrity sha512-IPEMfU9p0c3Vb8PqxaPX6BM9rYwlTZGYOf9u+kMdhoILZkVKEjq6PKZO0lB+isojWwAnAqh4ZxshD96njTXajg== +"@esbuild/win32-ia32@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" + integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== + "@esbuild/win32-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" @@ -1591,6 +1696,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz#ee22fed0b2e0c00ce895cdfae9d32ef069a12e04" integrity sha512-1YYpoJ39WV/2bnShPwgdzJklc+XS0bysN6Tpnt1cWPdeoKOG4RMEY1g7i534QxXX/rPvNx/NLJQTTCeORYzipg== +"@esbuild/win32-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" + integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== + "@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -5497,7 +5607,12 @@ esbuild-wasm@0.16.14: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== -esbuild-wasm@0.16.16, esbuild-wasm@^0.16.0: +esbuild-wasm@0.16.17: + version "0.16.17" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" + integrity sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q== + +esbuild-wasm@^0.16.0: version "0.16.16" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.16.tgz#5f1ae6ebc325322d9f5772d598e80144572e5b5e" integrity sha512-X7wDIw8Pg0WFfDyrUhMpoMaGuCPeAfsQL8zJq5OeYQoNNXIvx8C+E1gz31bLcEOEhx0MBvupAM6ZI2D0sR8Fsw== @@ -5530,7 +5645,35 @@ esbuild@0.16.14: "@esbuild/win32-ia32" "0.16.14" "@esbuild/win32-x64" "0.16.14" -esbuild@0.16.16, esbuild@^0.16.0: +esbuild@0.16.17: + version "0.16.17" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" + integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== + optionalDependencies: + "@esbuild/android-arm" "0.16.17" + "@esbuild/android-arm64" "0.16.17" + "@esbuild/android-x64" "0.16.17" + "@esbuild/darwin-arm64" "0.16.17" + "@esbuild/darwin-x64" "0.16.17" + "@esbuild/freebsd-arm64" "0.16.17" + "@esbuild/freebsd-x64" "0.16.17" + "@esbuild/linux-arm" "0.16.17" + "@esbuild/linux-arm64" "0.16.17" + "@esbuild/linux-ia32" "0.16.17" + "@esbuild/linux-loong64" "0.16.17" + "@esbuild/linux-mips64el" "0.16.17" + "@esbuild/linux-ppc64" "0.16.17" + "@esbuild/linux-riscv64" "0.16.17" + "@esbuild/linux-s390x" "0.16.17" + "@esbuild/linux-x64" "0.16.17" + "@esbuild/netbsd-x64" "0.16.17" + "@esbuild/openbsd-x64" "0.16.17" + "@esbuild/sunos-x64" "0.16.17" + "@esbuild/win32-arm64" "0.16.17" + "@esbuild/win32-ia32" "0.16.17" + "@esbuild/win32-x64" "0.16.17" + +esbuild@^0.16.0: version "0.16.16" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.16.tgz#e8a27820a30cc1449066f9bbe8916b145dbc9046" integrity sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg== From 871e687ac48b1b6b87d96a8c6577d7c136cb9e16 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Jan 2023 08:54:47 +0000 Subject: [PATCH 1265/1388] build: update `eslint-plugin-import` to `2.27.4` --- package.json | 2 +- .../src/builders/extract-i18n/index.ts | 4 +- .../build_angular/src/utils/build-options.ts | 2 +- scripts/create.ts | 2 +- yarn.lock | 61 +++++++++++++------ 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index f2371a3f3767..a865e422176f 100644 --- a/package.json +++ b/package.json @@ -146,7 +146,7 @@ "eslint": "8.31.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", - "eslint-plugin-import": "2.26.0", + "eslint-plugin-import": "2.27.4", "express": "4.18.2", "glob": "8.0.3", "http-proxy": "^1.18.1", diff --git a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts index 8f7e54708894..77c1667836e8 100644 --- a/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/extract-i18n/index.ts @@ -6,11 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ +import type { ɵParsedMessage as LocalizeMessage } from '@angular/localize'; +import type { Diagnostics } from '@angular/localize/tools'; import { BuilderContext, createBuilder, targetFromTargetString } from '@angular-devkit/architect'; import { BuildResult, runWebpack } from '@angular-devkit/build-webpack'; import { JsonObject } from '@angular-devkit/core'; -import type { ɵParsedMessage as LocalizeMessage } from '@angular/localize'; -import type { Diagnostics } from '@angular/localize/tools'; import * as fs from 'fs'; import * as path from 'path'; import webpack, { Configuration } from 'webpack'; diff --git a/packages/angular_devkit/build_angular/src/utils/build-options.ts b/packages/angular_devkit/build_angular/src/utils/build-options.ts index cacfd5746da2..7856f42fe6a2 100644 --- a/packages/angular_devkit/build_angular/src/utils/build-options.ts +++ b/packages/angular_devkit/build_angular/src/utils/build-options.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import { logging } from '@angular-devkit/core'; import type { ParsedConfiguration } from '@angular/compiler-cli'; +import { logging } from '@angular-devkit/core'; import { AssetPatternClass, Budget, diff --git a/scripts/create.ts b/scripts/create.ts index 2c9a50e5e52b..79fc4e60faef 100644 --- a/scripts/create.ts +++ b/scripts/create.ts @@ -7,8 +7,8 @@ */ /* eslint-disable import/no-extraneous-dependencies, no-prototype-builtins */ -import { logging } from '@angular-devkit/core'; import cli from '@angular/cli/lib/cli'; +import { logging } from '@angular-devkit/core'; import * as child_process from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; diff --git a/yarn.lock b/yarn.lock index 9a91f5da2503..0516ddb87497 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4011,7 +4011,7 @@ array-flatten@^2.1.2: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== -array-includes@^3.1.4: +array-includes@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== @@ -4039,7 +4039,7 @@ array-uniq@^1.0.1: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== -array.prototype.flat@^1.2.5: +array.prototype.flat@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== @@ -4049,6 +4049,16 @@ array.prototype.flat@^1.2.5: es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" +array.prototype.flatmap@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -5083,7 +5093,7 @@ dayjs@1.11.7: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== -debug@2.6.9, debug@^2.2.0, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -5750,7 +5760,7 @@ eslint-config-prettier@8.6.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== -eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: +eslint-import-resolver-node@0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== @@ -5758,7 +5768,16 @@ eslint-import-resolver-node@0.3.6, eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-module-utils@^2.7.3: +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-module-utils@^2.7.4: version "2.7.4" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== @@ -5770,23 +5789,25 @@ eslint-plugin-header@3.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz#6ce512432d57675265fac47292b50d1eff11acd6" integrity sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg== -eslint-plugin-import@2.26.0: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== +eslint-plugin-import@2.27.4: + version "2.27.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz#319c2f6f6580e1678d674a258ee5e981c10cc25b" + integrity sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA== dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.0" + debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" has "^1.0.3" - is-core-module "^2.8.1" + is-core-module "^2.11.0" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" tsconfig-paths "^3.14.1" eslint-scope@5.1.1, eslint-scope@^5.1.1: @@ -7068,7 +7089,7 @@ is-cidr@^4.0.2: dependencies: cidr-regex "^3.1.1" -is-core-module@^2.1.0, is-core-module@^2.8.1, is-core-module@^2.9.0: +is-core-module@^2.1.0, is-core-module@^2.11.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== @@ -8893,7 +8914,7 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.values@^1.1.5: +object.values@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== @@ -10023,7 +10044,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: +resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== From e763db86915becb2c11a5663efd1b9c174c54adf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Jan 2023 13:47:11 +0000 Subject: [PATCH 1266/1388] refactor: change `JSONFile` to private instead of internal This is so that this can be used in the Universal repo which is not failing because the type is not available. https://app.circleci.com/pipelines/github/angular/universal/4483/workflows/25535db2-4a9c-43b0-84a5-3a55071013c6/jobs/20263 --- packages/schematics/angular/utility/json-file.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/utility/json-file.ts b/packages/schematics/angular/utility/json-file.ts index 6bb532416f2e..3aebc5d24dcc 100644 --- a/packages/schematics/angular/utility/json-file.ts +++ b/packages/schematics/angular/utility/json-file.ts @@ -22,7 +22,7 @@ import { export type InsertionIndex = (properties: string[]) => number; export type JSONPath = (string | number)[]; -/** @internal */ +/** @private */ export class JSONFile { content: string; From cb58011360f48b06139580156c90272fb699e9fe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Jan 2023 15:40:55 +0000 Subject: [PATCH 1267/1388] docs: release notes for the v15.1.1 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eae2c05e8491..77a230bcf338 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 15.1.1 (2023-01-12) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------- | +| [b94bf60ca](https://github.com/angular/angular-cli/commit/b94bf60ca828a22d548d65b819ea745eafb96deb) | fix | update `esbuild` to `0.16.17` | + +## Special Thanks + +Alan Agius + + + # 15.1.0 (2023-01-11) From ebacf58e024fcafdecd315b1c30846b39c95417d Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 12 Jan 2023 15:42:35 +0000 Subject: [PATCH 1268/1388] release: cut the v15.2.0-next.0 release --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77a230bcf338..c62add0f0ccd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 15.2.0-next.0 (2023-01-12) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [09af70743](https://github.com/angular/angular-cli/commit/09af70743800aefdefe06e0ca32bcdde18f9eb77) | feat | implement node module license extraction for esbuild builder | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.1.1 (2023-01-12) From d012e259de14f1c17960dc1703a443be800c7933 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 12 Jan 2023 19:51:44 +0000 Subject: [PATCH 1269/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 8 ++--- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 30 +++++++++-------- 7 files changed, 41 insertions(+), 39 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 62c6f6617b64..6372aac42251 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@736f9a825a9b509f12e99b980d84fe1e9e2ba39f + - uses: angular/dev-infra/github-actions/branch-manager@af467a592162ef86f034c3243856af13d5c31018 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index e9b020104c21..569c457ef8c7 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@736f9a825a9b509f12e99b980d84fe1e9e2ba39f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@af467a592162ef86f034c3243856af13d5c31018 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@736f9a825a9b509f12e99b980d84fe1e9e2ba39f + - uses: angular/dev-infra/github-actions/post-approval-changes@af467a592162ef86f034c3243856af13d5c31018 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index bd11fd6bb63b..ebbaf2ee940a 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@736f9a825a9b509f12e99b980d84fe1e9e2ba39f + - uses: angular/dev-infra/github-actions/feature-request@af467a592162ef86f034c3243856af13d5c31018 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 7f07db6b516f..75ba536a94a2 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@736f9a825a9b509f12e99b980d84fe1e9e2ba39f + - uses: angular/dev-infra/github-actions/lock-closed@af467a592162ef86f034c3243856af13d5c31018 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index a865e422176f..e6eeca9c12d4 100644 --- a/package.json +++ b/package.json @@ -66,16 +66,16 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d", - "@angular/cdk": "15.1.0-rc.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6cdf0f2153298b828934373cc068b6a0f9dcf098", + "@angular/cdk": "15.1.0", "@angular/common": "15.2.0-next.0", "@angular/compiler": "15.2.0-next.0", "@angular/compiler-cli": "15.2.0-next.0", "@angular/core": "15.2.0-next.0", "@angular/forms": "15.2.0-next.0", "@angular/localize": "15.2.0-next.0", - "@angular/material": "15.1.0-rc.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5", + "@angular/material": "15.1.0", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#301673f54ebe816bbcf13fe503de105c5e5a6a9c", "@angular/platform-browser": "15.2.0-next.0", "@angular/platform-browser-dynamic": "15.2.0-next.0", "@angular/platform-server": "15.2.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index cc55c55d446f..540ace1e363b 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#a5c1c6f3c017b89e6eceef28f169b20981027160", - "@angular/cdk": "github:angular/cdk-builds#2b7ad447e52133f17e06405544a4c68039e7fa2d", - "@angular/common": "github:angular/common-builds#2a2b21bfed03ac63b3b94522831b8d10305bd1fc", - "@angular/compiler": "github:angular/compiler-builds#2674fc3c5ee22427a284e01e8a3910eb42e7c325", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#3c46604fc52801e0e7b08ee25db7f6924c395fee", - "@angular/core": "github:angular/core-builds#2a589cde3e88188f322d4bb64d96f69f062c0d69", - "@angular/forms": "github:angular/forms-builds#960028b07a4b20b36a4c2a4f9747e6c0992de5c5", - "@angular/language-service": "github:angular/language-service-builds#a3fbac1cef99b13180c490ae781614f7c975d4de", - "@angular/localize": "github:angular/localize-builds#b810f6db6801c67d05ff0aeefbdd0a3781a9023a", - "@angular/material": "github:angular/material-builds#ba01724bf768e700012eb9809dd5dead6ae36492", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#85a374bbcba2f62561cd291a51bb39f0cce44045", - "@angular/platform-browser": "github:angular/platform-browser-builds#36fa2eacc12de893ccd01db0733d267521e7ab4c", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#82b2198375bf716b1ec676900092e9085bfb222c", - "@angular/platform-server": "github:angular/platform-server-builds#5092f4620ecc8a1ffef08493e0dfd9faa83f405b", - "@angular/router": "github:angular/router-builds#d4564bcd642da0431d66e98cb8fe403ebf1f8b8f", - "@angular/service-worker": "github:angular/service-worker-builds#ceb75f9f10e2fa8269f59c565942ca9bfe721ba6" + "@angular/animations": "github:angular/animations-builds#508bafe8b400a68cfdeda2b903e66b6733d41301", + "@angular/cdk": "github:angular/cdk-builds#3c137ef4ca832152728001f510698b4d351ca131", + "@angular/common": "github:angular/common-builds#f99875ccfbbf1e4804e3159c83a6c63a8aabc135", + "@angular/compiler": "github:angular/compiler-builds#65a541d5602029e83c268ef14e7bec99a3f8a631", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#8d43c37939ce485b9df78e649ba8d8b60b37be45", + "@angular/core": "github:angular/core-builds#16ead15e49bc6106b5e57cbf71398661edd814f4", + "@angular/forms": "github:angular/forms-builds#2d9aebd35a5e225ea6729cf17455b41423bbeb03", + "@angular/language-service": "github:angular/language-service-builds#e251e6ff2f860abf07b6572dfb783834bd4e4caf", + "@angular/localize": "github:angular/localize-builds#7e40fdd7d6a21a9e2f23ad603938d5c66f0531a5", + "@angular/material": "github:angular/material-builds#bdd90a19889fbff80f80aa843c6b1adab2843237", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ba8c6c5a66c864a9ce78a88880e0cafede24cff5", + "@angular/platform-browser": "github:angular/platform-browser-builds#56a7712af9a29dc3493668cccfa4810797b87a45", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#51b2b24f5998d1c3c135bee71659ff2bb38bfcfa", + "@angular/platform-server": "github:angular/platform-server-builds#54e4a628dd21e90fedeb7e09da06b1c1b760d822", + "@angular/router": "github:angular/router-builds#a2194915d9970d96e2b72adb849a311834888bd8", + "@angular/service-worker": "github:angular/service-worker-builds#15a863e08fcb8ae2b7723eb986b34d2fa5e6594a" } } diff --git a/yarn.lock b/yarn.lock index 0516ddb87497..f94818423ecb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,9 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d": - version "0.0.0-736f9a825a9b509f12e99b980d84fe1e9e2ba39f" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5ce0facd1b6958e90d654fc84d68b9899d566a0d" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6cdf0f2153298b828934373cc068b6a0f9dcf098": + version "0.0.0-af467a592162ef86f034c3243856af13d5c31018" + uid "6cdf0f2153298b828934373cc068b6a0f9dcf098" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6cdf0f2153298b828934373cc068b6a0f9dcf098" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" "@angular/benchpress" "0.3.0" @@ -158,10 +159,10 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.0-rc.0.tgz#04f55d66c7807375e1757f4cb0be669d9609a059" - integrity sha512-E1s3MKT9OkiFncBI2tEox6iUH0EMzs70qt1CRBo8ls7oD7avW/CJHW18wAVMJoTGQkhBycpg2nW73jU15X69qQ== +"@angular/cdk@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.0.tgz#e134537bdf5532beb54b6f535bc555e190058730" + integrity sha512-6X9k/OT+L6nu1ndKTX4zsSxXR8/C6CyzVY+iIytBUZ8qYaZ6kZ385YlDHyNB9x70GaC5hJkOvR0ZVupz57x0bg== dependencies: tslib "^2.3.0" optionalDependencies: @@ -250,10 +251,10 @@ glob "8.0.3" yargs "^17.2.1" -"@angular/material@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.0-rc.0.tgz#c0e85a3a08ed74a78d3045e418c18ff795785122" - integrity sha512-ZCNr5Bj3KC4pNBXKx3l9X77Mfxz91tci1SqVvEZ1BtCP2XC8OvhYhxhXOOcJVsXv3KaaIBmrIZa7p0vTfvw9ow== +"@angular/material@15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.0.tgz#5d6901489a4178c60a9c1b06601bdfd30316c99d" + integrity sha512-H/SBpsjf4rzSwep9er1QUh45rSsXiWh8b/HZxCP61lJSnWDUsLP1r+icLtKBAHYMpsrJHSdrgOx1do9IG2K1uQ== dependencies: "@material/animation" "15.0.0-canary.fd95ca7ef.0" "@material/auto-init" "15.0.0-canary.fd95ca7ef.0" @@ -304,9 +305,10 @@ "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5": - version "0.0.0-736f9a825a9b509f12e99b980d84fe1e9e2ba39f" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#c883714f8061f200f3aa46dbc6bdd0de41ab94d5" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#301673f54ebe816bbcf13fe503de105c5e5a6a9c": + version "0.0.0-af467a592162ef86f034c3243856af13d5c31018" + uid "301673f54ebe816bbcf13fe503de105c5e5a6a9c" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#301673f54ebe816bbcf13fe503de105c5e5a6a9c" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" From e9de6a74682e0d535c1adea0935c109b508cc6f6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 12 Jan 2023 13:10:05 -0500 Subject: [PATCH 1270/1388] build: cleanup unneeded and/or default tsconfig options General cleanup of the main repository `tsconfig.json` file that is used by the IDE and as a base for the build and test tsconfig files. This includes removal of options that contain default values and removal of no longer existing paths from several options. A project relative path in one of the development scripts was also fixed to use a relative path to be consist with all other paths. --- .eslintignore | 1 + .ng-dev/tsconfig.json | 3 ++- scripts/json-help.ts | 2 +- tsconfig.json | 14 +++----------- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/.eslintignore b/.eslintignore index c3cc98e062af..3be6763ed0db 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,7 @@ /bazel-out/ /dist-schema/ /goldens/public-api +/packages/angular_devkit/build_angular/src/babel-bazel.d.ts /packages/angular_devkit/build_angular/test/ /packages/angular_devkit/build_webpack/test/ /packages/angular_devkit/schematics_cli/blank/project-files/ diff --git a/.ng-dev/tsconfig.json b/.ng-dev/tsconfig.json index 12cf63f79e32..2a26627bc905 100644 --- a/.ng-dev/tsconfig.json +++ b/.ng-dev/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "module": "Node16", "moduleResolution": "Node16", - "noEmit": true + "noEmit": true, + "types": [] }, "include": ["**/*.mts"], "exclude": [] diff --git a/scripts/json-help.ts b/scripts/json-help.ts index 4a2782cbc4d8..e37cf633ea2e 100644 --- a/scripts/json-help.ts +++ b/scripts/json-help.ts @@ -10,9 +10,9 @@ import { logging } from '@angular-devkit/core'; import { spawnSync } from 'child_process'; import { promises as fs } from 'fs'; import * as os from 'os'; -import { JsonHelp } from 'packages/angular/cli/src/command-builder/utilities/json-help'; import * as path from 'path'; import { packages } from '../lib/packages'; +import { JsonHelp } from '../packages/angular/cli/src/command-builder/utilities/json-help'; import create from './create'; export async function createTemporaryProject(logger: logging.Logger): Promise { diff --git a/tsconfig.json b/tsconfig.json index 198e5c64d657..b06ef79634ed 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,18 +8,13 @@ "experimentalDecorators": true, "noFallthroughCasesInSwitch": true, "noImplicitOverride": true, - "noUnusedParameters": false, - "noUnusedLocals": false, "outDir": "./dist", - "rootDir": ".", "skipLibCheck": true, "strict": true, "target": "es2019", "lib": ["es2020"], - "baseUrl": "", - "rootDirs": [".", "./dist-schema/", "./bazel-bin/"], - "typeRoots": ["./node_modules/@types"], - "types": ["node", "jasmine"], + "rootDir": ".", + "rootDirs": [".", "./dist-schema/"], "paths": { "@angular-devkit/core": ["./packages/angular_devkit/core/src/index"], "@angular-devkit/core/node": ["./packages/angular_devkit/core/node/index"], @@ -50,8 +45,7 @@ "suppressTsconfigOverrideWarnings": true }, "exclude": [ - "packages/angular_devkit/build_angular/src/bazel-babel.d.ts", - "bazel-out/**/*", + "packages/angular_devkit/build_angular/src/babel-bazel.d.ts", "dist/**/*", "dist-schema/**", "goldens/**/*", @@ -60,9 +54,7 @@ "packages/angular_devkit/schematics_cli/blank/*-files/**/*", "packages/angular_devkit/schematics_cli/schematic/files/**/*", "packages/angular_devkit/*/test/**/*", - "packages/schematics/*/*/*files/**/*", "tests/**/*", - "tools/**/*", ".ng-dev/**/*" ] } From cbc3998729790f5b6d325abadd9d4bd01eb9fceb Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 12 Jan 2023 19:51:51 +0000 Subject: [PATCH 1271/1388] build: update dependency ng-packagr to v15.1.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e6eeca9c12d4..7c53fde39b71 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", "minimatch": "5.1.2", - "ng-packagr": "15.1.0", + "ng-packagr": "15.1.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", diff --git a/yarn.lock b/yarn.lock index f94818423ecb..34cab1f2ed20 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8479,10 +8479,10 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ng-packagr@15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.0.tgz#58b8de092daabe02cb1187ca6817cd40d4185abb" - integrity sha512-mn4ycbJ/qMUumYnpVJUBBtNWRjqMJA7vnq9JKNV/YKu8od1Hms3qfqB7lwXJphjRI8o4BuOFZlD+frdBH9TXgg== +ng-packagr@15.1.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.1.tgz#c59de99748342f14cb2119a605e8ebd89250a9d2" + integrity sha512-TT5JtYJkKuYnUaCIQH/ArE+D1xjpjWnQjvbfRxd6/wypi0nDfSYvq96CLd1zphgMOp+Ofd8Xyet0K73znygxCA== dependencies: "@rollup/plugin-json" "^6.0.0" "@rollup/plugin-node-resolve" "^15.0.0" From d05eb001613cc41776cee91eddbd8be9a92628a6 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 12 Jan 2023 14:11:59 -0500 Subject: [PATCH 1272/1388] refactor(@angular-devkit/build-angular): remove direct import of i18n worker code The i18n inlining worker code was previously imported in several locations to allow reuse of the options object used to configure the worker. To prevent the worker code from being used outside of an actual worker, the options object definition is now located in a separate file and imported in both the worker and any other files that need to use the inlining options. --- .../build_angular/src/utils/action-executor.ts | 2 +- ...-bundle-bootstrap.js => bundle-inline-options.ts} | 10 ++++++++-- .../build_angular/src/utils/i18n-inlining.ts | 2 +- .../build_angular/src/utils/process-bundle.ts | 12 ++---------- 4 files changed, 12 insertions(+), 14 deletions(-) rename packages/angular_devkit/build_angular/src/utils/{process-bundle-bootstrap.js => bundle-inline-options.ts} (52%) diff --git a/packages/angular_devkit/build_angular/src/utils/action-executor.ts b/packages/angular_devkit/build_angular/src/utils/action-executor.ts index 8ec0be4e971f..39db327ae60a 100644 --- a/packages/angular_devkit/build_angular/src/utils/action-executor.ts +++ b/packages/angular_devkit/build_angular/src/utils/action-executor.ts @@ -7,9 +7,9 @@ */ import Piscina from 'piscina'; +import { InlineOptions } from './bundle-inline-options'; import { maxWorkers } from './environment-options'; import { I18nOptions } from './i18n-options'; -import { InlineOptions } from './process-bundle'; const workerFile = require.resolve('./process-bundle'); diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js b/packages/angular_devkit/build_angular/src/utils/bundle-inline-options.ts similarity index 52% rename from packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js rename to packages/angular_devkit/build_angular/src/utils/bundle-inline-options.ts index 7ff6bb28fcdc..16977f2bf08e 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle-bootstrap.js +++ b/packages/angular_devkit/build_angular/src/utils/bundle-inline-options.ts @@ -6,5 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ -require('../../../../../lib/bootstrap-local'); -module.exports = require('./process-bundle.ts'); +export interface InlineOptions { + filename: string; + code: string; + map?: string; + outputPath: string; + missingTranslation?: 'warning' | 'error' | 'ignore'; + setLocale?: boolean; +} diff --git a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts index 4c32203e67f3..2ca51efb8031 100644 --- a/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts +++ b/packages/angular_devkit/build_angular/src/utils/i18n-inlining.ts @@ -11,10 +11,10 @@ import { EmittedFiles } from '@angular-devkit/build-webpack'; import * as fs from 'fs'; import * as path from 'path'; import { BundleActionExecutor } from './action-executor'; +import { InlineOptions } from './bundle-inline-options'; import { copyAssets } from './copy-assets'; import { assertIsError } from './error'; import { I18nOptions } from './i18n-options'; -import { InlineOptions } from './process-bundle'; import { Spinner } from './spinner'; function emittedFilesToInlineOptions( diff --git a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts index 90beec2d0b07..e492e04e1bbd 100644 --- a/packages/angular_devkit/build_angular/src/utils/process-bundle.ts +++ b/packages/angular_devkit/build_angular/src/utils/process-bundle.ts @@ -20,6 +20,7 @@ import templateBuilder from '@babel/template'; import * as fs from 'fs/promises'; import * as path from 'path'; import { workerData } from 'worker_threads'; +import { InlineOptions } from './bundle-inline-options'; import { allowMinify, shouldBeautify } from './environment-options'; import { assertIsError } from './error'; import { I18nOptions } from './i18n-options'; @@ -65,7 +66,7 @@ async function loadLocalizeTools(): Promise { return loadEsmModule('@angular/localize/tools'); } -export async function createI18nPlugins( +async function createI18nPlugins( locale: string, translation: unknown | undefined, missingTranslation: 'error' | 'warning' | 'ignore', @@ -101,15 +102,6 @@ export async function createI18nPlugins( return { diagnostics, plugins }; } -export interface InlineOptions { - filename: string; - code: string; - map?: string; - outputPath: string; - missingTranslation?: 'warning' | 'error' | 'ignore'; - setLocale?: boolean; -} - interface LocalizePosition { start: number; end: number; From 697df4f6e562ae1f1465970694c8b26652af033f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 11 Jan 2023 08:58:22 +0000 Subject: [PATCH 1273/1388] fix(@angular/cli): remove `--to` option from being required when using `--from` in `ng update` This change remove the requirement for the `to` option to be provided when using the `from` option in conjunction with `migrate-only`. Closes #24510 --- packages/angular/cli/src/commands/update/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index cfa32dd36f33..118f6ae15bb6 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -102,7 +102,7 @@ export class UpdateCommandModule extends CommandModule { 'Version from which to migrate from. ' + `Only available with a single package being updated, and only with 'migrate-only'.`, type: 'string', - implies: ['to', 'migrate-only'], + implies: ['migrate-only'], conflicts: ['name'], }) .option('to', { From bbc1a4f0dc93437fe97a53a35f68d978cc50bb9e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 10 Jan 2023 11:50:52 -0500 Subject: [PATCH 1274/1388] feat(@angular-devkit/build-angular): support CommonJS dependency checking in esbuild When using the experimental esbuild-based browser application builder, input files for the build will now be checked to determine if they are non-ESM modules. This behavior is comparable to the existing behavior within the default Webpack-based browser. Warnings will now be issued for any non-ESM modules (for example, CommonJS or UMD) when script optimizations are enabled (typically production builds). ESM files can be tree- shaken and otherwise optimized in ways that CommonJS files cannot which allows for more optimized and smaller output bundle files. If any allowed dependencies are provided via the `allowedCommonJsDependencies` option, both the direct import and any deep imports of the dependency will be ignored during the checks and no diagnostic will be generated for the dependency. --- .../browser-esbuild/commonjs-checker.ts | 138 ++++++++++++++++++ .../src/builders/browser-esbuild/esbuild.ts | 4 +- .../browser-esbuild/experimental-warnings.ts | 1 - .../src/builders/browser-esbuild/index.ts | 9 +- .../src/builders/browser-esbuild/options.ts | 2 + 5 files changed, 150 insertions(+), 4 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts new file mode 100644 index 000000000000..2c1432f64b66 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts @@ -0,0 +1,138 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { Metafile, PartialMessage } from 'esbuild'; + +/** + * Checks the input files of a build to determine if any of the files included + * in the build are not ESM. ESM files can be tree-shaken and otherwise optimized + * in ways that CommonJS and other module formats cannot. The esbuild metafile + * information is used as the basis for the analysis as it contains information + * for each input file including its respective format. + * + * If any allowed dependencies are provided via the `allowedCommonJsDependencies` + * parameter, both the direct import and any deep imports will be ignored and no + * diagnostic will be generated. + * + * If a module has been issued a diagnostic message, then all descendant modules + * will not be checked. This prevents a potential massive amount of inactionable + * messages since the initial module import is the cause of the problem. + * + * @param metafile An esbuild metafile object to check. + * @param allowedCommonJsDependencies An optional list of allowed dependencies. + * @returns Zero or more diagnostic messages for any non-ESM modules. + */ +export function checkCommonJSModules( + metafile: Metafile, + allowedCommonJsDependencies?: string[], +): PartialMessage[] { + const messages: PartialMessage[] = []; + const allowedRequests = new Set(allowedCommonJsDependencies); + + // Ignore Angular locale definitions which are currently UMD + allowedRequests.add('@angular/common/locales'); + + // Find all entry points that contain code (JS/TS) + const files: string[] = []; + for (const { entryPoint } of Object.values(metafile.outputs)) { + if (!entryPoint) { + continue; + } + if (!isPathCode(entryPoint)) { + continue; + } + + files.push(entryPoint); + } + + // Track seen files so they are only analyzed once. + // Bundler runtime code is also ignored since it cannot be actionable. + const seenFiles = new Set(['']); + + // Analyze the files present by walking the import graph + let currentFile: string | undefined; + while ((currentFile = files.shift())) { + const input = metafile.inputs[currentFile]; + + for (const imported of input.imports) { + // Ignore imports that were already seen or not originally in the code (bundler injected) + if (!imported.original || seenFiles.has(imported.path)) { + continue; + } + seenFiles.add(imported.path); + + // Only check actual code files + if (!isPathCode(imported.path)) { + continue; + } + + // Check if the import is ESM format and issue a diagnostic if the file is not allowed + if (metafile.inputs[imported.path].format !== 'esm') { + const request = imported.original; + + let notAllowed = true; + if (allowedRequests.has(request)) { + notAllowed = false; + } else { + // Check for deep imports of allowed requests + for (const allowed of allowedRequests) { + if (request.startsWith(allowed + '/')) { + notAllowed = false; + break; + } + } + } + + if (notAllowed) { + // Issue a diagnostic message and skip all descendants since they are also most + // likely not ESM but solved by addressing this import. + messages.push(createCommonJSModuleError(request, currentFile)); + continue; + } + } + + // Add the path so that its imports can be checked + files.push(imported.path); + } + } + + return messages; +} + +/** + * Determines if a file path has an extension that is a JavaScript or TypeScript + * code file. + * + * @param name A path to check for code file extensions. + * @returns True, if a code file path; false, otherwise. + */ +function isPathCode(name: string): boolean { + return /\.[cm]?[jt]sx?$/.test(name); +} + +/** + * Creates an esbuild diagnostic message for a given non-ESM module request. + * + * @param request The requested non-ESM module name. + * @param importer The path of the file containing the import. + * @returns A message representing the diagnostic. + */ +function createCommonJSModuleError(request: string, importer: string): PartialMessage { + const error = { + text: `Module '${request}' used by '${importer}' is not ESM`, + notes: [ + { + text: + 'CommonJS or AMD dependencies can cause optimization bailouts.\n' + + 'For more information see: https://angular.io/guide/build#configuring-commonjs-dependencies', + }, + ], + }; + + return error; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts index 984c145117c4..0261574721b0 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -12,8 +12,8 @@ import { BuildInvalidate, BuildOptions, BuildResult, - Message, OutputFile, + PartialMessage, build, formatMessages, } from 'esbuild'; @@ -91,7 +91,7 @@ export async function bundle( export async function logMessages( context: BuilderContext, - { errors, warnings }: { errors: Message[]; warnings: Message[] }, + { errors, warnings }: { errors: PartialMessage[]; warnings: PartialMessage[] }, ): Promise { if (warnings.length) { const warningMessages = await formatMessages(warnings, { kind: 'warning', color: true }); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index 9d0c7d309891..7ff70e0810a6 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -10,7 +10,6 @@ import { BuilderContext } from '@angular-devkit/architect'; import { Schema as BrowserBuilderOptions } from '../browser/schema'; const UNSUPPORTED_OPTIONS: Array = [ - 'allowedCommonJsDependencies', 'budgets', 'progress', 'scripts', diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index 2229446f74ab..fe15d654ce37 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -7,7 +7,7 @@ */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import type { BuildInvalidate, BuildOptions, Metafile, OutputFile } from 'esbuild'; +import type { BuildInvalidate, BuildOptions, OutputFile } from 'esbuild'; import assert from 'node:assert'; import * as fs from 'node:fs/promises'; import * as path from 'node:path'; @@ -19,6 +19,7 @@ import { FileInfo } from '../../utils/index-file/augment-index-html'; import { IndexHtmlGenerator } from '../../utils/index-file/index-html-generator'; import { augmentAppWithServiceWorkerEsbuild } from '../../utils/service-worker'; import { getSupportedBrowsers } from '../../utils/supported-browsers'; +import { checkCommonJSModules } from './commonjs-checker'; import { SourceFileCache, createCompilerPlugin } from './compiler-plugin'; import { bundle, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; @@ -148,6 +149,12 @@ async function execute( outputs: { ...codeResults.metafile?.outputs, ...styleResults.metafile?.outputs }, }; + // Check metafile for CommonJS module usage if optimizing scripts + if (optimizationOptions.scripts) { + const messages = checkCommonJSModules(metafile, options.allowedCommonJsDependencies); + await logMessages(context, { errors: [], warnings: messages }); + } + // Generate index HTML file if (indexHtmlOptions) { // Create an index HTML generator that reads from the in-memory output files diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index d6d1196cdf6d..46e55c057f1a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -132,6 +132,7 @@ export async function normalizeOptions( // Initial options to keep const { + allowedCommonJsDependencies, baseHref, buildOptimizer, crossOrigin, @@ -150,6 +151,7 @@ export async function normalizeOptions( // Return all the normalized options return { advancedOptimizations: buildOptimizer, + allowedCommonJsDependencies, baseHref, cacheOptions, crossOrigin, From 89b9d9492a9d54c0742c904da9f9e56aa78fe905 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 13 Jan 2023 11:32:01 +0000 Subject: [PATCH 1275/1388] build: update dev-infra packages This is to address `error Couldn't find match for "6cdf0f2153298b828934373cc068b6a0f9dcf098" in "refs/heads/main" for "https://github.com/angular/dev-infra-private-build-tooling-builds.git".` and `error Couldn't find match for "301673f54ebe816bbcf13fe503de105c5e5a6a9c" in "refs/heads/main" for "https://github.com/angular/dev-infra-private-ng-dev-builds.git"` We also update the the stamping keys to match the changes in dev-infra. --- package.json | 4 +- tools/defaults.bzl | 4 +- yarn.lock | 215 ++++++++------------------------------------- 3 files changed, 43 insertions(+), 180 deletions(-) diff --git a/package.json b/package.json index 7c53fde39b71..323397562478 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6cdf0f2153298b828934373cc068b6a0f9dcf098", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c4e8822a4e718b99aa9206e228023bbcddd2355", "@angular/cdk": "15.1.0", "@angular/common": "15.2.0-next.0", "@angular/compiler": "15.2.0-next.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.2.0-next.0", "@angular/localize": "15.2.0-next.0", "@angular/material": "15.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#301673f54ebe816bbcf13fe503de105c5e5a6a9c", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#6ada3205985cff0ec8abb545c6602658b346b8e8", "@angular/platform-browser": "15.2.0-next.0", "@angular/platform-browser-dynamic": "15.2.0-next.0", "@angular/platform-server": "15.2.0-next.0", diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 2b7f8bea67f0..b80dfee74c9b 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -70,8 +70,8 @@ def pkg_npm(name, pkg_deps = [], use_prodmode_output = False, **kwargs): NPM_PACKAGE_SUBSTITUTIONS = { # Version of the local package being built, generated via the `--workspace_status_command` flag. - "0.0.0-PLACEHOLDER": "{BUILD_SCM_VERSION}", - "0.0.0-EXPERIMENTAL-PLACEHOLDER": "{BUILD_SCM_EXPERIMENTAL_VERSION}", + "0.0.0-PLACEHOLDER": "{STABLE_PROJECT_VERSION}", + "0.0.0-EXPERIMENTAL-PLACEHOLDER": "{STABLE_PROJECT_EXPERIMENTAL_VERSION}", "BUILD_SCM_HASH-PLACEHOLDER": "{BUILD_SCM_ABBREV_HASH}", "0.0.0-ENGINES-NODE": RELEASE_ENGINES_NODE, "0.0.0-ENGINES-NPM": RELEASE_ENGINES_NPM, diff --git a/yarn.lock b/yarn.lock index 34cab1f2ed20..e66e5762de3d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,10 +119,9 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#6cdf0f2153298b828934373cc068b6a0f9dcf098": - version "0.0.0-af467a592162ef86f034c3243856af13d5c31018" - uid "6cdf0f2153298b828934373cc068b6a0f9dcf098" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#6cdf0f2153298b828934373cc068b6a0f9dcf098" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c4e8822a4e718b99aa9206e228023bbcddd2355": + version "0.0.0-92007cdf479a2f6d5fecd5763b6eabc40ae9dd27" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c4e8822a4e718b99aa9206e228023bbcddd2355" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" "@angular/benchpress" "0.3.0" @@ -305,10 +304,9 @@ "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#301673f54ebe816bbcf13fe503de105c5e5a6a9c": - version "0.0.0-af467a592162ef86f034c3243856af13d5c31018" - uid "301673f54ebe816bbcf13fe503de105c5e5a6a9c" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#301673f54ebe816bbcf13fe503de105c5e5a6a9c" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#6ada3205985cff0ec8abb545c6602658b346b8e8": + version "0.0.0-92007cdf479a2f6d5fecd5763b6eabc40ae9dd27" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#6ada3205985cff0ec8abb545c6602658b346b8e8" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" @@ -1378,11 +1376,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz#f02c9f0d43086ddf6ed2795b881ddf7990f74456" integrity sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ== -"@esbuild/android-arm64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz#833184b8a0a96f9c85105c53d0a67e6d3c5c3f07" - integrity sha512-hFHVAzUKp9Tf8psGq+bDVv+6hTy1bAOoV/jJMUWwhUnIHsh6WbFMhw0ZTkqDuh7TdpffFoHOiIOIxmHc7oYRBQ== - "@esbuild/android-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" @@ -1393,11 +1386,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" integrity sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg== -"@esbuild/android-arm@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.16.tgz#23761b2fd1dfa4806161dbfc9e0824f04061cb95" - integrity sha512-BUuWMlt4WSXod1HSl7aGK8fJOsi+Tab/M0IDK1V1/GstzoOpqc/v3DqmN8MkuapPKQ9Br1WtLAN4uEgWR8x64A== - "@esbuild/android-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" @@ -1408,11 +1396,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" integrity sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw== -"@esbuild/android-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.16.tgz#ffa09f04c0ffea5b594ab7655fc9ca1220365e9b" - integrity sha512-9WhxJpeb6XumlfivldxqmkJepEcELekmSw3NkGrs+Edq6sS5KRxtUBQuKYDD7KqP59dDkxVbaoPIQFKWQG0KLg== - "@esbuild/android-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" @@ -1423,11 +1406,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" integrity sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw== -"@esbuild/darwin-arm64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz#62ed2b4bfab594b9e5e708580361f1d059b53b26" - integrity sha512-8Z+wld+vr/prHPi2O0X7o1zQOfMbXWGAw9hT0jEyU/l/Yrg+0Z3FO9pjPho72dVkZs4ewZk0bDOFLdZHm8jEfw== - "@esbuild/darwin-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" @@ -1438,11 +1416,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" integrity sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg== -"@esbuild/darwin-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz#e9756d34cd9b3737a5354e89ca0fdca32d8df64c" - integrity sha512-CYkxVvkZzGCqFrt7EgjFxQKhlUPyDkuR9P0Y5wEcmJqVI8ncerOIY5Kej52MhZyzOBXkYrJgZeVZC9xXXoEg9A== - "@esbuild/darwin-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" @@ -1453,11 +1426,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" integrity sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw== -"@esbuild/freebsd-arm64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz#db7bce444d372e5a213a3f359c42aee3acc0dd45" - integrity sha512-fxrw4BYqQ39z/3Ja9xj/a1gMsVq0xEjhSyI4a9MjfvDDD8fUV8IYliac96i7tzZc3+VytyXX+XNsnpEk5sw5Wg== - "@esbuild/freebsd-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" @@ -1468,11 +1436,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" integrity sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw== -"@esbuild/freebsd-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz#02e8a81b7e56040b5eb883896de445a6cd3501f0" - integrity sha512-8p3v1D+du2jiDvSoNVimHhj7leSfST9YlKsAEO7etBfuqjaBMndo0fmjNLp0JCMld+XIx9L80tooOkyUv1a1PQ== - "@esbuild/freebsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" @@ -1483,11 +1446,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" integrity sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q== -"@esbuild/linux-arm64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz#ea8c3df172644fa6437f0083c2a38b50f89e5b98" - integrity sha512-N3u6BBbCVY3xeP2D8Db7QY8I+nZ+2AgOopUIqk+5yCoLnsWkcVxD2ay5E9iIdvApFi1Vg1lZiiwaVp8bOpAc4A== - "@esbuild/linux-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" @@ -1498,11 +1456,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" integrity sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w== -"@esbuild/linux-arm@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz#c1c2e97e67bb7247e6f60e2644de057bfedb8cbb" - integrity sha512-bYaocE1/PTMRmkgSckZ0D0Xn2nox8v2qlk+MVVqm+VECNKDdZvghVZtH41dNtBbwADSvA6qkCHGYeWm9LrNCBw== - "@esbuild/linux-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" @@ -1513,11 +1466,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" integrity sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA== -"@esbuild/linux-ia32@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz#9a0b0e926926f891a3e7f7c50bb38e3db49c2c9a" - integrity sha512-dxjqLKUW8GqGemoRT9v8IgHk+T4tRm1rn1gUcArsp26W9EkK/27VSjBVUXhEG5NInHZ92JaQ3SSMdTwv/r9a2A== - "@esbuild/linux-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" @@ -1528,11 +1476,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" integrity sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg== -"@esbuild/linux-loong64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz#c5a50ff5981d457ed45f42c3f06a60086759c79b" - integrity sha512-MdUFggHjRiCCwNE9+1AibewoNq6wf94GLB9Q9aXwl+a75UlRmbRK3h6WJyrSGA6ZstDJgaD2wiTSP7tQNUYxwA== - "@esbuild/linux-loong64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" @@ -1543,11 +1486,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" integrity sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg== -"@esbuild/linux-mips64el@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz#e85b7e3c25000be2ae373e5208e55e282a9763e0" - integrity sha512-CO3YmO7jYMlGqGoeFeKzdwx/bx8Vtq/SZaMAi+ZLDUnDUdfC7GmGwXzIwDJ70Sg+P9pAemjJyJ1icKJ9R3q/Fg== - "@esbuild/linux-mips64el@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" @@ -1558,11 +1496,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" integrity sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg== -"@esbuild/linux-ppc64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz#24a0013bf727830df44fece571172ebe31b5c5e6" - integrity sha512-DSl5Czh5hCy/7azX0Wl9IdzPHX2H8clC6G87tBnZnzUpNgRxPFhfmArbaHoAysu4JfqCqbB/33u/GL9dUgCBAw== - "@esbuild/linux-ppc64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" @@ -1573,11 +1506,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" integrity sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A== -"@esbuild/linux-riscv64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz#b080998d8d0480e8235f1384c585ae505e98a19d" - integrity sha512-sSVVMEXsqf1fQu0j7kkhXMViroixU5XoaJXl1u/u+jbXvvhhCt9YvA/B6VM3aM/77HuRQ94neS5bcisijGnKFQ== - "@esbuild/linux-riscv64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" @@ -1588,11 +1516,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" integrity sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA== -"@esbuild/linux-s390x@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz#5042de05b9b653dfd134f05e1b37b61704c14c42" - integrity sha512-jRqBCre9gZGoCdCN/UWCCMwCMsOg65IpY9Pyj56mKCF5zXy9d60kkNRdDN6YXGjr3rzcC4DXnS/kQVCGcC4yPQ== - "@esbuild/linux-s390x@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" @@ -1603,11 +1526,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" integrity sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA== -"@esbuild/linux-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz#b7c0750f2276c9dcf41f0f2229adca46ef22f698" - integrity sha512-G1+09TopOzo59/55lk5Q0UokghYLyHTKKzD5lXsAOOlGDbieGEFJpJBr3BLDbf7cz89KX04sBeExAR/pL/26sA== - "@esbuild/linux-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" @@ -1618,11 +1536,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" integrity sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw== -"@esbuild/netbsd-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz#e2a0ee181fbbe834174d26e24ce1b258232bb3eb" - integrity sha512-xwjGJB5wwDEujLaJIrSMRqWkbigALpBNcsF9SqszoNKc+wY4kPTdKrSxiY5ik3IatojePP+WV108MvF6q6np4w== - "@esbuild/netbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" @@ -1633,11 +1546,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" integrity sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg== -"@esbuild/openbsd-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz#87a84c1932e00f52ab3380c31facf0e48086ffb9" - integrity sha512-yeERkoxG2nR2oxO5n+Ms7MsCeNk23zrby2GXCqnfCpPp7KNc0vxaaacIxb21wPMfXXRhGBrNP4YLIupUBrWdlg== - "@esbuild/openbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" @@ -1648,11 +1556,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" integrity sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw== -"@esbuild/sunos-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz#996bcd2603cd345733c3aa5f52bfd5b8fa7d1d36" - integrity sha512-nHfbEym0IObXPhtX6Va3H5GaKBty2kdhlAhKmyCj9u255ktAj0b1YACUs9j5H88NRn9cJCthD1Ik/k9wn8YKVg== - "@esbuild/sunos-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" @@ -1663,11 +1566,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" integrity sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg== -"@esbuild/win32-arm64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz#404a9411d12533d0f2ce0a85df6ddb32e851ef04" - integrity sha512-pdD+M1ZOFy4hE15ZyPX09fd5g4DqbbL1wXGY90YmleVS6Y5YlraW4BvHjim/X/4yuCpTsAFvsT4Nca2lbyDH/A== - "@esbuild/win32-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" @@ -1678,11 +1576,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" integrity sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g== -"@esbuild/win32-ia32@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz#bb5655a48f5f87fee870061883411f5149bc5e44" - integrity sha512-IPEMfU9p0c3Vb8PqxaPX6BM9rYwlTZGYOf9u+kMdhoILZkVKEjq6PKZO0lB+isojWwAnAqh4ZxshD96njTXajg== - "@esbuild/win32-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" @@ -1693,11 +1586,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" integrity sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw== -"@esbuild/win32-x64@0.16.16": - version "0.16.16" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz#ee22fed0b2e0c00ce895cdfae9d32ef069a12e04" - integrity sha512-1YYpoJ39WV/2bnShPwgdzJklc+XS0bysN6Tpnt1cWPdeoKOG4RMEY1g7i534QxXX/rPvNx/NLJQTTCeORYzipg== - "@esbuild/win32-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" @@ -4276,9 +4164,9 @@ body-parser@1.20.1, body-parser@^1.19.0: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.0.14" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" - integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.0.tgz#424170268d68af26ff83a5c640b95def01803a13" + integrity sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q== dependencies: array-flatten "^2.1.2" dns-equal "^1.0.0" @@ -4549,9 +4437,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001442" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614" - integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow== + version "1.0.30001444" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001444.tgz#c0a530776eb44d933b493de1d05346f2527b30fc" + integrity sha512-ecER9xgJQVMqcrxThKptsW0pPxSae8R2RB87LNa+ivW9ppNWRHEplXcDzkCOP4LYWGj8hunXLqaiC41iBATNyg== caseless@~0.12.0: version "0.12.0" @@ -5499,12 +5387,13 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.0.tgz#dd1b69ea5bfc3c27199c9753efd4de015102c252" - integrity sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g== + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== dependencies: + available-typed-arrays "^1.0.5" call-bind "^1.0.2" - es-set-tostringtag "^2.0.0" + es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" function-bind "^1.1.1" function.prototype.name "^1.1.5" @@ -5517,7 +5406,7 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: has-proto "^1.0.1" has-symbols "^1.0.3" internal-slot "^1.0.4" - is-array-buffer "^3.0.0" + is-array-buffer "^3.0.1" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" @@ -5541,7 +5430,7 @@ es-module-lexer@^0.9.0: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== -es-set-tostringtag@^2.0.0: +es-set-tostringtag@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== @@ -5619,16 +5508,11 @@ esbuild-wasm@0.16.14: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== -esbuild-wasm@0.16.17: +esbuild-wasm@0.16.17, esbuild-wasm@^0.16.0: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" integrity sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q== -esbuild-wasm@^0.16.0: - version "0.16.16" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.16.tgz#5f1ae6ebc325322d9f5772d598e80144572e5b5e" - integrity sha512-X7wDIw8Pg0WFfDyrUhMpoMaGuCPeAfsQL8zJq5OeYQoNNXIvx8C+E1gz31bLcEOEhx0MBvupAM6ZI2D0sR8Fsw== - esbuild@0.16.14: version "0.16.14" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.14.tgz#366249a0a0fd431d3ab706195721ef1014198919" @@ -5657,7 +5541,7 @@ esbuild@0.16.14: "@esbuild/win32-ia32" "0.16.14" "@esbuild/win32-x64" "0.16.14" -esbuild@0.16.17: +esbuild@0.16.17, esbuild@^0.16.0: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== @@ -5685,34 +5569,6 @@ esbuild@0.16.17: "@esbuild/win32-ia32" "0.16.17" "@esbuild/win32-x64" "0.16.17" -esbuild@^0.16.0: - version "0.16.16" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.16.tgz#e8a27820a30cc1449066f9bbe8916b145dbc9046" - integrity sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg== - optionalDependencies: - "@esbuild/android-arm" "0.16.16" - "@esbuild/android-arm64" "0.16.16" - "@esbuild/android-x64" "0.16.16" - "@esbuild/darwin-arm64" "0.16.16" - "@esbuild/darwin-x64" "0.16.16" - "@esbuild/freebsd-arm64" "0.16.16" - "@esbuild/freebsd-x64" "0.16.16" - "@esbuild/linux-arm" "0.16.16" - "@esbuild/linux-arm64" "0.16.16" - "@esbuild/linux-ia32" "0.16.16" - "@esbuild/linux-loong64" "0.16.16" - "@esbuild/linux-mips64el" "0.16.16" - "@esbuild/linux-ppc64" "0.16.16" - "@esbuild/linux-riscv64" "0.16.16" - "@esbuild/linux-s390x" "0.16.16" - "@esbuild/linux-x64" "0.16.16" - "@esbuild/netbsd-x64" "0.16.16" - "@esbuild/openbsd-x64" "0.16.16" - "@esbuild/sunos-x64" "0.16.16" - "@esbuild/win32-arm64" "0.16.16" - "@esbuild/win32-ia32" "0.16.16" - "@esbuild/win32-x64" "0.16.16" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -7036,7 +6892,7 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-array-buffer@^3.0.0: +is-array-buffer@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== @@ -8524,7 +8380,7 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-fetch@2.6.7, node-fetch@^2.2.0: +node-fetch@2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== @@ -8539,6 +8395,13 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.2.0: + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== + dependencies: + whatwg-url "^5.0.0" + node-forge@^1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -8892,9 +8755,9 @@ object-assign@^4, object-assign@^4.0.1: integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== object-inspect@~1.4.0: version "1.4.1" @@ -9629,9 +9492,9 @@ punycode@^1.4.1: integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + version "2.2.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.2.0.tgz#2092cc57cd2582c38e4e7e8bb869dc8d3148bc74" + integrity sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw== puppeteer-core@18.2.1: version "18.2.1" @@ -10128,9 +9991,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.9.1.tgz#27501d3d026418765fe379d5620d25954ff2a011" - integrity sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w== + version "3.10.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.10.0.tgz#6eb19196d8b3b375ca651cb78261faac48e24cd6" + integrity sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA== optionalDependencies: fsevents "~2.3.2" From 3ebb19552527fdd69c6e8db55aea5bf5157cdb06 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 13 Jan 2023 14:35:29 +0000 Subject: [PATCH 1276/1388] fix(@angular/cli): register schematic aliases when providing collection name in `ng generate` Previously, schematic aliases were not registered when a collection name was provided to `ng generate`. Example: `ng generate c` where `c` is an alias for `component` would work, but `ng generate @schematics/angular:c` would fail. This commits fixes the schematic registration to handle the latter case. Closes #24518 --- .../angular/cli/src/commands/generate/cli.ts | 67 ++++++++++++++----- .../e2e/tests/generate/schematic-aliases.ts | 14 ++++ 2 files changed, 65 insertions(+), 16 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/generate/schematic-aliases.ts diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index 43e66ae18ffe..eaa0dad05429 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -79,7 +79,9 @@ export class GenerateCommandModule // When 'describe' is set to false, it results in a hidden command. describe: hidden === true ? false : typeof description === 'string' ? description : '', deprecated: xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : false, - aliases: Array.isArray(aliases) ? (aliases as string[]) : undefined, + aliases: Array.isArray(aliases) + ? await this.generateCommandAliasesStrings(collectionName, aliases as string[]) + : undefined, builder: (localYargs) => this.addSchemaOptionsToCommand(localYargs, options).strict(), handler: (options) => this.handler({ ...options, schematic: `${collectionName}:${schematicName}` }), @@ -120,6 +122,41 @@ export class GenerateCommandModule return collectionName ? [collectionName] : [...(await this.getSchematicCollections())]; } + private async shouldAddCollectionNameAsPartOfCommand(): Promise { + const [collectionNameFromArgs] = this.parseSchematicInfo( + // positional = [generate, component] or [generate] + this.context.args.positional[1], + ); + + const schematicCollectionsFromConfig = await this.getSchematicCollections(); + const collectionNames = await this.getCollectionNames(); + + // Only add the collection name as part of the command when it's not a known + // schematics collection or when it has been provided via the CLI. + // Ex:`ng generate @schematics/angular:c` + return ( + !!collectionNameFromArgs || + !collectionNames.some((c) => schematicCollectionsFromConfig.has(c)) + ); + } + + /** + * Generate an aliases string array to be passed to the command builder. + * + * @example `[component]` or `[@schematics/angular:component]`. + */ + private async generateCommandAliasesStrings( + collectionName: string, + schematicAliases: string[], + ): Promise { + // Only add the collection name as part of the command when it's not a known + // schematics collection or when it has been provided via the CLI. + // Ex:`ng generate @schematics/angular:c` + return (await this.shouldAddCollectionNameAsPartOfCommand()) + ? schematicAliases.map((alias) => `${collectionName}:${alias}`) + : schematicAliases; + } + /** * Generate a command string to be passed to the command builder. * @@ -130,23 +167,14 @@ export class GenerateCommandModule schematicName: string, options: Option[], ): Promise { - const [collectionNameFromArgs] = this.parseSchematicInfo( - // positional = [generate, component] or [generate] - this.context.args.positional[1], - ); - const dasherizedSchematicName = strings.dasherize(schematicName); - const schematicCollectionsFromConfig = await this.getSchematicCollections(); - const collectionNames = await this.getCollectionNames(); // Only add the collection name as part of the command when it's not a known // schematics collection or when it has been provided via the CLI. // Ex:`ng generate @schematics/angular:component` - const commandName = - !!collectionNameFromArgs || - !collectionNames.some((c) => schematicCollectionsFromConfig.has(c)) - ? collectionName + ':' + dasherizedSchematicName - : dasherizedSchematicName; + const commandName = (await this.shouldAddCollectionNameAsPartOfCommand()) + ? collectionName + ':' + dasherizedSchematicName + : dasherizedSchematicName; const positionalArgs = options .filter((o) => o.positional !== undefined) @@ -165,6 +193,7 @@ export class GenerateCommandModule */ private async *getSchematics(): AsyncGenerator<{ schematicName: string; + schematicAliases?: Set; collectionName: string; }> { const seenNames = new Set(); @@ -176,7 +205,10 @@ export class GenerateCommandModule // If a schematic with this same name is already registered skip. if (!seenNames.has(schematicName)) { seenNames.add(schematicName); - yield { schematicName, collectionName }; + const { aliases } = collection.description.schematics[schematicName]; + const schematicAliases = aliases && new Set(aliases); + + yield { schematicName, schematicAliases, collectionName }; } } } @@ -196,8 +228,11 @@ export class GenerateCommandModule this.context.args.positional[1], ); - for await (const { schematicName, collectionName } of this.getSchematics()) { - if (schematicName === schematicNameFromArgs) { + for await (const { schematicName, collectionName, schematicAliases } of this.getSchematics()) { + if ( + schematicNameFromArgs && + (schematicName === schematicNameFromArgs || schematicAliases?.has(schematicNameFromArgs)) + ) { return [[schematicName, collectionName]]; } diff --git a/tests/legacy-cli/e2e/tests/generate/schematic-aliases.ts b/tests/legacy-cli/e2e/tests/generate/schematic-aliases.ts new file mode 100644 index 000000000000..926c96d7aacc --- /dev/null +++ b/tests/legacy-cli/e2e/tests/generate/schematic-aliases.ts @@ -0,0 +1,14 @@ +import { ng } from '../../utils/process'; + +export default async function () { + const schematicNameVariation = [ + 'component', + 'c', + '@schematics/angular:component', + '@schematics/angular:c', + ]; + + for (const schematic of schematicNameVariation) { + await ng('generate', schematic, 'comp-name', '--display-block', '--dry-run'); + } +} From 132f9f8648c96ee6dad9f64d8e1f0b34090c9713 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 13 Jan 2023 14:48:06 +0000 Subject: [PATCH 1277/1388] Revert "test: use `NPM_CONFIG_legacy_peer_deps` when testing prerelease versions of Angular material." This reverts commit 04e7c25aad3644d0502f0ae30308ccabf4db43ea as it is no longer needed due to the recent changes done in the material packages to expand the peer dependency. See: https://github.com/angular/components/commit/6afe888a1a1c840c371991051335c19b6a1bdf95 --- tests/legacy-cli/e2e/tests/build/material.ts | 65 +++++++------------ .../e2e/tests/commands/add/add-material.ts | 32 +++------ .../misc/invalid-schematic-dependencies.ts | 21 +----- 3 files changed, 38 insertions(+), 80 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index b3c470f67489..a010ea834791 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -7,52 +7,37 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. - // due to the order of releases FW -> CLI -> Material - // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. - const original_NPM_CONFIG_legacy_peer_deps = process.env['NPM_CONFIG_legacy_peer_deps']; - const isPrerelease = await isPrereleaseCli(); + let tag = (await isPrereleaseCli()) ? '@next' : ''; + await ng('add', `@angular/material${tag}`, '--skip-confirmation'); - let tag = isPrerelease ? '@next' : ''; - - try { - process.env['NPM_CONFIG_legacy_peer_deps'] = isPrerelease - ? 'true' - : original_NPM_CONFIG_legacy_peer_deps; - - await ng('add', `@angular/material${tag}`, '--skip-confirmation'); - - const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; - if (isSnapshotBuild) { - await updateJsonFile('package.json', (packageJson) => { - const dependencies = packageJson['dependencies']; - // Angular material adds dependencies on other Angular packages - // Iterate over all of the packages to update them to the snapshot version. - for (const [name, version] of Object.entries(snapshots.dependencies)) { - if (name in dependencies) { - dependencies[name] = version; - } + const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; + if (isSnapshotBuild) { + await updateJsonFile('package.json', (packageJson) => { + const dependencies = packageJson['dependencies']; + // Angular material adds dependencies on other Angular packages + // Iterate over all of the packages to update them to the snapshot version. + for (const [name, version] of Object.entries(snapshots.dependencies)) { + if (name in dependencies) { + dependencies[name] = version; } - - dependencies['@angular/material-moment-adapter'] = - snapshots.dependencies['@angular/material-moment-adapter']; - }); - await installWorkspacePackages(); - } else { - if (!tag) { - const installedMaterialVersion = JSON.parse(await readFile('package.json'))['dependencies'][ - '@angular/material' - ]; - tag = `@${installedMaterialVersion}`; } - await installPackage(`@angular/material-moment-adapter${tag}`); - } - await installPackage('moment'); - } finally { - process.env['NPM_CONFIG_legacy_peer_deps'] = original_NPM_CONFIG_legacy_peer_deps; + dependencies['@angular/material-moment-adapter'] = + snapshots.dependencies['@angular/material-moment-adapter']; + }); + await installWorkspacePackages(); + } else { + if (!tag) { + const installedMaterialVersion = JSON.parse(await readFile('package.json'))['dependencies'][ + '@angular/material' + ]; + tag = `@${installedMaterialVersion}`; + } + await installPackage(`@angular/material-moment-adapter${tag}`); } + await installPackage('moment'); + await ng('build'); // Ensure moment adapter works (uses unique importing mechanism for moment) diff --git a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts index 1e232d9d8315..bca90ca6c032 100644 --- a/tests/legacy-cli/e2e/tests/commands/add/add-material.ts +++ b/tests/legacy-cli/e2e/tests/commands/add/add-material.ts @@ -1,31 +1,17 @@ import { assertIsError } from '../../../utils/utils'; import { expectFileToMatch, rimraf } from '../../../utils/fs'; import { uninstallPackage } from '../../../utils/packages'; -import { execWithEnv } from '../../../utils/process'; +import { ng } from '../../../utils/process'; import { isPrereleaseCli } from '../../../utils/project'; export default async function () { // forcibly remove in case another test doesn't clean itself up await rimraf('node_modules/@angular/material'); - const isPrerelease = await isPrereleaseCli(); - const tag = isPrerelease ? '@next' : ''; - const processEnv = { - ...process.env, - // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. - // due to the order of releases FW -> CLI -> Material - // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. - 'NPM_CONFIG_legacy_peer_deps': isPrerelease - ? 'true' - : process.env['NPM_CONFIG_legacy_peer_deps'], - }; + const tag = (await isPrereleaseCli()) ? '@next' : ''; try { - await execWithEnv( - 'ng', - ['add', `@angular/material${tag}`, '--skip-confirmation', '--unknown'], - processEnv, - ); + await ng('add', `@angular/material${tag}`, '--unknown', '--skip-confirmation'); } catch (error) { assertIsError(error); if (!(error as Error).message.includes(`Unknown option: '--unknown'`)) { @@ -33,12 +19,14 @@ export default async function () { } } - await execWithEnv( - 'ng', - ['add', `@angular/material${tag}`, '--theme', 'custom', '--verbose', '--skip-confirmation'], - processEnv, + await ng( + 'add', + `@angular/material${tag}`, + '--theme', + 'custom', + '--verbose', + '--skip-confirmation', ); - await expectFileToMatch('package.json', /@angular\/material/); // Clean up existing cdk package diff --git a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts index 49ce38147ab5..432f21167cdb 100644 --- a/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts +++ b/tests/legacy-cli/e2e/tests/misc/invalid-schematic-dependencies.ts @@ -1,5 +1,5 @@ import { expectFileToMatch } from '../../utils/fs'; -import { execWithEnv, extractNpmEnv, silentNpm } from '../../utils/process'; +import { execWithEnv, extractNpmEnv, ng, silentNpm } from '../../utils/process'; import { installPackage, uninstallPackage } from '../../utils/packages'; import { isPrereleaseCli } from '../../utils/project'; @@ -13,23 +13,8 @@ export default async function () { // Install outdated and incompatible version await installPackage('@schematics/angular@7'); - const isPrerelease = await isPrereleaseCli(); - const tag = isPrerelease ? '@next' : ''; - - await execWithEnv( - 'ng', - ['add', `@angular/material${tag}`, '--skip-confirmation'], - // `@angular/material` pre-release may not support the current version of `@angular/core` pre-release. - // due to the order of releases FW -> CLI -> Material - // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. - { - ...process.env, - 'NPM_CONFIG_legacy_peer_deps': isPrerelease - ? 'true' - : process.env['NPM_CONFIG_legacy_peer_deps'], - }, - ); - + const tag = (await isPrereleaseCli()) ? '@next' : ''; + await ng('add', `@angular/material${tag}`, '--skip-confirmation'); await expectFileToMatch('package.json', /@angular\/material/); // Clean up existing cdk package From 1a9d81d72a4779ab16f99652417853872fac4ca6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 14 Jan 2023 10:15:11 +0000 Subject: [PATCH 1278/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 14 ++++---- 7 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 6372aac42251..dde348fafd38 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@af467a592162ef86f034c3243856af13d5c31018 + - uses: angular/dev-infra/github-actions/branch-manager@974f7601338357135eb9a0a70401f6ae9307997f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 569c457ef8c7..f2186c1efa81 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@af467a592162ef86f034c3243856af13d5c31018 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@974f7601338357135eb9a0a70401f6ae9307997f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@af467a592162ef86f034c3243856af13d5c31018 + - uses: angular/dev-infra/github-actions/post-approval-changes@974f7601338357135eb9a0a70401f6ae9307997f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index ebbaf2ee940a..258233aa3fad 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@af467a592162ef86f034c3243856af13d5c31018 + - uses: angular/dev-infra/github-actions/feature-request@974f7601338357135eb9a0a70401f6ae9307997f with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 75ba536a94a2..ca8bb71cf532 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@af467a592162ef86f034c3243856af13d5c31018 + - uses: angular/dev-infra/github-actions/lock-closed@974f7601338357135eb9a0a70401f6ae9307997f with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 323397562478..5dc06ea526ca 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c4e8822a4e718b99aa9206e228023bbcddd2355", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a", "@angular/cdk": "15.1.0", "@angular/common": "15.2.0-next.0", "@angular/compiler": "15.2.0-next.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.2.0-next.0", "@angular/localize": "15.2.0-next.0", "@angular/material": "15.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#6ada3205985cff0ec8abb545c6602658b346b8e8", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d", "@angular/platform-browser": "15.2.0-next.0", "@angular/platform-browser-dynamic": "15.2.0-next.0", "@angular/platform-server": "15.2.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 540ace1e363b..6b215f4ce2cf 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#508bafe8b400a68cfdeda2b903e66b6733d41301", - "@angular/cdk": "github:angular/cdk-builds#3c137ef4ca832152728001f510698b4d351ca131", - "@angular/common": "github:angular/common-builds#f99875ccfbbf1e4804e3159c83a6c63a8aabc135", - "@angular/compiler": "github:angular/compiler-builds#65a541d5602029e83c268ef14e7bec99a3f8a631", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#8d43c37939ce485b9df78e649ba8d8b60b37be45", - "@angular/core": "github:angular/core-builds#16ead15e49bc6106b5e57cbf71398661edd814f4", - "@angular/forms": "github:angular/forms-builds#2d9aebd35a5e225ea6729cf17455b41423bbeb03", - "@angular/language-service": "github:angular/language-service-builds#e251e6ff2f860abf07b6572dfb783834bd4e4caf", - "@angular/localize": "github:angular/localize-builds#7e40fdd7d6a21a9e2f23ad603938d5c66f0531a5", - "@angular/material": "github:angular/material-builds#bdd90a19889fbff80f80aa843c6b1adab2843237", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#ba8c6c5a66c864a9ce78a88880e0cafede24cff5", - "@angular/platform-browser": "github:angular/platform-browser-builds#56a7712af9a29dc3493668cccfa4810797b87a45", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#51b2b24f5998d1c3c135bee71659ff2bb38bfcfa", - "@angular/platform-server": "github:angular/platform-server-builds#54e4a628dd21e90fedeb7e09da06b1c1b760d822", - "@angular/router": "github:angular/router-builds#a2194915d9970d96e2b72adb849a311834888bd8", - "@angular/service-worker": "github:angular/service-worker-builds#15a863e08fcb8ae2b7723eb986b34d2fa5e6594a" + "@angular/animations": "github:angular/animations-builds#8102fb00b3e3d4e627f1c1c6685c0a9e9915a50d", + "@angular/cdk": "github:angular/cdk-builds#b310cf98b765cf05d6cdc048986885b04f8399b2", + "@angular/common": "github:angular/common-builds#5aa4f7cf68aa1656a4bd21fa7832674fbc607526", + "@angular/compiler": "github:angular/compiler-builds#c3edfd7955e6e4de0f9a89dfbe81c999997875af", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#9ef26d43e542caaceeab31ccb681a26a26cba2c5", + "@angular/core": "github:angular/core-builds#186600c8c2d46fb6ad16af7fd483dffc09d8e710", + "@angular/forms": "github:angular/forms-builds#30dc75d6660b8dc1fbb199f10e88679f3e6ceb04", + "@angular/language-service": "github:angular/language-service-builds#ef967d224f82007644f90f7d2558b0b9a22d74ce", + "@angular/localize": "github:angular/localize-builds#df6d5d47ea1e5428412a5f9499dc00be16f3668a", + "@angular/material": "github:angular/material-builds#6f7c6f4b13532dcb08db5bc54019597deb134e1c", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3e6ca1fb9b21c8ec32d591629ef64b233a33f9c4", + "@angular/platform-browser": "github:angular/platform-browser-builds#a46f47f5cc075a98534a3079e0f408dacc9bb5cb", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ee137651619eb6598ba3ed48951a538ab6df5713", + "@angular/platform-server": "github:angular/platform-server-builds#8f1ff4a3da6e5b6933fb82f907e543904f1f03c2", + "@angular/router": "github:angular/router-builds#0d9c6f9a7acd451aad06581f25de5b78cd7b5fce", + "@angular/service-worker": "github:angular/service-worker-builds#2530004ac449026293524560619fbc3092b4b84d" } } diff --git a/yarn.lock b/yarn.lock index e66e5762de3d..c7fb502e08cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,9 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c4e8822a4e718b99aa9206e228023bbcddd2355": - version "0.0.0-92007cdf479a2f6d5fecd5763b6eabc40ae9dd27" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9c4e8822a4e718b99aa9206e228023bbcddd2355" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a": + version "0.0.0-974f7601338357135eb9a0a70401f6ae9307997f" + uid "0d4920920ff9667a1deae8845b56203b2cda612a" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" "@angular/benchpress" "0.3.0" @@ -304,9 +305,10 @@ "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#6ada3205985cff0ec8abb545c6602658b346b8e8": - version "0.0.0-92007cdf479a2f6d5fecd5763b6eabc40ae9dd27" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#6ada3205985cff0ec8abb545c6602658b346b8e8" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d": + version "0.0.0-974f7601338357135eb9a0a70401f6ae9307997f" + uid "9b7f501879b491fdd285f4689213867828f9550d" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" From 1aecd4d8f7b8cdaa97b2223a6c6fbe0ee2c9fbe2 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 12 Jan 2023 06:08:52 +0000 Subject: [PATCH 1279/1388] build: update dependency @bazel/buildifier to v6 --- package.json | 2 +- yarn.lock | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/package.json b/package.json index 5dc06ea526ca..239e0dcf24ac 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@babel/runtime": "7.20.7", "@babel/template": "7.20.7", "@bazel/bazelisk": "1.12.1", - "@bazel/buildifier": "5.1.0", + "@bazel/buildifier": "6.0.0", "@bazel/concatjs": "5.7.3", "@bazel/jasmine": "5.7.3", "@discoveryjs/json-ext": "0.5.7", diff --git a/yarn.lock b/yarn.lock index c7fb502e08cc..12f48fc473c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1287,11 +1287,6 @@ resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" integrity sha512-TGCwVeIiVeQUP6yLpxAg8yluFOC+tBQnWw5l8lqwMxKhRtOA+WaH1CJKAXeCBAaS2MxohhkXq44zj/7AM+t2jg== -"@bazel/buildifier@5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.1.0.tgz#ae0b93c5d14b2b080d5a492a8bfee231101b5385" - integrity sha512-gO0+//hkH+iE3AQ02mYttJAcWiE+rapP8IxmstDhwSqs+CmZJJI8Q1vAaIvMyJUT3NIf7lGljRNpzclkCPk89w== - "@bazel/buildifier@6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-6.0.0.tgz#8bbcaaed0de98b36e77cb893053608787cd12d9f" From 7b5b8f8f2a036b22763f6b66e19b7c3897d24717 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 14 Jan 2023 06:15:19 +0000 Subject: [PATCH 1280/1388] build: update github/codeql-action action to v2.1.38 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 2759c49c3683..599a337a8ee2 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@959cbb7472c4d4ad70cdfe6f4976053fe48ab394 # tag=v2.1.37 + uses: github/codeql-action/upload-sarif@515828d97454b8354517688ddc5b48402b723750 # v2.1.38 with: sarif_file: results.sarif From c3447e3640b059b62e4c2c5d18543195b0d6c820 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 13 Jan 2023 10:33:58 -0500 Subject: [PATCH 1281/1388] fix(@angular-devkit/build-angular): prevent hanging initial build during exception with esbuild When using the experimental esbuild-based browser application builder and an exception is thrown during the initial build, the process may hang indefinitely due to the Sass worker pool not shutting down fully. This does not happen for rebuilds after the initial. To remedy this situation, The initial build is now wrapped in a try block to ensure that a full shutdown of the Sass worker pool occurs. --- .../src/builders/browser-esbuild/index.ts | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index fe15d654ce37..bbc66fb85529 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -469,7 +469,7 @@ export async function* buildEsbuildBrowser( 'JIT mode is currently not supported by this experimental builder. AOT mode must be used.', ); - return { success: false }; + return; } // Inform user of experimental status of builder and options @@ -480,7 +480,7 @@ export async function* buildEsbuildBrowser( if (!projectName) { context.logger.error(`The 'browser-esbuild' builder requires a target to be specified.`); - return { success: false }; + return; } const normalizedOptions = await normalizeOptions(context, projectName, initialOptions); @@ -497,18 +497,24 @@ export async function* buildEsbuildBrowser( assertIsError(e); context.logger.error('Unable to create output directory: ' + e.message); - return { success: false }; + return; } // Initial build - let result = await execute(normalizedOptions, context); - yield result.output; - - // Finish if watch mode is not enabled - if (!initialOptions.watch) { - shutdownSassWorkerPool(); + let result: ExecutionResult; + try { + result = await execute(normalizedOptions, context); + yield result.output; - return; + // Finish if watch mode is not enabled + if (!initialOptions.watch) { + return; + } + } finally { + // Ensure Sass workers are shutdown if not watching + if (!initialOptions.watch) { + shutdownSassWorkerPool(); + } } context.logger.info('Watch mode enabled. Watching for file changes...'); From c3adf11a5a880f6299bdc6ae64f6f06b42791147 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 16 Jan 2023 08:58:33 +0000 Subject: [PATCH 1282/1388] build: update dependency minimatch to v6 --- package.json | 2 +- scripts/build.ts | 2 +- yarn.lock | 11 ++++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 239e0dcf24ac..b8eb4d67e37b 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "loader-utils": "3.2.1", "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", - "minimatch": "5.1.2", + "minimatch": "~6.0.4", "ng-packagr": "15.1.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", diff --git a/scripts/build.ts b/scripts/build.ts index 2077ded690a7..d1507d662b40 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -14,7 +14,7 @@ import * as path from 'path'; import { packages } from '../lib/packages'; import buildSchema from './build-schema'; -const minimatch = require('minimatch'); +const { minimatch } = require('minimatch'); const tar = require('tar'); const gitIgnoreFiles = fs.readFileSync(path.join(__dirname, '../.gitignore'), 'utf-8').split('\n'); diff --git a/yarn.lock b/yarn.lock index 12f48fc473c1..52f8ebdce1ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a": version "0.0.0-974f7601338357135eb9a0a70401f6ae9307997f" - uid "0d4920920ff9667a1deae8845b56203b2cda612a" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" @@ -307,7 +306,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d": version "0.0.0-974f7601338357135eb9a0a70401f6ae9307997f" - uid "9b7f501879b491fdd285f4689213867828f9550d" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -8121,7 +8119,7 @@ minimatch@5.1.1: dependencies: brace-expansion "^2.0.1" -minimatch@5.1.2, minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@^5.0.1, minimatch@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== @@ -8135,6 +8133,13 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@~6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.0.4.tgz#cbada37326e86dc19434874a04e29df0ba64cb17" + integrity sha512-9SQupyyavjdAc1VFjJS/5kdtFtlLAhKSWt7HocG0h/npy626jYrGegSslcM7Xxet5z0U9GOx9YbcpyIjBzn7tA== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" From b5dcb29cbaf2b241c04ffbc7aa57d5833d2ec92a Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Fri, 13 Jan 2023 11:47:44 -0800 Subject: [PATCH 1283/1388] refactor: only collect Node version if it's a standard version string Any other kinds of Node version are collected as "other" to avoid pulling in an unbounded user input. --- .../angular/cli/src/analytics/analytics-collector.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 72759ee10d2e..1347481fd87d 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -10,6 +10,7 @@ import { randomUUID } from 'crypto'; import * as https from 'https'; import * as os from 'os'; import * as querystring from 'querystring'; +import * as semver from 'semver'; import type { CommandContext } from '../command-builder/command-module'; import { ngDebug } from '../utilities/environment-options'; import { assertIsError } from '../utilities/error'; @@ -52,8 +53,7 @@ export class AnalyticsCollector { this.requestParameterStringified = querystring.stringify(requestParameters); - // Remove the `v` at the beginning. - const nodeVersion = process.version.substring(1); + const parsedVersion = semver.parse(process.version); const packageManagerVersion = context.packageManager.version; this.userParameters = { @@ -62,8 +62,10 @@ export class AnalyticsCollector { [UserCustomDimension.OsArchitecture]: os.arch(), // While User ID is being collected by GA, this is not visible in reports/for filtering. [UserCustomDimension.UserId]: userId, - [UserCustomDimension.NodeVersion]: nodeVersion, - [UserCustomDimension.NodeMajorVersion]: +nodeVersion.split('.', 1)[0], + [UserCustomDimension.NodeVersion]: parsedVersion + ? `${parsedVersion.major}.${parsedVersion.minor}.${parsedVersion.patch}` + : 'other', + [UserCustomDimension.NodeMajorVersion]: parsedVersion?.major, [UserCustomDimension.PackageManager]: context.packageManager.name, [UserCustomDimension.PackageManagerVersion]: packageManagerVersion, [UserCustomDimension.PackageManagerMajorVersion]: packageManagerVersion From 7b9d99cb37c76bd97b3fe44436af4bc36dcff9b5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 17 Jan 2023 15:37:15 -0500 Subject: [PATCH 1284/1388] refactor(@angular-devkit/build-angular): use esbuild 0.17 incremental API in esbuild builder Due to the update of the experimental esbuild-based browser application builder to use esbuild 0.17, the watch mode has been changed to use the new incremental API. The previous API has been removed from esbuild. The new API involves creating a build context object that can then be used to perform rebuilds of the configured application bundler as needed. All watch mode usage has been updated to use this new approach. An effort was made to minimize the amount of changes made to support this API update and limit the changeset. However, further refactoring will be possible as additional capabilities are added in the future. esbuild API reference: https://esbuild.github.io/api/#rebuild --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- .../browser-esbuild/compiler-plugin.ts | 4 +- .../src/builders/browser-esbuild/esbuild.ts | 152 +++++++++++------- .../src/builders/browser-esbuild/index.ts | 70 ++++---- .../builders/browser-esbuild/stylesheets.ts | 9 +- yarn.lock | 147 ++++++++++++++++- 7 files changed, 295 insertions(+), 95 deletions(-) diff --git a/package.json b/package.json index b8eb4d67e37b..c3a22c322ae1 100644 --- a/package.json +++ b/package.json @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.16.17", - "esbuild-wasm": "0.16.17", + "esbuild": "0.17.2", + "esbuild-wasm": "0.17.2", "eslint": "8.31.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index b21aa29f83ff..6002f18eaddb 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.16.17", + "esbuild-wasm": "0.17.2", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.16.17" + "esbuild": "0.17.2" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index 451ca096d331..e3660d3d61cc 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -277,7 +277,9 @@ export function createCompilerPlugin( ); const { contents, resourceFiles, errors, warnings } = stylesheetResult; - (result.errors ??= []).push(...errors); + if (errors) { + (result.errors ??= []).push(...errors); + } (result.warnings ??= []).push(...warnings); stylesheetResourceFiles.push(...resourceFiles); if (stylesheetResult.metafile) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts index 0261574721b0..a0adc2477536 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/esbuild.ts @@ -8,13 +8,15 @@ import { BuilderContext } from '@angular-devkit/architect'; import { + BuildContext, BuildFailure, - BuildInvalidate, BuildOptions, - BuildResult, + Message, + Metafile, OutputFile, PartialMessage, build, + context, formatMessages, } from 'esbuild'; import { basename, extname, relative } from 'node:path'; @@ -29,76 +31,116 @@ export function isEsBuildFailure(value: unknown): value is BuildFailure { return !!value && typeof value === 'object' && 'errors' in value && 'warnings' in value; } -/** - * Executes the esbuild build function and normalizes the build result in the event of a - * build failure that results in no output being generated. - * All builds use the `write` option with a value of `false` to allow for the output files - * build result array to be populated. - * - * @param optionsOrInvalidate The esbuild options object to use when building or the invalidate object - * returned from an incremental build to perform an additional incremental build. - * @returns If output files are generated, the full esbuild BuildResult; if not, the - * warnings and errors for the attempted build. - */ -export async function bundle( - workspaceRoot: string, - optionsOrInvalidate: BuildOptions | BuildInvalidate, -): Promise< - | (BuildResult & { outputFiles: OutputFile[]; initialFiles: FileInfo[] }) - | (BuildFailure & { outputFiles?: never }) -> { - let result; - try { - if (typeof optionsOrInvalidate === 'function') { - result = (await optionsOrInvalidate()) as BuildResult & { outputFiles: OutputFile[] }; - } else { - result = await build({ - ...optionsOrInvalidate, - metafile: true, - write: false, - }); +export class BundlerContext { + #esbuildContext?: BuildContext<{ metafile: true; write: false }>; + #esbuildOptions: BuildOptions & { metafile: true; write: false }; + + constructor(private workspaceRoot: string, private incremental: boolean, options: BuildOptions) { + this.#esbuildOptions = { + ...options, + metafile: true, + write: false, + }; + } + + /** + * Executes the esbuild build function and normalizes the build result in the event of a + * build failure that results in no output being generated. + * All builds use the `write` option with a value of `false` to allow for the output files + * build result array to be populated. + * + * @returns If output files are generated, the full esbuild BuildResult; if not, the + * warnings and errors for the attempted build. + */ + async bundle(): Promise< + | { errors: Message[]; warnings: Message[] } + | { + errors: undefined; + warnings: Message[]; + metafile: Metafile; + outputFiles: OutputFile[]; + initialFiles: FileInfo[]; + } + > { + let result; + try { + if (this.#esbuildContext) { + // Rebuild using the existing incremental build context + result = await this.#esbuildContext.rebuild(); + } else if (this.incremental) { + // Create an incremental build context and perform the first build. + // Context creation does not perform a build. + this.#esbuildContext = await context(this.#esbuildOptions); + result = await this.#esbuildContext.rebuild(); + } else { + // For non-incremental builds, perform a single build + result = await build(this.#esbuildOptions); + } + } catch (failure) { + // Build failures will throw an exception which contains errors/warnings + if (isEsBuildFailure(failure)) { + return failure; + } else { + throw failure; + } } - } catch (failure) { - // Build failures will throw an exception which contains errors/warnings - if (isEsBuildFailure(failure)) { - return failure; - } else { - throw failure; + + // Return if the build encountered any errors + if (result.errors.length) { + return { + errors: result.errors, + warnings: result.warnings, + }; } - } - const initialFiles: FileInfo[] = []; - for (const outputFile of result.outputFiles) { - // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot - const relativeFilePath = relative(workspaceRoot, outputFile.path); - const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; + // Find all initial files + const initialFiles: FileInfo[] = []; + for (const outputFile of result.outputFiles) { + // Entries in the metafile are relative to the `absWorkingDir` option which is set to the workspaceRoot + const relativeFilePath = relative(this.workspaceRoot, outputFile.path); + const entryPoint = result.metafile?.outputs[relativeFilePath]?.entryPoint; - outputFile.path = relativeFilePath; + outputFile.path = relativeFilePath; - if (entryPoint) { - // An entryPoint value indicates an initial file - initialFiles.push({ - file: outputFile.path, - // The first part of the filename is the name of file (e.g., "polyfills" for "polyfills.7S5G3MDY.js") - name: basename(outputFile.path).split('.')[0], - extension: extname(outputFile.path), - }); + if (entryPoint) { + // An entryPoint value indicates an initial file + initialFiles.push({ + file: outputFile.path, + // The first part of the filename is the name of file (e.g., "polyfills" for "polyfills.7S5G3MDY.js") + name: basename(outputFile.path).split('.')[0], + extension: extname(outputFile.path), + }); + } } + + // Return the successful build results + return { ...result, initialFiles, errors: undefined }; } - return { ...result, initialFiles }; + /** + * Disposes incremental build resources present in the context. + * + * @returns A promise that resolves when disposal is complete. + */ + async dispose(): Promise { + try { + return this.#esbuildContext?.dispose(); + } finally { + this.#esbuildContext = undefined; + } + } } export async function logMessages( context: BuilderContext, - { errors, warnings }: { errors: PartialMessage[]; warnings: PartialMessage[] }, + { errors, warnings }: { errors?: PartialMessage[]; warnings?: PartialMessage[] }, ): Promise { - if (warnings.length) { + if (warnings?.length) { const warningMessages = await formatMessages(warnings, { kind: 'warning', color: true }); context.logger.warn(warningMessages.join('\n')); } - if (errors.length) { + if (errors?.length) { const errorMessages = await formatMessages(errors, { kind: 'error', color: true }); context.logger.error(errorMessages.join('\n')); } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index bbc66fb85529..ae99ede54377 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -7,7 +7,7 @@ */ import { BuilderContext, BuilderOutput, createBuilder } from '@angular-devkit/architect'; -import type { BuildInvalidate, BuildOptions, OutputFile } from 'esbuild'; +import type { BuildOptions, OutputFile } from 'esbuild'; import assert from 'node:assert'; import * as fs from 'node:fs/promises'; import * as path from 'node:path'; @@ -21,7 +21,7 @@ import { augmentAppWithServiceWorkerEsbuild } from '../../utils/service-worker'; import { getSupportedBrowsers } from '../../utils/supported-browsers'; import { checkCommonJSModules } from './commonjs-checker'; import { SourceFileCache, createCompilerPlugin } from './compiler-plugin'; -import { bundle, logMessages } from './esbuild'; +import { BundlerContext, logMessages } from './esbuild'; import { logExperimentalWarnings } from './experimental-warnings'; import { extractLicenses } from './license-extractor'; import { NormalizedBrowserOptions, normalizeOptions } from './options'; @@ -31,8 +31,8 @@ import { createStylesheetBundleOptions } from './stylesheets'; import { ChangedFiles, createWatcher } from './watcher'; interface RebuildState { - codeRebuild?: BuildInvalidate; - globalStylesRebuild?: BuildInvalidate; + codeRebuild?: BundlerContext; + globalStylesRebuild?: BundlerContext; codeBundleCache?: SourceFileCache; fileChanges: ChangedFiles; } @@ -43,8 +43,8 @@ interface RebuildState { class ExecutionResult { constructor( private success: boolean, - private codeRebuild?: BuildInvalidate, - private globalStylesRebuild?: BuildInvalidate, + private codeRebuild?: BundlerContext, + private globalStylesRebuild?: BundlerContext, private codeBundleCache?: SourceFileCache, ) {} @@ -65,8 +65,8 @@ class ExecutionResult { }; } - dispose(): void { - this.codeRebuild?.dispose(); + async dispose(): Promise { + await Promise.all([this.codeRebuild?.dispose(), this.globalStylesRebuild?.dispose()]); } } @@ -91,45 +91,54 @@ async function execute( getSupportedBrowsers(projectRoot, context.logger), ); + // Reuse rebuild state or create new bundle contexts for code and global stylesheets const codeBundleCache = options.watch ? rebuildState?.codeBundleCache ?? new SourceFileCache() : undefined; + const codeBundleContext = + rebuildState?.codeRebuild ?? + new BundlerContext( + workspaceRoot, + !!options.watch, + createCodeBundleOptions(options, target, codeBundleCache), + ); + const globalStylesBundleContext = + rebuildState?.globalStylesRebuild ?? + new BundlerContext( + workspaceRoot, + !!options.watch, + createGlobalStylesBundleOptions(options, target), + ); const [codeResults, styleResults] = await Promise.all([ // Execute esbuild to bundle the application code - bundle( - workspaceRoot, - rebuildState?.codeRebuild ?? createCodeBundleOptions(options, target, codeBundleCache), - ), + codeBundleContext.bundle(), // Execute esbuild to bundle the global stylesheets - bundle( - workspaceRoot, - rebuildState?.globalStylesRebuild ?? createGlobalStylesBundleOptions(options, target), - ), + globalStylesBundleContext.bundle(), ]); // Log all warnings and errors generated during bundling await logMessages(context, { - errors: [...codeResults.errors, ...styleResults.errors], + errors: [...(codeResults.errors || []), ...(styleResults.errors || [])], warnings: [...codeResults.warnings, ...styleResults.warnings], }); // Return if the bundling failed to generate output files or there are errors - if (!codeResults.outputFiles || codeResults.errors.length) { + if (codeResults.errors) { return new ExecutionResult( false, - rebuildState?.codeRebuild, - (styleResults.outputFiles && styleResults.rebuild) ?? rebuildState?.globalStylesRebuild, + codeBundleContext, + globalStylesBundleContext, codeBundleCache, ); } // Return if the global stylesheet bundling has errors - if (!styleResults.outputFiles || styleResults.errors.length) { + if (styleResults.errors) { return new ExecutionResult( false, - codeResults.rebuild, - rebuildState?.globalStylesRebuild, + codeBundleContext, + globalStylesBundleContext, codeBundleCache, ); } @@ -152,7 +161,7 @@ async function execute( // Check metafile for CommonJS module usage if optimizing scripts if (optimizationOptions.scripts) { const messages = checkCommonJSModules(metafile, options.allowedCommonJsDependencies); - await logMessages(context, { errors: [], warnings: messages }); + await logMessages(context, { warnings: messages }); } // Generate index HTML file @@ -232,14 +241,19 @@ async function execute( } catch (error) { context.logger.error(error instanceof Error ? error.message : `${error}`); - return new ExecutionResult(false, codeResults.rebuild, styleResults.rebuild, codeBundleCache); + return new ExecutionResult( + false, + codeBundleContext, + globalStylesBundleContext, + codeBundleCache, + ); } } const buildTime = Number(process.hrtime.bigint() - startTime) / 10 ** 9; context.logger.info(`Complete. [${buildTime.toFixed(3)} seconds]`); - return new ExecutionResult(true, codeResults.rebuild, styleResults.rebuild, codeBundleCache); + return new ExecutionResult(true, codeBundleContext, globalStylesBundleContext, codeBundleCache); } function createOutputFileFromText(path: string, text: string): OutputFile { @@ -275,7 +289,6 @@ function createCodeBundleOptions( return { absWorkingDir: workspaceRoot, bundle: true, - incremental: options.watch, format: 'esm', entryPoints, entryNames: outputNames.bundles, @@ -414,7 +427,6 @@ function createGlobalStylesBundleOptions( outputNames, includePaths: stylePreprocessorOptions?.includePaths, }); - buildOptions.incremental = watch; buildOptions.legalComments = options.extractLicenses ? 'none' : 'eof'; const namespace = 'angular:styles/global'; @@ -552,7 +564,7 @@ export async function* buildEsbuildBrowser( // Stop the watcher await watcher.close(); // Cleanup incremental rebuild state - result.dispose(); + await result.dispose(); shutdownSassWorkerPool(); } } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index f6bafcc03737..1123fb1d490c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -9,7 +9,7 @@ import type { BuildOptions, OutputFile } from 'esbuild'; import * as path from 'node:path'; import { createCssResourcePlugin } from './css-resource-plugin'; -import { bundle } from './esbuild'; +import { BundlerContext } from './esbuild'; import { createSassPlugin } from './sass-plugin'; export interface BundleStylesheetOptions { @@ -115,14 +115,15 @@ export async function bundleComponentStylesheet( }); // Execute esbuild - const result = await bundle(options.workspaceRoot, buildOptions); + const context = new BundlerContext(options.workspaceRoot, false, buildOptions); + const result = await context.bundle(); // Extract the result of the bundling from the output files let contents = ''; let map; let outputPath; const resourceFiles: OutputFile[] = []; - if (result.outputFiles) { + if (!result.errors) { for (const outputFile of result.outputFiles) { const filename = path.basename(outputFile.path); if (filename.endsWith('.css')) { @@ -144,6 +145,6 @@ export async function bundleComponentStylesheet( map, path: outputPath, resourceFiles, - metafile: result.outputFiles && result.metafile, + metafile: result.errors ? undefined : result.metafile, }; } diff --git a/yarn.lock b/yarn.lock index 52f8ebdce1ff..dff149332e6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1376,6 +1376,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== +"@esbuild/android-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774" + integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ== + "@esbuild/android-arm@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" @@ -1386,6 +1391,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== +"@esbuild/android-arm@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab" + integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q== + "@esbuild/android-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" @@ -1396,6 +1406,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== +"@esbuild/android-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8" + integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ== + "@esbuild/darwin-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" @@ -1406,6 +1421,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== +"@esbuild/darwin-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a" + integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw== + "@esbuild/darwin-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" @@ -1416,6 +1436,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== +"@esbuild/darwin-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97" + integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw== + "@esbuild/freebsd-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" @@ -1426,6 +1451,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== +"@esbuild/freebsd-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58" + integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q== + "@esbuild/freebsd-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" @@ -1436,6 +1466,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== +"@esbuild/freebsd-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993" + integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A== + "@esbuild/linux-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" @@ -1446,6 +1481,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== +"@esbuild/linux-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459" + integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg== + "@esbuild/linux-arm@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" @@ -1456,6 +1496,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== +"@esbuild/linux-arm@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d" + integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ== + "@esbuild/linux-ia32@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" @@ -1466,6 +1511,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== +"@esbuild/linux-ia32@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c" + integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg== + "@esbuild/linux-loong64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" @@ -1476,6 +1526,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== +"@esbuild/linux-loong64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9" + integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw== + "@esbuild/linux-mips64el@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" @@ -1486,6 +1541,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== +"@esbuild/linux-mips64el@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24" + integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q== + "@esbuild/linux-ppc64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" @@ -1496,6 +1556,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== +"@esbuild/linux-ppc64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca" + integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw== + "@esbuild/linux-riscv64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" @@ -1506,6 +1571,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== +"@esbuild/linux-riscv64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2" + integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ== + "@esbuild/linux-s390x@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" @@ -1516,6 +1586,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== +"@esbuild/linux-s390x@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e" + integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA== + "@esbuild/linux-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" @@ -1526,6 +1601,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== +"@esbuild/linux-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc" + integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA== + "@esbuild/netbsd-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" @@ -1536,6 +1616,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== +"@esbuild/netbsd-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53" + integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q== + "@esbuild/openbsd-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" @@ -1546,6 +1631,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== +"@esbuild/openbsd-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e" + integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA== + "@esbuild/sunos-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" @@ -1556,6 +1646,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== +"@esbuild/sunos-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b" + integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ== + "@esbuild/win32-arm64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" @@ -1566,6 +1661,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== +"@esbuild/win32-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c" + integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA== + "@esbuild/win32-ia32@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" @@ -1576,6 +1676,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== +"@esbuild/win32-ia32@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c" + integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg== + "@esbuild/win32-x64@0.16.14": version "0.16.14" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" @@ -1586,6 +1691,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== +"@esbuild/win32-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61" + integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ== + "@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -5503,7 +5613,12 @@ esbuild-wasm@0.16.14: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== -esbuild-wasm@0.16.17, esbuild-wasm@^0.16.0: +esbuild-wasm@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.2.tgz#790b952e2d1bc3c1fa7081476ed11151e257ed39" + integrity sha512-3Elb5Afc/EtIfugDGqARoM+MdkqiMZquVOivEzGS3AZosilNIwmnOI2W7pMefi9VGOhR4fdIqddytt+xjjhAdg== + +esbuild-wasm@^0.16.0: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" integrity sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q== @@ -5536,7 +5651,35 @@ esbuild@0.16.14: "@esbuild/win32-ia32" "0.16.14" "@esbuild/win32-x64" "0.16.14" -esbuild@0.16.17, esbuild@^0.16.0: +esbuild@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.2.tgz#c37ee608434be1c0e79f872c8bd484fb46af59df" + integrity sha512-odaHSgtYafOXt2nSISwdWlfRkb4ceMX3akY1mWspQpT08jsqVYEK1XtVusr250Rmbx8AVNWjMPI/yyvKqxOKMw== + optionalDependencies: + "@esbuild/android-arm" "0.17.2" + "@esbuild/android-arm64" "0.17.2" + "@esbuild/android-x64" "0.17.2" + "@esbuild/darwin-arm64" "0.17.2" + "@esbuild/darwin-x64" "0.17.2" + "@esbuild/freebsd-arm64" "0.17.2" + "@esbuild/freebsd-x64" "0.17.2" + "@esbuild/linux-arm" "0.17.2" + "@esbuild/linux-arm64" "0.17.2" + "@esbuild/linux-ia32" "0.17.2" + "@esbuild/linux-loong64" "0.17.2" + "@esbuild/linux-mips64el" "0.17.2" + "@esbuild/linux-ppc64" "0.17.2" + "@esbuild/linux-riscv64" "0.17.2" + "@esbuild/linux-s390x" "0.17.2" + "@esbuild/linux-x64" "0.17.2" + "@esbuild/netbsd-x64" "0.17.2" + "@esbuild/openbsd-x64" "0.17.2" + "@esbuild/sunos-x64" "0.17.2" + "@esbuild/win32-arm64" "0.17.2" + "@esbuild/win32-ia32" "0.17.2" + "@esbuild/win32-x64" "0.17.2" + +esbuild@^0.16.0: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== From c8a3b30000c407937bff4bdeeda8a109fd27259c Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 18 Jan 2023 12:37:16 +0000 Subject: [PATCH 1285/1388] fix(@schematics/angular): replace existing `BrowserModule.withServerTransition` calls when running universal schematic This change fixes an issue where calling the universal schematic on an application with existing `BrowserModule.withServerTransition` will cause an additional `.withServerTransition` call to be added. With this change we now remove the previous `withServerTransition` call to avoid misconfiguration. Closes #24563 --- .../schematics/angular/universal/index.ts | 22 +++++++++---- .../angular/universal/index_spec.ts | 33 +++++++++++++++++++ 2 files changed, 48 insertions(+), 7 deletions(-) diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index a8273e21054f..fdef0f4a7275 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -23,7 +23,6 @@ import { import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import * as ts from '../third_party/github.com/Microsoft/TypeScript/lib/typescript'; import { findNode, getDecoratorMetadata } from '../utility/ast-utils'; -import { InsertChange } from '../utility/change'; import { NodeDependencyType, addPackageJsonDependency, @@ -202,13 +201,22 @@ function addServerTransition( ); const browserModuleImport = findBrowserModuleImport(host, bootstrapModulePath); - const appId = options.appId; - const transitionCall = `.withServerTransition({ appId: '${appId}' })`; - const position = browserModuleImport.pos + browserModuleImport.getFullText().length; - const transitionCallChange = new InsertChange(bootstrapModulePath, position, transitionCall); - const transitionCallRecorder = host.beginUpdate(bootstrapModulePath); - transitionCallRecorder.insertLeft(transitionCallChange.pos, transitionCallChange.toAdd); + const position = browserModuleImport.pos + browserModuleImport.getFullWidth(); + const browserModuleFullImport = browserModuleImport.parent; + + if (browserModuleFullImport.getText() === 'BrowserModule.withServerTransition') { + // Remove any existing withServerTransition as otherwise we might have incorrect configuration. + transitionCallRecorder.remove( + position, + browserModuleFullImport.parent.getFullWidth() - browserModuleImport.getFullWidth(), + ); + } + + transitionCallRecorder.insertLeft( + position, + `.withServerTransition({ appId: '${options.appId}' })`, + ); host.commitUpdate(transitionCallRecorder); }; } diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index df207cfcb607..ff84b3bb584e 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -158,6 +158,39 @@ describe('Universal Schematic', () => { expect(contents).toMatch(/BrowserModule\.withServerTransition\({ appId: 'serverApp' }\)/); }); + it('should replace existing `withServerTransition` in BrowserModule import', async () => { + const filePath = '/projects/bar/src/app/app.module.ts'; + appTree.overwrite( + filePath, + ` + import { NgModule } from '@angular/core'; + import { BrowserModule } from '@angular/platform-browser'; + + import { AppRoutingModule } from './app-routing.module'; + import { AppComponent } from './app.component'; + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule.withServerTransition({ appId: 'foo' }), + AppRoutingModule + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + `, + ); + const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); + const contents = tree.readContent(filePath); + console.log(contents); + + expect(contents).toContain(`BrowserModule.withServerTransition({ appId: 'serverApp' }),`); + expect(contents).not.toContain(`withServerTransition({ appId: 'foo' })`); + }); + it('should wrap the bootstrap call in a DOMContentLoaded event handler', async () => { const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); const filePath = '/projects/bar/src/main.ts'; From 3d8b15d9a5bbcfb02cd9d60f8bbf0d239fdefde0 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 18 Jan 2023 10:16:49 +0000 Subject: [PATCH 1286/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +-- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 14 ++++---- 7 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index dde348fafd38..9b0e0a128866 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@974f7601338357135eb9a0a70401f6ae9307997f + - uses: angular/dev-infra/github-actions/branch-manager@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index f2186c1efa81..0637983984f9 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@974f7601338357135eb9a0a70401f6ae9307997f + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@974f7601338357135eb9a0a70401f6ae9307997f + - uses: angular/dev-infra/github-actions/post-approval-changes@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 258233aa3fad..b1a6700aed2a 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@974f7601338357135eb9a0a70401f6ae9307997f + - uses: angular/dev-infra/github-actions/feature-request@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index ca8bb71cf532..3ac1ed6345f3 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@974f7601338357135eb9a0a70401f6ae9307997f + - uses: angular/dev-infra/github-actions/lock-closed@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index c3a22c322ae1..7a58d51054cb 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.0", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228", "@angular/cdk": "15.1.0", "@angular/common": "15.2.0-next.0", "@angular/compiler": "15.2.0-next.0", @@ -75,7 +75,7 @@ "@angular/forms": "15.2.0-next.0", "@angular/localize": "15.2.0-next.0", "@angular/material": "15.1.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235", "@angular/platform-browser": "15.2.0-next.0", "@angular/platform-browser-dynamic": "15.2.0-next.0", "@angular/platform-server": "15.2.0-next.0", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 6b215f4ce2cf..876dbc7402a9 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#8102fb00b3e3d4e627f1c1c6685c0a9e9915a50d", - "@angular/cdk": "github:angular/cdk-builds#b310cf98b765cf05d6cdc048986885b04f8399b2", - "@angular/common": "github:angular/common-builds#5aa4f7cf68aa1656a4bd21fa7832674fbc607526", - "@angular/compiler": "github:angular/compiler-builds#c3edfd7955e6e4de0f9a89dfbe81c999997875af", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#9ef26d43e542caaceeab31ccb681a26a26cba2c5", - "@angular/core": "github:angular/core-builds#186600c8c2d46fb6ad16af7fd483dffc09d8e710", - "@angular/forms": "github:angular/forms-builds#30dc75d6660b8dc1fbb199f10e88679f3e6ceb04", - "@angular/language-service": "github:angular/language-service-builds#ef967d224f82007644f90f7d2558b0b9a22d74ce", - "@angular/localize": "github:angular/localize-builds#df6d5d47ea1e5428412a5f9499dc00be16f3668a", - "@angular/material": "github:angular/material-builds#6f7c6f4b13532dcb08db5bc54019597deb134e1c", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#3e6ca1fb9b21c8ec32d591629ef64b233a33f9c4", - "@angular/platform-browser": "github:angular/platform-browser-builds#a46f47f5cc075a98534a3079e0f408dacc9bb5cb", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ee137651619eb6598ba3ed48951a538ab6df5713", - "@angular/platform-server": "github:angular/platform-server-builds#8f1ff4a3da6e5b6933fb82f907e543904f1f03c2", - "@angular/router": "github:angular/router-builds#0d9c6f9a7acd451aad06581f25de5b78cd7b5fce", - "@angular/service-worker": "github:angular/service-worker-builds#2530004ac449026293524560619fbc3092b4b84d" + "@angular/animations": "github:angular/animations-builds#f235c9b9edaf914a494fa103e6135453bfea7346", + "@angular/cdk": "github:angular/cdk-builds#a3d08fb67d5c32404e707858f61c32ed5fda1449", + "@angular/common": "github:angular/common-builds#47b7241b468f090e2fab1e442592ac64b6d40260", + "@angular/compiler": "github:angular/compiler-builds#83e86e924b513b3e13ebe2b8e0c7b9674aa62b03", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#5c8144f8294b941491fdec71b9860ca195c8b33d", + "@angular/core": "github:angular/core-builds#70c0a82b266b37d0b77d21b6e81f83e4c2e55c1e", + "@angular/forms": "github:angular/forms-builds#9250d4e9ad45dd34743b15ea2ff3207696d53db0", + "@angular/language-service": "github:angular/language-service-builds#a166ad991d3a796396b0f78f9c6dec09bef8692d", + "@angular/localize": "github:angular/localize-builds#6c3b79175941e6ccb7baceaaf6255e875ed7d330", + "@angular/material": "github:angular/material-builds#acb199c954f91c569763f7089ecc9452bc3c7857", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6215bd4538d311c58a3f3b3cfea9cb99296407dc", + "@angular/platform-browser": "github:angular/platform-browser-builds#cfdfd9c3636a6ca942ade8cb7b79d132f721ae76", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#22113b3bd7e106be0dd4df42a8d5ddbd743c9c09", + "@angular/platform-server": "github:angular/platform-server-builds#4f3fccc602bc57c58ed526ad0186c3683e23e61e", + "@angular/router": "github:angular/router-builds#8f9eda77e63f8cdbefd9582841acf1dd876576b2", + "@angular/service-worker": "github:angular/service-worker-builds#beae054286afab534073067c5937202b4955a684" } } diff --git a/yarn.lock b/yarn.lock index dff149332e6a..1227812806f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,9 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a": - version "0.0.0-974f7601338357135eb9a0a70401f6ae9307997f" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#0d4920920ff9667a1deae8845b56203b2cda612a" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228": + version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" + uid "5854dda71b14fd9032ca67125b902464ebb7b228" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" "@angular/benchpress" "0.3.0" @@ -304,9 +305,10 @@ "@material/typography" "15.0.0-canary.fd95ca7ef.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d": - version "0.0.0-974f7601338357135eb9a0a70401f6ae9307997f" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9b7f501879b491fdd285f4689213867828f9550d" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235": + version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" + uid "9abd9ebd6280363e722044539d056804fe6f3235" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" From 0da93b271dbc28c6a102898f5ffd4369ec9b51e5 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 18 Jan 2023 12:23:41 -0800 Subject: [PATCH 1287/1388] docs: release notes for the v15.1.2 release --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c62add0f0ccd..270dd08ce475 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,32 @@ + + +# 15.1.2 (2023-01-18) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | +| [387472a95](https://github.com/angular/angular-cli/commit/387472a956b71eaca89e210e64f4d75969abc9d3) | fix | register schematic aliases when providing collection name in `ng generate` | +| [5d9fd788a](https://github.com/angular/angular-cli/commit/5d9fd788a997066dea1b2d69dced865a7c60f5c1) | fix | remove `--to` option from being required when using `--from` in `ng update` | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------- | +| [0f5fb7e59](https://github.com/angular/angular-cli/commit/0f5fb7e5944e3a521758c67f403d71928f93f7ac) | fix | replace existing `BrowserModule.withServerTransition` calls when running universal schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [bf4639a6e](https://github.com/angular/angular-cli/commit/bf4639a6e97670972c3d5b137230e2f08467010e) | fix | prevent hanging initial build during exception with esbuild | + +## Special Thanks + +Alan Agius, Charles Lyding and Doug Parker + + + # 15.2.0-next.0 (2023-01-12) From a54da58dcf4f185fe3f2d658ee3a3866085a9306 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 18 Jan 2023 12:56:56 -0800 Subject: [PATCH 1288/1388] release: cut the v15.2.0-next.1 release --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 270dd08ce475..2ced0ffa6895 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ + + +# 15.2.0-next.1 (2023-01-18) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | +| [3ebb19552](https://github.com/angular/angular-cli/commit/3ebb19552527fdd69c6e8db55aea5bf5157cdb06) | fix | register schematic aliases when providing collection name in `ng generate` | +| [697df4f6e](https://github.com/angular/angular-cli/commit/697df4f6e562ae1f1465970694c8b26652af033f) | fix | remove `--to` option from being required when using `--from` in `ng update` | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------- | +| [c8a3b3000](https://github.com/angular/angular-cli/commit/c8a3b30000c407937bff4bdeeda8a109fd27259c) | fix | replace existing `BrowserModule.withServerTransition` calls when running universal schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [bbc1a4f0d](https://github.com/angular/angular-cli/commit/bbc1a4f0dc93437fe97a53a35f68d978cc50bb9e) | feat | support CommonJS dependency checking in esbuild | +| [c3447e364](https://github.com/angular/angular-cli/commit/c3447e3640b059b62e4c2c5d18543195b0d6c820) | fix | prevent hanging initial build during exception with esbuild | + +## Special Thanks + +Alan Agius, Charles Lyding and Doug Parker + + + # 15.1.2 (2023-01-18) diff --git a/package.json b/package.json index 7a58d51054cb..1801da5d25fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0-next.0", + "version": "15.2.0-next.1", "private": true, "description": "Software Development Kit for Angular", "bin": { From f7c78dd3843dc69ca58df9f21b55d82e82d3cc07 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 18 Jan 2023 09:30:14 -0800 Subject: [PATCH 1289/1388] Revert "refactor: temporaily disable sending analytics" This reverts commit df9674bd361b46b1275eed98e503f8897e701af5. Re-enables anayltics. --- packages/angular/cli/src/analytics/analytics-collector.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index 1347481fd87d..e92cc591af19 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -163,11 +163,6 @@ export class AnalyticsCollector { } private async send(data: Record[]): Promise { - // Temporarily disable sending analytics. - if (true as boolean) { - return Promise.resolve(); - } - return new Promise((resolve, reject) => { const request = https.request( { From b5737efae8448084af319fd077863ff6922d651e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 19 Jan 2023 11:15:20 +0000 Subject: [PATCH 1290/1388] fix(@angular/cli): handle extended schematics when retrieving aliases Previously base collections where not being taken into account and the recent changes caused an exception ``` An unhandled exception occurred: Cannot destructure property 'aliases' of 'collection.description.schematics[schematicName]' as it is undefined. ``` See: https://angular-team.slack.com/archives/CHEEH2LCA/p1674122139247359 --- .../angular/cli/src/commands/generate/cli.ts | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index eaa0dad05429..2124f2333a25 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -7,6 +7,11 @@ */ import { strings } from '@angular-devkit/core'; +import { Collection } from '@angular-devkit/schematics'; +import { + FileSystemCollectionDescription, + FileSystemSchematicDescription, +} from '@angular-devkit/schematics/tools'; import { Argv } from 'yargs'; import { CommandModuleError, @@ -69,7 +74,6 @@ export class GenerateCommandModule const { 'x-deprecated': xDeprecated, description = schematicDescription, - aliases = schematicAliases, hidden = schematicHidden, } = schemaJson; const options = await this.getSchematicOptions(collection, schematicName, workflow); @@ -79,8 +83,8 @@ export class GenerateCommandModule // When 'describe' is set to false, it results in a hidden command. describe: hidden === true ? false : typeof description === 'string' ? description : '', deprecated: xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : false, - aliases: Array.isArray(aliases) - ? await this.generateCommandAliasesStrings(collectionName, aliases as string[]) + aliases: Array.isArray(schematicAliases) + ? await this.generateCommandAliasesStrings(collectionName, schematicAliases) : undefined, builder: (localYargs) => this.addSchemaOptionsToCommand(localYargs, options).strict(), handler: (options) => @@ -205,13 +209,37 @@ export class GenerateCommandModule // If a schematic with this same name is already registered skip. if (!seenNames.has(schematicName)) { seenNames.add(schematicName); - const { aliases } = collection.description.schematics[schematicName]; - const schematicAliases = aliases && new Set(aliases); - yield { schematicName, schematicAliases, collectionName }; + yield { + schematicName, + collectionName, + schematicAliases: this.listSchematicAliases(collection, schematicName), + }; + } + } + } + } + + private listSchematicAliases( + collection: Collection, + schematicName: string, + ): Set | undefined { + const description = collection.description.schematics[schematicName]; + if (description) { + return description.aliases && new Set(description.aliases); + } + + // Extended collections + if (collection.baseDescriptions) { + for (const base of collection.baseDescriptions) { + const description = base.schematics[schematicName]; + if (description) { + return description.aliases && new Set(description.aliases); } } } + + return undefined; } /** From d19f260baa8bb55142d69c9c71440b3c444d4b92 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 18 Jan 2023 14:33:45 -0500 Subject: [PATCH 1291/1388] fix(@angular-devkit/build-angular): avoid undefined module path for Sass imports in esbuild When using Sass with the experimental esbuild-based browser application builder, bare imports without a path segment that were available via included paths but also happen to be a node module could cause an exception. An example of such an import would be `@import "globals";`. The deep import node module logic would previously attempt to join an undefined path segment to the resolved path for the `globals` package which would raise a argument type exception. This case has now been fixed by only joining if there is actually a path segment present such as `@import "globals/x"`. With this fix in place, the node module case can then continue and if no stylesheet is found, the include paths will then be searched. --- .../src/builders/browser-esbuild/sass-plugin.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts index 8a60c9215e66..7c3ea8fb5bd4 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts @@ -124,7 +124,11 @@ async function compileString( if (packageResult.path) { return pathToFileURL( - join(dirname(packageResult.path), !hasScope ? nameOrFirstPath : '', ...pathPart), + join( + dirname(packageResult.path), + !hasScope && nameOrFirstPath ? nameOrFirstPath : '', + ...pathPart, + ), ); } } From 0f58a17c4ce92495d96721bc3f2b632a890bbab4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 19 Jan 2023 11:31:58 +0000 Subject: [PATCH 1292/1388] feat(@angular/cli): log number of files update during `ng update` This commit updates `ng update` to include the number of files updated when a migration is completed. Closes #24488 --- .../angular/cli/src/commands/update/cli.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts index 118f6ae15bb6..c2c7ed05f58c 100644 --- a/packages/angular/cli/src/commands/update/cli.ts +++ b/packages/angular/cli/src/commands/update/cli.ts @@ -387,16 +387,29 @@ export class UpdateCommandModule extends CommandModule { logger.info(' ' + description.join('.\n ')); } - const result = await this.executeSchematic( + const { success, files } = await this.executeSchematic( workflow, migration.collection.name, migration.name, ); - if (!result.success) { + if (!success) { return 1; } - logger.info(' Migration completed.'); + let modifiedFilesText: string; + switch (files.size) { + case 0: + modifiedFilesText = 'No changes made'; + break; + case 1: + modifiedFilesText = '1 file modified'; + break; + default: + modifiedFilesText = `${files.size} files modified`; + break; + } + + logger.info(` Migration completed (${modifiedFilesText}).`); // Commit migration if (commit) { From f6f5d79199613b9f9fa82680cdafd4a622ff4be0 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 18 Jan 2023 19:49:07 +0000 Subject: [PATCH 1293/1388] fix(@angular-devkit/core): handle number like strings in workspace writer The workspace writer previously transformed number like strings to numbers which causes failures when a project is named using a number like name. Closes #24541 --- .../json/test/cases/AddProject3.json | 141 ++++++++++++++++++ .../core/src/workspace/json/writer.ts | 4 +- .../core/src/workspace/json/writer_spec.ts | 49 ++---- 3 files changed, 155 insertions(+), 39 deletions(-) create mode 100644 packages/angular_devkit/core/src/workspace/json/test/cases/AddProject3.json diff --git a/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject3.json b/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject3.json new file mode 100644 index 000000000000..1766edbd5fb3 --- /dev/null +++ b/packages/angular_devkit/core/src/workspace/json/test/cases/AddProject3.json @@ -0,0 +1,141 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "my-app": { + "root": "", + "projectType": "application", + "prefix": "app", + "schematics": { + "@schematics/angular:component": { + "styleext": "scss" + } + }, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/my-app", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "my-app:build" + }, + "configurations": { + "production": { + "browserTarget": "my-app:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "my-app:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.spec.json", + "karmaConfig": "src/karma.conf.js", + "styles": [ + "src/styles.scss" + ], + "scripts": [], + "assets": [ + "src/favicon.ico", + "src/assets" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "src/tsconfig.app.json", + "src/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } + }, + "my-app-e2e": { + "root": "e2e/", + "projectType": "application", + "prefix": "", + "architect": { + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "my-app:serve" + }, + "configurations": { + "production": { + "devServerTarget": "my-app:serve:production" + } + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": "e2e/tsconfig.e2e.json", + "exclude": [ + "**/node_modules/**" + ] + } + } + } + }, + "1": { + "root": "src" + } + }, + "defaultProject": "my-app" +} diff --git a/packages/angular_devkit/core/src/workspace/json/writer.ts b/packages/angular_devkit/core/src/workspace/json/writer.ts index 7d5d5df05c7f..a5d0fb145a06 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer.ts @@ -156,12 +156,10 @@ function updateJsonWorkspace(metadata: JsonWorkspaceMetadata): string { jsonPath[2] = 'architect'; } - // modify - const newJsonPath = jsonPath.map((v) => (isFinite(+v) ? +v : v)); // TODO: `modify` re-parses the content every time. // See: https://github.com/microsoft/node-jsonc-parser/blob/35d94cd71bd48f9784453b2439262c938e21d49b/src/impl/edit.ts#L18 // Ideally this should accept a string or an AST to avoid the potentially expensive repeat parsing operation. - const edits = modify(content, newJsonPath, normalizeValue(value, type), { + const edits = modify(content, jsonPath, normalizeValue(value, type), { formattingOptions: { insertSpaces: true, tabSize: 2, diff --git a/packages/angular_devkit/core/src/workspace/json/writer_spec.ts b/packages/angular_devkit/core/src/workspace/json/writer_spec.ts index d03d8eb3635b..0212945aab50 100644 --- a/packages/angular_devkit/core/src/workspace/json/writer_spec.ts +++ b/packages/angular_devkit/core/src/workspace/json/writer_spec.ts @@ -43,7 +43,7 @@ function createTestCaseHost(inputData = '') { require.resolve(join(__dirname, 'test', 'cases', path) + '.json'), 'utf8', ); - expect(data).toEqual(testCase); + expect(data.trim()).toEqual(testCase.trim()); } catch (e) { fail(`Unable to load test case '${path}': ${e instanceof Error ? e.message : e}`); } @@ -186,7 +186,6 @@ describe('writeJsonWorkpaceFile', () => { it('retains comments and formatting when modifying the workspace', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-baz'] = 10; @@ -196,7 +195,6 @@ describe('writeJsonWorkpaceFile', () => { it('adds a project to workspace without any projects', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.projects.add({ @@ -209,7 +207,6 @@ describe('writeJsonWorkpaceFile', () => { it('adds a project to workspace with existing projects', async () => { const host = createTestCaseHost(representativeFile); - const workspace = await readJsonWorkspace('', host); workspace.projects.add({ @@ -220,9 +217,20 @@ describe('writeJsonWorkpaceFile', () => { await writeJsonWorkspace(workspace, host, 'AddProject2'); }); + it('adds a project to workspace with existing projects when name is number like', async () => { + const host = createTestCaseHost(representativeFile); + const workspace = await readJsonWorkspace('', host); + + workspace.projects.add({ + name: '1', + root: 'src', + }); + + await writeJsonWorkspace(workspace, host, 'AddProject3'); + }); + it('adds a project with targets', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.projects.add({ @@ -246,7 +254,6 @@ describe('writeJsonWorkpaceFile', () => { it('adds a project with targets using reference to workspace', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.projects.add({ @@ -278,7 +285,6 @@ describe('writeJsonWorkpaceFile', () => { it("modifies a project's properties", async () => { const host = createTestCaseHost(representativeFile); - const workspace = await readJsonWorkspace('', host); const project = workspace.projects.get('my-app'); @@ -295,7 +301,6 @@ describe('writeJsonWorkpaceFile', () => { it("sets a project's properties", async () => { const host = createTestCaseHost(representativeFile); - const workspace = await readJsonWorkspace('', host); const project = workspace.projects.get('my-app'); @@ -312,7 +317,6 @@ describe('writeJsonWorkpaceFile', () => { it('adds a target to an existing project', async () => { const host = createTestCaseHost(representativeFile); - const workspace = await readJsonWorkspace('', host); const project = workspace.projects.get('my-app'); @@ -332,7 +336,6 @@ describe('writeJsonWorkpaceFile', () => { it('deletes a target from an existing project', async () => { const host = createTestCaseHost(representativeFile); - const workspace = await readJsonWorkspace('', host); const project = workspace.projects.get('my-app'); @@ -349,7 +352,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports adding an empty array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-array'] = []; @@ -359,7 +361,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports adding an array with values', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-array'] = [5, 'a', false, null, true, 9.9]; @@ -369,7 +370,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports adding an empty array then pushing as an extension', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-array'] = []; @@ -380,7 +380,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports pushing to an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -391,7 +390,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports unshifting to an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -402,7 +400,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports shifting from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -413,7 +410,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports splicing an existing array without new values', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -424,7 +420,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports splicing an existing array with new values', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -435,7 +430,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports popping from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -446,7 +440,6 @@ describe('writeJsonWorkpaceFile', () => { it('supports sorting from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -457,7 +450,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces a value at zero index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -468,7 +460,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces a value at inner index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -479,7 +470,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces a value at last index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -490,7 +480,6 @@ describe('writeJsonWorkpaceFile', () => { it('deletes a value at zero index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -501,7 +490,6 @@ describe('writeJsonWorkpaceFile', () => { it('deletes a value at inner index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -512,7 +500,6 @@ describe('writeJsonWorkpaceFile', () => { it('deletes and then adds a value at inner index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -524,7 +511,6 @@ describe('writeJsonWorkpaceFile', () => { it('deletes a value at last index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -535,7 +521,6 @@ describe('writeJsonWorkpaceFile', () => { it('deletes and then adds a value at last index from an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); const array = (workspace.extensions['x-foo'] as JsonObject)['is'] as JsonArray; @@ -547,7 +532,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces an existing array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); (workspace.extensions['x-foo'] as JsonObject)['is'] = ['value']; @@ -557,7 +541,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces an existing array with an empty array', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); (workspace.extensions['x-foo'] as JsonObject)['is'] = []; @@ -567,7 +550,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces an existing object with a new object', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-foo'] = { replacement: true }; @@ -577,7 +559,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces an existing object with an empty object', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-foo'] = {}; @@ -587,7 +568,6 @@ describe('writeJsonWorkpaceFile', () => { it('replaces an existing object with a different value type', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-foo'] = null; @@ -597,7 +577,6 @@ describe('writeJsonWorkpaceFile', () => { it('removes a property when property value is set to undefined', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); workspace.extensions['x-baz'] = undefined; @@ -607,7 +586,6 @@ describe('writeJsonWorkpaceFile', () => { it('removes a property when using delete operator', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); delete workspace.extensions['x-baz']; @@ -617,7 +595,6 @@ describe('writeJsonWorkpaceFile', () => { it('removes multiple properties when using delete operator', async () => { const host = createTestCaseHost(basicFile); - const workspace = await readJsonWorkspace('', host); delete workspace.extensions['x-baz']; From d6d2dd7f17bc8edc128cb6cf76104064d6a5abcb Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 19 Jan 2023 06:15:48 +0000 Subject: [PATCH 1294/1388] build: update github/codeql-action action to v2.1.39 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 599a337a8ee2..6cdd21dac13c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@515828d97454b8354517688ddc5b48402b723750 # v2.1.38 + uses: github/codeql-action/upload-sarif@a34ca99b4610d924e04c68db79e503e1f79f9f02 # v2.1.39 with: sarif_file: results.sarif From a9aa004db653301f76cd770b63f800b7fd2c8e01 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 18 Jan 2023 19:19:44 +0000 Subject: [PATCH 1295/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 18 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 383 +++++++++--------- 4 files changed, 212 insertions(+), 201 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 1934c9badc95..957335fe4169 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "20514864a32d94b2e3113dbf4d71572c908993d3235ea29a2d805a36195cd1e9", - strip_prefix = "bazel-lib-1.21.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.21.0.tar.gz", + sha256 = "79623d656aa23ad3fd4692ab99786c613cd36e49f5566469ed97bc9b4c655f03", + strip_prefix = "bazel-lib-1.23.3", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.23.3.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 1801da5d25fa..c638916651a2 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "@bazel/concatjs": "5.7.3", "@bazel/jasmine": "5.7.3", "@discoveryjs/json-ext": "0.5.7", - "@types/babel__core": "7.1.20", + "@types/babel__core": "7.20.0", "@types/babel__template": "7.4.1", "@types/browserslist": "^4.15.0", "@types/cacache": "^15.0.0", @@ -123,8 +123,8 @@ "@types/yargs": "^17.0.8", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.48.1", - "@typescript-eslint/parser": "5.48.1", + "@typescript-eslint/eslint-plugin": "5.48.2", + "@typescript-eslint/parser": "5.48.2", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -141,14 +141,14 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.17.2", - "esbuild-wasm": "0.17.2", - "eslint": "8.31.0", + "esbuild": "0.17.3", + "esbuild-wasm": "0.17.3", + "eslint": "8.32.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", - "eslint-plugin-import": "2.27.4", + "eslint-plugin-import": "2.27.5", "express": "4.18.2", - "glob": "8.0.3", + "glob": "8.1.0", "http-proxy": "^1.18.1", "https-proxy-agent": "5.0.1", "husky": "8.0.3", @@ -172,7 +172,7 @@ "loader-utils": "3.2.1", "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", - "minimatch": "~6.0.4", + "minimatch": "~6.1.0", "ng-packagr": "15.1.1", "node-fetch": "^2.2.0", "npm": "^8.11.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6002f18eaddb..e91cfbc8b2d7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,8 +31,8 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.17.2", - "glob": "8.0.3", + "esbuild-wasm": "0.17.3", + "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.17.2" + "esbuild": "0.17.3" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/yarn.lock b/yarn.lock index 1227812806f4..e71eb3cca3a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1378,10 +1378,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== -"@esbuild/android-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774" - integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ== +"@esbuild/android-arm64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.3.tgz#35d045f69c9b4cf3f8efcd1ced24a560213d3346" + integrity sha512-XvJsYo3dO3Pi4kpalkyMvfQsjxPWHYjoX4MDiB/FUM4YMfWcXa5l4VCwFWVYI1+92yxqjuqrhNg0CZg3gSouyQ== "@esbuild/android-arm@0.16.14": version "0.16.14" @@ -1393,10 +1393,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== -"@esbuild/android-arm@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab" - integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q== +"@esbuild/android-arm@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.3.tgz#4986d26306a7440078d42b3bf580d186ef714286" + integrity sha512-1Mlz934GvbgdDmt26rTLmf03cAgLg5HyOgJN+ZGCeP3Q9ynYTNMn2/LQxIl7Uy+o4K6Rfi2OuLsr12JQQR8gNg== "@esbuild/android-x64@0.16.14": version "0.16.14" @@ -1408,10 +1408,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== -"@esbuild/android-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8" - integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ== +"@esbuild/android-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.3.tgz#a1928cd681e4055103384103c8bd34df7b9c7b19" + integrity sha512-nuV2CmLS07Gqh5/GrZLuqkU9Bm6H6vcCspM+zjp9TdQlxJtIe+qqEXQChmfc7nWdyr/yz3h45Utk1tUn8Cz5+A== "@esbuild/darwin-arm64@0.16.14": version "0.16.14" @@ -1423,10 +1423,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== -"@esbuild/darwin-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a" - integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw== +"@esbuild/darwin-arm64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.3.tgz#e4af2b392e5606a4808d3a78a99d38c27af39f1d" + integrity sha512-01Hxaaat6m0Xp9AXGM8mjFtqqwDjzlMP0eQq9zll9U85ttVALGCGDuEvra5Feu/NbP5AEP1MaopPwzsTcUq1cw== "@esbuild/darwin-x64@0.16.14": version "0.16.14" @@ -1438,10 +1438,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== -"@esbuild/darwin-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97" - integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw== +"@esbuild/darwin-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.3.tgz#cbcbfb32c8d5c86953f215b48384287530c5a38e" + integrity sha512-Eo2gq0Q/er2muf8Z83X21UFoB7EU6/m3GNKvrhACJkjVThd0uA+8RfKpfNhuMCl1bKRfBzKOk6xaYKQZ4lZqvA== "@esbuild/freebsd-arm64@0.16.14": version "0.16.14" @@ -1453,10 +1453,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== -"@esbuild/freebsd-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58" - integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q== +"@esbuild/freebsd-arm64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.3.tgz#90ec1755abca4c3ffe1ad10819cd9d31deddcb89" + integrity sha512-CN62ESxaquP61n1ZjQP/jZte8CE09M6kNn3baos2SeUfdVBkWN5n6vGp2iKyb/bm/x4JQzEvJgRHLGd5F5b81w== "@esbuild/freebsd-x64@0.16.14": version "0.16.14" @@ -1468,10 +1468,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== -"@esbuild/freebsd-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993" - integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A== +"@esbuild/freebsd-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.3.tgz#8760eedc466af253c3ed0dfa2940d0e59b8b0895" + integrity sha512-feq+K8TxIznZE+zhdVurF3WNJ/Sa35dQNYbaqM/wsCbWdzXr5lyq+AaTUSER2cUR+SXPnd/EY75EPRjf4s1SLg== "@esbuild/linux-arm64@0.16.14": version "0.16.14" @@ -1483,10 +1483,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== -"@esbuild/linux-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459" - integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg== +"@esbuild/linux-arm64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.3.tgz#13916fc8873115d7d546656e19037267b12d4567" + integrity sha512-JHeZXD4auLYBnrKn6JYJ0o5nWJI9PhChA/Nt0G4MvLaMrvXuWnY93R3a7PiXeJQphpL1nYsaMcoV2QtuvRnF/g== "@esbuild/linux-arm@0.16.14": version "0.16.14" @@ -1498,10 +1498,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== -"@esbuild/linux-arm@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d" - integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ== +"@esbuild/linux-arm@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.3.tgz#15f876d127b244635ddc09eaaa65ae97bc472a63" + integrity sha512-CLP3EgyNuPcg2cshbwkqYy5bbAgK+VhyfMU7oIYyn+x4Y67xb5C5ylxsNUjRmr8BX+MW3YhVNm6Lq6FKtRTWHQ== "@esbuild/linux-ia32@0.16.14": version "0.16.14" @@ -1513,10 +1513,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== -"@esbuild/linux-ia32@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c" - integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg== +"@esbuild/linux-ia32@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.3.tgz#6691f02555d45b698195c81c9070ab4e521ef005" + integrity sha512-FyXlD2ZjZqTFh0sOQxFDiWG1uQUEOLbEh9gKN/7pFxck5Vw0qjWSDqbn6C10GAa1rXJpwsntHcmLqydY9ST9ZA== "@esbuild/linux-loong64@0.16.14": version "0.16.14" @@ -1528,10 +1528,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== -"@esbuild/linux-loong64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9" - integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw== +"@esbuild/linux-loong64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.3.tgz#f77ef657f222d8b3a8fbd530a09e40976c458d48" + integrity sha512-OrDGMvDBI2g7s04J8dh8/I7eSO+/E7nMDT2Z5IruBfUO/RiigF1OF6xoH33Dn4W/OwAWSUf1s2nXamb28ZklTA== "@esbuild/linux-mips64el@0.16.14": version "0.16.14" @@ -1543,10 +1543,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== -"@esbuild/linux-mips64el@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24" - integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q== +"@esbuild/linux-mips64el@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.3.tgz#fa38833cfc8bfaadaa12b243257fe6d19d0f6f79" + integrity sha512-DcnUpXnVCJvmv0TzuLwKBC2nsQHle8EIiAJiJ+PipEVC16wHXaPEKP0EqN8WnBe0TPvMITOUlP2aiL5YMld+CQ== "@esbuild/linux-ppc64@0.16.14": version "0.16.14" @@ -1558,10 +1558,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== -"@esbuild/linux-ppc64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca" - integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw== +"@esbuild/linux-ppc64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.3.tgz#c157a602b627c90d174743e4b0dfb7630b101dbf" + integrity sha512-BDYf/l1WVhWE+FHAW3FzZPtVlk9QsrwsxGzABmN4g8bTjmhazsId3h127pliDRRu5674k1Y2RWejbpN46N9ZhQ== "@esbuild/linux-riscv64@0.16.14": version "0.16.14" @@ -1573,10 +1573,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== -"@esbuild/linux-riscv64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2" - integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ== +"@esbuild/linux-riscv64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.3.tgz#7bf79614bd544bd932839b1fcff6cf1f8f6bdf1a" + integrity sha512-WViAxWYMRIi+prTJTyV1wnqd2mS2cPqJlN85oscVhXdb/ZTFJdrpaqm/uDsZPGKHtbg5TuRX/ymKdOSk41YZow== "@esbuild/linux-s390x@0.16.14": version "0.16.14" @@ -1588,10 +1588,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== -"@esbuild/linux-s390x@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e" - integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA== +"@esbuild/linux-s390x@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.3.tgz#6bb50c5a2613d31ce1137fe5c249ecadbecccdea" + integrity sha512-Iw8lkNHUC4oGP1O/KhumcVy77u2s6+KUjieUqzEU3XuWJqZ+AY7uVMrrCbAiwWTkpQHkr00BuXH5RpC6Sb/7Ug== "@esbuild/linux-x64@0.16.14": version "0.16.14" @@ -1603,10 +1603,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== -"@esbuild/linux-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc" - integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA== +"@esbuild/linux-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.3.tgz#aa140d99f0d9e0af388024823bfe4558d73fbbf9" + integrity sha512-0AGkWQMzeoeAtXQRNB3s4J1/T2XbigM2/Mn2yU1tQSmQRmHIZdkGbVq2A3aDdNslPyhb9/lH0S5GMTZ4xsjBqg== "@esbuild/netbsd-x64@0.16.14": version "0.16.14" @@ -1618,10 +1618,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== -"@esbuild/netbsd-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53" - integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q== +"@esbuild/netbsd-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.3.tgz#b6ae9948b03e4c95dc581c68358fb61d9d12a625" + integrity sha512-4+rR/WHOxIVh53UIQIICryjdoKdHsFZFD4zLSonJ9RRw7bhKzVyXbnRPsWSfwybYqw9sB7ots/SYyufL1mBpEg== "@esbuild/openbsd-x64@0.16.14": version "0.16.14" @@ -1633,10 +1633,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== -"@esbuild/openbsd-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e" - integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA== +"@esbuild/openbsd-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.3.tgz#cda007233e211fc9154324bfa460540cfc469408" + integrity sha512-cVpWnkx9IYg99EjGxa5Gc0XmqumtAwK3aoz7O4Dii2vko+qXbkHoujWA68cqXjhh6TsLaQelfDO4MVnyr+ODeA== "@esbuild/sunos-x64@0.16.14": version "0.16.14" @@ -1648,10 +1648,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== -"@esbuild/sunos-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b" - integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ== +"@esbuild/sunos-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.3.tgz#f1385b092000c662d360775f3fad80943d2169c4" + integrity sha512-RxmhKLbTCDAY2xOfrww6ieIZkZF+KBqG7S2Ako2SljKXRFi+0863PspK74QQ7JpmWwncChY25JTJSbVBYGQk2Q== "@esbuild/win32-arm64@0.16.14": version "0.16.14" @@ -1663,10 +1663,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== -"@esbuild/win32-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c" - integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA== +"@esbuild/win32-arm64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.3.tgz#14e9dd9b1b55aa991f80c120fef0c4492d918801" + integrity sha512-0r36VeEJ4efwmofxVJRXDjVRP2jTmv877zc+i+Pc7MNsIr38NfsjkQj23AfF7l0WbB+RQ7VUb+LDiqC/KY/M/A== "@esbuild/win32-ia32@0.16.14": version "0.16.14" @@ -1678,10 +1678,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== -"@esbuild/win32-ia32@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c" - integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg== +"@esbuild/win32-ia32@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.3.tgz#de584423513d13304a6925e01233499a37a4e075" + integrity sha512-wgO6rc7uGStH22nur4aLFcq7Wh86bE9cOFmfTr/yxN3BXvDEdCSXyKkO+U5JIt53eTOgC47v9k/C1bITWL/Teg== "@esbuild/win32-x64@0.16.14": version "0.16.14" @@ -1693,10 +1693,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== -"@esbuild/win32-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61" - integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ== +"@esbuild/win32-x64@0.17.3": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.3.tgz#2f69ea6b37031b0d1715dd2da832a8ae5eb36e74" + integrity sha512-FdVl64OIuiKjgXBjwZaJLKp0eaEckifbhn10dXWhysMJkWblg3OEEGKSIyhiD5RSgAya8WzP3DNkngtIg3Nt7g== "@eslint/eslintrc@^1.4.1": version "1.4.1" @@ -2969,13 +2969,13 @@ resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== -"@types/babel__core@7.1.20": - version "7.1.20" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" - integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== +"@types/babel__core@7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" + integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" @@ -3502,14 +3502,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz#deee67e399f2cb6b4608c935777110e509d8018c" - integrity sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ== +"@typescript-eslint/eslint-plugin@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3" + integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg== dependencies: - "@typescript-eslint/scope-manager" "5.48.1" - "@typescript-eslint/type-utils" "5.48.1" - "@typescript-eslint/utils" "5.48.1" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/type-utils" "5.48.2" + "@typescript-eslint/utils" "5.48.2" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3517,72 +3517,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.1.tgz#d0125792dab7e232035434ab8ef0658154db2f10" - integrity sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA== +"@typescript-eslint/parser@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3" + integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw== dependencies: - "@typescript-eslint/scope-manager" "5.48.1" - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/typescript-estree" "5.48.1" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz#39c71e4de639f5fe08b988005beaaf6d79f9d64d" - integrity sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ== +"@typescript-eslint/scope-manager@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc" + integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw== dependencies: - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/visitor-keys" "5.48.1" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" -"@typescript-eslint/type-utils@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz#5d94ac0c269a81a91ad77c03407cea2caf481412" - integrity sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ== +"@typescript-eslint/type-utils@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7" + integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew== dependencies: - "@typescript-eslint/typescript-estree" "5.48.1" - "@typescript-eslint/utils" "5.48.1" + "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/utils" "5.48.2" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.1.tgz#efd1913a9aaf67caf8a6e6779fd53e14e8587e14" - integrity sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg== +"@typescript-eslint/types@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e" + integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA== -"@typescript-eslint/typescript-estree@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz#9efa8ee2aa471c6ab62e649f6e64d8d121bc2056" - integrity sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA== +"@typescript-eslint/typescript-estree@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0" + integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg== dependencies: - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/visitor-keys" "5.48.1" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/visitor-keys" "5.48.2" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.1.tgz#20f2f4e88e9e2a0961cbebcb47a1f0f7da7ba7f9" - integrity sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA== +"@typescript-eslint/utils@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3" + integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.1" - "@typescript-eslint/types" "5.48.1" - "@typescript-eslint/typescript-estree" "5.48.1" + "@typescript-eslint/scope-manager" "5.48.2" + "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/typescript-estree" "5.48.2" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.48.1": - version "5.48.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz#79fd4fb9996023ef86849bf6f904f33eb6c8fccb" - integrity sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA== +"@typescript-eslint/visitor-keys@5.48.2": + version "5.48.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060" + integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ== dependencies: - "@typescript-eslint/types" "5.48.1" + "@typescript-eslint/types" "5.48.2" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -4046,7 +4046,7 @@ array.prototype.flat@^1.3.1: es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.3.0: +array.prototype.flatmap@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== @@ -5615,10 +5615,10 @@ esbuild-wasm@0.16.14: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== -esbuild-wasm@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.2.tgz#790b952e2d1bc3c1fa7081476ed11151e257ed39" - integrity sha512-3Elb5Afc/EtIfugDGqARoM+MdkqiMZquVOivEzGS3AZosilNIwmnOI2W7pMefi9VGOhR4fdIqddytt+xjjhAdg== +esbuild-wasm@0.17.3: + version "0.17.3" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.3.tgz#7a2eba620fc72835d686e83183d101fd6996776d" + integrity sha512-ad4foZtmEu5YvMQpky/Fbb2R0LEPxb0H8ePh9o0XTl8tiMPlVMTuRM9UOUgEZWTEu8NfkELuOVzB8s2rGNYi0Q== esbuild-wasm@^0.16.0: version "0.16.17" @@ -5653,33 +5653,33 @@ esbuild@0.16.14: "@esbuild/win32-ia32" "0.16.14" "@esbuild/win32-x64" "0.16.14" -esbuild@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.2.tgz#c37ee608434be1c0e79f872c8bd484fb46af59df" - integrity sha512-odaHSgtYafOXt2nSISwdWlfRkb4ceMX3akY1mWspQpT08jsqVYEK1XtVusr250Rmbx8AVNWjMPI/yyvKqxOKMw== +esbuild@0.17.3: + version "0.17.3" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.3.tgz#d9aa02a3bc441ed35f9569cd9505812ae3fcae61" + integrity sha512-9n3AsBRe6sIyOc6kmoXg2ypCLgf3eZSraWFRpnkto+svt8cZNuKTkb1bhQcitBcvIqjNiK7K0J3KPmwGSfkA8g== optionalDependencies: - "@esbuild/android-arm" "0.17.2" - "@esbuild/android-arm64" "0.17.2" - "@esbuild/android-x64" "0.17.2" - "@esbuild/darwin-arm64" "0.17.2" - "@esbuild/darwin-x64" "0.17.2" - "@esbuild/freebsd-arm64" "0.17.2" - "@esbuild/freebsd-x64" "0.17.2" - "@esbuild/linux-arm" "0.17.2" - "@esbuild/linux-arm64" "0.17.2" - "@esbuild/linux-ia32" "0.17.2" - "@esbuild/linux-loong64" "0.17.2" - "@esbuild/linux-mips64el" "0.17.2" - "@esbuild/linux-ppc64" "0.17.2" - "@esbuild/linux-riscv64" "0.17.2" - "@esbuild/linux-s390x" "0.17.2" - "@esbuild/linux-x64" "0.17.2" - "@esbuild/netbsd-x64" "0.17.2" - "@esbuild/openbsd-x64" "0.17.2" - "@esbuild/sunos-x64" "0.17.2" - "@esbuild/win32-arm64" "0.17.2" - "@esbuild/win32-ia32" "0.17.2" - "@esbuild/win32-x64" "0.17.2" + "@esbuild/android-arm" "0.17.3" + "@esbuild/android-arm64" "0.17.3" + "@esbuild/android-x64" "0.17.3" + "@esbuild/darwin-arm64" "0.17.3" + "@esbuild/darwin-x64" "0.17.3" + "@esbuild/freebsd-arm64" "0.17.3" + "@esbuild/freebsd-x64" "0.17.3" + "@esbuild/linux-arm" "0.17.3" + "@esbuild/linux-arm64" "0.17.3" + "@esbuild/linux-ia32" "0.17.3" + "@esbuild/linux-loong64" "0.17.3" + "@esbuild/linux-mips64el" "0.17.3" + "@esbuild/linux-ppc64" "0.17.3" + "@esbuild/linux-riscv64" "0.17.3" + "@esbuild/linux-s390x" "0.17.3" + "@esbuild/linux-x64" "0.17.3" + "@esbuild/netbsd-x64" "0.17.3" + "@esbuild/openbsd-x64" "0.17.3" + "@esbuild/sunos-x64" "0.17.3" + "@esbuild/win32-arm64" "0.17.3" + "@esbuild/win32-ia32" "0.17.3" + "@esbuild/win32-x64" "0.17.3" esbuild@^0.16.0: version "0.16.17" @@ -5787,14 +5787,14 @@ eslint-plugin-header@3.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz#6ce512432d57675265fac47292b50d1eff11acd6" integrity sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg== -eslint-plugin-import@2.27.4: - version "2.27.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz#319c2f6f6580e1678d674a258ee5e981c10cc25b" - integrity sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA== +eslint-plugin-import@2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: array-includes "^3.1.6" array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.0" + array.prototype.flatmap "^1.3.1" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.7" @@ -5841,10 +5841,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.31.0: - version "8.31.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524" - integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA== +eslint@8.32.0: + version "8.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.32.0.tgz#d9690056bb6f1a302bd991e7090f5b68fbaea861" + integrity sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -6486,6 +6486,17 @@ glob@8.0.3, glob@^8.0.1, glob@^8.0.3: minimatch "^5.0.1" once "^1.3.0" +glob@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -8278,10 +8289,10 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@~6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.0.4.tgz#cbada37326e86dc19434874a04e29df0ba64cb17" - integrity sha512-9SQupyyavjdAc1VFjJS/5kdtFtlLAhKSWt7HocG0h/npy626jYrGegSslcM7Xxet5z0U9GOx9YbcpyIjBzn7tA== +minimatch@~6.1.0: + version "6.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.5.tgz#61adaa90e59b29022fd8e326364f0336e4f9282d" + integrity sha512-2/WxnHMkH7qFS+pG8ibLN5GZdx5Y0aLlgFSghaKRUpkeEmC85wZRb/xDvj9jv601KdNOS2G/nNqj2h6k42yxBQ== dependencies: brace-expansion "^2.0.1" From 5e9e1c4a326752687df56cbe8215e4deb47aee1b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 19 Jan 2023 18:17:45 +0000 Subject: [PATCH 1296/1388] build: update angular --- package.json | 28 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 1394 ++++++++--------- 4 files changed, 729 insertions(+), 729 deletions(-) diff --git a/package.json b/package.json index c638916651a2..efd3c24cedbc 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.2.0-next.0", + "@angular/animations": "15.2.0-next.1", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228", - "@angular/cdk": "15.1.0", - "@angular/common": "15.2.0-next.0", - "@angular/compiler": "15.2.0-next.0", - "@angular/compiler-cli": "15.2.0-next.0", - "@angular/core": "15.2.0-next.0", - "@angular/forms": "15.2.0-next.0", - "@angular/localize": "15.2.0-next.0", - "@angular/material": "15.1.0", + "@angular/cdk": "15.1.1", + "@angular/common": "15.2.0-next.1", + "@angular/compiler": "15.2.0-next.1", + "@angular/compiler-cli": "15.2.0-next.1", + "@angular/core": "15.2.0-next.1", + "@angular/forms": "15.2.0-next.1", + "@angular/localize": "15.2.0-next.1", + "@angular/material": "15.1.1", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235", - "@angular/platform-browser": "15.2.0-next.0", - "@angular/platform-browser-dynamic": "15.2.0-next.0", - "@angular/platform-server": "15.2.0-next.0", - "@angular/router": "15.2.0-next.0", - "@angular/service-worker": "15.2.0-next.0", + "@angular/platform-browser": "15.2.0-next.1", + "@angular/platform-browser-dynamic": "15.2.0-next.1", + "@angular/platform-server": "15.2.0-next.1", + "@angular/router": "15.2.0-next.1", + "@angular/service-worker": "15.2.0-next.1", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 750be8faf469..4f6f16fd42dd 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.0", - "@angular/compiler-cli": "15.1.0", + "@angular/compiler": "15.1.1", + "@angular/compiler-cli": "15.1.1", "typescript": "4.9.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 876dbc7402a9..0f170d710b4c 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#f235c9b9edaf914a494fa103e6135453bfea7346", - "@angular/cdk": "github:angular/cdk-builds#a3d08fb67d5c32404e707858f61c32ed5fda1449", - "@angular/common": "github:angular/common-builds#47b7241b468f090e2fab1e442592ac64b6d40260", - "@angular/compiler": "github:angular/compiler-builds#83e86e924b513b3e13ebe2b8e0c7b9674aa62b03", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#5c8144f8294b941491fdec71b9860ca195c8b33d", - "@angular/core": "github:angular/core-builds#70c0a82b266b37d0b77d21b6e81f83e4c2e55c1e", - "@angular/forms": "github:angular/forms-builds#9250d4e9ad45dd34743b15ea2ff3207696d53db0", - "@angular/language-service": "github:angular/language-service-builds#a166ad991d3a796396b0f78f9c6dec09bef8692d", - "@angular/localize": "github:angular/localize-builds#6c3b79175941e6ccb7baceaaf6255e875ed7d330", - "@angular/material": "github:angular/material-builds#acb199c954f91c569763f7089ecc9452bc3c7857", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6215bd4538d311c58a3f3b3cfea9cb99296407dc", - "@angular/platform-browser": "github:angular/platform-browser-builds#cfdfd9c3636a6ca942ade8cb7b79d132f721ae76", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#22113b3bd7e106be0dd4df42a8d5ddbd743c9c09", - "@angular/platform-server": "github:angular/platform-server-builds#4f3fccc602bc57c58ed526ad0186c3683e23e61e", - "@angular/router": "github:angular/router-builds#8f9eda77e63f8cdbefd9582841acf1dd876576b2", - "@angular/service-worker": "github:angular/service-worker-builds#beae054286afab534073067c5937202b4955a684" + "@angular/animations": "github:angular/animations-builds#1a51e199f590248f20b7451696bffac20aac97cb", + "@angular/cdk": "github:angular/cdk-builds#2bf3551c70e3417a7dee757349221f6807ed682e", + "@angular/common": "github:angular/common-builds#f0aec2011458f30ba66123a855e5ea28d52b9284", + "@angular/compiler": "github:angular/compiler-builds#22d0880e294e444e227e85579c37894328c88e09", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#693a8849cba05f755910c774f0d8a550cf9c0e0f", + "@angular/core": "github:angular/core-builds#f94125e7abbfbbc5daca918d288b4dbe4074d9f3", + "@angular/forms": "github:angular/forms-builds#374f1247ee8a5ed1bb580cd641df29279af09a2f", + "@angular/language-service": "github:angular/language-service-builds#78d703b6689ebfec74d988fbdf4dea94226ec8ec", + "@angular/localize": "github:angular/localize-builds#755c1dad70cb052a3956da63754af2d1f1d6b8e0", + "@angular/material": "github:angular/material-builds#b4356c99b073a6ec3bebaaa7b4386fcecc1d18ee", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0e23c03847d9a6fdf5798f1d99e6ce86e83c011f", + "@angular/platform-browser": "github:angular/platform-browser-builds#5064969e850a5496b33b8340ef43d2c26537e7df", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ba881e0f073c4bc54afc26ec3c117691d9a03316", + "@angular/platform-server": "github:angular/platform-server-builds#573ba93d37da0d818e1cc40a6f908a1dda94904a", + "@angular/router": "github:angular/router-builds#389b737b04261f9e69dc4df55536f032c99334eb", + "@angular/service-worker": "github:angular/service-worker-builds#a31a972d0d3b35e46f16e75598fb7da95c79ef53" } } diff --git a/yarn.lock b/yarn.lock index e71eb3cca3a8..81ca5edeb6f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.0.tgz#e31b957781854a055d9d775790769e9dc67c02b8" - integrity sha512-qQal0ZICHfqPdUIju1dHDIhEpuVdd18vpcNnR8b7wPjwaPwej8fw14cTddq5gbWBvbD2ei9375hm1GOEVaADkQ== +"@angular/animations@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.1.tgz#38d0fca5c54f500931332e0b8f662c17e3660f01" + integrity sha512-pJyIFJ/G38q4trj1FLHi3H6AhR7aU4d6jTN1R1LemKIgdNWlvnAF+wb3YJQiaC57TU1kHQRj9+45SwaLDQbpLw== dependencies: tslib "^2.3.0" @@ -159,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.0.tgz#e134537bdf5532beb54b6f535bc555e190058730" - integrity sha512-6X9k/OT+L6nu1ndKTX4zsSxXR8/C6CyzVY+iIytBUZ8qYaZ6kZ385YlDHyNB9x70GaC5hJkOvR0ZVupz57x0bg== +"@angular/cdk@15.1.1": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.1.tgz#6a9d951bd45020f034e1b1bc2a36963346a2229a" + integrity sha512-99zaW+EqS/pJh2BLxC+L+/mAyaC3oncRUqRL4WWLENZI2lqD6mCe/kRYDL57WbSZaI54Of38u9GhkBVA/0rn7A== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.0.tgz#559b7d2ced1fff3c16a8d4d34a530908341b2a39" - integrity sha512-j5BavXAsryM393vQuRb1jlYXQjMBP67V1m6o1PZSMqpC6eRXtXj4Vq1PO+2A/gZg4gnr7mcub9yVNnwUsKaDbw== +"@angular/common@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.1.tgz#027b037f25a2bdaea2ed99d3d25a1578112de567" + integrity sha512-r4Vt5Mt7wlg8X0yL+eUr8T4w6Dz8mgel3eoTJBDwqkqQXoYdu+o0cqiTrqUIqe0dmTHTt0l4ebxf+l5vr8h0DA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.0.tgz#f9c42691bacd3c394f731aeabb951f1a69603c5e" - integrity sha512-mKeXolM/plP9ebkHy3YGxHx0Yg63d09S0QCpdIcmvrbJpaPeM2D1SAkbDpO46T4BsfgfWHtSYByb5JcesrYrpQ== +"@angular/compiler-cli@15.1.1": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.1.tgz#06d5f4c6b18da0383706d42427b22132c1c5bcef" + integrity sha512-sBYvh6Y08aKuZPAVwzT1YGVfG63xeXElEfAfq6No9FLUHDo83QB9fU7ovXnu1RJFJiVIy16DHjmTpAmgvlomGA== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -191,10 +191,10 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler-cli@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.0.tgz#d7a12c865a8728463451f0e2effa5b724c389d2a" - integrity sha512-OMIEHX7ASY3xddr13A5SnD9388UrZx+h6ochZyUHO4KkAWbI4ZTEpkKs9uZKsmIoLpkhVy00cD8u6Qqa9CHe7g== +"@angular/compiler-cli@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.1.tgz#7ccea27653d500b2b455c76217f0c6acb381d4fd" + integrity sha512-yGGGrAHUdTT6agKcMzKWhjxlpltVACu/OHsaqw12G2ePwFWJjaxGtPXwU8G7G9AENguEnsm/VgnSGr/439i6XA== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -207,24 +207,24 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.0.tgz#66859f122cd275f5a4078d757d018295356f5ab9" - integrity sha512-+ky5Cvgps725Q/KdgsYzi/fe9LbT5ujhZoT9N5k+tYTJsepMUrpExFwMFkWrdMUYTK7DaxC9ufjZ4WZmHVhFoA== +"@angular/compiler@15.1.1": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.1.tgz#2f617225795fb92f85188c051e8107d0e1c64b54" + integrity sha512-A35iXLTTDEej4F2tm5t1flA+5Tv+jYAkQx+d0xvH6LDiWvsiDsOe5OjP8L2LD8dejwWl/JYUz2TH0JZcvw0uqA== dependencies: tslib "^2.3.0" -"@angular/compiler@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.0.tgz#67985cbff91006ce196eebc92f2fd3b002c11521" - integrity sha512-PYivUbp1DFl9t+1N+hwpUNl2ljFEFfDTmSF93XJhq595F4RXGKkE5NoRTGCgTwBYO14QbzeTPmVR6Qj0zTdsAg== +"@angular/compiler@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.1.tgz#a2c28ed6981b46c545c8be39cac0562806f75b59" + integrity sha512-i7tSgXTt7JZX10RGaHqRrLlsbboIft80srTCLCX6hd+mDvwbWRLjoWpDKJFXTtRzV4j8BdZaB6vDEHAgHhdvDA== dependencies: tslib "^2.3.0" -"@angular/core@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.0.tgz#da483a977a2609bada3d43875aff8826e3fd0fc5" - integrity sha512-rP9HI+t4y7MU6+4rNV0ycvk30C3knZ0lqGkzVDjd0CHRK0pI12LK3NblsFFwdTSCbMKrzrBe6OrqNKvkp29bpQ== +"@angular/core@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.1.tgz#18cefdad716d9acf69da84c7867697722babfbe3" + integrity sha512-s8xbtH9xbbEt+x9aUXlP4aJB1y04aPZ/520h3nqIa8RN2wxNGkgbNKLo0RWLywtSe3YSJ20KlGTw8U5CId1diw== dependencies: tslib "^2.3.0" @@ -235,74 +235,74 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.0.tgz#422b37899ac583c9a711c395c3019c470f1bdf33" - integrity sha512-Cl4pfBMIWJorVojjzYXooZDYAqJCaOfQe7inn8NJdr88KYuwdgTBQkEorKErKB5QnYd+t+Zcgm0n1FcL7R8AYQ== +"@angular/forms@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.1.tgz#8ce5b0b52f3141f2eab48fb9dfd33fa35ce56ac7" + integrity sha512-dHxkg0mcfMRZiqydL1VsQrQH1FZdrgGkgwRhmR47iwxZfRZTv7IgM16v0/QRAqRAnt+dlbxyY8efw9b9E7iXcQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.0.tgz#100b8fc1732d6ff2f5470c3b2da37bef358c70a5" - integrity sha512-fvwgan3wEVz8auwBxXhPKRBCyuxpaMpqQUSK3wROy+J3FRij4PNic0Eabq6rNZyDGuDf6Hp3UUe2XVH5Y41L2w== +"@angular/localize@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.1.tgz#9931a788cf62c4d1b3a08e436952101f758afe2f" + integrity sha512-cJbwJ5t6GfNJx9ELn7fJsIswABIzTGH9gAmn2ZFY+PrVGsykGh3IRwROsaYgD+2UpI1Kn4N18HquOYeQm/WbwA== dependencies: "@babel/core" "7.19.3" - glob "8.0.3" + glob "8.1.0" yargs "^17.2.1" -"@angular/material@15.1.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.0.tgz#5d6901489a4178c60a9c1b06601bdfd30316c99d" - integrity sha512-H/SBpsjf4rzSwep9er1QUh45rSsXiWh8b/HZxCP61lJSnWDUsLP1r+icLtKBAHYMpsrJHSdrgOx1do9IG2K1uQ== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/auto-init" "15.0.0-canary.fd95ca7ef.0" - "@material/banner" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/button" "15.0.0-canary.fd95ca7ef.0" - "@material/card" "15.0.0-canary.fd95ca7ef.0" - "@material/checkbox" "15.0.0-canary.fd95ca7ef.0" - "@material/chips" "15.0.0-canary.fd95ca7ef.0" - "@material/circular-progress" "15.0.0-canary.fd95ca7ef.0" - "@material/data-table" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dialog" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/drawer" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/fab" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" - "@material/form-field" "15.0.0-canary.fd95ca7ef.0" - "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" - "@material/image-list" "15.0.0-canary.fd95ca7ef.0" - "@material/layout-grid" "15.0.0-canary.fd95ca7ef.0" - "@material/line-ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/linear-progress" "15.0.0-canary.fd95ca7ef.0" - "@material/list" "15.0.0-canary.fd95ca7ef.0" - "@material/menu" "15.0.0-canary.fd95ca7ef.0" - "@material/menu-surface" "15.0.0-canary.fd95ca7ef.0" - "@material/notched-outline" "15.0.0-canary.fd95ca7ef.0" - "@material/radio" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/segmented-button" "15.0.0-canary.fd95ca7ef.0" - "@material/select" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/slider" "15.0.0-canary.fd95ca7ef.0" - "@material/snackbar" "15.0.0-canary.fd95ca7ef.0" - "@material/switch" "15.0.0-canary.fd95ca7ef.0" - "@material/tab" "15.0.0-canary.fd95ca7ef.0" - "@material/tab-bar" "15.0.0-canary.fd95ca7ef.0" - "@material/tab-indicator" "15.0.0-canary.fd95ca7ef.0" - "@material/tab-scroller" "15.0.0-canary.fd95ca7ef.0" - "@material/textfield" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tooltip" "15.0.0-canary.fd95ca7ef.0" - "@material/top-app-bar" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@angular/material@15.1.1": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.1.tgz#54be848cfba0618b12e6a4c030cf222fb79a27c6" + integrity sha512-QhyTJv9CnimXKXb4LCH93ovJVAdnoHyElwspl80PcfAV/6A6VrRQAflFoul0WL4WPrV50DG7TWYiEwHPpblbCw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/auto-init" "15.0.0-canary.684e33d25.0" + "@material/banner" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/button" "15.0.0-canary.684e33d25.0" + "@material/card" "15.0.0-canary.684e33d25.0" + "@material/checkbox" "15.0.0-canary.684e33d25.0" + "@material/chips" "15.0.0-canary.684e33d25.0" + "@material/circular-progress" "15.0.0-canary.684e33d25.0" + "@material/data-table" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dialog" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/drawer" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/fab" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/floating-label" "15.0.0-canary.684e33d25.0" + "@material/form-field" "15.0.0-canary.684e33d25.0" + "@material/icon-button" "15.0.0-canary.684e33d25.0" + "@material/image-list" "15.0.0-canary.684e33d25.0" + "@material/layout-grid" "15.0.0-canary.684e33d25.0" + "@material/line-ripple" "15.0.0-canary.684e33d25.0" + "@material/linear-progress" "15.0.0-canary.684e33d25.0" + "@material/list" "15.0.0-canary.684e33d25.0" + "@material/menu" "15.0.0-canary.684e33d25.0" + "@material/menu-surface" "15.0.0-canary.684e33d25.0" + "@material/notched-outline" "15.0.0-canary.684e33d25.0" + "@material/radio" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/segmented-button" "15.0.0-canary.684e33d25.0" + "@material/select" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/slider" "15.0.0-canary.684e33d25.0" + "@material/snackbar" "15.0.0-canary.684e33d25.0" + "@material/switch" "15.0.0-canary.684e33d25.0" + "@material/tab" "15.0.0-canary.684e33d25.0" + "@material/tab-bar" "15.0.0-canary.684e33d25.0" + "@material/tab-indicator" "15.0.0-canary.684e33d25.0" + "@material/tab-scroller" "15.0.0-canary.684e33d25.0" + "@material/textfield" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tooltip" "15.0.0-canary.684e33d25.0" + "@material/top-app-bar" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235": @@ -313,40 +313,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.0.tgz#3da085ee7da69a8d4a161f2f394e86e80743b36c" - integrity sha512-ZziKAbYWJ48AlKc+Hif8dX11VOogvfivwSrAhw2jJN/AjzU6xPWZA5CkPjBGEZve3tRI5HLMLNneI1p4UDo0HQ== +"@angular/platform-browser-dynamic@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.1.tgz#e2bd6abe7576b71a3e5b7025c66cc86e250b1249" + integrity sha512-73lj1bLBsvoQR0cRoC3tkPWV4KjeMhXFFMOD2Y7Qm8MCdkbzx64w+O98LQ1h3O39QVnCRpeLDCkQWew6purLpA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.0.tgz#135339b4df0cf14222e89525afbc7a5bbce6d11a" - integrity sha512-S5gs/Ncl7/aZhSrPKP7PqMsmZ6pmLpi8trjZasXhRBJLgQOeLg0bPEYPjyXjTeocxFjnfqkkpjTw6WZ3z8oKxg== +"@angular/platform-browser@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.1.tgz#be61aa23d909f0fb930f313d1958fcafb321bbea" + integrity sha512-9ZwtpqQ0XaYhFywhLPlhbbnEzOHbOvQIfmupohdtBSC7QOdn/gP1lciuX/9pnF3PJwz+tRuLF4Ig90jZpo3E7A== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.0.tgz#76e10a20991edb32bcf892f8fbf4ee44b9675937" - integrity sha512-rN9/NPiCH/NcgT/Ar/jZeMFX4jDBnnSqh6IqUGwgvr25kjOpFzWEsVggAUep0Lvso/f1qlNhlWX03w7BmZpRjg== +"@angular/platform-server@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.1.tgz#2348c9df0851d5619a1711f8bb008b013a3e6e67" + integrity sha512-wNwsgih4r2deuv00HJ5BTSkNQcet8BqoDSY21jhmYSjhl3O77VYnhehfpVNWSTsOhSvRy+A2xEzWntdk3PjkoA== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.0.tgz#d68f1612210d383d50e0640bfc334c947b10226b" - integrity sha512-j+0ZUp/ytd0dft5VCHA+gUjqCn970UOrRe+o90VZNsbowZumMumkpxCDtZ1Btqmd2ZOW0CM8/k1vashuhdH64A== +"@angular/router@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.1.tgz#d22e234d677eef5a9608b8425e1d0a018fc8db31" + integrity sha512-1G9fH76nXCoiusBOzUU94cqPPrc1tVQHXv7QWHoGIMUfNGphfICDGCy/cuyi8OSeGL1R/qbqK6x6YMTzv9zh0w== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.2.0-next.0": - version "15.2.0-next.0" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.0.tgz#c1874f109cc4117d87769752196123f7439f785d" - integrity sha512-dHCROO0zMKVgSRfWPaeYPhzckj+HXzMOYWT1hT2ltIE39t/ULsqq+DS6y6X1P1mRYOgB51YTk9vCfZUECQZh1g== +"@angular/service-worker@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.1.tgz#2a39854fd08586600f92bb36436c34f726940be9" + integrity sha512-ozpYVLgEBYKn/+17O4CovO5tQceXAJgieHfWDaww1FvTwAkDgujJvnmmDqIZnRgLkiCcg8FLfonzTEwX7cV0Sg== dependencies: tslib "^2.3.0" @@ -1827,705 +1827,705 @@ brfs "^1.4.0" unicode-trie "^0.3.0" -"@material/animation@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.fd95ca7ef.0.tgz#93cdf4849fd32749b66dae6a1335dc00b9cd7633" - integrity sha512-zMUnqghXPj65NpEHw7n70qZ2Epaue7Y/aue+EWrWYiaQo5a0zxNttYyc5XTw0KOqfHyB9Yz4wO9BTQDCKWSWtg== +"@material/animation@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz#d42ecdd31da5635ff5b44a53c6fc8746de7f5a5a" + integrity sha512-5osi1z4JQIXcklPALbH/zTfOm2pDzHt9Fxm7ZyURy250xIZj6QjULRzPTnzOhC2ropfix9ra2Cfggbf0dcRbEQ== dependencies: tslib "^2.1.0" -"@material/auto-init@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.fd95ca7ef.0.tgz#0d095d79c27b7a557e3a1fee3099e01862536b59" - integrity sha512-CrsCatcRWu6MbZZ83wcA2e591ag2mrqbFg8lioAkOU/XypGRgObVH7mK/Jih0LTHsZrvjIq3MNJZirkpZifb2g== +"@material/auto-init@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/auto-init/-/auto-init-15.0.0-canary.684e33d25.0.tgz#39caf04e5647b6d73a63f8d90a744a92d3394f31" + integrity sha512-OigQTmrVzkcGvxNjOaIe5oItTFPgrO9xLewvharDI6m6yvO1z7OBnkcW+sFN6ggLNYNxd0O1u9v64vMsmeDABQ== dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/banner@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.fd95ca7ef.0.tgz#ceec800c2ab22bb8429b2202f5466bafb298b707" - integrity sha512-lplDzQjQGbImfr+IYkO0USpgDsWx/vk0e6qg71jwd23m75NOZG6Pv0U1gtL2LLVr4hgedbLq/gqKSilsZkKxZQ== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/button" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/banner@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/banner/-/banner-15.0.0-canary.684e33d25.0.tgz#9e6e56f0fd1f572a046ea0dfe3fafa181a5e6c84" + integrity sha512-PqtGp3KWzdu58rWv/DIvSfe38m5YKOBbAAbBinSvgadBb/da+IE1t5F7YPNKE1T5lJsQBGVUYx6QBIeXm+aI/A== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/button" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/base@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.fd95ca7ef.0.tgz#f790c5687b45b4477bd6f456c3e7013003182048" - integrity sha512-pIdMbChPElwv8bsyKvd4yY1lVbpD7RJfzfPhzI6Rpud01+fAYSon3K0oTruZgMR9nRLVC83qEPFlWXGXRLvY1w== +"@material/base@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-15.0.0-canary.684e33d25.0.tgz#fe9b3e01f7dc1ed064e06bfb0f8b072d0d7c7d10" + integrity sha512-oOaqb/SfjWwTKsdJUZmeh/Qrs41nIJI0N+zELsxnvbGjSIN1ZMAKYZFPMahqvC68OJ6+5CvJM8PoTNs5l+B8IQ== dependencies: tslib "^2.1.0" -"@material/button@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.fd95ca7ef.0.tgz#0dfa2366bc8043c35d807866ea16984f3a86095b" - integrity sha512-EG32mxhJZmiWJAvQ1CFsAd95NQfbxFNnmRIphNfvER3koy+zEKVB7CjVAXK3XCptlvSfbn5384qfAJKYsK9HsA== - dependencies: - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/button@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-15.0.0-canary.684e33d25.0.tgz#714aaa80ceb73fef2852dd9b25bfe634076e957c" + integrity sha512-Nkekk4edeX+ObVOa7UlwavaHdmckPV5wU4SAJf3iA3R61cmz+KsgAgpzfcwv5WfNhIlc2nLu8QYEecpHdo9d/w== + dependencies: + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/card@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.fd95ca7ef.0.tgz#ff6e44803822bb6a8d5ddaf0bb8575efa14e4fcb" - integrity sha512-t+fe6ICrFzY681+qGUwHrzHGv44Hn4xldv7VCQW7jxzqvz3pa/w3deDYnVdrzLVHLntzvuTbvJEzcqmC53vQFA== - dependencies: - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" +"@material/card@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/card/-/card-15.0.0-canary.684e33d25.0.tgz#68c4007746a93422c9a010d27dcf25d7176edd72" + integrity sha512-xhyB7XX5KkEiCEqwSPkl58ZGYL6xFdnY62zimyBXJRG/Eaa0Swj3kW20hVCpt4f7c9Zmp8Se27rg8vnKmhvO3g== + dependencies: + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/checkbox@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.fd95ca7ef.0.tgz#06db6af302832c1b4a13aced4d7847db9300ddcb" - integrity sha512-UPxRSildKAqnucLpB4Oh2KdAYeypjzveFFPMkWY3d/p7W6bgTmMg249jLAIFrcudBjPgrMem6J7DPBMiicud4A== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" +"@material/checkbox@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-15.0.0-canary.684e33d25.0.tgz#2b48a55415eab10ce73ba87af8f5c2e77eeb1851" + integrity sha512-NFpM3TS924PmVsk2KQLNU95OYCf8ZwYgzeqfnAexU0bEfjUJXINBun2Go0AaeOUMjuvWUe+byjrXgv8SFYbMUA== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/chips@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.fd95ca7ef.0.tgz#62e83fef59b65651a94e94ed1f60511802988934" - integrity sha512-M7bfcCicB58k9nSvIlsR0FYM5ahhwh25IK1ybVKWBvtCDD4dyXVgeIc+e+u9E/i8e2KVzCMclwX1P6xocHJx7w== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/checkbox" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/chips@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/chips/-/chips-15.0.0-canary.684e33d25.0.tgz#81929e0c18ab58a8eb0682ead9d37352b8b583a3" + integrity sha512-z4ajQ4NnsAQ/Si9tZ4xmxzjj2Qb+vW++4QjCjjjwAGIZbCe0xglAnMh2t66XLJUxt7RoKZuZVEO7ZqcFZpvJFQ== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/checkbox" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/circular-progress@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.fd95ca7ef.0.tgz#7229ef2486cb3f755ef01e2c7098af94ea458855" - integrity sha512-lsM+X5cnvvrqsdsVoxl4lySShw9w6CK7Q55VGfR2Pwd7oqid4bZX1uOOgpz7WHUxT4AOJ6PX/iHDClueEx8lrA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/progress-indicator" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" +"@material/circular-progress@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/circular-progress/-/circular-progress-15.0.0-canary.684e33d25.0.tgz#8484ce2b53d074b48b6851f60758c2fac9496a89" + integrity sha512-G6qD0nGNtEUwWnAMJuA9INYFpZoKtx7KFjBaPF4Ol2YLHtmShALNAYyn54TMAK8AZ2IpW08PXjGS7Ye88vrdEQ== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/progress-indicator" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/data-table@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.fd95ca7ef.0.tgz#a6b70fad1654b9e3761849fc174cd815893dcb8d" - integrity sha512-eg2ohraF8LLva1rAWrJ6R5Ei06k7tp1azewL46rtRulJGjBJHCUfkstfxx21S/PdX7CsPyWwPoWDCxgk2zo1Sw== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/checkbox" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" - "@material/linear-progress" "15.0.0-canary.fd95ca7ef.0" - "@material/list" "15.0.0-canary.fd95ca7ef.0" - "@material/menu" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/select" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/data-table@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/data-table/-/data-table-15.0.0-canary.684e33d25.0.tgz#4c384fc74500aa4733ce3fe668a928007ef3b1c9" + integrity sha512-+wDw1DDDFfAsKAMzs84f/5GCjux39zjNfW8tL4wFbkWNwewmQrG9zaQMJhBpVOtLCrM8Gj6SOgOANqgqoCjvGg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/checkbox" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/icon-button" "15.0.0-canary.684e33d25.0" + "@material/linear-progress" "15.0.0-canary.684e33d25.0" + "@material/list" "15.0.0-canary.684e33d25.0" + "@material/menu" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/select" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/density@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.fd95ca7ef.0.tgz#f48101678b27ec64170557d6d5e29a6d53156cc6" - integrity sha512-3scwdXi0xIVL6CZSGVWTxg935zomwMlqEBt0/BdxG96YJ0p+G0Rxb6TVfuzld/isD9Fx8XufV+wNkx0riZ30Vg== +"@material/density@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/density/-/density-15.0.0-canary.684e33d25.0.tgz#9af1ea0e8942341f76f032d42a4cd132050a007e" + integrity sha512-661yEVRMGrlq6S6WuSbPRO+ZwpdUOg2glCc7y96doM6itSLOa3UEAldjOLfsYZVB74GnKCiuDp//QmfoRyYTfA== dependencies: tslib "^2.1.0" -"@material/dialog@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.fd95ca7ef.0.tgz#6ebe0a953adf1fdce211644c2faa66df371978c5" - integrity sha512-szjN6QewCVN3ucnZSjfolDlUZdk5smmNRhX4RnF/OTF/6n41D3iHFTVNws10idWzBC3zZX1L9ZY910nsYy5xHA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/button" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/dialog@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/dialog/-/dialog-15.0.0-canary.684e33d25.0.tgz#141164d6bdbf542f7224b172df40a79f2e562aa8" + integrity sha512-szn0dHnfeQTSOC6SSRSGAzX6Tnx+4NnSMUwNkXm+3bwjds8ZVK26+DXwLrP5f3ID5F1K5sFsRf2INo5/TNTHyQ== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/button" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/icon-button" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/dom@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.fd95ca7ef.0.tgz#443a73780d4b2eeb6f3f9406fc98fe0f49974dc8" - integrity sha512-+JjOY81x3d3TlwCztSr4BRxUeEHcg5kwtlbT9Zy/UgdqNStrlTCMeTzRyLNifFnztFzoaWIc6MtF3rLelA/k6Q== +"@material/dom@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-15.0.0-canary.684e33d25.0.tgz#1487f4a0187aa8fb12819533537218888c2594eb" + integrity sha512-7pEJLYov+tGgfuD8mZxoVU6rWtPI8ppjTAhz+F27Hz9FG0JETMWTKpDPBXLnKvX7vhIxL83GvZ9geNHCe8Hfog== dependencies: - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/drawer@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.fd95ca7ef.0.tgz#898286feda2430a31eb4b13737791bc09dc7649a" - integrity sha512-cRSHHU03Q502iJr0iEQFYEhdsIC+Gms43qXmAnjLFUs1EPDxlf/tKiJnvQX6QI03Z5PBoiArCRFjd3/uTvp2KA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/list" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/drawer@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/drawer/-/drawer-15.0.0-canary.684e33d25.0.tgz#c56dc67a441030cb4cdef2030309d34c1d5266cc" + integrity sha512-/KMckLf1PYU/H3PXnS4e0aFl03qG3JlSv4LGgX6juJufcONqGTl/m63EMO/L/eUy6H1CRrXmVDjik/jzHLyDhg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/list" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/elevation@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.fd95ca7ef.0.tgz#ca703ef393c205fbc6134a21bb715cf494ab0622" - integrity sha512-16UkRgq3weby4XaUnL1sUNdRnHgcqBEzCH8bF3JdrrnwqdH/PW74oH+MsXEVctbEsIR8s6rzldcD/0Wqlr/gnQ== +"@material/elevation@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-15.0.0-canary.684e33d25.0.tgz#99ad187917d06a8480f780089d254864589c7d05" + integrity sha512-WDF8SsRtq3rXUbVVbd9K4DUijIPH0bUFSOreVYxudpuxAfTlDS5+aeS1EK9UIBFYLuba4u5wVT2tDv6e1RTfrQ== dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/fab@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.fd95ca7ef.0.tgz#0cbc83289e1ee3729f09cf584bd0823f9baee236" - integrity sha512-f6RiL76LnjNchF8FscPVOwx/q7QL8pmE+He0oT/OWWF0BK88V7ZOjNgItR1dJAXvl0fkh9LssPNkmxtHubH79Q== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/fab@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/fab/-/fab-15.0.0-canary.684e33d25.0.tgz#12033d67712a04d25cb46e1646155a1a922e3cb8" + integrity sha512-KCu87rWOKEAe9vZcAm6K8XazYSWPNjMG+OhrbPjHW6bCO7as1YCgtmkBkhff7csY/rFmcVpIy884xtUfLmSudQ== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/feature-targeting@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.fd95ca7ef.0.tgz#9233fe549eeb28a32614845e2ca65cebb966cc49" - integrity sha512-Mv1BXAOhbkvwFYPU2DdiVe45Sy5JKgU5aHdkKzOu5LwyirejwvsDMnmqt22no2Q6qbh0vYeAwpdMEUWUt5JvYg== +"@material/feature-targeting@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-15.0.0-canary.684e33d25.0.tgz#73247e0bcd25b0313a6f783ce8d0db3eb1d9b27a" + integrity sha512-HyH1erNTSjS63sigNSUMaCd0nJhTNdDFeC+myrxwtDaQm+uYJ8troCNtQM3g6mx0XATNtX5aTOoPmrM6yVVi1A== dependencies: tslib "^2.1.0" -"@material/floating-label@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.fd95ca7ef.0.tgz#d1232a30d8a2d934f9d7e7a3a1b0a531df0d703a" - integrity sha512-/kJMw+HJHza7BDzfqOMTmKK1MLeN3rD5tv0O+sM9zPlgsVNWIXDjQp/nWP+muqoxY4VZary9WPkz9gq0HMkKbg== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/floating-label@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-15.0.0-canary.684e33d25.0.tgz#69565b508f4e9d19a9be589ccf495596c8102a07" + integrity sha512-f7TPp6bKpGvV3sYYiZHSGlrixXKkXXITW3Esp7KB9jRq42c0H82novmdwvY0eTef4ootmA2JEysr78KQfHBUPg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/focus-ring@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.fd95ca7ef.0.tgz#1e6532bcf7161bb444d3ad5e40decc538d708879" - integrity sha512-xhpcqd70vSgUZFZJ2RHKoJkvEKhtg9sOehkd+MRRmm0JmDPSPFcJHEzRB1B99XVDhNWhculbMYH7Gtw+yu6C/g== - dependencies: - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - -"@material/form-field@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.fd95ca7ef.0.tgz#d950cecf861af80e15cb965efdfb8032db89df35" - integrity sha512-sWXmwxjfihJbv+O43dseY5Tp/i5IAa9l7D2W6guqavrdkUvUgPO4sHXqyBpd3IGaUgtI0wxgWc7kdShbjeyblw== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/focus-ring@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/focus-ring/-/focus-ring-15.0.0-canary.684e33d25.0.tgz#e47985e7a8b6a696db2354670a427a4fd34f30a5" + integrity sha512-ikw2RVUfgzXChpWIzPH1VzRvTjYb5ZKj4H+CZf7jqPUXMstFOZg90Bp7ARLZHqYiyNMuUq3zUTHozS6iHorSqg== + dependencies: + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + +"@material/form-field@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-15.0.0-canary.684e33d25.0.tgz#033930402e9766c2c6249caa6e1295557af61a36" + integrity sha512-vpF9N/uq5no/7+8GAbEH0868FhOuBgxAWRr1Sfb+jthKfBr8OS/wPU/AHzZHdHdAm7PQynbeOXfDsX2dI//PDA== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/icon-button@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.fd95ca7ef.0.tgz#425d52a4353c679e6b328351da485e33a3c30f00" - integrity sha512-cMFLVP2QruX4deWrVZ0YuQoykY1gIHcijgkJdzuwCSLhsWPvdEeNTWEifz1mVchIJdZNqLbTtYpevM+gSH6Fxg== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" +"@material/icon-button@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/icon-button/-/icon-button-15.0.0-canary.684e33d25.0.tgz#b1f1adba5f2947c3bb31795df2921fa2e7d1f862" + integrity sha512-wMI+XGzmIN/o2ePBKg2hLyx7H4pXCRAyyIKMQS1FMp1UKa2tYmiHVX/V8skhKwCqxg3i6Ls/LxMjfPxTR18WvQ== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/image-list@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.fd95ca7ef.0.tgz#1822f7cba658fe5a451a29406f7c5cafaae6cd14" - integrity sha512-wd+9m5crO7xBoi8/n6OknGA0KiwxDhPAX8dvkc6dM2plSUwa4HNKfjHQiBPaGCiHsO6v5MWZg2uYSheh2Mgw/w== +"@material/image-list@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/image-list/-/image-list-15.0.0-canary.684e33d25.0.tgz#d137369feea3011287906a6291784d692e701cdd" + integrity sha512-Ol+uaHYBe5R/cgzlfh5ONnMVX0wO6fV74JMUcQCQlxP6lXau/edARo4tkRc7A7UJUkU3VRv0EpEjLoCRNUPGaA== dependencies: - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/layout-grid@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.fd95ca7ef.0.tgz#8a64e5a223590f50f37c02b0a62e01f7d7396eeb" - integrity sha512-ye2uJ9bjzl1YUwWsuy7OyQagYs0f+RbRC/EMX4Q8TJyk3FnVdqhDBsKcIjPB4ncx7KGG3QW62/MQlqFehx09lw== +"@material/layout-grid@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/layout-grid/-/layout-grid-15.0.0-canary.684e33d25.0.tgz#4c9f3c2eee650f4ef2971a4c0facf7c7bc21f5f0" + integrity sha512-ALXE1mqFNb/RB2lVRQ3/r1Aufw2mFZnOjRE+boYDVepmAG/xWyPCyaGoavELJF5l4GAb0tXi8wA/8HeGbLOpuA== dependencies: tslib "^2.1.0" -"@material/line-ripple@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.fd95ca7ef.0.tgz#bcfb1bb4061f2dfb52cdcf242d1963470db81fd9" - integrity sha512-a5pmIjv0p7v85xNkbXCJFnQqrWVHucyCmXTVj5iJlR1vsqyUR6WN3vJ6F7yFJOhDMEYXZlqSvcTbZCTibR62IQ== +"@material/line-ripple@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-15.0.0-canary.684e33d25.0.tgz#df4601a780dae919ffb9d2bec05fa189238c9d67" + integrity sha512-7hRx8C/e9i0P6pgQpNOMfTwSS2r1fwEvBL72QDVGLtLuoKKwsjjgP6Z0Jat/GeHJe87u9LQvGBoD4upt+of/HA== dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/linear-progress@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.fd95ca7ef.0.tgz#43ca1ddd567762f2431e0e244aab89a35fe571f7" - integrity sha512-Qxjhnia8Yy4VgJlLJgcUD1rcItAmyCYELQxrHhyB0mzmAYwYWgMGoDb+mWqHHKTWXPT1gsJHVmJ9bDq2ZH0JNA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/progress-indicator" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" +"@material/linear-progress@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/linear-progress/-/linear-progress-15.0.0-canary.684e33d25.0.tgz#7093199c8bb946bc15b677c968a43f8f032f546f" + integrity sha512-iJclt7mKmcMk6pqD7ocXKfCWZhqBoODp7N593jYlxVpTJuEz2wiVAjZUDn/YGj/Uz3CRH+2YFfOiLr9pwWjhDg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/progress-indicator" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/list@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.fd95ca7ef.0.tgz#08532265403c3b3d63040d31d9023d04c359e75c" - integrity sha512-/MqMEidpTA/RSzdUirDSxp0BdUM3D8I1D79EXTopjLROtuqU3rKAGIuXfZopPV7t0j3vBXBLW3cv96iEAkN/pw== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/list@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/list/-/list-15.0.0-canary.684e33d25.0.tgz#2f12ac6250f9da19843ed122f3c6d87ca403dbc1" + integrity sha512-rQ+FCSdzmwTcT00IYE0uRV3CS4oGSccKFl9hkcF+aHFW61L7ORh/SCGUDPrEfQFrFkMn5f8qroVJjpUAMXBz4g== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/menu-surface@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.fd95ca7ef.0.tgz#d3f6ab85a2f872ee78b4843ff897c26f25325270" - integrity sha512-6jLY+JCcfGJKTEOKLztyp5VW1Y0Hnj6mkei6poAIZfRO6TTRE4qsdm5Yrlpo3XyRITBZYjS3M7jwz0n2naDMzQ== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" +"@material/menu-surface@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-15.0.0-canary.684e33d25.0.tgz#c397ec61703a1e6b24ce2751e959b5526c909ba9" + integrity sha512-RVO5GAYcfWPaKwxsF/NhUAmrYXQCQBKvRQW0TIlbmAJz6lcFeTs6YZqF3u1C7qrL3ZQGz+sur/7ywj6QU0oMow== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/menu@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.fd95ca7ef.0.tgz#0f6f6ff7fda017c493716b0b8488e8ed14fd2458" - integrity sha512-mJ7RNZxUeHnlv/XKwOOGbyekU0blKhUo/0d0mDHi0//VVsjZbiD1wbL2lgtQoUUwvwMxtrDE0v0/OF0AQ1unqg== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/list" "15.0.0-canary.fd95ca7ef.0" - "@material/menu-surface" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" +"@material/menu@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/menu/-/menu-15.0.0-canary.684e33d25.0.tgz#1fca04a5baa2514e850db82a218ebcc65ed8c0fe" + integrity sha512-r7wzDLSGSI9629/mfpvsMzkVxpmV75kcD3IrW0Pcu6/Bv/1xi0EvjcUXzNJJoQlwN4Zj35Ymz/PCjZkIDIz68Q== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/list" "15.0.0-canary.684e33d25.0" + "@material/menu-surface" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/notched-outline@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.fd95ca7ef.0.tgz#495eee716e3045154725c8cbc951acf9cf2338bb" - integrity sha512-pZbDnLBNPIi/2zHzrjx92wmW77mibBrEZMyEa2ir6WfeumJY4fEgfRYiixfvwg7qBDoCAz9eNxA2aPO4ngJ0Jw== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" +"@material/notched-outline@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-15.0.0-canary.684e33d25.0.tgz#c18b48d8a9d5153717e1dcb13ac51fcec8ca8489" + integrity sha512-9YHcBkvJLPVYzkHcWoTpBZAFrEd+j1hjhGxLhh0LuNrZe8VroUkZD1TTnUAPHRG3os6EqEWWaKb0RN+aPIF2yQ== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/floating-label" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/progress-indicator@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.fd95ca7ef.0.tgz#1580821946b8be279c42b117be4e51fbc4b7f06b" - integrity sha512-BrQ3ngFdf6Ig/lpuqAMKwOvjHXy4uiIij45ASFgF0RbVphSdKmzuZVgDZoibcCL4kbhP5CGc5G8kbpOIdmWXHA== +"@material/progress-indicator@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/progress-indicator/-/progress-indicator-15.0.0-canary.684e33d25.0.tgz#260f87b3c300d917c84d610477c6dfa8fafcbf1a" + integrity sha512-c0icji4faeNWUoqGENGC7Hav0Puxh0RwXIDVizffaUxKIGbajpIp5+4Zop73fK/xFLGMB/npg7TbP+aCGjQ3fw== dependencies: tslib "^2.1.0" -"@material/radio@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.fd95ca7ef.0.tgz#ac54c044a07c1bca1ab4974d53f86bd46b154e7f" - integrity sha512-DY0ypAxKpCBtZ2C79iPOvnXZc25OdRtc8qEHHydvNnzm1OJv56vPUvOBVhxFZj5xr4OWcAMwLZF+HiGGwZ1HgA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" +"@material/radio@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/radio/-/radio-15.0.0-canary.684e33d25.0.tgz#7a2846124c1e78d6a513aee8ca3bafbe3ffcf1a9" + integrity sha512-U3Eh8sNUA8trDla1Bq8Bo02foxYvtoewaKeF8A8tAju81XZ4jRiftfOsOWZDZEHCVbbCB2QwvutvFlnay5n+Aw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/ripple@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.fd95ca7ef.0.tgz#1ece70194e53cd1f50c00ad5081a3f2abc9343a6" - integrity sha512-md5MGooh3z4NnMXUuFtmiuJk30+MEm9Qns40qus7MUFQDVJ8/nLefwp3HgJQvxkwIB6WKUWaVN7K4KPo5lO0FA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" +"@material/ripple@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-15.0.0-canary.684e33d25.0.tgz#1adb32e4f6dacbb9e65d26fb1a6194f25e8db6f0" + integrity sha512-RyePu7SjIm/OuyyEieZ/gxiPYkNZOZHeid72WRcN9ofdlljj2pifcdPvcfZA+v/DMS33xo5GjG2L/Qj6ClWrKw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/rtl@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.fd95ca7ef.0.tgz#3a242565c5684bf3b602dc43d09e3657f6007b97" - integrity sha512-PuPdboompahdk37OXo8osyAZFOXhmMncq/PrgFNKzBSYjFCRuxYP2JzhFT90ytRUClB9Vso5DCLTX2xun1qAwA== +"@material/rtl@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-15.0.0-canary.684e33d25.0.tgz#89f69a1ec2c9cc9054d38a778b5acd8346d69385" + integrity sha512-NqdJl8Ayupp1Th+vCNCpVQHbUFOuF7TCte9LD1norTIBUF/QizIxWby2W5uUEiPbnh5j9PmE1CJtfLwKun3pcw== dependencies: - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/segmented-button@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.fd95ca7ef.0.tgz#9a4606d6279b8d5d2d52288ab0f614f0a28c0ef4" - integrity sha512-dn5VvyWnLVUo0x9CeFNrwV+NC896Ha9+jbHwMvJ44oaNorVf8OQHQDDPSj2d2Pjox3BCdf+FUU7Bx7f6cwU+XQ== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/touch-target" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/segmented-button@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/segmented-button/-/segmented-button-15.0.0-canary.684e33d25.0.tgz#1ea1409ca726f0a647670314fad408bc6a580241" + integrity sha512-bEGgg8vgXNLyukyV8HRjFMuQ6t6nm5LQ4Pgm22um61Yc8qyi0BOqV41OR4SVdUrUqZxh1aVD+p+4NN03+LfQXw== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/touch-target" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/select@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.fd95ca7ef.0.tgz#b8c63c829ca601843a47b49a84cd7e379bf662c1" - integrity sha512-8GcR11MOXR2EESTIUhm3wY3MSegBSBZ1vfo1KZEFRu75v4QfZAfrr3HF05zQoWaT6GvtAPXcKh3vwmkJSXDs6Q== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" - "@material/line-ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/list" "15.0.0-canary.fd95ca7ef.0" - "@material/menu" "15.0.0-canary.fd95ca7ef.0" - "@material/menu-surface" "15.0.0-canary.fd95ca7ef.0" - "@material/notched-outline" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/select@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/select/-/select-15.0.0-canary.684e33d25.0.tgz#e5e2feef48fed1314509ec5f206b311d2617ed6f" + integrity sha512-kf178/2TeEinTv0mgmSBcmmExQ2h7a7dtR1E3WuqQgisJ/R6+zVLMkC2CnfIyzxYX2vkuUTG0ue3Reh/6XiqSg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/floating-label" "15.0.0-canary.684e33d25.0" + "@material/line-ripple" "15.0.0-canary.684e33d25.0" + "@material/list" "15.0.0-canary.684e33d25.0" + "@material/menu" "15.0.0-canary.684e33d25.0" + "@material/menu-surface" "15.0.0-canary.684e33d25.0" + "@material/notched-outline" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/shape@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.fd95ca7ef.0.tgz#61a84745f21955bc95ef1de008db89fc3b1fdf92" - integrity sha512-+nJg/Pv8I9ZT1c3d4b0ZJp66HzLO25DEKWqmyyzifHsuwLK0u9eeN02UguMXqNvPIBPsR2fciwBgJNcuEv+WGA== +"@material/shape@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-15.0.0-canary.684e33d25.0.tgz#3e2ac86b9bff64a87c145d46178baca51e6cc99f" + integrity sha512-aEelpaTFmpnCji3TUGP9bVCS/bRVjUmLTHBPZtuu1gOrUVVtJ6kYOg73dZNJF+XOoNL2yOX/LRcKwsop29tptA== dependencies: - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/slider@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.fd95ca7ef.0.tgz#34948bf57d2381c53c76616b1dab8c4edad0eeba" - integrity sha512-W8yBQrKfOjFD/cZWn543L0JjFBsPAyRMHkQzN0qw89AAR/SK4cw3b6sRoJqEHIPY6aZDWBYW1bESi09WM4lpZA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/slider@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/slider/-/slider-15.0.0-canary.684e33d25.0.tgz#262bef7c33648a5381390c6df751adc3f5675c0d" + integrity sha512-WVyK+2pSNSZmj07M2K/a3TADoQ9FBCndfNC/vE7/wGIg4dddJJK5KvQ+yruf9R2cSzTL/S1sZ5WpyyeM8E9HTw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/snackbar@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.fd95ca7ef.0.tgz#e888b8cb29c3a6c13ccbfa686eebdfc0331ef075" - integrity sha512-bIf0Je1aMYSlkqfceVViJGWWX/BAqzAhiBVvurvKdRoBTezMrAqEimjQOXu4O2fHiLHmKEsO7c0B3dpobM2fmA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/button" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/icon-button" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/snackbar@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/snackbar/-/snackbar-15.0.0-canary.684e33d25.0.tgz#43734efbe42905c91c773cc95bfb9087c7e162c7" + integrity sha512-itO+DCkOannZzR1/cCHcqAm7ifhuFvXmDItNoA8qLEcAyJDJJRkhpwj3XQ01yuo9gBFcSctp7Txt7e+Hncm/Jg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/button" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/icon-button" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/switch@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.fd95ca7ef.0.tgz#7f8c4429df51e01dbb261a118a0467e842b0132c" - integrity sha512-skiw+HbrUh9qh1x8Jl1hNdmzqwPKzHnvJayHC7o6M4HXpIkcBFtvYrUXUc5/XQ9cqd2Nyh7i74aDGlp47fa5fQ== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" +"@material/switch@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/switch/-/switch-15.0.0-canary.684e33d25.0.tgz#cd10b954efc49197bd1beec279c23cf26b96eb03" + integrity sha512-Jxi0gl92yvvZZsAPxvVHzXx2ga+T/djMow98jvEczmpUorWnAhgiCr9CsSSRoosahWyRB8NLZOxUQrACxvffjw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/tab-bar@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.fd95ca7ef.0.tgz#5997a0161773839ca4e9c11526af627add5bba67" - integrity sha512-URYYOwzoRiJJtqdgufl6dNUJphdLgrmfW0e9YvSJlusfAx6SsmbTykTvrRshVRZuoJSsyAAHPHxRY747gmjd8w== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/tab" "15.0.0-canary.fd95ca7ef.0" - "@material/tab-indicator" "15.0.0-canary.fd95ca7ef.0" - "@material/tab-scroller" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/tab-bar@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/tab-bar/-/tab-bar-15.0.0-canary.684e33d25.0.tgz#621ca40d8ed36bf7213074c5737640ce49984480" + integrity sha512-SW/cMaDsIGGkM1ag3A7GJRlmr8eXmObWsvitQJzh6Azr5zzZtSI+GQygkMesAEE1gbpqOVN8d40rh3H7VVIAcA== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/tab" "15.0.0-canary.684e33d25.0" + "@material/tab-indicator" "15.0.0-canary.684e33d25.0" + "@material/tab-scroller" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/tab-indicator@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.fd95ca7ef.0.tgz#3c5e59e331d8c740b995ce2404ad3f10b26a7ae4" - integrity sha512-59HZhI2VNhxL1j8yNhu+wt8X2d2lLfMSpng2plf5LXSXnuowzSA+SxL3xvU5SeRg9ovrREH0udEgD7ob0ktmQQ== +"@material/tab-indicator@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/tab-indicator/-/tab-indicator-15.0.0-canary.684e33d25.0.tgz#305c4461a45394619c9f89efca616816d21035b1" + integrity sha512-kKICqSPqOlaf0lzaFFCmuOqPXJC+cK48Qmsc+m5o6fJhkmuZRCYpIwB2JeP+uZSOq/bTH+SrPtCtnVlgWg6ksA== dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/tab-scroller@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.fd95ca7ef.0.tgz#f12b1a21e59572e5faa64ed8b4dbf330bc2e10ce" - integrity sha512-xb/o8MOw5gHCwlCr9gA2Z7pRrqjYIxj+6a62PMe75h9avm5kHG+h38LbdaNIjPpCeNbvhpoPRUUpAMAyHHcuGA== +"@material/tab-scroller@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/tab-scroller/-/tab-scroller-15.0.0-canary.684e33d25.0.tgz#ffe730dcca4fa1831fb541e9cdee9c566fff14ab" + integrity sha512-H6EU/TSiK/M2DyyORX5GEtXD9rKYxTMHC2VxsNWARPMFJGzgeW2ugYkFv+rKI1/c0bs0CJ4e+qFnOlBsQXZvyQ== dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/tab" "15.0.0-canary.fd95ca7ef.0" + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/tab" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/tab@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.fd95ca7ef.0.tgz#2bcdb89da6ad59a427592228459a8e713691cd5e" - integrity sha512-pv1qil6xu2e07cAptSd8i/ejYd+nSEzgg6/p+1AXZewlqdq3eHmufXvhZOw7FajIm/nwlRKyuChSPhlPYt+rNg== - dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/focus-ring" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/tab-indicator" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/tab@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/tab/-/tab-15.0.0-canary.684e33d25.0.tgz#73b12b8e6916b1d0befc7dd64f0f43ae45ea2f20" + integrity sha512-WQL3wj9syHNcfe8KbgGGUcA34M8C/xZ+n0Fkkh8Kk6puVwaU+xqUNihsxPY6YzKpmh4PZ4oJaBdiN8zvFT1zqQ== + dependencies: + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/focus-ring" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/tab-indicator" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/textfield@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.fd95ca7ef.0.tgz#4acdd0f7308be87e852e37bea49a6a6919b4d25d" - integrity sha512-Tk9Ck9vnHQXGjTky6Pl3W0BYmsHa4yXfTZrtrveA3R9Ix/f1LxcVR/4o39i5VMIZQNIXlAVa1hIRgjpEcx3VtA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/density" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/floating-label" "15.0.0-canary.fd95ca7ef.0" - "@material/line-ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/notched-outline" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/textfield@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-15.0.0-canary.684e33d25.0.tgz#ae3dcca57aa80a81a1fec6ae88877f6274d9ab6d" + integrity sha512-OvgpDXjvpyJTtAWskO69IDybFvDNzr9w2PN/Fk7yFm+uNVupaWz1Ew8lZ4gGslaTNSVmh2XcsvmzxcLINSiiNg== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/density" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/floating-label" "15.0.0-canary.684e33d25.0" + "@material/line-ripple" "15.0.0-canary.684e33d25.0" + "@material/notched-outline" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/theme@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.fd95ca7ef.0.tgz#6c2afc34cf8b8aa804ecdf6af3dca30991f0551c" - integrity sha512-Ho0DWUZ/JZ+NkzgdJGc5QHarTOcaqm0RnibAW/y+0BgQCgVYNQHbQ2oZjqr2u+pCOC9n2T7GVdvm4z+0xF312Q== +"@material/theme@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-15.0.0-canary.684e33d25.0.tgz#0fa6faa4fbe6f17607e2313c826e5edfecce052a" + integrity sha512-AZxaXXAvRKzAi20RlMxzt2U5UmkCWyv7DMWEBXsxtG5Tk54mi1HsbVUp3fxDPTlmL7Pq8p1/DESg/o7TgRCVlw== dependencies: - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/tokens@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.fd95ca7ef.0.tgz#a44b6babb87ec393f8040947a65da459d3e7e2ff" - integrity sha512-N0KbJD9BwriCR2ZcUz3kgdM1lQYixqTSFe/kU+4mdAWBZhEsE8s6S6x3qzDatYLtLIKfGgWXyG+duHtoS5iFag== - dependencies: - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - -"@material/tooltip@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.fd95ca7ef.0.tgz#324d30345714fd6dbd2f3874cef7e2c5aee6e9d0" - integrity sha512-mbn/dBh8hYczaxds+e5MtmQ3Gd0frH9F0EAD6EQLKnuRirBrBQ6s5zhs/u7ta2wzG1pqCZTONjW8k+uZL+OpCA== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/button" "15.0.0-canary.fd95ca7ef.0" - "@material/dom" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/tokens" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/tokens@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-15.0.0-canary.684e33d25.0.tgz#ebfec227b7f1ed9db35227b199a24765d1882356" + integrity sha512-wVwbQOTCXDPKYPdHQHLr026y36MMFelID1CmbfRk6mSol4O8yE9U0fXcShfRDW8Qo5E3X31w9c2A6T3neJY7wQ== + dependencies: + "@material/elevation" "15.0.0-canary.684e33d25.0" + +"@material/tooltip@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/tooltip/-/tooltip-15.0.0-canary.684e33d25.0.tgz#981a20a010a7c41064f1a655f3f2482588585ed5" + integrity sha512-dtm26QjxyQdinc8btgz6yys07b7bUW4FZgNF2EBPeGrICrPg7jf+JEvDziz5g8VMaTBQLOQRSCGy0MKuRlOjLw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/button" "15.0.0-canary.684e33d25.0" + "@material/dom" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/tokens" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" safevalues "^0.3.4" tslib "^2.1.0" -"@material/top-app-bar@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.fd95ca7ef.0.tgz#d3d90d2d86a7fe8e941542f17cf1310e4a41cee3" - integrity sha512-ovVxOFL6/TXxjxr3IkA7Qvdy5DuhfN19BUJVbaFVwCFhnmOFEF549CKtM1TnxyExAggGVBIitwD0gK/Ao63FWg== - dependencies: - "@material/animation" "15.0.0-canary.fd95ca7ef.0" - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/elevation" "15.0.0-canary.fd95ca7ef.0" - "@material/ripple" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/shape" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" - "@material/typography" "15.0.0-canary.fd95ca7ef.0" +"@material/top-app-bar@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/top-app-bar/-/top-app-bar-15.0.0-canary.684e33d25.0.tgz#3f5084d6c1f7fbaa791f23ddabc8c13dd4548465" + integrity sha512-1M+oupUxflfW7u81P1XlxoLZB8bLzwtpKofIfDNRbEsiKhlLTERJR3Yak3BGE9xakNMysAaBHlkb5MrN5bNPFw== + dependencies: + "@material/animation" "15.0.0-canary.684e33d25.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/elevation" "15.0.0-canary.684e33d25.0" + "@material/ripple" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/shape" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" + "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/touch-target@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.fd95ca7ef.0.tgz#a45587e581ce8e17497259de73514002c434b1c7" - integrity sha512-0fjs8kDRws+W34zg6rTBgnqQFHvAZ1kp5be5wPA3e5Io5YIrRaD2APz9dofEfgNnSN/EoQQI/IAWwv+a4WbJRQ== +"@material/touch-target@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-15.0.0-canary.684e33d25.0.tgz#4fed9c020cbd8d813b8c01f8590652b7c719cba7" + integrity sha512-zdE69Slg8+T7sTn1OwqZ6H7WBYac9mxJ/JlJqfTqthzIjZRcCxBSYymQJcDHjsrPnUojOtr9U4Tpm5YZ96TEkQ== dependencies: - "@material/base" "15.0.0-canary.fd95ca7ef.0" - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/rtl" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/base" "15.0.0-canary.684e33d25.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/rtl" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@material/typography@15.0.0-canary.fd95ca7ef.0": - version "15.0.0-canary.fd95ca7ef.0" - resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.fd95ca7ef.0.tgz#2821d686018e26ae889df22074dfc6deee05e1e0" - integrity sha512-OihvVBCvb3R9sg197ZLRSZSQaAE4wzGiIDzpajibuxbuaHzOwcSNt782Kqz27xy5uBQ0r/iQb4SdU877NQfUXw== +"@material/typography@15.0.0-canary.684e33d25.0": + version "15.0.0-canary.684e33d25.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-15.0.0-canary.684e33d25.0.tgz#d2bd2cf9054206337b0b59a633e0dce8f8e3563b" + integrity sha512-aVnvgMwcfNa/K4wujzpKDIxjGl2hbkEL+m+OKDSQqWYjKcP9QrbzCXJruJBqxrBoPRHLbqo47k5f9uT8raSgjw== dependencies: - "@material/feature-targeting" "15.0.0-canary.fd95ca7ef.0" - "@material/theme" "15.0.0-canary.fd95ca7ef.0" + "@material/feature-targeting" "15.0.0-canary.684e33d25.0" + "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" "@microsoft/api-extractor-model@7.25.3": From 97907addfce1e630e71c186e836ab6a0ceec548b Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 20 Jan 2023 07:49:29 +0000 Subject: [PATCH 1297/1388] fix(@angular-devkit/build-angular): update browserslist config to include last 2 Chrome versions https://github.com/angular/angular/pull/48669 added support for the last 2 Chrome versions --- .../build_angular/src/utils/supported-browsers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts b/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts index 2aa537e8b2a1..0dbe083ca14a 100644 --- a/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts +++ b/packages/angular_devkit/build_angular/src/utils/supported-browsers.ts @@ -11,7 +11,7 @@ import browserslist from 'browserslist'; export function getSupportedBrowsers(projectRoot: string, logger: logging.LoggerApi): string[] { browserslist.defaults = [ - 'last 1 Chrome version', + 'last 2 Chrome versions', 'last 1 Firefox version', 'last 2 Edge major versions', 'last 2 Safari major versions', From 7b0c1ce0ca10bbb3a2099dc97f7d87afa07a2eef Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 20 Jan 2023 07:50:02 +0000 Subject: [PATCH 1298/1388] fix(@schematics/angular): update browserslist config to include last 2 Chrome version https://github.com/angular/angular/pull/48669 added support for the last 2 Chrome versions --- .../schematics/angular/config/files/.browserslistrc.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schematics/angular/config/files/.browserslistrc.template b/packages/schematics/angular/config/files/.browserslistrc.template index 4f9ac26980c1..e6f1183e778a 100644 --- a/packages/schematics/angular/config/files/.browserslistrc.template +++ b/packages/schematics/angular/config/files/.browserslistrc.template @@ -8,7 +8,7 @@ # You can see what browsers were selected by your queries by running: # npx browserslist -last 1 Chrome version +last 2 Chrome versions last 1 Firefox version last 2 Edge major versions last 2 Safari major versions From 983adbd6eb7073175e8e1622c26e989438d5480e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 20 Jan 2023 11:30:59 +0000 Subject: [PATCH 1299/1388] build: update `@types/yargs` to `^17.0.20` --- package.json | 2 +- packages/angular/cli/src/commands/generate/cli.ts | 15 +++++++++++---- yarn.lock | 11 ++++++++--- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index efd3c24cedbc..76d990816d7c 100644 --- a/package.json +++ b/package.json @@ -120,7 +120,7 @@ "@types/shelljs": "^0.8.11", "@types/tar": "^6.1.2", "@types/text-table": "^0.2.1", - "@types/yargs": "^17.0.8", + "@types/yargs": "^17.0.20", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", "@typescript-eslint/eslint-plugin": "5.48.2", diff --git a/packages/angular/cli/src/commands/generate/cli.ts b/packages/angular/cli/src/commands/generate/cli.ts index 2124f2333a25..c4029e5a7e1f 100644 --- a/packages/angular/cli/src/commands/generate/cli.ts +++ b/packages/angular/cli/src/commands/generate/cli.ts @@ -12,7 +12,7 @@ import { FileSystemCollectionDescription, FileSystemSchematicDescription, } from '@angular-devkit/schematics/tools'; -import { Argv } from 'yargs'; +import { ArgumentsCamelCase, Argv } from 'yargs'; import { CommandModuleError, CommandModuleImplementation, @@ -40,7 +40,7 @@ export class GenerateCommandModule longDescriptionPath?: string | undefined; override async builder(argv: Argv): Promise> { - let localYargs = (await super.builder(argv)).command({ + let localYargs = (await super.builder(argv)).command({ command: '$0 ', describe: 'Run the provided schematic.', builder: (localYargs) => @@ -51,7 +51,7 @@ export class GenerateCommandModule demandOption: true, }) .strict(), - handler: (options) => this.handler(options), + handler: (options) => this.handler(options as ArgumentsCamelCase), }); for (const [schematicName, collectionName] of await this.getSchematicsToRegister()) { @@ -88,7 +88,14 @@ export class GenerateCommandModule : undefined, builder: (localYargs) => this.addSchemaOptionsToCommand(localYargs, options).strict(), handler: (options) => - this.handler({ ...options, schematic: `${collectionName}:${schematicName}` }), + this.handler({ + ...options, + schematic: `${collectionName}:${schematicName}`, + } as ArgumentsCamelCase< + SchematicsCommandArgs & { + schematic: string; + } + >), }); } diff --git a/yarn.lock b/yarn.lock index 81ca5edeb6f7..b7450775687c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228": version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" - uid "5854dda71b14fd9032ca67125b902464ebb7b228" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" @@ -307,7 +306,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235": version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" - uid "9abd9ebd6280363e722044539d056804fe6f3235" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -3483,13 +3481,20 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== -"@types/yargs@^17.0.0", "@types/yargs@^17.0.8": +"@types/yargs@^17.0.0": version "17.0.19" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== dependencies: "@types/yargs-parser" "*" +"@types/yargs@^17.0.20": + version "17.0.20" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.20.tgz#107f0fcc13bd4a524e352b41c49fe88aab5c54d5" + integrity sha512-eknWrTHofQuPk2iuqDm1waA7V6xPlbgBoaaXEgYkClhLOnB0TtbW+srJaOToAgawPxPlHQzwypFA2bhZaUGP5A== + dependencies: + "@types/yargs-parser" "*" + "@types/yarnpkg__lockfile@^1.1.5": version "1.1.5" resolved "https://registry.yarnpkg.com/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz#9639020e1fb65120a2f4387db8f1e8b63efdf229" From a7d2bda57773f9bddd6a95a47fe7fa7c97dbef2a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 16 Jan 2023 09:52:26 +0000 Subject: [PATCH 1300/1388] build: update `quicktype-core` to `20.0.15` This commit updates `quicktype-core` to `20.0.15` and enables Renovate to update this. --- package.json | 2 +- .../cli/lib/config/workspace-schema.json | 4 +- renovate.json | 2 +- yarn.lock | 364 +++++------------- 4 files changed, 89 insertions(+), 283 deletions(-) diff --git a/package.json b/package.json index 76d990816d7c..3ddbc38c74d1 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "6.0.69", + "quicktype-core": "20.0.15", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.57.1", diff --git a/packages/angular/cli/lib/config/workspace-schema.json b/packages/angular/cli/lib/config/workspace-schema.json index 433fbea32501..a50caa1bd33d 100644 --- a/packages/angular/cli/lib/config/workspace-schema.json +++ b/packages/angular/cli/lib/config/workspace-schema.json @@ -193,9 +193,7 @@ "$ref": "../../../../schematics/angular/web-worker/schema.json" } }, - "additionalProperties": { - "type": "object" - } + "additionalProperties": true }, "fileVersion": { "type": "integer", diff --git a/renovate.json b/renovate.json index c06fd7d0a192..05957756c90f 100644 --- a/renovate.json +++ b/renovate.json @@ -12,7 +12,7 @@ "dependencyDashboard": true, "schedule": ["after 10:00pm every weekday", "before 4:00am every weekday", "every weekend"], "baseBranches": ["main"], - "ignoreDeps": ["@types/node", "quicktype-core"], + "ignoreDeps": ["@types/node"], "includePaths": [ "WORKSPACE", "package.json", diff --git a/yarn.lock b/yarn.lock index b7450775687c..9f7fb647b250 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1716,6 +1716,11 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@glideapps/ts-necessities@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@glideapps/ts-necessities/-/ts-necessities-2.1.2.tgz#bfa99d70893c48d6068997d70babec0f08edc879" + integrity sha512-tLjfhinr6doUBcWi7BWnkT2zT6G5UhiZftsiIH6xVvykeXE+FU7Wr0MyqwmqideWlDD5rG+VjVLptLviGo04CA== + "@humanwhocodes/config-array@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" @@ -1817,14 +1822,6 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@mark.probst/unicode-properties@~1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@mark.probst/unicode-properties/-/unicode-properties-1.1.0.tgz#5caafeab4737df93163d6d288007df33f9939b80" - integrity sha512-7AQsO0hMmpqDledV7AhBuSYqYPFsKP9PaltMecX9nlnsyFxqtsqUg9/pvB2L/jxvskrDrNkdKYz2KTbQznCtng== - dependencies: - brfs "^1.4.0" - unicode-trie "^0.3.0" - "@material/animation@15.0.0-canary.684e33d25.0": version "15.0.0-canary.684e33d25.0" resolved "https://registry.yarnpkg.com/@material/animation/-/animation-15.0.0-canary.684e33d25.0.tgz#d42ecdd31da5635ff5b44a53c6fc8746de7f5a5a" @@ -3443,6 +3440,11 @@ dependencies: source-map "^0.6.1" +"@types/urijs@^1.19.19": + version "1.19.19" + resolved "https://registry.yarnpkg.com/@types/urijs/-/urijs-1.19.19.tgz#2789369799907fc11e2bc6e3a00f6478c2281b95" + integrity sha512-FDJNkyhmKLw7uEvTxx5tSXfPeQpO0iy73Ry+PmYZJvQy0QIWX8a7kJ4kLWRf+EbTPJEPDSgPXHaM7pzr5lmvCg== + "@types/uuid@^9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.0.tgz#53ef263e5239728b56096b0a869595135b7952d2" @@ -3788,6 +3790,13 @@ abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -3811,11 +3820,6 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: version "8.8.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" @@ -4192,7 +4196,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.2.0, base64-js@^1.3.1: +base64-js@^1.2.0, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -4317,16 +4321,6 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brfs@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3" - integrity sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ== - dependencies: - quote-stream "^1.0.1" - resolve "^1.1.5" - static-module "^2.2.0" - through2 "^2.0.0" - browser-or-node@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-1.3.0.tgz#f2a4e8568f60263050a6714b2cc236bb976647a7" @@ -4428,11 +4422,6 @@ buffer-equal-constant-time@1.0.1: resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== -buffer-equal@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" - integrity sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA== - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -4446,6 +4435,14 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + builtin-modules@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" @@ -4840,16 +4837,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@~1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - connect-history-api-fallback@^1: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" @@ -5009,7 +4996,7 @@ cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-fetch@3.1.5: +cross-fetch@3.1.5, cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== @@ -5133,7 +5120,7 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -5339,13 +5326,6 @@ domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== - dependencies: - readable-stream "^2.0.2" - easy-extender@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.4.tgz#298789b64f9aaba62169c77a2b3b64b4c9589b8f" @@ -5400,7 +5380,7 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.11, encoding@^0.1.13: +encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -5734,30 +5714,6 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^1.11.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -escodegen@~1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" - integrity sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - eslint-config-prettier@8.6.0: version "8.6.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" @@ -5900,12 +5856,7 @@ espree@^9.4.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg== - -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -5924,7 +5875,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -5957,6 +5908,11 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + eventemitter-asyncresource@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz#734ff2e44bf448e627f7748f905d6bdd57bdb65b" @@ -5967,7 +5923,7 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0: +events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -6076,14 +6032,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== -falafel@^2.1.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.2.5.tgz#3ccb4970a09b094e9e54fead2deee64b4a589d56" - integrity sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ== - dependencies: - acorn "^7.1.1" - isarray "^2.0.1" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -6105,7 +6053,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== @@ -6682,7 +6630,7 @@ has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -6873,7 +6821,7 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -7234,11 +7182,6 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -7313,11 +7256,6 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -7338,14 +7276,6 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -isomorphic-fetch@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA== - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -7759,14 +7689,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - libnpmaccess@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" @@ -8080,13 +8002,6 @@ magic-string@0.27.0, magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -magic-string@^0.22.4: - version "0.22.5" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" - integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== - dependencies: - vlq "^0.2.2" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -8182,13 +8097,6 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== -merge-source-map@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" - integrity sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA== - dependencies: - source-map "^0.5.6" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -8301,7 +8209,7 @@ minimatch@~6.1.0: dependencies: brace-expansion "^2.0.1" -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== @@ -8550,14 +8458,6 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-fetch@^2.2.0: version "2.6.8" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" @@ -8922,11 +8822,6 @@ object-inspect@^1.12.2, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== -object-inspect@~1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" - integrity sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw== - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -9015,18 +8910,6 @@ opn@5.3.0: dependencies: is-wsl "^1.1.0" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -9491,11 +9374,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - prettier-bytes@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" @@ -9528,11 +9406,6 @@ proc-log@^3.0.0: resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -9543,6 +9416,11 @@ process-warning@^1.0.0: resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + progress@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -9727,32 +9605,26 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@6.0.69: - version "6.0.69" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-6.0.69.tgz#955347b64e8a7b6a37af49fe12f5772abc153b8e" - integrity sha512-wKQ+/fwgdtFOcbeRiZkIBLA2ajvrFvmtTmexdv7PlO1dyp3C7Irbn2/HjwzalD1dYFrtMEYWohB/4rr3Mg75Xw== +quicktype-core@20.0.15: + version "20.0.15" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-20.0.15.tgz#945c386449573559d45adeac5c6df1485c0ef06f" + integrity sha512-Y3mQKjV5+gF9H9i24QRS4i8GHsiwBfca/lYja0VKpf/JuFjG9Gy6J1wVGTXmZWOE83ds19VQnqQ8ehopTYIUbA== dependencies: - "@mark.probst/unicode-properties" "~1.1.0" + "@glideapps/ts-necessities" "2.1.2" + "@types/urijs" "^1.19.19" browser-or-node "^1.2.1" collection-utils "^1.0.1" + cross-fetch "^3.1.5" is-url "^1.2.4" - isomorphic-fetch "^2.2.1" js-base64 "^2.4.3" + lodash "^4.17.21" pako "^1.0.6" pluralize "^7.0.0" - readable-stream "2.3.0" + readable-stream "4.3.0" + unicode-properties "^1.4.1" urijs "^1.19.1" wordwrap "^1.0.0" - yaml "^1.5.0" - -quote-stream@^1.0.1, quote-stream@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" - integrity sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ== - dependencies: - buffer-equal "0.0.1" - minimist "^1.1.3" - through2 "^2.0.0" + yaml "^2.2.1" randombytes@^2.1.0: version "2.1.0" @@ -9848,20 +9720,17 @@ read@1, read@^1.0.7, read@~1.0.7: dependencies: mute-stream "~0.0.4" -readable-stream@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.0.tgz#640f5dcda88c91a8dc60787145629170813a1ed2" - integrity sha512-c7KMXGd4b48nN3OJ1U9qOsn6pXNzf6kLd3kdZCkg2sxAcoiufInqF0XckwEnlrcwuaYwonlNK8GQUIOC/WC7sg== +readable-stream@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba" + integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ== dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.0" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@~2.3.3, readable-stream@~2.3.6: +readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -10072,7 +9941,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: +resolve@1.22.1, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -10442,11 +10311,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shallow-copy@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" - integrity sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw== - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -10738,33 +10602,6 @@ ssri@^9.0.0, ssri@^9.0.1: dependencies: minipass "^3.1.1" -static-eval@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.1.0.tgz#a16dbe54522d7fa5ef1389129d813fd47b148014" - integrity sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw== - dependencies: - escodegen "^1.11.1" - -static-module@^2.2.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf" - integrity sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ== - dependencies: - concat-stream "~1.6.0" - convert-source-map "^1.5.1" - duplexer2 "~0.1.4" - escodegen "~1.9.0" - falafel "^2.1.0" - has "^1.0.1" - magic-string "^0.22.4" - merge-source-map "1.0.4" - object-inspect "~1.4.0" - quote-stream "~1.0.2" - readable-stream "~2.3.3" - shallow-copy "~0.0.1" - static-eval "^2.0.0" - through2 "~2.0.3" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -10848,13 +10685,6 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -string_decoder@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ== - dependencies: - safe-buffer "~5.1.0" - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -11013,14 +10843,6 @@ tfunk@^4.0.0: chalk "^1.1.3" dlv "^1.1.3" -through2@^2.0.0, through2@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -11203,13 +11025,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -11252,11 +11067,6 @@ typed-assert@^1.0.8: resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - typescript@4.9.4, typescript@^4.6.2, typescript@~4.9.0: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" @@ -11318,15 +11128,23 @@ unicode-match-property-value-ecmascript@^2.1.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== +unicode-properties@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unicode-properties/-/unicode-properties-1.4.1.tgz#96a9cffb7e619a0dc7368c28da27e05fc8f9be5f" + integrity sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg== + dependencies: + base64-js "^1.3.0" + unicode-trie "^2.0.0" + unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unicode-trie@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" - integrity sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q== +unicode-trie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-2.0.0.tgz#8fd8845696e2e14a8b67d78fa9e0dd2cad62fec8" + integrity sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ== dependencies: pako "^0.2.5" tiny-inflate "^1.0.0" @@ -11553,11 +11371,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vlq@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" - integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== - void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" @@ -11741,11 +11554,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-fetch@>=0.10.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -11815,7 +11623,7 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -word-wrap@^1.2.3, word-wrap@~1.2.3: +word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== @@ -11894,11 +11702,6 @@ xmlhttprequest-ssl@~2.0.0: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - xxhashjs@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" @@ -11926,11 +11729,16 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.5.0: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== + yargs-parser@21.1.1, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" From 8dabaaf3d1e84a56b19cb278d164ba4bdd90abf1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 20 Jan 2023 19:15:57 +0000 Subject: [PATCH 1301/1388] build: lock file maintenance --- yarn.lock | 99 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9f7fb647b250..87dbb15d1875 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,6 +121,7 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228": version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" + uid "5854dda71b14fd9032ca67125b902464ebb7b228" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228" dependencies: "@angular-devkit/build-angular" "15.1.0-rc.0" @@ -306,6 +307,7 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235": version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" + uid "9abd9ebd6280363e722044539d056804fe6f3235" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -3109,11 +3111,11 @@ "@types/serve-static" "*" "@types/glob@*", "@types/glob@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.0.tgz#321607e9cbaec54f687a0792b2d1d370739455d2" - integrity sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA== + version "8.0.1" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.1.tgz#6e3041640148b7764adf21ce5c7138ad454725b0" + integrity sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw== dependencies: - "@types/minimatch" "*" + "@types/minimatch" "^5.1.2" "@types/node" "*" "@types/http-proxy@^1.17.4", "@types/http-proxy@^1.17.8": @@ -3198,7 +3200,7 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@*", "@types/minimatch@5.1.2": +"@types/minimatch@5.1.2", "@types/minimatch@^5.1.2": version "5.1.2" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== @@ -3483,14 +3485,7 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== -"@types/yargs@^17.0.0": - version "17.0.19" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" - integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.20": +"@types/yargs@^17.0.0", "@types/yargs@^17.0.20": version "17.0.20" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.20.tgz#107f0fcc13bd4a524e352b41c49fe88aab5c54d5" integrity sha512-eknWrTHofQuPk2iuqDm1waA7V6xPlbgBoaaXEgYkClhLOnB0TtbW+srJaOToAgawPxPlHQzwypFA2bhZaUGP5A== @@ -4546,9 +4541,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001444" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001444.tgz#c0a530776eb44d933b493de1d05346f2527b30fc" - integrity sha512-ecER9xgJQVMqcrxThKptsW0pPxSae8R2RB87LNa+ivW9ppNWRHEplXcDzkCOP4LYWGj8hunXLqaiC41iBATNyg== + version "1.0.30001446" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz#6d4ba828ab19f49f9bcd14a8430d30feebf1e0c5" + integrity sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw== caseless@~0.12.0: version "0.12.0" @@ -4937,9 +4932,9 @@ copy-webpack-plugin@11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.25.1: - version "3.27.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.1.tgz#b5695eb25c602d72b1d30cbfba3cb7e5e4cf0a67" - integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== + version "3.27.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.2.tgz#607c50ad6db8fd8326af0b2883ebb987be3786da" + integrity sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg== dependencies: browserslist "^4.21.4" @@ -5406,9 +5401,9 @@ engine.io-client@~6.2.3: xmlhttprequest-ssl "~2.0.0" engine.io-parser@~5.0.3: - version "5.0.5" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.5.tgz#c6fa52e57d8d2dc68b24754348f779aa6e44f886" - integrity sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g== + version "5.0.6" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45" + integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw== engine.io@~6.2.1: version "6.2.1" @@ -6369,9 +6364,9 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -6428,7 +6423,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.3, glob@^8.0.1, glob@^8.0.3: +glob@8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== @@ -6439,7 +6434,7 @@ glob@8.0.3, glob@^8.0.1, glob@^8.0.3: minimatch "^5.0.1" once "^1.3.0" -glob@8.1.0: +glob@8.1.0, glob@^8.0.1, glob@^8.0.3: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -7395,9 +7390,9 @@ js-base64@^2.4.3: integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-sdsl@^4.1.4: - version "4.2.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" - integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== js-tokens@^4.0.0: version "4.0.0" @@ -7653,9 +7648,9 @@ kleur@4.1.5: integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== klona@^2.0.4, klona@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== less-loader@11.1.0: version "11.1.0" @@ -8189,9 +8184,9 @@ minimatch@5.1.1: brace-expansion "^2.0.1" minimatch@^5.0.1, minimatch@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" - integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" @@ -9379,11 +9374,16 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.8.2, prettier@^2.0.0: +prettier@2.8.2: version "2.8.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.2.tgz#c4ea1b5b454d7c4b59966db2e06ed7eec5dfd160" integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw== +prettier@^2.0.0: + version "2.8.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" + integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== + pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -9533,9 +9533,9 @@ punycode@^1.4.1: integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.2.0.tgz#2092cc57cd2582c38e4e7e8bb869dc8d3148bc74" - integrity sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw== + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== puppeteer-core@18.2.1: version "18.2.1" @@ -10023,9 +10023,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.10.0.tgz#6eb19196d8b3b375ca651cb78261faac48e24cd6" - integrity sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA== + version "3.10.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.10.1.tgz#56278901ed11fc2898421e8e3e2c8155bc7b40b4" + integrity sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw== optionalDependencies: fsevents "~2.3.2" @@ -10115,6 +10115,7 @@ sass@1.57.1, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -10240,9 +10241,9 @@ send@0.18.0, send@^0.18.0: statuses "2.0.1" serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== dependencies: randombytes "^2.1.0" @@ -10382,9 +10383,9 @@ socket.io-client@^4.4.1: socket.io-parser "~4.2.1" socket.io-parser@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" - integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== + version "4.2.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.2.tgz#1dd384019e25b7a3d374877f492ab34f2ad0d206" + integrity sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" From 89ab29901b68ea1a28bbf2ec08ecb5e1dc128fa8 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 20 Jan 2023 15:54:12 +0000 Subject: [PATCH 1302/1388] docs(@angular/cli): minor updates to `ng run` description Minor improvements of `ng run` docs --- packages/angular/cli/src/commands/run/cli.ts | 3 ++- .../cli/src/commands/run/long-description.md | 18 ++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/angular/cli/src/commands/run/cli.ts b/packages/angular/cli/src/commands/run/cli.ts index 46d0b9268929..de7c185e9f3d 100644 --- a/packages/angular/cli/src/commands/run/cli.ts +++ b/packages/angular/cli/src/commands/run/cli.ts @@ -38,7 +38,8 @@ export class RunCommandModule const localYargs: Argv = argv .positional('target', { - describe: 'The Architect target to run.', + describe: + 'The Architect target to run provided in the the following format `project:target[:configuration]`.', type: 'string', demandOption: true, // Show only in when using --help and auto completion because otherwise comma seperated configuration values will be invalid. diff --git a/packages/angular/cli/src/commands/run/long-description.md b/packages/angular/cli/src/commands/run/long-description.md index 65a307fcd771..e74f8756679d 100644 --- a/packages/angular/cli/src/commands/run/long-description.md +++ b/packages/angular/cli/src/commands/run/long-description.md @@ -1,16 +1,10 @@ Architect is the tool that the CLI uses to perform complex tasks such as compilation, according to provided configurations. The CLI commands run Architect targets such as `build`, `serve`, `test`, and `lint`. -Each named target has a default configuration, specified by an "options" object, -and an optional set of named alternate configurations in the "configurations" object. +Each named target has a default configuration, specified by an `options` object, +and an optional set of named alternate configurations in the `configurations` object. -For example, the "serve" target for a newly generated app has a predefined -alternate configuration named "production". +For example, the `serve` target for a newly generated app has a predefined +alternate configuration named `production`. -You can define new targets and their configuration options in the "architect" section -of the `angular.json` file. -If you do so, you can run them from the command line using the `ng run` command. -Execute the command using the following format. - -``` -ng run project:target[:configuration] -``` +You can define new targets and their configuration options in the `architect` section +of the `angular.json` file which you can run them from the command line using the `ng run` command. From fca2d0f5bc51e36b35c47b68848c865238bd164d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 24 Jan 2023 14:17:08 +0000 Subject: [PATCH 1303/1388] build: update dependency quicktype-core to v21 --- package.json | 2 +- yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 3ddbc38c74d1..9bb5b5b70c45 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "20.0.15", + "quicktype-core": "21.0.4", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.57.1", diff --git a/yarn.lock b/yarn.lock index 87dbb15d1875..f04d747ee22a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4316,10 +4316,10 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browser-or-node@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-1.3.0.tgz#f2a4e8568f60263050a6714b2cc236bb976647a7" - integrity sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg== +browser-or-node@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f" + integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== browser-sync-client@^2.27.11: version "2.27.11" @@ -9268,10 +9268,10 @@ pkginfo@0.4.1: resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" integrity sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ== -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== popper.js@^1.14.1: version "1.16.1" @@ -9605,21 +9605,21 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@20.0.15: - version "20.0.15" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-20.0.15.tgz#945c386449573559d45adeac5c6df1485c0ef06f" - integrity sha512-Y3mQKjV5+gF9H9i24QRS4i8GHsiwBfca/lYja0VKpf/JuFjG9Gy6J1wVGTXmZWOE83ds19VQnqQ8ehopTYIUbA== +quicktype-core@21.0.4: + version "21.0.4" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.4.tgz#df4c8920ac27b9a5a53ca54c9d388e8b1c80d2b6" + integrity sha512-JJiJ8dzBTh/l/gTNnVwKFx0g2A0CfLNzXlUxTHjdvyldXi/Jjckr+Z04calGXxlG8KunpE4G5vV+EtuFjoTIPQ== dependencies: "@glideapps/ts-necessities" "2.1.2" "@types/urijs" "^1.19.19" - browser-or-node "^1.2.1" + browser-or-node "^2.1.1" collection-utils "^1.0.1" cross-fetch "^3.1.5" is-url "^1.2.4" js-base64 "^2.4.3" lodash "^4.17.21" pako "^1.0.6" - pluralize "^7.0.0" + pluralize "^8.0.0" readable-stream "4.3.0" unicode-properties "^1.4.1" urijs "^1.19.1" From ecf43090d110f996f45a259c279f1b83dcab3fd8 Mon Sep 17 00:00:00 2001 From: Marvin <272077995@qq.com> Date: Wed, 25 Jan 2023 22:50:07 +0800 Subject: [PATCH 1304/1388] feat(@angular-devkit/schematics-cli): auto detect package manager (#24305) * feat(@angular-devkit/schematics-cli): auto detect package manager * refactor(@angular-devkit/schematics-cli): code formatting * refactor(@angular-devkit/schematics-cli): linting --- .../schematics_cli/bin/schematics.ts | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index af29ca118811..ea5a03ed6ba0 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -14,7 +14,9 @@ import { ProcessOutput, createConsoleLogger } from '@angular-devkit/core/node'; import { UnsuccessfulWorkflowExecution } from '@angular-devkit/schematics'; import { NodeWorkflow } from '@angular-devkit/schematics/tools'; import * as ansiColors from 'ansi-colors'; +import { existsSync } from 'fs'; import * as inquirer from 'inquirer'; +import * as path from 'path'; import yargsParser, { camelCase, decamelize } from 'yargs-parser'; /** @@ -108,6 +110,45 @@ function _createPromptProvider(): schema.PromptProvider { }; } +function findUp(names: string | string[], from: string) { + if (!Array.isArray(names)) { + names = [names]; + } + const root = path.parse(from).root; + + let currentDir = from; + while (currentDir && currentDir !== root) { + for (const name of names) { + const p = path.join(currentDir, name); + if (existsSync(p)) { + return p; + } + } + + currentDir = path.dirname(currentDir); + } + + return null; +} + +/** + * return package manager' name by lock file + */ +function getPackageManagerName() { + // order by check priority + const LOCKS: Record = { + 'package-lock.json': 'npm', + 'yarn.lock': 'yarn', + 'pnpm-lock.yaml': 'pnpm', + }; + const lockPath = findUp(Object.keys(LOCKS), process.cwd()); + if (lockPath) { + return LOCKS[path.basename(lockPath)]; + } + + return 'npm'; +} + // eslint-disable-next-line max-lines-per-function export async function main({ args, @@ -155,6 +196,7 @@ export async function main({ dryRun, resolvePaths: [process.cwd(), __dirname], schemaValidation: true, + packageManager: getPackageManagerName(), }); /** If the user wants to list schematics, we simply show all the schematic names. */ From 4164a09b2878ca61f14d7c48460d0048c898d2f2 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 24 Jan 2023 22:16:17 +0000 Subject: [PATCH 1305/1388] build: update all non-major dependencies --- package.json | 10 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 339 +++++++++--------- 3 files changed, 181 insertions(+), 174 deletions(-) diff --git a/package.json b/package.json index 9bb5b5b70c45..bafb4aed4d4f 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "@babel/plugin-transform-async-to-generator": "7.20.7", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.7", + "@babel/runtime": "7.20.13", "@babel/template": "7.20.7", "@bazel/bazelisk": "1.12.1", "@bazel/buildifier": "6.0.0", @@ -123,8 +123,8 @@ "@types/yargs": "^17.0.20", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.48.2", - "@typescript-eslint/parser": "5.48.2", + "@typescript-eslint/eslint-plugin": "5.49.0", + "@typescript-eslint/parser": "5.49.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.17.3", - "esbuild-wasm": "0.17.3", + "esbuild": "0.17.4", + "esbuild-wasm": "0.17.4", "eslint": "8.32.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e91cfbc8b2d7..ac3aae77afeb 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -17,7 +17,7 @@ "@babel/plugin-transform-async-to-generator": "7.20.7", "@babel/plugin-transform-runtime": "7.19.6", "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.7", + "@babel/runtime": "7.20.13", "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", "@ngtools/webpack": "0.0.0-PLACEHOLDER", @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.17.3", + "esbuild-wasm": "0.17.4", "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.17.3" + "esbuild": "0.17.4" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/yarn.lock b/yarn.lock index f04d747ee22a..cb66c7e3a3f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1241,6 +1241,13 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/runtime@7.20.13": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" + integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== + dependencies: + regenerator-runtime "^0.13.11" + "@babel/runtime@7.20.7", "@babel/runtime@^7.8.4": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" @@ -1378,10 +1385,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== -"@esbuild/android-arm64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.3.tgz#35d045f69c9b4cf3f8efcd1ced24a560213d3346" - integrity sha512-XvJsYo3dO3Pi4kpalkyMvfQsjxPWHYjoX4MDiB/FUM4YMfWcXa5l4VCwFWVYI1+92yxqjuqrhNg0CZg3gSouyQ== +"@esbuild/android-arm64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.4.tgz#0a900a7e448cc038ae5a751255257fc67163ed32" + integrity sha512-91VwDrl4EpxBCiG6h2LZZEkuNvVZYJkv2T9gyLG/mhGG1qrM7i5SwUcg/hlSPnL/4hDT0TFcF35/XMGSn0bemg== "@esbuild/android-arm@0.16.14": version "0.16.14" @@ -1393,10 +1400,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== -"@esbuild/android-arm@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.3.tgz#4986d26306a7440078d42b3bf580d186ef714286" - integrity sha512-1Mlz934GvbgdDmt26rTLmf03cAgLg5HyOgJN+ZGCeP3Q9ynYTNMn2/LQxIl7Uy+o4K6Rfi2OuLsr12JQQR8gNg== +"@esbuild/android-arm@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.4.tgz#fe32ce82eb6064d3dc13c0d8ca0e440bbc776c93" + integrity sha512-R9GCe2xl2XDSc2XbQB63mFiFXHIVkOP+ltIxICKXqUPrFX97z6Z7vONCLQM1pSOLGqfLrGi3B7nbhxmFY/fomg== "@esbuild/android-x64@0.16.14": version "0.16.14" @@ -1408,10 +1415,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== -"@esbuild/android-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.3.tgz#a1928cd681e4055103384103c8bd34df7b9c7b19" - integrity sha512-nuV2CmLS07Gqh5/GrZLuqkU9Bm6H6vcCspM+zjp9TdQlxJtIe+qqEXQChmfc7nWdyr/yz3h45Utk1tUn8Cz5+A== +"@esbuild/android-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.4.tgz#6ae1056f6ecf1963c1d076cf5f0109b52d8049f6" + integrity sha512-mGSqhEPL7029XL7QHNPxPs15JVa02hvZvysUcyMP9UXdGFwncl2WU0bqx+Ysgzd+WAbv8rfNa73QveOxAnAM2w== "@esbuild/darwin-arm64@0.16.14": version "0.16.14" @@ -1423,10 +1430,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== -"@esbuild/darwin-arm64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.3.tgz#e4af2b392e5606a4808d3a78a99d38c27af39f1d" - integrity sha512-01Hxaaat6m0Xp9AXGM8mjFtqqwDjzlMP0eQq9zll9U85ttVALGCGDuEvra5Feu/NbP5AEP1MaopPwzsTcUq1cw== +"@esbuild/darwin-arm64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.4.tgz#5064d81ee5b8d646a5b7cc3e53c98cb983c4af55" + integrity sha512-tTyJRM9dHvlMPt1KrBFVB5OW1kXOsRNvAPtbzoKazd5RhD5/wKlXk1qR2MpaZRYwf4WDMadt0Pv0GwxB41CVow== "@esbuild/darwin-x64@0.16.14": version "0.16.14" @@ -1438,10 +1445,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== -"@esbuild/darwin-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.3.tgz#cbcbfb32c8d5c86953f215b48384287530c5a38e" - integrity sha512-Eo2gq0Q/er2muf8Z83X21UFoB7EU6/m3GNKvrhACJkjVThd0uA+8RfKpfNhuMCl1bKRfBzKOk6xaYKQZ4lZqvA== +"@esbuild/darwin-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.4.tgz#67f0213b3333248b32a97a7fc3fee880c2157674" + integrity sha512-phQuC2Imrb3TjOJwLN8EO50nb2FHe8Ew0OwgZDH1SV6asIPGudnwTQtighDF2EAYlXChLoMJwqjAp4vAaACq6w== "@esbuild/freebsd-arm64@0.16.14": version "0.16.14" @@ -1453,10 +1460,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== -"@esbuild/freebsd-arm64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.3.tgz#90ec1755abca4c3ffe1ad10819cd9d31deddcb89" - integrity sha512-CN62ESxaquP61n1ZjQP/jZte8CE09M6kNn3baos2SeUfdVBkWN5n6vGp2iKyb/bm/x4JQzEvJgRHLGd5F5b81w== +"@esbuild/freebsd-arm64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.4.tgz#8eaaa126d9ff24822c730f06a71ac2d1091dc1c2" + integrity sha512-oH6JUZkocgmjzzYaP5juERLpJQSwazdjZrTPgLRmAU2bzJ688x0vfMB/WTv4r58RiecdHvXOPC46VtsMy/mepg== "@esbuild/freebsd-x64@0.16.14": version "0.16.14" @@ -1468,10 +1475,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== -"@esbuild/freebsd-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.3.tgz#8760eedc466af253c3ed0dfa2940d0e59b8b0895" - integrity sha512-feq+K8TxIznZE+zhdVurF3WNJ/Sa35dQNYbaqM/wsCbWdzXr5lyq+AaTUSER2cUR+SXPnd/EY75EPRjf4s1SLg== +"@esbuild/freebsd-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.4.tgz#314eff900a71abf64d4e5bea31e430d8ebd78d79" + integrity sha512-U4iWGn/9TrAfpAdfd56eO0pRxIgb0a8Wj9jClrhT8hvZnOnS4dfMPW7o4fn15D/KqoiVYHRm43jjBaTt3g/2KA== "@esbuild/linux-arm64@0.16.14": version "0.16.14" @@ -1483,10 +1490,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== -"@esbuild/linux-arm64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.3.tgz#13916fc8873115d7d546656e19037267b12d4567" - integrity sha512-JHeZXD4auLYBnrKn6JYJ0o5nWJI9PhChA/Nt0G4MvLaMrvXuWnY93R3a7PiXeJQphpL1nYsaMcoV2QtuvRnF/g== +"@esbuild/linux-arm64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.4.tgz#5bed6bb8eb1d331644f8b31c87b8df57f204e84e" + integrity sha512-UkGfQvYlwOaeYJzZG4cLV0hCASzQZnKNktRXUo3/BMZvdau40AOz9GzmGA063n1piq6VrFFh43apRDQx8hMP2w== "@esbuild/linux-arm@0.16.14": version "0.16.14" @@ -1498,10 +1505,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== -"@esbuild/linux-arm@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.3.tgz#15f876d127b244635ddc09eaaa65ae97bc472a63" - integrity sha512-CLP3EgyNuPcg2cshbwkqYy5bbAgK+VhyfMU7oIYyn+x4Y67xb5C5ylxsNUjRmr8BX+MW3YhVNm6Lq6FKtRTWHQ== +"@esbuild/linux-arm@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.4.tgz#6eaa41f37e231d113da715a1d9cc820e5523aeb6" + integrity sha512-S2s9xWTGMTa/fG5EyMGDeL0wrWVgOSQcNddJWgu6rG1NCSXJHs76ZP9AsxjB3f2nZow9fWOyApklIgiTGZKhiw== "@esbuild/linux-ia32@0.16.14": version "0.16.14" @@ -1513,10 +1520,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== -"@esbuild/linux-ia32@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.3.tgz#6691f02555d45b698195c81c9070ab4e521ef005" - integrity sha512-FyXlD2ZjZqTFh0sOQxFDiWG1uQUEOLbEh9gKN/7pFxck5Vw0qjWSDqbn6C10GAa1rXJpwsntHcmLqydY9ST9ZA== +"@esbuild/linux-ia32@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.4.tgz#3fc352bb54e0959fda273cd2253b1c72ca41b8c2" + integrity sha512-3lqFi4VFo/Vwvn77FZXeLd0ctolIJH/uXkH3yNgEk89Eh6D3XXAC9/iTPEzeEpsNE5IqGIsFa5Z0iPeOh25IyA== "@esbuild/linux-loong64@0.16.14": version "0.16.14" @@ -1528,10 +1535,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== -"@esbuild/linux-loong64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.3.tgz#f77ef657f222d8b3a8fbd530a09e40976c458d48" - integrity sha512-OrDGMvDBI2g7s04J8dh8/I7eSO+/E7nMDT2Z5IruBfUO/RiigF1OF6xoH33Dn4W/OwAWSUf1s2nXamb28ZklTA== +"@esbuild/linux-loong64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.4.tgz#86d54f690be53669cd2a38a5333ecf2608c11189" + integrity sha512-HqpWZkVslDHIwdQ9D+gk7NuAulgQvRxF9no54ut/M55KEb3mi7sQS3GwpPJzSyzzP0UkjQVN7/tbk88/CaX4EQ== "@esbuild/linux-mips64el@0.16.14": version "0.16.14" @@ -1543,10 +1550,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== -"@esbuild/linux-mips64el@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.3.tgz#fa38833cfc8bfaadaa12b243257fe6d19d0f6f79" - integrity sha512-DcnUpXnVCJvmv0TzuLwKBC2nsQHle8EIiAJiJ+PipEVC16wHXaPEKP0EqN8WnBe0TPvMITOUlP2aiL5YMld+CQ== +"@esbuild/linux-mips64el@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.4.tgz#3dbd897bd8f047fef35e69bd253b8f07ca7fe483" + integrity sha512-d/nMCKKh/SVDbqR9ju+b78vOr0tNXtfBjcp5vfHONCCOAL9ad8gN9dC/u+UnH939pz7wO+0u/x9y1MaZcb/lKA== "@esbuild/linux-ppc64@0.16.14": version "0.16.14" @@ -1558,10 +1565,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== -"@esbuild/linux-ppc64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.3.tgz#c157a602b627c90d174743e4b0dfb7630b101dbf" - integrity sha512-BDYf/l1WVhWE+FHAW3FzZPtVlk9QsrwsxGzABmN4g8bTjmhazsId3h127pliDRRu5674k1Y2RWejbpN46N9ZhQ== +"@esbuild/linux-ppc64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.4.tgz#defaff6db9a60f08936fc0c59e0eabfb1055968a" + integrity sha512-lOD9p2dmjZcNiTU+sGe9Nn6G3aYw3k0HBJies1PU0j5IGfp6tdKOQ6mzfACRFCqXjnBuTqK7eTYpwx09O5LLfg== "@esbuild/linux-riscv64@0.16.14": version "0.16.14" @@ -1573,10 +1580,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== -"@esbuild/linux-riscv64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.3.tgz#7bf79614bd544bd932839b1fcff6cf1f8f6bdf1a" - integrity sha512-WViAxWYMRIi+prTJTyV1wnqd2mS2cPqJlN85oscVhXdb/ZTFJdrpaqm/uDsZPGKHtbg5TuRX/ymKdOSk41YZow== +"@esbuild/linux-riscv64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.4.tgz#270a09f6f4205a8a8c8ed3c7dbabdcebaafa8a84" + integrity sha512-mTGnwWwVshAjGsd8rP+K6583cPDgxOunsqqldEYij7T5/ysluMHKqUIT4TJHfrDFadUwrghAL6QjER4FeqQXoA== "@esbuild/linux-s390x@0.16.14": version "0.16.14" @@ -1588,10 +1595,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== -"@esbuild/linux-s390x@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.3.tgz#6bb50c5a2613d31ce1137fe5c249ecadbecccdea" - integrity sha512-Iw8lkNHUC4oGP1O/KhumcVy77u2s6+KUjieUqzEU3XuWJqZ+AY7uVMrrCbAiwWTkpQHkr00BuXH5RpC6Sb/7Ug== +"@esbuild/linux-s390x@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.4.tgz#197695bece68f514dcdcc286562b5d48c5dad5f9" + integrity sha512-AQYuUGp50XM29/N/dehADxvc2bUqDcoqrVuijop1Wv72SyxT6dDB9wjUxuPZm2HwIM876UoNNBMVd+iX/UTKVQ== "@esbuild/linux-x64@0.16.14": version "0.16.14" @@ -1603,10 +1610,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== -"@esbuild/linux-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.3.tgz#aa140d99f0d9e0af388024823bfe4558d73fbbf9" - integrity sha512-0AGkWQMzeoeAtXQRNB3s4J1/T2XbigM2/Mn2yU1tQSmQRmHIZdkGbVq2A3aDdNslPyhb9/lH0S5GMTZ4xsjBqg== +"@esbuild/linux-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.4.tgz#db50cdfb071c0d367025c1c98563aab1318f800e" + integrity sha512-+AsFBwKgQuhV2shfGgA9YloxLDVjXgUEWZum7glR5lLmV94IThu/u2JZGxTgjYby6kyXEx8lKOqP5rTEVBR0Rw== "@esbuild/netbsd-x64@0.16.14": version "0.16.14" @@ -1618,10 +1625,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== -"@esbuild/netbsd-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.3.tgz#b6ae9948b03e4c95dc581c68358fb61d9d12a625" - integrity sha512-4+rR/WHOxIVh53UIQIICryjdoKdHsFZFD4zLSonJ9RRw7bhKzVyXbnRPsWSfwybYqw9sB7ots/SYyufL1mBpEg== +"@esbuild/netbsd-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.4.tgz#e4d5d8022f8eddbd7d9899d58265915444f46f3b" + integrity sha512-zD1TKYX9553OiLS/qkXPMlWoELYkH/VkzRYNKEU+GwFiqkq0SuxsKnsCg5UCdxN3cqd+1KZ8SS3R+WG/Hxy2jQ== "@esbuild/openbsd-x64@0.16.14": version "0.16.14" @@ -1633,10 +1640,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== -"@esbuild/openbsd-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.3.tgz#cda007233e211fc9154324bfa460540cfc469408" - integrity sha512-cVpWnkx9IYg99EjGxa5Gc0XmqumtAwK3aoz7O4Dii2vko+qXbkHoujWA68cqXjhh6TsLaQelfDO4MVnyr+ODeA== +"@esbuild/openbsd-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.4.tgz#9b770e1e7745824cbe155f5a742fc781855a7e68" + integrity sha512-PY1NjEsLRhPEFFg1AV0/4Or/gR+q2dOb9s5rXcPuCjyHRzbt8vnHJl3vYj+641TgWZzTFmSUnZbzs1zwTzjeqw== "@esbuild/sunos-x64@0.16.14": version "0.16.14" @@ -1648,10 +1655,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== -"@esbuild/sunos-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.3.tgz#f1385b092000c662d360775f3fad80943d2169c4" - integrity sha512-RxmhKLbTCDAY2xOfrww6ieIZkZF+KBqG7S2Ako2SljKXRFi+0863PspK74QQ7JpmWwncChY25JTJSbVBYGQk2Q== +"@esbuild/sunos-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.4.tgz#4c6d2290f8bf39ab9284f5a1b9a2210858e2d6e6" + integrity sha512-B3Z7s8QZQW9tKGleMRXvVmwwLPAUoDCHs4WZ2ElVMWiortLJFowU1NjAhXOKjDgC7o9ByeVcwyOlJ+F2r6ZgmQ== "@esbuild/win32-arm64@0.16.14": version "0.16.14" @@ -1663,10 +1670,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== -"@esbuild/win32-arm64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.3.tgz#14e9dd9b1b55aa991f80c120fef0c4492d918801" - integrity sha512-0r36VeEJ4efwmofxVJRXDjVRP2jTmv877zc+i+Pc7MNsIr38NfsjkQj23AfF7l0WbB+RQ7VUb+LDiqC/KY/M/A== +"@esbuild/win32-arm64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.4.tgz#424954b6d598f40e2c5a0d85e3af07147fb41909" + integrity sha512-0HCu8R3mY/H5V7N6kdlsJkvrT591bO/oRZy8ztF1dhgNU5xD5tAh5bKByT1UjTGjp/VVBsl1PDQ3L18SfvtnBQ== "@esbuild/win32-ia32@0.16.14": version "0.16.14" @@ -1678,10 +1685,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== -"@esbuild/win32-ia32@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.3.tgz#de584423513d13304a6925e01233499a37a4e075" - integrity sha512-wgO6rc7uGStH22nur4aLFcq7Wh86bE9cOFmfTr/yxN3BXvDEdCSXyKkO+U5JIt53eTOgC47v9k/C1bITWL/Teg== +"@esbuild/win32-ia32@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.4.tgz#2c94e9c3a82c779d3f07b3fb5c482a2e3fecedb1" + integrity sha512-VUjhVDQycse1gLbe06pC/uaA0M+piQXJpdpNdhg8sPmeIZZqu5xPoGWVCmcsOO2gaM2cywuTYTHkXRozo3/Nkg== "@esbuild/win32-x64@0.16.14": version "0.16.14" @@ -1693,10 +1700,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== -"@esbuild/win32-x64@0.17.3": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.3.tgz#2f69ea6b37031b0d1715dd2da832a8ae5eb36e74" - integrity sha512-FdVl64OIuiKjgXBjwZaJLKp0eaEckifbhn10dXWhysMJkWblg3OEEGKSIyhiD5RSgAya8WzP3DNkngtIg3Nt7g== +"@esbuild/win32-x64@0.17.4": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.4.tgz#9b7760cdc77678bdbc5b582fae2cf3de449df048" + integrity sha512-0kLAjs+xN5OjhTt/aUA6t48SfENSCKgGPfExADYTOo/UCn0ivxos9/anUVeSfg+L+2O9xkFxvJXIJfG+Q4sYSg== "@eslint/eslintrc@^1.4.1": version "1.4.1" @@ -3504,14 +3511,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz#112e6ae1e23a1dc8333ce82bb9c65c2608b4d8a3" - integrity sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg== +"@typescript-eslint/eslint-plugin@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz#d0b4556f0792194bf0c2fb297897efa321492389" + integrity sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q== dependencies: - "@typescript-eslint/scope-manager" "5.48.2" - "@typescript-eslint/type-utils" "5.48.2" - "@typescript-eslint/utils" "5.48.2" + "@typescript-eslint/scope-manager" "5.49.0" + "@typescript-eslint/type-utils" "5.49.0" + "@typescript-eslint/utils" "5.49.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -3519,72 +3526,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.2.tgz#c9edef2a0922d26a37dba03be20c5fff378313b3" - integrity sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw== +"@typescript-eslint/parser@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.49.0.tgz#d699734b2f20e16351e117417d34a2bc9d7c4b90" + integrity sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg== dependencies: - "@typescript-eslint/scope-manager" "5.48.2" - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/scope-manager" "5.49.0" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/typescript-estree" "5.49.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc" - integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw== +"@typescript-eslint/scope-manager@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz#81b5d899cdae446c26ddf18bd47a2f5484a8af3e" + integrity sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ== dependencies: - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/visitor-keys" "5.48.2" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/visitor-keys" "5.49.0" -"@typescript-eslint/type-utils@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz#7d3aeca9fa37a7ab7e3d9056a99b42f342c48ad7" - integrity sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew== +"@typescript-eslint/type-utils@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz#8d5dcc8d422881e2ccf4ebdc6b1d4cc61aa64125" + integrity sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA== dependencies: - "@typescript-eslint/typescript-estree" "5.48.2" - "@typescript-eslint/utils" "5.48.2" + "@typescript-eslint/typescript-estree" "5.49.0" + "@typescript-eslint/utils" "5.49.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e" - integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA== +"@typescript-eslint/types@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3" + integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg== -"@typescript-eslint/typescript-estree@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0" - integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg== +"@typescript-eslint/typescript-estree@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz#ebd6294c0ea97891fce6af536048181e23d729c8" + integrity sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA== dependencies: - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/visitor-keys" "5.48.2" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/visitor-keys" "5.49.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3" - integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow== +"@typescript-eslint/utils@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.49.0.tgz#1c07923bc55ff7834dfcde487fff8d8624a87b32" + integrity sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.48.2" - "@typescript-eslint/types" "5.48.2" - "@typescript-eslint/typescript-estree" "5.48.2" + "@typescript-eslint/scope-manager" "5.49.0" + "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/typescript-estree" "5.49.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.48.2": - version "5.48.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060" - integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ== +"@typescript-eslint/visitor-keys@5.49.0": + version "5.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz#2561c4da3f235f5c852759bf6c5faec7524f90fe" + integrity sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg== dependencies: - "@typescript-eslint/types" "5.48.2" + "@typescript-eslint/types" "5.49.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -5595,10 +5602,10 @@ esbuild-wasm@0.16.14: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== -esbuild-wasm@0.17.3: - version "0.17.3" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.3.tgz#7a2eba620fc72835d686e83183d101fd6996776d" - integrity sha512-ad4foZtmEu5YvMQpky/Fbb2R0LEPxb0H8ePh9o0XTl8tiMPlVMTuRM9UOUgEZWTEu8NfkELuOVzB8s2rGNYi0Q== +esbuild-wasm@0.17.4: + version "0.17.4" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.4.tgz#794892bcaebdcca9824ff455e25087da8149e720" + integrity sha512-CtTQ38OPbqTP5AtfOiEceS/1vomIZfpJ1zSbY0wLiGJ+pMhhhW6X4+jJzWJSubjz2JgoR7jHgzpBWF1h//Hw8w== esbuild-wasm@^0.16.0: version "0.16.17" @@ -5633,33 +5640,33 @@ esbuild@0.16.14: "@esbuild/win32-ia32" "0.16.14" "@esbuild/win32-x64" "0.16.14" -esbuild@0.17.3: - version "0.17.3" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.3.tgz#d9aa02a3bc441ed35f9569cd9505812ae3fcae61" - integrity sha512-9n3AsBRe6sIyOc6kmoXg2ypCLgf3eZSraWFRpnkto+svt8cZNuKTkb1bhQcitBcvIqjNiK7K0J3KPmwGSfkA8g== +esbuild@0.17.4: + version "0.17.4" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.4.tgz#af4f8f78604c67f8e6afbdee36a3f4211ecfc859" + integrity sha512-zBn9MeCwT7W5F1a3lXClD61ip6vQM+H8Msb0w8zMT4ZKBpDg+rFAraNyWCDelB/2L6M3g6AXHPnsyvjMFnxtFw== optionalDependencies: - "@esbuild/android-arm" "0.17.3" - "@esbuild/android-arm64" "0.17.3" - "@esbuild/android-x64" "0.17.3" - "@esbuild/darwin-arm64" "0.17.3" - "@esbuild/darwin-x64" "0.17.3" - "@esbuild/freebsd-arm64" "0.17.3" - "@esbuild/freebsd-x64" "0.17.3" - "@esbuild/linux-arm" "0.17.3" - "@esbuild/linux-arm64" "0.17.3" - "@esbuild/linux-ia32" "0.17.3" - "@esbuild/linux-loong64" "0.17.3" - "@esbuild/linux-mips64el" "0.17.3" - "@esbuild/linux-ppc64" "0.17.3" - "@esbuild/linux-riscv64" "0.17.3" - "@esbuild/linux-s390x" "0.17.3" - "@esbuild/linux-x64" "0.17.3" - "@esbuild/netbsd-x64" "0.17.3" - "@esbuild/openbsd-x64" "0.17.3" - "@esbuild/sunos-x64" "0.17.3" - "@esbuild/win32-arm64" "0.17.3" - "@esbuild/win32-ia32" "0.17.3" - "@esbuild/win32-x64" "0.17.3" + "@esbuild/android-arm" "0.17.4" + "@esbuild/android-arm64" "0.17.4" + "@esbuild/android-x64" "0.17.4" + "@esbuild/darwin-arm64" "0.17.4" + "@esbuild/darwin-x64" "0.17.4" + "@esbuild/freebsd-arm64" "0.17.4" + "@esbuild/freebsd-x64" "0.17.4" + "@esbuild/linux-arm" "0.17.4" + "@esbuild/linux-arm64" "0.17.4" + "@esbuild/linux-ia32" "0.17.4" + "@esbuild/linux-loong64" "0.17.4" + "@esbuild/linux-mips64el" "0.17.4" + "@esbuild/linux-ppc64" "0.17.4" + "@esbuild/linux-riscv64" "0.17.4" + "@esbuild/linux-s390x" "0.17.4" + "@esbuild/linux-x64" "0.17.4" + "@esbuild/netbsd-x64" "0.17.4" + "@esbuild/openbsd-x64" "0.17.4" + "@esbuild/sunos-x64" "0.17.4" + "@esbuild/win32-arm64" "0.17.4" + "@esbuild/win32-ia32" "0.17.4" + "@esbuild/win32-x64" "0.17.4" esbuild@^0.16.0: version "0.16.17" From 4c5c76db063a79d857609331d117907231b5ddf6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 25 Jan 2023 19:14:27 +0000 Subject: [PATCH 1306/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 +- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 477 +++++++++--------- 8 files changed, 271 insertions(+), 280 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 9b0e0a128866..654a424fa050 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 + - uses: angular/dev-infra/github-actions/branch-manager@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 0637983984f9..c7b611bc1189 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 + - uses: angular/dev-infra/github-actions/post-approval-changes@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index b1a6700aed2a..fcfddbe2cac6 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 + - uses: angular/dev-infra/github-actions/feature-request@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 3ac1ed6345f3..5f2fb3d26954 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fa8e18e7dd9b4d3764afb6a4393a6d64491b2023 + - uses: angular/dev-infra/github-actions/lock-closed@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index bafb4aed4d4f..18d4672e6836 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.2.0-next.1", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228", + "@angular/animations": "15.2.0-next.2", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#96b75177ece9835fcde3c4e4bf0d93c3cdc267cb", "@angular/cdk": "15.1.1", - "@angular/common": "15.2.0-next.1", - "@angular/compiler": "15.2.0-next.1", - "@angular/compiler-cli": "15.2.0-next.1", - "@angular/core": "15.2.0-next.1", - "@angular/forms": "15.2.0-next.1", - "@angular/localize": "15.2.0-next.1", + "@angular/common": "15.2.0-next.2", + "@angular/compiler": "15.2.0-next.2", + "@angular/compiler-cli": "15.2.0-next.2", + "@angular/core": "15.2.0-next.2", + "@angular/forms": "15.2.0-next.2", + "@angular/localize": "15.2.0-next.2", "@angular/material": "15.1.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235", - "@angular/platform-browser": "15.2.0-next.1", - "@angular/platform-browser-dynamic": "15.2.0-next.1", - "@angular/platform-server": "15.2.0-next.1", - "@angular/router": "15.2.0-next.1", - "@angular/service-worker": "15.2.0-next.1", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2c72b29c3bd46265d111ac42c2e7221c6b8d10d", + "@angular/platform-browser": "15.2.0-next.2", + "@angular/platform-browser-dynamic": "15.2.0-next.2", + "@angular/platform-server": "15.2.0-next.2", + "@angular/router": "15.2.0-next.2", + "@angular/service-worker": "15.2.0-next.2", "@babel/core": "7.20.12", "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 4f6f16fd42dd..12b2c7f9d7bc 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.1", - "@angular/compiler-cli": "15.1.1", + "@angular/compiler": "15.1.2", + "@angular/compiler-cli": "15.1.2", "typescript": "4.9.4", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 0f170d710b4c..26c92288efde 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#1a51e199f590248f20b7451696bffac20aac97cb", - "@angular/cdk": "github:angular/cdk-builds#2bf3551c70e3417a7dee757349221f6807ed682e", - "@angular/common": "github:angular/common-builds#f0aec2011458f30ba66123a855e5ea28d52b9284", - "@angular/compiler": "github:angular/compiler-builds#22d0880e294e444e227e85579c37894328c88e09", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#693a8849cba05f755910c774f0d8a550cf9c0e0f", - "@angular/core": "github:angular/core-builds#f94125e7abbfbbc5daca918d288b4dbe4074d9f3", - "@angular/forms": "github:angular/forms-builds#374f1247ee8a5ed1bb580cd641df29279af09a2f", - "@angular/language-service": "github:angular/language-service-builds#78d703b6689ebfec74d988fbdf4dea94226ec8ec", - "@angular/localize": "github:angular/localize-builds#755c1dad70cb052a3956da63754af2d1f1d6b8e0", - "@angular/material": "github:angular/material-builds#b4356c99b073a6ec3bebaaa7b4386fcecc1d18ee", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#0e23c03847d9a6fdf5798f1d99e6ce86e83c011f", - "@angular/platform-browser": "github:angular/platform-browser-builds#5064969e850a5496b33b8340ef43d2c26537e7df", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ba881e0f073c4bc54afc26ec3c117691d9a03316", - "@angular/platform-server": "github:angular/platform-server-builds#573ba93d37da0d818e1cc40a6f908a1dda94904a", - "@angular/router": "github:angular/router-builds#389b737b04261f9e69dc4df55536f032c99334eb", - "@angular/service-worker": "github:angular/service-worker-builds#a31a972d0d3b35e46f16e75598fb7da95c79ef53" + "@angular/animations": "github:angular/animations-builds#198b9a1af958dee771fdf7b3c6fff7436d3774a4", + "@angular/cdk": "github:angular/cdk-builds#8c26bc73f303708f39f312cc7abace38e2999202", + "@angular/common": "github:angular/common-builds#6a75bbb3eaecae6ccfa4968c5a7a629929a5b0f7", + "@angular/compiler": "github:angular/compiler-builds#50ae490fc529be015b406d1e071720de1bac00df", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#29295449eaefb231209347f85e34ba105aa1acf6", + "@angular/core": "github:angular/core-builds#98b362f0bb6c0d005dc36a91176b4c302bbc2f2c", + "@angular/forms": "github:angular/forms-builds#7057349eed66f30fbc1a7160b506b451196ce0d4", + "@angular/language-service": "github:angular/language-service-builds#cfacce70b8da5d5f5980ba6218634cb37cbfbbb5", + "@angular/localize": "github:angular/localize-builds#03d6282765ed3ddeed4d79b08c352246156d4c0e", + "@angular/material": "github:angular/material-builds#af6d7ab040b95f5e3b4c3ff707d75b326e31626a", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#255b9d000c19fa0a2ab12865e1ee06cf97f94bc5", + "@angular/platform-browser": "github:angular/platform-browser-builds#1e44140a92f88a076631fd17ae5fc76a4c1bd9bb", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ede96992eed3547106f6cb246e173667b43f8f70", + "@angular/platform-server": "github:angular/platform-server-builds#6b157bd859481213bb6cd7fcd8fd3dc823203e51", + "@angular/router": "github:angular/router-builds#dee177ceff8dea6bb586c695b5f7d4f9f300cd7c", + "@angular/service-worker": "github:angular/service-worker-builds#b7e6f7539c97797a99af36aa065df8cd5d1cfb1b" } } diff --git a/yarn.lock b/yarn.lock index cb66c7e3a3f2..acba17060cdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,23 +10,23 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1501.0-rc.0": - version "0.1501.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1501.0-rc.0.tgz#b86305c018e9df6b1c75d0594953898f1595bbb0" - integrity sha512-43nfeN7zjJROfpxszYwmiUYMlBzOS2O1JHYRZweROospi5qvNY+wic4eOKxR+35GOR4Q0hobLMWU9uJsyBELIw== +"@angular-devkit/architect@0.1502.0-next.1": + version "0.1502.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.1.tgz#e7f26c08d6232f3af3e62d1451f414c6d2bd9f72" + integrity sha512-ktpr58XA9U0jUw7+IZZf6/Yzdhvtz1HGhKbL70gRY9WFxyneiBvfCjUhgkOH23vxrpT7pNLGLYQad4axHcIBUg== dependencies: - "@angular-devkit/core" "15.1.0-rc.0" + "@angular-devkit/core" "15.2.0-next.1" rxjs "6.6.7" -"@angular-devkit/build-angular@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.1.0-rc.0.tgz#14318664cb09f0e31a1574696633b1c3dd907566" - integrity sha512-Y5etf24NGRtS8d7zG2pgWzjZZlupO1je+1RotvUffiqxg1yTYf1RD1t6zn576FmxUV99TWHf9f6nk/J+08T4OQ== +"@angular-devkit/build-angular@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.1.tgz#5119f836456b2d3fd79a1b710ae9ad97e8d9e273" + integrity sha512-Uv+klHF0abonWnj7d/AkSCD7d1uSTovzJZJ25YRT5wsBXi4rJNksGY/opeAJW+GMK2WGkYNW/VMLvIhSBEcExA== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1501.0-rc.0" - "@angular-devkit/build-webpack" "0.1501.0-rc.0" - "@angular-devkit/core" "15.1.0-rc.0" + "@angular-devkit/architect" "0.1502.0-next.1" + "@angular-devkit/build-webpack" "0.1502.0-next.1" + "@angular-devkit/core" "15.2.0-next.1" "@babel/core" "7.20.12" "@babel/generator" "7.20.7" "@babel/helper-annotate-as-pure" "7.18.6" @@ -37,7 +37,7 @@ "@babel/runtime" "7.20.7" "@babel/template" "7.20.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.1.0-rc.0" + "@ngtools/webpack" "15.2.0-next.1" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.2" @@ -48,7 +48,7 @@ copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.3" - esbuild-wasm "0.16.14" + esbuild-wasm "0.17.2" glob "8.0.3" https-proxy-agent "5.0.1" inquirer "8.2.4" @@ -64,7 +64,7 @@ ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.20" + postcss "8.4.21" postcss-loader "7.0.2" resolve-url-loader "5.0.0" rxjs "6.6.7" @@ -83,20 +83,20 @@ webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.16.14" + esbuild "0.17.2" -"@angular-devkit/build-webpack@0.1501.0-rc.0": - version "0.1501.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1501.0-rc.0.tgz#d86cc24866985f494c70830a3048d968b64ff681" - integrity sha512-MFnMgRvhvUFuF7SQo+eNFMuRrGKhWtJFLD5yKBfyObfSUC5nbhF0g7m3t4PBWRJoNwzg7vuKoQxQ4/LDk+ebbA== +"@angular-devkit/build-webpack@0.1502.0-next.1": + version "0.1502.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1502.0-next.1.tgz#c6fd7350c42b37daee5f966fab6bb07130170223" + integrity sha512-z1JTyS8eB3gfd3Agl7kJYcWxB7b5jGPWR2JxldyN1TZMvaToArBeZmu9K7EwRqM0Sbwp43R1LMGbNHHpEHWeTw== dependencies: - "@angular-devkit/architect" "0.1501.0-rc.0" + "@angular-devkit/architect" "0.1502.0-next.1" rxjs "6.6.7" -"@angular-devkit/core@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.1.0-rc.0.tgz#c1d7492902abbaeb1820fc11144373ed00960841" - integrity sha512-gec9VOZzU/qpVRjsAATFjIkmXCbsW9Vf1c/nfwHvzOSEbgzL/ROIT/XrMJkc3+VQ5PBSEXTt0CqyjabHtP5FyQ== +"@angular-devkit/core@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.2.0-next.1.tgz#50ef328c18e755e48f565aff72eb361685984383" + integrity sha512-GfCwEYDNMUz5APWtvIKfthjj19pL9lbwdc2FwAP8O8FufOGQRz2ZdBfV2GyV6cQ+TLxf2Q8zlWPJLDIfrkvf0g== dependencies: ajv "8.12.0" ajv-formats "2.1.1" @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.1.tgz#38d0fca5c54f500931332e0b8f662c17e3660f01" - integrity sha512-pJyIFJ/G38q4trj1FLHi3H6AhR7aU4d6jTN1R1LemKIgdNWlvnAF+wb3YJQiaC57TU1kHQRj9+45SwaLDQbpLw== +"@angular/animations@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.2.tgz#aa624e71b26c70d7d76866ef2d61e18d014b2411" + integrity sha512-lr4hGKZKrlOuV6r1VpkXuZa3AjyeNFigrSrqy+n5aBuGUAkV7LYIFZvnx91jLeSnIpB8KUd8SVpzJ5D6rnxKfw== dependencies: tslib "^2.3.0" @@ -119,12 +119,12 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228": - version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" - uid "5854dda71b14fd9032ca67125b902464ebb7b228" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#5854dda71b14fd9032ca67125b902464ebb7b228" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#96b75177ece9835fcde3c4e4bf0d93c3cdc267cb": + version "0.0.0-c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7" + uid "96b75177ece9835fcde3c4e4bf0d93c3cdc267cb" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#96b75177ece9835fcde3c4e4bf0d93c3cdc267cb" dependencies: - "@angular-devkit/build-angular" "15.1.0-rc.0" + "@angular-devkit/build-angular" "15.2.0-next.1" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" @@ -168,17 +168,17 @@ optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.1.tgz#027b037f25a2bdaea2ed99d3d25a1578112de567" - integrity sha512-r4Vt5Mt7wlg8X0yL+eUr8T4w6Dz8mgel3eoTJBDwqkqQXoYdu+o0cqiTrqUIqe0dmTHTt0l4ebxf+l5vr8h0DA== +"@angular/common@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.2.tgz#d0bdc4a0da8c07df278ad0cc0c6021b440726bc2" + integrity sha512-fJ9sUJGdfLROVqa1zyel4rBkHCZvEzRM3JuYBOXqIdMygpwz2ypIqpGAbYt+Xrv7JiEgCNxrCAmXHyJStUoaAw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.1": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.1.tgz#06d5f4c6b18da0383706d42427b22132c1c5bcef" - integrity sha512-sBYvh6Y08aKuZPAVwzT1YGVfG63xeXElEfAfq6No9FLUHDo83QB9fU7ovXnu1RJFJiVIy16DHjmTpAmgvlomGA== +"@angular/compiler-cli@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.2.tgz#591bb83e8972e4d773349f66feba81a6f0b64130" + integrity sha512-gAqbQSKI4oeboh0UKsFdaEoST9IBVzqeckJzSTwAGxJeS33IM7Jjo3LViqHuzQyWKXe6srkci0LD4C2Mrj4kfQ== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -191,10 +191,10 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler-cli@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.1.tgz#7ccea27653d500b2b455c76217f0c6acb381d4fd" - integrity sha512-yGGGrAHUdTT6agKcMzKWhjxlpltVACu/OHsaqw12G2ePwFWJjaxGtPXwU8G7G9AENguEnsm/VgnSGr/439i6XA== +"@angular/compiler-cli@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.2.tgz#8394a97838f083a67e01d76bf00286c2d0cc5634" + integrity sha512-9QjL6KihclXvC57QKYTJU85HryQ8rfkarTuNa0YRcztcglzCjDRxfLw7zV3wULOAy04t3oF5JchsIrpdNQubTw== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -207,24 +207,24 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.1": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.1.tgz#2f617225795fb92f85188c051e8107d0e1c64b54" - integrity sha512-A35iXLTTDEej4F2tm5t1flA+5Tv+jYAkQx+d0xvH6LDiWvsiDsOe5OjP8L2LD8dejwWl/JYUz2TH0JZcvw0uqA== +"@angular/compiler@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.2.tgz#5c31ab53cd56da22fa08015ffa6acc9eba3f4bc0" + integrity sha512-hKlr1i61a2Gl0h53goSSUbZmzNgdC1zAHu+Ws0+1Qfv9cDgg1aVphFGFMdV0kbjLV+k7LyFjj5EgWU48o5UXww== dependencies: tslib "^2.3.0" -"@angular/compiler@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.1.tgz#a2c28ed6981b46c545c8be39cac0562806f75b59" - integrity sha512-i7tSgXTt7JZX10RGaHqRrLlsbboIft80srTCLCX6hd+mDvwbWRLjoWpDKJFXTtRzV4j8BdZaB6vDEHAgHhdvDA== +"@angular/compiler@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.2.tgz#b855d28372ac80ffcfa2d07c734fd50c7c20c25e" + integrity sha512-z0AbzxnKfM3ACnHHSoJp0TEV3fad6MhJUcd9Ko5mAMEaUFNu1j+xGeze9PfSYQ8dIb93cNAX5GKqRibQFOelSQ== dependencies: tslib "^2.3.0" -"@angular/core@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.1.tgz#18cefdad716d9acf69da84c7867697722babfbe3" - integrity sha512-s8xbtH9xbbEt+x9aUXlP4aJB1y04aPZ/520h3nqIa8RN2wxNGkgbNKLo0RWLywtSe3YSJ20KlGTw8U5CId1diw== +"@angular/core@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.2.tgz#0539a2ad08a0c9237123b3c0a11d89ab990591a8" + integrity sha512-I4hrCYCbV5pZIZyPSTaw/7UjkxMlnPa2xGBb/3LP/I/F//Ly27RgtTC2ioCA3tCO3BjwM4MrhsfLz7Afcj+j8w== dependencies: tslib "^2.3.0" @@ -235,17 +235,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.1.tgz#8ce5b0b52f3141f2eab48fb9dfd33fa35ce56ac7" - integrity sha512-dHxkg0mcfMRZiqydL1VsQrQH1FZdrgGkgwRhmR47iwxZfRZTv7IgM16v0/QRAqRAnt+dlbxyY8efw9b9E7iXcQ== +"@angular/forms@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.2.tgz#957c81be2c30db5e15d24088a44cd84261d4a543" + integrity sha512-4XOkmzz9VbnyueJyYGTgMoHKJCJQdarLHgU5sZLlamIEEi9gjS1uLJv5ivRZD6GuwFFzDIZodTRxQh9cqGvvlA== dependencies: tslib "^2.3.0" -"@angular/localize@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.1.tgz#9931a788cf62c4d1b3a08e436952101f758afe2f" - integrity sha512-cJbwJ5t6GfNJx9ELn7fJsIswABIzTGH9gAmn2ZFY+PrVGsykGh3IRwROsaYgD+2UpI1Kn4N18HquOYeQm/WbwA== +"@angular/localize@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.2.tgz#d14c6fcfe0bc254692a851fbd0495cba1be8eb98" + integrity sha512-qaCosCGpeiEK7BSdTx2Ah5bauRoSWfasxNhFhiEjGWgPNZw7ZAk1oXvzK+NBpjw9YcB6huxLdSNSUCOkRMycww== dependencies: "@babel/core" "7.19.3" glob "8.1.0" @@ -305,48 +305,48 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235": - version "0.0.0-fa8e18e7dd9b4d3764afb6a4393a6d64491b2023" - uid "9abd9ebd6280363e722044539d056804fe6f3235" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#9abd9ebd6280363e722044539d056804fe6f3235" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2c72b29c3bd46265d111ac42c2e7221c6b8d10d": + version "0.0.0-c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7" + uid a2c72b29c3bd46265d111ac42c2e7221c6b8d10d + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2c72b29c3bd46265d111ac42c2e7221c6b8d10d" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.1.tgz#e2bd6abe7576b71a3e5b7025c66cc86e250b1249" - integrity sha512-73lj1bLBsvoQR0cRoC3tkPWV4KjeMhXFFMOD2Y7Qm8MCdkbzx64w+O98LQ1h3O39QVnCRpeLDCkQWew6purLpA== +"@angular/platform-browser-dynamic@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.2.tgz#2205c6c4f11d6a547ed1c011e0b00d8a272307d3" + integrity sha512-EJdWX4NCDAfcB0IsDsNdLpeyjZZpS9snNtMXo1m+pTGZglox8CRnmGA5WOzesHXEXrVPoNAUJiTeCQF671pgdA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.1.tgz#be61aa23d909f0fb930f313d1958fcafb321bbea" - integrity sha512-9ZwtpqQ0XaYhFywhLPlhbbnEzOHbOvQIfmupohdtBSC7QOdn/gP1lciuX/9pnF3PJwz+tRuLF4Ig90jZpo3E7A== +"@angular/platform-browser@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.2.tgz#a2896679d40eeec77603f32e3c248ba80b68b800" + integrity sha512-q9tSBkx3DVVicov18LuCfYrvwGgISdHOCk/JMNEBYdKjtkdiutxJZBiRxCgMxaQ7qsDDg0pvGVjpe6OBnDc1BA== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.1.tgz#2348c9df0851d5619a1711f8bb008b013a3e6e67" - integrity sha512-wNwsgih4r2deuv00HJ5BTSkNQcet8BqoDSY21jhmYSjhl3O77VYnhehfpVNWSTsOhSvRy+A2xEzWntdk3PjkoA== +"@angular/platform-server@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.2.tgz#706855ce411109d5c27106d3b0c7c037897a340e" + integrity sha512-blFjJXIayLz3uLHuz7pE9hTTBfEAyszC5r6DJWG29inIINSnhyhpdHKW3l9/Wh+l8aDsv9/9AMVwATIcKLsk0w== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.1.tgz#d22e234d677eef5a9608b8425e1d0a018fc8db31" - integrity sha512-1G9fH76nXCoiusBOzUU94cqPPrc1tVQHXv7QWHoGIMUfNGphfICDGCy/cuyi8OSeGL1R/qbqK6x6YMTzv9zh0w== +"@angular/router@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.2.tgz#4bf76b92096cf452cb25e07ce435e4cbaf6522be" + integrity sha512-6dQzr6LnzJ8ADoO+t8yfWJkDhur/+y52As32rEDl87fm3RsjulFv3zEhFMRtRuD/oL+xtzLp8eGK2em0egxnQg== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.1.tgz#2a39854fd08586600f92bb36436c34f726940be9" - integrity sha512-ozpYVLgEBYKn/+17O4CovO5tQceXAJgieHfWDaww1FvTwAkDgujJvnmmDqIZnRgLkiCcg8FLfonzTEwX7cV0Sg== +"@angular/service-worker@15.2.0-next.2": + version "15.2.0-next.2" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.2.tgz#524e1f163db8d10ff6258ebceb4ca6a41b72c00a" + integrity sha512-EmD7uAqj/m/4jRcddyVZLSuD+hoywOgz6iIm8ArxsbRVYZ4K7dZ13ADNzsjnrGMu4S5GHdr0GUGxQvm6pZbIpg== dependencies: tslib "^2.3.0" @@ -1375,331 +1375,331 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz#f02c9f0d43086ddf6ed2795b881ddf7990f74456" - integrity sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ== - "@esbuild/android-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== +"@esbuild/android-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774" + integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ== + "@esbuild/android-arm64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.4.tgz#0a900a7e448cc038ae5a751255257fc67163ed32" integrity sha512-91VwDrl4EpxBCiG6h2LZZEkuNvVZYJkv2T9gyLG/mhGG1qrM7i5SwUcg/hlSPnL/4hDT0TFcF35/XMGSn0bemg== -"@esbuild/android-arm@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.14.tgz#24e4faf569d0d6bbf9ed46f6ed395d68eb7f04fc" - integrity sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg== - "@esbuild/android-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== +"@esbuild/android-arm@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab" + integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q== + "@esbuild/android-arm@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.4.tgz#fe32ce82eb6064d3dc13c0d8ca0e440bbc776c93" integrity sha512-R9GCe2xl2XDSc2XbQB63mFiFXHIVkOP+ltIxICKXqUPrFX97z6Z7vONCLQM1pSOLGqfLrGi3B7nbhxmFY/fomg== -"@esbuild/android-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.14.tgz#1173e706cf57c0d4dbf069d18e5d50ae6a5b0871" - integrity sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw== - "@esbuild/android-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== +"@esbuild/android-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8" + integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ== + "@esbuild/android-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.4.tgz#6ae1056f6ecf1963c1d076cf5f0109b52d8049f6" integrity sha512-mGSqhEPL7029XL7QHNPxPs15JVa02hvZvysUcyMP9UXdGFwncl2WU0bqx+Ysgzd+WAbv8rfNa73QveOxAnAM2w== -"@esbuild/darwin-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz#67f05693c5b097bcb4ff656ba5839459f30f79c2" - integrity sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw== - "@esbuild/darwin-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== +"@esbuild/darwin-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a" + integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw== + "@esbuild/darwin-arm64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.4.tgz#5064d81ee5b8d646a5b7cc3e53c98cb983c4af55" integrity sha512-tTyJRM9dHvlMPt1KrBFVB5OW1kXOsRNvAPtbzoKazd5RhD5/wKlXk1qR2MpaZRYwf4WDMadt0Pv0GwxB41CVow== -"@esbuild/darwin-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz#519c9d127c5363d4a1e73b9d954460f798b41d2a" - integrity sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg== - "@esbuild/darwin-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== +"@esbuild/darwin-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97" + integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw== + "@esbuild/darwin-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.4.tgz#67f0213b3333248b32a97a7fc3fee880c2157674" integrity sha512-phQuC2Imrb3TjOJwLN8EO50nb2FHe8Ew0OwgZDH1SV6asIPGudnwTQtighDF2EAYlXChLoMJwqjAp4vAaACq6w== -"@esbuild/freebsd-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz#2e3f5de2951a8ec732a3e4ec4f5d47a7c9626001" - integrity sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw== - "@esbuild/freebsd-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== +"@esbuild/freebsd-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58" + integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q== + "@esbuild/freebsd-arm64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.4.tgz#8eaaa126d9ff24822c730f06a71ac2d1091dc1c2" integrity sha512-oH6JUZkocgmjzzYaP5juERLpJQSwazdjZrTPgLRmAU2bzJ688x0vfMB/WTv4r58RiecdHvXOPC46VtsMy/mepg== -"@esbuild/freebsd-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz#d3cf84ff28357ac8d0123309bac37fcfcdd98f53" - integrity sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw== - "@esbuild/freebsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== +"@esbuild/freebsd-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993" + integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A== + "@esbuild/freebsd-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.4.tgz#314eff900a71abf64d4e5bea31e430d8ebd78d79" integrity sha512-U4iWGn/9TrAfpAdfd56eO0pRxIgb0a8Wj9jClrhT8hvZnOnS4dfMPW7o4fn15D/KqoiVYHRm43jjBaTt3g/2KA== -"@esbuild/linux-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz#f44b0e3d5d470cd763a9bc4855a12b8cb73d6c12" - integrity sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q== - "@esbuild/linux-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== +"@esbuild/linux-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459" + integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg== + "@esbuild/linux-arm64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.4.tgz#5bed6bb8eb1d331644f8b31c87b8df57f204e84e" integrity sha512-UkGfQvYlwOaeYJzZG4cLV0hCASzQZnKNktRXUo3/BMZvdau40AOz9GzmGA063n1piq6VrFFh43apRDQx8hMP2w== -"@esbuild/linux-arm@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz#b239eb7e6cb7df9c34c6b08f4adf113da47e0e09" - integrity sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w== - "@esbuild/linux-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== +"@esbuild/linux-arm@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d" + integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ== + "@esbuild/linux-arm@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.4.tgz#6eaa41f37e231d113da715a1d9cc820e5523aeb6" integrity sha512-S2s9xWTGMTa/fG5EyMGDeL0wrWVgOSQcNddJWgu6rG1NCSXJHs76ZP9AsxjB3f2nZow9fWOyApklIgiTGZKhiw== -"@esbuild/linux-ia32@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz#f5f7886027cd61bed59178e981a0ef47ca5b72ef" - integrity sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA== - "@esbuild/linux-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== +"@esbuild/linux-ia32@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c" + integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg== + "@esbuild/linux-ia32@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.4.tgz#3fc352bb54e0959fda273cd2253b1c72ca41b8c2" integrity sha512-3lqFi4VFo/Vwvn77FZXeLd0ctolIJH/uXkH3yNgEk89Eh6D3XXAC9/iTPEzeEpsNE5IqGIsFa5Z0iPeOh25IyA== -"@esbuild/linux-loong64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz#d2329371726f9778156c89ea0bed26fc1bc3cd7e" - integrity sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg== - "@esbuild/linux-loong64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== +"@esbuild/linux-loong64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9" + integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw== + "@esbuild/linux-loong64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.4.tgz#86d54f690be53669cd2a38a5333ecf2608c11189" integrity sha512-HqpWZkVslDHIwdQ9D+gk7NuAulgQvRxF9no54ut/M55KEb3mi7sQS3GwpPJzSyzzP0UkjQVN7/tbk88/CaX4EQ== -"@esbuild/linux-mips64el@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz#8af86bdc6ee937c8a2803b3c197b28824f48df8e" - integrity sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg== - "@esbuild/linux-mips64el@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== +"@esbuild/linux-mips64el@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24" + integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q== + "@esbuild/linux-mips64el@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.4.tgz#3dbd897bd8f047fef35e69bd253b8f07ca7fe483" integrity sha512-d/nMCKKh/SVDbqR9ju+b78vOr0tNXtfBjcp5vfHONCCOAL9ad8gN9dC/u+UnH939pz7wO+0u/x9y1MaZcb/lKA== -"@esbuild/linux-ppc64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz#3fa3f8c6c9db3127f2ec5b2eba1cec67ff9a9b8e" - integrity sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg== - "@esbuild/linux-ppc64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== +"@esbuild/linux-ppc64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca" + integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw== + "@esbuild/linux-ppc64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.4.tgz#defaff6db9a60f08936fc0c59e0eabfb1055968a" integrity sha512-lOD9p2dmjZcNiTU+sGe9Nn6G3aYw3k0HBJies1PU0j5IGfp6tdKOQ6mzfACRFCqXjnBuTqK7eTYpwx09O5LLfg== -"@esbuild/linux-riscv64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz#1bd1b631de2533106a08876295bad3a19b20f629" - integrity sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A== - "@esbuild/linux-riscv64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== +"@esbuild/linux-riscv64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2" + integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ== + "@esbuild/linux-riscv64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.4.tgz#270a09f6f4205a8a8c8ed3c7dbabdcebaafa8a84" integrity sha512-mTGnwWwVshAjGsd8rP+K6583cPDgxOunsqqldEYij7T5/ysluMHKqUIT4TJHfrDFadUwrghAL6QjER4FeqQXoA== -"@esbuild/linux-s390x@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz#c87440b6522b9a36a9cafd05b0f1ca3c5bad4cca" - integrity sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA== - "@esbuild/linux-s390x@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== +"@esbuild/linux-s390x@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e" + integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA== + "@esbuild/linux-s390x@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.4.tgz#197695bece68f514dcdcc286562b5d48c5dad5f9" integrity sha512-AQYuUGp50XM29/N/dehADxvc2bUqDcoqrVuijop1Wv72SyxT6dDB9wjUxuPZm2HwIM876UoNNBMVd+iX/UTKVQ== -"@esbuild/linux-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz#49cd974dad6042ac0141ba332df6307c44e77fed" - integrity sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA== - "@esbuild/linux-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== +"@esbuild/linux-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc" + integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA== + "@esbuild/linux-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.4.tgz#db50cdfb071c0d367025c1c98563aab1318f800e" integrity sha512-+AsFBwKgQuhV2shfGgA9YloxLDVjXgUEWZum7glR5lLmV94IThu/u2JZGxTgjYby6kyXEx8lKOqP5rTEVBR0Rw== -"@esbuild/netbsd-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz#53dcfb5131376feff0911adff7f01b4821706cf6" - integrity sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw== - "@esbuild/netbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== +"@esbuild/netbsd-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53" + integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q== + "@esbuild/netbsd-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.4.tgz#e4d5d8022f8eddbd7d9899d58265915444f46f3b" integrity sha512-zD1TKYX9553OiLS/qkXPMlWoELYkH/VkzRYNKEU+GwFiqkq0SuxsKnsCg5UCdxN3cqd+1KZ8SS3R+WG/Hxy2jQ== -"@esbuild/openbsd-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz#f36888f73087bcd12c5bf9a4b18e348da9c80ad0" - integrity sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg== - "@esbuild/openbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== +"@esbuild/openbsd-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e" + integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA== + "@esbuild/openbsd-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.4.tgz#9b770e1e7745824cbe155f5a742fc781855a7e68" integrity sha512-PY1NjEsLRhPEFFg1AV0/4Or/gR+q2dOb9s5rXcPuCjyHRzbt8vnHJl3vYj+641TgWZzTFmSUnZbzs1zwTzjeqw== -"@esbuild/sunos-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz#41e046bb0849ae59702a5cfa8be300431a61ee3a" - integrity sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw== - "@esbuild/sunos-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== +"@esbuild/sunos-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b" + integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ== + "@esbuild/sunos-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.4.tgz#4c6d2290f8bf39ab9284f5a1b9a2210858e2d6e6" integrity sha512-B3Z7s8QZQW9tKGleMRXvVmwwLPAUoDCHs4WZ2ElVMWiortLJFowU1NjAhXOKjDgC7o9ByeVcwyOlJ+F2r6ZgmQ== -"@esbuild/win32-arm64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz#d6ed78742a6edd413e75796882ddaef8c1e23b93" - integrity sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg== - "@esbuild/win32-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== +"@esbuild/win32-arm64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c" + integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA== + "@esbuild/win32-arm64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.4.tgz#424954b6d598f40e2c5a0d85e3af07147fb41909" integrity sha512-0HCu8R3mY/H5V7N6kdlsJkvrT591bO/oRZy8ztF1dhgNU5xD5tAh5bKByT1UjTGjp/VVBsl1PDQ3L18SfvtnBQ== -"@esbuild/win32-ia32@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz#558bd53859a83fe887d7d2dcdc6cb3fc9aa9a9bc" - integrity sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g== - "@esbuild/win32-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== +"@esbuild/win32-ia32@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c" + integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg== + "@esbuild/win32-ia32@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.4.tgz#2c94e9c3a82c779d3f07b3fb5c482a2e3fecedb1" integrity sha512-VUjhVDQycse1gLbe06pC/uaA0M+piQXJpdpNdhg8sPmeIZZqu5xPoGWVCmcsOO2gaM2cywuTYTHkXRozo3/Nkg== -"@esbuild/win32-x64@0.16.14": - version "0.16.14" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz#90558dcb279989d92a42e5be4dfb884b2399361f" - integrity sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw== - "@esbuild/win32-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== +"@esbuild/win32-x64@0.17.2": + version "0.17.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61" + integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ== + "@esbuild/win32-x64@0.17.4": version "0.17.4" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.4.tgz#9b7760cdc77678bdbc5b582fae2cf3de449df048" @@ -2574,10 +2574,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.1.0-rc.0": - version "15.1.0-rc.0" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.1.0-rc.0.tgz#6a4468154ac386c639daf4010bf17eb9a36e5407" - integrity sha512-qMvPKJ62ROQMl6WhhK9WCzIwsf7ijai+g6RsqXA0VoGpQItpT5CfVkgVTwg/l6Q8JnMl1SD4YqVtqTbsJykcAw== +"@ngtools/webpack@15.2.0-next.1": + version "15.2.0-next.1" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.1.tgz#7be09753e008345e0cc6ea7734680c9641108308" + integrity sha512-3xlS6XHZHyocJT3iCGZn0olF97mEbktVshfDOLGPAKYcWD08xyZ7sMKxabJCO0NtoxDuo4Tjo3GOOtZusFy4SA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -5597,10 +5597,10 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-wasm@0.16.14: - version "0.16.14" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.14.tgz#02f2ad832fd329aff1c9a994f0bc6f3314793584" - integrity sha512-ivFAASSK8uF31NOTYLsH2Q0gZh+l3vCGphfDpJHenmtRVyjqVK6Cc+hUPaSB8iLA8sg28fYSOowBwf70J5Xd7w== +esbuild-wasm@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.2.tgz#790b952e2d1bc3c1fa7081476ed11151e257ed39" + integrity sha512-3Elb5Afc/EtIfugDGqARoM+MdkqiMZquVOivEzGS3AZosilNIwmnOI2W7pMefi9VGOhR4fdIqddytt+xjjhAdg== esbuild-wasm@0.17.4: version "0.17.4" @@ -5612,33 +5612,33 @@ esbuild-wasm@^0.16.0: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" integrity sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q== -esbuild@0.16.14: - version "0.16.14" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.14.tgz#366249a0a0fd431d3ab706195721ef1014198919" - integrity sha512-6xAn3O6ZZyoxZAEkwfI9hw4cEqSr/o1ViJtnkvImVkblmUN65Md04o0S/7H1WNu1XGf1Cjij/on7VO4psIYjkw== +esbuild@0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.2.tgz#c37ee608434be1c0e79f872c8bd484fb46af59df" + integrity sha512-odaHSgtYafOXt2nSISwdWlfRkb4ceMX3akY1mWspQpT08jsqVYEK1XtVusr250Rmbx8AVNWjMPI/yyvKqxOKMw== optionalDependencies: - "@esbuild/android-arm" "0.16.14" - "@esbuild/android-arm64" "0.16.14" - "@esbuild/android-x64" "0.16.14" - "@esbuild/darwin-arm64" "0.16.14" - "@esbuild/darwin-x64" "0.16.14" - "@esbuild/freebsd-arm64" "0.16.14" - "@esbuild/freebsd-x64" "0.16.14" - "@esbuild/linux-arm" "0.16.14" - "@esbuild/linux-arm64" "0.16.14" - "@esbuild/linux-ia32" "0.16.14" - "@esbuild/linux-loong64" "0.16.14" - "@esbuild/linux-mips64el" "0.16.14" - "@esbuild/linux-ppc64" "0.16.14" - "@esbuild/linux-riscv64" "0.16.14" - "@esbuild/linux-s390x" "0.16.14" - "@esbuild/linux-x64" "0.16.14" - "@esbuild/netbsd-x64" "0.16.14" - "@esbuild/openbsd-x64" "0.16.14" - "@esbuild/sunos-x64" "0.16.14" - "@esbuild/win32-arm64" "0.16.14" - "@esbuild/win32-ia32" "0.16.14" - "@esbuild/win32-x64" "0.16.14" + "@esbuild/android-arm" "0.17.2" + "@esbuild/android-arm64" "0.17.2" + "@esbuild/android-x64" "0.17.2" + "@esbuild/darwin-arm64" "0.17.2" + "@esbuild/darwin-x64" "0.17.2" + "@esbuild/freebsd-arm64" "0.17.2" + "@esbuild/freebsd-x64" "0.17.2" + "@esbuild/linux-arm" "0.17.2" + "@esbuild/linux-arm64" "0.17.2" + "@esbuild/linux-ia32" "0.17.2" + "@esbuild/linux-loong64" "0.17.2" + "@esbuild/linux-mips64el" "0.17.2" + "@esbuild/linux-ppc64" "0.17.2" + "@esbuild/linux-riscv64" "0.17.2" + "@esbuild/linux-s390x" "0.17.2" + "@esbuild/linux-x64" "0.17.2" + "@esbuild/netbsd-x64" "0.17.2" + "@esbuild/openbsd-x64" "0.17.2" + "@esbuild/sunos-x64" "0.17.2" + "@esbuild/win32-arm64" "0.17.2" + "@esbuild/win32-ia32" "0.17.2" + "@esbuild/win32-x64" "0.17.2" esbuild@0.17.4: version "0.17.4" @@ -9353,15 +9353,6 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.20: - version "8.4.20" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" - integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - postcss@8.4.21, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.16, postcss@^8.4.19: version "8.4.21" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" From ecde97fdd3a402893b3ca24bdb4233103cf752c7 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 25 Jan 2023 16:09:38 -0500 Subject: [PATCH 1307/1388] docs: release notes for the v15.1.3 release --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ced0ffa6895..d56e550d60bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ + + +# 15.1.3 (2023-01-25) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [de15ec576](https://github.com/angular/angular-cli/commit/de15ec5763afe231439c3f1ace35cbacefad2ca7) | fix | handle extended schematics when retrieving aliases | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [2c04f4a8f](https://github.com/angular/angular-cli/commit/2c04f4a8f493781fda65f31e81ad86cdd3e510c0) | fix | update browserslist config to include last 2 Chrome version | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [f31bf300b](https://github.com/angular/angular-cli/commit/f31bf300b9f226d9574060b0e4401c4da88c0ee3) | fix | avoid undefined module path for Sass imports in esbuild | +| [c152a4a13](https://github.com/angular/angular-cli/commit/c152a4a13f482948c6aedbbc99d1423f2cf43aea) | fix | update browserslist config to include last 2 Chrome versions | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [9de99202e](https://github.com/angular/angular-cli/commit/9de99202e9427973c7983940fcdea9e4580a79bd) | fix | handle number like strings in workspace writer | + +## Special Thanks + +Alan Agius, Charles Lyding and Doug Parker + + + # 15.2.0-next.1 (2023-01-18) From cdc800c99fddc5ec6d74e0a55b51ebb9dd932000 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 25 Jan 2023 16:22:33 -0500 Subject: [PATCH 1308/1388] release: cut the v15.2.0-next.2 release --- CHANGELOG.md | 42 ++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d56e550d60bd..aca5f63fef44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,45 @@ + + +# 15.2.0-next.2 (2023-01-25) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | +| [0f58a17c4](https://github.com/angular/angular-cli/commit/0f58a17c4ce92495d96721bc3f2b632a890bbab4) | feat | log number of files update during `ng update` | +| [b5737efae](https://github.com/angular/angular-cli/commit/b5737efae8448084af319fd077863ff6922d651e) | fix | handle extended schematics when retrieving aliases | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | +| [7b0c1ce0c](https://github.com/angular/angular-cli/commit/7b0c1ce0ca10bbb3a2099dc97f7d87afa07a2eef) | fix | update browserslist config to include last 2 Chrome version | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | +| [ecf43090d](https://github.com/angular/angular-cli/commit/ecf43090d110f996f45a259c279f1b83dcab3fd8) | feat | auto detect package manager ([#24305](https://github.com/angular/angular-cli/pull/24305)) | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [d19f260ba](https://github.com/angular/angular-cli/commit/d19f260baa8bb55142d69c9c71440b3c444d4b92) | fix | avoid undefined module path for Sass imports in esbuild | +| [97907addf](https://github.com/angular/angular-cli/commit/97907addfce1e630e71c186e836ab6a0ceec548b) | fix | update browserslist config to include last 2 Chrome versions | + +### @angular-devkit/core + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | +| [f6f5d7919](https://github.com/angular/angular-cli/commit/f6f5d79199613b9f9fa82680cdafd4a622ff4be0) | fix | handle number like strings in workspace writer | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker and Marvin + + + # 15.1.3 (2023-01-25) diff --git a/package.json b/package.json index 18d4672e6836..fe726686102e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0-next.1", + "version": "15.2.0-next.2", "private": true, "description": "Software Development Kit for Angular", "bin": { From f35e9908c08fe1d1bda82124c3ec2b6fe4242125 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 26 Jan 2023 11:01:59 +0000 Subject: [PATCH 1309/1388] fix(@angular-devkit/build-angular): print server builder errors and warnings Previously server builder errors and warnings were not being printed in the console correctly. Closes #24612 --- .../src/builders/server/index.ts | 19 +++++++++-- .../tests/behavior/build-errors_spec.ts | 34 +++++++++++++++++++ .../server/tests/behavior/web-workers_spec.ts | 4 +-- 3 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/server/tests/behavior/build-errors_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts index 011a42088805..057ec10dedf2 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts @@ -33,7 +33,13 @@ import { } from '../../utils/webpack-browser-config'; import { getCommonConfig, getStylesConfig } from '../../webpack/configs'; import { isPlatformServerInstalled } from '../../webpack/utils/helpers'; -import { webpackStatsLogger } from '../../webpack/utils/stats'; +import { + statsErrorsToString, + statsHasErrors, + statsHasWarnings, + statsWarningsToString, + webpackStatsLogger, +} from '../../webpack/utils/stats'; import { Schema as ServerBuilderOptions } from './schema'; /** @@ -87,12 +93,19 @@ export function execute( }, }).pipe( concatMap(async (output) => { - const { emittedFiles = [], outputPath, webpackStats } = output; + const { emittedFiles = [], outputPath, webpackStats, success } = output; if (!webpackStats) { throw new Error('Webpack stats build result is required.'); } - if (!output.success) { + if (!success) { + if (statsHasWarnings(webpackStats)) { + context.logger.warn(statsWarningsToString(webpackStats, { colors: true })); + } + if (statsHasErrors(webpackStats)) { + context.logger.error(statsErrorsToString(webpackStats, { colors: true })); + } + return output; } diff --git a/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/build-errors_spec.ts b/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/build-errors_spec.ts new file mode 100644 index 000000000000..8db1f181d3ee --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/build-errors_spec.ts @@ -0,0 +1,34 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { execute } from '../../index'; +import { BASE_OPTIONS, SERVER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(execute, SERVER_BUILDER_INFO, (harness) => { + describe('Behavior: "Build Error"', () => { + it('emits errors', async () => { + harness.useTarget('server', { + ...BASE_OPTIONS, + watch: true, + }); + + // Generate an error + await harness.appendToFile('src/main.server.ts', `const foo: = 'abc';`); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/TS1110:.*Type expected/), + }), + ); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/web-workers_spec.ts b/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/web-workers_spec.ts index b9cd9618cb78..0112fb0d38d8 100644 --- a/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/web-workers_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/server/tests/behavior/web-workers_spec.ts @@ -12,14 +12,14 @@ import { BASE_OPTIONS, SERVER_BUILDER_INFO, describeBuilder } from '../setup'; describeBuilder(execute, SERVER_BUILDER_INFO, (harness) => { describe('Behavior: "Errors"', () => { it('should not try to resolve web-workers', async () => { - harness.useTarget('test', { + harness.useTarget('server', { ...BASE_OPTIONS, }); await harness.writeFiles({ 'src/app/app.worker.ts': ` /// - + const foo: string = 'hello world'; addEventListener('message', ({ data }) => { postMessage(foo); From a541199d243cfba5f99c64aef485cbad216c1f49 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 27 Jan 2023 10:16:34 +0000 Subject: [PATCH 1310/1388] build: update github/codeql-action action to v2.2.1 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 6cdd21dac13c..b6c32bb60094 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@a34ca99b4610d924e04c68db79e503e1f79f9f02 # v2.1.39 + uses: github/codeql-action/upload-sarif@3ebbd71c74ef574dbc558c82f70e52732c8b44fe # v2.2.1 with: sarif_file: results.sarif From 3512a03621c7ed99324e82771e239e77c907367e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 27 Jan 2023 08:24:27 +0000 Subject: [PATCH 1311/1388] fix(@angular-devkit/build-angular): load JavaScript bundles as modules in karma With this change we load bundles as modules when using the Karma builder. --- .../src/webpack/plugins/karma/karma-context.html | 12 ++++++------ .../src/webpack/plugins/karma/karma-debug.html | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html index 587278156358..2b3902b5848d 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html @@ -30,14 +30,14 @@ // All served files with the latest timestamps %MAPPINGS% - - + + %SCRIPTS% - - - - + + + diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html index fed09ab2a369..0f13c288aa6a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html @@ -32,14 +32,14 @@ // All served files with the latest timestamps %MAPPINGS% - - + + %SCRIPTS% - - - - + + + From 7501953a406eee42b0bf8928cd63a402a070ad19 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 27 Jan 2023 18:13:40 +0000 Subject: [PATCH 1312/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 8 ++--- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- yarn.lock | 32 +++++++++---------- 7 files changed, 41 insertions(+), 41 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 654a424fa050..f1b9c71ec2c0 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 + - uses: angular/dev-infra/github-actions/branch-manager@17bf435a8cdd48bf218464b2722bc4f2bdd2728c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c7b611bc1189..b848abc54456 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@17bf435a8cdd48bf218464b2722bc4f2bdd2728c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 + - uses: angular/dev-infra/github-actions/post-approval-changes@17bf435a8cdd48bf218464b2722bc4f2bdd2728c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index fcfddbe2cac6..778f74e410d5 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 + - uses: angular/dev-infra/github-actions/feature-request@17bf435a8cdd48bf218464b2722bc4f2bdd2728c with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 5f2fb3d26954..db8909259f7b 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7 + - uses: angular/dev-infra/github-actions/lock-closed@17bf435a8cdd48bf218464b2722bc4f2bdd2728c with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index fe726686102e..e1b406ee1dc6 100644 --- a/package.json +++ b/package.json @@ -66,16 +66,16 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#96b75177ece9835fcde3c4e4bf0d93c3cdc267cb", - "@angular/cdk": "15.1.1", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9b87f88cb8633bb35a9c1979ed7a6f339205f69b", + "@angular/cdk": "15.1.2", "@angular/common": "15.2.0-next.2", "@angular/compiler": "15.2.0-next.2", "@angular/compiler-cli": "15.2.0-next.2", "@angular/core": "15.2.0-next.2", "@angular/forms": "15.2.0-next.2", "@angular/localize": "15.2.0-next.2", - "@angular/material": "15.1.1", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2c72b29c3bd46265d111ac42c2e7221c6b8d10d", + "@angular/material": "15.1.2", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0072e3afcb5bd9b80d1f9c8efbaab09179353399", "@angular/platform-browser": "15.2.0-next.2", "@angular/platform-browser-dynamic": "15.2.0-next.2", "@angular/platform-server": "15.2.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 26c92288efde..c19931e57210 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#198b9a1af958dee771fdf7b3c6fff7436d3774a4", - "@angular/cdk": "github:angular/cdk-builds#8c26bc73f303708f39f312cc7abace38e2999202", - "@angular/common": "github:angular/common-builds#6a75bbb3eaecae6ccfa4968c5a7a629929a5b0f7", - "@angular/compiler": "github:angular/compiler-builds#50ae490fc529be015b406d1e071720de1bac00df", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#29295449eaefb231209347f85e34ba105aa1acf6", - "@angular/core": "github:angular/core-builds#98b362f0bb6c0d005dc36a91176b4c302bbc2f2c", - "@angular/forms": "github:angular/forms-builds#7057349eed66f30fbc1a7160b506b451196ce0d4", - "@angular/language-service": "github:angular/language-service-builds#cfacce70b8da5d5f5980ba6218634cb37cbfbbb5", - "@angular/localize": "github:angular/localize-builds#03d6282765ed3ddeed4d79b08c352246156d4c0e", - "@angular/material": "github:angular/material-builds#af6d7ab040b95f5e3b4c3ff707d75b326e31626a", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#255b9d000c19fa0a2ab12865e1ee06cf97f94bc5", - "@angular/platform-browser": "github:angular/platform-browser-builds#1e44140a92f88a076631fd17ae5fc76a4c1bd9bb", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#ede96992eed3547106f6cb246e173667b43f8f70", - "@angular/platform-server": "github:angular/platform-server-builds#6b157bd859481213bb6cd7fcd8fd3dc823203e51", - "@angular/router": "github:angular/router-builds#dee177ceff8dea6bb586c695b5f7d4f9f300cd7c", - "@angular/service-worker": "github:angular/service-worker-builds#b7e6f7539c97797a99af36aa065df8cd5d1cfb1b" + "@angular/animations": "github:angular/animations-builds#03bbe493808349c85e21971762cfd4818c4444cf", + "@angular/cdk": "github:angular/cdk-builds#6d7e201a65858d5216709a460d48e655402622ff", + "@angular/common": "github:angular/common-builds#d4519f5378cdef5a0f75c20ac883673757c86968", + "@angular/compiler": "github:angular/compiler-builds#76e1b6914862e81c3af4f98ac1dafb3ecc830d1c", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#07422306cd968470b9fab4a805de9c84e5e2f124", + "@angular/core": "github:angular/core-builds#06cf6e469d8b66dce4539f591895bd6a45e36082", + "@angular/forms": "github:angular/forms-builds#aca3b4b0eb061ef392f69996ab2b987425601aac", + "@angular/language-service": "github:angular/language-service-builds#88d80a0dee9593cbb400dd64fed69913d303baaa", + "@angular/localize": "github:angular/localize-builds#ede049aa9ef0d2c6e2fe2387f14d74c3dd3e1f2e", + "@angular/material": "github:angular/material-builds#7acbe51132b8cf9531af88697ffad9e273056987", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#886c9a03a82a53868cb310afcf5bcea8dea94a8d", + "@angular/platform-browser": "github:angular/platform-browser-builds#d7c70b1420f7b5ae5fcd380be73c9ab4e7103660", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6c42776d59fe7f3f869349604b523648a6f456c5", + "@angular/platform-server": "github:angular/platform-server-builds#3e07a09d97bea5b2ca9078e086b2550c89fce888", + "@angular/router": "github:angular/router-builds#c055da66042444ae57f2de777191c46527a036ba", + "@angular/service-worker": "github:angular/service-worker-builds#1ee1015fa856c2f03db414bb03811bf23536b78b" } } diff --git a/yarn.lock b/yarn.lock index acba17060cdb..91ac93ad55e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,10 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#96b75177ece9835fcde3c4e4bf0d93c3cdc267cb": - version "0.0.0-c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7" - uid "96b75177ece9835fcde3c4e4bf0d93c3cdc267cb" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#96b75177ece9835fcde3c4e4bf0d93c3cdc267cb" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#9b87f88cb8633bb35a9c1979ed7a6f339205f69b": + version "0.0.0-17bf435a8cdd48bf218464b2722bc4f2bdd2728c" + uid "9b87f88cb8633bb35a9c1979ed7a6f339205f69b" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9b87f88cb8633bb35a9c1979ed7a6f339205f69b" dependencies: "@angular-devkit/build-angular" "15.2.0-next.1" "@angular/benchpress" "0.3.0" @@ -159,10 +159,10 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.1.1": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.1.tgz#6a9d951bd45020f034e1b1bc2a36963346a2229a" - integrity sha512-99zaW+EqS/pJh2BLxC+L+/mAyaC3oncRUqRL4WWLENZI2lqD6mCe/kRYDL57WbSZaI54Of38u9GhkBVA/0rn7A== +"@angular/cdk@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.2.tgz#be0b7c5b6fa093e77a9153b7e7120210b48b85b9" + integrity sha512-LO3b/akdcPaRwSa+rbrI02THwQm+O4Z3rDIvbDTHyCf3Vmk3p7gsp8WtKAMMJlkCF88VQ3Wh4ZZcfNAtbVO7EA== dependencies: tslib "^2.3.0" optionalDependencies: @@ -251,10 +251,10 @@ glob "8.1.0" yargs "^17.2.1" -"@angular/material@15.1.1": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.1.tgz#54be848cfba0618b12e6a4c030cf222fb79a27c6" - integrity sha512-QhyTJv9CnimXKXb4LCH93ovJVAdnoHyElwspl80PcfAV/6A6VrRQAflFoul0WL4WPrV50DG7TWYiEwHPpblbCw== +"@angular/material@15.1.2": + version "15.1.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.2.tgz#bc9af3685af3a6ddf1a0df8909f23f5fcfb9897f" + integrity sha512-ozyFcFRca+iIArVcPMdTwUj5pWa9HcO5zalxWhykp5cYCyG3rw2RGbae/kXw7edUZUr977POtMYTOsAT2Aw7fg== dependencies: "@material/animation" "15.0.0-canary.684e33d25.0" "@material/auto-init" "15.0.0-canary.684e33d25.0" @@ -305,10 +305,10 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2c72b29c3bd46265d111ac42c2e7221c6b8d10d": - version "0.0.0-c3fdf4abbaabc48e1242d0690bae6b96b5c35ed7" - uid a2c72b29c3bd46265d111ac42c2e7221c6b8d10d - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a2c72b29c3bd46265d111ac42c2e7221c6b8d10d" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#0072e3afcb5bd9b80d1f9c8efbaab09179353399": + version "0.0.0-17bf435a8cdd48bf218464b2722bc4f2bdd2728c" + uid "0072e3afcb5bd9b80d1f9c8efbaab09179353399" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0072e3afcb5bd9b80d1f9c8efbaab09179353399" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" From 7922bec35e68f79063baed8a8360f5459d9b8c23 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 30 Jan 2023 14:14:49 +0000 Subject: [PATCH 1313/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 16 +- .../angular_devkit/build_angular/package.json | 12 +- yarn.lock | 609 ++++++++++-------- 4 files changed, 345 insertions(+), 298 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 957335fe4169..df3eac92c43b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -7,10 +7,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "bazel_skylib", - sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506", + sha256 = "f24ab666394232f834f74d19e2ff142b0af17466ea0c69a3f4c276ee75f6efce", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.0/bazel-skylib-1.4.0.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.0/bazel-skylib-1.4.0.tar.gz", ], ) diff --git a/package.json b/package.json index e1b406ee1dc6..1375e74feddd 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "@angular/router": "15.2.0-next.2", "@angular/service-worker": "15.2.0-next.2", "@babel/core": "7.20.12", - "@babel/generator": "7.20.7", + "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.7", "@babel/plugin-transform-async-to-generator": "7.20.7", @@ -133,7 +133,7 @@ "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", - "browserslist": "4.21.4", + "browserslist": "4.21.5", "cacache": "17.0.4", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", @@ -141,9 +141,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.17.4", - "esbuild-wasm": "0.17.4", - "eslint": "8.32.0", + "esbuild": "0.17.5", + "esbuild-wasm": "0.17.5", + "eslint": "8.33.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.27.5", @@ -204,13 +204,13 @@ "spdx-satisfies": "^5.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.16.1", + "terser": "5.16.2", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", - "tslib": "2.4.1", + "tslib": "2.5.0", "typescript": "4.9.4", - "verdaccio": "5.19.1", + "verdaccio": "5.20.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", "webpack-dev-middleware": "6.0.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index ac3aae77afeb..c498d6f550b6 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -11,7 +11,7 @@ "@angular-devkit/build-webpack": "0.0.0-EXPERIMENTAL-PLACEHOLDER", "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@babel/core": "7.20.12", - "@babel/generator": "7.20.7", + "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.7", "@babel/plugin-transform-async-to-generator": "7.20.7", @@ -25,13 +25,13 @@ "autoprefixer": "10.4.13", "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "4.21.4", + "browserslist": "4.21.5", "cacache": "17.0.4", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.17.4", + "esbuild-wasm": "0.17.5", "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -56,10 +56,10 @@ "semver": "7.3.8", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "terser": "5.16.1", + "terser": "5.16.2", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.4.1", + "tslib": "2.5.0", "webpack": "5.75.0", "webpack-dev-middleware": "6.0.1", "webpack-dev-server": "4.11.1", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.17.4" + "esbuild": "0.17.5" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/yarn.lock b/yarn.lock index 91ac93ad55e6..ff41d68e59c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -409,6 +409,15 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/generator@7.20.14": + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" + integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/generator@7.20.7", "@babel/generator@^7.19.3", "@babel/generator@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" @@ -1241,7 +1250,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.20.13": +"@babel/runtime@7.20.13", "@babel/runtime@^7.15.4": version "7.20.13" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== @@ -1385,10 +1394,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774" integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ== -"@esbuild/android-arm64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.4.tgz#0a900a7e448cc038ae5a751255257fc67163ed32" - integrity sha512-91VwDrl4EpxBCiG6h2LZZEkuNvVZYJkv2T9gyLG/mhGG1qrM7i5SwUcg/hlSPnL/4hDT0TFcF35/XMGSn0bemg== +"@esbuild/android-arm64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2" + integrity sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw== "@esbuild/android-arm@0.16.17": version "0.16.17" @@ -1400,10 +1409,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab" integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q== -"@esbuild/android-arm@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.4.tgz#fe32ce82eb6064d3dc13c0d8ca0e440bbc776c93" - integrity sha512-R9GCe2xl2XDSc2XbQB63mFiFXHIVkOP+ltIxICKXqUPrFX97z6Z7vONCLQM1pSOLGqfLrGi3B7nbhxmFY/fomg== +"@esbuild/android-arm@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251" + integrity sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ== "@esbuild/android-x64@0.16.17": version "0.16.17" @@ -1415,10 +1424,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8" integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ== -"@esbuild/android-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.4.tgz#6ae1056f6ecf1963c1d076cf5f0109b52d8049f6" - integrity sha512-mGSqhEPL7029XL7QHNPxPs15JVa02hvZvysUcyMP9UXdGFwncl2WU0bqx+Ysgzd+WAbv8rfNa73QveOxAnAM2w== +"@esbuild/android-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef" + integrity sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA== "@esbuild/darwin-arm64@0.16.17": version "0.16.17" @@ -1430,10 +1439,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a" integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw== -"@esbuild/darwin-arm64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.4.tgz#5064d81ee5b8d646a5b7cc3e53c98cb983c4af55" - integrity sha512-tTyJRM9dHvlMPt1KrBFVB5OW1kXOsRNvAPtbzoKazd5RhD5/wKlXk1qR2MpaZRYwf4WDMadt0Pv0GwxB41CVow== +"@esbuild/darwin-arm64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49" + integrity sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw== "@esbuild/darwin-x64@0.16.17": version "0.16.17" @@ -1445,10 +1454,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97" integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw== -"@esbuild/darwin-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.4.tgz#67f0213b3333248b32a97a7fc3fee880c2157674" - integrity sha512-phQuC2Imrb3TjOJwLN8EO50nb2FHe8Ew0OwgZDH1SV6asIPGudnwTQtighDF2EAYlXChLoMJwqjAp4vAaACq6w== +"@esbuild/darwin-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d" + integrity sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA== "@esbuild/freebsd-arm64@0.16.17": version "0.16.17" @@ -1460,10 +1469,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58" integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q== -"@esbuild/freebsd-arm64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.4.tgz#8eaaa126d9ff24822c730f06a71ac2d1091dc1c2" - integrity sha512-oH6JUZkocgmjzzYaP5juERLpJQSwazdjZrTPgLRmAU2bzJ688x0vfMB/WTv4r58RiecdHvXOPC46VtsMy/mepg== +"@esbuild/freebsd-arm64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367" + integrity sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg== "@esbuild/freebsd-x64@0.16.17": version "0.16.17" @@ -1475,10 +1484,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993" integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A== -"@esbuild/freebsd-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.4.tgz#314eff900a71abf64d4e5bea31e430d8ebd78d79" - integrity sha512-U4iWGn/9TrAfpAdfd56eO0pRxIgb0a8Wj9jClrhT8hvZnOnS4dfMPW7o4fn15D/KqoiVYHRm43jjBaTt3g/2KA== +"@esbuild/freebsd-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f" + integrity sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg== "@esbuild/linux-arm64@0.16.17": version "0.16.17" @@ -1490,10 +1499,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459" integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg== -"@esbuild/linux-arm64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.4.tgz#5bed6bb8eb1d331644f8b31c87b8df57f204e84e" - integrity sha512-UkGfQvYlwOaeYJzZG4cLV0hCASzQZnKNktRXUo3/BMZvdau40AOz9GzmGA063n1piq6VrFFh43apRDQx8hMP2w== +"@esbuild/linux-arm64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f" + integrity sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg== "@esbuild/linux-arm@0.16.17": version "0.16.17" @@ -1505,10 +1514,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d" integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ== -"@esbuild/linux-arm@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.4.tgz#6eaa41f37e231d113da715a1d9cc820e5523aeb6" - integrity sha512-S2s9xWTGMTa/fG5EyMGDeL0wrWVgOSQcNddJWgu6rG1NCSXJHs76ZP9AsxjB3f2nZow9fWOyApklIgiTGZKhiw== +"@esbuild/linux-arm@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07" + integrity sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw== "@esbuild/linux-ia32@0.16.17": version "0.16.17" @@ -1520,10 +1529,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c" integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg== -"@esbuild/linux-ia32@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.4.tgz#3fc352bb54e0959fda273cd2253b1c72ca41b8c2" - integrity sha512-3lqFi4VFo/Vwvn77FZXeLd0ctolIJH/uXkH3yNgEk89Eh6D3XXAC9/iTPEzeEpsNE5IqGIsFa5Z0iPeOh25IyA== +"@esbuild/linux-ia32@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4" + integrity sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ== "@esbuild/linux-loong64@0.16.17": version "0.16.17" @@ -1535,10 +1544,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9" integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw== -"@esbuild/linux-loong64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.4.tgz#86d54f690be53669cd2a38a5333ecf2608c11189" - integrity sha512-HqpWZkVslDHIwdQ9D+gk7NuAulgQvRxF9no54ut/M55KEb3mi7sQS3GwpPJzSyzzP0UkjQVN7/tbk88/CaX4EQ== +"@esbuild/linux-loong64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea" + integrity sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g== "@esbuild/linux-mips64el@0.16.17": version "0.16.17" @@ -1550,10 +1559,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24" integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q== -"@esbuild/linux-mips64el@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.4.tgz#3dbd897bd8f047fef35e69bd253b8f07ca7fe483" - integrity sha512-d/nMCKKh/SVDbqR9ju+b78vOr0tNXtfBjcp5vfHONCCOAL9ad8gN9dC/u+UnH939pz7wO+0u/x9y1MaZcb/lKA== +"@esbuild/linux-mips64el@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4" + integrity sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg== "@esbuild/linux-ppc64@0.16.17": version "0.16.17" @@ -1565,10 +1574,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca" integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw== -"@esbuild/linux-ppc64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.4.tgz#defaff6db9a60f08936fc0c59e0eabfb1055968a" - integrity sha512-lOD9p2dmjZcNiTU+sGe9Nn6G3aYw3k0HBJies1PU0j5IGfp6tdKOQ6mzfACRFCqXjnBuTqK7eTYpwx09O5LLfg== +"@esbuild/linux-ppc64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c" + integrity sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg== "@esbuild/linux-riscv64@0.16.17": version "0.16.17" @@ -1580,10 +1589,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2" integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ== -"@esbuild/linux-riscv64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.4.tgz#270a09f6f4205a8a8c8ed3c7dbabdcebaafa8a84" - integrity sha512-mTGnwWwVshAjGsd8rP+K6583cPDgxOunsqqldEYij7T5/ysluMHKqUIT4TJHfrDFadUwrghAL6QjER4FeqQXoA== +"@esbuild/linux-riscv64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c" + integrity sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ== "@esbuild/linux-s390x@0.16.17": version "0.16.17" @@ -1595,10 +1604,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e" integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA== -"@esbuild/linux-s390x@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.4.tgz#197695bece68f514dcdcc286562b5d48c5dad5f9" - integrity sha512-AQYuUGp50XM29/N/dehADxvc2bUqDcoqrVuijop1Wv72SyxT6dDB9wjUxuPZm2HwIM876UoNNBMVd+iX/UTKVQ== +"@esbuild/linux-s390x@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735" + integrity sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw== "@esbuild/linux-x64@0.16.17": version "0.16.17" @@ -1610,10 +1619,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc" integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA== -"@esbuild/linux-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.4.tgz#db50cdfb071c0d367025c1c98563aab1318f800e" - integrity sha512-+AsFBwKgQuhV2shfGgA9YloxLDVjXgUEWZum7glR5lLmV94IThu/u2JZGxTgjYby6kyXEx8lKOqP5rTEVBR0Rw== +"@esbuild/linux-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050" + integrity sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g== "@esbuild/netbsd-x64@0.16.17": version "0.16.17" @@ -1625,10 +1634,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53" integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q== -"@esbuild/netbsd-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.4.tgz#e4d5d8022f8eddbd7d9899d58265915444f46f3b" - integrity sha512-zD1TKYX9553OiLS/qkXPMlWoELYkH/VkzRYNKEU+GwFiqkq0SuxsKnsCg5UCdxN3cqd+1KZ8SS3R+WG/Hxy2jQ== +"@esbuild/netbsd-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a" + integrity sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA== "@esbuild/openbsd-x64@0.16.17": version "0.16.17" @@ -1640,10 +1649,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e" integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA== -"@esbuild/openbsd-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.4.tgz#9b770e1e7745824cbe155f5a742fc781855a7e68" - integrity sha512-PY1NjEsLRhPEFFg1AV0/4Or/gR+q2dOb9s5rXcPuCjyHRzbt8vnHJl3vYj+641TgWZzTFmSUnZbzs1zwTzjeqw== +"@esbuild/openbsd-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a" + integrity sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw== "@esbuild/sunos-x64@0.16.17": version "0.16.17" @@ -1655,10 +1664,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b" integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ== -"@esbuild/sunos-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.4.tgz#4c6d2290f8bf39ab9284f5a1b9a2210858e2d6e6" - integrity sha512-B3Z7s8QZQW9tKGleMRXvVmwwLPAUoDCHs4WZ2ElVMWiortLJFowU1NjAhXOKjDgC7o9ByeVcwyOlJ+F2r6ZgmQ== +"@esbuild/sunos-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0" + integrity sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw== "@esbuild/win32-arm64@0.16.17": version "0.16.17" @@ -1670,10 +1679,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c" integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA== -"@esbuild/win32-arm64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.4.tgz#424954b6d598f40e2c5a0d85e3af07147fb41909" - integrity sha512-0HCu8R3mY/H5V7N6kdlsJkvrT591bO/oRZy8ztF1dhgNU5xD5tAh5bKByT1UjTGjp/VVBsl1PDQ3L18SfvtnBQ== +"@esbuild/win32-arm64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850" + integrity sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg== "@esbuild/win32-ia32@0.16.17": version "0.16.17" @@ -1685,10 +1694,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c" integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg== -"@esbuild/win32-ia32@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.4.tgz#2c94e9c3a82c779d3f07b3fb5c482a2e3fecedb1" - integrity sha512-VUjhVDQycse1gLbe06pC/uaA0M+piQXJpdpNdhg8sPmeIZZqu5xPoGWVCmcsOO2gaM2cywuTYTHkXRozo3/Nkg== +"@esbuild/win32-ia32@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0" + integrity sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ== "@esbuild/win32-x64@0.16.17": version "0.16.17" @@ -1700,10 +1709,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61" integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ== -"@esbuild/win32-x64@0.17.4": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.4.tgz#9b7760cdc77678bdbc5b582fae2cf3de449df048" - integrity sha512-0kLAjs+xN5OjhTt/aUA6t48SfENSCKgGPfExADYTOo/UCn0ivxos9/anUVeSfg+L+2O9xkFxvJXIJfG+Q4sYSg== +"@esbuild/win32-x64@0.17.5": + version "0.17.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be" + integrity sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw== "@eslint/eslintrc@^1.4.1": version "1.4.1" @@ -3185,6 +3194,11 @@ "@types/node" "*" "@types/webpack" "^4" +"@types/lodash@^4.14.175": + version "4.14.191" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== + "@types/long@^4.0.0": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" @@ -3602,6 +3616,31 @@ http-errors "2.0.0" http-status-codes "2.2.0" +"@verdaccio/config@6.0.0-6-next.55": + version "6.0.0-6-next.55" + resolved "https://registry.yarnpkg.com/@verdaccio/config/-/config-6.0.0-6-next.55.tgz#a88436376ad07563d769a68c4b10a60d25114ae4" + integrity sha512-fZnk9Z4BY5e77F2zZmezfpjdJa65acitOWHI5EUirQ0yaez+eHDLAqHYq4YZ04cBXyk0aF6k9QTXJqj8Y6Luww== + dependencies: + "@verdaccio/core" "6.0.0-6-next.55" + "@verdaccio/utils" "6.0.0-6-next.23" + debug "4.3.4" + lodash "4.17.21" + minimatch "3.1.2" + yaml "2.2.0" + yup "0.32.11" + +"@verdaccio/core@6.0.0-6-next.55": + version "6.0.0-6-next.55" + resolved "https://registry.yarnpkg.com/@verdaccio/core/-/core-6.0.0-6-next.55.tgz#1421d6be7d8933d987bcd87f0740e19b9318e5a1" + integrity sha512-7VNhZw3f92FzUmim3KgQAbG+IuPOtjk9QkeYoI3tvRFmcOVdjg4eh7e6ALu4GiCcTEOpZj6JJMK5PpbflmzMHQ== + dependencies: + ajv "8.11.2" + core-js "3.27.0" + http-errors "1.8.1" + http-status-codes "2.2.0" + process-warning "1.0.0" + semver "7.3.8" + "@verdaccio/file-locking@10.3.0": version "10.3.0" resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.3.0.tgz#a4342665c549163817c267bfa451e32ed3009767" @@ -3628,10 +3667,41 @@ resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/ui-theme@6.0.0-6-next.52": - version "6.0.0-6-next.52" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.52.tgz#afffd2c2da1c011162a665a549c6f4d115075ba4" - integrity sha512-fbN7LYp36t17vXiIH7qmEtlNtw4LC7LvGjsUkSYhESlMYx3oCrhZdG1D8H1lvDYpn/aGYYfwUWTHGMCHKqFgLA== +"@verdaccio/tarball@11.0.0-6-next.24": + version "11.0.0-6-next.24" + resolved "https://registry.yarnpkg.com/@verdaccio/tarball/-/tarball-11.0.0-6-next.24.tgz#2b94f8fce425d18a98868409504e58ceece687b1" + integrity sha512-dcXkLw/b3Elt8xzU0vWc+Yqpb+g6et8vrclgqHhRE0HdArngNMmb8KynvDlkbWpNQJNNdM/bPidCOI3nt7KEnQ== + dependencies: + "@verdaccio/core" "6.0.0-6-next.55" + "@verdaccio/url" "11.0.0-6-next.21" + "@verdaccio/utils" "6.0.0-6-next.23" + debug "4.3.4" + lodash "4.17.21" + +"@verdaccio/ui-theme@6.0.0-6-next.55": + version "6.0.0-6-next.55" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.55.tgz#faf4f4a0e2c949d7ea5ff58762ba290502a318e6" + integrity sha512-EnMYW5vmN8z8gC3WHuS0T/wS+AK+I1/SRmY5IoLUxoaGOAnZmHCeFF7eRIuhRwSQ/qTGCdtvvV6RRT8OaUjSCw== + +"@verdaccio/url@11.0.0-6-next.21": + version "11.0.0-6-next.21" + resolved "https://registry.yarnpkg.com/@verdaccio/url/-/url-11.0.0-6-next.21.tgz#b772c05a0a1559502c26b8c687e1d874ebc8005f" + integrity sha512-ojDaaDWsq/mvIZu+fxXX+VL/8pEObtAhy0dr5wp3Zo3UrBu4m8ltLqH5RUnj2vUc/5YB/krv/FffgSjWciVPQg== + dependencies: + "@verdaccio/core" "6.0.0-6-next.55" + debug "4.3.4" + lodash "4.17.21" + validator "13.7.0" + +"@verdaccio/utils@6.0.0-6-next.23": + version "6.0.0-6-next.23" + resolved "https://registry.yarnpkg.com/@verdaccio/utils/-/utils-6.0.0-6-next.23.tgz#19b8f41702be5c76420f3360c55fed155d420989" + integrity sha512-PpKgisv6cRm43JNyFaUTTclyOy8VRubjniA3CmbEQIAImZ1YQMSAQ06nsWpZEhIx4NuRXmB5CiUHg2U4/0+oCg== + dependencies: + "@verdaccio/core" "6.0.0-6-next.55" + lodash "4.17.21" + minimatch "3.1.2" + semver "7.3.8" "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -3890,6 +3960,16 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" +ajv@8.11.2: + version "8.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@8.12.0, ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" @@ -4397,6 +4477,16 @@ browserslist@*, browserslist@4.21.4, browserslist@^4.14.5, browserslist@^4.21.3, node-releases "^2.0.6" update-browserslist-db "^1.0.9" +browserslist@4.21.5: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -4552,6 +4642,11 @@ caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz#6d4ba828ab19f49f9bcd14a8430d30feebf1e0c5" integrity sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw== +caniuse-lite@^1.0.30001449: + version "1.0.30001449" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz#a8d11f6a814c75c9ce9d851dc53eb1d1dfbcd657" + integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -4675,12 +4770,12 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -clipanion@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-3.1.0.tgz#3e217dd6476bb9236638b07eb4673f7309839819" - integrity sha512-v025Hz+IDQ15FpOyK8p02h5bFznMu6rLFsJSyOPR+7WrbSnZ1Ek6pblPukV7K5tC/dsWfncQPIrJ4iUy2PXkbw== +clipanion@3.2.0-rc.14: + version "3.2.0-rc.14" + resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-3.2.0-rc.14.tgz#d98154a74ae533a940de1af041e6246ba9725f0e" + integrity sha512-lj5zydbH786t6gpXe6oNX7CM5YKhd0CDhcXG8pKyRa2Nz5cgj1yhnNKxDi/MyPYwjyvAG5oVBeDdYCGUAgD8lQ== dependencies: - typanion "^3.3.1" + typanion "^3.8.0" cliui@^6.0.0: version "6.0.0" @@ -4945,6 +5040,11 @@ core-js-compat@^3.25.1: dependencies: browserslist "^4.21.4" +core-js@3.27.0: + version "3.27.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.0.tgz#a343bc614f29d9dcffa7616e65e10f9001cdd332" + integrity sha512-wY6cKosevs430KRkHUIsvepDXHGjlXOZO3hYXNyqpD6JvB0X28aXyv0t1Y1vZMwE7SoKmtfa6IASHCPN52FwBQ== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -5059,14 +5159,6 @@ custom-event@~1.0.0: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -5362,7 +5454,7 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.251: +electron-to-chromium@^1.4.251, electron-to-chromium@^1.4.284: version "1.4.284" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== @@ -5549,24 +5641,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" @@ -5579,33 +5653,15 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - esbuild-wasm@0.17.2: version "0.17.2" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.2.tgz#790b952e2d1bc3c1fa7081476ed11151e257ed39" integrity sha512-3Elb5Afc/EtIfugDGqARoM+MdkqiMZquVOivEzGS3AZosilNIwmnOI2W7pMefi9VGOhR4fdIqddytt+xjjhAdg== -esbuild-wasm@0.17.4: - version "0.17.4" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.4.tgz#794892bcaebdcca9824ff455e25087da8149e720" - integrity sha512-CtTQ38OPbqTP5AtfOiEceS/1vomIZfpJ1zSbY0wLiGJ+pMhhhW6X4+jJzWJSubjz2JgoR7jHgzpBWF1h//Hw8w== +esbuild-wasm@0.17.5: + version "0.17.5" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" + integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g== esbuild-wasm@^0.16.0: version "0.16.17" @@ -5640,33 +5696,33 @@ esbuild@0.17.2: "@esbuild/win32-ia32" "0.17.2" "@esbuild/win32-x64" "0.17.2" -esbuild@0.17.4: - version "0.17.4" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.4.tgz#af4f8f78604c67f8e6afbdee36a3f4211ecfc859" - integrity sha512-zBn9MeCwT7W5F1a3lXClD61ip6vQM+H8Msb0w8zMT4ZKBpDg+rFAraNyWCDelB/2L6M3g6AXHPnsyvjMFnxtFw== +esbuild@0.17.5: + version "0.17.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.5.tgz#cd76d75700d49ac050ad9eedfbed777bd6a9d930" + integrity sha512-Bu6WLCc9NMsNoMJUjGl3yBzTjVLXdysMltxQWiLAypP+/vQrf+3L1Xe8fCXzxaECus2cEJ9M7pk4yKatEwQMqQ== optionalDependencies: - "@esbuild/android-arm" "0.17.4" - "@esbuild/android-arm64" "0.17.4" - "@esbuild/android-x64" "0.17.4" - "@esbuild/darwin-arm64" "0.17.4" - "@esbuild/darwin-x64" "0.17.4" - "@esbuild/freebsd-arm64" "0.17.4" - "@esbuild/freebsd-x64" "0.17.4" - "@esbuild/linux-arm" "0.17.4" - "@esbuild/linux-arm64" "0.17.4" - "@esbuild/linux-ia32" "0.17.4" - "@esbuild/linux-loong64" "0.17.4" - "@esbuild/linux-mips64el" "0.17.4" - "@esbuild/linux-ppc64" "0.17.4" - "@esbuild/linux-riscv64" "0.17.4" - "@esbuild/linux-s390x" "0.17.4" - "@esbuild/linux-x64" "0.17.4" - "@esbuild/netbsd-x64" "0.17.4" - "@esbuild/openbsd-x64" "0.17.4" - "@esbuild/sunos-x64" "0.17.4" - "@esbuild/win32-arm64" "0.17.4" - "@esbuild/win32-ia32" "0.17.4" - "@esbuild/win32-x64" "0.17.4" + "@esbuild/android-arm" "0.17.5" + "@esbuild/android-arm64" "0.17.5" + "@esbuild/android-x64" "0.17.5" + "@esbuild/darwin-arm64" "0.17.5" + "@esbuild/darwin-x64" "0.17.5" + "@esbuild/freebsd-arm64" "0.17.5" + "@esbuild/freebsd-x64" "0.17.5" + "@esbuild/linux-arm" "0.17.5" + "@esbuild/linux-arm64" "0.17.5" + "@esbuild/linux-ia32" "0.17.5" + "@esbuild/linux-loong64" "0.17.5" + "@esbuild/linux-mips64el" "0.17.5" + "@esbuild/linux-ppc64" "0.17.5" + "@esbuild/linux-riscv64" "0.17.5" + "@esbuild/linux-s390x" "0.17.5" + "@esbuild/linux-x64" "0.17.5" + "@esbuild/netbsd-x64" "0.17.5" + "@esbuild/openbsd-x64" "0.17.5" + "@esbuild/sunos-x64" "0.17.5" + "@esbuild/win32-arm64" "0.17.5" + "@esbuild/win32-ia32" "0.17.5" + "@esbuild/win32-x64" "0.17.5" esbuild@^0.16.0: version "0.16.17" @@ -5721,14 +5777,6 @@ eslint-config-prettier@8.6.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== -eslint-import-resolver-node@0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - eslint-import-resolver-node@^0.3.7: version "0.3.7" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" @@ -5804,10 +5852,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.32.0: - version "8.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.32.0.tgz#d9690056bb6f1a302bd991e7090f5b68fbaea861" - integrity sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ== +eslint@8.33.0: + version "8.33.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" + integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -5902,14 +5950,6 @@ etag@1.8.1, etag@^1.8.1, etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" @@ -5992,13 +6032,6 @@ express@4.18.2, express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -6702,6 +6735,17 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -7164,7 +7208,7 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-promise@^2.1.0, is-promise@^2.2.2: +is-promise@^2.1.0: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== @@ -7894,6 +7938,11 @@ lockfile@1.0.4: dependencies: signal-exit "^3.0.2" +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -7978,13 +8027,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - lunr-mutable-indexes@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/lunr-mutable-indexes/-/lunr-mutable-indexes-2.3.2.tgz#864253489735d598c5140f3fb75c0a5c8be2e98c" @@ -8080,20 +8122,6 @@ memfs@^3.4.12, memfs@^3.4.3: dependencies: fs-monkey "^1.0.3" -memoizee@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -8176,20 +8204,13 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +"minimatch@2 || 3", minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" - integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== - dependencies: - brace-expansion "^2.0.1" - minimatch@^5.0.1, minimatch@^5.1.0: version "5.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" @@ -8364,6 +8385,11 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" +nanoclone@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" + integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== + nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" @@ -8403,11 +8429,6 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - ng-packagr@15.1.1: version "15.1.1" resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.1.tgz#c59de99748342f14cb2119a605e8ebd89250a9d2" @@ -8460,7 +8481,7 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.2.0: +node-fetch@2.6.8, node-fetch@^2.2.0: version "2.6.8" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== @@ -8493,7 +8514,7 @@ node-gyp@^9.0.0, node-gyp@^9.1.0: tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.6: +node-releases@^2.0.6, node-releases@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== @@ -9409,7 +9430,7 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process-warning@^1.0.0: +process-warning@1.0.0, process-warning@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== @@ -9454,6 +9475,11 @@ promzard@^0.3.0: dependencies: read "1" +property-expr@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.5.tgz#278bdb15308ae16af3e3b9640024524f4dc02cb4" + integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA== + protobufjs@6.8.8: version "6.8.8" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" @@ -9939,7 +9965,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: +resolve@1.22.1, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -10606,7 +10632,7 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.4.0 < 2", statuses@~1.5.0: +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== @@ -10820,6 +10846,16 @@ terser@5.16.1, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" +terser@5.16.2: + version "5.16.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2" + integrity sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -10852,14 +10888,6 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - tiny-inflate@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" @@ -10908,6 +10936,11 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== + tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -10983,6 +11016,11 @@ tslib@2.4.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +tslib@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -11012,7 +11050,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== -typanion@^3.3.1: +typanion@^3.8.0: version "3.12.1" resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.12.1.tgz#d33deb130aba23ef6f2a3c69e7fb28148dd9089a" integrity sha512-3SJF/czpzqq6G3lprGFLa6ps12yb1uQ1EmitNnep2fDMNh1aO/Zbq9sWY+3lem0zYb2oHJnQWyabTGUZ+L1ScQ== @@ -11042,16 +11080,6 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" @@ -11191,7 +11219,7 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.9: +update-browserslist-db@^1.0.10, update-browserslist-db@^1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== @@ -11287,15 +11315,15 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -verdaccio-audit@10.2.3: - version "10.2.3" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.3.tgz#a0746541a3bc733174775f75961a9102f551d6b6" - integrity sha512-mXOT6EiB9hK5dMjRTtJlL+hu2YswXuGSw28xOAPyZLWLTASDJy6Zs++o4P/6FyQ03yB0peK2KX7gHZ7APGZk2Q== +verdaccio-audit@10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.4.tgz#3c1742eedbf338213bb580260efb28c69448cc5c" + integrity sha512-/0H6/JFVnhHwucUfMRVjL6gtGnB5gr3dDxq93Ja1Y0ob+2jxAfpqNMHg8c6/d/ZyHFf0y4tXzHESDruXCzTiaQ== dependencies: body-parser "1.20.1" express "4.18.2" https-proxy-agent "5.0.1" - node-fetch "2.6.7" + node-fetch "2.6.8" verdaccio-auth-memory@^10.0.0: version "10.2.0" @@ -11304,10 +11332,10 @@ verdaccio-auth-memory@^10.0.0: dependencies: "@verdaccio/commons-api" "10.2.0" -verdaccio-htpasswd@10.5.1: - version "10.5.1" - resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.5.1.tgz#d49e13dec82d17a1f6aa491285e914e3535467e9" - integrity sha512-DCUOITs+Ta4Hep429BjopYrUw9hEJsJ1mbMP0l9Glan1S2YvTPanhtm5Ahw/joljUlt3xawKz9Gmt1QJujfMew== +verdaccio-htpasswd@10.5.2: + version "10.5.2" + resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.5.2.tgz#981f39ad1c8a002926469b50927f077fc8676367" + integrity sha512-bO5Wm8w07pWswNvwFWjNEoznuUU37CcfblcrU0Ci8c038EgTu2V47uwh4AyZ4PTK6ps9oxHqA7a1b+83sY0OkA== dependencies: "@verdaccio/file-locking" "10.3.0" apache-md5 "1.1.8" @@ -11315,26 +11343,29 @@ verdaccio-htpasswd@10.5.1: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.19.1: - version "5.19.1" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.19.1.tgz#e639f440f9e73a31cf8a79b73c3c8db4f662bdd0" - integrity sha512-7Ve6OW2Fjx4q84nvWMYmu2XFnIiSplLsuLIht+n36GZj8BCACT6lgUspkHTTQhda03SgR0P+JbTkXK35pUfiGg== +verdaccio@5.20.1: + version "5.20.1" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.20.1.tgz#4bf90b602aac4ef759358744b9e1ef5eff154998" + integrity sha512-zKQXYubQOfl2w09gO9BR7U9ZZkFPPby8tvV+na86/2vGZnY79kNSVnSbK8CM1bpJHTCQ80AGsmIGovg2FgXhdQ== dependencies: - "@verdaccio/commons-api" "10.2.0" + "@verdaccio/config" "6.0.0-6-next.55" + "@verdaccio/core" "6.0.0-6-next.55" "@verdaccio/local-storage" "10.3.1" "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.52" + "@verdaccio/tarball" "11.0.0-6-next.24" + "@verdaccio/ui-theme" "6.0.0-6-next.55" + "@verdaccio/url" "11.0.0-6-next.21" + "@verdaccio/utils" "6.0.0-6-next.23" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.1" - clipanion "3.1.0" + clipanion "3.2.0-rc.14" compression "1.7.4" cookies "0.8.0" cors "2.8.5" dayjs "1.11.7" debug "^4.3.4" envinfo "7.8.1" - eslint-import-resolver-node "0.3.6" express "4.18.2" express-rate-limit "5.5.1" fast-safe-stringify "2.1.1" @@ -11346,9 +11377,7 @@ verdaccio@5.19.1: lodash "4.17.21" lru-cache "7.14.1" lunr-mutable-indexes "2.3.2" - memoizee "0.4.15" mime "3.0.0" - minimatch "5.1.1" mkdirp "1.0.4" mv "2.1.1" pino "6.14.0" @@ -11358,8 +11387,8 @@ verdaccio@5.19.1: request "2.88.0" semver "7.3.8" validator "13.7.0" - verdaccio-audit "10.2.3" - verdaccio-htpasswd "10.5.1" + verdaccio-audit "10.2.4" + verdaccio-htpasswd "10.5.2" verror@1.10.0: version "1.10.0" @@ -11728,6 +11757,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.0.tgz#882c762992888b4144bffdec5745df340627fdd3" + integrity sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g== + yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" @@ -11830,6 +11864,19 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yup@0.32.11: + version "0.32.11" + resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" + integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== + dependencies: + "@babel/runtime" "^7.15.4" + "@types/lodash" "^4.14.175" + lodash "^4.17.21" + lodash-es "^4.17.21" + nanoclone "^0.2.1" + property-expr "^2.0.4" + toposort "^2.0.2" + z-schema@~5.0.2: version "5.0.5" resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.5.tgz#6805a48c5366a6125cae0e58752babfd503daf32" From 0af7df75866c00fa1ccaa30a1e3c64f218989ffa Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sun, 29 Jan 2023 00:14:05 +0000 Subject: [PATCH 1314/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 ++-- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 ++-- tests/legacy-cli/e2e/ng-snapshot/package.json | 6 +++--- yarn.lock | 16 ++++++++-------- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index f1b9c71ec2c0..35b68feec026 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@17bf435a8cdd48bf218464b2722bc4f2bdd2728c + - uses: angular/dev-infra/github-actions/branch-manager@fa428ee0accc999f051008f0daa5651ba2728c2b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index b848abc54456..fb81026ea282 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@17bf435a8cdd48bf218464b2722bc4f2bdd2728c + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fa428ee0accc999f051008f0daa5651ba2728c2b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@17bf435a8cdd48bf218464b2722bc4f2bdd2728c + - uses: angular/dev-infra/github-actions/post-approval-changes@fa428ee0accc999f051008f0daa5651ba2728c2b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 778f74e410d5..4fe5ce9f2547 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@17bf435a8cdd48bf218464b2722bc4f2bdd2728c + - uses: angular/dev-infra/github-actions/feature-request@fa428ee0accc999f051008f0daa5651ba2728c2b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index db8909259f7b..63e3a7efe7d8 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@17bf435a8cdd48bf218464b2722bc4f2bdd2728c + - uses: angular/dev-infra/github-actions/lock-closed@fa428ee0accc999f051008f0daa5651ba2728c2b with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 1375e74feddd..2a4f52e3238a 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.2", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9b87f88cb8633bb35a9c1979ed7a6f339205f69b", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81", "@angular/cdk": "15.1.2", "@angular/common": "15.2.0-next.2", "@angular/compiler": "15.2.0-next.2", @@ -75,7 +75,7 @@ "@angular/forms": "15.2.0-next.2", "@angular/localize": "15.2.0-next.2", "@angular/material": "15.1.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0072e3afcb5bd9b80d1f9c8efbaab09179353399", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc", "@angular/platform-browser": "15.2.0-next.2", "@angular/platform-browser-dynamic": "15.2.0-next.2", "@angular/platform-server": "15.2.0-next.2", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index c19931e57210..66c56fe3f3c4 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -3,7 +3,7 @@ "private": true, "dependencies": { "@angular/animations": "github:angular/animations-builds#03bbe493808349c85e21971762cfd4818c4444cf", - "@angular/cdk": "github:angular/cdk-builds#6d7e201a65858d5216709a460d48e655402622ff", + "@angular/cdk": "github:angular/cdk-builds#56b19c931fa5b686549e148e9fb02820d67884ad", "@angular/common": "github:angular/common-builds#d4519f5378cdef5a0f75c20ac883673757c86968", "@angular/compiler": "github:angular/compiler-builds#76e1b6914862e81c3af4f98ac1dafb3ecc830d1c", "@angular/compiler-cli": "github:angular/compiler-cli-builds#07422306cd968470b9fab4a805de9c84e5e2f124", @@ -11,8 +11,8 @@ "@angular/forms": "github:angular/forms-builds#aca3b4b0eb061ef392f69996ab2b987425601aac", "@angular/language-service": "github:angular/language-service-builds#88d80a0dee9593cbb400dd64fed69913d303baaa", "@angular/localize": "github:angular/localize-builds#ede049aa9ef0d2c6e2fe2387f14d74c3dd3e1f2e", - "@angular/material": "github:angular/material-builds#7acbe51132b8cf9531af88697ffad9e273056987", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#886c9a03a82a53868cb310afcf5bcea8dea94a8d", + "@angular/material": "github:angular/material-builds#5a523030764166d349959fdccdc4f00ba9f5d432", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e5372d24c0fa7e04c9da469d881e4fa1064dddd2", "@angular/platform-browser": "github:angular/platform-browser-builds#d7c70b1420f7b5ae5fcd380be73c9ab4e7103660", "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6c42776d59fe7f3f869349604b523648a6f456c5", "@angular/platform-server": "github:angular/platform-server-builds#3e07a09d97bea5b2ca9078e086b2550c89fce888", diff --git a/yarn.lock b/yarn.lock index ff41d68e59c7..4f69b24f9532 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,10 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#9b87f88cb8633bb35a9c1979ed7a6f339205f69b": - version "0.0.0-17bf435a8cdd48bf218464b2722bc4f2bdd2728c" - uid "9b87f88cb8633bb35a9c1979ed7a6f339205f69b" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#9b87f88cb8633bb35a9c1979ed7a6f339205f69b" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81": + version "0.0.0-fa428ee0accc999f051008f0daa5651ba2728c2b" + uid "57ce1b4bb7ab323c5c7610081a93148796b4ae81" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81" dependencies: "@angular-devkit/build-angular" "15.2.0-next.1" "@angular/benchpress" "0.3.0" @@ -305,10 +305,10 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#0072e3afcb5bd9b80d1f9c8efbaab09179353399": - version "0.0.0-17bf435a8cdd48bf218464b2722bc4f2bdd2728c" - uid "0072e3afcb5bd9b80d1f9c8efbaab09179353399" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#0072e3afcb5bd9b80d1f9c8efbaab09179353399" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc": + version "0.0.0-fa428ee0accc999f051008f0daa5651ba2728c2b" + uid ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" From e96be591a9c74e33c205e85bfd7bd3c967048793 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 31 Jan 2023 06:15:35 +0000 Subject: [PATCH 1315/1388] build: update dependency typescript to v4.9.5 --- package.json | 2 +- packages/ngtools/webpack/package.json | 2 +- yarn.lock | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2a4f52e3238a..7fd33932bfd3 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,7 @@ "tree-kill": "1.2.2", "ts-node": "^10.0.0", "tslib": "2.5.0", - "typescript": "4.9.4", + "typescript": "4.9.5", "verdaccio": "5.20.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index 12b2c7f9d7bc..a04c9d7b7331 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -30,7 +30,7 @@ "@angular-devkit/core": "0.0.0-PLACEHOLDER", "@angular/compiler": "15.1.2", "@angular/compiler-cli": "15.1.2", - "typescript": "4.9.4", + "typescript": "4.9.5", "webpack": "5.75.0" } } diff --git a/yarn.lock b/yarn.lock index 4f69b24f9532..5c6615c9c85a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11094,7 +11094,12 @@ typed-assert@^1.0.8: resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== -typescript@4.9.4, typescript@^4.6.2, typescript@~4.9.0: +typescript@4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +typescript@^4.6.2, typescript@~4.9.0: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== From 0ad32c81db93e9c66a2655ffc8eae93573b38443 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 31 Jan 2023 06:15:28 +0000 Subject: [PATCH 1316/1388] build: update dependency quicktype-core to v21.0.9 --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 7fd33932bfd3..b0b9a23173ea 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "21.0.4", + "quicktype-core": "21.0.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.57.1", diff --git a/yarn.lock b/yarn.lock index 5c6615c9c85a..4a46b80a0da7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7435,10 +7435,10 @@ jquery@^3.3.1: resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== -js-base64@^2.4.3: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== +js-base64@^3.7.4: + version "3.7.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.4.tgz#af95b20f23efc8034afd2d1cc5b9d0adf7419037" + integrity sha512-wpM/wi20Tl+3ifTyi0RdDckS4YTD4Lf953mBRrpG8547T7hInHNPEj8+ck4gB8VDcGyeAWFK++Wb/fU1BeavKQ== js-sdsl@^4.1.4: version "4.3.0" @@ -9629,10 +9629,10 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@21.0.4: - version "21.0.4" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.4.tgz#df4c8920ac27b9a5a53ca54c9d388e8b1c80d2b6" - integrity sha512-JJiJ8dzBTh/l/gTNnVwKFx0g2A0CfLNzXlUxTHjdvyldXi/Jjckr+Z04calGXxlG8KunpE4G5vV+EtuFjoTIPQ== +quicktype-core@21.0.9: + version "21.0.9" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.9.tgz#16c7c3acfac879ddd0421bf5d1a5cbb9e357fb90" + integrity sha512-lXLJdo00KMSXaWOH49vDLGyfIEiqu9leevyNyYxNYvhCpPMon6zaAqXHIc1V3ByRN4ErCUkpsnzruuIQ3+OeKQ== dependencies: "@glideapps/ts-necessities" "2.1.2" "@types/urijs" "^1.19.19" @@ -9640,7 +9640,7 @@ quicktype-core@21.0.4: collection-utils "^1.0.1" cross-fetch "^3.1.5" is-url "^1.2.4" - js-base64 "^2.4.3" + js-base64 "^3.7.4" lodash "^4.17.21" pako "^1.0.6" pluralize "^8.0.0" From 4978646c56ab107861960d3f2763da1073fc93a7 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 30 Jan 2023 15:17:30 +0000 Subject: [PATCH 1317/1388] build: lock file maintenance --- yarn.lock | 143 ++++++++++++++++++++++++++---------------------------- 1 file changed, 69 insertions(+), 74 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4a46b80a0da7..55b6f07fb010 100644 --- a/yarn.lock +++ b/yarn.lock @@ -363,9 +363,9 @@ "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - version "7.20.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" - integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" + integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== "@babel/core@7.19.3": version "7.19.3" @@ -409,7 +409,7 @@ json5 "^2.2.2" semver "^6.3.0" -"@babel/generator@7.20.14": +"@babel/generator@7.20.14", "@babel/generator@^7.19.3", "@babel/generator@^7.20.7": version "7.20.14" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== @@ -418,7 +418,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.20.7", "@babel/generator@^7.19.3", "@babel/generator@^7.20.7": +"@babel/generator@7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== @@ -623,12 +623,12 @@ "@babel/types" "^7.20.5" "@babel/helpers@^7.19.0", "@babel/helpers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" - integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" + integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== dependencies: "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" + "@babel/traverse" "^7.20.13" "@babel/types" "^7.20.7" "@babel/highlight@^7.18.6": @@ -640,10 +640,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.19.3", "@babel/parser@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" - integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.19.3", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.13.tgz#ddf1eb5a813588d2fb1692b70c6fce75b945c088" + integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -919,9 +919,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" - integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== + version "7.20.14" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.14.tgz#2f5025f01713ba739daf737997308e0d29d1dd75" + integrity sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -1250,14 +1250,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.20.13", "@babel/runtime@^7.15.4": +"@babel/runtime@7.20.13", "@babel/runtime@^7.15.4", "@babel/runtime@^7.8.4": version "7.20.13" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@7.20.7", "@babel/runtime@^7.8.4": +"@babel/runtime@7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== @@ -1273,10 +1273,10 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7": - version "7.20.12" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" - integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== +"@babel/traverse@^7.19.3", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7": + version "7.20.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" + integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== dependencies: "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.20.7" @@ -1284,7 +1284,7 @@ "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.7" + "@babel/parser" "^7.20.13" "@babel/types" "^7.20.7" debug "^4.1.0" globals "^11.1.0" @@ -3108,18 +3108,18 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": - version "4.17.32" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz#93dda387f5516af616d8d3f05f2c4c79d81e1b82" - integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== + version "4.17.33" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" + integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.16.0", "@types/express@^4.17.13": - version "4.17.15" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff" - integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== + version "4.17.16" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.16.tgz#986caf0b4b850611254505355daa24e1b8323de8" + integrity sha512-LkKpqRZ7zqXJuvoELakaFYuETHjZkSol8EV6cNnyishutDBCCdv6+dsKPbKkCcIk57qRphOLY5sEgClw1bO3gA== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.31" @@ -3893,9 +3893,9 @@ acorn-walk@^8.1.1: integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== adjust-sourcemap-loader@^4.0.0: version "4.0.0" @@ -4467,17 +4467,7 @@ browser-sync@^2.27.7: ua-parser-js "1.0.2" yargs "^17.3.1" -browserslist@*, browserslist@4.21.4, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -browserslist@4.21.5: +browserslist@*, browserslist@4.21.5, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4: version "4.21.5" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== @@ -4487,6 +4477,16 @@ browserslist@4.21.5: node-releases "^2.0.8" update-browserslist-db "^1.0.10" +browserslist@4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -4637,12 +4637,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001446" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz#6d4ba828ab19f49f9bcd14a8430d30feebf1e0c5" - integrity sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw== - -caniuse-lite@^1.0.30001449: +caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: version "1.0.30001449" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz#a8d11f6a814c75c9ce9d851dc53eb1d1dfbcd657" integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== @@ -4977,9 +4972,9 @@ content-disposition@0.5.4: safe-buffer "5.2.1" content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" @@ -5220,9 +5215,9 @@ deep-is@^0.1.3: integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + version "4.3.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== default-gateway@^6.0.3: version "6.0.3" @@ -6514,9 +6509,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.19.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" - integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" @@ -6726,9 +6721,9 @@ html-escaper@^2.0.0: integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-cache-semantics@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-deceiver@^1.2.7: version "1.2.7" @@ -8226,9 +8221,9 @@ minimatch@~3.0.4: brace-expansion "^1.1.7" minimatch@~6.1.0: - version "6.1.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.5.tgz#61adaa90e59b29022fd8e326364f0336e4f9282d" - integrity sha512-2/WxnHMkH7qFS+pG8ibLN5GZdx5Y0aLlgFSghaKRUpkeEmC85wZRb/xDvj9jv601KdNOS2G/nNqj2h6k42yxBQ== + version "6.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.6.tgz#5384bb324be5b5dae12a567c03d22908febd0ddd" + integrity sha512-6bR3UIeh/DF8+p6A9Spyuy67ShOq42rOkHWi7eUe3Ua99Zo5lZfGC6lJJWkeoK4k9jQFT3Pl7czhTXimG2XheA== dependencies: brace-expansion "^2.0.1" @@ -10047,9 +10042,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.10.1.tgz#56278901ed11fc2898421e8e3e2c8155bc7b40b4" - integrity sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw== + version "3.12.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.12.0.tgz#813d88ec11e36108da788fc471b3c81b365a7c29" + integrity sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg== optionalDependencies: fsevents "~2.3.2" @@ -10836,7 +10831,7 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.16.1, terser@^5.14.1: +terser@5.16.1: version "5.16.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== @@ -10846,7 +10841,7 @@ terser@5.16.1, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" -terser@5.16.2: +terser@5.16.2, terser@^5.14.1: version "5.16.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2" integrity sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg== @@ -11011,12 +11006,12 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: +tslib@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== -tslib@2.5.0: +tslib@2.5.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== @@ -11115,9 +11110,9 @@ ua-parser-js@1.0.2: integrity sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg== ua-parser-js@^0.7.30: - version "0.7.32" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.32.tgz#cd8c639cdca949e30fa68c44b7813ef13e36d211" - integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== + version "0.7.33" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532" + integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw== uglify-js@^3.1.4: version "3.17.4" From 50c8629b4362f50b56d833cc886d917c719c3b2c Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 1 Feb 2023 12:06:00 -0800 Subject: [PATCH 1318/1388] docs: release notes for the v15.1.4 release --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aca5f63fef44..0f2f4b4fc99b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ + + +# 15.1.4 (2023-02-01) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | +| [6c8fdfc69](https://github.com/angular/angular-cli/commit/6c8fdfc6985c5b5017a0b6ab6fa38daf4cb9a775) | fix | load JavaScript bundles as modules in karma | +| [317452e3b](https://github.com/angular/angular-cli/commit/317452e3b7e25080132b7f7a069696d1c5054f69) | fix | print server builder errors and warnings | + +## Special Thanks + +Alan Agius + + + # 15.2.0-next.2 (2023-01-25) From fd1061e88697d6cccfa74bb8a326546ab31cecbb Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 1 Feb 2023 12:43:56 -0800 Subject: [PATCH 1319/1388] release: cut the v15.2.0-next.3 release --- CHANGELOG.md | 17 +++++++++++++++++ package.json | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f2f4b4fc99b..ef5a3a90748e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ + + +# 15.2.0-next.3 (2023-02-01) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | +| [3512a0362](https://github.com/angular/angular-cli/commit/3512a03621c7ed99324e82771e239e77c907367e) | fix | load JavaScript bundles as modules in karma | +| [f35e9908c](https://github.com/angular/angular-cli/commit/f35e9908c08fe1d1bda82124c3ec2b6fe4242125) | fix | print server builder errors and warnings | + +## Special Thanks + +Alan Agius and Doug Parker + + + # 15.1.4 (2023-02-01) diff --git a/package.json b/package.json index b0b9a23173ea..7a779e7dc4f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0-next.2", + "version": "15.2.0-next.3", "private": true, "description": "Software Development Kit for Angular", "bin": { From df7c7f430c5f4ec2b9b4d2f316ed9b4a8e2a5772 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Wed, 1 Feb 2023 13:16:51 -0600 Subject: [PATCH 1320/1388] fix(@angular-devkit/build-angular): fix support of Safari TP versions Fix issue-related to the support of Safari TP versions. This issue was accidentally introduced in angular/angular-cli@a0f9db8 Fixes #24639 --- .../angular_devkit/build_angular/src/utils/esbuild-targets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts b/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts index 1147738e93a9..e9310e171d5a 100644 --- a/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts +++ b/packages/angular_devkit/build_angular/src/utils/esbuild-targets.ts @@ -38,7 +38,7 @@ export function transformSupportedBrowsersToTargets(supportedBrowsers: string[]) [version] = version.split('-'); if (esBuildSupportedBrowsers.has(browserName)) { - if (browserName === 'safari' && version === 'TP') { + if (browserName === 'safari' && version === 'tp') { // esbuild only supports numeric versions so `TP` is converted to a high number (999) since // a Technology Preview (TP) of Safari is assumed to support all currently known features. version = '999'; From a4102d96c976663c023d6a426a9c9f16ba712bdf Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 1 Feb 2023 19:15:38 +0000 Subject: [PATCH 1321/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 8 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 111 ++++++++++-------- 4 files changed, 71 insertions(+), 56 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index df3eac92c43b..1af29c1c1a74 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "79623d656aa23ad3fd4692ab99786c613cd36e49f5566469ed97bc9b4c655f03", - strip_prefix = "bazel-lib-1.23.3", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.23.3.tar.gz", + sha256 = "8743da1d0d82df1eb6d9fd240fc213033b65d099ba4f7caa3ec52f6655fc25e1", + strip_prefix = "bazel-lib-1.24.0", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.24.0.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") diff --git a/package.json b/package.json index 7a779e7dc4f8..bc5282814f17 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@babel/runtime": "7.20.13", "@babel/template": "7.20.7", "@bazel/bazelisk": "1.12.1", - "@bazel/buildifier": "6.0.0", + "@bazel/buildifier": "6.0.1", "@bazel/concatjs": "5.7.3", "@bazel/jasmine": "5.7.3", "@discoveryjs/json-ext": "0.5.7", @@ -123,8 +123,8 @@ "@types/yargs": "^17.0.20", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.49.0", - "@typescript-eslint/parser": "5.49.0", + "@typescript-eslint/eslint-plugin": "5.50.0", + "@typescript-eslint/parser": "5.50.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -193,7 +193,7 @@ "quicktype-core": "21.0.9", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.57.1", + "sass": "1.58.0", "sass-loader": "13.2.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index c498d6f550b6..74cf27ab5361 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -51,7 +51,7 @@ "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.57.1", + "sass": "1.58.0", "sass-loader": "13.2.0", "semver": "7.3.8", "source-map-loader": "4.0.1", diff --git a/yarn.lock b/yarn.lock index 55b6f07fb010..251b0f443fee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1308,6 +1308,11 @@ resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-6.0.0.tgz#8bbcaaed0de98b36e77cb893053608787cd12d9f" integrity sha512-QIhSDSscSfQB3ZJ0DFqWZ1R99TwgYO44NcCBL7PsfFtwRobsQ7YMka4p9mkbZi4HPin0/ImIt3yUOir8H64mIQ== +"@bazel/buildifier@6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-6.0.1.tgz#3ef5ce4f807db2ec0838ac889775a081fe9208f8" + integrity sha512-PKOx5srLU7K1x0BQhiqu78lrxwvgimx+JRe5JXgiPfyA2/iMB1aNn41BozVMmWnEF/DUKbls6DOaNk83kgraag== + "@bazel/concatjs@5.7.3": version "5.7.3" resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.7.3.tgz#a1111713e3e33d3e4ffc4fb5119ef478d2c9916e" @@ -3525,87 +3530,88 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz#d0b4556f0792194bf0c2fb297897efa321492389" - integrity sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q== +"@typescript-eslint/eslint-plugin@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz#fb48c31cadc853ffc1dc35373f56b5e2a8908fe9" + integrity sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ== dependencies: - "@typescript-eslint/scope-manager" "5.49.0" - "@typescript-eslint/type-utils" "5.49.0" - "@typescript-eslint/utils" "5.49.0" + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/type-utils" "5.50.0" + "@typescript-eslint/utils" "5.50.0" debug "^4.3.4" + grapheme-splitter "^1.0.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.49.0.tgz#d699734b2f20e16351e117417d34a2bc9d7c4b90" - integrity sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg== +"@typescript-eslint/parser@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.50.0.tgz#a33f44b2cc83d1b7176ec854fbecd55605b0b032" + integrity sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ== dependencies: - "@typescript-eslint/scope-manager" "5.49.0" - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/typescript-estree" "5.49.0" + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/typescript-estree" "5.50.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz#81b5d899cdae446c26ddf18bd47a2f5484a8af3e" - integrity sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ== +"@typescript-eslint/scope-manager@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz#90b8a3b337ad2c52bbfe4eac38f9164614e40584" + integrity sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg== dependencies: - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/visitor-keys" "5.49.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/visitor-keys" "5.50.0" -"@typescript-eslint/type-utils@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz#8d5dcc8d422881e2ccf4ebdc6b1d4cc61aa64125" - integrity sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA== +"@typescript-eslint/type-utils@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz#509d5cc9728d520008f7157b116a42c5460e7341" + integrity sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ== dependencies: - "@typescript-eslint/typescript-estree" "5.49.0" - "@typescript-eslint/utils" "5.49.0" + "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/utils" "5.50.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3" - integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg== +"@typescript-eslint/types@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.50.0.tgz#c461d3671a6bec6c2f41f38ed60bd87aa8a30093" + integrity sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w== -"@typescript-eslint/typescript-estree@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz#ebd6294c0ea97891fce6af536048181e23d729c8" - integrity sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA== +"@typescript-eslint/typescript-estree@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz#0b9b82975bdfa40db9a81fdabc7f93396867ea97" + integrity sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow== dependencies: - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/visitor-keys" "5.49.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/visitor-keys" "5.50.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.49.0.tgz#1c07923bc55ff7834dfcde487fff8d8624a87b32" - integrity sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ== +"@typescript-eslint/utils@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.50.0.tgz#807105f5ffb860644d30d201eefad7017b020816" + integrity sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.49.0" - "@typescript-eslint/types" "5.49.0" - "@typescript-eslint/typescript-estree" "5.49.0" + "@typescript-eslint/scope-manager" "5.50.0" + "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/typescript-estree" "5.50.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.49.0": - version "5.49.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz#2561c4da3f235f5c852759bf6c5faec7524f90fe" - integrity sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg== +"@typescript-eslint/visitor-keys@5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz#b752ffc143841f3d7bc57d6dd01ac5c40f8c4903" + integrity sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg== dependencies: - "@typescript-eslint/types" "5.49.0" + "@typescript-eslint/types" "5.50.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -10132,6 +10138,15 @@ sass@1.57.1, sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sass@1.58.0: + version "1.58.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc" + integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" uid "9c16682e4c9716734432789884f868212f95f563" From 61eeb5db5e443f5e28946b9f23953d25880ab4ff Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 2 Feb 2023 00:18:58 +0000 Subject: [PATCH 1322/1388] build: update angular --- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 66c56fe3f3c4..cea39a2052e6 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#03bbe493808349c85e21971762cfd4818c4444cf", - "@angular/cdk": "github:angular/cdk-builds#56b19c931fa5b686549e148e9fb02820d67884ad", - "@angular/common": "github:angular/common-builds#d4519f5378cdef5a0f75c20ac883673757c86968", - "@angular/compiler": "github:angular/compiler-builds#76e1b6914862e81c3af4f98ac1dafb3ecc830d1c", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#07422306cd968470b9fab4a805de9c84e5e2f124", - "@angular/core": "github:angular/core-builds#06cf6e469d8b66dce4539f591895bd6a45e36082", - "@angular/forms": "github:angular/forms-builds#aca3b4b0eb061ef392f69996ab2b987425601aac", - "@angular/language-service": "github:angular/language-service-builds#88d80a0dee9593cbb400dd64fed69913d303baaa", - "@angular/localize": "github:angular/localize-builds#ede049aa9ef0d2c6e2fe2387f14d74c3dd3e1f2e", - "@angular/material": "github:angular/material-builds#5a523030764166d349959fdccdc4f00ba9f5d432", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#e5372d24c0fa7e04c9da469d881e4fa1064dddd2", - "@angular/platform-browser": "github:angular/platform-browser-builds#d7c70b1420f7b5ae5fcd380be73c9ab4e7103660", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6c42776d59fe7f3f869349604b523648a6f456c5", - "@angular/platform-server": "github:angular/platform-server-builds#3e07a09d97bea5b2ca9078e086b2550c89fce888", - "@angular/router": "github:angular/router-builds#c055da66042444ae57f2de777191c46527a036ba", - "@angular/service-worker": "github:angular/service-worker-builds#1ee1015fa856c2f03db414bb03811bf23536b78b" + "@angular/animations": "github:angular/animations-builds#79142be9a6ea04d39ed3d893e9cc32a1a993036e", + "@angular/cdk": "github:angular/cdk-builds#7985b5af3de3709b6e57f332f206b589ef7ab803", + "@angular/common": "github:angular/common-builds#b6d48550663145e5f26ff352e3cf4daf6d2c5499", + "@angular/compiler": "github:angular/compiler-builds#dc2b4e6df7c3735b587225bce621935165b7276e", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#5ece11ddcf0bb132a22d1fc1ed48454d564c6104", + "@angular/core": "github:angular/core-builds#a6eb17c35f35b439777f94e2bff2bc14fb14566a", + "@angular/forms": "github:angular/forms-builds#0414e5988392af88f278000b56356f9cd27165ec", + "@angular/language-service": "github:angular/language-service-builds#048495350b1fbc42835651adfa8b58f08a66173d", + "@angular/localize": "github:angular/localize-builds#6499b7a30f2e57d3cdf14f460fc5d55bff2d1cf0", + "@angular/material": "github:angular/material-builds#fa5b79f018194446a9268ab399e10952bb208106", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f96bf920727efd16c7bfe0c54fb955983582389e", + "@angular/platform-browser": "github:angular/platform-browser-builds#65ffa809199b37bc5a2d6dc1d324699227919e71", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#bf271f1dcc2dd17f3185fbb67ee2a4975623094a", + "@angular/platform-server": "github:angular/platform-server-builds#c0ebda26fc8c82ea2c8e584b2e6b68020a116f15", + "@angular/router": "github:angular/router-builds#70d4dc714f088758be3ae9e51f71e761a26c55b1", + "@angular/service-worker": "github:angular/service-worker-builds#aac02cdfdc84c72803bb61f65af3f11b2716ab02" } } From 7bcb19cddb676c650b1592aae81eceb66e8511fe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 2 Feb 2023 12:29:42 +0000 Subject: [PATCH 1323/1388] fix(@angular/cli): only set `DebugView` when `NG_DEBUG` is passed `querystring.stringify` will not remove undefined values. --- packages/angular/cli/src/analytics/analytics-collector.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index e92cc591af19..b06bee125fad 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -46,11 +46,12 @@ export class AnalyticsCollector { [RequestParameter.UserAgentArchitecture]: os.arch(), [RequestParameter.UserAgentPlatform]: os.platform(), [RequestParameter.UserAgentPlatformVersion]: os.version(), - - // Set undefined to disable debug view. - [RequestParameter.DebugView]: ngDebug ? 1 : undefined, }; + if (ngDebug) { + requestParameters[RequestParameter.DebugView] = 1; + } + this.requestParameterStringified = querystring.stringify(requestParameters); const parsedVersion = semver.parse(process.version); From 7a373259c3dd99ad0b1ff241a48d304aee0da67f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 2 Feb 2023 09:15:25 +0000 Subject: [PATCH 1324/1388] build: update dependency aspect_bazel_lib to v1.24.2 --- WORKSPACE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 1af29c1c1a74..5be12f25d1e0 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -78,9 +78,9 @@ yarn_install( http_archive( name = "aspect_bazel_lib", - sha256 = "8743da1d0d82df1eb6d9fd240fc213033b65d099ba4f7caa3ec52f6655fc25e1", - strip_prefix = "bazel-lib-1.24.0", - url = "https://github.com/aspect-build/bazel-lib/archive/v1.24.0.tar.gz", + sha256 = "ef83252dea2ed8254c27e65124b756fc9476be2b73a7799b7a2a0935937fc573", + strip_prefix = "bazel-lib-1.24.2", + url = "https://github.com/aspect-build/bazel-lib/archive/v1.24.2.tar.gz", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") From fac1e58b73004a659f49b205edae5c4cb0b5ad57 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 2 Feb 2023 23:52:28 -0800 Subject: [PATCH 1325/1388] run e2e tests under bazel (#24338) * test: run legacy-cli e2e tests via bazel * fixup! test: run legacy-cli e2e tests via bazel * fixup! test: run legacy-cli e2e tests via bazel * fixup! test: run legacy-cli e2e tests via bazel --- .bazelrc | 4 + .circleci/dynamic_config.yml | 195 +++++++++++++++--- .circleci/env.sh | 5 + .circleci/win-ram-disk.ps1 | 3 +- BUILD.bazel | 9 + WORKSPACE | 11 + docs/DEVELOPER.md | 2 +- packages/angular/cli/src/utilities/version.ts | 2 +- .../build_angular/src/builders/karma/index.ts | 12 ++ tests/legacy-cli/BUILD.bazel | 12 +- tests/legacy-cli/e2e.bzl | 158 ++++++++++++++ .../e2e/assets/13.0-project/karma.conf.js | 13 +- tests/legacy-cli/e2e/assets/BUILD.bazel | 8 +- .../e2e/initialize/500-create-project.ts | 13 +- tests/legacy-cli/e2e/initialize/BUILD.bazel | 2 +- tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel | 7 +- .../e2e/setup/001-create-tmp-dir.ts | 2 +- tests/legacy-cli/e2e/setup/002-npm-sandbox.ts | 4 + tests/legacy-cli/e2e/tests/BUILD.bazel | 4 +- tests/legacy-cli/e2e/tests/basic/test.ts | 13 +- .../e2e/tests/build/esbuild-unsupported.ts | 6 + .../e2e/tests/generate/confg/type-karma.ts | 2 + tests/legacy-cli/e2e/utils/BUILD.bazel | 5 +- tests/legacy-cli/e2e/utils/bazel.ts | 3 + tests/legacy-cli/e2e/utils/process.ts | 55 ++++- tests/legacy-cli/e2e/utils/project.ts | 104 +++++----- tests/legacy-cli/e2e/utils/utils.ts | 4 +- tests/legacy-cli/e2e_runner.ts | 95 +++++++-- tools/defaults.bzl | 2 +- 29 files changed, 627 insertions(+), 128 deletions(-) create mode 100644 tests/legacy-cli/e2e.bzl create mode 100644 tests/legacy-cli/e2e/utils/bazel.ts diff --git a/.bazelrc b/.bazelrc index e3fb14bdabf7..339e2d7fb22b 100644 --- a/.bazelrc +++ b/.bazelrc @@ -90,6 +90,10 @@ build:snapshot --workspace_status_command="yarn -s ng-dev release build-env-stam build:snapshot --stamp build:snapshot --//:enable_snapshot_repo_deps +build:e2e --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=release" +build:e2e --stamp +test:e2e --test_timeout=3600 + build:local --//:enable_package_json_tar_deps ############################### diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 83a0ddc9165e..21fe18cc63d6 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -35,12 +35,19 @@ var_3_all_major: &all_nodeversion_major ['14', '16'] # https://circleci.com/blog/deep-diving-into-circleci-workspaces/ var_4: &workspace_location . # Filter to only release branches on a given job. -var_5: &only_release_branches +var_5_only_releases: &only_release_branches filters: branches: only: - main - /\d+\.\d+\.x/ +var_5_only_snapshots: &only_snapshot_branches + filters: + branches: + only: + - main + # This is needed to run this steps on Renovate PRs that amend the snapshots package.json + - /^pull\/.*/ var_6: &only_pull_requests filters: @@ -48,6 +55,7 @@ var_6: &only_pull_requests only: - /pull\/\d+/ +# All e2e test suites var_7: &all_e2e_subsets ['npm', 'esbuild', 'yarn'] # Executor Definitions @@ -63,10 +71,20 @@ executors: working_directory: ~/ng resource_class: small + bazel-executor: + parameters: + nodeversion: + type: string + default: *default_nodeversion + docker: + - image: cimg/node:<< parameters.nodeversion >>-browsers + working_directory: ~/ng + resource_class: xlarge + windows-executor: # Same as https://circleci.com/orbs/registry/orb/circleci/windows, but named. working_directory: ~/ng - resource_class: windows.medium + resource_class: windows.large shell: powershell.exe -ExecutionPolicy Bypass machine: # Contents of this image: @@ -116,7 +134,7 @@ commands: - initialize_env - run: nvm install 16.13 - run: nvm use 16.13 - - run: npm install -g yarn@1.22.10 + - run: npm install -g yarn@1.22.10 @bazel/bazelisk@${BAZELISK_VERSION} - run: node --version - run: yarn --version @@ -126,6 +144,7 @@ commands: type: env_var_name default: CIRCLE_PROJECT_REPONAME steps: + - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - devinfra/setup-bazel-remote-exec: bazelrc: ./.bazelrc.user @@ -269,23 +288,24 @@ jobs: paths: - dist/_*.tgz - build-bazel-e2e: - executor: action-executor - resource_class: medium + bazel-build: + executor: bazel-executor steps: - custom_attach_workspace - - run: yarn bazel build //tests/legacy-cli/... + - setup_bazel_rbe + - run: + name: Bazel Build Packages + command: yarn bazel build //... + - fail_fast - unit-test: - executor: action-executor - resource_class: xlarge + bazel-test: + executor: bazel-executor parameters: nodeversion: type: string default: *default_nodeversion_major steps: - custom_attach_workspace - - browser-tools/install-chrome - setup_bazel_rbe - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - when: @@ -311,6 +331,58 @@ jobs: no_output_timeout: 40m - fail_fast + bazel-e2e-tests: + executor: bazel-executor + parallelism: 8 + parameters: + snapshots: + type: boolean + default: false + subset: + type: enum + enum: *all_e2e_subsets + default: 'npm' + steps: + - custom_attach_workspace + - initialize_env + - setup_bazel_rbe + - run: mkdir /mnt/ramdisk/e2e + - run: + name: Execute CLI E2E Tests with << parameters.subset >> + command: yarn bazel test --define=E2E_TEMP=/mnt/ramdisk/e2e --define=E2E_SHARD_TOTAL=${CIRCLE_NODE_TOTAL} --define=E2E_SHARD_INDEX=${CIRCLE_NODE_INDEX} --config=e2e //tests/legacy-cli:e2e<<# parameters.snapshots >>.snapshots<>.<< parameters.subset >> + no_output_timeout: 40m + - store_artifacts: + path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> + - store_test_results: + path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> + - fail_fast + + bazel-test-browsers: + executor: bazel-executor + steps: + - custom_attach_workspace + - initialize_env + - setup_bazel_rbe + - run: + name: Initialize Saucelabs + command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) + - run: + name: Start Saucelabs Tunnel + command: ./scripts/saucelabs/start-tunnel.sh + background: true + # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests + # too early without Saucelabs not being ready. + - run: ./scripts/saucelabs/wait-for-tunnel.sh + - run: + name: E2E Saucelabs Tests + command: yarn bazel test --config=saucelabs //tests/legacy-cli:e2e.saucelabs + - run: ./scripts/saucelabs/stop-tunnel.sh + - store_artifacts: + path: dist/testlogs/tests/legacy-cli/e2e.saucelabs + - store_test_results: + path: dist/testlogs/tests/legacy-cli/e2e.saucelabs + - fail_fast + snapshot_publish: executor: action-executor resource_class: medium @@ -375,6 +447,48 @@ jobs: node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main --ignore="tests/misc/browsers.ts" - fail_fast + bazel-e2e-cli-win: + executor: windows-executor + parallelism: 12 + steps: + - checkout + - rebase_pr_win + - setup_windows + - restore_cache: + keys: + - *cache_key_win + - run: + # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 + # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 + name: 'Arsenal Image Mounter (RAM Disk)' + command: | + pwsh ./.circleci/win-ram-disk.ps1 + - run: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn + - save_cache: + key: *cache_key_win + paths: + - ~/.cache/yarn + # Path where Arsenal Image Mounter files are downloaded. + # Must match path in .circleci/win-ram-disk.ps1 + - ./aim + - run: + name: Execute E2E Tests + environment: + # Required by `yarn ng-dev` + # See https://github.com/angular/angular/issues/46858 + PWD: . + command: | + mkdir X:/ramdisk/e2e + bazel test --define=E2E_TEMP=X:/ramdisk/e2e --define=E2E_SHARD_TOTAL=$env:CIRCLE_NODE_TOTAL --define=E2E_SHARD_INDEX=$env:CIRCLE_NODE_INDEX --config=e2e //tests/legacy-cli:e2e.npm + # This timeout provides time for the actual tests to timeout and report status + # instead of CircleCI stopping the job without test failure information. + no_output_timeout: 40m + - fail_fast + - store_artifacts: + path: dist/testlogs/tests/legacy-cli/e2e.npm + - store_test_results: + path: dist/testlogs/tests/legacy-cli/e2e.npm + workflows: version: 2 default_workflow: @@ -429,44 +543,73 @@ workflows: snapshots: true pre-steps: - when: + # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. condition: and: - not: equal: [main, << pipeline.git.branch >>] - not: << pipeline.parameters.snapshot_changed >> steps: - # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. - run: circleci-agent step halt requires: - build - filters: - branches: - only: - - main - # This is needed to run this steps on Renovate PRs that amend the snapshots package.json - - /^pull\/.*/ + <<: *only_snapshot_branches # Bazel jobs # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and # will catch any build errors before proceeding to the more lengthy and resource intensive # Bazel jobs. - - unit-test: + - bazel-test: name: test-node<< matrix.nodeversion >> matrix: parameters: nodeversion: *all_nodeversion_major requires: - - build - - # Compile the e2e tests with bazel to ensure the non-runtime typescript - # compilation completes succesfully. - - build-bazel-e2e: - requires: - - build + - bazel-build # Windows jobs - e2e-cli-win + - bazel-e2e-cli-win + + # Bazel jobs + - bazel-build: + requires: + - setup + + - bazel-e2e-tests: + name: bazel-e2e-cli-<< matrix.subset >> + matrix: + parameters: + subset: *all_e2e_subsets + snapshots: false + requires: + - bazel-build + + - bazel-e2e-tests: + name: bazel-e2e-snapshots-<< matrix.subset >> + matrix: + parameters: + subset: *all_e2e_subsets + snapshots: true + pre-steps: + - when: + # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. + condition: + and: + - not: + equal: [main, << pipeline.git.branch >>] + - not: << pipeline.parameters.snapshot_changed >> + steps: + - run: circleci-agent step halt + requires: + - bazel-build + <<: *only_snapshot_branches + + - bazel-test-browsers: + requires: + - bazel-build + # Publish jobs - snapshot_publish: <<: *only_release_branches diff --git a/.circleci/env.sh b/.circleci/env.sh index 6ec09ef85153..e6ae354a6a7c 100755 --- a/.circleci/env.sh +++ b/.circleci/env.sh @@ -36,3 +36,8 @@ source $BASH_ENV; # Disable husky. setPublicVar HUSKY 0 + +# Expose the Bazelisk version. We need to run Bazelisk globally since Windows has problems launching +# Bazel from a node modules directoy that might be modified by the Bazel Yarn install then. +setPublicVar BAZELISK_VERSION \ + "$(cd ${PROJECT_ROOT}; node -p 'require("./package.json").devDependencies["@bazel/bazelisk"]')" \ No newline at end of file diff --git a/.circleci/win-ram-disk.ps1 b/.circleci/win-ram-disk.ps1 index 5d16d8b8a11d..a73bdcdb06b7 100644 --- a/.circleci/win-ram-disk.ps1 +++ b/.circleci/win-ram-disk.ps1 @@ -26,5 +26,6 @@ if (-not (Test-Path -Path $aimContents)) { ./aim/cli/x64/aim_ll.exe --install ./aim/drivers # Setup RAM disk mount. Same parameters as ImDisk +# Ensure size is large enough to support the bazel 'shard_count's such as for e2e tests. # See: https://support.circleci.com/hc/en-us/articles/4411520952091-Create-a-windows-RAM-disk -./aim/cli/x64/aim_ll.exe -a -s 5G -m X: -p "/fs:ntfs /q /y" +./aim/cli/x64/aim_ll.exe -a -s 12G -m X: -p "/fs:ntfs /q /y" diff --git a/BUILD.bazel b/BUILD.bazel index 3fc46c3f3b32..b498ed4a3e94 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -3,6 +3,7 @@ # Use of this source code is governed by an MIT-style license that can be # found in the LICENSE file at https://angular.io/license load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") package(default_visibility = ["//visibility:public"]) @@ -16,6 +17,14 @@ exports_files([ "package.json", ]) +# Files required by e2e tests +copy_to_bin( + name = "config-files", + srcs = [ + "package.json", + ], +) + # Detect if the build is running under --stamp config_setting( name = "stamp", diff --git a/WORKSPACE b/WORKSPACE index 5be12f25d1e0..be5d21f9fc19 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -98,3 +98,14 @@ nodejs_register_toolchains( name = "node16", node_version = "16.13.1", ) + +register_toolchains( + "@npm//@angular/build-tooling/bazel/git-toolchain:git_linux_toolchain", + "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_x86_toolchain", + "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_arm64_toolchain", + "@npm//@angular/build-tooling/bazel/git-toolchain:git_windows_toolchain", +) + +load("@npm//@angular/build-tooling/bazel/browsers:browser_repositories.bzl", "browser_repositories") + +browser_repositories() diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index cc06b685550c..fef7faa06eae 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -85,7 +85,7 @@ You can find more info about debugging [tests with Bazel in the docs.](https://g - Compile the packages being tested: `yarn build` - Run all tests: `node tests/legacy-cli/run_e2e.js` - Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` -- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz ...` +- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` When running the debug commands, Node will stop and wait for a debugger to attach. You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a diff --git a/packages/angular/cli/src/utilities/version.ts b/packages/angular/cli/src/utilities/version.ts index 2c9db37d69a9..777c3de165f6 100644 --- a/packages/angular/cli/src/utilities/version.ts +++ b/packages/angular/cli/src/utilities/version.ts @@ -23,7 +23,7 @@ class Version { } } -// TODO: Convert this to use build-time version stamping after flipping the build script to use bazel +// TODO(bazel): Convert this to use build-time version stamping after flipping the build script to use bazel // export const VERSION = new Version('0.0.0-PLACEHOLDER'); export const VERSION = new Version( ( diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index cae73d5e1158..1eb78886d1da 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -221,6 +221,18 @@ function getBuiltInKarmaConfig( }, reporters: ['progress', 'kjhtml'], browsers: ['Chrome'], + customLaunchers: { + // Chrome configured to run in a bazel sandbox. + // Disable the use of the gpu and `/dev/shm` because it causes Chrome to + // crash on some environments. + // See: + // https://github.com/puppeteer/puppeteer/blob/v1.0.0/docs/troubleshooting.md#tips + // https://stackoverflow.com/questions/50642308/webdriverexception-unknown-error-devtoolsactiveport-file-doesnt-exist-while-t + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'], + }, + }, restartOnFileChange: true, }; } diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel index cbd1ea4fc4ca..00be22b4442e 100644 --- a/tests/legacy-cli/BUILD.bazel +++ b/tests/legacy-cli/BUILD.bazel @@ -1,4 +1,5 @@ load("//tools:defaults.bzl", "ts_library") +load(":e2e.bzl", "e2e_suites") ts_library( name = "runner", @@ -11,16 +12,25 @@ ts_library( deps = [ "//packages/angular_devkit/core", "//packages/angular_devkit/core/node", - "//tests/legacy-cli/e2e/assets", "//tests/legacy-cli/e2e/utils", "@npm//@types/glob", "@npm//@types/yargs-parser", "@npm//ansi-colors", "@npm//yargs-parser", + ], +) +e2e_suites( + name = "e2e", + data = [ + ":runner", + + # Tests + setup # Loaded dynamically at runtime, not compiletime deps + "//tests/legacy-cli/e2e/assets", "//tests/legacy-cli/e2e/setup", "//tests/legacy-cli/e2e/initialize", "//tests/legacy-cli/e2e/tests", ], + runner = ":e2e_runner.ts", ) diff --git a/tests/legacy-cli/e2e.bzl b/tests/legacy-cli/e2e.bzl new file mode 100644 index 000000000000..3fe05bc0c442 --- /dev/null +++ b/tests/legacy-cli/e2e.bzl @@ -0,0 +1,158 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_test") + +# bazel query --output=label "kind('pkg_tar', //packages/...)" +TESTED_PACKAGES = [ + "//packages/angular/cli:npm_package_archive.tgz", + "//packages/angular/create:npm_package_archive.tgz", + "//packages/angular/pwa:npm_package_archive.tgz", + "//packages/angular_devkit/architect:npm_package_archive.tgz", + "//packages/angular_devkit/architect_cli:npm_package_archive.tgz", + # this is private so don't use here + # "//packages/angular_devkit/benchmark:npm_package_archive.tgz", + "//packages/angular_devkit/build_angular:npm_package_archive.tgz", + "//packages/angular_devkit/build_webpack:npm_package_archive.tgz", + "//packages/angular_devkit/core:npm_package_archive.tgz", + "//packages/angular_devkit/schematics:npm_package_archive.tgz", + "//packages/angular_devkit/schematics_cli:npm_package_archive.tgz", + "//packages/ngtools/webpack:npm_package_archive.tgz", + "//packages/schematics/angular:npm_package_archive.tgz", +] + +# Number of bazel shards per test target +TEST_SHARD_COUNT = 4 + +# NB: does not run on rbe because webdriver manager uses an absolute path to chromedriver +# Requires network to fetch npm packages. +TEST_TAGS = ["no-remote-exec", "requires-network"] + +# Subset of tests for yarn/esbuild +BROWSER_TESTS = ["tests/misc/browsers.js"] +YARN_TESTS = ["tests/basic/**", "tests/update/**", "tests/commands/add/**"] +ESBUILD_TESTS = ["tests/basic/**", "tests/build/prod-build.js", "tests/build/relative-sourcemap.js", "tests/build/styles/scss.js", "tests/build/styles/include-paths.js", "tests/commands/add/add-pwa.js"] + +# Tests excluded for esbuild +ESBUILD_IGNORE_TESTS = [ + "tests/basic/environment.js", + "tests/basic/rebuild.js", + "tests/basic/serve.js", + "tests/basic/scripts-array.js", +] + +def _to_glob(patterns): + if len(patterns) == 1: + return patterns[0] + + return "\"{%s}\"" % ",".join(patterns) + +def e2e_suites(name, runner, data): + """ + Construct all e2e test suite targets + + Args: + name: the prefix to all rules + runner: the e2e test runner entry point + data: runtime deps such as tests and test data + """ + + # Default target meant to be run manually for debugging, customizing test cli via bazel + _e2e_tests(name, runner = runner, data = data, tags = ["manual"]) + + # Pre-configured test suites + # TODO: add node 14 + 16 + _e2e_suite(name, runner, "npm", data) + _e2e_suite(name, runner, "yarn", data) + _e2e_suite(name, runner, "esbuild", data) + _e2e_suite(name, runner, "saucelabs", data) + +def _e2e_tests(name, runner, **kwargs): + # Always specify all the npm packages + args = kwargs.pop("templated_args", []) + ["--package"] + [ + "$(rootpath %s)" % p + for p in TESTED_PACKAGES + ] + + # Always add all the npm packages as data + data = kwargs.pop("data", []) + TESTED_PACKAGES + + # Tags that must always be applied + tags = kwargs.pop("tags", []) + TEST_TAGS + + # Passthru E2E variables in case it is customized by CI etc + configuration_env_vars = kwargs.pop("configuration_env_vars", []) + ["E2E_TEMP", "E2E_SHARD_INDEX", "E2E_SHARD_TOTAL"] + + env = kwargs.pop("env", {}) + toolchains = kwargs.pop("toolchains", []) + + # The git toolchain + env + env.update({"GIT_BIN": "$(GIT_BIN_PATH)"}) + toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/git-toolchain:current_git_toolchain"] + + # Chromium browser toolchain + env.update({ + "CHROME_BIN": "$(CHROMIUM)", + "CHROMEDRIVER_BIN": "$(CHROMEDRIVER)", + }) + toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/browsers/chromium:toolchain_alias"] + data = data + ["@npm//@angular/build-tooling/bazel/browsers/chromium"] + + nodejs_test( + name = name, + templated_args = args, + data = data, + entry_point = runner, + env = env, + configuration_env_vars = configuration_env_vars, + tags = tags, + toolchains = toolchains, + **kwargs + ) + +def _e2e_suite(name, runner, type, data): + """ + Setup a predefined test suite (yarn|esbuild|saucelabs|npm). + """ + args = [] + tests = None + ignore = None + + if type == "yarn": + args.append("--yarn") + tests = YARN_TESTS + ignore = BROWSER_TESTS + elif type == "esbuild": + args.append("--esbuild") + tests = ESBUILD_TESTS + ignore = BROWSER_TESTS + ESBUILD_IGNORE_TESTS + elif type == "saucelabs": + tests = BROWSER_TESTS + ignore = None + elif type == "npm": + tests = None + ignore = BROWSER_TESTS + + # Standard e2e tests + _e2e_tests( + name = "%s.%s" % (name, type), + runner = runner, + size = "enormous", + data = data, + shard_count = TEST_SHARD_COUNT, + templated_args = [ + "--glob=%s" % _to_glob(tests) if tests else "", + "--ignore=%s" % _to_glob(ignore) if ignore else "", + ], + ) + + # e2e tests of snapshot builds + _e2e_tests( + name = "%s.snapshots.%s" % (name, type), + runner = runner, + size = "enormous", + data = data, + shard_count = TEST_SHARD_COUNT, + templated_args = [ + "--ng-snapshots", + "--glob=%s" % _to_glob(tests) if tests else "", + "--ignore=%s" % _to_glob(ignore) if ignore else "", + ], + ) diff --git a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js index ccec87ca2b1f..1d0cda7c76fc 100644 --- a/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js +++ b/tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js @@ -37,7 +37,18 @@ module.exports = function (config) { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['Chrome'], + browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + ], + } + }, singleRun: false, restartOnFileChange: true }); diff --git a/tests/legacy-cli/e2e/assets/BUILD.bazel b/tests/legacy-cli/e2e/assets/BUILD.bazel index c5067a937896..a2889b56559f 100644 --- a/tests/legacy-cli/e2e/assets/BUILD.bazel +++ b/tests/legacy-cli/e2e/assets/BUILD.bazel @@ -1,11 +1,7 @@ -load("//tools:defaults.bzl", "js_library") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") -js_library( +copy_to_bin( name = "assets", srcs = glob(["**"]), visibility = ["//visibility:public"], - deps = [ - "@npm//jasmine-spec-reporter", - "@npm//ts-node", - ], ) diff --git a/tests/legacy-cli/e2e/initialize/500-create-project.ts b/tests/legacy-cli/e2e/initialize/500-create-project.ts index d53bae11acea..b5ce6bd074d0 100644 --- a/tests/legacy-cli/e2e/initialize/500-create-project.ts +++ b/tests/legacy-cli/e2e/initialize/500-create-project.ts @@ -1,5 +1,6 @@ import { join } from 'path'; import yargsParser from 'yargs-parser'; +import { IS_BAZEL } from '../utils/bazel'; import { getGlobalVariable } from '../utils/env'; import { expectFileToExist } from '../utils/fs'; import { gitClean } from '../utils/git'; @@ -23,11 +24,13 @@ export default async function () { // Install puppeteer in the parent directory for use by the CLI within any test project. // Align the version with the primary project package.json. - const puppeteerVersion = require('../../../../package.json').devDependencies.puppeteer.replace( - /^[\^~]/, - '', - ); - await installPackage(`puppeteer@${puppeteerVersion}`); + // Bazel has own browser toolchains + // TODO(bazel): remove non-bazel + if (!IS_BAZEL) { + const puppeteerVersion = + require('../../../../package.json').devDependencies.puppeteer.replace(/^[\^~]/, ''); + await installPackage(`puppeteer@${puppeteerVersion}`); + } await ng('new', 'test-project', '--skip-install'); await expectFileToExist(join(process.cwd(), 'test-project')); diff --git a/tests/legacy-cli/e2e/initialize/BUILD.bazel b/tests/legacy-cli/e2e/initialize/BUILD.bazel index 00735969e9ab..5beccd6620af 100644 --- a/tests/legacy-cli/e2e/initialize/BUILD.bazel +++ b/tests/legacy-cli/e2e/initialize/BUILD.bazel @@ -5,7 +5,7 @@ ts_library( testonly = True, srcs = glob(["**/*.ts"]), data = [ - "//:package.json", + "//:config-files", ], visibility = ["//visibility:public"], deps = [ diff --git a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel index 5a929766ca6f..079ffeb1accc 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel +++ b/tests/legacy-cli/e2e/ng-snapshot/BUILD.bazel @@ -1,8 +1,7 @@ -load("//tools:defaults.bzl", "ts_library") +load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") -ts_library( +copy_to_bin( name = "ng-snapshot", - srcs = [], - data = ["package.json"], + srcs = ["package.json"], visibility = ["//visibility:public"], ) diff --git a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts index 07c5855a8394..29c403be85de 100644 --- a/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts +++ b/tests/legacy-cli/e2e/setup/001-create-tmp-dir.ts @@ -12,7 +12,7 @@ export default async function () { } else if (argv.tmpdir) { tempRoot = argv.tmpdir; } else { - tempRoot = await mktempd('angular-cli-e2e-'); + tempRoot = await mktempd('angular-cli-e2e-', process.env.E2E_TEMP); } console.log(` Using "${tempRoot}" as temporary directory for a new project.`); setGlobalVariable('tmp-root', tempRoot); diff --git a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts index 295a89ec1df0..98d7f04dda21 100644 --- a/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts +++ b/tests/legacy-cli/e2e/setup/002-npm-sandbox.ts @@ -24,6 +24,10 @@ export default async function () { process.env.NPM_CONFIG_PREFIX = npmModulesPrefix; process.env.YARN_CONFIG_PREFIX = yarnModulesPrefix; + // Put the npm+yarn caches in the temp dir + process.env.NPM_CONFIG_CACHE = join(tempRoot, 'npm-cache'); + process.env.YARN_CACHE_FOLDER = join(tempRoot, 'yarn-cache'); + // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch). // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests. // To support this case, legacy peer dependency mode is enabled for snapshot builds. diff --git a/tests/legacy-cli/e2e/tests/BUILD.bazel b/tests/legacy-cli/e2e/tests/BUILD.bazel index 4f01d7fc3887..308544663f00 100644 --- a/tests/legacy-cli/e2e/tests/BUILD.bazel +++ b/tests/legacy-cli/e2e/tests/BUILD.bazel @@ -4,9 +4,11 @@ ts_library( name = "tests", testonly = True, srcs = glob(["**/*.ts"]), + data = [ + "//tests/legacy-cli/e2e/ng-snapshot", + ], visibility = ["//visibility:public"], deps = [ - "//tests/legacy-cli/e2e/ng-snapshot", "//tests/legacy-cli/e2e/utils", "@npm//@types/express", "@npm//@types/glob", diff --git a/tests/legacy-cli/e2e/tests/basic/test.ts b/tests/legacy-cli/e2e/tests/basic/test.ts index 3c0c2d99ee68..d9066946ae8e 100644 --- a/tests/legacy-cli/e2e/tests/basic/test.ts +++ b/tests/legacy-cli/e2e/tests/basic/test.ts @@ -29,7 +29,18 @@ export default async function () { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['ChromeHeadless'], + browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + ], + } + }, singleRun: false, restartOnFileChange: true }); diff --git a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts index 0a3681549d3d..b2dab3bbac07 100644 --- a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts +++ b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts @@ -1,7 +1,13 @@ import { join } from 'path'; +import { IS_BAZEL } from '../../utils/bazel'; import { execWithEnv } from '../../utils/process'; export default async function () { + // TODO(bazel): fails with bazel on windows + if (IS_BAZEL && process.platform.startsWith('win')) { + return; + } + // Set the esbuild native binary path to a non-existent file to simulate a spawn error. // The build should still succeed by falling back to the WASM variant of esbuild. await execWithEnv('ng', ['build'], { diff --git a/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts b/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts index 87ba023580b9..c81b7d6b1abf 100644 --- a/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts +++ b/tests/legacy-cli/e2e/tests/generate/confg/type-karma.ts @@ -1,6 +1,8 @@ import { ng } from '../../../utils/process'; +import { useCIChrome } from '../../../utils/project'; export default async function () { await ng('generate', 'config', 'karma'); + await useCIChrome('test-project'); await ng('test', '--watch=false'); } diff --git a/tests/legacy-cli/e2e/utils/BUILD.bazel b/tests/legacy-cli/e2e/utils/BUILD.bazel index 7a242b4bd137..68301d92bb69 100644 --- a/tests/legacy-cli/e2e/utils/BUILD.bazel +++ b/tests/legacy-cli/e2e/utils/BUILD.bazel @@ -4,9 +4,11 @@ ts_library( name = "utils", testonly = True, srcs = glob(["**/*.ts"]), + data = [ + "//tests/legacy-cli/e2e/ng-snapshot", + ], visibility = ["//visibility:public"], deps = [ - "//tests/legacy-cli/e2e/ng-snapshot", "@npm//@types/glob", "@npm//@types/node-fetch", "@npm//@types/semver", @@ -16,7 +18,6 @@ ts_library( "@npm//glob", "@npm//npm", "@npm//protractor", - "@npm//puppeteer", "@npm//rxjs", "@npm//semver", "@npm//tar", diff --git a/tests/legacy-cli/e2e/utils/bazel.ts b/tests/legacy-cli/e2e/utils/bazel.ts new file mode 100644 index 000000000000..06a99f9023d5 --- /dev/null +++ b/tests/legacy-cli/e2e/utils/bazel.ts @@ -0,0 +1,3 @@ +// TODO(bazel): remove this along with any non-bazel specific logic using it. + +export const IS_BAZEL = !!process.env.BAZEL_TARGET; diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 9ce14fb939f2..fa5f8afc3e2c 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -7,6 +7,7 @@ import { getGlobalVariable, getGlobalVariablesEnv } from './env'; import { catchError } from 'rxjs/operators'; import treeKill from 'tree-kill'; import { delimiter, join, resolve } from 'path'; +import { IS_BAZEL } from './bazel'; interface ExecOptions { silent?: boolean; @@ -167,7 +168,23 @@ export function extractNpmEnv() { function extractCIEnv(): NodeJS.ProcessEnv { return Object.keys(process.env) - .filter((v) => v.startsWith('SAUCE_') || v === 'CI' || v === 'CIRCLECI' || v === 'CHROME_BIN') + .filter( + (v) => + v.startsWith('SAUCE_') || + v === 'CI' || + v === 'CIRCLECI' || + v === 'CHROME_BIN' || + v === 'CHROMEDRIVER_BIN', + ) + .reduce((vars, n) => { + vars[n] = process.env[n]; + return vars; + }, {}); +} + +function extractNgEnv() { + return Object.keys(process.env) + .filter((v) => v.startsWith('NG_')) .reduce((vars, n) => { vars[n] = process.env[n]; return vars; @@ -357,11 +374,11 @@ export function node(...args: string[]) { } export function git(...args: string[]) { - return _exec({}, 'git', args); + return _exec({}, process.env.GIT_BIN || 'git', args); } export function silentGit(...args: string[]) { - return _exec({ silent: true }, 'git', args); + return _exec({ silent: true }, process.env.GIT_BIN || 'git', args); } /** @@ -372,24 +389,42 @@ export function silentGit(...args: string[]) { * registry (not the test runner or standard global node_modules). */ export async function launchTestProcess(entry: string, ...args: any[]): Promise { + // NOTE: do NOT use the bazel TEST_TMPDIR. When sandboxing is not enabled the + // TEST_TMPDIR is not sandboxed and has symlinks into the src dir in a + // parent directory. Symlinks into the src dir will include package.json, + // .git and other files/folders that may effect e2e tests. + const tempRoot: string = getGlobalVariable('tmp-root'); + const TEMP = process.env.TEMP ?? process.env.TMPDIR ?? tempRoot; // Extract explicit environment variables for the test process. const env: NodeJS.ProcessEnv = { + TEMP, + TMPDIR: TEMP, + HOME: TEMP, + + // Use BAZEL_TARGET as a metadata variable to show it is a + // process managed by bazel + BAZEL_TARGET: process.env.BAZEL_TARGET, + ...extractNpmEnv(), ...extractCIEnv(), + ...extractNgEnv(), ...getGlobalVariablesEnv(), }; - // Modify the PATH environment variable... - env.PATH = (env.PATH || process.env.PATH) - ?.split(delimiter) - // Only include paths within the sandboxed test environment or external - // non angular-cli paths such as /usr/bin for generic commands. - .filter((p) => p.startsWith(tempRoot) || !p.includes('angular-cli')) + // Only include paths within the sandboxed test environment or external + // non angular-cli paths such as /usr/bin for generic commands. + env.PATH = process.env + .PATH!.split(delimiter) + .filter((p) => p.startsWith(tempRoot) || p.startsWith(TEMP) || !p.includes('angular-cli')) .join(delimiter); - const testProcessArgs = [resolve(__dirname, 'run_test_process'), entry, ...args]; + const testProcessArgs = [ + resolve(__dirname, IS_BAZEL ? 'test_process' : 'run_test_process'), + entry, + ...args, + ]; return new Promise((resolve, reject) => { spawn(process.execPath, testProcessArgs, { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 1f25eb78105f..2f9a00a21ab1 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -2,8 +2,9 @@ import * as fs from 'fs'; import * as path from 'path'; import { prerelease, SemVer } from 'semver'; import yargsParser from 'yargs-parser'; +import { IS_BAZEL } from './bazel'; import { getGlobalVariable } from './env'; -import { prependToFile, readFile, replaceInFile, writeFile } from './fs'; +import { readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; import { findFreePort } from './network'; import { installWorkspacePackages, PkgInfo } from './packages'; @@ -50,37 +51,41 @@ export async function prepareProjectForE2e(name: string) { await installWorkspacePackages(); await ng('generate', 'e2e', '--related-app-name', name); - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; + // bazel will use its own sandboxed browser + webdriver + // TODO(bazel): remove non-bazel + if (!IS_BAZEL) { + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { + chrome: { last: string }; + }; - const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; - if (!chromeDriverVersion) { - throw new Error('Could not extract chrome webdriver version.'); - } + const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; + if (!chromeDriverVersion) { + throw new Error('Could not extract chrome webdriver version.'); + } - // Initialize selenium webdriver. - // Often fails the first time so attempt twice if necessary. - const runWebdriverUpdate = () => - exec( - process.execPath, - 'node_modules/protractor/bin/webdriver-manager', - 'update', - '--standalone', - 'false', - '--gecko', - 'false', - '--versions.chrome', - chromeDriverVersion, - ); - try { - await runWebdriverUpdate(); - } catch { - await runWebdriverUpdate(); + // Initialize selenium webdriver. + // Often fails the first time so attempt twice if necessary. + const runWebdriverUpdate = () => + exec( + process.execPath, + 'node_modules/protractor/bin/webdriver-manager', + 'update', + '--standalone', + 'false', + '--gecko', + 'false', + '--versions.chrome', + chromeDriverVersion, + ); + try { + await runWebdriverUpdate(); + } catch { + await runWebdriverUpdate(); + } } await useCIChrome(name, 'e2e'); @@ -184,40 +189,45 @@ export function useCIDefaults(projectName = 'test-project'): Promise { export async function useCIChrome(projectName: string, projectDir = ''): Promise { const protractorConf = path.join(projectDir, 'protractor.conf.js'); - const chromePath = require('puppeteer').executablePath(); - - // Use Puppeteer in protractor if a config is found on the project. if (fs.existsSync(protractorConf)) { - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; - const chromeDriverPath = webdriverUpdate.chrome.last; - + // Ensure the headless sandboxed chrome is configured in the protractor config await replaceInFile( protractorConf, `browserName: 'chrome'`, `browserName: 'chrome', chromeOptions: { - args: ['--headless'], - binary: String.raw\`${chromePath}\`, + args: ['--headless', '--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage'], + binary: String.raw\`${process.env.CHROME_BIN}\`, }`, ); await replaceInFile( protractorConf, 'directConnect: true,', - `directConnect: true, chromeDriver: String.raw\`${chromeDriverPath}\`,`, + `directConnect: true, chromeDriver: String.raw\`${process.env.CHROMEDRIVER_BIN}\`,`, + ); + } + + const karmaConf = path.join(projectDir, 'karma.conf.js'); + if (fs.existsSync(karmaConf)) { + // Ensure the headless sandboxed chrome is configured in the karma config + await replaceInFile( + karmaConf, + `browsers: ['Chrome'],`, + `browsers: ['ChromeHeadlessNoSandbox'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'], + }, + },`, ); } - // Use ChromeHeadless. + // Update to use the headless sandboxed chrome return updateJsonFile('angular.json', (workspaceJson) => { const project = workspaceJson.projects[projectName]; const appTargets = project.targets || project.architect; - appTargets.test.options.browsers = 'ChromeHeadless'; + appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox'; }); } diff --git a/tests/legacy-cli/e2e/utils/utils.ts b/tests/legacy-cli/e2e/utils/utils.ts index 6e9c8da3e756..b5a9901b448d 100644 --- a/tests/legacy-cli/e2e/utils/utils.ts +++ b/tests/legacy-cli/e2e/utils/utils.ts @@ -24,8 +24,8 @@ export function wait(msecs: number): Promise { }); } -export async function mktempd(prefix: string): Promise { - return realpath(await mkdtemp(path.join(tmpdir(), prefix))); +export async function mktempd(prefix: string, tempRoot?: string): Promise { + return realpath(await mkdtemp(path.join(tempRoot ?? tmpdir(), prefix))); } export async function mockHome(cb: (home: string) => Promise): Promise { diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index fa5ecd74bb23..ef28132e58c9 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -8,10 +8,11 @@ import { getGlobalVariable, setGlobalVariable } from './e2e/utils/env'; import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; import { launchTestProcess } from './e2e/utils/process'; -import { join } from 'path'; +import { delimiter, dirname, join } from 'path'; +import { IS_BAZEL } from './e2e/utils/bazel'; import { findFreePort } from './e2e/utils/network'; import { extractFile } from './e2e/utils/tar'; -import { realpathSync } from 'fs'; +import { readFileSync, realpathSync } from 'fs'; import { PkgInfo } from './e2e/utils/packages'; Error.stackTraceLimit = Infinity; @@ -61,6 +62,16 @@ const argv = yargsParser(process.argv.slice(2), { }, default: { 'package': ['./dist/_*.tgz'], + + 'debug': !!process.env.BUILD_WORKSPACE_DIRECTORY, + 'glob': process.env.TESTBRIDGE_TEST_ONLY, + 'nb-shards': + Number(process.env.E2E_SHARD_TOTAL ?? 1) * Number(process.env.TEST_TOTAL_SHARDS ?? 1) || 1, + 'shard': + process.env.E2E_SHARD_INDEX === undefined && process.env.TEST_SHARD_INDEX === undefined + ? undefined + : Number(process.env.E2E_SHARD_INDEX ?? 0) * Number(process.env.TEST_TOTAL_SHARDS ?? 1) + + Number(process.env.TEST_SHARD_INDEX ?? 0), }, }); @@ -80,6 +91,20 @@ process.exitCode = 255; */ process.env.LEGACY_CLI_RUNNER = '1'; +/** + * Add external git toolchain onto PATH + */ +if (process.env.GIT_BIN) { + process.env.PATH = process.env.PATH! + delimiter + dirname(process.env.GIT_BIN!); +} + +/** + * Add external browser toolchains onto PATH + */ +if (process.env.CHROME_BIN) { + process.env.PATH = process.env.PATH! + delimiter + dirname(process.env.CHROME_BIN!); +} + const logger = createConsoleLogger(argv.verbose, process.stdout, process.stderr, { info: (s) => s, debug: (s) => s, @@ -93,17 +118,27 @@ function lastLogger() { return logStack[logStack.length - 1]; } -const testGlob = argv.glob || 'tests/**/*.ts'; +// Under bazel the compiled file (.js) and types (.d.ts) are available. +// Outside bazel the source .ts files are available. +const SRC_FILE_EXT = IS_BAZEL ? 'js' : 'ts'; +const SRC_FILE_EXT_RE = new RegExp(`\.${SRC_FILE_EXT}$`); + +const testGlob = argv.glob || `tests/**/*.${SRC_FILE_EXT}`; const e2eRoot = path.join(__dirname, 'e2e'); -const allSetups = glob.sync('setup/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); -const allInitializers = glob.sync('initialize/**/*.ts', { nodir: true, cwd: e2eRoot }).sort(); +const allSetups = glob.sync(`setup/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }).sort(); +const allInitializers = glob + .sync(`initialize/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }) + .sort(); const allTests = glob .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. .map((name) => name.replace(/\\/g, '/')) .filter((name) => { - if (name.endsWith('/setup.ts')) { + if (name.endsWith(`/setup.${SRC_FILE_EXT}`)) { + return false; + } + if (!SRC_FILE_EXT_RE.test(name)) { return false; } @@ -122,8 +157,8 @@ const allTests = glob }) .sort(); -const shardId = 'shard' in argv ? argv['shard'] : null; -const nbShards = (shardId === null ? 1 : argv['nb-shards']) || 2; +const shardId = argv['shard'] !== undefined ? Number(argv['shard']) : null; +const nbShards = shardId === null ? 1 : Number(argv['nb-shards']); const tests = allTests.filter((name) => { // Check for naming tests on command line. if (argv._.length == 0) { @@ -134,7 +169,7 @@ const tests = allTests.filter((name) => { return ( path.join(process.cwd(), argName + '') == path.join(__dirname, 'e2e', name) || argName == name || - argName == name.replace(/\.ts$/, '') + argName == name.replace(SRC_FILE_EXT_RE, '') ); }); }); @@ -143,7 +178,7 @@ const tests = allTests.filter((name) => { const testsToRun = tests.filter((name, i) => shardId === null || i % nbShards == shardId); if (testsToRun.length === 0) { - if (shardId !== null && tests.length >= shardId ? 1 : 0) { + if (shardId !== null && tests.length <= shardId) { console.log(`No tests to run on shard ${shardId}, exiting.`); process.exit(0); } else { @@ -170,9 +205,28 @@ console.log(['Tests:', ...testsToRun].join('\n ')); setGlobalVariable('argv', argv); setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); -// This is needed by karma-chrome-launcher + +// Use the chrome supplied by bazel or the puppeteer chrome and webdriver-manager driver outside. +// This is needed by karma-chrome-launcher, protractor etc. // https://github.com/karma-runner/karma-chrome-launcher#headless-chromium-with-puppeteer -process.env['CHROME_BIN'] = require('puppeteer').executablePath(); +// +// Resolve from relative paths to absolute paths within the bazel runfiles tree +// so subprocesses spawned in a different working directory can still find them. +process.env.CHROME_BIN = IS_BAZEL + ? path.resolve(process.env.CHROME_BIN!) + : require('puppeteer').executablePath(); +process.env.CHROMEDRIVER_BIN = IS_BAZEL + ? path.resolve(process.env.CHROMEDRIVER_BIN!) + : (function () { + const protractorPath = require.resolve('protractor'); + const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { + paths: [protractorPath], + }); + const webdriverUpdate = JSON.parse(readFileSync(webdriverUpdatePath).toString()) as { + chrome: { last: string }; + }; + return webdriverUpdate.chrome.last; + })(); Promise.all([findFreePort(), findFreePort(), findPackageTars()]) .then(async ([httpPort, httpsPort, packageTars]) => { @@ -237,12 +291,12 @@ async function runSteps( for (const [stepIndex, relativeName] of steps.entries()) { // Make sure this is a windows compatible path. - let absoluteName = path.join(e2eRoot, relativeName).replace(/\.ts$/, ''); + let absoluteName = path.join(e2eRoot, relativeName).replace(SRC_FILE_EXT_RE, ''); if (/^win/.test(process.platform)) { absoluteName = absoluteName.replace(/\\/g, path.posix.sep); } - const name = relativeName.replace(/\.ts$/, ''); + const name = relativeName.replace(SRC_FILE_EXT_RE, ''); const start = Date.now(); printHeader(relativeName, stepIndex, steps.length, type); @@ -297,7 +351,7 @@ function printHeader( type: 'setup' | 'initializer' | 'test', ) { const text = `${testIndex + 1} of ${count}`; - const fullIndex = testIndex * nbShards + shardId + 1; + const fullIndex = testIndex * nbShards + (shardId ?? 0) + 1; const shard = shardId === null || type !== 'test' ? '' @@ -328,7 +382,16 @@ async function findPackageTars(): Promise<{ [pkg: string]: PkgInfo }> { glob.sync(p, { realpath: true }), ); - const pkgJsons = await Promise.all(pkgs.map((pkg) => extractFile(pkg, './package/package.json'))); + const pkgJsons = await Promise.all( + pkgs.map(async (pkg) => { + try { + return await extractFile(pkg, './package/package.json'); + } catch (e) { + // TODO(bazel): currently the bazel npm packaging does not contain the standard npm ./package directory + return await extractFile(pkg, './package.json'); + } + }), + ); return pkgs.reduce((all, pkg, i) => { const json = pkgJsons[i].toString('utf8'); diff --git a/tools/defaults.bzl b/tools/defaults.bzl index b80dfee74c9b..a28135d330bc 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -1,6 +1,6 @@ """Re-export of some bazel rules with repository-wide defaults.""" -load("@npm//@bazel/concatjs/internal:build_defs.bzl", _ts_library = "ts_library_macro") +load("@npm//@bazel/concatjs:index.bzl", _ts_library = "ts_library") load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin", _js_library = "js_library", _pkg_npm = "pkg_npm") load("@rules_pkg//:pkg.bzl", "pkg_tar") load("@npm//@angular/build-tooling/bazel:extract_js_module_output.bzl", "extract_js_module_output") From 8cf0d17fb1b39ea7bbd1c751995a56de3df45114 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 19 Jan 2023 11:27:22 -0500 Subject: [PATCH 1326/1388] feat(@angular-devkit/build-angular): support JIT compilation with esbuild When using the experimental esbuild-based browser application builder, the `aot` build option can now be set to `false` to enable JIT compilation mode. The JIT mode compilation operates in a similar fashion to the Webpack-based builder in JIT mode. All external Component stylesheet and template references are converted to static import statements and then the content is bundled as text. All inline styles are also processed in this way as well to support inline style languages such as Sass. This approach also has the advantage of minimizing the processing necessary during rebuilds. In JIT watch mode, TypeScript code does not need to be reprocessed if only an external stylesheet or template is changed. --- .../angular/jit-compilation.ts | 133 ++++++++ .../angular/jit-plugin-callbacks.ts | 136 ++++++++ .../angular/jit-resource-transformer.ts | 292 ++++++++++++++++++ .../builders/browser-esbuild/angular/uri.ts | 78 +++++ .../browser-esbuild/compiler-plugin.ts | 23 +- .../src/builders/browser-esbuild/index.ts | 14 +- .../javascript-transformer-worker.ts | 3 +- .../browser-esbuild/javascript-transformer.ts | 9 +- .../src/builders/browser-esbuild/options.ts | 2 + .../builders/browser-esbuild/stylesheets.ts | 8 +- 10 files changed, 674 insertions(+), 24 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-compilation.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-plugin-callbacks.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-resource-transformer.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/uri.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-compilation.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-compilation.ts new file mode 100644 index 000000000000..af4ab1b816a5 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-compilation.ts @@ -0,0 +1,133 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import assert from 'node:assert'; +import ts from 'typescript'; +import { AngularCompilation } from '../angular-compilation'; +import { AngularHostOptions, createAngularCompilerHost } from '../angular-host'; +import { profileSync } from '../profiling'; +import { createJitResourceTransformer } from './jit-resource-transformer'; + +class JitCompilationState { + constructor( + public readonly typeScriptProgram: ts.EmitAndSemanticDiagnosticsBuilderProgram, + public readonly constructorParametersDownlevelTransform: ts.TransformerFactory, + public readonly replaceResourcesTransform: ts.TransformerFactory, + ) {} +} + +export interface EmitFileResult { + content?: string; + map?: string; + dependencies: readonly string[]; +} +export type FileEmitter = (file: string) => Promise; + +export class JitCompilation { + #state?: JitCompilationState; + + async initialize( + rootNames: string[], + compilerOptions: ts.CompilerOptions, + hostOptions: AngularHostOptions, + configurationDiagnostics?: ts.Diagnostic[], + ): Promise<{ affectedFiles: ReadonlySet }> { + // Dynamically load the Angular compiler CLI package + const { constructorParametersDownlevelTransform } = await AngularCompilation.loadCompilerCli(); + + // Create Angular compiler host + const host = createAngularCompilerHost(compilerOptions, hostOptions); + + // Create the TypeScript Program + const typeScriptProgram = profileSync('TS_CREATE_PROGRAM', () => + ts.createEmitAndSemanticDiagnosticsBuilderProgram( + rootNames, + compilerOptions, + host, + this.#state?.typeScriptProgram, + configurationDiagnostics, + ), + ); + + const affectedFiles = profileSync('TS_FIND_AFFECTED', () => + findAffectedFiles(typeScriptProgram), + ); + + this.#state = new JitCompilationState( + typeScriptProgram, + constructorParametersDownlevelTransform(typeScriptProgram.getProgram()), + createJitResourceTransformer(() => typeScriptProgram.getProgram().getTypeChecker()), + ); + + return { affectedFiles }; + } + + *collectDiagnostics(): Iterable { + assert(this.#state, 'Compilation must be initialized prior to collecting diagnostics.'); + const { typeScriptProgram } = this.#state; + + // Collect program level diagnostics + yield* typeScriptProgram.getConfigFileParsingDiagnostics(); + yield* typeScriptProgram.getOptionsDiagnostics(); + yield* typeScriptProgram.getGlobalDiagnostics(); + yield* profileSync('NG_DIAGNOSTICS_SYNTACTIC', () => + typeScriptProgram.getSyntacticDiagnostics(), + ); + yield* profileSync('NG_DIAGNOSTICS_SEMANTIC', () => typeScriptProgram.getSemanticDiagnostics()); + } + + createFileEmitter(onAfterEmit?: (sourceFile: ts.SourceFile) => void): FileEmitter { + assert(this.#state, 'Compilation must be initialized prior to emitting files.'); + const { + typeScriptProgram, + constructorParametersDownlevelTransform, + replaceResourcesTransform, + } = this.#state; + + const transformers = { + before: [replaceResourcesTransform, constructorParametersDownlevelTransform], + }; + + return async (file: string) => { + const sourceFile = typeScriptProgram.getSourceFile(file); + if (!sourceFile) { + return undefined; + } + + let content: string | undefined; + typeScriptProgram.emit( + sourceFile, + (filename, data) => { + if (/\.[cm]?js$/.test(filename)) { + content = data; + } + }, + undefined /* cancellationToken */, + undefined /* emitOnlyDtsFiles */, + transformers, + ); + + onAfterEmit?.(sourceFile); + + return { content, dependencies: [] }; + }; + } +} + +function findAffectedFiles( + builder: ts.EmitAndSemanticDiagnosticsBuilderProgram, +): Set { + const affectedFiles = new Set(); + + let result; + while ((result = builder.getSemanticDiagnosticsOfNextAffectedFile())) { + affectedFiles.add(result.affected as ts.SourceFile); + } + + return affectedFiles; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-plugin-callbacks.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-plugin-callbacks.ts new file mode 100644 index 000000000000..20adc6e2f157 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-plugin-callbacks.ts @@ -0,0 +1,136 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { OutputFile, PluginBuild } from 'esbuild'; +import { readFile } from 'node:fs/promises'; +import path from 'node:path'; +import { BundleStylesheetOptions, bundleComponentStylesheet } from '../stylesheets'; +import { + JIT_NAMESPACE_REGEXP, + JIT_STYLE_NAMESPACE, + JIT_TEMPLATE_NAMESPACE, + parseJitUri, +} from './uri'; + +/** + * Loads/extracts the contents from a load callback Angular JIT entry. + * An Angular JIT entry represents either a file path for a component resource or base64 + * encoded data for an inline component resource. + * @param entry The value that represents content to load. + * @param root The absolute path for the root of the build (typically the workspace root). + * @param skipRead If true, do not attempt to read the file; if false, read file content from disk. + * This option has no effect if the entry does not originate from a file. Defaults to false. + * @returns An object containing the absolute path of the contents and optionally the actual contents. + * For inline entries the contents will always be provided. + */ +async function loadEntry( + entry: string, + root: string, + skipRead?: boolean, +): Promise<{ path: string; contents?: string }> { + if (entry.startsWith('file:')) { + const specifier = path.join(root, entry.slice(5)); + + return { + path: specifier, + contents: skipRead ? undefined : await readFile(specifier, 'utf-8'), + }; + } else if (entry.startsWith('inline:')) { + const [importer, data] = entry.slice(7).split(';', 2); + + return { + path: path.join(root, importer), + contents: Buffer.from(data, 'base64').toString(), + }; + } else { + throw new Error('Invalid data for Angular JIT entry.'); + } +} + +/** + * Sets up esbuild resolve and load callbacks to support Angular JIT mode processing + * for both Component stylesheets and templates. These callbacks work alongside the JIT + * resource TypeScript transformer to convert and then bundle Component resources as + * static imports. + * @param build An esbuild {@link PluginBuild} instance used to add callbacks. + * @param styleOptions The options to use when bundling stylesheets. + * @param stylesheetResourceFiles An array where stylesheet resources will be added. + */ +export function setupJitPluginCallbacks( + build: PluginBuild, + styleOptions: BundleStylesheetOptions & { inlineStyleLanguage: string }, + stylesheetResourceFiles: OutputFile[], +): void { + const root = build.initialOptions.absWorkingDir ?? ''; + + // Add a resolve callback to capture and parse any JIT URIs that were added by the + // JIT resource TypeScript transformer. + // Resources originating from a file are resolved as relative from the containing file (importer). + build.onResolve({ filter: JIT_NAMESPACE_REGEXP }, (args) => { + const parsed = parseJitUri(args.path); + if (!parsed) { + return undefined; + } + + const { namespace, origin, specifier } = parsed; + + if (origin === 'file') { + return { + // Use a relative path to prevent fully resolved paths in the metafile (JSON stats file). + // This is only necessary for custom namespaces. esbuild will handle the file namespace. + path: 'file:' + path.relative(root, path.join(path.dirname(args.importer), specifier)), + namespace, + }; + } else { + // Inline data may need the importer to resolve imports/references within the content + const importer = path.relative(root, args.importer); + + return { + path: `inline:${importer};${specifier}`, + namespace, + }; + } + }); + + // Add a load callback to handle Component stylesheets (both inline and external) + build.onLoad({ filter: /./, namespace: JIT_STYLE_NAMESPACE }, async (args) => { + // skipRead is used here because the stylesheet bundling will read a file stylesheet + // directly either via a preprocessor or esbuild itself. + const entry = await loadEntry(args.path, root, true /* skipRead */); + + const { contents, resourceFiles, errors, warnings } = await bundleComponentStylesheet( + styleOptions.inlineStyleLanguage, + // The `data` parameter is only needed for a stylesheet if it was inline + entry.contents ?? '', + entry.path, + entry.contents !== undefined, + styleOptions, + ); + + stylesheetResourceFiles.push(...resourceFiles); + + return { + errors, + warnings, + contents, + loader: 'text', + }; + }); + + // Add a load callback to handle Component templates + // NOTE: While this callback supports both inline and external templates, the transformer + // currently only supports generating URIs for external templates. + build.onLoad({ filter: /./, namespace: JIT_TEMPLATE_NAMESPACE }, async (args) => { + const { contents } = await loadEntry(args.path, root); + + return { + contents, + loader: 'text', + }; + }); +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-resource-transformer.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-resource-transformer.ts new file mode 100644 index 000000000000..500b5728b148 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/jit-resource-transformer.ts @@ -0,0 +1,292 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import ts from 'typescript'; +import { generateJitFileUri, generateJitInlineUri } from './uri'; + +/** + * Creates a TypeScript Transformer to transform Angular Component resource references into + * static import statements. This transformer is used in Angular's JIT compilation mode to + * support processing of component resources. When in AOT mode, the Angular AOT compiler handles + * this processing and this transformer is not used. + * @param getTypeChecker A function that returns a TypeScript TypeChecker instance for the program. + * @returns A TypeScript transformer factory. + */ +export function createJitResourceTransformer( + getTypeChecker: () => ts.TypeChecker, +): ts.TransformerFactory { + return (context: ts.TransformationContext) => { + const typeChecker = getTypeChecker(); + const nodeFactory = context.factory; + const resourceImportDeclarations: ts.ImportDeclaration[] = []; + + const visitNode: ts.Visitor = (node: ts.Node) => { + if (ts.isClassDeclaration(node)) { + const decorators = ts.getDecorators(node); + + if (!decorators || decorators.length === 0) { + return node; + } + + return nodeFactory.updateClassDeclaration( + node, + [ + ...decorators.map((current) => + visitDecorator(nodeFactory, current, typeChecker, resourceImportDeclarations), + ), + ...(ts.getModifiers(node) ?? []), + ], + node.name, + node.typeParameters, + node.heritageClauses, + node.members, + ); + } + + return ts.visitEachChild(node, visitNode, context); + }; + + return (sourceFile) => { + const updatedSourceFile = ts.visitEachChild(sourceFile, visitNode, context); + + if (resourceImportDeclarations.length > 0) { + return nodeFactory.updateSourceFile( + updatedSourceFile, + ts.setTextRange( + nodeFactory.createNodeArray( + [...resourceImportDeclarations, ...updatedSourceFile.statements], + updatedSourceFile.statements.hasTrailingComma, + ), + updatedSourceFile.statements, + ), + updatedSourceFile.isDeclarationFile, + updatedSourceFile.referencedFiles, + updatedSourceFile.typeReferenceDirectives, + updatedSourceFile.hasNoDefaultLib, + updatedSourceFile.libReferenceDirectives, + ); + } else { + return updatedSourceFile; + } + }; + }; +} + +function visitDecorator( + nodeFactory: ts.NodeFactory, + node: ts.Decorator, + typeChecker: ts.TypeChecker, + resourceImportDeclarations: ts.ImportDeclaration[], +): ts.Decorator { + const origin = getDecoratorOrigin(node, typeChecker); + if (!origin || origin.module !== '@angular/core' || origin.name !== 'Component') { + return node; + } + + if (!ts.isCallExpression(node.expression)) { + return node; + } + + const decoratorFactory = node.expression; + const args = decoratorFactory.arguments; + if (args.length !== 1 || !ts.isObjectLiteralExpression(args[0])) { + // Unsupported component metadata + return node; + } + + const objectExpression = args[0] as ts.ObjectLiteralExpression; + const styleReplacements: ts.Expression[] = []; + + // visit all properties + let properties = ts.visitNodes(objectExpression.properties, (node) => + ts.isObjectLiteralElementLike(node) + ? visitComponentMetadata(nodeFactory, node, styleReplacements, resourceImportDeclarations) + : node, + ); + + // replace properties with updated properties + if (styleReplacements.length > 0) { + const styleProperty = nodeFactory.createPropertyAssignment( + nodeFactory.createIdentifier('styles'), + nodeFactory.createArrayLiteralExpression(styleReplacements), + ); + + properties = nodeFactory.createNodeArray([...properties, styleProperty]); + } + + return nodeFactory.updateDecorator( + node, + nodeFactory.updateCallExpression( + decoratorFactory, + decoratorFactory.expression, + decoratorFactory.typeArguments, + [nodeFactory.updateObjectLiteralExpression(objectExpression, properties)], + ), + ); +} + +function visitComponentMetadata( + nodeFactory: ts.NodeFactory, + node: ts.ObjectLiteralElementLike, + styleReplacements: ts.Expression[], + resourceImportDeclarations: ts.ImportDeclaration[], +): ts.ObjectLiteralElementLike | undefined { + if (!ts.isPropertyAssignment(node) || ts.isComputedPropertyName(node.name)) { + return node; + } + + switch (node.name.text) { + case 'templateUrl': + // Only analyze string literals + if ( + !ts.isStringLiteral(node.initializer) && + !ts.isNoSubstitutionTemplateLiteral(node.initializer) + ) { + return node; + } + + const url = node.initializer.text; + if (!url) { + return node; + } + + return nodeFactory.updatePropertyAssignment( + node, + nodeFactory.createIdentifier('template'), + createResourceImport( + nodeFactory, + generateJitFileUri(url, 'template'), + resourceImportDeclarations, + ), + ); + case 'styles': + if (!ts.isArrayLiteralExpression(node.initializer)) { + return node; + } + + const inlineStyles = ts.visitNodes(node.initializer.elements, (node) => { + if (!ts.isStringLiteral(node) && !ts.isNoSubstitutionTemplateLiteral(node)) { + return node; + } + + const contents = node.text; + if (!contents) { + // An empty inline style is equivalent to not having a style element + return undefined; + } + + return createResourceImport( + nodeFactory, + generateJitInlineUri(contents, 'style'), + resourceImportDeclarations, + ); + }); + + // Inline styles should be placed first + styleReplacements.unshift(...inlineStyles); + + // The inline styles will be added afterwards in combination with any external styles + return undefined; + case 'styleUrls': + if (!ts.isArrayLiteralExpression(node.initializer)) { + return node; + } + + const externalStyles = ts.visitNodes(node.initializer.elements, (node) => { + if (!ts.isStringLiteral(node) && !ts.isNoSubstitutionTemplateLiteral(node)) { + return node; + } + + const url = node.text; + if (!url) { + return node; + } + + return createResourceImport( + nodeFactory, + generateJitFileUri(url, 'style'), + resourceImportDeclarations, + ); + }); + + // External styles are applied after any inline styles + styleReplacements.push(...externalStyles); + + // The external styles will be added afterwards in combination with any inline styles + return undefined; + default: + // All other elements are passed through + return node; + } +} + +function createResourceImport( + nodeFactory: ts.NodeFactory, + url: string, + resourceImportDeclarations: ts.ImportDeclaration[], +): ts.Identifier { + const urlLiteral = nodeFactory.createStringLiteral(url); + + const importName = nodeFactory.createIdentifier( + `__NG_CLI_RESOURCE__${resourceImportDeclarations.length}`, + ); + resourceImportDeclarations.push( + nodeFactory.createImportDeclaration( + undefined, + nodeFactory.createImportClause(false, importName, undefined), + urlLiteral, + ), + ); + + return importName; +} + +function getDecoratorOrigin( + decorator: ts.Decorator, + typeChecker: ts.TypeChecker, +): { name: string; module: string } | null { + if (!ts.isCallExpression(decorator.expression)) { + return null; + } + + let identifier: ts.Node; + let name = ''; + + if (ts.isPropertyAccessExpression(decorator.expression.expression)) { + identifier = decorator.expression.expression.expression; + name = decorator.expression.expression.name.text; + } else if (ts.isIdentifier(decorator.expression.expression)) { + identifier = decorator.expression.expression; + } else { + return null; + } + + // NOTE: resolver.getReferencedImportDeclaration would work as well but is internal + const symbol = typeChecker.getSymbolAtLocation(identifier); + if (symbol && symbol.declarations && symbol.declarations.length > 0) { + const declaration = symbol.declarations[0]; + let module: string; + + if (ts.isImportSpecifier(declaration)) { + name = (declaration.propertyName || declaration.name).text; + module = (declaration.parent.parent.parent.moduleSpecifier as ts.StringLiteral).text; + } else if (ts.isNamespaceImport(declaration)) { + // Use the name from the decorator namespace property access + module = (declaration.parent.parent.moduleSpecifier as ts.StringLiteral).text; + } else if (ts.isImportClause(declaration)) { + name = (declaration.name as ts.Identifier).text; + module = (declaration.parent.moduleSpecifier as ts.StringLiteral).text; + } else { + return null; + } + + return { name, module }; + } + + return null; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/uri.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/uri.ts new file mode 100644 index 000000000000..f328c3607325 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/angular/uri.ts @@ -0,0 +1,78 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/** + * A string value representing the base namespace for Angular JIT mode related imports. + */ +const JIT_BASE_NAMESPACE = 'angular:jit'; + +/** + * A string value representing the namespace for Angular JIT mode related imports for + * Component styles. This namespace is used for both inline (`styles`) and external + * (`styleUrls`) styles. + */ +export const JIT_STYLE_NAMESPACE = `${JIT_BASE_NAMESPACE}:style` as const; + +/** + * A string value representing the namespace for Angular JIT mode related imports for + * Component templates. This namespace is currently only used for external (`templateUrl`) + * templates. + */ +export const JIT_TEMPLATE_NAMESPACE = `${JIT_BASE_NAMESPACE}:template` as const; + +/** + * A regular expression that can be used to match a Angular JIT mode namespace URI. + * It contains capture groups for the type (template/style), origin (file/inline), and specifier. + * The {@link parseJitUri} function can be used to parse and return an object representation of a JIT URI. + */ +export const JIT_NAMESPACE_REGEXP = new RegExp( + `^${JIT_BASE_NAMESPACE}:(template|style):(file|inline);(.*)$`, +); + +/** + * Generates an Angular JIT mode namespace URI for a given file. + * @param file The path of the file to be included. + * @param type The type of the file (`style` or `template`). + * @returns A string containing the full JIT namespace URI. + */ +export function generateJitFileUri(file: string, type: 'style' | 'template') { + return `${JIT_BASE_NAMESPACE}:${type}:file;${file}`; +} + +/** + * Generates an Angular JIT mode namespace URI for a given inline style or template. + * The provided content is base64 encoded and included in the URI. + * @param data The content to encode within the URI. + * @param type The type of the content (`style` or `template`). + * @returns A string containing the full JIT namespace URI. + */ +export function generateJitInlineUri(data: string | Uint8Array, type: 'style' | 'template') { + return `${JIT_BASE_NAMESPACE}:${type}:inline;${Buffer.from(data).toString('base64')}`; +} + +/** + * Parses a string containing a JIT namespace URI. + * JIT namespace URIs are used to encode the information for an Angular component's stylesheets + * and templates when compiled in JIT mode. + * @param uri The URI to parse into its underlying components. + * @returns An object containing the namespace, type, origin, and specifier of the URI; + * `undefined` if not a JIT namespace URI. + */ +export function parseJitUri(uri: string) { + const matches = JIT_NAMESPACE_REGEXP.exec(uri); + if (!matches) { + return undefined; + } + + return { + namespace: `${JIT_BASE_NAMESPACE}:${matches[1]}`, + type: matches[1] as 'style' | 'template', + origin: matches[2] as 'file' | 'inline', + specifier: matches[3], + }; +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index e3660d3d61cc..c0a6cc9807aa 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -21,6 +21,8 @@ import * as path from 'node:path'; import { pathToFileURL } from 'node:url'; import ts from 'typescript'; import { maxWorkers } from '../../utils/environment-options'; +import { JitCompilation } from './angular/jit-compilation'; +import { setupJitPluginCallbacks } from './angular/jit-plugin-callbacks'; import { AngularCompilation, FileEmitter } from './angular-compilation'; import { AngularHostOptions } from './angular-host'; import { JavaScriptTransformer } from './javascript-transformer'; @@ -32,11 +34,6 @@ import { } from './profiling'; import { BundleStylesheetOptions, bundleComponentStylesheet } from './stylesheets'; -/** - * A counter for component styles used to generate unique build-time identifiers for each stylesheet. - */ -let componentStyleCounter = 0; - /** * Converts TypeScript Diagnostic related information into an esbuild compatible note object. * Related information is a subset of a full TypeScript Diagnostic and also used for diagnostic @@ -147,6 +144,7 @@ export class SourceFileCache extends Map { export interface CompilerPluginOptions { sourcemap: boolean; tsconfig: string; + jit?: boolean; advancedOptimizations?: boolean; thirdPartySourcemaps?: boolean; fileReplacements?: Record; @@ -236,7 +234,7 @@ export function createCompilerPlugin( let fileEmitter: FileEmitter | undefined; // The stylesheet resources from component stylesheets that will be added to the build results output files - let stylesheetResourceFiles: OutputFile[]; + let stylesheetResourceFiles: OutputFile[] = []; let stylesheetMetafiles: Metafile[]; @@ -267,8 +265,6 @@ export function createCompilerPlugin( const filename = stylesheetFile ?? containingFile; const stylesheetResult = await bundleComponentStylesheet( - // TODO: Evaluate usage of a fast hash instead - `${++componentStyleCounter}`, styleOptions.inlineStyleLanguage, data, filename, @@ -291,7 +287,11 @@ export function createCompilerPlugin( }; // Create new compilation if first build; otherwise, use existing for rebuilds - compilation ??= new AngularCompilation(); + if (pluginOptions.jit) { + compilation ??= new JitCompilation(); + } else { + compilation ??= new AngularCompilation(); + } // Initialize the Angular compilation for the current build. // In watch mode, previous build state will be reused. @@ -411,6 +411,11 @@ export function createCompilerPlugin( ), ); + // Setup bundling of component templates and stylesheets when in JIT mode + if (pluginOptions.jit) { + setupJitPluginCallbacks(build, styleOptions, stylesheetResourceFiles); + } + build.onEnd((result) => { // Add any component stylesheet resource files to the output files if (stylesheetResourceFiles.length) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts index ae99ede54377..bcd527400611 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts @@ -284,6 +284,7 @@ function createCodeBundleOptions( stylePreprocessorOptions, advancedOptimizations, inlineStyleLanguage, + jit, } = options; return { @@ -318,6 +319,7 @@ function createCodeBundleOptions( sourcemap: !!sourcemapOptions.scripts, thirdPartySourcemaps: sourcemapOptions.vendor, tsconfig, + jit, advancedOptimizations, fileReplacements, sourceFileCache, @@ -344,8 +346,7 @@ function createCodeBundleOptions( // Angular turns `ngDevMode` into an object for development debugging purposes when not defined // which a constant true value would break. ...(optimizationOptions.scripts ? { 'ngDevMode': 'false' } : undefined), - // Only AOT mode is supported currently - 'ngJitMode': 'false', + 'ngJitMode': jit ? 'true' : 'false', }, }; } @@ -475,15 +476,6 @@ export async function* buildEsbuildBrowser( initialOptions: BrowserBuilderOptions, context: BuilderContext, ): AsyncIterable { - // Only AOT is currently supported - if (initialOptions.aot !== true) { - context.logger.error( - 'JIT mode is currently not supported by this experimental builder. AOT mode must be used.', - ); - - return; - } - // Inform user of experimental status of builder and options logExperimentalWarnings(initialOptions, context); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts index 993dbdd93850..d3442b64c43f 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer-worker.ts @@ -20,6 +20,7 @@ interface JavaScriptTransformRequest { advancedOptimizations: boolean; forceAsyncTransformation?: boolean; skipLinker: boolean; + jit: boolean; } export default async function transformJavaScript( @@ -80,7 +81,7 @@ async function transformWithBabel({ { angularLinker: linkerPluginCreator && { shouldLink, - jitMode: false, + jitMode: options.jit, linkerPluginCreator, }, forceAsyncTransformation, diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts index 3d98d4c4bb80..bd4ae52377ab 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/javascript-transformer.ts @@ -15,6 +15,7 @@ export interface JavaScriptTransformerOptions { sourcemap: boolean; thirdPartySourcemaps?: boolean; advancedOptimizations?: boolean; + jit?: boolean; } /** @@ -35,11 +36,17 @@ export class JavaScriptTransformer { }); // Extract options to ensure only the named options are serialized and sent to the worker - const { sourcemap, thirdPartySourcemaps = false, advancedOptimizations = false } = options; + const { + sourcemap, + thirdPartySourcemaps = false, + advancedOptimizations = false, + jit = false, + } = options; this.#commonOptions = { sourcemap, thirdPartySourcemaps, advancedOptimizations, + jit, }; } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts index 46e55c057f1a..c2bb8e460d9a 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/options.ts @@ -133,6 +133,7 @@ export async function normalizeOptions( // Initial options to keep const { allowedCommonJsDependencies, + aot, baseHref, buildOptimizer, crossOrigin, @@ -158,6 +159,7 @@ export async function normalizeOptions( externalDependencies, extractLicenses, inlineStyleLanguage, + jit: !aot, stats: !!statsJson, poll, // If not explicitly set, default to the Node.js process argument diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 1123fb1d490c..689000079fc8 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -12,6 +12,11 @@ import { createCssResourcePlugin } from './css-resource-plugin'; import { BundlerContext } from './esbuild'; import { createSassPlugin } from './sass-plugin'; +/** + * A counter for component styles used to generate unique build-time identifiers for each stylesheet. + */ +let componentStyleCounter = 0; + export interface BundleStylesheetOptions { workspaceRoot: string; optimization: boolean; @@ -73,7 +78,6 @@ export function createStylesheetBundleOptions( * @returns An object containing the output of the bundling operation. */ export async function bundleComponentStylesheet( - identifier: string, language: string, data: string, filename: string, @@ -81,7 +85,7 @@ export async function bundleComponentStylesheet( options: BundleStylesheetOptions, ) { const namespace = 'angular:styles/component'; - const entry = [language, identifier, filename].join(';'); + const entry = [language, componentStyleCounter++, filename].join(';'); const buildOptions = createStylesheetBundleOptions(options, { [entry]: data }); buildOptions.entryPoints = [`${namespace};${entry}`]; From 175b716e3a528c6df3df5b4079af427f9ae3a7cc Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 3 Feb 2023 06:15:20 +0000 Subject: [PATCH 1327/1388] build: update angular --- package.json | 28 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 128 +++++++++--------- 4 files changed, 96 insertions(+), 96 deletions(-) diff --git a/package.json b/package.json index bc5282814f17..4e632ac4d9fd 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.2.0-next.2", + "@angular/animations": "15.2.0-next.3", "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81", - "@angular/cdk": "15.1.2", - "@angular/common": "15.2.0-next.2", - "@angular/compiler": "15.2.0-next.2", - "@angular/compiler-cli": "15.2.0-next.2", - "@angular/core": "15.2.0-next.2", - "@angular/forms": "15.2.0-next.2", - "@angular/localize": "15.2.0-next.2", - "@angular/material": "15.1.2", + "@angular/cdk": "15.1.3", + "@angular/common": "15.2.0-next.3", + "@angular/compiler": "15.2.0-next.3", + "@angular/compiler-cli": "15.2.0-next.3", + "@angular/core": "15.2.0-next.3", + "@angular/forms": "15.2.0-next.3", + "@angular/localize": "15.2.0-next.3", + "@angular/material": "15.1.3", "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc", - "@angular/platform-browser": "15.2.0-next.2", - "@angular/platform-browser-dynamic": "15.2.0-next.2", - "@angular/platform-server": "15.2.0-next.2", - "@angular/router": "15.2.0-next.2", - "@angular/service-worker": "15.2.0-next.2", + "@angular/platform-browser": "15.2.0-next.3", + "@angular/platform-browser-dynamic": "15.2.0-next.3", + "@angular/platform-server": "15.2.0-next.3", + "@angular/router": "15.2.0-next.3", + "@angular/service-worker": "15.2.0-next.3", "@babel/core": "7.20.12", "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index a04c9d7b7331..e43d3540a2cc 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.2", - "@angular/compiler-cli": "15.1.2", + "@angular/compiler": "15.1.3", + "@angular/compiler-cli": "15.1.3", "typescript": "4.9.5", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index cea39a2052e6..dc6ab5d84e87 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#79142be9a6ea04d39ed3d893e9cc32a1a993036e", - "@angular/cdk": "github:angular/cdk-builds#7985b5af3de3709b6e57f332f206b589ef7ab803", - "@angular/common": "github:angular/common-builds#b6d48550663145e5f26ff352e3cf4daf6d2c5499", - "@angular/compiler": "github:angular/compiler-builds#dc2b4e6df7c3735b587225bce621935165b7276e", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#5ece11ddcf0bb132a22d1fc1ed48454d564c6104", - "@angular/core": "github:angular/core-builds#a6eb17c35f35b439777f94e2bff2bc14fb14566a", - "@angular/forms": "github:angular/forms-builds#0414e5988392af88f278000b56356f9cd27165ec", - "@angular/language-service": "github:angular/language-service-builds#048495350b1fbc42835651adfa8b58f08a66173d", - "@angular/localize": "github:angular/localize-builds#6499b7a30f2e57d3cdf14f460fc5d55bff2d1cf0", - "@angular/material": "github:angular/material-builds#fa5b79f018194446a9268ab399e10952bb208106", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#f96bf920727efd16c7bfe0c54fb955983582389e", - "@angular/platform-browser": "github:angular/platform-browser-builds#65ffa809199b37bc5a2d6dc1d324699227919e71", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#bf271f1dcc2dd17f3185fbb67ee2a4975623094a", - "@angular/platform-server": "github:angular/platform-server-builds#c0ebda26fc8c82ea2c8e584b2e6b68020a116f15", - "@angular/router": "github:angular/router-builds#70d4dc714f088758be3ae9e51f71e761a26c55b1", - "@angular/service-worker": "github:angular/service-worker-builds#aac02cdfdc84c72803bb61f65af3f11b2716ab02" + "@angular/animations": "github:angular/animations-builds#26bde562f64e7bd0c4eb0552119b9a49ac0d45f6", + "@angular/cdk": "github:angular/cdk-builds#00ebcda920e01be3c67e77da732a0a427761897a", + "@angular/common": "github:angular/common-builds#e630e3188d5e7413056cd83d744519f0f82ef64a", + "@angular/compiler": "github:angular/compiler-builds#b5d6896ac7a0a8c8519714c1a4b5d93a18880b47", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#25e69a61a9e95b6ae126cfca338ea83325cde706", + "@angular/core": "github:angular/core-builds#b3392c55857af7fb2d3f6c4b824d7e78c853fd35", + "@angular/forms": "github:angular/forms-builds#9dadc815ceeefffc8508421e39a4916c85fe47e6", + "@angular/language-service": "github:angular/language-service-builds#d8a32d9732ffe941cfcca8cb65e251db2eb53291", + "@angular/localize": "github:angular/localize-builds#65e922c0a2f391a2e9f57cae02322f89104c19e8", + "@angular/material": "github:angular/material-builds#27e09d570adc1e02360234369c83d32780d2a0cf", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c7d5d57ed8f813f39965f991114a83738fc34ab6", + "@angular/platform-browser": "github:angular/platform-browser-builds#17097d0326c2f19d969a99fd3371dc804498d438", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#422cfaf7b64d5c0431e81a097044275434616e96", + "@angular/platform-server": "github:angular/platform-server-builds#81b3f8a4699e7b59205141d1ed4d8f8d94d26a61", + "@angular/router": "github:angular/router-builds#fb0e9fe20df954b30c4f16264739098041e8a3f6", + "@angular/service-worker": "github:angular/service-worker-builds#0982a5e98aed9b7e7df301b893d1e44afee86bf2" } } diff --git a/yarn.lock b/yarn.lock index 251b0f443fee..2d22aafa6947 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.2.tgz#aa624e71b26c70d7d76866ef2d61e18d014b2411" - integrity sha512-lr4hGKZKrlOuV6r1VpkXuZa3AjyeNFigrSrqy+n5aBuGUAkV7LYIFZvnx91jLeSnIpB8KUd8SVpzJ5D6rnxKfw== +"@angular/animations@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.3.tgz#bd1be668e2f2bf1524ab8fe34302bbd3cd1857ea" + integrity sha512-Jn8zchcJhxnRT5NzvAnyRaEvKKNGHAi5d9zQlStzwEmsPjakwoBJg/3jGEDMlgyRMsswkV982uGDjnlsdlJszw== dependencies: tslib "^2.3.0" @@ -159,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.1.2": - version "15.1.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.2.tgz#be0b7c5b6fa093e77a9153b7e7120210b48b85b9" - integrity sha512-LO3b/akdcPaRwSa+rbrI02THwQm+O4Z3rDIvbDTHyCf3Vmk3p7gsp8WtKAMMJlkCF88VQ3Wh4ZZcfNAtbVO7EA== +"@angular/cdk@15.1.3": + version "15.1.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.3.tgz#71b5c9e7b7ef0ba0c648278e34536e0f8d06b7b7" + integrity sha512-FRb1ZirybQGVlRx34vsnkIyy4WHJlrRg2mwPeJ90b0DzIWuIZIiPYxxR2bAi/Si1IjnK8YBdacd5DXPdrW1jyw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.2.tgz#d0bdc4a0da8c07df278ad0cc0c6021b440726bc2" - integrity sha512-fJ9sUJGdfLROVqa1zyel4rBkHCZvEzRM3JuYBOXqIdMygpwz2ypIqpGAbYt+Xrv7JiEgCNxrCAmXHyJStUoaAw== +"@angular/common@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.3.tgz#5fa1cfc09b1e11df2408824cd41d532c20f3df24" + integrity sha512-3pVcv3TL2oyKrhoeczxYQMxe0LeZ6/iABqDGUuIVyIFlFDJr/ugTntUvzvo2lM7kL4jRKKgfMaafCk2MhGOAtA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.2": - version "15.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.2.tgz#591bb83e8972e4d773349f66feba81a6f0b64130" - integrity sha512-gAqbQSKI4oeboh0UKsFdaEoST9IBVzqeckJzSTwAGxJeS33IM7Jjo3LViqHuzQyWKXe6srkci0LD4C2Mrj4kfQ== +"@angular/compiler-cli@15.1.3": + version "15.1.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.3.tgz#c45dd2a50076af836b4f49de903a884048d79918" + integrity sha512-z5bGdQQcStXWPpb5vztqqUOET+vxw+GUFtfktYxV40kE2d1zHLZh93AGEnM1NnBaOz+9NZrX+dWoEyWmv/T2LQ== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -191,10 +191,10 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler-cli@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.2.tgz#8394a97838f083a67e01d76bf00286c2d0cc5634" - integrity sha512-9QjL6KihclXvC57QKYTJU85HryQ8rfkarTuNa0YRcztcglzCjDRxfLw7zV3wULOAy04t3oF5JchsIrpdNQubTw== +"@angular/compiler-cli@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.3.tgz#c79de3d10607df6957012e8322218c28c1772334" + integrity sha512-utWQTLikW94QA7x1Eo6CLC+mT6oIKPWnV2rEKuLjt8ckonZxQ0FRnl5EHZTD/U5dwhRRs4E1TBmzGAGaX3qQrA== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -207,24 +207,24 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.2": - version "15.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.2.tgz#5c31ab53cd56da22fa08015ffa6acc9eba3f4bc0" - integrity sha512-hKlr1i61a2Gl0h53goSSUbZmzNgdC1zAHu+Ws0+1Qfv9cDgg1aVphFGFMdV0kbjLV+k7LyFjj5EgWU48o5UXww== +"@angular/compiler@15.1.3": + version "15.1.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.3.tgz#7972d7dec2462e3a2a9fa256902363a716ab2f8c" + integrity sha512-CxEpm5Z3EpjeGNoWKtcHOrf2IQTSckpAEFwsRrADP2nqcXXYp/IjIHi+PUTjLhjrOEbukH9zreHsL5BoIQhgUQ== dependencies: tslib "^2.3.0" -"@angular/compiler@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.2.tgz#b855d28372ac80ffcfa2d07c734fd50c7c20c25e" - integrity sha512-z0AbzxnKfM3ACnHHSoJp0TEV3fad6MhJUcd9Ko5mAMEaUFNu1j+xGeze9PfSYQ8dIb93cNAX5GKqRibQFOelSQ== +"@angular/compiler@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.3.tgz#7a3cd5be16afebffe409ea21c06175fd7e605bad" + integrity sha512-t3b8VsAsdv8zZgt1nQE94/iLXng+xWqoFT9jlWzKrKaS/jMuvl9oYGLhoG5BviN/L2LBeMX3MoDsU7UsKkPydw== dependencies: tslib "^2.3.0" -"@angular/core@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.2.tgz#0539a2ad08a0c9237123b3c0a11d89ab990591a8" - integrity sha512-I4hrCYCbV5pZIZyPSTaw/7UjkxMlnPa2xGBb/3LP/I/F//Ly27RgtTC2ioCA3tCO3BjwM4MrhsfLz7Afcj+j8w== +"@angular/core@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.3.tgz#462ea25e4407b26c92589779e3cf5788b6064edd" + integrity sha512-YXstoNNAh0uJmis4yrsxz4PmJ5c6Atl4WDlsHqxce+OLsquvHZxczQfDwaJ1ZW6sn0x41bOTTpNSxjUb0uCBEg== dependencies: tslib "^2.3.0" @@ -235,26 +235,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.2.tgz#957c81be2c30db5e15d24088a44cd84261d4a543" - integrity sha512-4XOkmzz9VbnyueJyYGTgMoHKJCJQdarLHgU5sZLlamIEEi9gjS1uLJv5ivRZD6GuwFFzDIZodTRxQh9cqGvvlA== +"@angular/forms@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.3.tgz#ecfac275f6ee8bdfa8468a2b0fc8ed1b8ed7581b" + integrity sha512-mPGIPaGGtZ2gbbVTYCp71DeHfqJOtBTGVKXRh8/2AA2pFbS9Uhnce7BnAc9Q791ZqBL6Y7kd73yPLKu82ijjUw== dependencies: tslib "^2.3.0" -"@angular/localize@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.2.tgz#d14c6fcfe0bc254692a851fbd0495cba1be8eb98" - integrity sha512-qaCosCGpeiEK7BSdTx2Ah5bauRoSWfasxNhFhiEjGWgPNZw7ZAk1oXvzK+NBpjw9YcB6huxLdSNSUCOkRMycww== +"@angular/localize@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.3.tgz#ec406055bf5cfffa76f0c91c82cb6e446cf6689e" + integrity sha512-9eSclllUdzvrKGTWbeOwOwe/rt5jfGwbdk3wK3BYKi53xFveJ1NLzwapI5pA3L+IRT8McBJQBh1W7/TwJnY2GA== dependencies: "@babel/core" "7.19.3" glob "8.1.0" yargs "^17.2.1" -"@angular/material@15.1.2": - version "15.1.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.2.tgz#bc9af3685af3a6ddf1a0df8909f23f5fcfb9897f" - integrity sha512-ozyFcFRca+iIArVcPMdTwUj5pWa9HcO5zalxWhykp5cYCyG3rw2RGbae/kXw7edUZUr977POtMYTOsAT2Aw7fg== +"@angular/material@15.1.3": + version "15.1.3" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.3.tgz#a7346e45b15d03fc63dd7fb7afba30151a4d46f1" + integrity sha512-Jj17GwvL1PsIVPiRBRQQRRvTQb5TlmMP+49JgIWTSTF03G7F9guoYapoYzuufK7dWA3Ga0KzDPKfjUmcnBg+Fw== dependencies: "@material/animation" "15.0.0-canary.684e33d25.0" "@material/auto-init" "15.0.0-canary.684e33d25.0" @@ -313,40 +313,40 @@ "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.2.tgz#2205c6c4f11d6a547ed1c011e0b00d8a272307d3" - integrity sha512-EJdWX4NCDAfcB0IsDsNdLpeyjZZpS9snNtMXo1m+pTGZglox8CRnmGA5WOzesHXEXrVPoNAUJiTeCQF671pgdA== +"@angular/platform-browser-dynamic@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.3.tgz#5d3fb48b77092f58b1b9eb0d69157fb7f98d5479" + integrity sha512-Dx1MBeW1F1COgHzhCs1yFHE5dvn5pggFAK8i+7w7iBJLQcLvY1pGMeMNa48zjWRCxhSO/Yj9gNWPF5qASFkdqQ== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.2.tgz#a2896679d40eeec77603f32e3c248ba80b68b800" - integrity sha512-q9tSBkx3DVVicov18LuCfYrvwGgISdHOCk/JMNEBYdKjtkdiutxJZBiRxCgMxaQ7qsDDg0pvGVjpe6OBnDc1BA== +"@angular/platform-browser@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.3.tgz#ea9c6b92b6c4182eb1f068ca8ebaf977c6fd2e96" + integrity sha512-1VPPKZbg6qDiaToRG802TaXHM4nJagfuNXQ5jt1ZAdLo5++SNwrM52H6nLT6/WOc85BNcrMbwP8XF6/3rGd+Dg== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.2.tgz#706855ce411109d5c27106d3b0c7c037897a340e" - integrity sha512-blFjJXIayLz3uLHuz7pE9hTTBfEAyszC5r6DJWG29inIINSnhyhpdHKW3l9/Wh+l8aDsv9/9AMVwATIcKLsk0w== +"@angular/platform-server@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.3.tgz#c5f69c7c800f5bcdfe51069d0a9d08d62f03cb44" + integrity sha512-rTzaldL6TzlSVZZoVBaDAKHQPAQ0jHDWmHXEy2zBb31mJ8efl0HcXtWD1ivu4awCkSyNS7Y2KNukdOrstmPeQw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.2.tgz#4bf76b92096cf452cb25e07ce435e4cbaf6522be" - integrity sha512-6dQzr6LnzJ8ADoO+t8yfWJkDhur/+y52As32rEDl87fm3RsjulFv3zEhFMRtRuD/oL+xtzLp8eGK2em0egxnQg== +"@angular/router@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.3.tgz#cf3cd915ce9a4e8829235c1ff44a419a4f937b3c" + integrity sha512-kGEYi8zyHbuqR3hunUvaW0xQ81quObSHQm98XGfaUML/xwQyM95R8LRNhBNSz6UMPK9E36nZPFHl+1KGnciq6g== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.2.0-next.2": - version "15.2.0-next.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.2.tgz#524e1f163db8d10ff6258ebceb4ca6a41b72c00a" - integrity sha512-EmD7uAqj/m/4jRcddyVZLSuD+hoywOgz6iIm8ArxsbRVYZ4K7dZ13ADNzsjnrGMu4S5GHdr0GUGxQvm6pZbIpg== +"@angular/service-worker@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.3.tgz#44480b879da7f118c0670989c41e329683e50664" + integrity sha512-2M3v7qjsB0GR+/7hEaR6ti1jOhaXuBCF8N8eErJKWAQx4xv3JTaT38oUyZ91GqoLVE+MnTAzjB9b+XNhHaYX4g== dependencies: tslib "^2.3.0" From bf3be56db8b3a1ef8a0e02dfc5de914651d8ec93 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 3 Feb 2023 09:11:55 +0000 Subject: [PATCH 1328/1388] fix(@angular-devkit/build-angular): load polyfills and runtime as scripts instead of modules This commit updates changes the way polyfills and runtime are loaded from modules to scripts. This is required as otherwise Jasmine will be loaded prior to Zone.js which causes clock patching not to work. Closes #24651 --- .../webpack/plugins/karma/karma-context.html | 4 +- .../webpack/plugins/karma/karma-debug.html | 4 +- .../e2e/tests/test/test-jasmine-clock.ts | 37 +++++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 tests/legacy-cli/e2e/tests/test/test-jasmine-clock.ts diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html index 2b3902b5848d..64139997b25a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-context.html @@ -30,8 +30,8 @@ // All served files with the latest timestamps %MAPPINGS% - - + + %SCRIPTS% diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html index 0f13c288aa6a..f348daf64352 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/karma/karma-debug.html @@ -32,8 +32,8 @@ // All served files with the latest timestamps %MAPPINGS% - - + + %SCRIPTS% diff --git a/tests/legacy-cli/e2e/tests/test/test-jasmine-clock.ts b/tests/legacy-cli/e2e/tests/test/test-jasmine-clock.ts new file mode 100644 index 000000000000..fa24baaf5b27 --- /dev/null +++ b/tests/legacy-cli/e2e/tests/test/test-jasmine-clock.ts @@ -0,0 +1,37 @@ +import { ng } from '../../utils/process'; +import { writeFile } from '../../utils/fs'; + +export default async function () { + await writeFile( + 'src/app/app.component.spec.ts', + ` + import { TestBed } from '@angular/core/testing'; + import { RouterTestingModule } from '@angular/router/testing'; + import { AppComponent } from './app.component'; + + describe('AppComponent', () => { + beforeAll(() => { + jasmine.clock().install(); + }); + + afterAll(() => { + jasmine.clock().uninstall(); + }); + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [RouterTestingModule], + declarations: [AppComponent], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + expect(fixture.componentInstance).toBeTruthy(); + }); + }); + `, + ); + + await ng('test', '--watch=false'); +} From 88fddc05039ee92d60267cf565b19ae1b56ad633 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 6 Feb 2023 15:23:49 +0000 Subject: [PATCH 1329/1388] fix(@schematics/angular): remove bootstrapping wrapping in universal schematic The bootstrapping wrapping is no longer necessary as of 15.1.3. See: https://github.com/angular/angular/pull/48868 --- .../schematics/angular/universal/index.ts | 81 +------------------ .../angular/universal/index_spec.ts | 30 ------- 2 files changed, 1 insertion(+), 110 deletions(-) diff --git a/packages/schematics/angular/universal/index.ts b/packages/schematics/angular/universal/index.ts index fdef0f4a7275..75fc37a972ab 100644 --- a/packages/schematics/angular/universal/index.ts +++ b/packages/schematics/angular/universal/index.ts @@ -29,7 +29,7 @@ import { getPackageJsonDependency, } from '../utility/dependencies'; import { latestVersions } from '../utility/latest-versions'; -import { findBootstrapModuleCall, findBootstrapModulePath } from '../utility/ng-ast-utils'; +import { findBootstrapModulePath } from '../utility/ng-ast-utils'; import { relativePathToWorkspaceRoot } from '../utility/paths'; import { targetBuildNotFoundError } from '../utility/project-targets'; import { getWorkspace, updateWorkspace } from '../utility/workspace'; @@ -109,84 +109,6 @@ function findBrowserModuleImport(host: Tree, modulePath: string): ts.Node { return browserModuleNode; } -function wrapBootstrapCall(mainFile: string): Rule { - return (host: Tree) => { - const mainPath = normalize('/' + mainFile); - let bootstrapCall: ts.Node | null = findBootstrapModuleCall(host, mainPath); - if (bootstrapCall === null) { - throw new SchematicsException('Bootstrap module not found.'); - } - - let bootstrapCallExpression: ts.Node | null = null; - let currentCall = bootstrapCall; - while (bootstrapCallExpression === null && currentCall.parent) { - currentCall = currentCall.parent; - if (ts.isExpressionStatement(currentCall) || ts.isVariableStatement(currentCall)) { - bootstrapCallExpression = currentCall; - } - } - bootstrapCall = currentCall; - - // In case the bootstrap code is a variable statement - // we need to determine it's usage - if (bootstrapCallExpression && ts.isVariableStatement(bootstrapCallExpression)) { - const declaration = bootstrapCallExpression.declarationList.declarations[0]; - const bootstrapVar = (declaration.name as ts.Identifier).text; - const sf = bootstrapCallExpression.getSourceFile(); - bootstrapCall = findCallExpressionNode(sf, bootstrapVar) || currentCall; - } - - // indent contents - const triviaWidth = bootstrapCall.getLeadingTriviaWidth(); - const beforeText = - `function bootstrap() {\n` + ' '.repeat(triviaWidth > 2 ? triviaWidth + 1 : triviaWidth); - const afterText = - `\n${triviaWidth > 2 ? ' '.repeat(triviaWidth - 1) : ''}};\n` + - ` - - if (document.readyState === 'complete') { - bootstrap(); - } else { - document.addEventListener('DOMContentLoaded', bootstrap); - } - `; - - // in some cases we need to cater for a trailing semicolon such as; - // bootstrap().catch(err => console.log(err)); - const lastToken = bootstrapCall.parent.getLastToken(); - let endPos = bootstrapCall.getEnd(); - if (lastToken && lastToken.kind === ts.SyntaxKind.SemicolonToken) { - endPos = lastToken.getEnd(); - } - - const recorder = host.beginUpdate(mainPath); - recorder.insertLeft(bootstrapCall.getStart(), beforeText); - recorder.insertRight(endPos, afterText); - host.commitUpdate(recorder); - }; -} - -function findCallExpressionNode(node: ts.Node, text: string): ts.Node | null { - if ( - ts.isCallExpression(node) && - ts.isIdentifier(node.expression) && - node.expression.text === text - ) { - return node; - } - - let foundNode: ts.Node | null = null; - ts.forEachChild(node, (childNode) => { - foundNode = findCallExpressionNode(childNode, text); - - if (foundNode) { - return true; - } - }); - - return foundNode; -} - function addServerTransition( options: UniversalOptions, mainFile: string, @@ -292,7 +214,6 @@ export default function (options: UniversalOptions): Rule { mergeWith(rootSource), addDependencies(), updateConfigFile(options, tsConfigDirectory), - wrapBootstrapCall(clientBuildOptions.main), addServerTransition(options, clientBuildOptions.main, clientProject.root), ]); }; diff --git a/packages/schematics/angular/universal/index_spec.ts b/packages/schematics/angular/universal/index_spec.ts index ff84b3bb584e..7a5e1bb79997 100644 --- a/packages/schematics/angular/universal/index_spec.ts +++ b/packages/schematics/angular/universal/index_spec.ts @@ -191,36 +191,6 @@ describe('Universal Schematic', () => { expect(contents).not.toContain(`withServerTransition({ appId: 'foo' })`); }); - it('should wrap the bootstrap call in a DOMContentLoaded event handler', async () => { - const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); - const filePath = '/projects/bar/src/main.ts'; - const contents = tree.readContent(filePath); - expect(contents).toContain(`document.addEventListener('DOMContentLoaded', bootstrap);`); - }); - - it('should wrap the bootstrap declaration in a DOMContentLoaded event handler', async () => { - const filePath = '/projects/bar/src/main.ts'; - appTree.overwrite( - filePath, - ` - import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; - import { environment } from './environments/environment'; - import { hmrBootstrap } from './hmr'; - - const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule); - - if (!hmrBootstrap) { - bootstrap().catch(err => console.log(err)); - } - `, - ); - - const tree = await schematicRunner.runSchematic('universal', defaultOptions, appTree); - const contents = tree.readContent(filePath); - expect(contents).toContain(`document.addEventListener('DOMContentLoaded', bootstrap);`); - }); - it('should install npm dependencies', async () => { await schematicRunner.runSchematic('universal', defaultOptions, appTree); expect(schematicRunner.tasks.length).toBe(1); From d9c697b2bc284e432c9c1ab76b1179789e253c92 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 6 Feb 2023 13:37:27 +0000 Subject: [PATCH 1330/1388] fix(@angular-devkit/build-angular): do not fail compilation when spec pattern does not match Previously, we failed the compilation when the specified patterns did not match any spec file. This breaks the case were users configure Karma to not fail on empty test suit. Closes #24644 --- .../src/builders/karma/find-tests-plugin.ts | 22 +++++++++---------- .../karma/tests/options/include_spec.ts | 10 +-------- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts index 2710d92a507f..f12ee514db39 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/find-tests-plugin.ts @@ -9,10 +9,10 @@ import assert from 'assert'; import { PathLike, constants, promises as fs } from 'fs'; import glob, { hasMagic } from 'glob'; +import { pluginName } from 'mini-css-extract-plugin'; import { basename, dirname, extname, join, relative } from 'path'; import { promisify } from 'util'; import type { Compilation, Compiler } from 'webpack'; -import { addError } from '../../utils/webpack-diagnostics'; const globPromise = promisify(glob); @@ -49,23 +49,21 @@ export class FindTestsPlugin { // Add tests files are part of the entry-point. webpackOptions.entry = async () => { const specFiles = await findTests(include, exclude, workspaceRoot, projectSourceRoot); - - if (!specFiles.length) { - assert(this.compilation, 'Compilation cannot be undefined.'); - addError( - this.compilation, - `Specified patterns: "${include.join(', ')}" did not match any spec files.`, - ); - } - const entrypoints = await entry; const entrypoint = entrypoints['main']; if (!entrypoint.import) { throw new Error(`Cannot find 'main' entrypoint.`); } - originalImport ??= entrypoint.import; - entrypoint.import = [...originalImport, ...specFiles]; + if (specFiles.length) { + originalImport ??= entrypoint.import; + entrypoint.import = [...originalImport, ...specFiles]; + } else { + assert(this.compilation, 'Compilation cannot be undefined.'); + this.compilation + .getLogger(pluginName) + .error(`Specified patterns: "${include.join(', ')}" did not match any spec files.`); + } return entrypoints; }; diff --git a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts index 0d9370b971a4..ca2cd6ed581a 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/tests/options/include_spec.ts @@ -17,16 +17,8 @@ describeBuilder(execute, KARMA_BUILDER_INFO, (harness) => { include: ['abc.spec.ts', 'def.spec.ts'], }); - const { result, logs } = await harness.executeOnce(); + const { result } = await harness.executeOnce(); expect(result?.success).toBeFalse(); - expect(logs).toContain( - jasmine.objectContaining({ - level: 'error', - message: jasmine.stringContaining( - 'Specified patterns: "abc.spec.ts, def.spec.ts" did not match any spec files.', - ), - }), - ); }); [ From 234f265d161796a7cdfc2edbaa7e9a50d99a4863 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sun, 5 Feb 2023 10:06:22 +0100 Subject: [PATCH 1331/1388] fix(@angular/cli): error if Angular compiler is used in a schematic When a schematic is executed, it is wrapped in a custom Node context. This context doesn't expose the same set of global variables. This can lead to an error if a schematic is importing the Angular compiler and the app is using i18n, because the `TextEncoder` isn't exposed through the custom context (see https://github.com/angular/angular/issues/48940). These changes add the `TextEncoder` to the context. Fixes https://github.com/angular/angular/issues/48940. --- .../src/command-builder/utilities/schematic-engine-host.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts index 0007ffe2f673..9fb8ca54e924 100644 --- a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts +++ b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts @@ -12,6 +12,7 @@ import { readFileSync } from 'fs'; import { parse as parseJson } from 'jsonc-parser'; import { createRequire } from 'module'; import { dirname, resolve } from 'path'; +import { TextEncoder } from 'util'; import { Script } from 'vm'; import { assertIsError } from '../../utilities/error'; @@ -211,6 +212,12 @@ function wrap( __dirname: schematicDirectory, __filename: schematicFile, Buffer, + // TextEncoder is used by the compiler to generate i18n message IDs. See: + // https://github.com/angular/angular/blob/main/packages/compiler/src/i18n/digest.ts#L17 + // It is referenced globally, because it may be run either on the browser or the server. + // Usually Node exposes it globally, but in order for it to work, our custom context + // has to expose it too. Issue context: https://github.com/angular/angular/issues/48940. + TextEncoder, console, process, get global() { From 952a02ce39134640fdeaa091790a5263c87e8e81 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 6 Feb 2023 21:16:50 +0000 Subject: [PATCH 1332/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 +- yarn.lock | 296 +++--------------- 7 files changed, 71 insertions(+), 271 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 35b68feec026..0d103694018f 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@fa428ee0accc999f051008f0daa5651ba2728c2b + - uses: angular/dev-infra/github-actions/branch-manager@fb077c1937f280aac6327969fa3ab50f98b4d25a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index fb81026ea282..7d47dfb5f4cc 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fa428ee0accc999f051008f0daa5651ba2728c2b + - uses: angular/dev-infra/github-actions/commit-message-based-labels@fb077c1937f280aac6327969fa3ab50f98b4d25a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@fa428ee0accc999f051008f0daa5651ba2728c2b + - uses: angular/dev-infra/github-actions/post-approval-changes@fb077c1937f280aac6327969fa3ab50f98b4d25a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 4fe5ce9f2547..4b4fc91424ff 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fa428ee0accc999f051008f0daa5651ba2728c2b + - uses: angular/dev-infra/github-actions/feature-request@fb077c1937f280aac6327969fa3ab50f98b4d25a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 63e3a7efe7d8..6966a0cb4a70 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fa428ee0accc999f051008f0daa5651ba2728c2b + - uses: angular/dev-infra/github-actions/lock-closed@fb077c1937f280aac6327969fa3ab50f98b4d25a with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4e632ac4d9fd..10aa43ad21fd 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7", "@angular/cdk": "15.1.3", "@angular/common": "15.2.0-next.3", "@angular/compiler": "15.2.0-next.3", @@ -75,7 +75,7 @@ "@angular/forms": "15.2.0-next.3", "@angular/localize": "15.2.0-next.3", "@angular/material": "15.1.3", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12", "@angular/platform-browser": "15.2.0-next.3", "@angular/platform-browser-dynamic": "15.2.0-next.3", "@angular/platform-server": "15.2.0-next.3", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index dc6ab5d84e87..e8a803045870 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#26bde562f64e7bd0c4eb0552119b9a49ac0d45f6", - "@angular/cdk": "github:angular/cdk-builds#00ebcda920e01be3c67e77da732a0a427761897a", - "@angular/common": "github:angular/common-builds#e630e3188d5e7413056cd83d744519f0f82ef64a", - "@angular/compiler": "github:angular/compiler-builds#b5d6896ac7a0a8c8519714c1a4b5d93a18880b47", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#25e69a61a9e95b6ae126cfca338ea83325cde706", - "@angular/core": "github:angular/core-builds#b3392c55857af7fb2d3f6c4b824d7e78c853fd35", - "@angular/forms": "github:angular/forms-builds#9dadc815ceeefffc8508421e39a4916c85fe47e6", - "@angular/language-service": "github:angular/language-service-builds#d8a32d9732ffe941cfcca8cb65e251db2eb53291", - "@angular/localize": "github:angular/localize-builds#65e922c0a2f391a2e9f57cae02322f89104c19e8", - "@angular/material": "github:angular/material-builds#27e09d570adc1e02360234369c83d32780d2a0cf", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c7d5d57ed8f813f39965f991114a83738fc34ab6", - "@angular/platform-browser": "github:angular/platform-browser-builds#17097d0326c2f19d969a99fd3371dc804498d438", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#422cfaf7b64d5c0431e81a097044275434616e96", - "@angular/platform-server": "github:angular/platform-server-builds#81b3f8a4699e7b59205141d1ed4d8f8d94d26a61", - "@angular/router": "github:angular/router-builds#fb0e9fe20df954b30c4f16264739098041e8a3f6", - "@angular/service-worker": "github:angular/service-worker-builds#0982a5e98aed9b7e7df301b893d1e44afee86bf2" + "@angular/animations": "github:angular/animations-builds#5ff25fd5121f6a88ca54b5c1505daab0fc867058", + "@angular/cdk": "github:angular/cdk-builds#691f7df70ff5ebe82c8dee7119a31b31e8348489", + "@angular/common": "github:angular/common-builds#2e7b49fb79884b572c6d2e0e41f408558df5e29a", + "@angular/compiler": "github:angular/compiler-builds#225c8864f1ef5ffb7a6a27d15176c90a9f459d4b", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#2c2a73682c4ba05422e23b8783a67ef625671579", + "@angular/core": "github:angular/core-builds#e0d805d4a2e6e62a6a8665ce9ac145a3b9d21e22", + "@angular/forms": "github:angular/forms-builds#90a69d87cba8c7babd34a18761bb77a7d6aa1353", + "@angular/language-service": "github:angular/language-service-builds#e21472ef98146ce80fe10a714a1153c0b91bea03", + "@angular/localize": "github:angular/localize-builds#cf718f3c12f1f584010b8e3c75d4929d6d297e33", + "@angular/material": "github:angular/material-builds#91f3ec26cec7effc7b97aead874119c071c75414", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#83eb507a8044e9fd2bbdab62b38b2fea185b36d1", + "@angular/platform-browser": "github:angular/platform-browser-builds#879ef52c702cf5286696cac16af615dbc7523eab", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#b60ba49e53ba0c17b500e6183a1b90cfdc4898dc", + "@angular/platform-server": "github:angular/platform-server-builds#cfe6cfea6a6bf86bc88a9166dcc1e879853687f1", + "@angular/router": "github:angular/router-builds#b2ebd6f634416da893ec919e186d7cb2bfd88bdf", + "@angular/service-worker": "github:angular/service-worker-builds#82f606225c211f8493423db8df141c498db1b7be" } } diff --git a/yarn.lock b/yarn.lock index 2d22aafa6947..da23c42d2ca0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,46 +10,46 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@angular-devkit/architect@0.1502.0-next.1": - version "0.1502.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.1.tgz#e7f26c08d6232f3af3e62d1451f414c6d2bd9f72" - integrity sha512-ktpr58XA9U0jUw7+IZZf6/Yzdhvtz1HGhKbL70gRY9WFxyneiBvfCjUhgkOH23vxrpT7pNLGLYQad4axHcIBUg== +"@angular-devkit/architect@0.1502.0-next.3": + version "0.1502.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1502.0-next.3.tgz#511bfaaed25c330a86822bd5dd346a54622d0a66" + integrity sha512-CyHqCDI8mHdeJATRRd4VeJUjw4HJmTDPwbPfFuT6onkrD2R7TJlqiTiesjLk/RxaECoF+f55eIPk734mVhw9VA== dependencies: - "@angular-devkit/core" "15.2.0-next.1" + "@angular-devkit/core" "15.2.0-next.3" rxjs "6.6.7" -"@angular-devkit/build-angular@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.1.tgz#5119f836456b2d3fd79a1b710ae9ad97e8d9e273" - integrity sha512-Uv+klHF0abonWnj7d/AkSCD7d1uSTovzJZJ25YRT5wsBXi4rJNksGY/opeAJW+GMK2WGkYNW/VMLvIhSBEcExA== +"@angular-devkit/build-angular@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-15.2.0-next.3.tgz#a74d77afdb8750f86c53969fa3fb64d09c48eb8b" + integrity sha512-K4BmtMYZIwxh4sgEnBQE3BibAZ22sGU7iA1Z041KyjL5x41+6Fqt/QpJNk9F4LvMsaYnuNAt/UA+8ZSPXushGA== dependencies: "@ampproject/remapping" "2.2.0" - "@angular-devkit/architect" "0.1502.0-next.1" - "@angular-devkit/build-webpack" "0.1502.0-next.1" - "@angular-devkit/core" "15.2.0-next.1" + "@angular-devkit/architect" "0.1502.0-next.3" + "@angular-devkit/build-webpack" "0.1502.0-next.3" + "@angular-devkit/core" "15.2.0-next.3" "@babel/core" "7.20.12" - "@babel/generator" "7.20.7" + "@babel/generator" "7.20.14" "@babel/helper-annotate-as-pure" "7.18.6" "@babel/plugin-proposal-async-generator-functions" "7.20.7" "@babel/plugin-transform-async-to-generator" "7.20.7" "@babel/plugin-transform-runtime" "7.19.6" "@babel/preset-env" "7.20.2" - "@babel/runtime" "7.20.7" + "@babel/runtime" "7.20.13" "@babel/template" "7.20.7" "@discoveryjs/json-ext" "0.5.7" - "@ngtools/webpack" "15.2.0-next.1" + "@ngtools/webpack" "15.2.0-next.3" ansi-colors "4.1.3" autoprefixer "10.4.13" babel-loader "9.1.2" babel-plugin-istanbul "6.1.1" - browserslist "4.21.4" + browserslist "4.21.5" cacache "17.0.4" chokidar "3.5.3" copy-webpack-plugin "11.0.0" critters "0.0.16" css-loader "6.7.3" - esbuild-wasm "0.17.2" - glob "8.0.3" + esbuild-wasm "0.17.5" + glob "8.1.0" https-proxy-agent "5.0.1" inquirer "8.2.4" jsonc-parser "3.2.0" @@ -73,30 +73,30 @@ semver "7.3.8" source-map-loader "4.0.1" source-map-support "0.5.21" - terser "5.16.1" + terser "5.16.2" text-table "0.2.0" tree-kill "1.2.2" - tslib "2.4.1" + tslib "2.5.0" webpack "5.75.0" webpack-dev-middleware "6.0.1" webpack-dev-server "4.11.1" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.17.2" + esbuild "0.17.5" -"@angular-devkit/build-webpack@0.1502.0-next.1": - version "0.1502.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1502.0-next.1.tgz#c6fd7350c42b37daee5f966fab6bb07130170223" - integrity sha512-z1JTyS8eB3gfd3Agl7kJYcWxB7b5jGPWR2JxldyN1TZMvaToArBeZmu9K7EwRqM0Sbwp43R1LMGbNHHpEHWeTw== +"@angular-devkit/build-webpack@0.1502.0-next.3": + version "0.1502.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1502.0-next.3.tgz#4d47497ce645cdae9ef7ae95d346aa2c5279e9e9" + integrity sha512-uUfqhVerwLKvHbzW4xC1kS+kNiAPV0krWlC+P/DTpzlgmV4wSkV9CSLW+/ar5GNcxhafsNxStXaUcWy/HdH6gQ== dependencies: - "@angular-devkit/architect" "0.1502.0-next.1" + "@angular-devkit/architect" "0.1502.0-next.3" rxjs "6.6.7" -"@angular-devkit/core@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.2.0-next.1.tgz#50ef328c18e755e48f565aff72eb361685984383" - integrity sha512-GfCwEYDNMUz5APWtvIKfthjj19pL9lbwdc2FwAP8O8FufOGQRz2ZdBfV2GyV6cQ+TLxf2Q8zlWPJLDIfrkvf0g== +"@angular-devkit/core@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-15.2.0-next.3.tgz#669a90be9137eed5d8fb1af1da2dbf7e3938f01b" + integrity sha512-LF/vCK9OK2vc6zhZFTh3DMwkcQYWlmMBH9zibR6HntinugeihzhqoY+n7ZXbOULXXA2eMQjb7otZs8QApi81OQ== dependencies: ajv "8.12.0" ajv-formats "2.1.1" @@ -119,17 +119,17 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81": - version "0.0.0-fa428ee0accc999f051008f0daa5651ba2728c2b" - uid "57ce1b4bb7ab323c5c7610081a93148796b4ae81" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#57ce1b4bb7ab323c5c7610081a93148796b4ae81" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7": + version "0.0.0-fb077c1937f280aac6327969fa3ab50f98b4d25a" + uid ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7" dependencies: - "@angular-devkit/build-angular" "15.2.0-next.1" + "@angular-devkit/build-angular" "15.2.0-next.3" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@bazel/buildifier" "6.0.0" + "@bazel/buildifier" "6.0.1" "@bazel/concatjs" "5.7.3" "@bazel/esbuild" "5.7.3" "@bazel/protractor" "5.7.3" @@ -305,10 +305,10 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc": - version "0.0.0-fa428ee0accc999f051008f0daa5651ba2728c2b" - uid ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ecad30aeac0b82fc1d2a8b9833b3f9c04311cedc" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12": + version "0.0.0-fb077c1937f280aac6327969fa3ab50f98b4d25a" + uid f4601b680d6d0017880115cc8ee99249c34f0c12 + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" @@ -418,15 +418,6 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" - integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== - dependencies: - "@babel/types" "^7.20.7" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/helper-annotate-as-pure@7.18.6", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -1257,13 +1248,6 @@ dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" - integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== - dependencies: - regenerator-runtime "^0.13.11" - "@babel/template@7.20.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" @@ -1303,11 +1287,6 @@ resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.12.1.tgz#346531286564aa29eee03a62362d210f3433e7bf" integrity sha512-TGCwVeIiVeQUP6yLpxAg8yluFOC+tBQnWw5l8lqwMxKhRtOA+WaH1CJKAXeCBAaS2MxohhkXq44zj/7AM+t2jg== -"@bazel/buildifier@6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-6.0.0.tgz#8bbcaaed0de98b36e77cb893053608787cd12d9f" - integrity sha512-QIhSDSscSfQB3ZJ0DFqWZ1R99TwgYO44NcCBL7PsfFtwRobsQ7YMka4p9mkbZi4HPin0/ImIt3yUOir8H64mIQ== - "@bazel/buildifier@6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-6.0.1.tgz#3ef5ce4f807db2ec0838ac889775a081fe9208f8" @@ -1394,11 +1373,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== -"@esbuild/android-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.2.tgz#73aa058f1fdc43770afd9a7b39654ce7e1b2e774" - integrity sha512-QSkmYISXr2uFoR+NdmmKyR5svYb0cXDCfzwNblLsrC8wTpx/I1L7u/zrjrf4aLoHoRTycZFIewJwBiUrO5DWtQ== - "@esbuild/android-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2" @@ -1409,11 +1383,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== -"@esbuild/android-arm@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.2.tgz#7cdb67672350177edbaa1de1bedd71b295989fab" - integrity sha512-Art7v3xYfqH1gEMUSP0Nx67pNAlC/Y3qSg3mOw8Wg7MP9bJLXL0DrmJaV1Qz1o4FwagtvDgkVOeBDpZgxdj13Q== - "@esbuild/android-arm@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251" @@ -1424,11 +1393,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== -"@esbuild/android-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.2.tgz#58cb40ea9502a619551dab8145ec19de3192f3d8" - integrity sha512-5VOaFBI0RK8jJVDHdeU1YJmpxXoOf1RPoiOBhk/Tvpulw7R1SwCsxHvC3eDQcoF0gV7YM4V2wJO0PR9tem6gCQ== - "@esbuild/android-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef" @@ -1439,11 +1403,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== -"@esbuild/darwin-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.2.tgz#d9d60f704e13611db85acf2cc1ce2ed34fe5e46a" - integrity sha512-iQJu1Zn1Wi91D5x/sslEn/jwae1tgSAEHK0R/kYzIr5jO992IJwDDuWhSGll23jHt18RECxahhGG0BWY/bVUTw== - "@esbuild/darwin-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49" @@ -1454,11 +1413,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== -"@esbuild/darwin-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.2.tgz#4ae5735e1cd09b584cff4b8066a246cc62b06c97" - integrity sha512-j750nyrwoRZd3VnPo5sd12/5U27TxFGmvmoDv93G2jiaGJPYKJ/+5IfRAvHahGePTUIRPyOlE5YLFw9MlzuBnw== - "@esbuild/darwin-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d" @@ -1469,11 +1423,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== -"@esbuild/freebsd-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.2.tgz#0265bd51eb1951b27eb693fd4989a4154e32bd58" - integrity sha512-ti7GU+/KUQQXEPmSUep7efZpA3KR2SkKsVuSL2FE7Yxka9apuqKfymAgQmVPMxstzAgCRBIu8uEu0KFmTfs3/Q== - "@esbuild/freebsd-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367" @@ -1484,11 +1433,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== -"@esbuild/freebsd-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.2.tgz#7b29d68def0ab7c5a21e3d8ec67a7a47db5f9993" - integrity sha512-NgooSKWSnrNKRuiumY1dg7KAGpsyXIMcwyOXN9imnqe8VFjqqrEOMqZRik0C1wlfLjiSCuMsj+YUSmBMAJMt0A== - "@esbuild/freebsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f" @@ -1499,11 +1443,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== -"@esbuild/linux-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.2.tgz#4ac9edc5011e0d5e3f8673c3c3b00dc5c9bf4459" - integrity sha512-jcJ4cxwQyqEqgDwkqj7820nKx9cM5WBPCCU4oUXvTeG+DkkJE6/P75od0VPHmItFfEJu+/2vV85ebvFVomZcBg== - "@esbuild/linux-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f" @@ -1514,11 +1453,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== -"@esbuild/linux-arm@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.2.tgz#5b3f46608b682e32255f6dce10ddcc150826df4d" - integrity sha512-8dfrRTd39n+THdAetwQKNwK6zBPR5oPjMtgRNXvRq8gsn/J5o69zTaOWVi3QO09BljqdShxU2dxDA09lDhdIqQ== - "@esbuild/linux-arm@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07" @@ -1529,11 +1463,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== -"@esbuild/linux-ia32@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.2.tgz#21e123e2557236c847b38c2ea4dac3d8fbd1081c" - integrity sha512-dXZ3m++zaRVD2fqOUPP8QTh1Lfg6WO6uZDo/QJ3KdfnIR7dDToDtaA12AgKYvCed9Nuzf/gpKs/7/f6I02b/sg== - "@esbuild/linux-ia32@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4" @@ -1544,11 +1473,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== -"@esbuild/linux-loong64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.2.tgz#05e2ca319a925de0a28fe2d8a31e158f8172dac9" - integrity sha512-/vntXkzSe9TUp0Rh35Wgye1EOhDtmIMjwC4rtahHcALmDXL+iuQGvwGFvXrP+sBigia/ltLryMAvCiqGV6plqw== - "@esbuild/linux-loong64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea" @@ -1559,11 +1483,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== -"@esbuild/linux-mips64el@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.2.tgz#98f0e25b86153d725d4379bc267a2cd4c9bcdd24" - integrity sha512-guYcNHjMRO1BMxWAeb8LDfgQaU8oeUO65xtlclwBD+hX3163KBifEHyao1hK96J10BP9n0UmZug6GhtGZaNm2Q== - "@esbuild/linux-mips64el@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4" @@ -1574,11 +1493,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== -"@esbuild/linux-ppc64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.2.tgz#45252f5343c5178dae93f8f7fc97aa4304cc5cca" - integrity sha512-fzHTnIGIVqgUGZcFnnisguKD4UneF4uwWwkG+i8kBspMDdU1wJ0jha1VdtxWP7Ob1KGxuXcoUlrQkCVO+Z5iOw== - "@esbuild/linux-ppc64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c" @@ -1589,11 +1503,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== -"@esbuild/linux-riscv64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.2.tgz#6c4446ad19a4d8b070ea0ddf124b6ea53750d5e2" - integrity sha512-Sa+z7csvNVeAsTD83tVSggOb8CAU7EdDuihC8WhtoJfuDVkF5+Vi0imaiCjXQ7Ci5rz/a8IJ1H1MWX3eI9AmuQ== - "@esbuild/linux-riscv64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c" @@ -1604,11 +1513,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== -"@esbuild/linux-s390x@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.2.tgz#5c03feb73b0c3fa80834eb150cd9c14206681b4e" - integrity sha512-jUFCO+/VA1Y/oeauSNBubp2UtGu4xjBUEFVgMPm0qLuw6xw18yOagKwBOPVmyE3ZSFqGd9BAPZM/JrtadgBryA== - "@esbuild/linux-s390x@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735" @@ -1619,11 +1523,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== -"@esbuild/linux-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.2.tgz#60405f2a40fb792557293a11ba0c380cfe744fcc" - integrity sha512-naygxkSmr6x9tuvpa8iGefnXo3Rc3Noz7c4+Dn0MSfSWJwLaN2YR686e7HkI09irfjDdU5UAq9wcxUwjkYQNUA== - "@esbuild/linux-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050" @@ -1634,11 +1533,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== -"@esbuild/netbsd-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.2.tgz#be8afb6d91827ecb8a8f42a43c63b528bbdd9c53" - integrity sha512-Hagbdq4EpiG9XXJY6Ozfrl2RN5jkXZXd6BD39f43tWz0d8yyOrRZlofM1eA6JYQbdv6c8BUsUOcgopavIqwx4Q== - "@esbuild/netbsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a" @@ -1649,11 +1543,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== -"@esbuild/openbsd-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.2.tgz#18e9f4c8284ade701039df1de246a35161dd382e" - integrity sha512-Pkby+VEXY7+aWP8J2RUCfqWbbZz2M1GavRGGnE2kEPzwarba/BOk3B45PSaKwc3iKdK2rgCPCTjC/p9JoKNejA== - "@esbuild/openbsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a" @@ -1664,11 +1553,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== -"@esbuild/sunos-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.2.tgz#c45c5b6fa406af451e3ebe2ba610bfaad106d20b" - integrity sha512-WAyg4dBTUsAPJ9cRnuQ23cwJWYRhP4e4y0M/l2+EpRjWW+g1MNAXKQQNNhRQ71zc8UixRVrqj+43ReHeZC8mJQ== - "@esbuild/sunos-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0" @@ -1679,11 +1563,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== -"@esbuild/win32-arm64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.2.tgz#6b6d31077cba24bd8bc9e173b9ae052b0bef5b0c" - integrity sha512-rMbO3gPpxuENd+AnZLgo4J/g+BkwxT3NK7nYpSZ0KlYtSdlxYMIMG5pznX7a1ISZKo67aGStne+K41jdkBywpA== - "@esbuild/win32-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850" @@ -1694,11 +1573,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== -"@esbuild/win32-ia32@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.2.tgz#88bb3a510006114d8291506b6ec9ff93f66d0d5c" - integrity sha512-73dWKDMhFk+4owS19OjEVbEDGFPRS1fyga3qOu5HPd5eTxJTjtlVTT/fG/S7AchA0vXS7hOqY70AAir1CkmICg== - "@esbuild/win32-ia32@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0" @@ -1709,11 +1583,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== -"@esbuild/win32-x64@0.17.2": - version "0.17.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.2.tgz#a7ce1ae475e14febb80e2690430e399491206a61" - integrity sha512-QFJlhf73HCBjTqAWWSIlD8JQBtmue0Dd6UV+KGccycJ3HKj1dCkXdRKJGwc5bZWiI9hrxcWsVEa1kVFaltC4vQ== - "@esbuild/win32-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be" @@ -2588,10 +2457,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== -"@ngtools/webpack@15.2.0-next.1": - version "15.2.0-next.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.1.tgz#7be09753e008345e0cc6ea7734680c9641108308" - integrity sha512-3xlS6XHZHyocJT3iCGZn0olF97mEbktVshfDOLGPAKYcWD08xyZ7sMKxabJCO0NtoxDuo4Tjo3GOOtZusFy4SA== +"@ngtools/webpack@15.2.0-next.3": + version "15.2.0-next.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-15.2.0-next.3.tgz#3fc8b605d1be5ad6a66b908b89847681319ee95e" + integrity sha512-Je7rwxLPcpmkHIvOzzdhWr9xqK6FMi1lGh5rEW49E9O9E1ESfh5OMnC3pgC8gOEzrhcnOuXgV7JZ5AjJwCgmgQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -4483,16 +4352,6 @@ browserslist@*, browserslist@4.21.5, browserslist@^4.14.5, browserslist@^4.21.3, node-releases "^2.0.8" update-browserslist-db "^1.0.10" -browserslist@4.21.4: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - browserstack@^1.5.1: version "1.6.1" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.1.tgz#e051f9733ec3b507659f395c7a4765a1b1e358b3" @@ -4643,7 +4502,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: +caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: version "1.0.30001449" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz#a8d11f6a814c75c9ce9d851dc53eb1d1dfbcd657" integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== @@ -5455,7 +5314,7 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.251, electron-to-chromium@^1.4.284: +electron-to-chromium@^1.4.284: version "1.4.284" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== @@ -5654,11 +5513,6 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -esbuild-wasm@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.2.tgz#790b952e2d1bc3c1fa7081476ed11151e257ed39" - integrity sha512-3Elb5Afc/EtIfugDGqARoM+MdkqiMZquVOivEzGS3AZosilNIwmnOI2W7pMefi9VGOhR4fdIqddytt+xjjhAdg== - esbuild-wasm@0.17.5: version "0.17.5" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" @@ -5669,34 +5523,6 @@ esbuild-wasm@^0.16.0: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" integrity sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q== -esbuild@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.2.tgz#c37ee608434be1c0e79f872c8bd484fb46af59df" - integrity sha512-odaHSgtYafOXt2nSISwdWlfRkb4ceMX3akY1mWspQpT08jsqVYEK1XtVusr250Rmbx8AVNWjMPI/yyvKqxOKMw== - optionalDependencies: - "@esbuild/android-arm" "0.17.2" - "@esbuild/android-arm64" "0.17.2" - "@esbuild/android-x64" "0.17.2" - "@esbuild/darwin-arm64" "0.17.2" - "@esbuild/darwin-x64" "0.17.2" - "@esbuild/freebsd-arm64" "0.17.2" - "@esbuild/freebsd-x64" "0.17.2" - "@esbuild/linux-arm" "0.17.2" - "@esbuild/linux-arm64" "0.17.2" - "@esbuild/linux-ia32" "0.17.2" - "@esbuild/linux-loong64" "0.17.2" - "@esbuild/linux-mips64el" "0.17.2" - "@esbuild/linux-ppc64" "0.17.2" - "@esbuild/linux-riscv64" "0.17.2" - "@esbuild/linux-s390x" "0.17.2" - "@esbuild/linux-x64" "0.17.2" - "@esbuild/netbsd-x64" "0.17.2" - "@esbuild/openbsd-x64" "0.17.2" - "@esbuild/sunos-x64" "0.17.2" - "@esbuild/win32-arm64" "0.17.2" - "@esbuild/win32-ia32" "0.17.2" - "@esbuild/win32-x64" "0.17.2" - esbuild@0.17.5: version "0.17.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.5.tgz#cd76d75700d49ac050ad9eedfbed777bd6a9d930" @@ -6464,17 +6290,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" - integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - glob@8.1.0, glob@^8.0.1, glob@^8.0.3: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" @@ -8515,7 +8330,7 @@ node-gyp@^9.0.0, node-gyp@^9.1.0: tar "^6.1.2" which "^2.0.2" -node-releases@^2.0.6, node-releases@^2.0.8: +node-releases@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== @@ -10846,16 +10661,6 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.16.1: - version "5.16.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" - integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - terser@5.16.2, terser@^5.14.1: version "5.16.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2" @@ -11021,11 +10826,6 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - tslib@2.5.0, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" @@ -11234,7 +11034,7 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.10, update-browserslist-db@^1.0.9: +update-browserslist-db@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== From 64d8c473bef8d70736046193aed34dadd6df3fd8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 6 Feb 2023 16:25:50 -0500 Subject: [PATCH 1333/1388] test(@angular-devkit/build-angular): reduce harness usage of deprecated TestProjectHost The Builder test harness previously used the deprecated `TestProjectHost` to perform a variety of file operations during builder unit tests. However, the `TestProjectHost` is deprecated and uses several layers of rxjs to perform the file operations. The test harness now uses the Node.js `fs` builtin to directly perform the file operations. This removes several layers of indirection between the harness and the actual underlying file operations. The removal of the rxjs operation chaining also reduces stack traces and makes debugging test issues less complicated. --- .../src/testing/builder-harness.ts | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts index 3bfbb686244e..a3530fd74386 100644 --- a/packages/angular_devkit/build_angular/src/testing/builder-harness.ts +++ b/packages/angular_devkit/build_angular/src/testing/builder-harness.ts @@ -21,7 +21,10 @@ import { } from '@angular-devkit/architect'; import { WorkspaceHost } from '@angular-devkit/architect/node'; import { TestProjectHost } from '@angular-devkit/architect/testing'; -import { getSystemPath, join, json, logging, normalize } from '@angular-devkit/core'; +import { getSystemPath, json, logging } from '@angular-devkit/core'; +import { existsSync, readFileSync, readdirSync } from 'node:fs'; +import fs from 'node:fs/promises'; +import { dirname, join } from 'node:path'; import { Observable, Subject, from as observableFrom, of as observableOf } from 'rxjs'; import { catchError, finalize, first, map, mergeMap, shareReplay } from 'rxjs/operators'; import { BuilderWatcherFactory, WatcherNotifier } from './file-watching'; @@ -85,6 +88,10 @@ export class BuilderHarness { this.schemaRegistry.addPostTransform(json.schema.transforms.addUndefinedDefaults); } + private resolvePath(path: string): string { + return join(getSystemPath(this.host.root()), path); + } + useProject(name: string, metadata: Record = {}): this { if (!name) { throw new Error('Project name cannot be an empty string.'); @@ -215,7 +222,7 @@ export class BuilderHarness { }; const context = new HarnessBuilderContext( this.builderInfo, - getSystemPath(this.host.root()), + this.resolvePath('.'), contextHost, useNativeFileWatching ? undefined : this.watcherNotifier, ); @@ -282,13 +289,12 @@ export class BuilderHarness { } async writeFile(path: string, content: string | Buffer): Promise { - this.host - .scopedSync() - .write(normalize(path), typeof content === 'string' ? Buffer.from(content) : content); + const fullPath = this.resolvePath(path); - this.watcherNotifier?.notify([ - { path: getSystemPath(join(this.host.root(), path)), type: 'modified' }, - ]); + await fs.mkdir(dirname(fullPath), { recursive: true }); + await fs.writeFile(fullPath, content, 'utf-8'); + + this.watcherNotifier?.notify([{ path: fullPath, type: 'modified' }]); } async writeFiles(files: Record): Promise { @@ -297,11 +303,12 @@ export class BuilderHarness { : undefined; for (const [path, content] of Object.entries(files)) { - this.host - .scopedSync() - .write(normalize(path), typeof content === 'string' ? Buffer.from(content) : content); + const fullPath = this.resolvePath(path); + + await fs.mkdir(dirname(fullPath), { recursive: true }); + await fs.writeFile(fullPath, content, 'utf-8'); - watchEvents?.push({ path: getSystemPath(join(this.host.root(), path)), type: 'modified' }); + watchEvents?.push({ path: fullPath, type: 'modified' }); } if (watchEvents) { @@ -310,11 +317,11 @@ export class BuilderHarness { } async removeFile(path: string): Promise { - this.host.scopedSync().delete(normalize(path)); + const fullPath = this.resolvePath(path); - this.watcherNotifier?.notify([ - { path: getSystemPath(join(this.host.root(), path)), type: 'deleted' }, - ]); + await fs.unlink(fullPath); + + this.watcherNotifier?.notify([{ path: fullPath, type: 'deleted' }]); } async modifyFile( @@ -323,27 +330,24 @@ export class BuilderHarness { ): Promise { const content = this.readFile(path); await this.writeFile(path, await modifier(content)); - - this.watcherNotifier?.notify([ - { path: getSystemPath(join(this.host.root(), path)), type: 'modified' }, - ]); } hasFile(path: string): boolean { - return this.host.scopedSync().exists(normalize(path)); + const fullPath = this.resolvePath(path); + + return existsSync(fullPath); } hasFileMatch(directory: string, pattern: RegExp): boolean { - return this.host - .scopedSync() - .list(normalize(directory)) - .some((name) => pattern.test(name)); + const fullPath = this.resolvePath(directory); + + return readdirSync(fullPath).some((name) => pattern.test(name)); } readFile(path: string): string { - const content = this.host.scopedSync().read(normalize(path)); + const fullPath = this.resolvePath(path); - return Buffer.from(content).toString('utf8'); + return readFileSync(fullPath, 'utf-8'); } private validateProjectName(name: string): void { From 6cc74592896d538863e154e4ffb3bea96a96d2ad Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 6 Feb 2023 17:26:50 -0500 Subject: [PATCH 1334/1388] test(@angular-devkit/build-angular): port several unit tests to esbuild builder The following unit tests have been ported over to test the experimental esbuild-based browser application builder: * `assets` option * `outputHashing` option * browser support behavior (`browserslist`) Several small modifications were necessary to accommodate output file differences such as no runtime chunk. Additionally, two tests are temporarily disabled for the `outputHashing` tests pending implementation in the builder. These tests are the same stylesheet resource handling file name test and no hashing of non-injected styles test. --- .../tests/behavior/browser-support_spec.ts | 116 ++++++ .../tests/options/assets_spec.ts | 380 ++++++++++++++++++ .../tests/options/output-hashing_spec.ts | 166 ++++++++ 3 files changed, 662 insertions(+) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/behavior/browser-support_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/assets_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/output-hashing_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/behavior/browser-support_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/behavior/browser-support_spec.ts new file mode 100644 index 000000000000..557cc7ba79c1 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/behavior/browser-support_spec.ts @@ -0,0 +1,116 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Behavior: "Browser support"', () => { + it('creates correct sourcemaps when downleveling async functions', async () => { + // Add a JavaScript file with async code + await harness.writeFile( + 'src/async-test.js', + 'async function testJs() { console.log("from-async-js-function"); }', + ); + + // Add an async function to the project as well as JavaScript file + // The type `Void123` is used as a unique identifier for the final sourcemap + // If sourcemaps are not properly propagated then it will not be in the final sourcemap + await harness.modifyFile( + 'src/main.ts', + (content) => + 'import "./async-test";\n' + + content + + '\ntype Void123 = void;' + + `\nasync function testApp(): Promise { console.log("from-async-app-function"); }`, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + sourceMap: { + scripts: true, + }, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s+function\s/); + harness.expectFile('dist/main.js.map').content.toContain('Promise'); + }); + + it('downlevels async functions ', async () => { + // Add an async function to the project + await harness.writeFile( + 'src/main.ts', + 'async function test(): Promise { console.log("from-async-function"); }\ntest();', + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.not.toMatch(/\sasync\s/); + harness.expectFile('dist/main.js').content.toContain('"from-async-function"'); + }); + + it('warns when IE is present in browserslist', async () => { + await harness.appendToFile( + '.browserslistrc', + ` + IE 9 + IE 11 + `, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result, logs } = await harness.executeOnce(); + expect(result?.success).toBeTrue(); + + expect(logs).toContain( + jasmine.objectContaining({ + level: 'warn', + message: + `One or more browsers which are configured in the project's Browserslist ` + + 'configuration will be ignored as ES5 output is not supported by the Angular CLI.\n' + + 'Ignored browsers: ie 11, ie 9', + }), + ); + }); + + it('downlevels "for await...of"', async () => { + // Add an async function to the project + await harness.writeFile( + 'src/main.ts', + ` + (async () => { + for await (const o of [1, 2, 3]) { + console.log("for await...of"); + } + })(); + `, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.not.toMatch(/\sawait\s/); + harness.expectFile('dist/main.js').content.toContain('"for await...of"'); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/assets_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/assets_spec.ts new file mode 100644 index 000000000000..26482b8f3998 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/assets_spec.ts @@ -0,0 +1,380 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "assets"', () => { + beforeEach(async () => { + // Application code is not needed for asset tests + await harness.writeFile('src/main.ts', 'console.log("TEST");'); + }); + + it('supports an empty array value', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + }); + + it('supports mixing shorthand and longhand syntax', async () => { + await harness.writeFile('src/files/test.svg', ''); + await harness.writeFile('src/files/another.file', 'asset file'); + await harness.writeFile('src/extra.file', 'extra file'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: ['src/extra.file', { glob: '*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/extra.file').content.toBe('extra file'); + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + describe('shorthand syntax', () => { + it('copies a single asset', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: ['src/test.svg'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('copies multiple assets', async () => { + await harness.writeFile('src/test.svg', ''); + await harness.writeFile('src/another.file', 'asset file'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: ['src/test.svg', 'src/another.file'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies an asset with directory and maintains directory in output', async () => { + await harness.writeFile('src/subdirectory/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: ['src/subdirectory/test.svg'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); + }); + + it('does not fail if asset does not exist', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: ['src/test.svg'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + + it('fail if asset path is not within project source root', async () => { + await harness.writeFile('test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: ['test.svg'], + }); + + const { error } = await harness.executeOnce({ outputLogsOnException: false }); + + expect(error?.message).toMatch('path must start with the project source root'); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + }); + + describe('longhand syntax', () => { + it('copies a single asset', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('copies multiple assets as separate entries', async () => { + await harness.writeFile('src/test.svg', ''); + await harness.writeFile('src/another.file', 'asset file'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [ + { glob: 'test.svg', input: 'src', output: '.' }, + { glob: 'another.file', input: 'src', output: '.' }, + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies multiple assets with a single entry glob pattern', async () => { + await harness.writeFile('src/test.svg', ''); + await harness.writeFile('src/another.file', 'asset file'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: '{test.svg,another.file}', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies multiple assets with a wildcard glob pattern', async () => { + await harness.writeFile('src/files/test.svg', ''); + await harness.writeFile('src/files/another.file', 'asset file'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: '*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + }); + + it('copies multiple assets with a recursive wildcard glob pattern', async () => { + await harness.writeFiles({ + 'src/files/test.svg': '', + 'src/files/another.file': 'asset file', + 'src/files/nested/extra.file': 'extra file', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: '**/*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').content.toBe('asset file'); + harness.expectFile('dist/nested/extra.file').content.toBe('extra file'); + }); + + it('automatically ignores "." prefixed files when using wildcard glob pattern', async () => { + await harness.writeFile('src/files/.gitkeep', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: '*', input: 'src/files', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/.gitkeep').toNotExist(); + }); + + it('supports ignoring a specific file when using a glob pattern', async () => { + await harness.writeFiles({ + 'src/files/test.svg': '', + 'src/files/another.file': 'asset file', + 'src/files/nested/extra.file': 'extra file', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: '**/*', input: 'src/files', output: '.', ignore: ['another.file'] }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').toNotExist(); + harness.expectFile('dist/nested/extra.file').content.toBe('extra file'); + }); + + it('supports ignoring with a glob pattern when using a glob pattern', async () => { + await harness.writeFiles({ + 'src/files/test.svg': '', + 'src/files/another.file': 'asset file', + 'src/files/nested/extra.file': 'extra file', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: '**/*', input: 'src/files', output: '.', ignore: ['**/*.file'] }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + harness.expectFile('dist/another.file').toNotExist(); + harness.expectFile('dist/nested/extra.file').toNotExist(); + }); + + it('copies an asset with directory and maintains directory in output', async () => { + await harness.writeFile('src/subdirectory/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'subdirectory/test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); + }); + + it('does not fail if asset does not exist', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + + it('uses project output path when output option is empty string', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('uses project output path when output option is "."', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '.' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('uses project output path when output option is "/"', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '/' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').content.toBe(''); + }); + + it('creates a project output sub-path when output option path does not exist', async () => { + await harness.writeFile('src/test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: 'subdirectory' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/subdirectory/test.svg').content.toBe(''); + }); + + it('fails if output option is not within project output path', async () => { + await harness.writeFile('test.svg', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + assets: [{ glob: 'test.svg', input: 'src', output: '..' }], + }); + + const { error } = await harness.executeOnce({ outputLogsOnException: false }); + + expect(error?.message).toMatch( + 'An asset cannot be written to a location outside of the output path', + ); + + harness.expectFile('dist/test.svg').toNotExist(); + }); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/output-hashing_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/output-hashing_spec.ts new file mode 100644 index 000000000000..1bc0c5c9179e --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/output-hashing_spec.ts @@ -0,0 +1,166 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { OutputHashing } from '../../schema'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "outputHashing"', () => { + beforeEach(async () => { + // Application code is not needed for asset tests + await harness.writeFile('src/main.ts', 'console.log("TEST");'); + await harness.writeFile('src/polyfills.ts', 'console.log("TEST-POLYFILLS");'); + }); + + it('hashes all filenames when set to "all"', async () => { + await harness.writeFile('src/styles.css', `h1 { background: url('./spectrum.png')}`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + polyfills: 'src/polyfills.ts', + outputHashing: OutputHashing.All, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + expect(harness.hasFileMatch('dist', /main\.[0-9A-Z]{8}\.js$/)).toBeTrue(); + expect(harness.hasFileMatch('dist', /polyfills\.[0-9A-Z]{8}\.js$/)).toBeTrue(); + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css$/)).toBeTrue(); + expect(harness.hasFileMatch('dist', /spectrum\.[0-9A-Z]{8}\.png$/)).toBeTrue(); + }); + + it(`doesn't hash any filenames when not set`, async () => { + await harness.writeFile('src/styles.css', `h1 { background: url('./spectrum.png')}`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + polyfills: 'src/polyfills.ts', + styles: ['src/styles.css'], + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + expect(harness.hasFileMatch('dist', /main\.[0-9A-Z]{8}\.js$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /polyfills\.[0-9A-Z]{8}\.js$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /spectrum\.[0-9A-Z]{8}\.png$/)).toBeFalse(); + }); + + it(`doesn't hash any filenames when set to "none"`, async () => { + await harness.writeFile('src/styles.css', `h1 { background: url('./spectrum.png')}`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + polyfills: 'src/polyfills.ts', + outputHashing: OutputHashing.None, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + expect(harness.hasFileMatch('dist', /main\.[0-9A-Z]{8}\.js$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /polyfills\.[0-9A-Z]{8}\.js$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /spectrum\.[0-9A-Z]{8}\.png$/)).toBeFalse(); + }); + + it(`hashes CSS resources filenames only when set to "media"`, async () => { + await harness.writeFile('src/styles.css', `h1 { background: url('./spectrum.png')}`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + polyfills: 'src/polyfills.ts', + outputHashing: OutputHashing.Media, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + expect(harness.hasFileMatch('dist', /main\.[0-9A-Z]{8}\.js$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /polyfills\.[0-9A-Z]{8}\.js$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /spectrum\.[0-9A-Z]{8}\.png$/)).toBeTrue(); + }); + + it(`hashes bundles filenames only when set to "bundles"`, async () => { + await harness.writeFile('src/styles.css', `h1 { background: url('./spectrum.png')}`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + polyfills: 'src/polyfills.ts', + outputHashing: OutputHashing.Bundles, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + expect(harness.hasFileMatch('dist', /main\.[0-9A-Z]{8}\.js$/)).toBeTrue(); + expect(harness.hasFileMatch('dist', /polyfills\.[0-9A-Z]{8}\.js$/)).toBeTrue(); + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css$/)).toBeTrue(); + expect(harness.hasFileMatch('dist', /spectrum\.[0-9A-Z]{8}\.png$/)).toBeFalse(); + }); + + // TODO: Re-enable once implemented in the esbuild builder + xit('does not hash non injected styles', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + outputHashing: OutputHashing.All, + sourceMap: true, + styles: [ + { + input: 'src/styles.css', + inject: false, + }, + ], + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css$/)).toBeFalse(); + expect(harness.hasFileMatch('dist', /styles\.[0-9A-Z]{8}\.css.map$/)).toBeFalse(); + harness.expectFile('dist/styles.css').toExist(); + harness.expectFile('dist/styles.css.map').toExist(); + }); + + // TODO: Re-enable once implemented in the esbuild builder + xit('does not override different files which has the same filenames when hashing is "none"', async () => { + await harness.writeFiles({ + 'src/styles.css': ` + h1 { background: url('./test.svg')} + h2 { background: url('./small/test.svg')} + `, + './src/test.svg': ` + Hello World + `, + './src/small/test.svg': ` + Hello World + `, + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + outputHashing: OutputHashing.None, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + + harness.expectFile('dist/test.svg').toExist(); + harness.expectFile('dist/small-test.svg').toExist(); + }); + }); +}); From bfc0facedda1150177b84fbc82f195678ce00b1e Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 3 Feb 2023 13:51:38 -0500 Subject: [PATCH 1335/1388] fix(@angular-devkit/build-angular): build optimizer support for spec-compliant downlevel class properties The build optimizer's static class field pass will now additionally wrap classes that contain side effect free class properties. This allows optimizers and bundlers further along in the build pipeline to downlevel that class properties while still retaining the ability to tree-shake the class if unused. The class properties may need to be downleveled for a variety of reasons such as lack of browser support, browser bugs with certain code structures, or to ensure spec-compliant runtime behavior. --- .../plugins/adjust-static-class-members.ts | 40 ++++- .../adjust-static-class-members_spec.ts | 141 +++++++++++++++++- 2 files changed, 178 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts index 5c451970c655..35943ea9e5e7 100644 --- a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts +++ b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts @@ -221,10 +221,48 @@ export default function (): PluginObj { visitedClasses.add(classNode); - if (hasPotentialSideEffects || wrapStatementPaths.length === 0) { + if (hasPotentialSideEffects) { return; } + // If no statements to wrap, check for static class properties. + // Static class properties may be downleveled at later stages in the build pipeline + // which results in additional function calls outside the class body. These calls + // then cause the class to be referenced and not eligible for removal. Since it is + // not known at this stage whether the class needs to be downleveled, the transform + // wraps classes preemptively to allow for potential removal within the optimization + // stages. + if (wrapStatementPaths.length === 0) { + let shouldWrap = false; + for (const element of path.get('body').get('body')) { + if (element.isClassProperty()) { + // Only need to analyze static properties + if (!element.node.static) { + continue; + } + + // Check for potential side effects. + // These checks are conservative and could potentially be expanded in the future. + const elementKey = element.get('key'); + const elementValue = element.get('value'); + if ( + elementKey.isIdentifier() && + (!elementValue.isExpression() || + canWrapProperty(elementKey.get('name'), elementValue)) + ) { + shouldWrap = true; + } else { + // Not safe to wrap + shouldWrap = false; + break; + } + } + } + if (!shouldWrap) { + return; + } + } + const wrapStatementNodes: types.Statement[] = []; for (const statementPath of wrapStatementPaths) { wrapStatementNodes.push(statementPath.node); diff --git a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts index 228bf57ea2a6..a62f87d38504 100644 --- a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts +++ b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts @@ -191,7 +191,7 @@ describe('adjust-static-class-members Babel plugin', () => { `); }); - it('does wrap not class with only side effect fields', () => { + it('does not wrap class with only side effect fields', () => { testCaseNoChange(` class CustomComponentEffects { constructor(_actions) { @@ -203,6 +203,30 @@ describe('adjust-static-class-members Babel plugin', () => { `); }); + it('does not wrap class with only side effect native fields', () => { + testCaseNoChange(` + class CustomComponentEffects { + static someFieldWithSideEffects = console.log('foo'); + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + `); + }); + + it('does not wrap class with only instance native fields', () => { + testCaseNoChange(` + class CustomComponentEffects { + someFieldWithSideEffects = console.log('foo'); + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + `); + }); + it('wraps class with pure annotated side effect fields (#__PURE__)', () => { testCase({ input: ` @@ -229,6 +253,32 @@ describe('adjust-static-class-members Babel plugin', () => { }); }); + it('wraps class with pure annotated side effect native fields (#__PURE__)', () => { + testCase({ + input: ` + class CustomComponentEffects { + static someFieldWithSideEffects = /*#__PURE__*/ console.log('foo'); + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + `, + expected: ` + let CustomComponentEffects = /*#__PURE__*/ (() => { + class CustomComponentEffects { + static someFieldWithSideEffects = /*#__PURE__*/ console.log('foo'); + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + return CustomComponentEffects; + })(); + `, + }); + }); + it('wraps class with pure annotated side effect fields (@__PURE__)', () => { testCase({ input: ` @@ -335,6 +385,32 @@ describe('adjust-static-class-members Babel plugin', () => { }); }); + it('wraps exported class with a pure native static field', () => { + testCase({ + input: ` + export class CustomComponentEffects { + static someField = 42; + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + `, + expected: ` + export let CustomComponentEffects = /*#__PURE__*/ (() => { + class CustomComponentEffects { + static someField = 42; + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + return CustomComponentEffects; + })(); + `, + }); + }); + it('wraps class with a basic literal static field', () => { testCase({ input: ` @@ -416,6 +492,32 @@ describe('adjust-static-class-members Babel plugin', () => { `); }); + it('does not wrap class with only pure native static fields and some side effect static fields', () => { + testCaseNoChange(` + class CustomComponentEffects { + static someField = 42; + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + CustomComponentEffects.someFieldWithSideEffects = console.log('foo'); + `); + }); + + it('does not wrap class with only some pure native static fields', () => { + testCaseNoChange(` + class CustomComponentEffects { + static someField = 42; + static someFieldWithSideEffects = console.log('foo'); + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + `); + }); + it('does not wrap class with class decorators when wrapDecorators is false', () => { testCaseNoChange( ` @@ -597,7 +699,7 @@ describe('adjust-static-class-members Babel plugin', () => { }); }); - it('wraps class with multiple Angular static field', () => { + it('wraps class with multiple Angular static fields', () => { testCase({ input: ` class CommonModule { @@ -626,6 +728,41 @@ describe('adjust-static-class-members Babel plugin', () => { }); }); + it('wraps class with multiple Angular native static fields', () => { + testCase({ + input: ` + class CommonModule { + static ɵfac = function CommonModule_Factory(t) { return new (t || CommonModule)(); }; + static ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CommonModule }); + static ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [ + { provide: NgLocalization, useClass: NgLocaleLocalization }, + ] }); + } + `, + expected: ` + let CommonModule = /*#__PURE__*/ (() => { + class CommonModule { + static ɵfac = function CommonModule_Factory(t) { + return new (t || CommonModule)(); + }; + static ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ + type: CommonModule, + }); + static ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ + providers: [ + { + provide: NgLocalization, + useClass: NgLocaleLocalization, + }, + ], + }); + } + return CommonModule; + })(); + `, + }); + }); + it('wraps default exported class with pure static fields', () => { testCase({ input: ` From 9ba8f4dfe1ccdfb1e40a5211b9a831785fb0ac60 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 7 Feb 2023 06:17:44 +0000 Subject: [PATCH 1336/1388] build: update github/codeql-action action to v2.2.2 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b6c32bb60094..47f16780c319 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@3ebbd71c74ef574dbc558c82f70e52732c8b44fe # v2.2.1 + uses: github/codeql-action/upload-sarif@39d8d7e78f59cf6b40ac3b9fbebef0c753d7c9e5 # v2.2.2 with: sarif_file: results.sarif From 56423f0a3779b1b369f7fef44cb7621f481976a5 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 7 Feb 2023 14:16:16 +0000 Subject: [PATCH 1337/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 6 +- yarn.lock | 257 ++++++++++++++---- 3 files changed, 214 insertions(+), 61 deletions(-) diff --git a/package.json b/package.json index 10aa43ad21fd..a958ac784871 100644 --- a/package.json +++ b/package.json @@ -123,8 +123,8 @@ "@types/yargs": "^17.0.20", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.50.0", - "@typescript-eslint/parser": "5.50.0", + "@typescript-eslint/eslint-plugin": "5.51.0", + "@typescript-eslint/parser": "5.51.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -141,8 +141,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.17.5", - "esbuild-wasm": "0.17.5", + "esbuild": "0.17.6", + "esbuild-wasm": "0.17.6", "eslint": "8.33.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", @@ -190,7 +190,7 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "21.0.9", + "quicktype-core": "21.0.10", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.58.0", @@ -204,7 +204,7 @@ "spdx-satisfies": "^5.0.0", "symbol-observable": "4.0.0", "tar": "^6.1.6", - "terser": "5.16.2", + "terser": "5.16.3", "text-table": "0.2.0", "tree-kill": "1.2.2", "ts-node": "^10.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 74cf27ab5361..6a14cb441808 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -31,7 +31,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.17.5", + "esbuild-wasm": "0.17.6", "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -56,7 +56,7 @@ "semver": "7.3.8", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "terser": "5.16.2", + "terser": "5.16.3", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.5.0", @@ -67,7 +67,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.17.5" + "esbuild": "0.17.6" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/yarn.lock b/yarn.lock index da23c42d2ca0..19ffa92d2262 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1378,6 +1378,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2" integrity sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw== +"@esbuild/android-arm64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b" + integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg== + "@esbuild/android-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" @@ -1388,6 +1393,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251" integrity sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ== +"@esbuild/android-arm@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26" + integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g== + "@esbuild/android-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" @@ -1398,6 +1408,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef" integrity sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA== +"@esbuild/android-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462" + integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ== + "@esbuild/darwin-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" @@ -1408,6 +1423,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49" integrity sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw== +"@esbuild/darwin-arm64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646" + integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA== + "@esbuild/darwin-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" @@ -1418,6 +1438,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d" integrity sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA== +"@esbuild/darwin-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569" + integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg== + "@esbuild/freebsd-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" @@ -1428,6 +1453,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367" integrity sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg== +"@esbuild/freebsd-arm64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4" + integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg== + "@esbuild/freebsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" @@ -1438,6 +1468,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f" integrity sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg== +"@esbuild/freebsd-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f" + integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q== + "@esbuild/linux-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" @@ -1448,6 +1483,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f" integrity sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg== +"@esbuild/linux-arm64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079" + integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w== + "@esbuild/linux-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" @@ -1458,6 +1498,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07" integrity sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw== +"@esbuild/linux-arm@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110" + integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw== + "@esbuild/linux-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" @@ -1468,6 +1513,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4" integrity sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ== +"@esbuild/linux-ia32@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278" + integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ== + "@esbuild/linux-loong64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" @@ -1478,6 +1528,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea" integrity sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g== +"@esbuild/linux-loong64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad" + integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ== + "@esbuild/linux-mips64el@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" @@ -1488,6 +1543,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4" integrity sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg== +"@esbuild/linux-mips64el@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af" + integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA== + "@esbuild/linux-ppc64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" @@ -1498,6 +1558,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c" integrity sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg== +"@esbuild/linux-ppc64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19" + integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg== + "@esbuild/linux-riscv64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" @@ -1508,6 +1573,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c" integrity sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ== +"@esbuild/linux-riscv64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a" + integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ== + "@esbuild/linux-s390x@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" @@ -1518,6 +1588,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735" integrity sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw== +"@esbuild/linux-s390x@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc" + integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q== + "@esbuild/linux-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" @@ -1528,6 +1603,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050" integrity sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g== +"@esbuild/linux-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0" + integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw== + "@esbuild/netbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" @@ -1538,6 +1618,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a" integrity sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA== +"@esbuild/netbsd-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9" + integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A== + "@esbuild/openbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" @@ -1548,6 +1633,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a" integrity sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw== +"@esbuild/openbsd-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083" + integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw== + "@esbuild/sunos-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" @@ -1558,6 +1648,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0" integrity sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw== +"@esbuild/sunos-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73" + integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw== + "@esbuild/win32-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" @@ -1568,6 +1663,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850" integrity sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg== +"@esbuild/win32-arm64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21" + integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg== + "@esbuild/win32-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" @@ -1578,6 +1678,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0" integrity sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ== +"@esbuild/win32-ia32@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e" + integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg== + "@esbuild/win32-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" @@ -1588,6 +1693,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be" integrity sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw== +"@esbuild/win32-x64@0.17.6": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz#563ff4277f1230a006472664fa9278a83dd124da" + integrity sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA== + "@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -3399,14 +3509,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz#fb48c31cadc853ffc1dc35373f56b5e2a8908fe9" - integrity sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ== +"@typescript-eslint/eslint-plugin@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a" + integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ== dependencies: - "@typescript-eslint/scope-manager" "5.50.0" - "@typescript-eslint/type-utils" "5.50.0" - "@typescript-eslint/utils" "5.50.0" + "@typescript-eslint/scope-manager" "5.51.0" + "@typescript-eslint/type-utils" "5.51.0" + "@typescript-eslint/utils" "5.51.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -3415,72 +3525,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.50.0.tgz#a33f44b2cc83d1b7176ec854fbecd55605b0b032" - integrity sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ== +"@typescript-eslint/parser@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" + integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== dependencies: - "@typescript-eslint/scope-manager" "5.50.0" - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/scope-manager" "5.51.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/typescript-estree" "5.51.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz#90b8a3b337ad2c52bbfe4eac38f9164614e40584" - integrity sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg== +"@typescript-eslint/scope-manager@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" + integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ== dependencies: - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/visitor-keys" "5.50.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/visitor-keys" "5.51.0" -"@typescript-eslint/type-utils@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz#509d5cc9728d520008f7157b116a42c5460e7341" - integrity sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ== +"@typescript-eslint/type-utils@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988" + integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ== dependencies: - "@typescript-eslint/typescript-estree" "5.50.0" - "@typescript-eslint/utils" "5.50.0" + "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/utils" "5.51.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.50.0.tgz#c461d3671a6bec6c2f41f38ed60bd87aa8a30093" - integrity sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w== +"@typescript-eslint/types@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" + integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== -"@typescript-eslint/typescript-estree@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz#0b9b82975bdfa40db9a81fdabc7f93396867ea97" - integrity sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow== +"@typescript-eslint/typescript-estree@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" + integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA== dependencies: - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/visitor-keys" "5.50.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/visitor-keys" "5.51.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.50.0.tgz#807105f5ffb860644d30d201eefad7017b020816" - integrity sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw== +"@typescript-eslint/utils@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47" + integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.50.0" - "@typescript-eslint/types" "5.50.0" - "@typescript-eslint/typescript-estree" "5.50.0" + "@typescript-eslint/scope-manager" "5.51.0" + "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/typescript-estree" "5.51.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz#b752ffc143841f3d7bc57d6dd01ac5c40f8c4903" - integrity sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg== +"@typescript-eslint/visitor-keys@5.51.0": + version "5.51.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" + integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ== dependencies: - "@typescript-eslint/types" "5.50.0" + "@typescript-eslint/types" "5.51.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -5518,6 +5628,11 @@ esbuild-wasm@0.17.5: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g== +esbuild-wasm@0.17.6: + version "0.17.6" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.6.tgz#f5935d90c1104a1c04a3fbe5daaf7f79beaeb2fc" + integrity sha512-9Ldow2+kulEnGtOTbngHyiFIneIi+g7pJOz8cZQhW1KWKqsu9nCYDba2JlwsH/PJtAGNSTCrKBmaKYf8rJYvgQ== + esbuild-wasm@^0.16.0: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" @@ -5551,6 +5666,34 @@ esbuild@0.17.5: "@esbuild/win32-ia32" "0.17.5" "@esbuild/win32-x64" "0.17.5" +esbuild@0.17.6: + version "0.17.6" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.6.tgz#bbccd4433629deb6e0a83860b3b61da120ba4e01" + integrity sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q== + optionalDependencies: + "@esbuild/android-arm" "0.17.6" + "@esbuild/android-arm64" "0.17.6" + "@esbuild/android-x64" "0.17.6" + "@esbuild/darwin-arm64" "0.17.6" + "@esbuild/darwin-x64" "0.17.6" + "@esbuild/freebsd-arm64" "0.17.6" + "@esbuild/freebsd-x64" "0.17.6" + "@esbuild/linux-arm" "0.17.6" + "@esbuild/linux-arm64" "0.17.6" + "@esbuild/linux-ia32" "0.17.6" + "@esbuild/linux-loong64" "0.17.6" + "@esbuild/linux-mips64el" "0.17.6" + "@esbuild/linux-ppc64" "0.17.6" + "@esbuild/linux-riscv64" "0.17.6" + "@esbuild/linux-s390x" "0.17.6" + "@esbuild/linux-x64" "0.17.6" + "@esbuild/netbsd-x64" "0.17.6" + "@esbuild/openbsd-x64" "0.17.6" + "@esbuild/sunos-x64" "0.17.6" + "@esbuild/win32-arm64" "0.17.6" + "@esbuild/win32-ia32" "0.17.6" + "@esbuild/win32-x64" "0.17.6" + esbuild@^0.16.0: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" @@ -9445,10 +9588,10 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@21.0.9: - version "21.0.9" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.9.tgz#16c7c3acfac879ddd0421bf5d1a5cbb9e357fb90" - integrity sha512-lXLJdo00KMSXaWOH49vDLGyfIEiqu9leevyNyYxNYvhCpPMon6zaAqXHIc1V3ByRN4ErCUkpsnzruuIQ3+OeKQ== +quicktype-core@21.0.10: + version "21.0.10" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.10.tgz#422f8e3b35ca7694bd2ea71a3efa0ca59c1475f4" + integrity sha512-aS4vDe63cho1fYtC0qiYcXcAJ0gbZxP32Q5jFug3sOhGoHjplUSHltM3oS6+nMDf0hBZ2uyDigu3+QEJA54+LQ== dependencies: "@glideapps/ts-necessities" "2.1.2" "@types/urijs" "^1.19.19" @@ -10671,6 +10814,16 @@ terser@5.16.2, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" +terser@5.16.3: + version "5.16.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b" + integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" From c07fbf672d39c7e6801dbcf5722075c74949e401 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 8 Feb 2023 18:26:50 +0000 Subject: [PATCH 1338/1388] ci: enable HTTP caching for Bazel on Windows This commit enables Bazel HTTP caching for Windows runs. Before: ``` bazel-e2e-cli-win: 22m 39s ``` After: ``` bazel-e2e-cli-win: 8m 32s ``` --- .circleci/{bazel.rc => bazel.common.rc} | 0 .circleci/bazel.linux.rc | 5 +++++ .circleci/bazel.windows.rc | 8 ++++++++ .circleci/dynamic_config.yml | 16 +++++++++++++--- 4 files changed, 26 insertions(+), 3 deletions(-) rename .circleci/{bazel.rc => bazel.common.rc} (100%) create mode 100644 .circleci/bazel.linux.rc create mode 100644 .circleci/bazel.windows.rc diff --git a/.circleci/bazel.rc b/.circleci/bazel.common.rc similarity index 100% rename from .circleci/bazel.rc rename to .circleci/bazel.common.rc diff --git a/.circleci/bazel.linux.rc b/.circleci/bazel.linux.rc new file mode 100644 index 000000000000..6a4d30ed44f8 --- /dev/null +++ b/.circleci/bazel.linux.rc @@ -0,0 +1,5 @@ +# Import config items common to both Linux and Windows setups. +# https://docs.bazel.build/versions/master/guide.html#bazelrc-syntax-and-semantics +import %workspace%/.circleci/bazel.common.rc + +build --config=remote diff --git a/.circleci/bazel.windows.rc b/.circleci/bazel.windows.rc new file mode 100644 index 000000000000..c9cba94c10cc --- /dev/null +++ b/.circleci/bazel.windows.rc @@ -0,0 +1,8 @@ +# Import config items common to both Linux and Windows setups. +# https://docs.bazel.build/versions/master/guide.html#bazelrc-syntax-and-semantics +import %workspace%/.circleci/bazel.common.rc + +build --remote_cache=https://storage.googleapis.com/angular-cli-windows-bazel-cache +build --remote_accept_cached=true +build --remote_upload_local_results=true +build --google_default_credentials diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 21fe18cc63d6..957ebe65d615 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -144,9 +144,19 @@ commands: type: env_var_name default: CIRCLE_PROJECT_REPONAME steps: - - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc + - run: + name: 'Copy Bazel RC' + shell: bash + command: | + # Conditionally, copy bazel configuration based on the current VM + # operating system running. We detect Windows by checking for `%AppData%`. + if [[ -n "${APPDATA}" ]]; then + cp "./.circleci/bazel.windows.rc" ".bazelrc.user"; + else + cp "./.circleci/bazel.linux.rc" ".bazelrc.user"; + fi - devinfra/setup-bazel-remote-exec: - bazelrc: ./.bazelrc.user + shell: bash install_python: steps: @@ -307,7 +317,6 @@ jobs: steps: - custom_attach_workspace - setup_bazel_rbe - - run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc - when: # The default nodeversion runs all *excluding* other versions condition: @@ -454,6 +463,7 @@ jobs: - checkout - rebase_pr_win - setup_windows + - setup_bazel_rbe - restore_cache: keys: - *cache_key_win From 01b3bcf898108f9b879da4a791fa2a21c6d9f7c5 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 1 Feb 2023 15:12:52 -0500 Subject: [PATCH 1339/1388] feat(@angular-devkit/build-angular): add Less stylesheet support to experimental esbuild-based builder When using the experimental esbuild-based browser application builder, stylesheets written in the Less stylesheet language can now be used throughout an application. The support allows Less stylesheets to be used in all locations where CSS and/or Sass can be used. This includes global stylesheets and both inline and external component styles. When using inline component styles, the `inlineLanguageStyle` build option must be set to `less`. Currently, import resolution within a Less stylesheet is limited to default Less behavior which does not include full node package resolution. Full resolution behavior will be added in a future change. --- package.json | 1 + .../angular_devkit/build_angular/BUILD.bazel | 1 + .../browser-esbuild/experimental-warnings.ts | 4 - .../builders/browser-esbuild/less-plugin.ts | 105 ++++++++++++++++++ .../builders/browser-esbuild/stylesheets.ts | 16 ++- yarn.lock | 8 +- 6 files changed, 124 insertions(+), 11 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/less-plugin.ts diff --git a/package.json b/package.json index a958ac784871..65f461a93b83 100644 --- a/package.json +++ b/package.json @@ -106,6 +106,7 @@ "@types/inquirer": "^8.0.0", "@types/jasmine": "~4.3.0", "@types/karma": "^6.3.0", + "@types/less": "^3.0.3", "@types/loader-utils": "^2.0.0", "@types/minimatch": "5.1.2", "@types/node": "^14.15.0", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 5fb3680e2a6a..7cc8e651bf02 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -125,6 +125,7 @@ ts_library( "@npm//@types/glob", "@npm//@types/inquirer", "@npm//@types/karma", + "@npm//@types/less", "@npm//@types/loader-utils", "@npm//@types/node", "@npm//@types/parse5-html-rewriting-stream", diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts index 7ff70e0810a6..1c4d31eabe20 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/experimental-warnings.ts @@ -57,8 +57,4 @@ export function logExperimentalWarnings(options: BrowserBuilderOptions, context: `The '${unsupportedOption}' option is currently unsupported by this experimental builder and will be ignored.`, ); } - - if (options.inlineStyleLanguage === 'less') { - context.logger.warn('The less stylesheet preprocessor is not currently supported.'); - } } diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/less-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/less-plugin.ts new file mode 100644 index 000000000000..0bfaca61e075 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/less-plugin.ts @@ -0,0 +1,105 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import type { OnLoadResult, Plugin, PluginBuild } from 'esbuild'; +import assert from 'node:assert'; +import { readFile } from 'node:fs/promises'; + +/** + * The lazy-loaded instance of the less stylesheet preprocessor. + * It is only imported and initialized if a less stylesheet is used. + */ +let lessPreprocessor: typeof import('less') | undefined; + +export interface LessPluginOptions { + sourcemap: boolean; + includePaths?: string[]; + inlineComponentData?: Record; +} + +interface LessException extends Error { + filename: string; + line: number; + column: number; + extract?: string[]; +} + +function isLessException(error: unknown): error is LessException { + return !!error && typeof error === 'object' && 'column' in error; +} + +export function createLessPlugin(options: LessPluginOptions): Plugin { + return { + name: 'angular-less', + setup(build: PluginBuild): void { + // Add a load callback to support inline Component styles + build.onLoad({ filter: /^less;/, namespace: 'angular:styles/component' }, async (args) => { + const data = options.inlineComponentData?.[args.path]; + assert(data, `component style name should always be found [${args.path}]`); + + const [, , filePath] = args.path.split(';', 3); + + return compileString(data, filePath, options); + }); + + // Add a load callback to support files from disk + build.onLoad({ filter: /\.less$/ }, async (args) => { + const data = await readFile(args.path, 'utf-8'); + + return compileString(data, args.path, options); + }); + }, + }; +} + +async function compileString( + data: string, + filename: string, + options: LessPluginOptions, +): Promise { + const less = (lessPreprocessor ??= (await import('less')).default); + + try { + const result = await less.render(data, { + filename, + paths: options.includePaths, + rewriteUrls: 'all', + sourceMap: options.sourcemap + ? { + sourceMapFileInline: true, + outputSourceFiles: true, + } + : undefined, + } as Less.Options); + + return { + contents: result.css, + loader: 'css', + }; + } catch (error) { + if (isLessException(error)) { + return { + errors: [ + { + text: error.message, + location: { + file: error.filename, + line: error.line, + column: error.column, + // Middle element represents the line containing the error + lineText: error.extract && error.extract[Math.trunc(error.extract.length / 2)], + }, + }, + ], + loader: 'css', + }; + } + + throw error; + } +} diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts index 689000079fc8..7cc94e2dc4bd 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/stylesheets.ts @@ -10,6 +10,7 @@ import type { BuildOptions, OutputFile } from 'esbuild'; import * as path from 'node:path'; import { createCssResourcePlugin } from './css-resource-plugin'; import { BundlerContext } from './esbuild'; +import { createLessPlugin } from './less-plugin'; import { createSassPlugin } from './sass-plugin'; /** @@ -32,6 +33,11 @@ export function createStylesheetBundleOptions( options: BundleStylesheetOptions, inlineComponentData?: Record, ): BuildOptions & { plugins: NonNullable } { + // Ensure preprocessor include paths are absolute based on the workspace root + const includePaths = options.includePaths?.map((includePath) => + path.resolve(options.workspaceRoot, includePath), + ); + return { absWorkingDir: options.workspaceRoot, bundle: true, @@ -52,10 +58,12 @@ export function createStylesheetBundleOptions( plugins: [ createSassPlugin({ sourcemap: !!options.sourcemap, - // Ensure Sass load paths are absolute based on the workspace root - loadPaths: options.includePaths?.map((includePath) => - path.resolve(options.workspaceRoot, includePath), - ), + loadPaths: includePaths, + inlineComponentData, + }), + createLessPlugin({ + sourcemap: !!options.sourcemap, + includePaths, inlineComponentData, }), createCssResourcePlugin(), diff --git a/yarn.lock b/yarn.lock index 19ffa92d2262..b8c3484a6b40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7": version "0.0.0-fb077c1937f280aac6327969fa3ab50f98b4d25a" - uid ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7 resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" @@ -307,7 +306,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12": version "0.0.0-fb077c1937f280aac6327969fa3ab50f98b4d25a" - uid f4601b680d6d0017880115cc8ee99249c34f0c12 resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -3170,6 +3168,11 @@ "@types/node" "*" log4js "^6.4.1" +"@types/less@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/less/-/less-3.0.3.tgz#f9451dbb9548d25391107d65d6401a0cfb15db92" + integrity sha512-1YXyYH83h6We1djyoUEqTlVyQtCfJAFXELSKW2ZRtjHD4hQ82CC4lvrv5D0l0FLcKBaiPbXyi3MpMsI9ZRgKsw== + "@types/loader-utils@^2.0.0": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-2.0.3.tgz#fbc2337358f8f4a7dc532ac0a3646c74275edf2d" @@ -10107,7 +10110,6 @@ sass@1.58.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From a658464f71fe859944cc1bd828431e08db77e9da Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 2 Feb 2023 09:35:47 -0500 Subject: [PATCH 1340/1388] test(@angular-devkit/build-angular): enable `inlineStyleLanguage` unit tests for esbuild With the additional of JIT mode and initial Less stylesheet support, the unit tests for the `inlineStyleLanguage` build option can now be enabled for the experimental esbuild-based browser application builder. --- .../options/inline-style-language_spec.ts | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-style-language_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-style-language_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-style-language_spec.ts new file mode 100644 index 000000000000..ffbc298413c9 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-style-language_spec.ts @@ -0,0 +1,138 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { concatMap, count, take, timeout } from 'rxjs/operators'; +import { buildEsbuildBrowser } from '../../index'; +import { InlineStyleLanguage } from '../../schema'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "inlineStyleLanguage"', () => { + beforeEach(async () => { + // Setup application component with inline style property + await harness.modifyFile('src/app/app.component.ts', (content) => { + return content + .replace('styleUrls', 'styles') + .replace('./app.component.css', '__STYLE_MARKER__'); + }); + }); + + for (const aot of [true, false]) { + describe(`[${aot ? 'AOT' : 'JIT'}]`, () => { + it('supports SCSS inline component styles when set to "scss"', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + inlineStyleLanguage: InlineStyleLanguage.Scss, + aot, + }); + + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace('__STYLE_MARKER__', '$primary: indianred;\\nh1 { color: $primary; }'), + ); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); + }); + + it('supports Sass inline component styles when set to "sass"', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + inlineStyleLanguage: InlineStyleLanguage.Sass, + aot, + }); + + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace('__STYLE_MARKER__', '$primary: indianred\\nh1\\n\\tcolor: $primary'), + ); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); + }); + + it('supports Less inline component styles when set to "less"', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + inlineStyleLanguage: InlineStyleLanguage.Less, + aot, + }); + + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace('__STYLE_MARKER__', '@primary: indianred;\\nh1 { color: @primary; }'), + ); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/main.js').content.toContain('color: indianred'); + }); + + xit('updates produced stylesheet in watch mode', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + main: 'src/main.ts', + inlineStyleLanguage: InlineStyleLanguage.Scss, + aot, + watch: true, + }); + + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace('__STYLE_MARKER__', '$primary: indianred;\\nh1 { color: $primary; }'), + ); + + const buildCount = await harness + .execute() + .pipe( + timeout(30000), + concatMap(async ({ result }, index) => { + expect(result?.success).toBe(true); + + switch (index) { + case 0: + harness.expectFile('dist/main.js').content.toContain('color: indianred'); + harness.expectFile('dist/main.js').content.not.toContain('color: aqua'); + + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace( + '$primary: indianred;\\nh1 { color: $primary; }', + '$primary: aqua;\\nh1 { color: $primary; }', + ), + ); + break; + case 1: + harness.expectFile('dist/main.js').content.not.toContain('color: indianred'); + harness.expectFile('dist/main.js').content.toContain('color: aqua'); + + await harness.modifyFile('src/app/app.component.ts', (content) => + content.replace( + '$primary: aqua;\\nh1 { color: $primary; }', + '$primary: blue;\\nh1 { color: $primary; }', + ), + ); + break; + case 2: + harness.expectFile('dist/main.js').content.not.toContain('color: indianred'); + harness.expectFile('dist/main.js').content.not.toContain('color: aqua'); + harness.expectFile('dist/main.js').content.toContain('color: blue'); + break; + } + }), + take(3), + count(), + ) + .toPromise(); + + expect(buildCount).toBe(3); + }); + }); + } + }); +}); From 7ee5ff5c4b9c75ddf36720ca33ff21a84c23451b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 7 Feb 2023 20:18:39 +0000 Subject: [PATCH 1341/1388] build: lock file maintenance --- yarn.lock | 210 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 108 insertions(+), 102 deletions(-) diff --git a/yarn.lock b/yarn.lock index b8c3484a6b40..47691e0d7504 100644 --- a/yarn.lock +++ b/yarn.lock @@ -630,9 +630,9 @@ js-tokens "^4.0.0" "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.19.3", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.13.tgz#ddf1eb5a813588d2fb1692b70c6fce75b945c088" - integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw== + version "7.20.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" + integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -908,9 +908,9 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.14.tgz#2f5025f01713ba739daf737997308e0d29d1dd75" - integrity sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ== + version "7.20.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz#3e1b2aa9cbbe1eb8d644c823141a9c5c2a22392d" + integrity sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -3072,9 +3072,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.4.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.10.tgz#19731b9685c19ed1552da7052b6f668ed7eb64bb" - integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== + version "8.21.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.0.tgz#21724cfe12b96696feafab05829695d4d7bd7c48" + integrity sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -3089,7 +3089,7 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.31": +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.17.33" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== @@ -3099,12 +3099,12 @@ "@types/range-parser" "*" "@types/express@*", "@types/express@^4.16.0", "@types/express@^4.17.13": - version "4.17.16" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.16.tgz#986caf0b4b850611254505355daa24e1b8323de8" - integrity sha512-LkKpqRZ7zqXJuvoELakaFYuETHjZkSol8EV6cNnyishutDBCCdv6+dsKPbKkCcIk57qRphOLY5sEgClw1bO3gA== + version "4.17.17" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" + integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.31" + "@types/express-serve-static-core" "^4.17.33" "@types/qs" "*" "@types/serve-static" "*" @@ -3222,9 +3222,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "18.11.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== + version "18.13.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" + integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== "@types/node@12.20.24": version "12.20.24" @@ -3494,9 +3494,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.20": - version "17.0.20" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.20.tgz#107f0fcc13bd4a524e352b41c49fe88aab5c54d5" - integrity sha512-eknWrTHofQuPk2iuqDm1waA7V6xPlbgBoaaXEgYkClhLOnB0TtbW+srJaOToAgawPxPlHQzwypFA2bhZaUGP5A== + version "17.0.22" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" + integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== dependencies: "@types/yargs-parser" "*" @@ -4616,9 +4616,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: - version "1.0.30001449" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz#a8d11f6a814c75c9ce9d851dc53eb1d1dfbcd657" - integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== + version "1.0.30001450" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz#022225b91200589196b814b51b1bbe45144cf74f" + integrity sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew== caseless@~0.12.0: version "0.12.0" @@ -5428,9 +5428,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.284: - version "1.4.284" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + version "1.4.288" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.288.tgz#bbce00eb03c1819fe3d0d0d861374b76c53f7507" + integrity sha512-8s9aJf3YiokIrR+HOQzNOGmEHFXVUQzXM/JaViVvKdCkNUjS+lEa/uT7xw3nDVG/IgfxiIwUGkwJ6AR1pTpYsQ== emoji-regex@^8.0.0: version "8.0.0" @@ -5461,15 +5461,15 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -engine.io-client@~6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.2.3.tgz#a8cbdab003162529db85e9de31575097f6d29458" - integrity sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw== +engine.io-client@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.4.0.tgz#88cd3082609ca86d7d3c12f0e746d12db4f47c91" + integrity sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" engine.io-parser "~5.0.3" - ws "~8.2.3" + ws "~8.11.0" xmlhttprequest-ssl "~2.0.0" engine.io-parser@~5.0.3: @@ -5477,10 +5477,10 @@ engine.io-parser@~5.0.3: resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45" integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw== -engine.io@~6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.1.tgz#e3f7826ebc4140db9bbaa9021ad6b1efb175878f" - integrity sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA== +engine.io@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.0.tgz#de27f79ecb58301171aea7956f3f6f4fa578490a" + integrity sha512-OgxY1c/RuCSeO/rTr8DIFXx76IzUUft86R7/P7MMbbkuzeqJoTNw2lmeD91IyGz41QYleIIjWeMJGgug043sfQ== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -5491,7 +5491,7 @@ engine.io@~6.2.1: cors "~2.8.5" debug "~4.3.1" engine.io-parser "~5.0.3" - ws "~8.2.3" + ws "~8.11.0" enhanced-resolve@^5.10.0: version "5.12.0" @@ -6303,9 +6303,9 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: minipass "^3.0.0" fs-minipass@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.0.tgz#8e6ed2b4e1ba44077cae69971393068a1bbeeed6" - integrity sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.1.tgz#853809af15b6d03e27638d1ab6432e6b378b085d" + integrity sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw== dependencies: minipass "^4.0.0" @@ -6687,7 +6687,7 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-cache-semantics@^4.1.0: +http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== @@ -6842,11 +6842,11 @@ ignore-walk@^5.0.1: minimatch "^5.0.1" ignore-walk@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.0.tgz#1dd41c6eb4f661a49750a510a10c2cd934583fd8" - integrity sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg== + version "6.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.1.tgz#f05e232992ebf25fef13613668fea99857e7e8cf" + integrity sha512-/c8MxUAqpRccq+LyDOecwF+9KqajueJHh8fz7g3YqjMZt+NSfJzx05zrKiXwa2sKwFCzaiZ5qUVfRj0pmxixEA== dependencies: - minimatch "^5.0.1" + minimatch "^6.1.6" ignore@^5.2.0: version "5.2.4" @@ -6869,9 +6869,9 @@ immutable@^3: integrity sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg== immutable@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.2.tgz#2da9ff4384a4330c36d4d1bc88e90f9e0b0ccd16" - integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og== + version "4.2.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" @@ -7041,9 +7041,9 @@ is-boolean-object@^1.1.0: has-tostringtag "^1.0.0" is-builtin-module@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" - integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== dependencies: builtin-modules "^3.3.0" @@ -8051,19 +8051,18 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: ssri "^9.0.0" make-fetch-happen@^11.0.0: - version "11.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz#a880370fb2452d528a5ca40b2d6308999773ab17" - integrity sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w== + version "11.0.3" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz#ed83dd3685b97f75607156d2721848f6eca561b9" + integrity sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA== dependencies: agentkeepalive "^4.2.1" cacache "^17.0.0" - http-cache-semantics "^4.1.0" + http-cache-semantics "^4.1.1" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" lru-cache "^7.7.1" minipass "^4.0.0" - minipass-collect "^1.0.2" minipass-fetch "^3.0.0" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" @@ -8180,6 +8179,13 @@ minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" +minimatch@^6.1.6, minimatch@~6.1.0: + version "6.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.6.tgz#5384bb324be5b5dae12a567c03d22908febd0ddd" + integrity sha512-6bR3UIeh/DF8+p6A9Spyuy67ShOq42rOkHWi7eUe3Ua99Zo5lZfGC6lJJWkeoK4k9jQFT3Pl7czhTXimG2XheA== + dependencies: + brace-expansion "^2.0.1" + minimatch@~3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" @@ -8187,13 +8193,6 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@~6.1.0: - version "6.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.6.tgz#5384bb324be5b5dae12a567c03d22908febd0ddd" - integrity sha512-6bR3UIeh/DF8+p6A9Spyuy67ShOq42rOkHWi7eUe3Ua99Zo5lZfGC6lJJWkeoK4k9jQFT3Pl7czhTXimG2XheA== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" @@ -8265,11 +8264,9 @@ minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6, minipass@^3.3.5: yallist "^4.0.0" minipass@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.0.tgz#7cebb0f9fa7d56f0c5b17853cbe28838a8dbbd3b" - integrity sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw== - dependencies: - yallist "^4.0.0" + version "4.0.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.2.tgz#26fc3364d5ea6cb971c6e5259eac67a0887510d1" + integrity sha512-4Hbzei7ZyBp+1aw0874YWpKOubZd/jc53/XU+gkYry1QV+VvrbO8icLM5CUtm4F0hyXn85DXYKEMIS26gitD3A== minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" @@ -8443,13 +8440,20 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@2.6.8, node-fetch@^2.2.0: +node-fetch@2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== dependencies: whatwg-url "^5.0.0" +node-fetch@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" + node-forge@^1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -8477,9 +8481,9 @@ node-gyp@^9.0.0, node-gyp@^9.1.0: which "^2.0.2" node-releases@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" - integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== nopt@^4.0.1: version "4.0.3" @@ -10009,9 +10013,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.12.0.tgz#813d88ec11e36108da788fc471b3c81b365a7c29" - integrity sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg== + version "3.14.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.14.0.tgz#f5925255f3b6e8de1dba3916d7619c7da5708d95" + integrity sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q== optionalDependencies: fsevents "~2.3.2" @@ -10090,7 +10094,7 @@ sass-loader@13.2.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.57.1, sass@^1.55.0: +sass@1.57.1: version "1.57.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5" integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== @@ -10099,7 +10103,7 @@ sass@1.57.1, sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.58.0: +sass@1.58.0, sass@^1.55.0: version "1.58.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc" integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== @@ -10361,19 +10365,21 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socket.io-adapter@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" - integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== +socket.io-adapter@~2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" + integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA== + dependencies: + ws "~8.11.0" socket.io-client@^4.4.1: - version "4.5.4" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.4.tgz#d3cde8a06a6250041ba7390f08d2468ccebc5ac9" - integrity sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g== + version "4.6.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.6.0.tgz#449255d2e0fe429f5ab47ecd3e3b1716b0039c13" + integrity sha512-2XOp18xnGghUICSd5ziUIS4rB0dhr6S8OvAps8y+HhOjFQlqGcf+FIh6fCIsKKZyWFxJeFPrZRNPGsHDTsz1Ug== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" - engine.io-client "~6.2.3" + engine.io-client "~6.4.0" socket.io-parser "~4.2.1" socket.io-parser@~4.2.1: @@ -10385,15 +10391,15 @@ socket.io-parser@~4.2.1: debug "~4.3.1" socket.io@^4.4.1: - version "4.5.4" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.4.tgz#a4513f06e87451c17013b8d13fdfaf8da5a86a90" - integrity sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ== + version "4.6.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.6.0.tgz#82ebfd7652572872e10dbb19533fc7cb930d0bc3" + integrity sha512-b65bp6INPk/BMMrIgVvX12x3Q+NqlGqSlTuvKQWt0BUJ3Hyy3JangBl7fEoWZTXbOKlCqNPbQ6MbWgok/km28w== dependencies: accepts "~1.3.4" base64id "~2.0.0" debug "~4.3.2" - engine.io "~6.2.1" - socket.io-adapter "~2.4.0" + engine.io "~6.4.0" + socket.io-adapter "~2.5.2" socket.io-parser "~4.2.1" sockjs@^0.3.24: @@ -10806,7 +10812,7 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" -terser@5.16.2, terser@^5.14.1: +terser@5.16.2: version "5.16.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.2.tgz#8f495819439e8b5c150e7530fc434a6e70ea18b2" integrity sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg== @@ -10816,7 +10822,7 @@ terser@5.16.2, terser@^5.14.1: commander "^2.20.0" source-map-support "~0.5.20" -terser@5.16.3: +terser@5.16.3, terser@^5.14.1: version "5.16.3" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b" integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q== @@ -11059,16 +11065,11 @@ typed-assert@^1.0.8: resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== -typescript@4.9.5: +typescript@4.9.5, typescript@^4.6.2, typescript@~4.9.0: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -typescript@^4.6.2, typescript@~4.9.0: - version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== - typescript@~4.8.4: version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" @@ -11275,11 +11276,16 @@ validate-npm-package-name@^5.0.0: dependencies: builtins "^5.0.0" -validator@13.7.0, validator@^13.7.0: +validator@13.7.0: version "13.7.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== +validator@^13.7.0: + version "13.9.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.9.0.tgz#33e7b85b604f3bbce9bb1a05d5c3e22e1c2ff855" + integrity sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA== + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -11672,10 +11678,10 @@ ws@>=8.7.0, ws@^8.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== -ws@~8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" - integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== +ws@~8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== xhr2@^0.2.0: version "0.2.1" From 4c69b278167ad8b75d992d5ba3cf9fddbb00dee6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 8 Feb 2023 13:23:28 +0000 Subject: [PATCH 1342/1388] build: update all non-major dependencies --- WORKSPACE | 4 ++-- package.json | 2 +- packages/angular/cli/package.json | 2 +- packages/angular_devkit/build_angular/package.json | 2 +- yarn.lock | 9 +++++++++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index be5d21f9fc19..8b7e83aa0374 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -32,8 +32,8 @@ build_bazel_rules_nodejs_dependencies() http_archive( name = "rules_pkg", - sha256 = "eea0f59c28a9241156a47d7a8e32db9122f3d50b505fae0f33de6ce4d9b61834", - urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.8.0/rules_pkg-0.8.0.tar.gz"], + sha256 = "8c20f74bca25d2d442b327ae26768c02cf3c99e93fad0381f32be9aab1967675", + urls = ["https://github.com/bazelbuild/rules_pkg/releases/download/0.8.1/rules_pkg-0.8.1.tar.gz"], ) load("@bazel_tools//tools/sh:sh_configure.bzl", "sh_configure") diff --git a/package.json b/package.json index 65f461a93b83..332e45b5f30b 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,7 @@ "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", - "open": "8.4.0", + "open": "8.4.1", "ora": "5.4.1", "pacote": "15.0.8", "parse5-html-rewriting-stream": "6.0.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 9031cad55c9a..44748efabd16 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -33,7 +33,7 @@ "jsonc-parser": "3.2.0", "npm-package-arg": "10.1.0", "npm-pick-manifest": "8.0.1", - "open": "8.4.0", + "open": "8.4.1", "ora": "5.4.1", "pacote": "15.0.8", "resolve": "1.22.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 6a14cb441808..e9462b8171a2 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -43,7 +43,7 @@ "loader-utils": "3.2.1", "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", - "open": "8.4.0", + "open": "8.4.1", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", diff --git a/yarn.lock b/yarn.lock index 47691e0d7504..d75c6e588c27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8882,6 +8882,15 @@ open@8.4.0, open@^8.0.9: is-docker "^2.1.1" is-wsl "^2.2.0" +open@8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.1.tgz#2ab3754c07f5d1f99a7a8d6a82737c95e3101cff" + integrity sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + opener@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" From dd8c66b7125869b50b843d97161f065213a25e60 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 8 Feb 2023 12:30:52 -0800 Subject: [PATCH 1343/1388] docs: release notes for the v15.1.5 release --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef5a3a90748e..607ab9a28b94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ + + +# 15.1.5 (2023-02-08) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | +| [b8bbe9688](https://github.com/angular/angular-cli/commit/b8bbe9688e0e684245636e7d58d50c51719039c8) | fix | error if Angular compiler is used in a schematic | +| [fabbb8a93](https://github.com/angular/angular-cli/commit/fabbb8a936f3b3b1cee8ea5cbdb7bb7832cb02a7) | fix | only set `DebugView` when `NG_DEBUG` is passed | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [499173b5d](https://github.com/angular/angular-cli/commit/499173b5d197f14377203b92b49ff3cbbf55b260) | fix | remove bootstrapping wrapping in universal schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | +| [e87134fe9](https://github.com/angular/angular-cli/commit/e87134fe94831df76698fe0e90fe556da0011511) | fix | build optimizer support for spec-compliant downlevel class properties | +| [d80adde2f](https://github.com/angular/angular-cli/commit/d80adde2fec53e6513983a89dd194a35c426b8aa) | fix | do not fail compilation when spec pattern does not match | +| [11be502e7](https://github.com/angular/angular-cli/commit/11be502e7cc2544371d55c8b3d32b7bcbbf8066e) | fix | fix support of Safari TP versions | +| [14e317d85](https://github.com/angular/angular-cli/commit/14e317d85429c83e6285c5cec4a1c4483d8a1c8f) | fix | load polyfills and runtime as scripts instead of modules | + +## Special Thanks + +Alan Agius, Charles Lyding, Kristiyan Kostadinov and Ricardo + + + # 15.2.0-next.3 (2023-02-01) From 6d0eb65eb1b8b36e89b53cbb41d19851eb41f840 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 8 Feb 2023 14:12:29 -0800 Subject: [PATCH 1344/1388] release: cut the v15.2.0-next.4 release --- CHANGELOG.md | 34 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 607ab9a28b94..6429ee552427 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ + + +# 15.2.0-next.4 (2023-02-08) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | +| [234f265d1](https://github.com/angular/angular-cli/commit/234f265d161796a7cdfc2edbaa7e9a50d99a4863) | fix | error if Angular compiler is used in a schematic | +| [7bcb19cdd](https://github.com/angular/angular-cli/commit/7bcb19cddb676c650b1592aae81eceb66e8511fe) | fix | only set `DebugView` when `NG_DEBUG` is passed | + +### @schematics/angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | +| [88fddc050](https://github.com/angular/angular-cli/commit/88fddc05039ee92d60267cf565b19ae1b56ad633) | fix | remove bootstrapping wrapping in universal schematic | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | +| [01b3bcf89](https://github.com/angular/angular-cli/commit/01b3bcf898108f9b879da4a791fa2a21c6d9f7c5) | feat | add Less stylesheet support to experimental esbuild-based builder | +| [8cf0d17fb](https://github.com/angular/angular-cli/commit/8cf0d17fb1b39ea7bbd1c751995a56de3df45114) | feat | support JIT compilation with esbuild | +| [bfc0faced](https://github.com/angular/angular-cli/commit/bfc0facedda1150177b84fbc82f195678ce00b1e) | fix | build optimizer support for spec-compliant downlevel class properties | +| [d9c697b2b](https://github.com/angular/angular-cli/commit/d9c697b2bc284e432c9c1ab76b1179789e253c92) | fix | do not fail compilation when spec pattern does not match | +| [df7c7f430](https://github.com/angular/angular-cli/commit/df7c7f430c5f4ec2b9b4d2f316ed9b4a8e2a5772) | fix | fix support of Safari TP versions | +| [bf3be56db](https://github.com/angular/angular-cli/commit/bf3be56db8b3a1ef8a0e02dfc5de914651d8ec93) | fix | load polyfills and runtime as scripts instead of modules | + +## Special Thanks + +Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Kristiyan Kostadinov and Ricardo + + + # 15.1.5 (2023-02-08) diff --git a/package.json b/package.json index 332e45b5f30b..7d14363c7906 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0-next.3", + "version": "15.2.0-next.4", "private": true, "description": "Software Development Kit for Angular", "bin": { From 56f3ff5258a5b038fc89b9a9ba1f20073424e8c8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 9 Feb 2023 15:18:15 +0000 Subject: [PATCH 1345/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 32 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++-- yarn.lock | 142 +++++++++--------- 8 files changed, 111 insertions(+), 109 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 0d103694018f..1481781170ed 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@fb077c1937f280aac6327969fa3ab50f98b4d25a + - uses: angular/dev-infra/github-actions/branch-manager@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 7d47dfb5f4cc..c782036edfb0 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@fb077c1937f280aac6327969fa3ab50f98b4d25a + - uses: angular/dev-infra/github-actions/commit-message-based-labels@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@fb077c1937f280aac6327969fa3ab50f98b4d25a + - uses: angular/dev-infra/github-actions/post-approval-changes@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 4b4fc91424ff..f7ac51626a90 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@fb077c1937f280aac6327969fa3ab50f98b4d25a + - uses: angular/dev-infra/github-actions/feature-request@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 6966a0cb4a70..d9bdce65fa02 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@fb077c1937f280aac6327969fa3ab50f98b4d25a + - uses: angular/dev-infra/github-actions/lock-closed@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 7d14363c7906..29fa050b6ef2 100644 --- a/package.json +++ b/package.json @@ -65,22 +65,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.2.0-next.3", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7", - "@angular/cdk": "15.1.3", - "@angular/common": "15.2.0-next.3", - "@angular/compiler": "15.2.0-next.3", - "@angular/compiler-cli": "15.2.0-next.3", - "@angular/core": "15.2.0-next.3", - "@angular/forms": "15.2.0-next.3", - "@angular/localize": "15.2.0-next.3", - "@angular/material": "15.1.3", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12", - "@angular/platform-browser": "15.2.0-next.3", - "@angular/platform-browser-dynamic": "15.2.0-next.3", - "@angular/platform-server": "15.2.0-next.3", - "@angular/router": "15.2.0-next.3", - "@angular/service-worker": "15.2.0-next.3", + "@angular/animations": "15.2.0-next.4", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07", + "@angular/cdk": "15.1.4", + "@angular/common": "15.2.0-next.4", + "@angular/compiler": "15.2.0-next.4", + "@angular/compiler-cli": "15.2.0-next.4", + "@angular/core": "15.2.0-next.4", + "@angular/forms": "15.2.0-next.4", + "@angular/localize": "15.2.0-next.4", + "@angular/material": "15.1.4", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75", + "@angular/platform-browser": "15.2.0-next.4", + "@angular/platform-browser-dynamic": "15.2.0-next.4", + "@angular/platform-server": "15.2.0-next.4", + "@angular/router": "15.2.0-next.4", + "@angular/service-worker": "15.2.0-next.4", "@babel/core": "7.20.12", "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index e43d3540a2cc..d5174dc3a21d 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.3", - "@angular/compiler-cli": "15.1.3", + "@angular/compiler": "15.1.4", + "@angular/compiler-cli": "15.1.4", "typescript": "4.9.5", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index e8a803045870..acc9be76949e 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#5ff25fd5121f6a88ca54b5c1505daab0fc867058", - "@angular/cdk": "github:angular/cdk-builds#691f7df70ff5ebe82c8dee7119a31b31e8348489", - "@angular/common": "github:angular/common-builds#2e7b49fb79884b572c6d2e0e41f408558df5e29a", - "@angular/compiler": "github:angular/compiler-builds#225c8864f1ef5ffb7a6a27d15176c90a9f459d4b", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#2c2a73682c4ba05422e23b8783a67ef625671579", - "@angular/core": "github:angular/core-builds#e0d805d4a2e6e62a6a8665ce9ac145a3b9d21e22", - "@angular/forms": "github:angular/forms-builds#90a69d87cba8c7babd34a18761bb77a7d6aa1353", - "@angular/language-service": "github:angular/language-service-builds#e21472ef98146ce80fe10a714a1153c0b91bea03", - "@angular/localize": "github:angular/localize-builds#cf718f3c12f1f584010b8e3c75d4929d6d297e33", - "@angular/material": "github:angular/material-builds#91f3ec26cec7effc7b97aead874119c071c75414", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#83eb507a8044e9fd2bbdab62b38b2fea185b36d1", - "@angular/platform-browser": "github:angular/platform-browser-builds#879ef52c702cf5286696cac16af615dbc7523eab", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#b60ba49e53ba0c17b500e6183a1b90cfdc4898dc", - "@angular/platform-server": "github:angular/platform-server-builds#cfe6cfea6a6bf86bc88a9166dcc1e879853687f1", - "@angular/router": "github:angular/router-builds#b2ebd6f634416da893ec919e186d7cb2bfd88bdf", - "@angular/service-worker": "github:angular/service-worker-builds#82f606225c211f8493423db8df141c498db1b7be" + "@angular/animations": "github:angular/animations-builds#b919d8e28acc42839d9cdc92a8a0441058a05e5a", + "@angular/cdk": "github:angular/cdk-builds#70c532cac8532d13762aaf57501c6e86332be29c", + "@angular/common": "github:angular/common-builds#6900a575232430a62f7399de82108b8cce718461", + "@angular/compiler": "github:angular/compiler-builds#a84f3b722334c4862c8f1e66408e94021b459bf9", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#cc9fd4325b1d3a832b7dfe1680fcf987e74761e3", + "@angular/core": "github:angular/core-builds#1d70e3fdee3d7ef8837d0aee9056e9213b63b20e", + "@angular/forms": "github:angular/forms-builds#12daf06e4455bb51e34098eb697df182354df757", + "@angular/language-service": "github:angular/language-service-builds#8c0fb390957724c08835bdd1a058c05f32cdd36a", + "@angular/localize": "github:angular/localize-builds#ac762c4fb9970fcf01b92c721bb2372521ef477a", + "@angular/material": "github:angular/material-builds#66d3823299017918f09f8de0cdf7abcec8d40c83", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a1456c85dd0b106799c93429636e22c485352537", + "@angular/platform-browser": "github:angular/platform-browser-builds#b02757ce5a409c0af0079ccd4d848bef4bd3b22b", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6709be7259e4ed75d74772bf99396d40135c2fb7", + "@angular/platform-server": "github:angular/platform-server-builds#703d48c8e030a851426cea969ee226ef99c66993", + "@angular/router": "github:angular/router-builds#fa065482f4907113f9d7a78ee69c7b80cb626773", + "@angular/service-worker": "github:angular/service-worker-builds#2657adf4bc9809ffbf26b9af0aa1cb60bf88171d" } } diff --git a/yarn.lock b/yarn.lock index d75c6e588c27..e778c08fb087 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.3.tgz#bd1be668e2f2bf1524ab8fe34302bbd3cd1857ea" - integrity sha512-Jn8zchcJhxnRT5NzvAnyRaEvKKNGHAi5d9zQlStzwEmsPjakwoBJg/3jGEDMlgyRMsswkV982uGDjnlsdlJszw== +"@angular/animations@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.4.tgz#4dcd9197028cc45e29bdcddcef84fc9cbc3b4532" + integrity sha512-0/fRfZtLTiEz/B7rUX51r81ynSlMSWvMFVJbIlfSIcik7wNoNVC5F+tsMga3hjprBWCBSy7xzy4tb+1km4bO8Q== dependencies: tslib "^2.3.0" @@ -119,9 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7": - version "0.0.0-fb077c1937f280aac6327969fa3ab50f98b4d25a" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#ffd5dec0bf78a2c8ff068482ad3c8434c21b54c7" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07": + version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" + uid f7d26a0b0d6bd2043f2d32c2a99db903539d0c07 + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" "@angular/benchpress" "0.3.0" @@ -158,26 +159,26 @@ uuid "^9.0.0" yargs "^17.0.0" -"@angular/cdk@15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.3.tgz#71b5c9e7b7ef0ba0c648278e34536e0f8d06b7b7" - integrity sha512-FRb1ZirybQGVlRx34vsnkIyy4WHJlrRg2mwPeJ90b0DzIWuIZIiPYxxR2bAi/Si1IjnK8YBdacd5DXPdrW1jyw== +"@angular/cdk@15.1.4": + version "15.1.4" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-15.1.4.tgz#6b7ee7d3cfda89200f69ddad8efa5a9b5d9f906b" + integrity sha512-uCYrquUYakm+ym3l/0GG2HtyEtzJlr3eO3T8Oezvl4HcNB0jlcN80ut5SwQC0KcgiWDuP1BVv8PGinD2vearJg== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.3.tgz#5fa1cfc09b1e11df2408824cd41d532c20f3df24" - integrity sha512-3pVcv3TL2oyKrhoeczxYQMxe0LeZ6/iABqDGUuIVyIFlFDJr/ugTntUvzvo2lM7kL4jRKKgfMaafCk2MhGOAtA== +"@angular/common@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.4.tgz#94fca48eb60746753ab2976d47b451ab3d5ac968" + integrity sha512-I3DTMhiM4eB9au2+E3oOyPsK+T2nRo1ensfpvFYxLmuxTHD8IGH18Kz8b6H3oEieI+KSLbnHSVYJWGsL6Wj3fw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.3.tgz#c45dd2a50076af836b4f49de903a884048d79918" - integrity sha512-z5bGdQQcStXWPpb5vztqqUOET+vxw+GUFtfktYxV40kE2d1zHLZh93AGEnM1NnBaOz+9NZrX+dWoEyWmv/T2LQ== +"@angular/compiler-cli@15.1.4": + version "15.1.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.4.tgz#76ba88c91d939f728a5700fa387c1266b1c1e1f0" + integrity sha512-FupMkr69YLZcjvPa7Y79ua6VvbzNroPUTDexEpqYkmnyKK8fNSHwTEOCz4IQbUeOxaZkRP5pHAI87foZigNPCA== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -190,10 +191,10 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler-cli@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.3.tgz#c79de3d10607df6957012e8322218c28c1772334" - integrity sha512-utWQTLikW94QA7x1Eo6CLC+mT6oIKPWnV2rEKuLjt8ckonZxQ0FRnl5EHZTD/U5dwhRRs4E1TBmzGAGaX3qQrA== +"@angular/compiler-cli@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.4.tgz#6d11d02c443504d53ee7edc8c83baf718e8efbac" + integrity sha512-DaeU04sb6GpLgXsytmqarWwiScOZkFFFApDWcYKOhamDRgw636CALrD+QgHiNJw0rc6GQtcs5X/S3MlCbQLc3Q== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -206,24 +207,24 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.3.tgz#7972d7dec2462e3a2a9fa256902363a716ab2f8c" - integrity sha512-CxEpm5Z3EpjeGNoWKtcHOrf2IQTSckpAEFwsRrADP2nqcXXYp/IjIHi+PUTjLhjrOEbukH9zreHsL5BoIQhgUQ== +"@angular/compiler@15.1.4": + version "15.1.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.4.tgz#35ba0156eae24b407e6e21bfd4af98cba7887a97" + integrity sha512-b2jH336pl647IKgMYzsmJ/2Qpw6JqlP/OeCsOnAJ55LIQa37w+bnuTpdPh4pk8qV9h735rV9NXNO5t3pQFOo3Q== dependencies: tslib "^2.3.0" -"@angular/compiler@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.3.tgz#7a3cd5be16afebffe409ea21c06175fd7e605bad" - integrity sha512-t3b8VsAsdv8zZgt1nQE94/iLXng+xWqoFT9jlWzKrKaS/jMuvl9oYGLhoG5BviN/L2LBeMX3MoDsU7UsKkPydw== +"@angular/compiler@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.4.tgz#b77998a2964b56b05f900de102a9581d87f1f765" + integrity sha512-cVVo0hrQxfcQJRAZ/UA76kum+LGuXnca/GekzPpCtCsJ2tUozbuc/2xhWoIdW2ythfOTH9XdJBOKm9Wct+JG8A== dependencies: tslib "^2.3.0" -"@angular/core@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.3.tgz#462ea25e4407b26c92589779e3cf5788b6064edd" - integrity sha512-YXstoNNAh0uJmis4yrsxz4PmJ5c6Atl4WDlsHqxce+OLsquvHZxczQfDwaJ1ZW6sn0x41bOTTpNSxjUb0uCBEg== +"@angular/core@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.4.tgz#651dc6f519b8430d0bd611565738dae48999ec44" + integrity sha512-LUnnK9LtM0rrV7F++Yhh8B7GU84Y064ooP+uD68CsJKHghlIiPC4mmJDFGwML7SbK7eSTMEoTsCb4YrwhG/YOQ== dependencies: tslib "^2.3.0" @@ -234,26 +235,26 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.3.tgz#ecfac275f6ee8bdfa8468a2b0fc8ed1b8ed7581b" - integrity sha512-mPGIPaGGtZ2gbbVTYCp71DeHfqJOtBTGVKXRh8/2AA2pFbS9Uhnce7BnAc9Q791ZqBL6Y7kd73yPLKu82ijjUw== +"@angular/forms@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.4.tgz#43bf8b6254528da9fa7042258a04c1b0cfa8ecec" + integrity sha512-evv8Y9bNoqvVV4Q444S4trgUU/lLsa7uKt0Y9XaxB8knKoeJb/q1HcyDVMJLWQsXy/tL4j2C6Kko7vwqZ7OHjQ== dependencies: tslib "^2.3.0" -"@angular/localize@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.3.tgz#ec406055bf5cfffa76f0c91c82cb6e446cf6689e" - integrity sha512-9eSclllUdzvrKGTWbeOwOwe/rt5jfGwbdk3wK3BYKi53xFveJ1NLzwapI5pA3L+IRT8McBJQBh1W7/TwJnY2GA== +"@angular/localize@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.4.tgz#417b18bb1b8c20893c5a92e7dce7c84fc7f05e68" + integrity sha512-HtdE4Y9eDg7tOfb6T/HKlbbMvESGax9WzGMsdeLW+zJ4oH5JJSfniF6cbg9gzt1FBgh4H51urNpr11lHm2MLUw== dependencies: "@babel/core" "7.19.3" glob "8.1.0" yargs "^17.2.1" -"@angular/material@15.1.3": - version "15.1.3" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.3.tgz#a7346e45b15d03fc63dd7fb7afba30151a4d46f1" - integrity sha512-Jj17GwvL1PsIVPiRBRQQRRvTQb5TlmMP+49JgIWTSTF03G7F9guoYapoYzuufK7dWA3Ga0KzDPKfjUmcnBg+Fw== +"@angular/material@15.1.4": + version "15.1.4" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-15.1.4.tgz#ba61aee1b7cdcbb8d257262ec57e3e7caa79f8f0" + integrity sha512-mepKRVzO3v4BxGkzkwO1PZjWTdLDbqkydmmiEYkzPOUk9I3tElzjYlybB0xuY6A5CIdXU9Mdc+AaUZWng2yN/g== dependencies: "@material/animation" "15.0.0-canary.684e33d25.0" "@material/auto-init" "15.0.0-canary.684e33d25.0" @@ -304,47 +305,48 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12": - version "0.0.0-fb077c1937f280aac6327969fa3ab50f98b4d25a" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f4601b680d6d0017880115cc8ee99249c34f0c12" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75": + version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" + uid "8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.3.tgz#5d3fb48b77092f58b1b9eb0d69157fb7f98d5479" - integrity sha512-Dx1MBeW1F1COgHzhCs1yFHE5dvn5pggFAK8i+7w7iBJLQcLvY1pGMeMNa48zjWRCxhSO/Yj9gNWPF5qASFkdqQ== +"@angular/platform-browser-dynamic@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.4.tgz#8f095c09c8f354b4bd50450187b8483894144519" + integrity sha512-Pc1JbmDEbsuXDAR0i8+ShZeM+ME5bGjZ0+OgJTBB+sGR8z8pPTbNzQmAdJ3ftIyjxR7JgEvEXmhoHNgzJ9GeJA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.3.tgz#ea9c6b92b6c4182eb1f068ca8ebaf977c6fd2e96" - integrity sha512-1VPPKZbg6qDiaToRG802TaXHM4nJagfuNXQ5jt1ZAdLo5++SNwrM52H6nLT6/WOc85BNcrMbwP8XF6/3rGd+Dg== +"@angular/platform-browser@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.4.tgz#fd03fdb0b9accfb20a1b3783e752718943481bf3" + integrity sha512-C7fYQtFSUzYrd2b+4ro4FMLU4qHgCUPJGiU6BTNAUiTilSZ4pcts4w9QkFOib51HM+ioiBvnwZfRIzr0IEmlIw== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.3.tgz#c5f69c7c800f5bcdfe51069d0a9d08d62f03cb44" - integrity sha512-rTzaldL6TzlSVZZoVBaDAKHQPAQ0jHDWmHXEy2zBb31mJ8efl0HcXtWD1ivu4awCkSyNS7Y2KNukdOrstmPeQw== +"@angular/platform-server@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.4.tgz#f2db5df45094a8244624be65b14f178d5d126fed" + integrity sha512-dRgup1JhHHQXYO87iShgtyGk7g/HPNFFV+kWwUU033X9UE6lUHs72V+1MDg7M6stvKggTOmypKd3ZzREGG0oEw== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.3.tgz#cf3cd915ce9a4e8829235c1ff44a419a4f937b3c" - integrity sha512-kGEYi8zyHbuqR3hunUvaW0xQ81quObSHQm98XGfaUML/xwQyM95R8LRNhBNSz6UMPK9E36nZPFHl+1KGnciq6g== +"@angular/router@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.4.tgz#ba1db82c0485714463732f1921bdb48b8ef73c28" + integrity sha512-q85AoYN2Eirn32ctyYIsQ6/3Ng1wyCJ1WKhuzM/GNXoO7TV1wGG7K6hD6V3w6hD82fnvSa/ByrXls/EyhnA4Uw== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.2.0-next.3": - version "15.2.0-next.3" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.3.tgz#44480b879da7f118c0670989c41e329683e50664" - integrity sha512-2M3v7qjsB0GR+/7hEaR6ti1jOhaXuBCF8N8eErJKWAQx4xv3JTaT38oUyZ91GqoLVE+MnTAzjB9b+XNhHaYX4g== +"@angular/service-worker@15.2.0-next.4": + version "15.2.0-next.4" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.4.tgz#2ecf7dcbcbe9ef53076aac73f8a5625e7b41bf94" + integrity sha512-QaS8hO3dz6FoxCXFAhVnWLRhT2Cwrz8vVzWUuAfDXThHnA+sIFIny/vKKca1j2emaXgP06FlMmC36VRrEKWVDQ== dependencies: tslib "^2.3.0" From 3c81bde9227bf862c78c9e6fb8af07e6b972c153 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 9 Feb 2023 06:14:54 +0000 Subject: [PATCH 1346/1388] build: update github/codeql-action action to v2.2.3 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 47f16780c319..17b53861168f 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@39d8d7e78f59cf6b40ac3b9fbebef0c753d7c9e5 # v2.2.2 + uses: github/codeql-action/upload-sarif@8775e868027fa230df8586bdf502bbd9b618a477 # v2.2.3 with: sarif_file: results.sarif From 77aa04ceadb5be15aceae89a3d4780ff5657f1c6 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 9 Feb 2023 16:17:53 +0000 Subject: [PATCH 1347/1388] build: update all non-major dependencies --- WORKSPACE | 6 +- package.json | 2 +- yarn.lock | 168 +++++---------------------------------------------- 3 files changed, 19 insertions(+), 157 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 8b7e83aa0374..69140e06c5c2 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -7,10 +7,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "bazel_skylib", - sha256 = "f24ab666394232f834f74d19e2ff142b0af17466ea0c69a3f4c276ee75f6efce", + sha256 = "b8a1527901774180afc798aeb28c4634bdccf19c4d98e7bdd1ce79d1fe9aaad7", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.0/bazel-skylib-1.4.0.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.0/bazel-skylib-1.4.0.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz", ], ) diff --git a/package.json b/package.json index 29fa050b6ef2..25f1e1f0bb49 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "magic-string": "0.27.0", "mini-css-extract-plugin": "2.7.2", "minimatch": "~6.1.0", - "ng-packagr": "15.1.1", + "ng-packagr": "15.1.2", "node-fetch": "^2.2.0", "npm": "^8.11.0", "npm-package-arg": "10.1.0", diff --git a/yarn.lock b/yarn.lock index e778c08fb087..2532dfd0cb71 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1368,11 +1368,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/android-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" - integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== - "@esbuild/android-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2" @@ -1383,11 +1378,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b" integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg== -"@esbuild/android-arm@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" - integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== - "@esbuild/android-arm@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251" @@ -1398,11 +1388,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26" integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g== -"@esbuild/android-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" - integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== - "@esbuild/android-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef" @@ -1413,11 +1398,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462" integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ== -"@esbuild/darwin-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" - integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== - "@esbuild/darwin-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49" @@ -1428,11 +1408,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646" integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA== -"@esbuild/darwin-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" - integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== - "@esbuild/darwin-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d" @@ -1443,11 +1418,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569" integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg== -"@esbuild/freebsd-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" - integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== - "@esbuild/freebsd-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367" @@ -1458,11 +1428,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4" integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg== -"@esbuild/freebsd-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" - integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== - "@esbuild/freebsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f" @@ -1473,11 +1438,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f" integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q== -"@esbuild/linux-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" - integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== - "@esbuild/linux-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f" @@ -1488,11 +1448,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079" integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w== -"@esbuild/linux-arm@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" - integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== - "@esbuild/linux-arm@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07" @@ -1503,11 +1458,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110" integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw== -"@esbuild/linux-ia32@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" - integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== - "@esbuild/linux-ia32@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4" @@ -1518,11 +1468,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278" integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ== -"@esbuild/linux-loong64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" - integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== - "@esbuild/linux-loong64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea" @@ -1533,11 +1478,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad" integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ== -"@esbuild/linux-mips64el@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" - integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== - "@esbuild/linux-mips64el@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4" @@ -1548,11 +1488,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af" integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA== -"@esbuild/linux-ppc64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" - integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== - "@esbuild/linux-ppc64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c" @@ -1563,11 +1498,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19" integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg== -"@esbuild/linux-riscv64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" - integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== - "@esbuild/linux-riscv64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c" @@ -1578,11 +1508,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a" integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ== -"@esbuild/linux-s390x@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" - integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== - "@esbuild/linux-s390x@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735" @@ -1593,11 +1518,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc" integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q== -"@esbuild/linux-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" - integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== - "@esbuild/linux-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050" @@ -1608,11 +1528,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0" integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw== -"@esbuild/netbsd-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" - integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== - "@esbuild/netbsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a" @@ -1623,11 +1538,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9" integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A== -"@esbuild/openbsd-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" - integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== - "@esbuild/openbsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a" @@ -1638,11 +1548,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083" integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw== -"@esbuild/sunos-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" - integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== - "@esbuild/sunos-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0" @@ -1653,11 +1558,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73" integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw== -"@esbuild/win32-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" - integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== - "@esbuild/win32-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850" @@ -1668,11 +1568,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21" integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg== -"@esbuild/win32-ia32@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" - integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== - "@esbuild/win32-ia32@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0" @@ -1683,11 +1578,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e" integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg== -"@esbuild/win32-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" - integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== - "@esbuild/win32-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be" @@ -4864,12 +4754,17 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.0.tgz#71797971162cd3cf65f0b9d24eb28f8d303acdf1" + integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== + commander@^2.2.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^9.4.0, commander@^9.4.1: +commander@^9.4.1: version "9.5.0" resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== @@ -5633,16 +5528,11 @@ esbuild-wasm@0.17.5: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g== -esbuild-wasm@0.17.6: +esbuild-wasm@0.17.6, esbuild-wasm@^0.17.0: version "0.17.6" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.6.tgz#f5935d90c1104a1c04a3fbe5daaf7f79beaeb2fc" integrity sha512-9Ldow2+kulEnGtOTbngHyiFIneIi+g7pJOz8cZQhW1KWKqsu9nCYDba2JlwsH/PJtAGNSTCrKBmaKYf8rJYvgQ== -esbuild-wasm@^0.16.0: - version "0.16.17" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz#b8d41ab99a9b725765a138f0f1d2381e891f913d" - integrity sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q== - esbuild@0.17.5: version "0.17.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.5.tgz#cd76d75700d49ac050ad9eedfbed777bd6a9d930" @@ -5671,7 +5561,7 @@ esbuild@0.17.5: "@esbuild/win32-ia32" "0.17.5" "@esbuild/win32-x64" "0.17.5" -esbuild@0.17.6: +esbuild@0.17.6, esbuild@^0.17.0: version "0.17.6" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.6.tgz#bbccd4433629deb6e0a83860b3b61da120ba4e01" integrity sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q== @@ -5699,34 +5589,6 @@ esbuild@0.17.6: "@esbuild/win32-ia32" "0.17.6" "@esbuild/win32-x64" "0.17.6" -esbuild@^0.16.0: - version "0.16.17" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" - integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== - optionalDependencies: - "@esbuild/android-arm" "0.16.17" - "@esbuild/android-arm64" "0.16.17" - "@esbuild/android-x64" "0.16.17" - "@esbuild/darwin-arm64" "0.16.17" - "@esbuild/darwin-x64" "0.16.17" - "@esbuild/freebsd-arm64" "0.16.17" - "@esbuild/freebsd-x64" "0.16.17" - "@esbuild/linux-arm" "0.16.17" - "@esbuild/linux-arm64" "0.16.17" - "@esbuild/linux-ia32" "0.16.17" - "@esbuild/linux-loong64" "0.16.17" - "@esbuild/linux-mips64el" "0.16.17" - "@esbuild/linux-ppc64" "0.16.17" - "@esbuild/linux-riscv64" "0.16.17" - "@esbuild/linux-s390x" "0.16.17" - "@esbuild/linux-x64" "0.16.17" - "@esbuild/netbsd-x64" "0.16.17" - "@esbuild/openbsd-x64" "0.16.17" - "@esbuild/sunos-x64" "0.16.17" - "@esbuild/win32-arm64" "0.16.17" - "@esbuild/win32-ia32" "0.16.17" - "@esbuild/win32-x64" "0.16.17" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -8390,10 +8252,10 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -ng-packagr@15.1.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.1.tgz#c59de99748342f14cb2119a605e8ebd89250a9d2" - integrity sha512-TT5JtYJkKuYnUaCIQH/ArE+D1xjpjWnQjvbfRxd6/wypi0nDfSYvq96CLd1zphgMOp+Ofd8Xyet0K73znygxCA== +ng-packagr@15.1.2: + version "15.1.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-15.1.2.tgz#d26e87e1099517367e11a945c299abfb5a2ac2c9" + integrity sha512-GpVySff7Wwx+eAW+HXkFD8et05UK0/usHnFEKznXhxmhML7XOGYaK74tAsgUwA06GUQofQH/VjdsBGi6XlVNjA== dependencies: "@rollup/plugin-json" "^6.0.0" "@rollup/plugin-node-resolve" "^15.0.0" @@ -8403,10 +8265,10 @@ ng-packagr@15.1.1: browserslist "^4.21.4" cacache "^17.0.0" chokidar "^3.5.3" - commander "^9.4.0" + commander "^10.0.0" convert-source-map "^2.0.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.16.0" + esbuild-wasm "^0.17.0" find-cache-dir "^3.3.2" glob "^8.0.3" injection-js "^2.4.0" @@ -8420,7 +8282,7 @@ ng-packagr@15.1.1: rxjs "^7.5.6" sass "^1.55.0" optionalDependencies: - esbuild "^0.16.0" + esbuild "^0.17.0" nice-napi@^1.0.2: version "1.0.2" From c65b026e2f375f35826d985c8cc558a2729b520e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Feb 2023 16:43:06 +0000 Subject: [PATCH 1348/1388] fix(@angular-devkit/build-angular): update the ECMA output warning message to be more actionable Update the `TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022"` warning message to be more actionable. Closes: #24697 --- .../src/builders/browser-esbuild/compiler-plugin.ts | 3 ++- .../build_angular/src/webpack/plugins/typescript.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts index c0a6cc9807aa..84a8aa721a71 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/compiler-plugin.ts @@ -218,7 +218,8 @@ export function createCompilerPlugin( (setupWarnings ??= []).push({ text: 'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' + - '"false" respectively by the Angular CLI.', + '"false" respectively by the Angular CLI.\n' + + `NOTE: You can set the "target" to "ES2022" in the project's tsconfig to remove this warning.`, location: { file: pluginOptions.tsconfig }, notes: [ { diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts index 0d9b3714cdd2..43247ee2e748 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/typescript.ts @@ -35,7 +35,8 @@ export function createIvyPlugin( wco.logger.warn( 'TypeScript compiler options "target" and "useDefineForClassFields" are set to "ES2022" and ' + '"false" respectively by the Angular CLI. To control ECMA version and features use the Browerslist configuration. ' + - 'For more information, see https://angular.io/guide/build#configuring-browser-compatibility', + 'For more information, see https://angular.io/guide/build#configuring-browser-compatibility\n' + + `NOTE: You can set the "target" to "ES2022" in the project's tsconfig to remove this warning.`, ); } From 8356240dda74f772435e7b0a639b2e928b61a657 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 9 Feb 2023 12:21:36 -0500 Subject: [PATCH 1349/1388] fix(@angular-devkit/build-angular): use babel default export helper in build optimizer Within the build optimizer's static member optimization pass, a class that is directly default exported must be split into two statements: the class declaration and the default export. This is because the pass can wrap classes in a pure annotated IIFE which results in a variable declaration replacement and variable declarations can not be directly default exported. Previously, the pass did this splitting manually but this was causing later babel plugins to fail. In addition to updating the AST in this case, scoping information also needed to be updated. To support this, a babel helper package is now used that handles the details of the statement split operation. --- package.json | 1 + .../angular_devkit/build_angular/BUILD.bazel | 1 + .../angular_devkit/build_angular/package.json | 1 + .../plugins/adjust-static-class-members.ts | 53 +++++++++++-------- .../adjust-static-class-members_spec.ts | 27 +++++++--- .../build_angular/src/typings.d.ts | 8 +++ yarn.lock | 2 +- 7 files changed, 64 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 25f1e1f0bb49..220f8847ecf9 100644 --- a/package.json +++ b/package.json @@ -84,6 +84,7 @@ "@babel/core": "7.20.12", "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.7", "@babel/plugin-transform-async-to-generator": "7.20.7", "@babel/plugin-transform-runtime": "7.19.6", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 7cc8e651bf02..07b83d5b8c9a 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -111,6 +111,7 @@ ts_library( "@npm//@babel/core", "@npm//@babel/generator", "@npm//@babel/helper-annotate-as-pure", + "@npm//@babel/helper-split-export-declaration", "@npm//@babel/plugin-proposal-async-generator-functions", "@npm//@babel/plugin-transform-async-to-generator", "@npm//@babel/plugin-transform-runtime", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index e9462b8171a2..63fcc4643959 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -13,6 +13,7 @@ "@babel/core": "7.20.12", "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", "@babel/plugin-proposal-async-generator-functions": "7.20.7", "@babel/plugin-transform-async-to-generator": "7.20.7", "@babel/plugin-transform-runtime": "7.19.6", diff --git a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts index 35943ea9e5e7..4c9adc23c7bd 100644 --- a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts +++ b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members.ts @@ -8,6 +8,7 @@ import { NodePath, PluginObj, PluginPass, types } from '@babel/core'; import annotateAsPure from '@babel/helper-annotate-as-pure'; +import splitExportDeclaration from '@babel/helper-split-export-declaration'; /** * The name of the Typescript decorator helper function created by the TypeScript compiler. @@ -183,12 +184,18 @@ function analyzeClassSiblings( } /** - * The set of classed already visited and analyzed during the plugin's execution. + * The set of classes already visited and analyzed during the plugin's execution. * This is used to prevent adjusted classes from being repeatedly analyzed which can lead * to an infinite loop. */ const visitedClasses = new WeakSet(); +/** + * A map of classes that have already been analyzed during the default export splitting step. + * This is used to avoid analyzing a class declaration twice if it is a direct default export. + */ +const exportDefaultAnalysis = new WeakMap>(); + /** * A babel plugin factory function for adjusting classes; primarily with Angular metadata. * The adjustments include wrapping classes with known safe or no side effects with pure @@ -201,6 +208,25 @@ const visitedClasses = new WeakSet(); export default function (): PluginObj { return { visitor: { + // When a class is converted to a variable declaration, the default export must be moved + // to a subsequent statement to prevent a JavaScript syntax error. + ExportDefaultDeclaration(path: NodePath, state: PluginPass) { + const declaration = path.get('declaration'); + if (!declaration.isClassDeclaration()) { + return; + } + + const { wrapDecorators } = state.opts as { wrapDecorators: boolean }; + const analysis = analyzeClassSiblings(path, declaration.node.id, wrapDecorators); + exportDefaultAnalysis.set(declaration.node, analysis); + + // Splitting the export declaration is not needed if the class will not be wrapped + if (analysis.hasPotentialSideEffects) { + return; + } + + splitExportDeclaration(path); + }, ClassDeclaration(path: NodePath, state: PluginPass) { const { node: classNode, parentPath } = path; const { wrapDecorators } = state.opts as { wrapDecorators: boolean }; @@ -210,14 +236,10 @@ export default function (): PluginObj { } // Analyze sibling statements for elements of the class that were downleveled - const hasExport = - parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration(); - const origin = hasExport ? parentPath : path; - const { wrapStatementPaths, hasPotentialSideEffects } = analyzeClassSiblings( - origin, - classNode.id, - wrapDecorators, - ); + const origin = parentPath.isExportNamedDeclaration() ? parentPath : path; + const { wrapStatementPaths, hasPotentialSideEffects } = + exportDefaultAnalysis.get(classNode) ?? + analyzeClassSiblings(origin, classNode.id, wrapDecorators); visitedClasses.add(classNode); @@ -288,18 +310,7 @@ export default function (): PluginObj { const declaration = types.variableDeclaration('let', [ types.variableDeclarator(types.cloneNode(classNode.id), replacementInitializer), ]); - if (parentPath.isExportDefaultDeclaration()) { - // When converted to a variable declaration, the default export must be moved - // to a subsequent statement to prevent a JavaScript syntax error. - parentPath.replaceWithMultiple([ - declaration, - types.exportNamedDeclaration(undefined, [ - types.exportSpecifier(types.cloneNode(classNode.id), types.identifier('default')), - ]), - ]); - } else { - path.replaceWith(declaration); - } + path.replaceWith(declaration); }, ClassExpression(path: NodePath, state: PluginPass) { const { node: classNode, parentPath } = path; diff --git a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts index a62f87d38504..4b078a0f02b1 100644 --- a/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts +++ b/packages/angular_devkit/build_angular/src/babel/plugins/adjust-static-class-members_spec.ts @@ -169,14 +169,27 @@ describe('adjust-static-class-members Babel plugin', () => { }); it('does not wrap default exported class with no connected siblings', () => { - testCaseNoChange(` - export default class CustomComponentEffects { - constructor(_actions) { - this._actions = _actions; - this.doThis = this._actions; + // NOTE: This could technically have no changes but the default export splitting detection + // does not perform class property analysis currently. + testCase({ + input: ` + export default class CustomComponentEffects { + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } } - } - `); + `, + expected: ` + class CustomComponentEffects { + constructor(_actions) { + this._actions = _actions; + this.doThis = this._actions; + } + } + export { CustomComponentEffects as default }; + `, + }); }); it('does wrap not default exported class with only side effect fields', () => { diff --git a/packages/angular_devkit/build_angular/src/typings.d.ts b/packages/angular_devkit/build_angular/src/typings.d.ts index 204fa0d207d0..2468d5b261ba 100644 --- a/packages/angular_devkit/build_angular/src/typings.d.ts +++ b/packages/angular_devkit/build_angular/src/typings.d.ts @@ -11,3 +11,11 @@ declare module '@babel/helper-annotate-as-pure' { pathOrNode: import('@babel/types').Node | { node: import('@babel/types').Node }, ): void; } + +declare module '@babel/helper-split-export-declaration' { + export default function splitExportDeclaration( + exportDeclaration: import('@babel/traverse').NodePath< + import('@babel/types').ExportDefaultDeclaration + >, + ): void; +} diff --git a/yarn.lock b/yarn.lock index 2532dfd0cb71..a9a3e67d8904 100644 --- a/yarn.lock +++ b/yarn.lock @@ -581,7 +581,7 @@ dependencies: "@babel/types" "^7.20.0" -"@babel/helper-split-export-declaration@^7.18.6": +"@babel/helper-split-export-declaration@7.18.6", "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== From 545c180e2ba1f2465fa38f264a7a5c1711306406 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Feb 2023 09:34:35 +0000 Subject: [PATCH 1350/1388] fix(@angular/cli): convert `before` option in `.npmrc` to Date Previously, the `before` option in the npmrc was not converted properly to a date. See: https://docs.npmjs.com/cli/v8/using-npm/config#before Closes #24685 --- packages/angular/cli/src/utilities/package-metadata.ts | 4 ++++ tests/legacy-cli/e2e/tests/commands/add/npm-config.ts | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 tests/legacy-cli/e2e/tests/commands/add/npm-config.ts diff --git a/packages/angular/cli/src/utilities/package-metadata.ts b/packages/angular/cli/src/utilities/package-metadata.ts index faded207495f..0d683fedecc5 100644 --- a/packages/angular/cli/src/utilities/package-metadata.ts +++ b/packages/angular/cli/src/utilities/package-metadata.ts @@ -212,6 +212,10 @@ function normalizeOptions( } catch {} } break; + case 'before': + options['before'] = + typeof substitutedValue === 'string' ? new Date(substitutedValue) : substitutedValue; + break; default: options[key] = substitutedValue; break; diff --git a/tests/legacy-cli/e2e/tests/commands/add/npm-config.ts b/tests/legacy-cli/e2e/tests/commands/add/npm-config.ts new file mode 100644 index 000000000000..6f7599e8c00c --- /dev/null +++ b/tests/legacy-cli/e2e/tests/commands/add/npm-config.ts @@ -0,0 +1,8 @@ +import { writeFile } from '../../../utils/fs'; +import { ng } from '../../../utils/process'; + +export default async function () { + // Works with before option + await writeFile('.npmrc', `before=${new Date().toISOString()}`); + await ng('add', '@angular/pwa', '--skip-confirmation'); +} From d3f255087ffaa474d37c45fb2db8611f6b437408 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 9 Feb 2023 08:16:27 +0000 Subject: [PATCH 1351/1388] fix(@angular-devkit/build-angular): correctly copy `safety-worker.js` contents Previously, `safety-worker.js` and `worker-basic.min.js` contained incorrect data due to an incorrect path. Closes #24678 --- .../angular_devkit/build_angular/src/utils/service-worker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/utils/service-worker.ts b/packages/angular_devkit/build_angular/src/utils/service-worker.ts index 1d3b1bd1eb36..7c412ac76957 100644 --- a/packages/angular_devkit/build_angular/src/utils/service-worker.ts +++ b/packages/angular_devkit/build_angular/src/utils/service-worker.ts @@ -167,7 +167,7 @@ export async function augmentAppWithServiceWorkerCore( return inputputFileSystem === outputFileSystem ? // Native FS (Builder). - inputputFileSystem.copyFile(workerPath, resolvedDest, fsConstants.COPYFILE_FICLONE) + inputputFileSystem.copyFile(src, resolvedDest, fsConstants.COPYFILE_FICLONE) : // memfs (Webpack): Read the file from the input FS (disk) and write it to the output FS (memory). outputFileSystem.writeFile(resolvedDest, await inputputFileSystem.readFile(src)); }; From 2a42f24cedf1785b0612467c6aa8848054d47b09 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 10 Feb 2023 06:15:41 +0000 Subject: [PATCH 1352/1388] build: update all non-major dependencies to v0.17.7 --- package.json | 4 +- .../angular_devkit/build_angular/package.json | 4 +- yarn.lock | 147 +++++++++++++++++- 3 files changed, 149 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 220f8847ecf9..c80b0eb2b904 100644 --- a/package.json +++ b/package.json @@ -143,8 +143,8 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.17.6", - "esbuild-wasm": "0.17.6", + "esbuild": "0.17.7", + "esbuild-wasm": "0.17.7", "eslint": "8.33.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 63fcc4643959..9262138cf68d 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -32,7 +32,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.17.6", + "esbuild-wasm": "0.17.7", "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.17.6" + "esbuild": "0.17.7" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/yarn.lock b/yarn.lock index a9a3e67d8904..9fe3dbe47255 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1378,6 +1378,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b" integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg== +"@esbuild/android-arm64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.7.tgz#7d22b442815624423de5541545401e12a8d474d8" + integrity sha512-fOUBZvcbtbQJIj2K/LMKcjULGfXLV9R4qjXFsi3UuqFhIRJHz0Fp6kFjsMFI6vLuPrfC5G9Dmh+3RZOrSKY2Lg== + "@esbuild/android-arm@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251" @@ -1388,6 +1393,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26" integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g== +"@esbuild/android-arm@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.7.tgz#fa30de0cfae8e8416c693dc449c415765542483b" + integrity sha512-Np6Lg8VUiuzHP5XvHU7zfSVPN4ILdiOhxA1GQ1uvCK2T2l3nI8igQV0c9FJx4hTkq8WGqhGEvn5UuRH8jMkExg== + "@esbuild/android-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef" @@ -1398,6 +1408,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462" integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ== +"@esbuild/android-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.7.tgz#34a1af914510ec821246859f8ae7d8fe843dd37b" + integrity sha512-6YILpPvop1rPAvaO/n2iWQL45RyTVTR/1SK7P6Xi2fyu+hpEeX22fE2U2oJd1sfpovUJOWTRdugjddX6QCup3A== + "@esbuild/darwin-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49" @@ -1408,6 +1423,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646" integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA== +"@esbuild/darwin-arm64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.7.tgz#06712059a30a6130eef701fb634883a4aaea02f7" + integrity sha512-7i0gfFsDt1BBiurZz5oZIpzfxqy5QkJmhXdtrf2Hma/gI9vL2AqxHhRBoI1NeWc9IhN1qOzWZrslhiXZweMSFg== + "@esbuild/darwin-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d" @@ -1418,6 +1438,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569" integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg== +"@esbuild/darwin-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.7.tgz#58cd69d00d5b9847ad2015858a7ec3f10bf309ad" + integrity sha512-hRvIu3vuVIcv4SJXEKOHVsNssM5tLE2xWdb9ZyJqsgYp+onRa5El3VJ4+WjTbkf/A2FD5wuMIbO2FCTV39LE0w== + "@esbuild/freebsd-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367" @@ -1428,6 +1453,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4" integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg== +"@esbuild/freebsd-arm64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.7.tgz#1dd3de24a9683c8321a4e3c42b11b32a48e791d4" + integrity sha512-2NJjeQ9kiabJkVXLM3sHkySqkL1KY8BeyLams3ITyiLW10IwDL0msU5Lq1cULCn9zNxt1Seh1I6QrqyHUvOtQw== + "@esbuild/freebsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f" @@ -1438,6 +1468,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f" integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q== +"@esbuild/freebsd-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.7.tgz#b0e409e1c7cc05412c8dd149c2c39e0a1dee9567" + integrity sha512-8kSxlbjuLYMoIgvRxPybirHJeW45dflyIgHVs+jzMYJf87QOay1ZUTzKjNL3vqHQjmkSn8p6KDfHVrztn7Rprw== + "@esbuild/linux-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f" @@ -1448,6 +1483,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079" integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w== +"@esbuild/linux-arm64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.7.tgz#35cfae28e460b96ccc027eccc28b13c0712d6df3" + integrity sha512-43Bbhq3Ia/mGFTCRA4NlY8VRH3dLQltJ4cqzhSfq+cdvdm9nKJXVh4NUkJvdZgEZIkf/ufeMmJ0/22v9btXTcw== + "@esbuild/linux-arm@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07" @@ -1458,6 +1498,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110" integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw== +"@esbuild/linux-arm@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.7.tgz#a378301c253ef64d19a112c9ec922680c2fb5a71" + integrity sha512-07RsAAzznWqdfJC+h3L2UVWwnUHepsFw5GmzySnUspHHb7glJ1+47rvlcH0SeUtoVOs8hF4/THgZbtJRyALaJA== + "@esbuild/linux-ia32@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4" @@ -1468,6 +1513,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278" integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ== +"@esbuild/linux-ia32@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.7.tgz#7d36087db95b1faaee8df203c511775a4d322a2b" + integrity sha512-ViYkfcfnbwOoTS7xE4DvYFv7QOlW8kPBuccc4erJ0jx2mXDPR7e0lYOH9JelotS9qe8uJ0s2i3UjUvjunEp53A== + "@esbuild/linux-loong64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea" @@ -1478,6 +1528,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad" integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ== +"@esbuild/linux-loong64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.7.tgz#b989253520308d81ee0e4846de9f63f2f11c7f10" + integrity sha512-H1g+AwwcqYQ/Hl/sMcopRcNLY/fysIb/ksDfCa3/kOaHQNhBrLeDYw+88VAFV5U6oJL9GqnmUj72m9Nv3th3hA== + "@esbuild/linux-mips64el@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4" @@ -1488,6 +1543,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af" integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA== +"@esbuild/linux-mips64el@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.7.tgz#ae751365cdf967dfa89dd59cdb0dcc8723a66f9a" + integrity sha512-MDLGrVbTGYtmldlbcxfeDPdhxttUmWoX3ovk9u6jc8iM+ueBAFlaXKuUMCoyP/zfOJb+KElB61eSdBPSvNcCEg== + "@esbuild/linux-ppc64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c" @@ -1498,6 +1558,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19" integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg== +"@esbuild/linux-ppc64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.7.tgz#ad1c9299c463f0409e57166e76e91afb6193ea9f" + integrity sha512-UWtLhRPKzI+v2bKk4j9rBpGyXbLAXLCOeqt1tLVAt1mfagHpFjUzzIHCpPiUfY3x1xY5e45/+BWzGpqqvSglNw== + "@esbuild/linux-riscv64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c" @@ -1508,6 +1573,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a" integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ== +"@esbuild/linux-riscv64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.7.tgz#84acb7451bef7458e6067d9c358026ffa1831910" + integrity sha512-3C/RTKqZauUwBYtIQAv7ELTJd+H2dNKPyzwE2ZTbz2RNrNhNHRoeKnG5C++eM6nSZWUCLyyaWfq1v1YRwBS/+A== + "@esbuild/linux-s390x@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735" @@ -1518,6 +1588,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc" integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q== +"@esbuild/linux-s390x@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.7.tgz#0bf23c78c52ea60ae4ea95239b728683a86a7ab8" + integrity sha512-x7cuRSCm998KFZqGEtSo8rI5hXLxWji4znZkBhg2FPF8A8lxLLCsSXe2P5utf0RBQflb3K97dkEH/BJwTqrbDw== + "@esbuild/linux-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050" @@ -1528,6 +1603,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0" integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw== +"@esbuild/linux-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.7.tgz#932d8c6e1b0d6a57a4e94a8390dfebeebba21dcc" + integrity sha512-1Z2BtWgM0Wc92WWiZR5kZ5eC+IetI++X+nf9NMbUvVymt74fnQqwgM5btlTW7P5uCHfq03u5MWHjIZa4o+TnXQ== + "@esbuild/netbsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a" @@ -1538,6 +1618,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9" integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A== +"@esbuild/netbsd-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.7.tgz#6aa81873c6e08aa419378e07c8d3eed5aa77bf25" + integrity sha512-//VShPN4hgbmkDjYNCZermIhj8ORqoPNmAnwSPqPtBB0xOpHrXMlJhsqLNsgoBm0zi/5tmy//WyL6g81Uq2c6Q== + "@esbuild/openbsd-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a" @@ -1548,6 +1633,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083" integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw== +"@esbuild/openbsd-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.7.tgz#0698f260250a7022e2cae7385cbd09a86eb0967c" + integrity sha512-IQ8BliXHiOsbQEOHzc7mVLIw2UYPpbOXJQ9cK1nClNYQjZthvfiA6rWZMz4BZpVzHZJ+/H2H23cZwRJ1NPYOGg== + "@esbuild/sunos-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0" @@ -1558,6 +1648,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73" integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw== +"@esbuild/sunos-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.7.tgz#ef97445672deec50e3b3549af2ee6d42fbc04250" + integrity sha512-phO5HvU3SyURmcW6dfQXX4UEkFREUwaoiTgi1xH+CAFKPGsrcG6oDp1U70yQf5lxRKujoSCEIoBr0uFykJzN2g== + "@esbuild/win32-arm64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850" @@ -1568,6 +1663,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21" integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg== +"@esbuild/win32-arm64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.7.tgz#70865d2332d7883e2e49077770adfe51c51343e3" + integrity sha512-G/cRKlYrwp1B0uvzEdnFPJ3A6zSWjnsRrWivsEW0IEHZk+czv0Bmiwa51RncruHLjQ4fGsvlYPmCmwzmutPzHA== + "@esbuild/win32-ia32@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0" @@ -1578,6 +1678,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e" integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg== +"@esbuild/win32-ia32@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.7.tgz#39831b787013c7da7e61c8eb6a9df0fed9bd0fcb" + integrity sha512-/yMNVlMew07NrOflJdRAZcMdUoYTOCPbCHx0eHtg55l87wXeuhvYOPBQy5HLX31Ku+W2XsBD5HnjUjEUsTXJug== + "@esbuild/win32-x64@0.17.5": version "0.17.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be" @@ -1588,6 +1693,11 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz#563ff4277f1230a006472664fa9278a83dd124da" integrity sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA== +"@esbuild/win32-x64@0.17.7": + version "0.17.7" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.7.tgz#03b231fcfa0702562978979468dfc8b09b55ac59" + integrity sha512-K9/YybM6WZO71x73Iyab6mwieHtHjm9hrPR/a9FBPZmFO3w+fJaM2uu2rt3JYf/rZR24MFwTliI8VSoKKOtYtg== + "@eslint/eslintrc@^1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -5528,7 +5638,12 @@ esbuild-wasm@0.17.5: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g== -esbuild-wasm@0.17.6, esbuild-wasm@^0.17.0: +esbuild-wasm@0.17.7: + version "0.17.7" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.7.tgz#cdca271574108430ca3dd52e64182d13cdf6d7f7" + integrity sha512-2po3VY6Gc3ZSQJH1BU4QWrPMwIuFsjycdi28i5+rQxJKWX0p1RRlHWP+hoYNHHhXKp3LkPNO+Vki3o859ika+g== + +esbuild-wasm@^0.17.0: version "0.17.6" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.6.tgz#f5935d90c1104a1c04a3fbe5daaf7f79beaeb2fc" integrity sha512-9Ldow2+kulEnGtOTbngHyiFIneIi+g7pJOz8cZQhW1KWKqsu9nCYDba2JlwsH/PJtAGNSTCrKBmaKYf8rJYvgQ== @@ -5561,7 +5676,35 @@ esbuild@0.17.5: "@esbuild/win32-ia32" "0.17.5" "@esbuild/win32-x64" "0.17.5" -esbuild@0.17.6, esbuild@^0.17.0: +esbuild@0.17.7: + version "0.17.7" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.7.tgz#a7ace55f2bf82fdb1c9013a924620ce2596984fa" + integrity sha512-+5hHlrK108fT6C6/40juy0w4DYKtyZ5NjfBlTccBdsFutR7WBxpIY633JzZJewdsCy8xWA/u2z0MSniIJwufYg== + optionalDependencies: + "@esbuild/android-arm" "0.17.7" + "@esbuild/android-arm64" "0.17.7" + "@esbuild/android-x64" "0.17.7" + "@esbuild/darwin-arm64" "0.17.7" + "@esbuild/darwin-x64" "0.17.7" + "@esbuild/freebsd-arm64" "0.17.7" + "@esbuild/freebsd-x64" "0.17.7" + "@esbuild/linux-arm" "0.17.7" + "@esbuild/linux-arm64" "0.17.7" + "@esbuild/linux-ia32" "0.17.7" + "@esbuild/linux-loong64" "0.17.7" + "@esbuild/linux-mips64el" "0.17.7" + "@esbuild/linux-ppc64" "0.17.7" + "@esbuild/linux-riscv64" "0.17.7" + "@esbuild/linux-s390x" "0.17.7" + "@esbuild/linux-x64" "0.17.7" + "@esbuild/netbsd-x64" "0.17.7" + "@esbuild/openbsd-x64" "0.17.7" + "@esbuild/sunos-x64" "0.17.7" + "@esbuild/win32-arm64" "0.17.7" + "@esbuild/win32-ia32" "0.17.7" + "@esbuild/win32-x64" "0.17.7" + +esbuild@^0.17.0: version "0.17.6" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.6.tgz#bbccd4433629deb6e0a83860b3b61da120ba4e01" integrity sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q== From babaa36c3c72252bbbaf7ebc764a7d90ef7e9231 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Feb 2023 10:15:31 +0000 Subject: [PATCH 1353/1388] ci: remove non Bazel E2E tests This change removes all non Bazel E2E tests. --- .circleci/dynamic_config.yml | 214 +++-------------------------------- 1 file changed, 18 insertions(+), 196 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 957ebe65d615..27303081e65f 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -129,6 +129,7 @@ commands: steps: - attach_workspace: at: *workspace_location + setup_windows: steps: - initialize_env @@ -158,15 +159,6 @@ commands: - devinfra/setup-bazel-remote-exec: shell: bash - install_python: - steps: - - run: - name: 'Install Python 2' - command: | - sudo apt-get update > /dev/null 2>&1 - sudo apt-get install -y python - python --version - # Job definitions jobs: setup: @@ -219,86 +211,7 @@ jobs: - run: yarn -s admin validate - run: yarn -s check-tooling-setup - e2e-tests: - parameters: - nodeversion: - type: string - default: *default_nodeversion - snapshots: - type: boolean - default: false - subset: - type: enum - enum: *all_e2e_subsets - default: 'npm' - executor: - name: action-executor - nodeversion: << parameters.nodeversion >> - parallelism: 8 - resource_class: large - steps: - - custom_attach_workspace - - browser-tools/install-chrome - - initialize_env - - run: mkdir /mnt/ramdisk/e2e - - when: - condition: - equal: ['npm', << parameters.subset >>] - steps: - - run: - name: Execute CLI E2E Tests with NPM - command: | - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --tmpdir=/mnt/ramdisk/e2e --ignore="tests/misc/browsers.ts" - - when: - condition: - equal: ['esbuild', << parameters.subset >>] - steps: - - run: - name: Execute CLI E2E Tests Subset with Esbuild - command: | - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --esbuild --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts" - - when: - condition: - equal: ['yarn', << parameters.subset >>] - steps: - - run: - name: Execute CLI E2E Tests Subset with Yarn - command: | - node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<> --yarn --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}" - - fail_fast - - test-browsers: - executor: - name: action-executor - resource_class: medium - steps: - - custom_attach_workspace - - initialize_env - - run: - name: Initialize Saucelabs - command: setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev) - - run: - name: Start Saucelabs Tunnel - command: ./scripts/saucelabs/start-tunnel.sh - background: true - # Waits for the Saucelabs tunnel to be ready. This ensures that we don't run tests - # too early without Saucelabs not being ready. - - run: ./scripts/saucelabs/wait-for-tunnel.sh - - run: node ./tests/legacy-cli/run_e2e --glob="tests/misc/browsers.ts" - - run: ./scripts/saucelabs/stop-tunnel.sh - - fail_fast - build: - executor: action-executor - steps: - - custom_attach_workspace - - run: yarn build - - persist_to_workspace: - root: *workspace_location - paths: - - dist/_*.tgz - - bazel-build: executor: bazel-executor steps: - custom_attach_workspace @@ -308,7 +221,7 @@ jobs: command: yarn bazel build //... - fail_fast - bazel-test: + test: executor: bazel-executor parameters: nodeversion: @@ -340,7 +253,7 @@ jobs: no_output_timeout: 40m - fail_fast - bazel-e2e-tests: + e2e-tests: executor: bazel-executor parallelism: 8 parameters: @@ -366,7 +279,7 @@ jobs: path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> - fail_fast - bazel-test-browsers: + test-browsers: executor: bazel-executor steps: - custom_attach_workspace @@ -397,7 +310,6 @@ jobs: resource_class: medium steps: - custom_attach_workspace - - install_python - run: name: Deployment to Snapshot command: yarn admin snapshots --verbose @@ -423,40 +335,6 @@ jobs: # Windows jobs e2e-cli-win: - executor: windows-executor - parallelism: 16 - steps: - - checkout - - rebase_pr_win - - setup_windows - - restore_cache: - keys: - - *cache_key_win - - run: - # We use Arsenal Image Mounter (AIM) instead of ImDisk because of: https://github.com/nodejs/node/issues/6861 - # Useful resources for AIM: http://reboot.pro/index.php?showtopic=22068 - name: 'Arsenal Image Mounter (RAM Disk)' - command: | - pwsh ./.circleci/win-ram-disk.ps1 - - run: yarn install --frozen-lockfile --cache-folder ../.cache/yarn - - save_cache: - key: *cache_key_win - paths: - - ~/.cache/yarn - # Path where Arsenal Image Mounter files are downloaded. - # Must match path in .circleci/win-ram-disk.ps1 - - ./aim - # Build the npm packages for the e2e tests - - run: yarn build - # Run partial e2e suite on PRs only. Release branches will run the full e2e suite. - - run: - name: Execute E2E Tests - command: | - mkdir X:/ramdisk/e2e-main - node tests\legacy-cli\run_e2e.js --nb-shards=$env:CIRCLE_NODE_TOTAL --shard=$env:CIRCLE_NODE_INDEX --tmpdir=X:/ramdisk/e2e-main --ignore="tests/misc/browsers.ts" - - fail_fast - - bazel-e2e-cli-win: executor: windows-executor parallelism: 12 steps: @@ -511,42 +389,34 @@ workflows: - validate: requires: - setup - - build: - requires: - - setup - - test-browsers: - requires: - - build - - - e2e-tests: - name: e2e-cli-<< matrix.subset >> - nodeversion: '14.20' + # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and + # will catch any build errors before proceeding to the more lengthy and resource intensive + - test: + name: test-node<< matrix.nodeversion >> matrix: parameters: - subset: *all_e2e_subsets - filters: - branches: - ignore: - - main - - /\d+\.\d+\.x/ + nodeversion: *all_nodeversion_major requires: - build + # Bazel jobs + - build: + requires: + - setup + - e2e-tests: name: e2e-cli-node-<>-<< matrix.subset >> matrix: alias: e2e-cli parameters: - nodeversion: ['14.20', '16.13', '18.10'] subset: *all_e2e_subsets + snapshots: false requires: - build - <<: *only_release_branches - e2e-tests: name: e2e-snapshots-<< matrix.subset >> - nodeversion: '16.13' matrix: parameters: subset: *all_e2e_subsets @@ -565,64 +435,16 @@ workflows: - build <<: *only_snapshot_branches - # Bazel jobs - # These jobs only really depend on Setup, but the build job is very quick to run (~35s) and - # will catch any build errors before proceeding to the more lengthy and resource intensive - # Bazel jobs. - - bazel-test: - name: test-node<< matrix.nodeversion >> - matrix: - parameters: - nodeversion: *all_nodeversion_major + - test-browsers: requires: - - bazel-build + - build # Windows jobs - e2e-cli-win - - bazel-e2e-cli-win - - # Bazel jobs - - bazel-build: - requires: - - setup - - - bazel-e2e-tests: - name: bazel-e2e-cli-<< matrix.subset >> - matrix: - parameters: - subset: *all_e2e_subsets - snapshots: false - requires: - - bazel-build - - - bazel-e2e-tests: - name: bazel-e2e-snapshots-<< matrix.subset >> - matrix: - parameters: - subset: *all_e2e_subsets - snapshots: true - pre-steps: - - when: - # Don't run snapshot E2E's unless it's on the main branch or the snapshots file has been updated. - condition: - and: - - not: - equal: [main, << pipeline.git.branch >>] - - not: << pipeline.parameters.snapshot_changed >> - steps: - - run: circleci-agent step halt - requires: - - bazel-build - <<: *only_snapshot_branches - - - bazel-test-browsers: - requires: - - bazel-build - # Publish jobs - snapshot_publish: - <<: *only_release_branches + # <<: *only_release_branches requires: - setup - e2e-cli From abcea344c32fd545f75ae6f6e5be711190a69172 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Feb 2023 10:18:19 +0000 Subject: [PATCH 1354/1388] docs: update developer guide to include new Bazel setup This commit updates the developer guide to include tips on how to run and debug tests when using the new Bazel E2E setup. --- docs/DEVELOPER.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index fef7faa06eae..f3a7e988306e 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -78,22 +78,22 @@ There are two different test suites which can be run locally: - Run a subset of the tests, use the full Bazel target example: `yarn bazel test //packages/schematics/angular:angular_test` - For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//packages/...)"` +When debugging a specific test, change `describe()` or `it()` to `fdescribe()` +and `fit()` to focus execution to just that one test. This will keep the output clean and speed up execution by not running irrelevant tests. + You can find more info about debugging [tests with Bazel in the docs.](https://github.com/angular/angular-cli/blob/main/docs/process/bazel.md#debugging-jasmine_node_test) ### End to end tests -- Compile the packages being tested: `yarn build` -- Run all tests: `node tests/legacy-cli/run_e2e.js` -- Run a subset of the tests: `node tests/legacy-cli/run_e2e.js tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` -- Run on a custom set of npm packages (tar files): `node tests/legacy-cli/run_e2e.js --package _angular_cli.tgz _angular_create.tgz dist/*.tgz tests/legacy-cli/e2e/tests/i18n/ivy-localize-*` +- For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//tests/...)"` +- Run a subset of the tests: `yarn bazel test //tests/legacy-cli:e2e --test_filter="tests/i18n/ivy-localize-*"` +- Use `bazel run` to debug failing tests debugging: `yarn bazel run //tests/legacy-cli:e2e --test_arg="--glob=tests/basic/aot.ts"` +- Provide additional `e2e_runner` using `--test_arg`: `--test_arg="--yarn"` When running the debug commands, Node will stop and wait for a debugger to attach. You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a simpler debug story. -When debugging a specific test, change `describe()` or `it()` to `fdescribe()` -and `fit()` to focus execution to just that one test. This will keep the output clean and speed up execution by not running irrelevant tests. - ## IDE Specific Usage Some additional tips for developing in specific IDEs. From f30a69f260ebe65e8afdae5f0757a7bf5a8110a6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Feb 2023 11:57:47 +0000 Subject: [PATCH 1355/1388] test: remove non bazel related setups This commits removes some of the non Bazel related checks that are no longer required. This also fixes some issues with `bazel run` --- .circleci/dynamic_config.yml | 2 +- tests/legacy-cli/BUILD.bazel | 4 +- .../e2e/initialize/500-create-project.ts | 13 +----- .../e2e/tests/build/esbuild-unsupported.ts | 3 +- tests/legacy-cli/e2e/utils/bazel.ts | 3 -- tests/legacy-cli/e2e/utils/process.ts | 7 +--- tests/legacy-cli/e2e/utils/project.ts | 40 +----------------- .../legacy-cli/e2e/utils/run_test_process.js | 3 -- tests/legacy-cli/e2e_runner.ts | 42 +++++-------------- tests/legacy-cli/run_e2e.js | 3 -- 10 files changed, 19 insertions(+), 101 deletions(-) delete mode 100644 tests/legacy-cli/e2e/utils/bazel.ts delete mode 100644 tests/legacy-cli/e2e/utils/run_test_process.js delete mode 100644 tests/legacy-cli/run_e2e.js diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 27303081e65f..1102d2c17c02 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -444,7 +444,7 @@ workflows: # Publish jobs - snapshot_publish: - # <<: *only_release_branches + <<: *only_release_branches requires: - setup - e2e-cli diff --git a/tests/legacy-cli/BUILD.bazel b/tests/legacy-cli/BUILD.bazel index 00be22b4442e..03d972e33481 100644 --- a/tests/legacy-cli/BUILD.bazel +++ b/tests/legacy-cli/BUILD.bazel @@ -4,7 +4,9 @@ load(":e2e.bzl", "e2e_suites") ts_library( name = "runner", testonly = True, - srcs = glob(["**/*.ts"]), + srcs = [ + "e2e_runner.ts", + ], data = [ "verdaccio.yaml", "verdaccio_auth.yaml", diff --git a/tests/legacy-cli/e2e/initialize/500-create-project.ts b/tests/legacy-cli/e2e/initialize/500-create-project.ts index b5ce6bd074d0..af73259c4460 100644 --- a/tests/legacy-cli/e2e/initialize/500-create-project.ts +++ b/tests/legacy-cli/e2e/initialize/500-create-project.ts @@ -1,10 +1,9 @@ import { join } from 'path'; import yargsParser from 'yargs-parser'; -import { IS_BAZEL } from '../utils/bazel'; import { getGlobalVariable } from '../utils/env'; import { expectFileToExist } from '../utils/fs'; import { gitClean } from '../utils/git'; -import { installPackage, setRegistry as setNPMConfigRegistry } from '../utils/packages'; +import { setRegistry as setNPMConfigRegistry } from '../utils/packages'; import { ng } from '../utils/process'; import { prepareProjectForE2e, updateJsonFile } from '../utils/project'; @@ -22,16 +21,6 @@ export default async function () { // Ensure local test registry is used when outside a project await setNPMConfigRegistry(true); - // Install puppeteer in the parent directory for use by the CLI within any test project. - // Align the version with the primary project package.json. - // Bazel has own browser toolchains - // TODO(bazel): remove non-bazel - if (!IS_BAZEL) { - const puppeteerVersion = - require('../../../../package.json').devDependencies.puppeteer.replace(/^[\^~]/, ''); - await installPackage(`puppeteer@${puppeteerVersion}`); - } - await ng('new', 'test-project', '--skip-install'); await expectFileToExist(join(process.cwd(), 'test-project')); process.chdir('./test-project'); diff --git a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts index b2dab3bbac07..2f47f64f627d 100644 --- a/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts +++ b/tests/legacy-cli/e2e/tests/build/esbuild-unsupported.ts @@ -1,10 +1,9 @@ import { join } from 'path'; -import { IS_BAZEL } from '../../utils/bazel'; import { execWithEnv } from '../../utils/process'; export default async function () { // TODO(bazel): fails with bazel on windows - if (IS_BAZEL && process.platform.startsWith('win')) { + if (process.platform.startsWith('win')) { return; } diff --git a/tests/legacy-cli/e2e/utils/bazel.ts b/tests/legacy-cli/e2e/utils/bazel.ts deleted file mode 100644 index 06a99f9023d5..000000000000 --- a/tests/legacy-cli/e2e/utils/bazel.ts +++ /dev/null @@ -1,3 +0,0 @@ -// TODO(bazel): remove this along with any non-bazel specific logic using it. - -export const IS_BAZEL = !!process.env.BAZEL_TARGET; diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index fa5f8afc3e2c..48e6775c2c2d 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -7,7 +7,6 @@ import { getGlobalVariable, getGlobalVariablesEnv } from './env'; import { catchError } from 'rxjs/operators'; import treeKill from 'tree-kill'; import { delimiter, join, resolve } from 'path'; -import { IS_BAZEL } from './bazel'; interface ExecOptions { silent?: boolean; @@ -420,11 +419,7 @@ export async function launchTestProcess(entry: string, ...args: any[]): Promise< .filter((p) => p.startsWith(tempRoot) || p.startsWith(TEMP) || !p.includes('angular-cli')) .join(delimiter); - const testProcessArgs = [ - resolve(__dirname, IS_BAZEL ? 'test_process' : 'run_test_process'), - entry, - ...args, - ]; + const testProcessArgs = [resolve(__dirname, 'test_process'), entry, ...args]; return new Promise((resolve, reject) => { spawn(process.execPath, testProcessArgs, { diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 2f9a00a21ab1..91425a615149 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -2,13 +2,12 @@ import * as fs from 'fs'; import * as path from 'path'; import { prerelease, SemVer } from 'semver'; import yargsParser from 'yargs-parser'; -import { IS_BAZEL } from './bazel'; import { getGlobalVariable } from './env'; import { readFile, replaceInFile, writeFile } from './fs'; import { gitCommit } from './git'; import { findFreePort } from './network'; import { installWorkspacePackages, PkgInfo } from './packages'; -import { exec, execAndWaitForOutputToMatch, git, ng } from './process'; +import { execAndWaitForOutputToMatch, git, ng } from './process'; export function updateJsonFile(filePath: string, fn: (json: any) => any | void) { return readFile(filePath).then((tsConfigJson) => { @@ -51,43 +50,6 @@ export async function prepareProjectForE2e(name: string) { await installWorkspacePackages(); await ng('generate', 'e2e', '--related-app-name', name); - // bazel will use its own sandboxed browser + webdriver - // TODO(bazel): remove non-bazel - if (!IS_BAZEL) { - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(await readFile(webdriverUpdatePath)) as { - chrome: { last: string }; - }; - - const chromeDriverVersion = webdriverUpdate.chrome.last.match(/chromedriver_([\d|\.]+)/)?.[1]; - if (!chromeDriverVersion) { - throw new Error('Could not extract chrome webdriver version.'); - } - - // Initialize selenium webdriver. - // Often fails the first time so attempt twice if necessary. - const runWebdriverUpdate = () => - exec( - process.execPath, - 'node_modules/protractor/bin/webdriver-manager', - 'update', - '--standalone', - 'false', - '--gecko', - 'false', - '--versions.chrome', - chromeDriverVersion, - ); - try { - await runWebdriverUpdate(); - } catch { - await runWebdriverUpdate(); - } - } - await useCIChrome(name, 'e2e'); await useCIChrome(name, ''); await useCIDefaults(name); diff --git a/tests/legacy-cli/e2e/utils/run_test_process.js b/tests/legacy-cli/e2e/utils/run_test_process.js deleted file mode 100644 index 1a7fa92ccfc7..000000000000 --- a/tests/legacy-cli/e2e/utils/run_test_process.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; -require('../../../../lib/bootstrap-local'); -require('./test_process'); diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index ef28132e58c9..9b03c73e29cc 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -1,4 +1,3 @@ -import { logging } from '../../packages/angular_devkit/core/src'; import { createConsoleLogger } from '../../packages/angular_devkit/core/node'; import * as colors from 'ansi-colors'; import glob from 'glob'; @@ -9,10 +8,9 @@ import { gitClean } from './e2e/utils/git'; import { createNpmRegistry } from './e2e/utils/registry'; import { launchTestProcess } from './e2e/utils/process'; import { delimiter, dirname, join } from 'path'; -import { IS_BAZEL } from './e2e/utils/bazel'; import { findFreePort } from './e2e/utils/network'; import { extractFile } from './e2e/utils/tar'; -import { readFileSync, realpathSync } from 'fs'; +import { realpathSync } from 'fs'; import { PkgInfo } from './e2e/utils/packages'; Error.stackTraceLimit = Infinity; @@ -57,12 +55,11 @@ const argv = yargsParser(process.argv.slice(2), { number: ['nb-shards', 'shard'], array: ['package'], configuration: { - 'dot-notation': false, 'camel-case-expansion': false, + 'dot-notation': false, }, default: { 'package': ['./dist/_*.tgz'], - 'debug': !!process.env.BUILD_WORKSPACE_DIRECTORY, 'glob': process.env.TESTBRIDGE_TEST_ONLY, 'nb-shards': @@ -119,23 +116,19 @@ function lastLogger() { } // Under bazel the compiled file (.js) and types (.d.ts) are available. -// Outside bazel the source .ts files are available. -const SRC_FILE_EXT = IS_BAZEL ? 'js' : 'ts'; -const SRC_FILE_EXT_RE = new RegExp(`\.${SRC_FILE_EXT}$`); - -const testGlob = argv.glob || `tests/**/*.${SRC_FILE_EXT}`; +const SRC_FILE_EXT_RE = /\.js$/; +const testGlob = argv.glob?.replace(/\.ts$/, '.js') || `tests/**/*.js`; const e2eRoot = path.join(__dirname, 'e2e'); -const allSetups = glob.sync(`setup/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }).sort(); -const allInitializers = glob - .sync(`initialize/**/*.${SRC_FILE_EXT}`, { nodir: true, cwd: e2eRoot }) - .sort(); +const allSetups = glob.sync(`setup/**/*.js`, { nodir: true, cwd: e2eRoot }).sort(); +const allInitializers = glob.sync(`initialize/**/*.js`, { nodir: true, cwd: e2eRoot }).sort(); + const allTests = glob .sync(testGlob, { nodir: true, cwd: e2eRoot, ignore: argv.ignore }) // Replace windows slashes. .map((name) => name.replace(/\\/g, '/')) .filter((name) => { - if (name.endsWith(`/setup.${SRC_FILE_EXT}`)) { + if (name.endsWith('/setup.js')) { return false; } if (!SRC_FILE_EXT_RE.test(name)) { @@ -212,21 +205,8 @@ setGlobalVariable('package-manager', argv.yarn ? 'yarn' : 'npm'); // // Resolve from relative paths to absolute paths within the bazel runfiles tree // so subprocesses spawned in a different working directory can still find them. -process.env.CHROME_BIN = IS_BAZEL - ? path.resolve(process.env.CHROME_BIN!) - : require('puppeteer').executablePath(); -process.env.CHROMEDRIVER_BIN = IS_BAZEL - ? path.resolve(process.env.CHROMEDRIVER_BIN!) - : (function () { - const protractorPath = require.resolve('protractor'); - const webdriverUpdatePath = require.resolve('webdriver-manager/selenium/update-config.json', { - paths: [protractorPath], - }); - const webdriverUpdate = JSON.parse(readFileSync(webdriverUpdatePath).toString()) as { - chrome: { last: string }; - }; - return webdriverUpdate.chrome.last; - })(); +process.env.CHROME_BIN = path.resolve(process.env.CHROME_BIN!); +process.env.CHROMEDRIVER_BIN = path.resolve(process.env.CHROMEDRIVER_BIN!); Promise.all([findFreePort(), findFreePort(), findPackageTars()]) .then(async ([httpPort, httpsPort, packageTars]) => { @@ -299,7 +279,7 @@ async function runSteps( const name = relativeName.replace(SRC_FILE_EXT_RE, ''); const start = Date.now(); - printHeader(relativeName, stepIndex, steps.length, type); + printHeader(name, stepIndex, steps.length, type); // Run the test function with the current file on the logStack. logStack.push(lastLogger().createChild(absoluteName)); diff --git a/tests/legacy-cli/run_e2e.js b/tests/legacy-cli/run_e2e.js deleted file mode 100644 index fb004c88a042..000000000000 --- a/tests/legacy-cli/run_e2e.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; -require('../../lib/bootstrap-local'); -require('./e2e_runner.ts'); From 150e530239faa2f745ac56e82334e2d5dab902c3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Feb 2023 14:48:17 +0000 Subject: [PATCH 1356/1388] ci: enable E2E tests on multiple node versions This commit sets ups Node 18 tool chain and also configures E2E tests to use multiple tools chains to retain the same behaviour prior to switching the e2e tests to Bazel. --- .circleci/dynamic_config.yml | 38 ++++++++++++++++++++++++++++-------- WORKSPACE | 5 +++++ docs/DEVELOPER.md | 4 ++-- tests/legacy-cli/e2e.bzl | 31 +++++++++++++++++++---------- tools/toolchain_info.bzl | 6 ++++++ 5 files changed, 64 insertions(+), 20 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 1102d2c17c02..329164ef76da 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -29,7 +29,7 @@ var_3: &default_nodeversion '14.20' var_3_major: &default_nodeversion_major '14' # The major version of node toolchains. See tools/toolchain_info.bzl # NOTE: entries in this array may be repeated elsewhere in the file, find them before adding more -var_3_all_major: &all_nodeversion_major ['14', '16'] +var_3_all_major: &all_nodeversion_major ['14', '16', '18'] # Workspace initially persisted by the `setup` job, and then enhanced by `setup-and-build-win`. # https://circleci.com/docs/2.0/workflows/#using-workspaces-to-share-data-among-jobs # https://circleci.com/blog/deep-diving-into-circleci-workspaces/ @@ -236,7 +236,7 @@ jobs: equal: [*default_nodeversion_major, << parameters.nodeversion >>] steps: - run: - command: yarn bazel test --test_tag_filters=-node16,-node<< parameters.nodeversion >>-broken //packages/... + command: yarn bazel test --test_tag_filters=-node16,-node18,-node<< parameters.nodeversion >>-broken //packages/... # This timeout provides time for the actual tests to timeout and report status # instead of CircleCI stopping the job without test failure information. no_output_timeout: 40m @@ -257,6 +257,9 @@ jobs: executor: bazel-executor parallelism: 8 parameters: + nodeversion: + type: string + default: *default_nodeversion snapshots: type: boolean default: false @@ -271,12 +274,12 @@ jobs: - run: mkdir /mnt/ramdisk/e2e - run: name: Execute CLI E2E Tests with << parameters.subset >> - command: yarn bazel test --define=E2E_TEMP=/mnt/ramdisk/e2e --define=E2E_SHARD_TOTAL=${CIRCLE_NODE_TOTAL} --define=E2E_SHARD_INDEX=${CIRCLE_NODE_INDEX} --config=e2e //tests/legacy-cli:e2e<<# parameters.snapshots >>.snapshots<>.<< parameters.subset >> + command: yarn bazel test --define=E2E_TEMP=/mnt/ramdisk/e2e --define=E2E_SHARD_TOTAL=${CIRCLE_NODE_TOTAL} --define=E2E_SHARD_INDEX=${CIRCLE_NODE_INDEX} --config=e2e //tests/legacy-cli:e2e<<# parameters.snapshots >>.snapshots<>.<< parameters.subset >>_node<< parameters.nodeversion >> no_output_timeout: 40m - store_artifacts: - path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> + path: dist/testlogs/tests/legacy-cli/e2e.<>.<< parameters.subset >> - store_test_results: - path: dist/testlogs/tests/legacy-cli/e2e.<< parameters.subset >> + path: dist/testlogs/tests/legacy-cli/e2e.<>.<< parameters.subset >> - fail_fast test-browsers: @@ -367,7 +370,7 @@ jobs: PWD: . command: | mkdir X:/ramdisk/e2e - bazel test --define=E2E_TEMP=X:/ramdisk/e2e --define=E2E_SHARD_TOTAL=$env:CIRCLE_NODE_TOTAL --define=E2E_SHARD_INDEX=$env:CIRCLE_NODE_INDEX --config=e2e //tests/legacy-cli:e2e.npm + bazel test --define=E2E_TEMP=X:/ramdisk/e2e --define=E2E_SHARD_TOTAL=$env:CIRCLE_NODE_TOTAL --define=E2E_SHARD_INDEX=$env:CIRCLE_NODE_INDEX --config=e2e //tests/legacy-cli:e2e.npm_node16 # This timeout provides time for the actual tests to timeout and report status # instead of CircleCI stopping the job without test failure information. no_output_timeout: 40m @@ -396,7 +399,10 @@ workflows: name: test-node<< matrix.nodeversion >> matrix: parameters: - nodeversion: *all_nodeversion_major + # Disable running this on Node.js 18 for now. This causes failures when using RBE. + # Example: `GLIBC_2.28' not found. + # Likely this is caused by outdated Ubuntu image https://github.com/angular/dev-infra/blob/main/bazel/remote-execution/BUILD.bazel#L21 + nodeversion: ['14', '16'] requires: - build @@ -405,18 +411,34 @@ workflows: requires: - setup + - e2e-tests: + name: e2e-cli-<< matrix.subset >> + nodeversion: *default_nodeversion_major + matrix: + parameters: + subset: *all_e2e_subsets + filters: + branches: + ignore: + - main + - /\d+\.\d+\.x/ + requires: + - build + - e2e-tests: name: e2e-cli-node-<>-<< matrix.subset >> matrix: alias: e2e-cli parameters: + nodeversion: *all_nodeversion_major subset: *all_e2e_subsets - snapshots: false requires: - build + <<: *only_release_branches - e2e-tests: name: e2e-snapshots-<< matrix.subset >> + nodeversion: *default_nodeversion_major matrix: parameters: subset: *all_e2e_subsets diff --git a/WORKSPACE b/WORKSPACE index 69140e06c5c2..8cdf26b35606 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -99,6 +99,11 @@ nodejs_register_toolchains( node_version = "16.13.1", ) +nodejs_register_toolchains( + name = "node18", + node_version = "18.10.0", +) + register_toolchains( "@npm//@angular/build-tooling/bazel/git-toolchain:git_linux_toolchain", "@npm//@angular/build-tooling/bazel/git-toolchain:git_macos_x86_toolchain", diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index f3a7e988306e..c92facb6f5b6 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -86,8 +86,8 @@ You can find more info about debugging [tests with Bazel in the docs.](https://g ### End to end tests - For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//tests/...)"` -- Run a subset of the tests: `yarn bazel test //tests/legacy-cli:e2e --test_filter="tests/i18n/ivy-localize-*"` -- Use `bazel run` to debug failing tests debugging: `yarn bazel run //tests/legacy-cli:e2e --test_arg="--glob=tests/basic/aot.ts"` +- Run a subset of the tests: `yarn bazel test //tests/legacy-cli:e2e_node16 --test_filter="tests/i18n/ivy-localize-*"` +- Use `bazel run` to debug failing tests debugging: `yarn bazel run //tests/legacy-cli:e2e_node16 --test_arg="--glob=tests/basic/aot.ts"` - Provide additional `e2e_runner` using `--test_arg`: `--test_arg="--yarn"` When running the debug commands, Node will stop and wait for a debugger to attach. diff --git a/tests/legacy-cli/e2e.bzl b/tests/legacy-cli/e2e.bzl index 3fe05bc0c442..948149eaede4 100644 --- a/tests/legacy-cli/e2e.bzl +++ b/tests/legacy-cli/e2e.bzl @@ -1,4 +1,5 @@ load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_test") +load("//tools:toolchain_info.bzl", "TOOLCHAINS_NAMES", "TOOLCHAINS_VERSIONS") # bazel query --output=label "kind('pkg_tar', //packages/...)" TESTED_PACKAGES = [ @@ -54,14 +55,19 @@ def e2e_suites(name, runner, data): data: runtime deps such as tests and test data """ - # Default target meant to be run manually for debugging, customizing test cli via bazel - _e2e_tests(name, runner = runner, data = data, tags = ["manual"]) - # Pre-configured test suites - # TODO: add node 14 + 16 - _e2e_suite(name, runner, "npm", data) - _e2e_suite(name, runner, "yarn", data) - _e2e_suite(name, runner, "esbuild", data) + for toolchain_name, toolchain in zip( + TOOLCHAINS_NAMES, + TOOLCHAINS_VERSIONS, + ): + # Default target meant to be run manually for debugging, customizing test cli via bazel + _e2e_tests(name + "_" + toolchain_name, runner, data = data, toolchain = toolchain, tags = ["manual"]) + + _e2e_suite(name, runner, "npm", data, toolchain_name, toolchain) + _e2e_suite(name, runner, "yarn", data, toolchain_name, toolchain) + _e2e_suite(name, runner, "esbuild", data, toolchain_name, toolchain) + + # Saucelabs tests are only run on the default toolchain _e2e_suite(name, runner, "saucelabs", data) def _e2e_tests(name, runner, **kwargs): @@ -107,7 +113,7 @@ def _e2e_tests(name, runner, **kwargs): **kwargs ) -def _e2e_suite(name, runner, type, data): +def _e2e_suite(name, runner, type, data, toolchain_name = "", toolchain = None): """ Setup a predefined test suite (yarn|esbuild|saucelabs|npm). """ @@ -115,6 +121,9 @@ def _e2e_suite(name, runner, type, data): tests = None ignore = None + if toolchain_name: + toolchain_name = "_" + toolchain_name + if type == "yarn": args.append("--yarn") tests = YARN_TESTS @@ -132,10 +141,11 @@ def _e2e_suite(name, runner, type, data): # Standard e2e tests _e2e_tests( - name = "%s.%s" % (name, type), + name = "%s.%s%s" % (name, type, toolchain_name), runner = runner, size = "enormous", data = data, + toolchain = toolchain, shard_count = TEST_SHARD_COUNT, templated_args = [ "--glob=%s" % _to_glob(tests) if tests else "", @@ -145,10 +155,11 @@ def _e2e_suite(name, runner, type, data): # e2e tests of snapshot builds _e2e_tests( - name = "%s.snapshots.%s" % (name, type), + name = "%s.snapshots.%s%s" % (name, type, toolchain_name), runner = runner, size = "enormous", data = data, + toolchain = toolchain, shard_count = TEST_SHARD_COUNT, templated_args = [ "--ng-snapshots", diff --git a/tools/toolchain_info.bzl b/tools/toolchain_info.bzl index 505fbc713168..ac159f397985 100644 --- a/tools/toolchain_info.bzl +++ b/tools/toolchain_info.bzl @@ -5,6 +5,7 @@ TOOLCHAINS_NAMES = [ "node14", "node16", + "node18", ] # this is the list of toolchains that should be used and are registered with nodejs_register_toolchains in the WORKSPACE file @@ -19,6 +20,11 @@ TOOLCHAINS_VERSIONS = [ "@bazel_tools//src/conditions:darwin": "@node16_darwin_amd64//:node_toolchain", "@bazel_tools//src/conditions:windows": "@node16_windows_amd64//:node_toolchain", }), + select({ + "@bazel_tools//src/conditions:linux_x86_64": "@node18_linux_amd64//:node_toolchain", + "@bazel_tools//src/conditions:darwin": "@node18_darwin_amd64//:node_toolchain", + "@bazel_tools//src/conditions:windows": "@node18_windows_amd64//:node_toolchain", + }), ] # A default toolchain for use when only one is necessary From 6bc23e8296e3e9cf43ccfb0a65498ede680c2fcc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Feb 2023 18:30:50 +0000 Subject: [PATCH 1357/1388] test(@angular/cli): disable one of the update-multiple expects This test is now failing, but this is the correct behaviour since we are using the public NPM registry. --- .../tests/update/update-multiple-versions.ts | 17 +++++++++-------- tests/legacy-cli/e2e/utils/process.ts | 8 +++++++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts index 3f11413fd39c..1905fab5a2ee 100644 --- a/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts +++ b/tests/legacy-cli/e2e/tests/update/update-multiple-versions.ts @@ -15,15 +15,16 @@ export default async function () { extraArgs.push('--next'); } + // TODO(alanagius): investigate how to re-enable this. This is failing but it's correct since we are using the public registry. // Update Angular from v13 to 14 - const { stdout } = await ng('update', ...extraArgs); - if (!/@angular\/core\s+13\.\d\.\d+ -> 14\.\d\.\d+\s+ng update @angular\/core@14/.test(stdout)) { - // @angular/core 13.x.x -> 14.x.x ng update @angular/core@14 - throw new Error( - `Output didn't match "@angular/core 13.x.x -> 14.x.x ng update @angular/core@14". OUTPUT: \n` + - stdout, - ); - } + // const { stdout } = await ng('update', ...extraArgs); + // if (!/@angular\/core\s+13\.\d\.\d+ -> 14\.\d\.\d+\s+ng update @angular\/core@14/.test(stdout)) { + // // @angular/core 13.x.x -> 14.x.x ng update @angular/core@14 + // throw new Error( + // `Output didn't match "@angular/core 13.x.x -> 14.x.x ng update @angular/core@14". OUTPUT: \n` + + // stdout, + // ); + // } const { message } = await expectToFail(() => ng('update', '@angular/core', ...extraArgs)); if ( diff --git a/tests/legacy-cli/e2e/utils/process.ts b/tests/legacy-cli/e2e/utils/process.ts index 48e6775c2c2d..02b24edd5a5e 100644 --- a/tests/legacy-cli/e2e/utils/process.ts +++ b/tests/legacy-cli/e2e/utils/process.ts @@ -16,7 +16,12 @@ interface ExecOptions { cwd?: string; } -const NPM_CONFIG_RE = /^(npm_config_|yarn_|no_update_notifier)/i; +/** + * While `NPM_CONFIG_` and `YARN_` are case insensitive we filter based on case. + * This is because when invoking a command using `yarn` it will add a bunch of these variables in lower case. + * This causes problems when we try to update the variables during the test setup. + */ +const NPM_CONFIG_RE = /^(NPM_CONFIG_|YARN_|NO_UPDATE_NOTIFIER)/; let _processes: child_process.ChildProcess[] = []; @@ -31,6 +36,7 @@ function _exec(options: ExecOptions, cmd: string, args: string[]): Promise Date: Fri, 10 Feb 2023 21:49:24 +0100 Subject: [PATCH 1358/1388] docs: improve grammar in e2e section Minor grammar fix. Co-authored-by: Charles <19598772+clydin@users.noreply.github.com> --- docs/DEVELOPER.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DEVELOPER.md b/docs/DEVELOPER.md index c92facb6f5b6..2d0c9a6b1e61 100644 --- a/docs/DEVELOPER.md +++ b/docs/DEVELOPER.md @@ -88,7 +88,7 @@ You can find more info about debugging [tests with Bazel in the docs.](https://g - For a complete list of test targets use the following Bazel query: `yarn bazel query "tests(//tests/...)"` - Run a subset of the tests: `yarn bazel test //tests/legacy-cli:e2e_node16 --test_filter="tests/i18n/ivy-localize-*"` - Use `bazel run` to debug failing tests debugging: `yarn bazel run //tests/legacy-cli:e2e_node16 --test_arg="--glob=tests/basic/aot.ts"` -- Provide additional `e2e_runner` using `--test_arg`: `--test_arg="--yarn"` +- Provide additional `e2e_runner` options using `--test_arg`: `--test_arg="--yarn"` When running the debug commands, Node will stop and wait for a debugger to attach. You can attach your IDE to the debugger to stop on breakpoints and step through the code. Also, see [IDE Specific Usage](#ide-specific-usage) for a From 421417a36b13a44d39e0818171482871ea8b895f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Fri, 10 Feb 2023 20:23:56 -0500 Subject: [PATCH 1359/1388] fix(@angular-devkit/build-angular): avoid CommonJS warning for zone.js in esbuild The `zone.js` package is currently built into a module structure form that resembles UMD-like output. This causes the CommonJS checker within the experimental esbuild-based browser application builder to issue a warning for `zone.js` usage. Until the packaging of `zone.js` is updated to become fully ESM, the `zone.js` package is automatically allowed when performing the CommonJS module check. --- package.json | 1 + .../angular_devkit/build_angular/BUILD.bazel | 6 +- .../browser-esbuild/commonjs-checker.ts | 4 + .../allowed-common-js-dependencies_spec.ts | 163 ++++++++++++++++++ yarn.lock | 18 +- 5 files changed, 181 insertions(+), 11 deletions(-) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/allowed-common-js-dependencies_spec.ts diff --git a/package.json b/package.json index c80b0eb2b904..6c72a135fe75 100644 --- a/package.json +++ b/package.json @@ -136,6 +136,7 @@ "babel-plugin-istanbul": "6.1.1", "bootstrap": "^4.0.0", "browserslist": "4.21.5", + "buffer": "6.0.3", "cacache": "17.0.4", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 07b83d5b8c9a..f534360f121b 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -339,7 +339,11 @@ LARGE_SPECS = { "@npm//popper.js", ], }, - "browser-esbuild": {}, + "browser-esbuild": { + "extra_deps": [ + "@npm//buffer", + ], + }, } [ diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts index 2c1432f64b66..1e1591825393 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/commonjs-checker.ts @@ -37,6 +37,10 @@ export function checkCommonJSModules( // Ignore Angular locale definitions which are currently UMD allowedRequests.add('@angular/common/locales'); + // Ignore zone.js due to it currently being built with a UMD like structure. + // Once the build output is updated to be fully ESM, this can be removed. + allowedRequests.add('zone.js'); + // Find all entry points that contain code (JS/TS) const files: string[] = []; for (const { entryPoint } of Object.values(metafile.outputs)) { diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/allowed-common-js-dependencies_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/allowed-common-js-dependencies_spec.ts new file mode 100644 index 000000000000..1270889744f3 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/allowed-common-js-dependencies_spec.ts @@ -0,0 +1,163 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "allowedCommonJsDependencies"', () => { + describe('given option is not set', () => { + for (const aot of [true, false]) { + it(`should show warning when depending on a Common JS bundle in ${ + aot ? 'AOT' : 'JIT' + } Mode`, async () => { + // Add a Common JS dependency + await harness.appendToFile('src/app/app.component.ts', `import 'buffer';`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + allowedCommonJsDependencies: [], + optimization: true, + aot, + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching( + /Module 'buffer' used by 'src\/app\/app\.component\.ts' is not ESM/, + ), + }), + ); + expect(logs).toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/CommonJS or AMD dependencies/), + }), + ); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching('base64-js'), + }), + 'Should not warn on transitive CommonJS packages which parent is also CommonJS.', + ); + }); + } + }); + + it('should not show warning when depending on a Common JS bundle which is allowed', async () => { + // Add a Common JS dependency + await harness.appendToFile( + 'src/app/app.component.ts', + ` + import 'buffer'; + `, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + allowedCommonJsDependencies: ['buffer', 'base64-js', 'ieee754'], + optimization: true, + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/CommonJS or AMD dependencies/), + }), + ); + }); + + it('should not show warning when depending on zone.js', async () => { + // Add a Common JS dependency + await harness.appendToFile( + 'src/app/app.component.ts', + ` + import 'zone.js'; + `, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + allowedCommonJsDependencies: [], + optimization: true, + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/CommonJS or AMD dependencies/), + }), + ); + }); + + it(`should not show warning when importing non global local data '@angular/common/locale/fr'`, async () => { + await harness.appendToFile( + 'src/app/app.component.ts', + `import '@angular/common/locales/fr';`, + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + allowedCommonJsDependencies: [], + optimization: true, + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/CommonJS or AMD dependencies/), + }), + ); + }); + + it('should not show warning in JIT for templateUrl and styleUrl when using paths', async () => { + await harness.modifyFile('tsconfig.json', (content) => { + return content.replace( + /"baseUrl": ".\/",/, + ` + "baseUrl": "./", + "paths": { + "@app/*": [ + "src/app/*" + ] + }, + `, + ); + }); + + await harness.modifyFile('src/app/app.module.ts', (content) => + content.replace('./app.component', '@app/app.component'), + ); + + harness.useTarget('build', { + ...BASE_OPTIONS, + allowedCommonJsDependencies: [], + optimization: true, + aot: false, + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/CommonJS or AMD dependencies/), + }), + ); + }); + }); +}); diff --git a/yarn.lock b/yarn.lock index 9fe3dbe47255..bbcbd2f873ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07": version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" - uid f7d26a0b0d6bd2043f2d32c2a99db903539d0c07 resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" @@ -307,7 +306,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75": version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" - uid "8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -4499,6 +4497,14 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer@6.0.3, buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -4507,14 +4513,6 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - builtin-modules@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" From d439cb972779380a581b66f70cf37a37c6560dfe Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 13 Feb 2023 09:20:17 +0000 Subject: [PATCH 1360/1388] build: update all non-major dependencies --- package.json | 12 +- .../angular_devkit/build_angular/package.json | 6 +- .../angular_devkit/schematics/package.json | 2 +- yarn.lock | 268 +++++++++--------- 4 files changed, 151 insertions(+), 137 deletions(-) diff --git a/package.json b/package.json index 6c72a135fe75..ff0ea4b3f887 100644 --- a/package.json +++ b/package.json @@ -144,9 +144,9 @@ "cross-env": "^7.0.3", "css-loader": "6.7.3", "debug": "^4.1.1", - "esbuild": "0.17.7", - "esbuild-wasm": "0.17.7", - "eslint": "8.33.0", + "esbuild": "0.17.8", + "esbuild-wasm": "0.17.8", + "eslint": "8.34.0", "eslint-config-prettier": "8.6.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.27.5", @@ -173,9 +173,9 @@ "license-checker": "^25.0.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", - "magic-string": "0.27.0", + "magic-string": "0.29.0", "mini-css-extract-plugin": "2.7.2", - "minimatch": "~6.1.0", + "minimatch": "~6.2.0", "ng-packagr": "15.1.2", "node-fetch": "^2.2.0", "npm": "^8.11.0", @@ -193,7 +193,7 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "21.0.10", + "quicktype-core": "21.0.13", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.58.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 9262138cf68d..76630a66d7c7 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -32,7 +32,7 @@ "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", "css-loader": "6.7.3", - "esbuild-wasm": "0.17.7", + "esbuild-wasm": "0.17.8", "glob": "8.1.0", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", @@ -42,7 +42,7 @@ "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", - "magic-string": "0.27.0", + "magic-string": "0.29.0", "mini-css-extract-plugin": "2.7.2", "open": "8.4.1", "ora": "5.4.1", @@ -68,7 +68,7 @@ "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { - "esbuild": "0.17.7" + "esbuild": "0.17.8" }, "peerDependencies": { "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json index 8b17f8f084d0..2d962010f2d9 100644 --- a/packages/angular_devkit/schematics/package.json +++ b/packages/angular_devkit/schematics/package.json @@ -15,7 +15,7 @@ "dependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", "jsonc-parser": "3.2.0", - "magic-string": "0.27.0", + "magic-string": "0.29.0", "ora": "5.4.1", "rxjs": "6.6.7" } diff --git a/yarn.lock b/yarn.lock index bbcbd2f873ae..00f4c0bb0468 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1376,10 +1376,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b" integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg== -"@esbuild/android-arm64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.7.tgz#7d22b442815624423de5541545401e12a8d474d8" - integrity sha512-fOUBZvcbtbQJIj2K/LMKcjULGfXLV9R4qjXFsi3UuqFhIRJHz0Fp6kFjsMFI6vLuPrfC5G9Dmh+3RZOrSKY2Lg== +"@esbuild/android-arm64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz#b3d5b65a3b2e073a6c7ee36b1f3c30c8f000315b" + integrity sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ== "@esbuild/android-arm@0.17.5": version "0.17.5" @@ -1391,10 +1391,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26" integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g== -"@esbuild/android-arm@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.7.tgz#fa30de0cfae8e8416c693dc449c415765542483b" - integrity sha512-Np6Lg8VUiuzHP5XvHU7zfSVPN4ILdiOhxA1GQ1uvCK2T2l3nI8igQV0c9FJx4hTkq8WGqhGEvn5UuRH8jMkExg== +"@esbuild/android-arm@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.8.tgz#c41e496af541e175369d48164d0cf01a5f656cf6" + integrity sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w== "@esbuild/android-x64@0.17.5": version "0.17.5" @@ -1406,10 +1406,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462" integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ== -"@esbuild/android-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.7.tgz#34a1af914510ec821246859f8ae7d8fe843dd37b" - integrity sha512-6YILpPvop1rPAvaO/n2iWQL45RyTVTR/1SK7P6Xi2fyu+hpEeX22fE2U2oJd1sfpovUJOWTRdugjddX6QCup3A== +"@esbuild/android-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.8.tgz#080fa67c29be77f5a3ca5ee4cc78d5bf927e3a3b" + integrity sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg== "@esbuild/darwin-arm64@0.17.5": version "0.17.5" @@ -1421,10 +1421,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646" integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA== -"@esbuild/darwin-arm64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.7.tgz#06712059a30a6130eef701fb634883a4aaea02f7" - integrity sha512-7i0gfFsDt1BBiurZz5oZIpzfxqy5QkJmhXdtrf2Hma/gI9vL2AqxHhRBoI1NeWc9IhN1qOzWZrslhiXZweMSFg== +"@esbuild/darwin-arm64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz#053622bf9a82f43d5c075b7818e02618f7b4a397" + integrity sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg== "@esbuild/darwin-x64@0.17.5": version "0.17.5" @@ -1436,10 +1436,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569" integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg== -"@esbuild/darwin-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.7.tgz#58cd69d00d5b9847ad2015858a7ec3f10bf309ad" - integrity sha512-hRvIu3vuVIcv4SJXEKOHVsNssM5tLE2xWdb9ZyJqsgYp+onRa5El3VJ4+WjTbkf/A2FD5wuMIbO2FCTV39LE0w== +"@esbuild/darwin-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz#8a1aadb358d537d8efad817bb1a5bff91b84734b" + integrity sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw== "@esbuild/freebsd-arm64@0.17.5": version "0.17.5" @@ -1451,10 +1451,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4" integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg== -"@esbuild/freebsd-arm64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.7.tgz#1dd3de24a9683c8321a4e3c42b11b32a48e791d4" - integrity sha512-2NJjeQ9kiabJkVXLM3sHkySqkL1KY8BeyLams3ITyiLW10IwDL0msU5Lq1cULCn9zNxt1Seh1I6QrqyHUvOtQw== +"@esbuild/freebsd-arm64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz#e6738d0081ba0721a5c6c674e84c6e7fcea61989" + integrity sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A== "@esbuild/freebsd-x64@0.17.5": version "0.17.5" @@ -1466,10 +1466,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f" integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q== -"@esbuild/freebsd-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.7.tgz#b0e409e1c7cc05412c8dd149c2c39e0a1dee9567" - integrity sha512-8kSxlbjuLYMoIgvRxPybirHJeW45dflyIgHVs+jzMYJf87QOay1ZUTzKjNL3vqHQjmkSn8p6KDfHVrztn7Rprw== +"@esbuild/freebsd-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz#1855e562f2b730f4483f6e94086e9e2597feb4c3" + integrity sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q== "@esbuild/linux-arm64@0.17.5": version "0.17.5" @@ -1481,10 +1481,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079" integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w== -"@esbuild/linux-arm64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.7.tgz#35cfae28e460b96ccc027eccc28b13c0712d6df3" - integrity sha512-43Bbhq3Ia/mGFTCRA4NlY8VRH3dLQltJ4cqzhSfq+cdvdm9nKJXVh4NUkJvdZgEZIkf/ufeMmJ0/22v9btXTcw== +"@esbuild/linux-arm64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz#481da38952721a3fdb77c17a36ceaacc4270b5c5" + integrity sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww== "@esbuild/linux-arm@0.17.5": version "0.17.5" @@ -1496,10 +1496,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110" integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw== -"@esbuild/linux-arm@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.7.tgz#a378301c253ef64d19a112c9ec922680c2fb5a71" - integrity sha512-07RsAAzznWqdfJC+h3L2UVWwnUHepsFw5GmzySnUspHHb7glJ1+47rvlcH0SeUtoVOs8hF4/THgZbtJRyALaJA== +"@esbuild/linux-arm@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz#18127072b270bb6321c6d11be20bfd30e0d6ad17" + integrity sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA== "@esbuild/linux-ia32@0.17.5": version "0.17.5" @@ -1511,10 +1511,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278" integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ== -"@esbuild/linux-ia32@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.7.tgz#7d36087db95b1faaee8df203c511775a4d322a2b" - integrity sha512-ViYkfcfnbwOoTS7xE4DvYFv7QOlW8kPBuccc4erJ0jx2mXDPR7e0lYOH9JelotS9qe8uJ0s2i3UjUvjunEp53A== +"@esbuild/linux-ia32@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz#ee400af7b3bc69e8ca2e593ca35156ffb9abd54f" + integrity sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA== "@esbuild/linux-loong64@0.17.5": version "0.17.5" @@ -1526,10 +1526,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad" integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ== -"@esbuild/linux-loong64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.7.tgz#b989253520308d81ee0e4846de9f63f2f11c7f10" - integrity sha512-H1g+AwwcqYQ/Hl/sMcopRcNLY/fysIb/ksDfCa3/kOaHQNhBrLeDYw+88VAFV5U6oJL9GqnmUj72m9Nv3th3hA== +"@esbuild/linux-loong64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz#8c509d8a454693d39824b83b3f66c400872fce82" + integrity sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA== "@esbuild/linux-mips64el@0.17.5": version "0.17.5" @@ -1541,10 +1541,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af" integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA== -"@esbuild/linux-mips64el@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.7.tgz#ae751365cdf967dfa89dd59cdb0dcc8723a66f9a" - integrity sha512-MDLGrVbTGYtmldlbcxfeDPdhxttUmWoX3ovk9u6jc8iM+ueBAFlaXKuUMCoyP/zfOJb+KElB61eSdBPSvNcCEg== +"@esbuild/linux-mips64el@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz#f2b0d36e63fb26bc3f95b203b6a80638292101ca" + integrity sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA== "@esbuild/linux-ppc64@0.17.5": version "0.17.5" @@ -1556,10 +1556,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19" integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg== -"@esbuild/linux-ppc64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.7.tgz#ad1c9299c463f0409e57166e76e91afb6193ea9f" - integrity sha512-UWtLhRPKzI+v2bKk4j9rBpGyXbLAXLCOeqt1tLVAt1mfagHpFjUzzIHCpPiUfY3x1xY5e45/+BWzGpqqvSglNw== +"@esbuild/linux-ppc64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz#1e628be003e036e90423716028cc884fe5ba25bd" + integrity sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw== "@esbuild/linux-riscv64@0.17.5": version "0.17.5" @@ -1571,10 +1571,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a" integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ== -"@esbuild/linux-riscv64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.7.tgz#84acb7451bef7458e6067d9c358026ffa1831910" - integrity sha512-3C/RTKqZauUwBYtIQAv7ELTJd+H2dNKPyzwE2ZTbz2RNrNhNHRoeKnG5C++eM6nSZWUCLyyaWfq1v1YRwBS/+A== +"@esbuild/linux-riscv64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz#419a815cb4c3fb9f1b78ef5295f5b48b8bf6427a" + integrity sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw== "@esbuild/linux-s390x@0.17.5": version "0.17.5" @@ -1586,10 +1586,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc" integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q== -"@esbuild/linux-s390x@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.7.tgz#0bf23c78c52ea60ae4ea95239b728683a86a7ab8" - integrity sha512-x7cuRSCm998KFZqGEtSo8rI5hXLxWji4znZkBhg2FPF8A8lxLLCsSXe2P5utf0RBQflb3K97dkEH/BJwTqrbDw== +"@esbuild/linux-s390x@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz#291c49ae5c3d11d226352755c0835911fe1a9e5c" + integrity sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw== "@esbuild/linux-x64@0.17.5": version "0.17.5" @@ -1601,10 +1601,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0" integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw== -"@esbuild/linux-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.7.tgz#932d8c6e1b0d6a57a4e94a8390dfebeebba21dcc" - integrity sha512-1Z2BtWgM0Wc92WWiZR5kZ5eC+IetI++X+nf9NMbUvVymt74fnQqwgM5btlTW7P5uCHfq03u5MWHjIZa4o+TnXQ== +"@esbuild/linux-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz#03199d91c76faf80bd54104f5cbf0a489bc39f6a" + integrity sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA== "@esbuild/netbsd-x64@0.17.5": version "0.17.5" @@ -1616,10 +1616,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9" integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A== -"@esbuild/netbsd-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.7.tgz#6aa81873c6e08aa419378e07c8d3eed5aa77bf25" - integrity sha512-//VShPN4hgbmkDjYNCZermIhj8ORqoPNmAnwSPqPtBB0xOpHrXMlJhsqLNsgoBm0zi/5tmy//WyL6g81Uq2c6Q== +"@esbuild/netbsd-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz#b436d767e1b21852f9ed212e2bb57f77203b0ae2" + integrity sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q== "@esbuild/openbsd-x64@0.17.5": version "0.17.5" @@ -1631,10 +1631,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083" integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw== -"@esbuild/openbsd-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.7.tgz#0698f260250a7022e2cae7385cbd09a86eb0967c" - integrity sha512-IQ8BliXHiOsbQEOHzc7mVLIw2UYPpbOXJQ9cK1nClNYQjZthvfiA6rWZMz4BZpVzHZJ+/H2H23cZwRJ1NPYOGg== +"@esbuild/openbsd-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz#d1481d8539e21d4729cd04a0450a26c2c8789e89" + integrity sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg== "@esbuild/sunos-x64@0.17.5": version "0.17.5" @@ -1646,10 +1646,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73" integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw== -"@esbuild/sunos-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.7.tgz#ef97445672deec50e3b3549af2ee6d42fbc04250" - integrity sha512-phO5HvU3SyURmcW6dfQXX4UEkFREUwaoiTgi1xH+CAFKPGsrcG6oDp1U70yQf5lxRKujoSCEIoBr0uFykJzN2g== +"@esbuild/sunos-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz#2cfb8126e079b2c00fd1bf095541e9f5c47877e4" + integrity sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw== "@esbuild/win32-arm64@0.17.5": version "0.17.5" @@ -1661,10 +1661,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21" integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg== -"@esbuild/win32-arm64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.7.tgz#70865d2332d7883e2e49077770adfe51c51343e3" - integrity sha512-G/cRKlYrwp1B0uvzEdnFPJ3A6zSWjnsRrWivsEW0IEHZk+czv0Bmiwa51RncruHLjQ4fGsvlYPmCmwzmutPzHA== +"@esbuild/win32-arm64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz#7c6ecfd097ca23b82119753bf7072bbaefe51e3a" + integrity sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg== "@esbuild/win32-ia32@0.17.5": version "0.17.5" @@ -1676,10 +1676,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e" integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg== -"@esbuild/win32-ia32@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.7.tgz#39831b787013c7da7e61c8eb6a9df0fed9bd0fcb" - integrity sha512-/yMNVlMew07NrOflJdRAZcMdUoYTOCPbCHx0eHtg55l87wXeuhvYOPBQy5HLX31Ku+W2XsBD5HnjUjEUsTXJug== +"@esbuild/win32-ia32@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz#cffec63c3cb0ef8563a04df4e09fa71056171d00" + integrity sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w== "@esbuild/win32-x64@0.17.5": version "0.17.5" @@ -1691,10 +1691,10 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz#563ff4277f1230a006472664fa9278a83dd124da" integrity sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA== -"@esbuild/win32-x64@0.17.7": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.7.tgz#03b231fcfa0702562978979468dfc8b09b55ac59" - integrity sha512-K9/YybM6WZO71x73Iyab6mwieHtHjm9hrPR/a9FBPZmFO3w+fJaM2uu2rt3JYf/rZR24MFwTliI8VSoKKOtYtg== +"@esbuild/win32-x64@0.17.8": + version "0.17.8" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz#200a0965cf654ac28b971358ecdca9cc5b44c335" + integrity sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg== "@eslint/eslintrc@^1.4.1": version "1.4.1" @@ -5636,10 +5636,10 @@ esbuild-wasm@0.17.5: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g== -esbuild-wasm@0.17.7: - version "0.17.7" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.7.tgz#cdca271574108430ca3dd52e64182d13cdf6d7f7" - integrity sha512-2po3VY6Gc3ZSQJH1BU4QWrPMwIuFsjycdi28i5+rQxJKWX0p1RRlHWP+hoYNHHhXKp3LkPNO+Vki3o859ika+g== +esbuild-wasm@0.17.8: + version "0.17.8" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz#c2348306430c27613ee3cc9a955cdd54df29137a" + integrity sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ== esbuild-wasm@^0.17.0: version "0.17.6" @@ -5674,33 +5674,33 @@ esbuild@0.17.5: "@esbuild/win32-ia32" "0.17.5" "@esbuild/win32-x64" "0.17.5" -esbuild@0.17.7: - version "0.17.7" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.7.tgz#a7ace55f2bf82fdb1c9013a924620ce2596984fa" - integrity sha512-+5hHlrK108fT6C6/40juy0w4DYKtyZ5NjfBlTccBdsFutR7WBxpIY633JzZJewdsCy8xWA/u2z0MSniIJwufYg== +esbuild@0.17.8: + version "0.17.8" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.8.tgz#f7f799abc7cdce3f0f2e3e0c01f120d4d55193b4" + integrity sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g== optionalDependencies: - "@esbuild/android-arm" "0.17.7" - "@esbuild/android-arm64" "0.17.7" - "@esbuild/android-x64" "0.17.7" - "@esbuild/darwin-arm64" "0.17.7" - "@esbuild/darwin-x64" "0.17.7" - "@esbuild/freebsd-arm64" "0.17.7" - "@esbuild/freebsd-x64" "0.17.7" - "@esbuild/linux-arm" "0.17.7" - "@esbuild/linux-arm64" "0.17.7" - "@esbuild/linux-ia32" "0.17.7" - "@esbuild/linux-loong64" "0.17.7" - "@esbuild/linux-mips64el" "0.17.7" - "@esbuild/linux-ppc64" "0.17.7" - "@esbuild/linux-riscv64" "0.17.7" - "@esbuild/linux-s390x" "0.17.7" - "@esbuild/linux-x64" "0.17.7" - "@esbuild/netbsd-x64" "0.17.7" - "@esbuild/openbsd-x64" "0.17.7" - "@esbuild/sunos-x64" "0.17.7" - "@esbuild/win32-arm64" "0.17.7" - "@esbuild/win32-ia32" "0.17.7" - "@esbuild/win32-x64" "0.17.7" + "@esbuild/android-arm" "0.17.8" + "@esbuild/android-arm64" "0.17.8" + "@esbuild/android-x64" "0.17.8" + "@esbuild/darwin-arm64" "0.17.8" + "@esbuild/darwin-x64" "0.17.8" + "@esbuild/freebsd-arm64" "0.17.8" + "@esbuild/freebsd-x64" "0.17.8" + "@esbuild/linux-arm" "0.17.8" + "@esbuild/linux-arm64" "0.17.8" + "@esbuild/linux-ia32" "0.17.8" + "@esbuild/linux-loong64" "0.17.8" + "@esbuild/linux-mips64el" "0.17.8" + "@esbuild/linux-ppc64" "0.17.8" + "@esbuild/linux-riscv64" "0.17.8" + "@esbuild/linux-s390x" "0.17.8" + "@esbuild/linux-x64" "0.17.8" + "@esbuild/netbsd-x64" "0.17.8" + "@esbuild/openbsd-x64" "0.17.8" + "@esbuild/sunos-x64" "0.17.8" + "@esbuild/win32-arm64" "0.17.8" + "@esbuild/win32-ia32" "0.17.8" + "@esbuild/win32-x64" "0.17.8" esbuild@^0.17.0: version "0.17.6" @@ -5830,10 +5830,10 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.33.0: - version "8.33.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.33.0.tgz#02f110f32998cb598c6461f24f4d306e41ca33d7" - integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== +eslint@8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== dependencies: "@eslint/eslintrc" "^1.4.1" "@humanwhocodes/config-array" "^0.11.8" @@ -8013,6 +8013,13 @@ magic-string@0.27.0, magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" +magic-string@0.29.0: + version "0.29.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.29.0.tgz#f034f79f8c43dba4ae1730ffb5e8c4e084b16cf3" + integrity sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -8184,7 +8191,7 @@ minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" -minimatch@^6.1.6, minimatch@~6.1.0: +minimatch@^6.1.6: version "6.1.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.6.tgz#5384bb324be5b5dae12a567c03d22908febd0ddd" integrity sha512-6bR3UIeh/DF8+p6A9Spyuy67ShOq42rOkHWi7eUe3Ua99Zo5lZfGC6lJJWkeoK4k9jQFT3Pl7czhTXimG2XheA== @@ -8198,6 +8205,13 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" + integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" @@ -9609,10 +9623,10 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@21.0.10: - version "21.0.10" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.10.tgz#422f8e3b35ca7694bd2ea71a3efa0ca59c1475f4" - integrity sha512-aS4vDe63cho1fYtC0qiYcXcAJ0gbZxP32Q5jFug3sOhGoHjplUSHltM3oS6+nMDf0hBZ2uyDigu3+QEJA54+LQ== +quicktype-core@21.0.13: + version "21.0.13" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.13.tgz#e571b172ce29a99ca1293a2817a95e04d5d3ed74" + integrity sha512-E58jqsbKSB8K5AFqPBbayLXGg3L0/NdKzIETPoZRrbtrugoFKTU7GwHNEtpZw8CrkWaCywrVGr1Ckv18Z3W7BA== dependencies: "@glideapps/ts-necessities" "2.1.2" "@types/urijs" "^1.19.19" From 93361f6eb233afdc80a754d58934d92d3a0662fb Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Sat, 11 Feb 2023 06:13:45 +0000 Subject: [PATCH 1361/1388] build: update github/codeql-action action to v2.2.4 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 17b53861168f..f1ab28e039a3 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -46,6 +46,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@8775e868027fa230df8586bdf502bbd9b618a477 # v2.2.3 + uses: github/codeql-action/upload-sarif@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # v2.2.4 with: sarif_file: results.sarif From ba01319836f7066f73f5f1b85200bbfcdb852aae Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 13 Feb 2023 16:20:34 +0000 Subject: [PATCH 1362/1388] build: lock file maintenance --- yarn.lock | 267 ++++++++++++------------------------------------------ 1 file changed, 60 insertions(+), 207 deletions(-) diff --git a/yarn.lock b/yarn.lock index 00f4c0bb0468..9dd62be2c86a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,6 +121,7 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07": version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" + uid f7d26a0b0d6bd2043f2d32c2a99db903539d0c07 resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" @@ -306,6 +307,7 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75": version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" + uid "8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -1239,6 +1241,11 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + "@babel/runtime@7.20.13", "@babel/runtime@^7.15.4", "@babel/runtime@^7.8.4": version "7.20.13" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" @@ -1371,11 +1378,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.5.tgz#a145f43018e639bed94ed637369e2dcdd6bf9ea2" integrity sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw== -"@esbuild/android-arm64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b" - integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg== - "@esbuild/android-arm64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz#b3d5b65a3b2e073a6c7ee36b1f3c30c8f000315b" @@ -1386,11 +1388,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.5.tgz#9fa2deff7fc5d180bb4ecff70beea3a95ac44251" integrity sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ== -"@esbuild/android-arm@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26" - integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g== - "@esbuild/android-arm@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.8.tgz#c41e496af541e175369d48164d0cf01a5f656cf6" @@ -1401,11 +1398,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.5.tgz#145fc61f810400e65a56b275280d1422a102c2ef" integrity sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA== -"@esbuild/android-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462" - integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ== - "@esbuild/android-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.8.tgz#080fa67c29be77f5a3ca5ee4cc78d5bf927e3a3b" @@ -1416,11 +1408,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.5.tgz#61fb0546aa4bae0850817d6e0d008b1cb3f64b49" integrity sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw== -"@esbuild/darwin-arm64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646" - integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA== - "@esbuild/darwin-arm64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz#053622bf9a82f43d5c075b7818e02618f7b4a397" @@ -1431,11 +1418,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.5.tgz#54b770f0c49f524ae9ba24c85d6dea8b521f610d" integrity sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA== -"@esbuild/darwin-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569" - integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg== - "@esbuild/darwin-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz#8a1aadb358d537d8efad817bb1a5bff91b84734b" @@ -1446,11 +1428,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.5.tgz#be1dd18b7b9411f10bdc362ba8bff16386175367" integrity sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg== -"@esbuild/freebsd-arm64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4" - integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg== - "@esbuild/freebsd-arm64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz#e6738d0081ba0721a5c6c674e84c6e7fcea61989" @@ -1461,11 +1438,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.5.tgz#c9c1960fa3e1eada4e5d4be2a11a2f04ce14198f" integrity sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg== -"@esbuild/freebsd-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f" - integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q== - "@esbuild/freebsd-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz#1855e562f2b730f4483f6e94086e9e2597feb4c3" @@ -1476,11 +1448,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.5.tgz#34d96d11c6899017ecae42fb97de8e0c3282902f" integrity sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg== -"@esbuild/linux-arm64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079" - integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w== - "@esbuild/linux-arm64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz#481da38952721a3fdb77c17a36ceaacc4270b5c5" @@ -1491,11 +1458,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.5.tgz#86332e6293fd713a54ab299a5e2ed7c60c9e1c07" integrity sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw== -"@esbuild/linux-arm@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110" - integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw== - "@esbuild/linux-arm@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz#18127072b270bb6321c6d11be20bfd30e0d6ad17" @@ -1506,11 +1468,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.5.tgz#7bd9185c844e7dfce6a01dfdec584e115602a8c4" integrity sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ== -"@esbuild/linux-ia32@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278" - integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ== - "@esbuild/linux-ia32@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz#ee400af7b3bc69e8ca2e593ca35156ffb9abd54f" @@ -1521,11 +1478,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.5.tgz#2907d4120c7b3642b96be6014f77e7624c378eea" integrity sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g== -"@esbuild/linux-loong64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad" - integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ== - "@esbuild/linux-loong64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz#8c509d8a454693d39824b83b3f66c400872fce82" @@ -1536,11 +1488,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.5.tgz#fc98be741e8080ecd13b404d5fca5302d3835bf4" integrity sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg== -"@esbuild/linux-mips64el@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af" - integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA== - "@esbuild/linux-mips64el@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz#f2b0d36e63fb26bc3f95b203b6a80638292101ca" @@ -1551,11 +1498,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.5.tgz#ea12e8f6b290a613ac4903c9e00835c69ced065c" integrity sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg== -"@esbuild/linux-ppc64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19" - integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg== - "@esbuild/linux-ppc64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz#1e628be003e036e90423716028cc884fe5ba25bd" @@ -1566,11 +1508,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.5.tgz#ce47b15fd4227eeb0590826e41bdc430c5bfd06c" integrity sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ== -"@esbuild/linux-riscv64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a" - integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ== - "@esbuild/linux-riscv64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz#419a815cb4c3fb9f1b78ef5295f5b48b8bf6427a" @@ -1581,11 +1518,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.5.tgz#962fa540d7498967270eb1d4b9ac6c4a4f339735" integrity sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw== -"@esbuild/linux-s390x@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc" - integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q== - "@esbuild/linux-s390x@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz#291c49ae5c3d11d226352755c0835911fe1a9e5c" @@ -1596,11 +1528,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.5.tgz#9fa52884c3d876593a522aa1d4df43b717907050" integrity sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g== -"@esbuild/linux-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0" - integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw== - "@esbuild/linux-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz#03199d91c76faf80bd54104f5cbf0a489bc39f6a" @@ -1611,11 +1538,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.5.tgz#47bb187b86aad9622051cb80c27e439b7d9e3a9a" integrity sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA== -"@esbuild/netbsd-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9" - integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A== - "@esbuild/netbsd-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz#b436d767e1b21852f9ed212e2bb57f77203b0ae2" @@ -1626,11 +1548,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.5.tgz#abc55c35a1ed2bc3c5ede2ef50a3b2f87395009a" integrity sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw== -"@esbuild/openbsd-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083" - integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw== - "@esbuild/openbsd-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz#d1481d8539e21d4729cd04a0450a26c2c8789e89" @@ -1641,11 +1558,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.5.tgz#b83c080a2147662599a5d18b2ff47f07c93e03a0" integrity sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw== -"@esbuild/sunos-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73" - integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw== - "@esbuild/sunos-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz#2cfb8126e079b2c00fd1bf095541e9f5c47877e4" @@ -1656,11 +1568,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.5.tgz#2a4c41f427d9cf25b75f9d61493711a482106850" integrity sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg== -"@esbuild/win32-arm64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21" - integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg== - "@esbuild/win32-arm64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz#7c6ecfd097ca23b82119753bf7072bbaefe51e3a" @@ -1671,11 +1578,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.5.tgz#7c14e3250725d0e2c21f89c98eb6abb520cba0e0" integrity sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ== -"@esbuild/win32-ia32@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e" - integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg== - "@esbuild/win32-ia32@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz#cffec63c3cb0ef8563a04df4e09fa71056171d00" @@ -1686,11 +1588,6 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.5.tgz#a8f3d26d8afc5186eccda265ceb1820b8e8830be" integrity sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw== -"@esbuild/win32-x64@0.17.6": - version "0.17.6" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz#563ff4277f1230a006472664fa9278a83dd124da" - integrity sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA== - "@esbuild/win32-x64@0.17.8": version "0.17.8" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz#200a0965cf654ac28b971358ecdca9cc5b44c335" @@ -3352,9 +3249,9 @@ integrity sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA== "@types/selenium-webdriver@^4.0.18": - version "4.1.10" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.10.tgz#a33299c40afa8dfbd948c8dd338608b163f7c062" - integrity sha512-o6ARpkBI8J0b+jhLjXF46rYc8Vsb5CLrRetyA3V3qUPVDwNjPDyHZsZOCFSXH0KPZ6lIn2BfP1xVEPnO+AQy5w== + version "4.1.11" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.11.tgz#29ad053d04bf07c148dae36ba09baa3af5323cb0" + integrity sha512-KQ+TIvSTdpkUoW+fCLO3XyxlpnoD1PSZc0TBbuSbD/6gltB6gZ9q/VxhDGR7svhwA23G35uCAb5guAlVUaQKeA== dependencies: "@types/ws" "*" @@ -3893,10 +3790,10 @@ adjust-sourcemap-loader@^4.0.0: loader-utils "^2.0.0" regex-parser "^2.2.11" -adm-zip@^0.4.9: - version "0.4.16" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" - integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== +adm-zip@^0.5.2: + version "0.5.10" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.10.tgz#4a51d5ab544b1f5ce51e1b9043139b639afff45b" + integrity sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ== agent-base@6, agent-base@^6.0.2: version "6.0.2" @@ -4616,9 +4513,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: - version "1.0.30001450" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz#022225b91200589196b814b51b1bbe45144cf74f" - integrity sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew== + version "1.0.30001451" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz#2e197c698fc1373d63e1406d6607ea4617c613f1" + integrity sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w== caseless@~0.12.0: version "0.12.0" @@ -5222,9 +5119,9 @@ define-lazy-prop@^2.0.0: integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== dependencies: has-property-descriptors "^1.0.0" object-keys "^1.1.1" @@ -5433,9 +5330,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.284: - version "1.4.288" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.288.tgz#bbce00eb03c1819fe3d0d0d861374b76c53f7507" - integrity sha512-8s9aJf3YiokIrR+HOQzNOGmEHFXVUQzXM/JaViVvKdCkNUjS+lEa/uT7xw3nDVG/IgfxiIwUGkwJ6AR1pTpYsQ== + version "1.4.295" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz#911d5df67542bf7554336142eb302c5ec90bba66" + integrity sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw== emoji-regex@^8.0.0: version "8.0.0" @@ -5636,16 +5533,11 @@ esbuild-wasm@0.17.5: resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.5.tgz#324d21d41033eaf58aa447feb186f0dab9f21819" integrity sha512-Sm34YFT8ENLbOLJeMWdbAwSXpMuYivp8KfJR/b+x74034XNkFAJPwgzUMVwu9wLzGd4APadwVUfXCLukmJwC9g== -esbuild-wasm@0.17.8: +esbuild-wasm@0.17.8, esbuild-wasm@^0.17.0: version "0.17.8" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz#c2348306430c27613ee3cc9a955cdd54df29137a" integrity sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ== -esbuild-wasm@^0.17.0: - version "0.17.6" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.17.6.tgz#f5935d90c1104a1c04a3fbe5daaf7f79beaeb2fc" - integrity sha512-9Ldow2+kulEnGtOTbngHyiFIneIi+g7pJOz8cZQhW1KWKqsu9nCYDba2JlwsH/PJtAGNSTCrKBmaKYf8rJYvgQ== - esbuild@0.17.5: version "0.17.5" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.5.tgz#cd76d75700d49ac050ad9eedfbed777bd6a9d930" @@ -5674,7 +5566,7 @@ esbuild@0.17.5: "@esbuild/win32-ia32" "0.17.5" "@esbuild/win32-x64" "0.17.5" -esbuild@0.17.8: +esbuild@0.17.8, esbuild@^0.17.0: version "0.17.8" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.8.tgz#f7f799abc7cdce3f0f2e3e0c01f120d4d55193b4" integrity sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g== @@ -5702,34 +5594,6 @@ esbuild@0.17.8: "@esbuild/win32-ia32" "0.17.8" "@esbuild/win32-x64" "0.17.8" -esbuild@^0.17.0: - version "0.17.6" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.6.tgz#bbccd4433629deb6e0a83860b3b61da120ba4e01" - integrity sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q== - optionalDependencies: - "@esbuild/android-arm" "0.17.6" - "@esbuild/android-arm64" "0.17.6" - "@esbuild/android-x64" "0.17.6" - "@esbuild/darwin-arm64" "0.17.6" - "@esbuild/darwin-x64" "0.17.6" - "@esbuild/freebsd-arm64" "0.17.6" - "@esbuild/freebsd-x64" "0.17.6" - "@esbuild/linux-arm" "0.17.6" - "@esbuild/linux-arm64" "0.17.6" - "@esbuild/linux-ia32" "0.17.6" - "@esbuild/linux-loong64" "0.17.6" - "@esbuild/linux-mips64el" "0.17.6" - "@esbuild/linux-ppc64" "0.17.6" - "@esbuild/linux-riscv64" "0.17.6" - "@esbuild/linux-s390x" "0.17.6" - "@esbuild/linux-x64" "0.17.6" - "@esbuild/netbsd-x64" "0.17.6" - "@esbuild/openbsd-x64" "0.17.6" - "@esbuild/sunos-x64" "0.17.6" - "@esbuild/win32-arm64" "0.17.6" - "@esbuild/win32-ia32" "0.17.6" - "@esbuild/win32-x64" "0.17.6" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6381,7 +6245,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== @@ -6976,11 +6840,11 @@ inquirer@8.2.4: wrap-ansi "^7.0.0" internal-slot@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" - integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: - get-intrinsic "^1.1.3" + get-intrinsic "^1.2.0" has "^1.0.3" side-channel "^1.0.4" @@ -7403,9 +7267,9 @@ jquery@^3.3.1: integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== js-base64@^3.7.4: - version "3.7.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.4.tgz#af95b20f23efc8034afd2d1cc5b9d0adf7419037" - integrity sha512-wpM/wi20Tl+3ifTyi0RdDckS4YTD4Lf953mBRrpG8547T7hInHNPEj8+ck4gB8VDcGyeAWFK++Wb/fU1BeavKQ== + version "3.7.5" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.5.tgz#21e24cf6b886f76d6f5f165bfcd69cc55b9e3fca" + integrity sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA== js-sdsl@^4.1.4: version "4.3.0" @@ -8191,10 +8055,10 @@ minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" -minimatch@^6.1.6: - version "6.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.1.6.tgz#5384bb324be5b5dae12a567c03d22908febd0ddd" - integrity sha512-6bR3UIeh/DF8+p6A9Spyuy67ShOq42rOkHWi7eUe3Ua99Zo5lZfGC6lJJWkeoK4k9jQFT3Pl7czhTXimG2XheA== +minimatch@^6.1.6, minimatch@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" + integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== dependencies: brace-expansion "^2.0.1" @@ -8205,17 +8069,10 @@ minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@~6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" - integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass-collect@^1.0.2: version "1.0.2" @@ -8283,9 +8140,9 @@ minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6, minipass@^3.3.5: yallist "^4.0.0" minipass@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.2.tgz#26fc3364d5ea6cb971c6e5259eac67a0887510d1" - integrity sha512-4Hbzei7ZyBp+1aw0874YWpKOubZd/jc53/XU+gkYry1QV+VvrbO8icLM5CUtm4F0hyXn85DXYKEMIS26gitD3A== + version "4.0.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.3.tgz#00bfbaf1e16e35e804f4aa31a7c1f6b8d9f0ee72" + integrity sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw== minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" @@ -8892,7 +8749,7 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -open@8.4.0, open@^8.0.9: +open@8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== @@ -8901,7 +8758,7 @@ open@8.4.0, open@^8.0.9: is-docker "^2.1.1" is-wsl "^2.2.0" -open@8.4.1: +open@8.4.1, open@^8.0.9: version "8.4.1" resolved "https://registry.yarnpkg.com/open/-/open-8.4.1.tgz#2ab3754c07f5d1f99a7a8d6a82737c95e3101cff" integrity sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg== @@ -9393,9 +9250,9 @@ prettier@2.8.2: integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw== prettier@^2.0.0: - version "2.8.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" - integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== pretty-bytes@^5.3.0: version "5.6.0" @@ -9843,22 +9700,17 @@ regexpp@^3.2.0: integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" - integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== + version "5.3.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.0.tgz#4d0d044b76fedbad6238703ae84bfdedee2cf074" + integrity sha512-ZdhUQlng0RoscyW7jADnUZ25F5eVtHdMyXSb2PiwafvteRAOJUjFoUPEYZSIfP99fBIs3maLIRfpEddT78wAAQ== dependencies: + "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - regjsparser@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" @@ -10041,9 +9893,9 @@ rimraf@~2.4.0: glob "^6.0.1" rollup@^3.0.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.14.0.tgz#f5925255f3b6e8de1dba3916d7619c7da5708d95" - integrity sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q== + version "3.15.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.15.0.tgz#6f4105e8c4b8145229657b74ad660b02fbfacc05" + integrity sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg== optionalDependencies: fsevents "~2.3.2" @@ -10142,6 +9994,7 @@ sass@1.58.0, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" + uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: @@ -11444,11 +11297,11 @@ webdriver-js-extender@2.1.0: selenium-webdriver "^3.0.1" webdriver-manager@^12.1.7: - version "12.1.8" - resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.1.8.tgz#5e70e73eaaf53a0767d5745270addafbc5905fd4" - integrity sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg== + version "12.1.9" + resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.1.9.tgz#8d83543b92711b7217b39fef4cda958a4703d2df" + integrity sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ== dependencies: - adm-zip "^0.4.9" + adm-zip "^0.5.2" chalk "^1.1.1" del "^2.2.0" glob "^7.0.3" From beae31625e093d02235245de580968db863e9fe4 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Mon, 13 Feb 2023 19:22:38 +0000 Subject: [PATCH 1363/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 112 ++++++++---------- 7 files changed, 70 insertions(+), 88 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 1481781170ed..a34415e4f8e0 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b + - uses: angular/dev-infra/github-actions/branch-manager@7ed99e1d1b65cfc98021691d1c2ac92f44076190 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c782036edfb0..37613ddef100 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b + - uses: angular/dev-infra/github-actions/commit-message-based-labels@7ed99e1d1b65cfc98021691d1c2ac92f44076190 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b + - uses: angular/dev-infra/github-actions/post-approval-changes@7ed99e1d1b65cfc98021691d1c2ac92f44076190 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index f7ac51626a90..17b4b225f752 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b + - uses: angular/dev-infra/github-actions/feature-request@7ed99e1d1b65cfc98021691d1c2ac92f44076190 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index d9bdce65fa02..45512390c858 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b + - uses: angular/dev-infra/github-actions/lock-closed@7ed99e1d1b65cfc98021691d1c2ac92f44076190 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index ff0ea4b3f887..fd639c4408c6 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "devDependencies": { "@ampproject/remapping": "2.2.0", "@angular/animations": "15.2.0-next.4", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde", "@angular/cdk": "15.1.4", "@angular/common": "15.2.0-next.4", "@angular/compiler": "15.2.0-next.4", @@ -75,7 +75,7 @@ "@angular/forms": "15.2.0-next.4", "@angular/localize": "15.2.0-next.4", "@angular/material": "15.1.4", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f", "@angular/platform-browser": "15.2.0-next.4", "@angular/platform-browser-dynamic": "15.2.0-next.4", "@angular/platform-server": "15.2.0-next.4", diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index acc9be76949e..0638512cf459 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#b919d8e28acc42839d9cdc92a8a0441058a05e5a", - "@angular/cdk": "github:angular/cdk-builds#70c532cac8532d13762aaf57501c6e86332be29c", - "@angular/common": "github:angular/common-builds#6900a575232430a62f7399de82108b8cce718461", - "@angular/compiler": "github:angular/compiler-builds#a84f3b722334c4862c8f1e66408e94021b459bf9", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#cc9fd4325b1d3a832b7dfe1680fcf987e74761e3", - "@angular/core": "github:angular/core-builds#1d70e3fdee3d7ef8837d0aee9056e9213b63b20e", - "@angular/forms": "github:angular/forms-builds#12daf06e4455bb51e34098eb697df182354df757", - "@angular/language-service": "github:angular/language-service-builds#8c0fb390957724c08835bdd1a058c05f32cdd36a", - "@angular/localize": "github:angular/localize-builds#ac762c4fb9970fcf01b92c721bb2372521ef477a", - "@angular/material": "github:angular/material-builds#66d3823299017918f09f8de0cdf7abcec8d40c83", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#a1456c85dd0b106799c93429636e22c485352537", - "@angular/platform-browser": "github:angular/platform-browser-builds#b02757ce5a409c0af0079ccd4d848bef4bd3b22b", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#6709be7259e4ed75d74772bf99396d40135c2fb7", - "@angular/platform-server": "github:angular/platform-server-builds#703d48c8e030a851426cea969ee226ef99c66993", - "@angular/router": "github:angular/router-builds#fa065482f4907113f9d7a78ee69c7b80cb626773", - "@angular/service-worker": "github:angular/service-worker-builds#2657adf4bc9809ffbf26b9af0aa1cb60bf88171d" + "@angular/animations": "github:angular/animations-builds#74344b043a83759bcc1ad4430ac9e5fcdc82f4bd", + "@angular/cdk": "github:angular/cdk-builds#9da5c25db96b252c8957220b3fdf99203bc0e7bb", + "@angular/common": "github:angular/common-builds#335fc2c69045bd5186fcbb0dcc12db0f273b08a3", + "@angular/compiler": "github:angular/compiler-builds#a004b9f2a91853ecba332bf1b5405aa415356768", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#a0af90cf5d05196da2435fa879c725a4a7c049b9", + "@angular/core": "github:angular/core-builds#419a006767ea601ebe6ec091e5603272aefc9c15", + "@angular/forms": "github:angular/forms-builds#e5693d7534617e9ef4135fe6285496ca332cdc90", + "@angular/language-service": "github:angular/language-service-builds#edd4ec227d1b3a0741691f4206c5c6a8d6407ed1", + "@angular/localize": "github:angular/localize-builds#8a1ea35bfbca2686e5baf0b3ac237840302f039a", + "@angular/material": "github:angular/material-builds#39e9f7a0e95d0a356520c17540c8af6ad90181ac", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c0f4029585563183304dc3cf44edc36dd366e135", + "@angular/platform-browser": "github:angular/platform-browser-builds#fbba8721b40a6f6c7d39bd483b9bbf9985d88d1e", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#f5c555161d4f89cc100e3a9cd224dea50fbfc819", + "@angular/platform-server": "github:angular/platform-server-builds#821082b30cd6a1157f4c214437ee68b603c9b704", + "@angular/router": "github:angular/router-builds#57a141bbfb9fa654fb9ebb7cf684a0fda4443300", + "@angular/service-worker": "github:angular/service-worker-builds#9a23e241f177dde48ab0d6711c9ad1d4de2143bb" } } diff --git a/yarn.lock b/yarn.lock index 9dd62be2c86a..1b736d29b11c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -119,10 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07": - version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" - uid f7d26a0b0d6bd2043f2d32c2a99db903539d0c07 - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#f7d26a0b0d6bd2043f2d32c2a99db903539d0c07" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde": + version "0.0.0-7ed99e1d1b65cfc98021691d1c2ac92f44076190" + uid "3e4d95e36cbb0230de1f3eabed91d260caa7ddde" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" "@angular/benchpress" "0.3.0" @@ -136,7 +136,7 @@ "@bazel/runfiles" "5.7.3" "@bazel/terser" "5.7.3" "@bazel/typescript" "5.7.3" - "@microsoft/api-extractor" "7.33.7" + "@microsoft/api-extractor" "7.34.4" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/selenium-webdriver" "^4.0.18" @@ -147,9 +147,9 @@ "@types/yargs" "^17.0.0" browser-sync "^2.27.7" clang-format "1.8.0" - prettier "2.8.2" + prettier "2.8.4" protractor "^7.0.0" - selenium-webdriver "4.7.1" + selenium-webdriver "4.8.0" send "^0.18.0" source-map "^0.7.4" tmp "^0.2.1" @@ -305,10 +305,10 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75": - version "0.0.0-07b0f6423e0c5266b3792d8f4af43b8fd3f3d41b" - uid "8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8aa60413b3e14daf2f33a29fe9d09faa3e5bcb75" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f": + version "0.0.0-7ed99e1d1b65cfc98021691d1c2ac92f44076190" + uid "8a87efa35da0ff50d7515511617d4ce5ac5cea2f" + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" @@ -2420,29 +2420,29 @@ "@material/theme" "15.0.0-canary.684e33d25.0" tslib "^2.1.0" -"@microsoft/api-extractor-model@7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.25.3.tgz#1ad0fe161623564e5b36b73d5889066e36097389" - integrity sha512-WWxBUq77p2iZ+5VF7Nmrm3y/UtqCh5bYV8ii3khwq3w99+fXWpvfsAhgSLsC7k8XDQc6De4ssMxH6He/qe1pzg== +"@microsoft/api-extractor-model@7.26.4": + version "7.26.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.26.4.tgz#77f2c17140249b846a61eea41e565289cc77181f" + integrity sha512-PDCgCzXDo+SLY5bsfl4bS7hxaeEtnXj7XtuzEE+BtALp7B5mK/NrS2kHWU69pohgsRmEALycQdaQPXoyT2i5MQ== dependencies: "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.53.3" + "@rushstack/node-core-library" "3.55.2" -"@microsoft/api-extractor@7.33.7": - version "7.33.7" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.33.7.tgz#3579f23469a9e02deb4e7aee705ddd2a221c7b8d" - integrity sha512-fQT2v/j/55DhvMFiopLtth66E7xTFNhnumMKgKY14SaG6qU/V1W0e4nOAgbA+SmLakQjAd1Evu06ofaVaxBPbA== +"@microsoft/api-extractor@7.34.4": + version "7.34.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.34.4.tgz#80677b5059b437bc07e9e55832c0cbde671c16a1" + integrity sha512-HOdcci2nT40ejhwPC3Xja9G+WSJmWhCUKKryRfQYsmE9cD+pxmBaKBKCbuS9jUcl6bLLb4Gz+h7xEN5r0QiXnQ== dependencies: - "@microsoft/api-extractor-model" "7.25.3" + "@microsoft/api-extractor-model" "7.26.4" "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.53.3" - "@rushstack/rig-package" "0.3.17" - "@rushstack/ts-command-line" "4.13.1" + "@rushstack/node-core-library" "3.55.2" + "@rushstack/rig-package" "0.3.18" + "@rushstack/ts-command-line" "4.13.2" colors "~1.2.1" lodash "~4.17.15" - resolve "~1.17.0" + resolve "~1.22.1" semver "~7.3.0" source-map "~0.6.1" typescript "~4.8.4" @@ -2794,32 +2794,31 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rushstack/node-core-library@3.53.3": - version "3.53.3" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.53.3.tgz#e78e0dc1545f6cd7d80b0408cf534aefc62fbbe2" - integrity sha512-H0+T5koi5MFhJUd5ND3dI3bwLhvlABetARl78L3lWftJVQEPyzcgTStvTTRiIM5mCltyTM8VYm6BuCtNUuxD0Q== +"@rushstack/node-core-library@3.55.2": + version "3.55.2" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.55.2.tgz#d951470bac98171de13a8a351d4537c63fbfd0b6" + integrity sha512-SaLe/x/Q/uBVdNFK5V1xXvsVps0y7h1sN7aSJllQyFbugyOaxhNRF25bwEDnicARNEjJw0pk0lYnJQ9Kr6ev0A== dependencies: - "@types/node" "12.20.24" colors "~1.2.1" fs-extra "~7.0.1" import-lazy "~4.0.0" jju "~1.4.0" - resolve "~1.17.0" + resolve "~1.22.1" semver "~7.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.17": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.17.tgz#687bd55603f2902447f3be246d93afac97095a1f" - integrity sha512-nxvAGeIMnHl1LlZSQmacgcRV4y1EYtgcDIrw6KkeVjudOMonlxO482PhDj3LVZEp6L7emSf6YSO2s5JkHlwfZA== +"@rushstack/rig-package@0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.18.tgz#2b59eb8ed482e8cd6ad8d396414bf3200efdd682" + integrity sha512-SGEwNTwNq9bI3pkdd01yCaH+gAsHqs0uxfGvtw9b0LJXH52qooWXnrFTRRLG1aL9pf+M2CARdrA9HLHJys3jiQ== dependencies: - resolve "~1.17.0" + resolve "~1.22.1" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.13.1": - version "4.13.1" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.13.1.tgz#148b644b627131480363b4853b558ba5eaa0d75c" - integrity sha512-UTQMRyy/jH1IS2U+6pyzyn9xQ2iMcoUKkTcZUzOP/aaMiKlWLwCTDiBVwhw/M1crDx6apF9CwyjuWO9r1SBdJQ== +"@rushstack/ts-command-line@4.13.2": + version "4.13.2" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.13.2.tgz#2dfdcf418d58256671433b1da4a3b67e1814cc7a" + integrity sha512-bCU8qoL9HyWiciltfzg7GqdfODUeda/JpI0602kbN5YH22rzTxyqYvv7aRLENCM7XCQ1VRs7nMkEqgJUOU8Sag== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3123,11 +3122,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== -"@types/node@12.20.24": - version "12.20.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" - integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== - "@types/node@16.10.9": version "16.10.9" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.9.tgz#8f1cdd517972f76a3b928298f4c0747cd6fef25a" @@ -9244,12 +9238,7 @@ prettier-bytes@^1.0.4: resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== -prettier@2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.2.tgz#c4ea1b5b454d7c4b59966db2e06ed7eec5dfd160" - integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw== - -prettier@^2.0.0: +prettier@2.8.4, prettier@^2.0.0: version "2.8.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== @@ -9811,7 +9800,7 @@ resolve-url-loader@5.0.0: postcss "^8.2.14" source-map "0.6.1" -resolve@1.22.1, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1: +resolve@1.22.1, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1, resolve@~1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -9820,13 +9809,6 @@ resolve@1.22.1, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22. path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@~1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - resolve@~1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" @@ -10043,14 +10025,14 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.7.1.tgz#29be9eaac1bd5aa37728c3e5cca352b1e98ec85d" - integrity sha512-IfTM9OE8HtCKjOJwyudbAVtAHQKOJK8mu2qrXXbKyj4lqgXF+2lYW4rSZXCV6SLQRWZ+DVGkomCmFzq5orD/ZA== +selenium-webdriver@4.8.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.0.tgz#386d57f23fe8edf5178f5bd06aae9ffaffbcb692" + integrity sha512-s/HL8WNwy1ggHR244+tAhjhyKMJnZLt1HKJ6Gn7nQgVjB/ybDF+46Uui0qI2J7AjPNJzlUmTncdC/jg/kKkn0A== dependencies: jszip "^3.10.0" tmp "^0.2.1" - ws ">=8.7.0" + ws ">=8.11.0" selfsigned@^2.1.1: version "2.1.1" @@ -11554,7 +11536,7 @@ ws@8.9.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== -ws@>=8.7.0, ws@^8.4.2: +ws@>=8.11.0, ws@^8.4.2: version "8.12.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== From 1e528632629f2d0eb96580a8d7672758f5c23270 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Feb 2023 14:23:56 +0000 Subject: [PATCH 1364/1388] perf(@angular-devkit/build-angular): reduce rebuilt times when using the `scripts` option In some cases, using the `scripts` option caused a lot of `DescriptionFileUtils.loadDescriptionFile` calls which caused a bottleneck during build times. The why to this is still unknown, but a workaround is to use the resolver from the Webpack compilation instead of the compiler. Closes #24634 --- .../webpack/plugins/scripts-webpack-plugin.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts index 7c477fcf8d19..8b438d26021d 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/scripts-webpack-plugin.ts @@ -100,13 +100,17 @@ export class ScriptsWebpackPlugin { return; } - const resolver = compiler.resolverFactory.get('normal', { - preferRelative: true, - useSyncFileSystemCalls: true, - fileSystem: compiler.inputFileSystem, - }); - compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => { + // Use the resolver from the compilation instead of compiler. + // Using the latter will causes a lot of `DescriptionFileUtils.loadDescriptionFile` calls. + // See: https://github.com/angular/angular-cli/issues/24634#issuecomment-1425782668 + const resolver = compilation.resolverFactory.get('normal', { + preferRelative: true, + useSyncFileSystemCalls: true, + // Caching must be disabled because it causes the resolver to become async after a rebuild. + cache: false, + }); + const scripts: string[] = []; for (const script of this.options.scripts) { From f91696063c4fdf789a3dc6c807a817084d2c1245 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 13 Feb 2023 13:58:17 -0500 Subject: [PATCH 1365/1388] test(@angular-devkit/build-angular): port additional unit tests to esbuild builder The following unit tests have been ported over to test the experimental esbuild-based browser application builder: * `extractLicenses` option * `main` option * `optimization.styles.inlineCritical` option * `styles` option * `subresourceIntegrity` option Several individual tests involving file output logging have been temporarily disabled until build and file output logging has been implemented for the builder. --- .../tests/options/extract-licenses_spec.ts | 46 ++ .../tests/options/inline-critical_spec.ts | 138 ++++++ .../tests/options/main_spec.ts | 63 +++ .../tests/options/styles_spec.ts | 441 ++++++++++++++++++ .../options/subresource-integrity_spec.ts | 70 +++ 5 files changed, 758 insertions(+) create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/extract-licenses_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-critical_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/main_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/styles_spec.ts create mode 100644 packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/subresource-integrity_spec.ts diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/extract-licenses_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/extract-licenses_spec.ts new file mode 100644 index 000000000000..d88f23346b63 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/extract-licenses_spec.ts @@ -0,0 +1,46 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "extractLicenses"', () => { + it(`should generate '3rdpartylicenses.txt' when 'extractLicenses' is true`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + extractLicenses: true, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + harness.expectFile('dist/3rdpartylicenses.txt').content.toContain('MIT'); + }); + + it(`should not generate '3rdpartylicenses.txt' when 'extractLicenses' is false`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + extractLicenses: false, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + harness.expectFile('dist/3rdpartylicenses.txt').toNotExist(); + }); + + it(`should generate '3rdpartylicenses.txt' when 'extractLicenses' is not set`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + harness.expectFile('dist/3rdpartylicenses.txt').content.toContain('MIT'); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-critical_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-critical_spec.ts new file mode 100644 index 000000000000..930366ed9526 --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/inline-critical_spec.ts @@ -0,0 +1,138 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "inlineCritical"', () => { + beforeEach(async () => { + await harness.writeFile('src/styles.css', 'body { color: #000 }'); + }); + + it(`should extract critical css when 'inlineCritical' is true`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + optimization: { + scripts: false, + styles: { + minify: true, + inlineCritical: true, + }, + fonts: false, + }, + styles: ['src/styles.css'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness + .expectFile('dist/index.html') + .content.toContain( + ``, + ); + harness.expectFile('dist/index.html').content.toContain(`body{color:#000}`); + }); + + it(`should extract critical css when 'optimization' is unset`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + optimization: undefined, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness + .expectFile('dist/index.html') + .content.toContain( + ``, + ); + harness.expectFile('dist/index.html').content.toContain(`body{color:#000}`); + }); + + it(`should extract critical css when 'optimization' is true`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + optimization: true, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness + .expectFile('dist/index.html') + .content.toContain( + ``, + ); + harness.expectFile('dist/index.html').content.toContain(`body{color:#000}`); + }); + + it(`should not extract critical css when 'optimization' is false`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + optimization: false, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/index.html').content.not.toContain(` { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + optimization: { + scripts: false, + styles: { + minify: false, + inlineCritical: false, + }, + fonts: false, + }, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/index.html').content.not.toContain(` { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/styles.css'], + optimization: { + scripts: false, + styles: { + minify: true, + inlineCritical: true, + }, + fonts: false, + }, + }); + + await harness.writeFile('src/styles.css', '@media all { body { color: #000 } }'); + + const { result } = await harness.executeOnce(); + expect(result?.success).toBe(true); + harness + .expectFile('dist/index.html') + .content.toContain( + ``, + ); + harness.expectFile('dist/index.html').content.toContain(`body{color:#000}`); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/main_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/main_spec.ts new file mode 100644 index 000000000000..1715742a50ee --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/main_spec.ts @@ -0,0 +1,63 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "main"', () => { + it('uses a provided TypeScript file', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + main: 'src/main.ts', + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/main.js').toExist(); + harness.expectFile('dist/index.html').toExist(); + }); + + it('uses a provided JavaScript file', async () => { + await harness.writeFile('src/main.js', `console.log('main');`); + + harness.useTarget('build', { + ...BASE_OPTIONS, + main: 'src/main.js', + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/main.js').toExist(); + harness.expectFile('dist/index.html').toExist(); + + harness.expectFile('dist/main.js').content.toContain('console.log("main")'); + }); + + it('fails and shows an error when file does not exist', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + main: 'src/missing.ts', + }); + + const { result, logs } = await harness.executeOnce({ outputLogsOnFailure: false }); + + expect(result?.success).toBe(false); + expect(logs).toContain( + jasmine.objectContaining({ message: jasmine.stringMatching('Could not resolve "') }), + ); + + harness.expectFile('dist/main.js').toNotExist(); + harness.expectFile('dist/index.html').toNotExist(); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/styles_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/styles_spec.ts new file mode 100644 index 000000000000..efccdb87dbce --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/styles_spec.ts @@ -0,0 +1,441 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "styles"', () => { + beforeEach(async () => { + // Application code is not needed for styles tests + await harness.writeFile('src/main.ts', 'console.log("TEST");'); + }); + + it('supports an empty array value', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').toNotExist(); + }); + + it('does not create an output styles file when option is not present', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').toNotExist(); + }); + + describe('shorthand syntax', () => { + it('processes a single style into a single output', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/test-style-a.css'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('processes multiple styles into a single output', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/test-style-a.css', 'src/test-style-b.css'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness.expectFile('dist/styles.css').content.toMatch(/\.test-b {\s*color: green;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('preserves order of multiple styles in single output', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + 'src/test-style-c.css': '.test-c {color: blue}', + 'src/test-style-d.css': '.test-d {color: yellow}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [ + 'src/test-style-c.css', + 'src/test-style-d.css', + 'src/test-style-b.css', + 'src/test-style-a.css', + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch( + // eslint-disable-next-line max-len + /\.test-c {\s*color: blue;?\s*}[\s|\S]+\.test-d {\s*color: yellow;?\s*}[\s|\S]+\.test-b {\s*color: green;?\s*}[\s|\S]+\.test-a {\s*color: red;?\s*}/m, + ); + }); + + it('fails and shows an error if style does not exist', async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/test-style-a.css'], + }); + + const { result, logs } = await harness.executeOnce({ outputLogsOnFailure: false }); + + expect(result?.success).toBeFalse(); + expect(logs).toContain( + jasmine.objectContaining({ + level: 'error', + message: jasmine.stringMatching('Could not resolve "src/test-style-a.css"'), + }), + ); + + harness.expectFile('dist/styles.css').toNotExist(); + }); + + // TODO: Re-enable once output logging is implemented for esbuild builder + xit('shows the output style as a chunk entry in the logging output', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: ['src/test-style-a.css'], + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + expect(logs).toContain( + jasmine.objectContaining({ message: jasmine.stringMatching(/styles\.css.+\d+ bytes/) }), + ); + }); + }); + + describe('longhand syntax', () => { + it('processes a single style into a single output', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('processes a single style into a single output named with bundleName', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css', bundleName: 'extra' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/extra.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('uses default bundleName when bundleName is empty string', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css', bundleName: '' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('processes multiple styles with no bundleName into a single output', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css' }, { input: 'src/test-style-b.css' }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness.expectFile('dist/styles.css').content.toMatch(/\.test-b {\s*color: green;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('processes multiple styles with same bundleName into a single output', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [ + { input: 'src/test-style-a.css', bundleName: 'extra' }, + { input: 'src/test-style-b.css', bundleName: 'extra' }, + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/extra.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness.expectFile('dist/extra.css').content.toMatch(/\.test-b {\s*color: green;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('processes multiple styles with different bundleNames into separate outputs', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [ + { input: 'src/test-style-a.css', bundleName: 'extra' }, + { input: 'src/test-style-b.css', bundleName: 'other' }, + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/extra.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness.expectFile('dist/other.css').content.toMatch(/\.test-b {\s*color: green;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('preserves order of multiple styles in single output', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + 'src/test-style-c.css': '.test-c {color: blue}', + 'src/test-style-d.css': '.test-d {color: yellow}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [ + { input: 'src/test-style-c.css' }, + { input: 'src/test-style-d.css' }, + { input: 'src/test-style-b.css' }, + { input: 'src/test-style-a.css' }, + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch( + // eslint-disable-next-line max-len + /\.test-c {\s*color: blue;?\s*}[\s|\S]+\.test-d {\s*color: yellow;?\s*}[\s|\S]+\.test-b {\s*color: green;?\s*}[\s|\S]+\.test-a {\s*color: red;?\s*}/, + ); + }); + + it('preserves order of multiple styles with different bundleNames', async () => { + await harness.writeFiles({ + 'src/test-style-a.css': '.test-a {color: red}', + 'src/test-style-b.css': '.test-b {color: green}', + 'src/test-style-c.css': '.test-c {color: blue}', + 'src/test-style-d.css': '.test-d {color: yellow}', + }); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [ + { input: 'src/test-style-c.css', bundleName: 'other' }, + { input: 'src/test-style-d.css', bundleName: 'extra' }, + { input: 'src/test-style-b.css', bundleName: 'extra' }, + { input: 'src/test-style-a.css', bundleName: 'other' }, + ], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness + .expectFile('dist/other.css') + .content.toMatch(/\.test-c {\s*color: blue;?\s*}[\s|\S]+\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/extra.css') + .content.toMatch( + /\.test-d {\s*color: yellow;?\s*}[\s|\S]+\.test-b {\s*color: green;?\s*}/, + ); + harness + .expectFile('dist/index.html') + .content.toMatch( + /\s*/, + ); + }); + + it('adds link element to index when inject is true', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css', inject: true }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/styles.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + + it('does not add link element to index when inject is false', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css', inject: false }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + // `inject: false` causes the bundleName to be the input file name + harness + .expectFile('dist/test-style-a.css') + .content.toMatch(/\.test-a {\s*color: red;?\s*}/); + harness + .expectFile('dist/index.html') + .content.not.toContain(''); + }); + + it('does not add link element to index with bundleName when inject is false', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css', bundleName: 'extra', inject: false }], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/extra.css').content.toMatch(/\.test-a {\s*color: red;?\s*}/); + + harness + .expectFile('dist/index.html') + .content.not.toContain(''); + }); + + // TODO: Re-enable once output logging is implemented for esbuild builder + xit('shows the output style as a chunk entry in the logging output', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css' }], + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + expect(logs).toContain( + jasmine.objectContaining({ message: jasmine.stringMatching(/styles\.css.+\d+ bytes/) }), + ); + }); + + // TODO: Re-enable once output logging is implemented for esbuild builder + xit('shows the output style as a chunk entry with bundleName in the logging output', async () => { + await harness.writeFile('src/test-style-a.css', '.test-a {color: red}'); + + harness.useTarget('build', { + ...BASE_OPTIONS, + styles: [{ input: 'src/test-style-a.css', bundleName: 'extra' }], + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + expect(logs).toContain( + jasmine.objectContaining({ message: jasmine.stringMatching(/extra\.css.+\d+ bytes/) }), + ); + }); + }); + }); +}); diff --git a/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/subresource-integrity_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/subresource-integrity_spec.ts new file mode 100644 index 000000000000..01ebc05cb65e --- /dev/null +++ b/packages/angular_devkit/build_angular/src/builders/browser-esbuild/tests/options/subresource-integrity_spec.ts @@ -0,0 +1,70 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { buildEsbuildBrowser } from '../../index'; +import { BASE_OPTIONS, BROWSER_BUILDER_INFO, describeBuilder } from '../setup'; + +describeBuilder(buildEsbuildBrowser, BROWSER_BUILDER_INFO, (harness) => { + describe('Option: "subresourceIntegrity"', () => { + it(`does not add integrity attribute when not present`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/index.html').content.not.toContain('integrity='); + }); + + it(`does not add integrity attribute when 'false'`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + subresourceIntegrity: false, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/index.html').content.not.toContain('integrity='); + }); + + it(`does add integrity attribute when 'true'`, async () => { + harness.useTarget('build', { + ...BASE_OPTIONS, + subresourceIntegrity: true, + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/index.html').content.toMatch(/integrity="\w+-[A-Za-z0-9/+=]+"/); + }); + + it(`does not issue a warning when 'true' and 'scripts' is set.`, async () => { + await harness.writeFile('src/script.js', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + subresourceIntegrity: true, + scripts: ['src/script.js'], + }); + + const { result, logs } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + harness.expectFile('dist/index.html').content.toMatch(/integrity="\w+-[A-Za-z0-9/+=]+"/); + expect(logs).not.toContain( + jasmine.objectContaining({ + message: jasmine.stringMatching(/subresource-integrity/), + }), + ); + }); + }); +}); From 5f407337f9a355a29654f32346f20e070853332a Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Feb 2023 12:15:19 +0000 Subject: [PATCH 1366/1388] fix(@angular/cli): add set `SessionEngaged` in GA This is required for realtime reports. --- packages/angular/cli/src/analytics/analytics-collector.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index b06bee125fad..a6cfffae0864 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -46,6 +46,7 @@ export class AnalyticsCollector { [RequestParameter.UserAgentArchitecture]: os.arch(), [RequestParameter.UserAgentPlatform]: os.platform(), [RequestParameter.UserAgentPlatformVersion]: os.version(), + [RequestParameter.SessionEngaged]: 1, }; if (ngDebug) { From 522463c42ba873a32e85d47d692951537ab10716 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Feb 2023 12:16:11 +0000 Subject: [PATCH 1367/1388] fix(@angular/cli): replace `os.version` with `os.release`. This is more user friendly. --- packages/angular/cli/src/analytics/analytics-collector.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular/cli/src/analytics/analytics-collector.ts b/packages/angular/cli/src/analytics/analytics-collector.ts index a6cfffae0864..5d3746899d38 100644 --- a/packages/angular/cli/src/analytics/analytics-collector.ts +++ b/packages/angular/cli/src/analytics/analytics-collector.ts @@ -45,7 +45,7 @@ export class AnalyticsCollector { [RequestParameter.SessionId]: randomUUID(), [RequestParameter.UserAgentArchitecture]: os.arch(), [RequestParameter.UserAgentPlatform]: os.platform(), - [RequestParameter.UserAgentPlatformVersion]: os.version(), + [RequestParameter.UserAgentPlatformVersion]: os.release(), [RequestParameter.SessionEngaged]: 1, }; From d9fed6a517b70dcad80e20603d6c31e92d02d483 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 14 Feb 2023 13:57:27 +0000 Subject: [PATCH 1368/1388] build: update parse5-html-rewriting-stream to version 7 This fixes an issue were the HTML is truncated if it's 128Kb or greater. Closes #24707 --- package.json | 3 +- .../utilities/schematic-engine-host.ts | 7 ++++ packages/angular/pwa/BUILD.bazel | 3 +- packages/angular/pwa/package.json | 2 +- packages/angular/pwa/pwa/index.ts | 22 ++++++++++++- .../angular_devkit/build_angular/BUILD.bazel | 1 - .../angular_devkit/build_angular/package.json | 2 +- .../utils/index-file/html-rewriting-stream.ts | 8 +++-- yarn.lock | 32 +++++++++++-------- 9 files changed, 57 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index fd639c4408c6..da1326a30fca 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,6 @@ "@types/node-fetch": "^2.1.6", "@types/npm-package-arg": "^6.1.0", "@types/pacote": "^11.1.3", - "@types/parse5-html-rewriting-stream": "^5.1.2", "@types/pidusage": "^2.0.1", "@types/progress": "^2.0.3", "@types/resolve": "^1.17.1", @@ -183,7 +182,7 @@ "open": "8.4.1", "ora": "5.4.1", "pacote": "15.0.8", - "parse5-html-rewriting-stream": "6.0.1", + "parse5-html-rewriting-stream": "7.0.0", "pidtree": "^0.6.0", "pidusage": "^3.0.0", "piscina": "3.2.0", diff --git a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts index 9fb8ca54e924..1be2e0a9aee1 100644 --- a/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts +++ b/packages/angular/cli/src/command-builder/utilities/schematic-engine-host.ts @@ -44,6 +44,13 @@ function shouldWrapSchematic(schematicFile: string, schematicEncapsulation: bool return false; } + // @angular/pwa uses dynamic imports which causes `[1] 2468039 segmentation fault` when wrapped. + // We should remove this when make `importModuleDynamically` work. + // See: https://nodejs.org/docs/latest-v14.x/api/vm.html + if (normalizedSchematicFile.includes('@angular/pwa')) { + return false; + } + // Check for first-party Angular schematic packages // Angular schematics are safe to use in the wrapped VM context if (/\/node_modules\/@(?:angular|schematics|nguniversal)\//.test(normalizedSchematicFile)) { diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 58bdfea63444..25b94cbb3f05 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -42,7 +42,7 @@ ts_library( "//packages/angular_devkit/schematics", "//packages/schematics/angular", "@npm//@types/node", - "@npm//@types/parse5-html-rewriting-stream", + "@npm//parse5-html-rewriting-stream", ], ) @@ -58,7 +58,6 @@ ts_library( deps = [ ":pwa", "//packages/angular_devkit/schematics/testing", - "@npm//parse5-html-rewriting-stream", ], ) diff --git a/packages/angular/pwa/package.json b/packages/angular/pwa/package.json index e00a629ecc93..82474cf1d54a 100644 --- a/packages/angular/pwa/package.json +++ b/packages/angular/pwa/package.json @@ -14,7 +14,7 @@ "dependencies": { "@angular-devkit/schematics": "0.0.0-PLACEHOLDER", "@schematics/angular": "0.0.0-PLACEHOLDER", - "parse5-html-rewriting-stream": "6.0.1" + "parse5-html-rewriting-stream": "7.0.0" }, "peerDependencies": { "@angular/cli": "^15.0.0 || ^15.2.0-next" diff --git a/packages/angular/pwa/pwa/index.ts b/packages/angular/pwa/pwa/index.ts index a96e70a832a5..03627ca5a615 100644 --- a/packages/angular/pwa/pwa/index.ts +++ b/packages/angular/pwa/pwa/index.ts @@ -30,7 +30,11 @@ function updateIndexFile(path: string): Rule { throw new SchematicsException(`Could not read index file: ${path}`); } - const rewriter = new (await import('parse5-html-rewriting-stream')).default(); + const { RewritingStream } = await loadEsmModule( + 'parse5-html-rewriting-stream', + ); + + const rewriter = new RewritingStream(); let needsNoScript = true; rewriter.on('startTag', (startTag) => { if (startTag.tagName === 'noscript') { @@ -173,3 +177,19 @@ export default function (options: PwaOptions): Rule { ]); }; } + +/** + * This uses a dynamic import to load a module which may be ESM. + * CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript + * will currently, unconditionally downlevel dynamic import into a require call. + * require calls cannot load ESM code and will result in a runtime error. To workaround + * this, a Function constructor is used to prevent TypeScript from changing the dynamic import. + * Once TypeScript provides support for keeping the dynamic import this workaround can + * be dropped. + * + * @param modulePath The path of the module to load. + * @returns A Promise that resolves to the dynamically imported module. + */ +function loadEsmModule(modulePath: string | URL): Promise { + return new Function('modulePath', `return import(modulePath);`)(modulePath) as Promise; +} diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index f534360f121b..7440acf456c3 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -129,7 +129,6 @@ ts_library( "@npm//@types/less", "@npm//@types/loader-utils", "@npm//@types/node", - "@npm//@types/parse5-html-rewriting-stream", "@npm//@types/semver", "@npm//@types/text-table", "@npm//ajv", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 76630a66d7c7..1ae830cd2514 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -46,7 +46,7 @@ "mini-css-extract-plugin": "2.7.2", "open": "8.4.1", "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", + "parse5-html-rewriting-stream": "7.0.0", "piscina": "3.2.0", "postcss": "8.4.21", "postcss-loader": "7.0.2", diff --git a/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts b/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts index 70375c0daef0..629c090a6109 100644 --- a/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts +++ b/packages/angular_devkit/build_angular/src/utils/index-file/html-rewriting-stream.ts @@ -7,13 +7,17 @@ */ import { Readable, Writable } from 'stream'; +import { loadEsmModule } from '../load-esm'; export async function htmlRewritingStream(content: string): Promise<{ - rewriter: import('parse5-html-rewriting-stream'); + rewriter: import('parse5-html-rewriting-stream').RewritingStream; transformedContent: () => Promise; }> { + const { RewritingStream } = await loadEsmModule( + 'parse5-html-rewriting-stream', + ); const chunks: Buffer[] = []; - const rewriter = new (await import('parse5-html-rewriting-stream')).default(); + const rewriter = new RewritingStream(); return { rewriter, diff --git a/yarn.lock b/yarn.lock index 1b736d29b11c..81f2aeb860b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -121,7 +121,6 @@ "@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde": version "0.0.0-7ed99e1d1b65cfc98021691d1c2ac92f44076190" - uid "3e4d95e36cbb0230de1f3eabed91d260caa7ddde" resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" @@ -307,7 +306,6 @@ "@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f": version "0.0.0-7ed99e1d1b65cfc98021691d1c2ac92f44076190" - uid "8a87efa35da0ff50d7515511617d4ce5ac5cea2f" resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f" dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -3178,14 +3176,7 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/parse5-html-rewriting-stream@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-5.1.2.tgz#919d5bbf69ef61e11d873e7195891c3811491a03" - integrity sha512-7CHY6QlayurvYRST5xatE/ipIueph5V+EW2xU12P0CsNucuwygnuiE4foYsdQUEkhnKrTU62KmikANPnoxiGrg== - dependencies: - "@types/parse5-sax-parser" "*" - -"@types/parse5-sax-parser@*", "@types/parse5-sax-parser@^5.0.2": +"@types/parse5-sax-parser@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@types/parse5-sax-parser/-/parse5-sax-parser-5.0.2.tgz#4cdca0f8bc0ce71b17e27b96e7ca9b5f79e861ff" integrity sha512-EQtGoduLbdMmS4N27g6wcXdCCJ70dWYemfogWuumYg+JmzRqwYvTRAbGOYFortSHtS/qRzRCFwcP3ixy62RsdA== @@ -5407,7 +5398,7 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.4.0: +entities@^4.3.0, entities@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== @@ -8975,6 +8966,15 @@ parse5-html-rewriting-stream@6.0.1: parse5 "^6.0.1" parse5-sax-parser "^6.0.1" +parse5-html-rewriting-stream@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz#e376d3e762d2950ccbb6bb59823fc1d7e9fdac36" + integrity sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg== + dependencies: + entities "^4.3.0" + parse5 "^7.0.0" + parse5-sax-parser "^7.0.0" + parse5-htmlparser2-tree-adapter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" @@ -8989,7 +8989,14 @@ parse5-sax-parser@^6.0.1: dependencies: parse5 "^6.0.1" -parse5@*, parse5@^7.1.2: +parse5-sax-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz#4c05064254f0488676aca75fb39ca069ec96dee5" + integrity sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg== + dependencies: + parse5 "^7.0.0" + +parse5@*, parse5@^7.0.0, parse5@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== @@ -9976,7 +9983,6 @@ sass@1.58.0, sass@^1.55.0: "sauce-connect-proxy@https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz": version "0.0.0" - uid "9c16682e4c9716734432789884f868212f95f563" resolved "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz#9c16682e4c9716734432789884f868212f95f563" saucelabs@^1.5.0: From 70fcd37b58356d558304438a3cdca3881ca195c1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 15 Feb 2023 02:40:04 +0000 Subject: [PATCH 1369/1388] build: update all non-major dependencies --- package.json | 12 +- packages/angular/cli/package.json | 2 +- .../angular_devkit/build_angular/package.json | 2 +- yarn.lock | 485 +++++++++++------- 4 files changed, 321 insertions(+), 180 deletions(-) diff --git a/package.json b/package.json index da1326a30fca..20620cfe48a8 100644 --- a/package.json +++ b/package.json @@ -124,8 +124,8 @@ "@types/yargs": "^17.0.20", "@types/yargs-parser": "^21.0.0", "@types/yarnpkg__lockfile": "^1.1.5", - "@typescript-eslint/eslint-plugin": "5.51.0", - "@typescript-eslint/parser": "5.51.0", + "@typescript-eslint/eslint-plugin": "5.52.0", + "@typescript-eslint/parser": "5.52.0", "@yarnpkg/lockfile": "1.1.0", "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -181,7 +181,7 @@ "npm-package-arg": "10.1.0", "open": "8.4.1", "ora": "5.4.1", - "pacote": "15.0.8", + "pacote": "15.1.0", "parse5-html-rewriting-stream": "7.0.0", "pidtree": "^0.6.0", "pidusage": "^3.0.0", @@ -192,10 +192,10 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "21.0.13", + "quicktype-core": "21.0.16", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.58.0", + "sass": "1.58.1", "sass-loader": "13.2.0", "sauce-connect-proxy": "https://saucelabs.com/downloads/sc-4.8.1-linux.tar.gz", "semver": "7.3.8", @@ -212,7 +212,7 @@ "ts-node": "^10.0.0", "tslib": "2.5.0", "typescript": "4.9.5", - "verdaccio": "5.20.1", + "verdaccio": "5.21.1", "verdaccio-auth-memory": "^10.0.0", "webpack": "5.75.0", "webpack-dev-middleware": "6.0.1", diff --git a/packages/angular/cli/package.json b/packages/angular/cli/package.json index 44748efabd16..a2894fd910c8 100644 --- a/packages/angular/cli/package.json +++ b/packages/angular/cli/package.json @@ -35,7 +35,7 @@ "npm-pick-manifest": "8.0.1", "open": "8.4.1", "ora": "5.4.1", - "pacote": "15.0.8", + "pacote": "15.1.0", "resolve": "1.22.1", "semver": "7.3.8", "symbol-observable": "4.0.0", diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 1ae830cd2514..736b336a671f 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -52,7 +52,7 @@ "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.58.0", + "sass": "1.58.1", "sass-loader": "13.2.0", "semver": "7.3.8", "source-map-loader": "4.0.1", diff --git a/yarn.lock b/yarn.lock index 81f2aeb860b7..a52f7243cdb0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3394,14 +3394,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a" - integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ== - dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/type-utils" "5.51.0" - "@typescript-eslint/utils" "5.51.0" +"@typescript-eslint/eslint-plugin@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" + integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== + dependencies: + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/type-utils" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -3410,72 +3410,72 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271" - integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA== +"@typescript-eslint/parser@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" + integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== dependencies: - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990" - integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ== +"@typescript-eslint/scope-manager@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1" + integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988" - integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ== +"@typescript-eslint/type-utils@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" + integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== dependencies: - "@typescript-eslint/typescript-estree" "5.51.0" - "@typescript-eslint/utils" "5.51.0" + "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/utils" "5.52.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90" - integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw== +"@typescript-eslint/types@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" + integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== -"@typescript-eslint/typescript-estree@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de" - integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA== +"@typescript-eslint/typescript-estree@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" + integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ== dependencies: - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/visitor-keys" "5.51.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/visitor-keys" "5.52.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47" - integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw== +"@typescript-eslint/utils@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" + integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.51.0" - "@typescript-eslint/types" "5.51.0" - "@typescript-eslint/typescript-estree" "5.51.0" + "@typescript-eslint/scope-manager" "5.52.0" + "@typescript-eslint/types" "5.52.0" + "@typescript-eslint/typescript-estree" "5.52.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.51.0": - version "5.51.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87" - integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ== +"@typescript-eslint/visitor-keys@5.52.0": + version "5.52.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f" + integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA== dependencies: - "@typescript-eslint/types" "5.51.0" + "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" "@verdaccio/commons-api@10.2.0": @@ -3486,23 +3486,48 @@ http-errors "2.0.0" http-status-codes "2.2.0" -"@verdaccio/config@6.0.0-6-next.55": - version "6.0.0-6-next.55" - resolved "https://registry.yarnpkg.com/@verdaccio/config/-/config-6.0.0-6-next.55.tgz#a88436376ad07563d769a68c4b10a60d25114ae4" - integrity sha512-fZnk9Z4BY5e77F2zZmezfpjdJa65acitOWHI5EUirQ0yaez+eHDLAqHYq4YZ04cBXyk0aF6k9QTXJqj8Y6Luww== +"@verdaccio/config@6.0.0-6-next.60": + version "6.0.0-6-next.60" + resolved "https://registry.yarnpkg.com/@verdaccio/config/-/config-6.0.0-6-next.60.tgz#cd290e36ff07aefd698e637aeac9645444486c9b" + integrity sha512-q6r8JEXUV2piZUtWW5SR11vIVqO4b4OGKmAnwCf6EdszRoRcxzf9KBlktVxSzmoIUOvygf0a+3hGbGI9qZBSjw== dependencies: - "@verdaccio/core" "6.0.0-6-next.55" - "@verdaccio/utils" "6.0.0-6-next.23" + "@verdaccio/core" "6.0.0-6-next.60" + "@verdaccio/utils" "6.0.0-6-next.28" debug "4.3.4" lodash "4.17.21" minimatch "3.1.2" yaml "2.2.0" yup "0.32.11" -"@verdaccio/core@6.0.0-6-next.55": - version "6.0.0-6-next.55" - resolved "https://registry.yarnpkg.com/@verdaccio/core/-/core-6.0.0-6-next.55.tgz#1421d6be7d8933d987bcd87f0740e19b9318e5a1" - integrity sha512-7VNhZw3f92FzUmim3KgQAbG+IuPOtjk9QkeYoI3tvRFmcOVdjg4eh7e6ALu4GiCcTEOpZj6JJMK5PpbflmzMHQ== +"@verdaccio/config@6.0.0-6-next.61": + version "6.0.0-6-next.61" + resolved "https://registry.yarnpkg.com/@verdaccio/config/-/config-6.0.0-6-next.61.tgz#04116ec345a7a5645a3f2618b7d15c5a8e71c4bf" + integrity sha512-gvR6vRS5aXTwEhZSecqEEOlTGHqbV2Vjg7w/huGRuAuJlOuz2t4V3d499U4qkkLBBEhh/X+4DjEVrkOo+jVWzQ== + dependencies: + "@verdaccio/core" "6.0.0-6-next.61" + "@verdaccio/utils" "6.0.0-6-next.29" + debug "4.3.4" + js-yaml "4.1.0" + lodash "4.17.21" + minimatch "3.1.2" + yup "0.32.11" + +"@verdaccio/core@6.0.0-6-next.60": + version "6.0.0-6-next.60" + resolved "https://registry.yarnpkg.com/@verdaccio/core/-/core-6.0.0-6-next.60.tgz#ece005b68be30e0220b0337210c89ce7b862aa3f" + integrity sha512-ZCDOPGjC1rox2dKwZ38GyWA3muA5JlTSfJ15EoIzd8kkWekGtV4/qtua0xUoxH4MhrYQmycsMuelaRveDtSz9A== + dependencies: + ajv "8.11.2" + core-js "3.27.0" + http-errors "1.8.1" + http-status-codes "2.2.0" + process-warning "1.0.0" + semver "7.3.8" + +"@verdaccio/core@6.0.0-6-next.61": + version "6.0.0-6-next.61" + resolved "https://registry.yarnpkg.com/@verdaccio/core/-/core-6.0.0-6-next.61.tgz#489aa487d5c69554eb1f5b9cd7bfa28bff8cf3e4" + integrity sha512-F5TLiQB9leeoZnyKRcE1hH5pr3lD2hZsKoda4ljqPyN2SqQq6ni6VsJLIMU73WjRQSl8GU9FPs8VunZo7l5AyA== dependencies: ajv "8.11.2" core-js "3.27.0" @@ -3532,43 +3557,98 @@ lowdb "1.0.0" mkdirp "1.0.4" +"@verdaccio/logger-7@6.0.0-6-next.6": + version "6.0.0-6-next.6" + resolved "https://registry.yarnpkg.com/@verdaccio/logger-7/-/logger-7-6.0.0-6-next.6.tgz#b07d005ff0c2b9b80ee0ad39aaa8903eba2cc708" + integrity sha512-Lkm/FCP5ALKfsje+y17FXnGpGI7mnAyzPlF+TA1ZkMXyVnRsQO0sbYfjOenkZ9/IpkEJzwq+15mzyvxZzVsWMA== + dependencies: + "@verdaccio/logger-commons" "6.0.0-6-next.29" + pino "7.11.0" + +"@verdaccio/logger-commons@6.0.0-6-next.29": + version "6.0.0-6-next.29" + resolved "https://registry.yarnpkg.com/@verdaccio/logger-commons/-/logger-commons-6.0.0-6-next.29.tgz#a79f0f7e512bdf947d36c11ca1bbafac3aedbb15" + integrity sha512-7AFWin5Kgurprr+7B/swOX4vbNxDWl/yzHAe6spSN3GXheX6mjsbgu8msovXvu0ntqehyEWeSgI30lOnB4vjKQ== + dependencies: + "@verdaccio/core" "6.0.0-6-next.61" + "@verdaccio/logger-prettify" "6.0.0-6-next.9" + colorette "2.0.19" + debug "4.3.4" + +"@verdaccio/logger-prettify@6.0.0-6-next.9": + version "6.0.0-6-next.9" + resolved "https://registry.yarnpkg.com/@verdaccio/logger-prettify/-/logger-prettify-6.0.0-6-next.9.tgz#614072d6a6edd5e462fb7eb697b78da5652183cf" + integrity sha512-+VZa/O4HgEGl5kuTUL86Nf3T5xrPBnrIPRMEiubW4Lytj2Jo9FTxxhAFyJ0QD4FSIZqyzi8Ul9jM0SKDxsTbdw== + dependencies: + colorette "2.0.19" + dayjs "1.11.7" + lodash "4.17.21" + pino-abstract-transport "1.0.0" + sonic-boom "3.2.1" + +"@verdaccio/middleware@6.0.0-6-next.40": + version "6.0.0-6-next.40" + resolved "https://registry.yarnpkg.com/@verdaccio/middleware/-/middleware-6.0.0-6-next.40.tgz#d3721341557ab52518052f449e4388223a161ae1" + integrity sha512-j7VT0sHM8OGEz2L1Tmff6oSjh8uHm40z96enUtFxpAJYELXx8KqGK82DHHl5FsCIB8GvdbFJn0YM1Bv4Gf5bvA== + dependencies: + "@verdaccio/config" "6.0.0-6-next.61" + "@verdaccio/core" "6.0.0-6-next.61" + "@verdaccio/url" "11.0.0-6-next.27" + "@verdaccio/utils" "6.0.0-6-next.29" + debug "4.3.4" + express "4.18.2" + express-rate-limit "5.5.1" + lodash "4.17.21" + lru-cache "7.14.1" + mime "2.6.0" + "@verdaccio/streams@10.2.0": version "10.2.0" resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== -"@verdaccio/tarball@11.0.0-6-next.24": - version "11.0.0-6-next.24" - resolved "https://registry.yarnpkg.com/@verdaccio/tarball/-/tarball-11.0.0-6-next.24.tgz#2b94f8fce425d18a98868409504e58ceece687b1" - integrity sha512-dcXkLw/b3Elt8xzU0vWc+Yqpb+g6et8vrclgqHhRE0HdArngNMmb8KynvDlkbWpNQJNNdM/bPidCOI3nt7KEnQ== +"@verdaccio/tarball@11.0.0-6-next.30": + version "11.0.0-6-next.30" + resolved "https://registry.yarnpkg.com/@verdaccio/tarball/-/tarball-11.0.0-6-next.30.tgz#25e8aed952de1280e4d27412915173b79a023ff7" + integrity sha512-+lQn0FsPkuTrZnzWxJ9p1ZuQlctZoDuxqH5y6UoOJP49OJSEV14NrVIR0y8mRhgJRFOfBjyqDEoyH4gNkhnNoA== dependencies: - "@verdaccio/core" "6.0.0-6-next.55" - "@verdaccio/url" "11.0.0-6-next.21" - "@verdaccio/utils" "6.0.0-6-next.23" + "@verdaccio/core" "6.0.0-6-next.61" + "@verdaccio/url" "11.0.0-6-next.27" + "@verdaccio/utils" "6.0.0-6-next.29" debug "4.3.4" lodash "4.17.21" -"@verdaccio/ui-theme@6.0.0-6-next.55": - version "6.0.0-6-next.55" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.55.tgz#faf4f4a0e2c949d7ea5ff58762ba290502a318e6" - integrity sha512-EnMYW5vmN8z8gC3WHuS0T/wS+AK+I1/SRmY5IoLUxoaGOAnZmHCeFF7eRIuhRwSQ/qTGCdtvvV6RRT8OaUjSCw== +"@verdaccio/ui-theme@6.0.0-6-next.61": + version "6.0.0-6-next.61" + resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.61.tgz#7a076e1bbb875eb638f9e198e7f8f047f2c743dc" + integrity sha512-owS9KpIrG69KjJ5zoQa55qGQPQUKzcWN/giRk6lMpU8LXAKS0Ogpr86mzL4IgKg8DEHsfo0DWiBeWwXwr8HHFA== -"@verdaccio/url@11.0.0-6-next.21": - version "11.0.0-6-next.21" - resolved "https://registry.yarnpkg.com/@verdaccio/url/-/url-11.0.0-6-next.21.tgz#b772c05a0a1559502c26b8c687e1d874ebc8005f" - integrity sha512-ojDaaDWsq/mvIZu+fxXX+VL/8pEObtAhy0dr5wp3Zo3UrBu4m8ltLqH5RUnj2vUc/5YB/krv/FffgSjWciVPQg== +"@verdaccio/url@11.0.0-6-next.27": + version "11.0.0-6-next.27" + resolved "https://registry.yarnpkg.com/@verdaccio/url/-/url-11.0.0-6-next.27.tgz#3086c6fa2d0fa0844565e56b83b96366f32f31fd" + integrity sha512-Gj29AkqUZbpbGyN6vXxKejZt6lQBWhEmLHN6ajZgfmr/hqbTzx2VTetFIIFfuka72mHCOhnUn/hBFgh9fL1Hxw== dependencies: - "@verdaccio/core" "6.0.0-6-next.55" + "@verdaccio/core" "6.0.0-6-next.61" debug "4.3.4" lodash "4.17.21" validator "13.7.0" -"@verdaccio/utils@6.0.0-6-next.23": - version "6.0.0-6-next.23" - resolved "https://registry.yarnpkg.com/@verdaccio/utils/-/utils-6.0.0-6-next.23.tgz#19b8f41702be5c76420f3360c55fed155d420989" - integrity sha512-PpKgisv6cRm43JNyFaUTTclyOy8VRubjniA3CmbEQIAImZ1YQMSAQ06nsWpZEhIx4NuRXmB5CiUHg2U4/0+oCg== +"@verdaccio/utils@6.0.0-6-next.28": + version "6.0.0-6-next.28" + resolved "https://registry.yarnpkg.com/@verdaccio/utils/-/utils-6.0.0-6-next.28.tgz#47982500940a89f2b786809ef31b4dbbdd759010" + integrity sha512-tEGIC7iYiDxZnrdBFB6O1cOdYOyeqE42MO4edtNLugbvAgh5iAntUI4qAGic8a39Od5JBm7QQ0RU3qHiofyU1w== dependencies: - "@verdaccio/core" "6.0.0-6-next.55" + "@verdaccio/core" "6.0.0-6-next.60" + lodash "4.17.21" + minimatch "3.1.2" + semver "7.3.8" + +"@verdaccio/utils@6.0.0-6-next.29": + version "6.0.0-6-next.29" + resolved "https://registry.yarnpkg.com/@verdaccio/utils/-/utils-6.0.0-6-next.29.tgz#969e47a6a3f84d1276bb518e72ed6b20f7014cba" + integrity sha512-bIpZYaWTT+bKyUDyoTQxkGDd8us65o9OJtVLIKCrH2RKxpX5ONpwPCxemyFB8v5kErSbqRXXvvQQflbg3s+WHg== + dependencies: + "@verdaccio/core" "6.0.0-6-next.61" lodash "4.17.21" minimatch "3.1.2" semver "7.3.8" @@ -4714,7 +4794,7 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -colorette@^2.0.10: +colorette@2.0.19, colorette@^2.0.10: version "2.0.19" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== @@ -5280,6 +5360,16 @@ domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" +duplexify@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" + integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.0" + easy-extender@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.4.tgz#298789b64f9aaba62169c77a2b3b64b4c9589b8f" @@ -5925,7 +6015,7 @@ fast-redact@^3.0.0: resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== -fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: +fast-safe-stringify@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== @@ -6049,11 +6139,6 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flatstr@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" - integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== - flatted@^3.1.0, flatted@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" @@ -7251,7 +7336,7 @@ jquery@^3.3.1: resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.3.tgz#23ed2ffed8a19e048814f13391a19afcdba160e6" integrity sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg== -js-base64@^3.7.4: +js-base64@^3.7.5: version "3.7.5" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.5.tgz#21e24cf6b886f76d6f5f165bfcd69cc55b9e3fca" integrity sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA== @@ -7911,7 +7996,7 @@ make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: socks-proxy-agent "^7.0.0" ssri "^9.0.0" -make-fetch-happen@^11.0.0: +make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1: version "11.0.3" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz#ed83dd3685b97f75607156d2721848f6eca561b9" integrity sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA== @@ -7994,16 +8079,16 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mime@2.6.0, mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + mime@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== -mime@^2.5.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - mime@~2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" @@ -8040,7 +8125,7 @@ minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" -minimatch@^6.1.6, minimatch@~6.2.0: +minimatch@^6.1.0, minimatch@^6.1.6, minimatch@~6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42" integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg== @@ -8294,20 +8379,13 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-fetch@2.6.7: +node-fetch@2.6.7, node-fetch@cjs: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" -node-fetch@2.6.8: - version "2.6.8" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" - integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== - dependencies: - whatwg-url "^5.0.0" - node-fetch@^2.2.0: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" @@ -8701,6 +8779,11 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -8862,10 +8945,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@15.0.8: - version "15.0.8" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.0.8.tgz#8a1cb1e0207f9f3c74894feaa716aaa9e35f890e" - integrity sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw== +pacote@15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.1.0.tgz#2e0b12a4f55ffd801a8134a1ae28ef361dc3f243" + integrity sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg== dependencies: "@npmcli/git" "^4.0.0" "@npmcli/installed-package-contents" "^2.0.1" @@ -8882,6 +8965,7 @@ pacote@15.0.8: promise-retry "^2.0.1" read-package-json "^6.0.0" read-package-json-fast "^3.0.0" + sigstore "^1.0.0" ssri "^10.0.0" tar "^6.1.11" @@ -8948,11 +9032,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-ms@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" - integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== - parse-node-version@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" @@ -9107,23 +9186,43 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== -pino-std-serializers@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" - integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== +pino-abstract-transport@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz#cc0d6955fffcadb91b7b49ef220a6cc111d48bb3" + integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA== + dependencies: + readable-stream "^4.0.0" + split2 "^4.0.0" + +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== -pino@6.14.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-6.14.0.tgz#b745ea87a99a6c4c9b374e4f29ca7910d4c69f78" - integrity sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg== +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== dependencies: + atomic-sleep "^1.0.0" fast-redact "^3.0.0" - fast-safe-stringify "^2.0.8" - flatstr "^1.0.12" - pino-std-serializers "^3.1.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" process-warning "^1.0.0" quick-format-unescaped "^4.0.3" - sonic-boom "^1.0.2" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" piscina@3.2.0, piscina@^3.2.0: version "3.2.0" @@ -9240,11 +9339,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier-bytes@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" - integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== - prettier@2.8.4, prettier@^2.0.0: version "2.8.4" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" @@ -9255,13 +9349,6 @@ pretty-bytes@^5.3.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-ms@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" - integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== - dependencies: - parse-ms "^2.1.0" - proc-log@^2.0.0, proc-log@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" @@ -9476,10 +9563,10 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@21.0.13: - version "21.0.13" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.13.tgz#e571b172ce29a99ca1293a2817a95e04d5d3ed74" - integrity sha512-E58jqsbKSB8K5AFqPBbayLXGg3L0/NdKzIETPoZRrbtrugoFKTU7GwHNEtpZw8CrkWaCywrVGr1Ckv18Z3W7BA== +quicktype-core@21.0.16: + version "21.0.16" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.16.tgz#47bfee2cf2e42fa3b920898f211f6d5507615d01" + integrity sha512-582Ksfns/RGcR+r3mTcTzlpHINjPpTbBoQziDciN5TtqwvF0UzRZo6ivGoPyRIK3i4rutOPWGT8oqXqxwBgq/Q== dependencies: "@glideapps/ts-necessities" "2.1.2" "@types/urijs" "^1.19.19" @@ -9487,7 +9574,7 @@ quicktype-core@21.0.13: collection-utils "^1.0.1" cross-fetch "^3.1.5" is-url "^1.2.4" - js-base64 "^3.7.4" + js-base64 "^3.7.5" lodash "^4.17.21" pako "^1.0.6" pluralize "^8.0.0" @@ -9591,7 +9678,7 @@ read@1, read@^1.0.7, read@~1.0.7: dependencies: mute-stream "~0.0.4" -readable-stream@4.3.0: +readable-stream@4.3.0, readable-stream@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.3.0.tgz#0914d0c72db03b316c9733bb3461d64a3cc50cba" integrity sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ== @@ -9640,6 +9727,11 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -9945,6 +10037,11 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" +safe-stable-stringify@^2.1.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" + integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -9972,7 +10069,16 @@ sass@1.57.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.58.0, sass@^1.55.0: +sass@1.58.1: + version "1.58.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.1.tgz#17ab0390076a50578ed0733f1cc45429e03405f6" + integrity sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sass@^1.55.0: version "1.58.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.0.tgz#ee8aea3ad5ea5c485c26b3096e2df6087d0bb1cc" integrity sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg== @@ -10214,6 +10320,14 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +sigstore@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.0.0.tgz#3c7a8bbacf99d0f978276bd29bd94911006b72c7" + integrity sha512-e+qfbn/zf1+rCza/BhIA//Awmf0v1pa5HQS8Xk8iXrn9bgytytVLqYD0P7NSqZ6IELTgq+tcDvLPkQjNHyWLNg== + dependencies: + make-fetch-happen "^11.0.1" + tuf-js "^1.0.0" + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -10297,13 +10411,19 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" -sonic-boom@^1.0.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e" - integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg== +sonic-boom@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.2.1.tgz#972ceab831b5840a08a002fa95a672008bda1c38" + integrity sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A== + dependencies: + atomic-sleep "^1.0.0" + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== dependencies: atomic-sleep "^1.0.0" - flatstr "^1.0.12" "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: version "1.0.2" @@ -10438,6 +10558,11 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" +split2@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" + integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -10499,6 +10624,11 @@ steno@^0.4.1: dependencies: graceful-fs "^4.1.3" +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + stream-throttle@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" @@ -10723,6 +10853,13 @@ tfunk@^4.0.0: chalk "^1.1.3" dlv "^1.1.3" +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -10878,6 +11015,14 @@ tsutils@3.21.0, tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tuf-js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.0.0.tgz#c89daaf69b348081a86e9f766151dfd7ce0f5078" + integrity sha512-1dxsQwESDzACJjTdYHQ4wJ1f/of7jALWKfJEHSBWUQB/5UTJUx9SW6GHXp4mZ1KvdBRJCpGjssoPFGi4hvw8/A== + dependencies: + make-fetch-happen "^11.0.1" + minimatch "^6.1.0" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -11160,15 +11305,16 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -verdaccio-audit@10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.4.tgz#3c1742eedbf338213bb580260efb28c69448cc5c" - integrity sha512-/0H6/JFVnhHwucUfMRVjL6gtGnB5gr3dDxq93Ja1Y0ob+2jxAfpqNMHg8c6/d/ZyHFf0y4tXzHESDruXCzTiaQ== +verdaccio-audit@11.0.0-6-next.23: + version "11.0.0-6-next.23" + resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-11.0.0-6-next.23.tgz#a4163abe96cb2b90884080f94bde3db1e30a53f4" + integrity sha512-4TmBfglknSIgLVKUOrhx9ArtI715Ju2SJnyoP0e7DIM1vEdw3Njt1GTG44L47r+n+rB7I6rsrM0/MxKffUmjNQ== dependencies: - body-parser "1.20.1" + "@verdaccio/config" "6.0.0-6-next.60" + "@verdaccio/core" "6.0.0-6-next.60" express "4.18.2" https-proxy-agent "5.0.1" - node-fetch "2.6.8" + node-fetch cjs verdaccio-auth-memory@^10.0.0: version "10.2.0" @@ -11188,19 +11334,21 @@ verdaccio-htpasswd@10.5.2: http-errors "2.0.0" unix-crypt-td-js "1.1.4" -verdaccio@5.20.1: - version "5.20.1" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.20.1.tgz#4bf90b602aac4ef759358744b9e1ef5eff154998" - integrity sha512-zKQXYubQOfl2w09gO9BR7U9ZZkFPPby8tvV+na86/2vGZnY79kNSVnSbK8CM1bpJHTCQ80AGsmIGovg2FgXhdQ== +verdaccio@5.21.1: + version "5.21.1" + resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.21.1.tgz#a88ab1f8bfe623e535c88ddcaa1b95d2bea2abee" + integrity sha512-SbqeKxmcUW1G9AYo8cmAPAlWW6YpNR8Q6LVJrfP+4s9gQ496s8cvhj0yAX8nl1k3+DAEZBuGcrgfAF0kORYXpA== dependencies: - "@verdaccio/config" "6.0.0-6-next.55" - "@verdaccio/core" "6.0.0-6-next.55" + "@verdaccio/config" "6.0.0-6-next.61" + "@verdaccio/core" "6.0.0-6-next.61" "@verdaccio/local-storage" "10.3.1" + "@verdaccio/logger-7" "6.0.0-6-next.6" + "@verdaccio/middleware" "6.0.0-6-next.40" "@verdaccio/streams" "10.2.0" - "@verdaccio/tarball" "11.0.0-6-next.24" - "@verdaccio/ui-theme" "6.0.0-6-next.55" - "@verdaccio/url" "11.0.0-6-next.21" - "@verdaccio/utils" "6.0.0-6-next.23" + "@verdaccio/tarball" "11.0.0-6-next.30" + "@verdaccio/ui-theme" "6.0.0-6-next.61" + "@verdaccio/url" "11.0.0-6-next.27" + "@verdaccio/utils" "6.0.0-6-next.29" JSONStream "1.3.5" async "3.2.4" body-parser "1.20.1" @@ -11208,31 +11356,24 @@ verdaccio@5.20.1: compression "1.7.4" cookies "0.8.0" cors "2.8.5" - dayjs "1.11.7" debug "^4.3.4" envinfo "7.8.1" express "4.18.2" - express-rate-limit "5.5.1" fast-safe-stringify "2.1.1" handlebars "4.7.7" - http-errors "2.0.0" js-yaml "4.1.0" jsonwebtoken "9.0.0" kleur "4.1.5" lodash "4.17.21" - lru-cache "7.14.1" lunr-mutable-indexes "2.3.2" mime "3.0.0" mkdirp "1.0.4" mv "2.1.1" - pino "6.14.0" pkginfo "0.4.1" - prettier-bytes "^1.0.4" - pretty-ms "^7.0.1" request "2.88.0" semver "7.3.8" validator "13.7.0" - verdaccio-audit "10.2.4" + verdaccio-audit "11.0.0-6-next.23" verdaccio-htpasswd "10.5.2" verror@1.10.0: From 8f4e1018ddfa1c421769fda4e4e973375c7b8db6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 15 Feb 2023 15:32:27 +0000 Subject: [PATCH 1370/1388] build: remove no longer used scripts This commit removes scripts which have been replaced with Bazel. --- package.json | 3 +- scripts/build-bazel.ts | 156 --------------- scripts/build.ts | 433 ++++++++--------------------------------- scripts/packages.ts | 56 ------ scripts/publish.ts | 167 ---------------- scripts/snapshots.ts | 2 +- 6 files changed, 83 insertions(+), 734 deletions(-) delete mode 100644 scripts/build-bazel.ts delete mode 100644 scripts/packages.ts delete mode 100644 scripts/publish.ts diff --git a/package.json b/package.json index 20620cfe48a8..24073f754795 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,8 @@ ], "scripts": { "admin": "node ./bin/devkit-admin", - "bazel:test": "bazel test //packages/...", + "test": "bazel test //packages/...", "build": "node ./bin/devkit-admin build", - "build:bazel": "node ./bin/devkit-admin build-bazel", "build-tsc": "tsc -p tsconfig.json", "lint": "eslint --cache --max-warnings=0 \"**/*.ts\"", "ng-dev": "cross-env TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json TS_NODE_TRANSPILE_ONLY=1 node --no-warnings --loader ts-node/esm node_modules/@angular/ng-dev/bundles/cli.mjs", diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts deleted file mode 100644 index 32d73bf86dde..000000000000 --- a/scripts/build-bazel.ts +++ /dev/null @@ -1,156 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging } from '@angular-devkit/core'; -import { spawn } from 'child_process'; -import fs from 'fs'; -import { dirname, join, relative, resolve } from 'path'; - -const baseDir = resolve(`${__dirname}/..`); -const bazelCmd = process.env.BAZEL ?? `yarn --cwd "${baseDir}" --silent bazel`; -const distRoot = join(baseDir, '/dist'); - -type BuildMode = 'local' | 'snapshot' | 'release'; - -function _copy(from: string, to: string) { - // Create parent folder if necessary. - if (!fs.existsSync(dirname(to))) { - fs.mkdirSync(dirname(to), { recursive: true }); - } - - // Error out if destination already exists. - if (fs.existsSync(to)) { - throw new Error(`Path ${to} already exist...`); - } - - from = relative(process.cwd(), from); - to = relative(process.cwd(), to); - - const buffer = fs.readFileSync(from); - fs.writeFileSync(to, buffer); -} - -function _recursiveCopy(from: string, to: string, logger: logging.Logger) { - if (!fs.existsSync(from)) { - logger.error(`File "${from}" does not exist.`); - process.exit(4); - } - if (fs.statSync(from).isDirectory()) { - fs.readdirSync(from).forEach((fileName) => { - _recursiveCopy(join(from, fileName), join(to, fileName), logger); - }); - } else { - _copy(from, to); - } -} - -function rimraf(location: string) { - fs.rmSync(location, { force: true, recursive: true, maxRetries: 3 }); -} - -function _clean(logger: logging.Logger) { - logger.info('Cleaning...'); - logger.info(' Removing dist/...'); - rimraf(join(__dirname, '../dist')); -} - -function _exec(cmd: string, captureStdout: boolean, logger: logging.Logger): Promise { - return new Promise((resolve, reject) => { - const proc = spawn(cmd, { - stdio: 'pipe', - shell: true, - }); - - let output = ''; - proc.stdout.on('data', (data) => { - logger.info(data.toString().trim()); - if (captureStdout) { - output += data.toString().trim(); - } - }); - proc.stderr.on('data', (data) => logger.info(data.toString().trim())); - - proc.on('error', (error) => { - logger.error(error.message); - }); - - proc.on('exit', (status) => { - if (status !== 0) { - reject(`Command failed: ${cmd}`); - } else { - resolve(output); - } - }); - }); -} - -async function _build(logger: logging.Logger, mode: BuildMode): Promise { - logger.info(`Building (mode=${mode})...`); - - const queryLogger = logger.createChild('query'); - const queryTargetsCmd = `${bazelCmd} query --output=label "attr(name, npm_package_archive, //packages/...)"`; - const targets = (await _exec(queryTargetsCmd, true, queryLogger)).split(/\r?\n/); - - const buildLogger = logger.createChild('build'); - - // If we are in release mode, run `bazel clean` to ensure the execroot and action cache - // are not populated. This is necessary because targets using `npm_package` rely on - // workspace status variables for the package version. Such NPM package targets are not - // rebuilt if only the workspace status variables change. This could result in accidental - // re-use of previously built package output with a different `version` in the `package.json`. - if (mode == 'release') { - buildLogger.info('Building in release mode. Resetting the Bazel execroot and action cache.'); - await _exec(`${bazelCmd} clean`, false, buildLogger); - } - - await _exec(`${bazelCmd} build --config=${mode} ${targets.join(' ')}`, false, buildLogger); - - return targets; -} - -export default async function ( - argv: { local?: boolean; snapshot?: boolean } = {}, - logger: logging.Logger = new logging.Logger('build-logger'), -): Promise<{ name: string; outputPath: string }[]> { - const bazelBin = await _exec(`${bazelCmd} info bazel-bin`, true, logger); - - _clean(logger); - - let buildMode: BuildMode; - if (argv.local) { - buildMode = 'local'; - } else if (argv.snapshot) { - buildMode = 'snapshot'; - } else { - buildMode = 'release'; - } - - const targets = await _build(logger, buildMode); - const output: { name: string; outputPath: string }[] = []; - - logger.info('Moving packages and tars to dist/'); - const packageLogger = logger.createChild('packages'); - - for (const target of targets) { - const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); - const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); - const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; - const packageJsonPath = `${bazelOutDir}/package.json`; - const packageName = require(packageJsonPath).name; - const destDir = `${distRoot}/${packageName}`; - - packageLogger.info(packageName); - - _recursiveCopy(bazelOutDir, destDir, logger); - _copy(tarPath, `${distRoot}/${packageName.replace('@', '_').replace('/', '_')}.tgz`); - - output.push({ name: packageDir, outputPath: destDir }); - } - - return output; -} diff --git a/scripts/build.ts b/scripts/build.ts index d1507d662b40..32d73bf86dde 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -6,88 +6,21 @@ * found in the LICENSE file at https://angular.io/license */ -import { JsonObject, logging } from '@angular-devkit/core'; -import * as child_process from 'child_process'; -import * as fs from 'fs'; -import glob from 'glob'; -import * as path from 'path'; -import { packages } from '../lib/packages'; -import buildSchema from './build-schema'; +import { logging } from '@angular-devkit/core'; +import { spawn } from 'child_process'; +import fs from 'fs'; +import { dirname, join, relative, resolve } from 'path'; -const { minimatch } = require('minimatch'); -const tar = require('tar'); +const baseDir = resolve(`${__dirname}/..`); +const bazelCmd = process.env.BAZEL ?? `yarn --cwd "${baseDir}" --silent bazel`; +const distRoot = join(baseDir, '/dist'); -const gitIgnoreFiles = fs.readFileSync(path.join(__dirname, '../.gitignore'), 'utf-8').split('\n'); -const gitIgnore = gitIgnoreFiles - .map((line) => line.replace(/#.*/, '')) - .filter((line) => !line.startsWith('!')) - .filter((line) => !line.match(/^\s*$/)); -const gitIgnoreExcept = gitIgnoreFiles - .filter((line) => line.startsWith('!')) - .map((line) => line.slice(1)); - -function _gitIgnoreMatch(p: string): boolean { - p = path.relative(path.dirname(__dirname), p); - - if (gitIgnoreExcept.some((line) => minimatch(p, line))) { - return false; - } - - return gitIgnore.some((line) => minimatch(p, line)); -} - -function _recursiveFileList(p: string): string[] { - if (!fs.statSync(p).isDirectory()) { - return []; - } - - const list = fs.readdirSync(p); - - return ( - list - .map((subpath) => { - const subpathList = _recursiveFileList(path.join(p, subpath)); - - return [subpath, ...subpathList.map((sp) => path.join(subpath, sp))]; - }) - // Flatten. - .reduce((acc, curr) => [...acc, ...curr], []) - // Filter out directories. - .filter((sp) => !fs.statSync(path.join(p, sp)).isDirectory()) - ); -} - -// This method mimics how npm pack tars packages. -function _tar(out: string, dir: string) { - // NOTE: node-tar does some Magic Stuff depending on prefixes for files - // specifically with @ signs, so we just neutralize that one - // and any such future "features" by prepending `./` - - // Without this, the .tar file cannot be opened on Windows. - - const files = _recursiveFileList(dir).map((f) => `./${f}`); - - return tar.create( - { - gzip: true, - strict: true, - portable: true, - cwd: dir, - prefix: 'package/', - file: out, - sync: true, - // Provide a specific date in the 1980s for the benefit of zip, - // which is confounded by files dated at the Unix epoch 0. - mtime: new Date('1985-10-26T08:15:00.000Z'), - }, - files, - ); -} +type BuildMode = 'local' | 'snapshot' | 'release'; function _copy(from: string, to: string) { // Create parent folder if necessary. - if (!fs.existsSync(path.dirname(to))) { - fs.mkdirSync(path.dirname(to), { recursive: true }); + if (!fs.existsSync(dirname(to))) { + fs.mkdirSync(dirname(to), { recursive: true }); } // Error out if destination already exists. @@ -95,8 +28,8 @@ function _copy(from: string, to: string) { throw new Error(`Path ${to} already exist...`); } - from = path.relative(process.cwd(), from); - to = path.relative(process.cwd(), to); + from = relative(process.cwd(), from); + to = relative(process.cwd(), to); const buffer = fs.readFileSync(from); fs.writeFileSync(to, buffer); @@ -109,18 +42,13 @@ function _recursiveCopy(from: string, to: string, logger: logging.Logger) { } if (fs.statSync(from).isDirectory()) { fs.readdirSync(from).forEach((fileName) => { - _recursiveCopy(path.join(from, fileName), path.join(to, fileName), logger); + _recursiveCopy(join(from, fileName), join(to, fileName), logger); }); } else { _copy(from, to); } } -function _rm(p: string) { - p = path.relative(process.cwd(), p); - fs.unlinkSync(p); -} - function rimraf(location: string) { fs.rmSync(location, { force: true, recursive: true, maxRetries: 3 }); } @@ -128,300 +56,101 @@ function rimraf(location: string) { function _clean(logger: logging.Logger) { logger.info('Cleaning...'); logger.info(' Removing dist/...'); - rimraf(path.join(__dirname, '../dist')); + rimraf(join(__dirname, '../dist')); } -function _sortPackages() { - // Order packages in order of dependency. - // We use bubble sort because we need a full topological sort but adding another dependency - // or implementing a full topo sort would be too much work and I'm lazy. We don't anticipate - // any large number of - const sortedPackages = Object.keys(packages); - let swapped = false; - do { - swapped = false; - for (let i = 0; i < sortedPackages.length - 1; i++) { - for (let j = i + 1; j < sortedPackages.length; j++) { - const a = sortedPackages[i]; - const b = sortedPackages[j]; +function _exec(cmd: string, captureStdout: boolean, logger: logging.Logger): Promise { + return new Promise((resolve, reject) => { + const proc = spawn(cmd, { + stdio: 'pipe', + shell: true, + }); - if (packages[a].dependencies.indexOf(b) != -1) { - // Swap them. - [sortedPackages[i], sortedPackages[i + 1]] = [sortedPackages[i + 1], sortedPackages[i]]; - swapped = true; - } + let output = ''; + proc.stdout.on('data', (data) => { + logger.info(data.toString().trim()); + if (captureStdout) { + output += data.toString().trim(); } - } - } while (swapped); - - return sortedPackages; -} - -function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { - const { status, error, stderr, stdout } = child_process.spawnSync(command, args, { - stdio: 'inherit', - ...opts, - }); - - if (status != 0) { - logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`); - if (error) { - logger.error('Error: ' + (error ? error.message : 'undefined')); - } else { - logger.error(`STDOUT:\n${stdout}`); - logger.error(`STDERR:\n${stderr}`); - } - throw error; - } -} - -function _build(logger: logging.Logger) { - logger.info('Building...'); - _exec('node', [require.resolve('typescript/bin/tsc'), '-p', 'tsconfig-build.json'], {}, logger); -} - -export default async function ( - argv: { local?: boolean; snapshot?: boolean } = {}, - logger: logging.Logger = new logging.Logger('build-logger'), -) { - _clean(logger); - - const sortedPackages = _sortPackages(); - await buildSchema({}, logger); - _build(logger); - - logger.info('Moving packages to dist/'); - const packageLogger = logger.createChild('packages'); - for (const packageName of sortedPackages) { - packageLogger.info(packageName); - const pkg = packages[packageName]; - _recursiveCopy(pkg.build, pkg.dist, logger); - rimraf(pkg.build); - } - - logger.info('Merging bazel-bin/ with dist/'); - for (const packageName of sortedPackages) { - const pkg = packages[packageName]; - const bazelBinPath = pkg.build.replace(/([\\/]dist[\\/])(packages)/, (_, dist, packages) => { - return path.join(dist, 'dist-schema', packages); }); - if (fs.existsSync(bazelBinPath)) { - packageLogger.info(packageName); - _recursiveCopy(bazelBinPath, pkg.dist, logger); - rimraf(bazelBinPath); - } - } + proc.stderr.on('data', (data) => logger.info(data.toString().trim())); - logger.info('Copying resources...'); - const resourceLogger = logger.createChild('resources'); - for (const packageName of sortedPackages) { - resourceLogger.info(packageName); - const pkg = packages[packageName]; - const pkgJson = pkg.packageJson; - const files = glob.sync('**/*', { - cwd: pkg.root, - dot: true, - nodir: true, - ignore: ['test/**/*', '**/tests/*', 'src/testing/*'], + proc.on('error', (error) => { + logger.error(error.message); }); - const subSubLogger = resourceLogger.createChild(packageName); - subSubLogger.info(`${files.length} files total...`); - const resources = files.filter((fileName) => { - if (/(?:^|[/\\])node_modules[/\\]/.test(fileName)) { - return false; - } - - // Schematics template files. - if ( - pkgJson['schematics'] && - (fileName.match(/(\/|\\)files(\/|\\)/) || fileName.match(/(\/|\\)\w+-files(\/|\\)/)) - ) { - return true; - } - - // Skip test files - if (fileName.endsWith('_spec.ts')) { - return false; - } - - if (fileName.endsWith('package.json')) { - return true; - } - - if (pkg.name === '@angular-devkit/core' && fileName.startsWith('src/workspace/json/test')) { - return false; - } - - // This schema is built and copied later on as schema.json. - if (pkg.name === '@angular/cli' && fileName.endsWith('workspace-schema.json')) { - return false; - } - // Remove Bazel files from NPM. - if (fileName === 'BUILD' || fileName === 'BUILD.bazel') { - return false; - } - - // Skip sources. - if (fileName.endsWith('.ts') && !fileName.endsWith('.d.ts')) { - // Verify that it was actually built. - if (!fs.existsSync(path.join(pkg.dist, fileName).replace(/ts$/, 'js'))) { - subSubLogger.error(`\nSource found but compiled file not found: "${fileName}".`); - process.exit(2); - } - - // Skip all sources. - return false; + proc.on('exit', (status) => { + if (status !== 0) { + reject(`Command failed: ${cmd}`); + } else { + resolve(output); } + }); + }); +} - // Skip tsconfig only. - if (fileName.endsWith('tsconfig.json')) { - return false; - } +async function _build(logger: logging.Logger, mode: BuildMode): Promise { + logger.info(`Building (mode=${mode})...`); - // Skip files from gitignore. - if (_gitIgnoreMatch(fileName)) { - return false; - } + const queryLogger = logger.createChild('query'); + const queryTargetsCmd = `${bazelCmd} query --output=label "attr(name, npm_package_archive, //packages/...)"`; + const targets = (await _exec(queryTargetsCmd, true, queryLogger)).split(/\r?\n/); - return true; - }); + const buildLogger = logger.createChild('build'); - subSubLogger.info(`${resources.length} resources...`); - resources.forEach((fileName) => { - _copy(path.join(pkg.root, fileName), path.join(pkg.dist, fileName)); - }); + // If we are in release mode, run `bazel clean` to ensure the execroot and action cache + // are not populated. This is necessary because targets using `npm_package` rely on + // workspace status variables for the package version. Such NPM package targets are not + // rebuilt if only the workspace status variables change. This could result in accidental + // re-use of previously built package output with a different `version` in the `package.json`. + if (mode == 'release') { + buildLogger.info('Building in release mode. Resetting the Bazel execroot and action cache.'); + await _exec(`${bazelCmd} clean`, false, buildLogger); } - logger.info('Copying extra resources...'); - for (const packageName of sortedPackages) { - const pkg = packages[packageName]; - _copy(path.join(__dirname, '../LICENSE'), path.join(pkg.dist, 'LICENSE')); + await _exec(`${bazelCmd} build --config=${mode} ${targets.join(' ')}`, false, buildLogger); - if (pkg.name === '@angular/cli') { - _copy( - path.join(__dirname, '../dist-schema/packages/angular/cli/lib/config/schema.json'), - path.join(pkg.dist, 'lib/config/schema.json'), - ); - } - } + return targets; +} - logger.info('Removing spec files...'); - const specLogger = logger.createChild('specfiles'); - for (const packageName of sortedPackages) { - const pkg = packages[packageName]; - const files = glob.sync(path.join(pkg.dist, '**/*_spec?(_large).@(js|d.ts)')); +export default async function ( + argv: { local?: boolean; snapshot?: boolean } = {}, + logger: logging.Logger = new logging.Logger('build-logger'), +): Promise<{ name: string; outputPath: string }[]> { + const bazelBin = await _exec(`${bazelCmd} info bazel-bin`, true, logger); - if (files.length == 0) { - continue; - } + _clean(logger); - specLogger.info(packageName); - specLogger.info(` ${files.length} spec files found...`); - files.forEach((fileName) => _rm(fileName)); + let buildMode: BuildMode; + if (argv.local) { + buildMode = 'local'; + } else if (argv.snapshot) { + buildMode = 'snapshot'; + } else { + buildMode = 'release'; } - logger.info('Building ejs templates...'); - const templateLogger = logger.createChild('templates'); - const templateCompiler = require('@angular-devkit/core').template; - for (const packageName of sortedPackages) { - const pkg = packages[packageName]; - const files = glob.sync(path.join(pkg.dist, '**/*.ejs')); - - if (files.length == 0) { - continue; - } - - templateLogger.info(packageName); - templateLogger.info(` ${files.length} ejs files found...`); - files.forEach((fileName) => { - const p = path.relative( - path.dirname(__dirname), - path.join(pkg.root, path.relative(pkg.dist, fileName)), - ); - const fn = templateCompiler(fs.readFileSync(fileName).toString(), { - module: true, - sourceURL: p, - sourceMap: true, - sourceRoot: path.join(__dirname, '..'), - fileName: fileName.replace(/\.ejs$/, '.js'), - }); - _rm(fileName); - fs.writeFileSync(fileName.replace(/\.ejs$/, '.js'), fn.source); - }); - } + const targets = await _build(logger, buildMode); + const output: { name: string; outputPath: string }[] = []; - logger.info('Setting versions...'); + logger.info('Moving packages and tars to dist/'); + const packageLogger = logger.createChild('packages'); - const versionLogger = logger.createChild('versions'); - for (const packageName of sortedPackages) { - versionLogger.info(packageName); - const pkg = packages[packageName]; - const packageJsonPath = path.join(pkg.dist, 'package.json'); - const packageJson = pkg.packageJson; - const version = pkg.version; + for (const target of targets) { + const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); + const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); + const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; + const packageJsonPath = `${bazelOutDir}/package.json`; + const packageName = require(packageJsonPath).name; + const destDir = `${distRoot}/${packageName}`; - if (version) { - packageJson['version'] = version; - } else { - versionLogger.error('No version found... Only updating dependencies.'); - } + packageLogger.info(packageName); - for (const depName of Object.keys(packages)) { - const v = packages[depName].version; - for (const depKey of ['dependencies', 'peerDependencies', 'devDependencies', 'ng-update']) { - let obj: JsonObject | null; - if (depKey === 'ng-update') { - const updateObject = packageJson[depKey] as JsonObject | null; - if (!updateObject) { - continue; - } - obj = updateObject['packageGroup'] as JsonObject | null; - } else { - obj = packageJson[depKey] as JsonObject | null; - } - if (obj && typeof obj === 'object' && obj[depName]) { - if (argv.local) { - obj[depName] = packages[depName].tar; - } else if (argv.snapshot) { - const pkg = packages[depName]; - if (!pkg.snapshotRepo) { - versionLogger.error( - `Package ${JSON.stringify(depName)} is not published as a snapshot. ` + - `Fixing to current version ${v}.`, - ); - obj[depName] = v; - } else { - obj[depName] = `github:${pkg.snapshotRepo}#${pkg.snapshotHash}`; - } - } else if ((obj[depName] as string).match(/\b0\.0\.0-PLACEHOLDER\b/)) { - obj[depName] = (obj[depName] as string).replace(/\b0\.0\.0-PLACEHOLDER\b/, v); - } else if ((obj[depName] as string).match(/\b0\.0\.0-EXPERIMENTAL-PLACEHOLDER\b/)) { - obj[depName] = (obj[depName] as string).replace( - /\b0\.0\.0-EXPERIMENTAL-PLACEHOLDER\b/, - v, - ); - } - } - } - } + _recursiveCopy(bazelOutDir, destDir, logger); + _copy(tarPath, `${distRoot}/${packageName.replace('@', '_').replace('/', '_')}.tgz`); - fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n'); + output.push({ name: packageDir, outputPath: destDir }); } - const output: { name: string; outputPath: string }[] = []; - logger.info('Tarring all packages...'); - const tarLogger = logger.createChild('license'); - Object.keys(packages).forEach((pkgName) => { - const pkg = packages[pkgName]; - if (!pkg.private) { - tarLogger.info(`${pkgName} => ${pkg.tar}`); - _tar(pkg.tar, pkg.dist); - output.push({ name: pkgName, outputPath: pkg.dist }); - } - }); - - logger.info(`Done.`); - return output; } diff --git a/scripts/packages.ts b/scripts/packages.ts deleted file mode 100644 index 19a90deee5ca..000000000000 --- a/scripts/packages.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging } from '@angular-devkit/core'; -import * as colors from 'ansi-colors'; - -const { packages, loadRootPackageJson, stableToExperimentalVersion } = require('../lib/packages'); - -export default function ( - args: { json: boolean; version: boolean; releaseCheck: boolean }, - logger: logging.Logger, -) { - if (args.releaseCheck) { - const { version: root } = loadRootPackageJson(); - const experimental = stableToExperimentalVersion(root); - logger.info( - `The expected version for the release is ${colors.bold( - root, - )} (${experimental}) based on root package.json.`, - ); - logger.info( - Object.keys(packages) - .filter((name) => !packages[name].private) - .map((name) => { - let result = colors.red(colors.symbols.cross); - const version = packages[name].version; - if ([root, experimental].includes(version)) { - result = colors.green(colors.symbols.check); - } - - return ` ${result} ${name}@${packages[name].version}`; - }) - .join('\n'), - ); - } else if (args.json) { - logger.info(JSON.stringify(packages, null, 2)); - } else { - logger.info( - Object.keys(packages) - .filter((name) => !packages[name].private) - .map((name) => { - if (args.version) { - return `${name}@${packages[name].version}`; - } else { - return name; - } - }) - .join('\n'), - ); - } -} diff --git a/scripts/publish.ts b/scripts/publish.ts deleted file mode 100644 index 631e2bd705b2..000000000000 --- a/scripts/publish.ts +++ /dev/null @@ -1,167 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import { logging, tags } from '@angular-devkit/core'; -import { spawnSync } from 'child_process'; -import * as semver from 'semver'; -import { packages } from '../lib/packages'; -import build from './build'; - -export interface PublishArgs { - tag?: string; - tagCheck?: boolean; - branchCheck?: boolean; - versionCheck?: boolean; - registry?: string; -} - -function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { - if (process.platform.startsWith('win')) { - args.unshift('/c', command); - command = 'cmd.exe'; - } - - const { status, error, stderr, stdout } = spawnSync(command, args, { ...opts }); - - if (status != 0) { - logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`); - if (error) { - logger.error('Error: ' + (error ? error.message : 'undefined')); - } else { - logger.error(`STDERR:\n${stderr}`); - } - throw error; - } else { - return stdout.toString(); - } -} - -/** Returns whether or not the given tag is valid to be used. */ -function _tagCheck(tag: string) { - if (tag === 'latest') { - return; // Valid - } - if (tag === 'next') { - return; // Valid - } - if (/v\d+-lts/.test(tag)) { - return; // Valid - } - - throw new Error(tags.oneLine` - --tag should be "latest", "next", or "vX-lts". Use \`--no-tagCheck false\` - to skip this check if necessary. - `); -} - -function _branchCheck(args: PublishArgs, logger: logging.Logger) { - logger.info('Checking branch...'); - const ref = _exec('git', ['symbolic-ref', 'HEAD'], {}, logger); - const branch = ref.trim().replace(/^refs\/heads\//, ''); - - switch (branch) { - case 'main': - if (args.tag !== 'next') { - throw new Error(tags.oneLine` - Releasing from main requires a next tag. Use --no-branchCheck to - skip this check. - `); - } - } -} - -function _versionCheck(args: PublishArgs, logger: logging.Logger) { - logger.info('Checking version...'); - // Find _any_ version that's beta or RC. - let betaOrRc = false; - let version = ''; - Object.keys(packages).forEach((name: string) => { - // If there's _ANY_ prerelease information, it's on. - if (semver.prerelease(packages[name].version)) { - betaOrRc = true; - version = packages[name].version; - } - }); - - if (betaOrRc && args.tag !== 'next') { - throw new Error(tags.oneLine` - Releasing version ${JSON.stringify(version)} requires a next tag. - Use --no-versionCheck to skip this check. - `); - } - - Object.keys(packages).forEach((name: string) => { - if (packages[name].version.indexOf('+') >= 0) { - throw new Error(tags.oneLine` - Releasing a version with a + in it means that the latest commit is not tagged properly. - Version found: ${JSON.stringify(packages[name].version)} - `); - } - }); -} - -export default async function (args: PublishArgs, logger: logging.Logger) { - const { tag } = args; - if (!tag) { - // NPM requires that all releases have a tag associated. - // https://github.com/npm/npm/issues/10625#issuecomment-162106553 - // Do not publish without a tag. - throw new Error('--tag is required.'); - } - - if (args.tagCheck ?? true) { - _tagCheck(tag); - } - - if (args.branchCheck ?? true) { - _branchCheck(args, logger); - } - - if (args.versionCheck ?? true) { - _versionCheck(args, logger); - } - - // If no registry is provided, the wombat proxy should be used. - const registry = args.registry ?? 'http://localhost:4873/'; - - logger.info('Building...'); - await build({}, logger.createChild('build')); - - return Object.keys(packages) - .reduce((acc: Promise, name: string) => { - const pkg = packages[name]; - if (pkg.packageJson['private']) { - logger.debug(`${name} (private)`); - - return acc; - } - - return acc - .then(() => { - logger.info(name); - - const publishArgs = ['publish', '--tag', tag, '--registry', registry]; - - return _exec( - 'npm', - publishArgs, - { - cwd: pkg.dist, - }, - logger, - ); - }) - .then((stdout: string) => { - logger.info(stdout); - }); - }, Promise.resolve()) - .then( - () => logger.info('done'), - (err: Error) => logger.fatal(err.message), - ); -} diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index 46b0f204c669..aacab6a94bb4 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -12,7 +12,7 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; import { PackageInfo, packages } from '../lib/packages'; -import build from './build-bazel'; +import build from './build'; import jsonHelp, { createTemporaryProject } from './json-help'; // Added to the README.md of the snapshot. This is markdown. From 1779e8e8adf0ae6ef67f4710e200ef6f521a8c62 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 15 Feb 2023 16:16:57 +0000 Subject: [PATCH 1371/1388] build: update dependency quicktype-core to v22 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 24073f754795..4a6a7d29206f 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "prettier": "^2.0.0", "protractor": "~7.0.0", "puppeteer": "18.2.1", - "quicktype-core": "21.0.16", + "quicktype-core": "22.0.0", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", "sass": "1.58.1", diff --git a/yarn.lock b/yarn.lock index a52f7243cdb0..efb6f2101f9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9563,10 +9563,10 @@ quick-format-unescaped@^4.0.3: resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== -quicktype-core@21.0.16: - version "21.0.16" - resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-21.0.16.tgz#47bfee2cf2e42fa3b920898f211f6d5507615d01" - integrity sha512-582Ksfns/RGcR+r3mTcTzlpHINjPpTbBoQziDciN5TtqwvF0UzRZo6ivGoPyRIK3i4rutOPWGT8oqXqxwBgq/Q== +quicktype-core@22.0.0: + version "22.0.0" + resolved "https://registry.yarnpkg.com/quicktype-core/-/quicktype-core-22.0.0.tgz#12931778a8812086e693f6c4c9ebbb8c67956773" + integrity sha512-fDhIJiHcmxP018QYqX/zlSPd9wBia12DaY7DkaNoPRXTK6P6L7wvQ7fVAoXwExG3g9IM/alP+/NN6p3mzY/4RA== dependencies: "@glideapps/ts-necessities" "2.1.2" "@types/urijs" "^1.19.19" From 9aff04415565612456c7f9fd7046f63dec14f3c8 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 15 Feb 2023 13:55:22 -0500 Subject: [PATCH 1372/1388] docs: release notes for the v15.1.6 release --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6429ee552427..54bef24a6bbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,30 @@ + + +# 15.1.6 (2023-02-15) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | +| [3d1f48fa2](https://github.com/angular/angular-cli/commit/3d1f48fa2991ded75da3a1b3a431480710a8ce15) | fix | add set `SessionEngaged` in GA | +| [df07ab113](https://github.com/angular/angular-cli/commit/df07ab11351d6f2d82922ae251ccd17b23d9d0a9) | fix | convert `before` option in `.npmrc` to Date | +| [c787cc780](https://github.com/angular/angular-cli/commit/c787cc7803598eb67260cbd2112d411384d518cc) | fix | replace `os.version` with `os.release`. | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [34a4a1bbf](https://github.com/angular/angular-cli/commit/34a4a1bbf608eb54b0a33b3aa3a6be3e2a576770) | fix | correctly copy `safety-worker.js` contents | +| [88a33155d](https://github.com/angular/angular-cli/commit/88a33155d4bc00077d32bef42588427fb2ed49f4) | fix | update the ECMA output warning message to be more actionable | +| [384ad29c9](https://github.com/angular/angular-cli/commit/384ad29c9a66d78e545ed7e48bf962e4df9d0549) | fix | use babel default export helper in build optimizer | +| [59aa1cdbd](https://github.com/angular/angular-cli/commit/59aa1cdbdf3e2712f988790f68bacc174d070b0c) | perf | reduce rebuilt times when using the `scripts` option | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.2.0-next.4 (2023-02-08) From 04b2b0991b66f29a0086c0e4b64ab854e490fe4c Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 15 Feb 2023 18:19:25 +0000 Subject: [PATCH 1373/1388] build: update angular --- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- package.json | 28 ++-- packages/ngtools/webpack/package.json | 4 +- tests/legacy-cli/e2e/ng-snapshot/package.json | 32 ++--- yarn.lock | 126 +++++++++--------- 8 files changed, 101 insertions(+), 99 deletions(-) diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index a34415e4f8e0..38c85ddcc037 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@7ed99e1d1b65cfc98021691d1c2ac92f44076190 + - uses: angular/dev-infra/github-actions/branch-manager@98bdad2a2ff3cd66c78048a3d2f48d50389c494a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 37613ddef100..44877e48f2c2 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@7ed99e1d1b65cfc98021691d1c2ac92f44076190 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@98bdad2a2ff3cd66c78048a3d2f48d50389c494a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag=v3.3.0 - - uses: angular/dev-infra/github-actions/post-approval-changes@7ed99e1d1b65cfc98021691d1c2ac92f44076190 + - uses: angular/dev-infra/github-actions/post-approval-changes@98bdad2a2ff3cd66c78048a3d2f48d50389c494a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index 17b4b225f752..881402867804 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'angular/angular-cli' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@7ed99e1d1b65cfc98021691d1c2ac92f44076190 + - uses: angular/dev-infra/github-actions/feature-request@98bdad2a2ff3cd66c78048a3d2f48d50389c494a with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index 45512390c858..f32596777de1 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -13,6 +13,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@7ed99e1d1b65cfc98021691d1c2ac92f44076190 + - uses: angular/dev-infra/github-actions/lock-closed@98bdad2a2ff3cd66c78048a3d2f48d50389c494a with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/package.json b/package.json index 4a6a7d29206f..29c0c0428292 100644 --- a/package.json +++ b/package.json @@ -64,22 +64,22 @@ }, "devDependencies": { "@ampproject/remapping": "2.2.0", - "@angular/animations": "15.2.0-next.4", - "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde", + "@angular/animations": "15.2.0-rc.0", + "@angular/build-tooling": "https://github.com/angular/dev-infra-private-build-tooling-builds.git#26fc36d66eb747768721cdb9eff3385187456a32", "@angular/cdk": "15.1.4", - "@angular/common": "15.2.0-next.4", - "@angular/compiler": "15.2.0-next.4", - "@angular/compiler-cli": "15.2.0-next.4", - "@angular/core": "15.2.0-next.4", - "@angular/forms": "15.2.0-next.4", - "@angular/localize": "15.2.0-next.4", + "@angular/common": "15.2.0-rc.0", + "@angular/compiler": "15.2.0-rc.0", + "@angular/compiler-cli": "15.2.0-rc.0", + "@angular/core": "15.2.0-rc.0", + "@angular/forms": "15.2.0-rc.0", + "@angular/localize": "15.2.0-rc.0", "@angular/material": "15.1.4", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f", - "@angular/platform-browser": "15.2.0-next.4", - "@angular/platform-browser-dynamic": "15.2.0-next.4", - "@angular/platform-server": "15.2.0-next.4", - "@angular/router": "15.2.0-next.4", - "@angular/service-worker": "15.2.0-next.4", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#fa4d4694084d46886ca28fd09768a7df69b5b84d", + "@angular/platform-browser": "15.2.0-rc.0", + "@angular/platform-browser-dynamic": "15.2.0-rc.0", + "@angular/platform-server": "15.2.0-rc.0", + "@angular/router": "15.2.0-rc.0", + "@angular/service-worker": "15.2.0-rc.0", "@babel/core": "7.20.12", "@babel/generator": "7.20.14", "@babel/helper-annotate-as-pure": "7.18.6", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index d5174dc3a21d..eb7274a21ca1 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -28,8 +28,8 @@ }, "devDependencies": { "@angular-devkit/core": "0.0.0-PLACEHOLDER", - "@angular/compiler": "15.1.4", - "@angular/compiler-cli": "15.1.4", + "@angular/compiler": "15.1.5", + "@angular/compiler-cli": "15.1.5", "typescript": "4.9.5", "webpack": "5.75.0" } diff --git a/tests/legacy-cli/e2e/ng-snapshot/package.json b/tests/legacy-cli/e2e/ng-snapshot/package.json index 0638512cf459..c9196420a7ea 100644 --- a/tests/legacy-cli/e2e/ng-snapshot/package.json +++ b/tests/legacy-cli/e2e/ng-snapshot/package.json @@ -2,21 +2,21 @@ "description": "snapshot versions of Angular for e2e testing", "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#74344b043a83759bcc1ad4430ac9e5fcdc82f4bd", - "@angular/cdk": "github:angular/cdk-builds#9da5c25db96b252c8957220b3fdf99203bc0e7bb", - "@angular/common": "github:angular/common-builds#335fc2c69045bd5186fcbb0dcc12db0f273b08a3", - "@angular/compiler": "github:angular/compiler-builds#a004b9f2a91853ecba332bf1b5405aa415356768", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#a0af90cf5d05196da2435fa879c725a4a7c049b9", - "@angular/core": "github:angular/core-builds#419a006767ea601ebe6ec091e5603272aefc9c15", - "@angular/forms": "github:angular/forms-builds#e5693d7534617e9ef4135fe6285496ca332cdc90", - "@angular/language-service": "github:angular/language-service-builds#edd4ec227d1b3a0741691f4206c5c6a8d6407ed1", - "@angular/localize": "github:angular/localize-builds#8a1ea35bfbca2686e5baf0b3ac237840302f039a", - "@angular/material": "github:angular/material-builds#39e9f7a0e95d0a356520c17540c8af6ad90181ac", - "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#c0f4029585563183304dc3cf44edc36dd366e135", - "@angular/platform-browser": "github:angular/platform-browser-builds#fbba8721b40a6f6c7d39bd483b9bbf9985d88d1e", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#f5c555161d4f89cc100e3a9cd224dea50fbfc819", - "@angular/platform-server": "github:angular/platform-server-builds#821082b30cd6a1157f4c214437ee68b603c9b704", - "@angular/router": "github:angular/router-builds#57a141bbfb9fa654fb9ebb7cf684a0fda4443300", - "@angular/service-worker": "github:angular/service-worker-builds#9a23e241f177dde48ab0d6711c9ad1d4de2143bb" + "@angular/animations": "github:angular/animations-builds#cc2fc4bea25b36cad3e82da49b2fc97f29e6d062", + "@angular/cdk": "github:angular/cdk-builds#712246685ff3ad831ba6ae35eb575e00db04e3c6", + "@angular/common": "github:angular/common-builds#b0e165050eced352ebee23b0d05c59aee234f16d", + "@angular/compiler": "github:angular/compiler-builds#419a3b1462da1cbc5702672c8a9d684bb6a5da85", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#6ee8441802dd6dde6a249f3653e4af6405381f94", + "@angular/core": "github:angular/core-builds#f5acad5c5a8975d6cb8f1185a9cb636f9345b090", + "@angular/forms": "github:angular/forms-builds#1bfbba5b4a701d24d6f5c19843a1a24504daa4be", + "@angular/language-service": "github:angular/language-service-builds#258ded4fd4915ddd828ac5805151f565c71f40cf", + "@angular/localize": "github:angular/localize-builds#2b2ccec42dedf24e44dda90785a5245b9fd136c3", + "@angular/material": "github:angular/material-builds#73b8f6f57598d29c0c6ee0040ce753e5da0bdfd8", + "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#126171cd1e4bef0e9f46e5a4a4ebe68b7e47cb07", + "@angular/platform-browser": "github:angular/platform-browser-builds#ce030f71b3e472bed1830d9cc64af3f45f5098aa", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#397bedd0685dbc0519661d043ae216e3ff74740b", + "@angular/platform-server": "github:angular/platform-server-builds#645f4d6785aad6a7feb8a9864ed05e9a21e059b8", + "@angular/router": "github:angular/router-builds#9f5c7d88aa7afde7fa86095303f0af7489e28156", + "@angular/service-worker": "github:angular/service-worker-builds#1c0971a37d6cdbbfae8a8a00593820857489242d" } } diff --git a/yarn.lock b/yarn.lock index efb6f2101f9d..18f82f1409f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ rxjs "6.6.7" source-map "0.7.4" -"@angular/animations@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-next.4.tgz#4dcd9197028cc45e29bdcddcef84fc9cbc3b4532" - integrity sha512-0/fRfZtLTiEz/B7rUX51r81ynSlMSWvMFVJbIlfSIcik7wNoNVC5F+tsMga3hjprBWCBSy7xzy4tb+1km4bO8Q== +"@angular/animations@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-15.2.0-rc.0.tgz#e4159e5ac301f53d9207c24e6154d7994affdd84" + integrity sha512-7bOWr7b1akworIEPFzu3EbzzX2MdXZ322MUjDtDICultZzyYnHNgB25RLC7RPgvoXpmcymsx23FdkJZDA546EQ== dependencies: tslib "^2.3.0" @@ -119,9 +119,10 @@ "@angular/core" "^13.0.0 || ^14.0.0-0" reflect-metadata "^0.1.13" -"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde": - version "0.0.0-7ed99e1d1b65cfc98021691d1c2ac92f44076190" - resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#3e4d95e36cbb0230de1f3eabed91d260caa7ddde" +"@angular/build-tooling@https://github.com/angular/dev-infra-private-build-tooling-builds.git#26fc36d66eb747768721cdb9eff3385187456a32": + version "0.0.0-98bdad2a2ff3cd66c78048a3d2f48d50389c494a" + uid "26fc36d66eb747768721cdb9eff3385187456a32" + resolved "https://github.com/angular/dev-infra-private-build-tooling-builds.git#26fc36d66eb747768721cdb9eff3385187456a32" dependencies: "@angular-devkit/build-angular" "15.2.0-next.3" "@angular/benchpress" "0.3.0" @@ -167,17 +168,17 @@ optionalDependencies: parse5 "^7.1.2" -"@angular/common@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-next.4.tgz#94fca48eb60746753ab2976d47b451ab3d5ac968" - integrity sha512-I3DTMhiM4eB9au2+E3oOyPsK+T2nRo1ensfpvFYxLmuxTHD8IGH18Kz8b6H3oEieI+KSLbnHSVYJWGsL6Wj3fw== +"@angular/common@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-15.2.0-rc.0.tgz#d279b07e063d5565ac32161f0eb594d807d50d67" + integrity sha512-zsv1sDZZZ9lv/npqTluTJlnZDswdvySUqxxPmuAqL6u1l5B+bAH8ZkPsvPUq/fUOyp+jsl3flOJHDjxhqdkbHw== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@15.1.4": - version "15.1.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.4.tgz#76ba88c91d939f728a5700fa387c1266b1c1e1f0" - integrity sha512-FupMkr69YLZcjvPa7Y79ua6VvbzNroPUTDexEpqYkmnyKK8fNSHwTEOCz4IQbUeOxaZkRP5pHAI87foZigNPCA== +"@angular/compiler-cli@15.1.5": + version "15.1.5" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.1.5.tgz#d375de5b372b8baabcc5c691176d29c14ebcb444" + integrity sha512-gWg6MpMJOpfkwf2zxHJDp9EGwORga4MLTkvugL+1KbN+lvx4Ac9Y0GinlJ4+EGpttvQlTYHzn8GabWhcdzzUiQ== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -190,10 +191,10 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler-cli@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-next.4.tgz#6d11d02c443504d53ee7edc8c83baf718e8efbac" - integrity sha512-DaeU04sb6GpLgXsytmqarWwiScOZkFFFApDWcYKOhamDRgw636CALrD+QgHiNJw0rc6GQtcs5X/S3MlCbQLc3Q== +"@angular/compiler-cli@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-15.2.0-rc.0.tgz#81e3ed1f3270226dad284e1de0c183c466817e0f" + integrity sha512-GWvoMmiOe+Ksb39u0JMxoQQFRvDyIpgSBWcngoc++kpdScfbNWiihqBifU8Fpc9zQsYRl7rBTN3kZ7xwxM8PKw== dependencies: "@babel/core" "7.19.3" "@jridgewell/sourcemap-codec" "^1.4.14" @@ -206,24 +207,24 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@15.1.4": - version "15.1.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.4.tgz#35ba0156eae24b407e6e21bfd4af98cba7887a97" - integrity sha512-b2jH336pl647IKgMYzsmJ/2Qpw6JqlP/OeCsOnAJ55LIQa37w+bnuTpdPh4pk8qV9h735rV9NXNO5t3pQFOo3Q== +"@angular/compiler@15.1.5": + version "15.1.5" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.1.5.tgz#93fb00b39ac01dad6ec0204937460f0ceb75879b" + integrity sha512-4Ciswu3HKE+Pk+6Lhi6v3inZ01WkNBi9D33OKGC+7uEAjl8DCNF13rBXLyMF6tIFd+L98KYpzwUyQYk8FI/vgA== dependencies: tslib "^2.3.0" -"@angular/compiler@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-next.4.tgz#b77998a2964b56b05f900de102a9581d87f1f765" - integrity sha512-cVVo0hrQxfcQJRAZ/UA76kum+LGuXnca/GekzPpCtCsJ2tUozbuc/2xhWoIdW2ythfOTH9XdJBOKm9Wct+JG8A== +"@angular/compiler@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-15.2.0-rc.0.tgz#5c17afe3e8a566bc27bfac15d7ff981e018eb687" + integrity sha512-6/tjIWBDo+PG0mfhDSUbLezIXm2rJV/AMjEGQvxf6QrA52gcKujmJE5VICYfK3F6yCCDcolBLoaF1d//jwp85Q== dependencies: tslib "^2.3.0" -"@angular/core@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-next.4.tgz#651dc6f519b8430d0bd611565738dae48999ec44" - integrity sha512-LUnnK9LtM0rrV7F++Yhh8B7GU84Y064ooP+uD68CsJKHghlIiPC4mmJDFGwML7SbK7eSTMEoTsCb4YrwhG/YOQ== +"@angular/core@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-15.2.0-rc.0.tgz#602cba77860e64ec13f47ed0d686a4fdd89d0f86" + integrity sha512-NQu0MwJCFeVA2KRf8EbDaXe1guhs72rxwdjuaU0CG4dnWRWgfGVf36er2oxWH/P6NpWGiOd9Pt0IeSJ+Bw1cFA== dependencies: tslib "^2.3.0" @@ -234,17 +235,17 @@ dependencies: tslib "^2.3.0" -"@angular/forms@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-next.4.tgz#43bf8b6254528da9fa7042258a04c1b0cfa8ecec" - integrity sha512-evv8Y9bNoqvVV4Q444S4trgUU/lLsa7uKt0Y9XaxB8knKoeJb/q1HcyDVMJLWQsXy/tL4j2C6Kko7vwqZ7OHjQ== +"@angular/forms@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-15.2.0-rc.0.tgz#934dd0d59c2d6d31699a24add58e6d839b8ccbe7" + integrity sha512-NW/9k6/E2qTQqYEYuVPel8e/B4OPB5z76zz4NfvouQiaTTwn29gTtQxZjrPBxUofX0jEk4Txx3R/6Jr2w6OH+w== dependencies: tslib "^2.3.0" -"@angular/localize@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-next.4.tgz#417b18bb1b8c20893c5a92e7dce7c84fc7f05e68" - integrity sha512-HtdE4Y9eDg7tOfb6T/HKlbbMvESGax9WzGMsdeLW+zJ4oH5JJSfniF6cbg9gzt1FBgh4H51urNpr11lHm2MLUw== +"@angular/localize@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-15.2.0-rc.0.tgz#2219596795e558b5b9904b77508a4404f6dac2d4" + integrity sha512-+z143TVk3AM1TbMTj/rst5MXmTDcjNjunkI7pHYHjxGYB7d/71wGhTyek6aX2ynDWdg5WmaK7Z4uqhkWoZ7a+g== dependencies: "@babel/core" "7.19.3" glob "8.1.0" @@ -304,47 +305,48 @@ "@material/typography" "15.0.0-canary.684e33d25.0" tslib "^2.3.0" -"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f": - version "0.0.0-7ed99e1d1b65cfc98021691d1c2ac92f44076190" - resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#8a87efa35da0ff50d7515511617d4ce5ac5cea2f" +"@angular/ng-dev@https://github.com/angular/dev-infra-private-ng-dev-builds.git#fa4d4694084d46886ca28fd09768a7df69b5b84d": + version "0.0.0-98bdad2a2ff3cd66c78048a3d2f48d50389c494a" + uid fa4d4694084d46886ca28fd09768a7df69b5b84d + resolved "https://github.com/angular/dev-infra-private-ng-dev-builds.git#fa4d4694084d46886ca28fd09768a7df69b5b84d" dependencies: "@yarnpkg/lockfile" "^1.1.0" typescript "~4.9.0" -"@angular/platform-browser-dynamic@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-next.4.tgz#8f095c09c8f354b4bd50450187b8483894144519" - integrity sha512-Pc1JbmDEbsuXDAR0i8+ShZeM+ME5bGjZ0+OgJTBB+sGR8z8pPTbNzQmAdJ3ftIyjxR7JgEvEXmhoHNgzJ9GeJA== +"@angular/platform-browser-dynamic@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.0-rc.0.tgz#86e984cbbe9e6776a6cce40ec73d443bece76690" + integrity sha512-6PbuG5jD/tpVF2IpBhOJ9qAtdnpRDHdizGeaThKgubqVJWituelviUIW36IL6GoP6NdjQFhnA+fbVV0LScONHw== dependencies: tslib "^2.3.0" -"@angular/platform-browser@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-next.4.tgz#fd03fdb0b9accfb20a1b3783e752718943481bf3" - integrity sha512-C7fYQtFSUzYrd2b+4ro4FMLU4qHgCUPJGiU6BTNAUiTilSZ4pcts4w9QkFOib51HM+ioiBvnwZfRIzr0IEmlIw== +"@angular/platform-browser@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-15.2.0-rc.0.tgz#4067d0aaac1eb3bdab42c0cc3c8acae429277dba" + integrity sha512-P072apZfH8VONi+XmCglIxP155xA02GLp5iLfT867EBOvgJOlK092h23Qegh71OlSGsJiR2P+sy58FGHmm+b4Q== dependencies: tslib "^2.3.0" -"@angular/platform-server@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-next.4.tgz#f2db5df45094a8244624be65b14f178d5d126fed" - integrity sha512-dRgup1JhHHQXYO87iShgtyGk7g/HPNFFV+kWwUU033X9UE6lUHs72V+1MDg7M6stvKggTOmypKd3ZzREGG0oEw== +"@angular/platform-server@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-15.2.0-rc.0.tgz#cb611916952212ea835deb5ebcf0e3a8d02c2a4d" + integrity sha512-o1WGh3kuKhLfIepVu03SrhtSzyrS7N8BqVJYfpQyBOPqf//51PWObs1akhxmmTqGQztkbcBOwx5fpsTpL8vCdg== dependencies: domino "^2.1.2" tslib "^2.3.0" xhr2 "^0.2.0" -"@angular/router@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-next.4.tgz#ba1db82c0485714463732f1921bdb48b8ef73c28" - integrity sha512-q85AoYN2Eirn32ctyYIsQ6/3Ng1wyCJ1WKhuzM/GNXoO7TV1wGG7K6hD6V3w6hD82fnvSa/ByrXls/EyhnA4Uw== +"@angular/router@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-15.2.0-rc.0.tgz#05f560dc9d951565e86d63076a258f5bcc920340" + integrity sha512-XVCNbRdL4jEdBBCMDEEkRB1xirYrlN2y7Xbsp1vXtJQz2dLETu3jUOina5078e9EEi/d2EV0Y+IdaP9apnog/A== dependencies: tslib "^2.3.0" -"@angular/service-worker@15.2.0-next.4": - version "15.2.0-next.4" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-next.4.tgz#2ecf7dcbcbe9ef53076aac73f8a5625e7b41bf94" - integrity sha512-QaS8hO3dz6FoxCXFAhVnWLRhT2Cwrz8vVzWUuAfDXThHnA+sIFIny/vKKca1j2emaXgP06FlMmC36VRrEKWVDQ== +"@angular/service-worker@15.2.0-rc.0": + version "15.2.0-rc.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-15.2.0-rc.0.tgz#b95b6ced388182f88c58500aea7605b745fcf97c" + integrity sha512-syomFncfALO0v5dqrHeuSZh+7oaVb96ihnc6IxXyxUM1qXltZnqhn6U4qT26g2wokU28yeW6l6kczY27+hZBgg== dependencies: tslib "^2.3.0" From 9b935a2afbabc45a54a43d3fd6d55ee751efc86f Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:03:42 -0500 Subject: [PATCH 1374/1388] Revert "build: remove no longer used scripts" This reverts commit 8f4e1018ddfa1c421769fda4e4e973375c7b8db6. --- package.json | 3 +- scripts/build-bazel.ts | 156 +++++++++++++++ scripts/build.ts | 433 +++++++++++++++++++++++++++++++++-------- scripts/packages.ts | 56 ++++++ scripts/publish.ts | 167 ++++++++++++++++ scripts/snapshots.ts | 2 +- 6 files changed, 734 insertions(+), 83 deletions(-) create mode 100644 scripts/build-bazel.ts create mode 100644 scripts/packages.ts create mode 100644 scripts/publish.ts diff --git a/package.json b/package.json index 29c0c0428292..496fcd521c09 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,9 @@ ], "scripts": { "admin": "node ./bin/devkit-admin", - "test": "bazel test //packages/...", + "bazel:test": "bazel test //packages/...", "build": "node ./bin/devkit-admin build", + "build:bazel": "node ./bin/devkit-admin build-bazel", "build-tsc": "tsc -p tsconfig.json", "lint": "eslint --cache --max-warnings=0 \"**/*.ts\"", "ng-dev": "cross-env TS_NODE_PROJECT=$PWD/.ng-dev/tsconfig.json TS_NODE_TRANSPILE_ONLY=1 node --no-warnings --loader ts-node/esm node_modules/@angular/ng-dev/bundles/cli.mjs", diff --git a/scripts/build-bazel.ts b/scripts/build-bazel.ts new file mode 100644 index 000000000000..32d73bf86dde --- /dev/null +++ b/scripts/build-bazel.ts @@ -0,0 +1,156 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import { spawn } from 'child_process'; +import fs from 'fs'; +import { dirname, join, relative, resolve } from 'path'; + +const baseDir = resolve(`${__dirname}/..`); +const bazelCmd = process.env.BAZEL ?? `yarn --cwd "${baseDir}" --silent bazel`; +const distRoot = join(baseDir, '/dist'); + +type BuildMode = 'local' | 'snapshot' | 'release'; + +function _copy(from: string, to: string) { + // Create parent folder if necessary. + if (!fs.existsSync(dirname(to))) { + fs.mkdirSync(dirname(to), { recursive: true }); + } + + // Error out if destination already exists. + if (fs.existsSync(to)) { + throw new Error(`Path ${to} already exist...`); + } + + from = relative(process.cwd(), from); + to = relative(process.cwd(), to); + + const buffer = fs.readFileSync(from); + fs.writeFileSync(to, buffer); +} + +function _recursiveCopy(from: string, to: string, logger: logging.Logger) { + if (!fs.existsSync(from)) { + logger.error(`File "${from}" does not exist.`); + process.exit(4); + } + if (fs.statSync(from).isDirectory()) { + fs.readdirSync(from).forEach((fileName) => { + _recursiveCopy(join(from, fileName), join(to, fileName), logger); + }); + } else { + _copy(from, to); + } +} + +function rimraf(location: string) { + fs.rmSync(location, { force: true, recursive: true, maxRetries: 3 }); +} + +function _clean(logger: logging.Logger) { + logger.info('Cleaning...'); + logger.info(' Removing dist/...'); + rimraf(join(__dirname, '../dist')); +} + +function _exec(cmd: string, captureStdout: boolean, logger: logging.Logger): Promise { + return new Promise((resolve, reject) => { + const proc = spawn(cmd, { + stdio: 'pipe', + shell: true, + }); + + let output = ''; + proc.stdout.on('data', (data) => { + logger.info(data.toString().trim()); + if (captureStdout) { + output += data.toString().trim(); + } + }); + proc.stderr.on('data', (data) => logger.info(data.toString().trim())); + + proc.on('error', (error) => { + logger.error(error.message); + }); + + proc.on('exit', (status) => { + if (status !== 0) { + reject(`Command failed: ${cmd}`); + } else { + resolve(output); + } + }); + }); +} + +async function _build(logger: logging.Logger, mode: BuildMode): Promise { + logger.info(`Building (mode=${mode})...`); + + const queryLogger = logger.createChild('query'); + const queryTargetsCmd = `${bazelCmd} query --output=label "attr(name, npm_package_archive, //packages/...)"`; + const targets = (await _exec(queryTargetsCmd, true, queryLogger)).split(/\r?\n/); + + const buildLogger = logger.createChild('build'); + + // If we are in release mode, run `bazel clean` to ensure the execroot and action cache + // are not populated. This is necessary because targets using `npm_package` rely on + // workspace status variables for the package version. Such NPM package targets are not + // rebuilt if only the workspace status variables change. This could result in accidental + // re-use of previously built package output with a different `version` in the `package.json`. + if (mode == 'release') { + buildLogger.info('Building in release mode. Resetting the Bazel execroot and action cache.'); + await _exec(`${bazelCmd} clean`, false, buildLogger); + } + + await _exec(`${bazelCmd} build --config=${mode} ${targets.join(' ')}`, false, buildLogger); + + return targets; +} + +export default async function ( + argv: { local?: boolean; snapshot?: boolean } = {}, + logger: logging.Logger = new logging.Logger('build-logger'), +): Promise<{ name: string; outputPath: string }[]> { + const bazelBin = await _exec(`${bazelCmd} info bazel-bin`, true, logger); + + _clean(logger); + + let buildMode: BuildMode; + if (argv.local) { + buildMode = 'local'; + } else if (argv.snapshot) { + buildMode = 'snapshot'; + } else { + buildMode = 'release'; + } + + const targets = await _build(logger, buildMode); + const output: { name: string; outputPath: string }[] = []; + + logger.info('Moving packages and tars to dist/'); + const packageLogger = logger.createChild('packages'); + + for (const target of targets) { + const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); + const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); + const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; + const packageJsonPath = `${bazelOutDir}/package.json`; + const packageName = require(packageJsonPath).name; + const destDir = `${distRoot}/${packageName}`; + + packageLogger.info(packageName); + + _recursiveCopy(bazelOutDir, destDir, logger); + _copy(tarPath, `${distRoot}/${packageName.replace('@', '_').replace('/', '_')}.tgz`); + + output.push({ name: packageDir, outputPath: destDir }); + } + + return output; +} diff --git a/scripts/build.ts b/scripts/build.ts index 32d73bf86dde..d1507d662b40 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -6,21 +6,88 @@ * found in the LICENSE file at https://angular.io/license */ -import { logging } from '@angular-devkit/core'; -import { spawn } from 'child_process'; -import fs from 'fs'; -import { dirname, join, relative, resolve } from 'path'; +import { JsonObject, logging } from '@angular-devkit/core'; +import * as child_process from 'child_process'; +import * as fs from 'fs'; +import glob from 'glob'; +import * as path from 'path'; +import { packages } from '../lib/packages'; +import buildSchema from './build-schema'; -const baseDir = resolve(`${__dirname}/..`); -const bazelCmd = process.env.BAZEL ?? `yarn --cwd "${baseDir}" --silent bazel`; -const distRoot = join(baseDir, '/dist'); +const { minimatch } = require('minimatch'); +const tar = require('tar'); -type BuildMode = 'local' | 'snapshot' | 'release'; +const gitIgnoreFiles = fs.readFileSync(path.join(__dirname, '../.gitignore'), 'utf-8').split('\n'); +const gitIgnore = gitIgnoreFiles + .map((line) => line.replace(/#.*/, '')) + .filter((line) => !line.startsWith('!')) + .filter((line) => !line.match(/^\s*$/)); +const gitIgnoreExcept = gitIgnoreFiles + .filter((line) => line.startsWith('!')) + .map((line) => line.slice(1)); + +function _gitIgnoreMatch(p: string): boolean { + p = path.relative(path.dirname(__dirname), p); + + if (gitIgnoreExcept.some((line) => minimatch(p, line))) { + return false; + } + + return gitIgnore.some((line) => minimatch(p, line)); +} + +function _recursiveFileList(p: string): string[] { + if (!fs.statSync(p).isDirectory()) { + return []; + } + + const list = fs.readdirSync(p); + + return ( + list + .map((subpath) => { + const subpathList = _recursiveFileList(path.join(p, subpath)); + + return [subpath, ...subpathList.map((sp) => path.join(subpath, sp))]; + }) + // Flatten. + .reduce((acc, curr) => [...acc, ...curr], []) + // Filter out directories. + .filter((sp) => !fs.statSync(path.join(p, sp)).isDirectory()) + ); +} + +// This method mimics how npm pack tars packages. +function _tar(out: string, dir: string) { + // NOTE: node-tar does some Magic Stuff depending on prefixes for files + // specifically with @ signs, so we just neutralize that one + // and any such future "features" by prepending `./` + + // Without this, the .tar file cannot be opened on Windows. + + const files = _recursiveFileList(dir).map((f) => `./${f}`); + + return tar.create( + { + gzip: true, + strict: true, + portable: true, + cwd: dir, + prefix: 'package/', + file: out, + sync: true, + // Provide a specific date in the 1980s for the benefit of zip, + // which is confounded by files dated at the Unix epoch 0. + mtime: new Date('1985-10-26T08:15:00.000Z'), + }, + files, + ); +} function _copy(from: string, to: string) { // Create parent folder if necessary. - if (!fs.existsSync(dirname(to))) { - fs.mkdirSync(dirname(to), { recursive: true }); + if (!fs.existsSync(path.dirname(to))) { + fs.mkdirSync(path.dirname(to), { recursive: true }); } // Error out if destination already exists. @@ -28,8 +95,8 @@ function _copy(from: string, to: string) { throw new Error(`Path ${to} already exist...`); } - from = relative(process.cwd(), from); - to = relative(process.cwd(), to); + from = path.relative(process.cwd(), from); + to = path.relative(process.cwd(), to); const buffer = fs.readFileSync(from); fs.writeFileSync(to, buffer); @@ -42,13 +109,18 @@ function _recursiveCopy(from: string, to: string, logger: logging.Logger) { } if (fs.statSync(from).isDirectory()) { fs.readdirSync(from).forEach((fileName) => { - _recursiveCopy(join(from, fileName), join(to, fileName), logger); + _recursiveCopy(path.join(from, fileName), path.join(to, fileName), logger); }); } else { _copy(from, to); } } +function _rm(p: string) { + p = path.relative(process.cwd(), p); + fs.unlinkSync(p); +} + function rimraf(location: string) { fs.rmSync(location, { force: true, recursive: true, maxRetries: 3 }); } @@ -56,101 +128,300 @@ function rimraf(location: string) { function _clean(logger: logging.Logger) { logger.info('Cleaning...'); logger.info(' Removing dist/...'); - rimraf(join(__dirname, '../dist')); + rimraf(path.join(__dirname, '../dist')); } -function _exec(cmd: string, captureStdout: boolean, logger: logging.Logger): Promise { - return new Promise((resolve, reject) => { - const proc = spawn(cmd, { - stdio: 'pipe', - shell: true, - }); +function _sortPackages() { + // Order packages in order of dependency. + // We use bubble sort because we need a full topological sort but adding another dependency + // or implementing a full topo sort would be too much work and I'm lazy. We don't anticipate + // any large number of + const sortedPackages = Object.keys(packages); + let swapped = false; + do { + swapped = false; + for (let i = 0; i < sortedPackages.length - 1; i++) { + for (let j = i + 1; j < sortedPackages.length; j++) { + const a = sortedPackages[i]; + const b = sortedPackages[j]; - let output = ''; - proc.stdout.on('data', (data) => { - logger.info(data.toString().trim()); - if (captureStdout) { - output += data.toString().trim(); + if (packages[a].dependencies.indexOf(b) != -1) { + // Swap them. + [sortedPackages[i], sortedPackages[i + 1]] = [sortedPackages[i + 1], sortedPackages[i]]; + swapped = true; + } } + } + } while (swapped); + + return sortedPackages; +} + +function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { + const { status, error, stderr, stdout } = child_process.spawnSync(command, args, { + stdio: 'inherit', + ...opts, + }); + + if (status != 0) { + logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`); + if (error) { + logger.error('Error: ' + (error ? error.message : 'undefined')); + } else { + logger.error(`STDOUT:\n${stdout}`); + logger.error(`STDERR:\n${stderr}`); + } + throw error; + } +} + +function _build(logger: logging.Logger) { + logger.info('Building...'); + _exec('node', [require.resolve('typescript/bin/tsc'), '-p', 'tsconfig-build.json'], {}, logger); +} + +export default async function ( + argv: { local?: boolean; snapshot?: boolean } = {}, + logger: logging.Logger = new logging.Logger('build-logger'), +) { + _clean(logger); + + const sortedPackages = _sortPackages(); + await buildSchema({}, logger); + _build(logger); + + logger.info('Moving packages to dist/'); + const packageLogger = logger.createChild('packages'); + for (const packageName of sortedPackages) { + packageLogger.info(packageName); + const pkg = packages[packageName]; + _recursiveCopy(pkg.build, pkg.dist, logger); + rimraf(pkg.build); + } + + logger.info('Merging bazel-bin/ with dist/'); + for (const packageName of sortedPackages) { + const pkg = packages[packageName]; + const bazelBinPath = pkg.build.replace(/([\\/]dist[\\/])(packages)/, (_, dist, packages) => { + return path.join(dist, 'dist-schema', packages); }); - proc.stderr.on('data', (data) => logger.info(data.toString().trim())); + if (fs.existsSync(bazelBinPath)) { + packageLogger.info(packageName); + _recursiveCopy(bazelBinPath, pkg.dist, logger); + rimraf(bazelBinPath); + } + } - proc.on('error', (error) => { - logger.error(error.message); + logger.info('Copying resources...'); + const resourceLogger = logger.createChild('resources'); + for (const packageName of sortedPackages) { + resourceLogger.info(packageName); + const pkg = packages[packageName]; + const pkgJson = pkg.packageJson; + const files = glob.sync('**/*', { + cwd: pkg.root, + dot: true, + nodir: true, + ignore: ['test/**/*', '**/tests/*', 'src/testing/*'], }); + const subSubLogger = resourceLogger.createChild(packageName); + subSubLogger.info(`${files.length} files total...`); + const resources = files.filter((fileName) => { + if (/(?:^|[/\\])node_modules[/\\]/.test(fileName)) { + return false; + } - proc.on('exit', (status) => { - if (status !== 0) { - reject(`Command failed: ${cmd}`); - } else { - resolve(output); + // Schematics template files. + if ( + pkgJson['schematics'] && + (fileName.match(/(\/|\\)files(\/|\\)/) || fileName.match(/(\/|\\)\w+-files(\/|\\)/)) + ) { + return true; + } + + // Skip test files + if (fileName.endsWith('_spec.ts')) { + return false; + } + + if (fileName.endsWith('package.json')) { + return true; + } + + if (pkg.name === '@angular-devkit/core' && fileName.startsWith('src/workspace/json/test')) { + return false; } - }); - }); -} -async function _build(logger: logging.Logger, mode: BuildMode): Promise { - logger.info(`Building (mode=${mode})...`); + // This schema is built and copied later on as schema.json. + if (pkg.name === '@angular/cli' && fileName.endsWith('workspace-schema.json')) { + return false; + } + + // Remove Bazel files from NPM. + if (fileName === 'BUILD' || fileName === 'BUILD.bazel') { + return false; + } + + // Skip sources. + if (fileName.endsWith('.ts') && !fileName.endsWith('.d.ts')) { + // Verify that it was actually built. + if (!fs.existsSync(path.join(pkg.dist, fileName).replace(/ts$/, 'js'))) { + subSubLogger.error(`\nSource found but compiled file not found: "${fileName}".`); + process.exit(2); + } + + // Skip all sources. + return false; + } - const queryLogger = logger.createChild('query'); - const queryTargetsCmd = `${bazelCmd} query --output=label "attr(name, npm_package_archive, //packages/...)"`; - const targets = (await _exec(queryTargetsCmd, true, queryLogger)).split(/\r?\n/); + // Skip tsconfig only. + if (fileName.endsWith('tsconfig.json')) { + return false; + } - const buildLogger = logger.createChild('build'); + // Skip files from gitignore. + if (_gitIgnoreMatch(fileName)) { + return false; + } + + return true; + }); - // If we are in release mode, run `bazel clean` to ensure the execroot and action cache - // are not populated. This is necessary because targets using `npm_package` rely on - // workspace status variables for the package version. Such NPM package targets are not - // rebuilt if only the workspace status variables change. This could result in accidental - // re-use of previously built package output with a different `version` in the `package.json`. - if (mode == 'release') { - buildLogger.info('Building in release mode. Resetting the Bazel execroot and action cache.'); - await _exec(`${bazelCmd} clean`, false, buildLogger); + subSubLogger.info(`${resources.length} resources...`); + resources.forEach((fileName) => { + _copy(path.join(pkg.root, fileName), path.join(pkg.dist, fileName)); + }); } - await _exec(`${bazelCmd} build --config=${mode} ${targets.join(' ')}`, false, buildLogger); + logger.info('Copying extra resources...'); + for (const packageName of sortedPackages) { + const pkg = packages[packageName]; + _copy(path.join(__dirname, '../LICENSE'), path.join(pkg.dist, 'LICENSE')); - return targets; -} + if (pkg.name === '@angular/cli') { + _copy( + path.join(__dirname, '../dist-schema/packages/angular/cli/lib/config/schema.json'), + path.join(pkg.dist, 'lib/config/schema.json'), + ); + } + } -export default async function ( - argv: { local?: boolean; snapshot?: boolean } = {}, - logger: logging.Logger = new logging.Logger('build-logger'), -): Promise<{ name: string; outputPath: string }[]> { - const bazelBin = await _exec(`${bazelCmd} info bazel-bin`, true, logger); + logger.info('Removing spec files...'); + const specLogger = logger.createChild('specfiles'); + for (const packageName of sortedPackages) { + const pkg = packages[packageName]; + const files = glob.sync(path.join(pkg.dist, '**/*_spec?(_large).@(js|d.ts)')); - _clean(logger); + if (files.length == 0) { + continue; + } - let buildMode: BuildMode; - if (argv.local) { - buildMode = 'local'; - } else if (argv.snapshot) { - buildMode = 'snapshot'; - } else { - buildMode = 'release'; + specLogger.info(packageName); + specLogger.info(` ${files.length} spec files found...`); + files.forEach((fileName) => _rm(fileName)); } - const targets = await _build(logger, buildMode); - const output: { name: string; outputPath: string }[] = []; + logger.info('Building ejs templates...'); + const templateLogger = logger.createChild('templates'); + const templateCompiler = require('@angular-devkit/core').template; + for (const packageName of sortedPackages) { + const pkg = packages[packageName]; + const files = glob.sync(path.join(pkg.dist, '**/*.ejs')); - logger.info('Moving packages and tars to dist/'); - const packageLogger = logger.createChild('packages'); + if (files.length == 0) { + continue; + } - for (const target of targets) { - const packageDir = target.replace(/\/\/packages\/(.*):npm_package_archive/, '$1'); - const bazelOutDir = join(bazelBin, 'packages', packageDir, 'npm_package'); - const tarPath = `${bazelBin}/packages/${packageDir}/npm_package_archive.tgz`; - const packageJsonPath = `${bazelOutDir}/package.json`; - const packageName = require(packageJsonPath).name; - const destDir = `${distRoot}/${packageName}`; + templateLogger.info(packageName); + templateLogger.info(` ${files.length} ejs files found...`); + files.forEach((fileName) => { + const p = path.relative( + path.dirname(__dirname), + path.join(pkg.root, path.relative(pkg.dist, fileName)), + ); + const fn = templateCompiler(fs.readFileSync(fileName).toString(), { + module: true, + sourceURL: p, + sourceMap: true, + sourceRoot: path.join(__dirname, '..'), + fileName: fileName.replace(/\.ejs$/, '.js'), + }); + _rm(fileName); + fs.writeFileSync(fileName.replace(/\.ejs$/, '.js'), fn.source); + }); + } - packageLogger.info(packageName); + logger.info('Setting versions...'); + + const versionLogger = logger.createChild('versions'); + for (const packageName of sortedPackages) { + versionLogger.info(packageName); + const pkg = packages[packageName]; + const packageJsonPath = path.join(pkg.dist, 'package.json'); + const packageJson = pkg.packageJson; + const version = pkg.version; + + if (version) { + packageJson['version'] = version; + } else { + versionLogger.error('No version found... Only updating dependencies.'); + } - _recursiveCopy(bazelOutDir, destDir, logger); - _copy(tarPath, `${distRoot}/${packageName.replace('@', '_').replace('/', '_')}.tgz`); + for (const depName of Object.keys(packages)) { + const v = packages[depName].version; + for (const depKey of ['dependencies', 'peerDependencies', 'devDependencies', 'ng-update']) { + let obj: JsonObject | null; + if (depKey === 'ng-update') { + const updateObject = packageJson[depKey] as JsonObject | null; + if (!updateObject) { + continue; + } + obj = updateObject['packageGroup'] as JsonObject | null; + } else { + obj = packageJson[depKey] as JsonObject | null; + } + if (obj && typeof obj === 'object' && obj[depName]) { + if (argv.local) { + obj[depName] = packages[depName].tar; + } else if (argv.snapshot) { + const pkg = packages[depName]; + if (!pkg.snapshotRepo) { + versionLogger.error( + `Package ${JSON.stringify(depName)} is not published as a snapshot. ` + + `Fixing to current version ${v}.`, + ); + obj[depName] = v; + } else { + obj[depName] = `github:${pkg.snapshotRepo}#${pkg.snapshotHash}`; + } + } else if ((obj[depName] as string).match(/\b0\.0\.0-PLACEHOLDER\b/)) { + obj[depName] = (obj[depName] as string).replace(/\b0\.0\.0-PLACEHOLDER\b/, v); + } else if ((obj[depName] as string).match(/\b0\.0\.0-EXPERIMENTAL-PLACEHOLDER\b/)) { + obj[depName] = (obj[depName] as string).replace( + /\b0\.0\.0-EXPERIMENTAL-PLACEHOLDER\b/, + v, + ); + } + } + } + } - output.push({ name: packageDir, outputPath: destDir }); + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n'); } + const output: { name: string; outputPath: string }[] = []; + logger.info('Tarring all packages...'); + const tarLogger = logger.createChild('license'); + Object.keys(packages).forEach((pkgName) => { + const pkg = packages[pkgName]; + if (!pkg.private) { + tarLogger.info(`${pkgName} => ${pkg.tar}`); + _tar(pkg.tar, pkg.dist); + output.push({ name: pkgName, outputPath: pkg.dist }); + } + }); + + logger.info(`Done.`); + return output; } diff --git a/scripts/packages.ts b/scripts/packages.ts new file mode 100644 index 000000000000..19a90deee5ca --- /dev/null +++ b/scripts/packages.ts @@ -0,0 +1,56 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging } from '@angular-devkit/core'; +import * as colors from 'ansi-colors'; + +const { packages, loadRootPackageJson, stableToExperimentalVersion } = require('../lib/packages'); + +export default function ( + args: { json: boolean; version: boolean; releaseCheck: boolean }, + logger: logging.Logger, +) { + if (args.releaseCheck) { + const { version: root } = loadRootPackageJson(); + const experimental = stableToExperimentalVersion(root); + logger.info( + `The expected version for the release is ${colors.bold( + root, + )} (${experimental}) based on root package.json.`, + ); + logger.info( + Object.keys(packages) + .filter((name) => !packages[name].private) + .map((name) => { + let result = colors.red(colors.symbols.cross); + const version = packages[name].version; + if ([root, experimental].includes(version)) { + result = colors.green(colors.symbols.check); + } + + return ` ${result} ${name}@${packages[name].version}`; + }) + .join('\n'), + ); + } else if (args.json) { + logger.info(JSON.stringify(packages, null, 2)); + } else { + logger.info( + Object.keys(packages) + .filter((name) => !packages[name].private) + .map((name) => { + if (args.version) { + return `${name}@${packages[name].version}`; + } else { + return name; + } + }) + .join('\n'), + ); + } +} diff --git a/scripts/publish.ts b/scripts/publish.ts new file mode 100644 index 000000000000..631e2bd705b2 --- /dev/null +++ b/scripts/publish.ts @@ -0,0 +1,167 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import { logging, tags } from '@angular-devkit/core'; +import { spawnSync } from 'child_process'; +import * as semver from 'semver'; +import { packages } from '../lib/packages'; +import build from './build'; + +export interface PublishArgs { + tag?: string; + tagCheck?: boolean; + branchCheck?: boolean; + versionCheck?: boolean; + registry?: string; +} + +function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { + if (process.platform.startsWith('win')) { + args.unshift('/c', command); + command = 'cmd.exe'; + } + + const { status, error, stderr, stdout } = spawnSync(command, args, { ...opts }); + + if (status != 0) { + logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`); + if (error) { + logger.error('Error: ' + (error ? error.message : 'undefined')); + } else { + logger.error(`STDERR:\n${stderr}`); + } + throw error; + } else { + return stdout.toString(); + } +} + +/** Returns whether or not the given tag is valid to be used. */ +function _tagCheck(tag: string) { + if (tag === 'latest') { + return; // Valid + } + if (tag === 'next') { + return; // Valid + } + if (/v\d+-lts/.test(tag)) { + return; // Valid + } + + throw new Error(tags.oneLine` + --tag should be "latest", "next", or "vX-lts". Use \`--no-tagCheck false\` + to skip this check if necessary. + `); +} + +function _branchCheck(args: PublishArgs, logger: logging.Logger) { + logger.info('Checking branch...'); + const ref = _exec('git', ['symbolic-ref', 'HEAD'], {}, logger); + const branch = ref.trim().replace(/^refs\/heads\//, ''); + + switch (branch) { + case 'main': + if (args.tag !== 'next') { + throw new Error(tags.oneLine` + Releasing from main requires a next tag. Use --no-branchCheck to + skip this check. + `); + } + } +} + +function _versionCheck(args: PublishArgs, logger: logging.Logger) { + logger.info('Checking version...'); + // Find _any_ version that's beta or RC. + let betaOrRc = false; + let version = ''; + Object.keys(packages).forEach((name: string) => { + // If there's _ANY_ prerelease information, it's on. + if (semver.prerelease(packages[name].version)) { + betaOrRc = true; + version = packages[name].version; + } + }); + + if (betaOrRc && args.tag !== 'next') { + throw new Error(tags.oneLine` + Releasing version ${JSON.stringify(version)} requires a next tag. + Use --no-versionCheck to skip this check. + `); + } + + Object.keys(packages).forEach((name: string) => { + if (packages[name].version.indexOf('+') >= 0) { + throw new Error(tags.oneLine` + Releasing a version with a + in it means that the latest commit is not tagged properly. + Version found: ${JSON.stringify(packages[name].version)} + `); + } + }); +} + +export default async function (args: PublishArgs, logger: logging.Logger) { + const { tag } = args; + if (!tag) { + // NPM requires that all releases have a tag associated. + // https://github.com/npm/npm/issues/10625#issuecomment-162106553 + // Do not publish without a tag. + throw new Error('--tag is required.'); + } + + if (args.tagCheck ?? true) { + _tagCheck(tag); + } + + if (args.branchCheck ?? true) { + _branchCheck(args, logger); + } + + if (args.versionCheck ?? true) { + _versionCheck(args, logger); + } + + // If no registry is provided, the wombat proxy should be used. + const registry = args.registry ?? 'http://localhost:4873/'; + + logger.info('Building...'); + await build({}, logger.createChild('build')); + + return Object.keys(packages) + .reduce((acc: Promise, name: string) => { + const pkg = packages[name]; + if (pkg.packageJson['private']) { + logger.debug(`${name} (private)`); + + return acc; + } + + return acc + .then(() => { + logger.info(name); + + const publishArgs = ['publish', '--tag', tag, '--registry', registry]; + + return _exec( + 'npm', + publishArgs, + { + cwd: pkg.dist, + }, + logger, + ); + }) + .then((stdout: string) => { + logger.info(stdout); + }); + }, Promise.resolve()) + .then( + () => logger.info('done'), + (err: Error) => logger.fatal(err.message), + ); +} diff --git a/scripts/snapshots.ts b/scripts/snapshots.ts index aacab6a94bb4..46b0f204c669 100644 --- a/scripts/snapshots.ts +++ b/scripts/snapshots.ts @@ -12,7 +12,7 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; import { PackageInfo, packages } from '../lib/packages'; -import build from './build'; +import build from './build-bazel'; import jsonHelp, { createTemporaryProject } from './json-help'; // Added to the README.md of the snapshot. This is markdown. From 09adb8eec30950272116b37ff31809f1720cf414 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:25:18 -0500 Subject: [PATCH 1375/1388] release: cut the v15.2.0-rc.0 release --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54bef24a6bbd..c68fe8ecbfc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ + + +# 15.2.0-rc.0 (2023-02-15) + +### @angular/cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | +| [5f407337f](https://github.com/angular/angular-cli/commit/5f407337f9a355a29654f32346f20e070853332a) | fix | add set `SessionEngaged` in GA | +| [545c180e2](https://github.com/angular/angular-cli/commit/545c180e2ba1f2465fa38f264a7a5c1711306406) | fix | convert `before` option in `.npmrc` to Date | +| [522463c42](https://github.com/angular/angular-cli/commit/522463c42ba873a32e85d47d692951537ab10716) | fix | replace `os.version` with `os.release`. | + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| [421417a36](https://github.com/angular/angular-cli/commit/421417a36b13a44d39e0818171482871ea8b895f) | fix | avoid CommonJS warning for zone.js in esbuild | +| [d3f255087](https://github.com/angular/angular-cli/commit/d3f255087ffaa474d37c45fb2db8611f6b437408) | fix | correctly copy `safety-worker.js` contents | +| [c65b026e2](https://github.com/angular/angular-cli/commit/c65b026e2f375f35826d985c8cc558a2729b520e) | fix | update the ECMA output warning message to be more actionable | +| [8356240dd](https://github.com/angular/angular-cli/commit/8356240dda74f772435e7b0a639b2e928b61a657) | fix | use babel default export helper in build optimizer | +| [1e5286326](https://github.com/angular/angular-cli/commit/1e528632629f2d0eb96580a8d7672758f5c23270) | perf | reduce rebuilt times when using the `scripts` option | + +## Special Thanks + +Alan Agius and Charles Lyding + + + # 15.1.6 (2023-02-15) diff --git a/package.json b/package.json index 496fcd521c09..937f9bec50e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0-next.4", + "version": "15.2.0-rc.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From 6498328fd01203fe64f565fe2d757fcb876ad759 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 16 Feb 2023 10:22:50 +0000 Subject: [PATCH 1376/1388] build: avoid unnecessary re-evaluation of starlark code The experimental allow tags propagation flag is a `BuildLanguage` option and causes all Starlark code to be re-invoked. This causes a slow-down when switching between bazel query/ bazel build because the option is not set for `bazel query`. We fix it by applying the option to all commands, using `common`. (cherry picked from commit a8968b6f6e25ade71d5b1356e2e72b840b04a8a4) --- .bazelrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index 339e2d7fb22b..d742b8bbb40c 100644 --- a/.bazelrc +++ b/.bazelrc @@ -50,7 +50,7 @@ test --incompatible_strict_action_env build --experimental_remote_merkle_tree_cache # Ensure that tags applied in BUILDs propagate to actions -build --experimental_allow_tags_propagation +common --experimental_allow_tags_propagation # Don't check if output files have been modified build --noexperimental_check_output_files From 3f6769ef953b1f880508a9152e669064cbb4dcc9 Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 16 Feb 2023 13:24:34 -0500 Subject: [PATCH 1377/1388] fix(@angular-devkit/build-angular): allow empty scripts to be optimized When using the internal JavaScript optimizer plugin for Webpack with an empty script file provided via the `scripts` option, the build would fail. This was because of a safety check that was checking whether the terser result was falsy. Since an empty string is considered falsy, the build considered the result to be an error. The safety check now will only trigger if the terser result is not a string value to avoid this case. (cherry picked from commit 2435b465603faeeb2806228d975aa4b970f8c040) --- .../browser/tests/options/scripts_spec.ts | 21 +++++++++++++++++++ .../plugins/javascript-optimizer-worker.ts | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts index 610c72263056..746b7fb464ac 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/scripts_spec.ts @@ -27,6 +27,27 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { expect(result?.success).toBe(true); }); + it('processes an empty script when optimizing', async () => { + await harness.writeFile('src/test-script-a.js', ''); + + harness.useTarget('build', { + ...BASE_OPTIONS, + optimization: { + scripts: true, + }, + scripts: ['src/test-script-a.js'], + }); + + const { result } = await harness.executeOnce(); + + expect(result?.success).toBe(true); + + harness.expectFile('dist/scripts.js').toExist(); + harness + .expectFile('dist/index.html') + .content.toContain(''); + }); + describe('shorthand syntax', () => { it('processes a single script into a single output', async () => { await harness.writeFile('src/test-script-a.js', 'console.log("a");'); diff --git a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts index 75b67b0e333f..09ca22298e9a 100644 --- a/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts +++ b/packages/angular_devkit/build_angular/src/webpack/plugins/javascript-optimizer-worker.ts @@ -227,7 +227,7 @@ async function optimizeWithTerser( }, ); - if (!result.code) { + if (typeof result.code !== 'string') { throw new Error('Terser failed for unknown reason.'); } From c11b3450996e429c0c976e17f9d6f8c464d62fbe Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 16 Feb 2023 14:59:06 -0500 Subject: [PATCH 1378/1388] ci: correctly store E2E test results and artifacts The CircleCI commands to store the E2E test results and artifacts was outdated which caused nothing to be saved. (cherry picked from commit 440654efcd82d07f88b89966bd688f6ab4573026) --- .circleci/dynamic_config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 329164ef76da..b72b05e67f47 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -277,9 +277,9 @@ jobs: command: yarn bazel test --define=E2E_TEMP=/mnt/ramdisk/e2e --define=E2E_SHARD_TOTAL=${CIRCLE_NODE_TOTAL} --define=E2E_SHARD_INDEX=${CIRCLE_NODE_INDEX} --config=e2e //tests/legacy-cli:e2e<<# parameters.snapshots >>.snapshots<>.<< parameters.subset >>_node<< parameters.nodeversion >> no_output_timeout: 40m - store_artifacts: - path: dist/testlogs/tests/legacy-cli/e2e.<>.<< parameters.subset >> + path: dist/testlogs/tests/legacy-cli/e2e<<# parameters.snapshots >>.snapshots<>.<< parameters.subset >>_node<< parameters.nodeversion >> - store_test_results: - path: dist/testlogs/tests/legacy-cli/e2e.<>.<< parameters.subset >> + path: dist/testlogs/tests/legacy-cli/e2e<<# parameters.snapshots >>.snapshots<>.<< parameters.subset >>_node<< parameters.nodeversion >> - fail_fast test-browsers: From ca3380241b058ee11df2ba2774660e04eb7310fe Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Feb 2023 10:23:37 +0000 Subject: [PATCH 1379/1388] ci: reduce quicktype-core updates quicktype-core publishes on a per commit basis. This change reduces the updates to monthly. (cherry picked from commit 31a29ae118ab04b40927d5104e24a123dd8564cf) --- renovate.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/renovate.json b/renovate.json index 05957756c90f..af824ca0a7f3 100644 --- a/renovate.json +++ b/renovate.json @@ -21,6 +21,10 @@ ".github/workflows/**/*.yml" ], "packageRules": [ + { + "matchPackageNames": ["quicktype-core"], + "schedule": ["schedule:monthly"] + }, { "groupName": "angular", "matchPackagePatterns": ["^@angular/.*", "angular/dev-infra"] From 9916a36c7b9ccd98844f34884da873a1d292d71e Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Feb 2023 15:54:19 +0000 Subject: [PATCH 1380/1388] ci: fix renovate monthly schedule (cherry picked from commit 05d9c91159afdd304d6e338a1cd1a0cd6383bc21) --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index af824ca0a7f3..f4fb612d30aa 100644 --- a/renovate.json +++ b/renovate.json @@ -23,7 +23,7 @@ "packageRules": [ { "matchPackageNames": ["quicktype-core"], - "schedule": ["schedule:monthly"] + "schedule": ["before 4:00am on the first day of the month"] }, { "groupName": "angular", From 64ec0b1048263f182ca3399255fee712f9329fdb Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Sat, 18 Feb 2023 02:27:13 +0000 Subject: [PATCH 1381/1388] build: update to latest remote build execution setup Update to the latest RBE setup after key rotation. (cherry picked from commit beb12c5c544d6c68054a84000234026fb7dc1ab9) --- .circleci/dynamic_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index b72b05e67f47..2f868aef4f20 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -11,7 +11,7 @@ version: 2.1 orbs: browser-tools: circleci/browser-tools@1.4.0 - devinfra: angular/dev-infra@1.0.7 + devinfra: angular/dev-infra@1.0.8 parameters: snapshot_changed: From be12c1ccdd5b08fb90f5a855cd64945f5f5c8e37 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 22 Feb 2023 11:18:23 +0000 Subject: [PATCH 1382/1388] build: update angular dependencies to version 15.2.x --- packages/angular/pwa/package.json | 2 +- packages/angular_devkit/build_angular/package.json | 8 ++++---- packages/ngtools/webpack/package.json | 2 +- packages/schematics/angular/utility/latest-versions.ts | 2 +- .../angular/utility/latest-versions/package.json | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/angular/pwa/package.json b/packages/angular/pwa/package.json index 82474cf1d54a..ef5624847308 100644 --- a/packages/angular/pwa/package.json +++ b/packages/angular/pwa/package.json @@ -17,7 +17,7 @@ "parse5-html-rewriting-stream": "7.0.0" }, "peerDependencies": { - "@angular/cli": "^15.0.0 || ^15.2.0-next" + "@angular/cli": "^15.0.0" }, "peerDependenciesMeta": { "@angular/cli": { diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json index 736b336a671f..8e3dbe8b599c 100644 --- a/packages/angular_devkit/build_angular/package.json +++ b/packages/angular_devkit/build_angular/package.json @@ -71,10 +71,10 @@ "esbuild": "0.17.8" }, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", - "@angular/localize": "^15.0.0 || ^15.2.0-next", - "@angular/platform-server": "^15.0.0 || ^15.2.0-next", - "@angular/service-worker": "^15.0.0 || ^15.2.0-next", + "@angular/compiler-cli": "^15.0.0", + "@angular/localize": "^15.0.0", + "@angular/platform-server": "^15.0.0", + "@angular/service-worker": "^15.0.0", "karma": "^6.3.0", "ng-packagr": "^15.0.0", "protractor": "^7.0.0", diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json index eb7274a21ca1..44182ebc2ff2 100644 --- a/packages/ngtools/webpack/package.json +++ b/packages/ngtools/webpack/package.json @@ -22,7 +22,7 @@ "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack", "dependencies": {}, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0 || ^15.2.0-next", + "@angular/compiler-cli": "^15.0.0", "typescript": ">=4.8.2 <5.0", "webpack": "^5.54.0" }, diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index 18ac5470ec30..844f81741390 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -15,7 +15,7 @@ export const latestVersions: Record & { ...require('./latest-versions/package.json')['dependencies'], // As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current - Angular: '^15.2.0-next.0', + Angular: '^15.2.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json index 46f24bf545b8..9a2e98ab8c08 100644 --- a/packages/schematics/angular/utility/latest-versions/package.json +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -12,7 +12,7 @@ "karma-jasmine-html-reporter": "~2.0.0", "karma-jasmine": "~5.1.0", "karma": "~6.4.0", - "ng-packagr": "^15.1.0", + "ng-packagr": "^15.2.2", "protractor": "~7.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", From 995df7e284d94b69fb70ca69f55d7408b13093a3 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 22 Feb 2023 13:52:02 -0800 Subject: [PATCH 1383/1388] release: cut the v15.2.0 release --- CHANGELOG.md | 174 ++++++--------------------------------------------- package.json | 2 +- 2 files changed, 21 insertions(+), 155 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c68fe8ecbfc8..c74e0317abc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,33 @@ - + -# 15.2.0-rc.0 (2023-02-15) +# 15.2.0 (2023-02-22) ### @angular/cli -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | -| [5f407337f](https://github.com/angular/angular-cli/commit/5f407337f9a355a29654f32346f20e070853332a) | fix | add set `SessionEngaged` in GA | -| [545c180e2](https://github.com/angular/angular-cli/commit/545c180e2ba1f2465fa38f264a7a5c1711306406) | fix | convert `before` option in `.npmrc` to Date | -| [522463c42](https://github.com/angular/angular-cli/commit/522463c42ba873a32e85d47d692951537ab10716) | fix | replace `os.version` with `os.release`. | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------- | +| [0f58a17c4](https://github.com/angular/angular-cli/commit/0f58a17c4ce92495d96721bc3f2b632a890bbab4) | feat | log number of files update during `ng update` | + +### @angular-devkit/schematics-cli + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | +| [ecf43090d](https://github.com/angular/angular-cli/commit/ecf43090d110f996f45a259c279f1b83dcab3fd8) | feat | auto detect package manager ([#24305](https://github.com/angular/angular-cli/pull/24305)) | ### @angular-devkit/build-angular -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [421417a36](https://github.com/angular/angular-cli/commit/421417a36b13a44d39e0818171482871ea8b895f) | fix | avoid CommonJS warning for zone.js in esbuild | -| [d3f255087](https://github.com/angular/angular-cli/commit/d3f255087ffaa474d37c45fb2db8611f6b437408) | fix | correctly copy `safety-worker.js` contents | -| [c65b026e2](https://github.com/angular/angular-cli/commit/c65b026e2f375f35826d985c8cc558a2729b520e) | fix | update the ECMA output warning message to be more actionable | -| [8356240dd](https://github.com/angular/angular-cli/commit/8356240dda74f772435e7b0a639b2e928b61a657) | fix | use babel default export helper in build optimizer | -| [1e5286326](https://github.com/angular/angular-cli/commit/1e528632629f2d0eb96580a8d7672758f5c23270) | perf | reduce rebuilt times when using the `scripts` option | +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- | +| [01b3bcf89](https://github.com/angular/angular-cli/commit/01b3bcf898108f9b879da4a791fa2a21c6d9f7c5) | feat | add Less stylesheet support to experimental esbuild-based builder | +| [09af70743](https://github.com/angular/angular-cli/commit/09af70743800aefdefe06e0ca32bcdde18f9eb77) | feat | implement node module license extraction for esbuild builder | +| [bbc1a4f0d](https://github.com/angular/angular-cli/commit/bbc1a4f0dc93437fe97a53a35f68d978cc50bb9e) | feat | support CommonJS dependency checking in esbuild | +| [8cf0d17fb](https://github.com/angular/angular-cli/commit/8cf0d17fb1b39ea7bbd1c751995a56de3df45114) | feat | support JIT compilation with esbuild | +| [3f6769ef9](https://github.com/angular/angular-cli/commit/3f6769ef953b1f880508a9152e669064cbb4dcc9) | fix | allow empty scripts to be optimized | +| [421417a36](https://github.com/angular/angular-cli/commit/421417a36b13a44d39e0818171482871ea8b895f) | fix | avoid CommonJS warning for zone.js in esbuild | ## Special Thanks -Alan Agius and Charles Lyding +Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Joey Perrott, Marvin and Paul Gschwendtner @@ -53,40 +58,6 @@ Alan Agius and Charles Lyding - - -# 15.2.0-next.4 (2023-02-08) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------ | -| [234f265d1](https://github.com/angular/angular-cli/commit/234f265d161796a7cdfc2edbaa7e9a50d99a4863) | fix | error if Angular compiler is used in a schematic | -| [7bcb19cdd](https://github.com/angular/angular-cli/commit/7bcb19cddb676c650b1592aae81eceb66e8511fe) | fix | only set `DebugView` when `NG_DEBUG` is passed | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | -| [88fddc050](https://github.com/angular/angular-cli/commit/88fddc05039ee92d60267cf565b19ae1b56ad633) | fix | remove bootstrapping wrapping in universal schematic | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- | -| [01b3bcf89](https://github.com/angular/angular-cli/commit/01b3bcf898108f9b879da4a791fa2a21c6d9f7c5) | feat | add Less stylesheet support to experimental esbuild-based builder | -| [8cf0d17fb](https://github.com/angular/angular-cli/commit/8cf0d17fb1b39ea7bbd1c751995a56de3df45114) | feat | support JIT compilation with esbuild | -| [bfc0faced](https://github.com/angular/angular-cli/commit/bfc0facedda1150177b84fbc82f195678ce00b1e) | fix | build optimizer support for spec-compliant downlevel class properties | -| [d9c697b2b](https://github.com/angular/angular-cli/commit/d9c697b2bc284e432c9c1ab76b1179789e253c92) | fix | do not fail compilation when spec pattern does not match | -| [df7c7f430](https://github.com/angular/angular-cli/commit/df7c7f430c5f4ec2b9b4d2f316ed9b4a8e2a5772) | fix | fix support of Safari TP versions | -| [bf3be56db](https://github.com/angular/angular-cli/commit/bf3be56db8b3a1ef8a0e02dfc5de914651d8ec93) | fix | load polyfills and runtime as scripts instead of modules | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker, Jason Bedard, Kristiyan Kostadinov and Ricardo - - - # 15.1.5 (2023-02-08) @@ -119,23 +90,6 @@ Alan Agius, Charles Lyding, Kristiyan Kostadinov and Ricardo - - -# 15.2.0-next.3 (2023-02-01) - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------- | -| [3512a0362](https://github.com/angular/angular-cli/commit/3512a03621c7ed99324e82771e239e77c907367e) | fix | load JavaScript bundles as modules in karma | -| [f35e9908c](https://github.com/angular/angular-cli/commit/f35e9908c08fe1d1bda82124c3ec2b6fe4242125) | fix | print server builder errors and warnings | - -## Special Thanks - -Alan Agius and Doug Parker - - - # 15.1.4 (2023-02-01) @@ -153,48 +107,6 @@ Alan Agius - - -# 15.2.0-next.2 (2023-01-25) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------- | -| [0f58a17c4](https://github.com/angular/angular-cli/commit/0f58a17c4ce92495d96721bc3f2b632a890bbab4) | feat | log number of files update during `ng update` | -| [b5737efae](https://github.com/angular/angular-cli/commit/b5737efae8448084af319fd077863ff6922d651e) | fix | handle extended schematics when retrieving aliases | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | -| [7b0c1ce0c](https://github.com/angular/angular-cli/commit/7b0c1ce0ca10bbb3a2099dc97f7d87afa07a2eef) | fix | update browserslist config to include last 2 Chrome version | - -### @angular-devkit/schematics-cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------------------------- | -| [ecf43090d](https://github.com/angular/angular-cli/commit/ecf43090d110f996f45a259c279f1b83dcab3fd8) | feat | auto detect package manager ([#24305](https://github.com/angular/angular-cli/pull/24305)) | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [d19f260ba](https://github.com/angular/angular-cli/commit/d19f260baa8bb55142d69c9c71440b3c444d4b92) | fix | avoid undefined module path for Sass imports in esbuild | -| [97907addf](https://github.com/angular/angular-cli/commit/97907addfce1e630e71c186e836ab6a0ceec548b) | fix | update browserslist config to include last 2 Chrome versions | - -### @angular-devkit/core - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------- | -| [f6f5d7919](https://github.com/angular/angular-cli/commit/f6f5d79199613b9f9fa82680cdafd4a622ff4be0) | fix | handle number like strings in workspace writer | - -## Special Thanks - -Alan Agius, Charles Lyding, Doug Parker and Marvin - - - # 15.1.3 (2023-01-25) @@ -230,36 +142,6 @@ Alan Agius, Charles Lyding and Doug Parker - - -# 15.2.0-next.1 (2023-01-18) - -### @angular/cli - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------------- | -| [3ebb19552](https://github.com/angular/angular-cli/commit/3ebb19552527fdd69c6e8db55aea5bf5157cdb06) | fix | register schematic aliases when providing collection name in `ng generate` | -| [697df4f6e](https://github.com/angular/angular-cli/commit/697df4f6e562ae1f1465970694c8b26652af033f) | fix | remove `--to` option from being required when using `--from` in `ng update` | - -### @schematics/angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------- | -| [c8a3b3000](https://github.com/angular/angular-cli/commit/c8a3b30000c407937bff4bdeeda8a109fd27259c) | fix | replace existing `BrowserModule.withServerTransition` calls when running universal schematic | - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- | -| [bbc1a4f0d](https://github.com/angular/angular-cli/commit/bbc1a4f0dc93437fe97a53a35f68d978cc50bb9e) | feat | support CommonJS dependency checking in esbuild | -| [c3447e364](https://github.com/angular/angular-cli/commit/c3447e3640b059b62e4c2c5d18543195b0d6c820) | fix | prevent hanging initial build during exception with esbuild | - -## Special Thanks - -Alan Agius, Charles Lyding and Doug Parker - - - # 15.1.2 (2023-01-18) @@ -289,22 +171,6 @@ Alan Agius, Charles Lyding and Doug Parker - - -# 15.2.0-next.0 (2023-01-12) - -### @angular-devkit/build-angular - -| Commit | Type | Description | -| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ | -| [09af70743](https://github.com/angular/angular-cli/commit/09af70743800aefdefe06e0ca32bcdde18f9eb77) | feat | implement node module license extraction for esbuild builder | - -## Special Thanks - -Alan Agius and Charles Lyding - - - # 15.1.1 (2023-01-12) diff --git a/package.json b/package.json index 937f9bec50e7..eff9a9454639 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0-rc.0", + "version": "15.2.0", "private": true, "description": "Software Development Kit for Angular", "bin": { From cdc7c22396c796e91c10b9d27c6b162c80cf046f Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Thu, 23 Feb 2023 10:24:48 +0000 Subject: [PATCH 1384/1388] ci: correctly store E2E test results and artifacts The CircleCI commands to store the E2E test results and artifacts was outdated which caused nothing to be saved. (cherry picked from commit a598b06a7dc754337c164286cfe1d8a9e356d390) --- .circleci/dynamic_config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/dynamic_config.yml b/.circleci/dynamic_config.yml index 2f868aef4f20..c76838e887ec 100644 --- a/.circleci/dynamic_config.yml +++ b/.circleci/dynamic_config.yml @@ -376,9 +376,9 @@ jobs: no_output_timeout: 40m - fail_fast - store_artifacts: - path: dist/testlogs/tests/legacy-cli/e2e.npm + path: dist/testlogs/tests/legacy-cli/e2e.npm_node16 - store_test_results: - path: dist/testlogs/tests/legacy-cli/e2e.npm + path: dist/testlogs/tests/legacy-cli/e2e.npm_node16 workflows: version: 2 From adb92acefb64a35fee813da9fbb569121a538aaf Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 24 Feb 2023 14:20:06 +0000 Subject: [PATCH 1385/1388] build: refactor circular-deps-test.conf to use package.js file This ensures that all packages are picked up. (cherry picked from commit 71731f268967a7a78c12f10215a7e69c785da22e) --- packages/circular-deps-test.conf.js | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/packages/circular-deps-test.conf.js b/packages/circular-deps-test.conf.js index 1708eb7b1f4a..7c6c88fae8a8 100644 --- a/packages/circular-deps-test.conf.js +++ b/packages/circular-deps-test.conf.js @@ -8,6 +8,7 @@ const fs = require('fs'); const path = require('path'); +const { packages } = require('../lib/packages'); module.exports = { baseDir: '../', @@ -22,26 +23,14 @@ module.exports = { * Custom module resolver that maps specifiers for local packages folder. * This ensures that cross package/entry-point dependencies can be detected. */ -const LOCAL_MAPPINGS = [ - ['@angular-devkit/build-angular', 'angular_devkit/build_angular'], - ['@angular-devkit/architect', 'angular_devkit/architect'], - ['@angular-devkit/architect-cli', 'angular_devkit/architect_cli'], - ['@angular-devkit/benchmark', 'angular_devkit/benchmark'], - ['@angular-devkit/build-webpack', 'angular_devkit/build_webpack'], - ['@angular-devkit/core', 'angular_devkit/core'], - ['@angular-devkit/schematics', 'angular_devkit/schematics'], - ['@angular-devkit/schematics-cli', 'angular_devkit/schematics_cli'], - ['@angular/cli', 'angular/cli'], - ['@schematics/angular', 'schematics/angular'], - ['@ngtools/webpack', 'ngtools/webpack'], -]; +const LOCAL_MAPPINGS = Object.entries(packages).map(([name, pkg]) => [name, pkg.root]); function resolveModule(specifier) { let localSpecifierPath; for (const [key, value] of LOCAL_MAPPINGS) { if (specifier.startsWith(key)) { - localSpecifierPath = path.join(__dirname, specifier.replace(key, value)); + localSpecifierPath = specifier.replace(key, value); break; } } From 69390ae789e7903027be84615210f7a8082bd2a2 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 23 Feb 2023 18:06:47 +0000 Subject: [PATCH 1386/1388] build: add pre-release checks for dependency on framework Adds an automatic check that runs before cutting releases. This will help avoiding issues where we forget to update peer dependencies or the `latest-versions.ts` file. (cherry picked from commit 5b4188f04713cd64c9dbb597118f0f385a1b56cf) --- .ng-dev/release.mts | 9 +++ .../dependency-ranges/index.mts | 54 ++++++++++++++ .../latest-versions-check.mts | 37 ++++++++++ .../dependency-ranges/peer-deps-check.mts | 74 +++++++++++++++++++ scripts/release-checks/tsconfig.json | 11 +++ 5 files changed, 185 insertions(+) create mode 100644 scripts/release-checks/dependency-ranges/index.mts create mode 100644 scripts/release-checks/dependency-ranges/latest-versions-check.mts create mode 100644 scripts/release-checks/dependency-ranges/peer-deps-check.mts create mode 100644 scripts/release-checks/tsconfig.json diff --git a/.ng-dev/release.mts b/.ng-dev/release.mts index ae7206c57880..3bea8ad359c2 100644 --- a/.ng-dev/release.mts +++ b/.ng-dev/release.mts @@ -1,3 +1,4 @@ +import semver from 'semver'; import { ReleaseConfig } from '@angular/ng-dev'; import packages from '../lib/packages.js'; @@ -16,6 +17,14 @@ export const release: ReleaseConfig = { const { performNpmReleaseBuild } = await import('../scripts/build-packages-dist.mjs'); return performNpmReleaseBuild(); }, + prereleaseCheck: async (newVersionStr: string) => { + const newVersion = new semver.SemVer(newVersionStr); + const { assertValidDependencyRanges } = await import( + '../scripts/release-checks/dependency-ranges/index.mjs' + ); + + await assertValidDependencyRanges(newVersion, packages.releasePackages); + }, releaseNotes: { groupOrder: [ '@angular/cli', diff --git a/scripts/release-checks/dependency-ranges/index.mts b/scripts/release-checks/dependency-ranges/index.mts new file mode 100644 index 000000000000..764f2c9bfbb4 --- /dev/null +++ b/scripts/release-checks/dependency-ranges/index.mts @@ -0,0 +1,54 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import semver from 'semver'; +import { Log, bold, ReleasePrecheckError } from '@angular/ng-dev'; +import { checkPeerDependencies } from './peer-deps-check.mjs'; +import { checkSchematicsAngularLatestVersion } from './latest-versions-check.mjs'; +import { PackageMap } from '../../../lib/packages.js'; + +/** Environment variable that can be used to skip this pre-check. */ +const skipEnvVar = 'SKIP_DEPENDENCY_RANGE_PRECHECK'; + +/** + * Ensures that dependency ranges are properly updated before publishing + * a new version. This check includes: + * + * - checking of `latest-versions.ts` of `@schematics/angular`. + * - checking of peer dependencies in `@angular-devkit/build-angular`. + * + * @throws {ReleasePrecheckError} If validation fails. + */ +export async function assertValidDependencyRanges( + newVersion: semver.SemVer, + allPackages: PackageMap, +) { + if (process.env[skipEnvVar] === '1') { + return; + } + + const failures: string[] = [ + ...(await checkPeerDependencies(newVersion, allPackages)), + ...(await checkSchematicsAngularLatestVersion(newVersion)), + ]; + + if (failures.length !== 0) { + Log.error('Discovered errors when validating dependency ranges.'); + + for (const f of failures) { + Log.error(` - ${bold(f)}`); + } + + Log.warn(); + Log.warn('Please fix these failures before publishing a new release.'); + Log.warn(`These checks can be forcibly ignored by setting: ${skipEnvVar}=1`); + Log.warn(); + + throw new ReleasePrecheckError(); + } +} diff --git a/scripts/release-checks/dependency-ranges/latest-versions-check.mts b/scripts/release-checks/dependency-ranges/latest-versions-check.mts new file mode 100644 index 000000000000..44a8efe34c8e --- /dev/null +++ b/scripts/release-checks/dependency-ranges/latest-versions-check.mts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import semver from 'semver'; + +export async function checkSchematicsAngularLatestVersion( + newVersion: semver.SemVer, +): Promise { + const { + default: { latestVersions }, + } = await import('../../../packages/schematics/angular/utility/latest-versions.js'); + + const keysToCheck = ['ng-packagr', 'Angular']; + const { major, minor } = newVersion; + const isPrerelease = !!newVersion.prerelease[0]; + const failures: string[] = []; + + let expectedFwDep = `^${major}.${minor}.0`; + if (isPrerelease) { + expectedFwDep = `^${major}.${minor}.0-next.0`; + } + + for (const key of keysToCheck) { + if (latestVersions[key] !== expectedFwDep) { + failures.push( + `latest-versions: Invalid dependency range for "${key}". Expected: ${expectedFwDep}`, + ); + } + } + + return failures; +} diff --git a/scripts/release-checks/dependency-ranges/peer-deps-check.mts b/scripts/release-checks/dependency-ranges/peer-deps-check.mts new file mode 100644 index 000000000000..088c63118d65 --- /dev/null +++ b/scripts/release-checks/dependency-ranges/peer-deps-check.mts @@ -0,0 +1,74 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import path from 'path'; +import url from 'url'; +import semver from 'semver'; +import { PackageMap } from '../../../lib/packages.js'; + +/** Path to the current directory. */ +const currentDir = path.dirname(url.fileURLToPath(import.meta.url)); + +/** Path to the project directory. */ +const projectDir = path.join(currentDir, '../../../'); + +/** Describes a parsed `package.json` file. */ +interface PackageJson { + name?: string; + peerDependencies?: Record; +} + +export async function checkPeerDependencies( + newVersion: semver.SemVer, + allPackages: PackageMap, +): Promise { + const { major, minor } = newVersion; + const isPrerelease = !!newVersion.prerelease[0]; + const isMajor = minor === 0; + + let expectedFwPeerDep = `^${major}.0.0`; + if (isMajor && isPrerelease) { + expectedFwPeerDep = `^${major}.0.0-next.0`; + } else if (isPrerelease) { + expectedFwPeerDep = `^${major}.0.0 || ^${major}.${minor}.0-next.0`; + } + + const failures: string[] = []; + for (const pkgInfo of Object.values(allPackages)) { + failures.push(...checkPackage(pkgInfo.packageJson, expectedFwPeerDep)); + } + + return failures; +} + +/** Checks the given package and collects errors for the peer dependency ranges. */ +function checkPackage(pkgJson: PackageJson, expectedFwPeerDep: string): string[] { + if (pkgJson.peerDependencies === undefined) { + return []; + } + + const failures: string[] = []; + + for (const [depName, range] of Object.entries(pkgJson.peerDependencies)) { + // Even though `ng-packagr` might not strictly follow the same release schedules + // like official Angular packages, we generally expect it to match. It's better + // flagging it than silently passing pre-checks. The caretaker can always forcibly + // ignore this check. + if (!depName.startsWith('@angular/') && depName !== 'ng-packagr') { + continue; + } + + if (range !== expectedFwPeerDep) { + failures.push( + `${pkgJson.name}: Unexpected peer dependency range for "${depName}". Expected: ${expectedFwPeerDep}`, + ); + } + } + + return failures; +} diff --git a/scripts/release-checks/tsconfig.json b/scripts/release-checks/tsconfig.json new file mode 100644 index 000000000000..049eb9b43241 --- /dev/null +++ b/scripts/release-checks/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "module": "Node16", + "moduleResolution": "Node16", + "noEmit": true, + "types": [] + }, + "include": ["**/*.mts"], + "exclude": [] +} From 9a5609a440fc49b3f7ddf88efb73618b7eede1ea Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 24 Feb 2023 15:09:08 +0000 Subject: [PATCH 1387/1388] fix(@angular-devkit/build-angular): improve parsing of error messages Webpack errors can sometimes be several hundred of thousands of characters long as it may contain the entire bundle. This can cause a ReDoS. This change improves the way we parse and remove stack traces from error messages. Closes #24771 (cherry picked from commit d4c450829dc6d91bf0adc157b3628c00a87f7c5d) --- .../angular_devkit/build_angular/src/webpack/utils/stats.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts index 3e3a64407316..d23ac4d7f89c 100644 --- a/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts +++ b/packages/angular_devkit/build_angular/src/webpack/utils/stats.ts @@ -412,9 +412,9 @@ export function statsErrorsToString( // In most cases webpack will add stack traces to error messages. // This below cleans up the error from stacks. // See: https://github.com/webpack/webpack/issues/15980 - const message = statsConfig.errorStack - ? error.message - : /[\s\S]+?(?=\n+\s+at\s)/.exec(error.message)?.[0] ?? error.message; + const index = error.message.search(/[\n\s]+at /); + const message = + statsConfig.errorStack || index === -1 ? error.message : error.message.substring(0, index); if (!/^error/i.test(message)) { output += r('Error: '); From 57d12b1eaaf96239882e0b6bf84de678bce32a84 Mon Sep 17 00:00:00 2001 From: Doug Parker Date: Wed, 1 Mar 2023 09:22:54 -0800 Subject: [PATCH 1388/1388] release: cut the v15.2.1 release --- CHANGELOG.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c74e0317abc7..4fda476152fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ + + +# 15.2.1 (2023-03-01) + +### @angular-devkit/build-angular + +| Commit | Type | Description | +| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- | +| [9a5609a44](https://github.com/angular/angular-cli/commit/9a5609a440fc49b3f7ddf88efb73618b7eede1ea) | fix | improve parsing of error messages | + +## Special Thanks + +Alan Agius and Paul Gschwendtner + + + # 15.2.0 (2023-02-22) diff --git a/package.json b/package.json index eff9a9454639..dd7042c3ec3c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/devkit-repo", - "version": "15.2.0", + "version": "15.2.1", "private": true, "description": "Software Development Kit for Angular", "bin": {